diff --git a/.appveyor.yml b/.appveyor.yml index aba1794e9..ff5f78118 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,10 +1,25 @@ # In AppVeyor's web config add an enviremont variable named GITHUB_TOKEN. # Set it to a token you've created on GitHub. -# To draft a release on GitHub with AppVeyor, create a tag on master. +# +# To draft a release on GitHub with AppVeyor, create a tag in the form "deploy_VERSION" +# VERSION must be a valid version string (without leading 'v') +# this tag will be deleted and a new release "vVERSION" created. +# Example: +# manually created tag is: deploy_42.05.04-beta47 +# automatically created releaase will be: v42.05.04-beta47 version: '{build}-{branch}' +# branches to build +branches: + # whitelist + # only: + # - master + + # blacklist + except: + - gh-pages #init: # # Enable Remotedesktop and pause the build execution @@ -37,6 +52,8 @@ install: # Microsoft Visual C++ Redistributable 2008 (version min: 9.0.21022.8) # - cinst vcredist2008 + # - cinst pycharm + #- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) - ps: | $Env:PATH = $Env:PATH -replace "Python27", "Stackless27" @@ -59,46 +76,38 @@ install: " " "--- " + $msg " Installing..." - pip install -q $mod + pip install -q --disable-pip-version-check $mod " Done." } " " - "--- Stackless 2.7.12150 x86" - $StacklessInstaller = $InstallersFolder + "python-2.7.12150-stackless.msi" + "--- Stackless 2.7.15150 x86" + $fname = "python-2.7.15150-stackless.msi" + $StacklessInstaller = $InstallersFolder + $fname $StacklessInstallDir = "TARGETDIR=" + $PythonFolder - $StacklessURL = "http://www.stackless.com/binaries/python-2.7.12150-stackless.msi" + $StacklessURL = "http://www.stackless.com/binaries/" + $fname Start-FileDownload $StacklessURL -Timeout 60000 -FileName $StacklessInstaller " Installing..." Start-Process MsiExec.exe -Arg "/I $StacklessInstaller /quiet /passive /qn /norestart $StacklessInstallDir" -Wait " Done." " " - "--- wxPython 3.0.2.0" - $WXInstaller = $InstallersFolder + "wxPython3.0-win32-3.0.2.0-py27.exe" - $WXURL = "http://downloads.sourceforge.net/wxpython/wxPython3.0-win32-3.0.2.0-py27.exe" - Start-FileDownload $WXURL -Timeout 60000 -FileName $WXInstaller - " Installing..." - Start-Process $WXInstaller -Arg "/VERYSILENT /SUPPRESSMSGBOXES" -NoNewWindow -Wait - " Done." - " " - "--- pip 9.0.1" + "--- pip 19.0.2" " Updating..." - python -m pip install --no-cache-dir -q -U "pip==9.0.1" + python -m pip install --disable-pip-version-check --no-cache-dir -q -U "pip==19.0.2" " Done." " " - "--- setuptools 34.3.0" - " Updating..." - pip install -q -U "setuptools==34.3.0" - " Done." - PipInstall "wheel 0.29.0" "wheel==0.29.0" - PipInstall "sphinx 1.7.5" "sphinx==1.7.5" - PipInstall "commonmark 0.7.3" "commonmark==0.7.3" - PipInstall "pillow 3.4.2" "pillow==3.4.2" + # Pinned sphinx to 1.8.0 because 1.8.1 has changes that will throw a warning when building the docs + # https://github.com/sphinx-doc/sphinx/compare/v1.8.0...v1.8.1 + PipInstall "sphinx 1.8.0" "sphinx==1.8.0" + PipInstall "wxPython 4.0.4" "wxPython==4.0.4" + PipInstall "commonmark 0.8.1" "commonmark==0.8.1" + PipInstall "pillow 5.4.1" "pillow==5.4.1" PipInstall "py2exe 0.6.9" "py2exe_py2==0.6.9" - PipInstall "pycrypto 2.6.1" "pycrypto==2.6.1" - PipInstall "comtypes 1.1.3" "https://github.com/enthought/comtypes/archive/1.1.3.zip" PipInstall "ctypeslib 0.5.6" "svn+http://svn.python.org/projects/ctypes/trunk/ctypeslib/#ctypeslib=0.5.6" - PipInstall "paramiko 2.2.1" "paramiko==2.2.1" - PipInstall "pywin32 223" pywin32==223 + PipInstall "paramiko 2.4.2" "paramiko==2.4.2" + PipInstall "pywin32 224" "pywin32==224" + PipInstall "comtypes 1.1.7" "comtypes==1.1.7" + # PipInstall "comtypes 1.1.3" "https://github.com/enthought/comtypes/archive/1.1.3.zip" + # PipInstall "pycryptodome 3.7.2" "pycryptodome==3.7.2" # included in repo:lib27/site-packeages } " " "--- pywin32 post install" @@ -115,20 +124,21 @@ install: #" Done." " " " " + # pip list "=============== start the EventGhost build ===============" " " If ($Env:APPVEYOR_REPO_TAG.tolower() -eq "true" -and $Env:APPVEYOR_REPO_TAG_NAME.tolower().startswith("deploy")) { - # to do a release, create a tag in the form "Deploy_VERSION" - # VERSION must be a valid version string (without leading 'v') - # this tag will be deleted and a new release "vVERSION" created. + # do a release git checkout -q master - $release = $Env:APPVEYOR_REPO_TAG_NAME.split("_", 2)[1] + $env:release = $Env:APPVEYOR_REPO_TAG_NAME.split("_", 2)[1] $url = if($Env:SFTP_URL){' --docs --url "' + $env:SFTP_URL + '"'} else {''} - python "_build\Build.py" --build --package --release --version $release $url + python "_build\Build.py" --build --package --release --version $env:release $url } Else { # WIP + # start-process powershell_ise.exe + # $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) python "_build\Build.py" --build --package .\EventGhost.exe -install } @@ -137,8 +147,8 @@ install: # update the appveyor build version to be the same as the EventGhost version $start = $env:SetupExe.IndexOf("_") $length = $env:SetupExe.LastIndexOf("_") - $start - $build_version = $env:SetupExe.Substring($start + 1, $length - 1) - Update-AppveyorBuild -Version "$build_version" + $env:build_version = $env:SetupExe.Substring($start + 1, $length - 1) + Update-AppveyorBuild -Version "$env:build_version" # Make sure the appveyor cache is only saved if our build was successfull If (-Not (Test-Path(".\EventGhost.exe"))) {$env:APPVEYOR_CACHE_SKIP_SAVE = "true"} @@ -223,7 +233,6 @@ notifications: # # Enable Remotedesktop and pause the build execution # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) - # notifications: # - provider: GitHubPullRequest # template: "{{#passed}}:white_check_mark: [Setup.exe](https://ci.appveyor.com/api/buildjobs/$(APPVEYOR_JOB_ID)/artifacts/_build%2Foutput%2F$(setup-exe)){{/passed}}{{#failed}}:x:{{/failed}} [Build {{&projectName}} {{buildVersion}} {{status}}]({{buildUrl}}) (commit {{commitUrl}} by @{{&commitAuthorUsername}})" diff --git a/_build/Build.py b/_build/Build.py index d1cf0792e..cdc536508 100644 --- a/_build/Build.py +++ b/_build/Build.py @@ -34,30 +34,37 @@ class MyBuilder(builder.Builder): name = "EventGhost" description = "EventGhost Automation Tool" companyName = "EventGhost Project" - copyright = u"Copyright © 2005-2016 EventGhost Project" + copyright = u"Copyright © 2005-2019 EventGhost Project" mainScript = "EventGhost.pyw" includeModules = [ - "CommonMark", + "agithub", + "commonmark", "comtypes", - "Crypto", "docutils", "isapi", "jinja2", "PIL", + "pip", "pkg_resources", + "pycurl", "pythoncom", "pywin32", + "qrcode", + "requests", "six", + "websocket", "win32com", "wx", ] excludeModules = [ "eg", + "Crypto", # needs to be added manually because of strange import mechanism used in package "_imagingtk", "_tkinter", "cffi", # bundled for no reason + "certifi", "comtypes.gen", #"ctypes.macholib", # seems to be for Apple "curses", diff --git a/_build/builder/BuildDocs.py b/_build/builder/BuildDocs.py index f7714e1c0..93d848c13 100644 --- a/_build/builder/BuildDocs.py +++ b/_build/builder/BuildDocs.py @@ -20,7 +20,7 @@ import os import re import shutil -import sphinx +import sphinx.cmd.build from os.path import join # Local imports @@ -66,7 +66,10 @@ def Setup(self): self.activated = bool(self.buildSetup.args.package) def DoTask(self): + tmpDir = join(self.buildSetup.tmpDir, "chm") + if not os.path.exists(tmpDir): + os.makedirs(tmpDir) call_sphinx('htmlhelp', self.buildSetup, tmpDir) print "calling HTML Help Workshop compiler" @@ -91,32 +94,35 @@ def Setup(self): bool(self.buildSetup.args.websiteUrl) def DoTask(self): - call_sphinx('html', self.buildSetup, join(self.buildSetup.websiteDir, "docs")) + tmpDir = join(self.buildSetup.websiteDir, "docs") + if not os.path.exists(tmpDir): + os.makedirs(tmpDir) + call_sphinx('html', self.buildSetup, tmpDir) def call_sphinx(builder, build_setup, dest_dir): WritePluginList(join(build_setup.docsDir, "pluginlist.rst")) Prepare(build_setup.docsDir) - sphinx.build_main( + sphinx.cmd.build.build_main( [ - None, "-D", "project=EventGhost", - "-D", "copyright=2005-2017 EventGhost Project", + "-D", "copyright=2005-2019 EventGhost Project", + "-D", "version=%s" % build_setup.appVersion, + "-D", "release=%s" % build_setup.appVersion, # "-D", "templates_path=[]", - '-q', # be quiet - # "-a", # always write all output files - # "-E", # Don’t use a saved environment (the structure + "-E", # Don’t use a saved environment (the structure # caching all cross-references), + # "-a", # always write all output files + '-q', # be quiet # "-N", # Prevent colored output. # "-P", # (Useful for debugging only.) Run the Python debugger, # pdb, if an unhandled exception occurs while building. # '-v', # verbosity, can be given up to three times # '-v', + # '-v', # write warnings and errors to file: # '-w', join('output', 'sphinx_log_chm.txt'), "-b", builder, - "-D", "version=%s" % build_setup.appVersion, - "-D", "release=%s" % build_setup.appVersion, "-d", join(build_setup.tmpDir, ".doctree"), build_setup.docsDir, dest_dir, diff --git a/_build/builder/BuildImports.py b/_build/builder/BuildImports.py index d085927da..5055dc22d 100644 --- a/_build/builder/BuildImports.py +++ b/_build/builder/BuildImports.py @@ -180,6 +180,9 @@ def FindModulesInPath(path, prefix="", includeDeprecated=False): if not eType == "DeprecationWarning": print " ", moduleName, eType, eMesg continue + if "-" in moduleName: + print "Module name contains invalid character: ", repr(moduleName) + continue modules.append(moduleName) return modules diff --git a/_build/builder/CheckDependencies.py b/_build/builder/CheckDependencies.py index 6acef295b..bd2be7b90 100644 --- a/_build/builder/CheckDependencies.py +++ b/_build/builder/CheckDependencies.py @@ -18,13 +18,13 @@ import glob import os -import pip +from pip._internal.utils.misc import get_installed_distributions import platform import re import sys import warnings from os.path import basename, exists, expandvars, join -from pip._vendor import requests +import requests from shutil import copy2 from string import digits @@ -131,7 +131,7 @@ def Check(self): class InnoSetupDependency(DependencyBase): name = "Inno Setup" - version = "5.5.8" + version = "5.5.9" package = "innosetup" #url = "http://www.innosetup.com/isdl.php" url = "http://www.innosetup.com/download.php/is-unicode.exe" @@ -160,7 +160,7 @@ def Check(self): else: result = [ p.version - for p in pip.get_installed_distributions() + for p in get_installed_distributions() if str(p).startswith(self.name + " ") ] if result: @@ -175,8 +175,8 @@ def Check(self): class PyWin32Dependency(DependencyBase): name = "pywin32" - version = "220" - url = "https://eventghost.github.io/dist/dependencies/pywin32-220-cp27-none-win32.whl" + version = "224" + # url = "https://eventghost.github.io/dist/dependencies/pywin32-220-cp27-none-win32.whl" def Check(self): versionFilePath = join( @@ -192,8 +192,8 @@ def Check(self): class StacklessDependency(DependencyBase): name = "Stackless Python" - version = "2.7.9" - url = "http://www.stackless.com/binaries/python-2.7.9150-stackless.msi" + version = "2.7.15" + url = "http://www.stackless.com/binaries/python-2.7.15150-stackless.msi" def Check(self): try: @@ -206,20 +206,20 @@ def Check(self): DEPENDENCIES = [ ModuleDependency( - name = "CommonMark", - module = "CommonMark", - version = "0.7.0", + name = "commonmark", + module = "commonmark", + version = "0.8.1", ), ModuleDependency( name = "comtypes", module = "comtypes", - version = "1.1.2", + version = "1.1.7", ), ModuleDependency( name = "ctypeslib", module = "ctypeslib", version = "0.5.6", - url = "https://eventghost.github.io/dist/dependencies/ctypeslib-0.5.6-cp27-none-any.whl" + url = "svn+http://svn.python.org/projects/ctypes/trunk/ctypeslib/#ctypeslib=0.5.6" ), ModuleDependency( name = "future", @@ -242,7 +242,7 @@ def Check(self): name = "Pillow", module = "PIL", attr = "PILLOW_VERSION", - version = "3.1.1", + version = "5.4.1", ), ModuleDependency( name = "py2exe_py2", @@ -250,23 +250,21 @@ def Check(self): version = "0.6.9", ), ModuleDependency( - name = "PyCrypto", + name = "pycryptodome", module = "Crypto", - version = "2.6.1", - url = "https://eventghost.github.io/dist/dependencies/pycrypto-2.6.1-cp27-none-win32.whl", + version = "3.7.2", ), PyWin32Dependency(), ModuleDependency( name = "Sphinx", module = "sphinx", - version = "1.7.5", + version = "1.8.0", ), StacklessDependency(), ModuleDependency( name = "wxPython", module = "wx", - version = "3.0.2.0", - url = "https://eventghost.github.io/dist/dependencies/wxPython-3.0.2.0-cp27-none-win32.whl", + version = "4.0.4", ), ] diff --git a/_build/builder/Gui.py b/_build/builder/Gui.py index e98afd8de..f0dd0eb9b 100644 --- a/_build/builder/Gui.py +++ b/_build/builder/Gui.py @@ -17,11 +17,9 @@ # with EventGhost. If not, see . import sys -import threading -import wx -# Local imports import builder +import wx from builder.Utils import GetVersion, ParseVersion @@ -140,9 +138,9 @@ def __init__(self, buildSetup): parent=sb, label=url_txt ) - lbl_url.SetToolTipString(url_txt) + lbl_url.SetToolTip(url_txt) self.url = wx.TextCtrl(sb, value=self.buildSetup.args.websiteUrl) - self.url.SetToolTipString(url_txt) + self.url.SetToolTip(url_txt) web_szr.Add(lbl_url) web_szr.Add(self.url, 0, wx.EXPAND) @@ -157,24 +155,17 @@ def __init__(self, buildSetup): self.Center() self.Bind(wx.EVT_CLOSE, self.OnClose) - def DoMain(self): - builder.Tasks.Main(self.buildSetup) - wx.CallAfter(self.OnExit) - def OnCancel(self, event): event.Skip() self.Destroy() wx.GetApp().ExitMainLoop() - def OnClose(self, event): - event.Skip() + def OnClose(self, event=None): + if event: + event.Skip() self.Destroy() wx.GetApp().ExitMainLoop() - def OnExit(self): - self.Destroy() - sys.exit(0) - def OnInstallerCheck(self, event): # We don't want releases going out without a current changelog (which # is also included in the documentation), so let's force both to be @@ -183,7 +174,7 @@ def OnInstallerCheck(self, event): self.ctrls["builder.BuildChangelog.BuildChangelog"], self.ctrls["builder.BuildDocs.BuildChmDocs"], ): - if event is True or event.Checked(): + if event is True or event.IsChecked(): ctrl.Enable(False) ctrl.SetValue(True) else: @@ -228,8 +219,8 @@ def OnOk(self, dummyEvent): self.buildSetup.args.websiteUrl = self.url.GetValue() self.buildSetup.config.SaveSettings() - thread = threading.Thread(target=self.DoMain) - thread.start() + builder.Tasks.Main(self.buildSetup) + wx.CallAfter(self.OnClose) def OnRefreshVersion(self, event): GetVersion(self.buildSetup) diff --git a/_build/builder/InnoSetup.py b/_build/builder/InnoSetup.py index 30fd0a669..c0fa2f4b4 100644 --- a/_build/builder/InnoSetup.py +++ b/_build/builder/InnoSetup.py @@ -17,6 +17,7 @@ # with EventGhost. If not, see . import _winreg +import os from os.path import abspath, exists, join # Local imports @@ -33,6 +34,7 @@ class InnoInstaller(object): def __init__(self, buildSetup): self.innoSections = {} self.buildSetup = buildSetup + self.add_languages() def Add(self, section, line): """ @@ -55,6 +57,26 @@ def AddFile(self, source, destDir="", destName=None, ignoreversion=True, prefix= line += '; Flags: ignoreversion' self.Add("Files", line) + def add_languages(self): + ''' + [Languages] + Name: English; MessagesFile: "compiler:Default.isl" + Name: Armenian; MessagesFile: "compiler:Languages\Armenian.islu" + Name: BrazilianPortuguese; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" + ''' + pass + self.Add('Languages', 'Name: English; MessagesFile: "compiler:Default.isl"') + langs = os.listdir( + os.path.join( + os.path.dirname(GetInnoCompilerPath()), 'Languages')) + for lang in langs: + self.Add( + 'Languages', + r'Name: {}; MessagesFile: "compiler:Languages\{}"'.format( + lang.rsplit('.')[0], lang + ) + ) + def ExecuteInnoSetup(self): """ Finishes the setup, writes the Inno Setup script and calls the @@ -79,7 +101,7 @@ def ExecuteInnoSetup(self): issFile.write("%s\n" % line) issFile.close() - if not (StartProcess(GetInnoCompilerPath(), innoScriptPath, "/Q") == 0): + if not (StartProcess(GetInnoCompiler(), innoScriptPath, "/Q") == 0): raise InnoSetupError @@ -89,14 +111,19 @@ def GetInnoCompilerPath(): _winreg.HKEY_LOCAL_MACHINE, ( "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" - "Uninstall\\Inno Setup 5_is1" + "Uninstall\\Inno Setup 6_is1" ) ) installPath = _winreg.QueryValueEx(key, "InstallLocation")[0] _winreg.CloseKey(key) except WindowsError: return None - installPath = join(installPath, "ISCC.exe") + if not exists(installPath): + return None + return installPath + +def GetInnoCompiler(): + installPath = join(GetInnoCompilerPath(), "ISCC.exe") if not exists(installPath): return None return installPath diff --git a/_build/builder/Tasks.py b/_build/builder/Tasks.py index b089f4191..72e05b4f3 100644 --- a/_build/builder/Tasks.py +++ b/_build/builder/Tasks.py @@ -17,6 +17,7 @@ # with EventGhost. If not, see . import logging +import shutil import time from os.path import join from shutil import copy2 @@ -153,4 +154,5 @@ def Main(buildSetup): logger.log(22, "--- {0}".format(task.description)) task.DoTask() logger.log(22, "") + shutil.rmtree(buildSetup.tmpDir, ignore_errors=True) logger.log(22, "--- All done!") diff --git a/_build/data/InnoSetup.template b/_build/data/InnoSetup.template index eab50409a..0a84a0ed9 100644 --- a/_build/data/InnoSetup.template +++ b/_build/data/InnoSetup.template @@ -1,6 +1,7 @@ [Messages] BeveledLabel=https://www.eventghost.net + [Setup] AppCopyright=(C) 2005-2017 EventGhost Project AppId=EventGhost @@ -48,6 +49,7 @@ begin end; end; + function SafeRename(Src: String; Dest: String): Boolean; var i: Integer; @@ -73,6 +75,7 @@ begin end; end; + function Split(Text: String; Separator: String): TArrayOfString; var i, p: Integer; @@ -94,6 +97,7 @@ begin Result := Dest end; + function InitializeSetup: Boolean; var MS, LS: Cardinal; @@ -106,6 +110,7 @@ begin end; end; + procedure CurStepChanged(CurStep: TSetupStep); var i: Integer; @@ -163,6 +168,7 @@ begin end; end; + [Icons] Name: "{group}\EventGhost Help"; Filename: "{app}\EventGhost.chm" Name: "{group}\EventGhost Web Site"; Filename: "http://www.eventghost.net/" @@ -178,35 +184,6 @@ Name: "{group}\EventGhost"; Filename: "{app}\EventGhost.exe"; IconIndex: 1; Task Name: "{commondesktop}\EventGhost"; Filename: "{app}\EventGhost.exe"; IconIndex: 1; Tasks: ghost and desktopicon Name: "{userstartup}\EventGhost"; Filename: "{app}\EventGhost.exe"; IconIndex: 1; Parameters: "-h -e OnInitAfterBoot"; Tasks: ghost and startupicon -[Languages] -Name: English; MessagesFile: "compiler:Default.isl" -Name: Armenian; MessagesFile: "compiler:Languages\Armenian.islu" -Name: BrazilianPortuguese; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" -Name: Catalan; MessagesFile: "compiler:Languages\Catalan.isl" -Name: Corsican; MessagesFile: "compiler:Languages\Corsican.isl" -Name: Czech; MessagesFile: "compiler:Languages\Czech.isl" -Name: Danish; MessagesFile: "compiler:Languages\Danish.isl" -Name: Dutch; MessagesFile: "compiler:Languages\Dutch.isl" -Name: Finnish; MessagesFile: "compiler:Languages\Finnish.isl" -Name: French; MessagesFile: "compiler:Languages\French.isl" -Name: German; MessagesFile: "compiler:Languages\German.isl" -Name: Greek; MessagesFile: "compiler:Languages\Greek.isl" -Name: Hebrew; MessagesFile: "compiler:Languages\Hebrew.isl" -Name: Hungarian; MessagesFile: "compiler:Languages\Hungarian.isl" -Name: Italian; MessagesFile: "compiler:Languages\Italian.isl" -Name: Japanese; MessagesFile: "compiler:Languages\Japanese.isl" -Name: Nepali; MessagesFile: "compiler:Languages\Nepali.islu" -Name: Norwegian; MessagesFile: "compiler:Languages\Norwegian.isl" -Name: Polish; MessagesFile: "compiler:Languages\Polish.isl" -Name: Portuguese; MessagesFile: "compiler:Languages\Portuguese.isl" -Name: Russian; MessagesFile: "compiler:Languages\Russian.isl" -Name: ScottishGaelic; MessagesFile: "compiler:Languages\ScottishGaelic.isl" -Name: SerbianCyrillic; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" -Name: SerbianLatin; MessagesFile: "compiler:Languages\SerbianLatin.isl" -Name: Slovenian; MessagesFile: "compiler:Languages\Slovenian.isl" -Name: Spanish; MessagesFile: "compiler:Languages\Spanish.isl" -Name: Turkish; MessagesFile: "compiler:Languages\Turkish.isl" -Name: Ukrainian; MessagesFile: "compiler:Languages\Ukrainian.isl" [Registry] Root: HKCR; Subkey: ".egtree"; ValueType: string; ValueName: ""; ValueData: "EventGhost Tree"; Flags: uninsdeletevalue @@ -219,11 +196,13 @@ Root: HKCR; Subkey: "EventGhost Plugin"; ValueType: string; ValueName: ""; Value Root: HKCR; Subkey: "EventGhost Plugin\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\EventGhost.exe,0" Root: HKCR; Subkey: "EventGhost Plugin\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\EventGhost.exe"" ""%%1""" + [Run] ; EG -install needs to be called with admin rights to install the COM-server Filename: "{app}\EventGhost.exe"; Parameters: "-install" Filename: "{app}\EventGhost.exe"; Flags: postinstall nowait skipifsilent + [Tasks] Name: "desktopicon"; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons} Name: "startupicon"; Description: {cm:AutoStartProgram,{#SetupSetting('AppName')}}; GroupDescription: {cm:AutoStartProgramGroupDescription} @@ -231,9 +210,13 @@ Name: "startupicon"; Description: {cm:AutoStartProgram,{#SetupSetting('AppName') Name: "arrow"; Description: "Green Arrow"; GroupDescription: "Application icon:"; Flags: exclusive Name: "ghost"; Description: "Ghost"; GroupDescription: "Application icon:"; Flags: exclusive unchecked + [UninstallDelete] Type: dirifempty; Name: "{app}" Type: files; Name: "{userstartup}\EventGhost.lnk" + [UninstallRun] Filename: "{app}\EventGhost.exe"; Parameters: "-uninstall" + + diff --git a/_build/data/docs/eg/index.rst b/_build/data/docs/eg/index.rst index cfca36d08..9ca1be7a1 100644 --- a/_build/data/docs/eg/index.rst +++ b/_build/data/docs/eg/index.rst @@ -52,9 +52,9 @@ Functions .. autofunction:: eg.StopMacro :noindex: -.. autofunction:: eg.TriggerEvent +.. automethod:: eg.EventThread.TriggerEvent :noindex: .. autofunction:: eg.RegisterPlugin -.. autofunction:: eg.PrintError +.. automethod:: eg.Log.PrintError diff --git a/eg/Classes/AboutDialog.py b/eg/Classes/AboutDialog.py index 0473bce6a..523191d3f 100644 --- a/eg/Classes/AboutDialog.py +++ b/eg/Classes/AboutDialog.py @@ -32,7 +32,7 @@ ) try: - import stackless # NOQA + import stackless is_stackless = True except ImportError: is_stackless = False @@ -53,7 +53,7 @@ class AboutDialog(eg.TaskletDialog): instance = None @eg.LogItWithReturn - def Configure(self, parent): #IGNORE:W0221 + def Configure(self, parent): if AboutDialog.instance: AboutDialog.instance.Raise() return diff --git a/eg/Classes/ActionThread.py b/eg/Classes/ActionThread.py index 2de688301..3a4c3edc3 100644 --- a/eg/Classes/ActionThread.py +++ b/eg/Classes/ActionThread.py @@ -56,7 +56,7 @@ def OnComputerResume(): if plugin.info.isStarted: try: plugin.OnComputerResume(None) - except: # pylint: disable-msg=W0702 + except: eg.PrintTraceback() @staticmethod @@ -68,7 +68,7 @@ def OnComputerSuspend(): if plugin.info.isStarted: try: plugin.OnComputerSuspend(None) - except: # pylint: disable-msg=W0702 + except: eg.PrintTraceback() @eg.LogItWithReturn @@ -81,7 +81,7 @@ def StartSession(self, filename): pluginInfo.instance.__start__() pluginInfo.isStarted = True self.corePluginInfos.append(pluginInfo) - except: # pylint: disable-msg=W0702 + except: eg.PrintTraceback() start = clock() eg.document.Load(filename) @@ -92,7 +92,7 @@ def StartSession(self, filename): set(pluginInfo.info.hardwareId for pluginInfo in eg.pluginList) ) missingPlugins = [ - pluginInfo for pluginInfo in eg.pluginManager.database.itervalues() # NOQA + pluginInfo for pluginInfo in eg.pluginManager.database.itervalues() if pluginInfo.hardwareId in missingHardwareIds ] if missingPlugins: @@ -127,5 +127,5 @@ def StopSession(self): try: pluginInfo.Close() pluginInfo.RemovePluginInstance() - except: # pylint: disable-msg=W0702 + except: eg.PrintTraceback() diff --git a/eg/Classes/AddActionDialog.py b/eg/Classes/AddActionDialog.py index 0058e947e..8a923841e 100644 --- a/eg/Classes/AddActionDialog.py +++ b/eg/Classes/AddActionDialog.py @@ -46,8 +46,7 @@ def Configure(self, parent): Text.title, style=( wx.DEFAULT_DIALOG_STYLE | - wx.RESIZE_BORDER | - wx.THICK_FRAME + wx.RESIZE_BORDER ) ) splitterWindow = wx.SplitterWindow( @@ -110,9 +109,9 @@ def Configure(self, parent): self.SetResult(self.resultData) item = self.tree.GetSelection() - self.__class__.lastSelectedDataItem = self.tree.GetPyData(item) - Config.size = self.GetSizeTuple() - Config.position = self.GetPositionTuple() + self.__class__.lastSelectedDataItem = self.tree.GetItemData(item) + Config.size = self.GetSize() + Config.position = self.GetPosition() Config.splitPosition = splitterWindow.GetSashPosition() def FillTree(self): @@ -140,7 +139,7 @@ def OnActivated(self, event): Process wx.EVT_TREE_ITEM_ACTIVATED events. """ treeItem = self.tree.GetSelection() - itemData = self.tree.GetPyData(treeItem) + itemData = self.tree.GetItemData(treeItem) if isinstance(itemData, eg.ActionGroup): event.Skip() else: @@ -150,22 +149,24 @@ def OnCollapsed(self, event): """ Process wx.EVT_TREE_ITEM_COLLAPSED events. """ - self.tree.GetPyData(event.GetItem()).expanded = False + self.tree.GetItemData(event.GetItem()).expanded = False def OnExpanded(self, event): """ Process wx.EVT_TREE_ITEM_EXPANDED events. """ - self.tree.GetPyData(event.GetItem()).expanded = True + self.tree.GetItemData(event.GetItem()).expanded = True def OnSelectionChanged(self, event): """ Process wx.EVT_TREE_SEL_CHANGED events. """ + if not self.tree: + return treeItem = event.GetItem() if not treeItem.IsOk(): return - itemData = self.tree.GetPyData(treeItem) + itemData = self.tree.GetItemData(treeItem) if isinstance(itemData, eg.ActionGroup): self.resultData = None self.buttonRow.okButton.Enable(False) @@ -193,7 +194,7 @@ def RecurseActionGroup(self, actionGroup, tree, parentTreeItem): isActionGroup = False iconIndex = dataItem.info.icon.index newTreeItem = tree.AppendItem(parentTreeItem, dataItem.name) - tree.SetPyData(newTreeItem, dataItem) + tree.SetItemData(newTreeItem, dataItem) tree.SetItemImage(newTreeItem, iconIndex) if isActionGroup: self.RecurseActionGroup(dataItem, tree, newTreeItem) diff --git a/eg/Classes/AddEventDialog.py b/eg/Classes/AddEventDialog.py index 65aa7e702..622df6f6e 100644 --- a/eg/Classes/AddEventDialog.py +++ b/eg/Classes/AddEventDialog.py @@ -123,9 +123,9 @@ def Configure(self, parent): while self.Affirmed(): self.SetResult(self.resultData) item = tree.GetSelection() - gLastSelected = tree.GetPyData(item) - Config.size = self.GetSizeTuple() - Config.position = self.GetPositionTuple() + gLastSelected = tree.GetItemData(item) + Config.size = self.GetSize() + Config.position = self.GetPosition() Config.splitPosition = splitterWindow.GetSashPosition() def FillTree(self): @@ -135,28 +135,28 @@ def FillTree(self): if not eventList: continue item = tree.AppendItem(self.root, plugin.name) - tree.SetPyData(item, plugin.info) + tree.SetItemData(item, plugin.info) tree.SetItemImage(item, plugin.info.icon.folderIndex) for eventName, description in eventList: data = EventInfo(eventName, description, plugin.info) tmp = tree.AppendItem(item, eventName) - tree.SetPyData(tmp, data) + tree.SetItemData(tmp, data) tree.SetItemImage(tmp, data.icon.index) def OnActivated(self, event): item = self.tree.GetSelection() - data = self.tree.GetPyData(item) + data = self.tree.GetItemData(item) if isinstance(data, EventInfo): self.OnOK(event) else: event.Skip() def OnCollapsed(self, event): - self.tree.GetPyData(event.GetItem()).expanded = False + self.tree.GetItemData(event.GetItem()).expanded = False def OnExpanded(self, event): - self.tree.GetPyData(event.GetItem()).expanded = True + self.tree.GetItemData(event.GetItem()).expanded = True def OnFocusTree(self, event): item = self.tree.GetSelection() @@ -176,11 +176,11 @@ def OnFocusUserEvent(self, event): @eg.LogItWithReturn def OnStartDrag(self, event): - item = self.tree.GetPyData(event.GetItem()) + item = self.tree.GetItemData(event.GetItem()) text = item.info.eventPrefix + "." + item.name # create our own data format and use it in a # custom data object - customData = wx.CustomDataObject(wx.CustomDataFormat("DragItem")) + customData = wx.CustomDataObject(wx.DataFormat("DragItem")) customData.SetData(text.encode("utf-8")) # And finally, create the drop source and begin the drag @@ -199,7 +199,7 @@ def OnSelectionChanged(self, event): def DoSelectionChanged(self, item): try: - data = self.tree.GetPyData(item) + data = self.tree.GetItemData(item) except RuntimeError: return if isinstance(data, EventInfo): @@ -246,7 +246,7 @@ def FindItemByText(self, text): def FindItem(item, text): subItem, cookie = tree.GetFirstChild(item) while subItem.IsOk(): - if tree.GetItemData(subItem).Data.name == text: + if tree.GetItemData(subItem).name == text: return subItem FindItem(subItem, text) subItem = tree.GetNextSibling(subItem) diff --git a/eg/Classes/AddPluginDialog.py b/eg/Classes/AddPluginDialog.py index fb4f33f52..550273703 100644 --- a/eg/Classes/AddPluginDialog.py +++ b/eg/Classes/AddPluginDialog.py @@ -146,7 +146,7 @@ def Configure(self, parent, checkMultiLoad=True, title=None): treeId = treeCtrl.AppendItem(typeIds[info.kind], info.name, idx) if not info.valid: treeCtrl.SetItemTextColour(treeId, eg.colour.pluginError) - treeCtrl.SetPyData(treeId, info) + treeCtrl.SetItemData(treeId, info) if info.path == Config.lastSelection: itemToSelect = treeId @@ -159,11 +159,11 @@ def Configure(self, parent, checkMultiLoad=True, title=None): treeCtrl.ScrollTo(itemToSelect) def OnCmdExport(dummyEvent=None): - info = self.treeCtrl.GetPyData(self.treeCtrl.GetSelection()) + info = self.treeCtrl.GetItemData(self.treeCtrl.GetSelection()) if info: eg.PluginInstall.Export(info) menu = wx.Menu() - menuId = wx.NewId() + menuId = wx.NewIdRef() menu.Append(menuId, eg.text.MainFrame.Menu.Export) self.Bind(wx.EVT_MENU, OnCmdExport, id=menuId) self.contextMenu = menu @@ -177,7 +177,7 @@ def OnCmdExport(dummyEvent=None): nameText.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.FONTWEIGHT_BOLD)) rightSizer.Add(nameText, 0, wx.EXPAND | wx.LEFT | wx.BOTTOM, 5) - subSizer = wx.FlexGridSizer(2, 2) + subSizer = wx.FlexGridSizer(rows=2, cols=2, vgap=0, hgap=0) self.authorLabel = wx.StaticText(rightPanel, label=Text.author) subSizer.Add(self.authorLabel) self.authorText = wx.StaticText(rightPanel) @@ -288,8 +288,8 @@ def on_left_up(evt): while self.Affirmed(): if self.CheckMultiload(): self.SetResult(self.resultData) - Config.size = self.GetSizeTuple() - Config.position = self.GetPositionTuple() + Config.size = self.GetSize() + Config.position = self.GetPosition() Config.splitPosition = splitterWindow.GetSashPosition() Config.collapsed = set( kind for kind, treeId in typeIds.iteritems() @@ -299,7 +299,7 @@ def on_left_up(evt): def OnItemActivated(self, event): item = self.treeCtrl.GetSelection() - info = self.treeCtrl.GetPyData(item) + info = self.treeCtrl.GetItemData(item) if info is not None: #self.SetResult("huhu") self.OnOK(wx.CommandEvent()) @@ -312,7 +312,7 @@ def OnItemRightClick(self, event): """ item = event.GetItem() self.treeCtrl.SelectItem(item) - info = self.treeCtrl.GetPyData(item) + info = self.treeCtrl.GetItemData(item) if info: self.PopupMenu(self.contextMenu) @@ -320,8 +320,10 @@ def OnSelectionChanged(self, event): """ Handle the wx.EVT_TREE_SEL_CHANGED events. """ + if not self.treeCtrl: + return item = event.GetItem() - self.resultData = info = self.treeCtrl.GetPyData(item) + self.resultData = info = self.treeCtrl.GetItemData(item) if info is None: name = self.treeCtrl.GetItemText(item) description = Text.noInfo diff --git a/eg/Classes/AnimatedWindow.py b/eg/Classes/AnimatedWindow.py index c6b9f08ca..0e4d025c6 100644 --- a/eg/Classes/AnimatedWindow.py +++ b/eg/Classes/AnimatedWindow.py @@ -23,9 +23,9 @@ # Local imports from eg.Icons import GetInternalBitmap, GetInternalImage -class AnimatedWindow(wx.PyWindow): +class AnimatedWindow(wx.Window): def __init__(self, parent): - wx.PyWindow.__init__(self, parent) + wx.Window.__init__(self, parent) self.font = wx.Font( 40, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_BOLD ) @@ -51,7 +51,6 @@ def AcceptsFocusFromKeyboard(self): return False def Draw(self, deviceContext): - deviceContext.BeginDrawing() deviceContext.DrawBitmap(self.backbuffer, 0, 0, False) t = clock() / 2.0 y3 = self.y3 @@ -60,15 +59,13 @@ def Draw(self, deviceContext): x = (sin(t * 0.8) + sin(1.9 * t)) * x3 + x3 * 2.0 alpha = sin(t) / 2.0 + 0.5 image = self.image.AdjustChannels(1.0, 1.0, 1.0, alpha) - bmp = wx.BitmapFromImage(image, 24) + bmp = wx.Bitmap(image, 24) deviceContext.DrawBitmap(bmp, x, y, True) - deviceContext.EndDrawing() def MakeBackground(self): - self.backbuffer = wx.EmptyBitmap(self.width, self.height) + self.backbuffer = wx.Bitmap(self.width, self.height) deviceContext = wx.MemoryDC() deviceContext.SelectObject(self.backbuffer) - deviceContext.BeginDrawing() deviceContext.SetBackground(wx.Brush(self.GetBackgroundColour())) deviceContext.Clear() # make sure you clear the bitmap! deviceContext.SetFont(self.font) @@ -98,11 +95,10 @@ def MakeBackground(self): (self.height - self.logo3.GetHeight()) // 3, True ) - deviceContext.EndDrawing() def OnSize(self, dummyEvent): - self.width, self.height = self.GetClientSizeTuple() - self.dcBuffer = wx.EmptyBitmap(self.width, self.height) + self.width, self.height = self.GetClientSize() + self.dcBuffer = wx.Bitmap(self.width, self.height) self.y3 = (self.height - self.bmpHeight) / 4.0 self.x3 = (self.width - self.bmpWidth) / 4.0 self.MakeBackground() diff --git a/eg/Classes/App.py b/eg/Classes/App.py index 6f0bbd0c9..cbf1445b8 100644 --- a/eg/Classes/App.py +++ b/eg/Classes/App.py @@ -22,10 +22,9 @@ import wx import ctypes -# Local imports import eg from eg.WinApi.Dynamic import ExitProcess, SetProcessShutdownParameters -from Translation import LCID_TO_WX + IS_VISTA = eg.WindowsVersion >= 'Vista' @@ -43,14 +42,13 @@ ShutdownBlockReasonCreate = lambda hwnd, msg: None ShutdownBlockReasonDestroy = lambda hwnd: None + class App(wx.App): def __init__(self): self.onExitFuncs = [] wx.App.__init__(self, 0) - lang_id = LCID_TO_WX.get(kernel32.GetUserDefaultUILanguage(), None) - if lang_id is not None: - self.locale = wx.Locale(lang_id) + self.locale = wx.Locale(eg.Cli.lang_id) self.shouldVeto = False self.firstQuery = True @@ -64,8 +62,8 @@ def Exit(self, dummyEvent=None): return False if eg.pyCrustFrame: eg.pyCrustFrame.Close() - eg.document.Close() eg.taskBarIcon.Close() + eg.document.Close() if not eg.startupArguments.translate: def DoOnClose(): eg.PrintDebugNotice("Triggering OnClose") @@ -110,8 +108,8 @@ def OnExit(self): currentThread = threading.currentThread() - while self.Pending(): - self.Dispatch() + while self.HasPendingEvents(): + self.ProcessPendingEvents() # try to wait till all utility threads have ended startTime = time.clock() @@ -131,8 +129,8 @@ def OnExit(self): waitTime = time.clock() - startTime if waitTime > 5.0: break - while self.Pending(): - self.Dispatch() + while self.HasPendingEvents(): + self.ProcessPendingEvents() time.sleep(0.01) eg.PrintDebugNotice( "Waited for threads shutdown: %f s" % (time.clock() - startTime) @@ -205,12 +203,16 @@ def Reset(self): self.firstQuery = True ShutdownBlockReasonDestroy(self.hwnd) - def Restart(self, asAdmin=False): + def Restart(self, asAdmin=False, update_certifi=False): def Do(): from eg.WinApi.PipedProcess import RunAs args = self.GetArguments() args.append("-restart") + + if update_certifi: + args.append('-update_certifi') + RunAs(sys.executable, asAdmin, *args) return True diff --git a/eg/Classes/CheckCertifiUpdate.py b/eg/Classes/CheckCertifiUpdate.py new file mode 100644 index 000000000..37a91ee04 --- /dev/null +++ b/eg/Classes/CheckCertifiUpdate.py @@ -0,0 +1,209 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import json +import os +import pycurl +import threading +import tempfile + +import wx + +import eg + + +class Text(eg.TranslatableStrings): + newVersionMesg = \ + "A new version of the certifi module has been released!\n\n"\ + "Your version:\t%s\n"\ + "Newest version:\t%s\n\n"\ + "Do you want to update now (EventGhost will restart)?" + ManErrorMesg = \ + "It wasn't possible to get the information from the PyPI website.\n\n"\ + "Please try it again later." + + +class CheckCertifiUpdate(object): + @classmethod + @eg.LogIt + def start(cls): + threading.Thread(target=_check_update, name="CheckCertifiUpdate").start() + + +class MessageDialog(eg.MessageDialog): + def __init__(self, ver_pypi, ver_local): + eg.MessageDialog.__init__( + self, + parent=eg.document.frame, + message=Text.newVersionMesg % (ver_local, ver_pypi), + caption=eg.APP_NAME, + style=wx.YES | wx.NO + ) + self.Bind(wx.EVT_BUTTON, self.on_yes, id=wx.ID_YES) + self.ShowModal() + + @staticmethod + def on_yes(evt): + wx.CallAfter(eg.app.Restart, update_certifi=True) + evt.Skip() + + +PYPI_PEM = r''' # retrieved on 07.02.2019 +-----BEGIN CERTIFICATE----- +MIIIczCCB1ugAwIBAgIQDl7PGBeDAG2brEU2EfVJEjANBgkqhkiG9w0BAQsFADB1 +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMTQwMgYDVQQDEytEaWdpQ2VydCBTSEEyIEV4dGVuZGVk +IFZhbGlkYXRpb24gU2VydmVyIENBMB4XDTE4MDkxODAwMDAwMFoXDTIwMTAxNDEy +MDAwMFowgdgxHTAbBgNVBA8MFFByaXZhdGUgT3JnYW5pemF0aW9uMRMwEQYLKwYB +BAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwCAQITCERlbGF3YXJlMRAwDgYDVQQF +EwczMzU5MzAwMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTmV3IEhhbXBzaGlyZTES +MBAGA1UEBxMJV29sZmVib3JvMSMwIQYDVQQKExpQeXRob24gU29mdHdhcmUgRm91 +bmRhdGlvbjEXMBUGA1UEAxMOd3d3LnB5dGhvbi5vcmcwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQD2roGTDc+m3g3mReIf7j5rzLovnk3Zggvy2kWWMnDB +Yz2m6sgxOL1pkzIu7YNe4noH7ZRym0OIQjZbDIleB7SOGAoD2BBv+Mv79HtedJ3d +vhXwmgRenlNxBxhDcaVLDONVC9Ir3Ft46uuGIrXnKB8L1KZV6h8IFC2G3GZXJtkw +EojXdmJFzuRrKMRi0cLPlF60upRISIj3jg9kK4D+f0xYrsQAJvK0veqRsNQ8bXPE +YR8kG4Paj7rOeh3FVGxrKOKNpoI+kV6EqOVIhJY698P7EbDLGjG2Im9P6VFmwXod +YAZ2CTFaMlrC0FljAO/FKeQKR29vitthLMutcd+AkoDDAgMBAAGjggSZMIIElTAf +BgNVHSMEGDAWgBQ901Cl1qCt7vNKYApl0yHU+PjWDzAdBgNVHQ4EFgQUUTsyHAXZ +y6d2HWn+8MZNUhBCkEwwggFCBgNVHREEggE5MIIBNYIOd3d3LnB5dGhvbi5vcmeC +D2RvY3MucHl0aG9uLm9yZ4IPYnVncy5weXRob24ub3Jngg93aWtpLnB5dGhvbi5v +cmeCDWhnLnB5dGhvbi5vcmeCD21haWwucHl0aG9uLm9yZ4IPcHlwaS5weXRob24u +b3JnghRwYWNrYWdpbmcucHl0aG9uLm9yZ4IQbG9naW4ucHl0aG9uLm9yZ4ISZGlz +Y3Vzcy5weXRob24ub3Jnggx1cy5weWNvbi5vcmeCB3B5cGkuaW+CDGRvY3MucHlw +aS5pb4IIcHlwaS5vcmeCDWRvY3MucHlwaS5vcmeCD2RvbmF0ZS5weXBpLm9yZ4IT +ZGV2Z3VpZGUucHl0aG9uLm9yZ4ITd3d3LmJ1Z3MucHl0aG9uLm9yZ4IKcHl0aG9u +Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF +BwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9z +aGEyLWV2LXNlcnZlci1nMi5jcmwwNKAyoDCGLmh0dHA6Ly9jcmw0LmRpZ2ljZXJ0 +LmNvbS9zaGEyLWV2LXNlcnZlci1nMi5jcmwwSwYDVR0gBEQwQjA3BglghkgBhv1s +AgEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAH +BgVngQwBATCBiAYIKwYBBQUHAQEEfDB6MCQGCCsGAQUFBzABhhhodHRwOi8vb2Nz +cC5kaWdpY2VydC5jb20wUgYIKwYBBQUHMAKGRmh0dHA6Ly9jYWNlcnRzLmRpZ2lj +ZXJ0LmNvbS9EaWdpQ2VydFNIQTJFeHRlbmRlZFZhbGlkYXRpb25TZXJ2ZXJDQS5j +cnQwDAYDVR0TAQH/BAIwADCCAX8GCisGAQQB1nkCBAIEggFvBIIBawFpAHcA7ku9 +t3XOYLrhQmkfq+GeZqMPfl+wctiDAMR7iXqo/csAAAFl7l3MWwAABAMASDBGAiEA +qfAJSfOHG4r8YvzTkZsr8cEXFcnFIns40+JXVdgY0vsCIQCvnB+YExtMRQVQXONc +glOTsIYmNgYPrtyHYsTj/Xua5QB3AFYUBpov18Ls0/XhvUSyPsdGdrm8mRFcwO+U +mFXWidDdAAABZe5dzHoAAAQDAEgwRgIhAIF6xXakKVdREciK8aM2z1c71eiU8qF/ +UCZbl4sEfLTQAiEA870pR9Hazod3FgZszr9itk8sYPLoQjV9/WENl0HXXGwAdQC7 +2d+8H4pxtZOUI5eqkntHOFeVCqtS6BqQlmQ2jh7RhQAAAWXuXcwzAAAEAwBGMEQC +IAeIvcaqPATJrCo3+ceBlVbsyPJcDPM7QGLpaRPFBduQAiBHNfcsBLaelS9bUmfU +R0VjJLoTA39AJAj8oU6iAzruHDANBgkqhkiG9w0BAQsFAAOCAQEAwH5+PXougfo5 +qMVIE65Dei/CEb4ahZfoMvvlJRvuNAI/ARWYQSHh6IKXdxFxIE5hCC/NNtdAcc1p +CoZ2+IM/x0cGBjHZegSjhXfQy+w7twfgyeTSNalV2jzKQ0Yv/JvfI9qiMdhEQbfL +qaQ6Nj/js8uvQqWf6w8yo7hAzKs1jTF7Wy/cM0lvqNocDWYROhAVcI+jSMKwlcLv +75xAbOZqw2D483mkQizVj7wQ1fYP3Tr0wfvFNeoIAPUXLrEHiEmHWA0h+U9KEgVf +VQ3PvzItecKWFI+0d9RpNupc1HdipBCySvnNa1LcG2AviYXpIsbo8EBvbj0HcEVx +7NEANHNX2g== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEtjCCA56gAwIBAgIQDHmpRLCMEZUgkmFf4msdgzANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowdTEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTE0MDIGA1UEAxMrRGlnaUNlcnQgU0hBMiBFeHRlbmRlZCBW +YWxpZGF0aW9uIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBANdTpARR+JmmFkhLZyeqk0nQOe0MsLAAh/FnKIaFjI5j2ryxQDji0/XspQUY +uD0+xZkXMuwYjPrxDKZkIYXLBxA0sFKIKx9om9KxjxKws9LniB8f7zh3VFNfgHk/ +LhqqqB5LKw2rt2O5Nbd9FLxZS99RStKh4gzikIKHaq7q12TWmFXo/a8aUGxUvBHy +/Urynbt/DvTVvo4WiRJV2MBxNO723C3sxIclho3YIeSwTQyJ3DkmF93215SF2AQh +cJ1vb/9cuhnhRctWVyh+HA1BV6q3uCe7seT6Ku8hI3UarS2bhjWMnHe1c63YlC3k +8wyd7sFOYn4XwHGeLN7x+RAoGTMCAwEAAaOCAUkwggFFMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF +BQcDAjA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp +Z2ljZXJ0LmNvbTBLBgNVHR8ERDBCMECgPqA8hjpodHRwOi8vY3JsNC5kaWdpY2Vy +dC5jb20vRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EuY3JsMD0GA1UdIAQ2 +MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5j +b20vQ1BTMB0GA1UdDgQWBBQ901Cl1qCt7vNKYApl0yHU+PjWDzAfBgNVHSMEGDAW +gBSxPsNpA/i/RwHUmCYaCALvY2QrwzANBgkqhkiG9w0BAQsFAAOCAQEAnbbQkIbh +hgLtxaDwNBx0wY12zIYKqPBKikLWP8ipTa18CK3mtlC4ohpNiAexKSHc59rGPCHg +4xFJcKx6HQGkyhE6V6t9VypAdP3THYUYUN9XR3WhfVUgLkc3UHKMf4Ib0mKPLQNa +2sPIoc4sUqIAY+tzunHISScjl2SFnjgOrWNoPLpSgVh5oywM395t6zHyuqB8bPEs +1OG9d4Q3A84ytciagRpKkk47RpqF/oOi+Z6Mo8wNXrM9zwR4jxQUezKcxwCmXMS1 +oVWNWlZopCJwqjyBcdmdqEU79OX2olHdx3ti6G8MdOu42vi/hw15UJGQmxg7kVkn +8TUoE6smftX3eg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- +''' +SHA1_KEY = 'C5:B5:C4:D3:A7:28:8C:74:1E:BD:C9:83:E4:0E:EE:AD:3B:17:09:50' +SHA_256 = '6E:F7:0B:83:2F:A0:21:A1:8E:4B:A9:48:B8:F6:46:BE:DD:AC:32:1E:' \ + '73:A3:4D:4C:1E:78:35:55:9E:65:39:6B' + + +def _check_update(): + dialog = None + try: + cacert_fd, cacert_path = tempfile.mkstemp() + cacert = os.fdopen(cacert_fd, 'w') + cacert.write(PYPI_PEM) + cacert.close() + curl = pycurl.Curl() + curl.setopt(pycurl.CAINFO, cacert_path) + curl.setopt(pycurl.URL, "https://pypi.org/pypi/certifi/json") + json_str = curl.perform_rs() + os.remove(cacert_path) + prj_info = json.loads(json_str) + + try: + import certifi + except ImportError: + # noinspection PyPep8Naming + class certifi(object): + __version__ = 0 + if prj_info['info']['version'] > certifi.__version__: + wx.CallAfter( + MessageDialog, + prj_info['info']['version'], + certifi.__version__ + ) + + except ValueError: + if dialog: + dialog.Destroy() + dlg = wx.MessageDialog( + None, + Text.ManErrorMesg, + eg.APP_NAME, + style=wx.OK | wx.ICON_ERROR + ) + dlg.ShowModal() + dlg.Destroy() diff --git a/eg/Classes/CheckUpdate.py b/eg/Classes/CheckUpdate.py index 95c7db65a..4374d4e58 100644 --- a/eg/Classes/CheckUpdate.py +++ b/eg/Classes/CheckUpdate.py @@ -115,7 +115,7 @@ def CenterOnParent(self): ) def ShowWaitDialog(): - dialog = wx.Dialog(None, style=wx.THICK_FRAME | wx.DIALOG_NO_PARENT) + dialog = wx.Dialog(None, style=wx.DIALOG_NO_PARENT) staticText = wx.StaticText(dialog, -1, Text.waitMesg) sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(staticText, 1, wx.ALL, 20) diff --git a/eg/Classes/Colour.py b/eg/Classes/Colour.py index ba81fc182..69fb4ecfe 100644 --- a/eg/Classes/Colour.py +++ b/eg/Classes/Colour.py @@ -40,8 +40,8 @@ class Colour: These might get configurable in the future. """ - windowText = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOWTEXT).Get() - windowBackground = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW).Get() + windowText = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT).Get() + windowBackground = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW).Get() treeItem = windowText pluginError = (255, 0, 0) errorText = (0, 0, 0) @@ -96,5 +96,5 @@ def RgbToHsv(colour): """ Returns HSV (Hue, Saturation, Value) from a RGB colour tuple. """ - red, green, blue = colour + red, green, blue = colour[:3] return colorsys.rgb_to_hsv(red / 255.0, green / 255.0, blue / 255.0) diff --git a/eg/Classes/ColourSelectButton.py b/eg/Classes/ColourSelectButton.py index f1f946b9e..db70aad77 100644 --- a/eg/Classes/ColourSelectButton.py +++ b/eg/Classes/ColourSelectButton.py @@ -66,6 +66,7 @@ def OnButton(self, event): def SetValue(self, value): self.value = value width, height = self.GetSize() - image = wx.EmptyImage(width - 10, height - 10) - image.SetRGBRect((1, 1, width - 12, height - 12), *value) + image = wx.Image(width - 10, height - 10) + rct = wx.Rect(x=1, y=1, width=width - 12, height=height - 12) + image.SetRGB(rct, *value[:3]) self.SetBitmapLabel(image.ConvertToBitmap()) diff --git a/eg/Classes/Config.py b/eg/Classes/Config.py index 6e2fa5dbd..874b40217 100644 --- a/eg/Classes/Config.py +++ b/eg/Classes/Config.py @@ -58,6 +58,7 @@ class Config(Section): defaultThreadStartTimeout = 5.00 hideOnClose = False hideOnStartup = False + lastCertifiCheck = None lastUpdateCheckDate = None lastUpdateCheckVersion = None limitMemory = False @@ -71,7 +72,7 @@ class Config(Section): showTrayIcon = True useFixedFont = False - class plugins: #pylint: disable-msg=C0103 + class plugins: pass def __init__(self): diff --git a/eg/Classes/ConfigDialog.py b/eg/Classes/ConfigDialog.py index 1c4d5d881..45213d5e9 100644 --- a/eg/Classes/ConfigDialog.py +++ b/eg/Classes/ConfigDialog.py @@ -92,12 +92,18 @@ def __init__(self, resizable=True, showLine=True): def ShowHelp(dummyEvent): self.treeItem.ShowHelp(self) - wx.EVT_MENU(self, wx.ID_HELP, ShowHelp) + self.Bind(wx.EVT_MENU, ShowHelp, id=wx.ID_HELP) self.SetAcceleratorTable( wx.AcceleratorTable([(wx.ACCEL_NORMAL, wx.WXK_F1, wx.ID_HELP), ]) ) + def OnApply(self, event): + if self.treeItem.isFirstConfigure: + self.buttonRow.okButton.Enable(True) + + self.DispatchEvent(event, wx.ID_APPLY) + @eg.LogItWithReturn def Configure(self, treeItem, *args): self.__class__.currentDialog = self diff --git a/eg/Classes/ConfigPanel.py b/eg/Classes/ConfigPanel.py index 7c3e1a49b..53bd8537f 100644 --- a/eg/Classes/ConfigPanel.py +++ b/eg/Classes/ConfigPanel.py @@ -17,12 +17,15 @@ # with EventGhost. If not, see . import types +from inspect import currentframe, getargvalues, getouterframes + import wx +import wx.adv -# Local imports import eg -class ConfigPanel(wx.PyPanel, eg.ControlProviderMixin): + +class ConfigPanel(wx.Panel, eg.ControlProviderMixin): """ A panel with some magic. """ @@ -32,13 +35,11 @@ def __init__( resizable=True, showLine=True ): - #if resizable is None: - # resizable = bool(eg.debugLevel) dialog = eg.ConfigDialog.currentDialog dialog.panel = self dialog.__init__(resizable, showLine) self.dialog = dialog - wx.PyPanel.__init__(self, dialog.notebook) + wx.Panel.__init__(self, dialog.notebook) dialog.notebook.AddPage(self, "Settings") self.lines = [] dialog.sizer.Add(self, 1, wx.EXPAND) @@ -51,9 +52,14 @@ def __init__( self.isDirty = False self.resultCode = None self.buttonsEnabled = True - self.dialog.buttonRow.applyButton.Enable(False) + outer = getouterframes(currentframe()) + has_args = len(getargvalues(outer[1][0]).args) > 1 + self.dialog.buttonRow.applyButton.Enable( + has_args and self.dialog.treeItem.isFirstConfigure + ) self.dialog.buttonRow.okButton.Enable( - not self.dialog.treeItem.isFirstConfigure + not has_args or + not (has_args and self.dialog.treeItem.isFirstConfigure) ) def AddCtrl(self, ctrl): @@ -145,7 +151,7 @@ def OnEvent(dummyEvent): self.Bind(wx.EVT_RADIOBOX, OnEvent) self.Bind(wx.EVT_RADIOBUTTON, OnEvent) self.Bind(wx.EVT_TREE_SEL_CHANGED, OnEvent) - self.Bind(wx.EVT_DATE_CHANGED, OnEvent) + self.Bind(wx.adv.EVT_DATE_CHANGED, OnEvent) self.Bind(eg.EVT_VALUE_CHANGED, OnEvent) self.Bind(wx.EVT_CHECKLISTBOX, OnEvent) self.Bind(wx.EVT_SCROLL, OnEvent) diff --git a/eg/Classes/ControlProviderMixin.py b/eg/Classes/ControlProviderMixin.py index aba453b0b..3bfb168dc 100644 --- a/eg/Classes/ControlProviderMixin.py +++ b/eg/Classes/ControlProviderMixin.py @@ -18,9 +18,9 @@ import wx -# Local imports import eg + class ControlProviderMixin: def BoxedGroup(self, *args, **kwargs): return eg.BoxedGroup(self, *args, **kwargs) @@ -124,6 +124,9 @@ def StaticText(self, label, *args, **kwargs): """ return wx.StaticText(self, -1, label, *args, **kwargs) + def StaticWrapText(self, label, *args, **kwargs): + return eg.StaticWrapText(self, wx.ID_ANY, label, *args, **kwargs) + def TextCtrl( self, value="", diff --git a/eg/Classes/DigitOnlyValidator.py b/eg/Classes/DigitOnlyValidator.py index e891bf64e..c39ef8a42 100644 --- a/eg/Classes/DigitOnlyValidator.py +++ b/eg/Classes/DigitOnlyValidator.py @@ -19,9 +19,9 @@ import string import wx -class DigitOnlyValidator(wx.PyValidator): +class DigitOnlyValidator(wx.Validator): def __init__(self, choices=None): - wx.PyValidator.__init__(self) + wx.Validator.__init__(self) self.choices = choices self.Bind(wx.EVT_CHAR, self.OnChar) @@ -39,7 +39,7 @@ def OnChar(self, event): event.Skip() return - if not wx.Validator_IsSilent(): + if not wx.Validator.IsSilent(): wx.Bell() # Returning without calling event.Skip eats the event before it diff --git a/eg/Classes/Document.py b/eg/Classes/Document.py index a2b0a5d5f..a28f3bb97 100644 --- a/eg/Classes/Document.py +++ b/eg/Classes/Document.py @@ -388,7 +388,7 @@ def Open(self, filePath=None): if self.CheckFileNeedsSave() == wx.ID_CANCEL: return wx.ID_CANCEL if filePath is None: - filePath = self.AskFile(wx.OPEN) + filePath = self.AskFile(wx.FD_OPEN) if filePath is None: return wx.ID_CANCEL self.StartSession(filePath) @@ -438,7 +438,7 @@ def Save(self): return wx.ID_YES def SaveAs(self): - filePath = self.AskFile(style=wx.SAVE | wx.OVERWRITE_PROMPT) + filePath = self.AskFile(style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) if filePath is None: return wx.ID_CANCEL self.WriteFile(filePath) diff --git a/eg/Classes/EventGhostEvent.py b/eg/Classes/EventGhostEvent.py index baab70460..8fee8cf31 100644 --- a/eg/Classes/EventGhostEvent.py +++ b/eg/Classes/EventGhostEvent.py @@ -24,13 +24,12 @@ import eg # some shortcuts to speed things up -#pylint: disable-msg=C0103 actionThread = eg.actionThread LogEvent = eg.log.LogEvent RunProgram = eg.RunProgram GetItemPath = eg.EventItem.GetPath config = eg.config -#pylint: enable-msg=C0103 + class EventGhostEvent(object): """ diff --git a/eg/Classes/ExportDialog.py b/eg/Classes/ExportDialog.py index c8dc6948a..26d4b3a6d 100644 --- a/eg/Classes/ExportDialog.py +++ b/eg/Classes/ExportDialog.py @@ -57,5 +57,5 @@ def filterFunc(obj): self.SetSize((450, 400)) while self.Affirmed(): items = tree.GetSelections() - GetPyData = tree.GetPyData - self.SetResult([GetPyData(item) for item in items]) + GetItemData = tree.GetItemData + self.SetResult([GetItemData(item) for item in items]) diff --git a/eg/Classes/FileBrowseButton.py b/eg/Classes/FileBrowseButton.py index ed98e6168..294265b70 100644 --- a/eg/Classes/FileBrowseButton.py +++ b/eg/Classes/FileBrowseButton.py @@ -34,7 +34,7 @@ def createBrowseButton(self): button = wx.BitmapButton(self, -1, GetInternalBitmap("searchFolder")) width, height = button.GetSize() button.SetMinSize((width + 8, height)) - button.SetToolTipString(self.toolTip) + button.SetToolTip(self.toolTip) button.Bind(wx.EVT_BUTTON, self.OnBrowse) return button @@ -58,7 +58,7 @@ def createDialog(self, parent, id, pos, size, style, name=""): self.Layout() if isinstance(size, tuple): size = apply(wx.Size, size) - self.SetDimensions( + self.SetSize( -1, -1, size.width, size.height, wx.SIZE_USE_EXISTING ) diff --git a/eg/Classes/FolderPath.py b/eg/Classes/FolderPath.py index 8586f8e98..2343f34d6 100644 --- a/eg/Classes/FolderPath.py +++ b/eg/Classes/FolderPath.py @@ -34,17 +34,19 @@ MAX_PATH = 260 CSIDL_FLAG_DONT_VERIFY = 16384 +# id's from https://installmate.com/support/im9/using/symbols/functions/csidls.htm CSIDL = { 'AdminTools': 48, - 'Startup': 29, + 'AltStartup': 29, 'RoamingAppData': 26, + 'RecycleBin': 10, 'CDBurning': 59, 'CommonAdminTools': 47, - 'CommonStartup': 30, + 'CommonAltStartup': 30, 'ProgramData': 35, 'PublicDesktop': 25, 'PublicDocuments': 46, - 'Favorites': 31, + 'PublicFavorites': 31, 'PublicMusic': 53, 'CommonOEMLinks': 58, 'PublicPictures': 54, @@ -53,30 +55,48 @@ 'CommonStartup': 24, 'CommonTemplates': 45, 'PublicVideos': 55, + 'ComputersNearMe': 61, + 'Connections': 49, + 'ControlPanel': 3, 'Cookies': 33, 'Desktop': 16, + 'DesktopRoot': 0, + 'MyComputer': 17, 'Favorites': 6, 'Fonts': 20, 'History': 34, + 'Internet': 1, 'InternetCache': 32, 'LocalAppData': 28, - 'Documents': 12, + 'Documents2': 12, 'Music': 13, 'Pictures': 39, 'Videos': 14, 'NetHood': 19, + 'Network': 18, 'Documents': 5, + 'PhotoAlbums': 69, + 'Playlists': 63, + 'Printers': 4, 'PrintHood': 27, 'Profile': 40, 'ProgramFiles': 38, + 'ProgramFilesX86': 42, 'ProgramFilesCommon': 43, + 'ProgramFilesCommonX86': 44, 'Programs': 2, 'Recent': 8, 'ResourceDir': 56, + 'ResourceDirLocalized': 57, + 'SampleMusic': 64, + 'SamplePlaylists': 65, + 'SamplePictures': 66, + 'SampleVideos': 67, 'SendTo': 9, 'StartMenu': 11, 'Startup': 7, 'System': 37, + 'SystemX86': 41, 'Templates': 21, 'Windows': 36, } @@ -85,11 +105,20 @@ GetTempPathW(MAX_PATH, BUFFER) temporaryFiles = BUFFER.value[:-1] + class FolderPath(object): - __ALL__ = CSIDL.keys() + ["TemporaryFiles"] - TemporaryFiles = temporaryFiles + __repr__ = object.__repr__ + def __init__(self): + for name in CSIDL.keys(): + try: + _ = self.__getattr__(name) + except WindowsError: + CSIDL.pop(name) + + self.__ALL__ = CSIDL.keys() + ["TemporaryFiles"] + self.TemporaryFiles = temporaryFiles @property def mainDir(self): diff --git a/eg/Classes/FontSelectButton.py b/eg/Classes/FontSelectButton.py index af708793a..07ec8a2ee 100644 --- a/eg/Classes/FontSelectButton.py +++ b/eg/Classes/FontSelectButton.py @@ -58,11 +58,11 @@ def OnButton(self, event): fontData = wx.FontData() fontData.EnableEffects(False) if self.value is not None: - font = wx.FontFromNativeInfoString(self.value) + font = wx.Font(self.value) fontData.SetInitialFont(font) else: fontData.SetInitialFont( - wx.SystemSettings_GetFont(wx.SYS_ANSI_VAR_FONT) + wx.SystemSettings.GetFont(wx.SYS_ANSI_VAR_FONT) ) dialog = wx.FontDialog(self.GetParent(), fontData) if dialog.ShowModal() == wx.ID_OK: diff --git a/eg/Classes/HeaderBox.py b/eg/Classes/HeaderBox.py index f32cf4870..92817d3ed 100644 --- a/eg/Classes/HeaderBox.py +++ b/eg/Classes/HeaderBox.py @@ -26,7 +26,7 @@ REPLACE_BR_TAG = re.compile('') REMOVE_HTML_PATTERN = re.compile('<([^!>]([^>]|\n)*)>') -class HeaderBox(wx.PyWindow): +class HeaderBox(wx.Window): """ The top description box of every tree item configuration dialog. """ @@ -36,7 +36,7 @@ def __init__(self, parent, name="", text="", icon=None, url = None): if text == name: text = "" self.parent = parent - wx.PyWindow.__init__(self, parent, -1) + wx.Window.__init__(self, parent, -1) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW) ) diff --git a/eg/Classes/HtmlDialog.py b/eg/Classes/HtmlDialog.py index d4553a614..8ef022f6a 100644 --- a/eg/Classes/HtmlDialog.py +++ b/eg/Classes/HtmlDialog.py @@ -65,6 +65,6 @@ def __init__( self.SetSize(Config.size) def Destroy(self): - Config.size = self.GetSizeTuple() - Config.position = self.GetPositionTuple() + Config.size = self.GetSize() + Config.position = self.GetPosition() eg.Dialog.Destroy(self) diff --git a/eg/Classes/HtmlWindow.py b/eg/Classes/HtmlWindow.py index 83f21e2c7..df77b3ec3 100644 --- a/eg/Classes/HtmlWindow.py +++ b/eg/Classes/HtmlWindow.py @@ -19,14 +19,18 @@ import webbrowser import wx from threading import Thread -from wx.html import HtmlWindow as wxHtmlWindow from wx.html import ( - EVT_HTML_LINK_CLICKED, HTML_OPEN, HTML_URL_IMAGE, HW_DEFAULT_STYLE + EVT_HTML_LINK_CLICKED, + HTML_OPEN, + HTML_REDIRECT, + HTML_URL_IMAGE, + HtmlWindow as wxHtmlWindow, + HW_DEFAULT_STYLE, ) -# Local imports from eg.Utils import DecodeMarkdown, DecodeReST + class HtmlWindow(wxHtmlWindow): basePath = None @@ -43,11 +47,6 @@ def __init__( self.SetForegroundColour(parent.GetForegroundColour()) self.SetBackgroundColour(parent.GetBackgroundColour()) - #if wx.html.HW_NO_SELECTION & style: - # self.Bind(wx.EVT_MOTION, self.OnIdle) - # self.handCursor = wx.StockCursor(wx.CURSOR_HAND) - # self.x1, self.y1 = self.GetScrollPixelsPerUnit() - # self.isSet = False self.Bind(EVT_HTML_LINK_CLICKED, self.OnHtmlLinkClicked) def OnHtmlLinkClicked(self, event): @@ -56,33 +55,15 @@ def OnHtmlLinkClicked(self, event): args=(event.GetLinkInfo().GetHref(), 0) ).start() -# def OnIdle(self, event): -# x2, y2 = self.GetViewStart() -# x3, y3 = event.GetPosition() -# x = self.x1 * x2 + x3 -# y = self.y1 * y2 + y3 -# cell = self.GetInternalRepresentation().FindCellByPos(x, y) -# if cell: -# if cell.GetLink(x, y): -# if not self.isSet: -# self.SetCursor(self.handCursor) -# self.isSet = True -# elif self.isSet: -# self.SetCursor(wx.STANDARD_CURSOR) -# self.isSet = False -# elif self.isSet: -# self.SetCursor(wx.STANDARD_CURSOR) -# self.isSet = False - - def OnOpeningURL(self, htmlUrlType, url): + def OnOpeningURL(self, htmlUrlType, url, redirect=None): if ( htmlUrlType == HTML_URL_IMAGE and (self.basePath is not None) and not url.startswith(self.basePath) ): - return self.basePath + "/" + url + return HTML_REDIRECT, self.basePath + '/' + url else: - return HTML_OPEN + return HTML_OPEN, '' def SetBasePath(self, basePath): self.basePath = basePath diff --git a/eg/Classes/HyperLinkCtrl.py b/eg/Classes/HyperLinkCtrl.py index 979bd0035..b6d3da9e5 100644 --- a/eg/Classes/HyperLinkCtrl.py +++ b/eg/Classes/HyperLinkCtrl.py @@ -17,10 +17,10 @@ # with EventGhost. If not, see . import webbrowser -import wx.lib.hyperlink +import wx.lib.agw.hyperlink from threading import Thread -class HyperLinkCtrl(wx.lib.hyperlink.HyperLinkCtrl): +class HyperLinkCtrl(wx.lib.agw.hyperlink.HyperLinkCtrl): def GotoURL(self, URL, ReportErrors=True, NotSameWinIfPossible=False): Thread( target=webbrowser.open, diff --git a/eg/Classes/ImagePicker.py b/eg/Classes/ImagePicker.py index 1c7c0b207..56fc2257d 100644 --- a/eg/Classes/ImagePicker.py +++ b/eg/Classes/ImagePicker.py @@ -72,7 +72,7 @@ def SetValue(self, imageString): self.imageString = imageString if imageString: stream = StringIO(b64decode(imageString)) - image = wx.ImageFromStream(stream) + image = wx.Image(stream) stream.close() boxWidth, boxHeight = (10, 10) width, height = image.GetSize() @@ -83,6 +83,6 @@ def SetValue(self, imageString): width *= 1.0 * boxHeight / height height = boxHeight image.Rescale(width, height) - bmp = wx.BitmapFromImage(image) + bmp = wx.Bitmap(image) self.imageBox.SetBitmap(bmp) self.imageBox.SetSize((30, 30)) diff --git a/eg/Classes/LanguageEditor.py b/eg/Classes/LanguageEditor.py index e4a10beef..d2e3d7e79 100644 --- a/eg/Classes/LanguageEditor.py +++ b/eg/Classes/LanguageEditor.py @@ -20,6 +20,7 @@ import os import types import wx +import wx.adv from os.path import join # Local imports @@ -61,13 +62,13 @@ def __init__(self, parent=None): join(eg.imagesDir, "new.png"), ): imageList.Add( - wx.BitmapFromImage(wx.Image(pathName, wx.BITMAP_TYPE_PNG)) + wx.Bitmap(wx.Image(pathName, wx.BITMAP_TYPE_PNG)) ) self.tree = tree = wx.TreeCtrl(splitter, -1, style=wx.TR_HAS_BUTTONS) tree.AssignImageList(imageList) self.rootId = tree.AddRoot("Language Strings", 3) - tree.SetPyData(self.rootId, ["", None, None]) + tree.SetItemData(self.rootId, ["", None, None]) eg.Init.ImportAll() eg.actionThread.Start() @@ -196,7 +197,7 @@ def FillTree(self, treeId, node, evalPath=""): if type(value) in (types.ClassType, types.InstanceType): newId = tree.AppendItem(treeId, ExpandKeyname(key), 2) value = getattr(node, key) - tree.SetPyData(newId, [newEvalPath, value, None]) + tree.SetItemData(newId, [newEvalPath, value, None]) self.FillTree(newId, value, newEvalPath) #tree.Expand(newId) elif type(value) in (types.TupleType, types.ListType): @@ -210,8 +211,8 @@ def FillTree(self, treeId, node, evalPath=""): transValue = UnassignedValue icon = 0 tmpId = tree.AppendItem(newId, "[%i]" % i, icon) - tree.SetPyData(tmpId, [tmp, item, transValue]) - tree.SetPyData(newId, [newEvalPath, value, None]) + tree.SetItemData(tmpId, [tmp, item, transValue]) + tree.SetItemData(newId, [newEvalPath, value, None]) #tree.Expand(newId) else: try: @@ -221,7 +222,7 @@ def FillTree(self, treeId, node, evalPath=""): transValue = UnassignedValue icon = 0 newId = tree.AppendItem(treeId, ExpandKeyname(key), icon) - tree.SetPyData(newId, [newEvalPath, value, transValue]) + tree.SetItemData(newId, [newEvalPath, value, transValue]) def LoadLanguage(self, language): Config.language = language @@ -257,7 +258,7 @@ def LoadLanguage(self, language): ): newId = tree.AppendItem(self.rootId, name, 2) value = getattr(eg.text, name) - tree.SetPyData(newId, [name, value, None]) + tree.SetItemData(newId, [name, value, None]) self.FillTree(newId, value, name) #tree.Expand(newId) @@ -274,12 +275,12 @@ def LoadLanguage(self, language): plugins.append(name) pluginId = tree.AppendItem(self.rootId, "Plugins", 2) - tree.SetPyData(pluginId, ["Plugin", eg.text.Plugin, None]) + tree.SetItemData(pluginId, ["Plugin", eg.text.Plugin, None]) for name in plugins: newId = tree.AppendItem(pluginId, name, 2) value = getattr(eg.text.Plugin, name) evalPath = "Plugin." + name - tree.SetPyData(newId, [evalPath, value, None]) + tree.SetItemData(newId, [evalPath, value, None]) self.FillTree(newId, value, evalPath) tree.Bind(wx.EVT_TREE_SEL_CHANGING, self.OnSelectionChanging) @@ -292,22 +293,22 @@ def OnClose(self, event): if self.CheckNeedsSave(): event.Veto() return - Config.position = self.GetPositionTuple() - Config.size = self.GetSizeTuple() - Config.splitPosition = self.tree.GetSizeTuple()[0] + Config.position = self.GetPosition() + Config.size = self.GetSize() + Config.splitPosition = self.tree.GetSize()[0] eg.config.Save() eg.actionThread.Stop() wx.GetApp().ExitMainLoop() @staticmethod def OnCmdAbout(dummyEvent): - info = wx.AboutDialogInfo() + info = wx.adv.AboutDialogInfo() info.Name = "EventGhost Language Editor" info.Version = "1.0.2" info.Copyright = "© 2005-2016 EventGhost Project" info.Developers = ["Bitmonster", ] - info.WebSite = ("http://www.eventghost.net", "EventGhost home page") - wx.AboutBox(info) + info.WebSite = ("http://www.eventghost.org", "EventGhost home page") + wx.adv.AboutBox(info) def OnCmdCopy(self, dummyEvent): self.newValueCtrl.Copy() @@ -386,7 +387,7 @@ def Traverse(treeId, indent=0, isSequence=False): append = res.append item, cookie = tree.GetFirstChild(treeId) while item.IsOk(): - evalPath, value, transValue = tree.GetPyData(item) + evalPath, value, transValue = tree.GetItemData(item) key = evalPath.split(".")[-1] if hasattr(value, "__bases__"): tmp = Traverse(item, indent + 1) @@ -448,7 +449,7 @@ def OnSelectionChanging(self, event): return tree = self.tree newValueCtrl = self.newValueCtrl - evalPath, value, transValue = tree.GetPyData(treeId) + evalPath, value, transValue = tree.GetItemData(treeId) self.SetStatusText(evalPath) if type(value) not in types.StringTypes: @@ -541,10 +542,10 @@ def StoreEditField(self): item = tree.GetSelection() text = newValueCtrl.GetValue() if text == "": - tree.GetPyData(item)[2] = UnassignedValue + tree.GetItemData(item)[2] = UnassignedValue tree.SetItemImage(item, 0) else: - tree.GetPyData(item)[2] = newValueCtrl.GetValue() + tree.GetItemData(item)[2] = newValueCtrl.GetValue() tree.SetItemImage(item, 1) newValueCtrl.SetModified(False) diff --git a/eg/Classes/Log.py b/eg/Classes/Log.py index 126bc8914..deca5bbe6 100644 --- a/eg/Classes/Log.py +++ b/eg/Classes/Log.py @@ -70,7 +70,7 @@ def _build_notice(icon, args): try: oldStdErr.write(std_msg) except: - oldStdErr.write(std_msg.decode("mbcs")) + oldStdErr.write(std_msg) return msg @@ -118,15 +118,12 @@ def write(self, data): _oldStdErr._displayMessage = False if eg.debugLevel: import platform - import warnings - warnings.simplefilter('error', UnicodeWarning) self.PrintDebugNotice("----------------------------------------") self.PrintDebugNotice(" {0} started".format(eg.APP_NAME)) self.PrintDebugNotice("----------------------------------------") self.PrintDebugNotice(eg.APP_NAME, "Version:", eg.Version.string) - self.PrintDebugNotice("Machine type:", platform.machine()) self.PrintDebugNotice("Processor:", platform.processor()) - self.PrintDebugNotice("Architecture:", platform.architecture()) + self.PrintDebugNotice('Operating System:', eg.WindowsVersion.GetLongVersion()) self.PrintDebugNotice( "Python:", platform.python_branch(), @@ -138,7 +135,7 @@ def write(self, data): self.PrintDebugNotice("----------------------------------------") # redirect all wxPython error messages to our log - class MyLog(wx.PyLog): + class MyLog(wx.Log): def DoLog(self, level, msg, dummyTimestamp): if (level >= 6): return @@ -235,8 +232,8 @@ def PrintTraceback(self, msg=None, skip=0, source=None, excInfo=None): slist = [ 'Traceback (most recent call last) (%s):\n' % eg.Version.string ] + decode = codecs.getdecoder('mbcs') if tbTraceback: - decode = codecs.getdecoder('mbcs') for fname, lno, funcName, text in extract_tb(tbTraceback)[skip:]: slist.append( u' File "%s", line %d, in %s\n' % ( diff --git a/eg/Classes/MainFrame/LogCtrl.py b/eg/Classes/MainFrame/LogCtrl.py index eff000398..99244d377 100644 --- a/eg/Classes/MainFrame/LogCtrl.py +++ b/eg/Classes/MainFrame/LogCtrl.py @@ -96,11 +96,11 @@ def __init__(self, parent): menu.Append(wx.ID_COPY, eg.text.MainFrame.Menu.Copy) self.Bind(wx.EVT_MENU, self.OnCmdCopy, id=wx.ID_COPY) menu.AppendSeparator() - menuId = wx.NewId() + menuId = wx.NewIdRef() menu.Append(menuId, eg.text.MainFrame.Menu.Replay) self.Bind(wx.EVT_MENU, self.OnCmdReplay, id=menuId) menu.AppendSeparator() - menuId = wx.NewId() + menuId = wx.NewIdRef() menu.Append(menuId, eg.text.MainFrame.Menu.ClearLog) self.Bind(wx.EVT_MENU, self.OnCmdClearLog, id=menuId) self.contextMenu = menu @@ -276,7 +276,7 @@ def OnStartDrag(self, event): text = itemData[2] # create our own data format and use it in a # custom data object - customData = wx.CustomDataObject(wx.CustomDataFormat("DragItem")) + customData = wx.CustomDataObject(wx.DataFormat("DragItem")) customData.SetData(text.encode("utf-8")) # And finally, create the drop source and begin the drag diff --git a/eg/Classes/MainFrame/StatusBar.py b/eg/Classes/MainFrame/StatusBar.py index 642db8a2f..29f410e15 100644 --- a/eg/Classes/MainFrame/StatusBar.py +++ b/eg/Classes/MainFrame/StatusBar.py @@ -40,14 +40,14 @@ def __init__(self, parent): checkBox = wx.CheckBox(self, -1, eg.text.MainFrame.onlyLogAssigned) self.checkBox = checkBox - colour = wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENUBAR) + colour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENUBAR) checkBox.SetBackgroundColour(colour) self.checkBoxColour = checkBox.GetForegroundColour() checkBox.SetValue(eg.config.onlyLogAssigned) self.SetCheckBoxColour(eg.config.onlyLogAssigned) checkBox.Bind(wx.EVT_CHECKBOX, self.OnCheckBox) checkBox.SetPosition((rect.x + 2, rect.y + 2)) - checkBox.SetToolTipString(eg.text.MainFrame.onlyLogAssignedToolTip) + checkBox.SetToolTip(eg.text.MainFrame.onlyLogAssignedToolTip) eg.Bind("ProcessingChange", self.OnProcessingChange) self.Reposition() diff --git a/eg/Classes/MainFrame/TreeCtrl.py b/eg/Classes/MainFrame/TreeCtrl.py index a33825efe..7052fb161 100644 --- a/eg/Classes/MainFrame/TreeCtrl.py +++ b/eg/Classes/MainFrame/TreeCtrl.py @@ -67,19 +67,19 @@ def __init__(self, win, text): self.SetData(data) -class DropTarget(wx.PyDropTarget): +class DropTarget(wx.DropTarget): """ This class represents a target for a drag and drop operation of the TreeCtrl. """ @eg.AssertInMainThread def __init__(self, treeCtrl): - wx.PyDropTarget.__init__(self) + wx.DropTarget.__init__(self) self.treeCtrl = treeCtrl self.srcNode = eg.EventItem # specify the type of data we will accept textData = wx.TextDataObject() - self.customData = wx.CustomDataObject(wx.CustomDataFormat("DragItem")) + self.customData = wx.CustomDataObject(wx.DataFormat("DragItem")) self.customData.SetData("") compositeData = wx.DataObjectComposite() compositeData.Add(textData) @@ -90,7 +90,7 @@ def __init__(self, treeCtrl): self.whereToDrop = None self.lastDropTime = clock() self.lastTargetItemId = None - timerId = wx.NewId() + timerId = wx.NewIdRef() self.autoScrollTimer = wx.Timer(self.treeCtrl, timerId) self.treeCtrl.Bind(wx.EVT_TIMER, self.OnDragTimerEvent, id=timerId) @@ -115,7 +115,7 @@ def OnData(self, dummyX, dummyY, dragResult): if self.lastHighlighted is not None: tree.SetItemDropHighlight(self.lastHighlighted, False) if self.customData.GetDataSize() > 0: - label = self.customData.GetData() + label = self.customData.GetData().tobytes() self.customData.SetData("") parent, pos = self.whereToDrop eg.UndoHandler.NewEvent(tree.document).Do( @@ -146,7 +146,7 @@ def OnDragOver(self, x, y, dummyDragResult): if not (flags & HITTEST_FLAG): return wx.DragNone - dstNode = tree.GetPyData(dstItemId) + dstNode = tree.GetItemData(dstItemId) srcNode = self.srcNode # check if dstNode would get a parent of the srcNode @@ -428,7 +428,7 @@ def CreateRoot(self, node): node.GetLabel(), node.imageIndex, -1, - wx.TreeItemData(node) + node ) self.visibleNodes[node] = itemId self.SetItemHasChildren(itemId, True) @@ -442,7 +442,7 @@ def CreateTreeItem(self, node, parentId): node.GetLabel(), node.imageIndex, -1, - wx.TreeItemData(node) + node ) node.SetAttributes(self, itemId) self.visibleNodes[node] = itemId @@ -457,13 +457,13 @@ def CreateTreeItemAt(self, node, parentId, parentNode, pos): if pos == -1 or pos >= len(parentNode.childs): return self.CreateTreeItem(node, parentId) else: - itemId = self.InsertItemBefore( - parentId, - pos, - node.GetLabel(), - node.imageIndex, - -1, - wx.TreeItemData(node) + itemId = self.InsertItem( + parent=parentId, + pos=pos, + text=node.GetLabel(), + image=node.imageIndex, + selImage=-1, + data=node ) node.SetAttributes(self, itemId) self.visibleNodes[node] = itemId @@ -545,7 +545,7 @@ def GetFirstVisibleNode(self): itemId = self.GetFirstVisibleItem() if not itemId.IsOk(): return None - return self.GetPyData(itemId) + return self.GetItemData(itemId) @eg.AssertInMainThread def GetSelectedNode(self): @@ -555,12 +555,12 @@ def GetSelectedNode(self): itemId = self.GetSelection() if not itemId.IsOk(): return None - return self.GetPyData(itemId) + return self.GetItemData(itemId) @eg.AssertInMainThread def SetInsertMark(self, treeItem, after): if treeItem: - lParam = long(treeItem.m_pItem) + lParam = long(treeItem.GetID().__int__()) if self.insertionMark == (lParam, after): return # TVM_SETINSERTMARK = 4378 @@ -574,7 +574,7 @@ def TraverseDelete(self, itemId): childId, cookie = self.GetFirstChild(itemId) while childId.IsOk(): self.TraverseDelete(childId) - node = self.GetPyData(childId) + node = self.GetItemData(childId) del self.visibleNodes[node] childId, cookie = self.GetNextChild(childId, cookie) @@ -589,7 +589,7 @@ def OnBeginDragEvent(self, event): Handles wx.EVT_TREE_BEGIN_DRAG """ srcItemId = event.GetItem() - srcNode = self.GetPyData(srcItemId) + srcNode = self.GetItemData(srcItemId) if not srcNode.isMoveable: return self.SelectItem(srcItemId) @@ -615,7 +615,7 @@ def OnBeginLabelEditEvent(self, event): """ Handles wx.EVT_TREE_BEGIN_LABEL_EDIT """ - node = self.GetPyData(event.GetItem()) + node = self.GetItemData(event.GetItem()) if not node.isRenameable or self.FindFocus() is not self: event.Veto() return @@ -634,7 +634,7 @@ def OnEndLabelEditEvent(self, event): self.editLabelId = None eg.Notify("FocusChange", self) itemId = event.GetItem() - node = self.GetPyData(itemId) + node = self.GetItemData(itemId) newLabel = event.GetLabel() if not event.IsEditCancelled() and node.GetLabel() != newLabel: eg.UndoHandler.Rename(self.document).Do(node, newLabel) @@ -656,7 +656,7 @@ def OnItemActivateEvent(self, event): """ itemId = event.GetItem() if itemId.IsOk(): - node = self.GetPyData(itemId) + node = self.GetItemData(itemId) if node.isConfigurable: wx.CallAfter(self.document.OnCmdConfigure, node) event.Skip() @@ -677,7 +677,7 @@ def OnItemCollapsingEvent(self, event): self.Bind(wx.EVT_TREE_ITEM_COLLAPSING, self.OnItemCollapsingEvent) self.DeleteChildren(itemId) self.SetItemHasChildren(itemId) - node = self.GetPyData(itemId) + node = self.GetItemData(itemId) self.expandedNodes.discard(node) @eg.AssertInMainThread @@ -688,7 +688,7 @@ def OnItemExpandingEvent(self, event): itemId = event.GetItem() self.ClearInsertMark() if not self.IsExpanded(itemId): - node = self.GetPyData(itemId) + node = self.GetItemData(itemId) self.expandedNodes.add(node) for subNode in node.childs: self.CreateTreeItem(subNode, itemId) @@ -721,7 +721,7 @@ def OnLeftDoubleClickEvent(self, event): """ itemId = self.HitTest(event.GetPosition())[0] if itemId.IsOk(): - node = self.GetPyData(itemId) + node = self.GetItemData(itemId) if node.isConfigurable: while wx.GetMouseState().LeftIsDown(): wx.GetApp().Yield() @@ -741,7 +741,7 @@ def OnSelectionChangedEvent(self, event): """ Handles wx.EVT_TREE_SEL_CHANGED """ - node = self.GetPyData(event.GetItem()) + node = self.GetItemData(event.GetItem()) self.document.selection = node eg.Notify("SelectionChange", node) event.Skip() diff --git a/eg/Classes/MainFrame/__init__.py b/eg/Classes/MainFrame/__init__.py index 879aa7d64..c3f14701e 100644 --- a/eg/Classes/MainFrame/__init__.py +++ b/eg/Classes/MainFrame/__init__.py @@ -40,12 +40,12 @@ ADD_EVENT_ICON = CreateBitmapOnTopOfIcon(ADD_ICON, eg.Icons.EVENT_ICON) ADD_ACTION_ICON = CreateBitmapOnTopOfIcon(ADD_ICON, eg.Icons.ACTION_ICON) -ID_DISABLED = wx.NewId() -ID_EXECUTE = wx.NewId() -ID_PYTHON = wx.NewId() -ID_TOOLBAR_EXECUTE = wx.NewId() +ID_DISABLED = wx.NewIdRef() +ID_EXECUTE = wx.NewIdRef() +ID_PYTHON = wx.NewIdRef() +ID_TOOLBAR_EXECUTE = wx.NewIdRef() -ID = defaultdict(wx.NewId, { +ID = defaultdict(wx.NewIdRef, { "Save": wx.ID_SAVE, "Undo": wx.ID_UNDO, "Redo": wx.ID_REDO, @@ -122,13 +122,13 @@ def __init__(self, document): iconBundle = wx.IconBundle() iconBundle.AddIcon(eg.taskBarIcon.stateIcons[0]) - icon = wx.EmptyIcon() + icon = wx.Icon() icon.LoadFile(join(eg.imagesDir, "icon32x32.png"), wx.BITMAP_TYPE_PNG) iconBundle.AddIcon(icon) self.SetIcons(iconBundle) self.Bind(wx.EVT_ICONIZE, self.OnIconize) - self.Bind(wx.EVT_MENU_OPEN, self.OnMenuOpen) + self.menuBar.Bind(wx.EVT_MENU_OPEN, self.OnMenuOpen) self.Bind(wx.EVT_CLOSE, self.OnClose) self.mainSizeFlag = True self.ratioLock = False @@ -192,8 +192,8 @@ def ToggleOnlyLogAssigned(dummyEvent): eg.config.onlyLogAssigned = flag self.statusBar.SetCheckBoxColour(flag) - toggleOnlyLogAssignedId = wx.NewId() - wx.EVT_MENU(self, toggleOnlyLogAssignedId, ToggleOnlyLogAssigned) + toggleOnlyLogAssignedId = wx.NewIdRef() + self.Bind(wx.EVT_MENU, ToggleOnlyLogAssigned, id=toggleOnlyLogAssignedId) # find the accelerator key in the label of the checkbox labelText = eg.text.MainFrame.onlyLogAssigned @@ -209,14 +209,14 @@ def ToggleOnlyLogAssigned(dummyEvent): def OnDelKey(dummyEvent): self.DispatchCommand('OnCmdDelete') - delId = wx.NewId() - wx.EVT_MENU(self, delId, OnDelKey) + delId = wx.NewIdRef() + self.Bind(wx.EVT_MENU, OnDelKey, id=delId) def OnEnterKey(dummyEvent): if self.lastFocus == self.treeCtrl.editControl: self.treeCtrl.EndEditLabel(self.treeCtrl.editLabelId, False) - enterId = wx.NewId() - wx.EVT_MENU(self, enterId, OnEnterKey) + enterId = wx.NewIdRef() + self.Bind(wx.EVT_MENU, OnEnterKey, id=enterId) self.acceleratorTable = wx.AcceleratorTable( [ @@ -268,7 +268,7 @@ def Append(ident, hotkey="", kind=wx.ITEM_NORMAL, image=None): item = wx.MenuItem(menu, ID[ident], label + hotkey, "", kind) if image: item.SetBitmap(image) - menu.AppendItem(item) + menu.Append(item) func = getattr(self, "OnCmd" + ident) def FuncWrapper(dummyEvent): @@ -380,7 +380,12 @@ def CreateToolBar(self): text = Text.Menu def Append(ident, image): - toolBar.AddSimpleTool(ID[ident], image, getattr(text, ident)) + toolBar.AddTool( + toolId=ID[ident], + label=getattr(text, ident), + bitmap=image, + shortHelp=getattr(text, ident) + ) Append("New", GetInternalBitmap("New")) Append("Open", GetInternalBitmap("Open")) @@ -405,10 +410,11 @@ def Append(ident, image): # the execute button must be added with unique id, because otherwise # the menu command OnCmdExecute will be used in conjunction to # our special mouse click handlers - toolBar.AddSimpleTool( - ID_TOOLBAR_EXECUTE, - GetInternalBitmap("Execute"), - getattr(text, "Execute") + toolBar.AddTool( + toolId=ID_TOOLBAR_EXECUTE, + label=getattr(text, "Execute"), + bitmap=GetInternalBitmap("Execute"), + shortHelp=getattr(text, "Execute") ) toolBar.AddSeparator() Append("Expand", GetInternalBitmap("expand")) @@ -454,7 +460,7 @@ def CreateTreePopupMenu(self): def Append(ident, kind=wx.ITEM_NORMAL, image=wx.NullBitmap): item = wx.MenuItem(menu, ID[ident], getattr(text, ident), "", kind) item.SetBitmap(image) - menu.AppendItem(item) + menu.Append(item) return item Append("Expand", image=GetInternalBitmap("expand")) @@ -475,7 +481,7 @@ def Append(ident, kind=wx.ITEM_NORMAL, image=wx.NullBitmap): Append("Paste") Append("Delete") menu.AppendSeparator() - menu.AppendMenu(wx.ID_ANY, text=text.ExpandCollapseMenu, submenu=subm) + menu.AppendSubMenu(text=text.ExpandCollapseMenu, submenu=subm) menu.AppendSeparator() Append("AddPlugin", image=ADD_PLUGIN_ICON) Append("AddFolder", image=ADD_FOLDER_ICON) @@ -581,6 +587,9 @@ def Iconize(self, flag=True): else: wx.Frame.Iconize(self, flag) + if not flag: + self.Raise() + for dialog in self.openDialogs: dialog.Iconize(flag) @@ -660,7 +669,7 @@ def OnIconize(self, event): """ Handle wx.EVT_ICONIZE """ - self.Iconize(event.Iconized()) + self.Iconize(event.IsIconized()) def OnLogCtrlSize(self, evt): if self.mainSizeFlag: @@ -678,7 +687,7 @@ def OnMove(self, event): Handle wx.EVT_MOVE """ if not self.IsMaximized() and not self.IsIconized(): - Config.position = self.GetPositionTuple() + Config.position = self.GetPosition() event.Skip() def OnPaneClose(self, event): @@ -792,7 +801,7 @@ def SetupEditMenu(self, menu): def UpdateRatio(self): self.logCtrl.SetColumnWidth( 0, - self.logCtrl.GetSizeTuple()[0] - self.corConst + self.logCtrl.GetSize()[0] - self.corConst ) if not eg.config.propResize: return @@ -809,8 +818,8 @@ def UpdateRatio(self): elif dir in ("1", "3"): coord = 1 if coord is not None: - l_val = self.logCtrl.GetSizeTuple()[coord] - t_val = self.treeCtrl.GetSizeTuple()[coord] + l_val = self.logCtrl.GetSize()[coord] + t_val = self.treeCtrl.GetSize()[coord] self.ratio = float(t_val) / float(l_val) Config.ratio = self.ratio else: @@ -828,9 +837,9 @@ def UpdateSize(self): elif dir in ("1", "3"): coord = 1 if coord is not None: - l_val = self.logCtrl.GetSizeTuple()[coord] - t_val = self.treeCtrl.GetSizeTuple()[coord] - c_val = self.GetClientSizeTuple()[coord] + l_val = self.logCtrl.GetSize()[coord] + t_val = self.treeCtrl.GetSize()[coord] + c_val = self.GetClientSize()[coord] k = c_val - l_val - t_val l_val = int((c_val - k) / (1 + self.ratio)) #t_val = (c_val-k)-l_val @@ -841,11 +850,11 @@ def UpdateSize(self): self.auiManager.LoadPerspective(s, True) self.logCtrl.SetColumnWidth( 0, - self.logCtrl.GetSizeTuple()[0] - self.corConst + self.logCtrl.GetSize()[0] - self.corConst ) self.mainSizeFlag = True if not self.IsMaximized() and not self.IsIconized(): - Config.size = self.GetSizeTuple() + Config.size = self.GetSize() def UpdateViewOptions(self): expandOnEvents = ( @@ -1073,7 +1082,7 @@ def display(self): if self.IsExpanded(item): self.addChildren(item) self.setText('') - obj = self.GetPyData(item) + obj = self.GetItemData(item) if wx.Platform == '__WXMSW__': if obj is None: # Windows bug fix. return @@ -1089,16 +1098,16 @@ def display(self): value = unicode(obj) except: value = '' - if otype is types.StringType or otype is types.UnicodeType: # NOQA + if otype is types.StringType or otype is types.UnicodeType: value = repr(obj) text += '\n\nValue: ' + value - if otype not in SIMPLETYPES: # NOQA + if otype not in SIMPLETYPES: try: text += '\n\nDocstring:\n\n"""' + \ inspect.getdoc(obj).strip() + '"""' except: pass - if otype is types.InstanceType: # NOQA + if otype is types.InstanceType: try: text += '\n\nClass Definition:\n\n' + \ inspect.getsource(obj.__class__) diff --git a/eg/Classes/MonitorsCtrl.py b/eg/Classes/MonitorsCtrl.py index d9733e3e6..d23e4889e 100644 --- a/eg/Classes/MonitorsCtrl.py +++ b/eg/Classes/MonitorsCtrl.py @@ -55,7 +55,7 @@ def OnSize(self, dummyEvent): class MonsListCtrl(wx.ListCtrl): def __init__(self, parent, pos, size = wx.DefaultSize): - ID = wx.NewId() + ID = wx.NewIdRef() style = wx.LC_REPORT | wx.LC_VRULES | wx.LC_HRULES | wx.LC_SINGLE_SEL wx.ListCtrl.__init__(self, parent, ID, pos, size, style) mons = [(i[0], i[1], i[2] - i[0], i[3] - i[1]) for i in [j[2] for j in Edm()]] @@ -63,11 +63,11 @@ def __init__(self, parent, pos, size = wx.DefaultSize): self.InsertColumn(j, header, wx.LIST_FORMAT_RIGHT) self.SetColumnWidth(j, wx.LIST_AUTOSIZE_USEHEADER) for i, mon in enumerate(mons): - self.InsertStringItem(i, str(i + 1)) - self.SetStringItem(i, 1, str(mon[0])) - self.SetStringItem(i, 2, str(mon[1])) - self.SetStringItem(i, 3, str(mon[2])) - self.SetStringItem(i, 4, str(mon[3])) + self.InsertItem(i, str(i + 1)) + self.SetItem(i, 1, str(mon[0])) + self.SetItem(i, 2, str(mon[1])) + self.SetItem(i, 3, str(mon[2])) + self.SetItem(i, 4, str(mon[3])) rect = self.GetItemRect(0, wx.LIST_RECT_BOUNDS) self.hh = rect[1] #header height self.ih = rect[3] #item height diff --git a/eg/Classes/NamespaceTree.py b/eg/Classes/NamespaceTree.py index 5bcd78132..9abdb6b1a 100644 --- a/eg/Classes/NamespaceTree.py +++ b/eg/Classes/NamespaceTree.py @@ -17,15 +17,15 @@ # with EventGhost. If not, see . import wx -import wx.gizmos +import wx.dataview # Local imports import eg -class NamespaceTree(wx.gizmos.TreeListCtrl): +class NamespaceTree(wx.dataview.TreeListCtrl): def __init__(self, parent, namespace): self.namespace = namespace - wx.gizmos.TreeListCtrl.__init__( + wx.dataview.TreeListCtrl.__init__( self, parent, style=( @@ -52,7 +52,7 @@ def FillTree(self): self.SetItemText(item, typeStr, 1) valueStr = repr(value) self.SetItemText(item, valueStr, 2) - self.SetPyData(item, value) + self.SetItemData(item, value) self.Expand(root) @classmethod diff --git a/eg/Classes/NetworkSend.py b/eg/Classes/NetworkSend.py index b6058a901..b598a0ead 100644 --- a/eg/Classes/NetworkSend.py +++ b/eg/Classes/NetworkSend.py @@ -16,11 +16,12 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -import locale import socket from hashlib import md5 +import locale + -ENCODING = locale.getdefaultlocale()[1] +systemEncoding = locale.getdefaultlocale()[1] def ShowError(msg): @@ -90,10 +91,10 @@ def NetworkSend(host, port, password, eventString, payload=None): # now just pipe those commands to the server if (payload is not None) and (len(payload) > 0): for pld in payload: - sock.sendall("payload " + pld.encode(ENCODING) + "\n") + sock.sendall("payload " + pld.encode(systemEncoding) + "\n") # send the eventstring - sock.sendall(eventString.encode(ENCODING) + "\n") + sock.sendall(eventString.encode(systemEncoding) + "\n") # tell the server that we are done nicely. sock.sendall("close\n") diff --git a/eg/Classes/OptionsDialog.py b/eg/Classes/OptionsDialog.py index de9f30295..34d64162c 100644 --- a/eg/Classes/OptionsDialog.py +++ b/eg/Classes/OptionsDialog.py @@ -20,7 +20,7 @@ import wx from os.path import exists, join from time import localtime, strftime -from wx.combo import BitmapComboBox +from wx.adv import BitmapComboBox # Local imports import eg @@ -155,9 +155,9 @@ def OnFixedFontBox(evt): useFixedFontCtrl.Bind(wx.EVT_CHECKBOX, OnFixedFontBox) datestampCtrl = page1.TextCtrl(config.datestamp) - datestampCtrl.SetToolTipString(text.DatestampHelp) + datestampCtrl.SetToolTip(text.DatestampHelp) datestampLabel = page1.StaticText(text.Datestamp) - datestampLabel.SetToolTipString(text.DatestampHelp) + datestampLabel.SetToolTip(text.DatestampHelp) datestampSzr = wx.BoxSizer(wx.HORIZONTAL) datestampSzr.AddMany(( (datestampLabel, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5), @@ -175,7 +175,7 @@ def OnDatestampKillFocus(_): wx.CallAfter(datestampCtrl.SetFocus) else: datestampCtrl.SetBackgroundColour( - wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW) + wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW) ) datestampCtrl.Refresh() diff --git a/eg/Classes/PluginInstanceInfo.py b/eg/Classes/PluginInstanceInfo.py index 3c0f27af8..20d6f6acf 100644 --- a/eg/Classes/PluginInstanceInfo.py +++ b/eg/Classes/PluginInstanceInfo.py @@ -41,6 +41,7 @@ class PluginInstanceInfo(PluginModuleInfo): isStarted = False lastEvent = eg.EventGhostEvent() eventList = None + expanded = True def __init__(self): pass diff --git a/eg/Classes/PluginItem.py b/eg/Classes/PluginItem.py index d73ef40a3..4305bb2a2 100644 --- a/eg/Classes/PluginItem.py +++ b/eg/Classes/PluginItem.py @@ -53,7 +53,6 @@ def __init__(self, parent, node): self.name = eg.text.General.pluginLabel % info.label if info.icon != self.icon: self.icon = eg.Icons.PluginSubIcon(info.icon) - #self.icon = info.icon self.url = info.url self.executable = info.instance @@ -110,7 +109,7 @@ def Execute(self): # The Find function calls this from MainThread, so we can't restrict this # to the ActionThread - #@eg.AssertInActionThread + # @eg.AssertInActionThread def GetArguments(self): return self.info.args @@ -187,14 +186,17 @@ def SetArguments(self, args): if label != info.label: info.label = label self.name = eg.text.General.pluginLabel % label - #eg.Notify("NodeChanged", self) self.RefreshAllVisibleActions() if self.isEnabled: eg.actionThread.Call(self.info.Stop) eg.actionThread.Call(self.info.Start) def SetAttributes(self, tree, itemId): - if self.info.lastException or self.info.initFailed: + if ( + self.info is None or + self.info.lastException or + self.info.initFailed + ): tree.SetItemTextColour(itemId, eg.colour.pluginError) @eg.AssertInActionThread diff --git a/eg/Classes/PythonEditorCtrl.py b/eg/Classes/PythonEditorCtrl.py index 88dd55aff..9f16a2fa3 100644 --- a/eg/Classes/PythonEditorCtrl.py +++ b/eg/Classes/PythonEditorCtrl.py @@ -19,7 +19,7 @@ import keyword import re import wx -from wx.stc import * #pylint: disable-msg=W0614,W0401 +from wx.stc import * # Local imports import eg @@ -44,7 +44,7 @@ def __init__( ): StyledTextCtrl.__init__(self, parent, -1, pos, size, style) self.SetCodePage(STC_CP_UTF8) - StyleSetSpec = self.StyleSetSpec #IGNORE:C0103 + StyleSetSpec = self.StyleSetSpec self.CmdKeyAssign(ord('B'), STC_SCMOD_CTRL, STC_CMD_ZOOMIN) self.CmdKeyAssign(ord('N'), STC_SCMOD_CTRL, STC_CMD_ZOOMOUT) @@ -123,7 +123,7 @@ def __init__( self.SetMarginWidth(2, 12) # and now set up the fold markers - MarkerDefine = self.MarkerDefine #IGNORE:C0103 + MarkerDefine = self.MarkerDefine MarkerDefine( STC_MARKNUM_FOLDEREND, STC_MARK_BOXPLUSCONNECTED, "white", "black" ) @@ -204,11 +204,11 @@ def __init__( self.SetSelBackground( True, - wx.SystemSettings_GetColour(wx.SYS_COLOUR_HIGHLIGHT) + wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT) ) self.SetSelForeground( True, - wx.SystemSettings_GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT) + wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT) ) self.UsePopUp(False) diff --git a/eg/Classes/RadioButtonGrid.py b/eg/Classes/RadioButtonGrid.py index dd2f6f0a6..f807e4364 100644 --- a/eg/Classes/RadioButtonGrid.py +++ b/eg/Classes/RadioButtonGrid.py @@ -33,7 +33,12 @@ def __init__( ): wx.Panel.__init__(self, parent, id, pos, size) biggestWidth = 0 - sizer = wx.FlexGridSizer(len(rows) + 2, len(columns) + 1) + sizer = wx.FlexGridSizer( + rows=len(rows) + 2, + cols=len(columns) + 1, + vgap=2, + hgap=2 + ) sizer.Add((0, 0)) for column in columns: staticText = wx.StaticText(self, -1, column) diff --git a/eg/Classes/SerialPort.py b/eg/Classes/SerialPort.py index 1abb1bea2..2c8dcff7d 100644 --- a/eg/Classes/SerialPort.py +++ b/eg/Classes/SerialPort.py @@ -16,5 +16,6 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -# Local imports -from eg.WinApi.serial import Serial as SerialPort # NOQA +from eg.WinApi.serial import Serial as SerialPort + +__all__ = ["SerialPort"] diff --git a/eg/Classes/Shortcut.py b/eg/Classes/Shortcut.py index cbfd2ecc4..b4268099b 100644 --- a/eg/Classes/Shortcut.py +++ b/eg/Classes/Shortcut.py @@ -16,9 +16,11 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . + import pythoncom from win32com.shell import shell + class Shortcut: @classmethod def Create( @@ -69,7 +71,7 @@ def Get(cls, filename): pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IShellLink ) - persist = sh.QueryInterface(pythoncom.IID_IPersistFile).Load(filename) # NOQA + persist = sh.QueryInterface(pythoncom.IID_IPersistFile).Load(filename) self = cls() self.path = filename self.target = sh.GetPath(shell.SLGP_SHORTPATH)[0] diff --git a/eg/Classes/SizeGrip.py b/eg/Classes/SizeGrip.py index 14acfd369..2c7ee8837 100644 --- a/eg/Classes/SizeGrip.py +++ b/eg/Classes/SizeGrip.py @@ -27,9 +27,9 @@ FLAGS = WS_CHILD | WS_VISIBLE | SBS_SIZEGRIP | SBS_SIZEBOXTOPLEFTALIGN -class SizeGrip(wx.PyWindow): +class SizeGrip(wx.Window): def __init__(self, parent): - wx.PyWindow.__init__(self, parent) + wx.Window.__init__(self, parent) size = GetSystemMetrics(SM_CYHSCROLL), GetSystemMetrics(SM_CXVSCROLL) self.SetMinSize(size) self.SetMaxSize(size) diff --git a/eg/Classes/SmartSpinNumCtrl.py b/eg/Classes/SmartSpinNumCtrl.py index 47da7b05a..918540e59 100644 --- a/eg/Classes/SmartSpinNumCtrl.py +++ b/eg/Classes/SmartSpinNumCtrl.py @@ -72,7 +72,7 @@ def CreateCtrl(self, ctrlType, init = True): **self.kwargs ) ctrl.numCtrl.Bind(wx.EVT_RIGHT_UP, self.OnRclick) - ctrl.numCtrl.SetToolTipString(eg.text.General.smartSpinTooltip) + ctrl.numCtrl.SetToolTip(eg.text.General.smartSpinTooltip) if init: ctrl.SetValue(self.value) else: @@ -82,7 +82,7 @@ def CreateCtrl(self, ctrlType, init = True): str(self.value), ) ctrl.Bind(wx.EVT_RIGHT_UP, self.OnRclick) - ctrl.SetToolTipString(eg.text.General.smartSpinTooltip) + ctrl.SetToolTip(eg.text.General.smartSpinTooltip) if not init: ctrl.SetValue(("", "{eg.result}", "{eg.event.payload}", "")[ctrlType]) szr.Add(ctrl, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) @@ -101,10 +101,10 @@ def OnMenu(self, evt): def OnRclick(self, evt): if not hasattr(self, "popupId0"): - self.popupId0 = wx.NewId() - self.popupId1 = wx.NewId() - self.popupId2 = wx.NewId() - self.popupId3 = wx.NewId() + self.popupId0 = wx.NewIdRef() + self.popupId1 = wx.NewIdRef() + self.popupId2 = wx.NewIdRef() + self.popupId3 = wx.NewIdRef() self.popups = ( self.popupId0, self.popupId1, diff --git a/eg/Classes/SoundMixerTree.py b/eg/Classes/SoundMixerTree.py index 4a6afeef5..966934d56 100644 --- a/eg/Classes/SoundMixerTree.py +++ b/eg/Classes/SoundMixerTree.py @@ -252,7 +252,7 @@ def AddControls(self, parentItem, mixerline): parentItem, mixerControl.szName ) - self.SetPyData(ctrlItem, mixerControl.dwControlID) + self.SetItemData(ctrlItem, mixerControl.dwControlID) def FillTree(self): root = self.AddRoot("Sound Card") @@ -294,7 +294,7 @@ def FillTree(self): self.AddControls(sourceItem, mixerline) def OnSelectionChanged(self, event): - dwControlID = self.GetPyData(event.GetItem()) + dwControlID = self.GetItemData(event.GetItem()) panel = self.panel panel.DestroyChildren() sizer = wx.BoxSizer(wx.VERTICAL) diff --git a/eg/Classes/SpinNumCtrl.py b/eg/Classes/SpinNumCtrl.py index 46d1acacc..ff214daff 100644 --- a/eg/Classes/SpinNumCtrl.py +++ b/eg/Classes/SpinNumCtrl.py @@ -17,7 +17,6 @@ # with EventGhost. If not, see . import wx -from wx import SystemSettings_GetColour as GetColour from wx.lib import masked import eg @@ -140,9 +139,9 @@ def __init__( self.numCtrl = numCtrl numCtrl.SetCtrlParameters( - validBackgroundColour=GetColour(wx.SYS_COLOUR_WINDOW), - emptyBackgroundColour=GetColour(wx.SYS_COLOUR_WINDOW), - foregroundColour=GetColour(wx.SYS_COLOUR_WINDOWTEXT), + validBackgroundColour=wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW), + emptyBackgroundColour=wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW), + foregroundColour=wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT), ) height = numCtrl.GetSize()[1] diff --git a/eg/Classes/StaticTextBox.py b/eg/Classes/StaticTextBox.py index b12567d3c..2feb74765 100644 --- a/eg/Classes/StaticTextBox.py +++ b/eg/Classes/StaticTextBox.py @@ -18,9 +18,9 @@ import wx -class StaticTextBox(wx.PyWindow): +class StaticTextBox(wx.Window): def __init__(self, parent, id=-1, label='', pos=(-1, -1), size=(-1, -1)): - wx.PyWindow.__init__( + wx.Window.__init__( self, parent, id, diff --git a/eg/Classes/StaticWrapText.py b/eg/Classes/StaticWrapText.py new file mode 100644 index 000000000..29d4d6168 --- /dev/null +++ b/eg/Classes/StaticWrapText.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import wx + + +class StaticWrapText(wx.Control): + + def __init__(self, parent, wxid=wx.ID_ANY, label='', pos=wx.DefaultPosition, + size=wx.DefaultSize, style=wx.NO_BORDER, + validator=wx.DefaultValidator, name='StaticWrapText'): + wx.Control.__init__(self, parent, wxid, pos, size, style, validator, name) + self.statictext = wx.StaticText(self, wx.ID_ANY, label, style=style) + self.Bind(wx.EVT_SIZE, self.on_size) + self.wraplabel = label + wx.CallAfter(self.wrap) + + def __getattribute__(self, item): + try: + return wx.Control.__getattribute__(self, item) + except AttributeError: + print item + return getattr(self.statictext, item) + + def on_size(self, evt): + evt.Skip() + wx.CallAfter(self.wrap) + + def wrap(self): + self.Freeze() + self.statictext.SetLabel(self.wraplabel) + self.statictext.Wrap(self.GetSize().GetWidth()) + self.Thaw() + + def DoGetBestSize(self): + self.wrap() + return self.GetSize() + + def SetLabel(self, label): + self.wraplabel = label + self.statictext.SetLabel(label) + wx.CallAfter(self.wrap) diff --git a/eg/Classes/TaskBarIcon.py b/eg/Classes/TaskBarIcon.py index 70ed07872..09b580304 100644 --- a/eg/Classes/TaskBarIcon.py +++ b/eg/Classes/TaskBarIcon.py @@ -18,17 +18,18 @@ import threading import wx +import wx.adv from os.path import join # Local imports import eg from eg.WinApi.Utils import BringHwndToFront -ID_SHOW = wx.NewId() -ID_HIDE = wx.NewId() -ID_EXIT = wx.NewId() +ID_SHOW = wx.NewIdRef() +ID_HIDE = wx.NewIdRef() +ID_EXIT = wx.NewIdRef() -class TaskBarIcon(wx.TaskBarIcon): +class TaskBarIcon(wx.adv.TaskBarIcon): def __init__(self, show): self.stateIcons = ( wx.Icon(join(eg.imagesDir, "Tray1.png"), wx.BITMAP_TYPE_PNG), @@ -36,7 +37,7 @@ def __init__(self, show): wx.Icon(join(eg.imagesDir, "Tray2.png"), wx.BITMAP_TYPE_PNG), ) self.tooltip = eg.APP_NAME + " " + eg.Version.string - wx.TaskBarIcon.__init__(self) + wx.adv.TaskBarIcon.__init__(self) # SetIcon *must* be called immediately after creation, as otherwise # it won't appear on Vista restricted user accounts. (who knows why?) if show: @@ -55,8 +56,8 @@ def __init__(self, show): self.Bind(wx.EVT_MENU, self.OnCmdShow, id=ID_SHOW) self.Bind(wx.EVT_MENU, self.OnCmdHide, id=ID_HIDE) self.Bind(wx.EVT_MENU, self.OnCmdExit, id=ID_EXIT) - self.Bind(wx.EVT_TASKBAR_RIGHT_UP, self.OnTaskBarMenu) - self.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, self.OnCmdShow) + self.Bind(wx.adv.EVT_TASKBAR_RIGHT_UP, self.OnTaskBarMenu) + self.Bind(wx.adv.EVT_TASKBAR_LEFT_DCLICK, self.OnCmdShow) def Close(self): if eg.mainFrame is not None: @@ -89,6 +90,7 @@ def OnCmdHide(self, dummyEvent): def OnCmdShow(self, dummyEvent=None): if eg.mainFrame is not None: eg.mainFrame.Iconize(False) + eg.mainFrame.Show() eg.mainFrame.Raise() else: eg.document.ShowFrame() diff --git a/eg/Classes/ThreadWorker.py b/eg/Classes/ThreadWorker.py index 29506589b..904ac4748 100644 --- a/eg/Classes/ThreadWorker.py +++ b/eg/Classes/ThreadWorker.py @@ -32,7 +32,7 @@ WM_QUIT ) -class ThreadWorker(object): +class ThreadWorker: """ General purpose message pumping thread, that is used in many places. """ diff --git a/eg/Classes/TimeCtrl.py b/eg/Classes/TimeCtrl.py index 94f1523fa..ff33f7b1a 100644 --- a/eg/Classes/TimeCtrl.py +++ b/eg/Classes/TimeCtrl.py @@ -41,7 +41,7 @@ def _TimeCtrl__IncrementValue(self, key, pos): try: self._SetValue(newvalue) except ValueError: # must not be in bounds: - if not wx.Validator_IsSilent(): + if not wx.Validator.IsSilent(): wx.Bell() def _TimeCtrl__validateValue(self, value): @@ -50,7 +50,7 @@ def _TimeCtrl__validateValue(self, value): try: #value = self.GetWxDateTime(value) - THIS CAUSES THE PROBLEM !!!!!!! args = [int(slice) for slice in value.split(":")] - value = wx.DateTimeFromHMS(*args) + value = wx.DateTime.FromHMS(*args) except: raise if self.IsLimited() and not self.IsInBounds(value): diff --git a/eg/Classes/TransferDialog.py b/eg/Classes/TransferDialog.py index 6fabdcf90..8b75454c3 100644 --- a/eg/Classes/TransferDialog.py +++ b/eg/Classes/TransferDialog.py @@ -98,7 +98,7 @@ def SText(label, *args, **kwargs): sizer4.Add(self.overallFileCtrl, 1, wx.EXPAND) sizer4.Add(self.overallProgressCtrl, 0, wx.ALIGN_RIGHT) - sizer5 = wx.FlexGridSizer(4, 5, 5, 5) + sizer5 = wx.FlexGridSizer(cols=4, rows=5, hgap=5, vgap=5) sizer5.Add(SText("Elapsed time:"), 0, wx.ALIGN_RIGHT) sizer5.Add(self.elapsedCtrl) sizer5.Add((10, 0), 1, wx.EXPAND) @@ -200,10 +200,7 @@ def SetProgress(self, *args, **kwargs): def SftpUpload(self, src, dest, size): log = self.messageCtrl.SetLabel - import warnings - with warnings.catch_warnings(): - warnings.simplefilter("ignore", DeprecationWarning) - import paramiko + import paramiko testFile = open(src, "rb") infile = ProgressFile(testFile, size, self.SetProgress) @@ -230,7 +227,7 @@ def SftpUpload(self, src, dest, size): client = sshClient.open_sftp() except: exit("Error: Can't create SFTP client") - destPath = urlParts.path #IGNORE:E1101 + destPath = urlParts.path destDir = dirname(destPath) # log("Changing path to: %s" % destDir) # client.chdir(destDir) @@ -357,14 +354,14 @@ def Add(self, numBytes): if self.rate < 0: self.rate = 0 - def close(self): #IGNORE:C0103 Invalid name "read" + def close(self): """ Implements a file-like close() """ self.fileObject.close() - elapsed = (clock() - self.startTime) # NOQA + elapsed = (clock() - self.startTime) - def read(self, size): #IGNORE:C0103 Invalid name "read" + def read(self, size): """ Implements a file-like read() but also updates the progress variables. """ diff --git a/eg/Classes/TreeItem.py b/eg/Classes/TreeItem.py index 888689d65..b73c7dadf 100644 --- a/eg/Classes/TreeItem.py +++ b/eg/Classes/TreeItem.py @@ -167,7 +167,8 @@ def Delete(self): del TreeLink.sessionId2target[self.xmlId] if self.xmlId in TreeLink.id2target: del TreeLink.id2target[self.xmlId] - self.parent.RemoveChild(self) + if self.parent: + self.parent.RemoveChild(self) self.parent = None def DropTest(self, dropNode): diff --git a/eg/Classes/TreeItemBrowseCtrl.py b/eg/Classes/TreeItemBrowseCtrl.py index 72afc807d..3c2d9168e 100644 --- a/eg/Classes/TreeItemBrowseCtrl.py +++ b/eg/Classes/TreeItemBrowseCtrl.py @@ -50,9 +50,9 @@ def __init__( srcRoot = srcTree.GetRootItem() text = srcTree.GetItemText(srcRoot) image = srcTree.GetItemImage(srcRoot) - obj = srcTree.GetPyData(srcRoot) + obj = srcTree.GetItemData(srcRoot) self.root = root = self.AddRoot(text, image) - self.SetPyData(root, obj) + self.SetItemData(root, obj) self.normalfont = self.GetItemFont(self.root) # evil workaround to get another font @@ -80,7 +80,7 @@ def __init__( if not self.IsExpanded(treeId): self.Expand(treeId) tmp, cookie = self.GetFirstChild(treeId) - while self.GetPyData(tmp) is not item: + while self.GetItemData(tmp) is not item: tmp, cookie = self.GetNextChild(tmp, cookie) treeId = tmp self.EnsureVisible(root) @@ -101,7 +101,7 @@ def OnCollapsing(self, event): @eg.LogIt def OnExpanding(self, event): treeId = event.GetItem() - obj = self.GetPyData(treeId) + obj = self.GetItemData(treeId) for child in obj.childs: if not self.filterFunc(child): continue @@ -113,7 +113,7 @@ def OnExpanding(self, event): else child.icon.disabledIndex ), -1, - wx.TreeItemData(child) + child ) for subChild in child.childs: if self.filterFunc(subChild): diff --git a/eg/Classes/TreeItemBrowseDialog.py b/eg/Classes/TreeItemBrowseDialog.py index f54be77d0..940802e8b 100644 --- a/eg/Classes/TreeItemBrowseDialog.py +++ b/eg/Classes/TreeItemBrowseDialog.py @@ -67,7 +67,7 @@ def GetValue(self): def OnSelectionChanged(self, event): item = event.GetItem() if item.IsOk(): - obj = self.treeCtrl.GetPyData(item) + obj = self.treeCtrl.GetItemData(item) if isinstance(obj, self.resultClasses): self.resultData = obj self.buttonRow.okButton.Enable(True) diff --git a/eg/Classes/WindowDragFinder.py b/eg/Classes/WindowDragFinder.py index e1b7a8732..9abe5f697 100644 --- a/eg/Classes/WindowDragFinder.py +++ b/eg/Classes/WindowDragFinder.py @@ -28,13 +28,13 @@ HighlightWindow, ) -class WindowDragFinder(wx.PyWindow): +class WindowDragFinder(wx.Window): def __init__(self, parent, startFunc, endFunc): self.startFunc = startFunc self.endFunc = endFunc self.text = eg.plugins.Window.FindWindow.text - wx.PyWindow.__init__(self, parent, -1, style=wx.SIMPLE_BORDER) + wx.Window.__init__(self, parent, -1, style=wx.SIMPLE_BORDER) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW) ) @@ -47,11 +47,11 @@ def __init__(self, parent, startFunc, endFunc): # since this image didn't come from a .cur file, tell it where the # hotspot is - image.SetOptionInt(wx.IMAGE_OPTION_CUR_HOTSPOT_X, 15) - image.SetOptionInt(wx.IMAGE_OPTION_CUR_HOTSPOT_Y, 16) + image.SetOption(wx.IMAGE_OPTION_CUR_HOTSPOT_X, 15) + image.SetOption(wx.IMAGE_OPTION_CUR_HOTSPOT_Y, 16) # make the image into a cursor - self.cursor = wx.CursorFromImage(image) + self.cursor = wx.Cursor(image) # the image of the drag target dragBoxImage = wx.StaticBitmap(self, -1, self.dragBoxBitmap) diff --git a/eg/Classes/WindowList.py b/eg/Classes/WindowList.py index 9487b7138..27d1212c8 100644 --- a/eg/Classes/WindowList.py +++ b/eg/Classes/WindowList.py @@ -46,9 +46,9 @@ def __init__(self, parent, hwnds): GetWindowProcessName(hwnd), imageIdx ) - self.SetStringItem(idx, 1, GetWindowText(hwnd)) - self.SetStringItem(idx, 2, GetClassName(hwnd)) - self.SetStringItem(idx, 3, str(hwnd)) + self.SetItem(idx, 1, GetWindowText(hwnd)) + self.SetItem(idx, 2, GetClassName(hwnd)) + self.SetItem(idx, 3, str(hwnd)) for i in range(4): self.SetColumnWidth(i, -2) headerSize = self.GetColumnWidth(i) diff --git a/eg/Classes/WindowTree.py b/eg/Classes/WindowTree.py index 00e3af99a..9f93e5daf 100644 --- a/eg/Classes/WindowTree.py +++ b/eg/Classes/WindowTree.py @@ -67,12 +67,12 @@ def __init__(self, parent, includeInvisible=False): # tree context menu def OnCmdHighlight(dummyEvent=None): - hwnd = self.GetPyData(self.GetSelection()) + hwnd = self.GetItemData(self.GetSelection()) for _ in range(10): HighlightWindow(hwnd) sleep(0.1) menu = wx.Menu() - menuId = wx.NewId() + menuId = wx.NewIdRef() menu.Append(menuId, "Highlight") self.Bind(wx.EVT_MENU, OnCmdHighlight, id=menuId) self.contextMenu = menu @@ -94,7 +94,7 @@ def AppendChildWindows(self, parentHwnd, item): if name != "": name = "\"" + name + "\" " index = self.AppendItem(item, name + className, 0) - self.SetPyData(index, hwnd) + self.SetItemData(index, hwnd) if className == "Edit" or className == "TEdit": self.SetItemImage(index, 1, which=wx.TreeItemIcon_Normal) elif className == "Static" or className == "TStaticText": @@ -135,12 +135,12 @@ def AppendPrograms(self): for hwnd in self.pids[pid]: icon = GetHwndIcon(hwnd) if icon: - iconIndex = self.imageList.AddIcon(icon) + iconIndex = self.imageList.Add(icon=icon) break exe = GetProcessName(pid) item = self.AppendItem(self.root, exe) self.SetItemHasChildren(item, True) - self.SetPyData(item, pid) + self.SetItemData(item, pid) self.SetItemImage(item, iconIndex, which=wx.TreeItemIcon_Normal) def AppendToplevelWindows(self, pid, item): @@ -156,9 +156,9 @@ def AppendToplevelWindows(self, pid, item): name = '"%s"' % name iconIndex = 0 if icon: - iconIndex = self.imageList.AddIcon(icon) + iconIndex = self.imageList.Add(icon=icon) newItem = self.AppendItem(item, name) - self.SetPyData(newItem, hwnd) + self.SetItemData(newItem, hwnd) self.SetItemText(newItem, name + className) self.SetItemImage( newItem, @@ -193,10 +193,10 @@ def OnItemExpanding(self, event): res = self.GetItemParent(item) if res == self.root: - pid = self.GetPyData(item) + pid = self.GetItemData(item) self.AppendToplevelWindows(pid, item) else: - hwnd = self.GetPyData(item) + hwnd = self.GetItemData(item) self.AppendChildWindows(hwnd, item) def OnItemRightClick(self, dummyEvent): @@ -219,7 +219,7 @@ def SelectHwnd(self, hwnd): return _, pid = GetWindowThreadProcessId(hwnd) item, cookie = self.GetFirstChild(self.root) - while self.GetPyData(item) != pid: + while self.GetItemData(item) != pid: item, cookie = self.GetNextChild(self.root, cookie) if not item.IsOk(): return @@ -235,7 +235,7 @@ def SelectHwnd(self, hwnd): for child in chain[::-1]: self.Expand(item) item, cookie = self.GetFirstChild(lastItem) - while self.GetPyData(item) != child: + while self.GetItemData(item) != child: item, cookie = self.GetNextChild(lastItem, cookie) if not item.IsOk(): return diff --git a/eg/Classes/WindowsVersion.py b/eg/Classes/WindowsVersion.py index 220463336..36bbd73b0 100644 --- a/eg/Classes/WindowsVersion.py +++ b/eg/Classes/WindowsVersion.py @@ -16,11 +16,15 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -from .. import Cli import platform +import sys from collections import OrderedDict +import winreg + +import eg + WINDOWS_VERSIONS = OrderedDict() WINDOWS_VERSIONS["XP"] = [[5, 1], [5, 2]] @@ -209,6 +213,9 @@ def __str__(self): platform.version() ) + def __call__(self): + return self.__str__() + @staticmethod def GetVersion(): # type: () -> list @@ -354,5 +361,58 @@ def Is10(): """ return _compare('==', "10") -if Cli.args.isMain: + @staticmethod + def GetReleaseId(): + key = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion" + val = r"ReleaseID" + + sam = winreg.KEY_READ + if eg.Utils.Is64BitOS(): + sam = sam | winreg.KEY_WOW64_64KEY + + try: + with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key, 0, sam) as k: + return int(winreg.QueryValueEx(k, val)[0]) + except WindowsError: + return None + + @staticmethod + def GetEdition(): + key = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion" + val = r"EditionID" + + sam = winreg.KEY_READ + if eg.Utils.Is64BitOS(): + sam = sam | winreg.KEY_WOW64_64KEY + + try: + with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key, 0, sam) as k: + return winreg.QueryValueEx(k, val)[0] + except WindowsError: + return None + + def GetLongVersion(self): + edition = eg.WindowsVersion.GetEdition() + ver = eg.WindowsVersion.GetReleaseId() + build = platform.version().split('.')[2] + sp = sys.getwindowsversion().service_pack_major + + res = '{} {}'.format( + platform.system(), + platform.release(), + ) + res += ' %s' % edition if edition else '' + res += [' 32-bit', ' 64-bit'][eg.Is64BitOS()] + if ver or build: + res += ' (' + res += 'Version: %s' % ver if ver else '' + res += ', ' if ver and build else '' + res += 'Build: %s' % build if build else '' + res += ')' + res += ' SP %d' % sp if sp else '' + + return res + + +if eg.Cli.args.isMain: WindowsVersion = WindowsVersion() diff --git a/eg/Cli.py b/eg/Cli.py index da9d6495d..25a44401d 100644 --- a/eg/Cli.py +++ b/eg/Cli.py @@ -24,21 +24,33 @@ import locale import os import sys -import threading -from os.path import abspath, dirname, join +from os.path import abspath, join + +import pip +import wx -import PythonPaths import LoopbackSocket +import PythonPaths +from .Classes.Translation import LCID_TO_WX + + +kernel32 = ctypes.windll.kernel32 + +lang_id = LCID_TO_WX.get(kernel32.GetUserDefaultUILanguage(), 0) +wx_loc = wx.Locale(lang_id, wx.LOCALE_DONT_LOAD_DEFAULT) +li = wx_loc.FindLanguageInfo(locale.getdefaultlocale()[0].split('_')[0]) +locale.setlocale(locale.LC_ALL, li.GetLocaleName()) +del li +del wx_loc ENCODING = locale.getdefaultlocale()[1] -locale.setlocale(locale.LC_ALL, '') argvIter = (val.decode(ENCODING) for val in sys.argv) scriptPath = argvIter.next() mainDir = PythonPaths.mainDir # determine the commandline parameters -import __main__ # NOQA +import __main__ class args: @@ -88,9 +100,32 @@ def restart(): ) sys.exit(1) + if '-update_certifi' in sys.argv: + update_certifi() + return True +def update_certifi(): + data_dir = join(os.environ['ProgramData'], 'EventGhost') + pip.main([ + "install", + "--disable-pip-version-check", + "--no-cache-dir", + "--prefix", data_dir, + "--upgrade", + "--ignore-installed", + "--exists-action", "w", + "--quiet", + "certifi" + ]) + try: + import certifi + os.environ['REQUESTS_CA_BUNDLE'] = certifi.where() + except ImportError: + pass + + def send_message(msg, *msg_args): res = LoopbackSocket.send_message('%s, %s' % (msg, str(msg_args))) @@ -161,10 +196,8 @@ def send_message(msg, *msg_args): if ( not args.allowMultiLoad and not args.translate and - args.isMain # and - # not args.pluginFile + args.isMain ): - no_count = 0 if LoopbackSocket.is_eg_running(): diff --git a/eg/Core.py b/eg/Core.py index 781638ad0..920d9cbf6 100644 --- a/eg/Core.py +++ b/eg/Core.py @@ -57,7 +57,7 @@ "{6B1751BF-F94E-4260-AB7E-64C0693FD959}", # "Mouse" ) -eg.ID_TEST = wx.NewId() +eg.ID_TEST = wx.NewIdRef() eg.mainDir = eg.Cli.mainDir eg.revision = 2000 # Deprecated @@ -105,6 +105,9 @@ def GetValue(self): def SetValue(self, value): self.value = value + def Clone(self): + return _Event(id=self.GetId(), value=self.GetValue()) + return _Event, wx.PyEventBinder(evttype, 1) eg.CommandEvent = _CommandEvent @@ -113,9 +116,8 @@ def SetValue(self, value): eg.pyCrustFrame = None eg.dummyAsyncoreDispatcher = None -from eg.WinApi.Dynamic import GetCurrentProcessId # NOQA +from eg.WinApi.Dynamic import GetCurrentProcessId eg.processId = GetCurrentProcessId() -Init.InitPil() class Exception(Exception): def __unicode__(self): @@ -195,7 +197,7 @@ def Notify(notification, value=None): for listener in eg.notificationHandlers[notification].listeners: listener(value) -# pylint: disable-msg=W0613 + def RegisterPlugin( name = None, description = None, @@ -243,7 +245,7 @@ def RegisterPlugin( backward compatible. """ pass -# pylint: enable-msg=W0613 + def RestartAsyncore(): """ @@ -330,7 +332,7 @@ def Wait(secs, raiseException=True): eg.app = eg.App() # we can't import the Icons module earlier, because wx.App must exist -import Icons # NOQA +import Icons eg.Icons = Icons eg.log = eg.Log() @@ -362,7 +364,7 @@ def TracebackHook(tType, tValue, traceback): eg.TriggerEvent = eg.eventThread.TriggerEvent eg.TriggerEnduringEvent = eg.eventThread.TriggerEnduringEvent -from eg.WinApi.SendKeys import SendKeysParser # NOQA +from eg.WinApi.SendKeys import SendKeysParser eg.SendKeys = SendKeysParser() setattr(eg, "PluginClass", eg.PluginBase) diff --git a/eg/Icons.py b/eg/Icons.py index 89c3f2f2e..1ae135154 100644 --- a/eg/Icons.py +++ b/eg/Icons.py @@ -93,7 +93,7 @@ def GetWxIcon(self): """ Return a wx.Icon of the icon. """ - icon = wx.EmptyIcon() + icon = wx.Icon() icon.CopyFromBitmap(PilToBitmap(self.pil)) return icon @@ -206,7 +206,7 @@ def CreateBitmapOnTopOfIcon(foregroundIcon, backgroundIcon, size=(12, 12)): small = foregroundIcon.pil.resize(size, Image.BICUBIC) pil = backgroundIcon.pil.copy() pil.paste(small, (16 - size[0], 16 - size[1]), small) - return wx.BitmapFromBufferRGBA(pil.size[0], pil.size[1], str(pil.tobytes())) + return wx.Bitmap.FromBufferRGBA(pil.size[0], pil.size[1], str(pil.tobytes())) def GetBitmap(filePath): """ @@ -231,7 +231,7 @@ def PilToBitmap(pil): """ Convert a PIL image to a wx.Bitmap (with alpha channel support). """ - return wx.BitmapFromBufferRGBA(pil.size[0], pil.size[1], str(pil.tobytes())) + return wx.Bitmap.FromBufferRGBA(pil.size[0], pil.size[1], str(pil.tobytes())) # setup some commonly used icons INFO_ICON = PathIcon(join(IMAGES_PATH, "info.png")) diff --git a/eg/Init.py b/eg/Init.py index d36380317..86133f137 100644 --- a/eg/Init.py +++ b/eg/Init.py @@ -76,9 +76,8 @@ def Traverse(root, moduleRoot): Traverse(eg.corePluginDir, "eg.CorePluginModule") def Init(): - import WinApi.pywin32_patches # NOQA - import WinApi.wx_patches # NOQA - import WinApi.GenPaths # NOQA + import WinApi.pywin32_patches + import WinApi.GenPaths def InitGui(): @@ -119,9 +118,13 @@ def InitGui(): startupFile ) + today = gmtime()[:3] + if config.lastCertifiCheck != today: + config.lastCertifiCheck = today + wx.CallAfter(eg.CheckCertifiUpdate.start) + if config.checkUpdate: # avoid more than one check per day - today = gmtime()[:3] if config.lastUpdateCheckDate != today: config.lastUpdateCheckDate = today wx.CallAfter(eg.CheckUpdate.Start) @@ -183,16 +186,6 @@ def InitPathsAndBuiltins(): eg.CorePluginModule = corePluginPackage eg.UserPluginModule = userPluginPackage -def InitPil(): - """ - Initialize PIL's Image module. - """ - import PIL.Image - import PIL.PngImagePlugin - import PIL.JpegImagePlugin - import PIL.BmpImagePlugin - import PIL.GifImagePlugin - PIL.Image._initialized = 2 # replace builtin input() with a small dialog def Input(prompt=None): diff --git a/eg/LoopbackSocket.py b/eg/LoopbackSocket.py index a99354b06..d36562448 100644 --- a/eg/LoopbackSocket.py +++ b/eg/LoopbackSocket.py @@ -92,7 +92,10 @@ def send_message(message): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.settimeout(2.0) - sys.stderr._displayMessage = False + try: + sys.stderr._displayMessage = False + except AttributeError: + pass sys.stderr.write('New Instance: send message ' + repr(message) + '\n') res = None diff --git a/eg/PythonPaths.py b/eg/PythonPaths.py index f2828e3b9..30878fc36 100644 --- a/eg/PythonPaths.py +++ b/eg/PythonPaths.py @@ -19,13 +19,12 @@ import sys import os -import site -import winreg -from types import ModuleType +from ctypes import c_int, create_unicode_buffer, HRESULT, windll +from ctypes.wintypes import DWORD, HANDLE, HWND, LPWSTR version = sys.version_info[:2] -currentDir = os.path.dirname(__file__.decode('mbcs')) +currentDir = os.path.dirname(__file__) install_directory, folder_name = os.path.split(currentDir) while not folder_name: @@ -38,30 +37,41 @@ "site-packages" ) -sys.path.insert(0, mainDir.encode('mbcs')) -sys.path.insert(1, sitePackagesDir.encode('mbcs')) +SHGFP_TYPE_CURRENT = 0 +MAX_PATH = 260 +CSIDL_FLAG_DONT_VERIFY = 16384 -os.environ['REQUESTS_CA_BUNDLE'] = os.path.join( - sitePackagesDir, - 'requests', - 'cacert.pem' +SHGetFolderPathW = windll.shell32.SHGetFolderPathW +SHGetFolderPathW.restype = HRESULT +SHGetFolderPathW.argtypes = [HWND, c_int, HANDLE, DWORD, LPWSTR] +BUFFER = create_unicode_buffer(MAX_PATH) + +SHGetFolderPathW( + 0, + 35 | CSIDL_FLAG_DONT_VERIFY, + 0, + SHGFP_TYPE_CURRENT, + BUFFER ) +data_dir = os.path.join(BUFFER.value, 'EventGhost') +data_dir_site_packages = os.path.join( + data_dir, + 'lib', + 'site-packages' +) try: - if "PYTHONPATH" in os.environ: - for path in os.environ.get("PYTHONPATH").split(os.pathsep): - site.addsitedir(path) + os.makedirs(data_dir_site_packages) +except WindowsError: + pass - key = winreg.HKEY_LOCAL_MACHINE +sys.path.insert(0, data_dir_site_packages) +sys.path.insert(1, mainDir) +sys.path.insert(2, sitePackagesDir) - subkey = r"SOFTWARE\Python\PythonCore\%d.%d\InstallPath" % version - with winreg.OpenKey(key, subkey) as hand: - site.addsitedir( - os.path.join( - winreg.QueryValue(hand, None), - "Lib", - "site-packages", - ) - ) -except: +try: + # noinspection PyUnresolvedReferences + import certifi + os.environ['REQUESTS_CA_BUNDLE'] = certifi.where() +except ImportError: pass diff --git a/eg/Utils.py b/eg/Utils.py index 2c2336f70..c99368f08 100644 --- a/eg/Utils.py +++ b/eg/Utils.py @@ -16,43 +16,53 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . + import inspect import os import sys import threading import time -import warnings -import wx import traceback -from locale import windows_locale -from CommonMark import commonmark from ctypes import c_ulonglong, windll from datetime import datetime as dt, timedelta as td -from docutils.core import publish_parts as ReSTPublishParts -from docutils.writers.html4css1 import Writer from functools import update_wrapper -from os.path import abspath, dirname, exists, join +from locale import windows_locale +from os.path import exists, join from types import ClassType -# Local imports -import eg +import wx +from commonmark import commonmark +from docutils.core import publish_parts as publish_rest_parts +from docutils.writers.html4css1 import Writer -# Make sure our deprecation warnings will be shown -warnings.filterwarnings( - action="always", - category=DeprecationWarning, - module='^eg\..*' -) +import eg +import PythonPaths __all__ = [ - "Bunch", "NotificationHandler", "LogIt", "LogItWithReturn", "TimeIt", - "AssertInMainThread", "AssertInActionThread", "ParseString", "SetDefault", - "EnsureVisible", "VBoxSizer", "HBoxSizer", "EqualizeWidths", "AsTasklet", - "ExecFile", "GetTopLevelWindow", "GetClosestLanguage" + "AssertInActionThread", + "AssertInMainThread", + "AsTasklet", + "Bunch", + "EnsureVisible", + "EqualizeWidths", + "ExecFile", + "GetClosestLanguage", + "GetTopLevelWindow", + "HBoxSizer", + "Is64bitInterpreter", + "Is64BitOS", + "LogIt", + "LogItWithReturn", + "NotificationHandler", + "ParseString", + "SetDefault", + "TimeIt", + "VBoxSizer", ] USER_CLASSES = (type, ClassType) + class Bunch(object): """ Universal collection of a bunch of named stuff. @@ -80,7 +90,7 @@ def __init__(self, **kwargs): self.__dict__.update(kwargs) -class HBoxSizer(wx.BoxSizer): #IGNORE:R0904 +class HBoxSizer(wx.BoxSizer): def __init__(self, *items): wx.BoxSizer.__init__(self, wx.HORIZONTAL) self.AddMany(items) @@ -99,6 +109,7 @@ def apply_template(self): %(body_suffix)s """ % self.interpolation_dict() + HTML_DOC_WRITER = MyHtmlDocWriter() @@ -109,7 +120,7 @@ def __init__(self): self.listeners = [] -class VBoxSizer(wx.BoxSizer): #IGNORE:R0904 +class VBoxSizer(wx.BoxSizer): def __init__(self, *items): wx.BoxSizer.__init__(self, wx.VERTICAL) self.AddMany(items) @@ -198,7 +209,7 @@ def DecodeMarkdown(source): def DecodeReST(source): #print repr(source) - res = ReSTPublishParts( + res = publish_rest_parts( source=PrepareDocstring(source), writer=HTML_DOC_WRITER, settings_overrides={"stylesheet_path": ""} @@ -300,7 +311,7 @@ def GetClosestLanguage(): """ Returns the language file closest to system locale. """ - langDir = join(dirname(abspath(sys.executable)), "languages") + langDir = join(PythonPaths.install_directory, "languages") if exists(langDir): uiLang = windows_locale[windll.kernel32.GetUserDefaultUILanguage()] @@ -402,29 +413,6 @@ def GetUpTime(seconds = True): return delta if "." not in delta else delta[:delta.index(".")] return ticks -def IsVista(): - """ - Determine if we're running Vista or higher. - """ - warnings.warn( - "eg.Utils.IsVista() is deprecated. " - "Use eg.WindowsVersion >= 'Vista' instead", - DeprecationWarning, - stacklevel=2 - ) - return eg.WindowsVersion >= 'Vista' - -def IsXP(): - """ - Determine if we're running XP or higher. - """ - warnings.warn( - "eg.Utils.IsXP() is deprecated. " - "Use eg.WindowsVersion >= 'XP' instead", - DeprecationWarning, - stacklevel=2 - ) - return eg.WindowsVersion >= 'XP' def LogIt(func): """ @@ -586,6 +574,7 @@ def TimeItWrapper(*args, **kwargs): return update_wrapper(TimeItWrapper, func) + def UpdateStartupShortcut(create): from eg import Shortcut @@ -607,3 +596,19 @@ def UpdateStartupShortcut(create): arguments="-h -e OnInitAfterBoot", startIn=os.path.dirname(os.path.abspath(sys.executable)), ) + + +def Is64bitInterpreter(): + """ + Determine whether or not we're running a 64-bit interpreter. + """ + return sys.maxsize > 2**32 + + +def Is64BitOS(): + if ( + os.environ.get("PROCESSOR_ARCHITECTURE") == "AMD64" + or os.environ.get("PROCESSOR_ARCHITEW6432") == "AMD64" + ): + return True + return False diff --git a/eg/WinApi/Dynamic/Mmsystem.py b/eg/WinApi/Dynamic/Mmsystem.py index 482632fa5..b2f957852 100644 --- a/eg/WinApi/Dynamic/Mmsystem.py +++ b/eg/WinApi/Dynamic/Mmsystem.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -#pylint: disable-msg=C0103,C0301,C0302 # This file gets automatically extended by ctypeslib.dynamic_module, so don't # edit it yourself. diff --git a/eg/WinApi/Dynamic/PsApi.py b/eg/WinApi/Dynamic/PsApi.py index b533fd98d..9e72d04d4 100644 --- a/eg/WinApi/Dynamic/PsApi.py +++ b/eg/WinApi/Dynamic/PsApi.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -#pylint: disable-msg=C0103,C0301,C0302 # This file gets automatically extended by ctypeslib.dynamic_module, so don't # edit it yourself. diff --git a/eg/WinApi/Dynamic/SetupApi.py b/eg/WinApi/Dynamic/SetupApi.py index 0819435a1..0c92b1447 100644 --- a/eg/WinApi/Dynamic/SetupApi.py +++ b/eg/WinApi/Dynamic/SetupApi.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -#pylint: disable-msg=C0103,C0301,C0302 # This file gets automatically extended by ctypeslib.dynamic_module, so don't # edit it yourself. diff --git a/eg/WinApi/Dynamic/Winnetwk.py b/eg/WinApi/Dynamic/Winnetwk.py index 28c5c27b6..6343656fd 100644 --- a/eg/WinApi/Dynamic/Winnetwk.py +++ b/eg/WinApi/Dynamic/Winnetwk.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -#pylint: disable-msg=C0103,C0301,C0302 # This file gets automatically extended by ctypeslib.dynamic_module, so don't # edit it yourself. diff --git a/eg/WinApi/Dynamic/__init__.py b/eg/WinApi/Dynamic/__init__.py index 32db03ee0..5fc02f72e 100644 --- a/eg/WinApi/Dynamic/__init__.py +++ b/eg/WinApi/Dynamic/__init__.py @@ -16,13 +16,12 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -#pylint: disable-msg=C0103,C0301,C0302 # This file gets automatically extended by ctypeslib.dynamic_module, so don't # edit it yourself. -from ctypes import * #pylint: disable-msg=W0401,W0614 -from ctypes.wintypes import * #pylint: disable-msg=W0401,W0614 +from ctypes import * +from ctypes.wintypes import * import sys _user32 = WinDLL("user32") diff --git a/eg/WinApi/Utils.py b/eg/WinApi/Utils.py index 4fd735a2b..69741440a 100644 --- a/eg/WinApi/Utils.py +++ b/eg/WinApi/Utils.py @@ -245,7 +245,8 @@ def GetHwndIcon(hWnd): if value & 0x80000000: value = -((value ^ 0xffffffff) + 1) icon.SetHandle(value) - icon.SetSize((16, 16)) + icon.SetWidth(16) + icon.SetHeight(16) return icon else: return None diff --git a/eg/WinApi/__init__.py b/eg/WinApi/__init__.py index ce374e4fc..492ea0da7 100644 --- a/eg/WinApi/__init__.py +++ b/eg/WinApi/__init__.py @@ -16,20 +16,20 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -# Local imports -import Clipboard # NOQA -from cFunctions import ( # NOQA + +import Clipboard +from cFunctions import ( GetClassName, GetProcessName, GetTopLevelWindowList as _GetTopLevelWindowList, GetWindowChildsList, GetWindowText, ) -from Dynamic import ( # NOQA +from Dynamic import ( WM_COMMAND, WM_USER, ) -from Utils import ( # NOQA +from Utils import ( BestWindowFromPoint, HighlightWindow, IsWin64, @@ -40,6 +40,7 @@ PySendMessageTimeout as SendMessageTimeout, ) + def GetTopLevelWindowList(includeInvisible): """ cFunctions.GetTopLevelWindowList() may return hwnds that are a larger diff --git a/eg/WinApi/serial/__init__.py b/eg/WinApi/serial/__init__.py index 38571bbe4..753078804 100644 --- a/eg/WinApi/serial/__init__.py +++ b/eg/WinApi/serial/__init__.py @@ -5,10 +5,10 @@ # (C)2001-2002 Chris Liechti # this is distributed under a free software license, see license.txt -import os # NOQA -import string # NOQA -import sys # NOQA +import os +import string +import sys VERSION = "947" -from serialwin32 import * # NOQA +from serialwin32 import * diff --git a/eg/WinApi/wx_patches/__init__.py b/eg/WinApi/wx_patches/__init__.py deleted file mode 100644 index 6992511cb..000000000 --- a/eg/WinApi/wx_patches/__init__.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# -# This file is part of EventGhost. -# Copyright © 2005-2016 EventGhost Project -# -# EventGhost 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. -# -# EventGhost 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 EventGhost. If not, see . - - -import sys -from wx.lib.masked import NumCtrl - -_num_ctrl = NumCtrl - - -class _NumCtrl(_num_ctrl): - - def __init__(self, parent, id=-1, value=None, *args, **kwargs): - self._hold_value = value - self.SetParameters = self._set_parameters - super(_NumCtrl, self).__init__(parent, id, value, *args, **kwargs) - del self._hold_value - - def _set_parameters(self, **kwargs): - try: - self.SetValue(self._hold_value) - _num_ctrl.SetParameters(self, **kwargs) - except: - _num_ctrl.SetParameters(self, **kwargs) - self.SetValue(self._hold_value) - - self.SetParameters = _num_ctrl.SetParameters - - -sys.modules['wx.lib.masked.numctrl'].NumCtrl = _NumCtrl -sys.modules['wx.lib.masked'].NumCtrl = _NumCtrl diff --git a/eg/__init__.py b/eg/__init__.py index 24547a5e1..512797226 100644 --- a/eg/__init__.py +++ b/eg/__init__.py @@ -16,20 +16,19 @@ # You should have received a copy of the GNU General Public License along # with EventGhost. If not, see . -import stackless -import sys # the following three import are needed if we are running from source and the # Python distribution was not installed by the installer. See the following # link for details: # http://www.voidspace.org.uk/python/movpy/reference/win32ext.html#id10 -import pywintypes # NOQA -import pythoncom # NOQA -import win32api # NOQA +import pywintypes +import pythoncom +import win32api -# Local imports +import stackless +import sys import Cli -from Utils import * # NOQA +from Utils import * from Classes.WindowsVersion import WindowsVersion @@ -47,7 +46,10 @@ def __init__(self): __builtin__.eg = self def __getattr__(self, name): - mod = __import__("eg.Classes." + name, None, None, [name], 0) + try: + mod = __import__("eg.Classes." + name, None, None, [name], 0) + except ImportError: + raise ImportError("No module named eg.Classes." + name) self.__dict__[name] = attr = getattr(mod, name) return attr @@ -95,7 +97,7 @@ def Main(self): eg = DynamicModule() -# This is only here to make pylint happy. It is never really imported +# This is only here to make pylint and IDE's happy. It is never really imported if "pylint" in sys.modules: def RaiseAssignments(): pass diff --git a/lib27/site-packages/Crypto/Cipher/AES.py b/lib27/site-packages/Crypto/Cipher/AES.py new file mode 100644 index 000000000..1237a8cc6 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/AES.py @@ -0,0 +1,250 @@ +# -*- coding: utf-8 -*- +# +# Cipher/AES.py : AES +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== +""" +Module's constants for the modes of operation supported with AES: + +:var MODE_ECB: :ref:`Electronic Code Book (ECB) ` +:var MODE_CBC: :ref:`Cipher-Block Chaining (CBC) ` +:var MODE_CFB: :ref:`Cipher FeedBack (CFB) ` +:var MODE_OFB: :ref:`Output FeedBack (OFB) ` +:var MODE_CTR: :ref:`CounTer Mode (CTR) ` +:var MODE_OPENPGP: :ref:`OpenPGP Mode ` +:var MODE_CCM: :ref:`Counter with CBC-MAC (CCM) Mode ` +:var MODE_EAX: :ref:`EAX Mode ` +:var MODE_GCM: :ref:`Galois Counter Mode (GCM) ` +:var MODE_SIV: :ref:`Syntethic Initialization Vector (SIV) ` +:var MODE_OCB: :ref:`Offset Code Book (OCB) ` +""" + +import sys + +from Crypto.Cipher import _create_cipher +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + c_size_t, c_uint8_ptr) + +from Crypto.Util import _cpu_features +from Crypto.Random import get_random_bytes + + +_cproto = """ + int AES_start_operation(const uint8_t key[], + size_t key_len, + void **pResult); + int AES_encrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int AES_decrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int AES_stop_operation(void *state); + """ + + +# Load portable AES +_raw_aes_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_aes", + _cproto) + +# Try to load AES with AES NI instructions +try: + _raw_aesni_lib = None + if _cpu_features.have_aes_ni(): + _raw_aesni_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_aesni", + _cproto.replace("AES", + "AESNI")) +# _raw_aesni may not have been compiled in +except OSError: + pass + + +def _create_base_cipher(dict_parameters): + """This method instantiates and returns a handle to a low-level + base cipher. It will absorb named parameters in the process.""" + + use_aesni = dict_parameters.pop("use_aesni", True) + + try: + key = dict_parameters.pop("key") + except KeyError: + raise TypeError("Missing 'key' parameter") + + if len(key) not in key_size: + raise ValueError("Incorrect AES key length (%d bytes)" % len(key)) + + if use_aesni and _raw_aesni_lib: + start_operation = _raw_aesni_lib.AESNI_start_operation + stop_operation = _raw_aesni_lib.AESNI_stop_operation + else: + start_operation = _raw_aes_lib.AES_start_operation + stop_operation = _raw_aes_lib.AES_stop_operation + + cipher = VoidPointer() + result = start_operation(c_uint8_ptr(key), + c_size_t(len(key)), + cipher.address_of()) + if result: + raise ValueError("Error %X while instantiating the AES cipher" + % result) + return SmartPointer(cipher.get(), stop_operation) + + +def _derive_Poly1305_key_pair(key, nonce): + """Derive a tuple (r, s, nonce) for a Poly1305 MAC. + + If nonce is ``None``, a new 16-byte nonce is generated. + """ + + if len(key) != 32: + raise ValueError("Poly1305 with AES requires a 32-byte key") + + if nonce is None: + nonce = get_random_bytes(16) + elif len(nonce) != 16: + raise ValueError("Poly1305 with AES requires a 16-byte nonce") + + s = new(key[:16], MODE_ECB).encrypt(nonce) + return key[16:], s, nonce + + +def new(key, mode, *args, **kwargs): + """Create a new AES cipher. + + :param key: + The secret key to use in the symmetric cipher. + + It must be 16, 24 or 32 bytes long (respectively for *AES-128*, + *AES-192* or *AES-256*). + + For ``MODE_SIV`` only, it doubles to 32, 48, or 64 bytes. + :type key: bytes/bytearray/memoryview + + :param mode: + The chaining mode to use for encryption or decryption. + If in doubt, use ``MODE_EAX``. + :type mode: One of the supported ``MODE_*`` constants + + :Keyword Arguments: + * **iv** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``, + and ``MODE_OPENPGP`` modes). + + The initialization vector to use for encryption or decryption. + + For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 16 bytes long. + + For ``MODE_OPENPGP`` mode only, + it must be 16 bytes long for encryption + and 18 bytes for decryption (in the latter case, it is + actually the *encrypted* IV which was prefixed to the ciphertext). + + If not provided, a random byte string is generated (you must then + read its value with the :attr:`iv` attribute). + + * **nonce** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_CCM``, ``MODE_EAX``, ``MODE_GCM``, + ``MODE_SIV``, ``MODE_OCB``, and ``MODE_CTR``). + + A value that must never be reused for any other encryption done + with this key (except possibly for ``MODE_SIV``, see below). + + For ``MODE_EAX``, ``MODE_GCM`` and ``MODE_SIV`` there are no + restrictions on its length (recommended: **16** bytes). + + For ``MODE_CCM``, its length must be in the range **[7..13]**. + Bear in mind that with CCM there is a trade-off between nonce + length and maximum message size. Recommendation: **11** bytes. + + For ``MODE_OCB``, its length must be in the range **[1..15]** + (recommended: **15**). + + For ``MODE_CTR``, its length must be in the range **[0..15]** + (recommended: **8**). + + For ``MODE_SIV``, the nonce is optional, if it is not specified, + then no nonce is being used, which renders the encryption + deterministic. + + If not provided, for modes other than ``MODE_SIV```, a random + byte string of the recommended length is used (you must then + read its value with the :attr:`nonce` attribute). + + * **segment_size** (*integer*) -- + (Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext + are segmented in. It must be a multiple of 8. + If not specified, it will be assumed to be 8. + + * **mac_len** : (*integer*) -- + (Only ``MODE_EAX``, ``MODE_GCM``, ``MODE_OCB``, ``MODE_CCM``) + Length of the authentication tag, in bytes. + + It must be even and in the range **[4..16]**. + The recommended value (and the default, if not specified) is **16**. + + * **msg_len** : (*integer*) -- + (Only ``MODE_CCM``). Length of the message to (de)cipher. + If not specified, ``encrypt`` must be called with the entire message. + Similarly, ``decrypt`` can only be called once. + + * **assoc_len** : (*integer*) -- + (Only ``MODE_CCM``). Length of the associated data. + If not specified, all associated data is buffered internally, + which may represent a problem for very large messages. + + * **initial_value** : (*integer* or *bytes/bytearray/memoryview*) -- + (Only ``MODE_CTR``). + The initial value for the counter. If not present, the cipher will + start counting from 0. The value is incremented by one for each block. + The counter number is encoded in big endian mode. + + * **counter** : (*object*) -- + Instance of ``Crypto.Util.Counter``, which allows full customization + of the counter block. This parameter is incompatible to both ``nonce`` + and ``initial_value``. + + * **use_aesni** : (*boolean*) -- + Use Intel AES-NI hardware extensions (default: use if available). + + :Return: an AES object, of the applicable mode. + """ + + kwargs["add_aes_modes"] = True + return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs) + + +MODE_ECB = 1 +MODE_CBC = 2 +MODE_CFB = 3 +MODE_OFB = 5 +MODE_CTR = 6 +MODE_OPENPGP = 7 +MODE_CCM = 8 +MODE_EAX = 9 +MODE_SIV = 10 +MODE_GCM = 11 +MODE_OCB = 12 + +# Size of a data block (in bytes) +block_size = 16 +# Size of a key (in bytes) +key_size = (16, 24, 32) diff --git a/lib27/site-packages/Crypto/Cipher/AES.pyi b/lib27/site-packages/Crypto/Cipher/AES.pyi new file mode 100644 index 000000000..8f655cf60 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/AES.pyi @@ -0,0 +1,47 @@ +from typing import Union, Tuple, Optional, Dict + +from Crypto.Cipher._mode_ecb import EcbMode +from Crypto.Cipher._mode_cbc import CbcMode +from Crypto.Cipher._mode_cfb import CfbMode +from Crypto.Cipher._mode_ofb import OfbMode +from Crypto.Cipher._mode_ctr import CtrMode +from Crypto.Cipher._mode_openpgp import OpenPgpMode +from Crypto.Cipher._mode_ccm import CcmMode +from Crypto.Cipher._mode_eax import EaxMode +from Crypto.Cipher._mode_gcm import GcmMode +from Crypto.Cipher._mode_siv import SivMode +from Crypto.Cipher._mode_ocb import OcbMode + +AESMode = int + +MODE_ECB: AESMode +MODE_CBC: AESMode +MODE_CFB: AESMode +MODE_OFB: AESMode +MODE_CTR: AESMode +MODE_OPENPGP: AESMode +MODE_CCM: AESMode +MODE_EAX: AESMode +MODE_GCM: AESMode +MODE_SIV: AESMode +MODE_OCB: AESMode + +Buffer = Union[bytes, bytearray, memoryview] + +def new(key: Buffer, + mode: AESMode, + iv : Buffer = ..., + IV : Buffer = ..., + nonce : Buffer = ..., + segment_size : int = ..., + mac_len : int = ..., + assoc_len : int = ..., + initial_value : Union[int, Buffer] = ..., + counter : Dict = ..., + use_aesni : bool = ...) -> \ + Union[EcbMode, CbcMode, CfbMode, OfbMode, CtrMode, + OpenPgpMode, CcmMode, EaxMode, GcmMode, + SivMode, OcbMode]: ... + +block_size: int +key_size: Tuple[int, int, int] diff --git a/lib27/site-packages/Crypto/Cipher/ARC2.py b/lib27/site-packages/Crypto/Cipher/ARC2.py new file mode 100644 index 000000000..61bbe7201 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ARC2.py @@ -0,0 +1,168 @@ +# -*- coding: utf-8 -*- +# +# Cipher/ARC2.py : ARC2.py +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== +""" +Module's constants for the modes of operation supported with ARC2: + +:var MODE_ECB: :ref:`Electronic Code Book (ECB) ` +:var MODE_CBC: :ref:`Cipher-Block Chaining (CBC) ` +:var MODE_CFB: :ref:`Cipher FeedBack (CFB) ` +:var MODE_OFB: :ref:`Output FeedBack (OFB) ` +:var MODE_CTR: :ref:`CounTer Mode (CTR) ` +:var MODE_OPENPGP: :ref:`OpenPGP Mode ` +:var MODE_EAX: :ref:`EAX Mode ` +""" + +import sys + +from Crypto.Cipher import _create_cipher +from Crypto.Util.py3compat import byte_string +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + c_size_t, c_uint8_ptr) + +_raw_arc2_lib = load_pycryptodome_raw_lib( + "Crypto.Cipher._raw_arc2", + """ + int ARC2_start_operation(const uint8_t key[], + size_t key_len, + size_t effective_key_len, + void **pResult); + int ARC2_encrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int ARC2_decrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int ARC2_stop_operation(void *state); + """ + ) + + +def _create_base_cipher(dict_parameters): + """This method instantiates and returns a handle to a low-level + base cipher. It will absorb named parameters in the process.""" + + try: + key = dict_parameters.pop("key") + except KeyError: + raise TypeError("Missing 'key' parameter") + + effective_keylen = dict_parameters.pop("effective_keylen", 1024) + + if len(key) not in key_size: + raise ValueError("Incorrect ARC2 key length (%d bytes)" % len(key)) + + if not (40 < effective_keylen <= 1024): + raise ValueError("'effective_key_len' must be no larger than 1024 " + "(not %d)" % effective_keylen) + + start_operation = _raw_arc2_lib.ARC2_start_operation + stop_operation = _raw_arc2_lib.ARC2_stop_operation + + cipher = VoidPointer() + result = start_operation(c_uint8_ptr(key), + c_size_t(len(key)), + c_size_t(effective_keylen), + cipher.address_of()) + if result: + raise ValueError("Error %X while instantiating the ARC2 cipher" + % result) + + return SmartPointer(cipher.get(), stop_operation) + + +def new(key, mode, *args, **kwargs): + """Create a new RC2 cipher. + + :param key: + The secret key to use in the symmetric cipher. + Its length can vary from 5 to 128 bytes. + :type key: bytes, bytearray, memoryview + + :param mode: + The chaining mode to use for encryption or decryption. + :type mode: One of the supported ``MODE_*`` constants + + :Keyword Arguments: + * **iv** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``, + and ``MODE_OPENPGP`` modes). + + The initialization vector to use for encryption or decryption. + + For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 8 bytes long. + + For ``MODE_OPENPGP`` mode only, + it must be 8 bytes long for encryption + and 10 bytes for decryption (in the latter case, it is + actually the *encrypted* IV which was prefixed to the ciphertext). + + If not provided, a random byte string is generated (you must then + read its value with the :attr:`iv` attribute). + + * **nonce** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_EAX`` and ``MODE_CTR``). + + A value that must never be reused for any other encryption done + with this key. + + For ``MODE_EAX`` there are no + restrictions on its length (recommended: **16** bytes). + + For ``MODE_CTR``, its length must be in the range **[0..7]**. + + If not provided for ``MODE_EAX``, a random byte string is generated (you + can read it back via the ``nonce`` attribute). + + * **segment_size** (*integer*) -- + (Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext + are segmented in. It must be a multiple of 8. + If not specified, it will be assumed to be 8. + + * **mac_len** : (*integer*) -- + (Only ``MODE_EAX``) + Length of the authentication tag, in bytes. + It must be no longer than 8 (default). + + * **initial_value** : (*integer*) -- + (Only ``MODE_CTR``). The initial value for the counter within + the counter block. By default it is **0**. + + :Return: an ARC2 object, of the applicable mode. + """ + + return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs) + +MODE_ECB = 1 +MODE_CBC = 2 +MODE_CFB = 3 +MODE_OFB = 5 +MODE_CTR = 6 +MODE_OPENPGP = 7 +MODE_EAX = 9 + +# Size of a data block (in bytes) +block_size = 8 +# Size of a key (in bytes) +key_size = range(5, 128 + 1) diff --git a/lib27/site-packages/Crypto/Cipher/ARC2.pyi b/lib27/site-packages/Crypto/Cipher/ARC2.pyi new file mode 100644 index 000000000..055c4240d --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ARC2.pyi @@ -0,0 +1,35 @@ +from typing import Union, Dict, Iterable + +from Crypto.Cipher._mode_ecb import EcbMode +from Crypto.Cipher._mode_cbc import CbcMode +from Crypto.Cipher._mode_cfb import CfbMode +from Crypto.Cipher._mode_ofb import OfbMode +from Crypto.Cipher._mode_ctr import CtrMode +from Crypto.Cipher._mode_openpgp import OpenPgpMode +from Crypto.Cipher._mode_eax import EaxMode + +ARC2Mode = int + +MODE_ECB: ARC2Mode +MODE_CBC: ARC2Mode +MODE_CFB: ARC2Mode +MODE_OFB: ARC2Mode +MODE_CTR: ARC2Mode +MODE_OPENPGP: ARC2Mode +MODE_EAX: ARC2Mode + +Buffer = Union[bytes, bytearray, memoryview] + +def new(key: Buffer, + mode: ARC2Mode, + iv : Buffer = ..., + IV : Buffer = ..., + nonce : Buffer = ..., + segment_size : int = ..., + mac_len : int = ..., + initial_value : Union[int, Buffer] = ..., + counter : Dict = ...) -> \ + Union[EcbMode, CbcMode, CfbMode, OfbMode, CtrMode, OpenPgpMode]: ... + +block_size: int +key_size: Iterable[int] diff --git a/lib27/site-packages/Crypto/Cipher/ARC4.py b/lib27/site-packages/Crypto/Cipher/ARC4.py new file mode 100644 index 000000000..7150ea6e9 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ARC4.py @@ -0,0 +1,137 @@ +# -*- coding: utf-8 -*- +# +# Cipher/ARC4.py : ARC4 +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import b + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, VoidPointer, + create_string_buffer, get_raw_buffer, + SmartPointer, c_size_t, c_uint8_ptr) + + +_raw_arc4_lib = load_pycryptodome_raw_lib("Crypto.Cipher._ARC4", """ + int ARC4_stream_encrypt(void *rc4State, const uint8_t in[], + uint8_t out[], size_t len); + int ARC4_stream_init(uint8_t *key, size_t keylen, + void **pRc4State); + int ARC4_stream_destroy(void *rc4State); + """) + + +class ARC4Cipher: + """ARC4 cipher object. Do not create it directly. Use + :func:`Crypto.Cipher.ARC4.new` instead. + """ + + def __init__(self, key, *args, **kwargs): + """Initialize an ARC4 cipher object + + See also `new()` at the module level.""" + + if len(args) > 0: + ndrop = args[0] + args = args[1:] + else: + ndrop = kwargs.pop('drop', 0) + + if len(key) not in key_size: + raise ValueError("Incorrect ARC4 key length (%d bytes)" % + len(key)) + + self._state = VoidPointer() + result = _raw_arc4_lib.ARC4_stream_init(c_uint8_ptr(key), + c_size_t(len(key)), + self._state.address_of()) + if result != 0: + raise ValueError("Error %d while creating the ARC4 cipher" + % result) + self._state = SmartPointer(self._state.get(), + _raw_arc4_lib.ARC4_stream_destroy) + + if ndrop > 0: + # This is OK even if the cipher is used for decryption, + # since encrypt and decrypt are actually the same thing + # with ARC4. + self.encrypt(b'\x00' * ndrop) + + self.block_size = 1 + self.key_size = len(key) + + def encrypt(self, plaintext): + """Encrypt a piece of data. + + :param plaintext: The data to encrypt, of any size. + :type plaintext: bytes, bytearray, memoryview + :returns: the encrypted byte string, of equal length as the + plaintext. + """ + + ciphertext = create_string_buffer(len(plaintext)) + result = _raw_arc4_lib.ARC4_stream_encrypt(self._state.get(), + c_uint8_ptr(plaintext), + ciphertext, + c_size_t(len(plaintext))) + if result: + raise ValueError("Error %d while encrypting with RC4" % result) + return get_raw_buffer(ciphertext) + + def decrypt(self, ciphertext): + """Decrypt a piece of data. + + :param ciphertext: The data to decrypt, of any size. + :type ciphertext: bytes, bytearray, memoryview + :returns: the decrypted byte string, of equal length as the + ciphertext. + """ + + try: + return self.encrypt(ciphertext) + except ValueError as e: + raise ValueError(str(e).replace("enc", "dec")) + + +def new(key, *args, **kwargs): + """Create a new ARC4 cipher. + + :param key: + The secret key to use in the symmetric cipher. + Its length must be in the range ``[5..256]``. + The recommended length is 16 bytes. + :type key: bytes, bytearray, memoryview + + :Keyword Arguments: + * *drop* (``integer``) -- + The amount of bytes to discard from the initial part of the keystream. + In fact, such part has been found to be distinguishable from random + data (while it shouldn't) and also correlated to key. + + The recommended value is 3072_ bytes. The default value is 0. + + :Return: an `ARC4Cipher` object + + .. _3072: http://eprint.iacr.org/2002/067.pdf + """ + return ARC4Cipher(key, *args, **kwargs) + +# Size of a data block (in bytes) +block_size = 1 +# Size of a key (in bytes) +key_size = range(5, 256+1) diff --git a/lib27/site-packages/Crypto/Cipher/ARC4.pyi b/lib27/site-packages/Crypto/Cipher/ARC4.pyi new file mode 100644 index 000000000..2e75d6f8a --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ARC4.pyi @@ -0,0 +1,16 @@ +from typing import Any, Union, Iterable + +Buffer = Union[bytes, bytearray, memoryview] + +class ARC4Cipher: + block_size: int + key_size: int + + def __init__(self, key: Buffer, *args: Any, **kwargs: Any) -> None: ... + def encrypt(self, plaintext: Buffer) -> bytes: ... + def decrypt(self, ciphertext: Buffer) -> bytes: ... + +def new(key: Buffer, drop : int = ...) -> ARC4Cipher: ... + +block_size: int +key_size: Iterable[int] diff --git a/lib27/site-packages/Crypto/Cipher/Blowfish.py b/lib27/site-packages/Crypto/Cipher/Blowfish.py new file mode 100644 index 000000000..2c0dd5603 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/Blowfish.py @@ -0,0 +1,159 @@ +# -*- coding: utf-8 -*- +# +# Cipher/Blowfish.py : Blowfish +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== +""" +Module's constants for the modes of operation supported with Blowfish: + +:var MODE_ECB: :ref:`Electronic Code Book (ECB) ` +:var MODE_CBC: :ref:`Cipher-Block Chaining (CBC) ` +:var MODE_CFB: :ref:`Cipher FeedBack (CFB) ` +:var MODE_OFB: :ref:`Output FeedBack (OFB) ` +:var MODE_CTR: :ref:`CounTer Mode (CTR) ` +:var MODE_OPENPGP: :ref:`OpenPGP Mode ` +:var MODE_EAX: :ref:`EAX Mode ` +""" + +import sys + +from Crypto.Cipher import _create_cipher +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, c_size_t, + c_uint8_ptr) + +_raw_blowfish_lib = load_pycryptodome_raw_lib( + "Crypto.Cipher._raw_blowfish", + """ + int Blowfish_start_operation(const uint8_t key[], + size_t key_len, + void **pResult); + int Blowfish_encrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int Blowfish_decrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int Blowfish_stop_operation(void *state); + """ + ) + + +def _create_base_cipher(dict_parameters): + """This method instantiates and returns a smart pointer to + a low-level base cipher. It will absorb named parameters in + the process.""" + + try: + key = dict_parameters.pop("key") + except KeyError: + raise TypeError("Missing 'key' parameter") + + if len(key) not in key_size: + raise ValueError("Incorrect Blowfish key length (%d bytes)" % len(key)) + + start_operation = _raw_blowfish_lib.Blowfish_start_operation + stop_operation = _raw_blowfish_lib.Blowfish_stop_operation + + void_p = VoidPointer() + result = start_operation(c_uint8_ptr(key), + c_size_t(len(key)), + void_p.address_of()) + if result: + raise ValueError("Error %X while instantiating the Blowfish cipher" + % result) + return SmartPointer(void_p.get(), stop_operation) + + +def new(key, mode, *args, **kwargs): + """Create a new Blowfish cipher + + :param key: + The secret key to use in the symmetric cipher. + Its length can vary from 5 to 56 bytes. + :type key: bytes, bytearray, memoryview + + :param mode: + The chaining mode to use for encryption or decryption. + :type mode: One of the supported ``MODE_*`` constants + + :Keyword Arguments: + * **iv** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``, + and ``MODE_OPENPGP`` modes). + + The initialization vector to use for encryption or decryption. + + For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 8 bytes long. + + For ``MODE_OPENPGP`` mode only, + it must be 8 bytes long for encryption + and 10 bytes for decryption (in the latter case, it is + actually the *encrypted* IV which was prefixed to the ciphertext). + + If not provided, a random byte string is generated (you must then + read its value with the :attr:`iv` attribute). + + * **nonce** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_EAX`` and ``MODE_CTR``). + + A value that must never be reused for any other encryption done + with this key. + + For ``MODE_EAX`` there are no + restrictions on its length (recommended: **16** bytes). + + For ``MODE_CTR``, its length must be in the range **[0..7]**. + + If not provided for ``MODE_EAX``, a random byte string is generated (you + can read it back via the ``nonce`` attribute). + + * **segment_size** (*integer*) -- + (Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext + are segmented in. It must be a multiple of 8. + If not specified, it will be assumed to be 8. + + * **mac_len** : (*integer*) -- + (Only ``MODE_EAX``) + Length of the authentication tag, in bytes. + It must be no longer than 8 (default). + + * **initial_value** : (*integer*) -- + (Only ``MODE_CTR``). The initial value for the counter within + the counter block. By default it is **0**. + + :Return: a Blowfish object, of the applicable mode. + """ + + return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs) + +MODE_ECB = 1 +MODE_CBC = 2 +MODE_CFB = 3 +MODE_OFB = 5 +MODE_CTR = 6 +MODE_OPENPGP = 7 +MODE_EAX = 9 + +# Size of a data block (in bytes) +block_size = 8 +# Size of a key (in bytes) +key_size = range(5, 56 + 1) diff --git a/lib27/site-packages/Crypto/Cipher/Blowfish.pyi b/lib27/site-packages/Crypto/Cipher/Blowfish.pyi new file mode 100644 index 000000000..eff9da9cf --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/Blowfish.pyi @@ -0,0 +1,35 @@ +from typing import Union, Dict, Iterable + +from Crypto.Cipher._mode_ecb import EcbMode +from Crypto.Cipher._mode_cbc import CbcMode +from Crypto.Cipher._mode_cfb import CfbMode +from Crypto.Cipher._mode_ofb import OfbMode +from Crypto.Cipher._mode_ctr import CtrMode +from Crypto.Cipher._mode_openpgp import OpenPgpMode +from Crypto.Cipher._mode_eax import EaxMode + +BlowfishMode = int + +MODE_ECB: BlowfishMode +MODE_CBC: BlowfishMode +MODE_CFB: BlowfishMode +MODE_OFB: BlowfishMode +MODE_CTR: BlowfishMode +MODE_OPENPGP: BlowfishMode +MODE_EAX: BlowfishMode + +Buffer = Union[bytes, bytearray, memoryview] + +def new(key: Buffer, + mode: BlowfishMode, + iv : Buffer = ..., + IV : Buffer = ..., + nonce : Buffer = ..., + segment_size : int = ..., + mac_len : int = ..., + initial_value : Union[int, Buffer] = ..., + counter : Dict = ...) -> \ + Union[EcbMode, CbcMode, CfbMode, OfbMode, CtrMode, OpenPgpMode]: ... + +block_size: int +key_size: Iterable[int] diff --git a/lib27/site-packages/Crypto/Cipher/CAST.py b/lib27/site-packages/Crypto/Cipher/CAST.py new file mode 100644 index 000000000..c7e82c1c7 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/CAST.py @@ -0,0 +1,159 @@ +# -*- coding: utf-8 -*- +# +# Cipher/CAST.py : CAST +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== +""" +Module's constants for the modes of operation supported with CAST: + +:var MODE_ECB: :ref:`Electronic Code Book (ECB) ` +:var MODE_CBC: :ref:`Cipher-Block Chaining (CBC) ` +:var MODE_CFB: :ref:`Cipher FeedBack (CFB) ` +:var MODE_OFB: :ref:`Output FeedBack (OFB) ` +:var MODE_CTR: :ref:`CounTer Mode (CTR) ` +:var MODE_OPENPGP: :ref:`OpenPGP Mode ` +:var MODE_EAX: :ref:`EAX Mode ` +""" + +import sys + +from Crypto.Cipher import _create_cipher +from Crypto.Util.py3compat import byte_string +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + c_size_t, c_uint8_ptr) + +_raw_cast_lib = load_pycryptodome_raw_lib( + "Crypto.Cipher._raw_cast", + """ + int CAST_start_operation(const uint8_t key[], + size_t key_len, + void **pResult); + int CAST_encrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CAST_decrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CAST_stop_operation(void *state); + """) + + +def _create_base_cipher(dict_parameters): + """This method instantiates and returns a handle to a low-level + base cipher. It will absorb named parameters in the process.""" + + try: + key = dict_parameters.pop("key") + except KeyError: + raise TypeError("Missing 'key' parameter") + + if len(key) not in key_size: + raise ValueError("Incorrect CAST key length (%d bytes)" % len(key)) + + start_operation = _raw_cast_lib.CAST_start_operation + stop_operation = _raw_cast_lib.CAST_stop_operation + + cipher = VoidPointer() + result = start_operation(c_uint8_ptr(key), + c_size_t(len(key)), + cipher.address_of()) + if result: + raise ValueError("Error %X while instantiating the CAST cipher" + % result) + + return SmartPointer(cipher.get(), stop_operation) + + +def new(key, mode, *args, **kwargs): + """Create a new CAST cipher + + :param key: + The secret key to use in the symmetric cipher. + Its length can vary from 5 to 16 bytes. + :type key: bytes, bytearray, memoryview + + :param mode: + The chaining mode to use for encryption or decryption. + :type mode: One of the supported ``MODE_*`` constants + + :Keyword Arguments: + * **iv** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``, + and ``MODE_OPENPGP`` modes). + + The initialization vector to use for encryption or decryption. + + For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 8 bytes long. + + For ``MODE_OPENPGP`` mode only, + it must be 8 bytes long for encryption + and 10 bytes for decryption (in the latter case, it is + actually the *encrypted* IV which was prefixed to the ciphertext). + + If not provided, a random byte string is generated (you must then + read its value with the :attr:`iv` attribute). + + * **nonce** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_EAX`` and ``MODE_CTR``). + + A value that must never be reused for any other encryption done + with this key. + + For ``MODE_EAX`` there are no + restrictions on its length (recommended: **16** bytes). + + For ``MODE_CTR``, its length must be in the range **[0..7]**. + + If not provided for ``MODE_EAX``, a random byte string is generated (you + can read it back via the ``nonce`` attribute). + + * **segment_size** (*integer*) -- + (Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext + are segmented in. It must be a multiple of 8. + If not specified, it will be assumed to be 8. + + * **mac_len** : (*integer*) -- + (Only ``MODE_EAX``) + Length of the authentication tag, in bytes. + It must be no longer than 8 (default). + + * **initial_value** : (*integer*) -- + (Only ``MODE_CTR``). The initial value for the counter within + the counter block. By default it is **0**. + + :Return: a CAST object, of the applicable mode. + """ + + return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs) + +MODE_ECB = 1 +MODE_CBC = 2 +MODE_CFB = 3 +MODE_OFB = 5 +MODE_CTR = 6 +MODE_OPENPGP = 7 +MODE_EAX = 9 + +# Size of a data block (in bytes) +block_size = 8 +# Size of a key (in bytes) +key_size = range(5, 16 + 1) diff --git a/lib27/site-packages/Crypto/Cipher/CAST.pyi b/lib27/site-packages/Crypto/Cipher/CAST.pyi new file mode 100644 index 000000000..a0cb6af3d --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/CAST.pyi @@ -0,0 +1,35 @@ +from typing import Union, Dict, Iterable + +from Crypto.Cipher._mode_ecb import EcbMode +from Crypto.Cipher._mode_cbc import CbcMode +from Crypto.Cipher._mode_cfb import CfbMode +from Crypto.Cipher._mode_ofb import OfbMode +from Crypto.Cipher._mode_ctr import CtrMode +from Crypto.Cipher._mode_openpgp import OpenPgpMode +from Crypto.Cipher._mode_eax import EaxMode + +CASTMode = int + +MODE_ECB: CASTMode +MODE_CBC: CASTMode +MODE_CFB: CASTMode +MODE_OFB: CASTMode +MODE_CTR: CASTMode +MODE_OPENPGP: CASTMode +MODE_EAX: CASTMode + +Buffer = Union[bytes, bytearray, memoryview] + +def new(key: Buffer, + mode: CASTMode, + iv : Buffer = ..., + IV : Buffer = ..., + nonce : Buffer = ..., + segment_size : int = ..., + mac_len : int = ..., + initial_value : Union[int, Buffer] = ..., + counter : Dict = ...) -> \ + Union[EcbMode, CbcMode, CfbMode, OfbMode, CtrMode, OpenPgpMode]: ... + +block_size: int +key_size : Iterable[int] diff --git a/lib27/site-packages/Crypto/Cipher/ChaCha20.py b/lib27/site-packages/Crypto/Cipher/ChaCha20.py new file mode 100644 index 000000000..c5c3de8dd --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ChaCha20.py @@ -0,0 +1,250 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Random import get_random_bytes + +from Crypto.Util.py3compat import _copy_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + create_string_buffer, + get_raw_buffer, VoidPointer, + SmartPointer, c_size_t, + c_uint8_ptr, c_ulong, + is_writeable_buffer) + +_raw_chacha20_lib = load_pycryptodome_raw_lib("Crypto.Cipher._chacha20", + """ + int chacha20_init(void **pState, + const uint8_t *key, + size_t keySize, + const uint8_t *nonce, + size_t nonceSize); + + int chacha20_destroy(void *state); + + int chacha20_encrypt(void *state, + const uint8_t in[], + uint8_t out[], + size_t len); + + int chacha20_seek(void *state, + unsigned long block_high, + unsigned long block_low, + unsigned offset); + """) + + +class ChaCha20Cipher(object): + """ChaCha20 cipher object. Do not create it directly. Use :py:func:`new` instead. + + :var nonce: The nonce with length 8 or 12 + :vartype nonce: bytes + """ + + block_size = 1 + + def __init__(self, key, nonce): + """Initialize a ChaCha20 cipher object + + See also `new()` at the module level.""" + + self.nonce = _copy_bytes(None, None, nonce) + + self._next = ( self.encrypt, self.decrypt ) + self._state = VoidPointer() + result = _raw_chacha20_lib.chacha20_init( + self._state.address_of(), + c_uint8_ptr(key), + c_size_t(len(key)), + self.nonce, + c_size_t(len(nonce))) + if result: + raise ValueError("Error %d instantiating a ChaCha20 cipher") + self._state = SmartPointer(self._state.get(), + _raw_chacha20_lib.chacha20_destroy) + + def encrypt(self, plaintext, output=None): + """Encrypt a piece of data. + + Args: + plaintext(bytes/bytearray/memoryview): The data to encrypt, of any size. + Keyword Args: + output(bytes/bytearray/memoryview): The location where the ciphertext + is written to. If ``None``, the ciphertext is returned. + Returns: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("Cipher object can only be used for decryption") + self._next = ( self.encrypt, ) + return self._encrypt(plaintext, output) + + def _encrypt(self, plaintext, output): + """Encrypt without FSM checks""" + + if output is None: + ciphertext = create_string_buffer(len(plaintext)) + else: + ciphertext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(plaintext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = _raw_chacha20_lib.chacha20_encrypt( + self._state.get(), + c_uint8_ptr(plaintext), + c_uint8_ptr(ciphertext), + c_size_t(len(plaintext))) + if result: + raise ValueError("Error %d while encrypting with ChaCha20" % result) + + if output is None: + return get_raw_buffer(ciphertext) + else: + return None + + def decrypt(self, ciphertext, output=None): + """Decrypt a piece of data. + + Args: + ciphertext(bytes/bytearray/memoryview): The data to decrypt, of any size. + Keyword Args: + output(bytes/bytearray/memoryview): The location where the plaintext + is written to. If ``None``, the plaintext is returned. + Returns: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("Cipher object can only be used for encryption") + self._next = ( self.decrypt, ) + + try: + return self._encrypt(ciphertext, output) + except ValueError as e: + raise ValueError(str(e).replace("enc", "dec")) + + def seek(self, position): + """Seek to a certain position in the key stream. + + Args: + position (integer): + The absolute position within the key stream, in bytes. + """ + + position, offset = divmod(position, 64) + block_low = position & 0xFFFFFFFF + block_high = position >> 32 + + result = _raw_chacha20_lib.chacha20_seek( + self._state.get(), + c_ulong(block_high), + c_ulong(block_low), + offset + ) + if result: + raise ValueError("Error %d while seeking with ChaCha20" % result) + + +def _derive_Poly1305_key_pair(key, nonce): + """Derive a tuple (r, s, nonce) for a Poly1305 MAC. + + If nonce is ``None``, a new 12-byte nonce is generated. + """ + + if len(key) != 32: + raise ValueError("Poly1305 with ChaCha20 requires a 32-byte key") + + if nonce is None: + padded_nonce = nonce = get_random_bytes(12) + elif len(nonce) == 8: + # See RFC7538, 2.6: [...] ChaCha20 as specified here requires a 96-bit + # nonce. So if the provided nonce is only 64-bit, then the first 32 + # bits of the nonce will be set to a constant number. + # This will usually be zero, but for protocols with multiple senders it may be + # different for each sender, but should be the same for all + # invocations of the function with the same key by a particular + # sender. + padded_nonce = b'\x00\x00\x00\x00' + nonce + elif len(nonce) == 12: + padded_nonce = nonce + else: + raise ValueError("Poly1305 with ChaCha20 requires an 8- or 12-byte nonce") + + rs = new(key=key, nonce=padded_nonce).encrypt(b'\x00' * 32) + return rs[:16], rs[16:], nonce + + +def new(**kwargs): + """Create a new ChaCha20 cipher + + Keyword Args: + key (bytes/bytearray/memoryview): The secret key to use. + It must be 32 bytes long. + nonce (bytes/bytearray/memoryview): A mandatory value that + must never be reused for any other encryption + done with this key. It must be 8 or 12 bytes long. + + If not provided, 8 bytes will be randomly generated + (you can find them back in the ``nonce`` attribute). + + :Return: a :class:`Crypto.Cipher.ChaCha20.ChaCha20Cipher` object + """ + + try: + key = kwargs.pop("key") + except KeyError as e: + raise TypeError("Missing parameter %s" % e) + + nonce = kwargs.pop("nonce", None) + if nonce is None: + nonce = get_random_bytes(8) + + if len(key) != 32: + raise ValueError("ChaCha20 key must be 32 bytes long") + if len(nonce) not in (8, 12): + raise ValueError("ChaCha20 nonce must be 8 or 12 bytes long") + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return ChaCha20Cipher(key, nonce) + +# Size of a data block (in bytes) +block_size = 1 + +# Size of a key (in bytes) +key_size = 32 diff --git a/lib27/site-packages/Crypto/Cipher/ChaCha20.pyi b/lib27/site-packages/Crypto/Cipher/ChaCha20.pyi new file mode 100644 index 000000000..b8f0408ce --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ChaCha20.pyi @@ -0,0 +1,23 @@ +from typing import Union, overload + +Buffer = Union[bytes, bytearray, memoryview] + +class ChaCha20Cipher: + block_size: int + nonce: bytes + + def __init__(self, key: Buffer, nonce: Buffer) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + def seek(self, position: int) -> None: ... + +def new(__key: Buffer, nonce: Buffer = ...) -> ChaCha20Cipher: ... + +block_size: int +key_size: int diff --git a/lib27/site-packages/Crypto/Cipher/ChaCha20_Poly1305.py b/lib27/site-packages/Crypto/Cipher/ChaCha20_Poly1305.py new file mode 100644 index 000000000..9c47cf5f4 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ChaCha20_Poly1305.py @@ -0,0 +1,326 @@ +# =================================================================== +# +# Copyright (c) 2018, Helder Eijs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from binascii import unhexlify + +from Crypto.Cipher import ChaCha20 +from Crypto.Hash import Poly1305, BLAKE2s + +from Crypto.Random import get_random_bytes + +from Crypto.Util.number import long_to_bytes +from Crypto.Util.py3compat import _copy_bytes, bord +from Crypto.Util._raw_api import is_buffer + + +def _enum(**enums): + return type('Enum', (), enums) + + +_CipherStatus = _enum(PROCESSING_AUTH_DATA=1, + PROCESSING_CIPHERTEXT=2, + PROCESSING_DONE=3) + + +class ChaCha20Poly1305Cipher(object): + """ChaCha20-Poly1305 cipher object. + Do not create it directly. Use :py:func:`new` instead. + + :var nonce: The nonce with length 8 or 12 bytes + :vartype nonce: byte string + """ + + def __init__(self, key, nonce): + """Initialize a ChaCha20-Poly1305 AEAD cipher object + + See also `new()` at the module level.""" + + self.nonce = _copy_bytes(None, None, nonce) + + self._next = (self.update, self.encrypt, self.decrypt, self.digest, + self.verify) + + self._authenticator = Poly1305.new(key=key, nonce=nonce, cipher=ChaCha20) + + self._cipher = ChaCha20.new(key=key, nonce=nonce) + self._cipher.seek(64) # Block counter starts at 1 + + self._len_aad = 0 + self._len_ct = 0 + self._mac_tag = None + self._status = _CipherStatus.PROCESSING_AUTH_DATA + + def update(self, data): + """Protect the associated data. + + Associated data (also known as *additional authenticated data* - AAD) + is the piece of the message that must stay in the clear, while + still allowing the receiver to verify its integrity. + An example is packet headers. + + The associated data (possibly split into multiple segments) is + fed into :meth:`update` before any call to :meth:`decrypt` or :meth:`encrypt`. + If there is no associated data, :meth:`update` is not called. + + :param bytes/bytearray/memoryview assoc_data: + A piece of associated data. There are no restrictions on its size. + """ + + if self.update not in self._next: + raise TypeError("update() method cannot be called") + + self._len_aad += len(data) + self._authenticator.update(data) + + def _pad_aad(self): + + assert(self._status == _CipherStatus.PROCESSING_AUTH_DATA) + if self._len_aad & 0x0F: + self._authenticator.update(b'\x00' * (16 - (self._len_aad & 0x0F))) + self._status = _CipherStatus.PROCESSING_CIPHERTEXT + + def encrypt(self, plaintext, output=None): + """Encrypt a piece of data. + + Args: + plaintext(bytes/bytearray/memoryview): The data to encrypt, of any size. + Keyword Args: + output(bytes/bytearray/memoryview): The location where the ciphertext + is written to. If ``None``, the ciphertext is returned. + Returns: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() method cannot be called") + + if self._status == _CipherStatus.PROCESSING_AUTH_DATA: + self._pad_aad() + + self._next = (self.encrypt, self.digest) + + result = self._cipher.encrypt(plaintext, output=output) + self._len_ct += len(plaintext) + if output is None: + self._authenticator.update(result) + else: + self._authenticator.update(output) + return result + + def decrypt(self, ciphertext, output=None): + """Decrypt a piece of data. + + Args: + ciphertext(bytes/bytearray/memoryview): The data to decrypt, of any size. + Keyword Args: + output(bytes/bytearray/memoryview): The location where the plaintext + is written to. If ``None``, the plaintext is returned. + Returns: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() method cannot be called") + + if self._status == _CipherStatus.PROCESSING_AUTH_DATA: + self._pad_aad() + + self._next = (self.decrypt, self.verify) + + self._len_ct += len(ciphertext) + self._authenticator.update(ciphertext) + return self._cipher.decrypt(ciphertext, output=output) + + def _compute_mac(self): + """Finalize the cipher (if not done already) and return the MAC.""" + + if self._mac_tag: + assert(self._status == _CipherStatus.PROCESSING_DONE) + return self._mac_tag + + assert(self._status != _CipherStatus.PROCESSING_DONE) + + if self._status == _CipherStatus.PROCESSING_AUTH_DATA: + self._pad_aad() + + if self._len_ct & 0x0F: + self._authenticator.update(b'\x00' * (16 - (self._len_ct & 0x0F))) + + self._status = _CipherStatus.PROCESSING_DONE + + self._authenticator.update(long_to_bytes(self._len_aad, 8)[::-1]) + self._authenticator.update(long_to_bytes(self._len_ct, 8)[::-1]) + self._mac_tag = self._authenticator.digest() + return self._mac_tag + + def digest(self): + """Compute the *binary* authentication tag (MAC). + + :Return: the MAC tag, as 16 ``bytes``. + """ + + if self.digest not in self._next: + raise TypeError("digest() method cannot be called") + self._next = (self.digest,) + + return self._compute_mac() + + def hexdigest(self): + """Compute the *printable* authentication tag (MAC). + + This method is like :meth:`digest`. + + :Return: the MAC tag, as a hexadecimal string. + """ + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def verify(self, received_mac_tag): + """Validate the *binary* authentication tag (MAC). + + The receiver invokes this method at the very end, to + check if the associated data (if any) and the decrypted + messages are valid. + + :param bytes/bytearray/memoryview received_mac_tag: + This is the 16-byte *binary* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + if self.verify not in self._next: + raise TypeError("verify() cannot be called" + " when encrypting a message") + self._next = (self.verify,) + + secret = get_random_bytes(16) + + self._compute_mac() + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, + data=self._mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, + data=received_mac_tag) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + """Validate the *printable* authentication tag (MAC). + + This method is like :meth:`verify`. + + :param string hex_mac_tag: + This is the *printable* MAC. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + self.verify(unhexlify(hex_mac_tag)) + + def encrypt_and_digest(self, plaintext): + """Perform :meth:`encrypt` and :meth:`digest` in one step. + + :param plaintext: The data to encrypt, of any size. + :type plaintext: bytes/bytearray/memoryview + :return: a tuple with two ``bytes`` objects: + + - the ciphertext, of equal length as the plaintext + - the 16-byte MAC tag + """ + + return self.encrypt(plaintext), self.digest() + + def decrypt_and_verify(self, ciphertext, received_mac_tag): + """Perform :meth:`decrypt` and :meth:`verify` in one step. + + :param ciphertext: The piece of data to decrypt. + :type ciphertext: bytes/bytearray/memoryview + :param bytes received_mac_tag: + This is the 16-byte *binary* MAC, as received from the sender. + :return: the decrypted data (as ``bytes``) + :raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + plaintext = self.decrypt(ciphertext) + self.verify(received_mac_tag) + return plaintext + + +def new(**kwargs): + """Create a new ChaCha20-Poly1305 AEAD cipher. + + :keyword key: The secret key to use. It must be 32 bytes long. + :type key: byte string + + :keyword nonce: + A value that must never be reused for any other encryption + done with this key. It must be 8 or 12 bytes long. + + If not provided, 12 ``bytes`` will be generated randomly + (you can find them back in the ``nonce`` attribute). + :type nonce: bytes, bytearray, memoryview + + :Return: a :class:`Crypto.Cipher.ChaCha20.ChaCha20Poly1305Cipher` object + """ + + try: + key = kwargs.pop("key") + except KeyError as e: + raise TypeError("Missing parameter %s" % e) + + self._len_ct += len(plaintext) + + if len(key) != 32: + raise ValueError("Key must be 32 bytes long") + + nonce = kwargs.pop("nonce", None) + if nonce is None: + nonce = get_random_bytes(12) + + if len(nonce) not in (8, 12): + raise ValueError("Nonce must be 8 or 12 bytes long") + + if not is_buffer(nonce): + raise TypeError("nonce must be bytes, bytearray or memoryview") + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return ChaCha20Poly1305Cipher(key, nonce) + + +# Size of a key (in bytes) +key_size = 32 diff --git a/lib27/site-packages/Crypto/Cipher/ChaCha20_Poly1305.pyi b/lib27/site-packages/Crypto/Cipher/ChaCha20_Poly1305.pyi new file mode 100644 index 000000000..52ccddc76 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/ChaCha20_Poly1305.pyi @@ -0,0 +1,28 @@ +from typing import Union, Tuple, overload + +Buffer = Union[bytes, bytearray, memoryview] + +class ChaCha20Poly1305Cipher: + nonce: bytes + + def __init__(self, key: Buffer, nonce: Buffer) -> None: ... + def update(self, data: Buffer) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, received_mac_tag: Buffer) -> None: ... + def hexverify(self, received_mac_tag: str) -> None: ... + def encrypt_and_digest(self, plaintext: Buffer) -> Tuple[bytes, bytes]: ... + def decrypt_and_verify(self, ciphertext: Buffer, received_mac_tag: Buffer) -> bytes: ... + +def new(__key: Buffer, nonce: Buffer = ...) -> ChaCha20Poly1305Cipher: ... + +block_size: int +key_size: int diff --git a/lib27/site-packages/Crypto/Cipher/DES.py b/lib27/site-packages/Crypto/Cipher/DES.py new file mode 100644 index 000000000..5cc286aee --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/DES.py @@ -0,0 +1,158 @@ +# -*- coding: utf-8 -*- +# +# Cipher/DES.py : DES +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== +""" +Module's constants for the modes of operation supported with Single DES: + +:var MODE_ECB: :ref:`Electronic Code Book (ECB) ` +:var MODE_CBC: :ref:`Cipher-Block Chaining (CBC) ` +:var MODE_CFB: :ref:`Cipher FeedBack (CFB) ` +:var MODE_OFB: :ref:`Output FeedBack (OFB) ` +:var MODE_CTR: :ref:`CounTer Mode (CTR) ` +:var MODE_OPENPGP: :ref:`OpenPGP Mode ` +:var MODE_EAX: :ref:`EAX Mode ` +""" + +import sys + +from Crypto.Cipher import _create_cipher +from Crypto.Util.py3compat import byte_string +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + c_size_t, c_uint8_ptr) + +_raw_des_lib = load_pycryptodome_raw_lib( + "Crypto.Cipher._raw_des", + """ + int DES_start_operation(const uint8_t key[], + size_t key_len, + void **pResult); + int DES_encrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int DES_decrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int DES_stop_operation(void *state); + """) + + +def _create_base_cipher(dict_parameters): + """This method instantiates and returns a handle to a low-level + base cipher. It will absorb named parameters in the process.""" + + try: + key = dict_parameters.pop("key") + except KeyError: + raise TypeError("Missing 'key' parameter") + + if len(key) != key_size: + raise ValueError("Incorrect DES key length (%d bytes)" % len(key)) + + start_operation = _raw_des_lib.DES_start_operation + stop_operation = _raw_des_lib.DES_stop_operation + + cipher = VoidPointer() + result = start_operation(c_uint8_ptr(key), + c_size_t(len(key)), + cipher.address_of()) + if result: + raise ValueError("Error %X while instantiating the DES cipher" + % result) + return SmartPointer(cipher.get(), stop_operation) + + +def new(key, mode, *args, **kwargs): + """Create a new DES cipher. + + :param key: + The secret key to use in the symmetric cipher. + It must be 8 byte long. The parity bits will be ignored. + :type key: bytes/bytearray/memoryview + + :param mode: + The chaining mode to use for encryption or decryption. + :type mode: One of the supported ``MODE_*`` constants + + :Keyword Arguments: + * **iv** (*byte string*) -- + (Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``, + and ``MODE_OPENPGP`` modes). + + The initialization vector to use for encryption or decryption. + + For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 8 bytes long. + + For ``MODE_OPENPGP`` mode only, + it must be 8 bytes long for encryption + and 10 bytes for decryption (in the latter case, it is + actually the *encrypted* IV which was prefixed to the ciphertext). + + If not provided, a random byte string is generated (you must then + read its value with the :attr:`iv` attribute). + + * **nonce** (*byte string*) -- + (Only applicable for ``MODE_EAX`` and ``MODE_CTR``). + + A value that must never be reused for any other encryption done + with this key. + + For ``MODE_EAX`` there are no + restrictions on its length (recommended: **16** bytes). + + For ``MODE_CTR``, its length must be in the range **[0..7]**. + + If not provided for ``MODE_EAX``, a random byte string is generated (you + can read it back via the ``nonce`` attribute). + + * **segment_size** (*integer*) -- + (Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext + are segmented in. It must be a multiple of 8. + If not specified, it will be assumed to be 8. + + * **mac_len** : (*integer*) -- + (Only ``MODE_EAX``) + Length of the authentication tag, in bytes. + It must be no longer than 8 (default). + + * **initial_value** : (*integer*) -- + (Only ``MODE_CTR``). The initial value for the counter within + the counter block. By default it is **0**. + + :Return: a DES object, of the applicable mode. + """ + + return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs) + +MODE_ECB = 1 +MODE_CBC = 2 +MODE_CFB = 3 +MODE_OFB = 5 +MODE_CTR = 6 +MODE_OPENPGP = 7 +MODE_EAX = 9 + +# Size of a data block (in bytes) +block_size = 8 +# Size of a key (in bytes) +key_size = 8 diff --git a/lib27/site-packages/Crypto/Cipher/DES.pyi b/lib27/site-packages/Crypto/Cipher/DES.pyi new file mode 100644 index 000000000..1047f1323 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/DES.pyi @@ -0,0 +1,35 @@ +from typing import Union, Dict, Iterable + +from Crypto.Cipher._mode_ecb import EcbMode +from Crypto.Cipher._mode_cbc import CbcMode +from Crypto.Cipher._mode_cfb import CfbMode +from Crypto.Cipher._mode_ofb import OfbMode +from Crypto.Cipher._mode_ctr import CtrMode +from Crypto.Cipher._mode_openpgp import OpenPgpMode +from Crypto.Cipher._mode_eax import EaxMode + +DESMode = int + +MODE_ECB: DESMode +MODE_CBC: DESMode +MODE_CFB: DESMode +MODE_OFB: DESMode +MODE_CTR: DESMode +MODE_OPENPGP: DESMode +MODE_EAX: DESMode + +Buffer = Union[bytes, bytearray, memoryview] + +def new(key: Buffer, + mode: DESMode, + iv : Buffer = ..., + IV : Buffer = ..., + nonce : Buffer = ..., + segment_size : int = ..., + mac_len : int = ..., + initial_value : Union[int, Buffer] = ..., + counter : Dict = ...) -> \ + Union[EcbMode, CbcMode, CfbMode, OfbMode, CtrMode, OpenPgpMode]: ... + +block_size: int +key_size: int diff --git a/lib27/site-packages/Crypto/Cipher/DES3.py b/lib27/site-packages/Crypto/Cipher/DES3.py new file mode 100644 index 000000000..68208b76b --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/DES3.py @@ -0,0 +1,187 @@ +# -*- coding: utf-8 -*- +# +# Cipher/DES3.py : DES3 +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== +""" +Module's constants for the modes of operation supported with Triple DES: + +:var MODE_ECB: :ref:`Electronic Code Book (ECB) ` +:var MODE_CBC: :ref:`Cipher-Block Chaining (CBC) ` +:var MODE_CFB: :ref:`Cipher FeedBack (CFB) ` +:var MODE_OFB: :ref:`Output FeedBack (OFB) ` +:var MODE_CTR: :ref:`CounTer Mode (CTR) ` +:var MODE_OPENPGP: :ref:`OpenPGP Mode ` +:var MODE_EAX: :ref:`EAX Mode ` +""" + +import sys + +from Crypto.Cipher import _create_cipher +from Crypto.Util.py3compat import byte_string, bchr, bord, bstr +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + c_size_t) + +_raw_des3_lib = load_pycryptodome_raw_lib( + "Crypto.Cipher._raw_des3", + """ + int DES3_start_operation(const uint8_t key[], + size_t key_len, + void **pResult); + int DES3_encrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int DES3_decrypt(const void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int DES3_stop_operation(void *state); + """) + + +def adjust_key_parity(key_in): + """Set the parity bits in a TDES key. + + :param key_in: the TDES key whose bits need to be adjusted + :type key_in: byte string + + :returns: a copy of ``key_in``, with the parity bits correctly set + :rtype: byte string + + :raises ValueError: if the TDES key is not 16 or 24 bytes long + :raises ValueError: if the TDES key degenerates into Single DES + """ + + def parity_byte(key_byte): + parity = 1 + for i in range(1, 8): + parity ^= (key_byte >> i) & 1 + return (key_byte & 0xFE) | parity + + if len(key_in) not in key_size: + raise ValueError("Not a valid TDES key") + + key_out = b"".join([ bchr(parity_byte(bord(x))) for x in key_in ]) + + if key_out[:8] == key_out[8:16] or key_out[-16:-8] == key_out[-8:]: + raise ValueError("Triple DES key degenerates to single DES") + + return key_out + + +def _create_base_cipher(dict_parameters): + """This method instantiates and returns a handle to a low-level base cipher. + It will absorb named parameters in the process.""" + + try: + key_in = dict_parameters.pop("key") + except KeyError: + raise TypeError("Missing 'key' parameter") + + key = adjust_key_parity(bstr(key_in)) + + start_operation = _raw_des3_lib.DES3_start_operation + stop_operation = _raw_des3_lib.DES3_stop_operation + + cipher = VoidPointer() + result = start_operation(key, + c_size_t(len(key)), + cipher.address_of()) + if result: + raise ValueError("Error %X while instantiating the TDES cipher" + % result) + return SmartPointer(cipher.get(), stop_operation) + + +def new(key, mode, *args, **kwargs): + """Create a new Triple DES cipher. + + :param key: + The secret key to use in the symmetric cipher. + It must be 8 byte long. The parity bits will be ignored. + :type key: bytes/bytearray/memoryview + + :param mode: + The chaining mode to use for encryption or decryption. + :type mode: One of the supported ``MODE_*`` constants + + :Keyword Arguments: + * **iv** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``, + and ``MODE_OPENPGP`` modes). + + The initialization vector to use for encryption or decryption. + + For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 8 bytes long. + + For ``MODE_OPENPGP`` mode only, + it must be 8 bytes long for encryption + and 10 bytes for decryption (in the latter case, it is + actually the *encrypted* IV which was prefixed to the ciphertext). + + If not provided, a random byte string is generated (you must then + read its value with the :attr:`iv` attribute). + + * **nonce** (*bytes*, *bytearray*, *memoryview*) -- + (Only applicable for ``MODE_EAX`` and ``MODE_CTR``). + + A value that must never be reused for any other encryption done + with this key. + + For ``MODE_EAX`` there are no + restrictions on its length (recommended: **16** bytes). + + For ``MODE_CTR``, its length must be in the range **[0..7]**. + + If not provided for ``MODE_EAX``, a random byte string is generated (you + can read it back via the ``nonce`` attribute). + + * **segment_size** (*integer*) -- + (Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext + are segmented in. It must be a multiple of 8. + If not specified, it will be assumed to be 8. + + * **mac_len** : (*integer*) -- + (Only ``MODE_EAX``) + Length of the authentication tag, in bytes. + It must be no longer than 8 (default). + + * **initial_value** : (*integer*) -- + (Only ``MODE_CTR``). The initial value for the counter within + the counter block. By default it is **0**. + + :Return: a Triple DES object, of the applicable mode. + """ + + return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs) + +MODE_ECB = 1 +MODE_CBC = 2 +MODE_CFB = 3 +MODE_OFB = 5 +MODE_CTR = 6 +MODE_OPENPGP = 7 +MODE_EAX = 9 + +# Size of a data block (in bytes) +block_size = 8 +# Size of a key (in bytes) +key_size = (16, 24) diff --git a/lib27/site-packages/Crypto/Cipher/DES3.pyi b/lib27/site-packages/Crypto/Cipher/DES3.pyi new file mode 100644 index 000000000..a89db9c0a --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/DES3.pyi @@ -0,0 +1,37 @@ +from typing import Union, Dict, Tuple + +from Crypto.Cipher._mode_ecb import EcbMode +from Crypto.Cipher._mode_cbc import CbcMode +from Crypto.Cipher._mode_cfb import CfbMode +from Crypto.Cipher._mode_ofb import OfbMode +from Crypto.Cipher._mode_ctr import CtrMode +from Crypto.Cipher._mode_openpgp import OpenPgpMode +from Crypto.Cipher._mode_eax import EaxMode + +def adjust_key_parity(key_in: bytes) -> bytes: ... + +DES3Mode = int + +MODE_ECB: DES3Mode +MODE_CBC: DES3Mode +MODE_CFB: DES3Mode +MODE_OFB: DES3Mode +MODE_CTR: DES3Mode +MODE_OPENPGP: DES3Mode +MODE_EAX: DES3Mode + +Buffer = Union[bytes, bytearray, memoryview] + +def new(key: Buffer, + mode: DES3Mode, + iv : Buffer = ..., + IV : Buffer = ..., + nonce : Buffer = ..., + segment_size : int = ..., + mac_len : int = ..., + initial_value : Union[int, Buffer] = ..., + counter : Dict = ...) -> \ + Union[EcbMode, CbcMode, CfbMode, OfbMode, CtrMode, OpenPgpMode]: ... + +block_size: int +key_size: Tuple[int, int] diff --git a/lib27/site-packages/Crypto/Cipher/PKCS1_OAEP.py b/lib27/site-packages/Crypto/Cipher/PKCS1_OAEP.py new file mode 100644 index 000000000..88ba10b10 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/PKCS1_OAEP.py @@ -0,0 +1,240 @@ +# -*- coding: utf-8 -*- +# +# Cipher/PKCS1_OAEP.py : PKCS#1 OAEP +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Signature.pss import MGF1 +import Crypto.Hash.SHA1 + +from Crypto.Util.py3compat import bord, _copy_bytes +import Crypto.Util.number +from Crypto.Util.number import ceil_div, bytes_to_long, long_to_bytes +from Crypto.Util.strxor import strxor +from Crypto import Random + +class PKCS1OAEP_Cipher: + """Cipher object for PKCS#1 v1.5 OAEP. + Do not create directly: use :func:`new` instead.""" + + def __init__(self, key, hashAlgo, mgfunc, label, randfunc): + """Initialize this PKCS#1 OAEP cipher object. + + :Parameters: + key : an RSA key object + If a private half is given, both encryption and decryption are possible. + If a public half is given, only encryption is possible. + hashAlgo : hash object + The hash function to use. This can be a module under `Crypto.Hash` + or an existing hash object created from any of such modules. If not specified, + `Crypto.Hash.SHA1` is used. + mgfunc : callable + A mask generation function that accepts two parameters: a string to + use as seed, and the lenth of the mask to generate, in bytes. + If not specified, the standard MGF1 is used (a safe choice). + label : bytes/bytearray/memoryview + A label to apply to this particular encryption. If not specified, + an empty string is used. Specifying a label does not improve + security. + randfunc : callable + A function that returns random bytes. + + :attention: Modify the mask generation function only if you know what you are doing. + Sender and receiver must use the same one. + """ + self._key = key + + if hashAlgo: + self._hashObj = hashAlgo + else: + self._hashObj = Crypto.Hash.SHA1 + + if mgfunc: + self._mgf = mgfunc + else: + self._mgf = lambda x,y: MGF1(x,y,self._hashObj) + + self._label = _copy_bytes(None, None, label) + self._randfunc = randfunc + + def can_encrypt(self): + """Legacy function to check if you can call :meth:`encrypt`. + + .. deprecated:: 3.0""" + return self._key.can_encrypt() + + def can_decrypt(self): + """Legacy function to check if you can call :meth:`decrypt`. + + .. deprecated:: 3.0""" + return self._key.can_decrypt() + + def encrypt(self, message): + """Encrypt a message with PKCS#1 OAEP. + + :param message: + The message to encrypt, also known as plaintext. It can be of + variable length, but not longer than the RSA modulus (in bytes) + minus 2, minus twice the hash output size. + For instance, if you use RSA 2048 and SHA-256, the longest message + you can encrypt is 190 byte long. + :type message: bytes/bytearray/memoryview + + :returns: The ciphertext, as large as the RSA modulus. + :rtype: bytes + + :raises ValueError: + if the message is too long. + """ + + # See 7.1.1 in RFC3447 + modBits = Crypto.Util.number.size(self._key.n) + k = ceil_div(modBits, 8) # Convert from bits to bytes + hLen = self._hashObj.digest_size + mLen = len(message) + + # Step 1b + ps_len = k - mLen - 2 * hLen - 2 + if ps_len < 0: + raise ValueError("Plaintext is too long.") + # Step 2a + lHash = self._hashObj.new(self._label).digest() + # Step 2b + ps = b'\x00' * ps_len + # Step 2c + db = lHash + ps + b'\x01' + _copy_bytes(None, None, message) + # Step 2d + ros = self._randfunc(hLen) + # Step 2e + dbMask = self._mgf(ros, k-hLen-1) + # Step 2f + maskedDB = strxor(db, dbMask) + # Step 2g + seedMask = self._mgf(maskedDB, hLen) + # Step 2h + maskedSeed = strxor(ros, seedMask) + # Step 2i + em = b'\x00' + maskedSeed + maskedDB + # Step 3a (OS2IP) + em_int = bytes_to_long(em) + # Step 3b (RSAEP) + m_int = self._key._encrypt(em_int) + # Step 3c (I2OSP) + c = long_to_bytes(m_int, k) + return c + + def decrypt(self, ciphertext): + """Decrypt a message with PKCS#1 OAEP. + + :param ciphertext: The encrypted message. + :type ciphertext: bytes/bytearray/memoryview + + :returns: The original message (plaintext). + :rtype: bytes + + :raises ValueError: + if the ciphertext has the wrong length, or if decryption + fails the integrity check (in which case, the decryption + key is probably wrong). + :raises TypeError: + if the RSA key has no private half (i.e. you are trying + to decrypt using a public key). + """ + + # See 7.1.2 in RFC3447 + modBits = Crypto.Util.number.size(self._key.n) + k = ceil_div(modBits,8) # Convert from bits to bytes + hLen = self._hashObj.digest_size + + # Step 1b and 1c + if len(ciphertext) != k or k Any: ... + +class HashLikeModule(Protocol): + digest_size : int + @staticmethod + def new(data: Optional[bytes] = ...) -> Any: ... + +HashLike = Union[HashLikeClass, HashLikeModule] + +Buffer = Union[bytes, bytearray, memoryview] + +class PKCS1OAEP_Cipher: + def __init__(self, + key: RsaKey, + hashAlgo: HashLike, + mgfunc: Callable[[bytes, int], bytes], + label: Buffer, + randfunc: Callable[[int], bytes]) -> None: ... + def can_encrypt(self) -> bool: ... + def can_decrypt(self) -> bool: ... + def encrypt(self, message: Buffer) -> bytes: ... + def decrypt(self, ciphertext: Buffer) -> bytes: ... + +def new(key: RsaKey, + hashAlgo: Optional[HashLike] = ..., + mgfunc: Optional[Callable[[bytes, int], bytes]] = ..., + label: Optional[Buffer] = ..., + randfunc: Optional[Callable[[int], bytes]] = ...) -> PKCS1OAEP_Cipher: ... diff --git a/lib27/site-packages/Crypto/Cipher/PKCS1_v1_5.py b/lib27/site-packages/Crypto/Cipher/PKCS1_v1_5.py new file mode 100644 index 000000000..bf84825f0 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/PKCS1_v1_5.py @@ -0,0 +1,199 @@ +# -*- coding: utf-8 -*- +# +# Cipher/PKCS1-v1_5.py : PKCS#1 v1.5 +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +__all__ = [ 'new', 'PKCS115_Cipher' ] + +from Crypto.Util.number import ceil_div, bytes_to_long, long_to_bytes +from Crypto.Util.py3compat import bord, _copy_bytes +import Crypto.Util.number +from Crypto import Random + +class PKCS115_Cipher: + """This cipher can perform PKCS#1 v1.5 RSA encryption or decryption. + Do not instantiate directly. Use :func:`Crypto.Cipher.PKCS1_v1_5.new` instead.""" + + def __init__(self, key, randfunc): + """Initialize this PKCS#1 v1.5 cipher object. + + :Parameters: + key : an RSA key object + If a private half is given, both encryption and decryption are possible. + If a public half is given, only encryption is possible. + randfunc : callable + Function that returns random bytes. + """ + + self._key = key + self._randfunc = randfunc + + def can_encrypt(self): + """Return True if this cipher object can be used for encryption.""" + return self._key.can_encrypt() + + def can_decrypt(self): + """Return True if this cipher object can be used for decryption.""" + return self._key.can_decrypt() + + def encrypt(self, message): + """Produce the PKCS#1 v1.5 encryption of a message. + + This function is named ``RSAES-PKCS1-V1_5-ENCRYPT``, and it is specified in + `section 7.2.1 of RFC8017 + `_. + + :param message: + The message to encrypt, also known as plaintext. It can be of + variable length, but not longer than the RSA modulus (in bytes) minus 11. + :type message: bytes/bytearray/memoryview + + :Returns: A byte string, the ciphertext in which the message is encrypted. + It is as long as the RSA modulus (in bytes). + + :Raises ValueError: + If the RSA key length is not sufficiently long to deal with the given + message. + """ + + # See 7.2.1 in RFC8017 + modBits = Crypto.Util.number.size(self._key.n) + k = ceil_div(modBits,8) # Convert from bits to bytes + mLen = len(message) + + # Step 1 + if mLen > k - 11: + raise ValueError("Plaintext is too long.") + # Step 2a + ps = [] + while len(ps) != k - mLen - 3: + new_byte = self._randfunc(1) + if bord(new_byte[0]) == 0x00: + continue + ps.append(new_byte) + ps = b"".join(ps) + assert(len(ps) == k - mLen - 3) + # Step 2b + em = b'\x00\x02' + ps + b'\x00' + _copy_bytes(None, None, message) + # Step 3a (OS2IP) + em_int = bytes_to_long(em) + # Step 3b (RSAEP) + m_int = self._key._encrypt(em_int) + # Step 3c (I2OSP) + c = long_to_bytes(m_int, k) + return c + + def decrypt(self, ciphertext, sentinel): + """Decrypt a PKCS#1 v1.5 ciphertext. + + This function is named ``RSAES-PKCS1-V1_5-DECRYPT``, and is specified in + `section 7.2.2 of RFC8017 + `_. + + :param ciphertext: + The ciphertext that contains the message to recover. + :type ciphertext: bytes/bytearray/memoryview + + :param sentinel: + The object to return whenever an error is detected. + :type sentinel: any type + + :Returns: A byte string. It is either the original message or the ``sentinel`` (in case of an error). + + :Raises ValueError: + If the ciphertext length is incorrect + :Raises TypeError: + If the RSA key has no private half (i.e. it cannot be used for + decyption). + + .. warning:: + You should **never** let the party who submitted the ciphertext know that + this function returned the ``sentinel`` value. + Armed with such knowledge (for a fair amount of carefully crafted but invalid ciphertexts), + an attacker is able to recontruct the plaintext of any other encryption that were carried out + with the same RSA public key (see `Bleichenbacher's`__ attack). + + In general, it should not be possible for the other party to distinguish + whether processing at the server side failed because the value returned + was a ``sentinel`` as opposed to a random, invalid message. + + In fact, the second option is not that unlikely: encryption done according to PKCS#1 v1.5 + embeds no good integrity check. There is roughly one chance + in 2\ :sup:`16` for a random ciphertext to be returned as a valid message + (although random looking). + + It is therefore advisabled to: + + 1. Select as ``sentinel`` a value that resembles a plausable random, invalid message. + 2. Not report back an error as soon as you detect a ``sentinel`` value. + Put differently, you should not explicitly check if the returned value is the ``sentinel`` or not. + 3. Cover all possible errors with a single, generic error indicator. + 4. Embed into the definition of ``message`` (at the protocol level) a digest (e.g. ``SHA-1``). + It is recommended for it to be the rightmost part ``message``. + 5. Where possible, monitor the number of errors due to ciphertexts originating from the same party, + and slow down the rate of the requests from such party (or even blacklist it altogether). + + **If you are designing a new protocol, consider using the more robust PKCS#1 OAEP.** + + .. __: http://www.bell-labs.com/user/bleichen/papers/pkcs.ps + + """ + + # See 7.2.1 in RFC3447 + modBits = Crypto.Util.number.size(self._key.n) + k = ceil_div(modBits,8) # Convert from bits to bytes + + # Step 1 + if len(ciphertext) != k: + raise ValueError("Ciphertext with incorrect length.") + # Step 2a (O2SIP) + ct_int = bytes_to_long(ciphertext) + # Step 2b (RSADP) + m_int = self._key._decrypt(ct_int) + # Complete step 2c (I2OSP) + em = long_to_bytes(m_int, k) + # Step 3 + sep = em.find(b'\x00', 2) + if not em.startswith(b'\x00\x02') or sep < 10: + return sentinel + # Step 4 + return em[sep + 1:] + + +def new(key, randfunc=None): + """Create a cipher for performing PKCS#1 v1.5 encryption or decryption. + + :param key: + The key to use to encrypt or decrypt the message. This is a `Crypto.PublicKey.RSA` object. + Decryption is only possible if *key* is a private RSA key. + :type key: RSA key object + + :param randfunc: + Function that return random bytes. + The default is :func:`Crypto.Random.get_random_bytes`. + :type randfunc: callable + + :returns: A cipher object `PKCS115_Cipher`. + """ + + if randfunc is None: + randfunc = Random.get_random_bytes + return PKCS115_Cipher(key, randfunc) + diff --git a/lib27/site-packages/Crypto/Cipher/PKCS1_v1_5.pyi b/lib27/site-packages/Crypto/Cipher/PKCS1_v1_5.pyi new file mode 100644 index 000000000..4aa819769 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/PKCS1_v1_5.pyi @@ -0,0 +1,17 @@ +from typing import Callable, Union, Any, Optional + +from Crypto.PublicKey.RSA import RsaKey + +Buffer = Union[bytes, bytearray, memoryview] + +class PKCS115_Cipher: + def __init__(self, + key: RsaKey, + randfunc: Callable[[int], bytes]) -> None: ... + def can_encrypt(self) -> bool: ... + def can_decrypt(self) -> bool: ... + def encrypt(self, message: Buffer) -> bytes: ... + def decrypt(self, ciphertext: Buffer) -> bytes: ... + +def new(key: Buffer, + randfunc: Optional[Callable[[int], bytes]] = ...) -> PKCS115_Cipher: ... diff --git a/lib27/site-packages/Crypto/Cipher/Salsa20.py b/lib27/site-packages/Crypto/Cipher/Salsa20.py new file mode 100644 index 000000000..62d0b292b --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/Salsa20.py @@ -0,0 +1,167 @@ +# -*- coding: utf-8 -*- +# +# Cipher/Salsa20.py : Salsa20 stream cipher (http://cr.yp.to/snuffle.html) +# +# Contributed by Fabrizio Tarizzo . +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import _copy_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + create_string_buffer, + get_raw_buffer, VoidPointer, + SmartPointer, c_size_t, + c_uint8_ptr, is_writeable_buffer) + +from Crypto.Random import get_random_bytes + +_raw_salsa20_lib = load_pycryptodome_raw_lib("Crypto.Cipher._Salsa20", + """ + int Salsa20_stream_init(uint8_t *key, size_t keylen, + uint8_t *nonce, size_t nonce_len, + void **pSalsaState); + int Salsa20_stream_destroy(void *salsaState); + int Salsa20_stream_encrypt(void *salsaState, + const uint8_t in[], + uint8_t out[], size_t len); + """) + + +class Salsa20Cipher: + """Salsa20 cipher object. Do not create it directly. Use :py:func:`new` + instead. + + :var nonce: The nonce with length 8 + :vartype nonce: byte string + """ + + def __init__(self, key, nonce): + """Initialize a Salsa20 cipher object + + See also `new()` at the module level.""" + + if len(key) not in key_size: + raise ValueError("Incorrect key length for Salsa20 (%d bytes)" % len(key)) + + if len(nonce) != 8: + raise ValueError("Incorrect nonce length for Salsa20 (%d bytes)" % + len(nonce)) + + self.nonce = _copy_bytes(None, None, nonce) + + self._state = VoidPointer() + result = _raw_salsa20_lib.Salsa20_stream_init( + c_uint8_ptr(key), + c_size_t(len(key)), + c_uint8_ptr(nonce), + c_size_t(len(nonce)), + self._state.address_of()) + if result: + raise ValueError("Error %d instantiating a Salsa20 cipher") + self._state = SmartPointer(self._state.get(), + _raw_salsa20_lib.Salsa20_stream_destroy) + + self.block_size = 1 + self.key_size = len(key) + + def encrypt(self, plaintext, output=None): + """Encrypt a piece of data. + + Args: + plaintext(bytes/bytearray/memoryview): The data to encrypt, of any size. + Keyword Args: + output(bytes/bytearray/memoryview): The location where the ciphertext + is written to. If ``None``, the ciphertext is returned. + Returns: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if output is None: + ciphertext = create_string_buffer(len(plaintext)) + else: + ciphertext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(plaintext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = _raw_salsa20_lib.Salsa20_stream_encrypt( + self._state.get(), + c_uint8_ptr(plaintext), + c_uint8_ptr(ciphertext), + c_size_t(len(plaintext))) + if result: + raise ValueError("Error %d while encrypting with Salsa20" % result) + + if output is None: + return get_raw_buffer(ciphertext) + else: + return None + + def decrypt(self, ciphertext, output=None): + """Decrypt a piece of data. + + Args: + ciphertext(bytes/bytearray/memoryview): The data to decrypt, of any size. + Keyword Args: + output(bytes/bytearray/memoryview): The location where the plaintext + is written to. If ``None``, the plaintext is returned. + Returns: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + try: + return self.encrypt(ciphertext, output=output) + except ValueError as e: + raise ValueError(str(e).replace("enc", "dec")) + + +def new(key, nonce=None): + """Create a new Salsa20 cipher + + :keyword key: The secret key to use. It must be 16 or 32 bytes long. + :type key: bytes/bytearray/memoryview + + :keyword nonce: + A value that must never be reused for any other encryption + done with this key. It must be 8 bytes long. + + If not provided, a random byte string will be generated (you can read + it back via the ``nonce`` attribute of the returned object). + :type nonce: bytes/bytearray/memoryview + + :Return: a :class:`Crypto.Cipher.Salsa20.Salsa20Cipher` object + """ + + if nonce is None: + nonce = get_random_bytes(8) + + return Salsa20Cipher(key, nonce) + +# Size of a data block (in bytes) +block_size = 1 + +# Size of a key (in bytes) +key_size = (16, 32) + diff --git a/lib27/site-packages/Crypto/Cipher/Salsa20.pyi b/lib27/site-packages/Crypto/Cipher/Salsa20.pyi new file mode 100644 index 000000000..9178f0d53 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/Salsa20.pyi @@ -0,0 +1,27 @@ +from typing import Union, Tuple, Optional, overload + + +Buffer = Union[bytes, bytearray, memoryview] + +class Salsa20Cipher: + nonce: bytes + block_size: int + key_size: int + + def __init__(self, + key: Buffer, + nonce: Buffer) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + +def new(key: Buffer, nonce: Optional[Buffer] = ...) -> Salsa20Cipher: ... + +block_size: int +key_size: Tuple[int, int] + diff --git a/lib27/site-packages/Crypto/Cipher/_ARC4.pyd b/lib27/site-packages/Crypto/Cipher/_ARC4.pyd new file mode 100644 index 000000000..879c7d70f Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_ARC4.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_Salsa20.pyd b/lib27/site-packages/Crypto/Cipher/_Salsa20.pyd new file mode 100644 index 000000000..0405c7343 Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_Salsa20.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/__init__.py b/lib27/site-packages/Crypto/Cipher/__init__.py new file mode 100644 index 000000000..ba2d48559 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/__init__.py @@ -0,0 +1,79 @@ +# +# A block cipher is instantiated as a combination of: +# 1. A base cipher (such as AES) +# 2. A mode of operation (such as CBC) +# +# Both items are implemented as C modules. +# +# The API of #1 is (replace "AES" with the name of the actual cipher): +# - AES_start_operaion(key) --> base_cipher_state +# - AES_encrypt(base_cipher_state, in, out, length) +# - AES_decrypt(base_cipher_state, in, out, length) +# - AES_stop_operation(base_cipher_state) +# +# Where base_cipher_state is AES_State, a struct with BlockBase (set of +# pointers to encrypt/decrypt/stop) followed by cipher-specific data. +# +# The API of #2 is (replace "CBC" with the name of the actual mode): +# - CBC_start_operation(base_cipher_state) --> mode_state +# - CBC_encrypt(mode_state, in, out, length) +# - CBC_decrypt(mode_state, in, out, length) +# - CBC_stop_operation(mode_state) +# +# where mode_state is a a pointer to base_cipher_state plus mode-specific data. + +import os + +from Crypto.Cipher._mode_ecb import _create_ecb_cipher +from Crypto.Cipher._mode_cbc import _create_cbc_cipher +from Crypto.Cipher._mode_cfb import _create_cfb_cipher +from Crypto.Cipher._mode_ofb import _create_ofb_cipher +from Crypto.Cipher._mode_ctr import _create_ctr_cipher +from Crypto.Cipher._mode_openpgp import _create_openpgp_cipher +from Crypto.Cipher._mode_ccm import _create_ccm_cipher +from Crypto.Cipher._mode_eax import _create_eax_cipher +from Crypto.Cipher._mode_siv import _create_siv_cipher +from Crypto.Cipher._mode_gcm import _create_gcm_cipher +from Crypto.Cipher._mode_ocb import _create_ocb_cipher + +_modes = { 1:_create_ecb_cipher, + 2:_create_cbc_cipher, + 3:_create_cfb_cipher, + 5:_create_ofb_cipher, + 6:_create_ctr_cipher, + 7:_create_openpgp_cipher, + 9:_create_eax_cipher + } + +_extra_modes = { 8:_create_ccm_cipher, + 10:_create_siv_cipher, + 11:_create_gcm_cipher, + 12:_create_ocb_cipher + } + +def _create_cipher(factory, key, mode, *args, **kwargs): + + kwargs["key"] = key + + modes = dict(_modes) + if kwargs.pop("add_aes_modes", False): + modes.update(_extra_modes) + if not mode in modes: + raise ValueError("Mode not supported") + + if args: + if mode in (8, 9, 10, 11, 12): + if len(args) > 1: + raise TypeError("Too many arguments for this mode") + kwargs["nonce"] = args[0] + elif mode in (2, 3, 5, 7): + if len(args) > 1: + raise TypeError("Too many arguments for this mode") + kwargs["IV"] = args[0] + elif mode == 6: + if len(args) > 0: + raise TypeError("Too many arguments for this mode") + elif mode == 1: + raise TypeError("IV is not meaningful for the ECB mode") + + return modes[mode](factory, **kwargs) diff --git a/lib27/site-packages/websocket/data/__init__.py b/lib27/site-packages/Crypto/Cipher/__init__.pyi similarity index 100% rename from lib27/site-packages/websocket/data/__init__.py rename to lib27/site-packages/Crypto/Cipher/__init__.pyi diff --git a/lib27/site-packages/Crypto/Cipher/_chacha20.pyd b/lib27/site-packages/Crypto/Cipher/_chacha20.pyd new file mode 100644 index 000000000..9e49b0864 Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_chacha20.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_mode_cbc.py b/lib27/site-packages/Crypto/Cipher/_mode_cbc.py new file mode 100644 index 000000000..79c871ac7 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_cbc.py @@ -0,0 +1,293 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +Ciphertext Block Chaining (CBC) mode. +""" + +__all__ = ['CbcMode'] + +from Crypto.Util.py3compat import _copy_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, VoidPointer, + create_string_buffer, get_raw_buffer, + SmartPointer, c_size_t, c_uint8_ptr, + is_writeable_buffer) + +from Crypto.Random import get_random_bytes + +raw_cbc_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_cbc", """ + int CBC_start_operation(void *cipher, + const uint8_t iv[], + size_t iv_len, + void **pResult); + int CBC_encrypt(void *cbcState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CBC_decrypt(void *cbcState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CBC_stop_operation(void *state); + """ + ) + + +class CbcMode(object): + """*Cipher-Block Chaining (CBC)*. + + Each of the ciphertext blocks depends on the current + and all previous plaintext blocks. + + An Initialization Vector (*IV*) is required. + + See `NIST SP800-38A`_ , Section 6.2 . + + .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + + :undocumented: __init__ + """ + + def __init__(self, block_cipher, iv): + """Create a new block cipher, configured in CBC mode. + + :Parameters: + block_cipher : C pointer + A smart pointer to the low-level block cipher instance. + + iv : bytes/bytearray/memoryview + The initialization vector to use for encryption or decryption. + It is as long as the cipher block. + + **The IV must be unpredictable**. Ideally it is picked randomly. + + Reusing the *IV* for encryptions performed with the same key + compromises confidentiality. + """ + + self._state = VoidPointer() + result = raw_cbc_lib.CBC_start_operation(block_cipher.get(), + c_uint8_ptr(iv), + c_size_t(len(iv)), + self._state.address_of()) + if result: + raise ValueError("Error %d while instantiating the CBC mode" + % result) + + # Ensure that object disposal of this Python object will (eventually) + # free the memory allocated by the raw library for the cipher mode + self._state = SmartPointer(self._state.get(), + raw_cbc_lib.CBC_stop_operation) + + # Memory allocated for the underlying block cipher is now owed + # by the cipher mode + block_cipher.release() + + self.block_size = len(iv) + """The block size of the underlying cipher, in bytes.""" + + self.iv = _copy_bytes(None, None, iv) + """The Initialization Vector originally used to create the object. + The value does not change.""" + + self.IV = self.iv + """Alias for `iv`""" + + self._next = [ self.encrypt, self.decrypt ] + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + That also means that you cannot reuse an object for encrypting + or decrypting other data with the same key. + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + Its lenght must be multiple of the cipher block size. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() cannot be called after decrypt()") + self._next = [ self.encrypt ] + + if output is None: + ciphertext = create_string_buffer(len(plaintext)) + else: + ciphertext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(plaintext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_cbc_lib.CBC_encrypt(self._state.get(), + c_uint8_ptr(plaintext), + c_uint8_ptr(ciphertext), + c_size_t(len(plaintext))) + if result: + if result == 3: + raise ValueError("Data must be padded to %d byte boundary in CBC mode" % self.block_size) + raise ValueError("Error %d while encrypting in CBC mode" % result) + + if output is None: + return get_raw_buffer(ciphertext) + else: + return None + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + Its length must be multiple of the cipher block size. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() cannot be called after encrypt()") + self._next = [ self.decrypt ] + + if output is None: + plaintext = create_string_buffer(len(ciphertext)) + else: + plaintext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(ciphertext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_cbc_lib.CBC_decrypt(self._state.get(), + c_uint8_ptr(ciphertext), + c_uint8_ptr(plaintext), + c_size_t(len(ciphertext))) + if result: + if result == 3: + raise ValueError("Data must be padded to %d byte boundary in CBC mode" % self.block_size) + raise ValueError("Error %d while decrypting in CBC mode" % result) + + if output is None: + return get_raw_buffer(plaintext) + else: + return None + + +def _create_cbc_cipher(factory, **kwargs): + """Instantiate a cipher object that performs CBC encryption/decryption. + + :Parameters: + factory : module + The underlying block cipher, a module from ``Crypto.Cipher``. + + :Keywords: + iv : bytes/bytearray/memoryview + The IV to use for CBC. + + IV : bytes/bytearray/memoryview + Alias for ``iv``. + + Any other keyword will be passed to the underlying block cipher. + See the relevant documentation for details (at least ``key`` will need + to be present). + """ + + cipher_state = factory._create_base_cipher(kwargs) + iv = kwargs.pop("IV", None) + IV = kwargs.pop("iv", None) + + if (None, None) == (iv, IV): + iv = get_random_bytes(factory.block_size) + if iv is not None: + if IV is not None: + raise TypeError("You must either use 'iv' or 'IV', not both") + else: + iv = IV + + if len(iv) != factory.block_size: + raise ValueError("Incorrect IV length (it must be %d bytes long)" % + factory.block_size) + + if kwargs: + raise TypeError("Unknown parameters for CBC: %s" % str(kwargs)) + + return CbcMode(cipher_state, iv) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_cbc.pyi b/lib27/site-packages/Crypto/Cipher/_mode_cbc.pyi new file mode 100644 index 000000000..8b9fb16d4 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_cbc.pyi @@ -0,0 +1,25 @@ +from typing import Union, overload + +from Crypto.Util._raw_api import SmartPointer + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['CbcMode'] + +class CbcMode(object): + block_size: int + iv: Buffer + IV: Buffer + + def __init__(self, + block_cipher: SmartPointer, + iv: Buffer) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ccm.py b/lib27/site-packages/Crypto/Cipher/_mode_ccm.py new file mode 100644 index 000000000..64077de45 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ccm.py @@ -0,0 +1,650 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +Counter with CBC-MAC (CCM) mode. +""" + +__all__ = ['CcmMode'] + +import struct +from binascii import unhexlify + +from Crypto.Util.py3compat import (byte_string, bord, + _copy_bytes) +from Crypto.Util._raw_api import is_writeable_buffer + +from Crypto.Util.strxor import strxor +from Crypto.Util.number import long_to_bytes + +from Crypto.Hash import BLAKE2s +from Crypto.Random import get_random_bytes + + +def enum(**enums): + return type('Enum', (), enums) + +MacStatus = enum(NOT_STARTED=0, PROCESSING_AUTH_DATA=1, PROCESSING_PLAINTEXT=2) + + +class CcmMode(object): + """Counter with CBC-MAC (CCM). + + This is an Authenticated Encryption with Associated Data (`AEAD`_) mode. + It provides both confidentiality and authenticity. + + The header of the message may be left in the clear, if needed, and it will + still be subject to authentication. The decryption step tells the receiver + if the message comes from a source that really knowns the secret key. + Additionally, decryption detects if any part of the message - including the + header - has been modified or corrupted. + + This mode requires a nonce. The nonce shall never repeat for two + different messages encrypted with the same key, but it does not need + to be random. + Note that there is a trade-off between the size of the nonce and the + maximum size of a single message you can encrypt. + + It is important to use a large nonce if the key is reused across several + messages and the nonce is chosen randomly. + + It is acceptable to us a short nonce if the key is only used a few times or + if the nonce is taken from a counter. + + The following table shows the trade-off when the nonce is chosen at + random. The column on the left shows how many messages it takes + for the keystream to repeat **on average**. In practice, you will want to + stop using the key way before that. + + +--------------------+---------------+-------------------+ + | Avg. # of messages | nonce | Max. message | + | before keystream | size | size | + | repeats | (bytes) | (bytes) | + +====================+===============+===================+ + | 2^52 | 13 | 64K | + +--------------------+---------------+-------------------+ + | 2^48 | 12 | 16M | + +--------------------+---------------+-------------------+ + | 2^44 | 11 | 4G | + +--------------------+---------------+-------------------+ + | 2^40 | 10 | 1T | + +--------------------+---------------+-------------------+ + | 2^36 | 9 | 64P | + +--------------------+---------------+-------------------+ + | 2^32 | 8 | 16E | + +--------------------+---------------+-------------------+ + + This mode is only available for ciphers that operate on 128 bits blocks + (e.g. AES but not TDES). + + See `NIST SP800-38C`_ or RFC3610_. + + .. _`NIST SP800-38C`: http://csrc.nist.gov/publications/nistpubs/800-38C/SP800-38C.pdf + .. _RFC3610: https://tools.ietf.org/html/rfc3610 + .. _AEAD: http://blog.cryptographyengineering.com/2012/05/how-to-choose-authenticated-encryption.html + + :undocumented: __init__ + """ + + def __init__(self, factory, key, nonce, mac_len, msg_len, assoc_len, + cipher_params): + + self.block_size = factory.block_size + """The block size of the underlying cipher, in bytes.""" + + self.nonce = _copy_bytes(None, None, nonce) + """The nonce used for this cipher instance""" + + self._factory = factory + self._key = _copy_bytes(None, None, key) + self._mac_len = mac_len + self._msg_len = msg_len + self._assoc_len = assoc_len + self._cipher_params = cipher_params + + self._mac_tag = None # Cache for MAC tag + + if self.block_size != 16: + raise ValueError("CCM mode is only available for ciphers" + " that operate on 128 bits blocks") + + # MAC tag length (Tlen) + if mac_len not in (4, 6, 8, 10, 12, 14, 16): + raise ValueError("Parameter 'mac_len' must be even" + " and in the range 4..16 (not %d)" % mac_len) + + # Nonce value + if not (nonce and 7 <= len(nonce) <= 13): + raise ValueError("Length of parameter 'nonce' must be" + " in the range 7..13 bytes") + + # Create MAC object (the tag will be the last block + # bytes worth of ciphertext) + self._mac = self._factory.new(key, + factory.MODE_CBC, + iv=b'\x00' * 16, + **cipher_params) + self._mac_status = MacStatus.NOT_STARTED + self._t = None + + # Allowed transitions after initialization + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + # Cumulative lengths + self._cumul_assoc_len = 0 + self._cumul_msg_len = 0 + + # Cache for unaligned associated data/plaintext. + # This is a list with byte strings, but when the MAC starts, + # it will become a binary string no longer than the block size. + self._cache = [] + + # Start CTR cipher, by formatting the counter (A.3) + q = 15 - len(nonce) # length of Q, the encoded message length + self._cipher = self._factory.new(key, + self._factory.MODE_CTR, + nonce=struct.pack("B", q - 1) + self.nonce, + **cipher_params) + + # S_0, step 6 in 6.1 for j=0 + self._s_0 = self._cipher.encrypt(b'\x00' * 16) + + # Try to start the MAC + if None not in (assoc_len, msg_len): + self._start_mac() + + def _start_mac(self): + + assert(self._mac_status == MacStatus.NOT_STARTED) + assert(None not in (self._assoc_len, self._msg_len)) + assert(isinstance(self._cache, list)) + + # Formatting control information and nonce (A.2.1) + q = 15 - len(self.nonce) # length of Q, the encoded message length + flags = (64 * (self._assoc_len > 0) + 8 * ((self._mac_len - 2) // 2) + + (q - 1)) + b_0 = struct.pack("B", flags) + self.nonce + long_to_bytes(self._msg_len, q) + + # Formatting associated data (A.2.2) + # Encoded 'a' is concatenated with the associated data 'A' + assoc_len_encoded = b'' + if self._assoc_len > 0: + if self._assoc_len < (2 ** 16 - 2 ** 8): + enc_size = 2 + elif self._assoc_len < (2 ** 32): + assoc_len_encoded = b'\xFF\xFE' + enc_size = 4 + else: + assoc_len_encoded = b'\xFF\xFF' + enc_size = 8 + assoc_len_encoded += long_to_bytes(self._assoc_len, enc_size) + + # b_0 and assoc_len_encoded must be processed first + self._cache.insert(0, b_0) + self._cache.insert(1, assoc_len_encoded) + + # Process all the data cached so far + first_data_to_mac = b"".join(self._cache) + self._cache = b"" + self._mac_status = MacStatus.PROCESSING_AUTH_DATA + self._update(first_data_to_mac) + + def _pad_cache_and_update(self): + + assert(self._mac_status != MacStatus.NOT_STARTED) + assert(len(self._cache) < self.block_size) + + # Associated data is concatenated with the least number + # of zero bytes (possibly none) to reach alignment to + # the 16 byte boundary (A.2.3) + len_cache = len(self._cache) + if len_cache > 0: + self._update(b'\x00' * (self.block_size - len_cache)) + + def update(self, assoc_data): + """Protect associated data + + If there is any associated data, the caller has to invoke + this function one or more times, before using + ``decrypt`` or ``encrypt``. + + By *associated data* it is meant any data (e.g. packet headers) that + will not be encrypted and will be transmitted in the clear. + However, the receiver is still able to detect any modification to it. + In CCM, the *associated data* is also called + *additional authenticated data* (AAD). + + If there is no associated data, this method must not be called. + + The caller may split associated data in segments of any size, and + invoke this method multiple times, each time with the next segment. + + :Parameters: + assoc_data : bytes/bytearray/memoryview + A piece of associated data. There are no restrictions on its size. + """ + + if self.update not in self._next: + raise TypeError("update() can only be called" + " immediately after initialization") + + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + self._cumul_assoc_len += len(assoc_data) + if self._assoc_len is not None and \ + self._cumul_assoc_len > self._assoc_len: + raise ValueError("Associated data is too long") + + self._update(assoc_data) + return self + + def _update(self, assoc_data_pt=b""): + """Update the MAC with associated data or plaintext + (without FSM checks)""" + + # If MAC has not started yet, we just park the data into a list. + # If the data is mutable, we create a copy and store that instead. + if self._mac_status == MacStatus.NOT_STARTED: + if is_writeable_buffer(assoc_data_pt): + assoc_data_pt = _copy_bytes(None, None, assoc_data_pt) + self._cache.append(assoc_data_pt) + return + + assert(len(self._cache) < self.block_size) + + if len(self._cache) > 0: + filler = min(self.block_size - len(self._cache), + len(assoc_data_pt)) + self._cache += _copy_bytes(None, filler, assoc_data_pt) + assoc_data_pt = _copy_bytes(filler, None, assoc_data_pt) + + if len(self._cache) < self.block_size: + return + + # The cache is exactly one block + self._t = self._mac.encrypt(self._cache) + self._cache = b"" + + update_len = len(assoc_data_pt) // self.block_size * self.block_size + self._cache = _copy_bytes(update_len, None, assoc_data_pt) + if update_len > 0: + self._t = self._mac.encrypt(assoc_data_pt[:update_len])[-16:] + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + This method can be called only **once** if ``msg_len`` was + not passed at initialization. + + If ``msg_len`` was given, the data to encrypt can be broken + up in two or more pieces and `encrypt` can be called + multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() can only be called after" + " initialization or an update()") + self._next = [self.encrypt, self.digest] + + # No more associated data allowed from now + if self._assoc_len is None: + assert(isinstance(self._cache, list)) + self._assoc_len = sum([len(x) for x in self._cache]) + if self._msg_len is not None: + self._start_mac() + else: + if self._cumul_assoc_len < self._assoc_len: + raise ValueError("Associated data is too short") + + # Only once piece of plaintext accepted if message length was + # not declared in advance + if self._msg_len is None: + self._msg_len = len(plaintext) + self._start_mac() + self._next = [self.digest] + + self._cumul_msg_len += len(plaintext) + if self._cumul_msg_len > self._msg_len: + raise ValueError("Message is too long") + + if self._mac_status == MacStatus.PROCESSING_AUTH_DATA: + # Associated data is concatenated with the least number + # of zero bytes (possibly none) to reach alignment to + # the 16 byte boundary (A.2.3) + self._pad_cache_and_update() + self._mac_status = MacStatus.PROCESSING_PLAINTEXT + + self._update(plaintext) + return self._cipher.encrypt(plaintext, output=output) + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + This method can be called only **once** if ``msg_len`` was + not passed at initialization. + + If ``msg_len`` was given, the data to decrypt can be + broken up in two or more pieces and `decrypt` can be + called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() can only be called" + " after initialization or an update()") + self._next = [self.decrypt, self.verify] + + # No more associated data allowed from now + if self._assoc_len is None: + assert(isinstance(self._cache, list)) + self._assoc_len = sum([len(x) for x in self._cache]) + if self._msg_len is not None: + self._start_mac() + else: + if self._cumul_assoc_len < self._assoc_len: + raise ValueError("Associated data is too short") + + # Only once piece of ciphertext accepted if message length was + # not declared in advance + if self._msg_len is None: + self._msg_len = len(ciphertext) + self._start_mac() + self._next = [self.verify] + + self._cumul_msg_len += len(ciphertext) + if self._cumul_msg_len > self._msg_len: + raise ValueError("Message is too long") + + if self._mac_status == MacStatus.PROCESSING_AUTH_DATA: + # Associated data is concatenated with the least number + # of zero bytes (possibly none) to reach alignment to + # the 16 byte boundary (A.2.3) + self._pad_cache_and_update() + self._mac_status = MacStatus.PROCESSING_PLAINTEXT + + # Encrypt is equivalent to decrypt with the CTR mode + plaintext = self._cipher.encrypt(ciphertext, output=output) + if output is None: + self._update(plaintext) + else: + self._update(output) + return plaintext + + def digest(self): + """Compute the *binary* MAC tag. + + The caller invokes this function at the very end. + + This method returns the MAC that shall be sent to the receiver, + together with the ciphertext. + + :Return: the MAC, as a byte string. + """ + + if self.digest not in self._next: + raise TypeError("digest() cannot be called when decrypting" + " or validating a message") + self._next = [self.digest] + return self._digest() + + def _digest(self): + if self._mac_tag: + return self._mac_tag + + if self._assoc_len is None: + assert(isinstance(self._cache, list)) + self._assoc_len = sum([len(x) for x in self._cache]) + if self._msg_len is not None: + self._start_mac() + else: + if self._cumul_assoc_len < self._assoc_len: + raise ValueError("Associated data is too short") + + if self._msg_len is None: + self._msg_len = 0 + self._start_mac() + + if self._cumul_msg_len != self._msg_len: + raise ValueError("Message is too short") + + # Both associated data and payload are concatenated with the least + # number of zero bytes (possibly none) that align it to the + # 16 byte boundary (A.2.2 and A.2.3) + self._pad_cache_and_update() + + # Step 8 in 6.1 (T xor MSB_Tlen(S_0)) + self._mac_tag = strxor(self._t, self._s_0)[:self._mac_len] + + return self._mac_tag + + def hexdigest(self): + """Compute the *printable* MAC tag. + + This method is like `digest`. + + :Return: the MAC, as a hexadecimal string. + """ + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def verify(self, received_mac_tag): + """Validate the *binary* MAC tag. + + The caller invokes this function at the very end. + + This method checks if the decrypted message is indeed valid + (that is, if the key is correct) and it has not been + tampered with while in transit. + + :Parameters: + received_mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + if self.verify not in self._next: + raise TypeError("verify() cannot be called" + " when encrypting a message") + self._next = [self.verify] + + self._digest() + secret = get_random_bytes(16) + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, data=self._mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, data=received_mac_tag) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + """Validate the *printable* MAC tag. + + This method is like `verify`. + + :Parameters: + hex_mac_tag : string + This is the *printable* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + self.verify(unhexlify(hex_mac_tag)) + + def encrypt_and_digest(self, plaintext, output=None): + """Perform encrypt() and digest() in one step. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + a tuple with two items: + + - the ciphertext, as ``bytes`` + - the MAC tag, as ``bytes`` + + The first item becomes ``None`` when the ``output`` parameter + specified a location for the result. + """ + + return self.encrypt(plaintext, output=output), self.digest() + + def decrypt_and_verify(self, ciphertext, received_mac_tag, output=None): + """Perform decrypt() and verify() in one step. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + received_mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: the plaintext as ``bytes`` or ``None`` when the ``output`` + parameter specified a location for the result. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + plaintext = self.decrypt(ciphertext, output=output) + self.verify(received_mac_tag) + return plaintext + + +def _create_ccm_cipher(factory, **kwargs): + """Create a new block cipher, configured in CCM mode. + + :Parameters: + factory : module + A symmetric cipher module from `Crypto.Cipher` (like + `Crypto.Cipher.AES`). + + :Keywords: + key : bytes/bytearray/memoryview + The secret key to use in the symmetric cipher. + + nonce : bytes/bytearray/memoryview + A value that must never be reused for any other encryption. + + Its length must be in the range ``[7..13]``. + 11 or 12 bytes are reasonable values in general. Bear in + mind that with CCM there is a trade-off between nonce length and + maximum message size. + + If not specified, a 11 byte long random string is used. + + mac_len : integer + Length of the MAC, in bytes. It must be even and in + the range ``[4..16]``. The default is 16. + + msg_len : integer + Length of the message to (de)cipher. + If not specified, ``encrypt`` or ``decrypt`` may only be called once. + + assoc_len : integer + Length of the associated data. + If not specified, all data is internally buffered. + """ + + try: + key = key = kwargs.pop("key") + except KeyError as e: + raise TypeError("Missing parameter: " + str(e)) + + nonce = kwargs.pop("nonce", None) # N + if nonce is None: + nonce = get_random_bytes(11) + mac_len = kwargs.pop("mac_len", factory.block_size) + msg_len = kwargs.pop("msg_len", None) # p + assoc_len = kwargs.pop("assoc_len", None) # a + cipher_params = dict(kwargs) + + return CcmMode(factory, key, nonce, mac_len, msg_len, + assoc_len, cipher_params) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ccm.pyi b/lib27/site-packages/Crypto/Cipher/_mode_ccm.pyi new file mode 100644 index 000000000..4b9f6200d --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ccm.pyi @@ -0,0 +1,47 @@ +from types import ModuleType +from typing import Union, overload, Dict, Tuple, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['CcmMode'] + +class CcmMode(object): + block_size: int + nonce: bytes + + def __init__(self, + factory: ModuleType, + key: Buffer, + nonce: Buffer, + mac_len: int, + msg_len: int, + assoc_len: int, + cipher_params: Dict) -> None: ... + + def update(self, assoc_data: Buffer) -> CcmMode: ... + + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, received_mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + + @overload + def encrypt_and_digest(self, + plaintext: Buffer) -> Tuple[bytes, bytes]: ... + @overload + def encrypt_and_digest(self, + plaintext: Buffer, + output: Buffer) -> Tuple[None, bytes]: ... + def decrypt_and_verify(self, + ciphertext: Buffer, + received_mac_tag: Buffer, + output: Optional[Union[bytearray, memoryview]] = ...) -> bytes: ... diff --git a/lib27/site-packages/Crypto/Cipher/_mode_cfb.py b/lib27/site-packages/Crypto/Cipher/_mode_cfb.py new file mode 100644 index 000000000..fcd582051 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_cfb.py @@ -0,0 +1,293 @@ +# -*- coding: utf-8 -*- +# +# Cipher/mode_cfb.py : CFB mode +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +""" +Counter Feedback (CFB) mode. +""" + +__all__ = ['CfbMode'] + +from Crypto.Util.py3compat import _copy_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, VoidPointer, + create_string_buffer, get_raw_buffer, + SmartPointer, c_size_t, c_uint8_ptr, + is_writeable_buffer) + +from Crypto.Random import get_random_bytes + +raw_cfb_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_cfb",""" + int CFB_start_operation(void *cipher, + const uint8_t iv[], + size_t iv_len, + size_t segment_len, /* In bytes */ + void **pResult); + int CFB_encrypt(void *cfbState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CFB_decrypt(void *cfbState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CFB_stop_operation(void *state);""" + ) + + +class CfbMode(object): + """*Cipher FeedBack (CFB)*. + + This mode is similar to CFB, but it transforms + the underlying block cipher into a stream cipher. + + Plaintext and ciphertext are processed in *segments* + of **s** bits. The mode is therefore sometimes + labelled **s**-bit CFB. + + An Initialization Vector (*IV*) is required. + + See `NIST SP800-38A`_ , Section 6.3. + + .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + + :undocumented: __init__ + """ + + def __init__(self, block_cipher, iv, segment_size): + """Create a new block cipher, configured in CFB mode. + + :Parameters: + block_cipher : C pointer + A smart pointer to the low-level block cipher instance. + + iv : bytes/bytearray/memoryview + The initialization vector to use for encryption or decryption. + It is as long as the cipher block. + + **The IV must be unpredictable**. Ideally it is picked randomly. + + Reusing the *IV* for encryptions performed with the same key + compromises confidentiality. + + segment_size : integer + The number of bytes the plaintext and ciphertext are segmented in. + """ + + self._state = VoidPointer() + result = raw_cfb_lib.CFB_start_operation(block_cipher.get(), + c_uint8_ptr(iv), + c_size_t(len(iv)), + c_size_t(segment_size), + self._state.address_of()) + if result: + raise ValueError("Error %d while instatiating the CFB mode" % result) + + # Ensure that object disposal of this Python object will (eventually) + # free the memory allocated by the raw library for the cipher mode + self._state = SmartPointer(self._state.get(), + raw_cfb_lib.CFB_stop_operation) + + # Memory allocated for the underlying block cipher is now owed + # by the cipher mode + block_cipher.release() + + self.block_size = len(iv) + """The block size of the underlying cipher, in bytes.""" + + self.iv = _copy_bytes(None, None, iv) + """The Initialization Vector originally used to create the object. + The value does not change.""" + + self.IV = self.iv + """Alias for `iv`""" + + self._next = [ self.encrypt, self.decrypt ] + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() cannot be called after decrypt()") + self._next = [ self.encrypt ] + + if output is None: + ciphertext = create_string_buffer(len(plaintext)) + else: + ciphertext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(plaintext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_cfb_lib.CFB_encrypt(self._state.get(), + c_uint8_ptr(plaintext), + c_uint8_ptr(ciphertext), + c_size_t(len(plaintext))) + if result: + raise ValueError("Error %d while encrypting in CFB mode" % result) + + if output is None: + return get_raw_buffer(ciphertext) + else: + return None + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() cannot be called after encrypt()") + self._next = [ self.decrypt ] + + if output is None: + plaintext = create_string_buffer(len(ciphertext)) + else: + plaintext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(ciphertext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_cfb_lib.CFB_decrypt(self._state.get(), + c_uint8_ptr(ciphertext), + c_uint8_ptr(plaintext), + c_size_t(len(ciphertext))) + if result: + raise ValueError("Error %d while decrypting in CFB mode" % result) + + if output is None: + return get_raw_buffer(plaintext) + else: + return None + + +def _create_cfb_cipher(factory, **kwargs): + """Instantiate a cipher object that performs CFB encryption/decryption. + + :Parameters: + factory : module + The underlying block cipher, a module from ``Crypto.Cipher``. + + :Keywords: + iv : bytes/bytearray/memoryview + The IV to use for CFB. + + IV : bytes/bytearray/memoryview + Alias for ``iv``. + + segment_size : integer + The number of bit the plaintext and ciphertext are segmented in. + If not present, the default is 8. + + Any other keyword will be passed to the underlying block cipher. + See the relevant documentation for details (at least ``key`` will need + to be present). + """ + + cipher_state = factory._create_base_cipher(kwargs) + + iv = kwargs.pop("IV", None) + IV = kwargs.pop("iv", None) + + if (None, None) == (iv, IV): + iv = get_random_bytes(factory.block_size) + if iv is not None: + if IV is not None: + raise TypeError("You must either use 'iv' or 'IV', not both") + else: + iv = IV + + if len(iv) != factory.block_size: + raise ValueError("Incorrect IV length (it must be %d bytes long)" % + factory.block_size) + + segment_size_bytes, rem = divmod(kwargs.pop("segment_size", 8), 8) + if segment_size_bytes == 0 or rem != 0: + raise ValueError("'segment_size' must be positive and multiple of 8 bits") + + if kwargs: + raise TypeError("Unknown parameters for CFB: %s" % str(kwargs)) + return CfbMode(cipher_state, iv, segment_size_bytes) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_cfb.pyi b/lib27/site-packages/Crypto/Cipher/_mode_cfb.pyi new file mode 100644 index 000000000..e13a909b1 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_cfb.pyi @@ -0,0 +1,26 @@ +from typing import Union, overload + +from Crypto.Util._raw_api import SmartPointer + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['CfbMode'] + + +class CfbMode(object): + block_size: int + iv: Buffer + IV: Buffer + + def __init__(self, + block_cipher: SmartPointer, + iv: Buffer, + segment_size: int) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ctr.py b/lib27/site-packages/Crypto/Cipher/_mode_ctr.py new file mode 100644 index 000000000..83d1688ed --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ctr.py @@ -0,0 +1,393 @@ +# -*- coding: utf-8 -*- +# +# Cipher/mode_ctr.py : CTR mode +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +""" +Counter (CTR) mode. +""" + +__all__ = ['CtrMode'] + +import struct + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, VoidPointer, + create_string_buffer, get_raw_buffer, + SmartPointer, c_size_t, c_uint8_ptr, + is_writeable_buffer) + +from Crypto.Random import get_random_bytes +from Crypto.Util.py3compat import _copy_bytes, is_native_int +from Crypto.Util.number import long_to_bytes + +raw_ctr_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_ctr", """ + int CTR_start_operation(void *cipher, + uint8_t initialCounterBlock[], + size_t initialCounterBlock_len, + size_t prefix_len, + unsigned counter_len, + unsigned littleEndian, + void **pResult); + int CTR_encrypt(void *ctrState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CTR_decrypt(void *ctrState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int CTR_stop_operation(void *ctrState);""" + ) + + +class CtrMode(object): + """*CounTeR (CTR)* mode. + + This mode is very similar to ECB, in that + encryption of one block is done independently of all other blocks. + + Unlike ECB, the block *position* contributes to the encryption + and no information leaks about symbol frequency. + + Each message block is associated to a *counter* which + must be unique across all messages that get encrypted + with the same key (not just within the same message). + The counter is as big as the block size. + + Counters can be generated in several ways. The most + straightword one is to choose an *initial counter block* + (which can be made public, similarly to the *IV* for the + other modes) and increment its lowest **m** bits by one + (modulo *2^m*) for each block. In most cases, **m** is + chosen to be half the block size. + + See `NIST SP800-38A`_, Section 6.5 (for the mode) and + Appendix B (for how to manage the *initial counter block*). + + .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + + :undocumented: __init__ + """ + + def __init__(self, block_cipher, initial_counter_block, + prefix_len, counter_len, little_endian): + """Create a new block cipher, configured in CTR mode. + + :Parameters: + block_cipher : C pointer + A smart pointer to the low-level block cipher instance. + + initial_counter_block : bytes/bytearray/memoryview + The initial plaintext to use to generate the key stream. + + It is as large as the cipher block, and it embeds + the initial value of the counter. + + This value must not be reused. + It shall contain a nonce or a random component. + Reusing the *initial counter block* for encryptions + performed with the same key compromises confidentiality. + + prefix_len : integer + The amount of bytes at the beginning of the counter block + that never change. + + counter_len : integer + The length in bytes of the counter embedded in the counter + block. + + little_endian : boolean + True if the counter in the counter block is an integer encoded + in little endian mode. If False, it is big endian. + """ + + if len(initial_counter_block) == prefix_len + counter_len: + self.nonce = _copy_bytes(None, prefix_len, initial_counter_block) + """Nonce; not available if there is a fixed suffix""" + + self._state = VoidPointer() + result = raw_ctr_lib.CTR_start_operation(block_cipher.get(), + c_uint8_ptr(initial_counter_block), + c_size_t(len(initial_counter_block)), + c_size_t(prefix_len), + counter_len, + little_endian, + self._state.address_of()) + if result: + raise ValueError("Error %X while instatiating the CTR mode" + % result) + + # Ensure that object disposal of this Python object will (eventually) + # free the memory allocated by the raw library for the cipher mode + self._state = SmartPointer(self._state.get(), + raw_ctr_lib.CTR_stop_operation) + + # Memory allocated for the underlying block cipher is now owed + # by the cipher mode + block_cipher.release() + + self.block_size = len(initial_counter_block) + """The block size of the underlying cipher, in bytes.""" + + self._next = [self.encrypt, self.decrypt] + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() cannot be called after decrypt()") + self._next = [self.encrypt] + + if output is None: + ciphertext = create_string_buffer(len(plaintext)) + else: + ciphertext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(plaintext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_ctr_lib.CTR_encrypt(self._state.get(), + c_uint8_ptr(plaintext), + c_uint8_ptr(ciphertext), + c_size_t(len(plaintext))) + if result: + if result == 0x60002: + raise OverflowError("The counter has wrapped around in" + " CTR mode") + raise ValueError("Error %X while encrypting in CTR mode" % result) + + if output is None: + return get_raw_buffer(ciphertext) + else: + return None + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() cannot be called after encrypt()") + self._next = [self.decrypt] + + if output is None: + plaintext = create_string_buffer(len(ciphertext)) + else: + plaintext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(ciphertext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + + result = raw_ctr_lib.CTR_decrypt(self._state.get(), + c_uint8_ptr(ciphertext), + c_uint8_ptr(plaintext), + c_size_t(len(ciphertext))) + if result: + if result == 0x60002: + raise OverflowError("The counter has wrapped around in" + " CTR mode") + raise ValueError("Error %X while decrypting in CTR mode" % result) + + if output is None: + return get_raw_buffer(plaintext) + else: + return None + + +def _create_ctr_cipher(factory, **kwargs): + """Instantiate a cipher object that performs CTR encryption/decryption. + + :Parameters: + factory : module + The underlying block cipher, a module from ``Crypto.Cipher``. + + :Keywords: + nonce : bytes/bytearray/memoryview + The fixed part at the beginning of the counter block - the rest is + the counter number that gets increased when processing the next block. + The nonce must be such that no two messages are encrypted under the + same key and the same nonce. + + The nonce must be shorter than the block size (it can have + zero length; the counter is then as long as the block). + + If this parameter is not present, a random nonce will be created with + length equal to half the block size. No random nonce shorter than + 64 bits will be created though - you must really think through all + security consequences of using such a short block size. + + initial_value : posive integer or bytes/bytearray/memoryview + The initial value for the counter. If not present, the cipher will + start counting from 0. The value is incremented by one for each block. + The counter number is encoded in big endian mode. + + counter : object + Instance of ``Crypto.Util.Counter``, which allows full customization + of the counter block. This parameter is incompatible to both ``nonce`` + and ``initial_value``. + + Any other keyword will be passed to the underlying block cipher. + See the relevant documentation for details (at least ``key`` will need + to be present). + """ + + cipher_state = factory._create_base_cipher(kwargs) + + counter = kwargs.pop("counter", None) + nonce = kwargs.pop("nonce", None) + initial_value = kwargs.pop("initial_value", None) + if kwargs: + raise TypeError("Invalid parameters for CTR mode: %s" % str(kwargs)) + + if counter is not None and (nonce, initial_value) != (None, None): + raise TypeError("'counter' and 'nonce'/'initial_value'" + " are mutually exclusive") + + if counter is None: + # Crypto.Util.Counter is not used + if nonce is None: + if factory.block_size < 16: + raise TypeError("Impossible to create a safe nonce for short" + " block sizes") + nonce = get_random_bytes(factory.block_size // 2) + else: + if len(nonce) >= factory.block_size: + raise ValueError("Nonce is too long") + + # What is not nonce is counter + counter_len = factory.block_size - len(nonce) + + if initial_value is None: + initial_value = 0 + + if is_native_int(initial_value): + if (1 << (counter_len * 8)) - 1 < initial_value: + raise ValueError("Initial counter value is too large") + initial_counter_block = nonce + long_to_bytes(initial_value, counter_len) + else: + if len(initial_value) != counter_len: + raise ValueError("Incorrect length for counter byte string (%d bytes, expected %d)" % (len(initial_value), counter_len)) + initial_counter_block = nonce + initial_value + + return CtrMode(cipher_state, + initial_counter_block, + len(nonce), # prefix + counter_len, + False) # little_endian + + # Crypto.Util.Counter is used + + # 'counter' used to be a callable object, but now it is + # just a dictionary for backward compatibility. + _counter = dict(counter) + try: + counter_len = _counter.pop("counter_len") + prefix = _counter.pop("prefix") + suffix = _counter.pop("suffix") + initial_value = _counter.pop("initial_value") + little_endian = _counter.pop("little_endian") + except KeyError: + raise TypeError("Incorrect counter object" + " (use Crypto.Util.Counter.new)") + + # Compute initial counter block + words = [] + while initial_value > 0: + words.append(struct.pack('B', initial_value & 255)) + initial_value >>= 8 + words += [ b'\x00' ] * max(0, counter_len - len(words)) + if not little_endian: + words.reverse() + initial_counter_block = prefix + b"".join(words) + suffix + + if len(initial_counter_block) != factory.block_size: + raise ValueError("Size of the counter block (%d bytes) must match" + " block size (%d)" % (len(initial_counter_block), + factory.block_size)) + + return CtrMode(cipher_state, initial_counter_block, + len(prefix), counter_len, little_endian) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ctr.pyi b/lib27/site-packages/Crypto/Cipher/_mode_ctr.pyi new file mode 100644 index 000000000..ce708557d --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ctr.pyi @@ -0,0 +1,27 @@ +from typing import Union, overload + +from Crypto.Util._raw_api import SmartPointer + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['CtrMode'] + +class CtrMode(object): + block_size: int + nonce: bytes + + def __init__(self, + block_cipher: SmartPointer, + initial_counter_block: Buffer, + prefix_len: int, + counter_len: int, + little_endian: bool) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + diff --git a/lib27/site-packages/Crypto/Cipher/_mode_eax.py b/lib27/site-packages/Crypto/Cipher/_mode_eax.py new file mode 100644 index 000000000..d5fb1351b --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_eax.py @@ -0,0 +1,408 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +EAX mode. +""" + +__all__ = ['EaxMode'] + +import struct +from binascii import unhexlify + +from Crypto.Util.py3compat import byte_string, bord, _copy_bytes + +from Crypto.Util._raw_api import is_buffer + +from Crypto.Util.strxor import strxor +from Crypto.Util.number import long_to_bytes, bytes_to_long + +from Crypto.Hash import CMAC, BLAKE2s +from Crypto.Random import get_random_bytes + + +class EaxMode(object): + """*EAX* mode. + + This is an Authenticated Encryption with Associated Data + (`AEAD`_) mode. It provides both confidentiality and authenticity. + + The header of the message may be left in the clear, if needed, + and it will still be subject to authentication. + + The decryption step tells the receiver if the message comes + from a source that really knowns the secret key. + Additionally, decryption detects if any part of the message - + including the header - has been modified or corrupted. + + This mode requires a *nonce*. + + This mode is only available for ciphers that operate on 64 or + 128 bits blocks. + + There are no official standards defining EAX. + The implementation is based on `a proposal`__ that + was presented to NIST. + + .. _AEAD: http://blog.cryptographyengineering.com/2012/05/how-to-choose-authenticated-encryption.html + .. __: http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/eax/eax-spec.pdf + + :undocumented: __init__ + """ + + def __init__(self, factory, key, nonce, mac_len, cipher_params): + """EAX cipher mode""" + + self.block_size = factory.block_size + """The block size of the underlying cipher, in bytes.""" + + self.nonce = _copy_bytes(None, None, nonce) + """The nonce originally used to create the object.""" + + self._mac_len = mac_len + self._mac_tag = None # Cache for MAC tag + + # Allowed transitions after initialization + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + # MAC tag length + if not (4 <= self._mac_len <= self.block_size): + raise ValueError("Parameter 'mac_len' must not be larger than %d" + % self.block_size) + + # Nonce cannot be empty and must be a byte string + if len(self.nonce) == 0: + raise ValueError("Nonce cannot be empty in EAX mode") + if not is_buffer(nonce): + raise TypeError("nonce must be bytes, bytearray or memoryview") + + self._omac = [ + CMAC.new(key, + b'\x00' * (self.block_size - 1) + struct.pack('B', i), + ciphermod=factory, + cipher_params=cipher_params) + for i in range(0, 3) + ] + + # Compute MAC of nonce + self._omac[0].update(self.nonce) + self._signer = self._omac[1] + + # MAC of the nonce is also the initial counter for CTR encryption + counter_int = bytes_to_long(self._omac[0].digest()) + self._cipher = factory.new(key, + factory.MODE_CTR, + initial_value=counter_int, + nonce=b"", + **cipher_params) + + def update(self, assoc_data): + """Protect associated data + + If there is any associated data, the caller has to invoke + this function one or more times, before using + ``decrypt`` or ``encrypt``. + + By *associated data* it is meant any data (e.g. packet headers) that + will not be encrypted and will be transmitted in the clear. + However, the receiver is still able to detect any modification to it. + + If there is no associated data, this method must not be called. + + The caller may split associated data in segments of any size, and + invoke this method multiple times, each time with the next segment. + + :Parameters: + assoc_data : bytes/bytearray/memoryview + A piece of associated data. There are no restrictions on its size. + """ + + if self.update not in self._next: + raise TypeError("update() can only be called" + " immediately after initialization") + + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + self._signer.update(assoc_data) + return self + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() can only be called after" + " initialization or an update()") + self._next = [self.encrypt, self.digest] + ct = self._cipher.encrypt(plaintext, output=output) + if output is None: + self._omac[2].update(ct) + else: + self._omac[2].update(output) + return ct + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() can only be called" + " after initialization or an update()") + self._next = [self.decrypt, self.verify] + self._omac[2].update(ciphertext) + return self._cipher.decrypt(ciphertext, output=output) + + def digest(self): + """Compute the *binary* MAC tag. + + The caller invokes this function at the very end. + + This method returns the MAC that shall be sent to the receiver, + together with the ciphertext. + + :Return: the MAC, as a byte string. + """ + + if self.digest not in self._next: + raise TypeError("digest() cannot be called when decrypting" + " or validating a message") + self._next = [self.digest] + + if not self._mac_tag: + tag = b'\x00' * self.block_size + for i in range(3): + tag = strxor(tag, self._omac[i].digest()) + self._mac_tag = tag[:self._mac_len] + + return self._mac_tag + + def hexdigest(self): + """Compute the *printable* MAC tag. + + This method is like `digest`. + + :Return: the MAC, as a hexadecimal string. + """ + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def verify(self, received_mac_tag): + """Validate the *binary* MAC tag. + + The caller invokes this function at the very end. + + This method checks if the decrypted message is indeed valid + (that is, if the key is correct) and it has not been + tampered with while in transit. + + :Parameters: + received_mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Raises MacMismatchError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + if self.verify not in self._next: + raise TypeError("verify() cannot be called" + " when encrypting a message") + self._next = [self.verify] + + if not self._mac_tag: + tag = b'\x00' * self.block_size + for i in range(3): + tag = strxor(tag, self._omac[i].digest()) + self._mac_tag = tag[:self._mac_len] + + secret = get_random_bytes(16) + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, data=self._mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, data=received_mac_tag) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + """Validate the *printable* MAC tag. + + This method is like `verify`. + + :Parameters: + hex_mac_tag : string + This is the *printable* MAC, as received from the sender. + :Raises MacMismatchError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + self.verify(unhexlify(hex_mac_tag)) + + def encrypt_and_digest(self, plaintext, output=None): + """Perform encrypt() and digest() in one step. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + a tuple with two items: + + - the ciphertext, as ``bytes`` + - the MAC tag, as ``bytes`` + + The first item becomes ``None`` when the ``output`` parameter + specified a location for the result. + """ + + return self.encrypt(plaintext, output=output), self.digest() + + def decrypt_and_verify(self, ciphertext, received_mac_tag, output=None): + """Perform decrypt() and verify() in one step. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + received_mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: the plaintext as ``bytes`` or ``None`` when the ``output`` + parameter specified a location for the result. + :Raises MacMismatchError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + pt = self.decrypt(ciphertext, output=output) + self.verify(received_mac_tag) + return pt + + +def _create_eax_cipher(factory, **kwargs): + """Create a new block cipher, configured in EAX mode. + + :Parameters: + factory : module + A symmetric cipher module from `Crypto.Cipher` (like + `Crypto.Cipher.AES`). + + :Keywords: + key : bytes/bytearray/memoryview + The secret key to use in the symmetric cipher. + + nonce : bytes/bytearray/memoryview + A value that must never be reused for any other encryption. + There are no restrictions on its length, but it is recommended to use + at least 16 bytes. + + The nonce shall never repeat for two different messages encrypted with + the same key, but it does not need to be random. + + If not specified, a 16 byte long random string is used. + + mac_len : integer + Length of the MAC, in bytes. It must be no larger than the cipher + block bytes (which is the default). + """ + + try: + key = kwargs.pop("key") + nonce = kwargs.pop("nonce", None) + if nonce is None: + nonce = get_random_bytes(16) + mac_len = kwargs.pop("mac_len", factory.block_size) + except KeyError as e: + raise TypeError("Missing parameter: " + str(e)) + + return EaxMode(factory, key, nonce, mac_len, kwargs) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_eax.pyi b/lib27/site-packages/Crypto/Cipher/_mode_eax.pyi new file mode 100644 index 000000000..cbfa467eb --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_eax.pyi @@ -0,0 +1,45 @@ +from types import ModuleType +from typing import Any, Union, Tuple, Dict, overload, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['EaxMode'] + +class EaxMode(object): + block_size: int + nonce: bytes + + def __init__(self, + factory: ModuleType, + key: Buffer, + nonce: Buffer, + mac_len: int, + cipher_params: Dict) -> None: ... + + def update(self, assoc_data: Buffer) -> EaxMode: ... + + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, received_mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + + @overload + def encrypt_and_digest(self, + plaintext: Buffer) -> Tuple[bytes, bytes]: ... + @overload + def encrypt_and_digest(self, + plaintext: Buffer, + output: Buffer) -> Tuple[None, bytes]: ... + def decrypt_and_verify(self, + ciphertext: Buffer, + received_mac_tag: Buffer, + output: Optional[Union[bytearray, memoryview]] = ...) -> bytes: ... diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ecb.py b/lib27/site-packages/Crypto/Cipher/_mode_ecb.py new file mode 100644 index 000000000..03b77bfd8 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ecb.py @@ -0,0 +1,218 @@ +# -*- coding: utf-8 -*- +# +# Cipher/mode_ecb.py : ECB mode +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +""" +Electronic Code Book (ECB) mode. +""" + +__all__ = [ 'EcbMode' ] + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, create_string_buffer, + get_raw_buffer, SmartPointer, + c_size_t, c_uint8_ptr, + is_writeable_buffer) + +raw_ecb_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_ecb", """ + int ECB_start_operation(void *cipher, + void **pResult); + int ECB_encrypt(void *ecbState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int ECB_decrypt(void *ecbState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int ECB_stop_operation(void *state); + """ + ) + + +class EcbMode(object): + """*Electronic Code Book (ECB)*. + + This is the simplest encryption mode. Each of the plaintext blocks + is directly encrypted into a ciphertext block, independently of + any other block. + + This mode is dangerous because it exposes frequency of symbols + in your plaintext. Other modes (e.g. *CBC*) should be used instead. + + See `NIST SP800-38A`_ , Section 6.1. + + .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + + :undocumented: __init__ + """ + + def __init__(self, block_cipher): + """Create a new block cipher, configured in ECB mode. + + :Parameters: + block_cipher : C pointer + A smart pointer to the low-level block cipher instance. + """ + + self._state = VoidPointer() + result = raw_ecb_lib.ECB_start_operation(block_cipher.get(), + self._state.address_of()) + if result: + raise ValueError("Error %d while instatiating the ECB mode" + % result) + + # Ensure that object disposal of this Python object will (eventually) + # free the memory allocated by the raw library for the cipher + # mode + self._state = SmartPointer(self._state.get(), + raw_ecb_lib.ECB_stop_operation) + + # Memory allocated for the underlying block cipher is now owned + # by the cipher mode + block_cipher.release() + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key set at initialization. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + The length must be multiple of the cipher block length. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if output is None: + ciphertext = create_string_buffer(len(plaintext)) + else: + ciphertext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(plaintext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_ecb_lib.ECB_encrypt(self._state.get(), + c_uint8_ptr(plaintext), + c_uint8_ptr(ciphertext), + c_size_t(len(plaintext))) + if result: + if result == 3: + raise ValueError("Data must be aligned to block boundary in ECB mode") + raise ValueError("Error %d while encrypting in ECB mode" % result) + + if output is None: + return get_raw_buffer(ciphertext) + else: + return None + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key set at initialization. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + The length must be multiple of the cipher block length. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if output is None: + plaintext = create_string_buffer(len(ciphertext)) + else: + plaintext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(ciphertext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_ecb_lib.ECB_decrypt(self._state.get(), + c_uint8_ptr(ciphertext), + c_uint8_ptr(plaintext), + c_size_t(len(ciphertext))) + if result: + if result == 3: + raise ValueError("Data must be aligned to block boundary in ECB mode") + raise ValueError("Error %d while decrypting in ECB mode" % result) + + if output is None: + return get_raw_buffer(plaintext) + else: + return None + + +def _create_ecb_cipher(factory, **kwargs): + """Instantiate a cipher object that performs ECB encryption/decryption. + + :Parameters: + factory : module + The underlying block cipher, a module from ``Crypto.Cipher``. + + All keywords are passed to the underlying block cipher. + See the relevant documentation for details (at least ``key`` will need + to be present""" + + cipher_state = factory._create_base_cipher(kwargs) + if kwargs: + raise TypeError("Unknown parameters for ECB: %s" % str(kwargs)) + return EcbMode(cipher_state) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ecb.pyi b/lib27/site-packages/Crypto/Cipher/_mode_ecb.pyi new file mode 100644 index 000000000..1772b23cc --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ecb.pyi @@ -0,0 +1,19 @@ +from typing import Union, overload + +from Crypto.Util._raw_api import SmartPointer + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = [ 'EcbMode' ] + +class EcbMode(object): + def __init__(self, block_cipher: SmartPointer) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + diff --git a/lib27/site-packages/Crypto/Cipher/_mode_gcm.py b/lib27/site-packages/Crypto/Cipher/_mode_gcm.py new file mode 100644 index 000000000..b5e0ab394 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_gcm.py @@ -0,0 +1,622 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +Galois/Counter Mode (GCM). +""" + +__all__ = ['GcmMode'] + +from binascii import unhexlify + +from Crypto.Util.py3compat import bord, _copy_bytes + +from Crypto.Util._raw_api import is_buffer + +from Crypto.Util.number import long_to_bytes, bytes_to_long +from Crypto.Hash import BLAKE2s +from Crypto.Random import get_random_bytes + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, VoidPointer, + create_string_buffer, get_raw_buffer, + SmartPointer, c_size_t, c_uint8_ptr) + +from Crypto.Util import _cpu_features + + +# C API by module implementing GHASH +_ghash_api_template = """ + int ghash_%imp%(uint8_t y_out[16], + const uint8_t block_data[], + size_t len, + const uint8_t y_in[16], + const void *exp_key); + int ghash_expand_%imp%(const uint8_t h[16], + void **ghash_tables); + int ghash_destroy_%imp%(void *ghash_tables); +""" + +def _build_impl(lib, postfix): + from collections import namedtuple + + funcs = ( "ghash", "ghash_expand", "ghash_destroy" ) + GHASH_Imp = namedtuple('_GHash_Imp', funcs) + try: + imp_funcs = [ getattr(lib, x + "_" + postfix) for x in funcs ] + except AttributeError: # Make sphinx stop complaining with its mocklib + imp_funcs = [ None ] * 3 + params = dict(zip(funcs, imp_funcs)) + return GHASH_Imp(**params) + + +def _get_ghash_portable(): + api = _ghash_api_template.replace("%imp%", "portable") + lib = load_pycryptodome_raw_lib("Crypto.Hash._ghash_portable", api) + result = _build_impl(lib, "portable") + return result +_ghash_portable = _get_ghash_portable() + + +def _get_ghash_clmul(): + """Return None if CLMUL implementation is not available""" + + if not _cpu_features.have_clmul(): + return None + try: + api = _ghash_api_template.replace("%imp%", "clmul") + lib = load_pycryptodome_raw_lib("Crypto.Hash._ghash_clmul", api) + result = _build_impl(lib, "clmul") + except OSError: + result = None + return result +_ghash_clmul = _get_ghash_clmul() + + +class _GHASH(object): + """GHASH function defined in NIST SP 800-38D, Algorithm 2. + + If X_1, X_2, .. X_m are the blocks of input data, the function + computes: + + X_1*H^{m} + X_2*H^{m-1} + ... + X_m*H + + in the Galois field GF(2^256) using the reducing polynomial + (x^128 + x^7 + x^2 + x + 1). + """ + + def __init__(self, subkey, ghash_c): + assert len(subkey) == 16 + + self.ghash_c = ghash_c + + self._exp_key = VoidPointer() + result = ghash_c.ghash_expand(c_uint8_ptr(subkey), + self._exp_key.address_of()) + if result: + raise ValueError("Error %d while expanding the GHASH key" % result) + + self._exp_key = SmartPointer(self._exp_key.get(), + ghash_c.ghash_destroy) + + # create_string_buffer always returns a string of zeroes + self._last_y = create_string_buffer(16) + + def update(self, block_data): + assert len(block_data) % 16 == 0 + + result = self.ghash_c.ghash(self._last_y, + c_uint8_ptr(block_data), + c_size_t(len(block_data)), + self._last_y, + self._exp_key.get()) + if result: + raise ValueError("Error %d while updating GHASH" % result) + + return self + + def digest(self): + return get_raw_buffer(self._last_y) + + +def enum(**enums): + return type('Enum', (), enums) + + +MacStatus = enum(PROCESSING_AUTH_DATA=1, PROCESSING_CIPHERTEXT=2) + + +class GcmMode(object): + """Galois Counter Mode (GCM). + + This is an Authenticated Encryption with Associated Data (`AEAD`_) mode. + It provides both confidentiality and authenticity. + + The header of the message may be left in the clear, if needed, and it will + still be subject to authentication. The decryption step tells the receiver + if the message comes from a source that really knowns the secret key. + Additionally, decryption detects if any part of the message - including the + header - has been modified or corrupted. + + This mode requires a *nonce*. + + This mode is only available for ciphers that operate on 128 bits blocks + (e.g. AES but not TDES). + + See `NIST SP800-38D`_. + + .. _`NIST SP800-38D`: http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf + .. _AEAD: http://blog.cryptographyengineering.com/2012/05/how-to-choose-authenticated-encryption.html + + :undocumented: __init__ + """ + + def __init__(self, factory, key, nonce, mac_len, cipher_params, ghash_c): + + self.block_size = factory.block_size + if self.block_size != 16: + raise ValueError("GCM mode is only available for ciphers" + " that operate on 128 bits blocks") + + if len(nonce) == 0: + raise ValueError("Nonce cannot be empty") + + if not is_buffer(nonce): + raise TypeError("Nonce must be bytes, bytearray or memoryview") + + # See NIST SP 800 38D, 5.2.1.1 + if len(nonce) > 2**64 - 1: + raise ValueError("Nonce exceeds maximum length") + + + self.nonce = _copy_bytes(None, None, nonce) + """Nonce""" + + self._factory = factory + self._key = _copy_bytes(None, None, key) + self._tag = None # Cache for MAC tag + + self._mac_len = mac_len + if not (4 <= mac_len <= 16): + raise ValueError("Parameter 'mac_len' must be in the range 4..16") + + # Allowed transitions after initialization + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + self._no_more_assoc_data = False + + # Length of associated data + self._auth_len = 0 + + # Length of the ciphertext or plaintext + self._msg_len = 0 + + # Step 1 in SP800-38D, Algorithm 4 (encryption) - Compute H + # See also Algorithm 5 (decryption) + hash_subkey = factory.new(key, + self._factory.MODE_ECB, + **cipher_params + ).encrypt(b'\x00' * 16) + + # Step 2 - Compute J0 (integer, not byte string!) + if len(self.nonce) == 12: + self._j0 = bytes_to_long(self.nonce + b"\x00\x00\x00\x01") + else: + fill = (16 - (len(nonce) % 16)) % 16 + 8 + ghash_in = (self.nonce + + b'\x00' * fill + + long_to_bytes(8 * len(nonce), 8)) + self._j0 = bytes_to_long(_GHASH(hash_subkey, ghash_c) + .update(ghash_in) + .digest()) + + # Step 3 - Prepare GCTR cipher for encryption/decryption + nonce_ctr = long_to_bytes(self._j0 >> 32, 12) + iv_ctr = (self._j0 + 1) & 0xFFFFFFFF + self._cipher = factory.new(key, + self._factory.MODE_CTR, + initial_value=iv_ctr, + nonce=nonce_ctr, + **cipher_params) + + # Step 5 - Bootstrat GHASH + self._signer = _GHASH(hash_subkey, ghash_c) + + # Step 6 - Prepare GCTR cipher for GMAC + self._tag_cipher = factory.new(key, + self._factory.MODE_CTR, + initial_value=self._j0, + nonce=b"", + **cipher_params) + + # Cache for data to authenticate + self._cache = b"" + + self._status = MacStatus.PROCESSING_AUTH_DATA + + def update(self, assoc_data): + """Protect associated data + + If there is any associated data, the caller has to invoke + this function one or more times, before using + ``decrypt`` or ``encrypt``. + + By *associated data* it is meant any data (e.g. packet headers) that + will not be encrypted and will be transmitted in the clear. + However, the receiver is still able to detect any modification to it. + In GCM, the *associated data* is also called + *additional authenticated data* (AAD). + + If there is no associated data, this method must not be called. + + The caller may split associated data in segments of any size, and + invoke this method multiple times, each time with the next segment. + + :Parameters: + assoc_data : bytes/bytearray/memoryview + A piece of associated data. There are no restrictions on its size. + """ + + if self.update not in self._next: + raise TypeError("update() can only be called" + " immediately after initialization") + + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + self._update(assoc_data) + self._auth_len += len(assoc_data) + + # See NIST SP 800 38D, 5.2.1.1 + if self._auth_len > 2**64 - 1: + raise ValueError("Additional Authenticated Data exceeds maximum length") + + return self + + def _update(self, data): + assert(len(self._cache) < 16) + + if len(self._cache) > 0: + filler = min(16 - len(self._cache), len(data)) + self._cache += _copy_bytes(None, filler, data) + data = data[filler:] + + if len(self._cache) < 16: + return + + # The cache is exactly one block + self._signer.update(self._cache) + self._cache = b"" + + update_len = len(data) // 16 * 16 + self._cache = _copy_bytes(update_len, None, data) + if update_len > 0: + self._signer.update(data[:update_len]) + + def _pad_cache_and_update(self): + assert(len(self._cache) < 16) + + # The authenticated data A is concatenated to the minimum + # number of zero bytes (possibly none) such that the + # - ciphertext C is aligned to the 16 byte boundary. + # See step 5 in section 7.1 + # - ciphertext C is aligned to the 16 byte boundary. + # See step 6 in section 7.2 + len_cache = len(self._cache) + if len_cache > 0: + self._update(b'\x00' * (16 - len_cache)) + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() can only be called after" + " initialization or an update()") + self._next = [self.encrypt, self.digest] + + ciphertext = self._cipher.encrypt(plaintext, output=output) + + if self._status == MacStatus.PROCESSING_AUTH_DATA: + self._pad_cache_and_update() + self._status = MacStatus.PROCESSING_CIPHERTEXT + + self._update(ciphertext if output is None else output) + self._msg_len += len(plaintext) + + # See NIST SP 800 38D, 5.2.1.1 + if self._msg_len > 2**39 - 256: + raise ValueError("Plaintext exceeds maximum length") + + return ciphertext + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() can only be called" + " after initialization or an update()") + self._next = [self.decrypt, self.verify] + + if self._status == MacStatus.PROCESSING_AUTH_DATA: + self._pad_cache_and_update() + self._status = MacStatus.PROCESSING_CIPHERTEXT + + self._update(ciphertext) + self._msg_len += len(ciphertext) + + return self._cipher.decrypt(ciphertext, output=output) + + def digest(self): + """Compute the *binary* MAC tag in an AEAD mode. + + The caller invokes this function at the very end. + + This method returns the MAC that shall be sent to the receiver, + together with the ciphertext. + + :Return: the MAC, as a byte string. + """ + + if self.digest not in self._next: + raise TypeError("digest() cannot be called when decrypting" + " or validating a message") + self._next = [self.digest] + + return self._compute_mac() + + def _compute_mac(self): + """Compute MAC without any FSM checks.""" + + if self._tag: + return self._tag + + # Step 5 in NIST SP 800-38D, Algorithm 4 - Compute S + self._pad_cache_and_update() + self._update(long_to_bytes(8 * self._auth_len, 8)) + self._update(long_to_bytes(8 * self._msg_len, 8)) + s_tag = self._signer.digest() + + # Step 6 - Compute T + self._tag = self._tag_cipher.encrypt(s_tag)[:self._mac_len] + + return self._tag + + def hexdigest(self): + """Compute the *printable* MAC tag. + + This method is like `digest`. + + :Return: the MAC, as a hexadecimal string. + """ + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def verify(self, received_mac_tag): + """Validate the *binary* MAC tag. + + The caller invokes this function at the very end. + + This method checks if the decrypted message is indeed valid + (that is, if the key is correct) and it has not been + tampered with while in transit. + + :Parameters: + received_mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + if self.verify not in self._next: + raise TypeError("verify() cannot be called" + " when encrypting a message") + self._next = [self.verify] + + secret = get_random_bytes(16) + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, + data=self._compute_mac()) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, + data=received_mac_tag) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + """Validate the *printable* MAC tag. + + This method is like `verify`. + + :Parameters: + hex_mac_tag : string + This is the *printable* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + self.verify(unhexlify(hex_mac_tag)) + + def encrypt_and_digest(self, plaintext, output=None): + """Perform encrypt() and digest() in one step. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + a tuple with two items: + + - the ciphertext, as ``bytes`` + - the MAC tag, as ``bytes`` + + The first item becomes ``None`` when the ``output`` parameter + specified a location for the result. + """ + + return self.encrypt(plaintext, output=output), self.digest() + + def decrypt_and_verify(self, ciphertext, received_mac_tag, output=None): + """Perform decrypt() and verify() in one step. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + received_mac_tag : byte string + This is the *binary* MAC, as received from the sender. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: the plaintext as ``bytes`` or ``None`` when the ``output`` + parameter specified a location for the result. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + plaintext = self.decrypt(ciphertext, output=output) + self.verify(received_mac_tag) + return plaintext + + +def _create_gcm_cipher(factory, **kwargs): + """Create a new block cipher, configured in Galois Counter Mode (GCM). + + :Parameters: + factory : module + A block cipher module, taken from `Crypto.Cipher`. + The cipher must have block length of 16 bytes. + GCM has been only defined for `Crypto.Cipher.AES`. + + :Keywords: + key : bytes/bytearray/memoryview + The secret key to use in the symmetric cipher. + It must be 16 (e.g. *AES-128*), 24 (e.g. *AES-192*) + or 32 (e.g. *AES-256*) bytes long. + + nonce : bytes/bytearray/memoryview + A value that must never be reused for any other encryption. + + There are no restrictions on its length, + but it is recommended to use at least 16 bytes. + + The nonce shall never repeat for two + different messages encrypted with the same key, + but it does not need to be random. + + If not provided, a 16 byte nonce will be randomly created. + + mac_len : integer + Length of the MAC, in bytes. + It must be no larger than 16 bytes (which is the default). + """ + + try: + key = kwargs.pop("key") + except KeyError as e: + raise TypeError("Missing parameter:" + str(e)) + + nonce = kwargs.pop("nonce", None) + if nonce is None: + nonce = get_random_bytes(16) + mac_len = kwargs.pop("mac_len", 16) + + # Not documented - only used for testing + use_clmul = kwargs.pop("use_clmul", True) + if use_clmul and _ghash_clmul: + ghash_c = _ghash_clmul + else: + ghash_c = _ghash_portable + + return GcmMode(factory, key, nonce, mac_len, kwargs, ghash_c) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_gcm.pyi b/lib27/site-packages/Crypto/Cipher/_mode_gcm.pyi new file mode 100644 index 000000000..8912955f2 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_gcm.pyi @@ -0,0 +1,45 @@ +from types import ModuleType +from typing import Union, Tuple, Dict, overload, Optional + +__all__ = ['GcmMode'] + +Buffer = Union[bytes, bytearray, memoryview] + +class GcmMode(object): + block_size: int + nonce: Buffer + + def __init__(self, + factory: ModuleType, + key: Buffer, + nonce: Buffer, + mac_len: int, + cipher_params: Dict) -> None: ... + + def update(self, assoc_data: Buffer) -> GcmMode: ... + + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, received_mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + + @overload + def encrypt_and_digest(self, + plaintext: Buffer) -> Tuple[bytes, bytes]: ... + @overload + def encrypt_and_digest(self, + plaintext: Buffer, + output: Buffer) -> Tuple[None, bytes]: ... + def decrypt_and_verify(self, + ciphertext: Buffer, + received_mac_tag: Buffer, + output: Optional[Union[bytearray, memoryview]] = ...) -> bytes: ... diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ocb.py b/lib27/site-packages/Crypto/Cipher/_mode_ocb.py new file mode 100644 index 000000000..27758b119 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ocb.py @@ -0,0 +1,525 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +Offset Codebook (OCB) mode. + +OCB is Authenticated Encryption with Associated Data (AEAD) cipher mode +designed by Prof. Phillip Rogaway and specified in `RFC7253`_. + +The algorithm provides both authenticity and privacy, it is very efficient, +it uses only one key and it can be used in online mode (so that encryption +or decryption can start before the end of the message is available). + +This module implements the third and last variant of OCB (OCB3) and it only +works in combination with a 128-bit block symmetric cipher, like AES. + +OCB is patented in US but `free licenses`_ exist for software implementations +meant for non-military purposes. + +Example: + >>> from Crypto.Cipher import AES + >>> from Crypto.Random import get_random_bytes + >>> + >>> key = get_random_bytes(32) + >>> cipher = AES.new(key, AES.MODE_OCB) + >>> plaintext = b"Attack at dawn" + >>> ciphertext, mac = cipher.encrypt_and_digest(plaintext) + >>> # Deliver cipher.nonce, ciphertext and mac + ... + >>> cipher = AES.new(key, AES.MODE_OCB, nonce=nonce) + >>> try: + >>> plaintext = cipher.decrypt_and_verify(ciphertext, mac) + >>> except ValueError: + >>> print "Invalid message" + >>> else: + >>> print plaintext + +:undocumented: __package__ + +.. _RFC7253: http://www.rfc-editor.org/info/rfc7253 +.. _free licenses: http://web.cs.ucdavis.edu/~rogaway/ocb/license.htm +""" + +import struct +from binascii import unhexlify + +from Crypto.Util.py3compat import bord, _copy_bytes +from Crypto.Util.number import long_to_bytes, bytes_to_long +from Crypto.Util.strxor import strxor + +from Crypto.Hash import BLAKE2s +from Crypto.Random import get_random_bytes + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, VoidPointer, + create_string_buffer, get_raw_buffer, + SmartPointer, c_size_t, c_uint8_ptr, + is_buffer) + +_raw_ocb_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_ocb", """ + int OCB_start_operation(void *cipher, + const uint8_t *offset_0, + size_t offset_0_len, + void **pState); + int OCB_encrypt(void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int OCB_decrypt(void *state, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int OCB_update(void *state, + const uint8_t *in, + size_t data_len); + int OCB_digest(void *state, + uint8_t *tag, + size_t tag_len); + int OCB_stop_operation(void *state); + """) + + +class OcbMode(object): + """Offset Codebook (OCB) mode. + + :undocumented: __init__ + """ + + def __init__(self, factory, nonce, mac_len, cipher_params): + + if factory.block_size != 16: + raise ValueError("OCB mode is only available for ciphers" + " that operate on 128 bits blocks") + + self.block_size = 16 + """The block size of the underlying cipher, in bytes.""" + + self.nonce = _copy_bytes(None, None, nonce) + """Nonce used for this session.""" + if len(nonce) not in range(1, 16): + raise ValueError("Nonce must be at most 15 bytes long") + if not is_buffer(nonce): + raise TypeError("Nonce must be bytes, bytearray or memoryview") + + self._mac_len = mac_len + if not 8 <= mac_len <= 16: + raise ValueError("MAC tag must be between 8 and 16 bytes long") + + # Cache for MAC tag + self._mac_tag = None + + # Cache for unaligned associated data + self._cache_A = b"" + + # Cache for unaligned ciphertext/plaintext + self._cache_P = b"" + + # Allowed transitions after initialization + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + # Compute Offset_0 + params_without_key = dict(cipher_params) + key = params_without_key.pop("key") + nonce = (struct.pack('B', self._mac_len << 4 & 0xFF) + + b'\x00' * (14 - len(nonce)) + + b'\x01' + self.nonce) + + bottom_bits = bord(nonce[15]) & 0x3F # 6 bits, 0..63 + top_bits = bord(nonce[15]) & 0xC0 # 2 bits + + ktop_cipher = factory.new(key, + factory.MODE_ECB, + **params_without_key) + ktop = ktop_cipher.encrypt(struct.pack('15sB', + nonce[:15], + top_bits)) + + stretch = ktop + strxor(ktop[:8], ktop[1:9]) # 192 bits + offset_0 = long_to_bytes(bytes_to_long(stretch) >> + (64 - bottom_bits), 24)[8:] + + # Create low-level cipher instance + raw_cipher = factory._create_base_cipher(cipher_params) + if cipher_params: + raise TypeError("Unknown keywords: " + str(cipher_params)) + + self._state = VoidPointer() + result = _raw_ocb_lib.OCB_start_operation(raw_cipher.get(), + offset_0, + c_size_t(len(offset_0)), + self._state.address_of()) + if result: + raise ValueError("Error %d while instantiating the OCB mode" + % result) + + # Ensure that object disposal of this Python object will (eventually) + # free the memory allocated by the raw library for the cipher mode + self._state = SmartPointer(self._state.get(), + _raw_ocb_lib.OCB_stop_operation) + + # Memory allocated for the underlying block cipher is now owed + # by the cipher mode + raw_cipher.release() + + def _update(self, assoc_data, assoc_data_len): + result = _raw_ocb_lib.OCB_update(self._state.get(), + c_uint8_ptr(assoc_data), + c_size_t(assoc_data_len)) + if result: + raise ValueError("Error %d while computing MAC in OCB mode" % result) + + def update(self, assoc_data): + """Process the associated data. + + If there is any associated data, the caller has to invoke + this method one or more times, before using + ``decrypt`` or ``encrypt``. + + By *associated data* it is meant any data (e.g. packet headers) that + will not be encrypted and will be transmitted in the clear. + However, the receiver shall still able to detect modifications. + + If there is no associated data, this method must not be called. + + The caller may split associated data in segments of any size, and + invoke this method multiple times, each time with the next segment. + + :Parameters: + assoc_data : bytes/bytearray/memoryview + A piece of associated data. + """ + + if self.update not in self._next: + raise TypeError("update() can only be called" + " immediately after initialization") + + self._next = [self.encrypt, self.decrypt, self.digest, + self.verify, self.update] + + if len(self._cache_A) > 0: + filler = min(16 - len(self._cache_A), len(assoc_data)) + self._cache_A += _copy_bytes(None, filler, assoc_data) + assoc_data = assoc_data[filler:] + + if len(self._cache_A) < 16: + return self + + # Clear the cache, and proceeding with any other aligned data + self._cache_A, seg = b"", self._cache_A + self.update(seg) + + update_len = len(assoc_data) // 16 * 16 + self._cache_A = _copy_bytes(update_len, None, assoc_data) + self._update(assoc_data, update_len) + return self + + def _transcrypt_aligned(self, in_data, in_data_len, + trans_func, trans_desc): + + out_data = create_string_buffer(in_data_len) + result = trans_func(self._state.get(), + in_data, + out_data, + c_size_t(in_data_len)) + if result: + raise ValueError("Error %d while %sing in OCB mode" + % (result, trans_desc)) + return get_raw_buffer(out_data) + + def _transcrypt(self, in_data, trans_func, trans_desc): + # Last piece to encrypt/decrypt + if in_data is None: + out_data = self._transcrypt_aligned(self._cache_P, + len(self._cache_P), + trans_func, + trans_desc) + self._cache_P = b"" + return out_data + + # Try to fill up the cache, if it already contains something + prefix = b"" + if len(self._cache_P) > 0: + filler = min(16 - len(self._cache_P), len(in_data)) + self._cache_P += _copy_bytes(None, filler, in_data) + in_data = in_data[filler:] + + if len(self._cache_P) < 16: + # We could not manage to fill the cache, so there is certainly + # no output yet. + return b"" + + # Clear the cache, and proceeding with any other aligned data + prefix = self._transcrypt_aligned(self._cache_P, + len(self._cache_P), + trans_func, + trans_desc) + self._cache_P = b"" + + # Process data in multiples of the block size + trans_len = len(in_data) // 16 * 16 + result = self._transcrypt_aligned(c_uint8_ptr(in_data), + trans_len, + trans_func, + trans_desc) + if prefix: + result = prefix + result + + # Left-over + self._cache_P = _copy_bytes(trans_len, None, in_data) + + return result + + def encrypt(self, plaintext=None): + """Encrypt the next piece of plaintext. + + After the entire plaintext has been passed (but before `digest`), + you **must** call this method one last time with no arguments to collect + the final piece of ciphertext. + + If possible, use the method `encrypt_and_digest` instead. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The next piece of data to encrypt or ``None`` to signify + that encryption has finished and that any remaining ciphertext + has to be produced. + :Return: + the ciphertext, as a byte string. + Its length may not match the length of the *plaintext*. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() can only be called after" + " initialization or an update()") + + if plaintext is None: + self._next = [self.digest] + else: + self._next = [self.encrypt] + return self._transcrypt(plaintext, _raw_ocb_lib.OCB_encrypt, "encrypt") + + def decrypt(self, ciphertext=None): + """Decrypt the next piece of ciphertext. + + After the entire ciphertext has been passed (but before `verify`), + you **must** call this method one last time with no arguments to collect + the remaining piece of plaintext. + + If possible, use the method `decrypt_and_verify` instead. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The next piece of data to decrypt or ``None`` to signify + that decryption has finished and that any remaining plaintext + has to be produced. + :Return: + the plaintext, as a byte string. + Its length may not match the length of the *ciphertext*. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() can only be called after" + " initialization or an update()") + + if ciphertext is None: + self._next = [self.verify] + else: + self._next = [self.decrypt] + return self._transcrypt(ciphertext, + _raw_ocb_lib.OCB_decrypt, + "decrypt") + + def _compute_mac_tag(self): + + if self._mac_tag is not None: + return + + if self._cache_A: + self._update(self._cache_A, len(self._cache_A)) + self._cache_A = b"" + + mac_tag = create_string_buffer(16) + result = _raw_ocb_lib.OCB_digest(self._state.get(), + mac_tag, + c_size_t(len(mac_tag)) + ) + if result: + raise ValueError("Error %d while computing digest in OCB mode" + % result) + self._mac_tag = get_raw_buffer(mac_tag)[:self._mac_len] + + def digest(self): + """Compute the *binary* MAC tag. + + Call this method after the final `encrypt` (the one with no arguments) + to obtain the MAC tag. + + The MAC tag is needed by the receiver to determine authenticity + of the message. + + :Return: the MAC, as a byte string. + """ + + if self.digest not in self._next: + raise TypeError("digest() cannot be called now for this cipher") + + assert(len(self._cache_P) == 0) + + self._next = [self.digest] + + if self._mac_tag is None: + self._compute_mac_tag() + + return self._mac_tag + + def hexdigest(self): + """Compute the *printable* MAC tag. + + This method is like `digest`. + + :Return: the MAC, as a hexadecimal string. + """ + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def verify(self, received_mac_tag): + """Validate the *binary* MAC tag. + + Call this method after the final `decrypt` (the one with no arguments) + to check if the message is authentic and valid. + + :Parameters: + received_mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + if self.verify not in self._next: + raise TypeError("verify() cannot be called now for this cipher") + + assert(len(self._cache_P) == 0) + + self._next = [self.verify] + + if self._mac_tag is None: + self._compute_mac_tag() + + secret = get_random_bytes(16) + mac1 = BLAKE2s.new(digest_bits=160, key=secret, data=self._mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, data=received_mac_tag) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + """Validate the *printable* MAC tag. + + This method is like `verify`. + + :Parameters: + hex_mac_tag : string + This is the *printable* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + self.verify(unhexlify(hex_mac_tag)) + + def encrypt_and_digest(self, plaintext): + """Encrypt the message and create the MAC tag in one step. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The entire message to encrypt. + :Return: + a tuple with two byte strings: + + - the encrypted data + - the MAC + """ + + return self.encrypt(plaintext) + self.encrypt(), self.digest() + + def decrypt_and_verify(self, ciphertext, received_mac_tag): + """Decrypted the message and verify its authenticity in one step. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The entire message to decrypt. + received_mac_tag : byte string + This is the *binary* MAC, as received from the sender. + + :Return: the decrypted data (byte string). + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + plaintext = self.decrypt(ciphertext) + self.decrypt() + self.verify(received_mac_tag) + return plaintext + + +def _create_ocb_cipher(factory, **kwargs): + """Create a new block cipher, configured in OCB mode. + + :Parameters: + factory : module + A symmetric cipher module from `Crypto.Cipher` + (like `Crypto.Cipher.AES`). + + :Keywords: + nonce : bytes/bytearray/memoryview + A value that must never be reused for any other encryption. + Its length can vary from 1 to 15 bytes. + If not specified, a random 15 bytes long nonce is generated. + + mac_len : integer + Length of the MAC, in bytes. + It must be in the range ``[8..16]``. + The default is 16 (128 bits). + + Any other keyword will be passed to the underlying block cipher. + See the relevant documentation for details (at least ``key`` will need + to be present). + """ + + try: + nonce = kwargs.pop("nonce", None) + if nonce is None: + nonce = get_random_bytes(15) + mac_len = kwargs.pop("mac_len", 16) + except KeyError as e: + raise TypeError("Keyword missing: " + str(e)) + + return OcbMode(factory, nonce, mac_len, kwargs) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ocb.pyi b/lib27/site-packages/Crypto/Cipher/_mode_ocb.pyi new file mode 100644 index 000000000..a1909fc38 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ocb.pyi @@ -0,0 +1,36 @@ +from types import ModuleType +from typing import Union, Any, Optional, Tuple, Dict, overload + +Buffer = Union[bytes, bytearray, memoryview] + +class OcbMode(object): + block_size: int + nonce: Buffer + + def __init__(self, + factory: ModuleType, + nonce: Buffer, + mac_len: int, + cipher_params: Dict) -> None: ... + + def update(self, assoc_data: Buffer) -> OcbMode: ... + + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, received_mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + + def encrypt_and_digest(self, + plaintext: Buffer) -> Tuple[bytes, bytes]: ... + def decrypt_and_verify(self, + ciphertext: Buffer, + received_mac_tag: Buffer) -> bytes: ... diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ofb.py b/lib27/site-packages/Crypto/Cipher/_mode_ofb.py new file mode 100644 index 000000000..b04294f1e --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ofb.py @@ -0,0 +1,282 @@ +# -*- coding: utf-8 -*- +# +# Cipher/mode_ofb.py : OFB mode +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +""" +Output Feedback (CFB) mode. +""" + +__all__ = ['OfbMode'] + +from Crypto.Util.py3compat import _copy_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, VoidPointer, + create_string_buffer, get_raw_buffer, + SmartPointer, c_size_t, c_uint8_ptr, + is_writeable_buffer) + +from Crypto.Random import get_random_bytes + +raw_ofb_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_ofb", """ + int OFB_start_operation(void *cipher, + const uint8_t iv[], + size_t iv_len, + void **pResult); + int OFB_encrypt(void *ofbState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int OFB_decrypt(void *ofbState, + const uint8_t *in, + uint8_t *out, + size_t data_len); + int OFB_stop_operation(void *state); + """ + ) + + +class OfbMode(object): + """*Output FeedBack (OFB)*. + + This mode is very similar to CBC, but it + transforms the underlying block cipher into a stream cipher. + + The keystream is the iterated block encryption of the + previous ciphertext block. + + An Initialization Vector (*IV*) is required. + + See `NIST SP800-38A`_ , Section 6.4. + + .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + + :undocumented: __init__ + """ + + def __init__(self, block_cipher, iv): + """Create a new block cipher, configured in OFB mode. + + :Parameters: + block_cipher : C pointer + A smart pointer to the low-level block cipher instance. + + iv : bytes/bytearray/memoryview + The initialization vector to use for encryption or decryption. + It is as long as the cipher block. + + **The IV must be a nonce, to to be reused for any other + message**. It shall be a nonce or a random value. + + Reusing the *IV* for encryptions performed with the same key + compromises confidentiality. + """ + + self._state = VoidPointer() + result = raw_ofb_lib.OFB_start_operation(block_cipher.get(), + c_uint8_ptr(iv), + c_size_t(len(iv)), + self._state.address_of()) + if result: + raise ValueError("Error %d while instatiating the OFB mode" + % result) + + # Ensure that object disposal of this Python object will (eventually) + # free the memory allocated by the raw library for the cipher mode + self._state = SmartPointer(self._state.get(), + raw_ofb_lib.OFB_stop_operation) + + # Memory allocated for the underlying block cipher is now owed + # by the cipher mode + block_cipher.release() + + self.block_size = len(iv) + """The block size of the underlying cipher, in bytes.""" + + self.iv = _copy_bytes(None, None, iv) + """The Initialization Vector originally used to create the object. + The value does not change.""" + + self.IV = self.iv + """Alias for `iv`""" + + self._next = [ self.encrypt, self.decrypt ] + + def encrypt(self, plaintext, output=None): + """Encrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + If ``output`` is ``None``, the ciphertext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() cannot be called after decrypt()") + self._next = [ self.encrypt ] + + if output is None: + ciphertext = create_string_buffer(len(plaintext)) + else: + ciphertext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(plaintext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_ofb_lib.OFB_encrypt(self._state.get(), + c_uint8_ptr(plaintext), + c_uint8_ptr(ciphertext), + c_size_t(len(plaintext))) + if result: + raise ValueError("Error %d while encrypting in OFB mode" % result) + + if output is None: + return get_raw_buffer(ciphertext) + else: + return None + + def decrypt(self, ciphertext, output=None): + """Decrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + It can be of any length. + :Keywords: + output : bytearray/memoryview + The location where the plaintext is written to. + If ``None``, the plaintext is returned. + :Return: + If ``output`` is ``None``, the plaintext is returned as ``bytes``. + Otherwise, ``None``. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() cannot be called after encrypt()") + self._next = [ self.decrypt ] + + if output is None: + plaintext = create_string_buffer(len(ciphertext)) + else: + plaintext = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(ciphertext) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(plaintext)) + + result = raw_ofb_lib.OFB_decrypt(self._state.get(), + c_uint8_ptr(ciphertext), + c_uint8_ptr(plaintext), + c_size_t(len(ciphertext))) + if result: + raise ValueError("Error %d while decrypting in OFB mode" % result) + + if output is None: + return get_raw_buffer(plaintext) + else: + return None + + +def _create_ofb_cipher(factory, **kwargs): + """Instantiate a cipher object that performs OFB encryption/decryption. + + :Parameters: + factory : module + The underlying block cipher, a module from ``Crypto.Cipher``. + + :Keywords: + iv : bytes/bytearray/memoryview + The IV to use for OFB. + + IV : bytes/bytearray/memoryview + Alias for ``iv``. + + Any other keyword will be passed to the underlying block cipher. + See the relevant documentation for details (at least ``key`` will need + to be present). + """ + + cipher_state = factory._create_base_cipher(kwargs) + iv = kwargs.pop("IV", None) + IV = kwargs.pop("iv", None) + + if (None, None) == (iv, IV): + iv = get_random_bytes(factory.block_size) + if iv is not None: + if IV is not None: + raise TypeError("You must either use 'iv' or 'IV', not both") + else: + iv = IV + + if len(iv) != factory.block_size: + raise ValueError("Incorrect IV length (it must be %d bytes long)" % + factory.block_size) + + if kwargs: + raise TypeError("Unknown parameters for OFB: %s" % str(kwargs)) + + return OfbMode(cipher_state, iv) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_ofb.pyi b/lib27/site-packages/Crypto/Cipher/_mode_ofb.pyi new file mode 100644 index 000000000..60f7f0046 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_ofb.pyi @@ -0,0 +1,25 @@ +from typing import Union, overload + +from Crypto.Util._raw_api import SmartPointer + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['OfbMode'] + +class OfbMode(object): + block_size: int + iv: Buffer + IV: Buffer + + def __init__(self, + block_cipher: SmartPointer, + iv: Buffer) -> None: ... + @overload + def encrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + @overload + def decrypt(self, plaintext: Buffer) -> bytes: ... + @overload + def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ... + diff --git a/lib27/site-packages/Crypto/Cipher/_mode_openpgp.py b/lib27/site-packages/Crypto/Cipher/_mode_openpgp.py new file mode 100644 index 000000000..d079d5914 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_openpgp.py @@ -0,0 +1,206 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +OpenPGP mode. +""" + +__all__ = ['OpenPgpMode'] + +from Crypto.Util.py3compat import _copy_bytes +from Crypto.Random import get_random_bytes + +class OpenPgpMode(object): + """OpenPGP mode. + + This mode is a variant of CFB, and it is only used in PGP and + OpenPGP_ applications. If in doubt, use another mode. + + An Initialization Vector (*IV*) is required. + + Unlike CFB, the *encrypted* IV (not the IV itself) is + transmitted to the receiver. + + The IV is a random data block. For legacy reasons, two of its bytes are + duplicated to act as a checksum for the correctness of the key, which is now + known to be insecure and is ignored. The encrypted IV is therefore 2 bytes + longer than the clean IV. + + .. _OpenPGP: http://tools.ietf.org/html/rfc4880 + + :undocumented: __init__ + """ + + def __init__(self, factory, key, iv, cipher_params): + + #: The block size of the underlying cipher, in bytes. + self.block_size = factory.block_size + + self._done_first_block = False # True after the first encryption + + # Instantiate a temporary cipher to process the IV + IV_cipher = factory.new( + key, + factory.MODE_CFB, + IV=b'\x00' * self.block_size, + segment_size=self.block_size * 8, + **cipher_params) + + iv = _copy_bytes(None, None, iv) + + # The cipher will be used for... + if len(iv) == self.block_size: + # ... encryption + self._encrypted_IV = IV_cipher.encrypt(iv + iv[-2:]) + elif len(iv) == self.block_size + 2: + # ... decryption + self._encrypted_IV = iv + # Last two bytes are for a deprecated "quick check" feature that + # should not be used. (https://eprint.iacr.org/2005/033) + iv = IV_cipher.decrypt(iv)[:-2] + else: + raise ValueError("Length of IV must be %d or %d bytes" + " for MODE_OPENPGP" + % (self.block_size, self.block_size + 2)) + + self.iv = self.IV = iv + + # Instantiate the cipher for the real PGP data + self._cipher = factory.new( + key, + factory.MODE_CFB, + IV=self._encrypted_IV[-self.block_size:], + segment_size=self.block_size * 8, + **cipher_params) + + def encrypt(self, plaintext): + """Encrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have encrypted a message + you cannot encrypt (or decrypt) another message using the same + object. + + The data to encrypt can be broken up in two or + more pieces and `encrypt` can be called multiple times. + + That is, the statement: + + >>> c.encrypt(a) + c.encrypt(b) + + is equivalent to: + + >>> c.encrypt(a+b) + + This function does not add any padding to the plaintext. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + + :Return: + the encrypted data, as a byte string. + It is as long as *plaintext* with one exception: + when encrypting the first message chunk, + the encypted IV is prepended to the returned ciphertext. + """ + + res = self._cipher.encrypt(plaintext) + if not self._done_first_block: + res = self._encrypted_IV + res + self._done_first_block = True + return res + + def decrypt(self, ciphertext): + """Decrypt data with the key and the parameters set at initialization. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + The data to decrypt can be broken up in two or + more pieces and `decrypt` can be called multiple times. + + That is, the statement: + + >>> c.decrypt(a) + c.decrypt(b) + + is equivalent to: + + >>> c.decrypt(a+b) + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + + :Return: the decrypted data (byte string). + """ + + return self._cipher.decrypt(ciphertext) + + +def _create_openpgp_cipher(factory, **kwargs): + """Create a new block cipher, configured in OpenPGP mode. + + :Parameters: + factory : module + The module. + + :Keywords: + key : bytes/bytearray/memoryview + The secret key to use in the symmetric cipher. + + IV : bytes/bytearray/memoryview + The initialization vector to use for encryption or decryption. + + For encryption, the IV must be as long as the cipher block size. + + For decryption, it must be 2 bytes longer (it is actually the + *encrypted* IV which was prefixed to the ciphertext). + """ + + iv = kwargs.pop("IV", None) + IV = kwargs.pop("iv", None) + + if (None, None) == (iv, IV): + iv = get_random_bytes(factory.block_size) + if iv is not None: + if IV is not None: + raise TypeError("You must either use 'iv' or 'IV', not both") + else: + iv = IV + + try: + key = kwargs.pop("key") + except KeyError as e: + raise TypeError("Missing component: " + str(e)) + + return OpenPgpMode(factory, key, iv, kwargs) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_openpgp.pyi b/lib27/site-packages/Crypto/Cipher/_mode_openpgp.pyi new file mode 100644 index 000000000..14b810588 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_openpgp.pyi @@ -0,0 +1,20 @@ +from types import ModuleType +from typing import Union, Dict + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['OpenPgpMode'] + +class OpenPgpMode(object): + block_size: int + iv: Union[bytes, bytearray, memoryview] + IV: Union[bytes, bytearray, memoryview] + + def __init__(self, + factory: ModuleType, + key: Buffer, + iv: Buffer, + cipher_params: Dict) -> None: ... + def encrypt(self, plaintext: Buffer) -> bytes: ... + def decrypt(self, plaintext: Buffer) -> bytes: ... + diff --git a/lib27/site-packages/Crypto/Cipher/_mode_siv.py b/lib27/site-packages/Crypto/Cipher/_mode_siv.py new file mode 100644 index 000000000..d1eca2a78 --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_siv.py @@ -0,0 +1,392 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +Synthetic Initialization Vector (SIV) mode. +""" + +__all__ = ['SivMode'] + +from binascii import hexlify, unhexlify + +from Crypto.Util.py3compat import bord, _copy_bytes + +from Crypto.Util._raw_api import is_buffer + +from Crypto.Util.number import long_to_bytes, bytes_to_long +from Crypto.Protocol.KDF import _S2V +from Crypto.Hash import BLAKE2s +from Crypto.Random import get_random_bytes + + +class SivMode(object): + """Synthetic Initialization Vector (SIV). + + This is an Authenticated Encryption with Associated Data (`AEAD`_) mode. + It provides both confidentiality and authenticity. + + The header of the message may be left in the clear, if needed, and it will + still be subject to authentication. The decryption step tells the receiver + if the message comes from a source that really knowns the secret key. + Additionally, decryption detects if any part of the message - including the + header - has been modified or corrupted. + + Unlike other AEAD modes such as CCM, EAX or GCM, accidental reuse of a + nonce is not catastrophic for the confidentiality of the message. The only + effect is that an attacker can tell when the same plaintext (and same + associated data) is protected with the same key. + + The length of the MAC is fixed to the block size of the underlying cipher. + The key size is twice the length of the key of the underlying cipher. + + This mode is only available for AES ciphers. + + +--------------------+---------------+-------------------+ + | Cipher | SIV MAC size | SIV key length | + | | (bytes) | (bytes) | + +====================+===============+===================+ + | AES-128 | 16 | 32 | + +--------------------+---------------+-------------------+ + | AES-192 | 16 | 48 | + +--------------------+---------------+-------------------+ + | AES-256 | 16 | 64 | + +--------------------+---------------+-------------------+ + + See `RFC5297`_ and the `original paper`__. + + .. _RFC5297: https://tools.ietf.org/html/rfc5297 + .. _AEAD: http://blog.cryptographyengineering.com/2012/05/how-to-choose-authenticated-encryption.html + .. __: http://www.cs.ucdavis.edu/~rogaway/papers/keywrap.pdf + + :undocumented: __init__ + """ + + def __init__(self, factory, key, nonce, kwargs): + + self.block_size = factory.block_size + """The block size of the underlying cipher, in bytes.""" + + self._factory = factory + + self._cipher_params = kwargs + + if len(key) not in (32, 48, 64): + raise ValueError("Incorrect key length (%d bytes)" % len(key)) + + if nonce is not None: + if not is_buffer(nonce): + raise TypeError("When provided, the nonce must be bytes, bytearray or memoryview") + + if len(nonce) == 0: + raise ValueError("When provided, the nonce must be non-empty") + + self.nonce = _copy_bytes(None, None, nonce) + """Public attribute is only available in case of non-deterministic + encryption.""" + + subkey_size = len(key) // 2 + + self._mac_tag = None # Cache for MAC tag + self._kdf = _S2V(key[:subkey_size], + ciphermod=factory, + cipher_params=self._cipher_params) + self._subkey_cipher = key[subkey_size:] + + # Purely for the purpose of verifying that cipher_params are OK + factory.new(key[:subkey_size], factory.MODE_ECB, **kwargs) + + # Allowed transitions after initialization + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + def _create_ctr_cipher(self, v): + """Create a new CTR cipher from V in SIV mode""" + + v_int = bytes_to_long(v) + q = v_int & 0xFFFFFFFFFFFFFFFF7FFFFFFF7FFFFFFF + return self._factory.new( + self._subkey_cipher, + self._factory.MODE_CTR, + initial_value=q, + nonce=b"", + **self._cipher_params) + + def update(self, component): + """Protect one associated data component + + For SIV, the associated data is a sequence (*vector*) of non-empty + byte strings (*components*). + + This method consumes the next component. It must be called + once for each of the components that constitue the associated data. + + Note that the components have clear boundaries, so that: + + >>> cipher.update(b"builtin") + >>> cipher.update(b"securely") + + is not equivalent to: + + >>> cipher.update(b"built") + >>> cipher.update(b"insecurely") + + If there is no associated data, this method must not be called. + + :Parameters: + component : bytes/bytearray/memoryview + The next associated data component. + """ + + if self.update not in self._next: + raise TypeError("update() can only be called" + " immediately after initialization") + + self._next = [self.update, self.encrypt, self.decrypt, + self.digest, self.verify] + + return self._kdf.update(component) + + def encrypt(self, plaintext): + """ + For SIV, encryption and MAC authentication must take place at the same + point. This method shall not be used. + + Use `encrypt_and_digest` instead. + """ + + raise TypeError("encrypt() not allowed for SIV mode." + " Use encrypt_and_digest() instead.") + + def decrypt(self, ciphertext): + """ + For SIV, decryption and verification must take place at the same + point. This method shall not be used. + + Use `decrypt_and_verify` instead. + """ + + raise TypeError("decrypt() not allowed for SIV mode." + " Use decrypt_and_verify() instead.") + + def digest(self): + """Compute the *binary* MAC tag. + + The caller invokes this function at the very end. + + This method returns the MAC that shall be sent to the receiver, + together with the ciphertext. + + :Return: the MAC, as a byte string. + """ + + if self.digest not in self._next: + raise TypeError("digest() cannot be called when decrypting" + " or validating a message") + self._next = [self.digest] + if self._mac_tag is None: + self._mac_tag = self._kdf.derive() + return self._mac_tag + + def hexdigest(self): + """Compute the *printable* MAC tag. + + This method is like `digest`. + + :Return: the MAC, as a hexadecimal string. + """ + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def verify(self, received_mac_tag): + """Validate the *binary* MAC tag. + + The caller invokes this function at the very end. + + This method checks if the decrypted message is indeed valid + (that is, if the key is correct) and it has not been + tampered with while in transit. + + :Parameters: + received_mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + if self.verify not in self._next: + raise TypeError("verify() cannot be called" + " when encrypting a message") + self._next = [self.verify] + + if self._mac_tag is None: + self._mac_tag = self._kdf.derive() + + secret = get_random_bytes(16) + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, data=self._mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, data=received_mac_tag) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + """Validate the *printable* MAC tag. + + This method is like `verify`. + + :Parameters: + hex_mac_tag : string + This is the *printable* MAC, as received from the sender. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + self.verify(unhexlify(hex_mac_tag)) + + def encrypt_and_digest(self, plaintext, output=None): + """Perform encrypt() and digest() in one step. + + :Parameters: + plaintext : bytes/bytearray/memoryview + The piece of data to encrypt. + :Keywords: + output : bytearray/memoryview + The location where the ciphertext must be written to. + If ``None``, the ciphertext is returned. + :Return: + a tuple with two items: + + - the ciphertext, as ``bytes`` + - the MAC tag, as ``bytes`` + + The first item becomes ``None`` when the ``output`` parameter + specified a location for the result. + """ + + if self.encrypt not in self._next: + raise TypeError("encrypt() can only be called after" + " initialization or an update()") + + self._next = [ self.digest ] + + # Compute V (MAC) + if hasattr(self, 'nonce'): + self._kdf.update(self.nonce) + self._kdf.update(plaintext) + self._mac_tag = self._kdf.derive() + + cipher = self._create_ctr_cipher(self._mac_tag) + + return cipher.encrypt(plaintext, output=output), self._mac_tag + + def decrypt_and_verify(self, ciphertext, mac_tag, output=None): + """Perform decryption and verification in one step. + + A cipher object is stateful: once you have decrypted a message + you cannot decrypt (or encrypt) another message with the same + object. + + You cannot reuse an object for encrypting + or decrypting other data with the same key. + + This function does not remove any padding from the plaintext. + + :Parameters: + ciphertext : bytes/bytearray/memoryview + The piece of data to decrypt. + It can be of any length. + mac_tag : bytes/bytearray/memoryview + This is the *binary* MAC, as received from the sender. + :Keywords: + output : bytearray/memoryview + The location where the plaintext must be written to. + If ``None``, the plaintext is returned. + :Return: the plaintext as ``bytes`` or ``None`` when the ``output`` + parameter specified a location for the result. + :Raises ValueError: + if the MAC does not match. The message has been tampered with + or the key is incorrect. + """ + + if self.decrypt not in self._next: + raise TypeError("decrypt() can only be called" + " after initialization or an update()") + self._next = [ self.verify ] + + # Take the MAC and start the cipher for decryption + self._cipher = self._create_ctr_cipher(mac_tag) + + plaintext = self._cipher.decrypt(ciphertext, output=output) + + if hasattr(self, 'nonce'): + self._kdf.update(self.nonce) + self._kdf.update(plaintext if output is None else output) + self.verify(mac_tag) + + return plaintext + + +def _create_siv_cipher(factory, **kwargs): + """Create a new block cipher, configured in + Synthetic Initializaton Vector (SIV) mode. + + :Parameters: + + factory : object + A symmetric cipher module from `Crypto.Cipher` + (like `Crypto.Cipher.AES`). + + :Keywords: + + key : bytes/bytearray/memoryview + The secret key to use in the symmetric cipher. + It must be 32, 48 or 64 bytes long. + If AES is the chosen cipher, the variants *AES-128*, + *AES-192* and or *AES-256* will be used internally. + + nonce : bytes/bytearray/memoryview + For deterministic encryption, it is not present. + + Otherwise, it is a value that must never be reused + for encrypting message under this key. + + There are no restrictions on its length, + but it is recommended to use at least 16 bytes. + """ + + try: + key = kwargs.pop("key") + except KeyError as e: + raise TypeError("Missing parameter: " + str(e)) + + nonce = kwargs.pop("nonce", None) + + return SivMode(factory, key, nonce, kwargs) diff --git a/lib27/site-packages/Crypto/Cipher/_mode_siv.pyi b/lib27/site-packages/Crypto/Cipher/_mode_siv.pyi new file mode 100644 index 000000000..2934f23de --- /dev/null +++ b/lib27/site-packages/Crypto/Cipher/_mode_siv.pyi @@ -0,0 +1,38 @@ +from types import ModuleType +from typing import Union, Tuple, Dict, Optional, overload + +Buffer = Union[bytes, bytearray, memoryview] + +__all__ = ['SivMode'] + +class SivMode(object): + block_size: int + nonce: bytes + + def __init__(self, + factory: ModuleType, + key: Buffer, + nonce: Buffer, + kwargs: Dict) -> None: ... + + def update(self, component: Buffer) -> SivMode: ... + + def encrypt(self, plaintext: Buffer) -> bytes: ... + def decrypt(self, plaintext: Buffer) -> bytes: ... + + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, received_mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + + @overload + def encrypt_and_digest(self, + plaintext: Buffer) -> Tuple[bytes, bytes]: ... + @overload + def encrypt_and_digest(self, + plaintext: Buffer, + output: Buffer) -> Tuple[None, bytes]: ... + def decrypt_and_verify(self, + ciphertext: Buffer, + received_mac_tag: Buffer, + output: Optional[Union[bytearray, memoryview]] = ...) -> bytes: ... diff --git a/lib27/site-packages/Crypto/Cipher/_raw_aes.pyd b/lib27/site-packages/Crypto/Cipher/_raw_aes.pyd new file mode 100644 index 000000000..8b0819684 Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_aes.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_aesni.pyd b/lib27/site-packages/Crypto/Cipher/_raw_aesni.pyd new file mode 100644 index 000000000..309cc8421 Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_aesni.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_arc2.pyd b/lib27/site-packages/Crypto/Cipher/_raw_arc2.pyd new file mode 100644 index 000000000..f552cc47b Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_arc2.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_blowfish.pyd b/lib27/site-packages/Crypto/Cipher/_raw_blowfish.pyd new file mode 100644 index 000000000..c35362e4b Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_blowfish.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_cast.pyd b/lib27/site-packages/Crypto/Cipher/_raw_cast.pyd new file mode 100644 index 000000000..4867178c9 Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_cast.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_cbc.pyd b/lib27/site-packages/Crypto/Cipher/_raw_cbc.pyd new file mode 100644 index 000000000..3dd7c9d4a Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_cbc.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_cfb.pyd b/lib27/site-packages/Crypto/Cipher/_raw_cfb.pyd new file mode 100644 index 000000000..e31c7caf2 Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_cfb.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_ctr.pyd b/lib27/site-packages/Crypto/Cipher/_raw_ctr.pyd new file mode 100644 index 000000000..9aa894def Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_ctr.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_des.pyd b/lib27/site-packages/Crypto/Cipher/_raw_des.pyd new file mode 100644 index 000000000..ef21e954d Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_des.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_des3.pyd b/lib27/site-packages/Crypto/Cipher/_raw_des3.pyd new file mode 100644 index 000000000..57429a11f Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_des3.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_ecb.pyd b/lib27/site-packages/Crypto/Cipher/_raw_ecb.pyd new file mode 100644 index 000000000..c9aa11b1f Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_ecb.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_ocb.pyd b/lib27/site-packages/Crypto/Cipher/_raw_ocb.pyd new file mode 100644 index 000000000..acbb9920c Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_ocb.pyd differ diff --git a/lib27/site-packages/Crypto/Cipher/_raw_ofb.pyd b/lib27/site-packages/Crypto/Cipher/_raw_ofb.pyd new file mode 100644 index 000000000..693f49714 Binary files /dev/null and b/lib27/site-packages/Crypto/Cipher/_raw_ofb.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/BLAKE2b.py b/lib27/site-packages/Crypto/Hash/BLAKE2b.py new file mode 100644 index 000000000..a00e0b410 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/BLAKE2b.py @@ -0,0 +1,247 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from binascii import unhexlify + +from Crypto.Util.py3compat import bord, tobytes + +from Crypto.Random import get_random_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_blake2b_lib = load_pycryptodome_raw_lib("Crypto.Hash._BLAKE2b", + """ + int blake2b_init(void **state, + const uint8_t *key, + size_t key_size, + size_t digest_size); + int blake2b_destroy(void *state); + int blake2b_update(void *state, + const uint8_t *buf, + size_t len); + int blake2b_digest(const void *state, + uint8_t digest[64]); + int blake2b_copy(const void *src, void *dst); + """) + + +class BLAKE2b_Hash(object): + """A BLAKE2b hash object. + Do not instantiate directly. Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The internal block size of the hash algorithm in bytes. + block_size = 64 + + def __init__(self, data, key, digest_bytes, update_after_digest): + + # The size of the resulting hash in bytes. + self.digest_size = digest_bytes + + self._update_after_digest = update_after_digest + self._digest_done = False + + # See https://tools.ietf.org/html/rfc7693 + if digest_bytes in (20, 32, 48, 64) and not key: + self.oid = "1.3.6.1.4.1.1722.12.2.1." + str(digest_bytes) + + state = VoidPointer() + result = _raw_blake2b_lib.blake2b_init(state.address_of(), + c_uint8_ptr(key), + c_size_t(len(key)), + c_size_t(digest_bytes) + ) + if result: + raise ValueError("Error %d while instantiating BLAKE2b" % result) + self._state = SmartPointer(state.get(), + _raw_blake2b_lib.blake2b_destroy) + if data: + self.update(data) + + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (bytes/bytearray/memoryview): The next chunk of the message being hashed. + """ + + if self._digest_done and not self._update_after_digest: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_blake2b_lib.blake2b_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while hashing BLAKE2b data" % result) + return self + + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(64) + result = _raw_blake2b_lib.blake2b_digest(self._state.get(), + bfr) + if result: + raise ValueError("Error %d while creating BLAKE2b digest" % result) + + self._digest_done = True + + return get_raw_buffer(bfr)[:self.digest_size] + + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in tuple(self.digest())]) + + + def verify(self, mac_tag): + """Verify that a given **binary** MAC (computed by another party) + is valid. + + Args: + mac_tag (bytes/bytearray/memoryview): the expected MAC of the message. + + Raises: + ValueError: if the MAC does not match. It means that the message + has been tampered with or that the MAC key is incorrect. + """ + + secret = get_random_bytes(16) + + mac1 = new(digest_bits=160, key=secret, data=mac_tag) + mac2 = new(digest_bits=160, key=secret, data=self.digest()) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + + def hexverify(self, hex_mac_tag): + """Verify that a given **printable** MAC (computed by another party) + is valid. + + Args: + hex_mac_tag (string): the expected MAC of the message, as a hexadecimal string. + + Raises: + ValueError: if the MAC does not match. It means that the message + has been tampered with or that the MAC key is incorrect. + """ + + self.verify(unhexlify(tobytes(hex_mac_tag))) + + + def new(self, **kwargs): + """Return a new instance of a BLAKE2b hash object. + See :func:`new`. + """ + + if "digest_bytes" not in kwargs and "digest_bits" not in kwargs: + kwargs["digest_bytes"] = self.digest_size + + return new(**kwargs) + + +def new(**kwargs): + """Create a new hash object. + + Args: + data (bytes/bytearray/memoryview): + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`BLAKE2b_Hash.update`. + digest_bytes (integer): + Optional. The size of the digest, in bytes (1 to 64). Default is 64. + digest_bits (integer): + Optional and alternative to ``digest_bytes``. + The size of the digest, in bits (8 to 512, in steps of 8). + Default is 512. + key (bytes/bytearray/memoryview): + Optional. The key to use to compute the MAC (1 to 64 bytes). + If not specified, no key will be used. + update_after_digest (boolean): + Optional. By default, a hash object cannot be updated anymore after + the digest is computed. When this flag is ``True``, such check + is no longer enforced. + + Returns: + A :class:`BLAKE2b_Hash` hash object + """ + + data = kwargs.pop("data", None) + update_after_digest = kwargs.pop("update_after_digest", False) + + digest_bytes = kwargs.pop("digest_bytes", None) + digest_bits = kwargs.pop("digest_bits", None) + if None not in (digest_bytes, digest_bits): + raise TypeError("Only one digest parameter must be provided") + if (None, None) == (digest_bytes, digest_bits): + digest_bytes = 64 + if digest_bytes is not None: + if not (1 <= digest_bytes <= 64): + raise ValueError("'digest_bytes' not in range 1..64") + else: + if not (8 <= digest_bits <= 512) or (digest_bits % 8): + raise ValueError("'digest_bytes' not in range 8..512, " + "with steps of 8") + digest_bytes = digest_bits // 8 + + key = kwargs.pop("key", b"") + if len(key) > 64: + raise ValueError("BLAKE2s key cannot exceed 64 bytes") + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return BLAKE2b_Hash(data, key, digest_bytes, update_after_digest) diff --git a/lib27/site-packages/Crypto/Hash/BLAKE2b.pyi b/lib27/site-packages/Crypto/Hash/BLAKE2b.pyi new file mode 100644 index 000000000..ac3bf576c --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/BLAKE2b.pyi @@ -0,0 +1,31 @@ +from typing import Any, Union + +Buffer = Union[bytes, bytearray, memoryview] + +class BLAKE2b_Hash(object): + block_size: int + digest_size: int + oid: str + + def __init__(self, + data: Buffer, + key: Buffer, + digest_bytes: bytes, + update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> BLAKE2b_Hash: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + def new(self, + data: Buffer = ..., + digest_bytes: int = ..., + digest_bits: int = ..., + key: Buffer = ..., + update_after_digest: bool = ...) -> BLAKE2b_Hash: ... + +def new(data: Buffer = ..., + digest_bytes: int = ..., + digest_bits: int = ..., + key: Buffer = ..., + update_after_digest: bool = ...) -> BLAKE2b_Hash: ... diff --git a/lib27/site-packages/Crypto/Hash/BLAKE2s.py b/lib27/site-packages/Crypto/Hash/BLAKE2s.py new file mode 100644 index 000000000..9b25c4a53 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/BLAKE2s.py @@ -0,0 +1,247 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from binascii import unhexlify + +from Crypto.Util.py3compat import bord, tobytes + +from Crypto.Random import get_random_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_blake2s_lib = load_pycryptodome_raw_lib("Crypto.Hash._BLAKE2s", + """ + int blake2s_init(void **state, + const uint8_t *key, + size_t key_size, + size_t digest_size); + int blake2s_destroy(void *state); + int blake2s_update(void *state, + const uint8_t *buf, + size_t len); + int blake2s_digest(const void *state, + uint8_t digest[32]); + int blake2s_copy(const void *src, void *dst); + """) + + +class BLAKE2s_Hash(object): + """A BLAKE2s hash object. + Do not instantiate directly. Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The internal block size of the hash algorithm in bytes. + block_size = 32 + + def __init__(self, data, key, digest_bytes, update_after_digest): + + # The size of the resulting hash in bytes. + self.digest_size = digest_bytes + + self._update_after_digest = update_after_digest + self._digest_done = False + + # See https://tools.ietf.org/html/rfc7693 + if digest_bytes in (16, 20, 28, 32) and not key: + self.oid = "1.3.6.1.4.1.1722.12.2.2." + str(digest_bytes) + + state = VoidPointer() + result = _raw_blake2s_lib.blake2s_init(state.address_of(), + c_uint8_ptr(key), + c_size_t(len(key)), + c_size_t(digest_bytes) + ) + if result: + raise ValueError("Error %d while instantiating BLAKE2s" % result) + self._state = SmartPointer(state.get(), + _raw_blake2s_lib.blake2s_destroy) + if data: + self.update(data) + + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._digest_done and not self._update_after_digest: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_blake2s_lib.blake2s_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while hashing BLAKE2s data" % result) + return self + + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(32) + result = _raw_blake2s_lib.blake2s_digest(self._state.get(), + bfr) + if result: + raise ValueError("Error %d while creating BLAKE2s digest" % result) + + self._digest_done = True + + return get_raw_buffer(bfr)[:self.digest_size] + + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in tuple(self.digest())]) + + + def verify(self, mac_tag): + """Verify that a given **binary** MAC (computed by another party) + is valid. + + Args: + mac_tag (byte string/byte array/memoryview): the expected MAC of the message. + + Raises: + ValueError: if the MAC does not match. It means that the message + has been tampered with or that the MAC key is incorrect. + """ + + secret = get_random_bytes(16) + + mac1 = new(digest_bits=160, key=secret, data=mac_tag) + mac2 = new(digest_bits=160, key=secret, data=self.digest()) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + + def hexverify(self, hex_mac_tag): + """Verify that a given **printable** MAC (computed by another party) + is valid. + + Args: + hex_mac_tag (string): the expected MAC of the message, as a hexadecimal string. + + Raises: + ValueError: if the MAC does not match. It means that the message + has been tampered with or that the MAC key is incorrect. + """ + + self.verify(unhexlify(tobytes(hex_mac_tag))) + + + def new(self, **kwargs): + """Return a new instance of a BLAKE2s hash object. + See :func:`new`. + """ + + if "digest_bytes" not in kwargs and "digest_bits" not in kwargs: + kwargs["digest_bytes"] = self.digest_size + + return new(**kwargs) + + +def new(**kwargs): + """Create a new hash object. + + Args: + data (byte string/byte array/memoryview): + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`BLAKE2s_Hash.update`. + digest_bytes (integer): + Optional. The size of the digest, in bytes (1 to 32). Default is 32. + digest_bits (integer): + Optional and alternative to ``digest_bytes``. + The size of the digest, in bits (8 to 256, in steps of 8). + Default is 256. + key (byte string): + Optional. The key to use to compute the MAC (1 to 64 bytes). + If not specified, no key will be used. + update_after_digest (boolean): + Optional. By default, a hash object cannot be updated anymore after + the digest is computed. When this flag is ``True``, such check + is no longer enforced. + + Returns: + A :class:`BLAKE2s_Hash` hash object + """ + + data = kwargs.pop("data", None) + update_after_digest = kwargs.pop("update_after_digest", False) + + digest_bytes = kwargs.pop("digest_bytes", None) + digest_bits = kwargs.pop("digest_bits", None) + if None not in (digest_bytes, digest_bits): + raise TypeError("Only one digest parameter must be provided") + if (None, None) == (digest_bytes, digest_bits): + digest_bytes = 32 + if digest_bytes is not None: + if not (1 <= digest_bytes <= 32): + raise ValueError("'digest_bytes' not in range 1..32") + else: + if not (8 <= digest_bits <= 256) or (digest_bits % 8): + raise ValueError("'digest_bytes' not in range 8..256, " + "with steps of 8") + digest_bytes = digest_bits // 8 + + key = kwargs.pop("key", b"") + if len(key) > 32: + raise ValueError("BLAKE2s key cannot exceed 32 bytes") + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return BLAKE2s_Hash(data, key, digest_bytes, update_after_digest) diff --git a/lib27/site-packages/Crypto/Hash/BLAKE2s.pyi b/lib27/site-packages/Crypto/Hash/BLAKE2s.pyi new file mode 100644 index 000000000..374b3a43e --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/BLAKE2s.pyi @@ -0,0 +1,26 @@ +from typing import Any, Union + +Buffer = Union[bytes, bytearray, memoryview] + +class BLAKE2s_Hash(object): + block_size: int + digest_size: int + oid: str + + def __init__(self, + data: Buffer, + key: Buffer, + digest_bytes: bytes, + update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> BLAKE2s_Hash: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + def new(self, **kwargs: Any) -> BLAKE2s_Hash: ... + +def new(data: Buffer = ..., + digest_bytes: int = ..., + digest_bits: int = ..., + key: Buffer = ..., + update_after_digest: bool = ...) -> BLAKE2s_Hash: ... diff --git a/lib27/site-packages/Crypto/Hash/CMAC.py b/lib27/site-packages/Crypto/Hash/CMAC.py new file mode 100644 index 000000000..0cbb0be5f --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/CMAC.py @@ -0,0 +1,305 @@ +# -*- coding: utf-8 -*- +# +# Hash/CMAC.py - Implements the CMAC algorithm +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +import sys +from binascii import unhexlify + +from Crypto.Hash import BLAKE2s +from Crypto.Util.strxor import strxor +from Crypto.Util.number import long_to_bytes, bytes_to_long +from Crypto.Util.py3compat import bord, tobytes, _copy_bytes +from Crypto.Random import get_random_bytes + +if sys.version_info[:2] == (2, 6): + memoryview = bytes + +# The size of the authentication tag produced by the MAC. +digest_size = None + + +def _shift_bytes(bs, xor_lsb=0): + num = (bytes_to_long(bs) << 1) ^ xor_lsb + return long_to_bytes(num, len(bs))[-len(bs):] + + +class CMAC(object): + """A CMAC hash object. + Do not instantiate directly. Use the :func:`new` function. + + :ivar digest_size: the size in bytes of the resulting MAC tag + :vartype digest_size: integer + """ + + digest_size = None + + def __init__(self, key, msg, ciphermod, cipher_params, mac_len, + update_after_digest): + + self.digest_size = mac_len + + self._key = _copy_bytes(None, None, key) + self._factory = ciphermod + self._cipher_params = cipher_params + self._block_size = bs = ciphermod.block_size + self._mac_tag = None + self._update_after_digest = update_after_digest + + # Section 5.3 of NIST SP 800 38B and Appendix B + if bs == 8: + const_Rb = 0x1B + self._max_size = 8 * (2 ** 21) + elif bs == 16: + const_Rb = 0x87 + self._max_size = 16 * (2 ** 48) + else: + raise TypeError("CMAC requires a cipher with a block size" + " of 8 or 16 bytes, not %d" % bs) + + # Compute sub-keys + zero_block = b'\x00' * bs + self._ecb = ciphermod.new(key, + ciphermod.MODE_ECB, + **self._cipher_params) + L = self._ecb.encrypt(zero_block) + if bord(L[0]) & 0x80: + self._k1 = _shift_bytes(L, const_Rb) + else: + self._k1 = _shift_bytes(L) + if bord(self._k1[0]) & 0x80: + self._k2 = _shift_bytes(self._k1, const_Rb) + else: + self._k2 = _shift_bytes(self._k1) + + # Initialize CBC cipher with zero IV + self._cbc = ciphermod.new(key, + ciphermod.MODE_CBC, + zero_block, + **self._cipher_params) + + # Cache for outstanding data to authenticate + self._cache = bytearray(bs) + self._cache_n = 0 + + # Last piece of ciphertext produced + self._last_ct = zero_block + + # Last block that was encrypted with AES + self._last_pt = None + + # Counter for total message size + self._data_size = 0 + + if msg: + self.update(msg) + + def update(self, msg): + """Authenticate the next chunk of message. + + Args: + data (byte string/byte array/memoryview): The next chunk of data + """ + + if self._mac_tag is not None and not self._update_after_digest: + raise TypeError("update() cannot be called after digest() or verify()") + + self._data_size += len(msg) + bs = self._block_size + + if self._cache_n > 0: + filler = min(bs - self._cache_n, len(msg)) + self._cache[self._cache_n:self._cache_n+filler] = msg[:filler] + self._cache_n += filler + + if self._cache_n < bs: + return self + + msg = memoryview(msg)[filler:] + self._update(self._cache) + self._cache_n = 0 + + remain = len(msg) % bs + if remain > 0: + self._update(msg[:-remain]) + self._cache[:remain] = msg[-remain:] + else: + self._update(msg) + self._cache_n = remain + return self + + def _update(self, data_block): + """Update a block aligned to the block boundary""" + + bs = self._block_size + assert len(data_block) % bs == 0 + + if len(data_block) == 0: + return + + ct = self._cbc.encrypt(data_block) + if len(data_block) == bs: + second_last = self._last_ct + else: + second_last = ct[-bs*2:-bs] + self._last_ct = ct[-bs:] + self._last_pt = strxor(second_last, data_block[-bs:]) + + def copy(self): + """Return a copy ("clone") of the CMAC object. + + The copy will have the same internal state as the original CMAC + object. + This can be used to efficiently compute the MAC tag of byte + strings that share a common initial substring. + + :return: An :class:`CMAC` + """ + + obj = self.__new__(CMAC) + obj.__dict__ = self.__dict__.copy() + obj._cbc = self._factory.new(self._key, + self._factory.MODE_CBC, + self._last_ct, + **self._cipher_params) + obj._cache = self._cache[:] + obj._last_ct = self._last_ct[:] + return obj + + def digest(self): + """Return the **binary** (non-printable) MAC tag of the message + that has been authenticated so far. + + :return: The MAC tag, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bs = self._block_size + + if self._mac_tag is not None and not self._update_after_digest: + return self._mac_tag + + if self._data_size > self._max_size: + raise ValueError("MAC is unsafe for this message") + + if self._cache_n == 0 and self._data_size > 0: + # Last block was full + pt = strxor(self._last_pt, self._k1) + else: + # Last block is partial (or message length is zero) + partial = self._cache[:] + partial[self._cache_n:] = b'\x80' + b'\x00' * (bs - self._cache_n - 1) + pt = strxor(strxor(self._last_ct, partial), self._k2) + + self._mac_tag = self._ecb.encrypt(pt)[:self.digest_size] + + return self._mac_tag + + def hexdigest(self): + """Return the **printable** MAC tag of the message authenticated so far. + + :return: The MAC tag, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) + for x in tuple(self.digest())]) + + def verify(self, mac_tag): + """Verify that a given **binary** MAC (computed by another party) + is valid. + + Args: + mac_tag (byte string/byte array/memoryview): the expected MAC of the message. + + Raises: + ValueError: if the MAC does not match. It means that the message + has been tampered with or that the MAC key is incorrect. + """ + + secret = get_random_bytes(16) + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, data=mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, data=self.digest()) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + """Return the **printable** MAC tag of the message authenticated so far. + + :return: The MAC tag, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + self.verify(unhexlify(tobytes(hex_mac_tag))) + + +def new(key, msg=None, ciphermod=None, cipher_params=None, mac_len=None, + update_after_digest=False): + """Create a new MAC object. + + Args: + key (byte string/byte array/memoryview): + key for the CMAC object. + The key must be valid for the underlying cipher algorithm. + For instance, it must be 16 bytes long for AES-128. + ciphermod (module): + A cipher module from :mod:`Crypto.Cipher`. + The cipher's block size has to be 128 bits, + like :mod:`Crypto.Cipher.AES`, to reduce the probability + of collisions. + msg (byte string/byte array/memoryview): + Optional. The very first chunk of the message to authenticate. + It is equivalent to an early call to `CMAC.update`. Optional. + cipher_params (dict): + Optional. A set of parameters to use when instantiating a cipher + object. + mac_len (integer): + Length of the MAC, in bytes. + It must be at least 4 bytes long. + The default (and recommended) length matches the size of a cipher block. + update_after_digest (boolean): + Optional. By default, a hash object cannot be updated anymore after + the digest is computed. When this flag is ``True``, such check + is no longer enforced. + Returns: + A :class:`CMAC` object + """ + + if ciphermod is None: + raise TypeError("ciphermod must be specified (try AES)") + + cipher_params = {} if cipher_params is None else dict(cipher_params) + + if mac_len is None: + mac_len = ciphermod.block_size + + if mac_len < 4: + raise ValueError("MAC tag length must be at least 4 bytes long") + + if mac_len > ciphermod.block_size: + raise ValueError("MAC tag length cannot be larger than a cipher block (%d) bytes" % ciphermod.block_size) + + return CMAC(key, msg, ciphermod, cipher_params, mac_len, + update_after_digest) diff --git a/lib27/site-packages/Crypto/Hash/CMAC.pyi b/lib27/site-packages/Crypto/Hash/CMAC.pyi new file mode 100644 index 000000000..33773aaa5 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/CMAC.pyi @@ -0,0 +1,30 @@ +from types import ModuleType +from typing import Union, Dict + +Buffer = Union[bytes, bytearray, memoryview] + +digest_size: int + +class CMAC(object): + digest_size: int + + def __init__(self, + key: Buffer, + msg: Buffer, + ciphermod: ModuleType, + cipher_params: dict, + mac_len: int, update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> CMAC: ... + def copy(self) -> CMAC: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + + +def new(key: Buffer, + msg: Buffer = ..., + ciphermod: ModuleType = ..., + cipher_params: Dict = ..., + mac_len: int = ..., + update_after_digest: bool = ...) -> CMAC: ... diff --git a/lib27/site-packages/Crypto/Hash/HMAC.py b/lib27/site-packages/Crypto/Hash/HMAC.py new file mode 100644 index 000000000..78bed4849 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/HMAC.py @@ -0,0 +1,213 @@ +# +# HMAC.py - Implements the HMAC algorithm as described by RFC 2104. +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import bord, tobytes, _memoryview + +from binascii import unhexlify + +from Crypto.Hash import MD5 +from Crypto.Hash import BLAKE2s +from Crypto.Util.strxor import strxor +from Crypto.Random import get_random_bytes + +__all__ = ['new', 'HMAC'] + + +class HMAC: + """An HMAC hash object. + Do not instantiate directly. Use the :func:`new` function. + + :ivar digest_size: the size in bytes of the resulting MAC tag + :vartype digest_size: integer + """ + + def __init__(self, key, msg=b"", digestmod=None): + + if digestmod is None: + digestmod = MD5 + + if msg is None: + msg = b"" + + # Size of the MAC tag + self.digest_size = digestmod.digest_size + + self._digestmod = digestmod + + if isinstance(key, _memoryview): + key = key.tobytes() + + try: + if len(key) <= digestmod.block_size: + # Step 1 or 2 + key_0 = key + b"\x00" * (digestmod.block_size - len(key)) + else: + # Step 3 + hash_k = digestmod.new(key).digest() + key_0 = hash_k + b"\x00" * (digestmod.block_size - len(hash_k)) + except AttributeError: + # Not all hash types have "block_size" + raise ValueError("Hash type incompatible to HMAC") + + # Step 4 + key_0_ipad = strxor(key_0, b"\x36" * len(key_0)) + + # Start step 5 and 6 + self._inner = digestmod.new(key_0_ipad) + self._inner.update(msg) + + # Step 7 + key_0_opad = strxor(key_0, b"\x5c" * len(key_0)) + + # Start step 8 and 9 + self._outer = digestmod.new(key_0_opad) + + def update(self, msg): + """Authenticate the next chunk of message. + + Args: + data (byte string/byte array/memoryview): The next chunk of data + """ + + self._inner.update(msg) + return self + + def _pbkdf2_hmac_assist(self, first_digest, iterations): + """Carry out the expensive inner loop for PBKDF2-HMAC""" + + result = self._digestmod._pbkdf2_hmac_assist( + self._inner, + self._outer, + first_digest, + iterations) + return result + + def copy(self): + """Return a copy ("clone") of the HMAC object. + + The copy will have the same internal state as the original HMAC + object. + This can be used to efficiently compute the MAC tag of byte + strings that share a common initial substring. + + :return: An :class:`HMAC` + """ + + new_hmac = HMAC(b"fake key", digestmod=self._digestmod) + + # Syncronize the state + new_hmac._inner = self._inner.copy() + new_hmac._outer = self._outer.copy() + + return new_hmac + + def digest(self): + """Return the **binary** (non-printable) MAC tag of the message + authenticated so far. + + :return: The MAC tag digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + frozen_outer_hash = self._outer.copy() + frozen_outer_hash.update(self._inner.digest()) + return frozen_outer_hash.digest() + + def verify(self, mac_tag): + """Verify that a given **binary** MAC (computed by another party) + is valid. + + Args: + mac_tag (byte string/byte string/memoryview): the expected MAC of the message. + + Raises: + ValueError: if the MAC does not match. It means that the message + has been tampered with or that the MAC key is incorrect. + """ + + secret = get_random_bytes(16) + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, data=mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, data=self.digest()) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexdigest(self): + """Return the **printable** MAC tag of the message authenticated so far. + + :return: The MAC tag, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) + for x in tuple(self.digest())]) + + def hexverify(self, hex_mac_tag): + """Verify that a given **printable** MAC (computed by another party) + is valid. + + Args: + hex_mac_tag (string): the expected MAC of the message, + as a hexadecimal string. + + Raises: + ValueError: if the MAC does not match. It means that the message + has been tampered with or that the MAC key is incorrect. + """ + + self.verify(unhexlify(tobytes(hex_mac_tag))) + + +def new(key, msg=b"", digestmod=None): + """Create a new MAC object. + + Args: + key (bytes/bytearray/memoryview): + key for the MAC object. + It must be long enough to match the expected security level of the + MAC. + msg (bytes/bytearray/memoryview): + Optional. The very first chunk of the message to authenticate. + It is equivalent to an early call to :meth:`HMAC.update`. + digestmod (module): + The hash to use to implement the HMAC. + Default is :mod:`Crypto.Hash.MD5`. + + Returns: + An :class:`HMAC` object + """ + + return HMAC(key, msg, digestmod) diff --git a/lib27/site-packages/Crypto/Hash/HMAC.pyi b/lib27/site-packages/Crypto/Hash/HMAC.pyi new file mode 100644 index 000000000..b577230f5 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/HMAC.pyi @@ -0,0 +1,25 @@ +from types import ModuleType +from typing import Union, Dict + +Buffer = Union[bytes, bytearray, memoryview] + +digest_size: int + +class HMAC(object): + digest_size: int + + def __init__(self, + key: Buffer, + msg: Buffer, + digestmod: ModuleType) -> None: ... + def update(self, msg: Buffer) -> HMAC: ... + def copy(self) -> HMAC: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + + +def new(key: Buffer, + msg: Buffer = ..., + digestmod: ModuleType = ...) -> HMAC: ... diff --git a/lib27/site-packages/Crypto/Hash/MD2.py b/lib27/site-packages/Crypto/Hash/MD2.py new file mode 100644 index 000000000..9d474b69b --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/MD2.py @@ -0,0 +1,166 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_md2_lib = load_pycryptodome_raw_lib( + "Crypto.Hash._MD2", + """ + int md2_init(void **shaState); + int md2_destroy(void *shaState); + int md2_update(void *hs, + const uint8_t *buf, + size_t len); + int md2_digest(const void *shaState, + uint8_t digest[20]); + int md2_copy(const void *src, void *dst); + """) + + +class MD2Hash(object): + """An MD2 hash object. + Do not instantiate directly. Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 16 + # The internal block size of the hash algorithm in bytes. + block_size = 64 + # ASN.1 Object ID + oid = "1.2.840.113549.2.2" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_md2_lib.md2_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating MD2" + % result) + self._state = SmartPointer(state.get(), + _raw_md2_lib.md2_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_md2_lib.md2_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while instantiating MD2" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_md2_lib.md2_digest(self._state.get(), + bfr) + if result: + raise ValueError("Error %d while instantiating MD2" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = MD2Hash() + result = _raw_md2_lib.md2_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying MD2" % result) + return clone + + def new(self, data=None): + return MD2Hash(data) + + +def new(data=None): + """Create a new hash object. + + :parameter data: + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`MD2Hash.update`. + :type data: bytes/bytearray/memoryview + + :Return: A :class:`MD2Hash` hash object + """ + + return MD2Hash().new(data) + +# The size of the resulting hash in bytes. +digest_size = MD2Hash.digest_size + +# The internal block size of the hash algorithm in bytes. +block_size = MD2Hash.block_size diff --git a/lib27/site-packages/Crypto/Hash/MD2.pyi b/lib27/site-packages/Crypto/Hash/MD2.pyi new file mode 100644 index 000000000..95a97a9ea --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/MD2.pyi @@ -0,0 +1,19 @@ +from typing import Union + +Buffer = Union[bytes, bytearray, memoryview] + +class MD4Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, data: Buffer = ...) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> MD4Hash: ... + def new(self, data: Buffer = ...) -> MD4Hash: ... + +def new(data: Buffer = ...) -> MD4Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/MD4.py b/lib27/site-packages/Crypto/Hash/MD4.py new file mode 100644 index 000000000..be12b192a --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/MD4.py @@ -0,0 +1,185 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +MD4 is specified in RFC1320_ and produces the 128 bit digest of a message. + + >>> from Crypto.Hash import MD4 + >>> + >>> h = MD4.new() + >>> h.update(b'Hello') + >>> print h.hexdigest() + +MD4 stand for Message Digest version 4, and it was invented by Rivest in 1990. +This algorithm is insecure. Do not use it for new designs. + +.. _RFC1320: http://tools.ietf.org/html/rfc1320 +""" + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_md4_lib = load_pycryptodome_raw_lib( + "Crypto.Hash._MD4", + """ + int md4_init(void **shaState); + int md4_destroy(void *shaState); + int md4_update(void *hs, + const uint8_t *buf, + size_t len); + int md4_digest(const void *shaState, + uint8_t digest[20]); + int md4_copy(const void *src, void *dst); + """) + + +class MD4Hash(object): + """Class that implements an MD4 hash + """ + + #: The size of the resulting hash in bytes. + digest_size = 16 + #: The internal block size of the hash algorithm in bytes. + block_size = 64 + #: ASN.1 Object ID + oid = "1.2.840.113549.2.4" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_md4_lib.md4_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating MD4" + % result) + self._state = SmartPointer(state.get(), + _raw_md4_lib.md4_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Repeated calls are equivalent to a single call with the concatenation + of all the arguments. In other words: + + >>> m.update(a); m.update(b) + + is equivalent to: + + >>> m.update(a+b) + + :Parameters: + data : byte string/byte array/memoryview + The next chunk of the message being hashed. + """ + + result = _raw_md4_lib.md4_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while instantiating MD4" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that + has been hashed so far. + + This method does not change the state of the hash object. + You can continue updating the object after calling this function. + + :Return: A byte string of `digest_size` bytes. It may contain non-ASCII + characters, including null bytes. + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_md4_lib.md4_digest(self._state.get(), + bfr) + if result: + raise ValueError("Error %d while instantiating MD4" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been + hashed so far. + + This method does not change the state of the hash object. + + :Return: A string of 2* `digest_size` characters. It contains only + hexadecimal ASCII digits. + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :Return: A hash object of the same type + """ + + clone = MD4Hash() + result = _raw_md4_lib.md4_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying MD4" % result) + return clone + + def new(self, data=None): + return MD4Hash(data) + + +def new(data=None): + """Return a fresh instance of the hash object. + + :Parameters: + data : byte string/byte array/memoryview + The very first chunk of the message to hash. + It is equivalent to an early call to `MD4Hash.update()`. + Optional. + + :Return: A `MD4Hash` object + """ + return MD4Hash().new(data) + +#: The size of the resulting hash in bytes. +digest_size = MD4Hash.digest_size + +#: The internal block size of the hash algorithm in bytes. +block_size = MD4Hash.block_size diff --git a/lib27/site-packages/Crypto/Hash/MD4.pyi b/lib27/site-packages/Crypto/Hash/MD4.pyi new file mode 100644 index 000000000..a9a729539 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/MD4.pyi @@ -0,0 +1,19 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class MD4Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, data: Optional[Buffer] = ...) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> MD4Hash: ... + def new(self, data: Optional[Buffer] = ...) -> MD4Hash: ... + +def new(data: Optional[Buffer] = ...) -> MD4Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/MD5.py b/lib27/site-packages/Crypto/Hash/MD5.py new file mode 100644 index 000000000..554b77720 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/MD5.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import * + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_md5_lib = load_pycryptodome_raw_lib("Crypto.Hash._MD5", + """ + #define MD5_DIGEST_SIZE 16 + + int MD5_init(void **shaState); + int MD5_destroy(void *shaState); + int MD5_update(void *hs, + const uint8_t *buf, + size_t len); + int MD5_digest(const void *shaState, + uint8_t digest[MD5_DIGEST_SIZE]); + int MD5_copy(const void *src, void *dst); + + int MD5_pbkdf2_hmac_assist(const void *inner, + const void *outer, + const uint8_t first_digest[MD5_DIGEST_SIZE], + uint8_t final_digest[MD5_DIGEST_SIZE], + size_t iterations); + """) + +class MD5Hash(object): + """A MD5 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 16 + # The internal block size of the hash algorithm in bytes. + block_size = 64 + # ASN.1 Object ID + oid = "1.2.840.113549.2.5" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_md5_lib.MD5_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating MD5" + % result) + self._state = SmartPointer(state.get(), + _raw_md5_lib.MD5_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_md5_lib.MD5_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while instantiating MD5" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_md5_lib.MD5_digest(self._state.get(), + bfr) + if result: + raise ValueError("Error %d while instantiating MD5" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = MD5Hash() + result = _raw_md5_lib.MD5_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying MD5" % result) + return clone + + def new(self, data=None): + """Create a fresh SHA-1 hash object.""" + + return MD5Hash(data) + + +def new(data=None): + """Create a new hash object. + + :parameter data: + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`MD5Hash.update`. + :type data: byte string/byte array/memoryview + + :Return: A :class:`MD5Hash` hash object + """ + return MD5Hash().new(data) + +# The size of the resulting hash in bytes. +digest_size = 16 + +# The internal block size of the hash algorithm in bytes. +block_size = 64 + + +def _pbkdf2_hmac_assist(inner, outer, first_digest, iterations): + """Compute the expensive inner loop in PBKDF-HMAC.""" + + assert len(first_digest) == digest_size + assert iterations > 0 + + bfr = create_string_buffer(digest_size); + result = _raw_md5_lib.MD5_pbkdf2_hmac_assist( + inner._state.get(), + outer._state.get(), + first_digest, + bfr, + c_size_t(iterations)) + + if result: + raise ValueError("Error %d with PBKDF2-HMAC assis for MD5" % result) + + return get_raw_buffer(bfr) diff --git a/lib27/site-packages/Crypto/Hash/MD5.pyi b/lib27/site-packages/Crypto/Hash/MD5.pyi new file mode 100644 index 000000000..d8195562a --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/MD5.pyi @@ -0,0 +1,19 @@ +from typing import Union + +Buffer = Union[bytes, bytearray, memoryview] + +class MD5Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, data: Buffer = ...) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> MD5Hash: ... + def new(self, data: Buffer = ...) -> MD5Hash: ... + +def new(data: Buffer = ...) -> MD5Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/Poly1305.py b/lib27/site-packages/Crypto/Hash/Poly1305.py new file mode 100644 index 000000000..a0d65c61f --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/Poly1305.py @@ -0,0 +1,170 @@ +# -*- coding: utf-8 -*- +# +# Hash/Poly1305.py - Implements the Poly1305 MAC +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from binascii import unhexlify + +from Crypto.Util.py3compat import bord, tobytes, _copy_bytes + +from Crypto.Hash import BLAKE2s +from Crypto.Random import get_random_bytes +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_poly1305 = load_pycryptodome_raw_lib("Crypto.Hash._poly1305", + """ + int poly1305_init(void **state, + const uint8_t *r, + size_t r_len, + const uint8_t *s, + size_t s_len); + int poly1305_destroy(void *state); + int poly1305_update(void *state, + const uint8_t *in, + size_t len); + int poly1305_digest(const void *state, + uint8_t *digest, + size_t len); + """) + + +class Poly1305_MAC(object): + + digest_size = 16 + + def __init__(self, r, s, data): + + if len(r) != 16: + raise ValueError("Paramater r is not 16 bytes long") + if len(s) != 16: + raise ValueError("Parameter s is not 16 bytes long") + + self._mac_tag = None + + state = VoidPointer() + result = _raw_poly1305.poly1305_init(state.address_of(), + c_uint8_ptr(r), + c_size_t(len(r)), + c_uint8_ptr(s), + c_size_t(len(s)) + ) + if result: + raise ValueError("Error %d while instantiating Poly1305" % result) + self._state = SmartPointer(state.get(), + _raw_poly1305.poly1305_destroy) + if data: + self.update(data) + + def update(self, data): + + if self._mac_tag: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_poly1305.poly1305_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while hashing Poly1305 data" % result) + return self + + def copy(self): + raise NotImplementedError() + + def digest(self): + + if self._mac_tag: + return self._mac_tag + + bfr = create_string_buffer(16) + result = _raw_poly1305.poly1305_digest(self._state.get(), + bfr, + c_size_t(len(bfr))) + if result: + raise ValueError("Error %d while creating Poly1305 digest" % result) + + self._mac_tag = get_raw_buffer(bfr) + return self._mac_tag + + def hexdigest(self): + + return "".join(["%02x" % bord(x) + for x in tuple(self.digest())]) + + def verify(self, mac_tag): + + secret = get_random_bytes(16) + + mac1 = BLAKE2s.new(digest_bits=160, key=secret, data=mac_tag) + mac2 = BLAKE2s.new(digest_bits=160, key=secret, data=self.digest()) + + if mac1.digest() != mac2.digest(): + raise ValueError("MAC check failed") + + def hexverify(self, hex_mac_tag): + + self.verify(unhexlify(tobytes(hex_mac_tag))) + + +def new(**kwargs): + """Create a new Poly1305 MAC object. + + Args: + key (bytes/bytearray/memoryview): + The 32-byte key for the Poly1305 object. + cipher (module from ``Crypto.Cipher``): + The cipher algorithm to use for deriving the Poly1305 + key pair *(r, s)*. + It can only be ``Crypto.Cipher.AES`` or ``Crypto.Cipher.ChaCha20``. + nonce (bytes/bytearray/memoryview): + Optional. The non-repeatable value to use for the MAC of this message. + It must be 16 bytes long for ``AES`` and 8 or 12 bytes for ``ChaCha20``. + If not passed, a random nonce is created; you will find it in the + ``nonce`` attribute of the new object. + data (bytes/bytearray/memoryview): + Optional. The very first chunk of the message to authenticate. + It is equivalent to an early call to ``update()``. + + Returns: + A :class:`Poly1305_MAC` object + """ + + cipher = kwargs.pop("cipher", None) + if not hasattr(cipher, '_derive_Poly1305_key_pair'): + raise ValueError("Parameter 'cipher' must be AES or ChaCha20") + + cipher_key = kwargs.pop("key", None) + if cipher_key is None: + raise TypeError("You must pass a parameter 'key'") + + nonce = kwargs.pop("nonce", None) + data = kwargs.pop("data", None) + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + r, s, nonce = cipher._derive_Poly1305_key_pair(cipher_key, nonce) + + new_mac = Poly1305_MAC(r, s, data) + new_mac.nonce = _copy_bytes(None, None, nonce) # nonce may still be just a memoryview + return new_mac diff --git a/lib27/site-packages/Crypto/Hash/Poly1305.pyi b/lib27/site-packages/Crypto/Hash/Poly1305.pyi new file mode 100644 index 000000000..f97a14a01 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/Poly1305.pyi @@ -0,0 +1,24 @@ +from types import ModuleType +from typing import Union + +Buffer = Union[bytes, bytearray, memoryview] + +class Poly1305_MAC(object): + block_size: int + digest_size: int + oid: str + + def __init__(self, + r : int, + s : int, + data : Buffer) -> None: ... + def update(self, data: Buffer) -> Poly1305_MAC: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def verify(self, mac_tag: Buffer) -> None: ... + def hexverify(self, hex_mac_tag: str) -> None: ... + +def new(key: Buffer, + cipher: ModuleType, + nonce: Buffer = ..., + data: Buffer = ...) -> Poly1305_MAC: ... diff --git a/lib27/site-packages/Crypto/Hash/RIPEMD.py b/lib27/site-packages/Crypto/Hash/RIPEMD.py new file mode 100644 index 000000000..4e8023585 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/RIPEMD.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +# This file exists for backward compatibility with old code that refers to +# Crypto.Hash.RIPEMD + +"""Deprecated alias for `Crypto.Hash.RIPEMD160`""" + +from Crypto.Hash.RIPEMD160 import new, block_size, digest_size diff --git a/lib27/site-packages/Crypto/Hash/RIPEMD.pyi b/lib27/site-packages/Crypto/Hash/RIPEMD.pyi new file mode 100644 index 000000000..e33eb2df1 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/RIPEMD.pyi @@ -0,0 +1,3 @@ +# This file exists for backward compatibility with old code that refers to +# Crypto.Hash.SHA + diff --git a/lib27/site-packages/Crypto/Hash/RIPEMD160.py b/lib27/site-packages/Crypto/Hash/RIPEMD160.py new file mode 100644 index 000000000..820b57dd7 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/RIPEMD160.py @@ -0,0 +1,169 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_ripemd160_lib = load_pycryptodome_raw_lib( + "Crypto.Hash._RIPEMD160", + """ + int ripemd160_init(void **shaState); + int ripemd160_destroy(void *shaState); + int ripemd160_update(void *hs, + const uint8_t *buf, + size_t len); + int ripemd160_digest(const void *shaState, + uint8_t digest[20]); + int ripemd160_copy(const void *src, void *dst); + """) + + +class RIPEMD160Hash(object): + """A RIPEMD-160 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 20 + # The internal block size of the hash algorithm in bytes. + block_size = 64 + # ASN.1 Object ID + oid = "1.3.36.3.2.1" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_ripemd160_lib.ripemd160_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating RIPEMD160" + % result) + self._state = SmartPointer(state.get(), + _raw_ripemd160_lib.ripemd160_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_ripemd160_lib.ripemd160_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while instantiating ripemd160" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_ripemd160_lib.ripemd160_digest(self._state.get(), + bfr) + if result: + raise ValueError("Error %d while instantiating ripemd160" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = RIPEMD160Hash() + result = _raw_ripemd160_lib.ripemd160_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying ripemd160" % result) + return clone + + def new(self, data=None): + """Create a fresh RIPEMD-160 hash object.""" + + return RIPEMD160Hash(data) + + +def new(data=None): + """Create a new hash object. + + :parameter data: + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`RIPEMD160Hash.update`. + :type data: byte string/byte array/memoryview + + :Return: A :class:`RIPEMD160Hash` hash object + """ + + return RIPEMD160Hash().new(data) + +# The size of the resulting hash in bytes. +digest_size = RIPEMD160Hash.digest_size + +# The internal block size of the hash algorithm in bytes. +block_size = RIPEMD160Hash.block_size diff --git a/lib27/site-packages/Crypto/Hash/RIPEMD160.pyi b/lib27/site-packages/Crypto/Hash/RIPEMD160.pyi new file mode 100644 index 000000000..b61947377 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/RIPEMD160.pyi @@ -0,0 +1,19 @@ +from typing import Union + +Buffer = Union[bytes, bytearray, memoryview] + +class RIPEMD160Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, data: Buffer = ...) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> RIPEMD160Hash: ... + def new(self, data: Buffer = ...) -> RIPEMD160Hash: ... + +def new(data: Buffer = ...) -> RIPEMD160Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA.py b/lib27/site-packages/Crypto/Hash/SHA.py new file mode 100644 index 000000000..0cc141c90 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +# This file exists for backward compatibility with old code that refers to +# Crypto.Hash.SHA + +from Crypto.Hash.SHA1 import __doc__, new, block_size, digest_size diff --git a/lib27/site-packages/Crypto/Hash/SHA.pyi b/lib27/site-packages/Crypto/Hash/SHA.pyi new file mode 100644 index 000000000..4d7d57e2c --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA.pyi @@ -0,0 +1,4 @@ +# This file exists for backward compatibility with old code that refers to +# Crypto.Hash.SHA + +from Crypto.Hash.SHA1 import __doc__, new, block_size, digest_size diff --git a/lib27/site-packages/Crypto/Hash/SHA1.py b/lib27/site-packages/Crypto/Hash/SHA1.py new file mode 100644 index 000000000..f79d82573 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA1.py @@ -0,0 +1,185 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import * + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_sha1_lib = load_pycryptodome_raw_lib("Crypto.Hash._SHA1", + """ + #define SHA1_DIGEST_SIZE 20 + + int SHA1_init(void **shaState); + int SHA1_destroy(void *shaState); + int SHA1_update(void *hs, + const uint8_t *buf, + size_t len); + int SHA1_digest(const void *shaState, + uint8_t digest[SHA1_DIGEST_SIZE]); + int SHA1_copy(const void *src, void *dst); + + int SHA1_pbkdf2_hmac_assist(const void *inner, + const void *outer, + const uint8_t first_digest[SHA1_DIGEST_SIZE], + uint8_t final_digest[SHA1_DIGEST_SIZE], + size_t iterations); + """) + +class SHA1Hash(object): + """A SHA-1 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 20 + # The internal block size of the hash algorithm in bytes. + block_size = 64 + # ASN.1 Object ID + oid = "1.3.14.3.2.26" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_sha1_lib.SHA1_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating SHA1" + % result) + self._state = SmartPointer(state.get(), + _raw_sha1_lib.SHA1_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_sha1_lib.SHA1_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while instantiating SHA1" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_sha1_lib.SHA1_digest(self._state.get(), + bfr) + if result: + raise ValueError("Error %d while instantiating SHA1" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = SHA1Hash() + result = _raw_sha1_lib.SHA1_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying SHA1" % result) + return clone + + def new(self, data=None): + """Create a fresh SHA-1 hash object.""" + + return SHA1Hash(data) + + +def new(data=None): + """Create a new hash object. + + :parameter data: + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`SHA1Hash.update`. + :type data: byte string/byte array/memoryview + + :Return: A :class:`SHA1Hash` hash object + """ + return SHA1Hash().new(data) + + +# The size of the resulting hash in bytes. +digest_size = SHA1Hash.digest_size + +# The internal block size of the hash algorithm in bytes. +block_size = SHA1Hash.block_size + + +def _pbkdf2_hmac_assist(inner, outer, first_digest, iterations): + """Compute the expensive inner loop in PBKDF-HMAC.""" + + assert len(first_digest) == digest_size + assert iterations > 0 + + bfr = create_string_buffer(digest_size); + result = _raw_sha1_lib.SHA1_pbkdf2_hmac_assist( + inner._state.get(), + outer._state.get(), + first_digest, + bfr, + c_size_t(iterations)) + + if result: + raise ValueError("Error %d with PBKDF2-HMAC assis for SHA1" % result) + + return get_raw_buffer(bfr) diff --git a/lib27/site-packages/Crypto/Hash/SHA1.pyi b/lib27/site-packages/Crypto/Hash/SHA1.pyi new file mode 100644 index 000000000..d6c8e25ea --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA1.pyi @@ -0,0 +1,19 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA1Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, data: Optional[Buffer] = ...) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> SHA1Hash: ... + def new(self, data: Optional[Buffer] = ...) -> SHA1Hash: ... + +def new(data: Optional[Buffer] = ...) -> SHA1Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA224.py b/lib27/site-packages/Crypto/Hash/SHA224.py new file mode 100644 index 000000000..f788b063a --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA224.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_sha224_lib = load_pycryptodome_raw_lib("Crypto.Hash._SHA224", + """ + int SHA224_init(void **shaState); + int SHA224_destroy(void *shaState); + int SHA224_update(void *hs, + const uint8_t *buf, + size_t len); + int SHA224_digest(const void *shaState, + uint8_t *digest, + size_t digest_size); + int SHA224_copy(const void *src, void *dst); + + int SHA224_pbkdf2_hmac_assist(const void *inner, + const void *outer, + const uint8_t *first_digest, + uint8_t *final_digest, + size_t iterations, + size_t digest_size); + """) + +class SHA224Hash(object): + """A SHA-224 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 28 + # The internal block size of the hash algorithm in bytes. + block_size = 64 + # ASN.1 Object ID + oid = '2.16.840.1.101.3.4.2.4' + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_sha224_lib.SHA224_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating SHA224" + % result) + self._state = SmartPointer(state.get(), + _raw_sha224_lib.SHA224_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_sha224_lib.SHA224_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while hashing data with SHA224" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_sha224_lib.SHA224_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while making SHA224 digest" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = SHA224Hash() + result = _raw_sha224_lib.SHA224_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying SHA224" % result) + return clone + + def new(self, data=None): + """Create a fresh SHA-224 hash object.""" + + return SHA224Hash(data) + + +def new(data=None): + """Create a new hash object. + + :parameter data: + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`SHA224Hash.update`. + :type data: byte string/byte array/memoryview + + :Return: A :class:`SHA224Hash` hash object + """ + return SHA224Hash().new(data) + + +# The size of the resulting hash in bytes. +digest_size = SHA224Hash.digest_size + +# The internal block size of the hash algorithm in bytes. +block_size = SHA224Hash.block_size + + +def _pbkdf2_hmac_assist(inner, outer, first_digest, iterations): + """Compute the expensive inner loop in PBKDF-HMAC.""" + + assert iterations > 0 + + bfr = create_string_buffer(len(first_digest)); + result = _raw_sha224_lib.SHA224_pbkdf2_hmac_assist( + inner._state.get(), + outer._state.get(), + first_digest, + bfr, + c_size_t(iterations), + c_size_t(len(first_digest))) + + if result: + raise ValueError("Error %d with PBKDF2-HMAC assist for SHA224" % result) + + return get_raw_buffer(bfr) diff --git a/lib27/site-packages/Crypto/Hash/SHA224.pyi b/lib27/site-packages/Crypto/Hash/SHA224.pyi new file mode 100644 index 000000000..613a7f9a7 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA224.pyi @@ -0,0 +1,19 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA224Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, data: Optional[Buffer] = ...) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> SHA224Hash: ... + def new(self, data: Optional[Buffer] = ...) -> SHA224Hash: ... + +def new(data: Optional[Buffer] = ...) -> SHA224Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA256.py b/lib27/site-packages/Crypto/Hash/SHA256.py new file mode 100644 index 000000000..957aa37e0 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA256.py @@ -0,0 +1,185 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_sha256_lib = load_pycryptodome_raw_lib("Crypto.Hash._SHA256", + """ + int SHA256_init(void **shaState); + int SHA256_destroy(void *shaState); + int SHA256_update(void *hs, + const uint8_t *buf, + size_t len); + int SHA256_digest(const void *shaState, + uint8_t *digest, + size_t digest_size); + int SHA256_copy(const void *src, void *dst); + + int SHA256_pbkdf2_hmac_assist(const void *inner, + const void *outer, + const uint8_t *first_digest, + uint8_t *final_digest, + size_t iterations, + size_t digest_size); + """) + +class SHA256Hash(object): + """A SHA-256 hash object. + Do not instantiate directly. Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 32 + # The internal block size of the hash algorithm in bytes. + block_size = 64 + # ASN.1 Object ID + oid = "2.16.840.1.101.3.4.2.1" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_sha256_lib.SHA256_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating SHA256" + % result) + self._state = SmartPointer(state.get(), + _raw_sha256_lib.SHA256_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_sha256_lib.SHA256_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while hashing data with SHA256" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_sha256_lib.SHA256_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while making SHA256 digest" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = SHA256Hash() + result = _raw_sha256_lib.SHA256_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying SHA256" % result) + return clone + + def new(self, data=None): + """Create a fresh SHA-256 hash object.""" + + return SHA256Hash(data) + +def new(data=None): + """Create a new hash object. + + :parameter data: + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`SHA256Hash.update`. + :type data: byte string/byte array/memoryview + + :Return: A :class:`SHA256Hash` hash object + """ + + return SHA256Hash().new(data) + + +# The size of the resulting hash in bytes. +digest_size = SHA256Hash.digest_size + +# The internal block size of the hash algorithm in bytes. +block_size = SHA256Hash.block_size + + +def _pbkdf2_hmac_assist(inner, outer, first_digest, iterations): + """Compute the expensive inner loop in PBKDF-HMAC.""" + + assert iterations > 0 + + bfr = create_string_buffer(len(first_digest)); + result = _raw_sha256_lib.SHA256_pbkdf2_hmac_assist( + inner._state.get(), + outer._state.get(), + first_digest, + bfr, + c_size_t(iterations), + c_size_t(len(first_digest))) + + if result: + raise ValueError("Error %d with PBKDF2-HMAC assist for SHA256" % result) + + return get_raw_buffer(bfr) diff --git a/lib27/site-packages/Crypto/Hash/SHA256.pyi b/lib27/site-packages/Crypto/Hash/SHA256.pyi new file mode 100644 index 000000000..cbf21bfb5 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA256.pyi @@ -0,0 +1,18 @@ +from typing import Union, Optional + + +class SHA256Hash(object): + digest_size: int + block_size: int + oid: str + def __init__(self, data: Optional[Union[bytes, bytearray, memoryview]]=None) -> None: ... + def update(self, data: Union[bytes, bytearray, memoryview]) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> SHA256Hash: ... + def new(self, data: Optional[Union[bytes, bytearray, memoryview]]=None) -> SHA256Hash: ... + +def new(data: Optional[Union[bytes, bytearray, memoryview]]=None) -> SHA256Hash: ... + +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA384.py b/lib27/site-packages/Crypto/Hash/SHA384.py new file mode 100644 index 000000000..a98fa9a3c --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA384.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_sha384_lib = load_pycryptodome_raw_lib("Crypto.Hash._SHA384", + """ + int SHA384_init(void **shaState); + int SHA384_destroy(void *shaState); + int SHA384_update(void *hs, + const uint8_t *buf, + size_t len); + int SHA384_digest(const void *shaState, + uint8_t *digest, + size_t digest_size); + int SHA384_copy(const void *src, void *dst); + + int SHA384_pbkdf2_hmac_assist(const void *inner, + const void *outer, + const uint8_t *first_digest, + uint8_t *final_digest, + size_t iterations, + size_t digest_size); + """) + +class SHA384Hash(object): + """A SHA-384 hash object. + Do not instantiate directly. Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 48 + # The internal block size of the hash algorithm in bytes. + block_size = 128 + # ASN.1 Object ID + oid = '2.16.840.1.101.3.4.2.2' + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_sha384_lib.SHA384_init(state.address_of()) + if result: + raise ValueError("Error %d while instantiating SHA384" + % result) + self._state = SmartPointer(state.get(), + _raw_sha384_lib.SHA384_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_sha384_lib.SHA384_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while hashing data with SHA384" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_sha384_lib.SHA384_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while making SHA384 digest" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = SHA384Hash() + result = _raw_sha384_lib.SHA384_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying SHA384" % result) + return clone + + def new(self, data=None): + """Create a fresh SHA-384 hash object.""" + + return SHA384Hash(data) + + +def new(data=None): + """Create a new hash object. + + :parameter data: + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`SHA384Hash.update`. + :type data: byte string/byte array/memoryview + + :Return: A :class:`SHA384Hash` hash object + """ + + return SHA384Hash().new(data) + + +# The size of the resulting hash in bytes. +digest_size = SHA384Hash.digest_size + +# The internal block size of the hash algorithm in bytes. +block_size = SHA384Hash.block_size + + +def _pbkdf2_hmac_assist(inner, outer, first_digest, iterations): + """Compute the expensive inner loop in PBKDF-HMAC.""" + + assert iterations > 0 + + bfr = create_string_buffer(len(first_digest)); + result = _raw_sha384_lib.SHA384_pbkdf2_hmac_assist( + inner._state.get(), + outer._state.get(), + first_digest, + bfr, + c_size_t(iterations), + c_size_t(len(first_digest))) + + if result: + raise ValueError("Error %d with PBKDF2-HMAC assist for SHA384" % result) + + return get_raw_buffer(bfr) diff --git a/lib27/site-packages/Crypto/Hash/SHA384.pyi b/lib27/site-packages/Crypto/Hash/SHA384.pyi new file mode 100644 index 000000000..c2aab9e08 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA384.pyi @@ -0,0 +1,19 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA384Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, data: Optional[Buffer] = ...) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> SHA384Hash: ... + def new(self, data: Optional[Buffer] = ...) -> SHA384Hash: ... + +def new(data: Optional[Buffer] = ...) -> SHA384Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA3_224.py b/lib27/site-packages/Crypto/Hash/SHA3_224.py new file mode 100644 index 000000000..bfc9bc2fe --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_224.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +from Crypto.Hash.keccak import _raw_keccak_lib + +class SHA3_224_Hash(object): + """A SHA3-224 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 28 + + # ASN.1 Object ID + oid = "2.16.840.1.101.3.4.2.7" + + def __init__(self, data, update_after_digest): + self._update_after_digest = update_after_digest + self._digest_done = False + + state = VoidPointer() + result = _raw_keccak_lib.keccak_init(state.address_of(), + c_size_t(self.digest_size * 2), + 0x06) + if result: + raise ValueError("Error %d while instantiating SHA-3/224" + % result) + self._state = SmartPointer(state.get(), + _raw_keccak_lib.keccak_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._digest_done and not self._update_after_digest: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_keccak_lib.keccak_absorb(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while updating SHA-3/224" + % result) + return self + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + self._digest_done = True + + bfr = create_string_buffer(self.digest_size) + result = _raw_keccak_lib.keccak_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while instantiating SHA-3/224" + % result) + + self._digest_value = get_raw_buffer(bfr) + return self._digest_value + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def new(self): + """Create a fresh SHA3-224 hash object.""" + + return type(self)(None, self._update_after_digest) + + +def new(*args, **kwargs): + """Create a new hash object. + + Args: + data (byte string/byte array/memoryview): + The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`update`. + update_after_digest (boolean): + Whether :meth:`digest` can be followed by another :meth:`update` + (default: ``False``). + + :Return: A :class:`SHA3_224_Hash` hash object + """ + + data = kwargs.pop("data", None) + update_after_digest = kwargs.pop("update_after_digest", False) + if len(args) == 1: + if data: + raise ValueError("Initial data for hash specified twice") + data = args[0] + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return SHA3_224_Hash(data, update_after_digest) + +# The size of the resulting hash in bytes. +digest_size = SHA3_224_Hash.digest_size diff --git a/lib27/site-packages/Crypto/Hash/SHA3_224.pyi b/lib27/site-packages/Crypto/Hash/SHA3_224.pyi new file mode 100644 index 000000000..343704241 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_224.pyi @@ -0,0 +1,16 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA3_224_Hash(object): + digest_size: int + oid: str + def __init__(self, data: Optional[Buffer], update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> SHA3_224_Hash: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def new(self) -> SHA3_224_Hash: ... + +def new(__data: Buffer = ..., update_after_digest: bool = ...) -> SHA3_224_Hash: ... + +digest_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA3_256.py b/lib27/site-packages/Crypto/Hash/SHA3_256.py new file mode 100644 index 000000000..327dabf4d --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_256.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +from Crypto.Hash.keccak import _raw_keccak_lib + +class SHA3_256_Hash(object): + """A SHA3-256 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 32 + + # ASN.1 Object ID + oid = "2.16.840.1.101.3.4.2.8" + + def __init__(self, data, update_after_digest): + self._update_after_digest = update_after_digest + self._digest_done = False + + state = VoidPointer() + result = _raw_keccak_lib.keccak_init(state.address_of(), + c_size_t(self.digest_size * 2), + 0x06) + if result: + raise ValueError("Error %d while instantiating SHA-3/256" + % result) + self._state = SmartPointer(state.get(), + _raw_keccak_lib.keccak_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._digest_done and not self._update_after_digest: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_keccak_lib.keccak_absorb(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while updating SHA-3/256" + % result) + return self + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + self._digest_done = True + + bfr = create_string_buffer(self.digest_size) + result = _raw_keccak_lib.keccak_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while instantiating SHA-3/256" + % result) + + self._digest_value = get_raw_buffer(bfr) + return self._digest_value + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def new(self): + """Create a fresh SHA3-256 hash object.""" + + return type(self)(None, self._update_after_digest) + + +def new(*args, **kwargs): + """Create a new hash object. + + Args: + data (byte string/byte array/memoryview): + The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`update`. + update_after_digest (boolean): + Whether :meth:`digest` can be followed by another :meth:`update` + (default: ``False``). + + :Return: A :class:`SHA3_256_Hash` hash object + """ + + data = kwargs.pop("data", None) + update_after_digest = kwargs.pop("update_after_digest", False) + if len(args) == 1: + if data: + raise ValueError("Initial data for hash specified twice") + data = args[0] + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return SHA3_256_Hash(data, update_after_digest) + +# The size of the resulting hash in bytes. +digest_size = SHA3_256_Hash.digest_size diff --git a/lib27/site-packages/Crypto/Hash/SHA3_256.pyi b/lib27/site-packages/Crypto/Hash/SHA3_256.pyi new file mode 100644 index 000000000..c1a07fa7b --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_256.pyi @@ -0,0 +1,16 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA3_256_Hash(object): + digest_size: int + oid: str + def __init__(self, data: Optional[Buffer], update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> SHA3_256_Hash: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def new(self) -> SHA3_256_Hash: ... + +def new(__data: Buffer = ..., update_after_digest: bool = ...) -> SHA3_256_Hash: ... + +digest_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA3_384.py b/lib27/site-packages/Crypto/Hash/SHA3_384.py new file mode 100644 index 000000000..cdbb7dd4f --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_384.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +from Crypto.Hash.keccak import _raw_keccak_lib + +class SHA3_384_Hash(object): + """A SHA3-384 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 48 + + # ASN.1 Object ID + oid = "2.16.840.1.101.3.4.2.9" + + def __init__(self, data, update_after_digest): + self._update_after_digest = update_after_digest + self._digest_done = False + + state = VoidPointer() + result = _raw_keccak_lib.keccak_init(state.address_of(), + c_size_t(self.digest_size * 2), + 0x06) + if result: + raise ValueError("Error %d while instantiating SHA-3/384" + % result) + self._state = SmartPointer(state.get(), + _raw_keccak_lib.keccak_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._digest_done and not self._update_after_digest: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_keccak_lib.keccak_absorb(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while updating SHA-3/384" + % result) + return self + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + self._digest_done = True + + bfr = create_string_buffer(self.digest_size) + result = _raw_keccak_lib.keccak_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while instantiating SHA-3/384" + % result) + + self._digest_value = get_raw_buffer(bfr) + return self._digest_value + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def new(self): + """Create a fresh SHA3-384 hash object.""" + + return type(self)(None, self._update_after_digest) + + +def new(*args, **kwargs): + """Create a new hash object. + + Args: + data (byte string/byte array/memoryview): + The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`update`. + update_after_digest (boolean): + Whether :meth:`digest` can be followed by another :meth:`update` + (default: ``False``). + + :Return: A :class:`SHA3_384_Hash` hash object + """ + + data = kwargs.pop("data", None) + update_after_digest = kwargs.pop("update_after_digest", False) + if len(args) == 1: + if data: + raise ValueError("Initial data for hash specified twice") + data = args[0] + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return SHA3_384_Hash(data, update_after_digest) + +# The size of the resulting hash in bytes. +digest_size = SHA3_384_Hash.digest_size diff --git a/lib27/site-packages/Crypto/Hash/SHA3_384.pyi b/lib27/site-packages/Crypto/Hash/SHA3_384.pyi new file mode 100644 index 000000000..d029ab6a1 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_384.pyi @@ -0,0 +1,16 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA3_384_Hash(object): + digest_size: int + oid: str + def __init__(self, data: Optional[Buffer], update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> SHA3_384_Hash: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def new(self) -> SHA3_384_Hash: ... + +def new(__data: Buffer = ..., update_after_digest: bool = ...) -> SHA3_384_Hash: ... + +digest_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA3_512.py b/lib27/site-packages/Crypto/Hash/SHA3_512.py new file mode 100644 index 000000000..355b049e6 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_512.py @@ -0,0 +1,148 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +from Crypto.Hash.keccak import _raw_keccak_lib + +class SHA3_512_Hash(object): + """A SHA3-512 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The size of the resulting hash in bytes. + digest_size = 64 + + # ASN.1 Object ID + oid = "2.16.840.1.101.3.4.2.10" + + def __init__(self, data, update_after_digest): + self._update_after_digest = update_after_digest + self._digest_done = False + + state = VoidPointer() + result = _raw_keccak_lib.keccak_init(state.address_of(), + c_size_t(self.digest_size * 2), + 0x06) + if result: + raise ValueError("Error %d while instantiating SHA-3/512" + % result) + self._state = SmartPointer(state.get(), + _raw_keccak_lib.keccak_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._digest_done and not self._update_after_digest: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_keccak_lib.keccak_absorb(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while updating SHA-3/512" + % result) + return self + + def digest(self): + + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + self._digest_done = True + + bfr = create_string_buffer(self.digest_size) + result = _raw_keccak_lib.keccak_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while instantiating SHA-3/512" + % result) + + self._digest_value = get_raw_buffer(bfr) + return self._digest_value + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def new(self): + """Create a fresh SHA3-512 hash object.""" + + return type(self)(None, self._update_after_digest) + + +def new(*args, **kwargs): + """Create a new hash object. + + Args: + data (byte string/byte array/memoryview): + The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`update`. + update_after_digest (boolean): + Whether :meth:`digest` can be followed by another :meth:`update` + (default: ``False``). + + :Return: A :class:`SHA3_512_Hash` hash object + """ + + data = kwargs.pop("data", None) + update_after_digest = kwargs.pop("update_after_digest", False) + if len(args) == 1: + if data: + raise ValueError("Initial data for hash specified twice") + data = args[0] + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return SHA3_512_Hash(data, update_after_digest) + +# The size of the resulting hash in bytes. +digest_size = SHA3_512_Hash.digest_size diff --git a/lib27/site-packages/Crypto/Hash/SHA3_512.pyi b/lib27/site-packages/Crypto/Hash/SHA3_512.pyi new file mode 100644 index 000000000..2c5403bdf --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA3_512.pyi @@ -0,0 +1,16 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA3_512_Hash(object): + digest_size: int + oid: str + def __init__(self, data: Optional[Buffer], update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> SHA3_512_Hash: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def new(self) -> SHA3_512_Hash: ... + +def new(__data: Buffer = ..., update_after_digest: bool = ...) -> SHA3_512_Hash: ... + +digest_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHA512.py b/lib27/site-packages/Crypto/Hash/SHA512.py new file mode 100644 index 000000000..403fe45e3 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA512.py @@ -0,0 +1,204 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_sha512_lib = load_pycryptodome_raw_lib("Crypto.Hash._SHA512", + """ + int SHA512_init(void **shaState, + size_t digest_size); + int SHA512_destroy(void *shaState); + int SHA512_update(void *hs, + const uint8_t *buf, + size_t len); + int SHA512_digest(const void *shaState, + uint8_t *digest, + size_t digest_size); + int SHA512_copy(const void *src, void *dst); + + int SHA512_pbkdf2_hmac_assist(const void *inner, + const void *outer, + const uint8_t *first_digest, + uint8_t *final_digest, + size_t iterations, + size_t digest_size); + """) + +class SHA512Hash(object): + """A SHA-512 hash object (possibly in its truncated version SHA-512/224 or + SHA-512/256. + Do not instantiate directly. Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + + :ivar block_size: the size in bytes of the internal message block, + input to the compression function + :vartype block_size: integer + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + # The internal block size of the hash algorithm in bytes. + block_size = 128 + + def __init__(self, data, truncate): + self._truncate = truncate + + if truncate is None: + self.oid = "2.16.840.1.101.3.4.2.3" + self.digest_size = 64 + elif truncate == "224": + self.oid = "2.16.840.1.101.3.4.2.5" + self.digest_size = 28 + elif truncate == "256": + self.oid = "2.16.840.1.101.3.4.2.6" + self.digest_size = 32 + else: + raise ValueError("Incorrect truncation length. It must be '224' or '256'.") + + state = VoidPointer() + result = _raw_sha512_lib.SHA512_init(state.address_of(), + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while instantiating SHA-512" + % result) + self._state = SmartPointer(state.get(), + _raw_sha512_lib.SHA512_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + result = _raw_sha512_lib.SHA512_update(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while hashing data with SHA512" + % result) + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + bfr = create_string_buffer(self.digest_size) + result = _raw_sha512_lib.SHA512_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while making SHA512 digest" + % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def copy(self): + """Return a copy ("clone") of the hash object. + + The copy will have the same internal state as the original hash + object. + This can be used to efficiently compute the digests of strings that + share a common initial substring. + + :return: A hash object of the same type + """ + + clone = SHA512Hash(None, self._truncate) + result = _raw_sha512_lib.SHA512_copy(self._state.get(), + clone._state.get()) + if result: + raise ValueError("Error %d while copying SHA512" % result) + return clone + + def new(self, data=None): + """Create a fresh SHA-512 hash object.""" + + return SHA512Hash(data, self._truncate) + + +def new(data=None, truncate=None): + """Create a new hash object. + + Args: + data (bytes/bytearray/memoryview): + Optional. The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`SHA512Hash.update`. + truncate (string): + Optional. The desired length of the digest. It can be either "224" or + "256". If not present, the digest is 512 bits long. + Passing this parameter is **not** equivalent to simply truncating + the output digest. + + :Return: A :class:`SHA512Hash` hash object + """ + + return SHA512Hash(data, truncate) + + +# The size of the full SHA-512 hash in bytes. +digest_size = 64 + +# The internal block size of the hash algorithm in bytes. +block_size = 128 + + +def _pbkdf2_hmac_assist(inner, outer, first_digest, iterations): + """Compute the expensive inner loop in PBKDF-HMAC.""" + + assert iterations > 0 + + bfr = create_string_buffer(len(first_digest)); + result = _raw_sha512_lib.SHA512_pbkdf2_hmac_assist( + inner._state.get(), + outer._state.get(), + first_digest, + bfr, + c_size_t(iterations), + c_size_t(len(first_digest))) + + if result: + raise ValueError("Error %d with PBKDF2-HMAC assist for SHA512" % result) + + return get_raw_buffer(bfr) diff --git a/lib27/site-packages/Crypto/Hash/SHA512.pyi b/lib27/site-packages/Crypto/Hash/SHA512.pyi new file mode 100644 index 000000000..f219ee94d --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHA512.pyi @@ -0,0 +1,22 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHA512Hash(object): + digest_size: int + block_size: int + oid: str + + def __init__(self, + data: Optional[Buffer], + truncate: Optional[str]) -> None: ... + def update(self, data: Buffer) -> None: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def copy(self) -> SHA512Hash: ... + def new(self, data: Optional[Buffer] = ...) -> SHA512Hash: ... + +def new(data: Optional[Buffer] = ..., + truncate: Optional[str] = ...) -> SHA512Hash: ... +digest_size: int +block_size: int diff --git a/lib27/site-packages/Crypto/Hash/SHAKE128.py b/lib27/site-packages/Crypto/Hash/SHAKE128.py new file mode 100644 index 000000000..011268b5e --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHAKE128.py @@ -0,0 +1,127 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +from Crypto.Hash.keccak import _raw_keccak_lib + +class SHAKE128_XOF(object): + """A SHAKE128 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + """ + + # ASN.1 Object ID + oid = "2.16.840.1.101.3.4.2.11" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_keccak_lib.keccak_init(state.address_of(), + c_size_t(32), + 0x1F) + if result: + raise ValueError("Error %d while instantiating SHAKE128" + % result) + self._state = SmartPointer(state.get(), + _raw_keccak_lib.keccak_destroy) + self._is_squeezing = False + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._is_squeezing: + raise TypeError("You cannot call 'update' after the first 'read'") + + result = _raw_keccak_lib.keccak_absorb(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while updating SHAKE128 state" + % result) + return self + + def read(self, length): + """ + Compute the next piece of XOF output. + + .. note:: + You cannot use :meth:`update` anymore after the first call to + :meth:`read`. + + Args: + length (integer): the amount of bytes this method must return + + :return: the next piece of XOF output (of the given length) + :rtype: byte string + """ + + self._is_squeezing = True + bfr = create_string_buffer(length) + result = _raw_keccak_lib.keccak_squeeze(self._state.get(), + bfr, + c_size_t(length)) + if result: + raise ValueError("Error %d while extracting from SHAKE128" + % result) + + return get_raw_buffer(bfr) + + def new(self, data=None): + return type(self)(data=data) + + +def new(data=None): + """Return a fresh instance of a SHAKE128 object. + + Args: + data (bytes/bytearray/memoryview): + The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`update`. + Optional. + + :Return: A :class:`SHAKE128_XOF` object + """ + + return SHAKE128_XOF(data=data) diff --git a/lib27/site-packages/Crypto/Hash/SHAKE128.pyi b/lib27/site-packages/Crypto/Hash/SHAKE128.pyi new file mode 100644 index 000000000..f6188816a --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHAKE128.pyi @@ -0,0 +1,13 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHAKE128_XOF(object): + oid: str + def __init__(self, + data: Optional[Buffer] = ...) -> None: ... + def update(self, data: Buffer) -> SHAKE128_XOF: ... + def read(self, length: int) -> bytes: ... + def new(self, data: Optional[Buffer] = ...) -> SHAKE128_XOF: ... + +def new(data: Optional[Buffer] = ...) -> SHAKE128_XOF: ... diff --git a/lib27/site-packages/Crypto/Hash/SHAKE256.py b/lib27/site-packages/Crypto/Hash/SHAKE256.py new file mode 100644 index 000000000..4b1b14195 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHAKE256.py @@ -0,0 +1,127 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +from Crypto.Hash.keccak import _raw_keccak_lib + +class SHAKE256_XOF(object): + """A SHAKE256 hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar oid: ASN.1 Object ID + :vartype oid: string + """ + + # ASN.1 Object ID + oid = "2.16.840.1.101.3.4.2.12" + + def __init__(self, data=None): + state = VoidPointer() + result = _raw_keccak_lib.keccak_init(state.address_of(), + c_size_t(64), + 0x1F) + if result: + raise ValueError("Error %d while instantiating SHAKE256" + % result) + self._state = SmartPointer(state.get(), + _raw_keccak_lib.keccak_destroy) + self._is_squeezing = False + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._is_squeezing: + raise TypeError("You cannot call 'update' after the first 'read'") + + result = _raw_keccak_lib.keccak_absorb(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while updating SHAKE256 state" + % result) + return self + + def read(self, length): + """ + Compute the next piece of XOF output. + + .. note:: + You cannot use :meth:`update` anymore after the first call to + :meth:`read`. + + Args: + length (integer): the amount of bytes this method must return + + :return: the next piece of XOF output (of the given length) + :rtype: byte string + """ + + self._is_squeezing = True + bfr = create_string_buffer(length) + result = _raw_keccak_lib.keccak_squeeze(self._state.get(), + bfr, + c_size_t(length)) + if result: + raise ValueError("Error %d while extracting from SHAKE256" + % result) + + return get_raw_buffer(bfr) + + def new(self, data=None): + return type(self)(data=data) + + +def new(data=None): + """Return a fresh instance of a SHAKE256 object. + + Args: + data (bytes/bytearray/memoryview): + The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`update`. + Optional. + + :Return: A :class:`SHAKE256_XOF` object + """ + + return SHAKE256_XOF(data=data) diff --git a/lib27/site-packages/Crypto/Hash/SHAKE256.pyi b/lib27/site-packages/Crypto/Hash/SHAKE256.pyi new file mode 100644 index 000000000..029347af3 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/SHAKE256.pyi @@ -0,0 +1,13 @@ +from typing import Union, Optional + +Buffer = Union[bytes, bytearray, memoryview] + +class SHAKE256_XOF(object): + oid: str + def __init__(self, + data: Optional[Buffer] = ...) -> None: ... + def update(self, data: Buffer) -> SHAKE256_XOF: ... + def read(self, length: int) -> bytes: ... + def new(self, data: Optional[Buffer] = ...) -> SHAKE256_XOF: ... + +def new(data: Optional[Buffer] = ...) -> SHAKE256_XOF: ... diff --git a/lib27/site-packages/Crypto/Hash/_BLAKE2b.pyd b/lib27/site-packages/Crypto/Hash/_BLAKE2b.pyd new file mode 100644 index 000000000..23b9cc929 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_BLAKE2b.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_BLAKE2s.pyd b/lib27/site-packages/Crypto/Hash/_BLAKE2s.pyd new file mode 100644 index 000000000..e920ec79e Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_BLAKE2s.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_MD2.pyd b/lib27/site-packages/Crypto/Hash/_MD2.pyd new file mode 100644 index 000000000..3ce9286d1 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_MD2.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_MD4.pyd b/lib27/site-packages/Crypto/Hash/_MD4.pyd new file mode 100644 index 000000000..3f79a567d Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_MD4.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_MD5.pyd b/lib27/site-packages/Crypto/Hash/_MD5.pyd new file mode 100644 index 000000000..9003174a6 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_MD5.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_RIPEMD160.pyd b/lib27/site-packages/Crypto/Hash/_RIPEMD160.pyd new file mode 100644 index 000000000..fff1d93ab Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_RIPEMD160.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_SHA1.pyd b/lib27/site-packages/Crypto/Hash/_SHA1.pyd new file mode 100644 index 000000000..71079e7b6 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_SHA1.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_SHA224.pyd b/lib27/site-packages/Crypto/Hash/_SHA224.pyd new file mode 100644 index 000000000..04b31e0e5 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_SHA224.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_SHA256.pyd b/lib27/site-packages/Crypto/Hash/_SHA256.pyd new file mode 100644 index 000000000..9f9b6a0a3 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_SHA256.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_SHA384.pyd b/lib27/site-packages/Crypto/Hash/_SHA384.pyd new file mode 100644 index 000000000..d91369cdb Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_SHA384.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_SHA512.pyd b/lib27/site-packages/Crypto/Hash/_SHA512.pyd new file mode 100644 index 000000000..c251f6404 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_SHA512.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/__init__.py b/lib27/site-packages/Crypto/Hash/__init__.py new file mode 100644 index 000000000..719cd8df0 --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'RIPEMD160', 'SHA1', + 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'CMAC', 'Poly1305'] diff --git a/lib27/site-packages/tornado/test/__init__.py b/lib27/site-packages/Crypto/Hash/__init__.pyi similarity index 100% rename from lib27/site-packages/tornado/test/__init__.py rename to lib27/site-packages/Crypto/Hash/__init__.pyi diff --git a/lib27/site-packages/Crypto/Hash/_ghash_clmul.pyd b/lib27/site-packages/Crypto/Hash/_ghash_clmul.pyd new file mode 100644 index 000000000..875137a98 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_ghash_clmul.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_ghash_portable.pyd b/lib27/site-packages/Crypto/Hash/_ghash_portable.pyd new file mode 100644 index 000000000..4a1ebb79e Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_ghash_portable.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_keccak.pyd b/lib27/site-packages/Crypto/Hash/_keccak.pyd new file mode 100644 index 000000000..2c0a7f9ef Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_keccak.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/_poly1305.pyd b/lib27/site-packages/Crypto/Hash/_poly1305.pyd new file mode 100644 index 000000000..525d6ec10 Binary files /dev/null and b/lib27/site-packages/Crypto/Hash/_poly1305.pyd differ diff --git a/lib27/site-packages/Crypto/Hash/keccak.py b/lib27/site-packages/Crypto/Hash/keccak.py new file mode 100644 index 000000000..401d5c5fe --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/keccak.py @@ -0,0 +1,173 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import bord + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + VoidPointer, SmartPointer, + create_string_buffer, + get_raw_buffer, c_size_t, + c_uint8_ptr) + +_raw_keccak_lib = load_pycryptodome_raw_lib("Crypto.Hash._keccak", + """ + int keccak_init(void **state, + size_t capacity_bytes, + uint8_t padding_byte); + int keccak_destroy(void *state); + int keccak_absorb(void *state, + const uint8_t *in, + size_t len); + int keccak_squeeze(const void *state, + uint8_t *out, + size_t len); + int keccak_digest(void *state, uint8_t *digest, size_t len); + """) + +class Keccak_Hash(object): + """A Keccak hash object. + Do not instantiate directly. + Use the :func:`new` function. + + :ivar digest_size: the size in bytes of the resulting hash + :vartype digest_size: integer + """ + + def __init__(self, data, digest_bytes, update_after_digest): + # The size of the resulting hash in bytes. + self.digest_size = digest_bytes + + self._update_after_digest = update_after_digest + self._digest_done = False + + state = VoidPointer() + result = _raw_keccak_lib.keccak_init(state.address_of(), + c_size_t(self.digest_size * 2), + 0x01) + if result: + raise ValueError("Error %d while instantiating keccak" % result) + self._state = SmartPointer(state.get(), + _raw_keccak_lib.keccak_destroy) + if data: + self.update(data) + + def update(self, data): + """Continue hashing of a message by consuming the next chunk of data. + + Args: + data (byte string/byte array/memoryview): The next chunk of the message being hashed. + """ + + if self._digest_done and not self._update_after_digest: + raise TypeError("You can only call 'digest' or 'hexdigest' on this object") + + result = _raw_keccak_lib.keccak_absorb(self._state.get(), + c_uint8_ptr(data), + c_size_t(len(data))) + if result: + raise ValueError("Error %d while updating keccak" % result) + return self + + def digest(self): + """Return the **binary** (non-printable) digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Binary form. + :rtype: byte string + """ + + self._digest_done = True + bfr = create_string_buffer(self.digest_size) + result = _raw_keccak_lib.keccak_digest(self._state.get(), + bfr, + c_size_t(self.digest_size)) + if result: + raise ValueError("Error %d while squeezing keccak" % result) + + return get_raw_buffer(bfr) + + def hexdigest(self): + """Return the **printable** digest of the message that has been hashed so far. + + :return: The hash digest, computed over the data processed so far. + Hexadecimal encoded. + :rtype: string + """ + + return "".join(["%02x" % bord(x) for x in self.digest()]) + + def new(self, **kwargs): + """Create a fresh Keccak hash object.""" + + if "digest_bytes" not in kwargs and "digest_bits" not in kwargs: + kwargs["digest_bytes"] = self.digest_size + + return new(**kwargs) + + +def new(**kwargs): + """Create a new hash object. + + Args: + data (bytes/bytearray/memoryview): + The very first chunk of the message to hash. + It is equivalent to an early call to :meth:`Keccak_Hash.update`. + digest_bytes (integer): + The size of the digest, in bytes (28, 32, 48, 64). + digest_bits (integer): + The size of the digest, in bits (224, 256, 384, 512). + update_after_digest (boolean): + Whether :meth:`Keccak.digest` can be followed by another + :meth:`Keccak.update` (default: ``False``). + + :Return: A :class:`Keccak_Hash` hash object + """ + + data = kwargs.pop("data", None) + update_after_digest = kwargs.pop("update_after_digest", False) + + digest_bytes = kwargs.pop("digest_bytes", None) + digest_bits = kwargs.pop("digest_bits", None) + if None not in (digest_bytes, digest_bits): + raise TypeError("Only one digest parameter must be provided") + if (None, None) == (digest_bytes, digest_bits): + raise TypeError("Digest size (bits, bytes) not provided") + if digest_bytes is not None: + if digest_bytes not in (28, 32, 48, 64): + raise ValueError("'digest_bytes' must be: 28, 32, 48 or 64") + else: + if digest_bits not in (224, 256, 384, 512): + raise ValueError("'digest_bytes' must be: 224, 256, 384 or 512") + digest_bytes = digest_bits // 8 + + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + return Keccak_Hash(data, digest_bytes, update_after_digest) diff --git a/lib27/site-packages/Crypto/Hash/keccak.pyi b/lib27/site-packages/Crypto/Hash/keccak.pyi new file mode 100644 index 000000000..844d2565e --- /dev/null +++ b/lib27/site-packages/Crypto/Hash/keccak.pyi @@ -0,0 +1,23 @@ +from typing import Union, Any + +Buffer = Union[bytes, bytearray, memoryview] + +class Keccak_Hash(object): + digest_size: int + def __init__(self, + data: Buffer, + digest_bytes: int, + update_after_digest: bool) -> None: ... + def update(self, data: Buffer) -> Keccak_Hash: ... + def digest(self) -> bytes: ... + def hexdigest(self) -> str: ... + def new(self, + data: Buffer = ..., + digest_bytes: int = ..., + digest_bits: int = ..., + update_after_digest: bool = ...) -> Keccak_Hash: ... + +def new(data: Buffer = ..., + digest_bytes: int = ..., + digest_bits: int = ..., + update_after_digest: bool = ...) -> Keccak_Hash: ... diff --git a/lib27/site-packages/Crypto/IO/PEM.py b/lib27/site-packages/Crypto/IO/PEM.py new file mode 100644 index 000000000..3d0406605 --- /dev/null +++ b/lib27/site-packages/Crypto/IO/PEM.py @@ -0,0 +1,166 @@ +# +# Util/PEM.py : Privacy Enhanced Mail utilities +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +__all__ = ['encode', 'decode'] + +import re +from binascii import a2b_base64, b2a_base64, hexlify, unhexlify + +from Crypto.Hash import MD5 +from Crypto.Util.Padding import pad, unpad +from Crypto.Cipher import DES, DES3, AES +from Crypto.Protocol.KDF import PBKDF1 +from Crypto.Random import get_random_bytes +from Crypto.Util.py3compat import tobytes, tostr + + +def encode(data, marker, passphrase=None, randfunc=None): + """Encode a piece of binary data into PEM format. + + Args: + data (byte string): + The piece of binary data to encode. + marker (string): + The marker for the PEM block (e.g. "PUBLIC KEY"). + Note that there is no official master list for all allowed markers. + Still, you can refer to the OpenSSL_ source code. + passphrase (byte string): + If given, the PEM block will be encrypted. The key is derived from + the passphrase. + randfunc (callable): + Random number generation function; it accepts an integer N and returns + a byte string of random data, N bytes long. If not given, a new one is + instantiated. + + Returns: + The PEM block, as a string. + + .. _OpenSSL: https://github.com/openssl/openssl/blob/master/include/openssl/pem.h + """ + + if randfunc is None: + randfunc = get_random_bytes + + out = "-----BEGIN %s-----\n" % marker + if passphrase: + # We only support 3DES for encryption + salt = randfunc(8) + key = PBKDF1(passphrase, salt, 16, 1, MD5) + key += PBKDF1(key + passphrase, salt, 8, 1, MD5) + objenc = DES3.new(key, DES3.MODE_CBC, salt) + out += "Proc-Type: 4,ENCRYPTED\nDEK-Info: DES-EDE3-CBC,%s\n\n" %\ + tostr(hexlify(salt).upper()) + # Encrypt with PKCS#7 padding + data = objenc.encrypt(pad(data, objenc.block_size)) + elif passphrase is not None: + raise ValueError("Empty password") + + # Each BASE64 line can take up to 64 characters (=48 bytes of data) + # b2a_base64 adds a new line character! + chunks = [tostr(b2a_base64(data[i:i + 48])) + for i in range(0, len(data), 48)] + out += "".join(chunks) + out += "-----END %s-----" % marker + return out + + +def decode(pem_data, passphrase=None): + """Decode a PEM block into binary. + + Args: + pem_data (string): + The PEM block. + passphrase (byte string): + If given and the PEM block is encrypted, + the key will be derived from the passphrase. + + Returns: + A tuple with the binary data, the marker string, and a boolean to + indicate if decryption was performed. + + Raises: + ValueError: if decoding fails, if the PEM file is encrypted and no passphrase has + been provided or if the passphrase is incorrect. + """ + + # Verify Pre-Encapsulation Boundary + r = re.compile(r"\s*-----BEGIN (.*)-----\s+") + m = r.match(pem_data) + if not m: + raise ValueError("Not a valid PEM pre boundary") + marker = m.group(1) + + # Verify Post-Encapsulation Boundary + r = re.compile(r"-----END (.*)-----\s*$") + m = r.search(pem_data) + if not m or m.group(1) != marker: + raise ValueError("Not a valid PEM post boundary") + + # Removes spaces and slit on lines + lines = pem_data.replace(" ", '').split() + + # Decrypts, if necessary + if lines[1].startswith('Proc-Type:4,ENCRYPTED'): + if not passphrase: + raise ValueError("PEM is encrypted, but no passphrase available") + DEK = lines[2].split(':') + if len(DEK) != 2 or DEK[0] != 'DEK-Info': + raise ValueError("PEM encryption format not supported.") + algo, salt = DEK[1].split(',') + salt = unhexlify(tobytes(salt)) + if algo == "DES-CBC": + # This is EVP_BytesToKey in OpenSSL + key = PBKDF1(passphrase, salt, 8, 1, MD5) + objdec = DES.new(key, DES.MODE_CBC, salt) + elif algo == "DES-EDE3-CBC": + # Note that EVP_BytesToKey is note exactly the same as PBKDF1 + key = PBKDF1(passphrase, salt, 16, 1, MD5) + key += PBKDF1(key + passphrase, salt, 8, 1, MD5) + objdec = DES3.new(key, DES3.MODE_CBC, salt) + elif algo == "AES-128-CBC": + key = PBKDF1(passphrase, salt[:8], 16, 1, MD5) + objdec = AES.new(key, AES.MODE_CBC, salt) + else: + raise ValueError("Unsupport PEM encryption algorithm (%s)." % algo) + lines = lines[2:] + else: + objdec = None + + # Decode body + data = a2b_base64(''.join(lines[1:-1])) + enc_flag = False + if objdec: + data = unpad(objdec.decrypt(data), objdec.block_size) + enc_flag = True + + return (data, marker, enc_flag) diff --git a/lib27/site-packages/Crypto/IO/PKCS8.py b/lib27/site-packages/Crypto/IO/PKCS8.py new file mode 100644 index 000000000..3bda834f0 --- /dev/null +++ b/lib27/site-packages/Crypto/IO/PKCS8.py @@ -0,0 +1,231 @@ +# +# PublicKey/PKCS8.py : PKCS#8 functions +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + + +from Crypto.Util.py3compat import * + +from Crypto.Util.asn1 import ( + DerNull, + DerSequence, + DerObjectId, + DerOctetString, + ) + +from Crypto.IO._PBES import PBES1, PBES2, PbesError + + +__all__ = ['wrap', 'unwrap'] + + +def wrap(private_key, key_oid, passphrase=None, protection=None, + prot_params=None, key_params=None, randfunc=None): + """Wrap a private key into a PKCS#8 blob (clear or encrypted). + + Args: + + private_key (byte string): + The private key encoded in binary form. The actual encoding is + algorithm specific. In most cases, it is DER. + + key_oid (string): + The object identifier (OID) of the private key to wrap. + It is a dotted string, like ``1.2.840.113549.1.1.1`` (for RSA keys). + + passphrase (bytes string or string): + The secret passphrase from which the wrapping key is derived. + Set it only if encryption is required. + + protection (string): + The identifier of the algorithm to use for securely wrapping the key. + The default value is ``PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC``. + + prot_params (dictionary): + Parameters for the protection algorithm. + + +------------------+-----------------------------------------------+ + | Key | Description | + +==================+===============================================+ + | iteration_count | The KDF algorithm is repeated several times to| + | | slow down brute force attacks on passwords | + | | (called *N* or CPU/memory cost in scrypt). | + | | The default value for PBKDF2 is 1000. | + | | The default value for scrypt is 16384. | + +------------------+-----------------------------------------------+ + | salt_size | Salt is used to thwart dictionary and rainbow | + | | attacks on passwords. The default value is 8 | + | | bytes. | + +------------------+-----------------------------------------------+ + | block_size | *(scrypt only)* Memory-cost (r). The default | + | | value is 8. | + +------------------+-----------------------------------------------+ + | parallelization | *(scrypt only)* CPU-cost (p). The default | + | | value is 1. | + +------------------+-----------------------------------------------+ + + key_params (DER object): + The algorithm parameters associated to the private key. + It is required for algorithms like DSA, but not for others like RSA. + + randfunc (callable): + Random number generation function; it should accept a single integer + N and return a string of random data, N bytes long. + If not specified, a new RNG will be instantiated + from :mod:`Crypto.Random`. + + Return: + The PKCS#8-wrapped private key (possibly encrypted), as a byte string. + """ + + if key_params is None: + key_params = DerNull() + + # + # PrivateKeyInfo ::= SEQUENCE { + # version Version, + # privateKeyAlgorithm PrivateKeyAlgorithmIdentifier, + # privateKey PrivateKey, + # attributes [0] IMPLICIT Attributes OPTIONAL + # } + # + pk_info = DerSequence([ + 0, + DerSequence([ + DerObjectId(key_oid), + key_params + ]), + DerOctetString(private_key) + ]) + pk_info_der = pk_info.encode() + + if passphrase is None: + return pk_info_der + + if not passphrase: + raise ValueError("Empty passphrase") + + # Encryption with PBES2 + passphrase = tobytes(passphrase) + if protection is None: + protection = 'PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC' + return PBES2.encrypt(pk_info_der, passphrase, + protection, prot_params, randfunc) + + +def unwrap(p8_private_key, passphrase=None): + """Unwrap a private key from a PKCS#8 blob (clear or encrypted). + + Args: + p8_private_key (byte string): + The private key wrapped into a PKCS#8 blob, DER encoded. + passphrase (byte string or string): + The passphrase to use to decrypt the blob (if it is encrypted). + + Return: + A tuple containing + + #. the algorithm identifier of the wrapped key (OID, dotted string) + #. the private key (byte string, DER encoded) + #. the associated parameters (byte string, DER encoded) or ``None`` + + Raises: + ValueError : if decoding fails + """ + + if passphrase: + passphrase = tobytes(passphrase) + + found = False + try: + p8_private_key = PBES1.decrypt(p8_private_key, passphrase) + found = True + except PbesError as e: + error_str = "PBES1[%s]" % str(e) + except ValueError: + error_str = "PBES1[Invalid]" + + if not found: + try: + p8_private_key = PBES2.decrypt(p8_private_key, passphrase) + found = True + except PbesError as e: + error_str += ",PBES2[%s]" % str(e) + except ValueError: + error_str += ",PBES2[Invalid]" + + if not found: + raise ValueError("Error decoding PKCS#8 (%s)" % error_str) + + pk_info = DerSequence().decode(p8_private_key, nr_elements=(2, 3, 4)) + if len(pk_info) == 2 and not passphrase: + raise ValueError("Not a valid clear PKCS#8 structure " + "(maybe it is encrypted?)") + + # + # PrivateKeyInfo ::= SEQUENCE { + # version Version, + # privateKeyAlgorithm PrivateKeyAlgorithmIdentifier, + # privateKey PrivateKey, + # attributes [0] IMPLICIT Attributes OPTIONAL + # } + # Version ::= INTEGER + if pk_info[0] != 0: + raise ValueError("Not a valid PrivateKeyInfo SEQUENCE") + + # PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier + # + # EncryptedPrivateKeyInfo ::= SEQUENCE { + # encryptionAlgorithm EncryptionAlgorithmIdentifier, + # encryptedData EncryptedData + # } + # EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier + + # AlgorithmIdentifier ::= SEQUENCE { + # algorithm OBJECT IDENTIFIER, + # parameters ANY DEFINED BY algorithm OPTIONAL + # } + + algo = DerSequence().decode(pk_info[1], nr_elements=(1, 2)) + algo_oid = DerObjectId().decode(algo[0]).value + if len(algo) == 1: + algo_params = None + else: + try: + DerNull().decode(algo[1]) + algo_params = None + except: + algo_params = algo[1] + + # EncryptedData ::= OCTET STRING + private_key = DerOctetString().decode(pk_info[2]).payload + + return (algo_oid, private_key, algo_params) diff --git a/lib27/site-packages/Crypto/IO/_PBES.py b/lib27/site-packages/Crypto/IO/_PBES.py new file mode 100644 index 000000000..3986141fa --- /dev/null +++ b/lib27/site-packages/Crypto/IO/_PBES.py @@ -0,0 +1,388 @@ +# +# PublicKey/_PBES.py : Password-Based Encryption functions +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import * + +from Crypto import Random +from Crypto.Util.asn1 import ( + DerSequence, DerOctetString, + DerObjectId, DerInteger, + ) + +from Crypto.Util.Padding import pad, unpad +from Crypto.Hash import MD5, SHA1 +from Crypto.Cipher import DES, ARC2, DES3, AES +from Crypto.Protocol.KDF import PBKDF1, PBKDF2, scrypt + +class PbesError(ValueError): + pass + +# These are the ASN.1 definitions used by the PBES1/2 logic: +# +# EncryptedPrivateKeyInfo ::= SEQUENCE { +# encryptionAlgorithm EncryptionAlgorithmIdentifier, +# encryptedData EncryptedData +# } +# +# EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier +# +# EncryptedData ::= OCTET STRING +# +# AlgorithmIdentifier ::= SEQUENCE { +# algorithm OBJECT IDENTIFIER, +# parameters ANY DEFINED BY algorithm OPTIONAL +# } +# +# PBEParameter ::= SEQUENCE { +# salt OCTET STRING (SIZE(8)), +# iterationCount INTEGER +# } +# +# PBES2-params ::= SEQUENCE { +# keyDerivationFunc AlgorithmIdentifier {{PBES2-KDFs}}, +# encryptionScheme AlgorithmIdentifier {{PBES2-Encs}} +# } +# +# PBKDF2-params ::= SEQUENCE { +# salt CHOICE { +# specified OCTET STRING, +# otherSource AlgorithmIdentifier {{PBKDF2-SaltSources}} +# }, +# iterationCount INTEGER (1..MAX), +# keyLength INTEGER (1..MAX) OPTIONAL, +# prf AlgorithmIdentifier {{PBKDF2-PRFs}} DEFAULT algid-hmacWithSHA1 +# } +# +# scrypt-params ::= SEQUENCE { +# salt OCTET STRING, +# costParameter INTEGER (1..MAX), +# blockSize INTEGER (1..MAX), +# parallelizationParameter INTEGER (1..MAX), +# keyLength INTEGER (1..MAX) OPTIONAL +# } + +class PBES1(object): + """Deprecated encryption scheme with password-based key derivation + (originally defined in PKCS#5 v1.5, but still present in `v2.0`__). + + .. __: http://www.ietf.org/rfc/rfc2898.txt + """ + + @staticmethod + def decrypt(data, passphrase): + """Decrypt a piece of data using a passphrase and *PBES1*. + + The algorithm to use is automatically detected. + + :Parameters: + data : byte string + The piece of data to decrypt. + passphrase : byte string + The passphrase to use for decrypting the data. + :Returns: + The decrypted data, as a binary string. + """ + + enc_private_key_info = DerSequence().decode(data) + encrypted_algorithm = DerSequence().decode(enc_private_key_info[0]) + encrypted_data = DerOctetString().decode(enc_private_key_info[1]).payload + + pbe_oid = DerObjectId().decode(encrypted_algorithm[0]).value + cipher_params = {} + if pbe_oid == "1.2.840.113549.1.5.3": + # PBE_MD5_DES_CBC + hashmod = MD5 + ciphermod = DES + elif pbe_oid == "1.2.840.113549.1.5.6": + # PBE_MD5_RC2_CBC + hashmod = MD5 + ciphermod = ARC2 + cipher_params['effective_keylen'] = 64 + elif pbe_oid == "1.2.840.113549.1.5.10": + # PBE_SHA1_DES_CBC + hashmod = SHA1 + ciphermod = DES + elif pbe_oid == "1.2.840.113549.1.5.11": + # PBE_SHA1_RC2_CBC + hashmod = SHA1 + ciphermod = ARC2 + cipher_params['effective_keylen'] = 64 + else: + raise PbesError("Unknown OID for PBES1") + + pbe_params = DerSequence().decode(encrypted_algorithm[1], nr_elements=2) + salt = DerOctetString().decode(pbe_params[0]).payload + iterations = pbe_params[1] + + key_iv = PBKDF1(passphrase, salt, 16, iterations, hashmod) + key, iv = key_iv[:8], key_iv[8:] + + cipher = ciphermod.new(key, ciphermod.MODE_CBC, iv, **cipher_params) + pt = cipher.decrypt(encrypted_data) + return unpad(pt, cipher.block_size) + + +class PBES2(object): + """Encryption scheme with password-based key derivation + (defined in `PKCS#5 v2.0`__). + + .. __: http://www.ietf.org/rfc/rfc2898.txt.""" + + @staticmethod + def encrypt(data, passphrase, protection, prot_params=None, randfunc=None): + """Encrypt a piece of data using a passphrase and *PBES2*. + + :Parameters: + data : byte string + The piece of data to encrypt. + passphrase : byte string + The passphrase to use for encrypting the data. + protection : string + The identifier of the encryption algorithm to use. + The default value is '``PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC``'. + prot_params : dictionary + Parameters of the protection algorithm. + + +------------------+-----------------------------------------------+ + | Key | Description | + +==================+===============================================+ + | iteration_count | The KDF algorithm is repeated several times to| + | | slow down brute force attacks on passwords | + | | (called *N* or CPU/memory cost in scrypt). | + | | | + | | The default value for PBKDF2 is 1 000. | + | | The default value for scrypt is 16 384. | + +------------------+-----------------------------------------------+ + | salt_size | Salt is used to thwart dictionary and rainbow | + | | attacks on passwords. The default value is 8 | + | | bytes. | + +------------------+-----------------------------------------------+ + | block_size | *(scrypt only)* Memory-cost (r). The default | + | | value is 8. | + +------------------+-----------------------------------------------+ + | parallelization | *(scrypt only)* CPU-cost (p). The default | + | | value is 1. | + +------------------+-----------------------------------------------+ + + + randfunc : callable + Random number generation function; it should accept + a single integer N and return a string of random data, + N bytes long. If not specified, a new RNG will be + instantiated from ``Crypto.Random``. + + :Returns: + The encrypted data, as a binary string. + """ + + if prot_params is None: + prot_params = {} + + if randfunc is None: + randfunc = Random.new().read + + if protection == 'PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC': + key_size = 24 + module = DES3 + cipher_mode = DES3.MODE_CBC + enc_oid = "1.2.840.113549.3.7" + elif protection in ('PBKDF2WithHMAC-SHA1AndAES128-CBC', + 'scryptAndAES128-CBC'): + key_size = 16 + module = AES + cipher_mode = AES.MODE_CBC + enc_oid = "2.16.840.1.101.3.4.1.2" + elif protection in ('PBKDF2WithHMAC-SHA1AndAES192-CBC', + 'scryptAndAES192-CBC'): + key_size = 24 + module = AES + cipher_mode = AES.MODE_CBC + enc_oid = "2.16.840.1.101.3.4.1.22" + elif protection in ('PBKDF2WithHMAC-SHA1AndAES256-CBC', + 'scryptAndAES256-CBC'): + key_size = 32 + module = AES + cipher_mode = AES.MODE_CBC + enc_oid = "2.16.840.1.101.3.4.1.42" + else: + raise ValueError("Unknown PBES2 mode") + + # Get random data + iv = randfunc(module.block_size) + salt = randfunc(prot_params.get("salt_size", 8)) + + # Derive key from password + if protection.startswith('PBKDF2'): + count = prot_params.get("iteration_count", 1000) + key = PBKDF2(passphrase, salt, key_size, count) + kdf_info = DerSequence([ + DerObjectId("1.2.840.113549.1.5.12"), # PBKDF2 + DerSequence([ + DerOctetString(salt), + DerInteger(count) + ]) + ]) + else: + # It must be scrypt + count = prot_params.get("iteration_count", 16384) + scrypt_r = prot_params.get('block_size', 8) + scrypt_p = prot_params.get('parallelization', 1) + key = scrypt(passphrase, salt, key_size, + count, scrypt_r, scrypt_p) + kdf_info = DerSequence([ + DerObjectId("1.3.6.1.4.1.11591.4.11"), # scrypt + DerSequence([ + DerOctetString(salt), + DerInteger(count), + DerInteger(scrypt_r), + DerInteger(scrypt_p) + ]) + ]) + + # Create cipher and use it + cipher = module.new(key, cipher_mode, iv) + encrypted_data = cipher.encrypt(pad(data, cipher.block_size)) + enc_info = DerSequence([ + DerObjectId(enc_oid), + DerOctetString(iv) + ]) + + # Result + enc_private_key_info = DerSequence([ + # encryptionAlgorithm + DerSequence([ + DerObjectId("1.2.840.113549.1.5.13"), # PBES2 + DerSequence([ + kdf_info, + enc_info + ]), + ]), + DerOctetString(encrypted_data) + ]) + return enc_private_key_info.encode() + + @staticmethod + def decrypt(data, passphrase): + """Decrypt a piece of data using a passphrase and *PBES2*. + + The algorithm to use is automatically detected. + + :Parameters: + data : byte string + The piece of data to decrypt. + passphrase : byte string + The passphrase to use for decrypting the data. + :Returns: + The decrypted data, as a binary string. + """ + + enc_private_key_info = DerSequence().decode(data, nr_elements=2) + enc_algo = DerSequence().decode(enc_private_key_info[0]) + encrypted_data = DerOctetString().decode(enc_private_key_info[1]).payload + + pbe_oid = DerObjectId().decode(enc_algo[0]).value + if pbe_oid != "1.2.840.113549.1.5.13": + raise PbesError("Not a PBES2 object") + + pbes2_params = DerSequence().decode(enc_algo[1], nr_elements=2) + + ### Key Derivation Function selection + kdf_info = DerSequence().decode(pbes2_params[0], nr_elements=2) + kdf_oid = DerObjectId().decode(kdf_info[0]).value + + # We only support PBKDF2 or scrypt + if kdf_oid == "1.2.840.113549.1.5.12": + + pbkdf2_params = DerSequence().decode(kdf_info[1], nr_elements=(2, 3, 4)) + salt = DerOctetString().decode(pbkdf2_params[0]).payload + iteration_count = pbkdf2_params[1] + if len(pbkdf2_params) > 2: + kdf_key_length = pbkdf2_params[2] + else: + kdf_key_length = None + if len(pbkdf2_params) > 3: + raise PbesError("Unsupported PRF for PBKDF2") + + elif kdf_oid == "1.3.6.1.4.1.11591.4.11": + + scrypt_params = DerSequence().decode(kdf_info[1], nr_elements=(4, 5)) + salt = DerOctetString().decode(scrypt_params[0]).payload + iteration_count, scrypt_r, scrypt_p = [scrypt_params[x] + for x in (1, 2, 3)] + if len(scrypt_params) > 4: + kdf_key_length = scrypt_params[4] + else: + kdf_key_length = None + else: + raise PbesError("Unsupported PBES2 KDF") + + ### Cipher selection + enc_info = DerSequence().decode(pbes2_params[1]) + enc_oid = DerObjectId().decode(enc_info[0]).value + + if enc_oid == "1.2.840.113549.3.7": + # DES_EDE3_CBC + ciphermod = DES3 + key_size = 24 + elif enc_oid == "2.16.840.1.101.3.4.1.2": + # AES128_CBC + ciphermod = AES + key_size = 16 + elif enc_oid == "2.16.840.1.101.3.4.1.22": + # AES192_CBC + ciphermod = AES + key_size = 24 + elif enc_oid == "2.16.840.1.101.3.4.1.42": + # AES256_CBC + ciphermod = AES + key_size = 32 + else: + raise PbesError("Unsupported PBES2 cipher") + + if kdf_key_length and kdf_key_length != key_size: + raise PbesError("Mismatch between PBES2 KDF parameters" + " and selected cipher") + + IV = DerOctetString().decode(enc_info[1]).payload + + # Create cipher + if kdf_oid == "1.2.840.113549.1.5.12": # PBKDF2 + key = PBKDF2(passphrase, salt, key_size, iteration_count) + else: + key = scrypt(passphrase, salt, key_size, iteration_count, + scrypt_r, scrypt_p) + cipher = ciphermod.new(key, ciphermod.MODE_CBC, IV) + + # Decrypt data + pt = cipher.decrypt(encrypted_data) + return unpad(pt, cipher.block_size) diff --git a/lib27/site-packages/Crypto/IO/__init__.py b/lib27/site-packages/Crypto/IO/__init__.py new file mode 100644 index 000000000..85a0d0b1f --- /dev/null +++ b/lib27/site-packages/Crypto/IO/__init__.py @@ -0,0 +1,31 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +__all__ = ['PEM', 'PKCS8'] diff --git a/lib27/site-packages/Crypto/Math/Numbers.py b/lib27/site-packages/Crypto/Math/Numbers.py new file mode 100644 index 000000000..c2c4483d6 --- /dev/null +++ b/lib27/site-packages/Crypto/Math/Numbers.py @@ -0,0 +1,42 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +__all__ = ["Integer"] + +try: + from Crypto.Math._IntegerGMP import IntegerGMP as Integer + from Crypto.Math._IntegerGMP import implementation as _implementation +except (ImportError, OSError, AttributeError): + try: + from Crypto.Math._IntegerCustom import IntegerCustom as Integer + from Crypto.Math._IntegerCustom import implementation as _implementation + except (ImportError, OSError): + from Crypto.Math._IntegerNative import IntegerNative as Integer + _implementation = {} diff --git a/lib27/site-packages/Crypto/Math/Numbers.pyi b/lib27/site-packages/Crypto/Math/Numbers.pyi new file mode 100644 index 000000000..126268cbb --- /dev/null +++ b/lib27/site-packages/Crypto/Math/Numbers.pyi @@ -0,0 +1,4 @@ +from Crypto.Math._IntegerBase import IntegerBase + +class Integer(IntegerBase): + pass diff --git a/lib27/site-packages/Crypto/Math/Primality.py b/lib27/site-packages/Crypto/Math/Primality.py new file mode 100644 index 000000000..44a07f4ed --- /dev/null +++ b/lib27/site-packages/Crypto/Math/Primality.py @@ -0,0 +1,368 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Functions to create and test prime numbers. + +:undocumented: __package__ +""" + +from Crypto import Random +from Crypto.Math.Numbers import Integer + +from Crypto.Util.py3compat import iter_range + +COMPOSITE = 0 +PROBABLY_PRIME = 1 + + +def miller_rabin_test(candidate, iterations, randfunc=None): + """Perform a Miller-Rabin primality test on an integer. + + The test is specified in Section C.3.1 of `FIPS PUB 186-4`__. + + :Parameters: + candidate : integer + The number to test for primality. + iterations : integer + The maximum number of iterations to perform before + declaring a candidate a probable prime. + randfunc : callable + An RNG function where bases are taken from. + + :Returns: + ``Primality.COMPOSITE`` or ``Primality.PROBABLY_PRIME``. + + .. __: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf + """ + + if not isinstance(candidate, Integer): + candidate = Integer(candidate) + + if candidate in (1, 2, 3, 5): + return PROBABLY_PRIME + + if candidate.is_even(): + return COMPOSITE + + one = Integer(1) + minus_one = Integer(candidate - 1) + + if randfunc is None: + randfunc = Random.new().read + + # Step 1 and 2 + m = Integer(minus_one) + a = 0 + while m.is_even(): + m >>= 1 + a += 1 + + # Skip step 3 + + # Step 4 + for i in iter_range(iterations): + + # Step 4.1-2 + base = 1 + while base in (one, minus_one): + base = Integer.random_range(min_inclusive=2, + max_inclusive=candidate - 2) + assert(2 <= base <= candidate - 2) + + # Step 4.3-4.4 + z = pow(base, m, candidate) + if z in (one, minus_one): + continue + + # Step 4.5 + for j in iter_range(1, a): + z = pow(z, 2, candidate) + if z == minus_one: + break + if z == one: + return COMPOSITE + else: + return COMPOSITE + + # Step 5 + return PROBABLY_PRIME + + +def lucas_test(candidate): + """Perform a Lucas primality test on an integer. + + The test is specified in Section C.3.3 of `FIPS PUB 186-4`__. + + :Parameters: + candidate : integer + The number to test for primality. + + :Returns: + ``Primality.COMPOSITE`` or ``Primality.PROBABLY_PRIME``. + + .. __: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf + """ + + if not isinstance(candidate, Integer): + candidate = Integer(candidate) + + # Step 1 + if candidate in (1, 2, 3, 5): + return PROBABLY_PRIME + if candidate.is_even() or candidate.is_perfect_square(): + return COMPOSITE + + # Step 2 + def alternate(): + value = 5 + while True: + yield value + if value > 0: + value += 2 + else: + value -= 2 + value = -value + + for D in alternate(): + if candidate in (D, -D): + continue + js = Integer.jacobi_symbol(D, candidate) + if js == 0: + return COMPOSITE + if js == -1: + break + # Found D. P=1 and Q=(1-D)/4 (note that Q is guaranteed to be an integer) + + # Step 3 + # This is \delta(n) = n - jacobi(D/n) + K = candidate + 1 + # Step 4 + r = K.size_in_bits() - 1 + # Step 5 + # U_1=1 and V_1=P + U_i = Integer(1) + V_i = Integer(1) + U_temp = Integer(0) + V_temp = Integer(0) + # Step 6 + for i in iter_range(r - 1, -1, -1): + # Square + # U_temp = U_i * V_i % candidate + U_temp.set(U_i) + U_temp *= V_i + U_temp %= candidate + # V_temp = (((V_i ** 2 + (U_i ** 2 * D)) * K) >> 1) % candidate + V_temp.set(U_i) + V_temp *= U_i + V_temp *= D + V_temp.multiply_accumulate(V_i, V_i) + if V_temp.is_odd(): + V_temp += candidate + V_temp >>= 1 + V_temp %= candidate + # Multiply + if K.get_bit(i): + # U_i = (((U_temp + V_temp) * K) >> 1) % candidate + U_i.set(U_temp) + U_i += V_temp + if U_i.is_odd(): + U_i += candidate + U_i >>= 1 + U_i %= candidate + # V_i = (((V_temp + U_temp * D) * K) >> 1) % candidate + V_i.set(V_temp) + V_i.multiply_accumulate(U_temp, D) + if V_i.is_odd(): + V_i += candidate + V_i >>= 1 + V_i %= candidate + else: + U_i.set(U_temp) + V_i.set(V_temp) + # Step 7 + if U_i == 0: + return PROBABLY_PRIME + return COMPOSITE + + +from Crypto.Util.number import sieve_base as _sieve_base_large +## The optimal number of small primes to use for the sieve +## is probably dependent on the platform and the candidate size +_sieve_base = set(_sieve_base_large[:100]) + + +def test_probable_prime(candidate, randfunc=None): + """Test if a number is prime. + + A number is qualified as prime if it passes a certain + number of Miller-Rabin tests (dependent on the size + of the number, but such that probability of a false + positive is less than 10^-30) and a single Lucas test. + + For instance, a 1024-bit candidate will need to pass + 4 Miller-Rabin tests. + + :Parameters: + candidate : integer + The number to test for primality. + randfunc : callable + The routine to draw random bytes from to select Miller-Rabin bases. + :Returns: + ``PROBABLE_PRIME`` if the number if prime with very high probability. + ``COMPOSITE`` if the number is a composite. + For efficiency reasons, ``COMPOSITE`` is also returned for small primes. + """ + + if randfunc is None: + randfunc = Random.new().read + + if not isinstance(candidate, Integer): + candidate = Integer(candidate) + + # First, check trial division by the smallest primes + if int(candidate) in _sieve_base: + return PROBABLY_PRIME + try: + map(candidate.fail_if_divisible_by, _sieve_base) + except ValueError: + return COMPOSITE + + # These are the number of Miller-Rabin iterations s.t. p(k, t) < 1E-30, + # with p(k, t) being the probability that a randomly chosen k-bit number + # is composite but still survives t MR iterations. + mr_ranges = ((220, 30), (280, 20), (390, 15), (512, 10), + (620, 7), (740, 6), (890, 5), (1200, 4), + (1700, 3), (3700, 2)) + + bit_size = candidate.size_in_bits() + try: + mr_iterations = list(filter(lambda x: bit_size < x[0], + mr_ranges))[0][1] + except IndexError: + mr_iterations = 1 + + if miller_rabin_test(candidate, mr_iterations, + randfunc=randfunc) == COMPOSITE: + return COMPOSITE + if lucas_test(candidate) == COMPOSITE: + return COMPOSITE + return PROBABLY_PRIME + + +def generate_probable_prime(**kwargs): + """Generate a random probable prime. + + The prime will not have any specific properties + (e.g. it will not be a *strong* prime). + + Random numbers are evaluated for primality until one + passes all tests, consisting of a certain number of + Miller-Rabin tests with random bases followed by + a single Lucas test. + + The number of Miller-Rabin iterations is chosen such that + the probability that the output number is a non-prime is + less than 1E-30 (roughly 2^{-100}). + + This approach is compliant to `FIPS PUB 186-4`__. + + :Keywords: + exact_bits : integer + The desired size in bits of the probable prime. + It must be at least 160. + randfunc : callable + An RNG function where candidate primes are taken from. + prime_filter : callable + A function that takes an Integer as parameter and returns + True if the number can be passed to further primality tests, + False if it should be immediately discarded. + + :Return: + A probable prime in the range 2^exact_bits > p > 2^(exact_bits-1). + + .. __: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf + """ + + exact_bits = kwargs.pop("exact_bits", None) + randfunc = kwargs.pop("randfunc", None) + prime_filter = kwargs.pop("prime_filter", lambda x: True) + if kwargs: + raise ValueError("Unknown parameters: " + kwargs.keys()) + + if exact_bits is None: + raise ValueError("Missing exact_bits parameter") + if exact_bits < 160: + raise ValueError("Prime number is not big enough.") + + if randfunc is None: + randfunc = Random.new().read + + result = COMPOSITE + while result == COMPOSITE: + candidate = Integer.random(exact_bits=exact_bits, + randfunc=randfunc) | 1 + if not prime_filter(candidate): + continue + result = test_probable_prime(candidate, randfunc) + return candidate + + +def generate_probable_safe_prime(**kwargs): + """Generate a random, probable safe prime. + + Note this operation is much slower than generating a simple prime. + + :Keywords: + exact_bits : integer + The desired size in bits of the probable safe prime. + randfunc : callable + An RNG function where candidate primes are taken from. + + :Return: + A probable safe prime in the range + 2^exact_bits > p > 2^(exact_bits-1). + """ + + exact_bits = kwargs.pop("exact_bits", None) + randfunc = kwargs.pop("randfunc", None) + if kwargs: + raise ValueError("Unknown parameters: " + kwargs.keys()) + + if randfunc is None: + randfunc = Random.new().read + + result = COMPOSITE + while result == COMPOSITE: + q = generate_probable_prime(exact_bits=exact_bits - 1, randfunc=randfunc) + candidate = q * 2 + 1 + if candidate.size_in_bits() != exact_bits: + continue + result = test_probable_prime(candidate, randfunc=randfunc) + return candidate diff --git a/lib27/site-packages/Crypto/Math/Primality.pyi b/lib27/site-packages/Crypto/Math/Primality.pyi new file mode 100644 index 000000000..781348307 --- /dev/null +++ b/lib27/site-packages/Crypto/Math/Primality.pyi @@ -0,0 +1,18 @@ +from typing import Callable, Optional, Union, Set + +PrimeResult = int + +COMPOSITE: PrimeResult +PROBABLY_PRIME: PrimeResult + +def miller_rabin_test(candidate: int, iterations: int, randfunc: Optional[Callable[[int],bytes]]=None) -> PrimeResult: ... +def lucas_test(candidate: int) -> PrimeResult: ... +_sieve_base: Set[int] +def test_probable_prime(candidate: int, randfunc: Optional[Callable[[int],bytes]]=None) -> PrimeResult: ... +def generate_probable_prime(*, + exact_bits: int = ..., + randfunc: Callable[[int],bytes] = ..., + prime_filter: Callable[[int],bool] = ...) -> int: ... +def generate_probable_safe_prime(*, + exact_bits: int = ..., + randfunc: Callable[[int],bytes] = ...) -> int: ... diff --git a/lib27/site-packages/Crypto/Math/_IntegerBase.py b/lib27/site-packages/Crypto/Math/_IntegerBase.py new file mode 100644 index 000000000..48e8f483f --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerBase.py @@ -0,0 +1,392 @@ +# =================================================================== +# +# Copyright (c) 2018, Helder Eijs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import abc + +from Crypto.Util.py3compat import iter_range, bord, bchr, ABC + +from Crypto import Random + + +class IntegerBase(ABC): + + # Conversions + @abc.abstractmethod + def __int__(self): + pass + + @abc.abstractmethod + def __str__(self): + pass + + @abc.abstractmethod + def __repr__(self): + pass + + @abc.abstractmethod + def to_bytes(self, block_size=0): + pass + + @staticmethod + @abc.abstractmethod + def from_bytes(byte_string): + pass + + # Relations + @abc.abstractmethod + def __eq__(self, term): + pass + + @abc.abstractmethod + def __ne__(self, term): + pass + + @abc.abstractmethod + def __lt__(self, term): + pass + + @abc.abstractmethod + def __le__(self, term): + pass + + @abc.abstractmethod + def __gt__(self, term): + pass + + @abc.abstractmethod + def __ge__(self, term): + pass + + @abc.abstractmethod + def __nonzero__(self): + pass + __bool__ = __nonzero__ + + @abc.abstractmethod + def is_negative(self): + pass + + # Arithmetic operations + @abc.abstractmethod + def __add__(self, term): + pass + + @abc.abstractmethod + def __sub__(self, term): + pass + + @abc.abstractmethod + def __mul__(self, factor): + pass + + @abc.abstractmethod + def __floordiv__(self, divisor): + pass + + @abc.abstractmethod + def __mod__(self, divisor): + pass + + @abc.abstractmethod + def inplace_pow(self, exponent, modulus=None): + pass + + @abc.abstractmethod + def __pow__(self, exponent, modulus=None): + pass + + @abc.abstractmethod + def __abs__(self): + pass + + @abc.abstractmethod + def sqrt(self, modulus=None): + pass + + @abc.abstractmethod + def __iadd__(self, term): + pass + + @abc.abstractmethod + def __isub__(self, term): + pass + + @abc.abstractmethod + def __imul__(self, term): + pass + + @abc.abstractmethod + def __imod__(self, term): + pass + + # Boolean/bit operations + @abc.abstractmethod + def __and__(self, term): + pass + + @abc.abstractmethod + def __or__(self, term): + pass + + @abc.abstractmethod + def __rshift__(self, pos): + pass + + @abc.abstractmethod + def __irshift__(self, pos): + pass + + @abc.abstractmethod + def __lshift__(self, pos): + pass + + @abc.abstractmethod + def __ilshift__(self, pos): + pass + + @abc.abstractmethod + def get_bit(self, n): + pass + + # Extra + @abc.abstractmethod + def is_odd(self): + pass + + @abc.abstractmethod + def is_even(self): + pass + + @abc.abstractmethod + def size_in_bits(self): + pass + + @abc.abstractmethod + def size_in_bytes(self): + pass + + @abc.abstractmethod + def is_perfect_square(self): + pass + + @abc.abstractmethod + def fail_if_divisible_by(self, small_prime): + pass + + @abc.abstractmethod + def multiply_accumulate(self, a, b): + pass + + @abc.abstractmethod + def set(self, source): + pass + + @abc.abstractmethod + def inplace_inverse(self, modulus): + pass + + @abc.abstractmethod + def inverse(self, modulus): + pass + + @abc.abstractmethod + def gcd(self, term): + pass + + @abc.abstractmethod + def lcm(self, term): + pass + + @staticmethod + @abc.abstractmethod + def jacobi_symbol(a, n): + pass + + @staticmethod + def _tonelli_shanks(n, p): + """Tonelli-shanks algorithm for computing the square root + of n modulo a prime p. + + n must be in the range [0..p-1]. + p must be at least even. + + The return value r is the square root of modulo p. If non-zero, + another solution will also exist (p-r). + + Note we cannot assume that p is really a prime: if it's not, + we can either raise an exception or return the correct value. + """ + + # See https://rosettacode.org/wiki/Tonelli-Shanks_algorithm + + if n in (0, 1): + return n + + if p % 4 == 3: + root = pow(n, (p + 1) // 4, p) + if pow(root, 2, p) != n: + raise ValueError("Cannot compute square root") + return root + + s = 1 + q = (p - 1) // 2 + while not (q & 1): + s += 1 + q >>= 1 + + z = n.__class__(2) + while True: + euler = pow(z, (p - 1) // 2, p) + if euler == 1: + z += 1 + continue + if euler == p - 1: + break + # Most probably p is not a prime + raise ValueError("Cannot compute square root") + + m = s + c = pow(z, q, p) + t = pow(n, q, p) + r = pow(n, (q + 1) // 2, p) + + while t != 1: + for i in iter_range(0, m): + if pow(t, 2**i, p) == 1: + break + if i == m: + raise ValueError("Cannot compute square root of %d mod %d" % (n, p)) + b = pow(c, 2**(m - i - 1), p) + m = i + c = b**2 % p + t = (t * b**2) % p + r = (r * b) % p + + if pow(r, 2, p) != n: + raise ValueError("Cannot compute square root") + + return r + + @classmethod + def random(cls, **kwargs): + """Generate a random natural integer of a certain size. + + :Keywords: + exact_bits : positive integer + The length in bits of the resulting random Integer number. + The number is guaranteed to fulfil the relation: + + 2^bits > result >= 2^(bits - 1) + + max_bits : positive integer + The maximum length in bits of the resulting random Integer number. + The number is guaranteed to fulfil the relation: + + 2^bits > result >=0 + + randfunc : callable + A function that returns a random byte string. The length of the + byte string is passed as parameter. Optional. + If not provided (or ``None``), randomness is read from the system RNG. + + :Return: a Integer object + """ + + exact_bits = kwargs.pop("exact_bits", None) + max_bits = kwargs.pop("max_bits", None) + randfunc = kwargs.pop("randfunc", None) + + if randfunc is None: + randfunc = Random.new().read + + if exact_bits is None and max_bits is None: + raise ValueError("Either 'exact_bits' or 'max_bits' must be specified") + + if exact_bits is not None and max_bits is not None: + raise ValueError("'exact_bits' and 'max_bits' are mutually exclusive") + + bits = exact_bits or max_bits + bytes_needed = ((bits - 1) // 8) + 1 + significant_bits_msb = 8 - (bytes_needed * 8 - bits) + msb = bord(randfunc(1)[0]) + if exact_bits is not None: + msb |= 1 << (significant_bits_msb - 1) + msb &= (1 << significant_bits_msb) - 1 + + return cls.from_bytes(bchr(msb) + randfunc(bytes_needed - 1)) + + @classmethod + def random_range(cls, **kwargs): + """Generate a random integer within a given internal. + + :Keywords: + min_inclusive : integer + The lower end of the interval (inclusive). + max_inclusive : integer + The higher end of the interval (inclusive). + max_exclusive : integer + The higher end of the interval (exclusive). + randfunc : callable + A function that returns a random byte string. The length of the + byte string is passed as parameter. Optional. + If not provided (or ``None``), randomness is read from the system RNG. + :Returns: + An Integer randomly taken in the given interval. + """ + + min_inclusive = kwargs.pop("min_inclusive", None) + max_inclusive = kwargs.pop("max_inclusive", None) + max_exclusive = kwargs.pop("max_exclusive", None) + randfunc = kwargs.pop("randfunc", None) + + if kwargs: + raise ValueError("Unknown keywords: " + str(kwargs.keys)) + if None not in (max_inclusive, max_exclusive): + raise ValueError("max_inclusive and max_exclusive cannot be both" + " specified") + if max_exclusive is not None: + max_inclusive = max_exclusive - 1 + if None in (min_inclusive, max_inclusive): + raise ValueError("Missing keyword to identify the interval") + + if randfunc is None: + randfunc = Random.new().read + + norm_maximum = max_inclusive - min_inclusive + bits_needed = cls(norm_maximum).size_in_bits() + + norm_candidate = -1 + while not 0 <= norm_candidate <= norm_maximum: + norm_candidate = cls.random( + max_bits=bits_needed, + randfunc=randfunc + ) + return norm_candidate + min_inclusive + diff --git a/lib27/site-packages/Crypto/Math/_IntegerBase.pyi b/lib27/site-packages/Crypto/Math/_IntegerBase.pyi new file mode 100644 index 000000000..3f534dbbe --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerBase.pyi @@ -0,0 +1,61 @@ +from typing import Optional, Union, Callable + +RandFunc = Callable[[int],int] + +class IntegerBase: + + def __int__(self) -> int: ... + def __str__(self) -> str: ... + def __repr__(self) -> str: ... + def to_bytes(self, block_size: Optional[int]=0) -> bytes: ... + @staticmethod + def from_bytes(byte_string: bytes) -> IntegerBase: ... + def __eq__(self, term: object) -> bool: ... + def __ne__(self, term: object) -> bool: ... + def __lt__(self, term: Union[IntegerBase, int]) -> bool: ... + def __le__(self, term: Union[IntegerBase, int]) -> bool: ... + def __gt__(self, term: Union[IntegerBase, int]) -> bool: ... + def __ge__(self, term: Union[IntegerBase, int]) -> bool: ... + def __nonzero__(self) -> bool: ... + def is_negative(self) -> bool: ... + def __add__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __sub__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __mul__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __floordiv__(self, divisor: Union[IntegerBase, int]) -> IntegerBase: ... + def __mod__(self, divisor: Union[IntegerBase, int]) -> IntegerBase: ... + def inplace_pow(self, exponent: int, modulus: Optional[Union[IntegerBase, int]]=None) -> IntegerBase: ... + def __pow__(self, exponent: int, modulus: Optional[int]) -> IntegerBase: ... + def __abs__(self) -> IntegerBase: ... + def sqrt(self, modulus: Optional[int]) -> IntegerBase: ... + def __iadd__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __isub__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __imul__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __imod__(self, divisor: Union[IntegerBase, int]) -> IntegerBase: ... + def __and__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __or__(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def __rshift__(self, pos: Union[IntegerBase, int]) -> IntegerBase: ... + def __irshift__(self, pos: Union[IntegerBase, int]) -> IntegerBase: ... + def __lshift__(self, pos: Union[IntegerBase, int]) -> IntegerBase: ... + def __ilshift__(self, pos: Union[IntegerBase, int]) -> IntegerBase: ... + def get_bit(self, n: int) -> bool: ... + def is_odd(self) -> bool: ... + def is_even(self) -> bool: ... + def size_in_bits(self) -> int: ... + def size_in_bytes(self) -> int: ... + def is_perfect_square(self) -> bool: ... + def fail_if_divisible_by(self, small_prime: Union[IntegerBase, int]) -> None: ... + def multiply_accumulate(self, a: Union[IntegerBase, int], b: Union[IntegerBase, int]) -> IntegerBase: ... + def set(self, source: Union[IntegerBase, int]) -> IntegerBase: ... + def inplace_inverse(self, modulus: Union[IntegerBase, int]) -> IntegerBase: ... + def inverse(self, modulus: Union[IntegerBase, int]) -> IntegerBase: ... + def gcd(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + def lcm(self, term: Union[IntegerBase, int]) -> IntegerBase: ... + @staticmethod + def jacobi_symbol(a: Union[IntegerBase, int], n: Union[IntegerBase, int]) -> IntegerBase: ... + @staticmethod + def _tonelli_shanks(n: Union[IntegerBase, int], p: Union[IntegerBase, int]) -> IntegerBase : ... + @classmethod + def random(cls, **kwargs: Union[int,RandFunc]) -> IntegerBase : ... + @classmethod + def random_range(cls, **kwargs: Union[int,RandFunc]) -> IntegerBase : ... + diff --git a/lib27/site-packages/Crypto/Math/_IntegerCustom.py b/lib27/site-packages/Crypto/Math/_IntegerCustom.py new file mode 100644 index 000000000..579efcb80 --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerCustom.py @@ -0,0 +1,107 @@ +# =================================================================== +# +# Copyright (c) 2018, Helder Eijs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from ._IntegerNative import IntegerNative + +from Crypto.Util.number import long_to_bytes, bytes_to_long + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + create_string_buffer, + get_raw_buffer, backend, + c_size_t, c_ulonglong) + + +from Crypto.Random.random import getrandbits + +c_defs = """ +int monty_pow(const uint8_t *base, + const uint8_t *exp, + const uint8_t *modulus, + uint8_t *out, + size_t len, + uint64_t seed); +""" + + +_raw_montgomery = load_pycryptodome_raw_lib("Crypto.Math._montgomery", c_defs) +implementation = {"library": "custom", "api": backend} + + +class IntegerCustom(IntegerNative): + + @staticmethod + def from_bytes(byte_string): + return IntegerCustom(bytes_to_long(byte_string)) + + def inplace_pow(self, exponent, modulus=None): + exp_value = int(exponent) + if exp_value < 0: + raise ValueError("Exponent must not be negative") + + # No modular reduction + if modulus is None: + self._value = pow(self._value, exp_value) + return self + + # With modular reduction + mod_value = int(modulus) + if mod_value < 0: + raise ValueError("Modulus must be positive") + if mod_value == 0: + raise ZeroDivisionError("Modulus cannot be zero") + + # C extension only works with odd moduli + if (mod_value & 1) == 0: + self._value = pow(self._value, exp_value, mod_value) + return self + + max_len = len(long_to_bytes(max(self._value, exp_value, mod_value))) + + base_b = long_to_bytes(self._value, max_len) + exp_b = long_to_bytes(exp_value, max_len) + modulus_b = long_to_bytes(mod_value, max_len) + + out = create_string_buffer(max_len) + + error = _raw_montgomery.monty_pow( + base_b, + exp_b, + modulus_b, + out, + c_size_t(max_len), + c_ulonglong(getrandbits(64)) + ) + + if error: + raise ValueError("monty_pow failed with error: %d" % error) + + result = bytes_to_long(get_raw_buffer(out)) + self._value = result + return self diff --git a/lib27/site-packages/Crypto/Math/_IntegerCustom.pyi b/lib27/site-packages/Crypto/Math/_IntegerCustom.pyi new file mode 100644 index 000000000..2dd75c742 --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerCustom.pyi @@ -0,0 +1,8 @@ +from typing import Any + +from ._IntegerNative import IntegerNative + +_raw_montgomery = Any + +class IntegerCustom(IntegerNative): + pass diff --git a/lib27/site-packages/Crypto/Math/_IntegerGMP.py b/lib27/site-packages/Crypto/Math/_IntegerGMP.py new file mode 100644 index 000000000..5350ef56c --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerGMP.py @@ -0,0 +1,689 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import sys + +from Crypto.Util.py3compat import tobytes, is_native_int + +from Crypto.Util._raw_api import (backend, load_lib, + get_raw_buffer, get_c_string, + null_pointer, create_string_buffer, + c_ulong, c_size_t) + +from ._IntegerBase import IntegerBase + +gmp_defs = """typedef unsigned long UNIX_ULONG; + typedef struct { int a; int b; void *c; } MPZ; + typedef MPZ mpz_t[1]; + typedef UNIX_ULONG mp_bitcnt_t; + void __gmpz_init (mpz_t x); + void __gmpz_init_set (mpz_t rop, const mpz_t op); + void __gmpz_init_set_ui (mpz_t rop, UNIX_ULONG op); + int __gmp_sscanf (const char *s, const char *fmt, ...); + void __gmpz_set (mpz_t rop, const mpz_t op); + int __gmp_snprintf (uint8_t *buf, size_t size, const char *fmt, ...); + void __gmpz_add (mpz_t rop, const mpz_t op1, const mpz_t op2); + void __gmpz_add_ui (mpz_t rop, const mpz_t op1, UNIX_ULONG op2); + void __gmpz_sub_ui (mpz_t rop, const mpz_t op1, UNIX_ULONG op2); + void __gmpz_addmul (mpz_t rop, const mpz_t op1, const mpz_t op2); + void __gmpz_addmul_ui (mpz_t rop, const mpz_t op1, UNIX_ULONG op2); + void __gmpz_submul_ui (mpz_t rop, const mpz_t op1, UNIX_ULONG op2); + void __gmpz_import (mpz_t rop, size_t count, int order, size_t size, + int endian, size_t nails, const void *op); + void * __gmpz_export (void *rop, size_t *countp, int order, + size_t size, + int endian, size_t nails, const mpz_t op); + size_t __gmpz_sizeinbase (const mpz_t op, int base); + void __gmpz_sub (mpz_t rop, const mpz_t op1, const mpz_t op2); + void __gmpz_mul (mpz_t rop, const mpz_t op1, const mpz_t op2); + void __gmpz_mul_ui (mpz_t rop, const mpz_t op1, UNIX_ULONG op2); + int __gmpz_cmp (const mpz_t op1, const mpz_t op2); + void __gmpz_powm (mpz_t rop, const mpz_t base, const mpz_t exp, const + mpz_t mod); + void __gmpz_powm_ui (mpz_t rop, const mpz_t base, UNIX_ULONG exp, + const mpz_t mod); + void __gmpz_pow_ui (mpz_t rop, const mpz_t base, UNIX_ULONG exp); + void __gmpz_sqrt(mpz_t rop, const mpz_t op); + void __gmpz_mod (mpz_t r, const mpz_t n, const mpz_t d); + void __gmpz_neg (mpz_t rop, const mpz_t op); + void __gmpz_abs (mpz_t rop, const mpz_t op); + void __gmpz_and (mpz_t rop, const mpz_t op1, const mpz_t op2); + void __gmpz_ior (mpz_t rop, const mpz_t op1, const mpz_t op2); + void __gmpz_clear (mpz_t x); + void __gmpz_tdiv_q_2exp (mpz_t q, const mpz_t n, mp_bitcnt_t b); + void __gmpz_fdiv_q (mpz_t q, const mpz_t n, const mpz_t d); + void __gmpz_mul_2exp (mpz_t rop, const mpz_t op1, mp_bitcnt_t op2); + int __gmpz_tstbit (const mpz_t op, mp_bitcnt_t bit_index); + int __gmpz_perfect_square_p (const mpz_t op); + int __gmpz_jacobi (const mpz_t a, const mpz_t b); + void __gmpz_gcd (mpz_t rop, const mpz_t op1, const mpz_t op2); + UNIX_ULONG __gmpz_gcd_ui (mpz_t rop, const mpz_t op1, + UNIX_ULONG op2); + void __gmpz_lcm (mpz_t rop, const mpz_t op1, const mpz_t op2); + int __gmpz_invert (mpz_t rop, const mpz_t op1, const mpz_t op2); + int __gmpz_divisible_p (const mpz_t n, const mpz_t d); + int __gmpz_divisible_ui_p (const mpz_t n, UNIX_ULONG d); + """ + +lib = load_lib("gmp", gmp_defs) +implementation = {"library": "gmp", "api": backend} + +if hasattr(lib, "__mpir_version"): + raise ImportError("MPIR library detected") + +if sys.platform == "win32": + raise ImportError("Not using GMP on Windows") + +# In order to create a function that returns a pointer to +# a new MPZ structure, we need to break the abstraction +# and know exactly what ffi backend we have +if implementation["api"] == "ctypes": + from ctypes import Structure, c_int, c_void_p, byref + + class _MPZ(Structure): + _fields_ = [('_mp_alloc', c_int), + ('_mp_size', c_int), + ('_mp_d', c_void_p)] + + def new_mpz(): + return byref(_MPZ()) + +else: + # We are using CFFI + from Crypto.Util._raw_api import ffi + + def new_mpz(): + return ffi.new("MPZ*") + + +# Lazy creation of GMP methods +class _GMP(object): + + def __getattr__(self, name): + if name.startswith("mpz_"): + func_name = "__gmpz_" + name[4:] + elif name.startswith("gmp_"): + func_name = "__gmp_" + name[4:] + else: + raise AttributeError("Attribute %s is invalid" % name) + func = getattr(lib, func_name) + setattr(self, name, func) + return func + + +_gmp = _GMP() + + +class IntegerGMP(IntegerBase): + """A fast, arbitrary precision integer""" + + _zero_mpz_p = new_mpz() + _gmp.mpz_init_set_ui(_zero_mpz_p, c_ulong(0)) + + def __init__(self, value): + """Initialize the integer to the given value.""" + + self._mpz_p = new_mpz() + self._initialized = False + + if isinstance(value, float): + raise ValueError("A floating point type is not a natural number") + + self._initialized = True + + if is_native_int(value): + _gmp.mpz_init(self._mpz_p) + result = _gmp.gmp_sscanf(tobytes(str(value)), b"%Zd", self._mpz_p) + if result != 1: + raise ValueError("Error converting '%d'" % value) + else: + _gmp.mpz_init_set(self._mpz_p, value._mpz_p) + + # Conversions + def __int__(self): + # buf will contain the integer encoded in decimal plus the trailing + # zero, and possibly the negative sign. + # dig10(x) < log10(x) + 1 = log2(x)/log2(10) + 1 < log2(x)/3 + 1 + buf_len = _gmp.mpz_sizeinbase(self._mpz_p, 2) // 3 + 3 + buf = create_string_buffer(buf_len) + + _gmp.gmp_snprintf(buf, c_size_t(buf_len), b"%Zd", self._mpz_p) + return int(get_c_string(buf)) + + def __str__(self): + return str(int(self)) + + def __repr__(self): + return "Integer(%s)" % str(self) + + def to_bytes(self, block_size=0): + """Convert the number into a byte string. + + This method encodes the number in network order and prepends + as many zero bytes as required. It only works for non-negative + values. + + :Parameters: + block_size : integer + The exact size the output byte string must have. + If zero, the string has the minimal length. + :Returns: + A byte string. + :Raise ValueError: + If the value is negative or if ``block_size`` is + provided and the length of the byte string would exceed it. + """ + + if self < 0: + raise ValueError("Conversion only valid for non-negative numbers") + + buf_len = (_gmp.mpz_sizeinbase(self._mpz_p, 2) + 7) // 8 + if buf_len > block_size > 0: + raise ValueError("Number is too big to convert to byte string" + "of prescribed length") + buf = create_string_buffer(buf_len) + + _gmp.mpz_export( + buf, + null_pointer, # Ignore countp + 1, # Big endian + c_size_t(1), # Each word is 1 byte long + 0, # Endianess within a word - not relevant + c_size_t(0), # No nails + self._mpz_p) + + return b'\x00' * max(0, block_size - buf_len) + get_raw_buffer(buf) + + @staticmethod + def from_bytes(byte_string): + """Convert a byte string into a number. + + :Parameters: + byte_string : byte string + The input number, encoded in network order. + It can only be non-negative. + :Return: + The ``Integer`` object carrying the same value as the input. + """ + result = IntegerGMP(0) + _gmp.mpz_import( + result._mpz_p, + c_size_t(len(byte_string)), # Amount of words to read + 1, # Big endian + c_size_t(1), # Each word is 1 byte long + 0, # Endianess within a word - not relevant + c_size_t(0), # No nails + byte_string) + return result + + # Relations + def _apply_and_return(self, func, term): + if not isinstance(term, IntegerGMP): + term = IntegerGMP(term) + return func(self._mpz_p, term._mpz_p) + + def __eq__(self, term): + if not (isinstance(term, IntegerGMP) or is_native_int(term)): + return False + return self._apply_and_return(_gmp.mpz_cmp, term) == 0 + + def __ne__(self, term): + if not (isinstance(term, IntegerGMP) or is_native_int(term)): + return True + return self._apply_and_return(_gmp.mpz_cmp, term) != 0 + + def __lt__(self, term): + return self._apply_and_return(_gmp.mpz_cmp, term) < 0 + + def __le__(self, term): + return self._apply_and_return(_gmp.mpz_cmp, term) <= 0 + + def __gt__(self, term): + return self._apply_and_return(_gmp.mpz_cmp, term) > 0 + + def __ge__(self, term): + return self._apply_and_return(_gmp.mpz_cmp, term) >= 0 + + def __nonzero__(self): + return _gmp.mpz_cmp(self._mpz_p, self._zero_mpz_p) != 0 + __bool__ = __nonzero__ + + def is_negative(self): + return _gmp.mpz_cmp(self._mpz_p, self._zero_mpz_p) < 0 + + # Arithmetic operations + def __add__(self, term): + result = IntegerGMP(0) + if not isinstance(term, IntegerGMP): + term = IntegerGMP(term) + _gmp.mpz_add(result._mpz_p, + self._mpz_p, + term._mpz_p) + return result + + def __sub__(self, term): + result = IntegerGMP(0) + if not isinstance(term, IntegerGMP): + term = IntegerGMP(term) + _gmp.mpz_sub(result._mpz_p, + self._mpz_p, + term._mpz_p) + return result + + def __mul__(self, term): + result = IntegerGMP(0) + if not isinstance(term, IntegerGMP): + term = IntegerGMP(term) + _gmp.mpz_mul(result._mpz_p, + self._mpz_p, + term._mpz_p) + return result + + def __floordiv__(self, divisor): + if not isinstance(divisor, IntegerGMP): + divisor = IntegerGMP(divisor) + if _gmp.mpz_cmp(divisor._mpz_p, + self._zero_mpz_p) == 0: + raise ZeroDivisionError("Division by zero") + result = IntegerGMP(0) + _gmp.mpz_fdiv_q(result._mpz_p, + self._mpz_p, + divisor._mpz_p) + return result + + def __mod__(self, divisor): + if not isinstance(divisor, IntegerGMP): + divisor = IntegerGMP(divisor) + comp = _gmp.mpz_cmp(divisor._mpz_p, + self._zero_mpz_p) + if comp == 0: + raise ZeroDivisionError("Division by zero") + if comp < 0: + raise ValueError("Modulus must be positive") + result = IntegerGMP(0) + _gmp.mpz_mod(result._mpz_p, + self._mpz_p, + divisor._mpz_p) + return result + + def inplace_pow(self, exponent, modulus=None): + + if modulus is None: + if exponent < 0: + raise ValueError("Exponent must not be negative") + + # Normal exponentiation + if exponent > 256: + raise ValueError("Exponent is too big") + _gmp.mpz_pow_ui(self._mpz_p, + self._mpz_p, # Base + c_ulong(int(exponent)) + ) + else: + # Modular exponentiation + if not isinstance(modulus, IntegerGMP): + modulus = IntegerGMP(modulus) + if not modulus: + raise ZeroDivisionError("Division by zero") + if modulus.is_negative(): + raise ValueError("Modulus must be positive") + if is_native_int(exponent): + if exponent < 0: + raise ValueError("Exponent must not be negative") + if exponent < 65536: + _gmp.mpz_powm_ui(self._mpz_p, + self._mpz_p, + c_ulong(exponent), + modulus._mpz_p) + return self + exponent = IntegerGMP(exponent) + elif exponent.is_negative(): + raise ValueError("Exponent must not be negative") + _gmp.mpz_powm(self._mpz_p, + self._mpz_p, + exponent._mpz_p, + modulus._mpz_p) + return self + + def __pow__(self, exponent, modulus=None): + result = IntegerGMP(self) + return result.inplace_pow(exponent, modulus) + + def __abs__(self): + result = IntegerGMP(0) + _gmp.mpz_abs(result._mpz_p, self._mpz_p) + return result + + def sqrt(self, modulus=None): + """Return the largest Integer that does not + exceed the square root""" + + if modulus is None: + if self < 0: + raise ValueError("Square root of negative value") + result = IntegerGMP(0) + _gmp.mpz_sqrt(result._mpz_p, + self._mpz_p) + else: + if modulus <= 0: + raise ValueError("Modulus must be positive") + modulus = int(modulus) + result = IntegerGMP(self._tonelli_shanks(int(self) % modulus, modulus)) + + return result + + def __iadd__(self, term): + if is_native_int(term): + if 0 <= term < 65536: + _gmp.mpz_add_ui(self._mpz_p, + self._mpz_p, + c_ulong(term)) + return self + if -65535 < term < 0: + _gmp.mpz_sub_ui(self._mpz_p, + self._mpz_p, + c_ulong(-term)) + return self + term = IntegerGMP(term) + _gmp.mpz_add(self._mpz_p, + self._mpz_p, + term._mpz_p) + return self + + def __isub__(self, term): + if is_native_int(term): + if 0 <= term < 65536: + _gmp.mpz_sub_ui(self._mpz_p, + self._mpz_p, + c_ulong(term)) + return self + if -65535 < term < 0: + _gmp.mpz_add_ui(self._mpz_p, + self._mpz_p, + c_ulong(-term)) + return self + term = IntegerGMP(term) + _gmp.mpz_sub(self._mpz_p, + self._mpz_p, + term._mpz_p) + return self + + def __imul__(self, term): + if is_native_int(term): + if 0 <= term < 65536: + _gmp.mpz_mul_ui(self._mpz_p, + self._mpz_p, + c_ulong(term)) + return self + if -65535 < term < 0: + _gmp.mpz_mul_ui(self._mpz_p, + self._mpz_p, + c_ulong(-term)) + _gmp.mpz_neg(self._mpz_p, self._mpz_p) + return self + term = IntegerGMP(term) + _gmp.mpz_mul(self._mpz_p, + self._mpz_p, + term._mpz_p) + return self + + def __imod__(self, divisor): + if not isinstance(divisor, IntegerGMP): + divisor = IntegerGMP(divisor) + comp = _gmp.mpz_cmp(divisor._mpz_p, + divisor._zero_mpz_p) + if comp == 0: + raise ZeroDivisionError("Division by zero") + if comp < 0: + raise ValueError("Modulus must be positive") + _gmp.mpz_mod(self._mpz_p, + self._mpz_p, + divisor._mpz_p) + return self + + # Boolean/bit operations + def __and__(self, term): + result = IntegerGMP(0) + if not isinstance(term, IntegerGMP): + term = IntegerGMP(term) + _gmp.mpz_and(result._mpz_p, + self._mpz_p, + term._mpz_p) + return result + + def __or__(self, term): + result = IntegerGMP(0) + if not isinstance(term, IntegerGMP): + term = IntegerGMP(term) + _gmp.mpz_ior(result._mpz_p, + self._mpz_p, + term._mpz_p) + return result + + def __rshift__(self, pos): + result = IntegerGMP(0) + if pos < 0: + raise ValueError("negative shift count") + if pos > 65536: + if self < 0: + return -1 + else: + return 0 + _gmp.mpz_tdiv_q_2exp(result._mpz_p, + self._mpz_p, + c_ulong(int(pos))) + return result + + def __irshift__(self, pos): + if pos < 0: + raise ValueError("negative shift count") + if pos > 65536: + if self < 0: + return -1 + else: + return 0 + _gmp.mpz_tdiv_q_2exp(self._mpz_p, + self._mpz_p, + c_ulong(int(pos))) + return self + + def __lshift__(self, pos): + result = IntegerGMP(0) + if not 0 <= pos < 65536: + raise ValueError("Incorrect shift count") + _gmp.mpz_mul_2exp(result._mpz_p, + self._mpz_p, + c_ulong(int(pos))) + return result + + def __ilshift__(self, pos): + if not 0 <= pos < 65536: + raise ValueError("Incorrect shift count") + _gmp.mpz_mul_2exp(self._mpz_p, + self._mpz_p, + c_ulong(int(pos))) + return self + + def get_bit(self, n): + """Return True if the n-th bit is set to 1. + Bit 0 is the least significant.""" + + if self < 0: + raise ValueError("no bit representation for negative values") + if n < 0: + raise ValueError("negative bit count") + if n > 65536: + return 0 + return bool(_gmp.mpz_tstbit(self._mpz_p, + c_ulong(int(n)))) + + # Extra + def is_odd(self): + return _gmp.mpz_tstbit(self._mpz_p, 0) == 1 + + def is_even(self): + return _gmp.mpz_tstbit(self._mpz_p, 0) == 0 + + def size_in_bits(self): + """Return the minimum number of bits that can encode the number.""" + + if self < 0: + raise ValueError("Conversion only valid for non-negative numbers") + return _gmp.mpz_sizeinbase(self._mpz_p, 2) + + def size_in_bytes(self): + """Return the minimum number of bytes that can encode the number.""" + return (self.size_in_bits() - 1) // 8 + 1 + + def is_perfect_square(self): + return _gmp.mpz_perfect_square_p(self._mpz_p) != 0 + + def fail_if_divisible_by(self, small_prime): + """Raise an exception if the small prime is a divisor.""" + + if is_native_int(small_prime): + if 0 < small_prime < 65536: + if _gmp.mpz_divisible_ui_p(self._mpz_p, + c_ulong(small_prime)): + raise ValueError("The value is composite") + return + small_prime = IntegerGMP(small_prime) + if _gmp.mpz_divisible_p(self._mpz_p, + small_prime._mpz_p): + raise ValueError("The value is composite") + + def multiply_accumulate(self, a, b): + """Increment the number by the product of a and b.""" + + if not isinstance(a, IntegerGMP): + a = IntegerGMP(a) + if is_native_int(b): + if 0 < b < 65536: + _gmp.mpz_addmul_ui(self._mpz_p, + a._mpz_p, + c_ulong(b)) + return self + if -65535 < b < 0: + _gmp.mpz_submul_ui(self._mpz_p, + a._mpz_p, + c_ulong(-b)) + return self + b = IntegerGMP(b) + _gmp.mpz_addmul(self._mpz_p, + a._mpz_p, + b._mpz_p) + return self + + def set(self, source): + """Set the Integer to have the given value""" + + if not isinstance(source, IntegerGMP): + source = IntegerGMP(source) + _gmp.mpz_set(self._mpz_p, + source._mpz_p) + return self + + def inplace_inverse(self, modulus): + """Compute the inverse of this number in the ring of + modulo integers. + + Raise an exception if no inverse exists. + """ + + if not isinstance(modulus, IntegerGMP): + modulus = IntegerGMP(modulus) + + comp = _gmp.mpz_cmp(modulus._mpz_p, + self._zero_mpz_p) + if comp == 0: + raise ZeroDivisionError("Modulus cannot be zero") + if comp < 0: + raise ValueError("Modulus must be positive") + + result = _gmp.mpz_invert(self._mpz_p, + self._mpz_p, + modulus._mpz_p) + if not result: + raise ValueError("No inverse value can be computed") + return self + + def inverse(self, modulus): + result = IntegerGMP(self) + result.inplace_inverse(modulus) + return result + + def gcd(self, term): + """Compute the greatest common denominator between this + number and another term.""" + + result = IntegerGMP(0) + if is_native_int(term): + if 0 < term < 65535: + _gmp.mpz_gcd_ui(result._mpz_p, + self._mpz_p, + c_ulong(term)) + return result + term = IntegerGMP(term) + _gmp.mpz_gcd(result._mpz_p, self._mpz_p, term._mpz_p) + return result + + def lcm(self, term): + """Compute the least common multiplier between this + number and another term.""" + + result = IntegerGMP(0) + if not isinstance(term, IntegerGMP): + term = IntegerGMP(term) + _gmp.mpz_lcm(result._mpz_p, self._mpz_p, term._mpz_p) + return result + + @staticmethod + def jacobi_symbol(a, n): + """Compute the Jacobi symbol""" + + if not isinstance(a, IntegerGMP): + a = IntegerGMP(a) + if not isinstance(n, IntegerGMP): + n = IntegerGMP(n) + if n <= 0 or n.is_even(): + raise ValueError("n must be positive even for the Jacobi symbol") + return _gmp.mpz_jacobi(a._mpz_p, n._mpz_p) + + # Clean-up + def __del__(self): + + try: + if self._mpz_p is not None: + if self._initialized: + _gmp.mpz_clear(self._mpz_p) + + self._mpz_p = None + except AttributeError: + pass diff --git a/lib27/site-packages/Crypto/Math/_IntegerGMP.pyi b/lib27/site-packages/Crypto/Math/_IntegerGMP.pyi new file mode 100644 index 000000000..2181b470c --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerGMP.pyi @@ -0,0 +1,3 @@ +from ._IntegerBase import IntegerBase +class IntegerGMP(IntegerBase): + pass diff --git a/lib27/site-packages/Crypto/Math/_IntegerNative.py b/lib27/site-packages/Crypto/Math/_IntegerNative.py new file mode 100644 index 000000000..d0e1c2323 --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerNative.py @@ -0,0 +1,363 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from ._IntegerBase import IntegerBase + +from Crypto.Util.number import long_to_bytes, bytes_to_long + + +class IntegerNative(IntegerBase): + """A class to model a natural integer (including zero)""" + + def __init__(self, value): + if isinstance(value, float): + raise ValueError("A floating point type is not a natural number") + try: + self._value = value._value + except AttributeError: + self._value = value + + # Conversions + def __int__(self): + return self._value + + def __str__(self): + return str(int(self)) + + def __repr__(self): + return "Integer(%s)" % str(self) + + def to_bytes(self, block_size=0): + if self._value < 0: + raise ValueError("Conversion only valid for non-negative numbers") + result = long_to_bytes(self._value, block_size) + if len(result) > block_size > 0: + raise ValueError("Value too large to encode") + return result + + @classmethod + def from_bytes(cls, byte_string): + return cls(bytes_to_long(byte_string)) + + # Relations + def __eq__(self, term): + if term is None: + return False + return self._value == int(term) + + def __ne__(self, term): + return not self.__eq__(term) + + def __lt__(self, term): + return self._value < int(term) + + def __le__(self, term): + return self.__lt__(term) or self.__eq__(term) + + def __gt__(self, term): + return not self.__le__(term) + + def __ge__(self, term): + return not self.__lt__(term) + + def __nonzero__(self): + return self._value != 0 + __bool__ = __nonzero__ + + def is_negative(self): + return self._value < 0 + + # Arithmetic operations + def __add__(self, term): + return self.__class__(self._value + int(term)) + + def __sub__(self, term): + return self.__class__(self._value - int(term)) + + def __mul__(self, factor): + return self.__class__(self._value * int(factor)) + + def __floordiv__(self, divisor): + return self.__class__(self._value // int(divisor)) + + def __mod__(self, divisor): + divisor_value = int(divisor) + if divisor_value < 0: + raise ValueError("Modulus must be positive") + return self.__class__(self._value % divisor_value) + + def inplace_pow(self, exponent, modulus=None): + exp_value = int(exponent) + if exp_value < 0: + raise ValueError("Exponent must not be negative") + + if modulus is not None: + mod_value = int(modulus) + if mod_value < 0: + raise ValueError("Modulus must be positive") + if mod_value == 0: + raise ZeroDivisionError("Modulus cannot be zero") + else: + mod_value = None + self._value = pow(self._value, exp_value, mod_value) + return self + + def __pow__(self, exponent, modulus=None): + result = self.__class__(self) + return result.inplace_pow(exponent, modulus) + + def __abs__(self): + return abs(self._value) + + def sqrt(self, modulus=None): + + value = self._value + if modulus is None: + if value < 0: + raise ValueError("Square root of negative value") + # http://stackoverflow.com/questions/15390807/integer-square-root-in-python + + x = value + y = (x + 1) // 2 + while y < x: + x = y + y = (x + value // x) // 2 + result = x + else: + if modulus <= 0: + raise ValueError("Modulus must be positive") + result = self._tonelli_shanks(self % modulus, modulus) + + return self.__class__(result) + + def __iadd__(self, term): + self._value += int(term) + return self + + def __isub__(self, term): + self._value -= int(term) + return self + + def __imul__(self, term): + self._value *= int(term) + return self + + def __imod__(self, term): + modulus = int(term) + if modulus == 0: + raise ZeroDivisionError("Division by zero") + if modulus < 0: + raise ValueError("Modulus must be positive") + self._value %= modulus + return self + + # Boolean/bit operations + def __and__(self, term): + return self.__class__(self._value & int(term)) + + def __or__(self, term): + return self.__class__(self._value | int(term)) + + def __rshift__(self, pos): + try: + return self.__class__(self._value >> int(pos)) + except OverflowError: + if self._value >= 0: + return 0 + else: + return -1 + + def __irshift__(self, pos): + try: + self._value >>= int(pos) + except OverflowError: + if self._value >= 0: + return 0 + else: + return -1 + return self + + def __lshift__(self, pos): + try: + return self.__class__(self._value << int(pos)) + except OverflowError: + raise ValueError("Incorrect shift count") + + def __ilshift__(self, pos): + try: + self._value <<= int(pos) + except OverflowError: + raise ValueError("Incorrect shift count") + return self + + def get_bit(self, n): + if self._value < 0: + raise ValueError("no bit representation for negative values") + try: + try: + result = (self._value >> n._value) & 1 + if n._value < 0: + raise ValueError("negative bit count") + except AttributeError: + result = (self._value >> n) & 1 + if n < 0: + raise ValueError("negative bit count") + except OverflowError: + result = 0 + return result + + # Extra + def is_odd(self): + return (self._value & 1) == 1 + + def is_even(self): + return (self._value & 1) == 0 + + def size_in_bits(self): + + if self._value < 0: + raise ValueError("Conversion only valid for non-negative numbers") + + if self._value == 0: + return 1 + + bit_size = 0 + tmp = self._value + while tmp: + tmp >>= 1 + bit_size += 1 + + return bit_size + + def size_in_bytes(self): + return (self.size_in_bits() - 1) // 8 + 1 + + def is_perfect_square(self): + if self._value < 0: + return False + if self._value in (0, 1): + return True + + x = self._value // 2 + square_x = x ** 2 + + while square_x > self._value: + x = (square_x + self._value) // (2 * x) + square_x = x ** 2 + + return self._value == x ** 2 + + def fail_if_divisible_by(self, small_prime): + if (self._value % int(small_prime)) == 0: + raise ValueError("Value is composite") + + def multiply_accumulate(self, a, b): + self._value += int(a) * int(b) + return self + + def set(self, source): + self._value = int(source) + + def inplace_inverse(self, modulus): + modulus = int(modulus) + if modulus == 0: + raise ZeroDivisionError("Modulus cannot be zero") + if modulus < 0: + raise ValueError("Modulus cannot be negative") + r_p, r_n = self._value, modulus + s_p, s_n = 1, 0 + while r_n > 0: + q = r_p // r_n + r_p, r_n = r_n, r_p - q * r_n + s_p, s_n = s_n, s_p - q * s_n + if r_p != 1: + raise ValueError("No inverse value can be computed" + str(r_p)) + while s_p < 0: + s_p += modulus + self._value = s_p + return self + + def inverse(self, modulus): + result = self.__class__(self) + result.inplace_inverse(modulus) + return result + + def gcd(self, term): + r_p, r_n = abs(self._value), abs(int(term)) + while r_n > 0: + q = r_p // r_n + r_p, r_n = r_n, r_p - q * r_n + return self.__class__(r_p) + + def lcm(self, term): + term = int(term) + if self._value == 0 or term == 0: + return self.__class__(0) + return self.__class__(abs((self._value * term) // self.gcd(term)._value)) + + @staticmethod + def jacobi_symbol(a, n): + a = int(a) + n = int(n) + + if n <= 0: + raise ValueError("n must be a positive integer") + + if (n & 1) == 0: + raise ValueError("n must be even for the Jacobi symbol") + + # Step 1 + a = a % n + # Step 2 + if a == 1 or n == 1: + return 1 + # Step 3 + if a == 0: + return 0 + # Step 4 + e = 0 + a1 = a + while (a1 & 1) == 0: + a1 >>= 1 + e += 1 + # Step 5 + if (e & 1) == 0: + s = 1 + elif n % 8 in (1, 7): + s = 1 + else: + s = -1 + # Step 6 + if n % 4 == 3 and a1 % 4 == 3: + s = -s + # Step 7 + n1 = n % a1 + # Step 8 + return s * IntegerNative.jacobi_symbol(n1, a1) diff --git a/lib27/site-packages/Crypto/Math/_IntegerNative.pyi b/lib27/site-packages/Crypto/Math/_IntegerNative.pyi new file mode 100644 index 000000000..3f65a39eb --- /dev/null +++ b/lib27/site-packages/Crypto/Math/_IntegerNative.pyi @@ -0,0 +1,3 @@ +from ._IntegerBase import IntegerBase +class IntegerNative(IntegerBase): + pass diff --git a/lib27/site-packages/tornado/platform/__init__.py b/lib27/site-packages/Crypto/Math/__init__.py similarity index 100% rename from lib27/site-packages/tornado/platform/__init__.py rename to lib27/site-packages/Crypto/Math/__init__.py diff --git a/lib27/site-packages/Crypto/Math/_montgomery.pyd b/lib27/site-packages/Crypto/Math/_montgomery.pyd new file mode 100644 index 000000000..44c73f271 Binary files /dev/null and b/lib27/site-packages/Crypto/Math/_montgomery.pyd differ diff --git a/lib27/site-packages/Crypto/Protocol/KDF.py b/lib27/site-packages/Crypto/Protocol/KDF.py new file mode 100644 index 000000000..9c516f8bb --- /dev/null +++ b/lib27/site-packages/Crypto/Protocol/KDF.py @@ -0,0 +1,417 @@ +# +# KDF.py : a collection of Key Derivation Functions +# +# Part of the Python Cryptography Toolkit +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +import struct +from functools import reduce + +from Crypto.Util.py3compat import tobytes, bord, _copy_bytes, iter_range + +from Crypto.Hash import SHA1, SHA256, HMAC, CMAC +from Crypto.Util.strxor import strxor +from Crypto.Util.number import size as bit_size, long_to_bytes, bytes_to_long + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + create_string_buffer, + get_raw_buffer, c_size_t) + +_raw_salsa20_lib = load_pycryptodome_raw_lib("Crypto.Cipher._Salsa20", + """ + int Salsa20_8_core(const uint8_t *x, const uint8_t *y, + uint8_t *out); + """) + +_raw_scrypt_lib = load_pycryptodome_raw_lib("Crypto.Protocol._scrypt", + """ + typedef int (core_t)(const uint8_t [64], const uint8_t [64], uint8_t [64]); + int scryptROMix(const uint8_t *data_in, uint8_t *data_out, + size_t data_len, unsigned N, core_t *core); + """) + + +def PBKDF1(password, salt, dkLen, count=1000, hashAlgo=None): + """Derive one key from a password (or passphrase). + + This function performs key derivation according to an old version of + the PKCS#5 standard (v1.5) or `RFC2898 + `_. + + .. warning:: + Newer applications should use the more secure and versatile :func:`PBKDF2` + instead. + + Args: + password (string): + The secret password to generate the key from. + salt (byte string): + An 8 byte string to use for better protection from dictionary attacks. + This value does not need to be kept secret, but it should be randomly + chosen for each derivation. + dkLen (integer): + The length of the desired key. The default is 16 bytes, suitable for + instance for :mod:`Crypto.Cipher.AES`. + count (integer): + The number of iterations to carry out. The recommendation is 1000 or + more. + hashAlgo (module): + The hash algorithm to use, as a module or an object from the :mod:`Crypto.Hash` package. + The digest length must be no shorter than ``dkLen``. + The default algorithm is :mod:`Crypto.Hash.SHA1`. + + Return: + A byte string of length ``dkLen`` that can be used as key. + """ + + if not hashAlgo: + hashAlgo = SHA1 + password = tobytes(password) + pHash = hashAlgo.new(password+salt) + digest = pHash.digest_size + if dkLen > digest: + raise TypeError("Selected hash algorithm has a too short digest (%d bytes)." % digest) + if len(salt) != 8: + raise ValueError("Salt is not 8 bytes long (%d bytes instead)." % len(salt)) + for i in iter_range(count-1): + pHash = pHash.new(pHash.digest()) + return pHash.digest()[:dkLen] + + +def PBKDF2(password, salt, dkLen=16, count=1000, prf=None, hmac_hash_module=None): + """Derive one or more keys from a password (or passphrase). + + This function performs key derivation according to + the PKCS#5 standard (v2.0). + + Args: + password (string or byte string): + The secret password to generate the key from. + salt (string or byte string): + A (byte) string to use for better protection from dictionary attacks. + This value does not need to be kept secret, but it should be randomly + chosen for each derivation. It is recommended to be at least 8 bytes long. + dkLen (integer): + The cumulative length of the desired keys. + count (integer): + The number of iterations to carry out. + prf (callable): + A pseudorandom function. It must be a function that returns a pseudorandom string + from two parameters: a secret and a salt. If not specified, + **HMAC-SHA1** is used. + hmac_hash_module (module): + A module from `Crypto.Hash` implementing a Merkle-Damgard cryptographic + hash, which PBKDF2 must use in combination with HMAC. + This parameter is mutually exclusive with ``prf``. + + Return: + A byte string of length ``dkLen`` that can be used as key material. + If you wanted multiple keys, just break up this string into segments of the desired length. + """ + + password = tobytes(password) + salt = tobytes(salt) + + if prf and hmac_hash_module: + raise ValueError("'prf' and 'hmac_hash_module' are mutually exlusive") + + if prf is None and hmac_hash_module is None: + hmac_hash_module = SHA1 + + if prf or not hasattr(hmac_hash_module, "_pbkdf2_hmac_assist"): + # Generic (and slow) implementation + + if prf is None: + prf = lambda p,s: HMAC.new(p, s, hmac_hash_module).digest() + + def link(s): + s[0], s[1] = s[1], prf(password, s[1]) + return s[0] + + key = b'' + i = 1 + while len(key) < dkLen: + s = [ prf(password, salt + struct.pack(">I", i)) ] * 2 + key += reduce(strxor, (link(s) for j in range(count)) ) + i += 1 + + else: + # Optimized implementation + key = b'' + i = 1 + while len(key)I", i)).digest() + key += base._pbkdf2_hmac_assist(first_digest, count) + i += 1 + + return key[:dkLen] + + +class _S2V(object): + """String-to-vector PRF as defined in `RFC5297`_. + + This class implements a pseudorandom function family + based on CMAC that takes as input a vector of strings. + + .. _RFC5297: http://tools.ietf.org/html/rfc5297 + """ + + def __init__(self, key, ciphermod, cipher_params=None): + """Initialize the S2V PRF. + + :Parameters: + key : byte string + A secret that can be used as key for CMACs + based on ciphers from ``ciphermod``. + ciphermod : module + A block cipher module from `Crypto.Cipher`. + cipher_params : dictionary + A set of extra parameters to use to create a cipher instance. + """ + + self._key = _copy_bytes(None, None, key) + self._ciphermod = ciphermod + self._last_string = self._cache = b'\x00' * ciphermod.block_size + + # Max number of update() call we can process + self._n_updates = ciphermod.block_size * 8 - 1 + + if cipher_params is None: + self._cipher_params = {} + else: + self._cipher_params = dict(cipher_params) + + @staticmethod + def new(key, ciphermod): + """Create a new S2V PRF. + + :Parameters: + key : byte string + A secret that can be used as key for CMACs + based on ciphers from ``ciphermod``. + ciphermod : module + A block cipher module from `Crypto.Cipher`. + """ + return _S2V(key, ciphermod) + + def _double(self, bs): + doubled = bytes_to_long(bs)<<1 + if bord(bs[0]) & 0x80: + doubled ^= 0x87 + return long_to_bytes(doubled, len(bs))[-len(bs):] + + def update(self, item): + """Pass the next component of the vector. + + The maximum number of components you can pass is equal to the block + length of the cipher (in bits) minus 1. + + :Parameters: + item : byte string + The next component of the vector. + :Raise TypeError: when the limit on the number of components has been reached. + """ + + if self._n_updates == 0: + raise TypeError("Too many components passed to S2V") + self._n_updates -= 1 + + mac = CMAC.new(self._key, + msg=self._last_string, + ciphermod=self._ciphermod, + cipher_params=self._cipher_params) + self._cache = strxor(self._double(self._cache), mac.digest()) + self._last_string = _copy_bytes(None, None, item) + + def derive(self): + """"Derive a secret from the vector of components. + + :Return: a byte string, as long as the block length of the cipher. + """ + + if len(self._last_string) >= 16: + # xorend + final = self._last_string[:-16] + strxor(self._last_string[-16:], self._cache) + else: + # zero-pad & xor + padded = (self._last_string + b'\x80' + b'\x00' * 15)[:16] + final = strxor(padded, self._double(self._cache)) + mac = CMAC.new(self._key, + msg=final, + ciphermod=self._ciphermod, + cipher_params=self._cipher_params) + return mac.digest() + + +def HKDF(master, key_len, salt, hashmod, num_keys=1, context=None): + """Derive one or more keys from a master secret using + the HMAC-based KDF defined in RFC5869_. + + This KDF is not suitable for deriving keys from a password or for key + stretching. Use :func:`PBKDF2` instead. + + HKDF is a key derivation method approved by NIST in `SP 800 56C`__. + + Args: + master (byte string): + The unguessable value used by the KDF to generate the other keys. + It must be a high-entropy secret, though not necessarily uniform. + It must not be a password. + salt (byte string): + A non-secret, reusable value that strengthens the randomness + extraction step. + Ideally, it is as long as the digest size of the chosen hash. + If empty, a string of zeroes in used. + key_len (integer): + The length in bytes of every derived key. + hashmod (module): + A cryptographic hash algorithm from :mod:`Crypto.Hash`. + :mod:`Crypto.Hash.SHA512` is a good choice. + num_keys (integer): + The number of keys to derive. Every key is :data:`key_len` bytes long. + The maximum cumulative length of all keys is + 255 times the digest size. + context (byte string): + Optional identifier describing what the keys are used for. + + Return: + A byte string or a tuple of byte strings. + + .. _RFC5869: http://tools.ietf.org/html/rfc5869 + .. __: http://csrc.nist.gov/publications/nistpubs/800-56C/SP-800-56C.pdf + """ + + output_len = key_len * num_keys + if output_len > (255 * hashmod.digest_size): + raise ValueError("Too much secret data to derive") + if not salt: + salt = b'\x00' * hashmod.digest_size + if context is None: + context = b"" + + # Step 1: extract + hmac = HMAC.new(salt, master, digestmod=hashmod) + prk = hmac.digest() + + # Step 2: expand + t = [ b"" ] + n = 1 + tlen = 0 + while tlen < output_len: + hmac = HMAC.new(prk, t[-1] + context + struct.pack('B', n), digestmod=hashmod) + t.append(hmac.digest()) + tlen += hashmod.digest_size + n += 1 + derived_output = b"".join(t) + if num_keys == 1: + return derived_output[:key_len] + kol = [derived_output[idx:idx + key_len] + for idx in iter_range(0, output_len, key_len)] + return list(kol[:num_keys]) + + +def scrypt(password, salt, key_len, N, r, p, num_keys=1): + """Derive one or more keys from a passphrase. + + This function performs key derivation according to + the `scrypt`_ algorithm, introduced in Percival's paper + `"Stronger key derivation via sequential memory-hard functions"`__. + + This implementation is based on `RFC7914`__. + + Args: + password (string): + The secret pass phrase to generate the keys from. + salt (string): + A string to use for better protection from dictionary attacks. + This value does not need to be kept secret, + but it should be randomly chosen for each derivation. + It is recommended to be at least 8 bytes long. + key_len (integer): + The length in bytes of every derived key. + N (integer): + CPU/Memory cost parameter. It must be a power of 2 and less + than :math:`2^{32}`. + r (integer): + Block size parameter. + p (integer): + Parallelization parameter. + It must be no greater than :math:`(2^{32}-1)/(4r)`. + num_keys (integer): + The number of keys to derive. Every key is :data:`key_len` bytes long. + By default, only 1 key is generated. + The maximum cumulative length of all keys is :math:`(2^{32}-1)*32` + (that is, 128TB). + + A good choice of parameters *(N, r , p)* was suggested + by Colin Percival in his `presentation in 2009`__: + + - *(16384, 8, 1)* for interactive logins (<=100ms) + - *(1048576, 8, 1)* for file encryption (<=5s) + + Return: + A byte string or a tuple of byte strings. + + .. _scrypt: http://www.tarsnap.com/scrypt.html + .. __: http://www.tarsnap.com/scrypt/scrypt.pdf + .. __: https://tools.ietf.org/html/rfc7914 + .. __: http://www.tarsnap.com/scrypt/scrypt-slides.pdf + """ + + if 2 ** (bit_size(N) - 1) != N: + raise ValueError("N must be a power of 2") + if N >= 2 ** 32: + raise ValueError("N is too big") + if p > ((2 ** 32 - 1) * 32) // (128 * r): + raise ValueError("p or r are too big") + + prf_hmac_sha256 = lambda p, s: HMAC.new(p, s, SHA256).digest() + + stage_1 = PBKDF2(password, salt, p * 128 * r, 1, prf=prf_hmac_sha256) + + scryptROMix = _raw_scrypt_lib.scryptROMix + core = _raw_salsa20_lib.Salsa20_8_core + + # Parallelize into p flows + data_out = [] + for flow in iter_range(p): + idx = flow * 128 * r + buffer_out = create_string_buffer(128 * r) + result = scryptROMix(stage_1[idx : idx + 128 * r], + buffer_out, + c_size_t(128 * r), + N, + core) + if result: + raise ValueError("Error %X while running scrypt" % result) + data_out += [ get_raw_buffer(buffer_out) ] + + dk = PBKDF2(password, + b"".join(data_out), + key_len * num_keys, 1, + prf=prf_hmac_sha256) + + if num_keys == 1: + return dk + + kol = [dk[idx:idx + key_len] + for idx in iter_range(0, key_len * num_keys, key_len)] + return kol diff --git a/lib27/site-packages/Crypto/Protocol/KDF.pyi b/lib27/site-packages/Crypto/Protocol/KDF.pyi new file mode 100644 index 000000000..61d17d890 --- /dev/null +++ b/lib27/site-packages/Crypto/Protocol/KDF.pyi @@ -0,0 +1,19 @@ +from types import ModuleType +from typing import Optional, Callable, Tuple, Union + + +def PBKDF1(password: str, salt: bytes, dkLen: int, count: Optional[int]=1000, hashAlgo: Optional[ModuleType]=None) -> bytes: ... +def PBKDF2(password: str, salt: bytes, dkLen: Optional[int]=16, count: Optional[int]=1000, prf: Optional[Callable]=None, hmac_hash_module: Optional[ModuleType]=None) -> bytes: ... + +class _S2V(object): + def __init__(self, key: bytes, ciphermod: ModuleType, cipher_params: Optional[dict]=None) -> None: ... + + @staticmethod + def new(key: bytes, ciphermod: ModuleType) -> None: ... + def update(self, item: bytes) -> None: ... + def derive(self) -> bytes: ... + +def HKDF(master: bytes, key_len: int, salt: bytes, hashmod: ModuleType, num_keys: Optional[int]=1, context: Optional[bytes]=None) -> Union[bytes, Tuple[bytes, ...]]: ... + +def scrypt(password: str, salt: str, key_len: int, N: int, r: int, p: int, num_keys: Optional[int]=1) -> Union[bytes, Tuple[bytes, ...]]: ... + diff --git a/lib27/site-packages/Crypto/Protocol/SecretSharing.py b/lib27/site-packages/Crypto/Protocol/SecretSharing.py new file mode 100644 index 000000000..985a61774 --- /dev/null +++ b/lib27/site-packages/Crypto/Protocol/SecretSharing.py @@ -0,0 +1,324 @@ +# +# SecretSharing.py : distribute a secret amongst a group of participants +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import is_native_int +from Crypto.Util import number +from Crypto.Util.number import long_to_bytes, bytes_to_long +from Crypto.Random import get_random_bytes as rng + +def _mult_gf2(f1, f2): + """Multiply two polynomials in GF(2)""" + + # Ensure f2 is the smallest + if f2 > f1: + f1, f2 = f2, f1 + z = 0 + while f2: + if f2 & 1: + z ^= f1 + f1 <<= 1 + f2 >>= 1 + return z + + +def _div_gf2(a, b): + """ + Compute division of polynomials over GF(2). + Given a and b, it finds two polynomials q and r such that: + + a = b*q + r with deg(r)= d: + s = 1 << (deg(r) - d) + q ^= s + r ^= _mult_gf2(b, s) + return (q, r) + + +class _Element(object): + """Element of GF(2^128) field""" + + # The irreducible polynomial defining this field is 1+x+x^2+x^7+x^128 + irr_poly = 1 + 2 + 4 + 128 + 2 ** 128 + + def __init__(self, encoded_value): + """Initialize the element to a certain value. + + The value passed as parameter is internally encoded as + a 128-bit integer, where each bit represents a polynomial + coefficient. The LSB is the constant coefficient. + """ + + if is_native_int(encoded_value): + self._value = encoded_value + elif len(encoded_value) == 16: + self._value = bytes_to_long(encoded_value) + else: + raise ValueError("The encoded value must be an integer or a 16 byte string") + + def __int__(self): + """Return the field element, encoded as a 128-bit integer.""" + + return self._value + + def encode(self): + """Return the field element, encoded as a 16 byte string.""" + + return long_to_bytes(self._value, 16) + + def __mul__(self, factor): + + f1 = self._value + f2 = factor._value + + # Make sure that f2 is the smallest, to speed up the loop + if f2 > f1: + f1, f2 = f2, f1 + + if self.irr_poly in (f1, f2): + return _Element(0) + mask1 = 2 ** 128 + v, z = f1, 0 + while f2: + if f2 & 1: + z ^= v + v <<= 1 + if v & mask1: + v ^= self.irr_poly + f2 >>= 1 + return _Element(z) + + def __add__(self, term): + return _Element(self._value ^ term._value) + + def inverse(self): + """Return the inverse of this element in GF(2^128).""" + + # We use the Extended GCD algorithm + # http://en.wikipedia.org/wiki/Polynomial_greatest_common_divisor + + r0, r1 = self._value, self.irr_poly + s0, s1 = 1, 0 + while r1 > 0: + q = _div_gf2(r0, r1)[0] + r0, r1 = r1, r0 ^ _mult_gf2(q, r1) + s0, s1 = s1, s0 ^ _mult_gf2(q, s1) + return _Element(s0) + + +class Shamir(object): + """Shamir's secret sharing scheme. + + This class implements the Shamir's secret sharing protocol + described in his original paper `"How to share a secret"`__. + + All shares are points over a 2-dimensional curve. At least + *k* points (that is, shares) are required to reconstruct the curve, + and therefore the secret. + + This implementation is primarilly meant to protect AES128 keys. + To that end, the secret is associated to a curve in + the field GF(2^128) defined by the irreducible polynomial + :math:`x^{128} + x^7 + x^2 + x + 1` (the same used in AES-GCM). + The shares are always 16 bytes long. + + Data produced by this implementation are compatible to the popular + `ssss`_ tool if used with 128 bit security (parameter *"-s 128"*) + and no dispersion (parameter *"-D"*). + + As an example, the following code shows how to protect a file meant + for 5 people, in such a way that 2 of the 5 are required to + reassemble it:: + + >>> from binascii import hexlify + >>> from Crypto.Cipher import AES + >>> from Crypto.Random import get_random_bytes + >>> from Crypto.Protocol.secret_sharing import Shamir + >>> + >>> key = get_random_bytes(16) + >>> shares = Shamir.split(2, 5, key) + >>> for idx, share in shares: + >>> print "Index #%d: %s" % (idx, hexlify(share)) + >>> + >>> fi = open("clear_file.txt", "rb") + >>> fo = open("enc_file.txt", "wb") + >>> + >>> cipher = AES.new(key, AES.MODE_EAX) + >>> ct, tag = cipher.encrypt(fi.read()), cipher.digest() + >>> fo.write(nonce + tag + ct) + + Each person can be given one share and the encrypted file. + + When 2 people gather together with their shares, the can + decrypt the file:: + + >>> from binascii import unhexlify + >>> from Crypto.Cipher import AES + >>> from Crypto.Protocol.secret_sharing import Shamir + >>> + >>> shares = [] + >>> for x in range(2): + >>> in_str = raw_input("Enter index and share separated by comma: ") + >>> idx, share = [ strip(s) for s in in_str.split(",") ] + >>> shares.append((idx, unhexlify(share))) + >>> key = Shamir.combine(shares) + >>> + >>> fi = open("enc_file.txt", "rb") + >>> nonce, tag = [ fi.read(16) for x in range(2) ] + >>> cipher = AES.new(key, AES.MODE_EAX, nonce) + >>> try: + >>> result = cipher.decrypt(fi.read()) + >>> cipher.verify(tag) + >>> with open("clear_file2.txt", "wb") as fo: + >>> fo.write(result) + >>> except ValueError: + >>> print "The shares were incorrect" + + .. attention:: + Reconstruction does not guarantee that the result is authentic. + In particular, a malicious participant in the scheme has the + ability to force an algebric transformation on the result by + manipulating her share. + + It is important to use the scheme in combination with an + authentication mechanism (the EAX cipher mode in the example). + + .. __: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.80.8910&rep=rep1&type=pdf + .. _ssss: http://point-at-infinity.org/ssss/ + """ + + @staticmethod + def split(k, n, secret): + """Split a secret into *n* shares. + + The secret can be reconstructed later when *k* shares + out of the original *n* are recombined. Each share + must be kept confidential to the person it was + assigned to. + + Each share is associated to an index (starting from 1), + which must be presented when the secret is recombined. + + Args: + k (integer): + The number of shares that must be present in order to reconstruct + the secret. + n (integer): + The total number of shares to create (larger than *k*). + secret (byte string): + The 16 byte string (e.g. the AES128 key) to split. + + Return: + *n* tuples, each containing the unique index (an integer) and + the share (a byte string, 16 bytes long) meant for a + participant. + """ + + # + # We create a polynomial with random coefficients in GF(2^128): + # + # p(x) = \sum_{i=0}^{k-1} c_i * x^i + # + # c_0 is the encoded secret + # + + coeffs = [_Element(rng(16)) for i in range(k - 1)] + coeffs.insert(0, _Element(secret)) + + # Each share is y_i = p(x_i) where x_i is the public index + # associated to each of the n users. + + def make_share(user, coeffs): + share, x, idx = [_Element(p) for p in (0, 1, user)] + for coeff in coeffs: + share += coeff * x + x *= idx + return share.encode() + + return [(i, make_share(i, coeffs)) for i in range(1, n + 1)] + + @staticmethod + def combine(shares): + """Recombine a secret, if enough shares are presented. + + Args: + shares (tuples): + At least *k* tuples, each containin the index (an integer) and + the share (a byte string, 16 bytes long) that were assigned to + a participant. + + Return: + The original secret, as a byte string (16 bytes long). + """ + + # + # Given k points (x,y), the interpolation polynomial of degree k-1 is: + # + # L(x) = \sum_{j=0}^{k-1} y_i * l_j(x) + # + # where: + # + # l_j(x) = \prod_{ \overset{0 \le m \le k-1}{m \ne j} } + # \frac{x - x_m}{x_j - x_m} + # + # However, in this case we are purely intersted in the constant + # coefficient of L(x). + # + + shares = [[_Element(y) for y in x] for x in shares] + + result = _Element(0) + k = len(shares) + for j in range(k): + x_j, y_j = shares[j] + + coeff_0_l = _Element(0) + while not int(coeff_0_l): + coeff_0_l = _Element(rng(16)) + inv = coeff_0_l.inverse() + + for m in range(k): + x_m = shares[m][0] + if m != j: + t = x_m * (x_j + x_m).inverse() + coeff_0_l *= t + result += y_j * coeff_0_l * inv + return result.encode() diff --git a/lib27/site-packages/Crypto/Protocol/SecretSharing.pyi b/lib27/site-packages/Crypto/Protocol/SecretSharing.pyi new file mode 100644 index 000000000..7384dd938 --- /dev/null +++ b/lib27/site-packages/Crypto/Protocol/SecretSharing.pyi @@ -0,0 +1,20 @@ +from typing import Union, List, Tuple + +def _mult_gf2(f1: int, f2: int) -> int : ... +def _div_gf2(a: int, b: int) -> int : ... + +class _Element(object): + irr_poly: int + def __init__(self, encoded_value: Union[int, bytes]) -> None: ... + def __int__(self) -> int: ... + def encode(self) -> bytes: ... + def __mul__(self, factor: int) -> _Element: ... + def __add__(self, term: _Element) -> _Element: ... + def inverse(self) -> _Element: ... + +class Shamir(object): + @staticmethod + def split(k: int, n: int, secret: bytes) -> List[Tuple[int, bytes]]: ... + @staticmethod + def combine(shares: List[Tuple[int, bytes]]) -> bytes: ... + diff --git a/lib27/site-packages/Crypto/Protocol/__init__.py b/lib27/site-packages/Crypto/Protocol/__init__.py new file mode 100644 index 000000000..efdf034f7 --- /dev/null +++ b/lib27/site-packages/Crypto/Protocol/__init__.py @@ -0,0 +1,31 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +__all__ = ['KDF', 'SecretSharing'] diff --git a/lib27/site-packages/Crypto/Protocol/__init__.pyi b/lib27/site-packages/Crypto/Protocol/__init__.pyi new file mode 100644 index 000000000..377ed901e --- /dev/null +++ b/lib27/site-packages/Crypto/Protocol/__init__.pyi @@ -0,0 +1 @@ +__all__ = ['KDF.pyi', 'SecretSharing.pyi'] diff --git a/lib27/site-packages/Crypto/Protocol/_scrypt.pyd b/lib27/site-packages/Crypto/Protocol/_scrypt.pyd new file mode 100644 index 000000000..75a462b7e Binary files /dev/null and b/lib27/site-packages/Crypto/Protocol/_scrypt.pyd differ diff --git a/lib27/site-packages/Crypto/PublicKey/DSA.py b/lib27/site-packages/Crypto/PublicKey/DSA.py new file mode 100644 index 000000000..6925bb57a --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/DSA.py @@ -0,0 +1,678 @@ +# -*- coding: utf-8 -*- +# +# PublicKey/DSA.py : DSA signature primitive +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +__all__ = ['generate', 'construct', 'DsaKey', 'import_key' ] + +import binascii +import struct +import itertools + +from Crypto.Util.py3compat import bchr, bord, tobytes, tostr, iter_range + +from Crypto import Random +from Crypto.IO import PKCS8, PEM +from Crypto.Hash import SHA256 +from Crypto.Util.asn1 import ( + DerObject, DerSequence, + DerInteger, DerObjectId, + DerBitString, + ) + +from Crypto.Math.Numbers import Integer +from Crypto.Math.Primality import (test_probable_prime, COMPOSITE, + PROBABLY_PRIME) + +from Crypto.PublicKey import (_expand_subject_public_key_info, + _create_subject_public_key_info, + _extract_subject_public_key_info) + +# ; The following ASN.1 types are relevant for DSA +# +# SubjectPublicKeyInfo ::= SEQUENCE { +# algorithm AlgorithmIdentifier, +# subjectPublicKey BIT STRING +# } +# +# id-dsa ID ::= { iso(1) member-body(2) us(840) x9-57(10040) x9cm(4) 1 } +# +# ; See RFC3279 +# Dss-Parms ::= SEQUENCE { +# p INTEGER, +# q INTEGER, +# g INTEGER +# } +# +# DSAPublicKey ::= INTEGER +# +# DSSPrivatKey_OpenSSL ::= SEQUENCE +# version INTEGER, +# p INTEGER, +# q INTEGER, +# g INTEGER, +# y INTEGER, +# x INTEGER +# } +# + +class DsaKey(object): + r"""Class defining an actual DSA key. + Do not instantiate directly. + Use :func:`generate`, :func:`construct` or :func:`import_key` instead. + + :ivar p: DSA modulus + :vartype p: integer + + :ivar q: Order of the subgroup + :vartype q: integer + + :ivar g: Generator + :vartype g: integer + + :ivar y: Public key + :vartype y: integer + + :ivar x: Private key + :vartype x: integer + """ + + _keydata = ['y', 'g', 'p', 'q', 'x'] + + def __init__(self, key_dict): + input_set = set(key_dict.keys()) + public_set = set(('y' , 'g', 'p', 'q')) + if not public_set.issubset(input_set): + raise ValueError("Some DSA components are missing = %s" % + str(public_set - input_set)) + extra_set = input_set - public_set + if extra_set and extra_set != set(('x',)): + raise ValueError("Unknown DSA components = %s" % + str(extra_set - set(('x',)))) + self._key = dict(key_dict) + + def _sign(self, m, k): + if not self.has_private(): + raise TypeError("DSA public key cannot be used for signing") + if not (1 < k < self.q): + raise ValueError("k is not between 2 and q-1") + + x, q, p, g = [self._key[comp] for comp in ['x', 'q', 'p', 'g']] + + blind_factor = Integer.random_range(min_inclusive=1, + max_exclusive=q) + inv_blind_k = (blind_factor * k).inverse(q) + blind_x = x * blind_factor + + r = pow(g, k, p) % q # r = (g**k mod p) mod q + s = (inv_blind_k * (blind_factor * m + blind_x * r)) % q + return map(int, (r, s)) + + def _verify(self, m, sig): + r, s = sig + y, q, p, g = [self._key[comp] for comp in ['y', 'q', 'p', 'g']] + if not (0 < r < q) or not (0 < s < q): + return False + w = Integer(s).inverse(q) + u1 = (w * m) % q + u2 = (w * r) % q + v = (pow(g, u1, p) * pow(y, u2, p) % p) % q + return v == r + + def has_private(self): + """Whether this is a DSA private key""" + + return 'x' in self._key + + def can_encrypt(self): # legacy + return False + + def can_sign(self): # legacy + return True + + def publickey(self): + """A matching DSA public key. + + Returns: + a new :class:`DsaKey` object + """ + + public_components = dict((k, self._key[k]) for k in ('y', 'g', 'p', 'q')) + return DsaKey(public_components) + + def __eq__(self, other): + if bool(self.has_private()) != bool(other.has_private()): + return False + + result = True + for comp in self._keydata: + result = result and (getattr(self._key, comp, None) == + getattr(other._key, comp, None)) + return result + + def __ne__(self, other): + return not self.__eq__(other) + + def __getstate__(self): + # DSA key is not pickable + from pickle import PicklingError + raise PicklingError + + def domain(self): + """The DSA domain parameters. + + Returns + tuple : (p,q,g) + """ + + return [int(self._key[comp]) for comp in ('p', 'q', 'g')] + + def __repr__(self): + attrs = [] + for k in self._keydata: + if k == 'p': + attrs.append("p(%d)" % (self.size()+1,)) + elif hasattr(self, k): + attrs.append(k) + if self.has_private(): + attrs.append("private") + # PY3K: This is meant to be text, do not change to bytes (data) + return "<%s @0x%x %s>" % (self.__class__.__name__, id(self), ",".join(attrs)) + + def __getattr__(self, item): + try: + return int(self._key[item]) + except KeyError: + raise AttributeError(item) + + def export_key(self, format='PEM', pkcs8=None, passphrase=None, + protection=None, randfunc=None): + """Export this DSA key. + + Args: + format (string): + The encoding for the output: + + - *'PEM'* (default). ASCII as per `RFC1421`_/ `RFC1423`_. + - *'DER'*. Binary ASN.1 encoding. + - *'OpenSSH'*. ASCII one-liner as per `RFC4253`_. + Only suitable for public keys, not for private keys. + + passphrase (string): + *Private keys only*. The pass phrase to protect the output. + + pkcs8 (boolean): + *Private keys only*. If ``True`` (default), the key is encoded + with `PKCS#8`_. If ``False``, it is encoded in the custom + OpenSSL/OpenSSH container. + + protection (string): + *Only in combination with a pass phrase*. + The encryption scheme to use to protect the output. + + If :data:`pkcs8` takes value ``True``, this is the PKCS#8 + algorithm to use for deriving the secret and encrypting + the private DSA key. + For a complete list of algorithms, see :mod:`Crypto.IO.PKCS8`. + The default is *PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC*. + + If :data:`pkcs8` is ``False``, the obsolete PEM encryption scheme is + used. It is based on MD5 for key derivation, and Triple DES for + encryption. Parameter :data:`protection` is then ignored. + + The combination ``format='DER'`` and ``pkcs8=False`` is not allowed + if a passphrase is present. + + randfunc (callable): + A function that returns random bytes. + By default it is :func:`Crypto.Random.get_random_bytes`. + + Returns: + byte string : the encoded key + + Raises: + ValueError : when the format is unknown or when you try to encrypt a private + key with *DER* format and OpenSSL/OpenSSH. + + .. warning:: + If you don't provide a pass phrase, the private key will be + exported in the clear! + + .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt + .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt + .. _RFC4253: http://www.ietf.org/rfc/rfc4253.txt + .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt + """ + + if passphrase is not None: + passphrase = tobytes(passphrase) + + if randfunc is None: + randfunc = Random.get_random_bytes + + if format == 'OpenSSH': + tup1 = [self._key[x].to_bytes() for x in ('p', 'q', 'g', 'y')] + + def func(x): + if (bord(x[0]) & 0x80): + return bchr(0) + x + else: + return x + + tup2 = [func(x) for x in tup1] + keyparts = [b'ssh-dss'] + tup2 + keystring = b''.join( + [struct.pack(">I", len(kp)) + kp for kp in keyparts] + ) + return b'ssh-dss ' + binascii.b2a_base64(keystring)[:-1] + + # DER format is always used, even in case of PEM, which simply + # encodes it into BASE64. + params = DerSequence([self.p, self.q, self.g]) + if self.has_private(): + if pkcs8 is None: + pkcs8 = True + if pkcs8: + if not protection: + protection = 'PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC' + private_key = DerInteger(self.x).encode() + binary_key = PKCS8.wrap( + private_key, oid, passphrase, + protection, key_params=params, + randfunc=randfunc + ) + if passphrase: + key_type = 'ENCRYPTED PRIVATE' + else: + key_type = 'PRIVATE' + passphrase = None + else: + if format != 'PEM' and passphrase: + raise ValueError("DSA private key cannot be encrypted") + ints = [0, self.p, self.q, self.g, self.y, self.x] + binary_key = DerSequence(ints).encode() + key_type = "DSA PRIVATE" + else: + if pkcs8: + raise ValueError("PKCS#8 is only meaningful for private keys") + + binary_key = _create_subject_public_key_info(oid, + DerInteger(self.y), params) + key_type = "PUBLIC" + + if format == 'DER': + return binary_key + if format == 'PEM': + pem_str = PEM.encode( + binary_key, key_type + " KEY", + passphrase, randfunc + ) + return tobytes(pem_str) + raise ValueError("Unknown key format '%s'. Cannot export the DSA key." % format) + + # Backward-compatibility + exportKey = export_key + + # Methods defined in PyCrypto that we don't support anymore + + def sign(self, M, K): + raise NotImplementedError("Use module Crypto.Signature.DSS instead") + + def verify(self, M, signature): + raise NotImplementedError("Use module Crypto.Signature.DSS instead") + + def encrypt(self, plaintext, K): + raise NotImplementedError + + def decrypt(self, ciphertext): + raise NotImplementedError + + def blind(self, M, B): + raise NotImplementedError + + def unblind(self, M, B): + raise NotImplementedError + + def size(self): + raise NotImplementedError + + +def _generate_domain(L, randfunc): + """Generate a new set of DSA domain parameters""" + + N = { 1024:160, 2048:224, 3072:256 }.get(L) + if N is None: + raise ValueError("Invalid modulus length (%d)" % L) + + outlen = SHA256.digest_size * 8 + n = (L + outlen - 1) // outlen - 1 # ceil(L/outlen) -1 + b_ = L - 1 - (n * outlen) + + # Generate q (A.1.1.2) + q = Integer(4) + upper_bit = 1 << (N - 1) + while test_probable_prime(q, randfunc) != PROBABLY_PRIME: + seed = randfunc(64) + U = Integer.from_bytes(SHA256.new(seed).digest()) & (upper_bit - 1) + q = U | upper_bit | 1 + + assert(q.size_in_bits() == N) + + # Generate p (A.1.1.2) + offset = 1 + upper_bit = 1 << (L - 1) + while True: + V = [ SHA256.new(seed + Integer(offset + j).to_bytes()).digest() + for j in iter_range(n + 1) ] + V = [ Integer.from_bytes(v) for v in V ] + W = sum([V[i] * (1 << (i * outlen)) for i in iter_range(n)], + (V[n] & ((1 << b_) - 1)) * (1 << (n * outlen))) + + X = Integer(W + upper_bit) # 2^{L-1} < X < 2^{L} + assert(X.size_in_bits() == L) + + c = X % (q * 2) + p = X - (c - 1) # 2q divides (p-1) + if p.size_in_bits() == L and \ + test_probable_prime(p, randfunc) == PROBABLY_PRIME: + break + offset += n + 1 + + # Generate g (A.2.3, index=1) + e = (p - 1) // q + for count in itertools.count(1): + U = seed + b"ggen" + bchr(1) + Integer(count).to_bytes() + W = Integer.from_bytes(SHA256.new(U).digest()) + g = pow(W, e, p) + if g != 1: + break + + return (p, q, g, seed) + + +def generate(bits, randfunc=None, domain=None): + """Generate a new DSA key pair. + + The algorithm follows Appendix A.1/A.2 and B.1 of `FIPS 186-4`_, + respectively for domain generation and key pair generation. + + Args: + bits (integer): + Key length, or size (in bits) of the DSA modulus *p*. + It must be 1024, 2048 or 3072. + + randfunc (callable): + Random number generation function; it accepts a single integer N + and return a string of random data N bytes long. + If not specified, :func:`Crypto.Random.get_random_bytes` is used. + + domain (tuple): + The DSA domain parameters *p*, *q* and *g* as a list of 3 + integers. Size of *p* and *q* must comply to `FIPS 186-4`_. + If not specified, the parameters are created anew. + + Returns: + :class:`DsaKey` : a new DSA key object + + Raises: + ValueError : when **bits** is too little, too big, or not a multiple of 64. + + .. _FIPS 186-4: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf + """ + + if randfunc is None: + randfunc = Random.get_random_bytes + + if domain: + p, q, g = map(Integer, domain) + + ## Perform consistency check on domain parameters + # P and Q must be prime + fmt_error = test_probable_prime(p) == COMPOSITE + fmt_error = test_probable_prime(q) == COMPOSITE + # Verify Lagrange's theorem for sub-group + fmt_error |= ((p - 1) % q) != 0 + fmt_error |= g <= 1 or g >= p + fmt_error |= pow(g, q, p) != 1 + if fmt_error: + raise ValueError("Invalid DSA domain parameters") + else: + p, q, g, _ = _generate_domain(bits, randfunc) + + L = p.size_in_bits() + N = q.size_in_bits() + + if L != bits: + raise ValueError("Mismatch between size of modulus (%d)" + " and 'bits' parameter (%d)" % (L, bits)) + + if (L, N) not in [(1024, 160), (2048, 224), + (2048, 256), (3072, 256)]: + raise ValueError("Lengths of p and q (%d, %d) are not compatible" + "to FIPS 186-3" % (L, N)) + + if not 1 < g < p: + raise ValueError("Incorrent DSA generator") + + # B.1.1 + c = Integer.random(exact_bits=N + 64) + x = c % (q - 1) + 1 # 1 <= x <= q-1 + y = pow(g, x, p) + + key_dict = { 'y':y, 'g':g, 'p':p, 'q':q, 'x':x } + return DsaKey(key_dict) + + +def construct(tup, consistency_check=True): + """Construct a DSA key from a tuple of valid DSA components. + + Args: + tup (tuple): + A tuple of long integers, with 4 or 5 items + in the following order: + + 1. Public key (*y*). + 2. Sub-group generator (*g*). + 3. Modulus, finite field order (*p*). + 4. Sub-group order (*q*). + 5. Private key (*x*). Optional. + + consistency_check (boolean): + If ``True``, the library will verify that the provided components + fulfil the main DSA properties. + + Raises: + ValueError: when the key being imported fails the most basic DSA validity checks. + + Returns: + :class:`DsaKey` : a DSA key object + """ + + key_dict = dict(zip(('y', 'g', 'p', 'q', 'x'), map(Integer, tup))) + key = DsaKey(key_dict) + + fmt_error = False + if consistency_check: + # P and Q must be prime + fmt_error = test_probable_prime(key.p) == COMPOSITE + fmt_error = test_probable_prime(key.q) == COMPOSITE + # Verify Lagrange's theorem for sub-group + fmt_error |= ((key.p - 1) % key.q) != 0 + fmt_error |= key.g <= 1 or key.g >= key.p + fmt_error |= pow(key.g, key.q, key.p) != 1 + # Public key + fmt_error |= key.y <= 0 or key.y >= key.p + if hasattr(key, 'x'): + fmt_error |= key.x <= 0 or key.x >= key.q + fmt_error |= pow(key.g, key.x, key.p) != key.y + + if fmt_error: + raise ValueError("Invalid DSA key components") + + return key + + +# Dss-Parms ::= SEQUENCE { +# p OCTET STRING, +# q OCTET STRING, +# g OCTET STRING +# } +# DSAPublicKey ::= INTEGER -- public key, y + +def _import_openssl_private(encoded, passphrase, params): + if params: + raise ValueError("DSA private key already comes with parameters") + der = DerSequence().decode(encoded, nr_elements=6, only_ints_expected=True) + if der[0] != 0: + raise ValueError("No version found") + tup = [der[comp] for comp in (4, 3, 1, 2, 5)] + return construct(tup) + + +def _import_subjectPublicKeyInfo(encoded, passphrase, params): + + algoid, encoded_key, emb_params = _expand_subject_public_key_info(encoded) + if algoid != oid: + raise ValueError("No DSA subjectPublicKeyInfo") + if params and emb_params: + raise ValueError("Too many DSA parameters") + + y = DerInteger().decode(encoded_key).value + p, q, g = list(DerSequence().decode(params or emb_params)) + tup = (y, g, p, q) + return construct(tup) + + +def _import_x509_cert(encoded, passphrase, params): + + sp_info = _extract_subject_public_key_info(encoded) + return _import_subjectPublicKeyInfo(sp_info, None, params) + + +def _import_pkcs8(encoded, passphrase, params): + if params: + raise ValueError("PKCS#8 already includes parameters") + k = PKCS8.unwrap(encoded, passphrase) + if k[0] != oid: + raise ValueError("No PKCS#8 encoded DSA key") + x = DerInteger().decode(k[1]).value + p, q, g = list(DerSequence().decode(k[2])) + tup = (pow(g, x, p), g, p, q, x) + return construct(tup) + + +def _import_key_der(key_data, passphrase, params): + """Import a DSA key (public or private half), encoded in DER form.""" + + decodings = (_import_openssl_private, + _import_subjectPublicKeyInfo, + _import_x509_cert, + _import_pkcs8) + + for decoding in decodings: + try: + return decoding(key_data, passphrase, params) + except ValueError: + pass + + raise ValueError("DSA key format is not supported") + + +def import_key(extern_key, passphrase=None): + """Import a DSA key. + + Args: + extern_key (string or byte string): + The DSA key to import. + + The following formats are supported for a DSA **public** key: + + - X.509 certificate (binary DER or PEM) + - X.509 ``subjectPublicKeyInfo`` (binary DER or PEM) + - OpenSSH (ASCII one-liner, see `RFC4253`_) + + The following formats are supported for a DSA **private** key: + + - `PKCS#8`_ ``PrivateKeyInfo`` or ``EncryptedPrivateKeyInfo`` + DER SEQUENCE (binary or PEM) + - OpenSSL/OpenSSH custom format (binary or PEM) + + For details about the PEM encoding, see `RFC1421`_/`RFC1423`_. + + passphrase (string): + In case of an encrypted private key, this is the pass phrase + from which the decryption key is derived. + + Encryption may be applied either at the `PKCS#8`_ or at the PEM level. + + Returns: + :class:`DsaKey` : a DSA key object + + Raises: + ValueError : when the given key cannot be parsed (possibly because + the pass phrase is wrong). + + .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt + .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt + .. _RFC4253: http://www.ietf.org/rfc/rfc4253.txt + .. _PKCS#8: http://www.ietf.org/rfc/rfc5208.txt + """ + + extern_key = tobytes(extern_key) + if passphrase is not None: + passphrase = tobytes(passphrase) + + if extern_key.startswith(b'-----'): + # This is probably a PEM encoded key + (der, marker, enc_flag) = PEM.decode(tostr(extern_key), passphrase) + if enc_flag: + passphrase = None + return _import_key_der(der, passphrase, None) + + if extern_key.startswith(b'ssh-dss '): + # This is probably a public OpenSSH key + keystring = binascii.a2b_base64(extern_key.split(b' ')[1]) + keyparts = [] + while len(keystring) > 4: + length = struct.unpack(">I", keystring[:4])[0] + keyparts.append(keystring[4:4 + length]) + keystring = keystring[4 + length:] + if keyparts[0] == b"ssh-dss": + tup = [Integer.from_bytes(keyparts[x]) for x in (4, 3, 1, 2)] + return construct(tup) + + if bord(extern_key[0]) == 0x30: + # This is probably a DER encoded key + return _import_key_der(extern_key, passphrase, None) + + raise ValueError("DSA key format is not supported") + + +# Backward compatibility +importKey = import_key + +#: `Object ID`_ for a DSA key. +#: +#: id-dsa ID ::= { iso(1) member-body(2) us(840) x9-57(10040) x9cm(4) 1 } +#: +#: .. _`Object ID`: http://www.alvestrand.no/objectid/1.2.840.10040.4.1.html +oid = "1.2.840.10040.4.1" diff --git a/lib27/site-packages/Crypto/PublicKey/DSA.pyi b/lib27/site-packages/Crypto/PublicKey/DSA.pyi new file mode 100644 index 000000000..b6feecb35 --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/DSA.pyi @@ -0,0 +1,29 @@ +from typing import Dict, Tuple, Callable, Union, Optional + +__all__ = ['generate', 'construct', 'DsaKey', 'import_key' ] + + +class DsaKey(object): + def __init__(self, key_dict: Dict[str, int]) -> None: ... + def has_private(self) -> bool: ... + def can_encrypt(self) -> bool: ... # legacy + def can_sign(self) -> bool: ... # legacy + def publickey(self) -> DsaKey: ... + def __eq__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... + def __getstate__(self) -> None: ... + def domain(self) -> Tuple[int, int, int]: ... + def __repr__(self) -> str: ... + def __getattr__(self, item: str) -> int: ... + def export_key(self, format: Optional[str]="PEM", pkcs8: Optional[bool]=None, passphrase: Optional[str]=None, + protection: Optional[str]=None, randfunc: Optional[Callable]=None) -> bytes: ... + # Backward-compatibility + exportKey = export_key + +def generate(bits: int, randfunc: Optional[Callable]=None, domain: Optional[Tuple[int, int, int]]=None) -> DsaKey: ... +def construct(tup: Union[Tuple[int, int, int, int], Tuple[int, int, int, int, int]], consistency_check: Optional[bool]=True) -> DsaKey: ... +def import_key(extern_key: Union[str, bytes], passphrase: Optional[str]=None) -> DsaKey: ... +# Backward compatibility +importKey = import_key + +oid: str diff --git a/lib27/site-packages/Crypto/PublicKey/ECC.py b/lib27/site-packages/Crypto/PublicKey/ECC.py new file mode 100644 index 000000000..ee62dbb55 --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/ECC.py @@ -0,0 +1,922 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from __future__ import print_function + +import struct +import binascii +from collections import namedtuple + +from Crypto.Util.py3compat import bord, tobytes, tostr, bchr, is_string + +from Crypto.Math.Numbers import Integer +from Crypto.Random import get_random_bytes +from Crypto.Util.asn1 import (DerObjectId, DerOctetString, DerSequence, + DerBitString) + +from Crypto.IO import PKCS8, PEM +from Crypto.PublicKey import (_expand_subject_public_key_info, + _create_subject_public_key_info, + _extract_subject_public_key_info) + + +class UnsupportedEccFeature(ValueError): + pass + + +class EccPoint(object): + """A class to abstract a point over an Elliptic Curve. + + :ivar x: The X-coordinate of the ECC point + :vartype x: integer + + :ivar y: The Y-coordinate of the ECC point + :vartype y: integer + """ + + def __init__(self, x, y): + self._x = Integer(x) + self._y = Integer(y) + + # Buffers + self._common = Integer(0) + self._tmp1 = Integer(0) + self._x3 = Integer(0) + self._y3 = Integer(0) + + def set(self, point): + self._x = Integer(point._x) + self._y = Integer(point._y) + return self + + def __eq__(self, point): + return self._x == point._x and self._y == point._y + + def __neg__(self): + if self.is_point_at_infinity(): + return self.point_at_infinity() + return EccPoint(self._x, _curve.p - self._y) + + def copy(self): + return EccPoint(self._x, self._y) + + def is_point_at_infinity(self): + return not (self._x or self._y) + + @staticmethod + def point_at_infinity(): + return EccPoint(0, 0) + + @property + def x(self): + if self.is_point_at_infinity(): + raise ValueError("Point at infinity") + return self._x + + @property + def y(self): + if self.is_point_at_infinity(): + raise ValueError("Point at infinity") + return self._y + + def double(self): + """Double this point (in-place operation). + + :Return: + :class:`EccPoint` : this same object (to enable chaining) + """ + + if not self._y: + return self.point_at_infinity() + + common = self._common + tmp1 = self._tmp1 + x3 = self._x3 + y3 = self._y3 + + # common = (pow(self._x, 2, _curve.p) * 3 - 3) * (self._y << 1).inverse(_curve.p) % _curve.p + common.set(self._x) + common.inplace_pow(2, _curve.p) + common *= 3 + common -= 3 + tmp1.set(self._y) + tmp1 <<= 1 + tmp1.inplace_inverse(_curve.p) + common *= tmp1 + common %= _curve.p + + # x3 = (pow(common, 2, _curve.p) - 2 * self._x) % _curve.p + x3.set(common) + x3.inplace_pow(2, _curve.p) + x3 -= self._x + x3 -= self._x + while x3.is_negative(): + x3 += _curve.p + + # y3 = ((self._x - x3) * common - self._y) % _curve.p + y3.set(self._x) + y3 -= x3 + y3 *= common + y3 -= self._y + y3 %= _curve.p + + self._x.set(x3) + self._y.set(y3) + return self + + def __iadd__(self, point): + """Add a second point to this one""" + + if self.is_point_at_infinity(): + return self.set(point) + + if point.is_point_at_infinity(): + return self + + if self == point: + return self.double() + + if self._x == point._x: + return self.set(self.point_at_infinity()) + + common = self._common + tmp1 = self._tmp1 + x3 = self._x3 + y3 = self._y3 + + # common = (point._y - self._y) * (point._x - self._x).inverse(_curve.p) % _curve.p + common.set(point._y) + common -= self._y + tmp1.set(point._x) + tmp1 -= self._x + tmp1.inplace_inverse(_curve.p) + common *= tmp1 + common %= _curve.p + + # x3 = (pow(common, 2, _curve.p) - self._x - point._x) % _curve.p + x3.set(common) + x3.inplace_pow(2, _curve.p) + x3 -= self._x + x3 -= point._x + while x3.is_negative(): + x3 += _curve.p + + # y3 = ((self._x - x3) * common - self._y) % _curve.p + y3.set(self._x) + y3 -= x3 + y3 *= common + y3 -= self._y + y3 %= _curve.p + + self._x.set(x3) + self._y.set(y3) + return self + + def __add__(self, point): + """Return a new point, the addition of this one and another""" + + result = self.copy() + result += point + return result + + def __mul__(self, scalar): + """Return a new point, the scalar product of this one""" + + if scalar < 0: + raise ValueError("Scalar multiplication only defined for non-negative integers") + + # Trivial results + if scalar == 0 or self.is_point_at_infinity(): + return self.point_at_infinity() + elif scalar == 1: + return self.copy() + + # Scalar randomization + scalar_blind = Integer.random(exact_bits=64) * _curve.order + scalar + + # Montgomery key ladder + r = [self.point_at_infinity().copy(), self.copy()] + bit_size = int(scalar_blind.size_in_bits()) + scalar_int = int(scalar_blind) + for i in range(bit_size, -1, -1): + di = scalar_int >> i & 1 + r[di ^ 1] += r[di] + r[di].double() + + return r[0] + + +_Curve = namedtuple("_Curve", "p b order Gx Gy G names oid") + +_curve_gx = Integer(0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296) +_curve_gy = Integer(0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5) + +_curve = _Curve( + Integer(0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff), + Integer(0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b), + Integer(0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551), + _curve_gx, + _curve_gy, + EccPoint(_curve_gx, _curve_gy), + ("P-256", "prime256v1", "secp256r1"), + "1.2.840.10045.3.1.7", +) +del namedtuple + + +class EccKey(object): + r"""Class defining an ECC key. + Do not instantiate directly. + Use :func:`generate`, :func:`construct` or :func:`import_key` instead. + + :ivar curve: The name of the ECC curve + :vartype curve: string + + :ivar pointQ: an ECC point representating the public component + :vartype pointQ: :class:`EccPoint` + + :ivar d: A scalar representating the private component + :vartype d: integer + """ + + def __init__(self, **kwargs): + """Create a new ECC key + + Keywords: + curve : string + It must be *"P-256"*, *"prime256v1"* or *"secp256r1"*. + d : integer + Only for a private key. It must be in the range ``[1..order-1]``. + point : EccPoint + Mandatory for a public key. If provided for a private key, + the implementation will NOT check whether it matches ``d``. + """ + + kwargs_ = dict(kwargs) + self.curve = kwargs_.pop("curve", None) + self._d = kwargs_.pop("d", None) + self._point = kwargs_.pop("point", None) + if kwargs_: + raise TypeError("Unknown parameters: " + str(kwargs_)) + + if self.curve not in _curve.names: + raise ValueError("Unsupported curve (%s)", self.curve) + + if self._d is None: + if self._point is None: + raise ValueError("Either private or public ECC component must be specified") + else: + self._d = Integer(self._d) + if not 1 <= self._d < _curve.order: + raise ValueError("Invalid ECC private component") + + def __eq__(self, other): + if other.has_private() != self.has_private(): + return False + + return (other.pointQ.x == self.pointQ.x) and (other.pointQ.y == self.pointQ.y) + + def __repr__(self): + if self.has_private(): + extra = ", d=%d" % int(self._d) + else: + extra = "" + return "EccKey(curve='P-256', x=%d, y=%d%s)" %\ + (self.pointQ.x, self.pointQ.y, extra) + + def has_private(self): + """``True`` if this key can be used for making signatures or decrypting data.""" + + return self._d is not None + + def _sign(self, z, k): + assert 0 < k < _curve.order + + blind = Integer.random_range(min_inclusive=1, + max_exclusive=_curve.order) + + blind_d = self._d * blind + inv_blind_k = (blind * k).inverse(_curve.order) + + r = (_curve.G * k).x % _curve.order + s = inv_blind_k * (blind * z + blind_d * r) % _curve.order + return (r, s) + + def _verify(self, z, rs): + sinv = rs[1].inverse(_curve.order) + point1 = _curve.G * ((sinv * z) % _curve.order) + point2 = self.pointQ * ((sinv * rs[0]) % _curve.order) + return (point1 + point2).x == rs[0] + + @property + def d(self): + if not self.has_private(): + raise ValueError("This is not a private ECC key") + return self._d + + @property + def pointQ(self): + if self._point is None: + self._point = _curve.G * self._d + return self._point + + def public_key(self): + """A matching ECC public key. + + Returns: + a new :class:`EccKey` object + """ + + return EccKey(curve="P-256", point=self.pointQ) + + def _export_subjectPublicKeyInfo(self, compress): + + # See 2.2 in RFC5480 and 2.3.3 in SEC1 + # The first byte is: + # - 0x02: compressed, only X-coordinate, Y-coordinate is even + # - 0x03: compressed, only X-coordinate, Y-coordinate is odd + # - 0x04: uncompressed, X-coordinate is followed by Y-coordinate + # + # PAI is in theory encoded as 0x00. + + order_bytes = _curve.order.size_in_bytes() + + if compress: + first_byte = 2 + self.pointQ.y.is_odd() + public_key = (bchr(first_byte) + + self.pointQ.x.to_bytes(order_bytes)) + else: + public_key = (b'\x04' + + self.pointQ.x.to_bytes(order_bytes) + + self.pointQ.y.to_bytes(order_bytes)) + + unrestricted_oid = "1.2.840.10045.2.1" + return _create_subject_public_key_info(unrestricted_oid, + public_key, + DerObjectId(_curve.oid)) + + def _export_private_der(self, include_ec_params=True): + + assert self.has_private() + + # ECPrivateKey ::= SEQUENCE { + # version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1), + # privateKey OCTET STRING, + # parameters [0] ECParameters {{ NamedCurve }} OPTIONAL, + # publicKey [1] BIT STRING OPTIONAL + # } + + # Public key - uncompressed form + order_bytes = _curve.order.size_in_bytes() + public_key = (b'\x04' + + self.pointQ.x.to_bytes(order_bytes) + + self.pointQ.y.to_bytes(order_bytes)) + + seq = [1, + DerOctetString(self.d.to_bytes(order_bytes)), + DerObjectId(_curve.oid, explicit=0), + DerBitString(public_key, explicit=1)] + + if not include_ec_params: + del seq[2] + + return DerSequence(seq).encode() + + def _export_pkcs8(self, **kwargs): + if kwargs.get('passphrase', None) is not None and 'protection' not in kwargs: + raise ValueError("At least the 'protection' parameter should be present") + unrestricted_oid = "1.2.840.10045.2.1" + private_key = self._export_private_der(include_ec_params=False) + result = PKCS8.wrap(private_key, + unrestricted_oid, + key_params=DerObjectId(_curve.oid), + **kwargs) + return result + + def _export_public_pem(self, compress): + encoded_der = self._export_subjectPublicKeyInfo(compress) + return PEM.encode(encoded_der, "PUBLIC KEY") + + def _export_private_pem(self, passphrase, **kwargs): + encoded_der = self._export_private_der() + return PEM.encode(encoded_der, "EC PRIVATE KEY", passphrase, **kwargs) + + def _export_private_clear_pkcs8_in_clear_pem(self): + encoded_der = self._export_pkcs8() + return PEM.encode(encoded_der, "PRIVATE KEY") + + def _export_private_encrypted_pkcs8_in_clear_pem(self, passphrase, **kwargs): + assert passphrase + if 'protection' not in kwargs: + raise ValueError("At least the 'protection' parameter should be present") + encoded_der = self._export_pkcs8(passphrase=passphrase, **kwargs) + return PEM.encode(encoded_der, "ENCRYPTED PRIVATE KEY") + + def _export_openssh(self, compress): + if self.has_private(): + raise ValueError("Cannot export OpenSSH private keys") + + desc = "ecdsa-sha2-nistp256" + order_bytes = _curve.order.size_in_bytes() + + if compress: + first_byte = 2 + self.pointQ.y.is_odd() + public_key = (bchr(first_byte) + + self.pointQ.x.to_bytes(order_bytes)) + else: + public_key = (b'\x04' + + self.pointQ.x.to_bytes(order_bytes) + + self.pointQ.y.to_bytes(order_bytes)) + + comps = (tobytes(desc), b"nistp256", public_key) + blob = b"".join([ struct.pack(">I", len(x)) + x for x in comps]) + return desc + " " + tostr(binascii.b2a_base64(blob)) + + def export_key(self, **kwargs): + """Export this ECC key. + + Args: + format (string): + The format to use for encoding the key: + + - *'DER'*. The key will be encoded in ASN.1 DER format (binary). + For a public key, the ASN.1 ``subjectPublicKeyInfo`` structure + defined in `RFC5480`_ will be used. + For a private key, the ASN.1 ``ECPrivateKey`` structure defined + in `RFC5915`_ is used instead (possibly within a PKCS#8 envelope, + see the ``use_pkcs8`` flag below). + - *'PEM'*. The key will be encoded in a PEM_ envelope (ASCII). + - *'OpenSSH'*. The key will be encoded in the OpenSSH_ format + (ASCII, public keys only). + + passphrase (byte string or string): + The passphrase to use for protecting the private key. + + use_pkcs8 (boolean): + If ``True`` (default and recommended), the `PKCS#8`_ representation + will be used. + + If ``False``, the much weaker `PEM encryption`_ mechanism will be used. + + protection (string): + When a private key is exported with password-protection + and PKCS#8 (both ``DER`` and ``PEM`` formats), this parameter MUST be + present and be a valid algorithm supported by :mod:`Crypto.IO.PKCS8`. + It is recommended to use ``PBKDF2WithHMAC-SHA1AndAES128-CBC``. + + compress (boolean): + If ``True``, a more compact representation of the public key + (X-coordinate only) is used. + + If ``False`` (default), the full public key (in both its + coordinates) will be exported. + + .. warning:: + If you don't provide a passphrase, the private key will be + exported in the clear! + + .. note:: + When exporting a private key with password-protection and `PKCS#8`_ + (both ``DER`` and ``PEM`` formats), any extra parameters + is passed to :mod:`Crypto.IO.PKCS8`. + + .. _PEM: http://www.ietf.org/rfc/rfc1421.txt + .. _`PEM encryption`: http://www.ietf.org/rfc/rfc1423.txt + .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt + .. _OpenSSH: http://www.openssh.com/txt/rfc5656.txt + .. _RFC5480: https://tools.ietf.org/html/rfc5480 + .. _RFC5915: http://www.ietf.org/rfc/rfc5915.txt + + Returns: + A multi-line string (for PEM and OpenSSH) or bytes (for DER) with the encoded key. + """ + + args = kwargs.copy() + ext_format = args.pop("format") + if ext_format not in ("PEM", "DER", "OpenSSH"): + raise ValueError("Unknown format '%s'" % ext_format) + + compress = args.pop("compress", False) + + if self.has_private(): + passphrase = args.pop("passphrase", None) + if is_string(passphrase): + passphrase = tobytes(passphrase) + if not passphrase: + raise ValueError("Empty passphrase") + use_pkcs8 = args.pop("use_pkcs8", True) + if ext_format == "PEM": + if use_pkcs8: + if passphrase: + return self._export_private_encrypted_pkcs8_in_clear_pem(passphrase, **args) + else: + return self._export_private_clear_pkcs8_in_clear_pem() + else: + return self._export_private_pem(passphrase, **args) + elif ext_format == "DER": + # DER + if passphrase and not use_pkcs8: + raise ValueError("Private keys can only be encrpyted with DER using PKCS#8") + if use_pkcs8: + return self._export_pkcs8(passphrase=passphrase, **args) + else: + return self._export_private_der() + else: + raise ValueError("Private keys cannot be exported in OpenSSH format") + else: # Public key + if args: + raise ValueError("Unexpected parameters: '%s'" % args) + if ext_format == "PEM": + return self._export_public_pem(compress) + elif ext_format == "DER": + return self._export_subjectPublicKeyInfo(compress) + else: + return self._export_openssh(compress) + + +def generate(**kwargs): + """Generate a new private key on the given curve. + + Args: + + curve (string): + Mandatory. It must be "P-256", "prime256v1" or "secp256r1". + + randfunc (callable): + Optional. The RNG to read randomness from. + If ``None``, :func:`Crypto.Random.get_random_bytes` is used. + """ + + curve = kwargs.pop("curve") + randfunc = kwargs.pop("randfunc", get_random_bytes) + if kwargs: + raise TypeError("Unknown parameters: " + str(kwargs)) + + d = Integer.random_range(min_inclusive=1, + max_exclusive=_curve.order, + randfunc=randfunc) + + return EccKey(curve=curve, d=d) + + +def construct(**kwargs): + """Build a new ECC key (private or public) starting + from some base components. + + Args: + + curve (string): + Mandatory. It must be "P-256", "prime256v1" or "secp256r1". + + d (integer): + Only for a private key. It must be in the range ``[1..order-1]``. + + point_x (integer): + Mandatory for a public key. X coordinate (affine) of the ECC point. + + point_y (integer): + Mandatory for a public key. Y coordinate (affine) of the ECC point. + + Returns: + :class:`EccKey` : a new ECC key object + """ + + point_x = kwargs.pop("point_x", None) + point_y = kwargs.pop("point_y", None) + + if "point" in kwargs: + raise TypeError("Unknown keyword: point") + + if None not in (point_x, point_y): + kwargs["point"] = EccPoint(point_x, point_y) + + # Validate that the point is on the P-256 curve + eq1 = pow(Integer(point_y), 2, _curve.p) + x = Integer(point_x) + eq2 = pow(x, 3, _curve.p) + x *= -3 + eq2 += x + eq2 += _curve.b + eq2 %= _curve.p + + if eq1 != eq2: + raise ValueError("The point is not on the curve") + + # Validate that the private key matches the public one + d = kwargs.get("d", None) + if d is not None and "point" in kwargs: + pub_key = _curve.G * d + if pub_key.x != point_x or pub_key.y != point_y: + raise ValueError("Private and public ECC keys do not match") + + return EccKey(**kwargs) + + +def _import_public_der(curve_oid, ec_point): + """Convert an encoded EC point into an EccKey object + + curve_name: string with the OID of the curve + ec_point: byte string with the EC point (not DER encoded) + + """ + + # We only support P-256 named curves for now + if curve_oid != _curve.oid: + raise UnsupportedEccFeature("Unsupported ECC curve (OID: %s)" % curve_oid) + + # See 2.2 in RFC5480 and 2.3.3 in SEC1 + # The first byte is: + # - 0x02: compressed, only X-coordinate, Y-coordinate is even + # - 0x03: compressed, only X-coordinate, Y-coordinate is odd + # - 0x04: uncompressed, X-coordinate is followed by Y-coordinate + # + # PAI is in theory encoded as 0x00. + + order_bytes = _curve.order.size_in_bytes() + point_type = bord(ec_point[0]) + + # Uncompressed point + if point_type == 0x04: + if len(ec_point) != (1 + 2 * order_bytes): + raise ValueError("Incorrect EC point length") + x = Integer.from_bytes(ec_point[1:order_bytes+1]) + y = Integer.from_bytes(ec_point[order_bytes+1:]) + # Compressed point + elif point_type in (0x02, 0x3): + if len(ec_point) != (1 + order_bytes): + raise ValueError("Incorrect EC point length") + x = Integer.from_bytes(ec_point[1:]) + y = (x**3 - x*3 + _curve.b).sqrt(_curve.p) # Short Weierstrass + if point_type == 0x02 and y.is_odd(): + y = _curve.p - y + if point_type == 0x03 and y.is_even(): + y = _curve.p - y + else: + raise ValueError("Incorrect EC point encoding") + + return construct(curve="P-256", point_x=x, point_y=y) + + +def _import_subjectPublicKeyInfo(encoded, *kwargs): + """Convert a subjectPublicKeyInfo into an EccKey object""" + + # See RFC5480 + + # Parse the generic subjectPublicKeyInfo structure + oid, ec_point, params = _expand_subject_public_key_info(encoded) + + # ec_point must be an encoded OCTET STRING + # params is encoded ECParameters + + # We accept id-ecPublicKey, id-ecDH, id-ecMQV without making any + # distiction for now. + unrestricted_oid = "1.2.840.10045.2.1" # Restrictions can be captured + # in the key usage certificate + # extension + ecdh_oid = "1.3.132.1.12" + ecmqv_oid = "1.3.132.1.13" + + if oid not in (unrestricted_oid, ecdh_oid, ecmqv_oid): + raise UnsupportedEccFeature("Unsupported ECC purpose (OID: %s)" % oid) + + # Parameters are mandatory for all three types + if not params: + raise ValueError("Missing ECC parameters") + + # ECParameters ::= CHOICE { + # namedCurve OBJECT IDENTIFIER + # -- implicitCurve NULL + # -- specifiedCurve SpecifiedECDomain + # } + # + # implicitCurve and specifiedCurve are not supported (as per RFC) + curve_oid = DerObjectId().decode(params).value + + return _import_public_der(curve_oid, ec_point) + + +def _import_private_der(encoded, passphrase, curve_name=None): + + # ECPrivateKey ::= SEQUENCE { + # version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1), + # privateKey OCTET STRING, + # parameters [0] ECParameters {{ NamedCurve }} OPTIONAL, + # publicKey [1] BIT STRING OPTIONAL + # } + + private_key = DerSequence().decode(encoded, nr_elements=(3, 4)) + if private_key[0] != 1: + raise ValueError("Incorrect ECC private key version") + + try: + curve_name = DerObjectId(explicit=0).decode(private_key[2]).value + except ValueError: + pass + + if curve_name != _curve.oid: + raise UnsupportedEccFeature("Unsupported ECC curve (OID: %s)" % curve_name) + + scalar_bytes = DerOctetString().decode(private_key[1]).payload + order_bytes = _curve.order.size_in_bytes() + if len(scalar_bytes) != order_bytes: + raise ValueError("Private key is too small") + d = Integer.from_bytes(scalar_bytes) + + # Decode public key (if any, it must be P-256) + if len(private_key) == 4: + public_key_enc = DerBitString(explicit=1).decode(private_key[3]).value + public_key = _import_public_der(curve_name, public_key_enc) + point_x = public_key.pointQ.x + point_y = public_key.pointQ.y + else: + point_x = point_y = None + + return construct(curve="P-256", d=d, point_x=point_x, point_y=point_y) + + +def _import_pkcs8(encoded, passphrase): + + # From RFC5915, Section 1: + # + # Distributing an EC private key with PKCS#8 [RFC5208] involves including: + # a) id-ecPublicKey, id-ecDH, or id-ecMQV (from [RFC5480]) with the + # namedCurve as the parameters in the privateKeyAlgorithm field; and + # b) ECPrivateKey in the PrivateKey field, which is an OCTET STRING. + + algo_oid, private_key, params = PKCS8.unwrap(encoded, passphrase) + + # We accept id-ecPublicKey, id-ecDH, id-ecMQV without making any + # distiction for now. + unrestricted_oid = "1.2.840.10045.2.1" + ecdh_oid = "1.3.132.1.12" + ecmqv_oid = "1.3.132.1.13" + + if algo_oid not in (unrestricted_oid, ecdh_oid, ecmqv_oid): + raise UnsupportedEccFeature("Unsupported ECC purpose (OID: %s)" % oid) + + curve_name = DerObjectId().decode(params).value + + return _import_private_der(private_key, passphrase, curve_name) + + +def _import_x509_cert(encoded, *kwargs): + + sp_info = _extract_subject_public_key_info(encoded) + return _import_subjectPublicKeyInfo(sp_info) + + +def _import_der(encoded, passphrase): + + try: + return _import_subjectPublicKeyInfo(encoded, passphrase) + except UnsupportedEccFeature as err: + raise err + except (ValueError, TypeError, IndexError): + pass + + try: + return _import_x509_cert(encoded, passphrase) + except UnsupportedEccFeature as err: + raise err + except (ValueError, TypeError, IndexError): + pass + + try: + return _import_private_der(encoded, passphrase) + except UnsupportedEccFeature as err: + raise err + except (ValueError, TypeError, IndexError): + pass + + try: + return _import_pkcs8(encoded, passphrase) + except UnsupportedEccFeature as err: + raise err + except (ValueError, TypeError, IndexError): + pass + + raise ValueError("Not an ECC DER key") + + +def _import_openssh(encoded): + keystring = binascii.a2b_base64(encoded.split(b' ')[1]) + + keyparts = [] + while len(keystring) > 4: + l = struct.unpack(">I", keystring[:4])[0] + keyparts.append(keystring[4:4 + l]) + keystring = keystring[4 + l:] + + if keyparts[1] != b"nistp256": + raise ValueError("Unsupported ECC curve") + + return _import_public_der(_curve.oid, keyparts[2]) + + +def import_key(encoded, passphrase=None): + """Import an ECC key (public or private). + + Args: + encoded (bytes or multi-line string): + The ECC key to import. + + An ECC **public** key can be: + + - An X.509 certificate, binary (DER) or ASCII (PEM) + - An X.509 ``subjectPublicKeyInfo``, binary (DER) or ASCII (PEM) + - An OpenSSH line (e.g. the content of ``~/.ssh/id_ecdsa``, ASCII) + + An ECC **private** key can be: + + - In binary format (DER, see section 3 of `RFC5915`_ or `PKCS#8`_) + - In ASCII format (PEM or OpenSSH) + + Private keys can be in the clear or password-protected. + + For details about the PEM encoding, see `RFC1421`_/`RFC1423`_. + + passphrase (byte string): + The passphrase to use for decrypting a private key. + Encryption may be applied protected at the PEM level or at the PKCS#8 level. + This parameter is ignored if the key in input is not encrypted. + + Returns: + :class:`EccKey` : a new ECC key object + + Raises: + ValueError: when the given key cannot be parsed (possibly because + the pass phrase is wrong). + + .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt + .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt + .. _RFC5915: http://www.ietf.org/rfc/rfc5915.txt + .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt + """ + + encoded = tobytes(encoded) + if passphrase is not None: + passphrase = tobytes(passphrase) + + # PEM + if encoded.startswith(b'-----'): + der_encoded, marker, enc_flag = PEM.decode(tostr(encoded), passphrase) + if enc_flag: + passphrase = None + try: + result = _import_der(der_encoded, passphrase) + except UnsupportedEccFeature as uef: + raise uef + except ValueError: + raise ValueError("Invalid DER encoding inside the PEM file") + return result + + # OpenSSH + if encoded.startswith(b'ecdsa-sha2-'): + return _import_openssh(encoded) + + # DER + if bord(encoded[0]) == 0x30: + return _import_der(encoded, passphrase) + + raise ValueError("ECC key format is not supported") + + +if __name__ == "__main__": + + import time + + d = 0xc51e4753afdec1e6b6c6a5b992f43f8dd0c7a8933072708b6522468b2ffb06fd + + point = generate(curve="P-256").pointQ + start = time.time() + count = 30 + for x in range(count): + _ = point * d + print((time.time() - start) / count * 1000, "ms") diff --git a/lib27/site-packages/Crypto/PublicKey/ECC.pyi b/lib27/site-packages/Crypto/PublicKey/ECC.pyi new file mode 100644 index 000000000..625fbb807 --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/ECC.pyi @@ -0,0 +1,51 @@ +from typing import Union, Callable, Optional, NamedTuple, List + +from Crypto.Math.Numbers import Integer + +class UnsupportedEccFeature(ValueError): ... +class EccPoint(object): + def __init__(self, x: Union[int, Integer], y: Union[int, Integer]) -> None: ... + def set(self, point: EccPoint) -> EccPoint: ... + def __eq__(self, point: object) -> bool: ... + def __neg__(self) -> EccPoint: ... + def copy(self) -> EccPoint: ... + def is_point_at_infinity(self) -> bool: ... + @staticmethod + def point_at_infinity() -> EccPoint: ... + @property + def x(self) -> int: ... + @property + def y(self) -> int: ... + def double(self) -> EccPoint: ... + def __iadd__(self, point: EccPoint) -> EccPoint: ... + def __add__(self, point: EccPoint) -> EccPoint: ... + def __mul__(self, scalar: int) -> EccPoint: ... + +class EccKey(object): + curve: str + def __init__(self, *, curve: str = ..., d: int = ..., point: EccPoint = ...) -> None: ... + def __eq__(self, other: object) -> bool: ... + def __repr__(self) -> str: ... + def has_private(self) -> bool: ... + @property + def d(self) -> int: ... + @property + def pointQ(self) -> EccPoint: ... + def public_key(self) -> EccKey: ... + def export_key(self, **kwargs: Union[str, bytes, bool]) -> str: ... + +_Curve = NamedTuple("_Curve", [ ('p', Integer), + ('b', Integer), + ('order', Integer), + ('Gx', Integer), + ('Gy', Integer), + ('G', EccPoint), + ('names', List[str]), + ('oid', str) + ]) + +_curve : _Curve + +def generate(**kwargs: Union[str, Callable]) -> EccKey: ... +def construct(**kwargs: Union[str, int]) -> EccKey: ... +def import_key(encoded: Union[bytes, str], passphrase: Optional[str]=None) -> EccKey: ... diff --git a/lib27/site-packages/Crypto/PublicKey/ElGamal.py b/lib27/site-packages/Crypto/PublicKey/ElGamal.py new file mode 100644 index 000000000..3b1084056 --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/ElGamal.py @@ -0,0 +1,286 @@ +# +# ElGamal.py : ElGamal encryption/decryption and signatures +# +# Part of the Python Cryptography Toolkit +# +# Originally written by: A.M. Kuchling +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +__all__ = ['generate', 'construct', 'ElGamalKey'] + +from Crypto import Random +from Crypto.Math.Primality import ( generate_probable_safe_prime, + test_probable_prime, COMPOSITE ) +from Crypto.Math.Numbers import Integer + +# Generate an ElGamal key with N bits +def generate(bits, randfunc): + """Randomly generate a fresh, new ElGamal key. + + The key will be safe for use for both encryption and signature + (although it should be used for **only one** purpose). + + Args: + bits (int): + Key length, or size (in bits) of the modulus *p*. + The recommended value is 2048. + randfunc (callable): + Random number generation function; it should accept + a single integer *N* and return a string of random + *N* random bytes. + + Return: + an :class:`ElGamalKey` object + """ + + obj=ElGamalKey() + + # Generate a safe prime p + # See Algorithm 4.86 in Handbook of Applied Cryptography + obj.p = generate_probable_safe_prime(exact_bits=bits, randfunc=randfunc) + q = (obj.p - 1) >> 1 + + # Generate generator g + while 1: + # Choose a square residue; it will generate a cyclic group of order q. + obj.g = pow(Integer.random_range(min_inclusive=2, + max_exclusive=obj.p, + randfunc=randfunc), 2, obj.p) + + # We must avoid g=2 because of Bleichenbacher's attack described + # in "Generating ElGamal signatures without knowning the secret key", + # 1996 + if obj.g in (1, 2): + continue + + # Discard g if it divides p-1 because of the attack described + # in Note 11.67 (iii) in HAC + if (obj.p - 1) % obj.g == 0: + continue + + # g^{-1} must not divide p-1 because of Khadir's attack + # described in "Conditions of the generator for forging ElGamal + # signature", 2011 + ginv = obj.g.inverse(obj.p) + if (obj.p - 1) % ginv == 0: + continue + + # Found + break + + # Generate private key x + obj.x = Integer.random_range(min_inclusive=2, + max_exclusive=obj.p-1, + randfunc=randfunc) + # Generate public key y + obj.y = pow(obj.g, obj.x, obj.p) + return obj + +def construct(tup): + r"""Construct an ElGamal key from a tuple of valid ElGamal components. + + The modulus *p* must be a prime. + The following conditions must apply: + + .. math:: + + \begin{align} + &1 < g < p-1 \\ + &g^{p-1} = 1 \text{ mod } 1 \\ + &1 < x < p-1 \\ + &g^x = y \text{ mod } p + \end{align} + + Args: + tup (tuple): + A tuple with either 3 or 4 integers, + in the following order: + + 1. Modulus (*p*). + 2. Generator (*g*). + 3. Public key (*y*). + 4. Private key (*x*). Optional. + + Raises: + ValueError: when the key being imported fails the most basic ElGamal validity checks. + + Returns: + an :class:`ElGamalKey` object + """ + + obj=ElGamalKey() + if len(tup) not in [3,4]: + raise ValueError('argument for construct() wrong length') + for i in range(len(tup)): + field = obj._keydata[i] + setattr(obj, field, Integer(tup[i])) + + fmt_error = test_probable_prime(obj.p) == COMPOSITE + fmt_error |= obj.g<=1 or obj.g>=obj.p + fmt_error |= pow(obj.g, obj.p-1, obj.p)!=1 + fmt_error |= obj.y<1 or obj.y>=obj.p + if len(tup)==4: + fmt_error |= obj.x<=1 or obj.x>=obj.p + fmt_error |= pow(obj.g, obj.x, obj.p)!=obj.y + + if fmt_error: + raise ValueError("Invalid ElGamal key components") + + return obj + +class ElGamalKey(object): + r"""Class defining an ElGamal key. + Do not instantiate directly. + Use :func:`generate` or :func:`construct` instead. + + :ivar p: Modulus + :vartype d: integer + + :ivar g: Generator + :vartype e: integer + + :ivar y: Public key component + :vartype y: integer + + :ivar x: Private key component + :vartype x: integer + """ + + #: Dictionary of ElGamal parameters. + #: + #: A public key will only have the following entries: + #: + #: - **y**, the public key. + #: - **g**, the generator. + #: - **p**, the modulus. + #: + #: A private key will also have: + #: + #: - **x**, the private key. + _keydata=['p', 'g', 'y', 'x'] + + def __init__(self, randfunc=None): + if randfunc is None: + randfunc = Random.new().read + self._randfunc = randfunc + + def _encrypt(self, M, K): + a=pow(self.g, K, self.p) + b=( pow(self.y, K, self.p)*M ) % self.p + return [int(a), int(b)] + + def _decrypt(self, M): + if (not hasattr(self, 'x')): + raise TypeError('Private key not available in this object') + r = Integer.random_range(min_inclusive=2, + max_exclusive=self.p-1, + randfunc=self._randfunc) + a_blind = (pow(self.g, r, self.p) * M[0]) % self.p + ax=pow(a_blind, self.x, self.p) + plaintext_blind = (ax.inverse(self.p) * M[1] ) % self.p + plaintext = (plaintext_blind * pow(self.y, r, self.p)) % self.p + return int(plaintext) + + def _sign(self, M, K): + if (not hasattr(self, 'x')): + raise TypeError('Private key not available in this object') + p1=self.p-1 + K = Integer(K) + if (K.gcd(p1)!=1): + raise ValueError('Bad K value: GCD(K,p-1)!=1') + a=pow(self.g, K, self.p) + t=(Integer(M)-self.x*a) % p1 + while t<0: t=t+p1 + b=(t*K.inverse(p1)) % p1 + return [int(a), int(b)] + + def _verify(self, M, sig): + sig = [Integer(x) for x in sig] + if sig[0]<1 or sig[0]>self.p-1: + return 0 + v1=pow(self.y, sig[0], self.p) + v1=(v1*pow(sig[0], sig[1], self.p)) % self.p + v2=pow(self.g, M, self.p) + if v1==v2: + return 1 + return 0 + + def has_private(self): + """Whether this is an ElGamal private key""" + + if hasattr(self, 'x'): + return 1 + else: + return 0 + + def can_encrypt(self): + return True + + def can_sign(self): + return True + + def publickey(self): + """A matching ElGamal public key. + + Returns: + a new :class:`ElGamalKey` object + """ + return construct((self.p, self.g, self.y)) + + def __eq__(self, other): + if bool(self.has_private()) != bool(other.has_private()): + return False + + result = True + for comp in self._keydata: + result = result and (getattr(self.key, comp, None) == + getattr(other.key, comp, None)) + return result + + def __ne__(self, other): + return not self.__eq__(other) + + def __getstate__(self): + # ElGamal key is not pickable + from pickle import PicklingError + raise PicklingError + + # Methods defined in PyCrypto that we don't support anymore + + def sign(self, M, K): + raise NotImplementedError + + def verify(self, M, signature): + raise NotImplementedError + + def encrypt(self, plaintext, K): + raise NotImplementedError + + def decrypt(self, ciphertext): + raise NotImplementedError + + def blind(self, M, B): + raise NotImplementedError + + def unblind(self, M, B): + raise NotImplementedError + + def size(self): + raise NotImplementedError diff --git a/lib27/site-packages/Crypto/PublicKey/ElGamal.pyi b/lib27/site-packages/Crypto/PublicKey/ElGamal.pyi new file mode 100644 index 000000000..e3f8d4105 --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/ElGamal.pyi @@ -0,0 +1,17 @@ +from typing import Callable, Union, Tuple, Optional + +__all__ = ['generate', 'construct', 'ElGamalKey'] + + +def generate(bits: int, randfunc: Callable) -> ElGamalKey: ... +def construct(tup: Union[Tuple[int, int, int], Tuple[int, int, int, int]]) -> ElGamalKey: ... + +class ElGamalKey(object): + def __init__(self, randfunc: Optional[Callable]=None) -> None: ... + def has_private(self) -> bool: ... + def can_encrypt(self) -> bool: ... + def can_sign(self) -> bool: ... + def publickey(self) -> ElGamalKey: ... + def __eq__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... + def __getstate__(self) -> None: ... diff --git a/lib27/site-packages/Crypto/PublicKey/RSA.py b/lib27/site-packages/Crypto/PublicKey/RSA.py new file mode 100644 index 000000000..756f1aa24 --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/RSA.py @@ -0,0 +1,764 @@ +# =================================================================== +# +# Copyright (c) 2016, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +__all__ = ['generate', 'construct', 'import_key', + 'RsaKey', 'oid'] + +import binascii +import struct + +from Crypto import Random +from Crypto.IO import PKCS8, PEM +from Crypto.Util.py3compat import tobytes, bord, tostr +from Crypto.Util.asn1 import DerSequence + +from Crypto.Math.Numbers import Integer +from Crypto.Math.Primality import (test_probable_prime, + generate_probable_prime, COMPOSITE) + +from Crypto.PublicKey import (_expand_subject_public_key_info, + _create_subject_public_key_info, + _extract_subject_public_key_info) + + +class RsaKey(object): + r"""Class defining an actual RSA key. + Do not instantiate directly. + Use :func:`generate`, :func:`construct` or :func:`import_key` instead. + + :ivar n: RSA modulus + :vartype n: integer + + :ivar e: RSA public exponent + :vartype e: integer + + :ivar d: RSA private exponent + :vartype d: integer + + :ivar p: First factor of the RSA modulus + :vartype p: integer + + :ivar q: Second factor of the RSA modulus + :vartype q: integer + + :ivar u: Chinese remainder component (:math:`p^{-1} \text{mod } q`) + :vartype q: integer + """ + + def __init__(self, **kwargs): + """Build an RSA key. + + :Keywords: + n : integer + The modulus. + e : integer + The public exponent. + d : integer + The private exponent. Only required for private keys. + p : integer + The first factor of the modulus. Only required for private keys. + q : integer + The second factor of the modulus. Only required for private keys. + u : integer + The CRT coefficient (inverse of p modulo q). Only required for + privta keys. + """ + + input_set = set(kwargs.keys()) + public_set = set(('n', 'e')) + private_set = public_set | set(('p', 'q', 'd', 'u')) + if input_set not in (private_set, public_set): + raise ValueError("Some RSA components are missing") + for component, value in kwargs.items(): + setattr(self, "_" + component, value) + + @property + def n(self): + return int(self._n) + + @property + def e(self): + return int(self._e) + + @property + def d(self): + if not self.has_private(): + raise AttributeError("No private exponent available for public keys") + return int(self._d) + + @property + def p(self): + if not self.has_private(): + raise AttributeError("No CRT component 'p' available for public keys") + return int(self._p) + + @property + def q(self): + if not self.has_private(): + raise AttributeError("No CRT component 'q' available for public keys") + return int(self._q) + + @property + def u(self): + if not self.has_private(): + raise AttributeError("No CRT component 'u' available for public keys") + return int(self._u) + + def size_in_bits(self): + """Size of the RSA modulus in bits""" + return self._n.size_in_bits() + + def size_in_bytes(self): + """The minimal amount of bytes that can hold the RSA modulus""" + return (self._n.size_in_bits() - 1) // 8 + 1 + + def _encrypt(self, plaintext): + if not 0 < plaintext < self._n: + raise ValueError("Plaintext too large") + return int(pow(Integer(plaintext), self._e, self._n)) + + def _decrypt(self, ciphertext): + if not 0 < ciphertext < self._n: + raise ValueError("Ciphertext too large") + if not self.has_private(): + raise TypeError("This is not a private key") + + # Blinded RSA decryption (to prevent timing attacks): + # Step 1: Generate random secret blinding factor r, + # such that 0 < r < n-1 + r = Integer.random_range(min_inclusive=1, max_exclusive=self._n) + # Step 2: Compute c' = c * r**e mod n + cp = Integer(ciphertext) * pow(r, self._e, self._n) % self._n + # Step 3: Compute m' = c'**d mod n (ordinary RSA decryption) + m1 = pow(cp, self._d % (self._p - 1), self._p) + m2 = pow(cp, self._d % (self._q - 1), self._q) + h = m2 - m1 + while h < 0: + h += self._q + h = (h * self._u) % self._q + mp = h * self._p + m1 + # Step 4: Compute m = m**(r-1) mod n + result = (r.inverse(self._n) * mp) % self._n + # Verify no faults occured + if ciphertext != pow(result, self._e, self._n): + raise ValueError("Fault detected in RSA decryption") + return result + + def has_private(self): + """Whether this is an RSA private key""" + + return hasattr(self, "_d") + + def can_encrypt(self): # legacy + return True + + def can_sign(self): # legacy + return True + + def publickey(self): + """A matching RSA public key. + + Returns: + a new :class:`RsaKey` object + """ + return RsaKey(n=self._n, e=self._e) + + def __eq__(self, other): + if self.has_private() != other.has_private(): + return False + if self.n != other.n or self.e != other.e: + return False + if not self.has_private(): + return True + return (self.d == other.d and + self.q == other.q and + self.p == other.p and + self.u == other.u) + + def __ne__(self, other): + return not (self == other) + + def __getstate__(self): + # RSA key is not pickable + from pickle import PicklingError + raise PicklingError + + def __repr__(self): + if self.has_private(): + extra = ", d=%d, p=%d, q=%d, u=%d" % (int(self._d), int(self._p), + int(self._q), int(self._u)) + else: + extra = "" + return "RsaKey(n=%d, e=%d%s)" % (int(self._n), int(self._e), extra) + + def __str__(self): + if self.has_private(): + key_type = "Private" + else: + key_type = "Public" + return "%s RSA key at 0x%X" % (key_type, id(self)) + + def export_key(self, format='PEM', passphrase=None, pkcs=1, + protection=None, randfunc=None): + """Export this RSA key. + + Args: + format (string): + The format to use for wrapping the key: + + - *'PEM'*. (*Default*) Text encoding, done according to `RFC1421`_/`RFC1423`_. + - *'DER'*. Binary encoding. + - *'OpenSSH'*. Textual encoding, done according to OpenSSH specification. + Only suitable for public keys (not private keys). + + passphrase (string): + (*For private keys only*) The pass phrase used for protecting the output. + + pkcs (integer): + (*For private keys only*) The ASN.1 structure to use for + serializing the key. Note that even in case of PEM + encoding, there is an inner ASN.1 DER structure. + + With ``pkcs=1`` (*default*), the private key is encoded in a + simple `PKCS#1`_ structure (``RSAPrivateKey``). + + With ``pkcs=8``, the private key is encoded in a `PKCS#8`_ structure + (``PrivateKeyInfo``). + + .. note:: + This parameter is ignored for a public key. + For DER and PEM, an ASN.1 DER ``SubjectPublicKeyInfo`` + structure is always used. + + protection (string): + (*For private keys only*) + The encryption scheme to use for protecting the private key. + + If ``None`` (default), the behavior depends on :attr:`format`: + + - For *'DER'*, the *PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC* + scheme is used. The following operations are performed: + + 1. A 16 byte Triple DES key is derived from the passphrase + using :func:`Crypto.Protocol.KDF.PBKDF2` with 8 bytes salt, + and 1 000 iterations of :mod:`Crypto.Hash.HMAC`. + 2. The private key is encrypted using CBC. + 3. The encrypted key is encoded according to PKCS#8. + + - For *'PEM'*, the obsolete PEM encryption scheme is used. + It is based on MD5 for key derivation, and Triple DES for encryption. + + Specifying a value for :attr:`protection` is only meaningful for PKCS#8 + (that is, ``pkcs=8``) and only if a pass phrase is present too. + + The supported schemes for PKCS#8 are listed in the + :mod:`Crypto.IO.PKCS8` module (see :attr:`wrap_algo` parameter). + + randfunc (callable): + A function that provides random bytes. Only used for PEM encoding. + The default is :func:`Crypto.Random.get_random_bytes`. + + Returns: + byte string: the encoded key + + Raises: + ValueError:when the format is unknown or when you try to encrypt a private + key with *DER* format and PKCS#1. + + .. warning:: + If you don't provide a pass phrase, the private key will be + exported in the clear! + + .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt + .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt + .. _`PKCS#1`: http://www.ietf.org/rfc/rfc3447.txt + .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt + """ + + if passphrase is not None: + passphrase = tobytes(passphrase) + + if randfunc is None: + randfunc = Random.get_random_bytes + + if format == 'OpenSSH': + e_bytes, n_bytes = [x.to_bytes() for x in (self._e, self._n)] + if bord(e_bytes[0]) & 0x80: + e_bytes = b'\x00' + e_bytes + if bord(n_bytes[0]) & 0x80: + n_bytes = b'\x00' + n_bytes + keyparts = [b'ssh-rsa', e_bytes, n_bytes] + keystring = b''.join([struct.pack(">I", len(kp)) + kp for kp in keyparts]) + return b'ssh-rsa ' + binascii.b2a_base64(keystring)[:-1] + + # DER format is always used, even in case of PEM, which simply + # encodes it into BASE64. + if self.has_private(): + binary_key = DerSequence([0, + self.n, + self.e, + self.d, + self.p, + self.q, + self.d % (self.p-1), + self.d % (self.q-1), + Integer(self.q).inverse(self.p) + ]).encode() + if pkcs == 1: + key_type = 'RSA PRIVATE KEY' + if format == 'DER' and passphrase: + raise ValueError("PKCS#1 private key cannot be encrypted") + else: # PKCS#8 + if format == 'PEM' and protection is None: + key_type = 'PRIVATE KEY' + binary_key = PKCS8.wrap(binary_key, oid, None) + else: + key_type = 'ENCRYPTED PRIVATE KEY' + if not protection: + protection = 'PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC' + binary_key = PKCS8.wrap(binary_key, oid, + passphrase, protection) + passphrase = None + else: + key_type = "PUBLIC KEY" + binary_key = _create_subject_public_key_info(oid, + DerSequence([self.n, + self.e]) + ) + + if format == 'DER': + return binary_key + if format == 'PEM': + pem_str = PEM.encode(binary_key, key_type, passphrase, randfunc) + return tobytes(pem_str) + + raise ValueError("Unknown key format '%s'. Cannot export the RSA key." % format) + + # Backward compatibility + exportKey = export_key + + # Methods defined in PyCrypto that we don't support anymore + def sign(self, M, K): + raise NotImplementedError("Use module Crypto.Signature.pkcs1_15 instead") + + def verify(self, M, signature): + raise NotImplementedError("Use module Crypto.Signature.pkcs1_15 instead") + + def encrypt(self, plaintext, K): + raise NotImplementedError("Use module Crypto.Cipher.PKCS1_OAEP instead") + + def decrypt(self, ciphertext): + raise NotImplementedError("Use module Crypto.Cipher.PKCS1_OAEP instead") + + def blind(self, M, B): + raise NotImplementedError + + def unblind(self, M, B): + raise NotImplementedError + + def size(self): + raise NotImplementedError + + +def generate(bits, randfunc=None, e=65537): + """Create a new RSA key pair. + + The algorithm closely follows NIST `FIPS 186-4`_ in its + sections B.3.1 and B.3.3. The modulus is the product of + two non-strong probable primes. + Each prime passes a suitable number of Miller-Rabin tests + with random bases and a single Lucas test. + + Args: + bits (integer): + Key length, or size (in bits) of the RSA modulus. + It must be at least 1024, but **2048 is recommended.** + The FIPS standard only defines 1024, 2048 and 3072. + randfunc (callable): + Function that returns random bytes. + The default is :func:`Crypto.Random.get_random_bytes`. + e (integer): + Public RSA exponent. It must be an odd positive integer. + It is typically a small number with very few ones in its + binary representation. + The FIPS standard requires the public exponent to be + at least 65537 (the default). + + Returns: an RSA key object (:class:`RsaKey`, with private key). + + .. _FIPS 186-4: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf + """ + + if bits < 1024: + raise ValueError("RSA modulus length must be >= 1024") + if e % 2 == 0 or e < 3: + raise ValueError("RSA public exponent must be a positive, odd integer larger than 2.") + + if randfunc is None: + randfunc = Random.get_random_bytes + + d = n = Integer(1) + e = Integer(e) + + while n.size_in_bits() != bits and d < (1 << (bits // 2)): + # Generate the prime factors of n: p and q. + # By construciton, their product is always + # 2^{bits-1} < p*q < 2^bits. + size_q = bits // 2 + size_p = bits - size_q + + min_p = min_q = (Integer(1) << (2 * size_q - 1)).sqrt() + if size_q != size_p: + min_p = (Integer(1) << (2 * size_p - 1)).sqrt() + + def filter_p(candidate): + return candidate > min_p and (candidate - 1).gcd(e) == 1 + + p = generate_probable_prime(exact_bits=size_p, + randfunc=randfunc, + prime_filter=filter_p) + + min_distance = Integer(1) << (bits // 2 - 100) + + def filter_q(candidate): + return (candidate > min_q and + (candidate - 1).gcd(e) == 1 and + abs(candidate - p) > min_distance) + + q = generate_probable_prime(exact_bits=size_q, + randfunc=randfunc, + prime_filter=filter_q) + + n = p * q + lcm = (p - 1).lcm(q - 1) + d = e.inverse(lcm) + + if p > q: + p, q = q, p + + u = p.inverse(q) + + return RsaKey(n=n, e=e, d=d, p=p, q=q, u=u) + + +def construct(rsa_components, consistency_check=True): + r"""Construct an RSA key from a tuple of valid RSA components. + + The modulus **n** must be the product of two primes. + The public exponent **e** must be odd and larger than 1. + + In case of a private key, the following equations must apply: + + .. math:: + + \begin{align} + p*q &= n \\ + e*d &\equiv 1 ( \text{mod lcm} [(p-1)(q-1)]) \\ + p*u &\equiv 1 ( \text{mod } q) + \end{align} + + Args: + rsa_components (tuple): + A tuple of integers, with at least 2 and no + more than 6 items. The items come in the following order: + + 1. RSA modulus *n*. + 2. Public exponent *e*. + 3. Private exponent *d*. + Only required if the key is private. + 4. First factor of *n* (*p*). + Optional, but the other factor *q* must also be present. + 5. Second factor of *n* (*q*). Optional. + 6. CRT coefficient *q*, that is :math:`p^{-1} \text{mod }q`. Optional. + + consistency_check (boolean): + If ``True``, the library will verify that the provided components + fulfil the main RSA properties. + + Raises: + ValueError: when the key being imported fails the most basic RSA validity checks. + + Returns: An RSA key object (:class:`RsaKey`). + """ + + class InputComps(object): + pass + + input_comps = InputComps() + for (comp, value) in zip(('n', 'e', 'd', 'p', 'q', 'u'), rsa_components): + setattr(input_comps, comp, Integer(value)) + + n = input_comps.n + e = input_comps.e + if not hasattr(input_comps, 'd'): + key = RsaKey(n=n, e=e) + else: + d = input_comps.d + if hasattr(input_comps, 'q'): + p = input_comps.p + q = input_comps.q + else: + # Compute factors p and q from the private exponent d. + # We assume that n has no more than two factors. + # See 8.2.2(i) in Handbook of Applied Cryptography. + ktot = d * e - 1 + # The quantity d*e-1 is a multiple of phi(n), even, + # and can be represented as t*2^s. + t = ktot + while t % 2 == 0: + t //= 2 + # Cycle through all multiplicative inverses in Zn. + # The algorithm is non-deterministic, but there is a 50% chance + # any candidate a leads to successful factoring. + # See "Digitalized Signatures and Public Key Functions as Intractable + # as Factorization", M. Rabin, 1979 + spotted = False + a = Integer(2) + while not spotted and a < 100: + k = Integer(t) + # Cycle through all values a^{t*2^i}=a^k + while k < ktot: + cand = pow(a, k, n) + # Check if a^k is a non-trivial root of unity (mod n) + if cand != 1 and cand != (n - 1) and pow(cand, 2, n) == 1: + # We have found a number such that (cand-1)(cand+1)=0 (mod n). + # Either of the terms divides n. + p = Integer(n).gcd(cand + 1) + spotted = True + break + k *= 2 + # This value was not any good... let's try another! + a += 2 + if not spotted: + raise ValueError("Unable to compute factors p and q from exponent d.") + # Found ! + assert ((n % p) == 0) + q = n // p + + if hasattr(input_comps, 'u'): + u = input_comps.u + else: + u = p.inverse(q) + + # Build key object + key = RsaKey(n=n, e=e, d=d, p=p, q=q, u=u) + + # Verify consistency of the key + if consistency_check: + + # Modulus and public exponent must be coprime + if e <= 1 or e >= n: + raise ValueError("Invalid RSA public exponent") + if Integer(n).gcd(e) != 1: + raise ValueError("RSA public exponent is not coprime to modulus") + + # For RSA, modulus must be odd + if not n & 1: + raise ValueError("RSA modulus is not odd") + + if key.has_private(): + # Modulus and private exponent must be coprime + if d <= 1 or d >= n: + raise ValueError("Invalid RSA private exponent") + if Integer(n).gcd(d) != 1: + raise ValueError("RSA private exponent is not coprime to modulus") + # Modulus must be product of 2 primes + if p * q != n: + raise ValueError("RSA factors do not match modulus") + if test_probable_prime(p) == COMPOSITE: + raise ValueError("RSA factor p is composite") + if test_probable_prime(q) == COMPOSITE: + raise ValueError("RSA factor q is composite") + # See Carmichael theorem + phi = (p - 1) * (q - 1) + lcm = phi // (p - 1).gcd(q - 1) + if (e * d % int(lcm)) != 1: + raise ValueError("Invalid RSA condition") + if hasattr(key, 'u'): + # CRT coefficient + if u <= 1 or u >= q: + raise ValueError("Invalid RSA component u") + if (p * u % q) != 1: + raise ValueError("Invalid RSA component u with p") + + return key + + +def _import_pkcs1_private(encoded, *kwargs): + # RSAPrivateKey ::= SEQUENCE { + # version Version, + # modulus INTEGER, -- n + # publicExponent INTEGER, -- e + # privateExponent INTEGER, -- d + # prime1 INTEGER, -- p + # prime2 INTEGER, -- q + # exponent1 INTEGER, -- d mod (p-1) + # exponent2 INTEGER, -- d mod (q-1) + # coefficient INTEGER -- (inverse of q) mod p + # } + # + # Version ::= INTEGER + der = DerSequence().decode(encoded, nr_elements=9, only_ints_expected=True) + if der[0] != 0: + raise ValueError("No PKCS#1 encoding of an RSA private key") + return construct(der[1:6] + [Integer(der[4]).inverse(der[5])]) + + +def _import_pkcs1_public(encoded, *kwargs): + # RSAPublicKey ::= SEQUENCE { + # modulus INTEGER, -- n + # publicExponent INTEGER -- e + # } + der = DerSequence().decode(encoded, nr_elements=2, only_ints_expected=True) + return construct(der) + + +def _import_subjectPublicKeyInfo(encoded, *kwargs): + + algoid, encoded_key, params = _expand_subject_public_key_info(encoded) + if algoid != oid or params is not None: + raise ValueError("No RSA subjectPublicKeyInfo") + return _import_pkcs1_public(encoded_key) + + +def _import_x509_cert(encoded, *kwargs): + + sp_info = _extract_subject_public_key_info(encoded) + return _import_subjectPublicKeyInfo(sp_info) + + +def _import_pkcs8(encoded, passphrase): + k = PKCS8.unwrap(encoded, passphrase) + if k[0] != oid: + raise ValueError("No PKCS#8 encoded RSA key") + return _import_keyDER(k[1], passphrase) + + +def _import_keyDER(extern_key, passphrase): + """Import an RSA key (public or private half), encoded in DER form.""" + + decodings = (_import_pkcs1_private, + _import_pkcs1_public, + _import_subjectPublicKeyInfo, + _import_x509_cert, + _import_pkcs8) + + for decoding in decodings: + try: + return decoding(extern_key, passphrase) + except ValueError: + pass + + raise ValueError("RSA key format is not supported") + + +def import_key(extern_key, passphrase=None): + """Import an RSA key (public or private half), encoded in standard + form. + + Args: + extern_key (string or byte string): + The RSA key to import. + + The following formats are supported for an RSA **public key**: + + - X.509 certificate (binary or PEM format) + - X.509 ``subjectPublicKeyInfo`` DER SEQUENCE (binary or PEM + encoding) + - `PKCS#1`_ ``RSAPublicKey`` DER SEQUENCE (binary or PEM encoding) + - OpenSSH (textual public key only) + + The following formats are supported for an RSA **private key**: + + - PKCS#1 ``RSAPrivateKey`` DER SEQUENCE (binary or PEM encoding) + - `PKCS#8`_ ``PrivateKeyInfo`` or ``EncryptedPrivateKeyInfo`` + DER SEQUENCE (binary or PEM encoding) + - OpenSSH (textual public key only) + + For details about the PEM encoding, see `RFC1421`_/`RFC1423`_. + + The private key may be encrypted by means of a certain pass phrase + either at the PEM level or at the PKCS#8 level. + + passphrase (string): + In case of an encrypted private key, this is the pass phrase from + which the decryption key is derived. + + Returns: An RSA key object (:class:`RsaKey`). + + Raises: + ValueError/IndexError/TypeError: + When the given key cannot be parsed (possibly because the pass + phrase is wrong). + + .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt + .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt + .. _`PKCS#1`: http://www.ietf.org/rfc/rfc3447.txt + .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt + """ + + extern_key = tobytes(extern_key) + if passphrase is not None: + passphrase = tobytes(passphrase) + + if extern_key.startswith(b'-----'): + # This is probably a PEM encoded key. + (der, marker, enc_flag) = PEM.decode(tostr(extern_key), passphrase) + if enc_flag: + passphrase = None + return _import_keyDER(der, passphrase) + + if extern_key.startswith(b'ssh-rsa '): + # This is probably an OpenSSH key + keystring = binascii.a2b_base64(extern_key.split(b' ')[1]) + keyparts = [] + while len(keystring) > 4: + l = struct.unpack(">I", keystring[:4])[0] + keyparts.append(keystring[4:4 + l]) + keystring = keystring[4 + l:] + e = Integer.from_bytes(keyparts[1]) + n = Integer.from_bytes(keyparts[2]) + return construct([n, e]) + + if bord(extern_key[0]) == 0x30: + # This is probably a DER encoded key + return _import_keyDER(extern_key, passphrase) + + raise ValueError("RSA key format is not supported") + +# Backward compatibility +importKey = import_key + +#: `Object ID`_ for the RSA encryption algorithm. This OID often indicates +#: a generic RSA key, even when such key will be actually used for digital +#: signatures. +#: +#: .. _`Object ID`: http://www.alvestrand.no/objectid/1.2.840.113549.1.1.1.html +oid = "1.2.840.113549.1.1.1" diff --git a/lib27/site-packages/Crypto/PublicKey/RSA.pyi b/lib27/site-packages/Crypto/PublicKey/RSA.pyi new file mode 100644 index 000000000..e6a99fceb --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/RSA.pyi @@ -0,0 +1,49 @@ +from typing import Callable, Union, Tuple, Optional + +__all__ = ['generate', 'construct', 'import_key', + 'RsaKey', 'oid'] + + +class RsaKey(object): + def __init__(self, **kwargs: int) -> None: ... + @property + def n(self) -> int: ... + @property + def e(self) -> int: ... + @property + def d(self) -> int: ... + @property + def p(self) -> int: ... + @property + def q(self) -> int: ... + @property + def u(self) -> int: ... + def size_in_bits(self) -> int: ... + def size_in_bytes(self) -> int: ... + def has_private(self) -> bool: ... + def can_encrypt(self) -> bool: ... # legacy + def can_sign(self) -> bool:... # legacy + def publickey(self) -> RsaKey: ... + def __eq__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... + def __getstate__(self) -> None: ... + def __repr__(self) -> str: ... + def __str__(self) -> str: ... + def export_key(self, format: Optional[str]="PEM", passphrase: Optional[str]=None, pkcs: Optional[int]=1, + protection: Optional[str]=None, randfunc: Optional[Callable]=None) -> bytes: ... + + # Backward compatibility + exportKey = export_key + +def generate(bits: int, randfunc: Optional[Callable]=None, e: Optional[int]=65537) -> RsaKey: ... +def construct(rsa_components: Union[Tuple[int, int], # n, e + Tuple[int, int, int], # n, e, d + Tuple[int, int, int, int, int], # n, e, d, p, q + Tuple[int, int, int, int, int, int]], # n, e, d, p, q, crt_q + consistency_check: Optional[bool]=True) -> RsaKey: ... +def import_key(extern_key: Union[str, bytes], passphrase: Optional[str]=None) -> RsaKey: ... + +# Backward compatibility +importKey = import_key + +oid: str diff --git a/lib27/site-packages/Crypto/PublicKey/__init__.py b/lib27/site-packages/Crypto/PublicKey/__init__.py new file mode 100644 index 000000000..c9ff59ba1 --- /dev/null +++ b/lib27/site-packages/Crypto/PublicKey/__init__.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from Crypto.Util.asn1 import (DerSequence, DerInteger, DerBitString, + DerObjectId, DerNull) + + +def _expand_subject_public_key_info(encoded): + """Parse a SubjectPublicKeyInfo structure. + + It returns a triple with: + * OID (string) + * encoded public key (bytes) + * Algorithm parameters (bytes or None) + """ + + # + # SubjectPublicKeyInfo ::= SEQUENCE { + # algorithm AlgorithmIdentifier, + # subjectPublicKey BIT STRING + # } + # + # AlgorithmIdentifier ::= SEQUENCE { + # algorithm OBJECT IDENTIFIER, + # parameters ANY DEFINED BY algorithm OPTIONAL + # } + # + + spki = DerSequence().decode(encoded, nr_elements=2) + algo = DerSequence().decode(spki[0], nr_elements=(1,2)) + algo_oid = DerObjectId().decode(algo[0]) + spk = DerBitString().decode(spki[1]).value + + if len(algo) == 1: + algo_params = None + else: + try: + DerNull().decode(algo[1]) + algo_params = None + except: + algo_params = algo[1] + + return algo_oid.value, spk, algo_params + + +def _create_subject_public_key_info(algo_oid, secret_key, params=None): + + if params is None: + params = DerNull() + + spki = DerSequence([ + DerSequence([ + DerObjectId(algo_oid), + params]), + DerBitString(secret_key) + ]) + return spki.encode() + + +def _extract_subject_public_key_info(x509_certificate): + """Extract subjectPublicKeyInfo from a DER X.509 certificate.""" + + certificate = DerSequence().decode(x509_certificate, nr_elements=3) + tbs_certificate = DerSequence().decode(certificate[0], + nr_elements=range(6, 11)) + + index = 5 + try: + tbs_certificate[0] + 1 + # Version not present + version = 1 + except TypeError: + version = DerInteger(explicit=0).decode(tbs_certificate[0]).value + if version not in (2, 3): + raise ValueError("Incorrect X.509 certificate version") + index = 6 + + return tbs_certificate[index] diff --git a/lib27/site-packages/requests/packages/urllib3/contrib/__init__.py b/lib27/site-packages/Crypto/PublicKey/__init__.pyi similarity index 100% rename from lib27/site-packages/requests/packages/urllib3/contrib/__init__.py rename to lib27/site-packages/Crypto/PublicKey/__init__.pyi diff --git a/lib27/site-packages/Crypto/Random/__init__.py b/lib27/site-packages/Crypto/Random/__init__.py new file mode 100644 index 000000000..0f83a07e3 --- /dev/null +++ b/lib27/site-packages/Crypto/Random/__init__.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +# +# Random/__init__.py : PyCrypto random number generation +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +__all__ = ['new', 'get_random_bytes'] + +from os import urandom + +class _UrandomRNG(object): + + def read(self, n): + """Return a random byte string of the desired size.""" + return urandom(n) + + def flush(self): + """Method provided for backward compatibility only.""" + pass + + def reinit(self): + """Method provided for backward compatibility only.""" + pass + + def close(self): + """Method provided for backward compatibility only.""" + pass + + +def new(*args, **kwargs): + """Return a file-like object that outputs cryptographically random bytes.""" + return _UrandomRNG() + + +def atfork(): + pass + + +#: Function that returns a random byte string of the desired size. +get_random_bytes = urandom + diff --git a/lib27/site-packages/Crypto/Random/__init__.pyi b/lib27/site-packages/Crypto/Random/__init__.pyi new file mode 100644 index 000000000..ddc5b9b01 --- /dev/null +++ b/lib27/site-packages/Crypto/Random/__init__.pyi @@ -0,0 +1,19 @@ +from typing import Any + +__all__ = ['new', 'get_random_bytes'] + +from os import urandom + +class _UrandomRNG(object): + + def read(self, n: int) -> bytes:... + def flush(self) -> None: ... + def reinit(self) -> None: ... + def close(self) -> None: ... + +def new(*args: Any, **kwargs: Any) -> _UrandomRNG: ... + +def atfork() -> None: ... + +get_random_bytes = urandom + diff --git a/lib27/site-packages/Crypto/Random/random.py b/lib27/site-packages/Crypto/Random/random.py new file mode 100644 index 000000000..5389b3bbe --- /dev/null +++ b/lib27/site-packages/Crypto/Random/random.py @@ -0,0 +1,138 @@ +# -*- coding: utf-8 -*- +# +# Random/random.py : Strong alternative for the standard 'random' module +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +__all__ = ['StrongRandom', 'getrandbits', 'randrange', 'randint', 'choice', 'shuffle', 'sample'] + +from Crypto import Random + +from Crypto.Util.py3compat import is_native_int + +class StrongRandom(object): + def __init__(self, rng=None, randfunc=None): + if randfunc is None and rng is None: + self._randfunc = None + elif randfunc is not None and rng is None: + self._randfunc = randfunc + elif randfunc is None and rng is not None: + self._randfunc = rng.read + else: + raise ValueError("Cannot specify both 'rng' and 'randfunc'") + + def getrandbits(self, k): + """Return an integer with k random bits.""" + + if self._randfunc is None: + self._randfunc = Random.new().read + mask = (1 << k) - 1 + return mask & bytes_to_long(self._randfunc(ceil_div(k, 8))) + + def randrange(self, *args): + """randrange([start,] stop[, step]): + Return a randomly-selected element from range(start, stop, step).""" + if len(args) == 3: + (start, stop, step) = args + elif len(args) == 2: + (start, stop) = args + step = 1 + elif len(args) == 1: + (stop,) = args + start = 0 + step = 1 + else: + raise TypeError("randrange expected at most 3 arguments, got %d" % (len(args),)) + if (not is_native_int(start) or not is_native_int(stop) or not + is_native_int(step)): + raise TypeError("randrange requires integer arguments") + if step == 0: + raise ValueError("randrange step argument must not be zero") + + num_choices = ceil_div(stop - start, step) + if num_choices < 0: + num_choices = 0 + if num_choices < 1: + raise ValueError("empty range for randrange(%r, %r, %r)" % (start, stop, step)) + + # Pick a random number in the range of possible numbers + r = num_choices + while r >= num_choices: + r = self.getrandbits(size(num_choices)) + + return start + (step * r) + + def randint(self, a, b): + """Return a random integer N such that a <= N <= b.""" + if not is_native_int(a) or not is_native_int(b): + raise TypeError("randint requires integer arguments") + N = self.randrange(a, b+1) + assert a <= N <= b + return N + + def choice(self, seq): + """Return a random element from a (non-empty) sequence. + + If the seqence is empty, raises IndexError. + """ + if len(seq) == 0: + raise IndexError("empty sequence") + return seq[self.randrange(len(seq))] + + def shuffle(self, x): + """Shuffle the sequence in place.""" + # Fisher-Yates shuffle. O(n) + # See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle + # Working backwards from the end of the array, we choose a random item + # from the remaining items until all items have been chosen. + for i in range(len(x)-1, 0, -1): # iterate from len(x)-1 downto 1 + j = self.randrange(0, i+1) # choose random j such that 0 <= j <= i + x[i], x[j] = x[j], x[i] # exchange x[i] and x[j] + + def sample(self, population, k): + """Return a k-length list of unique elements chosen from the population sequence.""" + + num_choices = len(population) + if k > num_choices: + raise ValueError("sample larger than population") + + retval = [] + selected = {} # we emulate a set using a dict here + for i in range(k): + r = None + while r is None or r in selected: + r = self.randrange(num_choices) + retval.append(population[r]) + selected[r] = 1 + return retval + +_r = StrongRandom() +getrandbits = _r.getrandbits +randrange = _r.randrange +randint = _r.randint +choice = _r.choice +shuffle = _r.shuffle +sample = _r.sample + +# These are at the bottom to avoid problems with recursive imports +from Crypto.Util.number import ceil_div, bytes_to_long, long_to_bytes, size + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/Random/random.pyi b/lib27/site-packages/Crypto/Random/random.pyi new file mode 100644 index 000000000..d132169c0 --- /dev/null +++ b/lib27/site-packages/Crypto/Random/random.pyi @@ -0,0 +1,20 @@ +from typing import Callable, Tuple, Union, Sequence, Any, Optional + +__all__ = ['StrongRandom', 'getrandbits', 'randrange', 'randint', 'choice', 'shuffle', 'sample'] + +class StrongRandom(object): + def __init__(self, rng: Optional[Any]=None, randfunc: Optional[Callable]=None) -> None: ... # TODO What is rng? + def getrandbits(self, k: int) -> int: ... + def randrange(self, args: Union[int, Tuple[int, int], Tuple[int, int, int]]) -> int: ... + def randint(self, a: int, b: int) -> int: ... + def choice(self, seq: Sequence) -> object: ... + def shuffle(self, x: Sequence) -> None: ... + def sample(self, population: Sequence, k: int) -> list: ... + +_r = StrongRandom() +getrandbits = _r.getrandbits +randrange = _r.randrange +randint = _r.randint +choice = _r.choice +shuffle = _r.shuffle +sample = _r.sample diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/__init__.py b/lib27/site-packages/Crypto/SelfTest/Cipher/__init__.py new file mode 100644 index 000000000..05fc139ad --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/__init__.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/__init__.py: Self-test for cipher modules +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test for cipher modules""" + +__revision__ = "$Id$" + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.Cipher import test_AES; tests += test_AES.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_ARC2; tests += test_ARC2.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_ARC4; tests += test_ARC4.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_Blowfish; tests += test_Blowfish.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_CAST; tests += test_CAST.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_DES3; tests += test_DES3.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_DES; tests += test_DES.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_Salsa20; tests += test_Salsa20.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_ChaCha20; tests += test_ChaCha20.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_ChaCha20_Poly1305; tests += test_ChaCha20_Poly1305.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_pkcs1_15; tests += test_pkcs1_15.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_pkcs1_oaep; tests += test_pkcs1_oaep.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_OCB; tests += test_OCB.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_CBC; tests += test_CBC.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_CFB; tests += test_CFB.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_OpenPGP; tests += test_OpenPGP.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_OFB; tests += test_OFB.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_CTR; tests += test_CTR.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_CCM; tests += test_CCM.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_EAX; tests += test_EAX.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_GCM; tests += test_GCM.get_tests(config=config) + from Crypto.SelfTest.Cipher import test_SIV; tests += test_SIV.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/common.py b/lib27/site-packages/Crypto/SelfTest/Cipher/common.py new file mode 100644 index 000000000..1e0bd39b1 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/common.py @@ -0,0 +1,500 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/common.py: Common code for Crypto.SelfTest.Hash +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-testing for PyCrypto hash modules""" + +import unittest +from binascii import a2b_hex, b2a_hex, hexlify + +from Crypto.Util.py3compat import b, _memoryview +from Crypto.Util.strxor import strxor_c + +class _NoDefault: pass # sentinel object +def _extract(d, k, default=_NoDefault): + """Get an item from a dictionary, and remove it from the dictionary.""" + try: + retval = d[k] + except KeyError: + if default is _NoDefault: + raise + return default + del d[k] + return retval + +# Generic cipher test case +class CipherSelfTest(unittest.TestCase): + + def __init__(self, module, params): + unittest.TestCase.__init__(self) + self.module = module + + # Extract the parameters + params = params.copy() + self.description = _extract(params, 'description') + self.key = b(_extract(params, 'key')) + self.plaintext = b(_extract(params, 'plaintext')) + self.ciphertext = b(_extract(params, 'ciphertext')) + self.module_name = _extract(params, 'module_name', None) + self.assoc_data = _extract(params, 'assoc_data', None) + self.mac = _extract(params, 'mac', None) + if self.assoc_data: + self.mac = b(self.mac) + + mode = _extract(params, 'mode', None) + self.mode_name = str(mode) + + if mode is not None: + # Block cipher + self.mode = getattr(self.module, "MODE_" + mode) + + self.iv = _extract(params, 'iv', None) + if self.iv is None: + self.iv = _extract(params, 'nonce', None) + if self.iv is not None: + self.iv = b(self.iv) + + else: + # Stream cipher + self.mode = None + self.iv = _extract(params, 'iv', None) + if self.iv is not None: + self.iv = b(self.iv) + + self.extra_params = params + + def shortDescription(self): + return self.description + + def _new(self): + params = self.extra_params.copy() + key = a2b_hex(self.key) + + old_style = [] + if self.mode is not None: + old_style = [ self.mode ] + if self.iv is not None: + old_style += [ a2b_hex(self.iv) ] + + return self.module.new(key, *old_style, **params) + + def isMode(self, name): + if not hasattr(self.module, "MODE_"+name): + return False + return self.mode == getattr(self.module, "MODE_"+name) + + def runTest(self): + plaintext = a2b_hex(self.plaintext) + ciphertext = a2b_hex(self.ciphertext) + assoc_data = [] + if self.assoc_data: + assoc_data = [ a2b_hex(b(x)) for x in self.assoc_data] + + ct = None + pt = None + + # + # Repeat the same encryption or decryption twice and verify + # that the result is always the same + # + for i in range(2): + cipher = self._new() + decipher = self._new() + + # Only AEAD modes + for comp in assoc_data: + cipher.update(comp) + decipher.update(comp) + + ctX = b2a_hex(cipher.encrypt(plaintext)) + ptX = b2a_hex(decipher.decrypt(ciphertext)) + + if ct: + self.assertEqual(ct, ctX) + self.assertEqual(pt, ptX) + ct, pt = ctX, ptX + + self.assertEqual(self.ciphertext, ct) # encrypt + self.assertEqual(self.plaintext, pt) # decrypt + + if self.mac: + mac = b2a_hex(cipher.digest()) + self.assertEqual(self.mac, mac) + decipher.verify(a2b_hex(self.mac)) + +class CipherStreamingSelfTest(CipherSelfTest): + + def shortDescription(self): + desc = self.module_name + if self.mode is not None: + desc += " in %s mode" % (self.mode_name,) + return "%s should behave like a stream cipher" % (desc,) + + def runTest(self): + plaintext = a2b_hex(self.plaintext) + ciphertext = a2b_hex(self.ciphertext) + + # The cipher should work like a stream cipher + + # Test counter mode encryption, 3 bytes at a time + ct3 = [] + cipher = self._new() + for i in range(0, len(plaintext), 3): + ct3.append(cipher.encrypt(plaintext[i:i+3])) + ct3 = b2a_hex(b("").join(ct3)) + self.assertEqual(self.ciphertext, ct3) # encryption (3 bytes at a time) + + # Test counter mode decryption, 3 bytes at a time + pt3 = [] + cipher = self._new() + for i in range(0, len(ciphertext), 3): + pt3.append(cipher.encrypt(ciphertext[i:i+3])) + # PY3K: This is meant to be text, do not change to bytes (data) + pt3 = b2a_hex(b("").join(pt3)) + self.assertEqual(self.plaintext, pt3) # decryption (3 bytes at a time) + + +class RoundtripTest(unittest.TestCase): + def __init__(self, module, params): + from Crypto import Random + unittest.TestCase.__init__(self) + self.module = module + self.iv = Random.get_random_bytes(module.block_size) + self.key = b(params['key']) + self.plaintext = 100 * b(params['plaintext']) + self.module_name = params.get('module_name', None) + + def shortDescription(self): + return """%s .decrypt() output of .encrypt() should not be garbled""" % (self.module_name,) + + def runTest(self): + + ## ECB mode + mode = self.module.MODE_ECB + encryption_cipher = self.module.new(a2b_hex(self.key), mode) + ciphertext = encryption_cipher.encrypt(self.plaintext) + decryption_cipher = self.module.new(a2b_hex(self.key), mode) + decrypted_plaintext = decryption_cipher.decrypt(ciphertext) + self.assertEqual(self.plaintext, decrypted_plaintext) + + +class IVLengthTest(unittest.TestCase): + def __init__(self, module, params): + unittest.TestCase.__init__(self) + self.module = module + self.key = b(params['key']) + + def shortDescription(self): + return "Check that all modes except MODE_ECB and MODE_CTR require an IV of the proper length" + + def runTest(self): + self.assertRaises(TypeError, self.module.new, a2b_hex(self.key), + self.module.MODE_ECB, b("")) + + def _dummy_counter(self): + return "\0" * self.module.block_size + + +class NoDefaultECBTest(unittest.TestCase): + def __init__(self, module, params): + unittest.TestCase.__init__(self) + self.module = module + self.key = b(params['key']) + + def runTest(self): + self.assertRaises(TypeError, self.module.new, a2b_hex(self.key)) + + +class ByteArrayTest(unittest.TestCase): + """Verify we can use bytearray's for encrypting and decrypting""" + + def __init__(self, module, params): + unittest.TestCase.__init__(self) + self.module = module + + # Extract the parameters + params = params.copy() + self.description = _extract(params, 'description') + self.key = b(_extract(params, 'key')) + self.plaintext = b(_extract(params, 'plaintext')) + self.ciphertext = b(_extract(params, 'ciphertext')) + self.module_name = _extract(params, 'module_name', None) + self.assoc_data = _extract(params, 'assoc_data', None) + self.mac = _extract(params, 'mac', None) + if self.assoc_data: + self.mac = b(self.mac) + + mode = _extract(params, 'mode', None) + self.mode_name = str(mode) + + if mode is not None: + # Block cipher + self.mode = getattr(self.module, "MODE_" + mode) + + self.iv = _extract(params, 'iv', None) + if self.iv is None: + self.iv = _extract(params, 'nonce', None) + if self.iv is not None: + self.iv = b(self.iv) + else: + # Stream cipher + self.mode = None + self.iv = _extract(params, 'iv', None) + if self.iv is not None: + self.iv = b(self.iv) + + self.extra_params = params + + def _new(self): + params = self.extra_params.copy() + key = a2b_hex(self.key) + + old_style = [] + if self.mode is not None: + old_style = [ self.mode ] + if self.iv is not None: + old_style += [ a2b_hex(self.iv) ] + + return self.module.new(key, *old_style, **params) + + def runTest(self): + + plaintext = a2b_hex(self.plaintext) + ciphertext = a2b_hex(self.ciphertext) + assoc_data = [] + if self.assoc_data: + assoc_data = [ bytearray(a2b_hex(b(x))) for x in self.assoc_data] + + cipher = self._new() + decipher = self._new() + + # Only AEAD modes + for comp in assoc_data: + cipher.update(comp) + decipher.update(comp) + + ct = b2a_hex(cipher.encrypt(bytearray(plaintext))) + pt = b2a_hex(decipher.decrypt(bytearray(ciphertext))) + + self.assertEqual(self.ciphertext, ct) # encrypt + self.assertEqual(self.plaintext, pt) # decrypt + + if self.mac: + mac = b2a_hex(cipher.digest()) + self.assertEqual(self.mac, mac) + decipher.verify(bytearray(a2b_hex(self.mac))) + + +class MemoryviewTest(unittest.TestCase): + """Verify we can use memoryviews for encrypting and decrypting""" + + def __init__(self, module, params): + unittest.TestCase.__init__(self) + self.module = module + + # Extract the parameters + params = params.copy() + self.description = _extract(params, 'description') + self.key = b(_extract(params, 'key')) + self.plaintext = b(_extract(params, 'plaintext')) + self.ciphertext = b(_extract(params, 'ciphertext')) + self.module_name = _extract(params, 'module_name', None) + self.assoc_data = _extract(params, 'assoc_data', None) + self.mac = _extract(params, 'mac', None) + if self.assoc_data: + self.mac = b(self.mac) + + mode = _extract(params, 'mode', None) + self.mode_name = str(mode) + + if mode is not None: + # Block cipher + self.mode = getattr(self.module, "MODE_" + mode) + + self.iv = _extract(params, 'iv', None) + if self.iv is None: + self.iv = _extract(params, 'nonce', None) + if self.iv is not None: + self.iv = b(self.iv) + else: + # Stream cipher + self.mode = None + self.iv = _extract(params, 'iv', None) + if self.iv is not None: + self.iv = b(self.iv) + + self.extra_params = params + + def _new(self): + params = self.extra_params.copy() + key = a2b_hex(self.key) + + old_style = [] + if self.mode is not None: + old_style = [ self.mode ] + if self.iv is not None: + old_style += [ a2b_hex(self.iv) ] + + return self.module.new(key, *old_style, **params) + + def runTest(self): + + plaintext = a2b_hex(self.plaintext) + ciphertext = a2b_hex(self.ciphertext) + assoc_data = [] + if self.assoc_data: + assoc_data = [ memoryview(a2b_hex(b(x))) for x in self.assoc_data] + + cipher = self._new() + decipher = self._new() + + # Only AEAD modes + for comp in assoc_data: + cipher.update(comp) + decipher.update(comp) + + ct = b2a_hex(cipher.encrypt(memoryview(plaintext))) + pt = b2a_hex(decipher.decrypt(memoryview(ciphertext))) + + self.assertEqual(self.ciphertext, ct) # encrypt + self.assertEqual(self.plaintext, pt) # decrypt + + if self.mac: + mac = b2a_hex(cipher.digest()) + self.assertEqual(self.mac, mac) + decipher.verify(memoryview(a2b_hex(self.mac))) + + +def make_block_tests(module, module_name, test_data, additional_params=dict()): + tests = [] + extra_tests_added = False + for i in range(len(test_data)): + row = test_data[i] + + # Build the "params" dictionary with + # - plaintext + # - ciphertext + # - key + # - mode (default is ECB) + # - (optionally) description + # - (optionally) any other parameter that this cipher mode requires + params = {} + if len(row) == 3: + (params['plaintext'], params['ciphertext'], params['key']) = row + elif len(row) == 4: + (params['plaintext'], params['ciphertext'], params['key'], params['description']) = row + elif len(row) == 5: + (params['plaintext'], params['ciphertext'], params['key'], params['description'], extra_params) = row + params.update(extra_params) + else: + raise AssertionError("Unsupported tuple size %d" % (len(row),)) + + if not "mode" in params: + params["mode"] = "ECB" + + # Build the display-name for the test + p2 = params.copy() + p_key = _extract(p2, 'key') + p_plaintext = _extract(p2, 'plaintext') + p_ciphertext = _extract(p2, 'ciphertext') + p_mode = _extract(p2, 'mode') + p_description = _extract(p2, 'description', None) + + if p_description is not None: + description = p_description + elif p_mode == 'ECB' and not p2: + description = "p=%s, k=%s" % (p_plaintext, p_key) + else: + description = "p=%s, k=%s, %r" % (p_plaintext, p_key, p2) + name = "%s #%d: %s" % (module_name, i+1, description) + params['description'] = name + params['module_name'] = module_name + params.update(additional_params) + + # Add extra test(s) to the test suite before the current test + if not extra_tests_added: + tests += [ + RoundtripTest(module, params), + IVLengthTest(module, params), + NoDefaultECBTest(module, params), + ByteArrayTest(module, params), + ] + extra_tests_added = True + + # Add the current test to the test suite + tests.append(CipherSelfTest(module, params)) + + return tests + +def make_stream_tests(module, module_name, test_data): + tests = [] + extra_tests_added = False + for i in range(len(test_data)): + row = test_data[i] + + # Build the "params" dictionary + params = {} + if len(row) == 3: + (params['plaintext'], params['ciphertext'], params['key']) = row + elif len(row) == 4: + (params['plaintext'], params['ciphertext'], params['key'], params['description']) = row + elif len(row) == 5: + (params['plaintext'], params['ciphertext'], params['key'], params['description'], extra_params) = row + params.update(extra_params) + else: + raise AssertionError("Unsupported tuple size %d" % (len(row),)) + + # Build the display-name for the test + p2 = params.copy() + p_key = _extract(p2, 'key') + p_plaintext = _extract(p2, 'plaintext') + p_ciphertext = _extract(p2, 'ciphertext') + p_description = _extract(p2, 'description', None) + + if p_description is not None: + description = p_description + elif not p2: + description = "p=%s, k=%s" % (p_plaintext, p_key) + else: + description = "p=%s, k=%s, %r" % (p_plaintext, p_key, p2) + name = "%s #%d: %s" % (module_name, i+1, description) + params['description'] = name + params['module_name'] = module_name + + # Add extra test(s) to the test suite before the current test + if not extra_tests_added: + tests += [ + ByteArrayTest(module, params), + ] + + import sys + if sys.version[:3] != '2.6': + tests.append(MemoryviewTest(module, params)) + extra_tests_added = True + + # Add the test to the test suite + tests.append(CipherSelfTest(module, params)) + tests.append(CipherStreamingSelfTest(module, params)) + return tests + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_AES.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_AES.py new file mode 100644 index 000000000..3bed2f8f8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_AES.py @@ -0,0 +1,1353 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/AES.py: Self-test for the AES cipher +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.AES""" + +from __future__ import print_function + +import unittest +from Crypto.Hash import SHA256 +from Crypto.Cipher import AES +from Crypto.Util.py3compat import * +from binascii import hexlify + +# This is a list of (plaintext, ciphertext, key[, description[, params]]) tuples. +test_data = [ + # FIPS PUB 197 test vectors + # http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf + + ('00112233445566778899aabbccddeeff', '69c4e0d86a7b0430d8cdb78070b4c55a', + '000102030405060708090a0b0c0d0e0f', 'FIPS 197 C.1 (AES-128)'), + + ('00112233445566778899aabbccddeeff', 'dda97ca4864cdfe06eaf70a0ec0d7191', + '000102030405060708090a0b0c0d0e0f1011121314151617', + 'FIPS 197 C.2 (AES-192)'), + + ('00112233445566778899aabbccddeeff', '8ea2b7ca516745bfeafc49904b496089', + '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', + 'FIPS 197 C.3 (AES-256)'), + + # Rijndael128 test vectors + # Downloaded 2008-09-13 from + # http://www.iaik.tugraz.at/Research/krypto/AES/old/~rijmen/rijndael/testvalues.tar.gz + + # ecb_tbl.txt, KEYSIZE=128 + ('506812a45f08c889b97f5980038b8359', 'd8f532538289ef7d06b506a4fd5be9c9', + '00010203050607080a0b0c0d0f101112', + 'ecb-tbl-128: I=1'), + ('5c6d71ca30de8b8b00549984d2ec7d4b', '59ab30f4d4ee6e4ff9907ef65b1fb68c', + '14151617191a1b1c1e1f202123242526', + 'ecb-tbl-128: I=2'), + ('53f3f4c64f8616e4e7c56199f48f21f6', 'bf1ed2fcb2af3fd41443b56d85025cb1', + '28292a2b2d2e2f30323334353738393a', + 'ecb-tbl-128: I=3'), + ('a1eb65a3487165fb0f1c27ff9959f703', '7316632d5c32233edcb0780560eae8b2', + '3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-128: I=4'), + ('3553ecf0b1739558b08e350a98a39bfa', '408c073e3e2538072b72625e68b8364b', + '50515253555657585a5b5c5d5f606162', + 'ecb-tbl-128: I=5'), + ('67429969490b9711ae2b01dc497afde8', 'e1f94dfa776597beaca262f2f6366fea', + '64656667696a6b6c6e6f707173747576', + 'ecb-tbl-128: I=6'), + ('93385c1f2aec8bed192f5a8e161dd508', 'f29e986c6a1c27d7b29ffd7ee92b75f1', + '78797a7b7d7e7f80828384858788898a', + 'ecb-tbl-128: I=7'), + ('b5bf946be19beb8db3983b5f4c6e8ddb', '131c886a57f8c2e713aba6955e2b55b5', + '8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-128: I=8'), + ('41321ee10e21bd907227c4450ff42324', 'd2ab7662df9b8c740210e5eeb61c199d', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', + 'ecb-tbl-128: I=9'), + ('00a82f59c91c8486d12c0a80124f6089', '14c10554b2859c484cab5869bbe7c470', + 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', + 'ecb-tbl-128: I=10'), + ('7ce0fd076754691b4bbd9faf8a1372fe', 'db4d498f0a49cf55445d502c1f9ab3b5', + 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', + 'ecb-tbl-128: I=11'), + ('23605a8243d07764541bc5ad355b3129', '6d96fef7d66590a77a77bb2056667f7f', + 'dcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-128: I=12'), + ('12a8cfa23ea764fd876232b4e842bc44', '316fb68edba736c53e78477bf913725c', + 'f0f1f2f3f5f6f7f8fafbfcfdfe010002', + 'ecb-tbl-128: I=13'), + ('bcaf32415e8308b3723e5fdd853ccc80', '6936f2b93af8397fd3a771fc011c8c37', + '04050607090a0b0c0e0f101113141516', + 'ecb-tbl-128: I=14'), + ('89afae685d801ad747ace91fc49adde0', 'f3f92f7a9c59179c1fcc2c2ba0b082cd', + '2c2d2e2f31323334363738393b3c3d3e', + 'ecb-tbl-128: I=15'), + ('f521d07b484357c4a69e76124a634216', '6a95ea659ee3889158e7a9152ff04ebc', + '40414243454647484a4b4c4d4f505152', + 'ecb-tbl-128: I=16'), + ('3e23b3bc065bcc152407e23896d77783', '1959338344e945670678a5d432c90b93', + '54555657595a5b5c5e5f606163646566', + 'ecb-tbl-128: I=17'), + ('79f0fba002be1744670e7e99290d8f52', 'e49bddd2369b83ee66e6c75a1161b394', + '68696a6b6d6e6f70727374757778797a', + 'ecb-tbl-128: I=18'), + ('da23fe9d5bd63e1d72e3dafbe21a6c2a', 'd3388f19057ff704b70784164a74867d', + '7c7d7e7f81828384868788898b8c8d8e', + 'ecb-tbl-128: I=19'), + ('e3f5698ba90b6a022efd7db2c7e6c823', '23aa03e2d5e4cd24f3217e596480d1e1', + 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', + 'ecb-tbl-128: I=20'), + ('bdc2691d4f1b73d2700679c3bcbf9c6e', 'c84113d68b666ab2a50a8bdb222e91b9', + 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2', + 'ecb-tbl-128: I=21'), + ('ba74e02093217ee1ba1b42bd5624349a', 'ac02403981cd4340b507963db65cb7b6', + '08090a0b0d0e0f10121314151718191a', + 'ecb-tbl-128: I=22'), + ('b5c593b5851c57fbf8b3f57715e8f680', '8d1299236223359474011f6bf5088414', + '6c6d6e6f71727374767778797b7c7d7e', + 'ecb-tbl-128: I=23'), + ('3da9bd9cec072381788f9387c3bbf4ee', '5a1d6ab8605505f7977e55b9a54d9b90', + '80818283858687888a8b8c8d8f909192', + 'ecb-tbl-128: I=24'), + ('4197f3051121702ab65d316b3c637374', '72e9c2d519cf555e4208805aabe3b258', + '94959697999a9b9c9e9fa0a1a3a4a5a6', + 'ecb-tbl-128: I=25'), + ('9f46c62ec4f6ee3f6e8c62554bc48ab7', 'a8f3e81c4a23a39ef4d745dffe026e80', + 'a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', + 'ecb-tbl-128: I=26'), + ('0220673fe9e699a4ebc8e0dbeb6979c8', '546f646449d31458f9eb4ef5483aee6c', + 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdce', + 'ecb-tbl-128: I=27'), + ('b2b99171337ded9bc8c2c23ff6f18867', '4dbe4bc84ac797c0ee4efb7f1a07401c', + 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', + 'ecb-tbl-128: I=28'), + ('a7facf4e301e984e5efeefd645b23505', '25e10bfb411bbd4d625ac8795c8ca3b3', + 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', + 'ecb-tbl-128: I=29'), + ('f7c762e4a9819160fd7acfb6c4eedcdd', '315637405054ec803614e43def177579', + 'f8f9fafbfdfefe00020304050708090a', + 'ecb-tbl-128: I=30'), + ('9b64fc21ea08709f4915436faa70f1be', '60c5bc8a1410247295c6386c59e572a8', + '0c0d0e0f11121314161718191b1c1d1e', + 'ecb-tbl-128: I=31'), + ('52af2c3de07ee6777f55a4abfc100b3f', '01366fc8ca52dfe055d6a00a76471ba6', + '20212223252627282a2b2c2d2f303132', + 'ecb-tbl-128: I=32'), + ('2fca001224386c57aa3f968cbe2c816f', 'ecc46595516ec612449c3f581e7d42ff', + '34353637393a3b3c3e3f404143444546', + 'ecb-tbl-128: I=33'), + ('4149c73658a4a9c564342755ee2c132f', '6b7ffe4c602a154b06ee9c7dab5331c9', + '48494a4b4d4e4f50525354555758595a', + 'ecb-tbl-128: I=34'), + ('af60005a00a1772f7c07a48a923c23d2', '7da234c14039a240dd02dd0fbf84eb67', + '5c5d5e5f61626364666768696b6c6d6e', + 'ecb-tbl-128: I=35'), + ('6fccbc28363759914b6f0280afaf20c6', 'c7dc217d9e3604ffe7e91f080ecd5a3a', + '70717273757677787a7b7c7d7f808182', + 'ecb-tbl-128: I=36'), + ('7d82a43ddf4fefa2fc5947499884d386', '37785901863f5c81260ea41e7580cda5', + '84858687898a8b8c8e8f909193949596', + 'ecb-tbl-128: I=37'), + ('5d5a990eaab9093afe4ce254dfa49ef9', 'a07b9338e92ed105e6ad720fccce9fe4', + '98999a9b9d9e9fa0a2a3a4a5a7a8a9aa', + 'ecb-tbl-128: I=38'), + ('4cd1e2fd3f4434b553aae453f0ed1a02', 'ae0fb9722418cc21a7da816bbc61322c', + 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbe', + 'ecb-tbl-128: I=39'), + ('5a2c9a9641d4299125fa1b9363104b5e', 'c826a193080ff91ffb21f71d3373c877', + 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', + 'ecb-tbl-128: I=40'), + ('b517fe34c0fa217d341740bfd4fe8dd4', '1181b11b0e494e8d8b0aa6b1d5ac2c48', + 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', + 'ecb-tbl-128: I=41'), + ('014baf2278a69d331d5180103643e99a', '6743c3d1519ab4f2cd9a78ab09a511bd', + 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fa', + 'ecb-tbl-128: I=42'), + ('b529bd8164f20d0aa443d4932116841c', 'dc55c076d52bacdf2eefd952946a439d', + 'fcfdfeff01020304060708090b0c0d0e', + 'ecb-tbl-128: I=43'), + ('2e596dcbb2f33d4216a1176d5bd1e456', '711b17b590ffc72b5c8e342b601e8003', + '10111213151617181a1b1c1d1f202122', + 'ecb-tbl-128: I=44'), + ('7274a1ea2b7ee2424e9a0e4673689143', '19983bb0950783a537e1339f4aa21c75', + '24252627292a2b2c2e2f303133343536', + 'ecb-tbl-128: I=45'), + ('ae20020bd4f13e9d90140bee3b5d26af', '3ba7762e15554169c0f4fa39164c410c', + '38393a3b3d3e3f40424344454748494a', + 'ecb-tbl-128: I=46'), + ('baac065da7ac26e855e79c8849d75a02', 'a0564c41245afca7af8aa2e0e588ea89', + '4c4d4e4f51525354565758595b5c5d5e', + 'ecb-tbl-128: I=47'), + ('7c917d8d1d45fab9e2540e28832540cc', '5e36a42a2e099f54ae85ecd92e2381ed', + '60616263656667686a6b6c6d6f707172', + 'ecb-tbl-128: I=48'), + ('bde6f89e16daadb0e847a2a614566a91', '770036f878cd0f6ca2268172f106f2fe', + '74757677797a7b7c7e7f808183848586', + 'ecb-tbl-128: I=49'), + ('c9de163725f1f5be44ebb1db51d07fbc', '7e4e03908b716116443ccf7c94e7c259', + '88898a8b8d8e8f90929394959798999a', + 'ecb-tbl-128: I=50'), + ('3af57a58f0c07dffa669572b521e2b92', '482735a48c30613a242dd494c7f9185d', + '9c9d9e9fa1a2a3a4a6a7a8a9abacadae', + 'ecb-tbl-128: I=51'), + ('3d5ebac306dde4604f1b4fbbbfcdae55', 'b4c0f6c9d4d7079addf9369fc081061d', + 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', + 'ecb-tbl-128: I=52'), + ('c2dfa91bceb76a1183c995020ac0b556', 'd5810fe0509ac53edcd74f89962e6270', + 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', + 'ecb-tbl-128: I=53'), + ('c70f54305885e9a0746d01ec56c8596b', '03f17a16b3f91848269ecdd38ebb2165', + 'd8d9dadbdddedfe0e2e3e4e5e7e8e9ea', + 'ecb-tbl-128: I=54'), + ('c4f81b610e98012ce000182050c0c2b2', 'da1248c3180348bad4a93b4d9856c9df', + 'ecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', + 'ecb-tbl-128: I=55'), + ('eaab86b1d02a95d7404eff67489f97d4', '3d10d7b63f3452c06cdf6cce18be0c2c', + '00010203050607080a0b0c0d0f101112', + 'ecb-tbl-128: I=56'), + ('7c55bdb40b88870b52bec3738de82886', '4ab823e7477dfddc0e6789018fcb6258', + '14151617191a1b1c1e1f202123242526', + 'ecb-tbl-128: I=57'), + ('ba6eaa88371ff0a3bd875e3f2a975ce0', 'e6478ba56a77e70cfdaa5c843abde30e', + '28292a2b2d2e2f30323334353738393a', + 'ecb-tbl-128: I=58'), + ('08059130c4c24bd30cf0575e4e0373dc', '1673064895fbeaf7f09c5429ff75772d', + '3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-128: I=59'), + ('9a8eab004ef53093dfcf96f57e7eda82', '4488033ae9f2efd0ca9383bfca1a94e9', + '50515253555657585a5b5c5d5f606162', + 'ecb-tbl-128: I=60'), + ('0745b589e2400c25f117b1d796c28129', '978f3b8c8f9d6f46626cac3c0bcb9217', + '64656667696a6b6c6e6f707173747576', + 'ecb-tbl-128: I=61'), + ('2f1777781216cec3f044f134b1b92bbe', 'e08c8a7e582e15e5527f1d9e2eecb236', + '78797a7b7d7e7f80828384858788898a', + 'ecb-tbl-128: I=62'), + ('353a779ffc541b3a3805d90ce17580fc', 'cec155b76ac5ffda4cf4f9ca91e49a7a', + '8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-128: I=63'), + ('1a1eae4415cefcf08c4ac1c8f68bea8f', 'd5ac7165763225dd2a38cdc6862c29ad', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', + 'ecb-tbl-128: I=64'), + ('e6e7e4e5b0b3b2b5d4d5aaab16111013', '03680fe19f7ce7275452020be70e8204', + 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', + 'ecb-tbl-128: I=65'), + ('f8f9fafbfbf8f9e677767170efe0e1e2', '461df740c9781c388e94bb861ceb54f6', + 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', + 'ecb-tbl-128: I=66'), + ('63626160a1a2a3a445444b4a75727370', '451bd60367f96483042742219786a074', + 'dcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-128: I=67'), + ('717073720605040b2d2c2b2a05fafbf9', 'e4dfa42671a02e57ef173b85c0ea9f2b', + 'f0f1f2f3f5f6f7f8fafbfcfdfe010002', + 'ecb-tbl-128: I=68'), + ('78797a7beae9e8ef3736292891969794', 'ed11b89e76274282227d854700a78b9e', + '04050607090a0b0c0e0f101113141516', + 'ecb-tbl-128: I=69'), + ('838281803231300fdddcdbdaa0afaead', '433946eaa51ea47af33895f2b90b3b75', + '18191a1b1d1e1f20222324252728292a', + 'ecb-tbl-128: I=70'), + ('18191a1bbfbcbdba75747b7a7f78797a', '6bc6d616a5d7d0284a5910ab35022528', + '2c2d2e2f31323334363738393b3c3d3e', + 'ecb-tbl-128: I=71'), + ('848586879b989996a3a2a5a4849b9a99', 'd2a920ecfe919d354b5f49eae9719c98', + '40414243454647484a4b4c4d4f505152', + 'ecb-tbl-128: I=72'), + ('0001020322212027cacbf4f551565754', '3a061b17f6a92885efbd0676985b373d', + '54555657595a5b5c5e5f606163646566', + 'ecb-tbl-128: I=73'), + ('cecfcccdafacadb2515057564a454447', 'fadeec16e33ea2f4688499d157e20d8f', + '68696a6b6d6e6f70727374757778797a', + 'ecb-tbl-128: I=74'), + ('92939091cdcecfc813121d1c80878685', '5cdefede59601aa3c3cda36fa6b1fa13', + '7c7d7e7f81828384868788898b8c8d8e', + 'ecb-tbl-128: I=75'), + ('d2d3d0d16f6c6d6259585f5ed1eeefec', '9574b00039844d92ebba7ee8719265f8', + '90919293959697989a9b9c9d9fa0a1a2', + 'ecb-tbl-128: I=76'), + ('acadaeaf878485820f0e1110d5d2d3d0', '9a9cf33758671787e5006928188643fa', + 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', + 'ecb-tbl-128: I=77'), + ('9091929364676619e6e7e0e1757a7b78', '2cddd634c846ba66bb46cbfea4a674f9', + 'b8b9babbbdbebfc0c2c3c4c5c7c8c9ca', + 'ecb-tbl-128: I=78'), + ('babbb8b98a89888f74757a7b92959497', 'd28bae029393c3e7e26e9fafbbb4b98f', + 'cccdcecfd1d2d3d4d6d7d8d9dbdcddde', + 'ecb-tbl-128: I=79'), + ('8d8c8f8e6e6d6c633b3a3d3ccad5d4d7', 'ec27529b1bee0a9ab6a0d73ebc82e9b7', + 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2', + 'ecb-tbl-128: I=80'), + ('86878485010203040808f7f767606162', '3cb25c09472aff6ee7e2b47ccd7ccb17', + 'f4f5f6f7f9fafbfcfefe010103040506', + 'ecb-tbl-128: I=81'), + ('8e8f8c8d656667788a8b8c8d010e0f0c', 'dee33103a7283370d725e44ca38f8fe5', + '08090a0b0d0e0f10121314151718191a', + 'ecb-tbl-128: I=82'), + ('c8c9cacb858687807a7b7475e7e0e1e2', '27f9bcd1aac64bffc11e7815702c1a69', + '1c1d1e1f21222324262728292b2c2d2e', + 'ecb-tbl-128: I=83'), + ('6d6c6f6e5053525d8c8d8a8badd2d3d0', '5df534ffad4ed0749a9988e9849d0021', + '30313233353637383a3b3c3d3f404142', + 'ecb-tbl-128: I=84'), + ('28292a2b393a3b3c0607181903040506', 'a48bee75db04fb60ca2b80f752a8421b', + '44454647494a4b4c4e4f505153545556', + 'ecb-tbl-128: I=85'), + ('a5a4a7a6b0b3b28ddbdadddcbdb2b3b0', '024c8cf70bc86ee5ce03678cb7af45f9', + '58595a5b5d5e5f60626364656768696a', + 'ecb-tbl-128: I=86'), + ('323330316467666130313e3f2c2b2a29', '3c19ac0f8a3a3862ce577831301e166b', + '6c6d6e6f71727374767778797b7c7d7e', + 'ecb-tbl-128: I=87'), + ('27262524080b0a05171611100b141516', 'c5e355b796a57421d59ca6be82e73bca', + '80818283858687888a8b8c8d8f909192', + 'ecb-tbl-128: I=88'), + ('040506074142434435340b0aa3a4a5a6', 'd94033276417abfb05a69d15b6e386e2', + '94959697999a9b9c9e9fa0a1a3a4a5a6', + 'ecb-tbl-128: I=89'), + ('242526271112130c61606766bdb2b3b0', '24b36559ea3a9b9b958fe6da3e5b8d85', + 'a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', + 'ecb-tbl-128: I=90'), + ('4b4a4948252627209e9f9091cec9c8cb', '20fd4feaa0e8bf0cce7861d74ef4cb72', + 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdce', + 'ecb-tbl-128: I=91'), + ('68696a6b6665646b9f9e9998d9e6e7e4', '350e20d5174277b9ec314c501570a11d', + 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', + 'ecb-tbl-128: I=92'), + ('34353637c5c6c7c0f0f1eeef7c7b7a79', '87a29d61b7c604d238fe73045a7efd57', + 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', + 'ecb-tbl-128: I=93'), + ('32333031c2c1c13f0d0c0b0a050a0b08', '2c3164c1cc7d0064816bdc0faa362c52', + 'f8f9fafbfdfefe00020304050708090a', + 'ecb-tbl-128: I=94'), + ('cdcccfcebebdbcbbabaaa5a4181f1e1d', '195fe5e8a05a2ed594f6e4400eee10b3', + '0c0d0e0f11121314161718191b1c1d1e', + 'ecb-tbl-128: I=95'), + ('212023223635343ba0a1a6a7445b5a59', 'e4663df19b9a21a5a284c2bd7f905025', + '20212223252627282a2b2c2d2f303132', + 'ecb-tbl-128: I=96'), + ('0e0f0c0da8abaaad2f2e515002050407', '21b88714cfb4e2a933bd281a2c4743fd', + '34353637393a3b3c3e3f404143444546', + 'ecb-tbl-128: I=97'), + ('070605042a2928378e8f8889bdb2b3b0', 'cbfc3980d704fd0fc54378ab84e17870', + '48494a4b4d4e4f50525354555758595a', + 'ecb-tbl-128: I=98'), + ('cbcac9c893909196a9a8a7a6a5a2a3a0', 'bc5144baa48bdeb8b63e22e03da418ef', + '5c5d5e5f61626364666768696b6c6d6e', + 'ecb-tbl-128: I=99'), + ('80818283c1c2c3cc9c9d9a9b0cf3f2f1', '5a1dbaef1ee2984b8395da3bdffa3ccc', + '70717273757677787a7b7c7d7f808182', + 'ecb-tbl-128: I=100'), + ('1213101125262720fafbe4e5b1b6b7b4', 'f0b11cd0729dfcc80cec903d97159574', + '84858687898a8b8c8e8f909193949596', + 'ecb-tbl-128: I=101'), + ('7f7e7d7c3033320d97969190222d2c2f', '9f95314acfddc6d1914b7f19a9cc8209', + '98999a9b9d9e9fa0a2a3a4a5a7a8a9aa', + 'ecb-tbl-128: I=102'), + ('4e4f4c4d484b4a4d81808f8e53545556', '595736f6f0f70914a94e9e007f022519', + 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbe', + 'ecb-tbl-128: I=103'), + ('dcdddedfb0b3b2bd15141312a1bebfbc', '1f19f57892cae586fcdfb4c694deb183', + 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', + 'ecb-tbl-128: I=104'), + ('93929190282b2a2dc4c5fafb92959497', '540700ee1f6f3dab0b3eddf6caee1ef5', + 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', + 'ecb-tbl-128: I=105'), + ('f5f4f7f6c4c7c6d9373631307e717073', '14a342a91019a331687a2254e6626ca2', + 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fa', + 'ecb-tbl-128: I=106'), + ('93929190b6b5b4b364656a6b05020300', '7b25f3c3b2eea18d743ef283140f29ff', + 'fcfdfeff01020304060708090b0c0d0e', + 'ecb-tbl-128: I=107'), + ('babbb8b90d0e0f00a4a5a2a3043b3a39', '46c2587d66e5e6fa7f7ca6411ad28047', + '10111213151617181a1b1c1d1f202122', + 'ecb-tbl-128: I=108'), + ('d8d9dadb7f7c7d7a10110e0f787f7e7d', '09470e72229d954ed5ee73886dfeeba9', + '24252627292a2b2c2e2f303133343536', + 'ecb-tbl-128: I=109'), + ('fefffcfdefeced923b3a3d3c6768696a', 'd77c03de92d4d0d79ef8d4824ef365eb', + '38393a3b3d3e3f40424344454748494a', + 'ecb-tbl-128: I=110'), + ('d6d7d4d58a89888f96979899a5a2a3a0', '1d190219f290e0f1715d152d41a23593', + '4c4d4e4f51525354565758595b5c5d5e', + 'ecb-tbl-128: I=111'), + ('18191a1ba8abaaa5303136379b848586', 'a2cd332ce3a0818769616292e87f757b', + '60616263656667686a6b6c6d6f707172', + 'ecb-tbl-128: I=112'), + ('6b6a6968a4a7a6a1d6d72829b0b7b6b5', 'd54afa6ce60fbf9341a3690e21385102', + '74757677797a7b7c7e7f808183848586', + 'ecb-tbl-128: I=113'), + ('000102038a89889755545352a6a9a8ab', '06e5c364ded628a3f5e05e613e356f46', + '88898a8b8d8e8f90929394959798999a', + 'ecb-tbl-128: I=114'), + ('2d2c2f2eb3b0b1b6b6b7b8b9f2f5f4f7', 'eae63c0e62556dac85d221099896355a', + '9c9d9e9fa1a2a3a4a6a7a8a9abacadae', + 'ecb-tbl-128: I=115'), + ('979695943536373856575051e09f9e9d', '1fed060e2c6fc93ee764403a889985a2', + 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', + 'ecb-tbl-128: I=116'), + ('a4a5a6a7989b9a9db1b0afae7a7d7c7f', 'c25235c1a30fdec1c7cb5c5737b2a588', + 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', + 'ecb-tbl-128: I=117'), + ('c1c0c3c2686b6a55a8a9aeafeae5e4e7', '796dbef95147d4d30873ad8b7b92efc0', + 'd8d9dadbdddedfe0e2e3e4e5e7e8e9ea', + 'ecb-tbl-128: I=118'), + ('c1c0c3c2141716118c8d828364636261', 'cbcf0fb34d98d0bd5c22ce37211a46bf', + 'ecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', + 'ecb-tbl-128: I=119'), + ('93929190cccfcec196979091e0fffefd', '94b44da6466126cafa7c7fd09063fc24', + '00010203050607080a0b0c0d0f101112', + 'ecb-tbl-128: I=120'), + ('b4b5b6b7f9fafbfc25241b1a6e69686b', 'd78c5b5ebf9b4dbda6ae506c5074c8fe', + '14151617191a1b1c1e1f202123242526', + 'ecb-tbl-128: I=121'), + ('868784850704051ac7c6c1c08788898a', '6c27444c27204b043812cf8cf95f9769', + '28292a2b2d2e2f30323334353738393a', + 'ecb-tbl-128: I=122'), + ('f4f5f6f7aaa9a8affdfcf3f277707172', 'be94524ee5a2aa50bba8b75f4c0aebcf', + '3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-128: I=123'), + ('d3d2d1d00605040bc3c2c5c43e010003', 'a0aeaae91ba9f31f51aeb3588cf3a39e', + '50515253555657585a5b5c5d5f606162', + 'ecb-tbl-128: I=124'), + ('73727170424140476a6b74750d0a0b08', '275297779c28266ef9fe4c6a13c08488', + '64656667696a6b6c6e6f707173747576', + 'ecb-tbl-128: I=125'), + ('c2c3c0c10a0908f754555253a1aeafac', '86523d92bb8672cb01cf4a77fd725882', + '78797a7b7d7e7f80828384858788898a', + 'ecb-tbl-128: I=126'), + ('6d6c6f6ef8fbfafd82838c8df8fffefd', '4b8327640e9f33322a04dd96fcbf9a36', + '8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-128: I=127'), + ('f5f4f7f684878689a6a7a0a1d2cdcccf', 'ce52af650d088ca559425223f4d32694', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', + 'ecb-tbl-128: I=128'), + + # ecb_tbl.txt, KEYSIZE=192 + ('2d33eef2c0430a8a9ebf45e809c40bb6', 'dff4945e0336df4c1c56bc700eff837f', + '00010203050607080a0b0c0d0f10111214151617191a1b1c', + 'ecb-tbl-192: I=1'), + ('6aa375d1fa155a61fb72353e0a5a8756', 'b6fddef4752765e347d5d2dc196d1252', + '1e1f20212324252628292a2b2d2e2f30323334353738393a', + 'ecb-tbl-192: I=2'), + ('bc3736518b9490dcb8ed60eb26758ed4', 'd23684e3d963b3afcf1a114aca90cbd6', + '3c3d3e3f41424344464748494b4c4d4e5051525355565758', + 'ecb-tbl-192: I=3'), + ('aa214402b46cffb9f761ec11263a311e', '3a7ac027753e2a18c2ceab9e17c11fd0', + '5a5b5c5d5f60616264656667696a6b6c6e6f707173747576', + 'ecb-tbl-192: I=4'), + ('02aea86e572eeab66b2c3af5e9a46fd6', '8f6786bd007528ba26603c1601cdd0d8', + '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394', + 'ecb-tbl-192: I=5'), + ('e2aef6acc33b965c4fa1f91c75ff6f36', 'd17d073b01e71502e28b47ab551168b3', + '969798999b9c9d9ea0a1a2a3a5a6a7a8aaabacadafb0b1b2', + 'ecb-tbl-192: I=6'), + ('0659df46427162b9434865dd9499f91d', 'a469da517119fab95876f41d06d40ffa', + 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6c8c9cacbcdcecfd0', + 'ecb-tbl-192: I=7'), + ('49a44239c748feb456f59c276a5658df', '6091aa3b695c11f5c0b6ad26d3d862ff', + 'd2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-192: I=8'), + ('66208f6e9d04525bdedb2733b6a6be37', '70f9e67f9f8df1294131662dc6e69364', + 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c', + 'ecb-tbl-192: I=9'), + ('3393f8dfc729c97f5480b950bc9666b0', 'd154dcafad8b207fa5cbc95e9996b559', + '0e0f10111314151618191a1b1d1e1f20222324252728292a', + 'ecb-tbl-192: I=10'), + ('606834c8ce063f3234cf1145325dbd71', '4934d541e8b46fa339c805a7aeb9e5da', + '2c2d2e2f31323334363738393b3c3d3e4041424345464748', + 'ecb-tbl-192: I=11'), + ('fec1c04f529bbd17d8cecfcc4718b17f', '62564c738f3efe186e1a127a0c4d3c61', + '4a4b4c4d4f50515254555657595a5b5c5e5f606163646566', + 'ecb-tbl-192: I=12'), + ('32df99b431ed5dc5acf8caf6dc6ce475', '07805aa043986eb23693e23bef8f3438', + '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384', + 'ecb-tbl-192: I=13'), + ('7fdc2b746f3f665296943b83710d1f82', 'df0b4931038bade848dee3b4b85aa44b', + '868788898b8c8d8e90919293959697989a9b9c9d9fa0a1a2', + 'ecb-tbl-192: I=14'), + ('8fba1510a3c5b87e2eaa3f7a91455ca2', '592d5fded76582e4143c65099309477c', + 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6b8b9babbbdbebfc0', + 'ecb-tbl-192: I=15'), + ('2c9b468b1c2eed92578d41b0716b223b', 'c9b8d6545580d3dfbcdd09b954ed4e92', + 'c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', + 'ecb-tbl-192: I=16'), + ('0a2bbf0efc6bc0034f8a03433fca1b1a', '5dccd5d6eb7c1b42acb008201df707a0', + 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfc', + 'ecb-tbl-192: I=17'), + ('25260e1f31f4104d387222e70632504b', 'a2a91682ffeb6ed1d34340946829e6f9', + 'fefe01010304050608090a0b0d0e0f10121314151718191a', + 'ecb-tbl-192: I=18'), + ('c527d25a49f08a5228d338642ae65137', 'e45d185b797000348d9267960a68435d', + '1c1d1e1f21222324262728292b2c2d2e3031323335363738', + 'ecb-tbl-192: I=19'), + ('3b49fc081432f5890d0e3d87e884a69e', '45e060dae5901cda8089e10d4f4c246b', + '3a3b3c3d3f40414244454647494a4b4c4e4f505153545556', + 'ecb-tbl-192: I=20'), + ('d173f9ed1e57597e166931df2754a083', 'f6951afacc0079a369c71fdcff45df50', + '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374', + 'ecb-tbl-192: I=21'), + ('8c2b7cafa5afe7f13562daeae1adede0', '9e95e00f351d5b3ac3d0e22e626ddad6', + '767778797b7c7d7e80818283858687888a8b8c8d8f909192', + 'ecb-tbl-192: I=22'), + ('aaf4ec8c1a815aeb826cab741339532c', '9cb566ff26d92dad083b51fdc18c173c', + '94959697999a9b9c9e9fa0a1a3a4a5a6a8a9aaabadaeafb0', + 'ecb-tbl-192: I=23'), + ('40be8c5d9108e663f38f1a2395279ecf', 'c9c82766176a9b228eb9a974a010b4fb', + 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebec', + 'ecb-tbl-192: I=24'), + ('0c8ad9bc32d43e04716753aa4cfbe351', 'd8e26aa02945881d5137f1c1e1386e88', + '2a2b2c2d2f30313234353637393a3b3c3e3f404143444546', + 'ecb-tbl-192: I=25'), + ('1407b1d5f87d63357c8dc7ebbaebbfee', 'c0e024ccd68ff5ffa4d139c355a77c55', + '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364', + 'ecb-tbl-192: I=26'), + ('e62734d1ae3378c4549e939e6f123416', '0b18b3d16f491619da338640df391d43', + '84858687898a8b8c8e8f90919394959698999a9b9d9e9fa0', + 'ecb-tbl-192: I=27'), + ('5a752cff2a176db1a1de77f2d2cdee41', 'dbe09ac8f66027bf20cb6e434f252efc', + 'a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', + 'ecb-tbl-192: I=28'), + ('a9c8c3a4eabedc80c64730ddd018cd88', '6d04e5e43c5b9cbe05feb9606b6480fe', + 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdc', + 'ecb-tbl-192: I=29'), + ('ee9b3dbbdb86180072130834d305999a', 'dd1d6553b96be526d9fee0fbd7176866', + '1a1b1c1d1f20212224252627292a2b2c2e2f303133343536', + 'ecb-tbl-192: I=30'), + ('a7fa8c3586b8ebde7568ead6f634a879', '0260ca7e3f979fd015b0dd4690e16d2a', + '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354', + 'ecb-tbl-192: I=31'), + ('37e0f4a87f127d45ac936fe7ad88c10a', '9893734de10edcc8a67c3b110b8b8cc6', + '929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', + 'ecb-tbl-192: I=32'), + ('3f77d8b5d92bac148e4e46f697a535c5', '93b30b750516b2d18808d710c2ee84ef', + '464748494b4c4d4e50515253555657585a5b5c5d5f606162', + 'ecb-tbl-192: I=33'), + ('d25ebb686c40f7e2c4da1014936571ca', '16f65fa47be3cb5e6dfe7c6c37016c0e', + '828384858788898a8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-192: I=34'), + ('4f1c769d1e5b0552c7eca84dea26a549', 'f3847210d5391e2360608e5acb560581', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbc', + 'ecb-tbl-192: I=35'), + ('8548e2f882d7584d0fafc54372b6633a', '8754462cd223366d0753913e6af2643d', + 'bebfc0c1c3c4c5c6c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', + 'ecb-tbl-192: I=36'), + ('87d7a336cb476f177cd2a51af2a62cdf', '1ea20617468d1b806a1fd58145462017', + 'dcdddedfe1e2e3e4e6e7e8e9ebecedeef0f1f2f3f5f6f7f8', + 'ecb-tbl-192: I=37'), + ('03b1feac668c4e485c1065dfc22b44ee', '3b155d927355d737c6be9dda60136e2e', + 'fafbfcfdfe01000204050607090a0b0c0e0f101113141516', + 'ecb-tbl-192: I=38'), + ('bda15e66819fa72d653a6866aa287962', '26144f7b66daa91b6333dbd3850502b3', + '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334', + 'ecb-tbl-192: I=39'), + ('4d0c7a0d2505b80bf8b62ceb12467f0a', 'e4f9a4ab52ced8134c649bf319ebcc90', + '363738393b3c3d3e40414243454647484a4b4c4d4f505152', + 'ecb-tbl-192: I=40'), + ('626d34c9429b37211330986466b94e5f', 'b9ddd29ac6128a6cab121e34a4c62b36', + '54555657595a5b5c5e5f60616364656668696a6b6d6e6f70', + 'ecb-tbl-192: I=41'), + ('333c3e6bf00656b088a17e5ff0e7f60a', '6fcddad898f2ce4eff51294f5eaaf5c9', + '727374757778797a7c7d7e7f81828384868788898b8c8d8e', + 'ecb-tbl-192: I=42'), + ('687ed0cdc0d2a2bc8c466d05ef9d2891', 'c9a6fe2bf4028080bea6f7fc417bd7e3', + '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabac', + 'ecb-tbl-192: I=43'), + ('487830e78cc56c1693e64b2a6660c7b6', '6a2026846d8609d60f298a9c0673127f', + 'aeafb0b1b3b4b5b6b8b9babbbdbebfc0c2c3c4c5c7c8c9ca', + 'ecb-tbl-192: I=44'), + ('7a48d6b7b52b29392aa2072a32b66160', '2cb25c005e26efea44336c4c97a4240b', + 'cccdcecfd1d2d3d4d6d7d8d9dbdcdddee0e1e2e3e5e6e7e8', + 'ecb-tbl-192: I=45'), + ('907320e64c8c5314d10f8d7a11c8618d', '496967ab8680ddd73d09a0e4c7dcc8aa', + 'eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', + 'ecb-tbl-192: I=46'), + ('b561f2ca2d6e65a4a98341f3ed9ff533', 'd5af94de93487d1f3a8c577cb84a66a4', + '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324', + 'ecb-tbl-192: I=47'), + ('df769380d212792d026f049e2e3e48ef', '84bdac569cae2828705f267cc8376e90', + '262728292b2c2d2e30313233353637383a3b3c3d3f404142', + 'ecb-tbl-192: I=48'), + ('79f374bc445bdabf8fccb8843d6054c6', 'f7401dda5ad5ab712b7eb5d10c6f99b6', + '44454647494a4b4c4e4f50515354555658595a5b5d5e5f60', + 'ecb-tbl-192: I=49'), + ('4e02f1242fa56b05c68dbae8fe44c9d6', '1c9d54318539ebd4c3b5b7e37bf119f0', + '626364656768696a6c6d6e6f71727374767778797b7c7d7e', + 'ecb-tbl-192: I=50'), + ('cf73c93cbff57ac635a6f4ad2a4a1545', 'aca572d65fb2764cffd4a6eca090ea0d', + '80818283858687888a8b8c8d8f90919294959697999a9b9c', + 'ecb-tbl-192: I=51'), + ('9923548e2875750725b886566784c625', '36d9c627b8c2a886a10ccb36eae3dfbb', + '9e9fa0a1a3a4a5a6a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', + 'ecb-tbl-192: I=52'), + ('4888336b723a022c9545320f836a4207', '010edbf5981e143a81d646e597a4a568', + 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdced0d1d2d3d5d6d7d8', + 'ecb-tbl-192: I=53'), + ('f84d9a5561b0608b1160dee000c41ba8', '8db44d538dc20cc2f40f3067fd298e60', + 'dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', + 'ecb-tbl-192: I=54'), + ('c23192a0418e30a19b45ae3e3625bf22', '930eb53bc71e6ac4b82972bdcd5aafb3', + 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314', + 'ecb-tbl-192: I=55'), + ('b84e0690b28b0025381ad82a15e501a7', '6c42a81edcbc9517ccd89c30c95597b4', + '161718191b1c1d1e20212223252627282a2b2c2d2f303132', + 'ecb-tbl-192: I=56'), + ('acef5e5c108876c4f06269f865b8f0b0', 'da389847ad06df19d76ee119c71e1dd3', + '34353637393a3b3c3e3f40414344454648494a4b4d4e4f50', + 'ecb-tbl-192: I=57'), + ('0f1b3603e0f5ddea4548246153a5e064', 'e018fdae13d3118f9a5d1a647a3f0462', + '525354555758595a5c5d5e5f61626364666768696b6c6d6e', + 'ecb-tbl-192: I=58'), + ('fbb63893450d42b58c6d88cd3c1809e3', '2aa65db36264239d3846180fabdfad20', + '70717273757677787a7b7c7d7f80818284858687898a8b8c', + 'ecb-tbl-192: I=59'), + ('4bef736df150259dae0c91354e8a5f92', '1472163e9a4f780f1ceb44b07ecf4fdb', + '8e8f90919394959698999a9b9d9e9fa0a2a3a4a5a7a8a9aa', + 'ecb-tbl-192: I=60'), + ('7d2d46242056ef13d3c3fc93c128f4c7', 'c8273fdc8f3a9f72e91097614b62397c', + 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbec0c1c2c3c5c6c7c8', + 'ecb-tbl-192: I=61'), + ('e9c1ba2df415657a256edb33934680fd', '66c8427dcd733aaf7b3470cb7d976e3f', + 'cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', + 'ecb-tbl-192: I=62'), + ('e23ee277b0aa0a1dfb81f7527c3514f1', '146131cb17f1424d4f8da91e6f80c1d0', + 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304', + 'ecb-tbl-192: I=63'), + ('3e7445b0b63caaf75e4a911e12106b4c', '2610d0ad83659081ae085266a88770dc', + '060708090b0c0d0e10111213151617181a1b1c1d1f202122', + 'ecb-tbl-192: I=64'), + ('767774752023222544455a5be6e1e0e3', '38a2b5a974b0575c5d733917fb0d4570', + '24252627292a2b2c2e2f30313334353638393a3b3d3e3f40', + 'ecb-tbl-192: I=65'), + ('72737475717e7f7ce9e8ebea696a6b6c', 'e21d401ebc60de20d6c486e4f39a588b', + '424344454748494a4c4d4e4f51525354565758595b5c5d5e', + 'ecb-tbl-192: I=66'), + ('dfdedddc25262728c9c8cfcef1eeefec', 'e51d5f88c670b079c0ca1f0c2c4405a2', + '60616263656667686a6b6c6d6f70717274757677797a7b7c', + 'ecb-tbl-192: I=67'), + ('fffe0100707776755f5e5d5c7675746b', '246a94788a642fb3d1b823c8762380c8', + '7e7f80818384858688898a8b8d8e8f90929394959798999a', + 'ecb-tbl-192: I=68'), + ('e0e1e2e3424140479f9e9190292e2f2c', 'b80c391c5c41a4c3b30c68e0e3d7550f', + '9c9d9e9fa1a2a3a4a6a7a8a9abacadaeb0b1b2b3b5b6b7b8', + 'ecb-tbl-192: I=69'), + ('2120272690efeeed3b3a39384e4d4c4b', 'b77c4754fc64eb9a1154a9af0bb1f21c', + 'babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', + 'ecb-tbl-192: I=70'), + ('ecedeeef5350516ea1a0a7a6a3acadae', 'fb554de520d159a06bf219fc7f34a02f', + 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4', + 'ecb-tbl-192: I=71'), + ('32333c3d25222320e9e8ebeacecdccc3', 'a89fba152d76b4927beed160ddb76c57', + 'f6f7f8f9fbfcfdfe00010203050607080a0b0c0d0f101112', + 'ecb-tbl-192: I=72'), + ('40414243626160678a8bb4b511161714', '5676eab4a98d2e8473b3f3d46424247c', + '14151617191a1b1c1e1f20212324252628292a2b2d2e2f30', + 'ecb-tbl-192: I=73'), + ('94959293f5fafbf81f1e1d1c7c7f7e79', '4e8f068bd7ede52a639036ec86c33568', + '323334353738393a3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-192: I=74'), + ('bebfbcbd191a1b14cfcec9c8546b6a69', 'f0193c4d7aff1791ee4c07eb4a1824fc', + '50515253555657585a5b5c5d5f60616264656667696a6b6c', + 'ecb-tbl-192: I=75'), + ('2c2d3233898e8f8cbbbab9b8333031ce', 'ac8686eeca9ba761afe82d67b928c33f', + '6e6f70717374757678797a7b7d7e7f80828384858788898a', + 'ecb-tbl-192: I=76'), + ('84858687bfbcbdba37363938fdfafbf8', '5faf8573e33b145b6a369cd3606ab2c9', + '8c8d8e8f91929394969798999b9c9d9ea0a1a2a3a5a6a7a8', + 'ecb-tbl-192: I=77'), + ('828384857669686b909192930b08090e', '31587e9944ab1c16b844ecad0df2e7da', + 'aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', + 'ecb-tbl-192: I=78'), + ('bebfbcbd9695948b707176779e919093', 'd017fecd91148aba37f6f3068aa67d8a', + 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4', + 'ecb-tbl-192: I=79'), + ('8b8a85846067666521202322d0d3d2dd', '788ef2f021a73cba2794b616078a8500', + 'e6e7e8e9ebecedeef0f1f2f3f5f6f7f8fafbfcfdfe010002', + 'ecb-tbl-192: I=80'), + ('76777475f1f2f3f4f8f9e6e777707172', '5d1ef20dced6bcbc12131ac7c54788aa', + '04050607090a0b0c0e0f10111314151618191a1b1d1e1f20', + 'ecb-tbl-192: I=81'), + ('a4a5a2a34f404142b4b5b6b727242522', 'b3c8cf961faf9ea05fdde6d1e4d8f663', + '222324252728292a2c2d2e2f31323334363738393b3c3d3e', + 'ecb-tbl-192: I=82'), + ('94959697e1e2e3ec16171011839c9d9e', '143075c70605861c7fac6526199e459f', + '40414243454647484a4b4c4d4f50515254555657595a5b5c', + 'ecb-tbl-192: I=83'), + ('03023d3c06010003dedfdcddfffcfde2', 'a5ae12eade9a87268d898bfc8fc0252a', + '5e5f60616364656668696a6b6d6e6f70727374757778797a', + 'ecb-tbl-192: I=84'), + ('10111213f1f2f3f4cecfc0c1dbdcddde', '0924f7cf2e877a4819f5244a360dcea9', + '7c7d7e7f81828384868788898b8c8d8e9091929395969798', + 'ecb-tbl-192: I=85'), + ('67666160724d4c4f1d1c1f1e73707176', '3d9e9635afcc3e291cc7ab3f27d1c99a', + '9a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', + 'ecb-tbl-192: I=86'), + ('e6e7e4e5a8abaad584858283909f9e9d', '9d80feebf87510e2b8fb98bb54fd788c', + 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4', + 'ecb-tbl-192: I=87'), + ('71707f7e565150537d7c7f7e6162636c', '5f9d1a082a1a37985f174002eca01309', + 'd6d7d8d9dbdcdddee0e1e2e3e5e6e7e8eaebecedeff0f1f2', + 'ecb-tbl-192: I=88'), + ('64656667212223245555aaaa03040506', 'a390ebb1d1403930184a44b4876646e4', + 'f4f5f6f7f9fafbfcfefe01010304050608090a0b0d0e0f10', + 'ecb-tbl-192: I=89'), + ('9e9f9899aba4a5a6cfcecdcc2b28292e', '700fe918981c3195bb6c4bcb46b74e29', + '121314151718191a1c1d1e1f21222324262728292b2c2d2e', + 'ecb-tbl-192: I=90'), + ('c7c6c5c4d1d2d3dc626364653a454447', '907984406f7bf2d17fb1eb15b673d747', + '30313233353637383a3b3c3d3f40414244454647494a4b4c', + 'ecb-tbl-192: I=91'), + ('f6f7e8e9e0e7e6e51d1c1f1e5b585966', 'c32a956dcfc875c2ac7c7cc8b8cc26e1', + '4e4f50515354555658595a5b5d5e5f60626364656768696a', + 'ecb-tbl-192: I=92'), + ('bcbdbebf5d5e5f5868696667f4f3f2f1', '02646e2ebfa9b820cf8424e9b9b6eb51', + '6c6d6e6f71727374767778797b7c7d7e8081828385868788', + 'ecb-tbl-192: I=93'), + ('40414647b0afaead9b9a99989b98999e', '621fda3a5bbd54c6d3c685816bd4ead8', + '8a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', + 'ecb-tbl-192: I=94'), + ('69686b6a0201001f0f0e0908b4bbbab9', 'd4e216040426dfaf18b152469bc5ac2f', + 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4', + 'ecb-tbl-192: I=95'), + ('c7c6c9c8d8dfdedd5a5b5859bebdbcb3', '9d0635b9d33b6cdbd71f5d246ea17cc8', + 'c6c7c8c9cbcccdced0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', + 'ecb-tbl-192: I=96'), + ('dedfdcdd787b7a7dfffee1e0b2b5b4b7', '10abad1bd9bae5448808765583a2cc1a', + 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6f8f9fafbfdfefe00', + 'ecb-tbl-192: I=97'), + ('4d4c4b4a606f6e6dd0d1d2d3fbf8f9fe', '6891889e16544e355ff65a793c39c9a8', + '020304050708090a0c0d0e0f11121314161718191b1c1d1e', + 'ecb-tbl-192: I=98'), + ('b7b6b5b4d7d4d5dae5e4e3e2e1fefffc', 'cc735582e68072c163cd9ddf46b91279', + '20212223252627282a2b2c2d2f30313234353637393a3b3c', + 'ecb-tbl-192: I=99'), + ('cecfb0b1f7f0f1f2aeafacad3e3d3c23', 'c5c68b9aeeb7f878df578efa562f9574', + '3e3f40414344454648494a4b4d4e4f50525354555758595a', + 'ecb-tbl-192: I=100'), + ('cacbc8c9cdcecfc812131c1d494e4f4c', '5f4764395a667a47d73452955d0d2ce8', + '5c5d5e5f61626364666768696b6c6d6e7071727375767778', + 'ecb-tbl-192: I=101'), + ('9d9c9b9ad22d2c2fb1b0b3b20c0f0e09', '701448331f66106cefddf1eb8267c357', + '7a7b7c7d7f80818284858687898a8b8c8e8f909193949596', + 'ecb-tbl-192: I=102'), + ('7a7b787964676659959493924f404142', 'cb3ee56d2e14b4e1941666f13379d657', + '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4', + 'ecb-tbl-192: I=103'), + ('aaaba4a5cec9c8cb1f1e1d1caba8a9a6', '9fe16efd18ab6e1981191851fedb0764', + 'b6b7b8b9bbbcbdbec0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', + 'ecb-tbl-192: I=104'), + ('93929190282b2a2dc4c5fafb92959497', '3dc9ba24e1b223589b147adceb4c8e48', + 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6e8e9eaebedeeeff0', + 'ecb-tbl-192: I=105'), + ('efeee9e8ded1d0d339383b3a888b8a8d', '1c333032682e7d4de5e5afc05c3e483c', + 'f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', + 'ecb-tbl-192: I=106'), + ('7f7e7d7ca2a1a0af78797e7f112e2f2c', 'd593cc99a95afef7e92038e05a59d00a', + '10111213151617181a1b1c1d1f20212224252627292a2b2c', + 'ecb-tbl-192: I=107'), + ('84859a9b2b2c2d2e868784852625245b', '51e7f96f53b4353923452c222134e1ec', + '2e2f30313334353638393a3b3d3e3f40424344454748494a', + 'ecb-tbl-192: I=108'), + ('b0b1b2b3070405026869666710171615', '4075b357a1a2b473400c3b25f32f81a4', + '4c4d4e4f51525354565758595b5c5d5e6061626365666768', + 'ecb-tbl-192: I=109'), + ('acadaaabbda2a3a00d0c0f0e595a5b5c', '302e341a3ebcd74f0d55f61714570284', + '6a6b6c6d6f70717274757677797a7b7c7e7f808183848586', + 'ecb-tbl-192: I=110'), + ('121310115655544b5253545569666764', '57abdd8231280da01c5042b78cf76522', + '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4', + 'ecb-tbl-192: I=111'), + ('dedfd0d166616063eaebe8e94142434c', '17f9ea7eea17ac1adf0e190fef799e92', + 'a6a7a8a9abacadaeb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', + 'ecb-tbl-192: I=112'), + ('dbdad9d81417161166677879e0e7e6e5', '2e1bdd563dd87ee5c338dd6d098d0a7a', + 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6d8d9dadbdddedfe0', + 'ecb-tbl-192: I=113'), + ('6a6b6c6de0efeeed2b2a2928c0c3c2c5', 'eb869996e6f8bfb2bfdd9e0c4504dbb2', + 'e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', + 'ecb-tbl-192: I=114'), + ('b1b0b3b21714151a1a1b1c1d5649484b', 'c2e01549e9decf317468b3e018c61ba8', + '00010203050607080a0b0c0d0f10111214151617191a1b1c', + 'ecb-tbl-192: I=115'), + ('39380706a3a4a5a6c4c5c6c77271706f', '8da875d033c01dd463b244a1770f4a22', + '1e1f20212324252628292a2b2d2e2f30323334353738393a', + 'ecb-tbl-192: I=116'), + ('5c5d5e5f1013121539383736e2e5e4e7', '8ba0dcf3a186844f026d022f8839d696', + '3c3d3e3f41424344464748494b4c4d4e5051525355565758', + 'ecb-tbl-192: I=117'), + ('43424544ead5d4d72e2f2c2d64676661', 'e9691ff9a6cc6970e51670a0fd5b88c1', + '5a5b5c5d5f60616264656667696a6b6c6e6f707173747576', + 'ecb-tbl-192: I=118'), + ('55545756989b9a65f8f9feff18171615', 'f2baec06faeed30f88ee63ba081a6e5b', + '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394', + 'ecb-tbl-192: I=119'), + ('05040b0a525554573c3d3e3f4a494847', '9c39d4c459ae5753394d6094adc21e78', + '969798999b9c9d9ea0a1a2a3a5a6a7a8aaabacadafb0b1b2', + 'ecb-tbl-192: I=120'), + ('14151617595a5b5c8584fbfa8e89888b', '6345b532a11904502ea43ba99c6bd2b2', + 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6c8c9cacbcdcecfd0', + 'ecb-tbl-192: I=121'), + ('7c7d7a7bfdf2f3f029282b2a51525354', '5ffae3061a95172e4070cedce1e428c8', + 'd2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-192: I=122'), + ('38393a3b1e1d1c1341404746c23d3c3e', '0a4566be4cdf9adce5dec865b5ab34cd', + 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c', + 'ecb-tbl-192: I=123'), + ('8d8c939240474645818083827c7f7e41', 'ca17fcce79b7404f2559b22928f126fb', + '0e0f10111314151618191a1b1d1e1f20222324252728292a', + 'ecb-tbl-192: I=124'), + ('3b3a39381a19181f32333c3d45424340', '97ca39b849ed73a6470a97c821d82f58', + '2c2d2e2f31323334363738393b3c3d3e4041424345464748', + 'ecb-tbl-192: I=125'), + ('f0f1f6f738272625828380817f7c7d7a', '8198cb06bc684c6d3e9b7989428dcf7a', + '4a4b4c4d4f50515254555657595a5b5c5e5f606163646566', + 'ecb-tbl-192: I=126'), + ('89888b8a0407061966676061141b1a19', 'f53c464c705ee0f28d9a4c59374928bd', + '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384', + 'ecb-tbl-192: I=127'), + ('d3d2dddcaaadacaf9c9d9e9fe8ebeae5', '9adb3d4cca559bb98c3e2ed73dbf1154', + '868788898b8c8d8e90919293959697989a9b9c9d9fa0a1a2', + 'ecb-tbl-192: I=128'), + + # ecb_tbl.txt, KEYSIZE=256 + ('834eadfccac7e1b30664b1aba44815ab', '1946dabf6a03a2a2c3d0b05080aed6fc', + '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', + 'ecb-tbl-256: I=1'), + ('d9dc4dba3021b05d67c0518f72b62bf1', '5ed301d747d3cc715445ebdec62f2fb4', + '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-256: I=2'), + ('a291d86301a4a739f7392173aa3c604c', '6585c8f43d13a6beab6419fc5935b9d0', + '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', + 'ecb-tbl-256: I=3'), + ('4264b2696498de4df79788a9f83e9390', '2a5b56a596680fcc0e05f5e0f151ecae', + '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-256: I=4'), + ('ee9932b3721804d5a83ef5949245b6f6', 'f5d6ff414fd2c6181494d20c37f2b8c4', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', + 'ecb-tbl-256: I=5'), + ('e6248f55c5fdcbca9cbbb01c88a2ea77', '85399c01f59fffb5204f19f8482f00b8', + 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-256: I=6'), + ('b8358e41b9dff65fd461d55a99266247', '92097b4c88a041ddf98144bc8d22e8e7', + 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', + 'ecb-tbl-256: I=7'), + ('f0e2d72260af58e21e015ab3a4c0d906', '89bd5b73b356ab412aef9f76cea2d65c', + '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', + 'ecb-tbl-256: I=8'), + ('475b8b823ce8893db3c44a9f2a379ff7', '2536969093c55ff9454692f2fac2f530', + '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', + 'ecb-tbl-256: I=9'), + ('688f5281945812862f5f3076cf80412f', '07fc76a872843f3f6e0081ee9396d637', + '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', + 'ecb-tbl-256: I=10'), + ('08d1d2bc750af553365d35e75afaceaa', 'e38ba8ec2aa741358dcc93e8f141c491', + '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', + 'ecb-tbl-256: I=11'), + ('8707121f47cc3efceca5f9a8474950a1', 'd028ee23e4a89075d0b03e868d7d3a42', + 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', + 'ecb-tbl-256: I=12'), + ('e51aa0b135dba566939c3b6359a980c5', '8cd9423dfc459e547155c5d1d522e540', + 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', + 'ecb-tbl-256: I=13'), + ('069a007fc76a459f98baf917fedf9521', '080e9517eb1677719acf728086040ae3', + '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', + 'ecb-tbl-256: I=14'), + ('726165c1723fbcf6c026d7d00b091027', '7c1700211a3991fc0ecded0ab3e576b0', + '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', + 'ecb-tbl-256: I=15'), + ('d7c544de91d55cfcde1f84ca382200ce', 'dabcbcc855839251db51e224fbe87435', + '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', + 'ecb-tbl-256: I=16'), + ('fed3c9a161b9b5b2bd611b41dc9da357', '68d56fad0406947a4dd27a7448c10f1d', + '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', + 'ecb-tbl-256: I=17'), + ('4f634cdc6551043409f30b635832cf82', 'da9a11479844d1ffee24bbf3719a9925', + 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', + 'ecb-tbl-256: I=18'), + ('109ce98db0dfb36734d9f3394711b4e6', '5e4ba572f8d23e738da9b05ba24b8d81', + 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', + 'ecb-tbl-256: I=19'), + ('4ea6dfaba2d8a02ffdffa89835987242', 'a115a2065d667e3f0b883837a6e903f8', + '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', + 'ecb-tbl-256: I=20'), + ('5ae094f54af58e6e3cdbf976dac6d9ef', '3e9e90dc33eac2437d86ad30b137e66e', + '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', + 'ecb-tbl-256: I=21'), + ('764d8e8e0f29926dbe5122e66354fdbe', '01ce82d8fbcdae824cb3c48e495c3692', + 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', + 'ecb-tbl-256: I=22'), + ('3f0418f888cdf29a982bf6b75410d6a9', '0c9cff163ce936faaf083cfd3dea3117', + 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', + 'ecb-tbl-256: I=23'), + ('e4a3e7cb12cdd56aa4a75197a9530220', '5131ba9bd48f2bba85560680df504b52', + '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', + 'ecb-tbl-256: I=24'), + ('211677684aac1ec1a160f44c4ebf3f26', '9dc503bbf09823aec8a977a5ad26ccb2', + '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', + 'ecb-tbl-256: I=25'), + ('d21e439ff749ac8f18d6d4b105e03895', '9a6db0c0862e506a9e397225884041d7', + '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', + 'ecb-tbl-256: I=26'), + ('d9f6ff44646c4725bd4c0103ff5552a7', '430bf9570804185e1ab6365fc6a6860c', + '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', + 'ecb-tbl-256: I=27'), + ('0b1256c2a00b976250cfc5b0c37ed382', '3525ebc02f4886e6a5a3762813e8ce8a', + 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', + 'ecb-tbl-256: I=28'), + ('b056447ffc6dc4523a36cc2e972a3a79', '07fa265c763779cce224c7bad671027b', + 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', + 'ecb-tbl-256: I=29'), + ('5e25ca78f0de55802524d38da3fe4456', 'e8b72b4e8be243438c9fff1f0e205872', + '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', + 'ecb-tbl-256: I=30'), + ('a5bcf4728fa5eaad8567c0dc24675f83', '109d4f999a0e11ace1f05e6b22cbcb50', + '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-256: I=31'), + ('814e59f97ed84646b78b2ca022e9ca43', '45a5e8d4c3ed58403ff08d68a0cc4029', + '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', + 'ecb-tbl-256: I=32'), + ('15478beec58f4775c7a7f5d4395514d7', '196865964db3d417b6bd4d586bcb7634', + '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-256: I=33'), + ('253548ffca461c67c8cbc78cd59f4756', '60436ad45ac7d30d99195f815d98d2ae', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', + 'ecb-tbl-256: I=34'), + ('fd7ad8d73b9b0f8cc41600640f503d65', 'bb07a23f0b61014b197620c185e2cd75', + 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-256: I=35'), + ('06199de52c6cbf8af954cd65830bcd56', '5bc0b2850129c854423aff0751fe343b', + 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', + 'ecb-tbl-256: I=36'), + ('f17c4ffe48e44c61bd891e257e725794', '7541a78f96738e6417d2a24bd2beca40', + '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', + 'ecb-tbl-256: I=37'), + ('9a5b4a402a3e8a59be6bf5cd8154f029', 'b0a303054412882e464591f1546c5b9e', + '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', + 'ecb-tbl-256: I=38'), + ('79bd40b91a7e07dc939d441782ae6b17', '778c06d8a355eeee214fcea14b4e0eef', + '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', + 'ecb-tbl-256: I=39'), + ('d8ceaaf8976e5fbe1012d8c84f323799', '09614206d15cbace63227d06db6beebb', + '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', + 'ecb-tbl-256: I=40'), + ('3316e2751e2e388b083da23dd6ac3fbe', '41b97fb20e427a9fdbbb358d9262255d', + 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', + 'ecb-tbl-256: I=41'), + ('8b7cfbe37de7dca793521819242c5816', 'c1940f703d845f957652c2d64abd7adf', + 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', + 'ecb-tbl-256: I=42'), + ('f23f033c0eebf8ec55752662fd58ce68', 'd2d44fcdae5332343366db297efcf21b', + '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', + 'ecb-tbl-256: I=43'), + ('59eb34f6c8bdbacc5fc6ad73a59a1301', 'ea8196b79dbe167b6aa9896e287eed2b', + '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', + 'ecb-tbl-256: I=44'), + ('dcde8b6bd5cf7cc22d9505e3ce81261a', 'd6b0b0c4ba6c7dbe5ed467a1e3f06c2d', + '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', + 'ecb-tbl-256: I=45'), + ('e33cf7e524fed781e7042ff9f4b35dc7', 'ec51eb295250c22c2fb01816fb72bcae', + '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', + 'ecb-tbl-256: I=46'), + ('27963c8facdf73062867d164df6d064c', 'aded6630a07ce9c7408a155d3bd0d36f', + 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', + 'ecb-tbl-256: I=47'), + ('77b1ce386b551b995f2f2a1da994eef8', '697c9245b9937f32f5d1c82319f0363a', + 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', + 'ecb-tbl-256: I=48'), + ('f083388b013679efcf0bb9b15d52ae5c', 'aad5ad50c6262aaec30541a1b7b5b19c', + 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', + 'ecb-tbl-256: I=49'), + ('c5009e0dab55db0abdb636f2600290c8', '7d34b893855341ec625bd6875ac18c0d', + '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', + 'ecb-tbl-256: I=50'), + ('7804881e26cd532d8514d3683f00f1b9', '7ef05105440f83862f5d780e88f02b41', + '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', + 'ecb-tbl-256: I=51'), + ('46cddcd73d1eb53e675ca012870a92a3', 'c377c06403382061af2c9c93a8e70df6', + '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', + 'ecb-tbl-256: I=52'), + ('a9fb44062bb07fe130a8e8299eacb1ab', '1dbdb3ffdc052dacc83318853abc6de5', + '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', + 'ecb-tbl-256: I=53'), + ('2b6ff8d7a5cc3a28a22d5a6f221af26b', '69a6eab00432517d0bf483c91c0963c7', + 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', + 'ecb-tbl-256: I=54'), + ('1a9527c29b8add4b0e3e656dbb2af8b4', '0797f41dc217c80446e1d514bd6ab197', + 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', + 'ecb-tbl-256: I=55'), + ('7f99cf2c75244df015eb4b0c1050aeae', '9dfd76575902a637c01343c58e011a03', + '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', + 'ecb-tbl-256: I=56'), + ('e84ff85b0d9454071909c1381646c4ed', 'acf4328ae78f34b9fa9b459747cc2658', + '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', + 'ecb-tbl-256: I=57'), + ('89afd40f99521280d5399b12404f6db4', 'b0479aea12bac4fe2384cf98995150c6', + '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', + 'ecb-tbl-256: I=58'), + ('a09ef32dbc5119a35ab7fa38656f0329', '9dd52789efe3ffb99f33b3da5030109a', + '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', + 'ecb-tbl-256: I=59'), + ('61773457f068c376c7829b93e696e716', 'abbb755e4621ef8f1214c19f649fb9fd', + 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', + 'ecb-tbl-256: I=60'), + ('a34f0cae726cce41dd498747d891b967', 'da27fb8174357bce2bed0e7354f380f9', + 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', + 'ecb-tbl-256: I=61'), + ('856f59496c7388ee2d2b1a27b7697847', 'c59a0663f0993838f6e5856593bdc5ef', + '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', + 'ecb-tbl-256: I=62'), + ('cb090c593ef7720bd95908fb93b49df4', 'ed60b264b5213e831607a99c0ce5e57e', + '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-256: I=63'), + ('a0ac75cd2f1923d460fc4d457ad95baf', 'e50548746846f3eb77b8c520640884ed', + '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', + 'ecb-tbl-256: I=64'), + ('2a2b282974777689e8e9eeef525d5c5f', '28282cc7d21d6a2923641e52d188ef0c', + '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-256: I=65'), + ('909192939390919e0f0e09089788898a', '0dfa5b02abb18e5a815305216d6d4f8e', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', + 'ecb-tbl-256: I=66'), + ('777675748d8e8f907170777649464744', '7359635c0eecefe31d673395fb46fb99', + 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-256: I=67'), + ('717073720605040b2d2c2b2a05fafbf9', '73c679f7d5aef2745c9737bb4c47fb36', + 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', + 'ecb-tbl-256: I=68'), + ('64656667fefdfcc31b1a1d1ca5aaaba8', 'b192bd472a4d2eafb786e97458967626', + '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', + 'ecb-tbl-256: I=69'), + ('dbdad9d86a696867b5b4b3b2c8d7d6d5', '0ec327f6c8a2b147598ca3fde61dc6a4', + '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', + 'ecb-tbl-256: I=70'), + ('5c5d5e5fe3e0e1fe31303736333c3d3e', 'fc418eb3c41b859b38d4b6f646629729', + '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', + 'ecb-tbl-256: I=71'), + ('545556574b48494673727574546b6a69', '30249e5ac282b1c981ea64b609f3a154', + '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', + 'ecb-tbl-256: I=72'), + ('ecedeeefc6c5c4bb56575051f5fafbf8', '5e6e08646d12150776bb43c2d78a9703', + 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', + 'ecb-tbl-256: I=73'), + ('464744452724252ac9c8cfced2cdcccf', 'faeb3d5de652cd3447dceb343f30394a', + 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', + 'ecb-tbl-256: I=74'), + ('e6e7e4e54142435c878681801c131211', 'a8e88706823f6993ef80d05c1c7b2cf0', + '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', + 'ecb-tbl-256: I=75'), + ('72737071cfcccdc2f9f8fffe710e0f0c', '8ced86677e6e00a1a1b15968f2d3cce6', + '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', + 'ecb-tbl-256: I=76'), + ('505152537370714ec3c2c5c4010e0f0c', '9fc7c23858be03bdebb84e90db6786a9', + '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', + 'ecb-tbl-256: I=77'), + ('a8a9aaab5c5f5e51aeafa8a93d222320', 'b4fbd65b33f70d8cf7f1111ac4649c36', + '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', + 'ecb-tbl-256: I=78'), + ('dedfdcddf6f5f4eb10111617fef1f0f3', 'c5c32d5ed03c4b53cc8c1bd0ef0dbbf6', + 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', + 'ecb-tbl-256: I=79'), + ('bdbcbfbe5e5d5c530b0a0d0cfac5c4c7', 'd1a7f03b773e5c212464b63709c6a891', + 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', + 'ecb-tbl-256: I=80'), + ('8a8b8889050606f8f4f5f2f3636c6d6e', '6b7161d8745947ac6950438ea138d028', + 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', + 'ecb-tbl-256: I=81'), + ('a6a7a4a54d4e4f40b2b3b4b539262724', 'fd47a9f7e366ee7a09bc508b00460661', + '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', + 'ecb-tbl-256: I=82'), + ('9c9d9e9fe9eaebf40e0f08099b949596', '00d40b003dc3a0d9310b659b98c7e416', + '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', + 'ecb-tbl-256: I=83'), + ('2d2c2f2e1013121dcccdcacbed121310', 'eea4c79dcc8e2bda691f20ac48be0717', + '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', + 'ecb-tbl-256: I=84'), + ('f4f5f6f7edeeefd0eaebecedf7f8f9fa', 'e78f43b11c204403e5751f89d05a2509', + '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', + 'ecb-tbl-256: I=85'), + ('3d3c3f3e282b2a2573727574150a0b08', 'd0f0e3d1f1244bb979931e38dd1786ef', + 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', + 'ecb-tbl-256: I=86'), + ('b6b7b4b5f8fbfae5b4b5b2b3a0afaead', '042e639dc4e1e4dde7b75b749ea6f765', + 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', + 'ecb-tbl-256: I=87'), + ('b7b6b5b4989b9a95878681809ba4a5a6', 'bc032fdd0efe29503a980a7d07ab46a8', + '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', + 'ecb-tbl-256: I=88'), + ('a8a9aaabe5e6e798e9e8efee4748494a', '0c93ac949c0da6446effb86183b6c910', + '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', + 'ecb-tbl-256: I=89'), + ('ecedeeefd9dadbd4b9b8bfbe657a7b78', 'e0d343e14da75c917b4a5cec4810d7c2', + '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', + 'ecb-tbl-256: I=90'), + ('7f7e7d7c696a6b74cacbcccd929d9c9f', '0eafb821748408279b937b626792e619', + '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', + 'ecb-tbl-256: I=91'), + ('08090a0b0605040bfffef9f8b9c6c7c4', 'fa1ac6e02d23b106a1fef18b274a553f', + 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', + 'ecb-tbl-256: I=92'), + ('08090a0bf1f2f3ccfcfdfafb68676665', '0dadfe019cd12368075507df33c1a1e9', + 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', + 'ecb-tbl-256: I=93'), + ('cacbc8c93a393837050403020d121310', '3a0879b414465d9ffbaf86b33a63a1b9', + '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', + 'ecb-tbl-256: I=94'), + ('e9e8ebea8281809f8f8e8988343b3a39', '62199fadc76d0be1805d3ba0b7d914bf', + '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-256: I=95'), + ('515053524645444bd0d1d6d7340b0a09', '1b06d6c5d333e742730130cf78e719b4', + '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', + 'ecb-tbl-256: I=96'), + ('42434041ecefee1193929594c6c9c8cb', 'f1f848824c32e9dcdcbf21580f069329', + '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', + 'ecb-tbl-256: I=97'), + ('efeeedecc2c1c0cf76777071455a5b58', '1a09050cbd684f784d8e965e0782f28a', + 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', + 'ecb-tbl-256: I=98'), + ('5f5e5d5c3f3c3d221d1c1b1a19161714', '79c2969e7ded2ba7d088f3f320692360', + 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', + 'ecb-tbl-256: I=99'), + ('000102034142434c1c1d1a1b8d727371', '091a658a2f7444c16accb669450c7b63', + 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', + 'ecb-tbl-256: I=100'), + ('8e8f8c8db1b2b38c56575051050a0b08', '97c1e3a72cca65fa977d5ed0e8a7bbfc', + '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', + 'ecb-tbl-256: I=101'), + ('a7a6a5a4e8ebeae57f7e7978cad5d4d7', '70c430c6db9a17828937305a2df91a2a', + '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', + 'ecb-tbl-256: I=102'), + ('8a8b888994979689454443429f909192', '629553457fbe2479098571c7c903fde8', + '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', + 'ecb-tbl-256: I=103'), + ('8c8d8e8fe0e3e2ed45444342f1cecfcc', 'a25b25a61f612669e7d91265c7d476ba', + '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', + 'ecb-tbl-256: I=104'), + ('fffefdfc4c4f4e31d8d9dedfb6b9b8bb', 'eb7e4e49b8ae0f024570dda293254fed', + 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', + 'ecb-tbl-256: I=105'), + ('fdfcfffecccfcec12f2e29286679787b', '38fe15d61cca84516e924adce5014f67', + 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', + 'ecb-tbl-256: I=106'), + ('67666564bab9b8a77071767719161714', '3ad208492249108c9f3ebeb167ad0583', + '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', + 'ecb-tbl-256: I=107'), + ('9a9b98992d2e2f2084858283245b5a59', '299ba9f9bf5ab05c3580fc26edd1ed12', + '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', + 'ecb-tbl-256: I=108'), + ('a4a5a6a70b0809365c5d5a5b2c232221', '19dc705b857a60fb07717b2ea5717781', + '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', + 'ecb-tbl-256: I=109'), + ('464744455754555af3f2f5f4afb0b1b2', 'ffc8aeb885b5efcad06b6dbebf92e76b', + '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', + 'ecb-tbl-256: I=110'), + ('323330317675746b7273747549464744', 'f58900c5e0b385253ff2546250a0142b', + 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', + 'ecb-tbl-256: I=111'), + ('a8a9aaab181b1a15808186872b141516', '2ee67b56280bc462429cee6e3370cbc1', + 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', + 'ecb-tbl-256: I=112'), + ('e7e6e5e4202323ddaaabacad343b3a39', '20db650a9c8e9a84ab4d25f7edc8f03f', + 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', + 'ecb-tbl-256: I=113'), + ('a8a9aaab2221202fedecebea1e010003', '3c36da169525cf818843805f25b78ae5', + '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', + 'ecb-tbl-256: I=114'), + ('f9f8fbfa5f5c5d42424344450e010003', '9a781d960db9e45e37779042fea51922', + '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', + 'ecb-tbl-256: I=115'), + ('57565554f5f6f7f89697909120dfdedd', '6560395ec269c672a3c288226efdba77', + '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', + 'ecb-tbl-256: I=116'), + ('f8f9fafbcccfcef1dddcdbda0e010003', '8c772b7a189ac544453d5916ebb27b9a', + '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', + 'ecb-tbl-256: I=117'), + ('d9d8dbda7073727d80818687c2dddcdf', '77ca5468cc48e843d05f78eed9d6578f', + 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', + 'ecb-tbl-256: I=118'), + ('c5c4c7c6080b0a1588898e8f68676665', '72cdcc71dc82c60d4429c9e2d8195baa', + 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', + 'ecb-tbl-256: I=119'), + ('83828180dcdfded186878081f0cfcecd', '8080d68ce60e94b40b5b8b69eeb35afa', + '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', + 'ecb-tbl-256: I=120'), + ('98999a9bdddedfa079787f7e0a050407', '44222d3cde299c04369d58ac0eba1e8e', + '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', + 'ecb-tbl-256: I=121'), + ('cecfcccd4f4c4d429f9e9998dfc0c1c2', '9b8721b0a8dfc691c5bc5885dbfcb27a', + '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', + 'ecb-tbl-256: I=122'), + ('404142436665647b29282f2eaba4a5a6', '0dc015ce9a3a3414b5e62ec643384183', + '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', + 'ecb-tbl-256: I=123'), + ('33323130e6e5e4eb23222524dea1a0a3', '705715448a8da412025ce38345c2a148', + 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', + 'ecb-tbl-256: I=124'), + ('cfcecdccf6f5f4cbe6e7e0e199969794', 'c32b5b0b6fbae165266c569f4b6ecf0b', + 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', + 'ecb-tbl-256: I=125'), + ('babbb8b97271707fdcdddadb29363734', '4dca6c75192a01ddca9476af2a521e87', + '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', + 'ecb-tbl-256: I=126'), + ('c9c8cbca4447465926272021545b5a59', '058691e627ecbc36ac07b6db423bd698', + '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', + 'ecb-tbl-256: I=127'), + ('050407067477767956575051221d1c1f', '7444527095838fe080fc2bcdd30847eb', + '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', + 'ecb-tbl-256: I=128'), + + # FIPS PUB 800-38A test vectors, 2001 edition. Annex F. + + ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', + '3ad77bb40d7a3660a89ecaf32466ef97'+'f5d3d58503b9699de785895a96fdbaaf'+ + '43b1cd7f598ece23881b00e3ed030688'+'7b0c785e27e8ad3f8223207104725dd4', + '2b7e151628aed2a6abf7158809cf4f3c', + 'NIST 800-38A, F.1.1, ECB and AES-128'), + + ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', + 'bd334f1d6e45f25ff712a214571fa5cc'+'974104846d0ad3ad7734ecb3ecee4eef'+ + 'ef7afd2270e2e60adce0ba2face6444e'+'9a4b41ba738d6c72fb16691603c18e0e', + '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', + 'NIST 800-38A, F.1.3, ECB and AES-192'), + + ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', + 'f3eed1bdb5d2a03c064b5a7e3db181f8'+'591ccb10d410ed26dc5ba74a31362870'+ + 'b6ed21b99ca6f4f9f153e7b1beafed1d'+'23304b7a39f9f3ff067d8d8f9e24ecc7', + '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', + 'NIST 800-38A, F.1.3, ECB and AES-256'), + +] + +test_data_8_lanes = [] +for td in test_data: + test_data_8_lanes.append((td[0] * 8, td[1] * 8, td[2], td[3])) +test_data += test_data_8_lanes + +class TestMultipleBlocks(unittest.TestCase): + + def __init__(self, use_aesni): + unittest.TestCase.__init__(self) + self.use_aesni = use_aesni + + def runTest(self): + # Encrypt data which is 8*2+4 bytes long, so as to trigger (for the + # AESNI variant) both the path that parallelizes 8 lanes and the one + # that processes data serially + + tvs = [ + (b'a' * 16, 'c0b27011eb15bf144d2fc9fae80ea16d4c231cb230416c5fac02e6835ad9d7d0'), + (b'a' * 24, 'df8435ce361a78c535b41dcb57da952abbf9ee5954dc6fbcd75fd00fa626915d'), + (b'a' * 32, '211402de6c80db1f92ba255881178e1f70783b8cfd3b37808205e48b80486cd8') + ] + + for key, expected in tvs: + + cipher = AES.new(key, AES.MODE_ECB, use_aesni=self.use_aesni) + h = SHA256.new() + + pt = b"".join([ tobytes('{0:016x}'.format(x)) for x in range(20) ]) + ct = cipher.encrypt(pt) + self.assertEqual(SHA256.new(ct).hexdigest(), expected) + + +class TestIncompleteBlocks(unittest.TestCase): + + def __init__(self, use_aesni): + unittest.TestCase.__init__(self) + self.use_aesni = use_aesni + + def runTest(self): + # Encrypt data with length not multiple of 16 bytes + + cipher = AES.new(b'4'*16, AES.MODE_ECB, use_aesni=self.use_aesni) + + for msg_len in range(1, 16): + self.assertRaises(ValueError, cipher.encrypt, b'1' * msg_len) + self.assertRaises(ValueError, cipher.encrypt, b'1' * (msg_len+16)) + self.assertRaises(ValueError, cipher.decrypt, b'1' * msg_len) + self.assertRaises(ValueError, cipher.decrypt, b'1' * (msg_len+16)) + + self.assertEqual(cipher.encrypt(b''), b'') + self.assertEqual(cipher.decrypt(b''), b'') + + +class TestOutput(unittest.TestCase): + + def __init__(self, use_aesni): + unittest.TestCase.__init__(self) + self.use_aesni = use_aesni + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + cipher = AES.new(b'4'*16, AES.MODE_ECB, use_aesni=self.use_aesni) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(15) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + from Crypto.Util import _cpu_features + from .common import make_block_tests + + tests = make_block_tests(AES, "AES", test_data, {'use_aesni': False}) + tests += [ TestMultipleBlocks(False) ] + tests += [ TestIncompleteBlocks(False) ] + if _cpu_features.have_aes_ni(): + # Run tests with AES-NI instructions if they are available. + tests += make_block_tests(AES, "AESNI", test_data, {'use_aesni': True}) + tests += [ TestMultipleBlocks(True) ] + tests += [ TestIncompleteBlocks(True) ] + tests += [ TestOutput(True) ] + else: + print("Skipping AESNI tests") + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py new file mode 100644 index 000000000..af8a06a6c --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py @@ -0,0 +1,168 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/ARC2.py: Self-test for the Alleged-RC2 cipher +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.ARC2""" + +import unittest + +from Crypto.Util.py3compat import b, bchr + +from Crypto.Cipher import ARC2 + +# This is a list of (plaintext, ciphertext, key[, description[, extra_params]]) tuples. +test_data = [ + # Test vectors from RFC 2268 + + # 63-bit effective key length + ('0000000000000000', 'ebb773f993278eff', '0000000000000000', + 'RFC2268-1', dict(effective_keylen=63)), + + # 64-bit effective key length + ('ffffffffffffffff', '278b27e42e2f0d49', 'ffffffffffffffff', + 'RFC2268-2', dict(effective_keylen=64)), + ('1000000000000001', '30649edf9be7d2c2', '3000000000000000', + 'RFC2268-3', dict(effective_keylen=64)), + #('0000000000000000', '61a8a244adacccf0', '88', + # 'RFC2268-4', dict(effective_keylen=64)), + ('0000000000000000', '6ccf4308974c267f', '88bca90e90875a', + 'RFC2268-5', dict(effective_keylen=64)), + ('0000000000000000', '1a807d272bbe5db1', '88bca90e90875a7f0f79c384627bafb2', + 'RFC2268-6', dict(effective_keylen=64)), + + # 128-bit effective key length + ('0000000000000000', '2269552ab0f85ca6', '88bca90e90875a7f0f79c384627bafb2', + "RFC2268-7", dict(effective_keylen=128)), + ('0000000000000000', '5b78d3a43dfff1f1', + '88bca90e90875a7f0f79c384627bafb216f80a6f85920584c42fceb0be255daf1e', + "RFC2268-8", dict(effective_keylen=129)), + + # Test vectors from PyCrypto 2.0.1's testdata.py + # 1024-bit effective key length + ('0000000000000000', '624fb3e887419e48', '5068696c6970476c617373', + 'PCTv201-0'), + ('ffffffffffffffff', '79cadef44c4a5a85', '5068696c6970476c617373', + 'PCTv201-1'), + ('0001020304050607', '90411525b34e4c2c', '5068696c6970476c617373', + 'PCTv201-2'), + ('0011223344556677', '078656aaba61cbfb', '5068696c6970476c617373', + 'PCTv201-3'), + ('0000000000000000', 'd7bcc5dbb4d6e56a', 'ffffffffffffffff', + 'PCTv201-4'), + ('ffffffffffffffff', '7259018ec557b357', 'ffffffffffffffff', + 'PCTv201-5'), + ('0001020304050607', '93d20a497f2ccb62', 'ffffffffffffffff', + 'PCTv201-6'), + ('0011223344556677', 'cb15a7f819c0014d', 'ffffffffffffffff', + 'PCTv201-7'), + ('0000000000000000', '63ac98cdf3843a7a', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', + 'PCTv201-8'), + ('ffffffffffffffff', '3fb49e2fa12371dd', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', + 'PCTv201-9'), + ('0001020304050607', '46414781ab387d5f', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', + 'PCTv201-10'), + ('0011223344556677', 'be09dc81feaca271', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', + 'PCTv201-11'), + ('0000000000000000', 'e64221e608be30ab', '53e5ffe553', + 'PCTv201-12'), + ('ffffffffffffffff', '862bc60fdcd4d9a9', '53e5ffe553', + 'PCTv201-13'), + ('0001020304050607', '6a34da50fa5e47de', '53e5ffe553', + 'PCTv201-14'), + ('0011223344556677', '584644c34503122c', '53e5ffe553', + 'PCTv201-15'), +] + +class BufferOverflowTest(unittest.TestCase): + # Test a buffer overflow found in older versions of PyCrypto + + def runTest(self): + """ARC2 with keylength > 128""" + key = b("x") * 16384 + self.assertRaises(ValueError, ARC2.new, key, ARC2.MODE_ECB) + +class KeyLength(unittest.TestCase): + + def runTest(self): + self.assertRaises(ValueError, ARC2.new, bchr(0) * 4, ARC2.MODE_ECB) + self.assertRaises(ValueError, ARC2.new, bchr(0) * 129, ARC2.MODE_ECB) + + self.assertRaises(ValueError, ARC2.new, bchr(0) * 16, ARC2.MODE_ECB, + effective_keylen=39) + self.assertRaises(ValueError, ARC2.new, bchr(0) * 16, ARC2.MODE_ECB, + effective_keylen=1025) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + cipher = ARC2.new(b'4'*16, ARC2.MODE_ECB) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(7) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + from Crypto.Cipher import ARC2 + from .common import make_block_tests + + tests = make_block_tests(ARC2, "ARC2", test_data) + tests.append(BufferOverflowTest()) + tests.append(KeyLength()) + tests += [TestOutput()] + + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py new file mode 100644 index 000000000..856cf4add --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py @@ -0,0 +1,466 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/ARC4.py: Self-test for the Alleged-RC4 cipher +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.ARC4""" + +__revision__ = "$Id$" + +from Crypto.Util.py3compat import * +from Crypto.SelfTest.st_common import * +from binascii import unhexlify + +from Crypto.Cipher import ARC4 + +# This is a list of (plaintext, ciphertext, key[, description]) tuples. +test_data = [ + # Test vectors from Eric Rescorla's message with the subject + # "RC4 compatibility testing", sent to the cipherpunks mailing list on + # September 13, 1994. + # http://cypherpunks.venona.com/date/1994/09/msg00420.html + + ('0123456789abcdef', '75b7878099e0c596', '0123456789abcdef', + 'Test vector 0'), + + ('0000000000000000', '7494c2e7104b0879', '0123456789abcdef', + 'Test vector 1'), + + ('0000000000000000', 'de188941a3375d3a', '0000000000000000', + 'Test vector 2'), + + #('00000000000000000000', 'd6a141a7ec3c38dfbd61', 'ef012345', + # 'Test vector 3'), + + ('01' * 512, + '7595c3e6114a09780c4ad452338e1ffd9a1be9498f813d76533449b6778dcad8' + + 'c78a8d2ba9ac66085d0e53d59c26c2d1c490c1ebbe0ce66d1b6b1b13b6b919b8' + + '47c25a91447a95e75e4ef16779cde8bf0a95850e32af9689444fd377108f98fd' + + 'cbd4e726567500990bcc7e0ca3c4aaa304a387d20f3b8fbbcd42a1bd311d7a43' + + '03dda5ab078896ae80c18b0af66dff319616eb784e495ad2ce90d7f772a81747' + + 'b65f62093b1e0db9e5ba532fafec47508323e671327df9444432cb7367cec82f' + + '5d44c0d00b67d650a075cd4b70dedd77eb9b10231b6b5b741347396d62897421' + + 'd43df9b42e446e358e9c11a9b2184ecbef0cd8e7a877ef968f1390ec9b3d35a5' + + '585cb009290e2fcde7b5ec66d9084be44055a619d9dd7fc3166f9487f7cb2729' + + '12426445998514c15d53a18c864ce3a2b7555793988126520eacf2e3066e230c' + + '91bee4dd5304f5fd0405b35bd99c73135d3d9bc335ee049ef69b3867bf2d7bd1' + + 'eaa595d8bfc0066ff8d31509eb0c6caa006c807a623ef84c3d33c195d23ee320' + + 'c40de0558157c822d4b8c569d849aed59d4e0fd7f379586b4b7ff684ed6a189f' + + '7486d49b9c4bad9ba24b96abf924372c8a8fffb10d55354900a77a3db5f205e1' + + 'b99fcd8660863a159ad4abe40fa48934163ddde542a6585540fd683cbfd8c00f' + + '12129a284deacc4cdefe58be7137541c047126c8d49e2755ab181ab7e940b0c0', + '0123456789abcdef', + "Test vector 4"), +] + +class RFC6229_Tests(unittest.TestCase): + # Test vectors from RFC 6229. Each test vector is a tuple with two items: + # the ARC4 key and a dictionary. The dictionary has keystream offsets as keys + # and the 16-byte keystream starting at the relevant offset as value. + rfc6229_data = [ + # Page 3 + ( + '0102030405', + { + 0: 'b2 39 63 05 f0 3d c0 27 cc c3 52 4a 0a 11 18 a8', + 16: '69 82 94 4f 18 fc 82 d5 89 c4 03 a4 7a 0d 09 19', + 240: '28 cb 11 32 c9 6c e2 86 42 1d ca ad b8 b6 9e ae', + 256: '1c fc f6 2b 03 ed db 64 1d 77 df cf 7f 8d 8c 93', + 496: '42 b7 d0 cd d9 18 a8 a3 3d d5 17 81 c8 1f 40 41', + 512: '64 59 84 44 32 a7 da 92 3c fb 3e b4 98 06 61 f6', + 752: 'ec 10 32 7b de 2b ee fd 18 f9 27 76 80 45 7e 22', + 768: 'eb 62 63 8d 4f 0b a1 fe 9f ca 20 e0 5b f8 ff 2b', + 1008:'45 12 90 48 e6 a0 ed 0b 56 b4 90 33 8f 07 8d a5', + 1024:'30 ab bc c7 c2 0b 01 60 9f 23 ee 2d 5f 6b b7 df', + 1520:'32 94 f7 44 d8 f9 79 05 07 e7 0f 62 e5 bb ce ea', + 1536:'d8 72 9d b4 18 82 25 9b ee 4f 82 53 25 f5 a1 30', + 2032:'1e b1 4a 0c 13 b3 bf 47 fa 2a 0b a9 3a d4 5b 8b', + 2048:'cc 58 2f 8b a9 f2 65 e2 b1 be 91 12 e9 75 d2 d7', + 3056:'f2 e3 0f 9b d1 02 ec bf 75 aa ad e9 bc 35 c4 3c', + 3072:'ec 0e 11 c4 79 dc 32 9d c8 da 79 68 fe 96 56 81', + 4080:'06 83 26 a2 11 84 16 d2 1f 9d 04 b2 cd 1c a0 50', + 4096:'ff 25 b5 89 95 99 67 07 e5 1f bd f0 8b 34 d8 75' + } + ), + # Page 4 + ( + '01020304050607', + { + 0: '29 3f 02 d4 7f 37 c9 b6 33 f2 af 52 85 fe b4 6b', + 16: 'e6 20 f1 39 0d 19 bd 84 e2 e0 fd 75 20 31 af c1', + 240: '91 4f 02 53 1c 92 18 81 0d f6 0f 67 e3 38 15 4c', + 256: 'd0 fd b5 83 07 3c e8 5a b8 39 17 74 0e c0 11 d5', + 496: '75 f8 14 11 e8 71 cf fa 70 b9 0c 74 c5 92 e4 54', + 512: '0b b8 72 02 93 8d ad 60 9e 87 a5 a1 b0 79 e5 e4', + 752: 'c2 91 12 46 b6 12 e7 e7 b9 03 df ed a1 da d8 66', + 768: '32 82 8f 91 50 2b 62 91 36 8d e8 08 1d e3 6f c2', + 1008:'f3 b9 a7 e3 b2 97 bf 9a d8 04 51 2f 90 63 ef f1', + 1024:'8e cb 67 a9 ba 1f 55 a5 a0 67 e2 b0 26 a3 67 6f', + 1520:'d2 aa 90 2b d4 2d 0d 7c fd 34 0c d4 58 10 52 9f', + 1536:'78 b2 72 c9 6e 42 ea b4 c6 0b d9 14 e3 9d 06 e3', + 2032:'f4 33 2f d3 1a 07 93 96 ee 3c ee 3f 2a 4f f0 49', + 2048:'05 45 97 81 d4 1f da 7f 30 c1 be 7e 12 46 c6 23', + 3056:'ad fd 38 68 b8 e5 14 85 d5 e6 10 01 7e 3d d6 09', + 3072:'ad 26 58 1c 0c 5b e4 5f 4c ea 01 db 2f 38 05 d5', + 4080:'f3 17 2c ef fc 3b 3d 99 7c 85 cc d5 af 1a 95 0c', + 4096:'e7 4b 0b 97 31 22 7f d3 7c 0e c0 8a 47 dd d8 b8' + } + ), + ( + '0102030405060708', + { + 0: '97 ab 8a 1b f0 af b9 61 32 f2 f6 72 58 da 15 a8', + 16: '82 63 ef db 45 c4 a1 86 84 ef 87 e6 b1 9e 5b 09', + 240: '96 36 eb c9 84 19 26 f4 f7 d1 f3 62 bd df 6e 18', + 256: 'd0 a9 90 ff 2c 05 fe f5 b9 03 73 c9 ff 4b 87 0a', + 496: '73 23 9f 1d b7 f4 1d 80 b6 43 c0 c5 25 18 ec 63', + 512: '16 3b 31 99 23 a6 bd b4 52 7c 62 61 26 70 3c 0f', + 752: '49 d6 c8 af 0f 97 14 4a 87 df 21 d9 14 72 f9 66', + 768: '44 17 3a 10 3b 66 16 c5 d5 ad 1c ee 40 c8 63 d0', + 1008:'27 3c 9c 4b 27 f3 22 e4 e7 16 ef 53 a4 7d e7 a4', + 1024:'c6 d0 e7 b2 26 25 9f a9 02 34 90 b2 61 67 ad 1d', + 1520:'1f e8 98 67 13 f0 7c 3d 9a e1 c1 63 ff 8c f9 d3', + 1536:'83 69 e1 a9 65 61 0b e8 87 fb d0 c7 91 62 aa fb', + 2032:'0a 01 27 ab b4 44 84 b9 fb ef 5a bc ae 1b 57 9f', + 2048:'c2 cd ad c6 40 2e 8e e8 66 e1 f3 7b db 47 e4 2c', + 3056:'26 b5 1e a3 7d f8 e1 d6 f7 6f c3 b6 6a 74 29 b3', + 3072:'bc 76 83 20 5d 4f 44 3d c1 f2 9d da 33 15 c8 7b', + 4080:'d5 fa 5a 34 69 d2 9a aa f8 3d 23 58 9d b8 c8 5b', + 4096:'3f b4 6e 2c 8f 0f 06 8e dc e8 cd cd 7d fc 58 62' + } + ), + # Page 5 + ( + '0102030405060708090a', + { + 0: 'ed e3 b0 46 43 e5 86 cc 90 7d c2 18 51 70 99 02', + 16: '03 51 6b a7 8f 41 3b eb 22 3a a5 d4 d2 df 67 11', + 240: '3c fd 6c b5 8e e0 fd de 64 01 76 ad 00 00 04 4d', + 256: '48 53 2b 21 fb 60 79 c9 11 4c 0f fd 9c 04 a1 ad', + 496: '3e 8c ea 98 01 71 09 97 90 84 b1 ef 92 f9 9d 86', + 512: 'e2 0f b4 9b db 33 7e e4 8b 8d 8d c0 f4 af ef fe', + 752: '5c 25 21 ea cd 79 66 f1 5e 05 65 44 be a0 d3 15', + 768: 'e0 67 a7 03 19 31 a2 46 a6 c3 87 5d 2f 67 8a cb', + 1008:'a6 4f 70 af 88 ae 56 b6 f8 75 81 c0 e2 3e 6b 08', + 1024:'f4 49 03 1d e3 12 81 4e c6 f3 19 29 1f 4a 05 16', + 1520:'bd ae 85 92 4b 3c b1 d0 a2 e3 3a 30 c6 d7 95 99', + 1536:'8a 0f ed db ac 86 5a 09 bc d1 27 fb 56 2e d6 0a', + 2032:'b5 5a 0a 5b 51 a1 2a 8b e3 48 99 c3 e0 47 51 1a', + 2048:'d9 a0 9c ea 3c e7 5f e3 96 98 07 03 17 a7 13 39', + 3056:'55 22 25 ed 11 77 f4 45 84 ac 8c fa 6c 4e b5 fc', + 3072:'7e 82 cb ab fc 95 38 1b 08 09 98 44 21 29 c2 f8', + 4080:'1f 13 5e d1 4c e6 0a 91 36 9d 23 22 be f2 5e 3c', + 4096:'08 b6 be 45 12 4a 43 e2 eb 77 95 3f 84 dc 85 53' + } + ), + ( + '0102030405060708090a0b0c0d0e0f10', + { + 0: '9a c7 cc 9a 60 9d 1e f7 b2 93 28 99 cd e4 1b 97', + 16: '52 48 c4 95 90 14 12 6a 6e 8a 84 f1 1d 1a 9e 1c', + 240: '06 59 02 e4 b6 20 f6 cc 36 c8 58 9f 66 43 2f 2b', + 256: 'd3 9d 56 6b c6 bc e3 01 07 68 15 15 49 f3 87 3f', + 496: 'b6 d1 e6 c4 a5 e4 77 1c ad 79 53 8d f2 95 fb 11', + 512: 'c6 8c 1d 5c 55 9a 97 41 23 df 1d bc 52 a4 3b 89', + 752: 'c5 ec f8 8d e8 97 fd 57 fe d3 01 70 1b 82 a2 59', + 768: 'ec cb e1 3d e1 fc c9 1c 11 a0 b2 6c 0b c8 fa 4d', + 1008:'e7 a7 25 74 f8 78 2a e2 6a ab cf 9e bc d6 60 65', + 1024:'bd f0 32 4e 60 83 dc c6 d3 ce dd 3c a8 c5 3c 16', + 1520:'b4 01 10 c4 19 0b 56 22 a9 61 16 b0 01 7e d2 97', + 1536:'ff a0 b5 14 64 7e c0 4f 63 06 b8 92 ae 66 11 81', + 2032:'d0 3d 1b c0 3c d3 3d 70 df f9 fa 5d 71 96 3e bd', + 2048:'8a 44 12 64 11 ea a7 8b d5 1e 8d 87 a8 87 9b f5', + 3056:'fa be b7 60 28 ad e2 d0 e4 87 22 e4 6c 46 15 a3', + 3072:'c0 5d 88 ab d5 03 57 f9 35 a6 3c 59 ee 53 76 23', + 4080:'ff 38 26 5c 16 42 c1 ab e8 d3 c2 fe 5e 57 2b f8', + 4096:'a3 6a 4c 30 1a e8 ac 13 61 0c cb c1 22 56 ca cc' + } + ), + # Page 6 + ( + '0102030405060708090a0b0c0d0e0f101112131415161718', + { + 0: '05 95 e5 7f e5 f0 bb 3c 70 6e da c8 a4 b2 db 11', + 16: 'df de 31 34 4a 1a f7 69 c7 4f 07 0a ee 9e 23 26', + 240: 'b0 6b 9b 1e 19 5d 13 d8 f4 a7 99 5c 45 53 ac 05', + 256: '6b d2 37 8e c3 41 c9 a4 2f 37 ba 79 f8 8a 32 ff', + 496: 'e7 0b ce 1d f7 64 5a db 5d 2c 41 30 21 5c 35 22', + 512: '9a 57 30 c7 fc b4 c9 af 51 ff da 89 c7 f1 ad 22', + 752: '04 85 05 5f d4 f6 f0 d9 63 ef 5a b9 a5 47 69 82', + 768: '59 1f c6 6b cd a1 0e 45 2b 03 d4 55 1f 6b 62 ac', + 1008:'27 53 cc 83 98 8a fa 3e 16 88 a1 d3 b4 2c 9a 02', + 1024:'93 61 0d 52 3d 1d 3f 00 62 b3 c2 a3 bb c7 c7 f0', + 1520:'96 c2 48 61 0a ad ed fe af 89 78 c0 3d e8 20 5a', + 1536:'0e 31 7b 3d 1c 73 b9 e9 a4 68 8f 29 6d 13 3a 19', + 2032:'bd f0 e6 c3 cc a5 b5 b9 d5 33 b6 9c 56 ad a1 20', + 2048:'88 a2 18 b6 e2 ec e1 e6 24 6d 44 c7 59 d1 9b 10', + 3056:'68 66 39 7e 95 c1 40 53 4f 94 26 34 21 00 6e 40', + 3072:'32 cb 0a 1e 95 42 c6 b3 b8 b3 98 ab c3 b0 f1 d5', + 4080:'29 a0 b8 ae d5 4a 13 23 24 c6 2e 42 3f 54 b4 c8', + 4096:'3c b0 f3 b5 02 0a 98 b8 2a f9 fe 15 44 84 a1 68' + } + ), + ( + '0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20', + { + 0: 'ea a6 bd 25 88 0b f9 3d 3f 5d 1e 4c a2 61 1d 91', + 16: 'cf a4 5c 9f 7e 71 4b 54 bd fa 80 02 7c b1 43 80', + 240: '11 4a e3 44 de d7 1b 35 f2 e6 0f eb ad 72 7f d8', + 256: '02 e1 e7 05 6b 0f 62 39 00 49 64 22 94 3e 97 b6', + 496: '91 cb 93 c7 87 96 4e 10 d9 52 7d 99 9c 6f 93 6b', + 512: '49 b1 8b 42 f8 e8 36 7c be b5 ef 10 4b a1 c7 cd', + 752: '87 08 4b 3b a7 00 ba de 95 56 10 67 27 45 b3 74', + 768: 'e7 a7 b9 e9 ec 54 0d 5f f4 3b db 12 79 2d 1b 35', + 1008:'c7 99 b5 96 73 8f 6b 01 8c 76 c7 4b 17 59 bd 90', + 1024:'7f ec 5b fd 9f 9b 89 ce 65 48 30 90 92 d7 e9 58', + 1520:'40 f2 50 b2 6d 1f 09 6a 4a fd 4c 34 0a 58 88 15', + 1536:'3e 34 13 5c 79 db 01 02 00 76 76 51 cf 26 30 73', + 2032:'f6 56 ab cc f8 8d d8 27 02 7b 2c e9 17 d4 64 ec', + 2048:'18 b6 25 03 bf bc 07 7f ba bb 98 f2 0d 98 ab 34', + 3056:'8a ed 95 ee 5b 0d cb fb ef 4e b2 1d 3a 3f 52 f9', + 3072:'62 5a 1a b0 0e e3 9a 53 27 34 6b dd b0 1a 9c 18', + 4080:'a1 3a 7c 79 c7 e1 19 b5 ab 02 96 ab 28 c3 00 b9', + 4096:'f3 e4 c0 a2 e0 2d 1d 01 f7 f0 a7 46 18 af 2b 48' + } + ), + # Page 7 + ( + '833222772a', + { + 0: '80 ad 97 bd c9 73 df 8a 2e 87 9e 92 a4 97 ef da', + 16: '20 f0 60 c2 f2 e5 12 65 01 d3 d4 fe a1 0d 5f c0', + 240: 'fa a1 48 e9 90 46 18 1f ec 6b 20 85 f3 b2 0e d9', + 256: 'f0 da f5 ba b3 d5 96 83 98 57 84 6f 73 fb fe 5a', + 496: '1c 7e 2f c4 63 92 32 fe 29 75 84 b2 96 99 6b c8', + 512: '3d b9 b2 49 40 6c c8 ed ff ac 55 cc d3 22 ba 12', + 752: 'e4 f9 f7 e0 06 61 54 bb d1 25 b7 45 56 9b c8 97', + 768: '75 d5 ef 26 2b 44 c4 1a 9c f6 3a e1 45 68 e1 b9', + 1008:'6d a4 53 db f8 1e 82 33 4a 3d 88 66 cb 50 a1 e3', + 1024:'78 28 d0 74 11 9c ab 5c 22 b2 94 d7 a9 bf a0 bb', + 1520:'ad b8 9c ea 9a 15 fb e6 17 29 5b d0 4b 8c a0 5c', + 1536:'62 51 d8 7f d4 aa ae 9a 7e 4a d5 c2 17 d3 f3 00', + 2032:'e7 11 9b d6 dd 9b 22 af e8 f8 95 85 43 28 81 e2', + 2048:'78 5b 60 fd 7e c4 e9 fc b6 54 5f 35 0d 66 0f ab', + 3056:'af ec c0 37 fd b7 b0 83 8e b3 d7 0b cd 26 83 82', + 3072:'db c1 a7 b4 9d 57 35 8c c9 fa 6d 61 d7 3b 7c f0', + 4080:'63 49 d1 26 a3 7a fc ba 89 79 4f 98 04 91 4f dc', + 4096:'bf 42 c3 01 8c 2f 7c 66 bf de 52 49 75 76 81 15' + } + ), + ( + '1910833222772a', + { + 0: 'bc 92 22 db d3 27 4d 8f c6 6d 14 cc bd a6 69 0b', + 16: '7a e6 27 41 0c 9a 2b e6 93 df 5b b7 48 5a 63 e3', + 240: '3f 09 31 aa 03 de fb 30 0f 06 01 03 82 6f 2a 64', + 256: 'be aa 9e c8 d5 9b b6 81 29 f3 02 7c 96 36 11 81', + 496: '74 e0 4d b4 6d 28 64 8d 7d ee 8a 00 64 b0 6c fe', + 512: '9b 5e 81 c6 2f e0 23 c5 5b e4 2f 87 bb f9 32 b8', + 752: 'ce 17 8f c1 82 6e fe cb c1 82 f5 79 99 a4 61 40', + 768: '8b df 55 cd 55 06 1c 06 db a6 be 11 de 4a 57 8a', + 1008:'62 6f 5f 4d ce 65 25 01 f3 08 7d 39 c9 2c c3 49', + 1024:'42 da ac 6a 8f 9a b9 a7 fd 13 7c 60 37 82 56 82', + 1520:'cc 03 fd b7 91 92 a2 07 31 2f 53 f5 d4 dc 33 d9', + 1536:'f7 0f 14 12 2a 1c 98 a3 15 5d 28 b8 a0 a8 a4 1d', + 2032:'2a 3a 30 7a b2 70 8a 9c 00 fe 0b 42 f9 c2 d6 a1', + 2048:'86 26 17 62 7d 22 61 ea b0 b1 24 65 97 ca 0a e9', + 3056:'55 f8 77 ce 4f 2e 1d db bf 8e 13 e2 cd e0 fd c8', + 3072:'1b 15 56 cb 93 5f 17 33 37 70 5f bb 5d 50 1f c1', + 4080:'ec d0 e9 66 02 be 7f 8d 50 92 81 6c cc f2 c2 e9', + 4096:'02 78 81 fa b4 99 3a 1c 26 20 24 a9 4f ff 3f 61' + } + ), + # Page 8 + ( + '641910833222772a', + { + 0: 'bb f6 09 de 94 13 17 2d 07 66 0c b6 80 71 69 26', + 16: '46 10 1a 6d ab 43 11 5d 6c 52 2b 4f e9 36 04 a9', + 240: 'cb e1 ff f2 1c 96 f3 ee f6 1e 8f e0 54 2c bd f0', + 256: '34 79 38 bf fa 40 09 c5 12 cf b4 03 4b 0d d1 a7', + 496: '78 67 a7 86 d0 0a 71 47 90 4d 76 dd f1 e5 20 e3', + 512: '8d 3e 9e 1c ae fc cc b3 fb f8 d1 8f 64 12 0b 32', + 752: '94 23 37 f8 fd 76 f0 fa e8 c5 2d 79 54 81 06 72', + 768: 'b8 54 8c 10 f5 16 67 f6 e6 0e 18 2f a1 9b 30 f7', + 1008:'02 11 c7 c6 19 0c 9e fd 12 37 c3 4c 8f 2e 06 c4', + 1024:'bd a6 4f 65 27 6d 2a ac b8 f9 02 12 20 3a 80 8e', + 1520:'bd 38 20 f7 32 ff b5 3e c1 93 e7 9d 33 e2 7c 73', + 1536:'d0 16 86 16 86 19 07 d4 82 e3 6c da c8 cf 57 49', + 2032:'97 b0 f0 f2 24 b2 d2 31 71 14 80 8f b0 3a f7 a0', + 2048:'e5 96 16 e4 69 78 79 39 a0 63 ce ea 9a f9 56 d1', + 3056:'c4 7e 0d c1 66 09 19 c1 11 01 20 8f 9e 69 aa 1f', + 3072:'5a e4 f1 28 96 b8 37 9a 2a ad 89 b5 b5 53 d6 b0', + 4080:'6b 6b 09 8d 0c 29 3b c2 99 3d 80 bf 05 18 b6 d9', + 4096:'81 70 cc 3c cd 92 a6 98 62 1b 93 9d d3 8f e7 b9' + } + ), + ( + '8b37641910833222772a', + { + 0: 'ab 65 c2 6e dd b2 87 60 0d b2 fd a1 0d 1e 60 5c', + 16: 'bb 75 90 10 c2 96 58 f2 c7 2d 93 a2 d1 6d 29 30', + 240: 'b9 01 e8 03 6e d1 c3 83 cd 3c 4c 4d d0 a6 ab 05', + 256: '3d 25 ce 49 22 92 4c 55 f0 64 94 33 53 d7 8a 6c', + 496: '12 c1 aa 44 bb f8 7e 75 e6 11 f6 9b 2c 38 f4 9b', + 512: '28 f2 b3 43 4b 65 c0 98 77 47 00 44 c6 ea 17 0d', + 752: 'bd 9e f8 22 de 52 88 19 61 34 cf 8a f7 83 93 04', + 768: '67 55 9c 23 f0 52 15 84 70 a2 96 f7 25 73 5a 32', + 1008:'8b ab 26 fb c2 c1 2b 0f 13 e2 ab 18 5e ab f2 41', + 1024:'31 18 5a 6d 69 6f 0c fa 9b 42 80 8b 38 e1 32 a2', + 1520:'56 4d 3d ae 18 3c 52 34 c8 af 1e 51 06 1c 44 b5', + 1536:'3c 07 78 a7 b5 f7 2d 3c 23 a3 13 5c 7d 67 b9 f4', + 2032:'f3 43 69 89 0f cf 16 fb 51 7d ca ae 44 63 b2 dd', + 2048:'02 f3 1c 81 e8 20 07 31 b8 99 b0 28 e7 91 bf a7', + 3056:'72 da 64 62 83 22 8c 14 30 08 53 70 17 95 61 6f', + 3072:'4e 0a 8c 6f 79 34 a7 88 e2 26 5e 81 d6 d0 c8 f4', + 4080:'43 8d d5 ea fe a0 11 1b 6f 36 b4 b9 38 da 2a 68', + 4096:'5f 6b fc 73 81 58 74 d9 71 00 f0 86 97 93 57 d8' + } + ), + # Page 9 + ( + 'ebb46227c6cc8b37641910833222772a', + { + 0: '72 0c 94 b6 3e df 44 e1 31 d9 50 ca 21 1a 5a 30', + 16: 'c3 66 fd ea cf 9c a8 04 36 be 7c 35 84 24 d2 0b', + 240: 'b3 39 4a 40 aa bf 75 cb a4 22 82 ef 25 a0 05 9f', + 256: '48 47 d8 1d a4 94 2d bc 24 9d ef c4 8c 92 2b 9f', + 496: '08 12 8c 46 9f 27 53 42 ad da 20 2b 2b 58 da 95', + 512: '97 0d ac ef 40 ad 98 72 3b ac 5d 69 55 b8 17 61', + 752: '3c b8 99 93 b0 7b 0c ed 93 de 13 d2 a1 10 13 ac', + 768: 'ef 2d 67 6f 15 45 c2 c1 3d c6 80 a0 2f 4a db fe', + 1008:'b6 05 95 51 4f 24 bc 9f e5 22 a6 ca d7 39 36 44', + 1024:'b5 15 a8 c5 01 17 54 f5 90 03 05 8b db 81 51 4e', + 1520:'3c 70 04 7e 8c bc 03 8e 3b 98 20 db 60 1d a4 95', + 1536:'11 75 da 6e e7 56 de 46 a5 3e 2b 07 56 60 b7 70', + 2032:'00 a5 42 bb a0 21 11 cc 2c 65 b3 8e bd ba 58 7e', + 2048:'58 65 fd bb 5b 48 06 41 04 e8 30 b3 80 f2 ae de', + 3056:'34 b2 1a d2 ad 44 e9 99 db 2d 7f 08 63 f0 d9 b6', + 3072:'84 a9 21 8f c3 6e 8a 5f 2c cf be ae 53 a2 7d 25', + 4080:'a2 22 1a 11 b8 33 cc b4 98 a5 95 40 f0 54 5f 4a', + 4096:'5b be b4 78 7d 59 e5 37 3f db ea 6c 6f 75 c2 9b' + } + ), + ( + 'c109163908ebe51debb46227c6cc8b37641910833222772a', + { + 0: '54 b6 4e 6b 5a 20 b5 e2 ec 84 59 3d c7 98 9d a7', + 16: 'c1 35 ee e2 37 a8 54 65 ff 97 dc 03 92 4f 45 ce', + 240: 'cf cc 92 2f b4 a1 4a b4 5d 61 75 aa bb f2 d2 01', + 256: '83 7b 87 e2 a4 46 ad 0e f7 98 ac d0 2b 94 12 4f', + 496: '17 a6 db d6 64 92 6a 06 36 b3 f4 c3 7a 4f 46 94', + 512: '4a 5f 9f 26 ae ee d4 d4 a2 5f 63 2d 30 52 33 d9', + 752: '80 a3 d0 1e f0 0c 8e 9a 42 09 c1 7f 4e eb 35 8c', + 768: 'd1 5e 7d 5f fa aa bc 02 07 bf 20 0a 11 77 93 a2', + 1008:'34 96 82 bf 58 8e aa 52 d0 aa 15 60 34 6a ea fa', + 1024:'f5 85 4c db 76 c8 89 e3 ad 63 35 4e 5f 72 75 e3', + 1520:'53 2c 7c ec cb 39 df 32 36 31 84 05 a4 b1 27 9c', + 1536:'ba ef e6 d9 ce b6 51 84 22 60 e0 d1 e0 5e 3b 90', + 2032:'e8 2d 8c 6d b5 4e 3c 63 3f 58 1c 95 2b a0 42 07', + 2048:'4b 16 e5 0a bd 38 1b d7 09 00 a9 cd 9a 62 cb 23', + 3056:'36 82 ee 33 bd 14 8b d9 f5 86 56 cd 8f 30 d9 fb', + 3072:'1e 5a 0b 84 75 04 5d 9b 20 b2 62 86 24 ed fd 9e', + 4080:'63 ed d6 84 fb 82 62 82 fe 52 8f 9c 0e 92 37 bc', + 4096:'e4 dd 2e 98 d6 96 0f ae 0b 43 54 54 56 74 33 91' + } + ), + # Page 10 + ( + '1ada31d5cf688221c109163908ebe51debb46227c6cc8b37641910833222772a', + { + 0: 'dd 5b cb 00 18 e9 22 d4 94 75 9d 7c 39 5d 02 d3', + 16: 'c8 44 6f 8f 77 ab f7 37 68 53 53 eb 89 a1 c9 eb', + 240: 'af 3e 30 f9 c0 95 04 59 38 15 15 75 c3 fb 90 98', + 256: 'f8 cb 62 74 db 99 b8 0b 1d 20 12 a9 8e d4 8f 0e', + 496: '25 c3 00 5a 1c b8 5d e0 76 25 98 39 ab 71 98 ab', + 512: '9d cb c1 83 e8 cb 99 4b 72 7b 75 be 31 80 76 9c', + 752: 'a1 d3 07 8d fa 91 69 50 3e d9 d4 49 1d ee 4e b2', + 768: '85 14 a5 49 58 58 09 6f 59 6e 4b cd 66 b1 06 65', + 1008:'5f 40 d5 9e c1 b0 3b 33 73 8e fa 60 b2 25 5d 31', + 1024:'34 77 c7 f7 64 a4 1b ac ef f9 0b f1 4f 92 b7 cc', + 1520:'ac 4e 95 36 8d 99 b9 eb 78 b8 da 8f 81 ff a7 95', + 1536:'8c 3c 13 f8 c2 38 8b b7 3f 38 57 6e 65 b7 c4 46', + 2032:'13 c4 b9 c1 df b6 65 79 ed dd 8a 28 0b 9f 73 16', + 2048:'dd d2 78 20 55 01 26 69 8e fa ad c6 4b 64 f6 6e', + 3056:'f0 8f 2e 66 d2 8e d1 43 f3 a2 37 cf 9d e7 35 59', + 3072:'9e a3 6c 52 55 31 b8 80 ba 12 43 34 f5 7b 0b 70', + 4080:'d5 a3 9e 3d fc c5 02 80 ba c4 a6 b5 aa 0d ca 7d', + 4096:'37 0b 1c 1f e6 55 91 6d 97 fd 0d 47 ca 1d 72 b8' + } + ) + ] + + def test_keystream(self): + for tv in self.rfc6229_data: + key = unhexlify(b((tv[0]))) + cipher = ARC4.new(key) + count = 0 + for offset in range(0,4096+1,16): + ct = cipher.encrypt(b('\x00')*16) + expected = tv[1].get(offset) + if expected: + expected = unhexlify(b(expected.replace(" ",''))) + self.assertEquals(ct, expected) + count += 1 + self.assertEqual(count, len(tv[1])) + +class Drop_Tests(unittest.TestCase): + key = b('\xAA')*16 + data = b('\x00')*5000 + + def setUp(self): + self.cipher = ARC4.new(self.key) + + def test_drop256_encrypt(self): + cipher_drop = ARC4.new(self.key, 256) + ct_drop = cipher_drop.encrypt(self.data[:16]) + ct = self.cipher.encrypt(self.data)[256:256+16] + self.assertEquals(ct_drop, ct) + + def test_drop256_decrypt(self): + cipher_drop = ARC4.new(self.key, 256) + pt_drop = cipher_drop.decrypt(self.data[:16]) + pt = self.cipher.decrypt(self.data)[256:256+16] + self.assertEquals(pt_drop, pt) + + +class KeyLength(unittest.TestCase): + + def runTest(self): + self.assertRaises(ValueError, ARC4.new, bchr(0) * 4) + self.assertRaises(ValueError, ARC4.new, bchr(0) * 257) + + +def get_tests(config={}): + from .common import make_stream_tests + tests = make_stream_tests(ARC4, "ARC4", test_data) + tests += list_test_cases(RFC6229_Tests) + tests += list_test_cases(Drop_Tests) + tests.append(KeyLength()) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py new file mode 100644 index 000000000..388364a61 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/test_Blowfish.py: Self-test for the Blowfish cipher +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.Blowfish""" + +import unittest + +from Crypto.Util.py3compat import bchr + +from Crypto.Cipher import Blowfish + +# This is a list of (plaintext, ciphertext, key) tuples. +test_data = [ + # Test vectors from http://www.schneier.com/code/vectors.txt + ('0000000000000000', '4ef997456198dd78', '0000000000000000'), + ('ffffffffffffffff', '51866fd5b85ecb8a', 'ffffffffffffffff'), + ('1000000000000001', '7d856f9a613063f2', '3000000000000000'), + ('1111111111111111', '2466dd878b963c9d', '1111111111111111'), + ('1111111111111111', '61f9c3802281b096', '0123456789abcdef'), + ('0123456789abcdef', '7d0cc630afda1ec7', '1111111111111111'), + ('0000000000000000', '4ef997456198dd78', '0000000000000000'), + ('0123456789abcdef', '0aceab0fc6a0a28d', 'fedcba9876543210'), + ('01a1d6d039776742', '59c68245eb05282b', '7ca110454a1a6e57'), + ('5cd54ca83def57da', 'b1b8cc0b250f09a0', '0131d9619dc1376e'), + ('0248d43806f67172', '1730e5778bea1da4', '07a1133e4a0b2686'), + ('51454b582ddf440a', 'a25e7856cf2651eb', '3849674c2602319e'), + ('42fd443059577fa2', '353882b109ce8f1a', '04b915ba43feb5b6'), + ('059b5e0851cf143a', '48f4d0884c379918', '0113b970fd34f2ce'), + ('0756d8e0774761d2', '432193b78951fc98', '0170f175468fb5e6'), + ('762514b829bf486a', '13f04154d69d1ae5', '43297fad38e373fe'), + ('3bdd119049372802', '2eedda93ffd39c79', '07a7137045da2a16'), + ('26955f6835af609a', 'd887e0393c2da6e3', '04689104c2fd3b2f'), + ('164d5e404f275232', '5f99d04f5b163969', '37d06bb516cb7546'), + ('6b056e18759f5cca', '4a057a3b24d3977b', '1f08260d1ac2465e'), + ('004bd6ef09176062', '452031c1e4fada8e', '584023641aba6176'), + ('480d39006ee762f2', '7555ae39f59b87bd', '025816164629b007'), + ('437540c8698f3cfa', '53c55f9cb49fc019', '49793ebc79b3258f'), + ('072d43a077075292', '7a8e7bfa937e89a3', '4fb05e1515ab73a7'), + ('02fe55778117f12a', 'cf9c5d7a4986adb5', '49e95d6d4ca229bf'), + ('1d9d5c5018f728c2', 'd1abb290658bc778', '018310dc409b26d6'), + ('305532286d6f295a', '55cb3774d13ef201', '1c587f1c13924fef'), + ('0123456789abcdef', 'fa34ec4847b268b2', '0101010101010101'), + ('0123456789abcdef', 'a790795108ea3cae', '1f1f1f1f0e0e0e0e'), + ('0123456789abcdef', 'c39e072d9fac631d', 'e0fee0fef1fef1fe'), + ('ffffffffffffffff', '014933e0cdaff6e4', '0000000000000000'), + ('0000000000000000', 'f21e9a77b71c49bc', 'ffffffffffffffff'), + ('0000000000000000', '245946885754369a', '0123456789abcdef'), + ('ffffffffffffffff', '6b5c5a9c5d9e0a5a', 'fedcba9876543210'), + #('fedcba9876543210', 'f9ad597c49db005e', 'f0'), + #('fedcba9876543210', 'e91d21c1d961a6d6', 'f0e1'), + #('fedcba9876543210', 'e9c2b70a1bc65cf3', 'f0e1d2'), + #('fedcba9876543210', 'be1e639408640f05', 'f0e1d2c3'), + ('fedcba9876543210', 'b39e44481bdb1e6e', 'f0e1d2c3b4'), + ('fedcba9876543210', '9457aa83b1928c0d', 'f0e1d2c3b4a5'), + ('fedcba9876543210', '8bb77032f960629d', 'f0e1d2c3b4a596'), + ('fedcba9876543210', 'e87a244e2cc85e82', 'f0e1d2c3b4a59687'), + ('fedcba9876543210', '15750e7a4f4ec577', 'f0e1d2c3b4a5968778'), + ('fedcba9876543210', '122ba70b3ab64ae0', 'f0e1d2c3b4a596877869'), + ('fedcba9876543210', '3a833c9affc537f6', 'f0e1d2c3b4a5968778695a'), + ('fedcba9876543210', '9409da87a90f6bf2', 'f0e1d2c3b4a5968778695a4b'), + ('fedcba9876543210', '884f80625060b8b4', 'f0e1d2c3b4a5968778695a4b3c'), + ('fedcba9876543210', '1f85031c19e11968', 'f0e1d2c3b4a5968778695a4b3c2d'), + ('fedcba9876543210', '79d9373a714ca34f', 'f0e1d2c3b4a5968778695a4b3c2d1e'), + ('fedcba9876543210', '93142887ee3be15c', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f'), + ('fedcba9876543210', '03429e838ce2d14b', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f00'), + ('fedcba9876543210', 'a4299e27469ff67b', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f0011'), + ('fedcba9876543210', 'afd5aed1c1bc96a8', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f001122'), + ('fedcba9876543210', '10851c0e3858da9f', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f00112233'), + ('fedcba9876543210', 'e6f51ed79b9db21f', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344'), + ('fedcba9876543210', '64a6e14afd36b46f', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f001122334455'), + ('fedcba9876543210', '80c7d7d45a5479ad', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f00112233445566'), + ('fedcba9876543210', '05044b62fa52d080', + 'f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344556677'), +] + + +class KeyLength(unittest.TestCase): + + def runTest(self): + self.assertRaises(ValueError, Blowfish.new, bchr(0) * 4, + Blowfish.MODE_ECB) + self.assertRaises(ValueError, Blowfish.new, bchr(0) * 57, + Blowfish.MODE_ECB) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + cipher = Blowfish.new(b'4'*16, Blowfish.MODE_ECB) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(7) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + from .common import make_block_tests + tests = make_block_tests(Blowfish, "Blowfish", test_data) + tests.append(KeyLength()) + tests += [TestOutput()] + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_CAST.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CAST.py new file mode 100644 index 000000000..857ff1fbe --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CAST.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/CAST.py: Self-test for the CAST-128 (CAST5) cipher +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.CAST""" + +import unittest + +from Crypto.Util.py3compat import bchr + +from Crypto.Cipher import CAST + +# This is a list of (plaintext, ciphertext, key) tuples. +test_data = [ + # Test vectors from RFC 2144, B.1 + ('0123456789abcdef', '238b4fe5847e44b2', + '0123456712345678234567893456789a', + '128-bit key'), + + ('0123456789abcdef', 'eb6a711a2c02271b', + '01234567123456782345', + '80-bit key'), + + ('0123456789abcdef', '7ac816d16e9b302e', + '0123456712', + '40-bit key'), +] + + +class KeyLength(unittest.TestCase): + + def runTest(self): + self.assertRaises(ValueError, CAST.new, bchr(0) * 4, CAST.MODE_ECB) + self.assertRaises(ValueError, CAST.new, bchr(0) * 17, CAST.MODE_ECB) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + cipher = CAST.new(b'4'*16, CAST.MODE_ECB) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(7) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + from .common import make_block_tests + + tests = make_block_tests(CAST, "CAST", test_data) + tests.append(KeyLength()) + tests.append(TestOutput()) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_CBC.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CBC.py new file mode 100644 index 000000000..1e29732e2 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CBC.py @@ -0,0 +1,534 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes, _memoryview, is_string +from Crypto.Cipher import AES, DES3, DES +from Crypto.Hash import SHAKE128 + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + +class BlockChainingTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + key_192 = get_tag_random("key_192", 24) + iv_128 = get_tag_random("iv_128", 16) + iv_64 = get_tag_random("iv_64", 8) + data_128 = get_tag_random("data_128", 16) + + def test_loopback_128(self): + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + pt = get_tag_random("plaintext", 16 * 100) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_loopback_64(self): + cipher = DES3.new(self.key_192, self.des3_mode, self.iv_64) + pt = get_tag_random("plaintext", 8 * 100) + ct = cipher.encrypt(pt) + + cipher = DES3.new(self.key_192, self.des3_mode, self.iv_64) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_iv(self): + # If not passed, the iv is created randomly + cipher = AES.new(self.key_128, self.aes_mode) + iv1 = cipher.iv + cipher = AES.new(self.key_128, self.aes_mode) + iv2 = cipher.iv + self.assertNotEqual(iv1, iv2) + self.assertEqual(len(iv1), 16) + + # IV can be passed in uppercase or lowercase + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + ct = cipher.encrypt(self.data_128) + + cipher = AES.new(self.key_128, self.aes_mode, iv=self.iv_128) + self.assertEquals(ct, cipher.encrypt(self.data_128)) + + cipher = AES.new(self.key_128, self.aes_mode, IV=self.iv_128) + self.assertEquals(ct, cipher.encrypt(self.data_128)) + + def test_iv_must_be_bytes(self): + self.assertRaises(TypeError, AES.new, self.key_128, self.aes_mode, + iv = u'test1234567890-*') + + def test_only_one_iv(self): + # Only one IV/iv keyword allowed + self.assertRaises(TypeError, AES.new, self.key_128, self.aes_mode, + iv=self.iv_128, IV=self.iv_128) + + def test_iv_with_matching_length(self): + self.assertRaises(ValueError, AES.new, self.key_128, self.aes_mode, + b"") + self.assertRaises(ValueError, AES.new, self.key_128, self.aes_mode, + self.iv_128[:15]) + self.assertRaises(ValueError, AES.new, self.key_128, self.aes_mode, + self.iv_128 + b"0") + + def test_block_size_128(self): + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + self.assertEqual(cipher.block_size, AES.block_size) + + def test_block_size_64(self): + cipher = DES3.new(self.key_192, self.des3_mode, self.iv_64) + self.assertEqual(cipher.block_size, DES3.block_size) + + def test_unaligned_data_128(self): + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + for wrong_length in range(1,16): + self.assertRaises(ValueError, cipher.encrypt, b"5" * wrong_length) + + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + for wrong_length in range(1,16): + self.assertRaises(ValueError, cipher.decrypt, b"5" * wrong_length) + + def test_unaligned_data_64(self): + cipher = DES3.new(self.key_192, self.des3_mode, self.iv_64) + for wrong_length in range(1,8): + self.assertRaises(ValueError, cipher.encrypt, b"5" * wrong_length) + + cipher = DES3.new(self.key_192, self.des3_mode, self.iv_64) + for wrong_length in range(1,8): + self.assertRaises(ValueError, cipher.decrypt, b"5" * wrong_length) + + def test_IV_iv_attributes(self): + data = get_tag_random("data", 16 * 100) + for func in "encrypt", "decrypt": + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + getattr(cipher, func)(data) + self.assertEqual(cipher.iv, self.iv_128) + self.assertEqual(cipher.IV, self.iv_128) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, AES.new, self.key_128, self.aes_mode, + self.iv_128, 7) + self.assertRaises(TypeError, AES.new, self.key_128, self.aes_mode, + iv=self.iv_128, unknown=7) + # But some are only known by the base cipher (e.g. use_aesni consumed by the AES module) + AES.new(self.key_128, self.aes_mode, iv=self.iv_128, use_aesni=False) + + def test_null_encryption_decryption(self): + for func in "encrypt", "decrypt": + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + result = getattr(cipher, func)(b"") + self.assertEqual(result, b"") + + def test_either_encrypt_or_decrypt(self): + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + cipher.encrypt(b"") + self.assertRaises(TypeError, cipher.decrypt, b"") + + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + cipher.decrypt(b"") + self.assertRaises(TypeError, cipher.encrypt, b"") + + def test_data_must_be_bytes(self): + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + self.assertRaises(TypeError, cipher.encrypt, u'test1234567890-*') + + cipher = AES.new(self.key_128, self.aes_mode, self.iv_128) + self.assertRaises(TypeError, cipher.decrypt, u'test1234567890-*') + + def test_bytearray(self): + data = b"1" * 16 + data_ba = bytearray(data) + + # Encrypt + key_ba = bytearray(self.key_128) + iv_ba = bytearray(self.iv_128) + + cipher1 = AES.new(self.key_128, self.aes_mode, self.iv_128) + ref1 = cipher1.encrypt(data) + + cipher2 = AES.new(key_ba, self.aes_mode, iv_ba) + key_ba[:3] = b'\xFF\xFF\xFF' + iv_ba[:3] = b'\xFF\xFF\xFF' + ref2 = cipher2.encrypt(data_ba) + + self.assertEqual(ref1, ref2) + self.assertEqual(cipher1.iv, cipher2.iv) + + # Decrypt + key_ba = bytearray(self.key_128) + iv_ba = bytearray(self.iv_128) + + cipher3 = AES.new(self.key_128, self.aes_mode, self.iv_128) + ref3 = cipher3.decrypt(data) + + cipher4 = AES.new(key_ba, self.aes_mode, iv_ba) + key_ba[:3] = b'\xFF\xFF\xFF' + iv_ba[:3] = b'\xFF\xFF\xFF' + ref4 = cipher4.decrypt(data_ba) + + self.assertEqual(ref3, ref4) + + def test_memoryview(self): + data = b"1" * 16 + data_mv = memoryview(bytearray(data)) + + # Encrypt + key_mv = memoryview(bytearray(self.key_128)) + iv_mv = memoryview(bytearray(self.iv_128)) + + cipher1 = AES.new(self.key_128, self.aes_mode, self.iv_128) + ref1 = cipher1.encrypt(data) + + cipher2 = AES.new(key_mv, self.aes_mode, iv_mv) + key_mv[:3] = b'\xFF\xFF\xFF' + iv_mv[:3] = b'\xFF\xFF\xFF' + ref2 = cipher2.encrypt(data_mv) + + self.assertEqual(ref1, ref2) + self.assertEqual(cipher1.iv, cipher2.iv) + + # Decrypt + key_mv = memoryview(bytearray(self.key_128)) + iv_mv = memoryview(bytearray(self.iv_128)) + + cipher3 = AES.new(self.key_128, self.aes_mode, self.iv_128) + ref3 = cipher3.decrypt(data) + + cipher4 = AES.new(key_mv, self.aes_mode, iv_mv) + key_mv[:3] = b'\xFF\xFF\xFF' + iv_mv[:3] = b'\xFF\xFF\xFF' + ref4 = cipher4.decrypt(data_mv) + + self.assertEqual(ref3, ref4) + + def test_output_param(self): + + pt = b'5' * 16 + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + ct = cipher.encrypt(pt) + + output = bytearray(16) + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + def test_output_param_memoryview(self): + + pt = b'5' * 16 + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + ct = cipher.encrypt(pt) + + output = memoryview(bytearray(16)) + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + def test_output_param_neg(self): + + pt = b'5' * 16 + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + ct = cipher.encrypt(pt) + + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(15) + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + cipher = AES.new(b'4'*16, self.aes_mode, iv=self.iv_128) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + del test_output_param_memoryview + + +class CbcTests(BlockChainingTests): + aes_mode = AES.MODE_CBC + des3_mode = DES3.MODE_CBC + + +class NistBlockChainingVectors(unittest.TestCase): + + def _do_kat_aes_test(self, file_name): + test_vectors = load_tests(("Crypto", "SelfTest", "Cipher", "test_vectors", "AES"), + file_name, + "AES KAT", + { "count" : lambda x: int(x) } ) + assert(test_vectors) + + direction = None + for tv in test_vectors: + + # The test vector file contains some directive lines + if is_string(tv): + direction = tv + continue + + self.description = tv.desc + + cipher = AES.new(tv.key, self.aes_mode, tv.iv) + if direction == "[ENCRYPT]": + self.assertEqual(cipher.encrypt(tv.plaintext), tv.ciphertext) + elif direction == "[DECRYPT]": + self.assertEqual(cipher.decrypt(tv.ciphertext), tv.plaintext) + else: + assert False + + # See Section 6.4.2 in AESAVS + def _do_mct_aes_test(self, file_name): + test_vectors = load_tests(("Crypto", "SelfTest", "Cipher", "test_vectors", "AES"), + file_name, + "AES Montecarlo", + { "count" : lambda x: int(x) } ) + assert(test_vectors) + + direction = None + for tv in test_vectors: + + # The test vector file contains some directive lines + if is_string(tv): + direction = tv + continue + + self.description = tv.desc + cipher = AES.new(tv.key, self.aes_mode, tv.iv) + + if direction == '[ENCRYPT]': + cts = [ tv.iv ] + for count in range(1000): + cts.append(cipher.encrypt(tv.plaintext)) + tv.plaintext = cts[-2] + self.assertEqual(cts[-1], tv.ciphertext) + elif direction == '[DECRYPT]': + pts = [ tv.iv] + for count in range(1000): + pts.append(cipher.decrypt(tv.ciphertext)) + tv.ciphertext = pts[-2] + self.assertEqual(pts[-1], tv.plaintext) + else: + assert False + + def _do_tdes_test(self, file_name): + test_vectors = load_tests(("Crypto", "SelfTest", "Cipher", "test_vectors", "TDES"), + file_name, + "TDES CBC KAT", + { "count" : lambda x: int(x) } ) + assert(test_vectors) + + direction = None + for tv in test_vectors: + + # The test vector file contains some directive lines + if is_string(tv): + direction = tv + continue + + self.description = tv.desc + if hasattr(tv, "keys"): + cipher = DES.new(tv.keys, self.des_mode, tv.iv) + else: + if tv.key1 != tv.key3: + key = tv.key1 + tv.key2 + tv.key3 # Option 3 + else: + key = tv.key1 + tv.key2 # Option 2 + cipher = DES3.new(key, self.des3_mode, tv.iv) + + if direction == "[ENCRYPT]": + self.assertEqual(cipher.encrypt(tv.plaintext), tv.ciphertext) + elif direction == "[DECRYPT]": + self.assertEqual(cipher.decrypt(tv.ciphertext), tv.plaintext) + else: + assert False + + +class NistCbcVectors(NistBlockChainingVectors): + aes_mode = AES.MODE_CBC + des_mode = DES.MODE_CBC + des3_mode = DES3.MODE_CBC + + +# Create one test method per file +nist_aes_kat_mmt_files = ( + # KAT + "CBCGFSbox128.rsp", + "CBCGFSbox192.rsp", + "CBCGFSbox256.rsp", + "CBCKeySbox128.rsp", + "CBCKeySbox192.rsp", + "CBCKeySbox256.rsp", + "CBCVarKey128.rsp", + "CBCVarKey192.rsp", + "CBCVarKey256.rsp", + "CBCVarTxt128.rsp", + "CBCVarTxt192.rsp", + "CBCVarTxt256.rsp", + # MMT + "CBCMMT128.rsp", + "CBCMMT192.rsp", + "CBCMMT256.rsp", + ) +nist_aes_mct_files = ( + "CBCMCT128.rsp", + "CBCMCT192.rsp", + "CBCMCT256.rsp", + ) + +for file_name in nist_aes_kat_mmt_files: + def new_func(self, file_name=file_name): + self._do_kat_aes_test(file_name) + setattr(NistCbcVectors, "test_AES_" + file_name, new_func) + +for file_name in nist_aes_mct_files: + def new_func(self, file_name=file_name): + self._do_mct_aes_test(file_name) + setattr(NistCbcVectors, "test_AES_" + file_name, new_func) +del file_name, new_func + +nist_tdes_files = ( + "TCBCMMT2.rsp", # 2TDES + "TCBCMMT3.rsp", # 3TDES + "TCBCinvperm.rsp", # Single DES + "TCBCpermop.rsp", + "TCBCsubtab.rsp", + "TCBCvarkey.rsp", + "TCBCvartext.rsp", + ) + +for file_name in nist_tdes_files: + def new_func(self, file_name=file_name): + self._do_tdes_test(file_name) + setattr(NistCbcVectors, "test_TDES_" + file_name, new_func) + +# END OF NIST CBC TEST VECTORS + + +class SP800TestVectors(unittest.TestCase): + """Class exercising the CBC test vectors found in Section F.2 + of NIST SP 800-3A""" + + def test_aes_128(self): + key = '2b7e151628aed2a6abf7158809cf4f3c' + iv = '000102030405060708090a0b0c0d0e0f' + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = '7649abac8119b246cee98e9b12e9197d' +\ + '5086cb9b507219ee95db113a917678b2' +\ + '73bed6b8e3c1743b7116e69e22229516' +\ + '3ff1caa1681fac09120eca307586e1a7' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CBC, iv) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CBC, iv) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_192(self): + key = '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b' + iv = '000102030405060708090a0b0c0d0e0f' + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = '4f021db243bc633d7178183a9fa071e8' +\ + 'b4d9ada9ad7dedf4e5e738763f69145a' +\ + '571b242012fb7ae07fa9baac3df102e0' +\ + '08b0e27988598881d920a9e64f5615cd' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CBC, iv) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CBC, iv) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_256(self): + key = '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4' + iv = '000102030405060708090a0b0c0d0e0f' + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = 'f58c4c04d6e5f1ba779eabfb5f7bfbd6' +\ + '9cfc4e967edb808d679f777bc6702c7d' +\ + '39f23369a9d9bacfa530e26304231461' +\ + 'b2eb05e2c39be9fcda6c19078c6a9d1b' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CBC, iv) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CBC, iv) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(CbcTests) + if config.get('slow_tests'): + tests += list_test_cases(NistCbcVectors) + tests += list_test_cases(SP800TestVectors) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_CCM.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CCM.py new file mode 100644 index 000000000..14c46283a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CCM.py @@ -0,0 +1,837 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes, bchr, _memoryview +from Crypto.Cipher import AES +from Crypto.Hash import SHAKE128 + + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +class CcmTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_loopback_128(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + pt = get_tag_random("plaintext", 16 * 100) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_nonce(self): + # If not passed, the nonce is created randomly + cipher = AES.new(self.key_128, AES.MODE_CCM) + nonce1 = cipher.nonce + cipher = AES.new(self.key_128, AES.MODE_CCM) + nonce2 = cipher.nonce + self.assertEqual(len(nonce1), 11) + self.assertNotEqual(nonce1, nonce2) + + cipher = AES.new(self.key_128, AES.MODE_CCM, self.nonce_96) + ct = cipher.encrypt(self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertEquals(ct, cipher.encrypt(self.data_128)) + + def test_nonce_must_be_bytes(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CCM, + nonce=u'test12345678') + + def test_nonce_length(self): + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CCM, + nonce=b"") + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CCM, + nonce=bchr(1) * 6) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CCM, + nonce=bchr(1) * 14) + for x in range(7, 13 + 1): + AES.new(self.key_128, AES.MODE_CCM, nonce=bchr(1) * x) + + def test_block_size(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertEqual(cipher.block_size, AES.block_size) + + def test_nonce_attribute(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertEqual(cipher.nonce, self.nonce_96) + + # By default, a 11 bytes long nonce is randomly generated + nonce1 = AES.new(self.key_128, AES.MODE_CCM).nonce + nonce2 = AES.new(self.key_128, AES.MODE_CCM).nonce + self.assertEqual(len(nonce1), 11) + self.assertNotEqual(nonce1, nonce2) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CCM, + self.nonce_96, 7) + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, unknown=7) + + # But some are only known by the base cipher + # (e.g. use_aesni consumed by the AES module) + AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + use_aesni=False) + + def test_null_encryption_decryption(self): + for func in "encrypt", "decrypt": + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + result = getattr(cipher, func)(b"") + self.assertEqual(result, b"") + + def test_either_encrypt_or_decrypt(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.encrypt(b"") + self.assertRaises(TypeError, cipher.decrypt, b"") + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.decrypt(b"") + self.assertRaises(TypeError, cipher.encrypt, b"") + + def test_data_must_be_bytes(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, u'test1234567890-*') + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, u'test1234567890-*') + + def test_mac_len(self): + # Invalid MAC length + for mac_len in range(3, 17 + 1, 2): + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, mac_len=mac_len) + + # Valid MAC length + for mac_len in range(4, 16 + 1, 2): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + mac_len=mac_len) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), mac_len) + + # Default MAC length + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), 16) + + def test_invalid_mac(self): + from Crypto.Util.strxor import strxor_c + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + invalid_mac = strxor_c(mac, 0x01) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct, + invalid_mac) + + def test_hex_mac(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + mac_hex = cipher.hexdigest() + self.assertEqual(cipher.digest(), unhexlify(mac_hex)) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.hexverify(mac_hex) + + def test_longer_assoc_data_than_declared(self): + # More than zero + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + assoc_len=0) + self.assertRaises(ValueError, cipher.update, b"1") + + # Too large + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + assoc_len=15) + self.assertRaises(ValueError, cipher.update, self.data_128) + + def test_shorter_assoc_data_than_expected(self): + # With plaintext + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + assoc_len=17) + cipher.update(self.data_128) + self.assertRaises(ValueError, cipher.encrypt, self.data_128) + + # With empty plaintext + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + assoc_len=17) + cipher.update(self.data_128) + self.assertRaises(ValueError, cipher.digest) + + # With ciphertext + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + assoc_len=17) + cipher.update(self.data_128) + self.assertRaises(ValueError, cipher.decrypt, self.data_128) + + # With empty ciphertext + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.update(self.data_128) + mac = cipher.digest() + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + assoc_len=17) + cipher.update(self.data_128) + self.assertRaises(ValueError, cipher.verify, mac) + + def test_shorter_and_longer_plaintext_than_declared(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + msg_len=17) + cipher.encrypt(self.data_128) + self.assertRaises(ValueError, cipher.digest) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + msg_len=15) + self.assertRaises(ValueError, cipher.encrypt, self.data_128) + + def test_shorter_ciphertext_than_declared(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + msg_len=17) + cipher.decrypt(ct) + self.assertRaises(ValueError, cipher.verify, mac) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + msg_len=15) + self.assertRaises(ValueError, cipher.decrypt, ct) + + def test_message_chunks(self): + # Validate that both associated data and plaintext/ciphertext + # can be broken up in chunks of arbitrary length + + auth_data = get_tag_random("authenticated data", 127) + plaintext = get_tag_random("plaintext", 127) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.update(auth_data) + ciphertext, ref_mac = cipher.encrypt_and_digest(plaintext) + + def break_up(data, chunk_length): + return [data[i:i+chunk_length] for i in range(0, len(data), + chunk_length)] + + # Encryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + msg_len=127, assoc_len=127) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + pt2 = b"" + for chunk in break_up(ciphertext, chunk_length): + pt2 += cipher.decrypt(chunk) + self.assertEqual(plaintext, pt2) + cipher.verify(ref_mac) + + # Decryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96, + msg_len=127, assoc_len=127) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + ct2 = b"" + for chunk in break_up(plaintext, chunk_length): + ct2 += cipher.encrypt(chunk) + self.assertEqual(ciphertext, ct2) + self.assertEquals(cipher.digest(), ref_mac) + + def test_bytearray(self): + + # Encrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + data_ba = bytearray(self.data_128) + + cipher1 = AES.new(self.key_128, + AES.MODE_CCM, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = AES.new(key_ba, + AES.MODE_CCM, + nonce=nonce_ba) + key_ba[:3] = b"\xFF\xFF\xFF" + nonce_ba[:3] = b"\xFF\xFF\xFF" + cipher2.update(header_ba) + header_ba[:3] = b"\xFF\xFF\xFF" + ct_test = cipher2.encrypt(data_ba) + data_ba[:3] = b"\xFF\xFF\xFF" + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + del data_ba + + cipher4 = AES.new(key_ba, + AES.MODE_CCM, + nonce=nonce_ba) + key_ba[:3] = b"\xFF\xFF\xFF" + nonce_ba[:3] = b"\xFF\xFF\xFF" + cipher4.update(header_ba) + header_ba[:3] = b"\xFF\xFF\xFF" + pt_test = cipher4.decrypt_and_verify(bytearray(ct_test), bytearray(tag_test)) + + self.assertEqual(self.data_128, pt_test) + + def test_memoryview(self): + + # Encrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + data_mv = memoryview(bytearray(self.data_128)) + + cipher1 = AES.new(self.key_128, + AES.MODE_CCM, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = AES.new(key_mv, + AES.MODE_CCM, + nonce=nonce_mv) + key_mv[:3] = b"\xFF\xFF\xFF" + nonce_mv[:3] = b"\xFF\xFF\xFF" + cipher2.update(header_mv) + header_mv[:3] = b"\xFF\xFF\xFF" + ct_test = cipher2.encrypt(data_mv) + data_mv[:3] = b"\xFF\xFF\xFF" + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + del data_mv + + cipher4 = AES.new(key_mv, + AES.MODE_CCM, + nonce=nonce_mv) + key_mv[:3] = b"\xFF\xFF\xFF" + nonce_mv[:3] = b"\xFF\xFF\xFF" + cipher4.update(header_mv) + header_mv[:3] = b"\xFF\xFF\xFF" + pt_test = cipher4.decrypt_and_verify(memoryview(ct_test), memoryview(tag_test)) + + self.assertEqual(self.data_128, pt_test) + + def test_output_param(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + tag = cipher.digest() + + output = bytearray(16) + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + res, tag_out = cipher.encrypt_and_digest(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + self.assertEqual(tag, tag_out) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + res = cipher.decrypt_and_verify(ct, tag, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + def test_output_param_memoryview(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + + output = memoryview(bytearray(16)) + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + def test_output_param_neg(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(15) + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + del test_output_param_memoryview + + +class CcmFSMTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_valid_init_encrypt_decrypt_digest_verify(self): + # No authenticated data, fixed plaintext + for assoc_len in (None, 0): + for msg_len in (None, len(self.data_128)): + # Verify path INIT->ENCRYPT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + assoc_len=assoc_len, + msg_len=msg_len) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->DECRYPT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + assoc_len=assoc_len, + msg_len=msg_len) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_update_digest_verify(self): + # No plaintext, fixed authenticated data + for assoc_len in (None, len(self.data_128)): + for msg_len in (None, 0): + # Verify path INIT->UPDATE->DIGEST + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + assoc_len=assoc_len, + msg_len=msg_len) + cipher.update(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->VERIFY + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + assoc_len=assoc_len, + msg_len=msg_len) + cipher.update(self.data_128) + cipher.verify(mac) + + def test_valid_full_path(self): + # Fixed authenticated data, fixed plaintext + for assoc_len in (None, len(self.data_128)): + for msg_len in (None, len(self.data_128)): + # Verify path INIT->UPDATE->ENCRYPT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + assoc_len=assoc_len, + msg_len=msg_len) + cipher.update(self.data_128) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->DECRYPT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + assoc_len=assoc_len, + msg_len=msg_len) + cipher.update(self.data_128) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_digest(self): + # Verify path INIT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.digest() + + def test_valid_init_verify(self): + # Verify path INIT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + mac = cipher.digest() + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.verify(mac) + + def test_valid_multiple_encrypt_or_decrypt(self): + # Only possible if msg_len is declared in advance + for method_name in "encrypt", "decrypt": + for auth_data in (None, b"333", self.data_128, + self.data_128 + b"3"): + if auth_data is None: + assoc_len = None + else: + assoc_len = len(auth_data) + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + msg_len=64, + assoc_len=assoc_len) + if auth_data is not None: + cipher.update(auth_data) + method = getattr(cipher, method_name) + method(self.data_128) + method(self.data_128) + method(self.data_128) + method(self.data_128) + + def test_valid_multiple_digest_or_verify(self): + # Multiple calls to digest + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.update(self.data_128) + first_mac = cipher.digest() + for x in range(4): + self.assertEqual(first_mac, cipher.digest()) + + # Multiple calls to verify + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.update(self.data_128) + for x in range(5): + cipher.verify(first_mac) + + def test_valid_encrypt_and_digest_decrypt_and_verify(self): + # encrypt_and_digest + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.update(self.data_128) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + # decrypt_and_verify + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.update(self.data_128) + pt = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(self.data_128, pt) + + def test_invalid_multiple_encrypt_decrypt_without_msg_len(self): + # Once per method, with or without assoc. data + for method_name in "encrypt", "decrypt": + for assoc_data_present in (True, False): + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96) + if assoc_data_present: + cipher.update(self.data_128) + method = getattr(cipher, method_name) + method(self.data_128) + self.assertRaises(TypeError, method, self.data_128) + + def test_invalid_mixing_encrypt_decrypt(self): + # Once per method, with or without assoc. data + for method1_name, method2_name in (("encrypt", "decrypt"), + ("decrypt", "encrypt")): + for assoc_data_present in (True, False): + cipher = AES.new(self.key_128, AES.MODE_CCM, + nonce=self.nonce_96, + msg_len=32) + if assoc_data_present: + cipher.update(self.data_128) + getattr(cipher, method1_name)(self.data_128) + self.assertRaises(TypeError, getattr(cipher, method2_name), + self.data_128) + + def test_invalid_encrypt_or_update_after_digest(self): + for method_name in "encrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.encrypt(self.data_128) + cipher.digest() + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.encrypt_and_digest(self.data_128) + + def test_invalid_decrypt_or_update_after_verify(self): + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + for method_name in "decrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_CCM, nonce=self.nonce_96) + cipher.decrypt_and_verify(ct, mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + +class TestVectors(unittest.TestCase): + """Class exercising the CCM test vectors found in Appendix C + of NIST SP 800-38C and in RFC 3610""" + + # List of test vectors, each made up of: + # - authenticated data + # - plaintext + # - ciphertext + # - MAC + # - AES key + # - nonce + test_vectors_hex = [ + # NIST SP 800 38C + ( '0001020304050607', + '20212223', + '7162015b', + '4dac255d', + '404142434445464748494a4b4c4d4e4f', + '10111213141516'), + ( '000102030405060708090a0b0c0d0e0f', + '202122232425262728292a2b2c2d2e2f', + 'd2a1f0e051ea5f62081a7792073d593d', + '1fc64fbfaccd', + '404142434445464748494a4b4c4d4e4f', + '1011121314151617'), + ( '000102030405060708090a0b0c0d0e0f10111213', + '202122232425262728292a2b2c2d2e2f3031323334353637', + 'e3b201a9f5b71a7a9b1ceaeccd97e70b6176aad9a4428aa5', + '484392fbc1b09951', + '404142434445464748494a4b4c4d4e4f', + '101112131415161718191a1b'), + ( (''.join(["%02X" % (x*16+y) for x in range(0,16) for y in range(0,16)]))*256, + '202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f', + '69915dad1e84c6376a68c2967e4dab615ae0fd1faec44cc484828529463ccf72', + 'b4ac6bec93e8598e7f0dadbcea5b', + '404142434445464748494a4b4c4d4e4f', + '101112131415161718191a1b1c'), + # RFC3610 + ( '0001020304050607', + '08090a0b0c0d0e0f101112131415161718191a1b1c1d1e', + '588c979a61c663d2f066d0c2c0f989806d5f6b61dac384', + '17e8d12cfdf926e0', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '00000003020100a0a1a2a3a4a5'), + ( + '0001020304050607', + '08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', + '72c91a36e135f8cf291ca894085c87e3cc15c439c9e43a3b', + 'a091d56e10400916', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '00000004030201a0a1a2a3a4a5'), + ( '0001020304050607', + '08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20', + '51b1e5f44a197d1da46b0f8e2d282ae871e838bb64da859657', + '4adaa76fbd9fb0c5', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '00000005040302A0A1A2A3A4A5'), + ( '000102030405060708090a0b', + '0c0d0e0f101112131415161718191a1b1c1d1e', + 'a28c6865939a9a79faaa5c4c2a9d4a91cdac8c', + '96c861b9c9e61ef1', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '00000006050403a0a1a2a3a4a5'), + ( '000102030405060708090a0b', + '0c0d0e0f101112131415161718191a1b1c1d1e1f', + 'dcf1fb7b5d9e23fb9d4e131253658ad86ebdca3e', + '51e83f077d9c2d93', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '00000007060504a0a1a2a3a4a5'), + ( '000102030405060708090a0b', + '0c0d0e0f101112131415161718191a1b1c1d1e1f20', + '6fc1b011f006568b5171a42d953d469b2570a4bd87', + '405a0443ac91cb94', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '00000008070605a0a1a2a3a4a5'), + ( '0001020304050607', + '08090a0b0c0d0e0f101112131415161718191a1b1c1d1e', + '0135d1b2c95f41d5d1d4fec185d166b8094e999dfed96c', + '048c56602c97acbb7490', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '00000009080706a0a1a2a3a4a5'), + ( '0001020304050607', + '08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', + '7b75399ac0831dd2f0bbd75879a2fd8f6cae6b6cd9b7db24', + 'c17b4433f434963f34b4', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '0000000a090807a0a1a2a3a4a5'), + ( '0001020304050607', + '08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20', + '82531a60cc24945a4b8279181ab5c84df21ce7f9b73f42e197', + 'ea9c07e56b5eb17e5f4e', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '0000000b0a0908a0a1a2a3a4a5'), + ( '000102030405060708090a0b', + '0c0d0e0f101112131415161718191a1b1c1d1e', + '07342594157785152b074098330abb141b947b', + '566aa9406b4d999988dd', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '0000000c0b0a09a0a1a2a3a4a5'), + ( '000102030405060708090a0b', + '0c0d0e0f101112131415161718191a1b1c1d1e1f', + '676bb20380b0e301e8ab79590a396da78b834934', + 'f53aa2e9107a8b6c022c', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '0000000d0c0b0aa0a1a2a3a4a5'), + ( '000102030405060708090a0b', + '0c0d0e0f101112131415161718191a1b1c1d1e1f20', + 'c0ffa0d6f05bdb67f24d43a4338d2aa4bed7b20e43', + 'cd1aa31662e7ad65d6db', + 'c0c1c2c3c4c5c6c7c8c9cacbcccdcecf', + '0000000e0d0c0ba0a1a2a3a4a5'), + ( '0be1a88bace018b1', + '08e8cf97d820ea258460e96ad9cf5289054d895ceac47c', + '4cb97f86a2a4689a877947ab8091ef5386a6ffbdd080f8', + 'e78cf7cb0cddd7b3', + 'd7828d13b2b0bdc325a76236df93cc6b', + '00412b4ea9cdbe3c9696766cfa'), + ( '63018f76dc8a1bcb', + '9020ea6f91bdd85afa0039ba4baff9bfb79c7028949cd0ec', + '4ccb1e7ca981befaa0726c55d378061298c85c92814abc33', + 'c52ee81d7d77c08a', + 'd7828d13b2b0bdc325a76236df93cc6b', + '0033568ef7b2633c9696766cfa'), + ( 'aa6cfa36cae86b40', + 'b916e0eacc1c00d7dcec68ec0b3bbb1a02de8a2d1aa346132e', + 'b1d23a2220ddc0ac900d9aa03c61fcf4a559a4417767089708', + 'a776796edb723506', + 'd7828d13b2b0bdc325a76236df93cc6b', + '00103fe41336713c9696766cfa'), + ( 'd0d0735c531e1becf049c244', + '12daac5630efa5396f770ce1a66b21f7b2101c', + '14d253c3967b70609b7cbb7c49916028324526', + '9a6f49975bcadeaf', + 'd7828d13b2b0bdc325a76236df93cc6b', + '00764c63b8058e3c9696766cfa'), + ( '77b60f011c03e1525899bcae', + 'e88b6a46c78d63e52eb8c546efb5de6f75e9cc0d', + '5545ff1a085ee2efbf52b2e04bee1e2336c73e3f', + '762c0c7744fe7e3c', + 'd7828d13b2b0bdc325a76236df93cc6b', + '00f8b678094e3b3c9696766cfa'), + ( 'cd9044d2b71fdb8120ea60c0', + '6435acbafb11a82e2f071d7ca4a5ebd93a803ba87f', + '009769ecabdf48625594c59251e6035722675e04c8', + '47099e5ae0704551', + 'd7828d13b2b0bdc325a76236df93cc6b', + '00d560912d3f703c9696766cfa'), + ( 'd85bc7e69f944fb8', + '8a19b950bcf71a018e5e6701c91787659809d67dbedd18', + 'bc218daa947427b6db386a99ac1aef23ade0b52939cb6a', + '637cf9bec2408897c6ba', + 'd7828d13b2b0bdc325a76236df93cc6b', + '0042fff8f1951c3c9696766cfa'), + ( '74a0ebc9069f5b37', + '1761433c37c5a35fc1f39f406302eb907c6163be38c98437', + '5810e6fd25874022e80361a478e3e9cf484ab04f447efff6', + 'f0a477cc2fc9bf548944', + 'd7828d13b2b0bdc325a76236df93cc6b', + '00920f40e56cdc3c9696766cfa'), + ( '44a3aa3aae6475ca', + 'a434a8e58500c6e41530538862d686ea9e81301b5ae4226bfa', + 'f2beed7bc5098e83feb5b31608f8e29c38819a89c8e776f154', + '4d4151a4ed3a8b87b9ce', + 'd7828d13b2b0bdc325a76236df93cc6b', + '0027ca0c7120bc3c9696766cfa'), + ( 'ec46bb63b02520c33c49fd70', + 'b96b49e21d621741632875db7f6c9243d2d7c2', + '31d750a09da3ed7fddd49a2032aabf17ec8ebf', + '7d22c8088c666be5c197', + 'd7828d13b2b0bdc325a76236df93cc6b', + '005b8ccbcd9af83c9696766cfa'), + ( '47a65ac78b3d594227e85e71', + 'e2fcfbb880442c731bf95167c8ffd7895e337076', + 'e882f1dbd38ce3eda7c23f04dd65071eb41342ac', + 'df7e00dccec7ae52987d', + 'd7828d13b2b0bdc325a76236df93cc6b', + '003ebe94044b9a3c9696766cfa'), + ( '6e37a6ef546d955d34ab6059', + 'abf21c0b02feb88f856df4a37381bce3cc128517d4', + 'f32905b88a641b04b9c9ffb58cc390900f3da12ab1', + '6dce9e82efa16da62059', + 'd7828d13b2b0bdc325a76236df93cc6b', + '008d493b30ae8b3c9696766cfa'), + ] + + test_vectors = [[unhexlify(x) for x in tv] for tv in test_vectors_hex] + + def runTest(self): + for assoc_data, pt, ct, mac, key, nonce in self.test_vectors: + # Encrypt + cipher = AES.new(key, AES.MODE_CCM, nonce, mac_len=len(mac)) + cipher.update(assoc_data) + ct2, mac2 = cipher.encrypt_and_digest(pt) + self.assertEqual(ct, ct2) + self.assertEqual(mac, mac2) + + # Decrypt + cipher = AES.new(key, AES.MODE_CCM, nonce, mac_len=len(mac)) + cipher.update(assoc_data) + pt2 = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(pt, pt2) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(CcmTests) + tests += list_test_cases(CcmFSMTests) + tests += [TestVectors()] + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_CFB.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CFB.py new file mode 100644 index 000000000..aadae4350 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CFB.py @@ -0,0 +1,403 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes, is_string +from Crypto.Cipher import AES, DES3, DES +from Crypto.Hash import SHAKE128 + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +from Crypto.SelfTest.Cipher.test_CBC import BlockChainingTests + +class CfbTests(BlockChainingTests): + + aes_mode = AES.MODE_CFB + des3_mode = DES3.MODE_CFB + + # Redefine test_unaligned_data_128/64 + + def test_unaligned_data_128(self): + plaintexts = [ b"7777777" ] * 100 + + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=8) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=8) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=128) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=128) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + def test_unaligned_data_64(self): + plaintexts = [ b"7777777" ] * 100 + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=8) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=8) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=64) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=64) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + # Extra + + def test_segment_size_128(self): + for bits in range(8, 129, 8): + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, + segment_size=bits) + + for bits in 0, 7, 9, 127, 129: + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CFB, + self.iv_128, + segment_size=bits) + + def test_segment_size_64(self): + for bits in range(8, 65, 8): + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, + segment_size=bits) + + for bits in 0, 7, 9, 63, 65: + self.assertRaises(ValueError, DES3.new, self.key_192, AES.MODE_CFB, + self.iv_64, + segment_size=bits) + + +class NistCfbVectors(unittest.TestCase): + + def _do_kat_aes_test(self, file_name, segment_size): + test_vectors = load_tests(("Crypto", "SelfTest", "Cipher", "test_vectors", "AES"), + file_name, + "AES CFB%d KAT" % segment_size, + { "count" : lambda x: int(x) } ) + assert(test_vectors) + + direction = None + for tv in test_vectors: + + # The test vector file contains some directive lines + if is_string(tv): + direction = tv + continue + + self.description = tv.desc + cipher = AES.new(tv.key, AES.MODE_CFB, tv.iv, + segment_size=segment_size) + if direction == "[ENCRYPT]": + self.assertEqual(cipher.encrypt(tv.plaintext), tv.ciphertext) + elif direction == "[DECRYPT]": + self.assertEqual(cipher.decrypt(tv.ciphertext), tv.plaintext) + else: + assert False + + # See Section 6.4.5 in AESAVS + def _do_mct_aes_test(self, file_name, segment_size): + test_vectors = load_tests(("Crypto", "SelfTest", "Cipher", "test_vectors", "AES"), + file_name, + "AES CFB%d Montecarlo" % segment_size, + { "count" : lambda x: int(x) } ) + assert(test_vectors) + assert(segment_size in (8, 128)) + + direction = None + for tv in test_vectors: + + # The test vector file contains some directive lines + if is_string(tv): + direction = tv + continue + + self.description = tv.desc + cipher = AES.new(tv.key, AES.MODE_CFB, tv.iv, + segment_size=segment_size) + + def get_input(input_text, output_seq, j): + # CFB128 + if segment_size == 128: + if j >= 2: + return output_seq[-2] + return [input_text, tv.iv][j] + # CFB8 + if j == 0: + return input_text + elif j <= 16: + return tv.iv[j - 1:j] + return output_seq[j - 17] + + if direction == '[ENCRYPT]': + cts = [] + for j in range(1000): + plaintext = get_input(tv.plaintext, cts, j) + cts.append(cipher.encrypt(plaintext)) + self.assertEqual(cts[-1], tv.ciphertext) + elif direction == '[DECRYPT]': + pts = [] + for j in range(1000): + ciphertext = get_input(tv.ciphertext, pts, j) + pts.append(cipher.decrypt(ciphertext)) + self.assertEqual(pts[-1], tv.plaintext) + else: + assert False + + def _do_tdes_test(self, file_name, segment_size): + test_vectors = load_tests(("Crypto", "SelfTest", "Cipher", "test_vectors", "TDES"), + file_name, + "AES CFB%d KAT" % segment_size, + { "count" : lambda x: int(x) } ) + assert(test_vectors) + + direction = None + for tv in test_vectors: + + # The test vector file contains some directive lines + if is_string(tv): + direction = tv + continue + + self.description = tv.desc + if hasattr(tv, "keys"): + cipher = DES.new(tv.keys, DES.MODE_CFB, tv.iv, + segment_size=segment_size) + else: + if tv.key1 != tv.key3: + key = tv.key1 + tv.key2 + tv.key3 # Option 3 + else: + key = tv.key1 + tv.key2 # Option 2 + cipher = DES3.new(key, DES3.MODE_CFB, tv.iv, + segment_size=segment_size) + if direction == "[ENCRYPT]": + self.assertEqual(cipher.encrypt(tv.plaintext), tv.ciphertext) + elif direction == "[DECRYPT]": + self.assertEqual(cipher.decrypt(tv.ciphertext), tv.plaintext) + else: + assert False + + +# Create one test method per file +nist_aes_kat_mmt_files = ( + # KAT + "CFB?GFSbox128.rsp", + "CFB?GFSbox192.rsp", + "CFB?GFSbox256.rsp", + "CFB?KeySbox128.rsp", + "CFB?KeySbox192.rsp", + "CFB?KeySbox256.rsp", + "CFB?VarKey128.rsp", + "CFB?VarKey192.rsp", + "CFB?VarKey256.rsp", + "CFB?VarTxt128.rsp", + "CFB?VarTxt192.rsp", + "CFB?VarTxt256.rsp", + # MMT + "CFB?MMT128.rsp", + "CFB?MMT192.rsp", + "CFB?MMT256.rsp", + ) +nist_aes_mct_files = ( + "CFB?MCT128.rsp", + "CFB?MCT192.rsp", + "CFB?MCT256.rsp", + ) + +for file_gen_name in nist_aes_kat_mmt_files: + for bits in "8", "128": + file_name = file_gen_name.replace("?", bits) + def new_func(self, file_name=file_name, bits=bits): + self._do_kat_aes_test(file_name, int(bits)) + setattr(NistCfbVectors, "test_AES_" + file_name, new_func) + +for file_gen_name in nist_aes_mct_files: + for bits in "8", "128": + file_name = file_gen_name.replace("?", bits) + def new_func(self, file_name=file_name, bits=bits): + self._do_mct_aes_test(file_name, int(bits)) + setattr(NistCfbVectors, "test_AES_" + file_name, new_func) +del file_name, new_func + +nist_tdes_files = ( + "TCFB?MMT2.rsp", # 2TDES + "TCFB?MMT3.rsp", # 3TDES + "TCFB?invperm.rsp", # Single DES + "TCFB?permop.rsp", + "TCFB?subtab.rsp", + "TCFB?varkey.rsp", + "TCFB?vartext.rsp", + ) + +for file_gen_name in nist_tdes_files: + for bits in "8", "64": + file_name = file_gen_name.replace("?", bits) + def new_func(self, file_name=file_name, bits=bits): + self._do_tdes_test(file_name, int(bits)) + setattr(NistCfbVectors, "test_TDES_" + file_name, new_func) + +# END OF NIST CBC TEST VECTORS + + +class SP800TestVectors(unittest.TestCase): + """Class exercising the CFB test vectors found in Section F.3 + of NIST SP 800-3A""" + + def test_aes_128_cfb8(self): + plaintext = '6bc1bee22e409f96e93d7e117393172aae2d' + ciphertext = '3b79424c9c0dd436bace9e0ed4586a4f32b9' + key = '2b7e151628aed2a6abf7158809cf4f3c' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=8) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=8) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_192_cfb8(self): + plaintext = '6bc1bee22e409f96e93d7e117393172aae2d' + ciphertext = 'cda2521ef0a905ca44cd057cbf0d47a0678a' + key = '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=8) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=8) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_256_cfb8(self): + plaintext = '6bc1bee22e409f96e93d7e117393172aae2d' + ciphertext = 'dc1f1a8520a64db55fcc8ac554844e889700' + key = '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=8) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=8) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_128_cfb128(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = '3b3fd92eb72dad20333449f8e83cfb4a' +\ + 'c8a64537a0b3a93fcde3cdad9f1ce58b' +\ + '26751f67a3cbb140b1808cf187a4f4df' +\ + 'c04b05357c5d1c0eeac4c66f9ff7f2e6' + key = '2b7e151628aed2a6abf7158809cf4f3c' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=128) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=128) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_192_cfb128(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = 'cdc80d6fddf18cab34c25909c99a4174' +\ + '67ce7f7f81173621961a2b70171d3d7a' +\ + '2e1e8a1dd59b88b1c8e60fed1efac4c9' +\ + 'c05f9f9ca9834fa042ae8fba584b09ff' + key = '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=128) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=128) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_256_cfb128(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + + ciphertext = 'dc7e84bfda79164b7ecd8486985d3860' +\ + '39ffed143b28b1c832113c6331e5407b' +\ + 'df10132415e54b92a13ed0a8267ae2f9' +\ + '75a385741ab9cef82031623d55b1e471' + key = '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=128) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CFB, iv, segment_size=128) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(CfbTests) + if config.get('slow_tests'): + tests += list_test_cases(NistCfbVectors) + tests += list_test_cases(SP800TestVectors) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_CTR.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CTR.py new file mode 100644 index 000000000..cfec31318 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_CTR.py @@ -0,0 +1,475 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import hexlify, unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes, bchr +from Crypto.Cipher import AES, DES3 +from Crypto.Hash import SHAKE128, SHA256 +from Crypto.Util import Counter + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + +class CtrTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + key_192 = get_tag_random("key_192", 24) + nonce_32 = get_tag_random("nonce_32", 4) + nonce_64 = get_tag_random("nonce_64", 8) + ctr_64 = Counter.new(32, prefix=nonce_32) + ctr_128 = Counter.new(64, prefix=nonce_64) + + def test_loopback_128(self): + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + pt = get_tag_random("plaintext", 16 * 100) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_loopback_64(self): + cipher = DES3.new(self.key_192, DES3.MODE_CTR, counter=self.ctr_64) + pt = get_tag_random("plaintext", 8 * 100) + ct = cipher.encrypt(pt) + + cipher = DES3.new(self.key_192, DES3.MODE_CTR, counter=self.ctr_64) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_invalid_counter_parameter(self): + # Counter object is required for ciphers with short block size + self.assertRaises(TypeError, DES3.new, self.key_192, AES.MODE_CTR) + # Positional arguments are not allowed (Counter must be passed as + # keyword) + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CTR, self.ctr_128) + + def test_nonce_attribute(self): + # Nonce attribute is the prefix passed to Counter (DES3) + cipher = DES3.new(self.key_192, DES3.MODE_CTR, counter=self.ctr_64) + self.assertEqual(cipher.nonce, self.nonce_32) + + # Nonce attribute is the prefix passed to Counter (AES) + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + self.assertEqual(cipher.nonce, self.nonce_64) + + # Nonce attribute is not defined if suffix is used in Counter + counter = Counter.new(64, prefix=self.nonce_32, suffix=self.nonce_32) + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + self.failIf(hasattr(cipher, "nonce")) + + def test_nonce_parameter(self): + # Nonce parameter becomes nonce attribute + cipher1 = AES.new(self.key_128, AES.MODE_CTR, nonce=self.nonce_64) + self.assertEqual(cipher1.nonce, self.nonce_64) + + counter = Counter.new(64, prefix=self.nonce_64, initial_value=0) + cipher2 = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + pt = get_tag_random("plaintext", 65536) + self.assertEqual(cipher1.encrypt(pt), cipher2.encrypt(pt)) + + # Nonce is implicitly created (for AES) when no parameters are passed + nonce1 = AES.new(self.key_128, AES.MODE_CTR).nonce + nonce2 = AES.new(self.key_128, AES.MODE_CTR).nonce + self.assertNotEqual(nonce1, nonce2) + self.assertEqual(len(nonce1), 8) + + # Nonce can be zero-length + cipher = AES.new(self.key_128, AES.MODE_CTR, nonce=b"") + self.assertEqual(b"", cipher.nonce) + cipher.encrypt(b'0'*300) + + # Nonce and Counter are mutually exclusive + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CTR, + counter=self.ctr_128, nonce=self.nonce_64) + + def test_initial_value_parameter(self): + # Test with nonce parameter + cipher1 = AES.new(self.key_128, AES.MODE_CTR, + nonce=self.nonce_64, initial_value=0xFFFF) + counter = Counter.new(64, prefix=self.nonce_64, initial_value=0xFFFF) + cipher2 = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + pt = get_tag_random("plaintext", 65536) + self.assertEqual(cipher1.encrypt(pt), cipher2.encrypt(pt)) + + # Test without nonce parameter + cipher1 = AES.new(self.key_128, AES.MODE_CTR, + initial_value=0xFFFF) + counter = Counter.new(64, prefix=cipher1.nonce, initial_value=0xFFFF) + cipher2 = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + pt = get_tag_random("plaintext", 65536) + self.assertEqual(cipher1.encrypt(pt), cipher2.encrypt(pt)) + + # Initial_value and Counter are mutually exclusive + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CTR, + counter=self.ctr_128, initial_value=0) + + def test_initial_value_bytes_parameter(self): + # Same result as when passing an integer + cipher1 = AES.new(self.key_128, AES.MODE_CTR, + nonce=self.nonce_64, + initial_value=b"\x00"*6+b"\xFF\xFF") + cipher2 = AES.new(self.key_128, AES.MODE_CTR, + nonce=self.nonce_64, initial_value=0xFFFF) + pt = get_tag_random("plaintext", 65536) + self.assertEqual(cipher1.encrypt(pt), cipher2.encrypt(pt)) + + # Fail if the iv is too large + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CTR, + initial_value=b"5"*17) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CTR, + nonce=self.nonce_64, initial_value=b"5"*9) + + # Fail if the iv is too short + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CTR, + initial_value=b"5"*15) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CTR, + nonce=self.nonce_64, initial_value=b"5"*7) + + def test_iv_with_matching_length(self): + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CTR, + counter=Counter.new(120)) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_CTR, + counter=Counter.new(136)) + + def test_block_size_128(self): + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + self.assertEqual(cipher.block_size, AES.block_size) + + def test_block_size_64(self): + cipher = DES3.new(self.key_192, DES3.MODE_CTR, counter=self.ctr_64) + self.assertEqual(cipher.block_size, DES3.block_size) + + def test_unaligned_data_128(self): + plaintexts = [ b"7777777" ] * 100 + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + def test_unaligned_data_64(self): + plaintexts = [ b"7777777" ] * 100 + cipher = DES3.new(self.key_192, AES.MODE_CTR, counter=self.ctr_64) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = DES3.new(self.key_192, AES.MODE_CTR, counter=self.ctr_64) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + cipher = DES3.new(self.key_192, AES.MODE_CTR, counter=self.ctr_64) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = DES3.new(self.key_192, AES.MODE_CTR, counter=self.ctr_64) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CTR, + 7, counter=self.ctr_128) + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_CTR, + counter=self.ctr_128, unknown=7) + # But some are only known by the base cipher (e.g. use_aesni consumed by the AES module) + AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128, use_aesni=False) + + def test_null_encryption_decryption(self): + for func in "encrypt", "decrypt": + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + result = getattr(cipher, func)(b"") + self.assertEqual(result, b"") + + def test_either_encrypt_or_decrypt(self): + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + cipher.encrypt(b"") + self.assertRaises(TypeError, cipher.decrypt, b"") + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=self.ctr_128) + cipher.decrypt(b"") + self.assertRaises(TypeError, cipher.encrypt, b"") + + def test_wrap_around(self): + # Counter is only 8 bits, so we can only encrypt/decrypt 256 blocks (=4096 bytes) + counter = Counter.new(8, prefix=bchr(9) * 15) + max_bytes = 4096 + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + cipher.encrypt(b'9' * max_bytes) + self.assertRaises(OverflowError, cipher.encrypt, b'9') + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + self.assertRaises(OverflowError, cipher.encrypt, b'9' * (max_bytes + 1)) + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + cipher.decrypt(b'9' * max_bytes) + self.assertRaises(OverflowError, cipher.decrypt, b'9') + + cipher = AES.new(self.key_128, AES.MODE_CTR, counter=counter) + self.assertRaises(OverflowError, cipher.decrypt, b'9' * (max_bytes + 1)) + + def test_bytearray(self): + data = b"1" * 16 + iv = b"\x00" * 6 + b"\xFF\xFF" + + # Encrypt + cipher1 = AES.new(self.key_128, AES.MODE_CTR, + nonce=self.nonce_64, + initial_value=iv) + ref1 = cipher1.encrypt(data) + + cipher2 = AES.new(self.key_128, AES.MODE_CTR, + nonce=bytearray(self.nonce_64), + initial_value=bytearray(iv)) + ref2 = cipher2.encrypt(bytearray(data)) + + self.assertEqual(ref1, ref2) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + cipher3 = AES.new(self.key_128, AES.MODE_CTR, + nonce=self.nonce_64, + initial_value=iv) + ref3 = cipher3.decrypt(data) + + cipher4 = AES.new(self.key_128, AES.MODE_CTR, + nonce=bytearray(self.nonce_64), + initial_value=bytearray(iv)) + ref4 = cipher4.decrypt(bytearray(data)) + + self.assertEqual(ref3, ref4) + + def test_very_long_data(self): + cipher = AES.new(b'A' * 32, AES.MODE_CTR, nonce=b'') + ct = cipher.encrypt(b'B' * 1000000) + digest = SHA256.new(ct).hexdigest() + self.assertEqual(digest, "96204fc470476561a3a8f3b6fe6d24be85c87510b638142d1d0fb90989f8a6a6") + + def test_output_param(self): + + pt = b'5' * 16 + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + ct = cipher.encrypt(pt) + + output = bytearray(16) + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + def test_output_param_memoryview(self): + + pt = b'5' * 16 + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + ct = cipher.encrypt(pt) + + output = memoryview(bytearray(16)) + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + def test_output_param_neg(self): + + pt = b'5' * 16 + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + ct = cipher.encrypt(pt) + + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(15) + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + cipher = AES.new(b'4'*16, AES.MODE_CTR, nonce=self.nonce_64) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + import sys + if sys.version[:3] == "2.6": + del test_output_param_memoryview + + +class SP800TestVectors(unittest.TestCase): + """Class exercising the CTR test vectors found in Section F.5 + of NIST SP 800-38A""" + + def test_aes_128(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = '874d6191b620e3261bef6864990db6ce' +\ + '9806f66b7970fdff8617187bb9fffdff' +\ + '5ae4df3edbd5d35e5b4f09020db03eab' +\ + '1e031dda2fbe03d1792170a0f3009cee' + key = '2b7e151628aed2a6abf7158809cf4f3c' + counter = Counter.new(nbits=16, + prefix=unhexlify('f0f1f2f3f4f5f6f7f8f9fafbfcfd'), + initial_value=0xfeff) + + key = unhexlify(key) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CTR, counter=counter) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CTR, counter=counter) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_192(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = '1abc932417521ca24f2b0459fe7e6e0b' +\ + '090339ec0aa6faefd5ccc2c6f4ce8e94' +\ + '1e36b26bd1ebc670d1bd1d665620abf7' +\ + '4f78a7f6d29809585a97daec58c6b050' + key = '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b' + counter = Counter.new(nbits=16, + prefix=unhexlify('f0f1f2f3f4f5f6f7f8f9fafbfcfd'), + initial_value=0xfeff) + + key = unhexlify(key) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CTR, counter=counter) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CTR, counter=counter) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + def test_aes_256(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = '601ec313775789a5b7a7f504bbf3d228' +\ + 'f443e3ca4d62b59aca84e990cacaf5c5' +\ + '2b0930daa23de94ce87017ba2d84988d' +\ + 'dfc9c58db67aada613c2dd08457941a6' + key = '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4' + counter = Counter.new(nbits=16, + prefix=unhexlify('f0f1f2f3f4f5f6f7f8f9fafbfcfd'), + initial_value=0xfeff) + key = unhexlify(key) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_CTR, counter=counter) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_CTR, counter=counter) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + +class RFC3686TestVectors(unittest.TestCase): + + # Each item is a test vector with: + # - plaintext + # - ciphertext + # - key (AES 128, 192 or 256 bits) + # - counter prefix (4 byte nonce + 8 byte nonce) + data = ( + ('53696e676c6520626c6f636b206d7367', + 'e4095d4fb7a7b3792d6175a3261311b8', + 'ae6852f8121067cc4bf7a5765577f39e', + '000000300000000000000000'), + ('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', + '5104a106168a72d9790d41ee8edad388eb2e1efc46da57c8fce630df9141be28', + '7e24067817fae0d743d6ce1f32539163', + '006cb6dbc0543b59da48d90b'), + ('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223', + 'c1cf48a89f2ffdd9cf4652e9efdb72d74540a42bde6d7836d59a5ceaaef3105325b2072f', + '7691be035e5020a8ac6e618529f9a0dc', + '00e0017b27777f3f4a1786f0'), + ('53696e676c6520626c6f636b206d7367', + '4b55384fe259c9c84e7935a003cbe928', + '16af5b145fc9f579c175f93e3bfb0eed863d06ccfdb78515', + '0000004836733c147d6d93cb'), + ('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', + '453243fc609b23327edfaafa7131cd9f8490701c5ad4a79cfc1fe0ff42f4fb00', + '7c5cb2401b3dc33c19e7340819e0f69c678c3db8e6f6a91a', + '0096b03b020c6eadc2cb500d'), + ('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223', + '96893fc55e5c722f540b7dd1ddf7e758d288bc95c69165884536c811662f2188abee0935', + '02bf391ee8ecb159b959617b0965279bf59b60a786d3e0fe', + '0007bdfd5cbd60278dcc0912'), + ('53696e676c6520626c6f636b206d7367', + '145ad01dbf824ec7560863dc71e3e0c0', + '776beff2851db06f4c8a0542c8696f6c6a81af1eec96b4d37fc1d689e6c1c104', + '00000060db5672c97aa8f0b2'), + ('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', + 'f05e231b3894612c49ee000b804eb2a9b8306b508f839d6a5530831d9344af1c', + 'f6d66d6bd52d59bb0796365879eff886c66dd51a5b6a99744b50590c87a23884', + '00faac24c1585ef15a43d875'), + ('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223', + 'eb6c52821d0bbbf7ce7594462aca4faab407df866569fd07f48cc0b583d6071f1ec0e6b8', + 'ff7a617ce69148e4f1726e2f43581de2aa62d9f805532edff1eed687fb54153d', + '001cc5b751a51d70a1c11148') + ) + + bindata = [] + for tv in data: + bindata.append([unhexlify(x) for x in tv]) + + def runTest(self): + for pt, ct, key, prefix in self.bindata: + counter = Counter.new(32, prefix=prefix) + cipher = AES.new(key, AES.MODE_CTR, counter=counter) + result = cipher.encrypt(pt) + self.assertEqual(hexlify(ct), hexlify(result)) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(CtrTests) + tests += list_test_cases(SP800TestVectors) + tests += [ RFC3686TestVectors() ] + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_ChaCha20.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ChaCha20.py new file mode 100644 index 000000000..42bd5d872 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ChaCha20.py @@ -0,0 +1,457 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import os +import re +import unittest +from binascii import hexlify, unhexlify + +from Crypto.Util.py3compat import b, tobytes, bchr, _memoryview +from Crypto.Util.strxor import strxor_c +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Cipher import ChaCha20 + + +class ChaCha20Test(unittest.TestCase): + + def test_new_positive(self): + cipher = ChaCha20.new(key=b("0")*32, nonce=b"0"*8) + self.assertEqual(cipher.nonce, b"0" * 8) + cipher = ChaCha20.new(key=b("0")*32, nonce=b"0"*12) + self.assertEqual(cipher.nonce, b"0" * 12) + + def test_new_negative(self): + new = ChaCha20.new + self.assertRaises(TypeError, new) + self.assertRaises(TypeError, new, nonce=b("0")) + self.assertRaises(ValueError, new, nonce=b("0")*8, key=b("0")) + self.assertRaises(ValueError, new, nonce=b("0"), key=b("0")*32) + + def test_default_nonce(self): + cipher1 = ChaCha20.new(key=bchr(1) * 32) + cipher2 = ChaCha20.new(key=bchr(1) * 32) + self.assertEquals(len(cipher1.nonce), 8) + self.assertNotEqual(cipher1.nonce, cipher2.nonce) + + def test_eiter_encrypt_or_decrypt(self): + """Verify that a cipher cannot be used for both decrypting and encrypting""" + + c1 = ChaCha20.new(key=b("5") * 32, nonce=b("6") * 8) + c1.encrypt(b("8")) + self.assertRaises(TypeError, c1.decrypt, b("9")) + + c2 = ChaCha20.new(key=b("5") * 32, nonce=b("6") * 8) + c2.decrypt(b("8")) + self.assertRaises(TypeError, c2.encrypt, b("9")) + + def test_round_trip(self): + pt = b("A") * 1024 + c1 = ChaCha20.new(key=b("5") * 32, nonce=b("6") * 8) + c2 = ChaCha20.new(key=b("5") * 32, nonce=b("6") * 8) + ct = c1.encrypt(pt) + self.assertEqual(c2.decrypt(ct), pt) + + self.assertEqual(c1.encrypt(b("")), b("")) + self.assertEqual(c2.decrypt(b("")), b("")) + + def test_streaming(self): + """Verify that an arbitrary number of bytes can be encrypted/decrypted""" + from Crypto.Hash import SHA1 + + segments = (1, 3, 5, 7, 11, 17, 23) + total = sum(segments) + + pt = b("") + while len(pt) < total: + pt += SHA1.new(pt).digest() + + cipher1 = ChaCha20.new(key=b("7") * 32, nonce=b("t") * 8) + ct = cipher1.encrypt(pt) + + cipher2 = ChaCha20.new(key=b("7") * 32, nonce=b("t") * 8) + cipher3 = ChaCha20.new(key=b("7") * 32, nonce=b("t") * 8) + idx = 0 + for segment in segments: + self.assertEqual(cipher2.decrypt(ct[idx:idx+segment]), pt[idx:idx+segment]) + self.assertEqual(cipher3.encrypt(pt[idx:idx+segment]), ct[idx:idx+segment]) + idx += segment + + def test_seek(self): + cipher1 = ChaCha20.new(key=b("9") * 32, nonce=b("e") * 8) + + offset = 64 * 900 + 7 + pt = b("1") * 64 + + cipher1.encrypt(b("0") * offset) + ct1 = cipher1.encrypt(pt) + + cipher2 = ChaCha20.new(key=b("9") * 32, nonce=b("e") * 8) + cipher2.seek(offset) + ct2 = cipher2.encrypt(pt) + + self.assertEquals(ct1, ct2) + + def test_seek_tv(self): + # Test Vector #4, A.1 from + # http://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-04 + key = bchr(0) + bchr(255) + bchr(0) * 30 + nonce = bchr(0) * 8 + cipher = ChaCha20.new(key=key, nonce=nonce) + cipher.seek(64 * 2) + expected_key_stream = unhexlify(b( + "72d54dfbf12ec44b362692df94137f32" + "8fea8da73990265ec1bbbea1ae9af0ca" + "13b25aa26cb4a648cb9b9d1be65b2c09" + "24a66c54d545ec1b7374f4872e99f096" + )) + ct = cipher.encrypt(bchr(0) * len(expected_key_stream)) + self.assertEqual(expected_key_stream, ct) + + def test_rfc7539(self): + # from https://tools.ietf.org/html/rfc7539 Annex A.1 + # Each item is: key, nonce, block #, plaintext, ciphertext + tvs = [ + # Test Vector #1 + ( + "00"*32, + "00"*12, + 0, + "00"*16*4, + "76b8e0ada0f13d90405d6ae55386bd28" + "bdd219b8a08ded1aa836efcc8b770dc7" + "da41597c5157488d7724e03fb8d84a37" + "6a43b8f41518a11cc387b669b2ee6586" + ), + # Test Vector #2 + ( + "00"*31 + "01", + "00"*11 + "02", + 1, + "416e79207375626d697373696f6e2074" + "6f20746865204945544620696e74656e" + "6465642062792074686520436f6e7472" + "696275746f7220666f72207075626c69" + "636174696f6e20617320616c6c206f72" + "2070617274206f6620616e2049455446" + "20496e7465726e65742d447261667420" + "6f722052464320616e6420616e792073" + "746174656d656e74206d616465207769" + "7468696e2074686520636f6e74657874" + "206f6620616e20494554462061637469" + "7669747920697320636f6e7369646572" + "656420616e20224945544620436f6e74" + "7269627574696f6e222e205375636820" + "73746174656d656e747320696e636c75" + "6465206f72616c2073746174656d656e" + "747320696e2049455446207365737369" + "6f6e732c2061732077656c6c20617320" + "7772697474656e20616e6420656c6563" + "74726f6e696320636f6d6d756e696361" + "74696f6e73206d61646520617420616e" + "792074696d65206f7220706c6163652c" + "20776869636820617265206164647265" + "7373656420746f", + "a3fbf07df3fa2fde4f376ca23e827370" + "41605d9f4f4f57bd8cff2c1d4b7955ec" + "2a97948bd3722915c8f3d337f7d37005" + "0e9e96d647b7c39f56e031ca5eb6250d" + "4042e02785ececfa4b4bb5e8ead0440e" + "20b6e8db09d881a7c6132f420e527950" + "42bdfa7773d8a9051447b3291ce1411c" + "680465552aa6c405b7764d5e87bea85a" + "d00f8449ed8f72d0d662ab052691ca66" + "424bc86d2df80ea41f43abf937d3259d" + "c4b2d0dfb48a6c9139ddd7f76966e928" + "e635553ba76c5c879d7b35d49eb2e62b" + "0871cdac638939e25e8a1e0ef9d5280f" + "a8ca328b351c3c765989cbcf3daa8b6c" + "cc3aaf9f3979c92b3720fc88dc95ed84" + "a1be059c6499b9fda236e7e818b04b0b" + "c39c1e876b193bfe5569753f88128cc0" + "8aaa9b63d1a16f80ef2554d7189c411f" + "5869ca52c5b83fa36ff216b9c1d30062" + "bebcfd2dc5bce0911934fda79a86f6e6" + "98ced759c3ff9b6477338f3da4f9cd85" + "14ea9982ccafb341b2384dd902f3d1ab" + "7ac61dd29c6f21ba5b862f3730e37cfd" + "c4fd806c22f221" + ), + # Test Vector #3 + ( + "1c9240a5eb55d38af333888604f6b5f0" + "473917c1402b80099dca5cbc207075c0", + "00"*11 + "02", + 42, + "2754776173206272696c6c69672c2061" + "6e642074686520736c6974687920746f" + "7665730a446964206779726520616e64" + "2067696d626c6520696e207468652077" + "6162653a0a416c6c206d696d73792077" + "6572652074686520626f726f676f7665" + "732c0a416e6420746865206d6f6d6520" + "7261746873206f757467726162652e", + "62e6347f95ed87a45ffae7426f27a1df" + "5fb69110044c0d73118effa95b01e5cf" + "166d3df2d721caf9b21e5fb14c616871" + "fd84c54f9d65b283196c7fe4f60553eb" + "f39c6402c42234e32a356b3e764312a6" + "1a5532055716ead6962568f87d3f3f77" + "04c6a8d1bcd1bf4d50d6154b6da731b1" + "87b58dfd728afa36757a797ac188d1" + ) + ] + + for tv in tvs: + key = unhexlify(tv[0]) + nonce = unhexlify(tv[1]) + offset = tv[2] * 64 + pt = unhexlify(tv[3]) + ct_expect = unhexlify(tv[4]) + + cipher = ChaCha20.new(key=key, nonce=nonce) + if offset != 0: + cipher.seek(offset) + ct = cipher.encrypt(pt) + assert(ct == ct_expect) + + +class ByteArrayTest(unittest.TestCase): + """Verify we can encrypt or decrypt bytearrays""" + + def runTest(self): + + data = b"0123" + key = b"9" * 32 + nonce = b"t" * 8 + + # Encryption + data_ba = bytearray(data) + key_ba = bytearray(key) + nonce_ba = bytearray(nonce) + + cipher1 = ChaCha20.new(key=key, nonce=nonce) + ct = cipher1.encrypt(data) + + cipher2 = ChaCha20.new(key=key_ba, nonce=nonce_ba) + key_ba[:1] = b'\xFF' + nonce_ba[:1] = b'\xFF' + ct_test = cipher2.encrypt(data_ba) + + self.assertEqual(ct, ct_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decryption + key_ba = bytearray(key) + nonce_ba = bytearray(nonce) + ct_ba = bytearray(ct) + + cipher3 = ChaCha20.new(key=key_ba, nonce=nonce_ba) + key_ba[:1] = b'\xFF' + nonce_ba[:1] = b'\xFF' + pt_test = cipher3.decrypt(ct_ba) + + self.assertEqual(data, pt_test) + + +class MemoryviewTest(unittest.TestCase): + """Verify we can encrypt or decrypt bytearrays""" + + def runTest(self): + + data = b"0123" + key = b"9" * 32 + nonce = b"t" * 8 + + # Encryption + data_mv = memoryview(bytearray(data)) + key_mv = memoryview(bytearray(key)) + nonce_mv = memoryview(bytearray(nonce)) + + cipher1 = ChaCha20.new(key=key, nonce=nonce) + ct = cipher1.encrypt(data) + + cipher2 = ChaCha20.new(key=key_mv, nonce=nonce_mv) + key_mv[:1] = b'\xFF' + nonce_mv[:1] = b'\xFF' + ct_test = cipher2.encrypt(data_mv) + + self.assertEqual(ct, ct_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decryption + key_mv = memoryview(bytearray(key)) + nonce_mv = memoryview(bytearray(nonce)) + ct_mv = memoryview(bytearray(ct)) + + cipher3 = ChaCha20.new(key=key_mv, nonce=nonce_mv) + key_mv[:1] = b'\xFF' + nonce_mv[:1] = b'\xFF' + pt_test = cipher3.decrypt(ct_mv) + + self.assertEqual(data, pt_test) + + +class ChaCha20_AGL_NIR(unittest.TestCase): + + # From http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-04 + # and http://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-04 + tv = [ + ( "00" * 32, + "00" * 8, + "76b8e0ada0f13d90405d6ae55386bd28bdd219b8a08ded1aa836efcc" + "8b770dc7da41597c5157488d7724e03fb8d84a376a43b8f41518a11c" + "c387b669b2ee6586" + "9f07e7be5551387a98ba977c732d080d" + "cb0f29a048e3656912c6533e32ee7aed" + "29b721769ce64e43d57133b074d839d5" + "31ed1f28510afb45ace10a1f4b794d6f" + ), + ( "00" * 31 + "01", + "00" * 8, + "4540f05a9f1fb296d7736e7b208e3c96eb4fe1834688d2604f450952" + "ed432d41bbe2a0b6ea7566d2a5d1e7e20d42af2c53d792b1c43fea81" + "7e9ad275ae546963" + "3aeb5224ecf849929b9d828db1ced4dd" + "832025e8018b8160b82284f3c949aa5a" + "8eca00bbb4a73bdad192b5c42f73f2fd" + "4e273644c8b36125a64addeb006c13a0" + ), + ( "00" * 32, + "00" * 7 + "01", + "de9cba7bf3d69ef5e786dc63973f653a0b49e015adbff7134fcb7df1" + "37821031e85a050278a7084527214f73efc7fa5b5277062eb7a0433e" + "445f41e3" + ), + ( "00" * 32, + "01" + "00" * 7, + "ef3fdfd6c61578fbf5cf35bd3dd33b8009631634d21e42ac33960bd1" + "38e50d32111e4caf237ee53ca8ad6426194a88545ddc497a0b466e7d" + "6bbdb0041b2f586b" + ), + ( "000102030405060708090a0b0c0d0e0f101112131415161718191a1b" + "1c1d1e1f", + "0001020304050607", + "f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56" + "f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f1" + "5916155c2be8241a38008b9a26bc35941e2444177c8ade6689de9526" + "4986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e" + "09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a4750" + "32b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c5" + "07b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f7" + "6dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2" + "ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab7" + "8fab78c9" + ), + ( "00" * 32, + "00" * 7 + "02", + "c2c64d378cd536374ae204b9ef933fcd" + "1a8b2288b3dfa49672ab765b54ee27c7" + "8a970e0e955c14f3a88e741b97c286f7" + "5f8fc299e8148362fa198a39531bed6d" + ), + ] + + def runTest(self): + for (key, nonce, stream) in self.tv: + c = ChaCha20.new(key=unhexlify(b(key)), nonce=unhexlify(b(nonce))) + ct = unhexlify(b(stream)) + pt = b("\x00") * len(ct) + self.assertEqual(c.encrypt(pt), ct) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + key = b'4' * 32 + nonce = b'5' * 8 + cipher = ChaCha20.new(key=key, nonce=nonce) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + cipher = ChaCha20.new(key=key, nonce=nonce) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = ChaCha20.new(key=key, nonce=nonce) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher = ChaCha20.new(key=key, nonce=nonce) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = ChaCha20.new(key=key, nonce=nonce) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + cipher = ChaCha20.new(key=key, nonce=nonce) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = ChaCha20.new(key=key, nonce=nonce) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(7) + + cipher = ChaCha20.new(key=key, nonce=nonce) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + + cipher = ChaCha20.new(key=key, nonce=nonce) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(ChaCha20Test) + tests.append(ChaCha20_AGL_NIR()) + tests.append(ByteArrayTest()) + + import sys + if sys.version[:3] != "2.6": + tests.append(MemoryviewTest()) + + tests.append(TestOutput()) + + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py new file mode 100644 index 000000000..b9025355a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py @@ -0,0 +1,739 @@ +# =================================================================== +# +# Copyright (c) 2018, Helder Eijs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import json +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes, _memoryview +from Crypto.Cipher import ChaCha20_Poly1305 +from Crypto.Hash import SHAKE128 + +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.strxor import strxor + + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +class ChaCha20Poly1305Tests(unittest.TestCase): + + key_256 = get_tag_random("key_256", 32) + nonce_96 = get_tag_random("nonce_96", 12) + data_128 = get_tag_random("data_128", 16) + + def test_loopback(self): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + pt = get_tag_random("plaintext", 16 * 100) + ct = cipher.encrypt(pt) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_nonce(self): + # Nonce can only be 8 or 12 bytes + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=b'H' * 8) + self.assertEqual(len(cipher.nonce), 8) + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=b'H' * 12) + self.assertEqual(len(cipher.nonce), 12) + + # If not passed, the nonce is created randomly + cipher = ChaCha20_Poly1305.new(key=self.key_256) + nonce1 = cipher.nonce + cipher = ChaCha20_Poly1305.new(key=self.key_256) + nonce2 = cipher.nonce + self.assertEqual(len(nonce1), 12) + self.assertNotEqual(nonce1, nonce2) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + self.assertEquals(ct, cipher.encrypt(self.data_128)) + + def test_nonce_must_be_bytes(self): + self.assertRaises(TypeError, + ChaCha20_Poly1305.new, + key=self.key_256, + nonce=u'test12345678') + + def test_nonce_length(self): + # nonce can only be 8 or 12 bytes long + self.assertRaises(ValueError, + ChaCha20_Poly1305.new, + key=self.key_256, + nonce=b'0' * 7) + self.assertRaises(ValueError, + ChaCha20_Poly1305.new, + key=self.key_256, + nonce=b'') + + def test_block_size(self): + # Not based on block ciphers + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + self.failIf(hasattr(cipher, 'block_size')) + + def test_nonce_attribute(self): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + self.assertEqual(cipher.nonce, self.nonce_96) + + # By default, a 12 bytes long nonce is randomly generated + nonce1 = ChaCha20_Poly1305.new(key=self.key_256).nonce + nonce2 = ChaCha20_Poly1305.new(key=self.key_256).nonce + self.assertEqual(len(nonce1), 12) + self.assertNotEqual(nonce1, nonce2) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, + ChaCha20_Poly1305.new, + key=self.key_256, + param=9) + + def test_null_encryption_decryption(self): + for func in "encrypt", "decrypt": + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + result = getattr(cipher, func)(b"") + self.assertEqual(result, b"") + + def test_either_encrypt_or_decrypt(self): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.encrypt(b"") + self.assertRaises(TypeError, cipher.decrypt, b"") + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.decrypt(b"") + self.assertRaises(TypeError, cipher.encrypt, b"") + + def test_data_must_be_bytes(self): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, u'test1234567890-*') + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, u'test1234567890-*') + + def test_mac_len(self): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), 16) + + def test_invalid_mac(self): + from Crypto.Util.strxor import strxor_c + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + invalid_mac = strxor_c(mac, 0x01) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct, + invalid_mac) + + def test_hex_mac(self): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + mac_hex = cipher.hexdigest() + self.assertEqual(cipher.digest(), unhexlify(mac_hex)) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.hexverify(mac_hex) + + def test_message_chunks(self): + # Validate that both associated data and plaintext/ciphertext + # can be broken up in chunks of arbitrary length + + auth_data = get_tag_random("authenticated data", 127) + plaintext = get_tag_random("plaintext", 127) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(auth_data) + ciphertext, ref_mac = cipher.encrypt_and_digest(plaintext) + + def break_up(data, chunk_length): + return [data[i:i+chunk_length] for i in range(0, len(data), + chunk_length)] + + # Encryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + pt2 = b"" + for chunk in break_up(ciphertext, chunk_length): + pt2 += cipher.decrypt(chunk) + self.assertEqual(plaintext, pt2) + cipher.verify(ref_mac) + + # Decryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + ct2 = b"" + for chunk in break_up(plaintext, chunk_length): + ct2 += cipher.encrypt(chunk) + self.assertEqual(ciphertext, ct2) + self.assertEquals(cipher.digest(), ref_mac) + + def test_bytearray(self): + + # Encrypt + key_ba = bytearray(self.key_256) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + data_ba = bytearray(self.data_128) + + cipher1 = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + key_ba[:3] = b'\xFF\xFF\xFF' + nonce_ba[:3] = b'\xFF\xFF\xFF' + cipher2.update(header_ba) + header_ba[:3] = b'\xFF\xFF\xFF' + ct_test = cipher2.encrypt(data_ba) + data_ba[:3] = b'\x99\x99\x99' + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_ba = bytearray(self.key_256) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + ct_ba = bytearray(ct) + tag_ba = bytearray(tag) + del data_ba + + cipher3 = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + key_ba[:3] = b'\xFF\xFF\xFF' + nonce_ba[:3] = b'\xFF\xFF\xFF' + cipher3.update(header_ba) + header_ba[:3] = b'\xFF\xFF\xFF' + pt_test = cipher3.decrypt(ct_ba) + ct_ba[:3] = b'\xFF\xFF\xFF' + cipher3.verify(tag_ba) + + self.assertEqual(pt_test, self.data_128) + + def test_memoryview(self): + + # Encrypt + key_mv = memoryview(bytearray(self.key_256)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + data_mv = memoryview(bytearray(self.data_128)) + + cipher1 = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + key_mv[:3] = b'\xFF\xFF\xFF' + nonce_mv[:3] = b'\xFF\xFF\xFF' + cipher2.update(header_mv) + header_mv[:3] = b'\xFF\xFF\xFF' + ct_test = cipher2.encrypt(data_mv) + data_mv[:3] = b'\x99\x99\x99' + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_mv = memoryview(bytearray(self.key_256)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + ct_mv = memoryview(bytearray(ct)) + tag_mv = memoryview(bytearray(tag)) + del data_mv + + cipher3 = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + key_mv[:3] = b'\xFF\xFF\xFF' + nonce_mv[:3] = b'\xFF\xFF\xFF' + cipher3.update(header_mv) + header_mv[:3] = b'\xFF\xFF\xFF' + pt_test = cipher3.decrypt(ct_mv) + ct_mv[:3] = b'\x99\x99\x99' + cipher3.verify(tag_mv) + + self.assertEqual(pt_test, self.data_128) + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + + +class ChaCha20Poly1305FSMTests(unittest.TestCase): + + key_256 = get_tag_random("key_256", 32) + nonce_96 = get_tag_random("nonce_96", 12) + data_128 = get_tag_random("data_128", 16) + + def test_valid_init_encrypt_decrypt_digest_verify(self): + # No authenticated data, fixed plaintext + # Verify path INIT->ENCRYPT->DIGEST + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->DECRYPT->VERIFY + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_update_digest_verify(self): + # No plaintext, fixed authenticated data + # Verify path INIT->UPDATE->DIGEST + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->VERIFY + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.verify(mac) + + def test_valid_full_path(self): + # Fixed authenticated data, fixed plaintext + # Verify path INIT->UPDATE->ENCRYPT->DIGEST + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->DECRYPT->VERIFY + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_digest(self): + # Verify path INIT->DIGEST + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.digest() + + def test_valid_init_verify(self): + # Verify path INIT->VERIFY + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + mac = cipher.digest() + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.verify(mac) + + def test_valid_multiple_encrypt_or_decrypt(self): + for method_name in "encrypt", "decrypt": + for auth_data in (None, b"333", self.data_128, + self.data_128 + b"3"): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + if auth_data is not None: + cipher.update(auth_data) + method = getattr(cipher, method_name) + method(self.data_128) + method(self.data_128) + method(self.data_128) + method(self.data_128) + + def test_valid_multiple_digest_or_verify(self): + # Multiple calls to digest + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + first_mac = cipher.digest() + for x in range(4): + self.assertEqual(first_mac, cipher.digest()) + + # Multiple calls to verify + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + for x in range(5): + cipher.verify(first_mac) + + def test_valid_encrypt_and_digest_decrypt_and_verify(self): + # encrypt_and_digest + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + # decrypt_and_verify + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.update(self.data_128) + pt = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(self.data_128, pt) + + def test_invalid_mixing_encrypt_decrypt(self): + # Once per method, with or without assoc. data + for method1_name, method2_name in (("encrypt", "decrypt"), + ("decrypt", "encrypt")): + for assoc_data_present in (True, False): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + if assoc_data_present: + cipher.update(self.data_128) + getattr(cipher, method1_name)(self.data_128) + self.assertRaises(TypeError, getattr(cipher, method2_name), + self.data_128) + + def test_invalid_encrypt_or_update_after_digest(self): + for method_name in "encrypt", "update": + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.encrypt(self.data_128) + cipher.digest() + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.encrypt_and_digest(self.data_128) + + def test_invalid_decrypt_or_update_after_verify(self): + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + for method_name in "decrypt", "update": + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = ChaCha20_Poly1305.new(key=self.key_256, + nonce=self.nonce_96) + cipher.decrypt_and_verify(ct, mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + +def compact(x): + return unhexlify(x.replace(" ", "").replace(":", "")) + + +class TestVectorsRFC(unittest.TestCase): + """Test cases from RFC7539""" + + # AAD, PT, CT, MAC, KEY, NONCE + test_vectors_hex = [ + ( '50 51 52 53 c0 c1 c2 c3 c4 c5 c6 c7', + '4c 61 64 69 65 73 20 61 6e 64 20 47 65 6e 74 6c' + '65 6d 65 6e 20 6f 66 20 74 68 65 20 63 6c 61 73' + '73 20 6f 66 20 27 39 39 3a 20 49 66 20 49 20 63' + '6f 75 6c 64 20 6f 66 66 65 72 20 79 6f 75 20 6f' + '6e 6c 79 20 6f 6e 65 20 74 69 70 20 66 6f 72 20' + '74 68 65 20 66 75 74 75 72 65 2c 20 73 75 6e 73' + '63 72 65 65 6e 20 77 6f 75 6c 64 20 62 65 20 69' + '74 2e', + 'd3 1a 8d 34 64 8e 60 db 7b 86 af bc 53 ef 7e c2' + 'a4 ad ed 51 29 6e 08 fe a9 e2 b5 a7 36 ee 62 d6' + '3d be a4 5e 8c a9 67 12 82 fa fb 69 da 92 72 8b' + '1a 71 de 0a 9e 06 0b 29 05 d6 a5 b6 7e cd 3b 36' + '92 dd bd 7f 2d 77 8b 8c 98 03 ae e3 28 09 1b 58' + 'fa b3 24 e4 fa d6 75 94 55 85 80 8b 48 31 d7 bc' + '3f f4 de f0 8e 4b 7a 9d e5 76 d2 65 86 ce c6 4b' + '61 16', + '1a:e1:0b:59:4f:09:e2:6a:7e:90:2e:cb:d0:60:06:91', + '80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f' + '90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f', + '07 00 00 00' + '40 41 42 43 44 45 46 47', + ), + ( 'f3 33 88 86 00 00 00 00 00 00 4e 91', + '49 6e 74 65 72 6e 65 74 2d 44 72 61 66 74 73 20' + '61 72 65 20 64 72 61 66 74 20 64 6f 63 75 6d 65' + '6e 74 73 20 76 61 6c 69 64 20 66 6f 72 20 61 20' + '6d 61 78 69 6d 75 6d 20 6f 66 20 73 69 78 20 6d' + '6f 6e 74 68 73 20 61 6e 64 20 6d 61 79 20 62 65' + '20 75 70 64 61 74 65 64 2c 20 72 65 70 6c 61 63' + '65 64 2c 20 6f 72 20 6f 62 73 6f 6c 65 74 65 64' + '20 62 79 20 6f 74 68 65 72 20 64 6f 63 75 6d 65' + '6e 74 73 20 61 74 20 61 6e 79 20 74 69 6d 65 2e' + '20 49 74 20 69 73 20 69 6e 61 70 70 72 6f 70 72' + '69 61 74 65 20 74 6f 20 75 73 65 20 49 6e 74 65' + '72 6e 65 74 2d 44 72 61 66 74 73 20 61 73 20 72' + '65 66 65 72 65 6e 63 65 20 6d 61 74 65 72 69 61' + '6c 20 6f 72 20 74 6f 20 63 69 74 65 20 74 68 65' + '6d 20 6f 74 68 65 72 20 74 68 61 6e 20 61 73 20' + '2f e2 80 9c 77 6f 72 6b 20 69 6e 20 70 72 6f 67' + '72 65 73 73 2e 2f e2 80 9d', + '64 a0 86 15 75 86 1a f4 60 f0 62 c7 9b e6 43 bd' + '5e 80 5c fd 34 5c f3 89 f1 08 67 0a c7 6c 8c b2' + '4c 6c fc 18 75 5d 43 ee a0 9e e9 4e 38 2d 26 b0' + 'bd b7 b7 3c 32 1b 01 00 d4 f0 3b 7f 35 58 94 cf' + '33 2f 83 0e 71 0b 97 ce 98 c8 a8 4a bd 0b 94 81' + '14 ad 17 6e 00 8d 33 bd 60 f9 82 b1 ff 37 c8 55' + '97 97 a0 6e f4 f0 ef 61 c1 86 32 4e 2b 35 06 38' + '36 06 90 7b 6a 7c 02 b0 f9 f6 15 7b 53 c8 67 e4' + 'b9 16 6c 76 7b 80 4d 46 a5 9b 52 16 cd e7 a4 e9' + '90 40 c5 a4 04 33 22 5e e2 82 a1 b0 a0 6c 52 3e' + 'af 45 34 d7 f8 3f a1 15 5b 00 47 71 8c bc 54 6a' + '0d 07 2b 04 b3 56 4e ea 1b 42 22 73 f5 48 27 1a' + '0b b2 31 60 53 fa 76 99 19 55 eb d6 31 59 43 4e' + 'ce bb 4e 46 6d ae 5a 10 73 a6 72 76 27 09 7a 10' + '49 e6 17 d9 1d 36 10 94 fa 68 f0 ff 77 98 71 30' + '30 5b ea ba 2e da 04 df 99 7b 71 4d 6c 6f 2c 29' + 'a6 ad 5c b4 02 2b 02 70 9b', + 'ee ad 9d 67 89 0c bb 22 39 23 36 fe a1 85 1f 38', + '1c 92 40 a5 eb 55 d3 8a f3 33 88 86 04 f6 b5 f0' + '47 39 17 c1 40 2b 80 09 9d ca 5c bc 20 70 75 c0', + '00 00 00 00 01 02 03 04 05 06 07 08', + ) + ] + + test_vectors = [[unhexlify(x.replace(" ","").replace(":","")) for x in tv] for tv in test_vectors_hex] + + def runTest(self): + for assoc_data, pt, ct, mac, key, nonce in self.test_vectors: + # Encrypt + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + cipher.update(assoc_data) + ct2, mac2 = cipher.encrypt_and_digest(pt) + self.assertEqual(ct, ct2) + self.assertEqual(mac, mac2) + + # Decrypt + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + cipher.update(assoc_data) + pt2 = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(pt, pt2) + + +class TestVectorsWycheproof(unittest.TestCase): + + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, "chacha20_poly1305_test.json"), "rt") as file_in: + tv_tree = json.load(file_in) + + class TestVector(object): + pass + self.tv = [] + + for group in tv_tree['testGroups']: + tag_size = group['tagSize'] // 8 + for test in group['tests']: + tv = TestVector() + tv.tag_size = tag_size + + tv.id = test['tcId'] + tv.comment = test['comment'] + for attr in 'key', 'iv', 'aad', 'msg', 'ct', 'tag': + setattr(tv, attr, unhexlify(test[attr])) + tv.valid = test['result'] != "invalid" + tv.warning = test['result'] == "acceptable" + self.tv.append(tv) + + def shortDescription(self): + return self._id + + def warn(self, tv): + if tv.warning and self._wycheproof_warnings: + import warnings + warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment)) + + def test_encrypt(self, tv): + self._id = "Wycheproof Encrypt ChaCha20-Poly1305 Test #" + str(tv.id) + + try: + cipher = ChaCha20_Poly1305.new(key=tv.key, nonce=tv.iv) + except ValueError as e: + assert len(tv.iv) not in (8, 12) and "Nonce must be" in str(e) + return + + cipher.update(tv.aad) + ct, tag = cipher.encrypt_and_digest(tv.msg) + if tv.valid: + self.assertEqual(ct, tv.ct) + self.assertEqual(tag, tv.tag) + self.warn(tv) + + def test_decrypt(self, tv): + self._id = "Wycheproof Decrypt ChaCha20-Poly1305 Test #" + str(tv.id) + + try: + cipher = ChaCha20_Poly1305.new(key=tv.key, nonce=tv.iv) + except ValueError as e: + assert len(tv.iv) not in (8, 12) and "Nonce must be" in str(e) + return + + cipher.update(tv.aad) + try: + pt = cipher.decrypt_and_verify(tv.ct, tv.tag) + except ValueError: + assert not tv.valid + else: + assert tv.valid + self.assertEqual(pt, tv.msg) + self.warn(tv) + + def test_corrupt_decrypt(self, tv): + self._id = "Wycheproof Corrupt Decrypt ChaCha20-Poly1305 Test #" + str(tv.id) + if len(tv.iv) == 0 or len(tv.ct) < 1: + return + cipher = ChaCha20_Poly1305.new(key=tv.key, nonce=tv.iv) + cipher.update(tv.aad) + ct_corrupt = strxor(tv.ct, b"\x00" * (len(tv.ct) - 1) + b"\x01") + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct_corrupt, tv.tag) + + def runTest(self): + + for tv in self.tv: + self.test_encrypt(tv) + self.test_decrypt(tv) + self.test_corrupt_decrypt(tv) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + key = b'4' * 32 + nonce = b'5' * 12 + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(7) + + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + + cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + wycheproof_warnings = config.get('wycheproof_warnings') + + tests = [] + tests += list_test_cases(ChaCha20Poly1305Tests) + tests += list_test_cases(ChaCha20Poly1305FSMTests) + tests += [TestVectorsRFC()] + tests += [TestVectorsWycheproof(wycheproof_warnings)] + tests += [TestOutput()] + return tests + + +if __name__ == '__main__': + def suite(): + unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_DES.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_DES.py new file mode 100644 index 000000000..073a73515 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_DES.py @@ -0,0 +1,376 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/DES.py: Self-test for the (Single) DES cipher +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.DES""" + +import unittest + +from Crypto.Cipher import DES + +# This is a list of (plaintext, ciphertext, key, description) tuples. +SP800_17_B1_KEY = '01' * 8 +SP800_17_B2_PT = '00' * 8 +test_data = [ + # Test vectors from Appendix A of NIST SP 800-17 + # "Modes of Operation Validation System (MOVS): Requirements and Procedures" + # http://csrc.nist.gov/publications/nistpubs/800-17/800-17.pdf + + # Appendix A - "Sample Round Outputs for the DES" + ('0000000000000000', '82dcbafbdeab6602', '10316e028c8f3b4a', + "NIST SP800-17 A"), + + # Table B.1 - Variable Plaintext Known Answer Test + ('8000000000000000', '95f8a5e5dd31d900', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #0'), + ('4000000000000000', 'dd7f121ca5015619', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #1'), + ('2000000000000000', '2e8653104f3834ea', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #2'), + ('1000000000000000', '4bd388ff6cd81d4f', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #3'), + ('0800000000000000', '20b9e767b2fb1456', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #4'), + ('0400000000000000', '55579380d77138ef', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #5'), + ('0200000000000000', '6cc5defaaf04512f', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #6'), + ('0100000000000000', '0d9f279ba5d87260', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #7'), + ('0080000000000000', 'd9031b0271bd5a0a', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #8'), + ('0040000000000000', '424250b37c3dd951', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #9'), + ('0020000000000000', 'b8061b7ecd9a21e5', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #10'), + ('0010000000000000', 'f15d0f286b65bd28', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #11'), + ('0008000000000000', 'add0cc8d6e5deba1', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #12'), + ('0004000000000000', 'e6d5f82752ad63d1', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #13'), + ('0002000000000000', 'ecbfe3bd3f591a5e', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #14'), + ('0001000000000000', 'f356834379d165cd', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #15'), + ('0000800000000000', '2b9f982f20037fa9', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #16'), + ('0000400000000000', '889de068a16f0be6', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #17'), + ('0000200000000000', 'e19e275d846a1298', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #18'), + ('0000100000000000', '329a8ed523d71aec', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #19'), + ('0000080000000000', 'e7fce22557d23c97', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #20'), + ('0000040000000000', '12a9f5817ff2d65d', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #21'), + ('0000020000000000', 'a484c3ad38dc9c19', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #22'), + ('0000010000000000', 'fbe00a8a1ef8ad72', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #23'), + ('0000008000000000', '750d079407521363', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #24'), + ('0000004000000000', '64feed9c724c2faf', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #25'), + ('0000002000000000', 'f02b263b328e2b60', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #26'), + ('0000001000000000', '9d64555a9a10b852', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #27'), + ('0000000800000000', 'd106ff0bed5255d7', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #28'), + ('0000000400000000', 'e1652c6b138c64a5', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #29'), + ('0000000200000000', 'e428581186ec8f46', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #30'), + ('0000000100000000', 'aeb5f5ede22d1a36', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #31'), + ('0000000080000000', 'e943d7568aec0c5c', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #32'), + ('0000000040000000', 'df98c8276f54b04b', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #33'), + ('0000000020000000', 'b160e4680f6c696f', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #34'), + ('0000000010000000', 'fa0752b07d9c4ab8', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #35'), + ('0000000008000000', 'ca3a2b036dbc8502', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #36'), + ('0000000004000000', '5e0905517bb59bcf', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #37'), + ('0000000002000000', '814eeb3b91d90726', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #38'), + ('0000000001000000', '4d49db1532919c9f', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #39'), + ('0000000000800000', '25eb5fc3f8cf0621', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #40'), + ('0000000000400000', 'ab6a20c0620d1c6f', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #41'), + ('0000000000200000', '79e90dbc98f92cca', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #42'), + ('0000000000100000', '866ecedd8072bb0e', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #43'), + ('0000000000080000', '8b54536f2f3e64a8', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #44'), + ('0000000000040000', 'ea51d3975595b86b', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #45'), + ('0000000000020000', 'caffc6ac4542de31', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #46'), + ('0000000000010000', '8dd45a2ddf90796c', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #47'), + ('0000000000008000', '1029d55e880ec2d0', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #48'), + ('0000000000004000', '5d86cb23639dbea9', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #49'), + ('0000000000002000', '1d1ca853ae7c0c5f', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #50'), + ('0000000000001000', 'ce332329248f3228', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #51'), + ('0000000000000800', '8405d1abe24fb942', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #52'), + ('0000000000000400', 'e643d78090ca4207', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #53'), + ('0000000000000200', '48221b9937748a23', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #54'), + ('0000000000000100', 'dd7c0bbd61fafd54', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #55'), + ('0000000000000080', '2fbc291a570db5c4', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #56'), + ('0000000000000040', 'e07c30d7e4e26e12', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #57'), + ('0000000000000020', '0953e2258e8e90a1', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #58'), + ('0000000000000010', '5b711bc4ceebf2ee', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #59'), + ('0000000000000008', 'cc083f1e6d9e85f6', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #60'), + ('0000000000000004', 'd2fd8867d50d2dfe', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #61'), + ('0000000000000002', '06e7ea22ce92708f', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #62'), + ('0000000000000001', '166b40b44aba4bd6', SP800_17_B1_KEY, + 'NIST SP800-17 B.1 #63'), + + # Table B.2 - Variable Key Known Answer Test + (SP800_17_B2_PT, '95a8d72813daa94d', '8001010101010101', + 'NIST SP800-17 B.2 #0'), + (SP800_17_B2_PT, '0eec1487dd8c26d5', '4001010101010101', + 'NIST SP800-17 B.2 #1'), + (SP800_17_B2_PT, '7ad16ffb79c45926', '2001010101010101', + 'NIST SP800-17 B.2 #2'), + (SP800_17_B2_PT, 'd3746294ca6a6cf3', '1001010101010101', + 'NIST SP800-17 B.2 #3'), + (SP800_17_B2_PT, '809f5f873c1fd761', '0801010101010101', + 'NIST SP800-17 B.2 #4'), + (SP800_17_B2_PT, 'c02faffec989d1fc', '0401010101010101', + 'NIST SP800-17 B.2 #5'), + (SP800_17_B2_PT, '4615aa1d33e72f10', '0201010101010101', + 'NIST SP800-17 B.2 #6'), + (SP800_17_B2_PT, '2055123350c00858', '0180010101010101', + 'NIST SP800-17 B.2 #7'), + (SP800_17_B2_PT, 'df3b99d6577397c8', '0140010101010101', + 'NIST SP800-17 B.2 #8'), + (SP800_17_B2_PT, '31fe17369b5288c9', '0120010101010101', + 'NIST SP800-17 B.2 #9'), + (SP800_17_B2_PT, 'dfdd3cc64dae1642', '0110010101010101', + 'NIST SP800-17 B.2 #10'), + (SP800_17_B2_PT, '178c83ce2b399d94', '0108010101010101', + 'NIST SP800-17 B.2 #11'), + (SP800_17_B2_PT, '50f636324a9b7f80', '0104010101010101', + 'NIST SP800-17 B.2 #12'), + (SP800_17_B2_PT, 'a8468ee3bc18f06d', '0102010101010101', + 'NIST SP800-17 B.2 #13'), + (SP800_17_B2_PT, 'a2dc9e92fd3cde92', '0101800101010101', + 'NIST SP800-17 B.2 #14'), + (SP800_17_B2_PT, 'cac09f797d031287', '0101400101010101', + 'NIST SP800-17 B.2 #15'), + (SP800_17_B2_PT, '90ba680b22aeb525', '0101200101010101', + 'NIST SP800-17 B.2 #16'), + (SP800_17_B2_PT, 'ce7a24f350e280b6', '0101100101010101', + 'NIST SP800-17 B.2 #17'), + (SP800_17_B2_PT, '882bff0aa01a0b87', '0101080101010101', + 'NIST SP800-17 B.2 #18'), + (SP800_17_B2_PT, '25610288924511c2', '0101040101010101', + 'NIST SP800-17 B.2 #19'), + (SP800_17_B2_PT, 'c71516c29c75d170', '0101020101010101', + 'NIST SP800-17 B.2 #20'), + (SP800_17_B2_PT, '5199c29a52c9f059', '0101018001010101', + 'NIST SP800-17 B.2 #21'), + (SP800_17_B2_PT, 'c22f0a294a71f29f', '0101014001010101', + 'NIST SP800-17 B.2 #22'), + (SP800_17_B2_PT, 'ee371483714c02ea', '0101012001010101', + 'NIST SP800-17 B.2 #23'), + (SP800_17_B2_PT, 'a81fbd448f9e522f', '0101011001010101', + 'NIST SP800-17 B.2 #24'), + (SP800_17_B2_PT, '4f644c92e192dfed', '0101010801010101', + 'NIST SP800-17 B.2 #25'), + (SP800_17_B2_PT, '1afa9a66a6df92ae', '0101010401010101', + 'NIST SP800-17 B.2 #26'), + (SP800_17_B2_PT, 'b3c1cc715cb879d8', '0101010201010101', + 'NIST SP800-17 B.2 #27'), + (SP800_17_B2_PT, '19d032e64ab0bd8b', '0101010180010101', + 'NIST SP800-17 B.2 #28'), + (SP800_17_B2_PT, '3cfaa7a7dc8720dc', '0101010140010101', + 'NIST SP800-17 B.2 #29'), + (SP800_17_B2_PT, 'b7265f7f447ac6f3', '0101010120010101', + 'NIST SP800-17 B.2 #30'), + (SP800_17_B2_PT, '9db73b3c0d163f54', '0101010110010101', + 'NIST SP800-17 B.2 #31'), + (SP800_17_B2_PT, '8181b65babf4a975', '0101010108010101', + 'NIST SP800-17 B.2 #32'), + (SP800_17_B2_PT, '93c9b64042eaa240', '0101010104010101', + 'NIST SP800-17 B.2 #33'), + (SP800_17_B2_PT, '5570530829705592', '0101010102010101', + 'NIST SP800-17 B.2 #34'), + (SP800_17_B2_PT, '8638809e878787a0', '0101010101800101', + 'NIST SP800-17 B.2 #35'), + (SP800_17_B2_PT, '41b9a79af79ac208', '0101010101400101', + 'NIST SP800-17 B.2 #36'), + (SP800_17_B2_PT, '7a9be42f2009a892', '0101010101200101', + 'NIST SP800-17 B.2 #37'), + (SP800_17_B2_PT, '29038d56ba6d2745', '0101010101100101', + 'NIST SP800-17 B.2 #38'), + (SP800_17_B2_PT, '5495c6abf1e5df51', '0101010101080101', + 'NIST SP800-17 B.2 #39'), + (SP800_17_B2_PT, 'ae13dbd561488933', '0101010101040101', + 'NIST SP800-17 B.2 #40'), + (SP800_17_B2_PT, '024d1ffa8904e389', '0101010101020101', + 'NIST SP800-17 B.2 #41'), + (SP800_17_B2_PT, 'd1399712f99bf02e', '0101010101018001', + 'NIST SP800-17 B.2 #42'), + (SP800_17_B2_PT, '14c1d7c1cffec79e', '0101010101014001', + 'NIST SP800-17 B.2 #43'), + (SP800_17_B2_PT, '1de5279dae3bed6f', '0101010101012001', + 'NIST SP800-17 B.2 #44'), + (SP800_17_B2_PT, 'e941a33f85501303', '0101010101011001', + 'NIST SP800-17 B.2 #45'), + (SP800_17_B2_PT, 'da99dbbc9a03f379', '0101010101010801', + 'NIST SP800-17 B.2 #46'), + (SP800_17_B2_PT, 'b7fc92f91d8e92e9', '0101010101010401', + 'NIST SP800-17 B.2 #47'), + (SP800_17_B2_PT, 'ae8e5caa3ca04e85', '0101010101010201', + 'NIST SP800-17 B.2 #48'), + (SP800_17_B2_PT, '9cc62df43b6eed74', '0101010101010180', + 'NIST SP800-17 B.2 #49'), + (SP800_17_B2_PT, 'd863dbb5c59a91a0', '0101010101010140', + 'NIST SP800-17 B.2 #50'), + (SP800_17_B2_PT, 'a1ab2190545b91d7', '0101010101010120', + 'NIST SP800-17 B.2 #51'), + (SP800_17_B2_PT, '0875041e64c570f7', '0101010101010110', + 'NIST SP800-17 B.2 #52'), + (SP800_17_B2_PT, '5a594528bebef1cc', '0101010101010108', + 'NIST SP800-17 B.2 #53'), + (SP800_17_B2_PT, 'fcdb3291de21f0c0', '0101010101010104', + 'NIST SP800-17 B.2 #54'), + (SP800_17_B2_PT, '869efd7f9f265a09', '0101010101010102', + 'NIST SP800-17 B.2 #55'), +] + +class RonRivestTest(unittest.TestCase): + """ Ronald L. Rivest's DES test, see + http://people.csail.mit.edu/rivest/Destest.txt + ABSTRACT + -------- + + We present a simple way to test the correctness of a DES implementation: + Use the recurrence relation: + + X0 = 9474B8E8C73BCA7D (hexadecimal) + + X(i+1) = IF (i is even) THEN E(Xi,Xi) ELSE D(Xi,Xi) + + to compute a sequence of 64-bit values: X0, X1, X2, ..., X16. Here + E(X,K) denotes the DES encryption of X using key K, and D(X,K) denotes + the DES decryption of X using key K. If you obtain + + X16 = 1B1A2DDB4C642438 + + your implementation does not have any of the 36,568 possible single-fault + errors described herein. + """ + def runTest(self): + from binascii import b2a_hex + + X = [] + X[0:] = [b'\x94\x74\xB8\xE8\xC7\x3B\xCA\x7D'] + + for i in range(16): + c = DES.new(X[i],DES.MODE_ECB) + if not (i&1): # (num&1) returns 1 for odd numbers + X[i+1:] = [c.encrypt(X[i])] # even + else: + X[i+1:] = [c.decrypt(X[i])] # odd + + self.assertEqual(b2a_hex(X[16]), + b2a_hex(b'\x1B\x1A\x2D\xDB\x4C\x64\x24\x38')) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + cipher = DES.new(b'4'*8, DES.MODE_ECB) + + pt = b'5' * 8 + ct = cipher.encrypt(pt) + + output = bytearray(8) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(8)) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*8) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*8) + + shorter_output = bytearray(7) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + from .common import make_block_tests + tests = make_block_tests(DES, "DES", test_data) + tests += [RonRivestTest()] + tests += [TestOutput()] + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_DES3.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_DES3.py new file mode 100644 index 000000000..317ed8645 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_DES3.py @@ -0,0 +1,192 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/DES3.py: Self-test for the Triple-DES cipher +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.DES3""" + +import unittest +from binascii import hexlify, unhexlify + +from Crypto.Cipher import DES3 + +from Crypto.Util.strxor import strxor_c +from Crypto.Util.py3compat import bchr, tostr +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases + +# This is a list of (plaintext, ciphertext, key, description) tuples. +test_data = [ + # Test vector from Appendix B of NIST SP 800-67 + # "Recommendation for the Triple Data Encryption Algorithm (TDEA) Block + # Cipher" + # http://csrc.nist.gov/publications/nistpubs/800-67/SP800-67.pdf + ('54686520717566636b2062726f776e20666f78206a756d70', + 'a826fd8ce53b855fcce21c8112256fe668d5c05dd9b6b900', + '0123456789abcdef23456789abcdef01456789abcdef0123', + 'NIST SP800-67 B.1'), + + # This test is designed to test the DES3 API, not the correctness of the + # output. + ('21e81b7ade88a259', '5c577d4d9b20c0f8', + '9b397ebf81b1181e282f4bb8adbadc6b', 'Two-key 3DES'), +] + +# NIST CAVP test vectors + +nist_tdes_mmt_files = ("TECBMMT2.rsp", "TECBMMT3.rsp") + +for tdes_file in nist_tdes_mmt_files: + test_vectors = load_tests(("Crypto", "SelfTest", "Cipher", "test_vectors", "TDES"), + tdes_file, + "TDES ECB (%s)" % tdes_file, + { "count" : lambda x: int(x) } ) + assert(test_vectors) + for index, tv in enumerate(test_vectors): + + # The test vector file contains some directive lines + if isinstance(tv, str): + continue + + key = tv.key1 + tv.key2 + tv.key3 + test_data_item = (tostr(hexlify(tv.plaintext)), + tostr(hexlify(tv.ciphertext)), + tostr(hexlify(key)), + "%s (%s)" % (tdes_file, index)) + test_data.append(test_data_item) + + +class CheckParity(unittest.TestCase): + + def test_parity_option2(self): + before_2k = unhexlify("CABF326FA56734324FFCCABCDEFACABF") + after_2k = DES3.adjust_key_parity(before_2k) + self.assertEqual(after_2k, + unhexlify("CBBF326EA46734324FFDCBBCDFFBCBBF")) + + def test_parity_option3(self): + before_3k = unhexlify("AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCC") + after_3k = DES3.adjust_key_parity(before_3k) + self.assertEqual(after_3k, + unhexlify("ABABABABABABABABBABABABABABABABACDCDCDCDCDCDCDCD")) + + def test_degradation(self): + sub_key1 = bchr(1) * 8 + sub_key2 = bchr(255) * 8 + + # K1 == K2 + self.assertRaises(ValueError, DES3.adjust_key_parity, + sub_key1 * 2 + sub_key2) + + # K2 == K3 + self.assertRaises(ValueError, DES3.adjust_key_parity, + sub_key1 + sub_key2 * 2) + + # K1 == K2 == K3 + self.assertRaises(ValueError, DES3.adjust_key_parity, + sub_key1 * 3) + + # K1 == K2 (with different parity) + self.assertRaises(ValueError, DES3.adjust_key_parity, + sub_key1 + strxor_c(sub_key1, 1) + sub_key2) + + +class DegenerateToDESTest(unittest.TestCase): + + def runTest(self): + sub_key1 = bchr(1) * 8 + sub_key2 = bchr(255) * 8 + + # K1 == K2 + self.assertRaises(ValueError, DES3.new, + sub_key1 * 2 + sub_key2, + DES3.MODE_ECB) + + # K2 == K3 + self.assertRaises(ValueError, DES3.new, + sub_key1 + sub_key2 * 2, + DES3.MODE_ECB) + + # K1 == K2 == K3 + self.assertRaises(ValueError, DES3.new, + sub_key1 *3, + DES3.MODE_ECB) + + # K2 == K3 (parity is ignored) + self.assertRaises(ValueError, DES3.new, + sub_key1 + sub_key2 + strxor_c(sub_key2, 0x1), + DES3.MODE_ECB) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + cipher = DES3.new(b'4'*8 + b'G'*8 + b'T'*8, DES3.MODE_ECB) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(7) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + from .common import make_block_tests + + tests = [] + tests = make_block_tests(DES3, "DES3", test_data) + tests.append(DegenerateToDESTest()) + tests += list_test_cases(CheckParity) + tests += [TestOutput()] + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_EAX.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_EAX.py new file mode 100644 index 000000000..cdd0e85a3 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_EAX.py @@ -0,0 +1,791 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import json +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes, bchr, _memoryview +from Crypto.Cipher import AES, DES3 +from Crypto.Hash import SHAKE128 + +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.strxor import strxor + + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +class EaxTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + key_192 = get_tag_random("key_192", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_loopback_128(self): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + pt = get_tag_random("plaintext", 16 * 100) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_loopback_64(self): + cipher = DES3.new(self.key_192, DES3.MODE_EAX, nonce=self.nonce_96) + pt = get_tag_random("plaintext", 8 * 100) + ct = cipher.encrypt(pt) + + cipher = DES3.new(self.key_192, DES3.MODE_EAX, nonce=self.nonce_96) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_nonce(self): + # If not passed, the nonce is created randomly + cipher = AES.new(self.key_128, AES.MODE_EAX) + nonce1 = cipher.nonce + cipher = AES.new(self.key_128, AES.MODE_EAX) + nonce2 = cipher.nonce + self.assertEqual(len(nonce1), 16) + self.assertNotEqual(nonce1, nonce2) + + cipher = AES.new(self.key_128, AES.MODE_EAX, self.nonce_96) + ct = cipher.encrypt(self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertEquals(ct, cipher.encrypt(self.data_128)) + + def test_nonce_must_be_bytes(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_EAX, + nonce=u'test12345678') + + def test_nonce_length(self): + # nonce can be of any length (but not empty) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_EAX, + nonce=b"") + + for x in range(1, 128): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=bchr(1) * x) + cipher.encrypt(bchr(1)) + + def test_block_size_128(self): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertEqual(cipher.block_size, AES.block_size) + + def test_block_size_64(self): + cipher = DES3.new(self.key_192, AES.MODE_EAX, nonce=self.nonce_96) + self.assertEqual(cipher.block_size, DES3.block_size) + + def test_nonce_attribute(self): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertEqual(cipher.nonce, self.nonce_96) + + # By default, a 16 bytes long nonce is randomly generated + nonce1 = AES.new(self.key_128, AES.MODE_EAX).nonce + nonce2 = AES.new(self.key_128, AES.MODE_EAX).nonce + self.assertEqual(len(nonce1), 16) + self.assertNotEqual(nonce1, nonce2) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_EAX, + self.nonce_96, 7) + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_EAX, + nonce=self.nonce_96, unknown=7) + + # But some are only known by the base cipher + # (e.g. use_aesni consumed by the AES module) + AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96, + use_aesni=False) + + def test_null_encryption_decryption(self): + for func in "encrypt", "decrypt": + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + result = getattr(cipher, func)(b"") + self.assertEqual(result, b"") + + def test_either_encrypt_or_decrypt(self): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.encrypt(b"") + self.assertRaises(TypeError, cipher.decrypt, b"") + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.decrypt(b"") + self.assertRaises(TypeError, cipher.encrypt, b"") + + def test_data_must_be_bytes(self): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, u'test1234567890-*') + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, u'test1234567890-*') + + def test_mac_len(self): + # Invalid MAC length + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_EAX, + nonce=self.nonce_96, mac_len=3) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_EAX, + nonce=self.nonce_96, mac_len=16+1) + + # Valid MAC length + for mac_len in range(5, 16 + 1): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96, + mac_len=mac_len) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), mac_len) + + # Default MAC length + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), 16) + + def test_invalid_mac(self): + from Crypto.Util.strxor import strxor_c + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + invalid_mac = strxor_c(mac, 0x01) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct, + invalid_mac) + + def test_hex_mac(self): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + mac_hex = cipher.hexdigest() + self.assertEqual(cipher.digest(), unhexlify(mac_hex)) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.hexverify(mac_hex) + + def test_message_chunks(self): + # Validate that both associated data and plaintext/ciphertext + # can be broken up in chunks of arbitrary length + + auth_data = get_tag_random("authenticated data", 127) + plaintext = get_tag_random("plaintext", 127) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.update(auth_data) + ciphertext, ref_mac = cipher.encrypt_and_digest(plaintext) + + def break_up(data, chunk_length): + return [data[i:i+chunk_length] for i in range(0, len(data), + chunk_length)] + + # Encryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + pt2 = b"" + for chunk in break_up(ciphertext, chunk_length): + pt2 += cipher.decrypt(chunk) + self.assertEqual(plaintext, pt2) + cipher.verify(ref_mac) + + # Decryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + ct2 = b"" + for chunk in break_up(plaintext, chunk_length): + ct2 += cipher.encrypt(chunk) + self.assertEqual(ciphertext, ct2) + self.assertEquals(cipher.digest(), ref_mac) + + def test_bytearray(self): + + # Encrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + data_ba = bytearray(self.data_128) + + cipher1 = AES.new(self.key_128, + AES.MODE_EAX, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = AES.new(key_ba, + AES.MODE_EAX, + nonce=nonce_ba) + key_ba[:3] = b'\xFF\xFF\xFF' + nonce_ba[:3] = b'\xFF\xFF\xFF' + cipher2.update(header_ba) + header_ba[:3] = b'\xFF\xFF\xFF' + ct_test = cipher2.encrypt(data_ba) + data_ba[:3] = b'\x99\x99\x99' + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + ct_ba = bytearray(ct) + tag_ba = bytearray(tag) + del data_ba + + cipher3 = AES.new(key_ba, + AES.MODE_EAX, + nonce=nonce_ba) + key_ba[:3] = b'\xFF\xFF\xFF' + nonce_ba[:3] = b'\xFF\xFF\xFF' + cipher3.update(header_ba) + header_ba[:3] = b'\xFF\xFF\xFF' + pt_test = cipher3.decrypt(ct_ba) + ct_ba[:3] = b'\xFF\xFF\xFF' + cipher3.verify(tag_ba) + + self.assertEqual(pt_test, self.data_128) + + def test_memoryview(self): + + # Encrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + data_mv = memoryview(bytearray(self.data_128)) + + cipher1 = AES.new(self.key_128, + AES.MODE_EAX, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = AES.new(key_mv, + AES.MODE_EAX, + nonce=nonce_mv) + key_mv[:3] = b'\xFF\xFF\xFF' + nonce_mv[:3] = b'\xFF\xFF\xFF' + cipher2.update(header_mv) + header_mv[:3] = b'\xFF\xFF\xFF' + ct_test = cipher2.encrypt(data_mv) + data_mv[:3] = b'\x99\x99\x99' + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + ct_mv = memoryview(bytearray(ct)) + tag_mv = memoryview(bytearray(tag)) + del data_mv + + cipher3 = AES.new(key_mv, + AES.MODE_EAX, + nonce=nonce_mv) + key_mv[:3] = b'\xFF\xFF\xFF' + nonce_mv[:3] = b'\xFF\xFF\xFF' + cipher3.update(header_mv) + header_mv[:3] = b'\xFF\xFF\xFF' + pt_test = cipher3.decrypt(ct_mv) + ct_mv[:3] = b'\x99\x99\x99' + cipher3.verify(tag_mv) + + self.assertEqual(pt_test, self.data_128) + + def test_output_param(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + tag = cipher.digest() + + output = bytearray(16) + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + res, tag_out = cipher.encrypt_and_digest(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + self.assertEqual(tag, tag_out) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + res = cipher.decrypt_and_verify(ct, tag, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + def test_output_param_memoryview(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + + output = memoryview(bytearray(16)) + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + def test_output_param_neg(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(15) + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + del test_output_param_memoryview + + +class EaxFSMTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_valid_init_encrypt_decrypt_digest_verify(self): + # No authenticated data, fixed plaintext + # Verify path INIT->ENCRYPT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->DECRYPT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_update_digest_verify(self): + # No plaintext, fixed authenticated data + # Verify path INIT->UPDATE->DIGEST + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + cipher.update(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->VERIFY + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.verify(mac) + + def test_valid_full_path(self): + # Fixed authenticated data, fixed plaintext + # Verify path INIT->UPDATE->ENCRYPT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + cipher.update(self.data_128) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->DECRYPT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_digest(self): + # Verify path INIT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.digest() + + def test_valid_init_verify(self): + # Verify path INIT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + mac = cipher.digest() + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.verify(mac) + + def test_valid_multiple_encrypt_or_decrypt(self): + for method_name in "encrypt", "decrypt": + for auth_data in (None, b"333", self.data_128, + self.data_128 + b"3"): + if auth_data is None: + assoc_len = None + else: + assoc_len = len(auth_data) + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + if auth_data is not None: + cipher.update(auth_data) + method = getattr(cipher, method_name) + method(self.data_128) + method(self.data_128) + method(self.data_128) + method(self.data_128) + + def test_valid_multiple_digest_or_verify(self): + # Multiple calls to digest + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.update(self.data_128) + first_mac = cipher.digest() + for x in range(4): + self.assertEqual(first_mac, cipher.digest()) + + # Multiple calls to verify + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.update(self.data_128) + for x in range(5): + cipher.verify(first_mac) + + def test_valid_encrypt_and_digest_decrypt_and_verify(self): + # encrypt_and_digest + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.update(self.data_128) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + # decrypt_and_verify + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.update(self.data_128) + pt = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(self.data_128, pt) + + def test_invalid_mixing_encrypt_decrypt(self): + # Once per method, with or without assoc. data + for method1_name, method2_name in (("encrypt", "decrypt"), + ("decrypt", "encrypt")): + for assoc_data_present in (True, False): + cipher = AES.new(self.key_128, AES.MODE_EAX, + nonce=self.nonce_96) + if assoc_data_present: + cipher.update(self.data_128) + getattr(cipher, method1_name)(self.data_128) + self.assertRaises(TypeError, getattr(cipher, method2_name), + self.data_128) + + def test_invalid_encrypt_or_update_after_digest(self): + for method_name in "encrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.encrypt(self.data_128) + cipher.digest() + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.encrypt_and_digest(self.data_128) + + def test_invalid_decrypt_or_update_after_verify(self): + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + for method_name in "decrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) + cipher.decrypt_and_verify(ct, mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + +class TestVectorsPaper(unittest.TestCase): + """Class exercising the EAX test vectors found in + http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf""" + + test_vectors_hex = [ + ( '6bfb914fd07eae6b', + '', + '', + 'e037830e8389f27b025a2d6527e79d01', + '233952dee4d5ed5f9b9c6d6ff80ff478', + '62EC67F9C3A4A407FCB2A8C49031A8B3' + ), + ( + 'fa3bfd4806eb53fa', + 'f7fb', + '19dd', + '5c4c9331049d0bdab0277408f67967e5', + '91945d3f4dcbee0bf45ef52255f095a4', + 'BECAF043B0A23D843194BA972C66DEBD' + ), + ( '234a3463c1264ac6', + '1a47cb4933', + 'd851d5bae0', + '3a59f238a23e39199dc9266626c40f80', + '01f74ad64077f2e704c0f60ada3dd523', + '70C3DB4F0D26368400A10ED05D2BFF5E' + ), + ( + '33cce2eabff5a79d', + '481c9e39b1', + '632a9d131a', + 'd4c168a4225d8e1ff755939974a7bede', + 'd07cf6cbb7f313bdde66b727afd3c5e8', + '8408DFFF3C1A2B1292DC199E46B7D617' + ), + ( + 'aeb96eaebe2970e9', + '40d0c07da5e4', + '071dfe16c675', + 'cb0677e536f73afe6a14b74ee49844dd', + '35b6d0580005bbc12b0587124557d2c2', + 'FDB6B06676EEDC5C61D74276E1F8E816' + ), + ( + 'd4482d1ca78dce0f', + '4de3b35c3fc039245bd1fb7d', + '835bb4f15d743e350e728414', + 'abb8644fd6ccb86947c5e10590210a4f', + 'bd8e6e11475e60b268784c38c62feb22', + '6EAC5C93072D8E8513F750935E46DA1B' + ), + ( + '65d2017990d62528', + '8b0a79306c9ce7ed99dae4f87f8dd61636', + '02083e3979da014812f59f11d52630da30', + '137327d10649b0aa6e1c181db617d7f2', + '7c77d6e813bed5ac98baa417477a2e7d', + '1A8C98DCD73D38393B2BF1569DEEFC19' + ), + ( + '54b9f04e6a09189a', + '1bda122bce8a8dbaf1877d962b8592dd2d56', + '2ec47b2c4954a489afc7ba4897edcdae8cc3', + '3b60450599bd02c96382902aef7f832a', + '5fff20cafab119ca2fc73549e20f5b0d', + 'DDE59B97D722156D4D9AFF2BC7559826' + ), + ( + '899a175897561d7e', + '6cf36720872b8513f6eab1a8a44438d5ef11', + '0de18fd0fdd91e7af19f1d8ee8733938b1e8', + 'e7f6d2231618102fdb7fe55ff1991700', + 'a4a4782bcffd3ec5e7ef6d8c34a56123', + 'B781FCF2F75FA5A8DE97A9CA48E522EC' + ), + ( + '126735fcc320d25a', + 'ca40d7446e545ffaed3bd12a740a659ffbbb3ceab7', + 'cb8920f87a6c75cff39627b56e3ed197c552d295a7', + 'cfc46afc253b4652b1af3795b124ab6e', + '8395fcf1e95bebd697bd010bc766aac3', + '22E7ADD93CFC6393C57EC0B3C17D6B44' + ), + ] + + test_vectors = [[unhexlify(x) for x in tv] for tv in test_vectors_hex] + + def runTest(self): + for assoc_data, pt, ct, mac, key, nonce in self.test_vectors: + # Encrypt + cipher = AES.new(key, AES.MODE_EAX, nonce, mac_len=len(mac)) + cipher.update(assoc_data) + ct2, mac2 = cipher.encrypt_and_digest(pt) + self.assertEqual(ct, ct2) + self.assertEqual(mac, mac2) + + # Decrypt + cipher = AES.new(key, AES.MODE_EAX, nonce, mac_len=len(mac)) + cipher.update(assoc_data) + pt2 = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(pt, pt2) + + +class TestVectorsWycheproof(unittest.TestCase): + + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, "aes_eax_test.json"), "rt") as file_in: + tv_tree = json.load(file_in) + + class TestVector(object): + pass + self.tv = [] + + for group in tv_tree['testGroups']: + tag_size = group['tagSize'] // 8 + for test in group['tests']: + tv = TestVector() + tv.tag_size = tag_size + + tv.id = test['tcId'] + tv.comment = test['comment'] + for attr in 'key', 'iv', 'aad', 'msg', 'ct', 'tag': + setattr(tv, attr, unhexlify(test[attr])) + tv.valid = test['result'] != "invalid" + tv.warning = test['result'] == "acceptable" + self.tv.append(tv) + + def shortDescription(self): + return self._id + + def warn(self, tv): + if tv.warning and self._wycheproof_warnings: + import warnings + warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment)) + + def test_encrypt(self, tv): + self._id = "Wycheproof Encrypt EAX Test #" + str(tv.id) + + try: + cipher = AES.new(tv.key, AES.MODE_EAX, tv.iv, mac_len=tv.tag_size) + except ValueError as e: + assert len(tv.iv) == 0 and "Nonce cannot be empty" in str(e) + return + + cipher.update(tv.aad) + ct, tag = cipher.encrypt_and_digest(tv.msg) + if tv.valid: + self.assertEqual(ct, tv.ct) + self.assertEqual(tag, tv.tag) + self.warn(tv) + + def test_decrypt(self, tv): + self._id = "Wycheproof Decrypt EAX Test #" + str(tv.id) + + try: + cipher = AES.new(tv.key, AES.MODE_EAX, tv.iv, mac_len=tv.tag_size) + except ValueError as e: + assert len(tv.iv) == 0 and "Nonce cannot be empty" in str(e) + return + + cipher.update(tv.aad) + try: + pt = cipher.decrypt_and_verify(tv.ct, tv.tag) + except ValueError: + assert not tv.valid + else: + assert tv.valid + self.assertEqual(pt, tv.msg) + self.warn(tv) + + def test_corrupt_decrypt(self, tv): + self._id = "Wycheproof Corrupt Decrypt EAX Test #" + str(tv.id) + if len(tv.iv) == 0 or len(tv.ct) < 1: + return + cipher = AES.new(tv.key, AES.MODE_EAX, tv.iv, mac_len=tv.tag_size) + cipher.update(tv.aad) + ct_corrupt = strxor(tv.ct, b"\x00" * (len(tv.ct) - 1) + b"\x01") + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct_corrupt, tv.tag) + + def runTest(self): + + for tv in self.tv: + self.test_encrypt(tv) + self.test_decrypt(tv) + self.test_corrupt_decrypt(tv) + + +class TestOtherCiphers(unittest.TestCase): + + @classmethod + def create_test(cls, name, factory, key_size): + + def test_template(self, factory=factory, key_size=key_size): + cipher = factory.new(get_tag_random("cipher", key_size), + factory.MODE_EAX, + nonce=b"nonce") + ct, mac = cipher.encrypt_and_digest(b"plaintext") + + cipher = factory.new(get_tag_random("cipher", key_size), + factory.MODE_EAX, + nonce=b"nonce") + pt2 = cipher.decrypt_and_verify(ct, mac) + + self.assertEqual(b"plaintext", pt2) + + setattr(cls, "test_" + name, test_template) + + +from Crypto.Cipher import DES, DES3, ARC2, CAST, Blowfish + +TestOtherCiphers.create_test("DES_" + str(DES.key_size), DES, DES.key_size) +for ks in DES3.key_size: + TestOtherCiphers.create_test("DES3_" + str(ks), DES3, ks) +for ks in ARC2.key_size: + TestOtherCiphers.create_test("ARC2_" + str(ks), ARC2, ks) +for ks in CAST.key_size: + TestOtherCiphers.create_test("CAST_" + str(ks), CAST, ks) +for ks in Blowfish.key_size: + TestOtherCiphers.create_test("Blowfish_" + str(ks), Blowfish, ks) + + +def get_tests(config={}): + wycheproof_warnings = config.get('wycheproof_warnings') + + tests = [] + tests += list_test_cases(EaxTests) + tests += list_test_cases(EaxFSMTests) + tests += [ TestVectorsPaper() ] + tests += [ TestVectorsWycheproof(wycheproof_warnings) ] + tests += list_test_cases(TestOtherCiphers) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_GCM.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_GCM.py new file mode 100644 index 000000000..e3a7a3dad --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_GCM.py @@ -0,0 +1,969 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from __future__ import print_function + +import json +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.SelfTest.loader import load_tests + +from Crypto.Util.py3compat import tobytes, bchr, _memoryview +from Crypto.Cipher import AES +from Crypto.Hash import SHAKE128, SHA256 + +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.strxor import strxor + + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +class GcmTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_loopback_128(self): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + pt = get_tag_random("plaintext", 16 * 100) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_nonce(self): + # Nonce is optional (a random one will be created) + AES.new(self.key_128, AES.MODE_GCM) + + cipher = AES.new(self.key_128, AES.MODE_GCM, self.nonce_96) + ct = cipher.encrypt(self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertEquals(ct, cipher.encrypt(self.data_128)) + + def test_nonce_must_be_bytes(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_GCM, + nonce=u'test12345678') + + def test_nonce_length(self): + # nonce can be of any length (but not empty) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_GCM, + nonce=b"") + + for x in range(1, 128): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=bchr(1) * x) + cipher.encrypt(bchr(1)) + + def test_block_size_128(self): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertEqual(cipher.block_size, AES.block_size) + + def test_nonce_attribute(self): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertEqual(cipher.nonce, self.nonce_96) + + # By default, a 15 bytes long nonce is randomly generated + nonce1 = AES.new(self.key_128, AES.MODE_GCM).nonce + nonce2 = AES.new(self.key_128, AES.MODE_GCM).nonce + self.assertEqual(len(nonce1), 16) + self.assertNotEqual(nonce1, nonce2) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_GCM, + self.nonce_96, 7) + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_GCM, + nonce=self.nonce_96, unknown=7) + + # But some are only known by the base cipher + # (e.g. use_aesni consumed by the AES module) + AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96, + use_aesni=False) + + def test_null_encryption_decryption(self): + for func in "encrypt", "decrypt": + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + result = getattr(cipher, func)(b"") + self.assertEqual(result, b"") + + def test_either_encrypt_or_decrypt(self): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.encrypt(b"") + self.assertRaises(TypeError, cipher.decrypt, b"") + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.decrypt(b"") + self.assertRaises(TypeError, cipher.encrypt, b"") + + def test_data_must_be_bytes(self): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, u'test1234567890-*') + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, u'test1234567890-*') + + def test_mac_len(self): + # Invalid MAC length + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_GCM, + nonce=self.nonce_96, mac_len=3) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_GCM, + nonce=self.nonce_96, mac_len=16+1) + + # Valid MAC length + for mac_len in range(5, 16 + 1): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96, + mac_len=mac_len) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), mac_len) + + # Default MAC length + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), 16) + + def test_invalid_mac(self): + from Crypto.Util.strxor import strxor_c + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + invalid_mac = strxor_c(mac, 0x01) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct, + invalid_mac) + + def test_hex_mac(self): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + mac_hex = cipher.hexdigest() + self.assertEqual(cipher.digest(), unhexlify(mac_hex)) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.hexverify(mac_hex) + + def test_message_chunks(self): + # Validate that both associated data and plaintext/ciphertext + # can be broken up in chunks of arbitrary length + + auth_data = get_tag_random("authenticated data", 127) + plaintext = get_tag_random("plaintext", 127) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.update(auth_data) + ciphertext, ref_mac = cipher.encrypt_and_digest(plaintext) + + def break_up(data, chunk_length): + return [data[i:i+chunk_length] for i in range(0, len(data), + chunk_length)] + + # Encryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + pt2 = b"" + for chunk in break_up(ciphertext, chunk_length): + pt2 += cipher.decrypt(chunk) + self.assertEqual(plaintext, pt2) + cipher.verify(ref_mac) + + # Decryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + ct2 = b"" + for chunk in break_up(plaintext, chunk_length): + ct2 += cipher.encrypt(chunk) + self.assertEqual(ciphertext, ct2) + self.assertEquals(cipher.digest(), ref_mac) + + def test_bytearray(self): + + # Encrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + data_ba = bytearray(self.data_128) + + cipher1 = AES.new(self.key_128, + AES.MODE_GCM, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = AES.new(key_ba, + AES.MODE_GCM, + nonce=nonce_ba) + key_ba[:3] = b"\xFF\xFF\xFF" + nonce_ba[:3] = b"\xFF\xFF\xFF" + cipher2.update(header_ba) + header_ba[:3] = b"\xFF\xFF\xFF" + ct_test = cipher2.encrypt(data_ba) + data_ba[:3] = b"\xFF\xFF\xFF" + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + del data_ba + + cipher4 = AES.new(key_ba, + AES.MODE_GCM, + nonce=nonce_ba) + key_ba[:3] = b"\xFF\xFF\xFF" + nonce_ba[:3] = b"\xFF\xFF\xFF" + cipher4.update(header_ba) + header_ba[:3] = b"\xFF\xFF\xFF" + pt_test = cipher4.decrypt_and_verify(bytearray(ct_test), bytearray(tag_test)) + + self.assertEqual(self.data_128, pt_test) + + def test_memoryview(self): + + # Encrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + data_mv = memoryview(bytearray(self.data_128)) + + cipher1 = AES.new(self.key_128, + AES.MODE_GCM, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + tag = cipher1.digest() + + cipher2 = AES.new(key_mv, + AES.MODE_GCM, + nonce=nonce_mv) + key_mv[:3] = b"\xFF\xFF\xFF" + nonce_mv[:3] = b"\xFF\xFF\xFF" + cipher2.update(header_mv) + header_mv[:3] = b"\xFF\xFF\xFF" + ct_test = cipher2.encrypt(data_mv) + data_mv[:3] = b"\xFF\xFF\xFF" + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + del data_mv + + cipher4 = AES.new(key_mv, + AES.MODE_GCM, + nonce=nonce_mv) + key_mv[:3] = b"\xFF\xFF\xFF" + nonce_mv[:3] = b"\xFF\xFF\xFF" + cipher4.update(header_mv) + header_mv[:3] = b"\xFF\xFF\xFF" + pt_test = cipher4.decrypt_and_verify(memoryview(ct_test), memoryview(tag_test)) + + self.assertEqual(self.data_128, pt_test) + + def test_output_param(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + tag = cipher.digest() + + output = bytearray(16) + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + res, tag_out = cipher.encrypt_and_digest(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + self.assertEqual(tag, tag_out) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + res = cipher.decrypt_and_verify(ct, tag, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + def test_output_param_memoryview(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + + output = memoryview(bytearray(16)) + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + def test_output_param_neg(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + ct = cipher.encrypt(pt) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(15) + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + del test_output_param_memoryview + + +class GcmFSMTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_valid_init_encrypt_decrypt_digest_verify(self): + # No authenticated data, fixed plaintext + # Verify path INIT->ENCRYPT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->DECRYPT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_update_digest_verify(self): + # No plaintext, fixed authenticated data + # Verify path INIT->UPDATE->DIGEST + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + cipher.update(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->VERIFY + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.verify(mac) + + def test_valid_full_path(self): + # Fixed authenticated data, fixed plaintext + # Verify path INIT->UPDATE->ENCRYPT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + cipher.update(self.data_128) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->DECRYPT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.decrypt(ct) + cipher.verify(mac) + + def test_valid_init_digest(self): + # Verify path INIT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.digest() + + def test_valid_init_verify(self): + # Verify path INIT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + mac = cipher.digest() + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.verify(mac) + + def test_valid_multiple_encrypt_or_decrypt(self): + for method_name in "encrypt", "decrypt": + for auth_data in (None, b"333", self.data_128, + self.data_128 + b"3"): + if auth_data is None: + assoc_len = None + else: + assoc_len = len(auth_data) + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + if auth_data is not None: + cipher.update(auth_data) + method = getattr(cipher, method_name) + method(self.data_128) + method(self.data_128) + method(self.data_128) + method(self.data_128) + + def test_valid_multiple_digest_or_verify(self): + # Multiple calls to digest + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.update(self.data_128) + first_mac = cipher.digest() + for x in range(4): + self.assertEqual(first_mac, cipher.digest()) + + # Multiple calls to verify + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.update(self.data_128) + for x in range(5): + cipher.verify(first_mac) + + def test_valid_encrypt_and_digest_decrypt_and_verify(self): + # encrypt_and_digest + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.update(self.data_128) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + # decrypt_and_verify + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.update(self.data_128) + pt = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(self.data_128, pt) + + def test_invalid_mixing_encrypt_decrypt(self): + # Once per method, with or without assoc. data + for method1_name, method2_name in (("encrypt", "decrypt"), + ("decrypt", "encrypt")): + for assoc_data_present in (True, False): + cipher = AES.new(self.key_128, AES.MODE_GCM, + nonce=self.nonce_96) + if assoc_data_present: + cipher.update(self.data_128) + getattr(cipher, method1_name)(self.data_128) + self.assertRaises(TypeError, getattr(cipher, method2_name), + self.data_128) + + def test_invalid_encrypt_or_update_after_digest(self): + for method_name in "encrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.encrypt(self.data_128) + cipher.digest() + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.encrypt_and_digest(self.data_128) + + def test_invalid_decrypt_or_update_after_verify(self): + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + mac = cipher.digest() + + for method_name in "decrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.verify(mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_GCM, nonce=self.nonce_96) + cipher.decrypt_and_verify(ct, mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + +class TestVectors(unittest.TestCase): + """Class exercising the GCM test vectors found in + http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-revised-spec.pdf""" + + # List of test vectors, each made up of: + # - authenticated data + # - plaintext + # - ciphertext + # - MAC + # - AES key + # - nonce + test_vectors_hex = [ + ( + '', + '', + '', + '58e2fccefa7e3061367f1d57a4e7455a', + '00000000000000000000000000000000', + '000000000000000000000000' + ), + ( + '', + '00000000000000000000000000000000', + '0388dace60b6a392f328c2b971b2fe78', + 'ab6e47d42cec13bdf53a67b21257bddf', + '00000000000000000000000000000000', + '000000000000000000000000' + ), + ( + '', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255', + '42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e' + + '21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985', + '4d5c2af327cd64a62cf35abd2ba6fab4', + 'feffe9928665731c6d6a8f9467308308', + 'cafebabefacedbaddecaf888' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + '42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e' + + '21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091', + '5bc94fbc3221a5db94fae95ae7121a47', + 'feffe9928665731c6d6a8f9467308308', + 'cafebabefacedbaddecaf888' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + '61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c7423' + + '73806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598', + '3612d2e79e3b0785561be14aaca2fccb', + 'feffe9928665731c6d6a8f9467308308', + 'cafebabefacedbad' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + '8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca7' + + '01e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5', + '619cc5aefffe0bfa462af43c1699d050', + 'feffe9928665731c6d6a8f9467308308', + '9313225df88406e555909c5aff5269aa' + + '6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b5254'+ + '16aedbf5a0de6a57a637b39b' + ), + ( + '', + '', + '', + 'cd33b28ac773f74ba00ed1f312572435', + '000000000000000000000000000000000000000000000000', + '000000000000000000000000' + ), + ( + '', + '00000000000000000000000000000000', + '98e7247c07f0fe411c267e4384b0f600', + '2ff58d80033927ab8ef4d4587514f0fb', + '000000000000000000000000000000000000000000000000', + '000000000000000000000000' + ), + ( + '', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255', + '3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c' + + '7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256', + '9924a7c8587336bfb118024db8674a14', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c', + 'cafebabefacedbaddecaf888' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + '3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c' + + '7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710', + '2519498e80f1478f37ba55bd6d27618c', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c', + 'cafebabefacedbaddecaf888' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + '0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057' + + 'fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7', + '65dcc57fcf623a24094fcca40d3533f8', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c', + 'cafebabefacedbad' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + 'd27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e45' + + '81e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b', + 'dcf566ff291c25bbb8568fc3d376a6d9', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c', + '9313225df88406e555909c5aff5269aa' + + '6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b5254' + + '16aedbf5a0de6a57a637b39b' + ), + ( + '', + '', + '', + '530f8afbc74536b9a963b4f1c4cb738b', + '0000000000000000000000000000000000000000000000000000000000000000', + '000000000000000000000000' + ), + ( + '', + '00000000000000000000000000000000', + 'cea7403d4d606b6e074ec5d3baf39d18', + 'd0d1c8a799996bf0265b98b5d48ab919', + '0000000000000000000000000000000000000000000000000000000000000000', + '000000000000000000000000' + ), + ( '', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255', + '522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa' + + '8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad', + 'b094dac5d93471bdec1a502270e3cc6c', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308', + 'cafebabefacedbaddecaf888' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + '522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa' + + '8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662', + '76fc6ece0f4e1768cddf8853bb2d551b', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308', + 'cafebabefacedbaddecaf888' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + 'c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0' + + 'feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f', + '3a337dbf46a792c45e454913fe2ea8f2', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308', + 'cafebabefacedbad' + ), + ( + 'feedfacedeadbeeffeedfacedeadbeefabaddad2', + 'd9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72' + + '1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39', + '5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf4' + + '0fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f', + 'a44a8266ee1c8eb0c8b5d4cf5ae9f19a', + 'feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308', + '9313225df88406e555909c5aff5269aa' + + '6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b5254'+ + '16aedbf5a0de6a57a637b39b' + ) + ] + + test_vectors = [[unhexlify(x) for x in tv] for tv in test_vectors_hex] + + def runTest(self): + for assoc_data, pt, ct, mac, key, nonce in self.test_vectors: + + # Encrypt + cipher = AES.new(key, AES.MODE_GCM, nonce, mac_len=len(mac)) + cipher.update(assoc_data) + ct2, mac2 = cipher.encrypt_and_digest(pt) + self.assertEqual(ct, ct2) + self.assertEqual(mac, mac2) + + # Decrypt + cipher = AES.new(key, AES.MODE_GCM, nonce, mac_len=len(mac)) + cipher.update(assoc_data) + pt2 = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(pt, pt2) + + +class TestVectorsGueronKrasnov(unittest.TestCase): + """Class exercising the GCM test vectors found in + 'The fragility of AES-GCM authentication algorithm', Gueron, Krasnov + https://eprint.iacr.org/2013/157.pdf""" + + def test_1(self): + key = unhexlify("3da6c536d6295579c0959a7043efb503") + iv = unhexlify("2b926197d34e091ef722db94") + aad = unhexlify("00000000000000000000000000000000" + + "000102030405060708090a0b0c0d0e0f" + + "101112131415161718191a1b1c1d1e1f" + + "202122232425262728292a2b2c2d2e2f" + + "303132333435363738393a3b3c3d3e3f") + digest = unhexlify("69dd586555ce3fcc89663801a71d957b") + + cipher = AES.new(key, AES.MODE_GCM, iv).update(aad) + self.assertEqual(digest, cipher.digest()) + + def test_2(self): + key = unhexlify("843ffcf5d2b72694d19ed01d01249412") + iv = unhexlify("dbcca32ebf9b804617c3aa9e") + aad = unhexlify("00000000000000000000000000000000" + + "101112131415161718191a1b1c1d1e1f") + pt = unhexlify("000102030405060708090a0b0c0d0e0f" + + "101112131415161718191a1b1c1d1e1f" + + "202122232425262728292a2b2c2d2e2f" + + "303132333435363738393a3b3c3d3e3f" + + "404142434445464748494a4b4c4d4e4f") + ct = unhexlify("6268c6fa2a80b2d137467f092f657ac0" + + "4d89be2beaa623d61b5a868c8f03ff95" + + "d3dcee23ad2f1ab3a6c80eaf4b140eb0" + + "5de3457f0fbc111a6b43d0763aa422a3" + + "013cf1dc37fe417d1fbfc449b75d4cc5") + digest = unhexlify("3b629ccfbc1119b7319e1dce2cd6fd6d") + + cipher = AES.new(key, AES.MODE_GCM, iv).update(aad) + ct2, digest2 = cipher.encrypt_and_digest(pt) + + self.assertEqual(ct, ct2) + self.assertEqual(digest, digest2) + + + +class NISTTestVectorsGCM(unittest.TestCase): + + def __init__(self, a): + self.use_clmul = True + unittest.TestCase.__init__(self, a) + +class NISTTestVectorsGCM_no_clmul(unittest.TestCase): + + def __init__(self, a): + self.use_clmul = False + unittest.TestCase.__init__(self, a) + + +test_vectors_nist = load_tests( + ("Crypto", "SelfTest", "Cipher", "test_vectors", "AES"), + "gcmDecrypt128.rsp", + "GCM decrypt", + { "count" : lambda x: int(x) }) + +test_vectors_nist += load_tests( + ("Crypto", "SelfTest", "Cipher", "test_vectors", "AES"), + "gcmEncryptExtIV128.rsp", + "GCM encrypt", + { "count" : lambda x: int(x) }) + +for idx, tv in enumerate(test_vectors_nist): + + # The test vector file contains some directive lines + if isinstance(tv, str): + continue + + def single_test(self, tv=tv): + + self.description = tv.desc + cipher = AES.new(tv.key, AES.MODE_GCM, nonce=tv.iv, + mac_len=len(tv.tag), use_clmul=self.use_clmul) + cipher.update(tv.aad) + if "FAIL" in tv.others: + self.assertRaises(ValueError, cipher.decrypt_and_verify, + tv.ct, tv.tag) + else: + pt = cipher.decrypt_and_verify(tv.ct, tv.tag) + self.assertEqual(pt, tv.pt) + + setattr(NISTTestVectorsGCM, "test_%d" % idx, single_test) + setattr(NISTTestVectorsGCM_no_clmul, "test_%d" % idx, single_test) + + +class TestVectorsWycheproof(unittest.TestCase): + + def __init__(self, wycheproof_warnings, **extra_params): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + self._extra_params = extra_params + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, "aes_gcm_test.json"), "rt") as file_in: + tv_tree = json.load(file_in) + + class TestVector(object): + pass + self.tv = [] + + for group in tv_tree['testGroups']: + tag_size = group['tagSize'] // 8 + for test in group['tests']: + tv = TestVector() + tv.tag_size = tag_size + + tv.id = test['tcId'] + tv.comment = test['comment'] + for attr in 'key', 'iv', 'aad', 'msg', 'ct', 'tag': + setattr(tv, attr, unhexlify(test[attr])) + tv.valid = test['result'] != "invalid" + tv.warning = test['result'] == "acceptable" + self.tv.append(tv) + + def shortDescription(self): + return self._id + + def warn(self, tv): + if tv.warning and self._wycheproof_warnings: + import warnings + warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment)) + + def test_encrypt(self, tv): + self._id = "Wycheproof Encrypt GCM Test #" + str(tv.id) + + try: + cipher = AES.new(tv.key, AES.MODE_GCM, tv.iv, mac_len=tv.tag_size, + **self._extra_params) + except ValueError as e: + if len(tv.iv) == 0 and "Nonce cannot be empty" in str(e): + return + raise e + + cipher.update(tv.aad) + ct, tag = cipher.encrypt_and_digest(tv.msg) + if tv.valid: + self.assertEqual(ct, tv.ct) + self.assertEqual(tag, tv.tag) + self.warn(tv) + + def test_decrypt(self, tv): + self._id = "Wycheproof Decrypt GCM Test #" + str(tv.id) + + try: + cipher = AES.new(tv.key, AES.MODE_GCM, tv.iv, mac_len=tv.tag_size, + **self._extra_params) + except ValueError as e: + if len(tv.iv) == 0 and "Nonce cannot be empty" in str(e): + return + raise e + + cipher.update(tv.aad) + try: + pt = cipher.decrypt_and_verify(tv.ct, tv.tag) + except ValueError: + assert not tv.valid + else: + assert tv.valid + self.assertEqual(pt, tv.msg) + self.warn(tv) + + def test_corrupt_decrypt(self, tv): + self._id = "Wycheproof Corrupt Decrypt GCM Test #" + str(tv.id) + if len(tv.iv) == 0 or len(tv.ct) < 1: + return + cipher = AES.new(tv.key, AES.MODE_GCM, tv.iv, mac_len=tv.tag_size, + **self._extra_params) + cipher.update(tv.aad) + ct_corrupt = strxor(tv.ct, b"\x00" * (len(tv.ct) - 1) + b"\x01") + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct_corrupt, tv.tag) + + def runTest(self): + + for tv in self.tv: + self.test_encrypt(tv) + self.test_decrypt(tv) + self.test_corrupt_decrypt(tv) + + +class TestVariableLength(unittest.TestCase): + + def __init__(self, **extra_params): + unittest.TestCase.__init__(self) + self._extra_params = extra_params + + def runTest(self): + key = b'0' * 16 + h = SHA256.new() + + for length in range(160): + nonce = '{0:04d}'.format(length).encode('utf-8') + data = bchr(length) * length + cipher = AES.new(key, AES.MODE_GCM, nonce=nonce, **self._extra_params) + ct, tag = cipher.encrypt_and_digest(data) + h.update(ct) + h.update(tag) + + self.assertEqual(h.hexdigest(), "7b7eb1ffbe67a2e53a912067c0ec8e62ebc7ce4d83490ea7426941349811bdf4") + + +def get_tests(config={}): + from Crypto.Util import _cpu_features + + wycheproof_warnings = config.get('wycheproof_warnings') + + tests = [] + tests += list_test_cases(GcmTests) + tests += list_test_cases(GcmFSMTests) + tests += [ TestVectors() ] + tests += [ TestVectorsWycheproof(wycheproof_warnings) ] + tests += list_test_cases(TestVectorsGueronKrasnov) + tests += [ TestVariableLength() ] + if config.get('slow_tests'): + tests += list_test_cases(NISTTestVectorsGCM) + + if _cpu_features.have_clmul(): + tests += [ TestVectorsWycheproof(wycheproof_warnings, use_clmul=False) ] + tests += [ TestVariableLength(use_clmul = False) ] + if config.get('slow_tests'): + tests += list_test_cases(NISTTestVectorsGCM_no_clmul) + else: + print("Skipping test of PCLMULDQD in AES GCM") + + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_OCB.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_OCB.py new file mode 100644 index 000000000..53ef2b3b0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_OCB.py @@ -0,0 +1,746 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import os +import re +import unittest +from binascii import hexlify, unhexlify + +from Crypto.Util.py3compat import b, tobytes, bchr, _memoryview +from Crypto.Util.strxor import strxor_c +from Crypto.Util.number import long_to_bytes +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Cipher import AES +from Crypto.Hash import SHAKE128 + + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +class OcbTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_loopback_128(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + pt = get_tag_random("plaintext", 16 * 100) + ct, mac = cipher.encrypt_and_digest(pt) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + pt2 = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(pt, pt2) + + def test_nonce(self): + # Nonce is optional + AES.new(self.key_128, AES.MODE_OCB) + + cipher = AES.new(self.key_128, AES.MODE_OCB, self.nonce_96) + ct = cipher.encrypt(self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + self.assertEquals(ct, cipher.encrypt(self.data_128)) + + def test_nonce_must_be_bytes(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_OCB, + nonce=u'test12345678') + + def test_nonce_length(self): + # nonce cannot be empty + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_OCB, + nonce=b("")) + + # nonce can be up to 15 bytes long + for length in range(1, 16): + AES.new(self.key_128, AES.MODE_OCB, nonce=self.data_128[:length]) + + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_OCB, + nonce=self.data_128) + + def test_block_size_128(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + self.assertEqual(cipher.block_size, AES.block_size) + + # By default, a 15 bytes long nonce is randomly generated + nonce1 = AES.new(self.key_128, AES.MODE_OCB).nonce + nonce2 = AES.new(self.key_128, AES.MODE_OCB).nonce + self.assertEqual(len(nonce1), 15) + self.assertNotEqual(nonce1, nonce2) + + def test_nonce_attribute(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + self.assertEqual(cipher.nonce, self.nonce_96) + + # By default, a 15 bytes long nonce is randomly generated + nonce1 = AES.new(self.key_128, AES.MODE_OCB).nonce + nonce2 = AES.new(self.key_128, AES.MODE_OCB).nonce + self.assertEqual(len(nonce1), 15) + self.assertNotEqual(nonce1, nonce2) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_OCB, + self.nonce_96, 7) + self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_OCB, + nonce=self.nonce_96, unknown=7) + + # But some are only known by the base cipher + # (e.g. use_aesni consumed by the AES module) + AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96, + use_aesni=False) + + def test_null_encryption_decryption(self): + for func in "encrypt", "decrypt": + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + result = getattr(cipher, func)(b("")) + self.assertEqual(result, b("")) + + def test_either_encrypt_or_decrypt(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.encrypt(b("xyz")) + self.assertRaises(TypeError, cipher.decrypt, b("xyz")) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.decrypt(b("xyz")) + self.assertRaises(TypeError, cipher.encrypt, b("xyz")) + + def test_data_must_be_bytes(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, u'test1234567890-*') + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, u'test1234567890-*') + + def test_mac_len(self): + # Invalid MAC length + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_OCB, + nonce=self.nonce_96, mac_len=7) + self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_OCB, + nonce=self.nonce_96, mac_len=16+1) + + # Valid MAC length + for mac_len in range(8, 16 + 1): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96, + mac_len=mac_len) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), mac_len) + + # Default MAC length + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), 16) + + def test_invalid_mac(self): + from Crypto.Util.strxor import strxor_c + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + invalid_mac = strxor_c(mac, 0x01) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct, + invalid_mac) + + def test_hex_mac(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + mac_hex = cipher.hexdigest() + self.assertEqual(cipher.digest(), unhexlify(mac_hex)) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.hexverify(mac_hex) + + def test_message_chunks(self): + # Validate that both associated data and plaintext/ciphertext + # can be broken up in chunks of arbitrary length + + auth_data = get_tag_random("authenticated data", 127) + plaintext = get_tag_random("plaintext", 127) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.update(auth_data) + ciphertext, ref_mac = cipher.encrypt_and_digest(plaintext) + + def break_up(data, chunk_length): + return [data[i:i+chunk_length] for i in range(0, len(data), + chunk_length)] + + # Encryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + pt2 = b("") + for chunk in break_up(ciphertext, chunk_length): + pt2 += cipher.decrypt(chunk) + pt2 += cipher.decrypt() + self.assertEqual(plaintext, pt2) + cipher.verify(ref_mac) + + # Decryption + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + + for chunk in break_up(auth_data, chunk_length): + cipher.update(chunk) + ct2 = b("") + for chunk in break_up(plaintext, chunk_length): + ct2 += cipher.encrypt(chunk) + ct2 += cipher.encrypt() + self.assertEqual(ciphertext, ct2) + self.assertEquals(cipher.digest(), ref_mac) + + def test_bytearray(self): + + # Encrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + data_ba = bytearray(self.data_128) + + cipher1 = AES.new(self.key_128, + AES.MODE_OCB, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + cipher1.encrypt() + tag = cipher1.digest() + + cipher2 = AES.new(key_ba, + AES.MODE_OCB, + nonce=nonce_ba) + key_ba[:3] = b"\xFF\xFF\xFF" + nonce_ba[:3] = b"\xFF\xFF\xFF" + cipher2.update(header_ba) + header_ba[:3] = b"\xFF\xFF\xFF" + ct_test = cipher2.encrypt(data_ba) + cipher2.encrypt() + data_ba[:3] = b"\xFF\xFF\xFF" + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_ba = bytearray(self.key_128) + nonce_ba = bytearray(self.nonce_96) + header_ba = bytearray(self.data_128) + del data_ba + + cipher4 = AES.new(key_ba, + AES.MODE_OCB, + nonce=nonce_ba) + key_ba[:3] = b"\xFF\xFF\xFF" + nonce_ba[:3] = b"\xFF\xFF\xFF" + cipher4.update(header_ba) + header_ba[:3] = b"\xFF\xFF\xFF" + pt_test = cipher4.decrypt_and_verify(bytearray(ct_test), bytearray(tag_test)) + + self.assertEqual(self.data_128, pt_test) + + def test_memoryview(self): + + # Encrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + data_mv = memoryview(bytearray(self.data_128)) + + cipher1 = AES.new(self.key_128, + AES.MODE_OCB, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct = cipher1.encrypt(self.data_128) + cipher1.encrypt() + tag = cipher1.digest() + + cipher2 = AES.new(key_mv, + AES.MODE_OCB, + nonce=nonce_mv) + key_mv[:3] = b"\xFF\xFF\xFF" + nonce_mv[:3] = b"\xFF\xFF\xFF" + cipher2.update(header_mv) + header_mv[:3] = b"\xFF\xFF\xFF" + ct_test = cipher2.encrypt(data_mv) + cipher2.encrypt() + data_mv[:3] = b"\xFF\xFF\xFF" + tag_test = cipher2.digest() + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key_mv = memoryview(bytearray(self.key_128)) + nonce_mv = memoryview(bytearray(self.nonce_96)) + header_mv = memoryview(bytearray(self.data_128)) + del data_mv + + cipher4 = AES.new(key_mv, + AES.MODE_OCB, + nonce=nonce_mv) + key_mv[:3] = b"\xFF\xFF\xFF" + nonce_mv[:3] = b"\xFF\xFF\xFF" + cipher4.update(header_mv) + header_mv[:3] = b"\xFF\xFF\xFF" + pt_test = cipher4.decrypt_and_verify(memoryview(ct_test), memoryview(tag_test)) + + self.assertEqual(self.data_128, pt_test) + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + + +class OcbFSMTests(unittest.TestCase): + + key_128 = get_tag_random("key_128", 16) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_valid_init_encrypt_decrypt_digest_verify(self): + # No authenticated data, fixed plaintext + # Verify path INIT->ENCRYPT->ENCRYPT(NONE)->DIGEST + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + ct += cipher.encrypt() + mac = cipher.digest() + + # Verify path INIT->DECRYPT->DECRYPT(NONCE)->VERIFY + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.decrypt() + cipher.verify(mac) + + def test_invalid_init_encrypt_decrypt_digest_verify(self): + # No authenticated data, fixed plaintext + # Verify path INIT->ENCRYPT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + self.assertRaises(TypeError, cipher.digest) + + # Verify path INIT->DECRYPT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.decrypt(ct) + self.assertRaises(TypeError, cipher.verify) + + def test_valid_init_update_digest_verify(self): + # No plaintext, fixed authenticated data + # Verify path INIT->UPDATE->DIGEST + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.update(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->VERIFY + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.verify(mac) + + def test_valid_full_path(self): + # Fixed authenticated data, fixed plaintext + # Verify path INIT->UPDATE->ENCRYPT->ENCRYPT(NONE)->DIGEST + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.update(self.data_128) + ct = cipher.encrypt(self.data_128) + ct += cipher.encrypt() + mac = cipher.digest() + + # Verify path INIT->UPDATE->DECRYPT->DECRYPT(NONE)->VERIFY + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.decrypt(ct) + cipher.decrypt() + cipher.verify(mac) + + def test_invalid_encrypt_after_final(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.encrypt(self.data_128) + cipher.encrypt() + self.assertRaises(TypeError, cipher.encrypt, self.data_128) + + def test_invalid_decrypt_after_final(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.decrypt(self.data_128) + cipher.decrypt() + self.assertRaises(TypeError, cipher.decrypt, self.data_128) + + def test_valid_init_digest(self): + # Verify path INIT->DIGEST + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.digest() + + def test_valid_init_verify(self): + # Verify path INIT->VERIFY + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + mac = cipher.digest() + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.verify(mac) + + def test_valid_multiple_encrypt_or_decrypt(self): + for method_name in "encrypt", "decrypt": + for auth_data in (None, b("333"), self.data_128, + self.data_128 + b("3")): + if auth_data is None: + assoc_len = None + else: + assoc_len = len(auth_data) + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + if auth_data is not None: + cipher.update(auth_data) + method = getattr(cipher, method_name) + method(self.data_128) + method(self.data_128) + method(self.data_128) + method(self.data_128) + method() + + def test_valid_multiple_digest_or_verify(self): + # Multiple calls to digest + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.update(self.data_128) + first_mac = cipher.digest() + for x in range(4): + self.assertEqual(first_mac, cipher.digest()) + + # Multiple calls to verify + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.update(self.data_128) + for x in range(5): + cipher.verify(first_mac) + + def test_valid_encrypt_and_digest_decrypt_and_verify(self): + # encrypt_and_digest + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.update(self.data_128) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + # decrypt_and_verify + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.update(self.data_128) + pt = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(self.data_128, pt) + + def test_invalid_mixing_encrypt_decrypt(self): + # Once per method, with or without assoc. data + for method1_name, method2_name in (("encrypt", "decrypt"), + ("decrypt", "encrypt")): + for assoc_data_present in (True, False): + cipher = AES.new(self.key_128, AES.MODE_OCB, + nonce=self.nonce_96) + if assoc_data_present: + cipher.update(self.data_128) + getattr(cipher, method1_name)(self.data_128) + self.assertRaises(TypeError, getattr(cipher, method2_name), + self.data_128) + + def test_invalid_encrypt_or_update_after_digest(self): + for method_name in "encrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.encrypt(self.data_128) + cipher.encrypt() + cipher.digest() + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.encrypt_and_digest(self.data_128) + + def test_invalid_decrypt_or_update_after_verify(self): + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + ct = cipher.encrypt(self.data_128) + ct += cipher.encrypt() + mac = cipher.digest() + + for method_name in "decrypt", "update": + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.decrypt(ct) + cipher.decrypt() + cipher.verify(mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + cipher = AES.new(self.key_128, AES.MODE_OCB, nonce=self.nonce_96) + cipher.decrypt_and_verify(ct, mac) + self.assertRaises(TypeError, getattr(cipher, method_name), + self.data_128) + + +class OcbRfc7253Test(unittest.TestCase): + + # Tuple with + # - nonce + # - authenticated data + # - plaintext + # - ciphertext and 16 byte MAC tag + tv1_key = "000102030405060708090A0B0C0D0E0F" + tv1 = ( + ( + "BBAA99887766554433221100", + "", + "", + "785407BFFFC8AD9EDCC5520AC9111EE6" + ), + ( + "BBAA99887766554433221101", + "0001020304050607", + "0001020304050607", + "6820B3657B6F615A5725BDA0D3B4EB3A257C9AF1F8F03009" + ), + ( + "BBAA99887766554433221102", + "0001020304050607", + "", + "81017F8203F081277152FADE694A0A00" + ), + ( + "BBAA99887766554433221103", + "", + "0001020304050607", + "45DD69F8F5AAE72414054CD1F35D82760B2CD00D2F99BFA9" + ), + ( + "BBAA99887766554433221104", + "000102030405060708090A0B0C0D0E0F", + "000102030405060708090A0B0C0D0E0F", + "571D535B60B277188BE5147170A9A22C3AD7A4FF3835B8C5" + "701C1CCEC8FC3358" + ), + ( + "BBAA99887766554433221105", + "000102030405060708090A0B0C0D0E0F", + "", + "8CF761B6902EF764462AD86498CA6B97" + ), + ( + "BBAA99887766554433221106", + "", + "000102030405060708090A0B0C0D0E0F", + "5CE88EC2E0692706A915C00AEB8B2396F40E1C743F52436B" + "DF06D8FA1ECA343D" + ), + ( + "BBAA99887766554433221107", + "000102030405060708090A0B0C0D0E0F1011121314151617", + "000102030405060708090A0B0C0D0E0F1011121314151617", + "1CA2207308C87C010756104D8840CE1952F09673A448A122" + "C92C62241051F57356D7F3C90BB0E07F" + ), + ( + "BBAA99887766554433221108", + "000102030405060708090A0B0C0D0E0F1011121314151617", + "", + "6DC225A071FC1B9F7C69F93B0F1E10DE" + ), + ( + "BBAA99887766554433221109", + "", + "000102030405060708090A0B0C0D0E0F1011121314151617", + "221BD0DE7FA6FE993ECCD769460A0AF2D6CDED0C395B1C3C" + "E725F32494B9F914D85C0B1EB38357FF" + ), + ( + "BBAA9988776655443322110A", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", + "BD6F6C496201C69296C11EFD138A467ABD3C707924B964DE" + "AFFC40319AF5A48540FBBA186C5553C68AD9F592A79A4240" + ), + ( + "BBAA9988776655443322110B", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", + "", + "FE80690BEE8A485D11F32965BC9D2A32" + ), + ( + "BBAA9988776655443322110C", + "", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F", + "2942BFC773BDA23CABC6ACFD9BFD5835BD300F0973792EF4" + "6040C53F1432BCDFB5E1DDE3BC18A5F840B52E653444D5DF" + ), + ( + "BBAA9988776655443322110D", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", + "D5CA91748410C1751FF8A2F618255B68A0A12E093FF45460" + "6E59F9C1D0DDC54B65E8628E568BAD7AED07BA06A4A69483" + "A7035490C5769E60" + ), + ( + "BBAA9988776655443322110E", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", + "", + "C5CD9D1850C141E358649994EE701B68" + ), + ( + "BBAA9988776655443322110F", + "", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", + "4412923493C57D5DE0D700F753CCE0D1D2D95060122E9F15" + "A5DDBFC5787E50B5CC55EE507BCB084E479AD363AC366B95" + "A98CA5F3000B1479" + ) + ) + + # Tuple with + # - key + # - nonce + # - authenticated data + # - plaintext + # - ciphertext and 12 byte MAC tag + tv2 = ( + "0F0E0D0C0B0A09080706050403020100", + "BBAA9988776655443322110D", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", + "000102030405060708090A0B0C0D0E0F1011121314151617" + "18191A1B1C1D1E1F2021222324252627", + "1792A4E31E0755FB03E31B22116E6C2DDF9EFD6E33D536F1" + "A0124B0A55BAE884ED93481529C76B6AD0C515F4D1CDD4FD" + "AC4F02AA" + ) + + # Tuple with + # - key length + # - MAC tag length + # - Expected output + tv3 = ( + (128, 128, "67E944D23256C5E0B6C61FA22FDF1EA2"), + (192, 128, "F673F2C3E7174AAE7BAE986CA9F29E17"), + (256, 128, "D90EB8E9C977C88B79DD793D7FFA161C"), + (128, 96, "77A3D8E73589158D25D01209"), + (192, 96, "05D56EAD2752C86BE6932C5E"), + (256, 96, "5458359AC23B0CBA9E6330DD"), + (128, 64, "192C9B7BD90BA06A"), + (192, 64, "0066BC6E0EF34E24"), + (256, 64, "7D4EA5D445501CBE"), + ) + + def test1(self): + key = unhexlify(b(self.tv1_key)) + for tv in self.tv1: + nonce, aad, pt, ct = [ unhexlify(b(x)) for x in tv ] + ct, mac_tag = ct[:-16], ct[-16:] + + cipher = AES.new(key, AES.MODE_OCB, nonce=nonce) + cipher.update(aad) + ct2 = cipher.encrypt(pt) + cipher.encrypt() + self.assertEquals(ct, ct2) + self.assertEquals(mac_tag, cipher.digest()) + + cipher = AES.new(key, AES.MODE_OCB, nonce=nonce) + cipher.update(aad) + pt2 = cipher.decrypt(ct) + cipher.decrypt() + self.assertEquals(pt, pt2) + cipher.verify(mac_tag) + + def test2(self): + + key, nonce, aad, pt, ct = [ unhexlify(b(x)) for x in self.tv2 ] + ct, mac_tag = ct[:-12], ct[-12:] + + cipher = AES.new(key, AES.MODE_OCB, nonce=nonce, mac_len=12) + cipher.update(aad) + ct2 = cipher.encrypt(pt) + cipher.encrypt() + self.assertEquals(ct, ct2) + self.assertEquals(mac_tag, cipher.digest()) + + cipher = AES.new(key, AES.MODE_OCB, nonce=nonce, mac_len=12) + cipher.update(aad) + pt2 = cipher.decrypt(ct) + cipher.decrypt() + self.assertEquals(pt, pt2) + cipher.verify(mac_tag) + + def test3(self): + + for keylen, taglen, result in self.tv3: + + key = bchr(0) * (keylen // 8 - 1) + bchr(taglen) + C = b("") + + for i in range(128): + S = bchr(0) * i + + N = long_to_bytes(3 * i + 1, 12) + cipher = AES.new(key, AES.MODE_OCB, nonce=N, mac_len=taglen // 8) + cipher.update(S) + C += cipher.encrypt(S) + cipher.encrypt() + cipher.digest() + + N = long_to_bytes(3 * i + 2, 12) + cipher = AES.new(key, AES.MODE_OCB, nonce=N, mac_len=taglen // 8) + C += cipher.encrypt(S) + cipher.encrypt() + cipher.digest() + + N = long_to_bytes(3 * i + 3, 12) + cipher = AES.new(key, AES.MODE_OCB, nonce=N, mac_len=taglen // 8) + cipher.update(S) + C += cipher.encrypt() + cipher.digest() + + N = long_to_bytes(385, 12) + cipher = AES.new(key, AES.MODE_OCB, nonce=N, mac_len=taglen // 8) + cipher.update(C) + result2 = cipher.encrypt() + cipher.digest() + self.assertEquals(unhexlify(b(result)), result2) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(OcbTests) + tests += list_test_cases(OcbFSMTests) + tests += list_test_cases(OcbRfc7253Test) + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_OFB.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_OFB.py new file mode 100644 index 000000000..796bdd0e5 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_OFB.py @@ -0,0 +1,237 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes +from Crypto.Cipher import AES, DES3, DES +from Crypto.Hash import SHAKE128 + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + +from Crypto.SelfTest.Cipher.test_CBC import BlockChainingTests + +class OfbTests(BlockChainingTests): + + aes_mode = AES.MODE_OFB + des3_mode = DES3.MODE_OFB + + # Redefine test_unaligned_data_128/64 + + def test_unaligned_data_128(self): + plaintexts = [ b"7777777" ] * 100 + + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=8) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=8) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=128) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = AES.new(self.key_128, AES.MODE_CFB, self.iv_128, segment_size=128) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + def test_unaligned_data_64(self): + plaintexts = [ b"7777777" ] * 100 + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=8) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=8) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=64) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = DES3.new(self.key_192, DES3.MODE_CFB, self.iv_64, segment_size=64) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + +from Crypto.SelfTest.Cipher.test_CBC import NistBlockChainingVectors + +class NistOfbVectors(NistBlockChainingVectors): + aes_mode = AES.MODE_OFB + des_mode = DES.MODE_OFB + des3_mode = DES3.MODE_OFB + + +# Create one test method per file +nist_aes_kat_mmt_files = ( + # KAT + "OFBGFSbox128.rsp", + "OFBGFSbox192.rsp", + "OFBGFSbox256.rsp", + "OFBKeySbox128.rsp", + "OFBKeySbox192.rsp", + "OFBKeySbox256.rsp", + "OFBVarKey128.rsp", + "OFBVarKey192.rsp", + "OFBVarKey256.rsp", + "OFBVarTxt128.rsp", + "OFBVarTxt192.rsp", + "OFBVarTxt256.rsp", + # MMT + "OFBMMT128.rsp", + "OFBMMT192.rsp", + "OFBMMT256.rsp", + ) +nist_aes_mct_files = ( + "OFBMCT128.rsp", + "OFBMCT192.rsp", + "OFBMCT256.rsp", + ) + +for file_name in nist_aes_kat_mmt_files: + def new_func(self, file_name=file_name): + self._do_kat_aes_test(file_name) + setattr(NistOfbVectors, "test_AES_" + file_name, new_func) + +for file_name in nist_aes_mct_files: + def new_func(self, file_name=file_name): + self._do_mct_aes_test(file_name) + setattr(NistOfbVectors, "test_AES_" + file_name, new_func) +del file_name, new_func + +nist_tdes_files = ( + "TOFBMMT2.rsp", # 2TDES + "TOFBMMT3.rsp", # 3TDES + "TOFBinvperm.rsp", # Single DES + "TOFBpermop.rsp", + "TOFBsubtab.rsp", + "TOFBvarkey.rsp", + "TOFBvartext.rsp", + ) + +for file_name in nist_tdes_files: + def new_func(self, file_name=file_name): + self._do_tdes_test(file_name) + setattr(NistOfbVectors, "test_TDES_" + file_name, new_func) + +# END OF NIST OFB TEST VECTORS + + +class SP800TestVectors(unittest.TestCase): + """Class exercising the OFB test vectors found in Section F.4 + of NIST SP 800-3A""" + + def test_aes_128(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = '3b3fd92eb72dad20333449f8e83cfb4a' +\ + '7789508d16918f03f53c52dac54ed825' +\ + '9740051e9c5fecf64344f7a82260edcc' +\ + '304c6528f659c77866a510d9c1d6ae5e' + key = '2b7e151628aed2a6abf7158809cf4f3c' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.encrypt(plaintext[:-8]), ciphertext[:-8]) + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.decrypt(ciphertext[:-8]), plaintext[:-8]) + + def test_aes_192(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = 'cdc80d6fddf18cab34c25909c99a4174' +\ + 'fcc28b8d4c63837c09e81700c1100401' +\ + '8d9a9aeac0f6596f559c6d4daf59a5f2' +\ + '6d9f200857ca6c3e9cac524bd9acc92a' + key = '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.encrypt(plaintext[:-8]), ciphertext[:-8]) + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.decrypt(ciphertext[:-8]), plaintext[:-8]) + + def test_aes_256(self): + plaintext = '6bc1bee22e409f96e93d7e117393172a' +\ + 'ae2d8a571e03ac9c9eb76fac45af8e51' +\ + '30c81c46a35ce411e5fbc1191a0a52ef' +\ + 'f69f2445df4f9b17ad2b417be66c3710' + ciphertext = 'dc7e84bfda79164b7ecd8486985d3860' +\ + '4febdc6740d20b3ac88f6ad82a4fb08d' +\ + '71ab47a086e86eedf39d1c5bba97c408' +\ + '0126141d67f37be8538f5a8be740e484' + key = '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4' + iv = '000102030405060708090a0b0c0d0e0f' + + key = unhexlify(key) + iv = unhexlify(iv) + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.encrypt(plaintext), ciphertext) + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.decrypt(ciphertext), plaintext) + + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.encrypt(plaintext[:-8]), ciphertext[:-8]) + cipher = AES.new(key, AES.MODE_OFB, iv) + self.assertEqual(cipher.decrypt(ciphertext[:-8]), plaintext[:-8]) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(OfbTests) + if config.get('slow_tests'): + tests += list_test_cases(NistOfbVectors) + tests += list_test_cases(SP800TestVectors) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_OpenPGP.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_OpenPGP.py new file mode 100644 index 000000000..55e498246 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_OpenPGP.py @@ -0,0 +1,215 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes +from Crypto.Cipher import AES, DES3, DES +from Crypto.Hash import SHAKE128 + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +from Crypto.SelfTest.Cipher.test_CBC import BlockChainingTests + +class OpenPGPTests(BlockChainingTests): + + aes_mode = AES.MODE_OPENPGP + des3_mode = DES3.MODE_OPENPGP + + # Redefine test_unaligned_data_128/64 + + key_128 = get_tag_random("key_128", 16) + key_192 = get_tag_random("key_192", 24) + iv_128 = get_tag_random("iv_128", 16) + iv_64 = get_tag_random("iv_64", 8) + data_128 = get_tag_random("data_128", 16) + + def test_loopback_128(self): + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, self.iv_128) + pt = get_tag_random("plaintext", 16 * 100) + ct = cipher.encrypt(pt) + + eiv, ct = ct[:18], ct[18:] + + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, eiv) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_loopback_64(self): + cipher = DES3.new(self.key_192, DES3.MODE_OPENPGP, self.iv_64) + pt = get_tag_random("plaintext", 8 * 100) + ct = cipher.encrypt(pt) + + eiv, ct = ct[:10], ct[10:] + + cipher = DES3.new(self.key_192, DES3.MODE_OPENPGP, eiv) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt, pt2) + + def test_IV_iv_attributes(self): + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, self.iv_128) + eiv = cipher.encrypt(b"") + self.assertEqual(cipher.iv, self.iv_128) + + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, eiv) + self.assertEqual(cipher.iv, self.iv_128) + + def test_null_encryption_decryption(self): + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, self.iv_128) + eiv = cipher.encrypt(b"") + + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, eiv) + self.assertEqual(cipher.decrypt(b""), b"") + + def test_either_encrypt_or_decrypt(self): + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, self.iv_128) + eiv = cipher.encrypt(b"") + self.assertRaises(TypeError, cipher.decrypt, b"") + + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, eiv) + cipher.decrypt(b"") + self.assertRaises(TypeError, cipher.encrypt, b"") + + def test_unaligned_data_128(self): + plaintexts = [ b"7777777" ] * 100 + + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, self.iv_128) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = AES.new(self.key_128, AES.MODE_OPENPGP, self.iv_128) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + def test_unaligned_data_64(self): + plaintexts = [ b"7777777" ] * 100 + + cipher = DES3.new(self.key_192, DES3.MODE_OPENPGP, self.iv_64) + ciphertexts = [ cipher.encrypt(x) for x in plaintexts ] + cipher = DES3.new(self.key_192, DES3.MODE_OPENPGP, self.iv_64) + self.assertEqual(b"".join(ciphertexts), cipher.encrypt(b"".join(plaintexts))) + + def test_output_param(self): + pass + + def test_output_param_memoryview(self): + pass + + def test_output_param_neg(self): + pass + + +class TestVectors(unittest.TestCase): + + def test_aes(self): + # The following test vectors have been generated with gpg v1.4.0. + # The command line used was: + # + # gpg -c -z 0 --cipher-algo AES --passphrase secret_passphrase \ + # --disable-mdc --s2k-mode 0 --output ct pt + # + # As result, the content of the file 'pt' is encrypted with a key derived + # from 'secret_passphrase' and written to file 'ct'. + # Test vectors must be extracted from 'ct', which is a collection of + # TLVs (see RFC4880 for all details): + # - the encrypted data (with the encrypted IV as prefix) is the payload + # of the TLV with tag 9 (Symmetrical Encrypted Data Packet). + # This is the ciphertext in the test vector. + # - inside the encrypted part, there is a further layer of TLVs. One must + # look for tag 11 (Literal Data Packet); in its payload, after a short + # but time dependent header, there is the content of file 'pt'. + # In the test vector, the plaintext is the complete set of TLVs that gets + # encrypted. It is not just the content of 'pt'. + # - the key is the leftmost 16 bytes of the SHA1 digest of the password. + # The test vector contains such shortened digest. + # + # Note that encryption uses a clear IV, and decryption an encrypted IV + + plaintext = 'ac18620270744fb4f647426c61636b4361745768697465436174' + ciphertext = 'dc6b9e1f095de609765c59983db5956ae4f63aea7405389d2ebb' + key = '5baa61e4c9b93f3f0682250b6cf8331b' + iv = '3d7d3e62282add7eb203eeba5c800733' + encrypted_iv='fd934601ef49cb58b6d9aebca6056bdb96ef' + + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + key = unhexlify(key) + iv = unhexlify(iv) + encrypted_iv = unhexlify(encrypted_iv) + + cipher = AES.new(key, AES.MODE_OPENPGP, iv) + ct = cipher.encrypt(plaintext) + self.assertEqual(ct[:18], encrypted_iv) + self.assertEqual(ct[18:], ciphertext) + + cipher = AES.new(key, AES.MODE_OPENPGP, encrypted_iv) + pt = cipher.decrypt(ciphertext) + self.assertEqual(pt, plaintext) + + def test_des3(self): + # The following test vectors have been generated with gpg v1.4.0. + # The command line used was: + # gpg -c -z 0 --cipher-algo 3DES --passphrase secret_passphrase \ + # --disable-mdc --s2k-mode 0 --output ct pt + # For an explanation, see test_AES.py . + + plaintext = 'ac1762037074324fb53ba3596f73656d69746556616c6c6579' + ciphertext = '9979238528357b90e2e0be549cb0b2d5999b9a4a447e5c5c7d' + key = '7ade65b460f5ea9be35f9e14aa883a2048e3824aa616c0b2' + iv='cd47e2afb8b7e4b0' + encrypted_iv='6a7eef0b58050e8b904a' + + plaintext = unhexlify(plaintext) + ciphertext = unhexlify(ciphertext) + key = unhexlify(key) + iv = unhexlify(iv) + encrypted_iv = unhexlify(encrypted_iv) + + cipher = DES3.new(key, DES3.MODE_OPENPGP, iv) + ct = cipher.encrypt(plaintext) + self.assertEqual(ct[:10], encrypted_iv) + self.assertEqual(ct[10:], ciphertext) + + cipher = DES3.new(key, DES3.MODE_OPENPGP, encrypted_iv) + pt = cipher.decrypt(ciphertext) + self.assertEqual(pt, plaintext) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(OpenPGPTests) + tests += list_test_cases(TestVectors) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_SIV.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_SIV.py new file mode 100644 index 000000000..38341e14e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_SIV.py @@ -0,0 +1,524 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import json +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.py3compat import tobytes, bchr +from Crypto.Cipher import AES +from Crypto.Hash import SHAKE128 + +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.strxor import strxor + + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +class SivTests(unittest.TestCase): + + key_256 = get_tag_random("key_256", 32) + key_384 = get_tag_random("key_384", 48) + key_512 = get_tag_random("key_512", 64) + nonce_96 = get_tag_random("nonce_128", 12) + data_128 = get_tag_random("data_128", 16) + + def test_loopback_128(self): + for key in self.key_256, self.key_384, self.key_512: + cipher = AES.new(key, AES.MODE_SIV, nonce=self.nonce_96) + pt = get_tag_random("plaintext", 16 * 100) + ct, mac = cipher.encrypt_and_digest(pt) + + cipher = AES.new(key, AES.MODE_SIV, nonce=self.nonce_96) + pt2 = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(pt, pt2) + + def test_nonce(self): + # Deterministic encryption + AES.new(self.key_256, AES.MODE_SIV) + + cipher = AES.new(self.key_256, AES.MODE_SIV, self.nonce_96) + ct1, tag1 = cipher.encrypt_and_digest(self.data_128) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + ct2, tag2 = cipher.encrypt_and_digest(self.data_128) + self.assertEquals(ct1 + tag1, ct2 + tag2) + + def test_nonce_must_be_bytes(self): + self.assertRaises(TypeError, AES.new, self.key_256, AES.MODE_SIV, + nonce=u'test12345678') + + def test_nonce_length(self): + # nonce can be of any length (but not empty) + self.assertRaises(ValueError, AES.new, self.key_256, AES.MODE_SIV, + nonce=b"") + + for x in range(1, 128): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=bchr(1) * x) + cipher.encrypt_and_digest(b'\x01') + + def test_block_size_128(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertEqual(cipher.block_size, AES.block_size) + + def test_nonce_attribute(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertEqual(cipher.nonce, self.nonce_96) + + # By default, no nonce is randomly generated + self.failIf(hasattr(AES.new(self.key_256, AES.MODE_SIV), "nonce")) + + def test_unknown_parameters(self): + self.assertRaises(TypeError, AES.new, self.key_256, AES.MODE_SIV, + self.nonce_96, 7) + self.assertRaises(TypeError, AES.new, self.key_256, AES.MODE_SIV, + nonce=self.nonce_96, unknown=7) + + # But some are only known by the base cipher + # (e.g. use_aesni consumed by the AES module) + AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96, + use_aesni=False) + + def test_encrypt_excludes_decrypt(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.encrypt_and_digest(self.data_128) + self.assertRaises(TypeError, cipher.decrypt, self.data_128) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.encrypt_and_digest(self.data_128) + self.assertRaises(TypeError, cipher.decrypt_and_verify, + self.data_128, self.data_128) + + def test_data_must_be_bytes(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, u'test1234567890-*') + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt_and_verify, + u'test1234567890-*', b"xxxx") + + def test_mac_len(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + _, mac = cipher.encrypt_and_digest(self.data_128) + self.assertEqual(len(mac), 16) + + def test_invalid_mac(self): + from Crypto.Util.strxor import strxor_c + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + invalid_mac = strxor_c(mac, 0x01) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct, + invalid_mac) + + def test_hex_mac(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + mac_hex = cipher.hexdigest() + self.assertEqual(cipher.digest(), unhexlify(mac_hex)) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.hexverify(mac_hex) + + def test_bytearray(self): + + # Encrypt + key = bytearray(self.key_256) + nonce = bytearray(self.nonce_96) + data = bytearray(self.data_128) + header = bytearray(self.data_128) + + cipher1 = AES.new(self.key_256, + AES.MODE_SIV, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct, tag = cipher1.encrypt_and_digest(self.data_128) + + cipher2 = AES.new(key, + AES.MODE_SIV, + nonce=nonce) + key[:3] = b'\xFF\xFF\xFF' + nonce[:3] = b'\xFF\xFF\xFF' + cipher2.update(header) + header[:3] = b'\xFF\xFF\xFF' + ct_test, tag_test = cipher2.encrypt_and_digest(data) + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key = bytearray(self.key_256) + nonce = bytearray(self.nonce_96) + header = bytearray(self.data_128) + ct_ba = bytearray(ct) + tag_ba = bytearray(tag) + + cipher3 = AES.new(key, + AES.MODE_SIV, + nonce=nonce) + key[:3] = b'\xFF\xFF\xFF' + nonce[:3] = b'\xFF\xFF\xFF' + cipher3.update(header) + header[:3] = b'\xFF\xFF\xFF' + pt_test = cipher3.decrypt_and_verify(ct_ba, tag_ba) + + self.assertEqual(self.data_128, pt_test) + + def test_memoryview(self): + + # Encrypt + key = memoryview(bytearray(self.key_256)) + nonce = memoryview(bytearray(self.nonce_96)) + data = memoryview(bytearray(self.data_128)) + header = memoryview(bytearray(self.data_128)) + + cipher1 = AES.new(self.key_256, + AES.MODE_SIV, + nonce=self.nonce_96) + cipher1.update(self.data_128) + ct, tag = cipher1.encrypt_and_digest(self.data_128) + + cipher2 = AES.new(key, + AES.MODE_SIV, + nonce=nonce) + key[:3] = b'\xFF\xFF\xFF' + nonce[:3] = b'\xFF\xFF\xFF' + cipher2.update(header) + header[:3] = b'\xFF\xFF\xFF' + ct_test, tag_test= cipher2.encrypt_and_digest(data) + + self.assertEqual(ct, ct_test) + self.assertEqual(tag, tag_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decrypt + key = memoryview(bytearray(self.key_256)) + nonce = memoryview(bytearray(self.nonce_96)) + header = memoryview(bytearray(self.data_128)) + ct_ba = memoryview(bytearray(ct)) + tag_ba = memoryview(bytearray(tag)) + + cipher3 = AES.new(key, + AES.MODE_SIV, + nonce=nonce) + key[:3] = b'\xFF\xFF\xFF' + nonce[:3] = b'\xFF\xFF\xFF' + cipher3.update(header) + header[:3] = b'\xFF\xFF\xFF' + pt_test = cipher3.decrypt_and_verify(ct_ba, tag_ba) + + self.assertEqual(self.data_128, pt_test) + + def test_output_param(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + ct, tag = cipher.encrypt_and_digest(pt) + + output = bytearray(16) + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + res, tag_out = cipher.encrypt_and_digest(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + self.assertEqual(tag, tag_out) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + res = cipher.decrypt_and_verify(ct, tag, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + def test_output_param_memoryview(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + ct, tag = cipher.encrypt_and_digest(pt) + + output = memoryview(bytearray(16)) + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.encrypt_and_digest(pt, output=output) + self.assertEqual(ct, output) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.decrypt_and_verify(ct, tag, output=output) + self.assertEqual(pt, output) + + def test_output_param_neg(self): + + pt = b'5' * 16 + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + ct, tag = cipher.encrypt_and_digest(pt) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt_and_digest, pt, output=b'0'*16) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt_and_verify, ct, tag, output=b'0'*16) + + shorter_output = bytearray(15) + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.encrypt_and_digest, pt, output=shorter_output) + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + self.assertRaises(ValueError, cipher.decrypt_and_verify, ct, tag, output=shorter_output) + + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + del test_output_param_memoryview + + +class SivFSMTests(unittest.TestCase): + + key_256 = get_tag_random("key_256", 32) + nonce_96 = get_tag_random("nonce_96", 12) + data_128 = get_tag_random("data_128", 16) + + def test_invalid_init_encrypt(self): + # Path INIT->ENCRYPT fails + cipher = AES.new(self.key_256, AES.MODE_SIV, + nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.encrypt, b"xxx") + + def test_invalid_init_decrypt(self): + # Path INIT->DECRYPT fails + cipher = AES.new(self.key_256, AES.MODE_SIV, + nonce=self.nonce_96) + self.assertRaises(TypeError, cipher.decrypt, b"xxx") + + def test_valid_init_update_digest_verify(self): + # No plaintext, fixed authenticated data + # Verify path INIT->UPDATE->DIGEST + cipher = AES.new(self.key_256, AES.MODE_SIV, + nonce=self.nonce_96) + cipher.update(self.data_128) + mac = cipher.digest() + + # Verify path INIT->UPDATE->VERIFY + cipher = AES.new(self.key_256, AES.MODE_SIV, + nonce=self.nonce_96) + cipher.update(self.data_128) + cipher.verify(mac) + + def test_valid_init_digest(self): + # Verify path INIT->DIGEST + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.digest() + + def test_valid_init_verify(self): + # Verify path INIT->VERIFY + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + mac = cipher.digest() + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.verify(mac) + + def test_valid_multiple_digest_or_verify(self): + # Multiple calls to digest + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.update(self.data_128) + first_mac = cipher.digest() + for x in range(4): + self.assertEqual(first_mac, cipher.digest()) + + # Multiple calls to verify + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.update(self.data_128) + for x in range(5): + cipher.verify(first_mac) + + def test_valid_encrypt_and_digest_decrypt_and_verify(self): + # encrypt_and_digest + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.update(self.data_128) + ct, mac = cipher.encrypt_and_digest(self.data_128) + + # decrypt_and_verify + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.update(self.data_128) + pt = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(self.data_128, pt) + + def test_invalid_multiple_encrypt_and_digest(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + ct, tag = cipher.encrypt_and_digest(self.data_128) + self.assertRaises(TypeError, cipher.encrypt_and_digest, b'') + + def test_invalid_multiple_decrypt_and_verify(self): + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + ct, tag = cipher.encrypt_and_digest(self.data_128) + + cipher = AES.new(self.key_256, AES.MODE_SIV, nonce=self.nonce_96) + cipher.decrypt_and_verify(ct, tag) + self.assertRaises(TypeError, cipher.decrypt_and_verify, ct, tag) + + +def transform(tv): + new_tv = [[unhexlify(x) for x in tv[0].split("-")]] + new_tv += [ unhexlify(x) for x in tv[1:5]] + if tv[5]: + nonce = unhexlify(tv[5]) + else: + nonce = None + new_tv += [ nonce ] + return new_tv + + +class TestVectors(unittest.TestCase): + """Class exercising the SIV test vectors found in RFC5297""" + + # This is a list of tuples with 5 items: + # + # 1. Header + '|' + plaintext + # 2. Header + '|' + ciphertext + '|' + MAC + # 3. AES-128 key + # 4. Description + # 5. Dictionary of parameters to be passed to AES.new(). + # It must include the nonce. + # + # A "Header" is a dash ('-') separated sequece of components. + # + test_vectors_hex = [ + ( + '101112131415161718191a1b1c1d1e1f2021222324252627', + '112233445566778899aabbccddee', + '40c02b9690c4dc04daef7f6afe5c', + '85632d07c6e8f37f950acd320a2ecc93', + 'fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff', + None + ), + ( + '00112233445566778899aabbccddeeffdeaddadadeaddadaffeeddccbbaa9988' + + '7766554433221100-102030405060708090a0', + '7468697320697320736f6d6520706c61696e7465787420746f20656e63727970' + + '74207573696e67205349562d414553', + 'cb900f2fddbe404326601965c889bf17dba77ceb094fa663b7a3f748ba8af829' + + 'ea64ad544a272e9c485b62a3fd5c0d', + '7bdb6e3b432667eb06f4d14bff2fbd0f', + '7f7e7d7c7b7a79787776757473727170404142434445464748494a4b4c4d4e4f', + '09f911029d74e35bd84156c5635688c0' + ), + ] + + test_vectors = [ transform(tv) for tv in test_vectors_hex ] + + def runTest(self): + for assoc_data, pt, ct, mac, key, nonce in self.test_vectors: + + # Encrypt + cipher = AES.new(key, AES.MODE_SIV, nonce=nonce) + for x in assoc_data: + cipher.update(x) + ct2, mac2 = cipher.encrypt_and_digest(pt) + self.assertEqual(ct, ct2) + self.assertEqual(mac, mac2) + + # Decrypt + cipher = AES.new(key, AES.MODE_SIV, nonce=nonce) + for x in assoc_data: + cipher.update(x) + pt2 = cipher.decrypt_and_verify(ct, mac) + self.assertEqual(pt, pt2) + + +class TestVectorsWycheproof(unittest.TestCase): + + def __init__(self): + unittest.TestCase.__init__(self) + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, "aes_siv_cmac_test.json"), "rt") as file_in: + tv_tree = json.load(file_in) + + class TestVector(object): + pass + self.tv = [] + + for group in tv_tree['testGroups']: + for test in group['tests']: + tv = TestVector() + + tv.id = test['tcId'] + for attr in 'key', 'aad', 'msg', 'ct': + setattr(tv, attr, unhexlify(test[attr])) + tv.valid = test['result'] != "invalid" + self.tv.append(tv) + + def shortDescription(self): + return self._id + + def test_encrypt(self, tv): + self._id = "Wycheproof Encrypt AES-SIV Test #" + str(tv.id) + + cipher = AES.new(tv.key, AES.MODE_SIV) + cipher.update(tv.aad) + ct, tag = cipher.encrypt_and_digest(tv.msg) + if tv.valid: + self.assertEqual(tag + ct, tv.ct) + + def test_decrypt(self, tv): + self._id = "Wycheproof Decrypt AES_SIV Test #" + str(tv.id) + + cipher = AES.new(tv.key, AES.MODE_SIV) + cipher.update(tv.aad) + try: + pt = cipher.decrypt_and_verify(tv.ct[16:], tv.ct[:16]) + except ValueError: + assert not tv.valid + else: + assert tv.valid + self.assertEqual(pt, tv.msg) + + def runTest(self): + + for tv in self.tv: + self.test_encrypt(tv) + self.test_decrypt(tv) + + +def get_tests(config={}): + wycheproof_warnings = config.get('wycheproof_warnings') + + tests = [] + tests += list_test_cases(SivTests) + tests += list_test_cases(SivFSMTests) + tests += [ TestVectors() ] + tests += [ TestVectorsWycheproof() ] + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_Salsa20.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_Salsa20.py new file mode 100644 index 000000000..c0e2f601e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_Salsa20.py @@ -0,0 +1,373 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/Salsa20.py: Self-test for the Salsa20 stream cipher +# +# Written in 2013 by Fabrizio Tarizzo +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Cipher.Salsa20""" + +import unittest + +from Crypto.Util.py3compat import bchr, _memoryview + +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Cipher import Salsa20 + +from .common import make_stream_tests + +# This is a list of (plaintext, ciphertext, key[, description[, params]]) +# tuples. +test_data = [ + # Test vectors are taken from + # http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/verified.test-vectors + ( '00' * 512, + '4dfa5e481da23ea09a31022050859936da52fcee218005164f267cb65f5cfd7f' + + '2b4f97e0ff16924a52df269515110a07f9e460bc65ef95da58f740b7d1dbb0aa' + + 'd64cec189c7eb8c6bbf3d7376c80a481d43e628701f6a27afb9fe23919f24114' + + '8db44f70d7063efcc3dd55a0893a613c3c6fe1c127bd6f59910589293bb6ef9e' + + 'e24819066dee1a64f49b0bbad5988635272b169af861f85df881939f29ada6fd' + + '0241410e8d332ae4798d929434a2630de451ec4e0169694cbaa7ebb121ea6a2b' + + 'da9c1581f429e0a00f7d67e23b730676783b262e8eb43a25f55fb90b3e753aef' + + '8c6713ec66c51881111593ccb3e8cb8f8de124080501eeeb389c4bcb6977cf95' + + '7d5789631eb4554400e1e025935dfa7b3e9039d61bdc58a8697d36815bf1985c' + + 'efdf7ae112e5bb81e37ecf0616ce7147fc08a93a367e08631f23c03b00a8da2f' + + 'aa5024e5c8d30aca43fc2d5082067b21b234bc741d68fb292c6012c3764ccee3' + + '1e364a5403e00cfee338a21a01e7d3cefd5a770ca0ab48c435ea6116435f7ad8' + + '30b217b49f978a68e207ed9f462af7fb195b2115fe8f24f152e4ddc32202d6f2' + + 'b52fafbcfbc202d8a259a611e901d3f62d065eb13f09bbc45cd45119b843efaa' + + 'b375703739daced4dd4059fd71c3c47fc2f9939670fad4a46066adcc6a564578' + + '3308b90ffb72be04a6b147cbe38cc0c3b9267c296a92a7c69873f9f263be9703', + '80000000000000000000000000000000', + '128 bits key, set 1, vector 0', + dict (iv='00'*8)), + + ( '00' * 512, + 'e3be8fdd8beca2e3ea8ef9475b29a6e7003951e1097a5c38d23b7a5fad9f6844' + + 'b22c97559e2723c7cbbd3fe4fc8d9a0744652a83e72a9c461876af4d7ef1a117' + + '8da2b74eef1b6283e7e20166abcae538e9716e4669e2816b6b20c5c356802001' + + 'cc1403a9a117d12a2669f456366d6ebb0f1246f1265150f793cdb4b253e348ae' + + '203d89bc025e802a7e0e00621d70aa36b7e07cb1e7d5b38d5e222b8b0e4b8407' + + '0142b1e29504767d76824850320b5368129fdd74e861b498e3be8d16f2d7d169' + + '57be81f47b17d9ae7c4ff15429a73e10acf250ed3a90a93c711308a74c6216a9' + + 'ed84cd126da7f28e8abf8bb63517e1ca98e712f4fb2e1a6aed9fdc73291faa17' + + '958211c4ba2ebd5838c635edb81f513a91a294e194f1c039aeec657dce40aa7e' + + '7c0af57cacefa40c9f14b71a4b3456a63e162ec7d8d10b8ffb1810d71001b618' + + '2f9f73da53b85405c11f7b2d890fa8ae0c7f2e926d8a98c7ec4e91b65120e988' + + '349631a700c6facec3471cb0413656e75e309456584084d7e12c5b43a41c43ed' + + '9a048abd9b880da65f6a665a20fe7b77cd292fe62cae644b7f7df69f32bdb331' + + '903e6505ce44fdc293920c6a9ec7057e23df7dad298f82ddf4efb7fdc7bfc622' + + '696afcfd0cddcc83c7e77f11a649d79acdc3354e9635ff137e929933a0bd6f53' + + '77efa105a3a4266b7c0d089d08f1e855cc32b15b93784a36e56a76cc64bc8477', + '8000000000000000000000000000000000000000000000000000000000000000', + '256 bits key, set 1, vector 0', + dict (iv='00'*8)), + + ( '00' * 512, + '169060ccb42bea7bee4d8012a02f3635eb7bca12859fa159cd559094b3507db8' + + '01735d1a1300102a9c9415546829cbd2021ba217b39b81d89c55b13d0c603359' + + '3f84159a3c84f4b4f4a0edcd9d38ff261a737909e0b66d68b5cac496f3a5be99' + + 'cb12c321ab711afaab36cc0947955e1a9bb952ed54425e7711279fbc81bb83f5' + + '6e55cea44e6daddb05858a153ea6213b3350c12aa1a83ef2726f09485fa71790' + + 'f9b9f922c7dda1113b1f9d56658ed3402803f511bc1f122601d5e7f0ff036e23' + + '23ef24bb24195b9fd574823cd8a40c29d86bd35c191e2038779ff696c712b6d8' + + '2e7014dbe1ac5d527af076c088c4a8d44317958189f6ef54933a7e0816b5b916' + + 'd8f12ed8afe9422b85e5cc9b8adec9d6cfabe8dbc1082bccc02f5a7266aa074c' + + 'a284e583a35837798cc0e69d4ce937653b8cdd65ce414b89138615ccb165ad19' + + '3c6b9c3d05eef4be921a10ea811fe61d11c6867600188e065daff90b509ec56b' + + 'd41e7e8968c478c78d590c2d2ee24ea009c8f49bc3d81672cfc47895a9e21c9a' + + '471ebf8e294bee5d2de436ac8d052bf31111b345f1da23c3a4d13b9fc5f0900a' + + 'a298f98f538973b8fad40d4d159777de2cfe2a3dead1645ddb49794827dba040' + + 'f70a0ff4ecd155e0f033604693a51e2363880e2ecf98699e7174af7c2c6b0fc6' + + '59ae329599a3949272a37b9b2183a0910922a3f325ae124dcbdd735364055ceb', + '09090909090909090909090909090909', + '128 bits key, set 2, vector 9', + dict (iv='00'*8)), + + ( '00' * 512, + '7041e747ceb22ed7812985465f50333124f971da1c5d6efe5ca201b886f31046' + + 'e757e5c3ec914f60ed1f6bce2819b6810953f12b8ba1199bf82d746a8b8a88f1' + + '142002978ec4c35b95dc2c82990f9e847a0ab45f2ca72625f5190c820f29f3aa' + + 'f5f0b5572b06b70a144f2a240c3b3098d4831fa1ce1459f8d1df226a6a79b0ab' + + '41e91799ef31b5ff3d756c19126b19025858ee70fbd69f2be955cb011c005e31' + + '32b271b378f39b0cb594e95c99ce6ff17735a541891845bbf0450afcb4a850b9' + + '4ee90afb713ae7e01295c74381180a3816d7020d5a396c0d97aaa783eaabb6ec' + + '44d5111157f2212d1b1b8fca7893e8b520cd482418c272ab119b569a2b9598eb' + + '355624d12e79adab81153b58cd22eaf1b2a32395dedc4a1c66f4d274070b9800' + + 'ea95766f0245a8295f8aadb36ddbbdfa936417c8dbc6235d19494036964d3e70' + + 'b125b0f800c3d53881d9d11e7970f827c2f9556935cd29e927b0aceb8cae5fd4' + + '0fd88a8854010a33db94c96c98735858f1c5df6844f864feaca8f41539313e7f' + + '3c0610214912cd5e6362197646207e2d64cd5b26c9dfe0822629dcbeb16662e8' + + '9ff5bf5cf2e499138a5e27bd5027329d0e68ddf53103e9e409523662e27f61f6' + + '5cf38c1232023e6a6ef66c315bcb2a4328642faabb7ca1e889e039e7c444b34b' + + 'b3443f596ac730f3df3dfcdb343c307c80f76e43e8898c5e8f43dc3bb280add0', + '0909090909090909090909090909090909090909090909090909090909090909', + '256 bits key, set 2, vector 9', + dict (iv='00'*8)), + + ( '00' * 1024, + '71daee5142d0728b41b6597933ebf467e43279e30978677078941602629cbf68' + + 'b73d6bd2c95f118d2b3e6ec955dabb6dc61c4143bc9a9b32b99dbe6866166dc0' + + '8631b7d6553050303d7252c264d3a90d26c853634813e09ad7545a6ce7e84a5d' + + 'fc75ec43431207d5319970b0faadb0e1510625bb54372c8515e28e2accf0a993' + + '0ad15f431874923d2a59e20d9f2a5367dba6051564f150287debb1db536ff9b0' + + '9ad981f25e5010d85d76ee0c305f755b25e6f09341e0812f95c94f42eead346e' + + '81f39c58c5faa2c88953dc0cac90469db2063cb5cdb22c9eae22afbf0506fca4' + + '1dc710b846fbdfe3c46883dd118f3a5e8b11b6afd9e71680d8666557301a2daa' + + 'fb9496c559784d35a035360885f9b17bd7191977deea932b981ebdb29057ae3c' + + '92cfeff5e6c5d0cb62f209ce342d4e35c69646ccd14e53350e488bb310a32f8b' + + '0248e70acc5b473df537ced3f81a014d4083932bedd62ed0e447b6766cd2604b' + + '706e9b346c4468beb46a34ecf1610ebd38331d52bf33346afec15eefb2a7699e' + + '8759db5a1f636a48a039688e39de34d995df9f27ed9edc8dd795e39e53d9d925' + + 'b278010565ff665269042f05096d94da3433d957ec13d2fd82a0066283d0d1ee' + + 'b81bf0ef133b7fd90248b8ffb499b2414cd4fa003093ff0864575a43749bf596' + + '02f26c717fa96b1d057697db08ebc3fa664a016a67dcef8807577cc3a09385d3' + + 'f4dc79b34364bb3b166ce65fe1dd28e3950fe6fa81063f7b16ce1c0e6daac1f8' + + '188455b77752045e863c9b256ad92bc6e2d08314c5bba191c274f42dfbb3d652' + + 'bb771956555e880f84cd8b827a4c5a52f3a099fa0259bd4aac3efd541f191170' + + '4412d6e85fbcc628b335875b9fef24807f6e1bc66c3186159e1e7f5a13913e02' + + 'd241ce2efdbcaa275039fb14eac5923d17ffbc7f1abd3b45e92127575bfbabf9' + + '3a257ebef0aa1437b326e41b585af572f7239c33b32981a1577a4f629b027e1e' + + 'b49d58cc497e944d79cef44357c2bf25442ab779651e991147bf79d6fd3a8868' + + '0cd3b1748e07fd10d78aceef6db8a5e563570d40127f754146c34a440f2a991a' + + '23fa39d365141f255041f2135c5cba4373452c114da1801bacca38610e3a6524' + + '2b822d32de4ab5a7d3cf9b61b37493c863bd12e2cae10530cddcda2cb7a5436b' + + 'ef8988d4d24e8cdc31b2d2a3586340bc5141f8f6632d0dd543bfed81eb471ba1' + + 'f3dc2225a15ffddcc03eb48f44e27e2aa390598adf83f15c6608a5f18d4dfcf0' + + 'f547d467a4d70b281c83a595d7660d0b62de78b9cca023cca89d7b1f83484638' + + '0e228c25f049184a612ef5bb3d37454e6cfa5b10dceda619d898a699b3c8981a' + + '173407844bb89b4287bf57dd6600c79e352c681d74b03fa7ea0d7bf6ad69f8a6' + + '8ecb001963bd2dd8a2baa0083ec09751cd9742402ad716be16d5c052304cfca1', + '0F62B5085BAE0154A7FA4DA0F34699EC', + '128 bits key, Set 6, vector# 3', + dict (iv='288FF65DC42B92F9')), + + ( '00' * 1024, + '5e5e71f90199340304abb22a37b6625bf883fb89ce3b21f54a10b81066ef87da' + + '30b77699aa7379da595c77dd59542da208e5954f89e40eb7aa80a84a6176663f' + + 'd910cde567cf1ff60f7040548d8f376bfd1f44c4774aac37410ede7d5c3463fc' + + '4508a603201d8495ad257894e5eb1914b53e8da5e4bf2bc83ac87ce55cc67df7' + + '093d9853d2a83a9c8be969175df7c807a17156df768445dd0874a9271c6537f5' + + 'ce0466473582375f067fa4fcdaf65dbc0139cd75e8c21a482f28c0fb8c3d9f94' + + '22606cc8e88fe28fe73ec3cb10ff0e8cc5f2a49e540f007265c65b7130bfdb98' + + '795b1df9522da46e48b30e55d9f0d787955ece720205b29c85f3ad9be33b4459' + + '7d21b54d06c9a60b04b8e640c64e566e51566730e86cf128ab14174f91bd8981' + + 'a6fb00fe587bbd6c38b5a1dfdb04ea7e61536fd229f957aa9b070ca931358e85' + + '11b92c53c523cb54828fb1513c5636fa9a0645b4a3c922c0db94986d92f314ff' + + '7852c03b231e4dceea5dd8cced621869cff818daf3c270ff3c8be2e5c74be767' + + 'a4e1fdf3327a934fe31e46df5a74ae2021cee021d958c4f615263d99a5ddae7f' + + 'eab45e6eccbafefe4761c57750847b7e75ee2e2f14333c0779ce4678f47b1e1b' + + '760a03a5f17d6e91d4b42313b3f1077ee270e432fe04917ed1fc8babebf7c941' + + '42b80dfb44a28a2a3e59093027606f6860bfb8c2e5897078cfccda7314c70035' + + 'f137de6f05daa035891d5f6f76e1df0fce1112a2ff0ac2bd3534b5d1bf4c7165' + + 'fb40a1b6eacb7f295711c4907ae457514a7010f3a342b4427593d61ba993bc59' + + '8bd09c56b9ee53aac5dd861fa4b4bb53888952a4aa9d8ca8671582de716270e1' + + '97375b3ee49e51fa2bf4ef32015dd9a764d966aa2ae541592d0aa650849e99ca' + + '5c6c39beebf516457cc32fe4c105bff314a12f1ec94bdf4d626f5d9b1cbbde42' + + 'e5733f0885765ba29e2e82c829d312f5fc7e180679ac84826c08d0a644b326d0' + + '44da0fdcc75fa53cfe4ced0437fa4df5a7ecbca8b4cb7c4a9ecf9a60d00a56eb' + + '81da52adc21f508dbb60a9503a3cc94a896616d86020d5b0e5c637329b6d396a' + + '41a21ba2c4a9493cf33fa2d4f10f77d5b12fdad7e478ccfe79b74851fc96a7ca' + + '6320c5efd561a222c0ab0fb44bbda0e42149611d2262bb7d1719150fa798718a' + + '0eec63ee297cad459869c8b0f06c4e2b56cbac03cd2605b2a924efedf85ec8f1' + + '9b0b6c90e7cbd933223ffeb1b3a3f9677657905829294c4c70acdb8b0891b47d' + + '0875d0cd6c0f4efe2917fc44b581ef0d1e4280197065d07da34ab33283364552' + + 'efad0bd9257b059acdd0a6f246812feb69e7e76065f27dbc2eee94da9cc41835' + + 'bf826e36e5cebe5d4d6a37a6a666246290ce51a0c082718ab0ec855668db1add' + + 'a658e5f257e0db39384d02e6145c4c00eaa079098f6d820d872de711b6ed08cf', + '0F62B5085BAE0154A7FA4DA0F34699EC3F92E5388BDE3184D72A7DD02376C91C', + '256 bits key, Set 6, vector# 3', + dict (iv='288FF65DC42B92F9')), + +] + + +class KeyLength(unittest.TestCase): + + def runTest(self): + + nonce = bchr(0) * 8 + for key_length in (15, 30, 33): + key = bchr(1) * key_length + self.assertRaises(ValueError, Salsa20.new, key, nonce) + + +class NonceTests(unittest.TestCase): + + def test_invalid_nonce_length(self): + key = bchr(1) * 16 + self.assertRaises(ValueError, Salsa20.new, key, bchr(0) * 7) + self.assertRaises(ValueError, Salsa20.new, key, bchr(0) * 9) + + def test_default_nonce(self): + + cipher1 = Salsa20.new(bchr(1) * 16) + cipher2 = Salsa20.new(bchr(1) * 16) + self.assertEqual(len(cipher1.nonce), 8) + self.assertNotEqual(cipher1.nonce, cipher2.nonce) + + +class ByteArrayTest(unittest.TestCase): + """Verify we can encrypt or decrypt bytearrays""" + + def runTest(self): + + data = b"0123" + key = b"9" * 32 + nonce = b"t" * 8 + + # Encryption + data_ba = bytearray(data) + key_ba = bytearray(key) + nonce_ba = bytearray(nonce) + + cipher1 = Salsa20.new(key=key, nonce=nonce) + ct = cipher1.encrypt(data) + + cipher2 = Salsa20.new(key=key_ba, nonce=nonce_ba) + key_ba[:1] = b'\xFF' + nonce_ba[:1] = b'\xFF' + ct_test = cipher2.encrypt(data_ba) + + self.assertEqual(ct, ct_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decryption + key_ba = bytearray(key) + nonce_ba = bytearray(nonce) + ct_ba = bytearray(ct) + + cipher3 = Salsa20.new(key=key_ba, nonce=nonce_ba) + key_ba[:1] = b'\xFF' + nonce_ba[:1] = b'\xFF' + pt_test = cipher3.decrypt(ct_ba) + + self.assertEqual(data, pt_test) + + +class MemoryviewTest(unittest.TestCase): + """Verify we can encrypt or decrypt bytearrays""" + + def runTest(self): + + data = b"0123" + key = b"9" * 32 + nonce = b"t" * 8 + + # Encryption + data_mv = memoryview(bytearray(data)) + key_mv = memoryview(bytearray(key)) + nonce_mv = memoryview(bytearray(nonce)) + + cipher1 = Salsa20.new(key=key, nonce=nonce) + ct = cipher1.encrypt(data) + + cipher2 = Salsa20.new(key=key_mv, nonce=nonce_mv) + key_mv[:1] = b'\xFF' + nonce_mv[:1] = b'\xFF' + ct_test = cipher2.encrypt(data_mv) + + self.assertEqual(ct, ct_test) + self.assertEqual(cipher1.nonce, cipher2.nonce) + + # Decryption + key_mv = memoryview(bytearray(key)) + nonce_mv = memoryview(bytearray(nonce)) + ct_mv = memoryview(bytearray(ct)) + + cipher3 = Salsa20.new(key=key_mv, nonce=nonce_mv) + key_mv[:1] = b'\xFF' + nonce_mv[:1] = b'\xFF' + pt_test = cipher3.decrypt(ct_mv) + + self.assertEqual(data, pt_test) + + +class TestOutput(unittest.TestCase): + + def runTest(self): + # Encrypt/Decrypt data and test output parameter + + key = b'4' * 32 + nonce = b'5' * 8 + cipher = Salsa20.new(key=key, nonce=nonce) + + pt = b'5' * 16 + ct = cipher.encrypt(pt) + + output = bytearray(16) + cipher = Salsa20.new(key=key, nonce=nonce) + res = cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + self.assertEqual(res, None) + + cipher = Salsa20.new(key=key, nonce=nonce) + res = cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + self.assertEqual(res, None) + + import sys + if sys.version[:3] != '2.6': + output = memoryview(bytearray(16)) + cipher = Salsa20.new(key=key, nonce=nonce) + cipher.encrypt(pt, output=output) + self.assertEqual(ct, output) + + cipher = Salsa20.new(key=key, nonce=nonce) + cipher.decrypt(ct, output=output) + self.assertEqual(pt, output) + + cipher = Salsa20.new(key=key, nonce=nonce) + self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) + + cipher = Salsa20.new(key=key, nonce=nonce) + self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) + + shorter_output = bytearray(7) + + cipher = Salsa20.new(key=key, nonce=nonce) + self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) + + cipher = Salsa20.new(key=key, nonce=nonce) + self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) + + +def get_tests(config={}): + tests = make_stream_tests(Salsa20, "Salsa20", test_data) + tests.append(KeyLength()) + tests += list_test_cases(NonceTests) + tests.append(ByteArrayTest()) + + import sys + if sys.version[:3] != "2.6": + tests.append(MemoryviewTest()) + + tests.append(TestOutput()) + + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py new file mode 100644 index 000000000..0a5dfdc13 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py @@ -0,0 +1,191 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/test_pkcs1_15.py: Self-test for PKCS#1 v1.5 encryption +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from __future__ import print_function + +import unittest + +from Crypto.PublicKey import RSA +from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex +from Crypto import Random +from Crypto.Cipher import PKCS1_v1_5 as PKCS +from Crypto.Util.py3compat import b +from Crypto.Util.number import bytes_to_long, long_to_bytes + +def rws(t): + """Remove white spaces, tabs, and new lines from a string""" + for c in ['\n', '\t', ' ']: + t = t.replace(c,'') + return t + +def t2b(t): + """Convert a text string with bytes in hex form to a byte string""" + clean = b(rws(t)) + if len(clean)%2 == 1: + raise ValueError("Even number of characters expected") + return a2b_hex(clean) + +class PKCS1_15_Tests(unittest.TestCase): + + def setUp(self): + self.rng = Random.new().read + self.key1024 = RSA.generate(1024, self.rng) + + # List of tuples with test data for PKCS#1 v1.5. + # Each tuple is made up by: + # Item #0: dictionary with RSA key component, or key to import + # Item #1: plaintext + # Item #2: ciphertext + # Item #3: random data + + _testData = ( + + # + # Generated with openssl 0.9.8o + # + ( + # Private key + '''-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDAiAnvIAOvqVwJTaYzsKnefZftgtXGE2hPJppGsWl78yz9jeXY +W/FxX/gTPURArNhdnhP6n3p2ZaDIBrO2zizbgIXs0IsljTTcr4vnI8fMXzyNUOjA +zP3nzMqZDZK6757XQAobOssMkBFqRWwilT/3DsBhRpl3iMUhF+wvpTSHewIDAQAB +AoGAC4HV/inOrpgTvSab8Wj0riyZgQOZ3U3ZpSlsfR8ra9Ib9Uee3jCYnKscu6Gk +y6zI/cdt8EPJ4PuwAWSNJzbpbVaDvUq25OD+CX8/uRT08yBS4J8TzBitZJTD4lS7 +atdTnKT0Wmwk+u8tDbhvMKwnUHdJLcuIsycts9rwJVapUtkCQQDvDpx2JMun0YKG +uUttjmL8oJ3U0m3ZvMdVwBecA0eebZb1l2J5PvI3EJD97eKe91Nsw8T3lwpoN40k +IocSVDklAkEAzi1HLHE6EzVPOe5+Y0kGvrIYRRhncOb72vCvBZvD6wLZpQgqo6c4 +d3XHFBBQWA6xcvQb5w+VVEJZzw64y25sHwJBAMYReRl6SzL0qA0wIYrYWrOt8JeQ +8mthulcWHXmqTgC6FEXP9Es5GD7/fuKl4wqLKZgIbH4nqvvGay7xXLCXD/ECQH9a +1JYNMtRen5unSAbIOxRcKkWz92F0LKpm9ZW/S9vFHO+mBcClMGoKJHiuQxLBsLbT +NtEZfSJZAeS2sUtn3/0CQDb2M2zNBTF8LlM0nxmh0k9VGm5TVIyBEMcipmvOgqIs +HKukWBcq9f/UOmS0oEhai/6g+Uf7VHJdWaeO5LzuvwU= +-----END RSA PRIVATE KEY-----''', + # Plaintext + '''THIS IS PLAINTEXT\x0A''', + # Ciphertext + '''3f dc fd 3c cd 5c 9b 12 af 65 32 e3 f7 d0 da 36 + 8f 8f d9 e3 13 1c 7f c8 b3 f9 c1 08 e4 eb 79 9c + 91 89 1f 96 3b 94 77 61 99 a4 b1 ee 5d e6 17 c9 + 5d 0a b5 63 52 0a eb 00 45 38 2a fb b0 71 3d 11 + f7 a1 9e a7 69 b3 af 61 c0 bb 04 5b 5d 4b 27 44 + 1f 5b 97 89 ba 6a 08 95 ee 4f a2 eb 56 64 e5 0f + da 7c f9 9a 61 61 06 62 ed a0 bc 5f aa 6c 31 78 + 70 28 1a bb 98 3c e3 6a 60 3c d1 0b 0f 5a f4 75''', + # Random data + '''eb d7 7d 86 a4 35 23 a3 54 7e 02 0b 42 1d + 61 6c af 67 b8 4e 17 56 80 66 36 04 64 34 26 8a + 47 dd 44 b3 1a b2 17 60 f4 91 2e e2 b5 95 64 cc + f9 da c8 70 94 54 86 4c ef 5b 08 7d 18 c4 ab 8d + 04 06 33 8f ca 15 5f 52 60 8a a1 0c f5 08 b5 4c + bb 99 b8 94 25 04 9c e6 01 75 e6 f9 63 7a 65 61 + 13 8a a7 47 77 81 ae 0d b8 2c 4d 50 a5''' + ), + ) + + def testEncrypt1(self): + for test in self._testData: + # Build the key + key = RSA.importKey(test[0]) + # RNG that takes its random numbers from a pool given + # at initialization + class randGen: + def __init__(self, data): + self.data = data + self.idx = 0 + def __call__(self, N): + r = self.data[self.idx:self.idx+N] + self.idx += N + return r + # The real test + cipher = PKCS.new(key, randfunc=randGen(t2b(test[3]))) + ct = cipher.encrypt(b(test[1])) + self.assertEqual(ct, t2b(test[2])) + + def testEncrypt2(self): + # Verify that encryption fail if plaintext is too long + pt = '\x00'*(128-11+1) + cipher = PKCS.new(self.key1024) + self.assertRaises(ValueError, cipher.encrypt, pt) + + def testVerify1(self): + for test in self._testData: + # Build the key + key = RSA.importKey(test[0]) + # The real test + cipher = PKCS.new(key) + pt = cipher.decrypt(t2b(test[2]), "---") + self.assertEqual(pt, b(test[1])) + + def testVerify2(self): + # Verify that decryption fails if ciphertext is not as long as + # RSA modulus + cipher = PKCS.new(self.key1024) + self.assertRaises(ValueError, cipher.decrypt, '\x00'*127, "---") + self.assertRaises(ValueError, cipher.decrypt, '\x00'*129, "---") + + # Verify that decryption fails if there are less then 8 non-zero padding + # bytes + pt = b('\x00\x02' + '\xFF'*7 + '\x00' + '\x45'*118) + pt_int = bytes_to_long(pt) + ct_int = self.key1024._encrypt(pt_int) + ct = long_to_bytes(ct_int, 128) + self.assertEqual("---", cipher.decrypt(ct, "---")) + + def testEncryptVerify1(self): + # Encrypt/Verify messages of length [0..RSAlen-11] + # and therefore padding [8..117] + for pt_len in range(0,128-11+1): + pt = self.rng(pt_len) + cipher = PKCS.new(self.key1024) + ct = cipher.encrypt(pt) + pt2 = cipher.decrypt(ct, "---") + self.assertEqual(pt,pt2) + + def testByteArray(self): + pt = b"XER" + cipher = PKCS.new(self.key1024) + ct = cipher.encrypt(bytearray(pt)) + pt2 = cipher.decrypt(bytearray(ct), "---") + self.assertEqual(pt, pt2) + + def testMemoryview(self): + pt = b"XER" + cipher = PKCS.new(self.key1024) + ct = cipher.encrypt(memoryview(bytearray(pt))) + pt2 = cipher.decrypt(memoryview(bytearray(ct)), "---") + self.assertEqual(pt, pt2) + + import sys + if sys.version[:3] == "2.6": + del testMemoryview + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(PKCS1_15_Tests) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py b/lib27/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py new file mode 100644 index 000000000..ee8c2e656 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py @@ -0,0 +1,386 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Cipher/test_pkcs1_oaep.py: Self-test for PKCS#1 OAEP encryption +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +import unittest + +from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex + +from Crypto.Util.py3compat import b, bchr +from Crypto.PublicKey import RSA +from Crypto.Cipher import PKCS1_OAEP as PKCS +from Crypto.Hash import MD2,MD5,SHA1,SHA256,RIPEMD160 +from Crypto import Random + +def rws(t): + """Remove white spaces, tabs, and new lines from a string""" + for c in ['\n', '\t', ' ']: + t = t.replace(c,'') + return t + +def t2b(t): + """Convert a text string with bytes in hex form to a byte string""" + clean = rws(t) + if len(clean)%2 == 1: + raise ValueError("Even number of characters expected") + return a2b_hex(clean) + +class PKCS1_OAEP_Tests(unittest.TestCase): + + def setUp(self): + self.rng = Random.new().read + self.key1024 = RSA.generate(1024, self.rng) + + # List of tuples with test data for PKCS#1 OAEP + # Each tuple is made up by: + # Item #0: dictionary with RSA key component + # Item #1: plaintext + # Item #2: ciphertext + # Item #3: random data (=seed) + # Item #4: hash object + + _testData = ( + + # + # From in oaep-int.txt to be found in + # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip + # + ( + # Private key + { + 'n':'''bb f8 2f 09 06 82 ce 9c 23 38 ac 2b 9d a8 71 f7 + 36 8d 07 ee d4 10 43 a4 40 d6 b6 f0 74 54 f5 1f + b8 df ba af 03 5c 02 ab 61 ea 48 ce eb 6f cd 48 + 76 ed 52 0d 60 e1 ec 46 19 71 9d 8a 5b 8b 80 7f + af b8 e0 a3 df c7 37 72 3e e6 b4 b7 d9 3a 25 84 + ee 6a 64 9d 06 09 53 74 88 34 b2 45 45 98 39 4e + e0 aa b1 2d 7b 61 a5 1f 52 7a 9a 41 f6 c1 68 7f + e2 53 72 98 ca 2a 8f 59 46 f8 e5 fd 09 1d bd cb''', + # Public key + 'e':'11', + # In the test vector, only p and q were given... + # d is computed offline as e^{-1} mod (p-1)(q-1) + 'd':'''a5dafc5341faf289c4b988db30c1cdf83f31251e0 + 668b42784813801579641b29410b3c7998d6bc465745e5c3 + 92669d6870da2c082a939e37fdcb82ec93edac97ff3ad595 + 0accfbc111c76f1a9529444e56aaf68c56c092cd38dc3bef + 5d20a939926ed4f74a13eddfbe1a1cecc4894af9428c2b7b + 8883fe4463a4bc85b1cb3c1''' + } + , + # Plaintext + '''d4 36 e9 95 69 fd 32 a7 c8 a0 5b bc 90 d3 2c 49''', + # Ciphertext + '''12 53 e0 4d c0 a5 39 7b b4 4a 7a b8 7e 9b f2 a0 + 39 a3 3d 1e 99 6f c8 2a 94 cc d3 00 74 c9 5d f7 + 63 72 20 17 06 9e 52 68 da 5d 1c 0b 4f 87 2c f6 + 53 c1 1d f8 23 14 a6 79 68 df ea e2 8d ef 04 bb + 6d 84 b1 c3 1d 65 4a 19 70 e5 78 3b d6 eb 96 a0 + 24 c2 ca 2f 4a 90 fe 9f 2e f5 c9 c1 40 e5 bb 48 + da 95 36 ad 87 00 c8 4f c9 13 0a de a7 4e 55 8d + 51 a7 4d df 85 d8 b5 0d e9 68 38 d6 06 3e 09 55''', + # Random + '''aa fd 12 f6 59 ca e6 34 89 b4 79 e5 07 6d de c2 + f0 6c b5 8f''', + # Hash + SHA1, + ), + + # + # From in oaep-vect.txt to be found in Example 1.1 + # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip + # + ( + # Private key + { + 'n':'''a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4 + 91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab + c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85 + 12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72 + f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97 + c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14 + 8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24 + 76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb''', + 'e':'''01 00 01''', + 'd':'''53 33 9c fd b7 9f c8 46 6a 65 5c 73 16 ac a8 5c + 55 fd 8f 6d d8 98 fd af 11 95 17 ef 4f 52 e8 fd + 8e 25 8d f9 3f ee 18 0f a0 e4 ab 29 69 3c d8 3b + 15 2a 55 3d 4a c4 d1 81 2b 8b 9f a5 af 0e 7f 55 + fe 73 04 df 41 57 09 26 f3 31 1f 15 c4 d6 5a 73 + 2c 48 31 16 ee 3d 3d 2d 0a f3 54 9a d9 bf 7c bf + b7 8a d8 84 f8 4d 5b eb 04 72 4d c7 36 9b 31 de + f3 7d 0c f5 39 e9 cf cd d3 de 65 37 29 ea d5 d1 ''' + } + , + # Plaintext + '''66 28 19 4e 12 07 3d b0 3b a9 4c da 9e f9 53 23 + 97 d5 0d ba 79 b9 87 00 4a fe fe 34''', + # Ciphertext + '''35 4f e6 7b 4a 12 6d 5d 35 fe 36 c7 77 79 1a 3f + 7b a1 3d ef 48 4e 2d 39 08 af f7 22 fa d4 68 fb + 21 69 6d e9 5d 0b e9 11 c2 d3 17 4f 8a fc c2 01 + 03 5f 7b 6d 8e 69 40 2d e5 45 16 18 c2 1a 53 5f + a9 d7 bf c5 b8 dd 9f c2 43 f8 cf 92 7d b3 13 22 + d6 e8 81 ea a9 1a 99 61 70 e6 57 a0 5a 26 64 26 + d9 8c 88 00 3f 84 77 c1 22 70 94 a0 d9 fa 1e 8c + 40 24 30 9c e1 ec cc b5 21 00 35 d4 7a c7 2e 8a''', + # Random + '''18 b7 76 ea 21 06 9d 69 77 6a 33 e9 6b ad 48 e1 + dd a0 a5 ef''', + SHA1 + ), + + # + # From in oaep-vect.txt to be found in Example 2.1 + # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip + # + ( + # Private key + { + 'n':'''01 94 7c 7f ce 90 42 5f 47 27 9e 70 85 1f 25 d5 + e6 23 16 fe 8a 1d f1 93 71 e3 e6 28 e2 60 54 3e + 49 01 ef 60 81 f6 8c 0b 81 41 19 0d 2a e8 da ba + 7d 12 50 ec 6d b6 36 e9 44 ec 37 22 87 7c 7c 1d + 0a 67 f1 4b 16 94 c5 f0 37 94 51 a4 3e 49 a3 2d + de 83 67 0b 73 da 91 a1 c9 9b c2 3b 43 6a 60 05 + 5c 61 0f 0b af 99 c1 a0 79 56 5b 95 a3 f1 52 66 + 32 d1 d4 da 60 f2 0e da 25 e6 53 c4 f0 02 76 6f + 45''', + 'e':'''01 00 01''', + 'd':'''08 23 f2 0f ad b5 da 89 08 8a 9d 00 89 3e 21 fa + 4a 1b 11 fb c9 3c 64 a3 be 0b aa ea 97 fb 3b 93 + c3 ff 71 37 04 c1 9c 96 3c 1d 10 7a ae 99 05 47 + 39 f7 9e 02 e1 86 de 86 f8 7a 6d de fe a6 d8 cc + d1 d3 c8 1a 47 bf a7 25 5b e2 06 01 a4 a4 b2 f0 + 8a 16 7b 5e 27 9d 71 5b 1b 45 5b dd 7e ab 24 59 + 41 d9 76 8b 9a ce fb 3c cd a5 95 2d a3 ce e7 25 + 25 b4 50 16 63 a8 ee 15 c9 e9 92 d9 24 62 fe 39''' + }, + # Plaintext + '''8f f0 0c aa 60 5c 70 28 30 63 4d 9a 6c 3d 42 c6 + 52 b5 8c f1 d9 2f ec 57 0b ee e7''', + # Ciphertext + '''01 81 af 89 22 b9 fc b4 d7 9d 92 eb e1 98 15 99 + 2f c0 c1 43 9d 8b cd 49 13 98 a0 f4 ad 3a 32 9a + 5b d9 38 55 60 db 53 26 83 c8 b7 da 04 e4 b1 2a + ed 6a ac df 47 1c 34 c9 cd a8 91 ad dc c2 df 34 + 56 65 3a a6 38 2e 9a e5 9b 54 45 52 57 eb 09 9d + 56 2b be 10 45 3f 2b 6d 13 c5 9c 02 e1 0f 1f 8a + bb 5d a0 d0 57 09 32 da cf 2d 09 01 db 72 9d 0f + ef cc 05 4e 70 96 8e a5 40 c8 1b 04 bc ae fe 72 + 0e''', + # Random + '''8c 40 7b 5e c2 89 9e 50 99 c5 3e 8c e7 93 bf 94 + e7 1b 17 82''', + SHA1 + ), + + # + # From in oaep-vect.txt to be found in Example 10.1 + # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip + # + ( + # Private key + { + 'n':'''ae 45 ed 56 01 ce c6 b8 cc 05 f8 03 93 5c 67 4d + db e0 d7 5c 4c 09 fd 79 51 fc 6b 0c ae c3 13 a8 + df 39 97 0c 51 8b ff ba 5e d6 8f 3f 0d 7f 22 a4 + 02 9d 41 3f 1a e0 7e 4e be 9e 41 77 ce 23 e7 f5 + 40 4b 56 9e 4e e1 bd cf 3c 1f b0 3e f1 13 80 2d + 4f 85 5e b9 b5 13 4b 5a 7c 80 85 ad ca e6 fa 2f + a1 41 7e c3 76 3b e1 71 b0 c6 2b 76 0e de 23 c1 + 2a d9 2b 98 08 84 c6 41 f5 a8 fa c2 6b da d4 a0 + 33 81 a2 2f e1 b7 54 88 50 94 c8 25 06 d4 01 9a + 53 5a 28 6a fe b2 71 bb 9b a5 92 de 18 dc f6 00 + c2 ae ea e5 6e 02 f7 cf 79 fc 14 cf 3b dc 7c d8 + 4f eb bb f9 50 ca 90 30 4b 22 19 a7 aa 06 3a ef + a2 c3 c1 98 0e 56 0c d6 4a fe 77 95 85 b6 10 76 + 57 b9 57 85 7e fd e6 01 09 88 ab 7d e4 17 fc 88 + d8 f3 84 c4 e6 e7 2c 3f 94 3e 0c 31 c0 c4 a5 cc + 36 f8 79 d8 a3 ac 9d 7d 59 86 0e aa da 6b 83 bb''', + 'e':'''01 00 01''', + 'd':'''05 6b 04 21 6f e5 f3 54 ac 77 25 0a 4b 6b 0c 85 + 25 a8 5c 59 b0 bd 80 c5 64 50 a2 2d 5f 43 8e 59 + 6a 33 3a a8 75 e2 91 dd 43 f4 8c b8 8b 9d 5f c0 + d4 99 f9 fc d1 c3 97 f9 af c0 70 cd 9e 39 8c 8d + 19 e6 1d b7 c7 41 0a 6b 26 75 df bf 5d 34 5b 80 + 4d 20 1a dd 50 2d 5c e2 df cb 09 1c e9 99 7b be + be 57 30 6f 38 3e 4d 58 81 03 f0 36 f7 e8 5d 19 + 34 d1 52 a3 23 e4 a8 db 45 1d 6f 4a 5b 1b 0f 10 + 2c c1 50 e0 2f ee e2 b8 8d ea 4a d4 c1 ba cc b2 + 4d 84 07 2d 14 e1 d2 4a 67 71 f7 40 8e e3 05 64 + fb 86 d4 39 3a 34 bc f0 b7 88 50 1d 19 33 03 f1 + 3a 22 84 b0 01 f0 f6 49 ea f7 93 28 d4 ac 5c 43 + 0a b4 41 49 20 a9 46 0e d1 b7 bc 40 ec 65 3e 87 + 6d 09 ab c5 09 ae 45 b5 25 19 01 16 a0 c2 61 01 + 84 82 98 50 9c 1c 3b f3 a4 83 e7 27 40 54 e1 5e + 97 07 50 36 e9 89 f6 09 32 80 7b 52 57 75 1e 79''' + }, + # Plaintext + '''8b ba 6b f8 2a 6c 0f 86 d5 f1 75 6e 97 95 68 70 + b0 89 53 b0 6b 4e b2 05 bc 16 94 ee''', + # Ciphertext + '''53 ea 5d c0 8c d2 60 fb 3b 85 85 67 28 7f a9 15 + 52 c3 0b 2f eb fb a2 13 f0 ae 87 70 2d 06 8d 19 + ba b0 7f e5 74 52 3d fb 42 13 9d 68 c3 c5 af ee + e0 bf e4 cb 79 69 cb f3 82 b8 04 d6 e6 13 96 14 + 4e 2d 0e 60 74 1f 89 93 c3 01 4b 58 b9 b1 95 7a + 8b ab cd 23 af 85 4f 4c 35 6f b1 66 2a a7 2b fc + c7 e5 86 55 9d c4 28 0d 16 0c 12 67 85 a7 23 eb + ee be ff 71 f1 15 94 44 0a ae f8 7d 10 79 3a 87 + 74 a2 39 d4 a0 4c 87 fe 14 67 b9 da f8 52 08 ec + 6c 72 55 79 4a 96 cc 29 14 2f 9a 8b d4 18 e3 c1 + fd 67 34 4b 0c d0 82 9d f3 b2 be c6 02 53 19 62 + 93 c6 b3 4d 3f 75 d3 2f 21 3d d4 5c 62 73 d5 05 + ad f4 cc ed 10 57 cb 75 8f c2 6a ee fa 44 12 55 + ed 4e 64 c1 99 ee 07 5e 7f 16 64 61 82 fd b4 64 + 73 9b 68 ab 5d af f0 e6 3e 95 52 01 68 24 f0 54 + bf 4d 3c 8c 90 a9 7b b6 b6 55 32 84 eb 42 9f cc''', + # Random + '''47 e1 ab 71 19 fe e5 6c 95 ee 5e aa d8 6f 40 d0 + aa 63 bd 33''', + SHA1 + ), + ) + + def testEncrypt1(self): + # Verify encryption using all test vectors + for test in self._testData: + # Build the key + comps = [ int(rws(test[0][x]),16) for x in ('n','e') ] + key = RSA.construct(comps) + # RNG that takes its random numbers from a pool given + # at initialization + class randGen: + def __init__(self, data): + self.data = data + self.idx = 0 + def __call__(self, N): + r = self.data[self.idx:N] + self.idx += N + return r + # The real test + cipher = PKCS.new(key, test[4], randfunc=randGen(t2b(test[3]))) + ct = cipher.encrypt(t2b(test[1])) + self.assertEqual(ct, t2b(test[2])) + + def testEncrypt2(self): + # Verify that encryption fails if plaintext is too long + pt = '\x00'*(128-2*20-2+1) + cipher = PKCS.new(self.key1024) + self.assertRaises(ValueError, cipher.encrypt, pt) + + def testDecrypt1(self): + # Verify decryption using all test vectors + for test in self._testData: + # Build the key + comps = [ int(rws(test[0][x]),16) for x in ('n','e','d') ] + key = RSA.construct(comps) + # The real test + cipher = PKCS.new(key, test[4]) + pt = cipher.decrypt(t2b(test[2])) + self.assertEqual(pt, t2b(test[1])) + + def testDecrypt2(self): + # Simplest possible negative tests + for ct_size in (127,128,129): + cipher = PKCS.new(self.key1024) + self.assertRaises(ValueError, cipher.decrypt, bchr(0x00)*ct_size) + + def testEncryptDecrypt1(self): + # Encrypt/Decrypt messages of length [0..128-2*20-2] + for pt_len in range(0,128-2*20-2): + pt = self.rng(pt_len) + cipher = PKCS.new(self.key1024) + ct = cipher.encrypt(pt) + pt2 = cipher.decrypt(ct) + self.assertEqual(pt,pt2) + + def testEncryptDecrypt2(self): + # Helper function to monitor what's requested from RNG + global asked + def localRng(N): + global asked + asked += N + return self.rng(N) + # Verify that OAEP is friendly to all hashes + for hashmod in (MD2,MD5,SHA1,SHA256,RIPEMD160): + # Verify that encrypt() asks for as many random bytes + # as the hash output size + asked = 0 + pt = self.rng(40) + cipher = PKCS.new(self.key1024, hashmod, randfunc=localRng) + ct = cipher.encrypt(pt) + self.assertEqual(cipher.decrypt(ct), pt) + self.assertEqual(asked, hashmod.digest_size) + + def testEncryptDecrypt3(self): + # Verify that OAEP supports labels + pt = self.rng(35) + xlabel = self.rng(22) + cipher = PKCS.new(self.key1024, label=xlabel) + ct = cipher.encrypt(pt) + self.assertEqual(cipher.decrypt(ct), pt) + + def testEncryptDecrypt4(self): + # Verify that encrypt() uses the custom MGF + global mgfcalls + # Helper function to monitor what's requested from MGF + def newMGF(seed,maskLen): + global mgfcalls + mgfcalls += 1 + return bchr(0x00)*maskLen + mgfcalls = 0 + pt = self.rng(32) + cipher = PKCS.new(self.key1024, mgfunc=newMGF) + ct = cipher.encrypt(pt) + self.assertEqual(mgfcalls, 2) + self.assertEqual(cipher.decrypt(ct), pt) + + def testByteArray(self): + pt = b("XER") + cipher = PKCS.new(self.key1024) + ct = cipher.encrypt(bytearray(pt)) + pt2 = cipher.decrypt(bytearray(ct)) + self.assertEqual(pt, pt2) + + def testMemoryview(self): + pt = b("XER") + cipher = PKCS.new(self.key1024) + ct = cipher.encrypt(memoryview(bytearray(pt))) + pt2 = cipher.decrypt(memoryview(bytearray(ct))) + self.assertEqual(pt, pt2) + + import sys + if sys.version[:3] == "2.6": + del testMemoryview + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(PKCS1_OAEP_Tests) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox128.rsp new file mode 100644 index 000000000..8624a2bfd --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox128.rsp @@ -0,0 +1,95 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 9798c4640bad75c7c3227db910174e72 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 96ab5c2ff612d9dfaae8c31f30c42168 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 6a118a874519e64e9963798a503f1d35 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = cb9fceec81286ca3e989bd979b0cb284 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = b26aeb1874e47ca8358ff22378f09144 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 58c8e00b2631686d54eab84b91f0aca1 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e +PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 +PLAINTEXT = 9798c4640bad75c7c3227db910174e72 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 +PLAINTEXT = 96ab5c2ff612d9dfaae8c31f30c42168 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 +PLAINTEXT = 6a118a874519e64e9963798a503f1d35 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce +PLAINTEXT = cb9fceec81286ca3e989bd979b0cb284 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 +PLAINTEXT = b26aeb1874e47ca8358ff22378f09144 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf +PLAINTEXT = 58c8e00b2631686d54eab84b91f0aca1 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox192.rsp new file mode 100644 index 000000000..29898cc24 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox192.rsp @@ -0,0 +1,83 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:35 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 1b077a6af4b7f98229de786d7516b639 +CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 9c2d8842e5f48f57648205d39a239af1 +CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = bff52510095f518ecca60af4205444bb +CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 51719783d3185a535bd75adc65071ce1 +CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 26aa49dcfe7629a8901a69a9914e6dfd +CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 941a4773058224e1ef66d10e0a6ee782 +CIPHERTEXT = 067cd9d3749207791841562507fa9626 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72 +PLAINTEXT = 1b077a6af4b7f98229de786d7516b639 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d +PLAINTEXT = 9c2d8842e5f48f57648205d39a239af1 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440 +PLAINTEXT = bff52510095f518ecca60af4205444bb + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c +PLAINTEXT = 51719783d3185a535bd75adc65071ce1 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc +PLAINTEXT = 26aa49dcfe7629a8901a69a9914e6dfd + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 067cd9d3749207791841562507fa9626 +PLAINTEXT = 941a4773058224e1ef66d10e0a6ee782 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox256.rsp new file mode 100644 index 000000000..ad811435e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCGFSbox256.rsp @@ -0,0 +1,71 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:38 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 014730f80ac625fe84f026c60bfd547d +CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 0b24af36193ce4665f2825d7b4749c98 +CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 761c1fe41a18acf20d241650611d90f1 +CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 8a560769d605868ad80d819bdba03771 +CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 91fbef2d15a97816060bee1feaa49afe +CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7 +PLAINTEXT = 014730f80ac625fe84f026c60bfd547d + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04 +PLAINTEXT = 0b24af36193ce4665f2825d7b4749c98 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421 +PLAINTEXT = 761c1fe41a18acf20d241650611d90f1 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4 +PLAINTEXT = 8a560769d605868ad80d819bdba03771 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe +PLAINTEXT = 91fbef2d15a97816060bee1feaa49afe + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox128.rsp new file mode 100644 index 000000000..6bb67fd48 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox128.rsp @@ -0,0 +1,263 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 + +[DECRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox192.rsp new file mode 100644 index 000000000..4c64fc5b8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox192.rsp @@ -0,0 +1,299 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:35 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0956259c9cd5cfd0181cca53380cde06 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4e18424e591a3d5b6f0876f16f8594 + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93f3270cfc877ef17e106ce938979cb0 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f6c25ff41858561bb62f36492e93c29 + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e06556dcbb00b809a025047cff2a940 + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3608c344868e94555d23a120f8a5502d + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77da2021935b840b7f5dcc39132da9e5 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b7c24f825e3bf9873c9f14d39a0e6f4 + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64ebf95686b353508c90ecd8b6134316 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff558c5d27210b7929b73fc708eb4cf1 + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a2c3b2a818075490a7b4c14380f02702 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cfe4d74002696ccf7d87b14a2f9cafc9 + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2eafd86f63b109b91f5dbb3a3fb7e13 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b9fdd1c5975655f539998b306a324af + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd619e1cf204446112e0af2b9afa8f8c + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d4f0aae13c8fe9339fbf9e69ed0ad74d + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19c80ec4a6deb7e5ed1033dda933498f + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3cf5e1d21a17956d1dffad6a7c41c659 + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 69fd12e8505f8ded2fdcb197a121b362 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8aa584e2cc4d17417a97cb9a28ba29c8 + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = abc786fb1edb504580c4d882ef29a0c7 + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e19fb60a3e1de0166f483c97824a978 + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7656709538dd5fec41e0ce6a0f8e207d + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a67cf333b314d411d3c0ae6e1cfcd8f5 + +[DECRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0956259c9cd5cfd0181cca53380cde06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e4e18424e591a3d5b6f0876f16f8594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93f3270cfc877ef17e106ce938979cb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f6c25ff41858561bb62f36492e93c29 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e06556dcbb00b809a025047cff2a940 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3608c344868e94555d23a120f8a5502d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77da2021935b840b7f5dcc39132da9e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b7c24f825e3bf9873c9f14d39a0e6f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64ebf95686b353508c90ecd8b6134316 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff558c5d27210b7929b73fc708eb4cf1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +CIPHERTEXT = a2c3b2a818075490a7b4c14380f02702 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cfe4d74002696ccf7d87b14a2f9cafc9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2eafd86f63b109b91f5dbb3a3fb7e13 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b9fdd1c5975655f539998b306a324af +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd619e1cf204446112e0af2b9afa8f8c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d4f0aae13c8fe9339fbf9e69ed0ad74d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19c80ec4a6deb7e5ed1033dda933498f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3cf5e1d21a17956d1dffad6a7c41c659 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69fd12e8505f8ded2fdcb197a121b362 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8aa584e2cc4d17417a97cb9a28ba29c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = abc786fb1edb504580c4d882ef29a0c7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e19fb60a3e1de0166f483c97824a978 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7656709538dd5fec41e0ce6a0f8e207d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a67cf333b314d411d3c0ae6e1cfcd8f5 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox256.rsp new file mode 100644 index 000000000..696c33043 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCKeySbox256.rsp @@ -0,0 +1,203 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:38 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 46f2fb342d6f0ab477476fc501242c5f + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bf3b0a69aeb6657794f2901b1440ad4 + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 352065272169abf9856843927d0674fd + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4307456a9e67813b452e15fa8fffe398 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4663446607354989477a5c6f0f007ef4 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 531c2c38344578b84d50b3c917bbb6e1 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc6aec906323480005c58e7e1ab004ad + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a3944b95ca0b52043584ef02151926a8 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a74289fe73a4c123ca189ea1e1b49ad5 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b91d4ea4488644b56cf0812fa7fcf5fc + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 304f81ab61a80c2e743b94d5002a126b + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 649a71545378c783e368c9ade7114f6c + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 47cb030da2ab051dfc6c4bf6910d12bb + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 798c7c005dee432b2c8ea5dfa381ecc3 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 637c31dc2591a07636f646b72daabbe7 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 179a49c712154bbffbe6e7a84a18e220 + +[DECRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 46f2fb342d6f0ab477476fc501242c5f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bf3b0a69aeb6657794f2901b1440ad4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 352065272169abf9856843927d0674fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4307456a9e67813b452e15fa8fffe398 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4663446607354989477a5c6f0f007ef4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 531c2c38344578b84d50b3c917bbb6e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc6aec906323480005c58e7e1ab004ad +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3944b95ca0b52043584ef02151926a8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +CIPHERTEXT = a74289fe73a4c123ca189ea1e1b49ad5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b91d4ea4488644b56cf0812fa7fcf5fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 304f81ab61a80c2e743b94d5002a126b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 649a71545378c783e368c9ade7114f6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +CIPHERTEXT = 47cb030da2ab051dfc6c4bf6910d12bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 798c7c005dee432b2c8ea5dfa381ecc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 637c31dc2591a07636f646b72daabbe7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 179a49c712154bbffbe6e7a84a18e220 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT128.rsp new file mode 100644 index 000000000..dc2b19034 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT128.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 8809e7dd3a959ee5d8dbb13f501f2274 +IV = e5c0bb535d7d54572ad06d170a0e58ae +PLAINTEXT = 1fd4ee65603e6130cfc2a82ab3d56c24 +CIPHERTEXT = b127a5b4c4692d87483db0c3b0d11e64 + +COUNT = 1 +KEY = 392e4269fefcb36290e601fce0ce3c10 +IV = b127a5b4c4692d87483db0c3b0d11e64 +PLAINTEXT = 4e18f8d377d3d03e497a05763a4d350a +CIPHERTEXT = b8b79b153b5d64f7723b0ea539713a91 + +COUNT = 2 +KEY = 8199d97cc5a1d795e2dd0f59d9bf0681 +IV = b8b79b153b5d64f7723b0ea539713a91 +PLAINTEXT = 143a6cfb8cee0a96af453930ffe9c5e3 +CIPHERTEXT = dd21bf193c6e16eb7fd7b2337fcc754e + +COUNT = 3 +KEY = 5cb86665f9cfc17e9d0abd6aa67373cf +IV = dd21bf193c6e16eb7fd7b2337fcc754e +PLAINTEXT = e4666ea8c05f4c236b4b02e72a62357e +CIPHERTEXT = 447918089f6237abbc914fd885c27fa4 + +COUNT = 4 +KEY = 18c17e6d66adf6d5219bf2b223b10c6b +IV = 447918089f6237abbc914fd885c27fa4 +PLAINTEXT = 374fd04480996cc20230979f39318c40 +CIPHERTEXT = 312220dd22dccba6938eaff99a912538 + +COUNT = 5 +KEY = 29e35eb044713d73b2155d4bb9202953 +IV = 312220dd22dccba6938eaff99a912538 +PLAINTEXT = 1ba2ef5ab7c1c403dadc313764f120bf +CIPHERTEXT = 496d5fabda7be688cbb38773e38c2ecc + +COUNT = 6 +KEY = 608e011b9e0adbfb79a6da385aac079f +IV = 496d5fabda7be688cbb38773e38c2ecc +PLAINTEXT = b4c6492b9c3db4ed37f13ca5f9add93f +CIPHERTEXT = ffc25b409f20d32c1b1441ce096de935 + +COUNT = 7 +KEY = 9f4c5a5b012a08d762b29bf653c1eeaa +IV = ffc25b409f20d32c1b1441ce096de935 +PLAINTEXT = 72207b356179458dcd5fb9d24e745c03 +CIPHERTEXT = 46c439ecbdff702985fd429675fe660a + +COUNT = 8 +KEY = d98863b7bcd578fee74fd960263f88a0 +IV = 46c439ecbdff702985fd429675fe660a +PLAINTEXT = 726ddad8be0b14b2bed5d851ab751547 +CIPHERTEXT = 50a36919fe26e5479d5534ba05d9f380 + +COUNT = 9 +KEY = 892b0aae42f39db97a1aedda23e67b20 +IV = 50a36919fe26e5479d5534ba05d9f380 +PLAINTEXT = 5509d0df600077373ae0cde92dd38174 +CIPHERTEXT = 0fd2d19323bb6aadb1e257ec1f2f10fc + +COUNT = 10 +KEY = 86f9db3d6148f714cbf8ba363cc96bdc +IV = 0fd2d19323bb6aadb1e257ec1f2f10fc +PLAINTEXT = 6b21c3e8899f68d0f8d39fa7d996b54a +CIPHERTEXT = 7068b78a1593ad894051b1d63bc51e21 + +COUNT = 11 +KEY = f6916cb774db5a9d8ba90be0070c75fd +IV = 7068b78a1593ad894051b1d63bc51e21 +PLAINTEXT = f7d9892a9f7f47afaacac3999e6bdb9d +CIPHERTEXT = 5b6c0ecb7691120ecd15a20d1abdc74c + +COUNT = 12 +KEY = adfd627c024a489346bca9ed1db1b2b1 +IV = 5b6c0ecb7691120ecd15a20d1abdc74c +PLAINTEXT = 1fa89091b4c93101ef063ea52c2ad42e +CIPHERTEXT = ee13411de65caf7c05729647a46efe2d + +COUNT = 13 +KEY = 43ee2361e416e7ef43ce3faab9df4c9c +IV = ee13411de65caf7c05729647a46efe2d +PLAINTEXT = 64012ca8c80c0abcefe44057990ed262 +CIPHERTEXT = ba29886d568e5f5ca9154bf27d6f920b + +COUNT = 14 +KEY = f9c7ab0cb298b8b3eadb7458c4b0de97 +IV = ba29886d568e5f5ca9154bf27d6f920b +PLAINTEXT = 272575419e4fd426e6162182a563ccf2 +CIPHERTEXT = afc4643dffdc6fbc301c3f86a8238deb + +COUNT = 15 +KEY = 5603cf314d44d70fdac74bde6c93537c +IV = afc4643dffdc6fbc301c3f86a8238deb +PLAINTEXT = 37f52a2fa346548db97b43e309753d4a +CIPHERTEXT = 1855ed24876c24f64bfc5034655ce968 + +COUNT = 16 +KEY = 4e562215ca28f3f9913b1bea09cfba14 +IV = 1855ed24876c24f64bfc5034655ce968 +PLAINTEXT = 7edfd0c796936f430f2c999de976f5b5 +CIPHERTEXT = 3efe3ac0832c96787add518f37e8f237 + +COUNT = 17 +KEY = 70a818d549046581ebe64a653e274823 +IV = 3efe3ac0832c96787add518f37e8f237 +PLAINTEXT = d76b12aa1ce7bb8d20cbe1a528f1efeb +CIPHERTEXT = 3081a99d40838b8f657187700e49a865 + +COUNT = 18 +KEY = 4029b1480987ee0e8e97cd15306ee046 +IV = 3081a99d40838b8f657187700e49a865 +PLAINTEXT = 68b836a48e1ba761e680688b64090d30 +CIPHERTEXT = 5e93242111c61574ae5be67943132f04 + +COUNT = 19 +KEY = 1eba95691841fb7a20cc2b6c737dcf42 +IV = 5e93242111c61574ae5be67943132f04 +PLAINTEXT = e06cf0a7e6196cbe75b5ddd678f5d5b8 +CIPHERTEXT = a1142eed0c385affde5c71d9f3cd6bd6 + +COUNT = 20 +KEY = bfaebb841479a185fe905ab580b0a494 +IV = a1142eed0c385affde5c71d9f3cd6bd6 +PLAINTEXT = 77424e5130066653ff123393269bcf9f +CIPHERTEXT = a5e474cfac40137a7561c7b8c6acb93d + +COUNT = 21 +KEY = 1a4acf4bb839b2ff8bf19d0d461c1da9 +IV = a5e474cfac40137a7561c7b8c6acb93d +PLAINTEXT = 8b17f216b6bae32abb3fcc87ada14899 +CIPHERTEXT = 44a31020308db67cb48cad4162e6c95c + +COUNT = 22 +KEY = 5ee9df6b88b404833f7d304c24fad4f5 +IV = 44a31020308db67cb48cad4162e6c95c +PLAINTEXT = 29b47ab011e034ad3ba615c672f843c3 +CIPHERTEXT = 07bfdabedc1cc1540cf23bd9ecb628b3 + +COUNT = 23 +KEY = 595605d554a8c5d7338f0b95c84cfc46 +IV = 07bfdabedc1cc1540cf23bd9ecb628b3 +PLAINTEXT = 5fb77724af9c6b7cd64897d7b08764b0 +CIPHERTEXT = 47091ac507824fbb7d0f9cb1f57cf604 + +COUNT = 24 +KEY = 1e5f1f10532a8a6c4e8097243d300a42 +IV = 47091ac507824fbb7d0f9cb1f57cf604 +PLAINTEXT = fa6788ff2185890507b8fdb6cef41f44 +CIPHERTEXT = ccfcab1d9587905594bff747020df056 + +COUNT = 25 +KEY = d2a3b40dc6ad1a39da3f60633f3dfa14 +IV = ccfcab1d9587905594bff747020df056 +PLAINTEXT = e7a5008aec1059d4dee8380f41cf3a9a +CIPHERTEXT = 8e8dd8a90e9c872b4eab3e2a2d0dd74c + +COUNT = 26 +KEY = 5c2e6ca4c8319d1294945e4912302d58 +IV = 8e8dd8a90e9c872b4eab3e2a2d0dd74c +PLAINTEXT = ebf7d1b0f35f1db78199fabb1e8ce657 +CIPHERTEXT = 63753d7cf1e890c933420665c10a4925 + +COUNT = 27 +KEY = 3f5b51d839d90ddba7d6582cd33a647d +IV = 63753d7cf1e890c933420665c10a4925 +PLAINTEXT = cbb9aeb795e5419a39a992e8d1271f36 +CIPHERTEXT = e86d0f327aebbd6e663ee264089456b0 + +COUNT = 28 +KEY = d7365eea4332b0b5c1e8ba48dbae32cd +IV = e86d0f327aebbd6e663ee264089456b0 +PLAINTEXT = 341beb353a436a28e985ded7d709a32a +CIPHERTEXT = c8d3d810a3dd24e705f17d89cb9d5a7a + +COUNT = 29 +KEY = 1fe586fae0ef9452c419c7c1103368b7 +IV = c8d3d810a3dd24e705f17d89cb9d5a7a +PLAINTEXT = aa0a76881846bca5aac1643ac01ca147 +CIPHERTEXT = 4fb18494823c8cd00e032ece30171f17 + +COUNT = 30 +KEY = 5054026e62d31882ca1ae90f202477a0 +IV = 4fb18494823c8cd00e032ece30171f17 +PLAINTEXT = 6f7d323f7b4e79bc0505b035f3ceb39c +CIPHERTEXT = 615426a964ff4fcc56dfa63a6ef83dd0 + +COUNT = 31 +KEY = 310024c7062c574e9cc54f354edc4a70 +IV = 615426a964ff4fcc56dfa63a6ef83dd0 +PLAINTEXT = 3048e121d30bcf1e1fe98c1fad003373 +CIPHERTEXT = 1a16a1c853759a17146873ef16f84e06 + +COUNT = 32 +KEY = 2b16850f5559cd5988ad3cda58240476 +IV = 1a16a1c853759a17146873ef16f84e06 +PLAINTEXT = 868af54094a6dc63ca4071ffe518e347 +CIPHERTEXT = 90a5933d219c0cbebb9c34a6f62f3bee + +COUNT = 33 +KEY = bbb3163274c5c1e73331087cae0b3f98 +IV = 90a5933d219c0cbebb9c34a6f62f3bee +PLAINTEXT = 2e0c17bb7eaf60d744f0a8c7399af1b0 +CIPHERTEXT = 96a4c553484a4181737c3e186b2620b5 + +COUNT = 34 +KEY = 2d17d3613c8f8066404d3664c52d1f2d +IV = 96a4c553484a4181737c3e186b2620b5 +PLAINTEXT = 8f6e4e389bdfe95d4a7f7ed911936b48 +CIPHERTEXT = 61b725311b8af9ddf740b61fb6ed5dab + +COUNT = 35 +KEY = 4ca0f650270579bbb70d807b73c04286 +IV = 61b725311b8af9ddf740b61fb6ed5dab +PLAINTEXT = f9abe541a55fe5e63ee53631d1a52bc8 +CIPHERTEXT = 8c7715c7addc0c1dd17b9967a6643810 + +COUNT = 36 +KEY = c0d7e3978ad975a66676191cd5a47a96 +IV = 8c7715c7addc0c1dd17b9967a6643810 +PLAINTEXT = 029a2a95b9eeb6a995d8bbafa8667b93 +CIPHERTEXT = a740637deb5640914c7e59da31193a69 + +COUNT = 37 +KEY = 679780ea618f35372a0840c6e4bd40ff +IV = a740637deb5640914c7e59da31193a69 +PLAINTEXT = 1469cf2c5f2e3024be1b76a280ba62ff +CIPHERTEXT = b0aefb01e733b0e2baf44b4ab77b5870 + +COUNT = 38 +KEY = d7397beb86bc85d590fc0b8c53c6188f +IV = b0aefb01e733b0e2baf44b4ab77b5870 +PLAINTEXT = 999689c32050125dda7250c9c9aae0ec +CIPHERTEXT = c946a47986903f1a38ade946cd009acc + +COUNT = 39 +KEY = 1e7fdf92002cbacfa851e2ca9ec68243 +IV = c946a47986903f1a38ade946cd009acc +PLAINTEXT = e86b3315ebe5831526faacd3f0e291ae +CIPHERTEXT = e86b67473b9131ec31d63c4a237f50d0 + +COUNT = 40 +KEY = f614b8d53bbd8b239987de80bdb9d293 +IV = e86b67473b9131ec31d63c4a237f50d0 +PLAINTEXT = f8498abeba9c30411e0efb405537acdf +CIPHERTEXT = 6132bc9d837dfd2e49e8f74e998f28f4 + +COUNT = 41 +KEY = 97260448b8c0760dd06f29ce2436fa67 +IV = 6132bc9d837dfd2e49e8f74e998f28f4 +PLAINTEXT = 4f9a6c5fde1790a4ccbe599a1c469cfb +CIPHERTEXT = dcbf066619ba6eb5f1a5674b851bc8ff + +COUNT = 42 +KEY = 4b99022ea17a18b821ca4e85a12d3298 +IV = dcbf066619ba6eb5f1a5674b851bc8ff +PLAINTEXT = 2962c4940731bb73693f4a35e800a331 +CIPHERTEXT = 43bf3b75b9b6982de25c33d3c4bc0ed1 + +COUNT = 43 +KEY = 0826395b18cc8095c3967d5665913c49 +IV = 43bf3b75b9b6982de25c33d3c4bc0ed1 +PLAINTEXT = df498a4299899bba1de40aa63c54219f +CIPHERTEXT = b371f1e8e4542a6ae6632bebdd8ce727 + +COUNT = 44 +KEY = bb57c8b3fc98aaff25f556bdb81ddb6e +IV = b371f1e8e4542a6ae6632bebdd8ce727 +PLAINTEXT = f592483e8ac998ec60ab1508e3c01423 +CIPHERTEXT = 3b0bb19cd280b36702d3a467f10e08e2 + +COUNT = 45 +KEY = 805c792f2e1819982726f2da4913d38c +IV = 3b0bb19cd280b36702d3a467f10e08e2 +PLAINTEXT = 79bceaa083676968b45babdf298bb1d7 +CIPHERTEXT = ec9d36ff63b41bbc29eef08792a160b4 + +COUNT = 46 +KEY = 6cc14fd04dac02240ec8025ddbb2b338 +IV = ec9d36ff63b41bbc29eef08792a160b4 +PLAINTEXT = 775bd0c291ddcf8fe0e0a197e902418d +CIPHERTEXT = 328fa4bb3017dccae1a8af98829e12b3 + +COUNT = 47 +KEY = 5e4eeb6b7dbbdeeeef60adc5592ca18b +IV = 328fa4bb3017dccae1a8af98829e12b3 +PLAINTEXT = ccba9e9d00b23695ab755b079c718d87 +CIPHERTEXT = 5dd5b61d953ac466de030262dbb9b2d8 + +COUNT = 48 +KEY = 039b5d76e8811a883163afa782951353 +IV = 5dd5b61d953ac466de030262dbb9b2d8 +PLAINTEXT = b68c9859d7362d49a02fa0d8d6915156 +CIPHERTEXT = 2fab5cc036ef88f8709da14a9651c30a + +COUNT = 49 +KEY = 2c3001b6de6e927041fe0eed14c4d059 +IV = 2fab5cc036ef88f8709da14a9651c30a +PLAINTEXT = 6fff5a9fe86d39f5ab05244ccdf670cd +CIPHERTEXT = 912fd64d65d7e8f9620b56f4e8167bd7 + +COUNT = 50 +KEY = bd1fd7fbbbb97a8923f55819fcd2ab8e +IV = 912fd64d65d7e8f9620b56f4e8167bd7 +PLAINTEXT = 3cf5186ffd90436a432bade21709d59b +CIPHERTEXT = 127b626fbd0b8fbc1ecaad5865be1b13 + +COUNT = 51 +KEY = af64b59406b2f5353d3ff541996cb09d +IV = 127b626fbd0b8fbc1ecaad5865be1b13 +PLAINTEXT = 471f1f48cd3de285891287667f9b6041 +CIPHERTEXT = 92c0e245f40b2f5271371a86fa77f120 + +COUNT = 52 +KEY = 3da457d1f2b9da674c08efc7631b41bd +IV = 92c0e245f40b2f5271371a86fa77f120 +PLAINTEXT = d7b04698a32d7f084c5e22185ef21c75 +CIPHERTEXT = 69a9cf73c16bda65ec91045e06c3c446 + +COUNT = 53 +KEY = 540d98a233d20002a099eb9965d885fb +IV = 69a9cf73c16bda65ec91045e06c3c446 +PLAINTEXT = 5acaa924ef0905700226c40537c53e32 +CIPHERTEXT = 8b357f9ca8c0e414aa14e5bcec2f0a65 + +COUNT = 54 +KEY = df38e73e9b12e4160a8d0e2589f78f9e +IV = 8b357f9ca8c0e414aa14e5bcec2f0a65 +PLAINTEXT = 321e82bcf421c42416f450621a1e366a +CIPHERTEXT = 3ca8fab10d4bcb43aa303aa14856bced + +COUNT = 55 +KEY = e3901d8f96592f55a0bd3484c1a13373 +IV = 3ca8fab10d4bcb43aa303aa14856bced +PLAINTEXT = 32112b6f2de57fb7b4cc181ccdc37764 +CIPHERTEXT = 8020d87875c942a0e1bf5f989f412546 + +COUNT = 56 +KEY = 63b0c5f7e3906df541026b1c5ee01635 +IV = 8020d87875c942a0e1bf5f989f412546 +PLAINTEXT = 1bf8215b2cd3b6a3ee781720889cc6d0 +CIPHERTEXT = 26020d816487574ced0db0d8d90ff836 + +COUNT = 57 +KEY = 45b2c87687173ab9ac0fdbc487efee03 +IV = 26020d816487574ced0db0d8d90ff836 +PLAINTEXT = 423e902f68f12b7bc25f50826286ad18 +CIPHERTEXT = 7412b3c07ae127dda21ec5eae4fc0e9e + +COUNT = 58 +KEY = 31a07bb6fdf61d640e111e2e6313e09d +IV = 7412b3c07ae127dda21ec5eae4fc0e9e +PLAINTEXT = f60850cc52a6efbcdffc80a5df133d6b +CIPHERTEXT = 9ac4a477d6aca9fcd9815f3a8ed883df + +COUNT = 59 +KEY = ab64dfc12b5ab498d7904114edcb6342 +IV = 9ac4a477d6aca9fcd9815f3a8ed883df +PLAINTEXT = b9aef36452c44b79441d5dd1de6f8dd5 +CIPHERTEXT = 1d50729ebd80e7c2171b507ff04f2f7f + +COUNT = 60 +KEY = b634ad5f96da535ac08b116b1d844c3d +IV = 1d50729ebd80e7c2171b507ff04f2f7f +PLAINTEXT = 86bd16ce915e72076c8fa046966dcfc2 +CIPHERTEXT = b682a694a141a316ccb8242be68d1d5c + +COUNT = 61 +KEY = 00b60bcb379bf04c0c333540fb095161 +IV = b682a694a141a316ccb8242be68d1d5c +PLAINTEXT = e5d1a803fcc6bbd1ba813f5b83677ca9 +CIPHERTEXT = 3eb3ab214a94b7c33329bce0ba04750d + +COUNT = 62 +KEY = 3e05a0ea7d0f478f3f1a89a0410d246c +IV = 3eb3ab214a94b7c33329bce0ba04750d +PLAINTEXT = 8fa2c8a1f96883771ef6746f277cd457 +CIPHERTEXT = ccbd25f85cc9b50b9834cb19859d32bd + +COUNT = 63 +KEY = f2b8851221c6f284a72e42b9c49016d1 +IV = ccbd25f85cc9b50b9834cb19859d32bd +PLAINTEXT = 61d98e21ad14164edb72653bb7a526f4 +CIPHERTEXT = 5244c234b01178d4dd00d7f592eaa84b + +COUNT = 64 +KEY = a0fc472691d78a507a2e954c567abe9a +IV = 5244c234b01178d4dd00d7f592eaa84b +PLAINTEXT = 55f99e649f5e1680195ad7971708e2a5 +CIPHERTEXT = 13e7d46f7fedb1c1acd81f7c0c125071 + +COUNT = 65 +KEY = b31b9349ee3a3b91d6f68a305a68eeeb +IV = 13e7d46f7fedb1c1acd81f7c0c125071 +PLAINTEXT = e99b3a2c2071cdac45b39ec7a0f9ca0d +CIPHERTEXT = c786e8bea4983ad65640bbe6cccfaca9 + +COUNT = 66 +KEY = 749d7bf74aa2014780b631d696a74242 +IV = c786e8bea4983ad65640bbe6cccfaca9 +PLAINTEXT = a240866322514405332b18804b3ad8f5 +CIPHERTEXT = 1b9329bb69c7b9739ce5556547986bea + +COUNT = 67 +KEY = 6f0e524c2365b8341c5364b3d13f29a8 +IV = 1b9329bb69c7b9739ce5556547986bea +PLAINTEXT = f9f085a75c1842610df4a20e99af91a2 +CIPHERTEXT = 7f00f5584fbe0d651ee81e6db8c31cc8 + +COUNT = 68 +KEY = 100ea7146cdbb55102bb7ade69fc3560 +IV = 7f00f5584fbe0d651ee81e6db8c31cc8 +PLAINTEXT = 6a620100221bbadb95a1d5b8a3abae48 +CIPHERTEXT = 89284bd837993773f3d809c84ee757bc + +COUNT = 69 +KEY = 9926eccc5b428222f1637316271b62dc +IV = 89284bd837993773f3d809c84ee757bc +PLAINTEXT = 4bbe2c9ca1482ca3750b3287ce85d449 +CIPHERTEXT = 68f01a398085d727726063715ab1688a + +COUNT = 70 +KEY = f1d6f6f5dbc75505830310677daa0a56 +IV = 68f01a398085d727726063715ab1688a +PLAINTEXT = 8f6dc5c55b1ed743a87c7dda2f5a518f +CIPHERTEXT = 5046338fa6118a25fb55a03110d887a1 + +COUNT = 71 +KEY = a190c57a7dd6df207856b0566d728df7 +IV = 5046338fa6118a25fb55a03110d887a1 +PLAINTEXT = 6643a84cac2554185810c942f418974b +CIPHERTEXT = 299a5e6f0d05c8eb5307d30adfa74788 + +COUNT = 72 +KEY = 880a9b1570d317cb2b51635cb2d5ca7f +IV = 299a5e6f0d05c8eb5307d30adfa74788 +PLAINTEXT = 83ee41d7dfe2a0161b12ef4eb88a5a1d +CIPHERTEXT = 28669f002fb3e170f2834705a7a08272 + +COUNT = 73 +KEY = a06c04155f60f6bbd9d224591575480d +IV = 28669f002fb3e170f2834705a7a08272 +PLAINTEXT = 8996026bd9cb6a8bb9e771e8fa4afbd7 +CIPHERTEXT = 923c5d2182c081f3048fd721f1ea5c69 + +COUNT = 74 +KEY = 32505934dda07748dd5df378e49f1464 +IV = 923c5d2182c081f3048fd721f1ea5c69 +PLAINTEXT = 1ce48f3d65f1e34f776b043f4c7dff72 +CIPHERTEXT = 8051785bbc1cc24f60a27be65fc5270d + +COUNT = 75 +KEY = b201216f61bcb507bdff889ebb5a3369 +IV = 8051785bbc1cc24f60a27be65fc5270d +PLAINTEXT = 0667282c650e0e96f33c3281457e1f8f +CIPHERTEXT = cb8ac99c2eaa43190e29b3434c4ba1e5 + +COUNT = 76 +KEY = 798be8f34f16f61eb3d63bddf711928c +IV = cb8ac99c2eaa43190e29b3434c4ba1e5 +PLAINTEXT = d60ed6362685225fbcd1bddc0fb34367 +CIPHERTEXT = 89d792f078357268acb84485125402eb + +COUNT = 77 +KEY = f05c7a03372384761f6e7f58e5459067 +IV = 89d792f078357268acb84485125402eb +PLAINTEXT = 21c06f224544b2e2af0fa6ab1a53ff5b +CIPHERTEXT = 7edd61972d3c87cc1b06cf8ec1143d17 + +COUNT = 78 +KEY = 8e811b941a1f03ba0468b0d62451ad70 +IV = 7edd61972d3c87cc1b06cf8ec1143d17 +PLAINTEXT = fab411904a913f88c0057de4b8bc37a5 +CIPHERTEXT = 92ae30acf410268fc579d8e952f653fd + +COUNT = 79 +KEY = 1c2f2b38ee0f2535c111683f76a7fe8d +IV = 92ae30acf410268fc579d8e952f653fd +PLAINTEXT = b9b5be84b1145cc2bb76fa6bbaf75d37 +CIPHERTEXT = 36ae9657c3d4e9b628937564ed4fae87 + +COUNT = 80 +KEY = 2a81bd6f2ddbcc83e9821d5b9be8500a +IV = 36ae9657c3d4e9b628937564ed4fae87 +PLAINTEXT = 99c275aa39ff44e70773e432538b8ed1 +CIPHERTEXT = 9cc460f816be093c8e799611127fe2a2 + +COUNT = 81 +KEY = b645dd973b65c5bf67fb8b4a8997b2a8 +IV = 9cc460f816be093c8e799611127fe2a2 +PLAINTEXT = 52c618c610497e2b72b9bbebacd51123 +CIPHERTEXT = a59f54ef1f871f76f745cd0d75a065f8 + +COUNT = 82 +KEY = 13da897824e2dac990be4647fc37d750 +IV = a59f54ef1f871f76f745cd0d75a065f8 +PLAINTEXT = ebc90b23c2837f950a0eed0690ba4ba0 +CIPHERTEXT = c40cefc70fb3013b866d36040fba4d09 + +COUNT = 83 +KEY = d7d666bf2b51dbf216d37043f38d9a59 +IV = c40cefc70fb3013b866d36040fba4d09 +PLAINTEXT = 7023dd22e859e82804ec3b5fd314bdb8 +CIPHERTEXT = dc9badde27ecdef751ddaf0f39692869 + +COUNT = 84 +KEY = 0b4dcb610cbd0505470edf4ccae4b230 +IV = dc9badde27ecdef751ddaf0f39692869 +PLAINTEXT = 18ff452e7a5fe276b0ee72cec78d3b25 +CIPHERTEXT = 21da7b3f535c63e021ebb8162693784e + +COUNT = 85 +KEY = 2a97b05e5fe166e566e5675aec77ca7e +IV = 21da7b3f535c63e021ebb8162693784e +PLAINTEXT = a0b7f414173e39a0cfdd412a87ae45ac +CIPHERTEXT = dbe3808aed010189d884ea686cbf1863 + +COUNT = 86 +KEY = f17430d4b2e0676cbe618d3280c8d21d +IV = dbe3808aed010189d884ea686cbf1863 +PLAINTEXT = a9ff2f7060821b50eb9b756d24e1291b +CIPHERTEXT = c3d7fa4926a1c6fef09d60b6b234c70c + +COUNT = 87 +KEY = 32a3ca9d9441a1924efced8432fc1511 +IV = c3d7fa4926a1c6fef09d60b6b234c70c +PLAINTEXT = 1be554312fed95d320550e1d4502941c +CIPHERTEXT = 38ea5e869ba7a8096b825cab0153dd8a + +COUNT = 88 +KEY = 0a49941b0fe6099b257eb12f33afc89b +IV = 38ea5e869ba7a8096b825cab0153dd8a +PLAINTEXT = 9a42d7aac8283ffbe538cb1af3f15881 +CIPHERTEXT = cc6b1efa715d61e04a4c07e3eaca3249 + +COUNT = 89 +KEY = c6228ae17ebb687b6f32b6ccd965fad2 +IV = cc6b1efa715d61e04a4c07e3eaca3249 +PLAINTEXT = 07491f55e2fda09e3a3e9d1b32c897cf +CIPHERTEXT = f89d8c43c3c4adb5f9ad040558e53695 + +COUNT = 90 +KEY = 3ebf06a2bd7fc5ce969fb2c98180cc47 +IV = f89d8c43c3c4adb5f9ad040558e53695 +PLAINTEXT = f80f7f8ae631b81a5f7aceba7fbea0c1 +CIPHERTEXT = 7cdff3c7ed22ef18634038e7c5e0912c + +COUNT = 91 +KEY = 4260f565505d2ad6f5df8a2e44605d6b +IV = 7cdff3c7ed22ef18634038e7c5e0912c +PLAINTEXT = 426ee460a67506d4069c784d8f9db1d5 +CIPHERTEXT = 17147e78393997ff3cae65de18a0002f + +COUNT = 92 +KEY = 55748b1d6964bd29c971eff05cc05d44 +IV = 17147e78393997ff3cae65de18a0002f +PLAINTEXT = 56bb4b707666683794fea1512ca1694c +CIPHERTEXT = 33b6c5e6c693ad06449b7c196e90e14c + +COUNT = 93 +KEY = 66c24efbaff7102f8dea93e93250bc08 +IV = 33b6c5e6c693ad06449b7c196e90e14c +PLAINTEXT = f5fbffe145ed086c4bad544187c64f1f +CIPHERTEXT = 98b89be2a520426a0db8b6aa65e3d197 + +COUNT = 94 +KEY = fe7ad5190ad752458052254357b36d9f +IV = 98b89be2a520426a0db8b6aa65e3d197 +PLAINTEXT = f0490756ad8e60e19fefb2a67fd845d7 +CIPHERTEXT = c5ce3145b5c7c2a2dea9373e9bce898c + +COUNT = 95 +KEY = 3bb4e45cbf1090e75efb127dcc7de413 +IV = c5ce3145b5c7c2a2dea9373e9bce898c +PLAINTEXT = 5215da75cb0a7be1e6d492278f516aec +CIPHERTEXT = 14a4b763b47b8d64876b1b44574aaadf + +COUNT = 96 +KEY = 2f10533f0b6b1d83d99009399b374ecc +IV = 14a4b763b47b8d64876b1b44574aaadf +PLAINTEXT = 731d34c340403ba793d7693300d37a33 +CIPHERTEXT = 978544d6459c2c686104e7704d282e9e + +COUNT = 97 +KEY = b89517e94ef731ebb894ee49d61f6052 +IV = 978544d6459c2c686104e7704d282e9e +PLAINTEXT = 8ee9809143de73316dbccfa324da35d2 +CIPHERTEXT = 4d7a736fd4593c5fd4a77f8e91850036 + +COUNT = 98 +KEY = f5ef64869aae0db46c3391c7479a6064 +IV = 4d7a736fd4593c5fd4a77f8e91850036 +PLAINTEXT = b474da68b75fbe551a0b4aaa3b5beb5d +CIPHERTEXT = 2d0a2d6f479098c96c16ae036f33a740 + +COUNT = 99 +KEY = d8e549e9dd3e957d00253fc428a9c724 +IV = 2d0a2d6f479098c96c16ae036f33a740 +PLAINTEXT = b01fbdb77120a90e676b640cf1f720b6 +CIPHERTEXT = 7bed7671c8913aa1330f193761523e67 + + +[DECRYPT] + +COUNT = 0 +KEY = 287b07c78f8e3e1be7c41b3d96c04e6e +IV = 41b461f9464fd515d25413b4241002b8 +CIPHERTEXT = 7c54923b0490a9d4de4ec1ce6790aa4d +PLAINTEXT = 2805d10b127fcd1da528faad4eb2e10b + +COUNT = 1 +KEY = 007ed6cc9df1f30642ece190d872af65 +IV = 2805d10b127fcd1da528faad4eb2e10b +CIPHERTEXT = a7b760be9237b49e8dad24a6063523a6 +PLAINTEXT = 743b755c0d1d287ffd6ccebeb3eee6b3 + +COUNT = 2 +KEY = 7445a39090ecdb79bf802f2e6b9c49d6 +IV = 743b755c0d1d287ffd6ccebeb3eee6b3 +CIPHERTEXT = 79414e51819ecaafbbb6fd04a3b42fad +PLAINTEXT = b863f5f51257a388dfd45f57b171fe70 + +COUNT = 3 +KEY = cc26566582bb78f160547079daedb7a6 +IV = b863f5f51257a388dfd45f57b171fe70 +CIPHERTEXT = 4140daad9ac92104cafbc5d73f561e15 +PLAINTEXT = 093992da8cf4b1d740423f8ce880bf57 + +COUNT = 4 +KEY = c51fc4bf0e4fc92620164ff5326d08f1 +IV = 093992da8cf4b1d740423f8ce880bf57 +CIPHERTEXT = 9cc3ac032367f0991952dd77d9c02b5b +PLAINTEXT = ba903eb56bd88f3da6a99290603da1f4 + +COUNT = 5 +KEY = 7f8ffa0a6597461b86bfdd655250a905 +IV = ba903eb56bd88f3da6a99290603da1f4 +CIPHERTEXT = 5afc417529ce881dea1471d9070f1e8c +PLAINTEXT = 8f38711caf4c68eb732f8a20d3ff76b1 + +COUNT = 6 +KEY = f0b78b16cadb2ef0f590574581afdfb4 +IV = 8f38711caf4c68eb732f8a20d3ff76b1 +CIPHERTEXT = a315ab0bdae51a44273b6a0dfc283d72 +PLAINTEXT = af812bf845802743c3d9229d840a79cd + +COUNT = 7 +KEY = 5f36a0ee8f5b09b3364975d805a5a679 +IV = af812bf845802743c3d9229d840a79cd +CIPHERTEXT = 59c4d87b6baf63dba72bf1cf2e18c7c1 +PLAINTEXT = e4b02aff90e60253f4ab888dcd443346 + +COUNT = 8 +KEY = bb868a111fbd0be0c2e2fd55c8e1953f +IV = e4b02aff90e60253f4ab888dcd443346 +CIPHERTEXT = d0fa28c2bd2afa59c9f6c3467cc43e77 +PLAINTEXT = 4f20862976ce4b543d4810348630294c + +COUNT = 9 +KEY = f4a60c38697340b4ffaaed614ed1bc73 +IV = 4f20862976ce4b543d4810348630294c +CIPHERTEXT = 76d9eb0e1e798a5930c623fae0d588ca +PLAINTEXT = 3288d61610598b22e33bc6eeacd99b01 + +COUNT = 10 +KEY = c62eda2e792acb961c912b8fe2082772 +IV = 3288d61610598b22e33bc6eeacd99b01 +CIPHERTEXT = b6c4f83631ba2e0e28031edb417a7bf0 +PLAINTEXT = 02a8aa4a58707df1f7ea8e25e63c9cbf + +COUNT = 11 +KEY = c4867064215ab667eb7ba5aa0434bbcd +IV = 02a8aa4a58707df1f7ea8e25e63c9cbf +CIPHERTEXT = 0e57da5dcd91177ee2b6aecde87ce61e +PLAINTEXT = 0b5224818cece38c5d644f28beaeb95c + +COUNT = 12 +KEY = cfd454e5adb655ebb61fea82ba9a0291 +IV = 0b5224818cece38c5d644f28beaeb95c +CIPHERTEXT = 5fd65d268f651cb9b23516e98ca2de50 +PLAINTEXT = b2c44002b67472595daefc2eda154674 + +COUNT = 13 +KEY = 7d1014e71bc227b2ebb116ac608f44e5 +IV = b2c44002b67472595daefc2eda154674 +CIPHERTEXT = 58eea0f0bcdd28578a140e6ca82c0b01 +PLAINTEXT = 3517c46bb5d67291c1565287b3736475 + +COUNT = 14 +KEY = 4807d08cae1455232ae7442bd3fc2090 +IV = 3517c46bb5d67291c1565287b3736475 +CIPHERTEXT = 704350a33a392a1ca5f1f2405c811259 +PLAINTEXT = 644ff53d8b03bc1dd24f1c148ef022cb + +COUNT = 15 +KEY = 2c4825b12517e93ef8a8583f5d0c025b +IV = 644ff53d8b03bc1dd24f1c148ef022cb +CIPHERTEXT = 61aee53a19da9e4d27ed203b4f204914 +PLAINTEXT = 3421511552a4d350206db3b15807759d + +COUNT = 16 +KEY = 186974a477b33a6ed8c5eb8e050b77c6 +IV = 3421511552a4d350206db3b15807759d +CIPHERTEXT = 646f2367f25b3c9a0c3b6576edf7e5da +PLAINTEXT = 65c06fb332326f840ab796902245ba40 + +COUNT = 17 +KEY = 7da91b17458155ead2727d1e274ecd86 +IV = 65c06fb332326f840ab796902245ba40 +CIPHERTEXT = 708dbcf7c074aa120ba0f54bf92f1608 +PLAINTEXT = 21487ade7219aadc335a687c5546dbda + +COUNT = 18 +KEY = 5ce161c93798ff36e12815627208165c +IV = 21487ade7219aadc335a687c5546dbda +CIPHERTEXT = ddf5733d051fbf371ac1edb3d8767dc5 +PLAINTEXT = c3bae05de23293b5312596b05f2b04f0 + +COUNT = 19 +KEY = 9f5b8194d5aa6c83d00d83d22d2312ac +IV = c3bae05de23293b5312596b05f2b04f0 +CIPHERTEXT = f12006ae9a345dc65c3789373353976f +PLAINTEXT = 892e1cec70fc3a0c9e58cb7f403adc64 + +COUNT = 20 +KEY = 16759d78a556568f4e5548ad6d19cec8 +IV = 892e1cec70fc3a0c9e58cb7f403adc64 +CIPHERTEXT = 1f758263d62eb6fd7c7a5666620e107c +PLAINTEXT = c42dc868434e4978afbf1f9fe2a41832 + +COUNT = 21 +KEY = d2585510e6181ff7e1ea57328fbdd6fa +IV = c42dc868434e4978afbf1f9fe2a41832 +CIPHERTEXT = 7854dd5ec927f83243a7254794b91bcd +PLAINTEXT = 7d68bce738ca71f145f4ff87efebcb14 + +COUNT = 22 +KEY = af30e9f7ded26e06a41ea8b560561dee +IV = 7d68bce738ca71f145f4ff87efebcb14 +CIPHERTEXT = 9130d84e317f633167b1493f10836761 +PLAINTEXT = 403c77d64630e6328ed305dba91b4221 + +COUNT = 23 +KEY = ef0c9e2198e288342acdad6ec94d5fcf +IV = 403c77d64630e6328ed305dba91b4221 +CIPHERTEXT = 7517ea8c43ade8102e2356ca34e7186d +PLAINTEXT = 06a79b34116ce0ed1f37187a0f2d15c3 + +COUNT = 24 +KEY = e9ab0515898e68d935fab514c6604a0c +IV = 06a79b34116ce0ed1f37187a0f2d15c3 +CIPHERTEXT = bc65e9d2217cc8d7a49f2c9881eb3dbf +PLAINTEXT = 3a5231507ea563c04b60153f75e6f858 + +COUNT = 25 +KEY = d3f93445f72b0b197e9aa02bb386b254 +IV = 3a5231507ea563c04b60153f75e6f858 +CIPHERTEXT = 3fa03fa088b9e778147418f208c8fa5d +PLAINTEXT = 0c8cc1e5c6725c99c87d540ec2add993 + +COUNT = 26 +KEY = df75f5a031595780b6e7f425712b6bc7 +IV = 0c8cc1e5c6725c99c87d540ec2add993 +CIPHERTEXT = 19c26cbb9dd80ddd48a7df807d7c1a0f +PLAINTEXT = 1b09f1a9020e744edd603b177d57bdb6 + +COUNT = 27 +KEY = c47c0409335723ce6b87cf320c7cd671 +IV = 1b09f1a9020e744edd603b177d57bdb6 +CIPHERTEXT = 699a10255b898ea72bc63e054d10d391 +PLAINTEXT = 07e3145f0f6d3fa61df66bc7a779100e + +COUNT = 28 +KEY = c39f10563c3a1c687671a4f5ab05c67f +IV = 07e3145f0f6d3fa61df66bc7a779100e +CIPHERTEXT = 264f193f1817f44a3b5d89db22e60bbc +PLAINTEXT = 64e2676b56a44af6f849990448dde2e3 + +COUNT = 29 +KEY = a77d773d6a9e569e8e383df1e3d8249c +IV = 64e2676b56a44af6f849990448dde2e3 +CIPHERTEXT = b13e63b947738731a4b57fe8862aa98a +PLAINTEXT = 2786a7e5333d099cc3368cd3868ea18d + +COUNT = 30 +KEY = 80fbd0d859a35f024d0eb12265568511 +IV = 2786a7e5333d099cc3368cd3868ea18d +CIPHERTEXT = 82c3ce7c4d6fda2a264927879f846a75 +PLAINTEXT = ab612a2ab2c8006d7d3239f6de8aac55 + +COUNT = 31 +KEY = 2b9afaf2eb6b5f6f303c88d4bbdc2944 +IV = ab612a2ab2c8006d7d3239f6de8aac55 +CIPHERTEXT = 8268a54d0f960cd9340edcce04843c82 +PLAINTEXT = 65b5f36e257d6709d3f7b85927b8fa7d + +COUNT = 32 +KEY = 4e2f099cce163866e3cb308d9c64d339 +IV = 65b5f36e257d6709d3f7b85927b8fa7d +CIPHERTEXT = 24271e61d2061cde1c76650870890e84 +PLAINTEXT = 1e941682592b109f4d4c9d32d129c503 + +COUNT = 33 +KEY = 50bb1f1e973d28f9ae87adbf4d4d163a +IV = 1e941682592b109f4d4c9d32d129c503 +CIPHERTEXT = 4773ba500769a3da30893271c5a8beed +PLAINTEXT = 8a35e53387b26d2eebe430401c75b4d0 + +COUNT = 34 +KEY = da8efa2d108f45d745639dff5138a2ea +IV = 8a35e53387b26d2eebe430401c75b4d0 +CIPHERTEXT = 24f4c4c019990de0389cee5ede56e34b +PLAINTEXT = d8c6473883ef7d792f0cb95efc612b2e + +COUNT = 35 +KEY = 0248bd15936038ae6a6f24a1ad5989c4 +IV = d8c6473883ef7d792f0cb95efc612b2e +CIPHERTEXT = a9f962c52db2c2239242677660aa4292 +PLAINTEXT = d30a61503b3482fee7a6ff96c185df95 + +COUNT = 36 +KEY = d142dc45a854ba508dc9db376cdc5651 +IV = d30a61503b3482fee7a6ff96c185df95 +CIPHERTEXT = 683bddc63306485185b55095be6c1262 +PLAINTEXT = 35c3832066247f1eca792cd5ab099480 + +COUNT = 37 +KEY = e4815f65ce70c54e47b0f7e2c7d5c2d1 +IV = 35c3832066247f1eca792cd5ab099480 +CIPHERTEXT = 618c71856b4e9eb62bf9330d61095ab2 +PLAINTEXT = 17ae4ddf59b30e46c84e65d8a224be03 + +COUNT = 38 +KEY = f32f12ba97c3cb088ffe923a65f17cd2 +IV = 17ae4ddf59b30e46c84e65d8a224be03 +CIPHERTEXT = 9536e87c5d6cb6627e46ef2b067e9b46 +PLAINTEXT = a2f3242e26d30f467d58abc1ba688d43 + +COUNT = 39 +KEY = 51dc3694b110c44ef2a639fbdf99f191 +IV = a2f3242e26d30f467d58abc1ba688d43 +CIPHERTEXT = 4030df680831758e38581e6db78d5806 +PLAINTEXT = 25529af0af24f538d5571d431914cdbc + +COUNT = 40 +KEY = 748eac641e34317627f124b8c68d3c2d +IV = 25529af0af24f538d5571d431914cdbc +CIPHERTEXT = e0bef917a25621138f5b444b2ce36985 +PLAINTEXT = d6bfc5fcfe83db2d9a8a84e8881bb8e2 + +COUNT = 41 +KEY = a2316998e0b7ea5bbd7ba0504e9684cf +IV = d6bfc5fcfe83db2d9a8a84e8881bb8e2 +CIPHERTEXT = eed8ce1bab9e406a1291aa20f38c0abf +PLAINTEXT = e118c7bb465aa7fe8ae31ddc04a57cd3 + +COUNT = 42 +KEY = 4329ae23a6ed4da53798bd8c4a33f81c +IV = e118c7bb465aa7fe8ae31ddc04a57cd3 +CIPHERTEXT = bbdcbcf7e01253b4ecd84194266895d6 +PLAINTEXT = dbf7a677385be8bf89fdd3bd1f1f54c8 + +COUNT = 43 +KEY = 98de08549eb6a51abe656e31552cacd4 +IV = dbf7a677385be8bf89fdd3bd1f1f54c8 +CIPHERTEXT = ceaa87ea18c7344715c9d0f431073ec0 +PLAINTEXT = 2a6325473ba029a44ee8354c1b3cd5d8 + +COUNT = 44 +KEY = b2bd2d13a5168cbef08d5b7d4e10790c +IV = 2a6325473ba029a44ee8354c1b3cd5d8 +CIPHERTEXT = 0dd93e6b01ef7a8386372e646eb6fb87 +PLAINTEXT = 778cb1a53f488748c7582afd9db7c21f + +COUNT = 45 +KEY = c5319cb69a5e0bf637d57180d3a7bb13 +IV = 778cb1a53f488748c7582afd9db7c21f +CIPHERTEXT = c87d49014efefc19b5e23f14d41f3dbd +PLAINTEXT = d25d1b52fb067fe5997cfcc3c4b655a2 + +COUNT = 46 +KEY = 176c87e461587413aea98d431711eeb1 +IV = d25d1b52fb067fe5997cfcc3c4b655a2 +CIPHERTEXT = 5856b566cbdd913e1f7b0c4d0c5c458e +PLAINTEXT = 34687674ac076fde71257888564c6316 + +COUNT = 47 +KEY = 2304f190cd5f1bcddf8cf5cb415d8da7 +IV = 34687674ac076fde71257888564c6316 +CIPHERTEXT = a1d78ad47341bcdf23c28f4087c79171 +PLAINTEXT = 597e7ee936d32e92a6253a27a4ebe68a + +COUNT = 48 +KEY = 7a7a8f79fb8c355f79a9cfece5b66b2d +IV = 597e7ee936d32e92a6253a27a4ebe68a +CIPHERTEXT = 5aa7c85d46be7b4a203b96d592497aef +PLAINTEXT = e26d1a95a83f99ff1a17f34c6da17492 + +COUNT = 49 +KEY = 981795ec53b3aca063be3ca088171fbf +IV = e26d1a95a83f99ff1a17f34c6da17492 +CIPHERTEXT = 635a71055e05459bfdb531369ac82f42 +PLAINTEXT = 42bf21efbb7e119a6038e76ac748cbbb + +COUNT = 50 +KEY = daa8b403e8cdbd3a0386dbca4f5fd404 +IV = 42bf21efbb7e119a6038e76ac748cbbb +CIPHERTEXT = dc24d856dcba9eb2a8fd5e5114102bd0 +PLAINTEXT = 52990d51cb26c2bf44baf37ed58a76c3 + +COUNT = 51 +KEY = 8831b95223eb7f85473c28b49ad5a2c7 +IV = 52990d51cb26c2bf44baf37ed58a76c3 +CIPHERTEXT = 849928acd355ff61aac0e9ca852ec6ad +PLAINTEXT = acb9306d5e5ffec55b128d8ae68876e8 + +COUNT = 52 +KEY = 2488893f7db481401c2ea53e7c5dd42f +IV = acb9306d5e5ffec55b128d8ae68876e8 +CIPHERTEXT = 3572a5a1a7c9f0820b0c1ce9e389268a +PLAINTEXT = 1f6ac3413a655073ab9b5a7df0e804f7 + +COUNT = 53 +KEY = 3be24a7e47d1d133b7b5ff438cb5d0d8 +IV = 1f6ac3413a655073ab9b5a7df0e804f7 +CIPHERTEXT = e0d8da95bb35d21b315e24255c47144b +PLAINTEXT = 207edccc1bb8497bc2e9d00d33d27d3b + +COUNT = 54 +KEY = 1b9c96b25c699848755c2f4ebf67ade3 +IV = 207edccc1bb8497bc2e9d00d33d27d3b +CIPHERTEXT = 66bcf1cf975f2a0443c840e00e3c746a +PLAINTEXT = 6303fb3c2c758a048673a2f03c93edb4 + +COUNT = 55 +KEY = 789f6d8e701c124cf32f8dbe83f44057 +IV = 6303fb3c2c758a048673a2f03c93edb4 +CIPHERTEXT = 2b209ebdb174a9e8bc1b2ae432c46d2c +PLAINTEXT = d1fcfc18be2a7f3bc8ba51fbb196cbbb + +COUNT = 56 +KEY = a9639196ce366d773b95dc4532628bec +IV = d1fcfc18be2a7f3bc8ba51fbb196cbbb +CIPHERTEXT = eb8e77233abbcc20a02aa93fc91f7d40 +PLAINTEXT = 6d4afce33126729fa4fc9dc19a666290 + +COUNT = 57 +KEY = c4296d75ff101fe89f694184a804e97c +IV = 6d4afce33126729fa4fc9dc19a666290 +CIPHERTEXT = 03169a39cf00b6a0bdb611658ae49b9b +PLAINTEXT = d0e049b20d9ae5eb9a3c33be19071976 + +COUNT = 58 +KEY = 14c924c7f28afa030555723ab103f00a +IV = d0e049b20d9ae5eb9a3c33be19071976 +CIPHERTEXT = 9dad2b5e10b7422ed03acc02626b17a9 +PLAINTEXT = 8c2b982449b13b9a5c934745edeace59 + +COUNT = 59 +KEY = 98e2bce3bb3bc19959c6357f5ce93e53 +IV = 8c2b982449b13b9a5c934745edeace59 +CIPHERTEXT = 653193da380f3cb6ae9d925d7066c571 +PLAINTEXT = 11ff2eccf57579029137717b1b07433c + +COUNT = 60 +KEY = 891d922f4e4eb89bc8f1440447ee7d6f +IV = 11ff2eccf57579029137717b1b07433c +CIPHERTEXT = 56d37e16fca9f7627954bb209f76fc7c +PLAINTEXT = 1f81e5710c8cd2bf8b02bb18eac74f5a + +COUNT = 61 +KEY = 969c775e42c26a2443f3ff1cad293235 +IV = 1f81e5710c8cd2bf8b02bb18eac74f5a +CIPHERTEXT = efa8a39e92ebb232ba66669052ff9898 +PLAINTEXT = becc4f2d78cf028b60ae80935eef9b56 + +COUNT = 62 +KEY = 285038733a0d68af235d7f8ff3c6a963 +IV = becc4f2d78cf028b60ae80935eef9b56 +CIPHERTEXT = ba342a16605b2d280f4fc82fcd75f2fc +PLAINTEXT = 7f3299e395e335bc99127e3942d6a0da + +COUNT = 63 +KEY = 5762a190afee5d13ba4f01b6b11009b9 +IV = 7f3299e395e335bc99127e3942d6a0da +CIPHERTEXT = c8caa0322499e26c6337cf6d657f6ea5 +PLAINTEXT = 9d76b20b2544abd3635a3ce96e98f6e7 + +COUNT = 64 +KEY = ca14139b8aaaf6c0d9153d5fdf88ff5e +IV = 9d76b20b2544abd3635a3ce96e98f6e7 +CIPHERTEXT = d12d1bae16789b8f04e730a4a42635a4 +PLAINTEXT = ec0b90a25ff32ceb06e19374cafaea15 + +COUNT = 65 +KEY = 261f8339d559da2bdff4ae2b1572154b +IV = ec0b90a25ff32ceb06e19374cafaea15 +CIPHERTEXT = 750be0fbcc11854150ec578f05fa01cb +PLAINTEXT = e2f48db4be4eeed0384ddbb07eb663c1 + +COUNT = 66 +KEY = c4eb0e8d6b1734fbe7b9759b6bc4768a +IV = e2f48db4be4eeed0384ddbb07eb663c1 +CIPHERTEXT = 84a663aaa187761b9a2baa50ff60c115 +PLAINTEXT = 463c0813d05650fb31fdc4312e6d5e73 + +COUNT = 67 +KEY = 82d7069ebb416400d644b1aa45a928f9 +IV = 463c0813d05650fb31fdc4312e6d5e73 +CIPHERTEXT = d3f421efc3704f6965d690f0b7a49413 +PLAINTEXT = 4e3203a8a80aa7ca550f78c92b38af22 + +COUNT = 68 +KEY = cce50536134bc3ca834bc9636e9187db +IV = 4e3203a8a80aa7ca550f78c92b38af22 +CIPHERTEXT = b68a3d583190adb8c1197a8e41f1c5f9 +PLAINTEXT = c8c37ddbce6e1b36551c8cf02be13841 + +COUNT = 69 +KEY = 042678eddd25d8fcd65745934570bf9a +IV = c8c37ddbce6e1b36551c8cf02be13841 +CIPHERTEXT = e5e1604f4106a479f75ad8840d196189 +PLAINTEXT = 08d95666fb0dd81efb1b801232fe6ce4 + +COUNT = 70 +KEY = 0cff2e8b262800e22d4cc581778ed37e +IV = 08d95666fb0dd81efb1b801232fe6ce4 +CIPHERTEXT = 054e72934e3dfd33659df53070a68da6 +PLAINTEXT = 66b9dc4f8f076e7bfceff887ba70c62c + +COUNT = 71 +KEY = 6a46f2c4a92f6e99d1a33d06cdfe1552 +IV = 66b9dc4f8f076e7bfceff887ba70c62c +CIPHERTEXT = dc1d609ba59a9018f15214a81bce9545 +PLAINTEXT = 7702492b61a36a1c45fd6120ecf801d1 + +COUNT = 72 +KEY = 1d44bbefc88c0485945e5c2621061483 +IV = 7702492b61a36a1c45fd6120ecf801d1 +CIPHERTEXT = 291c772fcade1b9d93e5319a99a100d5 +PLAINTEXT = c89b1c348fb741dd347cb16e9674b854 + +COUNT = 73 +KEY = d5dfa7db473b4558a022ed48b772acd7 +IV = c89b1c348fb741dd347cb16e9674b854 +CIPHERTEXT = 6ec35b8b75671c8113c03a863db7ef66 +PLAINTEXT = 461fe728f4dacaadca23b53e0f57acd3 + +COUNT = 74 +KEY = 93c040f3b3e18ff56a015876b8250004 +IV = 461fe728f4dacaadca23b53e0f57acd3 +CIPHERTEXT = aaf8fc40bfb2a2c4d2a87fa72249eca7 +PLAINTEXT = 3a67246e3efa5011b4375c1f7a38feaa + +COUNT = 75 +KEY = a9a7649d8d1bdfe4de360469c21dfeae +IV = 3a67246e3efa5011b4375c1f7a38feaa +CIPHERTEXT = 8557892bf6a4750541dcf771e71d7fc7 +PLAINTEXT = 6c52ab9407d1ffeb1401a3e8a9af2562 + +COUNT = 76 +KEY = c5f5cf098aca200fca37a7816bb2dbcc +IV = 6c52ab9407d1ffeb1401a3e8a9af2562 +CIPHERTEXT = d3c94898b31559c23308faf2d840cc18 +PLAINTEXT = d0ffa38465719b43dc03fd04f593ef3e + +COUNT = 77 +KEY = 150a6c8defbbbb4c16345a859e2134f2 +IV = d0ffa38465719b43dc03fd04f593ef3e +CIPHERTEXT = 776455c8f7f9e5213147cdbcf81a9c29 +PLAINTEXT = a5b8ec0ab1446dff7ca65eefdecda543 + +COUNT = 78 +KEY = b0b280875effd6b36a92046a40ec91b1 +IV = a5b8ec0ab1446dff7ca65eefdecda543 +CIPHERTEXT = 55dd71ef65c6d454f4838816c5fa73c9 +PLAINTEXT = 4f87bcd174900c60360ecc2aadbd2e3a + +COUNT = 79 +KEY = ff353c562a6fdad35c9cc840ed51bf8b +IV = 4f87bcd174900c60360ecc2aadbd2e3a +CIPHERTEXT = bac4cb5f9d601007b73ac6873238409a +PLAINTEXT = 1bf05ab23bad338eccaef661472c088e + +COUNT = 80 +KEY = e4c566e411c2e95d90323e21aa7db705 +IV = 1bf05ab23bad338eccaef661472c088e +CIPHERTEXT = 7fd273e73a9ed00621ef61b2effc5055 +PLAINTEXT = ce048f07a66ffe1e4a767bd4c0f0405b + +COUNT = 81 +KEY = 2ac1e9e3b7ad1743da4445f56a8df75e +IV = ce048f07a66ffe1e4a767bd4c0f0405b +CIPHERTEXT = 30c5a203491f121d403a65a2889f4607 +PLAINTEXT = 3a743151166fef45f3d3877c307b7c35 + +COUNT = 82 +KEY = 10b5d8b2a1c2f8062997c2895af68b6b +IV = 3a743151166fef45f3d3877c307b7c35 +CIPHERTEXT = 0bec1648fd76d5e5191b283c8e1a28ad +PLAINTEXT = 3ddd0f566fb60c1a98c0b5fe10f8709b + +COUNT = 83 +KEY = 2d68d7e4ce74f41cb15777774a0efbf0 +IV = 3ddd0f566fb60c1a98c0b5fe10f8709b +CIPHERTEXT = f623e08c929a8ee23837355da41dc9d6 +PLAINTEXT = 2a75e30bfb46ac36bcdc1c3d473f9da3 + +COUNT = 84 +KEY = 071d34ef3532582a0d8b6b4a0d316653 +IV = 2a75e30bfb46ac36bcdc1c3d473f9da3 +CIPHERTEXT = 0ae42fd4d075d6f13e62fb00cf18f3be +PLAINTEXT = 8e15feea90c6cb7d5aa3c69e63f53d4f + +COUNT = 85 +KEY = 8908ca05a5f493575728add46ec45b1c +IV = 8e15feea90c6cb7d5aa3c69e63f53d4f +CIPHERTEXT = c62542f3cf5caf7e856d27ca26e1ec2e +PLAINTEXT = 6cb1475177bc8ae3325e13a1e5063fc0 + +COUNT = 86 +KEY = e5b98d54d24819b46576be758bc264dc +IV = 6cb1475177bc8ae3325e13a1e5063fc0 +CIPHERTEXT = 24f732857c55c2918f7e67a4f1b111f2 +PLAINTEXT = e63291f31d9d8e149b9b7a56e397049a + +COUNT = 87 +KEY = 038b1ca7cfd597a0feedc42368556046 +IV = e63291f31d9d8e149b9b7a56e397049a +CIPHERTEXT = 0c99a31b722baa5063abe6185a62e8db +PLAINTEXT = c5e9741d95827a083d824c1362df6015 + +COUNT = 88 +KEY = c66268ba5a57eda8c36f88300a8a0053 +IV = c5e9741d95827a083d824c1362df6015 +CIPHERTEXT = c48f29a5f73f2dfe76dc4e6947832287 +PLAINTEXT = 83bb3288a01213eb8ab68d154ef66392 + +COUNT = 89 +KEY = 45d95a32fa45fe4349d90525447c63c1 +IV = 83bb3288a01213eb8ab68d154ef66392 +CIPHERTEXT = 33e25b99344b304e0ce13a66d2bee6e5 +PLAINTEXT = fde5f6a1f28278a0fbb1317df4de3c08 + +COUNT = 90 +KEY = b83cac9308c786e3b2683458b0a25fc9 +IV = fde5f6a1f28278a0fbb1317df4de3c08 +CIPHERTEXT = ba91c5d6863897524a7d2b3ffda5752b +PLAINTEXT = 033d791f6ed5d4fca44d08e9644d2649 + +COUNT = 91 +KEY = bb01d58c6612521f16253cb1d4ef7980 +IV = 033d791f6ed5d4fca44d08e9644d2649 +CIPHERTEXT = 7881266b60d1cce988a75801fac44180 +PLAINTEXT = e84bc6b185b636fc488ac4e8754e9337 + +COUNT = 92 +KEY = 534a133de3a464e35eaff859a1a1eab7 +IV = e84bc6b185b636fc488ac4e8754e9337 +CIPHERTEXT = c33ffb639ef7a6a2ed7f8f3f520cf166 +PLAINTEXT = 253ad128629e8adbc469dea7fdc9a6bc + +COUNT = 93 +KEY = 7670c215813aee389ac626fe5c684c0b +IV = 253ad128629e8adbc469dea7fdc9a6bc +CIPHERTEXT = 2db34856e6404256907e74f48bfa234b +PLAINTEXT = c3d685f91ad2bc68beea706e5d5b5630 + +COUNT = 94 +KEY = b5a647ec9be85250242c569001331a3b +IV = c3d685f91ad2bc68beea706e5d5b5630 +CIPHERTEXT = 3597b8080c07872a31e861a029242af1 +PLAINTEXT = 6dfa98efcc40db6eda63a72b96701b61 + +COUNT = 95 +KEY = d85cdf0357a8893efe4ff1bb9743015a +IV = 6dfa98efcc40db6eda63a72b96701b61 +CIPHERTEXT = 38ba8fbf7dbb5dc4ea23909266775cde +PLAINTEXT = bd99f4480a8f2685d54c51043be2acdc + +COUNT = 96 +KEY = 65c52b4b5d27afbb2b03a0bfaca1ad86 +IV = bd99f4480a8f2685d54c51043be2acdc +CIPHERTEXT = 5d1ce3a87a41c1bbd61c9fb4efd215c6 +PLAINTEXT = 055132d8074e8b9284de7e257cd0ace8 + +COUNT = 97 +KEY = 609419935a692429afddde9ad071016e +IV = 055132d8074e8b9284de7e257cd0ace8 +CIPHERTEXT = b338fc78d6d70cd21cea8f4d2c416d10 +PLAINTEXT = dc64a59708b5820f98173cc08d105648 + +COUNT = 98 +KEY = bcf0bc0452dca62637cae25a5d615726 +IV = dc64a59708b5820f98173cc08d105648 +CIPHERTEXT = b24ed2df68bb4618d7d789a466ff77ac +PLAINTEXT = ef2a26c3e840b0f06ab139f75602a763 + +COUNT = 99 +KEY = 53da9ac7ba9c16d65d7bdbad0b63f045 +IV = ef2a26c3e840b0f06ab139f75602a763 +CIPHERTEXT = 17837def8d21e27571d20e9688525879 +PLAINTEXT = 4769317b0562c45949c18b3855f8bf4a + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT192.rsp new file mode 100644 index 000000000..b5c3680b5 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT192.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CBC +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:35 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = dea64f83cfe6a0a183ddbe865cfca059b3c615c1623d63fc +IV = 426fbc087b50b395c0fc81ef9fd6d1aa +PLAINTEXT = cd0b8c8a8179ecb171b64c894a4d60fd +CIPHERTEXT = ae6302d22da9458117f5681431fc80df + +COUNT = 1 +KEY = f168c36c40d0d7f92dbebc547155e5d8a4337dd553c1e323 +IV = ae6302d22da9458117f5681431fc80df +PLAINTEXT = fbdafc0fe9c2a68f2fce8cef8f367758 +CIPHERTEXT = 5255b629c39a8f7463c18da37ac8c251 + +COUNT = 2 +KEY = 3c39001862229ee37feb0a7db2cf6aacc7f2f07629092172 +IV = 5255b629c39a8f7463c18da37ac8c251 +PLAINTEXT = 098c23d9da72e1bfcd51c37422f2491a +CIPHERTEXT = 7c3d88f39195cbbab608fbd9010ee2c0 + +COUNT = 3 +KEY = b42ea43dca6955e203d6828e235aa11671fa0baf2807c3b2 +IV = 7c3d88f39195cbbab608fbd9010ee2c0 +PLAINTEXT = 8ef047ba03cad9208817a425a84bcb01 +CIPHERTEXT = dfbed3cc22b0851abe5f45b3203d8de0 + +COUNT = 4 +KEY = 1bc4460fbff59b9cdc68514201ea240ccfa54e1c083a4e52 +IV = dfbed3cc22b0851abe5f45b3203d8de0 +PLAINTEXT = 95a4578e7ca8fdfdafeae232759cce7e +CIPHERTEXT = 5b0d8ddd19fc735a88a4253dea84d336 + +COUNT = 5 +KEY = 4ea492c2f21d73458765dc9f1816575647016b21e2be9d64 +IV = 5b0d8ddd19fc735a88a4253dea84d336 +PLAINTEXT = e2818dd4237c2c905560d4cd4de8e8d9 +CIPHERTEXT = 95b77c48e792cc1c8e729d83daac74c5 + +COUNT = 6 +KEY = ff442df07cf1dbca12d2a0d7ff849b4ac973f6a23812e9a1 +IV = 95b77c48e792cc1c8e729d83daac74c5 +PLAINTEXT = 93565fd6a21bc03eb1e0bf328eeca88f +CIPHERTEXT = 1947fd073c15491250410d845375ea94 + +COUNT = 7 +KEY = bf89def7d627f69e0b955dd0c391d2589932fb266b670335 +IV = 1947fd073c15491250410d845375ea94 +PLAINTEXT = 688475f63e66b6ee40cdf307aad62d54 +CIPHERTEXT = d5f0e55b2bd7c6233d7f0067a9ebf5cd + +COUNT = 8 +KEY = df453d618d032ae8de65b88be846147ba44dfb41c28cf6f8 +IV = d5f0e55b2bd7c6233d7f0067a9ebf5cd +PLAINTEXT = 0592c22472e96c2e60cce3965b24dc76 +CIPHERTEXT = 891c262f019b2be32d2aa030a6817a2e + +COUNT = 9 +KEY = d49998058fd093e857799ea4e9dd3f9889675b71640d8cd6 +IV = 891c262f019b2be32d2aa030a6817a2e +PLAINTEXT = 957bf486b97742360bdca56402d3b900 +CIPHERTEXT = 310deca3a6820a7657bf8a5db024cebf + +COUNT = 10 +KEY = eb907e6d1349f5dd667472074f5f35eeded8d12cd4294269 +IV = 310deca3a6820a7657bf8a5db024cebf +PLAINTEXT = cea81e2227f6e7853f09e6689c996635 +CIPHERTEXT = e3985066b3143b50fc66df9739335224 + +COUNT = 11 +KEY = fa1b2ddd1f0c640785ec2261fc4b0ebe22be0ebbed1a104d +IV = e3985066b3143b50fc66df9739335224 +PLAINTEXT = 668b90d7a8080ea4118b53b00c4591da +CIPHERTEXT = 8b9d3e4c06eccab2edcda8ff7f40f9b2 + +COUNT = 12 +KEY = d6ac530e0665e4080e711c2dfaa7c40ccf73a644925ae9ff +IV = 8b9d3e4c06eccab2edcda8ff7f40f9b2 +PLAINTEXT = 8ced7b635689e5482cb77ed31969800f +CIPHERTEXT = 0931f9f242d76dd6fc4d937f0952ba86 + +COUNT = 13 +KEY = 486a263baf71479f0740e5dfb870a9da333e353b9b085379 +IV = 0931f9f242d76dd6fc4d937f0952ba86 +PLAINTEXT = c5b018529e36f0029ec67535a914a397 +CIPHERTEXT = 237f7eddc1b03aee0ba5d1f608b9052a + +COUNT = 14 +KEY = 9dc39f669baa2878243f9b0279c09334389be4cd93b15653 +IV = 237f7eddc1b03aee0ba5d1f608b9052a +PLAINTEXT = 0ab68725f77f2d34d5a9b95d34db6fe7 +CIPHERTEXT = a1135db61095f503e252b42568de2c16 + +COUNT = 15 +KEY = 39ff51717e149640852cc6b469556637dac950e8fb6f7a45 +IV = a1135db61095f503e252b42568de2c16 +PLAINTEXT = d323f0792984023da43cce17e5bebe38 +CIPHERTEXT = 97ac3a88ba2453b404017c0751c80582 + +COUNT = 16 +KEY = 4e5bc81aeffca3ab1280fc3cd3713583dec82cefaaa77fc7 +IV = 97ac3a88ba2453b404017c0751c80582 +PLAINTEXT = a868aea18c4a380a77a4996b91e835eb +CIPHERTEXT = e0736478393d1a09f9faa3dfa3833df9 + +COUNT = 17 +KEY = 2143b5ab892cde8af2f39844ea4c2f8a27328f300924423e +IV = e0736478393d1a09f9faa3dfa3833df9 +PLAINTEXT = db2b334b09a1b7fd6f187db166d07d21 +CIPHERTEXT = 88fcf9dcc2da5719d9ea7f4b67cbfc63 + +COUNT = 18 +KEY = e5c806c95bd7c5447a0f619828967893fed8f07b6eefbe5d +IV = 88fcf9dcc2da5719d9ea7f4b67cbfc63 +PLAINTEXT = 3d6c5abae8c3572dc48bb362d2fb1bce +CIPHERTEXT = bd5de8c8fc8358d9c3f67f568ffd8429 + +COUNT = 19 +KEY = 7f988895f6f42665c7528950d415204a3d2e8f2de1123a74 +IV = bd5de8c8fc8358d9c3f67f568ffd8429 +PLAINTEXT = 2b42592324e674079a508e5cad23e321 +CIPHERTEXT = 74ad1b7381c258a6872de0c8c3eb9743 + +COUNT = 20 +KEY = ef4bb3f9cf31ecacb3ff922355d778ecba036fe522f9ad37 +IV = 74ad1b7381c258a6872de0c8c3eb9743 +PLAINTEXT = c80eb19b8460e36890d33b6c39c5cac9 +CIPHERTEXT = 2bc67d54b526d9801b9a8e94573330b1 + +COUNT = 21 +KEY = dd9881c291cbc93d9839ef77e0f1a16ca199e17175ca9d86 +IV = 2bc67d54b526d9801b9a8e94573330b1 +PLAINTEXT = 93cd1645ddbf70ee32d3323b5efa2591 +CIPHERTEXT = b9c7f3d5f0c3224cb8639dfb7bd51e8d + +COUNT = 22 +KEY = b746df72d847fbee21fe1ca21032832019fa7c8a0e1f830b +IV = b9c7f3d5f0c3224cb8639dfb7bd51e8d +PLAINTEXT = 955b306b128effed6ade5eb0498c32d3 +CIPHERTEXT = 29a1519a064e1c7e3c5fdc4bb27dba0f + +COUNT = 23 +KEY = 9111ba554a10d6cb085f4d38167c9f5e25a5a0c1bc623904 +IV = 29a1519a064e1c7e3c5fdc4bb27dba0f +PLAINTEXT = 77049100e74dd9762657652792572d25 +CIPHERTEXT = 5782d4c4720e5cb3e80efe7d925dd111 + +COUNT = 24 +KEY = ca0937067bdc4b365fdd99fc6472c3edcdab5ebc2e3fe815 +IV = 5782d4c4720e5cb3e80efe7d925dd111 +PLAINTEXT = d02752f46ab2e0015b188d5331cc9dfd +CIPHERTEXT = 43c11d5a3ab16f5ec657246083dbf41d + +COUNT = 25 +KEY = b045fd30265b53271c1c84a65ec3acb30bfc7adcade41c08 +IV = 43c11d5a3ab16f5ec657246083dbf41d +PLAINTEXT = 910a4de93cf92e8b7a4cca365d871811 +CIPHERTEXT = 7575f3b9eb10f6099cafbfcc5b127fd5 + +COUNT = 26 +KEY = 279d33800d32c3646969771fb5d35aba9753c510f6f663dd +IV = 7575f3b9eb10f6099cafbfcc5b127fd5 +PLAINTEXT = af48d1cae574035c97d8ceb02b699043 +CIPHERTEXT = 621654950ec392e6ba9cd2f818106d12 + +COUNT = 27 +KEY = c8456f31387607460b7f238abb10c85c2dcf17e8eee60ecf +IV = 621654950ec392e6ba9cd2f818106d12 +PLAINTEXT = e8342b9b560e4619efd85cb13544c422 +CIPHERTEXT = 594e2d7dec92e855a4b6644784451c06 + +COUNT = 28 +KEY = adb971592312f9f752310ef757822009897973af6aa312c9 +IV = 594e2d7dec92e855a4b6644784451c06 +PLAINTEXT = c337878f5fe20cab65fc1e681b64feb1 +CIPHERTEXT = 71996652cdc50d57fe23e1b2628d820b + +COUNT = 29 +KEY = c1d8520a8821763b23a868a59a472d5e775a921d082e90c2 +IV = 71996652cdc50d57fe23e1b2628d820b +PLAINTEXT = 0979b12c8a7fb23d6c612353ab338fcc +CIPHERTEXT = c220361663effb878806027c61b37145 + +COUNT = 30 +KEY = 15e434c57315c823e1885eb3f9a8d6d9ff5c9061699de187 +IV = c220361663effb878806027c61b37145 +PLAINTEXT = 406ff6e19b62a0a4d43c66cffb34be18 +CIPHERTEXT = e75200bb94ee9816a8f0d7eed145cf77 + +COUNT = 31 +KEY = 555d6a951affd77206da5e086d464ecf57ac478fb8d82ef0 +IV = e75200bb94ee9816a8f0d7eed145cf77 +PLAINTEXT = 1ea935c92a0037da40b95e5069ea1f51 +CIPHERTEXT = 8af1884479c4a17e533e74ea2f491287 + +COUNT = 32 +KEY = 498baf1e0fb74cc38c2bd64c1482efb10492336597913c77 +IV = 8af1884479c4a17e533e74ea2f491287 +PLAINTEXT = d7a61227365171761cd6c58b15489bb1 +CIPHERTEXT = 35ffaaf0b4912864139efc2ab3355d9c + +COUNT = 33 +KEY = a911189702607ebeb9d47cbca013c7d5170ccf4f24a461eb +IV = 35ffaaf0b4912864139efc2ab3355d9c +PLAINTEXT = 5d3bc1b836701b02e09ab7890dd7327d +CIPHERTEXT = eaf348d0c2ee977485c38b48d761fe60 + +COUNT = 34 +KEY = 99f812cccc38e9df5327346c62fd50a192cf4407f3c59f8b +IV = eaf348d0c2ee977485c38b48d761fe60 +PLAINTEXT = 26105e08664ecf4e30e90a5bce589761 +CIPHERTEXT = e7e97545d24aebe2d17fb13f647b4016 + +COUNT = 35 +KEY = f66176f64a7f493cb4ce4129b0b7bb4343b0f53897bedf9d +IV = e7e97545d24aebe2d17fb13f647b4016 +PLAINTEXT = 3884ac625441ac526f99643a8647a0e3 +CIPHERTEXT = d522f03b5fad7d8a2b7418eb7b74fc9e + +COUNT = 36 +KEY = d274f2cbd81078d461ecb112ef1ac6c968c4edd3ecca2303 +IV = d522f03b5fad7d8a2b7418eb7b74fc9e +PLAINTEXT = 94da3f7fa866f68f2415843d926f31e8 +CIPHERTEXT = 3d32e08a113225baae74c946a2c7efc5 + +COUNT = 37 +KEY = 76c00181d5c7a9495cde5198fe28e373c6b024954e0dccc6 +IV = 3d32e08a113225baae74c946a2c7efc5 +PLAINTEXT = 58fb6fa5f26a479ba4b4f34a0dd7d19d +CIPHERTEXT = 3b861d0c935d60be5b9fa92d7e506090 + +COUNT = 38 +KEY = 10293c883ca8be1867584c946d7583cd9d2f8db8305dac56 +IV = 3b861d0c935d60be5b9fa92d7e506090 +PLAINTEXT = 90e0b8d92bd4927066e93d09e96f1751 +CIPHERTEXT = 10ac041a86b7c8f166824feb2955e2f4 + +COUNT = 39 +KEY = 4e7c1caa40682ac077f4488eebc24b3cfbadc25319084ea2 +IV = 10ac041a86b7c8f166824feb2955e2f4 +PLAINTEXT = 872f628a4790db215e5520227cc094d8 +CIPHERTEXT = ed22f6dccdb32ad8f28db0f47e522244 + +COUNT = 40 +KEY = 755a75de238eca119ad6be52267161e4092072a7675a6ce6 +IV = ed22f6dccdb32ad8f28db0f47e522244 +PLAINTEXT = 99ce1ee536c71d473b26697463e6e0d1 +CIPHERTEXT = 2740113605ed3a989417869b89894005 + +COUNT = 41 +KEY = 5a81b073f30beb28bd96af64239c5b7c9d37f43ceed32ce3 +IV = 2740113605ed3a989417869b89894005 +PLAINTEXT = ced2c0e6704976642fdbc5add0852139 +CIPHERTEXT = cda97c505518ced482ca77d26e47bebb + +COUNT = 42 +KEY = 68760af55c6f3882703fd334768495a81ffd83ee80949258 +IV = cda97c505518ced482ca77d26e47bebb +PLAINTEXT = 79e13097eb9a52a532f7ba86af64d3aa +CIPHERTEXT = 4fba3141f0fdeeb8b984909a0c87f144 + +COUNT = 43 +KEY = 48334dc90977724d3f85e27586797b10a67913748c13631c +IV = 4fba3141f0fdeeb8b984909a0c87f144 +PLAINTEXT = 74ec2eab9929e4b12045473c55184acf +CIPHERTEXT = 0e8b61f4cb4fad6544b366a711219e9c + +COUNT = 44 +KEY = 4a06de7e18c13a1d310e83814d36d675e2ca75d39d32fd80 +IV = 0e8b61f4cb4fad6544b366a711219e9c +PLAINTEXT = 1debed8a70cb5b6a023593b711b64850 +CIPHERTEXT = 1bc00cb93e3aefb515aaedc31f21c39d + +COUNT = 45 +KEY = e33a5942b04e3e872ace8f38730c39c0f760981082133e1d +IV = 1bc00cb93e3aefb515aaedc31f21c39d +PLAINTEXT = a75593b85ac9b3fca93c873ca88f049a +CIPHERTEXT = e3ebb32871a0549c26073dd49fbf38ed + +COUNT = 46 +KEY = 5a68f47999aa77dfc9253c1002ac6d5cd167a5c41dac06f0 +IV = e3ebb32871a0549c26073dd49fbf38ed +PLAINTEXT = 20234d2802c4d9abb952ad3b29e44958 +CIPHERTEXT = ea2771fd476155f02296c961127c8cbe + +COUNT = 47 +KEY = 9f23454ab1045f1023024ded45cd38acf3f16ca50fd08a4e +IV = ea2771fd476155f02296c961127c8cbe +PLAINTEXT = e89bf6f77f5700f7c54bb13328ae28cf +CIPHERTEXT = 3c029b5e0ed8c3c0fdefc74a1591e32a + +COUNT = 48 +KEY = ab1108d0079194a91f00d6b34b15fb6c0e1eabef1a416964 +IV = 3c029b5e0ed8c3c0fdefc74a1591e32a +PLAINTEXT = c28b3948e9a2875034324d9ab695cbb9 +CIPHERTEXT = 1802dfd6fed8365495a15e529d131257 + +COUNT = 49 +KEY = 7aa135cedec2dd8607020965b5cdcd389bbff5bd87527b33 +IV = 1802dfd6fed8365495a15e529d131257 +PLAINTEXT = 1b8b07be5d3cd62ad1b03d1ed953492f +CIPHERTEXT = b132a2b5f73df154bcf08598c112bb00 + +COUNT = 50 +KEY = 950d08b95c84c6b8b630abd042f03c6c274f70254640c033 +IV = b132a2b5f73df154bcf08598c112bb00 +PLAINTEXT = ba072bff3fedafaaefac3d7782461b3e +CIPHERTEXT = 88687bf1375300b8412cf10e35f6a0b1 + +COUNT = 51 +KEY = 3461389779e6debf3e58d02175a33cd46663812b73b66082 +IV = 88687bf1375300b8412cf10e35f6a0b1 +PLAINTEXT = 03c1f719854c00e5a16c302e25621807 +CIPHERTEXT = cf5d505c14e1e272634b4ad58b6ef3d9 + +COUNT = 52 +KEY = 65d4f29a501bdd26f105807d6142dea60528cbfef8d8935b +IV = cf5d505c14e1e272634b4ad58b6ef3d9 +PLAINTEXT = e3893c1cb5ce2c4351b5ca0d29fd0399 +CIPHERTEXT = b6f4294c5dfe121dbda0926d82be4fb7 + +COUNT = 53 +KEY = 215823ea795b087647f1a9313cbcccbbb88859937a66dcec +IV = b6f4294c5dfe121dbda0926d82be4fb7 +PLAINTEXT = f61fc661d2549981448cd1702940d550 +CIPHERTEXT = 5bd85fe4d65e2c65f90cb6507efd6926 + +COUNT = 54 +KEY = 97f5a202cbd9fb701c29f6d5eae2e0de4184efc3049bb5ca +IV = 5bd85fe4d65e2c65f90cb6507efd6926 +PLAINTEXT = 580cc78abcd0ee5cb6ad81e8b282f306 +CIPHERTEXT = 796d26db10570b0d8e1d2c83d919fff5 + +COUNT = 55 +KEY = 5309006d379b61316544d00efab5ebd3cf99c340dd824a3f +IV = 796d26db10570b0d8e1d2c83d919fff5 +PLAINTEXT = cc1353f5c0e33ecec4fca26ffc429a41 +CIPHERTEXT = 70a41df4e39c87e930be402e7ec7a9e6 + +COUNT = 56 +KEY = 86205124ce7db0f215e0cdfa19296c3aff27836ea345e3d9 +IV = 70a41df4e39c87e930be402e7ec7a9e6 +PLAINTEXT = d3bfb98390932b1ed5295149f9e6d1c3 +CIPHERTEXT = d5656a8127e8ab6d1cf85950a0d46780 + +COUNT = 57 +KEY = 317d14fdaf6a5735c085a77b3ec1c757e3dfda3e03918459 +IV = d5656a8127e8ab6d1cf85950a0d46780 +PLAINTEXT = 7067f356c3145c6bb75d45d96117e7c7 +CIPHERTEXT = c015fd2052c439238dac770449ca9226 + +COUNT = 58 +KEY = d93f27e8954c246f00905a5b6c05fe746e73ad3a4a5b167f +IV = c015fd2052c439238dac770449ca9226 +PLAINTEXT = 648e2556960d9619e84233153a26735a +CIPHERTEXT = 5b239007085a85e5a3bd7ac408155193 + +COUNT = 59 +KEY = cde1645826a7c6015bb3ca5c645f7b91cdced7fe424e47ec +IV = 5b239007085a85e5a3bd7ac408155193 +PLAINTEXT = 0e1a9208acbd013d14de43b0b3ebe26e +CIPHERTEXT = 7fd4917e61195348cd0492f3c8968e92 + +COUNT = 60 +KEY = 7ecb88acea780b2e24675b22054628d900ca450d8ad8c97e +IV = 7fd4917e61195348cd0492f3c8968e92 +PLAINTEXT = 15d1ed1c3cc99053b32aecf4ccdfcd2f +CIPHERTEXT = e60f9515cb006df44d3f2a623bbd9b5f + +COUNT = 61 +KEY = 83d085eb1d98cc7ec268ce37ce46452d4df56f6fb1655221 +IV = e60f9515cb006df44d3f2a623bbd9b5f +PLAINTEXT = d9ccd99fce74d52afd1b0d47f7e0c750 +CIPHERTEXT = 49ea945afb474efbc0aa5455f3bbb38e + +COUNT = 62 +KEY = 79f06b7f88f81a648b825a6d35010bd68d5f3b3a42dee1af +IV = 49ea945afb474efbc0aa5455f3bbb38e +PLAINTEXT = f2c7cc262702ea5cfa20ee949560d61a +CIPHERTEXT = a5c8b179a404e0441c24f66854df06a8 + +COUNT = 63 +KEY = fc358848156e598b2e4aeb149105eb92917bcd521601e707 +IV = a5c8b179a404e0441c24f66854df06a8 +PLAINTEXT = 51db57f1067bca8e85c5e3379d9643ef +CIPHERTEXT = d8dcb58170e2f37f74af77ad812a510a + +COUNT = 64 +KEY = c8b36b3a5b9c2479f6965e95e1e718ede5d4baff972bb60d +IV = d8dcb58170e2f37f74af77ad812a510a +PLAINTEXT = d1297a535746a2023486e3724ef27df2 +CIPHERTEXT = ed4e39994b4f35b08e5ac5ab00471133 + +COUNT = 65 +KEY = 3af681fe70bb3f661bd8670caaa82d5d6b8e7f54976ca73e +IV = ed4e39994b4f35b08e5ac5ab00471133 +PLAINTEXT = f7f93c6daf89b6f4f245eac42b271b1f +CIPHERTEXT = 9820c542eda01f00d312d3f552d93813 + +COUNT = 66 +KEY = 048efbc1835282fe83f8a24e4708325db89caca1c5b59f2d +IV = 9820c542eda01f00d312d3f552d93813 +PLAINTEXT = 2d4d4dd4d568d7553e787a3ff3e9bd98 +CIPHERTEXT = fd4acdd02de72a81875c987a61033bb9 + +COUNT = 67 +KEY = 3261fcae3a4f65bc7eb26f9e6aef18dc3fc034dba4b6a494 +IV = fd4acdd02de72a81875c987a61033bb9 +PLAINTEXT = 843e76e21a19b29b36ef076fb91de742 +CIPHERTEXT = 6cc0510fd37eb588ea35eb2eae8771ba + +COUNT = 68 +KEY = 7541ff4ac8d6cc0312723e91b991ad54d5f5dff50a31d52e +IV = 6cc0510fd37eb588ea35eb2eae8771ba +PLAINTEXT = 8fa1d4b49642b5d5472003e4f299a9bf +CIPHERTEXT = 71ed0eb95a6024ea7854d445f71c469d + +COUNT = 69 +KEY = 918b413f20e3707c639f3028e3f189beada10bb0fd2d93b3 +IV = 71ed0eb95a6024ea7854d445f71c469d +PLAINTEXT = a0c8db1db098df2be4cabe75e835bc7f +CIPHERTEXT = 27d9fc3e02255fa1c0a4fe6440c5a798 + +COUNT = 70 +KEY = 916045728f35ed2e4446cc16e1d4d61f6d05f5d4bde8342b +IV = 27d9fc3e02255fa1c0a4fe6440c5a798 +PLAINTEXT = 967159489457f27e00eb044dafd69d52 +CIPHERTEXT = ebc4d3a573ba7f280ef8c8c1237bcd14 + +COUNT = 71 +KEY = b735e96fc2882a10af821fb3926ea93763fd3d159e93f93f +IV = ebc4d3a573ba7f280ef8c8c1237bcd14 +PLAINTEXT = b7824d8a4f4d866c2655ac1d4dbdc73e +CIPHERTEXT = 561621dd9e3bdb5eadba9ee3fdb03244 + +COUNT = 72 +KEY = b9961ec7f13d40ddf9943e6e0c557269ce47a3f66323cb7b +IV = 561621dd9e3bdb5eadba9ee3fdb03244 +PLAINTEXT = e82a7916da17d7bc0ea3f7a833b56acd +CIPHERTEXT = 864dd6a09db3bdec2c98a29690ee2a00 + +COUNT = 73 +KEY = c41e3c0fea44a9f27fd9e8ce91e6cf85e2df0160f3cde17b +IV = 864dd6a09db3bdec2c98a29690ee2a00 +PLAINTEXT = 8cba9d9ef7540c1c7d8822c81b79e92f +CIPHERTEXT = 6752fb5d36d2b18f363853f9d6d5c222 + +COUNT = 74 +KEY = b3d55549cced8bde188b1393a7347e0ad4e7529925182359 +IV = 6752fb5d36d2b18f363853f9d6d5c222 +PLAINTEXT = 4670019b12b604b277cb694626a9222c +CIPHERTEXT = f6083276cd6ada91ba2ce982d32879da + +COUNT = 75 +KEY = 712e0554dd26dee7ee8321e56a5ea49b6ecbbb1bf6305a83 +IV = f6083276cd6ada91ba2ce982d32879da +PLAINTEXT = 9bd8269bd998d2c8c2fb501d11cb5539 +CIPHERTEXT = 3cbc9283485380ec2a8d5d3cc2027991 + +COUNT = 76 +KEY = 0a6b9098669e5a97d23fb366220d24774446e62734322312 +IV = 3cbc9283485380ec2a8d5d3cc2027991 +PLAINTEXT = db1f827306a83e247b4595ccbbb88470 +CIPHERTEXT = 4d6eb5a8d6e95f55e86e171246e8f992 + +COUNT = 77 +KEY = 9496d5da702a04a29f5106cef4e47b22ac28f13572dada80 +IV = 4d6eb5a8d6e95f55e86e171246e8f992 +PLAINTEXT = 06958bc6ec685d069efd454216b45e35 +CIPHERTEXT = d8dfa5ed686aadca18dcdd30d44bebc5 + +COUNT = 78 +KEY = 99238d39ad8ea54d478ea3239c8ed6e8b4f42c05a6913145 +IV = d8dfa5ed686aadca18dcdd30d44bebc5 +PLAINTEXT = 942fef45067b07e30db558e3dda4a1ef +CIPHERTEXT = 330d199caffa9b5645502ebad99bde6b + +COUNT = 79 +KEY = 791d69a74b1694057483babf33744dbef1a402bf7f0aef2e +IV = 330d199caffa9b5645502ebad99bde6b +PLAINTEXT = f30df134beb567f8e03ee49ee6983148 +CIPHERTEXT = aeace34db2d66f3eb44acf36c968948a + +COUNT = 80 +KEY = aca429ad331f62b7da2f59f281a2228045eecd89b6627ba4 +IV = aeace34db2d66f3eb44acf36c968948a +PLAINTEXT = d60e38ba7f4752d4d5b9400a7809f6b2 +CIPHERTEXT = 7dd245f19499eb7886f10f975c188583 + +COUNT = 81 +KEY = a224701cbfb2b425a7fd1c03153bc9f8c31fc21eea7afe27 +IV = 7dd245f19499eb7886f10f975c188583 +PLAINTEXT = 5ab30e3daa251cca0e8059b18cadd692 +CIPHERTEXT = 4165c4be8f3f9acd2cf40307da7f6a12 + +COUNT = 82 +KEY = 2c5c0ace39a44ce1e698d8bd9a045335efebc11930059435 +IV = 4165c4be8f3f9acd2cf40307da7f6a12 +PLAINTEXT = 4b9294b3adfc74228e787ad28616f8c4 +CIPHERTEXT = 5b85832921ff754e4f655aacf7f73477 + +COUNT = 83 +KEY = 0147742ad7100f72bd1d5b94bbfb267ba08e9bb5c7f2a042 +IV = 5b85832921ff754e4f655aacf7f73477 +PLAINTEXT = ee6110ccf76f8bd32d1b7ee4eeb44393 +CIPHERTEXT = e52fd96a0f05e4856af6004753818672 + +COUNT = 84 +KEY = c5cdc2bbc6d86875583282feb4fec2feca789bf294732630 +IV = e52fd96a0f05e4856af6004753818672 +PLAINTEXT = a74ac8dddc39aff2c48ab69111c86707 +CIPHERTEXT = dfe6126d3d72ff486dc6a178cc320c9b + +COUNT = 85 +KEY = 45a8698fc66044fb87d49093898c3db6a7be3a8a58412aab +IV = dfe6126d3d72ff486dc6a178cc320c9b +PLAINTEXT = 1142026e596348a68065ab3400b82c8e +CIPHERTEXT = 45c7866ba1a3f940942f81ccc4030c93 + +COUNT = 86 +KEY = 59033500660e16c6c21316f8282fc4f63391bb469c422638 +IV = 45c7866ba1a3f940942f81ccc4030c93 +PLAINTEXT = 512a4e49fbb8eb901cab5c8fa06e523d +CIPHERTEXT = af4758318f55df21018432b069d6928f + +COUNT = 87 +KEY = 14bb11d88a9f95cb6d544ec9a77a1bd7321589f6f594b4b7 +IV = af4758318f55df21018432b069d6928f +PLAINTEXT = 5e19fd8d4d2243d14db824d8ec91830d +CIPHERTEXT = 659389a7e4382bdb16ddab37e7bcd84f + +COUNT = 88 +KEY = 97df0a9eeef292da08c7c76e4342300c24c822c112286cf8 +IV = 659389a7e4382bdb16ddab37e7bcd84f +PLAINTEXT = 8faebc7400b4e0ce83641b46646d0711 +CIPHERTEXT = 4f21aaf2254b6e8f53fd013ddd4d9c8f + +COUNT = 89 +KEY = 8d321c6dcbbc777247e66d9c66095e83773523fccf65f077 +IV = 4f21aaf2254b6e8f53fd013ddd4d9c8f +PLAINTEXT = f8311e81a79ea99b1aed16f3254ee5a8 +CIPHERTEXT = 5cebe2c809ba39769ebffe9afa6bc349 + +COUNT = 90 +KEY = 4cc9fabe0198e4831b0d8f546fb367f5e98add66350e333e +IV = 5cebe2c809ba39769ebffe9afa6bc349 +PLAINTEXT = fb62fe0f565886dcc1fbe6d3ca2493f1 +CIPHERTEXT = 91a80b921c1138ed79425e141dbc1960 + +COUNT = 91 +KEY = 1504553ce08cb5bc8aa584c673a25f1890c8837228b22a5e +IV = 91a80b921c1138ed79425e141dbc1960 +PLAINTEXT = 17ccaa1361adc10659cdaf82e114513f +CIPHERTEXT = d2b346b70702d6dcd9958c82035ef3b5 + +COUNT = 92 +KEY = 7a482e8202fad7f05816c27174a089c4495d0ff02becd9eb +IV = d2b346b70702d6dcd9958c82035ef3b5 +PLAINTEXT = 3164c2b15e5453356f4c7bbee276624c +CIPHERTEXT = b01b0747c25ee46e18baf51c141b78da + +COUNT = 93 +KEY = e5d1cece91efd4efe80dc536b6fe6daa51e7faec3ff7a131 +IV = b01b0747c25ee46e18baf51c141b78da +PLAINTEXT = 20c1fdf70c8fa2e59f99e04c9315031f +CIPHERTEXT = 4a2436d7a2d4d14a0e80b1003965dd63 + +COUNT = 94 +KEY = 999e798285cfb491a229f3e1142abce05f674bec06927c52 +IV = 4a2436d7a2d4d14a0e80b1003965dd63 +PLAINTEXT = 96b21bb18b54321a7c4fb74c1420607e +CIPHERTEXT = 5686824a16847aaa7313c5147b62cf8a + +COUNT = 95 +KEY = 2289730dbe396eeff4af71ab02aec64a2c748ef87df0b3d8 +IV = 5686824a16847aaa7313c5147b62cf8a +PLAINTEXT = 8a3bfe1fe285faf9bb170a8f3bf6da7e +CIPHERTEXT = ce7f4e2e2a14f24cf8877580f16952ae + +COUNT = 96 +KEY = d39847e13e4391d23ad03f8528ba3406d4f3fb788c99e176 +IV = ce7f4e2e2a14f24cf8877580f16952ae +PLAINTEXT = 7e368d3a563d9149f11134ec807aff3d +CIPHERTEXT = c4824d737666b8cf9bf8afa5e3d6c163 + +COUNT = 97 +KEY = ab86e1e9bc7ebb9cfe5272f65edc8cc94f0b54dd6f4f2015 +IV = c4824d737666b8cf9bf8afa5e3d6c163 +PLAINTEXT = 24b1451ec5db0151781ea608823d2a4e +CIPHERTEXT = f98887f0babb4031182af09852040c0b + +COUNT = 98 +KEY = 92d9ee2f0e57def207daf506e467ccf85721a4453d4b2c1e +IV = f98887f0babb4031182af09852040c0b +PLAINTEXT = 1b7e698ed3533c3d395f0fc6b229656e +CIPHERTEXT = 20c049230bf4646b1a731efdaaca87e6 + +COUNT = 99 +KEY = 80602529f5487636271abc25ef93a8934d52bab89781abf8 +IV = 20c049230bf4646b1a731efdaaca87e6 +PLAINTEXT = 550a6e3176cda8a412b9cb06fb1fa8c4 +CIPHERTEXT = e6457bfc3433e80299c52b2be418f582 + + +[DECRYPT] + +COUNT = 0 +KEY = a24ebd4d7a080c28caae984b5098a9ea38cf7280e2c5f122 +IV = c5aeb9b51ad5108371c59d0b90816310 +CIPHERTEXT = eb2c4e2712591ff13b8ac7870c9c404c +PLAINTEXT = 886dc6ee8774e7a5b378ac8a2b637e50 + +COUNT = 1 +KEY = 11619627c9d45a5f42c35ea5d7ec4e4f8bb7de0ac9a68f72 +IV = 886dc6ee8774e7a5b378ac8a2b637e50 +CIPHERTEXT = 314400bcc43239a8b32f2b6ab3dc5677 +PLAINTEXT = 0e2021cc9359f58773c4f52a2c9112ec + +COUNT = 2 +KEY = f0f10e2fa82777d54ce37f6944b5bbc8f8732b20e5379d9e +IV = 0e2021cc9359f58773c4f52a2c9112ec +CIPHERTEXT = 3d0f6d5b7aea0bd1e190980861f32d8a +PLAINTEXT = a0393c7f6aa2e97f2b7f9b79f3443262 + +COUNT = 3 +KEY = be47ec588ef29140ecda43162e1752b7d30cb0591673affc +IV = a0393c7f6aa2e97f2b7f9b79f3443262 +CIPHERTEXT = 4b42e7cde175fdc04eb6e27726d5e695 +PLAINTEXT = 92d271f081ae21155e50626076e788d9 + +COUNT = 4 +KEY = f87b61ad2c737d127e0832e6afb973a28d5cd23960942725 +IV = 92d271f081ae21155e50626076e788d9 +CIPHERTEXT = 80d07c01895f7f2e463c8df5a281ec52 +PLAINTEXT = 505829b574d546b1264c56c330b4e950 + +COUNT = 5 +KEY = 632075f8011a6d1d2e501b53db6c3513ab1084fa5020ce75 +IV = 505829b574d546b1264c56c330b4e950 +CIPHERTEXT = b43bf71e0667eef19b5b14552d69100f +PLAINTEXT = eebb5d3b42d330b170c5285327f0d9cb + +COUNT = 6 +KEY = 994b73e54a2b3c39c0eb466899bf05a2dbd5aca977d017be +IV = eebb5d3b42d330b170c5285327f0d9cb +CIPHERTEXT = 8fe1124949e2f9acfa6b061d4b315124 +PLAINTEXT = 6744276e2b7e97e08f7187baf28eae85 + +COUNT = 7 +KEY = a17c9cdd753dd16da7af6106b2c1924254a42b13855eb93b +IV = 6744276e2b7e97e08f7187baf28eae85 +CIPHERTEXT = ab6ec94f95656c8c3837ef383f16ed54 +PLAINTEXT = f46f3b9e8cc5dc7923bb555541b1b75d + +COUNT = 8 +KEY = cf79548fa5f4ca1c53c05a983e044e3b771f7e46c4ef0e66 +IV = f46f3b9e8cc5dc7923bb555541b1b75d +CIPHERTEXT = d1a28dca9d02f4e96e05c852d0c91b71 +PLAINTEXT = ce6ebd403727ab524b4adf40ebb0dea2 + +COUNT = 9 +KEY = ca1f2f724a1b7c189daee7d80923e5693c55a1062f5fd0c4 +IV = ce6ebd403727ab524b4adf40ebb0dea2 +CIPHERTEXT = e3e7bc3d1935b30a05667bfdefefb604 +PLAINTEXT = 3ba2939ed496ebbedb520736d683cfd4 + +COUNT = 10 +KEY = d0e6cb1b0f451ef9a60c7446ddb50ed7e707a630f9dc1f10 +IV = 3ba2939ed496ebbedb520736d683cfd4 +CIPHERTEXT = e0bc4402bf5225d51af9e469455e62e1 +PLAINTEXT = 94a617d1bfa55b3bbb400555814ae6e9 + +COUNT = 11 +KEY = 49778780fff4d52b32aa6397621055ec5c47a3657896f9f9 +IV = 94a617d1bfa55b3bbb400555814ae6e9 +CIPHERTEXT = 5f9daaf62a4eee3d99914c9bf0b1cbd2 +PLAINTEXT = 0807a31d407fcc8b053f123bd5ea87b4 + +COUNT = 12 +KEY = 93a80b58c3c5e35a3aadc08a226f99675978b15ead7c7e4d +IV = 0807a31d407fcc8b053f123bd5ea87b4 +CIPHERTEXT = 2e3a569ba4fb6c84dadf8cd83c313671 +PLAINTEXT = 7ae153d2f9d08173beaf32d2aa66dc41 + +COUNT = 13 +KEY = 30992e2714ffe6d8404c9358dbbf1814e7d7838c071aa20c +IV = 7ae153d2f9d08173beaf32d2aa66dc41 +CIPHERTEXT = 8945921d47e5f4f2a331257fd73a0582 +PLAINTEXT = e1f78037aa326b0fda1d0fd3aea31194 + +COUNT = 14 +KEY = 68f7302951a5f083a1bb136f718d731b3dca8c5fa9b9b398 +IV = e1f78037aa326b0fda1d0fd3aea31194 +CIPHERTEXT = 7a33ff3eee64aa52586e1e0e455a165b +PLAINTEXT = f67e288fba9b76788c4455a1cedf97c7 + +COUNT = 15 +KEY = 05f8c6fda804342557c53be0cb160563b18ed9fe6766245f +IV = f67e288fba9b76788c4455a1cedf97c7 +CIPHERTEXT = 19ccd6babb7a43f56d0ff6d4f9a1c4a6 +PLAINTEXT = 4744997bd60346561b7df3ba8e28e5dd + +COUNT = 16 +KEY = e9134a2de96b86451081a29b1d154335aaf32a44e94ec182 +IV = 4744997bd60346561b7df3ba8e28e5dd +CIPHERTEXT = 441c1f0af9840a3ceceb8cd0416fb260 +PLAINTEXT = 049f254bc453107fc239eabc660dd8ef + +COUNT = 17 +KEY = 815f9c7329c5f2a3141e87d0d946534a68cac0f88f43196d +IV = 049f254bc453107fc239eabc660dd8ef +CIPHERTEXT = dfa2eccf87508648684cd65ec0ae74e6 +PLAINTEXT = 53991b7f3b1bcc2e03b9f70296a51d9d + +COUNT = 18 +KEY = fc570b34cdf9dabb47879cafe25d9f646b7337fa19e604f0 +IV = 53991b7f3b1bcc2e03b9f70296a51d9d +CIPHERTEXT = 002e178852b0250b7d089747e43c2818 +PLAINTEXT = b7d15c6b1ccbbdd982de20ff93847bce + +COUNT = 19 +KEY = ce78e4750a52a6f6f056c0c4fe9622bde9ad17058a627f3e +IV = b7d15c6b1ccbbdd982de20ff93847bce +CIPHERTEXT = b83e908cfb778817322fef41c7ab7c4d +PLAINTEXT = 81e2f38b8ab4e2104661574c06fd3713 + +COUNT = 20 +KEY = 227d78b964b0054871b4334f7422c0adafcc40498c9f482d +IV = 81e2f38b8ab4e2104661574c06fd3713 +CIPHERTEXT = ded1512930a13025ec059ccc6ee2a3be +PLAINTEXT = ef358cc6aa12e306716b3846b8d6093c + +COUNT = 21 +KEY = 6f6df50df9ea97989e81bf89de3023abdea7780f34494111 +IV = ef358cc6aa12e306716b3846b8d6093c +CIPHERTEXT = e2c05f3f6812d3a84d108db49d5a92d0 +PLAINTEXT = 8a9a39d73fd85096a333fabde599badb + +COUNT = 22 +KEY = 82ac538c5939635c141b865ee1e8733d7d9482b2d1d0fbca +IV = 8a9a39d73fd85096a333fabde599badb +CIPHERTEXT = 1a0893ebc445a55eedc1a681a0d3f4c4 +PLAINTEXT = 6d5f45120b9f6fe14ba1629716aea731 + +COUNT = 23 +KEY = be25f35377330ac47944c34cea771cdc3635e025c77e5cfb +IV = 6d5f45120b9f6fe14ba1629716aea731 +CIPHERTEXT = 7cdf4f75cdd769e33c89a0df2e0a6998 +PLAINTEXT = 376da213aa73a9a4fc04716676877fdd + +COUNT = 24 +KEY = f649b8f6b9cd98ab4e29615f4004b578ca319143b1f92326 +IV = 376da213aa73a9a4fc04716676877fdd +CIPHERTEXT = 65d4d6dbe15477ff486c4ba5cefe926f +PLAINTEXT = 55b1e2e41f72ea5b78c8c8362613f684 + +COUNT = 25 +KEY = f801fb4b25ed09581b9883bb5f765f23b2f9597597ead5a2 +IV = 55b1e2e41f72ea5b78c8c8362613f684 +CIPHERTEXT = fa0dbc5914a00e670e4843bd9c2091f3 +PLAINTEXT = 8bcaa9a6876a0079fcf16b0bd771c65d + +COUNT = 26 +KEY = f2af92a3214508a190522a1dd81c5f5a4e08327e409b13ff +IV = 8bcaa9a6876a0079fcf16b0bd771c65d +CIPHERTEXT = d74e06b993dfd5a90aae69e804a801f9 +PLAINTEXT = 7943ada7b71549e8bb83088a08ee3516 + +COUNT = 27 +KEY = 9856244e88284d40e91187ba6f0916b2f58b3af4487526e9 +IV = 7943ada7b71549e8bb83088a08ee3516 +CIPHERTEXT = 9762e54286d1e4d86af9b6eda96d45e1 +PLAINTEXT = d6833bb12059a05d6f32c4e469ca49f9 + +COUNT = 28 +KEY = 181845914c608c733f92bc0b4f50b6ef9ab9fe1021bf6f10 +IV = d6833bb12059a05d6f32c4e469ca49f9 +CIPHERTEXT = 4380726fd3bde314804e61dfc448c133 +PLAINTEXT = 3dc2f712f3fb8b488756b92b0565d79d + +COUNT = 29 +KEY = abb5e8e28f20379302504b19bcab3da71def473b24dab88d +IV = 3dc2f712f3fb8b488756b92b0565d79d +CIPHERTEXT = 7f4980055eb503bbb3adad73c340bbe0 +PLAINTEXT = 24ec29a212fb254512666a3bb339b15d + +COUNT = 30 +KEY = 11ca76d31cda661126bc62bbae5018e20f892d0097e309d0 +IV = 24ec29a212fb254512666a3bb339b15d +CIPHERTEXT = 2d10b1d89e21aa49ba7f9e3193fa5182 +PLAINTEXT = 8b4067a32348c88cb9d56642a35d0d2e + +COUNT = 31 +KEY = 4e37e61829a4f3beadfc05188d18d06eb65c4b4234be04fe +IV = 8b4067a32348c88cb9d56642a35d0d2e +CIPHERTEXT = 224b985ddb15c9815ffd90cb357e95af +PLAINTEXT = 9b495abff46c7dcfcb5ced9e5925a47e + +COUNT = 32 +KEY = e739d5f7a3e0372336b55fa77974ada17d00a6dc6d9ba080 +IV = 9b495abff46c7dcfcb5ced9e5925a47e +CIPHERTEXT = 65b1eed40e2fa3b5a90e33ef8a44c49d +PLAINTEXT = c80e9741d0ddc4e523b410614f5b1b86 + +COUNT = 33 +KEY = a096360895c734e1febbc8e6a9a969445eb4b6bd22c0bb06 +IV = c80e9741d0ddc4e523b410614f5b1b86 +CIPHERTEXT = 0776e60ffcf629d147afe3ff362703c2 +PLAINTEXT = 38eecb5feb5f04971f423b7d0ce25a79 + +COUNT = 34 +KEY = 9a65c6fea2794729c65503b942f66dd341f68dc02e22e17f +IV = 38eecb5feb5f04971f423b7d0ce25a79 +CIPHERTEXT = f1da4653d66183943af3f0f637be73c8 +PLAINTEXT = 1c2d730f1298ccdf18f82a3b14147da0 + +COUNT = 35 +KEY = 40eff32ffd3fe623da7870b6506ea10c590ea7fb3a369cdf +IV = 1c2d730f1298ccdf18f82a3b14147da0 +CIPHERTEXT = 912c42a3f32d44adda8a35d15f46a10a +PLAINTEXT = 1fc70f77562b3bbcee06990d53508f3a + +COUNT = 36 +KEY = d7be32c04577cae0c5bf7fc106459ab0b7083ef6696613e5 +IV = 1fc70f77562b3bbcee06990d53508f3a +CIPHERTEXT = 2490098782955a6f9751c1efb8482cc3 +PLAINTEXT = e65fd38cbb0f480aec271a2206517b59 + +COUNT = 37 +KEY = 0fd20b5e669c994023e0ac4dbd4ad2ba5b2f24d46f3768bc +IV = e65fd38cbb0f480aec271a2206517b59 +CIPHERTEXT = 46a3572d7ce75c63d86c399e23eb53a0 +PLAINTEXT = 1f24184195908b01955d8dea67c954cd + +COUNT = 38 +KEY = de40ccd6f7bf374e3cc4b40c28da59bbce72a93e08fe3c71 +IV = 1f24184195908b01955d8dea67c954cd +CIPHERTEXT = 7e5eda29ed52167ad192c7889123ae0e +PLAINTEXT = ba289bd82923a475781e785dbf973c23 + +COUNT = 39 +KEY = 65fbdd2f96044a8186ec2fd401f9fdceb66cd163b7690052 +IV = ba289bd82923a475781e785dbf973c23 +CIPHERTEXT = 7e41097e4661d80dbbbb11f961bb7dcf +PLAINTEXT = a675a94bc5e2fd12488fa65bfad5d67c + +COUNT = 40 +KEY = 0a70b7172c0c3dab2099869fc41b00dcfee377384dbcd62e +IV = a675a94bc5e2fd12488fa65bfad5d67c +CIPHERTEXT = 0aa0ee27086833eb6f8b6a38ba08772a +PLAINTEXT = 9e46a75d59e09bdb64a316ea478f27ed + +COUNT = 41 +KEY = 9cced807d995513cbedf21c29dfb9b079a4061d20a33f1c3 +IV = 9e46a75d59e09bdb64a316ea478f27ed +CIPHERTEXT = 83372b9735177a1f96be6f10f5996c97 +PLAINTEXT = 86de71e6b8f1a30d1a1025550d16d507 + +COUNT = 42 +KEY = 6b4f81a41df670f338015024250a380a80504487072524c4 +IV = 86de71e6b8f1a30d1a1025550d16d507 +CIPHERTEXT = 7c5a53fe6edc5f56f78159a3c46321cf +PLAINTEXT = 1cd13dc77d4fe6cbf684e5d7528ad13a + +COUNT = 43 +KEY = 184fbdbf6d602dfb24d06de35845dec176d4a15055aff5fe +IV = 1cd13dc77d4fe6cbf684e5d7528ad13a +CIPHERTEXT = 730754aeb8ad6ff673003c1b70965d08 +PLAINTEXT = 0965af4ee97a08a2328b9b779e6f23dc + +COUNT = 44 +KEY = c478840531c3f8f92db5c2adb13fd663445f3a27cbc0d622 +IV = 0965af4ee97a08a2328b9b779e6f23dc +CIPHERTEXT = 041902e77eee2b7fdc3739ba5ca3d502 +PLAINTEXT = df810a3a1a8a5542455f7a2d4a6d6663 + +COUNT = 45 +KEY = ea5083e24a23e692f234c897abb583210100400a81adb041 +IV = df810a3a1a8a5542455f7a2d4a6d6663 +CIPHERTEXT = d4b6a0cfedcb8d192e2807e77be01e6b +PLAINTEXT = 883698132599e654637624cd666607a7 + +COUNT = 46 +KEY = 375628c763c0cfd97a0250848e2c6575627664c7e7cbb7e6 +IV = 883698132599e654637624cd666607a7 +CIPHERTEXT = 4acce60d241f7bb6dd06ab2529e3294b +PLAINTEXT = c40a542ffa6f7901af422a02c1d0a92f + +COUNT = 47 +KEY = 3751111dd90a75c8be0804ab74431c74cd344ec5261b1ec9 +IV = c40a542ffa6f7901af422a02c1d0a92f +CIPHERTEXT = 0fcb7ea31b89c084000739dabacaba11 +PLAINTEXT = 6a11b077f3f670cb543cc773d2abce25 + +COUNT = 48 +KEY = beb33f74f5493384d419b4dc87b56cbf990889b6f4b0d0ec +IV = 6a11b077f3f670cb543cc773d2abce25 +CIPHERTEXT = 494028accde0675189e22e692c43464c +PLAINTEXT = 14a6f08a7a2e14cfaff43e09492ee667 + +COUNT = 49 +KEY = c5dbd7a3dc7bcbd5c0bf4456fd9b787036fcb7bfbd9e368b +IV = 14a6f08a7a2e14cfaff43e09492ee667 +CIPHERTEXT = 6d71634bda1a64637b68e8d72932f851 +PLAINTEXT = 97c6d9652e63da0a93303b6c19c5fb42 + +COUNT = 50 +KEY = be74b446dcdc196657799d33d3f8a27aa5cc8cd3a45bcdc9 +IV = 97c6d9652e63da0a93303b6c19c5fb42 +CIPHERTEXT = e08bd1022fd83ebf7baf63e500a7d2b3 +PLAINTEXT = 4c7fa7a37739623f3128d43eddc1f90b + +COUNT = 51 +KEY = d6ed7a9b90d7977f1b063a90a4c1c04594e458ed799a34c2 +IV = 4c7fa7a37739623f3128d43eddc1f90b +CIPHERTEXT = 6a36a5ed4823544d6899cedd4c0b8e19 +PLAINTEXT = a13563e1d5fd1e1229ac1f78a4fec99a + +COUNT = 52 +KEY = 9b6cd9d32d5f1879ba335971713cde57bd484795dd64fd58 +IV = a13563e1d5fd1e1229ac1f78a4fec99a +CIPHERTEXT = 5721aaf7ea6e7cc04d81a348bd888f06 +PLAINTEXT = 4505f8d5523bef49e38a58dcbe848fb3 + +COUNT = 53 +KEY = d80b36345f47dec4ff36a1a42307311e5ec21f4963e072eb +IV = 4505f8d5523bef49e38a58dcbe848fb3 +CIPHERTEXT = 9da09d0beb5125564367efe77218c6bd +PLAINTEXT = c89c28e5cdcf8fdb862cb1dcc9189492 + +COUNT = 54 +KEY = 1558001bd538760537aa8941eec8bec5d8eeae95aaf8e679 +IV = c89c28e5cdcf8fdb862cb1dcc9189492 +CIPHERTEXT = e79e1752cbe351f7cd53362f8a7fa8c1 +PLAINTEXT = 51fb6781363c1fe373b93cbfca2a5654 + +COUNT = 55 +KEY = 9d7c9787c02493fe6651eec0d8f4a126ab57922a60d2b02d +IV = 51fb6781363c1fe373b93cbfca2a5654 +CIPHERTEXT = 23d267c6452d4d428824979c151ce5fb +PLAINTEXT = bca7b4b798d7b9e50d3ba02255a16528 + +COUNT = 56 +KEY = b71263789d3c0210daf65a77402318c3a66c32083573d505 +IV = bca7b4b798d7b9e50d3ba02255a16528 +CIPHERTEXT = 52c796d5bb4d26b72a6ef4ff5d1891ee +PLAINTEXT = 180c9485712f1527e1ece8d2b0c73bc5 + +COUNT = 57 +KEY = 32877e9abe0be866c2facef2310c0de44780dada85b4eec0 +IV = 180c9485712f1527e1ece8d2b0c73bc5 +CIPHERTEXT = ece7afb4feb5f87385951de22337ea76 +PLAINTEXT = 726f13c2a06c3c298f7819ee5de0de02 + +COUNT = 58 +KEY = 3d2d62a873996000b095dd30916031cdc8f8c334d85430c2 +IV = 726f13c2a06c3c298f7819ee5de0de02 +CIPHERTEXT = 9b3365862f0d6b620faa1c32cd928866 +PLAINTEXT = dc7497dc187094ebcbba0053e2d52f1e + +COUNT = 59 +KEY = 80f1dcafc86135386ce14aec8910a5260342c3673a811fdc +IV = dc7497dc187094ebcbba0053e2d52f1e +CIPHERTEXT = e663a88f0aae7038bddcbe07bbf85538 +PLAINTEXT = 1035b020266fef913de60ec2194db2b4 + +COUNT = 60 +KEY = 73c94832f89b1beb7cd4faccaf7f4ab73ea4cda523ccad68 +IV = 1035b020266fef913de60ec2194db2b4 +CIPHERTEXT = 65ee55faf57dc5b6f338949d30fa2ed3 +PLAINTEXT = d14927c0924c5283cf0603f7598cb252 + +COUNT = 61 +KEY = dc17cccc6796fd9cad9ddd0c3d331834f1a2ce527a401f3a +IV = d14927c0924c5283cf0603f7598cb252 +CIPHERTEXT = eb3c4e04d8457196afde84fe9f0de677 +PLAINTEXT = ffed4923accf5f319d6baaaa69317f6f + +COUNT = 62 +KEY = 7390a34b3daf14465270942f91fc47056cc964f813716055 +IV = ffed4923accf5f319d6baaaa69317f6f +CIPHERTEXT = f09f9fdca36df153af876f875a39e9da +PLAINTEXT = 0765edb134d7b0941468604cdf5fc466 + +COUNT = 63 +KEY = 0a61112cf4a8adf25515799ea52bf79178a104b4cc2ea433 +IV = 0765edb134d7b0941468604cdf5fc466 +CIPHERTEXT = dd1446871fb6b5a779f1b267c907b9b4 +PLAINTEXT = 9d16c4c9c807ca91dec1ba9332a6b582 + +COUNT = 64 +KEY = 6b8cb7df17089e20c803bd576d2c3d00a660be27fe8811b1 +IV = 9d16c4c9c807ca91dec1ba9332a6b582 +CIPHERTEXT = 8ac753648c14db9d61eda6f3e3a033d2 +PLAINTEXT = ac66339c0ef87075d3cdd2ca6f65aa91 + +COUNT = 65 +KEY = 178cfa2784e7de7e64658ecb63d44d7575ad6ced91edbb20 +IV = ac66339c0ef87075d3cdd2ca6f65aa91 +CIPHERTEXT = 34f43d0146c200397c004df893ef405e +PLAINTEXT = 355c0e218e9b7a7b87a5b86dc64f6cea + +COUNT = 66 +KEY = b6d606a4341f003c513980eaed4f370ef208d48057a2d7ca +IV = 355c0e218e9b7a7b87a5b86dc64f6cea +CIPHERTEXT = 03ebc2accba46d2ba15afc83b0f8de42 +PLAINTEXT = 97b27db60775d431434cc7671857b1c9 + +COUNT = 67 +KEY = 64fbbdc128c32a59c68bfd5cea3ae33fb14413e74ff56603 +IV = 97b27db60775d431434cc7671857b1c9 +CIPHERTEXT = 9a1b297224cdd105d22dbb651cdc2a65 +PLAINTEXT = 06707f9327ccb95d6c7dacdbb7b7db12 + +COUNT = 68 +KEY = ac1014a19f13bf6ec0fb82cfcdf65a62dd39bf3cf842bd11 +IV = 06707f9327ccb95d6c7dacdbb7b7db12 +CIPHERTEXT = ff35328f4026c521c8eba960b7d09537 +PLAINTEXT = a415323eea559b4452829a81b5125767 + +COUNT = 69 +KEY = c279f173021f9fdc64eeb0f127a3c1268fbb25bd4d50ea76 +IV = a415323eea559b4452829a81b5125767 +CIPHERTEXT = 17c3c777c4d5b5266e69e5d29d0c20b2 +PLAINTEXT = 545115c5d6a917dd47babf95ed6ff150 + +COUNT = 70 +KEY = 9b234e5fdb0ee18b30bfa534f10ad6fbc8019a28a03f1b26 +IV = 545115c5d6a917dd47babf95ed6ff150 +CIPHERTEXT = b0985b018c60298b595abf2cd9117e57 +PLAINTEXT = b1e398da3b7c02022e6c786f88651e5c + +COUNT = 71 +KEY = b4adb872b62a2676815c3deeca76d4f9e66de247285a057a +IV = b1e398da3b7c02022e6c786f88651e5c +CIPHERTEXT = e37945e1f3416e352f8ef62d6d24c7fd +PLAINTEXT = 7c61769f40374266c26cc97e5f0d6440 + +COUNT = 72 +KEY = 43676455b1c22eaefd3d4b718a41969f24012b397757613a +IV = 7c61769f40374266c26cc97e5f0d6440 +CIPHERTEXT = 2467b2582fc86243f7cadc2707e808d8 +PLAINTEXT = ca24d83fe7c6114fc7178bb962444f42 + +COUNT = 73 +KEY = a32d292892f2f4c53719934e6d8787d0e316a08015132e78 +IV = ca24d83fe7c6114fc7178bb962444f42 +CIPHERTEXT = a29177d46cc19878e04a4d7d2330da6b +PLAINTEXT = 3baf1faa5aef3c0c0caa2656e8fb10b3 + +COUNT = 74 +KEY = 7810809521ac69260cb68ce43768bbdcefbc86d6fde83ecb +IV = 3baf1faa5aef3c0c0caa2656e8fb10b3 +CIPHERTEXT = 8082ebe68e68250adb3da9bdb35e9de3 +PLAINTEXT = b73fa22a06e2807c6fd34f51a8b130ac + +COUNT = 75 +KEY = 6b899f3b5ac7ce32bb892ece318a3ba0806fc98755590e67 +IV = b73fa22a06e2807c6fd34f51a8b130ac +CIPHERTEXT = d7bd1da462d21ceb13991fae7b6ba714 +PLAINTEXT = f6759ea78d7c391280a4524637cff7a5 + +COUNT = 76 +KEY = c8cce320e8cc807b4dfcb069bcf602b200cb9bc16296f9c2 +IV = f6759ea78d7c391280a4524637cff7a5 +CIPHERTEXT = 3e3619dc0257d4b2a3457c1bb20b4e49 +PLAINTEXT = 332449db3033858d3ba5f951e59e75d3 + +COUNT = 77 +KEY = 9a2336f405707e5f7ed8f9b28cc5873f3b6e629087088c11 +IV = 332449db3033858d3ba5f951e59e75d3 +CIPHERTEXT = 5e0a55b809bb2fec52efd5d4edbcfe24 +PLAINTEXT = cccff571a76b94f4dde0ef55d39b4df3 + +COUNT = 78 +KEY = f549a02636a9dd36b2170cc32bae13cbe68e8dc55493c1e2 +IV = cccff571a76b94f4dde0ef55d39b4df3 +CIPHERTEXT = c4e1139371c307f76f6a96d233d9a369 +PLAINTEXT = 6340ddcd81caac53dc960cf7672a19c9 + +COUNT = 79 +KEY = f77a04fdca64b401d157d10eaa64bf983a18813233b9d82b +IV = 6340ddcd81caac53dc960cf7672a19c9 +CIPHERTEXT = eaa6a651accbcb120233a4dbfccd6937 +PLAINTEXT = b6e9061fa5d03c2e4b7d2d5410d8495d + +COUNT = 80 +KEY = 2156a18de32a9b6c67bed7110fb483b67165ac6623619176 +IV = b6e9061fa5d03c2e4b7d2d5410d8495d +CIPHERTEXT = 2a1dc988646d0fafd62ca570294e2f6d +PLAINTEXT = 5d1e221ed6a0ca3ca23a0f92d1ff794e + +COUNT = 81 +KEY = 30d7cb326bc98adb3aa0f50fd914498ad35fa3f4f29ee838 +IV = 5d1e221ed6a0ca3ca23a0f92d1ff794e +CIPHERTEXT = cb8d9cf39705d89511816abf88e311b7 +PLAINTEXT = 631a835e1abd9bda0f4ff66d14a65bb2 + +COUNT = 82 +KEY = b955dfe5c469107259ba7651c3a9d250dc105599e638b38a +IV = 631a835e1abd9bda0f4ff66d14a65bb2 +CIPHERTEXT = 0b9830058f4b3a25898214d7afa09aa9 +PLAINTEXT = 5e1b41f47c21f8a126660f422cabb467 + +COUNT = 83 +KEY = ff268584f896ca9b07a137a5bf882af1fa765adbca9307ed +IV = 5e1b41f47c21f8a126660f422cabb467 +CIPHERTEXT = 3e43558a7f44ab9346735a613cffdae9 +PLAINTEXT = 861a06eb634959598c6947846ae25cab + +COUNT = 84 +KEY = f9f5b75d842778fb81bb314edcc173a8761f1d5fa0715b46 +IV = 861a06eb634959598c6947846ae25cab +CIPHERTEXT = 5465b1c77724e74e06d332d97cb1b260 +PLAINTEXT = 20eb9f2de5c916eb4fb78b8626dfccc7 + +COUNT = 85 +KEY = b94e3f81936402c7a150ae633908654339a896d986ae9781 +IV = 20eb9f2de5c916eb4fb78b8626dfccc7 +CIPHERTEXT = 8de1b651238a066f40bb88dc17437a3c +PLAINTEXT = 6447a0fbf86da86141e6785a3af6fcd7 + +COUNT = 86 +KEY = 700e385b15bd84d7c5170e98c165cd22784eee83bc586b56 +IV = 6447a0fbf86da86141e6785a3af6fcd7 +CIPHERTEXT = e3f5153019691a6dc94007da86d98610 +PLAINTEXT = 6005850a374226852aed5b326f61ff3b + +COUNT = 87 +KEY = 3ce40d2cefd1ea9aa5128b92f627eba752a3b5b1d339946d +IV = 6005850a374226852aed5b326f61ff3b +CIPHERTEXT = e98359bd605bbbd14cea3577fa6c6e4d +PLAINTEXT = 2155a1532394d293ac7797890c1fedac + +COUNT = 88 +KEY = 6cc62d42524be78184472ac1d5b33934fed42238df2679c1 +IV = 2155a1532394d293ac7797890c1fedac +CIPHERTEXT = 0707fc774939809d5022206ebd9a0d1b +PLAINTEXT = 690202ebcd9c9212630b075dbc62beda + +COUNT = 89 +KEY = c055a0fbd440f1eeed45282a182fab269ddf25656344c71b +IV = 690202ebcd9c9212630b075dbc62beda +CIPHERTEXT = 12a9532f180c948eac938db9860b166f +PLAINTEXT = 297556896814b4ce92d962a568179d84 + +COUNT = 90 +KEY = 27f361cbbec98c41c4307ea3703b1fe80f0647c00b535a9f +IV = 297556896814b4ce92d962a568179d84 +CIPHERTEXT = b615ebed8cd273e1e7a6c1306a897daf +PLAINTEXT = 6ff4800efedf8da108fab9ff71e1354b + +COUNT = 91 +KEY = 400a95d677b2dcfdabc4fead8ee4924907fcfe3f7ab26fd4 +IV = 6ff4800efedf8da108fab9ff71e1354b +CIPHERTEXT = deb08205812ec72567f9f41dc97b50bc +PLAINTEXT = 5132b3aa74fcd3b963e1fc8abd54978d + +COUNT = 92 +KEY = 2dc44efa45e6cff5faf64d07fa1841f0641d02b5c7e6f859 +IV = 5132b3aa74fcd3b963e1fc8abd54978d +CIPHERTEXT = 62946826855fe4596dcedb2c32541308 +PLAINTEXT = 30ee930492b8ff479526fcffacc3ab16 + +COUNT = 93 +KEY = d3a393a485cae4dcca18de0368a0beb7f13bfe4a6b25534f +IV = 30ee930492b8ff479526fcffacc3ab16 +CIPHERTEXT = 772df4d1106e2615fe67dd5ec02c2b29 +PLAINTEXT = 8e8b0099edfab2e0a3b2d1058bb1d7a1 + +COUNT = 94 +KEY = 73a55325b900c8c84493de9a855a0c5752892f4fe09484ee +IV = 8e8b0099edfab2e0a3b2d1058bb1d7a1 +CIPHERTEXT = 7b86d32e8ae8b0eaa006c0813cca2c14 +PLAINTEXT = 04f84125f4c30c84e6b33a69444faf69 + +COUNT = 95 +KEY = 8d118250def4c669406b9fbf719900d3b43a1526a4db2b87 +IV = 04f84125f4c30c84e6b33a69444faf69 +CIPHERTEXT = 320cde3fedc15f03feb4d17567f40ea1 +PLAINTEXT = b612e6de8210b8f7e92480576213e7dd + +COUNT = 96 +KEY = 4bf6a26c300c79e1f6797961f389b8245d1e9571c6c8cc5a +IV = b612e6de8210b8f7e92480576213e7dd +CIPHERTEXT = 2598574002a4b28dc6e7203ceef8bf88 +PLAINTEXT = 443bba68e8f60045440a28698bf99277 + +COUNT = 97 +KEY = 444378664879126fb242c3091b7fb8611914bd184d315e2d +IV = 443bba68e8f60045440a28698bf99277 +CIPHERTEXT = 919475565a78a3190fb5da0a78756b8e +PLAINTEXT = ebf2c9023e333d1dbeb609fc5dbed9e1 + +COUNT = 98 +KEY = a1b83e926d8cc00659b00a0b254c857ca7a2b4e4108f87cc +IV = ebf2c9023e333d1dbeb609fc5dbed9e1 +CIPHERTEXT = 675f243e053f7ed7e5fb46f425f5d269 +PLAINTEXT = 2f8ffdfb0a6de06a257a12d1d1a1f71f + +COUNT = 99 +KEY = f71da4f9113d7ac9763ff7f02f21651682d8a635c12e70d3 +IV = 2f8ffdfb0a6de06a257a12d1d1a1f71f +CIPHERTEXT = 0e72531aa81f242256a59a6b7cb1bacf +PLAINTEXT = 836424eadf8155aaf9a9a51391a1cf7e + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT256.rsp new file mode 100644 index 000000000..b3799a43b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMCT256.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CBC +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:38 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 632bac4fe4db44cfcf18cfa90b43f86f378611b8d968595eb89e7ae98624564a +IV = ff8127621be616803e3f002377730185 +PLAINTEXT = 90ed17475f0a62bc381ba1f3ffbfff33 +CIPHERTEXT = 4494030b1e828f57e349cbde6499abf3 + +COUNT = 1 +KEY = c7b8fb8a3bb2985143909d189bfa0c0f731212b3c7ead6095bd7b137e2bdfdb9 +IV = 4494030b1e828f57e349cbde6499abf3 +PLAINTEXT = a49357c5df69dc9e8c8852b190b9f460 +CIPHERTEXT = 072fd9dfa0bc87493e223467fa25a40b + +COUNT = 2 +KEY = 8eb04615677eaa057afe2408bf526f77743dcb6c6756514065f58550189859b2 +IV = 072fd9dfa0bc87493e223467fa25a40b +PLAINTEXT = 4908bd9f5ccc3254396eb91024a86378 +CIPHERTEXT = 3b4b1b1d3e690742f1f7c127f9109f28 + +COUNT = 3 +KEY = 030c96ffe645931498774a728bfec4634f76d071593f560294024477e188c69a +IV = 3b4b1b1d3e690742f1f7c127f9109f28 +PLAINTEXT = 8dbcd0ea813b3911e2896e7a34acab14 +CIPHERTEXT = b57023abed7ad26945d4a34608f41723 + +COUNT = 4 +KEY = 56e236ebad1e0081f8ffe65239596dcafa06f3dab445846bd1d6e731e97cd1b9 +IV = b57023abed7ad26945d4a34608f41723 +PLAINTEXT = 55eea0144b5b93956088ac20b2a7a9a9 +CIPHERTEXT = 0cbcc3093036db18249a5c8c6f9f90f0 + +COUNT = 5 +KEY = d1a3affe7e5c3cf971a97ded5408593ef6ba30d384735f73f54cbbbd86e34149 +IV = 0cbcc3093036db18249a5c8c6f9f90f0 +PLAINTEXT = 87419915d3423c7889569bbf6d5134f4 +CIPHERTEXT = d10293c311ea97ea942be0bdda3743af + +COUNT = 6 +KEY = 8174e7093fe53b139820cf764817e41427b8a3109599c89961675b005cd402e6 +IV = d10293c311ea97ea942be0bdda3743af +PLAINTEXT = 50d748f741b907eae989b29b1c1fbd2a +CIPHERTEXT = 9cfe5e8ecc0e0aa6163726ffa0303199 + +COUNT = 7 +KEY = 03e4de7b5b1d5b7821643444468284a9bb46fd9e5997c23f77507dfffce4337f +IV = 9cfe5e8ecc0e0aa6163726ffa0303199 +PLAINTEXT = 8290397264f8606bb944fb320e9560bd +CIPHERTEXT = ae175edcd8ae9eae37167f7e32d1d6bb + +COUNT = 8 +KEY = 7e801368b309a0865da9b9a1f8a78e8d1551a34281395c9140460281ce35e5c4 +IV = ae175edcd8ae9eae37167f7e32d1d6bb +PLAINTEXT = 7d64cd13e814fbfe7ccd8de5be250a24 +CIPHERTEXT = 5883a4bb8ffcc92f8bfd926c81b68b7e + +COUNT = 9 +KEY = c2154e220d5722a683d6cf0c70e6283f4dd207f90ec595becbbb90ed4f836eba +IV = 5883a4bb8ffcc92f8bfd926c81b68b7e +PLAINTEXT = bc955d4abe5e8220de7f76ad8841a6b2 +CIPHERTEXT = c85051f8186f8c8e419070681c04cbfd + +COUNT = 10 +KEY = 6bf66ef924f0965d33e2959b3491b14b8582560116aa19308a2be0855387a547 +IV = c85051f8186f8c8e419070681c04cbfd +PLAINTEXT = a9e320db29a7b4fbb0345a9744779974 +CIPHERTEXT = 54148e9b315bce218a0f51b3bc96e256 + +COUNT = 11 +KEY = fa68c101be13b17f97dc59e662281799d196d89a27f1d7110024b136ef114711 +IV = 54148e9b315bce218a0f51b3bc96e256 +PLAINTEXT = 919eaff89ae32722a43ecc7d56b9a6d2 +CIPHERTEXT = f1f28fdebe594f65737496fd8819383f + +COUNT = 12 +KEY = 2fcf9f1612dcaba77a49fc9ec77653ac2064574499a89874735027cb67087f2e +IV = f1f28fdebe594f65737496fd8819383f +PLAINTEXT = d5a75e17accf1ad8ed95a578a55e4435 +CIPHERTEXT = 8320dfe3bb084383118d6c82094db3a4 + +COUNT = 13 +KEY = 35fc9568721c37e92ba2dce310c7458ba34488a722a0dbf762dd4b496e45cc8a +IV = 8320dfe3bb084383118d6c82094db3a4 +PLAINTEXT = 1a330a7e60c09c4e51eb207dd7b11627 +CIPHERTEXT = 7f0c05c369a301e932bbe57b0692c231 + +COUNT = 14 +KEY = 0616be5785aa3e2f2a167d74d05a6b54dc488d644b03da1e5066ae3268d70ebb +IV = 7f0c05c369a301e932bbe57b0692c231 +PLAINTEXT = 33ea2b3ff7b609c601b4a197c09d2edf +CIPHERTEXT = 44f7632aa88078a169b616ef4eb85423 + +COUNT = 15 +KEY = 96d82dd4c25c0c00b6bd4dff4128dc3298bfee4ee383a2bf39d0b8dd266f5a98 +IV = 44f7632aa88078a169b616ef4eb85423 +PLAINTEXT = 90ce938347f6322f9cab308b9172b766 +CIPHERTEXT = 89ce02cb5094f2f28f90829a405e81d8 + +COUNT = 16 +KEY = 99e8222b28f76b11545a37ef648dc8fc1171ec85b317504db6403a476631db40 +IV = 89ce02cb5094f2f28f90829a405e81d8 +PLAINTEXT = 0f300fffeaab6711e2e77a1025a514ce +CIPHERTEXT = f175217fae82fefd2730d7af86a1a79d + +COUNT = 17 +KEY = 5f47773b7c4eb0d89cb0c407ecd7911ee004cdfa1d95aeb09170ede8e0907cdd +IV = f175217fae82fefd2730d7af86a1a79d +PLAINTEXT = c6af551054b9dbc9c8eaf3e8885a59e2 +CIPHERTEXT = 820ebd961a641c0ae9be398af670c876 + +COUNT = 18 +KEY = 27cc427d90f0d704c40e43bfeca4fcd5620a706c07f1b2ba78ced46216e0b4ab +IV = 820ebd961a641c0ae9be398af670c876 +PLAINTEXT = 788b3546ecbe67dc58be87b800736dcb +CIPHERTEXT = d6a5dfd27ab64892c42ca693afdf7b78 + +COUNT = 19 +KEY = 4e2024882384cdb79060a27a1f11df88b4afafbe7d47fa28bce272f1b93fcfd3 +IV = d6a5dfd27ab64892c42ca693afdf7b78 +PLAINTEXT = 69ec66f5b3741ab3546ee1c5f3b5235d +CIPHERTEXT = 5ec4d70b7afbfe37dffe2ccf97a88abb + +COUNT = 20 +KEY = 7da398ab70c2290978f59242fd751309ea6b78b507bc041f631c5e3e2e974568 +IV = 5ec4d70b7afbfe37dffe2ccf97a88abb +PLAINTEXT = 3383bc235346e4bee8953038e264cc81 +CIPHERTEXT = 32fd06a4a47aa151bfca29a52245024e + +COUNT = 21 +KEY = 1b69975e1113d460cd939792dbeb8280d8967e11a3c6a54edcd6779b0cd24726 +IV = 32fd06a4a47aa151bfca29a52245024e +PLAINTEXT = 66ca0ff561d1fd69b56605d0269e9189 +CIPHERTEXT = c24a53944eb4a92bf4f04c8aa287052a + +COUNT = 22 +KEY = e2d6f5d4dcb3224f6629c0b711258a901adc2d85ed720c6528263b11ae55420c +IV = c24a53944eb4a92bf4f04c8aa287052a +PLAINTEXT = f9bf628acda0f62fabba5725cace0810 +CIPHERTEXT = a512960f47779de9c2cd5d8c8b73d000 + +COUNT = 23 +KEY = eca18f5d6232d2bb56f34ad43e58c225bfcebb8aaa05918ceaeb669d2526920c +IV = a512960f47779de9c2cd5d8c8b73d000 +PLAINTEXT = 0e777a89be81f0f430da8a632f7d48b5 +CIPHERTEXT = 59cfd764e92b915b54067514b66fc2ed + +COUNT = 24 +KEY = fc45c6d09c526474ec72f56b1a5e19fce6016cee432e00d7beed1389934950e1 +IV = 59cfd764e92b915b54067514b66fc2ed +PLAINTEXT = 10e4498dfe60b6cfba81bfbf2406dbd9 +CIPHERTEXT = bd35f3f3494e6ce825d981bb9c9ad2ca + +COUNT = 25 +KEY = 2bab5b5c5b7d923e395cdd51717b13dd5b349f1d0a606c3f9b3492320fd3822b +IV = bd35f3f3494e6ce825d981bb9c9ad2ca +PLAINTEXT = d7ee9d8cc72ff64ad52e283a6b250a21 +CIPHERTEXT = 5b0e762a8420a12d383582733b36cfb5 + +COUNT = 26 +KEY = 19693e986772911f6f2d03c6aa972f7f003ae9378e40cd12a301104134e54d9e +IV = 5b0e762a8420a12d383582733b36cfb5 +PLAINTEXT = 32c265c43c0f03215671de97dbec3ca2 +CIPHERTEXT = ecf36db6d42d404c8f9dba5f6a009fee + +COUNT = 27 +KEY = 4af792f528299645754c6c13e528cf3cecc984815a6d8d5e2c9caa1e5ee5d270 +IV = ecf36db6d42d404c8f9dba5f6a009fee +PLAINTEXT = 539eac6d4f5b075a1a616fd54fbfe043 +CIPHERTEXT = ea168a26fb00e611206c2186497e5108 + +COUNT = 28 +KEY = da3c59f57de79f07155d2c2fe1f8d86706df0ea7a16d6b4f0cf08b98179b8378 +IV = ea168a26fb00e611206c2186497e5108 +PLAINTEXT = 90cbcb0055ce09426011403c04d0175b +CIPHERTEXT = 0190ae0f5a72f372f6c994b4e2b9968f + +COUNT = 29 +KEY = 37eee5efbbe7d24fd144bb15222419bd074fa0a8fb1f983dfa391f2cf52215f7 +IV = 0190ae0f5a72f372f6c994b4e2b9968f +PLAINTEXT = edd2bc1ac6004d48c419973ac3dcc1da +CIPHERTEXT = 86f6410857f4c8da81a22695dee29187 + +COUNT = 30 +KEY = 654251f0bed33ea27f2358cca3e4090281b9e1a0aceb50e77b9b39b92bc08470 +IV = 86f6410857f4c8da81a22695dee29187 +PLAINTEXT = 52acb41f0534ecedae67e3d981c010bf +CIPHERTEXT = 40b19405a23113b8a791ea306a85a445 + +COUNT = 31 +KEY = 86844c74747f7fd1ff0dca3e64de055fc10875a50eda435fdc0ad38941452035 +IV = 40b19405a23113b8a791ea306a85a445 +PLAINTEXT = e3c61d84caac4173802e92f2c73a0c5d +CIPHERTEXT = 243ab5167ca2d1450d0922be3934d921 + +COUNT = 32 +KEY = 45d9ee118b766d9860b725238ced8128e532c0b37278921ad103f1377871f914 +IV = 243ab5167ca2d1450d0922be3934d921 +PLAINTEXT = c35da265ff0912499fbaef1de8338477 +CIPHERTEXT = 2c588626403d81dc7cb69e1437cdd6e3 + +COUNT = 33 +KEY = a9f2a47861ea7ccc654a2fb046353104c96a4695324513c6adb56f234fbc2ff7 +IV = 2c588626403d81dc7cb69e1437cdd6e3 +PLAINTEXT = ec2b4a69ea9c115405fd0a93cad8b02c +CIPHERTEXT = b194b8f47070707f87ee295f85fda705 + +COUNT = 34 +KEY = c12678a3e7b9ea69b021a6ec28d3d34178fefe61423563b92a5b467cca4188f2 +IV = b194b8f47070707f87ee295f85fda705 +PLAINTEXT = 68d4dcdb865396a5d56b895c6ee6e245 +CIPHERTEXT = e127cf01882be5c9f51e0be9fe62637a + +COUNT = 35 +KEY = 503c5fdda9a9dc1d7aadb715590a833499d93160ca1e8670df454d953423eb88 +IV = e127cf01882be5c9f51e0be9fe62637a +PLAINTEXT = 911a277e4e103674ca8c11f971d95075 +CIPHERTEXT = 9d920c2b02cf1f4231041ad4df15fdf9 + +COUNT = 36 +KEY = 814ae4a109e5cf89edf5be23a8b59aa2044b3d4bc8d19932ee415741eb361671 +IV = 9d920c2b02cf1f4231041ad4df15fdf9 +PLAINTEXT = d176bb7ca04c139497580936f1bf1996 +CIPHERTEXT = aa2e6b6bf0d8512a3714942cf6fdb029 + +COUNT = 37 +KEY = 1f33bd4f6dff0f8b48015c1153624b49ae6556203809c818d955c36d1dcba658 +IV = aa2e6b6bf0d8512a3714942cf6fdb029 +PLAINTEXT = 9e7959ee641ac002a5f4e232fbd7d1eb +CIPHERTEXT = f8672aeaaec55cf22888acd61a684a95 + +COUNT = 38 +KEY = 40dcf357457146ecedf9efef9344f13b56027cca96cc94eaf1dd6fbb07a3eccd +IV = f8672aeaaec55cf22888acd61a684a95 +PLAINTEXT = 5fef4e18288e4967a5f8b3fec026ba72 +CIPHERTEXT = 4211015c313a19455f032350f242f87b + +COUNT = 39 +KEY = 9261a6244ce8db5dbacc24545945b93c14137d96a7f68dafaede4cebf5e114b6 +IV = 4211015c313a19455f032350f242f87b +PLAINTEXT = d2bd557309999db15735cbbbca014807 +CIPHERTEXT = 01f83031db9085f1001ecb735de76379 + +COUNT = 40 +KEY = 43343bacce59a82a10f1dd90c2392f2815eb4da77c66085eaec08798a80677cf +IV = 01f83031db9085f1001ecb735de76379 +PLAINTEXT = d1559d8882b17377aa3df9c49b7c9614 +CIPHERTEXT = b8c77ea9565cd0ec31a5312c57746a45 + +COUNT = 41 +KEY = 82032eebc5c74a335a239be7606098cfad2c330e2a3ad8b29f65b6b4ff721d8a +IV = b8c77ea9565cd0ec31a5312c57746a45 +PLAINTEXT = c13715470b9ee2194ad24677a259b7e7 +CIPHERTEXT = a656f7030a17c9409f56de36d2d68950 + +COUNT = 42 +KEY = 104a0b7203ad96efd1b2f9528d8e0ebb0b7ac40d202d11f2003368822da494da +IV = a656f7030a17c9409f56de36d2d68950 +PLAINTEXT = 92492599c66adcdc8b9162b5edee9674 +CIPHERTEXT = 3a25f4112bd969209f15fb7b68f4c243 + +COUNT = 43 +KEY = 2833c9e88c431bf5f94531e89b066aa0315f301c0bf478d29f2693f945505699 +IV = 3a25f4112bd969209f15fb7b68f4c243 +PLAINTEXT = 3879c29a8fee8d1a28f7c8ba1688641b +CIPHERTEXT = 753378d7ee4d0ec954f2b9cd7214eac2 + +COUNT = 44 +KEY = c6c7378edf6fa48fcda9b96feb68b4b9446c48cbe5b9761bcbd42a343744bc5b +IV = 753378d7ee4d0ec954f2b9cd7214eac2 +PLAINTEXT = eef4fe66532cbf7a34ec8887706ede19 +CIPHERTEXT = bac6ed53310e15f4d9c126050bf174f9 + +COUNT = 45 +KEY = ace446d7592abf5727211880f6e09275feaaa598d4b763ef12150c313cb5c8a2 +IV = bac6ed53310e15f4d9c126050bf174f9 +PLAINTEXT = 6a23715986451bd8ea88a1ef1d8826cc +CIPHERTEXT = 4dde259fb888d218d0a697269b508e39 + +COUNT = 46 +KEY = 40f540f04f9ed02139e083d56cf6fb6bb37480076c3fb1f7c2b39b17a7e5469b +IV = 4dde259fb888d218d0a697269b508e39 +PLAINTEXT = ec11062716b46f761ec19b559a16691e +CIPHERTEXT = 28adaadcadb2445928b862deeb517a6e + +COUNT = 47 +KEY = 5205fc495ae07a3b3a173eb98c96ccac9bd92adbc18df5aeea0bf9c94cb43cf5 +IV = 28adaadcadb2445928b862deeb517a6e +PLAINTEXT = 12f0bcb9157eaa1a03f7bd6ce06037c7 +CIPHERTEXT = 875d2ebf796ea96af56b9c3b6f9d5088 + +COUNT = 48 +KEY = cbdcce0aac18fa7a185bf8d72893b1e71c840464b8e35cc41f6065f223296c7d +IV = 875d2ebf796ea96af56b9c3b6f9d5088 +PLAINTEXT = 99d93243f6f88041224cc66ea4057d4b +CIPHERTEXT = 1fc89d40bd402ad9f1f0333dd98aa981 + +COUNT = 49 +KEY = 5af6361428b6570ffbe35e28063ccb76034c992405a3761dee9056cffaa3c5fc +IV = 1fc89d40bd402ad9f1f0333dd98aa981 +PLAINTEXT = 912af81e84aead75e3b8a6ff2eaf7a91 +CIPHERTEXT = eb48e0b990456084bddcf9466551be87 + +COUNT = 50 +KEY = 13592bc076915501806a1272dceef03de804799d95e61699534caf899ff27b7b +IV = eb48e0b990456084bddcf9466551be87 +PLAINTEXT = 49af1dd45e27020e7b894c5adad23b4b +CIPHERTEXT = 3bf7dcea255b694411caecfe24ed4416 + +COUNT = 51 +KEY = 3643960c09105e21b9fcbd10a10ef651d3f3a577b0bd7fdd42864377bb1f3f6d +IV = 3bf7dcea255b694411caecfe24ed4416 +PLAINTEXT = 251abdcc7f810b203996af627de0066c +CIPHERTEXT = 43b064b181b6e5c3dc3dc311ece5418d + +COUNT = 52 +KEY = d975998153143ba47d736411bdf485649043c1c6310b9a1e9ebb806657fa7ee0 +IV = 43b064b181b6e5c3dc3dc311ece5418d +PLAINTEXT = ef360f8d5a046585c48fd9011cfa7335 +CIPHERTEXT = 2f778c3ced08178cc87f6ca93b37cc2e + +COUNT = 53 +KEY = 6aa79845dad405414017e403c4c064e8bf344dfadc038d9256c4eccf6ccdb2ce +IV = 2f778c3ced08178cc87f6ca93b37cc2e +PLAINTEXT = b3d201c489c03ee53d6480127934e18c +CIPHERTEXT = 8ec9fafbe7675449fefe6036576dddf3 + +COUNT = 54 +KEY = 7521e7c70c3eb70c3efe9f5240c7273831fdb7013b64d9dba83a8cf93ba06f3d +IV = 8ec9fafbe7675449fefe6036576dddf3 +PLAINTEXT = 1f867f82d6eab24d7ee97b51840743d0 +CIPHERTEXT = cf2aecfe193f8654e27cd15b2536a136 + +COUNT = 55 +KEY = b449c1891a517f25e8c4e0fb89731fd8fed75bff225b5f8f4a465da21e96ce0b +IV = cf2aecfe193f8654e27cd15b2536a136 +PLAINTEXT = c168264e166fc829d63a7fa9c9b438e0 +CIPHERTEXT = 93a8ac086fda982a1a2d063d0ed73302 + +COUNT = 56 +KEY = c629214c23d2847b014e3c19e85180256d7ff7f74d81c7a5506b5b9f1041fd09 +IV = 93a8ac086fda982a1a2d063d0ed73302 +PLAINTEXT = 7260e0c53983fb5ee98adce261229ffd +CIPHERTEXT = 3ef0d53f0e1c778f4a4a646d9928943c + +COUNT = 57 +KEY = 61cce41f974a80d3ef9a36a45ac4a7d0538f22c8439db02a1a213ff289696935 +IV = 3ef0d53f0e1c778f4a4a646d9928943c +PLAINTEXT = a7e5c553b49804a8eed40abdb29527f5 +CIPHERTEXT = b32c0db03dbd9cd87cfa3d6fb920b49a + +COUNT = 58 +KEY = e54f3705525a5df3a41e98fdc6d755ede0a32f787e202cf266db029d3049ddaf +IV = b32c0db03dbd9cd87cfa3d6fb920b49a +PLAINTEXT = 8483d31ac510dd204b84ae599c13f23d +CIPHERTEXT = 4e5b7dff86ac34e7b35ae37b6955126a + +COUNT = 59 +KEY = b1aa3c3d57786293c4fa13db70938d91aef85287f88c1815d581e1e6591ccfc5 +IV = 4e5b7dff86ac34e7b35ae37b6955126a +PLAINTEXT = 54e50b3805223f6060e48b26b644d87c +CIPHERTEXT = fdeba7fe33569c1eb86d801922baebc4 + +COUNT = 60 +KEY = 6d082dc696769c00b7e4566465e117f05313f579cbda840b6dec61ff7ba62401 +IV = fdeba7fe33569c1eb86d801922baebc4 +PLAINTEXT = dca211fbc10efe93731e45bf15729a61 +CIPHERTEXT = 3825c9c558d20a98364180f30a462987 + +COUNT = 61 +KEY = b6e70c3949f0578d1d359be34dc276996b363cbc93088e935bade10c71e00d86 +IV = 3825c9c558d20a98364180f30a462987 +PLAINTEXT = dbef21ffdf86cb8daad1cd8728236169 +CIPHERTEXT = 538f82dc6cdba897ebd17c6026d10fa4 + +COUNT = 62 +KEY = d0b975bf21a9d134317c202d8457454438b9be60ffd32604b07c9d6c57310222 +IV = 538f82dc6cdba897ebd17c6026d10fa4 +PLAINTEXT = 665e7986685986b92c49bbcec99533dd +CIPHERTEXT = 9e7cfa3e509e3fb788f38d45e20e1594 + +COUNT = 63 +KEY = edc722eeb9fa98bd998b2abafc6c23a5a6c5445eaf4d19b3388f1029b53f17b6 +IV = 9e7cfa3e509e3fb788f38d45e20e1594 +PLAINTEXT = 3d7e575198534989a8f70a97783b66e1 +CIPHERTEXT = e7bb525e56a89d7670d81e089b92cff7 + +COUNT = 64 +KEY = 91393c05ce73810d4fefb1dee47beb49417e1600f9e584c548570e212eadd841 +IV = e7bb525e56a89d7670d81e089b92cff7 +PLAINTEXT = 7cfe1eeb778919b0d6649b641817c8ec +CIPHERTEXT = e5160d70f68b50c96b47ba66d3a37c25 + +COUNT = 65 +KEY = 48e5809ed657b40931a085aad5942eb9a4681b700f6ed40c2310b447fd0ea464 +IV = e5160d70f68b50c96b47ba66d3a37c25 +PLAINTEXT = d9dcbc9b182435047e4f347431efc5f0 +CIPHERTEXT = e676f0006d1015e937070e5d0cd1141f + +COUNT = 66 +KEY = 5dbd5f5ff049a6d127891325fed8f4ee421eeb70627ec1e51417ba1af1dfb07b +IV = e676f0006d1015e937070e5d0cd1141f +PLAINTEXT = 1558dfc1261e12d81629968f2b4cda57 +CIPHERTEXT = 65872c5c85d2b1b600c8136d946d874a + +COUNT = 67 +KEY = 8045289d74dea18c789a8719624cee772799c72ce7ac705314dfa97765b23731 +IV = 65872c5c85d2b1b600c8136d946d874a +PLAINTEXT = ddf877c28497075d5f13943c9c941a99 +CIPHERTEXT = 96732555842f960bed7712849722e018 + +COUNT = 68 +KEY = cd1057afe157d1cdd70998126e6fd06ab1eae2796383e658f9a8bbf3f290d729 +IV = 96732555842f960bed7712849722e018 +PLAINTEXT = 4d557f3295897041af931f0b0c233e1d +CIPHERTEXT = b42cb5a1d1b80a02cef8d6f3522cb7ef + +COUNT = 69 +KEY = fdeb7c16952ddb8aede1c15eb5b70c8c05c657d8b23bec5a37506d00a0bc60c6 +IV = b42cb5a1d1b80a02cef8d6f3522cb7ef +PLAINTEXT = 30fb2bb9747a0a473ae8594cdbd8dce6 +CIPHERTEXT = e42624e6cb691b7572e8a4a02719447c + +COUNT = 70 +KEY = 5a22690ad394f27f3ad78c1bb0455491e1e0733e7952f72f45b8c9a087a524ba +IV = e42624e6cb691b7572e8a4a02719447c +PLAINTEXT = a7c9151c46b929f5d7364d4505f2581d +CIPHERTEXT = 115254400edc67ad820357082d101810 + +COUNT = 71 +KEY = 0b2c105289df9e6d722de6240322205af0b2277e778e9082c7bb9ea8aab53caa +IV = 115254400edc67ad820357082d101810 +PLAINTEXT = 510e79585a4b6c1248fa6a3fb36774cb +CIPHERTEXT = 5273aa0d34552245b132ee438c66298d + +COUNT = 72 +KEY = e04dcb76964381d73bedfcbe24a9dde6a2c18d7343dbb2c7768970eb26d31527 +IV = 5273aa0d34552245b132ee438c66298d +PLAINTEXT = eb61db241f9c1fba49c01a9a278bfdbc +CIPHERTEXT = 0bfbca5ae9c5802af4082c9e988c2580 + +COUNT = 73 +KEY = 48c8031a0481afd7a99a8d2332ed3d42a93a4729aa1e32ed82815c75be5f30a7 +IV = 0bfbca5ae9c5802af4082c9e988c2580 +PLAINTEXT = a885c86c92c22e009277719d1644e0a4 +CIPHERTEXT = e6f2877869c0427f04e873509ab03c4c + +COUNT = 74 +KEY = ba98ad296419533c6215e4848593ea294fc8c051c3de709286692f2524ef0ceb +IV = e6f2877869c0427f04e873509ab03c4c +PLAINTEXT = f250ae336098fcebcb8f69a7b77ed76b +CIPHERTEXT = 8a8fdcbe74af60a8223303cbe7879439 + +COUNT = 75 +KEY = b056ac59e9db20efc546328f47fdb8a7c5471cefb771103aa45a2ceec36898d2 +IV = 8a8fdcbe74af60a8223303cbe7879439 +PLAINTEXT = 0ace01708dc273d3a753d60bc26e528e +CIPHERTEXT = 920c72f9e7c5827ca562ecf24e41f8c6 + +COUNT = 76 +KEY = bebe211ac9ef5ff3469847e9ba452109574b6e1650b492460138c01c8d296014 +IV = 920c72f9e7c5827ca562ecf24e41f8c6 +PLAINTEXT = 0ee88d4320347f1c83de7566fdb899ae +CIPHERTEXT = a3594c1051c90974e1ab82fbf4f3e0fe + +COUNT = 77 +KEY = 188192cc39a2ef6400c31cbf03e9bb96f4122206017d9b32e09342e779da80ea +IV = a3594c1051c90974e1ab82fbf4f3e0fe +PLAINTEXT = a63fb3d6f04db097465b5b56b9ac9a9f +CIPHERTEXT = 260d1e76b7b286d6c24d0e92c0417fe5 + +COUNT = 78 +KEY = 40ed1c2c6d1bcae0adfe835418976bd2d21f3c70b6cf1de422de4c75b99bff0f +IV = 260d1e76b7b286d6c24d0e92c0417fe5 +PLAINTEXT = 586c8ee054b92584ad3d9feb1b7ed044 +CIPHERTEXT = ae7e5fda5ec5ff827727427a1b522cdf + +COUNT = 79 +KEY = e6694030c6f56bb6480de6a460469e977c6163aae80ae26655f90e0fa2c9d3d0 +IV = ae7e5fda5ec5ff827727427a1b522cdf +PLAINTEXT = a6845c1cabeea156e5f365f078d1f545 +CIPHERTEXT = fe5bc06665a62a76af3d93bfaf0ccfae + +COUNT = 80 +KEY = 5aad4863717eed25bfe79a4973af540d823aa3cc8dacc810fac49db00dc51c7e +IV = fe5bc06665a62a76af3d93bfaf0ccfae +PLAINTEXT = bcc40853b78b8693f7ea7ced13e9ca9a +CIPHERTEXT = 7e474ea96641b4e0ec8b1ceb414134ef + +COUNT = 81 +KEY = c280598881821b66c0c1e25902b91e1afc7ded65ebed7cf0164f815b4c842891 +IV = 7e474ea96641b4e0ec8b1ceb414134ef +PLAINTEXT = 982d11ebf0fcf6437f26781071164a17 +CIPHERTEXT = fc5578cb13ace5b0b199762b61b3dbcf + +COUNT = 82 +KEY = 76547c502b98d7008ed2ff9f77c92c21002895aef8419940a7d6f7702d37f35e +IV = fc5578cb13ace5b0b199762b61b3dbcf +PLAINTEXT = b4d425d8aa1acc664e131dc67570323b +CIPHERTEXT = 50d070f659a2697416ecffcf6bd6f55e + +COUNT = 83 +KEY = f2729b51d941d0346a3c64010e4ff53350f8e558a1e3f034b13a08bf46e10600 +IV = 50d070f659a2697416ecffcf6bd6f55e +PLAINTEXT = 8426e701f2d90734e4ee9b9e7986d912 +CIPHERTEXT = 83937d01c855f36211085aac95054128 + +COUNT = 84 +KEY = a5841ac0a6e37e3519cc6728fea8782cd36b985969b60356a0325213d3e44728 +IV = 83937d01c855f36211085aac95054128 +PLAINTEXT = 57f681917fa2ae0173f00329f0e78d1f +CIPHERTEXT = 04548e52034e7f592e5ab172a2246834 + +COUNT = 85 +KEY = edb42f892acf75ea4fbbcb566fbca9e4d73f160b6af87c0f8e68e36171c02f1c +IV = 04548e52034e7f592e5ab172a2246834 +PLAINTEXT = 483035498c2c0bdf5677ac7e9114d1c8 +CIPHERTEXT = 53bbc03073ed946656947eba10e94bb7 + +COUNT = 86 +KEY = d85e432531dde5e2cf858b706a96bd9f8484d63b1915e869d8fc9ddb612964ab +IV = 53bbc03073ed946656947eba10e94bb7 +PLAINTEXT = 35ea6cac1b129008803e4026052a147b +CIPHERTEXT = 17250bd4696cba64b1771766ae31eba0 + +COUNT = 87 +KEY = 64726612bfaad109eb15339ef3b2593693a1ddef7079520d698b8abdcf188f0b +IV = 17250bd4696cba64b1771766ae31eba0 +PLAINTEXT = bc2c25378e7734eb2490b8ee9924e4a9 +CIPHERTEXT = 7647b21e0e50654563ef5bb1b21b2edc + +COUNT = 88 +KEY = 9f27c4015ffec3cef128d74c3265feace5e66ff17e2937480a64d10c7d03a1d7 +IV = 7647b21e0e50654563ef5bb1b21b2edc +PLAINTEXT = fb55a213e05412c71a3de4d2c1d7a79a +CIPHERTEXT = d6528f6b41aa107e92afa366cb62510e + +COUNT = 89 +KEY = 49532ac2a34c33240e75cdcc1c94f36233b4e09a3f83273698cb726ab661f0d9 +IV = d6528f6b41aa107e92afa366cb62510e +PLAINTEXT = d674eec3fcb2f0eaff5d1a802ef10dce +CIPHERTEXT = 4d2d62b581db5e9009f828f7fdc864a8 + +COUNT = 90 +KEY = 8ce019c07d9aa213aaa08edddec3e8667e99822fbe5879a691335a9d4ba99471 +IV = 4d2d62b581db5e9009f828f7fdc864a8 +PLAINTEXT = c5b33302ded69137a4d54311c2571b04 +CIPHERTEXT = 0f48eb7cdd36b9c52563515fafb4b954 + +COUNT = 91 +KEY = d0d76aa689b3305e80fe9bb5d6ee460871d16953636ec063b4500bc2e41d2d25 +IV = 0f48eb7cdd36b9c52563515fafb4b954 +PLAINTEXT = 5c377366f429924d2a5e1568082dae6e +CIPHERTEXT = 19eb5c036448ad82d28b77b01126f016 + +COUNT = 92 +KEY = 5f402bc675a926c21972ffe1e3e7ab07683a355007266de166db7c72f53bdd33 +IV = 19eb5c036448ad82d28b77b01126f016 +PLAINTEXT = 8f974160fc1a169c998c64543509ed0f +CIPHERTEXT = a225f1d05795ca1443048c8ceca52212 + +COUNT = 93 +KEY = 7a5ddcb9e59e08dfd62588dc5f4fd0eaca1fc48050b3a7f525dff0fe199eff21 +IV = a225f1d05795ca1443048c8ceca52212 +PLAINTEXT = 251df77f90372e1dcf57773dbca87bed +CIPHERTEXT = 17e25b6f7dcf43638178b7d12575a58c + +COUNT = 94 +KEY = f793de9f75f4c26645e3cb3db1facd5cddfd9fef2d7ce496a4a7472f3ceb5aad +IV = 17e25b6f7dcf43638178b7d12575a58c +PLAINTEXT = 8dce0226906acab993c643e1eeb51db6 +CIPHERTEXT = b1c2133d5e31c9becf07e06b58ce0e50 + +COUNT = 95 +KEY = 191359106981b4e8c43b255af70b67f86c3f8cd2734d2d286ba0a744642554fd +IV = b1c2133d5e31c9becf07e06b58ce0e50 +PLAINTEXT = ee80878f1c75768e81d8ee6746f1aaa4 +CIPHERTEXT = 50c9ecdea37f890e603bbe25bc95545e + +COUNT = 96 +KEY = c9466036acc5e496ca5fbe04d4f96fb73cf6600cd032a4260b9b1961d8b000a3 +IV = 50c9ecdea37f890e603bbe25bc95545e +PLAINTEXT = d0553926c544507e0e649b5e23f2084f +CIPHERTEXT = fedcd42282ae66b4e443594c64907d69 + +COUNT = 97 +KEY = e76a83558880e57165d381903cb30b0dc22ab42e529cc292efd8402dbc207dca +IV = fedcd42282ae66b4e443594c64907d69 +PLAINTEXT = 2e2ce363244501e7af8c3f94e84a64ba +CIPHERTEXT = d2d9b9d8af37064d644aa4683277de68 + +COUNT = 98 +KEY = 384518a480cf10f3db02c96e1501ce3310f30df6fdabc4df8b92e4458e57a3a2 +IV = d2d9b9d8af37064d644aa4683277de68 +PLAINTEXT = df2f9bf1084ff582bed148fe29b2c53e +CIPHERTEXT = fb59e7acba7a0f2c157e0ebea529e910 + +COUNT = 99 +KEY = 22dd9cdfb4c6f27aa5267da60d2f2977ebaaea5a47d1cbf39eeceafb2b7e4ab2 +IV = fb59e7acba7a0f2c157e0ebea529e910 +PLAINTEXT = 1a98847b3409e2897e24b4c8182ee744 +CIPHERTEXT = bade1667b42f537f0cb3f5573a949aaa + + +[DECRYPT] + +COUNT = 0 +KEY = 31397ad8cc79c519e0f46e0f70303587e38958d70723b771552336b7771f6311 +IV = 4139cb54eeac3fcf36ed72941122c40f +CIPHERTEXT = 27a1d5c10fe45b801d15f56e654a70f0 +PLAINTEXT = f0e50e036baf80cef566d3f9eaa2a9a7 + +COUNT = 1 +KEY = 2611f4003fbc38b3cdc023f63065b070136c56d46c8c37bfa045e54e9dbdcab6 +IV = f0e50e036baf80cef566d3f9eaa2a9a7 +CIPHERTEXT = 17288ed8f3c5fdaa2d344df9405585f7 +PLAINTEXT = 583ae9e3d37b2bb91119106472484730 + +COUNT = 2 +KEY = d855e0f013078ef1898f1e94a0af465a4b56bf37bff71c06b15cf52aeff58d86 +IV = 583ae9e3d37b2bb91119106472484730 +CIPHERTEXT = fe4414f02cbbb642444f3d6290caf62a +PLAINTEXT = 410c0f4494faf1a08a7c7513797ff2df + +COUNT = 3 +KEY = 32f9d65e83e41bf0a2b6b55fdf86e2090a5ab0732b0deda63b208039968a7f59 +IV = 410c0f4494faf1a08a7c7513797ff2df +CIPHERTEXT = eaac36ae90e395012b39abcb7f29a453 +PLAINTEXT = 6e0f3fca98be8c1cdf9e93b82dd00691 + +COUNT = 4 +KEY = fc2044481d295a6ac30667b546fabbb564558fb9b3b361bae4be1381bb5a79c8 +IV = 6e0f3fca98be8c1cdf9e93b82dd00691 +CIPHERTEXT = ced992169ecd419a61b0d2ea997c59bc +PLAINTEXT = f6c143e852396245a527de6269101ffe + +COUNT = 5 +KEY = 8edb6e0dcbe914c1fc2b4915a2ee0abc9294cc51e18a03ff4199cde3d24a6636 +IV = f6c143e852396245a527de6269101ffe +CIPHERTEXT = 72fb2a45d6c04eab3f2d2ea0e414b109 +PLAINTEXT = 40d16c290e5e8d26f3d98ecf77fce44c + +COUNT = 6 +KEY = 86c7354b3c0d7559de67e19c48abd220d245a078efd48ed9b240432ca5b6827a +IV = 40d16c290e5e8d26f3d98ecf77fce44c +CIPHERTEXT = 081c5b46f7e46198224ca889ea45d89c +PLAINTEXT = 5634565713f31044cbf23292da69ea46 + +COUNT = 7 +KEY = 4639d3ba972ba75edefc0f8a2e38bfc08471f62ffc279e9d79b271be7fdf683c +IV = 5634565713f31044cbf23292da69ea46 +CIPHERTEXT = c0fee6f1ab26d207009bee1666936de0 +PLAINTEXT = f9f0fc77d6975b872fc324a93d488505 + +COUNT = 8 +KEY = e1edfce1317aba77742e607010b4468b7d810a582ab0c51a567155174297ed39 +IV = f9f0fc77d6975b872fc324a93d488505 +CIPHERTEXT = a7d42f5ba6511d29aad26ffa3e8cf94b +PLAINTEXT = c94263a7674dc9b17d16cf0234d057b9 + +COUNT = 9 +KEY = 97f2a85355536687f3d0fd64bbe0e45fb4c369ff4dfd0cab2b679a157647ba80 +IV = c94263a7674dc9b17d16cf0234d057b9 +CIPHERTEXT = 761f54b26429dcf087fe9d14ab54a2d4 +PLAINTEXT = d96bf3b78530302bd9406d754dbcd472 + +COUNT = 10 +KEY = 61267ee1d3247cd8a0d280a8f0dddbae6da89a48c8cd3c80f227f7603bfb6ef2 +IV = d96bf3b78530302bd9406d754dbcd472 +CIPHERTEXT = f6d4d6b286771a5f53027dcc4b3d3ff1 +PLAINTEXT = d9512ab4be520af4044915fa477163c0 + +COUNT = 11 +KEY = 35da2def17670a15e684135d924e4cf3b4f9b0fc769f3674f66ee29a7c8a0d32 +IV = d9512ab4be520af4044915fa477163c0 +CIPHERTEXT = 54fc530ec44376cd465693f56293975d +PLAINTEXT = b20d54f73a8e31310815c301c8e70bea + +COUNT = 12 +KEY = 13f0df30a52b9be270ae913e0a2a3f6b06f4e40b4c110745fe7b219bb46d06d8 +IV = b20d54f73a8e31310815c301c8e70bea +CIPHERTEXT = 262af2dfb24c91f7962a826398647398 +PLAINTEXT = fdfc75f74f571b2cbe2b3b4ea108d5b1 + +COUNT = 13 +KEY = 4b579944a18b0d04e91ab61a0f328fcffb0891fc03461c6940501ad51565d369 +IV = fdfc75f74f571b2cbe2b3b4ea108d5b1 +CIPHERTEXT = 58a7467404a096e699b427240518b0a4 +PLAINTEXT = ac0485cc95cb49bcdfbed6e42ebaa493 + +COUNT = 14 +KEY = f79e84b654f3cdf1ebee1d9dbb161cff570c1430968d55d59feecc313bdf77fa +IV = ac0485cc95cb49bcdfbed6e42ebaa493 +CIPHERTEXT = bcc91df2f578c0f502f4ab87b4249330 +PLAINTEXT = f5f89428573436ca5d573dbde7d58009 + +COUNT = 15 +KEY = 361eb3f4e89e732ae276547a8b01eabfa2f48018c1b9631fc2b9f18cdc0af7f3 +IV = f5f89428573436ca5d573dbde7d58009 +CIPHERTEXT = c1803742bc6dbedb099849e73017f640 +PLAINTEXT = ccea313d7783cf7a713fb18d26afe5bb + +COUNT = 16 +KEY = d906884c23b6569862f2885557b43bfc6e1eb125b63aac65b3864001faa51248 +IV = ccea313d7783cf7a713fb18d26afe5bb +CIPHERTEXT = ef183bb8cb2825b28084dc2fdcb5d143 +PLAINTEXT = 4f8081be337abfc3698918f56f55b29e + +COUNT = 17 +KEY = be50cd86b8aeec2bb25aa477844e75f0219e309b854013a6da0f58f495f0a0d6 +IV = 4f8081be337abfc3698918f56f55b29e +CIPHERTEXT = 675645ca9b18bab3d0a82c22d3fa4e0c +PLAINTEXT = 6f1157b010a97ffa1896d10887830b0f + +COUNT = 18 +KEY = 6c3a308a4b71d1922fdf8c9874f9514f4e8f672b95e96c5cc29989fc1273abd9 +IV = 6f1157b010a97ffa1896d10887830b0f +CIPHERTEXT = d26afd0cf3df3db99d8528eff0b724bf +PLAINTEXT = 46935930f95d07ec846aad697a70fcaf + +COUNT = 19 +KEY = 2113b959cecdf8a3e5196d732491efe9081c3e1b6cb46bb046f3249568035776 +IV = 46935930f95d07ec846aad697a70fcaf +CIPHERTEXT = 4d2989d385bc2931cac6e1eb5068bea6 +PLAINTEXT = 9b896536d3791e15deccdf7d4565b9cb + +COUNT = 20 +KEY = 9f7a6d62084f463c42d652badf9d344593955b2dbfcd75a5983ffbe82d66eebd +IV = 9b896536d3791e15deccdf7d4565b9cb +CIPHERTEXT = be69d43bc682be9fa7cf3fc9fb0cdbac +PLAINTEXT = cc5ae9ae189d818c1d7210393707a5f8 + +COUNT = 21 +KEY = 83b8ef1c3ef4ab604323e4aa4328db035fcfb283a750f429854debd11a614b45 +IV = cc5ae9ae189d818c1d7210393707a5f8 +CIPHERTEXT = 1cc2827e36bbed5c01f5b6109cb5ef46 +PLAINTEXT = 48c60db0bb6043efee9db0fa1d1a178a + +COUNT = 22 +KEY = 8e1d9e0227695a9276a364c561559b981709bf331c30b7c66bd05b2b077b5ccf +IV = 48c60db0bb6043efee9db0fa1d1a178a +CIPHERTEXT = 0da5711e199df1f23580806f227d409b +PLAINTEXT = 96a7214267426e8c9e589928ffd28b3a + +COUNT = 23 +KEY = 4332c856efd5be74c9ec2055ec05d77d81ae9e717b72d94af588c203f8a9d7f5 +IV = 96a7214267426e8c9e589928ffd28b3a +CIPHERTEXT = cd2f5654c8bce4e6bf4f44908d504ce5 +PLAINTEXT = f4fe986d25588ba8dea9b420e007671a + +COUNT = 24 +KEY = 690db60649cefd41f82e5046bd90f46f7550061c5e2a52e22b21762318aeb0ef +IV = f4fe986d25588ba8dea9b420e007671a +CIPHERTEXT = 2a3f7e50a61b433531c2701351952312 +PLAINTEXT = cd1c06ecf8c655cab1d420c27ea5a357 + +COUNT = 25 +KEY = 75625c4e5838648e6e9df18ec224c284b84c00f0a6ec07289af556e1660b13b8 +IV = cd1c06ecf8c655cab1d420c27ea5a357 +CIPHERTEXT = 1c6fea4811f699cf96b3a1c87fb436eb +PLAINTEXT = 9f9b995517637b8ff16ab34020b425af + +COUNT = 26 +KEY = 8ed3b4af6f9bfe508f8f07c62849b13427d799a5b18f7ca76b9fe5a146bf3617 +IV = 9f9b995517637b8ff16ab34020b425af +CIPHERTEXT = fbb1e8e137a39adee112f648ea6d73b0 +PLAINTEXT = 83f0c8bea31b0b225f0e2de4966ca108 + +COUNT = 27 +KEY = b8d7135c2b15f5ed51a238c1f4dc39f6a427511b129477853491c845d0d3971f +IV = 83f0c8bea31b0b225f0e2de4966ca108 +CIPHERTEXT = 3604a7f3448e0bbdde2d3f07dc9588c2 +PLAINTEXT = a1c936ce5e64987558ff0479e9658efb + +COUNT = 28 +KEY = 2c9e09c9eb1c69342299e3cf1d6af4a105ee67d54cf0eff06c6ecc3c39b619e4 +IV = a1c936ce5e64987558ff0479e9658efb +CIPHERTEXT = 94491a95c0099cd9733bdb0ee9b6cd57 +PLAINTEXT = 53c368ca6d218bec27b5c56f545d42b1 + +COUNT = 29 +KEY = 06a6e63ed5aea2e4fc1b462f1abdfe28562d0f1f21d1641c4bdb09536deb5b55 +IV = 53c368ca6d218bec27b5c56f545d42b1 +CIPHERTEXT = 2a38eff73eb2cbd0de82a5e007d70a89 +PLAINTEXT = c114577b6b9773cc07a1fc50f507b028 + +COUNT = 30 +KEY = 2885ab959fa46a22453781baee943406973958644a4617d04c7af50398eceb7d +IV = c114577b6b9773cc07a1fc50f507b028 +CIPHERTEXT = 2e234dab4a0ac8c6b92cc795f429ca2e +PLAINTEXT = daf074374e0fc737554fad254d86abce + +COUNT = 31 +KEY = 04e593cb481c504c7831d41c0512b8514dc92c530449d0e719355826d56a40b3 +IV = daf074374e0fc737554fad254d86abce +CIPHERTEXT = 2c60385ed7b83a6e3d0655a6eb868c57 +PLAINTEXT = acfe3a89ee8d10e72866d1d2414f2b00 + +COUNT = 32 +KEY = 30957bf2cd9bb154cf21e86478b78f7fe13716daeac4c000315389f494256bb3 +IV = acfe3a89ee8d10e72866d1d2414f2b00 +CIPHERTEXT = 3470e8398587e118b7103c787da5372e +PLAINTEXT = 72f56b756c45c04d79a000b94816f79e + +COUNT = 33 +KEY = 321be99c1faad3f570f2fdeff8e6d20393c27daf8681004d48f3894ddc339c2d +IV = 72f56b756c45c04d79a000b94816f79e +CIPHERTEXT = 028e926ed23162a1bfd3158b80515d7c +PLAINTEXT = 5c66d2fc0674b0622320d365ff7e7f63 + +COUNT = 34 +KEY = 740e41b531aa1cbc3627539817cdf0b0cfa4af5380f5b02f6bd35a28234de34e +IV = 5c66d2fc0674b0622320d365ff7e7f63 +CIPHERTEXT = 4615a8292e00cf4946d5ae77ef2b22b3 +PLAINTEXT = f7228877f1c0176e475134b48f20373c + +COUNT = 35 +KEY = 30586db2b55d66f03477fa5cb5d2ad18388627247135a7412c826e9cac6dd472 +IV = f7228877f1c0176e475134b48f20373c +CIPHERTEXT = 44562c0784f77a4c0250a9c4a21f5da8 +PLAINTEXT = b3e23f9a3c48caf9438c86a097910164 + +COUNT = 36 +KEY = d1491f48a590e486cf918d44d59b4adc8b6418be4d7d6db86f0ee83c3bfcd516 +IV = b3e23f9a3c48caf9438c86a097910164 +CIPHERTEXT = e11172fa10cd8276fbe677186049e7c4 +PLAINTEXT = 1191b38da65c1c3b85b8216b5a97cf2b + +COUNT = 37 +KEY = 830227eab7cc2a6a5ac7fe42468ee1669af5ab33eb217183eab6c957616b1a3d +IV = 1191b38da65c1c3b85b8216b5a97cf2b +CIPHERTEXT = 524b38a2125cceec955673069315abba +PLAINTEXT = 57deff309f1644e4f3a0366b0fd408ba + +COUNT = 38 +KEY = e606f8825e2f14fa46d9ce55177399becd2b5403743735671916ff3c6ebf1287 +IV = 57deff309f1644e4f3a0366b0fd408ba +CIPHERTEXT = 6504df68e9e33e901c1e301751fd78d8 +PLAINTEXT = 09635769ae201b307ab03ff2bd510121 + +COUNT = 39 +KEY = 0dea458ea2a3f803419ec5f388d26ae0c448036ada172e5763a6c0ced3ee13a6 +IV = 09635769ae201b307ab03ff2bd510121 +CIPHERTEXT = ebecbd0cfc8cecf907470ba69fa1f35e +PLAINTEXT = 8278d21ee5a11b9274375834be23824c + +COUNT = 40 +KEY = bc7b20978d0777f26b0faec02a2bc8d94630d1743fb635c5179198fa6dcd91ea +IV = 8278d21ee5a11b9274375834be23824c +CIPHERTEXT = b19165192fa48ff12a916b33a2f9a239 +PLAINTEXT = 5eb26fb35924b1e1153b913529a958a1 + +COUNT = 41 +KEY = 1e9f02f301fb861615247cd46ceb838e1882bec76692842402aa09cf4464c94b +IV = 5eb26fb35924b1e1153b913529a958a1 +CIPHERTEXT = a2e422648cfcf1e47e2bd21446c04b57 +PLAINTEXT = e041bd393ccc0eeb67d53da825faf3c3 + +COUNT = 42 +KEY = 7d1256a15426b0af9edd064f94dc3c26f8c303fe5a5e8acf657f3467619e3a88 +IV = e041bd393ccc0eeb67d53da825faf3c3 +CIPHERTEXT = 638d545255dd36b98bf97a9bf837bfa8 +PLAINTEXT = 1ae343b8999f419d8b9fd0044e23eb00 + +COUNT = 43 +KEY = 4340c50fe107b2017d087a803706cb6de2204046c3c1cb52eee0e4632fbdd188 +IV = 1ae343b8999f419d8b9fd0044e23eb00 +CIPHERTEXT = 3e5293aeb52102aee3d57ccfa3daf74b +PLAINTEXT = 869209c43530332fd7f47f7568aec465 + +COUNT = 44 +KEY = 14a5600e0900eeaa96398758a31925cd64b24982f6f1f87d39149b16471315ed +IV = 869209c43530332fd7f47f7568aec465 +CIPHERTEXT = 57e5a501e8075cabeb31fdd8941feea0 +PLAINTEXT = 2d14a46d436b35e0992f7f78b1df8dfd + +COUNT = 45 +KEY = 268b6a6f11c3aa747ec3289ac81c760a49a6edefb59acd9da03be46ef6cc9810 +IV = 2d14a46d436b35e0992f7f78b1df8dfd +CIPHERTEXT = 322e0a6118c344dee8faafc26b0553c7 +PLAINTEXT = ed619f5aa7d43b7a1a1ef5b6e8eef6bf + +COUNT = 46 +KEY = ec20fea6f4945f2043ef9b948b9ac91da4c772b5124ef6e7ba2511d81e226eaf +IV = ed619f5aa7d43b7a1a1ef5b6e8eef6bf +CIPHERTEXT = caab94c9e557f5543d2cb30e4386bf17 +PLAINTEXT = 2f4f4037db037d88ad6417997c8e8be7 + +COUNT = 47 +KEY = 193966e431fccf0dde93b72b8a2eefb48b883282c94d8b6f1741064162ace548 +IV = 2f4f4037db037d88ad6417997c8e8be7 +CIPHERTEXT = f5199842c568902d9d7c2cbf01b426a9 +PLAINTEXT = e1aa9aee3d7c68e295d8c4dc0cb9dac1 + +COUNT = 48 +KEY = 51a039023930b82c0847a8e59c33cd796a22a86cf431e38d8299c29d6e153f89 +IV = e1aa9aee3d7c68e295d8c4dc0cb9dac1 +CIPHERTEXT = 48995fe608cc7721d6d41fce161d22cd +PLAINTEXT = 5b7cee67333987f07eae6c22adb05615 + +COUNT = 49 +KEY = 552114325f46edcb0ec54bc4838cc92f315e460bc708647dfc37aebfc3a5699c +IV = 5b7cee67333987f07eae6c22adb05615 +CIPHERTEXT = 04812d30667655e70682e3211fbf0456 +PLAINTEXT = 3f8ab96ff7a7639e0a9bb45ebe53a56b + +COUNT = 50 +KEY = 29fd247328085f612df9a98b64dd9e8d0ed4ff6430af07e3f6ac1ae17df6ccf7 +IV = 3f8ab96ff7a7639e0a9bb45ebe53a56b +CIPHERTEXT = 7cdc3041774eb2aa233ce24fe75157a2 +PLAINTEXT = 6299cd54ec858fbcb4cc4ca8bf09b2f3 + +COUNT = 51 +KEY = 4f25237a35760ccdb6a905a1018f6dbe6c4d3230dc2a885f42605649c2ff7e04 +IV = 6299cd54ec858fbcb4cc4ca8bf09b2f3 +CIPHERTEXT = 66d807091d7e53ac9b50ac2a6552f333 +PLAINTEXT = bf6a08a6a6ee2e7cfdfff8be05a33852 + +COUNT = 52 +KEY = d5b8146bc01b942b86bd68c6d0c826a6d3273a967ac4a623bf9faef7c75c4656 +IV = bf6a08a6a6ee2e7cfdfff8be05a33852 +CIPHERTEXT = 9a9d3711f56d98e630146d67d1474b18 +PLAINTEXT = 725f84a4151215e0be16fbf8dae95d97 + +COUNT = 53 +KEY = 08c0515a7c983beded5185520aaf2666a178be326fd6b3c30189550f1db51bc1 +IV = 725f84a4151215e0be16fbf8dae95d97 +CIPHERTEXT = dd784531bc83afc66beced94da6700c0 +PLAINTEXT = c9f417595ca2d232d7e042889d60c520 + +COUNT = 54 +KEY = 39690ea389f2a629226e3a9efb900ace688ca96b337461f1d669178780d5dee1 +IV = c9f417595ca2d232d7e042889d60c520 +CIPHERTEXT = 31a95ff9f56a9dc4cf3fbfccf13f2ca8 +PLAINTEXT = 33543d8aab14682b73aff9a4ccc99a35 + +COUNT = 55 +KEY = e6fa89f0d7893a178b8000fdc460397c5bd894e1986009daa5c6ee234c1c44d4 +IV = 33543d8aab14682b73aff9a4ccc99a35 +CIPHERTEXT = df9387535e7b9c3ea9ee3a633ff033b2 +PLAINTEXT = 974f350476e20432a97783241d8357a5 + +COUNT = 56 +KEY = c73f49f354a76d544a51f5c90fdefdfbcc97a1e5ee820de80cb16d07519f1371 +IV = 974f350476e20432a97783241d8357a5 +CIPHERTEXT = 21c5c003832e5743c1d1f534cbbec487 +PLAINTEXT = 2506c1dbe4eaf3db1012a202d39985d6 + +COUNT = 57 +KEY = 76b9b7888ab10ae12245fb4bfaf1b247e991603e0a68fe331ca3cf05820696a7 +IV = 2506c1dbe4eaf3db1012a202d39985d6 +CIPHERTEXT = b186fe7bde1667b568140e82f52f4fbc +PLAINTEXT = e732b723867fcc747e4924b5d3f590a3 + +COUNT = 58 +KEY = 57f1b6178f63f83aa416b4f5fb09a1510ea3d71d8c17324762eaebb051f30604 +IV = e732b723867fcc747e4924b5d3f590a3 +CIPHERTEXT = 2148019f05d2f2db86534fbe01f81316 +PLAINTEXT = bed40ce64445b5079d35e49af827d690 + +COUNT = 59 +KEY = 6a7eed66cad8b5be917584d6642767cfb077dbfbc8528740ffdf0f2aa9d4d094 +IV = bed40ce64445b5079d35e49af827d690 +CIPHERTEXT = 3d8f5b7145bb4d84356330239f2ec69e +PLAINTEXT = c6a637358bfa4931eed396ebde61a887 + +COUNT = 60 +KEY = e7f5c043ab9c3dd950c72e01df470b3f76d1ecce43a8ce71110c99c177b57813 +IV = c6a637358bfa4931eed396ebde61a887 +CIPHERTEXT = 8d8b2d2561448867c1b2aad7bb606cf0 +PLAINTEXT = 7ee76eded6627e6167961f37c45b80d2 + +COUNT = 61 +KEY = 6c9720407302f1bf69f44ce9a21b234e0836821095cab010769a86f6b3eef8c1 +IV = 7ee76eded6627e6167961f37c45b80d2 +CIPHERTEXT = 8b62e003d89ecc66393362e87d5c2871 +PLAINTEXT = e7afe2c8bea4610713b997bb3104bb1e + +COUNT = 62 +KEY = 1f17d5b5da45b25a51348b824ec995c7ef9960d82b6ed1176523114d82ea43df +IV = e7afe2c8bea4610713b997bb3104bb1e +CIPHERTEXT = 7380f5f5a94743e538c0c76becd2b689 +PLAINTEXT = 7c80d1dda865a1a94d81041ce9476821 + +COUNT = 63 +KEY = a04c4e2963fe5456c516063f14da10bd9319b105830b70be28a215516bad2bfe +IV = 7c80d1dda865a1a94d81041ce9476821 +CIPHERTEXT = bf5b9b9cb9bbe60c94228dbd5a13857a +PLAINTEXT = 61cff999c3066b65066704d73df3e495 + +COUNT = 64 +KEY = 8ebcadb12377b6c6722b5887fcaf468df2d6489c400d1bdb2ec51186565ecf6b +IV = 61cff999c3066b65066704d73df3e495 +CIPHERTEXT = 2ef0e3984089e290b73d5eb8e8755630 +PLAINTEXT = 3bf66ded7023c3f762cecd3730cb2b5a + +COUNT = 65 +KEY = 70442cc69e208efae138777abfbe8e28c9202571302ed82c4c0bdcb16695e431 +IV = 3bf66ded7023c3f762cecd3730cb2b5a +CIPHERTEXT = fef88177bd57383c93132ffd4311c8a5 +PLAINTEXT = d1c2dafb609d5592f875f2c7ecabdf2f + +COUNT = 66 +KEY = 9c0221dfd81c4508fd1ed96da5479b4a18e2ff8a50b38dbeb47e2e768a3e3b1e +IV = d1c2dafb609d5592f875f2c7ecabdf2f +CIPHERTEXT = ec460d19463ccbf21c26ae171af91562 +PLAINTEXT = 30b7c68f8003595530ea63a84a2febe2 + +COUNT = 67 +KEY = 35856e6bca158758e0c22509bd99575c28553905d0b0d4eb84944ddec011d0fc +IV = 30b7c68f8003595530ea63a84a2febe2 +CIPHERTEXT = a9874fb41209c2501ddcfc6418decc16 +PLAINTEXT = 94d27373e445800343a73b56f6493d75 + +COUNT = 68 +KEY = e6f422668efb68a6f5bae6f66c42e544bc874a7634f554e8c73376883658ed89 +IV = 94d27373e445800343a73b56f6493d75 +CIPHERTEXT = d3714c0d44eeeffe1578c3ffd1dbb218 +PLAINTEXT = 1f9cc3e10b304173c7418dad27f6315c + +COUNT = 69 +KEY = 3384e4bb53d948726c9d20c2bab49195a31b89973fc5159b0072fb2511aedcd5 +IV = 1f9cc3e10b304173c7418dad27f6315c +CIPHERTEXT = d570c6dddd2220d49927c634d6f674d1 +PLAINTEXT = ccb23477b54a2b1884c8d59580c55ded + +COUNT = 70 +KEY = 91c34365624f177f83a5f95104852a7f6fa9bde08a8f3e8384ba2eb0916b8138 +IV = ccb23477b54a2b1884c8d59580c55ded +CIPHERTEXT = a247a7de31965f0def38d993be31bbea +PLAINTEXT = c5c0fa6c44fefac966e04efe93025b0d + +COUNT = 71 +KEY = 8a33ac238a426ce0de9d3e8e81ae4174aa69478cce71c44ae25a604e0269da35 +IV = c5c0fa6c44fefac966e04efe93025b0d +CIPHERTEXT = 1bf0ef46e80d7b9f5d38c7df852b6b0b +PLAINTEXT = ac7ef531776957bafea010eef9b46497 + +COUNT = 72 +KEY = dd156ba3b7669f6bc0e1d000dce195bb0617b2bdb91893f01cfa70a0fbddbea2 +IV = ac7ef531776957bafea010eef9b46497 +CIPHERTEXT = 5726c7803d24f38b1e7cee8e5d4fd4cf +PLAINTEXT = 395ca57daae42fbb19bf135b15ca0bf5 + +COUNT = 73 +KEY = d221ec882328964e26925b8de33952093f4b17c013fcbc4b054563fbee17b557 +IV = 395ca57daae42fbb19bf135b15ca0bf5 +CIPHERTEXT = 0f34872b944e0925e6738b8d3fd8c7b2 +PLAINTEXT = 3b2b387521982b8e25ddd4967205aa0e + +COUNT = 74 +KEY = 7080ea22647467601838fa04862b20f604602fb5326497c52098b76d9c121f59 +IV = 3b2b387521982b8e25ddd4967205aa0e +CIPHERTEXT = a2a106aa475cf12e3eaaa189651272ff +PLAINTEXT = 36a93457b17004bddeecbe71eca012c4 + +COUNT = 75 +KEY = a2538f4fb3d27808bf8c8dbe4f3cb62a32c91be283149378fe74091c70b20d9d +IV = 36a93457b17004bddeecbe71eca012c4 +CIPHERTEXT = d2d3656dd7a61f68a7b477bac91796dc +PLAINTEXT = 40a7b58b48ea5a2df56f7283e31f0e95 + +COUNT = 76 +KEY = 6a1a7982951b72a89551ddaa182be068726eae69cbfec9550b1b7b9f93ad0308 +IV = 40a7b58b48ea5a2df56f7283e31f0e95 +CIPHERTEXT = c849f6cd26c90aa02add501457175642 +PLAINTEXT = 38420eaec7ec91e84fecf7e82dd79c44 + +COUNT = 77 +KEY = 2a9acdd62e8a5a986fa03a52a86d33864a2ca0c70c1258bd44f78c77be7a9f4c +IV = 38420eaec7ec91e84fecf7e82dd79c44 +CIPHERTEXT = 4080b454bb912830faf1e7f8b046d3ee +PLAINTEXT = 0a0594402efce950e964bf192dfcdf57 + +COUNT = 78 +KEY = 85cf1fee857fac3832d879c6786807084029348722eeb1edad93336e9386401b +IV = 0a0594402efce950e964bf192dfcdf57 +CIPHERTEXT = af55d238abf5f6a05d784394d005348e +PLAINTEXT = dc5153dd4249c32dbeb91530c089fdaa + +COUNT = 79 +KEY = a0351703f6f198648fd54178bd2de8399c78675a60a772c0132a265e530fbdb1 +IV = dc5153dd4249c32dbeb91530c089fdaa +CIPHERTEXT = 25fa08ed738e345cbd0d38bec545ef31 +PLAINTEXT = 920243bbe7ed0214994f5e1420f1c80f + +COUNT = 80 +KEY = 2f97af0cf860403129aa2710a0c28ed60e7a24e1874a70d48a65784a73fe75be +IV = 920243bbe7ed0214994f5e1420f1c80f +CIPHERTEXT = 8fa2b80f0e91d855a67f66681def66ef +PLAINTEXT = 57fbff60da6f0610b2ca6778b8dcaa7a + +COUNT = 81 +KEY = 92fb35e134a34b81929da13bb8e77f1d5981db815d2576c438af1f32cb22dfc4 +IV = 57fbff60da6f0610b2ca6778b8dcaa7a +CIPHERTEXT = bd6c9aedccc30bb0bb37862b1825f1cb +PLAINTEXT = 21999110fa31bd336f5fc2e1673e2199 + +COUNT = 82 +KEY = 56332e6b815ca5ff2765e74a306213a378184a91a714cbf757f0ddd3ac1cfe5d +IV = 21999110fa31bd336f5fc2e1673e2199 +CIPHERTEXT = c4c81b8ab5ffee7eb5f8467188856cbe +PLAINTEXT = 0e0b863042623b40da9292970f7bfd1f + +COUNT = 83 +KEY = 3bc1966108e019316b37d323bfcd5d3d7613cca1e576f0b78d624f44a3670342 +IV = 0e0b863042623b40da9292970f7bfd1f +CIPHERTEXT = 6df2b80a89bcbcce4c5234698faf4e9e +PLAINTEXT = 93f5efa9e90fb01e7f86c3750be154c1 + +COUNT = 84 +KEY = 42f693ef5ad1cede3f7e5a9597737c4ee5e623080c7940a9f2e48c31a8865783 +IV = 93f5efa9e90fb01e7f86c3750be154c1 +CIPHERTEXT = 7937058e5231d7ef544989b628be2173 +PLAINTEXT = 3da0ef8978fac734974acf0cf072a2db + +COUNT = 85 +KEY = c1739fa854fd5d71b921776e7ec5f6ead846cc817483879d65ae433d58f4f558 +IV = 3da0ef8978fac734974acf0cf072a2db +CIPHERTEXT = 83850c470e2c93af865f2dfbe9b68aa4 +PLAINTEXT = be6bc9c53d4fd224546c9a63194758a2 + +COUNT = 86 +KEY = 233b9a68b0cca94bd30171fbbedf6100662d054449cc55b931c2d95e41b3adfa +IV = be6bc9c53d4fd224546c9a63194758a2 +CIPHERTEXT = e24805c0e431f43a6a200695c01a97ea +PLAINTEXT = 106944502d77e13bba0139d3f6ac7904 + +COUNT = 87 +KEY = c440051f216a8baad7236d368b9cc5e17644411464bbb4828bc3e08db71fd4fe +IV = 106944502d77e13bba0139d3f6ac7904 +CIPHERTEXT = e77b9f7791a622e104221ccd3543a4e1 +PLAINTEXT = 31494f50886a204712a4f30aefddbdeb + +COUNT = 88 +KEY = 24ae058d0535910a9bf39a7651ea2168470d0e44ecd194c59967138758c26915 +IV = 31494f50886a204712a4f30aefddbdeb +CIPHERTEXT = e0ee0092245f1aa04cd0f740da76e489 +PLAINTEXT = 31ed4c77f500f78e20545cb42a907c93 + +COUNT = 89 +KEY = 7c586ce6985d9c3e73c75fd87ca5d45976e0423319d1634bb9334f3372521586 +IV = 31ed4c77f500f78e20545cb42a907c93 +CIPHERTEXT = 58f6696b9d680d34e834c5ae2d4ff531 +PLAINTEXT = b22b101d16b7608c3f283b01cc53b156 + +COUNT = 90 +KEY = e9ee1ec09fd44abe6079bbc6be77dc37c4cb522e0f6603c7861b7432be01a4d0 +IV = b22b101d16b7608c3f283b01cc53b156 +CIPHERTEXT = 95b672260789d68013bee41ec2d2086e +PLAINTEXT = d6f613a6906cb3a909b9e6e2ddbad2c0 + +COUNT = 91 +KEY = 7b18ea92b16ba248b8efcfb100177a81123d41889f0ab06e8fa292d063bb7610 +IV = d6f613a6906cb3a909b9e6e2ddbad2c0 +CIPHERTEXT = 92f6f4522ebfe8f6d8967477be60a6b6 +PLAINTEXT = b97b63fc7a0c8d43bbd352f9abd5b742 + +COUNT = 92 +KEY = b1fa00dccb956217aee824846da7a365ab462274e5063d2d3471c029c86ec152 +IV = b97b63fc7a0c8d43bbd352f9abd5b742 +CIPHERTEXT = cae2ea4e7afec05f1607eb356db0d9e4 +PLAINTEXT = 751f3b2bacad53530d95c7cb23c5ad7e + +COUNT = 93 +KEY = fd350a485c0bdc9c03392aaf5bec62ccde59195f49ab6e7e39e407e2ebab6c2c +IV = 751f3b2bacad53530d95c7cb23c5ad7e +CIPHERTEXT = 4ccf0a94979ebe8badd10e2b364bc1a9 +PLAINTEXT = 0bd7f325fbb785732f771bca506ece3c + +COUNT = 94 +KEY = d313b5b60552761bd5e7a27eac77f2ebd58eea7ab21ceb0d16931c28bbc5a210 +IV = 0bd7f325fbb785732f771bca506ece3c +CIPHERTEXT = 2e26bffe5959aa87d6de88d1f79b9027 +PLAINTEXT = 8d8e37f4fa7a14bdfa5e5ad3027a3019 + +COUNT = 95 +KEY = af7d1d6dd1cc4e995f9dec47ae41a7325800dd8e4866ffb0eccd46fbb9bf9209 +IV = 8d8e37f4fa7a14bdfa5e5ad3027a3019 +CIPHERTEXT = 7c6ea8dbd49e38828a7a4e39023655d9 +PLAINTEXT = 285c97d140b8d0801de2fe575ad06bca + +COUNT = 96 +KEY = ae57c1a707e9e22018aaa2d4ad7f40ff705c4a5f08de2f30f12fb8ace36ff9c3 +IV = 285c97d140b8d0801de2fe575ad06bca +CIPHERTEXT = 012adccad625acb947374e93033ee7cd +PLAINTEXT = ddc156c9852716e8be075395c088e083 + +COUNT = 97 +KEY = 16f70be71d62dca0c5ea0dd5d1da4ac5ad9d1c968df939d84f28eb3923e71940 +IV = ddc156c9852716e8be075395c088e083 +CIPHERTEXT = b8a0ca401a8b3e80dd40af017ca50a3a +PLAINTEXT = ab671845855b8236c03988c7656744ad + +COUNT = 98 +KEY = d5125a5a520e6ef5df53f5f7ca6e4bb006fa04d308a2bbee8f1163fe46805ded +IV = ab671845855b8236c03988c7656744ad +CIPHERTEXT = c3e551bd4f6cb2551ab9f8221bb40175 +PLAINTEXT = ffde3506279cbb1d59ba65814fd92464 + +COUNT = 99 +KEY = 90e293ec21f4220d8b9726906b83bbd6f92431d52f3e00f3d6ab067f09597989 +IV = ffde3506279cbb1d59ba65814fd92464 +CIPHERTEXT = 45f0c9b673fa4cf854c4d367a1edf066 +PLAINTEXT = 9be831799a79b0955241f308f0d5b2e1 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT128.rsp new file mode 100644 index 000000000..c0a6aec00 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT128.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 1f8e4973953f3fb0bd6b16662e9a3c17 +IV = 2fe2b333ceda8f98f4a99b40d2cd34a8 +PLAINTEXT = 45cf12964fc824ab76616ae2f4bf0822 +CIPHERTEXT = 0f61c4d44c5147c03c195ad7e2cc12b2 + +COUNT = 1 +KEY = 0700d603a1c514e46b6191ba430a3a0c +IV = aad1583cd91365e3bb2f0c3430d065bb +PLAINTEXT = 068b25c7bfb1f8bdd4cfc908f69dffc5ddc726a197f0e5f720f730393279be91 +CIPHERTEXT = c4dc61d9725967a3020104a9738f23868527ce839aab1752fd8bdb95a82c4d00 + +COUNT = 2 +KEY = 3348aa51e9a45c2dbe33ccc47f96e8de +IV = 19153c673160df2b1d38c28060e59b96 +PLAINTEXT = 9b7cee827a26575afdbb7c7a329f887238052e3601a7917456ba61251c214763d5e1847a6ad5d54127a399ab07ee3599 +CIPHERTEXT = d5aed6c9622ec451a15db12819952b6752501cf05cdbf8cda34a457726ded97818e1f127a28d72db5652749f0c6afee5 + +COUNT = 3 +KEY = b7f3c9576e12dd0db63e8f8fac2b9a39 +IV = c80f095d8bb1a060699f7c19974a1aa0 +PLAINTEXT = 9ac19954ce1319b354d3220460f71c1e373f1cd336240881160cfde46ebfed2e791e8d5a1a136ebd1dc469dec00c4187722b841cdabcb22c1be8a14657da200e +CIPHERTEXT = 19b9609772c63f338608bf6eb52ca10be65097f89c1e0905c42401fd47791ae2c5440b2d473116ca78bd9ff2fb6015cfd316524eae7dcb95ae738ebeae84a467 + +COUNT = 4 +KEY = b6f9afbfe5a1562bba1368fc72ac9d9c +IV = 3f9d5ebe250ee7ce384b0d00ee849322 +PLAINTEXT = db397ec22718dbffb9c9d13de0efcd4611bf792be4fce0dc5f25d4f577ed8cdbd4eb9208d593dda3d4653954ab64f05676caa3ce9bfa795b08b67ceebc923fdc89a8c431188e9e482d8553982cf304d1 +CIPHERTEXT = 10ea27b19e16b93af169c4a88e06e35c99d8b420980b058e34b4b8f132b13766f72728202b089f428fecdb41c79f8aa0d0ef68f5786481cca29e2126f69bc14160f1ae2187878ba5c49cf3961e1b7ee9 + +COUNT = 5 +KEY = bbe7b7ba07124ff1ae7c3416fe8b465e +IV = 7f65b5ee3630bed6b84202d97fb97a1e +PLAINTEXT = 2aad0c2c4306568bad7447460fd3dac054346d26feddbc9abd9110914011b4794be2a9a00a519a51a5b5124014f4ed2735480db21b434e99a911bb0b60fe0253763725b628d5739a5117b7ee3aefafc5b4c1bf446467e7bf5f78f31ff7caf187 +CIPHERTEXT = 3b8611bfc4973c5cd8e982b073b33184cd26110159172e44988eb5ff5661a1e16fad67258fcbfee55469267a12dc374893b4e3533d36f5634c3095583596f135aa8cd1138dc898bc5651ee35a92ebf89ab6aeb5366653bc60a70e0074fc11efe + +COUNT = 6 +KEY = 89a553730433f7e6d67d16d373bd5360 +IV = f724558db3433a523f4e51a5bea70497 +PLAINTEXT = 807bc4ea684eedcfdcca30180680b0f1ae2814f35f36d053c5aea6595a386c1442770f4d7297d8b91825ee7237241da8925dd594ccf676aecd46ca2068e8d37a3a0ec8a7d5185a201e663b5ff36ae197110188a23503763b8218826d23ced74b31e9f6e2d7fbfa6cb43420c7807a8625 +CIPHERTEXT = 406af1429a478c3d07e555c5287a60500d37fc39b68e5bbb9bafd6ddb223828561d6171a308d5b1a4551e8a5e7d572918d25c968d3871848d2f16635caa9847f38590b1df58ab5efb985f2c66cfaf86f61b3f9c0afad6c963c49cee9b8bc81a2ddb06c967f325515a4849eec37ce721a + +COUNT = 7 +KEY = c491ca31f91708458e29a925ec558d78 +IV = 9ef934946e5cd0ae97bd58532cb49381 +PLAINTEXT = cb6a787e0dec56f9a165957f81af336ca6b40785d9e94093c6190e5152649f882e874d79ac5e167bd2a74ce5ae088d2ee854f6539e0a94796b1e1bd4c9fcdbc79acbef4d01eeb89776d18af71ae2a4fc47dd66df6c4dbe1d1850e466549a47b636bcc7c2b3a62495b56bb67b6d455f1eebd9bfefecbca6c7f335cfce9b45cb9d +CIPHERTEXT = 7b2931f5855f717145e00f152a9f4794359b1ffcb3e55f594e33098b51c23a6c74a06c1d94fded7fd2ae42c7db7acaef5844cb33aeddc6852585ed0020a6699d2cb53809cefd169148ce42292afab063443978306c582c18b9ce0da3d084ce4d3c482cfd8fcf1a85084e89fb88b40a084d5e972466d07666126fb761f84078f2 + +COUNT = 8 +KEY = f6e87d71b0104d6eb06a68dc6a71f498 +IV = 1c245f26195b76ebebc2edcac412a2f8 +PLAINTEXT = f82bef3c73a6f7f80db285726d691db6bf55eec25a859d3ba0e0445f26b9bb3b16a3161ed1866e4dd8f2e5f8ecb4e46d74a7a78c20cdfc7bcc9e479ba7a0caba9438238ad0c01651d5d98de37f03ddce6e6b4bd4ab03cf9e8ed818aedfa1cf963b932067b97d776dce1087196e7e913f7448e38244509f0caf36bd8217e15336d35c149fd4e41707893fdb84014f8729 +CIPHERTEXT = b09512f3eff9ed0d85890983a73dadbb7c3678d52581be64a8a8fc586f490f2521297a478a0598040ebd0f5509fafb0969f9d9e600eaef33b1b93eed99687b167f89a5065aac439ce46f3b8d22d30865e64e45ef8cd30b6984353a844a11c8cd60dba0e8866b3ee30d24b3fa8a643b328353e06010fa8273c8fd54ef0a2b6930e5520aae5cd5902f9b86a33592ca4365 + +COUNT = 9 +KEY = 2c14413751c31e2730570ba3361c786b +IV = 1dbbeb2f19abb448af849796244a19d7 +PLAINTEXT = 40d930f9a05334d9816fe204999c3f82a03f6a0457a8c475c94553d1d116693adc618049f0a769a2eed6a6cb14c0143ec5cccdbc8dec4ce560cfd206225709326d4de7948e54d603d01b12d7fed752fb23f1aa4494fbb00130e9ded4e77e37c079042d828040c325b1a5efd15fc842e44014ca4374bf38f3c3fc3ee327733b0c8aee1abcd055772f18dc04603f7b2c1ea69ff662361f2be0a171bbdcea1e5d3f +CIPHERTEXT = 6be8a12800455a320538853e0cba31bd2d80ea0c85164a4c5c261ae485417d93effe2ebc0d0a0b51d6ea18633d210cf63c0c4ddbc27607f2e81ed9113191ef86d56f3b99be6c415a4150299fb846ce7160b40b63baf1179d19275a2e83698376d28b92548c68e06e6d994e2c1501ed297014e702cdefee2f656447706009614d801de1caaf73f8b7fa56cf1ba94b631933bbe577624380850f117435a0355b2b + +[DECRYPT] + +COUNT = 0 +KEY = 6a7082cf8cda13eff48c8158dda206ae +IV = bd4172934078c2011cb1f31cffaf486e +CIPHERTEXT = f8eb31b31e374e960030cd1cadb0ef0c +PLAINTEXT = 940bc76d61e2c49dddd5df7f37fcf105 + +COUNT = 1 +KEY = 625eefa18a4756454e218d8bfed56e36 +IV = 73d9d0e27c2ec568fbc11f6a0998d7c8 +CIPHERTEXT = 5d6fed86f0c4fe59a078d6361a142812514b295dc62ff5d608a42ea37614e6a1 +PLAINTEXT = 360dc1896ce601dfb2a949250067aad96737847a4580ede2654a329b842fe81e + +COUNT = 2 +KEY = fd6e0b954ae2e3b723d6c9fcae6ab09b +IV = f08b65c9f4dd950039941da2e8058c4e +CIPHERTEXT = e29e3114c8000eb484395b256b1b3267894f290d3999819ff35da03e6463c186c4d7ebb964941f1986a2d69572fcaba8 +PLAINTEXT = a206385945b21f812a9475f47fddbb7fbdda958a8d14c0dbcdaec36e8b28f1f6ececa1ceae4ce17721d162c1d42a66c1 + +COUNT = 3 +KEY = 7b1ab9144b0239315cd5eec6c75663bd +IV = 0b1e74f45c17ff304d99c059ce5cde09 +CIPHERTEXT = d3f89b71e033070f9d7516a6cb4ea5ef51d6fb63d4f0fea089d0a60e47bbb3c2e10e9ba3b282c7cb79aefe3068ce228377c21a58fe5a0f8883d0dbd3d096beca +PLAINTEXT = b968aeb199ad6b3c8e01f26c2edad444538c78bfa36ed68ca76123b8cdce615a01f6112bb80bfc3f17490578fb1f909a52e162637b062db04efee291a1f1af60 + +COUNT = 4 +KEY = 36466b6bd25ea3857ea42f0cac1919b1 +IV = 7186fb6bdfa98a16189544b228f3bcd3 +CIPHERTEXT = 9ed957bd9bc52bba76f68cfbcde52157a8ca4f71ac050a3d92bdebbfd7c78316b4c9f0ba509fad0235fdafe90056ad115dfdbf08338b2acb1c807a88182dd2a882d1810d4302d598454e34ef2b23687d +PLAINTEXT = 999983467c47bb1d66d7327ab5c58f61ddb09b93bd2460cb78cbc12b5fa1ea0c5f759ccc5e478697687012ff4673f6e61eecaeda0ccad2d674d3098c7d17f887b62b56f56b03b4d055bf3a4460e83efa + +COUNT = 5 +KEY = 89373ee6e28397640d5082eed4123239 +IV = 1a74d7c859672c804b82472f7e6d3c6b +CIPHERTEXT = 1bcba44ddff503db7c8c2ec4c4eea0e827957740cce125c1e11769842fa97e25f1b89269e6d77923a512a358312f4ba1cd33f2d111280cd83e1ef9e7cf7036d55048d5c273652afa611cc81b4e9dac7b5078b7c4716062e1032ead1e3329588a +PLAINTEXT = 45efd00daa4cdc8273ef785cae9e944a7664a2391e1e2c449f475acec0124bbc22944331678617408a1702917971f4654310ffb9229bec6173715ae512d37f93aaa6abf009f7e30d65669d1db0366b5bce4c7b00f871014f5753744a1878dc57 + +COUNT = 6 +KEY = bab0cceddc0abd63e3f82e9fbff7b8aa +IV = 68b9140f300490c5c942f66e777eb806 +CIPHERTEXT = c65b94b1f291fa9f0600f22c3c0432c895ad5d177bcccc9ea44e8ec339c9adf43855b326179d6d81aa36ef59462fd86127e9d81b0f286f93306bf74d4c79e47c1b3d4b74edd3a16290e3c63b742e41f20d66ceee794316bb63d3bd002712a1b136ba6185bd5c1dab81b07db90d2af5e5 +PLAINTEXT = c5585ff215bbb73ba5393440852fb199436de0d15e55c631f877670aa3eda9f672eb1f876f09544e63558436b8928000db2f02a5ad90f95b05ac4cf49e198e617e7678480fdf0efacc6aae691271e6cdd3541ebf719a1ccaedb24e2f80f92455dd5910cb5086b0960a3942ec182dcbd7 + +COUNT = 7 +KEY = 9c702898efa44557b29ed283f5bc0293 +IV = cec6e1b82e8b2a591a9fa5ff1cf5cc51 +CIPHERTEXT = ba9f646755dacc22911f51d7de2f7e7cb0bc0b75257ea44fe883edb055c7c28ede04c3a0adcb10128ad4517d0093fa16bb0bcd2635e7a0ba92c7609bc8d8568002a7a983473724d256513aa7d51b477aabec1975ab5faf2872a6407e922180eff02f1ef86a4591c8bd3d143da6f0ef0e4806f94ace0d5b0151c99640fccbc843 +PLAINTEXT = 1d1f8d81bdc3e2c7cb057f408e6450000c5aaed3260ff1e87fbb6f324df6887ffd8f78d7e2a04c9ed9deda9d64482d2b002f4a2b78d8b4f691875c8295d4a64b22257ceaf713ed2f4b92530d7ad7151d629acda882b4829577a43990b0948c1149c22fe4273656d1b08833930e8b06709a94579a78fc220f7057bbc1fa9f6563 + +COUNT = 8 +KEY = 5674636dbdb38f705f0b08c372ef4785 +IV = 3f20ce0509b57420d53b6be4d0b7f0a9 +CIPHERTEXT = 198351f453103face6655666fe90bdbd9630e3733b2d66c013a634e91f2bf015bd2d975d71b26322e44defa32d4e9dce50363557046ece08ba38f258dae5fd3e5049c647476c81e73482e40c171d89f9fea29452caf995733589b0061464fbd5dabe27dc5ea463a3deeb7dcb43664ae6a65c498c143883ab8e83b51e5410b181647602443dc3cfffe86f0205398fa83c +PLAINTEXT = 6d40fd2f908f48ce19241b6b278b1b1676dffd4a97ce9f8a1574c33bc59237deb536bee376fd6c381e6987700e39283aa111cf1a59f26fae6fb6700bf012646a2ab80239bf5e1632329043aa87d7911978b36523a2bc0bed9a9737ccf7a00baa2f3822b4e9e742e168e7069290705fed2eb63aa044b78f97dd33a8d6b24741ec1fd8c8db79d93b884e762dba0f406961 + +COUNT = 9 +KEY = 97a1025529b9925e25bbe78770ca2f99 +IV = d4b4eab92aa9637e87d366384ed6915c +CIPHERTEXT = 22cdc3306fcd4d31ccd32720cbb61bad28d855670657c48c7b88c31f4fa1f93c01b57da90be63ead67d6a325525e6ed45083e6fb70a53529d1fa0f55653b942af59d78a2660361d63a7290155ac5c43312a25b235dacbbc863faf00940c99624076dfa44068e7c554c9038176953e571751dfc0954d41d113771b06466b1c8d13e0d4cb675ed58d1a619e1540970983781dc11d2dd8525ab5745958d615defda +PLAINTEXT = e8b89150d8438bf5b17449d6ed26bd72127e10e4aa57cad85283e8359e089208e84921649f5b60ea21f7867cbc9620560c4c6238db021216db453c9943f1f1a60546173daef2557c3cdd855031b353d4bf176f28439e48785c37d38f270aa4a6faad2baabcb0c0b2d1dd5322937498ce803ba1148440a52e227ddba4872fe4d81d2d76a939d24755adb8a7b8452ceed2d179e1a5848f316f5c016300a390bfa7 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT192.rsp new file mode 100644 index 000000000..2ce5d0af0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT192.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CBC +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:35 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = ba75f4d1d9d7cf7f551445d56cc1a8ab2a078e15e049dc2c +IV = 531ce78176401666aa30db94ec4a30eb +PLAINTEXT = c51fc276774dad94bcdc1d2891ec8668 +CIPHERTEXT = 70dd95a14ee975e239df36ff4aee1d5d + +COUNT = 1 +KEY = eab3b19c581aa873e1981c83ab8d83bbf8025111fb2e6b21 +IV = f3d6667e8d4d791e60f7505ba383eb05 +PLAINTEXT = 9d4e4cccd1682321856df069e3f1c6fa391a083a9fb02d59db74c14081b3acc4 +CIPHERTEXT = 51d44779f90d40a80048276c035cb49ca2a47bcb9b9cf7270b9144793787d53f + +COUNT = 2 +KEY = 16c93bb398f1fc0cf6d68fc7a5673cdf431fa147852b4a2d +IV = eaaeca2e07ddedf562f94df63f0a650f +PLAINTEXT = c5ce958613bf741718c17444484ebaf1050ddcacb59b9590178cbe69d7ad7919608cb03af13bbe04f3506b718a301ea0 +CIPHERTEXT = ed6a50e0c6921d52d6647f75d67b4fd56ace1fedb8b5a6a997b4d131640547d22c5d884a75e6752b5846b5b33a5181f4 + +COUNT = 3 +KEY = 067bb17b4df785697eaccf961f98e212cb75e6797ce935cb +IV = 8b59c9209c529ca8391c9fc0ce033c38 +PLAINTEXT = db3785a889b4bd387754da222f0e4c2d2bfe0d79e05bc910fba941beea30f1239eacf0068f4619ec01c368e986fca6b7c58e490579d29611bd10087986eff54f +CIPHERTEXT = d5f5589760bf9c762228fde236de1fa2dd2dad448db3fa9be0c4196efd46a35c84dd1ac77d9db58c95918cb317a6430a08d2fb6a8e8b0f1c9b72c7a344dc349f + +COUNT = 4 +KEY = 0fd39de83e0be77a79c8a4a612e3dd9c8aae2ce35e7a2bf8 +IV = 7e1d629b84f93b079be51f9a5f5cb23c +PLAINTEXT = 38fbda37e28fa86d9d83a4345e419dea95d28c7818ff25925db6ac3aedaf0a86154e20a4dfcc5b1b4192895393e5eb5846c88bdbd41ecf7af3104f410eaee470f5d9017ed460475f626953035a13db1f +CIPHERTEXT = edadae2f9a45ff3473e02d904c94d94a30a4d92da4deb6bcb4b0774472694571842039f21c496ef93fd658842c735f8a81fcd0aa578442ab893b18f606aed1bab11f81452dd45e9b56adf2eccf4ea095 + +COUNT = 5 +KEY = e3fecc75f0075a09b383dfd389a3d33cc9b854b3b254c0f4 +IV = 36eab883afef936cc38f63284619cd19 +PLAINTEXT = 931b2f5f3a5820d53a6beaaa6431083a3488f4eb03b0f5b57ef838e1579623103bd6e6800377538b2e51ef708f3c4956432e8a8ee6a34e190642b26ad8bdae6c2af9a6c7996f3b6004d2671e41f1c9f40ee03d1c4a52b0a0654a331f15f34dce +CIPHERTEXT = 75395974bd32b3665654a6c8e396b88ae34b123575872a7ab687d8e76b46df911a8a590cd01d2f5c330be3a6626e9dd3aa5e10ed14e8ff829811b6fed50f3f533ca4385a1cbca78f5c4744e50f2f8359165c2485d1324e76c3eae76a0ccac629 + +COUNT = 6 +KEY = f9c27565eb07947c8cb51b79248430f7b1066c3d2fdc3d13 +IV = 2bd67cc89ab7948d644a49672843cbd9 +PLAINTEXT = 6abcc270173cf114d44847e911a050db57ba7a2e2c161c6f37ccb6aaa4677bddcaf50cad0b5f8758fcf7c0ebc650ceb5cd52cafb8f8dd3edcece55d9f1f08b9fa8f54365cf56e28b9596a7e1dd1d3418e4444a7724add4cf79d527b183ec88de4be4eeff29c80a97e54f85351cb189ee +CIPHERTEXT = ca282924a61187feb40520979106e5cc861957f23828dcb7285e0eaac8a0ca2a6b60503d63d6039f4693dba32fa1f73ae2e709ca94911f28a5edd1f30eaddd54680c43acc9c74cd90d8bb648b4e544275f47e514daa20697f66c738eb30337f017fca1a26da4d1a0cc0a0e98e2463070 + +COUNT = 7 +KEY = fb09cf9e00dbf883689d079c920077c0073c31890b55bab5 +IV = e3c89bd097c3abddf64f4881db6dbfe2 +PLAINTEXT = c1a37683fb289467dd1b2c89efba16bbd2ee24cf18d19d44596ded2682c79a2f711c7a32bf6a24badd32a4ee637c73b7a41da6258635650f91fb9ffa45bdfc3cb122136241b3deced8996aa51ea8d3e81c9d70e006a44bc0571ed48623a0d622a93fa9da290baaedf5d9e876c94620945ff8ecc83f27379ed55cf490c5790f27 +CIPHERTEXT = 8158e21420f25b59d6ae943fa1cbf21f02e979f419dab0126a721b7eef55bee9ad97f5ccff7d239057bbc19a8c378142f7672f1d5e7e17d7bebcb0070e8355cace6660171a53b61816ae824a6ef69ce470b6ffd3b5bb4b438874d91d27854d3b6f25860d3868958de3307d62b1339bdddb8a318c0ce0f33c17caf0e9f6040820 + +COUNT = 8 +KEY = bca6fa3c67fd294e958f66fe8bd64f45f428f5bc8e9733a7 +IV = 92a47f2833f1450d1da41717bdc6e83c +PLAINTEXT = 5becbc31d8bead6d36ae014a5863d14a431e6b55d29ea6baaa417271716db3a33b2e506b452086dfe690834ac2de30bc41254ec5401ec47d064237c7792fdcd7914d8af20eb114756642d519021a8c75a92f6bc53d326ae9a5b7e1b10a9756574692934d9939fc399e0c203f7edf8e7e6482eadd31a0400770e897b48c6bca2b404593045080e93377358c42a0f4dede +CIPHERTEXT = 926db248cc1ba20f0c57631a7c8aef094f791937b905949e3460240e8bfa6fa483115a1b310b6e4369caebc5262888377b1ddaa5800ea496a2bdff0f9a1031e7129c9a20e35621e7f0b8baca0d87030f2ae7ca8593c8599677a06fd4b26009ead08fecac24caa9cf2cad3b470c8227415a7b1e0f2eab3fad96d70a209c8bb26c627677e2531b9435ca6e3c444d195b5f + +COUNT = 9 +KEY = 162ad50ee64a0702aa551f571dedc16b2c1b6a1e4d4b5eee +IV = 24408038161a2ccae07b029bb66355c1 +PLAINTEXT = be8abf00901363987a82cc77d0ec91697ba3857f9e4f84bd79406c138d02698f003276d0449120bef4578d78fecabe8e070e11710b3f0a2744bd52434ec70015884c181ebdfd51c604a71c52e4c0e110bc408cd462b248a80b8a8ac06bb952ac1d7faed144807f1a731b7febcaf7835762defe92eccfc7a9944e1c702cffe6bc86733ed321423121085ac02df8962bcbc1937092eebf0e90a8b20e3dd8c244ae +CIPHERTEXT = c82cf2c476dea8cb6a6e607a40d2f0391be82ea9ec84a537a6820f9afb997b76397d005424faa6a74dc4e8c7aa4a8900690f894b6d1dca80675393d2243adac762f159301e357e98b724762310cd5a7bafe1c2a030dba46fd93a9fdb89cc132ca9c17dc72031ec6822ee5a9d99dbca66c784c01b0885cbb62e29d97801927ec415a5d215158d325f9ee689437ad1b7684ad33c0d92739451ac87f39ff8c31b84 + +[DECRYPT] + +COUNT = 0 +KEY = 8e2740fba157aef2422e442312d15c14d312553684fcdc15 +IV = 324015878cdc82bfae59a2dc1ff34ea6 +CIPHERTEXT = 39a9b42de19e512ab7f3043564c3515a +PLAINTEXT = aa41179d880e6fe3b14818d6e4a62eb5 + +COUNT = 1 +KEY = 0ac0d2add273d1a260c432c662b4be4d8d366edc3f402e40 +IV = 0cc3744fa9cef13fe04a5ab6ac9b8de4 +CIPHERTEXT = 2cd57dce7465d5ecde153e87ce45e62286c6b023a446dae3ec0fdc0648f29308 +PLAINTEXT = 854e97e19b5c4fbd7a2ac7f8ddccdc8eac1a166832b58f05ae5088d7caba8fee + +COUNT = 2 +KEY = 3915d786c786731cfe35abe39fac714f5fa32c7ef3c6681b +IV = a2d326a8226576e32e48f62b3da96c40 +CIPHERTEXT = a9968021d6df78ff2c4c236bdd9a55bc727b0dc506f44958b2041f0948860a3444588242ffbdcf2726001e2f6b5bd5fb +PLAINTEXT = 4a7a4dca5c555d3f0358be7db4af14f1322a8861a3cb977f029fdcbd8ee4a8d451f32d7865e6a2376edf67e4d1092e15 + +COUNT = 3 +KEY = 92317d4d38168a359118a0df0b7b45cbfdcc2011e7175d3c +IV = 75be95a6a54400b2e1b485e24ead18ed +CIPHERTEXT = f67581763d23326f699e05696043b4c553928c2a9f857377f12029fcae4acee992dba50697f617a51899fbd6367214d97bf5dbd9bdab7fd745cd2be431118793 +PLAINTEXT = 7b88fb0195a57ac61ccb3198a05517717523444da92d2e8c37840a7f7614c9effa6dd6f1d1a730ec350cd64b99738cfb3b962c791b2674929f936e894cbcb994 + +COUNT = 4 +KEY = cd00048ce8ead5b5dff2346a86eac594b2a4194ca99fc89f +IV = 154cb1d42ad9e8d85ebb0b5189b6e1bc +CIPHERTEXT = a12b32199ae6484418ac7097fda9bb33f2ae421dfd795c9b553615e17546dcec6f3e7caf83334e6df035ac660a19a8b58d7cfe79310448337ee9716fe2b46ca7014726644c1eb9a6d5d4e28661e9b51a +PLAINTEXT = 07d471fa87fb5f267346aa4956c8bdb6c95493b1c19be8ca09deffd690d57463229352faf2878bc66a20f199d9f6b2378e6073c2cef002c628ce94d1adb5539bd15c4a51156f98f52bbe90a1905d35de + +COUNT = 5 +KEY = c4b39f1d90658aa1769a777956026573567bd0f3d6333b3b +IV = f6085f2331e851db9c2654dacb5baf19 +CIPHERTEXT = 69e771f860e0291e4477dce2a48f2c6ae2922b9337667b86f79cb38c16ea0523ecdb1e5135c54e385cfce9ebf945ed80988de466bcdb0cf92384b6544c9eec6637b656496cc65fce3e61935d51314bfc5aa38dad26e12efdde0139da897b95a5 +PLAINTEXT = 8ab7b8b3c3c7d79b6d5cc605d3094a33756a8755140782967fb86297cf599eaea03e384018631b18425363e9ada971412d3eab03c63748749001e5b1a4a2e80ed7b915e6b9fa38e490301d6b45e27c0c72fd8cf6895de950d8d02774a8c33a6a + +COUNT = 6 +KEY = 62cff862e7bef3569a380ea7ff40918e3afb5c7ad265cd5f +IV = 04d1cab2b002d9dd6c5b66add5d6148b +CIPHERTEXT = 65cfb38f922f1716225472eb36a127327007f8f5c08479ca7beac4b0aee26f3bb130bbf1ff390ef344c2a4e0b8fa81f6acbbaa7a620d945a22ecdd128a4b3acc2658b1cb41020809fab87d1f9a74b76624f9fd5c2e59a649f0b9d0229b5855adeccefbe60092eba26abf65728318b1ca +PLAINTEXT = 839238a996e51b542ab7aa55eae3150097291ca19e756325c326803926ea45ad6ef6b7790ce89d084bbb2ad2d95bc889f5d19ffd3092aff609d5e63b7324ea207ce22f8598f189563cc6e611f5ef25be06b6a78fc6a68270683542de69b0a44aee456d1138d0fd9ad4df68083633defc + +COUNT = 7 +KEY = 2c25af9d60e1af42c7f0fc2fbf011637e6119bd0e8e9bab9 +IV = c264b21a1eca4b2c8bd8606d87e38471 +CIPHERTEXT = f5f05cedea55a4f47ce943463bd15ccc7ae4f6bda2b3f5c3ccc6495a8e2965791428f2757356c5223bd40f3b4bcfd404ea4b9f2d131f73fa0f4104a14a4427f45f1f883f75309b74ce81d5859d491b1218b67b44cfe91af93c436d219bdfac67fc5f841596ec0d315e78fbecd846183e2dadf2ca7f19d0077952eba12a01db1d +PLAINTEXT = d50a55ea83ccd556e1d663424d3e19c1ad9b8d16ff01f5422accadf3dae07d597f1375aaa319994ef71e1753485660e418dc1d6767a37ae93d8e700fc639e5d7283a9ecc2945b4429e8203f33178f25ed67d231667af7b8f2994e3d904437fed121612a04eb3e4c230789d46e4409e24c7bd1f86ae502eee5a11af1cad5c98b5 + +COUNT = 8 +KEY = c6680fe9a1968f899479eca1092beaac18ad945a42ce8f93 +IV = 54130eea9e96a1199d3c090f690a479f +CIPHERTEXT = 8a21ea1381284bcdf818c2d4dfa976c13e5a3c253164ba1d30eccc27947c263457b43bff1c3d5e9c6fff27544d9419b0e7fc81d4a392a10e643e0eaf0bed571a3e3ee71a687e2d7900d7face0fc42a96ecc886864a60e9207536a285d9971a8ac427b70d6dd4ff8a340801e92b23f09ad62812e42fb6d87aed3b4f500664b7ac73d8708033251ef792fa054eab98b5e5 +PLAINTEXT = c970a819cfb715f777e8b63167999ebe17c71ff505c3ff24cc6995430fad4013e1fc69ba5123072a7123e376d1f7de8cc610ada3fdd905a1476bc23724861e85dcf950db2b4982b60271752b49e438a20ef4e8e09cac0dc49ed15b84e32627e243814fee0430744ac675c7e5673d3f57a52360ec6ff8d18ed4b5bd8f1456c1f688825cb999789cad5e1b37a4b92ace3b + +COUNT = 9 +KEY = 509baf46fb9de34281dafcc3db79593bffa8426904302688 +IV = d6d86e0c82dd8788f4147a26f9a71c74 +CIPHERTEXT = 6928299c52b4f047926f8a541529da2d6bbaa399143ced8efb77ab47409d9a953a386c7abd6026f49831c717627c2a5e77bd2d433d4d130dacd927ea0d13a23d01a7cf39c6716dafb6ed552410ef5d27fb947be2c8782eee7829196c7edcf151c65f9a01f54f8d20f38b7da4a7e83a2f0127d59d3e2405d8674fc9f41b604f788f4715f9d3624eee57f387bfadd18a1f905e839c26b8617482347fab6d08845a +PLAINTEXT = 67d2dda6da26e21307973400600725727ae81415511772f4a09ad9903bcf90cc2c0dac58ba559a0109c54a9d6117b15bb574ca473e848047e9a54ee4abde76aff9849c44109d161f46442e1610d8b015cf36a010ed8efa3207fdfc8fcc548f145c027e44c5b0ec35c9886f4b9d6513a5bc10d0ea6bbbc26f54b183bcae27fb799d8872ff748fc459d55cfa255aae29d71b076d9b44c14d5ceba9332a763d9c94 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT256.rsp new file mode 100644 index 000000000..8f15f1a90 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCMMT256.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CBC +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:38 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 6ed76d2d97c69fd1339589523931f2a6cff554b15f738f21ec72dd97a7330907 +IV = 851e8764776e6796aab722dbb644ace8 +PLAINTEXT = 6282b8c05c5c1530b97d4816ca434762 +CIPHERTEXT = 6acc04142e100a65f51b97adf5172c41 + +COUNT = 1 +KEY = dce26c6b4cfb286510da4eecd2cffe6cdf430f33db9b5f77b460679bd49d13ae +IV = fdeaa134c8d7379d457175fd1a57d3fc +PLAINTEXT = 50e9eee1ac528009e8cbcd356975881f957254b13f91d7c6662d10312052eb00 +CIPHERTEXT = 2fa0df722a9fd3b64cb18fb2b3db55ff2267422757289413f8f657507412a64c + +COUNT = 2 +KEY = fe8901fecd3ccd2ec5fdc7c7a0b50519c245b42d611a5ef9e90268d59f3edf33 +IV = bd416cb3b9892228d8f1df575692e4d0 +PLAINTEXT = 8d3aa196ec3d7c9b5bb122e7fe77fb1295a6da75abe5d3a510194d3a8a4157d5c89d40619716619859da3ec9b247ced9 +CIPHERTEXT = 608e82c7ab04007adb22e389a44797fed7de090c8c03ca8a2c5acd9e84df37fbc58ce8edb293e98f02b640d6d1d72464 + +COUNT = 3 +KEY = 0493ff637108af6a5b8e90ac1fdf035a3d4bafd1afb573be7ade9e8682e663e5 +IV = c0cd2bebccbb6c49920bd5482ac756e8 +PLAINTEXT = 8b37f9148df4bb25956be6310c73c8dc58ea9714ff49b643107b34c9bff096a94fedd6823526abc27a8e0b16616eee254ab4567dd68e8ccd4c38ac563b13639c +CIPHERTEXT = 05d5c77729421b08b737e41119fa4438d1f570cc772a4d6c3df7ffeda0384ef84288ce37fc4c4c7d1125a499b051364c389fd639bdda647daa3bdadab2eb5594 + +COUNT = 4 +KEY = 9adc8fbd506e032af7fa20cf5343719de6d1288c158c63d6878aaf64ce26ca85 +IV = 11958dc6ab81e1c7f01631e9944e620f +PLAINTEXT = c7917f84f747cd8c4b4fedc2219bdbc5f4d07588389d8248854cf2c2f89667a2d7bcf53e73d32684535f42318e24cd45793950b3825e5d5c5c8fcd3e5dda4ce9246d18337ef3052d8b21c5561c8b660e +CIPHERTEXT = 9c99e68236bb2e929db1089c7750f1b356d39ab9d0c40c3e2f05108ae9d0c30b04832ccdbdc08ebfa426b7f5efde986ed05784ce368193bb3699bc691065ac62e258b9aa4cc557e2b45b49ce05511e65 + +COUNT = 5 +KEY = 73b8faf00b3302ac99855cf6f9e9e48518690a5906a4869d4dcf48d282faae2a +IV = b3cb97a80a539912b8c21f450d3b9395 +PLAINTEXT = 3adea6e06e42c4f041021491f2775ef6378cb08824165edc4f6448e232175b60d0345b9f9c78df6596ec9d22b7b9e76e8f3c76b32d5d67273f1d83fe7a6fc3dd3c49139170fa5701b3beac61b490f0a9e13f844640c4500f9ad3087adfb0ae10 +CIPHERTEXT = ac3d6dbafe2e0f740632fd9e820bf6044cd5b1551cbb9cc03c0b25c39ccb7f33b83aacfca40a3265f2bbff879153448acacb88fcfb3bb7b10fe463a68c0109f028382e3e557b1adf02ed648ab6bb895df0205d26ebbfa9a5fd8cebd8e4bee3dc + +COUNT = 6 +KEY = 9ddf3745896504ff360a51a3eb49c01b79fccebc71c3abcb94a949408b05b2c9 +IV = e79026639d4aa230b5ccffb0b29d79bc +PLAINTEXT = cf52e5c3954c51b94c9e38acb8c9a7c76aebdaa9943eae0a1ce155a2efdb4d46985d935511471452d9ee64d2461cb2991d59fc0060697f9a671672163230f367fed1422316e52d29eceacb8768f56d9b80f6d278093c9a8acd3cfd7edd8ebd5c293859f64d2f8486ae1bd593c65bc014 +CIPHERTEXT = 34df561bd2cfebbcb7af3b4b8d21ca5258312e7e2e4e538e35ad2490b6112f0d7f148f6aa8d522a7f3c61d785bd667db0e1dc4606c318ea4f26af4fe7d11d4dcff0456511b4aed1a0d91ba4a1fd6cd9029187bc5881a5a07fe02049d39368e83139b12825bae2c7be81e6f12c61bb5c5 + +COUNT = 7 +KEY = 458b67bf212d20f3a57fce392065582dcefbf381aa22949f8338ab9052260e1d +IV = 4c12effc5963d40459602675153e9649 +PLAINTEXT = 256fd73ce35ae3ea9c25dd2a9454493e96d8633fe633b56176dce8785ce5dbbb84dbf2c8a2eeb1e96b51899605e4f13bbc11b93bf6f39b3469be14858b5b720d4a522d36feed7a329c9b1e852c9280c47db8039c17c4921571a07d1864128330e09c308ddea1694e95c84500f1a61e614197e86a30ecc28df64ccb3ccf5437aa +CIPHERTEXT = 90b7b9630a2378f53f501ab7beff039155008071bc8438e789932cfd3eb1299195465e6633849463fdb44375278e2fdb1310821e6492cf80ff15cb772509fb426f3aeee27bd4938882fd2ae6b5bd9d91fa4a43b17bb439ebbe59c042310163a82a5fe5388796eee35a181a1271f00be29b852d8fa759bad01ff4678f010594cd + +COUNT = 8 +KEY = d2412db0845d84e5732b8bbd642957473b81fb99ca8bff70e7920d16c1dbec89 +IV = 51c619fcf0b23f0c7925f400a6cacb6d +PLAINTEXT = 026006c4a71a180c9929824d9d095b8faaa86fc4fa25ecac61d85ff6de92dfa8702688c02a282c1b8af4449707f22d75e91991015db22374c95f8f195d5bb0afeb03040ff8965e0e1339dba5653e174f8aa5a1b39fe3ac839ce307a4e44b4f8f1b0063f738ec18acdbff2ebfe07383e734558723e741f0a1836dafdf9de82210a9248bc113b3c1bc8b4e252ca01bd803 +CIPHERTEXT = 0254b23463bcabec5a395eb74c8fb0eb137a07bc6f5e9f61ec0b057de305714f8fa294221c91a159c315939b81e300ee902192ec5f15254428d8772f79324ec43298ca21c00b370273ee5e5ed90e43efa1e05a5d171209fe34f9f29237dba2a6726650fd3b1321747d1208863c6c3c6b3e2d879ab5f25782f08ba8f2abbe63e0bedb4a227e81afb36bb6645508356d34 + +COUNT = 9 +KEY = 48be597e632c16772324c8d3fa1d9c5a9ecd010f14ec5d110d3bfec376c5532b +IV = d6d581b8cf04ebd3b6eaa1b53f047ee1 +PLAINTEXT = 0c63d413d3864570e70bb6618bf8a4b9585586688c32bba0a5ecc1362fada74ada32c52acfd1aa7444ba567b4e7daaecf7cc1cb29182af164ae5232b002868695635599807a9a7f07a1f137e97b1e1c9dabc89b6a5e4afa9db5855edaa575056a8f4f8242216242bb0c256310d9d329826ac353d715fa39f80cec144d6424558f9f70b98c920096e0f2c855d594885a00625880e9dfb734163cecef72cf030b8 +CIPHERTEXT = fc5873e50de8faf4c6b84ba707b0854e9db9ab2e9f7d707fbba338c6843a18fc6facebaf663d26296fb329b4d26f18494c79e09e779647f9bafa87489630d79f4301610c2300c19dbf3148b7cac8c4f4944102754f332e92b6f7c5e75bc6179eb877a078d4719009021744c14f13fd2a55a2b9c44d18000685a845a4f632c7c56a77306efa66a24d05d088dcd7c13fe24fc447275965db9e4d37fbc9304448cd + +[DECRYPT] + +COUNT = 0 +KEY = 43e953b2aea08a3ad52d182f58c72b9c60fbe4a9ca46a3cb89e3863845e22c9e +IV = ddbbb0173f1e2deb2394a62aa2a0240e +CIPHERTEXT = d51d19ded5ca4ae14b2b20b027ffb020 +PLAINTEXT = 07270d0e63aa36daed8c6ade13ac1af1 + +COUNT = 1 +KEY = addf88c1ab997eb58c0455288c3a4fa320ada8c18a69cc90aa99c73b174dfde6 +IV = 60cc50e0887532e0d4f3d2f20c3c5d58 +CIPHERTEXT = 6cb4e2f4ddf79a8e08c96c7f4040e8a83266c07fc88dd0074ee25b00d445985a +PLAINTEXT = 98a8a9d84356bf403a9ccc384a06fe043dfeecb89e59ce0cb8bd0a495ef76cf0 + +COUNT = 2 +KEY = 54682728db5035eb04b79645c64a95606abb6ba392b6633d79173c027c5acf77 +IV = 2eb94297772851963dd39a1eb95d438f +CIPHERTEXT = e4046d05385ab789c6a72866e08350f93f583e2a005ca0faecc32b5cfc323d461c76c107307654db5566a5bd693e227c +PLAINTEXT = 0faa5d01b9afad3bb519575daaf4c60a5ed4ca2ba20c625bc4f08799addcf89d19796d1eff0bd790c622dc22c1094ec7 + +COUNT = 3 +KEY = 7482c47004aef406115ca5fd499788d582efc0b29dc9e951b1f959406693a54f +IV = 485ebf2215d20b816ea53944829717ce +CIPHERTEXT = 6c24f19b9c0b18d7126bf68090cb8ae72db3ca7eabb594f506aae7a2493e5326a5afae4ec4d109375b56e2b6ff4c9cf639e72c63dc8114c796df95b3c6b62021 +PLAINTEXT = 82fec664466d585023821c2e39a0c43345669a41244d05018a23d7159515f8ff4d88b01cd0eb83070d0077e065d74d7373816b61505718f8d4f270286a59d45e + +COUNT = 4 +KEY = 3ae38d4ebf7e7f6dc0a1e31e5efa7ca123fdc321e533e79fedd5132c5999ef5b +IV = 36d55dc9edf8669beecd9a2a029092b9 +CIPHERTEXT = d50ea48c8962962f7c3d301fa9f877245026c204a7771292cddca1e7ffebbef00e86d72910b7d8a756dfb45c9f1040978bb748ca537edd90b670ecee375e15d98582b9f93b6355adc9f80f4fb2108fb9 +PLAINTEXT = 8d22db30c4253c3e3add9685c14d55b05f7cf7626c52cccfcbe9b99fd8913663b8b1f22e277a4cc3d0e7e978a34782eb876867556ad4728486d5e890ea738243e3700a696d6eb58cd81c0e60eb121c50 + +COUNT = 5 +KEY = d30bfc0b2a19d5b8b6f8f46ab7f444ee136a7fa3fbdaf530cc3e8976339afcc4 +IV = 80be76a7f885d2c06b37d6a528fae0cd +CIPHERTEXT = 31e4677a17aed120bd3af69fbb0e4b645b9e8c104e280b799ddd49f1e241c3ccb7d40e1c6ff226bf04f8049c51a86e2981cf1331c824d7d451746ccf77fc22fd3717001ee51913d81f7a06fb0037f309957579f695670f2c4c7397d2d990374e +PLAINTEXT = 0b6e2a8213169b3b78db6de324e286f0366044e035c6970afbf0a1a5c32a05b24ba706cd9c6609737651a81b2bcf4c681dc0861983a5aec76e6c8b244112d64d489e84328974737394b83a39459011727162652b7aa793bfb1b71488b7dec96b + +COUNT = 6 +KEY = 64a256a663527ebea71f8d770990b4cee4a2d3afbfd33fb12c7ac300ef59e49a +IV = 18cce9147f295c5c00dbe0424089d3b4 +CIPHERTEXT = d99771963b7ae5202e382ff8c06e035367909cd24fe5ada7f3d39bfaeb5de98b04eaf4989648e00112f0d2aadb8c5f2157b64581450359965140c141e5fb631e43469d65d1b7370eb3b396399fec32cced294a5eee46d6547f7bbd49dee148b4bc31d6c493cfd28f3908e36cb698629d +PLAINTEXT = f7e0f79cfddd15ed3600ab2d29c56ba3c8e96d1a896aff6dec773e6ea4710a77f2f4ec646b76efda6428c175d007c84aa9f4b18c5e1bac5f27f7307b737655eee813f7e1f5880a37ac63ad1666e7883083b648454d45786f53ea3db1b5129291138abe40c79fcb7ab7c6f6b9ea133b5f + +COUNT = 7 +KEY = 31358e8af34d6ac31c958bbd5c8fb33c334714bffb41700d28b07f11cfe891e7 +IV = 144516246a752c329056d884daf3c89d +CIPHERTEXT = b32e2b171b63827034ebb0d1909f7ef1d51c5f82c1bb9bc26bc4ac4dccdee8357dca6154c2510ae1c87b1b422b02b621bb06cac280023894fcff3406af08ee9be1dd72419beccddff77c722d992cdcc87e9c7486f56ab406ea608d8c6aeb060c64cf2785ad1a159147567e39e303370da445247526d95942bf4d7e88057178b0 +PLAINTEXT = cfc155a3967de347f58fa2e8bbeb4183d6d32f7427155e6ab39cddf2e627c572acae02f1f243f3b784e73e21e7e520eacd3befafbee814867334c6ee8c2f0ee7376d3c72728cde7813173dbdfe3357deac41d3ae2a04229c0262f2d109d01f5d03e7f848fb50c28849146c02a2f4ebf7d7ffe3c9d40e31970bf151873672ef2b + +COUNT = 8 +KEY = 5b4b69339891db4e3337c3486f439dfbd0fb2a782ca71ef0059819d51669d93c +IV = 2b28a2d19ba9ecd149dae96622c21769 +CIPHERTEXT = ba21db8ec170fa4d73cfc381687f3fa188dd2d012bef48007f3dc88329e22ba32fe235a315be362546468b9db6af6705c6e5d4d36822f42883c08d4a994cc454a7db292c4ca1f4b62ebf8e479a5d545d6af9978d2cfee7bc80999192c2c8662ce9b4be11af40bd68f3e2d5685bb28c0f3dc08017c0aba8263e6fdc45ed7f9893bf14fd3a86c418a35c5667e642d59985 +PLAINTEXT = a0bb1d2fdeb7e6bf34c690fe7b72a5e9d65796aa57982fe340c286d6923dbddb426566ff58e9c0b3af52e4db446f6cc5daa5bfcf4e3c85db5a5638e670c370cce128db22c97542a64a63846f18a228d3462a11376dcb71f66ec52ebda474f7b6752915b0801797974bc51eb1218127fed60f1009430eb5089fb3ba5f28fad24c518ccddc2501393ceb6dffc46a159421 + +COUNT = 9 +KEY = 87725bd43a45608814180773f0e7ab95a3c859d83a2130e884190e44d14c6996 +IV = e49651988ebbb72eb8bb80bb9abbca34 +CIPHERTEXT = 5b97a9d423f4b97413f388d9a341e727bb339f8e18a3fac2f2fb85abdc8f135deb30054a1afdc9b6ed7da16c55eba6b0d4d10c74e1d9a7cf8edfaeaa684ac0bd9f9d24ba674955c79dc6be32aee1c260b558ff07e3a4d49d24162011ff254db8be078e8ad07e648e6bf5679376cb4321a5ef01afe6ad8816fcc7634669c8c4389295c9241e45fff39f3225f7745032daeebe99d4b19bcb215d1bfdb36eda2c24 +PLAINTEXT = bfe5c6354b7a3ff3e192e05775b9b75807de12e38a626b8bf0e12d5fff78e4f1775aa7d792d885162e66d88930f9c3b2cdf8654f56972504803190386270f0aa43645db187af41fcea639b1f8026ccdd0c23e0de37094a8b941ecb7602998a4b2604e69fc04219585d854600e0ad6f99a53b2504043c08b1c3e214d17cde053cbdf91daa999ed5b47c37983ba3ee254bc5c793837daaa8c85cfc12f7f54f699f + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey128.rsp new file mode 100644 index 000000000..0ee5c2afa --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c + +[DECRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey192.rsp new file mode 100644 index 000000000..2f5dc5e74 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey192.rsp @@ -0,0 +1,2315 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CBC +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:35 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de885dc87f5a92594082d02cc1e1b42c + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 132b074e80f2a597bf5febd8ea5da55e + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6eccedf8de592c22fb81347b79f2db1f + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 180b09f267c45145db2f826c2582d35c + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = edd807ef7652d7eb0e13c8b5e15b3bc0 + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9978bcf8dd8fd72241223ad24b31b8a4 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5310f654343e8f27e12c83a48d24ff81 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 833f71258d53036b02952c76c744f5a1 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eba83ff200cff9318a92f8691a06b09f + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff620ccbe9f3292abdf2176b09f04eba + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7ababc4b3f516c9aafb35f4140b548f9 + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aa187824d9c4582b0916493ecbde8c57 + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c0ad553177fd5ea1092c9d626a29dc4 + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a5dc46c37261194124ecaebd680408ec + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e4f2f2ae23e9b10bacfa58601531ba54 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7d67cf1a1e91e8ff3a57a172c7bf412 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26706be06967884e847d137128ce47b3 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b2f8b409b0585909aad3a7b5a219072a + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5e4b7bff0290c78344c54a23b722cd20 + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07093657552d4414227ce161e9ebf7dd + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e1af1e7d8bc225ed4dffb771ecbb9e67 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef6555253635d8432156cfd9c11b145a + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb4035074a5d4260c90cbd6da6c3fceb + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 446ee416f9ad1c103eb0cc96751c88e1 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 198ae2a4637ac0a7890a8fd1485445c9 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 562012ec8faded0825fb2fa70ab30cbd + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc8a64b46b5d88bf7f247d4dbaf38f05 + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a168253762e2cc81b42d1e5001762699 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b41f83b38ce5032c6cd7af98cf62061 + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 61a89990cd1411750d5fb0dc988447d4 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5accc8ed629edf8c68a539183b1ea82 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b16fa71f846b81a13f361c43a851f290 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fad6efdff5975aee7692234bcd54488 + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ebfdb05a783d03082dfe5fdd80a00b17 + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb81b584766997af6ba5529d3bdd8609 + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0cf4ff4f49c8a0ca060c443499e29313 + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc4ba8a8e029f8b26d8afff9df133bb6 + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fefebf64360f38e4e63558f0ffc550c3 + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12ad98cbf725137d6a8108c2bed99322 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6afaa996226198b3e2610413ce1b3f78 + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2a8ce6747a7e39367828e290848502d9 + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 223736e8b8f89ca1e37b6deab40facf1 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0f797e50418b95fa6013333917a9480 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a758de37c2ece2a02c73c01fedc9a132 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a9b87ae77bae706803966c66c73adbd + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d365ab8df8ffd782e358121a4a4fc541 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8dcd9e6f75e6c36c8daee0466f0ed74 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c79a637beb1c0304f14014c037e736dd + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 105f0a25e84ac930d996281a5f954dd9 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42e4074b2927973e8d17ffa92f7fe615 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fe2a9d2c1824449c69e3e0398f12963 + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7f29c1e1f62847a15253b28a1e9d712 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36ed5d29b903f31e8983ef8b0a2bf990 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27b8070270810f9d023f9dd7ff3b4aa2 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 94d46e155c1228f61d1a0db4815ecc4b + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca6108d1d98071428eeceef1714b96dd + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc5b25b71b6296cf73dd2cdcac2f70b1 + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44aba95e8a06a2d9d3530d2677878c80 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a570d20e89b467e8f5176061b81dd396 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 758f4467a5d8f1e7307dc30b34e404f4 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bcea28e9071b5a2302970ff352451bc5 + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7523c00bc177d331ad312e09c9015c1c + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ccac61e3183747b3f5836da21a1bc4f4 + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 707b075791878880b44189d3522b8c30 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7132d0c0e4a07593cf12ebb12be7688c + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = effbac1644deb0c784275fe56e19ead3 + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a005063f30f4228b374e2459738f26bb + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29975b5f48bb68fcbbc7cea93b452ed7 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf3f2576e2afedc74bb1ca7eeec1c0e7 + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07c403f5f966e0e3d9f296d6226dca28 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8c20908249ab4a34d6dd0a31327ff1a + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0541329ecb6159ab23b7fc5e6a21bca + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7aa1acf1a2ed9ba72bc6deb31d88b863 + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 808bd8eddabb6f3bf0d5a8a27be1fe8a + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 273c7d7685e14ec66bbb96b8f05b6ddd + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32752eefc8c2a93f91b6e73eb07cca6e + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d893e7d62f6ce502c64f75e281f9c000 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8dfd999be5d0cfa35732c0ddc88ff5a5 + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02647c76a300c3173b841487eb2bae9f + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 172df8b02f04b53adab028b4e01acd87 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 054b3bf4998aeb05afd87ec536533a36 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3783f7bf44c97f065258a666cae03020 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aad4c8a63f80954104de7b92cede1be1 + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cbfe61810fd5467ccdacb75800f3ac07 + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 830d8a2590f7d8e1b55a737f4af45f34 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fffcd4683f858058e74314671d43fa2c + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 523d0babbb82f46ebc9e70b1cd41ddd0 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 344aab37080d7486f7d542a309e53eed + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 56c5609d0906b23ab9caca816f5dbebd + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7026026eedd91adc6d831cdf9894bdc6 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 88330baa4f2b618fc9d9b021bf503d5a + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc9e0ea22480b0bac935c8a8ebefcdcf + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29ca779f398fb04f867da7e8a44756cb + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 51f89c42985786bfc43c6df8ada36832 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6ac1de5fb8f21d874e91c53b560c50e3 + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03aa9058490eda306001a8a9f48d0ca7 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e34ec71d6128d4871865d617c30b37e3 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14be1c535b17cabd0c4d93529d69bf47 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9ef67756507beec9dd3862883478044 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40e231fa5a5948ce2134e92fc0664d4b + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03194b8e5dda5530d0c678c0b48f5d92 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90bd086f237cc4fd99f4d76bde6b4826 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19259761ca17130d6ed86d57cd7951ee + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d7cbb3f34b9b450f24b0e8518e54da6d + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 725b9caebe9f7f417f4068d0d2ee20b3 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d924b934a90ce1fd39b8a9794f82672 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c50562bf094526a91c5bc63c0c224995 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2f11805046743bd74f57188d9188df7 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8dd274bd0f1b58ae345d9e7233f9b8f3 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d6bdc8f4ce5feb0f3bed2e4b9a9bb0b + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd5548bcf3f42565f7efa94562528d46 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2ccaebd3a4c3e80b063748131ba4a71 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e03cb23d9e11c9d93f117e9c0a91b576 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 78f933a2081ac1db84f69d10f4523fe0 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4061f7412ed320de0edc8851c2e2436f + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9064ba1cd04ce6bab98474330814b4d4 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 48391bffb9cfff80ac238c886ef0a461 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8d2a67df5a999fdbf93edd0343296c9 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aaca7367396b69a221bd632bea386eec + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a80fd5020dfe65f5f16293ec92c6fd89 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2162995b8217a67f1abc342e146406f8 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a6164b7a60bae4e986ffac28dfadd9 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64e0d7f900e3d9c83e4b8f96717b2146 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ad2561de8c1232f5d8dbab4739b6cbb + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 279689e9a557f58b1c3bf40c97a90964 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4637e4a5e6377f9cc5a8638045de029 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 492e607e5aea4688594b45f3aee3df90 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e8c4e4381feec74054954c05b777a00a + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 91549514605f38246c9b724ad839f01d + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 74b24e3b6fefe40a4f9ef7ac6e44d76a + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2437a683dc5d4b52abb4a123a8df86c6 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bb2852c891c5947d2ed44032c421b85f + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b9f5fbd5e8a4264c0a85b80409afa5e + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 30dab809f85a917fe924733f424ac589 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eaef5c1f8d605192646695ceadc65f32 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8aa90040b4c15a12316b78e0f9586fc + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97fac8297ceaabc87d454350601e0673 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b47ef567ac28dfe488492f157e2b2e0 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b8426027ddb962b5c5ba7eb8bc9ab63 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e917fc77e71992a12dbe4c18068bec82 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dceebbc98840f8ae6daf76573b7e56f4 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4e11a9f74205125b61e0aee047eca20d + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60467f55a1f17eab88e800120cbc284 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d436649f600b449ee276530f0cd83c11 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3bc0e3656a9e3ac7cd378a737f53b637 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6bacae63d33b928aa8380f8d54d88c17 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8935ffbc75ae6251bf8e859f085adcb9 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93dc4970fe35f67747cb0562c06d875a + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14f9df858975851797ba604fb0d16cc7 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02ea0c98dca10b38c21b3b14e8d1b71f + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f091b1b5b0749b2adc803e63dda9b72 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 05b389e3322c6da08384345a4137fd08 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 381308c438f35b399f10ad71b05027d8 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 68c230fcfa9279c3409fc423e2acbe04 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c84a475acb011f3f59f4f46b76274c0 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 45119b68cb3f8399ee60066b5611a4d7 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9423762f527a4060ffca312dcca22a16 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f361a2745a33f056a5ac6ace2f08e344 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ef145766eca849f5d011536a6557fdb + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9af27b2c89c9b4cf4a0c4106ac80318 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb9c4f16c621f4eab7e9ac1d7551dd57 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 138e06fba466fa70854d8c2e524cffb2 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb4bc78b225070773f04c40466d4e90c + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b2cbff1ed0150feda8a4799be94551f + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 08b30d7b3f27962709a36bcadfb974bd + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdf6d32e044d77adcf37fb97ac213326 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93cb284ecdcfd781a8afe32077949e88 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b017bb02ec87b2b94c96e40a26fc71a + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c5c038b6990664ab08a3aaa5df9f3266 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b7020be37fab6259b2a27f4ec551576 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60136703374f64e860b48ce31f930716 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d63a269b14d506ccc401ab8a9f1b591 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d317f81dc6aa454aee4bd4a5a5cff4bd + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dddececd5354f04d530d76ed884246eb + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c5205cc8fd8eda9a3cffd2518f365a + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf42fb474293d96eca9db1b37b1ba676 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a231692607169b4ecdead5cd3b10db3e + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ace4b91c9c669e77e7acacd19859ed49 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75db7cfd4a7b2b62ab78a48f3ddaf4af + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c1faba2d46e259cf480d7c38e4572a58 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 241c45bc6ae16dee6eb7bea128701582 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8fd03057cf1364420c2b78069a3e2502 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ddb505e6cc1384cbaec1df90b80beb20 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5674a3bed27bf4bd3622f9f5fe208306 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b687f26a89cfbfbb8e5eeac54055315e + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0547dd32d3b29ab6a4caeb606c5b6f78 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 186861f8bc5386d31fb77f720c3226e6 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eacf1e6c4224efb38900b185ab1dfd42 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d241aab05a42d319de81d874f5c7b90d + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5eb9bc759e2ad8d2140a6c762ae9e1ab + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 018596e15e78e2c064159defce5f3085 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd8a493514231cbf56eccee4c40889fb + +[DECRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de885dc87f5a92594082d02cc1e1b42c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 132b074e80f2a597bf5febd8ea5da55e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6eccedf8de592c22fb81347b79f2db1f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 180b09f267c45145db2f826c2582d35c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = edd807ef7652d7eb0e13c8b5e15b3bc0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9978bcf8dd8fd72241223ad24b31b8a4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5310f654343e8f27e12c83a48d24ff81 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 833f71258d53036b02952c76c744f5a1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eba83ff200cff9318a92f8691a06b09f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff620ccbe9f3292abdf2176b09f04eba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7ababc4b3f516c9aafb35f4140b548f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aa187824d9c4582b0916493ecbde8c57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c0ad553177fd5ea1092c9d626a29dc4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5dc46c37261194124ecaebd680408ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e4f2f2ae23e9b10bacfa58601531ba54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7d67cf1a1e91e8ff3a57a172c7bf412 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26706be06967884e847d137128ce47b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b2f8b409b0585909aad3a7b5a219072a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e4b7bff0290c78344c54a23b722cd20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07093657552d4414227ce161e9ebf7dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e1af1e7d8bc225ed4dffb771ecbb9e67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef6555253635d8432156cfd9c11b145a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb4035074a5d4260c90cbd6da6c3fceb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 446ee416f9ad1c103eb0cc96751c88e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 198ae2a4637ac0a7890a8fd1485445c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 562012ec8faded0825fb2fa70ab30cbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc8a64b46b5d88bf7f247d4dbaf38f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a168253762e2cc81b42d1e5001762699 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b41f83b38ce5032c6cd7af98cf62061 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 61a89990cd1411750d5fb0dc988447d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5accc8ed629edf8c68a539183b1ea82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b16fa71f846b81a13f361c43a851f290 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fad6efdff5975aee7692234bcd54488 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ebfdb05a783d03082dfe5fdd80a00b17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb81b584766997af6ba5529d3bdd8609 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0cf4ff4f49c8a0ca060c443499e29313 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc4ba8a8e029f8b26d8afff9df133bb6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fefebf64360f38e4e63558f0ffc550c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12ad98cbf725137d6a8108c2bed99322 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6afaa996226198b3e2610413ce1b3f78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2a8ce6747a7e39367828e290848502d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 223736e8b8f89ca1e37b6deab40facf1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0f797e50418b95fa6013333917a9480 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a758de37c2ece2a02c73c01fedc9a132 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a9b87ae77bae706803966c66c73adbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d365ab8df8ffd782e358121a4a4fc541 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8dcd9e6f75e6c36c8daee0466f0ed74 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c79a637beb1c0304f14014c037e736dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 105f0a25e84ac930d996281a5f954dd9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42e4074b2927973e8d17ffa92f7fe615 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fe2a9d2c1824449c69e3e0398f12963 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7f29c1e1f62847a15253b28a1e9d712 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36ed5d29b903f31e8983ef8b0a2bf990 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27b8070270810f9d023f9dd7ff3b4aa2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94d46e155c1228f61d1a0db4815ecc4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca6108d1d98071428eeceef1714b96dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc5b25b71b6296cf73dd2cdcac2f70b1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44aba95e8a06a2d9d3530d2677878c80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a570d20e89b467e8f5176061b81dd396 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 758f4467a5d8f1e7307dc30b34e404f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bcea28e9071b5a2302970ff352451bc5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7523c00bc177d331ad312e09c9015c1c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ccac61e3183747b3f5836da21a1bc4f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 707b075791878880b44189d3522b8c30 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7132d0c0e4a07593cf12ebb12be7688c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = effbac1644deb0c784275fe56e19ead3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a005063f30f4228b374e2459738f26bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29975b5f48bb68fcbbc7cea93b452ed7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf3f2576e2afedc74bb1ca7eeec1c0e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07c403f5f966e0e3d9f296d6226dca28 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8c20908249ab4a34d6dd0a31327ff1a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0541329ecb6159ab23b7fc5e6a21bca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7aa1acf1a2ed9ba72bc6deb31d88b863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 808bd8eddabb6f3bf0d5a8a27be1fe8a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 273c7d7685e14ec66bbb96b8f05b6ddd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32752eefc8c2a93f91b6e73eb07cca6e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d893e7d62f6ce502c64f75e281f9c000 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8dfd999be5d0cfa35732c0ddc88ff5a5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02647c76a300c3173b841487eb2bae9f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 172df8b02f04b53adab028b4e01acd87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 054b3bf4998aeb05afd87ec536533a36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3783f7bf44c97f065258a666cae03020 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aad4c8a63f80954104de7b92cede1be1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cbfe61810fd5467ccdacb75800f3ac07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 830d8a2590f7d8e1b55a737f4af45f34 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fffcd4683f858058e74314671d43fa2c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 523d0babbb82f46ebc9e70b1cd41ddd0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 344aab37080d7486f7d542a309e53eed +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56c5609d0906b23ab9caca816f5dbebd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7026026eedd91adc6d831cdf9894bdc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 88330baa4f2b618fc9d9b021bf503d5a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc9e0ea22480b0bac935c8a8ebefcdcf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29ca779f398fb04f867da7e8a44756cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 51f89c42985786bfc43c6df8ada36832 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6ac1de5fb8f21d874e91c53b560c50e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03aa9058490eda306001a8a9f48d0ca7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e34ec71d6128d4871865d617c30b37e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14be1c535b17cabd0c4d93529d69bf47 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9ef67756507beec9dd3862883478044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40e231fa5a5948ce2134e92fc0664d4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03194b8e5dda5530d0c678c0b48f5d92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90bd086f237cc4fd99f4d76bde6b4826 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19259761ca17130d6ed86d57cd7951ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d7cbb3f34b9b450f24b0e8518e54da6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 725b9caebe9f7f417f4068d0d2ee20b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d924b934a90ce1fd39b8a9794f82672 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c50562bf094526a91c5bc63c0c224995 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2f11805046743bd74f57188d9188df7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8dd274bd0f1b58ae345d9e7233f9b8f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d6bdc8f4ce5feb0f3bed2e4b9a9bb0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd5548bcf3f42565f7efa94562528d46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2ccaebd3a4c3e80b063748131ba4a71 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e03cb23d9e11c9d93f117e9c0a91b576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 78f933a2081ac1db84f69d10f4523fe0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4061f7412ed320de0edc8851c2e2436f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9064ba1cd04ce6bab98474330814b4d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 48391bffb9cfff80ac238c886ef0a461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8d2a67df5a999fdbf93edd0343296c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aaca7367396b69a221bd632bea386eec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a80fd5020dfe65f5f16293ec92c6fd89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2162995b8217a67f1abc342e146406f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6a6164b7a60bae4e986ffac28dfadd9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64e0d7f900e3d9c83e4b8f96717b2146 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ad2561de8c1232f5d8dbab4739b6cbb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 279689e9a557f58b1c3bf40c97a90964 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4637e4a5e6377f9cc5a8638045de029 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 492e607e5aea4688594b45f3aee3df90 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e8c4e4381feec74054954c05b777a00a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 91549514605f38246c9b724ad839f01d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 74b24e3b6fefe40a4f9ef7ac6e44d76a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2437a683dc5d4b52abb4a123a8df86c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bb2852c891c5947d2ed44032c421b85f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b9f5fbd5e8a4264c0a85b80409afa5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30dab809f85a917fe924733f424ac589 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eaef5c1f8d605192646695ceadc65f32 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8aa90040b4c15a12316b78e0f9586fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97fac8297ceaabc87d454350601e0673 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b47ef567ac28dfe488492f157e2b2e0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b8426027ddb962b5c5ba7eb8bc9ab63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e917fc77e71992a12dbe4c18068bec82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dceebbc98840f8ae6daf76573b7e56f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e11a9f74205125b61e0aee047eca20d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f60467f55a1f17eab88e800120cbc284 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d436649f600b449ee276530f0cd83c11 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3bc0e3656a9e3ac7cd378a737f53b637 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6bacae63d33b928aa8380f8d54d88c17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8935ffbc75ae6251bf8e859f085adcb9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93dc4970fe35f67747cb0562c06d875a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14f9df858975851797ba604fb0d16cc7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02ea0c98dca10b38c21b3b14e8d1b71f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f091b1b5b0749b2adc803e63dda9b72 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 05b389e3322c6da08384345a4137fd08 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 381308c438f35b399f10ad71b05027d8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 68c230fcfa9279c3409fc423e2acbe04 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c84a475acb011f3f59f4f46b76274c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45119b68cb3f8399ee60066b5611a4d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9423762f527a4060ffca312dcca22a16 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f361a2745a33f056a5ac6ace2f08e344 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5ef145766eca849f5d011536a6557fdb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9af27b2c89c9b4cf4a0c4106ac80318 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb9c4f16c621f4eab7e9ac1d7551dd57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 138e06fba466fa70854d8c2e524cffb2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb4bc78b225070773f04c40466d4e90c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b2cbff1ed0150feda8a4799be94551f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 08b30d7b3f27962709a36bcadfb974bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdf6d32e044d77adcf37fb97ac213326 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93cb284ecdcfd781a8afe32077949e88 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b017bb02ec87b2b94c96e40a26fc71a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c5c038b6990664ab08a3aaa5df9f3266 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b7020be37fab6259b2a27f4ec551576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60136703374f64e860b48ce31f930716 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d63a269b14d506ccc401ab8a9f1b591 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d317f81dc6aa454aee4bd4a5a5cff4bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dddececd5354f04d530d76ed884246eb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41c5205cc8fd8eda9a3cffd2518f365a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf42fb474293d96eca9db1b37b1ba676 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a231692607169b4ecdead5cd3b10db3e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ace4b91c9c669e77e7acacd19859ed49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75db7cfd4a7b2b62ab78a48f3ddaf4af +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c1faba2d46e259cf480d7c38e4572a58 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 241c45bc6ae16dee6eb7bea128701582 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8fd03057cf1364420c2b78069a3e2502 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ddb505e6cc1384cbaec1df90b80beb20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5674a3bed27bf4bd3622f9f5fe208306 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b687f26a89cfbfbb8e5eeac54055315e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0547dd32d3b29ab6a4caeb606c5b6f78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 186861f8bc5386d31fb77f720c3226e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eacf1e6c4224efb38900b185ab1dfd42 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d241aab05a42d319de81d874f5c7b90d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5eb9bc759e2ad8d2140a6c762ae9e1ab +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 018596e15e78e2c064159defce5f3085 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd8a493514231cbf56eccee4c40889fb +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey256.rsp new file mode 100644 index 000000000..d0e02bde3 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarKey256.rsp @@ -0,0 +1,3083 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CBC +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:38 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e35a6dcb19b201a01ebcfa8aa22b5759 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b29169cdcf2d83e838125a12ee6aa400 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8f3a72fc3cdf74dfaf6c3e6b97b2fa6 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c777679d50037c79491a94da76a9a35 + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cf4893ecafa0a0247a898e040691559 + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8fbb413703735326310a269bd3aa94b2 + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60e32246bed2b0e859e55c1cc6b26502 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec52a212f80a09df6317021bc2a9819e + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f23e5b600eb70dbccf6c0b1d9a68182c + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a3f599d63a82a968c33fe26590745970 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1ccb9b1337002cbac42c520b5d67722 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc111f6c37cf40a1159d00fb59fb0488 + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc43b51ab609052372989a26e9cdd714 + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4dcede8da9e2578f39703d4433dc6459 + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1a4c1c263bbccfafc11782894685e3a8 + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 937ad84880db50613423d6d527a2823d + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 610b71dfc688e150d8152c5b35ebc14d + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27ef2495dabf323885aab39c80f18d8b + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 633cafea395bc03adae3a1e2068e4b4e + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e1b482b53761cf631819b749a6f3724 + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 976e6f851ab52c771998dbb2d71c75a9 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 85f2ba84f8c307cf525e124c3e22e6cc + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6bcca98bf6a835fa64955f72de4115fe + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2c75e2d36eebd65411f14fd0eb1d2a06 + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bd49295006250ffca5100b6007a0eade + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a190527d0ef7c70f459cd3940df316ec + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bbd1097a62433f79449fa97d4ee80dbf + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07058e408f5b99b0e0f061a1761b5b3b + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5fd1f13fa0f31e37fabde328f894eac2 + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc4af7c948df26e2ef3e01c1ee5b8f6f + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829fd7208fb92d44a074a677ee9861ac + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ad9fc613a703251b54c64a0e76431711 + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33ac9eccc4cc75e2711618f80b1548e8 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2025c74b8ad8f4cda17ee2049c4c902d + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f85ca05fe528f1ce9b790166e8d551e7 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6f6238d8966048d4967154e0dad5a6c9 + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2b21b4e7640a9b3346de8b82fb41e49 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f836f251ad1d11d49dc344628b1884e1 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 077e9470ae7abea5a9769d49182628c3 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0dcc2d27fc9865633f85223cf0d611f + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = be66cfea2fecd6bf0ec7b4352c99bcaa + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df31144f87a2ef523facdcf21a427804 + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5bb0f5629fb6aae5e1839a3c3625d63 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3c9db3335306fe1ec612bdbfae6b6028 + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3dd5c34634a79d3cfcc8339760e6f5f4 + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82bda118a3ed7af314fa2ccc5c07b761 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2937a64f7d4f46fe6fea3b349ec78e38 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 225f068c28476605735ad671bb8f39f3 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ae682c5ecd71898e08942ac9aa89875c + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5e031cb9d676c3022d7f26227e85c38f + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a78463fb064db5d52bb64bfef64f2dda + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8aa9b75e784593876c53a00eae5af52b + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f84566df23da48af692722fe980573a + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 31690b5ed41c7eb42a1e83270a7ff0e6 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77dd7702646d55f08365e477d3590eda + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4c022ac62b3cb78d739cc67b3e20bb7e + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 092fa137ce18b5dfe7906f550bb13370 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e0cdadf2e68353c0027672c97144dd3 + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8c4b200b383fc1f2b2ea677618a1d27 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11825f99b0e9bb3477c1c0713b015aac + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f8b9fffb5c187f7ddc7ab10f4fb77576 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ffb4e87a32b37d6f2c8328d3b5377802 + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d276c13a5d220f4da9224e74896391ce + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 94efe7a0e2e031e2536da01df799c927 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f8fd822680a85974e53a5a8eb9d38de + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0f0a91b2e45f8cc37b7805a3042588d + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 597a6252255e46d6364dbeeda31e279c + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f51a0f694442b8f05571797fec7ee8bf + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ff071b165b5198a93dddeebc54d09b5 + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c20a19fd5758b0c4bc1a5df89cf73877 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97120166307119ca2280e9315668e96f + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b3b9f1e099c2a09dc091e90e4f18f0a + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb040b891d4b37f6851f7ec219cd3f6d + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9f0fdec08b7fd79aa39535bea42db92a + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e70f168fc74bf911df240bcd2cef236 + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 462ccd7f5fd1108dbc152f3cacad328b + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a4af534a7d0b643a01868785d86dfb95 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab980296197e1a5022326c31da4bf6f3 + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f97d57b3333b6281b07d486db2d4e20c + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f33fa36720231afe4c759ade6bd62eb6 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdcfac0c02ca538343c68117e0a15938 + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ad4916f5ee5772be764fc027b8a6e539 + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e16873e1678610d7e14c02d002ea845 + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4e6e627c1acc51340053a8236d579576 + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab0c8410aeeead92feec1eb430d652cb + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e86f7e23e835e114977f60e1a592202e + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e68ad5055a367041fade09d9a70a794b + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0791823a3c666bb6162825e78606a7fe + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dcca366a9bf47b7b868b77e25c18a364 + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 684c9efc237e4a442965f84bce20247a + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a858411ffbe63fdb9c8aa1bfaed67b52 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04bc3da2179c3015498b0e03910db5b8 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40071eeab3f935dbc25d00841460260f + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0ebd7c30ed2016e08ba806ddb008bcc8 + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 15c6becf0f4cec7129cbd22d1a79b1b8 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0aeede5b91f721700e9e62edbf60b781 + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 266581af0dcfbed1585e0a242c64b8df + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6693dc911662ae473216ba22189a511a + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7606fa36d86473e6fb3a1bb0e2c0adf5 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 112078e9e11fbb78e26ffb8899e96b9a + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40b264e921e9e4a82694589ef3798262 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d4595cb4fa7026715f55bd68e2882f9 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b588a302bdbc09197df1edae68926ed9 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33f7502390b8a4a221cfecd0666624ba + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3d20253adbce3be2373767c4d822c566 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a42734a3929bf84cf0116c9856a3c18c + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e3abc4939457422bb957da3c56938c6d + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 972bdd2e7c525130fadc8f76fc6f4b3f + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84a83d7b94c699cbcb8a7d9b61f64093 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ce61d63514aded03d43e6ebfc3a9001f + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c839dd58eeae6b8a36af48ed63d2dc9 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cd5ece55b8da3bf622c4100df5de46f9 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b6f46f40e0ac5fc0a9c1105f800f48d + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba26d47da3aeb028de4fb5b3a854a24b + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 87f53bf620d3677268445212904389d5 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10617d28b5e0f4605492b182a5d7f9f6 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9aaec4fabbf6fae2a71feff02e372b39 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a90c62d88b5c42809abf782488ed130 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f1f1c5a40899e15772857ccb65c7a09a + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 190843d29b25a3897c692ce1dd81ee52 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a866bc65b6941d86e8420a7ffb0964db + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8193c6ff85225ced4255e92f6e078a14 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9661cb2424d7d4a380d547f9e7ec1cb9 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 86f93d9ec08453a071e2e2877877a9c8 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27eefa80ce6a4a9d598e3fec365434d2 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d62068444578e3ab39ce7ec95dd045dc + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f71d4dd9a71fe5d8bc8ba7e6ea3048 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6825a347ac479d4f9d95c5cb8d3fd7e9 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e3714e94a5778955cc0346358e94783a + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d836b44bb29e0c7d89fa4b2d4b677d2a + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d454b75021d76d4b84f873a8f877b92 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3498f7eced2095314fc28115885b33f + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e668856539ad8e405bd123fe6c88530 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8680db7f3a87b8605543cfdbe6754076 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c5d03b13069c3658b3179be91b0800c + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1b384ac4d93eda00c92add0995ea5f + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bf8115805471741bd5ad20a03944790f + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c64c24b6894b038b3c0d09b1df068b0b + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3967a10cffe27d0178545fbf6a40544b + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7c85e9c95de1a9ec5a5363a8a053472d + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a9eec03c8abec7ba68315c2c8c2316e0 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cac8e414c2f388227ae14986fc983524 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d942b7f4622ce056c3ce3ce5f1dd9d6 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d240d648ce21a3020282c3f1b528a0b6 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 45d089c36d5c5a4efc689e3b0de10dd5 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4da5df4becb5462e03a0ed00d295629 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dcf4e129136c1a4b7a0f38935cc34b2b + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9a4c7618b0ce48a3d5aee1a1c0114c4 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca352df025c65c7b0bf306fbee0f36ba + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 238aca23fd3409f38af63378ed2f5473 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 59836a0e06a79691b36667d5380d8188 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33905080f7acf1cdae0a91fc3e85aee4 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72c9e4646dbc3d6320fc6689d93e8833 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba77413dea5925b7f5417ea47ff19f59 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6cae8129f843d86dc786a0fb1a184970 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fcfefb534100796eebbd990206754e19 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8c791d5fdddf470da04f3e6dc4a5b5b5 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c93bbdc07a4611ae4bb266ea5034a387 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c102e38e489aa74762f3efc5bb23205a + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93201481665cbafc1fcc220bc545fb3d + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4960757ec6ce68cf195e454cfd0f32ca + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = feec7ce6a6cbd07c043416737f1bbb33 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11c5413904487a805d70a8edd9c35527 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 347846b2b2e36f1f0324c86f7f1b98e2 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 332eee1a0cbd19ca2d69b426894044f0 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 866b5b3977ba6efa5128efbda9ff03cd + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc1445ee94c0f08cdee5c344ecd1e233 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = be288319029363c2622feba4b05dfdfe + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cfd1875523f3cd21c395651e6ee15e56 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb5a408657837c53bf16f9d8465dce19 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca0bf42cb107f55ccff2fc09ee08ca15 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdd9bbb4a7dc2e4a23536a5880a2db67 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ede447b362c484993dec9442a3b46aef + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10dffb05904bff7c4781df780ad26837 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c33bc13e8de88ac25232aa7496398783 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca359c70803a3b2a3d542e8781dea975 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bcc65b526f88d05b89ce8a52021fdb06 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db91a38855c8c4643851fbfb358b0109 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca6e8893a114ae8e27d5ab03a5499610 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6629d2b8df97da728cdd8b1e7f945077 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4570a5a18cfc0dd582f1d88d5c9a1720 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72bc65aa8e89562e3f274d45af1cd10b + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 98551da1a6503276ae1c77625f9ea615 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0ddfe51ced7e3f4ae927daa3fe452cee + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db826251e4ce384b80218b0e1da1dd4c + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cacf728b88abbad7011ed0e64a1680c + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 330d8ee7c5677e099ac74c9994ee4cfb + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = edf61ae362e882ddc0167474a7a77f3a + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6168b00ba7859e0970ecfd757efecf7c + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1415447866230d28bb1ea18a4cdfd02 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 516183392f7a8763afec68a060264141 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77565c8d73cfd4130b4aa14d8911710f + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 37232a4ed21ccc27c19c9610078cabac + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 804f32ea71828c7d329077e712231666 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d64424f23cb97215e9c2c6f28d29eab7 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 023e82b533f68c75c238cebdb2ee89a2 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 193a3d24157a51f1ee0893f6777417e7 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84ecacfcd400084d078612b1945f2ef5 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dcd8bb173259eb33a5242b0de31a455 + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35e9eddbc375e792c19992c19165012b + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8a772231c01dfdd7c98e4cfddcc0807a + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6eda7ff6b8319180ff0d6e65629d01c3 + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c267ef0e2d01a993944dd397101413cb + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e9f80e9d845bcc0f62926af72eabca39 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6702990727aa0878637b45dcd3a3b074 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e2e647d5360e09230a5d738ca33471e + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f56413c7add6f43d1d56e4f02190330 + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 69cd0606e15af729d6bca143016d9842 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a085d7c1a500873a20099c4caa3c3f5b + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fc0d230f8891415b87b83f95f2e09d1 + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4327d08c523d8eba697a4336507d1f42 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a15aab82701efa5ae36ab1d6b76290f + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5bf0051893a18bb30e139a58fed0fa54 + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97e8adf65638fd9cdf3bc22c17fe4dbd + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ee6ee326583a0586491c96418d1a35d + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26b549c2ec756f82ecc48008e529956b + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70377b6da669b072129e057cc28e9ca5 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c94b8b0cb8bcc919072262b3fa05ad9 + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fbb83dfd0d7abcb05cd28cad2dfb523 + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96877803de77744bb970d0a91f4debae + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7379f3370cf6e5ce12ae5969c8eea312 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02dc99fa3d4f98ce80985e7233889313 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1e38e759075ba5cab6457da51844295a + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70bed8dbf615868a1f9d9b05d3e7a267 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 234b148b8cb1d8c32b287e896903d150 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 294b033df4da853f4be3e243f7e513f4 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f58c950f0367160adec45f2441e7411 + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 37f655536a704e5ace182d742a820cf4 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea7bd6bb63418731aeac790fe42d61e8 + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e74a4c999b4c064e48bb1e413f51e5ea + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba9ebefdb4ccf30f296cecb3bc1943e8 + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3194367a4898c502c13bb7478640a72d + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = da797713263d6f33a5478a65ef60d412 + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1ac39bb1ef86b9c1344f214679aa376 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fdea9e650532be5bc0e7325337fd363 + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d3a204dbd9c2af158b6ca67a5156ce4a + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0a0e75a8da36735aee6684d965a778 + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 52fc3e620492ea99641ea168da5b6d52 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2e0c7f15b4772467d2cfc873000b2ca + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 563531135e0c4d70a38f8bdb190ba04e + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a8a39a0f5663f4c0fe5f2d3cafff421a + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d94b5e90db354c1e42f61fabe167b2c0 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 50e6d3c9b6698a7cd276f96b1473f35a + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9338f08e0ebee96905d8f2e825208f43 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b378c86672aa54a3a266ba19d2580ca + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cca7c3086f5f9511b31233da7cab9160 + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5b40ff4ec9be536ba23035fa4f06064c + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60eb5af8416b257149372194e8b88749 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2f005a8aed8a361c92e440c15520cbd1 + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b03627611678a997717578807a800e2 + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf78618f74f6f3696e0a4779b90b5a77 + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03720371a04962eaea0a852e69972858 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f8a8133aa8ccf70e2bd3285831ca6b7 + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27936bd27fb1468fc8b48bc483321725 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b07d4f3e2cd2ef2eb545980754dfea0f + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bf85f1b5d54adbc307b0a048389adcb + +[DECRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e35a6dcb19b201a01ebcfa8aa22b5759 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b29169cdcf2d83e838125a12ee6aa400 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8f3a72fc3cdf74dfaf6c3e6b97b2fa6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c777679d50037c79491a94da76a9a35 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9cf4893ecafa0a0247a898e040691559 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8fbb413703735326310a269bd3aa94b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60e32246bed2b0e859e55c1cc6b26502 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec52a212f80a09df6317021bc2a9819e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f23e5b600eb70dbccf6c0b1d9a68182c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3f599d63a82a968c33fe26590745970 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1ccb9b1337002cbac42c520b5d67722 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc111f6c37cf40a1159d00fb59fb0488 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc43b51ab609052372989a26e9cdd714 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4dcede8da9e2578f39703d4433dc6459 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1a4c1c263bbccfafc11782894685e3a8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 937ad84880db50613423d6d527a2823d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 610b71dfc688e150d8152c5b35ebc14d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27ef2495dabf323885aab39c80f18d8b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 633cafea395bc03adae3a1e2068e4b4e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e1b482b53761cf631819b749a6f3724 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 976e6f851ab52c771998dbb2d71c75a9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 85f2ba84f8c307cf525e124c3e22e6cc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6bcca98bf6a835fa64955f72de4115fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c75e2d36eebd65411f14fd0eb1d2a06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bd49295006250ffca5100b6007a0eade +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a190527d0ef7c70f459cd3940df316ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bbd1097a62433f79449fa97d4ee80dbf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07058e408f5b99b0e0f061a1761b5b3b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5fd1f13fa0f31e37fabde328f894eac2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc4af7c948df26e2ef3e01c1ee5b8f6f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 829fd7208fb92d44a074a677ee9861ac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad9fc613a703251b54c64a0e76431711 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33ac9eccc4cc75e2711618f80b1548e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2025c74b8ad8f4cda17ee2049c4c902d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f85ca05fe528f1ce9b790166e8d551e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6f6238d8966048d4967154e0dad5a6c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2b21b4e7640a9b3346de8b82fb41e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f836f251ad1d11d49dc344628b1884e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 077e9470ae7abea5a9769d49182628c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0dcc2d27fc9865633f85223cf0d611f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be66cfea2fecd6bf0ec7b4352c99bcaa +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df31144f87a2ef523facdcf21a427804 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5bb0f5629fb6aae5e1839a3c3625d63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3c9db3335306fe1ec612bdbfae6b6028 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3dd5c34634a79d3cfcc8339760e6f5f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82bda118a3ed7af314fa2ccc5c07b761 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2937a64f7d4f46fe6fea3b349ec78e38 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 225f068c28476605735ad671bb8f39f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ae682c5ecd71898e08942ac9aa89875c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e031cb9d676c3022d7f26227e85c38f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a78463fb064db5d52bb64bfef64f2dda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8aa9b75e784593876c53a00eae5af52b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f84566df23da48af692722fe980573a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 31690b5ed41c7eb42a1e83270a7ff0e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77dd7702646d55f08365e477d3590eda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4c022ac62b3cb78d739cc67b3e20bb7e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 092fa137ce18b5dfe7906f550bb13370 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e0cdadf2e68353c0027672c97144dd3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8c4b200b383fc1f2b2ea677618a1d27 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11825f99b0e9bb3477c1c0713b015aac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8b9fffb5c187f7ddc7ab10f4fb77576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ffb4e87a32b37d6f2c8328d3b5377802 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d276c13a5d220f4da9224e74896391ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94efe7a0e2e031e2536da01df799c927 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f8fd822680a85974e53a5a8eb9d38de +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0f0a91b2e45f8cc37b7805a3042588d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 597a6252255e46d6364dbeeda31e279c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f51a0f694442b8f05571797fec7ee8bf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ff071b165b5198a93dddeebc54d09b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c20a19fd5758b0c4bc1a5df89cf73877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97120166307119ca2280e9315668e96f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b3b9f1e099c2a09dc091e90e4f18f0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb040b891d4b37f6851f7ec219cd3f6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9f0fdec08b7fd79aa39535bea42db92a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e70f168fc74bf911df240bcd2cef236 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 462ccd7f5fd1108dbc152f3cacad328b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4af534a7d0b643a01868785d86dfb95 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab980296197e1a5022326c31da4bf6f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f97d57b3333b6281b07d486db2d4e20c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f33fa36720231afe4c759ade6bd62eb6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdcfac0c02ca538343c68117e0a15938 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad4916f5ee5772be764fc027b8a6e539 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e16873e1678610d7e14c02d002ea845 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e6e627c1acc51340053a8236d579576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab0c8410aeeead92feec1eb430d652cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e86f7e23e835e114977f60e1a592202e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e68ad5055a367041fade09d9a70a794b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0791823a3c666bb6162825e78606a7fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dcca366a9bf47b7b868b77e25c18a364 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 684c9efc237e4a442965f84bce20247a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a858411ffbe63fdb9c8aa1bfaed67b52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04bc3da2179c3015498b0e03910db5b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40071eeab3f935dbc25d00841460260f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0ebd7c30ed2016e08ba806ddb008bcc8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 15c6becf0f4cec7129cbd22d1a79b1b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0aeede5b91f721700e9e62edbf60b781 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 266581af0dcfbed1585e0a242c64b8df +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6693dc911662ae473216ba22189a511a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7606fa36d86473e6fb3a1bb0e2c0adf5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 112078e9e11fbb78e26ffb8899e96b9a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40b264e921e9e4a82694589ef3798262 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d4595cb4fa7026715f55bd68e2882f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b588a302bdbc09197df1edae68926ed9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33f7502390b8a4a221cfecd0666624ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3d20253adbce3be2373767c4d822c566 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a42734a3929bf84cf0116c9856a3c18c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3abc4939457422bb957da3c56938c6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 972bdd2e7c525130fadc8f76fc6f4b3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84a83d7b94c699cbcb8a7d9b61f64093 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ce61d63514aded03d43e6ebfc3a9001f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c839dd58eeae6b8a36af48ed63d2dc9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cd5ece55b8da3bf622c4100df5de46f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b6f46f40e0ac5fc0a9c1105f800f48d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba26d47da3aeb028de4fb5b3a854a24b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 87f53bf620d3677268445212904389d5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10617d28b5e0f4605492b182a5d7f9f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9aaec4fabbf6fae2a71feff02e372b39 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a90c62d88b5c42809abf782488ed130 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f1f1c5a40899e15772857ccb65c7a09a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 190843d29b25a3897c692ce1dd81ee52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a866bc65b6941d86e8420a7ffb0964db +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8193c6ff85225ced4255e92f6e078a14 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9661cb2424d7d4a380d547f9e7ec1cb9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 86f93d9ec08453a071e2e2877877a9c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27eefa80ce6a4a9d598e3fec365434d2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d62068444578e3ab39ce7ec95dd045dc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5f71d4dd9a71fe5d8bc8ba7e6ea3048 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6825a347ac479d4f9d95c5cb8d3fd7e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3714e94a5778955cc0346358e94783a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d836b44bb29e0c7d89fa4b2d4b677d2a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d454b75021d76d4b84f873a8f877b92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3498f7eced2095314fc28115885b33f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e668856539ad8e405bd123fe6c88530 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8680db7f3a87b8605543cfdbe6754076 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c5d03b13069c3658b3179be91b0800c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef1b384ac4d93eda00c92add0995ea5f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bf8115805471741bd5ad20a03944790f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c64c24b6894b038b3c0d09b1df068b0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3967a10cffe27d0178545fbf6a40544b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7c85e9c95de1a9ec5a5363a8a053472d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a9eec03c8abec7ba68315c2c8c2316e0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cac8e414c2f388227ae14986fc983524 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d942b7f4622ce056c3ce3ce5f1dd9d6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d240d648ce21a3020282c3f1b528a0b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45d089c36d5c5a4efc689e3b0de10dd5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4da5df4becb5462e03a0ed00d295629 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dcf4e129136c1a4b7a0f38935cc34b2b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9a4c7618b0ce48a3d5aee1a1c0114c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca352df025c65c7b0bf306fbee0f36ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 238aca23fd3409f38af63378ed2f5473 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 59836a0e06a79691b36667d5380d8188 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33905080f7acf1cdae0a91fc3e85aee4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72c9e4646dbc3d6320fc6689d93e8833 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba77413dea5925b7f5417ea47ff19f59 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6cae8129f843d86dc786a0fb1a184970 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fcfefb534100796eebbd990206754e19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8c791d5fdddf470da04f3e6dc4a5b5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c93bbdc07a4611ae4bb266ea5034a387 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c102e38e489aa74762f3efc5bb23205a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93201481665cbafc1fcc220bc545fb3d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4960757ec6ce68cf195e454cfd0f32ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = feec7ce6a6cbd07c043416737f1bbb33 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11c5413904487a805d70a8edd9c35527 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 347846b2b2e36f1f0324c86f7f1b98e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 332eee1a0cbd19ca2d69b426894044f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 866b5b3977ba6efa5128efbda9ff03cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc1445ee94c0f08cdee5c344ecd1e233 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be288319029363c2622feba4b05dfdfe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cfd1875523f3cd21c395651e6ee15e56 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb5a408657837c53bf16f9d8465dce19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca0bf42cb107f55ccff2fc09ee08ca15 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdd9bbb4a7dc2e4a23536a5880a2db67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ede447b362c484993dec9442a3b46aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10dffb05904bff7c4781df780ad26837 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c33bc13e8de88ac25232aa7496398783 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca359c70803a3b2a3d542e8781dea975 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bcc65b526f88d05b89ce8a52021fdb06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db91a38855c8c4643851fbfb358b0109 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca6e8893a114ae8e27d5ab03a5499610 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6629d2b8df97da728cdd8b1e7f945077 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4570a5a18cfc0dd582f1d88d5c9a1720 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72bc65aa8e89562e3f274d45af1cd10b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 98551da1a6503276ae1c77625f9ea615 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0ddfe51ced7e3f4ae927daa3fe452cee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db826251e4ce384b80218b0e1da1dd4c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2cacf728b88abbad7011ed0e64a1680c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 330d8ee7c5677e099ac74c9994ee4cfb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = edf61ae362e882ddc0167474a7a77f3a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6168b00ba7859e0970ecfd757efecf7c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1415447866230d28bb1ea18a4cdfd02 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 516183392f7a8763afec68a060264141 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77565c8d73cfd4130b4aa14d8911710f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37232a4ed21ccc27c19c9610078cabac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 804f32ea71828c7d329077e712231666 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d64424f23cb97215e9c2c6f28d29eab7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 023e82b533f68c75c238cebdb2ee89a2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 193a3d24157a51f1ee0893f6777417e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84ecacfcd400084d078612b1945f2ef5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1dcd8bb173259eb33a5242b0de31a455 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35e9eddbc375e792c19992c19165012b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8a772231c01dfdd7c98e4cfddcc0807a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6eda7ff6b8319180ff0d6e65629d01c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c267ef0e2d01a993944dd397101413cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9f80e9d845bcc0f62926af72eabca39 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6702990727aa0878637b45dcd3a3b074 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e2e647d5360e09230a5d738ca33471e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f56413c7add6f43d1d56e4f02190330 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69cd0606e15af729d6bca143016d9842 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a085d7c1a500873a20099c4caa3c3f5b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fc0d230f8891415b87b83f95f2e09d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4327d08c523d8eba697a4336507d1f42 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a15aab82701efa5ae36ab1d6b76290f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5bf0051893a18bb30e139a58fed0fa54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97e8adf65638fd9cdf3bc22c17fe4dbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ee6ee326583a0586491c96418d1a35d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26b549c2ec756f82ecc48008e529956b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70377b6da669b072129e057cc28e9ca5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c94b8b0cb8bcc919072262b3fa05ad9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2fbb83dfd0d7abcb05cd28cad2dfb523 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96877803de77744bb970d0a91f4debae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7379f3370cf6e5ce12ae5969c8eea312 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02dc99fa3d4f98ce80985e7233889313 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1e38e759075ba5cab6457da51844295a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70bed8dbf615868a1f9d9b05d3e7a267 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 234b148b8cb1d8c32b287e896903d150 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 294b033df4da853f4be3e243f7e513f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f58c950f0367160adec45f2441e7411 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37f655536a704e5ace182d742a820cf4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea7bd6bb63418731aeac790fe42d61e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e74a4c999b4c064e48bb1e413f51e5ea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba9ebefdb4ccf30f296cecb3bc1943e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3194367a4898c502c13bb7478640a72d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = da797713263d6f33a5478a65ef60d412 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1ac39bb1ef86b9c1344f214679aa376 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2fdea9e650532be5bc0e7325337fd363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d3a204dbd9c2af158b6ca67a5156ce4a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a0a0e75a8da36735aee6684d965a778 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 52fc3e620492ea99641ea168da5b6d52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2e0c7f15b4772467d2cfc873000b2ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 563531135e0c4d70a38f8bdb190ba04e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8a39a0f5663f4c0fe5f2d3cafff421a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d94b5e90db354c1e42f61fabe167b2c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 50e6d3c9b6698a7cd276f96b1473f35a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9338f08e0ebee96905d8f2e825208f43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b378c86672aa54a3a266ba19d2580ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cca7c3086f5f9511b31233da7cab9160 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5b40ff4ec9be536ba23035fa4f06064c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60eb5af8416b257149372194e8b88749 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2f005a8aed8a361c92e440c15520cbd1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b03627611678a997717578807a800e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf78618f74f6f3696e0a4779b90b5a77 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03720371a04962eaea0a852e69972858 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f8a8133aa8ccf70e2bd3285831ca6b7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27936bd27fb1468fc8b48bc483321725 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = b07d4f3e2cd2ef2eb545980754dfea0f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bf85f1b5d54adbc307b0a048389adcb +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt128.rsp new file mode 100644 index 000000000..f9fab992b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 80000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = c0000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = e0000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f0000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f8000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fc000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fe000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff800000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffc00000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffe00000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff00000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff80000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffc0000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffe0000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff0000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff8000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffc000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffe000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff800000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffc00000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffe00000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff00000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff80000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffc0000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffe0000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff0000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff8000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffc000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffe000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff800000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffc00000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffe00000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff00000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff80000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffc0000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffe0000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff0000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff8000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffc000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffe000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff800000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffc00000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffe00000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff00000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff80000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffc0000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffe0000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff0000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff8000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffc000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffe000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff800000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffc00000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffe00000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff00000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff80000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffc0000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffe0000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff0000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff8000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffc000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffe000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff800000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffc00000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffe00000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff00000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff80000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffc0000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff0000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff8000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffc000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffe000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff800000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff00000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff80000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff800000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff0000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffff +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 +PLAINTEXT = 80000000000000000000000000000000 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 +PLAINTEXT = c0000000000000000000000000000000 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 +PLAINTEXT = e0000000000000000000000000000000 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 +PLAINTEXT = f0000000000000000000000000000000 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 +PLAINTEXT = f8000000000000000000000000000000 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 +PLAINTEXT = fc000000000000000000000000000000 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a +PLAINTEXT = fe000000000000000000000000000000 + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b +PLAINTEXT = ff000000000000000000000000000000 + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f +PLAINTEXT = ff800000000000000000000000000000 + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a +PLAINTEXT = ffc00000000000000000000000000000 + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 +PLAINTEXT = ffe00000000000000000000000000000 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 +PLAINTEXT = fff00000000000000000000000000000 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f +PLAINTEXT = fff80000000000000000000000000000 + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 +PLAINTEXT = fffc0000000000000000000000000000 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 +PLAINTEXT = fffe0000000000000000000000000000 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a +PLAINTEXT = ffff0000000000000000000000000000 + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 +PLAINTEXT = ffff8000000000000000000000000000 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b +PLAINTEXT = ffffc000000000000000000000000000 + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b +PLAINTEXT = ffffe000000000000000000000000000 + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 +PLAINTEXT = fffff000000000000000000000000000 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 +PLAINTEXT = fffff800000000000000000000000000 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 +PLAINTEXT = fffffc00000000000000000000000000 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 +PLAINTEXT = fffffe00000000000000000000000000 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b +PLAINTEXT = ffffff00000000000000000000000000 + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 +PLAINTEXT = ffffff80000000000000000000000000 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 +PLAINTEXT = ffffffc0000000000000000000000000 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 +PLAINTEXT = ffffffe0000000000000000000000000 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 +PLAINTEXT = fffffff0000000000000000000000000 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 +PLAINTEXT = fffffff8000000000000000000000000 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 +PLAINTEXT = fffffffc000000000000000000000000 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a +PLAINTEXT = fffffffe000000000000000000000000 + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 +PLAINTEXT = ffffffff000000000000000000000000 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f +PLAINTEXT = ffffffff800000000000000000000000 + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce +PLAINTEXT = ffffffffc00000000000000000000000 + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f +PLAINTEXT = ffffffffe00000000000000000000000 + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea +PLAINTEXT = fffffffff00000000000000000000000 + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c +PLAINTEXT = fffffffff80000000000000000000000 + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 +PLAINTEXT = fffffffffc0000000000000000000000 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 +PLAINTEXT = fffffffffe0000000000000000000000 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 +PLAINTEXT = ffffffffff0000000000000000000000 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 +PLAINTEXT = ffffffffff8000000000000000000000 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 +PLAINTEXT = ffffffffffc000000000000000000000 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 +PLAINTEXT = ffffffffffe000000000000000000000 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 +PLAINTEXT = fffffffffff000000000000000000000 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 +PLAINTEXT = fffffffffff800000000000000000000 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 +PLAINTEXT = fffffffffffc00000000000000000000 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 +PLAINTEXT = fffffffffffe00000000000000000000 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 +PLAINTEXT = ffffffffffff00000000000000000000 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 +PLAINTEXT = ffffffffffff80000000000000000000 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f +PLAINTEXT = ffffffffffffc0000000000000000000 + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f +PLAINTEXT = ffffffffffffe0000000000000000000 + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 +PLAINTEXT = fffffffffffff0000000000000000000 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 +PLAINTEXT = fffffffffffff8000000000000000000 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c +PLAINTEXT = fffffffffffffc000000000000000000 + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 +PLAINTEXT = fffffffffffffe000000000000000000 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b +PLAINTEXT = ffffffffffffff000000000000000000 + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a +PLAINTEXT = ffffffffffffff800000000000000000 + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a +PLAINTEXT = ffffffffffffffc00000000000000000 + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 +PLAINTEXT = ffffffffffffffe00000000000000000 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 +PLAINTEXT = fffffffffffffff00000000000000000 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f +PLAINTEXT = fffffffffffffff80000000000000000 + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 +PLAINTEXT = fffffffffffffffc0000000000000000 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c +PLAINTEXT = fffffffffffffffe0000000000000000 + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e +PLAINTEXT = ffffffffffffffff0000000000000000 + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 +PLAINTEXT = ffffffffffffffff8000000000000000 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 +PLAINTEXT = ffffffffffffffffc000000000000000 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc +PLAINTEXT = ffffffffffffffffe000000000000000 + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 +PLAINTEXT = fffffffffffffffff000000000000000 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 +PLAINTEXT = fffffffffffffffff800000000000000 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 +PLAINTEXT = fffffffffffffffffc00000000000000 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 +PLAINTEXT = fffffffffffffffffe00000000000000 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e +PLAINTEXT = ffffffffffffffffff00000000000000 + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf +PLAINTEXT = ffffffffffffffffff80000000000000 + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f +PLAINTEXT = ffffffffffffffffffc0000000000000 + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 +PLAINTEXT = ffffffffffffffffffe0000000000000 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a +PLAINTEXT = fffffffffffffffffff0000000000000 + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 +PLAINTEXT = fffffffffffffffffff8000000000000 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 +PLAINTEXT = fffffffffffffffffffc000000000000 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 +PLAINTEXT = fffffffffffffffffffe000000000000 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b +PLAINTEXT = ffffffffffffffffffff000000000000 + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 +PLAINTEXT = ffffffffffffffffffff800000000000 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 +PLAINTEXT = ffffffffffffffffffffc00000000000 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 +PLAINTEXT = ffffffffffffffffffffe00000000000 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 +PLAINTEXT = fffffffffffffffffffff00000000000 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed +PLAINTEXT = fffffffffffffffffffff80000000000 + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 +PLAINTEXT = fffffffffffffffffffffc0000000000 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 +PLAINTEXT = fffffffffffffffffffffe0000000000 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 +PLAINTEXT = ffffffffffffffffffffff0000000000 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 +PLAINTEXT = ffffffffffffffffffffff8000000000 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 +PLAINTEXT = ffffffffffffffffffffffc000000000 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 +PLAINTEXT = ffffffffffffffffffffffe000000000 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 +PLAINTEXT = fffffffffffffffffffffff000000000 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 +PLAINTEXT = fffffffffffffffffffffff800000000 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f +PLAINTEXT = fffffffffffffffffffffffc00000000 + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f +PLAINTEXT = fffffffffffffffffffffffe00000000 + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 +PLAINTEXT = ffffffffffffffffffffffff00000000 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 +PLAINTEXT = ffffffffffffffffffffffff80000000 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 +PLAINTEXT = ffffffffffffffffffffffffc0000000 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 +PLAINTEXT = ffffffffffffffffffffffffe0000000 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 +PLAINTEXT = fffffffffffffffffffffffff0000000 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a +PLAINTEXT = fffffffffffffffffffffffff8000000 + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 +PLAINTEXT = fffffffffffffffffffffffffc000000 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 +PLAINTEXT = fffffffffffffffffffffffffe000000 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 +PLAINTEXT = ffffffffffffffffffffffffff000000 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 +PLAINTEXT = ffffffffffffffffffffffffff800000 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 +PLAINTEXT = ffffffffffffffffffffffffffc00000 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 +PLAINTEXT = ffffffffffffffffffffffffffe00000 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 +PLAINTEXT = fffffffffffffffffffffffffff00000 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c +PLAINTEXT = fffffffffffffffffffffffffff80000 + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 +PLAINTEXT = fffffffffffffffffffffffffffc0000 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 +PLAINTEXT = fffffffffffffffffffffffffffe0000 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 +PLAINTEXT = ffffffffffffffffffffffffffff0000 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d +PLAINTEXT = ffffffffffffffffffffffffffff8000 + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 +PLAINTEXT = ffffffffffffffffffffffffffffc000 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 +PLAINTEXT = ffffffffffffffffffffffffffffe000 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba +PLAINTEXT = fffffffffffffffffffffffffffff000 + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 +PLAINTEXT = fffffffffffffffffffffffffffff800 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee +PLAINTEXT = fffffffffffffffffffffffffffffc00 + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f +PLAINTEXT = fffffffffffffffffffffffffffffe00 + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 +PLAINTEXT = ffffffffffffffffffffffffffffff00 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc +PLAINTEXT = ffffffffffffffffffffffffffffff80 + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb +PLAINTEXT = ffffffffffffffffffffffffffffffe0 + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 +PLAINTEXT = fffffffffffffffffffffffffffffff0 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e +PLAINTEXT = fffffffffffffffffffffffffffffff8 + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 +PLAINTEXT = fffffffffffffffffffffffffffffffc + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 +PLAINTEXT = fffffffffffffffffffffffffffffffe + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e +PLAINTEXT = ffffffffffffffffffffffffffffffff + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt192.rsp new file mode 100644 index 000000000..dfe973316 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt192.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CBC +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:35 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 80000000000000000000000000000000 +CIPHERTEXT = 6cd02513e8d4dc986b4afe087a60bd0c + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = c0000000000000000000000000000000 +CIPHERTEXT = 2ce1f8b7e30627c1c4519eada44bc436 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = e0000000000000000000000000000000 +CIPHERTEXT = 9946b5f87af446f5796c1fee63a2da24 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f0000000000000000000000000000000 +CIPHERTEXT = 2a560364ce529efc21788779568d5555 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f8000000000000000000000000000000 +CIPHERTEXT = 35c1471837af446153bce55d5ba72a0a + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fc000000000000000000000000000000 +CIPHERTEXT = ce60bc52386234f158f84341e534cd9e + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fe000000000000000000000000000000 +CIPHERTEXT = 8c7c27ff32bcf8dc2dc57c90c2903961 + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff000000000000000000000000000000 +CIPHERTEXT = 32bb6a7ec84499e166f936003d55a5bb + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff800000000000000000000000000000 +CIPHERTEXT = a5c772e5c62631ef660ee1d5877f6d1b + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffc00000000000000000000000000000 +CIPHERTEXT = 030d7e5b64f380a7e4ea5387b5cd7f49 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffe00000000000000000000000000000 +CIPHERTEXT = 0dc9a2610037009b698f11bb7e86c83e + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff00000000000000000000000000000 +CIPHERTEXT = 0046612c766d1840c226364f1fa7ed72 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff80000000000000000000000000000 +CIPHERTEXT = 4880c7e08f27befe78590743c05e698b + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffc0000000000000000000000000000 +CIPHERTEXT = 2520ce829a26577f0f4822c4ecc87401 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffe0000000000000000000000000000 +CIPHERTEXT = 8765e8acc169758319cb46dc7bcf3dca + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff0000000000000000000000000000 +CIPHERTEXT = e98f4ba4f073df4baa116d011dc24a28 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff8000000000000000000000000000 +CIPHERTEXT = f378f68c5dbf59e211b3a659a7317d94 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffc000000000000000000000000000 +CIPHERTEXT = 283d3b069d8eb9fb432d74b96ca762b4 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffe000000000000000000000000000 +CIPHERTEXT = a7e1842e8a87861c221a500883245c51 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff000000000000000000000000000 +CIPHERTEXT = 77aa270471881be070fb52c7067ce732 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff800000000000000000000000000 +CIPHERTEXT = 01b0f476d484f43f1aeb6efa9361a8ac + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffc00000000000000000000000000 +CIPHERTEXT = 1c3a94f1c052c55c2d8359aff2163b4f + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffe00000000000000000000000000 +CIPHERTEXT = e8a067b604d5373d8b0f2e05a03b341b + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff00000000000000000000000000 +CIPHERTEXT = a7876ec87f5a09bfea42c77da30fd50e + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff80000000000000000000000000 +CIPHERTEXT = 0cf3e9d3a42be5b854ca65b13f35f48d + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffc0000000000000000000000000 +CIPHERTEXT = 6c62f6bbcab7c3e821c9290f08892dda + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffe0000000000000000000000000 +CIPHERTEXT = 7f5e05bd2068738196fee79ace7e3aec + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff0000000000000000000000000 +CIPHERTEXT = 440e0d733255cda92fb46e842fe58054 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff8000000000000000000000000 +CIPHERTEXT = aa5d5b1c4ea1b7a22e5583ac2e9ed8a7 + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffc000000000000000000000000 +CIPHERTEXT = 77e537e89e8491e8662aae3bc809421d + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffe000000000000000000000000 +CIPHERTEXT = 997dd3e9f1598bfa73f75973f7e93b76 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff000000000000000000000000 +CIPHERTEXT = 1b38d4f7452afefcb7fc721244e4b72e + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff800000000000000000000000 +CIPHERTEXT = 0be2b18252e774dda30cdda02c6906e3 + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffc00000000000000000000000 +CIPHERTEXT = d2695e59c20361d82652d7d58b6f11b2 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffe00000000000000000000000 +CIPHERTEXT = 902d88d13eae52089abd6143cfe394e9 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff00000000000000000000000 +CIPHERTEXT = d49bceb3b823fedd602c305345734bd2 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff80000000000000000000000 +CIPHERTEXT = 707b1dbb0ffa40ef7d95def421233fae + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffc0000000000000000000000 +CIPHERTEXT = 7ca0c1d93356d9eb8aa952084d75f913 + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffe0000000000000000000000 +CIPHERTEXT = f2cbf9cb186e270dd7bdb0c28febc57d + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff0000000000000000000000 +CIPHERTEXT = c94337c37c4e790ab45780bd9c3674a0 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff8000000000000000000000 +CIPHERTEXT = 8e3558c135252fb9c9f367ed609467a1 + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffc000000000000000000000 +CIPHERTEXT = 1b72eeaee4899b443914e5b3a57fba92 + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffe000000000000000000000 +CIPHERTEXT = 011865f91bc56868d051e52c9efd59b7 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff000000000000000000000 +CIPHERTEXT = e4771318ad7a63dd680f6e583b7747ea + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff800000000000000000000 +CIPHERTEXT = 61e3d194088dc8d97e9e6db37457eac5 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffc00000000000000000000 +CIPHERTEXT = 36ff1ec9ccfbc349e5d356d063693ad6 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffe00000000000000000000 +CIPHERTEXT = 3cc9e9a9be8cc3f6fb2ea24088e9bb19 + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff00000000000000000000 +CIPHERTEXT = 1ee5ab003dc8722e74905d9a8fe3d350 + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff80000000000000000000 +CIPHERTEXT = 245339319584b0a412412869d6c2eada + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffc0000000000000000000 +CIPHERTEXT = 7bd496918115d14ed5380852716c8814 + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffe0000000000000000000 +CIPHERTEXT = 273ab2f2b4a366a57d582a339313c8b1 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff0000000000000000000 +CIPHERTEXT = 113365a9ffbe3b0ca61e98507554168b + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff8000000000000000000 +CIPHERTEXT = afa99c997ac478a0dea4119c9e45f8b1 + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffc000000000000000000 +CIPHERTEXT = 9216309a7842430b83ffb98638011512 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffe000000000000000000 +CIPHERTEXT = 62abc792288258492a7cb45145f4b759 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff000000000000000000 +CIPHERTEXT = 534923c169d504d7519c15d30e756c50 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff800000000000000000 +CIPHERTEXT = fa75e05bcdc7e00c273fa33f6ee441d2 + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffc00000000000000000 +CIPHERTEXT = 7d350fa6057080f1086a56b17ec240db + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffe00000000000000000 +CIPHERTEXT = f34e4a6324ea4a5c39a661c8fe5ada8f + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff00000000000000000 +CIPHERTEXT = 0882a16f44088d42447a29ac090ec17e + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff80000000000000000 +CIPHERTEXT = 3a3c15bfc11a9537c130687004e136ee + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffc0000000000000000 +CIPHERTEXT = 22c0a7678dc6d8cf5c8a6d5a9960767c + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffe0000000000000000 +CIPHERTEXT = b46b09809d68b9a456432a79bdc2e38c + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff0000000000000000 +CIPHERTEXT = 93baaffb35fbe739c17c6ac22eecf18f + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff8000000000000000 +CIPHERTEXT = c8aa80a7850675bc007c46df06b49868 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffc000000000000000 +CIPHERTEXT = 12c6f3877af421a918a84b775858021d + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffe000000000000000 +CIPHERTEXT = 33f123282c5d633924f7d5ba3f3cab11 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff000000000000000 +CIPHERTEXT = a8f161002733e93ca4527d22c1a0c5bb + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff800000000000000 +CIPHERTEXT = b72f70ebf3e3fda23f508eec76b42c02 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffc00000000000000 +CIPHERTEXT = 6a9d965e6274143f25afdcfc88ffd77c + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffe00000000000000 +CIPHERTEXT = a0c74fd0b9361764ce91c5200b095357 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff00000000000000 +CIPHERTEXT = 091d1fdc2bd2c346cd5046a8c6209146 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff80000000000000 +CIPHERTEXT = e2a37580116cfb71856254496ab0aca8 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffc0000000000000 +CIPHERTEXT = e0b3a00785917c7efc9adba322813571 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 733d41f4727b5ef0df4af4cf3cffa0cb + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff0000000000000 +CIPHERTEXT = a99ebb030260826f981ad3e64490aa4f + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff8000000000000 +CIPHERTEXT = 73f34c7d3eae5e80082c1647524308ee + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffc000000000000 +CIPHERTEXT = 40ebd5ad082345b7a2097ccd3464da02 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffe000000000000 +CIPHERTEXT = 7cc4ae9a424b2cec90c97153c2457ec5 + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff000000000000 +CIPHERTEXT = 54d632d03aba0bd0f91877ebdd4d09cb + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff800000000000 +CIPHERTEXT = d3427be7e4d27cd54f5fe37b03cf0897 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffc00000000000 +CIPHERTEXT = b2099795e88cc158fd75ea133d7e7fbe + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffe00000000000 +CIPHERTEXT = a6cae46fb6fadfe7a2c302a34242817b + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff00000000000 +CIPHERTEXT = 026a7024d6a902e0b3ffccbaa910cc3f + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff80000000000 +CIPHERTEXT = 156f07767a85a4312321f63968338a01 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 15eec9ebf42b9ca76897d2cd6c5a12e2 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db0d3a6fdcc13f915e2b302ceeb70fd8 + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 71dbf37e87a2e34d15b20e8f10e48924 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff8000000000 +CIPHERTEXT = c745c451e96ff3c045e4367c833e3b54 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 340da09c2dd11c3b679d08ccd27dd595 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 8279f7c0c2a03ee660c6d392db025d18 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff000000000 +CIPHERTEXT = a4b2c7d8eba531ff47c5041a55fbd1ec + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff800000000 +CIPHERTEXT = 74569a2ca5a7bd5131ce8dc7cbfbf72f + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 3713da0c0219b63454035613b5a403dd + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 8827551ddcc9df23fa72a3de4e9f0b07 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 2e3febfd625bfcd0a2c06eb460da1732 + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff80000000 +CIPHERTEXT = ee82e6ba488156f76496311da6941deb + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 4770446f01d1f391256e85a1b30d89d3 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = af04b68f104f21ef2afb4767cf74143c + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff0000000 +CIPHERTEXT = cf3579a9ba38c8e43653173e14f3a4c6 + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff8000000 +CIPHERTEXT = b3bba904f4953e09b54800af2f62e7d4 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffc000000 +CIPHERTEXT = fc4249656e14b29eb9c44829b4c59a46 + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 9b31568febe81cfc2e65af1c86d1a308 + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 9ca09c25f273a766db98a480ce8dfedc + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff800000 +CIPHERTEXT = b909925786f34c3c92d971883c9fbedf + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 82647f1332fe570a9d4d92b2ee771d3b + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3604a7e80832b3a99954bca6f5b9f501 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 884607b128c5de3ab39a529a1ef51bef + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 670cfa093d1dbdb2317041404102435e + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 7a867195f3ce8769cbd336502fbb5130 + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 52efcf64c72b2f7ca5b3c836b1078c15 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 4019250f6eefb2ac5ccbcae044e75c7e + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 022c4f6f5a017d292785627667ddef24 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = e9c21078a2eb7e03250f71000fa9e3ed + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = a13eaeeb9cd391da4e2b09490b3e7fad + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff000 +CIPHERTEXT = c958a171dca1d4ed53e1af1d380803a9 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 21442e07a110667f2583eaeeee44dc8c + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 59bbb353cf1dd867a6e33737af655e99 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 43cd3b25375d0ce41087ff9fe2829639 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 6b98b17e80d1118e3516bd768b285a84 + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = ae47ed3676ca0c08deea02d95b81db58 + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 34ec40dc20413795ed53628ea748720b + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 4dc68163f8e9835473253542c8a65d46 + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 2aabb999f43693175af65c6c612c46fb + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = e01f94499dac3547515c5b1d756f0f58 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 9d12435a46480ce00ea349f71799df9a + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffe +CIPHERTEXT = cef41d16d266bdfe46938ad7884cc0cf + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffff +CIPHERTEXT = b13db4da1f718bc6904797c82bcf2d32 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6cd02513e8d4dc986b4afe087a60bd0c +PLAINTEXT = 80000000000000000000000000000000 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2ce1f8b7e30627c1c4519eada44bc436 +PLAINTEXT = c0000000000000000000000000000000 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9946b5f87af446f5796c1fee63a2da24 +PLAINTEXT = e0000000000000000000000000000000 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2a560364ce529efc21788779568d5555 +PLAINTEXT = f0000000000000000000000000000000 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35c1471837af446153bce55d5ba72a0a +PLAINTEXT = f8000000000000000000000000000000 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ce60bc52386234f158f84341e534cd9e +PLAINTEXT = fc000000000000000000000000000000 + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8c7c27ff32bcf8dc2dc57c90c2903961 +PLAINTEXT = fe000000000000000000000000000000 + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32bb6a7ec84499e166f936003d55a5bb +PLAINTEXT = ff000000000000000000000000000000 + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5c772e5c62631ef660ee1d5877f6d1b +PLAINTEXT = ff800000000000000000000000000000 + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 030d7e5b64f380a7e4ea5387b5cd7f49 +PLAINTEXT = ffc00000000000000000000000000000 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0dc9a2610037009b698f11bb7e86c83e +PLAINTEXT = ffe00000000000000000000000000000 + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0046612c766d1840c226364f1fa7ed72 +PLAINTEXT = fff00000000000000000000000000000 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4880c7e08f27befe78590743c05e698b +PLAINTEXT = fff80000000000000000000000000000 + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2520ce829a26577f0f4822c4ecc87401 +PLAINTEXT = fffc0000000000000000000000000000 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8765e8acc169758319cb46dc7bcf3dca +PLAINTEXT = fffe0000000000000000000000000000 + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e98f4ba4f073df4baa116d011dc24a28 +PLAINTEXT = ffff0000000000000000000000000000 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f378f68c5dbf59e211b3a659a7317d94 +PLAINTEXT = ffff8000000000000000000000000000 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 283d3b069d8eb9fb432d74b96ca762b4 +PLAINTEXT = ffffc000000000000000000000000000 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a7e1842e8a87861c221a500883245c51 +PLAINTEXT = ffffe000000000000000000000000000 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77aa270471881be070fb52c7067ce732 +PLAINTEXT = fffff000000000000000000000000000 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 01b0f476d484f43f1aeb6efa9361a8ac +PLAINTEXT = fffff800000000000000000000000000 + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c3a94f1c052c55c2d8359aff2163b4f +PLAINTEXT = fffffc00000000000000000000000000 + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e8a067b604d5373d8b0f2e05a03b341b +PLAINTEXT = fffffe00000000000000000000000000 + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a7876ec87f5a09bfea42c77da30fd50e +PLAINTEXT = ffffff00000000000000000000000000 + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0cf3e9d3a42be5b854ca65b13f35f48d +PLAINTEXT = ffffff80000000000000000000000000 + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c62f6bbcab7c3e821c9290f08892dda +PLAINTEXT = ffffffc0000000000000000000000000 + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f5e05bd2068738196fee79ace7e3aec +PLAINTEXT = ffffffe0000000000000000000000000 + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 440e0d733255cda92fb46e842fe58054 +PLAINTEXT = fffffff0000000000000000000000000 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aa5d5b1c4ea1b7a22e5583ac2e9ed8a7 +PLAINTEXT = fffffff8000000000000000000000000 + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77e537e89e8491e8662aae3bc809421d +PLAINTEXT = fffffffc000000000000000000000000 + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 997dd3e9f1598bfa73f75973f7e93b76 +PLAINTEXT = fffffffe000000000000000000000000 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b38d4f7452afefcb7fc721244e4b72e +PLAINTEXT = ffffffff000000000000000000000000 + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0be2b18252e774dda30cdda02c6906e3 +PLAINTEXT = ffffffff800000000000000000000000 + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2695e59c20361d82652d7d58b6f11b2 +PLAINTEXT = ffffffffc00000000000000000000000 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 902d88d13eae52089abd6143cfe394e9 +PLAINTEXT = ffffffffe00000000000000000000000 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d49bceb3b823fedd602c305345734bd2 +PLAINTEXT = fffffffff00000000000000000000000 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 707b1dbb0ffa40ef7d95def421233fae +PLAINTEXT = fffffffff80000000000000000000000 + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7ca0c1d93356d9eb8aa952084d75f913 +PLAINTEXT = fffffffffc0000000000000000000000 + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2cbf9cb186e270dd7bdb0c28febc57d +PLAINTEXT = fffffffffe0000000000000000000000 + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c94337c37c4e790ab45780bd9c3674a0 +PLAINTEXT = ffffffffff0000000000000000000000 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e3558c135252fb9c9f367ed609467a1 +PLAINTEXT = ffffffffff8000000000000000000000 + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b72eeaee4899b443914e5b3a57fba92 +PLAINTEXT = ffffffffffc000000000000000000000 + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 011865f91bc56868d051e52c9efd59b7 +PLAINTEXT = ffffffffffe000000000000000000000 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e4771318ad7a63dd680f6e583b7747ea +PLAINTEXT = fffffffffff000000000000000000000 + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 61e3d194088dc8d97e9e6db37457eac5 +PLAINTEXT = fffffffffff800000000000000000000 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36ff1ec9ccfbc349e5d356d063693ad6 +PLAINTEXT = fffffffffffc00000000000000000000 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3cc9e9a9be8cc3f6fb2ea24088e9bb19 +PLAINTEXT = fffffffffffe00000000000000000000 + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ee5ab003dc8722e74905d9a8fe3d350 +PLAINTEXT = ffffffffffff00000000000000000000 + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 245339319584b0a412412869d6c2eada +PLAINTEXT = ffffffffffff80000000000000000000 + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7bd496918115d14ed5380852716c8814 +PLAINTEXT = ffffffffffffc0000000000000000000 + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 273ab2f2b4a366a57d582a339313c8b1 +PLAINTEXT = ffffffffffffe0000000000000000000 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 113365a9ffbe3b0ca61e98507554168b +PLAINTEXT = fffffffffffff0000000000000000000 + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = afa99c997ac478a0dea4119c9e45f8b1 +PLAINTEXT = fffffffffffff8000000000000000000 + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9216309a7842430b83ffb98638011512 +PLAINTEXT = fffffffffffffc000000000000000000 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 62abc792288258492a7cb45145f4b759 +PLAINTEXT = fffffffffffffe000000000000000000 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 534923c169d504d7519c15d30e756c50 +PLAINTEXT = ffffffffffffff000000000000000000 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fa75e05bcdc7e00c273fa33f6ee441d2 +PLAINTEXT = ffffffffffffff800000000000000000 + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7d350fa6057080f1086a56b17ec240db +PLAINTEXT = ffffffffffffffc00000000000000000 + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f34e4a6324ea4a5c39a661c8fe5ada8f +PLAINTEXT = ffffffffffffffe00000000000000000 + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0882a16f44088d42447a29ac090ec17e +PLAINTEXT = fffffffffffffff00000000000000000 + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a3c15bfc11a9537c130687004e136ee +PLAINTEXT = fffffffffffffff80000000000000000 + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 22c0a7678dc6d8cf5c8a6d5a9960767c +PLAINTEXT = fffffffffffffffc0000000000000000 + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b46b09809d68b9a456432a79bdc2e38c +PLAINTEXT = fffffffffffffffe0000000000000000 + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93baaffb35fbe739c17c6ac22eecf18f +PLAINTEXT = ffffffffffffffff0000000000000000 + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8aa80a7850675bc007c46df06b49868 +PLAINTEXT = ffffffffffffffff8000000000000000 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12c6f3877af421a918a84b775858021d +PLAINTEXT = ffffffffffffffffc000000000000000 + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33f123282c5d633924f7d5ba3f3cab11 +PLAINTEXT = ffffffffffffffffe000000000000000 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8f161002733e93ca4527d22c1a0c5bb +PLAINTEXT = fffffffffffffffff000000000000000 + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b72f70ebf3e3fda23f508eec76b42c02 +PLAINTEXT = fffffffffffffffff800000000000000 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a9d965e6274143f25afdcfc88ffd77c +PLAINTEXT = fffffffffffffffffc00000000000000 + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a0c74fd0b9361764ce91c5200b095357 +PLAINTEXT = fffffffffffffffffe00000000000000 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 091d1fdc2bd2c346cd5046a8c6209146 +PLAINTEXT = ffffffffffffffffff00000000000000 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e2a37580116cfb71856254496ab0aca8 +PLAINTEXT = ffffffffffffffffff80000000000000 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0b3a00785917c7efc9adba322813571 +PLAINTEXT = ffffffffffffffffffc0000000000000 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 733d41f4727b5ef0df4af4cf3cffa0cb +PLAINTEXT = ffffffffffffffffffe0000000000000 + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a99ebb030260826f981ad3e64490aa4f +PLAINTEXT = fffffffffffffffffff0000000000000 + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 73f34c7d3eae5e80082c1647524308ee +PLAINTEXT = fffffffffffffffffff8000000000000 + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40ebd5ad082345b7a2097ccd3464da02 +PLAINTEXT = fffffffffffffffffffc000000000000 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7cc4ae9a424b2cec90c97153c2457ec5 +PLAINTEXT = fffffffffffffffffffe000000000000 + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 54d632d03aba0bd0f91877ebdd4d09cb +PLAINTEXT = ffffffffffffffffffff000000000000 + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d3427be7e4d27cd54f5fe37b03cf0897 +PLAINTEXT = ffffffffffffffffffff800000000000 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b2099795e88cc158fd75ea133d7e7fbe +PLAINTEXT = ffffffffffffffffffffc00000000000 + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a6cae46fb6fadfe7a2c302a34242817b +PLAINTEXT = ffffffffffffffffffffe00000000000 + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 026a7024d6a902e0b3ffccbaa910cc3f +PLAINTEXT = fffffffffffffffffffff00000000000 + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 156f07767a85a4312321f63968338a01 +PLAINTEXT = fffffffffffffffffffff80000000000 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 15eec9ebf42b9ca76897d2cd6c5a12e2 +PLAINTEXT = fffffffffffffffffffffc0000000000 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db0d3a6fdcc13f915e2b302ceeb70fd8 +PLAINTEXT = fffffffffffffffffffffe0000000000 + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 71dbf37e87a2e34d15b20e8f10e48924 +PLAINTEXT = ffffffffffffffffffffff0000000000 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c745c451e96ff3c045e4367c833e3b54 +PLAINTEXT = ffffffffffffffffffffff8000000000 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 340da09c2dd11c3b679d08ccd27dd595 +PLAINTEXT = ffffffffffffffffffffffc000000000 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8279f7c0c2a03ee660c6d392db025d18 +PLAINTEXT = ffffffffffffffffffffffe000000000 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4b2c7d8eba531ff47c5041a55fbd1ec +PLAINTEXT = fffffffffffffffffffffff000000000 + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 74569a2ca5a7bd5131ce8dc7cbfbf72f +PLAINTEXT = fffffffffffffffffffffff800000000 + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3713da0c0219b63454035613b5a403dd +PLAINTEXT = fffffffffffffffffffffffc00000000 + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8827551ddcc9df23fa72a3de4e9f0b07 +PLAINTEXT = fffffffffffffffffffffffe00000000 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e3febfd625bfcd0a2c06eb460da1732 +PLAINTEXT = ffffffffffffffffffffffff00000000 + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ee82e6ba488156f76496311da6941deb +PLAINTEXT = ffffffffffffffffffffffff80000000 + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4770446f01d1f391256e85a1b30d89d3 +PLAINTEXT = ffffffffffffffffffffffffc0000000 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = af04b68f104f21ef2afb4767cf74143c +PLAINTEXT = ffffffffffffffffffffffffe0000000 + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf3579a9ba38c8e43653173e14f3a4c6 +PLAINTEXT = fffffffffffffffffffffffff0000000 + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b3bba904f4953e09b54800af2f62e7d4 +PLAINTEXT = fffffffffffffffffffffffff8000000 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc4249656e14b29eb9c44829b4c59a46 +PLAINTEXT = fffffffffffffffffffffffffc000000 + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b31568febe81cfc2e65af1c86d1a308 +PLAINTEXT = fffffffffffffffffffffffffe000000 + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ca09c25f273a766db98a480ce8dfedc +PLAINTEXT = ffffffffffffffffffffffffff000000 + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b909925786f34c3c92d971883c9fbedf +PLAINTEXT = ffffffffffffffffffffffffff800000 + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82647f1332fe570a9d4d92b2ee771d3b +PLAINTEXT = ffffffffffffffffffffffffffc00000 + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3604a7e80832b3a99954bca6f5b9f501 +PLAINTEXT = ffffffffffffffffffffffffffe00000 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 884607b128c5de3ab39a529a1ef51bef +PLAINTEXT = fffffffffffffffffffffffffff00000 + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 670cfa093d1dbdb2317041404102435e +PLAINTEXT = fffffffffffffffffffffffffff80000 + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a867195f3ce8769cbd336502fbb5130 +PLAINTEXT = fffffffffffffffffffffffffffc0000 + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 52efcf64c72b2f7ca5b3c836b1078c15 +PLAINTEXT = fffffffffffffffffffffffffffe0000 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4019250f6eefb2ac5ccbcae044e75c7e +PLAINTEXT = ffffffffffffffffffffffffffff0000 + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 022c4f6f5a017d292785627667ddef24 +PLAINTEXT = ffffffffffffffffffffffffffff8000 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9c21078a2eb7e03250f71000fa9e3ed +PLAINTEXT = ffffffffffffffffffffffffffffc000 + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a13eaeeb9cd391da4e2b09490b3e7fad +PLAINTEXT = ffffffffffffffffffffffffffffe000 + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c958a171dca1d4ed53e1af1d380803a9 +PLAINTEXT = fffffffffffffffffffffffffffff000 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 21442e07a110667f2583eaeeee44dc8c +PLAINTEXT = fffffffffffffffffffffffffffff800 + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 59bbb353cf1dd867a6e33737af655e99 +PLAINTEXT = fffffffffffffffffffffffffffffc00 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43cd3b25375d0ce41087ff9fe2829639 +PLAINTEXT = fffffffffffffffffffffffffffffe00 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6b98b17e80d1118e3516bd768b285a84 +PLAINTEXT = ffffffffffffffffffffffffffffff00 + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ae47ed3676ca0c08deea02d95b81db58 +PLAINTEXT = ffffffffffffffffffffffffffffff80 + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 34ec40dc20413795ed53628ea748720b +PLAINTEXT = ffffffffffffffffffffffffffffffc0 + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4dc68163f8e9835473253542c8a65d46 +PLAINTEXT = ffffffffffffffffffffffffffffffe0 + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2aabb999f43693175af65c6c612c46fb +PLAINTEXT = fffffffffffffffffffffffffffffff0 + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e01f94499dac3547515c5b1d756f0f58 +PLAINTEXT = fffffffffffffffffffffffffffffff8 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d12435a46480ce00ea349f71799df9a +PLAINTEXT = fffffffffffffffffffffffffffffffc + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cef41d16d266bdfe46938ad7884cc0cf +PLAINTEXT = fffffffffffffffffffffffffffffffe + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b13db4da1f718bc6904797c82bcf2d32 +PLAINTEXT = ffffffffffffffffffffffffffffffff + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt256.rsp new file mode 100644 index 000000000..79d8050cf --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CBCVarTxt256.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CBC +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:38 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 80000000000000000000000000000000 +CIPHERTEXT = ddc6bf790c15760d8d9aeb6f9a75fd4e + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = c0000000000000000000000000000000 +CIPHERTEXT = 0a6bdc6d4c1e6280301fd8e97ddbe601 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = e0000000000000000000000000000000 +CIPHERTEXT = 9b80eefb7ebe2d2b16247aa0efc72f5d + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f0000000000000000000000000000000 +CIPHERTEXT = 7f2c5ece07a98d8bee13c51177395ff7 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f8000000000000000000000000000000 +CIPHERTEXT = 7818d800dcf6f4be1e0e94f403d1e4c2 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fc000000000000000000000000000000 +CIPHERTEXT = e74cd1c92f0919c35a0324123d6177d3 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fe000000000000000000000000000000 +CIPHERTEXT = 8092a4dcf2da7e77e93bdd371dfed82e + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff000000000000000000000000000000 +CIPHERTEXT = 49af6b372135acef10132e548f217b17 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff800000000000000000000000000000 +CIPHERTEXT = 8bcd40f94ebb63b9f7909676e667f1e7 + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffc00000000000000000000000000000 +CIPHERTEXT = fe1cffb83f45dcfb38b29be438dbd3ab + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffe00000000000000000000000000000 +CIPHERTEXT = 0dc58a8d886623705aec15cb1e70dc0e + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff00000000000000000000000000000 +CIPHERTEXT = c218faa16056bd0774c3e8d79c35a5e4 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff80000000000000000000000000000 +CIPHERTEXT = 047bba83f7aa841731504e012208fc9e + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffc0000000000000000000000000000 +CIPHERTEXT = dc8f0e4915fd81ba70a331310882f6da + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffe0000000000000000000000000000 +CIPHERTEXT = 1569859ea6b7206c30bf4fd0cbfac33c + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff0000000000000000000000000000 +CIPHERTEXT = 300ade92f88f48fa2df730ec16ef44cd + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff8000000000000000000000000000 +CIPHERTEXT = 1fe6cc3c05965dc08eb0590c95ac71d0 + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffc000000000000000000000000000 +CIPHERTEXT = 59e858eaaa97fec38111275b6cf5abc0 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffe000000000000000000000000000 +CIPHERTEXT = 2239455e7afe3b0616100288cc5a723b + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff000000000000000000000000000 +CIPHERTEXT = 3ee500c5c8d63479717163e55c5c4522 + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff800000000000000000000000000 +CIPHERTEXT = d5e38bf15f16d90e3e214041d774daa8 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffc00000000000000000000000000 +CIPHERTEXT = b1f4066e6f4f187dfe5f2ad1b17819d0 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffe00000000000000000000000000 +CIPHERTEXT = 6ef4cc4de49b11065d7af2909854794a + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff00000000000000000000000000 +CIPHERTEXT = ac86bc606b6640c309e782f232bf367f + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff80000000000000000000000000 +CIPHERTEXT = 36aff0ef7bf3280772cf4cac80a0d2b2 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffc0000000000000000000000000 +CIPHERTEXT = 1f8eedea0f62a1406d58cfc3ecea72cf + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffe0000000000000000000000000 +CIPHERTEXT = abf4154a3375a1d3e6b1d454438f95a6 + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff0000000000000000000000000 +CIPHERTEXT = 96f96e9d607f6615fc192061ee648b07 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff8000000000000000000000000 +CIPHERTEXT = cf37cdaaa0d2d536c71857634c792064 + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffc000000000000000000000000 +CIPHERTEXT = fbd6640c80245c2b805373f130703127 + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffe000000000000000000000000 +CIPHERTEXT = 8d6a8afe55a6e481badae0d146f436db + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff000000000000000000000000 +CIPHERTEXT = 6a4981f2915e3e68af6c22385dd06756 + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff800000000000000000000000 +CIPHERTEXT = 42a1136e5f8d8d21d3101998642d573b + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffc00000000000000000000000 +CIPHERTEXT = 9b471596dc69ae1586cee6158b0b0181 + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffe00000000000000000000000 +CIPHERTEXT = 753665c4af1eff33aa8b628bf8741cfd + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff00000000000000000000000 +CIPHERTEXT = 9a682acf40be01f5b2a4193c9a82404d + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff80000000000000000000000 +CIPHERTEXT = 54fafe26e4287f17d1935f87eb9ade01 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffc0000000000000000000000 +CIPHERTEXT = 49d541b2e74cfe73e6a8e8225f7bd449 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffe0000000000000000000000 +CIPHERTEXT = 11a45530f624ff6f76a1b3826626ff7b + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff0000000000000000000000 +CIPHERTEXT = f96b0c4a8bc6c86130289f60b43b8fba + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff8000000000000000000000 +CIPHERTEXT = 48c7d0e80834ebdc35b6735f76b46c8b + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffc000000000000000000000 +CIPHERTEXT = 2463531ab54d66955e73edc4cb8eaa45 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffe000000000000000000000 +CIPHERTEXT = ac9bd8e2530469134b9d5b065d4f565b + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff000000000000000000000 +CIPHERTEXT = 3f5f9106d0e52f973d4890e6f37e8a00 + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff800000000000000000000 +CIPHERTEXT = 20ebc86f1304d272e2e207e59db639f0 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffc00000000000000000000 +CIPHERTEXT = e67ae6426bf9526c972cff072b52252c + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffe00000000000000000000 +CIPHERTEXT = 1a518dddaf9efa0d002cc58d107edfc8 + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff00000000000000000000 +CIPHERTEXT = ead731af4d3a2fe3b34bed047942a49f + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff80000000000000000000 +CIPHERTEXT = b1d4efe40242f83e93b6c8d7efb5eae9 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffc0000000000000000000 +CIPHERTEXT = cd2b1fec11fd906c5c7630099443610a + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffe0000000000000000000 +CIPHERTEXT = a1853fe47fe29289d153161d06387d21 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff0000000000000000000 +CIPHERTEXT = 4632154179a555c17ea604d0889fab14 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff8000000000000000000 +CIPHERTEXT = dd27cac6401a022e8f38f9f93e774417 + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffc000000000000000000 +CIPHERTEXT = c090313eb98674f35f3123385fb95d4d + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffe000000000000000000 +CIPHERTEXT = cc3526262b92f02edce548f716b9f45c + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff000000000000000000 +CIPHERTEXT = c0838d1a2b16a7c7f0dfcc433c399c33 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff800000000000000000 +CIPHERTEXT = 0d9ac756eb297695eed4d382eb126d26 + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffc00000000000000000 +CIPHERTEXT = 56ede9dda3f6f141bff1757fa689c3e1 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffe00000000000000000 +CIPHERTEXT = 768f520efe0f23e61d3ec8ad9ce91774 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff00000000000000000 +CIPHERTEXT = b1144ddfa75755213390e7c596660490 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff80000000000000000 +CIPHERTEXT = 1d7c0c4040b355b9d107a99325e3b050 + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffc0000000000000000 +CIPHERTEXT = d8e2bb1ae8ee3dcf5bf7d6c38da82a1a + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffe0000000000000000 +CIPHERTEXT = faf82d178af25a9886a47e7f789b98d7 + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff0000000000000000 +CIPHERTEXT = 9b58dbfd77fe5aca9cfc190cd1b82d19 + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff8000000000000000 +CIPHERTEXT = 77f392089042e478ac16c0c86a0b5db5 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffc000000000000000 +CIPHERTEXT = 19f08e3420ee69b477ca1420281c4782 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffe000000000000000 +CIPHERTEXT = a1b19beee4e117139f74b3c53fdcb875 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff000000000000000 +CIPHERTEXT = a37a5869b218a9f3a0868d19aea0ad6a + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff800000000000000 +CIPHERTEXT = bc3594e865bcd0261b13202731f33580 + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffc00000000000000 +CIPHERTEXT = 811441ce1d309eee7185e8c752c07557 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffe00000000000000 +CIPHERTEXT = 959971ce4134190563518e700b9874d1 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff00000000000000 +CIPHERTEXT = 76b5614a042707c98e2132e2e805fe63 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff80000000000000 +CIPHERTEXT = 7d9fa6a57530d0f036fec31c230b0cc6 + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffc0000000000000 +CIPHERTEXT = 964153a83bf6989a4ba80daa91c3e081 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffe0000000000000 +CIPHERTEXT = a013014d4ce8054cf2591d06f6f2f176 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff0000000000000 +CIPHERTEXT = d1c5f6399bf382502e385eee1474a869 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff8000000000000 +CIPHERTEXT = 0007e20b8298ec354f0f5fe7470f36bd + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffc000000000000 +CIPHERTEXT = b95ba05b332da61ef63a2b31fcad9879 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffe000000000000 +CIPHERTEXT = 4620a49bd967491561669ab25dce45f4 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff000000000000 +CIPHERTEXT = 12e71214ae8e04f0bb63d7425c6f14d5 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff800000000000 +CIPHERTEXT = 4cc42fc1407b008fe350907c092e80ac + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 08b244ce7cbc8ee97fbba808cb146fda + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 39b333e8694f21546ad1edd9d87ed95b + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff00000000000 +CIPHERTEXT = 3b271f8ab2e6e4a20ba8090f43ba78f3 + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff80000000000 +CIPHERTEXT = 9ad983f3bf651cd0393f0a73cccdea50 + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 8f476cbff75c1f725ce18e4bbcd19b32 + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffe0000000000 +CIPHERTEXT = 905b6267f1d6ab5320835a133f096f2a + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 145b60d6d0193c23f4221848a892d61a + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 55cfb3fb6d75cad0445bbc8dafa25b0f + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 7b8e7098e357ef71237d46d8b075b0f5 + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 2bf27229901eb40f2df9d8398d1505ae + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff000000000 +CIPHERTEXT = 83a63402a77f9ad5c1e931a931ecd706 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff800000000 +CIPHERTEXT = 6f8ba6521152d31f2bada1843e26b973 + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffc00000000 +CIPHERTEXT = e5c3b8e30fd2d8e6239b17b44bd23bbd + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 1ac1f7102c59933e8b2ddc3f14e94baa + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 21d9ba49f276b45f11af8fc71a088e3d + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 649f1cddc3792b4638635a392bc9bade + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = e2775e4b59c1bc2e31a2078c11b5a08c + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 2be1fae5048a25582a679ca10905eb80 + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff0000000 +CIPHERTEXT = da86f292c6f41ea34fb2068df75ecc29 + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 220df19f85d69b1b562fa69a3c5beca5 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 1f11d5d0355e0b556ccdb6c7f5083b4d + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 62526b78be79cb384633c91f83b4151b + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 90ddbcb950843592dd47bbef00fdc876 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 2fd0e41c5b8402277354a7391d2618e2 + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 3cdf13e72dee4c581bafec70b85f9660 + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = afa2ffc137577092e2b654fa199d2c43 + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 8d683ee63e60d208e343ce48dbc44cac + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 705a4ef8ba2133729c20185c3d3a4763 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 0861a861c3db4e94194211b77ed761b9 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 4b00c27e8b26da7eab9d3a88dec8b031 + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 5f397bf03084820cc8810d52e5b666e9 + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 63fafabb72c07bfbd3ddc9b1203104b8 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = 683e2140585b18452dd4ffbb93c95df9 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 286894e48e537f8763b56707d7d155c8 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff000 +CIPHERTEXT = a423deabc173dcf7e2c4c53e77d37cd1 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff800 +CIPHERTEXT = eb8168313e1cfdfdb5e986d5429cf172 + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 27127daafc9accd2fb334ec3eba52323 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = ee0715b96f72e3f7a22a5064fc592f4c + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 29ee526770f2a11dcfa989d1ce88830f + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = 0493370e054b09871130fe49af730a5a + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 9b7b940f6c509f9e44a4ee140448ee46 + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 2915be4a1ecfdcbe3e023811a12bb6c7 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 7240e524bc51d8c4d440b1be55d1062c + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = da63039d38cb4612b2dc36ba26684b93 + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 0f59cb5a4b522e2ac56c1a64f558ad9a + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 7bfe9d876c6d63c1d035da8fe21c409d + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffff +CIPHERTEXT = acdace8078a32b1a182bfa4987ca1347 + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ddc6bf790c15760d8d9aeb6f9a75fd4e +PLAINTEXT = 80000000000000000000000000000000 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0a6bdc6d4c1e6280301fd8e97ddbe601 +PLAINTEXT = c0000000000000000000000000000000 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b80eefb7ebe2d2b16247aa0efc72f5d +PLAINTEXT = e0000000000000000000000000000000 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f2c5ece07a98d8bee13c51177395ff7 +PLAINTEXT = f0000000000000000000000000000000 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7818d800dcf6f4be1e0e94f403d1e4c2 +PLAINTEXT = f8000000000000000000000000000000 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e74cd1c92f0919c35a0324123d6177d3 +PLAINTEXT = fc000000000000000000000000000000 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8092a4dcf2da7e77e93bdd371dfed82e +PLAINTEXT = fe000000000000000000000000000000 + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 49af6b372135acef10132e548f217b17 +PLAINTEXT = ff000000000000000000000000000000 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8bcd40f94ebb63b9f7909676e667f1e7 +PLAINTEXT = ff800000000000000000000000000000 + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fe1cffb83f45dcfb38b29be438dbd3ab +PLAINTEXT = ffc00000000000000000000000000000 + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0dc58a8d886623705aec15cb1e70dc0e +PLAINTEXT = ffe00000000000000000000000000000 + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c218faa16056bd0774c3e8d79c35a5e4 +PLAINTEXT = fff00000000000000000000000000000 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 047bba83f7aa841731504e012208fc9e +PLAINTEXT = fff80000000000000000000000000000 + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc8f0e4915fd81ba70a331310882f6da +PLAINTEXT = fffc0000000000000000000000000000 + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1569859ea6b7206c30bf4fd0cbfac33c +PLAINTEXT = fffe0000000000000000000000000000 + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 300ade92f88f48fa2df730ec16ef44cd +PLAINTEXT = ffff0000000000000000000000000000 + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1fe6cc3c05965dc08eb0590c95ac71d0 +PLAINTEXT = ffff8000000000000000000000000000 + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 59e858eaaa97fec38111275b6cf5abc0 +PLAINTEXT = ffffc000000000000000000000000000 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2239455e7afe3b0616100288cc5a723b +PLAINTEXT = ffffe000000000000000000000000000 + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3ee500c5c8d63479717163e55c5c4522 +PLAINTEXT = fffff000000000000000000000000000 + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d5e38bf15f16d90e3e214041d774daa8 +PLAINTEXT = fffff800000000000000000000000000 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1f4066e6f4f187dfe5f2ad1b17819d0 +PLAINTEXT = fffffc00000000000000000000000000 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6ef4cc4de49b11065d7af2909854794a +PLAINTEXT = fffffe00000000000000000000000000 + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ac86bc606b6640c309e782f232bf367f +PLAINTEXT = ffffff00000000000000000000000000 + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36aff0ef7bf3280772cf4cac80a0d2b2 +PLAINTEXT = ffffff80000000000000000000000000 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f8eedea0f62a1406d58cfc3ecea72cf +PLAINTEXT = ffffffc0000000000000000000000000 + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = abf4154a3375a1d3e6b1d454438f95a6 +PLAINTEXT = ffffffe0000000000000000000000000 + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96f96e9d607f6615fc192061ee648b07 +PLAINTEXT = fffffff0000000000000000000000000 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf37cdaaa0d2d536c71857634c792064 +PLAINTEXT = fffffff8000000000000000000000000 + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fbd6640c80245c2b805373f130703127 +PLAINTEXT = fffffffc000000000000000000000000 + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d6a8afe55a6e481badae0d146f436db +PLAINTEXT = fffffffe000000000000000000000000 + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a4981f2915e3e68af6c22385dd06756 +PLAINTEXT = ffffffff000000000000000000000000 + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42a1136e5f8d8d21d3101998642d573b +PLAINTEXT = ffffffff800000000000000000000000 + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b471596dc69ae1586cee6158b0b0181 +PLAINTEXT = ffffffffc00000000000000000000000 + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 753665c4af1eff33aa8b628bf8741cfd +PLAINTEXT = ffffffffe00000000000000000000000 + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9a682acf40be01f5b2a4193c9a82404d +PLAINTEXT = fffffffff00000000000000000000000 + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 54fafe26e4287f17d1935f87eb9ade01 +PLAINTEXT = fffffffff80000000000000000000000 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 49d541b2e74cfe73e6a8e8225f7bd449 +PLAINTEXT = fffffffffc0000000000000000000000 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11a45530f624ff6f76a1b3826626ff7b +PLAINTEXT = fffffffffe0000000000000000000000 + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f96b0c4a8bc6c86130289f60b43b8fba +PLAINTEXT = ffffffffff0000000000000000000000 + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 48c7d0e80834ebdc35b6735f76b46c8b +PLAINTEXT = ffffffffff8000000000000000000000 + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2463531ab54d66955e73edc4cb8eaa45 +PLAINTEXT = ffffffffffc000000000000000000000 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ac9bd8e2530469134b9d5b065d4f565b +PLAINTEXT = ffffffffffe000000000000000000000 + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f5f9106d0e52f973d4890e6f37e8a00 +PLAINTEXT = fffffffffff000000000000000000000 + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 20ebc86f1304d272e2e207e59db639f0 +PLAINTEXT = fffffffffff800000000000000000000 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e67ae6426bf9526c972cff072b52252c +PLAINTEXT = fffffffffffc00000000000000000000 + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1a518dddaf9efa0d002cc58d107edfc8 +PLAINTEXT = fffffffffffe00000000000000000000 + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ead731af4d3a2fe3b34bed047942a49f +PLAINTEXT = ffffffffffff00000000000000000000 + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1d4efe40242f83e93b6c8d7efb5eae9 +PLAINTEXT = ffffffffffff80000000000000000000 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cd2b1fec11fd906c5c7630099443610a +PLAINTEXT = ffffffffffffc0000000000000000000 + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1853fe47fe29289d153161d06387d21 +PLAINTEXT = ffffffffffffe0000000000000000000 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4632154179a555c17ea604d0889fab14 +PLAINTEXT = fffffffffffff0000000000000000000 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd27cac6401a022e8f38f9f93e774417 +PLAINTEXT = fffffffffffff8000000000000000000 + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c090313eb98674f35f3123385fb95d4d +PLAINTEXT = fffffffffffffc000000000000000000 + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc3526262b92f02edce548f716b9f45c +PLAINTEXT = fffffffffffffe000000000000000000 + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0838d1a2b16a7c7f0dfcc433c399c33 +PLAINTEXT = ffffffffffffff000000000000000000 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0d9ac756eb297695eed4d382eb126d26 +PLAINTEXT = ffffffffffffff800000000000000000 + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56ede9dda3f6f141bff1757fa689c3e1 +PLAINTEXT = ffffffffffffffc00000000000000000 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 768f520efe0f23e61d3ec8ad9ce91774 +PLAINTEXT = ffffffffffffffe00000000000000000 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1144ddfa75755213390e7c596660490 +PLAINTEXT = fffffffffffffff00000000000000000 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1d7c0c4040b355b9d107a99325e3b050 +PLAINTEXT = fffffffffffffff80000000000000000 + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8e2bb1ae8ee3dcf5bf7d6c38da82a1a +PLAINTEXT = fffffffffffffffc0000000000000000 + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = faf82d178af25a9886a47e7f789b98d7 +PLAINTEXT = fffffffffffffffe0000000000000000 + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b58dbfd77fe5aca9cfc190cd1b82d19 +PLAINTEXT = ffffffffffffffff0000000000000000 + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77f392089042e478ac16c0c86a0b5db5 +PLAINTEXT = ffffffffffffffff8000000000000000 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19f08e3420ee69b477ca1420281c4782 +PLAINTEXT = ffffffffffffffffc000000000000000 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1b19beee4e117139f74b3c53fdcb875 +PLAINTEXT = ffffffffffffffffe000000000000000 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a37a5869b218a9f3a0868d19aea0ad6a +PLAINTEXT = fffffffffffffffff000000000000000 + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bc3594e865bcd0261b13202731f33580 +PLAINTEXT = fffffffffffffffff800000000000000 + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 811441ce1d309eee7185e8c752c07557 +PLAINTEXT = fffffffffffffffffc00000000000000 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 959971ce4134190563518e700b9874d1 +PLAINTEXT = fffffffffffffffffe00000000000000 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 76b5614a042707c98e2132e2e805fe63 +PLAINTEXT = ffffffffffffffffff00000000000000 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7d9fa6a57530d0f036fec31c230b0cc6 +PLAINTEXT = ffffffffffffffffff80000000000000 + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 964153a83bf6989a4ba80daa91c3e081 +PLAINTEXT = ffffffffffffffffffc0000000000000 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a013014d4ce8054cf2591d06f6f2f176 +PLAINTEXT = ffffffffffffffffffe0000000000000 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1c5f6399bf382502e385eee1474a869 +PLAINTEXT = fffffffffffffffffff0000000000000 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0007e20b8298ec354f0f5fe7470f36bd +PLAINTEXT = fffffffffffffffffff8000000000000 + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b95ba05b332da61ef63a2b31fcad9879 +PLAINTEXT = fffffffffffffffffffc000000000000 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4620a49bd967491561669ab25dce45f4 +PLAINTEXT = fffffffffffffffffffe000000000000 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12e71214ae8e04f0bb63d7425c6f14d5 +PLAINTEXT = ffffffffffffffffffff000000000000 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4cc42fc1407b008fe350907c092e80ac +PLAINTEXT = ffffffffffffffffffff800000000000 + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 08b244ce7cbc8ee97fbba808cb146fda +PLAINTEXT = ffffffffffffffffffffc00000000000 + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 39b333e8694f21546ad1edd9d87ed95b +PLAINTEXT = ffffffffffffffffffffe00000000000 + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b271f8ab2e6e4a20ba8090f43ba78f3 +PLAINTEXT = fffffffffffffffffffff00000000000 + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ad983f3bf651cd0393f0a73cccdea50 +PLAINTEXT = fffffffffffffffffffff80000000000 + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f476cbff75c1f725ce18e4bbcd19b32 +PLAINTEXT = fffffffffffffffffffffc0000000000 + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 905b6267f1d6ab5320835a133f096f2a +PLAINTEXT = fffffffffffffffffffffe0000000000 + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 145b60d6d0193c23f4221848a892d61a +PLAINTEXT = ffffffffffffffffffffff0000000000 + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 55cfb3fb6d75cad0445bbc8dafa25b0f +PLAINTEXT = ffffffffffffffffffffff8000000000 + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b8e7098e357ef71237d46d8b075b0f5 +PLAINTEXT = ffffffffffffffffffffffc000000000 + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2bf27229901eb40f2df9d8398d1505ae +PLAINTEXT = ffffffffffffffffffffffe000000000 + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 83a63402a77f9ad5c1e931a931ecd706 +PLAINTEXT = fffffffffffffffffffffff000000000 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6f8ba6521152d31f2bada1843e26b973 +PLAINTEXT = fffffffffffffffffffffff800000000 + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e5c3b8e30fd2d8e6239b17b44bd23bbd +PLAINTEXT = fffffffffffffffffffffffc00000000 + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ac1f7102c59933e8b2ddc3f14e94baa +PLAINTEXT = fffffffffffffffffffffffe00000000 + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 21d9ba49f276b45f11af8fc71a088e3d +PLAINTEXT = ffffffffffffffffffffffff00000000 + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 649f1cddc3792b4638635a392bc9bade +PLAINTEXT = ffffffffffffffffffffffff80000000 + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e2775e4b59c1bc2e31a2078c11b5a08c +PLAINTEXT = ffffffffffffffffffffffffc0000000 + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2be1fae5048a25582a679ca10905eb80 +PLAINTEXT = ffffffffffffffffffffffffe0000000 + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = da86f292c6f41ea34fb2068df75ecc29 +PLAINTEXT = fffffffffffffffffffffffff0000000 + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 220df19f85d69b1b562fa69a3c5beca5 +PLAINTEXT = fffffffffffffffffffffffff8000000 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f11d5d0355e0b556ccdb6c7f5083b4d +PLAINTEXT = fffffffffffffffffffffffffc000000 + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 62526b78be79cb384633c91f83b4151b +PLAINTEXT = fffffffffffffffffffffffffe000000 + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90ddbcb950843592dd47bbef00fdc876 +PLAINTEXT = ffffffffffffffffffffffffff000000 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2fd0e41c5b8402277354a7391d2618e2 +PLAINTEXT = ffffffffffffffffffffffffff800000 + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3cdf13e72dee4c581bafec70b85f9660 +PLAINTEXT = ffffffffffffffffffffffffffc00000 + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = afa2ffc137577092e2b654fa199d2c43 +PLAINTEXT = ffffffffffffffffffffffffffe00000 + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d683ee63e60d208e343ce48dbc44cac +PLAINTEXT = fffffffffffffffffffffffffff00000 + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 705a4ef8ba2133729c20185c3d3a4763 +PLAINTEXT = fffffffffffffffffffffffffff80000 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0861a861c3db4e94194211b77ed761b9 +PLAINTEXT = fffffffffffffffffffffffffffc0000 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b00c27e8b26da7eab9d3a88dec8b031 +PLAINTEXT = fffffffffffffffffffffffffffe0000 + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5f397bf03084820cc8810d52e5b666e9 +PLAINTEXT = ffffffffffffffffffffffffffff0000 + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 63fafabb72c07bfbd3ddc9b1203104b8 +PLAINTEXT = ffffffffffffffffffffffffffff8000 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 683e2140585b18452dd4ffbb93c95df9 +PLAINTEXT = ffffffffffffffffffffffffffffc000 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 286894e48e537f8763b56707d7d155c8 +PLAINTEXT = ffffffffffffffffffffffffffffe000 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a423deabc173dcf7e2c4c53e77d37cd1 +PLAINTEXT = fffffffffffffffffffffffffffff000 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb8168313e1cfdfdb5e986d5429cf172 +PLAINTEXT = fffffffffffffffffffffffffffff800 + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27127daafc9accd2fb334ec3eba52323 +PLAINTEXT = fffffffffffffffffffffffffffffc00 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ee0715b96f72e3f7a22a5064fc592f4c +PLAINTEXT = fffffffffffffffffffffffffffffe00 + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29ee526770f2a11dcfa989d1ce88830f +PLAINTEXT = ffffffffffffffffffffffffffffff00 + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0493370e054b09871130fe49af730a5a +PLAINTEXT = ffffffffffffffffffffffffffffff80 + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b7b940f6c509f9e44a4ee140448ee46 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2915be4a1ecfdcbe3e023811a12bb6c7 +PLAINTEXT = ffffffffffffffffffffffffffffffe0 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7240e524bc51d8c4d440b1be55d1062c +PLAINTEXT = fffffffffffffffffffffffffffffff0 + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = da63039d38cb4612b2dc36ba26684b93 +PLAINTEXT = fffffffffffffffffffffffffffffff8 + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0f59cb5a4b522e2ac56c1a64f558ad9a +PLAINTEXT = fffffffffffffffffffffffffffffffc + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7bfe9d876c6d63c1d035da8fe21c409d +PLAINTEXT = fffffffffffffffffffffffffffffffe + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = acdace8078a32b1a182bfa4987ca1347 +PLAINTEXT = ffffffffffffffffffffffffffffffff + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox128.rsp new file mode 100644 index 000000000..1beee7109 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox128.rsp @@ -0,0 +1,95 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:53 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = f34481ec3cc627bacd5dc3fb08f273e6 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 9798c4640bad75c7c3227db910174e72 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 96ab5c2ff612d9dfaae8c31f30c42168 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 6a118a874519e64e9963798a503f1d35 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = cb9fceec81286ca3e989bd979b0cb284 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = b26aeb1874e47ca8358ff22378f09144 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 58c8e00b2631686d54eab84b91f0aca1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = f34481ec3cc627bacd5dc3fb08f273e6 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 9798c4640bad75c7c3227db910174e72 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 96ab5c2ff612d9dfaae8c31f30c42168 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 6a118a874519e64e9963798a503f1d35 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = cb9fceec81286ca3e989bd979b0cb284 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = b26aeb1874e47ca8358ff22378f09144 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 58c8e00b2631686d54eab84b91f0aca1 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox192.rsp new file mode 100644 index 000000000..aa9cd3cf0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox192.rsp @@ -0,0 +1,83 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:55 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 1b077a6af4b7f98229de786d7516b639 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 9c2d8842e5f48f57648205d39a239af1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = bff52510095f518ecca60af4205444bb +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 51719783d3185a535bd75adc65071ce1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 26aa49dcfe7629a8901a69a9914e6dfd +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 941a4773058224e1ef66d10e0a6ee782 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 067cd9d3749207791841562507fa9626 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 1b077a6af4b7f98229de786d7516b639 +CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 9c2d8842e5f48f57648205d39a239af1 +CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = bff52510095f518ecca60af4205444bb +CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 51719783d3185a535bd75adc65071ce1 +CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 26aa49dcfe7629a8901a69a9914e6dfd +CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 941a4773058224e1ef66d10e0a6ee782 +CIPHERTEXT = 067cd9d3749207791841562507fa9626 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox256.rsp new file mode 100644 index 000000000..9cb27f5d6 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128GFSbox256.rsp @@ -0,0 +1,71 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:57 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 014730f80ac625fe84f026c60bfd547d +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 0b24af36193ce4665f2825d7b4749c98 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 761c1fe41a18acf20d241650611d90f1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 8a560769d605868ad80d819bdba03771 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 91fbef2d15a97816060bee1feaa49afe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 014730f80ac625fe84f026c60bfd547d +CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 0b24af36193ce4665f2825d7b4749c98 +CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 761c1fe41a18acf20d241650611d90f1 +CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 8a560769d605868ad80d819bdba03771 +CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 91fbef2d15a97816060bee1feaa49afe +CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox128.rsp new file mode 100644 index 000000000..adad1be41 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox128.rsp @@ -0,0 +1,263 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:53 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 + +[DECRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox192.rsp new file mode 100644 index 000000000..b3ada5364 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox192.rsp @@ -0,0 +1,299 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:55 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0956259c9cd5cfd0181cca53380cde06 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4e18424e591a3d5b6f0876f16f8594 + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93f3270cfc877ef17e106ce938979cb0 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f6c25ff41858561bb62f36492e93c29 + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e06556dcbb00b809a025047cff2a940 + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3608c344868e94555d23a120f8a5502d + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77da2021935b840b7f5dcc39132da9e5 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b7c24f825e3bf9873c9f14d39a0e6f4 + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64ebf95686b353508c90ecd8b6134316 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff558c5d27210b7929b73fc708eb4cf1 + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a2c3b2a818075490a7b4c14380f02702 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cfe4d74002696ccf7d87b14a2f9cafc9 + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2eafd86f63b109b91f5dbb3a3fb7e13 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b9fdd1c5975655f539998b306a324af + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd619e1cf204446112e0af2b9afa8f8c + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d4f0aae13c8fe9339fbf9e69ed0ad74d + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19c80ec4a6deb7e5ed1033dda933498f + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3cf5e1d21a17956d1dffad6a7c41c659 + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 69fd12e8505f8ded2fdcb197a121b362 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8aa584e2cc4d17417a97cb9a28ba29c8 + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = abc786fb1edb504580c4d882ef29a0c7 + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e19fb60a3e1de0166f483c97824a978 + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7656709538dd5fec41e0ce6a0f8e207d + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a67cf333b314d411d3c0ae6e1cfcd8f5 + +[DECRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0956259c9cd5cfd0181cca53380cde06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e4e18424e591a3d5b6f0876f16f8594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93f3270cfc877ef17e106ce938979cb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f6c25ff41858561bb62f36492e93c29 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e06556dcbb00b809a025047cff2a940 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3608c344868e94555d23a120f8a5502d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77da2021935b840b7f5dcc39132da9e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b7c24f825e3bf9873c9f14d39a0e6f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64ebf95686b353508c90ecd8b6134316 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff558c5d27210b7929b73fc708eb4cf1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +CIPHERTEXT = a2c3b2a818075490a7b4c14380f02702 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cfe4d74002696ccf7d87b14a2f9cafc9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2eafd86f63b109b91f5dbb3a3fb7e13 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b9fdd1c5975655f539998b306a324af +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd619e1cf204446112e0af2b9afa8f8c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d4f0aae13c8fe9339fbf9e69ed0ad74d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19c80ec4a6deb7e5ed1033dda933498f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3cf5e1d21a17956d1dffad6a7c41c659 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69fd12e8505f8ded2fdcb197a121b362 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8aa584e2cc4d17417a97cb9a28ba29c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = abc786fb1edb504580c4d882ef29a0c7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e19fb60a3e1de0166f483c97824a978 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7656709538dd5fec41e0ce6a0f8e207d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a67cf333b314d411d3c0ae6e1cfcd8f5 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox256.rsp new file mode 100644 index 000000000..0b09ff61f --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128KeySbox256.rsp @@ -0,0 +1,203 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:57 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 46f2fb342d6f0ab477476fc501242c5f + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bf3b0a69aeb6657794f2901b1440ad4 + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 352065272169abf9856843927d0674fd + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4307456a9e67813b452e15fa8fffe398 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4663446607354989477a5c6f0f007ef4 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 531c2c38344578b84d50b3c917bbb6e1 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc6aec906323480005c58e7e1ab004ad + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a3944b95ca0b52043584ef02151926a8 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a74289fe73a4c123ca189ea1e1b49ad5 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b91d4ea4488644b56cf0812fa7fcf5fc + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 304f81ab61a80c2e743b94d5002a126b + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 649a71545378c783e368c9ade7114f6c + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 47cb030da2ab051dfc6c4bf6910d12bb + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 798c7c005dee432b2c8ea5dfa381ecc3 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 637c31dc2591a07636f646b72daabbe7 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 179a49c712154bbffbe6e7a84a18e220 + +[DECRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 46f2fb342d6f0ab477476fc501242c5f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bf3b0a69aeb6657794f2901b1440ad4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 352065272169abf9856843927d0674fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4307456a9e67813b452e15fa8fffe398 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4663446607354989477a5c6f0f007ef4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 531c2c38344578b84d50b3c917bbb6e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc6aec906323480005c58e7e1ab004ad +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3944b95ca0b52043584ef02151926a8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +CIPHERTEXT = a74289fe73a4c123ca189ea1e1b49ad5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b91d4ea4488644b56cf0812fa7fcf5fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 304f81ab61a80c2e743b94d5002a126b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 649a71545378c783e368c9ade7114f6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +CIPHERTEXT = 47cb030da2ab051dfc6c4bf6910d12bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 798c7c005dee432b2c8ea5dfa381ecc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 637c31dc2591a07636f646b72daabbe7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 179a49c712154bbffbe6e7a84a18e220 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT128.rsp new file mode 100644 index 000000000..ae9c16235 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT128.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:53 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 3d2013d183970f00d3551281f2543fbd +IV = 953eb9921a7ae4b9ec6d115eb720f7f0 +PLAINTEXT = 2590ad2e5455a6a5fe61a09ea4033c81 +CIPHERTEXT = 72beed95ea2239d3d087cba751e3769e + +COUNT = 1 +KEY = 4f9efe4469b536d303d2d926a3b74923 +IV = 72beed95ea2239d3d087cba751e3769e +PLAINTEXT = 2aa3c005c1714d17f239776977389abd +CIPHERTEXT = cad6839f9d84213739ee6a2ee9752815 + +COUNT = 2 +KEY = 85487ddbf43117e43a3cb3084ac26136 +IV = cad6839f9d84213739ee6a2ee9752815 +PLAINTEXT = 6ff247d4809d5c2e418467d0e5715f21 +CIPHERTEXT = a9ffe6b9fc459718d45b7dd4ad538eca + +COUNT = 3 +KEY = 2cb79b62087480fcee67cedce791effc +IV = a9ffe6b9fc459718d45b7dd4ad538eca +PLAINTEXT = 819f2a6369b33f74608f7a3c8e1d6887 +CIPHERTEXT = 9f5701c1d98cf8e284e03021aaeba926 + +COUNT = 4 +KEY = b3e09aa3d1f8781e6a87fefd4d7a46da +IV = 9f5701c1d98cf8e284e03021aaeba926 +PLAINTEXT = 47017d855c1ec80d6d2c87b574f762c1 +CIPHERTEXT = 324caddc3588afdc7247c5ce87da4f04 + +COUNT = 5 +KEY = 81ac377fe470d7c218c03b33caa009de +IV = 324caddc3588afdc7247c5ce87da4f04 +PLAINTEXT = dfc9cf0266dc98968aa3b97107faa62f +CIPHERTEXT = a6eab3025bc12b269e42f36bcb155cfe + +COUNT = 6 +KEY = 2746847dbfb1fce48682c85801b55520 +IV = a6eab3025bc12b269e42f36bcb155cfe +PLAINTEXT = 026dc021ed80cf76852dd89fc3865306 +CIPHERTEXT = 4590ea41cc30728368b3d3f5d5d63117 + +COUNT = 7 +KEY = 62d66e3c73818e67ee311badd4636437 +IV = 4590ea41cc30728368b3d3f5d5d63117 +PLAINTEXT = 3068aad9845badbca3aa4cca4cb421a1 +CIPHERTEXT = 4d61b1c2180621e64486e4c3a3da38f7 + +COUNT = 8 +KEY = 2fb7dffe6b87af81aab7ff6e77b95cc0 +IV = 4d61b1c2180621e64486e4c3a3da38f7 +PLAINTEXT = 3271001f619f25e75fa4656e0ac5c613 +CIPHERTEXT = fae8ee9ae706ee92b478f282cd966320 + +COUNT = 9 +KEY = d55f31648c8141131ecf0decba2f3fe0 +IV = fae8ee9ae706ee92b478f282cd966320 +PLAINTEXT = 517e6b982e5a4d10219bd5bf6c41b4f2 +CIPHERTEXT = e716a405999fdbd80c03c7329ff72d38 + +COUNT = 10 +KEY = 32499561151e9acb12cccade25d812d8 +IV = e716a405999fdbd80c03c7329ff72d38 +PLAINTEXT = 2c3813e822bb080bec829ab42de2e821 +CIPHERTEXT = fc2ccefc02653bef50f30d38df9ccc17 + +COUNT = 11 +KEY = ce655b9d177ba124423fc7e6fa44decf +IV = fc2ccefc02653bef50f30d38df9ccc17 +PLAINTEXT = bda021c90265b4fb3c81fb35da03f571 +CIPHERTEXT = 2f0d0cc9009e40a1da14c22414a4c60a + +COUNT = 12 +KEY = e168575417e5e185982b05c2eee018c5 +IV = 2f0d0cc9009e40a1da14c22414a4c60a +PLAINTEXT = a82bdf2c7f6f124ce582dedd9086049d +CIPHERTEXT = 63293a988a020422e0092a2e0996a50b + +COUNT = 13 +KEY = 82416dcc9de7e5a778222fece776bdce +IV = 63293a988a020422e0092a2e0996a50b +PLAINTEXT = bd86eb2d552855e4a355babd5d7bb9fa +CIPHERTEXT = 7d544d65d52bbf432450057c65342f79 + +COUNT = 14 +KEY = ff1520a948cc5ae45c722a90824292b7 +IV = 7d544d65d52bbf432450057c65342f79 +PLAINTEXT = 6d38ca31b7022468a7da2fb98978912f +CIPHERTEXT = 177bcbb8af7ffd0a25a33feb56946888 + +COUNT = 15 +KEY = e86eeb11e7b3a7ee79d1157bd4d6fa3f +IV = 177bcbb8af7ffd0a25a33feb56946888 +PLAINTEXT = 770a446f60cc5fb5f2c6c590f2483540 +CIPHERTEXT = bf2ab13b0fc07218a45aed137cb6017d + +COUNT = 16 +KEY = 57445a2ae873d5f6dd8bf868a860fb42 +IV = bf2ab13b0fc07218a45aed137cb6017d +PLAINTEXT = 9f77f58ef250d6a224edca41c55eeaa7 +CIPHERTEXT = 639baaaba8011b4b762e608868e1d361 + +COUNT = 17 +KEY = 34dff0814072cebdaba598e0c0812823 +IV = 639baaaba8011b4b762e608868e1d361 +PLAINTEXT = 02307681ae16ac2d7ffb082071c0f95b +CIPHERTEXT = b33c294f9935d76d5321d32defd48c5d + +COUNT = 18 +KEY = 87e3d9ced94719d0f8844bcd2f55a47e +IV = b33c294f9935d76d5321d32defd48c5d +PLAINTEXT = ebb5ac77c7b1046298353e2ea1fd4890 +CIPHERTEXT = 60248bfc457c60ffd6fc9d911c9f7fd8 + +COUNT = 19 +KEY = e7c752329c3b792f2e78d65c33cadba6 +IV = 60248bfc457c60ffd6fc9d911c9f7fd8 +PLAINTEXT = e3f84f55262c7fc2310f6b569aabecb6 +CIPHERTEXT = 48c999fe3f445b75ce7a6b7724a96199 + +COUNT = 20 +KEY = af0ecbcca37f225ae002bd2b1763ba3f +IV = 48c999fe3f445b75ce7a6b7724a96199 +PLAINTEXT = c7c3c398ba19d7bc89eae30042e62986 +CIPHERTEXT = 81e56bda54b4eceb9b4cdb76a792ed2b + +COUNT = 21 +KEY = 2eeba016f7cbceb17b4e665db0f15714 +IV = 81e56bda54b4eceb9b4cdb76a792ed2b +PLAINTEXT = e55a43f60fa69876c09cbdef95c8506f +CIPHERTEXT = 0ccb1e61c2a916572f4c495a1fd6d7df + +COUNT = 22 +KEY = 2220be773562d8e654022f07af2780cb +IV = 0ccb1e61c2a916572f4c495a1fd6d7df +PLAINTEXT = 8f8d99079ff07b387146e1525d131de0 +CIPHERTEXT = 4ce07c38a4edb1931f6bc0f695494a90 + +COUNT = 23 +KEY = 6ec0c24f918f69754b69eff13a6eca5b +IV = 4ce07c38a4edb1931f6bc0f695494a90 +PLAINTEXT = 4a995cf38fd1929c5958e03c7860e353 +CIPHERTEXT = 98ed2b601dfa6686074e776a3ee10464 + +COUNT = 24 +KEY = f62de92f8c750ff34c27989b048fce3f +IV = 98ed2b601dfa6686074e776a3ee10464 +PLAINTEXT = cb54cfbd55a39835e7047fcfade56da5 +CIPHERTEXT = 936a500b0eec807e2739648c909777c5 + +COUNT = 25 +KEY = 6547b92482998f8d6b1efc179418b9fa +IV = 936a500b0eec807e2739648c909777c5 +PLAINTEXT = 126e2b6e36f1cbf5b879c97de92c7235 +CIPHERTEXT = d758dce1582c537b48e20f3fe8c34c4e + +COUNT = 26 +KEY = b21f65c5dab5dcf623fcf3287cdbf5b4 +IV = d758dce1582c537b48e20f3fe8c34c4e +PLAINTEXT = 4a4d77a1e54f65047ccf01b0a634f20b +CIPHERTEXT = f8c420cafa12f655bde09b80c9db330f + +COUNT = 27 +KEY = 4adb450f20a72aa39e1c68a8b500c6bb +IV = f8c420cafa12f655bde09b80c9db330f +PLAINTEXT = 5273e5c64f035273e9ab533381cb348b +CIPHERTEXT = 849872c425f1891cf073cbe53461ed96 + +COUNT = 28 +KEY = ce4337cb0556a3bf6e6fa34d81612b2d +IV = 849872c425f1891cf073cbe53461ed96 +PLAINTEXT = 47bc4e22da5e7af029267f86ca4aa35b +CIPHERTEXT = 6006434fd3fba8a42b07004dc553cf7a + +COUNT = 29 +KEY = ae457484d6ad0b1b4568a3004432e457 +IV = 6006434fd3fba8a42b07004dc553cf7a +PLAINTEXT = 7303a60f9bec6f5bf3255fb728c66a8c +CIPHERTEXT = 2a20e52ffe0885cd866298616040d4e2 + +COUNT = 30 +KEY = 846591ab28a58ed6c30a3b61247230b5 +IV = 2a20e52ffe0885cd866298616040d4e2 +PLAINTEXT = c80ad9eeedfeb6d34e905ea636d50fc2 +CIPHERTEXT = 1252fe1c7825cd4c35371e159aaea14f + +COUNT = 31 +KEY = 96376fb75080439af63d2574bedc91fa +IV = 1252fe1c7825cd4c35371e159aaea14f +PLAINTEXT = 7991d56ed739b63e45de996158b6cdec +CIPHERTEXT = 9568193823878614bf7a4d5f26317e18 + +COUNT = 32 +KEY = 035f768f7307c58e4947682b98edefe2 +IV = 9568193823878614bf7a4d5f26317e18 +PLAINTEXT = 22804c994d7d6ac882839cdb6ed01e99 +CIPHERTEXT = cda87780294fd4ace217d3318e42d934 + +COUNT = 33 +KEY = cef7010f5a481122ab50bb1a16af36d6 +IV = cda87780294fd4ace217d3318e42d934 +PLAINTEXT = e1067ebc239bf0bba87ec0081b7cf985 +CIPHERTEXT = dbfbed9a9bc790e21d95a074ee5c2368 + +COUNT = 34 +KEY = 150cec95c18f81c0b6c51b6ef8f315be +IV = dbfbed9a9bc790e21d95a074ee5c2368 +PLAINTEXT = a552fd8c65515aa23a8a5ecce430a113 +CIPHERTEXT = 71921978ba0769fda8f29a4624cf9a18 + +COUNT = 35 +KEY = 649ef5ed7b88e83d1e378128dc3c8fa6 +IV = 71921978ba0769fda8f29a4624cf9a18 +PLAINTEXT = e2e8102bd8dbcf9bf10db1c274455e87 +CIPHERTEXT = d00a4bf1cf66be7855829c41aace4750 + +COUNT = 36 +KEY = b494be1cb4ee56454bb51d6976f2c8f6 +IV = d00a4bf1cf66be7855829c41aace4750 +PLAINTEXT = 83c1e0e6212e17ee9eec810c70359bcc +CIPHERTEXT = 464eb0a37fd974a4dea43cf8aa7220f0 + +COUNT = 37 +KEY = f2da0ebfcb3722e195112191dc80e806 +IV = 464eb0a37fd974a4dea43cf8aa7220f0 +PLAINTEXT = f309b8680796b43b3db3e945dc0aae04 +CIPHERTEXT = 065a9fdde7b5689d1433f3cbf0bd2016 + +COUNT = 38 +KEY = f48091622c824a7c8122d25a2c3dc810 +IV = 065a9fdde7b5689d1433f3cbf0bd2016 +PLAINTEXT = 0cfd9fb962cbcf67f80e53ee5f01b110 +CIPHERTEXT = c3a490c71a533225a88a62d87894f707 + +COUNT = 39 +KEY = 372401a536d1785929a8b08254a93f17 +IV = c3a490c71a533225a88a62d87894f707 +PLAINTEXT = a8dd76037c019f7a2f50781ba488d34c +CIPHERTEXT = 556a820d0228dd440c4959e09844e453 + +COUNT = 40 +KEY = 624e83a834f9a51d25e1e962cceddb44 +IV = 556a820d0228dd440c4959e09844e453 +PLAINTEXT = 6134917c0e30e458dae944d617d49420 +CIPHERTEXT = 8a9a5ccae14cd5af55ea03fede027244 + +COUNT = 41 +KEY = e8d4df62d5b570b2700bea9c12efa900 +IV = 8a9a5ccae14cd5af55ea03fede027244 +PLAINTEXT = ee63b03cabfff7118648174e619dbed8 +CIPHERTEXT = 147f0230ad611c78d42bf63fec617edb + +COUNT = 42 +KEY = fcabdd5278d46ccaa4201ca3fe8ed7db +IV = 147f0230ad611c78d42bf63fec617edb +PLAINTEXT = cc453aa6ac7a94e0d81a0d57c51b34fb +CIPHERTEXT = 62b623b93267f5de57fb18f81d6c1728 + +COUNT = 43 +KEY = 9e1dfeeb4ab39914f3db045be3e2c0f3 +IV = 62b623b93267f5de57fb18f81d6c1728 +PLAINTEXT = 32050fa7cb1157a794df25d8254e408f +CIPHERTEXT = d2dac86b93b43c6cffb392aefe97beac + +COUNT = 44 +KEY = 4cc73680d907a5780c6896f51d757e5f +IV = d2dac86b93b43c6cffb392aefe97beac +PLAINTEXT = b47598ab95a72295d4e6376a0f1f459f +CIPHERTEXT = cbf4ad8a05d046f93edb7c752e2e10d6 + +COUNT = 45 +KEY = 87339b0adcd7e38132b3ea80335b6e89 +IV = cbf4ad8a05d046f93edb7c752e2e10d6 +PLAINTEXT = 959b3ace8530da08a628ad97d6a86bd6 +CIPHERTEXT = 340987401e2147d7f1b61d6299b41c52 + +COUNT = 46 +KEY = b33a1c4ac2f6a456c305f7e2aaef72db +IV = 340987401e2147d7f1b61d6299b41c52 +PLAINTEXT = 2d61325c505cff977f0a4c77aa49df19 +CIPHERTEXT = 37989d80e364acca976e4afec3f41f04 + +COUNT = 47 +KEY = 84a281ca2192089c546bbd1c691b6ddf +IV = 37989d80e364acca976e4afec3f41f04 +PLAINTEXT = c462132cae6f4d74b655722a9f82c248 +CIPHERTEXT = 49b027e08580cf3ab9224c99333e1439 + +COUNT = 48 +KEY = cd12a62aa412c7a6ed49f1855a2579e6 +IV = 49b027e08580cf3ab9224c99333e1439 +PLAINTEXT = 34522d5cd2d9e2272a0ff1052c0301b3 +CIPHERTEXT = f601392dfb9b71c411928669d1d2eddd + +COUNT = 49 +KEY = 3b139f075f89b662fcdb77ec8bf7943b +IV = f601392dfb9b71c411928669d1d2eddd +PLAINTEXT = 08ee6955e268325f50764529476ad412 +CIPHERTEXT = a619d84c3388f0fd9a579451265f1ee2 + +COUNT = 50 +KEY = 9d0a474b6c01469f668ce3bdada88ad9 +IV = a619d84c3388f0fd9a579451265f1ee2 +PLAINTEXT = 90a5f925c2c62fd8533f57f6457cb8c6 +CIPHERTEXT = c17de414653eafb0645da14fa80ce1b5 + +COUNT = 51 +KEY = 5c77a35f093fe92f02d142f205a46b6c +IV = c17de414653eafb0645da14fa80ce1b5 +PLAINTEXT = 60852e0bd10b4e922d0a073412a7cea1 +CIPHERTEXT = 6230595cb09a14af4ef3d567e4726992 + +COUNT = 52 +KEY = 3e47fa03b9a5fd804c229795e1d602fe +IV = 6230595cb09a14af4ef3d567e4726992 +PLAINTEXT = a9dff2031c2b08b3f2ee70a083522305 +CIPHERTEXT = fc5a36618f1009ab667e5a01c81a5d4b + +COUNT = 53 +KEY = c21dcc6236b5f42b2a5ccd9429cc5fb5 +IV = fc5a36618f1009ab667e5a01c81a5d4b +PLAINTEXT = 9fa989a91133a05fb4f78d5450a80fab +CIPHERTEXT = e8a1624733160ea059334b709370a86d + +COUNT = 54 +KEY = 2abcae2505a3fa8b736f86e4babcf7d8 +IV = e8a1624733160ea059334b709370a86d +PLAINTEXT = dd9a5c66c4446788435e693ce5d42180 +CIPHERTEXT = fef09e2763ce68e145ae26ee307419a8 + +COUNT = 55 +KEY = d44c3002666d926a36c1a00a8ac8ee70 +IV = fef09e2763ce68e145ae26ee307419a8 +PLAINTEXT = 29ef17034d6ac783fba57071e9d262c6 +CIPHERTEXT = 665c5f5101d73e07bf61e23c2a391b62 + +COUNT = 56 +KEY = b2106f5367baac6d89a04236a0f1f512 +IV = 665c5f5101d73e07bf61e23c2a391b62 +PLAINTEXT = 8c93ca46dc749b0ed18623aaceb675be +CIPHERTEXT = ad8401b87edac893589fd58acd45ae33 + +COUNT = 57 +KEY = 1f946eeb196064fed13f97bc6db45b21 +IV = ad8401b87edac893589fd58acd45ae33 +PLAINTEXT = 0ecafe301b1f08221e83c7dc069ff093 +CIPHERTEXT = aa3274fa92bb0ee0c192a60ec3206c95 + +COUNT = 58 +KEY = b5a61a118bdb6a1e10ad31b2ae9437b4 +IV = aa3274fa92bb0ee0c192a60ec3206c95 +PLAINTEXT = 8b74213bc95479df15066446febda2eb +CIPHERTEXT = 996354a615ddff2b05f0efd77c70f1e4 + +COUNT = 59 +KEY = 2cc54eb79e069535155dde65d2e4c650 +IV = 996354a615ddff2b05f0efd77c70f1e4 +PLAINTEXT = d27017e6b01854d2d657dcf8179989af +CIPHERTEXT = fa0d62aa3b5b0900cb24a2c52a429572 + +COUNT = 60 +KEY = d6c82c1da55d9c35de797ca0f8a65322 +IV = fa0d62aa3b5b0900cb24a2c52a429572 +PLAINTEXT = 093134212afaa9453364d286e26abbcf +CIPHERTEXT = c59220294f1b611a037d667f6d692cac + +COUNT = 61 +KEY = 135a0c34ea46fd2fdd041adf95cf7f8e +IV = c59220294f1b611a037d667f6d692cac +PLAINTEXT = 07ddf6e7802ac0c884f1e1d224f63d68 +CIPHERTEXT = 97a09eb0da7d39a8f415d5a12bed357c + +COUNT = 62 +KEY = 84fa9284303bc4872911cf7ebe224af2 +IV = 97a09eb0da7d39a8f415d5a12bed357c +PLAINTEXT = c2b83815272bc3137501a9726af7ec25 +CIPHERTEXT = 1073a0050d5a1e2ed71207475b552c29 + +COUNT = 63 +KEY = 948932813d61daa9fe03c839e57766db +IV = 1073a0050d5a1e2ed71207475b552c29 +PLAINTEXT = d4d533552264aaccb26a31f85b803340 +CIPHERTEXT = bff0580919854e0c72268e2d2efdd509 + +COUNT = 64 +KEY = 2b796a8824e494a58c254614cb8ab3d2 +IV = bff0580919854e0c72268e2d2efdd509 +PLAINTEXT = ca7eeecea16ef14f5f0bfe579c51a4c0 +CIPHERTEXT = 54d07ecc658f8b3a4acc0864a919f78d + +COUNT = 65 +KEY = 7fa91444416b1f9fc6e94e706293445f +IV = 54d07ecc658f8b3a4acc0864a919f78d +PLAINTEXT = 82a473e716b32266e8a95d439e281e47 +CIPHERTEXT = 0225d4543be3ac3acb459091a6acdea9 + +COUNT = 66 +KEY = 7d8cc0107a88b3a50dacdee1c43f9af6 +IV = 0225d4543be3ac3acb459091a6acdea9 +PLAINTEXT = b9bac1bed961e888ba38f129f07e99d3 +CIPHERTEXT = 5cfe48158c7f4c2eb7c2e4133b2ddc7a + +COUNT = 67 +KEY = 21728805f6f7ff8bba6e3af2ff12468c +IV = 5cfe48158c7f4c2eb7c2e4133b2ddc7a +PLAINTEXT = 92cd53e65b7e0d1e332aa8331183a83e +CIPHERTEXT = ddc555c547f6cca61051f3285366d6ce + +COUNT = 68 +KEY = fcb7ddc0b101332daa3fc9daac749042 +IV = ddc555c547f6cca61051f3285366d6ce +PLAINTEXT = 67fc1d4f78577c7a07e7d05750cbc774 +CIPHERTEXT = 273bfd537b64f48df8eef8a73e9dc210 + +COUNT = 69 +KEY = db8c2093ca65c7a052d1317d92e95252 +IV = 273bfd537b64f48df8eef8a73e9dc210 +PLAINTEXT = 02ddf60f5757688e2de869357bbdc19b +CIPHERTEXT = 627d88e5d6a257e76bbe241505c92998 + +COUNT = 70 +KEY = b9f1a8761cc79047396f156897207bca +IV = 627d88e5d6a257e76bbe241505c92998 +PLAINTEXT = a46c40b12eccb27a656b55e04d5680f8 +CIPHERTEXT = 04c5e3d69477113452593092cc9ac1e9 + +COUNT = 71 +KEY = bd344ba088b081736b3625fa5bbaba23 +IV = 04c5e3d69477113452593092cc9ac1e9 +PLAINTEXT = c2c33a18df822b4f384c9a44351e1722 +CIPHERTEXT = 12946c83c573152173c6a22808583d04 + +COUNT = 72 +KEY = afa027234dc3945218f087d253e28727 +IV = 12946c83c573152173c6a22808583d04 +PLAINTEXT = e997af2652c10cc83b92f30546902c59 +CIPHERTEXT = da3bef0a0bcfcae7a16c763bb0984412 + +COUNT = 73 +KEY = 759bc829460c5eb5b99cf1e9e37ac335 +IV = da3bef0a0bcfcae7a16c763bb0984412 +PLAINTEXT = 0e74b7e660633feb0e52d3c3327a0996 +CIPHERTEXT = 9772c8cadfd1febc19e7d39377876ccf + +COUNT = 74 +KEY = e2e900e399dda009a07b227a94fdaffa +IV = 9772c8cadfd1febc19e7d39377876ccf +PLAINTEXT = 9f431336832cbfe051c4e871a6549896 +CIPHERTEXT = 343c3a7a046059fc0bc22be6fe3b9448 + +COUNT = 75 +KEY = d6d53a999dbdf9f5abb9099c6ac63bb2 +IV = 343c3a7a046059fc0bc22be6fe3b9448 +PLAINTEXT = c99ba699fc2ba8481dd75b7dd5d37f43 +CIPHERTEXT = 69847c973d5484d5ca51e5f6bcb81168 + +COUNT = 76 +KEY = bf51460ea0e97d2061e8ec6ad67e2ada +IV = 69847c973d5484d5ca51e5f6bcb81168 +PLAINTEXT = efe4b08775913e670251fed9b079ef01 +CIPHERTEXT = 974b1a7b951a5def75a9eaaa2cca08f2 + +COUNT = 77 +KEY = 281a5c7535f320cf144106c0fab42228 +IV = 974b1a7b951a5def75a9eaaa2cca08f2 +PLAINTEXT = e94345297334d2c5997dbaf79a7a52e4 +CIPHERTEXT = 6d69f9de789d76d8cf82c3686a6c94b3 + +COUNT = 78 +KEY = 4573a5ab4d6e5617dbc3c5a890d8b69b +IV = 6d69f9de789d76d8cf82c3686a6c94b3 +PLAINTEXT = e9c59a82f98225cbf7663656e919a7d5 +CIPHERTEXT = 88bc303fe19ee4cf5b94aaf8d0087638 + +COUNT = 79 +KEY = cdcf9594acf0b2d880576f5040d0c0a3 +IV = 88bc303fe19ee4cf5b94aaf8d0087638 +PLAINTEXT = 40a46d8807a829fc509c1e1a672caeb4 +CIPHERTEXT = 02fc3cdea1091c1bd8bb4332ce2a6645 + +COUNT = 80 +KEY = cf33a94a0df9aec358ec2c628efaa6e6 +IV = 02fc3cdea1091c1bd8bb4332ce2a6645 +PLAINTEXT = 43d0a39e8d888f5ac44350747550b8d3 +CIPHERTEXT = 0f9cddbf3214cbe0a0d59f1637e07b6b + +COUNT = 81 +KEY = c0af74f53fed6523f839b374b91add8d +IV = 0f9cddbf3214cbe0a0d59f1637e07b6b +PLAINTEXT = d64e7709f3d17d144c4595446dbffac6 +CIPHERTEXT = 078aa2e8543853646d10d6df862cee13 + +COUNT = 82 +KEY = c725d61d6bd53647952965ab3f36339e +IV = 078aa2e8543853646d10d6df862cee13 +PLAINTEXT = 8e129eda7c92042c78931023658c7cb0 +CIPHERTEXT = 56d99b33b0c442ad31410e973eaa1715 + +COUNT = 83 +KEY = 91fc4d2edb1174eaa4686b3c019c248b +IV = 56d99b33b0c442ad31410e973eaa1715 +PLAINTEXT = 26f23c8b1ceb653900fee3613039b722 +CIPHERTEXT = 19930f14c5abdd49784b1d9aa12fe957 + +COUNT = 84 +KEY = 886f423a1ebaa9a3dc2376a6a0b3cddc +IV = 19930f14c5abdd49784b1d9aa12fe957 +PLAINTEXT = 6cc30f30394ca8adc299194608a6643b +CIPHERTEXT = 0c9f805e65904ae61ea9f9a364a98be2 + +COUNT = 85 +KEY = 84f0c2647b2ae345c28a8f05c41a463e +IV = 0c9f805e65904ae61ea9f9a364a98be2 +PLAINTEXT = 663b4ffee03f41e6884dba904787f5aa +CIPHERTEXT = 169d34e8fe1b36d5cd78182000fff62d + +COUNT = 86 +KEY = 926df68c8531d5900ff29725c4e5b013 +IV = 169d34e8fe1b36d5cd78182000fff62d +PLAINTEXT = f2dd8cc70a249bf1cb2c80c783fbcd52 +CIPHERTEXT = 4ff4ce4977657a947ed3efce9d9c7add + +COUNT = 87 +KEY = dd9938c5f254af04712178eb5979cace +IV = 4ff4ce4977657a947ed3efce9d9c7add +PLAINTEXT = c0e76fca103f37d126241e73d2d1d2ff +CIPHERTEXT = deda445a0827865b712f239b25e1e149 + +COUNT = 88 +KEY = 03437c9ffa73295f000e5b707c982b87 +IV = deda445a0827865b712f239b25e1e149 +PLAINTEXT = 726977b83cf7bdfd83bcb82a27b951fd +CIPHERTEXT = a8260fdcdfbd60c927437bf2dd2d5974 + +COUNT = 89 +KEY = ab65734325ce4996274d2082a1b572f3 +IV = a8260fdcdfbd60c927437bf2dd2d5974 +PLAINTEXT = 9e95dc79f310d87349d32c147781aae1 +CIPHERTEXT = ccd1446610d9640d8aa7562c5faacf9c + +COUNT = 90 +KEY = 67b4372535172d9badea76aefe1fbd6f +IV = ccd1446610d9640d8aa7562c5faacf9c +PLAINTEXT = 261db0ab7fc2c00b402ac1033f020e29 +CIPHERTEXT = 93df04972389c68a97e5c5528f126448 + +COUNT = 91 +KEY = f46b33b2169eeb113a0fb3fc710dd927 +IV = 93df04972389c68a97e5c5528f126448 +PLAINTEXT = 0f1612b833ba20a1d5aecdb99bc29750 +CIPHERTEXT = 7a3ed9989a5b29de606addcc4348013a + +COUNT = 92 +KEY = 8e55ea2a8cc5c2cf5a656e303245d81d +IV = 7a3ed9989a5b29de606addcc4348013a +PLAINTEXT = a7321b7152588aab0c566bf4d3493803 +CIPHERTEXT = a0d76314014605dd6baecc87a8e41a00 + +COUNT = 93 +KEY = 2e82893e8d83c71231cba2b79aa1c21d +IV = a0d76314014605dd6baecc87a8e41a00 +PLAINTEXT = d4b45aeaa704b7f59601de8418ebc30f +CIPHERTEXT = 0f28d1685146303feb2f2b9c00986693 + +COUNT = 94 +KEY = 21aa5856dcc5f72ddae4892b9a39a48e +IV = 0f28d1685146303feb2f2b9c00986693 +PLAINTEXT = 6b02f3721c2302464a65b7f87736b0c2 +CIPHERTEXT = cc60d31209c58c6fa2defaf1aedf7908 + +COUNT = 95 +KEY = edca8b44d5007b42783a73da34e6dd86 +IV = cc60d31209c58c6fa2defaf1aedf7908 +PLAINTEXT = e91749437ba1a7fb3ed32a5f544353c1 +CIPHERTEXT = 760f84233f910cc5f6f29e24a9b248b5 + +COUNT = 96 +KEY = 9bc50f67ea9177878ec8edfe9d549533 +IV = 760f84233f910cc5f6f29e24a9b248b5 +PLAINTEXT = 0a5b837f78e7e8d5c660096397d13012 +CIPHERTEXT = 583c318f8101b8eeeccde0dd99d4c1b3 + +COUNT = 97 +KEY = c3f93ee86b90cf6962050d2304805480 +IV = 583c318f8101b8eeeccde0dd99d4c1b3 +PLAINTEXT = 4a593e649696f2ed557334d97f3b5829 +CIPHERTEXT = b21105e812064c9285890de36337ae89 + +COUNT = 98 +KEY = 71e83b00799683fbe78c00c067b7fa09 +IV = b21105e812064c9285890de36337ae89 +PLAINTEXT = 089070424f997ba26bc8b9720a21a946 +CIPHERTEXT = 3a8b595dd6e06a263faa42383748023c + +COUNT = 99 +KEY = 4b63625daf76e9ddd82642f850fff835 +IV = 3a8b595dd6e06a263faa42383748023c +PLAINTEXT = 46f3027d20a6a97b933386615afdfa24 +CIPHERTEXT = 333212aad7543432449eb834703bd8fe + + +[DECRYPT] + +COUNT = 0 +KEY = 57c4964283ddaa25c2b2ba8b0aad92e3 +IV = de5916c8a620a4b462ab01d9771fd613 +CIPHERTEXT = 33d89bb0043e1f432e5c37e2d60e61e6 +PLAINTEXT = 59cdd6cdff128f0a8edca9c8b67abb3a + +COUNT = 1 +KEY = 0e09408f7ccf252f4c6e1343bcd729d9 +IV = 59cdd6cdff128f0a8edca9c8b67abb3a +CIPHERTEXT = 84141ec785bfe435b616e3d356668600 +PLAINTEXT = 8232d73dbe4649343ce6c9250acf0401 + +COUNT = 2 +KEY = 8c3b97b2c2896c1b7088da66b6182dd8 +IV = 8232d73dbe4649343ce6c9250acf0401 +CIPHERTEXT = d9936c3597ca6a2a9a0379362ca53456 +PLAINTEXT = a1b5ae54f68fd55c74f61c8a3d454970 + +COUNT = 3 +KEY = 2d8e39e63406b947047ec6ec8b5d64a8 +IV = a1b5ae54f68fd55c74f61c8a3d454970 +CIPHERTEXT = a8b25e4607695f7d89dbfbf3364c04ce +PLAINTEXT = 69a87f2390cc116f27551544ecea2800 + +COUNT = 4 +KEY = 442646c5a4caa828232bd3a867b74ca8 +IV = 69a87f2390cc116f27551544ecea2800 +CIPHERTEXT = 6834ae8e76a4601d285de27eb59477ae +PLAINTEXT = c9e5cd186baa028e2c887af83eb01f0b + +COUNT = 5 +KEY = 8dc38bddcf60aaa60fa3a950590753a3 +IV = c9e5cd186baa028e2c887af83eb01f0b +CIPHERTEXT = 94b61eef2ea3bff8e0464faa9de0682f +PLAINTEXT = 080eff91478fb726d5353427c3492a73 + +COUNT = 6 +KEY = 85cd744c88ef1d80da969d779a4e79d0 +IV = 080eff91478fb726d5353427c3492a73 +CIPHERTEXT = 1271c5e4dde8ac5a034f363a542a39f9 +PLAINTEXT = d53b6906dbd1fdd121fc0894cc5010a2 + +COUNT = 7 +KEY = 50f61d4a533ee051fb6a95e3561e6972 +IV = d53b6906dbd1fdd121fc0894cc5010a2 +CIPHERTEXT = 88619c79cdfdb69d92f47f49046cf349 +PLAINTEXT = 899b151ab54e376722e3552434b64a86 + +COUNT = 8 +KEY = d96d0850e670d736d989c0c762a823f4 +IV = 899b151ab54e376722e3552434b64a86 +CIPHERTEXT = 08dfccb0b598e3a22981ecd7aac7bd38 +PLAINTEXT = eb5e316a0054475f1316365e3b00e984 + +COUNT = 9 +KEY = 3233393ae6249069ca9ff69959a8ca70 +IV = eb5e316a0054475f1316365e3b00e984 +CIPHERTEXT = 66cb29cff59f16df9ce44604d2ace614 +PLAINTEXT = 1c9bbed458c0cd1ca790b4cb349bd385 + +COUNT = 10 +KEY = 2ea887eebee45d756d0f42526d3319f5 +IV = 1c9bbed458c0cd1ca790b4cb349bd385 +CIPHERTEXT = d03b45960b1163612547863e48f2498a +PLAINTEXT = e76a34d0edc88d36d2d09d6ea3a14afa + +COUNT = 11 +KEY = c9c2b33e532cd043bfdfdf3cce92530f +IV = e76a34d0edc88d36d2d09d6ea3a14afa +CIPHERTEXT = e69cda0f10032ba36f86674361f44147 +PLAINTEXT = 7bed3353ef7edc5aec22d137d91b9a77 + +COUNT = 12 +KEY = b22f806dbc520c1953fd0e0b1789c978 +IV = 7bed3353ef7edc5aec22d137d91b9a77 +CIPHERTEXT = 42e24a3116f2ec08782cfc949ceabd47 +PLAINTEXT = 04f26a57c94d46a3ed9cb6b5d6308350 + +COUNT = 13 +KEY = b6ddea3a751f4ababe61b8bec1b94a28 +IV = 04f26a57c94d46a3ed9cb6b5d6308350 +CIPHERTEXT = 0d5dbe561f2f5fb77c59969b2607dff5 +PLAINTEXT = c76e977309129255adc0272ca7a66ab9 + +COUNT = 14 +KEY = 71b37d497c0dd8ef13a19f92661f2091 +IV = c76e977309129255adc0272ca7a66ab9 +CIPHERTEXT = 1b3d2cc917283f86ee6f7f52705e87f4 +PLAINTEXT = 4153477f664dbf7e07f26532e65aa9b5 + +COUNT = 15 +KEY = 30e03a361a4067911453faa080458924 +IV = 4153477f664dbf7e07f26532e65aa9b5 +CIPHERTEXT = e7352c287f88c3b7603b41a0e0983249 +PLAINTEXT = ad662cec2672b931ca36c5faedd93e03 + +COUNT = 16 +KEY = 9d8616da3c32dea0de653f5a6d9cb727 +IV = ad662cec2672b931ca36c5faedd93e03 +CIPHERTEXT = 7c69446d274dfbd7e70d10d0ef1d0bb0 +PLAINTEXT = 9b377b379a4f207bd8928425a8827bf8 + +COUNT = 17 +KEY = 06b16deda67dfedb06f7bb7fc51eccdf +IV = 9b377b379a4f207bd8928425a8827bf8 +CIPHERTEXT = 8bf5009fc4ca0194fa67199d2c423493 +PLAINTEXT = fde84240667fa14bab431420d9f6b9a5 + +COUNT = 18 +KEY = fb592fadc0025f90adb4af5f1ce8757a +IV = fde84240667fa14bab431420d9f6b9a5 +CIPHERTEXT = 0eb870ba4808308b5f648c7bed8acdd5 +PLAINTEXT = e9aaa8f131447bba0096f77d46556aa3 + +COUNT = 19 +KEY = 12f3875cf146242aad2258225abd1fd9 +IV = e9aaa8f131447bba0096f77d46556aa3 +CIPHERTEXT = f6fde8234206c0547c1720e621d74b1c +PLAINTEXT = 237585590193fcf98a83e020a9d53423 + +COUNT = 20 +KEY = 31860205f0d5d8d327a1b802f3682bfa +IV = 237585590193fcf98a83e020a9d53423 +CIPHERTEXT = 881778f63853d59befb4cb50a7722c8b +PLAINTEXT = 39c45daf17009aedcd6f4aecb406760d + +COUNT = 21 +KEY = 08425faae7d5423eeacef2ee476e5df7 +IV = 39c45daf17009aedcd6f4aecb406760d +CIPHERTEXT = d67a3248cf19f3e10a011e3f4179bbea +PLAINTEXT = a2fc16a09da3defc76e242458ad79cdc + +COUNT = 22 +KEY = aabe490a7a769cc29c2cb0abcdb9c12b +IV = a2fc16a09da3defc76e242458ad79cdc +CIPHERTEXT = a987e6e57be242b6e9a6db86d0ada111 +PLAINTEXT = a98a47eeb173b042c85d478b0eed91ac + +COUNT = 23 +KEY = 03340ee4cb052c805471f720c3545087 +IV = a98a47eeb173b042c85d478b0eed91ac +CIPHERTEXT = bb469df9406e1ca8dd403ae11d8e912e +PLAINTEXT = c0b3d1e7d49ef61662c2f56590bb02f4 + +COUNT = 24 +KEY = c387df031f9bda9636b3024553ef5273 +IV = c0b3d1e7d49ef61662c2f56590bb02f4 +CIPHERTEXT = ec1055d4195cf2e9aacda648ea962cc4 +PLAINTEXT = 2b5bc30ddc3e9ad93c4fb66a992b9a13 + +COUNT = 25 +KEY = e8dc1c0ec3a5404f0afcb42fcac4c860 +IV = 2b5bc30ddc3e9ad93c4fb66a992b9a13 +CIPHERTEXT = a6e19fdd979619f86b341c1ef8ac5c0c +PLAINTEXT = 930a03a28025457394aa9c0cd3f46e20 + +COUNT = 26 +KEY = 7bd61fac4380053c9e5628231930a640 +IV = 930a03a28025457394aa9c0cd3f46e20 +CIPHERTEXT = 43b849e55debf79fb441018aa4419a58 +PLAINTEXT = aa3e98e0c7cdb041c793c747e236d84b + +COUNT = 27 +KEY = d1e8874c844db57d59c5ef64fb067e0b +IV = aa3e98e0c7cdb041c793c747e236d84b +CIPHERTEXT = a5bf76184d4ae0509ab7d406691ccdd7 +PLAINTEXT = 7b013b8bf8ba02d808dc2088f27b08a9 + +COUNT = 28 +KEY = aae9bcc77cf7b7a55119cfec097d76a2 +IV = 7b013b8bf8ba02d808dc2088f27b08a9 +CIPHERTEXT = 2d0fa5157bfd13868bda2071fcde1f09 +PLAINTEXT = ff19c7f17de26c4804472e94c8a70589 + +COUNT = 29 +KEY = 55f07b360115dbed555ee178c1da732b +IV = ff19c7f17de26c4804472e94c8a70589 +CIPHERTEXT = 6cceed8a80ad55e80d460b6be239ab79 +PLAINTEXT = bac8f073bb3057442da30c2133a38bb3 + +COUNT = 30 +KEY = ef388b45ba258ca978fded59f279f898 +IV = bac8f073bb3057442da30c2133a38bb3 +CIPHERTEXT = 46698e4f8f82f498d22e123c5fe157d7 +PLAINTEXT = 69e0153d4f599eea75bbc72ecec6bec2 + +COUNT = 31 +KEY = 86d89e78f57c12430d462a773cbf465a +IV = 69e0153d4f599eea75bbc72ecec6bec2 +CIPHERTEXT = 433df54709c5cac669af0256cce077a9 +PLAINTEXT = 3d405eed44e5c7330c1d001fbbdfe2f8 + +COUNT = 32 +KEY = bb98c095b199d570015b2a688760a4a2 +IV = 3d405eed44e5c7330c1d001fbbdfe2f8 +CIPHERTEXT = 6bc6fa975e5ac5f3014fc6cf7c2f0db6 +PLAINTEXT = cd5518671564a987c185100b27b3c36c + +COUNT = 33 +KEY = 76cdd8f2a4fd7cf7c0de3a63a0d367ce +IV = cd5518671564a987c185100b27b3c36c +CIPHERTEXT = 423dc62bdc54c65b1c3fcd96aaa805eb +PLAINTEXT = 5500fa057397679d41455a905889b013 + +COUNT = 34 +KEY = 23cd22f7d76a1b6a819b60f3f85ad7dd +IV = 5500fa057397679d41455a905889b013 +CIPHERTEXT = 7628c799da9c82c06aadd40e64a349d8 +PLAINTEXT = 114ff4c8fbbf92d0c59203462ed5c66c + +COUNT = 35 +KEY = 3282d63f2cd589ba440963b5d68f11b1 +IV = 114ff4c8fbbf92d0c59203462ed5c66c +CIPHERTEXT = 2ac5985359dde8a699ee25c15765af87 +PLAINTEXT = 7cf6a7762b0cbe0a0f418e75888acc3f + +COUNT = 36 +KEY = 4e74714907d937b04b48edc05e05dd8e +IV = 7cf6a7762b0cbe0a0f418e75888acc3f +CIPHERTEXT = a46d8c24a7d761f97feafb096afd3e12 +PLAINTEXT = aded93e2fcdd1fe248b9782e55403e4c + +COUNT = 37 +KEY = e399e2abfb04285203f195ee0b45e3c2 +IV = aded93e2fcdd1fe248b9782e55403e4c +CIPHERTEXT = 16988a2bc9f3232825a264efcc8e9403 +PLAINTEXT = a9ad52b72c2e4b7976a06fdf9b84333d + +COUNT = 38 +KEY = 4a34b01cd72a632b7551fa3190c1d0ff +IV = a9ad52b72c2e4b7976a06fdf9b84333d +CIPHERTEXT = 10a08cafe784a27e40475d7bcf926b92 +PLAINTEXT = 31c6d61170c895803d6ea6a38b467931 + +COUNT = 39 +KEY = 7bf2660da7e2f6ab483f5c921b87a9ce +IV = 31c6d61170c895803d6ea6a38b467931 +CIPHERTEXT = 5c955eb7c38938ed6812e65947f1fcf6 +PLAINTEXT = 0d5cef5e5bd74bf8f669066d728b4f79 + +COUNT = 40 +KEY = 76ae8953fc35bd53be565aff690ce6b7 +IV = 0d5cef5e5bd74bf8f669066d728b4f79 +CIPHERTEXT = 0f2623b9f9d19c45da00d0ce6e98c533 +PLAINTEXT = 00441bbbdddde17a519afed9c0266065 + +COUNT = 41 +KEY = 76ea92e821e85c29efcca426a92a86d2 +IV = 00441bbbdddde17a519afed9c0266065 +CIPHERTEXT = d136b07e25b12af712fe4d48a8a089bd +PLAINTEXT = b212b79abc14d90ab46b3b609896b4d5 + +COUNT = 42 +KEY = c4f825729dfc85235ba79f4631bc3207 +IV = b212b79abc14d90ab46b3b609896b4d5 +CIPHERTEXT = 4295d8c1f94cb6ab1cd319ba2259278e +PLAINTEXT = 886eb148764b37d63b2b70f0e3213f7c + +COUNT = 43 +KEY = 4c96943aebb7b2f5608cefb6d29d0d7b +IV = 886eb148764b37d63b2b70f0e3213f7c +CIPHERTEXT = a20f5b094cf32b380f15eb688e9c33c5 +PLAINTEXT = bdacb04e5f72510bfc8695e9b38c3405 + +COUNT = 44 +KEY = f13a2474b4c5e3fe9c0a7a5f6111397e +IV = bdacb04e5f72510bfc8695e9b38c3405 +CIPHERTEXT = 60945763da8047d82aac58124af2b0e7 +PLAINTEXT = 12f239038d664cf42d88944b12f7d6cd + +COUNT = 45 +KEY = e3c81d7739a3af0ab182ee1473e6efb3 +IV = 12f239038d664cf42d88944b12f7d6cd +CIPHERTEXT = 027ce82a88e993fd7de31e6760894aed +PLAINTEXT = 0cdc74c1a69b648a5cf28fc930be6108 + +COUNT = 46 +KEY = ef1469b69f38cb80ed7061dd43588ebb +IV = 0cdc74c1a69b648a5cf28fc930be6108 +CIPHERTEXT = 89746b772b9cefcf007077c18e4041ff +PLAINTEXT = 8e4abd8e914217dd95ac11f4bcf054de + +COUNT = 47 +KEY = 615ed4380e7adc5d78dc7029ffa8da65 +IV = 8e4abd8e914217dd95ac11f4bcf054de +CIPHERTEXT = fccdcd8c2a85cbbfddbbd78de111cc0e +PLAINTEXT = 51fb634eb1ad1849aefa8d53a40a7e27 + +COUNT = 48 +KEY = 30a5b776bfd7c414d626fd7a5ba2a442 +IV = 51fb634eb1ad1849aefa8d53a40a7e27 +CIPHERTEXT = bae69cdcf48a5ea6cae273f27cccb73c +PLAINTEXT = c93e1874e692ab8c1f162fe1e8a31e07 + +COUNT = 49 +KEY = f99baf0259456f98c930d29bb301ba45 +IV = c93e1874e692ab8c1f162fe1e8a31e07 +CIPHERTEXT = f79c265e57aed1959a463217a32d4c6e +PLAINTEXT = dda92ca6eb90a7285bdb5fd2beac3cd8 + +COUNT = 50 +KEY = 243283a4b2d5c8b092eb8d490dad869d +IV = dda92ca6eb90a7285bdb5fd2beac3cd8 +CIPHERTEXT = 7067eb49069516f8590d1215951801fe +PLAINTEXT = fe0b7c60a296eb98d0b52229ee39752b + +COUNT = 51 +KEY = da39ffc410432328425eaf60e394f3b6 +IV = fe0b7c60a296eb98d0b52229ee39752b +CIPHERTEXT = 3e3fa9e5067fdf236c1275c50684ebba +PLAINTEXT = 06fb1c4ea7a26c2443f8881f12efb3df + +COUNT = 52 +KEY = dcc2e38ab7e14f0c01a6277ff17b4069 +IV = 06fb1c4ea7a26c2443f8881f12efb3df +CIPHERTEXT = 68a22c646b98d5c3e7c17368750e1a2a +PLAINTEXT = a10bf7aaa1958c71085a3b3a5b7f0db7 + +COUNT = 53 +KEY = 7dc914201674c37d09fc1c45aa044dde +IV = a10bf7aaa1958c71085a3b3a5b7f0db7 +CIPHERTEXT = d3471fd74ba963d305666c6d1fb8794a +PLAINTEXT = 446e3cdd1b5dc00c1bc9966cf4e875ea + +COUNT = 54 +KEY = 39a728fd0d29037112358a295eec3834 +IV = 446e3cdd1b5dc00c1bc9966cf4e875ea +CIPHERTEXT = c3cba502007c09951c46614a043f5655 +PLAINTEXT = c2d23e1507b1877b732e1402a17d9bb3 + +COUNT = 55 +KEY = fb7516e80a98840a611b9e2bff91a387 +IV = c2d23e1507b1877b732e1402a17d9bb3 +CIPHERTEXT = 3797cd1c2b5d99008c8b4369989e5f79 +PLAINTEXT = 6baf09984dfb742822ab83c075c6fcf2 + +COUNT = 56 +KEY = 90da1f704763f02243b01deb8a575f75 +IV = 6baf09984dfb742822ab83c075c6fcf2 +CIPHERTEXT = c5bcda80c00b689d53ebacf8b32ca42b +PLAINTEXT = 3810462c6ebd25faa27f3bcc1c13ebd4 + +COUNT = 57 +KEY = a8ca595c29ded5d8e1cf26279644b4a1 +IV = 3810462c6ebd25faa27f3bcc1c13ebd4 +CIPHERTEXT = 7121db04c10730389210e434af4d4c41 +PLAINTEXT = 32c61adced2b0efe3f9744bd1e7bbc64 + +COUNT = 58 +KEY = 9a0c4380c4f5db26de58629a883f08c5 +IV = 32c61adced2b0efe3f9744bd1e7bbc64 +CIPHERTEXT = 9dbe5726a49ed29fe97be0a300c18e74 +PLAINTEXT = 80d8ca3b6e7dc560d57c0c8a7dd46a63 + +COUNT = 59 +KEY = 1ad489bbaa881e460b246e10f5eb62a6 +IV = 80d8ca3b6e7dc560d57c0c8a7dd46a63 +CIPHERTEXT = bce94b547209d47c7b494ef48e6167b3 +PLAINTEXT = 73f22effcdafde402022e4bb97ff1cdf + +COUNT = 60 +KEY = 6926a7446727c0062b068aab62147e79 +IV = 73f22effcdafde402022e4bb97ff1cdf +CIPHERTEXT = 4ae436462f42c74a4a53953d0d7b8fb4 +PLAINTEXT = 5fd01379848ba8700279d007c6e5dc9b + +COUNT = 61 +KEY = 36f6b43de3ac6876297f5aaca4f1a2e2 +IV = 5fd01379848ba8700279d007c6e5dc9b +CIPHERTEXT = c97cd4a415b4b02761395e6700920e8b +PLAINTEXT = 142e2fca82dc45ff49f765d0220392d7 + +COUNT = 62 +KEY = 22d89bf761702d8960883f7c86f23035 +IV = 142e2fca82dc45ff49f765d0220392d7 +CIPHERTEXT = 4373f43cfd1abe94c04edfcb171a4ac5 +PLAINTEXT = 3554642d3a5b5dcb01fef5ebd74843d2 + +COUNT = 63 +KEY = 178cffda5b2b70426176ca9751ba73e7 +IV = 3554642d3a5b5dcb01fef5ebd74843d2 +CIPHERTEXT = 0989d5ab15f7ecede5139c92c2de311f +PLAINTEXT = 4e5bc301f3f0b438a5a67e97b8987ae7 + +COUNT = 64 +KEY = 59d73cdba8dbc47ac4d0b400e9220900 +IV = 4e5bc301f3f0b438a5a67e97b8987ae7 +CIPHERTEXT = 4bd4e9f2f58c7a7d29dc5a102212ce43 +PLAINTEXT = 926a78b92e46805b1225f4b403713789 + +COUNT = 65 +KEY = cbbd4462869d4421d6f540b4ea533e89 +IV = 926a78b92e46805b1225f4b403713789 +CIPHERTEXT = 49e30550cc6a9c4d4311cdf74b070aad +PLAINTEXT = e7330ebf7fe9bcb6ca7991a6fb10cf80 + +COUNT = 66 +KEY = 2c8e4addf974f8971c8cd1121143f109 +IV = e7330ebf7fe9bcb6ca7991a6fb10cf80 +CIPHERTEXT = c1e61573b26ba261d7c95a197906dcb3 +PLAINTEXT = a93e7f944c8a00a62af97b77c012443a + +COUNT = 67 +KEY = 85b03549b5fef8313675aa65d151b533 +IV = a93e7f944c8a00a62af97b77c012443a +CIPHERTEXT = 8318bde4c3f58cff067c5ecec5d6b9b1 +PLAINTEXT = 1337f3064bf4c3596f48e3cfded13426 + +COUNT = 68 +KEY = 9687c64ffe0a3b68593d49aa0f808115 +IV = 1337f3064bf4c3596f48e3cfded13426 +CIPHERTEXT = 02d7b11d989594dd70a45fbb0e1397c5 +PLAINTEXT = 3f8b469f4833938cfca7e0100cc70d05 + +COUNT = 69 +KEY = a90c80d0b639a8e4a59aa9ba03478c10 +IV = 3f8b469f4833938cfca7e0100cc70d05 +CIPHERTEXT = 3ea752585a8a3284d32583b0bf2875e9 +PLAINTEXT = f7858332fec4fe2a32897d863b83ed77 + +COUNT = 70 +KEY = 5e8903e248fd56ce9713d43c38c46167 +IV = f7858332fec4fe2a32897d863b83ed77 +CIPHERTEXT = b16558fbf9f420a06057c3c5ed4f1897 +PLAINTEXT = a386baf3de158609532f479fec058f1b + +COUNT = 71 +KEY = fd0fb91196e8d0c7c43c93a3d4c1ee7c +IV = a386baf3de158609532f479fec058f1b +CIPHERTEXT = 80676f9ec7a61c09e766df016e43f842 +PLAINTEXT = 817d965ddb659e9f0d476528883be9b4 + +COUNT = 72 +KEY = 7c722f4c4d8d4e58c97bf68b5cfa07c8 +IV = 817d965ddb659e9f0d476528883be9b4 +CIPHERTEXT = 0bc9764dc6935b5f115fb20dae2c590e +PLAINTEXT = 7f869842b6e7ccb10643165c93152d5a + +COUNT = 73 +KEY = 03f4b70efb6a82e9cf38e0d7cfef2a92 +IV = 7f869842b6e7ccb10643165c93152d5a +CIPHERTEXT = 1993991910aee21e9ff49228c6f8dbe7 +PLAINTEXT = ce9bef8484bea61a0c55e9c6483809c9 + +COUNT = 74 +KEY = cd6f588a7fd424f3c36d091187d7235b +IV = ce9bef8484bea61a0c55e9c6483809c9 +CIPHERTEXT = ca0fc94c709eaa796e784bbace814a7b +PLAINTEXT = 12e94712f59b9264f8dc083c87043c85 + +COUNT = 75 +KEY = df861f988a4fb6973bb1012d00d31fde +IV = 12e94712f59b9264f8dc083c87043c85 +CIPHERTEXT = 41a240d64c26cee504980f0a0800d314 +PLAINTEXT = 2320a7c50dc4649289aae8b47d1532b0 + +COUNT = 76 +KEY = fca6b85d878bd205b21be9997dc62d6e +IV = 2320a7c50dc4649289aae8b47d1532b0 +CIPHERTEXT = 358f912cbef2e01f68bc5b2eabc524dd +PLAINTEXT = bd4cee0de055fe92aad704bc77e0ad8c + +COUNT = 77 +KEY = 41ea565067de2c9718cced250a2680e2 +IV = bd4cee0de055fe92aad704bc77e0ad8c +CIPHERTEXT = 9f7f688cfb4440201c50b236b3537d57 +PLAINTEXT = e849624760cadcae7725f74f05f62477 + +COUNT = 78 +KEY = a9a334170714f0396fe91a6a0fd0a495 +IV = e849624760cadcae7725f74f05f62477 +CIPHERTEXT = 5dac9f88ef25bc66e22262066a402b14 +PLAINTEXT = cea374735241ecc52ba6c297ecac5e93 + +COUNT = 79 +KEY = 6700406455551cfc444fd8fde37cfa06 +IV = cea374735241ecc52ba6c297ecac5e93 +CIPHERTEXT = c2333e4db89945bd8147fb7c4e4ca081 +PLAINTEXT = e00cbb4f799ff4ce596a3c39d4c9a454 + +COUNT = 80 +KEY = 870cfb2b2ccae8321d25e4c437b55e52 +IV = e00cbb4f799ff4ce596a3c39d4c9a454 +CIPHERTEXT = d9aed56fd14230244f3291c03504cbdf +PLAINTEXT = 89e88c809afd9a51a258eed18541985f + +COUNT = 81 +KEY = 0ee477abb6377263bf7d0a15b2f4c60d +IV = 89e88c809afd9a51a258eed18541985f +CIPHERTEXT = 81744a7a480b08fdd9b1aa069039a628 +PLAINTEXT = 46d9ae7e7913afea3c277b84542bd474 + +COUNT = 82 +KEY = 483dd9d5cf24dd89835a7191e6df1279 +IV = 46d9ae7e7913afea3c277b84542bd474 +CIPHERTEXT = 0868f38375b42d9275d91187d519741c +PLAINTEXT = e2f1ff796ae92011ba3225bc2fe70567 + +COUNT = 83 +KEY = aacc26aca5cdfd983968542dc938171e +IV = e2f1ff796ae92011ba3225bc2fe70567 +CIPHERTEXT = 705c7f8c4e7d43a5175089bd7be9e209 +PLAINTEXT = 68cb5b34539be75c81eae663ec500b6f + +COUNT = 84 +KEY = c2077d98f6561ac4b882b24e25681c71 +IV = 68cb5b34539be75c81eae663ec500b6f +CIPHERTEXT = 44607a406bfa56dd146ce8503101cead +PLAINTEXT = 468f13808a8d58777dc30a39ae801a0f + +COUNT = 85 +KEY = 84886e187cdb42b3c541b8778be8067e +IV = 468f13808a8d58777dc30a39ae801a0f +CIPHERTEXT = 15742ea827ecc6fae36594c796eb0e77 +PLAINTEXT = a8004fa22deb60140184b6439a5011a6 + +COUNT = 86 +KEY = 2c8821ba513022a7c4c50e3411b817d8 +IV = a8004fa22deb60140184b6439a5011a6 +CIPHERTEXT = f87400d7266e7c6a0974f753c9bcc7d1 +PLAINTEXT = 13e2e0a92f76e40af7a7f528424866ac + +COUNT = 87 +KEY = 3f6ac1137e46c6ad3362fb1c53f07174 +IV = 13e2e0a92f76e40af7a7f528424866ac +CIPHERTEXT = a31585b568b415e1e879475635deb36e +PLAINTEXT = 5f0f0cd8921fc3dab03d01c29b1c8b57 + +COUNT = 88 +KEY = 6065cdcbec590577835ffadec8ecfa23 +IV = 5f0f0cd8921fc3dab03d01c29b1c8b57 +CIPHERTEXT = fdb661b6e97eb62e8860fa99b1f9b87f +PLAINTEXT = 47e69ea561f94d22264e8dd5c518d425 + +COUNT = 89 +KEY = 2783536e8da04855a511770b0df42e06 +IV = 47e69ea561f94d22264e8dd5c518d425 +CIPHERTEXT = 5274f1ef69a3c540d157fabaf96d1f36 +PLAINTEXT = a0496737f3e0e1052122296b5501266f + +COUNT = 90 +KEY = 87ca34597e40a95084335e6058f50869 +IV = a0496737f3e0e1052122296b5501266f +CIPHERTEXT = 3b50a0d579924325b93332a1e212a538 +PLAINTEXT = 7e92bc5372353eacc26f71593c9d0b25 + +COUNT = 91 +KEY = f958880a0c7597fc465c2f396468034c +IV = 7e92bc5372353eacc26f71593c9d0b25 +CIPHERTEXT = 3b6474ac7a3a06e0e428cd1f51ebb86b +PLAINTEXT = d71af05098fee56146aab74ba1c129da + +COUNT = 92 +KEY = 2e42785a948b729d00f69872c5a92a96 +IV = d71af05098fee56146aab74ba1c129da +CIPHERTEXT = fe0fc11a151c3d3d73daf99d1bfd7eca +PLAINTEXT = db60f685cf7c9b0defc94b7f2df6cd64 + +COUNT = 93 +KEY = f5228edf5bf7e990ef3fd30de85fe7f2 +IV = db60f685cf7c9b0defc94b7f2df6cd64 +CIPHERTEXT = 599d8e771126b88ed8faa579656f80b1 +PLAINTEXT = 2f924e4465a640b54bf274af7d272b44 + +COUNT = 94 +KEY = dab0c09b3e51a925a4cda7a29578ccb6 +IV = 2f924e4465a640b54bf274af7d272b44 +CIPHERTEXT = 79d95888f23b9899aca94102a6e5f23c +PLAINTEXT = 86c0966eb6af231763da10fed6e31283 + +COUNT = 95 +KEY = 5c7056f588fe8a32c717b75c439bde35 +IV = 86c0966eb6af231763da10fed6e31283 +CIPHERTEXT = 6cbfb62fe302ca6b2fb7c535302f987d +PLAINTEXT = 18c0ae7a3f7ae02fa6598cf5be174b49 + +COUNT = 96 +KEY = 44b0f88fb7846a1d614e3ba9fd8c957c +IV = 18c0ae7a3f7ae02fa6598cf5be174b49 +CIPHERTEXT = f602f578afd6ef74295eefa87cdd870d +PLAINTEXT = 022c4996aaa8dbfcfad2259a9d02d7e5 + +COUNT = 97 +KEY = 469cb1191d2cb1e19b9c1e33608e4299 +IV = 022c4996aaa8dbfcfad2259a9d02d7e5 +CIPHERTEXT = f2eb78acfb88bcfa9848eb79d27f3af5 +PLAINTEXT = 1699009f5bdc21b8b2e7089399fc73da + +COUNT = 98 +KEY = 5005b18646f09059297b16a0f9723143 +IV = 1699009f5bdc21b8b2e7089399fc73da +CIPHERTEXT = cb0cd05f482755ca08096c54075ed869 +PLAINTEXT = 9ec39cd2defdf64da6130a0c158b4c6e + +COUNT = 99 +KEY = cec62d54980d66148f681cacecf97d2d +IV = 9ec39cd2defdf64da6130a0c158b4c6e +CIPHERTEXT = 7853bea2929cd8ea7c897ba09137bc86 +PLAINTEXT = 9d9bddd800e2ac630771a9fc0d0a158e + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT192.rsp new file mode 100644 index 000000000..5d0ed354e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT192.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:55 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 178490e1450339b39fbfe93e780fa73344e5b3aa50aed221 +IV = f36c375fbcd9d41a16698b03715ce889 +PLAINTEXT = d6666b2bad548b51eebd0ed0a0595cba +CIPHERTEXT = 3bfa4b5759346aaae16ff6f8d2500027 + +COUNT = 1 +KEY = acf86f099feba8d7a445a269213bcd99a58a455282fed206 +IV = 3bfa4b5759346aaae16ff6f8d2500027 +PLAINTEXT = 44c07d1caa4503c2bb7cffe8dae89164 +CIPHERTEXT = fb82486006e67b4f3bb0fe200c6575dd + +COUNT = 2 +KEY = bc275a67527988a75fc7ea0927ddb6d69e3abb728e9ba7db +IV = fb82486006e67b4f3bb0fe200c6575dd +PLAINTEXT = 51586368cbdc361b10df356ecd922070 +CIPHERTEXT = 0a886681e9f9bc029b59dcdba640e24d + +COUNT = 3 +KEY = b9b1717c3bf60668554f8c88ce240ad4056367a928db4596 +IV = 0a886681e9f9bc029b59dcdba640e24d +PLAINTEXT = 4a73185214dbc57805962b1b698f8ecf +CIPHERTEXT = 692feea9d35c381c32c4e61d0edaa506 + +COUNT = 4 +KEY = a59c56c92335c6ff3c6062211d7832c837a781b42601e090 +IV = 692feea9d35c381c32c4e61d0edaa506 +PLAINTEXT = 55502c7aaa326ae11c2d27b518c3c097 +CIPHERTEXT = b41edbc2819eee9dacf29599bdaa4096 + +COUNT = 5 +KEY = 2efeaefba76502df887eb9e39ce6dc559b55142d9baba006 +IV = b41edbc2819eee9dacf29599bdaa4096 +PLAINTEXT = a3419646620cb7928b62f8328450c420 +CIPHERTEXT = 010c101f935ea8c3ca00eacdec218fed + +COUNT = 6 +KEY = c78c34f72ef954bd8972a9fc0fb874965155fee0778a2feb +IV = 010c101f935ea8c3ca00eacdec218fed +PLAINTEXT = cd8b8c89f0ba94d4e9729a0c899c5662 +CIPHERTEXT = 4ab269246fea25890839902af6271250 + +COUNT = 7 +KEY = 25e50557e41a59f9c3c0c0d86052511f596c6eca81ad3dbb +IV = 4ab269246fea25890839902af6271250 +PLAINTEXT = 899cd9850db62afbe26931a0cae30d44 +CIPHERTEXT = 880af95f203e7b32c96c543d579c6a0b + +COUNT = 8 +KEY = bafb27b6b996357a4bca3987406c2a2d90003af7d63157b0 +IV = 880af95f203e7b32c96c543d579c6a0b +PLAINTEXT = 57a89d114a85efd39f1e22e15d8c6c83 +CIPHERTEXT = cdcd1ded9d9fc6d4211474b08889c402 + +COUNT = 9 +KEY = b2c3b729c1d6fe618607246addf3ecf9b1144e475eb893b2 +IV = cdcd1ded9d9fc6d4211474b08889c402 +PLAINTEXT = e2108afd763f70940838909f7840cb1b +CIPHERTEXT = 4b844ecef4e3db3a45bbbd80b5b6175e + +COUNT = 10 +KEY = 9afbcaa2df2f0c56cd836aa4291037c3f4aff3c7eb0e84ec +IV = 4b844ecef4e3db3a45bbbd80b5b6175e +PLAINTEXT = 105ff13c9f7046bc28387d8b1ef9f237 +CIPHERTEXT = 9d42d93d359f6163f3f518de2b5b5799 + +COUNT = 11 +KEY = bfb0a5e2ffcfabbd50c1b3991c8f56a0075aeb19c055d375 +IV = 9d42d93d359f6163f3f518de2b5b5799 +PLAINTEXT = 062bf70a0fefa954254b6f4020e0a7eb +CIPHERTEXT = dc880e4aed3cc4c03a5b77be6e4fb473 + +COUNT = 12 +KEY = 5ef17809758688108c49bdd3f1b392603d019ca7ae1a6706 +IV = dc880e4aed3cc4c03a5b77be6e4fb473 +PLAINTEXT = 96e5b311d0522fbde141ddeb8a4923ad +CIPHERTEXT = c01a8917eb36245c676cc8e76cf34970 + +COUNT = 13 +KEY = 4160789718f6b8294c5334c41a85b63c5a6d5440c2e92e76 +IV = c01a8917eb36245c676cc8e76cf34970 +PLAINTEXT = 148b4c746bc489451f91009e6d703039 +CIPHERTEXT = f577d9890521ae43b8430dbab41e1c2d + +COUNT = 14 +KEY = c95ff2ee284bfdcbb924ed4d1fa4187fe22e59fa76f7325b +IV = f577d9890521ae43b8430dbab41e1c2d +PLAINTEXT = 635bbe5ccd149d6b883f8a7930bd45e2 +CIPHERTEXT = 188e6f9e77d3d7e0722cce7c3b7db273 + +COUNT = 15 +KEY = a1986c37b0956b71a1aa82d36877cf9f900297864d8a8028 +IV = 188e6f9e77d3d7e0722cce7c3b7db273 +PLAINTEXT = 8b5b3dddeda127ee68c79ed998de96ba +CIPHERTEXT = 1df4e3019418980e3d3b124b1f26e8e6 + +COUNT = 16 +KEY = 20182609c28e5acbbc5e61d2fc6f5791ad3985cd52ac68ce +IV = 1df4e3019418980e3d3b124b1f26e8e6 +PLAINTEXT = feb067900e09a31681804a3e721b31ba +CIPHERTEXT = fd9aa605cc9bb8db27a9ad017b1b91b1 + +COUNT = 17 +KEY = 58981b01bed9654241c4c7d730f4ef4a8a9028cc29b7f97f +IV = fd9aa605cc9bb8db27a9ad017b1b91b1 +PLAINTEXT = 3001232d848470b878803d087c573f89 +CIPHERTEXT = 1b1c60da489087886d4462a63c378120 + +COUNT = 18 +KEY = de5d8ca6faec336b5ad8a70d786468c2e7d44a6a1580785f +IV = 1b1c60da489087886d4462a63c378120 +PLAINTEXT = 3b495f5a8814c7a386c597a744355629 +CIPHERTEXT = 195d5d9c91f8688b9fa3944840cc1f88 + +COUNT = 19 +KEY = 2ed3cd4a30a731c74385fa91e99c00497877de22554c67d7 +IV = 195d5d9c91f8688b9fa3944840cc1f88 +PLAINTEXT = 4bfc63415994ab20f08e41ecca4b02ac +CIPHERTEXT = 01d6a41b4aea6562ef71e717c2a294ef + +COUNT = 20 +KEY = 878ca742286625c442535e8aa376652b9706393597eef338 +IV = 01d6a41b4aea6562ef71e717c2a294ef +PLAINTEXT = 0f0cfaa45c9e2d56a95f6a0818c11403 +CIPHERTEXT = b089a5adfd8cfa64321b705608d1cd4c + +COUNT = 21 +KEY = d5dc7c4329e657eaf2dafb275efa9f4fa51d49639f3f3e74 +IV = b089a5adfd8cfa64321b705608d1cd4c +PLAINTEXT = 28ca2bcf8b80a0c85250db010180722e +CIPHERTEXT = bf6db12977102da327d56b8e520a1985 + +COUNT = 22 +KEY = 98d136772ebf7cd14db74a0e29eab2ec82c822edcd3527f1 +IV = bf6db12977102da327d56b8e520a1985 +PLAINTEXT = 06f3839a9eb4404f4d0d4a3407592b3b +CIPHERTEXT = 0679820a0ccdd8a8df9ed996afadea0b + +COUNT = 23 +KEY = 366cf005030bb1604bcec80425276a445d56fb7b6298cdfa +IV = 0679820a0ccdd8a8df9ed996afadea0b +PLAINTEXT = e8d310f7619811d0aebdc6722db4cdb1 +CIPHERTEXT = 705ef5a1c6f915c803dcf7d119213b86 + +COUNT = 24 +KEY = ec6b5babfb0fe6053b903da5e3de7f8c5e8a0caa7bb9f67c +IV = 705ef5a1c6f915c803dcf7d119213b86 +PLAINTEXT = 0aa5e306e00de3e0da07abaef8045765 +CIPHERTEXT = 63d511e24a62565535da0a911ae90f2b + +COUNT = 25 +KEY = 4d82405c45d727a558452c47a9bc29d96b50063b6150f957 +IV = 63d511e24a62565535da0a911ae90f2b +PLAINTEXT = 45b0beb52948b342a1e91bf7bed8c1a0 +CIPHERTEXT = b2e008c40cb0e4276a88c250f080eb99 + +COUNT = 26 +KEY = 4ef04e904e630c56eaa52483a50ccdfe01d8c46b91d012ce +IV = b2e008c40cb0e4276a88c250f080eb99 +PLAINTEXT = c9e6580e6cc9be4703720ecc0bb42bf3 +CIPHERTEXT = 9426430fdbe0eb02fc0c892db8fb8f0f + +COUNT = 27 +KEY = e592698691e02e657e83678c7eec26fcfdd44d46292b9dc1 +IV = 9426430fdbe0eb02fc0c892db8fb8f0f +PLAINTEXT = d219d2300d83e4e9ab622716df832233 +CIPHERTEXT = a4934d24c75e94b46d99f1571c001f25 + +COUNT = 28 +KEY = 682f562758cc3816da102aa8b9b2b248904dbc11352b82e4 +IV = a4934d24c75e94b46d99f1571c001f25 +PLAINTEXT = 7181eeeca2c6c8c88dbd3fa1c92c1673 +CIPHERTEXT = bbd7cb9ec28d7832ad881d74d0f93cca + +COUNT = 29 +KEY = e2095323429caf1761c7e1367b3fca7a3dc5a165e5d2be2e +IV = bbd7cb9ec28d7832ad881d74d0f93cca +PLAINTEXT = dc791266d04aff3d8a2605041a509701 +CIPHERTEXT = 798fd6c7c5be30011a4e716ce471143f + +COUNT = 30 +KEY = 8f956ad4f773f89a184837f1be81fa7b278bd00901a3aa11 +IV = 798fd6c7c5be30011a4e716ce471143f +PLAINTEXT = b341c05d7099324a6d9c39f7b5ef578d +CIPHERTEXT = e2fae138e441c1fa30c8462882fe15a5 + +COUNT = 31 +KEY = bfaea1de9883fa77fab2d6c95ac03b8117439621835dbfb4 +IV = e2fae138e441c1fa30c8462882fe15a5 +PLAINTEXT = 57c680b41fd805b9303bcb0a6ff002ed +CIPHERTEXT = cb5b3cf5f0a38f663c7be2103b1a8c6d + +COUNT = 32 +KEY = 2064b8e13fcc34a931e9ea3caa63b4e72b387431b84733d9 +IV = cb5b3cf5f0a38f663c7be2103b1a8c6d +PLAINTEXT = b88318ce2fb8e0ba9fca193fa74fcede +CIPHERTEXT = f6da276cc7d9b88a7363fad1bbf3fee2 + +COUNT = 33 +KEY = 4645a8da75690a86c733cd506dba0c6d585b8ee003b4cd3b +IV = f6da276cc7d9b88a7363fad1bbf3fee2 +PLAINTEXT = 2190c01b18225b426621103b4aa53e2f +CIPHERTEXT = 42a909e32fd74ffc69a6cecc9db5da08 + +COUNT = 34 +KEY = f3bf59351a2664aa859ac4b3426d439131fd402c9e011733 +IV = 42a909e32fd74ffc69a6cecc9db5da08 +PLAINTEXT = 42bbd398021ef310b5faf1ef6f4f6e2c +CIPHERTEXT = d8f2ee5b3b118b5639eb0478e9e7773f + +COUNT = 35 +KEY = 308b834ad84c07385d682ae8797cc8c70816445477e6600c +IV = d8f2ee5b3b118b5639eb0478e9e7773f +PLAINTEXT = ff4a018249128874c334da7fc26a6392 +CIPHERTEXT = 03fe3f3d4c60039affc37fe784b6ad32 + +COUNT = 36 +KEY = 554feec79cf50f215e9615d5351ccb5df7d53bb3f350cd3e +IV = 03fe3f3d4c60039affc37fe784b6ad32 +PLAINTEXT = d7a94552a2136ff265c46d8d44b90819 +CIPHERTEXT = 1e7dbf9d72a63acdd5aa82a7e3c5eb1a + +COUNT = 37 +KEY = 5e136e23e937050340ebaa4847baf190227fb91410952624 +IV = 1e7dbf9d72a63acdd5aa82a7e3c5eb1a +PLAINTEXT = 2948cda6c784af8c0b5c80e475c20a22 +CIPHERTEXT = 72c1e19e9e38013b7ad9ba1fb94e8fde + +COUNT = 38 +KEY = ed09d3572d3c4e6a322a4bd6d982f0ab58a6030ba9dba9fa +IV = 72c1e19e9e38013b7ad9ba1fb94e8fde +PLAINTEXT = 5be3644189600689b31abd74c40b4b69 +CIPHERTEXT = 8558a7f92aaa6305bc35ecc5b533652b + +COUNT = 39 +KEY = 856bc2f32ce76338b772ec2ff32893aee493efce1ce8ccd1 +IV = 8558a7f92aaa6305bc35ecc5b533652b +PLAINTEXT = 7558e6c742c0deda686211a401db2d52 +CIPHERTEXT = da8c3f7aaa06b5f6868c06d4dbe5c807 + +COUNT = 40 +KEY = cb1fbe306792bb166dfed355592e2658621fe91ac70d04d6 +IV = da8c3f7aaa06b5f6868c06d4dbe5c807 +PLAINTEXT = 419e2bc44cbbf2924e747cc34b75d82e +CIPHERTEXT = 5a254a2c9034393319889eaaa6f19643 + +COUNT = 41 +KEY = ab5c6b95aed0eb9c37db9979c91a1f6b7b9777b061fc9295 +IV = 5a254a2c9034393319889eaaa6f19643 +PLAINTEXT = e8231726355ff3c36043d5a5c942508a +CIPHERTEXT = b89ad88e25b49d19ca493b5e792a5f5b + +COUNT = 42 +KEY = c4b39f6c384d88898f4141f7ecae8272b1de4cee18d6cdce +IV = b89ad88e25b49d19ca493b5e792a5f5b +PLAINTEXT = a84cbcc8acebd2146feff4f9969d6315 +CIPHERTEXT = 12395f54df56204588b7f268e96f7320 + +COUNT = 43 +KEY = 4e6277b09f17a76f9d781ea333f8a2373969be86f1b9beee +IV = 12395f54df56204588b7f268e96f7320 +PLAINTEXT = bc61517eb205cc238ad1e8dca75a2fe6 +CIPHERTEXT = 913d0c8280889636ae205ae126494f8e + +COUNT = 44 +KEY = 05954f5d2cb207ca0c451221b37034019749e467d7f0f160 +IV = 913d0c8280889636ae205ae126494f8e +PLAINTEXT = 0bf9e3e2f6d4177d4bf738edb3a5a0a5 +CIPHERTEXT = 571b5e040c729e6f65a0a9d44717f3c9 + +COUNT = 45 +KEY = 6b9075852dd876a85b5e4c25bf02aa6ef2e94db390e702a9 +IV = 571b5e040c729e6f65a0a9d44717f3c9 +PLAINTEXT = be9a502470d9d8bd6e053ad8016a7162 +CIPHERTEXT = 4534ce226173729412c4e028028c4fcd + +COUNT = 46 +KEY = bf0a26b674e515711e6a8207de71d8fae02dad9b926b4d64 +IV = 4534ce226173729412c4e028028c4fcd +PLAINTEXT = f9d1b26869711a1dd49a5333593d63d9 +CIPHERTEXT = b31223d28002ce3aeaeb47d70fbabd0b + +COUNT = 47 +KEY = 0d56ebef5fea2cf6ad78a1d55e7316c00ac6ea4c9dd1f06f +IV = b31223d28002ce3aeaeb47d70fbabd0b +PLAINTEXT = 6a3fb93134cb49dbb25ccd592b0f3987 +CIPHERTEXT = f2b9e5bfa8afb3a8194a00167d92c9a7 + +COUNT = 48 +KEY = ec8c1b68eb340c225fc1446af6dca568138cea5ae04339c8 +IV = f2b9e5bfa8afb3a8194a00167d92c9a7 +PLAINTEXT = b61690810192f7f1e1daf087b4de20d4 +CIPHERTEXT = dbb5ba45e46d4d2b08b0100dc17edbc5 + +COUNT = 49 +KEY = 143b0dbfa99fbec18474fe2f12b1e8431b3cfa57213de20d +IV = dbb5ba45e46d4d2b08b0100dc17edbc5 +PLAINTEXT = b6f623081d52139df8b716d742abb2e3 +CIPHERTEXT = e294ea4a663fc48d69cb41cf5d55170b + +COUNT = 50 +KEY = a0781bc88bc2f0c066e01465748e2cce72f7bb987c68f506 +IV = e294ea4a663fc48d69cb41cf5d55170b +PLAINTEXT = 0f00f116e911387bb4431677225d4e01 +CIPHERTEXT = cfdd8e5bc75f32befc14a075d226149c + +COUNT = 51 +KEY = 02e3cbffdcda4799a93d9a3eb3d11e708ee31bedae4ee19a +IV = cfdd8e5bc75f32befc14a075d226149c +PLAINTEXT = 33ca838292d7201ea29bd0375718b759 +CIPHERTEXT = 64804746f9b5079fe23ebd252ac797ee + +COUNT = 52 +KEY = ad7acd67996cf7dacdbddd784a6419ef6cdda6c884897674 +IV = 64804746f9b5079fe23ebd252ac797ee +PLAINTEXT = af3794594fc9a681af99069845b6b043 +CIPHERTEXT = 9364fcf9d724c32122f3a9639a358613 + +COUNT = 53 +KEY = 521ca9cdbe671ed65ed921819d40dace4e2e0fab1ebcf067 +IV = 9364fcf9d724c32122f3a9639a358613 +PLAINTEXT = 966f06228853e271ff6664aa270be90c +CIPHERTEXT = e76ab42ac715731c1ff6fb4c3667bfba + +COUNT = 54 +KEY = 8387968f30b7cc6eb9b395ab5a55a9d251d8f4e728db4fdd +IV = e76ab42ac715731c1ff6fb4c3667bfba +PLAINTEXT = d6ddba6eb9e0d0d9d19b3f428ed0d2b8 +CIPHERTEXT = 95d7c39dca0c5f8eab9554dd97f09371 + +COUNT = 55 +KEY = 72b297f1143329352c6456369059f65cfa4da03abf2bdcac +IV = 95d7c39dca0c5f8eab9554dd97f09371 +PLAINTEXT = 9973a52d4dc51de2f135017e2484e55b +CIPHERTEXT = fc34710e71e83129639e912cea568259 + +COUNT = 56 +KEY = c9d3f6afdee80b00d0502738e1b1c77599d33116557d5ef5 +IV = fc34710e71e83129639e912cea568259 +PLAINTEXT = 5388b6c5b7acec19bb61615ecadb2235 +CIPHERTEXT = 6d29d91557d367ee6eb581d12993deeb + +COUNT = 57 +KEY = af286ce49f8d40c1bd79fe2db662a09bf766b0c77cee801e +IV = 6d29d91557d367ee6eb581d12993deeb +PLAINTEXT = 7840118869e8f5bd66fb9a4b41654bc1 +CIPHERTEXT = c1cc585a407c1fbff2e2f87fd8c0ab7f + +COUNT = 58 +KEY = bc64ec72deb9fd117cb5a677f61ebf24058448b8a42e2b61 +IV = c1cc585a407c1fbff2e2f87fd8c0ab7f +PLAINTEXT = 7c8af539823fc6da134c80964134bdd0 +CIPHERTEXT = 0eb54e8d436ecad77b62c328133c4cb7 + +COUNT = 59 +KEY = 846920cb9d1f6f0c7200e8fab57075f37ee68b90b71267d6 +IV = 0eb54e8d436ecad77b62c328133c4cb7 +PLAINTEXT = 6eac5bcb85a53bfd380dccb943a6921d +CIPHERTEXT = a6dbebbba114f3e6810f2f8633141cd0 + +COUNT = 60 +KEY = aafef33825b01c30d4db034114648615ffe9a41684067b06 +IV = a6dbebbba114f3e6810f2f8633141cd0 +PLAINTEXT = db147e1fddca87f02e97d3f3b8af733c +CIPHERTEXT = 539b27039f3693ef81ed2bbea4ae6242 + +COUNT = 61 +KEY = 1d83510a29bfb4df874024428b5215fa7e048fa820a81944 +IV = 539b27039f3693ef81ed2bbea4ae6242 +PLAINTEXT = e7fef19ab3473a23b77da2320c0fa8ef +CIPHERTEXT = f21ac62d8758dfd2f31ef8045f04f84a + +COUNT = 62 +KEY = c026b485b9db9490755ae26f0c0aca288d1a77ac7face10e +IV = f21ac62d8758dfd2f31ef8045f04f84a +PLAINTEXT = 95d93a5e6c7f9c42dda5e58f9064204f +CIPHERTEXT = c4270050eb0ed341e1108904a7515fd7 + +COUNT = 63 +KEY = 9c8fc27d8617fd32b17de23fe70419696c0afea8d8fdbed9 +IV = c4270050eb0ed341e1108904a7515fd7 +PLAINTEXT = 0a9d10ecad3cb6e35ca976f83fcc69a2 +CIPHERTEXT = d78b4e76d0d9cdfac61b00e117eb7299 + +COUNT = 64 +KEY = 7b2aae24ffbd95be66f6ac4937ddd493aa11fe49cf16cc40 +IV = d78b4e76d0d9cdfac61b00e117eb7299 +PLAINTEXT = 35b8fed05fea92dae7a56c5979aa688c +CIPHERTEXT = fb0c902ec9ac45ef541d843c2b6942fd + +COUNT = 65 +KEY = 10b2adbfdd9b55b59dfa3c67fe71917cfe0c7a75e47f8ebd +IV = fb0c902ec9ac45ef541d843c2b6942fd +PLAINTEXT = e20eb4a7e1c8a31f6b98039b2226c00b +CIPHERTEXT = 285787f209e0457e09a573e1e95b195f + +COUNT = 66 +KEY = 104e8849069e9e22b5adbb95f791d402f7a909940d2497e2 +IV = 285787f209e0457e09a573e1e95b195f +PLAINTEXT = c514765d15eb069400fc25f6db05cb97 +CIPHERTEXT = 92495f9db16cefcdf079d61b953c592e + +COUNT = 67 +KEY = 708f40fa43375e2227e4e40846fd3bcf07d0df8f9818cecc +IV = 92495f9db16cefcdf079d61b953c592e +PLAINTEXT = 08039fcd10cd0db760c1c8b345a9c000 +CIPHERTEXT = 2c40a7986e0033fc988cf188f85ce076 + +COUNT = 68 +KEY = db56c6e4b80b2f1d0ba4439028fd08339f5c2e0760442eba +IV = 2c40a7986e0033fc988cf188f85ce076 +PLAINTEXT = 2067de3a7f38fc3dabd9861efb3c713f +CIPHERTEXT = c681e52497642158c71fcf64e1b08dc7 + +COUNT = 69 +KEY = a7ef6e22627beb3dcd25a6b4bf99296b5843e16381f4a37d +IV = c681e52497642158c71fcf64e1b08dc7 +PLAINTEXT = 63c8ae5f254286d47cb9a8c6da70c420 +CIPHERTEXT = fa225036ba28d2846af0b21ee0932974 + +COUNT = 70 +KEY = 2046919ed63704b43707f68205b1fbef32b3537d61678a09 +IV = fa225036ba28d2846af0b21ee0932974 +PLAINTEXT = 4b4ba19f671ae04187a9ffbcb44cef89 +CIPHERTEXT = a2b22d099d52a93dcce5821a5e829dd9 + +COUNT = 71 +KEY = d6eb6524a4f6fe3695b5db8b98e352d2fe56d1673fe517d0 +IV = a2b22d099d52a93dcce5821a5e829dd9 +PLAINTEXT = 9a488d37a84197ecf6adf4ba72c1fa82 +CIPHERTEXT = 8a2e3396d0b86da4bf00b854de298753 + +COUNT = 72 +KEY = 18bd0b7888b4e4181f9be81d485b3f7641566933e1cc9083 +IV = 8a2e3396d0b86da4bf00b854de298753 +PLAINTEXT = bd38213500f0d6bcce566e5c2c421a2e +CIPHERTEXT = 7b66bf708cede78f90e68431782e5c69 + +COUNT = 73 +KEY = 3655a8b3c8c876da64fd576dc4b6d8f9d1b0ed0299e2ccea +IV = 7b66bf708cede78f90e68431782e5c69 +PLAINTEXT = 3e43c1ddf73989312ee8a3cb407c92c2 +CIPHERTEXT = 3c039e29623c46bb69cb9518bde09f4f + +COUNT = 74 +KEY = 15c2e15dedd6e96258fec944a68a9e42b87b781a240253a5 +IV = 3c039e29623c46bb69cb9518bde09f4f +PLAINTEXT = b51552aac4eb103e239749ee251e9fb8 +CIPHERTEXT = d6b7da35d2db8ede8f4ac2e502d0d829 + +COUNT = 75 +KEY = 8a703b234e1417e38e4913717451109c3731baff26d28b8c +IV = d6b7da35d2db8ede8f4ac2e502d0d829 +PLAINTEXT = 02f5987ec9be280c9fb2da7ea3c2fe81 +CIPHERTEXT = 15037795bdafbdeaab50a12fa1905285 + +COUNT = 76 +KEY = b7cf7473efed5d2d9b4a64e4c9fead769c611bd08742d909 +IV = 15037795bdafbdeaab50a12fa1905285 +PLAINTEXT = 522050c15e821f3c3dbf4f50a1f94ace +CIPHERTEXT = 76952f7c011283e332f1900a3a6c5494 + +COUNT = 77 +KEY = 83d4d4eb59547a78eddf4b98c8ec2e95ae908bdabd2e8d9d +IV = 76952f7c011283e332f1900a3a6c5494 +PLAINTEXT = 803310fe52de7fe1341ba098b6b92755 +CIPHERTEXT = 9d60c8886fd32fbc12624556408a4d34 + +COUNT = 78 +KEY = 49aa0cbe7f49038d70bf8310a73f0129bcf2ce8cfda4c0a9 +IV = 9d60c8886fd32fbc12624556408a4d34 +PLAINTEXT = 8470236153de6b62ca7ed855261d79f5 +CIPHERTEXT = d44454d7ccc87b55642ef812b79b5c48 + +COUNT = 79 +KEY = 4fedbefbc58d7358a4fbd7c76bf77a7cd8dc369e4a3f9ce1 +IV = d44454d7ccc87b55642ef812b79b5c48 +PLAINTEXT = 6549b537e8c02fc70647b245bac470d5 +CIPHERTEXT = f3848b3a493285ae8f4274a634b8781f + +COUNT = 80 +KEY = 1ebfd05e77c125fd577f5cfd22c5ffd2579e42387e87e4fe +IV = f3848b3a493285ae8f4274a634b8781f +PLAINTEXT = 480fa5a303605df451526ea5b24c56a5 +CIPHERTEXT = 18e2a4ce49df355e7d066f8676394810 + +COUNT = 81 +KEY = c30760d95f5abf694f9df8336b1aca8c2a982dbe08beacee +IV = 18e2a4ce49df355e7d066f8676394810 +PLAINTEXT = df4da9065ae3d27fddb8b087289b9a94 +CIPHERTEXT = 64d7dd5b99a6d92d4dfa38d4f62d2305 + +COUNT = 82 +KEY = d27065889a0162c42b4a2568f2bc13a16762156afe938feb +IV = 64d7dd5b99a6d92d4dfa38d4f62d2305 +PLAINTEXT = 6dd886ef787a2b8711770551c55bddad +CIPHERTEXT = 451e4ca26c75d5597036f955207e6ae7 + +COUNT = 83 +KEY = 549644d21e5c83996e5469ca9ec9c6f81754ec3fdeede50c +IV = 451e4ca26c75d5597036f955207e6ae7 +PLAINTEXT = 9db8e1b5abdb94fe86e6215a845de15d +CIPHERTEXT = fedc45404ac60d1ce7a980145b6535a1 + +COUNT = 84 +KEY = 89694580c92eb48390882c8ad40fcbe4f0fd6c2b8588d0ad +IV = fedc45404ac60d1ce7a980145b6535a1 +PLAINTEXT = d6fbe0bb5761ff18ddff0152d772371a +CIPHERTEXT = 23d5a73db045f5aaf5a7a51ee4a5e2a0 + +COUNT = 85 +KEY = e58793e6cac492c3b35d8bb7644a3e4e055ac935612d320d +IV = 23d5a73db045f5aaf5a7a51ee4a5e2a0 +PLAINTEXT = 5fcd90713334cbdf6ceed66603ea2640 +CIPHERTEXT = b06c505a85c3d829a574400c6c8be39f + +COUNT = 86 +KEY = 09ff5d52c50156150331dbede189e667a02e89390da6d192 +IV = b06c505a85c3d829a574400c6c8be39f +PLAINTEXT = fca2845a66106f52ec78ceb40fc5c4d6 +CIPHERTEXT = 8f39af206569f4900a2e21c625d1be6b + +COUNT = 87 +KEY = 998bf93f9146fa9d8c0874cd84e012f7aa00a8ff28776ff9 +IV = 8f39af206569f4900a2e21c625d1be6b +PLAINTEXT = 1c7359dfc432642b9074a46d5447ac88 +CIPHERTEXT = c893ab7e6464594d87dfb48e61007e05 + +COUNT = 88 +KEY = 2a88f05d5a954148449bdfb3e0844bba2ddf1c71497711fc +IV = c893ab7e6464594d87dfb48e61007e05 +PLAINTEXT = c14d7f3e2d2d2ac0b3030962cbd3bbd5 +CIPHERTEXT = 28e13980ff519298c6117fadd10996b2 + +COUNT = 89 +KEY = 93b3947b0f0522996c7ae6331fd5d922ebce63dc987e874e +IV = 28e13980ff519298c6117fadd10996b2 +PLAINTEXT = 6847bcfab713b8a8b93b6426559063d1 +CIPHERTEXT = 933e3d6a7af5bc6474aebbf10ba70bc0 + +COUNT = 90 +KEY = c453979c609b9cfdff44db59652065469f60d82d93d98c8e +IV = 933e3d6a7af5bc6474aebbf10ba70bc0 +PLAINTEXT = 28710880a2c4b2b357e003e76f9ebe64 +CIPHERTEXT = ccb4bf6510a6135b354a174786718140 + +COUNT = 91 +KEY = 4ff36351ccbd2b8f33f0643c7586761daa2acf6a15a80dce +IV = ccb4bf6510a6135b354a174786718140 +PLAINTEXT = 48921f2f94add7738ba0f4cdac26b772 +CIPHERTEXT = 76f9e3779752f6a576fc3717da98d25c + +COUNT = 92 +KEY = ce60fc4fddb761fc4509874be2d480b8dcd6f87dcf30df92 +IV = 76f9e3779752f6a576fc3717da98d25c +PLAINTEXT = 942bfc517e22169481939f1e110a4a73 +CIPHERTEXT = 94885a11f743e219422f2a8bcf9db7b2 + +COUNT = 93 +KEY = cd51ec2d0c72eba7d181dd5a159762a19ef9d2f600ad6820 +IV = 94885a11f743e219422f2a8bcf9db7b2 +PLAINTEXT = 798d3286c7e7339303311062d1c58a5b +CIPHERTEXT = 45ba73a1e29e2b0d721cf53bc105939e + +COUNT = 94 +KEY = cff0abd989b6fefd943baefbf70949acece527cdc1a8fbbe +IV = 45ba73a1e29e2b0d721cf53bc105939e +PLAINTEXT = a125beaa2bde06bc02a147f485c4155a +CIPHERTEXT = ee5715cc3385f04fab64025bc64a4c14 + +COUNT = 95 +KEY = 90fdf95afbee05327a6cbb37c48cb9e34781259607e2b7aa +IV = ee5715cc3385f04fab64025bc64a4c14 +PLAINTEXT = 9bf359c924234e165f0d52837258fbcf +CIPHERTEXT = fadeedfd5a139b0dd3567439c0e03cea + +COUNT = 96 +KEY = f2929a833c206ee880b256ca9e9f22ee94d751afc7028b40 +IV = fadeedfd5a139b0dd3567439c0e03cea +PLAINTEXT = 7c09fbadf269145a626f63d9c7ce6bda +CIPHERTEXT = 90f73e9dae7bf9aca78eb40e5e9e35bd + +COUNT = 97 +KEY = 6436b1b55e81f2a81045685730e4db423359e5a1999cbefd +IV = 90f73e9dae7bf9aca78eb40e5e9e35bd +PLAINTEXT = f146ba48b6f992e596a42b3662a19c40 +CIPHERTEXT = ade8cc56284464a2be60de2144a9f5c3 + +COUNT = 98 +KEY = 168e0ceaaaf07c93bdada40118a0bfe08d393b80dd354b3e +IV = ade8cc56284464a2be60de2144a9f5c3 +PLAINTEXT = 1500a4043e604aba72b8bd5ff4718e3b +CIPHERTEXT = 66c45ece811c806db34d59ce08428f6a + +COUNT = 99 +KEY = be42dd59993c6a5fdb69facf99bc3f8d3e74624ed577c454 +IV = 66c45ece811c806db34d59ce08428f6a +PLAINTEXT = 8e0dd014a6f57901a8ccd1b333cc16cc +CIPHERTEXT = e02b65567887546b44e25a3abaa38932 + + +[DECRYPT] + +COUNT = 0 +KEY = 67c2eda508ad0513d736c8f4f9bea15260422bae9cdea4a0 +IV = 0f126257f517711445d665e121bc8a2e +CIPHERTEXT = 237b9d266edcf5eee7438721d137cf1d +PLAINTEXT = cf7b24a39dd5442e25b20f29e8a2ef8d + +COUNT = 1 +KEY = 1c57564cf72e7bdc184dec57646be57c45f02487747c4b2d +IV = cf7b24a39dd5442e25b20f29e8a2ef8d +CIPHERTEXT = c13289b79a5ae3e47b95bbe9ff837ecf +PLAINTEXT = c6739b8b1a0ec3d3b24d7e7c1407c1ab + +COUNT = 2 +KEY = 2a862dc95606a761de3e77dc7e6526aff7bd5afb607b8a86 +IV = c6739b8b1a0ec3d3b24d7e7c1407c1ab +CIPHERTEXT = 37260db9b1b0b40236d17b85a128dcbd +PLAINTEXT = e4fc03a81d2f16c93201c1d74274b9aa + +COUNT = 3 +KEY = 132972094cc2a4583ac27474634a3066c5bc9b2c220f332c +IV = e4fc03a81d2f16c93201c1d74274b9aa +CIPHERTEXT = 95360cd77131da2e39af5fc01ac40339 +PLAINTEXT = c4db252b1978e3b9e4f68b3c53e6c057 + +COUNT = 4 +KEY = 233b6b3f1c2a5924fe19515f7a32d3df214a101071e9f37b +IV = c4db252b1978e3b9e4f68b3c53e6c057 +CIPHERTEXT = 66ac83cce44074213012193650e8fd7c +PLAINTEXT = cf18c3320126fa82f4e8ae01eb72f8cc + +COUNT = 5 +KEY = cda0e33331429e5d3101926d7b14295dd5a2be119a9b0bb7 +IV = cf18c3320126fa82f4e8ae01eb72f8cc +CIPHERTEXT = ce391ef1dd084a3cee9b880c2d68c779 +PLAINTEXT = c08d0ab8cad99b624af1cd4578f5348d + +COUNT = 6 +KEY = 78790716eab2500ff18c98d5b1cdb23f9f537354e26e3f3a +IV = c08d0ab8cad99b624af1cd4578f5348d +CIPHERTEXT = 02c07a727d5df008b5d9e425dbf0ce52 +PLAINTEXT = 8b1187bdc36f143c50e5de9a05f52af7 + +COUNT = 7 +KEY = 59f9539ede0dc2e47a9d1f6872a2a603cfb6adcee79b15cd +IV = 8b1187bdc36f143c50e5de9a05f52af7 +CIPHERTEXT = 7034cfe6a10abe902180548834bf92eb +PLAINTEXT = 196e06f83c5e705a3eb3c3aea904b709 + +COUNT = 8 +KEY = 17bd50beb270743c63f319904efcd659f1056e604e9fa2c4 +IV = 196e06f83c5e705a3eb3c3aea904b709 +CIPHERTEXT = 1647dec4a41980004e4403206c7db6d8 +PLAINTEXT = 752b45e42636ccc5af99dfb28b615678 + +COUNT = 9 +KEY = be89fc0afa4e105316d85c7468ca1a9c5e9cb1d2c5fef4bc +IV = 752b45e42636ccc5af99dfb28b615678 +CIPHERTEXT = cc212631d7015c36a934acb4483e646f +PLAINTEXT = 3197b2b1b0ea2c6d3580c4cba73b29e2 + +COUNT = 10 +KEY = 1040eb760e8ff63e274feec5d82036f16b1c751962c5dd5e +IV = 3197b2b1b0ea2c6d3580c4cba73b29e2 +CIPHERTEXT = 31f8575a3ea8f2e3aec9177cf4c1e66d +PLAINTEXT = 36fa32e5af59a1e8b8110d67d426b855 + +COUNT = 11 +KEY = fac20434900ca6b111b5dc2077799719d30d787eb6e3650b +IV = 36fa32e5af59a1e8b8110d67d426b855 +CIPHERTEXT = bf0eabd03f83b707ea82ef429e83508f +PLAINTEXT = d766a855c1e32dd97ac49b8b929d5309 + +COUNT = 12 +KEY = 91e3b69540714384c6d37475b69abac0a9c9e3f5247e3602 +IV = d766a855c1e32dd97ac49b8b929d5309 +CIPHERTEXT = b06eae5d8c6a4bf76b21b2a1d07de535 +PLAINTEXT = 93417c5bba1d56b293000fa0758229fd + +COUNT = 13 +KEY = 5238846b77b197985592082e0c87ec723ac9ec5551fc1fff +IV = 93417c5bba1d56b293000fa0758229fd +CIPHERTEXT = dcae21ee5b914580c3db32fe37c0d41c +PLAINTEXT = b5f23539fc3bdae6eb0909e95561606e + +COUNT = 14 +KEY = 07ddd3459882a645e0603d17f0bc3694d1c0e5bc049d7f91 +IV = b5f23539fc3bdae6eb0909e95561606e +CIPHERTEXT = 799f4d7e26a2c65655e5572eef3331dd +PLAINTEXT = 501bb00003614e27ba606644e675155a + +COUNT = 15 +KEY = 3b360ce10f5fb9a3b07b8d17f3dd78b36ba083f8e2e86acb +IV = 501bb00003614e27ba606644e675155a +CIPHERTEXT = 852cdf94913d80023cebdfa497dd1fe6 +PLAINTEXT = 5407d335e0ee151f448312f37d19bea7 + +COUNT = 16 +KEY = 7f1818a37bea414fe47c5e2213336dac2f23910b9ff1d46c +IV = 5407d335e0ee151f448312f37d19bea7 +CIPHERTEXT = 857167e745b77de6442e144274b5f8ec +PLAINTEXT = d53fd149b27a5241d1d1218ab4121a22 + +COUNT = 17 +KEY = f831204c51089da631438f6ba1493fedfef2b0812be3ce4e +IV = d53fd149b27a5241d1d1218ab4121a22 +CIPHERTEXT = 7514ea81f435db1a872938ef2ae2dce9 +PLAINTEXT = c97ea567a6c7fb18d3b3a8c96d4838bf + +COUNT = 18 +KEY = 0a062c9c8618a960f83d2a0c078ec4f52d41184846abf6f1 +IV = c97ea567a6c7fb18d3b3a8c96d4838bf +CIPHERTEXT = af2989169441aa84f2370cd0d71034c6 +PLAINTEXT = 9b821806b179814f246fdfebc97ccf10 + +COUNT = 19 +KEY = d5f49bb98b78067663bf320ab6f745ba092ec7a38fd739e1 +IV = 9b821806b179814f246fdfebc97ccf10 +CIPHERTEXT = deb6a8d912cdf4eedff2b7250d60af16 +PLAINTEXT = f24b3d420eb495379f0ec4d77d446119 + +COUNT = 20 +KEY = 5bd1b72a0fbe9c1291f40f48b843d08d96200374f29358f8 +IV = f24b3d420eb495379f0ec4d77d446119 +CIPHERTEXT = 0c6358e215950f618e252c9384c69a64 +PLAINTEXT = 1b4c5bb1ed25b479a0f4e76b937b09c0 + +COUNT = 21 +KEY = 526e7da276b93c898ab854f9556664f436d4e41f61e85138 +IV = 1b4c5bb1ed25b479a0f4e76b937b09c0 +CIPHERTEXT = e58a94827dbb768209bfca887907a09b +PLAINTEXT = 1e5f3a2ec68ebaaf3de44df80109676a + +COUNT = 22 +KEY = 028c73c550992bd794e76ed793e8de5b0b30a9e760e13652 +IV = 1e5f3a2ec68ebaaf3de44df80109676a +CIPHERTEXT = 10c7041bd5df9c2550e20e672620175e +PLAINTEXT = 4c596db7b95e6c3c82eb4217dedba4c9 + +COUNT = 23 +KEY = b0107cf7aaf3feedd8be03602ab6b26789dbebf0be3a929b +IV = 4c596db7b95e6c3c82eb4217dedba4c9 +CIPHERTEXT = c856e5a916e0f0bcb29c0f32fa6ad53a +PLAINTEXT = 92dbc4bef131bdf2bbee47f9444119cd + +COUNT = 24 +KEY = bce4eb92b6eb631b4a65c7dedb870f953235ac09fa7b8b56 +IV = 92dbc4bef131bdf2bbee47f9444119cd +CIPHERTEXT = a3c0f2a14a5f11420cf497651c189df6 +PLAINTEXT = 5b563f1b750225ffef57ec951accbcff + +COUNT = 25 +KEY = 5c878e123c7c495f1133f8c5ae852a6add62409ce0b737a9 +IV = 5b563f1b750225ffef57ec951accbcff +CIPHERTEXT = fa9c9741e1e085d5e06365808a972a44 +PLAINTEXT = 320c275c95db1ebc35b31175e2cb4b4f + +COUNT = 26 +KEY = 0126f86c1bb0801f233fdf993b5e34d6e8d151e9027c7ce6 +IV = 320c275c95db1ebc35b31175e2cb4b4f +CIPHERTEXT = 3ed063b0c27f05595da1767e27ccc940 +PLAINTEXT = b72c951d8ba447f9631ed80af0a77541 + +COUNT = 27 +KEY = 3fd2f7159e8a1e5d94134a84b0fa732f8bcf89e3f2db09a7 +IV = b72c951d8ba447f9631ed80af0a77541 +CIPHERTEXT = 84e6e046302feacc3ef40f79853a9e42 +PLAINTEXT = 01dc16f772c0740737b57620d6a879c2 + +COUNT = 28 +KEY = fb8175ec75208cd495cf5c73c23a0728bc7affc324737065 +IV = 01dc16f772c0740737b57620d6a879c2 +CIPHERTEXT = 6b716a4d639217b6c45382f9ebaa9289 +PLAINTEXT = 63e33a577ec0766fb1cd50a94b03454c + +COUNT = 29 +KEY = f19ba8e24df7c78df62c6624bcfa71470db7af6a6f703529 +IV = 63e33a577ec0766fb1cd50a94b03454c +CIPHERTEXT = da3eb3a142e6516c0a1add0e38d74b59 +PLAINTEXT = 897f85008a0836a26e46d05ff4e0dd61 + +COUNT = 30 +KEY = 6369a801bb503e507f53e32436f247e563f17f359b90e848 +IV = 897f85008a0836a26e46d05ff4e0dd61 +CIPHERTEXT = 8092c86606397f3e92f200e3f6a7f9dd +PLAINTEXT = 12c67bc6e62f2e62ab5790da9ef59caf + +COUNT = 31 +KEY = fad09144ace57e536d9598e2d0dd6987c8a6efef056574e7 +IV = 12c67bc6e62f2e62ab5790da9ef59caf +CIPHERTEXT = f6e3ba38407ecc0199b9394517b54003 +PLAINTEXT = 9ba31ed56a83957f274ad43aa3e7dab6 + +COUNT = 32 +KEY = f7be491d322bf129f6368637ba5efcf8efec3bd5a682ae51 +IV = 9ba31ed56a83957f274ad43aa3e7dab6 +CIPHERTEXT = 7a3fc8f618d4b2820d6ed8599ece8f7a +PLAINTEXT = 26392e52b90f37f7adab1febb07566e4 + +COUNT = 33 +KEY = 7c7eb59423a9b17bd00fa8650351cb0f4247243e16f7c8b5 +IV = 26392e52b90f37f7adab1febb07566e4 +CIPHERTEXT = 119a8418d665c20e8bc0fc8911824052 +PLAINTEXT = b7177b701e7b68c571178a43a4d7aad5 + +COUNT = 34 +KEY = 8bb122fffd8515ca6718d3151d2aa3ca3350ae7db2206260 +IV = b7177b701e7b68c571178a43a4d7aad5 +CIPHERTEXT = 4ff51ee83f609ae8f7cf976bde2ca4b1 +PLAINTEXT = beb1c264a760b4a55ccb7672413e8fa5 + +COUNT = 35 +KEY = cd1722906a1b4f5ed9a91171ba4a176f6f9bd80ff31eedc5 +IV = beb1c264a760b4a55ccb7672413e8fa5 +CIPHERTEXT = 2dfe304503f83c3346a6006f979e5a94 +PLAINTEXT = 58e3a45a10a8c72099bc7a18394f15a0 + +COUNT = 36 +KEY = 2a62f0dde39cb35b814ab52baae2d04ff627a217ca51f865 +IV = 58e3a45a10a8c72099bc7a18394f15a0 +CIPHERTEXT = 746085bec9172f3be775d24d8987fc05 +PLAINTEXT = 0b75fe1d3bf40458694eeeae3e189610 + +COUNT = 37 +KEY = f8b852baa4d60b5c8a3f4b369116d4179f694cb9f4496e75 +IV = 0b75fe1d3bf40458694eeeae3e189610 +CIPHERTEXT = 41aae82e99a09302d2daa267474ab807 +PLAINTEXT = 5ab669f558b80fc511cb6eb2e28cf20e + +COUNT = 38 +KEY = 6b77ca774e985763d08922c3c9aedbd28ea2220b16c59c7b +IV = 5ab669f558b80fc511cb6eb2e28cf20e +CIPHERTEXT = 1d421630d20a8bdc93cf98cdea4e5c3f +PLAINTEXT = 5979ef255b3a0175a2b15906ddf159f9 + +COUNT = 39 +KEY = c73f5fa082d6094e89f0cde69294daa72c137b0dcb34c582 +IV = 5979ef255b3a0175a2b15906ddf159f9 +CIPHERTEXT = 71f03c80f5b8a6cbac4895d7cc4e5e2d +PLAINTEXT = 5baf822c861398ae94ef4c317d7a0def + +COUNT = 40 +KEY = 409688e5f965f71fd25f4fca14874209b8fc373cb64ec86d +IV = 5baf822c861398ae94ef4c317d7a0def +CIPHERTEXT = 36dc80e01f491f2f87a9d7457bb3fe51 +PLAINTEXT = 4f60d5f812afb664f10aa9ba18827e53 + +COUNT = 41 +KEY = e17a59c6ac33b5f19d3f9a320628f46d49f69e86aeccb63e +IV = 4f60d5f812afb664f10aa9ba18827e53 +CIPHERTEXT = 5638e559210b5812a1ecd123555642ee +PLAINTEXT = 5182b1ac4a689fd3c5d4fff68fdeb1ce + +COUNT = 42 +KEY = f110f1406312acc3ccbd2b9e4c406bbe8c226170211207f0 +IV = 5182b1ac4a689fd3c5d4fff68fdeb1ce +CIPHERTEXT = 9bd173990c2c8976106aa886cf211932 +PLAINTEXT = 2d3d20cf6b0bc21bc3dfb97d6b1d8020 + +COUNT = 43 +KEY = b91b65e2d7acf46ce1800b51274ba9a54ffdd80d4a0f87d0 +IV = 2d3d20cf6b0bc21bc3dfb97d6b1d8020 +CIPHERTEXT = 1c7768c4ccc4180c480b94a2b4be58af +PLAINTEXT = 849ff19eafe60cf4364fe142e4d821af + +COUNT = 44 +KEY = 1c133e71611ce04b651ffacf88ada55179b2394faed7a67f +IV = 849ff19eafe60cf4364fe142e4d821af +CIPHERTEXT = 63cfb67b942d3bfaa5085b93b6b01427 +PLAINTEXT = 21997290c328a9c07371a36fde7c3bb7 + +COUNT = 45 +KEY = edd6dc8dc9914fea4486885f4b850c910ac39a2070ab9dc8 +IV = 21997290c328a9c07371a36fde7c3bb7 +CIPHERTEXT = 1f3f5fa2a323b2b1f1c5e2fca88dafa1 +PLAINTEXT = b4a56149226eb239c5bd6b551d20e6f0 + +COUNT = 46 +KEY = 1334e499048dea67f023e91669ebbea8cf7ef1756d8b7b38 +IV = b4a56149226eb239c5bd6b551d20e6f0 +CIPHERTEXT = dbdaf0f0fd5dbf9efee23814cd1ca58d +PLAINTEXT = a1f7f3c0456bf3e3cc0f2723c363c170 + +COUNT = 47 +KEY = 46ce3375e1889f0551d41ad62c804d4b0371d656aee8ba48 +IV = a1f7f3c0456bf3e3cc0f2723c363c170 +CIPHERTEXT = b70edc1d6809b35155fad7ece5057562 +PLAINTEXT = b9113b3aac5eabc771287a649fd2e84f + +COUNT = 48 +KEY = 0a07445ef8cf7262e8c521ec80dee68c7259ac32313a5207 +IV = b9113b3aac5eabc771287a649fd2e84f +CIPHERTEXT = 183165f96bc637714cc9772b1947ed67 +PLAINTEXT = 6e08f62553a8eed53ec4a4c5b445c27e + +COUNT = 49 +KEY = d9978f34950c481d86cdd7c9d37608594c9d08f7857f9079 +IV = 6e08f62553a8eed53ec4a4c5b445c27e +CIPHERTEXT = 82af1248bd5f0780d390cb6a6dc33a7f +PLAINTEXT = 9b3bad6a5b819eea7cc48db891437b45 + +COUNT = 50 +KEY = 435d78e8d5e793c91df67aa388f796b33059854f143ceb3c +IV = 9b3bad6a5b819eea7cc48db891437b45 +CIPHERTEXT = e4c07bffd78a8e0d9acaf7dc40ebdbd4 +PLAINTEXT = 0775905c1a81b165544d026fd5cabc71 + +COUNT = 51 +KEY = 2656f82cfc7584611a83eaff927627d664148720c1f6574d +IV = 0775905c1a81b165544d026fd5cabc71 +CIPHERTEXT = d77c02fa1cb9746f650b80c4299217a8 +PLAINTEXT = 2adc20a43fd4a28dcf74afde33777776 + +COUNT = 52 +KEY = 4910924130eec51e305fca5bada2855bab6028fef281203b +IV = 2adc20a43fd4a28dcf74afde33777776 +CIPHERTEXT = 54c7caadd4a263746f466a6dcc9b417f +PLAINTEXT = 0dc07648951fc7b9dfaa3dcdf3887dc0 + +COUNT = 53 +KEY = eee11c5bcf8b2d283d9fbc1338bd42e274ca153301095dfb +IV = 0dc07648951fc7b9dfaa3dcdf3887dc0 +CIPHERTEXT = e45a4f78170085d7a7f18e1aff65e836 +PLAINTEXT = 5518f97708e35928b062e138de735bc4 + +COUNT = 54 +KEY = 16044b92996c36f968874564305e1bcac4a8f40bdf7a063f +IV = 5518f97708e35928b062e138de735bc4 +CIPHERTEXT = 2e39338a9dc1cdf5f8e557c956e71bd1 +PLAINTEXT = 1d71e398c9c922af4ac75870cae93eb1 + +COUNT = 55 +KEY = 74c2c1bf777ec0f675f6a6fcf99739658e6fac7b1593388e +IV = 1d71e398c9c922af4ac75870cae93eb1 +CIPHERTEXT = 364f5c33ac47196e62c68a2dee12f60f +PLAINTEXT = 06b8abe8372dabb76386875b210ad31d + +COUNT = 56 +KEY = 0700680f8e59ccc6734e0d14ceba92d2ede92b203499eb93 +IV = 06b8abe8372dabb76386875b210ad31d +CIPHERTEXT = 0486d73e99d79b7b73c2a9b0f9270c30 +PLAINTEXT = 57eba63e21b079c3056ba780e4d7e97a + +COUNT = 57 +KEY = 29406829f9cf610024a5ab2aef0aeb11e8828ca0d04e02e9 +IV = 57eba63e21b079c3056ba780e4d7e97a +CIPHERTEXT = 18339a61a1df18b72e4000267796adc6 +PLAINTEXT = e8e59454fc1da16b921fe87c5e90edad + +COUNT = 58 +KEY = 6889e87cf88bdce7cc403f7e13174a7a7a9d64dc8edeef44 +IV = e8e59454fc1da16b921fe87c5e90edad +CIPHERTEXT = 33b4dc3da6adbfac41c980550144bde7 +PLAINTEXT = 7fd9404657d4fca965634965cc2ab4fb + +COUNT = 59 +KEY = ada8908b7913534fb3997f3844c3b6d31ffe2db942f45bbf +IV = 7fd9404657d4fca965634965cc2ab4fb +CIPHERTEXT = 843308c8250d0117c52178f781988fa8 +PLAINTEXT = 370aacb4d29bd7eeb65a5ba76e077d02 + +COUNT = 60 +KEY = 23d386e96b50948a8493d38c9658613da9a4761e2cf326bd +IV = 370aacb4d29bd7eeb65a5ba76e077d02 +CIPHERTEXT = 9f5dc287023311a58e7b16621243c7c5 +PLAINTEXT = 096463a66166cd13fabc2bd21e5ea30d + +COUNT = 61 +KEY = 6a512a5896d1b4e08df7b02af73eac2e53185dcc32ad85b0 +IV = 096463a66166cd13fabc2bd21e5ea30d +CIPHERTEXT = 563e69b277c4f1414982acb1fd81206a +PLAINTEXT = dbdb741dc943b4c39e297e1e42ca4d6f + +COUNT = 62 +KEY = 95b8cf3f24a42166562cc4373e7d18edcd3123d27067c8df +IV = dbdb741dc943b4c39e297e1e42ca4d6f +CIPHERTEXT = b05b6fa9484d5ddcffe9e567b2759586 +PLAINTEXT = b4dfc84e9282fa097122c17dd6f5f395 + +COUNT = 63 +KEY = 58580b963dc5f1aae2f30c79acffe2e4bc13e2afa6923b4a +IV = b4dfc84e9282fa097122c17dd6f5f395 +CIPHERTEXT = bc5902f16b25bececde0c4a91961d0cc +PLAINTEXT = 292077ee54f7c52a0f21349a2d84e2c1 + +COUNT = 64 +KEY = 60527ab101f551bccbd37b97f80827ceb332d6358b16d98b +IV = 292077ee54f7c52a0f21349a2d84e2c1 +CIPHERTEXT = 31a177c3e1052f79380a71273c30a016 +PLAINTEXT = a62415987a6bf291e5b90332d5515261 + +COUNT = 65 +KEY = 86945d2fc098bfe66df76e0f8263d55f568bd5075e478bea +IV = a62415987a6bf291e5b90332d5515261 +CIPHERTEXT = 91ae3cdadeb5e083e6c6279ec16dee5a +PLAINTEXT = fbb668dcd5f8bbf661c71d7f6a8d6856 + +COUNT = 66 +KEY = 354b1bfb4673f06a964106d3579b6ea9374cc87834cae3bc +IV = fbb668dcd5f8bbf661c71d7f6a8d6856 +CIPHERTEXT = e4e9150a75c949aab3df46d486eb4f8c +PLAINTEXT = d6de065a9bfffd6f7b44c229361d959c + +COUNT = 67 +KEY = e6028a19381fd686409f0089cc6493c64c080a5102d77620 +IV = d6de065a9bfffd6f7b44c229361d959c +CIPHERTEXT = f09fe1aead4a2f1dd34991e27e6c26ec +PLAINTEXT = 6fa4ebdba92fba7922708ab5a02206d2 + +COUNT = 68 +KEY = d129b636b124196f2f3beb52654b29bf6e7880e4a2f570f2 +IV = 6fa4ebdba92fba7922708ab5a02206d2 +CIPHERTEXT = a61661deb2eeffc1372b3c2f893bcfe9 +PLAINTEXT = cce3ca62359297468b4bc7deeeb8f951 + +COUNT = 69 +KEY = 34ab524fc8e146f3e3d8213050d9bef9e533473a4c4d89a3 +IV = cce3ca62359297468b4bc7deeeb8f951 +CIPHERTEXT = de3098f38b6bad5de582e47979c55f9c +PLAINTEXT = de5003b03aa8b30635a2147c710b27f8 + +COUNT = 70 +KEY = ee73949c20de583d3d8822806a710dffd09153463d46ae5b +IV = de5003b03aa8b30635a2147c710b27f8 +CIPHERTEXT = 92505481df27c22cdad8c6d3e83f1ece +PLAINTEXT = f65e595ac7b7d4ac563c5d7379e85adf + +COUNT = 71 +KEY = fd3ec896e8802244cbd67bdaadc6d95386ad0e3544aef484 +IV = f65e595ac7b7d4ac563c5d7379e85adf +CIPHERTEXT = 1faba974641928c8134d5c0ac85e7a79 +PLAINTEXT = 5cb103dba92e88303cb5eb444613da65 + +COUNT = 72 +KEY = 4a23028480a216819767780104e85163ba18e57102bd2ee1 +IV = 5cb103dba92e88303cb5eb444613da65 +CIPHERTEXT = ae9cda048ff82850b71dca12682234c5 +PLAINTEXT = 0398dbad34a9daac60be33c70d86aa16 + +COUNT = 73 +KEY = 402e1e10f6d2294394ffa3ac30418bcfdaa6d6b60f3b84f7 +IV = 0398dbad34a9daac60be33c70d86aa16 +CIPHERTEXT = a7b58581abc7cd180a0d1c9476703fc2 +PLAINTEXT = 1244342dc653fa1b95b75e4436d23f96 + +COUNT = 74 +KEY = d3d00835e52ad0d486bb9781f61271d44f1188f239e9bb61 +IV = 1244342dc653fa1b95b75e4436d23f96 +CIPHERTEXT = 7cb270fd2e893d5593fe162513f8f997 +PLAINTEXT = 88a3497dc974d69b7545748da7605d37 + +COUNT = 75 +KEY = 7127a7102d6b20520e18defc3f66a74f3a54fc7f9e89e656 +IV = 88a3497dc974d69b7545748da7605d37 +CIPHERTEXT = 4f159edc0d93826ea2f7af25c841f086 +PLAINTEXT = 57eabc6b8b7fa27c8c3d38098a219475 + +COUNT = 76 +KEY = 5e7c47a68cf1bc5e59f26297b4190533b669c47614a87223 +IV = 57eabc6b8b7fa27c8c3d38098a219475 +CIPHERTEXT = 33ac8c7e105119462f5be0b6a19a9c0c +PLAINTEXT = b2dc558ac9aa85620a95f40db11b8e5b + +COUNT = 77 +KEY = 215a16d4f7b95ed2eb2e371d7db38051bcfc307ba5b3fc78 +IV = b2dc558ac9aa85620a95f40db11b8e5b +CIPHERTEXT = f87b9f665437a3ef7f2651727b48e28c +PLAINTEXT = 46e877da7b5272624fcca84f1297a95f + +COUNT = 78 +KEY = 86345e218afb90a3adc640c706e1f233f3309834b7245527 +IV = 46e877da7b5272624fcca84f1297a95f +CIPHERTEXT = b00cf445066c03a3a76e48f57d42ce71 +PLAINTEXT = 9c8f9eb8659586ecc860b3a3d4adc575 + +COUNT = 79 +KEY = 66238b3f17a6794e3149de7f637474df3b502b9763899052 +IV = 9c8f9eb8659586ecc860b3a3d4adc575 +CIPHERTEXT = 6422bb3e8fb92cdae017d51e9d5de9ed +PLAINTEXT = c04fff9c491f939c1f4472bb77ed47ef + +COUNT = 80 +KEY = 07c12344988478c4f10621e32a6be7432414592c1464d7bd +IV = c04fff9c491f939c1f4472bb77ed47ef +CIPHERTEXT = c3dfabbd1abef48a61e2a87b8f22018a +PLAINTEXT = 3a55cc3b6f352c18829d1c0b4f0065ee + +COUNT = 81 +KEY = a3dea96e44e536c2cb53edd8455ecb5ba68945275b64b253 +IV = 3a55cc3b6f352c18829d1c0b4f0065ee +CIPHERTEXT = dfb9357a2e8d7872a41f8a2adc614e06 +PLAINTEXT = e2969eb70d64b9c714673eb21725cdce + +COUNT = 82 +KEY = af46ca8c5d58483c29c5736f483a729cb2ee7b954c417f9d +IV = e2969eb70d64b9c714673eb21725cdce +CIPHERTEXT = 6238f108be7d22560c9863e219bd7efe +PLAINTEXT = 4fd47d131cd77f05c47dcaf2331cb83c + +COUNT = 83 +KEY = 5dd024d0f68810c966110e7c54ed0d997693b1677f5dc7a1 +IV = 4fd47d131cd77f05c47dcaf2331cb83c +CIPHERTEXT = 2b664bdd837b10dbf296ee5cabd058f5 +PLAINTEXT = b593cc7e6d2fbb8f6efe318d69b05db3 + +COUNT = 84 +KEY = 8118533ce757ca0bd382c20239c2b616186d80ea16ed9a12 +IV = b593cc7e6d2fbb8f6efe318d69b05db3 +CIPHERTEXT = d2b14951d716d07adcc877ec11dfdac2 +PLAINTEXT = 58bb29592439ca530c89ac772db5e596 + +COUNT = 85 +KEY = 79a54c10fe1d83eb8b39eb5b1dfb7c4514e42c9d3b587f84 +IV = 58bb29592439ca530c89ac772db5e596 +CIPHERTEXT = 3ede02e5eba4abfff8bd1f2c194a49e0 +PLAINTEXT = 361dbc51ce5bccc27f3dc41ff6b0e414 + +COUNT = 86 +KEY = 980df7bd8c432d91bd24570ad3a0b0876bd9e882cde89b90 +IV = 361dbc51ce5bccc27f3dc41ff6b0e414 +CIPHERTEXT = b29b5d2edfc0802be1a8bbad725eae7a +PLAINTEXT = ed308c47181de30058302d9991912aff + +COUNT = 87 +KEY = 20744afcc3bad7c55014db4dcbbd538733e9c51b5c79b16f +IV = ed308c47181de30058302d9991912aff +CIPHERTEXT = f4335f06c9b1051ab879bd414ff9fa54 +PLAINTEXT = c179c4c4bf40b7ffc91a2f3ac3058bd7 + +COUNT = 88 +KEY = 862dff79105d5557916d1f8974fde478faf3ea219f7c3ab8 +IV = c179c4c4bf40b7ffc91a2f3ac3058bd7 +CIPHERTEXT = 19f8f1a381d81edea659b585d3e78292 +PLAINTEXT = 57cc836948c08636905ac131e3cfcea8 + +COUNT = 89 +KEY = 36dc3bc812f82a02c6a19ce03c3d624e6aa92b107cb3f410 +IV = 57cc836948c08636905ac131e3cfcea8 +CIPHERTEXT = 70fbc4ebef71cd05b0f1c4b102a57f55 +PLAINTEXT = 36f33686dd10ddfb5756d194a360e5bd + +COUNT = 90 +KEY = 6e57aed84c2f4894f052aa66e12dbfb53dfffa84dfd311ad +IV = 36f33686dd10ddfb5756d194a360e5bd +CIPHERTEXT = 7ef26e40349a2734588b95105ed76296 +PLAINTEXT = fe422f6fbed9a7bb7ea4d638e7733f97 + +COUNT = 91 +KEY = d6d8c34f51fffbec0e1085095ff4180e435b2cbc38a02e3a +IV = fe422f6fbed9a7bb7ea4d638e7733f97 +CIPHERTEXT = 7fd0d0234dcceb1eb88f6d971dd0b378 +PLAINTEXT = c3b79d81c19cdb0003f21aac3467e0cb + +COUNT = 92 +KEY = 8870d49cd6b59b8bcda718889e68c30e40a936100cc7cef1 +IV = c3b79d81c19cdb0003f21aac3467e0cb +CIPHERTEXT = fd89ade4f76a9e4e5ea817d3874a6067 +PLAINTEXT = 47f930eb2363549aef7a5c588ee58c9e + +COUNT = 93 +KEY = 2640cd0a36b0be9b8a5e2863bd0b9794afd36a488222426f +IV = 47f930eb2363549aef7a5c588ee58c9e +CIPHERTEXT = 714343b3c2deef46ae301996e0052510 +PLAINTEXT = a7261f3ddf05432c1271e8a9632fbbe7 + +COUNT = 94 +KEY = 8a1c531cd236634e2d78375e620ed4b8bda282e1e10df988 +IV = a7261f3ddf05432c1271e8a9632fbbe7 +CIPHERTEXT = e6909ece83b2cf3eac5c9e16e486ddd5 +PLAINTEXT = 56c76488de17ef2f58dbcb5058299e3a + +COUNT = 95 +KEY = ef18f2eced30df9e7bbf53d6bc193b97e57949b1b92467b2 +IV = 56c76488de17ef2f58dbcb5058299e3a +CIPHERTEXT = 4db171ac2db9cca76504a1f03f06bcd0 +PLAINTEXT = d65db61e25d5c579b5c2e932c31fba52 + +COUNT = 96 +KEY = e5c33d6a6c72b146ade2e5c899ccfeee50bba0837a3bdde0 +IV = d65db61e25d5c579b5c2e932c31fba52 +CIPHERTEXT = 76ba2a8a3346c6270adbcf8681426ed8 +PLAINTEXT = fe8f1b1448899257105783430e9c7897 + +COUNT = 97 +KEY = 6eb3bb93e73e1429536dfedcd1456cb940ec23c074a7a577 +IV = fe8f1b1448899257105783430e9c7897 +CIPHERTEXT = a0eeb9442ce6c7c58b7086f98b4ca56f +PLAINTEXT = d1c7e8c865f7c2cfc9de3de911dca8e2 + +COUNT = 98 +KEY = 1c7ca814c258c55e82aa1614b4b2ae7689321e29657b0d95 +IV = d1c7e8c865f7c2cfc9de3de911dca8e2 +CIPHERTEXT = 7211b1989c91593972cf13872566d177 +PLAINTEXT = 2d3e91156cc16c4a07b74247712f0b0c + +COUNT = 99 +KEY = 9a6ae1a703d7d1c9af948701d873c23c8e855c6e14540699 +IV = 2d3e91156cc16c4a07b74247712f0b0c +CIPHERTEXT = e7a3a113e4036b05861649b3c18f1497 +PLAINTEXT = a7de9daa7ce23859a4110af98f3453b1 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT256.rsp new file mode 100644 index 000000000..a10cb5da3 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MCT256.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:57 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 3bfe82b841d969e462c9e0e95146d120d28ecfdac49b42f45e53c5abb900ccb2 +IV = bea7ae84b0d16bd65e1fc05d74186601 +PLAINTEXT = 08cb9f7ebf92c4df696de5a2edb7c313 +CIPHERTEXT = 61a721d192b0ad2ad2c33afe742fec48 + +COUNT = 1 +KEY = 5e5cbd7980287d8017ad0cafc2b7acbcb329ee0b562befde8c90ff55cd2f20fa +IV = 61a721d192b0ad2ad2c33afe742fec48 +PLAINTEXT = 65a23fc1c1f114647564ec4693f17d9c +CIPHERTEXT = f74124001f05abbbee8ef6142e5e57ca + +COUNT = 2 +KEY = 7e5d072fdc1f57e10ce7621327073eda4468ca0b492e4465621e0941e3717730 +IV = f74124001f05abbbee8ef6142e5e57ca +PLAINTEXT = 2001ba565c372a611b4a6ebce5b09266 +CIPHERTEXT = 2b88a577d046c72199e089bc3f77ba22 + +COUNT = 3 +KEY = d52d702530cc89e47fa20dc2079e1edb6fe06f7c99688344fbfe80fddc06cd12 +IV = 2b88a577d046c72199e089bc3f77ba22 +PLAINTEXT = ab70770aecd3de0573456fd120992001 +CIPHERTEXT = 55240b18448719023e15d7d516e49ef4 + +COUNT = 4 +KEY = d41f27e4f4127ccd8f5e2471c6c50c9b3ac46464ddef9a46c5eb5728cae253e6 +IV = 55240b18448719023e15d7d516e49ef4 +PLAINTEXT = 013257c1c4def529f0fc29b3c15b1240 +CIPHERTEXT = 4c861ce631e9ef1fe8f2f0ea687fc564 + +COUNT = 5 +KEY = 6ed12ce5f410b7c3cd3f323e0434e67776427882ec0675592d19a7c2a29d9682 +IV = 4c861ce631e9ef1fe8f2f0ea687fc564 +PLAINTEXT = bace0b010002cb0e4261164fc2f1eaec +CIPHERTEXT = 02e0e3bcc831f41ad3a557d7682c952f + +COUNT = 6 +KEY = 39c3b8c60d4c4b92f7274ada417277ad74a29b3e24378143febcf015cab103ad +IV = 02e0e3bcc831f41ad3a557d7682c952f +PLAINTEXT = 57129423f95cfc513a1878e4454691da +CIPHERTEXT = 2a4922d47a45b07b5abb67ac93852cab + +COUNT = 7 +KEY = 86dc6dacfae3b1b9f44e42646c579b365eebb9ea5e723138a40797b959342f06 +IV = 2a4922d47a45b07b5abb67ac93852cab +PLAINTEXT = bf1fd56af7affa2b036908be2d25ec9b +CIPHERTEXT = 234b9d1fed27d00942cf68415f0b0a8a + +COUNT = 8 +KEY = 476ecf1a07feb0961409f6f86ec5bdd57da024f5b355e131e6c8fff8063f258c +IV = 234b9d1fed27d00942cf68415f0b0a8a +PLAINTEXT = c1b2a2b6fd1d012fe047b49c029226e3 +CIPHERTEXT = 574622548378cd5d4d3682e02c29a322 + +COUNT = 9 +KEY = 2c98ac48c31a4267ab6a4f6185226a782ae606a1302d2c6cabfe7d182a1686ae +IV = 574622548378cd5d4d3682e02c29a322 +PLAINTEXT = 6bf66352c4e4f2f1bf63b999ebe7d7ad +CIPHERTEXT = 0a35bc07e60ff06135026df746746b9b + +COUNT = 10 +KEY = 6cf25fb446c0334271b4e0053b58797120d3baa6d622dc0d9efc10ef6c62ed35 +IV = 0a35bc07e60ff06135026df746746b9b +PLAINTEXT = 406af3fc85da7125dadeaf64be7a1309 +CIPHERTEXT = 057a72ca69990aae3f6f166f1ea90236 + +COUNT = 11 +KEY = 11b6d9cab2d242c0308a2cd5ee0155b125a9c86cbfbbd6a3a193068072cbef03 +IV = 057a72ca69990aae3f6f166f1ea90236 +PLAINTEXT = 7d44867ef4127182413eccd0d5592cc0 +CIPHERTEXT = 903ff01420ec0c1cfd84c70680b82c18 + +COUNT = 12 +KEY = fd64f95ba1c9508b67b13072d35997ecb59638789f57dabf5c17c186f273c31b +IV = 903ff01420ec0c1cfd84c70680b82c18 +PLAINTEXT = ecd22091131b124b573b1ca73d58c25d +CIPHERTEXT = ea47ff1a1ddc3a9b983890c4e91946af + +COUNT = 13 +KEY = 27a1329b5eecdb84a92df9a6eebbd6aa5fd1c762828be024c42f51421b6a85b4 +IV = ea47ff1a1ddc3a9b983890c4e91946af +PLAINTEXT = dac5cbc0ff258b0fce9cc9d43de24146 +CIPHERTEXT = 009702469439a97928ec895c68edfc50 + +COUNT = 14 +KEY = e6dc6a51afc3bd485039e06fd9616e575f46c52416b2495decc3d81e738779e4 +IV = 009702469439a97928ec895c68edfc50 +PLAINTEXT = c17d58caf12f66ccf91419c937dab8fd +CIPHERTEXT = 1f4d4c7f0e3eca7d2ac953327c071fd9 + +COUNT = 15 +KEY = 2ec46b1afdbec4927552e569ade52003400b895b188c8320c60a8b2c0f80663d +IV = 1f4d4c7f0e3eca7d2ac953327c071fd9 +PLAINTEXT = c818014b527d79da256b050674844e54 +CIPHERTEXT = d4b0f89e57a9672fe934bc0697a9c536 + +COUNT = 16 +KEY = 4fa299fd9a5c86ab72f3be946f17f2e594bb71c54f25e40f2f3e372a9829a30b +IV = d4b0f89e57a9672fe934bc0697a9c536 +PLAINTEXT = 6166f2e767e2423907a15bfdc2f2d2e6 +CIPHERTEXT = aefc449b9f9c8d8fee98d2c2669edfa3 + +COUNT = 17 +KEY = 6a28825187173496e689f2fef328deed3a47355ed0b96980c1a6e5e8feb77ca8 +IV = aefc449b9f9c8d8fee98d2c2669edfa3 +PLAINTEXT = 258a1bac1d4bb23d947a4c6a9c3f2c08 +CIPHERTEXT = 91d06749c8c2f0cffa9d5f4a8a76d568 + +COUNT = 18 +KEY = 74263c83670a47482082eeb82d0fcfbfab975217187b994f3b3bbaa274c1a9c0 +IV = 91d06749c8c2f0cffa9d5f4a8a76d568 +PLAINTEXT = 1e0ebed2e01d73dec60b1c46de271152 +CIPHERTEXT = 2e78f6131456098e855ddb09bacfd0ed + +COUNT = 19 +KEY = 9771a64d5031b6409ef97d65e28338a785efa4040c2d90c1be6661abce0e792d +IV = 2e78f6131456098e855ddb09bacfd0ed +PLAINTEXT = e3579ace373bf108be7b93ddcf8cf718 +CIPHERTEXT = 124337863baf5b946624ae5bf09dc558 + +COUNT = 20 +KEY = 7c026fd8afd589f963916533a02fdc1597ac93823782cb55d842cff03e93bc75 +IV = 124337863baf5b946624ae5bf09dc558 +PLAINTEXT = eb73c995ffe43fb9fd68185642ace4b2 +CIPHERTEXT = e620b55d47f770bc23c25726014835d2 + +COUNT = 21 +KEY = 4c4423f4260d26228b48c0cc931498d0718c26df7075bbe9fb8098d63fdb89a7 +IV = e620b55d47f770bc23c25726014835d2 +PLAINTEXT = 30464c2c89d8afdbe8d9a5ff333b44c5 +CIPHERTEXT = 263a29823bda6e7bf11b10e9620378c7 + +COUNT = 22 +KEY = af4b701bf460ae7279703ab7ce53cb5c57b60f5d4bafd5920a9b883f5dd8f160 +IV = 263a29823bda6e7bf11b10e9620378c7 +PLAINTEXT = e30f53efd26d8850f238fa7b5d47538c +CIPHERTEXT = aacf62a6295a35c4f8c6867ffc5e0a3e + +COUNT = 23 +KEY = eb2c4b6aa81f52a3fdf72791daad669ffd796dfb62f5e056f25d0e40a186fb5e +IV = aacf62a6295a35c4f8c6867ffc5e0a3e +PLAINTEXT = 44673b715c7ffcd184871d2614feadc3 +CIPHERTEXT = 254ccb70608394baaa985b743b326f2c + +COUNT = 24 +KEY = 7cef42e705a26246961a7a534b9b2775d835a68b027674ec58c555349ab49472 +IV = 254ccb70608394baaa985b743b326f2c +PLAINTEXT = 97c3098dadbd30e56bed5dc2913641ea +CIPHERTEXT = cadff380297a9f491bb4a021503029e2 + +COUNT = 25 +KEY = 9e00f80a0c2f7d3be8df7e9c86f4ec2812ea550b2b0ceba54371f515ca84bd90 +IV = cadff380297a9f491bb4a021503029e2 +PLAINTEXT = e2efbaed098d1f7d7ec504cfcd6fcb5d +CIPHERTEXT = 0b5e2244565316a2582ab5e109af80d3 + +COUNT = 26 +KEY = e71d70b737d4b7f3b5186aeaf6bbd4d519b4774f7d5ffd071b5b40f4c32b3d43 +IV = 0b5e2244565316a2582ab5e109af80d3 +PLAINTEXT = 791d88bd3bfbcac85dc71476704f38fd +CIPHERTEXT = 4a7c5ccb163c46702b68335cb392ddb6 + +COUNT = 27 +KEY = 430a21da3e604243efc1e78c850ad00753c82b846b63bb77303373a870b9e0f5 +IV = 4a7c5ccb163c46702b68335cb392ddb6 +PLAINTEXT = a417516d09b4f5b05ad98d6673b104d2 +CIPHERTEXT = 04b6d9420822ee43c050fc536cf74a6c + +COUNT = 28 +KEY = 00ddc7a30385a8209ffed6b33b56ef79577ef2c663415534f0638ffb1c4eaa99 +IV = 04b6d9420822ee43c050fc536cf74a6c +PLAINTEXT = 43d7e6793de5ea63703f313fbe5c3f7e +CIPHERTEXT = ec0d3a702906f863578244fdbd5b1757 + +COUNT = 29 +KEY = 8a330598eae7998c7657d59e33685dcdbb73c8b64a47ad57a7e1cb06a115bdce +IV = ec0d3a702906f863578244fdbd5b1757 +PLAINTEXT = 8aeec23be96231ace9a9032d083eb2b4 +CIPHERTEXT = db6d66d3c83b08a1982c97877f1094fa + +COUNT = 30 +KEY = 92f956da1a51eaac0d7823d1f5506f30601eae65827ca5f63fcd5c81de052934 +IV = db6d66d3c83b08a1982c97877f1094fa +PLAINTEXT = 18ca5342f0b673207b2ff64fc63832fd +CIPHERTEXT = 90615cb00c4bd8cecd5270984b41d1fd + +COUNT = 31 +KEY = a3c48cdc916fd66422eb4e06824a447ef07ff2d58e377d38f29f2c199544f8c9 +IV = 90615cb00c4bd8cecd5270984b41d1fd +PLAINTEXT = 313dda068b3e3cc82f936dd7771a2b4e +CIPHERTEXT = 348c05f7850cc42bbd81b77923f66869 + +COUNT = 32 +KEY = b0b6d1515bfc250ccd4c1bf5385f2b3fc4f3f7220b3bb9134f1e9b60b6b290a0 +IV = 348c05f7850cc42bbd81b77923f66869 +PLAINTEXT = 13725d8dca93f368efa755f3ba156f41 +CIPHERTEXT = 6dd8ecedeb24ac04d7c9dddc4134279f + +COUNT = 33 +KEY = c6f543053202b2ae065f41b4dc6beafea92b1bcfe01f151798d746bcf786b73f +IV = 6dd8ecedeb24ac04d7c9dddc4134279f +PLAINTEXT = 7643925469fe97a2cb135a41e434c1c1 +CIPHERTEXT = 35007c6dab7c52a904549157ae6c2ea4 + +COUNT = 34 +KEY = 8bf6c6a493d2df4d1694e3e443e1526a9c2b67a24b6347be9c83d7eb59ea999b +IV = 35007c6dab7c52a904549157ae6c2ea4 +PLAINTEXT = 4d0385a1a1d06de310cba2509f8ab894 +CIPHERTEXT = c9b4c55e7f70adbd83bc808947ee3061 + +COUNT = 35 +KEY = 778dcb6951560d15871e4b184ba07184559fa2fc3413ea031f3f57621e04a9fa +IV = c9b4c55e7f70adbd83bc808947ee3061 +PLAINTEXT = fc7b0dcdc284d258918aa8fc084123ee +CIPHERTEXT = f7a0d2003e9530b0a60951440f9ae58e + +COUNT = 36 +KEY = 41f22927546f0a172c9b2dc3ea538292a23f70fc0a86dab3b9360626119e4c74 +IV = f7a0d2003e9530b0a60951440f9ae58e +PLAINTEXT = 367fe24e05390702ab8566dba1f3f316 +CIPHERTEXT = 151c01c306bb28403abf89c484d27126 + +COUNT = 37 +KEY = f0c6ecb82e741850d8f12ea0fdf455bfb723713f0c3df2f383898fe2954c3d52 +IV = 151c01c306bb28403abf89c484d27126 +PLAINTEXT = b134c59f7a1b1247f46a036317a7d72d +CIPHERTEXT = 8c8ea2a6a5e4765e83f99239c2cadd20 + +COUNT = 38 +KEY = 64f191555040dc02447866c1f7b547e23badd399a9d984ad00701ddb5786e072 +IV = 8c8ea2a6a5e4765e83f99239c2cadd20 +PLAINTEXT = 94377ded7e34c4529c8948610a41125d +CIPHERTEXT = 7e173d10bd8b13513b13e9ccac95a576 + +COUNT = 39 +KEY = 3c122dc0f5b25d2d03b68a620f5d72b445baee89145297fc3b63f417fb134504 +IV = 7e173d10bd8b13513b13e9ccac95a576 +PLAINTEXT = 58e3bc95a5f2812f47ceeca3f8e83556 +CIPHERTEXT = 1661776222ea1b3563b3224e32f47c18 + +COUNT = 40 +KEY = 9f37abb76970cd04169cfee025c3098853db99eb36b88cc958d0d659c9e7391c +IV = 1661776222ea1b3563b3224e32f47c18 +PLAINTEXT = a32586779cc29029152a74822a9e7b3c +CIPHERTEXT = 994d68769f9edd9f25294f70a82273a1 + +COUNT = 41 +KEY = 4b91d1b40c3bf7b05629ad36f23089d2ca96f19da92651567df9992961c54abd +IV = 994d68769f9edd9f25294f70a82273a1 +PLAINTEXT = d4a67a03654b3ab440b553d6d7f3805a +CIPHERTEXT = 1aa0db6d9a5fb79b3da96a2a1a1ea940 + +COUNT = 42 +KEY = ce83015dcce671f1db424c9d55e72d4ad0362af03379e6cd4050f3037bdbe3fd +IV = 1aa0db6d9a5fb79b3da96a2a1a1ea940 +PLAINTEXT = 8512d0e9c0dd86418d6be1aba7d7a498 +CIPHERTEXT = a4b8140d11468621c4e226798d7093f2 + +COUNT = 43 +KEY = 9c8fc684de24dc239447720179982646748e3efd223f60ec84b2d57af6ab700f +IV = a4b8140d11468621c4e226798d7093f2 +PLAINTEXT = 520cc7d912c2add24f053e9c2c7f0b0c +CIPHERTEXT = 2312a6cbe30c73f126c2fc0fc07e9f7a + +COUNT = 44 +KEY = 06bf8300e416d3e06be7a7da6c66527d579c9836c133131da270297536d5ef75 +IV = 2312a6cbe30c73f126c2fc0fc07e9f7a +PLAINTEXT = 9a3045843a320fc3ffa0d5db15fe743b +CIPHERTEXT = b1ddd1b804e960fc9ef1507e63d79327 + +COUNT = 45 +KEY = 5e770fded688f24b6ac4dfa3e337a0bde641498ec5da73e13c81790b55027c52 +IV = b1ddd1b804e960fc9ef1507e63d79327 +PLAINTEXT = 58c88cde329e21ab012378798f51f2c0 +CIPHERTEXT = 48f8ac9a7115da9560ffcc0755b2bb18 + +COUNT = 46 +KEY = 4d5bf0711cb0d930400f30617099b225aeb9e514b4cfa9745c7eb50c00b0c74a +IV = 48f8ac9a7115da9560ffcc0755b2bb18 +PLAINTEXT = 132cffafca382b7b2acbefc293ae1298 +CIPHERTEXT = 73bc73d18ee47895ac9f71d1feaa9646 + +COUNT = 47 +KEY = d2c42462134995f117043f0f5ea0c46ddd0596c53a2bd1e1f0e1c4ddfe1a510c +IV = 73bc73d18ee47895ac9f71d1feaa9646 +PLAINTEXT = 9f9fd4130ff94cc1570b0f6e2e397648 +CIPHERTEXT = d58a4c51b7c5f11c6e9dfea880b89175 + +COUNT = 48 +KEY = 021cb0bd9d7601f9ad9734005a1982bb088fda948dee20fd9e7c3a757ea2c079 +IV = d58a4c51b7c5f11c6e9dfea880b89175 +PLAINTEXT = d0d894df8e3f9408ba930b0f04b946d6 +CIPHERTEXT = c94acd46b90480dcae3400addbff2f4f + +COUNT = 49 +KEY = 7644181f01114f6a5dd786a48dee965bc1c517d234eaa02130483ad8a55def36 +IV = c94acd46b90480dcae3400addbff2f4f +PLAINTEXT = 7458a8a29c674e93f040b2a4d7f714e0 +CIPHERTEXT = 3c967adb0ac50151ad66cd23093f7097 + +COUNT = 50 +KEY = 1a92181fd72fa43a2ddac1b6b10f8579fd536d093e2fa1709d2ef7fbac629fa1 +IV = 3c967adb0ac50151ad66cd23093f7097 +PLAINTEXT = 6cd60000d63eeb50700d47123ce11322 +CIPHERTEXT = 25c8b1f6292bdea15bbdb8006b52bfe8 + +COUNT = 51 +KEY = 68c4fc6945e441fa966d9877d20f9c42d89bdcff17047fd1c6934ffbc7302049 +IV = 25c8b1f6292bdea15bbdb8006b52bfe8 +PLAINTEXT = 7256e47692cbe5c0bbb759c16300193b +CIPHERTEXT = 27a72831f600496eb205785df340c095 + +COUNT = 52 +KEY = 546335056396857e30f9ac9d4844d218ff3cf4cee10436bf749637a63470e0dc +IV = 27a72831f600496eb205785df340c095 +PLAINTEXT = 3ca7c96c2672c484a69434ea9a4b4e5a +CIPHERTEXT = 8789e31766a4ad606651ac1a53b74255 + +COUNT = 53 +KEY = e3c1958d0d4d3956d1fb62f6b05509af78b517d987a09bdf12c79bbc67c7a289 +IV = 8789e31766a4ad606651ac1a53b74255 +PLAINTEXT = b7a2a0886edbbc28e102ce6bf811dbb7 +CIPHERTEXT = ceeec4501b6f843c0b0bdebe61399a25 + +COUNT = 54 +KEY = 0854c02c195407e5fd75a50e5ab63f25b65bd3899ccf1fe319cc450206fe38ac +IV = ceeec4501b6f843c0b0bdebe61399a25 +PLAINTEXT = eb9555a114193eb32c8ec7f8eae3368a +CIPHERTEXT = e21e42514c15f5dc96eab92620ff4234 + +COUNT = 55 +KEY = 21b63903968c3195f4df67fdaadff23f544591d8d0daea3f8f26fc2426017a98 +IV = e21e42514c15f5dc96eab92620ff4234 +PLAINTEXT = 29e2f92f8fd8367009aac2f3f069cd1a +CIPHERTEXT = c2e2da9e8ca5cb2cb1dd2be6d5e1b925 + +COUNT = 56 +KEY = 821ba57ac0161493fa49a8f6eaff52c196a74b465c7f21133efbd7c2f3e0c3bd +IV = c2e2da9e8ca5cb2cb1dd2be6d5e1b925 +PLAINTEXT = a3ad9c79569a25060e96cf0b4020a0fe +CIPHERTEXT = 364b9931b0a3a7e704425ae56c91ca7c + +COUNT = 57 +KEY = f81d69c21ba8eebac4bb0118bd3cebbda0ecd277ecdc86f43ab98d279f7109c1 +IV = 364b9931b0a3a7e704425ae56c91ca7c +PLAINTEXT = 7a06ccb8dbbefa293ef2a9ee57c3b97c +CIPHERTEXT = 6719dabb092bca600f5c534f842ceaf6 + +COUNT = 58 +KEY = 7e38862509c83b546266d8eacd8d7c40c7f508cce5f74c9435e5de681b5de337 +IV = 6719dabb092bca600f5c534f842ceaf6 +PLAINTEXT = 8625efe71260d5eea6ddd9f270b197fd +CIPHERTEXT = 6de4f66b31b8990329b17d94b5d6ff3b + +COUNT = 59 +KEY = c9f6e6a10b4eae96b5bdb369e1a44fe3aa11fea7d44fd5971c54a3fcae8b1c0c +IV = 6de4f66b31b8990329b17d94b5d6ff3b +PLAINTEXT = b7ce6084028695c2d7db6b832c2933a3 +CIPHERTEXT = f1260cd58cbd1b7c07cc854d1b3d1984 + +COUNT = 60 +KEY = a7d1bf9352b9e5683c2fbd847537a80d5b37f27258f2ceeb1b9826b1b5b60588 +IV = f1260cd58cbd1b7c07cc854d1b3d1984 +PLAINTEXT = 6e27593259f74bfe89920eed9493e7ee +CIPHERTEXT = 6ec7c50a7f9deb266dc3c43769e20576 + +COUNT = 61 +KEY = c2c1cf9cc9c440a5dcd80730c8e96a6335f03778276f25cd765be286dc5400fe +IV = 6ec7c50a7f9deb266dc3c43769e20576 +PLAINTEXT = 6510700f9b7da5cde0f7bab4bddec26e +CIPHERTEXT = be05a1f80e86ce4e7f1472c48e999f3d + +COUNT = 62 +KEY = ae7fa584f7a57a7896d3043e21b2a9b18bf5968029e9eb83094f904252cd9fc3 +IV = be05a1f80e86ce4e7f1472c48e999f3d +PLAINTEXT = 6cbe6a183e613add4a0b030ee95bc3d2 +CIPHERTEXT = 45a98aa594438d7d588dad0ef81099ff + +COUNT = 63 +KEY = 0236ff79909847976b8277a7fda10f50ce5c1c25bdaa66fe51c23d4caadd063c +IV = 45a98aa594438d7d588dad0ef81099ff +PLAINTEXT = ac495afd673d3deffd517399dc13a6e1 +CIPHERTEXT = 89c0405e4c676d0c7e446b3224714b1d + +COUNT = 64 +KEY = d5960704e350bf13149dec08e3e4b29d479c5c7bf1cd0bf22f86567e8eac4d21 +IV = 89c0405e4c676d0c7e446b3224714b1d +PLAINTEXT = d7a0f87d73c8f8847f1f9baf1e45bdcd +CIPHERTEXT = 69ed7a88459eadd1b09839afe916e799 + +COUNT = 65 +KEY = 7b69b9e6c95540e9812b31dec91d18fd2e7126f3b453a6239f1e6fd167baaab8 +IV = 69ed7a88459eadd1b09839afe916e799 +PLAINTEXT = aeffbee22a05fffa95b6ddd62af9aa60 +CIPHERTEXT = 8b476c78a96cd24f6b9dde0e8df20851 + +COUNT = 66 +KEY = dd1e68e526306ff370dced9a0f4f73e8a5364a8b1d3f746cf483b1dfea48a2e9 +IV = 8b476c78a96cd24f6b9dde0e8df20851 +PLAINTEXT = a677d103ef652f1af1f7dc44c6526b15 +CIPHERTEXT = 3288d6f2f73c898ae69aabdc0e07af20 + +COUNT = 67 +KEY = aa48f0b09cab3d2433640604ff17000797be9c79ea03fde612191a03e44f0dc9 +IV = 3288d6f2f73c898ae69aabdc0e07af20 +PLAINTEXT = 77569855ba9b52d743b8eb9ef05873ef +CIPHERTEXT = bd8922a2ad1f753f20efb6544ad85b67 + +COUNT = 68 +KEY = dc450dd25f25c71fab1c63393f8e8b5f2a37bedb471c88d932f6ac57ae9756ae +IV = bd8922a2ad1f753f20efb6544ad85b67 +PLAINTEXT = 760dfd62c38efa3b9878653dc0998b58 +CIPHERTEXT = 00a1c9bc1958a7185374e519f1313c89 + +COUNT = 69 +KEY = a037f537584a4da3d2da20dabe43f1352a9677675e442fc16182494e5fa66a27 +IV = 00a1c9bc1958a7185374e519f1313c89 +PLAINTEXT = 7c72f8e5076f8abc79c643e381cd7a6a +CIPHERTEXT = 7fa26db6fd28c6b1a23e3b1d9ed12b74 + +COUNT = 70 +KEY = 29547145033451e9893fcfcae4375aeb55341ad1a36ce970c3bc7253c1774153 +IV = 7fa26db6fd28c6b1a23e3b1d9ed12b74 +PLAINTEXT = 896384725b7e1c4a5be5ef105a74abde +CIPHERTEXT = 0b533e463ee10057b80472e7836e2528 + +COUNT = 71 +KEY = b1e081ff57853262499dc6dca128a5325e6724979d8de9277bb800b44219647b +IV = 0b533e463ee10057b80472e7836e2528 +PLAINTEXT = 98b4f0ba54b1638bc0a20916451fffd9 +CIPHERTEXT = c7f1799bd347a6976fcdc58e96f4151f + +COUNT = 72 +KEY = 2f17206017402b233a82aa0b11b02efe99965d0c4eca4fb01475c53ad4ed7164 +IV = c7f1799bd347a6976fcdc58e96f4151f +PLAINTEXT = 9ef7a19f40c51941731f6cd7b0988bcc +CIPHERTEXT = a2770ab0e7f75e53f18bd3bf1d9bee43 + +COUNT = 73 +KEY = e6a2843099901a46075226ce692d07fa3be157bca93d11e3e5fe1685c9769f27 +IV = a2770ab0e7f75e53f18bd3bf1d9bee43 +PLAINTEXT = c9b5a4508ed031653dd08cc5789d2904 +CIPHERTEXT = 78045ebabb509fa7a7f2b451bee9bc9d + +COUNT = 74 +KEY = bb08f849eaa096353a81ff3b157539c243e50906126d8e44420ca2d4779f23ba +IV = 78045ebabb509fa7a7f2b451bee9bc9d +PLAINTEXT = 5daa7c7973308c733dd3d9f57c583e38 +CIPHERTEXT = 84176856d15e73ca3d88b479128b0c6e + +COUNT = 75 +KEY = 019910ab8ff1ba55c616bf154bb6bfa0c7f26150c333fd8e7f8416ad65142fd4 +IV = 84176856d15e73ca3d88b479128b0c6e +PLAINTEXT = ba91e8e265512c60fc97402e5ec38662 +CIPHERTEXT = 6a13994159a5e1f5841ecfaf950b9073 + +COUNT = 76 +KEY = 6493d400b1f0d58e20efa2b98419c329ade1f8119a961c7bfb9ad902f01fbfa7 +IV = 6a13994159a5e1f5841ecfaf950b9073 +PLAINTEXT = 650ac4ab3e016fdbe6f91daccfaf7c89 +CIPHERTEXT = 6c0c83062e748466605f9145e4f2d083 + +COUNT = 77 +KEY = 5863812dcfc12a5d83a38629e01e6e09c1ed7b17b4e2981d9bc5484714ed6f24 +IV = 6c0c83062e748466605f9145e4f2d083 +PLAINTEXT = 3cf0552d7e31ffd3a34c24906407ad20 +CIPHERTEXT = 69b43349d67e9b46ffd9919542b0403a + +COUNT = 78 +KEY = 1a2de513bd4302cfb042c9525fee87e2a859485e629c035b641cd9d2565d2f1e +IV = 69b43349d67e9b46ffd9919542b0403a +PLAINTEXT = 424e643e7282289233e14f7bbff0e9eb +CIPHERTEXT = fd4bf06fabb2b71ccf1edc1dd97fc0a0 + +COUNT = 79 +KEY = a8d5565c77d5f98f249e1733a8f465c45512b831c92eb447ab0205cf8f22efbe +IV = fd4bf06fabb2b71ccf1edc1dd97fc0a0 +PLAINTEXT = b2f8b34fca96fb4094dcde61f71ae226 +CIPHERTEXT = 71a0537d11bc880686e9b76a1c1e3587 + +COUNT = 80 +KEY = 41d18267c9cef7cecb5abf4972a5524624b2eb4cd8923c412debb2a5933cda39 +IV = 71a0537d11bc880686e9b76a1c1e3587 +PLAINTEXT = e904d43bbe1b0e41efc4a87ada513782 +CIPHERTEXT = c069f0df357e0086cb476997e7b3f1b5 + +COUNT = 81 +KEY = 6a294c35f9852becc8286a89ce546bbbe4db1b93edec3cc7e6acdb32748f2b8c +IV = c069f0df357e0086cb476997e7b3f1b5 +PLAINTEXT = 2bf8ce52304bdc220372d5c0bcf139fd +CIPHERTEXT = da272a683738f028a9d677e52f451871 + +COUNT = 82 +KEY = c9c45b78545f1447e59d44e34b024d973efc31fbdad4ccef4f7aacd75bca33fd +IV = da272a683738f028a9d677e52f451871 +PLAINTEXT = a3ed174dadda3fab2db52e6a8556262c +CIPHERTEXT = 4e64bf7287e726c39101ce16c8804e27 + +COUNT = 83 +KEY = 4076d65e341ddc804f7f72a76072d7ab70988e895d33ea2cde7b62c1934a7dda +IV = 4e64bf7287e726c39101ce16c8804e27 +PLAINTEXT = 89b28d266042c8c7aae236442b709a3c +CIPHERTEXT = 824cdebcbe4e187db56616c438476d12 + +COUNT = 84 +KEY = 5ed76ecdde88dc6867d9fd2113f83513f2d45035e37df2516b1d7405ab0d10c8 +IV = 824cdebcbe4e187db56616c438476d12 +PLAINTEXT = 1ea1b893ea9500e828a68f86738ae2b8 +CIPHERTEXT = 9e4f08e8eb96dd16089219e07c94152d + +COUNT = 85 +KEY = efe37bdeec45ed1cef42cf115dbf3da66c9b58dd08eb2f47638f6de5d79905e5 +IV = 9e4f08e8eb96dd16089219e07c94152d +PLAINTEXT = b134151332cd3174889b32304e4708b5 +CIPHERTEXT = 8ec9e677bc99ff8f288ab2b5a528c8c2 + +COUNT = 86 +KEY = d69533027da7eb3ee804a1c7eb9a2ecce252beaab472d0c84b05df5072b1cd27 +IV = 8ec9e677bc99ff8f288ab2b5a528c8c2 +PLAINTEXT = 397648dc91e2062207466ed6b625136a +CIPHERTEXT = 2af17eaca3305c84bb3753bfd3d5f3da + +COUNT = 87 +KEY = ee3ebb737cc51576fb30bd30c04cfb57c8a3c00617428c4cf0328cefa1643efd +IV = 2af17eaca3305c84bb3753bfd3d5f3da +PLAINTEXT = 38ab88710162fe4813341cf72bd6d59b +CIPHERTEXT = c1730aa5b3be71e92c65c08788964524 + +COUNT = 88 +KEY = 36edf8f6e3fa26e8bd5cff0ae663ddb709d0caa3a4fcfda5dc574c6829f27bd9 +IV = c1730aa5b3be71e92c65c08788964524 +PLAINTEXT = d8d343859f3f339e466c423a262f26e0 +CIPHERTEXT = 801c50beff301bb1ec95026736e2b42b + +COUNT = 89 +KEY = 41c24a5e30ae0064241de791ad3e827189cc9a1d5bcce61430c24e0f1f10cff2 +IV = 801c50beff301bb1ec95026736e2b42b +PLAINTEXT = 772fb2a8d354268c9941189b4b5d5fc6 +CIPHERTEXT = 1b35f8d8583a8c1d4500afb6a3230231 + +COUNT = 90 +KEY = b023a08c0a820ac41d85585dbf4c38a592f962c503f66a0975c2e1b9bc33cdc3 +IV = 1b35f8d8583a8c1d4500afb6a3230231 +PLAINTEXT = f1e1ead23a2c0aa03998bfcc1272bad4 +CIPHERTEXT = 92527d1c03bfe9f4e00126b64d032f10 + +COUNT = 91 +KEY = cd74a4942e2a9f27b8ce3400f868921a00ab1fd9004983fd95c3c70ff130e2d3 +IV = 92527d1c03bfe9f4e00126b64d032f10 +PLAINTEXT = 7d57041824a895e3a54b6c5d4724aabf +CIPHERTEXT = ca66d9204e9bf6ee94ae10e4c3b6eedc + +COUNT = 92 +KEY = f0edc59adb376c6b02e06abd4d9fe5c8cacdc6f94ed27513016dd7eb32860c0f +IV = ca66d9204e9bf6ee94ae10e4c3b6eedc +PLAINTEXT = 3d99610ef51df34cba2e5ebdb5f777d2 +CIPHERTEXT = 5a7bc725418cf5c268a6bb1b10b65341 + +COUNT = 93 +KEY = 979b49f4718319b03fafdef94a2fd2ee90b601dc0f5e80d169cb6cf022305f4e +IV = 5a7bc725418cf5c268a6bb1b10b65341 +PLAINTEXT = 67768c6eaab475db3d4fb44407b03726 +CIPHERTEXT = e0ed3fc24f359b12b0c9436d12b68cf1 + +COUNT = 94 +KEY = 1e5792153c28e66151ae3d438a4f4843705b3e1e406b1bc3d9022f9d3086d3bf +IV = e0ed3fc24f359b12b0c9436d12b68cf1 +PLAINTEXT = 89ccdbe14dabffd16e01e3bac0609aad +CIPHERTEXT = 24d20498c16752156d0cd7605f15e8dd + +COUNT = 95 +KEY = 4c64054daf7e94a614c9a839239857ba54893a86810c49d6b40ef8fd6f933b62 +IV = 24d20498c16752156d0cd7605f15e8dd +PLAINTEXT = 52339758935672c74567957aa9d71ff9 +CIPHERTEXT = eb8af82fde4c7c094e7b738f417ce721 + +COUNT = 96 +KEY = d9faa49c0d0ab2476de800337883ac2bbf03c2a95f4035dffa758b722eefdc43 +IV = eb8af82fde4c7c094e7b738f417ce721 +PLAINTEXT = 959ea1d1a27426e17921a80a5b1bfb91 +CIPHERTEXT = 23f5b792b5518d3592251fd093fc5d0e + +COUNT = 97 +KEY = c6ad1c800abbb438e4218aa328c840649cf6753bea11b8ea685094a2bd13814d +IV = 23f5b792b5518d3592251fd093fc5d0e +PLAINTEXT = 1f57b81c07b1067f89c98a90504bec4f +CIPHERTEXT = 14320a3b78a99451a5ced353f74360bb + +COUNT = 98 +KEY = c080c3efd681a1125769ea57372c5e9688c47f0092b82cbbcd9e47f14a50e1f6 +IV = 14320a3b78a99451a5ced353f74360bb +PLAINTEXT = 062ddf6fdc3a152ab34860f41fe41ef2 +CIPHERTEXT = 29dd3a21d3ecfd94eab146679d982c00 + +COUNT = 99 +KEY = 9c4e425b4bf45eb5971f63919c80982ea11945214154d12f272f0196d7c8cdf6 +IV = 29dd3a21d3ecfd94eab146679d982c00 +PLAINTEXT = 5cce81b49d75ffa7c07689c6abacc6b8 +CIPHERTEXT = d142e63eb14cf9cff8a23dd8f1a8446e + + +[DECRYPT] + +COUNT = 0 +KEY = 37664842a5f64779a06bfb640ae88cdb6ea3e7634beab552b0648d34099a686e +IV = bb1802f8eac784ff66dbf2fbe63f5755 +CIPHERTEXT = b20d5526aa68bfb5d2afed5d80ef8aae +PLAINTEXT = 3d273aa41e658d8ab5bc681d43b595c2 + +COUNT = 1 +KEY = 01a44a54f6b492f1917b7145112d75195384ddc7558f38d805d8e5294a2ffdac +IV = 3d273aa41e658d8ab5bc681d43b595c2 +CIPHERTEXT = 36c202165342d58831108a211bc5f9c2 +PLAINTEXT = afcfb12eeada126ca38d4bfad7ef78dd + +COUNT = 2 +KEY = 99cdcba29e66d86a02466b13c44478c2fc4b6ce9bf552ab4a655aed39dc08571 +IV = afcfb12eeada126ca38d4bfad7ef78dd +CIPHERTEXT = 986981f668d24a9b933d1a56d5690ddb +PLAINTEXT = e36ab598f29c68c56f773f8d7dc295f5 + +COUNT = 3 +KEY = b1443133b2e64b63fbc19342396a360e1f21d9714dc94271c922915ee0021084 +IV = e36ab598f29c68c56f773f8d7dc295f5 +CIPHERTEXT = 2889fa912c809309f987f851fd2e4ecc +PLAINTEXT = 77752edc03c1de2cbbadbb5135a67388 + +COUNT = 4 +KEY = 17060c4995c25b81b594122e48891d8e6854f7ad4e089c5d728f2a0fd5a4630c +IV = 77752edc03c1de2cbbadbb5135a67388 +CIPHERTEXT = a6423d7a272410e24e55816c71e32b80 +PLAINTEXT = 84410d0768e4a22d779fb25634be1b51 + +COUNT = 5 +KEY = 1cc9a4877c41b978ced7cca345c4ed8aec15faaa26ec3e7005109859e11a785d +IV = 84410d0768e4a22d779fb25634be1b51 +CIPHERTEXT = 0bcfa8cee983e2f97b43de8d0d4df004 +PLAINTEXT = aa1ce18b59e0c763d2caf92dc08b0a9f + +COUNT = 6 +KEY = 17220b78911e46752cb523933309e7a546091b217f0cf913d7da6174219172c2 +IV = aa1ce18b59e0c763d2caf92dc08b0a9f +CIPHERTEXT = 0bebafffed5fff0de262ef3076cd0a2f +PLAINTEXT = 37f4b8b30f50a0cb95d88ce83f5ddd80 + +COUNT = 7 +KEY = 2f9a477094cd29685cc20a87b6e766f971fda392705c59d84202ed9c1eccaf42 +IV = 37f4b8b30f50a0cb95d88ce83f5ddd80 +CIPHERTEXT = 38b84c0805d36f1d7077291485ee815c +PLAINTEXT = 55e133b2126924b807b8c018b1c83212 + +COUNT = 8 +KEY = 78928def70bbfe114105b9eaf12f2a88241c902062357d6045ba2d84af049d50 +IV = 55e133b2126924b807b8c018b1c83212 +CIPHERTEXT = 5708ca9fe476d7791dc7b36d47c84c71 +PLAINTEXT = 4711ce2f8c2d7423b502deea08efc4cf + +COUNT = 9 +KEY = 478c0159cee9bd412c764d7ad81b4624630d5e0fee180943f0b8f36ea7eb599f +IV = 4711ce2f8c2d7423b502deea08efc4cf +CIPHERTEXT = 3f1e8cb6be5243506d73f49029346cac +PLAINTEXT = 2ca065a09f9629bacf814c9003ddd3d8 + +COUNT = 10 +KEY = 553e516cfc57ef55e9eaad2fa339987e4fad3baf718e20f93f39bffea4368a47 +IV = 2ca065a09f9629bacf814c9003ddd3d8 +CIPHERTEXT = 12b2503532be5214c59ce0557b22de5a +PLAINTEXT = f82bf8662d9ec756cad6017b420c2093 + +COUNT = 11 +KEY = 4f7f74b87e8193882dc6b587a62dd529b786c3c95c10e7aff5efbe85e63aaad4 +IV = f82bf8662d9ec756cad6017b420c2093 +CIPHERTEXT = 1a4125d482d67cddc42c18a805144d57 +PLAINTEXT = 20162505a121e188d785af9f9c050e1f + +COUNT = 12 +KEY = 42a33c5df04347cb2e814218743c839f9790e6ccfd310627226a111a7a3fa4cb +IV = 20162505a121e188d785af9f9c050e1f +CIPHERTEXT = 0ddc48e58ec2d4430347f79fd21156b6 +PLAINTEXT = 105dd575425d266effb62c95aa0e59ca + +COUNT = 13 +KEY = d3fec890b31f119aee7d8be02f995e8887cd33b9bf6c2049dddc3d8fd031fd01 +IV = 105dd575425d266effb62c95aa0e59ca +CIPHERTEXT = 915df4cd435c5651c0fcc9f85ba5dd17 +PLAINTEXT = 221c546148669c1e05344142aeee2b36 + +COUNT = 14 +KEY = cbd897f1bff45cc7801502c66783933fa5d167d8f70abc57d8e87ccd7edfd637 +IV = 221c546148669c1e05344142aeee2b36 +CIPHERTEXT = 18265f610ceb4d5d6e688926481acdb7 +PLAINTEXT = bfac53bfa3338fade5dadce1819c922d + +COUNT = 15 +KEY = 9fe76a60598690cc9cbd305a61622dcf1a7d3467543933fa3d32a02cff43441a +IV = bfac53bfa3338fade5dadce1819c922d +CIPHERTEXT = 543ffd91e672cc0b1ca8329c06e1bef0 +PLAINTEXT = 569db0de478d1e375115909639ebdd46 + +COUNT = 16 +KEY = d5c69e574fb7617f9e68d49aacc6b5d24ce084b913b42dcd6c2730bac6a8995c +IV = 569db0de478d1e375115909639ebdd46 +CIPHERTEXT = 4a21f4371631f1b302d5e4c0cda4981d +PLAINTEXT = fe770c83836cc818b389222b2840b625 + +COUNT = 17 +KEY = 21e47bbef8f9639fb991249b32f2f858b297883a90d8e5d5dfae1291eee82f79 +IV = fe770c83836cc818b389222b2840b625 +CIPHERTEXT = f422e5e9b74e02e027f9f0019e344d8a +PLAINTEXT = 4cc788c08290b23c33b6981d73ff7d8d + +COUNT = 18 +KEY = d3dfe17bebd4c83eb1e461bbbc9f8288fe5000fa124857e9ec188a8c9d1752f4 +IV = 4cc788c08290b23c33b6981d73ff7d8d +CIPHERTEXT = f23b9ac5132daba1087545208e6d7ad0 +PLAINTEXT = 023e474916dd7b6891a4ce7d5bb497fd + +COUNT = 19 +KEY = a356dceae9b69855315dc5f4865fd2d9fc6e47b304952c817dbc44f1c6a3c509 +IV = 023e474916dd7b6891a4ce7d5bb497fd +CIPHERTEXT = 70893d910262506b80b9a44f3ac05051 +PLAINTEXT = 43c1759e60803b48e15270281d57a43e + +COUNT = 20 +KEY = 536cc2d7785f7ddbb34f92458db1d3c2bfaf322d641517c99cee34d9dbf46137 +IV = 43c1759e60803b48e15270281d57a43e +CIPHERTEXT = f03a1e3d91e9e58e821257b10bee011b +PLAINTEXT = 047730f017def9ff51a1edef935cf233 + +COUNT = 21 +KEY = 40eb2e8095e19c99353a82948b05e182bbd802dd73cbee36cd4fd93648a89304 +IV = 047730f017def9ff51a1edef935cf233 +CIPHERTEXT = 1387ec57edbee142867510d106b43240 +PLAINTEXT = d5a7f3259b5b4b5720ab472591cab58a + +COUNT = 22 +KEY = 981b930514174c518380ff3b24b8492b6e7ff1f8e890a561ede49e13d962268e +IV = d5a7f3259b5b4b5720ab472591cab58a +CIPHERTEXT = d8f0bd8581f6d0c8b6ba7dafafbda8a9 +PLAINTEXT = c658d532d65bcc81203d5618ffee8ff1 + +COUNT = 23 +KEY = a88320025c8fac9f1e42e495286514daa82724ca3ecb69e0cdd9c80b268ca97f +IV = c658d532d65bcc81203d5618ffee8ff1 +CIPHERTEXT = 3098b3074898e0ce9dc21bae0cdd5df1 +PLAINTEXT = f386e66c20cdd261ef9561387202c603 + +COUNT = 24 +KEY = 6e24a8c8855a476717cf5b6954c5b4245ba1c2a61e06bb81224ca933548e6f7c +IV = f386e66c20cdd261ef9561387202c603 +CIPHERTEXT = c6a788cad9d5ebf8098dbffc7ca0a0fe +PLAINTEXT = 5d9cc14947dc8548111aa3368af1c9b6 + +COUNT = 25 +KEY = 9832505d99bc33bd35ff6660126d35eb063d03ef59da3ec933560a05de7fa6ca +IV = 5d9cc14947dc8548111aa3368af1c9b6 +CIPHERTEXT = f616f8951ce674da22303d0946a881cf +PLAINTEXT = a5283f6ed912692eef359298efa6ba2d + +COUNT = 26 +KEY = 69bcabdfe3dd84d349dbb981c31f74b2a3153c8180c857e7dc63989d31d91ce7 +IV = a5283f6ed912692eef359298efa6ba2d +CIPHERTEXT = f18efb827a61b76e7c24dfe1d1724159 +PLAINTEXT = 043601dfe0e51bdc55cde0e9b52f7d2f + +COUNT = 27 +KEY = acba63c3739dde022d566bf10fe6deeca7233d5e602d4c3b89ae787484f661c8 +IV = 043601dfe0e51bdc55cde0e9b52f7d2f +CIPHERTEXT = c506c81c90405ad1648dd270ccf9aa5e +PLAINTEXT = bf8675551cc1cd51b799163d5f797700 + +COUNT = 28 +KEY = dd882c644c8171cbb111c134095fad6318a5480b7cec816a3e376e49db8f16c8 +IV = bf8675551cc1cd51b799163d5f797700 +CIPHERTEXT = 71324fa73f1cafc99c47aac506b9738f +PLAINTEXT = ba7de7c5bb68809c2e1af1af106761b0 + +COUNT = 29 +KEY = edecd510e4cd393f610e21ed8caed26ba2d8afcec78401f6102d9fe6cbe87778 +IV = ba7de7c5bb68809c2e1af1af106761b0 +CIPHERTEXT = 3064f974a84c48f4d01fe0d985f17f08 +PLAINTEXT = e99502843d5259851eaa2d2107fc0620 + +COUNT = 30 +KEY = c994923fc210f0a909087947fe2489444b4dad4afad658730e87b2c7cc147158 +IV = e99502843d5259851eaa2d2107fc0620 +CIPHERTEXT = 2478472f26ddc996680658aa728a5b2f +PLAINTEXT = 6621fa591c75784a1fbc79b6c6cb839b + +COUNT = 31 +KEY = 6ededf36ca95fde60239af03fdadb5962d6c5713e6a32039113bcb710adff2c3 +IV = 6621fa591c75784a1fbc79b6c6cb839b +CIPHERTEXT = a74a4d0908850d4f0b31d64403893cd2 +PLAINTEXT = 40ebd24997532704d84e3d10ac92ed6c + +COUNT = 32 +KEY = 0e72a927f58557f1decad5bfee9747356d87855a71f0073dc975f661a64d1faf +IV = 40ebd24997532704d84e3d10ac92ed6c +CIPHERTEXT = 60ac76113f10aa17dcf37abc133af2a3 +PLAINTEXT = 3ef6eef1d108c846fca0ad199c27f031 + +COUNT = 33 +KEY = 3d5ad1a3a9a030cf15cbf99674e08bf953716baba0f8cf7b35d55b783a6aef9e +IV = 3ef6eef1d108c846fca0ad199c27f031 +CIPHERTEXT = 332878845c25673ecb012c299a77cccc +PLAINTEXT = 5f9df5480216c15e7aa6d6c08186fc91 + +COUNT = 34 +KEY = b50de67425fbcd68a97baa294698e24c0cec9ee3a2ee0e254f738db8bbec130f +IV = 5f9df5480216c15e7aa6d6c08186fc91 +CIPHERTEXT = 885737d78c5bfda7bcb053bf327869b5 +PLAINTEXT = 5dfb37d6da6f19e9f4249bcd75901118 + +COUNT = 35 +KEY = 8f28ff0717cd46be678ef96d6ef69dff5117a935788117ccbb571675ce7c0217 +IV = 5dfb37d6da6f19e9f4249bcd75901118 +CIPHERTEXT = 3a25197332368bd6cef55344286e7fb3 +PLAINTEXT = 90442fcde09e3f132399d7391bc472d9 + +COUNT = 36 +KEY = 640d00e25892d3032450c7cc4685ab06c15386f8981f28df98cec14cd5b870ce +IV = 90442fcde09e3f132399d7391bc472d9 +CIPHERTEXT = eb25ffe54f5f95bd43de3ea1287336f9 +PLAINTEXT = b84a6f17c764c753ea0965eb7b2c499d + +COUNT = 37 +KEY = 5df2c12710d5d4f4083fa967acfb485b7919e9ef5f7bef8c72c7a4a7ae943953 +IV = b84a6f17c764c753ea0965eb7b2c499d +CIPHERTEXT = 39ffc1c5484707f72c6f6eabea7ee35d +PLAINTEXT = e770ac4f603909c991d7ba15b783fb72 + +COUNT = 38 +KEY = 232f85b5a04d67ba9e09aef7b4d31f5b9e6945a03f42e645e3101eb21917c221 +IV = e770ac4f603909c991d7ba15b783fb72 +CIPHERTEXT = 7edd4492b098b34e9636079018285700 +PLAINTEXT = d2a61b48278b665f068610fa39cb3737 + +COUNT = 39 +KEY = ece966e5344d14ad7d1d378034a9a5ee4ccf5ee818c9801ae5960e4820dcf516 +IV = d2a61b48278b665f068610fa39cb3737 +CIPHERTEXT = cfc6e35094007317e3149977807abab5 +PLAINTEXT = ea5eececc900dbe0528665a2763eb7c5 + +COUNT = 40 +KEY = 62c16d23afa21cec2fd019763a2b496ca691b204d1c95bfab7106bea56e242d3 +IV = ea5eececc900dbe0528665a2763eb7c5 +CIPHERTEXT = 8e280bc69bef084152cd2ef60e82ec82 +PLAINTEXT = 1de429de72598fcf51caa4e097e36d79 + +COUNT = 41 +KEY = f02c64786a1db0a463b42edfe5969a0cbb759bdaa390d435e6dacf0ac1012faa +IV = 1de429de72598fcf51caa4e097e36d79 +CIPHERTEXT = 92ed095bc5bfac484c6437a9dfbdd360 +PLAINTEXT = eed6b39d3a6e99fbdc5fd697629700e1 + +COUNT = 42 +KEY = 22b153d6f990ac637c8670a0cbd5e38d55a3284799fe4dce3a85199da3962f4b +IV = eed6b39d3a6e99fbdc5fd697629700e1 +CIPHERTEXT = d29d37ae938d1cc71f325e7f2e437981 +PLAINTEXT = ffa4cfccc6b414edb7a49d02010a20be + +COUNT = 43 +KEY = dcbe81da1ca9fddf989f1afe393529dfaa07e78b5f4a59238d21849fa29c0ff5 +IV = ffa4cfccc6b414edb7a49d02010a20be +CIPHERTEXT = fe0fd20ce53951bce4196a5ef2e0ca52 +PLAINTEXT = 30a4c7693e57659d1334605ea4e2ebf9 + +COUNT = 44 +KEY = 6ad44144f2a7d3a4637f84b5447764159aa320e2611d3cbe9e15e4c1067ee40c +IV = 30a4c7693e57659d1334605ea4e2ebf9 +CIPHERTEXT = b66ac09eee0e2e7bfbe09e4b7d424dca +PLAINTEXT = 25ab61f243253efd0f785014d1bd42ae + +COUNT = 45 +KEY = 8c17bb34aa6e796cf8bdc9bf73fc1116bf08411022380243916db4d5d7c3a6a2 +IV = 25ab61f243253efd0f785014d1bd42ae +CIPHERTEXT = e6c3fa7058c9aac89bc24d0a378b7503 +PLAINTEXT = f4d8f45a5864b9a1ba896a825eb98aea + +COUNT = 46 +KEY = 6b22b1ce53fcf0540769356fa35846c74bd0b54a7a5cbbe22be4de57897a2c48 +IV = f4d8f45a5864b9a1ba896a825eb98aea +CIPHERTEXT = e7350afaf9928938ffd4fcd0d0a457d1 +PLAINTEXT = 66c074c28bae94b4a96c7ad2c005916d + +COUNT = 47 +KEY = 923b511a17ce0dc7e44b6f3c2bacd22b2d10c188f1f22f568288a485497fbd25 +IV = 66c074c28bae94b4a96c7ad2c005916d +CIPHERTEXT = f919e0d44432fd93e3225a5388f494ec +PLAINTEXT = 98ddc25e1569f435699976eada425441 + +COUNT = 48 +KEY = 81798bae906ab1d1d5ec7bbbd9ee82fdb5cd03d6e49bdb63eb11d26f933de964 +IV = 98ddc25e1569f435699976eada425441 +CIPHERTEXT = 1342dab487a4bc1631a71487f24250d6 +PLAINTEXT = e22fbdc279e7302cacc3dcfd055814ea + +COUNT = 49 +KEY = bd1382f271985afb19bee9c9209b723757e2be149d7ceb4f47d20e929665fd8e +IV = e22fbdc279e7302cacc3dcfd055814ea +CIPHERTEXT = 3c6a095ce1f2eb2acc529272f975f0ca +PLAINTEXT = 9643a4ab393d9413c5a7d493f42283c2 + +COUNT = 50 +KEY = a085bc134595ca1f856945538c93b8e8c1a11abfa4417f5c8275da0162477e4c +IV = 9643a4ab393d9413c5a7d493f42283c2 +CIPHERTEXT = 1d963ee1340d90e49cd7ac9aac08cadf +PLAINTEXT = 95cd5498644c75720ae3eea0fba2490d + +COUNT = 51 +KEY = 3ea3a8c4c604d232f4ba372858d2ef90546c4e27c00d0a2e889634a199e53741 +IV = 95cd5498644c75720ae3eea0fba2490d +CIPHERTEXT = 9e2614d78391182d71d3727bd4415778 +PLAINTEXT = d0eb33f2600e36ab571695cd19348590 + +COUNT = 52 +KEY = 5d6426fd9db248375fb4c23cc74da74384877dd5a0033c85df80a16c80d1b2d1 +IV = d0eb33f2600e36ab571695cd19348590 +CIPHERTEXT = 63c78e395bb69a05ab0ef5149f9f48d3 +PLAINTEXT = d6958b2247b8e96279a3963f941b8a33 + +COUNT = 53 +KEY = d60224bc93452b7978cc098421c132415212f6f7e7bbd5e7a623375314ca38e2 +IV = d6958b2247b8e96279a3963f941b8a33 +CIPHERTEXT = 8b6602410ef7634e2778cbb8e68c9502 +PLAINTEXT = f333f61c340609a60b5faf8d56d77e7d + +COUNT = 54 +KEY = 881afd3750ca44ae4c4b357cf2e6e9bda12100ebd3bddc41ad7c98de421d469f +IV = f333f61c340609a60b5faf8d56d77e7d +CIPHERTEXT = 5e18d98bc38f6fd734873cf8d327dbfc +PLAINTEXT = 70141e6d36a557a0481eeed46f805b8c + +COUNT = 55 +KEY = a392fe3484db8b329d4a4650a39493b4d1351e86e5188be1e562760a2d9d1d13 +IV = 70141e6d36a557a0481eeed46f805b8c +CIPHERTEXT = 2b880303d411cf9cd101732c51727a09 +PLAINTEXT = d1176a1bd01c2fa7e41d3a5b766c97ab + +COUNT = 56 +KEY = 1e4943165444212879885933a822c1440022749d3504a446017f4c515bf18ab8 +IV = d1176a1bd01c2fa7e41d3a5b766c97ab +CIPHERTEXT = bddbbd22d09faa1ae4c21f630bb652f0 +PLAINTEXT = e6ee400619a0f67d96494c50c0d2bb3e + +COUNT = 57 +KEY = c433b6b0abe133f168c86906d88e79aae6cc349b2ca4523b973600019b233186 +IV = e6ee400619a0f67d96494c50c0d2bb3e +CIPHERTEXT = da7af5a6ffa512d91140303570acb8ee +PLAINTEXT = b110753ef8ecd40b47663d22027d4d9e + +COUNT = 58 +KEY = abb5c998704886b32168897c9cf7773457dc41a5d4488630d0503d23995e7c18 +IV = b110753ef8ecd40b47663d22027d4d9e +CIPHERTEXT = 6f867f28dba9b54249a0e07a44790e9e +PLAINTEXT = 7cf8f475e0a0d2114285b29ad953341e + +COUNT = 59 +KEY = db17bfb88e76f7a924a53b14f0acee1f2b24b5d034e8542192d58fb9400d4806 +IV = 7cf8f475e0a0d2114285b29ad953341e +CIPHERTEXT = 70a27620fe3e711a05cdb2686c5b992b +PLAINTEXT = a27d8df655531ee4982d24e0b06820c6 + +COUNT = 60 +KEY = 325a6c944a769c2144f7d3c69233c21a8959382661bb4ac50af8ab59f06568c0 +IV = a27d8df655531ee4982d24e0b06820c6 +CIPHERTEXT = e94dd32cc4006b886052e8d2629f2c05 +PLAINTEXT = a3a48efcdde431fa24222998722e5ee1 + +COUNT = 61 +KEY = 0653c3ed6710b9b40e0b8bbcfc3cf8c32afdb6dabc5f7b3f2eda82c1824b3621 +IV = a3a48efcdde431fa24222998722e5ee1 +CIPHERTEXT = 3409af792d6625954afc587a6e0f3ad9 +PLAINTEXT = acaccdaa0b12f8f19cd0c01a50c3752a + +COUNT = 62 +KEY = 0be18dc37d0ed2e3f301d3f2a0a6e00286517b70b74d83ceb20a42dbd288430b +IV = acaccdaa0b12f8f19cd0c01a50c3752a +CIPHERTEXT = 0db24e2e1a1e6b57fd0a584e5c9a18c1 +PLAINTEXT = 914fc6648f733138f7f0ff3541935131 + +COUNT = 63 +KEY = 6903cd0acf5f639d4dfb9ed815df52c3171ebd14383eb2f645fabdee931b123a +IV = 914fc6648f733138f7f0ff3541935131 +CIPHERTEXT = 62e240c9b251b17ebefa4d2ab579b2c1 +PLAINTEXT = 0f073e1eb1a1191dd21873b96b1fb936 + +COUNT = 64 +KEY = 700012908142118cf3f04ad2b62fb6cd1819830a899fabeb97e2ce57f804ab0c +IV = 0f073e1eb1a1191dd21873b96b1fb936 +CIPHERTEXT = 1903df9a4e1d7211be0bd40aa3f0e40e +PLAINTEXT = 9582dd9ed173b8a2a5b3621465d2da99 + +COUNT = 65 +KEY = 91d979a2178964bd02cbd425d76809ba8d9b5e9458ec13493251ac439dd67195 +IV = 9582dd9ed173b8a2a5b3621465d2da99 +CIPHERTEXT = e1d96b3296cb7531f13b9ef76147bf77 +PLAINTEXT = dbe8c6160093a5d5f747f6d8f5835c54 + +COUNT = 66 +KEY = 28e48270719d38fdae49cd4fc41f7bc456739882587fb69cc5165a9b68552dc1 +IV = dbe8c6160093a5d5f747f6d8f5835c54 +CIPHERTEXT = b93dfbd266145c40ac82196a1377727e +PLAINTEXT = ab2a8ecb7c48c64946bf8dbf634f3802 + +COUNT = 67 +KEY = 99996ceb5b983fcafb3ec83bd95c3cfffd591649243770d583a9d7240b1a15c3 +IV = ab2a8ecb7c48c64946bf8dbf634f3802 +CIPHERTEXT = b17dee9b2a050737557705741d43473b +PLAINTEXT = 2bffa8216ea34df691222aa2e3ae0374 + +COUNT = 68 +KEY = 86fa17e1fcb0322522f6294100292bbbd6a6be684a943d23128bfd86e8b416b7 +IV = 2bffa8216ea34df691222aa2e3ae0374 +CIPHERTEXT = 1f637b0aa7280defd9c8e17ad9751744 +PLAINTEXT = 49386ea6b30eb85c5602ae709a39fe1d + +COUNT = 69 +KEY = 40e42c939a5685d94a7cd8690a5732029f9ed0cef99a857f448953f6728de8aa +IV = 49386ea6b30eb85c5602ae709a39fe1d +CIPHERTEXT = c61e3b7266e6b7fc688af1280a7e19b9 +PLAINTEXT = 68257a47421c844995f2b59375c0f506 + +COUNT = 70 +KEY = d9e9cde2ee2b9b21f53b16d9cce8057cf7bbaa89bb860136d17be665074d1dac +IV = 68257a47421c844995f2b59375c0f506 +CIPHERTEXT = 990de171747d1ef8bf47ceb0c6bf377e +PLAINTEXT = 7c2f419b193ceeba0bce427f04cae17d + +COUNT = 71 +KEY = 1a77ba5111c530679e0594dc4ebee4b18b94eb12a2baef8cdab5a41a0387fcd1 +IV = 7c2f419b193ceeba0bce427f04cae17d +CIPHERTEXT = c39e77b3ffeeab466b3e82058256e1cd +PLAINTEXT = c2946a303e108ea3ba41526578fb219d + +COUNT = 72 +KEY = a7ba696ed84dc109a643b288284bb2d1490081229caa612f60f4f67f7b7cdd4c +IV = c2946a303e108ea3ba41526578fb219d +CIPHERTEXT = bdcdd33fc988f16e3846265466f55660 +PLAINTEXT = 1372751d12fc8d9c0a67c972f3410e56 + +COUNT = 73 +KEY = e949402310a293b5c69c814ab01dfd345a72f43f8e56ecb36a933f0d883dd31a +IV = 1372751d12fc8d9c0a67c972f3410e56 +CIPHERTEXT = 4ef3294dc8ef52bc60df33c298564fe5 +PLAINTEXT = 7658a1720f96c3ce2ca0e41a89e58b4a + +COUNT = 74 +KEY = 15bce65547fa6e34be535feeb502c8112c2a554d81c02f7d4633db1701d85850 +IV = 7658a1720f96c3ce2ca0e41a89e58b4a +CIPHERTEXT = fcf5a6765758fd8178cfdea4051f3525 +PLAINTEXT = 2bbbe334248f69a84368fe98a4092204 + +COUNT = 75 +KEY = 3dae9f06d7a8272107a1ce091a4e8afc0791b679a54f46d5055b258fa5d17a54 +IV = 2bbbe334248f69a84368fe98a4092204 +CIPHERTEXT = 2812795390524915b9f291e7af4c42ed +PLAINTEXT = 1f95c47e4866c5b653f60a70d48a62f2 + +COUNT = 76 +KEY = 525eb0472b5a9e5c8274dbf16ae4066618047207ed29836356ad2fff715b18a6 +IV = 1f95c47e4866c5b653f60a70d48a62f2 +CIPHERTEXT = 6ff02f41fcf2b97d85d515f870aa8c9a +PLAINTEXT = 447f6b6ff37cbb986c22d80e8b12d471 + +COUNT = 77 +KEY = 01eb5a3477b85436280a114e86c7366c5c7b19681e5538fb3a8ff7f1fa49ccd7 +IV = 447f6b6ff37cbb986c22d80e8b12d471 +CIPHERTEXT = 53b5ea735ce2ca6aaa7ecabfec23300a +PLAINTEXT = 282158a64ce50984e63f9a261946649b + +COUNT = 78 +KEY = 937849621fe88748e33a1261b0f9c950745a41ce52b0317fdcb06dd7e30fa84c +IV = 282158a64ce50984e63f9a261946649b +CIPHERTEXT = 929313566850d37ecb30032f363eff3c +PLAINTEXT = 0b8b704143be5c9ca6f1af5dd34a837f + +COUNT = 79 +KEY = 1a08baf3f0d68b845b55f8e895b49c0f7fd1318f110e6de37a41c28a30452b33 +IV = 0b8b704143be5c9ca6f1af5dd34a837f +CIPHERTEXT = 8970f391ef3e0cccb86fea89254d555f +PLAINTEXT = 7ff5601ba20ce2cc21249b135c721876 + +COUNT = 80 +KEY = c0c3e6f711f663c562e15946650795fc00245194b3028f2f5b6559996c373345 +IV = 7ff5601ba20ce2cc21249b135c721876 +CIPHERTEXT = dacb5c04e120e84139b4a1aef0b309f3 +PLAINTEXT = 8ba1dd29c3cdfb14420c3cd70afe8fe1 + +COUNT = 81 +KEY = 0c1a73f40078b0d21a706e12037ff7ef8b858cbd70cf743b1969654e66c9bca4 +IV = 8ba1dd29c3cdfb14420c3cd70afe8fe1 +CIPHERTEXT = ccd99503118ed3177891375466786213 +PLAINTEXT = db583b2b4f0aa2bf84475e37dd37a5d7 + +COUNT = 82 +KEY = 503a2b80e7075a20add4aa0d5167958f50ddb7963fc5d6849d2e3b79bbfe1973 +IV = db583b2b4f0aa2bf84475e37dd37a5d7 +CIPHERTEXT = 5c205874e77feaf2b7a4c41f52186260 +PLAINTEXT = e50e752fd5ac7875f7294749ffc67db4 + +COUNT = 83 +KEY = 121bd8109c3c290d394331ef14150b39b5d3c2b9ea69aef16a077c30443864c7 +IV = e50e752fd5ac7875f7294749ffc67db4 +CIPHERTEXT = 4221f3907b3b732d94979be245729eb6 +PLAINTEXT = 75511ec1d1d34894ec10bd0a0e2f1545 + +COUNT = 84 +KEY = 4847e79c6eb7793db0e193f9bbb5b5abc082dc783bbae6658617c13a4a177182 +IV = 75511ec1d1d34894ec10bd0a0e2f1545 +CIPHERTEXT = 5a5c3f8cf28b503089a2a216afa0be92 +PLAINTEXT = 380da9cf158aa01b431174e992e87a3d + +COUNT = 85 +KEY = 7f68cb29c31a5abc1dc25feef42f5dd7f88f75b72e30467ec506b5d3d8ff0bbf +IV = 380da9cf158aa01b431174e992e87a3d +CIPHERTEXT = 372f2cb5adad2381ad23cc174f9ae87c +PLAINTEXT = cde768d354831a88cf81370bd2520db3 + +COUNT = 86 +KEY = 3bd7d316729adccc3a02afdd8195345a35681d647ab35cf60a8782d80aad060c +IV = cde768d354831a88cf81370bd2520db3 +CIPHERTEXT = 44bf183fb180867027c0f03375ba698d +PLAINTEXT = b4de1536b1119257d46e3ddb7ef3b7b2 + +COUNT = 87 +KEY = 9272bf2be91f6c13af98a8836d99927881b60852cba2cea1dee9bf03745eb1be +IV = b4de1536b1119257d46e3ddb7ef3b7b2 +CIPHERTEXT = a9a56c3d9b85b0df959a075eec0ca622 +PLAINTEXT = 53e739d12fa16b14497ad4e6aedb1a3e + +COUNT = 88 +KEY = bc97838e71610a30fa6af137a2a2b0b4d2513183e403a5b597936be5da85ab80 +IV = 53e739d12fa16b14497ad4e6aedb1a3e +CIPHERTEXT = 2ee53ca5987e662355f259b4cf3b22cc +PLAINTEXT = e5ba98c06d27c21b453ff81ab4a13e06 + +COUNT = 89 +KEY = 3eec8aeb21ebcb81dc38e2a4d4c1f01437eba943892467aed2ac93ff6e249586 +IV = e5ba98c06d27c21b453ff81ab4a13e06 +CIPHERTEXT = 827b0965508ac1b126521393766340a0 +PLAINTEXT = da036f17a36004e3044013cf870ec36f + +COUNT = 90 +KEY = 37f06572362517909ce530f4ba6e2c65ede8c6542a44634dd6ec8030e92a56e9 +IV = da036f17a36004e3044013cf870ec36f +CIPHERTEXT = 091cef9917cedc1140ddd2506eafdc71 +PLAINTEXT = b6872542ede9efb9ee5948613057b202 + +COUNT = 91 +KEY = c5afa957dee0ffc781ea629f93337e705b6fe316c7ad8cf438b5c851d97de4eb +IV = b6872542ede9efb9ee5948613057b202 +CIPHERTEXT = f25fcc25e8c5e8571d0f526b295d5215 +PLAINTEXT = 424d7ed5792b6eba45a9ca14a0ffc0bd + +COUNT = 92 +KEY = 04682ec93d9cb1fde781d9871f7fee2819229dc3be86e24e7d1c024579822456 +IV = 424d7ed5792b6eba45a9ca14a0ffc0bd +CIPHERTEXT = c1c7879ee37c4e3a666bbb188c4c9058 +PLAINTEXT = 32d481421537d1d3f68cb5170ee04335 + +COUNT = 93 +KEY = 9c8c57e9635bb73dacf65a6f94527bb82bf61c81abb1339d8b90b75277626763 +IV = 32d481421537d1d3f68cb5170ee04335 +CIPHERTEXT = 98e479205ec706c04b7783e88b2d9590 +PLAINTEXT = e34496f9ebc0824da7cb3aab1eca4f26 + +COUNT = 94 +KEY = a16562f48cfb322bbf3882c36f2204e0c8b28a784071b1d02c5b8df969a82845 +IV = e34496f9ebc0824da7cb3aab1eca4f26 +CIPHERTEXT = 3de9351defa0851613ced8acfb707f58 +PLAINTEXT = cc5796aa9d7aaf4a57e853fab9c5cbf6 + +COUNT = 95 +KEY = 539a03bfe74b96bb43e0304b30dceedb04e51cd2dd0b1e9a7bb3de03d06de3b3 +IV = cc5796aa9d7aaf4a57e853fab9c5cbf6 +CIPHERTEXT = f2ff614b6bb0a490fcd8b2885ffeea3b +PLAINTEXT = ffee70dbce751b456d79ad7430209144 + +COUNT = 96 +KEY = 254d78c28cbcd0e752aae77178829d76fb0b6c09137e05df16ca7377e04d72f7 +IV = ffee70dbce751b456d79ad7430209144 +CIPHERTEXT = 76d77b7d6bf7465c114ad73a485e73ad +PLAINTEXT = ab699ed2bda51e4ed7010782e88ecf49 + +COUNT = 97 +KEY = 0cfa341be5896bceac6752cc93556ecc5062f2dbaedb1b91c1cb74f508c3bdbe +IV = ab699ed2bda51e4ed7010782e88ecf49 +CIPHERTEXT = 29b74cd96935bb29fecdb5bdebd7f3ba +PLAINTEXT = 74b929690ab73b5744d9f95c1e4768fc + +COUNT = 98 +KEY = 2e9e709afb9f97bbb69d4ef92bfbc66224dbdbb2a46c20c685128da91684d542 +IV = 74b929690ab73b5744d9f95c1e4768fc +CIPHERTEXT = 226444811e16fc751afa1c35b8aea8ae +PLAINTEXT = 62b37d9ef968c025853ec23c9a23ec2a + +COUNT = 99 +KEY = 6365d051a798ee998a632828f05d622f4668a62c5d04e0e3002c4f958ca73968 +IV = 62b37d9ef968c025853ec23c9a23ec2a +CIPHERTEXT = 4dfba0cb5c0779223cfe66d1dba6a44d +PLAINTEXT = c52172ae9cf82cd4d9cce16b62dbb1af + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT128.rsp new file mode 100644 index 000000000..b7b47ab6c --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT128.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:53 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 085b8af6788fa6bc1a0b47dcf50fbd35 +IV = 58cb2b12bb52c6f14b56da9210524864 +PLAINTEXT = 4b5a872260293312eea1a570fd39c788 +CIPHERTEXT = e92c80e0cfb6d8b1c27fd58bc3708b16 + +COUNT = 1 +KEY = 701ccc4c0e36e512ce077f5af6ccb957 +IV = 5337ddeaf89a00dd4d58d860de968469 +PLAINTEXT = cc1172f2f80866d0768b25f70fcf6361aab7c627c8488f97525d7d88949beeea +CIPHERTEXT = cdcf093bb7840df225683b58a479b00d5de5553a7e85eae4b70bf46dc729dd31 + +COUNT = 2 +KEY = 0a8e8876c96cddf3223069002002c99f +IV = b125a20ecd79e8b5ae91af738037acf7 +PLAINTEXT = 4fd0ecac65bfd321c88ebca0daea35d2b061205d696aab08bea68320db65451a6d6c3679fdf633f37cf8ebcf1fa94b91 +CIPHERTEXT = cdd1ba252b2c009f34551a6a200602d71ffbf13e684a5e60478cdf74ffe61dfded344bdc7e8000c3b0b67552917f3e4c + +COUNT = 3 +KEY = b9ba9fa32cc491d8ac2beb5f99193d57 +IV = 95511452b71e53e93afad07ba1aa4d98 +PLAINTEXT = b40382705aaeea41097c309da6cd06010f15e09c0130fa4b3af69cc8da109d1f0f0a2661f1a8b89bab7e7009dcbb8a883d46254a830c45cd87981e0ea4e490fa +CIPHERTEXT = 800bf8840a73c9279a9cdb61436f8af20ae17c5a9b95bf25e456f48cc3cc2f9dffd86c48645fa187cac5becd058e46554ae3b4825a1ef4467849c9d13536adfc + +COUNT = 4 +KEY = 5947bbd78b06bb5ea2fc67ed7b24216e +IV = 8e4722ad2230b15f2eea302173bc1795 +PLAINTEXT = 9e69423653c20c982794ed35d63c1a78e8ac14f37e1888ae4bf273bfe119891b2e4ed8ac46e7a9a463c7a710298d43b02f0c5606bcfc08adceeef2ec61867f8bede498e53163803f2f86fc58782fb841 +CIPHERTEXT = b23f0fdfc1519c408ee7a8ba46ea79f2cbea0032685af82f76a7e2b377741aaa618ef3953edbe39e8df1dd283b2e54a0f1327ce332188f6572574ce59428636f3b6e37054a4705b02bedf377e465e5f6 + +COUNT = 5 +KEY = abce650e78f969b3b210151c74117fd2 +IV = bc4659fbb7073c1f2185cd8ac5314bd1 +PLAINTEXT = 322eae07df5ad2ddd64bba34e42d30c1b884f842e71efa123345a3fb0c39884c57dd4c2c6fb0c42e69ff5a269d59af3a6144853c182edb376ca65947d7ccefae6806ba25c4f527706ba85a353c0fd10e3cb244dd93a2d060d7b055058dde1dff +CIPHERTEXT = 40ec099d74b804fe5fc3810aaa6a1f66c5dd882711b1c95f9405e43cecfe14a48518f1077c97db0b3f69d4ed7a6d287f2b71b1cbfe62b851a343d92f50b94eaf16a6c39df972afa4c2e9cd3d171f62b3a2ca699c0219db8fb4aefc9aeafd488c + +COUNT = 6 +KEY = 9f56e19b09dd3fee0e110f71e9967b7a +IV = 1155cf4231bf7ac55d5e6eb27a974fad +PLAINTEXT = ad1e4d3162a5084f581117639a13fc35df5449625ffe0f01e57d9a8726875be8515926ffe7449e30cd69ed4ca0c1b8b4486051c2d0fa2f6474a69c0afce2aec349d778a22edf81678145765b714c1b7c197287da56f59141d6978618729e1d89be20ace3de7d9b3c9b2d195ab6bc0fd4 +CIPHERTEXT = d9f0e125fe7f82b22d8f6084364388fba90809640bd6cb6331fe6eb2e4586b18af5f6b589aaeccd48e66392e1bdcc733e4f2ec3c7824a77323c757a147500d8aac31d7cee4be2d063db7f709bdb0abf63b184baa7ff3280e28fd378e4d2fa24688bf3bc4ab5d970c88728dfb2d4d61c2 + +COUNT = 7 +KEY = 31c485c996d6ceb2d17e0aa05b2490e4 +IV = 8c37f33405051b4c50abd16c6456643e +PLAINTEXT = ac68de6a2c2144c6b4fd975a8dec93447391e7c9a4fde63d36be7f23ad186f96cd92b5e8adb546880d100329e97fe8204fad860e6dd8b3c0eed4805387536b9ccc63d6c74938b83dce2c93cc0a04a6025b7563d9e5e7239ae27819fb3844848a51e4294f273401ad9e592f8a170334b042f0667233b29f92b9b13262eb73232a +CIPHERTEXT = bcb37030075abbc91a75a302e5afe7281f7fd594c74a09737ae81f50573eb144c1d6c5190e10a61587848fefe2d3b0b3c05629f78a16758eaf40253322f3f7a8d755034be407b2af3761c3e704419686616194482cca5f603be89a1f06c7a190587c2f9338d48bcda1615c4257728ec34f2ce6ad0b58a197148ed10ede6a6561 + +COUNT = 8 +KEY = 556ccfa360ecb5025032dddb124cad4d +IV = d54c6fdcc85dc0a28c0b06205fee8854 +PLAINTEXT = 71fbf180effac3dca0d69d40e4017dbe50455396f9fb6507ef7df26507de156cded8edd41a05fb25f352cbcdf3b2d770f90fa87f84863e0c2ed3b2dd770a1abfc489ad1ca82a28d061bd7039a6b5788da021657136def0c78d0b0cc7cfbec9512cf579811fd01185f3fdd2ab857328be4b63d293956b43df130e484b9861eccb1d06992b095e7febb0fb394c1954aeab +CIPHERTEXT = e59b831cccd4acd94be7a9ffd3cc3167a9b6e085bfb976500d25fdfa2782f89c420241253f1b8ebdbbccd184d88a9db0da2ae1927137d1c2b08646ad50791ab66f7f88c365d567e8a8cbdf9aaae53d4e4ce964f9a14bd30a3c7cac53b245443dc16628d697afe62e0ed83bad707ad53f64a627b52bd66fb29484876919e41f8776e54cc9780841504f8c6b481cf112b2 + +COUNT = 9 +KEY = 7cb81fc4b203b0fa9bec49759bd515c2 +IV = 4d5e2fa3bf73f488b3e7e125f03dfbbe +PLAINTEXT = 362789b376d85eb8181d4eeea52d42e873ce7741c11a2f820383a7457b15489b09fb21ac4445959dc9e851b7d40682c50d7044bda46a5da39fae2bab73b3db9ed22edc7ec5da936dfa7451cb5f0a829ff0762738cc2686148f1e1f00dc3fe38139c9a173201fc1f052ca34736fc1ab3dc4e707f864d6119b7adb6c8ddd41c80de5d357d17e9c85ed7af1e4f72cb2656932ccce469202680109eef89a9f42f10a +CIPHERTEXT = ac23259f68d4f82604cabd2e4237821c8b6c0aad0dfb1120b6b057223c994d62b5c6f63a25edbb797cd299f81ccb86d50134ad26107865142004c2d9d52fe3f91acf7b9b8111c8b4e14b05b173730e7b812036029846f1c1c6ffb30f6abcfc3e1ea631480e0d0bda106bb87319fdae09a11b89e8dde625d53a19c65ae58fbe3f4bcbc3c99af05cb0a7cc4b793d8cdb1cfa3173ede595c8c561f92c3fe3638b8d + +[DECRYPT] + +COUNT = 0 +KEY = beb622d0228cde29b342bbcf4c1c83b4 +IV = 75c282fa581d9c671edf5d540951b680 +CIPHERTEXT = a5dd69d94112f3ffc2f267adde70b996 +PLAINTEXT = 860476c81685b58e71e2599efe083ce5 + +COUNT = 1 +KEY = c4666081e0b0eddb10a9a607c807378f +IV = 5f23623288e4a41b03186024755a10ea +CIPHERTEXT = 7138c2b69191cf88702f7d25e9170dd6effdb80416b44f4d54e81fd7090f17e4 +PLAINTEXT = 2fd02dab9054248073ebc0b07aed383756ccfa4fa6298722775be6a9b4ed27a5 + +COUNT = 2 +KEY = df010376a6b03279338773a70e012382 +IV = 67455decec549365742525d8dbf1fed9 +CIPHERTEXT = c8bedc6e272366e4c584d2364fac4e2980359ace3a4ebc62d5bcf472b71ff2422477477058e61ad5d3b81cacf5a0bef6 +PLAINTEXT = 9b9c3dea553ec235db0011b27191544171845b7bdda0dc04a089583959bba5ab7048f8ca87eab073a8b824fdd4e82e40 + +COUNT = 3 +KEY = ff01aa4f7106c6bd24399076f901a530 +IV = 089b4f6054eeeef76d4e13f75de64f7e +CIPHERTEXT = 228377c8fae0edfae8cc43e5a07ceefa5d8f1b84d33842e5649efe2396831ca4c524f1361561f153ab1e7ea21de9fec026dd30419fc6c0f2aa86196131b77aa0 +PLAINTEXT = ae9cb9dfa305af83e95a3b2099f70907edcd49fbc6efc5ebe744184c76b4f56bf35774f3fe215e1c8ee42172a2dd3e6f9ccd3d9bb044325e61a6bb97e48e9986 + +COUNT = 4 +KEY = d33d4062ab32298eafcca86b5088d5fd +IV = fcfffce8b020240f9f694adcb8ddf213 +CIPHERTEXT = 208d49796fed810f37350b85d49c575f4d64ac973e02bde5157f7e3d811e3598283fd4f7998386a5813188bd21d93aedff377679dc592083e704fe893055ca2f5fa4863fa6ad10eef4f2f6616c5b8b6f +PLAINTEXT = 1fe1318adb99e6d4fced292902fe8c831ba488a43f85964d6ff54b322663b380bc99fed15568278cfe1d0af795c71355bf65e876855763655eec3abf3d4b27a0341d607f4bfbd82c8900fd436f7c4186 + +COUNT = 5 +KEY = 47e13544a7bbf74dd68ab5ce66e5bdaa +IV = 69480b4dd38cf3b47e2b7652751395ae +CIPHERTEXT = 26a7b649fd8435c5dd29ba1683ae0fb515ebb6e45cdfc4362d53f35128baf2f3a65cff33ecb3b80aa5152e118f943c8c742317a85cfa2501013b136783d522e25da8c1f398eb611d3ecb85a4125518957e960406cd01009f9a11a95a882fd586 +PLAINTEXT = 3e2e583a3a0389ca324f2aaa52b7823904ab288dae562995cf1d70c796d785fd361261434eea480ceb3d369d969652c7ff194931c0a9bd978f5ae4094d6ef32d986a092c580ccbf865e5095a7b80559be13f842f9bea9e42a3a01ef8a24a6526 + +COUNT = 6 +KEY = ae86823695b48e8c612ae5a01b597f97 +IV = b26eef7b1d14894c0c6388ce5273f4f2 +CIPHERTEXT = 34a2642a230ad03d2c688cca80baeaee9a20e1d4c548b1cede29c6a45bf4df2c8c476f1a21a4431aed23661ce96342ef7cc60712f9de51c76a2205688ce67bfe1a8ae3104ef1e1b9a6347bfde498355d58be7aa9611a3e1632a6e291d2d8585266d187b3b3d7f143df05931677410c60 +PLAINTEXT = 569a910bc6aa97b8939ca703fc10ce0d171625bc735a1fea7148650541109d955b1b686c6cc404b2d3d92ad9faaff217dc7b31b038b770959aeccd1ca55d650364fde51df8d4f0aeb05fa364f5028f709c179ca6df0bdfc1cb850f238d755ac44a733fce558402be0c70bc0871b8e62f + +COUNT = 7 +KEY = b85df29c9244229835d73441dc37555e +IV = c1375430efedb2d311a37bfa5ad2110e +CIPHERTEXT = 2a0ea682b6b22122e828e2b6e1574303e7c1d32f1563a6c751dcf0077fd2d255f492740e2ef65485c28cde4995f43ca74f8a6f700d469ffd57e0af6f5137153b35f3e9e700693b0e6cc0aaaa1f5232932255464294bb1fdba056536bac40a96dd37a2c9496d37ec4ce0c6f61e539cecd466a802c128bce6b15890380f8b737f3 +PLAINTEXT = c232a0bbf967ef28b74e7b809c62bc8c1cf2d52a273a84162900da834448fd567870471498f29770619dec504922e379eaba0d3a712602583d00279d8fc6a6d568cb94a330039a189ed5802abb7a2898c13ef89c00d73fca9a2f2ffc2107ab498212c56835c0fc26f835a69c00bb3eaa695ac20e8bdb0f5b5b6684d02bee8fb2 + +COUNT = 8 +KEY = e96771f5f20a89ee871261d2d18e1e46 +IV = 8c664a37d245d26c0c55adfb424758ba +CIPHERTEXT = 400c6d6bbfd0a676bcb88d20e41151abfed50e951e189e1d1ba2b30244de228e4ff382d39230f63576ad4728282f363b914d105689d1823f4761af631c5f80d4620d3b8eaff558fe4e8890c5ef0536b99d9cca2cf1d4cc72852ace9dacfacd8b60a3c1237ce773db2c908f7da159fa2c090b65a2bee723bbbd4437375b79b2bb33fd3c1a63cdf0d3f80e6ddba6f4299c +PLAINTEXT = 8aaafd56c5d5d54fbe16f115c3216bd1f4376666931a2ef1ffc5468ad12150c39250dca2d63c6ea166bb0ef4aaa3d5849c1f9c621c55826a1ca362f03bcba4dcbd654b300d16519710130e5360bd949aaded6a648f96dd8937a77287d4a4ac2941729475b635b9797476b4dca4171787ff15882d3b4872ed0999a7546dbb61698e8348f70e4a14981a78156150484532 + +COUNT = 9 +KEY = aef49da33f538ee66e178d4b6121055d +IV = 842566e68b61ff7bf001f2642da62f64 +CIPHERTEXT = 6625811419bdee71535f597f7c228bafd890fd69b805a699ed58116a82bdb251abea7a4ef879a96fce8ee49518b9877a3a1e3cf346d3cd73738936d1cb6fff4b2353c8ca500a26689813ad2f67774e2343f3e4830259094d3b342e00faabeba5b8a893108a390c649836ddd5d12489b2dd591ca25361032e2da1207f793a1e69513002a90ccc036bb63e9c10be87df2def960cd7a1b1621e311735d7aee4419f +PLAINTEXT = 415991f65e1a95040cef9960556f61e617827c30c74bf353cdd86173dbe4cc983a2ee6bc8ca6cfb71121e7b0d0178f2e13445c710dcc176b781201971171f7489f18faf110f39accd1cf08c85a958d7698b116f1c0d75812ac9b0b39aee7f7159ccad8fdae9b99f2d695eacf12c6469d5b51a34de26eac73613dcb2f77122cb1f8dd5162786a12052dc7b6dea6acc4989dcc7eafd9374f6c29697c74749ef16d + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT192.rsp new file mode 100644 index 000000000..069fe3023 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT192.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:55 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 1bbb30016d3a908827693352ece9833415433618b1d97595 +IV = b2b48e8d60240bf2d9fa05cc2f90c161 +PLAINTEXT = b4e499de51e646fad80030da9dc5e7e2 +CIPHERTEXT = 8b7ba98982063a55fca3492269bbe437 + +COUNT = 1 +KEY = 69f9d29885743826d7c5afc53637e6b1fa9512a10eea9ca9 +IV = 3743793c7144a755768437f4ef5a33c8 +PLAINTEXT = f84ebf42a758971c369949e288f775c9cf6a82ab51b286576b45652cd68c3ce6 +CIPHERTEXT = a3bd28bb817bdb3f6492827f2aa3e6e134c254129d8f20dbc92389b7d89702d6 + +COUNT = 2 +KEY = 9b4c9e6410828173019caad0a2cd13dce21f318bf8b428c3 +IV = 10ba56e67d96a0b25b71ec7461bc3b3b +PLAINTEXT = 5174f3f2eec0e7c894955401ac4b7fde3f5169690121f6088f734e53f5b1842373ac76eb818df44c100e24e313ea2466 +CIPHERTEXT = cd9967de6341671ddc172db19d0a1d432f57accfa6e931706f5f73caf78b4c8af0ad7ef9fe6a1e9b58b0fea85818b747 + +COUNT = 3 +KEY = 4484cc09871c23ee5d4fa54dcba023c6c6bed7baf64448a6 +IV = a017d75afd41d915ca1fb17a131f648b +PLAINTEXT = 477413f19b8015ba0a12043ed1feb8fd41e696dc7bf66e7878d2a4b94ccd8eaaab5c1e88accac119cd2d863e379883cc449275983fc7a6d16bfe1493464bcfb8 +CIPHERTEXT = ae999a87b71ff778b1752df9c101cd3b072eb449f6c46578eb5b272844be0607831a89e937996b63d334c6cc159e2a065c9ef2858c66766c8d5c47706456b588 + +COUNT = 4 +KEY = 91b7e6a205c6b3907be709a0528aecd949ffb733452f06f1 +IV = 38cd832d3ba1b0ee670ed385d94e8e25 +PLAINTEXT = b5ec2ea7afae2167e7da5bc2fd68811ad86ee5c6839ffeb73b12165cc64643c406629803cdc19cd6f3adfb8aa66b7c1902793397e113f8ccf5fb1823147a4ac3d2a2e4fb55d74ee3658eb740c35308a9 +CIPHERTEXT = cdf42c51d7cf77fb5e8e9e98abb8a54ead22fccce9ec9d4049550e4fba48af42b03274f318e58a9df541a7e8d60a781239542fd4cb8dbdf7acf9e7401349e5f5118cdb5ee64b3d083cf65e67080f7b83 + +COUNT = 5 +KEY = 1c9281744ae9171f3d6faa3ab3f88c5c34fd23e4f6efecea +IV = 8ce3daf1ee9e451a6f6650176114fb34 +PLAINTEXT = 1105a24df28300e93f78d0af8cf668eefd6131bc5b2d58df66e9c6ee6d7d53b31db036d497edc0b2c5464b92edb96dfb86b2715e4bd207fd8fef3a05d05ca3fd8e6adc645d2e38963a85b1f01b562234ca17b72ff293a1997aea0e3c13d95859 +CIPHERTEXT = 3e8787cc776f480890761418f5e408f630fbea7c504248f463e41ba22f993a0c7662cf9b58362afeade3743f027e63b12e8c9c33db1658f2a66df6400851f35843bcc240a1c12f453399bef1757608c778c5d9c15d4074e3a469c56e93b3e8d8 + +COUNT = 6 +KEY = 68bb0d29ce68ae8c0bb7ed8a285e391f3bee720039555838 +IV = 13c78c4bd70b595e7106492d654389c2 +PLAINTEXT = 49172017ac70ca3a1bd9b0644c7c66a795a710675e727719d7a35c49e6ce0ce264c134aa881ff70ca34a3e1a0e864fd2615ca2a0e63def254e688c37a20ef6297cb3ae4c76d746b5e3d6bb41bd0d05d7df3eeded74351f4eb0ac801abe6dc10ef9b635055ee1dfbf4144d0e24057b03e +CIPHERTEXT = 29a4dff0abebae9648e1f609e7d47005a0dfa9bda922082d38df365c48320db28f9b7b4b00e98adc82ced09223532d44c9e46317529602b2603e208d275547a85f5713a4f07d6ec31755eb71b5aabf3433901f73cbfea640c589875d2b93c32a412f05a853059ecee7166bc8a4932f96 + +COUNT = 7 +KEY = 76da852fa0b0494f3e1c6ee898db09cd0b6700594d25704b +IV = 5cc5fafd42f3111a04a845c28016934e +PLAINTEXT = 030de1c080d602272e63d76d498d2a487fdcacb2ae41dd3ef0082badd5085ebcef1d334194d84776df743795f80c06a5950cbf93c1e65b84dd06e46ae407dbd5f327d80d08f8705d09595bb109a5d664c82a475378dd2036c74b053019d331a41513164b64a04383b5fa8bea05bf642c1d1e8d195c8ff4fbb6c1d626fdd428d0 +CIPHERTEXT = 0d8122ac2ab2368c98224b90c09627f6e7ddcba65cd7e512f77b314af08a784d9495f5904754aae146f81e06aa7b4f24166ac0c8a0fc2273138cdd67da1f60ac408189a1361db34792fb0d694af8267f5a5eaadd3e97174a3fd6bea63738f46f22c6b242d2481ea57b64127a8bc4e0cad7ca3fda5a90e345212fb38378bb2cbc + +COUNT = 8 +KEY = dde0725789454bfd49304df0c7f1999c50f0064f8895723f +IV = 3bdea6e648ef054fbbcd09b098797a3e +PLAINTEXT = 8fd514121877b6d518dd905f7035ace68d06ffd63cb9e473c057c9c0239428a0c90dba3c4bcee7a4821780b9e160b04a089a307d97b8bb71406ec2212138608c509f9013b7b89e2222eddb1296ff954ee54c46b57f4e0c408b6559e536d6ecbb4b13005e053dc39521e70932361d423a49a4a9469c84bf29c8c4f8d30b75b476e3f270e7dc653e46a68d72e16abf9f56 +CIPHERTEXT = b2e50639b70dee32815f25e9857701afed3dd63e1d241494f9aca87d88177ea91a205bfd1290b1d914a3fda5d8c02b69a64273af2c91c7ded314afcd80863ade8a6f595254b99925d088783f6f235b7ee0a90af95e1bbd0a4ac6b1c8e6fb6041343186f9069e9af1624af842d2466de0103e81fb5e608725010ef6fafaf69d256a7b7a038a649c027e8605152da92806 + +COUNT = 9 +KEY = affe25a7b28fe7427aa69a89cb87bc0fb68c940d63d319b3 +IV = 89e612f77ef55ee86935d90a8c7466c2 +PLAINTEXT = b5719702560b8b214c73b9a2ea7a43707b10e0b79152d1019ac4179fb4dae34ac3be4e0ac04d4a575462d87ea5587c4770caeed5589d13cd7d412bbb51334cb1a7c70f310d24894c5c907d0c8deecf10ce843c76d50249fe75c0796b6f48c32d8a14433ee699304a8d840e124b432512c0c73161b3885bdaa9ca6879b61f3107942e53faf2b227970ec6f559865f64966c1a3560983831aa42e660abd0c27c88 +CIPHERTEXT = 5bc958b594f0e4928cee7c019ee1884bab9b6956f40c47f24c1b8ef587d68b175dbc36226b7d95e573702f5b0dc969a8c59b82816762847275c95234e3c74fba50841202c27264131ab03773b4e28ea7c68ea946efe2e2d9a89643d98c5dddd075098a930c741b535ba96ea0a08ad0cf68d11e8e98e26d0a79d3a5ef65dd137cc6c82a4e8edb1a63e9bc6e8705cef59b4b4c391924ffd33ace99808cc163272d + +[DECRYPT] + +COUNT = 0 +KEY = ecb55ffe3f5209c2eb9e6dfd46af1b90fa8fc5f1f2904623 +IV = 3e676d0a986a7308ae3cfea460d08687 +CIPHERTEXT = 0d9db2153955148d3479a90f2d4d349f +PLAINTEXT = 4c42e9650b1a288fa03ed205a6352f7d + +COUNT = 1 +KEY = 7413aee3e2fe9484482f1118abed66ae6c622365be423c2f +IV = f37bacab2e94476d6b8c86744861053d +CIPHERTEXT = b210485ae530fc44549ada94e3b08ce020daace326d6cf76c150c2bcd2b3139c +PLAINTEXT = b92cf89ab52013a061a192fc0b60aa46c415e4084a32d527d2507a24dc80a4b8 + +COUNT = 2 +KEY = caeee8b93d38608c4abe082416de59620d2733f53261d17d +IV = c0cd2bebccbb6c49920bd5482ac756e8 +CIPHERTEXT = bc01b40aec081aa00f2e3bc63ff61ac4b684dc7ae05f7c46b475c02845606c2494e7b5e8a9c8f8afe2b5ac658a9c960c +PLAINTEXT = b7872a761fd09d4c60649454a099bb85081c6404299be361cd7f183339bf50676533f4619876e5758ba8d33f36602f5c + +COUNT = 3 +KEY = a2621ee7c5eedad2e331760e3c3e49e8fa63f7c009afe8b2 +IV = 2bebd19cfa12e025798209811dac8751 +CIPHERTEXT = efb41a379f1eaf41674fbb7fca14e7c4dd78270942e547b55a8bc71cb705e845d03a07f0f9822ad7920bd9357e7a2f85d7d5308cdfa05d993a46860c5bbbe015 +PLAINTEXT = a070b01f48ad5e440017c94c77cb3af654aef9094bce94796c75c5d6f66d2172d7231cc92ca273381f3b15166b82ee6dba8810422f3cb5e3ceeb42f40ae25675 + +COUNT = 4 +KEY = 2b28a2d19ba9ecd149dae96622c21769b1927335f02aea51 +IV = 0cd6dccf5650a122b857415ee661acc9 +CIPHERTEXT = 36161b4d67bacd9d82845d611b47a41b7cbbcb66a2726889890de94caaaf360bc1b29208d399c20570467213366ed4a596498ae8db8ec657679eb08a40ff084ecc0d0cfbd9ec9c02e0c19cc68b229aad +PLAINTEXT = 5446fff3320239680c19a5519d3dfd3ab49f62300897f626eb0c9595e80c563850a9d361c6b974853abd42e6028ea4374852ccbdfca881c6885e413a5e8db53d4ffa727cee3bee0bb9ee1b4bdccb4a68 + +COUNT = 5 +KEY = 9444991a091abdfeac81d706d58495b44cdaa39aaebb2aca +IV = 1ea984af6c290566d777b0eee984faf2 +CIPHERTEXT = 11aae8806d780f98c4d9fbe8d7d69d6f3b054afe08650e40d58a44f9e3fa638b98d61bbe2fbda1c0afed476b19ab4fc7e6e601d0b017fb79306bc9f06824b524213ce085984c920a75adcf79fcdd2be38724df6d34771b57db9c9e36438f8584 +PLAINTEXT = 4c4c359b46dc4d30fd9f9a1895a4deaf0566c711c52fea26385720a87f1db0ab67df050c99738cb3c9e74f36e7090025b8ecc627c58f62ca05ef4365ed5d7ae1a2d0fdeb8b5cf55c20deed4a20a7ebbb3f14869e29c9bdbc5bd22ced264bdb5b + +COUNT = 6 +KEY = 579dd4091464cd7216e109e48b5f389fc4bb510f896b83f3 +IV = 76b8af440963c7f356aba0942e2e31d2 +CIPHERTEXT = 8c3019927901233f4f2216a895114460dd277b97eb2640481a1158b3fc408d0e41b3ae78daa7d82e5e67f401ac658108d28994922dc91c5ed2fa6b0f2de5f2dae89e4c820e117f8671de7e994967f2521d263925e745af9273682d9c08ced07d4a98fc985f68a0af512ebb56b33f1fa7 +PLAINTEXT = 5dba3a42779e60f594610ca7b48b1face6e335a9ed0d83677b705b619e76853bdd4130d5ab4ddb1c12e8bdb0b84f2999013e5c1aad56527cdca78ff482a11665886c356c52806ae419c906a38f0a4da7df49b818d528f926b5aa1fe107bfc2d6fbdb1a24c517eb9b075495bb723264fa + +COUNT = 7 +KEY = 5cd37a0f9e38067f5d165ddd4e599387af5967cae6f60e9b +IV = 79d74d29105a3080444de5f56d7b9e3e +CIPHERTEXT = 151e5ad05d9830b8a21130c2abc4ee3f53accf0cd5af716746174700634184538d993b3612c6c4aeae216107526c212423c10513c6c862e4db2d86bcc7519e25b740d8a8e2e4c49e0e780043553e140c29759b3b9686a4b0c77e5702ccc0dcce9afc784f535bf92fc8fc559d3da48ea06cb1d8abcc50fe7112f002faf8f704f7 +PLAINTEXT = e1f3aabbdd40d63ae1f4f2ac1abe9284ebcadfc0df1542d8ef5ba5010f89ab584c8f2c09e4f495e7f55e4085fa5fd43a279c11eb3fa4cccc84d45956a39b9ba9c5693cde86d8bc2b68278bd4afe9d4a57ff479639b8a92b4f2c5268950aeb4fe513397bd45a27bfba94bd26ede389850d5320db3472e3533ad5c134162c224d0 + +COUNT = 8 +KEY = ec93891882b2c8c67df894c882045ede26a9008ab09ea067 +IV = d96a0dcd84afabee6e4335bfea402c51 +CIPHERTEXT = 0a5d3e3ec164e844e49ba13bdf50d4f014e99c2124192d476a5a70b3c997eddca828eef83a04e1c90332ffba98812b2aa6791d083591bfa02ea3d7b41b9ce7cf2f7851d6866ebfe0ad67c24765b5ba00a402f527dd861bde817ec958c6d97c31a734b1012c084a30eb22340ccf544718186b6da7a36007aa6cd38cc751b473ab194454a0b43c4a62c44b9b2e5dc69b1d +PLAINTEXT = 9fc3a98d8e1d00b85836b9b03d3399d671c11e7812efffc960312d2d59035977e44bfab83fb2cc7ef8abc2c65a8eea992fc8d817ca9bb4471a5da409342a4ae0a6d21a85de72a28d90b0338f2c57c518a8979a01f216e653e20b0050202ed5444c103a7379fc00054750999caa71ef4705b740f5678e5fbd78f91a56edf1687bd26082bc59cb744400653339f6fe6845 + +COUNT = 9 +KEY = dcc8702142b29e1529f23c5c3766464f6be0d2fbb16e4682 +IV = e0818769d77f2315924cf81a3691e275 +CIPHERTEXT = 1a22b1bf5775d43c66f1a73084eeefdb3ed24cebd9e2bef2f05867165fb5930b6058f53ef4503353856fa6d2c99f5b1de9795da6e314365e2d1bb3719b23e830823b744e1ec406503183203fedf41ba014e16ca65e3425a51b0abfca1908160ac8f2b5589c79541bb3559fdfb894394a0732015211e994ae024a138aa20d267f79a640c23719259c530eaa1af128bc050993a414c6dc89612c06371afeda1f79 +PLAINTEXT = cb550111bf0a03eaf4f49af214fcc05a32972d7b4dede3e9812a27ef80d680188119ead562313e400fe0a0fffbb88c55a42bd681d5c93a8a61ba909058e62d99fa109cfd49935b150862a8aab2c301b9b0a9157c838491cd737af438cb66b1f20420200dbc56aa66552ce4be04cace4ace5bfbc617e3b27f40ec6dbc85a42b410dcb7ea0b78d472297d9b98875d636b8ef08c254ec9bd05bfda01bb38e8beb6a + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT256.rsp new file mode 100644 index 000000000..3a7620c74 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128MMT256.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:57 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = e1c6e6884eee69552dbfee21f22ca92685d5d08ef0e3f37e5b338c533bb8d72c +IV = cea9f23ae87a637ab0cda6381ecc1202 +PLAINTEXT = b72606c98d8e4fabf08839abf7a0ac61 +CIPHERTEXT = 2981761d979bb1765a28b2dd19125b54 + +COUNT = 1 +KEY = ae59254c66d8f533e7f5002ced480c33984a421d7816e27be66c34c19bfbc2a8 +IV = 821dd21653ece3af675cd25d26017ae3 +PLAINTEXT = 3cb4f17e775c2d6d06dd60f15d6c3a103e5131727f9c6cb80d13e00f316eb904 +CIPHERTEXT = ae375db9f28148c460f6c6b6665fcc2ff6b50b8eaf82c64bba8c649efd4731bc + +COUNT = 2 +KEY = cdeda3ecc356c6ac4ca56187f4410a4d9aa2323fd21ba77b87f75cbbe5c86d3f +IV = e5ed193d8c5aedafa405528a381fcb12 +PLAINTEXT = c198f566ea881d4390172a30d474dff034af593e5470f21cfee96668670934b0b4f24747bcaed698101d89bb3932dd46 +CIPHERTEXT = ce62fe00eaed5a8c639e3179bd75216cf8e60b42936ced7cde0e803c923dfcfd46be83782519e4997dc741e22c10a172 + +COUNT = 3 +KEY = 151a6d82846dd562dfb14d7096236cf5a36b8bf4c9cd2a0319a3905abb0bb22a +IV = d1481313203fbda4fe35700b84a93e62 +PLAINTEXT = bacfb585c07fa2098e3e23826e01f31107a208202f710eff00eb13cf2ec984a0973d58d61c788bd1b06fcecdaedf7d06708ed1201dd557c7c25ba093a5233a2e +CIPHERTEXT = eb3f304da9aadbea00b40072f0c3afda70e2fe45c2387dd03f7919ad2731efbd9ca81dcaa8e13ce15acefecae6d680ac47d7419f3740db68a8e67ce121d366fb + +COUNT = 4 +KEY = 29849b91ed551889f79e4625f663e8a678118cf8080ec9e49a93c6872abefb03 +IV = adde8ea70e3560ed4b8f5f0cdb5ace8a +PLAINTEXT = bcc7d50886394b83c2c048189da18bdee24e4f71cce8c2981802b8255da8a11da09fb81923ef7eec7f9f6786f2c0d319faad3f7a2390bdc91d28a15411ca7eb935a6514b9f4cfbb7576ff5e8afe83f27 +CIPHERTEXT = f975edf2d5ca7282599867c4cddb7b99de01e357ea93d4132b6a1718a4cb3d743a5603d6aa556180d84771ed5a9a0caa12b925c9d3fbfe4c351088396697afbef21fe07758c8cc68929b7aa22a6e5837 + +COUNT = 5 +KEY = 3a11ea3214add767c00bd372e509d4bc59f38598364af72430c49370259354e3 +IV = 49c7ee47c0f3f1e532fef3bb5bc03692 +PLAINTEXT = 5a306de98d4851fe4c50b1b8d4dae5dd5c98ed40027a06fa06177bf8364ebeb6a92db749b0115ca30a0f82135793f20bcf47c0263437d8690532dacaf57328ee9c813d376b5340fee5b8d81d0cf643b11ab1a21e720f9753d61a124fda6668e3 +CIPHERTEXT = 8c77e767c1a2f6adc1727fd440fb019b93058e0a36a059ada7f7453b9f0109735f318e442a1209466edce02e17abc1a7809b28585ecefa0abb0543643787dd84cf9089d2defd5d3861dc15f9b4a0def50423070594f7e5f611ef8c021233c288 + +COUNT = 6 +KEY = d8feeb749dc688fb28008f11af560b5bcb4e81262b2938648a0cd8f0de5d371a +IV = 327beda3900f6fa33d3c8ba572295ea5 +PLAINTEXT = 3398dc27b0ce77e120d97f8c1654333ce2a182f605881d71e820d11dcdf31465055dde316335bab0f2af1c54e381f51ec945851b091f702f8b9f1511b6e91b979c134c3471cea7bf4249b075e3520b422abf493c5a0c0270e24524e248268acf6082d135c1e16796796de4f8000f9e30 +CIPHERTEXT = 3c912c51ecf32a3efda9f828e5445b4950ce099eca9feeaba4f48bba2dfea031786872054d4021a18330e95b54246228fbad1263581943e071006f799d25ba235a4f271bab056b6918e9e89950508e2c9a0197d71834d163f0dc8bdbf3bed5809e24ff1617a702ac40de9ec62541776e + +COUNT = 7 +KEY = 533bc938d1c65b3310b7bcb2f33706b488e7e48edf6aff911d25b9e7cc421ebe +IV = 2955458d1f1561693bf46a961872f42a +PLAINTEXT = 6df0b42f593be79951ec4183eb589408268c89bb96e0e4e0c1cf09ddc805bfeb4aba3511853f4353bed6f127e3c73d2870b0190e8f1db4de8358fa5e46835ecc71e3d7cf5d7f28ae88ea65c03a5db32468084fb1d8aad2308660b3c947ba0dbcac14a2522924211276cfa43736417d62d73c328db9b0c640928d3a0711d55423 +CIPHERTEXT = 9c0c9256c333e1ff373446814649bda9c068bcdc879f9de394982c30b1a2f07f8aa0cea58c383105a7291f2ca149be9b2046efec9680b87c9c9a54e2118d510e498c3df43bbb423592f19357dc98c43ed1d90df2f599fa585a14b7335dc41df1dd0c8bba085b3a978578aa065d44d6c59f6e9a855b201c2ef2ac1a5f51808546 + +COUNT = 8 +KEY = 3938ac6c8326b4196cdc841963572e01338af2e635b80fd8c321d9acefe00cff +IV = e9d58688ef6729cfc909ead7153b5bb5 +PLAINTEXT = 8e578a39840de300fa8d0208fa856d0b65272162432a87255711a594f6af91b51aeb2c3fb3c10cb73d89bad9977c1e391374372acaf310df3267efd0f2accf5ff4d310bcbc226e06f95b30b35a42a131a359c4cd00ee44d59957aaf9667dd2f74597a0784a38ef34568cca5debdedf3b3e5e30148e220c4eb56a3ed7fd2884c534c0433a030c788b7ba3f2a1f15bbf9f +CIPHERTEXT = 8679e834f0b4e0f6e8b0d21312b4c372ad898e2da62581333fd221035acf96dd97da56be50836e0fd2c87cd12e00750205d3cf3a55dd1c183ba421d5dc9d8c7d34f98d3fd73c4e02a0a1bfbd4534129227440adc8a1b70dd3bb441de32db53567aea5f880ab05a6c9c166127f2c14d032286469383067f4268472510e5baf30c2905c04ca02a7d2b88ca7c171b11d165 + +COUNT = 9 +KEY = 04c4499a7a10a319992258726191f8087af1182ebd48f43bf6c158dce8a5c0af +IV = 7fc268d6599fcdef7457cdbde5b9c5b6 +PLAINTEXT = 04a66003969bbe72eedb638fb188bea1564d96df873994e2cacd02596053d2ff6d72e2ca5a007e65781727e1e66b92a8b4daf4b248457dfb019f22341b43a0b8d38bbec3cb9ed2deaf89869e1992dc8eb2c8706a9bdffe8e0b3b23ad394b68c67c187c54b01ec1c6dd5a0a2e13a4a43d983f936f46af1d832eca8d2e81123110b142a5e7d327530348b13bfa9c4af09cae66e329115ce4c2b374e61ebc41037e +CIPHERTEXT = 5235639833e022fa28ab90d2820abec07d2c3185a9c6e17618b8b68fb221bb5db242ad18c535d7694d1306ec26afdd459a53bb460485249c4f5fa73d41a0d6cc56988949f7ad82259fe3a3226f0bd8d479f40a2bd36400075981206f50f268c921338e91613b3a3c0cee1c0ff6c4e1d30c4ca0f9a311e9586d9ed29dcc876fd09eb6405023ebc180c5635d4c7987286080847d3a74e9deeafaeec0697ca8db75 + +[DECRYPT] + +COUNT = 0 +KEY = ec89fb348787cf902ca973c47081438da9596f2ca51a4f699c6cf6d8621f095b +IV = 94144fdc266588f0f4221921edd085be +CIPHERTEXT = 939bac6c09892f39dba665383da24846 +PLAINTEXT = 759616b0c07b103256002b5f7e0cf863 + +COUNT = 1 +KEY = c0e821554e1656bf3432d3131d12aa67d029126c4d4e155118be88e4d56540fb +IV = db2cfdabf025a53be690c3036baab1c4 +CIPHERTEXT = f25ec30d70722068477b9c72f355af8de207598c29a471bb766f3b2045423801 +PLAINTEXT = 3e5ba8e7f414010d9928101de1cd508e09db27e4a7d8a713d57934f692c6478b + +COUNT = 2 +KEY = 9cc541d52c5dd9291a185eb952fb4f5474fc5f35e2c026e317a915553a10af5a +IV = ba61991716e0a2af80517bd728396d4b +CIPHERTEXT = 78fb1c2f440bd0a46e33a9658809f651860759582b30d53ac1f627910d5c5a1282589610b57b394111d328c5cc116864 +PLAINTEXT = 37b085dc650ed9110ab62c6d1394325a4d4ce583ba171c87fd09638fd933d356c96d3f392ff2174fb9aaa8083c05057c + +COUNT = 3 +KEY = 764b93d185178639cef303ca426490c4b046a78a80b309a5a326560ccae0dba2 +IV = 557d3d096f0a461de7cace679b314b1a +CIPHERTEXT = 34e31cce15de96667b603a3cf15499b124475adaa21e24d6e204be5f85a7749edba4bd44a93f1cd629584448539b7fce5bf650ef7b5057dbf27876fe4d5b32d5 +PLAINTEXT = b39b2a4a580168582b4e2f6afbd334d55235b611bf2178e00a6ca4536647a602243c51f410191d6b81606f90a0826e514ba1d3adbd12d1fd80f38405dcabe3c6 + +COUNT = 4 +KEY = 833bc19499fcaa8dd02ed124242a3432973b07e925bb4b14f978a2a0e15d625c +IV = 53abdec019c879565f195a78ebdf0d92 +CIPHERTEXT = d03d8b0fad026448f2a663cd1b4388b0c396eab769b39faf75f7e002763f698cae571fabd0b6f595086810ef3c4b2a9b927e34d132173f714d149c975e954270af48714d1f2495f6245a6d410c886ce3 +PLAINTEXT = 8e2471920bd3398146f98c9cc90f7dae4ffadc0b1c8f7b5f8ab59c8d33942f9f7a565e511bfb19dd91f85fa7f4adc381242e09d3c9967c65cb7306f2b1fe21ab81f9e227205bbf6650ac174a3e5657d2 + +COUNT = 5 +KEY = f36b3e451e76b652d5f495e7bf7c6770650791d0f0a534b0346f5416eebd3a39 +IV = 6bbdbc908f4d513b8f8733246982ec3c +CIPHERTEXT = 0d62daf9362227a9a696bf46da1724a172941ab68892a4d441702efea1f00c92a4f323288a84e6bd721885112a14604d4690c2e96f5bcccdfe3fafb6ca861fdc3dbc04d2aeb772adead5db6814858387b00935fbfa7a35467c0c75dfdf930bd8 +PLAINTEXT = c91334f7173bf05838e079554855fd100c9d32a2495c78e6f820eb3f508fc921bcc11b96631e357e28987d9f67415d7a61d974bf87d4b2beec05ba32de63aff49edd4508cf30899d2937763380ca65b550b0addaf6300e1cbd936e883435fbf6 + +COUNT = 6 +KEY = 1154d523b8ad1b9ea21e837723b4b34cb31a7e384f6a63481c4356334e1cc445 +IV = f46557dda8e63c34d01fbb79f9fb640d +CIPHERTEXT = 30cd5e5f6e7f4300df71db26dd6478305c4ec46f7ba2f88759d14e182a11b89e8a5dd29610bd15e327c74e6f19664f156ddae5bf73000acb1dd45bb41034cceefbe79a1128dd813a51b830aeb48cfac169e3cef7f40569681776ca69eabfe6682d719e18dc68eecf044d672cd65edffc +PLAINTEXT = eff0ac9c78bcad5f2a288d0bedf5dbc7075f626b6d07bf04737723c5c5ec99acf650382cd4d8ed0337afa6d43a02ca5d66709630334a662ae6f794a1e1e62551a7234364cd9da2005513934ec5743e08fa9772ddc0f3f9451a3260d94a5e96b27adbfcf7a18ad98946f2f592639e8ccf + +COUNT = 7 +KEY = 36c8e29719a11210da1e96d4dc6cf51e01304c6b63709f7f45b06daa495b8749 +IV = 56a4b38b285765585c2bd96d03c1bc1b +CIPHERTEXT = ee5673108c8ce0da35bb1827b54f6469befe36988205628c81b58aaaa02fdac27c6cf638fd8031622e1f00324c60ae151dc1511a826bfc5750b836895cf3abfad55f22a8d77aafa33c822ab7b639df4b1be68789ff9c78bf88be18057ec39721a237dea74102c26508ed7efd1a6260d46073c22b201f3c8cd2d018682f2706fe +PLAINTEXT = 1ce5cd0d02a5963fa0007430973527a48557ce25126a568b09724c2e592dd6a3c7b49ccafa03a63df54e4ce0392aae7e0bff05428c563a0f7172ec805931885a3590e31774e48ce248c9b70c856dcb09a1cbb0d7222f49543ab20bda6ee1718d044098401a05a943281be5985f8c18fd2d309c0df17e1888651be6dd672698e1 + +COUNT = 8 +KEY = e1f4436ca31dc14e2d29de76793b0141bbcb920641fa02049e220c9807b23bb4 +IV = 00c98095550b3929a05bf72740ed2d06 +CIPHERTEXT = b86d66e22951548b102f3a930d3957c902db371b7490360834f940583e30da0ae15a668e207ba234598f73e524d6e1117e6f62e827285bcd4895e407595fccba42dfdc16c0eb60cf0bf0e4cdb6413c24d6afc746665af478eac70482533212ab232551e4d14996446f7d16b48a2570ec52c4ee9eface07f062b72930f450b6c3cc534d5f1b3c4a7bcd5b90036928864f +PLAINTEXT = 48674fcf0eba774ca9d429455a1a8d5512d66651bcc425a0a6a4bb664d1670ebe34916b540c880711cb39525f7e71905c122e00ee92f81bc08824ca11a362034b42bfb519fa73bbbe8a7533324d03b50df2458b7fd8aaef05fdbf7b08bf7b70c32ab495b6a42415ff5f8bf1b8d82b3469a955fd6b2af82d9676793c4b20d6726136ab1b024fe1fd7a387e18a570733a0 + +COUNT = 9 +KEY = 4d3e4cec63edafbb4d600007e95124f554b352ada4966a60da4c898912cada73 +IV = 05aef5ccf46298e0feb58d77122b58d9 +CIPHERTEXT = fedc2708ce2e2471ab8e66c69a3451a94380da0e5e9998fa68541d899a5786361b7e5157757d6fe746c79a8838afe9c832cda2a4d0a44f4b1181142450a63f1176a821f66d161d75d85bfefc01e68d021288648d891dfdf8e66e0ef3a65619cb75243eeca04155a4c9133929de2066de4c77c7d26f4cc9894de2b40085ae3beb82b95241f4463ffa81b5f418b7a79ce44663747a6c78dc87b0a4ae52d3f5cef9 +PLAINTEXT = 95d6b83e1c10c721e0f0c35907b3a4e35c2794a6a8234874440be7a795dc8e2f7ec5cf739d0bb13b1fc51cf5d4d27d2ed4b93c11893c7b9a649b22cbbc96a8cd5847d135c43d1a11855811b82cffbd2287e6c55f45d124d47d549218c1ea0049281dd539a60cdbb80549db3af3b9f8d4ca127efcb5cde7ecc98e008f1edeff6980f172652806ff9395af7a62f88abaaf8974ebef1a02d78e4bd52149fa1ee183 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey128.rsp new file mode 100644 index 000000000..c1668f454 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:53 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c + +[DECRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey192.rsp new file mode 100644 index 000000000..a2050f97a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey192.rsp @@ -0,0 +1,2315 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:55 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de885dc87f5a92594082d02cc1e1b42c + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 132b074e80f2a597bf5febd8ea5da55e + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6eccedf8de592c22fb81347b79f2db1f + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 180b09f267c45145db2f826c2582d35c + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = edd807ef7652d7eb0e13c8b5e15b3bc0 + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9978bcf8dd8fd72241223ad24b31b8a4 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5310f654343e8f27e12c83a48d24ff81 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 833f71258d53036b02952c76c744f5a1 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eba83ff200cff9318a92f8691a06b09f + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff620ccbe9f3292abdf2176b09f04eba + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7ababc4b3f516c9aafb35f4140b548f9 + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aa187824d9c4582b0916493ecbde8c57 + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c0ad553177fd5ea1092c9d626a29dc4 + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a5dc46c37261194124ecaebd680408ec + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e4f2f2ae23e9b10bacfa58601531ba54 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7d67cf1a1e91e8ff3a57a172c7bf412 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26706be06967884e847d137128ce47b3 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b2f8b409b0585909aad3a7b5a219072a + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5e4b7bff0290c78344c54a23b722cd20 + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07093657552d4414227ce161e9ebf7dd + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e1af1e7d8bc225ed4dffb771ecbb9e67 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef6555253635d8432156cfd9c11b145a + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb4035074a5d4260c90cbd6da6c3fceb + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 446ee416f9ad1c103eb0cc96751c88e1 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 198ae2a4637ac0a7890a8fd1485445c9 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 562012ec8faded0825fb2fa70ab30cbd + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc8a64b46b5d88bf7f247d4dbaf38f05 + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a168253762e2cc81b42d1e5001762699 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b41f83b38ce5032c6cd7af98cf62061 + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 61a89990cd1411750d5fb0dc988447d4 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5accc8ed629edf8c68a539183b1ea82 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b16fa71f846b81a13f361c43a851f290 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fad6efdff5975aee7692234bcd54488 + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ebfdb05a783d03082dfe5fdd80a00b17 + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb81b584766997af6ba5529d3bdd8609 + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0cf4ff4f49c8a0ca060c443499e29313 + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc4ba8a8e029f8b26d8afff9df133bb6 + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fefebf64360f38e4e63558f0ffc550c3 + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12ad98cbf725137d6a8108c2bed99322 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6afaa996226198b3e2610413ce1b3f78 + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2a8ce6747a7e39367828e290848502d9 + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 223736e8b8f89ca1e37b6deab40facf1 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0f797e50418b95fa6013333917a9480 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a758de37c2ece2a02c73c01fedc9a132 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a9b87ae77bae706803966c66c73adbd + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d365ab8df8ffd782e358121a4a4fc541 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8dcd9e6f75e6c36c8daee0466f0ed74 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c79a637beb1c0304f14014c037e736dd + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 105f0a25e84ac930d996281a5f954dd9 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42e4074b2927973e8d17ffa92f7fe615 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fe2a9d2c1824449c69e3e0398f12963 + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7f29c1e1f62847a15253b28a1e9d712 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36ed5d29b903f31e8983ef8b0a2bf990 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27b8070270810f9d023f9dd7ff3b4aa2 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 94d46e155c1228f61d1a0db4815ecc4b + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca6108d1d98071428eeceef1714b96dd + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc5b25b71b6296cf73dd2cdcac2f70b1 + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44aba95e8a06a2d9d3530d2677878c80 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a570d20e89b467e8f5176061b81dd396 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 758f4467a5d8f1e7307dc30b34e404f4 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bcea28e9071b5a2302970ff352451bc5 + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7523c00bc177d331ad312e09c9015c1c + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ccac61e3183747b3f5836da21a1bc4f4 + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 707b075791878880b44189d3522b8c30 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7132d0c0e4a07593cf12ebb12be7688c + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = effbac1644deb0c784275fe56e19ead3 + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a005063f30f4228b374e2459738f26bb + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29975b5f48bb68fcbbc7cea93b452ed7 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf3f2576e2afedc74bb1ca7eeec1c0e7 + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07c403f5f966e0e3d9f296d6226dca28 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8c20908249ab4a34d6dd0a31327ff1a + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0541329ecb6159ab23b7fc5e6a21bca + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7aa1acf1a2ed9ba72bc6deb31d88b863 + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 808bd8eddabb6f3bf0d5a8a27be1fe8a + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 273c7d7685e14ec66bbb96b8f05b6ddd + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32752eefc8c2a93f91b6e73eb07cca6e + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d893e7d62f6ce502c64f75e281f9c000 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8dfd999be5d0cfa35732c0ddc88ff5a5 + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02647c76a300c3173b841487eb2bae9f + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 172df8b02f04b53adab028b4e01acd87 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 054b3bf4998aeb05afd87ec536533a36 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3783f7bf44c97f065258a666cae03020 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aad4c8a63f80954104de7b92cede1be1 + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cbfe61810fd5467ccdacb75800f3ac07 + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 830d8a2590f7d8e1b55a737f4af45f34 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fffcd4683f858058e74314671d43fa2c + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 523d0babbb82f46ebc9e70b1cd41ddd0 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 344aab37080d7486f7d542a309e53eed + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 56c5609d0906b23ab9caca816f5dbebd + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7026026eedd91adc6d831cdf9894bdc6 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 88330baa4f2b618fc9d9b021bf503d5a + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc9e0ea22480b0bac935c8a8ebefcdcf + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29ca779f398fb04f867da7e8a44756cb + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 51f89c42985786bfc43c6df8ada36832 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6ac1de5fb8f21d874e91c53b560c50e3 + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03aa9058490eda306001a8a9f48d0ca7 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e34ec71d6128d4871865d617c30b37e3 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14be1c535b17cabd0c4d93529d69bf47 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9ef67756507beec9dd3862883478044 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40e231fa5a5948ce2134e92fc0664d4b + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03194b8e5dda5530d0c678c0b48f5d92 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90bd086f237cc4fd99f4d76bde6b4826 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19259761ca17130d6ed86d57cd7951ee + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d7cbb3f34b9b450f24b0e8518e54da6d + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 725b9caebe9f7f417f4068d0d2ee20b3 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d924b934a90ce1fd39b8a9794f82672 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c50562bf094526a91c5bc63c0c224995 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2f11805046743bd74f57188d9188df7 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8dd274bd0f1b58ae345d9e7233f9b8f3 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d6bdc8f4ce5feb0f3bed2e4b9a9bb0b + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd5548bcf3f42565f7efa94562528d46 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2ccaebd3a4c3e80b063748131ba4a71 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e03cb23d9e11c9d93f117e9c0a91b576 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 78f933a2081ac1db84f69d10f4523fe0 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4061f7412ed320de0edc8851c2e2436f + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9064ba1cd04ce6bab98474330814b4d4 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 48391bffb9cfff80ac238c886ef0a461 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8d2a67df5a999fdbf93edd0343296c9 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aaca7367396b69a221bd632bea386eec + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a80fd5020dfe65f5f16293ec92c6fd89 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2162995b8217a67f1abc342e146406f8 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a6164b7a60bae4e986ffac28dfadd9 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64e0d7f900e3d9c83e4b8f96717b2146 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ad2561de8c1232f5d8dbab4739b6cbb + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 279689e9a557f58b1c3bf40c97a90964 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4637e4a5e6377f9cc5a8638045de029 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 492e607e5aea4688594b45f3aee3df90 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e8c4e4381feec74054954c05b777a00a + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 91549514605f38246c9b724ad839f01d + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 74b24e3b6fefe40a4f9ef7ac6e44d76a + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2437a683dc5d4b52abb4a123a8df86c6 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bb2852c891c5947d2ed44032c421b85f + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b9f5fbd5e8a4264c0a85b80409afa5e + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 30dab809f85a917fe924733f424ac589 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eaef5c1f8d605192646695ceadc65f32 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8aa90040b4c15a12316b78e0f9586fc + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97fac8297ceaabc87d454350601e0673 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b47ef567ac28dfe488492f157e2b2e0 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b8426027ddb962b5c5ba7eb8bc9ab63 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e917fc77e71992a12dbe4c18068bec82 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dceebbc98840f8ae6daf76573b7e56f4 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4e11a9f74205125b61e0aee047eca20d + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60467f55a1f17eab88e800120cbc284 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d436649f600b449ee276530f0cd83c11 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3bc0e3656a9e3ac7cd378a737f53b637 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6bacae63d33b928aa8380f8d54d88c17 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8935ffbc75ae6251bf8e859f085adcb9 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93dc4970fe35f67747cb0562c06d875a + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14f9df858975851797ba604fb0d16cc7 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02ea0c98dca10b38c21b3b14e8d1b71f + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f091b1b5b0749b2adc803e63dda9b72 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 05b389e3322c6da08384345a4137fd08 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 381308c438f35b399f10ad71b05027d8 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 68c230fcfa9279c3409fc423e2acbe04 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c84a475acb011f3f59f4f46b76274c0 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 45119b68cb3f8399ee60066b5611a4d7 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9423762f527a4060ffca312dcca22a16 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f361a2745a33f056a5ac6ace2f08e344 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ef145766eca849f5d011536a6557fdb + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9af27b2c89c9b4cf4a0c4106ac80318 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb9c4f16c621f4eab7e9ac1d7551dd57 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 138e06fba466fa70854d8c2e524cffb2 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb4bc78b225070773f04c40466d4e90c + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b2cbff1ed0150feda8a4799be94551f + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 08b30d7b3f27962709a36bcadfb974bd + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdf6d32e044d77adcf37fb97ac213326 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93cb284ecdcfd781a8afe32077949e88 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b017bb02ec87b2b94c96e40a26fc71a + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c5c038b6990664ab08a3aaa5df9f3266 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b7020be37fab6259b2a27f4ec551576 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60136703374f64e860b48ce31f930716 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d63a269b14d506ccc401ab8a9f1b591 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d317f81dc6aa454aee4bd4a5a5cff4bd + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dddececd5354f04d530d76ed884246eb + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c5205cc8fd8eda9a3cffd2518f365a + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf42fb474293d96eca9db1b37b1ba676 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a231692607169b4ecdead5cd3b10db3e + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ace4b91c9c669e77e7acacd19859ed49 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75db7cfd4a7b2b62ab78a48f3ddaf4af + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c1faba2d46e259cf480d7c38e4572a58 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 241c45bc6ae16dee6eb7bea128701582 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8fd03057cf1364420c2b78069a3e2502 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ddb505e6cc1384cbaec1df90b80beb20 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5674a3bed27bf4bd3622f9f5fe208306 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b687f26a89cfbfbb8e5eeac54055315e + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0547dd32d3b29ab6a4caeb606c5b6f78 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 186861f8bc5386d31fb77f720c3226e6 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eacf1e6c4224efb38900b185ab1dfd42 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d241aab05a42d319de81d874f5c7b90d + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5eb9bc759e2ad8d2140a6c762ae9e1ab + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 018596e15e78e2c064159defce5f3085 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd8a493514231cbf56eccee4c40889fb + +[DECRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de885dc87f5a92594082d02cc1e1b42c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 132b074e80f2a597bf5febd8ea5da55e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6eccedf8de592c22fb81347b79f2db1f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 180b09f267c45145db2f826c2582d35c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = edd807ef7652d7eb0e13c8b5e15b3bc0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9978bcf8dd8fd72241223ad24b31b8a4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5310f654343e8f27e12c83a48d24ff81 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 833f71258d53036b02952c76c744f5a1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eba83ff200cff9318a92f8691a06b09f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff620ccbe9f3292abdf2176b09f04eba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7ababc4b3f516c9aafb35f4140b548f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aa187824d9c4582b0916493ecbde8c57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c0ad553177fd5ea1092c9d626a29dc4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5dc46c37261194124ecaebd680408ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e4f2f2ae23e9b10bacfa58601531ba54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7d67cf1a1e91e8ff3a57a172c7bf412 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26706be06967884e847d137128ce47b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b2f8b409b0585909aad3a7b5a219072a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e4b7bff0290c78344c54a23b722cd20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07093657552d4414227ce161e9ebf7dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e1af1e7d8bc225ed4dffb771ecbb9e67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef6555253635d8432156cfd9c11b145a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb4035074a5d4260c90cbd6da6c3fceb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 446ee416f9ad1c103eb0cc96751c88e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 198ae2a4637ac0a7890a8fd1485445c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 562012ec8faded0825fb2fa70ab30cbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc8a64b46b5d88bf7f247d4dbaf38f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a168253762e2cc81b42d1e5001762699 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b41f83b38ce5032c6cd7af98cf62061 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 61a89990cd1411750d5fb0dc988447d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5accc8ed629edf8c68a539183b1ea82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b16fa71f846b81a13f361c43a851f290 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fad6efdff5975aee7692234bcd54488 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ebfdb05a783d03082dfe5fdd80a00b17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb81b584766997af6ba5529d3bdd8609 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0cf4ff4f49c8a0ca060c443499e29313 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc4ba8a8e029f8b26d8afff9df133bb6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fefebf64360f38e4e63558f0ffc550c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12ad98cbf725137d6a8108c2bed99322 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6afaa996226198b3e2610413ce1b3f78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2a8ce6747a7e39367828e290848502d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 223736e8b8f89ca1e37b6deab40facf1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0f797e50418b95fa6013333917a9480 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a758de37c2ece2a02c73c01fedc9a132 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a9b87ae77bae706803966c66c73adbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d365ab8df8ffd782e358121a4a4fc541 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8dcd9e6f75e6c36c8daee0466f0ed74 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c79a637beb1c0304f14014c037e736dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 105f0a25e84ac930d996281a5f954dd9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42e4074b2927973e8d17ffa92f7fe615 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fe2a9d2c1824449c69e3e0398f12963 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7f29c1e1f62847a15253b28a1e9d712 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36ed5d29b903f31e8983ef8b0a2bf990 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27b8070270810f9d023f9dd7ff3b4aa2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94d46e155c1228f61d1a0db4815ecc4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca6108d1d98071428eeceef1714b96dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc5b25b71b6296cf73dd2cdcac2f70b1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44aba95e8a06a2d9d3530d2677878c80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a570d20e89b467e8f5176061b81dd396 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 758f4467a5d8f1e7307dc30b34e404f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bcea28e9071b5a2302970ff352451bc5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7523c00bc177d331ad312e09c9015c1c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ccac61e3183747b3f5836da21a1bc4f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 707b075791878880b44189d3522b8c30 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7132d0c0e4a07593cf12ebb12be7688c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = effbac1644deb0c784275fe56e19ead3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a005063f30f4228b374e2459738f26bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29975b5f48bb68fcbbc7cea93b452ed7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf3f2576e2afedc74bb1ca7eeec1c0e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07c403f5f966e0e3d9f296d6226dca28 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8c20908249ab4a34d6dd0a31327ff1a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0541329ecb6159ab23b7fc5e6a21bca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7aa1acf1a2ed9ba72bc6deb31d88b863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 808bd8eddabb6f3bf0d5a8a27be1fe8a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 273c7d7685e14ec66bbb96b8f05b6ddd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32752eefc8c2a93f91b6e73eb07cca6e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d893e7d62f6ce502c64f75e281f9c000 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8dfd999be5d0cfa35732c0ddc88ff5a5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02647c76a300c3173b841487eb2bae9f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 172df8b02f04b53adab028b4e01acd87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 054b3bf4998aeb05afd87ec536533a36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3783f7bf44c97f065258a666cae03020 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aad4c8a63f80954104de7b92cede1be1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cbfe61810fd5467ccdacb75800f3ac07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 830d8a2590f7d8e1b55a737f4af45f34 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fffcd4683f858058e74314671d43fa2c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 523d0babbb82f46ebc9e70b1cd41ddd0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 344aab37080d7486f7d542a309e53eed +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56c5609d0906b23ab9caca816f5dbebd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7026026eedd91adc6d831cdf9894bdc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 88330baa4f2b618fc9d9b021bf503d5a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc9e0ea22480b0bac935c8a8ebefcdcf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29ca779f398fb04f867da7e8a44756cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 51f89c42985786bfc43c6df8ada36832 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6ac1de5fb8f21d874e91c53b560c50e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03aa9058490eda306001a8a9f48d0ca7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e34ec71d6128d4871865d617c30b37e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14be1c535b17cabd0c4d93529d69bf47 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9ef67756507beec9dd3862883478044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40e231fa5a5948ce2134e92fc0664d4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03194b8e5dda5530d0c678c0b48f5d92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90bd086f237cc4fd99f4d76bde6b4826 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19259761ca17130d6ed86d57cd7951ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d7cbb3f34b9b450f24b0e8518e54da6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 725b9caebe9f7f417f4068d0d2ee20b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d924b934a90ce1fd39b8a9794f82672 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c50562bf094526a91c5bc63c0c224995 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2f11805046743bd74f57188d9188df7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8dd274bd0f1b58ae345d9e7233f9b8f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d6bdc8f4ce5feb0f3bed2e4b9a9bb0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd5548bcf3f42565f7efa94562528d46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2ccaebd3a4c3e80b063748131ba4a71 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e03cb23d9e11c9d93f117e9c0a91b576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 78f933a2081ac1db84f69d10f4523fe0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4061f7412ed320de0edc8851c2e2436f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9064ba1cd04ce6bab98474330814b4d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 48391bffb9cfff80ac238c886ef0a461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8d2a67df5a999fdbf93edd0343296c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aaca7367396b69a221bd632bea386eec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a80fd5020dfe65f5f16293ec92c6fd89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2162995b8217a67f1abc342e146406f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6a6164b7a60bae4e986ffac28dfadd9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64e0d7f900e3d9c83e4b8f96717b2146 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ad2561de8c1232f5d8dbab4739b6cbb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 279689e9a557f58b1c3bf40c97a90964 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4637e4a5e6377f9cc5a8638045de029 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 492e607e5aea4688594b45f3aee3df90 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e8c4e4381feec74054954c05b777a00a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 91549514605f38246c9b724ad839f01d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 74b24e3b6fefe40a4f9ef7ac6e44d76a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2437a683dc5d4b52abb4a123a8df86c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bb2852c891c5947d2ed44032c421b85f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b9f5fbd5e8a4264c0a85b80409afa5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30dab809f85a917fe924733f424ac589 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eaef5c1f8d605192646695ceadc65f32 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8aa90040b4c15a12316b78e0f9586fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97fac8297ceaabc87d454350601e0673 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b47ef567ac28dfe488492f157e2b2e0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b8426027ddb962b5c5ba7eb8bc9ab63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e917fc77e71992a12dbe4c18068bec82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dceebbc98840f8ae6daf76573b7e56f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e11a9f74205125b61e0aee047eca20d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f60467f55a1f17eab88e800120cbc284 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d436649f600b449ee276530f0cd83c11 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3bc0e3656a9e3ac7cd378a737f53b637 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6bacae63d33b928aa8380f8d54d88c17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8935ffbc75ae6251bf8e859f085adcb9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93dc4970fe35f67747cb0562c06d875a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14f9df858975851797ba604fb0d16cc7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02ea0c98dca10b38c21b3b14e8d1b71f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f091b1b5b0749b2adc803e63dda9b72 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 05b389e3322c6da08384345a4137fd08 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 381308c438f35b399f10ad71b05027d8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 68c230fcfa9279c3409fc423e2acbe04 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c84a475acb011f3f59f4f46b76274c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45119b68cb3f8399ee60066b5611a4d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9423762f527a4060ffca312dcca22a16 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f361a2745a33f056a5ac6ace2f08e344 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5ef145766eca849f5d011536a6557fdb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9af27b2c89c9b4cf4a0c4106ac80318 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb9c4f16c621f4eab7e9ac1d7551dd57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 138e06fba466fa70854d8c2e524cffb2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb4bc78b225070773f04c40466d4e90c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b2cbff1ed0150feda8a4799be94551f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 08b30d7b3f27962709a36bcadfb974bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdf6d32e044d77adcf37fb97ac213326 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93cb284ecdcfd781a8afe32077949e88 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b017bb02ec87b2b94c96e40a26fc71a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c5c038b6990664ab08a3aaa5df9f3266 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b7020be37fab6259b2a27f4ec551576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60136703374f64e860b48ce31f930716 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d63a269b14d506ccc401ab8a9f1b591 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d317f81dc6aa454aee4bd4a5a5cff4bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dddececd5354f04d530d76ed884246eb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41c5205cc8fd8eda9a3cffd2518f365a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf42fb474293d96eca9db1b37b1ba676 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a231692607169b4ecdead5cd3b10db3e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ace4b91c9c669e77e7acacd19859ed49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75db7cfd4a7b2b62ab78a48f3ddaf4af +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c1faba2d46e259cf480d7c38e4572a58 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 241c45bc6ae16dee6eb7bea128701582 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8fd03057cf1364420c2b78069a3e2502 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ddb505e6cc1384cbaec1df90b80beb20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5674a3bed27bf4bd3622f9f5fe208306 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b687f26a89cfbfbb8e5eeac54055315e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0547dd32d3b29ab6a4caeb606c5b6f78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 186861f8bc5386d31fb77f720c3226e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eacf1e6c4224efb38900b185ab1dfd42 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d241aab05a42d319de81d874f5c7b90d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5eb9bc759e2ad8d2140a6c762ae9e1ab +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 018596e15e78e2c064159defce5f3085 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd8a493514231cbf56eccee4c40889fb +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey256.rsp new file mode 100644 index 000000000..e3fe5a103 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarKey256.rsp @@ -0,0 +1,3083 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:57 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e35a6dcb19b201a01ebcfa8aa22b5759 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b29169cdcf2d83e838125a12ee6aa400 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8f3a72fc3cdf74dfaf6c3e6b97b2fa6 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c777679d50037c79491a94da76a9a35 + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cf4893ecafa0a0247a898e040691559 + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8fbb413703735326310a269bd3aa94b2 + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60e32246bed2b0e859e55c1cc6b26502 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec52a212f80a09df6317021bc2a9819e + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f23e5b600eb70dbccf6c0b1d9a68182c + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a3f599d63a82a968c33fe26590745970 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1ccb9b1337002cbac42c520b5d67722 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc111f6c37cf40a1159d00fb59fb0488 + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc43b51ab609052372989a26e9cdd714 + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4dcede8da9e2578f39703d4433dc6459 + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1a4c1c263bbccfafc11782894685e3a8 + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 937ad84880db50613423d6d527a2823d + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 610b71dfc688e150d8152c5b35ebc14d + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27ef2495dabf323885aab39c80f18d8b + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 633cafea395bc03adae3a1e2068e4b4e + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e1b482b53761cf631819b749a6f3724 + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 976e6f851ab52c771998dbb2d71c75a9 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 85f2ba84f8c307cf525e124c3e22e6cc + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6bcca98bf6a835fa64955f72de4115fe + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2c75e2d36eebd65411f14fd0eb1d2a06 + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bd49295006250ffca5100b6007a0eade + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a190527d0ef7c70f459cd3940df316ec + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bbd1097a62433f79449fa97d4ee80dbf + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07058e408f5b99b0e0f061a1761b5b3b + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5fd1f13fa0f31e37fabde328f894eac2 + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc4af7c948df26e2ef3e01c1ee5b8f6f + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829fd7208fb92d44a074a677ee9861ac + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ad9fc613a703251b54c64a0e76431711 + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33ac9eccc4cc75e2711618f80b1548e8 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2025c74b8ad8f4cda17ee2049c4c902d + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f85ca05fe528f1ce9b790166e8d551e7 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6f6238d8966048d4967154e0dad5a6c9 + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2b21b4e7640a9b3346de8b82fb41e49 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f836f251ad1d11d49dc344628b1884e1 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 077e9470ae7abea5a9769d49182628c3 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0dcc2d27fc9865633f85223cf0d611f + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = be66cfea2fecd6bf0ec7b4352c99bcaa + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df31144f87a2ef523facdcf21a427804 + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5bb0f5629fb6aae5e1839a3c3625d63 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3c9db3335306fe1ec612bdbfae6b6028 + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3dd5c34634a79d3cfcc8339760e6f5f4 + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82bda118a3ed7af314fa2ccc5c07b761 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2937a64f7d4f46fe6fea3b349ec78e38 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 225f068c28476605735ad671bb8f39f3 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ae682c5ecd71898e08942ac9aa89875c + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5e031cb9d676c3022d7f26227e85c38f + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a78463fb064db5d52bb64bfef64f2dda + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8aa9b75e784593876c53a00eae5af52b + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f84566df23da48af692722fe980573a + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 31690b5ed41c7eb42a1e83270a7ff0e6 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77dd7702646d55f08365e477d3590eda + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4c022ac62b3cb78d739cc67b3e20bb7e + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 092fa137ce18b5dfe7906f550bb13370 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e0cdadf2e68353c0027672c97144dd3 + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8c4b200b383fc1f2b2ea677618a1d27 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11825f99b0e9bb3477c1c0713b015aac + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f8b9fffb5c187f7ddc7ab10f4fb77576 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ffb4e87a32b37d6f2c8328d3b5377802 + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d276c13a5d220f4da9224e74896391ce + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 94efe7a0e2e031e2536da01df799c927 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f8fd822680a85974e53a5a8eb9d38de + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0f0a91b2e45f8cc37b7805a3042588d + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 597a6252255e46d6364dbeeda31e279c + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f51a0f694442b8f05571797fec7ee8bf + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ff071b165b5198a93dddeebc54d09b5 + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c20a19fd5758b0c4bc1a5df89cf73877 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97120166307119ca2280e9315668e96f + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b3b9f1e099c2a09dc091e90e4f18f0a + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb040b891d4b37f6851f7ec219cd3f6d + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9f0fdec08b7fd79aa39535bea42db92a + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e70f168fc74bf911df240bcd2cef236 + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 462ccd7f5fd1108dbc152f3cacad328b + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a4af534a7d0b643a01868785d86dfb95 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab980296197e1a5022326c31da4bf6f3 + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f97d57b3333b6281b07d486db2d4e20c + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f33fa36720231afe4c759ade6bd62eb6 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdcfac0c02ca538343c68117e0a15938 + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ad4916f5ee5772be764fc027b8a6e539 + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e16873e1678610d7e14c02d002ea845 + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4e6e627c1acc51340053a8236d579576 + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab0c8410aeeead92feec1eb430d652cb + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e86f7e23e835e114977f60e1a592202e + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e68ad5055a367041fade09d9a70a794b + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0791823a3c666bb6162825e78606a7fe + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dcca366a9bf47b7b868b77e25c18a364 + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 684c9efc237e4a442965f84bce20247a + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a858411ffbe63fdb9c8aa1bfaed67b52 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04bc3da2179c3015498b0e03910db5b8 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40071eeab3f935dbc25d00841460260f + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0ebd7c30ed2016e08ba806ddb008bcc8 + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 15c6becf0f4cec7129cbd22d1a79b1b8 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0aeede5b91f721700e9e62edbf60b781 + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 266581af0dcfbed1585e0a242c64b8df + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6693dc911662ae473216ba22189a511a + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7606fa36d86473e6fb3a1bb0e2c0adf5 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 112078e9e11fbb78e26ffb8899e96b9a + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40b264e921e9e4a82694589ef3798262 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d4595cb4fa7026715f55bd68e2882f9 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b588a302bdbc09197df1edae68926ed9 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33f7502390b8a4a221cfecd0666624ba + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3d20253adbce3be2373767c4d822c566 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a42734a3929bf84cf0116c9856a3c18c + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e3abc4939457422bb957da3c56938c6d + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 972bdd2e7c525130fadc8f76fc6f4b3f + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84a83d7b94c699cbcb8a7d9b61f64093 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ce61d63514aded03d43e6ebfc3a9001f + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c839dd58eeae6b8a36af48ed63d2dc9 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cd5ece55b8da3bf622c4100df5de46f9 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b6f46f40e0ac5fc0a9c1105f800f48d + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba26d47da3aeb028de4fb5b3a854a24b + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 87f53bf620d3677268445212904389d5 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10617d28b5e0f4605492b182a5d7f9f6 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9aaec4fabbf6fae2a71feff02e372b39 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a90c62d88b5c42809abf782488ed130 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f1f1c5a40899e15772857ccb65c7a09a + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 190843d29b25a3897c692ce1dd81ee52 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a866bc65b6941d86e8420a7ffb0964db + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8193c6ff85225ced4255e92f6e078a14 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9661cb2424d7d4a380d547f9e7ec1cb9 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 86f93d9ec08453a071e2e2877877a9c8 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27eefa80ce6a4a9d598e3fec365434d2 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d62068444578e3ab39ce7ec95dd045dc + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f71d4dd9a71fe5d8bc8ba7e6ea3048 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6825a347ac479d4f9d95c5cb8d3fd7e9 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e3714e94a5778955cc0346358e94783a + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d836b44bb29e0c7d89fa4b2d4b677d2a + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d454b75021d76d4b84f873a8f877b92 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3498f7eced2095314fc28115885b33f + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e668856539ad8e405bd123fe6c88530 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8680db7f3a87b8605543cfdbe6754076 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c5d03b13069c3658b3179be91b0800c + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1b384ac4d93eda00c92add0995ea5f + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bf8115805471741bd5ad20a03944790f + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c64c24b6894b038b3c0d09b1df068b0b + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3967a10cffe27d0178545fbf6a40544b + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7c85e9c95de1a9ec5a5363a8a053472d + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a9eec03c8abec7ba68315c2c8c2316e0 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cac8e414c2f388227ae14986fc983524 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d942b7f4622ce056c3ce3ce5f1dd9d6 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d240d648ce21a3020282c3f1b528a0b6 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 45d089c36d5c5a4efc689e3b0de10dd5 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4da5df4becb5462e03a0ed00d295629 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dcf4e129136c1a4b7a0f38935cc34b2b + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9a4c7618b0ce48a3d5aee1a1c0114c4 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca352df025c65c7b0bf306fbee0f36ba + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 238aca23fd3409f38af63378ed2f5473 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 59836a0e06a79691b36667d5380d8188 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33905080f7acf1cdae0a91fc3e85aee4 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72c9e4646dbc3d6320fc6689d93e8833 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba77413dea5925b7f5417ea47ff19f59 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6cae8129f843d86dc786a0fb1a184970 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fcfefb534100796eebbd990206754e19 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8c791d5fdddf470da04f3e6dc4a5b5b5 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c93bbdc07a4611ae4bb266ea5034a387 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c102e38e489aa74762f3efc5bb23205a + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93201481665cbafc1fcc220bc545fb3d + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4960757ec6ce68cf195e454cfd0f32ca + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = feec7ce6a6cbd07c043416737f1bbb33 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11c5413904487a805d70a8edd9c35527 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 347846b2b2e36f1f0324c86f7f1b98e2 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 332eee1a0cbd19ca2d69b426894044f0 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 866b5b3977ba6efa5128efbda9ff03cd + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc1445ee94c0f08cdee5c344ecd1e233 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = be288319029363c2622feba4b05dfdfe + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cfd1875523f3cd21c395651e6ee15e56 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb5a408657837c53bf16f9d8465dce19 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca0bf42cb107f55ccff2fc09ee08ca15 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdd9bbb4a7dc2e4a23536a5880a2db67 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ede447b362c484993dec9442a3b46aef + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10dffb05904bff7c4781df780ad26837 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c33bc13e8de88ac25232aa7496398783 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca359c70803a3b2a3d542e8781dea975 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bcc65b526f88d05b89ce8a52021fdb06 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db91a38855c8c4643851fbfb358b0109 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca6e8893a114ae8e27d5ab03a5499610 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6629d2b8df97da728cdd8b1e7f945077 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4570a5a18cfc0dd582f1d88d5c9a1720 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72bc65aa8e89562e3f274d45af1cd10b + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 98551da1a6503276ae1c77625f9ea615 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0ddfe51ced7e3f4ae927daa3fe452cee + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db826251e4ce384b80218b0e1da1dd4c + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cacf728b88abbad7011ed0e64a1680c + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 330d8ee7c5677e099ac74c9994ee4cfb + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = edf61ae362e882ddc0167474a7a77f3a + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6168b00ba7859e0970ecfd757efecf7c + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1415447866230d28bb1ea18a4cdfd02 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 516183392f7a8763afec68a060264141 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77565c8d73cfd4130b4aa14d8911710f + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 37232a4ed21ccc27c19c9610078cabac + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 804f32ea71828c7d329077e712231666 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d64424f23cb97215e9c2c6f28d29eab7 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 023e82b533f68c75c238cebdb2ee89a2 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 193a3d24157a51f1ee0893f6777417e7 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84ecacfcd400084d078612b1945f2ef5 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dcd8bb173259eb33a5242b0de31a455 + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35e9eddbc375e792c19992c19165012b + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8a772231c01dfdd7c98e4cfddcc0807a + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6eda7ff6b8319180ff0d6e65629d01c3 + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c267ef0e2d01a993944dd397101413cb + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e9f80e9d845bcc0f62926af72eabca39 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6702990727aa0878637b45dcd3a3b074 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e2e647d5360e09230a5d738ca33471e + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f56413c7add6f43d1d56e4f02190330 + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 69cd0606e15af729d6bca143016d9842 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a085d7c1a500873a20099c4caa3c3f5b + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fc0d230f8891415b87b83f95f2e09d1 + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4327d08c523d8eba697a4336507d1f42 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a15aab82701efa5ae36ab1d6b76290f + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5bf0051893a18bb30e139a58fed0fa54 + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97e8adf65638fd9cdf3bc22c17fe4dbd + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ee6ee326583a0586491c96418d1a35d + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26b549c2ec756f82ecc48008e529956b + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70377b6da669b072129e057cc28e9ca5 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c94b8b0cb8bcc919072262b3fa05ad9 + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fbb83dfd0d7abcb05cd28cad2dfb523 + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96877803de77744bb970d0a91f4debae + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7379f3370cf6e5ce12ae5969c8eea312 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02dc99fa3d4f98ce80985e7233889313 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1e38e759075ba5cab6457da51844295a + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70bed8dbf615868a1f9d9b05d3e7a267 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 234b148b8cb1d8c32b287e896903d150 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 294b033df4da853f4be3e243f7e513f4 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f58c950f0367160adec45f2441e7411 + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 37f655536a704e5ace182d742a820cf4 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea7bd6bb63418731aeac790fe42d61e8 + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e74a4c999b4c064e48bb1e413f51e5ea + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba9ebefdb4ccf30f296cecb3bc1943e8 + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3194367a4898c502c13bb7478640a72d + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = da797713263d6f33a5478a65ef60d412 + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1ac39bb1ef86b9c1344f214679aa376 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fdea9e650532be5bc0e7325337fd363 + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d3a204dbd9c2af158b6ca67a5156ce4a + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0a0e75a8da36735aee6684d965a778 + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 52fc3e620492ea99641ea168da5b6d52 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2e0c7f15b4772467d2cfc873000b2ca + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 563531135e0c4d70a38f8bdb190ba04e + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a8a39a0f5663f4c0fe5f2d3cafff421a + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d94b5e90db354c1e42f61fabe167b2c0 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 50e6d3c9b6698a7cd276f96b1473f35a + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9338f08e0ebee96905d8f2e825208f43 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b378c86672aa54a3a266ba19d2580ca + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cca7c3086f5f9511b31233da7cab9160 + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5b40ff4ec9be536ba23035fa4f06064c + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60eb5af8416b257149372194e8b88749 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2f005a8aed8a361c92e440c15520cbd1 + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b03627611678a997717578807a800e2 + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf78618f74f6f3696e0a4779b90b5a77 + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03720371a04962eaea0a852e69972858 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f8a8133aa8ccf70e2bd3285831ca6b7 + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27936bd27fb1468fc8b48bc483321725 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b07d4f3e2cd2ef2eb545980754dfea0f + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bf85f1b5d54adbc307b0a048389adcb + +[DECRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e35a6dcb19b201a01ebcfa8aa22b5759 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b29169cdcf2d83e838125a12ee6aa400 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8f3a72fc3cdf74dfaf6c3e6b97b2fa6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c777679d50037c79491a94da76a9a35 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9cf4893ecafa0a0247a898e040691559 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8fbb413703735326310a269bd3aa94b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60e32246bed2b0e859e55c1cc6b26502 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec52a212f80a09df6317021bc2a9819e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f23e5b600eb70dbccf6c0b1d9a68182c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3f599d63a82a968c33fe26590745970 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1ccb9b1337002cbac42c520b5d67722 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc111f6c37cf40a1159d00fb59fb0488 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc43b51ab609052372989a26e9cdd714 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4dcede8da9e2578f39703d4433dc6459 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1a4c1c263bbccfafc11782894685e3a8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 937ad84880db50613423d6d527a2823d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 610b71dfc688e150d8152c5b35ebc14d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27ef2495dabf323885aab39c80f18d8b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 633cafea395bc03adae3a1e2068e4b4e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e1b482b53761cf631819b749a6f3724 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 976e6f851ab52c771998dbb2d71c75a9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 85f2ba84f8c307cf525e124c3e22e6cc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6bcca98bf6a835fa64955f72de4115fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c75e2d36eebd65411f14fd0eb1d2a06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bd49295006250ffca5100b6007a0eade +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a190527d0ef7c70f459cd3940df316ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bbd1097a62433f79449fa97d4ee80dbf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07058e408f5b99b0e0f061a1761b5b3b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5fd1f13fa0f31e37fabde328f894eac2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc4af7c948df26e2ef3e01c1ee5b8f6f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 829fd7208fb92d44a074a677ee9861ac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad9fc613a703251b54c64a0e76431711 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33ac9eccc4cc75e2711618f80b1548e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2025c74b8ad8f4cda17ee2049c4c902d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f85ca05fe528f1ce9b790166e8d551e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6f6238d8966048d4967154e0dad5a6c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2b21b4e7640a9b3346de8b82fb41e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f836f251ad1d11d49dc344628b1884e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 077e9470ae7abea5a9769d49182628c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0dcc2d27fc9865633f85223cf0d611f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be66cfea2fecd6bf0ec7b4352c99bcaa +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df31144f87a2ef523facdcf21a427804 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5bb0f5629fb6aae5e1839a3c3625d63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3c9db3335306fe1ec612bdbfae6b6028 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3dd5c34634a79d3cfcc8339760e6f5f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82bda118a3ed7af314fa2ccc5c07b761 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2937a64f7d4f46fe6fea3b349ec78e38 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 225f068c28476605735ad671bb8f39f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ae682c5ecd71898e08942ac9aa89875c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e031cb9d676c3022d7f26227e85c38f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a78463fb064db5d52bb64bfef64f2dda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8aa9b75e784593876c53a00eae5af52b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f84566df23da48af692722fe980573a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 31690b5ed41c7eb42a1e83270a7ff0e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77dd7702646d55f08365e477d3590eda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4c022ac62b3cb78d739cc67b3e20bb7e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 092fa137ce18b5dfe7906f550bb13370 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e0cdadf2e68353c0027672c97144dd3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8c4b200b383fc1f2b2ea677618a1d27 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11825f99b0e9bb3477c1c0713b015aac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8b9fffb5c187f7ddc7ab10f4fb77576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ffb4e87a32b37d6f2c8328d3b5377802 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d276c13a5d220f4da9224e74896391ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94efe7a0e2e031e2536da01df799c927 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f8fd822680a85974e53a5a8eb9d38de +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0f0a91b2e45f8cc37b7805a3042588d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 597a6252255e46d6364dbeeda31e279c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f51a0f694442b8f05571797fec7ee8bf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ff071b165b5198a93dddeebc54d09b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c20a19fd5758b0c4bc1a5df89cf73877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97120166307119ca2280e9315668e96f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b3b9f1e099c2a09dc091e90e4f18f0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb040b891d4b37f6851f7ec219cd3f6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9f0fdec08b7fd79aa39535bea42db92a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e70f168fc74bf911df240bcd2cef236 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 462ccd7f5fd1108dbc152f3cacad328b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4af534a7d0b643a01868785d86dfb95 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab980296197e1a5022326c31da4bf6f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f97d57b3333b6281b07d486db2d4e20c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f33fa36720231afe4c759ade6bd62eb6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdcfac0c02ca538343c68117e0a15938 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad4916f5ee5772be764fc027b8a6e539 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e16873e1678610d7e14c02d002ea845 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e6e627c1acc51340053a8236d579576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab0c8410aeeead92feec1eb430d652cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e86f7e23e835e114977f60e1a592202e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e68ad5055a367041fade09d9a70a794b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0791823a3c666bb6162825e78606a7fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dcca366a9bf47b7b868b77e25c18a364 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 684c9efc237e4a442965f84bce20247a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a858411ffbe63fdb9c8aa1bfaed67b52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04bc3da2179c3015498b0e03910db5b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40071eeab3f935dbc25d00841460260f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0ebd7c30ed2016e08ba806ddb008bcc8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 15c6becf0f4cec7129cbd22d1a79b1b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0aeede5b91f721700e9e62edbf60b781 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 266581af0dcfbed1585e0a242c64b8df +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6693dc911662ae473216ba22189a511a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7606fa36d86473e6fb3a1bb0e2c0adf5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 112078e9e11fbb78e26ffb8899e96b9a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40b264e921e9e4a82694589ef3798262 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d4595cb4fa7026715f55bd68e2882f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b588a302bdbc09197df1edae68926ed9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33f7502390b8a4a221cfecd0666624ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3d20253adbce3be2373767c4d822c566 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a42734a3929bf84cf0116c9856a3c18c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3abc4939457422bb957da3c56938c6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 972bdd2e7c525130fadc8f76fc6f4b3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84a83d7b94c699cbcb8a7d9b61f64093 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ce61d63514aded03d43e6ebfc3a9001f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c839dd58eeae6b8a36af48ed63d2dc9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cd5ece55b8da3bf622c4100df5de46f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b6f46f40e0ac5fc0a9c1105f800f48d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba26d47da3aeb028de4fb5b3a854a24b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 87f53bf620d3677268445212904389d5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10617d28b5e0f4605492b182a5d7f9f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9aaec4fabbf6fae2a71feff02e372b39 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a90c62d88b5c42809abf782488ed130 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f1f1c5a40899e15772857ccb65c7a09a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 190843d29b25a3897c692ce1dd81ee52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a866bc65b6941d86e8420a7ffb0964db +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8193c6ff85225ced4255e92f6e078a14 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9661cb2424d7d4a380d547f9e7ec1cb9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 86f93d9ec08453a071e2e2877877a9c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27eefa80ce6a4a9d598e3fec365434d2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d62068444578e3ab39ce7ec95dd045dc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5f71d4dd9a71fe5d8bc8ba7e6ea3048 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6825a347ac479d4f9d95c5cb8d3fd7e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3714e94a5778955cc0346358e94783a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d836b44bb29e0c7d89fa4b2d4b677d2a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d454b75021d76d4b84f873a8f877b92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3498f7eced2095314fc28115885b33f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e668856539ad8e405bd123fe6c88530 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8680db7f3a87b8605543cfdbe6754076 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c5d03b13069c3658b3179be91b0800c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef1b384ac4d93eda00c92add0995ea5f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bf8115805471741bd5ad20a03944790f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c64c24b6894b038b3c0d09b1df068b0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3967a10cffe27d0178545fbf6a40544b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7c85e9c95de1a9ec5a5363a8a053472d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a9eec03c8abec7ba68315c2c8c2316e0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cac8e414c2f388227ae14986fc983524 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d942b7f4622ce056c3ce3ce5f1dd9d6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d240d648ce21a3020282c3f1b528a0b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45d089c36d5c5a4efc689e3b0de10dd5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4da5df4becb5462e03a0ed00d295629 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dcf4e129136c1a4b7a0f38935cc34b2b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9a4c7618b0ce48a3d5aee1a1c0114c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca352df025c65c7b0bf306fbee0f36ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 238aca23fd3409f38af63378ed2f5473 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 59836a0e06a79691b36667d5380d8188 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33905080f7acf1cdae0a91fc3e85aee4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72c9e4646dbc3d6320fc6689d93e8833 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba77413dea5925b7f5417ea47ff19f59 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6cae8129f843d86dc786a0fb1a184970 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fcfefb534100796eebbd990206754e19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8c791d5fdddf470da04f3e6dc4a5b5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c93bbdc07a4611ae4bb266ea5034a387 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c102e38e489aa74762f3efc5bb23205a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93201481665cbafc1fcc220bc545fb3d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4960757ec6ce68cf195e454cfd0f32ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = feec7ce6a6cbd07c043416737f1bbb33 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11c5413904487a805d70a8edd9c35527 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 347846b2b2e36f1f0324c86f7f1b98e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 332eee1a0cbd19ca2d69b426894044f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 866b5b3977ba6efa5128efbda9ff03cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc1445ee94c0f08cdee5c344ecd1e233 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be288319029363c2622feba4b05dfdfe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cfd1875523f3cd21c395651e6ee15e56 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb5a408657837c53bf16f9d8465dce19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca0bf42cb107f55ccff2fc09ee08ca15 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdd9bbb4a7dc2e4a23536a5880a2db67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ede447b362c484993dec9442a3b46aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10dffb05904bff7c4781df780ad26837 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c33bc13e8de88ac25232aa7496398783 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca359c70803a3b2a3d542e8781dea975 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bcc65b526f88d05b89ce8a52021fdb06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db91a38855c8c4643851fbfb358b0109 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca6e8893a114ae8e27d5ab03a5499610 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6629d2b8df97da728cdd8b1e7f945077 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4570a5a18cfc0dd582f1d88d5c9a1720 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72bc65aa8e89562e3f274d45af1cd10b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 98551da1a6503276ae1c77625f9ea615 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0ddfe51ced7e3f4ae927daa3fe452cee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db826251e4ce384b80218b0e1da1dd4c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2cacf728b88abbad7011ed0e64a1680c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 330d8ee7c5677e099ac74c9994ee4cfb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = edf61ae362e882ddc0167474a7a77f3a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6168b00ba7859e0970ecfd757efecf7c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1415447866230d28bb1ea18a4cdfd02 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 516183392f7a8763afec68a060264141 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77565c8d73cfd4130b4aa14d8911710f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37232a4ed21ccc27c19c9610078cabac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 804f32ea71828c7d329077e712231666 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d64424f23cb97215e9c2c6f28d29eab7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 023e82b533f68c75c238cebdb2ee89a2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 193a3d24157a51f1ee0893f6777417e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84ecacfcd400084d078612b1945f2ef5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1dcd8bb173259eb33a5242b0de31a455 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35e9eddbc375e792c19992c19165012b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8a772231c01dfdd7c98e4cfddcc0807a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6eda7ff6b8319180ff0d6e65629d01c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c267ef0e2d01a993944dd397101413cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9f80e9d845bcc0f62926af72eabca39 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6702990727aa0878637b45dcd3a3b074 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e2e647d5360e09230a5d738ca33471e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f56413c7add6f43d1d56e4f02190330 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69cd0606e15af729d6bca143016d9842 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a085d7c1a500873a20099c4caa3c3f5b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fc0d230f8891415b87b83f95f2e09d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4327d08c523d8eba697a4336507d1f42 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a15aab82701efa5ae36ab1d6b76290f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5bf0051893a18bb30e139a58fed0fa54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97e8adf65638fd9cdf3bc22c17fe4dbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ee6ee326583a0586491c96418d1a35d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26b549c2ec756f82ecc48008e529956b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70377b6da669b072129e057cc28e9ca5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c94b8b0cb8bcc919072262b3fa05ad9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2fbb83dfd0d7abcb05cd28cad2dfb523 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96877803de77744bb970d0a91f4debae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7379f3370cf6e5ce12ae5969c8eea312 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02dc99fa3d4f98ce80985e7233889313 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1e38e759075ba5cab6457da51844295a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70bed8dbf615868a1f9d9b05d3e7a267 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 234b148b8cb1d8c32b287e896903d150 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 294b033df4da853f4be3e243f7e513f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f58c950f0367160adec45f2441e7411 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37f655536a704e5ace182d742a820cf4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea7bd6bb63418731aeac790fe42d61e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e74a4c999b4c064e48bb1e413f51e5ea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba9ebefdb4ccf30f296cecb3bc1943e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3194367a4898c502c13bb7478640a72d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = da797713263d6f33a5478a65ef60d412 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1ac39bb1ef86b9c1344f214679aa376 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2fdea9e650532be5bc0e7325337fd363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d3a204dbd9c2af158b6ca67a5156ce4a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a0a0e75a8da36735aee6684d965a778 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 52fc3e620492ea99641ea168da5b6d52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2e0c7f15b4772467d2cfc873000b2ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 563531135e0c4d70a38f8bdb190ba04e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8a39a0f5663f4c0fe5f2d3cafff421a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d94b5e90db354c1e42f61fabe167b2c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 50e6d3c9b6698a7cd276f96b1473f35a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9338f08e0ebee96905d8f2e825208f43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b378c86672aa54a3a266ba19d2580ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cca7c3086f5f9511b31233da7cab9160 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5b40ff4ec9be536ba23035fa4f06064c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60eb5af8416b257149372194e8b88749 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2f005a8aed8a361c92e440c15520cbd1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b03627611678a997717578807a800e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf78618f74f6f3696e0a4779b90b5a77 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03720371a04962eaea0a852e69972858 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f8a8133aa8ccf70e2bd3285831ca6b7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27936bd27fb1468fc8b48bc483321725 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = b07d4f3e2cd2ef2eb545980754dfea0f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bf85f1b5d54adbc307b0a048389adcb +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt128.rsp new file mode 100644 index 000000000..8dd4b0402 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:53 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt192.rsp new file mode 100644 index 000000000..d6deac633 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt192.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:55 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6cd02513e8d4dc986b4afe087a60bd0c + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2ce1f8b7e30627c1c4519eada44bc436 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9946b5f87af446f5796c1fee63a2da24 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2a560364ce529efc21788779568d5555 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35c1471837af446153bce55d5ba72a0a + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ce60bc52386234f158f84341e534cd9e + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8c7c27ff32bcf8dc2dc57c90c2903961 + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32bb6a7ec84499e166f936003d55a5bb + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a5c772e5c62631ef660ee1d5877f6d1b + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 030d7e5b64f380a7e4ea5387b5cd7f49 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0dc9a2610037009b698f11bb7e86c83e + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0046612c766d1840c226364f1fa7ed72 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4880c7e08f27befe78590743c05e698b + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2520ce829a26577f0f4822c4ecc87401 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8765e8acc169758319cb46dc7bcf3dca + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e98f4ba4f073df4baa116d011dc24a28 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f378f68c5dbf59e211b3a659a7317d94 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 283d3b069d8eb9fb432d74b96ca762b4 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a7e1842e8a87861c221a500883245c51 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77aa270471881be070fb52c7067ce732 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 01b0f476d484f43f1aeb6efa9361a8ac + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c3a94f1c052c55c2d8359aff2163b4f + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e8a067b604d5373d8b0f2e05a03b341b + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a7876ec87f5a09bfea42c77da30fd50e + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0cf3e9d3a42be5b854ca65b13f35f48d + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c62f6bbcab7c3e821c9290f08892dda + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f5e05bd2068738196fee79ace7e3aec + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 440e0d733255cda92fb46e842fe58054 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aa5d5b1c4ea1b7a22e5583ac2e9ed8a7 + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77e537e89e8491e8662aae3bc809421d + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 997dd3e9f1598bfa73f75973f7e93b76 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b38d4f7452afefcb7fc721244e4b72e + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0be2b18252e774dda30cdda02c6906e3 + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2695e59c20361d82652d7d58b6f11b2 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 902d88d13eae52089abd6143cfe394e9 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d49bceb3b823fedd602c305345734bd2 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 707b1dbb0ffa40ef7d95def421233fae + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7ca0c1d93356d9eb8aa952084d75f913 + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2cbf9cb186e270dd7bdb0c28febc57d + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c94337c37c4e790ab45780bd9c3674a0 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e3558c135252fb9c9f367ed609467a1 + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b72eeaee4899b443914e5b3a57fba92 + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 011865f91bc56868d051e52c9efd59b7 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e4771318ad7a63dd680f6e583b7747ea + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 61e3d194088dc8d97e9e6db37457eac5 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36ff1ec9ccfbc349e5d356d063693ad6 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3cc9e9a9be8cc3f6fb2ea24088e9bb19 + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ee5ab003dc8722e74905d9a8fe3d350 + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 245339319584b0a412412869d6c2eada + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7bd496918115d14ed5380852716c8814 + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 273ab2f2b4a366a57d582a339313c8b1 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 113365a9ffbe3b0ca61e98507554168b + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = afa99c997ac478a0dea4119c9e45f8b1 + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9216309a7842430b83ffb98638011512 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62abc792288258492a7cb45145f4b759 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 534923c169d504d7519c15d30e756c50 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fa75e05bcdc7e00c273fa33f6ee441d2 + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7d350fa6057080f1086a56b17ec240db + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f34e4a6324ea4a5c39a661c8fe5ada8f + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0882a16f44088d42447a29ac090ec17e + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a3c15bfc11a9537c130687004e136ee + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 22c0a7678dc6d8cf5c8a6d5a9960767c + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b46b09809d68b9a456432a79bdc2e38c + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93baaffb35fbe739c17c6ac22eecf18f + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8aa80a7850675bc007c46df06b49868 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12c6f3877af421a918a84b775858021d + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33f123282c5d633924f7d5ba3f3cab11 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a8f161002733e93ca4527d22c1a0c5bb + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b72f70ebf3e3fda23f508eec76b42c02 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a9d965e6274143f25afdcfc88ffd77c + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a0c74fd0b9361764ce91c5200b095357 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 091d1fdc2bd2c346cd5046a8c6209146 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e2a37580116cfb71856254496ab0aca8 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0b3a00785917c7efc9adba322813571 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 733d41f4727b5ef0df4af4cf3cffa0cb + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a99ebb030260826f981ad3e64490aa4f + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 73f34c7d3eae5e80082c1647524308ee + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40ebd5ad082345b7a2097ccd3464da02 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7cc4ae9a424b2cec90c97153c2457ec5 + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 54d632d03aba0bd0f91877ebdd4d09cb + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d3427be7e4d27cd54f5fe37b03cf0897 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b2099795e88cc158fd75ea133d7e7fbe + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a6cae46fb6fadfe7a2c302a34242817b + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 026a7024d6a902e0b3ffccbaa910cc3f + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 156f07767a85a4312321f63968338a01 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 15eec9ebf42b9ca76897d2cd6c5a12e2 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db0d3a6fdcc13f915e2b302ceeb70fd8 + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 71dbf37e87a2e34d15b20e8f10e48924 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c745c451e96ff3c045e4367c833e3b54 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 340da09c2dd11c3b679d08ccd27dd595 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8279f7c0c2a03ee660c6d392db025d18 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a4b2c7d8eba531ff47c5041a55fbd1ec + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 74569a2ca5a7bd5131ce8dc7cbfbf72f + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3713da0c0219b63454035613b5a403dd + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8827551ddcc9df23fa72a3de4e9f0b07 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e3febfd625bfcd0a2c06eb460da1732 + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ee82e6ba488156f76496311da6941deb + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4770446f01d1f391256e85a1b30d89d3 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = af04b68f104f21ef2afb4767cf74143c + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf3579a9ba38c8e43653173e14f3a4c6 + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b3bba904f4953e09b54800af2f62e7d4 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc4249656e14b29eb9c44829b4c59a46 + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b31568febe81cfc2e65af1c86d1a308 + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ca09c25f273a766db98a480ce8dfedc + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b909925786f34c3c92d971883c9fbedf + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82647f1332fe570a9d4d92b2ee771d3b + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3604a7e80832b3a99954bca6f5b9f501 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 884607b128c5de3ab39a529a1ef51bef + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 670cfa093d1dbdb2317041404102435e + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a867195f3ce8769cbd336502fbb5130 + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 52efcf64c72b2f7ca5b3c836b1078c15 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4019250f6eefb2ac5ccbcae044e75c7e + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 022c4f6f5a017d292785627667ddef24 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e9c21078a2eb7e03250f71000fa9e3ed + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a13eaeeb9cd391da4e2b09490b3e7fad + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c958a171dca1d4ed53e1af1d380803a9 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 21442e07a110667f2583eaeeee44dc8c + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 59bbb353cf1dd867a6e33737af655e99 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43cd3b25375d0ce41087ff9fe2829639 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6b98b17e80d1118e3516bd768b285a84 + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ae47ed3676ca0c08deea02d95b81db58 + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 34ec40dc20413795ed53628ea748720b + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4dc68163f8e9835473253542c8a65d46 + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2aabb999f43693175af65c6c612c46fb + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e01f94499dac3547515c5b1d756f0f58 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d12435a46480ce00ea349f71799df9a + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cef41d16d266bdfe46938ad7884cc0cf + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b13db4da1f718bc6904797c82bcf2d32 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = 6cd02513e8d4dc986b4afe087a60bd0c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = 2ce1f8b7e30627c1c4519eada44bc436 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = 9946b5f87af446f5796c1fee63a2da24 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 2a560364ce529efc21788779568d5555 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 35c1471837af446153bce55d5ba72a0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = ce60bc52386234f158f84341e534cd9e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = 8c7c27ff32bcf8dc2dc57c90c2903961 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = 32bb6a7ec84499e166f936003d55a5bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = a5c772e5c62631ef660ee1d5877f6d1b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = 030d7e5b64f380a7e4ea5387b5cd7f49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = 0dc9a2610037009b698f11bb7e86c83e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = 0046612c766d1840c226364f1fa7ed72 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 4880c7e08f27befe78590743c05e698b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = 2520ce829a26577f0f4822c4ecc87401 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 8765e8acc169758319cb46dc7bcf3dca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = e98f4ba4f073df4baa116d011dc24a28 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = f378f68c5dbf59e211b3a659a7317d94 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 283d3b069d8eb9fb432d74b96ca762b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = a7e1842e8a87861c221a500883245c51 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 77aa270471881be070fb52c7067ce732 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = 01b0f476d484f43f1aeb6efa9361a8ac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = 1c3a94f1c052c55c2d8359aff2163b4f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = e8a067b604d5373d8b0f2e05a03b341b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = a7876ec87f5a09bfea42c77da30fd50e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 0cf3e9d3a42be5b854ca65b13f35f48d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = 6c62f6bbcab7c3e821c9290f08892dda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = 7f5e05bd2068738196fee79ace7e3aec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 440e0d733255cda92fb46e842fe58054 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = aa5d5b1c4ea1b7a22e5583ac2e9ed8a7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = 77e537e89e8491e8662aae3bc809421d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = 997dd3e9f1598bfa73f75973f7e93b76 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = 1b38d4f7452afefcb7fc721244e4b72e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 0be2b18252e774dda30cdda02c6906e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = d2695e59c20361d82652d7d58b6f11b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 902d88d13eae52089abd6143cfe394e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = d49bceb3b823fedd602c305345734bd2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = 707b1dbb0ffa40ef7d95def421233fae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 7ca0c1d93356d9eb8aa952084d75f913 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = f2cbf9cb186e270dd7bdb0c28febc57d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = c94337c37c4e790ab45780bd9c3674a0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 8e3558c135252fb9c9f367ed609467a1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 1b72eeaee4899b443914e5b3a57fba92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = 011865f91bc56868d051e52c9efd59b7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = e4771318ad7a63dd680f6e583b7747ea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 61e3d194088dc8d97e9e6db37457eac5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = 36ff1ec9ccfbc349e5d356d063693ad6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = 3cc9e9a9be8cc3f6fb2ea24088e9bb19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = 1ee5ab003dc8722e74905d9a8fe3d350 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = 245339319584b0a412412869d6c2eada +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = 7bd496918115d14ed5380852716c8814 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = 273ab2f2b4a366a57d582a339313c8b1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = 113365a9ffbe3b0ca61e98507554168b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = afa99c997ac478a0dea4119c9e45f8b1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = 9216309a7842430b83ffb98638011512 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = 62abc792288258492a7cb45145f4b759 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = 534923c169d504d7519c15d30e756c50 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = fa75e05bcdc7e00c273fa33f6ee441d2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 7d350fa6057080f1086a56b17ec240db +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = f34e4a6324ea4a5c39a661c8fe5ada8f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = 0882a16f44088d42447a29ac090ec17e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = 3a3c15bfc11a9537c130687004e136ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = 22c0a7678dc6d8cf5c8a6d5a9960767c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = b46b09809d68b9a456432a79bdc2e38c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = 93baaffb35fbe739c17c6ac22eecf18f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = c8aa80a7850675bc007c46df06b49868 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 12c6f3877af421a918a84b775858021d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = 33f123282c5d633924f7d5ba3f3cab11 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = a8f161002733e93ca4527d22c1a0c5bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = b72f70ebf3e3fda23f508eec76b42c02 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 6a9d965e6274143f25afdcfc88ffd77c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = a0c74fd0b9361764ce91c5200b095357 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = 091d1fdc2bd2c346cd5046a8c6209146 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = e2a37580116cfb71856254496ab0aca8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = e0b3a00785917c7efc9adba322813571 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 733d41f4727b5ef0df4af4cf3cffa0cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = a99ebb030260826f981ad3e64490aa4f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 73f34c7d3eae5e80082c1647524308ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = 40ebd5ad082345b7a2097ccd3464da02 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 7cc4ae9a424b2cec90c97153c2457ec5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 54d632d03aba0bd0f91877ebdd4d09cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = d3427be7e4d27cd54f5fe37b03cf0897 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = b2099795e88cc158fd75ea133d7e7fbe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = a6cae46fb6fadfe7a2c302a34242817b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = 026a7024d6a902e0b3ffccbaa910cc3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 156f07767a85a4312321f63968338a01 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 15eec9ebf42b9ca76897d2cd6c5a12e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db0d3a6fdcc13f915e2b302ceeb70fd8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 71dbf37e87a2e34d15b20e8f10e48924 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = c745c451e96ff3c045e4367c833e3b54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 340da09c2dd11c3b679d08ccd27dd595 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 8279f7c0c2a03ee660c6d392db025d18 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = a4b2c7d8eba531ff47c5041a55fbd1ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 74569a2ca5a7bd5131ce8dc7cbfbf72f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 3713da0c0219b63454035613b5a403dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 8827551ddcc9df23fa72a3de4e9f0b07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 2e3febfd625bfcd0a2c06eb460da1732 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = ee82e6ba488156f76496311da6941deb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 4770446f01d1f391256e85a1b30d89d3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = af04b68f104f21ef2afb4767cf74143c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = cf3579a9ba38c8e43653173e14f3a4c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = b3bba904f4953e09b54800af2f62e7d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = fc4249656e14b29eb9c44829b4c59a46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 9b31568febe81cfc2e65af1c86d1a308 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 9ca09c25f273a766db98a480ce8dfedc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = b909925786f34c3c92d971883c9fbedf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 82647f1332fe570a9d4d92b2ee771d3b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3604a7e80832b3a99954bca6f5b9f501 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 884607b128c5de3ab39a529a1ef51bef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 670cfa093d1dbdb2317041404102435e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 7a867195f3ce8769cbd336502fbb5130 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 52efcf64c72b2f7ca5b3c836b1078c15 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 4019250f6eefb2ac5ccbcae044e75c7e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 022c4f6f5a017d292785627667ddef24 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = e9c21078a2eb7e03250f71000fa9e3ed +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = a13eaeeb9cd391da4e2b09490b3e7fad +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = c958a171dca1d4ed53e1af1d380803a9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 21442e07a110667f2583eaeeee44dc8c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 59bbb353cf1dd867a6e33737af655e99 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 43cd3b25375d0ce41087ff9fe2829639 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 6b98b17e80d1118e3516bd768b285a84 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = ae47ed3676ca0c08deea02d95b81db58 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 34ec40dc20413795ed53628ea748720b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 4dc68163f8e9835473253542c8a65d46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 2aabb999f43693175af65c6c612c46fb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = e01f94499dac3547515c5b1d756f0f58 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 9d12435a46480ce00ea349f71799df9a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = cef41d16d266bdfe46938ad7884cc0cf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = b13db4da1f718bc6904797c82bcf2d32 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt256.rsp new file mode 100644 index 000000000..919b0249a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB128VarTxt256.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CFB128 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:57 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ddc6bf790c15760d8d9aeb6f9a75fd4e + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0a6bdc6d4c1e6280301fd8e97ddbe601 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b80eefb7ebe2d2b16247aa0efc72f5d + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f2c5ece07a98d8bee13c51177395ff7 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7818d800dcf6f4be1e0e94f403d1e4c2 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e74cd1c92f0919c35a0324123d6177d3 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8092a4dcf2da7e77e93bdd371dfed82e + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 49af6b372135acef10132e548f217b17 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8bcd40f94ebb63b9f7909676e667f1e7 + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fe1cffb83f45dcfb38b29be438dbd3ab + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0dc58a8d886623705aec15cb1e70dc0e + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c218faa16056bd0774c3e8d79c35a5e4 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 047bba83f7aa841731504e012208fc9e + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc8f0e4915fd81ba70a331310882f6da + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1569859ea6b7206c30bf4fd0cbfac33c + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 300ade92f88f48fa2df730ec16ef44cd + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1fe6cc3c05965dc08eb0590c95ac71d0 + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 59e858eaaa97fec38111275b6cf5abc0 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2239455e7afe3b0616100288cc5a723b + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3ee500c5c8d63479717163e55c5c4522 + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d5e38bf15f16d90e3e214041d774daa8 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1f4066e6f4f187dfe5f2ad1b17819d0 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6ef4cc4de49b11065d7af2909854794a + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ac86bc606b6640c309e782f232bf367f + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36aff0ef7bf3280772cf4cac80a0d2b2 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f8eedea0f62a1406d58cfc3ecea72cf + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = abf4154a3375a1d3e6b1d454438f95a6 + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96f96e9d607f6615fc192061ee648b07 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf37cdaaa0d2d536c71857634c792064 + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fbd6640c80245c2b805373f130703127 + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d6a8afe55a6e481badae0d146f436db + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a4981f2915e3e68af6c22385dd06756 + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42a1136e5f8d8d21d3101998642d573b + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b471596dc69ae1586cee6158b0b0181 + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 753665c4af1eff33aa8b628bf8741cfd + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9a682acf40be01f5b2a4193c9a82404d + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 54fafe26e4287f17d1935f87eb9ade01 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 49d541b2e74cfe73e6a8e8225f7bd449 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11a45530f624ff6f76a1b3826626ff7b + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f96b0c4a8bc6c86130289f60b43b8fba + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 48c7d0e80834ebdc35b6735f76b46c8b + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2463531ab54d66955e73edc4cb8eaa45 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ac9bd8e2530469134b9d5b065d4f565b + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f5f9106d0e52f973d4890e6f37e8a00 + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 20ebc86f1304d272e2e207e59db639f0 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e67ae6426bf9526c972cff072b52252c + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1a518dddaf9efa0d002cc58d107edfc8 + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ead731af4d3a2fe3b34bed047942a49f + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1d4efe40242f83e93b6c8d7efb5eae9 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cd2b1fec11fd906c5c7630099443610a + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1853fe47fe29289d153161d06387d21 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4632154179a555c17ea604d0889fab14 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd27cac6401a022e8f38f9f93e774417 + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c090313eb98674f35f3123385fb95d4d + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc3526262b92f02edce548f716b9f45c + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0838d1a2b16a7c7f0dfcc433c399c33 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0d9ac756eb297695eed4d382eb126d26 + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 56ede9dda3f6f141bff1757fa689c3e1 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 768f520efe0f23e61d3ec8ad9ce91774 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1144ddfa75755213390e7c596660490 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1d7c0c4040b355b9d107a99325e3b050 + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8e2bb1ae8ee3dcf5bf7d6c38da82a1a + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = faf82d178af25a9886a47e7f789b98d7 + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b58dbfd77fe5aca9cfc190cd1b82d19 + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77f392089042e478ac16c0c86a0b5db5 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19f08e3420ee69b477ca1420281c4782 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1b19beee4e117139f74b3c53fdcb875 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a37a5869b218a9f3a0868d19aea0ad6a + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bc3594e865bcd0261b13202731f33580 + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 811441ce1d309eee7185e8c752c07557 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 959971ce4134190563518e700b9874d1 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 76b5614a042707c98e2132e2e805fe63 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7d9fa6a57530d0f036fec31c230b0cc6 + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 964153a83bf6989a4ba80daa91c3e081 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a013014d4ce8054cf2591d06f6f2f176 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1c5f6399bf382502e385eee1474a869 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0007e20b8298ec354f0f5fe7470f36bd + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b95ba05b332da61ef63a2b31fcad9879 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4620a49bd967491561669ab25dce45f4 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12e71214ae8e04f0bb63d7425c6f14d5 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4cc42fc1407b008fe350907c092e80ac + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 08b244ce7cbc8ee97fbba808cb146fda + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 39b333e8694f21546ad1edd9d87ed95b + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b271f8ab2e6e4a20ba8090f43ba78f3 + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ad983f3bf651cd0393f0a73cccdea50 + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f476cbff75c1f725ce18e4bbcd19b32 + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 905b6267f1d6ab5320835a133f096f2a + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 145b60d6d0193c23f4221848a892d61a + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 55cfb3fb6d75cad0445bbc8dafa25b0f + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b8e7098e357ef71237d46d8b075b0f5 + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2bf27229901eb40f2df9d8398d1505ae + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 83a63402a77f9ad5c1e931a931ecd706 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6f8ba6521152d31f2bada1843e26b973 + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e5c3b8e30fd2d8e6239b17b44bd23bbd + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ac1f7102c59933e8b2ddc3f14e94baa + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 21d9ba49f276b45f11af8fc71a088e3d + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 649f1cddc3792b4638635a392bc9bade + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e2775e4b59c1bc2e31a2078c11b5a08c + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2be1fae5048a25582a679ca10905eb80 + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = da86f292c6f41ea34fb2068df75ecc29 + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 220df19f85d69b1b562fa69a3c5beca5 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f11d5d0355e0b556ccdb6c7f5083b4d + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62526b78be79cb384633c91f83b4151b + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90ddbcb950843592dd47bbef00fdc876 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fd0e41c5b8402277354a7391d2618e2 + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3cdf13e72dee4c581bafec70b85f9660 + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = afa2ffc137577092e2b654fa199d2c43 + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d683ee63e60d208e343ce48dbc44cac + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 705a4ef8ba2133729c20185c3d3a4763 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0861a861c3db4e94194211b77ed761b9 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b00c27e8b26da7eab9d3a88dec8b031 + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5f397bf03084820cc8810d52e5b666e9 + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 63fafabb72c07bfbd3ddc9b1203104b8 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 683e2140585b18452dd4ffbb93c95df9 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 286894e48e537f8763b56707d7d155c8 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a423deabc173dcf7e2c4c53e77d37cd1 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb8168313e1cfdfdb5e986d5429cf172 + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27127daafc9accd2fb334ec3eba52323 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ee0715b96f72e3f7a22a5064fc592f4c + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29ee526770f2a11dcfa989d1ce88830f + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0493370e054b09871130fe49af730a5a + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b7b940f6c509f9e44a4ee140448ee46 + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2915be4a1ecfdcbe3e023811a12bb6c7 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7240e524bc51d8c4d440b1be55d1062c + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = da63039d38cb4612b2dc36ba26684b93 + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0f59cb5a4b522e2ac56c1a64f558ad9a + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7bfe9d876c6d63c1d035da8fe21c409d + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = acdace8078a32b1a182bfa4987ca1347 + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = ddc6bf790c15760d8d9aeb6f9a75fd4e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = 0a6bdc6d4c1e6280301fd8e97ddbe601 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = 9b80eefb7ebe2d2b16247aa0efc72f5d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 7f2c5ece07a98d8bee13c51177395ff7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 7818d800dcf6f4be1e0e94f403d1e4c2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = e74cd1c92f0919c35a0324123d6177d3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = 8092a4dcf2da7e77e93bdd371dfed82e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = 49af6b372135acef10132e548f217b17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = 8bcd40f94ebb63b9f7909676e667f1e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = fe1cffb83f45dcfb38b29be438dbd3ab +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = 0dc58a8d886623705aec15cb1e70dc0e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = c218faa16056bd0774c3e8d79c35a5e4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 047bba83f7aa841731504e012208fc9e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = dc8f0e4915fd81ba70a331310882f6da +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 1569859ea6b7206c30bf4fd0cbfac33c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = 300ade92f88f48fa2df730ec16ef44cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = 1fe6cc3c05965dc08eb0590c95ac71d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 59e858eaaa97fec38111275b6cf5abc0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = 2239455e7afe3b0616100288cc5a723b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 3ee500c5c8d63479717163e55c5c4522 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = d5e38bf15f16d90e3e214041d774daa8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = b1f4066e6f4f187dfe5f2ad1b17819d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = 6ef4cc4de49b11065d7af2909854794a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = ac86bc606b6640c309e782f232bf367f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 36aff0ef7bf3280772cf4cac80a0d2b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = 1f8eedea0f62a1406d58cfc3ecea72cf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = abf4154a3375a1d3e6b1d454438f95a6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 96f96e9d607f6615fc192061ee648b07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = cf37cdaaa0d2d536c71857634c792064 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = fbd6640c80245c2b805373f130703127 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = 8d6a8afe55a6e481badae0d146f436db +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = 6a4981f2915e3e68af6c22385dd06756 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 42a1136e5f8d8d21d3101998642d573b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = 9b471596dc69ae1586cee6158b0b0181 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 753665c4af1eff33aa8b628bf8741cfd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = 9a682acf40be01f5b2a4193c9a82404d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = 54fafe26e4287f17d1935f87eb9ade01 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 49d541b2e74cfe73e6a8e8225f7bd449 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = 11a45530f624ff6f76a1b3826626ff7b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = f96b0c4a8bc6c86130289f60b43b8fba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 48c7d0e80834ebdc35b6735f76b46c8b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 2463531ab54d66955e73edc4cb8eaa45 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = ac9bd8e2530469134b9d5b065d4f565b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = 3f5f9106d0e52f973d4890e6f37e8a00 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 20ebc86f1304d272e2e207e59db639f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = e67ae6426bf9526c972cff072b52252c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = 1a518dddaf9efa0d002cc58d107edfc8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = ead731af4d3a2fe3b34bed047942a49f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = b1d4efe40242f83e93b6c8d7efb5eae9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = cd2b1fec11fd906c5c7630099443610a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = a1853fe47fe29289d153161d06387d21 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = 4632154179a555c17ea604d0889fab14 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = dd27cac6401a022e8f38f9f93e774417 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = c090313eb98674f35f3123385fb95d4d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = cc3526262b92f02edce548f716b9f45c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = c0838d1a2b16a7c7f0dfcc433c399c33 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = 0d9ac756eb297695eed4d382eb126d26 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 56ede9dda3f6f141bff1757fa689c3e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = 768f520efe0f23e61d3ec8ad9ce91774 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = b1144ddfa75755213390e7c596660490 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = 1d7c0c4040b355b9d107a99325e3b050 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = d8e2bb1ae8ee3dcf5bf7d6c38da82a1a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = faf82d178af25a9886a47e7f789b98d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = 9b58dbfd77fe5aca9cfc190cd1b82d19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = 77f392089042e478ac16c0c86a0b5db5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 19f08e3420ee69b477ca1420281c4782 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = a1b19beee4e117139f74b3c53fdcb875 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = a37a5869b218a9f3a0868d19aea0ad6a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = bc3594e865bcd0261b13202731f33580 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 811441ce1d309eee7185e8c752c07557 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = 959971ce4134190563518e700b9874d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = 76b5614a042707c98e2132e2e805fe63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = 7d9fa6a57530d0f036fec31c230b0cc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = 964153a83bf6989a4ba80daa91c3e081 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = a013014d4ce8054cf2591d06f6f2f176 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = d1c5f6399bf382502e385eee1474a869 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 0007e20b8298ec354f0f5fe7470f36bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = b95ba05b332da61ef63a2b31fcad9879 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 4620a49bd967491561669ab25dce45f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 12e71214ae8e04f0bb63d7425c6f14d5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = 4cc42fc1407b008fe350907c092e80ac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 08b244ce7cbc8ee97fbba808cb146fda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 39b333e8694f21546ad1edd9d87ed95b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = 3b271f8ab2e6e4a20ba8090f43ba78f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 9ad983f3bf651cd0393f0a73cccdea50 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 8f476cbff75c1f725ce18e4bbcd19b32 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = 905b6267f1d6ab5320835a133f096f2a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 145b60d6d0193c23f4221848a892d61a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 55cfb3fb6d75cad0445bbc8dafa25b0f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 7b8e7098e357ef71237d46d8b075b0f5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 2bf27229901eb40f2df9d8398d1505ae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = 83a63402a77f9ad5c1e931a931ecd706 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 6f8ba6521152d31f2bada1843e26b973 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = e5c3b8e30fd2d8e6239b17b44bd23bbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 1ac1f7102c59933e8b2ddc3f14e94baa +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 21d9ba49f276b45f11af8fc71a088e3d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 649f1cddc3792b4638635a392bc9bade +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = e2775e4b59c1bc2e31a2078c11b5a08c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 2be1fae5048a25582a679ca10905eb80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = da86f292c6f41ea34fb2068df75ecc29 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 220df19f85d69b1b562fa69a3c5beca5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 1f11d5d0355e0b556ccdb6c7f5083b4d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 62526b78be79cb384633c91f83b4151b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 90ddbcb950843592dd47bbef00fdc876 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 2fd0e41c5b8402277354a7391d2618e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 3cdf13e72dee4c581bafec70b85f9660 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = afa2ffc137577092e2b654fa199d2c43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 8d683ee63e60d208e343ce48dbc44cac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 705a4ef8ba2133729c20185c3d3a4763 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 0861a861c3db4e94194211b77ed761b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 4b00c27e8b26da7eab9d3a88dec8b031 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 5f397bf03084820cc8810d52e5b666e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 63fafabb72c07bfbd3ddc9b1203104b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = 683e2140585b18452dd4ffbb93c95df9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 286894e48e537f8763b56707d7d155c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = a423deabc173dcf7e2c4c53e77d37cd1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = eb8168313e1cfdfdb5e986d5429cf172 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 27127daafc9accd2fb334ec3eba52323 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = ee0715b96f72e3f7a22a5064fc592f4c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 29ee526770f2a11dcfa989d1ce88830f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = 0493370e054b09871130fe49af730a5a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 9b7b940f6c509f9e44a4ee140448ee46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 2915be4a1ecfdcbe3e023811a12bb6c7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 7240e524bc51d8c4d440b1be55d1062c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = da63039d38cb4612b2dc36ba26684b93 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 0f59cb5a4b522e2ac56c1a64f558ad9a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 7bfe9d876c6d63c1d035da8fe21c409d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = acdace8078a32b1a182bfa4987ca1347 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox128.rsp new file mode 100644 index 000000000..2083b0d7f --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox128.rsp @@ -0,0 +1,95 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:46 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = f34481ec3cc627bacd5dc3fb08f273e6 +PLAINTEXT = 00 +CIPHERTEXT = 03 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 9798c4640bad75c7c3227db910174e72 +PLAINTEXT = 00 +CIPHERTEXT = a9 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 96ab5c2ff612d9dfaae8c31f30c42168 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 6a118a874519e64e9963798a503f1d35 +PLAINTEXT = 00 +CIPHERTEXT = dc + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = cb9fceec81286ca3e989bd979b0cb284 +PLAINTEXT = 00 +CIPHERTEXT = 92 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = b26aeb1874e47ca8358ff22378f09144 +PLAINTEXT = 00 +CIPHERTEXT = 45 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 58c8e00b2631686d54eab84b91f0aca1 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = f34481ec3cc627bacd5dc3fb08f273e6 +CIPHERTEXT = 03 +PLAINTEXT = 00 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 9798c4640bad75c7c3227db910174e72 +CIPHERTEXT = a9 +PLAINTEXT = 00 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 96ab5c2ff612d9dfaae8c31f30c42168 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 6a118a874519e64e9963798a503f1d35 +CIPHERTEXT = dc +PLAINTEXT = 00 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = cb9fceec81286ca3e989bd979b0cb284 +CIPHERTEXT = 92 +PLAINTEXT = 00 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = b26aeb1874e47ca8358ff22378f09144 +CIPHERTEXT = 45 +PLAINTEXT = 00 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 58c8e00b2631686d54eab84b91f0aca1 +CIPHERTEXT = 08 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox192.rsp new file mode 100644 index 000000000..e8d7b0293 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox192.rsp @@ -0,0 +1,83 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:48 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 1b077a6af4b7f98229de786d7516b639 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 9c2d8842e5f48f57648205d39a239af1 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = bff52510095f518ecca60af4205444bb +PLAINTEXT = 00 +CIPHERTEXT = 4a + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 51719783d3185a535bd75adc65071ce1 +PLAINTEXT = 00 +CIPHERTEXT = 4f + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 26aa49dcfe7629a8901a69a9914e6dfd +PLAINTEXT = 00 +CIPHERTEXT = d5 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 941a4773058224e1ef66d10e0a6ee782 +PLAINTEXT = 00 +CIPHERTEXT = 06 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 1b077a6af4b7f98229de786d7516b639 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 9c2d8842e5f48f57648205d39a239af1 +CIPHERTEXT = c9 +PLAINTEXT = 00 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = bff52510095f518ecca60af4205444bb +CIPHERTEXT = 4a +PLAINTEXT = 00 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 51719783d3185a535bd75adc65071ce1 +CIPHERTEXT = 4f +PLAINTEXT = 00 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 26aa49dcfe7629a8901a69a9914e6dfd +CIPHERTEXT = d5 +PLAINTEXT = 00 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 941a4773058224e1ef66d10e0a6ee782 +CIPHERTEXT = 06 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox256.rsp new file mode 100644 index 000000000..a254784d5 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8GFSbox256.rsp @@ -0,0 +1,71 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:50 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 014730f80ac625fe84f026c60bfd547d +PLAINTEXT = 00 +CIPHERTEXT = 5c + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 0b24af36193ce4665f2825d7b4749c98 +PLAINTEXT = 00 +CIPHERTEXT = a9 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 761c1fe41a18acf20d241650611d90f1 +PLAINTEXT = 00 +CIPHERTEXT = 62 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 8a560769d605868ad80d819bdba03771 +PLAINTEXT = 00 +CIPHERTEXT = 38 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 91fbef2d15a97816060bee1feaa49afe +PLAINTEXT = 00 +CIPHERTEXT = 1b + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 014730f80ac625fe84f026c60bfd547d +CIPHERTEXT = 5c +PLAINTEXT = 00 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 0b24af36193ce4665f2825d7b4749c98 +CIPHERTEXT = a9 +PLAINTEXT = 00 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 761c1fe41a18acf20d241650611d90f1 +CIPHERTEXT = 62 +PLAINTEXT = 00 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 8a560769d605868ad80d819bdba03771 +CIPHERTEXT = 38 +PLAINTEXT = 00 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 91fbef2d15a97816060bee1feaa49afe +CIPHERTEXT = 1b +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox128.rsp new file mode 100644 index 000000000..8fff8c407 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox128.rsp @@ -0,0 +1,263 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:46 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6d + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6e + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c3 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5d + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f7 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 03 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 85 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f5 + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bb + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 43 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 80 + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a3 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c2 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 81 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f4 + +[DECRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d +PLAINTEXT = 00 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e +PLAINTEXT = 00 + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3 +PLAINTEXT = 00 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d +PLAINTEXT = 00 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f7 +PLAINTEXT = 00 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03 +PLAINTEXT = 00 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 85 +PLAINTEXT = 00 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f5 +PLAINTEXT = 00 + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +CIPHERTEXT = bb +PLAINTEXT = 00 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43 +PLAINTEXT = 00 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 80 +PLAINTEXT = 00 + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3 +PLAINTEXT = 00 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2 +PLAINTEXT = 00 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 81 +PLAINTEXT = 00 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a +PLAINTEXT = 00 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f4 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox192.rsp new file mode 100644 index 000000000..b8d3a91cf --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox192.rsp @@ -0,0 +1,299 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:48 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 09 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8e + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7f + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8e + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 64 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a2 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cf + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d4 + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3c + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 69 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8a + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 76 + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a6 + +[DECRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +CIPHERTEXT = 09 +PLAINTEXT = 00 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e +PLAINTEXT = 00 + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93 +PLAINTEXT = 00 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f +PLAINTEXT = 00 + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e +PLAINTEXT = 00 + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64 +PLAINTEXT = 00 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +CIPHERTEXT = a2 +PLAINTEXT = 00 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf +PLAINTEXT = 00 + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d4 +PLAINTEXT = 00 + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3c +PLAINTEXT = 00 + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69 +PLAINTEXT = 00 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8a +PLAINTEXT = 00 + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab +PLAINTEXT = 00 + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 76 +PLAINTEXT = 00 + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a6 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox256.rsp new file mode 100644 index 000000000..75fe0af17 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8KeySbox256.rsp @@ -0,0 +1,203 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:50 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 46 + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 43 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 46 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 53 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fc + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a3 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a7 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b9 + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 30 + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 64 + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 47 + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 79 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 63 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 17 + +[DECRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 46 +PLAINTEXT = 00 + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43 +PLAINTEXT = 00 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 46 +PLAINTEXT = 00 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 53 +PLAINTEXT = 00 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc +PLAINTEXT = 00 + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3 +PLAINTEXT = 00 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +CIPHERTEXT = a7 +PLAINTEXT = 00 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b9 +PLAINTEXT = 00 + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30 +PLAINTEXT = 00 + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64 +PLAINTEXT = 00 + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +CIPHERTEXT = 47 +PLAINTEXT = 00 + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 79 +PLAINTEXT = 00 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 63 +PLAINTEXT = 00 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 17 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT128.rsp new file mode 100644 index 000000000..d76caec05 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT128.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:46 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 4f139e69f5f6b81258fb612efc6464ae +IV = 150af93612b3630f898e52febf1e4e41 +PLAINTEXT = b7 +CIPHERTEXT = fa + +COUNT = 1 +KEY = 9c9362128add6c91c478323a3d17cf54 +IV = d380fc7b7f2bd4839c835314c173abfa +PLAINTEXT = d0 +CIPHERTEXT = ea + +COUNT = 2 +KEY = 4cf4926ccc7eaa055b5098677ff27fbe +IV = d067f07e46a3c6949f28aa5d42e5b0ea +PLAINTEXT = ed +CIPHERTEXT = 8d + +COUNT = 3 +KEY = 9f68616757ec1974e8e49cf98e9d0833 +IV = d39cf30b9b92b371b3b4049ef16f778d +PLAINTEXT = f3 +CIPHERTEXT = dc + +COUNT = 4 +KEY = 3176da6937caa855beea72564703b7ef +IV = ae1ebb0e6026b121560eeeafc99ebfdc +PLAINTEXT = bb +CIPHERTEXT = b9 + +COUNT = 5 +KEY = 9a8b47577df186a170a4dfab90435356 +IV = abfd9d3e4a3b2ef4ce4eadfdd740e4b9 +PLAINTEXT = 38 +CIPHERTEXT = f1 + +COUNT = 6 +KEY = 2de75c46a7f9318d3abb00fedad71ea7 +IV = b76c1b11da08b72c4a1fdf554a944df1 +PLAINTEXT = 7d +CIPHERTEXT = 1c + +COUNT = 7 +KEY = 048a6efc36057a785e9636e6060abcbb +IV = 296d32ba91fc4bf5642d3618dcdda21c +PLAINTEXT = 7f +CIPHERTEXT = 60 + +COUNT = 8 +KEY = 241d8b727aa9c7c57c4da6618cfe89db +IV = 2097e58e4cacbdbd22db90878af43560 +PLAINTEXT = 0e +CIPHERTEXT = 6c + +COUNT = 9 +KEY = 8143be15f18a2460131edfff27a012b7 +IV = a55e35678b23e3a56f53799eab5e9b6c +PLAINTEXT = 81 +CIPHERTEXT = 9f + +COUNT = 10 +KEY = 0eac8d809b207402afabeb5e7825be28 +IV = 8fef33956aaa5062bcb534a15f85ac9f +PLAINTEXT = 21 +CIPHERTEXT = 85 + +COUNT = 11 +KEY = e7b97dfb7e401d734e6ac3ac1b8a54ad +IV = e915f07be5606971e1c128f263afea85 +PLAINTEXT = 75 +CIPHERTEXT = 39 + +COUNT = 12 +KEY = 5834319c89363625f785ddd5688fce94 +IV = bf8d4c67f7762b56b9ef1e7973059a39 +PLAINTEXT = d6 +CIPHERTEXT = 75 + +COUNT = 13 +KEY = dd10d1e78f67348663e6c96bb79cece1 +IV = 8524e07b065102a3946314bedf132275 +PLAINTEXT = 45 +CIPHERTEXT = cd + +COUNT = 14 +KEY = c251675a6011c3d3e13f1d18edd8f62c +IV = 1f41b6bdef76f75582d9d4735a441acd +PLAINTEXT = 33 +CIPHERTEXT = 21 + +COUNT = 15 +KEY = e6f856a8130c6575ec315576f04ecc0d +IV = 24a931f2731da6a60d0e486e1d963a21 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 16 +KEY = 1d45cd04573eaeebb8467188258629d2 +IV = fbbd9bac4432cb9e547724fed5c8e5df +PLAINTEXT = 4e +CIPHERTEXT = 8b + +COUNT = 17 +KEY = 1fb20aba552ab5a55919722aeb8a3359 +IV = 02f7c7be02141b4ee15f03a2ce0c1a8b +PLAINTEXT = 8e +CIPHERTEXT = 66 + +COUNT = 18 +KEY = 9cde6736187d8f8fabfe5c40476aa33f +IV = 836c6d8c4d573a2af2e72e6aace09066 +PLAINTEXT = 51 +CIPHERTEXT = 87 + +COUNT = 19 +KEY = 802580dfd030588a35433a36f01a79b8 +IV = 1cfbe7e9c84dd7059ebd6676b770da87 +PLAINTEXT = e6 +CIPHERTEXT = 3e + +COUNT = 20 +KEY = 08ab187d0d82fde80e237efb8f5a2c86 +IV = 888e98a2ddb2a5623b6044cd7f40553e +PLAINTEXT = de +CIPHERTEXT = 83 + +COUNT = 21 +KEY = 41866cdfd18ac7bcd1114675bcac4105 +IV = 492d74a2dc083a54df32388e33f66d83 +PLAINTEXT = 6d +CIPHERTEXT = 5e + +COUNT = 22 +KEY = c0b6a813a83e45777c67155130da195b +IV = 8130c4cc79b482cbad7653248c76585e +PLAINTEXT = 18 +CIPHERTEXT = b5 + +COUNT = 23 +KEY = a06f5ffa8e7cb9fccf18e27f63840fee +IV = 60d9f7e92642fc8bb37ff72e535e16b5 +PLAINTEXT = aa +CIPHERTEXT = ea + +COUNT = 24 +KEY = 712855ed20809987c9e6e7b1a5b0b404 +IV = d1470a17aefc207b06fe05cec634bbea +PLAINTEXT = 61 +CIPHERTEXT = 0f + +COUNT = 25 +KEY = eb6506b8313da42ed04af0c76955df0b +IV = 9a4d535511bd3da919ac1776cce56b0f +PLAINTEXT = 18 +CIPHERTEXT = 51 + +COUNT = 26 +KEY = e18c56d03f28e4063afc541b65afe25a +IV = 0ae950680e154028eab6a4dc0cfa3d51 +PLAINTEXT = c9 +CIPHERTEXT = 3c + +COUNT = 27 +KEY = 399adf8266e42fcc869193947837bc66 +IV = d816895259cccbcabc6dc78f1d985e3c +PLAINTEXT = 4d +CIPHERTEXT = 91 + +COUNT = 28 +KEY = 46a2f18a0aeebbfeb1148dc4033ba2f7 +IV = 7f382e086c0a943237851e507b0c1e91 +PLAINTEXT = 15 +CIPHERTEXT = c8 + +COUNT = 29 +KEY = 811eaf940a7709d1938fd83faba1df3f +IV = c7bc5e1e0099b22f229b55fba89a7dc8 +PLAINTEXT = 93 +CIPHERTEXT = 49 + +COUNT = 30 +KEY = 6ae5a7ede9bc29db5c4f87ec902d3f76 +IV = ebfb0879e3cb200acfc05fd33b8ce049 +PLAINTEXT = f8 +CIPHERTEXT = 43 + +COUNT = 31 +KEY = 4e8b7391d9fb5fdff5a20d40f5f76c35 +IV = 246ed47c30477604a9ed8aac65da5343 +PLAINTEXT = 86 +CIPHERTEXT = 66 + +COUNT = 32 +KEY = 0741199bcfb39786fe9dfd3465e82d53 +IV = 49ca6a0a1648c8590b3ff074901f4166 +PLAINTEXT = 2e +CIPHERTEXT = 87 + +COUNT = 33 +KEY = ba1e81498e9c8995b9f67b2ed23744d4 +IV = bd5f98d2412f1e13476b861ab7df6987 +PLAINTEXT = 2a +CIPHERTEXT = ac + +COUNT = 34 +KEY = 9663654b5ac429e53bb676611d02c978 +IV = 2c7de402d458a07082400d4fcf358dac +PLAINTEXT = 2b +CIPHERTEXT = e4 + +COUNT = 35 +KEY = 5662bdbf85ebd282547e272dae6aa99c +IV = c001d8f4df2ffb676fc8514cb36860e4 +PLAINTEXT = 0f +CIPHERTEXT = 75 + +COUNT = 36 +KEY = 6022fd83d51abc0bbac5e8701e8521e9 +IV = 3640403c50f16e89eebbcf5db0ef8875 +PLAINTEXT = 83 +CIPHERTEXT = 60 + +COUNT = 37 +KEY = 949e03a7fe0d715d746ab3da93869a89 +IV = f4bcfe242b17cd56ceaf5baa8d03bb60 +PLAINTEXT = 4d +CIPHERTEXT = ec + +COUNT = 38 +KEY = bb7dd12d434f633da09deebca741e465 +IV = 2fe3d28abd421260d4f75d6634c77eec +PLAINTEXT = 22 +CIPHERTEXT = 5b + +COUNT = 39 +KEY = 96e556e168fbd7ade22d6f37780f793e +IV = 2d9887cc2bb4b49042b0818bdf4e9d5b +PLAINTEXT = 0a +CIPHERTEXT = ea + +COUNT = 40 +KEY = 89f24d2a5a0f5152161166333ea1c3d4 +IV = 1f171bcb32f486fff43c090446aebaea +PLAINTEXT = f1 +CIPHERTEXT = 55 + +COUNT = 41 +KEY = 60fe2970bb6348c045ec6fa712818381 +IV = e90c645ae16c199253fd09942c204055 +PLAINTEXT = bf +CIPHERTEXT = 90 + +COUNT = 42 +KEY = 78c8d95976f285b42370ac89deeba111 +IV = 1836f029cd91cd74669cc32ecc6a2290 +PLAINTEXT = 4e +CIPHERTEXT = 5c + +COUNT = 43 +KEY = 5fa9c0c5d7d4984d75e12a7aea04ec4d +IV = 2761199ca1261df9569186f334ef4d5c +PLAINTEXT = aa +CIPHERTEXT = 54 + +COUNT = 44 +KEY = aa4577411723d0505e4fe76e134ad319 +IV = f5ecb784c0f7481d2baecd14f94e3f54 +PLAINTEXT = 28 +CIPHERTEXT = 13 + +COUNT = 45 +KEY = 4905931f977573a8649a6f35b9ace80a +IV = e340e45e8056a3f83ad5885baae63b13 +PLAINTEXT = ae +CIPHERTEXT = 41 + +COUNT = 46 +KEY = ba65b128a3b89b0d5e08ce9f842e1c4b +IV = f360223734cde8a53a92a1aa3d82f441 +PLAINTEXT = 07 +CIPHERTEXT = 9a + +COUNT = 47 +KEY = 3bdeab5dda3e8bc52940762007ca1ed1 +IV = 81bb1a75798610c87748b8bf83e4029a +PLAINTEXT = 6c +CIPHERTEXT = 09 + +COUNT = 48 +KEY = bac093cd0cc04c6eeab796befa9ea4d8 +IV = 811e3890d6fec7abc3f7e09efd54ba09 +PLAINTEXT = 8b +CIPHERTEXT = a8 + +COUNT = 49 +KEY = 5b54585648e391d31356aeae10aef870 +IV = e194cb9b4423ddbdf9e13810ea305ca8 +PLAINTEXT = 6d +CIPHERTEXT = 2a + +COUNT = 50 +KEY = ed8b0e5587bbf1d7dc80f94a9d17af5a +IV = b6df5603cf586004cfd657e48db9572a +PLAINTEXT = 20 +CIPHERTEXT = c8 + +COUNT = 51 +KEY = d060e64fce10a8f42dfd3a96cb24cd92 +IV = 3debe81a49ab5923f17dc3dc563362c8 +PLAINTEXT = eb +CIPHERTEXT = 96 + +COUNT = 52 +KEY = 1241b3fd8f01fd419057cbc43addaf04 +IV = c22155b2411155b5bdaaf152f1f96296 +PLAINTEXT = 4d +CIPHERTEXT = df + +COUNT = 53 +KEY = c30dee4094118fb8b3c424c7286b07db +IV = d14c5dbd1b1072f92393ef0312b6a8df +PLAINTEXT = aa +CIPHERTEXT = 6f + +COUNT = 54 +KEY = e8533b29470a9f73a141bbfbf7af4bb4 +IV = 2b5ed569d31b10cb12859f3cdfc44c6f +PLAINTEXT = a3 +CIPHERTEXT = 04 + +COUNT = 55 +KEY = b458b37554c2434e22eff8b434e5d4b0 +IV = 5c0b885c13c8dc3d83ae434fc34a9f04 +PLAINTEXT = 05 +CIPHERTEXT = 39 + +COUNT = 56 +KEY = c7b6b78741eb3dc2096660bafcd63f89 +IV = 73ee04f215297e8c2b89980ec833eb39 +PLAINTEXT = 2b +CIPHERTEXT = ee + +COUNT = 57 +KEY = 3b9903b8a92653a3ba7e54e2a16ee467 +IV = fc2fb43fe8cd6e61b31834585db8dbee +PLAINTEXT = 3b +CIPHERTEXT = 8a + +COUNT = 58 +KEY = 34de8b10c34c14b09bd161c389359ced +IV = 0f4788a86a6a471321af3521285b788a +PLAINTEXT = 6b +CIPHERTEXT = 40 + +COUNT = 59 +KEY = dcc1f5d82e84dd274d949ffdaa6071ad +IV = e81f7ec8edc8c997d645fe3e2355ed40 +PLAINTEXT = 03 +CIPHERTEXT = 5e + +COUNT = 60 +KEY = 68bdfd0de2e9f4fe23b8db9f5a3daff3 +IV = b47c08d5cc6d29d96e2c4462f05dde5e +PLAINTEXT = 0c +CIPHERTEXT = 2f + +COUNT = 61 +KEY = 55078d28a1d4bcc5a60bd1581704e9dc +IV = 3dba7025433d483b85b30ac74d39462f +PLAINTEXT = 44 +CIPHERTEXT = 66 + +COUNT = 62 +KEY = 640e4b4627c71480115ac53b103033ba +IV = 3109c66e8613a845b75114630734da66 +PLAINTEXT = 14 +CIPHERTEXT = ec + +COUNT = 63 +KEY = 0cd89879e8f7379dd7d7c37055395d56 +IV = 68d6d33fcf30231dc68d064b45096eec +PLAINTEXT = 55 +CIPHERTEXT = c8 + +COUNT = 64 +KEY = bf3cf69bc3be3ce897533852004dcc9e +IV = b3e46ee22b490b754084fb22557491c8 +PLAINTEXT = b2 +CIPHERTEXT = 48 + +COUNT = 65 +KEY = 3f955fae9d41188aaf16f256af3981d6 +IV = 80a9a9355eff24623845ca04af744d48 +PLAINTEXT = b4 +CIPHERTEXT = bd + +COUNT = 66 +KEY = 761520ff9f4bf9deb026c799bdbe626b +IV = 49807f51020ae1541f3035cf1287e3bd +PLAINTEXT = 48 +CIPHERTEXT = 1f + +COUNT = 67 +KEY = cb42f84d32521fb1305cdd79b6358674 +IV = bd57d8b2ad19e66f807a1ae00b8be41f +PLAINTEXT = 4a +CIPHERTEXT = 5f + +COUNT = 68 +KEY = 39347357e243bc3bb6d4e1b92f58632b +IV = f2768b1ad011a38a86883cc0996de55f +PLAINTEXT = 3e +CIPHERTEXT = 95 + +COUNT = 69 +KEY = a7610285ae95c7aa89d1eb00970850be +IV = 9e5571d24cd67b913f050ab9b8503395 +PLAINTEXT = 01 +CIPHERTEXT = c8 + +COUNT = 70 +KEY = d04bef0d524e367dc5ef8f8b10cf7876 +IV = 772aed88fcdbf1d74c3e648b87c728c8 +PLAINTEXT = f6 +CIPHERTEXT = 10 + +COUNT = 71 +KEY = f63bd803b4537a44370a2bb0fc28bd66 +IV = 2670370ee61d4c39f2e5a43bece7c510 +PLAINTEXT = d7 +CIPHERTEXT = 23 + +COUNT = 72 +KEY = 4db04df74ac5c8a58d8d425a2a2b9745 +IV = bb8b95f4fe96b2e1ba8769ead6032a23 +PLAINTEXT = 60 +CIPHERTEXT = 21 + +COUNT = 73 +KEY = 5493c6eee9d6423dd66bd8876350e864 +IV = 19238b19a3138a985be69add497b7f21 +PLAINTEXT = 12 +CIPHERTEXT = 2b + +COUNT = 74 +KEY = c3de39522cf4c3f03dd2a8fd5dc20e4f +IV = 974dffbcc52281cdebb9707a3e92e62b +PLAINTEXT = fb +CIPHERTEXT = b0 + +COUNT = 75 +KEY = a14b0abb36c477f0ccc1b85652c0acff +IV = 629533e91a30b400f11310ab0f02a2b0 +PLAINTEXT = cf +CIPHERTEXT = 20 + +COUNT = 76 +KEY = 0fc8f2d8ebc70c6eec031074511da4df +IV = ae83f863dd037b9e20c2a82203dd0820 +PLAINTEXT = 89 +CIPHERTEXT = 4b + +COUNT = 77 +KEY = 23c1d4f748e4e3b60de93dd11b9e8c94 +IV = 2c09262fa323efd8e1ea2da54a83284b +PLAINTEXT = c4 +CIPHERTEXT = f3 + +COUNT = 78 +KEY = 46ddcd97de9a974de9b54f574c29e667 +IV = 651c1960967e74fbe45c728657b76af3 +PLAINTEXT = 3c +CIPHERTEXT = 68 + +COUNT = 79 +KEY = 3566bb5e44795944549483ea3b528e0f +IV = 73bb76c99ae3ce09bd21ccbd777b6868 +PLAINTEXT = 08 +CIPHERTEXT = e4 + +COUNT = 80 +KEY = 79da51adeb26d5036e11a03aa9955ceb +IV = 4cbceaf3af5f8c473a8523d092c7d2e4 +PLAINTEXT = 4f +CIPHERTEXT = 78 + +COUNT = 81 +KEY = c16c75a9ab54b2f2759581a0c1eea293 +IV = b8b62404407267f11b84219a687bfe78 +PLAINTEXT = 0a +CIPHERTEXT = c5 + +COUNT = 82 +KEY = 3e2bb82ae1a83da55c5f05ad9a46df56 +IV = ff47cd834afc8f5729ca840d5ba87dc5 +PLAINTEXT = 53 +CIPHERTEXT = 2f + +COUNT = 83 +KEY = 662549b1eba496ce4951657e120e9779 +IV = 580ef19b0a0cab6b150e60d38848482f +PLAINTEXT = 81 +CIPHERTEXT = b5 + +COUNT = 84 +KEY = c18a7f451f6a4556d48dff72e93601cc +IV = a7af36f4f4ced3989ddc9a0cfb3896b5 +PLAINTEXT = d3 +CIPHERTEXT = 64 + +COUNT = 85 +KEY = 7ee3351ee700042c3c9e53a6cff0e0a8 +IV = bf694a5bf86a417ae813acd426c6e164 +PLAINTEXT = fa +CIPHERTEXT = ae + +COUNT = 86 +KEY = 596115837e2ce72b50fd15f60c0a1206 +IV = 2782209d992ce3076c634650c3faf2ae +PLAINTEXT = f0 +CIPHERTEXT = 25 + +COUNT = 87 +KEY = 37c0ca5b57d7baee278819cd436b6823 +IV = 6ea1dfd829fb5dc577750c3b4f617a25 +PLAINTEXT = e7 +CIPHERTEXT = 6c + +COUNT = 88 +KEY = 46d73efb27cdc4fa262580751497324f +IV = 7117f4a0701a7e1401ad99b857fc5a6c +PLAINTEXT = 77 +CIPHERTEXT = 6a + +COUNT = 89 +KEY = 8dee7ce9635c405e0fbacc34f5a35425 +IV = cb394212449184a4299f4c41e134666a +PLAINTEXT = 5b +CIPHERTEXT = 63 + +COUNT = 90 +KEY = a76e1b60d9aab45981a968b307d79546 +IV = 2a806789baf6f4078e13a487f274c163 +PLAINTEXT = be +CIPHERTEXT = 63 + +COUNT = 91 +KEY = faaf35f29235645576e6512ec63d3e25 +IV = 5dc12e924b9fd00cf74f399dc1eaab63 +PLAINTEXT = de +CIPHERTEXT = 32 + +COUNT = 92 +KEY = 036259f2d089a1c9f566797e3d302617 +IV = f9cd6c0042bcc59c83802850fb0d1832 +PLAINTEXT = f3 +CIPHERTEXT = 78 + +COUNT = 93 +KEY = 3e5ccedc06ead4d6ca34b9a3508dfa6f +IV = 3d3e972ed663751f3f52c0dd6dbddc78 +PLAINTEXT = e5 +CIPHERTEXT = 50 + +COUNT = 94 +KEY = 3bf316aa95fba10cf153e490dc2aec3f +IV = 05afd876931175da3b675d338ca71650 +PLAINTEXT = 24 +CIPHERTEXT = 24 + +COUNT = 95 +KEY = 79a405d47b3e7d2330b24c9011f32a1b +IV = 4257137eeec5dc2fc1e1a800cdd9c624 +PLAINTEXT = 61 +CIPHERTEXT = 34 + +COUNT = 96 +KEY = aea1e5784137bcbb2d49f6fed669272f +IV = d705e0ac3a09c1981dfbba6ec79a0d34 +PLAINTEXT = 42 +CIPHERTEXT = e2 + +COUNT = 97 +KEY = 60b8a9a6f98f1234cb0da0fe781f75cd +IV = ce194cdeb8b8ae8fe6445600ae7652e2 +PLAINTEXT = 07 +CIPHERTEXT = 26 + +COUNT = 98 +KEY = 5f9546af5fec49b6b2280a2836b32deb +IV = 3f2def09a6635b827925aad64eac5826 +PLAINTEXT = 70 +CIPHERTEXT = c0 + +COUNT = 99 +KEY = 4557c7bd4f12c47acd0b858009193f2b +IV = 1ac2811210fe8dcc7f238fa83faa12c0 +PLAINTEXT = b2 +CIPHERTEXT = 48 + + +[DECRYPT] + +COUNT = 0 +KEY = 78180bac8a1c9782d705a82c8632b0a0 +IV = 41c7c979f3d184f7aa61fb5c5ed6219d +CIPHERTEXT = c9 +PLAINTEXT = e2 + +COUNT = 1 +KEY = 27decae0aa5d84357f3c8c20d9ae5542 +IV = 5fc6c14c204113b7a839240c5f9ce5e2 +CIPHERTEXT = fd +PLAINTEXT = 48 + +COUNT = 2 +KEY = b7e6d5651cd1698aa7820148ed3b280a +IV = 90381f85b68cedbfd8be8d6834957d48 +CIPHERTEXT = d2 +PLAINTEXT = e1 + +COUNT = 3 +KEY = f687676b5ca23a3adf80db7430418eeb +IV = 4161b20e407353b07802da3cdd7aa6e1 +CIPHERTEXT = c1 +PLAINTEXT = 3b + +COUNT = 4 +KEY = e44e3537159015ca8ccaf1652502c8d0 +IV = 12c9525c49322ff0534a2a111543463b +CIPHERTEXT = 8c +PLAINTEXT = d2 + +COUNT = 5 +KEY = d07859044772d88b0abd21373b6e6202 +IV = 34366c3352e2cd418677d0521e6caad2 +CIPHERTEXT = a9 +PLAINTEXT = 5a + +COUNT = 6 +KEY = de060f28f26c61cf97654c0674458158 +IV = 0e7e562cb51eb9449dd86d314f2be35a +CIPHERTEXT = 1f +PLAINTEXT = 4c + +COUNT = 7 +KEY = 02f61e40b9d51fea882caba8b0705514 +IV = dcf011684bb97e251f49e7aec435d44c +CIPHERTEXT = 0a +PLAINTEXT = 5e + +COUNT = 8 +KEY = d20c15c760c14a2b2ece442a7e7bc34a +IV = d0fa0b87d91455c1a6e2ef82ce0b965e +CIPHERTEXT = bb +PLAINTEXT = 72 + +COUNT = 9 +KEY = b2f4255d7751343f86ecc536b455db38 +IV = 60f8309a17907e14a822811cca2e1872 +CIPHERTEXT = 9c +PLAINTEXT = bc + +COUNT = 10 +KEY = 5d768cb33a6a6c425e4591b13000c884 +IV = ef82a9ee4d3b587dd8a95487845513bc +CIPHERTEXT = 63 +PLAINTEXT = ce + +COUNT = 11 +KEY = a28acfde1eb8b7b7571692428a717e4a +IV = fffc436d24d2dbf5095303f3ba71b6ce +CIPHERTEXT = 0d +PLAINTEXT = a9 + +COUNT = 12 +KEY = 56d1aa8a42cfbfc26a0dc298c7ef31e3 +IV = f45b65545c7708753d1b50da4d9e4fa9 +CIPHERTEXT = 5a +PLAINTEXT = 93 + +COUNT = 13 +KEY = eaf07f0ba9f2d2d1b392b5291b6e9f70 +IV = bc21d581eb3d6d13d99f77b1dc81ae93 +CIPHERTEXT = 37 +PLAINTEXT = db + +COUNT = 14 +KEY = 060893b093f5bc2c52a28a19f5ce28ab +IV = ecf8ecbb3a076efde1303f30eea0b7db +CIPHERTEXT = ad +PLAINTEXT = 90 + +COUNT = 15 +KEY = 626adc62ef2183dfdda50416a36c9b3b +IV = 64624fd27cd43ff38f078e0f56a2b390 +CIPHERTEXT = 32 +PLAINTEXT = 60 + +COUNT = 16 +KEY = 3c24479c334107d2a841feb579f2cb5b +IV = 5e4e9bfedc60840d75e4faa3da9e5060 +CIPHERTEXT = 91 +PLAINTEXT = 06 + +COUNT = 17 +KEY = e938354882062ee82076182332e0c55d +IV = d51c72d4b147293a8837e6964b120e06 +CIPHERTEXT = d1 +PLAINTEXT = 18 + +COUNT = 18 +KEY = 62be0adcb0ef395f1be11536afdc4445 +IV = 8b863f9432e917b73b970d159d3c8118 +CIPHERTEXT = 2a +PLAINTEXT = 45 + +COUNT = 19 +KEY = 2b78226693d8bcdea00493022941b800 +IV = 49c628ba23378581bbe58634869dfc45 +CIPHERTEXT = e3 +PLAINTEXT = 87 + +COUNT = 20 +KEY = 23109f58a0a1c8ac4a6822d3158d1987 +IV = 0868bd3e33797472ea6cb1d13ccca187 +CIPHERTEXT = df +PLAINTEXT = af + +COUNT = 21 +KEY = 795f7db07f5d0620a87c80a8f085c428 +IV = 5a4fe2e8dffcce8ce214a27be508ddaf +CIPHERTEXT = 12 +PLAINTEXT = ff + +COUNT = 22 +KEY = f3cc409cfe8c9d6a4d2aae893e9c84d7 +IV = 8a933d2c81d19b4ae5562e21ce1940ff +CIPHERTEXT = 3d +PLAINTEXT = df + +COUNT = 23 +KEY = 630bd034739d63f5826f0e4f40020708 +IV = 90c790a88d11fe9fcf45a0c67e9e83df +CIPHERTEXT = 89 +PLAINTEXT = 98 + +COUNT = 24 +KEY = 4ea218a6b6ce28418131ef88799cd390 +IV = 2da9c892c5534bb4035ee1c7399ed498 +CIPHERTEXT = e0 +PLAINTEXT = 81 + +COUNT = 25 +KEY = 93556eb07ed7d6ce0e0e2d5291e32f11 +IV = ddf77616c819fe8f8f3fc2dae87ffc81 +CIPHERTEXT = be +PLAINTEXT = fa + +COUNT = 26 +KEY = d740842e0864d560bb2417481f7991eb +IV = 4415ea9e76b303aeb52a3a1a8e9abefa +CIPHERTEXT = 1e +PLAINTEXT = 4f + +COUNT = 27 +KEY = e0a92ebc6de75b40fa041af5ce3fb0a4 +IV = 37e9aa9265838e2041200dbdd146214f +CIPHERTEXT = 54 +PLAINTEXT = 49 + +COUNT = 28 +KEY = 5b555097be7ff278861d36392d227bed +IV = bbfc7e2bd398a9387c192ccce31dcb49 +CIPHERTEXT = 2d +PLAINTEXT = 74 + +COUNT = 29 +KEY = 42ff9c4ebd4a2a0cbd27cea1538ed699 +IV = 19aaccd90335d8743b3af8987eacad74 +CIPHERTEXT = cb +PLAINTEXT = a4 + +COUNT = 30 +KEY = 1a5ccdb81c9afd88395405a397df223d +IV = 58a351f6a1d0d7848473cb02c451f4a4 +CIPHERTEXT = 9b +PLAINTEXT = 71 + +COUNT = 31 +KEY = 766b9c5d86e24e095ce9ce9a460ba14c +IV = 6c3751e59a78b38165bdcb39d1d48371 +CIPHERTEXT = 03 +PLAINTEXT = 22 + +COUNT = 32 +KEY = 00f70e61902e53306bd35f2566ba2b6e +IV = 769c923c16cc1d39373a91bf20b18a22 +CIPHERTEXT = 1e +PLAINTEXT = 22 + +COUNT = 33 +KEY = 9d47af7c759b6bd6107d87b2ef03b64c +IV = 9db0a11de5b538e67baed89789b99d22 +CIPHERTEXT = 14 +PLAINTEXT = 92 + +COUNT = 34 +KEY = aa0c2db6eb7d4ad29283a8cf86f88ade +IV = 374b82ca9ee6210482fe2f7d69fb3c92 +CIPHERTEXT = 06 +PLAINTEXT = ab + +COUNT = 35 +KEY = 43aaaa3d2756935fee2d1d8c0996ee75 +IV = e9a6878bcc2bd98d7caeb5438f6e64ab +CIPHERTEXT = 6c +PLAINTEXT = 8e + +COUNT = 36 +KEY = 9ee50fa1a409398aeb1dd49e4197a1fb +IV = dd4fa59c835faad50530c91248014f8e +CIPHERTEXT = 31 +PLAINTEXT = ef + +COUNT = 37 +KEY = 226c1bc324e1733ef91fb14c89a1e214 +IV = bc89146280e84ab4120265d2c83643ef +CIPHERTEXT = 22 +PLAINTEXT = d2 + +COUNT = 38 +KEY = e02778686f6a35d817f57cf434fdd6c6 +IV = c24b63ab4b8b46e6eeeacdb8bd5c34d2 +CIPHERTEXT = 35 +PLAINTEXT = b2 + +COUNT = 39 +KEY = aa21ca18954704457a36439e1538d674 +IV = 4a06b270fa2d319d6dc33f6a21c500b2 +CIPHERTEXT = 48 +PLAINTEXT = d1 + +COUNT = 40 +KEY = db16afc8df995925ca14dfbf3a5222a5 +IV = 713765d04ade5d60b0229c212f6af4d1 +CIPHERTEXT = 0b +PLAINTEXT = 75 + +COUNT = 41 +KEY = 2a2ab2eeae9e6afc5f94523389709cd0 +IV = f13c1d26710733d995808d8cb322be75 +CIPHERTEXT = 66 +PLAINTEXT = 40 + +COUNT = 42 +KEY = c4caeda7d58465d5266f1e1e74a88b90 +IV = eee05f497b1a0f2979fb4c2dfdd81740 +CIPHERTEXT = 40 +PLAINTEXT = 0a + +COUNT = 43 +KEY = 1fcebc8855f45bdf2a03523843050e9a +IV = db04512f80703e0a0c6c4c2637ad850a +CIPHERTEXT = 45 +PLAINTEXT = b2 + +COUNT = 44 +KEY = 137165a27337c814156f9d8fbf4aba28 +IV = 0cbfd92a26c393cb3f6ccfb7fc4fb4b2 +CIPHERTEXT = 80 +PLAINTEXT = 40 + +COUNT = 45 +KEY = 1f15040a99d4b92873b565e4e49ff968 +IV = 0c6461a8eae3713c66daf86b5bd54340 +CIPHERTEXT = 10 +PLAINTEXT = 88 + +COUNT = 46 +KEY = dc8acf799c18fc8c39c792c2bee3ece0 +IV = c39fcb7305cc45a44a72f7265a7c1588 +CIPHERTEXT = d2 +PLAINTEXT = 78 + +COUNT = 47 +KEY = 17e817ccc23cf7d8e065c1b9e73e0398 +IV = cb62d8b55e240b54d9a2537b59ddef78 +CIPHERTEXT = 21 +PLAINTEXT = e7 + +COUNT = 48 +KEY = f39994f364f7ba375dfba1b0fa10717f +IV = e471833fa6cb4defbd9e60091d2e72e7 +CIPHERTEXT = 86 +PLAINTEXT = 23 + +COUNT = 49 +KEY = be141823b34777d082ceb276750a1e5c +IV = 4d8d8cd0d7b0cde7df3513c68f1a6f23 +CIPHERTEXT = 9f +PLAINTEXT = ef + +COUNT = 50 +KEY = 8ec5aabf2442372bcf52c9e18901e0b3 +IV = 30d1b29c970540fb4d9c7b97fc0bfeef +CIPHERTEXT = c3 +PLAINTEXT = 56 + +COUNT = 51 +KEY = de71ead3c53bac3bcee190871caae9e5 +IV = 50b4406ce1799b1001b3596695ab0956 +CIPHERTEXT = 3a +PLAINTEXT = c2 + +COUNT = 52 +KEY = 222ce96794f767552286382c56851227 +IV = fc5d03b451cccb6eec67a8ab4a2ffbc2 +CIPHERTEXT = 46 +PLAINTEXT = 6b + +COUNT = 53 +KEY = 6ea71a430db01277f15d562c21c4bb4c +IV = 4c8bf32499477522d3db6e007741a96b +CIPHERTEXT = ce +PLAINTEXT = 45 + +COUNT = 54 +KEY = 92d4bb1a82b53c8515361df0f24b6f09 +IV = fc73a1598f052ef2e46b4bdcd38fd445 +CIPHERTEXT = bd +PLAINTEXT = e2 + +COUNT = 55 +KEY = 97c9427b352f1cd25f5db9d8677b41eb +IV = 051df961b79a20574a6ba42895302ee2 +CIPHERTEXT = 07 +PLAINTEXT = 17 + +COUNT = 56 +KEY = c988808d84216d035851452c063026fc +IV = 5e41c2f6b10e71d1070cfcf4614b6717 +CIPHERTEXT = 8f +PLAINTEXT = 10 + +COUNT = 57 +KEY = ce1cb076a51e97276229a0276855a7ec +IV = 079430fb213ffa243a78e50b6e658110 +CIPHERTEXT = ac +PLAINTEXT = 60 + +COUNT = 58 +KEY = 9f826ae32be128b2466ded592303ba8c +IV = 519eda958effbf9524444d7e4b561d60 +CIPHERTEXT = 1b +PLAINTEXT = 67 + +COUNT = 59 +KEY = 189f667ba8d8f41c723b65cc481a72eb +IV = 871d0c988339dcae345688956b19c867 +CIPHERTEXT = 53 +PLAINTEXT = b5 + +COUNT = 60 +KEY = d4177a8a4553bb708dd82f077e421d5e +IV = cc881cf1ed8b4f6cffe34acb36586fb5 +CIPHERTEXT = 62 +PLAINTEXT = b6 + +COUNT = 61 +KEY = 1b87be4a001d9917fdc86b11bb2df9e8 +IV = cf90c4c0454e226770104416c56fe4b6 +CIPHERTEXT = 69 +PLAINTEXT = 46 + +COUNT = 62 +KEY = 9f77b987649b00b64b06d78c8adc43ae +IV = 84f007cd648699a1b6cebc9d31f1ba46 +CIPHERTEXT = 84 +PLAINTEXT = b0 + +COUNT = 63 +KEY = 10268c17eb0828b8e8da98a7d1c7d01e +IV = 8f5135908f93280ea3dc4f2b5b1b93b0 +CIPHERTEXT = 3f +PLAINTEXT = 4c + +COUNT = 64 +KEY = 3920fc35c0b46227f4af04a0cc7e0f52 +IV = 290670222bbc4a9f1c759c071db9df4c +CIPHERTEXT = 8a +PLAINTEXT = 03 + +COUNT = 65 +KEY = 2fd11dd64afc321e85aa33cf90a46a51 +IV = 16f1e1e38a4850397105376f5cda6503 +CIPHERTEXT = 7e +PLAINTEXT = 4a + +COUNT = 66 +KEY = 3946925aa1f7678af003ca639df1b41b +IV = 16978f8ceb0b559475a9f9ac0d55de4a +CIPHERTEXT = bf +PLAINTEXT = 87 + +COUNT = 67 +KEY = 7020ccfe7292f913a7038fbf3c1a809c +IV = 49665ea4d3659e99570045dca1eb3487 +CIPHERTEXT = 4a +PLAINTEXT = 54 + +COUNT = 68 +KEY = a0530518a20953880cb70967a6046ec8 +IV = d073c9e6d09baa9babb486d89a1eee54 +CIPHERTEXT = 30 +PLAINTEXT = 09 + +COUNT = 69 +KEY = dfc805792852c5db69bfac24c4a618c1 +IV = 7f9b00618a5b96536508a54362a27609 +CIPHERTEXT = e1 +PLAINTEXT = 41 + +COUNT = 70 +KEY = d52fedcf89cb74c100d1a7bfc60f1c80 +IV = 0ae7e8b6a199b11a696e0b9b02a90441 +CIPHERTEXT = 75 +PLAINTEXT = 4c + +COUNT = 71 +KEY = a96b3d3ac627865f038b27fecd7d2ccc +IV = 7c44d0f54fecf29e035a80410b72304c +CIPHERTEXT = af +PLAINTEXT = 74 + +COUNT = 72 +KEY = 0146bc354ef0c85e023bb2ce3279c8b8 +IV = a82d810f88d74e0101b09530ff04e474 +CIPHERTEXT = ec +PLAINTEXT = 76 + +COUNT = 73 +KEY = b0358420972465cf637bf8605e05c8ce +IV = b1733815d9d4ad9161404aae6c7c0076 +CIPHERTEXT = 8f +PLAINTEXT = bf + +COUNT = 74 +KEY = 8d778767d0779c54f24a42eaae28fa71 +IV = 3d4203474753f99b9131ba8af02d32bf +CIPHERTEXT = 6f +PLAINTEXT = e7 + +COUNT = 75 +KEY = e2fded25537c50dad334ade5f614e296 +IV = 6f8a6a42830bcc8e217eef0f583c18e7 +CIPHERTEXT = 04 +PLAINTEXT = 99 + +COUNT = 76 +KEY = e54ad3670ab1d0d206c48895c6e2610f +IV = 07b73e4259cd8008d5f0257030f68399 +CIPHERTEXT = ca +PLAINTEXT = 47 + +COUNT = 77 +KEY = 23d723e592a97bf3cb69e89a63802a48 +IV = c69df0829818ab21cdad600fa5624b47 +CIPHERTEXT = 16 +PLAINTEXT = a0 + +COUNT = 78 +KEY = b4b88342e95e01c816ffe26fb447a0e8 +IV = 976fa0a77bf77a3bdd960af5d7c78aa0 +CIPHERTEXT = a5 +PLAINTEXT = e4 + +COUNT = 79 +KEY = 613dce07c7df9e4a5905da49f086140c +IV = d5854d452e819f824ffa382644c1b4e4 +CIPHERTEXT = 27 +PLAINTEXT = eb + +COUNT = 80 +KEY = 4a50b4173e30d0eda63e1dbe0037b0e7 +IV = 2b6d7a10f9ef4ea7ff3bc7f7f0b1a4eb +CIPHERTEXT = 2d +PLAINTEXT = cd + +COUNT = 81 +KEY = 3d1e247ec6773bad5beebaf89a69f92a +IV = 774e9069f847eb40fdd0a7469a5e49cd +CIPHERTEXT = 06 +PLAINTEXT = f0 + +COUNT = 82 +KEY = 5c9da075ade96a559d63e0f7321668da +IV = 6183840b6b9e51f8c68d5a0fa87f91f0 +CIPHERTEXT = cc +PLAINTEXT = ab + +COUNT = 83 +KEY = a2a41a1cd03985d15bb29413d109f671 +IV = fe39ba697dd0ef84c6d174e4e31f9eab +CIPHERTEXT = ce +PLAINTEXT = 4c + +COUNT = 84 +KEY = 0e9508b904f19ca11b4dd2125caeae3d +IV = ac3112a5d4c8197040ff46018da7584c +CIPHERTEXT = c3 +PLAINTEXT = ee + +COUNT = 85 +KEY = 86dcbbdd82c7c6cf34c2d4420c4c55d3 +IV = 8849b36486365a6e2f8f065050e2fbee +CIPHERTEXT = ad +PLAINTEXT = c6 + +COUNT = 86 +KEY = dce1528ff174e96ecdefd987ddb6f715 +IV = 5a3de95273b32fa1f92d0dc5d1faa2c6 +CIPHERTEXT = e7 +PLAINTEXT = b4 + +COUNT = 87 +KEY = 3abd3c3ea8a975520d895919cf02d7a1 +IV = e65c6eb159dd9c3cc066809e12b420b4 +CIPHERTEXT = c1 +PLAINTEXT = 02 + +COUNT = 88 +KEY = aed528be598887b42eac9c550d75a3a3 +IV = 94681480f121f2e62325c54cc2777402 +CIPHERTEXT = 2a +PLAINTEXT = c7 + +COUNT = 89 +KEY = e3d85c6038d948b38839100e6eb57164 +IV = 4d0d74de6151cf07a6958c5b63c0d2c7 +CIPHERTEXT = 08 +PLAINTEXT = 25 + +COUNT = 90 +KEY = 76a65dfd6c30bac01566f150402c6b41 +IV = 957e019d54e9f2739d5fe15e2e991a25 +CIPHERTEXT = ad +PLAINTEXT = 85 + +COUNT = 91 +KEY = c713aebc7da80498a1eee5d5f8b957c4 +IV = b1b5f3411198be58b4881485b8953c85 +CIPHERTEXT = c4 +PLAINTEXT = 87 + +COUNT = 92 +KEY = c6072a6169eb7ebf5a5caaf07cc0b943 +IV = 011484dd14437a27fbb24f258479ee87 +CIPHERTEXT = 35 +PLAINTEXT = 53 + +COUNT = 93 +KEY = 8c522c4e9e4945ec49a36c5dabcd5b10 +IV = 4a55062ff7a23b5313ffc6add70de253 +CIPHERTEXT = 69 +PLAINTEXT = 47 + +COUNT = 94 +KEY = 99e5e0e70dce2cc4e0062a9c010aa657 +IV = 15b7cca993876928a9a546c1aac7fd47 +CIPHERTEXT = ef +PLAINTEXT = a7 + +COUNT = 95 +KEY = 7c445f43b1a23a90fd73d690258c54f0 +IV = e5a1bfa4bc6c16541d75fc0c2486f2a7 +CIPHERTEXT = dd +PLAINTEXT = 28 + +COUNT = 96 +KEY = 1957f5a74d9919fc3bae7dbe74f7c3d8 +IV = 6513aae4fc3b236cc6ddab2e517b9728 +CIPHERTEXT = 9e +PLAINTEXT = 63 + +COUNT = 97 +KEY = 45c35987bc900978c390445b5f4e8cbb +IV = 5c94ac20f1091084f83e39e52bb94f63 +CIPHERTEXT = d7 +PLAINTEXT = 22 + +COUNT = 98 +KEY = 209a87e378877d16c720fea14bfad099 +IV = 6559de64c417746e04b0bafa14b45c22 +CIPHERTEXT = f8 +PLAINTEXT = 5f + +COUNT = 99 +KEY = a1ad67c3590d1f56e3f874aabad582c6 +IV = 8137e020218a624024d88a0bf12f525f +CIPHERTEXT = 54 +PLAINTEXT = af + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT192.rsp new file mode 100644 index 000000000..2898da6cc --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT192.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:48 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = dc66d5ccce06d47fee3fa2eb65e2dc0bd8536df29ae85c54 +IV = c3caee0b8e23f400cd472daefc4ba204 +PLAINTEXT = 92 +CIPHERTEXT = ce + +COUNT = 1 +KEY = 8270a944873f6eb0d8e36dcd0e33d0b6b0b9871dc030fc9a +IV = 36dccf266bd10cbd68eaeaef5ad8a0ce +PLAINTEXT = cf +CIPHERTEXT = cf + +COUNT = 2 +KEY = f7cc9fdf3b198121c228c889958deb0bf95466fcca66e155 +IV = 1acba5449bbe3bbd49ede1e10a561dcf +PLAINTEXT = 91 +CIPHERTEXT = 4d + +COUNT = 3 +KEY = a416afff5cd6328ad24df87ef880fdcce3237c90a7b6b718 +IV = 106530f76d0d16c71a771a6c6dd0564d +PLAINTEXT = ab +CIPHERTEXT = d7 + +COUNT = 4 +KEY = 56db451d2d90f516f63d49daa9b6b25866632d25530d1ecf +IV = 2470b1a451364f94854051b5f4bba9d7 +PLAINTEXT = 9c +CIPHERTEXT = 16 + +COUNT = 5 +KEY = f4b89367cd575c3fdac07b7e97a68cd2b1bcb7dc079f16d9 +IV = 2cfd32a43e103e8ad7df9af954920816 +PLAINTEXT = 29 +CIPHERTEXT = 3d + +COUNT = 6 +KEY = 0542397e2e47d21f8ec2882c1e17cb850413ce29bd5d45e4 +IV = 5402f35289b14757b5af79f5bac2533d +PLAINTEXT = 20 +CIPHERTEXT = 32 + +COUNT = 7 +KEY = ee2cfa537654a029438aee470ccf912b947cfae1a6d8b6d6 +IV = cd48666b12d85aae906f34c81b85f332 +PLAINTEXT = 36 +CIPHERTEXT = 4d + +COUNT = 8 +KEY = 5654735a7fb7eeb7e892127e499aa9f392ac86dd31a2319b +IV = ab18fc39455538d806d07c3c977a874d +PLAINTEXT = 9e +CIPHERTEXT = 84 + +COUNT = 9 +KEY = 990668beaec6fa31f98afebc89b712f9793463ac34f4851f +IV = 1118ecc2c02dbb0aeb98e5710556b484 +PLAINTEXT = 86 +CIPHERTEXT = 1e + +COUNT = 10 +KEY = f6de713e6ca5a181b3c1a3c6a41385db97a16f0a44e76801 +IV = 4a4b5d7a2da49722ee950ca67013ed1e +PLAINTEXT = b0 +CIPHERTEXT = 5e + +COUNT = 11 +KEY = 76333fd2e330199bbe9c4efb4caf62c4bcf59bba2361f05f +IV = 0d5ded3de8bce71f2b54f4b06786985e +PLAINTEXT = 1a +CIPHERTEXT = ca + +COUNT = 12 +KEY = 66b760e18c5e15e0af6e670d3cc2e29240369069b9107a95 +IV = 11f229f6706d8056fcc30bd39a718aca +PLAINTEXT = 7b +CIPHERTEXT = b8 + +COUNT = 13 +KEY = 6f1b74e3c2000f299fb15fafc98936caf915ff810c22002d +IV = 30df38a2f54bd458b9236fe8b5327ab8 +PLAINTEXT = c9 +CIPHERTEXT = bd + +COUNT = 14 +KEY = d41cb3e7a8952f77e6a9068cdb0804a0bdee8f5f19ebc690 +IV = 791859231281326a44fb70de15c9c6bd +PLAINTEXT = 5e +CIPHERTEXT = 97 + +COUNT = 15 +KEY = 1b751910321480c415695f36a29558cab56aaab24c904e07 +IV = f3c059ba799d5c6a088425ed557b8897 +PLAINTEXT = b3 +CIPHERTEXT = a5 + +COUNT = 16 +KEY = e5fc7c69b7947d23be1734580c3e84c771c76f26c19e42a2 +IV = ab7e6b6eaeabdc0dc4adc5948d0e0ca5 +PLAINTEXT = e7 +CIPHERTEXT = bf + +COUNT = 17 +KEY = 1d305889ef8fda9c9091f6ebf670f98427b4d7d2df51461d +IV = 2e86c2b3fa4e7d435673b8f41ecf04bf +PLAINTEXT = bf +CIPHERTEXT = 7c + +COUNT = 18 +KEY = 09be2fdc9090324adf9c3c8e92d7037ad0b3f5dac433bf61 +IV = 4f0dca6564a7fafef70722081b62f97c +PLAINTEXT = d6 +CIPHERTEXT = 13 + +COUNT = 19 +KEY = dcff8779eb727c93fe60cd8e1cd15dca4ca2d9b60fe96d72 +IV = 21fcf1008e065eb09c112c6ccbdad213 +PLAINTEXT = d9 +CIPHERTEXT = dd + +COUNT = 20 +KEY = f845a73131b2b573bb1c3db48c93680c79c259dec033f1af +IV = 457cf03a904235c635608068cfda9cdd +PLAINTEXT = e0 +CIPHERTEXT = df + +COUNT = 21 +KEY = 8c372bc0a151fe7e196eec8632fe5995801953c7dca12570 +IV = a272d132be6d3199f9db0a191c92d4df +PLAINTEXT = 0d +CIPHERTEXT = fa + +COUNT = 22 +KEY = 468df9e0969411ad7ceecc1270007396c629fe30f137b08a +IV = 6580209442fe2a034630adf72d9695fa +PLAINTEXT = d3 +CIPHERTEXT = 0e + +COUNT = 23 +KEY = bef919b7df385bc2808c4b471d952d20643998fa9d111884 +IV = fc6287556d955eb6a21066ca6c26a80e +PLAINTEXT = 6f +CIPHERTEXT = 7e + +COUNT = 24 +KEY = 3169272d9d9658b89aa191d7df87a96a8cff768180a05cfa +IV = 1a2dda90c212844ae8c6ee7b1db1447e +PLAINTEXT = 7a +CIPHERTEXT = 34 + +COUNT = 25 +KEY = 1c0a9b9ccdf326b820d94677027cc8e712bd48d2252aa9ce +IV = ba78d7a0ddfb618d9e423e53a58af534 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 26 +KEY = 3e7d3eeb5747cd6a47c5397930cddd162d771e227c766259 +IV = 671c7f0e32b115f13fca56f0595ccb97 +PLAINTEXT = d2 +CIPHERTEXT = 50 + +COUNT = 27 +KEY = d61217aa7e8fad32ef35e7cb1ea35b1fc56e93045bc98009 +IV = a8f0deb22e6e8609e8198d2627bfe250 +PLAINTEXT = 58 +CIPHERTEXT = 6f + +COUNT = 28 +KEY = 76a46191f2a08ad024dd406da23926dda562a71e985eec66 +IV = cbe8a7a6bc9a7dc2600c341ac3976c6f +PLAINTEXT = e2 +CIPHERTEXT = 6c + +COUNT = 29 +KEY = 9d5e0086465f4e468bfc2f4027c1e3805dee2e6481dba00a +IV = af216f2d85f8c55df88c897a19854c6c +PLAINTEXT = 96 +CIPHERTEXT = f7 + +COUNT = 30 +KEY = 60c3df85554227cb8c202a1bbe84b1b4534c654a2f3233fd +IV = 07dc055b994552340ea24b2eaee993f7 +PLAINTEXT = 8d +CIPHERTEXT = 85 + +COUNT = 31 +KEY = 4d10d607239cd0326202cd7cb35313355663a9331dbb7978 +IV = ee22e7670dd7a281052fcc7932894a85 +PLAINTEXT = f9 +CIPHERTEXT = 8a + +COUNT = 32 +KEY = d4707add3fa3678606a94a1309b150f2214fbd47e63e99f2 +IV = 64ab876fbae243c7772c1474fb85e08a +PLAINTEXT = b4 +CIPHERTEXT = 75 + +COUNT = 33 +KEY = 5176981b1df303ce9938def2522ac86907b774c29bd8bb87 +IV = 9f9194e15b9b989b26f8c9857de62275 +PLAINTEXT = 48 +CIPHERTEXT = 2e + +COUNT = 34 +KEY = 7d53d470ef3fa4f1ccb5e45c79518c200c53975df38517a9 +IV = 558d3aae2b7b44490be4e39f685dac2e +PLAINTEXT = 3f +CIPHERTEXT = 8e + +COUNT = 35 +KEY = bb803071619dd4f6825688993e5f067610a7b0ee31e02627 +IV = 4ee36cc5470e8a561cf427b3c265318e +PLAINTEXT = 07 +CIPHERTEXT = 2d + +COUNT = 36 +KEY = a40bd26fb6d90f665cc72aaa98782aed3069b2b93c06f00a +IV = de91a233a6272c9b20ce02570de6d62d +PLAINTEXT = 90 +CIPHERTEXT = 49 + +COUNT = 37 +KEY = 0dd84820ed1f143eeb6ece9353cc78e68640bc29aa679443 +IV = b7a9e439cbb4520bb6290e9096616449 +PLAINTEXT = 58 +CIPHERTEXT = d0 + +COUNT = 38 +KEY = ffa08b238d0370534911b1143a0f433ba2ce51f74dfdea93 +IV = a27f7f8769c33bdd248eeddee79a7ed0 +PLAINTEXT = 6d +CIPHERTEXT = 3b + +COUNT = 39 +KEY = 9ec5054cf472cb82e2cebf4ae4c4527025a031ca800fc4a8 +IV = abdf0e5edecb114b876e603dcdf22e3b +PLAINTEXT = d1 +CIPHERTEXT = 7d + +COUNT = 40 +KEY = 4574ff5c17387ed30cf1357bddb74ca4e3cde621fc33a3d5 +IV = ee3f8a3139731ed4c66dd7eb7c3c677d +PLAINTEXT = 51 +CIPHERTEXT = 0d + +COUNT = 41 +KEY = fdb42f4f78bba913faf2540c7be564b4ca860cfcf84717d8 +IV = f6036177a6522810294beadd0474b40d +PLAINTEXT = c0 +CIPHERTEXT = bb + +COUNT = 42 +KEY = 7cfd4a17b65b43f632e7d4873e95a06b2323206682ed8863 +IV = c815808b4570c4dfe9a52c9a7aaa9fbb +PLAINTEXT = e5 +CIPHERTEXT = 2e + +COUNT = 43 +KEY = 3b4e30e2eca486266759036181e9d21add4b1ed90688864d +IV = 55bed7e6bf7c7271fe683ebf84650e2e +PLAINTEXT = d0 +CIPHERTEXT = 82 + +COUNT = 44 +KEY = 37b5ef2c57c3b9f6b4f0215cc8fd12bd6c69d2dfa18198cf +IV = d3a9223d4914c0a7b122cc06a7091e82 +PLAINTEXT = d0 +CIPHERTEXT = e2 + +COUNT = 45 +KEY = e105acb13b286fa0add678a51592ec5fcb30127022eba92d +IV = 192659f9dd6ffee2a759c0af836a31e2 +PLAINTEXT = 56 +CIPHERTEXT = b1 + +COUNT = 46 +KEY = dd34ba624c0c5364b5966da882f018b21de3a4e82609589c +IV = 1840150d9762f4edd6d3b69804e2f1b1 +PLAINTEXT = c4 +CIPHERTEXT = d3 + +COUNT = 47 +KEY = bb8a9f8541acfd2464e07edd5b60b6e16f1cc8fba9366d4f +IV = d1761375d990ae5372ff6c138f3f35d3 +PLAINTEXT = 40 +CIPHERTEXT = cd + +COUNT = 48 +KEY = cab55c57ab1caaf1b2ff44079558b8b1832db4a883ee1a82 +IV = d61f3adace380e50ec317c532ad877cd +PLAINTEXT = d5 +CIPHERTEXT = c1 + +COUNT = 49 +KEY = d5cd10b820a8309b777d29672c847abe25f202bb1f02eb43 +IV = c5826d60b9dcc20fa6dfb6139cecf1c1 +PLAINTEXT = 6a +CIPHERTEXT = 7f + +COUNT = 50 +KEY = 01035f781ec502ea935cb61e308695c0c87ea19de487bc3c +IV = e4219f791c02ef7eed8ca326fb85577f +PLAINTEXT = 71 +CIPHERTEXT = f4 + +COUNT = 51 +KEY = 65d05c6850edff45d45a900aae1c1301572b6bf6b0314ac8 +IV = 470626149e9a86c19f55ca6b54b6f6f4 +PLAINTEXT = af +CIPHERTEXT = 9d + +COUNT = 52 +KEY = 736e971a4535ac83e51ea9e1133a23e21f3930b4e0999455 +IV = 314439ebbd2630e348125b4250a8de9d +PLAINTEXT = c6 +CIPHERTEXT = 5b + +COUNT = 53 +KEY = 60751b85f748b87d4f7b96541964efc181e171b4eb02bb0e +IV = aa653fb50a5ecc239ed841000b9b2f5b +PLAINTEXT = fe +CIPHERTEXT = 0b + +COUNT = 54 +KEY = 7f3c78e98469109d4d1f0d49372418c500b6ae393e260905 +IV = 02649b1d2e40f7048157df8dd524b20b +PLAINTEXT = e0 +CIPHERTEXT = 76 + +COUNT = 55 +KEY = 065d5e0eddcb81feeabc182de979bb858c2349ded896d273 +IV = a7a31564de5da3408c95e7e7e6b0db76 +PLAINTEXT = 63 +CIPHERTEXT = cd + +COUNT = 56 +KEY = 878093d59dab48c3b2041266708b4f5b34b5987ee7b5afbe +IV = 58b80a4b99f2f4deb896d1a03f237dcd +PLAINTEXT = 3d +CIPHERTEXT = 6b + +COUNT = 57 +KEY = cab80564f9549530004cb8e90480807a6add30842f086ed5 +IV = b248aa8f740bcf215e68a8fac8bdc16b +PLAINTEXT = f3 +CIPHERTEXT = 32 + +COUNT = 58 +KEY = 846dbc32133e56e6ae823b1aba705b20073f9bf20e7546e7 +IV = aece83f3bef0db5a6de2ab76217d2832 +PLAINTEXT = d6 +CIPHERTEXT = 52 + +COUNT = 59 +KEY = 8a08f189de4da6f34a374232cbf9973e13422eca764373b5 +IV = e4b579287189cc1e147db53878363552 +PLAINTEXT = 15 +CIPHERTEXT = 1d + +COUNT = 60 +KEY = c7538adb8120d062575376f31c60beed6d94c3324b50b8a8 +IV = 1d6434c1d79929d37ed6edf83d13cb1d +PLAINTEXT = 91 +CIPHERTEXT = bf + +COUNT = 61 +KEY = c23f6442b31e49bc44dd3a399a5c3220175b2af286109d17 +IV = 138e4cca863c8ccd7acfe9c0cd4025bf +PLAINTEXT = de +CIPHERTEXT = 01 + +COUNT = 62 +KEY = 785149eb385e4a7b1d75cd81df96799401e76e34b03a1916 +IV = 59a8f7b845ca4bb416bc44c6362a8401 +PLAINTEXT = c7 +CIPHERTEXT = 84 + +COUNT = 63 +KEY = 4e23f156ccfed48fde8d72814febe56a120add340d258192 +IV = c3f8bf00907d9cfe13edb300bd1f9884 +PLAINTEXT = f4 +CIPHERTEXT = 3a + +COUNT = 64 +KEY = dc15d69b43536f36e2b404d78b3878c85c9f64f6b5f4bfa8 +IV = 3c397656c4d39da24e95b9c2b8d13e3a +PLAINTEXT = b9 +CIPHERTEXT = 19 + +COUNT = 65 +KEY = d9fa2ff8c6fdf364546e7f45970be548299852a0753cedb1 +IV = b6da7b921c339d8075073656c0c85219 +PLAINTEXT = 52 +CIPHERTEXT = 05 + +COUNT = 66 +KEY = 0d1b50b10808dea839a2e626610584f44191f4c897fae1b4 +IV = 6dcc9963f60e61bc6809a668e2c60c05 +PLAINTEXT = cc +CIPHERTEXT = 76 + +COUNT = 67 +KEY = 0ff80465f8d9cf1261e2b568708fb50280054e3350e439c2 +IV = 5840534e118a31f6c194bafbc71ed876 +PLAINTEXT = ba +CIPHERTEXT = ff + +COUNT = 68 +KEY = f6853e3550b64bc3de430dde01a92ac180861017aeec8f3d +IV = bfa1b8b671269fc300835e24fe08b6ff +PLAINTEXT = d1 +CIPHERTEXT = c4 + +COUNT = 69 +KEY = b9bbef2ef527724c5460f3e7d9bfc2539865cf1721d3d4f9 +IV = 8a23fe39d816e89218e3df008f3f5bc4 +PLAINTEXT = 8f +CIPHERTEXT = 66 + +COUNT = 70 +KEY = 46ff74e2399e1f5b96932bfa29a7819fd07047d4f38bdd9f +IV = c2f3d81df01843cc481588c3d2580966 +PLAINTEXT = 17 +CIPHERTEXT = f5 + +COUNT = 71 +KEY = bda23c3847f04910048d8d7ce69291fd13ecbe74be734e6a +IV = 921ea686cf351062c39cf9a04df893f5 +PLAINTEXT = 4b +CIPHERTEXT = cd + +COUNT = 72 +KEY = c65c9407b57cef68597acdf885cfc29bb9f81bf5b95578a7 +IV = 5df74084635d5366aa14a581072636cd +PLAINTEXT = 78 +CIPHERTEXT = b7 + +COUNT = 73 +KEY = f68e1f48f45b9ec4232c4bb72d0a86a8a3e2334201a45610 +IV = 7a56864fa8c544331a1a28b7b8f12eb7 +PLAINTEXT = ac +CIPHERTEXT = c4 + +COUNT = 74 +KEY = 9429257584ea86f1a189b839bf3ffb7f266dc1282f0230d4 +IV = 82a5f38e92357dd7858ff26a2ea666c4 +PLAINTEXT = 35 +CIPHERTEXT = c1 + +COUNT = 75 +KEY = 0eacf42f7feeedf4451914231e08538b33e6b1def633eb15 +IV = e490ac1aa137a8f4158b70f6d931dbc1 +PLAINTEXT = 05 +CIPHERTEXT = c1 + +COUNT = 76 +KEY = c40440c4b2729378fe979c9b50de2de4c9a390ad601b18d4 +IV = bb8e88b84ed67e6ffa4521739628f3c1 +PLAINTEXT = 8c +CIPHERTEXT = 4f + +COUNT = 77 +KEY = 7e8c5ad656da77e4551087d8d539f20cb59bb1896d58eb9b +IV = ab871b4385e7dfe87c3821240d43f34f +PLAINTEXT = 9c +CIPHERTEXT = 17 + +COUNT = 78 +KEY = 3e58a89bb8eec846e3d8fda68bcb4ef066347a99ec6e2d8c +IV = b6c87a7e5ef2bcfcd3afcb108136c617 +PLAINTEXT = a2 +CIPHERTEXT = 98 + +COUNT = 79 +KEY = 96c0348d07ddc873697f901319ad111d208627f2355f5b14 +IV = 8aa76db592665fed46b25d6bd9317698 +PLAINTEXT = 35 +CIPHERTEXT = ae + +COUNT = 80 +KEY = b4c8286addfeb1834a2eff4bb5acbdc937012a229f7a3bba +IV = 23516f58ac01acd417870dd0aa2560ae +PLAINTEXT = f0 +CIPHERTEXT = 75 + +COUNT = 81 +KEY = 6cfd9bb177e2f4fd36549fe094b490b99d5a29d93ba76dcf +IV = 7c7a60ab21182d70aa5b03fba4dd5675 +PLAINTEXT = 7e +CIPHERTEXT = a2 + +COUNT = 82 +KEY = f2877d03bad9ca37d3d6b583f36d158c4c8c53d64253db6d +IV = e5822a6367d98535d1d67a0f79f4b6a2 +PLAINTEXT = ca +CIPHERTEXT = 4f + +COUNT = 83 +KEY = 4e52dd1327f9c2189acbe23a2a8cb9da684ffc146ce69f22 +IV = 491d57b9d9e1ac5624c3afc22eb5444f +PLAINTEXT = 2f +CIPHERTEXT = a3 + +COUNT = 84 +KEY = b8cb9a6754339d58d9864285a16713eee558e3fb3bff6f81 +IV = 434da0bf8bebaa348d171fef5719f0a3 +PLAINTEXT = 40 +CIPHERTEXT = 5b + +COUNT = 85 +KEY = 72de85ff57799d41ec75d3157f5d3d16dec16d89a5dddcda +IV = 35f39190de3a2ef83b998e729e22b35b +PLAINTEXT = 19 +CIPHERTEXT = 2c + +COUNT = 86 +KEY = 2fc5c5a7c27130718d85d58ffbd1ceb28496d64fc6a30ef6 +IV = 61f0069a848cf3a45a57bbc6637ed22c +PLAINTEXT = 30 +CIPHERTEXT = 70 + +COUNT = 87 +KEY = 7a7ad1eb853de44b011b35d05b55648f8cd512bedf367a86 +IV = 8c9ee05fa084aa3d0843c4f119957470 +PLAINTEXT = 3a +CIPHERTEXT = 79 + +COUNT = 88 +KEY = 0d9737b1969840271e0ce54e1db25b3c1a69ac4a713651ff +IV = 1f17d09e46e73fb396bcbef4ae002b79 +PLAINTEXT = 6c +CIPHERTEXT = 94 + +COUNT = 89 +KEY = 8c568f3a5524520711a581a76d993b534733e37c4493f76b +IV = 0fa964e9702b606f5d5a4f3635a5a694 +PLAINTEXT = 20 +CIPHERTEXT = b0 + +COUNT = 90 +KEY = 92a240afb2b08a4d084021c37a740d2c95b5f23e07bce9db +IV = 19e5a06417ed367fd2861142432f1eb0 +PLAINTEXT = 4a +CIPHERTEXT = 3f + +COUNT = 91 +KEY = 4066b211728928364b0df3c9e56d3b1fbf0d2cfd5249a4e4 +IV = 434dd20a9f1936332ab8dec355f54d3f +PLAINTEXT = 7b +CIPHERTEXT = fd + +COUNT = 92 +KEY = 3e3768d8223a2c7fc8d51d5b16fb6ba97b91d63e85fd3619 +IV = 83d8ee92f39650b6c49cfac3d7b492fd +PLAINTEXT = 49 +CIPHERTEXT = 7e + +COUNT = 93 +KEY = 6fa8e01b9c1b33f6ed6bce5d455784ef5f37eb7636fb8067 +IV = 25bed30653acef4624a63d48b306b67e +PLAINTEXT = 89 +CIPHERTEXT = d0 + +COUNT = 94 +KEY = ba731f8e66857da0c87fbbc60e8a609f0af8dc0581dbfdb7 +IV = 2514759b4bdde47055cf3773b7207dd0 +PLAINTEXT = 56 +CIPHERTEXT = e8 + +COUNT = 95 +KEY = 96366747ddac00ecfcecde8a81284804329ddf4518e3085f +IV = 3493654c8fa2289b386503409938f5e8 +PLAINTEXT = 4c +CIPHERTEXT = f9 + +COUNT = 96 +KEY = 0ff8ae84ecaba41beb233fcd24aa1ae6129007d8bd290ba6 +IV = 17cfe147a58252e2200dd89da5ca03f9 +PLAINTEXT = f7 +CIPHERTEXT = 97 + +COUNT = 97 +KEY = 5a9234078a7077d87ec6ee053e19b8b7d245b01d4c8f7531 +IV = 95e5d1c81ab3a251c0d5b7c5f1a67e97 +PLAINTEXT = c3 +CIPHERTEXT = 30 + +COUNT = 98 +KEY = cef518abbc98a79e3546a4d63d7cac88f66e5b93c9d63701 +IV = 4b804ad30365143f242beb8e85594230 +PLAINTEXT = 46 +CIPHERTEXT = 1f + +COUNT = 99 +KEY = 5dd61a29251a27097383478be07deed28d7ea19567688f1e +IV = 46c5e35ddd01425a7b10fa06aebeb81f +PLAINTEXT = 97 +CIPHERTEXT = 96 + + +[DECRYPT] + +COUNT = 0 +KEY = d86b0dc7a9016a8ff57840a0443e1108c0ebe33f52d58b5a +IV = d5fc3d0cdce1e64da43049776e32593e +CIPHERTEXT = 33 +PLAINTEXT = 11 + +COUNT = 1 +KEY = 097c0e072fd3ba944352eae0098302cc443802e3a7508f4b +IV = b62aaa404dbd13c484d3e1dcf5850411 +CIPHERTEXT = 1b +PLAINTEXT = 29 + +COUNT = 2 +KEY = 15305f7303e5fe62b56821f7d63bb1875f0d300dee395662 +IV = f63acb17dfb8b34b1b3532ee4969d929 +CIPHERTEXT = f6 +PLAINTEXT = 32 + +COUNT = 3 +KEY = 6abf0b11ce2eb6f1fc9da455393dd880cb4774c326298d50 +IV = 49f585a2ef066907944a44cec810db32 +CIPHERTEXT = 93 +PLAINTEXT = f1 + +COUNT = 4 +KEY = 9c760cf903ef3db90223b2c79dd55a6eefedaac213ae39a1 +IV = febe1692a4e882ee24aade013587b4f1 +CIPHERTEXT = 48 +PLAINTEXT = a8 + +COUNT = 5 +KEY = de5ea5e7ea392061458ffc6c519c1dce65c79bb8ba112709 +IV = 47ac4eabcc4947a08a2a317aa9bf1ea8 +CIPHERTEXT = d8 +PLAINTEXT = e7 + +COUNT = 6 +KEY = a762bcba0fd6d2e321eaa388747c8ee2a4a0787c8a1e10ee +IV = 64655fe425e0932cc167e3c4300f37e7 +CIPHERTEXT = 82 +PLAINTEXT = a8 + +COUNT = 7 +KEY = 241451ea1e9565b1f5b9fe4ce7a9c872387202db306c7a46 +IV = d4535dc493d546909cd27aa7ba726aa8 +CIPHERTEXT = 52 +PLAINTEXT = 3e + +COUNT = 8 +KEY = 7678fcc8607b86a06a2d08ea438f8b46d43b6a31bebc6778 +IV = 9f94f6a6a4264334ec4968ea8ed01d3e +CIPHERTEXT = 11 +PLAINTEXT = 4a + +COUNT = 9 +KEY = d464f4ec1c30141a8df9f97681ee4ad5c0d0c269ac824d32 +IV = e7d4f19cc261c19314eba858123e2a4a +CIPHERTEXT = ba +PLAINTEXT = 80 + +COUNT = 10 +KEY = 1ce13218568620d2cbd7f324f34bc5b8fa5d8ee78db378b2 +IV = 462e0a5272a58f6d3a8d4c8e21313580 +CIPHERTEXT = c8 +PLAINTEXT = 50 + +COUNT = 11 +KEY = ab2275f0d78e17d84d2c2da565cfd6348142e4fa42b9fbe2 +IV = 86fbde819684138c7b1f6a1dcf0a8350 +CIPHERTEXT = 0a +PLAINTEXT = 8b + +COUNT = 12 +KEY = 66de43aee3291cc3337485cebc1fcc20ef8ab75812b0f769 +IV = 7e58a86bd9d01a146ec853a250090c8b +CIPHERTEXT = 1b +PLAINTEXT = c2 + +COUNT = 13 +KEY = ceb53be83036afb40dfa4b1c7923c488ee8b0f74bea38aab +IV = 3e8eced2c53c08a80101b82cac137dc2 +CIPHERTEXT = 77 +PLAINTEXT = 07 + +COUNT = 14 +KEY = 892047ed8c3a36529531be50433b58456779914242b051ac +IV = 98cbf54c3a189ccd89f29e36fc13db07 +CIPHERTEXT = e6 +PLAINTEXT = 62 + +COUNT = 15 +KEY = 9d7353cb2c819abb32cea3c66231cb342d84e0039d09e6ce +IV = a7ff1d96210a93714afd7141dfb9b762 +CIPHERTEXT = e9 +PLAINTEXT = 2c + +COUNT = 16 +KEY = 1ab112ce970f1933fed09866514ac6f4ca12f029330779e2 +IV = cc1e3ba0337b0dc0e796102aae0e9f2c +CIPHERTEXT = 88 +PLAINTEXT = a4 + +COUNT = 17 +KEY = 928356f6faaece12744d7fca2e6fcc380838fbf6d8398746 +IV = 8a9de7ac7f250accc22a0bdfeb3efea4 +CIPHERTEXT = 21 +PLAINTEXT = d4 + +COUNT = 18 +KEY = 90d6c76011d825ae7635ac321b2588d9ad4087ba88d2a092 +IV = 0278d3f8354a44e1a5787c4c50eb27d4 +CIPHERTEXT = bc +PLAINTEXT = b6 + +COUNT = 19 +KEY = 594b03cb28990c212dbbecf27755829fcda7a045f62d0824 +IV = 5b8e40c06c700a4660e727ff7effa8b6 +CIPHERTEXT = 8f +PLAINTEXT = 2d + +COUNT = 20 +KEY = 8237dbfbeb56f05b261a4f2dcab91d220ebf758519b2f409 +IV = 0ba1a3dfbdec9fbdc318d5c0ef9ffc2d +CIPHERTEXT = 7a +PLAINTEXT = 35 + +COUNT = 21 +KEY = 0908f8666eb4edc756e46419df2e4a21b7f3b17985e4de3c +IV = 70fe2b3415975703b94cc4fc9c562a35 +CIPHERTEXT = 9c +PLAINTEXT = d4 + +COUNT = 22 +KEY = 5e05e618d0ab8f72767a9d4236e2f4556b1068c8756027e8 +IV = 209ef95be9ccbe74dce3d9b1f084f9d4 +CIPHERTEXT = b5 +PLAINTEXT = f1 + +COUNT = 23 +KEY = 68bb7dac0ce887c6cef76b762cebc8242589cad489c8bf19 +IV = b88df6341a093c714e99a21cfca898f1 +CIPHERTEXT = b4 +PLAINTEXT = 53 + +COUNT = 24 +KEY = ce5f24a2def468f590e1947ef0d6002c0a40a1faf6ebc04a +IV = 5e16ff08dc3dc8082fc96b2e7f237f53 +CIPHERTEXT = 33 +PLAINTEXT = 94 + +COUNT = 25 +KEY = 55a68dae652780c1225908ac2f4f8577acb36b05b757ebde +IV = b2b89cd2df99855ba6f3caff41bc2b94 +CIPHERTEXT = 34 +PLAINTEXT = 8d + +COUNT = 26 +KEY = 20095c3a3e3009c2ad1543437ef8f09c65d06b318c7efb53 +IV = 8f4c4bef51b775ebc96300343b29108d +CIPHERTEXT = 03 +PLAINTEXT = 98 + +COUNT = 27 +KEY = d5eb1899063912c2c37061e9b005298b9785dfd366f38dcb +IV = 6e6522aacefdd917f255b4e2ea8d7698 +CIPHERTEXT = 00 +PLAINTEXT = a7 + +COUNT = 28 +KEY = 24ddda0bd0121b0c5b984fe4f9ef3f661021f18f2ba48b6c +IV = 98e82e0d49ea16ed87a42e5c4d5706a7 +CIPHERTEXT = ce +PLAINTEXT = 00 + +COUNT = 29 +KEY = ad3f5d6674e39eaaff8c3b6606b4a331b6013214ad608a6c +IV = a4147482ff5b9c57a620c39b86c40100 +CIPHERTEXT = a6 +PLAINTEXT = 1c + +COUNT = 30 +KEY = 2d6f7a71d044364104a407a0702d5f6431ed3d8da642d070 +IV = fb283cc67699fc5587ec0f990b225a1c +CIPHERTEXT = eb +PLAINTEXT = df + +COUNT = 31 +KEY = ca2bd8e4729fb81ce28b5121e767a7d97472be5e9a42d6af +IV = e62f5681974af8bd459f83d33c0006df +CIPHERTEXT = 5d +PLAINTEXT = 26 + +COUNT = 32 +KEY = 4ea973b601a49edbf0d9670e67947507fec9254256163089 +IV = 1252362f80f3d2de8abb9b1ccc54e626 +CIPHERTEXT = c7 +PLAINTEXT = 9c + +COUNT = 33 +KEY = ec84d815625e967f9c91dffe58dab2442e7f83f82d7bda15 +IV = 6c48b8f03f4ec743d0b6a6ba7b6dea9c +CIPHERTEXT = a4 +PLAINTEXT = c0 + +COUNT = 34 +KEY = 2a4bde1c07729442792edfd8f191b622638c9c11386b18d5 +IV = e5bf0026a94b04664df31fe91510c2c0 +CIPHERTEXT = 3d +PLAINTEXT = 9e + +COUNT = 35 +KEY = f33bb7035fd43a24bcf26c39ac9a00933e4115f14bb5704b +IV = c5dcb3e15d0bb6b15dcd89e073de689e +CIPHERTEXT = 66 +PLAINTEXT = b3 + +COUNT = 36 +KEY = 4cb432033241dd640f5a1c2c9c09f2c5370a3cf0ee874ff8 +IV = b3a870153093f256094b2901a5323fb3 +CIPHERTEXT = 40 +PLAINTEXT = a3 + +COUNT = 37 +KEY = 7c98c24ca497680f47f1935798d94f6abe20036ad92f475b +IV = 48ab8f7b04d0bdaf892a3f9a37a808a3 +CIPHERTEXT = 6b +PLAINTEXT = cb + +COUNT = 38 +KEY = 6ade44af8424b57ee387680ef0728c7d9588597c14b11990 +IV = a476fb5968abc3172ba85a16cd9e5ecb +CIPHERTEXT = 71 +PLAINTEXT = 69 + +COUNT = 39 +KEY = 5fcaf5e3fc6dc5b752a4e755060ad9c6a99209b573214df9 +IV = b1238f5bf67855bb3c1a50c967905469 +CIPHERTEXT = c9 +PLAINTEXT = 3a + +COUNT = 40 +KEY = 465a9a6fbf4f0bcf522ef3cfe7558b741d7172a37a0a41c3 +IV = 008a149ae15f52b2b4e37b16092b0c3a +CIPHERTEXT = 78 +PLAINTEXT = 89 + +COUNT = 41 +KEY = 36b578557e1b2cd58865ff59a152985f9e46c999ee2a1b4a +IV = da4b0c964607132b8337bb3a94205a89 +CIPHERTEXT = 1a +PLAINTEXT = c8 + +COUNT = 42 +KEY = cb8fc5e801c5131ae74b3fbb1d0655f32c7e532a2c02b882 +IV = 6f2ec0e2bc54cdacb2389ab3c228a3c8 +CIPHERTEXT = cf +PLAINTEXT = 64 + +COUNT = 43 +KEY = e70f21acbce58e3505b1cefab1720048c159b8a9a2ceb8e6 +IV = e2faf141ac7455bbed27eb838ecc0064 +CIPHERTEXT = 2f +PLAINTEXT = 08 + +COUNT = 44 +KEY = 1f44b5d9eaccf7ad3086b722492eff61d04d226a336554ee +IV = 353779d8f85cff2911149ac391abec08 +CIPHERTEXT = 98 +PLAINTEXT = 04 + +COUNT = 45 +KEY = 5ac1ef5b338f74865f215ac40acbf4e802c6c6f91b5088ea +IV = 6fa7ede643e50b89d28be4932835dc04 +CIPHERTEXT = 2b +PLAINTEXT = aa + +COUNT = 46 +KEY = 4e5a3574dded16648337016ac1641925cf398beb71804c40 +IV = dc165baecbafedcdcdff4d126ad0c4aa +CIPHERTEXT = e2 +PLAINTEXT = 5c + +COUNT = 47 +KEY = 2a90ac725f5d0d7bb9617107adc2b3c242004b482c0ba21c +IV = 3a56706d6ca6aae78d39c0a35d8bee5c +CIPHERTEXT = 1f +PLAINTEXT = d3 + +COUNT = 48 +KEY = 217b7e003b2104e7340e0f25dd291220e9f54b3bc80a47cf +IV = 8d6f7e2270eba1e2abf50073e401e5d3 +CIPHERTEXT = 9c +PLAINTEXT = c5 + +COUNT = 49 +KEY = ecfe8a4f79fab87f7996bc8944fa8539e4c4c4238273870a +IV = 4d98b3ac99d397190d318f184a79c0c5 +CIPHERTEXT = 98 +PLAINTEXT = 28 + +COUNT = 50 +KEY = ea75ca9e457836674fe9d62483ccbdad53473b4455a7de22 +IV = 367f6aadc7363894b783ff67d7d45928 +CIPHERTEXT = 18 +PLAINTEXT = a8 + +COUNT = 51 +KEY = 7d6d9f5c0cbd05c28dd2d9dafcfd09358d43ae60b931088a +IV = c23b0ffe7f31b498de049524ec96d6a8 +CIPHERTEXT = a5 +PLAINTEXT = e7 + +COUNT = 52 +KEY = 63e0431a5717a5e30f59ec7e308e93c9e8017c47a63faf6d +IV = 828b35a4cc739afc6542d2271f0ea7e7 +CIPHERTEXT = 21 +PLAINTEXT = 5e + +COUNT = 53 +KEY = 6b216fb08b37987e412b0ebbc41acc387d394a06eec7af33 +IV = 4e72e2c5f4945ff19538364148f8005e +CIPHERTEXT = 9d +PLAINTEXT = af + +COUNT = 54 +KEY = a52a7c834f325ebb493d3d1bfa2a0cf81a1d504f9d673e9c +IV = 081633a03e30c0c067241a4973a091af +CIPHERTEXT = c5 +PLAINTEXT = 43 + +COUNT = 55 +KEY = f5e0bca6ca5c04099495ff92fbf8d3f6121a1564b5aeb6df +IV = dda8c28901d2df0e0807452b28c98843 +CIPHERTEXT = b2 +PLAINTEXT = ee + +COUNT = 56 +KEY = fbd46fa965f43cc280d3f5acc0e41962e5fc58374eb36f31 +IV = 14460a3e3b1cca94f7e64d53fb1dd9ee +CIPHERTEXT = cb +PLAINTEXT = 6b + +COUNT = 57 +KEY = 2c3d7c6bb3d414d11500e940ec39131615dd3a6da775e45a +IV = 95d31cec2cdd0a74f021625ae9c68b6b +CIPHERTEXT = 13 +PLAINTEXT = d3 + +COUNT = 58 +KEY = 329853ff9b660baa93f7e0f1b10d0e0b4e3367d6b696bf89 +IV = 86f709b15d341d1d5bee5dbb11e35bd3 +CIPHERTEXT = 7b +PLAINTEXT = 5c + +COUNT = 59 +KEY = f478ffebdb52c420c45d5b922cd26d5dd0b85bb34f615bd5 +IV = 57aabb639ddf63569e8b3c65f9f7e45c +CIPHERTEXT = 8a +PLAINTEXT = 3f + +COUNT = 60 +KEY = c2e3eae86b09192f7839a1c135a862143ad8261fc4417aea +IV = bc64fa53197a0f49ea607dac8b20213f +CIPHERTEXT = 0f +PLAINTEXT = 4e + +COUNT = 61 +KEY = 73d02effd10ae3a20196980a9d876bcd9b258f0c4364a8a4 +IV = 79af39cba82f09d9a1fda9138725d24e +CIPHERTEXT = 8d +PLAINTEXT = f5 + +COUNT = 62 +KEY = 1d7d5d9f515e0b4bcc0ef4d9a37f86e98df5a475a7914f51 +IV = cd986cd33ef8ed2416d02b79e4f5e7f5 +CIPHERTEXT = e9 +PLAINTEXT = a7 + +COUNT = 63 +KEY = 8935abd259a6f95ce68a5fd1bf729687665d595f809094f6 +IV = 2a84ab081c0d106eeba8fd2a2701dba7 +CIPHERTEXT = 17 +PLAINTEXT = 4a + +COUNT = 64 +KEY = be934ba4529774c299c7acaa3a2d7f77951115b403930cbc +IV = 7f4df37b855fe9f0f34c4ceb8303984a +CIPHERTEXT = 9e +PLAINTEXT = 0b + +COUNT = 65 +KEY = f697c1fc575482f610fc15c13a4f61b1a2ccaa24a6e8e3b7 +IV = 893bb96b00621ec637ddbf90a57bef0b +CIPHERTEXT = 34 +PLAINTEXT = 36 + +COUNT = 66 +KEY = 44bf4f03ee9dd3242b6c28a055f4e007da76ad0955f35981 +IV = 3b903d616fbb81b678ba072df31bba36 +CIPHERTEXT = d2 +PLAINTEXT = 92 + +COUNT = 67 +KEY = dbfc64f1031116eecc1de993c3475b51de2af892c89f4413 +IV = e771c13396b3bb56045c559b9d6c1d92 +CIPHERTEXT = ca +PLAINTEXT = 60 + +COUNT = 68 +KEY = 312ebfa0cd6d30b13b590fd81228cee76a58cf2d4f9d3e73 +IV = f744e64bd16f95b6b47237bf87027a60 +CIPHERTEXT = 5f +PLAINTEXT = 4a + +COUNT = 69 +KEY = ee63147cab29b9ddba92f66433d29794b075e09b5b37ae39 +IV = 81cbf9bc21fa5973da2d2fb614aa904a +CIPHERTEXT = 6c +PLAINTEXT = 6a + +COUNT = 70 +KEY = daa43359340d6bd5fedcd4d76db5081d7540e75e47d31053 +IV = 444e22b35e679f89c53507c51ce4be6a +CIPHERTEXT = 08 +PLAINTEXT = 58 + +COUNT = 71 +KEY = 17e8403cc3fabcb6a97c43f9526aeeffb094e962f0de050b +IV = 57a0972e3fdfe6e2c5d40e3cb70d1558 +CIPHERTEXT = 63 +PLAINTEXT = 40 + +COUNT = 72 +KEY = d14b6dcaaf4476d8f754eaa5ec75c15776e789d62851864b +IV = 5e28a95cbe1f2fa8c67360b4d88f8340 +CIPHERTEXT = 6e +PLAINTEXT = 4f + +COUNT = 73 +KEY = f067f0430036626f8810ba43f31887ad7662753d87a97f04 +IV = 7f4450e61f6d46fa0085fcebaff8f94f +CIPHERTEXT = b7 +PLAINTEXT = cd + +COUNT = 74 +KEY = 657c55c7210940269fd7e72d300443c03a326f41dc893bc9 +IV = 17c75d6ec31cc46d4c501a7c5b2044cd +CIPHERTEXT = 49 +PLAINTEXT = 8d + +COUNT = 75 +KEY = 509d6901512da70557c8f14c597d27090df544b2470c8744 +IV = c81f1661697964c937c72bf39b85bc8d +CIPHERTEXT = 23 +PLAINTEXT = f8 + +COUNT = 76 +KEY = b9a7dae60b81dac90ade81913585ccfc69ddf4f94267b3bc +IV = 5d1670dd6cf8ebf56428b04b056b34f8 +CIPHERTEXT = cc +PLAINTEXT = ea + +COUNT = 77 +KEY = 38649ea14e127b51fc86ba85c4b2d665b41d2058def5f456 +IV = f6583b14f1371a99ddc0d4a19c9247ea +CIPHERTEXT = 98 +PLAINTEXT = 8e + +COUNT = 78 +KEY = c1453c60737a18cfe7d9759e89ca81b7745483f953ee50d8 +IV = 1b5fcf1b4d7857d2c049a3a18d1ba48e +CIPHERTEXT = 9e +PLAINTEXT = fb + +COUNT = 79 +KEY = 1e275732510b5cdf48c4f54d50e94c3a0875c40e98913c23 +IV = af1d80d3d923cd8d7c2147f7cb7f6cfb +CIPHERTEXT = 10 +PLAINTEXT = 0b + +COUNT = 80 +KEY = a9190e81d3e51737f2a7701f9a82ae83fec0636e5bc30128 +IV = ba638552ca6be2b9f6b5a760c3523d0b +CIPHERTEXT = e8 +PLAINTEXT = 93 + +COUNT = 81 +KEY = 7affebc62d60bba498e543cd7aa31cbc01c91622e911debb +IV = 6a4233d2e021b23fff09754cb2d2df93 +CIPHERTEXT = 93 +PLAINTEXT = 2c + +COUNT = 82 +KEY = 8a715458c3f76c4c7889d7a4bcefa19c8a09b346b4182497 +IV = e06c9469c64cbd208bc0a5645d09fa2c +CIPHERTEXT = e8 +PLAINTEXT = 27 + +COUNT = 83 +KEY = 46e06b48c50846e69454a8c423ddd03f73c221649e6627b0 +IV = ecdd7f609f3271a3f9cb92222a7e0327 +CIPHERTEXT = aa +PLAINTEXT = 33 + +COUNT = 84 +KEY = 5b210a54d40e8e1ae6d1f7533fa9dc659ac0d0bc571e2183 +IV = 72855f971c740c5ae902f1d8c9780633 +CIPHERTEXT = fc +PLAINTEXT = 17 + +COUNT = 85 +KEY = ade09f82def1e97cf14be747bf14885021984b95a34ea494 +IV = 179a101480bd5435bb589b29f4508517 +CIPHERTEXT = 66 +PLAINTEXT = c3 + +COUNT = 86 +KEY = 53c6116763357c78d9c540f4ff4cefa1cf31972191bef057 +IV = 288ea7b3405867f1eea9dcb432f054c3 +CIPHERTEXT = 04 +PLAINTEXT = 19 + +COUNT = 87 +KEY = 1567c351cd82c52f4b57d5c866e2c85b27aeb519de1dc24e +IV = 9292953c99ae27fae89f22384fa33219 +CIPHERTEXT = 57 +PLAINTEXT = 23 + +COUNT = 88 +KEY = dd5af5a6288a756294b02771bb11285c054ebe9bf8d2c96d +IV = dfe7f2b9ddf3e00722e00b8226cf0b23 +CIPHERTEXT = 4d +PLAINTEXT = 0d + +COUNT = 89 +KEY = 9151032961a3a5d34d98fe2e8a70b709dbaf7e3205739160 +IV = d928d95f31619f55dee1c0a9fda1580d +CIPHERTEXT = b1 +PLAINTEXT = 10 + +COUNT = 90 +KEY = 64fe12762128c6042d0d5d5bb6fe82d52c6f9bf86c791570 +IV = 6095a3753c8e35dcf7c0e5ca690a8410 +CIPHERTEXT = d7 +PLAINTEXT = 24 + +COUNT = 91 +KEY = 38af093aa26c76085b2095aba5e5101b3c5db85f3b2e9854 +IV = 762dc8f0131b92ce103223a757578d24 +CIPHERTEXT = 0c +PLAINTEXT = b2 + +COUNT = 92 +KEY = 15319d2961bd65e971fc0a32cd0fec32b06336c2243348e6 +IV = 2adc9f9968eafc298c3e8e9d1f1dd0b2 +CIPHERTEXT = e1 +PLAINTEXT = fe + +COUNT = 93 +KEY = 8d127fd840aff7608c7cbc4079404a8664c090e68ab4ea18 +IV = fd80b672b44fa6b4d4a3a624ae87a2fe +CIPHERTEXT = 89 +PLAINTEXT = 15 + +COUNT = 94 +KEY = 322d664bf2fa9deb93a3f853cf12d8dd61f181768df65d0d +IV = 1fdf4413b652925b053111900742b715 +CIPHERTEXT = 8b +PLAINTEXT = 19 + +COUNT = 95 +KEY = d8e6d8f4974df579b5c713b59289a367fec17f305663fe14 +IV = 2664ebe65d9b7bba9f30fe46db95a319 +CIPHERTEXT = 92 +PLAINTEXT = ca + +COUNT = 96 +KEY = 17cd2e46a27d9d0f9160a01eda70598b1d2d705dc629f3de +IV = 24a7b3ab48f9faece3ec0f6d904a0dca +CIPHERTEXT = 76 +PLAINTEXT = eb + +COUNT = 97 +KEY = 5984b9e936bcfa348fd256222d7ca6174f8a40c6888c0735 +IV = 1eb2f63cf70cff9c52a7309b4ea5f4eb +CIPHERTEXT = 3b +PLAINTEXT = f6 + +COUNT = 98 +KEY = d646eac4df3569541b4fd90fd4d74c37fb98f67149c277c3 +IV = 949d8f2df9abea20b412b6b7c14e70f6 +CIPHERTEXT = 60 +PLAINTEXT = f3 + +COUNT = 99 +KEY = 6a044e72e44c0e0933207117bbd1a392e68e49bf31e3b230 +IV = 286fa8186f06efa51d16bfce7821c5f3 +CIPHERTEXT = 5d +PLAINTEXT = 4b + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT256.rsp new file mode 100644 index 000000000..c26c9c4aa --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MCT256.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:50 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 7c046546c5542ff9c06823cc78efc28e8fd1e8ffd56ffc36192c6a40402c530a +IV = ea42a2fb73b36b8951c187a10205fcc4 +PLAINTEXT = b9 +CIPHERTEXT = 5a + +COUNT = 1 +KEY = 51b5ee2909a4b98eab6ef1bf8d4ae4c36b0484bf1da5240ee37b52cc40533650 +IV = e4d56c40c8cad838fa57388c007f655a +PLAINTEXT = 4d +CIPHERTEXT = 60 + +COUNT = 2 +KEY = fd23cb22106598b7302203d6c5eebf236e4be9719f825054413d96b3df089830 +IV = 054f6dce8227745aa246c47f9f5bae60 +PLAINTEXT = e0 +CIPHERTEXT = 8e + +COUNT = 3 +KEY = a52a61eaf055036c44dd7652690bc28364f6ec12c3e8cadaa5ea8f02e946d2be +IV = 0abd05635c6a9a8ee4d719b1364e4a8e +PLAINTEXT = a0 +CIPHERTEXT = 04 + +COUNT = 4 +KEY = 52680c3d905d07d95cd5fca4900c7983c5d03b5756895906b8009be8a4d2b3ba +IV = a126d745956193dc1dea14ea4d946104 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 5 +KEY = 06d620d4ec8e41d5f451ebb0df68a678c182acd21aa225069012c73fc65481a3 +IV = 045297854c2b7c0028125cd762863219 +PLAINTEXT = fb +CIPHERTEXT = b2 + +COUNT = 6 +KEY = dab77ebc6e04b59946c5eaa0c2e8ff837ebed0575e975cf69a3b466af3288111 +IV = bf3c7c85443579f00a298155357c00b2 +PLAINTEXT = fb +CIPHERTEXT = 0f + +COUNT = 7 +KEY = 483ab50d85a94e71d365419fd272b4ef22240bd93e9b2507c7cdb2402d1aaf1e +IV = 5c9adb8e600c79f15df6f42ade322e0f +PLAINTEXT = 6c +CIPHERTEXT = dc + +COUNT = 8 +KEY = 39079cfd9e6825260a7cd68ac708227f8e5ec8574574fffbcbea8fba5d0f52c2 +IV = ac7ac38e7befdafc0c273dfa7015fddc +PLAINTEXT = 90 +CIPHERTEXT = 21 + +COUNT = 9 +KEY = 7dc1f599eb1e8eda317ef715504863bc23ddc6e5e96d30d08aa242bca5c00ce3 +IV = ad830eb2ac19cf2b4148cd06f8cf5e21 +PLAINTEXT = c3 +CIPHERTEXT = 70 + +COUNT = 10 +KEY = 65e78852585451d6a967489c4c22cda1fb215fcfd7aaa3488204a8954a8bf893 +IV = d8fc992a3ec7939808a6ea29ef4bf470 +PLAINTEXT = 1d +CIPHERTEXT = 39 + +COUNT = 11 +KEY = 54b176c89acb9737c824e1cf1f14a70da8a5ac10b6512f9c72b1390ea8245aaa +IV = 5384f3df61fb8cd4f0b5919be2afa239 +PLAINTEXT = ac +CIPHERTEXT = 65 + +COUNT = 12 +KEY = c44eb9729f3a523e62a263637d8b32e8d6a10d979fc23e31fdec06ce936334cf +IV = 7e04a187299311ad8f5d3fc03b476e65 +PLAINTEXT = e5 +CIPHERTEXT = 85 + +COUNT = 13 +KEY = 053ff0f634ef414373116383d1d0e6f30f4acf454c3212f1d8269a7b627cd44a +IV = d9ebc2d2d3f02cc025ca9cb5f11fe085 +PLAINTEXT = 1b +CIPHERTEXT = ba + +COUNT = 14 +KEY = 0487e44e6be0d6c43b18a01782363d8de92dae411b25e01ab25df046c7e603f0 +IV = e66761045717f2eb6a7b6a3da59ad7ba +PLAINTEXT = 7e +CIPHERTEXT = db + +COUNT = 15 +KEY = 4533563d106cfecd1c7412dcf7bb75afe69155280e1e902e37742260cf8eb32b +IV = 0fbcfb69153b70348529d2260868b0db +PLAINTEXT = 22 +CIPHERTEXT = 19 + +COUNT = 16 +KEY = 1ff5cfbde8db7a37c47baec2247592165781ba554a2e98998266188a4a3a1032 +IV = b110ef7d443008b7b5123aea85b4a319 +PLAINTEXT = b9 +CIPHERTEXT = d7 + +COUNT = 17 +KEY = 650d77187a95bce16356358ad334022c137a53565e9631de16e177432773ffe5 +IV = 44fbe90314b8a94794876fc96d49efd7 +PLAINTEXT = 3a +CIPHERTEXT = c0 + +COUNT = 18 +KEY = e67a12d5b761c27b7ecfe4c7e9a0a36297277e0183a527a6d52499e1e7c30725 +IV = 845d2d57dd331678c3c5eea2c0b0f8c0 +PLAINTEXT = 4e +CIPHERTEXT = bf + +COUNT = 19 +KEY = adfcc230fe1fc927d71d504d2a7075edd51f1584ae3108eb8ec2c8f2187cf69a +IV = 42386b852d942f4d5be65113ffbff1bf +PLAINTEXT = 8f +CIPHERTEXT = 74 + +COUNT = 20 +KEY = 302f548d60aba7e61f8a409375b1b5d81069171d978179a445971f11782b09ee +IV = c576029939b0714fcb55d7e36057ff74 +PLAINTEXT = 35 +CIPHERTEXT = 39 + +COUNT = 21 +KEY = d3c11eb0dbd62a5e58c16397f77feef6b9403b749117fcbd88f7e21f1c42c0d7 +IV = a9292c6906968519cd60fd0e6469c939 +PLAINTEXT = 2e +CIPHERTEXT = 63 + +COUNT = 22 +KEY = ddd10fd67d41f226bf931554d8e9c50e5098e8cc82d057a7522644b28e2850b4 +IV = e9d8d3b813c7ab1adad1a6ad926a9063 +PLAINTEXT = f8 +CIPHERTEXT = fa + +COUNT = 23 +KEY = 58f0cf9a038c544de7bdad69ecab7a52468756677130cb887f259f8b61134d4e +IV = 161fbeabf3e09c2f2d03db39ef3b1dfa +PLAINTEXT = 5c +CIPHERTEXT = 70 + +COUNT = 24 +KEY = 2fa4076477ed43dc31eb2089df0c61e1386a700c1a5937c62fcbfc81a5e1243e +IV = 7eed266b6b69fc4e50ee630ac4f26970 +PLAINTEXT = b3 +CIPHERTEXT = b7 + +COUNT = 25 +KEY = 9d96871ac9a014db90f126f9ce0361769f515b8fd6229c2e77b8b5c39bacd889 +IV = a73b2b83cc7babe8587349423e4dfcb7 +PLAINTEXT = 97 +CIPHERTEXT = 4c + +COUNT = 26 +KEY = c4720c65bb951afd5137e16bc75b6a9ef300013bbf51de036b34bfb016a3cac5 +IV = 6c515ab46973422d1c8c0a738d0f124c +PLAINTEXT = e8 +CIPHERTEXT = 4f + +COUNT = 27 +KEY = 6f202f8b1eb140cc6f647c18b1a67a600effe09c75d0569ef0080c1cc5a86d8a +IV = fdffe1a7ca81889d9b3cb3acd30ba74f +PLAINTEXT = fe +CIPHERTEXT = 1d + +COUNT = 28 +KEY = fcdef642114294f5a92da70117a5ecc8c558329ff9886bd8f98c359659d9c197 +IV = cba7d2038c583d460984398a9c71ac1d +PLAINTEXT = a8 +CIPHERTEXT = 9d + +COUNT = 29 +KEY = aa875edc1fbbc36174bf5bb8a8efcbe363ee4597e123d217ad9f6cf3ef16670a +IV = a6b6770818abb9cf54135965b6cfa69d +PLAINTEXT = 2b +CIPHERTEXT = 12 + +COUNT = 30 +KEY = f1d68c5ca987a7e0a1781c732e3b24ed18bfded6c5d94bf01de024c7b90fe418 +IV = 7b519b4124fa99e7b07f483456198312 +PLAINTEXT = 0e +CIPHERTEXT = f4 + +COUNT = 31 +KEY = 7f7fd33593d516fc4866c039f1cec7457f85cce67b5bccd572846687ae51a3ec +IV = 673a1230be8287256f644240175e47f4 +PLAINTEXT = a8 +CIPHERTEXT = a3 + +COUNT = 32 +KEY = 47b8dedb594ae6827bd4dafeea1d94f5c819a3febf196f897c1edcbe3c84f84f +IV = b79c6f18c442a35c0e9aba3992d55ba3 +PLAINTEXT = b0 +CIPHERTEXT = 5e + +COUNT = 33 +KEY = 220c9457a5af3dd54c23b05b00c92390e46d176ffe477bbce780a2acd9a54411 +IV = 2c74b491415e14359b9e7e12e521bc5e +PLAINTEXT = 65 +CIPHERTEXT = d1 + +COUNT = 34 +KEY = 6afcbb4ccba408e27592531fdb88d4cb1cf8633eaaa3bd6a9f83207c615c08c0 +IV = f895745154e4c6d6780382d0b8f94cd1 +PLAINTEXT = 5b +CIPHERTEXT = 66 + +COUNT = 35 +KEY = 0c4d8bbc7a76bdd8a64ee6c2cb4c942b3c8bd59e95cf06ccbdd574a153e83ba6 +IV = 2073b6a03f6cbba6225654dd32b43366 +PLAINTEXT = e0 +CIPHERTEXT = df + +COUNT = 36 +KEY = e0d8db1efac18a89f017dc11d31393c9c35e675844967ee486745eb29ae01f79 +IV = ffd5b2c6d15978283ba12a13c90824df +PLAINTEXT = e2 +CIPHERTEXT = a2 + +COUNT = 37 +KEY = c4f1b25d5dada5a884d5017c2c0f76ed341970f8beeddf4ca912cd972d53b2db +IV = f74717a0fa7ba1a82f669325b7b3ada2 +PLAINTEXT = 24 +CIPHERTEXT = 30 + +COUNT = 38 +KEY = 2f8fa0c06f1774a0568721468de9c449aeac7fbcb46e7059adc0beb6323e2eeb +IV = 9ab50f440a83af1504d273211f6d9c30 +PLAINTEXT = a4 +CIPHERTEXT = 3e + +COUNT = 39 +KEY = 0c9e43c394a01ef20f9ddb65b183fc9f69adfa030690776676daaad02d8b9fd5 +IV = c70185bfb2fe073fdb1a14661fb5b13e +PLAINTEXT = d6 +CIPHERTEXT = bb + +COUNT = 40 +KEY = 7a209f200bc69b84a272588c510bc9a3d443950f3aae917939fd65b94edb346e +IV = bdee6f0c3c3ee61f4f27cf696350abbb +PLAINTEXT = 3c +CIPHERTEXT = 17 + +COUNT = 41 +KEY = 001e2df67180b2819f4b2d989e7022a63bfa59113f61abadeca3f586f039f579 +IV = efb9cc1e05cf3ad4d55e903fbee2c117 +PLAINTEXT = 05 +CIPHERTEXT = cb + +COUNT = 42 +KEY = 3929d1fd26476d087ec25f1d1e1f83d0eee2e9484b72090e235c3694cf8a5eb2 +IV = d518b0597413a2a3cfffc3123fb3abcb +PLAINTEXT = 76 +CIPHERTEXT = f3 + +COUNT = 43 +KEY = fbc1db61fa4502f56a45ed07a7a22630569838ab9abfad52e603d2903614ff41 +IV = b87ad1e3d1cda45cc55fe404f99ea1f3 +PLAINTEXT = e0 +CIPHERTEXT = a4 + +COUNT = 44 +KEY = 9286e0d916eceed623c2d781c1d0ee343051f5b8488c44000d98f672153862e5 +IV = 66c9cd13d233e952eb9b24e2232c9da4 +PLAINTEXT = 04 +CIPHERTEXT = da + +COUNT = 45 +KEY = ad3ce7874461ee0efbf2ca907dacd8872d0559a8449a4fd15f1db8b2509df33f +IV = 1d54ac100c160bd152854ec045a591da +PLAINTEXT = b3 +CIPHERTEXT = ad + +COUNT = 46 +KEY = dbc8d23b680e99ae6c71808980654868ba43b47f5e075b682b1bf5ed6cefce92 +IV = 9746edd71a9d14b974064d5f3c723dad +PLAINTEXT = ef +CIPHERTEXT = ff + +COUNT = 47 +KEY = df93bd252dad8eeac1a2fbb0a939ce462407aae78f6f63afae9bdc9a9841276d +IV = 9e441e98d16838c785802977f4aee9ff +PLAINTEXT = 2e +CIPHERTEXT = 0c + +COUNT = 48 +KEY = cc96dcee18f796336fdd1df4540a0e5bea2143cdc37cd96bd1894bc0f8669961 +IV = ce26e92a4c13bac47f12975a6027be0c +PLAINTEXT = 1d +CIPHERTEXT = fa + +COUNT = 49 +KEY = 3488066d9f5eceed4cf100e9f369e3bd6537886955da2b0b55356b3a64189a9b +IV = 8f16cba496a6f26084bc20fa9c7e03fa +PLAINTEXT = e6 +CIPHERTEXT = e7 + +COUNT = 50 +KEY = 0036db403d7789c44ef49f4902d41c73ab545fc925f86a1f50bbe98c0f5c937c +IV = ce63d7a070224114058e82b66b4409e7 +PLAINTEXT = ce +CIPHERTEXT = fd + +COUNT = 51 +KEY = 7f2492f70d049eb11e07fe7fbd70a6543e9bc59144d21cf57f7c167593426a81 +IV = 95cf9a58612a76ea2fc7fff99c1ef9fd +PLAINTEXT = 27 +CIPHERTEXT = 10 + +COUNT = 52 +KEY = c18bb9d8f7c6d3db975b940effbd792e2f82adb62838450ae32e53cfd3923291 +IV = 111968276cea59ff9c5245ba40d05810 +PLAINTEXT = 7a +CIPHERTEXT = 1b + +COUNT = 53 +KEY = fc5149a4889fd972e835b9f53cfa6f864f4bc29617bacdbfa4d485b35c27528a +IV = 60c96f203f8288b547fad67c8fb5601b +PLAINTEXT = a8 +CIPHERTEXT = ec + +COUNT = 54 +KEY = 36009ad1a8cf9f27d5700dfe800ff53e781fd74bba32d93cf4e312b499500a66 +IV = 375415ddad88148350379707c57758ec +PLAINTEXT = b8 +CIPHERTEXT = 42 + +COUNT = 55 +KEY = 4614228201a29d6a96487cfa58ef5cdca6aa55a0f7a42218e8e10fbdb97c2424 +IV = deb582eb4d96fb241c021d09202c2e42 +PLAINTEXT = e2 +CIPHERTEXT = f7 + +COUNT = 56 +KEY = 41f5e3efd3ac66bba1f81849415a6e7f25e095addbdbd419611ef831d984d8d3 +IV = 834ac00d2c7ff60189fff78c60f8fcf7 +PLAINTEXT = a3 +CIPHERTEXT = 31 + +COUNT = 57 +KEY = 1ce902a1fb005cb4564d9e98b69c5994f6d9fce6dff745a13101141a65becde2 +IV = d339694b042c91b8501fec2bbc3a1531 +PLAINTEXT = eb +CIPHERTEXT = 54 + +COUNT = 58 +KEY = 9612d2092d7d94e4d465a01b5b728c8e01cff396cc74fd0509f53d888d944bb6 +IV = f7160f701383b8a438f42992e82a8654 +PLAINTEXT = 1a +CIPHERTEXT = cd + +COUNT = 59 +KEY = d89a899ee59c9d8b112c712b3d2f07e160c80b479f8f11c1408d33169772f37b +IV = 6107f8d153fbecc449780e9e1ae6b8cd +PLAINTEXT = 6f +CIPHERTEXT = ce + +COUNT = 60 +KEY = a08521c5df65fcdad8e43cb881c21b3a6e212beb7820c37768509f0196f1f1b5 +IV = 0ee920ace7afd2b628ddac17018302ce +PLAINTEXT = db +CIPHERTEXT = 41 + +COUNT = 61 +KEY = b9533c6da3febe3283b25b944341950fb6bffea486069326c80cc36ec0d5b5f4 +IV = d89ed54ffe265051a05c5c6f56244441 +PLAINTEXT = 35 +CIPHERTEXT = a5 + +COUNT = 62 +KEY = c5a0f8c7260842c4e06d92befd240b55fcb26958d29600fc3016fcedd1fa5d51 +IV = 4a0d97fc549093daf81a3f83112fe8a5 +PLAINTEXT = 5a +CIPHERTEXT = 0a + +COUNT = 63 +KEY = e3495e5de1089843d242dd934436852f9461186f3e5eb03aec0f9b5362ab575b +IV = 68d37137ecc8b0c6dc1967beb3510a0a +PLAINTEXT = 7a +CIPHERTEXT = 19 + +COUNT = 64 +KEY = 685d7eabd40b456ee5c3b4f0d6fc0c51ee83cc4f8f1486f73b7c59552711af42 +IV = 7ae2d420b14a36cdd773c20645baf819 +PLAINTEXT = 7e +CIPHERTEXT = f4 + +COUNT = 65 +KEY = 723f55f8e4f6016e2d2da2b2ceaecfcbf3c1551627950aa4b12fd85ab0c1b8b6 +IV = 1d429959a8818c538a53810f97d017f4 +PLAINTEXT = 9a +CIPHERTEXT = 35 + +COUNT = 66 +KEY = f105d68e9ff5209d4d57c23c2cb2f62a9386d304f618868987f1c2d3c2709583 +IV = 60478612d18d8c2d36de1a8972b12d35 +PLAINTEXT = e1 +CIPHERTEXT = 54 + +COUNT = 67 +KEY = 4477a5fe4766c4e99f810daec4ab7026859909e72c0af68ffe50f4af109f8ed7 +IV = 161fdae3da12700679a1367cd2ef1b54 +PLAINTEXT = 0c +CIPHERTEXT = 07 + +COUNT = 68 +KEY = 869a2cde1518288a3d19130f030700320ec444bd0960fcc44285ad12ed50a4d0 +IV = 8b5d4d5a256a0a4bbcd559bdfdcf2a07 +PLAINTEXT = 14 +CIPHERTEXT = 7c + +COUNT = 69 +KEY = 0a6583582716e234420246686d201275ba5070200959b4293de4d20b5c89dfac +IV = b494349d003948ed7f617f19b1d97b7c +PLAINTEXT = 47 +CIPHERTEXT = 3e + +COUNT = 70 +KEY = dc9615d6bdb8402608c8f488e454af4ded579e65dbed458a597c13bcd48cb592 +IV = 5707ee45d2b4f1a36498c1b788056a3e +PLAINTEXT = 38 +CIPHERTEXT = 02 + +COUNT = 71 +KEY = 90f025cd56a40d1fbcbee6fcdbef1585ea07b99383d0ac493b0069fd37d26090 +IV = 075027f6583de9c3627c7a41e35ed502 +PLAINTEXT = c8 +CIPHERTEXT = c7 + +COUNT = 72 +KEY = 493da35f4e3f743116256b0bba21bbd9e2e1e01b7bbd1411e4a1c1015c6e6057 +IV = 08e65988f86db858dfa1a8fc6bbc00c7 +PLAINTEXT = 5c +CIPHERTEXT = e7 + +COUNT = 73 +KEY = 6202b0d2d9431d332ccef4bba125133d51648c90e02f9435eab58e98af472cb0 +IV = b3856c8b9b9280240e144f99f3294ce7 +PLAINTEXT = e4 +CIPHERTEXT = ee + +COUNT = 74 +KEY = d2eb43f40eb347662b9397da1971d6fb8eb29df209c5fee9a030b421e87eee5e +IV = dfd61162e9ea6adc4a853ab94739c2ee +PLAINTEXT = c6 +CIPHERTEXT = 2c + +COUNT = 75 +KEY = 3330d155fafa69fb2ef38e5b62682e47e734b84ba826a953bf078744b121d572 +IV = 698625b9a1e357ba1f373365595f3b2c +PLAINTEXT = bc +CIPHERTEXT = 91 + +COUNT = 76 +KEY = 416314446726a573bc48c2e010975ea6c7e38ea627f9bd73ec8b53383a48b8e3 +IV = 20d736ed8fdf1420538cd47c8b696d91 +PLAINTEXT = e1 +CIPHERTEXT = 7e + +COUNT = 77 +KEY = 80d121175cb2e7c172a12ffc3eaf6807bc0a813b968b6ab6bf52ec883f8e5a9d +IV = 7be90f9db172d7c553d9bfb005c6e27e +PLAINTEXT = a1 +CIPHERTEXT = e2 + +COUNT = 78 +KEY = 3c7b2bc6c73d869667c7a1bf7f900a7bd44d39af5dbbeb790ef0a063a468177f +IV = 6847b894cb3081cfb1a24ceb9be64de2 +PLAINTEXT = 7c +CIPHERTEXT = 38 + +COUNT = 79 +KEY = bde486fea9891c23feb81a78dd4c17d7f4714bceac73194c8dc5e5349895f147 +IV = 203c7261f1c8f235833545573cfde638 +PLAINTEXT = ac +CIPHERTEXT = 67 + +COUNT = 80 +KEY = dde28dcfee78f099920af0a39294cef4ca78064335890d379a4766d50d57bb20 +IV = 3e094d8d99fa147b178283e195c24a67 +PLAINTEXT = 23 +CIPHERTEXT = 95 + +COUNT = 81 +KEY = 3bdd1134e900bd8a3651b0ea92b1b0a846d8034157598f9ce96146744e310eb5 +IV = 8ca0050262d082ab732620a14366b595 +PLAINTEXT = 5c +CIPHERTEXT = cf + +COUNT = 82 +KEY = 2c5ae3b197cee9fe2cf7761b9d2645b231df42222e29f2acc90e56b02d7e707a +IV = 7707416379707d30206f10c4634f7ecf +PLAINTEXT = 1a +CIPHERTEXT = 79 + +COUNT = 83 +KEY = 919be1beed4bdfd2da7321abf075e22b97fb229328f063b32754254dbee39f03 +IV = a62460b106d9911fee5a73fd939def79 +PLAINTEXT = 99 +CIPHERTEXT = a9 + +COUNT = 84 +KEY = 3f3d753eb2d28f13045ac8a14fc5123f39966b9ea11ffdbbc57df49209d14faa +IV = ae6d490d89ef9e08e229d1dfb732d0a9 +PLAINTEXT = 14 +CIPHERTEXT = 63 + +COUNT = 85 +KEY = 2dbeb4d3deacf5a7190ef40bc49b65e23f2b88b89db4ff1bcc6d2a0be4e6f9c9 +IV = 06bde3263cab02a00910de99ed37b663 +PLAINTEXT = dd +CIPHERTEXT = 89 + +COUNT = 86 +KEY = cdb2cb51a3f8674e2e43a2c9efcb586362db6c62c533f3447ee8100617af8440 +IV = 5df0e4da58870c5fb2853a0df3497d89 +PLAINTEXT = 81 +CIPHERTEXT = 94 + +COUNT = 87 +KEY = 62e9149558d2682534ff716d8d05e4d6095716499666407939ab350eb31f5dd4 +IV = 6b8c7a2b5355b33d47432508a4b0d994 +PLAINTEXT = b5 +CIPHERTEXT = 25 + +COUNT = 88 +KEY = 0f6f7903e9d09c8109b36ee52803992d530df304763769fafd2f5a16b4b905f1 +IV = 5a5ae54de0512983c4846f1807a65825 +PLAINTEXT = fb +CIPHERTEXT = 93 + +COUNT = 89 +KEY = d436019110845b40926ab1f8a40feaa49d9780c362dc6c540eb965389581e562 +IV = ce9a73c714eb05aef3963f2e2138e093 +PLAINTEXT = 89 +CIPHERTEXT = 16 + +COUNT = 90 +KEY = cfff3677f082493ab49fbb5b14f0339b2849ae090c54e371e57a2fe093fa8774 +IV = b5de2eca6e888f25ebc34ad8067b6216 +PLAINTEXT = 3f +CIPHERTEXT = 6e + +COUNT = 91 +KEY = 5527657d98658784e6d1160379350493562e3fa6ac10cf7f2ac23737f4b7261a +IV = 7e6791afa0442c0ecfb818d7674da16e +PLAINTEXT = 08 +CIPHERTEXT = d8 + +COUNT = 92 +KEY = 17449ecaa042adff2b241118311d21b1c8c51bd060af90f3c8ec9419ae59c9c2 +IV = 9eeb2476ccbf5f8ce22ea32e5aeeefd8 +PLAINTEXT = 22 +CIPHERTEXT = 25 + +COUNT = 93 +KEY = 60071b6cdb637cb3ec25915a63da20edf1e07bdec2cf46a0ac54376eac81a6e7 +IV = 3925600ea260d65364b8a37702d86f25 +PLAINTEXT = 5c +CIPHERTEXT = 7c + +COUNT = 94 +KEY = 031a57f6485a28772d0bf16d4240bb61694cbd02a13832390457f4d1537dbb9b +IV = 98acc6dc63f77499a803c3bffffc1d7c +PLAINTEXT = 8c +CIPHERTEXT = ce + +COUNT = 95 +KEY = 874e718888b775ed4ac1d485a6007253e1c000471a0ef5f1c7b63474b76e5a55 +IV = 888cbd45bb36c7c8c3e1c0a5e413e1ce +PLAINTEXT = 32 +CIPHERTEXT = 38 + +COUNT = 96 +KEY = c61ed5abee0c445ea24c77dfa3c434e0915fe9c75bacd2b17c2106ed6bbcdb6d +IV = 709fe98041a22740bb973299dcd28138 +PLAINTEXT = b3 +CIPHERTEXT = dd + +COUNT = 97 +KEY = 89ce935b83dd31cff638929f4e3b293039583c792ddf40c895e7a0e0751b54b0 +IV = a807d5be76739279e9c6a60d1ea78fdd +PLAINTEXT = d0 +CIPHERTEXT = 5e + +COUNT = 98 +KEY = e73b4246ac3c8456844dbabb4c8fec7cee493d60dd1066503bcb7dca32fe6cee +IV = d7110119f0cf2698ae2cdd2a47e5385e +PLAINTEXT = 4c +CIPHERTEXT = ab + +COUNT = 99 +KEY = 964932e9e5e2f23452e7f0c0a8a4a46c82b6eac6488b21c31a881e93b5edf045 +IV = 6cffd7a6959b47932143635987139cab +PLAINTEXT = 10 +CIPHERTEXT = 46 + + +[DECRYPT] + +COUNT = 0 +KEY = 39b7297f2d0504dc87e1f4c5e2ca8a567c580b8de723c55102e0a3b328cd0073 +IV = ffe3c1b78e92e01779f29a9349f76bc8 +CIPHERTEXT = aa +PLAINTEXT = 2a + +COUNT = 1 +KEY = 8d1e70228d5ed315cf6c235d621e51c43cf7761881b847158d8095dbbad79d59 +IV = 40af7d95669b82448f603668921a9d2a +CIPHERTEXT = 92 +PLAINTEXT = da + +COUNT = 2 +KEY = de52c5689b4111da6fb771d140efcaab2c6a887b7b79b0607506f9144ffa2583 +IV = 109dfe63fac1f775f8866ccff52db8da +CIPHERTEXT = 6f +PLAINTEXT = 96 + +COUNT = 3 +KEY = 014773333a47bd2e062e6b37a353778c5230ded3c4cb36fecc69ce19a048a815 +IV = 7e5a56a8bfb2869eb96f370defb28d96 +CIPHERTEXT = 27 +PLAINTEXT = 47 + +COUNT = 4 +KEY = 72e6c13a6f82b3a37886a5be3dc1d7229c528cde620878f2ce539c23355e9552 +IV = ce62520da6c34e0c023a523a95163d47 +CIPHERTEXT = ae +PLAINTEXT = ce + +COUNT = 5 +KEY = b5bdd86b708296b2aecdfd31e6f9689187ab4a505a2a35b5c9679e069f74999c +IV = 1bf9c68e38224d4707340225aa2a0cce +CIPHERTEXT = b3 +PLAINTEXT = 40 + +COUNT = 6 +KEY = 53ca080822b3c63bb875a8ff7a06ba8454adb85b738d07ebf17cfbd3957f65dc +IV = d306f20b29a7325e381b65d50a0bfc40 +CIPHERTEXT = 15 +PLAINTEXT = 49 + +COUNT = 7 +KEY = 7ea4c530d2eadea3a10025d3ed91d34a73d58bd9faed047b3068ec2d10745495 +IV = 2778338289600390c11417fe850b3149 +CIPHERTEXT = ce +PLAINTEXT = bf + +COUNT = 8 +KEY = 012ac36a7fdfe5462ee97b64f0f8687dc1499a95e5062ac3b27e0d50d3e5302a +IV = b29c114c1feb2eb88216e17dc39164bf +CIPHERTEXT = 37 +PLAINTEXT = 65 + +COUNT = 9 +KEY = aff4ff24c35e7e8e20e78e2c13c48e2f1080af43b12c8799875da14d9d24ca4f +IV = d1c935d6542aad5a3523ac1d4ec1fa65 +CIPHERTEXT = 52 +PLAINTEXT = 5b + +COUNT = 10 +KEY = 30324acbf27fe7ed14f4352d15ee515c197ba06a1e5118c42c30e1570022ce14 +IV = 09fb0f29af7d9f5dab6d401a9d06045b +CIPHERTEXT = 73 +PLAINTEXT = 82 + +COUNT = 11 +KEY = 59972ebb3fdf0bb93e45426251161a27f44070934ef545fe793ab41fb9004f96 +IV = ed3bd0f950a45d3a550a5548b9228182 +CIPHERTEXT = 7b +PLAINTEXT = 71 + +COUNT = 12 +KEY = f96304b0bb4658e358f14d20dc1cd24fc05ca5f9f891acac0d734797c7f7fee7 +IV = 341cd56ab664e9527449f3887ef7b171 +CIPHERTEXT = 68 +PLAINTEXT = 6d + +COUNT = 13 +KEY = 9a9cb8f1ac03ba0e1a8be596a74e2ee322dbe99dd33474cb9f71ea4e50ba278a +IV = e2874c642ba5d8679202add9974dd96d +CIPHERTEXT = ac +PLAINTEXT = 8c + +COUNT = 14 +KEY = addb7ee45f29be772ebddb49a667382a9c0bd273d76ee030b0eabc53b3890f06 +IV = bed03bee045a94fb2f9b561de333288c +CIPHERTEXT = c9 +PLAINTEXT = d1 + +COUNT = 15 +KEY = 6ddbdd8f785a36cf0114eeb156e7aed2678d6426302b01b8772d026eefbbe6d7 +IV = fb86b655e745e188c7c7be3d5c32e9d1 +CIPHERTEXT = f8 +PLAINTEXT = d4 + +COUNT = 16 +KEY = b52b248a8b1e74166cdd9cfdce7c6e3079eebe05905dcfb20d2d228b9aa41a03 +IV = 1e63da23a076ce0a7a0020e5751ffcd4 +CIPHERTEXT = e2 +PLAINTEXT = fe + +COUNT = 17 +KEY = 71109b6828795bb356984b8e8a3f1038cb99e466c29c16f157ae9b43d404e7fd +IV = b2775a6352c1d9435a83b9c84ea0fdfe +CIPHERTEXT = 08 +PLAINTEXT = d1 + +COUNT = 18 +KEY = 891f3babcd8726fa7073a72a6a32b1166971ee2c8c512cf43d83bc6572756b2c +IV = a2e80a4a4ecd3a056a2d2726a6718cd1 +CIPHERTEXT = 2e +PLAINTEXT = cb + +COUNT = 19 +KEY = 1865cfe7638c67e6410e4246101efbe9d197643362626932ac9527a8eecfabe7 +IV = b8e68a1fee3345c691169bcd9cbac0cb +CIPHERTEXT = ff +PLAINTEXT = 0f + +COUNT = 20 +KEY = d4116eed305dc76576f4e1cf3300d7c378e068e6e7aa6d815ad8761ccc1e67e8 +IV = a9770cd585c804b3f64d51b422d1cc0f +CIPHERTEXT = 2a +PLAINTEXT = 28 + +COUNT = 21 +KEY = 3a06911d40632d172fe8639828561c8f094e2f0bcccadfc0c4121845b928cbc0 +IV = 71ae47ed2b60b2419eca6e597536ac28 +CIPHERTEXT = 4c +PLAINTEXT = c3 + +COUNT = 22 +KEY = 2ef150738325cd1cbaff3f9e14607b5f74ef16ee01f538205e9e1759f758f403 +IV = 7da139e5cd3fe7e09a8c0f1c4e703fc3 +CIPHERTEXT = d0 +PLAINTEXT = 8e + +COUNT = 23 +KEY = 7e37b7e83f1c67bdfc06785151814a6e60c0c228e24f197124453b787e4a268d +IV = 142fd4c6e3ba21517adb2c218912d28e +CIPHERTEXT = 31 +PLAINTEXT = b8 + +COUNT = 24 +KEY = 1d1f3c0b8a5a27d56fa0d4b94371bca53f24f015219d8abc0ce32b0505affa35 +IV = 5fe4323dc3d293cd28a6107d7be5dcb8 +CIPHERTEXT = cb +PLAINTEXT = 04 + +COUNT = 25 +KEY = 01aff7b52c31d671473d70303ac3bcabba6d3c5ba95a7a3be0929ce41753f731 +IV = 8549cc4e88c7f087ec71b7e112fc0d04 +CIPHERTEXT = 0e +PLAINTEXT = 1d + +COUNT = 26 +KEY = ea220f45e28ed5fd223a473ba1a5533c236cb7087766c82fe2879d68caf7f92c +IV = 99018b53de3cb2140215018cdda40e1d +CIPHERTEXT = 97 +PLAINTEXT = e5 + +COUNT = 27 +KEY = ee925b1300c6b8118427c3c35b21dd664e8aae01f88ab98ac19402195685cdc9 +IV = 6de619098fec71a523139f719c7234e5 +CIPHERTEXT = 5a +PLAINTEXT = 5d + +COUNT = 28 +KEY = 99c69c04ad99a2932638d00449cfb42fa2a677ddaf2c6d8373837b6da3e67894 +IV = ec2cd9dc57a6d409b2177974f563b55d +CIPHERTEXT = 49 +PLAINTEXT = e1 + +COUNT = 29 +KEY = fd9e27d8f757f0ee11885fb0c6f5038acbcd48bce2461b3429734a637a854875 +IV = 696b3f614d6a76b75af0310ed96330e1 +CIPHERTEXT = a5 +PLAINTEXT = b8 + +COUNT = 30 +KEY = 85c65f0c19b1bfe8f3cb7e627485d5edc121bd47e9405610f787a65400a637cd +IV = 0aecf5fb0b064d24def4ec377a237fb8 +CIPHERTEXT = 67 +PLAINTEXT = 75 + +COUNT = 31 +KEY = 850f24abe2e1950c045464dfda9c63057c436a903113ae4273961f07e2011ab8 +IV = bd62d7d7d853f8528411b953e2a72d75 +CIPHERTEXT = e8 +PLAINTEXT = 50 + +COUNT = 32 +KEY = 13198a053eabd7aa8b7815e2bbbf6875f889cbd2f2fe7cb6a4a64ad03890e9e8 +IV = 84caa142c3edd2f4d73055d7da91f350 +CIPHERTEXT = 70 +PLAINTEXT = 6a + +COUNT = 33 +KEY = fd7e4665a9fe67e11320b041511b6217ec81b2afaacfbf1d72501e792d7bf782 +IV = 1408797d5831c3abd6f654a915eb1e6a +CIPHERTEXT = 62 +PLAINTEXT = 0e + +COUNT = 34 +KEY = 7fd7f22a149226d3e8e0d703a7da98aee26722c415f5e0059c89cc31f8d96a8c +IV = 0ee6906bbf3a5f18eed9d248d5a29d0e +CIPHERTEXT = b9 +PLAINTEXT = a8 + +COUNT = 35 +KEY = 0010945c67c65f189953f4d29177e6608e0bd9724ce46619c4f2407b5b021824 +IV = 6c6cfbb65911861c587b8c4aa3db72a8 +CIPHERTEXT = ce +PLAINTEXT = 5d + +COUNT = 36 +KEY = 82ffd43107d1587c184f9574cfdc38a09961c671a684ff1a4345baaa52731879 +IV = 176a1f03ea60990387b7fad10971005d +CIPHERTEXT = c0 +PLAINTEXT = 3d + +COUNT = 37 +KEY = 54881bebd2a8f1b8416b31ee6585a8250d3aee9db61bace4a2e44cb98c228a44 +IV = 945b28ec109f53fee1a1f613de51923d +CIPHERTEXT = 85 +PLAINTEXT = 00 + +COUNT = 38 +KEY = c0d1756cb4d84822125a53c044c5fd5e2bd4ed81e8c8aa73d49d6ee03daebb44 +IV = 26ee031c5ed3069776792259b18c3100 +CIPHERTEXT = 7b +PLAINTEXT = 25 + +COUNT = 39 +KEY = 06bb2a01ef11b30934806d1c3e583df6dd01cad7102abc10f2875caccbff0d61 +IV = f6d52756f8e21663261a324cf651b625 +CIPHERTEXT = a8 +PLAINTEXT = fb + +COUNT = 40 +KEY = 9f14402b3bc85e0460db3693c9e98c3a11e4eb29b728d9c63dffd95bbffc6c9a +IV = cce521fea70265d6cf7885f7740361fb +CIPHERTEXT = cc +PLAINTEXT = 2d + +COUNT = 41 +KEY = d03211e0cb6af79cbbbe747e9ba2b5bab40643d0a17aa52209b4aca3932b74b7 +IV = a5e2a8f916527ce4344b75f82cd7182d +CIPHERTEXT = 80 +PLAINTEXT = 78 + +COUNT = 42 +KEY = 9558261f750483768383a77d374941f751446283601f6e6ef7e81e06ad086fcf +IV = e5422153c165cb4cfe5cb2a53e231b78 +CIPHERTEXT = 4d +PLAINTEXT = 5f + +COUNT = 43 +KEY = 567e3728d87da0509d314cdc066901265b631aba59f37c13948be9a3c1b41e90 +IV = 0a27783939ec127d6363f7a56cbc715f +CIPHERTEXT = d1 +PLAINTEXT = 1b + +COUNT = 44 +KEY = f8c2082be6cf2e561f32c1e031bc6cb767f42c3deccf98161ba861d22429848b +IV = 3c973687b53ce4058f238871e59d9a1b +CIPHERTEXT = 91 +PLAINTEXT = b2 + +COUNT = 45 +KEY = 12fb00cec491e264327e37af7ae7fe8f821a840c328f124d5bef2015cc331639 +IV = e5eea831de408a5b404741c7e81a92b2 +CIPHERTEXT = 38 +PLAINTEXT = 9d + +COUNT = 46 +KEY = d2028615b35ab2cd501cafccef4fd3247d9ebca0fa8ccc4cf25514cea6e14ba4 +IV = ff8438acc803de01a9ba34db6ad25d9d +CIPHERTEXT = ab +PLAINTEXT = 34 + +COUNT = 47 +KEY = 56d8338154bbea017137650ea1b4e3cf9d6656ce30ad6b2528fcf18b4c24e190 +IV = e0f8ea6eca21a769daa9e545eac5aa34 +CIPHERTEXT = eb +PLAINTEXT = a8 + +COUNT = 48 +KEY = 435e90aafbde6a6b71e3aeb0943e7945cb9c1e5a0212f646b9d2adbbc057f138 +IV = 56fa489432bf9d63912e5c308c7310a8 +CIPHERTEXT = 8a +PLAINTEXT = ff + +COUNT = 49 +KEY = 704d67606a05501f6ce41fb0ab5a5d075c198d7083d9cd8edc74e8c157a101c7 +IV = 9785932a81cb3bc865a6457a97f6f0ff +CIPHERTEXT = 42 +PLAINTEXT = 3d + +COUNT = 50 +KEY = 88a9a7ea1b3c083145b1ca1b9cd353aa3f0a81e5df9e4f0ff87a8f45cb7cbffa +IV = 63130c955c478281240e67849cddbe3d +CIPHERTEXT = ad +PLAINTEXT = 79 + +COUNT = 51 +KEY = 3d8625b3406cc5fb25acecb950fabe5d3cdf1caee6cb95863f59f6ce058a7583 +IV = 03d59d4b3955da89c723798bcef6ca79 +CIPHERTEXT = f7 +PLAINTEXT = 0c + +COUNT = 52 +KEY = 6171e95eb66e64986087e0bb6944042e86ee770155c76b3809cbebbe268e308f +IV = ba316bafb30cfebe36921d702304450c +CIPHERTEXT = 73 +PLAINTEXT = 8f + +COUNT = 53 +KEY = 17d24afc39ca16c5b65e9ddebbea71aa4cc133e1daecb8cf3afa5867bdd81000 +IV = ca2f44e08f2bd3f73331b3d99b56208f +CIPHERTEXT = 84 +PLAINTEXT = 63 + +COUNT = 54 +KEY = 3d9c0cc7f9af00d14b0bac307ccab34e3ab9ee274007603072bc014766384f63 +IV = 7678ddc69aebd8ff48465920dbe05f63 +CIPHERTEXT = e4 +PLAINTEXT = 69 + +COUNT = 55 +KEY = 4ea600c9a2eba08c99a2b7d085f4676b80dc3d55c4675503a62f65701607740a +IV = ba65d37284603533d4936437703f3b69 +CIPHERTEXT = 25 +PLAINTEXT = 2c + +COUNT = 56 +KEY = f4c66d916d2c2c6d09d90b7b3f18d344f8d7ba90540b372874cdfede69c76926 +IV = 780b87c5906c622bd2e29bae7fc01d2c +CIPHERTEXT = 2f +PLAINTEXT = 70 + +COUNT = 57 +KEY = ad3515893b82d961ef0966adbc6bd62949551111ac7a3e0407eaabc85ca1c856 +IV = b182ab81f871092c732755163566a170 +CIPHERTEXT = 6d +PLAINTEXT = 97 + +COUNT = 58 +KEY = bcf175516aefede8c8a34cb8fd8bcd226e16fc3b18864eaa3e1962971c6223c1 +IV = 2743ed2ab4fc70ae39f3c95f40c3eb97 +CIPHERTEXT = 0b +PLAINTEXT = ca + +COUNT = 59 +KEY = 14cb7c9f504c0844082cc026c927fe81301809ce8b95778ea49b925919b1cb0b +IV = 5e0ef5f5931339249a82f0ce05d3e8ca +CIPHERTEXT = a3 +PLAINTEXT = d2 + +COUNT = 60 +KEY = dd4e12248ce5f8063ad3a378960edaed42e6cf0b93cb6c9ac0850df1ccc3b1d9 +IV = 72fec6c5185e1b14641e9fa8d5727ad2 +CIPHERTEXT = 6c +PLAINTEXT = 9b + +COUNT = 61 +KEY = d3f9f8d00e40d0d2b19cb4b8c0d8e32ddd9ee595386bf6cfcf3b776fa61b3942 +IV = 9f782a9eaba09a550fbe7a9e6ad8889b +CIPHERTEXT = c0 +PLAINTEXT = 59 + +COUNT = 62 +KEY = 7e61bfee9d241d1ef38e2460e3f3c696c6179792c5f8fa9746f8bf2c8a69381b +IV = 1b897207fd930c5889c3c8432c720159 +CIPHERTEXT = bb +PLAINTEXT = 26 + +COUNT = 63 +KEY = 7a8372458afbd840773acedaa30f3e2c7d1b9d092780a2057de3509d4d2dc23d +IV = bb0c0a9be27858923b1befb1c744fa26 +CIPHERTEXT = ba +PLAINTEXT = 89 + +COUNT = 64 +KEY = cd63690614c66d27e0004c5f606243196029aac2c3455680224bd121e64387b4 +IV = 1d3237cbe4c5f4855fa881bcab6e4589 +CIPHERTEXT = 35 +PLAINTEXT = c4 + +COUNT = 65 +KEY = 103ef88453f3e98e8ad1ad62726ae77e55155768f28721b930022c22293cc070 +IV = 353cfdaa31c277391249fd03cf7f47c4 +CIPHERTEXT = 67 +PLAINTEXT = 70 + +COUNT = 66 +KEY = f7156577babee04af9e4ca9fd12d518ec6b4d41c655862163c003ff94a16f800 +IV = 93a1837497df43af0c0213db632a3870 +CIPHERTEXT = f0 +PLAINTEXT = 60 + +COUNT = 67 +KEY = e57dd319e3c812a36d39e455709331b50782a970cb3d475b897e1f3b958cc960 +IV = c1367d6cae65254db57e20c2df9a3160 +CIPHERTEXT = 3b +PLAINTEXT = 20 + +COUNT = 68 +KEY = 15d8598eac9d2c74c36b2d43bf946a8f86567886188a5cb99e3013c4c2842840 +IV = 81d4d1f6d3b71be2174e0cff5708e120 +CIPHERTEXT = 3a +PLAINTEXT = be + +COUNT = 69 +KEY = 9589cd475374ff1c72114c91de361b1bc98800fc82693165f52580644e0943fe +IV = 4fde787a9ae36ddc6b1593a08c8d6bbe +CIPHERTEXT = 94 +PLAINTEXT = 72 + +COUNT = 70 +KEY = aafc265c6c962fd7b5020bde16a6f014336de36312b574307aebecda53f1468c +IV = fae5e39f90dc45558fce6cbe1df80572 +CIPHERTEXT = 0f +PLAINTEXT = 71 + +COUNT = 71 +KEY = ba55d34f5338f4382f7d0f57e2cb50764cb93c2a5e9e12ba039789f272d706fd +IV = 7fd4df494c2b668a797c652821264071 +CIPHERTEXT = 62 +PLAINTEXT = 27 + +COUNT = 72 +KEY = 10a68bd1f402dee9620686fa13660157df9e7fd4e437e9a069ddda7fc9cc2dda +IV = 932743febaa9fb1a6a4a538dbb1b2b27 +CIPHERTEXT = 21 +PLAINTEXT = 05 + +COUNT = 73 +KEY = 29d3c2369cf160157b0a307da1dcb2599407cee147f15c76fa6348f19d86d5df +IV = 4b99b135a3c6b5d693be928e544af805 +CIPHERTEXT = 0e +PLAINTEXT = d2 + +COUNT = 74 +KEY = 67cebc2b99b754236aaf87050fad3ff5467da3996124079932bc7c4c3a93bf0d +IV = d27a6d7826d55befc8df34bda7156ad2 +CIPHERTEXT = ac +PLAINTEXT = 12 + +COUNT = 75 +KEY = 6830df02388cd13210afd07550c81aed72fba12fade8b2284c4581f64aa2271f +IV = 348602b6ccccb5b17ef9fdba70319812 +CIPHERTEXT = 18 +PLAINTEXT = 58 + +COUNT = 76 +KEY = 7c632fd0c9d618e86c6847cb639ec9b48d128dc1ba05af9c6eb9be45c356df47 +IV = ffe92cee17ed1db422fc3fb389f4f858 +CIPHERTEXT = 59 +PLAINTEXT = 5a + +COUNT = 77 +KEY = 5ff20a4f88d9ee1e6ac550929c67fd03bf2ebace24cb51c864a1c5ccd122fe1d +IV = 323c370f9ecefe540a187b891274215a +CIPHERTEXT = b7 +PLAINTEXT = 6f + +COUNT = 78 +KEY = cb03689a79b72b6b5c2e508f59e1113ac2f979e9c1b4de03c705566048f25572 +IV = 7dd7c327e57f8fcba3a493ac99d0ab6f +CIPHERTEXT = 39 +PLAINTEXT = fe + +COUNT = 79 +KEY = 761fbfa06ec0b8768c6431366f68c8d6c7a7c3c6df0d8e332d3f86a7fe7f368c +IV = 055eba2f1eb95030ea3ad0c7b68d63fe +CIPHERTEXT = ec +PLAINTEXT = c9 + +COUNT = 80 +KEY = 8c3e9769de27053f241182593b7ec0dedc328c5b8329c14cca2afabc99e6da45 +IV = 1b954f9d5c244f7fe7157c1b6799ecc9 +CIPHERTEXT = 08 +PLAINTEXT = 60 + +COUNT = 81 +KEY = be7a02450191723f3c1c9b2bebab8899a30e1e7875af7eb833e974f717d95325 +IV = 7f3c9223f686bff4f9c38e4b8e3f8960 +CIPHERTEXT = 47 +PLAINTEXT = ca + +COUNT = 82 +KEY = 42073f60d0fe0cc5c86ddf6dd1cc5a132736207fcac420f66881b90eed7087ef +IV = 84383e07bf6b5e4e5b68cdf9faa9d4ca +CIPHERTEXT = 8a +PLAINTEXT = 6d + +COUNT = 83 +KEY = 3ff40daabb336f5e5d5ffbe43ae6c7fd7c90e0ca9d98084fffda5f9b8cb49a82 +IV = 5ba6c0b5575c28b9975be69561c41d6d +CIPHERTEXT = ee +PLAINTEXT = ef + +COUNT = 84 +KEY = c66490ab15929e732f0d9c45504e154370458c8c67b68fd0b54be7f88c73a06d +IV = 0cd56c46fa2e879f4a91b86300c73aef +CIPHERTEXT = be +PLAINTEXT = f4 + +COUNT = 85 +KEY = b012604a3a7de92d31fc83491a875afc2f33288af967eec5a4bdba0de1e83199 +IV = 5f76a4069ed1611511f65df56d9b91f4 +CIPHERTEXT = bf +PLAINTEXT = 3e + +COUNT = 86 +KEY = 4c8fe722fd6fc11e91a189fe8891ae6468676fe3c2e657ca2a3871c0baf09ca7 +IV = 475447693b81b90f8e85cbcd5b18ad3e +CIPHERTEXT = 98 +PLAINTEXT = 29 + +COUNT = 87 +KEY = 4adc6f095e65c7484d103e0e5dacd6cc5c7137039e49c884af52232dc8fcd48e +IV = 341658e05caf9f4e856a52ed720c4829 +CIPHERTEXT = a8 +PLAINTEXT = f3 + +COUNT = 88 +KEY = 23aa483e314104cb179e191592668f34cabf2948564db9b17bd693015bf4287d +IV = 96ce1e4bc8047135d484b02c9308fcf3 +CIPHERTEXT = f8 +PLAINTEXT = 49 + +COUNT = 89 +KEY = c93a9a0a95490e63712b358cb487b7cb573b488bb09799cc1afa7c97e2172534 +IV = 9d8461c3e6da207d612cef96b9e30d49 +CIPHERTEXT = ff +PLAINTEXT = 75 + +COUNT = 90 +KEY = f641e91a431c339a7a23abed143e16f2618c73fc5b07eb2e54b802f3b8ac8f41 +IV = 36b73b77eb9072e24e427e645abbaa75 +CIPHERTEXT = 39 +PLAINTEXT = 58 + +COUNT = 91 +KEY = 87f85d33a60b735936a6214d673922027f5167d13f3a6824488c7d8404e10219 +IV = 1edd142d643d830a1c347f77bc4d8d58 +CIPHERTEXT = f0 +PLAINTEXT = 7d + +COUNT = 92 +KEY = 9049d5e309810bb0e55f1d38a2a78327aa67a6c4ede6e1ece68aa33e95d56264 +IV = d536c115d2dc89c8ae06deba9134607d +CIPHERTEXT = 25 +PLAINTEXT = 06 + +COUNT = 93 +KEY = 6f03239128c78b489670e8ed4387983fb41aad7b1536b35894fd043c260a0862 +IV = 1e7d0bbff8d052b47277a702b3df6a06 +CIPHERTEXT = 18 +PLAINTEXT = ae + +COUNT = 94 +KEY = eb5dfc009a7a11319333d135f6fa39bf508a8ce38ce19ba05cdaa8c1245d61cc +IV = e490219899d728f8c827acfd025769ae +CIPHERTEXT = 80 +PLAINTEXT = 5b + +COUNT = 95 +KEY = c326ebdef3fb5692547cc04e48e98b8af5d1cdc98673344b1db031d5b2ac6497 +IV = a55b412a0a92afeb416a991496f1055b +CIPHERTEXT = 35 +PLAINTEXT = 8a + +COUNT = 96 +KEY = 395e7c6d194b778e6eb269a950a7c433a721f51ff186930a3e022d0aa6d0c81d +IV = 52f038d677f5a74123b21cdf147cac8a +CIPHERTEXT = b9 +PLAINTEXT = ad + +COUNT = 97 +KEY = 1d1db0c59cf326404a00d72a86cfe4dd1baa32e4a11131548f3cefeb37f555b0 +IV = bc8bc7fb5097a25eb13ec2e191259dad +CIPHERTEXT = ee +PLAINTEXT = a0 + +COUNT = 98 +KEY = 751ee7fa2a48904b69ddb95998339e8ce3f5300429d92a4ce4cfaa7b327f2310 +IV = f85f02e088c81b186bf34590058a76a0 +CIPHERTEXT = 51 +PLAINTEXT = 4c + +COUNT = 99 +KEY = 68e8e8dd755fb651231513c79405e71419c31d1b6d69eac2ce31cef53cd9705c +IV = fa362d1f44b0c08e2afe648e0ea6534c +CIPHERTEXT = 98 +PLAINTEXT = a4 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT128.rsp new file mode 100644 index 000000000..03a220395 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT128.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:46 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = c57d699d89df7cfbef71c080a6b10ac3 +IV = fcb2bc4c006b87483978796a2ae2c42e +PLAINTEXT = 61 +CIPHERTEXT = 24 + +COUNT = 1 +KEY = 0d8f3dc3edee60db658bb97faf46fba3 +IV = e481fdc42e606b96a383c0a1a5520ebb +PLAINTEXT = aacd +CIPHERTEXT = 5066 + +COUNT = 2 +KEY = c8fe9bf77b930f46d2078b8c0e657cd4 +IV = f475c64991b20eaee183a22629e21e22 +PLAINTEXT = c90635 +CIPHERTEXT = d27691 + +COUNT = 3 +KEY = 280cf81af5cc7e7363579c1da03390e6 +IV = 5d6cf4722d0e21f1d9ced53a0e36c342 +PLAINTEXT = b2a22ced +CIPHERTEXT = 73f3aebf + +COUNT = 4 +KEY = 5d5e7f20e0a66d3e09e0e5a9912f8a46 +IV = 052d7ea0ad1f2956a23b27afe1d87b6b +PLAINTEXT = b84a90fc6d +CIPHERTEXT = 1a9a61c307 + +COUNT = 5 +KEY = ec89fb348787cf902ca973c47081438d +IV = 528fe95c711bd13f37bc52cc9e96d45c +PLAINTEXT = 14253472e99d +CIPHERTEXT = cfc247e33a3b + +COUNT = 6 +KEY = 6607987c354809cba818639dcd185147 +IV = 552c101a0b7c0ca143af258453937fa3 +PLAINTEXT = 9b1a5a1369166e +CIPHERTEXT = b7ab2a4cc71904 + +COUNT = 7 +KEY = c028e6bf2b749ffa86759f2f84e93cb0 +IV = 288c752d9faccf367e5d0cca1fa6ec3b +PLAINTEXT = 324015878cdc82bf +CIPHERTEXT = 873250152fc6a5bb + +COUNT = 8 +KEY = d01da95d2c2a61da06ea78cfba59cc30 +IV = f9a393ad90814faf262e3a5b1d97592e +PLAINTEXT = 57c1a30e48166d9640 +CIPHERTEXT = e9a8c3b776edd39e3d + +COUNT = 9 +KEY = 3a6f9159263fa6cef2a075caface5817 +IV = 0fc23662b7dbf73827f0c7de321ca36e +PLAINTEXT = 87efeb8d559ed3367728 +CIPHERTEXT = 8e9c50425614d540ce11 + +[DECRYPT] + +COUNT = 0 +KEY = 03edfe082550bd5ac8ddf64f42a0547f +IV = 52acd8dab62c981da08e51939cc08dab +CIPHERTEXT = 21 +PLAINTEXT = 09 + +COUNT = 1 +KEY = 38cf776750162edc63c3b5dbe311ab9f +IV = 98fbbd288872c40f1926b16ecaec1561 +CIPHERTEXT = 4878 +PLAINTEXT = eb24 + +COUNT = 2 +KEY = c9053c87c3e56bc5e52bd31f6545f991 +IV = b8f9640d0923da13fe6eb87b01f0cfa0 +CIPHERTEXT = aeb6d2 +PLAINTEXT = 910949 + +COUNT = 3 +KEY = e96771f5f20a89ee871261d2d18e1e46 +IV = 6e86403e33396655907ae06ef192262f +CIPHERTEXT = 83cab2f3 +PLAINTEXT = 3b7f1f1c + +COUNT = 4 +KEY = 92ad13ecb60bde1bb3b34ce07867672b +IV = f95a4060b8f80e3f839d4c3ca33dad94 +CIPHERTEXT = 49f73e652b +PLAINTEXT = 17b9b9e16d + +COUNT = 5 +KEY = eb57b8dd076e7bbb33d4bfc4d7ecb27e +IV = 51135997a067dcd2e016c57134c5fa52 +CIPHERTEXT = b0eacbf2ca46 +PLAINTEXT = ca989fa4e818 + +COUNT = 6 +KEY = 70abc48bb1be490183f0fe3df56195ff +IV = e251f179174b71ee1e488ab3dd200483 +CIPHERTEXT = 08fbef9b2a369a +PLAINTEXT = 5405da1186b7e0 + +COUNT = 7 +KEY = 1273b8e0eee1a1ca827059b4d0a3a55d +IV = 622cab49092d026f554dd98a6441dc26 +CIPHERTEXT = b3cb9d8892423aeb +PLAINTEXT = d497df73afb9787c + +COUNT = 8 +KEY = 49437e06b6faa5f20fd98bf71f8ff554 +IV = 63c818e0d3cb5b7054ef3e1e87df0e12 +CIPHERTEXT = 01992a986279c3685e +PLAINTEXT = f203bcd402b65919da + +COUNT = 9 +KEY = 6399c1dc068ba3509845628fa9ed1a96 +IV = 1157c2766c86b754df485be9dd5851df +CIPHERTEXT = c9c284e9abbfe6fb11fe +PLAINTEXT = feff4e2e2458addf2a54 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT192.rsp new file mode 100644 index 000000000..945a4ef9b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT192.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:48 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 32a1b0e3da368db563d7316b9779d3327e53d9a6d287ed97 +IV = 3dd0e7e21f09d5842f3a699da9b57346 +PLAINTEXT = 54 +CIPHERTEXT = 6d + +COUNT = 1 +KEY = a6381dcc18dd85d7729c1dce90743bbe1df580d857f5b9c4 +IV = c0ac501fad7f4a1465daf32e18fc1a4f +PLAINTEXT = a456 +CIPHERTEXT = 8fb6 + +COUNT = 2 +KEY = d08dbee4732c7ffc544c1695b201d30e795037325ef0aa18 +IV = a1e39aeeb972a8d70aa0fc7d6fac6eac +PLAINTEXT = fd115d +CIPHERTEXT = c4c016 + +COUNT = 3 +KEY = 277185a4a440869920f523c4d578fc5bedd33aee8d2ebaf7 +IV = 67be00572f82aabc13d6e5a2e51d1f08 +PLAINTEXT = 88e07061 +CIPHERTEXT = 8bb630ba + +COUNT = 4 +KEY = 83f70fdce47306fcbb8c21b6a8b3209f7ec185fef4deebd4 +IV = ff73b310cf7e62ce6f501092fa6cc888 +PLAINTEXT = 36664e222d +CIPHERTEXT = 20855555d1 + +COUNT = 5 +KEY = c5be271a29f4a29e085e8e98196601dcb88ccc03e559a304 +IV = 9f51fa2eb8a084718f7240e47d135dce +PLAINTEXT = b57f12342a62 +CIPHERTEXT = 73ff9bf3ec4b + +COUNT = 6 +KEY = 9c55322e6d495be01076d4b80371ad1479ae5636ff9861f5 +IV = 2b79cfc1ff37254dedf5924a6b61e3e0 +PLAINTEXT = 6dcede43c2ee65 +CIPHERTEXT = 7c897658282220 + +COUNT = 7 +KEY = 6e78ccece7d1b2a3c08cf0de738bee33cbbbf78d9bf4922c +IV = 4bbe15b1e94a7b97250a2136d8804e46 +PLAINTEXT = ceda42527871f802 +CIPHERTEXT = d92ff89045b1917f + +COUNT = 8 +KEY = 13c98665746f7825b37b404916240adbd1e4364be1d05c63 +IV = 0e479fbd5f3961f38b8a26be1f2d65c5 +PLAINTEXT = 1b0a63d73464ab3c8a +CIPHERTEXT = 5485847e5d3c2e2cc4 + +COUNT = 9 +KEY = 537e7bf661fd4024a024613f15b13690f7d0c847c1e18965 +IV = 3a81f9d9d3c155b0caad5d73349476fc +PLAINTEXT = d3d8b9b984adc24237ee +CIPHERTEXT = 3879fea72ac99929e53a + +[DECRYPT] + +COUNT = 0 +KEY = 7dbdc15ad4034ed828dc862799b7adc9abd68eaf9d526d5d +IV = 4359683af5a3a85c248fb7f5506f317b +CIPHERTEXT = 25 +PLAINTEXT = 2d + +COUNT = 1 +KEY = 3a2cdf9c9608c1dd6233d03dd855293b0885915114b25279 +IV = e7a28ee34acc52128ddae658ec6398a2 +CIPHERTEXT = 0678 +PLAINTEXT = 7b04 + +COUNT = 2 +KEY = c984b99a6cc5bc88003143cbe4b755e6e30ba94114f7ad1e +IV = 41e3b8fd138f8c358dfeef420302f634 +CIPHERTEXT = 037cf6 +PLAINTEXT = 658d0a + +COUNT = 3 +KEY = 39747da225bdc0c53c3463fd686dbe19d14157535171f91d +IV = 77d3a5ad8bbdb169f8d29e5f21798651 +CIPHERTEXT = 0fb0cee2 +PLAINTEXT = 2d191f2f + +COUNT = 4 +KEY = 4cd13179dfa16d01c6a8633dfc8783e723e72114c9b0d50a +IV = 6657c46c99d642474c330d8016b71dbe +CIPHERTEXT = 09d914cf0b +PLAINTEXT = 105a64c872 + +COUNT = 5 +KEY = 5dcc9b8d8a456e9917cd8d54d7f7100b34964b4ed2d398a0 +IV = 4fa295a8987f1b010ce4e011fbf94156 +CIPHERTEXT = 288c752d9fac +PLAINTEXT = 98f332d37b78 + +COUNT = 6 +KEY = c8baf0204ef80b8e0125efe43a0bccdfd0f356b62e6c75fe +IV = e9144bf2cbc5720a1b4cb6f37d11edff +CIPHERTEXT = c9981a34b7aa89 +PLAINTEXT = 56bb4c3cae53b3 + +COUNT = 7 +KEY = 64e40763f38a63ae378c32052b0ae3aa538bb868a04ac985 +IV = aacf65089e4b285438451ffdcd0f6389 +CIPHERTEXT = d8fcf83a88510a0d +PLAINTEXT = b567411bc61b0a76 + +COUNT = 8 +KEY = 7bfdca9605f17253f203efffc92da96fde023007d22cdad0 +IV = 45c09e44036070f8a7737a5176b8cf26 +CIPHERTEXT = 9c195b1944c4af5bfb +PLAINTEXT = 89358df65c3ef14d26 + +COUNT = 9 +KEY = baf08b76317a65c5f07ae6f57eb0e65488659324d29709e3 +IV = 0a02846b62abb693ef31d754842eed29 +CIPHERTEXT = 729c0b6deb75fa6eb5e8 +PLAINTEXT = 9895932402393dc33a60 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT256.rsp new file mode 100644 index 000000000..ca80e432d --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8MMT256.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:50 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 34e8091cee09f1bd3ebf1e8f05f51bfbd4899ef2ae006a3a0f7875052cdd46c8 +IV = 43eb4dcc4b04a80216a20e4a09a7abb5 +PLAINTEXT = f9 +CIPHERTEXT = 28 + +COUNT = 1 +KEY = e04e43173113109e1343393842fe6caef3f8a2e506d7f55f83dcb10444c6ad23 +IV = a38b88a293b077fb5546636aad90d663 +PLAINTEXT = 2914 +CIPHERTEXT = 69a6 + +COUNT = 2 +KEY = 064874092f7a13cc4462247ad423d0e96edf42e8b67a5a23b7a0a6477b098e66 +IV = 338c552ff1eca14408e05d8cf9f3b31b +PLAINTEXT = b974fa +CIPHERTEXT = 1cff95 + +COUNT = 3 +KEY = 56794adb0ef04aeddeabd650de736531d408837954b919002c33edfdff976cc2 +IV = 71b5526facea4236d33f1f4107e4b04f +PLAINTEXT = db774912 +CIPHERTEXT = f04d9d4f + +COUNT = 4 +KEY = dddd7f234e7d0e6ec64560b96430986a856f2ee9805443a7946e31601ef6679d +IV = e20f39db0025eb24491bd06012887108 +PLAINTEXT = ad1d5311ea +CIPHERTEXT = 19cc97a662 + +COUNT = 5 +KEY = ec73a760272c83f91771b3ab7b188715c6d6afb9c554feae83856e966a3863d0 +IV = ae7bfa38fd25778fcf66ce8157f6e42e +PLAINTEXT = 02fe724fbc5d +CIPHERTEXT = b0eca63405f4 + +COUNT = 6 +KEY = a66874ca0b70fb98b37c033ec96413f339adae02acade015b9f016b459db3309 +IV = 6ed480d9e4ed031cf66bb1e07f8d5514 +PLAINTEXT = b4777e6bcd9a05 +CIPHERTEXT = 8c017397ad5bab + +COUNT = 7 +KEY = a3dbbb775ada92b0b8ed1632444e21c1c86ff3eba8f628307306e766b8c15b5c +IV = 4ec56a8e541f5cfe7b8ab947bfa4fd08 +PLAINTEXT = 1d70a5a82badf5ea +CIPHERTEXT = 1e22bebebeacd81d + +COUNT = 8 +KEY = 64135e67c0ca1acef3360d930afcd726c5b04861a69c1b6a48bde1daf20f3b1f +IV = 5377a154d5f948189f9aa57b466c16b2 +PLAINTEXT = a36ca5ea382a322eef +CIPHERTEXT = 3105016567d3174aed + +COUNT = 9 +KEY = ebbb4566b5e182e0f072466b0b311df38f9175bc0213a5530bce2ec4d74f400d +IV = 0956a48e01002c9e16376d6e308dbad1 +PLAINTEXT = b0fe25ac8d3d28a2f471 +CIPHERTEXT = 638c6823e7256fb5626e + +[DECRYPT] + +COUNT = 0 +KEY = 1687831580cb764321a9d674dbd0a9640f668b0f58ef01b87a710b3095d5f855 +IV = 6cd5bec6d6e1fd23afc543b8f80d3f89 +CIPHERTEXT = 6f +PLAINTEXT = 98 + +COUNT = 1 +KEY = b6b504e8b7065373ea31cd549e52eda7cb96fd1db14eddacbc420085ab48b747 +IV = 870ecd45b1241803ddaf8bad15a025d7 +CIPHERTEXT = 17d4 +PLAINTEXT = 3572 + +COUNT = 2 +KEY = 6ad3105e15fb5b742bf4fe1eb8e98c6c1ffea653107c84f6b42ed1232a0bbc21 +IV = 17534c89c4eae5dea6ea353dde7b1623 +CIPHERTEXT = a9841e +PLAINTEXT = f9411a + +COUNT = 3 +KEY = 758f3fa8b2b289f19fd59e7316be40b904eff7f565caac4570f972360e0da787 +IV = b21335ae980898fa92c4b3069e532973 +CIPHERTEXT = 84b35e25 +PLAINTEXT = 47887872 + +COUNT = 4 +KEY = 802e854eb799500975d960a67885820d195e02ab23d51f15e5cdbcee86a1580c +IV = 94478c4e44e2fa8d2e6bc43d384597e6 +CIPHERTEXT = d1e96bf1e8 +PLAINTEXT = ed414b5689 + +COUNT = 5 +KEY = 3a0c03ca9d1e5d49bb37f9041f88d159c3f1d5ce26c798f59ed54a93f0a0e600 +IV = 9aae38ba832e4b093b50444074517d20 +CIPHERTEXT = 74410ccd12da +PLAINTEXT = 8207eee2a7ab + +COUNT = 6 +KEY = ee05462128fea75e919f6f436cb198f222847d698a283f5767df682d33d3ce77 +IV = d2ad55e41887075184635112a22fc093 +CIPHERTEXT = ff039e89877b44 +PLAINTEXT = aff3aa4c24e353 + +COUNT = 7 +KEY = 08abbdcc3eb9c1717db1faa38dcd0893afd5e16e2596747af58f8d61ebedf9cd +IV = b925c8dc9a9b55a4372ea6d37d21c1eb +CIPHERTEXT = e176ba99ea602fd9 +PLAINTEXT = b7370050288bf600 + +COUNT = 8 +KEY = 56d404a893fb3b3f594aab18939230b096646a37a781629fbd9270f3891a5cea +IV = e5906b36f2d97e6f2db19b6c7a3ce319 +CIPHERTEXT = c55a9a917a809a784b +PLAINTEXT = e44995bbb0fff40fee + +COUNT = 9 +KEY = ec13062551e4d7291e320f565b749eea1809b663b26f2c4d53b52058b833e0ad +IV = fbfa5a528e20863012790c2abafb5a0c +CIPHERTEXT = 2bfc3f0209307140101a +PLAINTEXT = 547bfd642cf6e12ed942 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey128.rsp new file mode 100644 index 000000000..c56bea1f6 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:46 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0e + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 72 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f1 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9e + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c4 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b1 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 42 + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 99 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 95 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a0 + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b5 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 26 + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c6 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 26 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a6 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 12 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 95 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = de + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6d + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5c + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 18 + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 99 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e1 + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9c + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ed + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5a + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 23 + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 44 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0f + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 82 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 30 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7d + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c7 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1d + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8e + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e6 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8e + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4f + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 04 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 75 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b6 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cb + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7b + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8b + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 43 + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 53 + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b5 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 74 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a3 + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fd + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 65 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 99 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 84 + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 32 + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 49 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d9 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f6 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 78 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1e + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ac + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 96 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ef + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 28 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f2 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ec + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 54 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = db + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9c + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 87 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 38 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6a + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6d + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f0 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 68 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d0 + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c4 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f0 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3e + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b6 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 30 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 82 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f1 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2c + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 92 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c1 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 79 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 16 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 44 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 67 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b4 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 62 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 70 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 32 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1d + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ba + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2d + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 51 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 41 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 25 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 41 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5a + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +[DECRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0e +PLAINTEXT = 00 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72 +PLAINTEXT = 00 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97 +PLAINTEXT = 00 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f1 +PLAINTEXT = 00 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9e +PLAINTEXT = 00 + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4 +PLAINTEXT = 00 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1 +PLAINTEXT = 00 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42 +PLAINTEXT = 00 + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99 +PLAINTEXT = 00 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95 +PLAINTEXT = 00 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a0 +PLAINTEXT = 00 + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5 +PLAINTEXT = 00 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26 +PLAINTEXT = 00 + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97 +PLAINTEXT = 00 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6 +PLAINTEXT = 00 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df +PLAINTEXT = 00 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26 +PLAINTEXT = 00 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a6 +PLAINTEXT = 00 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12 +PLAINTEXT = 00 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95 +PLAINTEXT = 00 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de +PLAINTEXT = 00 + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d +PLAINTEXT = 00 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5c +PLAINTEXT = 00 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 18 +PLAINTEXT = 00 + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99 +PLAINTEXT = 00 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e1 +PLAINTEXT = 00 + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c +PLAINTEXT = 00 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed +PLAINTEXT = 00 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a +PLAINTEXT = 00 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 23 +PLAINTEXT = 00 + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44 +PLAINTEXT = 00 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0f +PLAINTEXT = 00 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82 +PLAINTEXT = 00 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30 +PLAINTEXT = 00 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7d +PLAINTEXT = 00 + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c7 +PLAINTEXT = 00 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1d +PLAINTEXT = 00 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e +PLAINTEXT = 00 + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e6 +PLAINTEXT = 00 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e +PLAINTEXT = 00 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4f +PLAINTEXT = 00 + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04 +PLAINTEXT = 00 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75 +PLAINTEXT = 00 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6 +PLAINTEXT = 00 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb +PLAINTEXT = 00 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b +PLAINTEXT = 00 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b +PLAINTEXT = 00 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43 +PLAINTEXT = 00 + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 53 +PLAINTEXT = 00 + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5 +PLAINTEXT = 00 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 74 +PLAINTEXT = 00 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3 +PLAINTEXT = 00 + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd +PLAINTEXT = 00 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a +PLAINTEXT = 00 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 65 +PLAINTEXT = 00 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99 +PLAINTEXT = 00 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84 +PLAINTEXT = 00 + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32 +PLAINTEXT = 00 + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 49 +PLAINTEXT = 00 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9 +PLAINTEXT = 00 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f6 +PLAINTEXT = 00 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab +PLAINTEXT = 00 + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 78 +PLAINTEXT = 00 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1e +PLAINTEXT = 00 + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ac +PLAINTEXT = 00 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8 +PLAINTEXT = 00 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96 +PLAINTEXT = 00 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef +PLAINTEXT = 00 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 28 +PLAINTEXT = 00 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2 +PLAINTEXT = 00 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec +PLAINTEXT = 00 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 54 +PLAINTEXT = 00 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db +PLAINTEXT = 00 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c +PLAINTEXT = 00 + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 87 +PLAINTEXT = 00 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 38 +PLAINTEXT = 00 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a +PLAINTEXT = 00 + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea +PLAINTEXT = 00 + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d +PLAINTEXT = 00 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0 +PLAINTEXT = 00 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 68 +PLAINTEXT = 00 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d0 +PLAINTEXT = 00 + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4 +PLAINTEXT = 00 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0 +PLAINTEXT = 00 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e +PLAINTEXT = 00 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6 +PLAINTEXT = 00 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30 +PLAINTEXT = 00 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82 +PLAINTEXT = 00 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f1 +PLAINTEXT = 00 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c +PLAINTEXT = 00 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 92 +PLAINTEXT = 00 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c1 +PLAINTEXT = 00 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 79 +PLAINTEXT = 00 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 16 +PLAINTEXT = 00 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44 +PLAINTEXT = 00 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 67 +PLAINTEXT = 00 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4 +PLAINTEXT = 00 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 62 +PLAINTEXT = 00 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70 +PLAINTEXT = 00 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32 +PLAINTEXT = 00 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1d +PLAINTEXT = 00 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df +PLAINTEXT = 00 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba +PLAINTEXT = 00 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2d +PLAINTEXT = 00 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 51 +PLAINTEXT = 00 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41 +PLAINTEXT = 00 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 25 +PLAINTEXT = 00 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41 +PLAINTEXT = 00 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a +PLAINTEXT = 00 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02 +PLAINTEXT = 00 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey192.rsp new file mode 100644 index 000000000..7219fa8e3 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey192.rsp @@ -0,0 +1,2315 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:48 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = de + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 13 + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6e + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 18 + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ed + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 99 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 53 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 83 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = eb + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = aa + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1c + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a5 + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e4 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b7 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 26 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b2 + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5e + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 07 + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e1 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ef + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fb + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 44 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 56 + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 61 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b5 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b1 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4f + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = eb + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = eb + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0c + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fe + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 12 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6a + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2a + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 22 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c0 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a7 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d3 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c8 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c7 + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 10 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 42 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4f + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b7 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 94 + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dc + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 44 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a5 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 75 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bc + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 75 + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 70 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 71 + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ef + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a0 + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 29 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cf + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 07 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c8 + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c0 + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 80 + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 32 + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8d + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 17 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 05 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 37 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = aa + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cb + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 83 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 52 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 34 + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 56 + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 70 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 88 + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fc + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 29 + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 51 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6a + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 03 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e3 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 14 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 03 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d7 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 72 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9d + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c5 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8d + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9d + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fd + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e0 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 78 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 48 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b8 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = aa + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 21 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c6 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 64 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1a + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c4 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 49 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e8 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 91 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 74 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 24 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bb + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 30 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b8 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e9 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dc + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4e + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f6 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d4 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6b + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 89 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 14 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8f + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 05 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 38 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 68 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1c + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 45 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 94 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f3 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5e + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fb + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 13 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fb + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8b + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fd + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7b + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c5 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 60 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8d + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d3 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 41 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cf + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a2 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ac + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 75 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c1 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 24 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8f + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 56 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b6 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 05 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 18 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5e + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 01 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +[DECRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de +PLAINTEXT = 00 + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 13 +PLAINTEXT = 00 + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e +PLAINTEXT = 00 + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 18 +PLAINTEXT = 00 + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed +PLAINTEXT = 00 + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99 +PLAINTEXT = 00 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 53 +PLAINTEXT = 00 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 83 +PLAINTEXT = 00 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb +PLAINTEXT = 00 + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a +PLAINTEXT = 00 + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aa +PLAINTEXT = 00 + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c +PLAINTEXT = 00 + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5 +PLAINTEXT = 00 + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e4 +PLAINTEXT = 00 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7 +PLAINTEXT = 00 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26 +PLAINTEXT = 00 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b2 +PLAINTEXT = 00 + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e +PLAINTEXT = 00 + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07 +PLAINTEXT = 00 + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e1 +PLAINTEXT = 00 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef +PLAINTEXT = 00 + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb +PLAINTEXT = 00 + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44 +PLAINTEXT = 00 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56 +PLAINTEXT = 00 + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1 +PLAINTEXT = 00 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 61 +PLAINTEXT = 00 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5 +PLAINTEXT = 00 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1 +PLAINTEXT = 00 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4f +PLAINTEXT = 00 + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb +PLAINTEXT = 00 + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb +PLAINTEXT = 00 + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0c +PLAINTEXT = 00 + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fe +PLAINTEXT = 00 + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12 +PLAINTEXT = 00 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a +PLAINTEXT = 00 + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2a +PLAINTEXT = 00 + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 22 +PLAINTEXT = 00 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0 +PLAINTEXT = 00 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a7 +PLAINTEXT = 00 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d3 +PLAINTEXT = 00 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8 +PLAINTEXT = 00 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c7 +PLAINTEXT = 00 + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10 +PLAINTEXT = 00 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42 +PLAINTEXT = 00 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4f +PLAINTEXT = 00 + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7 +PLAINTEXT = 00 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94 +PLAINTEXT = 00 + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc +PLAINTEXT = 00 + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44 +PLAINTEXT = 00 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5 +PLAINTEXT = 00 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75 +PLAINTEXT = 00 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bc +PLAINTEXT = 00 + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75 +PLAINTEXT = 00 + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70 +PLAINTEXT = 00 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 71 +PLAINTEXT = 00 + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef +PLAINTEXT = 00 + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a0 +PLAINTEXT = 00 + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29 +PLAINTEXT = 00 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf +PLAINTEXT = 00 + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07 +PLAINTEXT = 00 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8 +PLAINTEXT = 00 + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0 +PLAINTEXT = 00 + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a +PLAINTEXT = 00 + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 80 +PLAINTEXT = 00 + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32 +PLAINTEXT = 00 + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8 +PLAINTEXT = 00 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d +PLAINTEXT = 00 + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02 +PLAINTEXT = 00 + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 17 +PLAINTEXT = 00 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 05 +PLAINTEXT = 00 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37 +PLAINTEXT = 00 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aa +PLAINTEXT = 00 + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb +PLAINTEXT = 00 + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 83 +PLAINTEXT = 00 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 52 +PLAINTEXT = 00 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 34 +PLAINTEXT = 00 + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56 +PLAINTEXT = 00 + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70 +PLAINTEXT = 00 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 88 +PLAINTEXT = 00 + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc +PLAINTEXT = 00 + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29 +PLAINTEXT = 00 + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 51 +PLAINTEXT = 00 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a +PLAINTEXT = 00 + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03 +PLAINTEXT = 00 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3 +PLAINTEXT = 00 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14 +PLAINTEXT = 00 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9 +PLAINTEXT = 00 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40 +PLAINTEXT = 00 + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03 +PLAINTEXT = 00 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d7 +PLAINTEXT = 00 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72 +PLAINTEXT = 00 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d +PLAINTEXT = 00 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c5 +PLAINTEXT = 00 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d +PLAINTEXT = 00 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d +PLAINTEXT = 00 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd +PLAINTEXT = 00 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0 +PLAINTEXT = 00 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 78 +PLAINTEXT = 00 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40 +PLAINTEXT = 00 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 48 +PLAINTEXT = 00 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8 +PLAINTEXT = 00 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aa +PLAINTEXT = 00 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8 +PLAINTEXT = 00 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 21 +PLAINTEXT = 00 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6 +PLAINTEXT = 00 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64 +PLAINTEXT = 00 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1a +PLAINTEXT = 00 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4 +PLAINTEXT = 00 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 49 +PLAINTEXT = 00 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e8 +PLAINTEXT = 00 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 91 +PLAINTEXT = 00 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 74 +PLAINTEXT = 00 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 24 +PLAINTEXT = 00 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bb +PLAINTEXT = 00 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30 +PLAINTEXT = 00 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea +PLAINTEXT = 00 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8 +PLAINTEXT = 00 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97 +PLAINTEXT = 00 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9 +PLAINTEXT = 00 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc +PLAINTEXT = 00 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e +PLAINTEXT = 00 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f6 +PLAINTEXT = 00 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d4 +PLAINTEXT = 00 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6b +PLAINTEXT = 00 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 89 +PLAINTEXT = 00 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93 +PLAINTEXT = 00 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14 +PLAINTEXT = 00 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02 +PLAINTEXT = 00 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f +PLAINTEXT = 00 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 05 +PLAINTEXT = 00 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 38 +PLAINTEXT = 00 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 68 +PLAINTEXT = 00 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c +PLAINTEXT = 00 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45 +PLAINTEXT = 00 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94 +PLAINTEXT = 00 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f3 +PLAINTEXT = 00 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e +PLAINTEXT = 00 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9 +PLAINTEXT = 00 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb +PLAINTEXT = 00 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 13 +PLAINTEXT = 00 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb +PLAINTEXT = 00 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b +PLAINTEXT = 00 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 08 +PLAINTEXT = 00 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd +PLAINTEXT = 00 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93 +PLAINTEXT = 00 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b +PLAINTEXT = 00 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c5 +PLAINTEXT = 00 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60 +PLAINTEXT = 00 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d +PLAINTEXT = 00 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d3 +PLAINTEXT = 00 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41 +PLAINTEXT = 00 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf +PLAINTEXT = 00 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a2 +PLAINTEXT = 00 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ac +PLAINTEXT = 00 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75 +PLAINTEXT = 00 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c1 +PLAINTEXT = 00 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 24 +PLAINTEXT = 00 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f +PLAINTEXT = 00 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56 +PLAINTEXT = 00 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6 +PLAINTEXT = 00 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 05 +PLAINTEXT = 00 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 18 +PLAINTEXT = 00 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea +PLAINTEXT = 00 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e +PLAINTEXT = 00 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 01 +PLAINTEXT = 00 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey256.rsp new file mode 100644 index 000000000..6b000dbc8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarKey256.rsp @@ -0,0 +1,3083 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:50 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e3 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b2 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1c + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9c + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8f + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 60 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ec + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f2 + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a3 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d1 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dc + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4d + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1a + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 61 + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 63 + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6e + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 85 + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6b + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2c + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bd + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bb + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 07 + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5f + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fc + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 82 + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ad + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 33 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 20 + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f8 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6f + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f2 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f8 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 07 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e0 + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = be + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b5 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3c + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3d + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 82 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 29 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 22 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ae + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5e + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a7 + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8a + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3f + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 31 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4c + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 09 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3e + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f8 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ff + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 94 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8f + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e0 + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 59 + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f5 + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9f + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c2 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = eb + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9f + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 46 + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a4 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f9 + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f3 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fd + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ad + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4e + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e8 + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e6 + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 07 + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dc + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 68 + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 04 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0e + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 15 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0a + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 26 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 66 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 76 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8d + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b5 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 33 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3d + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a4 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e3 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 84 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ce + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cd + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ba + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 87 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 10 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9a + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f1 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 81 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 96 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 86 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d6 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b5 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 68 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e3 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5d + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c3 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6e + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 86 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ef + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bf + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c6 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 39 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7c + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a9 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5d + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 45 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b4 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dc + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d9 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 23 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 59 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 33 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 72 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ba + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fc + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8c + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c1 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 49 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fe + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 34 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 33 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 86 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = be + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cf + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cb + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fd + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ed + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 10 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c3 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bc + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = db + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 66 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 45 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 72 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 98 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0d + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = db + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2c + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 33 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ed + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 61 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d1 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 51 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 37 + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 80 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d6 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 84 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1d + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8a + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6e + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c2 + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e9 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 67 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1f + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 69 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a0 + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4f + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 43 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5b + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 97 + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1e + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 26 + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 70 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9c + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2f + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 96 + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 73 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1e + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 70 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 23 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 29 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3f + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 37 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e7 + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ba + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 31 + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = da + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d1 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2f + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d3 + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 52 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 56 + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d9 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 50 + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8b + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5b + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 60 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2f + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7b + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cf + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 03 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1f + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b0 + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +[DECRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3 +PLAINTEXT = 00 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b2 +PLAINTEXT = 00 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8 +PLAINTEXT = 00 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c +PLAINTEXT = 00 + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c +PLAINTEXT = 00 + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f +PLAINTEXT = 00 + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60 +PLAINTEXT = 00 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec +PLAINTEXT = 00 + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2 +PLAINTEXT = 00 + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3 +PLAINTEXT = 00 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1 +PLAINTEXT = 00 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc +PLAINTEXT = 00 + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4d +PLAINTEXT = 00 + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1a +PLAINTEXT = 00 + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93 +PLAINTEXT = 00 + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 61 +PLAINTEXT = 00 + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 63 +PLAINTEXT = 00 + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e +PLAINTEXT = 00 + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97 +PLAINTEXT = 00 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 85 +PLAINTEXT = 00 + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6b +PLAINTEXT = 00 + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c +PLAINTEXT = 00 + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bd +PLAINTEXT = 00 + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1 +PLAINTEXT = 00 + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bb +PLAINTEXT = 00 + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07 +PLAINTEXT = 00 + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5f +PLAINTEXT = 00 + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc +PLAINTEXT = 00 + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82 +PLAINTEXT = 00 + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad +PLAINTEXT = 00 + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33 +PLAINTEXT = 00 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 20 +PLAINTEXT = 00 + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8 +PLAINTEXT = 00 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6f +PLAINTEXT = 00 + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2 +PLAINTEXT = 00 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8 +PLAINTEXT = 00 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07 +PLAINTEXT = 00 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0 +PLAINTEXT = 00 + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be +PLAINTEXT = 00 + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df +PLAINTEXT = 00 + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5 +PLAINTEXT = 00 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3c +PLAINTEXT = 00 + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3d +PLAINTEXT = 00 + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82 +PLAINTEXT = 00 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29 +PLAINTEXT = 00 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 22 +PLAINTEXT = 00 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ae +PLAINTEXT = 00 + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e +PLAINTEXT = 00 + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a7 +PLAINTEXT = 00 + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8a +PLAINTEXT = 00 + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f +PLAINTEXT = 00 + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 31 +PLAINTEXT = 00 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4c +PLAINTEXT = 00 + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 09 +PLAINTEXT = 00 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e +PLAINTEXT = 00 + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8 +PLAINTEXT = 00 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8 +PLAINTEXT = 00 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff +PLAINTEXT = 00 + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94 +PLAINTEXT = 00 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f +PLAINTEXT = 00 + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0 +PLAINTEXT = 00 + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 59 +PLAINTEXT = 00 + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f5 +PLAINTEXT = 00 + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9f +PLAINTEXT = 00 + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2 +PLAINTEXT = 00 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97 +PLAINTEXT = 00 + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb +PLAINTEXT = 00 + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9f +PLAINTEXT = 00 + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 46 +PLAINTEXT = 00 + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4 +PLAINTEXT = 00 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab +PLAINTEXT = 00 + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f9 +PLAINTEXT = 00 + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f3 +PLAINTEXT = 00 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd +PLAINTEXT = 00 + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad +PLAINTEXT = 00 + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e +PLAINTEXT = 00 + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab +PLAINTEXT = 00 + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e8 +PLAINTEXT = 00 + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e6 +PLAINTEXT = 00 + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07 +PLAINTEXT = 00 + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc +PLAINTEXT = 00 + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 68 +PLAINTEXT = 00 + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8 +PLAINTEXT = 00 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04 +PLAINTEXT = 00 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40 +PLAINTEXT = 00 + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0e +PLAINTEXT = 00 + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 15 +PLAINTEXT = 00 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0a +PLAINTEXT = 00 + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26 +PLAINTEXT = 00 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 66 +PLAINTEXT = 00 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 76 +PLAINTEXT = 00 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40 +PLAINTEXT = 00 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d +PLAINTEXT = 00 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5 +PLAINTEXT = 00 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33 +PLAINTEXT = 00 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3d +PLAINTEXT = 00 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4 +PLAINTEXT = 00 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3 +PLAINTEXT = 00 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97 +PLAINTEXT = 00 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84 +PLAINTEXT = 00 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ce +PLAINTEXT = 00 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cd +PLAINTEXT = 00 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba +PLAINTEXT = 00 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 87 +PLAINTEXT = 00 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10 +PLAINTEXT = 00 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9a +PLAINTEXT = 00 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f1 +PLAINTEXT = 00 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8 +PLAINTEXT = 00 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 81 +PLAINTEXT = 00 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96 +PLAINTEXT = 00 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 86 +PLAINTEXT = 00 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d6 +PLAINTEXT = 00 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5 +PLAINTEXT = 00 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 68 +PLAINTEXT = 00 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3 +PLAINTEXT = 00 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8 +PLAINTEXT = 00 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d +PLAINTEXT = 00 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3 +PLAINTEXT = 00 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e +PLAINTEXT = 00 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 86 +PLAINTEXT = 00 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef +PLAINTEXT = 00 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bf +PLAINTEXT = 00 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6 +PLAINTEXT = 00 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 39 +PLAINTEXT = 00 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7c +PLAINTEXT = 00 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a9 +PLAINTEXT = 00 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d +PLAINTEXT = 00 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45 +PLAINTEXT = 00 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4 +PLAINTEXT = 00 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc +PLAINTEXT = 00 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9 +PLAINTEXT = 00 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 23 +PLAINTEXT = 00 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 59 +PLAINTEXT = 00 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33 +PLAINTEXT = 00 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72 +PLAINTEXT = 00 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba +PLAINTEXT = 00 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc +PLAINTEXT = 00 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8c +PLAINTEXT = 00 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9 +PLAINTEXT = 00 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c1 +PLAINTEXT = 00 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93 +PLAINTEXT = 00 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 49 +PLAINTEXT = 00 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fe +PLAINTEXT = 00 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 34 +PLAINTEXT = 00 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33 +PLAINTEXT = 00 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 86 +PLAINTEXT = 00 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be +PLAINTEXT = 00 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf +PLAINTEXT = 00 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb +PLAINTEXT = 00 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd +PLAINTEXT = 00 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed +PLAINTEXT = 00 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10 +PLAINTEXT = 00 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3 +PLAINTEXT = 00 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bc +PLAINTEXT = 00 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db +PLAINTEXT = 00 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 66 +PLAINTEXT = 00 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45 +PLAINTEXT = 00 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72 +PLAINTEXT = 00 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 98 +PLAINTEXT = 00 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0d +PLAINTEXT = 00 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db +PLAINTEXT = 00 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c +PLAINTEXT = 00 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33 +PLAINTEXT = 00 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed +PLAINTEXT = 00 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 61 +PLAINTEXT = 00 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1 +PLAINTEXT = 00 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 51 +PLAINTEXT = 00 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37 +PLAINTEXT = 00 + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 80 +PLAINTEXT = 00 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d6 +PLAINTEXT = 00 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02 +PLAINTEXT = 00 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84 +PLAINTEXT = 00 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1d +PLAINTEXT = 00 + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8a +PLAINTEXT = 00 + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e +PLAINTEXT = 00 + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2 +PLAINTEXT = 00 + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9 +PLAINTEXT = 00 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 67 +PLAINTEXT = 00 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f +PLAINTEXT = 00 + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69 +PLAINTEXT = 00 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a0 +PLAINTEXT = 00 + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4f +PLAINTEXT = 00 + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43 +PLAINTEXT = 00 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a +PLAINTEXT = 00 + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5b +PLAINTEXT = 00 + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97 +PLAINTEXT = 00 + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1e +PLAINTEXT = 00 + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26 +PLAINTEXT = 00 + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70 +PLAINTEXT = 00 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c +PLAINTEXT = 00 + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2f +PLAINTEXT = 00 + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96 +PLAINTEXT = 00 + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 73 +PLAINTEXT = 00 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02 +PLAINTEXT = 00 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1e +PLAINTEXT = 00 + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70 +PLAINTEXT = 00 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 23 +PLAINTEXT = 00 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29 +PLAINTEXT = 00 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f +PLAINTEXT = 00 + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37 +PLAINTEXT = 00 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea +PLAINTEXT = 00 + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e7 +PLAINTEXT = 00 + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba +PLAINTEXT = 00 + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 31 +PLAINTEXT = 00 + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = da +PLAINTEXT = 00 + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1 +PLAINTEXT = 00 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2f +PLAINTEXT = 00 + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d3 +PLAINTEXT = 00 + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 52 +PLAINTEXT = 00 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56 +PLAINTEXT = 00 + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8 +PLAINTEXT = 00 + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9 +PLAINTEXT = 00 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 50 +PLAINTEXT = 00 + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93 +PLAINTEXT = 00 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b +PLAINTEXT = 00 + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5b +PLAINTEXT = 00 + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60 +PLAINTEXT = 00 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2f +PLAINTEXT = 00 + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b +PLAINTEXT = 00 + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf +PLAINTEXT = 00 + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03 +PLAINTEXT = 00 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f +PLAINTEXT = 00 + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = b0 +PLAINTEXT = 00 + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt128.rsp new file mode 100644 index 000000000..32d615a98 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:46 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = aa + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f0 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 96 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 30 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 16 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b6 + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = db + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b8 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 96 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8b + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8e + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 64 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d7 + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f3 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8e + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 69 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2c + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 62 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c0 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 13 + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e9 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f8 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a2 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b9 + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c2 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 17 + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7c + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 43 + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 09 + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cb + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 21 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f2 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 95 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4a + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 82 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 85 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 67 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c2 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1c + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 00 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 22 + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 79 + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d4 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 68 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b6 + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7d + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f8 + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 41 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 10 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 21 + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 14 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 66 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1c + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d9 + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ee + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 06 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 25 + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e8 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 56 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4d + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00 +CIPHERTEXT = b8 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9c + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00 +CIPHERTEXT = a5 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00 +CIPHERTEXT = 14 + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7c + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00 +CIPHERTEXT = db + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4c + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00 +CIPHERTEXT = 74 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00 +CIPHERTEXT = 56 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00 +CIPHERTEXT = 65 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00 +CIPHERTEXT = 37 + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00 +CIPHERTEXT = 94 + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00 +CIPHERTEXT = 12 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00 +CIPHERTEXT = 1f + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00 +CIPHERTEXT = 76 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00 +CIPHERTEXT = e6 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00 +CIPHERTEXT = 2c + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00 +CIPHERTEXT = 79 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00 +CIPHERTEXT = 3c + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00 +CIPHERTEXT = ed + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00 +CIPHERTEXT = 63 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00 +CIPHERTEXT = 76 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00 +CIPHERTEXT = 92 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00 +CIPHERTEXT = 54 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00 +CIPHERTEXT = b7 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00 +CIPHERTEXT = 6f + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00 +CIPHERTEXT = 34 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00 +CIPHERTEXT = a4 + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00 +CIPHERTEXT = 7f + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00 +CIPHERTEXT = d1 + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00 +CIPHERTEXT = 85 + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00 +CIPHERTEXT = f9 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00 +CIPHERTEXT = 8a + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00 +CIPHERTEXT = 39 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00 +CIPHERTEXT = 5c + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00 +CIPHERTEXT = 3f + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = aa +PLAINTEXT = 00 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = f0 +PLAINTEXT = 00 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 96 +PLAINTEXT = 00 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 30 +PLAINTEXT = 00 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = 16 +PLAINTEXT = 00 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = b6 +PLAINTEXT = 00 + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = db +PLAINTEXT = 00 + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = a8 +PLAINTEXT = 00 + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = b8 +PLAINTEXT = 00 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = 96 +PLAINTEXT = 00 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 8b +PLAINTEXT = 00 + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = 8e +PLAINTEXT = 00 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 64 +PLAINTEXT = 00 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = d7 +PLAINTEXT = 00 + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = f3 +PLAINTEXT = 00 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 8e +PLAINTEXT = 00 + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 69 +PLAINTEXT = 00 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = 2c +PLAINTEXT = 00 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = 62 +PLAINTEXT = 00 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = c0 +PLAINTEXT = 00 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = 13 +PLAINTEXT = 00 + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = e9 +PLAINTEXT = 00 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = f8 +PLAINTEXT = 00 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = a2 +PLAINTEXT = 00 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = b9 +PLAINTEXT = 00 + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = c2 +PLAINTEXT = 00 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 17 +PLAINTEXT = 00 + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = 7c +PLAINTEXT = 00 + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 43 +PLAINTEXT = 00 + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = 09 +PLAINTEXT = 00 + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = cb +PLAINTEXT = 00 + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 21 +PLAINTEXT = 00 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = f2 +PLAINTEXT = 00 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = 95 +PLAINTEXT = 00 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 4a +PLAINTEXT = 00 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 82 +PLAINTEXT = 00 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 85 +PLAINTEXT = 00 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = 67 +PLAINTEXT = 00 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = c2 +PLAINTEXT = 00 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = 1c +PLAINTEXT = 00 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 00 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = ea +PLAINTEXT = 00 + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = 22 +PLAINTEXT = 00 + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = c9 +PLAINTEXT = 00 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = a1 +PLAINTEXT = 00 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = 79 +PLAINTEXT = 00 + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = d4 +PLAINTEXT = 00 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = 68 +PLAINTEXT = 00 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = b6 +PLAINTEXT = 00 + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = 7d +PLAINTEXT = 00 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = f8 +PLAINTEXT = 00 + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = 41 +PLAINTEXT = 00 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 10 +PLAINTEXT = 00 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = 21 +PLAINTEXT = 00 + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = 14 +PLAINTEXT = 00 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = 66 +PLAINTEXT = 00 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 1c +PLAINTEXT = 00 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = ab +PLAINTEXT = 00 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = d9 +PLAINTEXT = 00 + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = ee +PLAINTEXT = 00 + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 06 +PLAINTEXT = 00 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = 25 +PLAINTEXT = 00 + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = e8 +PLAINTEXT = 00 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 56 +PLAINTEXT = 00 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 4d +PLAINTEXT = 00 + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = b8 +PLAINTEXT = 00 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 9c +PLAINTEXT = 00 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = a5 +PLAINTEXT = 00 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 14 +PLAINTEXT = 00 + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 7c +PLAINTEXT = 00 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db +PLAINTEXT = 00 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 4c +PLAINTEXT = 00 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 74 +PLAINTEXT = 00 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = 56 +PLAINTEXT = 00 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 65 +PLAINTEXT = 00 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 37 +PLAINTEXT = 00 + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 94 +PLAINTEXT = 00 + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 12 +PLAINTEXT = 00 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 1f +PLAINTEXT = 00 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 76 +PLAINTEXT = 00 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 08 +PLAINTEXT = 00 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = e6 +PLAINTEXT = 00 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 2c +PLAINTEXT = 00 + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 79 +PLAINTEXT = 00 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 3c +PLAINTEXT = 00 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = ed +PLAINTEXT = 00 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 63 +PLAINTEXT = 00 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 76 +PLAINTEXT = 00 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 92 +PLAINTEXT = 00 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 08 +PLAINTEXT = 00 + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 40 +PLAINTEXT = 00 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = a8 +PLAINTEXT = 00 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 54 +PLAINTEXT = 00 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = b7 +PLAINTEXT = 00 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 6f +PLAINTEXT = 00 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 34 +PLAINTEXT = 00 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = a4 +PLAINTEXT = 00 + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 7f +PLAINTEXT = 00 + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = d1 +PLAINTEXT = 00 + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 08 +PLAINTEXT = 00 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 85 +PLAINTEXT = 00 + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = f9 +PLAINTEXT = 00 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = 8a +PLAINTEXT = 00 + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 39 +PLAINTEXT = 00 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 5c +PLAINTEXT = 00 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = 3f +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt192.rsp new file mode 100644 index 000000000..04d7fc6b7 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt192.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:11:48 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2c + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 99 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2a + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 35 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ce + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8c + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 32 + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a5 + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 03 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0d + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 00 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 48 + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 25 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 87 + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e9 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f3 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 28 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a7 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 01 + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1c + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e8 + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a7 + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0c + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7f + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 44 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = aa + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 99 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0b + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d4 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 70 + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7c + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f2 + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8e + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1b + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 01 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e4 + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 61 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3c + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1e + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 24 + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7b + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = af + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 92 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 62 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 53 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fa + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7d + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f3 + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3a + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 22 + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b4 + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c8 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 12 + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 33 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b7 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6a + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a0 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 09 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e2 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e0 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 73 + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a9 + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 73 + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7c + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 54 + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00 +CIPHERTEXT = d3 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00 +CIPHERTEXT = b2 + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00 +CIPHERTEXT = a6 + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00 +CIPHERTEXT = 15 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00 +CIPHERTEXT = 15 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00 +CIPHERTEXT = db + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00 +CIPHERTEXT = 71 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00 +CIPHERTEXT = c7 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00 +CIPHERTEXT = 34 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00 +CIPHERTEXT = 82 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00 +CIPHERTEXT = a4 + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00 +CIPHERTEXT = 74 + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00 +CIPHERTEXT = 37 + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00 +CIPHERTEXT = 88 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00 +CIPHERTEXT = ee + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00 +CIPHERTEXT = 47 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00 +CIPHERTEXT = af + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00 +CIPHERTEXT = cf + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00 +CIPHERTEXT = b3 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00 +CIPHERTEXT = fc + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00 +CIPHERTEXT = 9c + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00 +CIPHERTEXT = b9 + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00 +CIPHERTEXT = 82 + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00 +CIPHERTEXT = 88 + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00 +CIPHERTEXT = 67 + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00 +CIPHERTEXT = 52 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00 +CIPHERTEXT = e9 + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00 +CIPHERTEXT = 21 + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00 +CIPHERTEXT = 59 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00 +CIPHERTEXT = 43 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00 +CIPHERTEXT = 6b + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00 +CIPHERTEXT = ae + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00 +CIPHERTEXT = 34 + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00 +CIPHERTEXT = 4d + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00 +CIPHERTEXT = 2a + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00 +CIPHERTEXT = e0 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00 +CIPHERTEXT = 9d + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00 +CIPHERTEXT = ce + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00 +CIPHERTEXT = b1 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = 2c +PLAINTEXT = 00 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = 99 +PLAINTEXT = 00 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 2a +PLAINTEXT = 00 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 35 +PLAINTEXT = 00 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = ce +PLAINTEXT = 00 + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = 8c +PLAINTEXT = 00 + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = 32 +PLAINTEXT = 00 + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = a5 +PLAINTEXT = 00 + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = 03 +PLAINTEXT = 00 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = 0d +PLAINTEXT = 00 + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 00 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 48 +PLAINTEXT = 00 + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = 25 +PLAINTEXT = 00 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 87 +PLAINTEXT = 00 + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = e9 +PLAINTEXT = 00 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = f3 +PLAINTEXT = 00 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 28 +PLAINTEXT = 00 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = a7 +PLAINTEXT = 00 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = 01 +PLAINTEXT = 00 + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = 1c +PLAINTEXT = 00 + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = e8 +PLAINTEXT = 00 + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = a7 +PLAINTEXT = 00 + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 0c +PLAINTEXT = 00 + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = 7f +PLAINTEXT = 00 + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 44 +PLAINTEXT = 00 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = aa +PLAINTEXT = 00 + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = 99 +PLAINTEXT = 00 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 0b +PLAINTEXT = 00 + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = d4 +PLAINTEXT = 00 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = 70 +PLAINTEXT = 00 + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 7c +PLAINTEXT = 00 + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = f2 +PLAINTEXT = 00 + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = c9 +PLAINTEXT = 00 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 8e +PLAINTEXT = 00 + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 1b +PLAINTEXT = 00 + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = 01 +PLAINTEXT = 00 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = e4 +PLAINTEXT = 00 + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 61 +PLAINTEXT = 00 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = 3c +PLAINTEXT = 00 + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = 1e +PLAINTEXT = 00 + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = 24 +PLAINTEXT = 00 + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = 7b +PLAINTEXT = 00 + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = af +PLAINTEXT = 00 + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = 92 +PLAINTEXT = 00 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = 62 +PLAINTEXT = 00 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = 53 +PLAINTEXT = 00 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = fa +PLAINTEXT = 00 + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 7d +PLAINTEXT = 00 + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = f3 +PLAINTEXT = 00 + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = 08 +PLAINTEXT = 00 + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = 3a +PLAINTEXT = 00 + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = 22 +PLAINTEXT = 00 + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = b4 +PLAINTEXT = 00 + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = 93 +PLAINTEXT = 00 + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = c8 +PLAINTEXT = 00 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 12 +PLAINTEXT = 00 + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = 33 +PLAINTEXT = 00 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = a8 +PLAINTEXT = 00 + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = b7 +PLAINTEXT = 00 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 6a +PLAINTEXT = 00 + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = a0 +PLAINTEXT = 00 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = 09 +PLAINTEXT = 00 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = e2 +PLAINTEXT = 00 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = e0 +PLAINTEXT = 00 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 73 +PLAINTEXT = 00 + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = a9 +PLAINTEXT = 00 + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 73 +PLAINTEXT = 00 + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = 40 +PLAINTEXT = 00 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 7c +PLAINTEXT = 00 + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 54 +PLAINTEXT = 00 + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = d3 +PLAINTEXT = 00 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = b2 +PLAINTEXT = 00 + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = a6 +PLAINTEXT = 00 + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = 02 +PLAINTEXT = 00 + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 15 +PLAINTEXT = 00 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 15 +PLAINTEXT = 00 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db +PLAINTEXT = 00 + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 71 +PLAINTEXT = 00 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = c7 +PLAINTEXT = 00 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 34 +PLAINTEXT = 00 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 82 +PLAINTEXT = 00 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = a4 +PLAINTEXT = 00 + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 74 +PLAINTEXT = 00 + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 37 +PLAINTEXT = 00 + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 88 +PLAINTEXT = 00 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = ee +PLAINTEXT = 00 + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 47 +PLAINTEXT = 00 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = af +PLAINTEXT = 00 + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = cf +PLAINTEXT = 00 + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = b3 +PLAINTEXT = 00 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = fc +PLAINTEXT = 00 + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 9c +PLAINTEXT = 00 + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = b9 +PLAINTEXT = 00 + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 82 +PLAINTEXT = 00 + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 88 +PLAINTEXT = 00 + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 67 +PLAINTEXT = 00 + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 7a +PLAINTEXT = 00 + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 52 +PLAINTEXT = 00 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 40 +PLAINTEXT = 00 + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 02 +PLAINTEXT = 00 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = e9 +PLAINTEXT = 00 + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = a1 +PLAINTEXT = 00 + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = c9 +PLAINTEXT = 00 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 21 +PLAINTEXT = 00 + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 59 +PLAINTEXT = 00 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 43 +PLAINTEXT = 00 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 6b +PLAINTEXT = 00 + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = ae +PLAINTEXT = 00 + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 34 +PLAINTEXT = 00 + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 4d +PLAINTEXT = 00 + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 2a +PLAINTEXT = 00 + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = e0 +PLAINTEXT = 00 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 9d +PLAINTEXT = 00 + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = ce +PLAINTEXT = 00 + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = b1 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt256.rsp new file mode 100644 index 000000000..ef4b9b6f0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/CFB8VarTxt256.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CFB8 +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:11:50 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0a + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7f + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 78 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e7 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 80 + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 49 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8b + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fe + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0d + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c2 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 04 + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dc + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 15 + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 30 + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1f + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 59 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 22 + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3e + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d5 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b1 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6e + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ac + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 36 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1f + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 96 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cf + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fb + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8d + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6a + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 42 + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 75 + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9a + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 54 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 49 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 11 + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f9 + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 48 + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 24 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ac + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3f + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 20 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e6 + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1a + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b1 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cd + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 46 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c0 + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c0 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0d + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 56 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 76 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b1 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1d + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fa + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 77 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a3 + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00 +CIPHERTEXT = bc + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 81 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 95 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 76 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7d + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 96 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a0 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d1 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 00 + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b9 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 46 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 12 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4c + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00 +CIPHERTEXT = 39 + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3b + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9a + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00 +CIPHERTEXT = 8f + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00 +CIPHERTEXT = 14 + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00 +CIPHERTEXT = 55 + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7b + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2b + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00 +CIPHERTEXT = 83 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00 +CIPHERTEXT = 6f + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00 +CIPHERTEXT = e5 + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00 +CIPHERTEXT = 1a + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00 +CIPHERTEXT = 21 + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00 +CIPHERTEXT = 64 + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00 +CIPHERTEXT = e2 + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00 +CIPHERTEXT = 2b + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00 +CIPHERTEXT = da + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00 +CIPHERTEXT = 22 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00 +CIPHERTEXT = 1f + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00 +CIPHERTEXT = 62 + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00 +CIPHERTEXT = 2f + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00 +CIPHERTEXT = 3c + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00 +CIPHERTEXT = af + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00 +CIPHERTEXT = 8d + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00 +CIPHERTEXT = 70 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00 +CIPHERTEXT = 5f + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00 +CIPHERTEXT = 63 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00 +CIPHERTEXT = 68 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00 +CIPHERTEXT = 28 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00 +CIPHERTEXT = a4 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00 +CIPHERTEXT = eb + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00 +CIPHERTEXT = 27 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00 +CIPHERTEXT = ee + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00 +CIPHERTEXT = 29 + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00 +CIPHERTEXT = 04 + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00 +CIPHERTEXT = 9b + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00 +CIPHERTEXT = 29 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00 +CIPHERTEXT = 72 + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00 +CIPHERTEXT = da + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00 +CIPHERTEXT = 0f + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00 +CIPHERTEXT = 7b + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00 +CIPHERTEXT = ac + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = 0a +PLAINTEXT = 00 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 7f +PLAINTEXT = 00 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 78 +PLAINTEXT = 00 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = e7 +PLAINTEXT = 00 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = 80 +PLAINTEXT = 00 + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = 49 +PLAINTEXT = 00 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = 8b +PLAINTEXT = 00 + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = fe +PLAINTEXT = 00 + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = 0d +PLAINTEXT = 00 + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = c2 +PLAINTEXT = 00 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 04 +PLAINTEXT = 00 + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = dc +PLAINTEXT = 00 + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 15 +PLAINTEXT = 00 + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = 30 +PLAINTEXT = 00 + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = 1f +PLAINTEXT = 00 + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 59 +PLAINTEXT = 00 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = 22 +PLAINTEXT = 00 + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 3e +PLAINTEXT = 00 + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = d5 +PLAINTEXT = 00 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = b1 +PLAINTEXT = 00 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = 6e +PLAINTEXT = 00 + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = ac +PLAINTEXT = 00 + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 36 +PLAINTEXT = 00 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = 1f +PLAINTEXT = 00 + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = ab +PLAINTEXT = 00 + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 96 +PLAINTEXT = 00 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = cf +PLAINTEXT = 00 + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = fb +PLAINTEXT = 00 + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = 8d +PLAINTEXT = 00 + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = 6a +PLAINTEXT = 00 + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 42 +PLAINTEXT = 00 + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 75 +PLAINTEXT = 00 + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = 9a +PLAINTEXT = 00 + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = 54 +PLAINTEXT = 00 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 49 +PLAINTEXT = 00 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = 11 +PLAINTEXT = 00 + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = f9 +PLAINTEXT = 00 + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 48 +PLAINTEXT = 00 + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 24 +PLAINTEXT = 00 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = ac +PLAINTEXT = 00 + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = 3f +PLAINTEXT = 00 + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 20 +PLAINTEXT = 00 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = e6 +PLAINTEXT = 00 + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = 1a +PLAINTEXT = 00 + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = ea +PLAINTEXT = 00 + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = b1 +PLAINTEXT = 00 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = cd +PLAINTEXT = 00 + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = a1 +PLAINTEXT = 00 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = 46 +PLAINTEXT = 00 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = c0 +PLAINTEXT = 00 + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = c0 +PLAINTEXT = 00 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = 0d +PLAINTEXT = 00 + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 56 +PLAINTEXT = 00 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = 76 +PLAINTEXT = 00 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = b1 +PLAINTEXT = 00 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = 1d +PLAINTEXT = 00 + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = d8 +PLAINTEXT = 00 + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = fa +PLAINTEXT = 00 + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = 77 +PLAINTEXT = 00 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 19 +PLAINTEXT = 00 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = a1 +PLAINTEXT = 00 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = a3 +PLAINTEXT = 00 + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = bc +PLAINTEXT = 00 + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 81 +PLAINTEXT = 00 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = 95 +PLAINTEXT = 00 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = 76 +PLAINTEXT = 00 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = 7d +PLAINTEXT = 00 + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = 96 +PLAINTEXT = 00 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = a0 +PLAINTEXT = 00 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = d1 +PLAINTEXT = 00 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 00 + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = b9 +PLAINTEXT = 00 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 46 +PLAINTEXT = 00 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 12 +PLAINTEXT = 00 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = 4c +PLAINTEXT = 00 + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 08 +PLAINTEXT = 00 + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 39 +PLAINTEXT = 00 + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = 3b +PLAINTEXT = 00 + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 9a +PLAINTEXT = 00 + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 8f +PLAINTEXT = 00 + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 14 +PLAINTEXT = 00 + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 55 +PLAINTEXT = 00 + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 7b +PLAINTEXT = 00 + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 2b +PLAINTEXT = 00 + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = 83 +PLAINTEXT = 00 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 6f +PLAINTEXT = 00 + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = e5 +PLAINTEXT = 00 + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 1a +PLAINTEXT = 00 + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 21 +PLAINTEXT = 00 + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 64 +PLAINTEXT = 00 + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = e2 +PLAINTEXT = 00 + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 2b +PLAINTEXT = 00 + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = da +PLAINTEXT = 00 + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 22 +PLAINTEXT = 00 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 1f +PLAINTEXT = 00 + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 62 +PLAINTEXT = 00 + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 90 +PLAINTEXT = 00 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 2f +PLAINTEXT = 00 + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 3c +PLAINTEXT = 00 + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = af +PLAINTEXT = 00 + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 8d +PLAINTEXT = 00 + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 70 +PLAINTEXT = 00 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 08 +PLAINTEXT = 00 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 5f +PLAINTEXT = 00 + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 63 +PLAINTEXT = 00 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = 68 +PLAINTEXT = 00 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 28 +PLAINTEXT = 00 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = a4 +PLAINTEXT = 00 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = eb +PLAINTEXT = 00 + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 27 +PLAINTEXT = 00 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = ee +PLAINTEXT = 00 + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 29 +PLAINTEXT = 00 + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = 04 +PLAINTEXT = 00 + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 9b +PLAINTEXT = 00 + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 29 +PLAINTEXT = 00 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 72 +PLAINTEXT = 00 + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = da +PLAINTEXT = 00 + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 0f +PLAINTEXT = 00 + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 7b +PLAINTEXT = 00 + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = ac +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox128.rsp new file mode 100644 index 000000000..5eb7c5b35 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox128.rsp @@ -0,0 +1,95 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for OFB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:59 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = f34481ec3cc627bacd5dc3fb08f273e6 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 9798c4640bad75c7c3227db910174e72 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 96ab5c2ff612d9dfaae8c31f30c42168 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 6a118a874519e64e9963798a503f1d35 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = cb9fceec81286ca3e989bd979b0cb284 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = b26aeb1874e47ca8358ff22378f09144 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 58c8e00b2631686d54eab84b91f0aca1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = f34481ec3cc627bacd5dc3fb08f273e6 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 9798c4640bad75c7c3227db910174e72 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 96ab5c2ff612d9dfaae8c31f30c42168 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 6a118a874519e64e9963798a503f1d35 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = cb9fceec81286ca3e989bd979b0cb284 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = b26aeb1874e47ca8358ff22378f09144 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 58c8e00b2631686d54eab84b91f0aca1 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox192.rsp new file mode 100644 index 000000000..79ce685a8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox192.rsp @@ -0,0 +1,83 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for OFB +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:12:01 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 1b077a6af4b7f98229de786d7516b639 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 9c2d8842e5f48f57648205d39a239af1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = bff52510095f518ecca60af4205444bb +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 51719783d3185a535bd75adc65071ce1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 26aa49dcfe7629a8901a69a9914e6dfd +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 941a4773058224e1ef66d10e0a6ee782 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 067cd9d3749207791841562507fa9626 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 1b077a6af4b7f98229de786d7516b639 +CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = 9c2d8842e5f48f57648205d39a239af1 +CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = bff52510095f518ecca60af4205444bb +CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = 51719783d3185a535bd75adc65071ce1 +CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = 26aa49dcfe7629a8901a69a9914e6dfd +CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = 941a4773058224e1ef66d10e0a6ee782 +CIPHERTEXT = 067cd9d3749207791841562507fa9626 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox256.rsp new file mode 100644 index 000000000..2d70a3bc5 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBGFSbox256.rsp @@ -0,0 +1,71 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for OFB +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:12:03 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 014730f80ac625fe84f026c60bfd547d +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 0b24af36193ce4665f2825d7b4749c98 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 761c1fe41a18acf20d241650611d90f1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 8a560769d605868ad80d819bdba03771 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 91fbef2d15a97816060bee1feaa49afe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 014730f80ac625fe84f026c60bfd547d +CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 0b24af36193ce4665f2825d7b4749c98 +CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 761c1fe41a18acf20d241650611d90f1 +CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 8a560769d605868ad80d819bdba03771 +CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 91fbef2d15a97816060bee1feaa49afe +CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox128.rsp new file mode 100644 index 000000000..113361ee8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox128.rsp @@ -0,0 +1,263 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for OFB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:59 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 + +[DECRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox192.rsp new file mode 100644 index 000000000..04dd42897 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox192.rsp @@ -0,0 +1,299 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for OFB +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:12:01 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0956259c9cd5cfd0181cca53380cde06 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4e18424e591a3d5b6f0876f16f8594 + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93f3270cfc877ef17e106ce938979cb0 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f6c25ff41858561bb62f36492e93c29 + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e06556dcbb00b809a025047cff2a940 + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3608c344868e94555d23a120f8a5502d + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77da2021935b840b7f5dcc39132da9e5 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b7c24f825e3bf9873c9f14d39a0e6f4 + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64ebf95686b353508c90ecd8b6134316 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff558c5d27210b7929b73fc708eb4cf1 + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a2c3b2a818075490a7b4c14380f02702 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cfe4d74002696ccf7d87b14a2f9cafc9 + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2eafd86f63b109b91f5dbb3a3fb7e13 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b9fdd1c5975655f539998b306a324af + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd619e1cf204446112e0af2b9afa8f8c + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d4f0aae13c8fe9339fbf9e69ed0ad74d + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19c80ec4a6deb7e5ed1033dda933498f + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3cf5e1d21a17956d1dffad6a7c41c659 + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 69fd12e8505f8ded2fdcb197a121b362 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8aa584e2cc4d17417a97cb9a28ba29c8 + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = abc786fb1edb504580c4d882ef29a0c7 + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e19fb60a3e1de0166f483c97824a978 + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7656709538dd5fec41e0ce6a0f8e207d + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a67cf333b314d411d3c0ae6e1cfcd8f5 + +[DECRYPT] + +COUNT = 0 +KEY = e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0956259c9cd5cfd0181cca53380cde06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e4e18424e591a3d5b6f0876f16f8594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93f3270cfc877ef17e106ce938979cb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = cd62376d5ebb414917f0c78f05266433dc9192a1ec943300 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f6c25ff41858561bb62f36492e93c29 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 502a6ab36984af268bf423c7f509205207fc1552af4a91e5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e06556dcbb00b809a025047cff2a940 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3608c344868e94555d23a120f8a5502d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77da2021935b840b7f5dcc39132da9e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b7c24f825e3bf9873c9f14d39a0e6f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64ebf95686b353508c90ecd8b6134316 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff558c5d27210b7929b73fc708eb4cf1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae +IV = 00000000000000000000000000000000 +CIPHERTEXT = a2c3b2a818075490a7b4c14380f02702 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cfe4d74002696ccf7d87b14a2f9cafc9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2eafd86f63b109b91f5dbb3a3fb7e13 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b9fdd1c5975655f539998b306a324af +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd619e1cf204446112e0af2b9afa8f8c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d4f0aae13c8fe9339fbf9e69ed0ad74d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19c80ec4a6deb7e5ed1033dda933498f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3cf5e1d21a17956d1dffad6a7c41c659 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 45899367c3132849763073c435a9288a766c8b9ec2308516 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69fd12e8505f8ded2fdcb197a121b362 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8aa584e2cc4d17417a97cb9a28ba29c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = abc786fb1edb504580c4d882ef29a0c7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = d184c36cf0dddfec39e654195006022237871a47c33d3198 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e19fb60a3e1de0166f483c97824a978 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7656709538dd5fec41e0ce6a0f8e207d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a67cf333b314d411d3c0ae6e1cfcd8f5 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox256.rsp new file mode 100644 index 000000000..aa2f4f00b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBKeySbox256.rsp @@ -0,0 +1,203 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for OFB +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:12:03 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 46f2fb342d6f0ab477476fc501242c5f + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bf3b0a69aeb6657794f2901b1440ad4 + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 352065272169abf9856843927d0674fd + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4307456a9e67813b452e15fa8fffe398 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4663446607354989477a5c6f0f007ef4 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 531c2c38344578b84d50b3c917bbb6e1 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc6aec906323480005c58e7e1ab004ad + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a3944b95ca0b52043584ef02151926a8 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a74289fe73a4c123ca189ea1e1b49ad5 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b91d4ea4488644b56cf0812fa7fcf5fc + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 304f81ab61a80c2e743b94d5002a126b + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 649a71545378c783e368c9ade7114f6c + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 47cb030da2ab051dfc6c4bf6910d12bb + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 798c7c005dee432b2c8ea5dfa381ecc3 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 637c31dc2591a07636f646b72daabbe7 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 179a49c712154bbffbe6e7a84a18e220 + +[DECRYPT] + +COUNT = 0 +KEY = c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 46f2fb342d6f0ab477476fc501242c5f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bf3b0a69aeb6657794f2901b1440ad4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c +IV = 00000000000000000000000000000000 +CIPHERTEXT = 352065272169abf9856843927d0674fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4307456a9e67813b452e15fa8fffe398 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4663446607354989477a5c6f0f007ef4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 531c2c38344578b84d50b3c917bbb6e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc6aec906323480005c58e7e1ab004ad +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3944b95ca0b52043584ef02151926a8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e +IV = 00000000000000000000000000000000 +CIPHERTEXT = a74289fe73a4c123ca189ea1e1b49ad5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b91d4ea4488644b56cf0812fa7fcf5fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 304f81ab61a80c2e743b94d5002a126b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 649a71545378c783e368c9ade7114f6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee +IV = 00000000000000000000000000000000 +CIPHERTEXT = 47cb030da2ab051dfc6c4bf6910d12bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 798c7c005dee432b2c8ea5dfa381ecc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 637c31dc2591a07636f646b72daabbe7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e +IV = 00000000000000000000000000000000 +CIPHERTEXT = 179a49c712154bbffbe6e7a84a18e220 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT128.rsp new file mode 100644 index 000000000..544bfe008 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT128.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for OFB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:59 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 89f6806368c130627a98bfb6bb5b1fd7 +IV = b24d13affed86717df32a5b43fa9b859 +PLAINTEXT = 056f3063170450a5ac72c15caa54c690 +CIPHERTEXT = b0e7562dac92f90d5935c57baf336204 + +COUNT = 1 +KEY = 3911d64ec453c96f23ad7acd14687dd3 +IV = b0e7562dac92f90d5935c57baf336204 +PLAINTEXT = f7a15088e12759d69c688638c207224d +CIPHERTEXT = daa753afdef136565d051f4c651eda8d + +COUNT = 2 +KEY = e3b685e11aa2ff397ea865817176a75e +IV = daa753afdef136565d051f4c651eda8d +PLAINTEXT = 86cfc4e5075c61702322918f229b9cf7 +CIPHERTEXT = 3bc92d7999448ab838609be1f5e1beab + +COUNT = 3 +KEY = d87fa89883e6758146c8fe60849719f5 +IV = 3bc92d7999448ab838609be1f5e1beab +PLAINTEXT = 85bb52fb90677a73d5c1b23095515ed1 +CIPHERTEXT = d9255c5447645cc8ca5838e3d7719b78 + +COUNT = 4 +KEY = 015af4ccc48229498c90c68353e6828d +IV = d9255c5447645cc8ca5838e3d7719b78 +PLAINTEXT = cd6bb13ed927ce45cfcfdd77d7d23b42 +CIPHERTEXT = a9226e4c9f172e721725c414e8e865b2 + +COUNT = 5 +KEY = a8789a805b95073b9bb50297bb0ee73f +IV = a9226e4c9f172e721725c414e8e865b2 +PLAINTEXT = 4b53296498da0cf82fbcd00cd6b34743 +CIPHERTEXT = 87c8e2671c1aed679e5f1f9d75b892fe + +COUNT = 6 +KEY = 2fb078e7478fea5c05ea1d0aceb675c1 +IV = 87c8e2671c1aed679e5f1f9d75b892fe +PLAINTEXT = a6e3f89b7f5143850f68677184046ef2 +CIPHERTEXT = af2368bab3733a97e135d84e12286f07 + +COUNT = 7 +KEY = 8093105df4fcd0cbe4dfc544dc9e1ac6 +IV = af2368bab3733a97e135d84e12286f07 +PLAINTEXT = ac5e07b35ad79cd50f4a2b2863fb3834 +CIPHERTEXT = 6bbd9bb9c27e82ad804654e8f0a7294e + +COUNT = 8 +KEY = eb2e8be436825266649991ac2c393388 +IV = 6bbd9bb9c27e82ad804654e8f0a7294e +PLAINTEXT = a0d58adbbbd89eae94aa5e36c834d042 +CIPHERTEXT = 16fe51e0c4b5e66ffdf5a50335f80009 + +COUNT = 9 +KEY = fdd0da04f237b409996c34af19c13381 +IV = 16fe51e0c4b5e66ffdf5a50335f80009 +PLAINTEXT = 774fa84d1193bebe49a78ec4e848b19b +CIPHERTEXT = 4f62e80052b90810259e5c3faf1377d2 + +COUNT = 10 +KEY = b2b23204a08ebc19bcf26890b6d24453 +IV = 4f62e80052b90810259e5c3faf1377d2 +PLAINTEXT = 4f1fc019a3787bec7e8b60dc050a280e +CIPHERTEXT = 3dde69a04a225505b3a838108e46d84f + +COUNT = 11 +KEY = 8f6c5ba4eaace91c0f5a508038949c1c +IV = 3dde69a04a225505b3a838108e46d84f +PLAINTEXT = 17224ea2f24865694738c71bb66d2852 +CIPHERTEXT = 4c4df0c89fcfa4a041caf4c119cfe10e + +COUNT = 12 +KEY = c321ab6c75634dbc4e90a441215b7d12 +IV = 4c4df0c89fcfa4a041caf4c119cfe10e +PLAINTEXT = 42c0270b257d85607d89cbdd760b7592 +CIPHERTEXT = 7317c4106743e7518b182c8b3357c678 + +COUNT = 13 +KEY = b0366f7c1220aaedc58888ca120cbb6a +IV = 7317c4106743e7518b182c8b3357c678 +PLAINTEXT = 34737950e3b38630e454ced9f3fd9ef2 +CIPHERTEXT = b757b614c2c458ed9786294a0891d0f2 + +COUNT = 14 +KEY = 0761d968d0e4f200520ea1801a9d6b98 +IV = b757b614c2c458ed9786294a0891d0f2 +PLAINTEXT = 264baa06d4612e1ec7d0e4c2ee17f778 +CIPHERTEXT = d78365a46cc7c4caf604ae8a207b61fa + +COUNT = 15 +KEY = d0e2bcccbc2336caa40a0f0a3ae60a62 +IV = d78365a46cc7c4caf604ae8a207b61fa +PLAINTEXT = 9507673352e0ecd7b2b63a86374020ff +CIPHERTEXT = eeae586a77950f355ec5337bdfc357af + +COUNT = 16 +KEY = 3e4ce4a6cbb639fffacf3c71e5255dcd +IV = eeae586a77950f355ec5337bdfc357af +PLAINTEXT = fe2978821be39677a142cdeea9f21bf9 +CIPHERTEXT = 810098d9edf127da39ec7b71792a5490 + +COUNT = 17 +KEY = bf4c7c7f26471e25c32347009c0f095d +IV = 810098d9edf127da39ec7b71792a5490 +PLAINTEXT = 407c1dccb75f0fc1a1ff262701fd92b9 +CIPHERTEXT = a5872b19a941d64c65a29b2f4d9f000d + +COUNT = 18 +KEY = 1acb57668f06c869a681dc2fd1900950 +IV = a5872b19a941d64c65a29b2f4d9f000d +PLAINTEXT = fd77815c12c67bbb1981aba6f897be13 +CIPHERTEXT = 75a5deb9e10b4961f41ee1aed2facf46 + +COUNT = 19 +KEY = 6f6e89df6e0d8108529f3d81036ac616 +IV = 75a5deb9e10b4961f41ee1aed2facf46 +PLAINTEXT = 297f51902ebe38ce4a32dbb43e43b76e +CIPHERTEXT = b79f23e79fa557b1a97e92eb2b5c16c4 + +COUNT = 20 +KEY = d8f1aa38f1a8d6b9fbe1af6a2836d0d2 +IV = b79f23e79fa557b1a97e92eb2b5c16c4 +PLAINTEXT = f28bf56cb3d4c9b5eb331b6082680e38 +CIPHERTEXT = 8a045e48e350078711ab47861450d7d9 + +COUNT = 21 +KEY = 52f5f47012f8d13eea4ae8ec3c66070b +IV = 8a045e48e350078711ab47861450d7d9 +PLAINTEXT = d4953c9122632c8c154eb63ea2005bc2 +CIPHERTEXT = ad02cf1e38037c360dfe084c76f70de0 + +COUNT = 22 +KEY = fff73b6e2afbad08e7b4e0a04a910aeb +IV = ad02cf1e38037c360dfe084c76f70de0 +PLAINTEXT = 0f44c69cfd40fe061f899c1c9956ed3c +CIPHERTEXT = fed51f5a54bc3623d496553cab9117db + +COUNT = 23 +KEY = 012224347e479b2b3322b59ce1001d30 +IV = fed51f5a54bc3623d496553cab9117db +PLAINTEXT = 87d59eb3bd174ede2ca0e29e3b8c9097 +CIPHERTEXT = cd2b17e0712b4d953d783f7beb1842dc + +COUNT = 24 +KEY = cc0933d40f6cd6be0e5a8ae70a185fec +IV = cd2b17e0712b4d953d783f7beb1842dc +PLAINTEXT = 1d4b378b9c4eb624dd756bf272c9c1ae +CIPHERTEXT = fa276a29b1fb0b4871bb174e7103973b + +COUNT = 25 +KEY = 362e59fdbe97ddf67fe19da97b1bc8d7 +IV = fa276a29b1fb0b4871bb174e7103973b +PLAINTEXT = a642af65ea004dfbbac734bdb91e7542 +CIPHERTEXT = d22e6c74a3997ba113158bc293be55fb + +COUNT = 26 +KEY = e40035891d0ea6576cf4166be8a59d2c +IV = d22e6c74a3997ba113158bc293be55fb +PLAINTEXT = f682c5a4e92e4ce6f56e554e90f1a066 +CIPHERTEXT = 7583197174a5d11ad1765866779a2998 + +COUNT = 27 +KEY = 91832cf869ab774dbd824e0d9f3fb4b4 +IV = 7583197174a5d11ad1765866779a2998 +PLAINTEXT = aa02f2101694e352f0ce14a0c033499c +CIPHERTEXT = c181bd409d8397dc701b5ef4da5926db + +COUNT = 28 +KEY = 500291b8f428e091cd9910f94566926f +IV = c181bd409d8397dc701b5ef4da5926db +PLAINTEXT = b5a12be121cc582d3c42c567cb9d6df9 +CIPHERTEXT = fe6e64bebbb27e448298cffce8eab5f3 + +COUNT = 29 +KEY = ae6cf5064f9a9ed54f01df05ad8c279c +IV = fe6e64bebbb27e448298cffce8eab5f3 +PLAINTEXT = 0f13d0bdc19666f61403759c41430785 +CIPHERTEXT = 76dc0da2d9408000777607eacc710de1 + +COUNT = 30 +KEY = d8b0f8a496da1ed53877d8ef61fd2a7d +IV = 76dc0da2d9408000777607eacc710de1 +PLAINTEXT = 8ab345aca6d226385e92556ab11f73dc +CIPHERTEXT = 79a5a1d548bc6aa99b1b6ec68d2989a0 + +COUNT = 31 +KEY = a1155971de66747ca36cb629ecd4a3dd +IV = 79a5a1d548bc6aa99b1b6ec68d2989a0 +PLAINTEXT = 14244bfdde4834f7c7ebace2e21e0efb +CIPHERTEXT = ad1554ce804d9376d3477a3c261f812b + +COUNT = 32 +KEY = 0c000dbf5e2be70a702bcc15cacb22f6 +IV = ad1554ce804d9376d3477a3c261f812b +PLAINTEXT = 8880f4b7c78e0384a2c4e670ad13f50a +CIPHERTEXT = acec280cd222dafa7c10e621f4fcf0bf + +COUNT = 33 +KEY = a0ec25b38c093df00c3b2a343e37d249 +IV = acec280cd222dafa7c10e621f4fcf0bf +PLAINTEXT = 0fbb8fd9687057dc0b41fc944b4732b0 +CIPHERTEXT = 166cca4cb16c05917fff2c9064b8c779 + +COUNT = 34 +KEY = b680efff3d65386173c406a45a8f1530 +IV = 166cca4cb16c05917fff2c9064b8c779 +PLAINTEXT = 2757c6bb6397b34df691f56c1a82effe +CIPHERTEXT = 462a9327b41960999ec6714c789ea8be + +COUNT = 35 +KEY = f0aa7cd8897c58f8ed0277e82211bd8e +IV = 462a9327b41960999ec6714c789ea8be +PLAINTEXT = ece99b46a17a02454d77707596b8f229 +CIPHERTEXT = 7c4e9f96e41f4295eb1198e7db0b917d + +COUNT = 36 +KEY = 8ce4e34e6d631a6d0613ef0ff91a2cf3 +IV = 7c4e9f96e41f4295eb1198e7db0b917d +PLAINTEXT = a3ccd973c06879f4f35a0b0431fa7415 +CIPHERTEXT = 230fab46ad33bbd0e4330f6c0f4cfa27 + +COUNT = 37 +KEY = afeb4808c050a1bde220e063f656d6d4 +IV = 230fab46ad33bbd0e4330f6c0f4cfa27 +PLAINTEXT = 991065a53a110bc4086ea13f57ed87c2 +CIPHERTEXT = 22fcda6641c9fae985535195fbdf2cfe + +COUNT = 38 +KEY = 8d17926e81995b546773b1f60d89fa2a +IV = 22fcda6641c9fae985535195fbdf2cfe +PLAINTEXT = 6f4efec9a69101c85eba297988f5a8e9 +CIPHERTEXT = 6ff82c050e55b56399b26534786448a9 + +COUNT = 39 +KEY = e2efbe6b8fccee37fec1d4c275edb283 +IV = 6ff82c050e55b56399b26534786448a9 +PLAINTEXT = 5914a49524014c3f5960f3a591afb9dd +CIPHERTEXT = 4b222a9c06b14e0f922c968bd7161b42 + +COUNT = 40 +KEY = a9cd94f7897da0386ced4249a2fba9c1 +IV = 4b222a9c06b14e0f922c968bd7161b42 +PLAINTEXT = 48f8f591df3b48ac24918552d2e7590e +CIPHERTEXT = a9651991c2f08ebac6a9695020e43741 + +COUNT = 41 +KEY = 00a88d664b8d2e82aa442b19821f9e80 +IV = a9651991c2f08ebac6a9695020e43741 +PLAINTEXT = 4d1834b43813a49e61978b44416e0f7a +CIPHERTEXT = 9cbdf285e4d67072428c81138b8ed221 + +COUNT = 42 +KEY = 9c157fe3af5b5ef0e8c8aa0a09914ca1 +IV = 9cbdf285e4d67072428c81138b8ed221 +PLAINTEXT = 38f5d679bb274e535cb2e8d4ad2db923 +CIPHERTEXT = d3f6e964b2c1d98cf2c6c17dca6c7c19 + +COUNT = 43 +KEY = 4fe396871d9a877c1a0e6b77c3fd30b8 +IV = d3f6e964b2c1d98cf2c6c17dca6c7c19 +PLAINTEXT = a38e6aa9af05b199a7da366aed545ce6 +CIPHERTEXT = 2d540d8795b9b86415d8c7387fcf6f04 + +COUNT = 44 +KEY = 62b79b0088233f180fd6ac4fbc325fbc +IV = 2d540d8795b9b86415d8c7387fcf6f04 +PLAINTEXT = a738fc50a72e67d5db7bac31af2120a1 +CIPHERTEXT = 6d1ed4ba9a522741cbbe7d2669123509 + +COUNT = 45 +KEY = 0fa94fba12711859c468d169d5206ab5 +IV = 6d1ed4ba9a522741cbbe7d2669123509 +PLAINTEXT = 81d722e8a584d2e327812fe3cd1db23c +CIPHERTEXT = 9d74be45831bf1f8a4174a084408c62c + +COUNT = 46 +KEY = 92ddf1ff916ae9a1607f9b619128ac99 +IV = 9d74be45831bf1f8a4174a084408c62c +PLAINTEXT = 01077d02bc7647f9c10e3d111231889a +CIPHERTEXT = b54a223aff3c472056fa7e6d47505b64 + +COUNT = 47 +KEY = 2797d3c56e56ae813685e50cd678f7fd +IV = b54a223aff3c472056fa7e6d47505b64 +PLAINTEXT = cc0f4bdf8cea28af083e0129c428ff2b +CIPHERTEXT = 5ea83e9198b4995de9d4a19cb1726f18 + +COUNT = 48 +KEY = 793fed54f6e237dcdf514490670a98e5 +IV = 5ea83e9198b4995de9d4a19cb1726f18 +PLAINTEXT = dda18e4b2c1dea6350e7f5a5cebe0d19 +CIPHERTEXT = 4dde82e443be7be0d3de1a700107b79c + +COUNT = 49 +KEY = 34e16fb0b55c4c3c0c8f5ee0660d2f79 +IV = 4dde82e443be7be0d3de1a700107b79c +PLAINTEXT = db25a75688b5bc2cf85d3ca3b278efb4 +CIPHERTEXT = 025c06836986b29ab6b696d8a19f7227 + +COUNT = 50 +KEY = 36bd6933dcdafea6ba39c838c7925d5e +IV = 025c06836986b29ab6b696d8a19f7227 +PLAINTEXT = d2ea9b3cfd6da0aad32b71cdcdc39b1e +CIPHERTEXT = 0289cead0ff47cae8039f3eff3379eef + +COUNT = 51 +KEY = 3434a79ed32e82083a003bd734a5c3b1 +IV = 0289cead0ff47cae8039f3eff3379eef +PLAINTEXT = 95447f2de33b4359a9f3979cd61c09ff +CIPHERTEXT = d06fbb9552c4a0057911936a18880bb8 + +COUNT = 52 +KEY = e45b1c0b81ea220d4311a8bd2c2dc809 +IV = d06fbb9552c4a0057911936a18880bb8 +PLAINTEXT = b59be96882f9a9cc2ebc239fbdc06639 +CIPHERTEXT = f50aa2a64a92784934c443feebc0ef4b + +COUNT = 53 +KEY = 1151beadcb785a4477d5eb43c7ed2742 +IV = f50aa2a64a92784934c443feebc0ef4b +PLAINTEXT = 593812583584fd7e886c3744f47ad20d +CIPHERTEXT = 2f31af54bf286d830a56ebe281c91341 + +COUNT = 54 +KEY = 3e6011f9745037c77d8300a146243403 +IV = 2f31af54bf286d830a56ebe281c91341 +PLAINTEXT = d6f6ab461a4a8886c5b89dae43f424f6 +CIPHERTEXT = 915da3460deab9c28060520431055741 + +COUNT = 55 +KEY = af3db2bf79ba8e05fde352a577216342 +IV = 915da3460deab9c28060520431055741 +PLAINTEXT = 6950121482ce6d309bd77b67ddaa3134 +CIPHERTEXT = 9828729dc39bbba275355936b3c75b51 + +COUNT = 56 +KEY = 3715c022ba2135a788d60b93c4e63813 +IV = 9828729dc39bbba275355936b3c75b51 +PLAINTEXT = a09863c3f289f7f600d62ff3e613acbb +CIPHERTEXT = 0f1412ce0c17039dec34577a8812350d + +COUNT = 57 +KEY = 3801d2ecb636363a64e25ce94cf40d1e +IV = 0f1412ce0c17039dec34577a8812350d +PLAINTEXT = 3c0e3b7cd1393ed2b4b8937b31295375 +CIPHERTEXT = 16c45015cdadb5e985b0bdcf02877c62 + +COUNT = 58 +KEY = 2ec582f97b9b83d3e152e1264e73717c +IV = 16c45015cdadb5e985b0bdcf02877c62 +PLAINTEXT = f10c0ea24843840f249ce2346e406c85 +CIPHERTEXT = a99a5e4cde34eaf31e0c288f8ce66b53 + +COUNT = 59 +KEY = 875fdcb5a5af6920ff5ec9a9c2951a2f +IV = a99a5e4cde34eaf31e0c288f8ce66b53 +PLAINTEXT = e715d2e6ed351fbe38a0c3b13cd7e70f +CIPHERTEXT = c37666dc9252692ea16014aca349e81e + +COUNT = 60 +KEY = 4429ba6937fd000e5e3edd0561dcf231 +IV = c37666dc9252692ea16014aca349e81e +PLAINTEXT = 468942aa1b49526d164a8d27f6a51a8f +CIPHERTEXT = 30eed137193c7e7c78d40eb4563343f2 + +COUNT = 61 +KEY = 74c76b5e2ec17e7226ead3b137efb1c3 +IV = 30eed137193c7e7c78d40eb4563343f2 +PLAINTEXT = a6a69a3df62963ee589336d273d3bc24 +CIPHERTEXT = 7aa43c25d8b1b12076a05d66e18dc26f + +COUNT = 62 +KEY = 0e63577bf670cf52504a8ed7d66273ac +IV = 7aa43c25d8b1b12076a05d66e18dc26f +PLAINTEXT = ecdb836f82c8b58306c106860f1a2642 +CIPHERTEXT = 08b871a7b83b5453d7f47ec6b342520a + +COUNT = 63 +KEY = 06db26dc4e4b9b0187bef011652021a6 +IV = 08b871a7b83b5453d7f47ec6b342520a +PLAINTEXT = 9a14c576a62636a451bcdc841204ac29 +CIPHERTEXT = 6d0d80cf2fcbaa5b9d89d607572d584f + +COUNT = 64 +KEY = 6bd6a6136180315a1a372616320d79e9 +IV = 6d0d80cf2fcbaa5b9d89d607572d584f +PLAINTEXT = 2cedd4b152bcea3c26551a195c9b5936 +CIPHERTEXT = 9926ae8f30eacd90cdf81d9a45fe3b84 + +COUNT = 65 +KEY = f2f0089c516afccad7cf3b8c77f3426d +IV = 9926ae8f30eacd90cdf81d9a45fe3b84 +PLAINTEXT = 3fb8abb431ec54b70dbdec52267162d4 +CIPHERTEXT = 2ae89cfc33f1220eb70c755943f5ccd6 + +COUNT = 66 +KEY = d8189460629bdec460c34ed534068ebb +IV = 2ae89cfc33f1220eb70c755943f5ccd6 +PLAINTEXT = 63555f1f938cf2a2f10cfd9de3d3809e +CIPHERTEXT = e34fb86f763ebc3603f86c7db82cac36 + +COUNT = 67 +KEY = 3b572c0f14a562f2633b22a88c2a228d +IV = e34fb86f763ebc3603f86c7db82cac36 +PLAINTEXT = 3838e37db47709dd5105e949f00bbd3c +CIPHERTEXT = de59a95e77aeecd9e01a3e4a480d4862 + +COUNT = 68 +KEY = e50e8551630b8e2b83211ce2c4276aef +IV = de59a95e77aeecd9e01a3e4a480d4862 +PLAINTEXT = c09a198bc2bacf226c6e6d8d048ff8f4 +CIPHERTEXT = f4e17a917df0a7dda47501b3c168ad82 + +COUNT = 69 +KEY = 11efffc01efb29f627541d51054fc76d +IV = f4e17a917df0a7dda47501b3c168ad82 +PLAINTEXT = 4a143869a1cdacfe84e6fba682c8552a +CIPHERTEXT = 449721ce7669d00f28707ed27a9cc910 + +COUNT = 70 +KEY = 5578de0e6892f9f90f2463837fd30e7d +IV = 449721ce7669d00f28707ed27a9cc910 +PLAINTEXT = fb65cad9c6d19d355339c6e2b789728e +CIPHERTEXT = b56720f70e5fb8b61b4e20af6655c2c2 + +COUNT = 71 +KEY = e01ffef966cd414f146a432c1986ccbf +IV = b56720f70e5fb8b61b4e20af6655c2c2 +PLAINTEXT = deb69b0d26137fae647ba2809d10fb88 +CIPHERTEXT = 1a6b18afb6527c7443bbb8421f65dc9f + +COUNT = 72 +KEY = fa74e656d09f3d3b57d1fb6e06e31020 +IV = 1a6b18afb6527c7443bbb8421f65dc9f +PLAINTEXT = aaea916f1840f662b91ee7d2f3aa1906 +CIPHERTEXT = 9bff53fa4ceeb994486577a83b07fdf7 + +COUNT = 73 +KEY = 618bb5ac9c7184af1fb48cc63de4edd7 +IV = 9bff53fa4ceeb994486577a83b07fdf7 +PLAINTEXT = 9d538b77cdd1fa1557b00a67e3b6437a +CIPHERTEXT = 27938f3788dbb7680a7964768b5ba359 + +COUNT = 74 +KEY = 46183a9b14aa33c715cde8b0b6bf4e8e +IV = 27938f3788dbb7680a7964768b5ba359 +PLAINTEXT = 78406e0df38c80d06caf58c9c1786382 +CIPHERTEXT = 85007a82bb14bb263761d1a028cdd0f7 + +COUNT = 75 +KEY = c3184019afbe88e122ac39109e729e79 +IV = 85007a82bb14bb263761d1a028cdd0f7 +PLAINTEXT = 341e5a2866900c646abeeeb813714401 +CIPHERTEXT = f647041f7298ce433cd0472e39c2d619 + +COUNT = 76 +KEY = 355f4406dd2646a21e7c7e3ea7b04860 +IV = f647041f7298ce433cd0472e39c2d619 +PLAINTEXT = de00e5fc8aee4544bcab4299f8cadc12 +CIPHERTEXT = 2dac727a62754fbe8c1edb025f32c55a + +COUNT = 77 +KEY = 18f3367cbf53091c9262a53cf8828d3a +IV = 2dac727a62754fbe8c1edb025f32c55a +PLAINTEXT = 029c142b8ce5cea403e94531a256b582 +CIPHERTEXT = 5ee39e3799033bc39fffee70aa6a7db9 + +COUNT = 78 +KEY = 4610a84b265032df0d9d4b4c52e8f083 +IV = 5ee39e3799033bc39fffee70aa6a7db9 +PLAINTEXT = b3eb6ec6de36ba5318cf2949f38ee11e +CIPHERTEXT = b904959334d913be4b79b9ad47cec832 + +COUNT = 79 +KEY = ff143dd81289216146e4f2e1152638b1 +IV = b904959334d913be4b79b9ad47cec832 +PLAINTEXT = 3c126964b2045436b9e130b5d7205e18 +CIPHERTEXT = 6b04c3a1f007d4fe1d8ed1fb36f652d9 + +COUNT = 80 +KEY = 9410fe79e28ef59f5b6a231a23d06a68 +IV = 6b04c3a1f007d4fe1d8ed1fb36f652d9 +PLAINTEXT = c6ee16f62fd20d3ab8d8f894232cef1f +CIPHERTEXT = 07f21f21f33536c37dee7a7f531a4d0f + +COUNT = 81 +KEY = 93e2e15811bbc35c2684596570ca2767 +IV = 07f21f21f33536c37dee7a7f531a4d0f +PLAINTEXT = a9c79c44b4887d48047293d5718e8331 +CIPHERTEXT = e2b411e1ce4e979335acd3c3aae5ffb5 + +COUNT = 82 +KEY = 7156f0b9dff554cf13288aa6da2fd8d2 +IV = e2b411e1ce4e979335acd3c3aae5ffb5 +PLAINTEXT = cd224c536502bb4e147fdc4318fd5028 +CIPHERTEXT = 99f6439fa87845b4ea6a0d5e855364f1 + +COUNT = 83 +KEY = e8a0b326778d117bf94287f85f7cbc23 +IV = 99f6439fa87845b4ea6a0d5e855364f1 +PLAINTEXT = 0c4884cd78cb8b27c94dcdb6d1d763d3 +CIPHERTEXT = a179e98f6482272d42833711b26a2405 + +COUNT = 84 +KEY = 49d95aa9130f3656bbc1b0e9ed169826 +IV = a179e98f6482272d42833711b26a2405 +PLAINTEXT = 3c21413fbf88bbe9a44a879a1e6ccc48 +CIPHERTEXT = 1aa0ddb747463503fb3e6fba867fc0a6 + +COUNT = 85 +KEY = 5379871e5449035540ffdf536b695880 +IV = 1aa0ddb747463503fb3e6fba867fc0a6 +PLAINTEXT = 2e20a414c1f1814a8bedebf8d82ae5ee +CIPHERTEXT = ffd296392a781e07369a338d7e4223c4 + +COUNT = 86 +KEY = acab11277e311d527665ecde152b7b44 +IV = ffd296392a781e07369a338d7e4223c4 +PLAINTEXT = c8672cdd50e9e639ae61f0c75a0275f1 +CIPHERTEXT = 8d227af253876502bb5e21f70d9cf1b1 + +COUNT = 87 +KEY = 21896bd52db67850cd3bcd2918b78af5 +IV = 8d227af253876502bb5e21f70d9cf1b1 +PLAINTEXT = 0dd33071d2034594c9f60459eb098065 +CIPHERTEXT = 7b2b6edaf0b4c03a88781d533d8137cb + +COUNT = 88 +KEY = 5aa2050fdd02b86a4543d07a2536bd3e +IV = 7b2b6edaf0b4c03a88781d533d8137cb +PLAINTEXT = d6e524305f72a50d901ec2b4cb8a39ca +CIPHERTEXT = 1e7bb07a4680901ef7e3827ea3522b5b + +COUNT = 89 +KEY = 44d9b5759b822874b2a0520486649665 +IV = 1e7bb07a4680901ef7e3827ea3522b5b +PLAINTEXT = d39d633382fe6fabaf4bb2633dd5ed6a +CIPHERTEXT = 37a44c2df5255a29c66bfd8439cb9842 + +COUNT = 90 +KEY = 737df9586ea7725d74cbaf80bfaf0e27 +IV = 37a44c2df5255a29c66bfd8439cb9842 +PLAINTEXT = 588f9bd86d9aa8ad9cb34905bb17dca8 +CIPHERTEXT = 6ae8c4b4e112db8c940c58e8aee16fd7 + +COUNT = 91 +KEY = 19953dec8fb5a9d1e0c7f768114e61f0 +IV = 6ae8c4b4e112db8c940c58e8aee16fd7 +PLAINTEXT = 5840b5e60d3d64e992b2133da520ddb0 +CIPHERTEXT = 6e5b0a8de191370a6d2fa5a00c92beec + +COUNT = 92 +KEY = 77ce37616e249edb8de852c81ddcdf1c +IV = 6e5b0a8de191370a6d2fa5a00c92beec +PLAINTEXT = 819b01913333e890736bfe839ba77e67 +CIPHERTEXT = 5cbde030d083a7ba7c337dbdda9fb814 + +COUNT = 93 +KEY = 2b73d751bea73961f1db2f75c7436708 +IV = 5cbde030d083a7ba7c337dbdda9fb814 +PLAINTEXT = 515b49c53ba8f5426ac47a6708487f30 +CIPHERTEXT = da5bc7516308ae65f88526ad116b4982 + +COUNT = 94 +KEY = f1281000ddaf9704095e09d8d6282e8a +IV = da5bc7516308ae65f88526ad116b4982 +PLAINTEXT = c33897f2681240f36ab104f231249c58 +CIPHERTEXT = 905189947a2ee56c1b30cd9fbbb35685 + +COUNT = 95 +KEY = 61799994a7817268126ec4476d9b780f +IV = 905189947a2ee56c1b30cd9fbbb35685 +PLAINTEXT = 05aa7ea4bd4b49ab01c4a6e38993c7be +CIPHERTEXT = 6a32280f991ea0aa7a11e1d1d6b9423d + +COUNT = 96 +KEY = 0b4bb19b3e9fd2c2687f2596bb223a32 +IV = 6a32280f991ea0aa7a11e1d1d6b9423d +PLAINTEXT = 8c33e01e922f26a5713e148178927fff +CIPHERTEXT = 4d873f786fb2b60c2b1ae747b9033030 + +COUNT = 97 +KEY = 46cc8ee3512d64ce4365c2d102210a02 +IV = 4d873f786fb2b60c2b1ae747b9033030 +PLAINTEXT = f25fa0dcbc60b8b8082a54149dd463c6 +CIPHERTEXT = 92531b7fe446d07ce5e338baf58ae9f6 + +COUNT = 98 +KEY = d49f959cb56bb4b2a686fa6bf7abe3f4 +IV = 92531b7fe446d07ce5e338baf58ae9f6 +PLAINTEXT = 2fdcf6d34946a7d79b7801748003f4d4 +CIPHERTEXT = 592e5e157a1633083c6ab905eebc3ff9 + +COUNT = 99 +KEY = 8db1cb89cf7d87ba9aec436e1917dc0d +IV = 592e5e157a1633083c6ab905eebc3ff9 +PLAINTEXT = 1aacbde6e461e77dc000ef151ebf089e +CIPHERTEXT = 6754f2521b14154819b1b4f2a98a89fa + + +[DECRYPT] + +COUNT = 0 +KEY = 6ec8f8db4b5eec1f64a799c1bb29b9aa +IV = b2321765f48eddc7f84b9423a540003c +CIPHERTEXT = 0dda834adaec203904d288f43263c4b7 +PLAINTEXT = 9c1037b77f32bd314929cea95a39bcdc + +COUNT = 1 +KEY = f2d8cf6c346c512e2d8e5768e1100576 +IV = 9c1037b77f32bd314929cea95a39bcdc +CIPHERTEXT = 1d4c9d0675f0fd0fc843e83dafe6571e +PLAINTEXT = 669d8cf0914b9fccf60367a28eba7248 + +COUNT = 2 +KEY = 9445439ca527cee2db8d30ca6faa773e +IV = 669d8cf0914b9fccf60367a28eba7248 +CIPHERTEXT = 887a1198a7658b4cba5c6d02f4c6637d +PLAINTEXT = 590c69bd9eeb15158139a98c1e281199 + +COUNT = 3 +KEY = cd492a213bccdbf75ab49946718266a7 +IV = 590c69bd9eeb15158139a98c1e281199 +CIPHERTEXT = fa4c515bfd9e5b2cba0268f1edf2287e +PLAINTEXT = 6c62c3e1de88a252d20067779c44cdbb + +COUNT = 4 +KEY = a12be9c0e54479a588b4fe31edc6ab1c +IV = 6c62c3e1de88a252d20067779c44cdbb +CIPHERTEXT = 6503e5a55cef5644704a38fa8870a30d +PLAINTEXT = 5368a980330fa54a3fc213f0aa599e8b + +COUNT = 5 +KEY = f2434040d64bdcefb776edc1479f3597 +IV = 5368a980330fa54a3fc213f0aa599e8b +CIPHERTEXT = fc902b8f1b77f35a201c99ae0f7e422e +PLAINTEXT = 187172a7fe2abc92bc053ba2f26d795f + +COUNT = 6 +KEY = ea3232e72861607d0b73d663b5f24cc8 +IV = 187172a7fe2abc92bc053ba2f26d795f +CIPHERTEXT = 2b09bf758ee24c2699aa141103d044b0 +PLAINTEXT = 17fb8dcc1d83de89182ea18ac95e0dca + +COUNT = 7 +KEY = fdc9bf2b35e2bef4135d77e97cac4102 +IV = 17fb8dcc1d83de89182ea18ac95e0dca +CIPHERTEXT = 00fc0a8008c99ade4abccc62cd9adc8f +PLAINTEXT = 0995691264cc8384047500ff3396d949 + +COUNT = 8 +KEY = f45cd639512e3d70172877164f3a984b +IV = 0995691264cc8384047500ff3396d949 +CIPHERTEXT = ff1e48beec4d3def5590c3bd251aa668 +PLAINTEXT = c18953054ae2a91c39cc4be3e93040b4 + +COUNT = 9 +KEY = 35d5853c1bcc946c2ee43cf5a60ad8ff +IV = c18953054ae2a91c39cc4be3e93040b4 +CIPHERTEXT = 616e075ffa9433643cf8a80d63dbb751 +PLAINTEXT = 98c83d82211ee0728a423d77c7443cbc + +COUNT = 10 +KEY = ad1db8be3ad2741ea4a60182614ee443 +IV = 98c83d82211ee0728a423d77c7443cbc +CIPHERTEXT = 4184ede92edc141ba19914df65b6b733 +PLAINTEXT = 6b8e6be649e71ad8cd3f774f0f4b54cb + +COUNT = 11 +KEY = c693d35873356ec6699976cd6e05b088 +IV = 6b8e6be649e71ad8cd3f774f0f4b54cb +CIPHERTEXT = 47d0f8c2d5b53d73839c7ff2b0aff4a7 +PLAINTEXT = f415a742fd9fcea7569d7f4183ef1162 + +COUNT = 12 +KEY = 3286741a8eaaa0613f04098cedeaa1ea +IV = f415a742fd9fcea7569d7f4183ef1162 +CIPHERTEXT = 60055e6867d33ec263fcc9ed31fb5401 +PLAINTEXT = a1f967f01b3007a1e349548caaa500c5 + +COUNT = 13 +KEY = 937f13ea959aa7c0dc4d5d00474fa12f +IV = a1f967f01b3007a1e349548caaa500c5 +CIPHERTEXT = e5317fc20cf2411f09e83d4046e0b991 +PLAINTEXT = b9a36b32e8792f631409a72f57150acc + +COUNT = 14 +KEY = 2adc78d87de388a3c844fa2f105aabe3 +IV = b9a36b32e8792f631409a72f57150acc +CIPHERTEXT = f117f88974c31a56622be017fde1cd08 +PLAINTEXT = f2f42cdbabeb65be2d6acfe57df5fa0b + +COUNT = 15 +KEY = d8285403d608ed1de52e35ca6daf51e8 +IV = f2f42cdbabeb65be2d6acfe57df5fa0b +CIPHERTEXT = be796fc48b4a6f09686de6cb24966ab5 +PLAINTEXT = ff04ede8bbd8fc5dc65ee7727e916c81 + +COUNT = 16 +KEY = 272cb9eb6dd011402370d2b8133e3d69 +IV = ff04ede8bbd8fc5dc65ee7727e916c81 +CIPHERTEXT = 5c072db8b8c5df0eeb10669c9e08e619 +PLAINTEXT = 6c556300164f8f63a565d7d4faf85fcf + +COUNT = 17 +KEY = 4b79daeb7b9f9e238615056ce9c662a6 +IV = 6c556300164f8f63a565d7d4faf85fcf +CIPHERTEXT = 296cb3abe5616c328f7390f1f3dcac0b +PLAINTEXT = 221a1bcfe02af577f19d504d826e8f74 + +COUNT = 18 +KEY = 6963c1249bb56b54778855216ba8edd2 +IV = 221a1bcfe02af577f19d504d826e8f74 +CIPHERTEXT = f115d8d29ee603116a1f572be3ff2cab +PLAINTEXT = 0e2e7365c129eb21d540f95a90b728c4 + +COUNT = 19 +KEY = 674db2415a9c8075a2c8ac7bfb1fc516 +IV = 0e2e7365c129eb21d540f95a90b728c4 +CIPHERTEXT = 58a59e1c6ae75759a28138b8de594e5d +PLAINTEXT = 60e9545bf4ae9787b2427dfb02666f0e + +COUNT = 20 +KEY = 07a4e61aae3217f2108ad180f979aa18 +IV = 60e9545bf4ae9787b2427dfb02666f0e +CIPHERTEXT = 32942a0b98786eb167e7753a26648a90 +PLAINTEXT = c9b7b7a9f9b62bcd49d8b06da166baa9 + +COUNT = 21 +KEY = ce1351b357843c3f595261ed581f10b1 +IV = c9b7b7a9f9b62bcd49d8b06da166baa9 +CIPHERTEXT = b32f62459f713854573a3cd9c0a0dcaf +PLAINTEXT = e271c1133fe1047cd4f7c54641714ed4 + +COUNT = 22 +KEY = 2c6290a0686538438da5a4ab196e5e65 +IV = e271c1133fe1047cd4f7c54641714ed4 +CIPHERTEXT = 78359ea3d1365058724a776a87390231 +PLAINTEXT = 63f6f9a365b34cf47c310eb7fbcceefa + +COUNT = 23 +KEY = 4f9469030dd674b7f194aa1ce2a2b09f +IV = 63f6f9a365b34cf47c310eb7fbcceefa +CIPHERTEXT = 4ac78c0d0d60db44cf901dc26715f543 +PLAINTEXT = bf15e57cc506def134740bce645b3a30 + +COUNT = 24 +KEY = f0818c7fc8d0aa46c5e0a1d286f98aaf +IV = bf15e57cc506def134740bce645b3a30 +CIPHERTEXT = 8fd42028bad8e2c659cc1a1c0d376bb4 +PLAINTEXT = 26cc0370f912a4a0c19930bd17681a70 + +COUNT = 25 +KEY = d64d8f0f31c20ee60479916f919190df +IV = 26cc0370f912a4a0c19930bd17681a70 +CIPHERTEXT = 08e6761771ae6c8a3d855ac01e323ad1 +PLAINTEXT = d2e5c9115eff36793303892d834da5e1 + +COUNT = 26 +KEY = 04a8461e6f3d389f377a184212dc353e +IV = d2e5c9115eff36793303892d834da5e1 +CIPHERTEXT = dcb74957c6928abda1a8a2ef262ef354 +PLAINTEXT = 18db9bcac8310de9347db4be3ebc4e89 + +COUNT = 27 +KEY = 1c73ddd4a70c35760307acfc2c607bb7 +IV = 18db9bcac8310de9347db4be3ebc4e89 +CIPHERTEXT = ffc026d68295397c3fea668edf68c334 +PLAINTEXT = 8a996ad520a6dac7b16875369403b70a + +COUNT = 28 +KEY = 96eab70187aaefb1b26fd9cab863ccbd +IV = 8a996ad520a6dac7b16875369403b70a +CIPHERTEXT = d4302d849cc0f8c39f5c55418283075c +PLAINTEXT = 46902ae54df47f17d544866bbf22a3f5 + +COUNT = 29 +KEY = d07a9de4ca5e90a6672b5fa107416f48 +IV = 46902ae54df47f17d544866bbf22a3f5 +CIPHERTEXT = 0facd70d14af12136b391dd281865bfe +PLAINTEXT = b9b6fee1c06fbce79836a19e1936de1a + +COUNT = 30 +KEY = 69cc63050a312c41ff1dfe3f1e77b152 +IV = b9b6fee1c06fbce79836a19e1936de1a +CIPHERTEXT = 3e764ef9cc8ec16c44c37abff52d0b52 +PLAINTEXT = 6e04d780568b50f5f9800b680285a474 + +COUNT = 31 +KEY = 07c8b4855cba7cb4069df5571cf21526 +IV = 6e04d780568b50f5f9800b680285a474 +CIPHERTEXT = 8f6e452e1329431f3ecc48c34d11289a +PLAINTEXT = 5ceac8c71e75491cc8c3def754c6198e + +COUNT = 32 +KEY = 5b227c4242cf35a8ce5e2ba048340ca8 +IV = 5ceac8c71e75491cc8c3def754c6198e +CIPHERTEXT = c15ff78c5d22e091205741e65dcc5573 +PLAINTEXT = eab3f9331445af35833008308d12a238 + +COUNT = 33 +KEY = b1918571568a9a9d4d6e2390c526ae90 +IV = eab3f9331445af35833008308d12a238 +CIPHERTEXT = 28a7a3eca641920bfbdea4a7633df6f0 +PLAINTEXT = c8891d75452076df873f6b262fb42fd5 + +COUNT = 34 +KEY = 7918980413aaec42ca5148b6ea928145 +IV = c8891d75452076df873f6b262fb42fd5 +CIPHERTEXT = ff3e9791356c8fda0fc419be20410d2e +PLAINTEXT = 45d14b12be2110013c2764b4ada911a4 + +COUNT = 35 +KEY = 3cc9d316ad8bfc43f6762c02473b90e1 +IV = 45d14b12be2110013c2764b4ada911a4 +CIPHERTEXT = c72c506e183cb3bb95b7dad89fbf3f7c +PLAINTEXT = c41189041c0fd5bfb6221f2f44c29b1d + +COUNT = 36 +KEY = f8d85a12b18429fc4054332d03f90bfc +IV = c41189041c0fd5bfb6221f2f44c29b1d +CIPHERTEXT = 79c471caaada66f44a8994318f970a8f +PLAINTEXT = 369fb0951571c4a0c8dfc0e9c6bca6eb + +COUNT = 37 +KEY = ce47ea87a4f5ed5c888bf3c4c545ad17 +IV = 369fb0951571c4a0c8dfc0e9c6bca6eb +CIPHERTEXT = b7efca9c98525010e140b207e06d28b0 +PLAINTEXT = 50ecd054e8d788568f49534e0d402a43 + +COUNT = 38 +KEY = 9eab3ad34c22650a07c2a08ac8058754 +IV = 50ecd054e8d788568f49534e0d402a43 +CIPHERTEXT = 0260b0ee91163808e88398269364b34a +PLAINTEXT = 2403c9400de97b62a6ce8cd4013cd4fe + +COUNT = 39 +KEY = baa8f39341cb1e68a10c2c5ec93953aa +IV = 2403c9400de97b62a6ce8cd4013cd4fe +CIPHERTEXT = d0c7bbaba945b4e903a969389ef56b83 +PLAINTEXT = 69e6a63d4a9ca50f52f4da748105b157 + +COUNT = 40 +KEY = d34e55ae0b57bb67f3f8f62a483ce2fd +IV = 69e6a63d4a9ca50f52f4da748105b157 +CIPHERTEXT = 76771005bf9313b9aa9d41cd87de3c7c +PLAINTEXT = 57a308d3366550dd0e5c7974de918028 + +COUNT = 41 +KEY = 84ed5d7d3d32ebbafda48f5e96ad62d5 +IV = 57a308d3366550dd0e5c7974de918028 +CIPHERTEXT = a6cd6b0df62c2df3898ea8c8b5ce7b78 +PLAINTEXT = 6d87465d2628cc82a1703862818bc8ba + +COUNT = 42 +KEY = e96a1b201b1a27385cd4b73c1726aa6f +IV = 6d87465d2628cc82a1703862818bc8ba +CIPHERTEXT = a843372570b52dde37bf4cfa03de38ef +PLAINTEXT = 5f67b80d89fdca889967cdcb33f5a5fe + +COUNT = 43 +KEY = b60da32d92e7edb0c5b37af724d30f91 +IV = 5f67b80d89fdca889967cdcb33f5a5fe +CIPHERTEXT = 31f2dced75e022cb20594f090a97a895 +PLAINTEXT = 97cffb0c7ddc2398688246954e9273df + +COUNT = 44 +KEY = 21c25821ef3bce28ad313c626a417c4e +IV = 97cffb0c7ddc2398688246954e9273df +CIPHERTEXT = 75960ba1173100a9b11ce2a315362489 +PLAINTEXT = 064830bb6b5adc67d3c213a0eeb36a91 + +COUNT = 45 +KEY = 278a689a8461124f7ef32fc284f216df +IV = 064830bb6b5adc67d3c213a0eeb36a91 +CIPHERTEXT = 37cbe9711ea3bbc5d68d0abc1a772acf +PLAINTEXT = 809b1dd528339ff46b61b6db7b67693b + +COUNT = 46 +KEY = a711754fac528dbb15929919ff957fe4 +IV = 809b1dd528339ff46b61b6db7b67693b +CIPHERTEXT = 682668133505d2a08482117dcdf769c6 +PLAINTEXT = a4e554d1373b0e6d8a4e47df8afc9a51 + +COUNT = 47 +KEY = 03f4219e9b6983d69fdcdec67569e5b5 +IV = a4e554d1373b0e6d8a4e47df8afc9a51 +CIPHERTEXT = babffa64982de3f31feddb1b5ca169ed +PLAINTEXT = 47a5f9540481520441d24474965c7543 + +COUNT = 48 +KEY = 4451d8ca9fe8d1d2de0e9ab2e33590f6 +IV = 47a5f9540481520441d24474965c7543 +CIPHERTEXT = 80e14b3e7cae748674ca4d17b930de08 +PLAINTEXT = b5c83e5d4cf1ed2bccef3ad30a29d5f8 + +COUNT = 49 +KEY = f199e697d3193cf912e1a061e91c450e +IV = b5c83e5d4cf1ed2bccef3ad30a29d5f8 +CIPHERTEXT = c2aad6aa5005c3a0e80961f462cba910 +PLAINTEXT = c1635533b0329474547a024f70891bab + +COUNT = 50 +KEY = 30fab3a4632ba88d469ba22e99955ea5 +IV = c1635533b0329474547a024f70891bab +CIPHERTEXT = d9ea698c67a3ffc5746517874df5d882 +PLAINTEXT = ddb9b4c976454c6d49f15aec8e1ab53e + +COUNT = 51 +KEY = ed43076d156ee4e00f6af8c2178feb9b +IV = ddb9b4c976454c6d49f15aec8e1ab53e +CIPHERTEXT = 6b10913e6c6bb4bae4febde53a4a282b +PLAINTEXT = a67f13656c5adebcb6cc2b9238924de8 + +COUNT = 52 +KEY = 4b3c140879343a5cb9a6d3502f1da673 +IV = a67f13656c5adebcb6cc2b9238924de8 +CIPHERTEXT = 5c248c54e9f49b723f7ba6d8ac2e709f +PLAINTEXT = c7fe4ea8077c4e0491f26b20a20691ab + +COUNT = 53 +KEY = 8cc25aa07e4874582854b8708d1b37d8 +IV = c7fe4ea8077c4e0491f26b20a20691ab +CIPHERTEXT = 398d059a29e5c84d2e68035b14a07bfc +PLAINTEXT = b25cc64ec8d4b5c76382b363ef1d762a + +COUNT = 54 +KEY = 3e9e9ceeb69cc19f4bd60b13620641f2 +IV = b25cc64ec8d4b5c76382b363ef1d762a +CIPHERTEXT = e5310300299250a598080ee89673f647 +PLAINTEXT = c730504b6e4aa554ce7c846bb117169c + +COUNT = 55 +KEY = f9aecca5d8d664cb85aa8f78d311576e +IV = c730504b6e4aa554ce7c846bb117169c +CIPHERTEXT = 55d0286d2e0027f74fd79266063790b7 +PLAINTEXT = a01970b5c0f49391832a13ce45411aec + +COUNT = 56 +KEY = 59b7bc101822f75a06809cb696504d82 +IV = a01970b5c0f49391832a13ce45411aec +CIPHERTEXT = ebc196e701d5c93344150e60d83a67fb +PLAINTEXT = c8e0f8578346ae6965623c8aa96826c2 + +COUNT = 57 +KEY = 915744479b64593363e2a03c3f386b40 +IV = c8e0f8578346ae6965623c8aa96826c2 +CIPHERTEXT = 843b6d16257ddb456b3fba064586a84c +PLAINTEXT = b6936c5c843d7be407032fb0d97d4397 + +COUNT = 58 +KEY = 27c4281b1f5922d764e18f8ce64528d7 +IV = b6936c5c843d7be407032fb0d97d4397 +CIPHERTEXT = 9f1743b5c856b9bf235938e12b7c4e79 +PLAINTEXT = 1eba6e566b602b981aa4439cbf0fa1cb + +COUNT = 59 +KEY = 397e464d7439094f7e45cc10594a891c +IV = 1eba6e566b602b981aa4439cbf0fa1cb +CIPHERTEXT = 81ebd03144779ace930f98f5c6a3f9c5 +PLAINTEXT = e8f7af61ddfe113c93350f74606896f5 + +COUNT = 60 +KEY = d189e92ca9c71873ed70c36439221fe9 +IV = e8f7af61ddfe113c93350f74606896f5 +CIPHERTEXT = c4037531f267d32a92abdd8c223c6c83 +PLAINTEXT = 09fc8e9d1b336d337c4047252bc5cec0 + +COUNT = 61 +KEY = d87567b1b2f475409130844112e7d129 +IV = 09fc8e9d1b336d337c4047252bc5cec0 +CIPHERTEXT = b65efb7459a14f3bf20b153d9a76fb50 +PLAINTEXT = 0fc031bfb4c1a41dd20c7110b9150e05 + +COUNT = 62 +KEY = d7b5560e0635d15d433cf551abf2df2c +IV = 0fc031bfb4c1a41dd20c7110b9150e05 +CIPHERTEXT = e003a01149495a7e932b89b30f7a70da +PLAINTEXT = 6c779d870118869d80f03fe87cefe4ac + +COUNT = 63 +KEY = bbc2cb89072d57c0c3cccab9d71d3b80 +IV = 6c779d870118869d80f03fe87cefe4ac +CIPHERTEXT = 2d494c2e0cbc5183fee5e83b280606c4 +PLAINTEXT = b39bfb0ae22e3946108e1b17f5dd3ade + +COUNT = 64 +KEY = 08593083e5036e86d342d1ae22c0015e +IV = b39bfb0ae22e3946108e1b17f5dd3ade +CIPHERTEXT = 9443f25b836f1c8ffc67a413f5d43b4f +PLAINTEXT = 52a11f72ba8d702e3a30561b99c27cd4 + +COUNT = 65 +KEY = 5af82ff15f8e1ea8e97287b5bb027d8a +IV = 52a11f72ba8d702e3a30561b99c27cd4 +CIPHERTEXT = 6f3f628b0798fd7d716a1b11c98cdff4 +PLAINTEXT = 062bb722338b1b048cecc61b3865ab6f + +COUNT = 66 +KEY = 5cd398d36c0505ac659e41ae8367d6e5 +IV = 062bb722338b1b048cecc61b3865ab6f +CIPHERTEXT = b0952a333456da2fb46c0a426edb6333 +PLAINTEXT = 74eb2469cfa3d289d0de293d2d194817 + +COUNT = 67 +KEY = 2838bcbaa3a6d725b5406893ae7e9ef2 +IV = 74eb2469cfa3d289d0de293d2d194817 +CIPHERTEXT = 051a7b1fd280b7cd935e917d7d098bd7 +PLAINTEXT = bc605a9454c42db75e9ce816dc5aff6f + +COUNT = 68 +KEY = 9458e62ef762fa92ebdc80857224619d +IV = bc605a9454c42db75e9ce816dc5aff6f +CIPHERTEXT = 825170f10b9f604821b87102510aaf0d +PLAINTEXT = 82f3e474128bf72ecde425b77c6101d7 + +COUNT = 69 +KEY = 16ab025ae5e90dbc2638a5320e45604a +IV = 82f3e474128bf72ecde425b77c6101d7 +CIPHERTEXT = 23e5155a9e2fd9e76059a445c1c54169 +PLAINTEXT = 169035a602db75b90e851ef4a8eae430 + +COUNT = 70 +KEY = 003b37fce732780528bdbbc6a6af847a +IV = 169035a602db75b90e851ef4a8eae430 +CIPHERTEXT = f145350238b02f5dafc441724f6c6dd2 +PLAINTEXT = 2abab288328b46726d5df7b3301ecc94 + +COUNT = 71 +KEY = 2a818574d5b93e7745e04c7596b148ee +IV = 2abab288328b46726d5df7b3301ecc94 +CIPHERTEXT = 29bbad960fdeddfacf0c4a632cf3d6c7 +PLAINTEXT = c355582f18e556cf3485c2181020b65d + +COUNT = 72 +KEY = e9d4dd5bcd5c68b871658e6d8691feb3 +IV = c355582f18e556cf3485c2181020b65d +CIPHERTEXT = 27259f279b8ed19ff05dc039e767b1fe +PLAINTEXT = 92ba1f88559b9062df75bed0a94145a0 + +COUNT = 73 +KEY = 7b6ec2d398c7f8daae1030bd2fd0bb13 +IV = 92ba1f88559b9062df75bed0a94145a0 +CIPHERTEXT = 9ca4042a257496e7a5673ed572fb9b4f +PLAINTEXT = cfe18aa8159839fb753b1caab8e709d4 + +COUNT = 74 +KEY = b48f487b8d5fc121db2b2c179737b2c7 +IV = cfe18aa8159839fb753b1caab8e709d4 +CIPHERTEXT = 73494a19e335cc1ed1f4399aed9da369 +PLAINTEXT = dea0afc661068377aee04fdc6f47d3c4 + +COUNT = 75 +KEY = 6a2fe7bdec59425675cb63cbf8706103 +IV = dea0afc661068377aee04fdc6f47d3c4 +CIPHERTEXT = 6494ed2d36e59458cad117134d468431 +PLAINTEXT = 23f80611093c72e9c0321eb84abe5f60 + +COUNT = 76 +KEY = 49d7e1ace56530bfb5f97d73b2ce3e63 +IV = 23f80611093c72e9c0321eb84abe5f60 +CIPHERTEXT = 30d247a38aca33dcba2a5d205eaac701 +PLAINTEXT = b9e83d7c4691389267da04bb14555d7f + +COUNT = 77 +KEY = f03fdcd0a3f4082dd22379c8a69b631c +IV = b9e83d7c4691389267da04bb14555d7f +CIPHERTEXT = dab75e7dd761a193721bee40266ec086 +PLAINTEXT = 4f45928640b10065f18deef4c885ee3c + +COUNT = 78 +KEY = bf7a4e56e345084823ae973c6e1e8d20 +IV = 4f45928640b10065f18deef4c885ee3c +CIPHERTEXT = 18dbaae822116a1228de3c2c5326f12a +PLAINTEXT = 6ab881da44ce7f77b278caa7455bf885 + +COUNT = 79 +KEY = d5c2cf8ca78b773f91d65d9b2b4575a5 +IV = 6ab881da44ce7f77b278caa7455bf885 +CIPHERTEXT = 9faf91d5902ec7c40d5befbf6dc4f4d2 +PLAINTEXT = 98b3f39fe2b74735a40e70676747c069 + +COUNT = 80 +KEY = 4d713c13453c300a35d82dfc4c02b5cc +IV = 98b3f39fe2b74735a40e70676747c069 +CIPHERTEXT = 7071928022ab24b9b92ea2fab7612d64 +PLAINTEXT = 173cf306a75cfc14119076c45a4fde1f + +COUNT = 81 +KEY = 5a4dcf15e260cc1e24485b38164d6bd3 +IV = 173cf306a75cfc14119076c45a4fde1f +CIPHERTEXT = 1366f7f8d07f9fc4bb49f73e7ef0e182 +PLAINTEXT = 91f99fe543aab6cbbc904dfab9f6e4c4 + +COUNT = 82 +KEY = cbb450f0a1ca7ad598d816c2afbb8f17 +IV = 91f99fe543aab6cbbc904dfab9f6e4c4 +CIPHERTEXT = f34ffcb7643a13c41048aee59b714c92 +PLAINTEXT = 9ded9553a500678bf3088f8767dc044e + +COUNT = 83 +KEY = 5659c5a304ca1d5e6bd09945c8678b59 +IV = 9ded9553a500678bf3088f8767dc044e +CIPHERTEXT = fc6e188b870112db782a3b69e66e9bcd +PLAINTEXT = 7cfc670f9312cb0966969ff36b052055 + +COUNT = 84 +KEY = 2aa5a2ac97d8d6570d4606b6a362ab0c +IV = 7cfc670f9312cb0966969ff36b052055 +CIPHERTEXT = 8531dc04fd4d41186a2c160e3ad7565a +PLAINTEXT = c2b5163cc43c2df2f957a7afd4c5daa6 + +COUNT = 85 +KEY = e810b49053e4fba5f411a11977a771aa +IV = c2b5163cc43c2df2f957a7afd4c5daa6 +CIPHERTEXT = 09dc64d1e21b7dbf4d0b172de9aa2261 +PLAINTEXT = e592a3d168d3043eff77e71ec67f1348 + +COUNT = 86 +KEY = 0d8217413b37ff9b0b664607b1d862e2 +IV = e592a3d168d3043eff77e71ec67f1348 +CIPHERTEXT = f12ab0ce1364ea056096430f288581b5 +PLAINTEXT = 00f6eb857b33ab6b5f162f4df765f9e8 + +COUNT = 87 +KEY = 0d74fcc4400454f05470694a46bd9b0a +IV = 00f6eb857b33ab6b5f162f4df765f9e8 +CIPHERTEXT = 6596b2e7b1243126e9b318830210a5cd +PLAINTEXT = e360d359f970eed8728b26b67926fd05 + +COUNT = 88 +KEY = ee142f9db974ba2826fb4ffc3f9b660f +IV = e360d359f970eed8728b26b67926fd05 +CIPHERTEXT = 68f0d4c006002bbc7686935d4b6f3dd1 +PLAINTEXT = c3afd8d1177100193fe76876ac9d1e33 + +COUNT = 89 +KEY = 2dbbf74cae05ba31191c278a9306783c +IV = c3afd8d1177100193fe76876ac9d1e33 +CIPHERTEXT = 4aea56900cca62e12f167814ab8a32d0 +PLAINTEXT = a316d8586da6d9fe52623fb761c7e97e + +COUNT = 90 +KEY = 8ead2f14c3a363cf4b7e183df2c19142 +IV = a316d8586da6d9fe52623fb761c7e97e +CIPHERTEXT = 4216e313c039143a4006d2de5f388b2b +PLAINTEXT = 07352422d223e2393c6d1b712e25e8df + +COUNT = 91 +KEY = 89980b36118081f67713034cdce4799d +IV = 07352422d223e2393c6d1b712e25e8df +CIPHERTEXT = 8cbb31c9ff2ebc88e38597cc103d252b +PLAINTEXT = a0da48b3ed3263415cff4acab9c01c80 + +COUNT = 92 +KEY = 29424385fcb2e2b72bec49866524651d +IV = a0da48b3ed3263415cff4acab9c01c80 +CIPHERTEXT = bd55ff9e3ad97091073c870cc54d5b19 +PLAINTEXT = f281260ce2d25ed3530f2010c79f3cad + +COUNT = 93 +KEY = dbc365891e60bc6478e36996a2bb59b0 +IV = f281260ce2d25ed3530f2010c79f3cad +CIPHERTEXT = 36b003ec326e4fd0aafc231de981f824 +PLAINTEXT = c83e4e3858abc5e67ad46e559d4ef274 + +COUNT = 94 +KEY = 13fd2bb146cb7982023707c33ff5abc4 +IV = c83e4e3858abc5e67ad46e559d4ef274 +CIPHERTEXT = b99077e7ac83af2b355f86e61781c1e4 +PLAINTEXT = 186fff6204d861c90c9f7a27ea8605bf + +COUNT = 95 +KEY = 0b92d4d34213184b0ea87de4d573ae7b +IV = 186fff6204d861c90c9f7a27ea8605bf +CIPHERTEXT = 48c48725671142974cb671a24417434a +PLAINTEXT = dda8011af9e6557fbf69391d50852520 + +COUNT = 96 +KEY = d63ad5c9bbf54d34b1c144f985f68b5b +IV = dda8011af9e6557fbf69391d50852520 +CIPHERTEXT = e514de49b0d5e1dc385bd0f8e0843dcd +PLAINTEXT = 73ca2c4ae224b38104e40cb59ce2d5b8 + +COUNT = 97 +KEY = a5f0f98359d1feb5b525484c19145ee3 +IV = 73ca2c4ae224b38104e40cb59ce2d5b8 +CIPHERTEXT = 605cb74360a8afceecad70a4b00f4bb6 +PLAINTEXT = b46dfd60daff86d8581e4cc9920c6956 + +COUNT = 98 +KEY = 119d04e3832e786ded3b04858b1837b5 +IV = b46dfd60daff86d8581e4cc9920c6956 +CIPHERTEXT = 372de5d828849d50d105933ced5741fd +PLAINTEXT = 94b894821de93ecbbb496b343b0ad810 + +COUNT = 99 +KEY = 852590619ec746a656726fb1b012efa5 +IV = 94b894821de93ecbbb496b343b0ad810 +CIPHERTEXT = 6fd1a203f3769326486f359071b5ebdb +PLAINTEXT = 5b783cca8e4091a7a63db0ef8edc7381 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT192.rsp new file mode 100644 index 000000000..c86ea7ee0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT192.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for OFB +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:12:01 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 3264e48dc08e22e3d83f664c3a81a7b9a46da5b70093c2f2 +IV = cd5db293836a44f55647eb8844ccad8d +PLAINTEXT = be25385d443c3eab7c6f4fb4eac7a5db +CIPHERTEXT = 394655a878ac85fee108f3cb5cbb4350 + +COUNT = 1 +KEY = 9c69dec2e4f295f6e17933e4422d22474565567c5c2881a2 +IV = 394655a878ac85fee108f3cb5cbb4350 +PLAINTEXT = 8394066d8c2fe4e9ae0d3a4f247cb715 +CIPHERTEXT = 4d47de0ba37a15fd68a4b001bfda4664 + +COUNT = 2 +KEY = f570479687c5d9d1ac3eedefe15737ba2dc1e67de3f2c7c6 +IV = 4d47de0ba37a15fd68a4b001bfda4664 +PLAINTEXT = 668995959b23e95e6919995463374c27 +CIPHERTEXT = 6458bea08e49dd6c035a96cebdc00bff + +COUNT = 3 +KEY = 80396003ad173589c866534f6f1eead62e9b70b35e32cc39 +IV = 6458bea08e49dd6c035a96cebdc00bff +PLAINTEXT = 27b73973e9f8a88e754927952ad2ec58 +CIPHERTEXT = da50b027067a83c1fc14afbd90aa4d1e + +COUNT = 4 +KEY = d4885dae38cce2d41236e36869646917d28fdf0ece988127 +IV = da50b027067a83c1fc14afbd90aa4d1e +PLAINTEXT = ce1a4c3c1ec83d2c54b13dad95dbd75d +CIPHERTEXT = 248ddb2b85e522b20be37b4efcea0b52 + +COUNT = 5 +KEY = a788c77e0c3adeb536bb3843ec814ba5d96ca44032728a75 +IV = 248ddb2b85e522b20be37b4efcea0b52 +PLAINTEXT = d81be4bbe71fcb5273009ad034f63c61 +CIPHERTEXT = 44184d40ac153c7760f29ae36b2a34be + +COUNT = 6 +KEY = a771a84f13d0beca72a37503409477d2b99e3ea35958becb +IV = 44184d40ac153c7760f29ae36b2a34be +PLAINTEXT = b6278b725351d73900f96f311fea607f +CIPHERTEXT = 83b21597f90c628cd626e63fd7aaab5b + +COUNT = 7 +KEY = 462815c71febfe77f1116094b998155e6fb8d89c8ef21590 +IV = 83b21597f90c628cd626e63fd7aaab5b +PLAINTEXT = cc18b6d0bc58d888e159bd880c3b40bd +CIPHERTEXT = 7f3f7a07d44b28019f90484950b4f71d + +COUNT = 8 +KEY = 28e4fd5079b81a6f8e2e1a936dd33d5ff02890d5de46e28d +IV = 7f3f7a07d44b28019f90484950b4f71d +PLAINTEXT = cd62258863c2f4b66ecce8976653e418 +CIPHERTEXT = 896f0e10a8a8157e2e235941131f4e7d + +COUNT = 9 +KEY = 0a21c231b8e6101b07411483c57b2821de0bc994cd59acf0 +IV = 896f0e10a8a8157e2e235941131f4e7d +PLAINTEXT = ba9fa427d3435f1e22c53f61c15e0a74 +CIPHERTEXT = d7fbb3e3b10de4d2b449e9755b469a66 + +COUNT = 10 +KEY = a0d1adc7ff09a4f7d0baa7607476ccf36a4220e1961f3696 +IV = d7fbb3e3b10de4d2b449e9755b469a66 +PLAINTEXT = 44ec7e0e26ccb299aaf06ff647efb4ec +CIPHERTEXT = bf13ff4cc3d16d20df6ce5458ce87bdd + +COUNT = 11 +KEY = 26e5bfb50e80e32f6fa9582cb7a7a1d3b52ec5a41af74d4b +IV = bf13ff4cc3d16d20df6ce5458ce87bdd +PLAINTEXT = b2fe01b470cafac086341272f18947d8 +CIPHERTEXT = 040997436c377d1698ae3f6ce2116fa9 + +COUNT = 12 +KEY = e5e2c6387d0748016ba0cf6fdb90dcc52d80fac8f8e622e2 +IV = 040997436c377d1698ae3f6ce2116fa9 +PLAINTEXT = e081b609ec59c326c307798d7387ab2e +CIPHERTEXT = ed3644186345f4ab127d8ff43f057d9e + +COUNT = 13 +KEY = 023e65f7ec5643a986968b77b8d5286e3ffd753cc7e35f7c +IV = ed3644186345f4ab127d8ff43f057d9e +PLAINTEXT = ed09fffdcb513331e7dca3cf91510ba8 +CIPHERTEXT = 88f43a8883fd7409abbba2f500d1e9dd + +COUNT = 14 +KEY = eb723d1dd53c04990e62b1ff3b285c679446d7c9c732b6a1 +IV = 88f43a8883fd7409abbba2f500d1e9dd +PLAINTEXT = ec6916b0899f3cfee94c58ea396a4730 +CIPHERTEXT = e23393adeadc020d2e0636fad908edec + +COUNT = 15 +KEY = d51fb55e44532bbcec512252d1f45e6aba40e1331e3a5b4d +IV = e23393adeadc020d2e0636fad908edec +PLAINTEXT = a72bb3b9519e62023e6d8843916f2f25 +CIPHERTEXT = 61a376b2dda4eace367de104562e9c47 + +COUNT = 16 +KEY = c9a35da6625b4b4b8df254e00c50b4a48c3d00374814c70a +IV = 61a376b2dda4eace367de104562e9c47 +PLAINTEXT = 9d7abd067eead5cc1cbce8f8260860f7 +CIPHERTEXT = dfe27a85c76fe8b417507dfada1729f1 + +COUNT = 17 +KEY = e17d4006412c962452102e65cb3f5c109b6d7dcd9203eefb +IV = dfe27a85c76fe8b417507dfada1729f1 +PLAINTEXT = 44aabb49f2b0f85628de1da02377dd6f +CIPHERTEXT = c0f3dc88758bd96dfb51dc9c7216974f + +COUNT = 18 +KEY = 75916a0a9225377592e3f2edbeb4857d603ca151e01579b4 +IV = c0f3dc88758bd96dfb51dc9c7216974f +PLAINTEXT = a340646996a9149894ec2a0cd309a151 +CIPHERTEXT = 4c80bb34043d4de247492ea926239dd8 + +COUNT = 19 +KEY = 0de47290ee0f0a0ede6349d9ba89c89f27758ff8c636e46c +IV = 4c80bb34043d4de247492ea926239dd8 +PLAINTEXT = ba94b6f3f7b5a6257875189a7c2a3d7b +CIPHERTEXT = 35ebe5c20ba6cafd69e86eaaf6cec1e2 + +COUNT = 20 +KEY = 8ca4043bb292bea3eb88ac1bb12f02624e9de15230f8258e +IV = 35ebe5c20ba6cafd69e86eaaf6cec1e2 +PLAINTEXT = c478340287a56232814076ab5c9db4ad +CIPHERTEXT = f189ce0898859c39c3095f0cd8a537a6 + +COUNT = 21 +KEY = 8f73d44f17d83a461a01621329aa9e5b8d94be5ee85d1228 +IV = f189ce0898859c39c3095f0cd8a537a6 +PLAINTEXT = 292ebb2a08fb626d03d7d074a54a84e5 +CIPHERTEXT = 80e66bbde5b36cb42d7237b34a50c9b8 + +COUNT = 22 +KEY = 00def85b20616fc19ae709aecc19f2efa0e689eda20ddb90 +IV = 80e66bbde5b36cb42d7237b34a50c9b8 +PLAINTEXT = 3c74a77a2c5cf5788fad2c1437b95587 +CIPHERTEXT = f8b4cb787aa40348016e2a17d8f81d0c + +COUNT = 23 +KEY = 5f22dd56c43981356253c2d6b6bdf1a7a188a3fa7af5c69c +IV = f8b4cb787aa40348016e2a17d8f81d0c +PLAINTEXT = 3d3fd8eb2325e5d85ffc250de458eef4 +CIPHERTEXT = bcc27c7ce260f98eef87b196c552393f + +COUNT = 24 +KEY = 9982429e45a98cf6de91beaa54dd08294e0f126cbfa7ffa3 +IV = bcc27c7ce260f98eef87b196c552393f +PLAINTEXT = b51d4cd35b8c50a7c6a09fc881900dc3 +CIPHERTEXT = ed79165b281854c69f412496731a6c21 + +COUNT = 25 +KEY = 635b84b51e09e87933e8a8f17cc55cefd14e36faccbd9382 +IV = ed79165b281854c69f412496731a6c21 +PLAINTEXT = b3626c5dd274001efad9c62b5ba0648f +CIPHERTEXT = 3c57d5e06c3ad84dc88b7424c0afa85c + +COUNT = 26 +KEY = f06b43e598d8d73a0fbf7d1110ff84a219c542de0c123bde +IV = 3c57d5e06c3ad84dc88b7424c0afa85c +PLAINTEXT = 407a06720fe3c7549330c75086d13f43 +CIPHERTEXT = 8c790d3311a4c113b0174f18b0ed6a57 + +COUNT = 27 +KEY = d78b15dbfc0ba58c83c67022015b45b1a9d20dc6bcff5189 +IV = 8c790d3311a4c113b0174f18b0ed6a57 +PLAINTEXT = 65a7dcde0ee0f1ce27e0563e64d372b6 +CIPHERTEXT = 4971f30248fcea5d1fbf9a75c959dcb8 + +COUNT = 28 +KEY = e3f80e815591ca2fcab7832049a7afecb66d97b375a68d31 +IV = 4971f30248fcea5d1fbf9a75c959dcb8 +PLAINTEXT = de360f4ef77131d034731b5aa99a6fa3 +CIPHERTEXT = 5952e670d333fe2cab8cd0d6a7e936f6 + +COUNT = 29 +KEY = e43422910280e9fa93e565509a9451c01de14765d24fbbc7 +IV = 5952e670d333fe2cab8cd0d6a7e936f6 +PLAINTEXT = 5c23927e37c7f0f407cc2c10571123d5 +CIPHERTEXT = 42a223fbb4c926107845ccc91bc21058 + +COUNT = 30 +KEY = 01f27c643bab053fd14746ab2e5d77d065a48bacc98dab9f +IV = 42a223fbb4c926107845ccc91bc21058 +PLAINTEXT = e6d52635bd935041e5c65ef5392becc5 +CIPHERTEXT = 479fbeef42467339c091c2f84d9af2b0 + +COUNT = 31 +KEY = 8342f75ea7fda8a896d8f8446c1b04e9a53549548417592f +IV = 479fbeef42467339c091c2f84d9af2b0 +PLAINTEXT = 1b9be77d9de07f0182b08b3a9c56ad97 +CIPHERTEXT = 59669cee6ae7266ae200d7b3d4f83689 + +COUNT = 32 +KEY = f2ba5d05c50bebbdcfbe64aa06fc228347359ee750ef6fa6 +IV = 59669cee6ae7266ae200d7b3d4f83689 +PLAINTEXT = dca3d2f97177b18e71f8aa5b62f64315 +CIPHERTEXT = e1e8ccfbe3ba833a934d95a851bbe0d4 + +COUNT = 33 +KEY = 439d07ad6d789afd2e56a851e546a1b9d4780b4f01548f72 +IV = e1e8ccfbe3ba833a934d95a851bbe0d4 +PLAINTEXT = af050e2cd6b7d451b1275aa8a8737140 +CIPHERTEXT = b64b4a1dd3ebc4fbd2147b11fcfd6191 + +COUNT = 34 +KEY = 27b7f0fec498411e981de24c36ad6542066c705efda9eee3 +IV = b64b4a1dd3ebc4fbd2147b11fcfd6191 +PLAINTEXT = cfff1cce795e5ae0642af753a9e0dbe3 +CIPHERTEXT = 4764c7c97b06a5de4bc92dcf56013079 + +COUNT = 35 +KEY = 26abd89511298defdf7925854dabc09c4da55d91aba8de9a +IV = 4764c7c97b06a5de4bc92dcf56013079 +PLAINTEXT = 4097fa9fb027c824011c286bd5b1ccf1 +CIPHERTEXT = 0d6c5fb01f43af499379d5746b66b12d + +COUNT = 36 +KEY = 7fbaab43b2f38ae0d2157a3552e86fd5dedc88e5c0ce6fb7 +IV = 0d6c5fb01f43af499379d5746b66b12d +PLAINTEXT = abf1d2732e3c0330591173d6a3da070f +CIPHERTEXT = 67720ab8ded22ff84444241264c1c827 + +COUNT = 37 +KEY = ef13be6da39a5003b567708d8c3a402d9a98acf7a40fa790 +IV = 67720ab8ded22ff84444241264c1c827 +PLAINTEXT = 3eaa7884614aeda990a9152e1169dae3 +CIPHERTEXT = 18276fceeea77bebedacededf4d1636f + +COUNT = 38 +KEY = 30c92c79b0f3d95aad401f43629d3bc67734411a50dec4ff +IV = 18276fceeea77bebedacededf4d1636f +PLAINTEXT = 2ce4b0a489ad6495dfda921413698959 +CIPHERTEXT = 7c7dbd5884c65aca95012b9c878b71df + +COUNT = 39 +KEY = d2b3efea541383f6d13da21be65b610ce2356a86d755b520 +IV = 7c7dbd5884c65aca95012b9c878b71df +PLAINTEXT = 98426987c39d7a2be27ac393e4e05aac +CIPHERTEXT = 69b343e525d4e54452a693fa7e0b9d79 + +COUNT = 40 +KEY = 84c5f0ab4c8e1323b88ee1fec38f8448b093f97ca95e2859 +IV = 69b343e525d4e54452a693fa7e0b9d79 +PLAINTEXT = 7b1e6bc1e2e1d75756761f41189d90d5 +CIPHERTEXT = 45b875c738b43fd2ac0ea7e42bb07491 + +COUNT = 41 +KEY = e51a330168458580fd369439fb3bbb9a1c9d5e9882ee5cc8 +IV = 45b875c738b43fd2ac0ea7e42bb07491 +PLAINTEXT = 3ee1ec439ec75f9261dfc3aa24cb96a3 +CIPHERTEXT = bec0f4650c2ff58ac4543ca8cfbbe215 + +COUNT = 42 +KEY = e54c70bb29f6c32943f6605cf7144e10d8c962304d55bedd +IV = bec0f4650c2ff58ac4543ca8cfbbe215 +PLAINTEXT = 6fc7a4b97d53083d005643ba41b346a9 +CIPHERTEXT = e90aee12fe070a688913b4ace795209b + +COUNT = 43 +KEY = f3f372b14bd13b0eaafc8e4e0913447851dad69caac09e46 +IV = e90aee12fe070a688913b4ace795209b +PLAINTEXT = ebee4aa44a47755516bf020a6227f827 +CIPHERTEXT = 3fd5353b88ba5fa0771ade18a6ef4963 + +COUNT = 44 +KEY = b8241131978fe4499529bb7581a91bd826c008840c2fd725 +IV = 3fd5353b88ba5fa0771ade18a6ef4963 +PLAINTEXT = b03fe3a1a04ae6134bd76380dc5edf47 +CIPHERTEXT = 48665ce69ff554c949bdd302d44e532b + +COUNT = 45 +KEY = 17749daefa7fcecbdd4fe7931e5c4f116f7ddb86d861840e +IV = 48665ce69ff554c949bdd302d44e532b +PLAINTEXT = 9e2683fdaa114d73af508c9f6df02a82 +CIPHERTEXT = 253b8469364d221ed47fbb2e632bc684 + +COUNT = 46 +KEY = 49b82519d5d6bd12f87463fa28116d0fbb0260a8bb4a428a +IV = 253b8469364d221ed47fbb2e632bc684 +PLAINTEXT = f9108234b6c217ca5eccb8b72fa973d9 +CIPHERTEXT = e353bfd92f5ce156afdeb9327d04ace6 + +COUNT = 47 +KEY = 7970f4e21f0904f21b27dc23074d8c5914dcd99ac64eee6c +IV = e353bfd92f5ce156afdeb9327d04ace6 +PLAINTEXT = 77c8608cce6d6f4930c8d1fbcadfb9e0 +CIPHERTEXT = dae2aab2ac07b487c899b4704d202480 + +COUNT = 48 +KEY = b3db14f691d0b4f4c1c57691ab4a38dedc456dea8b6ecaec +IV = dae2aab2ac07b487c899b4704d202480 +PLAINTEXT = 15108621c21fc9f9caabe0148ed9b006 +CIPHERTEXT = 06f483ac11d89e31def0186d14fd6df7 + +COUNT = 49 +KEY = 359d6310e9592b40c731f53dba92a6ef02b575879f93a71b +IV = 06f483ac11d89e31def0186d14fd6df7 +PLAINTEXT = fd8fdab74e37425f864677e678899fb4 +CIPHERTEXT = 1165c084a1ab5f332eca1b8c602e8c85 + +COUNT = 50 +KEY = 35c0110d96a92395d65435b91b39f9dc2c7f6e0bffbd2b9e +IV = 1165c084a1ab5f332eca1b8c602e8c85 +PLAINTEXT = da7653602cec89ee005d721d7ff008d5 +CIPHERTEXT = 4a4e914e4264f56e98fce2f7023ec9fc + +COUNT = 51 +KEY = 078b9b0f54f37ab39c1aa4f7595d0cb2b4838cfcfd83e262 +IV = 4a4e914e4264f56e98fce2f7023ec9fc +PLAINTEXT = 1a7afb7e4d7b1cbb324b8a02c25a5926 +CIPHERTEXT = 75c5afda323afbfdc425db18f9f39e2e + +COUNT = 52 +KEY = ea9becbbe1e7bcc2e9df0b2d6b67f74f70a657e404707c4c +IV = 75c5afda323afbfdc425db18f9f39e2e +PLAINTEXT = 53ba3011abdd84c7ed1077b4b514c671 +CIPHERTEXT = 2ebb30158d8d309c05054b201beeea74 + +COUNT = 53 +KEY = d640342e13d7b3c8c7643b38e6eac7d375a31cc41f9e9638 +IV = 2ebb30158d8d309c05054b201beeea74 +PLAINTEXT = ddba2b155b0c02643cdbd895f2300f0a +CIPHERTEXT = 8fd5d64a977b98c0b7723f9e49da4e20 + +COUNT = 54 +KEY = 56b8c102b53fe70848b1ed7271915f13c2d1235a5644d818 +IV = 8fd5d64a977b98c0b7723f9e49da4e20 +PLAINTEXT = 632c37d0fcf20e3e80f8f52ca6e854c0 +CIPHERTEXT = 0c6b3c3c29c25a2bff39bed539b225d6 + +COUNT = 55 +KEY = 02258d2e4c108f2f44dad14e585305383de89d8f6ff6fdce +IV = 0c6b3c3c29c25a2bff39bed539b225d6 +PLAINTEXT = c2e44466ab13afd5549d4c2cf92f6827 +CIPHERTEXT = 16680d12aa41e310a2d5264d0bce6ef4 + +COUNT = 56 +KEY = 3c5f23d624b7d2a452b2dc5cf212e6289f3dbbc26438933a +IV = 16680d12aa41e310a2d5264d0bce6ef4 +PLAINTEXT = 1c7ebabe6345e8bc3e7aaef868a75d8b +CIPHERTEXT = 39c57e635c8a21bf48e603a99274349d + +COUNT = 57 +KEY = 02201bf2648759606b77a23fae98c797d7dbb86bf64ca7a7 +IV = 39c57e635c8a21bf48e603a99274349d +PLAINTEXT = 0747b5c560cfbac13e7f382440308bc4 +CIPHERTEXT = e2d9465442ebfa1b1f3aace42d473f8a + +COUNT = 58 +KEY = 44c8c38002e1614189aee46bec733d8cc8e1148fdb0b982d +IV = e2d9465442ebfa1b1f3aace42d473f8a +PLAINTEXT = 0f861931232f98ee46e8d87266663821 +CIPHERTEXT = 0c1dcf9c1ae47e4a678db2c54c0378be + +COUNT = 59 +KEY = e9201a88d6d8707685b32bf7f69743c6af6ca64a9708e093 +IV = 0c1dcf9c1ae47e4a678db2c54c0378be +PLAINTEXT = 42f60aceaa9edcaeade8d908d4391137 +CIPHERTEXT = 92cb1188e0986498933f76e45ac7cef0 + +COUNT = 60 +KEY = e870e6df18f250a417783a7f160f275e3c53d0aecdcf2e63 +IV = 92cb1188e0986498933f76e45ac7cef0 +PLAINTEXT = 74435900cde3a0190150fc57ce2a20d2 +CIPHERTEXT = 31a428cdfe5f049086d38b87ad41c82c + +COUNT = 61 +KEY = e7594767db2ec50b26dc12b2e85023ceba805b29608ee64f +IV = 31a428cdfe5f049086d38b87ad41c82c +PLAINTEXT = 1a155920179253370f29a1b8c3dc95af +CIPHERTEXT = e117c86be9358bd2fdd6082a391475d0 + +COUNT = 62 +KEY = 47e0b9f7321eadadc7cbdad90165a81c47565303599a939f +IV = e117c86be9358bd2fdd6082a391475d0 +PLAINTEXT = d5aa7de94b590ebda0b9fe90e93068a6 +CIPHERTEXT = 43d844d017312157fcf827b86ae20e11 + +COUNT = 63 +KEY = 30193309b1358c6d84139e091654894bbbae74bb33789d8e +IV = 43d844d017312157fcf827b86ae20e11 +PLAINTEXT = cfb40612b757c4d777f98afe832b21c0 +CIPHERTEXT = a5a85281fc9137d8f948fd72436eecdd + +COUNT = 64 +KEY = 450590e4df9d09b421bbcc88eac5be9342e689c970167153 +IV = a5a85281fc9137d8f948fd72436eecdd +PLAINTEXT = 848bc54e8510511a751ca3ed6ea885d9 +CIPHERTEXT = 23a660a7fadb3e684c22fd78371ead1d + +COUNT = 65 +KEY = 1fb6fb71388d7af8021dac2f101e80fb0ec474b14708dc4e +IV = 23a660a7fadb3e684c22fd78371ead1d +PLAINTEXT = 0061b98e41d818fc5ab36b95e710734c +CIPHERTEXT = 595a8ba15d0be509ba09a1fc0fd57ec1 + +COUNT = 66 +KEY = 6126aec377fcfc3a5b47278e4d1565f2b4cdd54d48dda28f +IV = 595a8ba15d0be509ba09a1fc0fd57ec1 +PLAINTEXT = dd7b7346c0b2e7027e9055b24f7186c2 +CIPHERTEXT = fa8612c6d3df3dbc64e7ca2d4b8c1446 + +COUNT = 67 +KEY = 4708cff160fd1859a1c135489eca584ed02a1f600351b6c9 +IV = fa8612c6d3df3dbc64e7ca2d4b8c1446 +PLAINTEXT = b94198ec609e81bf262e61321701e463 +CIPHERTEXT = bbf8dbc47597a97fea60a38506fd030d + +COUNT = 68 +KEY = 860f1b21201582ca1a39ee8ceb5df1313a4abce505acb5c4 +IV = bbf8dbc47597a97fea60a38506fd030d +PLAINTEXT = ca1109cfa0daef28c107d4d040e89a93 +CIPHERTEXT = e5ae63f48af9df6323ee4d224c9f3fb9 + +COUNT = 69 +KEY = 8f4733ddaf15685bff978d7861a42e5219a4f1c749338a7d +IV = e5ae63f48af9df6323ee4d224c9f3fb9 +PLAINTEXT = f3c5c0dc921a72ca094828fc8f00ea91 +CIPHERTEXT = 35e23f1a2d4bd08553b9bed523c96308 + +COUNT = 70 +KEY = 4d694270558490aaca75b2624ceffed74a1d4f126afae975 +IV = 35e23f1a2d4bd08553b9bed523c96308 +PLAINTEXT = 629a2589cd61eff8c22e71adfa91f8f1 +CIPHERTEXT = 9f98baca8a88f04ebe1daecda5ef7fdc + +COUNT = 71 +KEY = d1b573a720f0a74855ed08a8c6670e99f400e1dfcf1596a9 +IV = 9f98baca8a88f04ebe1daecda5ef7fdc +PLAINTEXT = 04af69815cb14be79cdc31d7757437e2 +CIPHERTEXT = 9a549e850996445681fb64c9876af3c8 + +COUNT = 72 +KEY = bc7b58168c637071cfb9962dcff14acf75fb8516487f6561 +IV = 9a549e850996445681fb64c9876af3c8 +PLAINTEXT = 29c5d155b92abbc86dce2bb1ac93d739 +CIPHERTEXT = 4b65c34403259348587f6864a1de166a + +COUNT = 73 +KEY = b7fa649db1c72b9a84dc5569ccd4d9872d84ed72e9a1730b +IV = 4b65c34403259348587f6864a1de166a +PLAINTEXT = a9c22cf57fd9b4d90b813c8b3da45beb +CIPHERTEXT = 17fe0b038906d6ce49fe352efa7fbc76 + +COUNT = 74 +KEY = 18abce71100836ee93225e6a45d20f49647ad85c13decf7d +IV = 17fe0b038906d6ce49fe352efa7fbc76 +PLAINTEXT = 8b1ff27c2156ee3faf51aaeca1cf1d74 +CIPHERTEXT = f22a8a370af021dc17d40908df4c682d + +COUNT = 75 +KEY = 0029dfb4866573996108d45d4f222e9573aed154cc92a750 +IV = f22a8a370af021dc17d40908df4c682d +PLAINTEXT = caf719886142ca7f188211c5966d4577 +CIPHERTEXT = 0656984d7146162ba6b5d52ce7b60d08 + +COUNT = 76 +KEY = 6f87582afc99d6f1675e4c103e6438bed51b04782b24aa58 +IV = 0656984d7146162ba6b5d52ce7b60d08 +PLAINTEXT = d8543da4c0c835276fae879e7afca568 +CIPHERTEXT = fb2ef94ad25a843201cbc8c53ac830b2 + +COUNT = 77 +KEY = f06634ac7b9ebb429c70b55aec3ebc8cd4d0ccbd11ec9aea +IV = fb2ef94ad25a843201cbc8c53ac830b2 +PLAINTEXT = f936ad52ed8409f09fe16c8687076db3 +CIPHERTEXT = d4a2678db58852176fafd8140ec14463 + +COUNT = 78 +KEY = 327305fff26368a048d2d2d759b6ee9bbb7f14a91f2dde89 +IV = d4a2678db58852176fafd8140ec14463 +PLAINTEXT = dcf37530481e7aa9c215315389fdd3e2 +CIPHERTEXT = bb3545682debaa1ea09cd62d00881b84 + +COUNT = 79 +KEY = a2e11b4368c9aec2f3e797bf745d44851be3c2841fa5c50d +IV = bb3545682debaa1ea09cd62d00881b84 +PLAINTEXT = 28bc91ed483eb53590921ebc9aaac662 +CIPHERTEXT = 741a0f52fe4944fbb7edd3d2e87ce9af + +COUNT = 80 +KEY = e736bdd01a6150b787fd98ed8a14007eac0e1156f7d92ca2 +IV = 741a0f52fe4944fbb7edd3d2e87ce9af +PLAINTEXT = b365f78c2812877e45d7a69372a8fe75 +CIPHERTEXT = 79944932860291693cdd097fb1bef6a9 + +COUNT = 81 +KEY = c944df5c91e1573cfe69d1df0c16911790d318294667da0b +IV = 79944932860291693cdd097fb1bef6a9 +PLAINTEXT = cb4a5b912ead0bd42e72628c8b80078b +CIPHERTEXT = f8ee4b82f595029d2988e78963e05d41 + +COUNT = 82 +KEY = 26ea1783194dfdb306879a5df983938ab95bffa02587874a +IV = f8ee4b82f595029d2988e78963e05d41 +PLAINTEXT = 026e1a1b3a553b9eefaec8df88acaa8f +CIPHERTEXT = 3c911ff2b6370a111d96e3ab14fb39fc + +COUNT = 83 +KEY = 72ecd4059df04b9d3a1685af4fb4999ba4cd1c0b317cbeb6 +IV = 3c911ff2b6370a111d96e3ab14fb39fc +PLAINTEXT = 8179f6a3476191575406c38684bdb62e +CIPHERTEXT = d523f154bd3ae678fe0756d60ef19192 + +COUNT = 84 +KEY = 9bd2e7aaaa1a4458ef3574fbf28e7fe35aca4add3f8d2f24 +IV = d523f154bd3ae678fe0756d60ef19192 +PLAINTEXT = 3cbcf1dcae2661bae93e33af37ea0fc5 +CIPHERTEXT = 990064584fa4fc03928d2d6f84cd87f3 + +COUNT = 85 +KEY = 78771f042b5dd5ca763510a3bd2a83e0c84767b2bb40a8d7 +IV = 990064584fa4fc03928d2d6f84cd87f3 +PLAINTEXT = 3d24d7a8beb97a1de3a5f8ae81479192 +CIPHERTEXT = 21796074eeb94c1e8195113ebb3a3b07 + +COUNT = 86 +KEY = 027e351368ea68eb574c70d75393cffe49d2768c007a93d0 +IV = 21796074eeb94c1e8195113ebb3a3b07 +PLAINTEXT = 4c07b3a32dc33c217a092a1743b7bd21 +CIPHERTEXT = e4cfd83393e6df40a117604b0b5bc379 + +COUNT = 87 +KEY = 52fb3099beac7de1b383a8e4c07510bee8c516c70b2150a9 +IV = e4cfd83393e6df40a117604b0b5bc379 +PLAINTEXT = 97809632090c0a0a5085058ad646150a +CIPHERTEXT = db791f51f22e7ba8eb64b41d8812bc01 + +COUNT = 88 +KEY = c0fad73af1bd94af68fab7b5325b6b1603a1a2da8333eca8 +IV = db791f51f22e7ba8eb64b41d8812bc01 +PLAINTEXT = 2ef6e19ff67d8a399201e7a34f11e94e +CIPHERTEXT = bb8cf4c516b343a331d3ff9fcae2963f + +COUNT = 89 +KEY = 47f3a6be45805effd376437024e828b532725d4549d17a97 +IV = bb8cf4c516b343a331d3ff9fcae2963f +PLAINTEXT = d329eb025c7c7c8c87097184b43dca50 +CIPHERTEXT = 49774e148fbce267489f1471076e7694 + +COUNT = 90 +KEY = f07c43dfebac02cc9a010d64ab54cad27aed49344ebf0c03 +IV = 49774e148fbce267489f1471076e7694 +PLAINTEXT = de49a5f1dc14c967b78fe561ae2c5c33 +CIPHERTEXT = 9fbcf09a4bca495be3ded19b0a537c4c + +COUNT = 91 +KEY = ff344a2685456d9d05bdfdfee09e8389993398af44ec704f +IV = 9fbcf09a4bca495be3ded19b0a537c4c +PLAINTEXT = 5475325cb3f591ae0f4809f96ee96f51 +CIPHERTEXT = 93ef27a2fa9abaea809f9b2a508578a9 + +COUNT = 92 +KEY = 2d50160b700c20ff9652da5c1a04396319ac0385146908e6 +IV = 93ef27a2fa9abaea809f9b2a508578a9 +PLAINTEXT = 867c92f92ae36484d2645c2df5494d62 +CIPHERTEXT = b56a83d9633fd5489fff4b4ece190570 + +COUNT = 93 +KEY = 30bd9044fc3bfca323385985793bec2b865348cbda700d96 +IV = b56a83d9633fd5489fff4b4ece190570 +PLAINTEXT = 5a852da20e7c1eec1ded864f8c37dc5c +CIPHERTEXT = 1ed1fd7f78f83f701648b784e81dc227 + +COUNT = 94 +KEY = 7482654bb74a1f583de9a4fa01c3d35b901bff4f326dcfb1 +IV = 1ed1fd7f78f83f701648b784e81dc227 +PLAINTEXT = 486ed34bec18adbe443ff50f4b71e3fb +CIPHERTEXT = d755ec98b562961d76bf08cf4e3b1810 + +COUNT = 95 +KEY = 859936a700dca66aeabc4862b4a14546e6a4f7807c56d7a1 +IV = d755ec98b562961d76bf08cf4e3b1810 +PLAINTEXT = 189ead60a9e55719f11b53ecb796b932 +CIPHERTEXT = a46d47c868b4cd57013dc490d4b7cd1e + +COUNT = 96 +KEY = 5f2a9dd19b5ce5234ed10faadc158811e7993310a8e11abf +IV = a46d47c868b4cd57013dc490d4b7cd1e +PLAINTEXT = 50f376497d72b712dab3ab769b804349 +CIPHERTEXT = b006779c8e4a835d98149d8f0604a6fc + +COUNT = 97 +KEY = 777934231be312dbfed77836525f0b4c7f8dae9faee5bc43 +IV = b006779c8e4a835d98149d8f0604a6fc +PLAINTEXT = 1527daa9ff0f05e82853a9f280bff7f8 +CIPHERTEXT = 66a2ba4cc7dade5565b1b86445985bc2 + +COUNT = 98 +KEY = b25d13c60fc6a7f39875c27a9585d5191a3c16fbeb7de781 +IV = 66a2ba4cc7dade5565b1b86445985bc2 +PLAINTEXT = eef6486488a4f64cc52427e51425b528 +CIPHERTEXT = 2ce4869fd7c08780f55d43fdd887f571 + +COUNT = 99 +KEY = 790bc3a665995abfb49144e542455299ef61550633fa12f0 +IV = 2ce4869fd7c08780f55d43fdd887f571 +PLAINTEXT = c532d3fdf22a5ffccb56d0606a5ffd4c +CIPHERTEXT = fd6dd0015e135d74fdeb67e927235dd1 + + +[DECRYPT] + +COUNT = 0 +KEY = c79765ec6ed647aa5023c730e71cde2989d225534820e078 +IV = 4f032ffe0b2ae69847987b82cd7caa99 +CIPHERTEXT = 9983ce048f19ef4043054c03aa010bee +PLAINTEXT = 280dab0a264179ddc7a5564518ddf641 + +COUNT = 1 +KEY = 7d092600b1006174782e6c3ac15da7f44e77731650fd1639 +IV = 280dab0a264179ddc7a5564518ddf641 +CIPHERTEXT = 14a9a7ba2891945eba9e43ecdfd626de +PLAINTEXT = 5c17a237a22380ef2fdbabcd7f2bc513 + +COUNT = 2 +KEY = ca9b731ebda22ef92439ce0d637e271b61acd8db2fd6d32a +IV = 5c17a237a22380ef2fdbabcd7f2bc513 +CIPHERTEXT = 8f9ff3d96d232d0cb792551e0ca24f8d +PLAINTEXT = 236a21b9e8ea74b4035a37cb40de51b1 + +COUNT = 3 +KEY = 1e05573ae93e80b00753efb48b9453af62f6ef106f08829b +IV = 236a21b9e8ea74b4035a37cb40de51b1 +CIPHERTEXT = 8092661666a579eed49e2424549cae49 +PLAINTEXT = 3a76334644f3de1e2d26d7b65b49b7f9 + +COUNT = 4 +KEY = 3f9d48c8381a21823d25dcf2cf678db14fd038a634413562 +IV = 3a76334644f3de1e2d26d7b65b49b7f9 +CIPHERTEXT = f887da1f4fc1a28d21981ff2d124a132 +PLAINTEXT = 436eb98c21133d9493c50e961db64b26 + +COUNT = 5 +KEY = ba48819b001140477e4b657eee74b025dc15363029f77e44 +IV = 436eb98c21133d9493c50e961db64b26 +CIPHERTEXT = 0ee079793a646d9185d5c953380b61c5 +PLAINTEXT = ecc57b29ffba295edaa4c6ac36667da4 + +COUNT = 6 +KEY = 4780686f390f621a928e1e5711ce997b06b1f09c1f9103e0 +IV = ecc57b29ffba295edaa4c6ac36667da4 +CIPHERTEXT = 37e6c99f642a9aa0fdc8e9f4391e225d +PLAINTEXT = 17aba0b8950afb978a149e6811ba3f3a + +COUNT = 7 +KEY = 229286a8fa04dfd28525beef84c462ec8ca56ef40e2b3cda +IV = 17aba0b8950afb978a149e6811ba3f3a +CIPHERTEXT = fd9964a17439197d6512eec7c30bbdc8 +PLAINTEXT = 65c91534daad4c16b4ea408fa479d200 + +COUNT = 8 +KEY = 117a037c4c16cf8de0ecabdb5e692efa384f2e7baa52eeda +IV = 65c91534daad4c16b4ea408fa479d200 +CIPHERTEXT = 141af69d3f04809033e885d4b612105f +PLAINTEXT = 3759293fe058bf31e27e0d3c9ae8779a + +COUNT = 9 +KEY = d0e1bcfbe895c47cd7b582e4be3191cbda31234730ba9940 +IV = 3759293fe058bf31e27e0d3c9ae8779a +CIPHERTEXT = 1fff3dcc7357cb92c19bbf87a4830bf1 +PLAINTEXT = 60357571a36a16b9991d0988eb882e1d + +COUNT = 10 +KEY = 798bf928b52aa26db780f7951d5b8772432c2acfdb32b75d +IV = 60357571a36a16b9991d0988eb882e1d +CIPHERTEXT = 63c1652cfebc6001a96a45d35dbf6611 +PLAINTEXT = b7447e33c1baa94ca6cefe95087e4c56 + +COUNT = 11 +KEY = 1b89da87e4f056ea00c489a6dce12e3ee5e2d45ad34cfb0b +IV = b7447e33c1baa94ca6cefe95087e4c56 +CIPHERTEXT = 2b10335593456112620223af51daf487 +PLAINTEXT = 40ba4a584e94d99bf5fd512d33eb42fb + +COUNT = 12 +KEY = 3698f2b3b8267681407ec3fe9275f7a5101f8577e0a7b9f0 +IV = 40ba4a584e94d99bf5fd512d33eb42fb +CIPHERTEXT = ef74a4fd658475022d1128345cd6206b +PLAINTEXT = 4d9667a86d55e7ab8649aa99ad9ac4fc + +COUNT = 13 +KEY = e9a47b729f9349750de8a456ff20100e96562fee4d3d7d0c +IV = 4d9667a86d55e7ab8649aa99ad9ac4fc +CIPHERTEXT = 40d3457b2e4a9e6fdf3c89c127b53ff4 +PLAINTEXT = f09bff8ee60d8f8def176128916912e4 + +COUNT = 14 +KEY = b178cb9efed29f03fd735bd8192d9f8379414ec6dc546fe8 +IV = f09bff8ee60d8f8def176128916912e4 +CIPHERTEXT = a195d478a94010de58dcb0ec6141d676 +PLAINTEXT = 5ff9ddc5309e9deba6236f3105405c2e + +COUNT = 15 +KEY = 9089766bfca75e5aa28a861d29b30268df6221f7d91433c6 +IV = 5ff9ddc5309e9deba6236f3105405c2e +CIPHERTEXT = d4d2073e6c3bac7121f1bdf50275c159 +PLAINTEXT = e1c3bc34fb4c0b1392e768ad25499dd0 + +COUNT = 16 +KEY = b5133a534f848c2643493a29d2ff097b4d85495afc5dae16 +IV = e1c3bc34fb4c0b1392e768ad25499dd0 +CIPHERTEXT = 4c98b67acfb5e2d0259a4c38b323d27c +PLAINTEXT = 6ff6c3c2d1f08dc1d7d2e7e5a350cbb4 + +COUNT = 17 +KEY = 2bad3dfae22f8d392cbff9eb030f84ba9a57aebf5f0d65a2 +IV = 6ff6c3c2d1f08dc1d7d2e7e5a350cbb4 +CIPHERTEXT = 9077a3b8f7a416089ebe07a9adab011f +PLAINTEXT = 60fcb478506e1d9065dafbb32e990000 + +COUNT = 18 +KEY = aad9e0f133d1cd024c434d935361992aff8d550c719465a2 +IV = 60fcb478506e1d9065dafbb32e990000 +CIPHERTEXT = de63576e12dbade58174dd0bd1fe403b +PLAINTEXT = 7e2c4c405fa14668f8cdea3f07b58186 + +COUNT = 19 +KEY = d57e5241429e6246326f01d30cc0df420740bf337621e424 +IV = 7e2c4c405fa14668f8cdea3f07b58186 +CIPHERTEXT = 9cd8c603d9fd9bde7fa7b2b0714faf44 +PLAINTEXT = 8c026df088ffc648e081519521880125 + +COUNT = 20 +KEY = eb990c6c7f814b4dbe6d6c23843f190ae7c1eea657a9e501 +IV = 8c026df088ffc648e081519521880125 +CIPHERTEXT = 98fdff6e764eb5523ee75e2d3d1f290b +PLAINTEXT = 67afe7efd10494fdfa1f88cf9ca16ed4 + +COUNT = 21 +KEY = 97d1f95f6d8e8443d9c28bcc553b8df71dde6669cb088bd5 +IV = 67afe7efd10494fdfa1f88cf9ca16ed4 +CIPHERTEXT = 7d1232d13aee0d957c48f533120fcf0e +PLAINTEXT = cf837060133e550ae2bbd77c131b5124 + +COUNT = 22 +KEY = 998f43feb436f3b21641fbac4605d8fdff65b115d813daf1 +IV = cf837060133e550ae2bbd77c131b5124 +CIPHERTEXT = 5c6e8a22203ecae90e5ebaa1d9b877f1 +PLAINTEXT = f6e8116076a294f4223ac7995eaba6a3 + +COUNT = 23 +KEY = efca5bae27d368c4e0a9eacc30a74c09dd5f768c86b87c52 +IV = f6e8116076a294f4223ac7995eaba6a3 +CIPHERTEXT = 2898a54b91fafbc87645185093e59b76 +PLAINTEXT = 93f7d2fd08b71f3ba14f8de72690244d + +COUNT = 24 +KEY = b65c8f266d02a015735e3831381053327c10fb6ba028581f +IV = 93f7d2fd08b71f3ba14f8de72690244d +CIPHERTEXT = cf0a77ebf51408935996d4884ad1c8d1 +PLAINTEXT = 25b0df0b75bc7bd8048c8321d499c9ee + +COUNT = 25 +KEY = dbbf5c44883945a056eee73a4dac28ea789c784a74b191f1 +IV = 25b0df0b75bc7bd8048c8321d499c9ee +CIPHERTEXT = fa2422dcf0ba4f576de3d362e53be5b5 +PLAINTEXT = 5bcf6bdbadc7b3b83429e4c73428f114 + +COUNT = 26 +KEY = d6cbd2ed32c8670d0d218ce1e06b9b524cb59c8d409960e5 +IV = 5bcf6bdbadc7b3b83429e4c73428f114 +CIPHERTEXT = 45e50b0f0b8713af0d748ea9baf122ad +PLAINTEXT = a5417929112e4ec58c90a5ab44034627 + +COUNT = 27 +KEY = 7889698b0e28ae69a860f5c8f145d597c0253926049a26c2 +IV = a5417929112e4ec58c90a5ab44034627 +CIPHERTEXT = f8a1033d796e228eae42bb663ce0c964 +PLAINTEXT = 38c945e94544e412609daf8c5dee9142 + +COUNT = 28 +KEY = 660a158916e526ee90a9b021b4013185a0b896aa5974b780 +IV = 38c945e94544e412609daf8c5dee9142 +CIPHERTEXT = 5833aa1bbd9a34061e837c0218cd8887 +PLAINTEXT = 15bb340eddd8f7aed52f6d19d532ede2 + +COUNT = 29 +KEY = 12adb4f7266775ba8512842f69d9c62b7597fbb38c465a62 +IV = 15bb340eddd8f7aed52f6d19d532ede2 +CIPHERTEXT = b2775dd5eeba65c974a7a17e30825354 +PLAINTEXT = 64f6a5372d2ae57ccf2dc3acd90280df + +COUNT = 30 +KEY = b92eafb46b2b4cbfe1e4211844f32357baba381f5544dabd +IV = 64f6a5372d2ae57ccf2dc3acd90280df +CIPHERTEXT = 1811597994b23385ab831b434d4c3905 +PLAINTEXT = 9d6c6c1b401791cf914441aa130897a9 + +COUNT = 31 +KEY = 3c8884493e6e81067c884d0304e4b2982bfe79b5464c4d14 +IV = 9d6c6c1b401791cf914441aa130897a9 +CIPHERTEXT = bea583f3c099a33485a62bfd5545cdb9 +PLAINTEXT = aea07abb1fa7a1e799bab1bf55ed89d6 + +COUNT = 32 +KEY = d2ed6411078f5699d22837b81b43137fb244c80a13a1c4c2 +IV = aea07abb1fa7a1e799bab1bf55ed89d6 +CIPHERTEXT = a85612993ea8de28ee65e05839e1d79f +PLAINTEXT = 2103d599e1259d1a1550514eef66ec94 + +COUNT = 33 +KEY = 112ae9cb4f412e1ef32be221fa668e65a7149944fcc72856 +IV = 2103d599e1259d1a1550514eef66ec94 +CIPHERTEXT = 2e08fcbcf493a11fc3c78dda48ce7887 +PLAINTEXT = 7589328db20122611e02e2d4bd1f9453 + +COUNT = 34 +KEY = 02fd31471e8c675386a2d0ac4867ac04b9167b9041d8bc05 +IV = 7589328db20122611e02e2d4bd1f9453 +CIPHERTEXT = 9cadb263efae8ff613d7d88c51cd494d +PLAINTEXT = f69a8dc91a9ee3a496ee980710f02285 + +COUNT = 35 +KEY = 28abe80ee92bfa1f70385d6552f94fa02ff8e39751289e80 +IV = f69a8dc91a9ee3a496ee980710f02285 +CIPHERTEXT = 8ba6be9c721b38da2a56d949f7a79d4c +PLAINTEXT = eb5dab385d0caaa0b0be2af492d74737 + +COUNT = 36 +KEY = 2c7f081b110e2fa09b65f65d0ff5e5009f46c963c3ffd9b7 +IV = eb5dab385d0caaa0b0be2af492d74737 +CIPHERTEXT = a57024e8307c1fc904d4e015f825d5bf +PLAINTEXT = d02544261303bf2450b5518ffce3bf5d + +COUNT = 37 +KEY = fdbd7da6947c21434b40b27b1cf65a24cff398ec3f1c66ea +IV = d02544261303bf2450b5518ffce3bf5d +CIPHERTEXT = 5d9b83f9d109bb78d1c275bd85720ee3 +PLAINTEXT = 4379131222246d56a4a858b614b8ebd6 + +COUNT = 38 +KEY = 2f2146f7543536cc0839a1693ed237726b5bc05a2ba48d3c +IV = 4379131222246d56a4a858b614b8ebd6 +CIPHERTEXT = 575fce987a1e7b0ad29c3b51c049178f +PLAINTEXT = 3012cbd1c60f54c621b82ba14d5f3b39 + +COUNT = 39 +KEY = 8a950a3d59d897bb382b6ab8f8dd63b44ae3ebfb66fbb605 +IV = 3012cbd1c60f54c621b82ba14d5f3b39 +CIPHERTEXT = 486fb17bde1876faa5b44cca0deda177 +PLAINTEXT = bd8467560ad478de91981e300617bcf4 + +COUNT = 40 +KEY = ce17621fa663b13185af0deef2091b6adb7bf5cb60ec0af1 +IV = bd8467560ad478de91981e300617bcf4 +CIPHERTEXT = 09f3fdd2e8c8660644826822ffbb268a +PLAINTEXT = 5a1fdc1d6f2d690780be9be67ed11d4b + +COUNT = 41 +KEY = 243527e1397afe17dfb0d1f39d24726d5bc56e2d1e3d17ba +IV = 5a1fdc1d6f2d690780be9be67ed11d4b +CIPHERTEXT = a0272f907e960d94ea2245fe9f194f26 +PLAINTEXT = 63c56b27ac11f4b0cbf81a6fe5bd86f5 + +COUNT = 42 +KEY = ff0533f9562b49fbbc75bad4313586dd903d7442fb80914f +IV = 63c56b27ac11f4b0cbf81a6fe5bd86f5 +CIPHERTEXT = f19d01736aa4453ddb3014186f51b7ec +PLAINTEXT = a9a4d278f08e95909bb669fe71f86f06 + +COUNT = 43 +KEY = 420cdc0a2a225c8b15d168acc1bb134d0b8b1dbc8a78fe49 +IV = a9a4d278f08e95909bb669fe71f86f06 +CIPHERTEXT = 761b55891a42e941bd09eff37c091570 +PLAINTEXT = 3a3dd9edc85cda66caf334323305d8a9 + +COUNT = 44 +KEY = 5bea609a5d02da7b2fecb14109e7c92bc178298eb97d26e0 +IV = 3a3dd9edc85cda66caf334323305d8a9 +CIPHERTEXT = aa4a45fcbfa3868b19e6bc90772086f0 +PLAINTEXT = eaf82423868403f63b92980775595f4b + +COUNT = 45 +KEY = a5fee23c1f836dffc51495628f63caddfaeab189cc2479ab +IV = eaf82423868403f63b92980775595f4b +CIPHERTEXT = 9a83c7c328f464f9fe1482a64281b784 +PLAINTEXT = 30aa44b4c7a5a4ded73b9346e4c899f1 + +COUNT = 46 +KEY = af7a1c0c9080b8ddf5bed1d648c66e032dd122cf28ece05a +IV = 30aa44b4c7a5a4ded73b9346e4c899f1 +CIPHERTEXT = e1e135f0a445f8b90a84fe308f03d522 +PLAINTEXT = 3da955f9d219a1e6884bdd29c27a8823 + +COUNT = 47 +KEY = dd711e48d6e1e825c817842f9adfcfe5a59affe6ea966879 +IV = 3da955f9d219a1e6884bdd29c27a8823 +CIPHERTEXT = 9ebeebf214df2ad6720b0244466150f8 +PLAINTEXT = 997fde848b4f84c4c8ce080c478e40ac + +COUNT = 48 +KEY = 03088e78a1837f2b51685aab11904b216d54f7eaad1828d5 +IV = 997fde848b4f84c4c8ce080c478e40ac +CIPHERTEXT = 00e923404699425ede7990307762970e +PLAINTEXT = 51c12074c3bc392ef12fc2826fbc1e9d + +COUNT = 49 +KEY = 3c7222203420849c00a97adfd22c720f9c7b3568c2a43648 +IV = 51c12074c3bc392ef12fc2826fbc1e9d +CIPHERTEXT = 0beb65fe1aa54c6c3f7aac5895a3fbb7 +PLAINTEXT = b6ffe11b17ebcfe8a86a54e6e82c8b00 + +COUNT = 50 +KEY = 5e778ebc38f2bcb1b6569bc4c5c7bde73411618e2a88bd48 +IV = b6ffe11b17ebcfe8a86a54e6e82c8b00 +CIPHERTEXT = 8cfac8d4f4dbb6b06205ac9c0cd2382d +PLAINTEXT = 377ac3c1b3cef480f06b3c3d465f8751 + +COUNT = 51 +KEY = 7a130b35b226c183812c580576094967c47a5db36cd73a19 +IV = 377ac3c1b3cef480f06b3c3d465f8751 +CIPHERTEXT = 3dfde485de6d628e246485898ad47d32 +PLAINTEXT = e549947db2ffdb0bd96ab03c0769b50f + +COUNT = 52 +KEY = d46ad5ae03a296cd6465cc78c4f6926c1d10ed8f6bbe8f16 +IV = e549947db2ffdb0bd96ab03c0769b50f +CIPHERTEXT = 7384d32ebef53123ae79de9bb184574e +PLAINTEXT = 28a3a1b921241657c32b0cdacaffa561 + +COUNT = 53 +KEY = c8cbc062f46c99d74cc66dc1e5d2843bde3be155a1412a77 +IV = 28a3a1b921241657c32b0cdacaffa561 +CIPHERTEXT = b24579fa22cb81d61ca115ccf7ce0f1a +PLAINTEXT = a1dfb0070b42e267e5bf276db32cfd7a + +COUNT = 54 +KEY = f9f895284240865ced19ddc6ee90665c3b84c638126dd70d +IV = a1dfb0070b42e267e5bf276db32cfd7a +CIPHERTEXT = 52a91c4dc27eacab3133554ab62c1f8b +PLAINTEXT = b369a6365cccfc37eecd4587ddb3fd4b + +COUNT = 55 +KEY = f7c7bd0cead639445e707bf0b25c9a6bd54983bfcfde2a46 +IV = b369a6365cccfc37eecd4587ddb3fd4b +CIPHERTEXT = da8c6ec7174291590e3f2824a896bf18 +PLAINTEXT = c6fd01e78fa7e5252e982e3911888bb2 + +COUNT = 56 +KEY = 54b0616eb88e4f13988d7a173dfb7f4efbd1ad86de56a1f4 +IV = c6fd01e78fa7e5252e982e3911888bb2 +CIPHERTEXT = 4b5bdd69fd30d65da377dc6252587657 +PLAINTEXT = 02a236b70dc6c578d8dd0ea1c9961b77 + +COUNT = 57 +KEY = 194cc854bc23cdc99a2f4ca0303dba36230ca32717c0ba83 +IV = 02a236b70dc6c578d8dd0ea1c9961b77 +CIPHERTEXT = 981011b14264331c4dfca93a04ad82da +PLAINTEXT = 6ce448ef498f96a3cde79556545d0329 + +COUNT = 58 +KEY = a73f3f6a5d7d42ecf6cb044f79b22c95eeeb3671439db9aa +IV = 6ce448ef498f96a3cde79556545d0329 +CIPHERTEXT = fad43c6ffd2b92c2be73f73ee15e8f25 +PLAINTEXT = 9938d395c48f39d4be223195b36279df + +COUNT = 59 +KEY = b36647b8f5bb0a196ff3d7dabd3d154150c907e4f0ffc075 +IV = 9938d395c48f39d4be223195b36279df +CIPHERTEXT = 71c8e32ad7f23383145978d2a8c648f5 +PLAINTEXT = 8a220ddf8a1ee5acad148e5752d1602c + +COUNT = 60 +KEY = 258dbbf40bb2aa89e5d1da053723f0edfddd89b3a22ea059 +IV = 8a220ddf8a1ee5acad148e5752d1602c +CIPHERTEXT = 8922f14870ff1fee96ebfc4cfe09a090 +PLAINTEXT = ed57d1b8b1b77ac26d3ded9941cb6e50 + +COUNT = 61 +KEY = 157dd4040db8609508860bbd86948a2f90e0642ae3e5ce09 +IV = ed57d1b8b1b77ac26d3ded9941cb6e50 +CIPHERTEXT = 59a0c535ca6db7ee30f06ff0060aca1c +PLAINTEXT = 7cf06cc6da9396e73cfc16ee70d1a428 + +COUNT = 62 +KEY = 7990f941c436862e7476677b5c071cc8ac1c72c493346a21 +IV = 7cf06cc6da9396e73cfc16ee70d1a428 +CIPHERTEXT = 458f235e93f422dd6ced2d45c98ee6bb +PLAINTEXT = 28b0381be0e994990eff939c1e1f5cfe + +COUNT = 63 +KEY = 7ad66f98bc22d6fa5cc65f60bcee8851a2e3e1588d2b36df +IV = 28b0381be0e994990eff939c1e1f5cfe +CIPHERTEXT = 7b481ccd9955b2c5034696d9781450d4 +PLAINTEXT = dcf9659dd06ed8dbf80835400d833830 + +COUNT = 64 +KEY = e897b731aaf9a480803f3afd6c80508a5aebd41880a80eef +IV = dcf9659dd06ed8dbf80835400d833830 +CIPHERTEXT = 92ec7e931ce9a5909241d8a916db727a +PLAINTEXT = a0fbed8b08d3e09b292caac1ec4e3009 + +COUNT = 65 +KEY = 791606d051ccfaf820c4d7766453b01173c77ed96ce63ee6 +IV = a0fbed8b08d3e09b292caac1ec4e3009 +CIPHERTEXT = 66917e63df1945b59181b1e1fb355e78 +PLAINTEXT = 6a808cdab6e840c242d7aaea77238ba5 + +COUNT = 66 +KEY = 95278b5a647e14b74a445bacd2bbf0d33110d4331bc5b543 +IV = 6a808cdab6e840c242d7aaea77238ba5 +CIPHERTEXT = 414ad5ec7f876ac6ec318d8a35b2ee4f +PLAINTEXT = 7f120a9b8d575059aba31125c819dacc + +COUNT = 67 +KEY = 2efbebd8a7a82da4355651375feca08a9ab3c516d3dc6f8f +IV = 7f120a9b8d575059aba31125c819dacc +CIPHERTEXT = 09bfe0d969770e23bbdc6082c3d63913 +PLAINTEXT = 495a79736bd141ef8de3cf5e750db36b + +COUNT = 68 +KEY = 9ee6fbbd88641c337c0c2844343de16517500a48a6d1dce4 +IV = 495a79736bd141ef8de3cf5e750db36b +CIPHERTEXT = 8a2863fade54caecb01d10652fcc3197 +PLAINTEXT = 39d7a2620af12f2eda524d9ce8730dc0 + +COUNT = 69 +KEY = 575568357391639345db8a263eccce4bcd0247d44ea2d124 +IV = 39d7a2620af12f2eda524d9ce8730dc0 +CIPHERTEXT = 68c785540a19e526c9b39388fbf57fa0 +PLAINTEXT = e755f0b55fa4bc826495cd14dc578f95 + +COUNT = 70 +KEY = 30ce2b4177a63e03a28e7a93616872c9a9978ac092f55eb1 +IV = e755f0b55fa4bc826495cd14dc578f95 +CIPHERTEXT = 0c431baaf9e92bf5679b437404375d90 +PLAINTEXT = cf56d8c0e823f46c204efbf2c7c84b14 + +COUNT = 71 +KEY = 160fec85198636d26dd8a253894b86a589d97132553d15a5 +IV = cf56d8c0e823f46c204efbf2c7c84b14 +CIPHERTEXT = 6a903ddb4d19591726c1c7c46e2008d1 +PLAINTEXT = f60b4924664607aca6ab5fc0c3e9f7d4 + +COUNT = 72 +KEY = cb1def16cb0391449bd3eb77ef0d81092f722ef296d4e271 +IV = f60b4924664607aca6ab5fc0c3e9f7d4 +CIPHERTEXT = 99e4e1896642afe4dd120393d285a796 +PLAINTEXT = 9f3250aa2f0e8883ddbebf59230ec9aa + +COUNT = 73 +KEY = 68e7f1c9c8ac768504e1bbddc003098af2cc91abb5da2bdb +IV = 9f3250aa2f0e8883ddbebf59230ec9aa +CIPHERTEXT = d15b560b12a58dfaa3fa1edf03afe7c1 +PLAINTEXT = 231b7889dbc1c64a7b3a83aa60421068 + +COUNT = 74 +KEY = e2c3308222cd4ca927fac3541bc2cfc089f61201d5983bb3 +IV = 231b7889dbc1c64a7b3a83aa60421068 +CIPHERTEXT = 8e46b3f3ad8011718a24c14bea613a2c +PLAINTEXT = 6c6d68a7112ef3e10f03dca5425febee + +COUNT = 75 +KEY = 824bf162768c22754b97abf30aec3c2186f5cea497c7d05d +IV = 6c6d68a7112ef3e10f03dca5425febee +CIPHERTEXT = 602c5762b188192e6088c1e054416edc +PLAINTEXT = a0701096ed3402757b12e00763df15ab + +COUNT = 76 +KEY = d377e491b575f034ebe7bb65e7d83e54fde72ea3f418c5f6 +IV = a0701096ed3402757b12e00763df15ab +CIPHERTEXT = 7be42b3cb6e1efa3513c15f3c3f9d241 +PLAINTEXT = 920fb44715959d976283a2768b2fe508 + +COUNT = 77 +KEY = a8b3af0c32f24f4479e80f22f24da3c39f648cd57f3720fe +IV = 920fb44715959d976283a2768b2fe508 +CIPHERTEXT = fd66c7f68edb4cc87bc44b9d8787bf70 +PLAINTEXT = 72ce69157258439e07b9844d09d34161 + +COUNT = 78 +KEY = 75223aae7b173d580b2666378015e05d98dd089876e4619f +IV = 72ce69157258439e07b9844d09d34161 +CIPHERTEXT = a27ba7f27400d730dd9195a249e5721c +PLAINTEXT = 64fc058de0a014d2c53013f612cc819c + +COUNT = 79 +KEY = 4bcf7e6f0a286e566fda63ba60b5f48f5ded1b6e6428e003 +IV = 64fc058de0a014d2c53013f612cc819c +CIPHERTEXT = c6ce10640403edbd3eed44c1713f530e +PLAINTEXT = 00b2a3ca3dea40ea9680b732fb915e8e + +COUNT = 80 +KEY = b97d87bfc45f40136f68c0705d5fb465cb6dac5c9fb9be8d +IV = 00b2a3ca3dea40ea9680b732fb915e8e +CIPHERTEXT = aafd7f3ca64c4cd3f2b2f9d0ce772e45 +PLAINTEXT = cedbe00f60e224200b319da438c8900d + +COUNT = 81 +KEY = 1aa5285756e66c8aa1b3207f3dbd9045c05c31f8a7712e80 +IV = cedbe00f60e224200b319da438c8900d +CIPHERTEXT = 5a4b169679b4fe64a3d8afe892b92c99 +PLAINTEXT = ffc26e2bd4cee4cd5818e265bd6ef44d + +COUNT = 82 +KEY = 95d31f97ef112f405e714e54e97374889844d39d1a1fdacd +IV = ffc26e2bd4cee4cd5818e265bd6ef44d +CIPHERTEXT = ca4d14f3d6718b048f7637c0b9f743ca +PLAINTEXT = 35fd8233be1e44de9c4dc1bb3568ec41 + +COUNT = 83 +KEY = 46d7792dbdfb25636b8ccc67576d3056040912262f77368c +IV = 35fd8233be1e44de9c4dc1bb3568ec41 +CIPHERTEXT = 033d748c1f2468e3d30466ba52ea0a23 +PLAINTEXT = 43a7d59909188cac4ab38490b33b7ac3 + +COUNT = 84 +KEY = 06913e0704e160a3282b19fe5e75bcfa4eba96b69c4c4c4f +IV = 43a7d59909188cac4ab38490b33b7ac3 +CIPHERTEXT = c74d0d462c3bba014046472ab91a45c0 +PLAINTEXT = c764aac8e4744307c262b58fa2f3ea6c + +COUNT = 85 +KEY = f339c2c3317d88b7ef4fb336ba01fffd8cd823393ebfa623 +IV = c764aac8e4744307c262b58fa2f3ea6c +CIPHERTEXT = 5c3b0d29ec0190b9f5a8fcc4359ce814 +PLAINTEXT = 8f5b6a109dadebe5a5e023c3a19b95be + +COUNT = 86 +KEY = 96ce751620b0fd376014d92627ac1418293800fa9f24339d +IV = 8f5b6a109dadebe5a5e023c3a19b95be +CIPHERTEXT = f8d32ec5f003a53b65f7b7d511cd7580 +PLAINTEXT = fc5b3afa8d70c4d2b8b2efe2fd3741d1 + +COUNT = 87 +KEY = 91f14ae04e7a63019c4fe3dcaadcd0ca918aef186213724c +IV = fc5b3afa8d70c4d2b8b2efe2fd3741d1 +CIPHERTEXT = 2dfc18e9e060a574073f3ff66eca9e36 +PLAINTEXT = a6c1a46e8108e6186ee9785c7328d42e + +COUNT = 88 +KEY = c44dbcadb1c1f2b53a8e47b22bd436d2ff639744113ba662 +IV = a6c1a46e8108e6186ee9785c7328d42e +CIPHERTEXT = 70ad0f43d1b6a23355bcf64dffbb91b4 +PLAINTEXT = 796eb273af7e57374ca7c83efc33344a + +COUNT = 89 +KEY = 52e681765d357fdb43e0f5c184aa61e5b3c45f7aed089228 +IV = 796eb273af7e57374ca7c83efc33344a +CIPHERTEXT = be4c5cf9fe1f39a196ab3ddbecf48d6e +PLAINTEXT = 7674f13f3821c2bce4ea2fd6ad794084 + +COUNT = 90 +KEY = 5314418bf24c7502359404febc8ba359572e70ac4071d2ac +IV = 7674f13f3821c2bce4ea2fd6ad794084 +CIPHERTEXT = dd9e7e725e54fe6901f2c0fdaf790ad9 +PLAINTEXT = c80cbde88d3067021586ef101cf04fb0 + +COUNT = 91 +KEY = 8b7d34d7626d51edfd98b91631bbc45b42a89fbc5c819d1c +IV = c80cbde88d3067021586ef101cf04fb0 +CIPHERTEXT = b10bf5ebe8692307d869755c902124ef +PLAINTEXT = e0a548a0b6ce9c671381280e0f1fdf08 + +COUNT = 92 +KEY = 8c46e436df7106851d3df1b68775583c5129b7b2539e4214 +IV = e0a548a0b6ce9c671381280e0f1fdf08 +CIPHERTEXT = c8b6cdc35a3efa0a073bd0e1bd1c5768 +PLAINTEXT = 16749ec82649b855064fbe2bef784eea + +COUNT = 93 +KEY = 63c8b608acb56f280b496f7ea13ce06957660999bce60cfe +IV = 16749ec82649b855064fbe2bef784eea +CIPHERTEXT = c4e0b93de9514d9eef8e523e73c469ad +PLAINTEXT = e81c0caf052060f0fa8d9f761b2b6063 + +COUNT = 94 +KEY = 99784bbf5d8ae335e35563d1a41c8099adeb96efa7cd6c9d +IV = e81c0caf052060f0fa8d9f761b2b6063 +CIPHERTEXT = 80e069b43c5ea62ffab0fdb7f13f8c1d +PLAINTEXT = 0ed64ff3f9593d304b85ab23002a5703 + +COUNT = 95 +KEY = d68495601d03d918ed832c225d45bda9e66e3dcca7e73b9e +IV = 0ed64ff3f9593d304b85ab23002a5703 +CIPHERTEXT = 704290294c3e6f954ffcdedf40893a2d +PLAINTEXT = 3c134cdfcbf3f89e2ac05b1864540b3e + +COUNT = 96 +KEY = a911e576cd0b13e6d19060fd96b64537ccae66d4c3b330a0 +IV = 3c134cdfcbf3f89e2ac05b1864540b3e +CIPHERTEXT = 7ff96044f653bdc77f957016d008cafe +PLAINTEXT = f466006f1ad9cb222ea15eb095d741fb + +COUNT = 97 +KEY = 7b27097d5e8b6a9a25f660928c6f8e15e20f38645664715b +IV = f466006f1ad9cb222ea15eb095d741fb +CIPHERTEXT = 54a711a668ea4166d236ec0b9380797c +PLAINTEXT = d23d95a0b3f76ad107103df69d2ff71b + +COUNT = 98 +KEY = 03ab481806dc3053f7cbf5323f98e4c4e51f0592cb4b8640 +IV = d23d95a0b3f76ad107103df69d2ff71b +CIPHERTEXT = ebc6547723a035ce788c416558575ac9 +PLAINTEXT = dda9bf3cea1684290704df823dbab420 + +COUNT = 99 +KEY = 34b0efe247c23d8c2a624a0ed58e60ede21bda10f6f13260 +IV = dda9bf3cea1684290704df823dbab420 +CIPHERTEXT = 8a6b5207e5a5e55b371ba7fa411e0ddf +PLAINTEXT = 656ddf0a3067b99d9d234b0e2223f04f + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT256.rsp new file mode 100644 index 000000000..fb43be490 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMCT256.rsp @@ -0,0 +1,1212 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MCT test data for OFB +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:12:03 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = b46129976d3fb9a83b10d3f6bb928a5b2e8fd00ec10fdf7513ccd83af1e6aaa1 +IV = 39c6a3ab26ae170921c503fc62ec0ba9 +PLAINTEXT = 7a644b53ef2cb607328c63dd61321515 +CIPHERTEXT = 0e865252917d7a10547480988fe3f80e + +COUNT = 1 +KEY = 9336d1d84a26bf77c866b7526fd3607a2009825c5072a56547b858a27e0552af +IV = 0e865252917d7a10547480988fe3f80e +PLAINTEXT = 2757f84f271906dff37664a4d441ea21 +CIPHERTEXT = c4c13f49860e427bd12af7f2271a0f20 + +COUNT = 2 +KEY = 8f5bca03aa7672bda813187e66b13f79e4c8bd15d67ce71e9692af50591f5d8f +IV = c4c13f49860e427bd12af7f2271a0f20 +PLAINTEXT = 1c6d1bdbe050cdca6075af2c09625f03 +CIPHERTEXT = 279bb28c1391203dd1d05e7cd9280015 + +COUNT = 3 +KEY = ef39eb2fe78dedaef0950fb851c103efc3530f99c5edc7234742f12c80375d9a +IV = 279bb28c1391203dd1d05e7cd9280015 +PLAINTEXT = 6062212c4dfb9f13588617c637703c96 +CIPHERTEXT = 2cc50d62e9de131a43080b88b0289da8 + +COUNT = 4 +KEY = f65b449ac1b786b255fbb78a75ba3accef9602fb2c33d439044afaa4301fc032 +IV = 2cc50d62e9de131a43080b88b0289da8 +PLAINTEXT = 1962afb5263a6b1ca56eb832247b3923 +CIPHERTEXT = 72d4ae84c5bd29007b1903646d79cbe2 + +COUNT = 5 +KEY = 76df207b7af7f6bc473ebad885df289e9d42ac7fe98efd397f53f9c05d660bd0 +IV = 72d4ae84c5bd29007b1903646d79cbe2 +PLAINTEXT = 808464e1bb40700e12c50d52f0651252 +CIPHERTEXT = 1caa928b78383edeaf66dc259d658732 + +COUNT = 6 +KEY = c8ae2a52284cb2bc2cfca7b6f375416581e83ef491b6c3e7d03525e5c0038ce2 +IV = 1caa928b78383edeaf66dc259d658732 +PLAINTEXT = be710a2952bb44006bc21d6e76aa69fb +CIPHERTEXT = 386109ad358a96ce54b02d964017ef03 + +COUNT = 7 +KEY = ccc4e31232fa2e076989526c5eb81398b9893759a43c552984850873801463e1 +IV = 386109ad358a96ce54b02d964017ef03 +PLAINTEXT = 046ac9401ab69cbb4575f5daadcd52fd +CIPHERTEXT = 9b1c64dc5e06f6489dd6e8aeceb46334 + +COUNT = 8 +KEY = 2d231f53386bc82a3ac9077a3daec7ca22955385fa3aa3611953e0dd4ea000d5 +IV = 9b1c64dc5e06f6489dd6e8aeceb46334 +PLAINTEXT = e1e7fc410a91e62d534055166316d452 +CIPHERTEXT = 93a4ecffb4df4fc2d59c47e2cfd93e15 + +COUNT = 9 +KEY = 81977733efc3dceb6a495b8ea360fe66b131bf7a4ee5eca3cccfa73f81793ec0 +IV = 93a4ecffb4df4fc2d59c47e2cfd93e15 +PLAINTEXT = acb46860d7a814c150805cf49ece39ac +CIPHERTEXT = 4440e7ab52b0792d7e58b2924e9dd0ff + +COUNT = 10 +KEY = 12a65f8a897a5d9cc79a4ca0360e2460f57158d11c55958eb29715adcfe4ee3f +IV = 4440e7ab52b0792d7e58b2924e9dd0ff +PLAINTEXT = 933128b966b98177add3172e956eda06 +CIPHERTEXT = 47dc817d9db4ec0be9cfa7f35dfb703e + +COUNT = 11 +KEY = 85e1da0755e16d989d56aaff3a6759ccb2add9ac81e179855b58b25e921f9e01 +IV = 47dc817d9db4ec0be9cfa7f35dfb703e +PLAINTEXT = 9747858ddc9b30045acce65f0c697dac +CIPHERTEXT = b0e602a8812ae142a605c7ab90c73306 + +COUNT = 12 +KEY = 9656917e65bb400529b735b34fc55130024bdb0400cb98c7fd5d75f502d8ad07 +IV = b0e602a8812ae142a605c7ab90c73306 +PLAINTEXT = 13b74b79305a2d9db4e19f4c75a208fc +CIPHERTEXT = d3bef9c7bc9de0c5136242ed49295095 + +COUNT = 13 +KEY = 777e68c1a04ac446f6bbe6c1b8af43d6d1f522c3bc567802ee3f37184bf1fd92 +IV = d3bef9c7bc9de0c5136242ed49295095 +PLAINTEXT = e128f9bfc5f18443df0cd372f76a12e6 +CIPHERTEXT = 4126ec33e8e4e992c2f7cf349b3ae3a7 + +COUNT = 14 +KEY = b072423d2001b860c2a7f1d1bc483afd90d3cef054b291902cc8f82cd0cb1e35 +IV = 4126ec33e8e4e992c2f7cf349b3ae3a7 +PLAINTEXT = c70c2afc804b7c26341c171004e7792b +CIPHERTEXT = 658c9edc780d4c95ff3dde95b3966bbd + +COUNT = 15 +KEY = 0f8bd24458f21306676953b23fd02b2cf55f502c2cbfdd05d3f526b9635d7588 +IV = 658c9edc780d4c95ff3dde95b3966bbd +PLAINTEXT = bff9907978f3ab66a5cea263839811d1 +CIPHERTEXT = 3d52cf297d70ec8b8664b39971c59f29 + +COUNT = 16 +KEY = b48908e68454676beece1631ef08bbc1c80d9f0551cf318e559195201298eaa1 +IV = 3d52cf297d70ec8b8664b39971c59f29 +PLAINTEXT = bb02daa2dca6746d89a74583d0d890ed +CIPHERTEXT = bee97cfb543aa88fa529333a919d17a6 + +COUNT = 17 +KEY = 44ec55b2d69ad3d2fcf7ad7f50d2a7ef76e4e3fe05f59901f0b8a61a8305fd07 +IV = bee97cfb543aa88fa529333a919d17a6 +PLAINTEXT = f0655d5452ceb4b91239bb4ebfda1c2e +CIPHERTEXT = 018ea25488250ce3e63641fedf4bc61d + +COUNT = 18 +KEY = 53de14ec439244ab0ee4716c1348c7b6776a41aa8dd095e2168ee7e45c4e3b1a +IV = 018ea25488250ce3e63641fedf4bc61d +PLAINTEXT = 1732415e95089779f213dc13439a6059 +CIPHERTEXT = e71b6d6ae6559691ef78a6e3838635a6 + +COUNT = 19 +KEY = fccb08f93da3b6847c3007ccf9630dd890712cc06b850373f9f64107dfc80ebc +IV = e71b6d6ae6559691ef78a6e3838635a6 +PLAINTEXT = af151c157e31f22f72d476a0ea2bca6e +CIPHERTEXT = b29da4db11b83b4f67915d37e708d06d + +COUNT = 20 +KEY = f721d7a2f339aca5614a7d1804c353ae22ec881b7a3d383c9e671c3038c0ded1 +IV = b29da4db11b83b4f67915d37e708d06d +PLAINTEXT = 0beadf5bce9a1a211d7a7ad4fda05e76 +CIPHERTEXT = 47d2f39c447ee5fc6077a0349ae54530 + +COUNT = 21 +KEY = 95c51e9a40c5378e81d8e123577c97a6653e7b873e43ddc0fe10bc04a2259be1 +IV = 47d2f39c447ee5fc6077a0349ae54530 +PLAINTEXT = 62e4c938b3fc9b2be0929c3b53bfc408 +CIPHERTEXT = c7a96313bdef8684ce01610e64597278 + +COUNT = 22 +KEY = 7a0bd429e24530409d212877d1edad5ca297189483ac5b443011dd0ac67ce999 +IV = c7a96313bdef8684ce01610e64597278 +PLAINTEXT = efcecab3a28007ce1cf9c95486913afa +CIPHERTEXT = 29cc20c3624bcd2b2cbba0ee9d4b4fa6 + +COUNT = 23 +KEY = acde3bfb0dde00081a91ce4b0ac0d28c8b5b3857e1e7966f1caa7de45b37a63f +IV = 29cc20c3624bcd2b2cbba0ee9d4b4fa6 +PLAINTEXT = d6d5efd2ef9b304887b0e63cdb2d7fd0 +CIPHERTEXT = 9e718306e73448d97f4ae297bf70a667 + +COUNT = 24 +KEY = ff32dcbbbef2dfe57d75cd5b9bcec117152abb5106d3deb663e09f73e4470058 +IV = 9e718306e73448d97f4ae297bf70a667 +PLAINTEXT = 53ece740b32cdfed67e40310910e139b +CIPHERTEXT = 553de328a3e6a51dd368346a29476c3d + +COUNT = 25 +KEY = 5c44fdd621eb005635fec41918ffcd5740175879a5357babb088ab19cd006c65 +IV = 553de328a3e6a51dd368346a29476c3d +PLAINTEXT = a376216d9f19dfb3488b094283310c40 +CIPHERTEXT = ee1c85be6e383f41cd8c5bb9c6de650b + +COUNT = 26 +KEY = 37783c8d9cabc54144eb99b48057fe38ae0bddc7cb0d44ea7d04f0a00bde096e +IV = ee1c85be6e383f41cd8c5bb9c6de650b +PLAINTEXT = 6b3cc15bbd40c51771155dad98a8336f +CIPHERTEXT = a006ab97ac3d7949664b6052c60f368b + +COUNT = 27 +KEY = 67366b0e82450b0d426a4dbba829d7ef0e0d765067303da31b4f90f2cdd13fe5 +IV = a006ab97ac3d7949664b6052c60f368b +PLAINTEXT = 504e57831eeece4c0681d40f287e29d7 +CIPHERTEXT = cbfd93ffbd52f1ecabed91997192036c + +COUNT = 28 +KEY = e426f385c94fba8a7af833252dc522aac5f0e5afda62cc4fb0a2016bbc433c89 +IV = cbfd93ffbd52f1ecabed91997192036c +PLAINTEXT = 8310988b4b0ab18738927e9e85ecf545 +CIPHERTEXT = 8b461584ccaf162b2b40064d733e986c + +COUNT = 29 +KEY = 62f014a76a7992352a70eb8b3bc731444eb6f02b16cdda649be20726cf7da4e5 +IV = 8b461584ccaf162b2b40064d733e986c +PLAINTEXT = 86d6e722a33628bf5088d8ae160213ee +CIPHERTEXT = 06ea10b42a81e0421a83b1fe63afbfed + +COUNT = 30 +KEY = b7611d3580570d5b297881e3dc2d3cd3485ce09f3c4c3a268161b6d8acd21b08 +IV = 06ea10b42a81e0421a83b1fe63afbfed +PLAINTEXT = d5910992ea2e9f6e03086a68e7ea0d97 +CIPHERTEXT = ce806af29e77f455720e22e20d37c6a1 + +COUNT = 31 +KEY = 16609dff64b680c49ac82b27ffa023f486dc8a6da23bce73f36f943aa1e5dda9 +IV = ce806af29e77f455720e22e20d37c6a1 +PLAINTEXT = a10180cae4e18d9fb3b0aac4238d1f27 +CIPHERTEXT = 18e622d4f64adf746df2347b371fa6d8 + +COUNT = 32 +KEY = 9f04cfddbe2972e5cbe780b011d457949e3aa8b9547111079e9da04196fa7b71 +IV = 18e622d4f64adf746df2347b371fa6d8 +PLAINTEXT = 89645222da9ff221512fab97ee747460 +CIPHERTEXT = 0e3e3c037f750990be7e89ef113af1a1 + +COUNT = 33 +KEY = f54ba679ad25038b58926a1e7f4233d4900494ba2b04189720e329ae87c08ad0 +IV = 0e3e3c037f750990be7e89ef113af1a1 +PLAINTEXT = 6a4f69a4130c716e9375eaae6e966440 +CIPHERTEXT = 21b1cc7a88a4f1885ee000b6b679e6b1 + +COUNT = 34 +KEY = 788fbff8d589dcd1992c8def86212df5b1b558c0a3a0e91f7e03291831b96c61 +IV = 21b1cc7a88a4f1885ee000b6b679e6b1 +PLAINTEXT = 8dc4198178acdf5ac1bee7f1f9631e21 +CIPHERTEXT = cb543013362ef50fe1564256a7ff3f12 + +COUNT = 35 +KEY = cd64073cd430c7024a6b61361dbbd1077ae168d3958e1c109f556b4e96465373 +IV = cb543013362ef50fe1564256a7ff3f12 +PLAINTEXT = b5ebb8c401b91bd3d347ecd99b9afcf2 +CIPHERTEXT = 2e94640d18886d5e45262239d73758ae + +COUNT = 36 +KEY = 5ad97f2f7feaaa07e0c4dfae27852eba54750cde8d06714eda73497741710bdd +IV = 2e94640d18886d5e45262239d73758ae +PLAINTEXT = 97bd7813abda6d05aaafbe983a3effbd +CIPHERTEXT = fea23bd01a312ee2cd4fa00ba85d4406 + +COUNT = 37 +KEY = 22a4385b7ec3f54155f6223b6dec292faad7370e97375fac173ce97ce92c4fdb +IV = fea23bd01a312ee2cd4fa00ba85d4406 +PLAINTEXT = 787d477401295f46b532fd954a690795 +CIPHERTEXT = 16870921083904878aeeb523441e5b1e + +COUNT = 38 +KEY = a55fb965504daf41ff4cc186d083c9d9bc503e2f9f0e5b2b9dd25c5fad3214c5 +IV = 16870921083904878aeeb523441e5b1e +PLAINTEXT = 87fb813e2e8e5a00aabae3bdbd6fe0f6 +CIPHERTEXT = f2388c3c067cf5985e2cab93eb06a2d3 + +COUNT = 39 +KEY = 9b9dd18ae4559f67857299047c24dc7e4e68b2139972aeb3c3fef7cc4634b616 +IV = f2388c3c067cf5985e2cab93eb06a2d3 +PLAINTEXT = 3ec268efb41830267a3e5882aca715a7 +CIPHERTEXT = db56429b6c88e1e332a7622fac5fb856 + +COUNT = 40 +KEY = f86814b44ada2a88ee6a6853dc8e7341953ef088f5fa4f50f15995e3ea6b0e40 +IV = db56429b6c88e1e332a7622fac5fb856 +PLAINTEXT = 63f5c53eae8fb5ef6b18f157a0aaaf3f +CIPHERTEXT = cd0649da4c54ff311fa162d34f9a6624 + +COUNT = 41 +KEY = 5139609aa9cdbd54f664b0a9ec3141b35838b952b9aeb061eef8f730a5f16864 +IV = cd0649da4c54ff311fa162d34f9a6624 +PLAINTEXT = a951742ee31797dc180ed8fa30bf32f2 +CIPHERTEXT = a3565fb850adb3da7282b72bf9c3f75a + +COUNT = 42 +KEY = df78bc694dc37d5296463c02e4bc1d08fb6ee6eae90303bb9c7a401b5c329f3e +IV = a3565fb850adb3da7282b72bf9c3f75a +PLAINTEXT = 8e41dcf3e40ec00660228cab088d5cbb +CIPHERTEXT = 15330877dfb197bdd834e3a739928407 + +COUNT = 43 +KEY = 76aaf1303dd67a38f51b8a737597b658ee5dee9d36b29406444ea3bc65a01b39 +IV = 15330877dfb197bdd834e3a739928407 +PLAINTEXT = a9d24d597015076a635db671912bab50 +CIPHERTEXT = 4d589808ca671d54dc5dbcf71162049e + +COUNT = 44 +KEY = 0b16ca4b548f4fa5ce226e3bdb4aca51a3057695fcd5895298131f4b74c21fa7 +IV = 4d589808ca671d54dc5dbcf71162049e +PLAINTEXT = 7dbc3b7b6959359d3b39e448aedd7c09 +CIPHERTEXT = 4803dcd501481022ba7754399f21e81c + +COUNT = 45 +KEY = 556140fd046d96ec0e43b3bf23242923eb06aa40fd9d997022644b72ebe3f7bb +IV = 4803dcd501481022ba7754399f21e81c +PLAINTEXT = 5e778ab650e2d949c061dd84f86ee372 +CIPHERTEXT = 791ba0c894b4f7aec78b5a39b9b3fc8a + +COUNT = 46 +KEY = 574b585b835fafdbd365e44829ececcf921d0a8869296edee5ef114b52500b31 +IV = 791ba0c894b4f7aec78b5a39b9b3fc8a +PLAINTEXT = 022a18a687323937dd2657f70ac8c5ec +CIPHERTEXT = 69c14d39bedef0bde1894d031515f1ee + +COUNT = 47 +KEY = 90380963fb11e94d74038782fbc6b224fbdc47b1d7f79e6304665c484745fadf +IV = 69c14d39bedef0bde1894d031515f1ee +PLAINTEXT = c7735138784e4696a76663cad22a5eeb +CIPHERTEXT = cf5d786bae8580f9bb87066a6cf1430f + +COUNT = 48 +KEY = 8cef32b8df02fffd031eeb0c741eb23834813fda79721e9abfe15a222bb4b9d0 +IV = cf5d786bae8580f9bb87066a6cf1430f +PLAINTEXT = 1cd73bdb241316b0771d6c8e8fd8001c +CIPHERTEXT = 30676e7a02f6446c2b06abe6f1a9eef7 + +COUNT = 49 +KEY = 1ad682a809cc7fffac245c5b156d69c704e651a07b845af694e7f1c4da1d5727 +IV = 30676e7a02f6446c2b06abe6f1a9eef7 +PLAINTEXT = 9639b010d6ce8002af3ab7576173dbff +CIPHERTEXT = 9a4af659a4c16bbadd5cc5166f985331 + +COUNT = 50 +KEY = 671d564d5a6b7d6123a73d7456a9dae99eaca7f9df45314c49bb34d2b5850416 +IV = 9a4af659a4c16bbadd5cc5166f985331 +PLAINTEXT = 7dcbd4e553a7029e8f83612f43c4b32e +CIPHERTEXT = fd1b93ea3fc4f1d47d5cbce67d436d5c + +COUNT = 51 +KEY = 31ec44b283ee420e03fdf519541b858a63b73413e081c09834e78834c8c6694a +IV = fd1b93ea3fc4f1d47d5cbce67d436d5c +PLAINTEXT = 56f112ffd9853f6f205ac86d02b25f63 +CIPHERTEXT = 1f8e26076b455b8da68d94048d6ad050 + +COUNT = 52 +KEY = 79fdb45fe342bc273763cf35a193cfe47c3912148bc49b15926a1c3045acb91a +IV = 1f8e26076b455b8da68d94048d6ad050 +PLAINTEXT = 4811f0ed60acfe29349e3a2cf5884a6e +CIPHERTEXT = 19219319997612a4c6862689c95201cf + +COUNT = 53 +KEY = 3cba4d5aeb355575d3a60a7773fe76f76518810d12b289b154ec3ab98cfeb8d5 +IV = 19219319997612a4c6862689c95201cf +PLAINTEXT = 4547f9050877e952e4c5c542d26db913 +CIPHERTEXT = 996a1b7e07d324f7a6958d811673a3aa + +COUNT = 54 +KEY = 0b321c998d7230148e6e616f58c26febfc729a731561ad46f279b7389a8d1b7f +IV = 996a1b7e07d324f7a6958d811673a3aa +PLAINTEXT = 378851c3664765615dc86b182b3c191c +CIPHERTEXT = 5d2f9df99d59d8666ad216a011b254ee + +COUNT = 55 +KEY = 808a294b2bcf2091e27a82759ca41f36a15d078a8838752098aba1988b3f4f91 +IV = 5d2f9df99d59d8666ad216a011b254ee +PLAINTEXT = 8bb835d2a6bd10856c14e31ac46670dd +CIPHERTEXT = cf0e854db38f32170b6b940a8162ee1d + +COUNT = 56 +KEY = b2b843b18783d1b8f7341868207851516e5382c73bb7473793c035920a5da18c +IV = cf0e854db38f32170b6b940a8162ee1d +PLAINTEXT = 32326afaac4cf129154e9a1dbcdc4e67 +CIPHERTEXT = ab9cca58d75a687b5f07de79e40865fe + +COUNT = 57 +KEY = 44508200224a9f75dc70731720b198c2c5cf489feced2f4cccc7ebebee55c472 +IV = ab9cca58d75a687b5f07de79e40865fe +PLAINTEXT = f6e8c1b1a5c94ecd2b446b7f00c9c993 +CIPHERTEXT = b03b734fdddd11883ac396c44257e13e + +COUNT = 58 +KEY = 424965645a51cc91a28674cc30fcfe1e75f43bd031303ec4f6047d2fac02254c +IV = b03b734fdddd11883ac396c44257e13e +PLAINTEXT = 0619e764781b53e47ef607db104d66dc +CIPHERTEXT = 02ef7b42ee830ce6e383c041556568e9 + +COUNT = 59 +KEY = 0eee448d9a7307613e668130e0319d8e771b4092dfb332221587bd6ef9674da5 +IV = 02ef7b42ee830ce6e383c041556568e9 +PLAINTEXT = 4ca721e9c022cbf09ce0f5fcd0cd6390 +CIPHERTEXT = 4fdef5f9e6ddd87ff91fd7d24949eb98 + +COUNT = 60 +KEY = 356aec4cc5740d59e6af46e2f042232838c5b56b396eea5dec986abcb02ea63d +IV = 4fdef5f9e6ddd87ff91fd7d24949eb98 +PLAINTEXT = 3b84a8c15f070a38d8c9c7d21073bea6 +CIPHERTEXT = 6d4c89c5084c8f6a47851e3c7ba4aaac + +COUNT = 61 +KEY = 6ac010fe683ccd8bb61b66fc2e302fa955893cae31226537ab1d7480cb8a0c91 +IV = 6d4c89c5084c8f6a47851e3c7ba4aaac +PLAINTEXT = 5faafcb2ad48c0d250b4201ede720c81 +CIPHERTEXT = 9acba2ea6c26b735e6f014650691707b + +COUNT = 62 +KEY = 11c7a21eec5ddec4588810bae2c05f3ccf429e445d04d2024ded60e5cd1b7cea +IV = 9acba2ea6c26b735e6f014650691707b +PLAINTEXT = 7b07b2e08461134fee937646ccf07095 +CIPHERTEXT = 960fd5e11bd73e2a27c46feedd97a84a + +COUNT = 63 +KEY = e90cf4765286ee28c7a77f41a5aa134b594d4ba546d3ec286a290f0b108cd4a0 +IV = 960fd5e11bd73e2a27c46feedd97a84a +PLAINTEXT = f8cb5668bedb30ec9f2f6ffb476a4c77 +CIPHERTEXT = 8e3cb0b786a6efe1784d17f605ace400 + +COUNT = 64 +KEY = 56ef5fd088a30a283699b15a3408a7e9d771fb12c07503c9126418fd152030a0 +IV = 8e3cb0b786a6efe1784d17f605ace400 +PLAINTEXT = bfe3aba6da25e400f13ece1b91a2b4a2 +CIPHERTEXT = 6e0915e7e50e695c7a7eae1a1afc835b + +COUNT = 65 +KEY = 97ed0ed4360df70b5d3d40e26af6954bb978eef5257b6a95681ab6e70fdcb3fb +IV = 6e0915e7e50e695c7a7eae1a1afc835b +PLAINTEXT = c1025104beaefd236ba4f1b85efe32a2 +CIPHERTEXT = fe90ecc63ff29147588ca1ffa3159faf + +COUNT = 66 +KEY = f6bb171996ec911cd73f9db8a189d4d447e802331a89fbd230961718acc92c54 +IV = fe90ecc63ff29147588ca1ffa3159faf +PLAINTEXT = 615619cda0e166178a02dd5acb7f419f +CIPHERTEXT = 0641fbde4095b7eee7f92d41fa5567b9 + +COUNT = 67 +KEY = 4aa7d81839bebd70bba0f997178db3af41a9f9ed5a1c4c3cd76f3a59569c4bed +IV = 0641fbde4095b7eee7f92d41fa5567b9 +PLAINTEXT = bc1ccf01af522c6c6c9f642fb604677b +CIPHERTEXT = 26c185a85fd217aac7005627fadbf133 + +COUNT = 68 +KEY = 2e90be4f829ddce20e3ec52f97e8a12267687c4505ce5b96106f6c7eac47bade +IV = 26c185a85fd217aac7005627fadbf133 +PLAINTEXT = 64376657bb236192b59e3cb88065128d +CIPHERTEXT = 6db46e480b65ca4e5774b484daf32ed6 + +COUNT = 69 +KEY = 61153c5e27681efff493c916cb9e0f490adc120d0eab91d8471bd8fa76b49408 +IV = 6db46e480b65ca4e5774b484daf32ed6 +PLAINTEXT = 4f858211a5f5c21dfaad0c395c76ae6b +CIPHERTEXT = f34d2abb15588d93f214557b46a80cd6 + +COUNT = 70 +KEY = a409f6c96f8cd638997cfdc1ff2e40d4f99138b61bf31c4bb50f8d81301c98de +IV = f34d2abb15588d93f214557b46a80cd6 +PLAINTEXT = c51cca9748e4c8c76def34d734b04f9d +CIPHERTEXT = f6e702fbc750c69ce2c7c54e448bdf7c + +COUNT = 71 +KEY = 15e963985d34c59fd207ad7aecfc0e450f763a4ddca3dad757c848cf749747a2 +IV = f6e702fbc750c69ce2c7c54e448bdf7c +PLAINTEXT = b1e0955132b813a74b7b50bb13d24e91 +CIPHERTEXT = a75ed26a81e47246c6d316b54d17cb86 + +COUNT = 72 +KEY = d402e61949fa0a3f7f749f220204dc91a828e8275d47a891911b5e7a39808c24 +IV = a75ed26a81e47246c6d316b54d17cb86 +PLAINTEXT = c1eb858114cecfa0ad733258eef8d2d4 +CIPHERTEXT = 7be5007f73e5d8a0a26ba404fdd1cedb + +COUNT = 73 +KEY = 53d0bf5661cdcf0a86549f40eea8dee9d3cde8582ea270313370fa7ec45142ff +IV = 7be5007f73e5d8a0a26ba404fdd1cedb +PLAINTEXT = 87d2594f2837c535f9200062ecac0278 +CIPHERTEXT = 5cedf9411f7655529a8d1b75d5849f56 + +COUNT = 74 +KEY = aa9a578b9db0c3b72963ea2f00258ca38f20111931d42563a9fde10b11d5dda9 +IV = 5cedf9411f7655529a8d1b75d5849f56 +PLAINTEXT = f94ae8ddfc7d0cbdaf37756fee8d524a +CIPHERTEXT = f024ce21a00fa9e920f5e6e692656a91 + +COUNT = 75 +KEY = a1ce9880d29c355d8aa474d2ca3546957f04df3891db8c8a890807ed83b0b738 +IV = f024ce21a00fa9e920f5e6e692656a91 +PLAINTEXT = 0b54cf0b4f2cf6eaa3c79efdca10ca36 +CIPHERTEXT = bffdf3cc0046e1b482c9555f73c13661 + +COUNT = 76 +KEY = 06218bdb46fbd7df65740b9764d84f88c0f92cf4919d6d3e0bc152b2f0718159 +IV = bffdf3cc0046e1b482c9555f73c13661 +PLAINTEXT = a7ef135b9467e282efd07f45aeed091d +CIPHERTEXT = 84723011f5329e7cea3a960911ba8c11 + +COUNT = 77 +KEY = ea158a109e919283b58e012f3184894c448b1ce564aff342e1fbc4bbe1cb0d48 +IV = 84723011f5329e7cea3a960911ba8c11 +PLAINTEXT = ec3401cbd86a455cd0fa0ab8555cc6c4 +CIPHERTEXT = 4e0772625da788e288b79db661c4c849 + +COUNT = 78 +KEY = edb8124f909f0c02b00fafdaf446eb180a8c6e8739087ba0694c590d800fc501 +IV = 4e0772625da788e288b79db661c4c849 +PLAINTEXT = 07ad985f0e0e9e810581aef5c5c26254 +CIPHERTEXT = b15db593147f44df291b42cca2c8b48b + +COUNT = 79 +KEY = e54b8232e01785c9615f8a3a72ba4138bbd1db142d773f7f40571bc122c7718a +IV = b15db593147f44df291b42cca2c8b48b +PLAINTEXT = 08f3907d708889cbd15025e086fcaa20 +CIPHERTEXT = 6316ffe1ad23419ec9ea3436251333bc + +COUNT = 80 +KEY = 31d30dcb1258db4c3c145068257c7e82d8c724f580547ee189bd2ff707d44236 +IV = 6316ffe1ad23419ec9ea3436251333bc +PLAINTEXT = d4988ff9f24f5e855d4bda5257c63fba +CIPHERTEXT = 8b87eeba3112c31a5c2ab90c25a5431a + +COUNT = 81 +KEY = 6e2848fdc3bd6a60813552628343d9b65340ca4fb146bdfbd59796fb2271012c +IV = 8b87eeba3112c31a5c2ab90c25a5431a +PLAINTEXT = 5ffb4536d1e5b12cbd21020aa63fa734 +CIPHERTEXT = 64677085906ec7a8cd7033b04189c7dd + +COUNT = 82 +KEY = b2c907f7e4a75d0cb800b97460ef79fc3727baca21287a5318e7a54b63f8c6f1 +IV = 64677085906ec7a8cd7033b04189c7dd +PLAINTEXT = dce14f0a271a376c3935eb16e3aca04a +CIPHERTEXT = 43733facf2121c7ad92e00357418f8c2 + +COUNT = 83 +KEY = 7734bb149b7679af9c9e6fff9ced85b774548566d33a6629c1c9a57e17e03e33 +IV = 43733facf2121c7ad92e00357418f8c2 +PLAINTEXT = c5fdbce37fd124a3249ed68bfc02fc4b +CIPHERTEXT = 6e7623c15f237eb28b9bf3dea9fe9637 + +COUNT = 84 +KEY = 21ea14cda062f28829a7bb58d04be9891a22a6a78c19189b4a5256a0be1ea804 +IV = 6e7623c15f237eb28b9bf3dea9fe9637 +PLAINTEXT = 56deafd93b148b27b539d4a74ca66c3e +CIPHERTEXT = 3e718a8d49420c25ddbf6034f20ca8d1 + +COUNT = 85 +KEY = 091bc8fa03c8fa8fe26badd8ecca715824532c2ac55b14be97ed36944c1200d5 +IV = 3e718a8d49420c25ddbf6034f20ca8d1 +PLAINTEXT = 28f1dc37a3aa0807cbcc16803c8198d1 +CIPHERTEXT = a06336134590b569e04edaa2eb2b4119 + +COUNT = 86 +KEY = 2041989031131597cc3fb845267a75c684301a3980cba1d777a3ec36a73941cc +IV = a06336134590b569e04edaa2eb2b4119 +PLAINTEXT = 295a506a32dbef182e54159dcab0049e +CIPHERTEXT = 76b6eed4459d22ddcb712d367dba9e57 + +COUNT = 87 +KEY = 798063caa2407b6b24f248cf9b9d4d18f286f4edc556830abcd2c100da83df9b +IV = 76b6eed4459d22ddcb712d367dba9e57 +PLAINTEXT = 59c1fb5a93536efce8cdf08abde738de +CIPHERTEXT = a3fef4b3711ad064e6a282d45cd81d7d + +COUNT = 88 +KEY = b8d6e9f60f7d2fc3a843c8e243c4bdd85178005eb44c536e5a7043d4865bc2e6 +IV = a3fef4b3711ad064e6a282d45cd81d7d +PLAINTEXT = c1568a3cad3d54a88cb1802dd859f0c0 +CIPHERTEXT = 685d7924a01b09775ad193350558e532 + +COUNT = 89 +KEY = 631ac991e763e2ad052292c994c6d13d3925797a14575a1900a1d0e1830327d4 +IV = 685d7924a01b09775ad193350558e532 +PLAINTEXT = dbcc2067e81ecd6ead615a2bd7026ce5 +CIPHERTEXT = efd39a522ac07090239dcb8ed5b98bc2 + +COUNT = 90 +KEY = e1a354605730894256106e01fbb68a4bd6f6e3283e972a89233c1b6f56baac16 +IV = efd39a522ac07090239dcb8ed5b98bc2 +PLAINTEXT = 82b99df1b0536bef5332fcc86f705b76 +CIPHERTEXT = daad7a0411bfb6ed1d1decd3cdaf10ca + +COUNT = 91 +KEY = 4a2f95dde1871ca628d3ff0e388db70d0c5b992c2f289c643e21f7bc9b15bcdc +IV = daad7a0411bfb6ed1d1decd3cdaf10ca +PLAINTEXT = ab8cc1bdb6b795e47ec3910fc33b3d46 +CIPHERTEXT = f355aa26a59f90e52f09a1e423efb464 + +COUNT = 92 +KEY = 509b76b8fbb876ed69e2234665447bf9ff0e330a8ab70c8111285658b8fa08b8 +IV = f355aa26a59f90e52f09a1e423efb464 +PLAINTEXT = 1ab4e3651a3f6a4b4131dc485dc9ccf4 +CIPHERTEXT = d1b0c4e629e955160c807ea6ee1b9dc8 + +COUNT = 93 +KEY = 57503017e81bdda3c9315b18add9ea212ebef7eca35e59971da828fe56e19570 +IV = d1b0c4e629e955160c807ea6ee1b9dc8 +PLAINTEXT = 07cb46af13a3ab4ea0d3785ec89d91d8 +CIPHERTEXT = ab7fff36e5aaa27faf5650869e9b9e3c + +COUNT = 94 +KEY = 28a0c1740b338dfe019e06da201339ea85c108da46f4fbe8b2fe7878c87a0b4c +IV = ab7fff36e5aaa27faf5650869e9b9e3c +PLAINTEXT = 7ff0f163e328505dc8af5dc28dcad3cb +CIPHERTEXT = fd5383b5c180db75a58aa664893c8bff + +COUNT = 95 +KEY = 1c9db47e9b59b56b055e47f34ddd7c0178928b6f8774209d1774de1c414680b3 +IV = fd5383b5c180db75a58aa664893c8bff +PLAINTEXT = 343d750a906a389504c041296dce45eb +CIPHERTEXT = fb99060d665ea8c006600a1464b73c99 + +COUNT = 96 +KEY = e449993971b89815ba17b6257f287259830b8d62e12a885d1114d40825f1bc2a +IV = fb99060d665ea8c006600a1464b73c99 +PLAINTEXT = f8d42d47eae12d7ebf49f1d632f50e58 +CIPHERTEXT = 1e391e0f0ebf267e7678b06d286a0d08 + +COUNT = 97 +KEY = 4333b987988092339ea95f16fdf0bb569d32936def95ae23676c64650d9bb122 +IV = 1e391e0f0ebf267e7678b06d286a0d08 +PLAINTEXT = a77a20bee9380a2624bee93382d8c90f +CIPHERTEXT = 4d61969f35ef196bfe19ec957fd88f22 + +COUNT = 98 +KEY = 267aa4c04f617333c3f95ba6f3f43812d05305f2da7ab748997588f072433e00 +IV = 4d61969f35ef196bfe19ec957fd88f22 +PLAINTEXT = 65491d47d7e1e1005d5004b00e048344 +CIPHERTEXT = 770aee3170ca16d7d0cfe3b5082700fd + +COUNT = 99 +KEY = d387493179cf7bc1b550c0f8945321e5a759ebc3aab0a19f49ba6b457a643efd +IV = 770aee3170ca16d7d0cfe3b5082700fd +PLAINTEXT = f5fdedf136ae08f276a99b5e67a719f7 +CIPHERTEXT = 5fe7772bc8807a9fcb5f35cf23ef3c73 + + +[DECRYPT] + +COUNT = 0 +KEY = 8eda005a16f5d0cc62727e92ded412e8e7d9e01f98000043e049fffcd83cd4b2 +IV = 57d404ae6da97c9ed315a13739954cf9 +CIPHERTEXT = 53de1c313745ecf39963059435541fba +PLAINTEXT = e68ee3c8cabb00e41be436499ac47d5c + +COUNT = 1 +KEY = f53e8b66b842c965aff798ccc5dc2b1d015703d752bb00a7fbadc9b542f8a9ee +IV = e68ee3c8cabb00e41be436499ac47d5c +CIPHERTEXT = 7be48b3caeb719a9cd85e65e1b0839f5 +PLAINTEXT = 4e308f73650d6bd43dbefc856c9b1d79 + +COUNT = 2 +KEY = c5d0afd4c684c623300a29ad1d53bfdc4f678ca437b66b73c61335302e63b497 +IV = 4e308f73650d6bd43dbefc856c9b1d79 +CIPHERTEXT = 30ee24b27ec60f469ffdb161d88f94c1 +PLAINTEXT = ac6e3bde5b6bc6fb035e500f0cbc7372 + +COUNT = 3 +KEY = 2e9b8ec2864e5ebfe0a13cbc17bf4e50e309b77a6cddad88c54d653f22dfc7e5 +IV = ac6e3bde5b6bc6fb035e500f0cbc7372 +CIPHERTEXT = eb4b211640ca989cd0ab15110aecf18c +PLAINTEXT = 65156e82c48f016a8f485edc48f11193 + +COUNT = 4 +KEY = 30316c6235bc65814e0c10073d6f4e6a861cd9f8a852ace24a053be36a2ed676 +IV = 65156e82c48f016a8f485edc48f11193 +CIPHERTEXT = 1eaae2a0b3f23b3eaead2cbb2ad0003a +PLAINTEXT = 928e8a6b2d1d1a604c9ae5c5743ab0b3 + +COUNT = 5 +KEY = 5bd486a4147773cec6926627eeb9517a14925393854fb682069fde261e1466c5 +IV = 928e8a6b2d1d1a604c9ae5c5743ab0b3 +CIPHERTEXT = 6be5eac621cb164f889e7620d3d61f10 +PLAINTEXT = 6085c957401c3083be78b2bb6007bc57 + +COUNT = 6 +KEY = 3c8ee7ed9a596224dc9f66819f45d43974179ac4c5538601b8e76c9d7e13da92 +IV = 6085c957401c3083be78b2bb6007bc57 +CIPHERTEXT = 675a61498e2e11ea1a0d00a671fc8543 +PLAINTEXT = f7fc7b9fdd0e378ed87966f39a91a6ee + +COUNT = 7 +KEY = 2cdf1bb56defc28b6126993f5668b09183ebe15b185db18f609e0a6ee4827c7c +IV = f7fc7b9fdd0e378ed87966f39a91a6ee +CIPHERTEXT = 1051fc58f7b6a0afbdb9ffbec92d64a8 +PLAINTEXT = 6090e451ae6da5f5cf872506c98c7564 + +COUNT = 8 +KEY = 776ee99e645a38b80973594bba9426fbe37b050ab630147aaf192f682d0e0918 +IV = 6090e451ae6da5f5cf872506c98c7564 +CIPHERTEXT = 5bb1f22b09b5fa336855c074ecfc966a +PLAINTEXT = ed13f3ce0c5836ef660cdad0ffbf7b60 + +COUNT = 9 +KEY = e672402d1c1177654d6473d07d6e601a0e68f6c4ba682295c915f5b8d2b17278 +IV = ed13f3ce0c5836ef660cdad0ffbf7b60 +CIPHERTEXT = 911ca9b3784b4fdd44172a9bc7fa46e1 +PLAINTEXT = ce83639498d7a1359f9743e28c3a9500 + +COUNT = 10 +KEY = fe7963d1b22e58f658fcdff046dccc31c0eb955022bf83a05682b65a5e8be778 +IV = ce83639498d7a1359f9743e28c3a9500 +CIPHERTEXT = 180b23fcae3f2f931598ac203bb2ac2b +PLAINTEXT = c79f1d0500c8b2222bc42f64df79f9a0 + +COUNT = 11 +KEY = 417586a13c118ccd7907afc5cb764d1e07748855227731827d46993e81f21ed8 +IV = c79f1d0500c8b2222bc42f64df79f9a0 +CIPHERTEXT = bf0ce5708e3fd43b21fb70358daa812f +PLAINTEXT = 4b1bcbce9067dcdbe7902a730131e78e + +COUNT = 12 +KEY = d251ac19b6afa674ccf7da381d8d7b9c4c6f439bb210ed599ad6b34d80c3f956 +IV = 4b1bcbce9067dcdbe7902a730131e78e +CIPHERTEXT = 93242ab88abe2ab9b5f075fdd6fb3682 +PLAINTEXT = 1ed844ddd01df20d0322d94dd0ff620d + +COUNT = 13 +KEY = 83ecbc951cb86046a87dfed54bdb233a52b70746620d1f5499f46a00503c9b5b +IV = 1ed844ddd01df20d0322d94dd0ff620d +CIPHERTEXT = 51bd108caa17c632648a24ed565658a6 +PLAINTEXT = 69da6832cc97d678ee73327542a4e8aa + +COUNT = 14 +KEY = 63c0ac5d9aea312793da4c748713266f3b6d6f74ae9ac92c77875875129873f1 +IV = 69da6832cc97d678ee73327542a4e8aa +CIPHERTEXT = e02c10c8865251613ba7b2a1ccc80555 +PLAINTEXT = 1d64763d70a7dfd2f185ae3a8d4b13ee + +COUNT = 15 +KEY = 975236e9a4a1dfa18b34c36b505b714c26091949de3d16fe8602f64f9fd3601f +IV = 1d64763d70a7dfd2f185ae3a8d4b13ee +CIPHERTEXT = f4929ab43e4bee8618ee8f1fd7485723 +PLAINTEXT = c671999eeed11040bc5198aa2057f6f3 + +COUNT = 16 +KEY = 3657a95258d3f9ba839a94544eee08a0e07880d730ec06be3a536ee5bf8496ec +IV = c671999eeed11040bc5198aa2057f6f3 +CIPHERTEXT = a1059fbbfc72261b08ae573f1eb579ec +PLAINTEXT = fe0d5effe92c8172881ef849baa899a0 + +COUNT = 17 +KEY = df440fbc2260d2fe6118780f380d2f1a1e75de28d9c087ccb24d96ac052c0f4c +IV = fe0d5effe92c8172881ef849baa899a0 +CIPHERTEXT = e913a6ee7ab32b44e282ec5b76e327ba +PLAINTEXT = fa06013df4b9264bcc65e2c30b8b909a + +COUNT = 18 +KEY = 89184b5ac996f9dc1e42575dbfae0771e473df152d79a1877e28746f0ea79fd6 +IV = fa06013df4b9264bcc65e2c30b8b909a +CIPHERTEXT = 565c44e6ebf62b227f5a2f5287a3286b +PLAINTEXT = 769531afed95548368faa8b3cef715b1 + +COUNT = 19 +KEY = 5553729787c4188fdb9866d5b21566e392e6eebac0ecf50416d2dcdcc0508a67 +IV = 769531afed95548368faa8b3cef715b1 +CIPHERTEXT = dc4b39cd4e52e153c5da31880dbb6192 +PLAINTEXT = b73ba8d72dabaa67cf075015230884d6 + +COUNT = 20 +KEY = 4c7af12f8425b925723be1095560b6ef25dd466ded475f63d9d58cc9e3580eb1 +IV = b73ba8d72dabaa67cf075015230884d6 +CIPHERTEXT = 192983b803e1a1aaa9a387dce775d00c +PLAINTEXT = 7318c51336bfbde1ef75680f633edad4 + +COUNT = 21 +KEY = 6bc269f08edf325036a6b6c56860176256c5837edbf8e28236a0e4c68066d465 +IV = 7318c51336bfbde1ef75680f633edad4 +CIPHERTEXT = 27b898df0afa8b75449d57cc3d00a18d +PLAINTEXT = b73aa5a47643b251a037529c7a79a7ac + +COUNT = 22 +KEY = dc658e3251890322ef312fa96c0c3303e1ff26daadbb50d39697b65afa1f73c9 +IV = b73aa5a47643b251a037529c7a79a7ac +CIPHERTEXT = b7a7e7c2df563172d997996c046c2461 +PLAINTEXT = f876c4bdadf7291db9a28e34af26af4a + +COUNT = 23 +KEY = fe3077dbe0d5358af4c4056a6e1ca6d41989e267004c79ce2f35386e5539dc83 +IV = f876c4bdadf7291db9a28e34af26af4a +CIPHERTEXT = 2255f9e9b15c36a81bf52ac3021095d7 +PLAINTEXT = 3cc472af7740ec2b3a877e11256f134b + +COUNT = 24 +KEY = 478d1437a540eb67885819a411c82065254d90c8770c95e515b2467f7056cfc8 +IV = 3cc472af7740ec2b3a877e11256f134b +CIPHERTEXT = b9bd63ec4595deed7c9c1cce7fd486b1 +PLAINTEXT = 82dce4c0a555913bf61d6d33f552412b + +COUNT = 25 +KEY = 6e85e75ec6cf2796c98224b27d5db701a7917408d25904dee3af2b4c85048ee3 +IV = 82dce4c0a555913bf61d6d33f552412b +CIPHERTEXT = 2908f369638fccf141da3d166c959764 +PLAINTEXT = fc03646daa34e6515d77da9f2ac45a58 + +COUNT = 26 +KEY = 47c6a953df8cf789db7e5d732eeed0c15b921065786de28fbed8f1d3afc0d4bb +IV = fc03646daa34e6515d77da9f2ac45a58 +CIPHERTEXT = 29434e0d1943d01f12fc79c153b367c0 +PLAINTEXT = 0ad9ad05def46990678db8558b999280 + +COUNT = 27 +KEY = 1ad7d52bc6bb4b0ea2f36008ed885197514bbd60a6998b1fd95549862459463b +IV = 0ad9ad05def46990678db8558b999280 +CIPHERTEXT = 5d117c781937bc87798d3d7bc3668156 +PLAINTEXT = 9800777c7ee51a4999a9f9839044b84a + +COUNT = 28 +KEY = 0012cb0548df9881453e25395f43509ac94bca1cd87c915640fcb005b41dfe71 +IV = 9800777c7ee51a4999a9f9839044b84a +CIPHERTEXT = 1ac51e2e8e64d38fe7cd4531b2cb010d +PLAINTEXT = 9ed2157701446789366217e0f0087de8 + +COUNT = 29 +KEY = 8734e595b2ffe98a9f23131c096b7f185799df6bd938f6df769ea7e544158399 +IV = 9ed2157701446789366217e0f0087de8 +CIPHERTEXT = 87262e90fa20710bda1d362556282f82 +PLAINTEXT = a7d81d45a5597e6553a89439a2a7cb43 + +COUNT = 30 +KEY = 61e71ad2a07148b5ab3ea113c8db69ebf041c22e7c6188ba253633dce6b248da +IV = a7d81d45a5597e6553a89439a2a7cb43 +CIPHERTEXT = e6d3ff47128ea13f341db20fc1b016f3 +PLAINTEXT = baf38920e6ac8ed10dad1940d2fd5006 + +COUNT = 31 +KEY = 08360ac74b63d3436eaaf2c96d59f0094ab24b0e9acd066b289b2a9c344f18dc +IV = baf38920e6ac8ed10dad1940d2fd5006 +CIPHERTEXT = 69d11015eb129bf6c59453daa58299e2 +PLAINTEXT = 607a55fee86b21f4e511b484161aec75 + +COUNT = 32 +KEY = b05bbed7ada5d91464887a61282f20e02ac81ef072a6279fcd8a9e182255f4a9 +IV = 607a55fee86b21f4e511b484161aec75 +CIPHERTEXT = b86db410e6c60a570a2288a84576d0e9 +PLAINTEXT = 7185b78e56bb43ed0978d97c99993477 + +COUNT = 33 +KEY = d95b66553ce15606de3edf77bb6176b25b4da97e241d6472c4f24764bbccc0de +IV = 7185b78e56bb43ed0978d97c99993477 +CIPHERTEXT = 6900d88291448f12bab6a516934e5652 +PLAINTEXT = e3191c91066c1da38ceae1d559fe5c06 + +COUNT = 34 +KEY = b7110a48f5b0fc88bdefba6348119241b854b5ef227179d14818a6b1e2329cd8 +IV = e3191c91066c1da38ceae1d559fe5c06 +CIPHERTEXT = 6e4a6c1dc951aa8e63d16514f370e4f3 +PLAINTEXT = b4df17ba93bbcb262ed7659a276aab98 + +COUNT = 35 +KEY = 7333af866232c9b6278f70bb348255ce0c8ba255b1cab2f766cfc32bc5583740 +IV = b4df17ba93bbcb262ed7659a276aab98 +CIPHERTEXT = c422a5ce9782353e9a60cad87c93c78f +PLAINTEXT = 72778df11d351a7f48c427a39f837391 + +COUNT = 36 +KEY = a88ee3586351e62fd9f8e170dcdae8c27efc2fa4acffa8882e0be4885adb44d1 +IV = 72778df11d351a7f48c427a39f837391 +CIPHERTEXT = dbbd4cde01632f99fe7791cbe858bd0c +PLAINTEXT = 7daa915f550a4b9aaed0f075349a0181 + +COUNT = 37 +KEY = 62a6a631785d50c7f2557ae7e27e013f0356befbf9f5e31280db14fd6e414550 +IV = 7daa915f550a4b9aaed0f075349a0181 +CIPHERTEXT = ca2845691b0cb6e82bad9b973ea4e9fd +PLAINTEXT = 5ad455ffaa344cbaca9cb69826040f6e + +COUNT = 38 +KEY = 3b03e4ecf02daaaaf0f4ac4a424a24c15982eb0453c1afa84a47a26548454a3e +IV = 5ad455ffaa344cbaca9cb69826040f6e +CIPHERTEXT = 59a542dd8870fa6d02a1d6ada03425fe +PLAINTEXT = d84f86ee15ea5013fb212b6656e6cacf + +COUNT = 39 +KEY = 0a11eaf03d706db1c76888d12f87a94e81cd6dea462bffbbb16689031ea380f1 +IV = d84f86ee15ea5013fb212b6656e6cacf +CIPHERTEXT = 31120e1ccd5dc71b379c249b6dcd8d8f +PLAINTEXT = bf389ddac4575621be7753b3720eb5e6 + +COUNT = 40 +KEY = 3583b1cada97904b10e69bdb0dbec9e83ef5f030827ca99a0f11dab06cad3517 +IV = bf389ddac4575621be7753b3720eb5e6 +CIPHERTEXT = 3f925b3ae7e7fdfad78e130a223960a6 +PLAINTEXT = ee18625fe4531dee86bfa26231c23524 + +COUNT = 41 +KEY = 494bbcdeed514792b2c0bd094c5b8195d0ed926f662fb47489ae78d25d6f0033 +IV = ee18625fe4531dee86bfa26231c23524 +CIPHERTEXT = 7cc80d1437c6d7d9a22626d241e5487d +PLAINTEXT = 13115ab20aafaa94912b1c54663682f9 + +COUNT = 42 +KEY = 89177e6866a74677fed6afb85242ae2dc3fcc8dd6c801ee0188564863b5982ca +IV = 13115ab20aafaa94912b1c54663682f9 +CIPHERTEXT = c05cc2b68bf601e54c1612b11e192fb8 +PLAINTEXT = 9e3682d26df8bc62192f550d92973523 + +COUNT = 43 +KEY = 51b97b3e6aaf06d35f80af5bcdbf57195dca4a0f0178a28201aa318ba9ceb7e9 +IV = 9e3682d26df8bc62192f550d92973523 +CIPHERTEXT = d8ae05560c0840a4a15600e39ffdf934 +PLAINTEXT = db42119dc01bac8b3f52fc0a95908081 + +COUNT = 44 +KEY = ae6b5943492200ffa272ab88364d2e8586885b92c1630e093ef8cd813c5e3768 +IV = db42119dc01bac8b3f52fc0a95908081 +CIPHERTEXT = ffd2227d238d062cfdf204d3fbf2799c +PLAINTEXT = 8205d6c6882b1b2c4591b2f09560608c + +COUNT = 45 +KEY = c9159f2b80c7fbcfdaf0ff51e6f05940048d8d54494815257b697f71a93e57e4 +IV = 8205d6c6882b1b2c4591b2f09560608c +CIPHERTEXT = 677ec668c9e5fb30788254d9d0bd77c5 +PLAINTEXT = 7234ca2712c5955d793cf9931cefd178 + +COUNT = 46 +KEY = fe3216b82038c880e59e257686d72ca076b947735b8d8078025586e2b5d1869c +IV = 7234ca2712c5955d793cf9931cefd178 +CIPHERTEXT = 37278993a0ff334f3f6eda27602775e0 +PLAINTEXT = a5fd7721c14741865634d6765e36bddc + +COUNT = 47 +KEY = 90c50747a18775dfffd069ec207b8ab0d34430529acac1fe54615094ebe73b40 +IV = a5fd7721c14741865634d6765e36bddc +CIPHERTEXT = 6ef711ff81bfbd5f1a4e4c9aa6aca610 +PLAINTEXT = 3b9040bba45f5baa16e9d0be53ba0b94 + +COUNT = 48 +KEY = fad7d8337bc888a41f42b0ba777a3c49e8d470e93e959a544288802ab85d30d4 +IV = 3b9040bba45f5baa16e9d0be53ba0b94 +CIPHERTEXT = 6a12df74da4ffd7be092d9565701b6f9 +PLAINTEXT = 445b1356b22b16522616351af89d4061 + +COUNT = 49 +KEY = 2aa5624e73ed38f6058e2732ff26de39ac8f63bf8cbe8c06649eb53040c070b5 +IV = 445b1356b22b16522616351af89d4061 +CIPHERTEXT = d072ba7d0825b0521acc9788885ce270 +PLAINTEXT = 4865a151b9075bc03fcd7fc4c791e9ac + +COUNT = 50 +KEY = 22ac24b97272d53ccbe57172301c0094e4eac2ee35b9d7c65b53caf487519919 +IV = 4865a151b9075bc03fcd7fc4c791e9ac +CIPHERTEXT = 080946f7019fedcace6b5640cf3adead +PLAINTEXT = 330f2c7c2c9aef373dca879a89793d52 + +COUNT = 51 +KEY = 4f5b05c074d9509616c2078baa37b0dcd7e5ee92192338f166994d6e0e28a44b +IV = 330f2c7c2c9aef373dca879a89793d52 +CIPHERTEXT = 6df7217906ab85aadd2776f99a2bb048 +PLAINTEXT = 5b81837d8945ca91da7966a806ffdffc + +COUNT = 52 +KEY = c529e545e18cbcaffad3d060775618558c646def9066f260bce02bc608d77bb7 +IV = 5b81837d8945ca91da7966a806ffdffc +CIPHERTEXT = 8a72e0859555ec39ec11d7ebdd61a889 +PLAINTEXT = 72b74a0f7e34a88633e27205fa00e0bc + +COUNT = 53 +KEY = 939bb4967daa6424948a0f5074ee5c25fed327e0ee525ae68f0259c3f2d79b0b +IV = 72b74a0f7e34a88633e27205fa00e0bc +CIPHERTEXT = 56b251d39c26d88b6e59df3003b84470 +PLAINTEXT = c8c1aaf8a70f7ebeed81791150e07db8 + +COUNT = 54 +KEY = 27176a0ee9a8cedd3da3d1345be2c8f236128d18495d2458628320d2a237e6b3 +IV = c8c1aaf8a70f7ebeed81791150e07db8 +CIPHERTEXT = b48cde989402aaf9a929de642f0c94d7 +PLAINTEXT = 2033aa10b4abbafe5c4623ad04e499dc + +COUNT = 55 +KEY = 513e1a03956c1056f1d412c7ac9122ab16212708fdf69ea63ec5037fa6d37f6f +IV = 2033aa10b4abbafe5c4623ad04e499dc +CIPHERTEXT = 7629700d7cc4de8bcc77c3f3f773ea59 +PLAINTEXT = 24eab2062a5f33a834bb0377292f25da + +COUNT = 56 +KEY = f70cef768352ae0236544052d960e53332cb950ed7a9ad0e0a7e00088ffc5ab5 +IV = 24eab2062a5f33a834bb0377292f25da +CIPHERTEXT = a632f575163ebe54c780529575f1c798 +PLAINTEXT = fa946cacee44f5be0e17bd5279e72d93 + +COUNT = 57 +KEY = b379027fe0e3b2814982f88bbcca1279c85ff9a239ed58b00469bd5af61b7726 +IV = fa946cacee44f5be0e17bd5279e72d93 +CIPHERTEXT = 4475ed0963b11c837fd6b8d965aaf74a +PLAINTEXT = f57cf0633c3c4767ce1748bd77b54030 + +COUNT = 58 +KEY = 268962186b301acfeaae4ea84b0355e93d2309c105d11fd7ca7ef5e781ae3716 +IV = f57cf0633c3c4767ce1748bd77b54030 +CIPHERTEXT = 95f060678bd3a84ea32cb623f7c94790 +PLAINTEXT = 3c665a24790ef0bc6d6bcac4edbed96b + +COUNT = 59 +KEY = 8ae8fbf94be00b74605d3a52249049c9014553e57cdfef6ba7153f236c10ee7d +IV = 3c665a24790ef0bc6d6bcac4edbed96b +CIPHERTEXT = ac6199e120d011bb8af374fa6f931c20 +PLAINTEXT = e2411a3fd85a4432810e982a08c03d9f + +COUNT = 60 +KEY = 226f95d54b47063dec38cdbcc76ac3eee30449daa485ab59261ba70964d0d3e2 +IV = e2411a3fd85a4432810e982a08c03d9f +CIPHERTEXT = a8876e2c00a70d498c65f7eee3fa8a27 +PLAINTEXT = 0695ca6b4501388236051ca7f965bf78 + +COUNT = 61 +KEY = 2091f37ab9993408d4ed63af80d589ece59183b1e18493db101ebbae9db56c9a +IV = 0695ca6b4501388236051ca7f965bf78 +CIPHERTEXT = 02fe66aff2de323538d5ae1347bf4a02 +PLAINTEXT = 975a22f48b0f5aafebb56427d120fb8b + +COUNT = 62 +KEY = c43db8d74b2e5fd1abcb5b9beb022acb72cba1456a8bc974fbabdf894c959711 +IV = 975a22f48b0f5aafebb56427d120fb8b +CIPHERTEXT = e4ac4badf2b76bd97f2638346bd7a327 +PLAINTEXT = d268292b1131e186f0d2286afc506b82 + +COUNT = 63 +KEY = 627507fcac83b625eb8f324b7bb1f56ba0a3886e7bba28f20b79f7e3b0c5fc93 +IV = d268292b1131e186f0d2286afc506b82 +CIPHERTEXT = a648bf2be7ade9f4404469d090b3dfa0 +PLAINTEXT = b54d560b003c158d7de0f3a4fefebe08 + +COUNT = 64 +KEY = 08ef9d8b4b6141130fdd5e869affb92a15eede657b863d7f769904474e3b429b +IV = b54d560b003c158d7de0f3a4fefebe08 +CIPHERTEXT = 6a9a9a77e7e2f736e4526ccde14e4c41 +PLAINTEXT = 5492a91461b2434cb840dc299f8e0482 + +COUNT = 65 +KEY = a2bcbce8d4ab3ef7cfa897801bf2e52b417c77711a347e33ced9d86ed1b54619 +IV = 5492a91461b2434cb840dc299f8e0482 +CIPHERTEXT = aa5321639fca7fe4c075c906810d5c01 +PLAINTEXT = 36ace281d64f80b8c595c03ba608a503 + +COUNT = 66 +KEY = 69e5dcf0a70739a47270863a98d3f0f677d095f0cc7bfe8b0b4c185577bde31a +IV = 36ace281d64f80b8c595c03ba608a503 +CIPHERTEXT = cb59601873ac0753bdd811ba832115dd +PLAINTEXT = b0c9475cd0cf4cc5d0a5fd33302b3418 + +COUNT = 67 +KEY = 72a6c060f0872f6a41e8c96207b175bfc719d2ac1cb4b24edbe9e5664796d702 +IV = b0c9475cd0cf4cc5d0a5fd33302b3418 +CIPHERTEXT = 1b431c90578016ce33984f589f628549 +PLAINTEXT = 32f869fb1098721671b2ef30668cc213 + +COUNT = 68 +KEY = 6aeb872d0eeb4d036da5b9fbb0b252e7f5e1bb570c2cc058aa5b0a56211a1511 +IV = 32f869fb1098721671b2ef30668cc213 +CIPHERTEXT = 184d474dfe6c62692c4d7099b7032758 +PLAINTEXT = b2f7fb0f25867b63f8d25d522c5a0efd + +COUNT = 69 +KEY = 586f3c9943e8497a2153ac324e5598124716405829aabb3b528957040d401bec +IV = b2f7fb0f25867b63f8d25d522c5a0efd +CIPHERTEXT = 3284bbb44d0304794cf615c9fee7caf5 +PLAINTEXT = 49d7afb27cd25a6104972fb3b4c8ecf7 + +COUNT = 70 +KEY = aa9ee38f7848822150998767630e84e10ec1efea5578e15a561e78b7b988f71b +IV = 49d7afb27cd25a6104972fb3b4c8ecf7 +CIPHERTEXT = f2f1df163ba0cb5b71ca2b552d5b1cf3 +PLAINTEXT = 34d1c8c220e1e0b614ba88cad24689ff + +COUNT = 71 +KEY = 7a5f257f2425223da03e39363317bba43a102728759901ec42a4f07d6bce7ee4 +IV = 34d1c8c220e1e0b614ba88cad24689ff +CIPHERTEXT = d0c1c6f05c6da01cf0a7be5150193f45 +PLAINTEXT = 44c173854b0bad93982555b8bb419921 + +COUNT = 72 +KEY = de48177e6427bd433a5205f235064e7d7ed154ad3e92ac7fda81a5c5d08fe7c5 +IV = 44c173854b0bad93982555b8bb419921 +CIPHERTEXT = a417320140029f7e9a6c3cc40611f5d9 +PLAINTEXT = d4139ff4659f6c985131a30c86a3a9c9 + +COUNT = 73 +KEY = 7d19570fd63d8214111627b519f4469daac2cb595b0dc0e78bb006c9562c4e0c +IV = d4139ff4659f6c985131a30c86a3a9c9 +CIPHERTEXT = a3514071b21a3f572b4422472cf208e0 +PLAINTEXT = 2719efdc65a8eb0e6f0f29753c13146c + +COUNT = 74 +KEY = cf0458907495e4ceadd98064e4734a168ddb24853ea52be9e4bf2fbc6a3f5a60 +IV = 2719efdc65a8eb0e6f0f29753c13146c +CIPHERTEXT = b21d0f9fa2a866dabccfa7d1fd870c8b +PLAINTEXT = c17b9bc55f10935150fcd65356d86930 + +COUNT = 75 +KEY = 9fda8887ed83187d1724792fd10d142d4ca0bf4061b5b8b8b443f9ef3ce73350 +IV = c17b9bc55f10935150fcd65356d86930 +CIPHERTEXT = 50ded0179916fcb3bafdf94b357e5e3b +PLAINTEXT = fd9cc5d9c38aeded124efe8162db73c3 + +COUNT = 76 +KEY = 676bf80d944fca5aa6ceedd5cf6b7a98b13c7a99a23f5555a60d076e5e3c4093 +IV = fd9cc5d9c38aeded124efe8162db73c3 +CIPHERTEXT = f8b1708a79ccd227b1ea94fa1e666eb5 +PLAINTEXT = bca5314c1b215c31d7a9cb17132b3d54 + +COUNT = 77 +KEY = bd32d330b86406553dc309e9b0bd9d610d994bd5b91e096471a4cc794d177dc7 +IV = bca5314c1b215c31d7a9cb17132b3d54 +CIPHERTEXT = da592b3d2c2bcc0f9b0de43c7fd6e7f9 +PLAINTEXT = fe6d948475aca222b6dc3f8f909e0042 + +COUNT = 78 +KEY = b47fe0e8be922217b03f468a8dabcf9af3f4df51ccb2ab46c778f3f6dd897d85 +IV = fe6d948475aca222b6dc3f8f909e0042 +CIPHERTEXT = 094d33d806f624428dfc4f633d1652fb +PLAINTEXT = abc18bb7890d513d8878a5aa035ff8cb + +COUNT = 79 +KEY = bd0d98ee1f21d7fbf9829195cb1d9d63583554e645bffa7b4f00565cded6854e +IV = abc18bb7890d513d8878a5aa035ff8cb +CIPHERTEXT = 09727806a1b3f5ec49bdd71f46b652f9 +PLAINTEXT = c188f9bcfa9dcf41fcffbef3b4ad9e25 + +COUNT = 80 +KEY = b601529e9d6d465ef5466f606cd23fc599bdad5abf22353ab3ffe8af6a7b1b6b +IV = c188f9bcfa9dcf41fcffbef3b4ad9e25 +CIPHERTEXT = 0b0cca70824c91a50cc4fef5a7cfa2a6 +PLAINTEXT = 3869d5892a3e8706631b8d9cae5f46c1 + +COUNT = 81 +KEY = b1a9c9e266d747d03eab9d49214265b4a1d478d3951cb23cd0e46533c4245daa +IV = 3869d5892a3e8706631b8d9cae5f46c1 +CIPHERTEXT = 07a89b7cfbba018ecbedf2294d905a71 +PLAINTEXT = 8f0dc9d2e611a5b32188ba9f5cd8895d + +COUNT = 82 +KEY = f856111bbb1f81b6435b8fc248d315f32ed9b101730d178ff16cdfac98fcd4f7 +IV = 8f0dc9d2e611a5b32188ba9f5cd8895d +CIPHERTEXT = 49ffd8f9ddc8c6667df0128b69917047 +PLAINTEXT = 9b1df8d8b61c9998b96bca4a6211dea2 + +COUNT = 83 +KEY = add6219ee357dc1ca8295654de2d7ac3b5c449d9c5118e17480715e6faed0a55 +IV = 9b1df8d8b61c9998b96bca4a6211dea2 +CIPHERTEXT = 5580308558485daaeb72d99696fe6f30 +PLAINTEXT = 6931e6ab27d24410bc1e1b06379088fa + +COUNT = 84 +KEY = 478fd2f85dbbdee8c3cc32fa39a382a0dcf5af72e2c3ca07f4190ee0cd7d82af +IV = 6931e6ab27d24410bc1e1b06379088fa +CIPHERTEXT = ea59f366beec02f46be564aee78ef863 +PLAINTEXT = 08a5712351cea6fd4eb94a2eb730da50 + +COUNT = 85 +KEY = 7380547f73db52be3b429035bcde1108d450de51b30d6cfabaa044ce7a4d58ff +IV = 08a5712351cea6fd4eb94a2eb730da50 +CIPHERTEXT = 340f86872e608c56f88ea2cf857d93a8 +PLAINTEXT = a1823317940d2990ac80aba2ca9df8be + +COUNT = 86 +KEY = 29dc1ef35018bba357aad24e4803561975d2ed462700456a1620ef6cb0d0a041 +IV = a1823317940d2990ac80aba2ca9df8be +CIPHERTEXT = 5a5c4a8c23c3e91d6ce8427bf4dd4711 +PLAINTEXT = e71a568a22c73d6d5d2037fd8282ffe5 + +COUNT = 87 +KEY = 9271d202ea82e1c31480278943c459c592c8bbcc05c778074b00d89132525fa4 +IV = e71a568a22c73d6d5d2037fd8282ffe5 +CIPHERTEXT = bbadccf1ba9a5a60432af5c70bc70fdc +PLAINTEXT = 9065aa28c470a38e4694dc01855ab35a + +COUNT = 88 +KEY = c96c8f034db533983263b82bfe36bbf902ad11e4c1b7db890d940490b708ecfe +IV = 9065aa28c470a38e4694dc01855ab35a +CIPHERTEXT = 5b1d5d01a737d25b26e39fa2bdf2e23c +PLAINTEXT = a4f7127bde324d8c76b4b4401fbf7449 + +COUNT = 89 +KEY = 2eadfaee4d81234ef9fb0a356d2d3f8fa65a039f1f8596057b20b0d0a8b798b7 +IV = a4f7127bde324d8c76b4b4401fbf7449 +CIPHERTEXT = e7c175ed003410d6cb98b21e931b8476 +PLAINTEXT = 28342de9cbbdbb7f271cd9b7c75ea679 + +COUNT = 90 +KEY = dc087d488d839b9708d18dd1b29661ba8e6e2e76d4382d7a5c3c69676fe93ece +IV = 28342de9cbbdbb7f271cd9b7c75ea679 +CIPHERTEXT = f2a587a6c002b8d9f12a87e4dfbb5e35 +PLAINTEXT = 34314ce023be1c0d481fbc155bc2ee0c + +COUNT = 91 +KEY = 0b8c92c3dc7007370472d390de5d514bba5f6296f78631771423d572342bd0c2 +IV = 34314ce023be1c0d481fbc155bc2ee0c +CIPHERTEXT = d784ef8b51f39ca00ca35e416ccb30f1 +PLAINTEXT = b530ccd4ded42cfa9a38d15d4716fb70 + +COUNT = 92 +KEY = 4945a19f1451c7ead764f516ba28c4f30f6fae4229521d8d8e1b042f733d2bb2 +IV = b530ccd4ded42cfa9a38d15d4716fb70 +CIPHERTEXT = 42c9335cc821c0ddd3162686647595b8 +PLAINTEXT = 672ae00b2df9a78e15fe28f49ff4fd13 + +COUNT = 93 +KEY = fe44b297f50b46751a8ebeda8902163268454e4904abba039be52cdbecc9d6a1 +IV = 672ae00b2df9a78e15fe28f49ff4fd13 +CIPHERTEXT = b7011308e15a819fcdea4bcc332ad2c1 +PLAINTEXT = 7ade2e55d4aaa1aa136e6d3c7f915608 + +COUNT = 94 +KEY = 835b94edb2986e631df86d27342f9342129b601cd0011ba9888b41e7935880a9 +IV = 7ade2e55d4aaa1aa136e6d3c7f915608 +CIPHERTEXT = 7d1f267a479328160776d3fdbd2d8570 +PLAINTEXT = 0d5d7bddaae2bd96989cabec4ee32aa2 + +COUNT = 95 +KEY = e9a097e7c0cae0601a4c1cfb1ee4b5f91fc61bc17ae3a63f1017ea0bddbbaa0b +IV = 0d5d7bddaae2bd96989cabec4ee32aa2 +CIPHERTEXT = 6afb030a72528e0307b471dc2acb26bb +PLAINTEXT = 38c5ffae0d91b2fe82de312a452b99f4 + +COUNT = 96 +KEY = f9dfa0a61c4efbd2b788b85c02429b1d2703e46f777214c192c9db21989033ff +IV = 38c5ffae0d91b2fe82de312a452b99f4 +CIPHERTEXT = 107f3741dc841bb2adc4a4a71ca62ee4 +PLAINTEXT = 41529fb557a7199792df6fab66faadca + +COUNT = 97 +KEY = 53ea3aabd7b226d4bd42c0b09d5e361a66517bda20d50d560016b48afe6a9e35 +IV = 41529fb557a7199792df6fab66faadca +CIPHERTEXT = aa359a0dcbfcdd060aca78ec9f1cad07 +PLAINTEXT = 1ac6f9d2a0b5d9881d46e240de96ea81 + +COUNT = 98 +KEY = 52230f7bf9c8926044f22603bcdf15987c9782088060d4de1d5056ca20fc74b4 +IV = 1ac6f9d2a0b5d9881d46e240de96ea81 +CIPHERTEXT = 01c935d02e7ab4b4f9b0e6b321812382 +PLAINTEXT = 92f61ce67fcacdc61c197581c051eefe + +COUNT = 99 +KEY = 820c11c18c36f93b0cafe2a43d2dc72bee619eeeffaa19180149234be0ad9a4a +IV = 92f61ce67fcacdc61c197581c051eefe +CIPHERTEXT = d02f1eba75fe6b5b485dc4a781f2d2b3 +PLAINTEXT = dc777f806e2bc45b0b9348689e947ca7 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT128.rsp new file mode 100644 index 000000000..14c33b762 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT128.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for OFB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:59 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = d7d57bd847154af9722a8df096e61a42 +IV = fdde201c91e401d9723868c2a612b77a +PLAINTEXT = 81883f22165282ba6a442a8dd2a768d4 +CIPHERTEXT = 84cc130b6867623696aa8f523d968ade + +COUNT = 1 +KEY = c9f4ce21b4c7daaa4f93e292dc605bc5 +IV = 5e5a8cf2808c720e01c1ed92d470a45d +PLAINTEXT = 8e19c5cacd015a662e7f40cdecadbf79a68081c06d9544b41c2dd248e77633b4 +CIPHERTEXT = 885dc48add7ee6a1839bc5c5e03beae071301ecf91a0111520cde0d3a112f5d2 + +COUNT = 2 +KEY = 7a70cc6b261eeccb05c57117d5763197 +IV = bb7b9667fbd76d5ee204828769a341b1 +PLAINTEXT = 823cbaae3760c85512a3c83fd60bb54b7cfc739b295b63e05ef435d86e19fd15368c89ff08a0f21ce89a728ffb5d75df +CIPHERTEXT = f5c49aae8a026bf05e525a12ab7e195eea8a1b71a8d32a5113aa8974858f2cfc0339805003a0cb1a7be19f376d4604eb + +COUNT = 3 +KEY = 85dbd5a6e73681a51a4a7d4e93ca7d0c +IV = 89d897c5aa9e0a5d5586d4b4664fc927 +PLAINTEXT = e3dbfc6ae1a879870fd22644c8135fe063355dfc0a8dad45c9c6e052e6e085cf717754dc1b49acb04cf340826ffb0da991138f022a9c34923a6a116c98c7d3d5 +CIPHERTEXT = 48a34bd814dd4e1b92a5aa04218136bcd428fd34ca151a78e0eb2c8f24d4f070978aacd5e1351c909c818db45d25b34fc21cb06a3984f969ab825ef795888da9 + +COUNT = 4 +KEY = 18b9887a34438fb2e759027e54e334b6 +IV = a5be8621e58dae325c6b868fd783e2cd +PLAINTEXT = 8cd659df925950b516f737fc92d2fafa008c008c9dfe0e75ed2d68f6ff79399ff2183464b8c37cf31aafc145fcbfac73e3f87eccb435f424bf1c6d6efb504e8e93e8a668a2210e3d3b4fd437ad1a5842 +CIPHERTEXT = 82736a8fd3c07941b1173c9c51bfe0d8590f237ae36e7b93481b7b4ad88da9d68f427305b95e4b90f7212dba00f6d6bde7e39a74da702012f36c4cd0a0c27756052ac1bd3bf1501c86c1186a69a7296c + +COUNT = 5 +KEY = da52c0e4609e82ee926174a9eaf90b08 +IV = f2d0c5e86b4ddb40d30713aaa5a153fe +PLAINTEXT = 91d6c95a614cf85de16eeabe5976c2a2a9d307042f79a7aaeb7c3c57e1dd8d43bfa458c8c02e4f5ed0c960c9f17e3991dd2e0cb3ede18f96395a484001ef07ca4c97b411ce454aaf0f74242aca03786a93442171bd50a1467b9d663245d24c2f +CIPHERTEXT = 416ae1e3d8350e7c291ef419c5e3465b388ee2d2f0014c04a5977e5617a00dfbeba7743155720fd646bbe64d8bbfd08817c4c4e97c1134574bc3829297655c08e39de77951d3996a1700a26bdc4292d3ce5c4294feab7619007bf3bd031bc763 + +COUNT = 6 +KEY = 56d6f7e2a870b92d55ff8d6e9c554d2a +IV = b512f0e11e27fd1a94aa0c697bb6da5e +PLAINTEXT = e62cdeac43667749701314c546f778a4c758e4f55760e7d729c3783cf7a242edf6ae3fcf0990886434896c945455bfae0e5674aa06ee6fb1512d94df2cac2447eeb849373bb3efbe7bb8d66c8a7ee559b17fc268d6599fcdef7457cdbde5b9c5b692236e4397545f2be97bd44f3993ad +CIPHERTEXT = 3abae717e8370f53c3ee5571739dce8a611bb51538569fdd17f3c011642cd78111dc9520f9d357351ffb8ab77b38bb5c34f2dd02e497ff876887f2a3b26fbfcab7955817780fca751b9ef74eedd38ee0ab4bc1ece453e6765916d345e1bdbd42ad6d508c5ff375df20fc8948b6310f2d + +COUNT = 7 +KEY = 09f216ff78dfe419dfcef1a855473414 +IV = 722174c892d265291982c6f042ced145 +PLAINTEXT = 11f435e7e3656fcfa8e0df230311ca21054e84e13c8590e7ec7309f59c174022d467a7302641ee1b6ba46bee4f20bfda108bb78982f670b057dfbfe49da9cfae88490ce17241402b20d2fceb476d3a424e6c406d56ffc85278695d584d6c087cb4012ca2cf4daf284fd15ac1f2e183814957e934bf88dff4d777adfbb54933b5 +CIPHERTEXT = e0e518e2d339b2e878937cd44d4e5bac40315eb226949a8b0e5863d9e543bc09936440c654764f03e5adab5b76b61218492e9f0e4578de990f1a486506c26eea4a3ea9682946ae4a462f90482a2cff19ac7846587dae80a3f1d3408583d065594869b00ddd17ae19d8e09d8d31eb7f7579320c9f26467ff0c58c86f22a3a217e + +COUNT = 8 +KEY = cde9b69eea2b6a5588457e35e0a08803 +IV = 52323b54d69a62fec0689baee1b3ec63 +PLAINTEXT = 967798995af6f435b3a6f92bff77a11fa44d1426ae0f6e7dbafac27b123c5fc419be52c0ea412c4b3cac05ae89a4c0ce6f5e91a456b1bded5370a1234cf6f6ab5d0253507bc6f3f0573ab97585b67107dec059812323e021e341ad839ea9e3d02aeca43356add48ccef81f693ed53d32ba1c74a35e8a5f7f3115ef834f7daf9948244c4fc31f5487678d3e70fb27abb5 +CIPHERTEXT = 6a5747276037643bbd0013c265d8d9a80b0299b283514d5256fecb5c787002a291a18a765fa046c3243418b02eebfc0c599576e52dd8c30291c97ceaa8bd2d7dbee3e66db7b585ea2b67f46f6711df28456b801556e233a96da1a8c34cd4d6154b20f43ae27b8ae83d907f9355c87aa021a280232265e99b4e189f4a3ccaa6b5e04153961e8e427a2dd53e5ec6f5112a + +COUNT = 9 +KEY = 939aac71e337709855715a57e3a4648f +IV = 493509b56a92f14040eb9b66a188bc57 +PLAINTEXT = 9c22efddc7de496a916d15d710de374d57478126ed64c9ad7e823e24d19bfc0cfac3dda0d1c292a3a203f35b26ad94deb20f998caf41cbdd4a08eb5d6cfb46f4ede4896b0569d72c03ec194941af95c0573cc3fe8f045ba19946b382803248f3dd4f9a454b1a3e8e1af02ea8482d637dac96a68275f4a382d3023f9df4892b9032cab9378b1cef5051d6db81226f259d1be4eb23495ac807600536b5b0481754 +CIPHERTEXT = 7c0217d4f990342be5a35e2bdd4756ae7f461add633a7b0f5174ee107a7c0c53b1c787cb83e5ddb876e251a23caf7959d952638c2aa28b2b08928c9b88e4c0e0fd0d8154690c3638ce692f20905e7263ff359bcc17e3b43d2276ef1fc4c882282f9a453bc03eb29e9c95986318c19150acf1bf33270752d32488543f598f8ed4db3ccb990c8bfdf64cae0d1c6011042acda8c2687a758c2ba8080720990be88d + +[DECRYPT] + +COUNT = 0 +KEY = 8368189d41eaa20d06a3a2d2a91e43f7 +IV = cf04ac0e4733952ba538711f79eef8ca +CIPHERTEXT = 7ddda312308993a58e636744a0a38491 +PLAINTEXT = 696ca57339840fb3c150e0c111d9e13e + +COUNT = 1 +KEY = 5124c6fdb0856ded76afb6febdaa981e +IV = 937ebdeec379685a71d466703f788ff7 +CIPHERTEXT = b01c0e4470b20d489fb8848b209312bf309f792b4a7da4a047aae8afca568a19 +PLAINTEXT = 5a5928dd09e78a21256eadb062630a3f0b47ca2376ccae314948143fff2512d4 + +COUNT = 2 +KEY = 6a8f6487e76058bc5a126276e48fdd77 +IV = 6e75d8b8ac0976143ea103a710caec02 +CIPHERTEXT = 29c360fac9b361c449e112415e3a7aefe149cacb2d08e2c2c9f61768476934ec6b26be4c902f7dc548dc378e432dbfc5 +PLAINTEXT = 424ddc343067612fdb426920f40ab4d82e3d4f9485b07fef91617556d3093874840e8110ff375b7a68f98c471ca10acc + +COUNT = 3 +KEY = 01963d44aea026b2205238454d5bb73f +IV = 9442a6e0f3a53f10b0ccf5b0ccc1793a +CIPHERTEXT = a1452e63a52fd294009482289812735166117f5427a6759154b8b4be5561f873f29673eb0a0b200987515499914196d9029eb0371af6065d75c9276b39eea283 +PLAINTEXT = c54cfacd953736a2d8db0b8b63b555253a0ca6f6e05f2e918d18be95669fa85609f827d6da014add2964626670c202b195248fc986372c92adbb10c0e7c36e04 + +COUNT = 4 +KEY = 4ea87b0b346054c097edc5601b782870 +IV = 9a3e23333b2b2de7eceea67a7ca97641 +CIPHERTEXT = 323d2253511545302c6fb5a5bc324d74cad7386a0225aa3f493fcdbd50e1ff2469e73ace9a0fd30ff0ff685f168a14bb262fe448bfe28f3a581061f4d4dd797056b034e256f1e998f511d7258dcb5bbe +PLAINTEXT = 0c7734310c5ca82b520bf1e0a1614c7ddd0c002711ef0b239de8fa256e15b32056b992747ff3a3a310d52e9df36275d9192dad61caa16715744552c865c5ae9477a70a2c3a02a01ba176b927445094d2 + +COUNT = 5 +KEY = 1956f40b2334a6546b3071f2d17f4a59 +IV = 765cfb560c46777a20cce091232ccaf2 +CIPHERTEXT = bd2190e1bfa0be9430f5081e9ec58dee5186fbcb80e5605ec4643df1cc48dd7653b2e4cb4f0c2b3c6ba6cb4ab8a178aa9f0d11911b4e742f25c497796fabd52c543f850f0f24d1782c06c6113d7da7dcce3387759b48169800f5bce2b070e4dc +PLAINTEXT = 045ad66c515d407ab73ea0c6f6ae869872342fc72956a659945454005e37c76ed07df996ffe1322840cf23843b34346a1e730ab721ddceaf362ed256054c105ed581a80c04ef22ae1b5eb8742c6e3c9c0e0e29fad211b4f40adc1520f7c6821e + +COUNT = 6 +KEY = 4e47e1b5c1b489295d3a2bf049f4be2d +IV = 83fdf064d213df417ba0e75ec517bf63 +CIPHERTEXT = afaff2d1ec65cc8e1700e7c133c970b100d347916f960e4a58da817b6fd705be759a832eabaa76268cec434bbbc4cacc3b7d3ae8deeb29b1004ee410747a030abf35414184e18bbe405b57ed382237e9afbcaefa5b55425d1aaad243e2252a1bf649d514605132de9b14cbb1902ce191 +PLAINTEXT = 94a7bed3b5a158e85f9e4778a7de105ff4f3b2a61c2fead82cbe949d7a4ee961a6c62949ba2c69d513d836a455b612c2fbb6ca243a0a18a853cadb6b73b600192de1d51ddf80030718b079fbb581073a06b66ba4ad524d3d09efaa59e6919bca15b2b92bd9f8c17d6e463f4ea5fd5f5e + +COUNT = 7 +KEY = 613485e5bb84b91cdd0ca02f8d83e0bb +IV = ad8a7564f6ce8abb6949ddb7d7186580 +CIPHERTEXT = a35e2bb864d4dea2db117ef77f7f63ff86518229b208e3ad6e3c55711999602aa2287bc355cf7f02f41c5c690a3e0a5a7c54c37f61eb706913c1617786cf40fad98748962b5bb2ecb07e707504ee1eb1bfb23682496083d2f0e3d87c377b016a7105fafb8f7d5fa737c124e51698864c76f241f9137204322a292248d4a58ac2 +PLAINTEXT = ed5068003163c424ae9a8e51e3d77684c69073a824dc4721568f7528657c3dd28d66219f398ed57105aa35cfef3ac078eab30ae0f3ed752b0e320b099ea42b156f818904c4b6c534cabde53dfa62e7b74518a8bca3f36ee85b130e8520d38c006e6adef34bbc8df56b757b500d703e5777aa545c4170404754f03dbf22c9f0d7 + +COUNT = 8 +KEY = 8198b36e880cf50dbf6724feaaac8688 +IV = fbaa2882a2a4acdb299e4f82c93f2af7 +CIPHERTEXT = af5245ca51e55d4da0ab30a376e789b71d8826a063f26b80f10158acd84bb90d6da69cc657eb0816e6f9ec80a7fc562a35efe584515f81293572490a2629cdc949e27e63b7216312d38f0d72dc43cce2be41232d2e407a6af5b113208cfc3faeea0dd2ea9a0fd409107779bf3d4553a66186c7e4211ebe09d9c49c36334e7684f92f80a3273ec4c245b91aaff3895440 +PLAINTEXT = b2516a356e437513f0df83938afefbe9f9ef1ec879797997f31da96a1ea7a15d395ecdb94b7fda14cdc0b75c171784fa8832d574b64f9450c6be25dc83b93d3bbf0145a661bf4db775282b98649b64613aeedb8bb770f67cc3421ac6761e5d763c21ac2d1e729e4597ad7fca9fdc70878b26634df78cd0f36fb3b138a1357915abba4ff5f8dfaef268307022f2e23528 + +COUNT = 9 +KEY = e30b4c874c4c4f6e0cf1f8ef58e5d375 +IV = 7e26f07f8024343cec35409e71e0cd8c +CIPHERTEXT = 5dcaa173ede14fd2d658973926168ff34fd6df9bce3280d40b00c43b80e2979a1e19045fec9afb4cf264516f55100855c3aad17b11bfcf0523b79eb20d65941077dd46ec46864e0d79704c2250e72bf8b448a6f0d3130ab10b423d1a09d9ff7a32bf700441ccd27d3223913860c28044ea5766e45a55b93f8948a959bd6661421566898e27950f04e726279bcbc990a22c80193ef0ae65196671eb59713240cf +PLAINTEXT = 8ceca4dc346cfd6b15774e082db1a89497b7d85d6b5b7102e77417f7a243fafe17118b7a3bb49d1657cf61b866da395a5b3f349183a53dfa11fc0ac053bddff49dd472ee55f5e43a2f8bc785e2bc420300694919ff7bb43feb75a9cac44ece96f679e618db5d7433af12dcc7e0963ff10b45d835f9a8f42627e7f3fd5038932685965ad0e183f5955e671fc2b878dd51051eedaf85310d1e4e8f75f2decf36c7 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT192.rsp new file mode 100644 index 000000000..5457f7752 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT192.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for OFB +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:12:01 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 2943e3edfa815260a8a697b386ca3ae3eee914f22b3857dc +IV = c6995f00318c241217cdc82cf2fa43f9 +PLAINTEXT = 67e2cf5d63334ae03dbda91100ab781b +CIPHERTEXT = 225e8bfb133c4332ba6e95ddb841370d + +COUNT = 1 +KEY = 6a32b19fc5f048a29efe97927e8f91df23390278d4fc81eb +IV = 39776bf5d8965c7b795e3c6f23115cac +PLAINTEXT = e8bc8453a7d47de7a9ccd94385b008693e4645f3179311b4a9a1e09c328012dc +CIPHERTEXT = 18132430a50b89c64c72c5d9092d8bfb844291799d70151690ca85837d89a79d + +COUNT = 2 +KEY = 155f12744f6cf7e1f108df341c5e9c02ddd44812b285e46f +IV = 855a5899180472427a1002c0ba5a3dff +PLAINTEXT = e7efcd84d52e30376d96ace92160e2ce247e4b82748c679d18041887a6b1488e0966d23581efa0cfeb48114d430d9d55 +CIPHERTEXT = d6079c22d740637b24fd801eb02ab24e6d0f32a9ae7c0eafb13b5fcfdf05e1811c2ed7f337e1b964ed0da10990b50de6 + +COUNT = 3 +KEY = 66c7d31359eac09056d597816542bffe4bb33e475dfb2d62 +IV = 426042dc81a7a069251972b91fb35058 +PLAINTEXT = 2f2178a285e61932c0b75d7be0a6e23afe78248330fc8bb3ad9ca9a73232bc2ba41d7bb5f6930f544d385fe362f0908228f2cc47b01f43304991705ceb769e7b +CIPHERTEXT = 863aa235c8ec3d7e8b24244f9eb797a610d0814cf15b2bdc2b17e90e02e15e2b4b73affc0d5983aa9e9b63fc5004629b1e337129cd3e4f3cc48b7f174544e30e + +COUNT = 4 +KEY = f7718e48dc09373f607f0e52a384cedcdf7f179348de6e73 +IV = c1b7d13dbe1fc137b2def6883342511a +PLAINTEXT = b56cb19505ced0a4cdd4ea157ef625c590a0cd1ed035483efc534c558d594f4fd4263fb4482474cc1f86e3061bcd949aa791566e227eb1377b9d1ce0fed4702f6db19da653639ba79509a4dc4a30a1d6 +CIPHERTEXT = ee1a61111d0789288314460fae70839516996d2545a80e0a3acd9e2f206ccdcdbbb3b71550c46b17ac1643f572ae45bb1d808c7e71eb2a776f02ded2b56f62b8327c8ef6d943fe2945f7a5436e39c390 + +COUNT = 5 +KEY = 1a00e1b34817f3bac340eea1c25f7b7fd84f5534311bab42 +IV = 3fd09c2f438b596b7295b81c39f9a54b +PLAINTEXT = 033b3ea4d5055a212ecec7c1d09c8263b5d36e29ff58ecc432f7acf2a102c344263bfd2516f4741874756141659e3327e4cedeb8b703768ea242fc70da39781cbc234743bfecb7d6a895d180fddb7674bb13ae684b593ce1b3e976b20acd53bf +CIPHERTEXT = 0fa7c51b3884b5d734d56955078019b1822c66cb5779d351ada319f6799620d4fc0d9518efb521529d91d1073fb4b9aef62044219c62e782384f4c357cb3c2062366d26c7b12d90358cabcd01b53cdf3aff91b40f5ddb04d5ecc501c59ffe48c + +COUNT = 6 +KEY = da9e056673ef01edb7dd4f00c614b8d4548e234c0764116d +IV = 81d872f7dd7c9d6ecdeadd556965b433 +PLAINTEXT = 6211b0ffffe478206e65c8fac9d824096db571b2fea016d4ac9b5ba1b47b14ac29988442f4c97cfe1a90c3983d91bafe664940a601fcd42229eff9f526d8dfa534933f11861687058ba7370c704d8b85e6845af925343eac31e4f5725c2b07c40c68a913beb3e25c4b14ecfd6af2ddc7 +CIPHERTEXT = 55544a5ba81fe6b91d9d76b47c9bc80524f49d98678d8918e6554e516af56606e11c87c1269de64fdd8b66e071f3bee70170929ca2f9d5e4a4f4652b17bb0203ea8d14df80344f725ae4f5f7c05eaa0000ba0881942cd92a5fcc427e6ea659e8ac70883e3ea749154cd56755b5b6e33f + +COUNT = 7 +KEY = 4d5948356e36390b3547129883badd12c8168fe5cec38356 +IV = 92de5d2999c1142a6a130ac55f1b7822 +PLAINTEXT = 92d1e2f1eabd7f3fdc99105093f5c03f13d0573a1ff6497b5a8df279acea2060e7a9d2bfabfc3f8187431a1f60dd1514173ea490664203700bc17a6e2964e095ebb75ef96a7f75a4d14d42d3bf530163ec77d18610a6b6ba006be4fc1ac03b38e4240e05f0ed288f03e011d475ff8d14dba26682e4c96b4081b1b98a49a53932 +CIPHERTEXT = 56cd225b88757a1b520d6ac236231b5d86d27d15a9b7769b71512ae922669abfe873de30ea7ecfc59c3a86703daa1070dc6e548efbdb972ce78191b4b173d46cdf67032bf515ed28bbfbc44a6d39df2882caffe6de76bccab49f765fa2dac8c548eb0ed57f03c49b8963b4a968e14164ffcf015e21a92c98497691a35d91146e + +COUNT = 8 +KEY = 258bc6c00318ec2880c2d11138801ed52b2adbaac83c2782 +IV = b23e9f5eb270b3640f44b623c2a2805c +PLAINTEXT = eb493dab3317272f1f26bb6eb1c716e305f263d8cce4f32dfc0c9155c6280fa1c9ac25c185637c88125805ef11f78f5de47099251a5c64502da34d9e709d5ac74377130689d993d85cc5de02ffc375d1133b28a50e222cb1ead86dfc1a5125abc274ae8327c095aa6535efad6072f0c7fc1bb961917d72d599759977ac8d99d6af699f3f4862a9839470e0fa1d4d27c8 +CIPHERTEXT = 8aa908ff06ef0de732eee5eeafc4be32ab9c23cd4ee6205b7f29e49c50d8b6677241c0fbbb6232454986dde2728c62abcbb47d2be912149f73733cb7e65b68e57bb2145aa45ce957c9037d099502d3b2d46ac3f848499267ad850058aef65566843ee119c483ccf8cc2a72c93467b0afdafd87b9843119c4859d5d428e2d371a54177fea6e4fdde8901191b713b60970 + +COUNT = 9 +KEY = 17b0f9915f6b541e1d3fec5b9c5dfe1cb05a9dbc9983b20f +IV = eaf17cec9714d2e6f266f283618494eb +PLAINTEXT = 0d4e7f3f732bf9d8d2d3f648968fe84175d1c7f5ac6d6be48c0539f336c501bfa3512730e7fc0151b63b815f27591420b86cc9759287b6330f31982f7a16b99816fd178a61fac2df99e58649800aca9e5d22b87243839eeb959394d1ca8260e56e399674698d042b84b94c2d290bd3636addda1346c7ebb527137702ae71bd4db3eced16881d8edd7e9f1d34abc3f718ea84798122bd6538cc9987e9af4b9979 +CIPHERTEXT = 05f6ec0f2e2215cc4518750c4c6adb0b4e0b28b0889b33528cc3865a44d8f3680d838ff3da8d57d18df22187a716ad24630645732b7510aa77f5e3181f402b72df2543f825ff06ad5993324524a917093867ae5b59ae439697fd53fb9605eed3cc6b5c89fee0b6bdfe62e1444290f3dd71ff6aa1b60a8abdbc70b2ae3aee999739d7e6952a18fcf43151b65a5c9504fe3bf166917a264ab0c048cdfc40d4e0bf + +[DECRYPT] + +COUNT = 0 +KEY = b57c1f00ef9aa21ede38d0c1addddedadd21dcc7a0773aca +IV = 658b01d8dda573850cb2c27dba2a139e +CIPHERTEXT = 09f40f19164302e12043e7c30627b42d +PLAINTEXT = 1bbdad8549babb85efa475bff0307d5e + +COUNT = 1 +KEY = b8cffa57140e7e490623c03e37a05d6ed1966ca440516295 +IV = 3a2351b89bddc8a812e4af39c6d10eea +CIPHERTEXT = feaaddd0c62630c26df99e0059825cfb07d971b05005177deb7064333498296c +PLAINTEXT = 2e57b78e8a7a9797a360d17b70bf4a3409e7407247e45b51bdfacdfc126ac03a + +COUNT = 2 +KEY = 6706988210f64a2a22e359bc731a6c900b5adfe8329071d3 +IV = 74014d44bd6a857bb5e13e351945ab68 +CIPHERTEXT = 2dde0bb74a3e0f81a82f54aa86cb1cbb5884a44e606655747e9c3e554936c2165e298e00f997cfdec251a1a6e99bca5c +PLAINTEXT = 1d5cffc80987dae1c54ac1248b0bd62c3e11616368d5b365fcc8ba3c2228ce4cbc6f0b22d7d90b7c9fd204ca69a5a83f + +COUNT = 3 +KEY = 6c98ed90354af277df6c64d3f4f7af72d94317959bbf9f46 +IV = e80bbd08f6ed38755132a0d0c58cb765 +CIPHERTEXT = 564af9b8c99e33a668c10f86a89fd55327b423009a2c85bb06494573340685985ffa8a222f7e5bd4eb128bc2eafd53114a34e4fee57dfa2181d4b5f3470ea58f +PLAINTEXT = 40aa6ef1f783d1187c1fe998c08373ca9b3021b112f03bff57179f10bbb987750c22b1ed65a18340033d35a7527200dc244ade241989eac950892897c77c7f5d + +COUNT = 4 +KEY = 32fe5dea74b6fcf5da2ce889545cbb2b619efb97dd2b9161 +IV = d09845e20cbb97f9e6102eb475656e78 +CIPHERTEXT = 5d3e9d6e5fce6ad11d24f9ab3044cfc551d38f806ed6b6b9fdbd88ef90a04ba8a9c8b210d0719ce4e4ceff8eaf4e1e92bc1e03286def292a48f97931924077fc1f16be1168e1aaa6de1e54c17ea6c39f +PLAINTEXT = 7c736ac5aef97964a83008600fbc976fe77022aeeadcb0d3fecc433e6f7f049c63685bf0eba95bc0b67b0fe2c7da067c95abc65c89d8072b5deb72295c219368912ec9b3bee60601c48faf25db4809f2 + +COUNT = 5 +KEY = 3fc51432aafc426fe0d1a1fd75950ae1a79f4949419f217a +IV = fee3c1b2b4e49fb8ff28a574a3f54f80 +CIPHERTEXT = 80a921d4972a862856ff168b339124553a8d393960e70a6c151ea80918c1f7b58f32617f57aacb09997dc8ed9ea00d5ae46826fe71946729678e242fd9ee250edd405450e207b9334402a8081ead39d9600bf94e21a3dfd136c882f1031e8804 +PLAINTEXT = 1d85795d126973f6fb8142d931d6076d687cacbfb0a4ef2f1a3f430716922ba1e590ca417e8643bc88e9b4255f3870a239e7c88dbabaa9ab3f4799f40d95e48bb744c36095c1d8a0311e9c262f7658ce12d065c2093bf471a01c968f921d9b44 + +COUNT = 6 +KEY = 4b0a5a32fc9bfa964a86fc8cb59bfc11da50a6eeeb67cc82 +IV = b26268835f33b3aff46a65ce351274d1 +CIPHERTEXT = 64372d6df57bbbf21c1cd20325892f3ad5c5dd499dc80486122302a7a2e2bcc97fb636b8e054626a691836cce7ee01c24172ff68ac562b9f1d0454c5048573c337a23c4d2c49f3656c32812144c1c7afbe2f3296d0e5903ed22822b335fbf2a6734166b5422316ec0db1db8ba4cc2809 +PLAINTEXT = 0c883c182515694807e7c929b4badd62cd3af32b016ce2a0f1241db1c34a4a5e2b873a56c841214f10a852494595d8bf0c9f9919c71e2a3acd37c9bfa01ea521d1a82cb020c85e24a89d9d5f04a41f63bca3b2261d86c217f335d4a613922b17ab5fcb502eee48b279727fc08eb21f56 + +COUNT = 7 +KEY = 791afee6a0911571d4ba8a828ff5cd1ae6daa928167a76f3 +IV = 5b863b6e13d528597d5a974c1a5b495b +CIPHERTEXT = 6c940622e40d37fa61cd9546877391c6edd204fcdaa216834c7460a23fec4d212b2ac65bcf890e952d8cea8ed615065767d89465541036e5e4701e4f7d5d733e225af77f3ac4e86893bf246ba67090eb1d6db94d9271bc539a5564a5023b93b1580de3b5ad268c1a9a4e890481ecf6271577bddc1d2e717475097acc55ef7321 +PLAINTEXT = 0b8252879ca247de3cf120ca58b652040cba3b697c24a7395299c1197d32d7fc3ca44f1844598f96f53c5b44d21c52ee4db36cdf8aef34d781c4c288170347286b2476bc22c26b21e6c3ca0465b102151541aa759aa28db0d38621b0fdee9e12f287097431742ccb35597d4c06a0df261a477ccfb1d618e4a854824b1b9b84d2 + +COUNT = 8 +KEY = 09d5278132ce1d3a75fcf2e0571d7ac570b92e4f1f067ffb +IV = 20d896e0e4dae1471b3cefc0ffd78412 +CIPHERTEXT = b107b390886821d745c0b0ac830df2a8894b88391ff29544a0c1730f51baa55ff16e0ddd917a5fbea652d6a35d3d26be2ea1b137b481fdcebc4466c19cb810f0c656203f9cc82c3c86a8ef02428b425d7c3e482e9f4fe811eacf803ec657d7ad5749547e51586e970d4b648fdcfd2ecb9ba9b3e687643c5653eb294d789fe3decdce116157340f1862c29b13d09ed250 +PLAINTEXT = e5f41cdf295f23b0daf1d3f3fe1d47cee30ed153026eb7b3292307a2a133f6d40c581dfe8e710ede5d6c20bbdbdc49a65e96f86a0b6cc551a66dc1db3dfba95c88e3093633b81db637995f9f05d298eec2149daf673695949074a83c7129de61709b191e3476ec1f35f56df4f09664fe2fc5a4b8de41ea7fa89f46efca1498fde5bd127aa7514728dc7579de664233bb + +COUNT = 9 +KEY = 753c1f7f39afd286ff051339c45d57c848850393b4112fe5 +IV = d3ee0d8de5080eda4c26f5a3b9ca8a9f +CIPHERTEXT = a91409fa694a4ad34a9cb1c1534a94979a5beb390083a6a61b4a4436746ba120f37a0f3e97caa9156a8ee410b53e670c703d1d19fcb8887f15d1580002fd3c5d0eaaf81c3c26b88737bca3f88820b4540b0dc5d6a42ced0e2e380c29b460a472e4eceb19c0241e33976d170334b6227855120df65fa67e5a4fc68938f45b82665c8810bf8c8d832173eb68b821c95a7f35961b0394f0e36b61c4f7b529b77e42 +PLAINTEXT = ad3ccda264343130bf1db3703e27127176fbaa7b6a5da2718783baf9f28fcdd3ed9cd31adcc79427fe4df03f1672a5e55cab0db0f4d434d860340d2fa05bfeb07e924157064a24d0f10e3293f78a2676e3c53734f22d4ea33e89384bd17f4a0f59354179ce48a7d1c1ba35e7f77735f58680f0e89bf9242a4f087322d99e507336a8e9037b6f1bfbe45614abeb2f71516b94caf618851ddcfac7429a2177be40 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT256.rsp new file mode 100644 index 000000000..b1d6636ac --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBMMT256.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for OFB +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:12:03 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 6f419b4c683a44d67d234eaa6b57f622f912de657dddb280a14d0cb967ed951f +IV = 19b888800ff1d0116124f79dfae54ffe +PLAINTEXT = 3d12989faf41ba75bfa70e2bcc2fa222 +CIPHERTEXT = 2d6b005e8d3bc6ea9f62dca36d47aea5 + +COUNT = 1 +KEY = a92577607968dbeee135a24edc2f3263926d97141f2c6d9f96c0012f45d1b3b0 +IV = 97bfebec0c2e7704d002dc6a1fd36901 +PLAINTEXT = bb28705ef9e5151afc73e3886f25f52175dbb57ae36eacc5ac4e989b9d69bff9 +CIPHERTEXT = 944169b510b2825505a14b22eaba744c19ee30da6ed697e3b879425f26808289 + +COUNT = 2 +KEY = c4c7fad6535cb8714a5c40779a8ba1d2533e23b4b258732a5b7801f4e371a794 +IV = 5eb93313b871ff16b98a9bcb43330d6f +PLAINTEXT = 6d0bb079638471e939d4531486c14c259aeec6f3c00dfdd6c050a8baa820db71cc122c4e0c1715ef55f3995a6bf02a4c +CIPHERTEXT = 0f54617159d03ffc1bfafb602930d700f4a4a8e6dd93944664d219c4c54dde1b0453e173f51874aefd64a2e1e27613b0 + +COUNT = 3 +KEY = 7c4424cf1ac4d75aceebdb2238a9f0383438f453afa55772b98ccfc3dc234dc4 +IV = 34838273c7848b70c6e1abad79ce1325 +PLAINTEXT = cb9ac89b78902ce09d8467291181a702fd9a0430e2dca944de8135702b66619ae8c0e2af1c0a913af842c9355c54101e9dd7fa4e86f74b879cb25ccca648c075 +CIPHERTEXT = 5df03b8d91cb0e5da86ba108ead87ec762c90767ace96be60598b4efe8f3d3f8383827a599180ffdddb3e94151e22feeda3c90651a697f3834e036e44d0506b2 + +COUNT = 4 +KEY = 318aa7c73006ff95840f17f2b9cf01fe7f031105ff01daa66ff95834e47b6f5c +IV = 0e28bd0603b31c26250345a118408ffc +PLAINTEXT = 257f3fc84537158b68c8af111b1e9eb41f8841686ab1e94c6fd13a7f9f24d535309c340a1dd3d4966e439a41b9b97058e9072f613ef9c1ac958b872bea59f8831b578b63eec2d7155657f953f2c2375b +CIPHERTEXT = ba4ebcdc894e6de54f8f1d7ccbb19e13d2ae0ca66c05c10e2f90bad2e9b8db94ee7770c3557927029d49fd2b3f80a01025af0e7a343237fb625dbdee85367ddfbd7f6664b511cdc7e832b2c4d91f1c0e + +COUNT = 5 +KEY = 1d5d440ee1c72740f7bbea5db587b0c5834344f091b4666ac571631bf844e9cc +IV = 1088128efc7d4cdc629d3874c727aa2c +PLAINTEXT = e8e8ed02c13b9852274cdc60a9fe5e52a9bb2f056069f1a223993c72e40140f3fb2cab2b2770cd3ccf21f9398e042f38ef06f9a8752e93e5dfd14e0aa9053607d657f3f3edc1eda342d6b47b76409e84416cb2bf6f84c4b9299ee2607633ef15 +CIPHERTEXT = a862293bda833a8ad5f1875d1ebf5e5d250203a5ac2f6c0f029f2c515a8a731018626806820647ad088a29fd3b4e92b05f47d5651e3767869c9d289010c7926ad8d64c98f2a7544eddae2522327371039cf757c6591649b3b59b4e5a84b5a7b2 + +COUNT = 6 +KEY = 686bda53073e94d8a8113ac291a0eec18534258445184dcf564db4ce057ea5a9 +IV = f0cd1d670c031bca0dc1d6f4b39d1fc8 +PLAINTEXT = 5d20b4d0a2ac43cbf8120fa9da387915d7c0ab62872d2cccc347b10115c037e06e174e8017bdb874ea77324dc203926130fe12cb7005ecb39b1b27d01d4ab02a6a8dac25edee0dbb41ec6309a41ff50da91f11ae2da1a0fc8be3fdba144b081ab94b76c70b876b28663a4ae468d5cca1 +CIPHERTEXT = d2ddf06ce095f6142c2c929cac8ff63c47832d474bf5160b5e7142aa68b9c2736b6f1a49395a525f06ca56df5f7941ac39a7048d891ccca10e6a14779451a740b4854cb872b4b36e9984a7fb9d03dee8c26b2d7a23e377a36ab35b6d9a26fb397b03200cf1c6987f6da0924d7181e003 + +COUNT = 7 +KEY = a0bf10c0b4fd2552d26ac9e9c2bf9a3ea7a37d352633df11cae241e4a783f34a +IV = 20db833498b37dfc5866c732ba7a22a4 +PLAINTEXT = 27af4a135b4c0f33ec03e5ffe351a9edac7ada8f62c3fe684ee241feaab36030aa2cc5cabd93f45710ee253653bc32f0c1e2b4c95ae869957365dacd71b83ae2d2f990d16d3019f8fac4e728d436cffbfe0e82686416fa9464c718eb8d018b70a7fff351f38946bfb46b73fced2746b66de78c9309b5770d29ee448086f41a81 +CIPHERTEXT = 0621f4800b001c44ee3e3ea4ca70248bfd01a8045b6ca46047f9b91b22e70bb04e6e4bd2dc5759112967cf7dcbf6d6134681adf1226f51c69fdef9f191575157ac688e9908d7e4aae31fe573072ee1366f64a8f118d798e6f7d2d862904fa445158d2e97d4d38cd804f9f207f11a6fca24e46485ec86b5e970998aa6fd552319 + +COUNT = 8 +KEY = 108a06c812f2cacb5e521acad0eac6a6db32fa2e1d1b6d883798dad3db5db40a +IV = baadd9b9a14280d4610d41685c36b778 +PLAINTEXT = d57fb32d6ec9d3190c14c5015281fe1bf5056935d904acec7722ac1f825653a3ca40913860bca0bcfbb78d9f9a41f4976be40b95ec34e1f750a8e8ff24a8b28432e7f8e7a6f3e0496f0b7ffbe8309d36b87eb90df7bd4d9f92345491f0bd08bcd51ff02287971a2730b8a6fe84768461a37d7d8541c7784d046df6be2dbde0b37b8e82d14cd0d7be0667078eb53a2e7e +CIPHERTEXT = f2d8aacd5179584d68bedd301ddb1c0b8e6e0b02d0985944c59bf8bf8a7299b69518bb761c26af7da204ac2fed069271a0afb177c3fc880428c07eabb0e151164371ee1fc5d1f9d8e1321d8b3d73881ea968674ad5950c2c7fe6dd4773ffdfb3970a65db8e33787f24dbed8947f1644bc6b8a79a2b19428589fb8b1337257ba53a6a68fc2b2160e077a307e0a7ebc3bc + +COUNT = 9 +KEY = 1d6fab8e8e49d623cfc8d105f04dcfab60175d7db4fd452ea463b34c56679615 +IV = 2aff323645f8aecf9204e7450952264f +PLAINTEXT = 581d511bbd441d3531e77a910ad194f40d8a69b63cd6396cef7f37c5265485b21e725fca22c297eca4c341268c8aafd5d007a00e4589b43db584230c3193af87a8b9d77db9ec4e29c6d4ab114ad0622f6c3af34fd4ec61b8bd02e60e4be2e5771f7a20fd2ac92b34bea1211cebab954808abcb40900528253081e8931d4b0fcbab3ea2121c611654b5b2090d1823306acde391ab22def2cb358791634fd515cc +CIPHERTEXT = 6ca579544f243cb2074feb19edc128faa33635d6eed0c850502669860d7ea66842298154ab455f79db45fd72e0ce88d49210226c489e9c15fe09216218707bcb96e1e59aa8d7fcd99728f71a478f9fedc109a111622a63b8e6e736207b37adbf0e6f4990ed76b42434473f90bb8c75ca7df47d72dab61fb0c67d265502217c4e590b3536d8d7c7a03a64735e87799423f40b123b8e431e3bba45bf193b6c4af0 + +[DECRYPT] + +COUNT = 0 +KEY = 56c58f5c2141c8ec0327b1a6bb8e13fc8412290f8c7ab272a79845314571e512 +IV = a30b0b95c57e6897b40ce8ddd4209656 +CIPHERTEXT = bc2389f583569cfcf89f091aa9a3f2be +PLAINTEXT = f5639c9ce76e4350ce4758da04570532 + +COUNT = 1 +KEY = 2715cbd61f349447a6564efc215830dc2b7853303b667158809fecbc10f61206 +IV = 02d402b94059f1ab662aefa001358019 +CIPHERTEXT = ce58c54b84ec2afe0cb2fd55d62d468b3b1c5af459fb4e991fcdb222a4197cfa +PLAINTEXT = 0d05ae0ebdd58fceff2e383014de0612d6c7d468c4b285cade43972ca0d643ab + +COUNT = 2 +KEY = 6165cf1dc48cadcc1ba068f5cf35d6697e42a0774e253d0d81e721214ac2314f +IV = 0c47e490b3c83d32036ec27be7cccf22 +CIPHERTEXT = 3396e30d126a591adf6489716574b323fde0164301e706a583a53fe63f3679accf1e3c2f1ee8f6f91f0e4beabf19ac7e +PLAINTEXT = c3ce738b5aabab830ccdd82e3c588e0abdd0c79c226a92ddb74f16369c70593c9339b7ba770f607a44c23fafa9d91923 + +COUNT = 3 +KEY = 75be95a6a54400b2e1b485e24ead18ed20a6261fba82d397166486b268c4a7c7 +IV = 3b395ad3450c56c8f1accab2a47be11e +CIPHERTEXT = 52647fa67c0675753f725a8fd446622a2dff2841e61a46dc79792491b1090d4b61a2884a552ee56b890e16aa99b9c0e579a692e3666dd6941c29459a4a202009 +PLAINTEXT = 6892fc5c3d48f4e68a2c318f8157ee986fcf6c85a2ece70c0fdc709c504f0ab0b91606c4f13bc9bce5f1a1e0ce46960be86c35bc5982418097ba282d887608ea + +COUNT = 4 +KEY = f6085f2331e851db9c2654dacb5baf195ef52a1179da2080744ed66bd3160b5f +IV = 279355afb39f671cc4a6dc5397086fb7 +CIPHERTEXT = faefd354f5916e3480b5f50bf797bea393d9f451e127a1bf731b0befd55e447dc211fd25986b9b840aa38d231510dcb1358f0390d825029413e5ae0794144bf0d88c5c949e5eba3e9bbbe43c6f15962a +PLAINTEXT = afc0f87e2552468929823104a41418bc5b9040b63263769a75a2e17106cb529e599efc59583f1a3d0932b16f175b74a47d2d83347a10da6e70624257dda20be90d91032f0c2681e432bfe916d3c475fe + +COUNT = 5 +KEY = ab765f7d8867382a0d6baf755c2f947e64f3ecbe06293c3e763f040be5b989e5 +IV = 7fae073c0eb9ff465bd4eff9f91326b8 +CIPHERTEXT = 51125f7d0303bd0b9ea1ce5682e47939709534df3560ca7c892a5b3a36a5a4777d21802db5a5afb1353ed7a17497c8176fca04234b767f793c12a366a580970981e5c1bf01b98adf761a61a8726602772a08f83d1f926031fe0df1c2c48c39d0 +PLAINTEXT = 76f6d28718b788e95af2562344cafbadae919bf1be4a56424d062859d53a2d56f1f74e569091c5255a3a3ebbc052a9eece40e5a0277860883ccb8ed1e2bf158164d1c96df15ffa3ac1315a70e13f91afb9ba7bedb7175dd1b7742e74c8b911d5 + +COUNT = 6 +KEY = 61e54c306d6bfe8f35a5d9a24ea731bec710b91f0190f387c0a7eb2883af25c4 +IV = abe7673ee5ded53b588230925d9ab7d6 +CIPHERTEXT = c2a17d6f3872b7fe16712b8de4dcb1ea429c1bebc5cab00c0173dc59e798258f5279617edc1426b1f6e8835138feed47f52a7ca1138f583719616e8e8aef67fc72e0da0d3ebcc026d0af2968d38a2ed74c0b27bc725e1e48c0e38379483220424a5d50e605756ca5cd4f879a5e875be4 +PLAINTEXT = 7c426641905155a852a346ad65a6a269c1647b13562492970df8f94fb0b835924bca02ae25d7f4592a6896e76927fed58e9bfb4a4f0f8820674c03052a63d931ccdf2034d3a84e129b1c1f16bfa0ff893e805282bea7762c0be5d8ef7964cb2182d610237b2ffd5218297758a80f57d9 + +COUNT = 7 +KEY = 2cf26c4bba769ccb47e63d4ecc6fa070c5aac6c0d6b52271b4889f524386e500 +IV = 655cb1b498545c3e95c7fbb3845683c0 +CIPHERTEXT = 11f62821f8daedbda595c1790cd4e79b263dbf15f461ea12c2ecafcfa91f9dac5781728313d13c38fb3ebe9190db1548754d9c5f74c60cb4c238e8d584c21815916fd3e07a1fc34bc8c564ef84d3aef8fdf3f379c5f80a03fd14ad75d24b2015482713e037aeca1f92917b3befa6f8d244988d0aefde2c26fae9c7579ca2fed4 +PLAINTEXT = 705e3f25bb1c11d4316e8d76b79202a246f6573f4c5bc2a2c3ee2dc6e9092f20fe9488f420cedddd94603458b1043e4f70e18109ee61fc065c5d3ac3ab003808df3b4590bdc931df224fd009e76ca2a636fd42bedfb88e8f1f4a72dc7c0ed8cd93b81393285b30720829f6a155c2fc2538993569987bb222f5d71b17da4d2354 + +COUNT = 8 +KEY = de9dc19fd3bba76c338d9d824a7985083776856457b912fe01904d47748e93fb +IV = 4beb729b182715f09f3f06aa0591c1a9 +CIPHERTEXT = 1d5f37421c8e64cf79a5d6941848b2f74ec41d5599f695018e69888a12be1f3dcd515bebdc1964edc6d01e64b254fcc5d74e19963311857280c5dc5364c41e11e844ba252b37ecb3586f49c8d50699e0bdfde4ab9123d0102a382a73f253c23354817c7771afa42b15ca8245e9242e4dea1aa61c19f41ee4740c97702633b3adfb50c86a164a335ce628ef6556776615 +PLAINTEXT = 3eec7d7c2214e229801f6fbad85eb08958de177de78bea23a3801353bd2b74de647beb7122ea83e94724ceabe20609b02b4b3e294b467559d0f9e5f5bd076a8c0f0c2707a41ef970f990b02d3870578b9b4af354048852fbe4887e7b6c23c11c2b02e75d5a09d6f0cf9d010c1ac15668a52b2e013f50d71c6b74d84355a804a3a8b72f25a7cdaf6bc4eb74c0d43c9f33 + +COUNT = 9 +KEY = 98a9971e86806ccc3495116fd06dc9d1522fe88060fdddc36e846fd329d24748 +IV = 9983ce048f19ef4043054c03aa010bee +CIPHERTEXT = 4b0767fec0d4bd07c79c0f5652dafadf10cfce89e3259dea94d39252c640840c28abcbe0efca53dc84b1ef5579f6ef28c213f445220b036fe351d93dcae57e654ac01d39f87213723f0a462d5536b8336dab5c7d2fc728f865756b85f7526144190e0412c3142650616dbde7cde17e887a60ad39f2a1330d8209f13233ce5431fd5c297238f8b3ff53a3fb89c84168b04ffa8f7f53e14c36a2d3124d68a27fb5 +PLAINTEXT = 00caa233198f51bbf593404f59826997b4ea387385cf744c93cfa00e702e8f16ff5aa7e17a9a6020df0f0de4ea6abb38bcf1d777810a8318f69b5e8305f6d727f06f008b4bec2d65cd4c516ca49f62fb2f916f273c45bb722bec78c316f90b5ed5de6ef1d366603ced303c10e33dd5c99eb0f994db5a7867da9b530fc4d0b9ce224c6eab7810359c9733cf933c573611d31fcdf3f1db87cfd17be7f4a470a0b4 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey128.rsp new file mode 100644 index 000000000..29a49b9f0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for OFB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:59 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c + +[DECRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey192.rsp new file mode 100644 index 000000000..ca35afa8a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey192.rsp @@ -0,0 +1,2315 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for OFB +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:12:01 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de885dc87f5a92594082d02cc1e1b42c + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 132b074e80f2a597bf5febd8ea5da55e + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6eccedf8de592c22fb81347b79f2db1f + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 180b09f267c45145db2f826c2582d35c + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = edd807ef7652d7eb0e13c8b5e15b3bc0 + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9978bcf8dd8fd72241223ad24b31b8a4 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5310f654343e8f27e12c83a48d24ff81 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 833f71258d53036b02952c76c744f5a1 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eba83ff200cff9318a92f8691a06b09f + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff620ccbe9f3292abdf2176b09f04eba + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7ababc4b3f516c9aafb35f4140b548f9 + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aa187824d9c4582b0916493ecbde8c57 + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c0ad553177fd5ea1092c9d626a29dc4 + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a5dc46c37261194124ecaebd680408ec + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e4f2f2ae23e9b10bacfa58601531ba54 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7d67cf1a1e91e8ff3a57a172c7bf412 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26706be06967884e847d137128ce47b3 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b2f8b409b0585909aad3a7b5a219072a + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5e4b7bff0290c78344c54a23b722cd20 + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07093657552d4414227ce161e9ebf7dd + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e1af1e7d8bc225ed4dffb771ecbb9e67 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef6555253635d8432156cfd9c11b145a + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb4035074a5d4260c90cbd6da6c3fceb + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 446ee416f9ad1c103eb0cc96751c88e1 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 198ae2a4637ac0a7890a8fd1485445c9 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 562012ec8faded0825fb2fa70ab30cbd + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc8a64b46b5d88bf7f247d4dbaf38f05 + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a168253762e2cc81b42d1e5001762699 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b41f83b38ce5032c6cd7af98cf62061 + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 61a89990cd1411750d5fb0dc988447d4 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5accc8ed629edf8c68a539183b1ea82 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b16fa71f846b81a13f361c43a851f290 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fad6efdff5975aee7692234bcd54488 + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ebfdb05a783d03082dfe5fdd80a00b17 + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb81b584766997af6ba5529d3bdd8609 + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0cf4ff4f49c8a0ca060c443499e29313 + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc4ba8a8e029f8b26d8afff9df133bb6 + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fefebf64360f38e4e63558f0ffc550c3 + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12ad98cbf725137d6a8108c2bed99322 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6afaa996226198b3e2610413ce1b3f78 + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2a8ce6747a7e39367828e290848502d9 + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 223736e8b8f89ca1e37b6deab40facf1 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0f797e50418b95fa6013333917a9480 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a758de37c2ece2a02c73c01fedc9a132 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a9b87ae77bae706803966c66c73adbd + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d365ab8df8ffd782e358121a4a4fc541 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8dcd9e6f75e6c36c8daee0466f0ed74 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c79a637beb1c0304f14014c037e736dd + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 105f0a25e84ac930d996281a5f954dd9 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42e4074b2927973e8d17ffa92f7fe615 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fe2a9d2c1824449c69e3e0398f12963 + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7f29c1e1f62847a15253b28a1e9d712 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36ed5d29b903f31e8983ef8b0a2bf990 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27b8070270810f9d023f9dd7ff3b4aa2 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 94d46e155c1228f61d1a0db4815ecc4b + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca6108d1d98071428eeceef1714b96dd + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc5b25b71b6296cf73dd2cdcac2f70b1 + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44aba95e8a06a2d9d3530d2677878c80 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a570d20e89b467e8f5176061b81dd396 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 758f4467a5d8f1e7307dc30b34e404f4 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bcea28e9071b5a2302970ff352451bc5 + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7523c00bc177d331ad312e09c9015c1c + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ccac61e3183747b3f5836da21a1bc4f4 + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 707b075791878880b44189d3522b8c30 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7132d0c0e4a07593cf12ebb12be7688c + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = effbac1644deb0c784275fe56e19ead3 + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a005063f30f4228b374e2459738f26bb + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29975b5f48bb68fcbbc7cea93b452ed7 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf3f2576e2afedc74bb1ca7eeec1c0e7 + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07c403f5f966e0e3d9f296d6226dca28 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8c20908249ab4a34d6dd0a31327ff1a + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0541329ecb6159ab23b7fc5e6a21bca + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7aa1acf1a2ed9ba72bc6deb31d88b863 + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 808bd8eddabb6f3bf0d5a8a27be1fe8a + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 273c7d7685e14ec66bbb96b8f05b6ddd + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32752eefc8c2a93f91b6e73eb07cca6e + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d893e7d62f6ce502c64f75e281f9c000 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8dfd999be5d0cfa35732c0ddc88ff5a5 + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02647c76a300c3173b841487eb2bae9f + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 172df8b02f04b53adab028b4e01acd87 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 054b3bf4998aeb05afd87ec536533a36 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3783f7bf44c97f065258a666cae03020 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aad4c8a63f80954104de7b92cede1be1 + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cbfe61810fd5467ccdacb75800f3ac07 + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 830d8a2590f7d8e1b55a737f4af45f34 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fffcd4683f858058e74314671d43fa2c + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 523d0babbb82f46ebc9e70b1cd41ddd0 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 344aab37080d7486f7d542a309e53eed + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 56c5609d0906b23ab9caca816f5dbebd + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7026026eedd91adc6d831cdf9894bdc6 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 88330baa4f2b618fc9d9b021bf503d5a + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc9e0ea22480b0bac935c8a8ebefcdcf + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29ca779f398fb04f867da7e8a44756cb + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 51f89c42985786bfc43c6df8ada36832 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6ac1de5fb8f21d874e91c53b560c50e3 + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03aa9058490eda306001a8a9f48d0ca7 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e34ec71d6128d4871865d617c30b37e3 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14be1c535b17cabd0c4d93529d69bf47 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9ef67756507beec9dd3862883478044 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40e231fa5a5948ce2134e92fc0664d4b + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03194b8e5dda5530d0c678c0b48f5d92 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90bd086f237cc4fd99f4d76bde6b4826 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19259761ca17130d6ed86d57cd7951ee + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d7cbb3f34b9b450f24b0e8518e54da6d + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 725b9caebe9f7f417f4068d0d2ee20b3 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d924b934a90ce1fd39b8a9794f82672 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c50562bf094526a91c5bc63c0c224995 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2f11805046743bd74f57188d9188df7 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8dd274bd0f1b58ae345d9e7233f9b8f3 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d6bdc8f4ce5feb0f3bed2e4b9a9bb0b + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd5548bcf3f42565f7efa94562528d46 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2ccaebd3a4c3e80b063748131ba4a71 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e03cb23d9e11c9d93f117e9c0a91b576 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 78f933a2081ac1db84f69d10f4523fe0 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4061f7412ed320de0edc8851c2e2436f + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9064ba1cd04ce6bab98474330814b4d4 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 48391bffb9cfff80ac238c886ef0a461 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8d2a67df5a999fdbf93edd0343296c9 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aaca7367396b69a221bd632bea386eec + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a80fd5020dfe65f5f16293ec92c6fd89 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2162995b8217a67f1abc342e146406f8 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a6164b7a60bae4e986ffac28dfadd9 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64e0d7f900e3d9c83e4b8f96717b2146 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ad2561de8c1232f5d8dbab4739b6cbb + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 279689e9a557f58b1c3bf40c97a90964 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4637e4a5e6377f9cc5a8638045de029 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 492e607e5aea4688594b45f3aee3df90 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e8c4e4381feec74054954c05b777a00a + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 91549514605f38246c9b724ad839f01d + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 74b24e3b6fefe40a4f9ef7ac6e44d76a + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2437a683dc5d4b52abb4a123a8df86c6 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bb2852c891c5947d2ed44032c421b85f + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b9f5fbd5e8a4264c0a85b80409afa5e + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 30dab809f85a917fe924733f424ac589 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eaef5c1f8d605192646695ceadc65f32 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8aa90040b4c15a12316b78e0f9586fc + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97fac8297ceaabc87d454350601e0673 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b47ef567ac28dfe488492f157e2b2e0 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b8426027ddb962b5c5ba7eb8bc9ab63 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e917fc77e71992a12dbe4c18068bec82 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dceebbc98840f8ae6daf76573b7e56f4 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4e11a9f74205125b61e0aee047eca20d + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60467f55a1f17eab88e800120cbc284 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d436649f600b449ee276530f0cd83c11 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3bc0e3656a9e3ac7cd378a737f53b637 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6bacae63d33b928aa8380f8d54d88c17 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8935ffbc75ae6251bf8e859f085adcb9 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93dc4970fe35f67747cb0562c06d875a + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14f9df858975851797ba604fb0d16cc7 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02ea0c98dca10b38c21b3b14e8d1b71f + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f091b1b5b0749b2adc803e63dda9b72 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 05b389e3322c6da08384345a4137fd08 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 381308c438f35b399f10ad71b05027d8 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 68c230fcfa9279c3409fc423e2acbe04 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c84a475acb011f3f59f4f46b76274c0 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 45119b68cb3f8399ee60066b5611a4d7 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9423762f527a4060ffca312dcca22a16 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f361a2745a33f056a5ac6ace2f08e344 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ef145766eca849f5d011536a6557fdb + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9af27b2c89c9b4cf4a0c4106ac80318 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb9c4f16c621f4eab7e9ac1d7551dd57 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 138e06fba466fa70854d8c2e524cffb2 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fb4bc78b225070773f04c40466d4e90c + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b2cbff1ed0150feda8a4799be94551f + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 08b30d7b3f27962709a36bcadfb974bd + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdf6d32e044d77adcf37fb97ac213326 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93cb284ecdcfd781a8afe32077949e88 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b017bb02ec87b2b94c96e40a26fc71a + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c5c038b6990664ab08a3aaa5df9f3266 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b7020be37fab6259b2a27f4ec551576 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60136703374f64e860b48ce31f930716 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d63a269b14d506ccc401ab8a9f1b591 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d317f81dc6aa454aee4bd4a5a5cff4bd + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dddececd5354f04d530d76ed884246eb + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c5205cc8fd8eda9a3cffd2518f365a + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf42fb474293d96eca9db1b37b1ba676 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a231692607169b4ecdead5cd3b10db3e + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ace4b91c9c669e77e7acacd19859ed49 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75db7cfd4a7b2b62ab78a48f3ddaf4af + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c1faba2d46e259cf480d7c38e4572a58 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 241c45bc6ae16dee6eb7bea128701582 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8fd03057cf1364420c2b78069a3e2502 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ddb505e6cc1384cbaec1df90b80beb20 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5674a3bed27bf4bd3622f9f5fe208306 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b687f26a89cfbfbb8e5eeac54055315e + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0547dd32d3b29ab6a4caeb606c5b6f78 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 186861f8bc5386d31fb77f720c3226e6 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eacf1e6c4224efb38900b185ab1dfd42 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d241aab05a42d319de81d874f5c7b90d + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5eb9bc759e2ad8d2140a6c762ae9e1ab + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 018596e15e78e2c064159defce5f3085 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd8a493514231cbf56eccee4c40889fb + +[DECRYPT] + +COUNT = 0 +KEY = 800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de885dc87f5a92594082d02cc1e1b42c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 132b074e80f2a597bf5febd8ea5da55e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6eccedf8de592c22fb81347b79f2db1f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 180b09f267c45145db2f826c2582d35c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = edd807ef7652d7eb0e13c8b5e15b3bc0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9978bcf8dd8fd72241223ad24b31b8a4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5310f654343e8f27e12c83a48d24ff81 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 833f71258d53036b02952c76c744f5a1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eba83ff200cff9318a92f8691a06b09f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff620ccbe9f3292abdf2176b09f04eba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7ababc4b3f516c9aafb35f4140b548f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aa187824d9c4582b0916493ecbde8c57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c0ad553177fd5ea1092c9d626a29dc4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5dc46c37261194124ecaebd680408ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e4f2f2ae23e9b10bacfa58601531ba54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7d67cf1a1e91e8ff3a57a172c7bf412 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26706be06967884e847d137128ce47b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b2f8b409b0585909aad3a7b5a219072a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e4b7bff0290c78344c54a23b722cd20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07093657552d4414227ce161e9ebf7dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e1af1e7d8bc225ed4dffb771ecbb9e67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef6555253635d8432156cfd9c11b145a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb4035074a5d4260c90cbd6da6c3fceb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 446ee416f9ad1c103eb0cc96751c88e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 198ae2a4637ac0a7890a8fd1485445c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 562012ec8faded0825fb2fa70ab30cbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc8a64b46b5d88bf7f247d4dbaf38f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a168253762e2cc81b42d1e5001762699 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b41f83b38ce5032c6cd7af98cf62061 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 61a89990cd1411750d5fb0dc988447d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5accc8ed629edf8c68a539183b1ea82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b16fa71f846b81a13f361c43a851f290 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fad6efdff5975aee7692234bcd54488 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ebfdb05a783d03082dfe5fdd80a00b17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb81b584766997af6ba5529d3bdd8609 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0cf4ff4f49c8a0ca060c443499e29313 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc4ba8a8e029f8b26d8afff9df133bb6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fefebf64360f38e4e63558f0ffc550c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12ad98cbf725137d6a8108c2bed99322 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6afaa996226198b3e2610413ce1b3f78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2a8ce6747a7e39367828e290848502d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 223736e8b8f89ca1e37b6deab40facf1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0f797e50418b95fa6013333917a9480 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a758de37c2ece2a02c73c01fedc9a132 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a9b87ae77bae706803966c66c73adbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d365ab8df8ffd782e358121a4a4fc541 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8dcd9e6f75e6c36c8daee0466f0ed74 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c79a637beb1c0304f14014c037e736dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 105f0a25e84ac930d996281a5f954dd9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42e4074b2927973e8d17ffa92f7fe615 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fe2a9d2c1824449c69e3e0398f12963 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7f29c1e1f62847a15253b28a1e9d712 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36ed5d29b903f31e8983ef8b0a2bf990 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27b8070270810f9d023f9dd7ff3b4aa2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94d46e155c1228f61d1a0db4815ecc4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca6108d1d98071428eeceef1714b96dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc5b25b71b6296cf73dd2cdcac2f70b1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44aba95e8a06a2d9d3530d2677878c80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a570d20e89b467e8f5176061b81dd396 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 758f4467a5d8f1e7307dc30b34e404f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bcea28e9071b5a2302970ff352451bc5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7523c00bc177d331ad312e09c9015c1c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ccac61e3183747b3f5836da21a1bc4f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 707b075791878880b44189d3522b8c30 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7132d0c0e4a07593cf12ebb12be7688c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = effbac1644deb0c784275fe56e19ead3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a005063f30f4228b374e2459738f26bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29975b5f48bb68fcbbc7cea93b452ed7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf3f2576e2afedc74bb1ca7eeec1c0e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07c403f5f966e0e3d9f296d6226dca28 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c8c20908249ab4a34d6dd0a31327ff1a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0541329ecb6159ab23b7fc5e6a21bca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7aa1acf1a2ed9ba72bc6deb31d88b863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 808bd8eddabb6f3bf0d5a8a27be1fe8a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 273c7d7685e14ec66bbb96b8f05b6ddd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32752eefc8c2a93f91b6e73eb07cca6e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d893e7d62f6ce502c64f75e281f9c000 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8dfd999be5d0cfa35732c0ddc88ff5a5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02647c76a300c3173b841487eb2bae9f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 172df8b02f04b53adab028b4e01acd87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 054b3bf4998aeb05afd87ec536533a36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3783f7bf44c97f065258a666cae03020 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aad4c8a63f80954104de7b92cede1be1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cbfe61810fd5467ccdacb75800f3ac07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 830d8a2590f7d8e1b55a737f4af45f34 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fffcd4683f858058e74314671d43fa2c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 523d0babbb82f46ebc9e70b1cd41ddd0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 344aab37080d7486f7d542a309e53eed +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56c5609d0906b23ab9caca816f5dbebd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7026026eedd91adc6d831cdf9894bdc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 88330baa4f2b618fc9d9b021bf503d5a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc9e0ea22480b0bac935c8a8ebefcdcf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 29ca779f398fb04f867da7e8a44756cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 51f89c42985786bfc43c6df8ada36832 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6ac1de5fb8f21d874e91c53b560c50e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03aa9058490eda306001a8a9f48d0ca7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e34ec71d6128d4871865d617c30b37e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14be1c535b17cabd0c4d93529d69bf47 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9ef67756507beec9dd3862883478044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40e231fa5a5948ce2134e92fc0664d4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03194b8e5dda5530d0c678c0b48f5d92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90bd086f237cc4fd99f4d76bde6b4826 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 19259761ca17130d6ed86d57cd7951ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d7cbb3f34b9b450f24b0e8518e54da6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 725b9caebe9f7f417f4068d0d2ee20b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d924b934a90ce1fd39b8a9794f82672 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c50562bf094526a91c5bc63c0c224995 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2f11805046743bd74f57188d9188df7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8dd274bd0f1b58ae345d9e7233f9b8f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9d6bdc8f4ce5feb0f3bed2e4b9a9bb0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd5548bcf3f42565f7efa94562528d46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2ccaebd3a4c3e80b063748131ba4a71 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e03cb23d9e11c9d93f117e9c0a91b576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 78f933a2081ac1db84f69d10f4523fe0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4061f7412ed320de0edc8851c2e2436f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9064ba1cd04ce6bab98474330814b4d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 48391bffb9cfff80ac238c886ef0a461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8d2a67df5a999fdbf93edd0343296c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aaca7367396b69a221bd632bea386eec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a80fd5020dfe65f5f16293ec92c6fd89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2162995b8217a67f1abc342e146406f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6a6164b7a60bae4e986ffac28dfadd9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64e0d7f900e3d9c83e4b8f96717b2146 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ad2561de8c1232f5d8dbab4739b6cbb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 279689e9a557f58b1c3bf40c97a90964 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4637e4a5e6377f9cc5a8638045de029 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 492e607e5aea4688594b45f3aee3df90 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e8c4e4381feec74054954c05b777a00a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 91549514605f38246c9b724ad839f01d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 74b24e3b6fefe40a4f9ef7ac6e44d76a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2437a683dc5d4b52abb4a123a8df86c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bb2852c891c5947d2ed44032c421b85f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b9f5fbd5e8a4264c0a85b80409afa5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30dab809f85a917fe924733f424ac589 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eaef5c1f8d605192646695ceadc65f32 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8aa90040b4c15a12316b78e0f9586fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97fac8297ceaabc87d454350601e0673 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9b47ef567ac28dfe488492f157e2b2e0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b8426027ddb962b5c5ba7eb8bc9ab63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e917fc77e71992a12dbe4c18068bec82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dceebbc98840f8ae6daf76573b7e56f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e11a9f74205125b61e0aee047eca20d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f60467f55a1f17eab88e800120cbc284 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d436649f600b449ee276530f0cd83c11 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3bc0e3656a9e3ac7cd378a737f53b637 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6bacae63d33b928aa8380f8d54d88c17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8935ffbc75ae6251bf8e859f085adcb9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93dc4970fe35f67747cb0562c06d875a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14f9df858975851797ba604fb0d16cc7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02ea0c98dca10b38c21b3b14e8d1b71f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f091b1b5b0749b2adc803e63dda9b72 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 05b389e3322c6da08384345a4137fd08 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 381308c438f35b399f10ad71b05027d8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 68c230fcfa9279c3409fc423e2acbe04 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c84a475acb011f3f59f4f46b76274c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45119b68cb3f8399ee60066b5611a4d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9423762f527a4060ffca312dcca22a16 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f361a2745a33f056a5ac6ace2f08e344 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5ef145766eca849f5d011536a6557fdb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9af27b2c89c9b4cf4a0c4106ac80318 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb9c4f16c621f4eab7e9ac1d7551dd57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 138e06fba466fa70854d8c2e524cffb2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fb4bc78b225070773f04c40466d4e90c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b2cbff1ed0150feda8a4799be94551f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 08b30d7b3f27962709a36bcadfb974bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdf6d32e044d77adcf37fb97ac213326 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93cb284ecdcfd781a8afe32077949e88 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b017bb02ec87b2b94c96e40a26fc71a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c5c038b6990664ab08a3aaa5df9f3266 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b7020be37fab6259b2a27f4ec551576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60136703374f64e860b48ce31f930716 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d63a269b14d506ccc401ab8a9f1b591 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d317f81dc6aa454aee4bd4a5a5cff4bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dddececd5354f04d530d76ed884246eb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41c5205cc8fd8eda9a3cffd2518f365a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf42fb474293d96eca9db1b37b1ba676 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a231692607169b4ecdead5cd3b10db3e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ace4b91c9c669e77e7acacd19859ed49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75db7cfd4a7b2b62ab78a48f3ddaf4af +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c1faba2d46e259cf480d7c38e4572a58 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 241c45bc6ae16dee6eb7bea128701582 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8fd03057cf1364420c2b78069a3e2502 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ddb505e6cc1384cbaec1df90b80beb20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5674a3bed27bf4bd3622f9f5fe208306 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b687f26a89cfbfbb8e5eeac54055315e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0547dd32d3b29ab6a4caeb606c5b6f78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 186861f8bc5386d31fb77f720c3226e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eacf1e6c4224efb38900b185ab1dfd42 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d241aab05a42d319de81d874f5c7b90d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5eb9bc759e2ad8d2140a6c762ae9e1ab +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 018596e15e78e2c064159defce5f3085 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd8a493514231cbf56eccee4c40889fb +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey256.rsp new file mode 100644 index 000000000..a98e166d6 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarKey256.rsp @@ -0,0 +1,3083 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for OFB +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:12:03 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e35a6dcb19b201a01ebcfa8aa22b5759 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b29169cdcf2d83e838125a12ee6aa400 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8f3a72fc3cdf74dfaf6c3e6b97b2fa6 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c777679d50037c79491a94da76a9a35 + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cf4893ecafa0a0247a898e040691559 + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8fbb413703735326310a269bd3aa94b2 + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60e32246bed2b0e859e55c1cc6b26502 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec52a212f80a09df6317021bc2a9819e + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f23e5b600eb70dbccf6c0b1d9a68182c + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a3f599d63a82a968c33fe26590745970 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1ccb9b1337002cbac42c520b5d67722 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc111f6c37cf40a1159d00fb59fb0488 + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc43b51ab609052372989a26e9cdd714 + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4dcede8da9e2578f39703d4433dc6459 + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1a4c1c263bbccfafc11782894685e3a8 + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 937ad84880db50613423d6d527a2823d + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 610b71dfc688e150d8152c5b35ebc14d + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27ef2495dabf323885aab39c80f18d8b + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 633cafea395bc03adae3a1e2068e4b4e + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e1b482b53761cf631819b749a6f3724 + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 976e6f851ab52c771998dbb2d71c75a9 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 85f2ba84f8c307cf525e124c3e22e6cc + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6bcca98bf6a835fa64955f72de4115fe + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2c75e2d36eebd65411f14fd0eb1d2a06 + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bd49295006250ffca5100b6007a0eade + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a190527d0ef7c70f459cd3940df316ec + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bbd1097a62433f79449fa97d4ee80dbf + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 07058e408f5b99b0e0f061a1761b5b3b + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5fd1f13fa0f31e37fabde328f894eac2 + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc4af7c948df26e2ef3e01c1ee5b8f6f + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829fd7208fb92d44a074a677ee9861ac + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ad9fc613a703251b54c64a0e76431711 + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33ac9eccc4cc75e2711618f80b1548e8 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2025c74b8ad8f4cda17ee2049c4c902d + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f85ca05fe528f1ce9b790166e8d551e7 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6f6238d8966048d4967154e0dad5a6c9 + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2b21b4e7640a9b3346de8b82fb41e49 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f836f251ad1d11d49dc344628b1884e1 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 077e9470ae7abea5a9769d49182628c3 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0dcc2d27fc9865633f85223cf0d611f + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = be66cfea2fecd6bf0ec7b4352c99bcaa + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df31144f87a2ef523facdcf21a427804 + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5bb0f5629fb6aae5e1839a3c3625d63 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3c9db3335306fe1ec612bdbfae6b6028 + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3dd5c34634a79d3cfcc8339760e6f5f4 + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82bda118a3ed7af314fa2ccc5c07b761 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2937a64f7d4f46fe6fea3b349ec78e38 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 225f068c28476605735ad671bb8f39f3 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ae682c5ecd71898e08942ac9aa89875c + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5e031cb9d676c3022d7f26227e85c38f + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a78463fb064db5d52bb64bfef64f2dda + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8aa9b75e784593876c53a00eae5af52b + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f84566df23da48af692722fe980573a + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 31690b5ed41c7eb42a1e83270a7ff0e6 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77dd7702646d55f08365e477d3590eda + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4c022ac62b3cb78d739cc67b3e20bb7e + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 092fa137ce18b5dfe7906f550bb13370 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e0cdadf2e68353c0027672c97144dd3 + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8c4b200b383fc1f2b2ea677618a1d27 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11825f99b0e9bb3477c1c0713b015aac + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f8b9fffb5c187f7ddc7ab10f4fb77576 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ffb4e87a32b37d6f2c8328d3b5377802 + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d276c13a5d220f4da9224e74896391ce + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 94efe7a0e2e031e2536da01df799c927 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f8fd822680a85974e53a5a8eb9d38de + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0f0a91b2e45f8cc37b7805a3042588d + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 597a6252255e46d6364dbeeda31e279c + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f51a0f694442b8f05571797fec7ee8bf + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ff071b165b5198a93dddeebc54d09b5 + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c20a19fd5758b0c4bc1a5df89cf73877 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97120166307119ca2280e9315668e96f + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b3b9f1e099c2a09dc091e90e4f18f0a + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb040b891d4b37f6851f7ec219cd3f6d + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9f0fdec08b7fd79aa39535bea42db92a + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e70f168fc74bf911df240bcd2cef236 + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 462ccd7f5fd1108dbc152f3cacad328b + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a4af534a7d0b643a01868785d86dfb95 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab980296197e1a5022326c31da4bf6f3 + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f97d57b3333b6281b07d486db2d4e20c + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f33fa36720231afe4c759ade6bd62eb6 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdcfac0c02ca538343c68117e0a15938 + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ad4916f5ee5772be764fc027b8a6e539 + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e16873e1678610d7e14c02d002ea845 + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4e6e627c1acc51340053a8236d579576 + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab0c8410aeeead92feec1eb430d652cb + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e86f7e23e835e114977f60e1a592202e + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e68ad5055a367041fade09d9a70a794b + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0791823a3c666bb6162825e78606a7fe + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dcca366a9bf47b7b868b77e25c18a364 + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 684c9efc237e4a442965f84bce20247a + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a858411ffbe63fdb9c8aa1bfaed67b52 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04bc3da2179c3015498b0e03910db5b8 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40071eeab3f935dbc25d00841460260f + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0ebd7c30ed2016e08ba806ddb008bcc8 + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 15c6becf0f4cec7129cbd22d1a79b1b8 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0aeede5b91f721700e9e62edbf60b781 + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 266581af0dcfbed1585e0a242c64b8df + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6693dc911662ae473216ba22189a511a + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7606fa36d86473e6fb3a1bb0e2c0adf5 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 112078e9e11fbb78e26ffb8899e96b9a + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40b264e921e9e4a82694589ef3798262 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d4595cb4fa7026715f55bd68e2882f9 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b588a302bdbc09197df1edae68926ed9 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33f7502390b8a4a221cfecd0666624ba + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3d20253adbce3be2373767c4d822c566 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a42734a3929bf84cf0116c9856a3c18c + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e3abc4939457422bb957da3c56938c6d + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 972bdd2e7c525130fadc8f76fc6f4b3f + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84a83d7b94c699cbcb8a7d9b61f64093 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ce61d63514aded03d43e6ebfc3a9001f + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c839dd58eeae6b8a36af48ed63d2dc9 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cd5ece55b8da3bf622c4100df5de46f9 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b6f46f40e0ac5fc0a9c1105f800f48d + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba26d47da3aeb028de4fb5b3a854a24b + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 87f53bf620d3677268445212904389d5 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10617d28b5e0f4605492b182a5d7f9f6 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9aaec4fabbf6fae2a71feff02e372b39 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a90c62d88b5c42809abf782488ed130 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f1f1c5a40899e15772857ccb65c7a09a + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 190843d29b25a3897c692ce1dd81ee52 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a866bc65b6941d86e8420a7ffb0964db + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8193c6ff85225ced4255e92f6e078a14 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9661cb2424d7d4a380d547f9e7ec1cb9 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 86f93d9ec08453a071e2e2877877a9c8 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27eefa80ce6a4a9d598e3fec365434d2 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d62068444578e3ab39ce7ec95dd045dc + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f71d4dd9a71fe5d8bc8ba7e6ea3048 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6825a347ac479d4f9d95c5cb8d3fd7e9 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e3714e94a5778955cc0346358e94783a + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d836b44bb29e0c7d89fa4b2d4b677d2a + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d454b75021d76d4b84f873a8f877b92 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3498f7eced2095314fc28115885b33f + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e668856539ad8e405bd123fe6c88530 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8680db7f3a87b8605543cfdbe6754076 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c5d03b13069c3658b3179be91b0800c + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1b384ac4d93eda00c92add0995ea5f + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bf8115805471741bd5ad20a03944790f + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c64c24b6894b038b3c0d09b1df068b0b + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3967a10cffe27d0178545fbf6a40544b + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7c85e9c95de1a9ec5a5363a8a053472d + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a9eec03c8abec7ba68315c2c8c2316e0 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cac8e414c2f388227ae14986fc983524 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d942b7f4622ce056c3ce3ce5f1dd9d6 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d240d648ce21a3020282c3f1b528a0b6 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 45d089c36d5c5a4efc689e3b0de10dd5 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4da5df4becb5462e03a0ed00d295629 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dcf4e129136c1a4b7a0f38935cc34b2b + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9a4c7618b0ce48a3d5aee1a1c0114c4 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca352df025c65c7b0bf306fbee0f36ba + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 238aca23fd3409f38af63378ed2f5473 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 59836a0e06a79691b36667d5380d8188 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33905080f7acf1cdae0a91fc3e85aee4 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72c9e4646dbc3d6320fc6689d93e8833 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba77413dea5925b7f5417ea47ff19f59 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6cae8129f843d86dc786a0fb1a184970 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fcfefb534100796eebbd990206754e19 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8c791d5fdddf470da04f3e6dc4a5b5b5 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c93bbdc07a4611ae4bb266ea5034a387 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c102e38e489aa74762f3efc5bb23205a + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93201481665cbafc1fcc220bc545fb3d + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4960757ec6ce68cf195e454cfd0f32ca + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = feec7ce6a6cbd07c043416737f1bbb33 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11c5413904487a805d70a8edd9c35527 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 347846b2b2e36f1f0324c86f7f1b98e2 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 332eee1a0cbd19ca2d69b426894044f0 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 866b5b3977ba6efa5128efbda9ff03cd + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc1445ee94c0f08cdee5c344ecd1e233 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = be288319029363c2622feba4b05dfdfe + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cfd1875523f3cd21c395651e6ee15e56 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb5a408657837c53bf16f9d8465dce19 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca0bf42cb107f55ccff2fc09ee08ca15 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fdd9bbb4a7dc2e4a23536a5880a2db67 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ede447b362c484993dec9442a3b46aef + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10dffb05904bff7c4781df780ad26837 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c33bc13e8de88ac25232aa7496398783 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca359c70803a3b2a3d542e8781dea975 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bcc65b526f88d05b89ce8a52021fdb06 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db91a38855c8c4643851fbfb358b0109 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ca6e8893a114ae8e27d5ab03a5499610 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6629d2b8df97da728cdd8b1e7f945077 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4570a5a18cfc0dd582f1d88d5c9a1720 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72bc65aa8e89562e3f274d45af1cd10b + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 98551da1a6503276ae1c77625f9ea615 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0ddfe51ced7e3f4ae927daa3fe452cee + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db826251e4ce384b80218b0e1da1dd4c + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cacf728b88abbad7011ed0e64a1680c + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 330d8ee7c5677e099ac74c9994ee4cfb + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = edf61ae362e882ddc0167474a7a77f3a + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6168b00ba7859e0970ecfd757efecf7c + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1415447866230d28bb1ea18a4cdfd02 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 516183392f7a8763afec68a060264141 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77565c8d73cfd4130b4aa14d8911710f + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 37232a4ed21ccc27c19c9610078cabac + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 804f32ea71828c7d329077e712231666 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d64424f23cb97215e9c2c6f28d29eab7 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 023e82b533f68c75c238cebdb2ee89a2 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 193a3d24157a51f1ee0893f6777417e7 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84ecacfcd400084d078612b1945f2ef5 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dcd8bb173259eb33a5242b0de31a455 + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35e9eddbc375e792c19992c19165012b + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8a772231c01dfdd7c98e4cfddcc0807a + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6eda7ff6b8319180ff0d6e65629d01c3 + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c267ef0e2d01a993944dd397101413cb + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e9f80e9d845bcc0f62926af72eabca39 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6702990727aa0878637b45dcd3a3b074 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e2e647d5360e09230a5d738ca33471e + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f56413c7add6f43d1d56e4f02190330 + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 69cd0606e15af729d6bca143016d9842 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a085d7c1a500873a20099c4caa3c3f5b + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fc0d230f8891415b87b83f95f2e09d1 + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4327d08c523d8eba697a4336507d1f42 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a15aab82701efa5ae36ab1d6b76290f + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5bf0051893a18bb30e139a58fed0fa54 + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97e8adf65638fd9cdf3bc22c17fe4dbd + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ee6ee326583a0586491c96418d1a35d + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26b549c2ec756f82ecc48008e529956b + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70377b6da669b072129e057cc28e9ca5 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c94b8b0cb8bcc919072262b3fa05ad9 + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fbb83dfd0d7abcb05cd28cad2dfb523 + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96877803de77744bb970d0a91f4debae + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7379f3370cf6e5ce12ae5969c8eea312 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02dc99fa3d4f98ce80985e7233889313 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1e38e759075ba5cab6457da51844295a + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70bed8dbf615868a1f9d9b05d3e7a267 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 234b148b8cb1d8c32b287e896903d150 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 294b033df4da853f4be3e243f7e513f4 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f58c950f0367160adec45f2441e7411 + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 37f655536a704e5ace182d742a820cf4 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea7bd6bb63418731aeac790fe42d61e8 + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e74a4c999b4c064e48bb1e413f51e5ea + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba9ebefdb4ccf30f296cecb3bc1943e8 + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3194367a4898c502c13bb7478640a72d + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = da797713263d6f33a5478a65ef60d412 + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1ac39bb1ef86b9c1344f214679aa376 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fdea9e650532be5bc0e7325337fd363 + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d3a204dbd9c2af158b6ca67a5156ce4a + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0a0e75a8da36735aee6684d965a778 + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 52fc3e620492ea99641ea168da5b6d52 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2e0c7f15b4772467d2cfc873000b2ca + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 563531135e0c4d70a38f8bdb190ba04e + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a8a39a0f5663f4c0fe5f2d3cafff421a + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d94b5e90db354c1e42f61fabe167b2c0 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 50e6d3c9b6698a7cd276f96b1473f35a + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9338f08e0ebee96905d8f2e825208f43 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b378c86672aa54a3a266ba19d2580ca + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cca7c3086f5f9511b31233da7cab9160 + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5b40ff4ec9be536ba23035fa4f06064c + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 60eb5af8416b257149372194e8b88749 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2f005a8aed8a361c92e440c15520cbd1 + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b03627611678a997717578807a800e2 + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf78618f74f6f3696e0a4779b90b5a77 + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 03720371a04962eaea0a852e69972858 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f8a8133aa8ccf70e2bd3285831ca6b7 + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27936bd27fb1468fc8b48bc483321725 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b07d4f3e2cd2ef2eb545980754dfea0f + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bf85f1b5d54adbc307b0a048389adcb + +[DECRYPT] + +COUNT = 0 +KEY = 8000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e35a6dcb19b201a01ebcfa8aa22b5759 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b29169cdcf2d83e838125a12ee6aa400 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8f3a72fc3cdf74dfaf6c3e6b97b2fa6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c777679d50037c79491a94da76a9a35 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f800000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9cf4893ecafa0a0247a898e040691559 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8fbb413703735326310a269bd3aa94b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60e32246bed2b0e859e55c1cc6b26502 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff00000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec52a212f80a09df6317021bc2a9819e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff80000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f23e5b600eb70dbccf6c0b1d9a68182c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a3f599d63a82a968c33fe26590745970 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1ccb9b1337002cbac42c520b5d67722 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff0000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc111f6c37cf40a1159d00fb59fb0488 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff8000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc43b51ab609052372989a26e9cdd714 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4dcede8da9e2578f39703d4433dc6459 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1a4c1c263bbccfafc11782894685e3a8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 937ad84880db50613423d6d527a2823d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff800000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 610b71dfc688e150d8152c5b35ebc14d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27ef2495dabf323885aab39c80f18d8b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 633cafea395bc03adae3a1e2068e4b4e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff00000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e1b482b53761cf631819b749a6f3724 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff80000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 976e6f851ab52c771998dbb2d71c75a9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 85f2ba84f8c307cf525e124c3e22e6cc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6bcca98bf6a835fa64955f72de4115fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff0000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c75e2d36eebd65411f14fd0eb1d2a06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff8000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bd49295006250ffca5100b6007a0eade +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a190527d0ef7c70f459cd3940df316ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bbd1097a62433f79449fa97d4ee80dbf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 07058e408f5b99b0e0f061a1761b5b3b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff800000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5fd1f13fa0f31e37fabde328f894eac2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fc4af7c948df26e2ef3e01c1ee5b8f6f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 829fd7208fb92d44a074a677ee9861ac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff00000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad9fc613a703251b54c64a0e76431711 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff80000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33ac9eccc4cc75e2711618f80b1548e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2025c74b8ad8f4cda17ee2049c4c902d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f85ca05fe528f1ce9b790166e8d551e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff0000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6f6238d8966048d4967154e0dad5a6c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff8000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2b21b4e7640a9b3346de8b82fb41e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f836f251ad1d11d49dc344628b1884e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 077e9470ae7abea5a9769d49182628c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0dcc2d27fc9865633f85223cf0d611f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff800000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be66cfea2fecd6bf0ec7b4352c99bcaa +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df31144f87a2ef523facdcf21a427804 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5bb0f5629fb6aae5e1839a3c3625d63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff00000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3c9db3335306fe1ec612bdbfae6b6028 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff80000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3dd5c34634a79d3cfcc8339760e6f5f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82bda118a3ed7af314fa2ccc5c07b761 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2937a64f7d4f46fe6fea3b349ec78e38 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff0000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 225f068c28476605735ad671bb8f39f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff8000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ae682c5ecd71898e08942ac9aa89875c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5e031cb9d676c3022d7f26227e85c38f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a78463fb064db5d52bb64bfef64f2dda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8aa9b75e784593876c53a00eae5af52b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff800000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f84566df23da48af692722fe980573a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 31690b5ed41c7eb42a1e83270a7ff0e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77dd7702646d55f08365e477d3590eda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff00000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4c022ac62b3cb78d739cc67b3e20bb7e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff80000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 092fa137ce18b5dfe7906f550bb13370 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e0cdadf2e68353c0027672c97144dd3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8c4b200b383fc1f2b2ea677618a1d27 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff0000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11825f99b0e9bb3477c1c0713b015aac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff8000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8b9fffb5c187f7ddc7ab10f4fb77576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ffb4e87a32b37d6f2c8328d3b5377802 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d276c13a5d220f4da9224e74896391ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 94efe7a0e2e031e2536da01df799c927 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff800000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8f8fd822680a85974e53a5a8eb9d38de +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e0f0a91b2e45f8cc37b7805a3042588d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 597a6252255e46d6364dbeeda31e279c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff00000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f51a0f694442b8f05571797fec7ee8bf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff80000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ff071b165b5198a93dddeebc54d09b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c20a19fd5758b0c4bc1a5df89cf73877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97120166307119ca2280e9315668e96f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff0000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b3b9f1e099c2a09dc091e90e4f18f0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff8000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eb040b891d4b37f6851f7ec219cd3f6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9f0fdec08b7fd79aa39535bea42db92a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e70f168fc74bf911df240bcd2cef236 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 462ccd7f5fd1108dbc152f3cacad328b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff800000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4af534a7d0b643a01868785d86dfb95 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab980296197e1a5022326c31da4bf6f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f97d57b3333b6281b07d486db2d4e20c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff00000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f33fa36720231afe4c759ade6bd62eb6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff80000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdcfac0c02ca538343c68117e0a15938 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ad4916f5ee5772be764fc027b8a6e539 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e16873e1678610d7e14c02d002ea845 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff0000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4e6e627c1acc51340053a8236d579576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff8000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab0c8410aeeead92feec1eb430d652cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e86f7e23e835e114977f60e1a592202e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e68ad5055a367041fade09d9a70a794b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0791823a3c666bb6162825e78606a7fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff800000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dcca366a9bf47b7b868b77e25c18a364 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 684c9efc237e4a442965f84bce20247a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a858411ffbe63fdb9c8aa1bfaed67b52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff00000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04bc3da2179c3015498b0e03910db5b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff80000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40071eeab3f935dbc25d00841460260f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0ebd7c30ed2016e08ba806ddb008bcc8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 15c6becf0f4cec7129cbd22d1a79b1b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff0000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0aeede5b91f721700e9e62edbf60b781 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff8000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 266581af0dcfbed1585e0a242c64b8df +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6693dc911662ae473216ba22189a511a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7606fa36d86473e6fb3a1bb0e2c0adf5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 112078e9e11fbb78e26ffb8899e96b9a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff800000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 40b264e921e9e4a82694589ef3798262 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8d4595cb4fa7026715f55bd68e2882f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b588a302bdbc09197df1edae68926ed9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff00000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33f7502390b8a4a221cfecd0666624ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff80000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3d20253adbce3be2373767c4d822c566 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a42734a3929bf84cf0116c9856a3c18c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3abc4939457422bb957da3c56938c6d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff0000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 972bdd2e7c525130fadc8f76fc6f4b3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff8000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84a83d7b94c699cbcb8a7d9b61f64093 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ce61d63514aded03d43e6ebfc3a9001f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c839dd58eeae6b8a36af48ed63d2dc9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cd5ece55b8da3bf622c4100df5de46f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff800000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b6f46f40e0ac5fc0a9c1105f800f48d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba26d47da3aeb028de4fb5b3a854a24b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 87f53bf620d3677268445212904389d5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff00000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10617d28b5e0f4605492b182a5d7f9f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff80000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9aaec4fabbf6fae2a71feff02e372b39 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a90c62d88b5c42809abf782488ed130 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f1f1c5a40899e15772857ccb65c7a09a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff0000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 190843d29b25a3897c692ce1dd81ee52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff8000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a866bc65b6941d86e8420a7ffb0964db +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8193c6ff85225ced4255e92f6e078a14 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9661cb2424d7d4a380d547f9e7ec1cb9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 86f93d9ec08453a071e2e2877877a9c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff800000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27eefa80ce6a4a9d598e3fec365434d2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d62068444578e3ab39ce7ec95dd045dc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5f71d4dd9a71fe5d8bc8ba7e6ea3048 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6825a347ac479d4f9d95c5cb8d3fd7e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 128 +KEY = ffffffffffffffffffffffffffffffff80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e3714e94a5778955cc0346358e94783a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 129 +KEY = ffffffffffffffffffffffffffffffffc0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d836b44bb29e0c7d89fa4b2d4b677d2a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 130 +KEY = ffffffffffffffffffffffffffffffffe0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d454b75021d76d4b84f873a8f877b92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 131 +KEY = fffffffffffffffffffffffffffffffff0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3498f7eced2095314fc28115885b33f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 132 +KEY = fffffffffffffffffffffffffffffffff8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e668856539ad8e405bd123fe6c88530 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 133 +KEY = fffffffffffffffffffffffffffffffffc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8680db7f3a87b8605543cfdbe6754076 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 134 +KEY = fffffffffffffffffffffffffffffffffe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c5d03b13069c3658b3179be91b0800c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 135 +KEY = ffffffffffffffffffffffffffffffffff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef1b384ac4d93eda00c92add0995ea5f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 136 +KEY = ffffffffffffffffffffffffffffffffff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bf8115805471741bd5ad20a03944790f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 137 +KEY = ffffffffffffffffffffffffffffffffffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c64c24b6894b038b3c0d09b1df068b0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 138 +KEY = ffffffffffffffffffffffffffffffffffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3967a10cffe27d0178545fbf6a40544b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 139 +KEY = fffffffffffffffffffffffffffffffffff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7c85e9c95de1a9ec5a5363a8a053472d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 140 +KEY = fffffffffffffffffffffffffffffffffff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a9eec03c8abec7ba68315c2c8c2316e0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 141 +KEY = fffffffffffffffffffffffffffffffffffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cac8e414c2f388227ae14986fc983524 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 142 +KEY = fffffffffffffffffffffffffffffffffffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d942b7f4622ce056c3ce3ce5f1dd9d6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 143 +KEY = ffffffffffffffffffffffffffffffffffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d240d648ce21a3020282c3f1b528a0b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 144 +KEY = ffffffffffffffffffffffffffffffffffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 45d089c36d5c5a4efc689e3b0de10dd5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 145 +KEY = ffffffffffffffffffffffffffffffffffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4da5df4becb5462e03a0ed00d295629 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 146 +KEY = ffffffffffffffffffffffffffffffffffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dcf4e129136c1a4b7a0f38935cc34b2b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 147 +KEY = fffffffffffffffffffffffffffffffffffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9a4c7618b0ce48a3d5aee1a1c0114c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 148 +KEY = fffffffffffffffffffffffffffffffffffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca352df025c65c7b0bf306fbee0f36ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 149 +KEY = fffffffffffffffffffffffffffffffffffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 238aca23fd3409f38af63378ed2f5473 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 150 +KEY = fffffffffffffffffffffffffffffffffffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 59836a0e06a79691b36667d5380d8188 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 151 +KEY = ffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 33905080f7acf1cdae0a91fc3e85aee4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 152 +KEY = ffffffffffffffffffffffffffffffffffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72c9e4646dbc3d6320fc6689d93e8833 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 153 +KEY = ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba77413dea5925b7f5417ea47ff19f59 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 154 +KEY = ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6cae8129f843d86dc786a0fb1a184970 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 155 +KEY = fffffffffffffffffffffffffffffffffffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fcfefb534100796eebbd990206754e19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 156 +KEY = fffffffffffffffffffffffffffffffffffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8c791d5fdddf470da04f3e6dc4a5b5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 157 +KEY = fffffffffffffffffffffffffffffffffffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c93bbdc07a4611ae4bb266ea5034a387 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 158 +KEY = fffffffffffffffffffffffffffffffffffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c102e38e489aa74762f3efc5bb23205a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 159 +KEY = ffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 93201481665cbafc1fcc220bc545fb3d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 160 +KEY = ffffffffffffffffffffffffffffffffffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4960757ec6ce68cf195e454cfd0f32ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 161 +KEY = ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = feec7ce6a6cbd07c043416737f1bbb33 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 162 +KEY = ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11c5413904487a805d70a8edd9c35527 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 163 +KEY = fffffffffffffffffffffffffffffffffffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 347846b2b2e36f1f0324c86f7f1b98e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 164 +KEY = fffffffffffffffffffffffffffffffffffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 332eee1a0cbd19ca2d69b426894044f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 165 +KEY = fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 866b5b3977ba6efa5128efbda9ff03cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 166 +KEY = fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cc1445ee94c0f08cdee5c344ecd1e233 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 167 +KEY = ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = be288319029363c2622feba4b05dfdfe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 168 +KEY = ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cfd1875523f3cd21c395651e6ee15e56 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 169 +KEY = ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb5a408657837c53bf16f9d8465dce19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 170 +KEY = ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca0bf42cb107f55ccff2fc09ee08ca15 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 171 +KEY = fffffffffffffffffffffffffffffffffffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fdd9bbb4a7dc2e4a23536a5880a2db67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 172 +KEY = fffffffffffffffffffffffffffffffffffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ede447b362c484993dec9442a3b46aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 173 +KEY = fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10dffb05904bff7c4781df780ad26837 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 174 +KEY = fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c33bc13e8de88ac25232aa7496398783 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 175 +KEY = ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca359c70803a3b2a3d542e8781dea975 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 176 +KEY = ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = bcc65b526f88d05b89ce8a52021fdb06 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 177 +KEY = ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db91a38855c8c4643851fbfb358b0109 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 178 +KEY = ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ca6e8893a114ae8e27d5ab03a5499610 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 179 +KEY = fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6629d2b8df97da728cdd8b1e7f945077 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 180 +KEY = fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4570a5a18cfc0dd582f1d88d5c9a1720 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 181 +KEY = fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72bc65aa8e89562e3f274d45af1cd10b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 182 +KEY = fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 98551da1a6503276ae1c77625f9ea615 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 183 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0ddfe51ced7e3f4ae927daa3fe452cee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 184 +KEY = ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db826251e4ce384b80218b0e1da1dd4c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 185 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2cacf728b88abbad7011ed0e64a1680c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 186 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 330d8ee7c5677e099ac74c9994ee4cfb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 187 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = edf61ae362e882ddc0167474a7a77f3a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 188 +KEY = fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6168b00ba7859e0970ecfd757efecf7c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 189 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1415447866230d28bb1ea18a4cdfd02 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 190 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 516183392f7a8763afec68a060264141 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 191 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77565c8d73cfd4130b4aa14d8911710f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 192 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37232a4ed21ccc27c19c9610078cabac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 193 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 804f32ea71828c7d329077e712231666 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 194 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d64424f23cb97215e9c2c6f28d29eab7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 195 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 023e82b533f68c75c238cebdb2ee89a2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 196 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 193a3d24157a51f1ee0893f6777417e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 197 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84ecacfcd400084d078612b1945f2ef5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 198 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1dcd8bb173259eb33a5242b0de31a455 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 199 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35e9eddbc375e792c19992c19165012b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 200 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8a772231c01dfdd7c98e4cfddcc0807a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 201 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6eda7ff6b8319180ff0d6e65629d01c3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 202 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c267ef0e2d01a993944dd397101413cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 203 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9f80e9d845bcc0f62926af72eabca39 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 204 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6702990727aa0878637b45dcd3a3b074 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 205 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e2e647d5360e09230a5d738ca33471e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 206 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f56413c7add6f43d1d56e4f02190330 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 207 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 69cd0606e15af729d6bca143016d9842 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 208 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a085d7c1a500873a20099c4caa3c3f5b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 209 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fc0d230f8891415b87b83f95f2e09d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 210 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4327d08c523d8eba697a4336507d1f42 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 211 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a15aab82701efa5ae36ab1d6b76290f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 212 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5bf0051893a18bb30e139a58fed0fa54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 213 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97e8adf65638fd9cdf3bc22c17fe4dbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 214 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ee6ee326583a0586491c96418d1a35d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 215 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26b549c2ec756f82ecc48008e529956b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 216 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70377b6da669b072129e057cc28e9ca5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 217 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c94b8b0cb8bcc919072262b3fa05ad9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 218 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2fbb83dfd0d7abcb05cd28cad2dfb523 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 219 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96877803de77744bb970d0a91f4debae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 220 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7379f3370cf6e5ce12ae5969c8eea312 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 221 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02dc99fa3d4f98ce80985e7233889313 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 222 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1e38e759075ba5cab6457da51844295a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 223 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70bed8dbf615868a1f9d9b05d3e7a267 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 224 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 234b148b8cb1d8c32b287e896903d150 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 225 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 294b033df4da853f4be3e243f7e513f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 226 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f58c950f0367160adec45f2441e7411 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 227 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 37f655536a704e5ace182d742a820cf4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 228 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea7bd6bb63418731aeac790fe42d61e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 229 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e74a4c999b4c064e48bb1e413f51e5ea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 230 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba9ebefdb4ccf30f296cecb3bc1943e8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 231 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3194367a4898c502c13bb7478640a72d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 232 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = da797713263d6f33a5478a65ef60d412 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 233 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1ac39bb1ef86b9c1344f214679aa376 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 234 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2fdea9e650532be5bc0e7325337fd363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 235 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d3a204dbd9c2af158b6ca67a5156ce4a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 236 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a0a0e75a8da36735aee6684d965a778 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 237 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 52fc3e620492ea99641ea168da5b6d52 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 238 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2e0c7f15b4772467d2cfc873000b2ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 239 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 563531135e0c4d70a38f8bdb190ba04e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 240 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a8a39a0f5663f4c0fe5f2d3cafff421a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 241 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d94b5e90db354c1e42f61fabe167b2c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 242 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 50e6d3c9b6698a7cd276f96b1473f35a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 243 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9338f08e0ebee96905d8f2e825208f43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 244 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b378c86672aa54a3a266ba19d2580ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 245 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cca7c3086f5f9511b31233da7cab9160 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 246 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5b40ff4ec9be536ba23035fa4f06064c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 247 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 60eb5af8416b257149372194e8b88749 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 248 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2f005a8aed8a361c92e440c15520cbd1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 249 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b03627611678a997717578807a800e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 250 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cf78618f74f6f3696e0a4779b90b5a77 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 251 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 03720371a04962eaea0a852e69972858 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 252 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1f8a8133aa8ccf70e2bd3285831ca6b7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 253 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 27936bd27fb1468fc8b48bc483321725 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 254 +KEY = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = b07d4f3e2cd2ef2eb545980754dfea0f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 255 +KEY = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bf85f1b5d54adbc307b0a048389adcb +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt128.rsp new file mode 100644 index 000000000..6edb9a746 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for OFB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:59 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt192.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt192.rsp new file mode 100644 index 000000000..f98e0372b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt192.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for OFB +# State : Encrypt and Decrypt +# Key Length : 192 +# Generated on Fri Apr 22 15:12:01 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6cd02513e8d4dc986b4afe087a60bd0c + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2ce1f8b7e30627c1c4519eada44bc436 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9946b5f87af446f5796c1fee63a2da24 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2a560364ce529efc21788779568d5555 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35c1471837af446153bce55d5ba72a0a + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ce60bc52386234f158f84341e534cd9e + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8c7c27ff32bcf8dc2dc57c90c2903961 + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32bb6a7ec84499e166f936003d55a5bb + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a5c772e5c62631ef660ee1d5877f6d1b + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 030d7e5b64f380a7e4ea5387b5cd7f49 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0dc9a2610037009b698f11bb7e86c83e + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0046612c766d1840c226364f1fa7ed72 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4880c7e08f27befe78590743c05e698b + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2520ce829a26577f0f4822c4ecc87401 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8765e8acc169758319cb46dc7bcf3dca + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e98f4ba4f073df4baa116d011dc24a28 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f378f68c5dbf59e211b3a659a7317d94 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 283d3b069d8eb9fb432d74b96ca762b4 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a7e1842e8a87861c221a500883245c51 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77aa270471881be070fb52c7067ce732 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 01b0f476d484f43f1aeb6efa9361a8ac + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1c3a94f1c052c55c2d8359aff2163b4f + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e8a067b604d5373d8b0f2e05a03b341b + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a7876ec87f5a09bfea42c77da30fd50e + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0cf3e9d3a42be5b854ca65b13f35f48d + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c62f6bbcab7c3e821c9290f08892dda + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f5e05bd2068738196fee79ace7e3aec + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 440e0d733255cda92fb46e842fe58054 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = aa5d5b1c4ea1b7a22e5583ac2e9ed8a7 + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77e537e89e8491e8662aae3bc809421d + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 997dd3e9f1598bfa73f75973f7e93b76 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b38d4f7452afefcb7fc721244e4b72e + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0be2b18252e774dda30cdda02c6906e3 + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d2695e59c20361d82652d7d58b6f11b2 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 902d88d13eae52089abd6143cfe394e9 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d49bceb3b823fedd602c305345734bd2 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 707b1dbb0ffa40ef7d95def421233fae + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7ca0c1d93356d9eb8aa952084d75f913 + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2cbf9cb186e270dd7bdb0c28febc57d + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c94337c37c4e790ab45780bd9c3674a0 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e3558c135252fb9c9f367ed609467a1 + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b72eeaee4899b443914e5b3a57fba92 + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 011865f91bc56868d051e52c9efd59b7 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e4771318ad7a63dd680f6e583b7747ea + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 61e3d194088dc8d97e9e6db37457eac5 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36ff1ec9ccfbc349e5d356d063693ad6 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3cc9e9a9be8cc3f6fb2ea24088e9bb19 + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ee5ab003dc8722e74905d9a8fe3d350 + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 245339319584b0a412412869d6c2eada + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7bd496918115d14ed5380852716c8814 + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 273ab2f2b4a366a57d582a339313c8b1 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 113365a9ffbe3b0ca61e98507554168b + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = afa99c997ac478a0dea4119c9e45f8b1 + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9216309a7842430b83ffb98638011512 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62abc792288258492a7cb45145f4b759 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 534923c169d504d7519c15d30e756c50 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fa75e05bcdc7e00c273fa33f6ee441d2 + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7d350fa6057080f1086a56b17ec240db + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f34e4a6324ea4a5c39a661c8fe5ada8f + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0882a16f44088d42447a29ac090ec17e + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a3c15bfc11a9537c130687004e136ee + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 22c0a7678dc6d8cf5c8a6d5a9960767c + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b46b09809d68b9a456432a79bdc2e38c + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 93baaffb35fbe739c17c6ac22eecf18f + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c8aa80a7850675bc007c46df06b49868 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12c6f3877af421a918a84b775858021d + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 33f123282c5d633924f7d5ba3f3cab11 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a8f161002733e93ca4527d22c1a0c5bb + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b72f70ebf3e3fda23f508eec76b42c02 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a9d965e6274143f25afdcfc88ffd77c + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a0c74fd0b9361764ce91c5200b095357 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 091d1fdc2bd2c346cd5046a8c6209146 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e2a37580116cfb71856254496ab0aca8 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e0b3a00785917c7efc9adba322813571 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 733d41f4727b5ef0df4af4cf3cffa0cb + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a99ebb030260826f981ad3e64490aa4f + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 73f34c7d3eae5e80082c1647524308ee + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 40ebd5ad082345b7a2097ccd3464da02 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7cc4ae9a424b2cec90c97153c2457ec5 + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 54d632d03aba0bd0f91877ebdd4d09cb + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d3427be7e4d27cd54f5fe37b03cf0897 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b2099795e88cc158fd75ea133d7e7fbe + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a6cae46fb6fadfe7a2c302a34242817b + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 026a7024d6a902e0b3ffccbaa910cc3f + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 156f07767a85a4312321f63968338a01 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 15eec9ebf42b9ca76897d2cd6c5a12e2 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = db0d3a6fdcc13f915e2b302ceeb70fd8 + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 71dbf37e87a2e34d15b20e8f10e48924 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c745c451e96ff3c045e4367c833e3b54 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 340da09c2dd11c3b679d08ccd27dd595 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8279f7c0c2a03ee660c6d392db025d18 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a4b2c7d8eba531ff47c5041a55fbd1ec + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 74569a2ca5a7bd5131ce8dc7cbfbf72f + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3713da0c0219b63454035613b5a403dd + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8827551ddcc9df23fa72a3de4e9f0b07 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2e3febfd625bfcd0a2c06eb460da1732 + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ee82e6ba488156f76496311da6941deb + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4770446f01d1f391256e85a1b30d89d3 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = af04b68f104f21ef2afb4767cf74143c + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf3579a9ba38c8e43653173e14f3a4c6 + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b3bba904f4953e09b54800af2f62e7d4 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fc4249656e14b29eb9c44829b4c59a46 + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b31568febe81cfc2e65af1c86d1a308 + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ca09c25f273a766db98a480ce8dfedc + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b909925786f34c3c92d971883c9fbedf + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82647f1332fe570a9d4d92b2ee771d3b + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3604a7e80832b3a99954bca6f5b9f501 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 884607b128c5de3ab39a529a1ef51bef + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 670cfa093d1dbdb2317041404102435e + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a867195f3ce8769cbd336502fbb5130 + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 52efcf64c72b2f7ca5b3c836b1078c15 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4019250f6eefb2ac5ccbcae044e75c7e + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 022c4f6f5a017d292785627667ddef24 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e9c21078a2eb7e03250f71000fa9e3ed + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a13eaeeb9cd391da4e2b09490b3e7fad + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c958a171dca1d4ed53e1af1d380803a9 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 21442e07a110667f2583eaeeee44dc8c + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 59bbb353cf1dd867a6e33737af655e99 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43cd3b25375d0ce41087ff9fe2829639 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6b98b17e80d1118e3516bd768b285a84 + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ae47ed3676ca0c08deea02d95b81db58 + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 34ec40dc20413795ed53628ea748720b + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4dc68163f8e9835473253542c8a65d46 + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2aabb999f43693175af65c6c612c46fb + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e01f94499dac3547515c5b1d756f0f58 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9d12435a46480ce00ea349f71799df9a + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cef41d16d266bdfe46938ad7884cc0cf + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b13db4da1f718bc6904797c82bcf2d32 + +[DECRYPT] + +COUNT = 0 +KEY = 000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = 6cd02513e8d4dc986b4afe087a60bd0c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = 2ce1f8b7e30627c1c4519eada44bc436 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = 9946b5f87af446f5796c1fee63a2da24 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 2a560364ce529efc21788779568d5555 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 35c1471837af446153bce55d5ba72a0a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = ce60bc52386234f158f84341e534cd9e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = 8c7c27ff32bcf8dc2dc57c90c2903961 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = 32bb6a7ec84499e166f936003d55a5bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = a5c772e5c62631ef660ee1d5877f6d1b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = 030d7e5b64f380a7e4ea5387b5cd7f49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = 0dc9a2610037009b698f11bb7e86c83e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = 0046612c766d1840c226364f1fa7ed72 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 4880c7e08f27befe78590743c05e698b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = 2520ce829a26577f0f4822c4ecc87401 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 8765e8acc169758319cb46dc7bcf3dca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = e98f4ba4f073df4baa116d011dc24a28 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = f378f68c5dbf59e211b3a659a7317d94 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 283d3b069d8eb9fb432d74b96ca762b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = a7e1842e8a87861c221a500883245c51 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 77aa270471881be070fb52c7067ce732 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = 01b0f476d484f43f1aeb6efa9361a8ac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = 1c3a94f1c052c55c2d8359aff2163b4f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = e8a067b604d5373d8b0f2e05a03b341b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = a7876ec87f5a09bfea42c77da30fd50e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 0cf3e9d3a42be5b854ca65b13f35f48d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = 6c62f6bbcab7c3e821c9290f08892dda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = 7f5e05bd2068738196fee79ace7e3aec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 440e0d733255cda92fb46e842fe58054 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = aa5d5b1c4ea1b7a22e5583ac2e9ed8a7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = 77e537e89e8491e8662aae3bc809421d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = 997dd3e9f1598bfa73f75973f7e93b76 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = 1b38d4f7452afefcb7fc721244e4b72e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 0be2b18252e774dda30cdda02c6906e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = d2695e59c20361d82652d7d58b6f11b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 902d88d13eae52089abd6143cfe394e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = d49bceb3b823fedd602c305345734bd2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = 707b1dbb0ffa40ef7d95def421233fae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 7ca0c1d93356d9eb8aa952084d75f913 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = f2cbf9cb186e270dd7bdb0c28febc57d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = c94337c37c4e790ab45780bd9c3674a0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 8e3558c135252fb9c9f367ed609467a1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 1b72eeaee4899b443914e5b3a57fba92 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = 011865f91bc56868d051e52c9efd59b7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = e4771318ad7a63dd680f6e583b7747ea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 61e3d194088dc8d97e9e6db37457eac5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = 36ff1ec9ccfbc349e5d356d063693ad6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = 3cc9e9a9be8cc3f6fb2ea24088e9bb19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = 1ee5ab003dc8722e74905d9a8fe3d350 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = 245339319584b0a412412869d6c2eada +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = 7bd496918115d14ed5380852716c8814 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = 273ab2f2b4a366a57d582a339313c8b1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = 113365a9ffbe3b0ca61e98507554168b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = afa99c997ac478a0dea4119c9e45f8b1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = 9216309a7842430b83ffb98638011512 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = 62abc792288258492a7cb45145f4b759 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = 534923c169d504d7519c15d30e756c50 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = fa75e05bcdc7e00c273fa33f6ee441d2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 7d350fa6057080f1086a56b17ec240db +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = f34e4a6324ea4a5c39a661c8fe5ada8f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = 0882a16f44088d42447a29ac090ec17e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = 3a3c15bfc11a9537c130687004e136ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = 22c0a7678dc6d8cf5c8a6d5a9960767c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = b46b09809d68b9a456432a79bdc2e38c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = 93baaffb35fbe739c17c6ac22eecf18f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = c8aa80a7850675bc007c46df06b49868 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 12c6f3877af421a918a84b775858021d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = 33f123282c5d633924f7d5ba3f3cab11 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = a8f161002733e93ca4527d22c1a0c5bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = b72f70ebf3e3fda23f508eec76b42c02 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 6a9d965e6274143f25afdcfc88ffd77c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = a0c74fd0b9361764ce91c5200b095357 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = 091d1fdc2bd2c346cd5046a8c6209146 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = e2a37580116cfb71856254496ab0aca8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = e0b3a00785917c7efc9adba322813571 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 733d41f4727b5ef0df4af4cf3cffa0cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = a99ebb030260826f981ad3e64490aa4f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 73f34c7d3eae5e80082c1647524308ee +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = 40ebd5ad082345b7a2097ccd3464da02 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 7cc4ae9a424b2cec90c97153c2457ec5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 54d632d03aba0bd0f91877ebdd4d09cb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = d3427be7e4d27cd54f5fe37b03cf0897 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = b2099795e88cc158fd75ea133d7e7fbe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = a6cae46fb6fadfe7a2c302a34242817b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = 026a7024d6a902e0b3ffccbaa910cc3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 156f07767a85a4312321f63968338a01 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 15eec9ebf42b9ca76897d2cd6c5a12e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db0d3a6fdcc13f915e2b302ceeb70fd8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 71dbf37e87a2e34d15b20e8f10e48924 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = c745c451e96ff3c045e4367c833e3b54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 340da09c2dd11c3b679d08ccd27dd595 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 8279f7c0c2a03ee660c6d392db025d18 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = a4b2c7d8eba531ff47c5041a55fbd1ec +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 74569a2ca5a7bd5131ce8dc7cbfbf72f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 3713da0c0219b63454035613b5a403dd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 8827551ddcc9df23fa72a3de4e9f0b07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 2e3febfd625bfcd0a2c06eb460da1732 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = ee82e6ba488156f76496311da6941deb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 4770446f01d1f391256e85a1b30d89d3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = af04b68f104f21ef2afb4767cf74143c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = cf3579a9ba38c8e43653173e14f3a4c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = b3bba904f4953e09b54800af2f62e7d4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = fc4249656e14b29eb9c44829b4c59a46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 9b31568febe81cfc2e65af1c86d1a308 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 9ca09c25f273a766db98a480ce8dfedc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = b909925786f34c3c92d971883c9fbedf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 82647f1332fe570a9d4d92b2ee771d3b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3604a7e80832b3a99954bca6f5b9f501 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 884607b128c5de3ab39a529a1ef51bef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 670cfa093d1dbdb2317041404102435e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 7a867195f3ce8769cbd336502fbb5130 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 52efcf64c72b2f7ca5b3c836b1078c15 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 4019250f6eefb2ac5ccbcae044e75c7e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 022c4f6f5a017d292785627667ddef24 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = e9c21078a2eb7e03250f71000fa9e3ed +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = a13eaeeb9cd391da4e2b09490b3e7fad +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = c958a171dca1d4ed53e1af1d380803a9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 21442e07a110667f2583eaeeee44dc8c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 59bbb353cf1dd867a6e33737af655e99 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 43cd3b25375d0ce41087ff9fe2829639 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 6b98b17e80d1118e3516bd768b285a84 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = ae47ed3676ca0c08deea02d95b81db58 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 34ec40dc20413795ed53628ea748720b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 4dc68163f8e9835473253542c8a65d46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 2aabb999f43693175af65c6c612c46fb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = e01f94499dac3547515c5b1d756f0f58 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 9d12435a46480ce00ea349f71799df9a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = 000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = cef41d16d266bdfe46938ad7884cc0cf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = 000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = b13db4da1f718bc6904797c82bcf2d32 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt256.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt256.rsp new file mode 100644 index 000000000..7daa17e5e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/OFBVarTxt256.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for OFB +# State : Encrypt and Decrypt +# Key Length : 256 +# Generated on Fri Apr 22 15:12:03 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ddc6bf790c15760d8d9aeb6f9a75fd4e + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0a6bdc6d4c1e6280301fd8e97ddbe601 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b80eefb7ebe2d2b16247aa0efc72f5d + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7f2c5ece07a98d8bee13c51177395ff7 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7818d800dcf6f4be1e0e94f403d1e4c2 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e74cd1c92f0919c35a0324123d6177d3 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8092a4dcf2da7e77e93bdd371dfed82e + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 49af6b372135acef10132e548f217b17 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8bcd40f94ebb63b9f7909676e667f1e7 + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fe1cffb83f45dcfb38b29be438dbd3ab + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0dc58a8d886623705aec15cb1e70dc0e + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c218faa16056bd0774c3e8d79c35a5e4 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 047bba83f7aa841731504e012208fc9e + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dc8f0e4915fd81ba70a331310882f6da + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1569859ea6b7206c30bf4fd0cbfac33c + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 300ade92f88f48fa2df730ec16ef44cd + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1fe6cc3c05965dc08eb0590c95ac71d0 + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 59e858eaaa97fec38111275b6cf5abc0 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2239455e7afe3b0616100288cc5a723b + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3ee500c5c8d63479717163e55c5c4522 + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d5e38bf15f16d90e3e214041d774daa8 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1f4066e6f4f187dfe5f2ad1b17819d0 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6ef4cc4de49b11065d7af2909854794a + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ac86bc606b6640c309e782f232bf367f + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36aff0ef7bf3280772cf4cac80a0d2b2 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f8eedea0f62a1406d58cfc3ecea72cf + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = abf4154a3375a1d3e6b1d454438f95a6 + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96f96e9d607f6615fc192061ee648b07 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cf37cdaaa0d2d536c71857634c792064 + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fbd6640c80245c2b805373f130703127 + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d6a8afe55a6e481badae0d146f436db + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a4981f2915e3e68af6c22385dd06756 + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42a1136e5f8d8d21d3101998642d573b + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b471596dc69ae1586cee6158b0b0181 + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 753665c4af1eff33aa8b628bf8741cfd + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9a682acf40be01f5b2a4193c9a82404d + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 54fafe26e4287f17d1935f87eb9ade01 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 49d541b2e74cfe73e6a8e8225f7bd449 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 11a45530f624ff6f76a1b3826626ff7b + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f96b0c4a8bc6c86130289f60b43b8fba + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 48c7d0e80834ebdc35b6735f76b46c8b + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2463531ab54d66955e73edc4cb8eaa45 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ac9bd8e2530469134b9d5b065d4f565b + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3f5f9106d0e52f973d4890e6f37e8a00 + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 20ebc86f1304d272e2e207e59db639f0 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e67ae6426bf9526c972cff072b52252c + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1a518dddaf9efa0d002cc58d107edfc8 + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ead731af4d3a2fe3b34bed047942a49f + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1d4efe40242f83e93b6c8d7efb5eae9 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cd2b1fec11fd906c5c7630099443610a + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1853fe47fe29289d153161d06387d21 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4632154179a555c17ea604d0889fab14 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dd27cac6401a022e8f38f9f93e774417 + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c090313eb98674f35f3123385fb95d4d + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cc3526262b92f02edce548f716b9f45c + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c0838d1a2b16a7c7f0dfcc433c399c33 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0d9ac756eb297695eed4d382eb126d26 + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 56ede9dda3f6f141bff1757fa689c3e1 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 768f520efe0f23e61d3ec8ad9ce91774 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1144ddfa75755213390e7c596660490 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1d7c0c4040b355b9d107a99325e3b050 + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8e2bb1ae8ee3dcf5bf7d6c38da82a1a + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = faf82d178af25a9886a47e7f789b98d7 + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b58dbfd77fe5aca9cfc190cd1b82d19 + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77f392089042e478ac16c0c86a0b5db5 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 19f08e3420ee69b477ca1420281c4782 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1b19beee4e117139f74b3c53fdcb875 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a37a5869b218a9f3a0868d19aea0ad6a + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bc3594e865bcd0261b13202731f33580 + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 811441ce1d309eee7185e8c752c07557 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 959971ce4134190563518e700b9874d1 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 76b5614a042707c98e2132e2e805fe63 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7d9fa6a57530d0f036fec31c230b0cc6 + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 964153a83bf6989a4ba80daa91c3e081 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a013014d4ce8054cf2591d06f6f2f176 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d1c5f6399bf382502e385eee1474a869 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0007e20b8298ec354f0f5fe7470f36bd + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b95ba05b332da61ef63a2b31fcad9879 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4620a49bd967491561669ab25dce45f4 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12e71214ae8e04f0bb63d7425c6f14d5 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4cc42fc1407b008fe350907c092e80ac + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 08b244ce7cbc8ee97fbba808cb146fda + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 39b333e8694f21546ad1edd9d87ed95b + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3b271f8ab2e6e4a20ba8090f43ba78f3 + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ad983f3bf651cd0393f0a73cccdea50 + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8f476cbff75c1f725ce18e4bbcd19b32 + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 905b6267f1d6ab5320835a133f096f2a + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 145b60d6d0193c23f4221848a892d61a + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 55cfb3fb6d75cad0445bbc8dafa25b0f + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b8e7098e357ef71237d46d8b075b0f5 + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2bf27229901eb40f2df9d8398d1505ae + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 83a63402a77f9ad5c1e931a931ecd706 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6f8ba6521152d31f2bada1843e26b973 + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e5c3b8e30fd2d8e6239b17b44bd23bbd + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ac1f7102c59933e8b2ddc3f14e94baa + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 21d9ba49f276b45f11af8fc71a088e3d + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 649f1cddc3792b4638635a392bc9bade + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e2775e4b59c1bc2e31a2078c11b5a08c + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2be1fae5048a25582a679ca10905eb80 + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = da86f292c6f41ea34fb2068df75ecc29 + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 220df19f85d69b1b562fa69a3c5beca5 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1f11d5d0355e0b556ccdb6c7f5083b4d + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62526b78be79cb384633c91f83b4151b + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90ddbcb950843592dd47bbef00fdc876 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2fd0e41c5b8402277354a7391d2618e2 + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3cdf13e72dee4c581bafec70b85f9660 + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = afa2ffc137577092e2b654fa199d2c43 + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8d683ee63e60d208e343ce48dbc44cac + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 705a4ef8ba2133729c20185c3d3a4763 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0861a861c3db4e94194211b77ed761b9 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b00c27e8b26da7eab9d3a88dec8b031 + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5f397bf03084820cc8810d52e5b666e9 + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 63fafabb72c07bfbd3ddc9b1203104b8 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 683e2140585b18452dd4ffbb93c95df9 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 286894e48e537f8763b56707d7d155c8 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a423deabc173dcf7e2c4c53e77d37cd1 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = eb8168313e1cfdfdb5e986d5429cf172 + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 27127daafc9accd2fb334ec3eba52323 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ee0715b96f72e3f7a22a5064fc592f4c + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 29ee526770f2a11dcfa989d1ce88830f + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0493370e054b09871130fe49af730a5a + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9b7b940f6c509f9e44a4ee140448ee46 + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2915be4a1ecfdcbe3e023811a12bb6c7 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7240e524bc51d8c4d440b1be55d1062c + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = da63039d38cb4612b2dc36ba26684b93 + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0f59cb5a4b522e2ac56c1a64f558ad9a + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7bfe9d876c6d63c1d035da8fe21c409d + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = acdace8078a32b1a182bfa4987ca1347 + +[DECRYPT] + +COUNT = 0 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 80000000000000000000000000000000 +CIPHERTEXT = ddc6bf790c15760d8d9aeb6f9a75fd4e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = c0000000000000000000000000000000 +CIPHERTEXT = 0a6bdc6d4c1e6280301fd8e97ddbe601 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = e0000000000000000000000000000000 +CIPHERTEXT = 9b80eefb7ebe2d2b16247aa0efc72f5d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f0000000000000000000000000000000 +CIPHERTEXT = 7f2c5ece07a98d8bee13c51177395ff7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = f8000000000000000000000000000000 +CIPHERTEXT = 7818d800dcf6f4be1e0e94f403d1e4c2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fc000000000000000000000000000000 +CIPHERTEXT = e74cd1c92f0919c35a0324123d6177d3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fe000000000000000000000000000000 +CIPHERTEXT = 8092a4dcf2da7e77e93bdd371dfed82e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff000000000000000000000000000000 +CIPHERTEXT = 49af6b372135acef10132e548f217b17 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ff800000000000000000000000000000 +CIPHERTEXT = 8bcd40f94ebb63b9f7909676e667f1e7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffc00000000000000000000000000000 +CIPHERTEXT = fe1cffb83f45dcfb38b29be438dbd3ab +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffe00000000000000000000000000000 +CIPHERTEXT = 0dc58a8d886623705aec15cb1e70dc0e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff00000000000000000000000000000 +CIPHERTEXT = c218faa16056bd0774c3e8d79c35a5e4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fff80000000000000000000000000000 +CIPHERTEXT = 047bba83f7aa841731504e012208fc9e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffc0000000000000000000000000000 +CIPHERTEXT = dc8f0e4915fd81ba70a331310882f6da +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffe0000000000000000000000000000 +CIPHERTEXT = 1569859ea6b7206c30bf4fd0cbfac33c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff0000000000000000000000000000 +CIPHERTEXT = 300ade92f88f48fa2df730ec16ef44cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffff8000000000000000000000000000 +CIPHERTEXT = 1fe6cc3c05965dc08eb0590c95ac71d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffc000000000000000000000000000 +CIPHERTEXT = 59e858eaaa97fec38111275b6cf5abc0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffe000000000000000000000000000 +CIPHERTEXT = 2239455e7afe3b0616100288cc5a723b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff000000000000000000000000000 +CIPHERTEXT = 3ee500c5c8d63479717163e55c5c4522 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffff800000000000000000000000000 +CIPHERTEXT = d5e38bf15f16d90e3e214041d774daa8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffc00000000000000000000000000 +CIPHERTEXT = b1f4066e6f4f187dfe5f2ad1b17819d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffe00000000000000000000000000 +CIPHERTEXT = 6ef4cc4de49b11065d7af2909854794a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff00000000000000000000000000 +CIPHERTEXT = ac86bc606b6640c309e782f232bf367f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffff80000000000000000000000000 +CIPHERTEXT = 36aff0ef7bf3280772cf4cac80a0d2b2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffc0000000000000000000000000 +CIPHERTEXT = 1f8eedea0f62a1406d58cfc3ecea72cf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffe0000000000000000000000000 +CIPHERTEXT = abf4154a3375a1d3e6b1d454438f95a6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff0000000000000000000000000 +CIPHERTEXT = 96f96e9d607f6615fc192061ee648b07 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffff8000000000000000000000000 +CIPHERTEXT = cf37cdaaa0d2d536c71857634c792064 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffc000000000000000000000000 +CIPHERTEXT = fbd6640c80245c2b805373f130703127 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffe000000000000000000000000 +CIPHERTEXT = 8d6a8afe55a6e481badae0d146f436db +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff000000000000000000000000 +CIPHERTEXT = 6a4981f2915e3e68af6c22385dd06756 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffff800000000000000000000000 +CIPHERTEXT = 42a1136e5f8d8d21d3101998642d573b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffc00000000000000000000000 +CIPHERTEXT = 9b471596dc69ae1586cee6158b0b0181 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffe00000000000000000000000 +CIPHERTEXT = 753665c4af1eff33aa8b628bf8741cfd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff00000000000000000000000 +CIPHERTEXT = 9a682acf40be01f5b2a4193c9a82404d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffff80000000000000000000000 +CIPHERTEXT = 54fafe26e4287f17d1935f87eb9ade01 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffc0000000000000000000000 +CIPHERTEXT = 49d541b2e74cfe73e6a8e8225f7bd449 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffe0000000000000000000000 +CIPHERTEXT = 11a45530f624ff6f76a1b3826626ff7b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff0000000000000000000000 +CIPHERTEXT = f96b0c4a8bc6c86130289f60b43b8fba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffff8000000000000000000000 +CIPHERTEXT = 48c7d0e80834ebdc35b6735f76b46c8b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffc000000000000000000000 +CIPHERTEXT = 2463531ab54d66955e73edc4cb8eaa45 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffe000000000000000000000 +CIPHERTEXT = ac9bd8e2530469134b9d5b065d4f565b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff000000000000000000000 +CIPHERTEXT = 3f5f9106d0e52f973d4890e6f37e8a00 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffff800000000000000000000 +CIPHERTEXT = 20ebc86f1304d272e2e207e59db639f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffc00000000000000000000 +CIPHERTEXT = e67ae6426bf9526c972cff072b52252c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffe00000000000000000000 +CIPHERTEXT = 1a518dddaf9efa0d002cc58d107edfc8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff00000000000000000000 +CIPHERTEXT = ead731af4d3a2fe3b34bed047942a49f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffff80000000000000000000 +CIPHERTEXT = b1d4efe40242f83e93b6c8d7efb5eae9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffc0000000000000000000 +CIPHERTEXT = cd2b1fec11fd906c5c7630099443610a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffe0000000000000000000 +CIPHERTEXT = a1853fe47fe29289d153161d06387d21 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff0000000000000000000 +CIPHERTEXT = 4632154179a555c17ea604d0889fab14 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffff8000000000000000000 +CIPHERTEXT = dd27cac6401a022e8f38f9f93e774417 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffc000000000000000000 +CIPHERTEXT = c090313eb98674f35f3123385fb95d4d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffe000000000000000000 +CIPHERTEXT = cc3526262b92f02edce548f716b9f45c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff000000000000000000 +CIPHERTEXT = c0838d1a2b16a7c7f0dfcc433c399c33 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffff800000000000000000 +CIPHERTEXT = 0d9ac756eb297695eed4d382eb126d26 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffc00000000000000000 +CIPHERTEXT = 56ede9dda3f6f141bff1757fa689c3e1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffe00000000000000000 +CIPHERTEXT = 768f520efe0f23e61d3ec8ad9ce91774 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff00000000000000000 +CIPHERTEXT = b1144ddfa75755213390e7c596660490 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffff80000000000000000 +CIPHERTEXT = 1d7c0c4040b355b9d107a99325e3b050 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffc0000000000000000 +CIPHERTEXT = d8e2bb1ae8ee3dcf5bf7d6c38da82a1a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffe0000000000000000 +CIPHERTEXT = faf82d178af25a9886a47e7f789b98d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff0000000000000000 +CIPHERTEXT = 9b58dbfd77fe5aca9cfc190cd1b82d19 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffff8000000000000000 +CIPHERTEXT = 77f392089042e478ac16c0c86a0b5db5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffc000000000000000 +CIPHERTEXT = 19f08e3420ee69b477ca1420281c4782 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffe000000000000000 +CIPHERTEXT = a1b19beee4e117139f74b3c53fdcb875 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff000000000000000 +CIPHERTEXT = a37a5869b218a9f3a0868d19aea0ad6a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffff800000000000000 +CIPHERTEXT = bc3594e865bcd0261b13202731f33580 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffc00000000000000 +CIPHERTEXT = 811441ce1d309eee7185e8c752c07557 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffe00000000000000 +CIPHERTEXT = 959971ce4134190563518e700b9874d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff00000000000000 +CIPHERTEXT = 76b5614a042707c98e2132e2e805fe63 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffff80000000000000 +CIPHERTEXT = 7d9fa6a57530d0f036fec31c230b0cc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffc0000000000000 +CIPHERTEXT = 964153a83bf6989a4ba80daa91c3e081 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffe0000000000000 +CIPHERTEXT = a013014d4ce8054cf2591d06f6f2f176 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff0000000000000 +CIPHERTEXT = d1c5f6399bf382502e385eee1474a869 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffff8000000000000 +CIPHERTEXT = 0007e20b8298ec354f0f5fe7470f36bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffc000000000000 +CIPHERTEXT = b95ba05b332da61ef63a2b31fcad9879 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffe000000000000 +CIPHERTEXT = 4620a49bd967491561669ab25dce45f4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff000000000000 +CIPHERTEXT = 12e71214ae8e04f0bb63d7425c6f14d5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffff800000000000 +CIPHERTEXT = 4cc42fc1407b008fe350907c092e80ac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 08b244ce7cbc8ee97fbba808cb146fda +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 39b333e8694f21546ad1edd9d87ed95b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff00000000000 +CIPHERTEXT = 3b271f8ab2e6e4a20ba8090f43ba78f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffff80000000000 +CIPHERTEXT = 9ad983f3bf651cd0393f0a73cccdea50 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 8f476cbff75c1f725ce18e4bbcd19b32 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffe0000000000 +CIPHERTEXT = 905b6267f1d6ab5320835a133f096f2a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 145b60d6d0193c23f4221848a892d61a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 55cfb3fb6d75cad0445bbc8dafa25b0f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 7b8e7098e357ef71237d46d8b075b0f5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 2bf27229901eb40f2df9d8398d1505ae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff000000000 +CIPHERTEXT = 83a63402a77f9ad5c1e931a931ecd706 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffff800000000 +CIPHERTEXT = 6f8ba6521152d31f2bada1843e26b973 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffc00000000 +CIPHERTEXT = e5c3b8e30fd2d8e6239b17b44bd23bbd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 1ac1f7102c59933e8b2ddc3f14e94baa +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 21d9ba49f276b45f11af8fc71a088e3d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 649f1cddc3792b4638635a392bc9bade +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = e2775e4b59c1bc2e31a2078c11b5a08c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 2be1fae5048a25582a679ca10905eb80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff0000000 +CIPHERTEXT = da86f292c6f41ea34fb2068df75ecc29 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 220df19f85d69b1b562fa69a3c5beca5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 1f11d5d0355e0b556ccdb6c7f5083b4d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 62526b78be79cb384633c91f83b4151b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 90ddbcb950843592dd47bbef00fdc876 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 2fd0e41c5b8402277354a7391d2618e2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 3cdf13e72dee4c581bafec70b85f9660 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = afa2ffc137577092e2b654fa199d2c43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 8d683ee63e60d208e343ce48dbc44cac +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 705a4ef8ba2133729c20185c3d3a4763 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 0861a861c3db4e94194211b77ed761b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 4b00c27e8b26da7eab9d3a88dec8b031 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 5f397bf03084820cc8810d52e5b666e9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 63fafabb72c07bfbd3ddc9b1203104b8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = 683e2140585b18452dd4ffbb93c95df9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 286894e48e537f8763b56707d7d155c8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff000 +CIPHERTEXT = a423deabc173dcf7e2c4c53e77d37cd1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffff800 +CIPHERTEXT = eb8168313e1cfdfdb5e986d5429cf172 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 27127daafc9accd2fb334ec3eba52323 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = ee0715b96f72e3f7a22a5064fc592f4c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 29ee526770f2a11dcfa989d1ce88830f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = 0493370e054b09871130fe49af730a5a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 9b7b940f6c509f9e44a4ee140448ee46 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 2915be4a1ecfdcbe3e023811a12bb6c7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 7240e524bc51d8c4d440b1be55d1062c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = da63039d38cb4612b2dc36ba26684b93 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 0f59cb5a4b522e2ac56c1a64f558ad9a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 7bfe9d876c6d63c1d035da8fe21c409d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = 0000000000000000000000000000000000000000000000000000000000000000 +IV = ffffffffffffffffffffffffffffffff +CIPHERTEXT = acdace8078a32b1a182bfa4987ca1347 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/gcmDecrypt128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/gcmDecrypt128.rsp new file mode 100644 index 000000000..85f0aeed1 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/gcmDecrypt128.rsp @@ -0,0 +1,66156 @@ +# CAVS 14.0 +# GCM Decrypt with keysize 128 test information +# Generated on Fri Aug 31 11:28:04 2012 + + + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = cf063a34d4a9a76c2c86787d3f96db71 +IV = 113b9785971864c83b01c787 +CT = +AAD = +Tag = 72ac8493e3a5228b5d130a69d2510e42 +PT = + +Count = 1 +Key = a49a5e26a2f8cb63d05546c2a62f5343 +IV = 907763b19b9b4ab6bd4f0281 +CT = +AAD = +Tag = a2be08210d8c470a8df6e8fbd79ec5cf +FAIL + +Count = 2 +Key = 2ad0bf5aeb47a0c1a98da3dfdab4fded +IV = 25f1b6091ee7040fea4ba854 +CT = +AAD = +Tag = d7963d240317653e01cf5abe5d0966ae +PT = + +Count = 3 +Key = d8cd400a0a73d114cd3ecf36537cab3d +IV = 3c162c9f16a49b8fe6c92a81 +CT = +AAD = +Tag = 4203aec165f9d397cf9009770a088c16 +FAIL + +Count = 4 +Key = a982a7bae2b3eae1b7832f16faf693b4 +IV = 78d2d2fa43850483ce933576 +CT = +AAD = +Tag = ceabb89ee3179e25ed32d5a225006361 +PT = + +Count = 5 +Key = f9e3992196f7d7a21bd956f4b5a5ffce +IV = 0794a6bdf5f198c9f193b9ba +CT = +AAD = +Tag = f8247fd5dc7bd6d40e96af32aa9c1889 +PT = + +Count = 6 +Key = c91aab7ebe13653a71a4232fd1beb793 +IV = 7799464b6de6383da0daec52 +CT = +AAD = +Tag = 00c4f7033f3c05e9d531f3ca573dc98d +FAIL + +Count = 7 +Key = e7e4eefd0a3abd4ee1bef270d257eab7 +IV = f548f2a04a50a2f0342b2250 +CT = +AAD = +Tag = 044159b8a18668167fbd28ac500c20fe +PT = + +Count = 8 +Key = 1bd49e553457459aee1b5d83e7c216a2 +IV = 2b37cf40ed2685eb2a907cd0 +CT = +AAD = +Tag = fcb41d17fdb023d4d14f84a387d3ad77 +FAIL + +Count = 9 +Key = 4d6486fa68ce5a14b9db7334ab4838cb +IV = afad3f4190d56a1b8eb08e58 +CT = +AAD = +Tag = 4bda04755b7ce9da020ce7467a5ced8f +FAIL + +Count = 10 +Key = da5b59d5eb448fd6c08c350df9a82114 +IV = 15fb65d9fe2fa27f226312c0 +CT = +AAD = +Tag = e407fccbb9f00eeb9cef4a520cff957c +FAIL + +Count = 11 +Key = 07d5a7d405b21c64d74cc0988693b784 +IV = 2eefd7990ea025925e9ca6f9 +CT = +AAD = +Tag = 1439522d18c9eb129f1f776590027761 +FAIL + +Count = 12 +Key = 48760dec952010140ffc4b4078438b56 +IV = 930cc3ff276d7bbb74d187ef +CT = +AAD = +Tag = 8673dcb97934d54dc17de0037344737f +FAIL + +Count = 13 +Key = ed7c50762dc0dc4aa5c8be4cf0a56b88 +IV = 50dfb73b5034cffb6709af8f +CT = +AAD = +Tag = cb02203ee8eccec446ed1c2cf68fd1c0 +FAIL + +Count = 14 +Key = b5d4b3e80a56adbc780ff02c5da6a7ab +IV = abc5b96c5e872502971dcc55 +CT = +AAD = +Tag = 4e85677cc16e2b2fb50a2ca9c0ac1b9c +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = eac258e99c55e6ae8ef1da26640613d7 +IV = 4e8df20faaf2c8eebe922902 +CT = +AAD = +Tag = e39aeaebe86aa309a4d062d6274339 +PT = + +Count = 1 +Key = 3726cf02fcc6b8639a5497652c94350d +IV = 55fef82cde693ce76efcc193 +CT = +AAD = +Tag = 3d68111a81ed22d2ef5bccac4fc27f +FAIL + +Count = 2 +Key = f202299d5fd74f03b12d2119a6c4c038 +IV = eec51e7958c3f20a1bb71815 +CT = +AAD = +Tag = a81886b3fb26e51fca87b267e1e157 +FAIL + +Count = 3 +Key = fd52925f39546b4c55ffb6b20c59898c +IV = f5cf3227444afd905a5f6dba +CT = +AAD = +Tag = 1665b0f1a0b456e1664cfd3de08ccd +PT = + +Count = 4 +Key = 39c070eaace1c6e30ab004bfbfa830fd +IV = 6e55ff3bba561f17f338313c +CT = +AAD = +Tag = 4e3c2db540790f26a4704e72ef9b4f +PT = + +Count = 5 +Key = 96b12ebb99edca96838f88caaa74abbc +IV = 679feb33d6e35962518a63c1 +CT = +AAD = +Tag = cbe9d90bb8600bb14e8ca81cde5b2e +FAIL + +Count = 6 +Key = 5b1a1ad45349cb7ec3afb613674c9381 +IV = 7ef3542c0ca2415f767eec7c +CT = +AAD = +Tag = fbc65cc7f1f4edbb746b47f950e472 +PT = + +Count = 7 +Key = b349f8d86e91144c86ed49a100358239 +IV = 3e3879e1a4ccf74cc442b9c5 +CT = +AAD = +Tag = 0d935691c84813b8c1e5ba23ee621f +PT = + +Count = 8 +Key = df4074001cf89ad0b046fceeea5a1ef2 +IV = 080fb68a083a219354a7cdcd +CT = +AAD = +Tag = eaa44ef28c446610b33dd2fdbdb8a0 +PT = + +Count = 9 +Key = 84816510accb68149ee65be220df3d9e +IV = 99c41452f73f3a2dd48f2eaf +CT = +AAD = +Tag = 5d5f3c09d2498587c7230dbe5fd497 +FAIL + +Count = 10 +Key = 98740d9ac6cee9379253d4e6718a1de5 +IV = b723dd15270c767a31636117 +CT = +AAD = +Tag = 199630b915021b98055f295d08befc +FAIL + +Count = 11 +Key = 79b8cb97ec3e3f7536eeaffc64bdb372 +IV = e945122f1e4d960a2e9f9a41 +CT = +AAD = +Tag = cb9c041f18070030399006d77954cb +FAIL + +Count = 12 +Key = 26e7fb1c3b5448d7ad7b67aadaf360bb +IV = 34bf017f9283236dee171e10 +CT = +AAD = +Tag = 8756ca5c8aa644a852e5eb2c49bf39 +FAIL + +Count = 13 +Key = d6a515d24ef9099695b179c01bc1f4b1 +IV = b54a5bbbf6faae5f33b8c133 +CT = +AAD = +Tag = 02b1243c92f6b059d00bd672dfb8e5 +FAIL + +Count = 14 +Key = 9e9ec40db0a07f24c417d3c63d1b946b +IV = 8605c97fa5d8f94798b845f9 +CT = +AAD = +Tag = 10ce3c41553e7f5b413d1470ced09b +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = dc1b3fdce56baf77ddb22246ebb224db +IV = 1394643db950ac42366cda3c +CT = +AAD = +Tag = 25bfdb151d21994e90b095230247 +PT = + +Count = 1 +Key = c1b668ee720eb90730d7c30e663e941b +IV = b8f27f51092d65697a9740de +CT = +AAD = +Tag = d6acce523efdb3e7b28220896827 +PT = + +Count = 2 +Key = 7a25451203338a3a046902fc5169a9ac +IV = 070a0b0fb560999c6b778aa5 +CT = +AAD = +Tag = 51d73876b57dea6ef24e2740fc69 +FAIL + +Count = 3 +Key = 8747e8b9058632721cab00c217e24fca +IV = c44c7bbf8b4a48e2b64c4e41 +CT = +AAD = +Tag = 2f7fccde59ec9e6ad2cbd6ced7c1 +FAIL + +Count = 4 +Key = 79d9e7d647dbe9926ba08f078b2c4768 +IV = b7fef625e03c6e97bb7988eb +CT = +AAD = +Tag = 8508fe578eacef69d8e1468cc905 +PT = + +Count = 5 +Key = 84ade1f350d68ceff9fe8a7ef120e7b6 +IV = 7617886bff63257768f54173 +CT = +AAD = +Tag = 461ecfef2f3b746cc3a47c28a43a +FAIL + +Count = 6 +Key = f7a85574fb8be04e92d219cf3524877b +IV = 9a3febc5d2bd389e0db3863c +CT = +AAD = +Tag = 69a1d7bbf81f830534312c641068 +PT = + +Count = 7 +Key = 18f42b8a3dca6e80777d5c681d8c4a32 +IV = ed425811547c5989ea6d4cb2 +CT = +AAD = +Tag = 60b5712b52b56facc8758aec40c9 +PT = + +Count = 8 +Key = adeb972fe5160e14137c286b6e281163 +IV = 38e536e647b83fc429bbcabd +CT = +AAD = +Tag = 22e32a3c2637ac48c0deaf06435c +PT = + +Count = 9 +Key = 0686f241ca82a590980929858c789d7a +IV = c5d0737448692684c5ac1c8c +CT = +AAD = +Tag = 65eecbd0fe423c6e1608745ab677 +PT = + +Count = 10 +Key = f7d57c6e4699d4f242270f41781d39dc +IV = a2842a9dd1b5874cb50e8707 +CT = +AAD = +Tag = 09999cdc3dd28e818b88a6485c8d +PT = + +Count = 11 +Key = 4df05ee5ee95c69938b4049a2be92504 +IV = afdefd136622128fd6c2c534 +CT = +AAD = +Tag = 3a24e5f166d70627954b55029fc3 +PT = + +Count = 12 +Key = 0f4469766ea265d22cba4c7105bc49b0 +IV = 25ede41ed4c638195354713a +CT = +AAD = +Tag = 6dd4e9cc6ed04976f2cced5804b4 +PT = + +Count = 13 +Key = 24c7de158fcb0808b3cfda0e95706e6f +IV = 88eb7f00a129040d05952d17 +CT = +AAD = +Tag = 2d587fd20457566fed19cca36d2b +FAIL + +Count = 14 +Key = 2610de38144b05876b0d0b34a1c7812e +IV = 6673bf587f9f90df3a1715fd +CT = +AAD = +Tag = 7b13fff5e79951ebee51d12f8422 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = a830c905dad3a8e5aae739d7ab60a5dc +IV = 54633aa565952e80fb0b9869 +CT = +AAD = +Tag = 482d9381230cd015b2a16976b6 +PT = + +Count = 1 +Key = eb7ae9788a5dc09a7812e389c67138ea +IV = 2ecd19b70ffe87cad58a0029 +CT = +AAD = +Tag = c1ebf4e3594a722bab9f61e084 +PT = + +Count = 2 +Key = 9c247b33ffb3fe486f8f1c06b3db6563 +IV = 978769bc16a7dd3d90ab9d76 +CT = +AAD = +Tag = 09acccba7e7be6b5687b478327 +FAIL + +Count = 3 +Key = 23281eec6b12fe1184e6c113788915b8 +IV = 78538fb690491381daa41ef5 +CT = +AAD = +Tag = 80d9c8d781035be9f68de209ad +PT = + +Count = 4 +Key = 443657744df4b5d5de80f27efe244b27 +IV = a637b48e67d1cf8f3ddf6d7c +CT = +AAD = +Tag = bf84664af0260e0b5b352e5cd9 +FAIL + +Count = 5 +Key = b93ae43e8eb3e94b67b09b833e376327 +IV = 14ef4f357845d34ce06b170a +CT = +AAD = +Tag = 22c987ec9c91ce7714fbb794d8 +FAIL + +Count = 6 +Key = 6eff3644c83c75c0678cf4f6713561f7 +IV = e7bf04fab5909668065d2b43 +CT = +AAD = +Tag = 2fab50a07c1a50ba8e4381dad9 +FAIL + +Count = 7 +Key = 9613b9b4c70e5ab130534309059e99b7 +IV = 40414f80b586ecfb22860442 +CT = +AAD = +Tag = 9cc1a298d9d57b6d4bcdf3e5b5 +PT = + +Count = 8 +Key = 400fcee6ea1b8b1fccffdbccef08a5e2 +IV = dc16236581a6da126550b08a +CT = +AAD = +Tag = 6ceeca2188cf4da42ed3f248df +PT = + +Count = 9 +Key = d27c84466faf1a45a2435eb9293478e2 +IV = cdd7e1bdf60bd12885dc8fdc +CT = +AAD = +Tag = 5397381a8817ef557ac6c57a22 +FAIL + +Count = 10 +Key = 8ed40d2b24f52dbf2fa8486c8fde62e9 +IV = 837f36e0f6fb34d08e8df9f9 +CT = +AAD = +Tag = e6c787dfeae37a34dc49d52caa +FAIL + +Count = 11 +Key = 34395d007dac4a4b83c943de4406d821 +IV = 4bbfe5f3276461e594b1fd2e +CT = +AAD = +Tag = 30daec9c07fa2e11a1acc28baa +PT = + +Count = 12 +Key = 5a8321edf8d532d51299ecbaffc56cbc +IV = c512db4e75e52950f89f458e +CT = +AAD = +Tag = 88fddfe667c3519963ebb6d0b7 +FAIL + +Count = 13 +Key = d9ed395776deb772a218db03abbd8606 +IV = 600075a6d85d86d6a3f6624a +CT = +AAD = +Tag = 7f486053d65559dca0a3761e00 +PT = + +Count = 14 +Key = 16b5d6282fa184deeb837c706f191079 +IV = ea09b0a8f65f3ac16d954c9a +CT = +AAD = +Tag = 6defe4a6354e1383111d96fcb3 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 4c5a02440befba5820539ccf74b40355 +IV = 3852fd7da7a375a2a2227e9c +CT = +AAD = +Tag = 9f45b723d14708dad1edd831 +FAIL + +Count = 1 +Key = d4e885208426247f27428ede3b318e68 +IV = 5513f9ec35e2e72be3470f57 +CT = +AAD = +Tag = 48d716f0f94ac7fbc291932e +PT = + +Count = 2 +Key = 25954f34970b4fc834fff1552bea4896 +IV = b66b254e66240f0e8e262f01 +CT = +AAD = +Tag = 5b5569b200c06bd24382ec73 +FAIL + +Count = 3 +Key = 303b5662bcf71ca82e07e10248c17629 +IV = 45f9c33e03f84fa88209858d +CT = +AAD = +Tag = e8b99255a0e953d57361db29 +PT = + +Count = 4 +Key = 8394912058620e935335f7627b18b1b3 +IV = 772149bd434c0b27ac45e672 +CT = +AAD = +Tag = c7a43e2ee7e161a52583ad83 +FAIL + +Count = 5 +Key = 2ca00481ac56aac664b28f29781a7e82 +IV = 14574966f3b12bc0502a3a55 +CT = +AAD = +Tag = 938628eba4b72f79fd7b7396 +PT = + +Count = 6 +Key = 8ed5a13a5046d10379c75eaa3fd17bb2 +IV = 2b111cc8c84ff7f1c262ec1c +CT = +AAD = +Tag = 82e8bed016ae384ae75ac16c +FAIL + +Count = 7 +Key = 7041298fe906405905e8b4de1de3c0f0 +IV = e4fbdc72d00a331bfa326d59 +CT = +AAD = +Tag = 17292560680114395372691a +FAIL + +Count = 8 +Key = faeeee9bbaff25e221121d1122807009 +IV = e9e872d525c2315f49e2d94f +CT = +AAD = +Tag = 98146c72b9365016ff33b7e2 +FAIL + +Count = 9 +Key = df0a1dd37c0144e0bcff6e7deed857f0 +IV = eba039eaf7f2f48f761abc9c +CT = +AAD = +Tag = 973e0ff877b085ad8083d6c9 +PT = + +Count = 10 +Key = 27f19b4b2d23285d92480ca2dc3799dc +IV = 335b2f88f2fc4b6188867558 +CT = +AAD = +Tag = 8b1c43ade7a3c5af9a639e02 +PT = + +Count = 11 +Key = 6edf19775190943d196148165087ebe1 +IV = c2fcf9919d85407086c2be20 +CT = +AAD = +Tag = dda2c0cfe5d922a3cfb15ab8 +FAIL + +Count = 12 +Key = 9acca9099afc2ec75441587bdd96a469 +IV = ca178e969478e36621db60df +CT = +AAD = +Tag = 86a70322e57fd6cca64a6aa6 +PT = + +Count = 13 +Key = d0718716395e03f7fde7fb40f497f9cf +IV = dd20e6b684a0f53d3785df71 +CT = +AAD = +Tag = 70cfeb7a503a1869fa0dc0ee +FAIL + +Count = 14 +Key = 5fcbf7953da6781ae96852885ae01488 +IV = 34ca7d2a0aaf09fcb8a5b39a +CT = +AAD = +Tag = 142828e093e80e346008c2b6 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = a958dea10183955fb62b5cf0d6560efd +IV = 9c6fd7fcb79ab149a2ef8416 +CT = +AAD = +Tag = 0fa19df0ef498402 +PT = + +Count = 1 +Key = 2bd8c68da36fc74a66e8bc9c58c7b3d9 +IV = 0a0c9cee4e712ce526271644 +CT = +AAD = +Tag = f94a128bb6c31902 +FAIL + +Count = 2 +Key = 5f8441de9b68a525bd77a9f8db9ac1ec +IV = 7b704888d905e11b3e8f6751 +CT = +AAD = +Tag = 1920f39509e495ec +FAIL + +Count = 3 +Key = 47a49ee87638b74b48dfc42b9892ff93 +IV = 927f32a1fdeed0da6c80c4c1 +CT = +AAD = +Tag = 568ca20233ab20e1 +PT = + +Count = 4 +Key = 871616dda80c31ef677f770774f41d27 +IV = 94f9c4a7f7d69cfef745c085 +CT = +AAD = +Tag = f779d3356f60d96c +FAIL + +Count = 5 +Key = e6a7ce1c109162cc24552b2de8355bd8 +IV = b140aa5f0f2312cf7b8696c1 +CT = +AAD = +Tag = ea5f6c5b9224afcc +PT = + +Count = 6 +Key = a90b62bfba34ca0cfb4d5ccd52ff7369 +IV = 5fd3cf7a9a1e2a15ad6a58e2 +CT = +AAD = +Tag = 6f3dd881088a0b29 +PT = + +Count = 7 +Key = 6280067b5626d5d6bf35ab1c903c1d75 +IV = 99523c6f792e03276c44ba7a +CT = +AAD = +Tag = 3a68ccdb69008d9d +FAIL + +Count = 8 +Key = f40b500c70209092efa29a2a7e96ca64 +IV = 86d1047059ee2986bd96daf7 +CT = +AAD = +Tag = c594ea04f674de69 +PT = + +Count = 9 +Key = 6cb7829e2295e60036bb967d06116601 +IV = 4dfb5fb2ea41fae7653e1438 +CT = +AAD = +Tag = bb9b39fe673ffd18 +PT = + +Count = 10 +Key = 05cd9b0de53c072321ae4a1cdc2cafc3 +IV = c869859421df985bbc8c9c62 +CT = +AAD = +Tag = 0f8ad033a0ae3cb2 +FAIL + +Count = 11 +Key = fd025400ab17f5e35c3cae3aeed4ebc7 +IV = 6c3b7e178df39504d3ca2e31 +CT = +AAD = +Tag = 5fd986d21ac0bb49 +FAIL + +Count = 12 +Key = c7678eeb06cd24484b81a469c024c3d6 +IV = a1fea7d9afd9493a83b5d531 +CT = +AAD = +Tag = 8c5828f475c4f902 +PT = + +Count = 13 +Key = 056c731555048f5831a4c7ba57f9022b +IV = a8a13e93a33807811ed327f6 +CT = +AAD = +Tag = c2d9d4fb79d675f3 +PT = + +Count = 14 +Key = c0395a8391049d30f7e0fa7afd1b0ec4 +IV = 381894100b3d786bfca314b7 +CT = +AAD = +Tag = 2fef77ef639adc00 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = d1cb603b886e9deb62cbf5182caaeb35 +IV = cd23f90cfd17727ea0975ff2 +CT = +AAD = +Tag = e319af65 +FAIL + +Count = 1 +Key = e626638a113c617077f5c4b2284921c5 +IV = c4a8864b4c3385a78cb8759f +CT = +AAD = +Tag = 039d51f8 +FAIL + +Count = 2 +Key = 8f74a8b922fcf1a8eed7320df9f03fd6 +IV = 925ec6414e777062ac839f06 +CT = +AAD = +Tag = bb0dc912 +PT = + +Count = 3 +Key = f59152b1d2991e7dfbd6b9cf91d2a9f1 +IV = 776f95b088803b537dfbe941 +CT = +AAD = +Tag = 9163e80b +PT = + +Count = 4 +Key = 72a9159c9f8f4953b6ab4fbad02c019a +IV = 7ca4d31dba07c89b3d5cf059 +CT = +AAD = +Tag = ee28643d +PT = + +Count = 5 +Key = 6ca652634faee86176a8bbff37f5234c +IV = 77bbe192e81594223b8869cb +CT = +AAD = +Tag = d054e86e +PT = + +Count = 6 +Key = d06a1cebb4b1cf8b2f48126bffd4530b +IV = ac7c4c669d5d7749d114448a +CT = +AAD = +Tag = c606dbcb +PT = + +Count = 7 +Key = 42797f87d381cbbec3dddb8e7ee1b30e +IV = c4be94c9b2f76132875374d0 +CT = +AAD = +Tag = 40156799 +FAIL + +Count = 8 +Key = accec0302ba0f854c2c5a6faf08f4972 +IV = 2722ce4848acc2b4cc9aafa2 +CT = +AAD = +Tag = d90c055f +FAIL + +Count = 9 +Key = 117ecaafb5c844ceb9e505f8a33bfa79 +IV = cb95b76c9dbf4b6ee4fe6a46 +CT = +AAD = +Tag = 641e2aa6 +PT = + +Count = 10 +Key = 453e89f0646d2532e3d0d019a7d7e302 +IV = 14732cb98fb4ad26c0ee9e1b +CT = +AAD = +Tag = 232f4035 +FAIL + +Count = 11 +Key = 121143f3835cb0d1f88f8f53a7abdb11 +IV = 601c15958cf77c0ea1c3862e +CT = +AAD = +Tag = 43c61d3d +FAIL + +Count = 12 +Key = c5d7666d37ced3e4c2b9b738d4b38557 +IV = 012fa72716b777e0bc248f2d +CT = +AAD = +Tag = f4208947 +FAIL + +Count = 13 +Key = 5d06c11668c4aa9899496b5d7f229b83 +IV = 0ca7102fff9fe056a5afa9f8 +CT = +AAD = +Tag = d7a7af6d +PT = + +Count = 14 +Key = b63a6afbc9906d23f1e9c0f487b6d919 +IV = 2b091d6b35e4f9ba5f9cfdb8 +CT = +AAD = +Tag = d1eafd50 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = d1f6af919cde85661208bdce0c27cb22 +IV = 898c6929b435017bf031c3c5 +CT = +AAD = 7c5faa40e636bbc91107e68010c92b9f +Tag = ae45f11777540a2caeb128be8092468a +FAIL + +Count = 1 +Key = 2370e320d4344208e0ff5683f243b213 +IV = 04dbb82f044d30831c441228 +CT = +AAD = d43a8e5089eea0d026c03a85178b27da +Tag = 2a049c049d25aa95969b451d93c31c6e +PT = + +Count = 2 +Key = bc3ab28150fd4cb731d5f48ed2784173 +IV = 40408445c203c647312b8f01 +CT = +AAD = 53d2fc19963fc99a36a524e39cb68aa8 +Tag = 3f04dbd2f49909f73044175041fd9eff +PT = + +Count = 3 +Key = 34537f1a0ba093aefedefe8b4b6b34e7 +IV = 9c5fc88eb388ef6776aa2182 +CT = +AAD = 4dd377d089c617dda1ecd42341d1878b +Tag = c0fccde30ba354e23c05b5371c40d088 +PT = + +Count = 4 +Key = 54c3f935982de19de88d6384f9493389 +IV = 3d7eec1cdf3cd419511793ab +CT = +AAD = 2ded8cbc69fa57678aadc7477f2a2173 +Tag = 74107fc192c94a7d85d0f9205f8b02c9 +PT = + +Count = 5 +Key = 790f8945b127a1a418d6d58b4378e0dc +IV = f5694d77b816f2cef0ac80fc +CT = +AAD = e5c71b82a60c97f050511a3b9a09e450 +Tag = 4c75effb688dccd0affe92c0e0391d64 +PT = + +Count = 6 +Key = f6ed6f0afea7e99ab320b525107715c9 +IV = 351e7dc999b9de77ce61b2f7 +CT = +AAD = c9101b64e0b6abc0e46828aec14d29cc +Tag = 4f2ec2e1ab001443a60722671a9c9656 +FAIL + +Count = 7 +Key = 2eccf9cda0e4e70f273ee8251120c768 +IV = 1d869f4b8497bc19d948cea6 +CT = +AAD = 1d86a6a21f23ee56ad0fa6c1de525906 +Tag = 37ffc390298c3ea8cceb382f394c2fc2 +FAIL + +Count = 8 +Key = d61767f07b959e94f73c64cb5a5520b3 +IV = ecfa850395f8cf9348f1324f +CT = +AAD = c3571bf1700b114bbf0c6bb2278d4d88 +Tag = 1065f86bc9e22197880ea87ac326a17f +FAIL + +Count = 9 +Key = 9421cac15ce7d49ec7c088f7524a1ff5 +IV = b3d395bca123b265c05577cc +CT = +AAD = eb6e06071dae4360e8347bfb72d9c188 +Tag = 1f04c228c7efc71f1706d10fd819f35e +PT = + +Count = 10 +Key = 8580395a5d777c1690af79f6068e291b +IV = cad1a0f2b76f064ca56be3cf +CT = +AAD = 174388edf0b7f86fe634cb942c13754b +Tag = 0067b03f2e0efc72cb08792fbe3b0267 +PT = + +Count = 11 +Key = 0c21da9c8b84d371fde59e6d1752113e +IV = f8c13e58aaa329427438db8b +CT = +AAD = b8b197789cfd085b09a47760c28c7e8a +Tag = f8613cc5dcb4cc5c78f1f7c2d8084ec6 +PT = + +Count = 12 +Key = 162fc51e46e771222a04842f5546db8c +IV = 13557e09e738eb895eca2d8d +CT = +AAD = 691e71952c31a6b49b785f627c03e948 +Tag = 4f7ea723b1abd74e53fa356809275ca4 +PT = + +Count = 13 +Key = c46d9562d954801b8e99e4e57cbcc0ec +IV = 30414c934b14e0bb0110ae44 +CT = +AAD = 41ae6a63855c1944446491e80670bf68 +Tag = 3e2366a2cf5632c1ecfde33f1f5f6d18 +FAIL + +Count = 14 +Key = 2904df4dafcc6bbb8375baf6a7eede80 +IV = 6aae8ff4b1609f4026b47259 +CT = +AAD = c4afa7b21e5f41b892be52365a18584e +Tag = e1810fe340207fa83815182bbad62bde +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = a663a6aeac790c61e07e5f8ab843439d +IV = e287d287051c82e2253e33f7 +CT = +AAD = d211a58e7d4884a26669b335c0af8d5c +Tag = cdf52e39cced5c04ddaec8227826da +FAIL + +Count = 1 +Key = 6dfa1a07c14f978020ace450ad663d18 +IV = 34edfa462a14c6969a680ec1 +CT = +AAD = 2a35c7f5f8578e919a581c60500c04f6 +Tag = 751f3098d59cf4ea1d2fb0853bde1c +PT = + +Count = 2 +Key = 5f20eb8f6f579ec235b3403831fd58b1 +IV = b989444625a730876cc1a439 +CT = +AAD = 5881865ceb44bf171a7ba87d63f1fdcb +Tag = 2d9c926c872c04bd0915f3e4ffccc5 +FAIL + +Count = 3 +Key = d1e376ecfa46321a3a4a187fc1524789 +IV = 7387c1af03adfffc53248ac8 +CT = +AAD = e9d8269ecf857dd6afd85fa90260a565 +Tag = 6a1da57b70e9c4fd006e4a669008d5 +FAIL + +Count = 4 +Key = f20681f4b61e72f8a6517e40b5860e0a +IV = df80104736d5acba2348e5be +CT = +AAD = e4247e85dafdabff95b6d8c27e8979a2 +Tag = 746ee686eddfac0785341bb616f90e +FAIL + +Count = 5 +Key = 0f6ee618d0b66fa269398d5d3279931b +IV = 7ac7c776a9a77aa8f7fc653b +CT = +AAD = 2774b19121188965922c4a702c45fcfb +Tag = 58d810fd408978d0f5eb33f06aa861 +PT = + +Count = 6 +Key = 9405240a2e0fbef7ac89f66f9188472f +IV = 60718e8fb2866d27ddff8a78 +CT = +AAD = e86f19201889740743a9b95091283ab5 +Tag = 2984f343aff7e0ad84aa7134f77699 +PT = + +Count = 7 +Key = 9a5f24a325ac049169f7073b9583fa79 +IV = bf364dee6ac48e711aa2af2e +CT = +AAD = 131339c8b9c785350efee37c0c37b6e5 +Tag = 69b1815c978cccdd146c51ad164429 +FAIL + +Count = 8 +Key = 2b51c516898ded4dfedf1839eb09f059 +IV = 8080260add3b5d2182b3574a +CT = +AAD = 303f4aa89c1ce37ff8b36940c65586e6 +Tag = 3750db28f9a09493ab60c9cb426e0b +FAIL + +Count = 9 +Key = 084877d61fd67442461c741afc4cf5f8 +IV = 798bce4a6b8663919dc922e0 +CT = +AAD = 056221633de809d2f48ff41c2d75d851 +Tag = a6c40f9765113e9dea6fd2f8bae96b +FAIL + +Count = 10 +Key = fe9cb0d7753d80686621fcf28705a39a +IV = bd71586f2509814283ca1ec8 +CT = +AAD = 8676d9c9952340c31c9eb9e0d75c68d4 +Tag = d55ab183b959d697fb9145d37a7b27 +PT = + +Count = 11 +Key = 0ddee4104e896aae2849e8c4c5b97da4 +IV = 03d4bf8a036f974f92c77ed3 +CT = +AAD = 742838addd4a519d901736aa0a08d769 +Tag = cfb89c9ad51c348d65f7ce7cc4b72a +FAIL + +Count = 12 +Key = a22e58bd9a09eddaa630d499dd6d410c +IV = ea9a7f75676dcc2f79b9147b +CT = +AAD = 0a730acd7b5805ca0fbfdd5bef7690c5 +Tag = f3c63684015db6cc958bfb3ac84222 +FAIL + +Count = 13 +Key = 8e5f16c84b0dd5357ad66f0540f1bf87 +IV = 6231ff08e050b7f7c5204842 +CT = +AAD = ab622472635a3ebae68aaaf8153df35a +Tag = 1df90759291bfebd7cb239e75746ee +FAIL + +Count = 14 +Key = 31c987a595a80a4c91de68805f66e5b9 +IV = 67edf7afbc125ecf99a804a2 +CT = +AAD = 8648a3452aaa3ff68d488de1abecef41 +Tag = 1c9199d9465ba5c9314911b4ad2057 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 2d4fe4c17b1e86f0316846e642ff3a4d +IV = a8b283438ad968e17fb5a755 +CT = +AAD = d0fdf6e1543d2b0f62c96c6e9c09c977 +Tag = 80149613bc962e4735acf317a3a4 +PT = + +Count = 1 +Key = aebb04a17265c4720d5a377c38efc460 +IV = b607be60340e557013e7adce +CT = +AAD = 3cff96ceffa4c9a2193beeca9444e474 +Tag = a207fb626fb731c3234bad3573e8 +PT = + +Count = 2 +Key = 0807bf020df6ce3aba407e4d4f76ef6e +IV = de63592624932a0805bce0a2 +CT = +AAD = 7c85c60c15301bfff6f2a4a3038b3c9f +Tag = 5c83dce13c5bed35d8941f16627a +FAIL + +Count = 3 +Key = efaa4666776ff4c6a87f563dd2e2794e +IV = 9eb99f9741d9de6d3cbc9703 +CT = +AAD = 3addaaf513eb42606a24311ca7058846 +Tag = df02cfaace61423d45f64cec0e78 +PT = + +Count = 4 +Key = cf8d3e7cd62754bea5092409db3dc6c4 +IV = 5af3d5f1d144de8aca4bbda3 +CT = +AAD = 907083ee93cbf0b9b8421b8083bfcde8 +Tag = f19ebbc361dff17249251c9a7f5c +PT = + +Count = 5 +Key = b894e7483c9f367b41af103f2860a6c8 +IV = 42d71d79e22740e1d1871ab5 +CT = +AAD = 8f78015bb82fbe032a6595e679198b47 +Tag = 96ce7b7f620b697f074f109c4488 +PT = + +Count = 6 +Key = 8299ee6ebdf1ea6e2561933b406de656 +IV = 98aade4ae4cda264b364987b +CT = +AAD = 29a0fdb89ec5c5f969932e0aa0c170a8 +Tag = 60e0a7c2384f1d208abcfd4e4b3d +FAIL + +Count = 7 +Key = 29ac8dc4b69fb48289ceecd435ce3066 +IV = 2ecc8b95fae59fe59402bae5 +CT = +AAD = ec279eebc147897ea067a105c7e418c9 +Tag = d6f6127ec39852f18a7941948e41 +PT = + +Count = 8 +Key = 065bcae64ef1a982237e5977e73382ae +IV = 164fed8cbe6d6cb0bbb6d608 +CT = +AAD = ed7da5abf307f9ceb18b630de9291b4a +Tag = ac22e57ebf8ff258ffc77fa4bbb5 +PT = + +Count = 9 +Key = 1ad71eb24ea2a8055533fc1ec1b51b98 +IV = b27b640c3919a21da93e42c5 +CT = +AAD = 882acc108ee77afc6754089e864f0080 +Tag = dc36f18c131004e815c228a3fe9c +PT = + +Count = 10 +Key = 54f06e8769711b40076d3cfc0239c324 +IV = d607633bd5336ce01c98f458 +CT = +AAD = e8f2f9edf850ade8e7cb55fba052e27a +Tag = ff32f6d2418b2e646288bb105dcf +PT = + +Count = 11 +Key = 8a473ce70b7694cb36efe5f5f268f1c4 +IV = 8236c764c7614dedabdd2dc0 +CT = +AAD = 4ea00a00b2bde6f183366b1ce8c33400 +Tag = 158bba897c1ab0cbce33355947fb +PT = + +Count = 12 +Key = 4b42945e4361de3f6623b01872ff5f95 +IV = 5d7ec8f90b140049a8ef85f6 +CT = +AAD = 50feab5dce291d771df81b0124da29ed +Tag = 90590e115ba688b50a66d59eb8b2 +FAIL + +Count = 13 +Key = f2bad7d4f033b19c3b918da3021b3edb +IV = 3825afbecc01cc66caddd402 +CT = +AAD = 49a6738279742410a0ce63276306c288 +Tag = 95a5980947205fe2225dbd39d098 +PT = + +Count = 14 +Key = 2c113bdd16d5f827bb84d9a9f1e2ced8 +IV = 97ce5737ca5305cebc3dbd0f +CT = +AAD = 6833844c135173f2641190a5c81e2d38 +Tag = 9576596016c502bfb51adf861405 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 1dfee02fd2e411d8a95218059717e65e +IV = 534f2db1833e2b95d17f4749 +CT = +AAD = 969f2d219986f9e3305b8be533ca164a +Tag = 750e26041514a140374e857b19 +PT = + +Count = 1 +Key = 80a351296fdf716a59ce9cd3f3db1378 +IV = d57877a78eaea750131e1f62 +CT = +AAD = 89d5b612686f10f4523ad8721abb4a17 +Tag = 1445fe02c7eacc1968b5c2f436 +FAIL + +Count = 2 +Key = 44cdf8d44d4a85d4c718b6dfb3565f1f +IV = 5fe0e438db113e46f73f0227 +CT = +AAD = 76fbc7e5d64be21cbb341b32ea61d8c6 +Tag = 98aaad6c40345751803926295d +FAIL + +Count = 3 +Key = 5e86779506b46f0eabc6181b5a313222 +IV = ad02946f9f4e148462d14eea +CT = +AAD = 89d777550c1c2148dbef73d7179d2bef +Tag = dbfdb23c13eec51652128a223e +PT = + +Count = 4 +Key = 0ea30aaa137345525472dbaa01918c86 +IV = 5ab6b70b7ede3b3fb08fcc39 +CT = +AAD = 64c3471c9ee1da88220ebae0a48cf98f +Tag = cd171585c15995cedfcd148582 +PT = + +Count = 5 +Key = b0589030b2496a3b7ef823e2cc39bfd5 +IV = 6b9d5bc27d46fcdc6fbc39a9 +CT = +AAD = 7639433669bd4c1a1f3b1ac04fbf9cd8 +Tag = 83328a0e57afdf647e59a2d2c1 +PT = + +Count = 6 +Key = 81b27f066e5508f361cb98b3f378199c +IV = 9ead7424a30cdc069b8668ed +CT = +AAD = c19b80309e4aa34569f3058d13372b94 +Tag = a1127f3719147804e4eaeed8ca +PT = + +Count = 7 +Key = 61a35d01df1b36fdbce2a6fc52b28305 +IV = 9d1708a0221d1d9bf3354a79 +CT = +AAD = 5ed9b0cd7a5e4072cce8f782a5438d1f +Tag = 954fd6412d4b5f93d681c27baa +PT = + +Count = 8 +Key = 15bbdcee8d262dfcf68f451e24bf26ca +IV = c33f1f1eb456e6fb6d2277d3 +CT = +AAD = a3562c2071373e21cf346fee25cec4f2 +Tag = 1ce20f2935f8b8433a6820c228 +PT = + +Count = 9 +Key = eeda4ca996042630c017972b3bdaf09a +IV = 0e02cd8bb87275df5287cee9 +CT = +AAD = 4ff3c0e013efca89e774b5794a8ba170 +Tag = 3b0e6daa01ad734c2eca681bf2 +PT = + +Count = 10 +Key = 75798e2e0ee570b06d4c47786336a099 +IV = e17c46acd0b0bbb15a5f9349 +CT = +AAD = e3779798212e7e9b4b2f387fbbbd95fe +Tag = 1ab3d2c1cd55a89278224fc037 +PT = + +Count = 11 +Key = af2b060a94b20c9960f94fced963b2c5 +IV = dc8defbb5e45227e8576f45e +CT = +AAD = 122f529fef4445f11a34111e10fd8b5d +Tag = bb862654b76bd729ced4b4e9ad +FAIL + +Count = 12 +Key = e1d07f1bc8f4a4b145badb96c85a82a6 +IV = 685e9636a2915adfc867889d +CT = +AAD = 80c001fbf00b2bfd38ce903f0cd72db4 +Tag = ac9191dbb057b670dc76a194c2 +PT = + +Count = 13 +Key = ec4b3c2e077de7c2d62e28e3d05fe6c4 +IV = 704106b91d3a8f4dbee3ddbf +CT = +AAD = f27dc1430cb30f8018cfc670eec9bb71 +Tag = d28d19fbedf2439140b0573083 +PT = + +Count = 14 +Key = 0dbbad4a54122500bb584787bfe94a86 +IV = dcad55f03d29103503858ff9 +CT = +AAD = 3c26ce754334b7fcc4576f4014349134 +Tag = 3251f275a3be44de87c5ff0544 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = d36cd8e8dd709b68433b4cef15efa4b8 +IV = dc859fa01cf3992fd5e74ba3 +CT = +AAD = 5983b73431118f294a4de08a4fbfbcc3 +Tag = 109412f2cd3dee2e75d9d90d +PT = + +Count = 1 +Key = aa2717236879b0bfc29661187c0d2420 +IV = 1264dcda92ded29c03d846be +CT = +AAD = 6b12dfb961f2e4d0ca2cea60666003af +Tag = d69227a40670b13097d6f583 +FAIL + +Count = 2 +Key = 308a70f727df2e3c0f9da9f6607710b6 +IV = 1a790ff86fc2e6a428c9dd89 +CT = +AAD = fa18646779fa5a8ce9e271de0872f76d +Tag = 68ffa9b8b2cc804935136712 +FAIL + +Count = 3 +Key = fb01d2721acc1c4a832232bb7ec59163 +IV = 6cd3cf1bc45c6f26b87b95a3 +CT = +AAD = 3fde68f37caf7e0f38c0281e3fb5e9a1 +Tag = f9da75272d67a6e180764a18 +PT = + +Count = 4 +Key = 8478e6653acf07ebb766bc941953aa23 +IV = 143b6fe40260052ddfc4537b +CT = +AAD = 12f49ae610cea95e776f27f0ea433dc6 +Tag = 60aa4aefb53b800e1efd64bf +FAIL + +Count = 5 +Key = f56ab97fbd0a2d8c6725f5a5ad117a2c +IV = 266a436d9d05ee331a3ec858 +CT = +AAD = f31a01cd934b44208e9abe08c21f8be7 +Tag = b07258864aa6083fc15899e7 +PT = + +Count = 6 +Key = ba8a42bcc9d0bcbc9129d536d2364ebd +IV = 6fc5c4ddb461acee4e3c2271 +CT = +AAD = 6bbb55b97c9cc3cfffa4f450b0debfee +Tag = 3696c121fbb1def560c14182 +FAIL + +Count = 7 +Key = 827e4e3e9a4de530ae43510b94a55d54 +IV = d6c7fba9a73e76f6d1b015c6 +CT = +AAD = 3beff1d14cd6021b709d399d02015b05 +Tag = 2d58236b7e8113c821ddb4a0 +PT = + +Count = 8 +Key = 608ab3f94dd16b51c9afe4ba8dbdf852 +IV = a7b32bc6c976e8bd839f9af9 +CT = +AAD = eb212ef0a3a307024978a2c41a41d8a5 +Tag = 7aed47ba76b07717558bb87b +PT = + +Count = 9 +Key = ef50e9ca5c53c2ddf49ccbd3c41a5a56 +IV = 817bee5ddedd26601cdb7cbc +CT = +AAD = 75e26952eeaae53d83f77a3a502d3ca3 +Tag = 37245789deaada2d0dc5f2d4 +FAIL + +Count = 10 +Key = a9811b598adf0bbc34395b43829e86f6 +IV = c0def2f064789ad5d8f63799 +CT = +AAD = a735aab3b327ca3f575a09157b77a1c7 +Tag = 9f457e8e4757dae5cbd395bc +PT = + +Count = 11 +Key = 3d906fa69252e00551b4a6347fe367ac +IV = 067ea32f23e29d116fb0512b +CT = +AAD = 4bf2a2096e27e75448cde7744b0209b2 +Tag = 5b2b492b7f173d12c21908ad +PT = + +Count = 12 +Key = dc86d425a378afa7f292af98a1aaff5c +IV = c81e4c2cd69d50d3bd6701b5 +CT = +AAD = 1d7188ccfca64d405f3d1388dc638ef0 +Tag = 62e6faeb753a7ae8e2dc8df6 +FAIL + +Count = 13 +Key = 11af7414ddc2e72bfee974bb48b42c5c +IV = 117378b0e957f72f3a12bc9c +CT = +AAD = 20c4fea7c9de2b365584c528bd11bfed +Tag = 0beb6ecead9c79ddc884c2bb +FAIL + +Count = 14 +Key = b0cbee76b56d6600a8ceb8867b0a1a7e +IV = 4afb1c615c8c38fe95cb63b8 +CT = +AAD = a51b9a87f045b24f0fab49c48a2dbbf3 +Tag = c785d8b6d9e2e596fccc9a3f +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 886309d421b1f511486a20355eb79395 +IV = a6fefc79a85f8992d16e5ae3 +CT = +AAD = 8149ff156826b87c8c8b3c2934dd9f39 +Tag = 024a7681283e161a +PT = + +Count = 1 +Key = db21c21a5c8bd28e93dba6878615ad86 +IV = 07226f1f50a5009b2d5d4f32 +CT = +AAD = ee5b9006f57359c65d0821a00007ad67 +Tag = dd9c3abf19a3d103 +PT = + +Count = 2 +Key = 7ac2917f94082664931eadd3158c9fca +IV = 61aa301789a9366060c73ea5 +CT = +AAD = e50ed4d9d9a35b2aed6ccabc0af1ed03 +Tag = e5dfc6e72fd5486d +FAIL + +Count = 3 +Key = 9742c0b7fd783753ee8835942792dc43 +IV = dbb248014cacfdbddef7e7b9 +CT = +AAD = af380abe3de5545878bb1ae099f307c0 +Tag = e222845617bb375f +FAIL + +Count = 4 +Key = b774019f2e9ea6b13e9a411af01a6065 +IV = 36a011301331996b861738e3 +CT = +AAD = 909132fe6d08cf49b69a8209867777e2 +Tag = 1185c16688c0ef71 +FAIL + +Count = 5 +Key = de3d64a66864683a02f205d440a24e73 +IV = 3392764b4f6eaceb3d69c1e4 +CT = +AAD = 87fff2a88d0ea653959cd8bbf4bca8a2 +Tag = 4d50ae0ea9a28bbc +FAIL + +Count = 6 +Key = ef9b7ca2b18f55bb7a3bb7ba3fa62031 +IV = 58b7a0b812c9a17206494e06 +CT = +AAD = f52669c5f6932bbfa3a1cc0f9e3b24ee +Tag = 871439b37af0c958 +PT = + +Count = 7 +Key = 011cc26288a8c087768fa013bf167874 +IV = 9f61fda755d62eecc5dc827e +CT = +AAD = 583851ac017e6c842cc81f63b558da12 +Tag = 6000905823a7b752 +FAIL + +Count = 8 +Key = 87f402048a4c8eb9608e79b9afa722f6 +IV = de395b90b712ca58c19015fa +CT = +AAD = f0209ca5b690fc1fa0a89253e5f487ca +Tag = 0da2d62b50bd3908 +FAIL + +Count = 9 +Key = 914ade668d5f6f1f79d9c40c8c9a25bf +IV = 2a73838d3815c67ecd27d4c0 +CT = +AAD = dec06de86f475524f58185a0ccf0f1cc +Tag = 1816763a95005d34 +FAIL + +Count = 10 +Key = 654f691c9c103d3255fddc86793a7d05 +IV = 904f7cca5023878d37e6a949 +CT = +AAD = 85aea056c9899e15e889b9a870fcd331 +Tag = b624c38ee0e0f80f +PT = + +Count = 11 +Key = f85127a9ff5fd472736deb6234a9ce5c +IV = 0224574e902d7e1bf73f4a26 +CT = +AAD = 2a7e67a40eb3258fad2f5c0dee0768ec +Tag = 6a068eade010bb92 +PT = + +Count = 12 +Key = 6280dc091170a341df1fe828107d0f36 +IV = c17196aa7a84e517d50f6f5c +CT = +AAD = df4992ec542af7f8ad554643bb6613ef +Tag = c5d644b34355c3fb +FAIL + +Count = 13 +Key = 5240b13193b227499433f56ca684f45f +IV = 6601d4e205cbd97b16b106b8 +CT = +AAD = 4f097efce62ae2ecc2290fdbddc8c144 +Tag = 71a3d4c38674015e +FAIL + +Count = 14 +Key = 70c776c8369e28af0f6f2592ccdd9bbd +IV = 6050c79173ef26b498312c88 +CT = +AAD = 1ab572978b92f6aa4e2671d237347a2a +Tag = 9487c3ce4be861d5 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 4fcd27d00a4ffb43ba26be21becf77ef +IV = b9af4de423f0508b20bf4783 +CT = +AAD = 38180150f1157bf4809c6d34429470cf +Tag = 76e1d247 +PT = + +Count = 1 +Key = 690a6964e0c104d91d9096be6afe87c0 +IV = 727f7b7f47bd69649468b3bc +CT = +AAD = 2b87c8a6409e60fcb783a21f9d2d0546 +Tag = 8ffb5ab0 +PT = + +Count = 2 +Key = 3ca7712aba5cb722ee2c7d14efcb0e5b +IV = acc731f231d2c3a201875863 +CT = +AAD = e072ac8ca8acba3578c7fcc94c37a5db +Tag = 2bb33ca4 +PT = + +Count = 3 +Key = d33516570d050a64d830a6bf8c5111c2 +IV = 5cf482ac6897d7baa3885f7e +CT = +AAD = 7c9317a93adc79352649bc52ea1d9466 +Tag = 0c24a3df +FAIL + +Count = 4 +Key = d6e263fc595aca4dbd465af33452c3c1 +IV = 049245f71fbcd79d348a2506 +CT = +AAD = dc7506b3075b570fa4d03c47510a5707 +Tag = 60b4e60a +PT = + +Count = 5 +Key = aaabce4cb5fafec138dcea74fefc3ba1 +IV = 2940b31c3526098b469d0a15 +CT = +AAD = c6e035c3712f06421a2b6d0554812027 +Tag = 2ca128b2 +FAIL + +Count = 6 +Key = c1cc791fff23963b6fd88a8b7042a13e +IV = 9e3098e30c96d192ee8ce91e +CT = +AAD = 9792dfd146fd42d5197b1486b05752b3 +Tag = d9cc3cc4 +PT = + +Count = 7 +Key = 3ee991dafe1b4bc279d1cea47873fe11 +IV = bb2ca55ddecaabb53d46e27a +CT = +AAD = 26b2a3f0b458adf82a4533c1dd0f82b7 +Tag = 993df7d5 +PT = + +Count = 8 +Key = 006d16932816f94b3b6cd23c60194f12 +IV = 058b91ca513fc8b836147891 +CT = +AAD = 2d35c823a393ba172dfe4e67eac50249 +Tag = e438081a +PT = + +Count = 9 +Key = 23df02251915aaf1b7c28490b4cc94ac +IV = 993d0ad4319520964ee2d315 +CT = +AAD = 21ab774467356b8bdad5562e41f585f8 +Tag = b7ff5e46 +PT = + +Count = 10 +Key = d9f556e5f2c3844797fab0f4fb02cde7 +IV = a8c1f965c981055ba00c3d5f +CT = +AAD = 32cb047a870904c92fc3add31147300b +Tag = 4969c3bd +FAIL + +Count = 11 +Key = 1b6a10071441ca2e90d133f090438837 +IV = 389383130711b0284e07c662 +CT = +AAD = ec457003332be343f3e526d2238b73cf +Tag = 35ea614d +FAIL + +Count = 12 +Key = 160c117ce908cdf8df806ed943dac58e +IV = 010d5831be17e69303e36592 +CT = +AAD = 7377e35610730a9b5dc32230dc36c6bf +Tag = 54508c84 +PT = + +Count = 13 +Key = 4418e9f651be5b287ee92893bc02c28f +IV = 52a0f9a0abcd9d45d4a7622f +CT = +AAD = 0f49d615e8750364db69d02255e90cb0 +Tag = e72bc5e7 +FAIL + +Count = 14 +Key = be167e9a5474429d179a1a9effe5d963 +IV = e4fdad5c151609d715605622 +CT = +AAD = 53708532b81967fac327fdfefbb9a0f2 +Tag = 0b1d82bb +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = b1089cecac8e1a56441353857246773c +IV = 1af1e6f40b1b21fcb38f65a5 +CT = +AAD = ed825cbf40e8f8f198ce1afd1141a3cf391cee73 +Tag = 0edb6756481560956d506a8cdb082db0 +FAIL + +Count = 1 +Key = e6a76441748e6903a8b7ef114f631dd8 +IV = 79706e2030f9938576d8d9ae +CT = +AAD = d2e6fc9e97ed37a0530f2744ca58ed81f0ddd99f +Tag = 102bb898d4ca9780a69aa159e8c92228 +FAIL + +Count = 2 +Key = 5211242698bed4774a090620a6ca56f3 +IV = b1e1349120b6e832ef976f5d +CT = +AAD = b6d729aab8e6416d7002b9faa794c410d8d2f193 +Tag = 0f247e7f9c2505de374006738018493b +PT = + +Count = 3 +Key = 0335807df98f4728dc982efef77686bb +IV = 5cceb5114b6701989957c926 +CT = +AAD = 5bc191e74d849733fea6b8212d01a19ac274bdac +Tag = 3f5e29ded16cb63f9ba8c103fe753595 +FAIL + +Count = 4 +Key = 11200dc2b58b3601f95f95cb80845493 +IV = bfc175513fb49d9be980d6b2 +CT = +AAD = 2740904aa8b7096a7bd7400b3023ecd042061a68 +Tag = 548deef09fb8d22252f956b28d8807a4 +FAIL + +Count = 5 +Key = f8869d9df1ac6da86e905442fc425c92 +IV = 22b0af177e3154cfef3dc2b0 +CT = +AAD = e07715b1d919f8bcb8b2c4ba998b87e6286d82fe +Tag = e08ea41cf27f344db855564cb94842b1 +PT = + +Count = 6 +Key = dc945bb910f648b228482ff6ea37c0dd +IV = 6fe11889b190056d77d3114b +CT = +AAD = 925c4a09fabba4d9df9320735f4753d0d75a2eb1 +Tag = 4f4a5106624a7eb722a4d0ed56b074ae +FAIL + +Count = 7 +Key = e97ef05d5272238514b40eb9dc37254d +IV = 77b02548a863130e64c4f23a +CT = +AAD = 16d11153706a45edcf5ab14775d6fb117c99efba +Tag = 49a4c763ed312224796fa0981b2f6067 +PT = + +Count = 8 +Key = 10486a4ec7a139c45392d11389312b65 +IV = e5fd821c83a47ca17baee945 +CT = +AAD = 9e794623863a6a8f7600e5d3dc906fb569e2d621 +Tag = 2255a12c2d4bd77a1e557f0f332f747e +FAIL + +Count = 9 +Key = 5b360040bb672a55a8a893afe9309169 +IV = d4795970cf41b54f673a5367 +CT = +AAD = 00fccf7ea5873e5bd437b4ef5e3b8543afdf0214 +Tag = a104513ebe3adaf87b7284d1f1c71c12 +FAIL + +Count = 10 +Key = 27bd1dacc704c5bbcbd7615ac5ebee14 +IV = 444d84e15fc7ccfb62aa46c5 +CT = +AAD = 0d964255b4862bc2c790d0112fd0b67c29fd7e88 +Tag = 3330fcc53223b49b5ef51d9352b32e97 +FAIL + +Count = 11 +Key = 7f0cb9efbcda58d5929632770b4ed3c3 +IV = 9d5f05f623dbd0d68c3940af +CT = +AAD = 74af77b5479ff8081486ebb2411d68632b964868 +Tag = d31b61e0c93b825efc7f04a9e219dc03 +FAIL + +Count = 12 +Key = 1bf60336203befd206d5e6cbe485dd1c +IV = 4e75611acd124375b7805908 +CT = +AAD = 32b4b023b13718da023d5f078b8d61c13640a33d +Tag = ee2fdafb44210218c95091dcaf6252b5 +PT = + +Count = 13 +Key = a6647da2721ee284eaec27ef95e6de0a +IV = 4c99b4c11b5403f164fb68c5 +CT = +AAD = c1e82a1c4324eb09add805623f9af291709ad9b0 +Tag = e892470ed058683bd5574c7295d84b2e +PT = + +Count = 14 +Key = 423506441e5237fbdead27eea94fd0a5 +IV = 5d390c71f28a2f09fdab125e +CT = +AAD = d78b51b89e01771483423024184eed27ca0ab8c3 +Tag = 8485ab4c8b8b0f9f2555aafa55680751 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 3d6bf81f7da68760662bef37d5eba284 +IV = 5253da22c0263e2927541785 +CT = +AAD = f5e60c2b9ebe6b0b2d9fb92d75f0016ee4ba55f5 +Tag = edee93cb640c3b54004864937a6042 +PT = + +Count = 1 +Key = c0f28e7411a611c889f4347ff02d8744 +IV = 521de1edcc4eafe5e51115fa +CT = +AAD = 22a56df5cb9124fab065ee004a7da30efc904e42 +Tag = 167dae81116dd8b41f4ac97c486600 +FAIL + +Count = 2 +Key = 6c4e26f399d032a143edc63826547795 +IV = b5755e7bb8a76f41f2cd9b11 +CT = +AAD = e4da7433174674dceccefb4a6030aebc532b6703 +Tag = bed3146f00d8cbdcf2541eb40a7c52 +FAIL + +Count = 3 +Key = 49a93ce896ff9f902b911d77f4937c9e +IV = 221b3045f1d92c8a8ad4f1dd +CT = +AAD = 61ae6bc5692e8f1a13e169a88030f607d4dc365a +Tag = c3d40c7df1c12442d9ad80f8589897 +PT = + +Count = 4 +Key = 71bb4ee6975fd62b617e72d637fb60be +IV = 5af0618e4e8dd5236557bba4 +CT = +AAD = 0cab663a7270fe2309e00d0e0eec3e46a85515b2 +Tag = dd1c43368474dee3bb69b59ba85398 +FAIL + +Count = 5 +Key = 4272821505bf7db8cab767ec6de3da86 +IV = ac04e59d4b89ccabf67008a0 +CT = +AAD = b783bacff9a44f94bcb548027e92bc78536d704e +Tag = 79b3249d4c321d19d25bb7564a2021 +FAIL + +Count = 6 +Key = 3dc68ea929363dee22056a4e4cd3f226 +IV = 9db9c929536c149f9506bd66 +CT = +AAD = 270c86631c9d07cbaa69896e730a12ed767e1a2b +Tag = 12cf87bc43af48ff792e18309e8725 +PT = + +Count = 7 +Key = 15f922bc6eabf5f22bd3fcb30d9bee61 +IV = 58903a18fa8c4aae870090e9 +CT = +AAD = de8989b31224ccd7549d1b1167c9838f80376d07 +Tag = 62f4622ddaa86af6931a8ccf8a849b +FAIL + +Count = 8 +Key = 621cd8355b13e1c20d69dcf5c629f0d2 +IV = eca6ca8a5a089f2b7f048318 +CT = +AAD = 08ba998285e4db8ebdc4ee19f17f4a5f38fb96ca +Tag = 33a7f21de211c5c771173b06cfa733 +FAIL + +Count = 9 +Key = d324c91bd3584b682d6d11fd17dc4da3 +IV = 7ca3e47c4a1d95db809baf5a +CT = +AAD = 38e897f61ff71e84fa62e8efe6667fedad7ce5b1 +Tag = 23772cdf892fca4b6a9cd68a51f90c +PT = + +Count = 10 +Key = cce5110ee9a785a634aaf2a9d6cd7269 +IV = 7f051fffa6b838aff6b29254 +CT = +AAD = 549a5e9ea6b3d2dc374874aefd47fc7a2d646333 +Tag = cc2c0a9e791fc9de8cda2048bd1449 +PT = + +Count = 11 +Key = 17dcdfef29bede8b7d47e64dd9c26466 +IV = f8712a67964fc11fba18af40 +CT = +AAD = 58e00bbedcde3f1862b1cc404658df867dc8847a +Tag = a10a0c517cc99312efedb351534930 +PT = + +Count = 12 +Key = c8e7a1e280bc562328a75855f3b0599b +IV = 8e7e6e6b01f75c7c82cb4827 +CT = +AAD = 44b72a4a0c190ee4e832f140ed2dd1f972d3147f +Tag = f4b1e6d3dd51279431293352a57ca1 +FAIL + +Count = 13 +Key = 0d473de7a39a623e9404bc4292314475 +IV = af6c1e10d52b0ca0770797de +CT = +AAD = 71d101d6ca13e20f237f22e441bf94c43834e94a +Tag = f92681188699b86c6e382d13883a39 +FAIL + +Count = 14 +Key = 603e741c0299b1b841f28c8a462c2701 +IV = 708c52740e581bc341a7b862 +CT = +AAD = e4d19b1f3265201df1800f825b718d9e0199abbd +Tag = c8115088fbff1bb27030220b986205 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 622f7b0825942026bc4d30122ea3e144 +IV = 6637abf51fe581bbb93c403c +CT = +AAD = 5ca9274a74fbcbb085454932b6a9fe92b0cd27ae +Tag = 6a72ffcaa7f405042b43db08facb +FAIL + +Count = 1 +Key = 6a68e7209a1ed3da8d6e57ce106b6dbd +IV = 55a3c18ace58209dfdb3b9db +CT = +AAD = e3ed16920bf639f9dac57bcc22e047f59dd92818 +Tag = 147d6a16451180ec8445bc3f14c5 +PT = + +Count = 2 +Key = 784381f0b5eb2637075ce4437768d376 +IV = 45dd323e72aa3aedfd162768 +CT = +AAD = 045cb726cf8505b0287427af13138c008834f1ad +Tag = c1bc30c3157cfcf9f8e6b89a133e +PT = + +Count = 3 +Key = baa7e67b0aff439a9eb6dc202fd42114 +IV = a1029508420a892a667212ae +CT = +AAD = 523262acee730181fb0643ff0402721f8dc9ed44 +Tag = 788f6affe292c97824b55f331327 +PT = + +Count = 4 +Key = c7346b134af50d38a884c1922d097fa4 +IV = 204c179b51132bb18b4a7c20 +CT = +AAD = 1ace2b6ce78142fbf2524efa07cbcb0cd976e239 +Tag = 5498bd8748e21cc889a911fde1b5 +PT = + +Count = 5 +Key = 58a87c2c5f6ac501af7ed7c528d50277 +IV = d2979bed31630d7f6bbcf7e9 +CT = +AAD = a61d2def076a216e3b1794a91dfb403eaed20009 +Tag = 3adbcf9afebcb7a8ae0df40be456 +FAIL + +Count = 6 +Key = b7800feb82fe5a34f8d94a41cca8f148 +IV = b350a4361d504ffe162ddb87 +CT = +AAD = 6d41aed566dd914af6185f025f3facfb7034c381 +Tag = a2c90ee594a067e4c7d5dda6c74d +FAIL + +Count = 7 +Key = 14b3ff9af54e88c157ea037e30c6db58 +IV = cd4b0140851194d23d252574 +CT = +AAD = 6b026ac5eb566b8df3d84c5bf3c7d7ef9a14c6fb +Tag = 226b3256c66b01259bc8d8b72829 +FAIL + +Count = 8 +Key = e5e96f0c9aa9350670d5daec41ba5f1d +IV = 3701fb78594fe22dd6897a18 +CT = +AAD = b5f2ee314cbee7778a767f3b61ef08c3618aabe9 +Tag = cf8534329ecef3a56b21ad52e1d0 +FAIL + +Count = 9 +Key = 5204045214b98bef8a87d6b58a3af419 +IV = 77fc2e5e69105fd870261b58 +CT = +AAD = 36f00efe5363daa76f2d5ed1723f6ee035ccadb6 +Tag = f29f627c7a9a3b2508da940a765e +FAIL + +Count = 10 +Key = 4cc74d65bb5be339416ebc0b1b9f094c +IV = a3fb062d8adbb9a3dfd794c3 +CT = +AAD = 4d8606821d61b66c4a37609c19c68c3097eaf831 +Tag = 5c6ff6bafd618eec4d3afbbdb9ac +FAIL + +Count = 11 +Key = 8806e1163ac01f250fe203af8307b362 +IV = 796f1549005c756d0cec5b4d +CT = +AAD = a15be2fff36e28b0c411a42bdfb3fc61e944d797 +Tag = 325a6f188c927d42308ecca458cf +PT = + +Count = 12 +Key = 99143500895d1a1f97a395b909c8087f +IV = ecb9f2f98b3eed0dbd39b6fc +CT = +AAD = 8476c035ac3d7257cd9d02bd7c86660400267811 +Tag = 39644429fdc42d85d3f4cb482f36 +FAIL + +Count = 13 +Key = 8acf1262bf0daed4250c71a08d1ad845 +IV = 18ed6db832fe94976cec82c7 +CT = +AAD = 1f05d8ad1cf501f2dc08c4aa7846c0a06dba153f +Tag = 9ade883a2b2d7f387167977a2f54 +PT = + +Count = 14 +Key = 2ef59e141bfc094b219ffde024875c94 +IV = 0401dbe0e98b394a2d3a5881 +CT = +AAD = c12b6c891918319523c94922d4231f52ed9c1800 +Tag = 4d0ff1744deaf3c76b46e46db47a +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 81a94d59bab704057915a945edcbbc27 +IV = e84a8a3734397797ba02ed37 +CT = +AAD = 739b58baf87a3c5c18cbbd9e30bb5ab6df039d33 +Tag = 212cbcba98c8edd33ff121f5ac +FAIL + +Count = 1 +Key = a011a0343271a46294dff492e9fbbc95 +IV = b10f521d7f1326c260dca5ab +CT = +AAD = 50acf3bbbae829404c27124aae6d79d7e15e7445 +Tag = 238b5908fa6f91c435d2efa0aa +PT = + +Count = 2 +Key = fb11263144e6c6f7c964035103330fd5 +IV = cc22429c86c1e779814c3107 +CT = +AAD = 88ef6a63a0711532fd23eaa851167d710abaeae3 +Tag = 1c36ab79a83fc66810e3a29b5b +FAIL + +Count = 3 +Key = 73da2317e0dbace79415870d1414dc73 +IV = 705f36ec467dfb96e01d73f2 +CT = +AAD = 5730042a395fc1387fa9803dcbea6e27e1abd3da +Tag = 3ffcad19eab2bd22fd5caa101f +PT = + +Count = 4 +Key = 57c9ce37bf31a5b63455819830a6eaf1 +IV = 0ff4552e3bca6d783835d083 +CT = +AAD = 21dcbe2313c396bfe781cae7a7ca408c48401019 +Tag = 73c6bfb74b2026a3c3547a51c0 +PT = + +Count = 5 +Key = 0c4cd849c5e682e3d0997bf875165356 +IV = 9e73b685bc7e37048d5b3024 +CT = +AAD = a683c8f50ba408f82d364887c45924ea418cd662 +Tag = 481937955369ce8eae8474606c +PT = + +Count = 6 +Key = 423d77ffd84c36916e211b38e0f36686 +IV = 4e6aa0305893398f060d7b5e +CT = +AAD = de649888decae47fab6bb050e2f5765c479f53af +Tag = bb0f418d76685c6006ad62aeff +PT = + +Count = 7 +Key = a6e124d48379a347f207d6fcb751a019 +IV = 0743fbd1c2b365d858c6a71b +CT = +AAD = 4193e9ddbc98a34fb8f3e9e9ecddcdf24e405001 +Tag = 4f710494366662fa345a05f7cd +PT = + +Count = 8 +Key = b62e191bcf21e26540bd6058d9c49231 +IV = 69d9d07a6dffb75daff46880 +CT = +AAD = 16b9944eb1ca7adb9148abc84d9b8e5825907e55 +Tag = e52b15762f89d8ad1c9c92e306 +PT = + +Count = 9 +Key = 0d0fd4d9ec23f27d5a3e9aaa9af40d4b +IV = 9145f31e012789ee81e6ac3f +CT = +AAD = aa244384df4179c3c2c93177cc05a75d5e5d5a08 +Tag = ae9aa9523dfd4e3379e7f72766 +PT = + +Count = 10 +Key = d6d2f1de02a684d0a6517f33385d7d24 +IV = b474ab4bb2b5d4f45b23d733 +CT = +AAD = 80d4e8b1a1cef3c17e3e937d4db0cb1e9d5e1cfd +Tag = 0df6cc4b074729b57ed16a655c +FAIL + +Count = 11 +Key = 1a411ca5de25cd63d1f74bf35af76234 +IV = e2695b028bba6c578b6f56ab +CT = +AAD = 146728296dd5f7b89b614375d53e89a9f0721e5b +Tag = 19a8abe6f46fc280bda28d007d +PT = + +Count = 12 +Key = 8ddd3de104abe99437e543140bd8bc84 +IV = 054e08ec2e60b70624c70e31 +CT = +AAD = 9e3f571f82e6ebf9c46c30c97d21099b30efe296 +Tag = bfb3f57457c0b729c15730ed23 +FAIL + +Count = 13 +Key = 75eae8f5ec7a5c8882f4a389600da8cd +IV = a231cd40fdb909ad11c457d9 +CT = +AAD = a50d3e45b23c77157cb0e01c2a679e6d99c038e4 +Tag = 2cdb6764d05055357eb679bc82 +FAIL + +Count = 14 +Key = 9e3bcdecbdeeb1a824207d0eea94e069 +IV = 95bea03a5273a7d8d36879f3 +CT = +AAD = c95871d65d57263ccb920a7d697079b1fa3f1880 +Tag = ce6298b88b1882cc34bea09b10 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 876c4860970f1271e1558919ade5273e +IV = fcb12c16758ed9e44a94796c +CT = +AAD = 25ed44133b3f85c2062613897aaa0ab060f333e5 +Tag = e5b41b3c161b99ceaa7098be +PT = + +Count = 1 +Key = eda834b22fa18f2024316fbf2fd23207 +IV = fd4ae0021d3b8a98c31482bd +CT = +AAD = 9a9729ce668ae1aaa8d98bc833232e9015866478 +Tag = 9d1e5e4cdfafc0578e6670b0 +PT = + +Count = 2 +Key = 500445e1289745e880831ac9bd9cfc76 +IV = 5560c5bb39ef13cb921e2bc3 +CT = +AAD = 504c7cc190c9dd5e813cae3bdf91ddb6466bdd3d +Tag = 44c618ff87ce2f0435f8cdf2 +PT = + +Count = 3 +Key = 9e1ea40378c695095863b8becb22bde4 +IV = 9190a4ede1a0c3f369455a6c +CT = +AAD = 011802b3c97aeafbbe30620f23e0ec4a79adfffd +Tag = ba296c9166c60525ddd3c276 +PT = + +Count = 4 +Key = acf9139776a80c3052bb4c8f656afc51 +IV = 5baefcd67b99421a89a7f9fc +CT = +AAD = fe9bd75acc1aead54a1b3b2924ad9d7eed125e86 +Tag = c3961bcdaa3ca2bf7d8bb3f8 +PT = + +Count = 5 +Key = dd82db69c72f92ba4672f784680534fa +IV = 0823732dc3286b7ec75dcc28 +CT = +AAD = 03986d4a62f35944a3d4fe6c4717a48facb69fa7 +Tag = 08917be8737002155f4914e5 +FAIL + +Count = 6 +Key = 06f26b65e260e5e998a186b69232e080 +IV = dd7f8ff85dd8a0b18322b6ba +CT = +AAD = 32af790a2b4767d8a4aefeeea5ec73ef42ab1426 +Tag = a9e5c27c2535dadccf43acbd +PT = + +Count = 7 +Key = 20880c27afca5fd2a581c10b5c6df910 +IV = 6d8a29c57e988291a36eb57f +CT = +AAD = 338fe38fd3e644474f6099e553b4a92834421d7b +Tag = 07984430dbd3241099887653 +PT = + +Count = 8 +Key = d1d0f6dffba179dc65c78e98c01ac939 +IV = 7afecf9225e678505a715439 +CT = +AAD = 63a4c15dd9e52a45950d527fd5af836d76fdfde1 +Tag = 1d319b9976ba35ae3a9735ea +FAIL + +Count = 9 +Key = 8b05473af07611dfc8bb7de61a54659d +IV = 825eb9dc083c2ae7fa281c3b +CT = +AAD = e3e3c7cdf786e38841be14b149871dbd88004d63 +Tag = 1cf1f766a5c4f9f6c3ed6a8b +PT = + +Count = 10 +Key = 7951453d6f9767201c127686f4f1c123 +IV = be0fd6fb4bcb351fd3f12c89 +CT = +AAD = 074e137e7544de84d284928a784987cb49b625b1 +Tag = afd65c0a480671d576231806 +PT = + +Count = 11 +Key = 819b0fb10b9194c3e3409e55846da2be +IV = 0282ec00a7e08bffe32cbaf2 +CT = +AAD = 1c00110cbf20a05fe24b981d6bea532d3800b750 +Tag = 778c65468c0ce51f2b85f19c +PT = + +Count = 12 +Key = 1dde380d6b04fdcb004005b8a77bd5e3 +IV = 5053bf901463f97decd88c33 +CT = +AAD = f807f5f6133021d15cb6434d5ad95cf7d8488727 +Tag = 4bebf3ff2cb67bb5444dda53 +PT = + +Count = 13 +Key = 47d8dea013ee768accc35d978337d4ea +IV = 7ce35c78f7503d7f39268604 +CT = +AAD = f13e0771c8011f414d10c62f21419b81ab31b68b +Tag = 5ccc30cd91dea09a8c112f09 +FAIL + +Count = 14 +Key = 3bd92ab147a4ed0fcbfdf369060aa8c9 +IV = 28a97ca487abb97effc7ae08 +CT = +AAD = 8cca63e661e6a5c44244e28fef1e7a20f232c6f9 +Tag = f59e6b118fc81e0a4d0412ec +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 2ce3e218ed5d0c546e1034d5012440c1 +IV = c4d9610dd8c41e57373c2ada +CT = +AAD = ddb45a71bee823790e35ab2898e0ab9c8b92ba64 +Tag = 7a330df8b76c71ca +PT = + +Count = 1 +Key = cb68c978c8ee1cfe6b8eb3e12588b22c +IV = 5424872093d415dc8a0edd62 +CT = +AAD = 152412b5df052de881314600bee01320f45c08de +Tag = e4c1e173761cee37 +PT = + +Count = 2 +Key = 4f0ddf43589b64b3b7e86c5f87992276 +IV = 49b81417428ac9d6d82fd37a +CT = +AAD = 5eed3aa78f76bb923a8991171739890c64748610 +Tag = 8711b9194ec099b9 +FAIL + +Count = 3 +Key = 1ec5e3f3eb7d493c03e554ff56006abf +IV = 542eb102b2227b4c62b42c6f +CT = +AAD = d373a1f249de9de5cbad0d97d9ef4d9f930158d8 +Tag = 1eb2dceff39333e3 +FAIL + +Count = 4 +Key = fe6e16cab3c035393f606b797bebbd68 +IV = 173fa05b33e9e9e17e5f8e96 +CT = +AAD = 9bee3423508c1a679143cb8c781679f50907f277 +Tag = 3310cbf3509c99a5 +PT = + +Count = 5 +Key = d7f230d085bf6501c7b714908e6e38bd +IV = d651f21ece1c05bdb72a202b +CT = +AAD = 3f20e334eb7513d54a0e3e10d3f2f864cf8075b8 +Tag = 079b28067a1cb579 +PT = + +Count = 6 +Key = 974b5a7692988f77d94a95ba538f0ee6 +IV = 83cba01ee52f3a826a5ef0c4 +CT = +AAD = 1f10ff315727f37861dd6a0e6d5294df4b4320de +Tag = f330e127118bfd9c +FAIL + +Count = 7 +Key = 9e770409f49d239d6c3e48692deee565 +IV = 10d18bccd1269109f02118fb +CT = +AAD = c74351ef4c9174491cb6d55aee2ea46ee3dd0781 +Tag = ee09d0e231a30a8d +PT = + +Count = 8 +Key = e52f69a3563af8d24421d847211ec3f8 +IV = c143ad421d169ac9bc1d8f29 +CT = +AAD = c8ee79b8d8218b8ccebd9a9f549160a675120d25 +Tag = c0de7c720d61bfa6 +FAIL + +Count = 9 +Key = c58ff43b270d40b49274c24bdbc7293c +IV = 8557f4c17979dc39fcc5968d +CT = +AAD = d3154662c7e9567cb192fb6063e2b23fc0868a83 +Tag = 3e6092ff56596f63 +FAIL + +Count = 10 +Key = c4ab975de22705ab0e9c1b368561fe59 +IV = 5c7ccc80f61fb2bfd973b5b4 +CT = +AAD = 0ae774fd4ce685348efbf914dff3e921678143b7 +Tag = a97e428b4b3ba597 +FAIL + +Count = 11 +Key = 51aaaa50c67a0efd45b8f5fb1bc120cf +IV = 7f0f504870c783f2cb58bab9 +CT = +AAD = c9379a40bdd18de0ed1930bf4da594da845dfdec +Tag = 788bab3bb2f65eb4 +FAIL + +Count = 12 +Key = 2582f6f2123c5dc2fc23ac17d68e2cd5 +IV = bd6bbad0a8e7072594207371 +CT = +AAD = 35f4c6a65d0e01844bfbbce78750d96ef19cc8b2 +Tag = 468e8d056165746d +PT = + +Count = 13 +Key = 75bc61fed00f5e4dd6cb92022d38e341 +IV = ae35f89ac69b9e6a73e5578e +CT = +AAD = 29a5cadc283afd69bc6e2b25827dbc57b6cae310 +Tag = 8e2ab656521754bf +PT = + +Count = 14 +Key = 7839778fc2f9b3b316b5a28d03da2de2 +IV = ec752c16879e3dc5f9126dfa +CT = +AAD = 083b36f5545303d2e2072c1102ffcf2a90918129 +Tag = fbafd52f3087162d +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 23b0ce97a0567356b02ab30801d81db0 +IV = 97148d4a7ed3b2f9362d809a +CT = +AAD = 9f3c7a45a990afcf354e2bb9499bb355d7540102 +Tag = e704f7ac +PT = + +Count = 1 +Key = 3a436874693d87aacd8aafb8b1f8eae6 +IV = 783ac42a4d145b4c9b1da114 +CT = +AAD = 1e07cf2ce63d016de8b82dbbccf7ad036dfe3b1c +Tag = 34ae47bb +FAIL + +Count = 2 +Key = 35414af69251e18870ce72d1f729c16f +IV = 339ec2b7aab3f9ec44c5de23 +CT = +AAD = bde2ed13dd0a7c5b2b551e3629a22badc6c832ed +Tag = f1e81b3e +FAIL + +Count = 3 +Key = f783ba9d95e91cc37c2295482324d236 +IV = 8f77dcadb36a47921a65913d +CT = +AAD = 33ccf5f4317f603ab523a25fa85bd73ad6428004 +Tag = af2f1462 +PT = + +Count = 4 +Key = bc37c905bd621de85d30d772fe130f9a +IV = d4d8d2d1e7e8826b6876756f +CT = +AAD = c5501e5125bd74a5c40c391cb6d8c1c5a47d683f +Tag = f064577b +FAIL + +Count = 5 +Key = 5cb3a9cf24d2a57a849f33efdf44c058 +IV = 6fa5cac5a6b7bbd61021e929 +CT = +AAD = a1147276c40839b1ea0e68b3f4cb5293f7b50c16 +Tag = 386fccc4 +FAIL + +Count = 6 +Key = adf13451e10a04eb329a9a06a496a94a +IV = 82f4a48079dfeb4085ee8c32 +CT = +AAD = 2656326297b73b8e7aa95a676cdf4330156234a9 +Tag = 4592ec2f +FAIL + +Count = 7 +Key = e1dffaab48a30f4350980ab4c2e9b964 +IV = fc9cc6608885ba3b25d46662 +CT = +AAD = 501fa333f221feadada942bc07c7ea3a206c3bdf +Tag = 547b8a28 +FAIL + +Count = 8 +Key = c1380297b32bbbda4c04f6c0e131667f +IV = 785e919f239120deefa0bf25 +CT = +AAD = 7b5076a459c59bd9e7b4c09508be0bd0bab60177 +Tag = 322f7602 +FAIL + +Count = 9 +Key = 50cb88b7f4078ff3ee526fb0ca1c2695 +IV = 456703b644a547099abec25d +CT = +AAD = eb83e330b40344975cccd8c3b2769ce84eaf1d50 +Tag = c917e841 +PT = + +Count = 10 +Key = f8217a439d313279868bcbc0d1482c5b +IV = c8ddadf553f0e69bb50888fd +CT = +AAD = e63578da4a68b8bae45be78fe1482121dbd9e5bf +Tag = dd0c4252 +PT = + +Count = 11 +Key = 77440f6dfd418f1dcafda22c30947991 +IV = b088f0740ea54ee6729058e1 +CT = +AAD = 0059a01d62b7d0ecbc52108192cf266d57e5f287 +Tag = 8519c930 +PT = + +Count = 12 +Key = bfb620cf8fe7796e1089df6b31eb933d +IV = b2ebdce0ab9e0c70573896cf +CT = +AAD = 58133569ef0340ab51a5ee1189feb6e8763e1d99 +Tag = 9bb3107f +FAIL + +Count = 13 +Key = 24d5097f12bcb2a3fc1797dc9739a38e +IV = 5cc17473345194ec1a5f26b7 +CT = +AAD = dedde48ff7288ebe976631325d88d9f37f6f7179 +Tag = f86e0442 +FAIL + +Count = 14 +Key = cae2692b70b678b344a36d8af39d5df6 +IV = 13d1c311f6e6edbbe40658e3 +CT = +AAD = b5aa83006159360ef2758744ab1c9f7b9eadeaf9 +Tag = 71f7ac81 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 748146a0b1d5e9b6facdd95e8a3295be +IV = 99e8394910c21207541ca90c +CT = +AAD = 5ce0d8dbac8a82fa8dd7aec334b81301b31ab49f3b40a1857cc540a1d992f27f80945dfcb4730dc81ddfd32dee1825d6 +Tag = 847292904038c42168adf62011dc790e +FAIL + +Count = 1 +Key = 762da58bb000f5d499818bc859989a30 +IV = 584c291ff1aa388a5112521e +CT = +AAD = 91f92e8bbda7b5ec967ade766f4f26e9189eaafad416f37b4891d3e37d70cb9a267aa843dd202858ade020261223dfce +Tag = 9ac7eb2d762facae06086c957959880e +PT = + +Count = 2 +Key = 4ae615ef5f3e1ac590d4e5b8623173ba +IV = 3a998fbdf1131c8992e95bf1 +CT = +AAD = 81edcccd1ace673b96fa3b74a2f99fc63bca822f6b9c6b99477b479d5d13b8dca5f6ef726718346ba22c9f492b30d6ba +Tag = 93cfa8f4dc1da3429eb9dca26ed45024 +FAIL + +Count = 3 +Key = 2dd1a4bc80d9ae6773fe3284e7f7e734 +IV = 404c5b85d1429e48348ee225 +CT = +AAD = 861f17b5e33b17369021b8b2054131715bea7cebaaf732066da9a172341eae3b47a0d49923b25463caabcac6ffb7b5ea +Tag = e0fadad353d1d29ec6503dd2e049d6a9 +PT = + +Count = 4 +Key = d4eb3c0ac7156ebb5267f9ad2de162ac +IV = 74aed5826dc979d6b1c1011d +CT = +AAD = 34d2a785c9f47a83ed19e48ae1ee57745cbd9f30af5b9e6e633e9106d2f36a379e08d85b52acf9a14663a28d68808eab +Tag = 278acb3388978409d9fc2f6380ceffc3 +FAIL + +Count = 5 +Key = efbe4777ad529213599ea7bf82d4b0fa +IV = 8692f09a527d3e5d3cd152f7 +CT = +AAD = 95bff730bea903af3482913f712b4fe9da387f5104131ac03b2f94569957ab93af9bc6c3a405133d6874e6e466a3d011 +Tag = 7ddf730b688f268cdb7a32757f34817a +FAIL + +Count = 6 +Key = e024812778ce3c9659fa6b3ab917f38b +IV = 8a2ea9d140a8193572bc37c5 +CT = +AAD = 56b2c2f68ac50885a3a4bfc4fb8845a1c6e8704c0d89237566e551d59607bffe6e557c0dbff15a91a177905b526838db +Tag = 21706b2f8cd2f4d51aeefa3604d7f6d2 +PT = + +Count = 7 +Key = 293ae2e14a6a874c214ddd12ffd6a908 +IV = 542039d5e5b54222f8153747 +CT = +AAD = bc51a6a29a897a9fe4b955f270e21ef5768e55c11c9d9d16b4934cb3c8524c29e50d4b02b671c5a1b25a46991e62c65e +Tag = 612c4c96e6cd10c13a98ce5fb87bebd8 +PT = + +Count = 8 +Key = cb803f23f8c97ff4774ea37856c90f0f +IV = a3ec912bf0a0ad64e23e6c9d +CT = +AAD = 6c0f16c8e70852270b16a3eafdc5aaab1a3279d803d535b23292bd12bc2fa7da0a63f837c0093167029689c2bbe89bdb +Tag = 396a389e9e59b742dbe52fa277a05458 +FAIL + +Count = 9 +Key = 53101ae08ff3d972d437498253ad4911 +IV = 1748c2f3c6a7d2de3bbf91c2 +CT = +AAD = e166984563c1afb505b220490e3aabc8cfc07cd143960e3f0c068f395b5bcbb2e3f1f43c2e3ab33a4f14ad07d33273d9 +Tag = 250d1b4411d5c3fe0edff3fbc0814be3 +PT = + +Count = 10 +Key = c084b3bab6c3537c65621af9c0967acc +IV = 9a3b67c8288aeeb555e94907 +CT = +AAD = 8a194907eb9fbc4b12b8bb294d552d587cd267ce6dbc46191be1983243b6bc601db78b1ec8ff402e1087614991438bc0 +Tag = e2dede4cebfa914eb7821c912768a3e1 +FAIL + +Count = 11 +Key = 626125a33643839c534556d87b0a485f +IV = e7a2d435326d79f3ab43d3b5 +CT = +AAD = 086edfdb0afd60f10e5e8b628c31ac7094a41f22a33a85f3081aa53e733072825275aed31477246578bd97575e32961c +Tag = 66b38f7467273180d6672d34658fd6b7 +FAIL + +Count = 12 +Key = cc53a3209ed65930bbd535e4ad7be780 +IV = b7606cd869fcf69f5bac64a0 +CT = +AAD = 0ab24056d93d5be92c630fa615864deb7f85712188b576d11f12275b7188e3ac2afa6c4d3a4918df9344deae010902b1 +Tag = fef072eff57121c8c780eb5c6ad55538 +PT = + +Count = 13 +Key = ce84d222d62a6b28c636c1f0a36dfbe1 +IV = 3185d862c8a323ad7b433ea0 +CT = +AAD = 8c6c6de46b003a1265ea02caff3d8474ac99c84874c106d33ffc013c2c60ddc8bd46c7df402db609f854986fcbb44794 +Tag = a5a299bf09883e2fc323ee5eb88818e1 +FAIL + +Count = 14 +Key = 53580849635cce269e3bb897dcf9786a +IV = 76849053a7b046c1fdffd092 +CT = +AAD = 04bfad7c77e4db850c2bfca5a55a2a5c33019a4327bf850f7a70734bca688ce5551fd76d0593105515ad76c12dd69d58 +Tag = 9e7e1c5dccd58fea67a8648d50e5b6ef +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = bf716943c766c46f723649b579076d13 +IV = 50fd3dd4a9b3496ad4a259bd +CT = +AAD = 02314c1801d7bc5e4c19516b942b9c984f972d06546a00d67c9358df0801221b02391e9414d791155255aff3ab3a877d +Tag = 36667a79529bc3e1cce8c22d92d7b9 +PT = + +Count = 1 +Key = 6a5f0f8e149b1cf31feadf85434ee82e +IV = a5cf2c474fa6cd509907f52d +CT = +AAD = 4aca7a174aca437a11a4b429b82c7096a36a3cf29f0b0d1fc9234ca864240e77204f46b11d11ae0c2e507b4c348f5f44 +Tag = 6637129c4515ca7d3b5eebe2c3e9cc +FAIL + +Count = 2 +Key = 15438a9b481a41c7e87f01b25c1b69b7 +IV = 73c40fca0721affaa36dc29b +CT = +AAD = 6718e55eb3ddce7e57720f1b29da58505d7faad4e4507f08e6b990c203829c08b0054e303ff04f8d5a1b51b043064891 +Tag = 38bfba4882181d62165f5a498cbe51 +FAIL + +Count = 3 +Key = 43e06b3bbf1f56dfc35639f9bbe90c60 +IV = 1ba2264d82cc5d8876f7de6e +CT = +AAD = 21a9fd60e77c030fa9e7f607a60777fa37c37b3b7c92a36cccab47eddfefe787538892a649f96471e849dbefd615b9c8 +Tag = 9104e8c143901a84b81903edeeacd4 +PT = + +Count = 4 +Key = 6ace51bde943b11d5e3008e987ec0e3a +IV = 9ee5a3adcff52a313f40b74f +CT = +AAD = becbb4a6b5502e29238abe03e333dda3522cd97ad7f74cd72c27324868d699888919173454f909f982d7e3de13a8e674 +Tag = e7046c78168c034b9806466f9d2372 +FAIL + +Count = 5 +Key = 66700e5b2e3f17b87bfbd8e2137df6a1 +IV = d2f01c769a632bbcb381e28f +CT = +AAD = a62ffb37311bcf46c48f84c8c4d7b2a2a12fbbeeb8b21a38895a49203812054846673f6b7bdc80d2e6a1d3247b10a02c +Tag = 26e6941b7e07a96cc5e85977540a6f +PT = + +Count = 6 +Key = f842e338b4d1131e69c62ea8217258b8 +IV = 4a9c2e65be604d9ec6a48dd0 +CT = +AAD = e44f685b0337de6e79326b19faadc1ab3d90297f963351cf0f29bb6bc5f80d127939ad85f9d9cf1f9771226e6b3a6dae +Tag = 63ad1793621830f82fb58c1314ce5a +PT = + +Count = 7 +Key = 87dedb61f5b66555f70694c5be1c6b03 +IV = 51caac614566e088c6edb45c +CT = +AAD = 9127fafea77cf59660ef0fa433e5752ddbaf31f69207919baa68a55517bbed618688b596ebb85a35abcaeb235d2fbccf +Tag = f4424a8d15d7484754ee6a786f943a +FAIL + +Count = 8 +Key = 1f5e8f99d779f22f70b732d6dc8e881c +IV = 9b9d420707637287860b5812 +CT = +AAD = e1ddf8bdc44595e0d7e0d9b7cfbd4d94824b5d4c47dc921263bdfa29ecd1eeb2a68a091b7db61f920bce5094a22437f6 +Tag = 3e1967a9a455ecd5ebdf9d70a3ac63 +PT = + +Count = 9 +Key = 56b9becc78ad9829e85371a2f7b8a179 +IV = 37ba5ec3fdbbc347ebcd3c6e +CT = +AAD = ae5f7ecd4ec5fb78743fe8e1c32dca92f6c2b05bcfce7cdb9d72f81b6b753323726f6fb830b63dbeb808d82c0f19c558 +Tag = b6c25155905651e054fdbb1d7f4031 +FAIL + +Count = 10 +Key = 720747518c3c859c83b24ece5552cb4a +IV = 44911337273e0e22c02a1a4e +CT = +AAD = caed373f3a63e0fd14b6b0837aa53b71c1f61b736fa0490289f8ff5d5e4e27331d6f645fb5183e1b8a39ef72225d0918 +Tag = b9712a529709da5e29ec00d3915d2d +PT = + +Count = 11 +Key = 1ad647083103ddfd3152dd96d81f12b3 +IV = 7a62630df5d5e7bd1515185e +CT = +AAD = 4973b4efe864ca25306716d2fd2ae6e3e5b53e0cf8597d94025375f24db95e8153cf42965a56824c824b248640df29b9 +Tag = 9fe34d1ffe60612569eedd2f6bbd16 +PT = + +Count = 12 +Key = b076f303980afe1056538bcc81ddac9a +IV = 350763356bdd2006280425d6 +CT = +AAD = c3fd840db8c7115c430c7216786f1b056f1df8f7329ee94bfb98c4f94c56608387c7551e6c54c995b3262027d2c10dfb +Tag = 0576bbfd302547be58268ecd13d9a6 +PT = + +Count = 13 +Key = b06381c3f3610675892d640ae91184a2 +IV = f4d5793cf5a825237630f2ca +CT = +AAD = 453fb5029754a1c40c384064e9ffc667b9203ce27e7e2d61f02fb895d3d4b3f7124531c701e122bb41281c19c0485a3f +Tag = 2d4a40435e327bf5ebd97105a1e02e +PT = + +Count = 14 +Key = ef1bedc96a5bfcad171391af16823907 +IV = 135cdd84ee0c233e8b3570d8 +CT = +AAD = 17ea8a2af8bd13c5fdc523b4417287dbe99a38184da68c91783582c0dc5b6281d0cd97013554cb6811a42f8bfda91565 +Tag = d4085464fa8d911b5ee4d14516ba8c +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 775fa559a168813ba1c0f9aa78d92116 +IV = b7b89eb7d05e12857c771708 +CT = +AAD = 3ede063f92daaab663a49670272816a5980b6a1ae2ed2a36b094ee9fb7ad2e53a0f3856fa4d23226c6d2a146d56dd8ad +Tag = 1a154db54c66cf0ccf3935f4fb05 +FAIL + +Count = 1 +Key = 82e95d4252bc4979b96fedf8a73e9e60 +IV = 28a7f6870b61e93fb951e45f +CT = +AAD = 4034593e2ebd9c724344385e09eb7536547ef2440489cb9eb612520c98254f065a76008d226a27f6e6c0267104aa9cc2 +Tag = b8a8c42ab80e4afd10db06229b6e +FAIL + +Count = 2 +Key = 11aca76dc3036bf56f8ac9a1d9550c23 +IV = 7adbba46abcf048848316b32 +CT = +AAD = 595037b809c96ab28c5f6d357ee285bd4be16b87ff4d234eebc7a7329169e18f0ee7ee97598ff8cae90d2e79b65cd43f +Tag = f496498495f0962146dca56f640d +PT = + +Count = 3 +Key = f24d8f2cd0ca45c33a1f2ccfc6acd9a7 +IV = 7d4d5c500575b557d519ae42 +CT = +AAD = 6919419c246cf590bd02338978995c8faed4763c6d97355f7b44ec3187957a0a4add52e49b110f4b8b246f1863941f93 +Tag = 63fd8c8ae37fd11648dc70e36225 +FAIL + +Count = 4 +Key = 39a2b2b1696b9ae082bedbbe158de715 +IV = 50ddaa4544c9d6e566bad240 +CT = +AAD = 8f976870bd517f2bbe495c6f78c62fa89f7fd60d2d4175013a71ae5768c47c88ac627b15951da6e1a40d14dcdf98f4cd +Tag = ee9e8883ecbca13fc4853c18a86d +PT = + +Count = 5 +Key = 7fd1a92030246b8b5f1ef9ee78acb197 +IV = 3ee325fc53349afdd739e230 +CT = +AAD = ad5fe6842e6484792c2821de140d08da443b08c826c0705545cc20f85e06454b7bba5b968cca3fccd6dabd9f9b45b4da +Tag = 05c8dc52e6bc0f3e6546109666c9 +FAIL + +Count = 6 +Key = bf232c48c1544bf85724f94a8e76e859 +IV = 7c6e6931edbace94b1c8d6d3 +CT = +AAD = cc56bdb301c736c95cc20c245e0a7912a5399e36fd84fc58ed5a087f6c2ee80e62affd7a5dd1a5d02d4e57b27b8e1a80 +Tag = 687874c52ec17aa1792fc79bab26 +FAIL + +Count = 7 +Key = 59b9cdd4e13ae462eb178b327d4582e5 +IV = bc519260a4dccbfb66f40fd1 +CT = +AAD = 6757b55569ef767bfbf0b6dc629df7d3503eef557e29971fdf2cf3f96957e1da3020d6f25c9cc5dfcd3ecd53f5b340d2 +Tag = 161ab3374b256b7256636ad57f0e +PT = + +Count = 8 +Key = 8296d5d861c762a02bf047548e78a533 +IV = b3cb984c6da5dbc5017d7f59 +CT = +AAD = f197bb20e256cf2604a4709d6a599dde8660af6563c4418f5ca3af15dd47026bb3e53c3a1e4d0c60b72fc0fc81a1b1c2 +Tag = f3956645f27c41bdaee9da10fccf +PT = + +Count = 9 +Key = 650fe9ae2670f8da1d7cc43e90cc4565 +IV = 7c418b420dd9bd485e38347b +CT = +AAD = fe9f8eec46495c51958dd566123476e61793f9eb536ca308503e153075cc023b554ad4bd37db41b8dd6aed41833a0b74 +Tag = a4da0787190493a056c7faf64026 +PT = + +Count = 10 +Key = 75f6802fac8d2966c73d8e2e0ccbd4ac +IV = d83d25cf5a3544c2b68ef374 +CT = +AAD = 1ce4e46fc0927e55744f3dba389cb6f934b2c55cc5e1ebdfe4d1f7d0c8b5326abe5e53db0b52f8154e4ccf19af1225a8 +Tag = 41be6f9bb12a26b5a3d09d2812ce +FAIL + +Count = 11 +Key = d51d746e244c9d0cf905ddd490ea2aa0 +IV = a578f96b8f61c730af2c677d +CT = +AAD = 5d87d3922fe0c52ab4a2b2ea4dad9b8e9ae2978cfa2d06ca0dd9d931537bb74d65867a47ef09c9f286ed9cb5ba008262 +Tag = 9ffec699f0f658a9cc276a21f9cb +PT = + +Count = 12 +Key = 1be48d1b4c96cc835f3f6da52245d257 +IV = 0898db0572c376bdbb0adb87 +CT = +AAD = b8bd2a6a16424219a8c17ec2b13bd364c249df8760de839ddb36e9f3692d0c79a3da0945aba38e68a427c110af665a21 +Tag = 8cd9c555fc27ffab3265c5d29ce2 +PT = + +Count = 13 +Key = 419693d37f35406653db9107f8f6a0ca +IV = e7f2c0983e94dab31e395113 +CT = +AAD = adb0345ef9f12c1183b904a42a0dae626395b182069b65b2bb6b3542754ce0cd41140fe4daa4098254f22caf7c1c49c8 +Tag = cd6bda1025f0420997b1e333e6e9 +FAIL + +Count = 14 +Key = 3f74f3bdbd03b922aa7f5aa8ae8aa24b +IV = 2f913fc4fc96bf9141fd8ffb +CT = +AAD = 7b0768ef1f2744ab37238e505c0c3ba60684d886af7450f8b9fa8356c630223837f80daeacda1aefe6e7ac860be79e07 +Tag = 4b3e8395006ce6d9582be86fc9a1 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 9b66fa671d0506e82a3aed07a7c980c1 +IV = 6b864529f85d69e74477a944 +CT = +AAD = a4f44cb5da9e6469f146ba133ad54618afe772b8d22a6adea4d74ffff0fcea094fb200b7564ba64db68bec77671bb29c +Tag = d101305ca9b47a349b9e1d4a0a +PT = + +Count = 1 +Key = 5c1192e08289a22d20b919f8f7e8c408 +IV = 638c1df29bc690aea26ead7c +CT = +AAD = f3c3f9e4944f1b130913764c9bd68953b0f2e945d39df1c09017a509aa0cb470ed18b17319429dfaaba3fbc8efc3ad3a +Tag = 50de65f66f02ca1187fdbd9d09 +FAIL + +Count = 2 +Key = 56cec4a469039937df0ebf5ceed7582f +IV = bdb32cba4acc0d09d7e99948 +CT = +AAD = 52a0786709942df15604f898ba50a50cde270bf1072ef73fe74de431f82c8e55ddb0bc17a1482c58bbc4ebaf8b4d31a2 +Tag = bf8b2c63b606f7e31165314c54 +PT = + +Count = 3 +Key = ede18294be5004caaf7a915aec27c486 +IV = 25f23e489b3f25e22f73fcad +CT = +AAD = 0f56a22a9aac353d86ba0702938bddbf584ac81759b040d5a97d13d42e9d35312d0a3542792dc57d344d17e20a1267f7 +Tag = 6a8849be8ec9f98ee52c8d5abf +PT = + +Count = 4 +Key = d1bc7f031d9d6b9f56721b96a0f8239c +IV = 70a86912d149ffe4877aa953 +CT = +AAD = 6489f7d23fd797c52e232aa7c927f0685ec6c28d19b95afafcce7f4ed7b9c8f633e3bbe96a60931cb5167e4805e97d61 +Tag = 103d4112193f3de029d4fa8668 +FAIL + +Count = 5 +Key = 63bbee4928287ead4f663cb497c23516 +IV = df361bdd0dd723af8894ad37 +CT = +AAD = 603a574fe7604e08e28f24da1bd2a058388b881e3aa6ffa2683d4104fd9ef9dba751929a4e2a98b3cb6674d822694a0d +Tag = 887f243494990767f5dd5531a4 +FAIL + +Count = 6 +Key = 154b6500b7eebc2dec1f506195405d20 +IV = 19ee79e9d12499c2aaff3aa5 +CT = +AAD = d710a4b98c4775992cd16e8271a170efcacc92a10b9a4348f3e380810539a2a153b15d1d648356ca13710f6d9059c97c +Tag = 698709e5b0bceadd289514c844 +FAIL + +Count = 7 +Key = 1389ba8bae5166aed06d8b207133d948 +IV = ce3bcfe4d6200da26117f764 +CT = +AAD = 287a6c4e2f8d3d4e3ecf77207a0f963611e4ced7939ab669e6952abd41890eae28e6f73d71f9eccd1075b75092d4e94b +Tag = be1315bcac9f73e596f7abbd71 +FAIL + +Count = 8 +Key = 89a8bbd212c64d936dccd3c41ba9180b +IV = 8c960d01bf71558786f175be +CT = +AAD = e069fe5141c0de426a5ce60915352c616066eb01d635085ca824b7309944bf37c376544b4a1b5fa0c14a3873d0e55e83 +Tag = 11642e8569a41a81a63947bfe1 +FAIL + +Count = 9 +Key = 9e15aaf387c505df5ddf63271ad315cc +IV = f2268607bb6468ec31230be3 +CT = +AAD = 2218b673ea270a7e55d51fb5f867089435a67cd9e7b39426ab91cf5ea3084defcab7ac78dfa864597618f736e8649d4c +Tag = 64e649919ec209a41e3eeafe96 +PT = + +Count = 10 +Key = 24fd8b36e2d77a0c0619f57d92dd76fc +IV = f6b4321844d1aa07a2064248 +CT = +AAD = c09971bc81481ea26a3222ead711529c1c681be65812dcde6a5a06e31984f1502f99af2b313c15c815b37f96e793a12d +Tag = f9caf27f9868b7f7a740746ef6 +FAIL + +Count = 11 +Key = fc623b2b750daafe72e6ce7daab81e3f +IV = 0dc5823e34316f03a087b3fd +CT = +AAD = 256b2646d5bc345713066d2b7218184ec31e37288037ec2ed69d043705cc1ebb6fa4ba1c7fdaefd620a842bfb1c0bbb0 +Tag = bb27dfb41a9160764f9e2c37ad +FAIL + +Count = 12 +Key = b3d0f1f411dd7b5a19c79ab9099e557f +IV = 169beac0d4ece733dd89325a +CT = +AAD = b01affbefc130d20e909446e94674a3a1cb2584a707e76586d79cfeede2d8e468fb3e8d8f89b2358cb59e496591d6479 +Tag = 21f8a815af36badb07d0c6b16c +FAIL + +Count = 13 +Key = 2468a21779918d3069c44cda2a7ee8a5 +IV = b3dea72b29513007e5ec3cbb +CT = +AAD = 9c327054c6d2af96e70642cdbeb479ad961e07b0b8f9d5732a3a45162681b0785adc4d873ee215fbba8fbd5b6bcf4484 +Tag = 066af7b458027a03a26a3b93a9 +PT = + +Count = 14 +Key = 4539be46c26b07a237744e539e1341e6 +IV = a54e9d418f3df633ff1f783e +CT = +AAD = a054865a1d1f023b9e8bb7af0f423a065df49c5c63d2a39407b3c1a5c29f434569955a4e1ab84edae367581ffe6621a5 +Tag = f60677b5e389a98011908ce332 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = f3d4269e73498f9750f1b9ecb0c81dd0 +IV = ba09ce9d7c1610be5bd3d138 +CT = +AAD = 1c1b39dfb7d1e472f9f8772b74720fdd7f7c60e57372f7ede6efd31a345ce5c69379dd7dc7182e975e947c769b6a45c2 +Tag = c79ac4f3f4963b15619c97f8 +FAIL + +Count = 1 +Key = 1f556a9f57ba34a1e3f59818fdd996d2 +IV = 6edff7bcfd1303556af0fba0 +CT = +AAD = dbab1129baa42f19d0c1060b375835d6b8c8a4a62272ce959afdb31f2db8097ae94df998882afb4aedcc4da87135e1a0 +Tag = 401cb6075bbb949a19b1d8e2 +FAIL + +Count = 2 +Key = c5751d94068739f97fdbd264ad88a94e +IV = fd99627d7cffc315a0709069 +CT = +AAD = 259f91043c5c4f375e6be1209bf2543d6066f4969a4bee6fb559db3fcf331e7eb672b9650e598df79cfcd1e3e1995185 +Tag = 25b0512a4ab6ddb7cc56877b +PT = + +Count = 3 +Key = b6934bfe6163e6c667c5cb3859cfa5ee +IV = 06a1699848976cd5526a3a55 +CT = +AAD = 22cf071f79dbc8c29e4df543b0b723ff14ba8bc116a66e911a5ff3aaae12fafd1130d45b126f097b816ef7004a3f31e3 +Tag = 55b9ba358b13723796f1ae7c +FAIL + +Count = 4 +Key = a1ffd7a2d0b49736d40b845b0f49349d +IV = e08f54ea1a9e7f1c401aba07 +CT = +AAD = 6ef78d673e1b8a2fdd1d284e26c4f389b09b7056314f3f8dd4a48433f5bd82079cbb44d2422782ac2a548dba28501ff2 +Tag = 3ea999d84ca56ed298f514f8 +PT = + +Count = 5 +Key = 47c896aad94d3237c37bdbc089525c50 +IV = 9a6568e2609c1bb0870684d8 +CT = +AAD = a148afb54ca1701381ad61bf363395e593fa603c58816b9fa6cb6f03689727aabb281ad63fc69d840f4f5ec99b025709 +Tag = c1a95d534284f8aff70c0abd +PT = + +Count = 6 +Key = f5454326dfc149c6c1b1dd2ffab3399d +IV = edc82df4260d2a42afe04058 +CT = +AAD = e62d927dc222366d50edcf2acd6f7df6800ddb7086d5644ed62c36ffd592f68c0a4652db545858c723ca269cf78c5fba +Tag = 47d6a05a2ce6ee4ca5f84627 +PT = + +Count = 7 +Key = 1e1b3ddd7f636c056f13f599417c5ae4 +IV = 0d4772b3f82e745ab74c380f +CT = +AAD = dfaa2ba244162d5e9c16acdefdc1462e124589b7a3fba41789072dca0774e2df944e3224d09ffcdac4f8c68797402549 +Tag = c71c36c8e16d82dbdcafb54b +PT = + +Count = 8 +Key = e4b232e595c29c808517e228d508f849 +IV = 1c26dcd74bb6c9ebbf1bb9fd +CT = +AAD = f0e3ff974dd021b13848879fae84df0dd78f14c66d592dbbc3686db4b7faf1b3fa38bccdaee242da3d6d611aba0a5084 +Tag = cc18020f4c74679bcbd6359e +FAIL + +Count = 9 +Key = 0f1445541d354bb954111308b74dafb0 +IV = 13da68d1df2a15e9080b48ef +CT = +AAD = c1294d5ec97805aa49d1841ff5eac25c77d86fc4bc28f1f2e9663c2bce01e05c55734f4ac710cae654e69a1a35443f3c +Tag = 9c95d4487c79244f8e432c3f +PT = + +Count = 10 +Key = ce539be294113b5a8261e028fea0b841 +IV = 0df06b36a303d59aabb6a895 +CT = +AAD = 2f51456a142b27815d96f831068da0ba25c6a6507f58b684a9150a31f25c61870d74327d522facddc31a4b7b1647041a +Tag = 615f11b6b36ed454b8a3971a +PT = + +Count = 11 +Key = 70955e1685e223ba863f4b5554cdcd0a +IV = 371bb9a2da8b491cf2e6c3c9 +CT = +AAD = cb282c91395c99cc704d89e778892f1422e1df314b1a16e2b215f9c45e7f46dd52b388441ae13f2ed5115dfb825399d3 +Tag = 71bdbccd8803b9990450725d +FAIL + +Count = 12 +Key = b207d5f4e192234289481f8832fc8918 +IV = e43403c7d089e4e252e3505d +CT = +AAD = 70f7d166eb988c82e77b8633c077d8a971e8dbfb72e8038a380ff5e7b24c7e1ab9492b695b17960d693967ff230a7f4b +Tag = 4e2cf215228e28c2325c2740 +FAIL + +Count = 13 +Key = d7299014ab1a97352305dd5c72ce43b9 +IV = 091788166a5bab6fe5f12a17 +CT = +AAD = e42e765b87f8597d1ce1c9e43798cbec03420b84312e352aaea4278f42c42774520f0fbb7b3269f385109f2c92338154 +Tag = 096908fe9c3272fc15eab60e +PT = + +Count = 14 +Key = 41439911fac9e6bec808fb6e119964b1 +IV = 462c4326da2e9ce74f5d7567 +CT = +AAD = 384ef63c3be01254bebf9bf2e3e7573dc895b861594db5577f7d8f2306fc7f109e410b777ba46650557d64bb27c9c53a +Tag = 90c9b170ca28516819b8edea +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 64d7800a96a3d9119074bd67ed66ae96 +IV = 2b971c02515b045e08e0e97c +CT = +AAD = cd1386abb181a062947fb5ff4c63068e4e9a9727719b397d350043545e33c990059aaf256ed81b7dec3345de27de97d9 +Tag = 8222269a3c701a84 +PT = + +Count = 1 +Key = 7887ff22a2f7792a3d79dbae51a7a29a +IV = e4aefe34ca9daba9eae0d370 +CT = +AAD = 9751465649616d0ff555ba70fe73ba9e9b031545bbae2efa352d3290f19c4c89fd6aaeec042f992a1896b68ecbf79514 +Tag = f930815580495144 +FAIL + +Count = 2 +Key = 3e924aab43c8be45fb046e2879ca57a8 +IV = 6dcb0f5a48e6a6a203648e1c +CT = +AAD = 49f75b53644d0bcd16b1c72b64afc14028b065f1309074f104cbb800f08f3b80472ecc137f65f6b133d70634adfe2168 +Tag = cbff1c7db9302a0f +PT = + +Count = 3 +Key = e44cc53ed75458ceb2fcdd97296d0e2b +IV = bce9cb4ea4d54e5af17231c6 +CT = +AAD = 3ffceec0238100fecfeb9b5164cf8692331e7810d4e29e54ab6104cce7667db711a59d434a3b7b014d809abc1cda34c4 +Tag = 77ac700af214a4c9 +PT = + +Count = 4 +Key = 500a5f7ce1d8c409ae64b0508f2bcde9 +IV = ae88a9bff7d6c739ad83109e +CT = +AAD = 589ab59a08d105e4050c05ede3c4a19618f1c1cf3569bf8bf7da725e972e863d760235d5ffe8bed3e8e6de5d2071cfc3 +Tag = 0bd2577a2c823b9f +PT = + +Count = 5 +Key = 28af644edc691990c9897c7476fac069 +IV = 0cc300d7d73bde3961e58eea +CT = +AAD = f48722c0c5c75e815635a257d60ae69212807b891d37354ea1e644812911239944fee85b9c942e0ecae230e3bf78e113 +Tag = e4667776f616de2e +FAIL + +Count = 6 +Key = d688a0ef246f77e6798d3f9eb62a2799 +IV = 8b085d8ec4d61a33c146d0dd +CT = +AAD = 16eabd43c68da7d679be5a14fd708d9ba4627e6882371f1542715973a7107c7edf28da6fc33bcc4ed5a34e8a4801d0c0 +Tag = 65fa52b5115bf093 +PT = + +Count = 7 +Key = ca716e1689cfc81fdde1731a063179cd +IV = bc70904d2da9ffee0a5bed8c +CT = +AAD = b552388653ff20ec78061f22bb5cc89fdc0a91473a9302b5b5678b9edf8428428522a7da31b18b5ebd0a0d704e5918d3 +Tag = 89372dc4a388fbec +FAIL + +Count = 8 +Key = e84f2e30f3cddd0bb5d9d53e06077508 +IV = a9c64ce29509b8573dbe199d +CT = +AAD = 10584d3a15a823632d3bf9fd8eee14b4d8a0f14f431a9d154bb8f145d31151d7e934146d2ccc6ee96663f31bfb402123 +Tag = ade8eb6a89c8a29c +PT = + +Count = 9 +Key = 2b6b9e14b0031676bbfb4347366581a7 +IV = 69d37c482694b6774cf4cfc2 +CT = +AAD = 379a2886fc4ea1bb4562edd35ebf3b55e400614f510d7cc50a390cc2405c55aead274340440d6dafe5ea68bd9b88738e +Tag = 8558f37ca5b899cf +FAIL + +Count = 10 +Key = d037d0873c347959eb9745cc0e2655ac +IV = fbffba9039489ff341cf96ac +CT = +AAD = f968ca7e888bf8265bcd41e2dd306733b1f27c0b1796486a742f6607cc88cfd9e4147075ff9cda1fb17c19b68d8d59a5 +Tag = fae36cf19e40d41f +PT = + +Count = 11 +Key = 376a364db2193df14a179ec9ee209e19 +IV = 3620b67eee0ee7f53125dd26 +CT = +AAD = 9d5c9c88a687487527ca81715907e68f819449571c7eb81b5ae9531a16dcc1c9d4583bcee7715ef8ad260ded5667c731 +Tag = c0f5150f38b84699 +PT = + +Count = 12 +Key = 6c3ce800e700694f4ef7b29874ae1367 +IV = 09b689cd001707352d84e157 +CT = +AAD = ec96783f4941bc2aa95fe4e0af52f860491823d12afa364959086ec5d4795b40875ed2b458af5d5a67316fa4e5ef8965 +Tag = a4c0a1e32e22b5ad +FAIL + +Count = 13 +Key = 9117c0e817cf5f964f59920df72fc4ab +IV = fca2c5ad4150ea2637332ccf +CT = +AAD = 1fac6eaebcaa2f497fd2eb979a903c0ed382f08e3879db618c5f305833d61f0c6602f0482055a9f45c516bf508b7d6c3 +Tag = a34955a075225dd9 +FAIL + +Count = 14 +Key = da766c323a314e8d4c342e16a7b4a69c +IV = bee3aeea7d5c7f19b8187d2d +CT = +AAD = 765e5372a734b3bdec4fbc3f559e23e67d87a650a17edb678d99dc6c9f15281fdc957683297fce0f65d08049bb2481e4 +Tag = 9bff92040f252088 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 78e615f24cc46e7f14681df0c83d8432 +IV = 2c281c4138279e250f644b7c +CT = +AAD = ca5b617a3bbff07ae3d57e04c61d1e8e92916ca7312ee6d4494618350aed2307ebfe27e582840e28aef21cd2002239d3 +Tag = 77195155 +PT = + +Count = 1 +Key = 21494657ebb077b6293f989c5dcbaf1d +IV = 45f7ea74218516a8c8fa4fb4 +CT = +AAD = 7d44e16f2395bff34b1a5d1f0d85eef931eda6c427167db568b3870b3451d8909aafe5730660d6c47403637a275c27c9 +Tag = e9eac7ce +PT = + +Count = 2 +Key = e3553ab153ed86085b503e212ec7b77a +IV = 4f4b370a55fdf49632fa37e2 +CT = +AAD = 4a20dcc852b6c10aba9e0d96abe343a4325617ff905194086644b46dc328747ed7544ec34146d52087311358bddb3b7c +Tag = 6d5118e4 +PT = + +Count = 3 +Key = 7a5971ddd00943552ad89a1e6a1191d5 +IV = f691becc77e58cf504871c82 +CT = +AAD = e9ad76f94c4c66e2e59e47d2583de3fd64adfaff66db8663b38ec9979e16429776cd9e50d34b00ea2e8394ee42aacd50 +Tag = c95715ae +PT = + +Count = 4 +Key = b3f2374c1953c5b5eac4de26085c89a7 +IV = 93be103df3906ef3d2e8c291 +CT = +AAD = c43407e45e38bf7817044d2014bf97d71786f59bbd6715c015a91ee3806eee6ddc6c63f9e94c680ee1eda7d92ab2c251 +Tag = 717f083d +PT = + +Count = 5 +Key = a0ed01865ea7a29d70699be06b85ebd1 +IV = e1bbf2c1fc0593b9c26c0911 +CT = +AAD = 52323b2218ff79257d6f02ce8267bbb276517de3ec0d7ff63182debf51b7e504d655307ecc1c1f4a36dc94918d744cd7 +Tag = c2beb3a6 +FAIL + +Count = 6 +Key = ac4acda91bc28da090c37824a8654ca2 +IV = 8f92d0687e8e59b895be7f42 +CT = +AAD = 47b8cad7867dc12101b70af84f6b830b5f9be016ac183c2c05c23538df3ba7118be11fd7b62f342328de6e5d07d1f60f +Tag = 4cfe57b5 +PT = + +Count = 7 +Key = 214b66f22c1ef1dc005267c921b14708 +IV = c309e0a10811ec424bc0faeb +CT = +AAD = 84ba362f7ba2450c060ff281b4ecb7208344b6059400c85025173d6974242f2bc290b21e0e10f2d47a20815051e153a2 +Tag = 3bbc0dc2 +PT = + +Count = 8 +Key = fd065548f790761aa093220d5627a15c +IV = 0e1ab308acd2b64bc93a74d7 +CT = +AAD = ae9fcdc78a63d26a8bc58118fc232b28e32eda1fd1d06446119489f8fc126ca732961bc9393aae0dc7047fa864e6f9ee +Tag = 02b73265 +FAIL + +Count = 9 +Key = 6920c5cc1a76a236485f459e15cada23 +IV = eddd763b836d32b9b0c6f6c6 +CT = +AAD = 964254ea84568f33cbe4a8fe5046eb407591d2277249764c4375df58909ecc91db87ae325f9039526ccb7fcc019af302 +Tag = 944631a1 +PT = + +Count = 10 +Key = b5992c488fadd25036d0764bc112ac07 +IV = edb7e35d148ec2d0277eb8ed +CT = +AAD = ec1ba7d67cd924e825e5dcf9f71f9dea15962f717a731f1ea0672505be86e3e71112a594fe46a3dedb1c75fb6a044346 +Tag = 181ccd5b +FAIL + +Count = 11 +Key = 490b85aab0b42f4d4d80d76c67c83c68 +IV = d87c0f3cdef0b37c0d94a9d1 +CT = +AAD = 35c3ab30e9985ed70eb081cc3b7cb168e563e01629c46f24c78cff1382bed5f8c1e858bce97aee5484dd2c8cf3643832 +Tag = fd2bdf49 +FAIL + +Count = 12 +Key = 74d3f4bcd5f33a90d16f5a8e9615dc9a +IV = 6ad26ac89942c281aed49fe2 +CT = +AAD = 862e989402af83e0d0097124a1bcc9b38876a609c4d254083aada1b153c4d8f97984f8a4193f728f4f39b679fec0f85b +Tag = faa66be0 +FAIL + +Count = 13 +Key = 65a648066935f57cdf5afd3ce176e639 +IV = f52e3c822369d674f99bb34d +CT = +AAD = 00c37f75beaae3b8993b1a8fd8fec32537c5ac2922b6646790230466ae18b5dc7ccc25d8439264f542a057fe3801a9c6 +Tag = 374d4b34 +FAIL + +Count = 14 +Key = 4f8176e759b85a495dbf52e45a20bb31 +IV = ad02fe1a153b185ee5117018 +CT = +AAD = 6ea219dc1afcfc3ba07cfe13c78e62d9208542ec01a1104b8b80a3a05e8afdc22b37120a39b2db81d4ee6172e4de9c39 +Tag = 0b7eb057 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = c1e007d318d0e5c87d28fd890dfb04ba +IV = d7bc58d494491ff57639b60b +CT = +AAD = 10c68681c6d700ffc72ea9a790cdc9ddc1904c7e886e23ca166dbfa364a4c5f95205bdd1f22eeebefbbb9375f1a416ec7faed6cfdf706085f8fd2632c7a261a78875811f17fba19baf905f0aa623e67175f2158cda313a5047e3 +Tag = 2f1ede16f025bc8c5421854b5f0109d1 +FAIL + +Count = 1 +Key = 8dc7a59a71cd76499de67feac53c786a +IV = beb45b75ea5b7750e69a409d +CT = +AAD = 8bade18807ac5fe59cfd34d7eed8ae33dfeeb960d2a15693837f22dd98f68715079d358a49a04a7b231d486ae45f4cd6c0fe3cde6c0d967ce8d84bbf2e4be2db793afb72ea83c7b21a73f65742c214768f7e6133e3814059efb6 +Tag = 46e8457d8d409f2a0690e6502f8b7a87 +PT = + +Count = 2 +Key = 30b0bda9871e1732051ab0facb819848 +IV = a071b9e1f103bdedf419872d +CT = +AAD = f2295256508b41b6849a3a08b3a4586abfa5a2b35f9b30d0cc59755314b32d6a890973c568a14d4c313f79c47c83c1f0d2b76a006224926fec7ab9b208c34a6e8f8d6ef4b4a75c9952ca35cb81071314b70e65faaf9854f8c32d +Tag = 6f51e06b3aa3c7869e00e3fb07f512d8 +FAIL + +Count = 3 +Key = 2a032eb1893c4ad9e78c5ed4fcae3c74 +IV = 36839f2a8b1d6df1f9f0ec38 +CT = +AAD = 9228a9d72656b32e0342bc4ebdcfdafc2a4b11214ac8caa4c772a95809dea77e49ce4e052b748a662bc1ff7bf57ed9b784d75a349769e23018f406aebf6eae30a5e9364795b58620248ef6cd42db55ee7e49f472c602a3445140 +Tag = 610fdb18669a32e7fe24348ebc77ae15 +PT = + +Count = 4 +Key = 68dbff539c8ac07c0d66e3c8aa883655 +IV = daa344a429db89941f629bae +CT = +AAD = 8685accfe29a7e07d92aae2cebd25d3349bc917d81c3e999a009836e14611c083e6b3ca4257ffdfb7c2f53a867bf24c739f18c0d807222fb0bffa921da2835b33d0b79e666af0ac7be3fd288f38a086806045732b5a495d65774 +Tag = b5f74d514ad2eac63aba6367c5d7f843 +PT = + +Count = 5 +Key = d5e22e409e61c7e57687a143ee5dde17 +IV = 6a1b9b8b9fa5d3b14758a9a4 +CT = +AAD = eed5683b9e0c4080f6fd5b4fb896a2ee752df04a8f9cb34ac5fe1a0862b2431d4abe6e96e2983d850c85de17a31b612b02c344fc4c5a8e964ac1c60ea15eb1f6146429304338d3a928c84b0725d0956813f5dec79bc8b9a5acd4 +Tag = adb6051f2a18fdbe63ae4878ec3f3788 +FAIL + +Count = 6 +Key = 7bdc885dfbbda27482afeaa8aa30a94d +IV = 6a52105223c62f0e6761aee1 +CT = +AAD = 7aacf0bc8542d867a77411ddb0c9a70889fd395e01a5befdb26f0b45caf8cceb36696ed5b849251aff29eac75af7b12735daaf671412f6e1a62e21bda88c1618cd0a9fe09d5d340ee67711ae90822877bbce83adbe38b7f25d4d +Tag = 08bba50afb61ae82ed578a139804c3ad +PT = + +Count = 7 +Key = 549cb40fb29c51656d1788024a75b80f +IV = 8f9135503f55ff1a76a41553 +CT = +AAD = ac136573ae52f3a4e4a5f6161a2db70c24428fc2fe0d810b31419690a36c1d5bb6bf36d09f24b601cb558c5eeae8662d29c84e06e2e0927857945543b13db85b50ac28c4de1563d9f0ccfa85d032f3a59c1f3cb0acba07b61097 +Tag = 1fb97bae89bc87d6fea1f5fb571480b0 +FAIL + +Count = 8 +Key = fa52f5e8446617e8029800ab73c109d2 +IV = 92b4eb872cc5acc27b2c8f93 +CT = +AAD = e6f02753b83cdcd961a5455c34329f0358a1d9acc10f17a29dbfb7aaebae6f4b80481dc9aa3abf553aef570b01baa61a84820f20b0c051676fe2fd42cf9fce3c4bf221fec2519237cb9b7da6613a4be3eabb154c37b9c69c9c12 +Tag = 735b2a825bd1e288bd66e98e44fc0348 +PT = + +Count = 9 +Key = a3cc611d369a5c06d1c0d171be2cb25d +IV = 730b0cc99066bc7bd7b3ec9f +CT = +AAD = 84d86f689a1137920c1eef9dc0c27a3ca069f0f7943c4aca10bc47a67da7b8f4ce9558f53397f15dfed1df9f9bef61a7eef2b064b46bacf4f673b37e6d813fd408ccd9632628f0cd89db27c00e268c45c581ee8e189b14adb16b +Tag = a3d510d67716ce87471e807e188822bf +PT = + +Count = 10 +Key = 5fe29162dc4d5a511d373331573a4e26 +IV = d36edb05eaf746fbc48d1dc5 +CT = +AAD = dcd82c91702c2fc562ea7636d89aa7f4679afef80b85a4f3ce9c32a5a632a42d688416c65d47b314c8d272b77d8c447a4ea186230d03d30065b3339b0750f350b18ed7c82ebb16105fc98f2cd04c827f5fe2f3904d67d75a8961 +Tag = aafafcd6c396211704f3f708f167c781 +FAIL + +Count = 11 +Key = 2dcf7a69aea4aaabc9849c57f915bd68 +IV = d1d48a6e01c482f47d7b8871 +CT = +AAD = 345e8d49f3441bd55e3046cca636578084a2a7d7686c56c9bf8e4e29f2eb996b4ec537b7a10046b7ae514c76ddc8293eed583f1bbf0b45a90784e10fb83a5e837935547ab9555c4f8b93b44653944733e3691b9a14c0b9839e60 +Tag = 33b09fc073c3c3404a5661ef2d934e08 +FAIL + +Count = 12 +Key = 1579609bf33cdaa69ced53613557090c +IV = d64d1081db1d825fc692a28b +CT = +AAD = 9ed4a0960782e2fc4b88b6b3f3fa5fe976e5e160053c68def773a55dc8520d626fc0f3447b91a5217054c03ab72f19e53514bf38a3e2ab4b632dd5e338903b727e02327d9919c00657dd3457112714c9e9cda2df44f644b32bd1 +Tag = 198ca0c5e52ba7e8ed8b9310a05a1ebd +FAIL + +Count = 13 +Key = 60920e056ead9a73080f27038956884d +IV = 8cf4c1764ea1e6b9083952c4 +CT = +AAD = ee3fb4f08c9c6f7ecc7537035366d35793fbcb02605f1891acc539d9128ddcc6eff7d91936290490e4b28da8c2126d163565e0bd048a6f0a66a277daff4a03864c746f9dc3faea70d1fb4628d66a34a86fcdf91f2a176ce94863 +Tag = 41927cbc3ee0ed121f7884f0b32b024a +FAIL + +Count = 14 +Key = 2c084c95bb67293258e7e68492cb7d90 +IV = 60f0c5264a7743f548db8b2f +CT = +AAD = 7aac62d17794ce516c4a20e32ae8c7aa0be8e483f6e5643b77df5550498ccb1adcacc28366335d48007a094588e946ea98699e5323be8269151a7df2824e808b1388667170221a74197e3ca403fbe41be95b75afb98bcd2a5c14 +Tag = 84e9567a61b9a6bbf901c86b8f2606f1 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = dd4ac1ea9726bb128134e17acbe03c09 +IV = f3f277d476d0e0a1b007c891 +CT = +AAD = da672dc02533a8bcdae5c6d57d82f7e6ccd93584df982a50304ac1d39ab08d01033786ba9491e731b3a83bbd40a5125e5c751555f9db441d260ffd6744f7986cdbfa33be2f1cce75338d52eba62848cfabd26a4a7ba92251ca1f +Tag = 1250177c8d5f24741c2e8509f98868 +FAIL + +Count = 1 +Key = f5e66da1b071d889918f082cf8651358 +IV = 8626abd312e97e9aefce3377 +CT = +AAD = 17f55ef4e1a664c2d7fe238615b677167904bd2b2c5fab075cd7306af5f276128ad7f77730ed8ea58ed64828572b350965a0b6a670bbbbb56aad7b585a95ed3ccd4b782589f0eef848c98038c60c912e60f5644e5432b3cb681e +Tag = 29048cf5cef81f26856f61bfd24e3d +FAIL + +Count = 2 +Key = 4a5203fcdcae8b2c0fae2dc00556b629 +IV = dc318254fd54d7b461a2c6f8 +CT = +AAD = ae381919fc8db4e64949f7925d2a0bdb5fa61328ff7634175cf20a38735e2ccee92303fdc4b1babd9a1f7a1daf4748383ebc9b94e8c435332c65a4fb42a379e2ee54536b7e0f1fe6cb6738a04f713d3109f3d7145c2fe17e3922 +Tag = 62c8e31546de80ebcec445ea1f25f3 +FAIL + +Count = 3 +Key = 2fe55dfa779593c0141908f031a0e473 +IV = adbe9fd4bcb6ace4aeedf714 +CT = +AAD = ca4e4f243f78184bddd4af12b641f757a3ec448d869d7b745d3a352a244e07e8002ee899799d281f50fba3f15acd7a8d8a647f05dfc65caf92210454e61ca2aae6e76c081c0b80ad33328588627243b38cb7b6ad7f0f12bca7ff +Tag = 4c72ac14ad2b388c1f6817964da163 +FAIL + +Count = 4 +Key = 5b39d7ca282176234fee4ee5b6ae7904 +IV = ce3a155a2eeeb23f129801ff +CT = +AAD = c64ed4d02dd8df03dca05387451b033fff450560134d783243ef143aea22f02138008fbd9c9943fce99c14ff6e20da7a64fa27cc0f1e9cc2ea53d3862844973c5a869b4e94d6201f9c28d44e089cd45ceaea867c7b25235d3968 +Tag = b6f2d061bf289dfb26d35b84c0ffdb +PT = + +Count = 5 +Key = 7a4d3debe70dbb98988fef871c218c48 +IV = eb6368f6ac0b1d60094f9b24 +CT = +AAD = 69e7388e2de63cb8b2a37cf4d59fddf50a40910287d7655eef32616eeaad4370f42b60ae2453716880c8fbde2df48785e3c9e1f56e10fd727b3be91a972f415bca8c2abfcdc65e384767c267c6546feef90dd0e481cbd1390752 +Tag = 1e77bdaa29dd80bb26d962f0239d18 +PT = + +Count = 6 +Key = 82a83ab2f9b7c2e8ba9fec914f57a1d8 +IV = bf57edb6d1541f842cf8d436 +CT = +AAD = 59135185b6e77f98a30443bf2562c6ed14d778856a956977d9b70c7d905242883e5375bc1f1ec5dd19c1bbf253b8cfd4b8771f165d2c9f2a198aabcc5bcc753c46b1056b84d64ffc6a14c7783c594a713369f3b8a96640099803 +Tag = d0564defcf5bf57fec4d7811612edc +PT = + +Count = 7 +Key = a681950f2ba3992ee69387ecccbd7fd6 +IV = 63c1dcf9d6039c203536d952 +CT = +AAD = 9738c120ca0cd06625c298e3752c14097ac497a0fd40c268670c0db486ae5d51c9e10e28f6920697f9cd14d4de635898fc9ae9854e7d3b44e1a985011f878bcda85f3eb4fe7c308486d5d110d0a17a6b7036797eca0a1cb15c85 +Tag = 6ebe659cf4f76e298ba78a3ea6592e +PT = + +Count = 8 +Key = dacddae572457aa6b5a0bff2890754b4 +IV = 3c6129efe73b364bf83771c2 +CT = +AAD = 405dd55d510e530c6db4790ba7a455df6931ab98da5bd18423cb50049b40202ec72663565abade743b6de3b99f352da5beaf11f021c6b49a371dbe4d828da218f77e7d0b3446dda25170666880c5fb3f0de259c725418e974f22 +Tag = c0087c54b97171c544a5f78092a0be +FAIL + +Count = 9 +Key = 8feddd242e372cb8e8887b79a7db985a +IV = 5de7aef779b419cd3fc662e7 +CT = +AAD = 475bb0b4388797f89659a17fe206187e468da78756d6404545caf2045d74446ff655291302c9c79219089d1199b4bde5573b277f29d75ea20d9a45c9b926295227ed7095b364594ccaa07ed8f1a6af70997f55138fdea7a2ca2a +Tag = b9d632b9a7daf7473d8276a4e5d6d6 +FAIL + +Count = 10 +Key = 386a4e8b8d9a20afb37ad7b48cd3b166 +IV = 7cf8b741e5c6d511833d8b77 +CT = +AAD = 89cd80a7ed1e3e2864bd9210f5ec2bce3a89bff71ca83537a14315db15d111a845c040a3c48b70ae25be148b0fbfbda95a87cc359b5e3762702e1b3bb96700220f984c734b3d92010f290f32e3c62e70f32ba4b0dfeeaf68035d +Tag = 688c441a19482b1bf1e171ec8365a5 +FAIL + +Count = 11 +Key = 9c4ca8fbc43d4d97dc3dd3b04b48f1c6 +IV = f8cd509db2bfddbcedb4ff5f +CT = +AAD = 91c173d9a38d6db9283b74a129d9219d66dd6fb99872cf4b9b7864d55726344b7219bdb187b18a5888023340cd819cf44be2f23296ba0ba706eb9971e45c6736945209fa4b7875dbc5418d566071354f63a1e8c10d227ceb6e83 +Tag = e4fc387157a8f6966ad04aa697d0fc +PT = + +Count = 12 +Key = 7f7ed0d95c782692f27eb643d8708386 +IV = b09073db7085b92791211860 +CT = +AAD = 1be21b594cc2fb1b5c8e35ed41c99f0eb4ae9554d695e796fc62cd05fe17cb6d2d32aaf27a8af94772645ee3d23f8e51124019846cd006852d6610babe1fa4a10e6de54ad684ef6efa01bac443d3a6d1bce8ae471958dae60d04 +Tag = 90e094854b6a42eaeba88ddf190be2 +PT = + +Count = 13 +Key = f09df67820656c0f659ada061e8cbf04 +IV = bc8d37772e81979ae532046b +CT = +AAD = 1fec9aa288d9f039883135391ef8f5f40a78de38157c45f3ff563f262b6e7ad9f38dc0014a5b96b73c7cd2dba0aa1ed800c8c2984ef26cb5f4a4e52e5765e9d2eff8f1e216fe8e66d1b0b3425c483e63e70d8ca306c30c5104bb +Tag = 35ecee45f0fc4eec33c4249e55e7f3 +PT = + +Count = 14 +Key = ec99f3c62dc6dde7d60ac2e65f90d12c +IV = 573f8cd520f0cedf4e770ae5 +CT = +AAD = 84d7488c62fd9f508b4b7e34d1ccfb6fe02c3a43bc590b4b5f76e86b29e5c4749955e97c146ee6d4d66b4f52ab60ba6eb8dcba440de2109dc923e8713228ba242495a9fbc7d1b8bee89e6cdda5afdb8933c88eea56cae14e11fc +Tag = ca8879d19fa121c574868b840d733e +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = aea1ed682b70b251a47b5821b0f04867 +IV = b64ce93ecafa25ebc9fbbb25 +CT = +AAD = 64c5b1c45ee4f9d88657f60af1a87c10bd2bb041a73862150e0dd6bcbe1e149a291de9eee8a43618bc50fbf26b01ef56aa94607dda19a0c6ba2e26a351595cef8c3d33249ca9f178756055b1faee84e7b3407f0a0344ae7d7ccd +Tag = 994c5004aba90be2f2c5091a9624 +FAIL + +Count = 1 +Key = a1408410fede06f074d14811a1323a97 +IV = bf97e5278e9663dd122cd8ab +CT = +AAD = 5359619496e5e07348b06eea65d4f342536dc839793b331e478d34d056fb39cec366914eecf7173f55a05ac50fd81ccbfbc592733811f6584953d5237803481a84aa3935b48d552f1dbdfb3a8810d34d0420af07b5d34c554284 +Tag = 91c1e17ef5a3666b00b7616d8ed6 +PT = + +Count = 2 +Key = c9db2be1ec431a39793183518ff76b02 +IV = 81290e01be437fd7d71b017a +CT = +AAD = 0dd2bbe519a640d0fc45368d04a4fb0b91a3471bd0205781d9a5fe5e4821b4f95ac75330bbf286c8eaa97c55ade19bac5723d6a3da6db0894449edfd6907f2ba80a6da7b6ef9ac16d3f5cc4abeea1880e8a53fdcac4db2af7512 +Tag = 612d32207d184683baade025ca0d +PT = + +Count = 3 +Key = 3c9ae85580e07f9d89c25e912483dc6d +IV = 12e5e1ae8a4d8e80ad5bb8f9 +CT = +AAD = 75ac63f789d5e491f8ebfcbd60c1aade15fd59c46ed50b756e675e6a1b42897cc7584877f5291d3b0bbf4238e7d65a08520bf006eeb37a66bc45e474fcbe52ac41c50c5e2bd416131f7fc03e344384ad465d1d68ba027d8a74cb +Tag = 1ec6321c12cc8d0eed2d83a38d01 +PT = + +Count = 4 +Key = 6ba4f4a82d5d7497adcc4d52fe106b43 +IV = a99c3d346e6673112a74381f +CT = +AAD = 031ef3cae64af407009a229939d4399394501224809351aa366e344307e884e2b08a4e2794d4629f668a95e838a33d7b96dbe489be720de6a170dabb26ecb7efd09a66cfc3e885013fa9c7708b7e8af7ce97b9c6cf499a2ac05a +Tag = a5fad3dda92088937a0109ca62ae +FAIL + +Count = 5 +Key = c234262d63cb5f9f6782a1de9fd990a5 +IV = 13a9b4e38fddf647184e9258 +CT = +AAD = 96017faf71100f4bc94b5ac10def2f2ad94352c66f4588bfacbd882e33160b1522401e16a65298ea8f2bbf769590e483fb990bedac1a0860ed4c025e5a1a0f5ab0f0c003f9696aa6a5ae5523aa1ae9f2d64326d1d4e2fe10d011 +Tag = 5f45bc09fac9a6f14fc84d73d7f1 +PT = + +Count = 6 +Key = c4c0a8b119e9dfcc7aee314c94769761 +IV = 5aa4ed449f57fd77645d24d6 +CT = +AAD = b75da161347ac6f191e03d7796e5d2dfe2858e7a3627f9b044bfac2a1616dc53cde1ed4aedcbae381ffd94598a8e6fb6b9e187abc47b7b796b8f9ee2fd7bb5b6ce0bfb8c903074dab456325bc5ae0fd86c61dd3da0f02704a309 +Tag = df776ee5658df819feccd84e6f41 +PT = + +Count = 7 +Key = 2b52425f2c145da2fa1d3dc797f805e7 +IV = de841a6f784b9abc7b258293 +CT = +AAD = d24013b117ab80afa825249426eddce6bd443125ec15b20189ef8bbebce6bdc212d80ce05bc314bdabd3295bcb4350e9ddbfb4e8f294926d94af9a5bb81dadd0e561d8ed11e2cacdeeb36c0b8faeb9bea29de65fe4fbd6a6bb23 +Tag = b9c15dc9459097c9b8aa562418eb +FAIL + +Count = 8 +Key = da5ad03f3c4dd5a82d6a21ef01354774 +IV = cb43142f5c41877bf16998df +CT = +AAD = 4e4ea21f3e4b803b7f175df2ebc21b000e909be44c55fb230227a2c6f856b31e29819b913f96a17ccb1518e21752915e1ce0a5f74b32984fffc750b7f690b29ceac58b5f772cb361e4b3a536e23514bb2075bed12ce7603fc2ae +Tag = 933828bc74ff287248ffd40b6412 +FAIL + +Count = 9 +Key = c0c2548c18791f04ebaab981c82085aa +IV = b77eee4ac5f30c5413feee8b +CT = +AAD = 4c84cfd9aaebc1eb396c20cd3ce81769772b5f989b33fb7df23af6ebaf2a5b6bf9c298af3fc6ef81bc6ed7d5e3ea5e4edda076e8c4a315d69a9882f32ef6126e2ac33efe17475903f546315bf696ac0c4b9ba5749872fc1427ce +Tag = b9db2ec48e15ac6deaf6a32a2453 +PT = + +Count = 10 +Key = 5de1a402c654b51fe05dd67177e7d817 +IV = a85587a14cb81cf60d79f046 +CT = +AAD = 9f5ebd1848b640580bddd73a843d39738b52796c18d31ec8b79fd7c9f69284853efe62473f2d8726b6e9def4b2a5a1a8ff5c7603d72fe631aea2d56b47c05cec76b4d04535a56cdfaa2e49839cb7b30cbbf342dc56962af43101 +Tag = 81c373edd23ea8cf6f993c5ce677 +FAIL + +Count = 11 +Key = 2daf38bf55672491932c2b8825a30002 +IV = a29b5c8763bbbd3624b48b12 +CT = +AAD = 930ee667e730bc60cfb590b311e29c47686720fc8ca7712ec601d009685ac009cbf7449ab6633d7c645e6f10b914cdc23eb0cbe03ddf2d88a92cdd7934a5c84b2f20e2e2afd1330772d16be746bc0be50a7e5d7a59e71b27cc30 +Tag = f6dd285459d45f903fe94c944f9c +PT = + +Count = 12 +Key = a7528bdc18ab46fe8cd55c30457dbf8c +IV = ed1e07ad208b3f8899ff2690 +CT = +AAD = 9bc5e11514d8338f2e345bd5b2abf2e3231022f33f8276760c29e821434acd75264056e81f46137f36d6351e1e2d89944688d181e253cc428c6c9c040dcbcfa670615c839d56769ea266bc4e68bb77fb1d3d19471ef9a5e6bb92 +Tag = 6f15771dbd78849e3ffa127acd54 +FAIL + +Count = 13 +Key = 28720d4d06dec7b191d65961d3bcc050 +IV = 889a9464889814e6f616e1bf +CT = +AAD = 06cd4a0e28138a2c3aa317f1271b216e23b4b00296c43e00db2c8565173b4ec06302aa0e3981c326e9053c2529f04d70cfe4f01ddb2530e1754b4421393861c4794feeb0961a15d10c9a261a3ae9ad1e746eb46045d2004eef47 +Tag = 31b7a76509e29684bf83bc0f9d87 +PT = + +Count = 14 +Key = 90786c5d45a738cc78eacbe8f7a284e9 +IV = 474be24a8eab4bb0d52e59f2 +CT = +AAD = 70dfb25851564d89a6796297e2cce2bba3c3cd48bc4c52dd52bc79772baa8edcd2fc039587d0c4281ae4527bb711529143e5ba304af9793e041ae3685214e6bc76c172220b87e3e0702997b0a35953a2cf422852558878ef8ece +Tag = e7442a311402c7bdbd3db33ea893 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 84831da1d2c45d416f1ce2fc47affd33 +IV = 53dd61ce8130a5e0de761aa7 +CT = +AAD = 1090232e5956deb267e2c65c2a05023be4c738326568a46156493933d96b3e94bb8dac52946be561e8aad494fd8fe4f068b294b5049bf8f0a4226c2488e50d4679ddb13aaeda99a835489735a054140c332cf0de403e143918c9 +Tag = 7d5d4f0e90e8067357163acc96 +FAIL + +Count = 1 +Key = 0a319cd411db4f27be90659f70e328ea +IV = ff76ec7c5fb92a6ec40e20bc +CT = +AAD = d281b6a61ec53f980d3d9b8f8fae0d978a16b74efdec577d0fddcad569b37a80a3a7edfdc1c4cc1c4341e3438e431e826bb5bba335dbd17106eb565f21a1224f1d96ce38a5f06a7a486fd273796ec79f7ddc74b30f369bfc596f +Tag = 14c5e95e23f8a2d43d3452c8f6 +FAIL + +Count = 2 +Key = e499953f0c6c17b4e17a0e160fea18cb +IV = fdba0b0d8d357e94b538e537 +CT = +AAD = fd9bb224b0b9ada4dec27f10ffede5103ada5743d981627c2455ae51f172df3af116548c18866f6d0b379bc34400d007fc86cf4f13b442cc764513c327eac83c313ab89e242c5f119f87464e37a6173938fce681c50e72730017 +Tag = 904fe464b79280fe9e421c027d +FAIL + +Count = 3 +Key = 17b813cc2355fba0bf6797f7c982be31 +IV = d55605af89aea409903962df +CT = +AAD = 00ac3e703b3bcecb93356634f6f472134a851eac20428a283a8aae731f750265aa99d5e4ed93ed04bcc679b42089b2f0b7cee31a7f0cbf70bfbbd0f2c2a4f1b6b30c2ee10721239b1614434821edb7a6e779ea29ca13b97ffd81 +Tag = 2727546af1cfbb130d15ddd81f +PT = + +Count = 4 +Key = 57d1b333a1ea230eac5a491ea37fa63a +IV = df120406662dcf2257d6613f +CT = +AAD = 4de2f6b1f7b877297143e259b95707222e845aa1725cc3fd4df6d323d20e8591135048e26d0a5ca9ef1a38ec2955b97fb1ebb45975675d611fde1a22319c5705380ca95b8581188e3b901b1fdf43bc99a0a5d0d2f67b32da5fa8 +Tag = 09b747c2756b6b944840e27dc8 +FAIL + +Count = 5 +Key = 097fd8634adb170d9e5910a4d1532e9b +IV = 3e01897f0eea2a077df9b684 +CT = +AAD = 9c3f6313ecd3ca8d0b15bc096ffbb6d5b7864d384c4725f2f15697295b5ca932baf16607294535b80a367e129745c0ee340ede9d752b543e4ab017d53535c6dad437bfa98d5e6b78964bcac67faa26fe963f773bf95193c90836 +Tag = 6d247120136c9ce271e73d8fc9 +PT = + +Count = 6 +Key = 265b65903a07afbb77e93cbfec1f9709 +IV = 4b0b30754522a898936a9cb4 +CT = +AAD = 55ff11406008e4a4ef7352e6ff18521d2486207ac97172098f8dd350d020719374577e163dba8beea27ced6f6398a22b15a3261784dbfd8629c7d37bdce5c289b5032ac085331685db624009af0dd8c3e4706a7bbddd94eb5e97 +Tag = a25608be83687f38c1537f5d6f +FAIL + +Count = 7 +Key = c3e6ea568c4e6183afb7f37cde57c3c2 +IV = 0ae9461d48df414e9622fb2e +CT = +AAD = 5342e7630fe9443db6cc21934dc4f5c74c78bd74f19305edaf65cd9941ab590d1fec1b75e1bff0321742b589627a961c05df5e91ce27acef98a5e738789eb1a8021384431bd27bbbe2152607c9ca3c621e962dc46a185c7a33bb +Tag = e5243f141bb813b98726829839 +PT = + +Count = 8 +Key = ccb88c7a03f5caee90d69eb8b3bf6b34 +IV = 0dfe766adc713f8b2e8b5db6 +CT = +AAD = b27f23df78ba18a4b5b2eec943f67961f86334d19860ac8dea68511fe72728a396bbbe4cbdb4bb1912f2bb5373e6ecfd6a71675ef6e7bded956aa38f38db48a805a1a164a3bede8c5660400a882e5ae83a4035b5212ef8d439a3 +Tag = aa1c9934eb727177afa55a22b5 +FAIL + +Count = 9 +Key = a33d53f5ea2e54dd876922308b0460a8 +IV = a10955069217fab866aba0ca +CT = +AAD = 37c1a1e5aa7984a137db11a4cac22c153de6559f1ee323c5ba21471587d1349201ae140ed1d3cc0ba173a396f7dc06749bdef502fee2ac36dcf964b3d06f2a045e3701ca401a8d4ea6d67b51da7ca4aebb2b83b5d8731e6b155c +Tag = 190c2678abb3f0648c1a146cbb +PT = + +Count = 10 +Key = 1da535679c868f1d0c6fd80998a47514 +IV = d45939e6b8770c487b767205 +CT = +AAD = 2d7d359a3823ad2802f383adcab35d5a4cd3eb19e97d69c1d84a920ee212fb227125caa7d63f5b6a4ad674ee4af74762b331d9499d511b39f1e75a47d6f5e752e25c16286bb6db5bfad9f4e9e3020f31e0294de17ff881818b48 +Tag = c8ba65b88cd799a897ee1f792a +FAIL + +Count = 11 +Key = 16e9cd9a54bb202ddb277d2bc44cd5c5 +IV = f5518f5ef92a54af4e99639d +CT = +AAD = 048d7dd1eff69fd90e8951ff29c528a4defe459877ff73d8df0f1428563c99960aa2f4b3dc6c7b640020db2405e6e1337020687ba3f73386e70516c40a5732ea4946613235f0a2ec7ef47552b431d22766fe56be9f5d6fc89407 +Tag = 9b8ec0e1f5f14ec49707e9defe +FAIL + +Count = 12 +Key = f04870f4a1a3da645655d743cc0efae3 +IV = 1bd0ccacf3fd07fddac76aef +CT = +AAD = e86b11746660d4cc04a28c9aa77f667730f948e4ece847e95bdb89d1f194286ff994adaef64e2b29f3454044048064f8ceb555f8783ecd6ca9bf94642772f0ca2447491649be3c04c9c853bc7cfa469a7f3dc653170c97d268bb +Tag = 76d534a2abd85ada051cd6bf52 +PT = + +Count = 13 +Key = 9a989467c2b475de1bf090c5d12f08bb +IV = c64f4585f3e067cbeb6b66ad +CT = +AAD = 1050ff08936a951160ccc9441e67f03570d1059504a43aa436ad65ccebb4558d12e67d03bb9a03f561104fdef58463612c7eac9c3e082bd98f55eb3413e8af87e9a10495c4827e0dd9ab0f7bd370c36446772826a7a60db2469e +Tag = b7a00a1322eb2a5299924c4da4 +PT = + +Count = 14 +Key = d6787d6803f7314be8fdb2c90b9b384f +IV = 6881693437b4d1cbeb15efe9 +CT = +AAD = b859786535947ec1f06bb48c73a86a603d0471ca38999cfcf0308abbc340c9d07a2dd6c8ecbef1e243fa736c0da9c558a71471879bc526fe91462cd530393f7efb97ec9be2187a27f718c5961929608e1bc603e79d2b639653a4 +Tag = 079f33c838a9cb66ab7e2bd438 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = e6121ca9c088109b2e06459b42f5a495 +IV = dee4fad3a3f9c9bfe6fef753 +CT = +AAD = 2a47d75ac2059be2b810e87240b09ca712aa819ec9c31ffb6dee5c2a828a8e735c3552d25e6edba53278a8d744cc97600967c75f9c8c96df22a724231661f085dac3cdfd15a9bda24f721805683699b3b369e1035e224604dcd2 +Tag = 3f577c08bb955e40dfd59b1b +FAIL + +Count = 1 +Key = 3b7717cf63d8f5074507212006910ebc +IV = 5e8a852f062eef137b46e3d6 +CT = +AAD = 33db774fef0358cc960d6344b791c514ce22b1931137a7a8afd308180549591208f183bc0557dbfe92deda9d0d4664cf6761fe7f03729bb29b213da1216ed0a30fbfa0a27e8fe5d7706fd9a6369d4ee3906ab6cdaf567d0346f4 +Tag = 2378397900d520970a0eadc2 +FAIL + +Count = 2 +Key = 536b10e8651b4b582268300b17b71d28 +IV = 6b0f9db6bc139958a5dd1e63 +CT = +AAD = f52bcef018492050ff6a4772850bb1d7153f1f9c525e4dafe0b4eaa0f812af3c7979be0434f793fdbce4627f4da9302876d9c74aed6d7fd5facfe96a7824bded474380865a806ed39a5356199fd4fef844c8da513d829dd673d4 +Tag = ef722be526154e7cf0e31622 +FAIL + +Count = 3 +Key = 2f1a0dca1d2a87e3daf1fc301911b6b9 +IV = 97862f79ef9eba34c9cfc3cf +CT = +AAD = 1e138c05dcfeaf194891aadf99bf6d0f9027fcb1c378446f833384491c4789ee5c60247db7abc46c64fd3df3b5e00a17fffd9096ff78755d41a610ed5ae39c90da8684d4637dac2ab39dda5c1b09449c9d927974b621842a99db +Tag = f76252fc7b3ede7a28f8d2c7 +FAIL + +Count = 4 +Key = 0b32ce36f3e9cf9eeeb7791f9918510b +IV = 4c586c0a68426a7dae205edb +CT = +AAD = 369930896784651a844484ec294c32d639dafc8b9785cdc87611c3e8126c3391830cf0ffe13ac5e13c97a0b77d410988aebe560050162415346705d51d58763686320773c824562506684faa834f83e587d6174862f671fbd314 +Tag = 2890d5925d0e0d18733c6404 +FAIL + +Count = 5 +Key = 616f913706c0841d855b01d953d25e76 +IV = 2ffa2e6fc9b007fd61b65d4a +CT = +AAD = 4056735f313212de193ddcd7bdf373e2a92f259db3b85b7140385e05e87120c1fe4015f661b7b6074379047e834d47d615718075cb7c1a5a88146501eec0fc66039b635d0e8d461e4488799c45e7295ae9bb6b7d7c31b301bd91 +Tag = 81b7637169a9d9333dcecb24 +PT = + +Count = 6 +Key = c12f9a8b07e223d5afc641156b820e23 +IV = 7a79ccf5c3371f5da0cefeb3 +CT = +AAD = a3c96048803b674650bc9a4c5a14afabdce2fd2e88506e344bc8e6468e02abcf91ad26e1d4fe45cfcec16f524b8864569892730f92813ffc8e275287f501437c705d77b65880e7e3c1552c1dcc6569f1a423cafce6554b647d2c +Tag = 43391ee7ddb89e1646bd3a75 +FAIL + +Count = 7 +Key = e3bf0bf4991b48708dfb2d5e46c4a9e4 +IV = 51d5d7d73effec3df2c01de5 +CT = +AAD = 31b6df62fbbe3e88e95d89b15c2f93910690d00b1bfc19376510ed0f9ced9b72a73ecf1b31e64cc0dad61fbc9ea03eaf536d079a9c291ac0f09643016e452c7d1b6f17760425c780aa327ce49c605bd641738fc2c8dfe63cc6f6 +Tag = fbae5526c141a77f63e8e5bd +PT = + +Count = 8 +Key = 54a69fd00c51192cbef2276352761868 +IV = dc68bd205c6d2e1590df6fea +CT = +AAD = aaff9da657d664e896b55fa9b2166bec8ff8637e4d2bebabff40df758fd3622a131609ed59b4dd60d1306ab76b23664e839aaeda6c3e31cdb1d40210c5882fd75de801a41eaec2a91847279debb24a0e8eaa6ecb791ba1fb5237 +Tag = b53e3ad81e646e7af45b7973 +FAIL + +Count = 9 +Key = 06aa68bf2d6f9f7a2ce6d2f41e662466 +IV = 0afa7b1eec6ffc786845e0e4 +CT = +AAD = 7100f3325207a141b88f67d144c0be9fc209c2b7ff6e8c383d6d1b0c4ebd004d1e049665716f598cfb05646ad5b972a11927c58c7eb7f92586182ec360191831715eb95cb03aaabc688d15a4072d9252dd13034b0967012c8ec3 +Tag = 082b54d4ec72d39a65bfb1b5 +PT = + +Count = 10 +Key = dce009045a88b5f68626bbf04119629f +IV = 3e9b50760246a915ea7f0b94 +CT = +AAD = 5103e1a9b930fd98bce0a9793f1d2b927c798226aed2c10fed0c358a21dbaf52261e0c64304956c7b8570dc3dc6b44336fbc3401e84dc8e61b8d96b7f7d2dcf51f168fe35a6227eec04c9797123d9191d7918380a3f0cace6611 +Tag = 55ce4ee7bcf2cf1f49ee75d6 +FAIL + +Count = 11 +Key = 6ccaca9b28f6b15b0e219a8f7bcf71fc +IV = 72db7d6bd6911c3c94a5b8cc +CT = +AAD = a34420cd7b87a2971454d3387e8f2cb016417efd076f7c97a91c286e23464f1c711e647e4a543d2070e88932f40b362d275f2268bcfafbe1b3575f7a8e9c507e33ae8aaecfd695c9d6f38bbd3e16ce85434fad3cf115f7b195ae +Tag = f6dd836d0fb6678ccfd57369 +FAIL + +Count = 12 +Key = 947cebb9561588a47a121fe779de5843 +IV = 6af5aad173b26096aff1c080 +CT = +AAD = a6bc3b6bdb09d2cb5df9a2222e7d61ebd779c1c2c651b28eb3f5ad8c68d380294776275a529ba1ee71caaef9cd72f87df1ff5f2fd82b97ac4654ef60ec2c24f6a7b51df3728dfafef600fb7b47c5b9274fdb0d1ba101a35f0f20 +Tag = 4cbc7ed5e27e6bfe46679c9d +FAIL + +Count = 13 +Key = 3ece3181d46f52b13db18bd04939abf1 +IV = dc3c61fcbff84814562b5a08 +CT = +AAD = 0883871fa553a0f1b7cea510696648707f5700f00845b2f2616273b8097bf390760d47ad71679f33e1f13825870c341e20cb54d94ea72788aee70bd7fd64fe6ac46b11ea3b2c3f96f39c98d519d5c827ce74e99158ec6695f2d1 +Tag = da50fed025e6351fc718318a +FAIL + +Count = 14 +Key = 12e74bd72b1b0e3735ab535f2847521d +IV = 9f397e17b3dd5a53e021400e +CT = +AAD = 3d9b91c320ef165897e7490c4e01bff20e9d176038d3939b57e5c573bd4ef0ca0df3f741a9f245fba9a6fc3f53be51c7d4347e5b9902ed4a8d3d0caf9533a7fc1205f7c3c42c9e54a829019dde909f96d35f2ab4d940dbf2312c +Tag = 7d70d54a294e9bc3502042ec +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = e46015651f3fb77b79cb51f49ca6f0f0 +IV = 8b799e14ebc108416ae5f3b2 +CT = +AAD = 625144e885b374bc888bc73e88dcc85a14170e4a531c343dcc975ff4fb02af9fd097caee9cd5487f56b4058304771140ceb27c0702bf3e41f92c706ec63020ed33be8e0218806108a98dc6d396c38823dd7e3432c63c91917d7a +Tag = b73e4a83a3c2e179 +PT = + +Count = 1 +Key = cdcd66c29b624f45af6a84b4e8eab486 +IV = bc9fa13303bb6e1829beeaf8 +CT = +AAD = a627af9f8752f353ee1102db4b5874000edf4bd08dc9fadee8c0f699964e9bcf00b0dcde2f59847a731479c559e4738f0a031774dbe3fb4cafdd2f2a831749b4b375be545a901d01e968c80d9e83f95cb8f5c17e28ddcaa50216 +Tag = 3710308a42163c24 +PT = + +Count = 2 +Key = f37b9338f8df3584f6eea3f64c3ac0a7 +IV = 73a54152b81efb8f1d0a3db9 +CT = +AAD = 124a5f3358c876940749815a0a59f78dc3f572152c89470ae710f6dad368c5871c400baef95292fc6a7feeb3d55e6eee3121b606fea58c134f8a84061bb08c40cfb765bc38c782f58058e5588b0a8a87109185a89af5de4baf36 +Tag = e65f44b76651d781 +PT = + +Count = 3 +Key = 2de354697cf39d4bdcf786c3c8b71d34 +IV = 9b8a66e83d27b3edc436f684 +CT = +AAD = 3a7fea4133009bb17ab478bc1e887578e0ec6063ef9b445ac0ad5601003c61432ff08b88cfb776cc4f73631bc62b30663a9734d654a23ae06333fede3f6c1dfbae7ec820d63aa3ce959b081c56b10fbe54a1fff06a401f9aa5d6 +Tag = 8f4106bd83aa4424 +PT = + +Count = 4 +Key = ea3cac480f1adf29a3cb4554c29ba408 +IV = cb8c7fa222ad0cb473c25002 +CT = +AAD = d93b5b2f932ee28c058f1f78f394aec7a2a22da6005446c9e4804d580a749e09218cb818c08ff48b2be5b2e20b877aec351a7b168c16a48b3f5ae069c5de2e981d2e716844bb56549afba95520b01a42bc489e6e91c4c960149a +Tag = dde0471dc1c66657 +PT = + +Count = 5 +Key = 20647dde8f5f9de684c13b3d3e467f8c +IV = 485f3b3fb77ba4b3b024e7b9 +CT = +AAD = d7e2147f852270ce803847e7bb2feadd5559aea50332ec915c060f34f69616b6cdb5cfb9489223db7f621667b83fb070a2758ba9a208aa264074b81b763a9c2f180b34e39e756e63760199868b2dfec235795171bff898a00e7d +Tag = f16f5ebafaa9c102 +FAIL + +Count = 6 +Key = 1b521db97135a80ac93ca694e888d5a0 +IV = 07fa49d5e53c0263ad36fb53 +CT = +AAD = 7e53801fe7c92f02a2022cac6626d16c3dcc8105abe0a4ffee9e348ec8b403f9ca7030b74df63a81d8504c16748ceba46c6d57e277ef10913cf6b58f14b441ae374aebafb1d8093449a4d4ef030c55812c32ccd4fa95c3afc8b5 +Tag = 29f213d0dcc9ceb7 +PT = + +Count = 7 +Key = 78af01ccdf9cd0d7d1bb14d7c7fa16e9 +IV = 17d8714ab55e65e55cea2909 +CT = +AAD = 6cc759868eac4c39e228985821a704af6c5a7ac5d19e52130cfa20ee75a05e0a7dd3b1cf0e5c910fcde1511d105a141b6edb1544f3b04e49df0f4ea00ab7b85f219537232c5c62e5199e17eb0fc05c9abc1cbcd5186e640f9bd9 +Tag = 666f2bf24880939c +PT = + +Count = 8 +Key = 8320b8c1e19d3b10912f9fe02fb6c7d9 +IV = f3da001fc8e7d6da05a50086 +CT = +AAD = f13deffaa068b6953dcf2fe43d03036e77d00cb4142c901e8a0a888c26f852b0f677c322e9d127291be00d9d53f5b0a36878a65fc86eca61c7b5be5814c3d957466a4b92bdd24045e62464fd86bd8228a0be4b15f09b111f6deb +Tag = 18deeba90b1f72d3 +PT = + +Count = 9 +Key = 72603f0feca655762cf7164d0d5a62fe +IV = af8f631173969eef78ad1691 +CT = +AAD = dd259a86781f8a1760103edcdfd7ba324a312362a3b82b17ec15f0539667ad31a6d27c29a5177dbe819e290ff0a1964aa2751609c5dc7d161ecba2bd2b70495f694090667357521103175ad1fe603b90bcf7e18f5362d4132ab9 +Tag = 3520d1a0ed8268be +PT = + +Count = 10 +Key = 45d7522139b91beaec7b482b48ea1d29 +IV = 90108958bfdd245125392b47 +CT = +AAD = ddf415c8365dfe7db54b1cf5b49e44a902214ad1345099042672de92f7eadb2bf1b3e30d178829d4f60bb156a4e457c8d5a0dd0b89814473341a2525e631451546f0ff201e0542c92e342bf3aba2143b1d4e6839bb2e9edd6343 +Tag = 0867e1255627a2e4 +PT = + +Count = 11 +Key = adb1bb2602c1b724b421ec1e56894cf5 +IV = 55812ace83cab14d52258ec9 +CT = +AAD = a1c46b06684d11d0e9edd99b46b284299ebf18ab09482b1a615370eb2702157a93f79e8aa3978f407d5fd6d04b0f622e6b4389ab3fab647d2b54fc7dbfb2da4a17a70aaf3aa7a5151b551d2a895d85174a204fe7b10dfb6a7db6 +Tag = 49cb8188beeb0056 +PT = + +Count = 12 +Key = c7be33fa39ebab761331de6bebe06911 +IV = 073a6b74f517bd76fdec2cc7 +CT = +AAD = 08ac619359631a02355325ca202e3e00ca2b042b5b3ac67d14f1cd153eca4c89257775609e36a2a6fe0850a90951226830ee0168f79d905876809ba5cfdff13707850e323fc22ed2d3c29e54167583c470e2c0ccfddfd5d39b49 +Tag = 8cfd3dbac4e29cbb +FAIL + +Count = 13 +Key = 00fde28f633b7dea62645f9b4ecd4b12 +IV = 588cf7cb00cbe88e77216379 +CT = +AAD = cd8bb0410fa19c5d865f64e61abaecdedbf09db9bb832080e954a2a603997d5cfdb28305d3e8c78229a8fbffb57d89be0a9c9e830eb9fe0e1b05d5c2e7cc5f95a134c042725cd0213f6991a6e89de7b4ebfbb770d747cb70bbe0 +Tag = a1f9476793814c28 +PT = + +Count = 14 +Key = e70699106810dc0063d215b656ac857a +IV = ff94f58dc7fed18757fae8bc +CT = +AAD = 9a66e5a2b4f7b508cf08caf0982d874fb982f47a3d1937734358433520b7d08902236314621e736e5d254b30009c9e179635566784219bb7fd815562de458210843e70c6678a60f4c1cc61aeb78e8393ace5c662ebb44bb17feb +Tag = 337f96004cbf7b73 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 59795da170075a3cf20748cb3cf3f035 +IV = 86ca4a74c5f059f431f62e22 +CT = +AAD = 2049a94a44a450c70258842c844fc4960c5b93a9a6c8c39149602e0c78f49b3ccd058f8789beae50618411716e419214c1114d31073c92c732c9106cfafc2ae50ada27bf4df9de2424af0716b09d52b701caaa24e492e92d9c64 +Tag = f0c9d4b7 +FAIL + +Count = 1 +Key = 27ab294d1126bb446e4444a7bc732f84 +IV = 646d8082213f9165106f5967 +CT = +AAD = 38f755173ccbe60c7a8d145cd6133a7af5413ab4c62a166f865b9d53e35daa65783c45ca104b4c8fa1f7b8c8464bdb51d058854edee16a8f1b6aaf8c1815d05bbfd89c13521020831d400c09f28c4aabf744ccd5270801dd8ed1 +Tag = 0c80eabc +FAIL + +Count = 2 +Key = ed830cdfc6acaa350c4c2c22a7c95817 +IV = adf5ea501ceea62637a1179a +CT = +AAD = 8538b946f3d911ef2504af42442934ec58aac667ca138fb4159e62b6795efd16a0bc4885ed2e2b253e3b78161ab4ed3f2cf6ed40b18c05cc06b5d649270577b55c7d8fff85acaf355f3f83cb274b1a634860498201ee411303c1 +Tag = f01f2983 +PT = + +Count = 3 +Key = fdc6b04933f653faaaf47b21ad04efd1 +IV = ebe6f82b82f3551a81e924e0 +CT = +AAD = 3d868c3d2b7e2a8881175e669a2d82b365b31ab40611fd7f412837ed894ddf4dfe88782ea17dc51c2c05c7a8a012b4914775cf7d8dc88801e90f53af2ce99f853c3d000b310ce54901c407813feba261d2000eb7542f4eecc4bd +Tag = f2f30d86 +FAIL + +Count = 4 +Key = c64e7ffe4b85bf6cdbfb636ee7f09d91 +IV = 7f61e91278aea99213963e51 +CT = +AAD = a2912826a19134664f26b614a33a989c73704945cb0578304777973595995f2e488f380e3ecb34c5a8bfca9ccffb337775e227a2576c9b04e2dff649652a4c20cf22fc5123d2f61803fc4b123838c1b7f35afcdbaf2aaf0ac479 +Tag = 029b5163 +FAIL + +Count = 5 +Key = 42cf0ed268c60ece87e7fda36ec071a7 +IV = d521de01c3b9623a5ba707ee +CT = +AAD = f3c61808470c667c1c325b3802d2ebedb9e3e683e2fb1e3735874b0f087195e23e90cb1f663b6cb2b4986d966bf403d5040c34ff7905f302f628e33e4b7a2c652755e7ec6c41e8f23a032d758b00c515ceeef42959505ca0fb49 +Tag = 478c4e47 +PT = + +Count = 6 +Key = fdd04793ba12db81e6beaccbad8c491e +IV = b7432f14bc61527fc17f7703 +CT = +AAD = 5564d0b7bde946928f79caa1760bb96b321ee6dc6f23fa8bce27fdd3e4068d22d1a8707e8cbeebf034243c4ac37789c367cc47899ceeb08b8c71b9ab65e35ce5d95195dc5a53cb8781d29fa4c539cf2aed60e80b196a702a1c5d +Tag = 47e5ed12 +PT = + +Count = 7 +Key = c4a65caf817615566ff6875b453aa743 +IV = 839f9999d98523e491c29e78 +CT = +AAD = 62a644d6cdcdb0a8eedebb41ad8df85b8677b3a19e3dadf11b3e90dac124adeae02c1779175ade72188a5dcf304236102ec9d66bb9b92473203d3010328b7a69a24b7d3b655d7bfd8eef12009345725b7419ca7a660c08fd79e3 +Tag = ff47d684 +PT = + +Count = 8 +Key = 1e703a5ac0edaa4b7a4b6fe7b9cc7972 +IV = 77a89cc7b706ee432682ebb9 +CT = +AAD = 4b135b2712e2539a97ccf6de3233d3a29d242827e6b0081b73b97258e70e129490c2948dcdddeaaabe61a3a2f0dfeceb38713d67cbd9bb1e7327d684cc7191023f7b85c0ea14f9e74b49d2f3137803cf648a8fd648fd0060f8f3 +Tag = 61c795bf +PT = + +Count = 9 +Key = 4dde01498bc612902fcb13ae347097a7 +IV = 5595cd2fc2228f03d090ca17 +CT = +AAD = 4f80ede3bd5428c8722b55c20ac1294722914720ba77d94e5040d8291e1564da630223304b504c8c6df6a11af48badb00458861cf42ffcc7d8064d6b91814eeafcddcd41a0bda8f363db3d393c2c6ff1d337a8a986efb29b1f6a +Tag = 5efd6cad +FAIL + +Count = 10 +Key = 39cc0e087d323bbaeee984fadd3d3fc3 +IV = 3ad68758b2cf7d74ca60525f +CT = +AAD = 27e7b749dfaf7abf108eee181f7f061a3a5e9021ec5e9169d917fa9423cf30f72dd33b72e5c4e4bac2cc677d055cb1c849f421e4a03a0f38f6b4a52bc296b4a543accbf2ba37a6a09e2183a6b77996307a4e78c1d4623a347818 +Tag = a99f6ae7 +PT = + +Count = 11 +Key = b39a20715c091cedccf0d5bf4fb23815 +IV = 8fca05977d3fe6bbd7be1a46 +CT = +AAD = f7ce5af9922a8173b12fc6e0a4fbbd709f142ab59ad2b3b7fb9906d9ba54dc179822bb13b70b3db52983f95b6fb530828e6a133727351a0963da7ce240b0eb38cc52e26a8aead5e5a745901016290901abfa08de7dabf7e77bd8 +Tag = 05d3d0ef +FAIL + +Count = 12 +Key = 6eed26209e52cd9c2a6055a160c110ee +IV = e2583e85948de9b5de082762 +CT = +AAD = bb29e44d8b78f7df316e7d12bab3e02620d62d4a5e6387af2cc0faa9f2c7bff52568ba112fd25f07d6c7dc6a1c21e3926e16be80500792af5995355018bb15acdefa47c28224c51e02e7c481b71b5a6db4398372899f0d1df616 +Tag = c4b1e3ae +FAIL + +Count = 13 +Key = d9efc0e262168a4772c88a77e1b7ac9d +IV = e571fa32741a7cc9d46d403b +CT = +AAD = 89c8ffe81031b32b0a099a6a6ae42933cd52f570a9fb09de1bd8a656fe027616d9d2a9f740572a2095ea08deae3790d53380cb8d9ca0f0d172b000997515a87bbacbfd7c744ff85e245531e4d207bc60499aeb6d7aefdd347f03 +Tag = ac9aedaf +FAIL + +Count = 14 +Key = 0d5947f3d437dec262b514131e6030b7 +IV = 189475f02271990732bc6a18 +CT = +AAD = 22d0a4a621e5744f6e0c781cfefb2e6e3171f0f871cde9027ff04fd497724b65a22e57db5f2d63f5af8ff180efa7679c48ee91585c12b65ad5925b584aed74809d8dd82156fb1b3dd19d7b16061029d21ec583e6d491d90d5535 +Tag = 2421b8f0 +PT = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = e98b72a9881a84ca6b76e0f43e68647a +IV = 8b23299fde174053f3d652ba +CT = 5a3c1cf1985dbb8bed818036fdd5ab42 +AAD = +Tag = 23c7ab0f952b7091cd324835043b5eb5 +PT = 28286a321293253c3e0aa2704a278032 + +Count = 1 +Key = 33240636cd3236165f1a553b773e728e +IV = 17c4d61493ecdc8f31700b12 +CT = 47bb7e23f7bdfe05a8091ac90e4f8b2e +AAD = +Tag = b723c70e931d9785f40fd4ab1d612dc9 +PT = 95695a5b12f2870b9cc5fdc8f218a97d + +Count = 2 +Key = 5164df856f1e9cac04a79b808dc5be39 +IV = e76925d5355e0584ce871b2b +CT = 0216c899c88d6e32c958c7e553daa5bc +AAD = +Tag = a145319896329c96df291f64efbe0e3a +FAIL + +Count = 3 +Key = b1191a672cc55496b3c728d6a67de0ae +IV = d0b4fa7c7f107f98f66b0195 +CT = ab957acc04c1034d8acc617c0b20f78d +AAD = +Tag = a93cc22f6086e816016606b9ad0ba697 +FAIL + +Count = 4 +Key = ca7db9e97cfa056b80dcd04f46228640 +IV = 5e8dc246ee835dc5f229d698 +CT = 178ce3bd56ae27f9812e91b942c1309e +AAD = +Tag = c633075a8b608d5f96971d2bc1ea2a0e +PT = 964610fb6585cbbb070fd9ab10a7a600 + +Count = 5 +Key = 206209e6f2d16b268dbec05972431405 +IV = 95194cb4ba24ea0476ca5ae4 +CT = 493461aeda5a0c7d18edfb11ca8277c7 +AAD = +Tag = 865615a1484744a9c55e480871472e81 +FAIL + +Count = 6 +Key = bc722187a3729a4d0292fa73d4471605 +IV = a72d339ad829c9601d00a6ef +CT = b44481ab49863873ffa2a377aa7b759e +AAD = +Tag = 4d587a7d3b5eb1186d2eacce9bb51c04 +PT = 9dfac38da5811b3c4712439117f7520e + +Count = 7 +Key = 0631c9595b5cb7f9f94aea4940125f19 +IV = 673d7e9aaedab36cbb2afa0e +CT = d558f237bc04b41c8155ef643511c52c +AAD = +Tag = 482a54ff2d9270d70375e4d8db646744 +FAIL + +Count = 8 +Key = 722bb99f8321eebaa61dd0086fd63e5e +IV = 47e36c71c70c2bb662cddd6a +CT = 4d3168836b0be7e7cd7b54ac95281408 +AAD = +Tag = 18e18960789cf650bb48d163f881fe55 +FAIL + +Count = 9 +Key = 327f9f12217e54f14bc0b38166a507ec +IV = abf4b77903fd2894516d8fc2 +CT = 3c7512dc35bd8ec80954baf49105a67a +AAD = +Tag = 5e6299deac6594fd59cf073ef14ffdee +FAIL + +Count = 10 +Key = b7d2ebf187562bd4bef0cbfebdd7cdf4 +IV = 76ff7aaa095be4111f79c74a +CT = a998f173007ded002b3ebe264ea7f133 +AAD = +Tag = a71ba4f2385bd5b615a23bdfb9dcb17f +PT = d32e43eb1a90b626b189b6a8eb592bb8 + +Count = 11 +Key = 6956712b7392b3595132f606561c0bdf +IV = 63c54fcd8e648af4bb0f5e39 +CT = 9dc01d985cd4f6cfd1eb2207761ec04b +AAD = +Tag = 1d8dc617e8f49b7e92a3f5480d1d22ff +PT = 44830dd0bc8592f4a28ec79c1d0f2b53 + +Count = 12 +Key = b3ce2c46ddf39059f683ceef05c08d38 +IV = 188549f41ba61ed52e9b14ef +CT = c06aea0ea0ec6a8446ff8f3f722cfd1c +AAD = +Tag = 605ec2fe05d7067ee5371d484e5cd7dc +PT = afff5e9becb62c8b05c26effefa3d7b2 + +Count = 13 +Key = 23ecf56f3c9ddc76e7207873824321fa +IV = bc60bd5bca6802b526cc8361 +CT = f2f8851005b8bfb38cc3488133b004ae +AAD = +Tag = 7d79d1c8742446acb45d4d0cd33886fa +PT = 5926445daca77b55857b9bd4c897c1ec + +Count = 14 +Key = 3cf9882b08500c084ab38f26c0f3e730 +IV = 615f25d13c5c4ac9d6b01932 +CT = 375bca435832c7abccce9eb890807275 +AAD = +Tag = 57e37ba21f0aef8bc70b63f7968e9eda +PT = dc1adbb316be8abccd87ffadfdfc7ca0 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 5ef8d9bcdcd3bd3429e0539316b8d673 +IV = 090a7ccad700e2ae99234387 +CT = 833060d2d27d2550c7b00144903b264e +AAD = +Tag = 2fa5a49b32b804674b8d278cbe1b3a +PT = 5461b5213eef9e79b27920ea7545e706 + +Count = 1 +Key = 82476a2b2a2d98f01d24bd61d0378dc0 +IV = b9112f4cbf833ce027b0d61e +CT = 5e5bca6d00977e84365767bcaa837a57 +AAD = +Tag = bd0fd84d0f0f40a26a7b377049b4ca +PT = 110575b15d4dee28554fd31c9f3f1774 + +Count = 2 +Key = 0eba4ac5af13df66f66c97ee04f494f7 +IV = 845b2b357113299486747e99 +CT = 3948a95a819d5dc70e947793eb1f2772 +AAD = +Tag = 40c8ac3a1367f8f7cb150381bc6965 +FAIL + +Count = 3 +Key = 4d478653d828b1cb7e305fcf6f2597cc +IV = 33705740c227e6f3c90caec4 +CT = 4c7780af47daf75371bb8b50dc472b9e +AAD = +Tag = 44263afc74c0d6c6b46864ad9443e6 +FAIL + +Count = 4 +Key = 2be68a09e68076e6c961a275f93c0a75 +IV = b875f4b06f5467d4ad88b059 +CT = 9e5d725b2fe8967735560da125ea314b +AAD = +Tag = 3e00e05dc781ca2f3698751c0f898f +FAIL + +Count = 5 +Key = 0dafdbfe484b74e350443413c0311237 +IV = 9d483056a0b09464548b8c8d +CT = 284406da02d33139c3021dcbcf091b3d +AAD = +Tag = e4cd5f6d9522f93326c79e33ae51a5 +FAIL + +Count = 6 +Key = d811ffee8e5f51e03e5983ceb05a4344 +IV = 876c65b2f64bb2022f02b435 +CT = f29b9b222aac0ca381d14b35355a907d +AAD = +Tag = 087472f8ab10b941be6f7b1870df26 +FAIL + +Count = 7 +Key = 6a5d8d651526694dd189b1e37127b2a8 +IV = 14e81c2778014b237aad3634 +CT = d2ad55c0223a2e16c685ba3a8492da75 +AAD = +Tag = 3965691b96672eabe724fa5b292e2b +PT = f3122bd952c5186e0a873c62eced0d2b + +Count = 8 +Key = cb116297e39517d235cd2c25850ec16f +IV = 53bc98bafcda63f4dc0f4867 +CT = 5410fef732b20419c2416e3048bf44e8 +AAD = +Tag = 80b46c479f7d1264afe46eaefe8c84 +FAIL + +Count = 9 +Key = 657f487fce724ad5241aed587627cedc +IV = f47e55029df03c63e3945752 +CT = b315ba5498b690ec137215eee3dd3679 +AAD = +Tag = 0332fb83b4410af8cb55d08b5fffd8 +FAIL + +Count = 10 +Key = 71170b0091376123a05a0d3510292d1d +IV = a606ffb6807b9813151c7a3f +CT = a4f663f90369316be6a72842ab3e9390 +AAD = +Tag = 0c7a66c943c08712ff70e1569433a8 +FAIL + +Count = 11 +Key = d3c80977d9ad0bcbad401a79e9082a24 +IV = c6f048d0e5b645cf06c0f323 +CT = ea5138e67b45f438f511e6f4f85a86d6 +AAD = +Tag = 19b1114cf9c1afab346adddc94e618 +FAIL + +Count = 12 +Key = 83a7897c61b8f639f5ee1da3ffed1f8b +IV = 2740d6b396c5d58f7633631b +CT = f2e39e52ea9797947c881f05afa98d81 +AAD = +Tag = 2a174db3823214cf771fca23709ab2 +FAIL + +Count = 13 +Key = 64187e231742eb1b63912ee628d0df93 +IV = 52b0d26f530d59a91a450d52 +CT = a505d9727ba1407feb7b1a328304a386 +AAD = +Tag = 771ad5abfaa2e31a8ff7c1f2eec864 +FAIL + +Count = 14 +Key = ae828f87e1e6395cd0b65b32492220ba +IV = cd862443031f473fc12b76be +CT = 85ee2e1a35c5d888549e390bc24981d1 +AAD = +Tag = eb857ab9345485b1969e60c88f033d +PT = eee1b820250ff32453ca38e2c7f2b50e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 9f47cfafed7ae4d8fd86d3b7d83c38bf +IV = 97a4b7cfaeefe747e57cb12c +CT = dc3cedc7909f073b4a8be35ef3faac59 +AAD = +Tag = 4e5a6bb0d01f6de09b9a98f9ba43 +FAIL + +Count = 1 +Key = 9be0b19a3f83f47de8102a2b946d2804 +IV = 659e54f95614ea5a222e188e +CT = a68a1e82c12e6a5edb71a899ea87410c +AAD = +Tag = 193948ff38efef453f46074b1596 +PT = aa9887501f3aca02732e2bb3aeda54b7 + +Count = 2 +Key = 881da49a0b1f586daf6fc884e18503cd +IV = 82aa62bb5f984a6562ecb2ef +CT = 08298c94318503baacf241c010ae98e1 +AAD = +Tag = 3bca60678a6f6ae170847790760f +FAIL + +Count = 3 +Key = 4ccbed984d83124fbc8646aaaa0cad56 +IV = 4b8b033debe4101ecc919af0 +CT = 2a9e6fd8e29b2243a2a77aaa800715d1 +AAD = +Tag = 106844f33ac3667d7ca6e0e4f38b +PT = 6f6fd0c4a687103864d1a7627c0e5609 + +Count = 4 +Key = 2404321ce003f717145d22489264dc80 +IV = 68fec81204d7d4ad7304f518 +CT = aa0c0d82699f935c4efe16bf68fbad32 +AAD = +Tag = 2dff9018dc1dfc7c552bfe76eb29 +PT = a36592bf7ac467329f558dc47df07c66 + +Count = 5 +Key = fe911fcb3696ca623d91c7c1c84ef5f3 +IV = 55f221f23cb685cce161f116 +CT = fb8d3096dbff32540ad2c22098150aed +AAD = +Tag = 49f31460d8cf650fce197eff2d6b +FAIL + +Count = 6 +Key = 5e033211d5306c69680ce0b8ed3642de +IV = 795ad065e0da984fb33c5ace +CT = 4ce080f2055ca13a1a5c54b65a3bbec0 +AAD = +Tag = 716e950fd3f26626ca22436f47d6 +PT = 85b72651ba865b8467e0fc96278298d2 + +Count = 7 +Key = e60e025572d621cdb6366feed9604533 +IV = 1e8c02cc981c64177539cbfb +CT = 098fd3b2b8d2d0986d3cd90fe4a99243 +AAD = +Tag = 589823975ebe14b863cd05475991 +PT = f6af349e171c9faedda8e4ff7c39d91c + +Count = 8 +Key = d776593636e990e37e9ed1754f71150b +IV = 668dbcfda86955d25ed3440f +CT = 1bbf3e7d5c4b84275c253287fdddb623 +AAD = +Tag = c4469fd3cc7774a32bb39547c22a +FAIL + +Count = 9 +Key = 849a3de9a2b06a231033ce729f14a5d5 +IV = aba74d1d0a513d0fe3bd7517 +CT = 1214bea9ffb71f5b2417f541bc56df3b +AAD = +Tag = 7e55740171b293fefb2ebaaffe52 +FAIL + +Count = 10 +Key = c2a27d214b4156915099afaccf1b1c04 +IV = af5e4a52765570f8dafc875f +CT = 55a7281c8cf585376dae2c1a3a81deb2 +AAD = +Tag = 1f7854ab33ee4e8bf2d5034cc2f1 +PT = fae155872d7df987950f48c206db2851 + +Count = 11 +Key = 5f22fac5ae5d9981e952d4ca37f819dc +IV = 994b9da5a1005b1145a59119 +CT = 1a3383827328162603617e82d4961cf3 +AAD = +Tag = 7d612554c0e92a2505d187b41147 +FAIL + +Count = 12 +Key = 3e16d5d7976cac4132b91bfb03187add +IV = 5857e34d2042baa8f2049d26 +CT = cfd15003a31178748c1d92f88f014f7c +AAD = +Tag = 8e544db48e36237563d62b6c35b4 +PT = 94647dff817bdcb8379c384d6eaa5e49 + +Count = 13 +Key = f2e65602f652c1daa77a0975e9d64165 +IV = 24bf0d23e6c06c4eb83187d5 +CT = e3f6776865de4fc96ba673018c9d0da5 +AAD = +Tag = 4a7022953ddc9c8665420ea9850c +FAIL + +Count = 14 +Key = 1fe4a464e2aa5f699031bd54052802ef +IV = 64a8a41b0c34f8ba0bcb7464 +CT = 1bdb4cd49329541887c3f4dc5f7fc53f +AAD = +Tag = c4d2d62eab22369c64201197a604 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 3c9da938461bce0fffb386fc262bd3d4 +IV = e28430dedfc21c88f5664c60 +CT = 20aceca27c8ce431f54a6dda738fd96b +AAD = +Tag = 7b8e290d9416c7a70d1fdd282c +FAIL + +Count = 1 +Key = 537df0514df8d39f91e6a1fe0440a01e +IV = 964934e05fec647bf4daea71 +CT = 431060a097d5a1fcd29eff36dc031c20 +AAD = +Tag = 36a0e71afbd2e9368c14345c80 +PT = 0b705d226ea82d6c4e214db05e6673b0 + +Count = 2 +Key = 7ae013eed5a1b01e882ca6296abd06ce +IV = 54c7c4f1e41126edf35e0582 +CT = 1cee074297975099f5695b75ca232033 +AAD = +Tag = 0e53f10686f9e8227da07af9d3 +FAIL + +Count = 3 +Key = 550577681337f92291ae82642144ee1d +IV = 3bcc8d9168bd95b0b0d939cf +CT = 373e7a3355b971633082ee6006966742 +AAD = +Tag = e171f58f2ee8b837f87f8ee348 +PT = fb8ed66d2dea10b1238b04cd7a28c632 + +Count = 4 +Key = 7e86dd4336fa860358357a788d82c2d4 +IV = e5cb05343ff2db5d19375707 +CT = fa773de52ea314bef1b48521cbea8eab +AAD = +Tag = 3fb94a9ea543ffafe64703dd1e +FAIL + +Count = 5 +Key = 35cdb13c2bc2307254e96bd94dfc5a3d +IV = f445c38fdd346355e66bf57a +CT = 5dc31fb1b1d6d5c7f43cd75a2599a52c +AAD = +Tag = b8f0f2c3161035dec2d88be26f +PT = f5c23bbc49f7a7f09911e7c789e06e73 + +Count = 6 +Key = 5d584fb59b62bfba6d786a7b1a9dac48 +IV = 761bc482ce4b755e0ed5388e +CT = 6582ef447c2bc6ab8f1a9c232f7d2d10 +AAD = +Tag = 4d51dfe048a0b93bd44e29db80 +PT = 8ff82eaa8b451118e39a016f10bc013b + +Count = 7 +Key = 80f1bd12f2915bbaff48eada76288ae9 +IV = 26926d69c900ac6afccf00a1 +CT = e7dff5028902769bb23d4d65fdec21ac +AAD = +Tag = 9d903a7eebe97debb1d0588c75 +FAIL + +Count = 8 +Key = 1b74334d03b5e11e594b744674d50cf9 +IV = c6c83825660d48cbc7c41a93 +CT = 86291dc42d3a7eb98e9e64ebdd99bc08 +AAD = +Tag = fb1e6e87e6596ed01a131a86ca +PT = c69a0eeac3cc8d6f9262e6fe68ddb595 + +Count = 9 +Key = cf55485db619657cabc980edb45ee36e +IV = 2bd0b408e4264fd8e384cf8b +CT = 7a4fca9eb3eb0fdc8c1277a0f3b332fa +AAD = +Tag = 09e73b58ab25d12010aa53b5ed +FAIL + +Count = 10 +Key = c4af22bdff6166a2c70390f400088970 +IV = 19542efb04bd36c7ef0d4fd7 +CT = 7c44daf6543fc301f50134009296fde1 +AAD = +Tag = 5e27aa721f8898f90a8dbb9f1f +PT = 755576f39dbbb3edd2838ad13156325a + +Count = 11 +Key = a29a20b65d428006716bf9044d950d3b +IV = 7aceacc19dd12586de69b505 +CT = 6fc348c0190abceec983106f0ad5c9b7 +AAD = +Tag = 60ac7dc847c72fd18fa564a040 +FAIL + +Count = 12 +Key = 88efcba794f81a1b809eb1b59c94941d +IV = b2d4654b719d6caf89e7ed5e +CT = d1ace61158791988bffa401050dd725c +AAD = +Tag = 2b5f259ff75abdf1716284799d +PT = 1d1f1f2ff5bfda35de0cbdb936ffb563 + +Count = 13 +Key = 85cbf834bde98c6cae802d55d324cfb7 +IV = 8215e7b97916336a273c7802 +CT = 86e73bd9123728d17b96c3798dae4433 +AAD = +Tag = 4525566d58bbe281aae1d0aee1 +FAIL + +Count = 14 +Key = d4229dee02ac3ae5333c738b56dca393 +IV = fcc4917817a395716f3edba0 +CT = a39f5dae2424779a68f66b8e53449f74 +AAD = +Tag = bb983b64cf4d35bd3088bfd0e5 +PT = 7d731af27080187619eb038b490810d9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 9a229fb8f6686ea811cc650ea5682692 +IV = 8046ba013b8344332fb528db +CT = 73d1315150e6004a80979e887010ae04 +AAD = +Tag = 4069327954b976040b7b875f +PT = 4268392f39cb8dac5defc275b3d906c0 + +Count = 1 +Key = 40775c86deb4046eb2e5328f6bbcf37e +IV = f3b51505c353e8a625962889 +CT = 46f89ea243ecada361c6bc84db3d83c6 +AAD = +Tag = bf4bf52270c4b163833332a0 +PT = 640e9640693322f0516770e5666968f0 + +Count = 2 +Key = 4f7d19039b02f859d0e294958eeda785 +IV = 9ea8313cdf2b85afcfb11af7 +CT = a4bce9efac6a329c597682a367cb11f3 +AAD = +Tag = c536ab50bd6b988e27b89c3a +PT = 9eb43a0c85a699d306cceefc147580bb + +Count = 3 +Key = c2070a104f3c73a5d61aed7038dc3c86 +IV = 67d6ac3a3065c8f6f59caef0 +CT = 7868f77995d69edc0e0c736e14336a6d +AAD = +Tag = d60d9f10b168e1bf74573d0f +FAIL + +Count = 4 +Key = 2ffed59d5235b56cf9062b3da1c2bfdc +IV = f77cd63f105b3a17b3af7e3d +CT = e9d1a19918359d2c74c826eb19d3ec52 +AAD = +Tag = f3c3e42b0bd8dc993383cce9 +PT = c73ccf739c3d3d52e9c1e6972820f8f6 + +Count = 5 +Key = bfc2f933bf7fe154bd05f6551f34f3e0 +IV = 78eafab56af48881ba175114 +CT = bf60f27aac019f10bf4edc799ea696a3 +AAD = +Tag = 6356174b093db876056d5388 +PT = eb77bd85d35f655d5771e3a2f9c5c519 + +Count = 6 +Key = 5ce8985c9b1dd3736aa13be2781259db +IV = 253485119b1b5213cd3d4337 +CT = a0336d7bffcbe63842fcef330f92095f +AAD = +Tag = 6241219242cb1b83c62adb65 +FAIL + +Count = 7 +Key = 391cf28e586e0ede733051c0d758f20e +IV = 605f73050d4621d66dd15e0c +CT = a564515c5084a8585cfd0c2ce2f6f84c +AAD = +Tag = 93ca0d6b5c7c64490b580a5a +FAIL + +Count = 8 +Key = 5a41011da48c09abf038c78d2abf4e84 +IV = 691a8bae90c0d49a639f18c3 +CT = cb9d177be4870754d610c02445647953 +AAD = +Tag = 5115aeeb061432dee0272e57 +PT = 9c55822d5c66a708e4ec993bf4a440e9 + +Count = 9 +Key = 28686e7185603e60850fb9df5eba5ab0 +IV = 9ff475305b7527146cbbc75d +CT = ed68f461509b73c7ecc24f46cb7dbf33 +AAD = +Tag = 812170b49f03ba7ad3d3db4f +FAIL + +Count = 10 +Key = cf6576b8826b6146ef1b67c09bb07634 +IV = 197913e3130d0a0d3d497244 +CT = 5551aa1cc46102c336a90eaf2805a7bb +AAD = +Tag = 3b1854f0e8c8fd78c7593fb1 +FAIL + +Count = 11 +Key = c645cbf95328a216666ba42b3034f297 +IV = 369ba3a494a42401231667a1 +CT = bf661309da96321eafc65e511aa5f5db +AAD = +Tag = 087307ab8a20553ac8f4f5ff +FAIL + +Count = 12 +Key = fb48bfd6ed1ed59bd0020024fd39247e +IV = a37a9ccdf484c02dcac6452a +CT = b03c5e64c67ff21e96f81d07017cad8d +AAD = +Tag = 10ab8635ea47ec1daff7c412 +FAIL + +Count = 13 +Key = 2dd362d8bfd8cff853e2d0e833f14282 +IV = e9e71c0562adc0d1f981b46c +CT = 18ed141e5cfbde92178f381176fda868 +AAD = +Tag = 5daf8f8231b831ead9515676 +FAIL + +Count = 14 +Key = ee9d6340d347a9e91940c39f3655681b +IV = c75e9251c95ac61f46ac1119 +CT = 04ff98ae056e4c13eee3d8c15bbb681d +AAD = +Tag = 46ce9c42a5b3f2e770fe7afc +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 0400907dd5f5f88a6ca81b8694d8bde6 +IV = 021e97dc3f7924af85bac22d +CT = f4a37b2c464ebbdd5c87f64a0ba3e573 +AAD = +Tag = 416d1db4b4e66e9f +FAIL + +Count = 1 +Key = 0a804945e49cbd5f2b0d6137abf18849 +IV = f03597c76847af403d2e7439 +CT = 5ca8f54773822a63a43056c1f4af4c39 +AAD = +Tag = 2876010d498303b1 +FAIL + +Count = 2 +Key = cea31a0a7eadd8e3635f62cb9ed49218 +IV = 8a0bec63d6ab8a3738d02dbe +CT = 780199028cb9163484748e006e69e7f7 +AAD = +Tag = ef06bb560769f881 +FAIL + +Count = 3 +Key = ffa0ae27c978582fd2caff7ac6abb1bb +IV = 324d538961ba1137a081a486 +CT = dd4d42ebd0c9e9e509928bae02697fff +AAD = +Tag = 0e9e5542b5b82f19 +PT = 295a555e927381dfffbacd8438e4a213 + +Count = 4 +Key = d7a3aafc4899a052a205f8888560d22d +IV = d5f842c4c903a895897d5308 +CT = 9b5a69eb38c20766d9266373cd331384 +AAD = +Tag = 60de5c434615d671 +PT = 35e7a76fbe5893021047045a4444e103 + +Count = 5 +Key = 963c56b5155ed5df97d9248257e09b36 +IV = 644f3b4637dd31a9be512bb4 +CT = 160ec22bc311600d440c3791f9d8ceaf +AAD = +Tag = 79be2f5a2f485bd6 +PT = 2941d85222af64671a40afc7b99d5395 + +Count = 6 +Key = ee9b4f71d9bf2f44ae8547ab473d20b6 +IV = 4d4291b06721a1e47449e7f1 +CT = af9460e1e39d7c0828411fd0b8587410 +AAD = +Tag = 2e60be7b924e62ad +PT = 21427a1a53555c8b1c5b5ccee36db040 + +Count = 7 +Key = 5ab3bf22ab77f9c026128a4ec1f9805e +IV = 28c8e677bebcd8ff47143911 +CT = 43f1a03ebddc9906c2ec95d7cc43593a +AAD = +Tag = f729d2c41217efd6 +FAIL + +Count = 8 +Key = 3243811408382436de879a34570c3c0f +IV = d830d32aacdb2af3e74135c1 +CT = fcda879e0d21ba293dc5cee5ecc67011 +AAD = +Tag = 2036695113915ef3 +FAIL + +Count = 9 +Key = 634ade1ccb259b0590f7c0527fc3ade0 +IV = 7ae0a47f62335a239fde9e16 +CT = 433b16f6ac4afcf5c007017841e57d08 +AAD = +Tag = 4969d00e1dc35699 +PT = 90d6969f32c13a3beb6b01a7dac3ab13 + +Count = 10 +Key = 194919b8c9426f65500dd34893076f4c +IV = 7b7b643ce56e801872695e25 +CT = 409927b9d53b3af1c9b819f6228d1f92 +AAD = +Tag = 5e724fe3cff420d6 +FAIL + +Count = 11 +Key = 23c86b0740306689e64eb8bb77b7ee7e +IV = ebf2dc8aa08f4ecec51a56a4 +CT = c1aacca5e6d52850862472c552cbb779 +AAD = +Tag = bb8e4a80424e1169 +PT = a0e4dd624fe304b0344666c64d2f636a + +Count = 12 +Key = 0e7ecb3f615c775335e4aa30aab785e9 +IV = b6639f205061d6b990c55cee +CT = 6f1e8dd7c6378de0d4d041185af2f3c7 +AAD = +Tag = 003983a59c8c0f8c +FAIL + +Count = 13 +Key = 216bec162988d39b1c91351fe9e35df4 +IV = 6e652a16d011cfdc7146afeb +CT = ff5fbcee5d79f5c3e9661158e343032d +AAD = +Tag = 7cf903de4a3e511a +PT = 26ac5383da8d21743125dd82994615dc + +Count = 14 +Key = 2ba6b46fbcd9126dd47f809775abd601 +IV = 5d266f8b947e0b386a7f58bc +CT = 6b69cb346410b82e867b7f8e4f76494e +AAD = +Tag = 6245538271caf378 +PT = 478b888bf8c1d28d65aa63d648d9319d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = f93c67ff5093b1049b2c12cafe4d187f +IV = 390cd24c26a54a5d76cd5527 +CT = 20548b8f8bb7a56035387921e45b91e4 +AAD = +Tag = 558a87dc +PT = 1f9c1ba25c56283ee46a7845252985a2 + +Count = 1 +Key = ae700ebb64dede76dae108a044ffe39b +IV = 383aae7a15d86fed1bb0efcd +CT = 21f444c0267db3557bb5929bba2d1514 +AAD = +Tag = 23a6b1a4 +FAIL + +Count = 2 +Key = 9ee3b5863bc2bf303cd688ff87939808 +IV = e39057ec5d07931624d3ed48 +CT = 2760febf10d4414e497914e493de56aa +AAD = +Tag = e0ff50c1 +FAIL + +Count = 3 +Key = 54f30c0d4363b6f4975df3c0b4b42d1a +IV = 223a032b010c367b8d8c0fde +CT = 32e041f17e5dd6d7cd025089e76d66ae +AAD = +Tag = db81e9e9 +PT = 70409eca39012a71665a8d7095dbdd32 + +Count = 4 +Key = 3dbb64cbaf7005a9281002682d036559 +IV = 2284aae433df872acccfdd6e +CT = 0c7f6cd334177f23d08112867ab31f80 +AAD = +Tag = a1d26900 +PT = 19d0929f54035e9e580ac83718bb232e + +Count = 5 +Key = 3ccca00554f59ecc4ae476505c5bf8bd +IV = 0a0993928e9b08a439bb3495 +CT = 91db1b98c5dca2bd47bd416e68d161ea +AAD = +Tag = fb18c8bd +FAIL + +Count = 6 +Key = 2a5b6271ea3c11351e04c575eceaa8c8 +IV = 6d853e7d3f344e6c92e695ab +CT = ecce40531eea365bb9dd4bfd02c194a5 +AAD = +Tag = cb53ab73 +PT = 8618eb6c999ad7f3417e33711621e33b + +Count = 7 +Key = cb9d1407170fad78506325ee4da16f3b +IV = a2d92fc3aa5ba3aa33a23cde +CT = cacc494c85f004b8a2117c66ca7411d8 +AAD = +Tag = 06ab1faa +PT = 6e616d32207e436cc0a3959cfb1b2a80 + +Count = 8 +Key = 8723b1a8bb3a483debde4a8d6897672f +IV = b478006ea095ad024f90373b +CT = d476791f416aef26fda844ff61395018 +AAD = +Tag = 1a045ef2 +FAIL + +Count = 9 +Key = 2d454ef2e1068938a30579d8fbd34887 +IV = d7d14e1ea5bbcc31baaab225 +CT = 4ec07762ea184e160929077d0c65b0e6 +AAD = +Tag = 21dbf896 +PT = 69908f5064f08aa60c7ba34919ef72c2 + +Count = 10 +Key = 5ed9c63a6e02742632a415fc45a927b5 +IV = 4d9c7265f1ddc850edf48a95 +CT = d5a53e2891cbd6e72aebcfd5f6f626ac +AAD = +Tag = 7749fd35 +PT = ac2cdfc0d04533fd81fe49742f1341c2 + +Count = 11 +Key = cf936c7861c54562826bced88243d6dc +IV = ab27fa5ba7b36a6744561a01 +CT = 0149f9b04af5f68db79d952e7281adef +AAD = +Tag = 1f5f5312 +PT = 2dd66bb025402e580c5fff3c62892ec4 + +Count = 12 +Key = 3bdf7271c747ea42052aff7c3f70027c +IV = c36b4f3825b5676d71e1e0fc +CT = d07afcf67464985969ba79391e7ee90b +AAD = +Tag = 03aa52c5 +PT = 4864f315a78004ab4842a55a5825e0bb + +Count = 13 +Key = 7c16053aadb06566e2235962a006d821 +IV = 1d16b14d49798bef5f428b41 +CT = 1abe9e3bd3d97b72443cab17083af9a8 +AAD = +Tag = 217108be +FAIL + +Count = 14 +Key = da93fb054ef92b35196dfb425985d37e +IV = 16483c6d74d477f7c0c1ac98 +CT = e0c7da353903144b7acea726279db5ad +AAD = +Tag = 5359b14e +PT = c738b3af81ce75e70482189aa822ceed + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 816e39070410cf2184904da03ea5075a +IV = 32c367a3362613b27fc3e67e +CT = 552ebe012e7bcf90fcef712f8344e8f1 +AAD = f2a30728ed874ee02983c294435d3c16 +Tag = ecaae9fc68276a45ab0ca3cb9dd9539f +PT = ecafe96c67a1646744f1c891f5e69427 + +Count = 1 +Key = 867fc5d5476d5008f0703d81e3622255 +IV = 22945529dff947c3c9264df7 +CT = 1c785025e5a2678e4b29b29276e395bb +AAD = 261a9efd4f32bc3d07c115b4edcf8adf +Tag = 87fdf1261846164a950c37a3f2eea17d +FAIL + +Count = 2 +Key = 3d17f97bf1dae4268b6610dc90c70b28 +IV = ebcd88fc18d4c99d28524d41 +CT = 0128a239bb43c12885f9591386ecac0f +AAD = 681a4feac147ee2d25e9191aaa4c8830 +Tag = 144def0210af9348f07afe27e65bdc7e +PT = ec18a057c22d12373b5efe4d177eb068 + +Count = 3 +Key = 5c32091e288d4780fcaff52a69c1234e +IV = bedb360b22847fc2ff60ab78 +CT = 60c883306c91a0e6e98f8d7bf7ee9fd9 +AAD = dc7c3a89a00b688af2bd372530bfed0b +Tag = ffb93af9106e95e9a65ef147765970da +FAIL + +Count = 4 +Key = 75fb7f243336b78979988c08f39c44ab +IV = 69fed95864cad27f83503f8d +CT = 7bb1d878239966163a3db5712f57b096 +AAD = b4783565715e8cdb46f8a2bb72030ce2 +Tag = bfee0dda5e1afde5c7b0928774f80d21 +FAIL + +Count = 5 +Key = 7a3d71615ec0e6ee2257f33d06611b89 +IV = 1ccf177092a1518be9f6612f +CT = d0bb72968ff7fdbd3499d6e7a34ec043 +AAD = 0753ecc820e7ed3b6ce6b60dde776fdf +Tag = 3a7c708e0e6e74a654987a257ab96461 +PT = 9c0e1b4ea43af8b1d4d173b31424fa40 + +Count = 6 +Key = bf283c584efcc4778bc6091804b2b66d +IV = 1fad1f81b45de44392497629 +CT = 51f94491184b13f46defe609642adc16 +AAD = 791856131d5d4ed0e7b205b8b2ff4012 +Tag = f2e8b0bc4e1bdd9d2604c0607c4f7fc7 +PT = c40fee049bac9b688601506d63450869 + +Count = 7 +Key = 93477009c0bbbde3aead970dd96811a9 +IV = 6f096b1f3773a928301aea03 +CT = 8643e7d1686b916cdd2b74f1cf26ce72 +AAD = 7e61a6b6cb73c187d08509ad5b940a2d +Tag = f98afcefacdc71410eef471d5bb2a599 +FAIL + +Count = 8 +Key = ec3f4315316aca1bdc2806210bbd36ad +IV = fa0698f32e058389f11e519e +CT = 16a9fbf2fe33d6c8c0b22117bc0e6634 +AAD = 414ac255598157e3b506876d00843b31 +Tag = 88f4a30ea229c8c4641f60363436702c +FAIL + +Count = 9 +Key = b431bd21c8ae9845c469b8906618e715 +IV = 8579a353df1f7dd0bac1229c +CT = bca7919e99c8de9ccb7d2dc2e1fde95b +AAD = 79d9a0a2c7536fde809aeb9f084739a0 +Tag = 2b7d96b083a1fdafab7b64839a53b90d +PT = 8347a939a90f4e33dfc70c70e6447994 + +Count = 10 +Key = 71ccaf526ec51e5117c22869289d1b10 +IV = 9fc7b2fc3a762a9c28f64200 +CT = 6f65ed418dad09ffd883afcb3c3f2333 +AAD = 0b8ddf8514761fc60ca20c11b0a9e27b +Tag = 22e0056532a847859e2aa181b80fd97e +FAIL + +Count = 11 +Key = 42deade4fcd2728eef0c258f0f80c56e +IV = 033393d7167c23327271b58f +CT = 0cc5f4e993fcdbc81904f5b26071b360 +AAD = 34ae2559e79d88aa25ec8c0a97f4f8c1 +Tag = cff5af162a6bf4b7e9169632a40f3f41 +FAIL + +Count = 12 +Key = 1fe8b08b096103debbebe1ed1b5e0ecf +IV = 4f2442796ffc2cd7b7a6b6c7 +CT = 61ca6232340df229dea57b2bc45eed28 +AAD = 9c953a6b978ffd3457c0c1e2f9e29358 +Tag = b61b58eda5efa804d42b8038a9ca6472 +PT = 5b90f102d5cb5c4cf10db51f88d5bf03 + +Count = 13 +Key = 3f8a905c888fc42dcceac21ae09027c1 +IV = fb3db97addf0f67eb369c62c +CT = 743cdf63d80bd79d4664af2f5625d95d +AAD = b74eae31f9d55f9666899c8474cdc80e +Tag = a2bc61b1e16ac2ac9c23bf40bbfe18ad +FAIL + +Count = 14 +Key = fba087aa3a2b5b4109e36938d011a0b0 +IV = f92af1ed2065fac9eb4d7601 +CT = 700613d946dedd760da35483ab668685 +AAD = 90501a414620af8e76dcf165f5cbe603 +Tag = 63703fac96bb981f74bc52f557271b2c +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 522c33bbd01d3e53b1029f4e2a8b8758 +IV = 87aaf1c51b59b32f6eebe918 +CT = 5b71426cafafd7829d24bc5e24e45e76 +AAD = 8fe183fa1f74ea3f2914c8dddac1868a +Tag = d0a9c022184f1ec0b38a3d736e2d87 +FAIL + +Count = 1 +Key = efe37666a8cddbb25ba92ae71f774c15 +IV = 2a4d55ac5e95a9ed97e3b9d5 +CT = 1193a22f2bfc9bf8fea2a02c7c7bd8df +AAD = 8a0d5ada9ad33e4c24290574fafaaf64 +Tag = 9fa5f855602c0b0534e87b8b73e356 +FAIL + +Count = 2 +Key = 57d2282ab6337d6c066c2f12c9f1d84c +IV = 766fdbd5d45a09278f46258d +CT = 3f320769ca31b6b1866a08df4b8aff30 +AAD = f09b9378c78fdc90940d4e46d4b78913 +Tag = e06f1daa6c733bcc3cef70d8c79b40 +FAIL + +Count = 3 +Key = a31c61a83d8c7f735fa6322bb2d3e3f8 +IV = 4a81b89afdc141a7af9c8b57 +CT = 004872e4385ca2ff630dd2a7c79cdf39 +AAD = 86cc61fd6c52c2b25be2bb4c259ebe6d +Tag = c31324d0e2d4bf780ff26976241f1d +FAIL + +Count = 4 +Key = 2036028a77e0d95c97b31075202f0a8a +IV = 59a260d6e637ba113287fdaf +CT = 8fe2d3ac15c07be3ccee91a7dd916016 +AAD = c41371190da6e4cdbd45a05f60672635 +Tag = a777003876ddcf8184f645e89c6fda +FAIL + +Count = 5 +Key = 904d7d3cc4504a1819a4fa2b8150f216 +IV = 613fe23445fe3ac29fe07acd +CT = 9c0df59f3ebbfb3da29be565c3f08627 +AAD = b7ecea82b8e5fed9d24c08a2137bd9cb +Tag = 44ae5655711998a537b28d838a0f59 +FAIL + +Count = 6 +Key = 3a5bab2b2eaa3b8d9d3cb528c5455bc7 +IV = 06f06d866a7dbf4b2745f899 +CT = e2ca1fbdf4f9f590d503ba7efe382bc3 +AAD = 1d8b853442de95c1abbcd2c399129348 +Tag = c81ca8fcdcbcf3a3457cb7f1f51a58 +PT = f20314863f2d232e481a169a0a7ac060 + +Count = 7 +Key = c5c8b6e5a5e323ca46a577229acc4bb4 +IV = fddc36adc5a9675ac1b55891 +CT = d402a0b024982e93b4045a85e9a2b742 +AAD = 4b3bbb4d41967641c8ddf95c43661a62 +Tag = 57d8dee9ab6799ef6c13788fb5344e +FAIL + +Count = 8 +Key = f75aa9744a2bbb5f4ed0cce05b844870 +IV = d35ae5f157abbff01bc166bb +CT = e571d3ecea5a3fed4a5cd63fa535e749 +AAD = b8f6ca4ca40a46ac3eac6d8708d3b3b7 +Tag = bbab083c4f07f84421212dfee09545 +FAIL + +Count = 9 +Key = 9807ae420d5e1942b0bac9b229309483 +IV = fbc93e20bba8930e45bc25bd +CT = e291b4fcae812be5fe7f37ea3d03687b +AAD = 25373b8da2c0696c24f7b427b40f5e12 +Tag = 9de52aa1ccde0a371e417512b8099b +FAIL + +Count = 10 +Key = 00ad75d2e7356307d783bc32ed2b3b7d +IV = 2a775c84d4a0ada6c9fc97f3 +CT = cde51197960806adee54eb48ad7318f8 +AAD = 93b88f1711613599df3c55afcb3a79fa +Tag = beeca65bc4b29122f81e6f7a5fd952 +FAIL + +Count = 11 +Key = 5ce4679b1c15be72dfd827d3232b4785 +IV = 7deb09257d31639cdf891c6c +CT = 2926cd6008c9a1177ecbc85f430f3313 +AAD = 1d16147cbb808cedc19878be35d111a8 +Tag = dfcaee1def2c99396d99465a5511d8 +PT = 82e4b62339fd20bac2f15612521bdc92 + +Count = 12 +Key = b9ea878e20901109ff68b56fcc34c5e3 +IV = f4568351ffc7d2113781e994 +CT = 221e24eba5ea7fe8c11b9b3af55ab63b +AAD = 45a62ebeed80e6dc655a4bee625af4be +Tag = ee748c8b9b5d8b9c8c771ae77128ec +FAIL + +Count = 13 +Key = 1cfc6212c84bd4543774bc51020be301 +IV = 5a45cc990a242b6539ff4d61 +CT = 58a4e1926118269db5d8eda5c3d7b957 +AAD = 5d927b07af56afbb956ba46b0956a6eb +Tag = cd35ef7fa5bfed583488a59e5f36d4 +FAIL + +Count = 14 +Key = 959b554cbd593c0ea1584f3f40cbd3ea +IV = 156e401dd9c9b9a176f2893d +CT = 900866f991e6a2b9de90881ff8f7af78 +AAD = 468bf0d51a0e73160e0a4ecca16cc6dd +Tag = 901ae61298863980a333201f4302bc +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = a5055fb0915b2cde5c09e31913bad53d +IV = 0ea1441aac9593dc75d14af6 +CT = 35ee7d5edda0a7ecacafd686483948bc +AAD = 10edebf0f43dad18c54fe47c53ded615 +Tag = 5bb66a2d7cc065b3b386a24c87b3 +FAIL + +Count = 1 +Key = ed6cd876ceba555706674445c229c12d +IV = 92ecbf74b765bc486383ca2e +CT = bdd2ed6c66fa087dce617d7fd1ff6d93 +AAD = 95bd10d77dbe0e87fb34217f1a2e5efe +Tag = ba82e49c55a22ed02ca67da4ec6f +PT = bfaaaea3880d72d4378561e2597a9b35 + +Count = 2 +Key = 22546082b8f29f4ae7ae2c64b3828bac +IV = 5d6e6dc36c519534a7f03589 +CT = d7328f991a29c7d63c152894b0f7adf7 +AAD = 7c8bdb06ead5b3ee8778deedaaf90224 +Tag = a496ec0577142703a31f5e371531 +FAIL + +Count = 3 +Key = 7be3a26203d57faff9d47e77f14c353f +IV = 629756124aef372588d9f9c0 +CT = 0d7461d7ff0e44b0973bdd4add117fe7 +AAD = 0160af963898bbc677078aa4bcb65fb8 +Tag = 217629a5d4fcd0f438e3bf1c208c +FAIL + +Count = 4 +Key = dff02c6f22ce2cc39a80823453be6f31 +IV = 191c74ae3af41f283d376bf1 +CT = bb1abbac03ed882cee0a0928793a21f6 +AAD = ad0b7bd15afbb71f15d27204edb0d27c +Tag = 7e499effc3e96d98acd07380cde3 +FAIL + +Count = 5 +Key = 429e62f24857ed1c86669a77185cb995 +IV = 8cb666a84ff648262ef83287 +CT = ccf72bf13dc45d14285986a820c11eba +AAD = e13f4dbcbc34a4735af2d65075136ea6 +Tag = 587a7f320fe3d0cf23ac6ab9e16c +PT = a8d5ebd64d931c2179177b038bcf9569 + +Count = 6 +Key = 1f303f00c5bf290d963ad309c9a4c843 +IV = d7e15e74638cfeb51596ec1c +CT = 3d6b3a90b8b31b993580c3df792eb8d8 +AAD = eb27f95b04ced5812035feda78c38730 +Tag = 86a22ffd4c1763d7a15f49e95c75 +FAIL + +Count = 7 +Key = 89ddd5d92d5c2a2db490a2b83ccd4d80 +IV = 65b0aa76f49a4fb9d6012f82 +CT = 907d973d59846ac7998e1a35b6ba63ec +AAD = 9e51eb8b1f680a9c40f12639a48f8427 +Tag = 3a1919e28fc158f337e1a8326dc3 +FAIL + +Count = 8 +Key = 859c52e1dbfa2c43ffd389085060cc41 +IV = dd4b2e96915a0d9ce845d610 +CT = 80cf05ac33adf5c0421ddb2dcbbdfa5e +AAD = 7f1e88dc82467ea51b4d4f0bc52ea0bb +Tag = 3dd76bb823b4cb8f2c74cd861bae +FAIL + +Count = 9 +Key = 8f94e4748609320bd094e882a95dcd1b +IV = 42d08ddbb468dee74eaa8218 +CT = 556e5f9ca0dde76dc4c1ab77a03037f0 +AAD = 1723d1e93d3d8aa133b9df17cee26461 +Tag = 5682eb5658c8b16a30e68caca604 +FAIL + +Count = 10 +Key = 88dd24843c20edea537f8d5e515a9796 +IV = a441d42ac72570f1424a0cb8 +CT = d69c239828fef1d34e943c152b5bd66c +AAD = 2fa128f6d9e258c97deba9f55ca0daca +Tag = 81e96aa48ebfdfdad61da89a11f6 +FAIL + +Count = 11 +Key = 42229d50bcfa6e7ebc52519240b76c83 +IV = ad0663fe5865dd215435074b +CT = 5593579dd17f92fac62a60515030ab17 +AAD = b96982a8f5496596b6ccf1db0faa1684 +Tag = f04e1a6c9f12ba6e40920a94fa1d +PT = ad74b833b1a6b57028dcf6eaed4a83ea + +Count = 12 +Key = 2c3dcdd78cf8aa5fb7b4fb46de890f0e +IV = b16a241531835f6ebaf85cbf +CT = 808d7c5c30ea8c69eeabc453e3122461 +AAD = f3263ba5d1d97b418550b968c3f17105 +Tag = d8ec2a3bda5df7e62dd85a3da5ed +PT = a8d67a7a2c31503688e30edd13d0cbe3 + +Count = 13 +Key = 3f012ae216997bca455a1e247a0fed19 +IV = 85e8307d025f9d1193af88f3 +CT = 34423b973db18b4ce98213c998444a02 +AAD = ee41d9a66f6c382a5f5a45fbe37eb573 +Tag = 9fb970ffe5d4d734a454410b7439 +FAIL + +Count = 14 +Key = e32e65e32362207d010eba6aa2ecbee5 +IV = beae8374fdc9aff4228c4e10 +CT = 0395db60d102289c5190ff21ea0d68d3 +AAD = 0cceabb28779d73f00a2d74c72ba5af6 +Tag = ea39a58f07253af284d1293e7cd7 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 46adbfc9f7c0293eb6e84eef2bf31be2 +IV = ce536e3eee7e2d6557113920 +CT = 15e9e4c6c921f66b29dd104d5b1ec58c +AAD = bea026c17ce7bcb1eaeb0ac131cc1987 +Tag = 774524e30b2d891f1005d257f2 +FAIL + +Count = 1 +Key = a1412ff6f687787fb404a4a9d18511d1 +IV = 7e78061027ac22ddad25c930 +CT = 0d378e6a61589c6f49b739ae374e6fc1 +AAD = e21cfc627452107d55f34f7d06bca88e +Tag = 75ea647ff1318e4a53b55ac0d2 +PT = abef8c37dfc74ad8b5e59e71ae9a9583 + +Count = 2 +Key = 1e583e6658ee9177c0ade6b301829664 +IV = a980fe78397d5fb9b0f7faa8 +CT = 241e9eb6930537092b7a1785d67097a4 +AAD = 6192e7490a8aaf06e30ee1e72eb58409 +Tag = 9c7e0783742f79c93c49ba7c2e +PT = 8a59ba51c445959f363b9bba8fde8eb7 + +Count = 3 +Key = 0e03e17c28ad655942e2cf726aff0e02 +IV = 380eeac373e0e7d99f829b1a +CT = bd07b4b1856eb782c6fad4cf41c2dda3 +AAD = a91cb9c8da643fdfddde3953d6d5d93a +Tag = 8d87fedf7dc3726531ecb4ff56 +PT = 3e47eb2210a248a6cd7ce19282cd647d + +Count = 4 +Key = 00eea5761c98e88280b72fdc28e18f21 +IV = 93272e0c9a86d50fe4de9c4f +CT = fa40a4221a113ebaa42dca1e36959812 +AAD = 3cc0c5b9ad1d59897741d56999caa76f +Tag = 8f8df683ba5049f1a636403257 +FAIL + +Count = 5 +Key = 10fed9d3e2c9e73ec5e3befb5afec53e +IV = b30613d2a4beb8218612db33 +CT = 645a7af95e86ecd9e81f1ad6c7b8a958 +AAD = 84f52de5d9537389da44b712b3813464 +Tag = e4f5ebfe1835599ee2ca771a0e +PT = 52efe5c605a72d775bb48dc7295373ce + +Count = 6 +Key = 38208dacbd2ae376fc845d098c66de76 +IV = 09d68de6082c120c6a9f24c4 +CT = 2d6c6d11616fd1438c2a00d9e2b07466 +AAD = 88b260848ad3c4f333cd95475dd929c6 +Tag = ce9728e514d8e0418cccf042a5 +PT = 0b833b0409961a26e53ac052689be2bd + +Count = 7 +Key = 41c9ffac5db765e464f48ac4660a8ddd +IV = 303f4458808c18659dbd9ad3 +CT = c5544af0a2d7983463b127f045bb274b +AAD = 326fed36979b0610635bddb3b9028061 +Tag = 2b7d58846a8d21f2e4181c5ed8 +FAIL + +Count = 8 +Key = f47d4e3b427e46e8415bc921e469499f +IV = e6e1db7338916df48ca8bb9e +CT = 0e96dedcb42339cb99c6e51f29c9b9b9 +AAD = 338a5c268b9cb895b818779310bd0265 +Tag = 5d6ec6245be72705d3014551d4 +PT = 551244474fc82a5a56726d971abb4cc8 + +Count = 9 +Key = b9dd82bf599a8fb070f20a3cec9fdcf3 +IV = f8ce4a05bc2a8206a5fd63c1 +CT = baef5bd33c2cd4697006d9454dd61889 +AAD = bf289353e63e8633efd3cd7126966290 +Tag = b8cb03f9a2563b875e56aec467 +FAIL + +Count = 10 +Key = f97d0797f9f35fac0baa825b793990a9 +IV = 9391831120c21d125f50c17a +CT = 6f66b4dcb49d4ff4f5b8a1fdea27b57c +AAD = c2c3fb8c2cb54221577aade970d09a02 +Tag = 43f50e0af7124b8bb6e2a47a82 +FAIL + +Count = 11 +Key = c60104ece163f0eccdeb7418fd4b6758 +IV = 2a7b5ea8164755d73dda122e +CT = 3482e493e90f299c4f6a56a35115d269 +AAD = 2042a1591ad9ca88e7820fa36c1de54a +Tag = 170d12e923e61115f322a0df6e +FAIL + +Count = 12 +Key = 00cdd704193cbbe78563c8c31866dfb5 +IV = 9e18fea2764b5cab76992b25 +CT = c46d5c8a362ff9de95c0a0995c17ff5f +AAD = ca0b8952f4e6a39d25d78cf231be758f +Tag = d104023474c588926025fe957c +FAIL + +Count = 13 +Key = d30fb7af5687f11b17956d62c0e34153 +IV = 786997de7dbf8d2fa27571b3 +CT = 92ea6ddfd833683a5f42ea02eaffd58d +AAD = 2a2b5ad513a9a5b82198d3ecd443a4a3 +Tag = 4fbd0ba36be9533ff901a0cc0e +FAIL + +Count = 14 +Key = 9f08af9c0a84c24e20ce6977d6895c1d +IV = 274e838247bb1a3610fd50e8 +CT = 899e0c98c7aedee55f537aa307f45706 +AAD = c567ebdd98d4d4cc9b192ba8e85d0c32 +Tag = 4991a9338c1531bef664da8406 +PT = ece9d03cb74b363b8f82f279c0e8ca4e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 5ac0b25cccaaa4bb2375aef5034db959 +IV = 65765ef5c5ff39c256af5838 +CT = 506959e2cc4929a7047a5bc986854e0e +AAD = 77d997b514608c0d0b0668cecae21f4a +Tag = c69d14f2e795336f6eb22171 +PT = 53b4f37fcb17ecbf88f47f5aa53bfe96 + +Count = 1 +Key = cb9768032985c633885aa4e620ff4164 +IV = e88522b2ea8d9b101336c5f4 +CT = 67376ddf6b04d32d8a18017cba1bc268 +AAD = 028376ca8e24e3688c35ba026e06b90c +Tag = 9af459f9bf20d3ef186b88d6 +PT = ab0a104a229ca0f7248283abb1414855 + +Count = 2 +Key = be71e4bb09c4284df5fcd22c2a614ba9 +IV = 43af4aa384d412c469cf1aff +CT = fc6f3787f8667d4206cad26ff3cfc56d +AAD = 0ecfd31fc761e5a4bfe6fb977c0a02c5 +Tag = 74acad0ce97c33a82988b3ec +FAIL + +Count = 3 +Key = a02482f9de231d84cb30a25d46c2617e +IV = 65cf597e39ae808d9ec00f0d +CT = 2ca6dc879c22fa698d5ca4383204dd02 +AAD = 88d63760c460e2eff9ad8cdb282c0ab0 +Tag = 07d4d64c6519509c0056dec4 +FAIL + +Count = 4 +Key = 682041bdfa4b1f1ca4e84f0315886304 +IV = 59cc547ea9a2f1b91a41f11e +CT = 282db61cc78abc2ec3298948d3da4fb8 +AAD = 86e27c71cb70164115ec4479f2208adc +Tag = 7e54e8389fef5992e8bb570a +FAIL + +Count = 5 +Key = 8d812d5aba85d681a8580de91f8c4999 +IV = b3ec60959d6bbdd118fa65b2 +CT = e829132b8a9a0ebb71e0ba0e2973da3a +AAD = dd924316ed45f8b12e59a614f938e3af +Tag = fcd32ff94e73679bc9e667d5 +PT = 0b7f24c8c484c71267ce55bdaa4475f0 + +Count = 6 +Key = 5c392090104a2b18efb74a7d95edfe2e +IV = 754524e3306317928ac20cf6 +CT = ae4a3842cbaa4aa534dac14008973977 +AAD = fd352fd0f3ab58dbe0ed34c9d57f470d +Tag = 25b96cba35f2aa88749f0791 +FAIL + +Count = 7 +Key = 1b383dbc72cc73a155f2a3c8974ca42a +IV = 56385ae9127e300fd1859c5a +CT = 7186481238042cc3974c33b4157fb2ac +AAD = 4aa643be6ea1300723497b88ab5cb8a2 +Tag = f9220e3e10ea8764529c5319 +FAIL + +Count = 8 +Key = e98e2824ccb6fbb1d64c38909a3b124f +IV = 610af11f342e25edfac707c7 +CT = 71af4607ad413f5dee86b3bc8959c8b9 +AAD = ecb321a2a6a868ad7295cf89736d0474 +Tag = e345b0345cfe6bba580bfc85 +FAIL + +Count = 9 +Key = b421cb6ccd9bbd9a3bbb5f8ad4703066 +IV = 2720922ee80d417a9d7559f0 +CT = 6cbabda4dc5584706c07df6f798d2dec +AAD = 6f59773dd99185235223e7942b029f24 +Tag = ec3ddc5efd78a0cfda57a6bc +FAIL + +Count = 10 +Key = 48a43149dc149e632b2d366d734e115c +IV = 8901da8ef44b6f6424314700 +CT = 571738e4d80bf6b54cd51e6b9f48d1c2 +AAD = 082605ff7237d774c32fc36f7c29537f +Tag = 8d9c4d09b04728f1fe33e06f +FAIL + +Count = 11 +Key = bbae210fd67d8027b0ab3302353f4629 +IV = 44619c39dfa521010c449edb +CT = fdab9d33d910439a2529d9e6107cc80c +AAD = ea323857e917100e3704ddc2f4d9994a +Tag = afe31938caaeb1989fea06e3 +FAIL + +Count = 12 +Key = e199748448f1e2f03a6263a45843bb1b +IV = de537368e88fd043434f92a6 +CT = 3ed3046c9e008e89a540fedb3063efbb +AAD = 86f8772bef4c1c1f86d8fa09c808caa7 +Tag = 68203802a95f58431ba918dc +PT = 899b46e9dc90111a126f2da784b1d04d + +Count = 13 +Key = ca86d421b225d766fa6b2b78767db530 +IV = 455ddfb62f76554edebd3416 +CT = f0045bad0f34e6267ea08b428f279ddf +AAD = 16d3c600471eb1d2ecfee27658a4042d +Tag = 1e88b0c4da45b1bfbb0607ff +PT = c27bbd6a9b14983b48fe2256892ccf6e + +Count = 14 +Key = d1816124e697e61c791f71ac5cbf126c +IV = f1b2b6beba6b2178b1a54fea +CT = d5feeb5219731396d7ce2c814283c78c +AAD = c8cd2b16e11af2778bbd575f2199df02 +Tag = 905f55a7276f59ab470a4379 +PT = 500097f21971241c3a313b3bd6a0fdfb + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = babb3730fc7f19e98ff35778e8150432 +IV = ae8ec2fb5ee2e4f670e960ba +CT = dc85d14791c8c3ec4aa77f40df326eab +AAD = 5af0a06882152e1096848c060d68ee40 +Tag = 6da785c8a940ed33 +PT = 2c8e28a249816a8b6ea79f7dd7d5980d + +Count = 1 +Key = ac818adfb2a95c63c08270f77553afac +IV = fbc50df6aa0d2be027aed376 +CT = 1b81a115143f42a7371a077fab4d6b72 +AAD = e445a01b91089fa4ea255356d312463d +Tag = dbae41d30f8e7508 +FAIL + +Count = 2 +Key = 6291203990326fa14bb92db7ef44c3c1 +IV = 59d87498b79e77533505a75a +CT = 735d12abd580f1e26c1c3d6fba0de6c6 +AAD = a04d8b71d6f8b8ab6dad52eecea5e5bc +Tag = fb60fba22ca96ec0 +FAIL + +Count = 3 +Key = 7ded29f84eef5678963b69dc2cbf2b10 +IV = 8cfb4cefa3807690216345dc +CT = e838bdde80ab8c6ac0b1c91d1c762f23 +AAD = bce93cf17087c1fece300aae7d19c871 +Tag = bb764dc7f4824cbc +FAIL + +Count = 4 +Key = 14f8b54dca76d1f48295b0bad1ce0f73 +IV = c05770fc2302c817a9332157 +CT = 61fa9845d5d7bbfb1f21df3e3414f338 +AAD = bef56258b8d706b15fea658f5258b055 +Tag = fd12de67c5a25f53 +FAIL + +Count = 5 +Key = 7bf511d454963af25fa6a6a5dc8d8da8 +IV = bb0637cd40827e29aa0a3695 +CT = 36d160b17b155607a84356de32e87d15 +AAD = 3b8ea0ada9236ddb299ca3fe63c70623 +Tag = de07864cdb188393 +FAIL + +Count = 6 +Key = bea57fd791782aa67658fbd57c95ac4c +IV = 3b304c9e5650e382d313f944 +CT = a34a6faed3449053b22da8f552aa8de5 +AAD = 56ef586ad9efeb28dcdc0d3758d2396b +Tag = 007ae9355d73da7e +PT = 48dc55b0fec502416a2d7bc133875e91 + +Count = 7 +Key = a843b225fcfb959e6719df6dad67f2f0 +IV = ee108d129168582459296132 +CT = 298acaad0ff61c7c43ed81df3b931884 +AAD = 7af844ae1791be051938ae144ec4c831 +Tag = f8d8ee70722d07d9 +PT = 2bc9b68b2f02da383dbc6048a7bccb2d + +Count = 8 +Key = 96fdd13332d341406cd2a8daf0550b6f +IV = 1b6c4a7b44ab8069633dc747 +CT = 19596c24262716187b781031482f3824 +AAD = 88ef8fafafff16ca82dce124481f533d +Tag = 992d536581b45894 +FAIL + +Count = 9 +Key = 5abf86eefe3d8cf4137186d0824c7ea8 +IV = 168e50a7cbd2c9a759bfd89a +CT = 259cfb6bc3b00c34a469c09acdc9a37d +AAD = 3cff2ab689ea033b2e5ad73361b8d1bb +Tag = a5f97abbfa6cd009 +FAIL + +Count = 10 +Key = ca1f6ada738084b6307680179986f324 +IV = 7d88b1881fb5f0ad168ce6dc +CT = 3cde2ceec3c0e2f03fa9467350de3c8c +AAD = 69eb753507d8b03e5b7aea51250a4564 +Tag = 3485b8d9f817ba21 +PT = 7d49c7fab17a0a01d09912686aa1f997 + +Count = 11 +Key = b321e876944aa40cb2f6aaaea737d652 +IV = fcec88f9030f95421a58bd25 +CT = 6eeecb50032d8a6c5746e5d372a0cff6 +AAD = 130fd4796e07d15d6622598f87512ebd +Tag = a25421fac0a74255 +PT = 79ba49005f5e92e287db93935d00c3f3 + +Count = 12 +Key = a4a09ef216377a7650ab1c9aa2292394 +IV = 5c09e9dc76026cf77ca0a00e +CT = 85dc570d35b5d4c53d961f7cf1e596f7 +AAD = 6e1b0581fbc01b2841a7bf4635f9b297 +Tag = 5994ee3c1653f436 +FAIL + +Count = 13 +Key = ebf9b8f1f9ae2b2439d51056ddd56c2c +IV = 7934deb6899a3bb6672eb323 +CT = 965d3a34a4fa63a7006b38c93a9bffae +AAD = 3f062baf96c49f6d43c95e7eef5282b3 +Tag = 7a69f613179d0748 +FAIL + +Count = 14 +Key = 3c913859a09b5f3a902647c016dd0bd9 +IV = 27cef53ef2d787bffefb868c +CT = e4585cf7cba4966426a7d22472a37995 +AAD = e2380f04fdeeec4f20fc9a4281018a8d +Tag = 2121b3e0e8c8da7b +PT = 9c49d7fa8fba4a68bee91469c0728c19 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 5bdaeb73c495545d5258db2492245e1c +IV = 59e70895a9305e9141ee09f3 +CT = cc1d3a444c645b9b04c71d670d7f9322 +AAD = 6761b73419d120d5751e6391fb25d7bd +Tag = 566a7856 +FAIL + +Count = 1 +Key = e2ae32a708d3aa3d98eb3cb8c532e178 +IV = cbd81cfbb831e26cbed3eba0 +CT = 32bce90b9f895b73f778fcd99ce72483 +AAD = 6140ad0276384f04ab7e2604e600fc4c +Tag = b60c06cc +FAIL + +Count = 2 +Key = f46b1d075167b7fd6765b9616b91e4c3 +IV = 2e22f9a5a05532368bc91268 +CT = c1595fd51e0792a060cfb3ab07b6748e +AAD = 15e56a882bf0334a717ea78e7c76726e +Tag = dd9c337e +FAIL + +Count = 3 +Key = 0185910a5d7b23e25570820a07b75a42 +IV = 986101611557ef3b761453a9 +CT = 2010033e61e259e734d8228204873018 +AAD = c25d795c100f30167e3b8b932bf69e3b +Tag = d909718b +FAIL + +Count = 4 +Key = 8db33e87c7891431a547663c1988eedd +IV = d1bd80a2769ca12e8babdfa5 +CT = 5bb0a12cda5564b9a44187f15cec5315 +AAD = 1b4a6384fed45cec4d59427504c37e55 +Tag = 4eee3dca +FAIL + +Count = 5 +Key = 45068d7a57e4f25080b67b1ef29b5ff1 +IV = 89f5f6f443fa77a1dde4fd75 +CT = be0eb3c6011c449b3aca20977f3b3ca3 +AAD = 761ad68ccf2f92931d102644682ce1ea +Tag = eb41786e +FAIL + +Count = 6 +Key = 2e5f88f8ecb0ac6298203d6f0442223d +IV = 700fe08808d0d78b14cef9a0 +CT = 966942f5df6db91410a9f6e2156e7ef5 +AAD = 9e173bee7c1b08ebedbfc2bbcf3f5387 +Tag = 9d82e102 +PT = 9233c008b2328a0bd47a86110755d1f2 + +Count = 7 +Key = 6a32b3290a972c9dc53201476f884988 +IV = eadd71ec716074e74ece10de +CT = 3866678c60a159b2d6ab0cfef27a6437 +AAD = ce739a4d5f53e27eaba2f2fe83e2d838 +Tag = 3d7b17fa +FAIL + +Count = 8 +Key = 3e1d00045394d6b6513c7a66c78147df +IV = f09e6b768c77da1b6afcc3c1 +CT = 67653eda10b7ff735d0f7d31801266c0 +AAD = b7ff1292eecc0664c02b8781f6d3dc75 +Tag = 216193f2 +PT = 3860842e7ec505ec48d347e6d2998386 + +Count = 9 +Key = f7a7fa71b8c434498c96b85dcb15e7e7 +IV = db9a27949788c0f3036e6c42 +CT = ef0ac13719f023612dd9ffd499180ecc +AAD = bcc64e47063e614c4956b70e6987b88d +Tag = eedd10b2 +FAIL + +Count = 10 +Key = 0e88f334dfb6095c402f0c6cade3193a +IV = b54b7aee61692db01c12f6fa +CT = 4210e36515032a9b8e62c12b06a82b42 +AAD = 6acc9fbb77d94ed065de2f7ee62b81aa +Tag = e6c554f8 +FAIL + +Count = 11 +Key = 1862725a745a3b44c82ddc89928e7048 +IV = 40ae82607e81d9ecb6ab0532 +CT = 3dd9ba3e0ee9b3476c2f0442cddba880 +AAD = d78112690ed27069ea2daff1f2d9936b +Tag = 242e8769 +PT = 11a126cc563eaf1e1e949eede8f73699 + +Count = 12 +Key = 61c3da5ad09feb30e3736a47730b5d41 +IV = 9f07323235d79e9ccaf281c1 +CT = 3cf6423d6e4037a90a3af8abe0610a27 +AAD = fac95e7d34ba374e6d6466796105863c +Tag = 9270b617 +PT = 976a599564891947945a0d3ad5e97ecd + +Count = 13 +Key = 9abbc01ce7fafdaae15d5baeb0f66bbe +IV = d7bf8aa6b53e91a9fe9ecaff +CT = d24ab45d8a2b5859da3973f0b6925526 +AAD = 2ff69a7a5f8d9a3bfe0e74726d2b84ed +Tag = ce51dbfe +FAIL + +Count = 14 +Key = 0fc25903b4d8aa3fd0bf22d31f405945 +IV = 947c583610ef5d220d514c8e +CT = 2e0ac2cb459f2b1f31c363c3bb48ee22 +AAD = 6565637f97f495610707cf2e57a628f2 +Tag = 417add66 +PT = 98b37c2019e79497db48c71756a7489d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 4cf56dd7eb109452d7445e79bcad4f86 +IV = 5f3724b27c345ed5d1757e9e +CT = 2d0581c040f4e2bb74423682113b818c +AAD = 20fe2aa2641db7318aa5e339b1e303f952b05dc8 +Tag = f090c0cba2151af2e78ef407720233db +FAIL + +Count = 1 +Key = d9529840200e1c17725ab52c9c927637 +IV = 6e9a639d4aecc25530a8ad75 +CT = 6c779895e78179783c51ade1926436b9 +AAD = 472a6f4e7771ca391e42065030db3ff418f3b636 +Tag = 4522bfdef4a635a38db5784b27d43661 +PT = 8ae823895ee4e7f08bc8bad04d63c220 + +Count = 2 +Key = 43ebcf37e131a9b954bf003136e72ce2 +IV = 643e6d21bda599d486f2bb1c +CT = 6d23fa3b74d3b61f7305fc87e051408b +AAD = 87c99e3b4292e047ae80947fc5d46c4600d9f5ed +Tag = 9c036852b5e3c0aff0bb8933796182ee +PT = d5add8d52c941aeb874cb17d52960210 + +Count = 3 +Key = 23b0b223c477ac83757300dc0c16684a +IV = 907c5c2d91d33ae435b51be4 +CT = 5943b9c9229301ce25b12e798d2f16a5 +AAD = dcaff8fa814e9302f872b89e8656ee1c7c87c0f3 +Tag = 31fe5884756cc3225c42a82489115fa1 +FAIL + +Count = 4 +Key = 1ea8d9a553d2bc1268f528fba611e80b +IV = 91495ca2fb726f317faa265c +CT = fffa077c1741cd9fa1923cfa7bcd8b04 +AAD = 55c0553c29dcf916d2cc4655a962ba18845f3d9d +Tag = e7c433cd59c3ff7e3480f664d13d02e1 +FAIL + +Count = 5 +Key = 73ca3a3548b85406e5512998339f01a8 +IV = fd1990f00d51bdced7a590e0 +CT = 0afcc434cb7b7e1ec0496342aa631f75 +AAD = 64775d9656d9186fedb1ebbe9e45114b3a0664ac +Tag = 77f14cc311d60bcf5ee95049d512eeb1 +FAIL + +Count = 6 +Key = e9a9eb3f226d3d47212bce6498bb489d +IV = 5830becfb7ac36c00f6ff8ae +CT = 08a6f369d29adc3bf94b269938a53b6b +AAD = c4c51491b05de3c2ff006012a2e23d4eb121d3fa +Tag = 1d53e69dca3ff4fae0029d013f7c349b +PT = b7fd70ad0723c5c8e74fff3eac282bf9 + +Count = 7 +Key = 961771c760fe92821f2febe0e3ca06b3 +IV = 8650d3dc83ec5cf702bb990b +CT = 20bc94651a0e4f134aa259298c9942d6 +AAD = 716b3419f61afc44aebdfb2ef21fccac1551de5d +Tag = 868887decab5c3979fc943139d7423ed +FAIL + +Count = 8 +Key = 903ca48ff529c6515c690a896f265999 +IV = 0b42148de0d438ccd434b20c +CT = 3918bf3882b04f0857e7e405a4ebe056 +AAD = a9680e1551a4b8678bf96cbc2c07ea95d0e58787 +Tag = 7b511865c62ac3a077348bc5671bbd50 +FAIL + +Count = 9 +Key = 9368fea0615ff679589ce50b39b097c0 +IV = 5e25fda2e612c707db2ac70c +CT = c3a2134534fbea7f5c2c53cc422e762d +AAD = 01a7c360ffd013282ba1accd509c9b341dc19abc +Tag = b88c003712a5be28ae8b46706091b097 +FAIL + +Count = 10 +Key = 6b01949fe5e343d1639690477bc3a252 +IV = 8d8e6f1b3685908103a9fbc6 +CT = 16f4981c944c6ac60d06def4fd587ac5 +AAD = 38f6601845bf8b194108942da1c4934b5d2025df +Tag = c8b627db732d629be6cfeb6762cbe611 +FAIL + +Count = 11 +Key = 86827950e1d412fe4077e231141c0482 +IV = 5752576285321b6483a2c192 +CT = 24a18516523a69be03a62b0572a8e068 +AAD = 24df844d581ef17959a433bbc44b4d6665f06630 +Tag = 031b8c5c2c7bfcec2fc72d56f605ace7 +PT = 5e0bfc67b327e725351dfdf56f3b3c18 + +Count = 12 +Key = 7ecf54b1d2d81b6ede2cd574d217d5c9 +IV = c335ee604c9055de42b2a672 +CT = fbf1dc7e4645a85ce2cb21b4b52697f6 +AAD = 0e65219827f0acf8b6b0e75f9397f711d0af4b21 +Tag = 1d6c7302bfa6451fe096289629a68049 +PT = c45dc86e1ffc3bc1013d4847b4dceb28 + +Count = 13 +Key = da8298a837229eb7c0eec75873261458 +IV = a500b91e890d278f974f2a77 +CT = 574fb01be46c7aa1e86e53dd3f31e3db +AAD = 2bbcaf47d8b255075da441294403a7b8d2dd5768 +Tag = 3b2ce73552d83efae185506e8ed8729f +FAIL + +Count = 14 +Key = 0ffc47ae5991e8b232d8abea0c323033 +IV = 5e5099b86e4c984072008bd4 +CT = ef3f1e9e81d1708edf657938d76ca394 +AAD = 92879fd84b5c627c67e2ac484f7bee6669272e9c +Tag = cde1f403eeeedf1f983545cc393feb21 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = a44b92f21d8ef251ecdbfac2697e4a85 +IV = d7225e6deffa8e774b4e896d +CT = 503f20b293624b544a6773373a9ca295 +AAD = f2d74422c51060fb4d526f27b101c93fcbf9b16f +Tag = c13edbdb4fdca6c5548664585e8d95 +PT = d5d097077ed0e181a6e3ac2cf46b6c75 + +Count = 1 +Key = b26555b164303d0d71febc0cab6e73b0 +IV = 81f8ce5e68906da4d86d0669 +CT = 4ad1193e77e5fbe457064670b51ec5de +AAD = 74c414edd12407647816fe561d19e2381cfa8985 +Tag = a8344925047c8baf715042eb954890 +FAIL + +Count = 2 +Key = 2eeeaba8210dc8faf457cef3a5b7b04f +IV = 68c3039e3d98ff0f427c6751 +CT = eac648eecdd1ad2b7d23e28d439bd78b +AAD = 6a99a6abbe0f9ada8364b2dcc0e946449088b0cd +Tag = e72cd02f849c1454205523aa09ac35 +FAIL + +Count = 3 +Key = 4caebe9d889d0af798deb6a7b554f05a +IV = 40e5824b121bf04d876f117e +CT = f9a4a42cfed5f4afd23c85f2f2088935 +AAD = 5b23bbb3df83d6ba3e3e3911fe97d09b5cb02318 +Tag = c2cb39aacb861438e8a6dc22bc0915 +FAIL + +Count = 4 +Key = 9aa52f95ba6a95eb77a5201130ca4ffc +IV = 4d6321fe75298c966490b852 +CT = bd7c71656c2d720ef8be526b76bfd685 +AAD = 7a79c4cafc06b1a240fd1809714b148567af1589 +Tag = 25638dba2afc8d68a6321f1ce0fba5 +PT = e7f0c5c2ed9df3672c90c96823ea4211 + +Count = 5 +Key = 6fd262f0ff5a46d42cd6230344c4116c +IV = 225a55b9ba3b9e098d0c4ac4 +CT = 419b50eb4f003356a00f51b51f4cc0d9 +AAD = 8880e9b4b65790c847078002de0ba9d311cbed2d +Tag = a49c5cc7fa21097a0ef7e8b367a8fe +PT = 0ab5af75dd2464cb5208582629664bc7 + +Count = 6 +Key = 9b6327e93186dbc4a93b5772e95d91d6 +IV = e1a44b685024d0ca36e8bca8 +CT = 0c0d9b902147613ab11ffce5eb63757c +AAD = fccd3c1e385501a68801f2542c24b718323529cf +Tag = 26fd2895d994123d7dfa4eb38702d9 +PT = 8d510fef9879d36d3a5a7de4aea3d646 + +Count = 7 +Key = e4f82d9e404b4965c83af71549bf9a2f +IV = eeb0ceb9094e16de3301b565 +CT = 4f50377c6ca564aabbe23e338ef1ec17 +AAD = f37d179bf19f067a3f2bb50a5a1e81224aef5904 +Tag = a30beb86b2fac55bcf43723e79601c +FAIL + +Count = 8 +Key = 96e053dfa43aab2d22cc23bbd8101947 +IV = fd6e504bafdafb9ea1a16635 +CT = 189ed4e23792129be518e620dc344edf +AAD = 67b423d7967b5b794bdc0c1d398fb95bd6542c66 +Tag = 835fb4d3496f879964662c666bf74f +PT = 2f02460a45931897d667fb43b0f10711 + +Count = 9 +Key = a5ee9d426acb915e910d213a0bab8574 +IV = 39a18a7f9aa9cb2635ebc720 +CT = a85d1a44c2cbdcd059ccc0dd8b3485ac +AAD = bc26dfc33333591584a538b2ee40ed5a7a7cf8fd +Tag = f03be7e3973bc2de69a077c183185b +FAIL + +Count = 10 +Key = fc2ceed27ce109a8807a12df139254c8 +IV = 7c678da2307d3cffbbe5f1bc +CT = 2655995bf75dda83d194a7c6b247b973 +AAD = cba0c6c81b2d0e60c5fafefcb63393dafaee942b +Tag = f244d94bce9ecb376548615685499b +PT = 9d7b54de8d904d7eb134b232bd055cee + +Count = 11 +Key = 62e2a1dbf013b4aff602c77c519be664 +IV = 53163358d63645ec8141b6fe +CT = 87f8ec9a18ff5f28e10bd8c4138636cd +AAD = 671420e3d1bad98cdec9579b02f753d22a8d971d +Tag = d068e15d3746ab257b18dc1cecae32 +PT = e2fb1222c2aa66952a48eac98d468399 + +Count = 12 +Key = d82f1afcebf60ca022e4081db1225838 +IV = 4241ea07d32627f86e57f9e4 +CT = 83505060885e4b02c9e2f24d417cf3cf +AAD = e39198de5aaf612c87551e3560ee26f46ad737b1 +Tag = 7a895a9e49544a8779d721cc23d700 +FAIL + +Count = 13 +Key = 439eaa0c38b74a28452d82f01677e544 +IV = 684bc522b0b857f5c0b9c976 +CT = 48485e81ab923469cfe71afdfbeb95cf +AAD = e9208846e94f67155d58c0902df5070a2168ee54 +Tag = 8eaa88e25aef98400c67468466cb3a +FAIL + +Count = 14 +Key = 34e6a7c3f1f04425a74339cc0fd8a1fa +IV = ad4cf74320b21385311b4b88 +CT = 06ecf3228f40c6940221dea263f20c8a +AAD = b3b3d98094177334b64baaae73f6f33d5e2d583a +Tag = 3081baff0173a19937b4998e01c558 +PT = 6ff7c62d61aeb2b16cbe99fe741f5a68 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = e38f9cc9eec93d98d93a9a6bec2f4943 +IV = e8c6a5df3dede3edd897f8d6 +CT = 638320c7a28a71cdb2c52e88e4671a3c +AAD = 32ab704de4e01b8c9c724522b624ef7f0cbba1da +Tag = 083a0ab2253bfb775fc3e7df7548 +FAIL + +Count = 1 +Key = 6083b0360c22317c81c4d095577ea9d3 +IV = a109f3c2a85c8f632d251850 +CT = 0c8d62320378f87b804df4fe6c92ef4d +AAD = 65c08ff598b7f06a01b50c65b6d21e4eb3244576 +Tag = 00901f0380c43b1c612931d340e6 +PT = 9e4784a2a6e212608503296f9f06b074 + +Count = 2 +Key = 77e72d4c702fc9ff93c551e5becef08f +IV = 934f39692b67e03b3ad6a450 +CT = 043bfb1eea7898968eb6f984508b47ef +AAD = d643fbf852fc3cd2b4647660eb946f00e940e792 +Tag = 9d151bc370018991811ac5c44329 +PT = 882b7971d2616414d825c429af1b4e49 + +Count = 3 +Key = a70ab8a0ad22b6bd9551d4f4a06edfda +IV = 277d5849c9c5a8dc772ea597 +CT = 46353cdd7d3f22bdbbe6dedef85fce44 +AAD = 4ec98a9090862da97c467659e15d2d00cae7cf8a +Tag = 6629e7aff3b8a5de90f79042030d +PT = 0b368357ead5b7c33f1fa51748269f6f + +Count = 4 +Key = 5fab34a22b5025acf289d13e4584057e +IV = 2a70120c4e1e811f823d10c8 +CT = 282422353afbe9c3cefd5f1bf195649a +AAD = 9808d18faa5a6cb8b8860cdb93d89ac523e2f656 +Tag = 3a9aeb6b4e332b8a66a8f8972c70 +FAIL + +Count = 5 +Key = 7c5daef701a9a9039b1bb8bfa3d8881f +IV = a317c7531585ad624f7c98ba +CT = 1481d48f3daf84fea385cf30ffeeca8f +AAD = 9193bdfdcc44e83c0e8d215cf7a3cbed10859de8 +Tag = 85135acc81a43a59a506dbbec55b +FAIL + +Count = 6 +Key = c689055ab829665c5409a83856563217 +IV = 38407ace4474a403d2cd9829 +CT = e10a30f46ee00ff2d90aa2cb37199523 +AAD = 180fca77367fba2e359466f745ce98dae8698099 +Tag = 4033b16a7216f69fe9e85cec34e3 +FAIL + +Count = 7 +Key = 255ad9caa8b88bf91905f3f27c16b5fe +IV = abfd257c20576e077bc59a15 +CT = a93cf7163d3daf89ce4ffa931eb1f92c +AAD = b27cdb24f5e116a3b3bc670b036c2c7754931e74 +Tag = 67bd50f340934dd9fa24ef3c444b +PT = bdb08d84be701830cb5a9317498892dd + +Count = 8 +Key = ad91d4a01f1057954dd320d4b354c041 +IV = 1d9864d3f65e763616f95197 +CT = 659611a48f4bba9a410853343f4443a9 +AAD = 6ca7645a9fcd5ada809a205adad8370fd1fd37e7 +Tag = e5dff39c33f681ab69362ae7a8bb +PT = 84e21ec8141824a4f49cc42227fa1beb + +Count = 9 +Key = 902cb858c9b25a9d9dc9d3183b23253d +IV = c80aa9a03e978d7df2589e67 +CT = 54d6d15683280e9192f738dd77ea711d +AAD = 0a32a6d366c89e196a64161e88efe894d6e47818 +Tag = 6e6a998110874d0811933df3bd37 +FAIL + +Count = 10 +Key = 1eecb5454bd3e8aa8eab6b764685ad53 +IV = ac5f4f0c6468fd123fe48972 +CT = dc08e9d75c8dc27143b9856dbe489ccc +AAD = 1c80c9e373110209822fd82cf3383b27aa3fc023 +Tag = a39a3e98c65b1f86ded7b6d273c5 +FAIL + +Count = 11 +Key = 87facc2e968b5327c5a7a22c46f9e041 +IV = 0d24c3068dad45df39c5312a +CT = 6dc80935636d68544cd05bd58f323f1b +AAD = 12642124b3f5313fb57ae1ec41d1cf853ad10c82 +Tag = c2dab0f0046ef158fd78e7efb79e +FAIL + +Count = 12 +Key = 61f46dd377521607ab057d4f5eb4cef8 +IV = ad617a49fd0b4dc62211950e +CT = 392196148811e36b7104bfd5605610e1 +AAD = e0b3791124b506a729cae8f5d1a50ae7ca000de2 +Tag = 8895c88390d405f8fd705440f559 +PT = 6b7c6a58ca3a1c7c9f5cbc9581b1812f + +Count = 13 +Key = 618aae8f5418b01a78b91c57c83d48c9 +IV = e951ef46f47d4111d820c8a3 +CT = f162a696965ace35516298f62ead4fa8 +AAD = 4d394ebbcacc5f6c94c748d52839e38b08114eae +Tag = 4495904b88d07a3f5ca6be45f51d +PT = 559643761f7f48198402ddc0341b6862 + +Count = 14 +Key = 556dc324b1a5b05dde41120f92404cae +IV = 178ca92b7df3a1d055207c7c +CT = e76849ec2bd2ec69fb9f0936696d15d0 +AAD = 06143c095ce521e135a1ebe87f4119b33c8d4ceb +Tag = 410f50bffadc4cf8f5f890f78b88 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 7c73a4164f5e1d4a08d9fbdc3b1995eb +IV = b92bac3289295dfc93215b70 +CT = 18451efba2f5a0daaae48637984ab5f7 +AAD = 5cdb7a60e1830c0cf8175c12e279f9c867d7c82d +Tag = a9e9b0a20257f2be56e881cf02 +PT = 2ec786bdd99d5b28d8c15375bea6f438 + +Count = 1 +Key = 33304f61a63780bb12b32e3d5a9036fd +IV = 04cf65241494b5091f3175a8 +CT = b5776dbfa6ea9daadd296d9d68f46992 +AAD = a74ad369d04698c2177790dff04f78555b4bfc5f +Tag = a8fb4fb9df0b6d6a281d5c022a +FAIL + +Count = 2 +Key = bbf11df9d711b4898da580af2d0eb895 +IV = 399d9066db67532dab6cf281 +CT = eafac21730ca8a2e33c229598cd3a5e2 +AAD = 969399d6d00f57e54de363342678a9c1713b4089 +Tag = a64d6ca21527331ef28021e076 +FAIL + +Count = 3 +Key = c164195ff3c3ba32532f850773464ca5 +IV = 52eb8cbed5d17c0d6398dab7 +CT = eae8760429d78881c21b5a91714a8765 +AAD = db52173b286dc24eec752339e3e8f971a988ab92 +Tag = b77fe549edac101505e8f0fe9a +FAIL + +Count = 4 +Key = ff43965e0dbf3e29d17a53bac3eae245 +IV = 708a376727d117ce1a816080 +CT = db0ed8c95e4112404916d295aa577896 +AAD = 014443b084eb59e004e909817d94bb9112ddea9f +Tag = 03dfd88b948e41cc06fc6d6583 +PT = 0ed80836914e982158a096b1058b2976 + +Count = 5 +Key = 8927e5658821f7e40f689133d3609092 +IV = 7ae5bc5938b370f4fc253f9b +CT = 744a52b2e89c3ae363d2d13ac255c9f6 +AAD = a5f87527790bb8eaad2c708aee298da5ca8c71d1 +Tag = 9ca2107817983a2fd70d853ff6 +FAIL + +Count = 6 +Key = ceba311f253b6013544e30735cc5a727 +IV = 9f3c4cf8a2e5e08ede0e2d4a +CT = 4f943aa54a645a619292a3d80b4a401d +AAD = 8594cad88d7c7c0119da7e8d60268314dde93e61 +Tag = f2515592d9f8fca0ab7da9a9d1 +FAIL + +Count = 7 +Key = 89bbe8fc71c5079fbb573547f1118ad7 +IV = 06cd75f498220901d45002ac +CT = eed4c22d2cf53b9075a03055f5545c12 +AAD = 3fe8cd603db39e90b5017e1aa8131acb64ccf5cf +Tag = 5327a9ea5fbd529027f81df362 +FAIL + +Count = 8 +Key = 2d14df6047a22d023cf15c1cee07e4f7 +IV = 762908b4da203c4e89e18ff9 +CT = 8479869ab74171c1c7bbebe980713fa0 +AAD = caa2a9b5290c0c3eb9c4a4ecfe2ab9af7a5a9f3d +Tag = 1c350be776a3afbfcb311be957 +PT = c96c57ea9d50838bc3267e77b8f447b8 + +Count = 9 +Key = 078d121b418c4555a23d9086a0300e62 +IV = 084b02b18c45209da76945b3 +CT = 507d0c0de5edd4143fc4bc92b26ade34 +AAD = c28afcbbbb875708d514be7da0c16011b95773d1 +Tag = 47a3881492a9dc510d2ff046a5 +FAIL + +Count = 10 +Key = 82abd18a1491382ed9c1ec93c79cd986 +IV = f3629dbf326ba0d7a00acc74 +CT = fafeac9df7ddfdf4170474a342b825ea +AAD = 1e093b12d0678c50263e1918acb808549dc8694c +Tag = ed03c6717994cb3579fa760d1b +PT = 525712046a8316bbc1fe1e8328d04a8b + +Count = 11 +Key = 0e9a0f4452c2ea9173ca54bab457e5b4 +IV = 1abd2aa0b438bbf11ea1ff73 +CT = 23e00bdb64a2a49cc13854918d4864e9 +AAD = ad79989bbc7e808e15cb34626b629c8c7e642fa2 +Tag = 2b680c2fb7f5ea20be45940944 +PT = e65d1a76e0858fb32b82411bd0a48eda + +Count = 12 +Key = 80c16b815c5840fa7b24a633379ed25a +IV = 302918d23c703ccd22ff8006 +CT = cf4d3276dbab65d8a6cc620591413eaf +AAD = 4e0c97e7edc14b51a96997320d54b0719912c054 +Tag = 729a873891238ca71176968403 +PT = c165b46390530db460b8f204a0d68102 + +Count = 13 +Key = b9dff08da41455ffb70ddf150bd0f0f7 +IV = 985bd513d0d9fb3810bbf291 +CT = 0082c9457489538f7b8fddb8936cf6eb +AAD = 49c4c02166147a50e5edcfe0332a6758b6adfbf2 +Tag = e7fe36907bb4435ebfb846d814 +FAIL + +Count = 14 +Key = aaf099b9b8050b92e0e0bc9f8cb0492b +IV = 322187d37fecea9e60b8980e +CT = 429229afaaf45790e924417e20bc42bd +AAD = b5915a7f224dd9081102804605c3a22e40bf436d +Tag = 564fcebf1d80ee8c4b63a58e17 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = a3020781d65fdc52ec13e8b38b5a9b37 +IV = 0c2879b8eaf5eef2a7700b96 +CT = 7f09589798ef2d198bc2f1fb7ab7609b +AAD = 5dd3790c90b2632a6dd17b38082e5af15a4f8dc1 +Tag = 255a58f831e20812216e6ed2 +PT = 122da596d16a1a712ce69b7daf2db61a + +Count = 1 +Key = a0b4ba9f4b25d88b6d0b8e91beb686c2 +IV = 2c43f69a965f3ec1ad8df71b +CT = 7ae02928e1aa2ff5af40309a910dd71c +AAD = 668fc634fbfb6c217472020b90f9ff461eee9cb7 +Tag = 705568949e8df86420bdd22e +FAIL + +Count = 2 +Key = 47cb1408f9ac8a5201467ae46eb11f07 +IV = 0944561192e84f14e0a46cdf +CT = f457571550c3504bda6d50915ca52877 +AAD = b17bea6059f5f5e1f4cdfe8d87b2323ac0491d70 +Tag = 62bbfa1d8bd94575071b4b8c +PT = 145018b7e5119981a954a72f1e1a1567 + +Count = 3 +Key = 2539e322ecccefa2899229c7bb16f71b +IV = 06219b1c95242f1f0fc89145 +CT = 3b4bafff28cb344b54f4de4235b1e98d +AAD = d51915c076a71003f6d256cf84b1fcb764d5148a +Tag = f4839a3f0e480ae8773c6339 +PT = be83c5d83770fd904103d912e78ff89b + +Count = 4 +Key = 1b9d7f89a59333d246d4c51e8d62fb15 +IV = 008c3ba1ce83b6d0ddbfd277 +CT = 77307dfc6fc7d2db8e1499dff4fe2f30 +AAD = bad09ded6f5b697e78001eab890cce35d8fd4059 +Tag = 8646e4e5eb0352e95412b859 +FAIL + +Count = 5 +Key = 97afb03e662dbd8e329f5c356624082e +IV = 582a29ebf0575f8fbf5e8554 +CT = 4de538e5fb29235e1044d7434c2d1028 +AAD = 96675544c52856f38afc2dcb31f937a4e7701f09 +Tag = 671d518133a387516bf30e95 +PT = 632d2aa851bbb1e4fcbfc7faa35cc266 + +Count = 6 +Key = 05ce6a58636cac4130201fa5f3235d65 +IV = 347ecadd8beef25c10d7e958 +CT = fa604bf3eeaacb9214195818083075cf +AAD = e3e9523577000bd33abedac23111bff7cf8a4047 +Tag = c79fd38da6c88c09f2825ae5 +PT = c72317bc3085c9cc73e5abba61f3d1f8 + +Count = 7 +Key = 45510203f16b69f115ff562af389ca06 +IV = fbe9889f2883c9909963beba +CT = 44f0b882d756bad07fd056620c12891a +AAD = c979f51e34279efc184703bc14f669f8fec94e8d +Tag = 8abc2f13a4376b9759a83a56 +FAIL + +Count = 8 +Key = a1ec15df67f41dc5d817e956e4fa142d +IV = 52da3ed8e56b7cd0fe572ca0 +CT = 4ee97bf42ca3e8acbbf4821e98a6e319 +AAD = 44d43220347b2667edad83af6c0a73f60921bade +Tag = f23c04161dcf2061bd19833b +PT = f716dad0be7226604cba9924387d2544 + +Count = 9 +Key = ae228b8d0b54bf3012fb82ead04f5430 +IV = 3fed2b93a84175994a559306 +CT = 4f28bd6fb69c6fcf2f00a777941f0b78 +AAD = 7be60504b0a04562cbc7377feae2d097a85ed4a5 +Tag = 9c7b12987502956b75c0bbff +FAIL + +Count = 10 +Key = 0909288eaa7464ed34043e917aff9d01 +IV = ede6a3fa2662e11629ab824f +CT = 230bbf05bc71b43685856aefeef1ed0e +AAD = e6c3cbb609f67ef443bf976a82f4917f73ed37ab +Tag = c8d5f8e883b701898b59fb39 +PT = d862ec67b01a9e79ea02573b715f5772 + +Count = 11 +Key = 6aa1e0ba95f05352bb4af15293ff1c91 +IV = dc10db40fc4f15be033218c6 +CT = 406d84ac70d73951c683d6949cd4dd7b +AAD = 430cf2b3b136016171ee059c3ad4703231315612 +Tag = 106424be3920ecdd597a4454 +PT = b48b9a66024b1e4eeeeb9ebf475bc9cf + +Count = 12 +Key = da02aa163335f7eda5ef8b14d7b00287 +IV = b8c36abff3809a8939830ae6 +CT = 87fc92d3f552f19302d313dad11daf0d +AAD = 0110c785288f4611adbd71ac971cc7fb401f6488 +Tag = 600cc4cb866a757cf7b3977e +FAIL + +Count = 13 +Key = 74ff7d1580a8966881de581ba2162853 +IV = cc20fbe070281d2d790fb0e4 +CT = a2667e3d91c79f7f1a018c3beedc53f3 +AAD = aa0a20f3cfc1b8729c1f9d82791c1de6a457f894 +Tag = 083ab108f7f7f5fe6b872248 +PT = 6e946fce71f36d55622f25c14c811b93 + +Count = 14 +Key = b038433c120e9942850d870b7a25eb43 +IV = aad8e7abd0c2806c6e6b002b +CT = e463ab92a806fcdaa69f7115da3806e5 +AAD = 622e6446240d3da2492967a1d5356c91dd678c0f +Tag = 31bb729e7789f25f74aa04a9 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = e28137926583b6847b79a4dd5029524b +IV = 9600ed57267dc285bbf63df2 +CT = 48e33d79674c36e7bb51122ad78bdb31 +AAD = f5e1e4f63c633eabba15a6e0f3321d5813344344 +Tag = a2e1c36382dfdd96 +FAIL + +Count = 1 +Key = c1b91e6ab20dad46fa2436870d5d3a14 +IV = 9ad6e561066e70087cb833ef +CT = ae279cda5a896ed6a1e5653c5e9e3107 +AAD = 50e616c687e18ee9a86cceaa9fa5d126731a1880 +Tag = b0418d0362bbd216 +FAIL + +Count = 2 +Key = 9a2e0e3980de1e0a2e6b797834f4f169 +IV = 17ad3ee10ebfd507045d404a +CT = d9677c05ae45520824ec24015f6f6b9e +AAD = 1cc24c4e71e04cbe662b25ece97a7a2a339bfdfe +Tag = 6b9ef6a7f9267416 +FAIL + +Count = 3 +Key = bf387bb0c4197f3517a5416ed6522c63 +IV = 1a86715c31f1e972c7933ac0 +CT = 625e60c101eaf61e2be52e65b4b8451a +AAD = 8b5959d29fa408078b219749e8db704fe3f18993 +Tag = d8b485cfbdacb762 +PT = 4ca5bad7a50b705f1fed7360bf252ed4 + +Count = 4 +Key = 31240d8ff371d3331be682ae304c78ce +IV = 29c35ec449fde9ab351f4f9a +CT = 589fbc7ea32466314ba7398890657732 +AAD = db9f76a9319b062f0c4fb585793316c45b55d499 +Tag = 2b66e45c237b5943 +FAIL + +Count = 5 +Key = 5bb3666994b17ee7b756b4e268d102ab +IV = 9ec61897df5a862a2e52ca0e +CT = 8559f474c2377b3203dc77c3da97f805 +AAD = bd0da48c24ce71713e2d47e7d9adb8fe6a51a70b +Tag = b8589f60edb53541 +FAIL + +Count = 6 +Key = 06490034ba74dfb966ca1f784387823f +IV = f9c98b240d555e9561088eb5 +CT = def0afed516d718efb52c7da169a7f94 +AAD = 33a6fd7bf038fe69bce6d7a6aa07f8c3ee9c0b98 +Tag = f9bbf8d0628d59b9 +PT = 77591091501b9394d0de47674319a5b4 + +Count = 7 +Key = f5eb8c4d65b2c0f072a33a3e724e536d +IV = abbd2366b055fbda1afa0de0 +CT = 97ca86d3b2ae51cc0f69447dac4bb800 +AAD = 38546498deff59f28665d78bac8305b28a3c7290 +Tag = f80c15e4e09abfbc +PT = 094e06a01a997b81f661f995cc0711e2 + +Count = 8 +Key = f1f1d35c70e1892a6768755fc59e75b0 +IV = 0ca43d9f0112971b80c3e759 +CT = 6477739e655260a8750c0d1398137625 +AAD = 9b749762def94d7aa19175eec2e95ab4af4e15c7 +Tag = 6c0481e678ced945 +FAIL + +Count = 9 +Key = 17afdd5f91c4aed372997549a1e36375 +IV = 73b6732b2913040927e06549 +CT = 08f05ef13b0ce2c9303834de70f7af7e +AAD = d88102906e7b8e1470a9d98068f06ebf9457d43e +Tag = 45471fa9e43e4b96 +FAIL + +Count = 10 +Key = 3594be21c5e1b0b9e26eb7046a819db9 +IV = 25ed1b3c346f3bab50993d1f +CT = 3200182793a73f98777affdf1048fb48 +AAD = 004f73fd69b3e3283c891bc335dfe4679b2d30ca +Tag = d23dbbf0e0e64590 +PT = ce51edd89f18c1b6c0fbed2da4b75225 + +Count = 11 +Key = 7ac8b02e34c870b75e4820b8be46b481 +IV = ad7600f2c5a8d34602703b3a +CT = 186c8fa53440e8b34bd7a6251c82a40c +AAD = 9b892b9813873fe2770fb1dc634f0567ae017dde +Tag = 5012aca9eb8b6e00 +FAIL + +Count = 12 +Key = 213dc2381914a66a958eb2c4ff68266e +IV = 34a42b537a60002aa9b1368a +CT = ace67e6ba5839fe69fda692fcf5da545 +AAD = 7e8c2e4cc6811e6a738912debe584b052e0837bc +Tag = 6e693a11c7599828 +PT = f795ecf59e45ffef0255e0b80d1fd0ca + +Count = 13 +Key = f821fc2575390360201697be9435cdcd +IV = 149540ab0a20ba1cdfd99940 +CT = 1f9238fa43d20f8883c06e194de3f0a3 +AAD = 9b9458b5ac15f6862b9de3a261d713f08bd8845d +Tag = 34264b32a8a802bc +FAIL + +Count = 14 +Key = f99e1dd1b203087cc0de166001141942 +IV = dddf2ff7281484a35ea53c01 +CT = bca26d4507583aacbcce13170ee22f6c +AAD = da26969b674f2cdf18ad5f7d47e96416b4e92ab5 +Tag = af37df0b08e9bb76 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = f52364f65c61d47955ea9cb74334ff72 +IV = 4b20e5c00857091c0cac4f6e +CT = c14f48b52696c977dee3ded8c0cf5ab0 +AAD = 94abc48331061869b16f1b562a3351c36c5b7af2 +Tag = 7df24318 +FAIL + +Count = 1 +Key = d9d521f69f08ae20c7df1ec59b0b443b +IV = f9c94219c02b792d5c6f2914 +CT = e785dc44e435f2ed7619b21a74a0b214 +AAD = 988299d5c23fc8199f4925cf3f9f93e3a5b98a17 +Tag = d11a2680 +FAIL + +Count = 2 +Key = 2382975add8a0120edc1ac39365542e0 +IV = 8fa73dc94aff5173564389d3 +CT = 6b781bff89525bd9ef8e5fe0f09ff0ab +AAD = 3f2e133585ce00a4f0bcd69a4a114743c6ec8240 +Tag = 6fbf8446 +FAIL + +Count = 3 +Key = fb96312bdb8a22f16fadc423694f4570 +IV = 7fc25c0c7a65b9500023d058 +CT = bdb43f90f16e26dcff60db92b96c4a2f +AAD = 9eca2710bc1caa99502de30f089430697aeefc03 +Tag = 77b64e40 +PT = aee416a21f0e983fd70520b8cedb24e5 + +Count = 4 +Key = ba57f715d532029d3523ba6c4329c777 +IV = 9403f9a3fc45eda4465621f7 +CT = d44faad9d2fed30b0729a817400b67d2 +AAD = 84b82512b1d8ba426982c41ed3a3da34d022ea24 +Tag = a322c15c +FAIL + +Count = 5 +Key = 7613682652b3adaefb53a48f9c8b9f78 +IV = eaedd408c944931fa4366571 +CT = f6767fe98ae10ac8f3201068fbb09f66 +AAD = f08f03a326eb47af1661397d7ef5669efe1644bd +Tag = 1ddfbcb0 +PT = 7dd04434872aa022374a194e962b263e + +Count = 6 +Key = 115821b74bd690e9221a3dd4fb4474af +IV = 24d4e41ea73f4e8d48f0b3bc +CT = e92ebd0ba3a8e4f6f3c2a042da42875e +AAD = 7ad84af69a13a2320f74f493fb36965371936dbc +Tag = e98eab00 +FAIL + +Count = 7 +Key = a56516ffd0cc1cdfbfebeb0a40b89fdb +IV = e057145a63a60d6baaaa8d52 +CT = 0a42f58be8f1f9217194bddec32978a6 +AAD = 438bd31029f5c756deafca329debac2649e21372 +Tag = ea3cf3f4 +PT = 26226982e903239093d8db18a47635ed + +Count = 8 +Key = d0563e7504cdda4b74995f6b851a0d63 +IV = 75b4d9f32a94fee2770b5305 +CT = 0a35621401edef5bec180afb17c5b6ca +AAD = 6dfcd58da556c6f2178da6eb98d46f7b1f801034 +Tag = 07b3e700 +FAIL + +Count = 9 +Key = eac00823992833c364b41bc7ede3e1cc +IV = 1595151d6f8b79a5ab517609 +CT = eeac739a87b98bc9009e2ee13dcd42ad +AAD = 2a2ce9be3396994e3d43ffb49a9674036dabd3be +Tag = baca1ede +FAIL + +Count = 10 +Key = 8239897dfe90f29612949a7b09793fe6 +IV = 10018c20a62842f415dcae82 +CT = 9e7596baf875a8ba9d44ba4e6bf05ada +AAD = 2ad61edb1092a3848098f5af80dda3edead1502b +Tag = 6ad818a9 +PT = 44bf308f228051bbbe3889b72b5729f1 + +Count = 11 +Key = 4aa431f66a579b5bf0f93dbb08fdaa06 +IV = 1ceeaa0445a424941af99cd5 +CT = 1768eac724814d6929c92de277dd98e5 +AAD = 23425c4613d060ff7706228a84c2cb5d00fa8ba8 +Tag = 66b16d5c +FAIL + +Count = 12 +Key = 4427a84aa35ef6c65078dcee5b6c82f8 +IV = 6fd165ecd9dcf3a346594485 +CT = efb54d3e8520ac9e6632f22193e392ec +AAD = a3d71cd17028a07862dfc1ad9d1574dc8a06af4a +Tag = de7b41fa +FAIL + +Count = 13 +Key = 3e67dfa89a2435d1ad66aa5e70ae2d8e +IV = b9b8111e947abf4336a5900a +CT = 5a57a063a18803d4c1fb64004d83bbb7 +AAD = 2f47c6fb71916610c3a8ff19ce6a53acdd223feb +Tag = 00173307 +FAIL + +Count = 14 +Key = 933aae5020e6218c61734a53e889b5fe +IV = 1a7c77f28ac5fd34e882456d +CT = 492a220f213e2406ce68f73e8b00f385 +AAD = e003e61c72fd3de8c78c50bad48c4d53a8cfd456 +Tag = 2ab9ee97 +PT = 58bad1623a322b8dfcd79ad12c9329eb + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 527da7a4f81d6d4f6f395b623aedac3d +IV = 2acf3f0c64f5ab9282a6f4a9 +CT = ef47b52ebc6d4cc0dfaf09d22a587c73 +AAD = e5492270c1df154e594c689fc505575c6bf5d7dbde0d1ded5ed32ec65e3e8289072bb10c35e385f499c0600a58f721b2 +Tag = 0530cfe49d93d78bfa9d54ffa6d148ae +FAIL + +Count = 1 +Key = a10785641ff210336a96a42001824462 +IV = 906bcc9dcd0fb4caf3c5b691 +CT = 19f30bcdb9f3a4c110e5797c64561c88 +AAD = 96d9404d0a24052efec37c8998726fee2db69d755ac87dae6f9d6b505fdc09799de79757f90053bf503f23283fba3084 +Tag = beeec6ae10e9d7f11188c59c46789e45 +FAIL + +Count = 2 +Key = abbc49ee0bbe3d81afc2b6b84f70b748 +IV = f11db9f7b99a59ed59ade66f +CT = ce2d76f834942c022044eebc91b461c0 +AAD = d533cf7644a48da46fcdec47ae5c77b9b52db775d6c886896e4f4e00c51affd59499a0e572f324989df511c4ea5f93cd +Tag = 62df4b04f219554cd3e69d3c870032d2 +PT = 5135ba1354cbb80478ecaf3db38a443f + +Count = 3 +Key = bc34611aea26c47b028eda43936fbd1f +IV = 68628129aa2fb6ba7fa46b83 +CT = 738d5b0edbbdea4085174c168c11e955 +AAD = 6982a727ab5e75c089467b0c9d909d6da2dddaceb3b042aa9b12c1f8d7be7fab63af0e1f457fde6cfea04f4a6df6936f +Tag = bc0464a8f0f146546b16318dbad4a4ad +PT = b358a0151f05ba85d65ac3698e674d28 + +Count = 4 +Key = 86613911634393460d581276f2fe82c9 +IV = 6433b2a1e47552414cf60e84 +CT = 50c7ba11891c8b40ba74c663df54ec7b +AAD = df81e6b7ed9c4d8dec1accd93cd7f3d9538f3355202c5a545ab548950c5b4598430fc7d88e28241bc04cb00fc50418da +Tag = b7558e17cc7b5b1f6bfcce7f7ec6c16f +FAIL + +Count = 5 +Key = 7fc3f870c3f32a55c912c4b713269dd7 +IV = 828d1d61bdbefed2bcd65905 +CT = d1422903671ac453cf42322cd3341e9c +AAD = 378466552eac129bf147d64db0ecb3717c1add1ad76b416602cacb728c05af70769d00f32bdbbe7d54e950138d969a7a +Tag = cb53f3828dfba1f387254f50d9a69380 +PT = 80d99a194aaa8db085394591791f5481 + +Count = 6 +Key = fb83253786e83ddcdb8ebf89fb37fb32 +IV = 67454a1324f451e0c50eb805 +CT = bf9c0a175cc510b1e474f5cddd923f68 +AAD = 45a84eda3e45dd89d7a2f31ad9982dec9bb59fe7376382f6dfab8c9e8f5fd7a18663170af4557693e3108d51c14f6f9a +Tag = 92f65fae9301fa983a8149e9eed72b25 +FAIL + +Count = 7 +Key = b5291e834f899b3b22a8b77fd5a26642 +IV = 93fa2101e7b13b9e3ae3c248 +CT = 559c48cd0d213296381df40b961de268 +AAD = 8c09c1883ad1957fe7615ad0a465631a78e0a4059680a41c40a542ab94b0f246b3210122e7e6b1088a6067ab0ab39ce8 +Tag = 4b3a4d91ed785fd52836b023b11a8e0c +PT = 052ca393b0230b4b1ea06eedb3048546 + +Count = 8 +Key = c6d138d93b2106db7e62d67b25910586 +IV = 1290dca4047cd031f80afe5c +CT = 488f108ceac7dd6d9b653e5b700b96f0 +AAD = 0434f074ec1cf2b6cd958912ef1e58a7384ad47b4ed6852216954803d4b0eee42848ec28ed1fdef5b99f4a32f0081b15 +Tag = a83bf6bf0198799fde67d4725406d7be +FAIL + +Count = 9 +Key = 5f9c25ef23f1b8cc6d114665095ce500 +IV = a73c0171a14a5c4879dd8692 +CT = 213957e8aa7ec598e27a955b0b26d1b7 +AAD = 6ca8ecae42fd2fee8b285bc2836a1ec51bbbe03d83e20dbe0267983632e512846491e2e501419964c4e7eb9213ae5c44 +Tag = c781ca5e18b8ad91c30af636bfdd5a89 +FAIL + +Count = 10 +Key = a954403e7f5e6116b803fcf61b69fd78 +IV = 36438c3f50c7835800103d64 +CT = 09fb8dadf2aabf5a1eedfe1c7d585f4c +AAD = 2c01e76a3a8d86d199eac169560fde8680f4b14f45e76c0b26581bffef595fff1250051c972eed702eb3b58f5ea7cdb6 +Tag = a014ac75c80738e3b95fa6a4334d3126 +FAIL + +Count = 11 +Key = 229543caa39b8e2647703a09b082be4f +IV = b40f328dcdfb4f94214298cf +CT = eab31b64d8fe898481fcc743f56b6f9d +AAD = e84c355a609b9c190766dfc68e3dcd8377d85132c0e2f607ec06960a5e73972e25ff84a4f3e63ad4c946fb8c0d08da7e +Tag = 6dfe7f81209b1f059aafd8f36e929388 +PT = 6423fd59407650c305d92ecaa3dbc84e + +Count = 12 +Key = 1eb5022fa84cb4ff4354c4282ff205c0 +IV = 6334cc3d0b4ee7e575cd90c8 +CT = 436ba45e2bfd1119485d68f6d96b9c77 +AAD = d2caa4cbae3e26277c5ae361aa76a5c465845997acc37e6a3a1a09ab99342e698b6dd09bf5465adad1d54904bdcb4e77 +Tag = 16cb48152bc8778b4bbc9cf18e27908b +FAIL + +Count = 13 +Key = 5962ce9c4a12c457e5a2165639f93fbe +IV = c5cb3a2a1f4bbf7b64bfb211 +CT = 3a16961039ed49d930277c323d9d8be3 +AAD = ac9f9916f0b24b78de67f70446bdc85cb122f40e133fc5a30fee77539929009f2f97dcf5e5af0528f5378747d2c5cff6 +Tag = 9e6b8ecfb015309088b1375cde530608 +PT = 49f3ab3a9fc7b4283cea9abeb9edcc07 + +Count = 14 +Key = 745eb79bec8d94f90ed9e580067c9452 +IV = ea47877e5e6730dff90821a7 +CT = 90f1885812b17d7991c8053b003cfb47 +AAD = 68bcc1c94d821b864c2effd8ae24e2201dafeef48c15d82a5afb830e220e4740eaebf6f03c562a564c2521191ed84461 +Tag = dde6f55bbb9de66223027a61ba050e2d +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 2f3f60fdbe1d2845fb35ede97bb3debf +IV = c9bb8bfd243750f1927bdeb6 +CT = 31aa118d98f3e1b8443fc195196c0fa5 +AAD = f115708a811796e4c1b9e9fe3b0028efcdd6cdbd0c5481288fadbc191db8b7839815476e3da91926beee83d5dd280165 +Tag = b1f5d2438503688336933a9f34aefb +FAIL + +Count = 1 +Key = 615dd1adcadfc544af427988471d9f25 +IV = e8912fe9c7bfdd0c4a53fc48 +CT = 2e9dd586bd009d1ce32efeecf108db5c +AAD = 01dc3a3bc1af7a3a32fe918274c46a98b6c6ebf7c5b62b265da49e83de0944358b1dde9d5143e15be8a026991fd5cdc1 +Tag = 28d21d16e19bbcad48ce2b9e344f7c +FAIL + +Count = 2 +Key = 4fd7f209dfb0dfbdd98d2db498664c88 +IV = 1f803c52cac497e155aa552d +CT = f87ef7994a86f3e9a3ab6a6f2d343bbd +AAD = 3bba31289d05f50fed6c53353c1f74d828a996b8d684fe647f7c40c0d5688c89681a33b10cb714b6490bdf1f166060a7 +Tag = 3903e4dca4e7c821621abbb2372c97 +PT = 179dcb795c098fc5314bde0d399d7a10 + +Count = 3 +Key = b04ff9980736bb9c7ec4018c55f91bab +IV = 8781e780d41a3e8150cb0564 +CT = a5c20e0f5b4c42deeb3cf432e7b033e2 +AAD = 54a4495584e3d6734071db1760eb007dd0e33a72025ecd21a8136f074bd283450004f611aef7af388efe47f8da133108 +Tag = 793a298c69d154e3c26ac04c3be9bc +FAIL + +Count = 4 +Key = 94c21d8a376c8300800aa0ad88b443c4 +IV = 0e1ac38f1bdac5f1f2f82606 +CT = e69ff2c9b2fafff656dad43089401b57 +AAD = 67869ea7cf90247ee234b0331640ffb2a9d3e174d643b54197192fb8110649dd860c6453455ed8878088214dd53261f5 +Tag = 5836ae1c9039d9fef76d213eb43888 +PT = 9e385a6f63d99fbf0a7812805d479d49 + +Count = 5 +Key = 8cc2ed299d78b040a315eb5db64ea98b +IV = 3b44e9ee9f2e9f448abf1e0e +CT = 093b7941b8e828dacb332c2c6835a008 +AAD = 2735ce41cc763a3f829a04abc36eab040b843a09c699450f5e04b426f2523c58e40553f277d3c2bd2106f6aedc7669ab +Tag = a6a7b35bfdbd60459797342f5a054f +FAIL + +Count = 6 +Key = cd93ef4a4d2b40fbad2803662bc69a5f +IV = 3ecf0d599c19b5e173d79b49 +CT = ccbb3a80e6820c40259e7a9cfcf9be51 +AAD = 13adf4ef1fb3933d6710c159189fcd606b9049fca3b0feb73dfb765a7c06293f28bacb892a748a48a24ccbb1eb141a92 +Tag = 019928e22038e019e351e88b2975ef +FAIL + +Count = 7 +Key = 31ca1748734fa4ffd234069f0fdcac4e +IV = 9706d53884ac3bcedee4145e +CT = da589bcb851a4da08b3d2749cc428056 +AAD = e12a0bebe242f62415f9cd19557b82deba8b74d39ec26afdc00991c38436e255227dbf9fe2daf1c56f6c792a573ce774 +Tag = 75d806abffc2851a6f7829c42d791e +FAIL + +Count = 8 +Key = 3260d3cd3eb11cb800fb0e5a0456b696 +IV = 488c9205fe7c1a5b5940b729 +CT = 6b1d54ac3439cb5129553c07ea46b1cd +AAD = 3959218d5a15ee8104cc8aba2e86327bd861635a687b92605fb0f4a366eb328f2aec1dc5b142e5c3d942187bce593949 +Tag = 30cc65f273aa101c8926f6a6091976 +FAIL + +Count = 9 +Key = ca761d778631e14ae4a1f847b86196ad +IV = b234c0edcd955158b3afb256 +CT = 1275835a2d84f2f56a19dd5de2a523e7 +AAD = 76f617ef5764557e6c3583bd37ad3fec81133378f28cf725fbbc7d6ea3898ff5dd105ad90d83b119d68cb9c9a33c1a93 +Tag = 50f65ed5323550e8d178715c8d2cb0 +PT = 76daa29377c81934169842db17681dc6 + +Count = 10 +Key = 7be52cd2f4caceb3ab29fde60fcc0764 +IV = 831cc92e1a1cb1e3bbda9cf3 +CT = 5be80d5b30ff0f2777c909fde38a7c0d +AAD = ec62b5d39fad14e480ab58b0ce7fc882d5607de1983ed471321f5a9bc8aa39b72fd2464e8bab064935dae25ac45ad83c +Tag = b9b3feedb9b0659d144c632e6be647 +PT = bc00a923a6ba6a4b7f145c13ab56db22 + +Count = 11 +Key = ad018c4bcc70d045536c3d0b12b862f6 +IV = 459f6b0000cac3f16e9df76c +CT = dcec1008c21cc8639234096957dcff7a +AAD = cfd72b1dc0e74eb0e1127734eb583f20271073a72ade9694a8d27b0532a6939a14f389b9ebb5c5f7d4d24d4dd37e0bd0 +Tag = 6e493c10916efb75ec3929f2d8a223 +PT = bc90178160c061d332b16ab304ba02bb + +Count = 12 +Key = fb48249db51fedfe4b47cb26fac1d9a3 +IV = deb33ee49844d4916138ab51 +CT = e29d98180c21c757f4607e6d3db43ce4 +AAD = 6f6cdab466f3eef4aaab4df610d4f255584e6d00962ae6188bcf8bf3b912811185e1ad362e900f9b1ca4656ed12c19a5 +Tag = 2b7ed002dadf5a17eb2ca0e015dafc +PT = ccefbe95358c8a158acfec3addeed623 + +Count = 13 +Key = 93b4f47c2d0eabea5d9888438c323f1f +IV = c76b3fc7f682ee36b54737e1 +CT = a32d33949444ff9f761f9afc13d2c2eb +AAD = 8f3d7dda2aaedb9048cffdb15be7c1bd758983b74c9a7e998b2a1e09cb4c9407d05233a6cf4616e20bf9173545758283 +Tag = 91f2d799ee8b9947ea4d2fad3ec226 +PT = 57e70ab6664cdc8f64da96a2afef0bb8 + +Count = 14 +Key = 2a648bc5aa355adb8b62fd4d01bfe482 +IV = 0c0b5cd8fa98c637551b8f4b +CT = c7b0f6f7834b55c61807c738331b4ee9 +AAD = 79731f70978c4f98d3d5bd1b7c08ba6bba195c67ff78abefeaebe04fddbc3d390bc5b21320212916f5019ef8ed141fc5 +Tag = 3f2c7c74078c310a009b34178c30a7 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = cd742fab4181107e16844a94bc390c92 +IV = b43ede7c22cd4efbe09c08d5 +CT = 05faff0be69564ac93a8f82e2bcf2aaa +AAD = 9b0acf18b5f249fdabc96bfe6dd2ba52eadb3c5b0bd1efadb05b6795578240e54e8dee3d6643e883ebb6828b5535b33b +Tag = 5c04efa9e1c49ec90f323bb49dbd +FAIL + +Count = 1 +Key = ad96e56867df8e290f915cf681f4b565 +IV = 154e4fa3a33c8241d82bf008 +CT = c5ec853699119883d93474b698b420ab +AAD = d8e207013db3ef98c66ea4496ebf9747a66c76d56dfd0aba65de441e3eda6968ac205a1f5655c0c1fbc195cdc47a7d40 +Tag = 167f5bf7f5c02ef5af4a7f59cb8d +PT = 8fefbda01e93c223fa1a26b8c86388f4 + +Count = 2 +Key = 39fe4746f6ec10fad9d40cde32964c21 +IV = 57827aed0a6ad31ac85b3a9a +CT = cc1237dba0649b7f3cef952806bd8580 +AAD = 770a62a8e79dfc17cb98d853d521c82b8f07cfa6ed4d17b6ac32e15f12c98a3a170e96d641bc2af18e50e597f9023561 +Tag = 5b42c068785c8ab670d2ea7313f8 +PT = 16ddaea45e055f2696db63bccb118134 + +Count = 3 +Key = 20c3c65e73e985b7c4f560ed9d3dca67 +IV = 201d6d0d44ef6af27ddbf554 +CT = 77410b4423bd3a5434bf96e85dc54de9 +AAD = 86eb8a74a335462c3079fbe473b6e74ccf3e032457638e17df4858eca4a9921e3bf3f1876d6aa7ca89108ad82f08a8bd +Tag = 7f47dafadcacc47dd97989c3c2ff +FAIL + +Count = 4 +Key = d8f58b9d052efdf6ab48321717f9e314 +IV = 90ce69685196b1860410a9b5 +CT = 591858d0667f6cc2863333ae32459abc +AAD = 9b084e652bc63ac6468977d10e5cd08cb25f4d508c1d9ecda175a0f3301a8a4be6b53ae3024f46aeea4cf13aeb3bcf3a +Tag = 281dd0ada8b7b03f45326bdac138 +PT = d6d6d4bbcd334d38a3b23df5e4b81344 + +Count = 5 +Key = 10698df7be60c04619d4b03a501a719e +IV = 3e152a3b10d35dcdeaedc6e2 +CT = 8f7101fe2a12818f57c1971661715f44 +AAD = f4dba6436f67811ca466176e6e7c755da96a031c49735a22c345ed1acd91c2948a15d0a4d14ad9b6b120ceb6783bc0d4 +Tag = 37e8128667157ff43407b8d3f154 +PT = cef36cc352393cdb5fd8a6a62f6515c0 + +Count = 6 +Key = 8780cbeaf87bf75e3e2315e20e63c861 +IV = ba5f9687bf47a298788e3130 +CT = 082132de3d148e0207989ab58f678275 +AAD = c313d0075ebb92ed7de4c5f902a4e419fc0b7d2a5692dc36c85fd91be02591fd22a5d99181b4701b81829512b67ff135 +Tag = 9cf3901ec0494a132ecd7dd8de33 +FAIL + +Count = 7 +Key = e169a95f7d92875ad3f780395a41a7db +IV = 1a73598ec1c1519505acb701 +CT = 124ceff1af3bc4afb0184885bbc1a63a +AAD = 29db56dd908a61626a93f9dba26c5d333cc756af8fae3ed6f99f8df23090c7c4db9cfde1f690913f31a5d01e59ee4f79 +Tag = 508536c820a4cec118465db7cc8a +FAIL + +Count = 8 +Key = a388dbea8a96fec444b79647181cbaa8 +IV = 667fe2fabb11a0594c97ec93 +CT = a7938ff055105a57676ca93612598daf +AAD = 897b822f3017040117d7e28a854d37ed3078a2b16a6fad4cbf061ce4b1964bd6044c0b075c63bba5b78b717d0b3c592b +Tag = c964cfa6608c9472ca51a3812a4f +PT = 7ac45705767bc9147f4761e9c85c11fd + +Count = 9 +Key = 7936295f8d9d14429d56bc587d4cca6e +IV = 1ef4849d7825a1c4d479f045 +CT = 84096351fbb41ffa3dc2abd54df07a8a +AAD = c8217cb95eb9a227db6f72ee24fd397924682bec9da1971c2dfbad4f39aac04bd396cd779568e0e7deddc72abe93b39c +Tag = dbb6fb38cd8e3abddba717589569 +FAIL + +Count = 10 +Key = 60aa28812ee2a3d7c35b642421b0f902 +IV = e0b46356e4de30643f96e44b +CT = 76d32b894ba7aef6fa6bbd371ce3acc8 +AAD = 1cfe20c12d5b4ff9f8a941cbb455560c877bad714b98c3b4a99f11f0e953c4b94b9bea5105ef6c741af300742407fcc9 +Tag = a85e414a7ce2cbcb96643be781b8 +PT = 82986c99b01ea7f53ace642369b774c9 + +Count = 11 +Key = b35bfd9969728f8fd49d22d49b5c53e6 +IV = dbb079020fc03b110e8bb7c7 +CT = 21dcb07d94c704f17d7f63d7ca3cc1b1 +AAD = ae211def1339d56b05a4cb136c4bb7d72cb143cde40a19078927f9ef68c06ec30f56b9dd0fe68ca919c98298e4473b4a +Tag = f4b14ad0df5a4890170c437035bc +PT = 6abd75c57c0ee0e53cafe6df227363c6 + +Count = 12 +Key = bc4eb34acfe923fc1b597c6344fc736c +IV = 6feabceb740ffce1349eb442 +CT = 40701fc52fc3e1adce5219ce547ca215 +AAD = 2ce162064a0e6abb28fe77fe9c9006f998e05152b46500535411bf4c8025be3c5a7d25775dba34fbcfae611a19560cae +Tag = 952fd9085d5ce0c32053a006c496 +FAIL + +Count = 13 +Key = b11c7f5c971d45a8421ca484966de625 +IV = 3825edba2230c3b4da2d4da0 +CT = 2dab3f7e229f5041f5de57470e42c5c1 +AAD = 076139cb5a96b465a830cedfd759005b2d0d801291ecb4ecc95ea0405dfc00a7b3dbb9c542c2f9d3896166d53987ce93 +Tag = c745b209a5092196cab804ab6058 +PT = cc0d35ac502cb156a66cef1bfba54125 + +Count = 14 +Key = 69bccd757acb223b5ee0067bbeca2d4b +IV = 700688bf6638a9d1dc604ed6 +CT = b8914a0c186892e4f09e521b58d42101 +AAD = b2b625a134145cb8bd09b8b8949e567ee2b42787aa6c3d2ac57922866b8bb7640dd944e07ea05dcb0abfd5d964fb9879 +Tag = 363b7edfc28b2337c3fa2a95e9ce +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = e029db25c48151c44a089c31dbb7e8d7 +IV = 45bc625220177ec34cd40520 +CT = 2465cba64812c3510d66e3c33e3630e7 +AAD = c8b22d9dc3d69ace3ad244fa28c45356db4f9365fe9fa78ebf745f7ba35b7d80d7e84bd8a852ecc909fc18e786168ab6 +Tag = b94ed63b00aa5eeeea9558e135 +PT = 32e71839645c61b9b4e87982fc7969b9 + +Count = 1 +Key = 4be099b41ca9753a1ee2c390128717f0 +IV = 4c8caf0975557503121c9cc4 +CT = 127c70b259e5e23ab46b1ebde1a94906 +AAD = 6f57079b419f8c96173e3eacd09461552f59b201abd97ea12c9e51581b52afada8cdae3f7c9647f42a53908eac447678 +Tag = d4e80f72dcd5e9c80ca16bf0c4 +FAIL + +Count = 2 +Key = 39711512aa41430a264f8ba879e24c15 +IV = f64d9e1402a0ec31f44d3e06 +CT = 2eb09570e31856f264f138c353cc47b7 +AAD = a35c0914ef01f5d08e45ee874efd4fbd79f8fcc9dfccb67507778d9347abff9edb948039227cce17d3a6b59b3a839867 +Tag = 00e1915ec9ddefa11a6177a651 +FAIL + +Count = 3 +Key = 6eb95b7c323493dc973679172c571853 +IV = 512aa87bf6635a004be74677 +CT = 86b1cd8218ec16f40087d4b972a6562a +AAD = 41de9e884af7a1c856bac5a9dc5a9f033869cac8927f4658cf7525c940b56b111c4b300219c795565d971ad6d66d1c9d +Tag = 0297fec28df4935fea5e0deba8 +PT = a9b813e7118af3b22777aeb38d200871 + +Count = 4 +Key = fabe43094dceb78f377d019f236baa15 +IV = b617eddc52423df311c51a56 +CT = 1a7db10926ced99a01817717cc8f9d89 +AAD = 5e3104261cb23278d0ac4b203e8a9abd9478541c4f4c402936dbcef44fae3e2e28b5bfea607f1b7ea93fec7770fd43f7 +Tag = 94536b67fa699b9a06f7ccb06d +FAIL + +Count = 5 +Key = 92fcb683ec4bfed45478a22f2b4a3aa7 +IV = 2b166800372af45938887bc9 +CT = ec59eeb5425ec15a1be169a7cf42f3b3 +AAD = 11417dd0bc2a10d21b81afb24db0261f304fd52d7192984eaf0e997c2dd55692d27893d9d1e8a58db2252cce9ab37f9c +Tag = 06d8cf450dcf1f18097519cd3f +FAIL + +Count = 6 +Key = 0ad7361b766a68c00cd4f4c30c3e1e4a +IV = 92a5cfd73be1d78b18ba005a +CT = 7446d261e3fb8cd66fc0dbcf9eaf6718 +AAD = 0bf7aaa8ae8ce7b0ff3ff864bf86054f0671ce98c1beb141bf289e2b7752cc52c0cc084c4a58bcbac965bb09e6d9cb32 +Tag = 1942bb0bda6fdb4b91f68a2f6e +FAIL + +Count = 7 +Key = 5f8d78acd6854f11655e0fc99036cfc0 +IV = b443101b9a617b063b7833fa +CT = deeaed496824496ed24f0b775c9831c9 +AAD = 98c3bec48868c69f245191d36593877ee3fc249b1d9574301e37eb4d8cb67d34df37b212517d031a2991c3b1b3132b34 +Tag = e20c814a26e48517eefa8d5ee2 +FAIL + +Count = 8 +Key = 6fd104b0e84f42d53ed270b42dec6b5c +IV = e738ee5d7dfaf763e6343a1f +CT = 5f9e8130de3265e99ba699552dca08c4 +AAD = 377ba64de0ceb7abfcdf83737cd95c31dc998cbe7b5d68dce5cbab564036a438a620e71d85e55928d7e46d1f7b9c57a6 +Tag = f817351289d5e96d9ad19ea1c3 +FAIL + +Count = 9 +Key = f6c043e6716cbc1c547ae2335de9acbb +IV = d2d995319a8297639a34252e +CT = 36a803e9cef1f9056c79f3f981937ac2 +AAD = 51ffa2f773d6b561522e264f704053a47c39f32263c910a2f63c1655b84a9788b57d19f62afac47349fbcaff33595b27 +Tag = 9de34f1c974b3b00a3853c10e0 +FAIL + +Count = 10 +Key = dd750d18a7ac2621f8a7c01a8cafc6a2 +IV = 645cc5d6d07cedcaca7ef2aa +CT = eda36ca0c063ac12e2b56fd7dd8bf2d3 +AAD = c8b6359d6afb3bef9dd2ce81f6b70d3cf4585d8e8c3a7c0ff36f1cb85a7fa3747eb0038b9481395df9191ec76729bb7e +Tag = 4ecccb963414e23f06f34a1c65 +PT = 51af199ea56cb0a51cd661919a0cffc8 + +Count = 11 +Key = b56d1eb1060bd4e40967e6a0fe8a9f77 +IV = ae7f2df164587f1e69ea73df +CT = ea63a585c50b1574a986e570350e03ef +AAD = a2cbe173b4960ae638510b0ae50fd08009faeb907636aebae65a49832304b5944dca960bf264264a649fbc946dc419d6 +Tag = 01c8293fe80182b95a6c2daa79 +PT = 4e900691ab2f95a5e665da831e6dc9d0 + +Count = 12 +Key = 475c5dd2f24ae0b2e32c9c0e90063784 +IV = 4bd67e3ce2add2f1cb213f82 +CT = 2bbd93565ee7d008ca5771e2bf7309b0 +AAD = 38e59d4696cbb338221eb2584fc5d724e63aca2819b9b95a46f08dfe7c9bbd61cbc4824719db831d3f59f59725b44740 +Tag = d6fcb0af17b0533951c60ea3c7 +PT = 3a5df8ce313ae09365afa30f62e50e00 + +Count = 13 +Key = 5552a13c4f0750c462c3e6f2bc87cc5c +IV = a817a25333c2d6bb1ae22387 +CT = 4b8987a9c62fc0d0f9a2f667e31347c4 +AAD = bce50b481eea14d093366d121c49c77bc1d77ebc480a0b88341caa95ec504d37cd9538a5b330ee94e239094b7f02f5b9 +Tag = 2734656342ab319934f7b62116 +PT = e86a5551574c28793c968cb235a5f2b6 + +Count = 14 +Key = f7a5eebd0a89f94cd0249fbd5b11f26f +IV = c588038258e1608c1d0d1404 +CT = bbd2399a0ebf5f8dc6a678f6631ded11 +AAD = 54467261d41e5830e49c218c008d1ec832d8cad72424f2d7282dff01d6b07af17e52bc56d1935329a7b00ee272a27f80 +Tag = 69ec67ba2e80912ebc2df82a0f +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = f2f4672a232d480d5394b3bda4ba547b +IV = 418bc2374bc4f106e16574a1 +CT = 64b3b42977ae6719cd085c8a90408ffc +AAD = 7e324fd0b7f080a143e36688c7de2d261aa87613a447bc9d8a4e5c104699522fa95a4a04485eb8b46ab10558e38e750c +Tag = 0e32e69103c46476346359bf +PT = 91f3323f9f0cc3b5bb4a1c2ddf11cb7e + +Count = 1 +Key = 31aa090707396103909c63bb0cbdbdc3 +IV = 2417f1a15e91ecb642c341fb +CT = 8c043600eee6fd558ac2807e445c8844 +AAD = 42b2e2809f2aefeefe257e2150d6365e192065ceb23118572a3601b13d675d6a660d60e3bbd740c6f0561e29e1032647 +Tag = e2298f816728575efcf46f61 +PT = a75fe25830b4078777689b59885d32d4 + +Count = 2 +Key = 311e057e0a2fc8d681899ca243e904c8 +IV = 68bfae16aa6167254b742d71 +CT = 97d916a136a716cb036b48ccd2b5b32d +AAD = 697af83af481cf5e4dc7c5dacc2255d54a99919935f41f3eeae240d0931ff0868c704bd07f3659efc54adb91fd467992 +Tag = 307a195753dd6759bbc7ce06 +FAIL + +Count = 3 +Key = 430163612dc17d841cb2418185fa5e8d +IV = 849a4c0a3be33321030d1f8c +CT = 466559fa26051fa0af10d3a3c96fff75 +AAD = a08fe0f9ff0ca5fa3efd8dfd06dd78b92ef3c8c6eb96db740addee1cd551b852295dfa645c328932653891c84e3e1462 +Tag = c261605ac903db57a3fbb534 +PT = 1c5ce4a0bd7c051037de81ed34696527 + +Count = 4 +Key = 5464320de215dd032cc4d6c012ab2248 +IV = 86a277eef93028aa885b6a33 +CT = 48a436dae0c4f3af57f30a88fb2d204d +AAD = 78da9ceb998afe45f2397f4c6cb29f9668cefaa7f31952122e675c6eabddc04eb2d929596be9ae8add6135b35ab88f0f +Tag = 8021930f6f73d2187ef5b4b6 +FAIL + +Count = 5 +Key = 0345fa961e609eccf3116bc412e8f0e4 +IV = 55068ffa7fd2c977b71d3aee +CT = 46feb94c969629ca99dd35b535377e19 +AAD = d9b075ee34dd784b12ff098a0c262262789206d5f64512c4b2e863dc3f17fe80b69b54c9b3274bb0f928a56d525ac5c1 +Tag = 9bbd12cafb31ac3699b41bbd +FAIL + +Count = 6 +Key = 249fcf82c1a11348ddc5f69802b5ef90 +IV = d0e44e3661b1cfbae7872b3c +CT = e6e309c08cc6cf50b4b75fcc0e0f4f84 +AAD = 1d0118ad73474467b88d27dd004d53132242489cc43b7b81730256dc7fe067a2cec9a1c2ad9911d137722c61cc5d203f +Tag = e4f1d0611830b03df2e249bd +FAIL + +Count = 7 +Key = fac2163b6f718c41a32768a5ba81b78a +IV = 6b771c45ba8be3956dcf2bc2 +CT = d65d405873ad7bc855a1c1d500e98a92 +AAD = f2e64a99f9651983128c69d28df32f79b5b374ba4025946ab666822b1ab3590a43073d334ce388d2047c4749f478e41d +Tag = 09103acd96ffe613be5e7c23 +FAIL + +Count = 8 +Key = 708739f660b8b31e5e054303239bb55a +IV = 75c5d5d637e3d3fcc1f2ca3e +CT = d40bf26f592d7d3c9e81952d559423a6 +AAD = bdc863c2a8c70a83c1ddbba6907de5197af848097b98885aa25bd926ca014dbdb3064a16043f98f5ec8da036ab1cb450 +Tag = 584970ac8033d0f13983c66b +PT = 458b5d10b2a154a809ee594da228857d + +Count = 9 +Key = f91beafbd984a988898eaea8d6683007 +IV = db664d7cadef78bb7ba38f6f +CT = cb02c726e55456304faa04f447e04c63 +AAD = cc899341d8e666d9952277bd3072c7c512a0177ae25ce307d1bae54aa6750740eb33fd780a64701a861851633ed6b77b +Tag = f5a41e182a962bfc1a962cf1 +FAIL + +Count = 10 +Key = 62a1f73352c6c4ff7a708dc960574501 +IV = aafb8c91a11a944c7ca77772 +CT = c392bcf15746bb9a513c0fbc2b9962ae +AAD = b1de767c9b954663d20579f419c34b1db46eec2948d23f8e177c47a2834432541cde4a23f0a970a5eba633cfabbd90cd +Tag = 75c1427c904211ac24f63f34 +FAIL + +Count = 11 +Key = d9962b7c66aff1074ab3a6ee85120616 +IV = e2706ce980f4fd23ef3982b2 +CT = d73a832cce9d4a9c2af38081fe1ea859 +AAD = 028d439d077a829d05df4aef50cd9bce376f32b1f2d7d0929e9316908f57a92b83e1c3cfb35afe65738911c00099c6fd +Tag = 4f0c2ff3746ea71d0a654d3a +PT = c325ebd6ff28eebdfd4b08f5bbc7ba27 + +Count = 12 +Key = c0d6fc889a2587e37651c85b6b0d9882 +IV = b4ad729394935565e439c1ac +CT = 7d661aeb91569ac9a43dfe10e7fa585c +AAD = 3ae79c9f77b2ef42a65518203b47388562a061b27ec770f96325223c51749421b50efcfd8458e36a3d6422988fdcd126 +Tag = c0020b695db99d8fb5be9d53 +FAIL + +Count = 13 +Key = 3f12c823c210e8496261d57b689ff16b +IV = 4b63a002690ccb8e688f83fa +CT = a2c3c8e76bb063a7da5c60c60566fa25 +AAD = 41a773f2cfb6bc3eed14d1cb8e425fec239f14b7f038534773a3932539b9b330af5b83d6084c478e0df11257bed2e350 +Tag = 342c0b5c4306e034b1843942 +FAIL + +Count = 14 +Key = c65fe4efdd9989885eab0d608fc7f810 +IV = d0c99f2a37692bbe2231152c +CT = e6a158d5165b8f3a691de2e21f388978 +AAD = a183c7103253667afcb694e2ffcf922d3688e55fceafc886e2182acb5f1610daa3c4e162c9e69878e9497752a6402ed2 +Tag = 4a1ea7d48bf02497cf0c52e6 +PT = 56a6a05166ded1d2225929387206449e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 32f2d301d35b0a001373753a10a600b2 +IV = fed2988780c056873d891d5d +CT = 19cafde5e1501fbf864bae303f31d910 +AAD = c58370faad023812aad33f47a85ae20c7ced152088199674f45bc6b9b4bd2dc38b2165c90234362d54d8123afaaf7568 +Tag = c4a3e342135d0134 +FAIL + +Count = 1 +Key = fe4d2db84d5d3e7ff2e1b9a3b58b9911 +IV = 5020f46a7315b29380c73305 +CT = fada651fc8096d03681fa534b367e7b1 +AAD = 054c8d203324e991b6fcf4daf46f232104b805bec7d59c6ec02c30b45e5974049856e3735c18ef6f10f904a700205d42 +Tag = cc44697f06449ddb +FAIL + +Count = 2 +Key = 12896b6c496b0319227ecd8aa720ba30 +IV = 4cf9e47815459cc074ee8809 +CT = 1ec1bcb6e9a215b6badc9002bb9162b1 +AAD = 7c3aa03c346f1912404e49c0384ce81f49293acd2240899e9a5bc40b70398472e1f882e8973de25415524a5cb509c9f7 +Tag = 4cf7e7d5034fa32f +FAIL + +Count = 3 +Key = 8e92c215c5b79cbc08fff0f28f2567d7 +IV = c36a7d43a58ff5e56704289f +CT = 54d051a5d16bcf0c87d24b194dfb21aa +AAD = d6f55afe448a840ffad394137436face957203320dfc5df66ca9371e492860638d3c4f751a7114185e8d7589ee71938f +Tag = b90f12e6dd066ec7 +FAIL + +Count = 4 +Key = f43c7f329e9368bd32ffbc3a643913f6 +IV = 0dab9550b95536e64c941406 +CT = 1ee58c720d3c61a6d054632cf398857f +AAD = 2fdb8351cc335f2c38aaa30f3d6e3cc3fcf01ba8fddce87d9e554197e1a02b7f89eb3edb21e8a8411e8fd3be6a54c5e0 +Tag = 32ee90afe688e513 +PT = a79a44a9b51c80fae6b6c8e9e6f91d53 + +Count = 5 +Key = 73d4ea15ee69a6118132d2cecf857525 +IV = cc773747ef3ca9b801dc1bd1 +CT = 014b8976a96f634e4ba2eb7c3f029ff6 +AAD = d73592325946ec7731b45162351c852ba32eeb1b5aa41a6c8fc6e0bcafe4b292ed973b548085ddf9b0c8d0142bfbddb7 +Tag = 5884a1e5cd5c22d1 +FAIL + +Count = 6 +Key = 05c8531fd8c08a5183ee85595645de5c +IV = f3a8bd67a49727d1bebedaa7 +CT = 78a828adfe9db6b088c87d1cddc78e16 +AAD = 0668eec0b20d6eb6700f969d282823cfde3d304a94f97cbe037bf9694d21b1ff533d6fe6ece5da4f33fcf3509d9bf39b +Tag = f6591ff3d308282c +FAIL + +Count = 7 +Key = e8d3a206e078edf84415884aa8900043 +IV = e98212381a97ee3f1723d159 +CT = f69fdb2a89a3dcf23dbbb0df85511780 +AAD = be31967e38a6d367f87930506c7e6cb4642bf27ac322c922ded525419a70c6e611ccf26576c0f533df1867a77ffa0732 +Tag = 4f037032f3da8df9 +FAIL + +Count = 8 +Key = 275022368fea0ba686831794884b4481 +IV = 29a9a978f4719ecbafaeafa0 +CT = c32af238c9713bc219eca8f5747632e4 +AAD = d71e964a655cc07ffb6c060982ca9abae64e0e1b65f1243a0fb1c6191eedb6e39b2797ae707b31797f5f8e6ba45cb6a6 +Tag = 380be93841af92cb +PT = 5bcbda8fc8636cb728c53b7e5ec9e4e0 + +Count = 9 +Key = 97e5d7fa32945e5801e34d8cdc861296 +IV = 2804514d5f493b6d72712122 +CT = 08502668da9206456a64fe26ae0706e1 +AAD = 52bf0f81291b2a6b86297c42309d9ddfcfc97cf36f56e28c429d1e474c6c0f293b961e2ed38fe5d454550623e2c75d6a +Tag = c41d3a7fbef910ca +FAIL + +Count = 10 +Key = 770d71388412f0daa68f39b93150a225 +IV = 1c59b89e2d54f18072a67fbf +CT = 3098af78fcf3e2e6287338b4cdeb6423 +AAD = fd754a905a47ca81487c9dd6279f4cbafba221e1e8fa823f3359991a6a15f4bb3a510c97f2e63b6b12706ef7c6c688ab +Tag = bbf4a81e684d7849 +PT = 3b2441a691bd26fabdc209a43bca48fe + +Count = 11 +Key = 27a560706717382033247e20ad183f52 +IV = 964268dc4f2dcb15f8fd4317 +CT = 713c01aeb0302b0f653faf80883997bb +AAD = 453102d52765a4acb7fe3ce5450a511702694ac055eab9221c0e7f9993e1b69eef9579e18ceee7bc3a8a484e3f21ea96 +Tag = 47a9385e52c84c42 +FAIL + +Count = 12 +Key = 38d9549bd8fd320b8d64535cca1f1a18 +IV = 1e1624cb7144153d49de0959 +CT = 1596ed0f569d5746f654f75fe0a505f6 +AAD = b85d741a972dc43888ab1440aa708611378e5b37d38b30faac33e5088e88dcce5ab7d04b80b735ace60e403023a99436 +Tag = d3dbd61ed37bc155 +FAIL + +Count = 13 +Key = 5447fc27e4f47006b12ea066320aa6ef +IV = 525a128a2da54ca1d965e420 +CT = 6d81941303bf9ecb0f4691f90cd914d5 +AAD = a7c9cd962d2846b1bf232a913d005502e163d79001dd6246a3356ebc7f045479c3e0e3726b70641a223296d99c252d7c +Tag = 8ef11ce2749ba430 +FAIL + +Count = 14 +Key = 6e803257e7ee386f830e68e334a1d556 +IV = 59c296b5bf6f0db966051bfa +CT = 2f83ca00c638f7454ab387b67e58717e +AAD = 686cf469bd0e4715d89ce4728a418fd9b1e8100b19fe28160e64d0aacce46a167b402c5d516169168feeec14afa8c376 +Tag = 04f4e771976e0d3a +PT = 41a2bb756f88ad4653913216f2db72db + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 2253508b24993ec9069329ed00124183 +IV = f106ef0b2d47aeb7ab96dbe9 +CT = 8b7e6be6bc21443b93f601dbe6716791 +AAD = 133b4b6865af397792bf2d634e48472a9fea0a33d137d8c92ba7a79866bfd7e930e5257ab911cd199524ad325950512a +Tag = 255170f4 +PT = 7dd673fc0fd5bb930b5de58ed3ac4341 + +Count = 1 +Key = c1a147651130a542f34ecf8856d915cf +IV = f903364f32c538942400e392 +CT = 8a69f601d8ee1e41fe72ca4162513974 +AAD = 61e1987b9c23ff0d316777ad531bd378d96bd9a44df6824c30b98f172424a3c9af8ca245609625b1faf136d62e38053c +Tag = 14528bdd +PT = 34b326acb10ea5011c41ddbe05f19c02 + +Count = 2 +Key = aab14b6c97ed6a402c29a9cc8e070811 +IV = 65cf1eb9f2772743ec982b43 +CT = 8f0ed7f6d2a05982f85a4a803761b7dd +AAD = 77092134b292c2be93568fb58a1c46e12c3e55be7c8c788566ce042082a30ae6197acf04273d164c92403962065b108b +Tag = 912c5ef3 +PT = 569cd63532f3500745330c58064180cd + +Count = 3 +Key = 6dc18b0c4df07ac7adec94296b04db2f +IV = 31e596477efe6bf622e01b3e +CT = 7b4ff1d36dcfe4a06ace98a2d374c1a8 +AAD = 4bc08b8578193895c97c4f5fa1cc88f6cf597301a2f7181a0d1cfa34dcbe247adbb3911a7be084af45919c5165a86665 +Tag = f915be34 +PT = da938b3a07452aaad8cafb79535ec68a + +Count = 4 +Key = de1f674cd518e3cab3d9b81cc1a0d9d1 +IV = 6dcdb698ce0fc07d7153b1fe +CT = b1eb5b0a1eefaec6d9901f68fc2607b9 +AAD = b3dfce558b7b3bddc8fe04905648629634d2a9cea88cd457254e0f93f91439d90eb04b290fa15cde4222f0d37c11134d +Tag = 9e07370f +PT = 91bad1ea59f8695a2c9033bcdc7d74e8 + +Count = 5 +Key = 645e6b78c2f78805483334739f015f9f +IV = 2a8896d3651467c916ef7858 +CT = ab7b1937e9e12542c67c9253a9eb4986 +AAD = 99f68abc4136d24d019b3ae2b2df4eb78be10169f02d6a85628db1037d88f764bf165cf85df163b1028c973ba2d60f02 +Tag = 8b8496d8 +FAIL + +Count = 6 +Key = a1d98f2361b400e83be84d0d78f9fc52 +IV = 9e2642f4337e3fde0a84fb02 +CT = db16799e476145a16c900c4d6eb561fc +AAD = b1be3c2eea6f91227777f2f04171cd6a2767889437c73a7a6382e680aa5872580439d4337552ae568d86591ce77beb40 +Tag = f8197f41 +FAIL + +Count = 7 +Key = 2e3f89b8520c98f51ebf83f0d8d5c4dd +IV = 096105359a13302ca7425b68 +CT = 0d143d30cf4e2a242d5599b87aab7e59 +AAD = 5af2252792a65be0d445925cf0e01adaf362c0982508814e90cc619c7fb3f34f2701b8648d494209fcf4d79e728f582d +Tag = 3ac304fb +PT = 8102ab9956be88e29a6bac66022f18cc + +Count = 8 +Key = 099f2b80f5794b6fb5d50ecfd134dab7 +IV = 79a10cc5e3d763bf9f6f3f13 +CT = 21928f00caa8b7a0e3d0d782991657c1 +AAD = d5e86c90e486e306cb6eed5c06099ce3ca60794dd14d34e0f593b5e245eb9b3cc2afcce96d4fe9c326f592c8accdc214 +Tag = e1611558 +PT = 3ecbcdc37cc09ac5e3fdf88286110bf0 + +Count = 9 +Key = bf158717c97b93504b4ce4d76f4dc025 +IV = 8ac92c0e26cb0bff8bc16bb2 +CT = 6bd102ed811ee4097f603c88d4a5bbf2 +AAD = 711364a404302ef25885470ffe92f4d2842667cc11f04251aeacdf12d6f17f16fa28a669996b1f47b0bd6cedc6bda7ed +Tag = 9b16e62a +PT = f9a253431d2ff1601b418219382ee3f6 + +Count = 10 +Key = c9f20c18e97fd9670328ef4dac18632d +IV = 6baf2b073f7882e1cf952050 +CT = b1d055f5dd213d2644afaf7eb448c91d +AAD = 40ba619989074704a94bf7670f9aca3e3babcb6e8206ab10cd425bdb2b72932cce47de982060a3c9eb2da35f2d6a582a +Tag = 9d5bc5a6 +PT = 769dccb67c77d50eb30e0edc117c898f + +Count = 11 +Key = 5e607529fd7f1063b1ee6104b06c595a +IV = fe4ed77c313bd7e5aaf51e8e +CT = c022ad70aac983eea2853cd13ab4ada7 +AAD = 4bb556c959d01274d8291b1baf1aa2331a0a36af0dea9a5df1a3c01a670ce9bb959cd2db49208264f93eecb58ae8ab18 +Tag = 7879ad92 +FAIL + +Count = 12 +Key = 5e83736a675589f4c2342c8f3156ae5a +IV = 928f34c96c07568e5741a082 +CT = 89f4adeda85651d3f0cd274ad81fa7e0 +AAD = 71dbf1329664fbff300f391773cb880359a28ecbe87cc51cdb007962fa036236eea8066aaafbd87ceccc20dd8c3aeba1 +Tag = 337368ed +FAIL + +Count = 13 +Key = 9bc3451edbaf795437ad8f7e8d28e148 +IV = 8089dc961f2e2a5aeb6f5681 +CT = 3a39a9ecae685cc5fde67890f1b5cdf6 +AAD = 5d63ece05b0d2e5d1e98c5672aef18441809241604166745171d4b454c472177b42f83d88ee740bed6f186c25543eb59 +Tag = b524c42b +PT = e1b10623ae317e3a28a7883cd2b603a1 + +Count = 14 +Key = 56d71b69c0e17d7030b9b74948532dfc +IV = e416693d1ea885df367c774d +CT = 7e07fdbf401bf242e6db1bf9ba993827 +AAD = 64bb0fbda09b6dcb9c65536971673e1f630f51e47ee3cf53f7ccc2f1d0a8bfad1c56844ca6ebb3d311e23a141a8b9bfc +Tag = fed708e4 +PT = 11c130d4e77883979f64296e75b4fe28 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 99a9bddbb68be243759bc01c882c4ce7 +IV = 6d78e303d165a42082abf5a2 +CT = 1e3a3fdb540717afe12651d3a51b4340 +AAD = 80a8d9fdefb4b114f12208b0a79299ab5e2c8524d2991617f29b23b31cedef24226fadc72b3475c0f201ea0648aa4936ffff9c80f08a329e042cc23728e0b1569357bfd08e9af1b77369bce491b995f7393903c3eceb3fe0c0e4 +Tag = 66dbb3bd4b766df31d37a0282876276c +FAIL + +Count = 1 +Key = 300b8ffab4368cc90f6d4063e4279f2a +IV = 8e69fa64e871d0e98a183a49 +CT = 2d2292da61c280aff86767d25b75e814 +AAD = 5166309e153447b27c67051453abf441de3f4a7f6b633ec6122ff82dc132cfb422d36c5ec6e7cc90a9ad55caa1ccdcb82dc5022a20062a9c6e9238f34d085b1f554b5eac05eff25b5a5cb6e18e7827d70175dc0662d77033d118 +Tag = 633ee657a8981a7682f87505594c95ad +PT = 4953b54859870631e818da71fc69c981 + +Count = 2 +Key = 5061b1c9af824d400a4097353c8b324d +IV = f9c6575be814e22ec28bc6db +CT = b1d0976677a3e53777223dae0e65fc7e +AAD = 325408a19d85c17ab70b827a72259f13e45ca7173c392fbc985ed5d30a20fc19d231e1992e1db2c0608db234b7ae87922028226ae66e8fa467f2c2a8e9118139178855bbab89fd6b36c6a1d2e4ef87c65e2d5d80877ae2e31190 +Tag = ca672705ab5a9c257eb79129efa9b3cd +FAIL + +Count = 3 +Key = d27f5053e12dde30561119ad2b9b13be +IV = 5437231a59ac76b2948c48ff +CT = 055835c290211a17f56e019c00082a06 +AAD = da5aad950ec6c7ea6711202256c45590290d0ac427a5121d5cea6e0500dd88098d40b8616bb63a1afb9d3e8e327066b5dbd2ca59c349ba8ebb7bcfe658dcf87e2f74141a786785c41eb1a54118a422e9b9f43a65939f53f6fced +Tag = fe5e67e5433c57eb12773f473e1e2a0a +PT = 07a4b1a3c359dcbb38aa8b81cad572b8 + +Count = 4 +Key = 2ecdf75ea95d3ec8fc527bb831b1aff0 +IV = 17b48a715b5e244908950f1a +CT = 1df681b55e805d2060ab0dee8093153a +AAD = f503d5558f826641c23879c53e1f72cd08d069abe54cb145b592eac8e3014d39178d065f41fbe65047b8501d1b32ad4dea151a152e3166527a6ee81fe7806b52653a00a0296fecd52423bd9e06702aa313e698c7608b24b91dbf +Tag = 67efe1258c07e64d2ed355c0785c7f37 +PT = 549ea7cb568dec75bab8edbbe0cc94e9 + +Count = 5 +Key = d86f80508cf9d7c0d66de0ddf68a3816 +IV = d29ed7cbedb74089f264a6a8 +CT = a764d4398db219f81ce066a02f39c61d +AAD = dd9bce3863b224b22c1b764d24b68f6b8ee15a1a03e3d93cda018af8c548625c21388e11ba974125d85e8d52aeefd4cdd3d91a2fec552242f73d41fe03f8491fae9fdc30f0b042bdde65f2833b58264d493c5bbf8e2e15fa8b82 +Tag = 64671a12b392c68c5ab638e0bb7e29f4 +FAIL + +Count = 6 +Key = 7fa90797f1b6a3e6f121fd5c003270e9 +IV = c7ec4cf096ed56e88a0ee79d +CT = 18f728db6848bdbc6fd8043bcd13738a +AAD = 5764cabe5e95be9600fd1bf9c89e9a3901f621b901c90e34ee4b8c90701aa87065b2beb91ccad38766c31306192bce55ea6b90f1b8373688bf8770b5a6750ab49fa9d2beb3c8958ec2578dcbdd4a0a31b40f74a090c10654350f +Tag = e9328ffb6b84a0dd6576b1f2563a6387 +FAIL + +Count = 7 +Key = 43353c434b11cccd96fbd61dc26575e7 +IV = 407b85a0701da0c3754cf779 +CT = 32bd678f91351a83103bd65a1c4449c1 +AAD = 6e205d8c476b8e6d780819212f32203829da927734188702dff7b0673bb11c96300e2bb5f30951536332859ba7c72bf7669cb8ad27882b75832379aeebb701890aba3253c68a0e3fc99373a2ed2fa3276e829e87c86dc4f579e5 +Tag = a53265e07a9355584369fa4903144014 +PT = de9e002f12acc9e65356eb461a7a037d + +Count = 8 +Key = c2fe55b921f04d9da55341393033cfcb +IV = ec1dc287bb6f927b1e2c3cc4 +CT = 16efd99e3918f14116985d6afbea0f52 +AAD = 7d0e03aa029f663f9a9d38fe784f812310c70ad34af96fb65d54e5bd92ddc9259233cd86ffdfe14e1a6dd37457b4bc6fb3df8a7fa60e010bc3b8f7a80cdf050b94640cb85b83b9c40569bb1e37d47d1441326eff48679e12e1c7 +Tag = 84b2e87e046bc2c4e6dd32e256a19d62 +PT = 294be56c1aa5176df99b282bba8200cc + +Count = 9 +Key = 0268a73a952aa0f177d29fbc52d477c6 +IV = 4d0e4f4160f37b5c172311e2 +CT = 7c399a61f0baa70f0e9a2bae4e2e7610 +AAD = b6c4dc8df3529c453131b85dfc7bf4473fce580d070b7750bd3cbdb51f1b65117b6adb2a57ca925601144293b25b6e6c10c55e51674e197beeba05e65a7fb9bdfae760aa14ae69d07baa0d63e25f4d06e446887a5daa71ead3fd +Tag = 397911c6f3197a19ef663cfad139fc79 +PT = 987ae53894a4fb80ee995c3b9ae1097b + +Count = 10 +Key = f3ef2c78b5d5072d75b8bc638019fbd9 +IV = e744adc2c686c5072353a9e6 +CT = 2d650d6f221e31e8d981c3c3f8d74657 +AAD = 7a78c5b7444a1502383666c0ea0c596246e7e98148178a2ad0f20798ead8b66317a97b8576a6edfcf33ade393474d00f00516fe7fcfb5facd02cbb8161b224e994bde9fc17d60490fe1dfef97bda8aaf563cdcd0d4ec270c63a6 +Tag = 33469c4d2358f9afe5ce066670ed8037 +FAIL + +Count = 11 +Key = 5801f1d0c63b9414c73aefc971a59616 +IV = 391f171f76b85919200ecbb8 +CT = 6ddc6d402a0ba52f5f274ab90231336a +AAD = 9560b3d1f0b5de34b12fbe35bc1ac73ec7f666d58545b088740eb2720b3ac16cccc729307032ef3d465094024dc6c8e87b979b0c69102a857d1385a655ed47c768446b350020a7a11bca17d120295c89c566f712d96093f57852 +Tag = 26d6dbf8ba796693bad2b28e5c10f45a +FAIL + +Count = 12 +Key = 2eca32ca4445bbdff452b9f148475556 +IV = bafa872e73e398bd13684342 +CT = 8507c5f9db2b5ccc3511ff7c536e4fb1 +AAD = 699cdb33c82d8d479986f92c7e09fcadedd0bb16a6714a12ddbc23787a0a6bd9a26b4459dc910270d0bd5f2174c9428b8657eea47c866b5202170e09c644b0bd1a2571b95ff27eca9111d1e732a235aa9207906de127d339a353 +Tag = 45780dd1107458714eecabfb2fbaddb7 +FAIL + +Count = 13 +Key = 947b7af80ee22df81650b15ca3a9d30e +IV = b08d719c82d666afbb5319fc +CT = 3c0e648800b873a6d313df9819d69c88 +AAD = 14cd58d6304d89fc3aec5bb6736c4e9ef02db97969bc169a4f8c88c36adfd3a9b24da276533fb90c3930feb8b972b0e2eae2c80714536b6b68f3d2ea3328a359dbc1eae607eeb832ac7134d488712610ce4290bb03bdd12f48a2 +Tag = 52a69091a51a33e59b0bfd45a89f0a2c +PT = 97abeb8f5a115d2a978a31ffd3ab87bf + +Count = 14 +Key = 08d287011268b575c5e0117bb02eaa4a +IV = 1bdfc9f621afe6d47ca6a82e +CT = 952e3bec22baef1417bb32ff7217b509 +AAD = e33c9f5b0bc4f32f7f56b517c7aacc23451ba85bf10a70da5ed25765fc87add73cd29a7eb0cacb64e88142aafa5835cf161b9d3c6fd7cc9d91feb7d937e06acfc5d4c49e8ad617e5667a9b62aad09b492df9c66dad1136c341cf +Tag = 11e971c6f777ebcd738a541081d7559a +PT = 571b35d67615967d9d08858722fb1b8a + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = def54f107c34413745b85c84c1a78d73 +IV = 9f7137962ae207eebdf185d8 +CT = 88c9968480cdf4b532198f85f944e330 +AAD = 918885c2385a558cc91d3a4bb8803c5f5386a47a6a1490532593f8de7238099102b35750e8d1279b028349cc889dfafaf7dd205ada1aec45f6d40a631979194e00300655f8a114e8c3e51c087af9687a1d1f5cbbea97ac1f9bee +Tag = 97c5ee47a96f586d14496e62a8384d +FAIL + +Count = 1 +Key = 1ac30faff206574fcf4e0b66a8bcd392 +IV = accdfe0fe2104f5c9f69db9b +CT = 8a087674220c361fd66c35f548748686 +AAD = 4220d44c846ba689fd74f3fe4916e5a60299c378f215bff41f087ecb1c991d759a818cf60e20bbc75cf4c2732e9fd58e20fb354ffdda412ff61b65e6a39148204c7ccbbc68d2327d5be81bf8b060ac1ae31e8401b037ae3adc4a +Tag = f88458bc0dd3ff83298dba7ac8ad87 +FAIL + +Count = 2 +Key = cbf77a20ac0b95a451855cf01285a1d4 +IV = d23040dd51fbfc2d115e0cfc +CT = a0e4f87e2a8c1489a913d36424415ceb +AAD = d518ddfd992ee03047e8fbb8a429b2ded3fe8232eeb87750548f38e58b42f1299c8da2f608b2f2b707cd7e0c56360ecba15fb799aa2b11722cde28f12e6f0f5a7355b38228d891d627f5fdc18f1f3b0a3d07a2a5f62c714e5df9 +Tag = 1ef2f59e9a70e7e8e332175cf2b88f +PT = 7f4cdaabaa16f58a11fb40a2d08aca41 + +Count = 3 +Key = b8644db55f907569ed461e1ccd75b4c0 +IV = 50db8e88e564e2346793d3a8 +CT = 737c0027c3184cc811d42e17fb797102 +AAD = fcb07a8c7fb0719aff5d94502a883c876a066ad5d186013191e83a7d6b98f24b734c3cd7ee3fa32bd901e0096733167aa83ba7214dd6fdd3a71bff4b53aa23dad774d3a711f78ea27dd8b8acec2e06e03750abb4c99d7ce38641 +Tag = 0092113445ae58bc24d79f110db1e0 +PT = 9c18941a99ad299ce5319c7f51332d42 + +Count = 4 +Key = 77bcd8192df0f28e19b1dc0535f59667 +IV = fd57cb73827d876ec461491b +CT = 6e83d8647e4a381ddf8701f656f0263c +AAD = 1d60fc657a1090e9b90b76ea2859de801a1dc3bc7c1ac1b1bc51f5c36dd48d384fb2bccc83148122d20bb2b71d16a2b34e99af042ee8bb61c652486a814a857715694e90ddd12c2675a26ccdd146763da676dce84b460428fe59 +Tag = e611b63e4ece3d8e02448dc5278378 +FAIL + +Count = 5 +Key = 1731af667f6aacfd86cd19c86f6cd1e9 +IV = f26fe869750bac3e7b183ad6 +CT = d7edde0d99e0c5efbab06dbe6d735d9c +AAD = 81b9c0f35bdbd758089f705a0849e8eea096128380ef07090c66e4abfeb51f52d97dd8cf8b81a6359395c666e49bd5b0f15d7d7055336e1f997b383866f461a659d61723741fe5117d436fe366e023251567d9b325da362219f6 +Tag = da48fc45904c8305d57b4a5f93225c +PT = abc604c82717ff80a5a8818470855a41 + +Count = 6 +Key = c80200908f1e13de7314b9ef14dcebfd +IV = 896097637d9fd01474a337df +CT = 7f3b8c4de66bcf4fef2ea205e5f0a313 +AAD = e83fd69cc34d6a83c11006a954cf75d8aaf6e23606d7455cf23d6c64781f373627d35ba75bfdd0150359c1338316d228a29f77365b85f11d2af412d4b4aa986d1a0dc0a4c628772ced2f84830e32d49b4675d4545e2cd2740fb5 +Tag = 4614c9529985a6994d987188a9e35d +FAIL + +Count = 7 +Key = ba168525a5ebd1018b609c7589ae7c06 +IV = 265bba3ca7f4e19543d930f5 +CT = 8e49c2ca7df157364e14b0569e6e6282 +AAD = 4a1ba8a319821f4495b8303a7c23f54ef8eadc040e7a730417c6d1a8e9c823f56c0844205912de0dcf1d1bc1a65d381e4556195aa4797aaa63a7fbb214b19b85f41d16337dbaf84720f75480170a874eb3706516b985107ece2e +Tag = 08b4b3b2d4e1205a7845c4f1ce2939 +PT = 004615f7372a62bfc6fa552525a92dba + +Count = 8 +Key = 86e106613ceef28d85ad5fca122bb434 +IV = d0230846485401472b77f222 +CT = ab1a068d5b95a77e669a78cd78c0b389 +AAD = c5b7223c949ee11ee7800b00ba4453c9ba7d0e0c0cd4a8762394d0703329b355aa574b7f26e655860957b6444b377c3e631adda44001e884fc008e4d8deb02a1c87aa4dc0d4e190a9a92a4362f965a21588a89d4404fc451b785 +Tag = 63b3a0d0675b84c38152ca2c1991a0 +PT = 8c93cf8eb51e74cae952b3a31df4fe96 + +Count = 9 +Key = a77fd22da83aecf5422101726cbdeb10 +IV = aca7dcef10c24d8a1dd083f0 +CT = 332b07678dc54dc5ad26c8f4049730f3 +AAD = 38ac7702e5465178e2b6e88025d5f49a638cf4ec9b5514a93b8563eb7ed50f884b17b61a9f0e83c961011f901e81e5662e7eab7fe75c7b76ffe3c631d7f64a2dfd36972cc7812769cb6cfde824c27aa5f4d032b05390daf0a856 +Tag = 24d94a82f123e47c5eaa77fe3b1144 +FAIL + +Count = 10 +Key = 32ad31079434fbb2f532bf550cc0a07f +IV = e312e73a86b12ca15a7321b1 +CT = b9fbd5245e9a5e629196d85208ab8b27 +AAD = b1e1e26b5f440d2d37fedf0a29f203ea86df680f4b3e6a9482e4c059ab78f716ccde08b046f84c4eb1a211fad31e88c32b94461e890fa8b4378d06021fb400c273be344f2442463364e054b362347594f59a91fca95da87e5c6c +Tag = 477be7977a4b9d6ab431394228832e +PT = c0ffdfce98e6cb1c337fcb47bf59aee5 + +Count = 11 +Key = d2fc683df566fbbfa4e91878bfb88817 +IV = b6750d971872cc00cbe1902e +CT = 62c49c9e845e95c401b87c5dfc74c2b4 +AAD = 074fb06d81d7c27cb8c0ac497af4d5467794bbec5aa26576e2212a23863ff7ea1ffaa63d9914628e631d996f6cf1133b65f3b0605bb3ee6b63b28e21a5459c2fcf522b6f3073b9b9e1c3490be74a97c274d039da84780ebb0f89 +Tag = 5870e991ed9df08c80b5a462d01fd1 +FAIL + +Count = 12 +Key = 447445689cdc6c6972b5291644a81b23 +IV = 941b0186e3f8bc2cbc78059b +CT = c0e1bb12adfd7ec71d79969d20f3ac2e +AAD = a12d5f4b9d023cfbc3dacde7a29be9aa39a422fca5fd9184b50eeac79e0c77c314683c5a72159b4082dee9ebbbad7e399d86f1e64ea031aba5addc270437828db936d284082460f4faccd2bc8dff8246d8e74ac999ddcaf6f3a6 +Tag = 47a66a56c9cced4bdb54090ceb1c17 +FAIL + +Count = 13 +Key = d661b3e683c2c6a75d17a61a10a26c9a +IV = df5cee1418e49787592d1af9 +CT = f8916c4a1cbab79fa655333540053721 +AAD = d2c46fd3c86d8516186d6708371d9d3066c0dd068e18c6fdc9f19d6a4263ac01f0c15b9b08ae51209aec1b0b94c40098c0b2df554984a0d73ab5bcc4df3e3401affeaa9941ac6bb35dba191c57489dc7fefb37fdfb61797fe88e +Tag = e4374b7341b5408a779d17c7ec3af5 +FAIL + +Count = 14 +Key = 1514ddd61f0c1c734c5d5174cf1c03fa +IV = e4c7ec5e08862830a56126e2 +CT = 7106bc0438e5ecbb0c3d3f21e08b5844 +AAD = 2466942afb7dd3e8939b06a669fae95059bab623a06b240b5d392f95dacea169b0352984db88dabc1c1c44a5fab47462a31f5fc2061d4eb76f08514a49387f5a9e239e45f4578adabeb6e008a9e48c190ff6628094e388a78341 +Tag = d48054a10b9c0b64456c73f5723892 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = ff54e0a7f382f91f3a9536aa4690e960 +IV = 641650409a50ca81a7d29160 +CT = 0a43b07071f1e9a9e5c0a1bd8303fcf6 +AAD = ea292b26b85f9a21830b3df54416e3d159642b1305e81ef1331cddc562bdccb5f6376e5e5751371a148b5380e8136a8f18096862f20ca1eabd1aaf4be86fcc859f840c766be99b72c8d5c9c8c9abea8cd19dd479a6fe81e0681a +Tag = 595428edbf318029ae5a4859aa93 +PT = 45b2461ff28eff6d1134395c92a33edd + +Count = 1 +Key = 8ba1e9caa8f8f3b103b34d7e715cd4a0 +IV = 517e9f74e4b23f09b29bb76d +CT = 122743ce575c895a577f9fcd3fe5877c +AAD = 5b8b3ab43b3b77c3bfad08eeffa2d5ddce4303b5e1b7e425d11eb16700f387edb39db37d9337af3fd582fdc92392091d7f0311ac71a2e6d57a282ef486bd5d9c7b6eceda32b48982bde251ea2df2d7cfe23a96e7099b2259a9b5 +Tag = 8625b942fc1d2b1d9281015c67e2 +FAIL + +Count = 2 +Key = 32104ed7f64f57accfa9527c7e9396ec +IV = c6a8a6de84a205fc779027fb +CT = 8e6c5fb8c4b1cdeede04944c772f22d7 +AAD = 141f8a303ff857b4e89e1ba6adf16aa6f22170355dd15c2e7fe8aef17dc9463c28c77158a005deb4194d45e8c9c70600cd3a7e6e6d4e4d26e0d09b3fbcfec6cd9a4e389e1e76ba8cacbce8e845df8d1498a1b003a01df094168e +Tag = 77ea0e5fe404e34a52b33cb2f5b4 +FAIL + +Count = 3 +Key = 26960019dafc3e3aebf162ed1f19e770 +IV = 94c35135939c92bb9dc119c8 +CT = 2fd62900462e31227fe9dde4ec041059 +AAD = cac516e15afc1f58eff352b458894da8d170ce8e90c8f1b9f06434b15fc348d1b7dfbccbab97316d65d96e7ffa6ea8ed444b78dd28d28fb9c7c03f9c07e2e7006a38fad0adc78bb9539a93c57693989d26b537da63540be12dc3 +Tag = ec22d17be7f57d5d618f6e3e5138 +FAIL + +Count = 4 +Key = f3a3486948e33dda2af8ef3e833c29d3 +IV = 331697da01e5e1321854651e +CT = 11dd8457d099dde63b31759395fcdecb +AAD = e47b9058af859f0f5680e749451e4a4ef03135d0a54dd5aa6c920d6b26e7c91e11ed07f0da635d9299f813d25d8ae41bffd80555c6e674854453f717ab802f7467df2f07b4d1869da4b5176f080a53ed64148f7df38aca1bae0c +Tag = 3433e16bf30cdc9be1d88e745e95 +PT = fcfb80dedcac48ea501d189d1d6af078 + +Count = 5 +Key = ce9e845df2bb4d88c6d190fed10c6b3c +IV = b547a98d8f29aff4daff1ed6 +CT = 316704d4f13a128576dbc9bcda1c72eb +AAD = acf1b366a93feba9b9e1ca9f313ce9c82f8fbf7bcd299f4554f406b44ce7d333164786d855cd64d0b5e464ecd1d7a1b4036ae11c5d779e4dd919b306141a3fa84c5ffcaabaacda9da62ab977e01d07884a03f5bcd97500c1aa70 +Tag = 0b990f1a3dad9e6f519256331a57 +PT = 2a0b5ec5a93c3b81abc57073c6445db4 + +Count = 6 +Key = b3ff297cbaa2edcacf6d85dd3ce39b74 +IV = 7c1f073c17bdd872bac10036 +CT = f3ef85ed52352363838d77b87b49c070 +AAD = 4bae1451d70239d64a58dc7d392653b936d1371c652ab65be8d9113a2d89f8ff573950549de327ba3881d7cb01867eff7ceaa3abead8e7479b8a5acc1b14dbe933e65a384331b26048472ae669e5e429f38eaa4b4a9a1244a10e +Tag = 25aa9b7b97e57f4413c653a508f2 +FAIL + +Count = 7 +Key = 69e195edbcdbae5c2afbbe8b0a326402 +IV = e096fb473b94b8602ac9e4a4 +CT = 31396746a017c55fa8e492433ec0b283 +AAD = 2413c615851916a1c371f53e3b8abd2ed5db7d27f03a63b0a916a8dcb2823d8f262e7c33fc5f2745473889b3da8010b68642480d96ae2d14d4af8a1882db85856a71ac6f284644d88fa8175ae8470cec94b5e3cf241362024e64 +Tag = 57b473337c4514efc109d8acf07a +PT = e6513e830ff8373184f2695ab8327584 + +Count = 8 +Key = 28da03a92c3804b82b41916c75a87964 +IV = da3e702f133e75c691a71e05 +CT = 7ee7b870d7c10b5a7dc18c2ac6f35219 +AAD = 3e9a0642ce31f5f34bfe615844758cd3632bb2085061eff0e342468b54d45959b7793bb28655912a0c54c3125f5c4a6fda8ed065f1bb75e83673fdbebab14843b72254ee4a1ce44bc1294ba5dff624a57c41ed235268317b6232 +Tag = f31c52ac715eef6a77873d4d0b12 +PT = fee378bb1d1fd00ae142b4958d593cab + +Count = 9 +Key = a988413b9f0541ddd471132676f7487c +IV = 6337f98e42852d604553b75c +CT = e80fb6b3067c481a37e8e93d16fc3365 +AAD = edba254b875fb66c84252f5d40bdb0ee9380bb2aef05edcdb32ec3aa030e40282e80b507e22201f796d44b258e1d4541c4a7f2d49cd51a596f03b7dcdda00be780512f0ae79939e7e7ffd1aede39935a700eddfe122a5f10134b +Tag = cb14689e3dfbd17ba518e6e4446b +FAIL + +Count = 10 +Key = 2d5d3442cbf1f609e0ddba2f32ca16a5 +IV = 1bacec7b8050ce466b33f0ef +CT = 4d673a118ddaea4eeddd378db44cf195 +AAD = a1b43344a440a17c02df5f1f905992303193660a747cc14ddc9ef724882109896202913043b2af627df9f998fb876fed9be3c9c25fea531d7a1c90cacb16e4724dd7e5c187993930cae4fb4a83829ee97e2a303b9898ce0a4855 +Tag = 4832ef47924e18a6f7be2c9cc26b +FAIL + +Count = 11 +Key = 68a1523411e846e91b613af96b57b4d9 +IV = 6512cd35f8e91b440d019f6c +CT = 5195063c67abb832d44625d21d686c4b +AAD = d201509726243eb21a462054019db203fa5b388a6616ce548b617017307ef8500af64ae9dce38e813536ef5f979dadaafb9c23df67cee5a0ce5c20ea9d25d39a4f055b943ad5445801730c168755d18f9f1d4ac71adaa0f663d4 +Tag = 729e5f175eb6aeda6300e9a725e2 +PT = 88e65f6b8a522c733f2ea29e465ea1ef + +Count = 12 +Key = b49d73759b6e48bfe5382625e2cc69f6 +IV = 2e6b424ff312f16567a77f91 +CT = ec559ddb46fb01640a604e37d4cea8f5 +AAD = ff015f568b099fca0a183ad2c163c80d3d3e717689bfb7f7cf00143266ad15097300e4fb666ce17d0b43b037823a1d8807d3c05f5daf3b3dbb6b77231593044cc0634a452c149ef092605f8022a016cfee5e26cc948839278307 +Tag = 25041cb294326e076f1725821c38 +FAIL + +Count = 13 +Key = c97e9dd510d3ead1b83cecb4771a1a5d +IV = d8d9cd607768a91dfa9caa7e +CT = 69723113dac77eb7cb6c1b2adba820ae +AAD = 8c273d7ed66eb6034ba24755c125d015ecf8db3e574864bf8a9621d3322833bf10d18898ee1bb8035ae183eb4aba3ef75154740de8406ce15f5b3323037edf40684b7873f67e92299b34cd15af11e33d763126fc39ffce6842a4 +Tag = ca35e0350f33e1723402a6be2979 +PT = aa748ded29e927107adcc51ab0b2c567 + +Count = 14 +Key = c15850d175251578995906c5ec270442 +IV = 4325a8d138f9b79bf68ebff4 +CT = b294167c5da8a11fbfbe2028635d4ffc +AAD = 676a9a4ce9a754a49917c472a0f7e1bb92ed1921bba2900db3f06472e5cf9f32287e9b9c85bb181bb66457b8ab5ea5ec0c0cb91f182d6023b07c8cc5bbf0c04a3b867455025677f5c18715d21fa478bd0efa90f41d4c58c1d980 +Tag = f4239ea5ec81802fc7e148159ae4 +PT = a4b163622d74d737001c331fee4ca53f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 8a077ba9d62df744f63a388b8dca1267 +IV = 0352de14e120e85e15f1f774 +CT = 09116025a8dac83fc0f23ab8c6fe43af +AAD = 3a0ef37b5062c00437a7b8f5f82279618120778a5c2f55875eb3251e6d48cca781dd95ad783c81b370b759ed6fa37d90624e6b39632c96cf07ba0ff8d0fac26ed9d2552a2e0533ebbb6fbb6eb3dafdeb73b476744e79456a60f1 +Tag = c95c89807c3354656e03ffb389 +FAIL + +Count = 1 +Key = 64153db1a0baaf4e634c105537813986 +IV = db4a3e27be822f691d920a83 +CT = 3921b59748074db3f63b28a0cef74e48 +AAD = 8dd0c0e2eaf826aa694ab39c3d76f0917012dbab95321947577232b6d516a08f4fd12120b3ac0f3f5814ca794a3b14c1a98f8fd34cf98d28c46f0ed528dfe2f90617d32be8f5c1460b81f804304cd17516b47760c82dc7b1dd0f +Tag = 0f9e94fdad57cf1bb1ecc908cd +PT = 9a53a5ad100410d0ec2595d6d93b40c9 + +Count = 2 +Key = 0308eebdd63a3c50aa1811ac56290358 +IV = 53899751706610b924b0d5d8 +CT = e471b2900a476d85c4bef77e0ae90e1e +AAD = 55f3266f73fb4086ec87ffa9059c7df3ed8e43f426a4d1547edd77f00b2219b9681182a1b28302576bf2e11cf55854c4bc3872b3e1675340bf14696b6a62f72e3e9f91903e901d8bcb499493d41cb65595975d13cb504703d349 +Tag = 016995688d162c279ae9450742 +PT = ca852a3ff1a00895f4d9d95abd64741f + +Count = 3 +Key = 1ab94cf2953e54e91345fd1133b010f2 +IV = 9ed8ccf39e72ebb2b36dad66 +CT = a60ed6e32e52d42f868d8e5d420cdf0c +AAD = 28a6d6ab88c54561eaa90a652c0b2757248e61b1a7049c37d8db15bb237a614346619d47fd17a3fa38e787b2894202e2e0611ee9ff4990657218b845e2814c466aa666df2e8ef0a2b38d0fff6fef4e95b0e8e5f625864dd37db4 +Tag = 80d32843dabe8d42dd248c7bec +PT = d689c6d13e418b17fa3ed26db6f83209 + +Count = 4 +Key = 2c784fcef8a17d77c71a13df9fbfff69 +IV = e2c25339b1235efef4e76421 +CT = 91dc2e11001f3d4368f3a54588dee00f +AAD = 7a5b7544296a00670b87d054938d597fd30d433097b2ddc7c597f8cee00f5a68fdfbed037fd741a7575f402b6fd0938329b1cbed61b5980a6ef8f1361a307d9edcdbe2456cd62e4fc70acec92780c0e04aaf9422c0af24af8b20 +Tag = 9d90c871ff637b1bd1e045a2f0 +FAIL + +Count = 5 +Key = 3666dc4079b3cc7260c5aee1a0ca8d1a +IV = ffe4625333f153c7305fc315 +CT = d6e6c2b6d22335e0daa4fe8a8bf85e20 +AAD = 7e2d2122ddc1f8c6a636c2292a1c00af1a6b53dd30a9ec2f440c5b0dd0b08447382b77ff2ed650b4e83a55e017487f93fe0c6fa8ca7943fbec9f907aed1c223e45a2acc8b880bccac46b44bd2e0b99a2a12ed67940fd8d017ad2 +Tag = 78a80e0637a882ad34e2da2e57 +FAIL + +Count = 6 +Key = 9cc92d567af6af24071d68d6fbe444bc +IV = b91a9d97228194b5f01fd548 +CT = 8ee8233ffc2dc2b75e1776f1cc56dbea +AAD = fe54de2d9d253528b32bafdcda8af0100ca567f9a05e6f4d3c115a7a95d2d8dc4b78c474a4f0ef6a42683859297d7e09f365bd71de73e7fce3acc4596689932863bb2cc6082c3baee4cedc4d6eeee5ca6dfc76abe5e68108ff95 +Tag = 48ccfc3f255a6a84bff7fa818e +FAIL + +Count = 7 +Key = 5e5133841a6d09d6fb07e222adf79eb5 +IV = 10a944f15fafb64f46b6eb25 +CT = 5b89f55bea39bf3ce1943287e5fa14be +AAD = 87eb4ef2abc257f49c6e85d48cce04a7e8a994a20ab283207f2e22225f93a706b10513f72783aaf5efcee28574645f7ef68c965c3c3ed225bed64ae4aad20412a2e2b425b221109d7b617b35d51ab6c964d152163777c9510619 +Tag = a4c7db2bac0f91b3696619ae5b +FAIL + +Count = 8 +Key = 816bcb4c713954303bfa4a41ba4de3cd +IV = e7069b9ea92cbca5f1249eaf +CT = fec67cee34041f41f9cfdc95fa2e06e0 +AAD = 21f9bd831dd5c0fce7827a3fe815511f74577e6a6a6e11a33c8cbf42b874160e5db6ee53c70d88e502bcd122d5b06770761cb22a29485493defeaa3c0fecc7738d1e8a79936af1719145da70b7b0d3ab4d7433ca2e6e4d62ac93 +Tag = 7b0229e55dcaa7d65148b490fa +FAIL + +Count = 9 +Key = 473de9919567d1317ee36815f3e217ad +IV = 1c3d54f115fb3ceb1a529e25 +CT = 07c09d3859b76c664d2c78a71d2891e8 +AAD = c366a21bb7fe30075979ceb7dfe49f03d3855485196f3a8494c4a2dbd8dee8d2224b58965bc96f3906dd5ccdf1629b3e39c2821f2366e7a7ea004be553f99467f166153f214042c1eda8aa9dda0f453c49fe3578fe488399a302 +Tag = c304495afbb46eaaa0cec525ab +PT = cb30a8753493a4639927c84403b08333 + +Count = 10 +Key = 575575eccbbbd8a45a7c6c0d3dc8169d +IV = 718da27d7d8c7060dc8e3856 +CT = 04618ae486cf6b2d4ef0779d80aff176 +AAD = 043bd4f0ec6cc0786f73dcef8f81100a3a96abde78197fdf0439545c59ff0dbb0d84670fcdf45343c14e6e0d32476a5a234325d47940578297ee6c0a38234da7604eab051bb199bd38699a5476adafe432d972d377b8985e93b5 +Tag = 4e00f325342ff57806c80c5dff +PT = 154816a877cb9bb17494a403b5dfb6f0 + +Count = 11 +Key = f1054e06d2492f2ca41b5776148d1628 +IV = 38765b28d912aae7dce287b0 +CT = 40329469b116c57152722a4825fd4da3 +AAD = 4c9b57352584c4fbd6cc2a6308785c228f7a0c901752821a81da685c08fbac11a8b9612ffcee34ec660dc189cd1e519f33ac7b517e107ca43147b1e2a0780d98877867fa29f3b24e04b615e7e0eb858cac69bef6f1a0637d81b1 +Tag = 78eb6867319cab8a07e683dfe7 +PT = be62033fadf0779fb40677b5bfc6654b + +Count = 12 +Key = 7c51b497c8e276a11a08ffa4a45e26ac +IV = b29b0cc50b79bb1f6e4656ce +CT = a512b73d348b8a6f76648e5acdef9e75 +AAD = 207d0ec343d0a4e23db2b7e6de342d7cfc053cc56284d32f185faa700096dd9524d68c839f68f23d2d78c365529af868c8cc5bbb85450fd6a0209b560b73d7f6baa7326b3733701bf2021fd9a632f21a184f7ad1e5437c28dcfa +Tag = 6b85409d3feabe0fdc63e328a4 +FAIL + +Count = 13 +Key = a4ccd4a5a8d0ea26ad4f5bcec87ae1f9 +IV = 34a463d53f000ea5f93e227c +CT = c596bdc00fc119072352ca4a52642c66 +AAD = 72082af085b47e9e5cc066e9a0e64d28d24b5ff53fd8c7773c2d2de49fadec78c2cede169d23a1e10feccce8d8343516b5067aeee6e985a66e525e7a697b093221eb9f1d54eb5de4e8ea278dee5cb11ba4dd85c4c2c94a77aedb +Tag = 11440af413b4aa62bbc3f3f15c +PT = 4740d3740efd2859b14c966a2a838599 + +Count = 14 +Key = 4fd174d631a23e89afed9d2b809ce692 +IV = 59bc32caf16f7b7d8490d980 +CT = cdcd863318f9669b175a6fd51c7d98c5 +AAD = 0c32ad157f2da0a3be4bab0948abe5daa0b3ca2ecbbaf82bcbad979958ab5344112e317aabe702c6c1907e4c183b6f489087ce476340b2955a0fda9f7e12a7a87da82afe6e07ededae9db4e992e0cfb30daaa1c06b763f15559e +Tag = 9e70f9f3dea6ef5173b1986fae +PT = 6325be26a73b03f5940856c6618ad6b8 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 574f52c16f9cd6401ef080cd886fde11 +IV = 36e15ddb00dc95c0d4c4430e +CT = e6418874e59b3d48856d786ea083af70 +AAD = 4d1ff1764453ef17e81e2371e840a6ef02666a525141786259627b8ddff40a40c274c087009aa4de5a86620a467a84191645bad03105fe7ecf49b0ec04a98adfdab4ff4ceebba963f80b60b169479eb7d7244152e4017ad63ad6 +Tag = 989d914c8140d9b1dd9aba13 +FAIL + +Count = 1 +Key = d7973e729c735b7e384ee14e9e263260 +IV = 4f4588fd60a14112d2d1fa00 +CT = 641d34634c821f07509c580438d7adca +AAD = afb1b60ff8bf008653bc83016eb6eeadef97dc0e968df20fd75924a58e9dde450512598e6f91930be40a73736ef0118e303115bd949044e492becaf57f760657a2b07c0feb10dc6d4ad738c2cbb915195584fa1552fa4a2ad9c0 +Tag = c986df8a646063f06bd97247 +PT = 9d7620538ca0e6f430b714450115b789 + +Count = 2 +Key = e2d198ffed1db533b4e3fc084f2b3582 +IV = dddbd232e4519c7b9a8afc28 +CT = 68d255cf936b191d543bbb2c0369b3f1 +AAD = ac254f84b80bb440f6fa8a4993a3f26c7f322c6cfb174c4bea18ed2e94c3276fddc10ef90977a56d957b38f574326301dd274ade680069cc4465007b16ff4a8eca4e6f64d9c40cb58c917ed55b9b45f5bf1188a0cd6162c383e0 +Tag = c7873767d572875284870827 +PT = eb705ab01be0ddf9c2e7ee99b12da951 + +Count = 3 +Key = 1b4c01a3106fd820bba6d11a62c57e3c +IV = ee221ad12bf3500f6e43d765 +CT = 0d444bdcdf93bfd54665877ef1555fa9 +AAD = 1892982080a54a5bd591ec6e303e79f9214670cb7bcedc207fa489356011ae1f34a102a9b1db839bccfd39ac859f6727039d4e3545f55ff666fad6bf356c4c1cdb36b6f35a08a6e92b76df535341e12086c860d733cd727ad860 +Tag = 8dfa4d317090952f6e1325b3 +PT = 464f3623862c9ae0630e0179ea3ba202 + +Count = 4 +Key = 9fda87c121d6f3335c547c3e3fb32c1f +IV = 75af4e4c66aad8ea2d8ee564 +CT = f82765c01aee71fc09c7fc1a1675c912 +AAD = 238da42932f4ac980d3fd2b65c2dc7f59fb889899812f4a4ee7e9cc2f75fb7bd2bf69cffcf4b713c3043659534a93be88729abebb82607e93c8effbd0d6dc23928f0de5d85fa5fe70c393bffb70312913c45de053523a13bea7a +Tag = 30ec413e274d78e6387715b6 +PT = 3f5cebf6f0cb28ee66582b57ad9ad6fe + +Count = 5 +Key = c00ffab198384a232e24a5b76120b554 +IV = 496616b5aa729ef2c2322d49 +CT = 03f14be5f12311be8d090382029a9712 +AAD = 792fd7df94b74da07c9adc6e772cab8222ce5b54fa8a6cd80c824608a08cb8ffb49b54bda24955e2d34a5d6db9982cd9fc31ccff00f0117d3799ae6bc60a8f9c926228c5c7c5b28e10a7b3312e2e1ab94da8e2fa85478549bc5c +Tag = 4b7ce02dc3775c6211544ced +PT = 8847cd4b9b73bdb00c68966d960dd679 + +Count = 6 +Key = eaf037408faeffdb1ccd0fae3fa5d523 +IV = f488b0d5480adeed9db350c3 +CT = 4b63567ca146db47cfcb9c564b77f005 +AAD = 901e56c7a1f83a200b2dc796ef2025f8c446abeb6873d5fd04b41ad3de55539d20854830e74cef2577b827ce8c0720e504322b797177fb4e031c14d5b67e9ca7f3631c9550dde1081bfa2a60407883900a19083a51766cb4ecd8 +Tag = 58ea97b31fdae8b2d9156008 +FAIL + +Count = 7 +Key = 6887236fc55ff850f220b8d24a48011c +IV = 7bcd240c20cd394f58ca7c74 +CT = e2fdbd2738795278918ea4c590e1ed76 +AAD = ab09f24a3bc9403aeafde7c9f32d264c71d88022ca1079def626bec5096f8ad6e9372936b7dbe02ac3d1d14a593ca9bea082d52f81eaf2865b842776fc9f570593938ce4c0d1152acb5946cb2b2e642d44c8df2f2ee2d76afa2f +Tag = 6c5d5b723c8ce80acaee91c9 +FAIL + +Count = 8 +Key = 1fb947974d648fb4786415a620de830c +IV = 8c7d64ae8612d30df7022cde +CT = 3f944e7857f85f458c8509fae02e3022 +AAD = a25198122309431a9464144219b00e7af9a475adde9bc50fb8e71b6a8fa40f2ff056876f1498a839f736126a53b7ee0f6752a3c757df2a8165269389c536099c572a50f76fde54b197c414217c28045e443feacd9963495f31d8 +Tag = 751ac489932b2b4d9237d4a4 +PT = afc94efe81329ed4889b1ba438913c63 + +Count = 9 +Key = 51384a5b3aec2bdb1c5a085cc438ab89 +IV = 6770d004ee1e8fc46fa32e04 +CT = 8f6a29c6545e9c49f22100b9241fc225 +AAD = dae3308e676d6ef3da3cc88c499963132a16667b622e0fae2ac8247b59ce575e894db525ec4bd9d60d930bebc22c10d37eb33f2a18e189391f360d65873482271beaf68c27b9a6333c54005b941df77a87a9e264bee2b24e7820 +Tag = 5d923e9642f67e6b9f3baf9e +PT = 2d97d4f94877f29832dc00530bda383e + +Count = 10 +Key = 49b61273883b81c67580d107ebbcd537 +IV = 809ac8aefdfff573ddad05f9 +CT = ad986a3c9eebdca2bf99749e37d5afa9 +AAD = 49f3d0c0130fbd23cba92fb5592cc99b31a802657925262a313ef36fa421d7d6b5c292a390da8c4931f67bfbc8aeb023d549c30c91903faffd72f0b82e5691e0e2f85032b72915367d8a9ab1d1e0abf5cbbd745e7eb03755bbee +Tag = a7e2a8fa9d09aa8a2bd4afeb +PT = d1f250006774f39cc39ab96ca2d139df + +Count = 11 +Key = ff297b54d0361ccde5d8f9cb97341b8c +IV = c36c697d2cc0ac2417e765bc +CT = 4fd88184b9463b55585c1bbfa1c94826 +AAD = a5b9a13dcace9866fcae1baa3d4ac9e67dc271c1295fa4ae46569ea1562a883ddddc71784a427ae364cd2d7d46bc5038a0a796d789ccda628d0b0e0c928585c457b236f79ae0c7c04bc39c01d9bebc3528f73436e9fc923bb5cd +Tag = 0cdd2bdcc65666176be0ddd0 +FAIL + +Count = 12 +Key = d1e0b243506b01ec0f31e86daf41a9ba +IV = d8c590e2a0197b19933ddb2f +CT = a0023d805f3e26b33a03b455fd4ffdd0 +AAD = a9645e4889d9a140ac20a871514b7c841d2e3600f12f06007eb6b9e90b7b8dbee436dc64b2d9f7c272f2abbf50821adfa128d23079528f563dff1a3c0ecd999bbb26fac9ab28b937a601fa1f4a8e29fd086f308558ceed07c266 +Tag = 85dfc4b5e74b9fe37baa1ef7 +FAIL + +Count = 13 +Key = 83d36ade6f5ecd3987e1fcf82b27c669 +IV = 2fbf9e9e2cc741bd15431164 +CT = f31d664319fbeb216667586d0b140cfd +AAD = 630824a105ede350c1fca7608519e214ced2cf9c297cbcd84178c504df21942b8c1719cbb3063d9777180cb82f86344b533a8d51a86dfd158afb73c48b95538c95810b941d4f9fe80fcbcbf2e6c77fcffe38f3d6cf3acb139731 +Tag = d44dc50bd8f6ce081c3ca68c +PT = 59db3eb0bf01714c1ef4a72e57482c7f + +Count = 14 +Key = ed3e5cdb4c1aa01c5b519bba2147a088 +IV = 687071c4860552c265f182d2 +CT = 83331286527cdaade673f3343e7d1b98 +AAD = 28de0aae904a3ab2a3f215206a3c38ac48af00e4feaceea6d5f2eb69e272ec1ab087ddf7e742d70e1ed38238ddd19413288e696eaa8579820ad7e2737ea83278542887d0dc9243966a12eb4c3cb84e64e5ef3ac49d967689de48 +Tag = 91a88a3417c3dda588136674 +PT = c60b208a300d0c3e425fae591c7ad3e1 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 550e69d90df04f2bdb962f4bd55c5980 +IV = ab8b7f33a585db1b65d24aae +CT = 6b8408a612e02236d561ab4c44634bb3 +AAD = 111a06123c258f34e187c0d2a38d7b9c2dac58489a47c7e118f716e4c1eb908a30a9a49103cf0b7ceab6cb22d69733651205a029876b0f5fada2d145a9853b3450e3a302b6e7e1ce506aa77692f93d44532641c7661f6790b8c7 +Tag = ebec6294a914f63c +FAIL + +Count = 1 +Key = 95c5993eddcadede21e4430936117943 +IV = 916191ce792c41873e4bae36 +CT = 7e34445d91a7ba5926424c108908a7d4 +AAD = 372c755559a3bcfdd2444323fb544aa9158dd4f5970a508a188e2de7773c565f6ae73fa56e4bdd902acff4d29180b5b0de5a9ba8e0f90bad8db990490bfb63fcb77fb45a1256a113e92a7d1d092fa1168560d7fec087a58b3d16 +Tag = e32457edfb8183fa +FAIL + +Count = 2 +Key = 5df8aac84fde32f61e13289e5ff8ffb7 +IV = 34609c718df3b1398ec88bbc +CT = 39fa1163d0736664890abd3203b8543e +AAD = 242c0a70985de55f05d2a7939a270569795e319cef15ca9afe163e6ffeac07e9edc2fd3c8b28b02598d17b7331aac39cf36f997bba9e8e8de73c40efdade36c2c9a40fac69ae53c3b199804115ba7fb7877b8b943b3f5bf02d46 +Tag = cc88ad5b46e36e6f +PT = 93f7622fcd1d39a78d59714b915d5ee5 + +Count = 3 +Key = 2dfa21d30868edd7430ded0c33f59825 +IV = 2f1407f5ae09a42d1f16e1a6 +CT = d66c2213bf4bed45d9e200039fbc793f +AAD = 4af0e472bd7295387024394a30fc5389816173faa7aa58fcb5944bc4af8205db489f72d755e13aaeec870d5cff103bba436fc8d2893747f18186d9860ec8bff37fd8f97432a00477dd8fa81c5d21cd0befc8d16d6a6b2b28ef00 +Tag = b94c11c9bd9f9b11 +FAIL + +Count = 4 +Key = c7d24c0e602bab10b45247a54778d4c0 +IV = 59f0ee35774b8418ddb808c7 +CT = ead77daad67d0c93fb7f6be66b5d6263 +AAD = 77001caab1458ec6fe7b62c858b25110a8072fe60571845bfcd34de84b3a0736a6a9825f1285cc73a6def30b6b912ecf35cb3c07f30da039aef63e491e4ace79f7d034d98adb06f33ce3040623a4257f119553d0c4ec6ae68e3b +Tag = 9577be0db253bacf +PT = 807313fbd75afefb231ec6dc9d586fc7 + +Count = 5 +Key = 8506e43cd07220d8f5b7ed000935fde2 +IV = 8ad873a72be18f4a69a8c5fa +CT = e9c61227ee79dd4970b8296c7c5378e8 +AAD = 9747efaba8d0dce420603dbdcb35ddb8b62f7fd3389d60ef80020149c3a6ecd963e1666c39c82ff81f8c7c55f8559f5681b985cde3f4703f30ad887048ea3f0c32e9cfa5131589da90e196b2d9d2ee8888c6d4519a37dbed7668 +Tag = c3799cc97a9181c3 +FAIL + +Count = 6 +Key = 4d7cd685b54cc9b9c5ede16a0e0afa5d +IV = d0deaacaf584d7d38f3d830d +CT = d37183832035346f434372167e588941 +AAD = a345b173505ea0614829252f3e8539964e0be118f0aa3987113ad56fd8dda803d0a0aeb35184edfdb1d0a07afd0c0816fe0d7002692527375f9b35144f251883b877bc9b7998b9c825d8296f09de55464fd62d1f62e7e5bcd2b3 +Tag = d53a4046810b65f0 +FAIL + +Count = 7 +Key = fe036fb46d174fd0b2074c2da4ef8d7c +IV = 15d0cbf7b307b803e0da2980 +CT = 8457089f80aff983d15f2d37b021df69 +AAD = e6bc3f63ba6b177df2a264800d822ba785e9857ddda95b2a1c7725dab9981151c2a4e9fd8fcef4e9556b18199fef3df05bc8c3e6b01492b6f0c3fc08a02416613d0c0049be766d35dfc2c9593126c37732ee9141e95d4f71688e +Tag = e903d6a2ef03d809 +PT = 298958350fa9c15e6845edba72dff4ae + +Count = 8 +Key = a31ea0f7a55b619109677e2f254188de +IV = d96a135f11d636bbcfaa0e29 +CT = 5f9d7aee3d1ca427ef3dfa1f18dc508a +AAD = 3232563c3c783709cec6a67737947da9ed923e7a2cbef765eaf57ae47162427c336c4133bec95242a386b05b20799fb2e7de7b1994a31cda7afe05462f80aef20e66319fdecd32968b5cbaf37cd262441557743046b5f7b9e558 +Tag = dae3110d49b4bfbd +PT = 786b8eb5aeed35f2006670bbf9292130 + +Count = 9 +Key = 61a257a8dadd504e78633deedf78722a +IV = 9b259c1f95fe96ffa6861f80 +CT = 251465b50ff2b2c1e19246fff7a3eaa9 +AAD = 454ef2fcbfe25f5d2686ad27903482b479de191c467a56ea91083bb6d41c3aa037ad4517defe8b42785bf603caecb19bfa5d98a3c74308ee895697015ae8cdfea5d9aaac84c545dca380a32cd2d904cd9ff87fa544c5c521908a +Tag = 3f971e03d42f77b1 +PT = 635b6d554499c700e0e3d28d2755ddf3 + +Count = 10 +Key = 125025e33be7cec42965c28b5b102e2d +IV = 7fb2339bdfa86ca67236994c +CT = 3e763a2f26edbefc19168267a5a5fcec +AAD = c0a1074e004844280ef3890b0210985be6fd5af64af4f24590d146deb54b9af81c696c49ca1a53650c112755b4f1a4b07ea298c0327d3777bd8b0887ead86687cf39d966d46e5767dae3f15e8c7bf02bdc21e52f4b9839a7c2f2 +Tag = 2e5ed75dfe9adff0 +FAIL + +Count = 11 +Key = 1aceb89b23ab79930129c675f7db3396 +IV = 302989a68f37e47d38e31920 +CT = a87e1b2f2ebbfab4db4f27d26a04d8dd +AAD = 5c0b0078eccc6809e6300ffba573ee5115f3c32d8b73e5fd113d4d1c59f8b871b7eda7be36492aa8004037a975c3c706bb5d04a4fa76ff0d0cd12b007477c37a0b34070b1f43f4f905e7e93df97165367c995c9944eb88fc0b8b +Tag = 89476107cdca044b +PT = 1fbdbf536d20abe986ec5b1341826826 + +Count = 12 +Key = 4ba0ba72823792bd655ad3e5e4199898 +IV = a86909e0a1fd54f46b1933d9 +CT = d87a748b197fd17bc25f24a7303baf3b +AAD = 74e8fb97a2cc103a73415c85e23dd7f27dc2c932644eff42ae3ab37a20cb55ece387d5f9f59065bc356794c23b2c53443e34cdb65bfe2bd032fba6fda358004799f34d1cf157bc9321c3bce5d0486129127f20e2c1bf74acc86b +Tag = bc20dcd6ac57790f +PT = 19d7160d32b0500fc1e2539bc4ffbfec + +Count = 13 +Key = b9c4d36b27f5130029117526009de186 +IV = e21dbd30736bf4f76c8ae64d +CT = 2694117e45feef2c464102aca36ce9e9 +AAD = 1bfabe0c4a6f31c250fccd6bbbab596da9217bcf01c58f5fd01987560749b54cafd3067665b9060804a5b1e3eadb6260f0fee45a77ad0218adbc543f22ee6c931b206edd5475f05457014463e749b097df2685335544e12e0145 +Tag = c7d288ccbc591f56 +PT = c5edf39448210283e5a2ea3e6da7de70 + +Count = 14 +Key = 722b6543eac9d93ce34ab333b5f7620d +IV = ab2ae0f7aaea6f193d7f1be4 +CT = 239fe8657a94a9681044a4c6b50ac81a +AAD = afcdf24488321186ab3bec418f5f8f693fda248b8204ebeaf1808d69bdedf653b9f47879faab2292989d3d7ae93d648cbda5b0939395174cefc9f855daade9173807315d20e55c190f428de859ebfa1ff77d72ffe3a7308b8825 +Tag = fc28109152e56fad +PT = 6df91b4a116ccb4a3c4243a458c2e0d9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 2d621a02805749092ade51f49e0043ee +IV = 670607aa8d09416289139bae +CT = 2ff9ebeef16d727d7c947440cf2ba421 +AAD = 143f7d9aec26fc958730c7a09f527d16e26a251d409348ee8a904c88a74a87476d73135fc36747bba2127f9764f399e7c056bc162bd6db1983f6ed5b993d228e2ddb07d9dd1a55076107c19e56ee67d140557d41eecdef9bec01 +Tag = 4975e10d +FAIL + +Count = 1 +Key = 799f06e7b929a64170d673cea5963ba3 +IV = 9a28afadc707f7147937be97 +CT = 39906baeda7ef26a03a5cc6ec6667111 +AAD = 7bf3d2c051245a92320d66bd36c48ba6b7b1b6edafda377c36711360466f2515e8824c4d29873096133cadc4d4501acee39742dc7f03bdbe5dd484f6bf4d13954f8d133accdb9d7f235b301dc2d0980b7e6c8a84d3f86e4112bd +Tag = cbff9ef5 +PT = e789ba107b9d31ea812d7587eec99d83 + +Count = 2 +Key = e49efcf3073916abdf363e563821c8b6 +IV = 55e857bc1bada520d579c48c +CT = 508fe04068d7c3de313f53da9f9681c3 +AAD = 2952d8f9ba0390bdf1762be4979ebfd69d9f2691b671a7fb3ffa5dbefff98fe36da29f482f4854a12189c88ce866aa553e29e9cead1162822f05aef8dd03917ce6b02844022adbc82c1a75925973f9a316eff76dd8202f42f45f +Tag = 80864641 +PT = d07fb88bfeb0e1ce944be4126d75b8c4 + +Count = 3 +Key = df865496901fd9349792abdf26a63e4e +IV = dbbb808368d89b58a53b3b39 +CT = 9347616620df44c2d8a3a9100857a3ca +AAD = 67fd4d1859b77319e85d21a1178b70c524db98533c449c809036eb94944b47fd2be7451de0c6968e8ac538d51271730a6f891990f931f28cca051371ee9729c8eb5bcad5c5d476cacae59746afb2c4560943105d45325b15cbc3 +Tag = f310acd6 +PT = b83975e441efd009fad1ff650161d880 + +Count = 4 +Key = 21475728cc3ceb3028cc107a96036d73 +IV = d10b9a0055c0fec1b543efb1 +CT = 1aad914c6657616eb1c4afafc82472cb +AAD = 8aa4d781b7b1b434d10c16a86b592250d127613fe887ea64dd18c707020a1d4ddea945eecb914c3b7610d9fbf5e2d48b192afa3d1cc04c17408829177329181aa3f7221e08c175ab814bfd9c18d1297ace18f701e8f6c60e14ea +Tag = 8486e2d8 +FAIL + +Count = 5 +Key = 45a1d0f7083483e27ea4f9a83a9689d1 +IV = a852a800e4358941ab0c650f +CT = 40668a12721e8ff196a0276ecb38285e +AAD = 551f935c23aecc38e20f050aef83e57087393647a9684befaf5074717a7666325b79e8026a63ac716598b219cafdeba6c9a0b73709e1332511d614a0e36216bda183fd57205795220073b00e1318ff03f15f2df7ead768a33349 +Tag = ddd68d4d +FAIL + +Count = 6 +Key = 71417ba176fcc89903dec1b58a81dd76 +IV = 537b85a3b984c022515346cb +CT = 711f0c3122264b65c31d46f4c4209d85 +AAD = 6d12422b8f7a5eb075967b6de206c1df3c03b94ebce009ece5929194a05fa196196fb3281e5406187a83e09e1617a5b790cd9674232eda8e70d23fb1ac201678945f22236c0aa00418bf504184410351d286a1cd243e03a540ee +Tag = d9adf5df +FAIL + +Count = 7 +Key = 97afaff8d364c1af1123b2aed9b8cb0b +IV = cd7fb2cc6648cb711143dbb1 +CT = 4a7de292091d94e31a34b9f8d2c91feb +AAD = ddfaed974099a94b13c588d194af111ea0e95b26795e369d497ce9994aeb659933b2e626c4a817f4f9590251fe1680e7e1b12699fc78e25c0222c521f006068d21a73bb2b9dc657e94b0d7db22ce9840be41cbbfef42b31e784c +Tag = 5b92e1ac +FAIL + +Count = 8 +Key = feb9b98c29dcfec4ad913a3612793ae4 +IV = 7ec02de7d365baa2eeb8fa23 +CT = 0c0654b7913ef163e00409af05566dea +AAD = b7090c4624d47c00c820f421e35b4a1b14429bcfc3877a1e6fc02b57703894815ca827a14c86236a381931862bc3defbfaa26c301529b9aaa31588155a9671086423cc67ef7f8b8a744d2fe32bc1ad5fe496f3c97837aa0342e4 +Tag = 69581403 +PT = 1e60ff4c9fb5044397ed353257a8a4d7 + +Count = 9 +Key = 88fe1492d7859ffddb52fcce1d40375f +IV = eaff12383424367e62c65a9f +CT = 80586f98e88f71269893f2207cef986d +AAD = ddddac15b01f3858e8a315f72e8a5d9c46d8c5d41a8d43b40573524c94967cdb3e98d2bc584079d83cb18b3fca2a26f8039ec41b0a54a6dca6db385fd158b1d670774ac835c304bb329bce67138bae57060468f75e5b88bb931a +Tag = 78849fb2 +PT = 8ce8b45dc7dfc3f8a8fa4e7242cb141c + +Count = 10 +Key = a6c5fcd171340b254246d228e8ba9077 +IV = 02e1eb720e677095434d63d6 +CT = 62d351bc7fa1369f65399ee75bb9873d +AAD = 655826c189727936179d2b2b10a5ccf478a1fc412a6d890ba7a9a5873ffc527ed5bfeddac1d9808b49f0213f6e1b9807c644f85e99711ff8ca5cfbd68208d29f2d38bf55510424b10c71c07d73523dda258fda6572873e58db33 +Tag = 07c7abed +PT = 185b63fe1e29f16317c9d8531f4d43a2 + +Count = 11 +Key = b9e9a79b711739eb915785f08f363489 +IV = dcc8c6143b2f238879fdd4e0 +CT = b6020cf912fad3c9fd96eabf0f6b786f +AAD = 9cb3e4ec0c878e2d8e1169b11e6642558331fcb05fe6474ec0ce86b50ce3f4af41d45bcc05dd4b51a648fcdfa243e0791bdfa3eb8b55a1f3be051a932f50ff83a5db00a4b55c11641d66581689e6c56a6b1e6a4ec6b87c126b60 +Tag = 74d5f33e +FAIL + +Count = 12 +Key = 575d032cac1106b403416c4f3edfea9d +IV = 1bafa6b4409b1aa01678e0e3 +CT = 324566bf977e01464752e0a924e7bd34 +AAD = 64d481f9661382de13b1fbf05324247b5ee5a29049c8881606fd2683560fc7517e25ad5ded7f17e2c903833a67df7f1e242f78429c8efe64ca950f7c01be58cba0c0bc421668129b7d6d5cb8050393eb1079fad320b7ad966cc0 +Tag = 63ca1de8 +PT = 0958bcd12e15434723e4559f75666602 + +Count = 13 +Key = 200e8c1102a08a0b401227c7b801e84c +IV = 555c613e481dfaed885b0d8d +CT = 225b8e0102ca4ec9a80f800fc6fb785f +AAD = 274ed19dd7c16b860319d5eab20062fbc029e146f05fbfbf5af11f0d68cb0c8d04975c0d04b13ca45f9be11c2b8a8f1aa463867b8eb2f1756aafb8e70ee8d34a0f7011e85b39f41efcee090b1f0af662452a81119bc8c2a17f24 +Tag = 27048f86 +FAIL + +Count = 14 +Key = 83adef9445cdd2052580ab147e828946 +IV = 231afbe860a1309358219392 +CT = 59678e6256db01e7529b07c856a36c48 +AAD = f7fd55d0433871eef18de3200d0e7fba45ffcd3ec31790532d54fc91a4c2580bfd432689d3507a83dbed5e2a33c033e576a81f6b84aed13c6d4732a7f03187c2c226d52c0bad67926dc0f761ac5cb10e2a0da91b82c49effae46 +Tag = 8f6fc0d0 +PT = 862a5497132bd8960f1fa1272d52b714 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 387218b246c1a8257748b56980e50c94 +IV = dd7e014198672be39f95b69d +CT = cdba9e73eaf3d38eceb2b04a8d +AAD = +Tag = ecf90f4a47c9c626d6fb2c765d201556 +PT = 48f5b426baca03064554cc2b30 + +Count = 1 +Key = 294de463721e359863887c820524b3d4 +IV = 3338b35c9d57a5d28190e8c9 +CT = 2f46634e74b8e4c89812ac83b9 +AAD = +Tag = dabd506764e68b82a7e720aa18da0abe +PT = 46a2e55c8e264df211bd112685 + +Count = 2 +Key = 28ead7fd2179e0d12aa6d5d88c58c2dc +IV = 5055347f18b4d5add0ae5c41 +CT = 142d8210c3fb84774cdbd0447a +AAD = +Tag = 5fd321d9cdb01952dc85f034736c2a7d +PT = 3b95b981086ee73cc4d0cc1422 + +Count = 3 +Key = 7d7b6c988137b8d470c57bf674a09c87 +IV = 9edf2aa970d016ac962e1fd8 +CT = a85b66c3cb5eab91d5bdc8bc0e +AAD = +Tag = dc054efc01f3afd21d9c2484819f569a +FAIL + +Count = 4 +Key = 1694029fc6c85dad8709fd4568ebf99c +IV = d2c27040b28a9c31af6dad0a +CT = e17df7ed1b0c36c6bab1c21dc1 +AAD = +Tag = 08644413f80753a66d27cc37d9903abf +PT = 51756d23ab2b2c4d4609e3133a + +Count = 5 +Key = e46eb11faa5c3f6e37ee510544514409 +IV = 31ece7b92df31eb13783b23e +CT = bf77690a555c368878f5929e39 +AAD = +Tag = 971a1f31d5838d444f329ff47bdae20d +FAIL + +Count = 6 +Key = 678840abd719f5588e103a9ce1895670 +IV = 2247ca0bfb937d7091c49940 +CT = f5f7190e3b85aea4faa57b52e8 +AAD = +Tag = b4d15142a68ab5258c3d20621f4706ea +PT = b4263d709f816288ece00bbfae + +Count = 7 +Key = 8dcd045f5685cf072f1a9571fd933cf1 +IV = 500ba0a66f3b919b0cc43d5d +CT = 38ec62147b601d1b84e628c60e +AAD = +Tag = d5a8456335aacb0db452f4c460edefa6 +FAIL + +Count = 8 +Key = ab42c0bb775a58e0c5aa81b2dc3e220d +IV = 4cd9049e3b3f48c848a21b3c +CT = 344df70485c8ac2fdcf69190f3 +AAD = +Tag = 4cdb58ad32123be431ef50613c9f886f +PT = 9fa3afe7d21dfe004b558ff940 + +Count = 9 +Key = 4e3e7322fe0baeaeca2afa6f10fc09a7 +IV = 8a9ea19485204cb1c671818b +CT = 66881a96b2c0e9c81d3270e285 +AAD = +Tag = 8b4b35abb0d8a498b75920adcf411ea8 +FAIL + +Count = 10 +Key = c63119ae857dbac28e1f9d254589c258 +IV = 4696e3963d8105483849c132 +CT = fb3b925ac70ee8fcc653344cfc +AAD = +Tag = 964a03393b541319996dfb9db8259d48 +FAIL + +Count = 11 +Key = 03c6071bd6363596161f34a039567fbb +IV = b6b6213e219034d5e1a86f65 +CT = 9234874c82e77eb464abebcfce +AAD = +Tag = 5e1513c241485b5d6dc0d4c852f9d39d +FAIL + +Count = 12 +Key = 1ff11c32fc837d9f2d0809ab65b530e0 +IV = f4cb53c43d206349b0333ea8 +CT = 4aa200287cd30147c3fc6f87e0 +AAD = +Tag = 2f12e3827848b21f141e5a9a0919e6b0 +FAIL + +Count = 13 +Key = 3de290481b59cdc48d328cb3ac39cd96 +IV = d1792633ed4d573a16b63feb +CT = 0bdc54d226fcd3c5a9b03fa960 +AAD = +Tag = 1a68657749ea7adb860f87b915e58659 +PT = 116d9d634bf9e746db89aab0c6 + +Count = 14 +Key = 61858ec104419274ee0e24871cdff474 +IV = 257de891935cc301aff3824a +CT = 918b9f4a5f59d5a9325d994c16 +AAD = +Tag = 0dd768a4f8d0252e943c9d6cc9e28664 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 1f8021c437fd87b4410e0bac50875bdc +IV = c2fa9427e6ea9deefb575bea +CT = cba3e3b9fd7315305edfa4af14 +AAD = +Tag = 798bac1c8c9b807a4c1e588be2c542 +PT = 32d08d270435f1929154e320be + +Count = 1 +Key = 1405263411d04cd82a13ffc3ee0b52e4 +IV = c49403b8d2c2408b2f6e88fd +CT = 7c56117b653d7f2d49b4e923f7 +AAD = +Tag = 6405cf1520138805f5b568fe3bf1fa +FAIL + +Count = 2 +Key = 21c90b8533cb2e8bb0e9db801f492e15 +IV = dd486fe700744f96ba736da6 +CT = 5b6f458db448e109bf8908438b +AAD = +Tag = 25c9d7a9ac67667e6eb2c4dfc002d6 +PT = fc29723f8fbf72175379ddd184 + +Count = 3 +Key = e9c9efa0084313a9d4e93ae7baee2a97 +IV = 3d2e12282a425d5be7bcfc83 +CT = 0c72edfcf9eb4c86104440e470 +AAD = +Tag = ac94f2d24b7212d3244c3f2c39d0b4 +FAIL + +Count = 4 +Key = 60b5e087a8dd3cb62076c0374a5a37dd +IV = e16608caec30628bd0cf3561 +CT = 0376400566628cd2c8926ffd39 +AAD = +Tag = 6e94c0a8274827d0b46f61714e361e +PT = 2edf4d548657b982b1402f9c31 + +Count = 5 +Key = 08557142d42f56396b07c05fabb8da0e +IV = 8ab0093cc79d9aae8a59405d +CT = 7071a0b3a7bb1f4b0752fba76d +AAD = +Tag = 24673abce6c038c18e5d344b181e93 +PT = ba70a224fdf79cdc0e140b1ac4 + +Count = 6 +Key = ac4b2f22e9f0d82999a20c7ee02eea05 +IV = bab0e6334a06b306d3fd667b +CT = feb0068a2e713c8134df9f5e9e +AAD = +Tag = 93985eb9be1494cb96f5f9e9cc3605 +FAIL + +Count = 7 +Key = f3339d188168da6da15df413dcbda478 +IV = d6ca08fcf6fc6f70e55aa42d +CT = 855078ffa3bb0279915cb24427 +AAD = +Tag = dcd8a552f02d200bfc89a1538c6270 +PT = b426a81c8849c556916dd72c03 + +Count = 8 +Key = 89199c88cad3e12a408c155307d09095 +IV = 77ea0fd4251445f956945aff +CT = 486594a2a9dc85d023bb8ef396 +AAD = +Tag = d06b348498e201a6cd4c8f2d2d59f3 +PT = 27952884fc49cb72b93b674807 + +Count = 9 +Key = c89f5326ea3bced62d3bf11cad103155 +IV = 49a17131a4ddfa5dd968078d +CT = b4a6891d51a96ef58f4bf75f8b +AAD = +Tag = d8cebdf68d65bb9c0ec1ffb6771485 +FAIL + +Count = 10 +Key = b5e04a1bd766945c4863e53309f37845 +IV = 785eee1f0f139aa2a8dfe6ab +CT = 8bef2ead7d395169211c0d6e3a +AAD = +Tag = 370fcd9e2ed5d5ebaacc3bf480a1d3 +FAIL + +Count = 11 +Key = 1b224417e1b7f7f7ac0036b4007a7d31 +IV = 0a8a902f0b4359e3b1e60c78 +CT = fb1d318275996fa95bdbe416d0 +AAD = +Tag = e7c3cb19383a9ae5246075557a8d35 +PT = 6d820590dde0bb55c54f4829a2 + +Count = 12 +Key = f49d974053b983bf841911d0e23f54d1 +IV = e17135d851e3bc8d40aaa8ae +CT = 3ede2320b55ceffb2d67e0a9d4 +AAD = +Tag = 199840003dd0182b5e3770d9374fa0 +FAIL + +Count = 13 +Key = 68921fdd1a8d6340481667dbdbb06be4 +IV = 7d998346ee7156f65869cf3e +CT = 2365d178c270f0b86a489ad2dd +AAD = +Tag = e3c9b7f3064896b0eb2ef2d78d97d7 +PT = bcb3a3fbd8cc6c653c9801e785 + +Count = 14 +Key = 6e38900541ec0e50558c3359fb0d68d4 +IV = 3034578c572a52449d11a928 +CT = d1f1bf3bd8a9c9be2f8e585770 +AAD = +Tag = 14c30937b34e795edd88a0454b2ae5 +PT = cce4db6923b5d7a3753844313e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 8c669668ec652edae85537cdc671a1c8 +IV = adc7c28e1007e128c8a19adb +CT = 8df27024f6423a8592524965a4 +AAD = +Tag = 04681d1b1fd1c3aa11c30d3f30b6 +FAIL + +Count = 1 +Key = b23337f704d948f37f3f61dbb971d623 +IV = e4dee03f5a09139b04c82890 +CT = c3308efaee4a1f0dcda6b8fa63 +AAD = +Tag = 5586f9d1a8fe09a73a95ccd18896 +FAIL + +Count = 2 +Key = 8a1f4cea9468eba1a2b8c6f3127bd585 +IV = 86bb4b6f868dff7fd310f99c +CT = 4ab6d309d67733188e8d1f99a9 +AAD = +Tag = 08445b8e435dc5e885759ceae168 +FAIL + +Count = 3 +Key = 5fb83c613b6d37fc469aa9280d85e1b3 +IV = a980a14080f7e04924f00f7c +CT = a49fb91f347ca355c547cbc477 +AAD = +Tag = 33d62cd8dc230e27db759828ef5b +PT = cd27a7ac93c6dc3c0a3b609783 + +Count = 4 +Key = 1d444dba320373af719e269dfe4c87f8 +IV = 4921a85d278cdcd032b7ac06 +CT = 3b730bf24cbadd18c96ffd32ad +AAD = +Tag = 2d9b54a4f2c771b3818c9d77ab1d +FAIL + +Count = 5 +Key = 059657d300d72fa8edc06a85b8d98e45 +IV = a6c40faaf55dbd16894411d7 +CT = 4b67d2c7b83355be351318ad49 +AAD = +Tag = eaafb12b56bf686d29a88a85c508 +PT = 49618e079b95dac071f6827ffb + +Count = 6 +Key = 0a51db7fa4d1df50e523ff9f7b7db0e2 +IV = 8652cae1f613740c76ed5a57 +CT = e863a523692c356bfda84c44f2 +AAD = +Tag = 22fab575c5475b132f15960293fc +FAIL + +Count = 7 +Key = 9b9a21dfcf286a88b75386ce4ab1ebcb +IV = 7d3a394cebf4f85d127bbe25 +CT = f99fac7e78a12ecbbca400f7f9 +AAD = +Tag = c94030b44e62466f58c4f7892398 +PT = 7d8dfc6c23a4f185069796d59d + +Count = 8 +Key = c8b073a6b811331652687a45ce5252a7 +IV = ea8e46355fffc6ea805bceb0 +CT = 508a7954d5e8a9e92c349b17a1 +AAD = +Tag = e5dc073365b4b9e625b8a4a21f32 +FAIL + +Count = 9 +Key = f06383ce5e225588c3a4e9a34968cf8b +IV = 7e2f11725377d69fbeca3916 +CT = 2dcc24e3e854b69f4c4314b09c +AAD = +Tag = 88dc7188bb9cce37d5bc351a862e +PT = 2fba9214d7aaae14ef9998ec3f + +Count = 10 +Key = edfce1dfcbb348493d52e0b36b808702 +IV = cc4f7662820c9c95bf42117b +CT = 6df28634b22d8bd664a88af8be +AAD = +Tag = 36ae80193b9c4121faf43d72b88a +PT = 124a0ae7ac135ff35fac17db10 + +Count = 11 +Key = 7be3c2807d1ceed7a1b081ff618c8783 +IV = be833c175b67cb382b5263f5 +CT = 6cf7b5347613a607db85070b80 +AAD = +Tag = 2c052e66f4a33e5502896a0945c9 +PT = 5bf1740da05a465a64acd67160 + +Count = 12 +Key = 44d198771f20ccbca68df7d9dc4d8620 +IV = 7da7038abafc753fe5af2f60 +CT = d4fb853c935acf68c3012c3e24 +AAD = +Tag = 2929762e953a9645c0bbe6ededcc +FAIL + +Count = 13 +Key = 832773b33743a4ab70e1d4608253978c +IV = 3b5b14c173b2311459fb7613 +CT = 32aad8e724bac1dec047cec16c +AAD = +Tag = f8a61b82234df0087f76dfda8417 +PT = 76ab73f3008e5d95e13d220d70 + +Count = 14 +Key = 5b807cd8cebb6ea73cd37ba05f39e2af +IV = dc204475f1dffc134d5be023 +CT = 48a981eaa5be83a7d40cd42598 +AAD = +Tag = 0094e947c49c09712c98736b3354 +PT = d1d04d0cc4c998e978e4b0fc4f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 0bb87593d0cba65b00218fb264f8a743 +IV = b574bd4d330f722a81d56947 +CT = 50766f2efa2d4d4a8c6db22215 +AAD = +Tag = 7765bdba54a0f786d6bbf5ee2c +FAIL + +Count = 1 +Key = e661cf4e60491398d4fa0a628a7727ee +IV = 5c2f0a21d92d10ec7110518a +CT = 890f00fca0cb50776c8e3d6225 +AAD = +Tag = a3b0d8a7f662916bbee8978294 +FAIL + +Count = 2 +Key = b6a3ab9dcdfebb2e99f602060dcc3738 +IV = c53c975287c091a15b4be0ec +CT = b8655f9c76dbec9265d40ad8f7 +AAD = +Tag = 6eda79b1fda2b77ab83f229a30 +PT = 58305976602b15249a9921a08d + +Count = 3 +Key = 6a09784553ad1716389f1282397e3475 +IV = a7c7205265907316f73d0552 +CT = fb32ff3b3458ba5f47ebf5ad30 +AAD = +Tag = 6376228293cb463362f4abc701 +FAIL + +Count = 4 +Key = 1e35ae76fbe2edcc177cac5e6e75671f +IV = 6835fad0df08c785da247a0b +CT = 225f318ab4e78e00da8b4ce27f +AAD = +Tag = dbd9074cd05ff8a38f12e86db5 +FAIL + +Count = 5 +Key = 050ed7fd69cc4ab622337a437c4ba4a6 +IV = ecccac6f1c5fcacbb72a99d4 +CT = 91e3223c71bdeaf9623da213dd +AAD = +Tag = 12da1b1a3ef1a6628cf61faddb +FAIL + +Count = 6 +Key = 736b7cc18a3823dd81f9c2614125f81b +IV = f4db6d742d367999e765b6ed +CT = f03ccefaf0ea034374bedce759 +AAD = +Tag = 110d100ff76736d2d1a416b4ef +FAIL + +Count = 7 +Key = 895eb1589a89a682c597d954f019ae1c +IV = de0dd4de5bd27e8978363bf2 +CT = aed01e8ac349fb7bb5c76d8129 +AAD = +Tag = 389f18aa5acdead7ad94077cc5 +PT = d49645ce51f50052e8cb915621 + +Count = 8 +Key = 30c4be565f0f7868c12078c3dbd83c0d +IV = 973b0fc552991df49e247fb2 +CT = f95cd990b820d2ae6009d3e94f +AAD = +Tag = f01300454786e6d0591754c1b6 +PT = 0cf30b38259bbffbd1ff745066 + +Count = 9 +Key = 3859b21fdc579bde7e80105082c86865 +IV = effa08483f2245aba575a93a +CT = 5751df1d755ddf6dc23008b032 +AAD = +Tag = b380f7c71a40562d3c93a5499b +PT = 0fe9868437f034c7b38029ef4f + +Count = 10 +Key = ebb2cb0e5065475ca172a2c8065042c5 +IV = ef5d80e5c1f090018f72ea04 +CT = 1d5a955c4c9cd98152ddc62ea9 +AAD = +Tag = 32ef2a3dd68bf4a8aaa4335453 +PT = da07a4def4e052ade7fb6e7acc + +Count = 11 +Key = 67f555eb5ee10f2c3e8c27dd24c2ba96 +IV = e074d6df010c2cf4331380a0 +CT = c2efe2d3d5efd717710162f5fa +AAD = +Tag = 4b9aff8bc01ba55987f914433d +PT = 9b74da79c09571f196fa523be5 + +Count = 12 +Key = 5ba64aad17deaaa6559ff8f6e46e529b +IV = 8e092cd0e848288b8ee23a66 +CT = e99ad2ab4f1cca51eb0b83dbdd +AAD = +Tag = b869c571dce213509485631aa4 +PT = 38dee585ebcedb8a0bf3c777b4 + +Count = 13 +Key = c7a373a40120a0e893fa57e3b68648ee +IV = c8de2dffb06989dbfba8c005 +CT = 88e8fa8eed765465b1bbc58bd3 +AAD = +Tag = 968638c9b27fa4e183df7c9d6b +FAIL + +Count = 14 +Key = 03cd35d79b5f6073c57f31718fd25dd0 +IV = 929d1b22cff8ed161f4e16d9 +CT = 029f6104b376168be856bd1751 +AAD = +Tag = 7e45c9ecd4d0393dce1f54ce90 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 033ba96828eebb768454d2d225b7fac1 +IV = 8383c62761a3e886e5fcaa66 +CT = 6945831a7b5d69fc15b426ee47 +AAD = +Tag = 79d53fc98ab158957ee4b8f1 +PT = d44a350ff32bd4107541dba3bb + +Count = 1 +Key = 1b35e62ce6ff1483824a0c24364a649c +IV = f945d4dc672cff48fa5ac9d2 +CT = 2e5d8fa49b501c95b405dcb5cb +AAD = +Tag = fd6dac7b4840bcd955507ded +PT = d9e0a171da3fab6fd2182790ca + +Count = 2 +Key = 170952cc6f25921ecd0b28a31701afd7 +IV = 4dcf9d77038dbc240439ced6 +CT = d9ddd2bb410e59a9b279aff89b +AAD = +Tag = ad1629b4349290b2cd680a9a +FAIL + +Count = 3 +Key = 5627cd5efc89594244d7d56003f375f5 +IV = 3dc19761384b2a7084faaa92 +CT = 38cbd9a4a90ebd60a1aa12a89e +AAD = +Tag = c5be6e62759d6fb89a3d01df +FAIL + +Count = 4 +Key = d0999f00d64f406c7b79bde455209861 +IV = 505cc33992df86b8d5a18510 +CT = 2f1289f3b5cbf4979d24e8cb1d +AAD = +Tag = e68097da9f28e1635e670efb +FAIL + +Count = 5 +Key = d6c4ac8dbefa5d92aacec6813e46d96c +IV = a0fce0dbd1b62dd8fcfbf902 +CT = fa6c9ace93858142cf8cd5930c +AAD = +Tag = df9d933694cb4fec4e545f06 +FAIL + +Count = 6 +Key = 5e54c4c43d674eb6eb72966ea20e88c0 +IV = 5b796aade08e098060340510 +CT = 016a8a549bf0b697940addfa66 +AAD = +Tag = eeeef79be7b3cb3f3f332c32 +FAIL + +Count = 7 +Key = 389e279f89cf35a93b4a528108a12975 +IV = 82e5826f02a00b49b946f2de +CT = afc987fc7c654ee1e854aafd46 +AAD = +Tag = 0be75bcd53639939b1ebc763 +FAIL + +Count = 8 +Key = a521f1bafbb84f25b863d9142dc3feb6 +IV = 0eb649eb732c33aa02d16bf2 +CT = 763385dc90e2fb763265375ca4 +AAD = +Tag = 91301434891b2ae885b11b66 +PT = c10521be76c0eb091593fa3d45 + +Count = 9 +Key = fc98d6e8f8828c37410623fe6c11828b +IV = 31210cd9aa53cd82273f9def +CT = 8ce39fd358d9f960528899fb03 +AAD = +Tag = a9c46175b5e6194d18f94b68 +PT = a956404269c47f0782321f25cb + +Count = 10 +Key = 58ed4014467d46b6f101154e22518e1e +IV = 0f8858ab1a54d9d6182c2555 +CT = ac09fa6a4f735ec1fdd60922fd +AAD = +Tag = 43c0bfd722f64bbf4a5b5de8 +FAIL + +Count = 11 +Key = 3a6ef5b34b7294978a4751aca1a182a7 +IV = c2304e81f66bd07a7d244b5b +CT = 6f52798988814846ed8e43ec56 +AAD = +Tag = 12264395b2a642c1f7f7034c +FAIL + +Count = 12 +Key = f28f6a4ab09063b8e5ebe729b539980a +IV = 507a1220a89d452f2775a11a +CT = 11aecfbaaee0ba4af303393642 +AAD = +Tag = b6448ad0f5b065f096f23e37 +FAIL + +Count = 13 +Key = 0f11ea935d6fb309672f7b481cb754d5 +IV = 5523dfb0ba65d5d539ca7b3e +CT = 29a45ce21b2b99e3f59b3a1242 +AAD = +Tag = 3d72276e4112a51f4f456c54 +FAIL + +Count = 14 +Key = d5b857e60500251e059c22837139551e +IV = c1cf8ba86d8b7e9c5470b52f +CT = f92673c5785932030d01b8b953 +AAD = +Tag = b4b14075b178e9be86660fb8 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 2d38b01ec3a2138cd36fe533f09ad110 +IV = 327e54ecb18b980f852874bc +CT = d1ce9fc47e78cbe203744b3a17 +AAD = +Tag = 948e95ddd384c08a +FAIL + +Count = 1 +Key = 4f45ee418c72aa6fe62f61fb663e7aae +IV = 88f6190111a27f70bc8c1502 +CT = b93df30b4f6996f8e01560ad3a +AAD = +Tag = 0e20b8353f492115 +PT = b6433793e368fd82fcc97f0210 + +Count = 2 +Key = ba655f49f67e081c112a49214fdbb21d +IV = 2be43380294c4aa5f1cb8466 +CT = de6382ddd09d249fc07f87a376 +AAD = +Tag = 7b0bea6d79de7235 +PT = e3e00b3a2d76ee3461b47cc28c + +Count = 3 +Key = c5d541464368ba35288843202042087d +IV = 9330e50c4391274358ddfbe3 +CT = 71db0c142af871b0b26521f021 +AAD = +Tag = 9d5b78f1c0d7f4fd +PT = 6d83b120cd0abcefa4223f88fa + +Count = 4 +Key = 7d86f2eed900d250db65f32ae3a7dd8d +IV = a9bf1846e0d394a214119625 +CT = 074820374ddf410d2b10a8d10c +AAD = +Tag = 075f794b92855880 +FAIL + +Count = 5 +Key = fff17708462be0df158eec005fe396a8 +IV = 897497772183eeec8bcb6835 +CT = 9e5de2080046f73f32b92c8765 +AAD = +Tag = 7f54c0ced6c81b49 +PT = f09cf9e48135397d6dfe4ba790 + +Count = 6 +Key = 7ca79922563b5b1a6f791acc4992bed5 +IV = 2adf92c4d6cfb62a9a55a3a8 +CT = d6fdcbe814f42c862b734e6993 +AAD = +Tag = bdef8292a89c6fce +PT = e7c182e58592cbcfc5e00c8fa2 + +Count = 7 +Key = 07bdefddfa3aafff79ceaf6198c8aaa8 +IV = c05c925f37582e03014d0f0e +CT = d29590973f550808b7525da0dd +AAD = +Tag = 09a81cd9a7d19396 +PT = f7610562779d884a87785f4b15 + +Count = 8 +Key = 662b35f5a53ea045c1b5f2d4ccefb61f +IV = f42177501f2514da7f06cee0 +CT = adca6358e0422c9248ee4b0254 +AAD = +Tag = 8e598621dbd9f469 +PT = 1de307e4e8d381381f31911e17 + +Count = 9 +Key = c8e70926c31e61b09bdaa9458daefd12 +IV = d3f278e8958c10a1bbdc061a +CT = 6954252320fd72e8f2cefcaa79 +AAD = +Tag = 3b0ccaf8bfadec3b +FAIL + +Count = 10 +Key = d851f64e2ea2d4d92c21639f8085bedf +IV = 93121f4cc79270cdf0662dd6 +CT = 9fc4a059bbf747720e361a0067 +AAD = +Tag = e02c25d3001ad78a +FAIL + +Count = 11 +Key = e9dc5d4c1e2805e429d23aa260f6202d +IV = 817c25137aeb42887f30486a +CT = 5a4f5e9524545fc20bcf9e4e2b +AAD = +Tag = c7a60b30434de49c +PT = 12c80beb0f09a21298900fb25b + +Count = 12 +Key = 6687dc9f890467e96a7e0cd24d5ddeac +IV = e87d36669be16d0c1b464253 +CT = 2dde83a1ae540f11cf68521136 +AAD = +Tag = 336e13aca8f5e5b8 +FAIL + +Count = 13 +Key = c6221ebbff6fd07a595305d985ab82d3 +IV = 5ef3c03ddcfbaaf1fd7b82ac +CT = 75095cee092da42abd74b8a76f +AAD = +Tag = 881f782bd2b60959 +PT = b841cd5e0b3ad0841d9d259a77 + +Count = 14 +Key = 182c89cb758732a029e396ca6448826c +IV = 261b4f1e81ed153c9b2e32ed +CT = 9688cee40ef5bc5fbc786726bc +AAD = +Tag = 8752e7ac2cca3a17 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 038840e96c281d7f8f45e394d809fab8 +IV = b60d06d35685b81edaf4c80e +CT = d74ab0580104661c615396e831 +AAD = +Tag = 6aaacb08 +FAIL + +Count = 1 +Key = 8d67d098897093f68754c359d74dbb69 +IV = 3bf9d1acea35a281b0b5cd7e +CT = d1d3f01dfacaf3f3ca79d39f6c +AAD = +Tag = 1b481b04 +FAIL + +Count = 2 +Key = a36764a4354b0c98da71a26cb916b386 +IV = e8d2342dfeea8c1f9fa2992d +CT = a401fd880d73f59d62291115d5 +AAD = +Tag = 11feb446 +PT = d511072857785f92fb893c590a + +Count = 3 +Key = 59a4e91b049277dc4ea313d43c3ad283 +IV = 62645c473255a8263dfebac1 +CT = 0dc43b6aa0292f5f7c5095d77a +AAD = +Tag = 53e7717c +FAIL + +Count = 4 +Key = 2360f528005c2d56e80c8d643f87528b +IV = a625b75fb9b8108795dafcc3 +CT = 0cab2de9a843d9bf493af82213 +AAD = +Tag = 7088dc49 +FAIL + +Count = 5 +Key = 0e42165c432db57ae33d8b29572ed4f2 +IV = de3d994f8ba24b067e5dd1e3 +CT = ee3f119d6f66d4fccfcbeb42f7 +AAD = +Tag = af150243 +PT = 66f3bd01f6e1caadb33ee21864 + +Count = 6 +Key = 81cb81507e758b6a2f2db6c040a959bf +IV = d594f65b52e3d3d38d2221e3 +CT = e952240e5b080eb42398dda6b3 +AAD = +Tag = 1ddd1aab +FAIL + +Count = 7 +Key = a0b105dd2453ac7f72761b27a9e86d7d +IV = 4d76b27a80b0327fcd88d7b2 +CT = bede8029cf25d7ff75a78e5590 +AAD = +Tag = ed3163be +FAIL + +Count = 8 +Key = 2f9fa3417c84a644a28672ac07a4363b +IV = 90630eacf21fc6c41433f103 +CT = 082c9ef864f60ab1d73b16d8fc +AAD = +Tag = d676c4a1 +FAIL + +Count = 9 +Key = fb6832147c2a45478bec80cf9990aa66 +IV = 9f80f931563e8c568886e6ed +CT = b2ec418d487f7c333152f6f0f1 +AAD = +Tag = eabd8b1f +PT = af88e35942515813427b3dc226 + +Count = 10 +Key = 22831abbddac36b8e16dab4b96433947 +IV = 0d22be204f7618ecd1b8a113 +CT = b92c3bc2e928c9db032cf7635e +AAD = +Tag = 238253a7 +PT = 46addeafdf143214545be4b863 + +Count = 11 +Key = c72ff4f910b49fa62b999db4a2a43972 +IV = 7d4d1f4c90eb8bc2253addc4 +CT = 29227876b6858fa1866cfbf538 +AAD = +Tag = bc5482aa +PT = 4cd326f55478a9db7003fdeaf7 + +Count = 12 +Key = 7b411b79a8cd82d1f5d3b914459faa7e +IV = bf1c3d029bf18e64fbbd9491 +CT = 92417e11dd27b76578ff989aac +AAD = +Tag = 57da9b31 +FAIL + +Count = 13 +Key = 6b5faa874d63354a57b8b44a96a8efec +IV = 55dacafe35aca4cee17372f2 +CT = 91b4c7bc867f4aa5f265754909 +AAD = +Tag = 562c228b +FAIL + +Count = 14 +Key = 50d59d2cbc37c90076ace459a373eed3 +IV = 17ce30a75202751be3eb1117 +CT = 88b673d0aead4d11c44bdb5be9 +AAD = +Tag = 2907dd75 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 660eb76f3d8b6ec54e01b8a36263124b +IV = 3d8cf16e262880ddfe0c86eb +CT = b1ee05f1415a61d7637e97c5f3 +AAD = 8560b10c011a1d4190eb46a3692daa17 +Tag = 761cb84a963e1db1a4ab2c5f904c09db +PT = 2efbaedfec3cfe4ac32f201fa5 + +Count = 1 +Key = 2aa3dfcef68c333d0f03cbbb60a2dac8 +IV = 667a61d732780f5694128daf +CT = 9fade7c433cb44d5ebec14095d +AAD = 227f0dddc71aa2cc20c901fcb8db0e15 +Tag = 85f30c02962900f8891a9b6987172256 +FAIL + +Count = 2 +Key = e8f077635e558cc41a435d5d364e61c7 +IV = 98c0d229fe5e8b2ddee347f9 +CT = 435a85887ef52372259cd7235d +AAD = 473a81d1517f963c9d207b92a37ceecd +Tag = 74c7f8c7075a334c01c6c2084289f6de +PT = 4dc63e19811baff628f24c1627 + +Count = 3 +Key = 295eecd883ba179e13336c75b0da31cc +IV = 0491d91c05bb855ae8218b31 +CT = 2c6e3497d217fcb9854e8db4a0 +AAD = fef3a54930a41bd68178515f447e6cbd +Tag = f58b48f4578dcd69caae8ecb60743d05 +PT = a506ed7636902fc2c74a5ea53a + +Count = 4 +Key = 53e2b200f322383f8c4f66e1f33582c4 +IV = 74651a12fb87d4159cad0176 +CT = fd3e45cc7c27808e81519ac1db +AAD = 62cf41c5adf2cfa83d955cc610448f86 +Tag = e0eab2047eaf4efa600a4082552a4a39 +PT = a7f37fb6f57464dbf469ff7840 + +Count = 5 +Key = 3abcdd36dd0b65bae484cb7654efbd1b +IV = a051edbee68546a493999904 +CT = 9ecf73e3140adf2b7d17eaaec6 +AAD = 0ce7963d31c11fbcbbcfc2f6bfa90b68 +Tag = 71b8ba81028215dc8f3de37b034bbaf8 +FAIL + +Count = 6 +Key = 82f67ccc7e7ff0734f61bbc1a3fb0b72 +IV = 7ed71d35a94a9a8f7d1c0deb +CT = 88fc46298c64dfcfdb5ea172ad +AAD = d11cfe752b544b5e86cd40739783a25d +Tag = 28a573b0acb4c6befd3eb761dcf41c8e +PT = 254dd9845aabf9c049cce9ee68 + +Count = 7 +Key = ad38e96dcb23e04de04b9c28fb4b8e33 +IV = c4646fa77cb05843dd33b549 +CT = eb1d781d8eba29f254d2d4b747 +AAD = 151bf8dee8e89f94dbcd210626c0c4ff +Tag = f080a110a2c28706bf8705788e647743 +FAIL + +Count = 8 +Key = e8d3bbd86c3825692761e507674ca8ab +IV = dae0eed624e1b4840206ecab +CT = 5f43e50829be1f6c1db21768dd +AAD = c5069684d531b4bf159f0d2800cb970c +Tag = bfa9cc78ad67d1bb8c58b8c27ed79439 +PT = 104bc5cd1f4c0bd0b1d7c60f0f + +Count = 9 +Key = 8dc2982890e5015b008508178e60805b +IV = 190f64a03e93a35be00f2c8b +CT = 624bbbdb5fc182ec68a7536c7a +AAD = d23828f4e380386dbe64117733496c27 +Tag = cf001db85c6318b346b27965f74b588e +PT = 690d473959e2bb9ee135098ad2 + +Count = 10 +Key = 6270f8d879f483c8da47c7a1ac841069 +IV = bf241ebbb53da9266feb80ec +CT = 4af8df0b28f8169d4ebdfd87af +AAD = 753738f9f9abe9e09d95e9094df917b7 +Tag = cfaf36396156d570a2d16d5d9309a20c +FAIL + +Count = 11 +Key = 41a7e25635ef6d9f41d5e47134224db9 +IV = 06196d4aca076d87307d25fa +CT = 8019af5fc9a6139dd70c3ce530 +AAD = fa9bc9d9f62c0b6ebaa9a78ae877f10d +Tag = 22c816aeaa81b29bbac65a7977fbeabb +FAIL + +Count = 12 +Key = ce4a52d8d9b7ea1a6b0582d515a76ef0 +IV = 9b917ed9844bf241e8e342ff +CT = 4c2787d382182ce0984ad73f75 +AAD = fd6de547fee72ad03c937dce02c1965f +Tag = 853a648db898f922295ec78e6d26193f +FAIL + +Count = 13 +Key = 6bdd0f5fac673ed0e5035704e0b81859 +IV = 89bc74857b39b5b3b6e119a3 +CT = 7285eb5e7380e62e8db412f141 +AAD = c76b9c59f5cc4d02c35c4e3250bf2a6c +Tag = 5d92968cb34561ef8bc81b6aafbd3ac3 +FAIL + +Count = 14 +Key = b69ee30195aff4034d692b619d000408 +IV = 8b509ffd89c70c5d74dc975d +CT = b011b1a89b8309c084660dc77d +AAD = 886aea7c2d67c0c64038bbbe93a3534f +Tag = 4b12ec1f7943ffff88f1e64ee090d781 +PT = 8d511f8e02961544754f36e937 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = b1f9e7677e1f3178dc4839528576fbae +IV = 0335f2cc4925a1e6fb22b618 +CT = dfe72ad8d6f01b83fa95309508 +AAD = ea7fdec4a5cc97b396a5bd7ba7714828 +Tag = 3830903f9a7f9ca52522a41e89dd56 +FAIL + +Count = 1 +Key = 99aecf67275a0188cc58099a64893206 +IV = c716a0e03a57817b7736ea65 +CT = a115587949a3b5d5c244789858 +AAD = b83f154d6877b2cd476c15b0fc197f9c +Tag = 2acf2249fa64204466519bc4b001ea +FAIL + +Count = 2 +Key = a293acfa69061ad5963508258c3934da +IV = cc605ddd9f15a2b15843f9e5 +CT = c9e6e4ab1614bc66d61958ce48 +AAD = a53cdd52db80eab3fc5c5dd78161fb2f +Tag = 5d755ecf1a3e4f5dc390c5c0d1aeac +FAIL + +Count = 3 +Key = dcdc0d57c86e469ef737c2ae10f04d6b +IV = c63ed3bdc359d04226b0a6a5 +CT = 9f9163be3e6cd8e943b7199ada +AAD = c049ac4d67a5d234f629210116b3c43c +Tag = eafa7928b7f0c5df6c81d8036b04ff +FAIL + +Count = 4 +Key = caf0a26e46046071d5954ca7c66ffce6 +IV = 64309c19f7df8ba52391c9ae +CT = e4616b42a6aac90b26957a670c +AAD = 49c55c020d22f8f4a8fac7270d3ef7af +Tag = 32502b3b8e8603d32d2bd3f9364311 +FAIL + +Count = 5 +Key = aae22901b64473344c4aa141be03ae22 +IV = ae69a45e1b08eb1bdbadc26d +CT = 870a0dab2e4028a4f6edd61d24 +AAD = 2b79ee32aa277678a766d0f578722da7 +Tag = 05e60441a4c7b6f32ed97082e80a10 +FAIL + +Count = 6 +Key = 6f20e69f2bbafcbf444fc070ef486f86 +IV = dfb9f28ef6cfac1d2e375c14 +CT = 0c66d2cbf4e70a8fb59d5ab5f6 +AAD = bd27a9af3669cb1b9e46787919382175 +Tag = d7a46aaeae025ede81022edd2d81f1 +PT = e18d8b41b5503ed7cb7f3e3811 + +Count = 7 +Key = 364acf0061b764defe77f28b09eff436 +IV = 5de0d7a076f8485a1bb733f6 +CT = ba192a26a10933c44313d5bc92 +AAD = 6568fd83ecc0801b5c965739e4734cb2 +Tag = 5c1e22f3437e8369f3f7285f3a0f69 +FAIL + +Count = 8 +Key = c422a3fcf90e112f11d116b56c52c9b1 +IV = e40e4fbc99a2b22173b276f6 +CT = 0e219b3539d2549e7a207a6ae0 +AAD = 4cc7e949927ed7faf5ce9934bfdae5ca +Tag = e0b39cad82c1f62659097939bdcfa2 +PT = c902dfc19d42b8cb50d7bfc690 + +Count = 9 +Key = 11bd7307153548d6d0e186bf4bd7074b +IV = 2cbae6c32e7f10ff07107d18 +CT = 3166f80a26c2d0be92b27a2bed +AAD = 11ef2f643a994b6b21bebaa0cf04da4e +Tag = ea22c30df10350c46f918d8464aa3a +FAIL + +Count = 10 +Key = 79ceac50c5858230eaad92dfc459fd97 +IV = e5090c3a9e165af20630840b +CT = 4698b87436eb9fb734f46bfa32 +AAD = b890f62e30f420853b17d49744f5f742 +Tag = 79f8cea93c0a086659ac898105db15 +FAIL + +Count = 11 +Key = 2bbe2c0f09ca58dcb678f28c8b2b9c9d +IV = 5cf4078c4425f6a7145c86bc +CT = 1a45bd35782736140fa6602964 +AAD = a4717eef365f8af5e0cf77da19bd12e5 +Tag = 0790d9d0e07485c107f0d8fcde5258 +FAIL + +Count = 12 +Key = b8b20d8dd80d94533226a957a57b401c +IV = cef798026126b6b52022c521 +CT = a40d957c7687b7fe7f8fa0c32e +AAD = ead7d027451a18f7dc5a6a7034fd3506 +Tag = 11a813e27c525240adb14e7616335b +FAIL + +Count = 13 +Key = ddcd1748297a67b8daaf031521e1f65c +IV = 790c9b45b18ec1dec309fa87 +CT = a13a4d1753e7c3cb29c150d395 +AAD = 29b6fdb6418befe03b83f8461eef98c8 +Tag = 08fffbc39ad3749e1d71cf1c5d1a91 +PT = 89f07fef242a5ea9976d529254 + +Count = 14 +Key = f05b48a508e2876d7d50509c21e83a66 +IV = 8fae27adb492649ef05ae510 +CT = 4860ea10d2e5a120df2c8d6d69 +AAD = 4636bc727577dfb2086a79e8ea2a56c6 +Tag = d606469c4d7dc21f949440a097e500 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 0f221dc605ae6580a58086ec1ccb4875 +IV = 60840bf55c222c6d30ed1a9d +CT = d86f2afe1c64ad93b1fd344216 +AAD = 2c64aef34ead0dddfce013ee2b23a65c +Tag = 8e538ff768aec6ce0ae226e22b17 +PT = ae726730562dc67f4f64093f2f + +Count = 1 +Key = c85b67859814ede3da744be70f7f7e78 +IV = 42b2315b341bef057dbd3501 +CT = b057cb0a63c9b60bccf45c0f07 +AAD = 8ce695826c39675d843214f30941dcc1 +Tag = 49d4b9988299d535eff162c26fcb +PT = 3b9f13d799cb4702d0132d805e + +Count = 2 +Key = a176cd32e8baadd1dcf3ffe3289fca82 +IV = 9a540af1bb428826d73f81b8 +CT = d2ca123f220ac072f346f3ef7a +AAD = 1a46d41490fbc617ba79dea3e7937d58 +Tag = 97a75962b175a4d21f2555495e80 +PT = 0bb5461d5e7ad30dc7c58bfd1a + +Count = 3 +Key = 189060e0ec500dbaa388727fd39ec66f +IV = 5ec201f29c02772080161cc3 +CT = b06d6c2e70d606c1c794214682 +AAD = 89b9abd623c12e11d090a71d85589e3a +Tag = ec24b756f66c6efdcd1c64022127 +FAIL + +Count = 4 +Key = f134fb59d06d92d9814dadc6a4dad51c +IV = cdda0bc58bf597ddfb5f7192 +CT = 7bb304b1605fdc7d1fe5dafbf9 +AAD = bc5379b5660a0198d8c99bae60d146d6 +Tag = 972ffea069b697655bf69ea61a06 +PT = 47946b576720cb73d27433d38e + +Count = 5 +Key = 01720da05b1d1a2b315e075429e9de0e +IV = e6b55e3ea845c737f3d47813 +CT = 301b2ee6cc4052eb73fc30bb27 +AAD = 6a056d87035cb00d9b90500f0cc15ac2 +Tag = bbfb28181e6a640d7982ff7394b3 +PT = 78c7cec6d6c9f0ec3bc2cb902a + +Count = 6 +Key = 596e5c41497acd0af4c7bf2624825312 +IV = 8c07c82a84fe847beb47fa67 +CT = ea5d25c197ea129fb5fd1ae0ce +AAD = f90f8cbf0aff2f33e0497172ebc755c1 +Tag = 31fc505f8e1638967e68aa1daaa3 +PT = ad9d27fac8c1cd1dfb1154c1f0 + +Count = 7 +Key = 3d8d4300490cd3d3e84df61e6e11807f +IV = 3c254a461974d3d2e1b59a4b +CT = 816624971c28133dfdf2e67561 +AAD = 30e773a893815ee830fc5748efbfc8cf +Tag = 7ac31c88d691a126dfec7a919f67 +FAIL + +Count = 8 +Key = 4891333c6000c08c719453a8912606ac +IV = 1cc8e61ef8f43a91582b473c +CT = 09ebb625d3c1f3229b2ed38f45 +AAD = 600e7fa6214e38f6b58250bff507d609 +Tag = 5c4818d18cc109092ef82fd89679 +FAIL + +Count = 9 +Key = 38c839db98565d0118a0f3140a0c7dad +IV = 55cb3ab7c8ad5a18527cb0b0 +CT = 3598d8a12c0d58362a08170bef +AAD = 9957fa69d7fbf29fa9f46191bd78b68c +Tag = 8b0f63ec83ee62f0f3e3012526a7 +PT = 050a2a010d2cd0115ce8eb44a3 + +Count = 10 +Key = e833cc9758e6ac5c7e0ed4ae7022afc4 +IV = 32775fde6b77ab05541d6fa2 +CT = c1420988d7f1203677e13cb967 +AAD = 198cc073f1f8eee6079e03ecdd1cee8d +Tag = 047beccedbefc61d7339a1f325ce +FAIL + +Count = 11 +Key = b25d4f208d309e1d7115cc48e8570cad +IV = bec00b3247a6a3da60e4efba +CT = 26405753e63551120aee103908 +AAD = f0c936ceea9628dd0d5eaac52725ea45 +Tag = ee024d8e38cdf95e2a1a5ae74479 +FAIL + +Count = 12 +Key = 4bcd3d74606ebd2861b1eca785448be1 +IV = 6b3f94ce64341d500cb1c209 +CT = 5dd14c507d55c5267a77d0b498 +AAD = 19634bfadd5fa38647301df5d5c82bb5 +Tag = 2bdc8de014a0fcfa73f12f3afcf7 +PT = 8d5c3313d859f593098908e4ae + +Count = 13 +Key = 36a2d6c28b7e4e34642c146947a6f998 +IV = 88ff9f72813b4b84881a1116 +CT = ad952b936d57a1bec8f70297c1 +AAD = e2ac9e2d9d49c1f71f6d93157cb0028f +Tag = d02956250838777cdd0adcecb5f8 +FAIL + +Count = 14 +Key = 4dd1546d0c6b54db1e79556c74d9dd6c +IV = a5cb8b41b2acb77453191138 +CT = 8246d1281664730a7c0ac1873c +AAD = 2b11548d37e567317552b45ae556c93a +Tag = c454304f91242fa453d39e92e9dc +PT = bece7be659ecd86dfcff236a54 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 2cbb3419ab1869fe77eacb2641d06f93 +IV = 60af6639793f24300d3e1a20 +CT = 0179ac31628063feeae31d2bdf +AAD = e488fceb4710a88973c508c305bd5ca3 +Tag = 1ace3e7e4f52f0458622531f16 +PT = 7016ac746ef24738b1ae88cc7b + +Count = 1 +Key = c5adc7b89845e78a6aa5e8382f3ae7df +IV = a14860e487d01274ad3ff657 +CT = 208c7b60c77c985557a38ace92 +AAD = 498bb1388e329f27b0bbd710aedf0831 +Tag = dc4517aa4b508f37bc90dc998d +PT = 6ef6284b17ccb18f177853a21f + +Count = 2 +Key = 68625b5dc5410a34e029e568b26df417 +IV = dbca5c5686a1f54f51d7df1d +CT = 7fd93bf9a488c9dc89d8bb4fc5 +AAD = 37c7218c8ad1282eb10d02475d5ecf48 +Tag = e32c973122652c0e32fd21b770 +FAIL + +Count = 3 +Key = fa2d2d49330d5c75da8afd26e00b81b7 +IV = 7b7e52aa1f191b8602f65948 +CT = e6eb61368c35cb7d2821523224 +AAD = d99d424918367114586ee2ae5f6852e0 +Tag = 649d4aa9a8c2823122f7d6b264 +PT = 1c307c24cfbe2be233ea935576 + +Count = 4 +Key = 8ce0158c679adb53071da9e4c28ee656 +IV = 59b6f9ed5500082d44a3ec3c +CT = 97f3053620c4335f8a8a17a5d2 +AAD = a1f747b749ccccec3c33dbacdfec7d54 +Tag = 5531f97cc25abd4feef4d6e3d1 +PT = 00e0580600b2cc9e36428a2d25 + +Count = 5 +Key = 0991c6c1eda093b6b7511ba431228489 +IV = 696626deed9c6623d062a255 +CT = 6c575640f3b847e1be2a2d6db7 +AAD = b734c6edd356f57dcaea1118d5b1a7d5 +Tag = 9a425ef7e43173176607e62cca +FAIL + +Count = 6 +Key = 4b25fbf4a33cebb19f20af4ee891289a +IV = b5d0603d2c230c18eeaa2c76 +CT = 503a71c2880cb0c6a15a9ac8fb +AAD = 80b84fbee3f6152f0fd92cd061e33166 +Tag = 735197fd25b236004d4110dfca +FAIL + +Count = 7 +Key = 78874bd688f1bd788f981d2f7f02fea9 +IV = 1c8bbcac691b6a883b4e9893 +CT = 3770f2e007d623d92b8ffba51f +AAD = 6bcf0f1c4cad1e6afc8e292c7f7be76a +Tag = f765bcebf1cbb461d939cbbd6f +FAIL + +Count = 8 +Key = e20c3e25b7a90f9c3e7265078c6b8f29 +IV = 0d568e28f7b715a6a3efe496 +CT = 33474a2563c4f837fc30bbe14e +AAD = 3408cf267a1bf72f6f66f12da62e6860 +Tag = d3bed5e8dd7a6a9574b066101f +FAIL + +Count = 9 +Key = 84d2c9145c6ae0e2aebbdf83c7e49501 +IV = 1c40d359168b5a5e75024eb4 +CT = e1bf87803b5f6a3c71c8539e63 +AAD = fd10873cff4f1b87e452830867514e3d +Tag = 4a66d8e37f2c50898f4cbff59f +FAIL + +Count = 10 +Key = d598fa5205fdd084fc9143553b9fb3cd +IV = 5e6b20854569ff4f42285e90 +CT = 5402bda1ae804291a94dff450a +AAD = e37d1808db8d4a02ff4163ff256bf89e +Tag = b0cc606136c011c5131ed2a84b +PT = bfd11aa938bd191c8a49328600 + +Count = 11 +Key = 6a083d38bc819cdea35ba038c0afc345 +IV = a951a2e07373af07e6f4c42f +CT = fe69184e29e003002d61fb0d65 +AAD = 47ad6b6ee6638b5bf1affa1c8f16d0a2 +Tag = 6795788f2ca02916f9a53c81a8 +FAIL + +Count = 12 +Key = 37f8b59775b3058f05e97cb5ea435722 +IV = ff13623d282bc4959843f41c +CT = 01b2e343ab2d88cc8289484d16 +AAD = a511838158ecc987873b46c60a3190c2 +Tag = 128249380cdccec82875e6ff50 +FAIL + +Count = 13 +Key = 479b2ad4e57d8312c343d78d504d637e +IV = b9df2c24c02fe09ffd8d82fc +CT = f5070c23a23850305e7e5218f2 +AAD = 5fe3339fe57a903df00932b9d0b7b588 +Tag = 97979fe40da66b9194eab67767 +FAIL + +Count = 14 +Key = e7bb8329290a99a5a0a8fcf6184f921d +IV = 11a607d502b8775ac6e8d69e +CT = d1f760da5e31efd051b7d8076b +AAD = 890322eb757626e1a8c2ca041a827f03 +Tag = 8ccd576d1084a55ca531d0d28f +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 5de854554a9dd09594b9607d1a2765cf +IV = e04d5e5bc1e4929b6763c657 +CT = 727c5c319d13fd5a99515ccfe6 +AAD = 76cc5d9d940611aa0d6597fde8bbb05b +Tag = 530a8e2e6654e9da3e1448f9 +FAIL + +Count = 1 +Key = e83745f96885f511ac13aad79d0fd954 +IV = 96d9b5cead359592466ae4f2 +CT = 69d6da395779bf751ee399e18a +AAD = f9be8f91c893879b2ee6dbf8f1ba848b +Tag = df1c6d69a8755e32d3a76f05 +FAIL + +Count = 2 +Key = 68f786778bed2566b74d5ff9eca6d41e +IV = f6e7fee261d165f9035cbaf9 +CT = fc23fae9b61acfd3a38923105d +AAD = 010c3ecd0ea774a462ab72e4e87ffa16 +Tag = 9edbc002bfe23385c1af0feb +FAIL + +Count = 3 +Key = 1ec88e9faf1c031e05b49d7b8962d4dd +IV = 3095ed05ab2dcbcdfa4166ab +CT = fa127c77e471c5372343669feb +AAD = c0e3a79ee04121025ce3f90351306b6d +Tag = 51b205c94a870325c30a0429 +PT = 42316a676b8bcb5829215ea3cc + +Count = 4 +Key = bdf452a4be75d2583190412434ca347f +IV = 84871c2ce40dd6b2c647786b +CT = 258700ea52feb47246440cfad1 +AAD = 05e0ac0056874b433a60da008e364d76 +Tag = c643dc8321ed04a916541047 +FAIL + +Count = 5 +Key = eef88a6705746921d3dbaba4b401c6f2 +IV = efc3e7967be536ffc46df40f +CT = 41bd72287a3ce15c0024f4f988 +AAD = 8a515d1e86eca943c30d5ac23c31ada3 +Tag = 1ca09802cb3bc90c73a4f546 +PT = 018def3fa7755cec9eac9a9655 + +Count = 6 +Key = 063a9b71c9099731c30716b55331545f +IV = 104fa1d639a8f0f70542c906 +CT = 7e6670faf374f3a05df091e65a +AAD = 2f0620f329421f26d5f904812320e948 +Tag = 74133a6d1a277fe62219a4db +PT = d7b167ff9fbe5edcf5f12afb0d + +Count = 7 +Key = c7fa6cd8652eb4a85e8a6fcffbba2eec +IV = de184ff0c8ea0f988275e36e +CT = 434cbc2c599b69df4b4612d4f5 +AAD = 2bb6500c40f70486bb019e5408505802 +Tag = 794ee8f467003b0f568d0aa7 +FAIL + +Count = 8 +Key = 3b24d194078ee8b1b499634613cda3d3 +IV = 8790a84abd59e35fa1e45f6a +CT = 051767c4637eaf54c7bb26a54c +AAD = 22dd67e6f96e169ba1fedc410f807374 +Tag = 3aaff1eb3d339a5ce163cf94 +PT = 88d92a119194062aa6c54136bc + +Count = 9 +Key = c2a9edd4d119dbb123bdf7e08719ba25 +IV = 7883e3de44240513d32ee622 +CT = 37615dbee4038a9c48277cf435 +AAD = 945a622bcd5118948448f0a9a3c4c3d2 +Tag = 7874a384d356d9e405fb31e6 +PT = b686139784a1b9cf2d2c705369 + +Count = 10 +Key = 4c29434264fb2c2a1489536071972174 +IV = 1b93fb4816e2ce12c8fa1e5d +CT = 073f3c236e331d59e4843fb4a8 +AAD = 76ce2b433c592b27ac137a60bb8c1ecf +Tag = 6fd7102fac2a593f5591933d +FAIL + +Count = 11 +Key = 6ee2f4dac1ea0f524b0a1453a5972b34 +IV = dd57d84073cbc7fd25a95864 +CT = 629e3b923083e1304cb8451587 +AAD = 1f9e124e6a6213874ec65b4d72e3ab5e +Tag = b3ac166ca31c6e3c1d8802b5 +FAIL + +Count = 12 +Key = df2c5456f507ca2ec6014a45ab51d79e +IV = 46cf04337f6f0033003795bf +CT = 82fd0a52fd8ea7d8d246974a48 +AAD = fefb338e3c72488cd66c59d77a06b637 +Tag = 0dbcb2cf60cc12b0a248d411 +FAIL + +Count = 13 +Key = e2f732ce129b1eceab0e00e80dcff713 +IV = d9fe376cc2eaa84f11231afd +CT = 04949491563e410a271da41193 +AAD = 0dfe64db8d550534d113d190fda42931 +Tag = 300a5ad0da7168614f86c491 +PT = ab39cbefa0c0b830daee1a6420 + +Count = 14 +Key = dc9bfe85135650f92c268be40ee24ce9 +IV = b68f5c2d28cdaa0b5510c418 +CT = 7794ee757dd8630f5e1749d598 +AAD = a9ab2bbfeaaab2d6d5a532d1685def25 +Tag = 3c28e3f2fa7eecfd49f43391 +PT = 105eb355281bf6eb65ced06ba9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 5ac6b749cc73ebea439dbb640de57e74 +IV = 30d56c334754c1afbddd6f4d +CT = 1fd6f6fd70d43e518ed69dce7b +AAD = 16ca0b6492fc060b2f8896c697b76031 +Tag = cc83bf954286840d +FAIL + +Count = 1 +Key = bfa3ba60748e3e1f89aed79bc4cda9fb +IV = 9082f077e1e65c3895aeed24 +CT = 3fbc39d1b0f69f14f88647c066 +AAD = a097d99b0e5be7928315005d0388fa98 +Tag = f8f748e0e22be3aa +PT = 0a9b7c07c9927eff3957be6247 + +Count = 2 +Key = 807befeb972085747368f5a69981f051 +IV = 16d7b2ccc8b35f6e2e8b8fbe +CT = 6148997fce607a922c81b0870c +AAD = e257bbebc194a707012b139d443e21a9 +Tag = 68e0c2fb50b7c19f +PT = 3044a9d8ab6fa7eeeeedb6a481 + +Count = 3 +Key = c6e2e45e2a004d1fb74f5ce319489e14 +IV = 0b56b4daecaa5de743fcca77 +CT = c11948e87698e0b3d4cc981618 +AAD = bd972812f86c1761b84f0ad69bfb4652 +Tag = 7964f838a603c712 +FAIL + +Count = 4 +Key = 712d907a14c9814a248ca382a1bb34be +IV = fcea9e5f089768bfe7279819 +CT = 798e0503c00c40efe15dcb48fd +AAD = a12238690d7635972bfd0bf8a719b0d3 +Tag = b6ac4550d5086fa1 +PT = 550ea17bfdf9eb8609b5d7b6ab + +Count = 5 +Key = a78207c68609743cdbe264e7cf86e080 +IV = 6a290683c7cfbe2fb2846b91 +CT = 67822ee61b648e8118d092298f +AAD = a4f9b1995ce95eac81ab79c7b6a16500 +Tag = 4a14c17662f92686 +PT = c824d31c43acd6363072269ccc + +Count = 6 +Key = 4fa09e6f4f25eac9822f953ff634175c +IV = f8f86348b53d72c4a4d6669a +CT = 27e425296af01c8422c50cad9f +AAD = afc4de2503990b8de678e979a2ba478a +Tag = c3af38fbaacac2d7 +PT = e18a8467bd43ffa4ddae9a22a9 + +Count = 7 +Key = e01fe793ccdf6d1a530ce41cf5819157 +IV = 8e074ce54ab433d54b053f31 +CT = ab9fd8d12f94c4f9e90a065eb9 +AAD = 8577211e631d18facd8a128789aea798 +Tag = 916b8fa6753d4f0e +FAIL + +Count = 8 +Key = 4b2992f6ec849aefb378aed4052ead6b +IV = 96080852c73c9b31755ab4ea +CT = dc326f64545646d28596fa1c10 +AAD = bb2a9a821c9b047469f54ebd3fb8a81d +Tag = 4f4acb6c52aeccc8 +PT = b535adffaae265e986d8fa4cc2 + +Count = 9 +Key = 49b708ddad7d60a4cc318567bcd78a78 +IV = 7f20d4a929a9c138a763d53e +CT = e9ec29f6185fd2395e08904b8e +AAD = 9c0dc265f7449b434f9bb9f0eca33dff +Tag = efd7b638de5db18d +PT = b729139b7d9eea1d60595841e7 + +Count = 10 +Key = 0364e954d579730a2de738a453c4b89a +IV = 83f9301d2aeedc163ea80e17 +CT = e788f9db92370b7777b42794ea +AAD = d7f386add828395b194ebaabf99a825c +Tag = 48a6d0f0257259bf +PT = 925aa4f0ef1e817a21429f454d + +Count = 11 +Key = ab7bf1d0d4e933c6ad2725342ab6bafc +IV = af65c62084caacfcb46ac12e +CT = 7b5438794e9dd871be220da010 +AAD = f0abf9e8947e35539941220af83b0390 +Tag = 44c14b4bbef1bf2f +PT = cc544d8f1c527f025eed09f958 + +Count = 12 +Key = c2d3e4d35cb6279f1854b72d95ed2a5a +IV = 53335a17f13090c4866746ed +CT = ea49d85e1e7cd1e5a865b46420 +AAD = 1c819ca92f6386892e4311a0768aebe9 +Tag = 2095df331c2595cd +FAIL + +Count = 13 +Key = 5c29c52f917e283de54e49cfecc52822 +IV = 6bb51b704a39e8131e90585c +CT = 2e9dcad4471de0d5e812d248aa +AAD = 6de452a828643ff5fb0bfc33a6e05b9b +Tag = d44a31324d9329c8 +PT = f04e8860e6b86552cfa933c387 + +Count = 14 +Key = 40e4bd27f2445bc882408cdd82771ad9 +IV = 038b7019f451b1684a19d09a +CT = 28a51f100a177a9258ddc43d5e +AAD = f9558340bf407b25f891e20f908026e8 +Tag = 79744ce0a58b4ef1 +PT = 309c3568c8ce13262df25f1057 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = da0cc1dd2ab40abb10552efc3339e034 +IV = d14a8aa5188966fb525b9085 +CT = 709bb2f7521b677e3d65b80b70 +AAD = 91482d2c78046cc1a45fd31526e7c17d +Tag = c0b6552a +PT = 485dc01def6a14aff32ab87838 + +Count = 1 +Key = 534dbad93a7bed2ce834d6cdfe542351 +IV = b92e5d4f81451a67a7051339 +CT = 52a0122214257d44970dc20756 +AAD = 1c59140ed069045da118bfc777795d6f +Tag = c35f0fc2 +FAIL + +Count = 2 +Key = 3b37daefb65d9398dbd7da5573fb9b77 +IV = 23c1b76de2300d4e6ec9655a +CT = 658b30b98baec1a7020bf70213 +AAD = 840baec694eccd94b7835a3be1e1cc51 +Tag = d623d3a0 +PT = be2903e0eea9d98d7763964436 + +Count = 3 +Key = e0e0b6f5b8c7e7070928d015ae329020 +IV = c420aae213b44009feaba838 +CT = 1ba8cc98d39cc800c203317946 +AAD = 006549722ed9cf8b0c5210f3f8cfece8 +Tag = 874bf1a8 +PT = 840e7c82f3f219c70d59de71b3 + +Count = 4 +Key = 6cbe1e96d921d86f2a868f11f0121d3c +IV = 3eb0ad3648a15d4d49f85b51 +CT = 22ca4dc5ec12c4b67f0b3dc898 +AAD = d4b87dfa1dc49483376cd769a701665c +Tag = 2bf8e0ad +FAIL + +Count = 5 +Key = 70ca3363b7c51feb3ef7c037e010a556 +IV = a08da9483d188e8d3ff73208 +CT = 6f9432e39c0b8beed5e3ab1bc5 +AAD = 7546851d8bef6436be29b7977186221c +Tag = 7f9a7e9b +FAIL + +Count = 6 +Key = d2e7f4c1ff5d4b1ce0eaa2ba2ea58166 +IV = 92de3b31cf22140ee5724ed1 +CT = dc30e7335eab95c74e887aede5 +AAD = 6786ecb13adad9066d728c70c2046988 +Tag = 626ed09a +FAIL + +Count = 7 +Key = 29100ea80fc0a63131d05469ca1d3109 +IV = b9b20902a6d892a815316fe4 +CT = d9726fc52d7b3b339ad89c7d81 +AAD = 43d8166e562f01bcfa78410863aa34d0 +Tag = 2c0d0d20 +FAIL + +Count = 8 +Key = 7863bc3172fc2ba1cd888707c7edcf31 +IV = 3b321b3e2e529e4522ef1a40 +CT = 57e9a966fcdba7239d3d24cf5e +AAD = 3caa5c60071f6c944033c262dc113519 +Tag = 3e9cd63b +PT = 16f43596dd265f9a6a9b407977 + +Count = 9 +Key = a80562580078b106d0b5f301565cb77c +IV = 52c6c2a5487858594c7da996 +CT = 4950c3b2b5e0ee5cbb23acd85e +AAD = c6dc8c015d474adfa37f28335afbd970 +Tag = 37e8612c +PT = 22db882b49257dd896b715e2af + +Count = 10 +Key = 3d570011683c3c8ed7ba1a9e759aae40 +IV = 21105ea7e97391ff4a6fe7d5 +CT = 811d4b5a45e0f3dbced3f46fa6 +AAD = f50294aaad5f9c6d55802938c7b590a8 +Tag = ef3b5427 +FAIL + +Count = 11 +Key = 1a75755d112834c7ae8eae3ad77d8afa +IV = 9e7133c6ca9703672f7b6ea6 +CT = be941cb1a91b2a6cbb0450c950 +AAD = 26e31888e218124463b3d2bd740b7198 +Tag = 0daa2cec +PT = 4205e10bc323d5ea0997b62990 + +Count = 12 +Key = 246a08c6fb13a719c4ba17c4affc6703 +IV = 83f2ff786fcf62f478c41cf5 +CT = 2a909cda40e1536e86f08a042e +AAD = 8ce03bb68be513c95849b6fa9c9080f3 +Tag = 7de372b8 +FAIL + +Count = 13 +Key = c953774b22623a86ff4ce30d08f9cc57 +IV = d869b702302459b2372f99c1 +CT = 11d95efe1bda6ac89476d6ce03 +AAD = 8e37924615bf85d112f314430063d68f +Tag = 5495a098 +PT = 46ddff947614a5b79ea6977b3b + +Count = 14 +Key = 39c6c0fffd32d45c691683143a287939 +IV = 0d0b1aaddc5d49da757159d4 +CT = 771a9b54d21efbe683b987d32e +AAD = e9fd3a8a476ec1c8c5aa9e3e812bc4ac +Tag = 8162e059 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = c62dc36b9230e739179f3c58e7270ff9 +IV = 196a0572d8ff2fbd3522b6a5 +CT = 958062b331f05b3acaa1836fc2 +AAD = 4d10536cbdbd6f1d38b2bd10ab8c1c29ae68138e +Tag = dc65a20d9a9aec2e7699eaead47afb42 +PT = 6d8abcee45667e7a9443896cbf + +Count = 1 +Key = 0c966ae197bd94cdabcab5f9c4da02cb +IV = c5bcc7e7044169fa01519ab7 +CT = 49c9a9b0c3980e443cd5195a16 +AAD = 5feaf91a64887463a0b3299da6c87cf2874ebf0b +Tag = 9843f2181d3db30d1c7694c511a85440 +FAIL + +Count = 2 +Key = 913d0833618d0cac6cf1aa7879ff71df +IV = 64082c05f8f3661d0909c5b0 +CT = b4f1efce82f907c0fcc1ba0777 +AAD = 429e3b1b13f9772e9c77a1a4af3d42e8e0e4d86a +Tag = 452b7b777968c18128ade293fd7ca3cd +PT = 8c4c5d3af3ec87bdf8021bf01b + +Count = 3 +Key = 32c251cf7948c7da54a89c109cd10efc +IV = a12c50265a0f59f0d796185f +CT = 66f5786452f19af24a80ce87dc +AAD = 28d5ece6295b14a98f3d67fa3b7153791f4e34bf +Tag = cb176553e01e5991d5dcb6796c33336c +FAIL + +Count = 4 +Key = 977b05392cb87f18f8da6c6273846e84 +IV = 3d75233ecc9431a09605494f +CT = 67897c7de75d0a877545fac9ff +AAD = 803b6b7a7c15f5c9cc1de5166d68c53aef7697a9 +Tag = 3abd3c4653fccc758116beb653809a2e +FAIL + +Count = 5 +Key = 8bfca06dbb9be36fc52406628ce79afd +IV = faedb8fb599ecb05843c783c +CT = 755ceee1b887595011a848b3fe +AAD = 63bb624283314d67d9dfac0a01257f41dffdfebd +Tag = 8d22fcc810d50af86131d571aeab6c27 +FAIL + +Count = 6 +Key = ea55ab4c4a6e8dc4ecca42d4874cacc4 +IV = f5c77f9fb2c33639f35d8f0d +CT = a153dd682c7170a5757d3f0e5c +AAD = 37138bcc4cae4d9327ee8d7c533c2b3dcdd4232d +Tag = 0617b3f0b8f69365ac5c6eb8b3a0dbf6 +FAIL + +Count = 7 +Key = 9b0339dfc4843a419872a285254cdf86 +IV = 9173bb06344a171f7a045ca9 +CT = d1ee33e7dfa59bf1d684894a39 +AAD = b9626d0970d0a5902a3f7a5c7b43e875dcc50835 +Tag = fd7ccf008845d5ddf164e109ccb4e5be +FAIL + +Count = 8 +Key = b8ee3c155ccbb0f3887634fe96e2a1d5 +IV = d8b44efb1a3332501ee6afdd +CT = a5607fd03c0742fa7abae960ab +AAD = 151653716d50a72423ba17957b8ad24c7c4db5e6 +Tag = baeb1468e24c252684c14142b519be3f +PT = e390151ab9d399d534e0119767 + +Count = 9 +Key = 710218a79797b3cff3a20e9a60810475 +IV = f51da8e5a361aad6087af342 +CT = e55e14ff01fdd224fa809229ac +AAD = 455a908aec7d7ad9d644b5305d138b78258c2c8e +Tag = 7040bfcfa78be2bc0a624ba06cc562a2 +PT = de233903ba85973c9cdb15ad40 + +Count = 10 +Key = bf9a6f66977ab3a8d37b32e1f24111fe +IV = 5b9779c050a41b6f4053233d +CT = 27b30f458daccd4481408a3f5a +AAD = 9561c95310b0f882e0f7c2967d04ae9444e5794e +Tag = 9f5f1a41c4fa3e551330c5d91db4fa54 +FAIL + +Count = 11 +Key = abf42662668c5b8d5604a8fe6d73a2c3 +IV = d4d68ce645b95ea61addbd0e +CT = 29c718ab498e792ac1bb8c7c2f +AAD = 6362394c4e9acd3c9888d3c93f39a29dd02078db +Tag = 2b416d7723aee1935233c04ed2fea876 +FAIL + +Count = 12 +Key = b9eddaba6602cc32f33782b18e2aecd0 +IV = 86eef884baa60ed42b086eed +CT = e3a735e097fe667708996ff18f +AAD = b877b290962dd14bd1d622b975eed04113ed105b +Tag = 54395a31d93ea9625d644be8013d018b +FAIL + +Count = 13 +Key = 4598e0e4821db7dd6ed2ce09cdee6cdf +IV = 8e89130fbe0d9b66d5742aba +CT = 9edd822968b68f2173188ae6b7 +AAD = 04c1089bb4abb82ab55ea18eb2ad2fd5bca1a086 +Tag = 7c34c3941fbf51bd33e339b6390babc5 +FAIL + +Count = 14 +Key = 47e0fb871a560d92949d84f557ef2247 +IV = dc65e2cdbeb6601dfd684fee +CT = 6e2b2ed107490d306a2b5451f9 +AAD = 17a7966987c7ac3bb4e455e69f0e6035e7d0d3be +Tag = de38af58ff256e130d84edaaeb00d878 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 474ff8b4d3a62fb348c745d666a622fe +IV = 4aa6582a15136ca82a612c5c +CT = 6ee0f58cc1159b15ae1088b1d8 +AAD = b161e7744642a5dc0afbfd7f186a6349bd605850 +Tag = c874eea8f4ed3e8b91d8f4c65cb11a +PT = 8eb3cceb8051143cf031b9eacc + +Count = 1 +Key = bf302884b1942452a648280d2ee36251 +IV = ececc80b666e8898acb114de +CT = 63a7b9d243c308c016ddb77a57 +AAD = 379db94b63d3e9c2b6e94924ea195c19e16483c6 +Tag = c3b98dfab9a51421ca63209ba12401 +FAIL + +Count = 2 +Key = 6399b884eac0a02f5dd4792b0cf8d0cd +IV = 3ef6345ad244d188c282cd0e +CT = 0fa5098a489ac4e721139d41fe +AAD = bd7e098500ff058be2b711441a81e46d8e046807 +Tag = a5a89305d329e17d2bcde7f7a0e23e +PT = 04b05aef89ea8d7380b99f7250 + +Count = 3 +Key = 2293c404cf6f9103414df295a8720f7a +IV = 06ccc953fa79770395827f5a +CT = 5e1da15112a7e6d4caccfce2c9 +AAD = 7bc8526b3c2f400c4c836ff10ebf06afa5f4298c +Tag = ace671955c774c246e2cb50e38ed61 +FAIL + +Count = 4 +Key = 1242f45cd2ab17e9d36c48edc4cf1288 +IV = 3cb014e7594a097d9c6f93f4 +CT = 7ba5caa0348e0b169e40fce66a +AAD = 46d9d46543a167d56cef8142ca22de0e03d600f4 +Tag = a2ad52ce76b549fd638858454278c6 +FAIL + +Count = 5 +Key = b015f4b95c0aebce3fd22587c3a798a6 +IV = 6ed158b6cdeb80160aaaa712 +CT = 6b25175edfa6a58a779ebf57f5 +AAD = 9863242657d1dae586613f3894968501cfd3f0bb +Tag = b4caeb5be38c98ba4aa95533d28f0c +PT = 8a4df38c05ffd9e33b10a06668 + +Count = 6 +Key = 83bffc9b597403cab0adfaf21562d044 +IV = 2d2cd720c0d11ca7eb51bcfa +CT = 270d32b9e03e988de055f25d22 +AAD = 7b247a9e496bd5a7514b5bfe0073fc739f6acb82 +Tag = b8bf4ad505487db8eb18b0cfe03057 +FAIL + +Count = 7 +Key = 259f7ac485ce867e32efd76b7a29ca6b +IV = bab36be9c2c77d550a9b7050 +CT = 65d06423da83abab64d97efdd5 +AAD = eda0783a1f80b1638a15ee8182e6bac1033c4c66 +Tag = cc0cb89ca8f001f3c62b47cfb1f400 +FAIL + +Count = 8 +Key = 912fa63368e27416890eead8bb5d0ba7 +IV = e3c51ab6d8b538e8b77482c8 +CT = 2558beb074386e14518e9d446a +AAD = 433531365d431c613b4574ae422b93d0319789a8 +Tag = 16d25f7278b557124dafef3394b1b2 +PT = e54655f7c3148b378bd639a294 + +Count = 9 +Key = bfb9f3485948d7587ee96be6d32b38dc +IV = 55c196d9c018a29d168a2bc3 +CT = eb66c0ece0c914ad5ea352a094 +AAD = 3cbf31530cc2d022fe136bfd882b4395e1e6691b +Tag = f731794b99e132cf9b286a0fec933a +PT = 5a8cf8d078568d5edd86785017 + +Count = 10 +Key = 04f6b13e56fef9f5fce3b192fe879965 +IV = f3c869be920bc8b1b06b60f0 +CT = 088c68bb0a7a99311a77b0e150 +AAD = 5d577b74d1f7829605a69b5db93a5177caaba357 +Tag = 83d064c15b9065896cc67a5f235974 +PT = 2e12f4560b9442bfd2bfe6168a + +Count = 11 +Key = 30c86af5af6514512e2f59be92212906 +IV = 86ae174920cace3d7176bea0 +CT = b6e920019da782d7f60f66713e +AAD = cfadf2b1b9ea66e97e22e012f2b3a566d8472ac5 +Tag = 8e936f948ccc7f4ec9835bfa524f4e +PT = 25542b9c7ee484c91d0fa2f1b5 + +Count = 12 +Key = a319d410e504a9784e8d8d71ddbdfd3d +IV = 6fe77152e87f88a214a25855 +CT = 35d20b2b4b64c73733c2f8ff8a +AAD = 7782ad3596cb105cc5ab05ab40e4d4be18b66848 +Tag = d822e40c59fb908e5fead43a4b3064 +PT = 43274d77e8584f8bb96a995b50 + +Count = 13 +Key = aa63a9112ac7117b80d6a08755518821 +IV = d52dd25f61378d84b27e7180 +CT = 72420fe74244971a95573ce45f +AAD = e7513dc6c54ab0f860a822df004b5d2df97c6074 +Tag = 01e290a4c29877821868dc7d1ae630 +PT = 4dba4fc3fd832bca2b9a9f594c + +Count = 14 +Key = 8ee06b1fdce9d7cbbe1a55cbfcb0b3b1 +IV = e4af7630a9c4d26012559e75 +CT = ab2a05e0425f68097269cd0155 +AAD = 6fd63b9b6c7ace9c7268881d8da7935c89ab30da +Tag = 5c5a8e67697968ef4f57c6dcf4456f +PT = 0ce43f6e18962a42bd8a0f0a53 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 68ff83d70427ba1d24d5cce85688b68a +IV = 30b5128110fc181e690802c1 +CT = f4475a28b182582f7431664a1c +AAD = f324d1150bd3f853eca42ee54df4b901f35816c0 +Tag = 18edcc7ac44fcc984e66f7fe545b +FAIL + +Count = 1 +Key = 64718c6dbb03e3b9e06ede465380d34e +IV = fb4a4e85e19ac59850051318 +CT = 1a2884af842cd7a8972ad9bd7b +AAD = 50acb4c2a67862cf3b008a4d191057f58be6e3b9 +Tag = f70e03a36be3c856980d84482a8d +FAIL + +Count = 2 +Key = d7e85ecefe008ce27001cd957750c4b5 +IV = 593173dc280b088e70356552 +CT = 38c947ce0b1cb1128746cda8ee +AAD = 685f0ec13d0b772205d548790ff2f30b03096fbb +Tag = 112e35d06da8aff7be623ac73312 +FAIL + +Count = 3 +Key = 4c30ca484db5660208b5798294eb10b1 +IV = 6bac548056ae3ab66f735cac +CT = 35c674162b914aab61af22b2b5 +AAD = 67f8386caec1c26a286b997ebd44eb66968136e7 +Tag = af2d6df5e6d8c8ea7fb074f19043 +FAIL + +Count = 4 +Key = 293b029b26ec93e819aa1bad90c4aefd +IV = 087896b4e4df872a5cfd85f5 +CT = 3cbf7438c9ebeb6c287d2c4083 +AAD = c4682b92ad8439ca8d7d9792ca6efa97991bf55b +Tag = a0ef7801f93438cb195156082196 +PT = c2d251e47e64a19bf6e653fb19 + +Count = 5 +Key = a7ab1a44baeb45aefbd5ef1880a65e18 +IV = a4bafe473e61a75b71dd142e +CT = 964ca87fd12506d80001fefea1 +AAD = c0de4df95b141fe9f0354232eddf1e9fd6dda3d2 +Tag = 65f151db6c789e2c62a05a80a0cf +PT = ab21c764c39cff5e63c18ef382 + +Count = 6 +Key = f738d8f00024593abaa3e41e364839e9 +IV = af63380707b1cecd4413f8a6 +CT = 89a3ce5662cc696fa79534c12a +AAD = 855fa28219bcd0d89236494a7c75420eff2fc978 +Tag = e5386bc54d57dce4d8c70e6582b7 +FAIL + +Count = 7 +Key = 69a4c9ae261eb21fbbf25b4bda262844 +IV = 0f2366c35f628c700d666270 +CT = 0ea1cd00f868d36bfac29dc783 +AAD = 510a7bf3600452aecbcb012d6a8547cf2447c925 +Tag = bb154693ef881729549467ccd0a7 +PT = 64a57ea1004500b727b8f99d77 + +Count = 8 +Key = 0840cf75eb09675d6cbc6910adaab81f +IV = b97034e5f104e40fabe2b992 +CT = a2849ce73a9abd7f3032488d30 +AAD = 4248ca9b71ed1c63b711a9dfdc952c5c5907548d +Tag = 3f4d91318444ff2268ff42354c59 +PT = 8fafc543e477d94c8c2f4f93a3 + +Count = 9 +Key = f80f6cc075d240da40f54d44193b041b +IV = b8102eb07d78c82a61457376 +CT = 0f88fcdc19ee6e61e87424936d +AAD = 7d81e2de8fce765414d34344cc2f404638e5342e +Tag = 1623501cd41168cae37761fbdd09 +FAIL + +Count = 10 +Key = 818cab7bc14786ef2505279d7c1238ec +IV = cdbaa5402b17612c1bf6504e +CT = 1a9179246581806114ca5678d7 +AAD = 120d79b5a87e86f2c5aaf7829fa5ddb904e18993 +Tag = 51ee6938b0d7509f153f7d149273 +FAIL + +Count = 11 +Key = 61c4f9b793714c61215c351d0febb40c +IV = 93cfa6ba105f983204f440b7 +CT = 9097c61b9e6c02845ae48e382f +AAD = 654c283b5329c17b2afca41c892c442c181833e6 +Tag = c5bd348d32ea84291bfdc93a31ac +PT = 00b24e42f09821f2e93e52e0d3 + +Count = 12 +Key = 211673d34e4fa0a2d4ee66abdef3c934 +IV = f15b6a5c01eca6a5ce105627 +CT = 8f43ae64621d436fc232e6a455 +AAD = f805967b414b4f2e676778e7bd48099a6f7a514e +Tag = 659d8cb2afda0893e38497e7f4f1 +FAIL + +Count = 13 +Key = 4e5772732abcd7d6d0c2a9186f8cce97 +IV = 623a54db6001dd9ba9a582be +CT = 3284d3cf618a17a9d97bfcd9d3 +AAD = 35fb9646bff1dc3eee4bd3c630a8ac02e71767b6 +Tag = 053e304f6730218b15310270417d +PT = 15d2a61db965ee00efe740d1b7 + +Count = 14 +Key = a4a36d14f3c5d3a2b24716ac0dcb8d8d +IV = 39465aaf23eb0792eb68c32f +CT = fad4bce9cee0919fba76fbfae2 +AAD = 2643ca8af3f84872da2b4130b91d1d46e685bad3 +Tag = b1eb88c083c618b626f07a97e149 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 403f8d73af227159ba1cfd3595a572bb +IV = d6b9e52c8f359e93010eed81 +CT = 0051846c68d28739239e9023be +AAD = 008e16685dfa4db7f55477ec35345e4ca88e4739 +Tag = f73098097263f6696ac11d4d90 +FAIL + +Count = 1 +Key = 1807d15cad03358dcb0888cdf2caf68f +IV = e53318bcb43087475291b182 +CT = 3cad094bc8e4e10aecbb6eaf57 +AAD = 5b49d521cd2befbdc73961d8b27687f75d791080 +Tag = 8ae5a863d22e33f1f591beacfa +PT = ca6b414ee5c7333abc470d994a + +Count = 2 +Key = 749e8a1464dbe0582cd1a48894ba1025 +IV = 91e993143fbf13f1a9b32595 +CT = 0eaa8a8430384fe4d5d39f66ed +AAD = b97ed50828816685202965f338e951f1098d72c5 +Tag = 65720a702b0f1d9da9fa1d482b +PT = a852a0f8bd08ba1b914fee1fad + +Count = 3 +Key = 2592d453571eba115cd78af074eca86b +IV = 4ce3a2c2d1ede8c26ea74078 +CT = 1fd599b7bcdb438d11fbea66f2 +AAD = d6ec7678ff625c0930897f6d17c05afc1b36d8b6 +Tag = 78398820a5480d30ccaaf2126c +PT = 0aba0484d0c96763568a8ce87c + +Count = 4 +Key = 8606ed775924f91d756d8efb38ce581a +IV = 02d9887bbf2f3c2b48ae88e2 +CT = 0b69bc794ceb2d38c700a0a99f +AAD = 2924a29d1152d1d6f17e4df5348d124b252735ae +Tag = b9f6c90b5c112286c7298d96e8 +FAIL + +Count = 5 +Key = 8f91ed1697c7aaf9af49f7e157f43d51 +IV = 9696f09e5a6d43480c5e43bf +CT = adad3e2e179f01c5672ac9da89 +AAD = 384825dcc50fadbbb71826c1ad887cd7432e40ce +Tag = 3a8ebe48f12fed5fc00b28ad1c +FAIL + +Count = 6 +Key = 2ed47e429662373c8511c1e8ec074128 +IV = b4df2316d054af89a9feeb9f +CT = 3cee35050df8b58a85241da23d +AAD = febc15a0bbaca5f4fde9b2bf8b0cb505903027ca +Tag = f7feab8200fe9cebe34fa12450 +FAIL + +Count = 7 +Key = 852da35fa964cce9cdd6179df0ec2409 +IV = 805a320bb23998f3c14ec8c7 +CT = 21550487ec6675caeb57abc97b +AAD = 9f0f562b734d1683ba440cdaf3cc0531142f3d5e +Tag = bcbea902167a8e1f6b7c399222 +PT = 08d735ae7518ad62f7f22856f6 + +Count = 8 +Key = ee23135f0ffa643eadcd6c2586c82bcc +IV = a2f6ba4e105c03b0839c219c +CT = b32426f14d025d0e98e7ac4ee5 +AAD = 9beaf783f8b8e748d9005ce5d1c8ceb3c6516ff9 +Tag = f3ee26edc7ba7fd5461d6c77db +FAIL + +Count = 9 +Key = c1e44e2815212f458d26e9805e5ddf63 +IV = 8e7f7e57b3a4bd2d35a8745a +CT = 3a94a53c77ed33e72b0dac1b9d +AAD = ea7df367c34929531488cd89af1e54a303204793 +Tag = 45c72311d680ecf097569387c5 +PT = 3b9c4c6cdd4c4941f3921541a1 + +Count = 10 +Key = e6f0e4d21d64f63d27e68cc9293a8e9e +IV = cc84ff2b0eabc44cfe07fde4 +CT = ac753235aca3f8bd42179e546b +AAD = 531cc7011e7829235d696daedd3095c5fefd6c5e +Tag = ddd66dc0ceb0447eabeae80921 +FAIL + +Count = 11 +Key = a72c1bdd734275ded213b9f134b67ed6 +IV = fa9739dab0b4b4392121a577 +CT = 57ec5af71e8305efae21c0e1cd +AAD = aeff01b1f92ea303bc9c8943b51b8b8d04dc5bcd +Tag = ce8218fc57ecdc8ef805cc0c48 +PT = 22c5644771c4067e8c989825c1 + +Count = 12 +Key = 4831ae5e0e7908dcb0488c33552ea3c4 +IV = b5ffe6d3c10d7bb6c4aa0f41 +CT = bb6084fceb867684ab2e4b955f +AAD = 8436780bf716827cc6a5bb922540ca7a7385664c +Tag = 2a4aad702758f26dfc4da74f87 +PT = 370a909f5f9e60603296df7f2e + +Count = 13 +Key = ea241fc7f8da7f13d7c1e9245bcb3ca2 +IV = 2d273a0a2a610fda14012cb3 +CT = 81308aeb46cb2a790dcec98541 +AAD = c3b90d91b6354f8ad0caff8a47825ac2f3eaca78 +Tag = 5af4d9d6d269f8c20af2128263 +PT = 096ab6d5133185e6b76be5e66b + +Count = 14 +Key = 2168b93f77c960d61e2507c475d92847 +IV = fe738b8910ae4bc4af11c9bc +CT = e7b76ddd85c88f69285acc4904 +AAD = 03109e7cee6f030a390a16ce00cb9777990c11fc +Tag = 0d6dac2628c071ba94df46aa59 +PT = f21d66d3118c2d7ba3c049fabc + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 24f2c5e30206fc18440f4c763015861b +IV = 2de32b164668a1a254fe3a35 +CT = 1c67af1c93edf78036d6b2f190 +AAD = af7e030ccce4c58592b4ad503aab5ade4a9f0b38 +Tag = 6f6dbbe457e30d2542e565ae +PT = 5b2da6a6b20e180bf8a220b4f3 + +Count = 1 +Key = 316a1b62e35552d35dae3850ad285d0d +IV = 77219bff561afb38a17d0c2f +CT = e28964d2a5be28add3b2cf647f +AAD = 78abbacf1bfbfc92aaf718a85e303509610c7c82 +Tag = e8a8a85ae47ddb43ab404aa7 +PT = 056b0d55ebad9f063879f92822 + +Count = 2 +Key = 04fd8ddd28ac5d38ebcefe4c2094ed63 +IV = d0fb190c08fddbe3b06a3704 +CT = 5818e256dd22c6487550e53cd3 +AAD = 2922aaaa0ebb6f3f56d95e5be5408463328a534d +Tag = 921c009b9491e79f207e1435 +PT = 12452cbb7300295c2c9b4f45f9 + +Count = 3 +Key = 26abb46b2ba80acff11dcdff4d2fa6a9 +IV = 1db9dfb632083bde3aa243ff +CT = 3d4fa35ceecc1843bdf3e86867 +AAD = 6ae94d0517632d68bc5a548b3b66184953d41e9c +Tag = 1b8e54d224c07f23f736361d +PT = 28cc2c21da7d94c37cee37b91e + +Count = 4 +Key = c00550fd65f286a215a62d580633df5c +IV = 68a83d147bee6f431e587835 +CT = 2499238ccb8b8ef55584e10e6e +AAD = 30841338fd07128c6e7f3d5489d3149035215011 +Tag = 90469ac49e309716388c66e1 +FAIL + +Count = 5 +Key = acedaececf8f4408c72bedcfb873e265 +IV = 837627c60c1b01b0095c19c0 +CT = 619b0cf40d81b1a02dc4ec3247 +AAD = 234d1612b77b863650e9f0520d47d74ab83f152b +Tag = 15677cd3fd2817783cc3d0b1 +PT = f6b4a41c1f4697d6b130497006 + +Count = 6 +Key = 1e9e35b64d83e357f8649e217dea6ef7 +IV = 02004056c29f6f546f7ee8fe +CT = bc75853ddfda6f2ff615ee28b4 +AAD = fcf831efc6e4558c6c9ab4bf45271b7fa4d58ed6 +Tag = 99d1198e902da755327514c2 +PT = 32d420f3dd16eea09291a18e19 + +Count = 7 +Key = 75b16651e8b88999fe203fa2616e5b77 +IV = 09039b5b1985178a061a741b +CT = 08cc626b1ab567f53e2df8ac60 +AAD = 14b3b4881ad8ede58490cf3bcc32f23b16e980f9 +Tag = 135c7b58eb5215a676ca1f2f +PT = 2e4229fd9965c170e616d03543 + +Count = 8 +Key = 9a09049ca13f18a5a75ec018e7ab7a78 +IV = b5065bdb4aab9a991e7eee6a +CT = f295a222f10672140a54e2c952 +AAD = 483c0b541c182f6a66d4eae5553723144f3d5faf +Tag = b5213c5cdc0208b96c3205cb +FAIL + +Count = 9 +Key = 292fc9c73f86c62011c0b5c7e07e77a1 +IV = 4680a1222159f6b7024edca0 +CT = c76aba68377343e279b7a27358 +AAD = dc1cd9852eab42806a8a8fd375b45ee5386eac41 +Tag = 6c4354d21b4e0c2abd60164f +PT = fbb145946dbb3c96f77987436c + +Count = 10 +Key = 3a300e343ef28fe3493fa770c5b65a87 +IV = 18bcad565245d41748c09adc +CT = eff84df9fd683c02359d8f96fa +AAD = 7c153ed1433eb1a3191fe37eaf3603b8fefdbb6d +Tag = 0661a48841ee1f5ba73975cf +PT = 903a3e9d185df477f1bde02f2a + +Count = 11 +Key = 5523753789fe8df0c40749f96ed9cb3f +IV = def71bde858be6ea66f4cc9c +CT = ffb9586b71a96357c2c5fbc274 +AAD = cfada48061a4fcd1fd5dde777ac0087df5757020 +Tag = 8c9e07d3158d02830d867e22 +PT = 23c1c8ebf67d4974c3aedf4096 + +Count = 12 +Key = 397be654209b691c73a9768e138cb650 +IV = b7346fb80ee7c02e1afddb15 +CT = 02c9419a9f8151203157cdb38b +AAD = c11d9c77290cf667ebc141717cc4973e324dba76 +Tag = ba09fe3d8da32dd8bd3bc9cd +FAIL + +Count = 13 +Key = abc7b57fca2e24679139963333963dfd +IV = 9138c889e489b18831dbcaec +CT = 88476a6409dd8d1d1a183b746a +AAD = 0c9dc3d09a9140e60693bf02f24523fd99bcd48d +Tag = 5435781bc4bbd1d3b6861f3f +FAIL + +Count = 14 +Key = 4629b85929f8f855947312a823c88537 +IV = e94600c907a19457fa799382 +CT = 702e5583f7efb61cd01947c822 +AAD = 72fe5a97f915b5cc7f5704a4136d4d51d1d50e95 +Tag = 7136d065aae83f175f4e81f9 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = a6d75a8831dd86ea7dffdef10cd27c69 +IV = 3ba8841d69f1e45ec46f04bb +CT = bac41eb27cf13be5083ecd65fe +AAD = d6629f055cec27fc9f0dee7388374aa343cdf156 +Tag = 2c160e1712e056ce +PT = 0da0963fb5539f8676e41c63f4 + +Count = 1 +Key = e4e74f2ec06a042b444823c15a1f976b +IV = d3f0c335d36ae0b34c834f57 +CT = 0279800495e3a746e3ccc54a3f +AAD = 33d209ff7a85d30c192cfff7d881c5522c31ce18 +Tag = 52b4c0b10bf006de +FAIL + +Count = 2 +Key = 443e3232b3e77811b97d2e0f97141144 +IV = c9ccfd7e3a176acd13b5e190 +CT = ad7a7f06ac47a8119ced077323 +AAD = 8d874f9bd4fae6df8236fcd09e431083c423c3f8 +Tag = aa3a40d675d82fc3 +PT = b12cd7d0a95359c6ce71a6d407 + +Count = 3 +Key = adcc68f5dc9be3fef715820f678af2ce +IV = 0cc5e0ba29eb95964a96732d +CT = 76ae103d6d7f5fdb38b3d55ff7 +AAD = 81df5175ac013906001a2cef171b2c6de859065e +Tag = 7ce8aa623568a623 +PT = 46d58c016c2c7d6cef8f7c6d05 + +Count = 4 +Key = 00c20921f5a18c56852e375bf3a7256d +IV = 28af00d7b20ec891dcd7e450 +CT = 93af159decf0ee503d690d64bf +AAD = 89b05c1f4743b7008ee247f7205a07b4e2937798 +Tag = 0c7200a0cb1d1f5a +FAIL + +Count = 5 +Key = 03f756aeb728f0b07c0e1e5618ee46b5 +IV = 3ec8d52fa724db0fd5dc0505 +CT = cc5bbcec3436a760805865afb0 +AAD = 2c2e7e99cffee072b8c0ef1f768adf59754bdef8 +Tag = ffc9b59d01f2ad50 +PT = ac72702fde110fc42919d8b359 + +Count = 6 +Key = f380b6a98d9fcb3c7224fff010cc3932 +IV = 64bca2b6868a4a930df991b6 +CT = 72198c48acafa4019d17ca508d +AAD = f746ec8cbac8179738bf2e59364431bee5a9e9c2 +Tag = bb6258c8ec9a3bb6 +FAIL + +Count = 7 +Key = e68f01656ddf5c18d6c9f27a7c544a22 +IV = b1117a41d506fc1dc5ef7254 +CT = b67899aa5e07705d2933288363 +AAD = 808bba95a4b838b7e64ec4c413cfc630ff8ce178 +Tag = 149eb40f520daf4d +PT = f6a8679030819b3c4fbc374dc5 + +Count = 8 +Key = 4a14872b083b24a2a6f0d804de1a39ca +IV = dd6239a3935b3e3be6bff4af +CT = 3efd9ae4570c6a621b1857841f +AAD = b6810de1fefc69a53708d23ca151ac250fecba21 +Tag = b09565c76e676d64 +FAIL + +Count = 9 +Key = dfc258b395bfb79081feee4572786630 +IV = 0931efb9b81e09454e6e4201 +CT = fb519e2963f842ad366ee1f229 +AAD = 6aa9892ea789e7367feee5abde7fd4387c55596e +Tag = aad612e5e57a7684 +FAIL + +Count = 10 +Key = bd44270d6bf2eabe4041018f048c899f +IV = 2c3a8ed7579e1d7272f2919f +CT = a996c1a9ae537c2a4c95bf4fef +AAD = 7556ee515b8eead991edb29beb65fb6a97cd953f +Tag = a5ad21e28f485035 +PT = f50b6e7e17034a77b1b47a9eff + +Count = 11 +Key = 4ecbfbba3c078b4529abbe01e2922083 +IV = 9ca79f7900ac9af9b73d7c94 +CT = c7ea85248bd1894370a7a1f624 +AAD = 35dbb99ea8f5d080a1be26fc464901eecb878711 +Tag = 5756fb23eab539c9 +FAIL + +Count = 12 +Key = b9c672c74431d57a5e0f31823990ec6d +IV = db6f0a441a78aea428f91626 +CT = 5b0ae8bf9f0244ca4af4e03d03 +AAD = fd1e6014f2a9b5114a1c4cc7a9a0489982f4e5bd +Tag = 9bda5936452fe371 +PT = 26867697ad9e2927d80c04b5a0 + +Count = 13 +Key = cb70095087c4231d072a2ffb31cbd2ca +IV = cff83bdfdebba342b3499748 +CT = bd6a3731ba4b77451cc2e5d2ce +AAD = 635ba2769d1b19f6e635ef4aeecc8aa0dc0bbf19 +Tag = 826bc300f3c5d606 +PT = 6982cbb0b1d8063ba6f3926d88 + +Count = 14 +Key = 5a23203b17ceb544a864b320f66cdd84 +IV = 750258e5b84126230e8b5797 +CT = 477f093362845df9ac43c82f3c +AAD = 162126820ae660b939b27a092be2d836354285e7 +Tag = 8cb039805aae2135 +PT = b38e40867cb603ac695efdb5f5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = a98f171ab5891cc85a2d3c2ff88ee4d0 +IV = 6d91a2c8615fa8455e9730ca +CT = df578d20f02fe2cf5552057175 +AAD = c65fc1b865d1ae70e3c93f675039f9a74fdef4af +Tag = 64d7874c +FAIL + +Count = 1 +Key = 725de8828313b1ac1e7135cf874b44aa +IV = cdfc9a8110f8725712e93ecd +CT = ee89600bcf138b329984419df6 +AAD = 63673cc6cfbc5cd97de6cb0eadb975cce2f054a5 +Tag = ad5919bf +PT = 111a80ebf4bde5ac0a3a2eeb70 + +Count = 2 +Key = a1bf9d95ae4c38198d45c7fdc8cbcbdb +IV = 904965847091872e96da8c9d +CT = fd4a4a16b569593dec98ff9f9b +AAD = e28a805b4fe9607cfeadfd05a74afd0469618162 +Tag = e7a4fb6f +PT = 0f0d0a2a04caa6d9df700749ea + +Count = 3 +Key = 0183e6d84383834ec1196e121727dc42 +IV = c94e5c202e2f1e06ac6584ea +CT = 9bb5fbe5838454f3cec1a7ab4a +AAD = fe001e3748c8ead1b0e5e06a372e145a8c3efa8d +Tag = dac806f7 +PT = 65b53559520bae89cc8d16c59a + +Count = 4 +Key = 7ba4136aa041e0bef8c446f84c8db8a4 +IV = 82018c4fba2120c52c698a90 +CT = ef595028235b5880ac0713a709 +AAD = ce11ba09538135ee19470f82a38b81c04b849134 +Tag = a04382ff +FAIL + +Count = 5 +Key = d96889e20745122001935a42d67a4451 +IV = 6a47a56ea56a8330fc134c71 +CT = 3b1597a47a8f2cc1ff482b5d3c +AAD = 996616ff6086922d958d0b0e222c34e56bd2c440 +Tag = 1d1db095 +PT = 827bf2049e3320ee40d7d353fd + +Count = 6 +Key = f85a69bc2c8ddb6a751871205b3630c6 +IV = 4dfefae9dcc7aa5b2d357d21 +CT = f90612d585439f2b60b3ade5e0 +AAD = 87bf40349a51921c479a8c6a20b5ef9a090a971b +Tag = f25d2a5a +FAIL + +Count = 7 +Key = d1c080c9eb0e548570a86387b6f23743 +IV = 7b0277d00f5b6ffd8345ebc9 +CT = 7cc7e6b5043ab42c8c9310da05 +AAD = 51c36efdb42d6589f356d7c7c639d803b4412892 +Tag = 2487147b +FAIL + +Count = 8 +Key = 68d2f09c349a59fce556bc9312aaec64 +IV = 633443ef9dd97568ee3bed6c +CT = 2c4199e7055d52371bd2cf1f8f +AAD = 713fe06e8444bf350828ad44fa5e9e868976f961 +Tag = fd13cf10 +FAIL + +Count = 9 +Key = 19e74d0ef4804f9a6a11538fa3a7d03e +IV = 7101cc5d2df62e9a1a1970fe +CT = adadd7a0a88fe0702fe11b4513 +AAD = 758f9c589c2094bd185796486a540342c5b1d08a +Tag = 2adbecee +FAIL + +Count = 10 +Key = dc415aa704372198d249a0a4e69e7623 +IV = e1757b9f637fec24d76da92d +CT = 90fae626a6b46c7da792f935cd +AAD = b44362460977b2d235f4944af2fee8246c458383 +Tag = 0a21b985 +PT = df9ca7313688a4fca1cf1c3b89 + +Count = 11 +Key = 160297dc793f7bbadbd74b8e5df5a4f9 +IV = 1f01ab69fa99f16766eb74f2 +CT = 185b63bd6e7dcb3a1498c4bc8d +AAD = 405dfb96afda94944850aa320cc5cfb2e9573414 +Tag = 5aa2e525 +PT = 35e7016b2a0ca2a23ece9cd655 + +Count = 12 +Key = fb368a4868ce0002088b4b2c50f9cf97 +IV = 628d1d002eba142041752776 +CT = ec72fad2f820557d13605d9719 +AAD = 9e21ddc505277e7424f1956538a8c1a4a91cec9a +Tag = 31be8eab +FAIL + +Count = 13 +Key = 34c888b7d7be1acbf3494aa916cd4071 +IV = 52eb1a87f390ae7900288f8a +CT = f2d767399cdaa7f75917941d32 +AAD = c6b706de4a7152dfbad0f97c25824ea40c109a26 +Tag = 400b42bb +FAIL + +Count = 14 +Key = 0bc324c2b3611f6a29233aca9c53ba46 +IV = 170af7422ce90dd3845c7457 +CT = 4fb58d35c9f6744cad4b8b85c0 +AAD = b0caee904be0169dfc6505193c0dde7f1cb7ddf7 +Tag = 074c78c5 +PT = a677cec48b7f2d828a2fa50e6e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = ef1da9dd794219ebf8f717d5a98ab0af +IV = 3f3983dc63986e33d1b6bffc +CT = 95ea05701481e915c72446c876 +AAD = 5abd0c1c52b687e9a1673b69137895e5025c2bd18cbeacdb9472e918fe1587da558c492cc708d270fd10572eea83d2de +Tag = 5c866992662005ca8886810e278c8ab4 +PT = 5511872905436c7de38e9501e7 + +Count = 1 +Key = 2e3968148b973cb79f275676367cd799 +IV = b055618bdaf94170080346ae +CT = 0117a142931082ff569aa58ea1 +AAD = 72c50abc8c10b7a83b755ac26b7a86afb37d2310e832a8982c70ea8950f8c1a0c0b01fee79644753f87a553868dcc719 +Tag = db9143f6cdb3aa57c2aab1bab89e6c26 +FAIL + +Count = 2 +Key = 7dabba053c8c682b65c8ac9059d20793 +IV = 109c8ff05626ed7329a7d68f +CT = 158b708fdbf206999c6d5dba50 +AAD = 041c26f5c77092c475ae6fd6f9c8c3c8c42d40f8bffa4c28c2f40146c1dfaed0313f109b0d918f7d72fb87fd20d7fe96 +Tag = 0b4680a9f3b9f745bb87c3620ecdd956 +FAIL + +Count = 3 +Key = e03c73bfd5dd3aadba727bb3f99e6237 +IV = 150fbaae76a2da0b84e42959 +CT = b6b4ab1cea7044abf6f6f7dbfc +AAD = 80d1ce195cf77fc3143a37b8546d2d415241d17ffc1d35fa0613f407f7c7cf4f9fe219fd32eb2a95442f5417bf0f7277 +Tag = 03ac1333e300e1845c12f150568ed37f +FAIL + +Count = 4 +Key = 01534e2afc3d9ccc30b826ba91bb8f4f +IV = 6caaaf9daa38e571537ad189 +CT = 1ad10d1f8aaf7c540755b26bf8 +AAD = 1dd85b293539f175f51d1eea58ec78b813b16933d3ebe883cae4340bdaa52a93504c43185bb12a82a93309f04b3fea2c +Tag = d92c12bcfd2dfb213537c796a37eb631 +FAIL + +Count = 5 +Key = 1cf382d72ce0cde089348ec997d7cb4e +IV = a6db73904471cb27d6ea87bc +CT = 69bcb6c8e85d70cfb6b9138a19 +AAD = 98fd3d310e72bbf08837b1f498de66a55f2cba0c6083f335751e59547151802e3e7dc41e1149362c2a938e10bab13a0f +Tag = 770c7c19ef48baa7f2c7a8528558465e +FAIL + +Count = 6 +Key = 2eb413374f602f6598ed463a102fb1f3 +IV = c115adfba0d9edc7d6ca92a8 +CT = f1d5ff51c84b884351038a6722 +AAD = db3206a7eaed7c7b1f17ba5c18fbec7e92ab259a237473f7a7242d1825fd49f167d7f838c1eb65e99b5eafa9c8c11d2a +Tag = d3a3f5e0659898b30e27720ed3e63e56 +FAIL + +Count = 7 +Key = 284b0739877c18921007c888b283f9f7 +IV = 6ae3a281a95760fee1c2a07c +CT = 5d76f5fa13c2f6d638145a029b +AAD = 771307fe6809cd1f5380e5e19299c5dd86d36a6f664e2226b1a42666374e154957035a538b311d73eaebcfe504cba2d8 +Tag = 6327aa1b885337285bc1f6367136b028 +PT = 8e460f57a808d4ef7d3e2cc4fe + +Count = 8 +Key = 698634972384bf4338da7a7a78b1dc45 +IV = e3776042ce8f196d87512ed0 +CT = 75379c28898c4a25c7f8b46b69 +AAD = 75ed47a6454f5a46cf06519dd5cab36f5c98845df604abe02eefa96f803bc9e43fb1d163453138f54b815de0ac77247c +Tag = d63164ca86592eb82c95df8bdac250bf +FAIL + +Count = 9 +Key = 0da45731532c21aa9be95c6b97fd88fa +IV = fcc4a45c9f30b75ce84b1963 +CT = 00846b8e389b4d51b8be03a9ab +AAD = cceb765bf43d0059c046334e001b2008083383e8a766def6e00a047d5ba34af9f459b626fe229e91ce44f2d4922053ae +Tag = e5de395dd1a944c82b1293e2f0a07610 +PT = 648a178a884cb9dcace3797bc7 + +Count = 10 +Key = 4b1e637ddd889ec3de9687e1d00efbf1 +IV = eeb95865db33cc0576e8c007 +CT = 12f4cff0564fbd78a30f6e5b94 +AAD = 36066a37b9fe24218dc09b7cb3fdbaa2d516106f4f87e1a207b4c9b70242f18dd755dc5e82d1684edf2f06d1fd167f3c +Tag = d53a1c8cb52a80367a6847e3733de17e +PT = c5694b0bce9ba2918cf689ff4b + +Count = 11 +Key = 15987b4622213f19f48e7f49a8c96cef +IV = 7d757f1143d4e158729ba484 +CT = a9c2336451553ead58c3324ccf +AAD = 1b65f7f64e6cfc6d3b6d133e33b8d1a8c4e1aa37e513c2d8a4f1d682fcd8acb512738e90186e6026c248bea612ea7589 +Tag = 507c941649fb802a230ef2e61e2f8c75 +PT = 24fd6844aca0ab5070ce41b4b5 + +Count = 12 +Key = e44bdfe6ebe04374145b7e5b20e080fd +IV = 87ab6a85d5bb3789fb70f8e0 +CT = 1ab5e65019f20c1e5548c4e6c3 +AAD = 619385644ec99fcb51fb5491ff6ab69538d7e4932bf07e20d8fc7bd4881c1391f45eff2372e175f1fd872c7149fc858c +Tag = f6565275180ca7ae363d82890f3aa59a +FAIL + +Count = 13 +Key = 863550a2fb509e6418e342a4bddeb219 +IV = dbfb5238ed3d1c1a2af4653e +CT = 2c91779a07504c069a790c7d35 +AAD = ddbb12ba633a780487e71216549f29ad7d52cb59aff1bcb8889abd894b3edfa4e75d661ce793286238e30d434d80ff18 +Tag = a88559f82c6eebada6dc45153ac944e5 +PT = 4ed8fb109e9dd47b4895ab8c85 + +Count = 14 +Key = 40100fbf5c359c60c7a01c95b4ad9d63 +IV = 0559e0d7372f935fc01b1d1a +CT = 8c1bbbe67d0fc9355d3d1d498f +AAD = e46fa70761a4480eda444c81263fd62ca12a720b2f40d17e572f2f387a07fc6473d82ab607d558cf08429557011a949b +Tag = 4a44b7d7eafaefe4407a9ae992de3d57 +PT = a0dabff03e4ad138e0e3eabc53 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 817575a20565b9af451c17c9d88a5637 +IV = c39784091ab31a5017e26335 +CT = f7bac5e202a7e5e354242b2df2 +AAD = dd47a883992b546d527d718cc72a04fb88b3023189008922c79e46cb704bc69158bc3ef507ea08e06c1df4c2b9a0ac31 +Tag = 88b7ed93f7d64e6a45d1739e9d9961 +FAIL + +Count = 1 +Key = 847c21a58d7e1ae7cba2a3e23773fbdb +IV = 5b55efb59ef7ff1d2f35de29 +CT = edf228b1cc665f15dbb4209413 +AAD = 36652bec52dc9c1f9795148c4ed19c50afde53b26053e1e3ef3fe7cb7fc864a8b83ae617cf5bc0eb6eb18f1aea47efd9 +Tag = e547695864378bf2d6672c5cf4ffcb +FAIL + +Count = 2 +Key = 7ee755ee02706b88e2a9b9dae53266d8 +IV = b8acb1ae54809f26cc8a8e14 +CT = a968ac41745b9c2cb3e19d2ad3 +AAD = f6853a829505b1bd18acec8c13f4550d4eb292ef3a82957cf1a81ab3cc59c705c8e5a03a13cd7fb19d20b0055969c0b0 +Tag = 399c5505832b4e92f379dc7c680284 +PT = 45e20314de2e34af2702a56125 + +Count = 3 +Key = f84f6542968986d8209d4d3bd5f32e97 +IV = 334fa56b3c92fd5ff46cf205 +CT = 5ab410fc261b5bf4754775623a +AAD = 0e8522af1aef4c01ab397fbdb427b07b2d85ac832a9736d85a9d779f3d8e2c65ce2db25fdfe66ec68203ea038706e34e +Tag = 385fd61f258a91a4e2d73cc3ed948e +FAIL + +Count = 4 +Key = f8b59f45bff72698b59dc79c5f480e44 +IV = 1d75376c087f88b24abb65c1 +CT = aa6ff6e11d58c13ac374e6b032 +AAD = 9449014edca99419646ea33370b1ef2b11027eff4c6eeab536823c71ccaf268f900120ea47c47c93c1f5e5fb2c7b82b1 +Tag = a9957b593a4f67a4433c3b6fa159fb +FAIL + +Count = 5 +Key = d2e6b872c9cab2ac2eb9781cef5fd505 +IV = 93cd22aeac3e0ca07d4ee476 +CT = 68bced52d218abc963fc1dfaf0 +AAD = 59b74cc52f10506526afc464823f725dbb7594e166958f20ad7796c555606c7bad917ff02541c33254f0466e2c6b92e0 +Tag = bbbb7049a1e81d21802cee6a4eb29d +FAIL + +Count = 6 +Key = c46ea9cf619f148e1e7e354ceaaee69b +IV = dae2b577c872b9f7ddd0438e +CT = 62ca72d81879e75c8552c6adf8 +AAD = ef27bc8ad49cbbc2179ad8f7ab041b61f02ff45d2213149bbe3ed32cd5a53221318ccc53a8fbe97ee0ac37e11d957c0a +Tag = 026e739e1022f562158e0c827f64e7 +PT = 94c042a1c6d54af3750da554f8 + +Count = 7 +Key = 37ee7a08a36061d7c97fb9b481d46aaf +IV = 9a7466675a914600b6390a30 +CT = 8fb6d2832c3421905607f13c71 +AAD = 77ecb62e92adef3a4b3c13857cfc06c8fd5ad7f7156bdeaa0b67b2f7a7d84bdb16ae1ba747779f91eb324852333d0fca +Tag = 3330ad905d95f70b552a12c8402b98 +FAIL + +Count = 8 +Key = d92ecbf0a4bee524c8db9feaa1b194a2 +IV = 4188e5b4476030b2f14f5ffd +CT = 8acc8ea3398edd0f8953ae5e05 +AAD = 6cc151c81b2d39b1ffe3c5949fc7575886528a84f32aa72d3d46d4522ccb7116394becc4d063b877d120ad202f48e83c +Tag = 997e359ef6ad501f79d598ab6df507 +PT = 1b1da6901753f741a9411091a1 + +Count = 9 +Key = 2805573966179b1cf82235eced216608 +IV = a34f4d29d4d9e3eebbfe52b9 +CT = ea269dc96bb6f4cfb2f7970faf +AAD = 1f4747aab5ba73d7df583e41351ec77184e8be4540f9d4813b17f1d9ed829eb1f1ac99d0dfa4a5ee0ee5ec0a6d2eeac1 +Tag = 85dfee56d4274ed2200f4c4520ea80 +FAIL + +Count = 10 +Key = 06c556e3358b40f2ba4e2fc09c21f0d6 +IV = 75cd99cd9d878c5a72ecd668 +CT = c77e950b1ec9076cbb8bdba150 +AAD = a400c446dcee4c8237ada0473093e7a60e8bbeeec65abc860b241bd63dafac995888cfefda6a8b1924efbd2d1553a076 +Tag = e2156b8403f8bc6125e833321af089 +PT = fb8dc76b9055d8a65759099547 + +Count = 11 +Key = 2c7ae538529361fcf1ab7977da1ebacb +IV = e1d77f09f1c8415c410805ee +CT = 359cf04f1f29103e5829d1e421 +AAD = fd9b8ce224febb4017c3da3d5d04b341afeb6a7c2cd70121d26336f9985076be43acba236aaf65cbc12af1f13033f46e +Tag = 2c6b05371cfe4a65dd1d020d45969b +FAIL + +Count = 12 +Key = 854ae66cb40c1a8496c4543461dc50a9 +IV = cfec6560b6beb1ef5b8353c1 +CT = eaf82afc155ce22489b2d33f4c +AAD = 887ba19c7594093f66f5bb26fcf9e94ed5876d182f154ebddc0e049ad6315b71a147d976b52ae08335d20100c13c372d +Tag = 89d895383430e84f40565c8e54e4a7 +PT = c080b1dd8ff2e1f9a186306684 + +Count = 13 +Key = d4879242cba553b2527a0a4744f47cff +IV = e00f8eaf1acbf3ca3704a7d6 +CT = 1476df79559996df2ce2bd46bf +AAD = 3f504c1b95e52aa0efacb18be64121d2997346923436f870345ad930eedf5f0b6a7c4a351b2673fdb519218bd99fdaa5 +Tag = 268e81a35091033a01a34808c98b27 +FAIL + +Count = 14 +Key = ceada4e43bb8cd49c13ad602551d39cd +IV = 6fb5f0f372b6635bf6ffdbd4 +CT = 055d4d08d6bc8c4b047aa33e41 +AAD = 34a0eaceff93db5335aa67043c830507ad93c7e03786d286499856e2c5a9b5eb8fa21bbc611a598300e604cc4118422c +Tag = 908c7ffe6b427d076d5ccc76818d62 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 939a456c6696bf476a9e88a1ef8f229a +IV = eadf1fdf216633589f702e4e +CT = ed687dc29b447c6f517731f310 +AAD = 56a17ae2f2b5c81213fc2b74482f2ca886eedaeac8643fe1bc8b710ca28e463bac9ab92eb1cf3f1c86312120ff288d91 +Tag = 6bfbd5ee24dcc2361416b7830d38 +PT = 079bc3bbf251080912df6065cd + +Count = 1 +Key = df10fa13817b4c1133071082ab18b0cb +IV = 6ff2d4b77cd9ca7967ed3b8d +CT = 09208b9116c1d106f7cd5c8b86 +AAD = fdff43d690e286fc5a26c2bb1d5f07ed659f634c0d94983261dc7087d136e72b32f6095a2671af7b2b0fabca8d2fc0d8 +Tag = a847f7e700da336db9a64dfdf9d4 +FAIL + +Count = 2 +Key = caca63a82e937cb83764bb6a65089d26 +IV = 02edfe8719570dcc58d2e4f8 +CT = ca4081cf0f2a785e7328fae4c2 +AAD = dee1ca6f42f35520ad22749dce41a47830d148579413e484ec744e54bc03b3fdccff2e412c1c8b58f818c360710e72e6 +Tag = 810195b8136672dc5f4ff88b07b2 +FAIL + +Count = 3 +Key = 1150da3d20cda429245960f620f31883 +IV = e9619e47e2273c9792d463db +CT = 2c2596f05ac0234a9cc1c210d2 +AAD = 90e856e37f466e253522efe35551247feacebb862882656c10f27b41db19b45d0b10fcbafdff4d09a40575d28ec5831d +Tag = c9a2c80ca3b63ecc13eb6b67fd31 +PT = cdfa8eff585fe368dca0b2f7f3 + +Count = 4 +Key = a9d497adf99f70ce8fcdca4603e1bb2b +IV = e6ff5d563215dcc48a8749ac +CT = 4d5a7d2b9f22d843d7035472c4 +AAD = 63492a144f083415d641573cdddaface762309b75f2e7ff5cb19f869ee27632278a7bcc7c894088fcd6889108d56830a +Tag = 5ed5328fa58ef56efcb57b281cc7 +FAIL + +Count = 5 +Key = 6da35cc1bc6cf63a1c82971324344f60 +IV = 21e4647f0a5af76c1f22887c +CT = 6bbc45e2f91d507688ce25e215 +AAD = 94735b2a51c109e854a3fcc4fbad0f9ee04827ab862cd6f7c167a4524786637ec993e9005ebec4cecdb0d958fb24f5b5 +Tag = cecde50a1b5e2c8069614865e4d3 +FAIL + +Count = 6 +Key = 9e4e41564c95ce7e506dbd62090765f9 +IV = bd1078506440da7291f25549 +CT = c64c9f8ace911423f2a857478d +AAD = d2eca81f5ce5c8336ad0b2db520fa16be1d74c1a296498b1dbea906963c5a614c02d2900c693faba6f056968df5d2d43 +Tag = 9d92ed7421b3a729a42659193b44 +FAIL + +Count = 7 +Key = e9abca524401cee5035e9f30fee2d5e0 +IV = 20749c06838107bb81ed109a +CT = e3c589220180f27080b4d493d8 +AAD = ef830db428103800992ba376b9085dbfb079b577f3c8c0c7cf6e9bd949eca9a6b79e998a8a7d0fe6dfa2123b98dab044 +Tag = 0f71dbdab3e6d6943fcf6591b4a3 +PT = 5508c82e19f334b1881e555808 + +Count = 8 +Key = d8a313d2b3c602b021f2458286a4fbd2 +IV = a3eac882df2822eb380771da +CT = 3b3a9db1f685ddf7b5e24f6d06 +AAD = 8cb64ce1a87491a0f9d564be954393e87edb61ad591907c7a1541711738aa3035c5a2475654f7151016a50f04f49b661 +Tag = 8697b766718099cafed0e03e84fe +PT = 4e8d6c5dd67d9008efa84decee + +Count = 9 +Key = 41aa137f911ae1b5135e03c3cfe593cf +IV = 357e6ebe9bdaeeb7c8d4a3fd +CT = 42e64a22662bcb05d5c71d0f40 +AAD = af1c965bfc90f548a2043767a653f76934b1d515ae01e21627dc05f1d5839c073646246789aaf9b7c4050e6db7323d21 +Tag = a08666690438c2990c6f88fe1bc8 +PT = 233b36318a172d1087792b5b9e + +Count = 10 +Key = cc8e6f587b798888c6bc74e4905a3cca +IV = 94b71b632164332f5d344327 +CT = 4617cf1d308676b9b61f0aaba0 +AAD = 99ff6d6abbe22c75908e236edae267b4d6c63a05bce1fd737e1e8ff6b0055f3122a8bc8284fa7b48d758081aaeccdb51 +Tag = 7116bd446bf1f9d49c6ca7332ed0 +PT = a1f05fa7e875499c280da775f3 + +Count = 11 +Key = 0a35660405f1207468735e660041cc1f +IV = f3b9fefb89fbed8f51780ef2 +CT = cbe1b381ec7dc272ef7ce39a17 +AAD = 0d3aab7a1e4d24b0841c56dfa0dae0fc3a0dedc068eebf257119b73bd9c44b8984b5a4273a8e9cd8dc7006f8394cfc02 +Tag = ae051a619a20b4f9f261f178e64d +PT = e3f5b9c72554d48edf3f39cdfc + +Count = 12 +Key = 29aacd178037b3600a1f17d927ffac3f +IV = 9a2b2c505d174a0cda608459 +CT = 0cfbb5ce25dd963b07f55f900e +AAD = dca975896acd78cab8a3d661e8e3673a06cd3e354a85f27bc97439a4c75d7c8da0b13d041375b951868b4b031ad147f5 +Tag = 544521706dfbfdd757290b78c7f7 +FAIL + +Count = 13 +Key = 5edc0534aed94120252a819df81d5262 +IV = d70babf9ea0f73f432c3d044 +CT = edc82938ec2e0fb8e4b80c49a5 +AAD = 36b2f8b004aeb502a17ff3085869ad811b8c3182dbaff533fb0f88f2dbdac8700f23c24c374ac2d2370ce4916d2a23f0 +Tag = 172f53f3d3fe08750bf86853d824 +PT = 26fe9b18319d0e3de02d321dfc + +Count = 14 +Key = 6360b30daab8fb4fffe5f24cfdc99efa +IV = 91f583c02d948e33462af2aa +CT = 01f9e219975e57dd693f56a48d +AAD = e8fe4455527d0ce365443d158655f6a30b55d968a9c3e7b864bd6090f59d679f5419414ccdaa8ca15f1a64c13a7f6afb +Tag = 0ecbc97b0c2c23c29b1d4ffd9bc7 +PT = 94d7ab9cf3a2a23b9930826a21 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = cba6317d7ac7357629d86799fcc4b07a +IV = ffe3a238cf129e9f0287768a +CT = 0f6d51f0afbe435ea45589d857 +AAD = 1fe7426a29ef6c835c85a9cdd63290a8294be4bbffce8b20aff576664f63fa16513c0610e5ba9284d4b6642ba77531b8 +Tag = 554c068292428bf9c8a259c8b1 +PT = 1a0337f9f860ac0b10e0009ff8 + +Count = 1 +Key = 1f3c8491d3fc70dfa034739efd6224f8 +IV = cfc904f286be9d4e2b7dc48c +CT = 8f0c7ba04304f0a0644feab8bd +AAD = 376905a967e5c3c9c384bf3dee9a80a7f5287f62c6d1a30898200e8ff25b8bb27e97e216cf2e060edf04437a61081227 +Tag = 0b14403bc6e051a249ee65de23 +PT = b3b9500d950fc6458674986ac5 + +Count = 2 +Key = 095c2b5d35420f12386a337d15a474cb +IV = d93e68e3d23c93c4d69adef4 +CT = 9211193848963c9861ce609121 +AAD = 235b196c359ba00782bd82a4fa3107463fadfff5370d9d6976552b30d3a70160f399c30a750538f630023e2f8ef8502a +Tag = 7310e31bb9673155ccd45be634 +PT = 483fb05ff273d378a29a0d9c40 + +Count = 3 +Key = 6b6dab069429e656bbb6d0a507688bed +IV = 56f1660e1d2af0025640a1c5 +CT = 15f992b09fa7977a9f51801689 +AAD = e6b4974c6501ebbe30965d57464918ea4f060a62df65d84e6cbdbb389898629823a693774e5c9101873ab14ce8308a67 +Tag = 7050d0135c76e7c73515aa582d +FAIL + +Count = 4 +Key = 3a201a39eff6153f94d38db7e289e828 +IV = af285adfe8dbaae3d6432bfc +CT = 5becf45f1dff7a529a414b2a42 +AAD = 0691f2bff7ace01b61a502bff5afb641b48a706a4326ab58fc29569affad898ffbb16b8b35b5a8da40201f968b915b74 +Tag = bfd485f08a57508efb12ad482c +PT = 7323c6e4909a90bef491a2af9a + +Count = 5 +Key = a684f1e6248dbce2238c04ff3a07e034 +IV = 8f38f632600a0fea5d2224d7 +CT = f9c84e8d73fecab6d231faa84d +AAD = ad1514d792384823100e0415df3638595a8ce6ccb97638c9b137851062c7a3afdba55182fb9ab9a602018a3e70a036e2 +Tag = 575bd9a0d3e597195420399c27 +FAIL + +Count = 6 +Key = cc3f3c994ea691d3c110fdf5f2681989 +IV = 913f9ce6b834c3c145a11ad6 +CT = b774911e407f36d1d810fde3c0 +AAD = bc55a969966c4c99158ddb5bec2377c9fac1b798dad19932c9aed91cfd07261faca52ea06cf4bb2abc26635ae69a4218 +Tag = dc949b71c7bfb274464a4ef73b +PT = 4b139321d2aeccb2baa5646f92 + +Count = 7 +Key = d0c5eced293ae66df445fb058f76bb8d +IV = 399da3244fe06c684016a524 +CT = 29391344b8a2fb4fde6ee4e49c +AAD = e82e4aba1b178a23519bc41b586e7bfcefe412feb57521e693f7bafc3486a64e16e1d4781c306b0c85166eb117d28254 +Tag = 2fff364f037246eb428f3b0e32 +FAIL + +Count = 8 +Key = d419de11fb5c97b60e9254ce63110585 +IV = 50fe62692cce08ee4c5c362f +CT = 71f8814ea683842485fcdbe33b +AAD = d6d299ba741e8cce47a7ebf0061b3c3e9398835dba3e0a1751c7f166b06c9926ef67b5dcfec6ca17b960cf1292a0b0b6 +Tag = cbd5797bb29f7f74345b9715d2 +FAIL + +Count = 9 +Key = 654c28048f9719d575766798935a454f +IV = f96961848e530b8e6a81a72c +CT = a37c763dbc559f0752f30df3e3 +AAD = 22357b29833798807516d0c0ff78160233e810a2d47280a42e6297886156d7ff28170e622271edafc3cd3bd812973dd1 +Tag = 66ae3294eeae15de90570b0da7 +FAIL + +Count = 10 +Key = a251dfea2e8dee049c22c52d1d578912 +IV = 150e3743d4d03e9cfe445f4a +CT = c9bbc8f00525555ed0342d75c2 +AAD = 7d0c4489e5aa9e3b82b5c95cd4d330c972cc8e335441e6172515b4cabc932ae1f38b6f03fa1a627009b6fd155202108c +Tag = d787101528a7354eb432e9b560 +FAIL + +Count = 11 +Key = 6b75c9adaef07bd96fac563e0f70fd4e +IV = 8c2d080c05be98b4ed97bdef +CT = 0ec9deeeddeff29db56a4b0d47 +AAD = 88a6c90d3036a190c64d25cfce188c170b4c78e40238de836261f11da04b0b1aec7366daacd678e5a402872d85d6f89f +Tag = fe6705e388bcfe377de3755ca8 +FAIL + +Count = 12 +Key = 4175f21e2671570d89bc870084a9e47b +IV = 3fab8b89d75879b0f814c6d5 +CT = 0a6230fc9083e94dad4d254577 +AAD = eed8bbe08b4ab17ee2612f96f0d4ae32343cb3833378525873ace8b9f2e020826b8785ae7b0e4d1fb63622bf25478d6a +Tag = 66642d8fb6158dbe0efb70bf8e +PT = 3d1e7c2aa8d2fdd31e36b8f555 + +Count = 13 +Key = 7d3bb4867436aac5e0025d8d006dc56a +IV = e690b3ea43fb82832a07cbdb +CT = a04e6fd00f6caaf0e859786222 +AAD = 0353d7b6133581f4e2e3af4e29f5f49acaa92103b58421f91e19c16159e9ce3d7ea76eaa9d5065927e132ba20008cb2f +Tag = 1678c416d1e8506d85030adf5e +FAIL + +Count = 14 +Key = 6c4d7611f3f2c2b60aaf668abec6cfd4 +IV = 71a6020c88ce20e03507dbef +CT = 1feff44d6223e5fb7590f14091 +AAD = f8e40ea8971a277ccef6cb6ba87009b361a5ea129ad72aa5bf8c38460339c85786bd15fa585bee6e24b4fd4c54a1480a +Tag = 820c0b6ae02a4ca273f9be7e09 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = c8f65f4de34430e09636c69f8e89eb52 +IV = 7634c2e130275f68391cce39 +CT = 2fe774ad2e1958462a63df0218 +AAD = 01d38c2da4a8e05f9ffd619e043a1b7951fd4bd55e9aa0cc7afb3b748017a20a701f24add4a3008be2b07371f5ac6f12 +Tag = 36aa3f53c221a6460090d7b9 +PT = c72c7ed757a5d88c72360a5910 + +Count = 1 +Key = 68031de93de504b2396b9b404d9488ef +IV = 63e4a97c20b1ccce5a413155 +CT = 0991a285939844f8257cf5fa6a +AAD = 773b24095199ff2f987ce5b04f646bba71ef1bfc6041f60dac2a5abbe7d757bc5090d9a809a1bfe94945ade54273ee1a +Tag = b0d1c7811f2a761c314fc522 +FAIL + +Count = 2 +Key = 937e28e31b622d270b152e11e9337bb4 +IV = 934ee62a6f121648b6fd9052 +CT = be837f519f82ae27ab09aa388c +AAD = e9bca8bf2ef37acfa1c445d853ba3096dd7ee25ab2427005bbdc2421469be19be172c53f32a30938d47715c2c4c58224 +Tag = ee6fc6fc1fed02b47d009c71 +FAIL + +Count = 3 +Key = 24f525ab4beac87a25fb6a7025c52173 +IV = fae56eba4800ab77207061b7 +CT = be1bfc24dbcf99fa0d7697cee7 +AAD = 2d27f2287e7a81476d167b8db2af0c05c349679fc09bd604cb4dca666e69a3fa36632453fbb90abf9929ffe544e7be68 +Tag = c85b345e4e818813808f1fec +FAIL + +Count = 4 +Key = 38022b57749ecdd609721eee90d3f2fe +IV = e7a2a86ab9a4376b151a78cf +CT = 3efe9f5c1a2ba666941248f94e +AAD = 176213a155c4485b17125ef1c713b5826d75a4c2b0694d41334cbcac57b48e4a59e1faa27c2d0377b384de1515ac976a +Tag = a78ce911549c94bd023756d8 +PT = 440a387c98069f267a68c77733 + +Count = 5 +Key = 1060ddf42a959cb6f42d7f204c74ff45 +IV = 68baff423f607734a1dab64f +CT = ba0f8e1916673c87e2e7f90ef6 +AAD = e4fdb5ba185f016cb91ce8e004cb88cc4263774041864fde62980ad1ffbd1ab22a88b5551930e11036cfc18aa16f56c6 +Tag = d39a3a47d9d3f0b658bca474 +PT = 7df3c6959ebc3425ab7c1f2f14 + +Count = 6 +Key = e62d4056b56f83cc7a8d83e74b82793d +IV = 2f3f24f09145d16768dbce99 +CT = 7650863887025d3221130e67a2 +AAD = 162ca4a58a664b20e4088c3db5ded89d8bbaed2f49a2f7cb4016f1e54ab51af7f20bab2193eb85b82ab440e806f8e2db +Tag = fd9ff30a492aae1b484d2e24 +PT = 7e9ebbc71b222ebd3b19811fd8 + +Count = 7 +Key = f786068601e28517bb64b3d816baf0e1 +IV = fd63a0aa6f348b819f41d419 +CT = 544bd6ec2fc54c78f74780d451 +AAD = 5c89d4207320dc4150131ebd3df4e07f38891fbcc94aeedfa71bff24da3bb26f80b235c0e3fedf4832dec33d3ab243d4 +Tag = 2efefb4b26603f3d356547f6 +FAIL + +Count = 8 +Key = 0ceec1f8346d2a025798b48168b51984 +IV = 443275409507ba89502d823b +CT = f75b753e9c44e5bf10cb04c3c4 +AAD = 7979f37f8a10c2a8be9f9f709765194c5cb1ede256280eb9a5b8fe834ba8d5efbec8991a5cec1d0439f1d3a76fcc9f44 +Tag = a94a3b546540b8c92daffb64 +FAIL + +Count = 9 +Key = 50cd7a9a73eb7ea0bc0ba5b1c0fbcd20 +IV = cf2e3b30343435faaf616dfb +CT = a6de2cc7f9878cbe3f5530dea9 +AAD = 8681594eeb0f9cc18374f6dbc944f214976f347b90f23f1abf9572fc9335591b2a8658c4694cb6b5386f9f4fea124b0f +Tag = 158ea1a5ad25710f35b7106c +PT = c79a8322e3e72c1cc654e93712 + +Count = 10 +Key = 065b7510845283a7f986fa3a521bf534 +IV = a1f2042d7e7958fca5c83690 +CT = 73935dc3292b7a66f9c2167012 +AAD = bd90ff3ddb50ceec63a3507c06e4b4ba37f11b7de8e963d292c8403a4ff64ce5402b0dcd6673ca1b604e4674c376dd8b +Tag = 1c90332c4441b510570366d1 +FAIL + +Count = 11 +Key = a235d17f46acce3dcf03d4d423c95c32 +IV = 1b7df5fefa2eeed3bbe94e12 +CT = 1540ffdf7f3db12431b334367d +AAD = 853c2518f42dc018dec952cd4a0e3ea5e1e8880f273c3cb0ee05389190a73844f979cc5a7e952c61b1efbd9e6b66759d +Tag = 3d5425fd81a4aa716e8aac4f +FAIL + +Count = 12 +Key = 08e3733082295965cbeb540d08cddc9c +IV = 0e94ff14980883ba0fea70c1 +CT = f0ff5ab92b713f6ccd41e2dfd0 +AAD = b22781c4bab88988c25b0768151f74b2aa8b723aa0f09261f5afccf181d2e4c9d6a8d66fd344a4b6181df3eebd1cb01c +Tag = 43ef6c5b4187c65198dc0c70 +PT = ebc0388d0eca3320114396161a + +Count = 13 +Key = 6cb54405637cec668407d5725dc4339b +IV = e7a45edb1691728dd16ecad8 +CT = 851dd0fef1e9d18b6f847af243 +AAD = c88e6667eba2b2b645943f4193578264d2e72b9898b9a4936a7c290b2628c095d07cdf23c1723e06e6bffad3b70d73d0 +Tag = a87bbc29a15f185f01347676 +PT = 959ee0ad00d972256e6e5bede7 + +Count = 14 +Key = 4c7496e649a844e33131099cd1e35f70 +IV = aa50ce73568f24715eeeda67 +CT = 573984ac3b597cb2360b312e2a +AAD = efdebc0e679b71e7296d8051ee8e90152ae5af1d4533f41ea0a0e4224ee4f5102560ecde063f1102bcc2f02ce7791591 +Tag = 96d18674960b022c53bfe1f1 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = b0b8db029fb3da51b09349be12bc628b +IV = cd78b9be6a65bb5562df721c +CT = 7399f9d65da0bddb70432d654f +AAD = 48355ced1901918be28d659f1de1f6a498ab5094e4eb2843d232a9b880d8bd5539f9549b0279f2f8e6589f4bb398ee69 +Tag = f90b930fc63484c7 +PT = 0114ddd430ea968b3eca3fe778 + +Count = 1 +Key = 7b36abbc83af4b140f2da4cbee551ece +IV = b0fc9db444d7bfaeb2f469bc +CT = c724bd7e6f7106e5af5db2af20 +AAD = 60569cb733bc6c16e58bb98ff3468a82b383274efab946e58afe1c8a5f8e399d081a962a4a5f6f2682052577e6ea60a1 +Tag = 878db5442930cd55 +PT = 4cecb3f20c1e2cfbb19eadffd5 + +Count = 2 +Key = 6638222bce4c7281cd294c7df91915db +IV = dd1385058d46dec5287dc3bf +CT = d796d00c5d020fed5bfdded538 +AAD = 0a30a0379d914ef09009e685e0665bda208e1d2e75489ee0c806fd638579db3806273790ce4149fe914c083797677c2e +Tag = 1f2cabc79209df97 +FAIL + +Count = 3 +Key = 00423fb0fcb21a8083dac9cbf4edd938 +IV = b1f804b70ee6f1c7c9303633 +CT = bd609d9ad3d1f60e560b1e63b7 +AAD = b792b516aa04bea5b0adfa9a52ae39206c1803d8cfb66b748087d194222e01aa8e438c8ce2b922eb4eca61976e719b78 +Tag = 03f41c18b24237ad +FAIL + +Count = 4 +Key = 700754b73c085c5f2a904339673b833d +IV = 512018f2d71b17b761d35e61 +CT = 42d087709a0586beff5c6c39a6 +AAD = bc2e1ed725171f4eb90a3eef7efb2ae1c8d61447364fa05041048731abaf72cf8b71a0eee973f9d6b03f4fdd692fda41 +Tag = 64ed2e1eb678a9d0 +PT = 63a3981e7dcfd621c83cd3d06d + +Count = 5 +Key = d9eea6771d0f9e05dbf59f4c8660d2a9 +IV = 6a879c741f2427f21e9355fc +CT = 2c97d5c91d953ce24e7a909ca6 +AAD = 98ab862aee25da5415ad7450c19dbaf1779da0af03af215d286a2bb12e8f88515742f539a9ee47da0ded46c32ac163ba +Tag = e451d45df1425410 +PT = 5682e49520898ef8a45713f45a + +Count = 6 +Key = 8e7df5760dffb01e45620322bbcea598 +IV = 066f9f450f39ceeea5caba3a +CT = dbd24e5be4f714db7e40312e1e +AAD = 94d4042d06a5531602c6696192124a68361fe948b2eec650533de9303db65d9ef62c8e2a1b7a9f65b6927f50e2135d6b +Tag = 71d1a38bb5c0eb9f +PT = d1044c53869e7684a4588baae8 + +Count = 7 +Key = ba71e27d51c431ca8b8dd3cbb5de552f +IV = 86419ab903d5cae908e92177 +CT = 766ecad3875fb40d2b81abecc2 +AAD = f21f101c38280a7e8c46a8ce57f987b86453dff683e6b7bea244c69511596f71ca6ca1b8f0b16a57d1717e4af10651cd +Tag = 0fac4d286bcd1f04 +FAIL + +Count = 8 +Key = c0fbabe8b288545944c76056bf997c6b +IV = 41712b2eca9deaf9dea181fd +CT = 6aec4813fc15adeeda50aab25f +AAD = 5d518a191b793470a7ae000a5ad0d8b818343134be7867770f9d6a58c3500a6e7d03f4bf87d3fbb6b860d40f8793ed6c +Tag = e798ad00ba19d963 +FAIL + +Count = 9 +Key = a8c61ea92a0b5a70e572e9cae5f776e7 +IV = 38c2d60d19ea476bac02c257 +CT = 8d7838d7f842263a0be8d14a0e +AAD = 97132ad91bc8601580a9c54256cd2a020f745efa0568901e04456f9c9fbae5d7d6be0bbd4be3c62b601665e4a9a06b56 +Tag = 26dff1869f0befc5 +FAIL + +Count = 10 +Key = 81c358c559057c23930438565f328321 +IV = 3265042af688e1ec02b5e7f3 +CT = 63d707f70554b29c24cb486979 +AAD = 89c84cefaa4fc1c821c9bdc601f69e282d6461f19401107724d11d4b613179052e7292264f25f74834e5be1c9593a809 +Tag = 24a8a5f4daca44e5 +FAIL + +Count = 11 +Key = 4d2c3418bf8d53e03394b7682ab32629 +IV = 6b0d379c0ae1d1422ec1e332 +CT = b9a5b30da525a9656637d76dcb +AAD = fe07c39686952c0c90a8a32522d0185af6219aac68c1f99e295af7309d36231d2b7a7dae1a7d9f56d47ddd6a6d96e708 +Tag = 001f501a6e6d7537 +FAIL + +Count = 12 +Key = adeacc380e8b1795baf0d3ea1fc978b8 +IV = 9db69ecd5245b303af32d2cc +CT = ce8aa18f154cf8291b89cfbdb6 +AAD = 7455d2e22690567a9e0ea4bcfc026a1b7b929a36ff02dc02b9a415eafb5f71a137c78007c2136c0748dc358ffc2153ec +Tag = 559a413cd50df1ba +PT = 275fde1a0abd6e801a2c5ac632 + +Count = 13 +Key = edac8ed505f57ae86756fde8f0cb8d6d +IV = 4e79b6b619f7363d80fcca7b +CT = 76269da216877cb116e537fe2e +AAD = cd3448650ccdf0fb1315dc0cb4f075c4217ed5c61928675069a702210e399407acc2aa235e070676c3584ccb9a682d8c +Tag = 4e317b6f1021569a +FAIL + +Count = 14 +Key = 54779baaddcf013df163da6a002a0f2d +IV = 2f7977d1c527a44cbdaaf0cc +CT = c998a984dbd805aa22bfb5944b +AAD = 372aad613455244111f68f4bdc06e35c972f2835c77bba69fa32f3a49572b63b3c96a4163d0bdecea90845be93eb7aac +Tag = 9a5f951b65884c0a +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 004c3b220e0cb29e7c40fad9d6b13a44 +IV = 3b6bec0027fef1b6239f3a3f +CT = 646ec3f3caa98ab4f959074c79 +AAD = 92f07870d6fba47144d403ad7047acdc3c6b3fb26900943cad01f5fb333880e349d9a55ed5dcadafc4250ce8fd88fc28 +Tag = e508db1a +FAIL + +Count = 1 +Key = ceb1d1fa053be0c25c1a4f1ffdd1beb4 +IV = 3f91be9ef3036b14dc59c25c +CT = 4152c2d465485c8a1165cdb259 +AAD = 7e83d3ffa6f60ea44236caae044e709397d1e65ae7874e335fe8807ab893cd4c1649cd11628be384ef0b1755d47deb71 +Tag = 1d0bdfe3 +PT = 88634aacf454ec70eafcb399cd + +Count = 2 +Key = eeaef863ec4553b3b2f0e38414b8e18f +IV = b273768f2b9a469727a215e5 +CT = 65e2677b6a891883f5667ccecc +AAD = 779e0263525a319f22589246f46b73d217e9ed38c06a76ff6f3825e1df0fb70965890fbf1cfbb146c299cd289575dac7 +Tag = dca1c706 +FAIL + +Count = 3 +Key = bc1d4fc36a1420bc31d52aa6311aac45 +IV = fa82edc55045bda3784e4fb8 +CT = 54839cbf8864d935b3e7687829 +AAD = 89e59475824f53b01a1296fd9382d4e46802c4d140671c203097f0325ff8c9141e2bd025207d954840b6d1d980b01f5f +Tag = ab06be06 +FAIL + +Count = 4 +Key = ae3dd8de253552fc8c4871627bcbf95d +IV = e5f4c849f398f77238f62776 +CT = 049d4a9ca90fa8bb8d10bcf0d6 +AAD = 628911289fa84efa6c131285add34bff1a5b6d3489c22870310d8ba75f4c2fc15fe3d31e46d4bb55476fcefc97bd8d59 +Tag = b6c940cb +FAIL + +Count = 5 +Key = 7d7cbab8939fff00335cdacf871aa9d3 +IV = b66cbefac0c9bd8c85d175ad +CT = dee26a61a2a440565e2c4cde9f +AAD = dd235446b6b0fe1cd1fc43ad7087cda154eee726dd11a3de0966927c768ab9bed57adfe4cebb1e8fa75165d21a404cef +Tag = 12620d1e +PT = dc55b51da203fc3a996a1d799d + +Count = 6 +Key = e6a01b74946ac12cf26852276a119ef2 +IV = ff62039fcaff0d87af3320e7 +CT = 15bf0d28cbc23ad45294f3dbb2 +AAD = b485c11291dd76aca11d3cfa2f8a13acd805e31799522cb26408b04d28d7a17a9ef1d27ff6368a65245a0888c93f1bd2 +Tag = c5294028 +PT = d8b1dd005120d8ddafe3a8b67c + +Count = 7 +Key = df1e4db7c2140aaa03704e6c28732b5a +IV = 8bf974226c5c96c2969f5ede +CT = cfb2049ae352c67dbefd5f06af +AAD = a972fb12f6a63c931767fa7b5c2764dbc7e29b72a084357fb2c702da980767aa63c0a1fd76947ce316477470994f4cee +Tag = 63b6a236 +PT = efa555074689b55b9bff2889da + +Count = 8 +Key = cfde6fd08f0bd66044a32b7cdb59eeea +IV = 269391a279032cfb159d1e56 +CT = 7e6d21349749956162c78a9b15 +AAD = 591c906e1ca8e12b74e5e4036011ad85f694c46974969f8517d6fa9e33a36fb25267dda9d8f0cda368a1f4d3f8d929da +Tag = 92ea132a +FAIL + +Count = 9 +Key = 6d2584e841787de03f1cbf2ccbd68173 +IV = 91ada8e4ba553a953644b3db +CT = 4bcd59a44542a4baa611701d0a +AAD = f55355ffb381d37fcc2b5b770ee4e0647e00de408c05e8ec93eac4ec785071416a12f895a5e3a4848b54a4a48bddbb78 +Tag = fdb1a2df +PT = 4e726b0099832a8c5a7651009a + +Count = 10 +Key = 7427369e9d44f1968b84d9eea1baf8af +IV = 9607ce0cda8fe9bcfd24293b +CT = 1abcf5221b6d9c788ddbf4fdd6 +AAD = 33117256d4bcce4c2d53013175f49826f31d154dec7c43e3ace541b7fbc94f500613915655ea9f7835fadbafb0e3941e +Tag = d81aa632 +PT = dd2b00adfa16c8ade6a26d9d79 + +Count = 11 +Key = 6528b9048db968d91613f5a6ef4ba9cf +IV = 3e0029d3e9be7d8547375f3e +CT = faa00c79f4856cf020c3da377a +AAD = 61c5b356f24d41c0cb73f77c5bf4b9641846bca49d353e06b794f1295f6f447798a77402ae0de5c7fa934c61533e107b +Tag = e9d840f8 +FAIL + +Count = 12 +Key = 8cc2f5c88ebd24c277239860001d6195 +IV = 97092e36c17df2f67dbd5fa7 +CT = 9eb3ec13a4b9acaef6e1e2ab95 +AAD = 7b4b3431bd5f3c2e9070a801781f03d11373c9f6b1e616a470a79fd38f00bccd534e73325458a3165f6a6c14b9f04525 +Tag = 81363424 +FAIL + +Count = 13 +Key = 1b680206ec6a2249d2c1cd27e5b73fef +IV = eb021898caf40b512d7225f4 +CT = 79f784b9a01160d4e8f898b8d1 +AAD = 1c0b38355b92247f3024194a9e60f0c9f8093d82ac0a33adafac205f1497d032d940891f558ebc8083c5423bafe6d87a +Tag = 6cfd5b5c +FAIL + +Count = 14 +Key = 18910418f0fc6c353a9a1b204186040f +IV = 0a551d33c09e18f4140f6311 +CT = 45e16274f31dbb50f2cd29d83c +AAD = e45d3c8857199a8bd860e140c0a3f7a89a1122e32593e669a8e4f556f48e085f777190fc25ecd850981d04e2df6983c2 +Tag = 735e7393 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 3eeaa3b5aa99f6902d1d58421b53ddb1 +IV = 71240c996af69d590ccc8e8d +CT = 9a50a33a9438f485e7c89caba7 +AAD = b1176b9e28794cb627c5cb3743846e6d11339ce6d0ce69789833b9f344e92e5360a0eb61b173687f74eae3184ef641f1c42c5b180014ca7e6b0edb00fbc35f2efa7aac7111dd8ec70e851a3ef2e2436ee07e4fba213425b1a8e4 +Tag = e2865b861f8d5e0af25757905dd0653d +FAIL + +Count = 1 +Key = 9dbb962de535a9e77108cd049dea0481 +IV = 72d607c6dbc4fbbfeacb042a +CT = 3c8ebab6a3c4ecdb1ed807c962 +AAD = 9127cb0deed0e5b43ea153b1c17b484225a49c13a5f5995f86ef28a65f9f82397dffb34d4191c3db60492473d5df839e234a537b5a1cce9dcba1b1d205c92c4b4daea01186737cef6d42829ef07f0b6b2920baf998f6ad0d384c +Tag = 9f8dc7e66cea95d7915281301913d3d5 +FAIL + +Count = 2 +Key = 77b55a5b37690c9b1b01a05820838e3e +IV = 7a8e0d881f023a9954941037 +CT = e0eb3359e443e1108ed4068969 +AAD = 0bb1ad1d294b927c24ee097d0a9afbaa6a62c8923627b50bd96e5ba852509a2e76f7a10ee3987e37a55b92d08531897e6cd76462403b39fb31508cc9fc7684ab5ec2ccc73e8a7f4104a277319bf207fcf263eceed13a76ca177f +Tag = ea6383077d15d7d0a97220848a7616a9 +PT = d164aeccec7dbcadee4f41b6a9 + +Count = 3 +Key = d5cc39db2b34cee01345dc52be7d5103 +IV = f662499e42f14bea6977174a +CT = 9a84bdd3ac1724216772349f59 +AAD = 32d9b18f80e4502ce6fe80fcb58cfa233dbc03d342277a5f381b075a386553895a722392c50ae74bcef5266bbbdecc838048924af36418fcb61d94094c86f702677e454c972affab146d629aabde3680bd7d2a669dd4d9e630fc +Tag = c15dd85c92bf94b4b901a771629f4600 +PT = ea48032834d9969e6c9f040957 + +Count = 4 +Key = 64eb561f7f132cf5a6eb6314360a6c10 +IV = c7604206c6e9800dcc4b29f4 +CT = df392736cbe2067acfbb675e37 +AAD = 79970cbf48f78920de1583f777d0d5a8d146ab16a86f2148a6134b5dd55c51c7ab1d0f9219dee77d618ce018f014ebe985c527d0641ac991eda2d48135dd8c552e496e33a65a5e5804546570b53dde4ba860d5f61505dcda77ab +Tag = c382e9854234cff3512ea17a8a8092b4 +PT = dc1fae5f1f0778d378c781dbea + +Count = 5 +Key = f27057cbcccc9cf163abd867fc891486 +IV = b224fea2ecb2b3a5c8fe5596 +CT = e9fc65eacd5be8b6865f853fbb +AAD = 50567ac439f395f3724b14882896f76832d2d464b95d5712b6f8664489d6751ec001140fe47acf75d893590ae22ce10fae18cf97d1c16cfbe52885cbdb7f1d1258adc49204aee73c7cf63a45e70196571cee496c3935f3a142f4 +Tag = 03e3dc31120402ba3a615ec0fa33173b +PT = 7c17f64a8e1c6072c83f8bc8db + +Count = 6 +Key = e9b652cbeeb2a556ac1826b19cc15958 +IV = d21da8693af1613c72bdf1c4 +CT = f7c92206909abf170063b7d6b6 +AAD = 9bbec67884adb146cfcc1456467ec75a37d3623d4a4a396276778151d591e839b4f8e8d96a3d1821c7590b3fd5c3afda9f70709d30903b978d2e6b166b72bf68dd48277929cc77ef45b67c8440e98c5cd89c02077f35e7a55a83 +Tag = 263367dceed0ae0ebdf33bcd43f3cc56 +PT = f12db98355e4a37eb8128c5ef1 + +Count = 7 +Key = d9aadddaf333bb0f78aaf5cdfe0029b1 +IV = c003a76eccd9bbc3ec85dc2c +CT = 091df0d0b2aae56a00eb252509 +AAD = 49c3351f3b103d29fbe6cb6c38a7afd2a06e42409372b04cf1a9741fdf86af62c57afc203d607b384c87fb9d174a1c9e1debca7a084775d2611de22f17e64b1ba9e286699f3276c08d05aaf0dcaec773f33c43d7de294a7915b0 +Tag = 8b041e3c4387fa45afb43ec83d2d11f4 +FAIL + +Count = 8 +Key = 2dcaea867bf72bcd91caff043cf08007 +IV = 07a1a531fa30bc77510d0453 +CT = b4fa6436b16942d3f539f47cb3 +AAD = a757ffcb0d6387b870dde672e863da43f8e71a8a5ecc2af9414dbc99f17a0ce3632472d2b75fa1cb3a6978af9813c1e779891837e6088b24c10622deb4f2461335dfedbe71576f721a070aea32be8229e2c9db109988f61eddd1 +Tag = 4e3868460ed3a64c2f9216f254949ea2 +FAIL + +Count = 9 +Key = eebb7f4031121fbbe400bd449a7ccc8b +IV = 412eeb64a9df2ea98e8b1dbb +CT = 3fe649156931273eb3ac9db896 +AAD = 054b1dee5ff5310db9451f8de5cc8a17bf5ea315a13a3d3ad921f64eefd634e0ad8cc0debd61bf5c089beed9cfdc3a62c4f867c1a385a38a95be4dfc226c91ae1e43e66c204f84e112687b194d202ee5aa2135132b9d5e4ee91d +Tag = e1867166f788de432f90b5c2a21b4cea +PT = 13ad6e1ea7fed171acaa9a5c7a + +Count = 10 +Key = 6ca30f76a5bd8db10f369d492076d5eb +IV = 32ba3341d212d8e5e021f2dc +CT = f9eb93d2dd2014736b64795166 +AAD = cd5c5ba9269fd8a4b355f7a72ddccadf2d7248e93e27af3d17ac7a25caa5c1931cdc0ab8f19ef94b3d9edfb249ba701a0cce9d0bb9fd3650040342b988d9f7305f8819ba84c679093e04a67c5554ca37d6d10234594a66bc261d +Tag = 94f18a542f3b55881365392a743fc4ea +PT = 2ce2935dc618a081100af7c61e + +Count = 11 +Key = 5173cbc7d19b39fceef0ae6efed41ad3 +IV = 7c0a8ebe0006db0d8d3325b1 +CT = 0d01b48b52b1e11d7457bc3f0b +AAD = 2272b3fb6735c466666d7590e989c47537182bcc85f3ff1c3e7b0618ab125f15d163d6d1868ee82c88df740fefac22538ddd65c532af37f5e90ec5c953b88da3806322e28c3505f9bcd57d3eaffece4170b5baa1a5b928bf3c07 +Tag = d568c0e4a644381dea718c2b7e1e1024 +PT = e7a3941472ee04ae90d34e6da6 + +Count = 12 +Key = ac45fccfc2f37966fb18eabc75ca7f13 +IV = f6437d540571986c8a9deffe +CT = d2fd74d90a2aaef2bfdd88638f +AAD = 999446c6391c45f6abc1094402da2d602fbeb973b15a33df30fd4493c0e217fa610fea050706808310663af2fbd66b3a5485f082aa75c824c684fbec62b7cc9ef16ec43c71442c891bc4b47daec6b927532fee5bfda611ea4d56 +Tag = 63d7efdb868b83704980b2dd7ab72a95 +PT = 9e0d96b80bfb65551dee91d828 + +Count = 13 +Key = b45d5a5c1238c6ff6452fbd605b9d60c +IV = 60dc1c9970bc7242385b15c9 +CT = 200be21ae091ef2d6915ff00e8 +AAD = d7b7e4cc20125b86815dafde75b07a0af4b16995728bf632500fb3a0edd5b281417f5125abdf4861963f3c93d870e58e6703ca760fa1b8e25d4134a4a7786267de107fa6560fe6a12477c29175eee02b7d9a010f2c0c83fe389e +Tag = f8f393c73dc613981e9d19cc9d273a76 +FAIL + +Count = 14 +Key = a4b4b85fda2776644ad63eb6e1be48b9 +IV = 635d0bb5e2240b195f21a28e +CT = 0cbe3cbb0725cd28d45745ef5f +AAD = 69d1c68e1521d821bc6976884f564f8a9715e76b99d91819eca63b1d3d12923c3fb868edc957d333a5621b6dd1fbbb9dc1b9a1b87faa155a84254cb23519b39796545d85dbf3302aef8225a2236bf64db82dc85683802a0a89c8 +Tag = 6cdd16fc0c83baf439da1e8279acae56 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = f72fb6646ba04b734eeaee6fed4feda3 +IV = c7fa1cdeb13a978ebe82867d +CT = 04ae75f3dfeda65362463b1bc0 +AAD = 975ec236f04b305de3e7b5b0cf06694f4a144082fe6f4add2fcde15f53ad9291442c4a4feaf161943f519d597347f0c2fe692b91e89aae7c9c995d16b78cba8bbe34510a304c1a35ff1139b58c52ba0991b650fed262c4dadaa6 +Tag = fb97d1b95306e023cab553ac534f11 +PT = 7b492bd460e2b4bd1a7ee3bf56 + +Count = 1 +Key = 58a0b8b9dbea1cf154626be219f11b6b +IV = 0458d7d899f5617187fe1018 +CT = b61c514b99eef29fc28e43b077 +AAD = 4f1f6682c8b67a6a9e64b8d9a81d9506caa31791ce622c154f64ac630de0378ca4bfc095a0f6ff928a65e0da4350418fff0e8ea477df70183729ab615cccc54d22a66fdb77edaacf8cb9c904d3c5b99834f2d7066c2c4d777595 +Tag = ed6b7c794eb395eeba4bb6f55b4715 +FAIL + +Count = 2 +Key = d5af0ff4c87a5fa014546e5bad56b6b9 +IV = bee4cf24efcfa889fb07f070 +CT = f1fe99153d4648cbca2117f22a +AAD = 741b98fbf49a028952396975248ad596b62f5bf74e51c16f653fa5523cf2ee1f27abbabaa46fb20232f955a0861d0c21526a6fbb9b522ecea62ca66a220fa4b274bb8e19e85d126295b5a8219c015a0d44cc1a7d62e11c449182 +Tag = 0b0f2e418da4945fbddddcd45b4523 +FAIL + +Count = 3 +Key = 1120c66a0fd4e721d7112e84f39e2926 +IV = a06da316ce766666f16bf537 +CT = 84368724c636257394f8cc7cc1 +AAD = cde688a3fd4a8e5d7cb9f90130689a75b5e184a9607d762028314d731cc19be2d089f62025c36d1f51504e39ab69c21087ff8607aa1cb25ffc2c395971eb5ec7ff865963a27bd1923b1ff2f2d3c235259619edbf026186a636c2 +Tag = ebe4dba864efa47e8466cc5c61f36f +FAIL + +Count = 4 +Key = 2500aa818027b24ad3330e2109fbf18f +IV = fc4323419a814f5dcd99075d +CT = 9e7fd212ad4270cf6538bcfb8f +AAD = 04d735d918d41b5559444c90a7df33ae95192cb78180c66caab0b0d5e247465a63fbae1ea62e22b68bfe16815474035066ef86af68c3a49d7bca7aed6f2507589d693915adc476bda8a2dd9a5238cead7710201f6f869feaa69c +Tag = 15321f5d8bc82bc24d85beabee7143 +FAIL + +Count = 5 +Key = 73c1b14e74504f5950d540de073dfd5f +IV = 77a53db111e65dfca1c7cb62 +CT = 8c451b7d32167b7509b3d50178 +AAD = 768339d9293d8998ac4401c85ad88e50f9741c454bd967197c6a1906113ed8f70840586665a60db7a06f918f2fb4207f56d1f687076f84ffd7bcdab12897cee06f5f06761a6dda20a4b90cd633b896272fbc3fc54643417472d9 +Tag = b91b98fc506b74a52c98e0ad4ac115 +PT = 5232a20f9b75fcfe0e253f4c18 + +Count = 6 +Key = be7341f7b3706165c120566bf320a744 +IV = 2ab0191acedbc3a76d3853c6 +CT = ca611142f667c01d44570aa3d9 +AAD = 7cc4f77182fe1de45bbe3e0d10ef9216977a15132412f0039e9ad28e75b7bf935b9b6e1b3d600bde57723c7bd3920d465cacf99bceb486092e3ee806c84f12171566448a73985778351fd0ec4e80575a31cd14120bb480e3ed60 +Tag = dd6288f79c15385f1bcf9e5573a101 +FAIL + +Count = 7 +Key = 3254f20b6404b789e0e3733e0fc36ac1 +IV = 1d6d78d688ad2e83bada525e +CT = 8628145d44c1d82ed3451c10d2 +AAD = 7ed73cef14ff1d0230dfd92f4e1a918c0ec78c028ea9201ca3d9caa4511511bc32b54d0b183a03a0effcf0994deec970c81549301b0b809d9a7634eae1c29b87edaca1c7ac718fa889f7c6dd882e5c105a9c8c4c91980a304c4e +Tag = 9cea9c8b2f2801986e527c6c01adb6 +FAIL + +Count = 8 +Key = 180b2c3a44db23cdbeb7f8872b3cbfe2 +IV = 95080d989370250bbdee8b26 +CT = fcc0de804a2e06c30f5bb2faee +AAD = 6e133cb902ad0a77e69b8612e1591eaf440f2b49584617f7683ce5c31acca41f0632a61b3c72b805a1a9967879c9ac4267555688576fe84cc5f9f4c8751b0285c189f583ac3fbba7d5af211a46a7d9533bd6750f45c2359fdce6 +Tag = 26f16d0b4c90c095fa00340dccfd3c +FAIL + +Count = 9 +Key = 70b98b5797dd917958975a23b4ee25aa +IV = 548fd07b25ae34481cb6b043 +CT = f4e9ebf1d618c3b1efeebdf4a0 +AAD = 12be4c844f260f11933f540068f061de4106d7ba5e3067c95145987a22b16be4f6ea5a38b0611e2d6cc02e0c8b10a30093c6b43b62579d70bde692e493e34423e781492b3f669411d22cf34ebdfd317d1cbe28281c38486ba463 +Tag = 7ca19823e42d1152736abe7c1bc136 +PT = dab7b382bc2bb615877b37165f + +Count = 10 +Key = 4c897f06764b24e0b6f1c218c225ace1 +IV = 10ad184587d7ecf24d3001bd +CT = c33fbff5c1a840bbbe197e8786 +AAD = 10feb581a0436a0105e86dc98843fbd388efc8addd9f9efc9a5341a0109461e92c1618af21bbbe7c822c77dd87affa58d8a272441467f2e74e1147750478f9be4fb71839a49588c48829fd86be0b241c671131111c8d7ac61d6d +Tag = 8ebe3fa9124df04c89a7704e5bd2da +PT = baac1a8219f30532242f471c7d + +Count = 11 +Key = 9393d71f21ea5e58a79a6bd51fc871ca +IV = 63b288f5b3213509306da35b +CT = e128327db0f8ba0ac19c84a140 +AAD = b339e6373d8c11092b4efd5f9a02a02a02200879c605ff9684d2549ca2f8c9e0df258fa5bb61d6d9c48f3b8437aabaea7b73318a14fc79589c1c8a22e92eef4345390f4445bc8489fd8c665751bc2c2adf1dd2040939919a2f0e +Tag = cd0569522a705161cac7b6147f3182 +FAIL + +Count = 12 +Key = a9f14095a0fd05779c142fbbc75f702f +IV = 0710e844d2e4ada533995847 +CT = 146520fcc863a2342fa9c0e952 +AAD = 91a5d1537a1de818d460d3453a22f3df5dc6687b6c0bf76f1d8b476e31620f852a5da078cf50bd8746035108925f64bd9265202d521994bc39f27f040bc33b33d98194719547dfcbf4be083276898d8ee1ccaa7444a089029faf +Tag = 8a8ea775920f0e7b4ae35c508f5e8d +PT = 6e152b7e35935173b95eeff3f8 + +Count = 13 +Key = 79dfda1632af1489083f36d803d6089e +IV = 159f85beaa2dcb6ee8a05803 +CT = dafbfad484b305e511f200f284 +AAD = b0677921a0191a35563b108d0a08b839af6a5c69788da28db356769eaa29c734bc0d8005adf334ffc47d71c7685773e5d9a4f79f470c9046cfc9333b16b8776080b5540eaecefb52a481037c132c950d82642cbd63f165fd3604 +Tag = cbf3d6599c08910b507e5be8f80893 +PT = 76ad14940a6c7912fc475876ad + +Count = 14 +Key = c17371c15ca0d6ce81d67e9fc3d25a10 +IV = 61351ed15e78c9636dfce62b +CT = 6c87cc5163b9c5368c5162e3d0 +AAD = bd9be11d113c84f6ca0b7259dbe20c7a2779aa5baaf83aa1061f819b2d6f103db6d95d81bcc23201b9a932389ddde67d115522f9fed2099f412e25b83852b9a4f7e3a563adc25ede9b90b3c5da011835dfb2300175b54cf968cf +Tag = 8857cefc20c65f234aca7d7e1038ef +PT = 4fae9500d5e239455d55e0ac23 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = ad2eec70fada444ebd6fac184a112ed3 +IV = d4ad30c45b345d24646d7c07 +CT = da20a258ad38262be69d4a0b8f +AAD = c30280e47549ae0c2cf83b71c1fdb527b07f4c52e92e64b409a5bcfdb6258ab69db473a198b5311ed2109a9f5e08fb59dbe4bfbe768d08ab9e0f4b517c6b8116a50b19c758184fa27dc5a3625662f3704f8596dbe16bd7c710a7 +Tag = bbf384db6d2bce966ea8d35b8fce +PT = b0c1f7946440f108e716c27dd5 + +Count = 1 +Key = 0f0e57588a7307813bb1b5d2a47e50f9 +IV = 0ec725c311e112a92bdd62ed +CT = 1dc53ad9ec19ad579eeaf5bb47 +AAD = 7a3c3ae2d91e02ab0ea6237ae2934858c9659df464d2a936a452d5e488cd58ed80caf5174f70dd79b9652d46ca2c5a8b153820c029535600a77cbd3638fa4ececdaa3e66c26717658da8d3666ed7d3bdbfc075b87d1ad4386345 +Tag = d02ed950354266a23b7729630741 +FAIL + +Count = 2 +Key = a641d6d352f2360c67f0f86e41fc2e5c +IV = 6cb05b9e449bec0cf3b645c1 +CT = e49b866461ec5dd1c08599f22d +AAD = 5355b755549d556b00b9653ec8de8747dad9aa0ca3c602af360a0046bd9ba267b6660e6c7b085a0b5a9019dca5cb24bab8f6181d6a36dca95bc9eea165019fa631402f1d8bec704f0d31f4a41e9ad655528830d482ccd13afc9a +Tag = 13655690ccb58fd763f27954c4d7 +FAIL + +Count = 3 +Key = 2199f3630dd9339553915eea475c1b98 +IV = db97d1fd0b767ad59cc935e6 +CT = 4954c3a1540462835bf8dc91af +AAD = 2883b646c053f5ab083c706fae98c60f95fa3c998f5a77f32b41842ac4199a570d2c8b035cc93016a4d705922b4e6688d1d2e63bceedd1031bcd4aded74d52659a1a0194360efc64eae09f77fa62916297acc6e507f973bdec4a +Tag = 9c1554adc475842edb2b9c3a25da +FAIL + +Count = 4 +Key = 5627fb03fb4651f3a1933b8cf0844647 +IV = 75c65caf152e5834fc1c7ee5 +CT = 13350f66ce539c9df4cb0e6f2c +AAD = db666c0216612d5b162fb343cc05b826d144146974b1ec6272b6ef5c48f7a85c7cfd9e5d81a1801b2b7780b5f5c3d0d6e99a054358bfb190b9129398a12cf09d9fbf7a66828bec8eca226cf0bf94a04f8734c9ee1d1ba82b322b +Tag = 955a00f3c0f4948364c99f0caf9d +PT = fc78eec59b29e974f24ed64762 + +Count = 5 +Key = e4476a88c556731bc5136bbbf661e7b3 +IV = 623154a7467c8c156805292f +CT = 29b30530d6d50df85c2b5065bb +AAD = f73030e95d1ca833ede78f2960e7f317a7580664db768f9ba5f42567ff9393f0c3f4cb81797404887e00a8860d17f9d6d6c6794e2c1fdae56bd4f8e054476bf61663984f5d5a9507041fb63061c5c23c7dbaf978c599e58b1fb4 +Tag = cab0022999dd11b006eb03dc4afd +PT = a452c360e391a363ec98dc2bd2 + +Count = 6 +Key = 0f566c695b903ddc30612c8191176225 +IV = 82246ef935ecd994a1d348fd +CT = 225f15d90257f65a16258749f3 +AAD = 4cee43c7450ba528fac3754791fddb3b2062a271d6e0ef3aaf3c51cb07692e6c32ba378f8c9b52eef567f83db6256cf1708b8a1178fc2a3a90b01be1395e8c6294e2d1b09d79ef58cbfe4e266eda0e9d373d82220fafcf059192 +Tag = bf2da53386b5b551d172d38bb45c +FAIL + +Count = 7 +Key = 4f11ac8566018ab249b8fb452ccac7bd +IV = 80f4f3b030bad367a360f0ea +CT = 10765e3148df256a21725c7c3f +AAD = 4ae541878d610a1f42ccbeb21d3ecf12dc1689fd6355d017a06467095c473fa0828a99371f580d7c3c38c14b01d3a1cf98f6686a9bb8bd85810691c510fe2097e082abd3c5c96c8967cc64d695ff88899a21ec42243f8c41d597 +Tag = 8305f6292463bc39d4b7b6a77adf +FAIL + +Count = 8 +Key = c94a344932dbed75b39bada087d96211 +IV = 6ec53a9ed3d1dcad83700567 +CT = 058374baff114319c045330218 +AAD = 0194943b2da4d69c1ec90a6e5a40cfdf009d83b272b4328ac25df796907b4b6ef9f42af95604b1f235d1ddf382b952ae900c994efb4805133122a71b94a176edcf40ee6203e8577242b764317b487228d3988e498d9ba21c5612 +Tag = 1a8a5aed51f96f5cf8b36be58e3d +FAIL + +Count = 9 +Key = c989874b1b080d4e120562dc5ef46d63 +IV = 39d23ff7298bec7dce249b2f +CT = d171a901490c9a19a0f366c97b +AAD = 76b7fc2f5dba3a278c76abf07b6d58eea11bd5f3a93714d4eef3540d1ef02a1f0e5e57597503025337a020de4dd8f0edc98853d4969e8fcc225daad8b9ebf9be5bc67e6971dda9b090b8f0537f3fb2fbaa17ef71736654ade769 +Tag = be848b33fe240f1b5cfcf089c99f +PT = d52a930b18738fb7f5b469e3d0 + +Count = 10 +Key = 334c2808301ac65c8fbdc759dc1fee41 +IV = 3b326ffef94a1a0793bb66dc +CT = f724ed7c953a50ab0c20e0a2f0 +AAD = 60ce0107d95a6157625f9c4ad4e22af69559756b51422b062fb2a1ecfbbf3f36d69a7357f44b1db245f9c48496c4ba560a97355b501c189fe91129646cbd50d2b18f7c0867ac3f7faba7ef53a77dcae5cc203361f0478696a454 +Tag = 62f503c734f45bc56c7e20e6a0ef +PT = 67a51a975eba099db873ee0d08 + +Count = 11 +Key = 97daf7b42191c139fa0dabdd1fa7eedc +IV = 4b8bc308c0b9f9517f118e21 +CT = 6e79ad086800ffc82290758d70 +AAD = 4e7e8a31f24f3ef02a30943b06965dff610ce475a7718b3420335fe9db9c4cf64a8fc204a25414023fefb0b3cc1a213b6aa4a4f6b6a1f6970f015f2a36461c9d2e9df390182ff51a3acb63997410920bd0957a45839909900d68 +Tag = 58f1adfe805268ea78ecc5d0812c +FAIL + +Count = 12 +Key = fa9a7a5a27f033be92a4324d62bbbfc5 +IV = 8f5d3e56dc1da7e8c74ad1b6 +CT = c69493a8aeec2671a092e3691d +AAD = cc63046795eede6d9bb19bc939a80f05ecc0afc757e5d1a6e6a7b67733fa6d40a188d79311d11a03927fb1e0b82106a8c5b6b6c7c042da0cceb387f8b01153b653ebc6fd3da2ccddd4c0048fcd35dc6270ae2e9e6283f2b55ce1 +Tag = 301273f144c5dcf2da70b1395c8c +PT = 954c9631196f3cf591ca5954e8 + +Count = 13 +Key = daca1dd657029d39aebb8bb9a07c1845 +IV = 5d0f13f72387ef219ec2425e +CT = 7ac7c8543d897f62967dd12cb6 +AAD = 853d758fdec30b2b897660cc5819cf4d23e0cf10ea5e787d479d9cd57722877360bdae34dc6c80f40d64dbe4b5dc7049551dcc3d9c3075bde0509593774bf10d5ca9876a95e8bd3e45279c811db5bfd34b7f669c3e114fd53764 +Tag = 65b66a1dec4b121171e8ff2fdb64 +PT = 65fb4d948fd35d44503bf1cc21 + +Count = 14 +Key = d4bd357382d6c1943ba713bc14aa00c3 +IV = 8467d05207d7924efb4590b8 +CT = 9cbad1b4665199d439afe66577 +AAD = 98f9cec36eb03bced98024b34a65c431f48bb0df33acdfd09339f5f223a54e94e0e84b3286dbafdea3479f412fdc6e2501387ff89ed18049e8c089de45e506e545639f5432cc2f06b53a0aaaeb310817d805853cfbd92810621b +Tag = aa3a24261df4f63dd842aabf698f +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = d6322c200b0c8710e8283208a5c5275b +IV = 0f79d20af8aeb1722ffcdba9 +CT = e00ac57e6e106054d220a057ce +AAD = 54e2db120cb21f3308fa8c40373eddeaa299f0d2932f3363a17b14f964682b21f8ea9e5be37c460b8564acad713738a502d9452762778346c4a494205c3fc050f9f280d43ab7dc2484c9e9454f6ce224aa83b8c8055af7dc3019 +Tag = 4d5f3a8e204bbe7fcb8591b024 +PT = 5eb1d0ce213531017ba45461da + +Count = 1 +Key = 08a5d80914b467c33b3072cf78281f6e +IV = f7889798fc487f7b6c7f87f8 +CT = d7e7ec97b3f667193db9cf12f4 +AAD = bbb2b66926c5a55d1b3e460fa8a285c73f4f5724ee4b4a896d0dd33a788fee53351c79e9bbbec97586e637b7bedbf3541786b338de69101338df9da1f765a56aaab778d661d6b25953087a4030b85022dd767c2f82e6dd69e761 +Tag = 1f974ea70196042fe540a41d3d +FAIL + +Count = 2 +Key = c18600208ee47f4ae6e2951c1728c819 +IV = 73d06e279ab627e5a2d21d28 +CT = 30bfebe9990e4da99772a44338 +AAD = 5850676a70ec1a4324b30d54833aa78bf1fda0dcaa08ea74c2c237f294b744a4384549421fe48fa7adc39e4306c4d2a9b3ddbff79fa5d7c829292b0716a24e6f2eca3057c706d506bfd39b31a8b21608afafc8a27026c09734db +Tag = c1df306d88521835a309400213 +FAIL + +Count = 3 +Key = 90e968426f7e828ca1b5ab534cc1370e +IV = f65c18f74fd5675aa5e72b73 +CT = 5759185a271b55c8a4f952869d +AAD = d59777c32b7452ee3e88ccc1669cb5137e051df0fe2bd41e8886ff038b9f200819e4ede5351caf35abb79c61bc2686620be49d66bdfa893315e4c9d856570eb714bcd6b951ac5e405f430d6401881a9f0f2959e28d13aaaac131 +Tag = b316862d9137b367f8dd974431 +FAIL + +Count = 4 +Key = ebe1bf8d00bc8aa61dd9657dffff50ba +IV = a4dc6964a3512f495fff7b59 +CT = 264cfcac6e81adf53d791f85c7 +AAD = c15cb04f5467cf43970eb55f80f93bf792bfa93506903e021b1291d701f156db03bfab981fc2cbd92ca1ea530fe853832596484ae5a2dd30f91b5db631b8281b9baa1ce103516062abf7499c3342516dc277ce5022c2dadad685 +Tag = 5daaf0c31b3b01bfc636bc8095 +PT = 9d0f47ae0141c94dcfd59b2d3e + +Count = 5 +Key = 565a7988c11aefac2b8983af12327c67 +IV = 3cfdec72c6d2c6a1963cdf0f +CT = a6a6c10355bb7aa5c8e9437902 +AAD = 543b4985b1117ffb0910fe48ecd0f071283f58369ffd7aa595d5abcecaa6ef010c565d292261f4cc17dafad83e1b33dd8c6ec4332769cde3e535584ec869a6552aecdd9a01741fd918a532a25141f1799bc8ead6e496e9dbb54a +Tag = d1f3f2cd17e93c903ccecab8a6 +PT = 5c65d7068a0aa21a3661faf511 + +Count = 6 +Key = 28f147e8cc6293fc02e3e1108d31f832 +IV = 8f25ef3d5e12f35d2c0a59ca +CT = 5e06f2ba9e6271e1e3f7a21f43 +AAD = ba263e31818b47b3552d69a384a212a5b8924b077bf4dae7ce37f3d9c835c81bf522dc9b4da4a61469d7f61cf324c6c0f677bd217f8630ced1a3f3cf6e50fc4ccb74745d7c41d497d44363830d233b2bf80deff0214594c7031a +Tag = 99d2fbcf67c18e3ec41509e4f0 +FAIL + +Count = 7 +Key = 9037f7a9edc3742fb3aa7776fe3a60f6 +IV = fa3cb6c087f59c7c9e478890 +CT = c15448bbdd14665d07ff56ef78 +AAD = d0c5a534a48ee8e9c06af954b08b1dc48af6699649d6da09548e5715f75e9b7c4afb26f7cbf5ec5e991370a20967b023d9ceb547b4abb20d3bcc71eb0b7385af67dcccfc96563dc8c4124ce9cd29a582876935dd5996212f9496 +Tag = c61410b972819ad490f8d00a01 +FAIL + +Count = 8 +Key = 90196b6bf9e163c51520761a5f89d602 +IV = d119dd2607e73e0c44a8a696 +CT = f147ea9de1aa7c97980ba3fc44 +AAD = 030645f3766bef75e6600772eef26aabf371428849a738d356adffe08c1de62638f1be07b27f923700a9c1f093eb78be79c38a4ec8185681abc438dc370c7722e1290480c9a4acd7eaf3235212023cbfaab2141d4f8686e1c118 +Tag = 96b5a5503fac463c4eb137487c +FAIL + +Count = 9 +Key = de493b34461fa47d97bde15cad107afa +IV = ebae0e3460de32e08f5e40b5 +CT = 1c27d712f317e5a84eccd1fe75 +AAD = 80c82212e0a1ac5473ebf0f5eb20f14524bbe6352b1961394c119ed18323be92ddf357aeded2a17d5f662bdd2f68c38f8e2bce2e296e0f15f0bac4386e7d16e72a0d53759a18ef3302fda57e1282aa5f361b006c5527421856b9 +Tag = ca367b247fab3ac5426ab866c8 +FAIL + +Count = 10 +Key = f90657ef4996a385ed99bea89a90cddb +IV = 423791824a8f0d95df5c71ab +CT = 7153bd408f3f847d9c6d4a52a3 +AAD = 462263f7bf70a4eda9f471530e597894c6e3021532b3990f044a3627c279b1ced4de9f7ba046f490d30d1dd94757ddb9418afb74b95c25bf81747eb1df2ad2cbb017d6239212b14bd18cfd1b7bc8544507749aeca4915ba265c7 +Tag = 68cb826d3c6c9d60fb3faf850f +FAIL + +Count = 11 +Key = f96564c325372b6ef61fb0a67e63f81e +IV = b84a11467b5b207150881b81 +CT = de0d456c562b7e1e28ff11127a +AAD = c91c768f85ee3564f2c6766b1879e8b53dc737203510ef76e092defca88c8d6dbd541ace2507d0ef2b24252ced64cf991e4272752fd5abfb497978b9e1cf387719ae921bcf630de548c6a37047fe2cd2d0367b6878a711884af0 +Tag = 2d7765ccd15dd310f488068af5 +FAIL + +Count = 12 +Key = 33a1b85bf9bba5ee7d44d9ee9a8ec232 +IV = 23280f63bf12a3251d669b16 +CT = 155438846fcbf737ed78c35e34 +AAD = b146b9301c1bb1a64ebd7368b7e220964d66e85f92d7e83aabc917758a052e9d83dd30df5f8179ee09042418f092954b8a56de95095810d74094c113b48ba6fad69c48354ef1ca816730f13e6245175e22f8aed41824d6d1be38 +Tag = c38bc9258ca04177c30cc9827c +FAIL + +Count = 13 +Key = b6613cbcae2ab6557dcfa6125d2e6bfe +IV = 8c0f32bb7ef0ba3b487d9ec6 +CT = de1bc0d4ec01bdaae6bf468331 +AAD = 0b7e9b6dad25794f07c879c963d958a0361b3ca058213eb889af6695890573f90c771ff35d217a37fcfce663ac013e5e4396a67813f85cf698a3bb87bd3d306fbb2205f0fd5146feb9ec70a1a2aa7a1197b5dc7cb2f3668ec912 +Tag = f0d41ad98ecb519e4a6814be5e +PT = a88f2c3b4c573d786b0d65ad77 + +Count = 14 +Key = 5e4ed14833ad70d59a34f0b41034da7c +IV = 07c868d15e4e5c6781e45e27 +CT = 429d29615a1cb421b9c4942a42 +AAD = 1cb234e29493b764b23b82920b093baccf4734c582ea739fa461a977b51967a509214c08e39c169b76f2ae13059ab897c0e2ffb3dfc4436f7b67448bbe1e9c4003756d08e15286a28d1be4f02276629c759945c76456c201d6e5 +Tag = 37c3fcec90c12981cd170b01ae +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 4f64f175ff74efbdf887a53d8d125896 +IV = d7e20930f58d330c305b345f +CT = 945b94e983082adf44eaa43d15 +AAD = 2f3da0238114f702872505d8e124190ebd0fba662ac3336bfac5611828426ed4f3fcaedf71a2707822cb197d4fbcd07f5dee436e9bc7a4e39a3975b782fe828b0df4ecb8c2971747cc666f00a277600d6b54d4194f17d2183afe +Tag = 50eaeb33e26053695397380f +PT = 9dd4c24c799e62db4481f1d2d3 + +Count = 1 +Key = 5bff7a77a6e200ceadc19defa7216023 +IV = 25a85521c14cd2e6c437279b +CT = 596de174a18b9345f2167caabe +AAD = d7664828e9adbdfa5d96fa31b214c8574fda239538531c85f74573dd9f8665f7fc678b825b3e9c35d34edc4eaa43ddd01f18581f43487568de65e199f9b35767f6766bfb359add68b8010d4c7e52559c558d87fad6b1a987df03 +Tag = c4f0f7491c5f0645a4985ace +FAIL + +Count = 2 +Key = c66a12a5ca09411876a1f967d4d614a3 +IV = 7b9639fbcd963300286fc3f2 +CT = 9627f2e6b0e7778c2a9d6a937b +AAD = a01ae7f9d969dd5219ecd5402137e16b866730e70592aa89e92ab6ab766fb4e779191d6f3722d4d0456908437ee77b3fbe42db56c26af9b5ef5fd57bc0e7a9599354c7891c5cd57407be45f524860a626f33f6767d302854016a +Tag = 624ef7904cc4431703f14a98 +PT = 2a2f2a1aafb386b8f3831f180a + +Count = 3 +Key = afb51480fe7558fa5752bfc61795426c +IV = 78859397c602a4823cec6950 +CT = b999c4aa9a86d1433a45e8a6f4 +AAD = 6c09f277b0b205af940282bd6ee617f2f7f1c211084e44c00c36a7b9377f1fe96a2852fee6e531cebc21c162918152108f3b32c1cb267d999042836a07dc4503384c27ce998963de6d9e220685bacfa76e9ccbef3d322ee82bcb +Tag = 5455461ab7d261cc1096d756 +PT = 2d454a6800ddfcbe52f17fff1a + +Count = 4 +Key = 3fe06fcbc8d6ef385f4d10a527ada9a8 +IV = c4edae68682ac78fc38feab3 +CT = 9803ce8cfe4bd3d3fac1d0924a +AAD = 402b3013402335554abe3a317c9ea17c78637cd0791305b821e0e28a73ea8e1399f938a94aae7f8916587a741c67ba454b428f3618512922093786b6c6b7a043ec8233a99692f42ec4f370d7fb37d67e1cf4833d364dad37d2dd +Tag = 15770b404e9225598488c1df +FAIL + +Count = 5 +Key = 14c996ce218be82fb5462e965ece8a3f +IV = a63f6cec2403a78c23b170df +CT = d7c326cd439ab11e2dcdea62eb +AAD = 3dcbc24363abd35eaa43581638946c526716c822aedbb34d469c6893814cb1fb866c0739e97e323dc2c363ff867fcfe57bb20a43c382b067341e0db79616e893fa7ea722aa219bcf20234af3c1f0af8d8005d05bcaeadf7f268d +Tag = 6edd01c669474835f213ca21 +PT = 0b14ee75a407eb7e6bcef6cae8 + +Count = 6 +Key = d576e48b17d17964a45eedd43834b58f +IV = d80c96dc6c0664113b38cb2b +CT = c2c368c80d61a18932f940c06f +AAD = 122beba354b20d4f35b008681d3001ae4ac711f345aa9caba2931200cc4d7188b912f5153fdd2b82b36cd348bb6ec9800be00b984171a15eab738a8d2d6302c491397209429146211d59fd79f990e8039c8fc8ab66cce4566387 +Tag = 098c24aa2c785a03ddbbc18e +PT = 137be9c5f92906b3adf9c80a0a + +Count = 7 +Key = 183d785bad9da71833114bef1d816f68 +IV = 30592e7eccde80aaacac7533 +CT = 84da32a8955a821f931b479d16 +AAD = 1ee667a68ff687feff0ae8e9381d14b291ecca5ba9353d13e7ee707d088171746df624b5dbc310aad4a9ff4f400fef041edb1b77670a6f3ad1299058b10625b22175b627bc41e01caa537f34af01a69534a43b8da730f881c595 +Tag = 9016110f31a0753959713f69 +FAIL + +Count = 8 +Key = 24dd6abf3c2ae410055010164a019148 +IV = 4f246b39490dc1f4a86802ee +CT = 9a4355b632e09063df8dd0fb37 +AAD = 44d849dbbdce01902f1c5f32ea534f6da4a678933f72daef6636d6c5e3de0132022211275b2166c3a33b818607e3ab277cea42e2f5b91fae6a236bccbc8fa803b8607795331346cfb94be1e294332c8594d630ab9bf2cd1a3e67 +Tag = 1a7a74c76724dfcb3ba70fde +FAIL + +Count = 9 +Key = 0a97356c3f9fe6a0300f1908ab6c9ebe +IV = 1a986c6d04dc4b226fd69659 +CT = 1d4fe27349bc0d5502a481bbb5 +AAD = f98287a0cf7084afc116c0d2ac06e6c3820c72527ac5f05e191384026c9085d7baafd1fb405d5c23dc5602ea30118164a7f583810e310ddf3438fda4cffb78688e459ce3b9f1b869b587bbf02ac6fd354843e7cd8beafcc3b0a2 +Tag = 70a72ff87a149b649d10f0de +FAIL + +Count = 10 +Key = 68b7b1cc875e4905838cf6e26f3be89e +IV = 7af34d1e152c8d72a22445c7 +CT = ff3cc50a7bd47064aa0767b421 +AAD = b4acfbd6d8a984971bc48d865cbe0a4a57d14ba4d0551d4e071afd5bc512907e0581542c6f8cd69643ba69375398a7f60819b3829134fbbb7af5c700a46a1cdf532f798145ab047069b67a38121dca74e488a977faedb416a7eb +Tag = 38ec942501fe18bd54eabb18 +FAIL + +Count = 11 +Key = 12d9c4f60a8a8eb4c4841b5e8a920814 +IV = c381bbdb0e919b233b27d31e +CT = b8ef28e25b3238e33e2635c04c +AAD = 770f59fc247660ebb3785ce035ded03d79f8fe5a34ebe6c5be7fa4183ca9ce52b91e2bc5dface315dd38de96da74455677710462b55fb5e102f12ac5dec5d1d6c74fb874641ac808fbf7bb70408bdf8de02c2511440ead9f969e +Tag = 55e1902dc460551697f46074 +FAIL + +Count = 12 +Key = 777734703e1f334db04831ba0e70f91e +IV = f915e6f87da4838fd5bc0d05 +CT = 05295742062fda999c16c8f174 +AAD = ab41af15a401a8d3404bffb4b3c548b89cce48e59cac287182a05915d245b4c1632e5cce5be39e52f25b29bd0ce86380679064ffef23b726a7c0579d689b5f6cdba4dea1e80a701ea96165143a361952492b45cc43a5765302f7 +Tag = 93764585c555d59e1a6bdb72 +PT = c0d4082dbfdfedf9e85ce48c84 + +Count = 13 +Key = f8dac1cada3b2ef33cf1eaa4ff8bee52 +IV = 585cf719061565b3f4850cf7 +CT = 016e9fd9c2ada061a170897ec9 +AAD = 3b4cbb13780a6a6e5079d07733823380ffa01edd048c205baafafd777f97557ce9c9b84da29a346a665836bcf8af8668fbf246b9eef555d05aebbdf74f6b9fc66818d602a34c0de662cc5fa5ace9462fef64976237a1c5fe4930 +Tag = 760651f2c164634bcb50afa6 +FAIL + +Count = 14 +Key = 62ef472e6e5fb85f889f0d3966c70e2d +IV = 50f88b3f96b9010946ac153a +CT = 2a738cbf55e3bcb9edcee74748 +AAD = 7edc08be983ef8803fb007f9b432cf22518b848dbb716939d4893f953bedc3a80493a119aade4580932476b2eedeee912b5594a0f7ee8b098727f78e6a49e9d3d8cc526c726e56ec145bc2dc37cf5ac52bd121a56c7643a8717b +Tag = 08764360ac1d16e265af6eac +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 1dd91e15373d982d3ebe129e50b5f11e +IV = 6dddbf6e52c4f14fb37206c1 +CT = 962454ad332be10d93fc5a1729 +AAD = 232df41dc64dea0b1963c73f24655b6cbf9a024162427690aea7a2311e40c62301c45024356dad3c1f40e15ffff231fdcb8942121fa0225718157251f9958dd149d9b6978bfedd121e189f1811bdadfbb5b62977ed1dc81a2cda +Tag = 04e47f3cbbdfd8d0 +PT = d94802b19063ef6c1595ab6c68 + +Count = 1 +Key = b0490380f1f258b44543772c21dfe8d2 +IV = af2c14fb1aabaf5080c98632 +CT = bc4c541367df8d4898b19a30e5 +AAD = fcb989fd706785d8c09df316f82312733f1abc4a512d56296353657dce263833dec4c8f53175f36203b432f4d3754b5e879ea44009b32b923e0dbc5ba4d0d5e42e29c15e3b27226b48a325e02920c31ef120625115c00302800f +Tag = 7869bcf7b1b2ef7b +PT = 43728d1fc72d1c002e4ce9ac82 + +Count = 2 +Key = 49b18db09d53658c61c3d02820a63b43 +IV = 53107c07912cee81a53cac3d +CT = e8911719b7c2fd11beb1413991 +AAD = b22d497d32fb4067a9099c58639e3970fd06515c1e5a367584372cb576014208fe6afa7c8358bd82bd2eafff274870cd5d6468bee43b608f0821100ad12adb88b42b12a05a6bedc4831b9cc5636a0b1dee193c1db962fe4bd897 +Tag = 841b3f50b04f0214 +PT = 83400dbcfcbe6179f6238dfb8c + +Count = 3 +Key = c93b6679334acb2921ac711c10d8f356 +IV = 51e25d95b01261e3f4f9e3b0 +CT = 069aa019ffbe3c3864e7a7f354 +AAD = 8c1fa2680e898a41d4851cea823a3094b9e11e1552255e7b32201006f33715800fcafd50ea3a241db84e0e9420cefdebbe7926989cba456a64d223009886f72f2708a87267ce38808db2547cbb03f39643a105acaaf55764164e +Tag = 777d84918a1d1719 +FAIL + +Count = 4 +Key = 3c4420675892e2b4ec0341a4e2a0f2fa +IV = d42831ae20013ce0afb326a1 +CT = 6c174cee6b8b2609082d300221 +AAD = e2fff150cb877d64d2a74259c0e8c0aeb0b8c33ceb94785f6bc67175c99259caabd023720ece009a80cf7a6c7bd0b6d8e9535477030782d33a99f6ef7f2aac299bec88150e4539483608603fddd349902277c836d0b6df93b201 +Tag = 5b8aaa2cf76bbf6f +PT = 3f7cc5fc4080e70f8750f33771 + +Count = 5 +Key = f2fbabab2406b4611dd6510c0bd850c3 +IV = a28bca371a78fce4b2dc8dc5 +CT = 9c185d0b69ffa1542890a9b6ee +AAD = f89d478c51c6d2fed2fae5a1bff514fff01bbf9393394697306553112f39a90ef35b778e5b2e3666fa383de29752e803457dc120d73c535d08dca51aea46a6f495fe90335297959ec02acfb1bec3c669ac04cbe2f856d175ef4b +Tag = b00d10befc186a86 +FAIL + +Count = 6 +Key = b3ce801c26d981e8e369fd2ea6a9f050 +IV = 6dbc746fdc404d6284366be0 +CT = 5cb307473dfecdff8384aef9d4 +AAD = 54767d19d988acee69087571b4cdd5db41ea5f45abfdfe5a4c09ec05013aada04c30ce035a22e8a71f8d3e866aaf23df52c681f953bc789bf54279d2d5151976daeae718ad6c520378dd32246f6f4b63139556524fe782ba5200 +Tag = 65a2f7d94dbd3487 +PT = 6345bb53ad45e652368e0f1c21 + +Count = 7 +Key = 94fcd6ee0d9852a4d0a28af8fcb6861e +IV = 69aec6e7455ca9ad9b74ac0f +CT = 87dc33cd93a08c2054e5b6e5af +AAD = 277a06cbeacbb86425cca283a41858ac3c64710461d35573f206dbd77f7165cf8c8b554efe7bf4f7723cf971c81a3128d14f2c6ce50896e2a3bb229aa1f400f43e5208791da4886b91431d1ae211b4b183255d065deb39e15920 +Tag = 06c6dd36a6527b58 +PT = 9e7ceceea821c3532658887c4d + +Count = 8 +Key = 6a59662cc131a2f4da12a44acfaa98a6 +IV = 57b103be85205a238763151f +CT = 5976280336952300e95a661342 +AAD = a55ace70a245bc473dbff807822f7f8c4938263399482b4336dffd073b1efd7819e625f01efcc611649dd84b59dbcbacea6c326964aba0c6e10d26403b4349cca848f8d0253b51bf93e7d3b4da5dc375437b2cc2ea08700296cb +Tag = 2b25bd12f4c199df +PT = 871372cdf7cb58627721810703 + +Count = 9 +Key = 90ef756612dfe2b0aa56982c98239381 +IV = b4640505120128f14fb0be70 +CT = 7b64e986f4b8e7ae984fc0c26e +AAD = ef6a6ab568eb843317e74afc93fb27ea3cde2e6b9294b8b94e11eb24f6b4543e74304f8c8eb9b5ef2821c0a4edaf1ae1ec3c7f9fa25727c4b1a0216d7ec4515bb19095eb602d6335be987e992c45af42c355964eac2574cf77ad +Tag = 5a0e8d67e18aecca +PT = b9ced0bf7eaf9111db46d89ac2 + +Count = 10 +Key = 81274aaff906ea0f0196e1c69ec7cea8 +IV = 92a298b7dafc41da0fcddabf +CT = b1fd8b74abc76c8503760c0d7a +AAD = 121b90b9d9b1503d713ec86f98e9d12c68468e1d586a614acf5a4e5cfdab374907a5aea7678d6d1446889cf62bcf49bb8fdf9990ca9d21945d17ab7d3cb28c327d6bd99b4bbeaa7d66fe9a412d9a89f591574a7be946859d45ac +Tag = 4f0475f3aaa74457 +PT = 43b25fcf66e76cb7a0b20949b4 + +Count = 11 +Key = f81026e9ee4cc74ebad78c1cc46103d3 +IV = 4a75b3b39d3736a9d6b23406 +CT = a4fd63b73e522be2d5b88036c1 +AAD = 908aa0ac4ffa0fdbb6eeb5c9f3672a0765600dccdd94594e76b5eb3589fd8392a8ed07745b0a33a0da923dc20a6f2a236aca9b50a781b507754e797bf441fd8e9cbd4946570b220c8a52c72369b315e850ff8722c68020f310f8 +Tag = da1de2d240807343 +PT = 196f95862edcd65554b5a449a5 + +Count = 12 +Key = f84857dd54f0408eb5e033b6a61d4b3c +IV = f78ba5c83e02adb3e636b22e +CT = 927d46233ef6c0b401bd188b90 +AAD = 60d54223f87b219513dc656a81d7df983c5f6a7160ebd506cc7b80bfdad49043e62be49cb03dfaed2ed36d095a326d065cf3fb6cfea3ed58232aa08d92c7b1ff9f93ebc993c847ff0e6b1cd3ba70c5158c2be18cccf4f6e7cd46 +Tag = 368b94a2e9f6c67a +FAIL + +Count = 13 +Key = c36513f7b155330123822177b68ef86d +IV = c0b91970818ef1819620d9ff +CT = cefcd0a3399d25b643d9fe5d90 +AAD = 9ae24713a95f7aa17b6aebd30a93b6c357452da7e7107d7b1445ea2c2a2bd8e5c83644aae9a675e5fd4c8d1b28a10070195d70b07459a3c4063cfb9395f52754274354932dfd38d201686046ffa9f6c0f080f14a0efba94156e3 +Tag = 51f006b249c21022 +PT = eda72c1ba872cb8926ce21fea2 + +Count = 14 +Key = 1380a8faeb0f5ac1c2711547580e437c +IV = 292fe3c45995f294c13b472d +CT = e2df1289f486fb63152d76b635 +AAD = 7da53d9b4ecba5fb7a4a05241c4b7231500fbfff9c19aabbcf4fa7e8f035f2bd10f706a9bbe0aaab8b9bbd11a26b98990f515edfe3b8736981a7ebb01f713348e28b8fed186b59ad7fa9c8c93d2bf91fd8ab5ffd720855baffc7 +Tag = 005720b07583859d +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 525c17c8027da0f59a9d68ab6e8569b7 +IV = 7802c85495f9bc1db0f126b6 +CT = 7e4e10be42e95d972c2217b80b +AAD = e090fcd885df22394922eb142499a828de88c6e29020a0e25ce8733e7d8ee66d5d0d1d24932da722512268821ec6ecef666a21e504a7713dc486803c40b3d3116a452d38617a93f784cb329eda8c81f5672fa0f66b20e5ae502a +Tag = ad4f7f05 +FAIL + +Count = 1 +Key = 5d9b6dd3b97beb4db8129f7a0174e3ec +IV = c643eb3de58b0e89e24ca2ee +CT = a300722eee169553cd5ad5265a +AAD = 39a58a91d12bcd82b9eb33592699117957386f0cdd73ad9710324db1308f5f43a488e107e9f9d48cbf9215c6f07b882344c16af48e39101e99f3c1491c9e7d820e3d7da23ed07341eceb447e18ff6a8b9b002d59808c677a8c99 +Tag = eee6f60f +PT = 4afaa24c4214daa0ebf4479923 + +Count = 2 +Key = 90167c3468adaf8890bbb46d6ff0b52f +IV = e0a2d716a86643d8ae8e5be2 +CT = c589b1b5b4bcd2ca540c702113 +AAD = 5654579c2f9032c87109849f9af35be8fd5a5137348186cc1f6505d980c7a2076c700117fc591b14a1f2840db10154e512cf132bb10c6e34bae4fd6042844a64cc4f418cf5d8e5d84707e10ba5ba1975896aaeebd646ec1dc056 +Tag = c903cd88 +FAIL + +Count = 3 +Key = 0b9d3f8ed0050b9b592fcff49f90746b +IV = e2723665b8c615e1f12b8514 +CT = c9bf93af362356efec059e40ba +AAD = ecde82360c331194072128fc9a1e1c8b4fbdd6a927402fc01138b14621f6e92801fe79259085adaee160aa370523ee17389aef07f9a94956675e001fadc58ae9329b72748e250b2de3a7445b97dd925a0b5366f5b37bdf0c0f82 +Tag = 68e76a76 +PT = c491152de7b8e072d43318b346 + +Count = 4 +Key = b2406461096a50ace3be49b9b7ffccf1 +IV = 2ac52b74562c8d917084c04e +CT = a5de34da2a02c9c156be91e6e3 +AAD = 25d6fb680a2e0a01def2d960c0082265367a5a5dd8076d1e7f5b9703453cca77a3718893b3b8de00fd0ae9f4de21893bc5870dcf5f0ff10cd376b5dd1e0bb920b460e40b0585cf98d70e3854a5196c8e55a82e14ee8e58335b0b +Tag = 248128f3 +FAIL + +Count = 5 +Key = ab84ce1e44a3e13ffc5cf41ba80dacf1 +IV = a7e74c5696ff6d65e7d07d66 +CT = 533b23314744a942961f7780bb +AAD = fb3198eee8e2f7c5b6b20146f1133b17e2ba3be76820b4f43ff65c6a6e45ca1fd5318ffdef9a0e4b3050f4e10e3c5385c3686acf3bf3134685cf87adff4e38e8ecb20ca5c47c2f8513db6e484ae24d69a0a99b9ee352c72355ec +Tag = 7fd9ab39 +FAIL + +Count = 6 +Key = e93d0058aba6d27a90cc16c766a9ce9c +IV = 91f310f6aad69d6613a49eee +CT = f9063f25e0f91c49c9c52ba1d6 +AAD = 7ea4e2f9b9aad8631e3de0739bae0828226adba1e19e7b77435306fdc4a490d050f009fa4392f5780d8e1522f9937ac2181eb94a88457d86f5a4a0966dd44cd63ae3f22a66484ec23704f0640095e2fa496db7104a9ba11717af +Tag = 51f4aa38 +PT = af8d3caa9ad9012ab45237f400 + +Count = 7 +Key = 6b87a7160585cfa8bbfd2bfb3ea5cf09 +IV = 6c561491e8ef61b26389e5c4 +CT = 6afa7796e94c54c7d260e0db6b +AAD = f25f78c59d64ec64416754444c23b40b21bb105459ff6e2956b610a0f8b3de629d70ad9dd2d1ddfa25ee796fafbeac8d365eb17d8074dfec300dc854e40f8077692b687ccd405ed1122658865dbda0e1cd0e0bbbac7ac5b8dfa6 +Tag = 7ce21ef5 +FAIL + +Count = 8 +Key = 5ca8543fb51d581e5171f372bcb2551e +IV = ed80dc72cc61e82ab1b8cda6 +CT = b53b45973b72f34a0f73f7c6c4 +AAD = cd93943974a7a33e0454f378357a233aa982e6a17f4be1d6fb1c31bbd1c4b5646d460ff7f63b1f28ab955f2891f6418ff121a917874ab0c584bbdc763d706872c95a3c9ebdd94d430dcf60c98175c907e96fa444603cc2be968a +Tag = 2931d4d1 +PT = e95c31ec68567918065e00c5a9 + +Count = 9 +Key = 36fc6cc2081a38bcb82b3f7891836392 +IV = 5855dbb570a245925cb8d2d8 +CT = ac6a06550181cbe97b3d2d096d +AAD = 600c368fc5bc1dff9d2f439d422bd5ca18bfd46ef87718accb28376c014ba1e2f6a8ce36e428ca318c793d4eac037f8355042560a2019454931d36ae6fb057853bfcadcd3bb8388aef5dcbf9da3f8d24ae7d0548e25239e36f13 +Tag = 73555e56 +PT = 2ce400dde95ab7539794b83f83 + +Count = 10 +Key = cfaaf34d8327a6f2b327376c76f8067f +IV = a70596e8bc1e7ddd3afe0e24 +CT = 13038c1404b1602db9f85bfc0f +AAD = 2a640ab42d9fae1905d13136f59af9b926e14a2d76591123120bbadc67c7498ab43298f67a0ffc7c276f43754030179c902e85f133c98d49c66ccef70ffbcbc5869ce3184cc52ea7c019b70cc588af92dad5e7149bed8b76208a +Tag = e1eda347 +FAIL + +Count = 11 +Key = 74b16baab425ba44fb56798c5ddaa4bf +IV = ccd9896a2553de2eca55135d +CT = 1d526a1d08834b9a0e51c7693c +AAD = 2c20cac505513879a481a6f69a8ba41944257e53a6394350c6b888556cda11baab9b881fcc35203444fe22afece11fa416ab752db52f2e13f9452d9a16f0250780d7942be0dc8bed7d9049b6856f2a3fa694c2f5ade19af1ac12 +Tag = 40409ac8 +PT = 8959db88eb83122a26e000df76 + +Count = 12 +Key = 31d6882439f6455d15e1a0d2b5f52051 +IV = d6f4595ced78d1db09e0ff15 +CT = 9119c24553da20890bc69259fd +AAD = 7695753f30267433f82ad4ade2b197f0855d12e8998948787812ab43a2b2e03abc14790316354f425d4de7208b98387e021d21c7ccb1d2aacd6aa57c6078efbc1b603cafab012d7995298e882f6962c5acf76e3dd0e2ad540e49 +Tag = 29bbc508 +PT = 9d4d89d1f3f68cfeec97499931 + +Count = 13 +Key = 912dbdeb9b1b357f6d7f6cc5a535496c +IV = c25e24d3639ed4feee0e1541 +CT = 24211423e5b5496beb109bdf8a +AAD = a98c0738727d8bc8e495527c83e8b797176257c1a30d7435b052ad1080efb36cb4475228fda419d8bb22b69376f5d1e9df87dc97906bacdd3a84def6aa556017821f9d5b7c3b8d9b96cd4c4033bc63375594b85ff334e53e395d +Tag = 715f6c67 +FAIL + +Count = 14 +Key = 2919b6dc1f41284a47a9e70fb6e292fc +IV = 5efca0225ca2c979a738e954 +CT = d77c70a7b7b2ebb2e1dad1eaab +AAD = e53f88efdee77316c24a90a551aa73b6c75485001acbe43cd7bcc8314f12f6d8f7e7544ae60ec972654f97459055dbd029fe15719384fa0913494621afdd16c9d3ca266bdd52298964531ad4ef02ccf1f1bdab552ecb4b0d675c +Tag = 1ae1c4a8 +PT = b961df3ff154e9b8823f116295 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = bfd414a6212958a607a0f5d3ab48471d +IV = 86d8ea0ab8e40dcc481cd0e2 +CT = 62171db33193292d930bf6647347652c1ef33316d7feca99d54f1db4fcf513f8 +AAD = +Tag = c28280aa5c6c7a8bd366f28c1cfd1f6e +PT = a6b76a066e63392c9443e60272ceaeb9d25c991b0f2e55e2804e168c05ea591a + +Count = 1 +Key = c3aa0400ea3f5107fbe8aa011e1391b3 +IV = 9c22008475e7a907f7abc966 +CT = 96a06e1fdb0082ebc6441312dd9cd6ed6f7fac745facc368b5ab2a3951bd75a6 +AAD = +Tag = 6e84d66448068f67889404263a047a88 +FAIL + +Count = 2 +Key = 0ab76460d1870b6c989383b615f3876a +IV = 32f38776d99843e9d79d6b28 +CT = fb4d7d8e0958ea76d9489f2c6b5308d75cf96c8e1bc6a08a978a65f0c0f510af +AAD = +Tag = b49a4c6af3403dfb57cf1f4bc25b17a8 +FAIL + +Count = 3 +Key = f02f0436322783d369d552f0d6385474 +IV = e029e6acddaf62ea81f7f39f +CT = 14b4e53213de80bd995468df293a6bbf2452846c375a3706738db45e7c5d5ba6 +AAD = +Tag = 8a8a3c4693256f8b50160554824856e6 +PT = 45ee8a0f38f91785bf8cac4bd05284249a8035eaec0e6e1946e0ea83a0ac3271 + +Count = 4 +Key = 693246ac318ccbab8cc852cd28415b75 +IV = 1dfe6aa73ffb680dffc10367 +CT = 73fc0c82a59165f557ac3c9a43a780ef2d7b55d3a269677ad9ad123706b85854 +AAD = +Tag = fbedbf6b9085e06958a50b329f813346 +FAIL + +Count = 5 +Key = 8767a7a8be83374dc75b0891c4fffec7 +IV = 498aecf672c73dd81aa966cf +CT = 032be9ca32e53e130f241d7a27b4959a6e2b71c98899cfdc66806a490c7fafc6 +AAD = +Tag = c3918262698ba9d30e329cad60fb3eb2 +FAIL + +Count = 6 +Key = 7d34065ca9982a64b0603a6c080bcf4f +IV = 888872c261b3596692ab96c3 +CT = 9bba3cc23f91eeae09269f9402967bb8b376552461faa10320741e861d3a2e71 +AAD = +Tag = 954e7fbb62b622216fb7d1d2f367eabe +FAIL + +Count = 7 +Key = 8f76fe87c4ce76ad7f5e5858030ee64e +IV = 0b5c3b98aeab6525f0cbff7b +CT = 37b795a6de594f97cbd51048f958caa56ea04d6ffd42683364857323759d0406 +AAD = +Tag = 1ce35f577b0661dcf1858b92061b4d77 +FAIL + +Count = 8 +Key = 9b8259870255aa4a7ebb0e5ffece4396 +IV = c9258baa6b7720f38d8f5a76 +CT = 46c291e1792486d98d5aef943e11c215ad38030861a14013014b34eadc771296 +AAD = +Tag = ef28e61958d92b8a2c26dfa69a3c3577 +PT = a3432fc525848dad2a4bba5971bb51ba0393ee8dd61989124c6c457b91c25b88 + +Count = 9 +Key = a00e8e77494da619e978a6d05bf86444 +IV = bdee5a78113546f33d1cb13d +CT = 68f25dea2677b57a19814eefb45c88f6f5028c6129a6d6e3f94da50373e9a1ea +AAD = +Tag = 0005f814865e5bd29c310e1b2761066d +PT = ca2c4ba89d911f74c6d89ee4f3a78f3c9a0e00017d262377aa334a782641397d + +Count = 10 +Key = 440d2393c60bbed9e804722d1ecac07f +IV = 578b96349a4c023ce12eab7b +CT = 68399bd1ea4dfbe7a91eadb3d6ee01e9f3267c97de2b6ab855d297918cb70065 +AAD = +Tag = 73650870d30e379d67858df44efa3b3c +PT = 3ac46dbb93f803235a6df55023aca55449764e91f65512bb9ff0b194788f92cf + +Count = 11 +Key = 8a1877e0bc1e79d88a13684abc216539 +IV = ae660679b01bbd1982960ee8 +CT = 3791e561d37ef21ddaf019a116f5609817bafe6c1875572f5dddc7f4e0728acc +AAD = +Tag = 0d31783e7586a137b81b5b41d1ee5896 +PT = 3f6f57db5b4c4ea4e5528bbf4b0a689c0c169a144f8250301ebdce33cb336547 + +Count = 12 +Key = bffdb949412bc1ffd379a8bd5d1c618e +IV = c8c352f9c47471c5ea3607e0 +CT = da123abf79c0f873d2c5eb65f7b9c4753d96788b1ca6ef8ce28a741558ba18b8 +AAD = +Tag = c4f7344b1fcbacb86b540e741d4171b7 +PT = 1d16adf20389315f655c22284a11b4c5f1d1a45bbffa6e47dc37751185df35c0 + +Count = 13 +Key = 28b5097f0f30860b587d5268365cd77d +IV = afe9269bd8e01bc5a8aa6ee5 +CT = b6da1df24fe4a75ed3745bf71fb1b3ba11a3810a083ba6ec1c39f979fba6ffc7 +AAD = +Tag = abea36a6da655e7aa7d7073bf936865d +PT = 276f7984d55a96f3250bb29bd80376ac54b737dffa6c99f06448cac814b6832e + +Count = 14 +Key = c8f7bc883121ccb5ac678a5675234d14 +IV = ff2929fad279c1f216e84ede +CT = 60ce0bd7045e77f84c6582343100fb7e1d299f07aee23189b38f5d4f93dc4519 +AAD = +Tag = b31a35203371f6ae6c1900301aff3932 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 844c6b21ed3b8d7f1e3094142858008b +IV = 58e5f0f4e12e48fc4f444dff +CT = f4d0d89d8ec4773d00d92ccc01075f93cbdd1e4412444ef815dd324083456634 +AAD = +Tag = e2331cb0d4bd706f41b7257ad3cabd +PT = e1c9f97ec2eec9b1dfd647c0ba47fa8fa8ce5db0400ac5156e9610582db78438 + +Count = 1 +Key = a158cd21044326f7514185964f3b578b +IV = 19f3bd26e937e35d5cf84b5e +CT = f03fa5e1e140d423f1d1db6c6550d34fa6fe1f65f0e7b91b166dfad42bc71673 +AAD = +Tag = b877820d1e4efb2399af7044cebcb5 +FAIL + +Count = 2 +Key = 32f636b33b96bdc5d30a0c8a0d2aefd2 +IV = 36db42af822019147ca852bf +CT = f6e1fed3b37d88c283be5e6c8c4efce72774e32e3935ca360dc312d3efd0e6eb +AAD = +Tag = 0fdfa25fe5a461daa21c3753cabb7a +FAIL + +Count = 3 +Key = f3debf546390073b5bd6302e865ca31e +IV = 0757661860dad6be3b478d9c +CT = 4acd577e9a31601b60c659381f2f8d550204afd874512a3d56e67898e22e484c +AAD = +Tag = 97c1fa2a6fc06f45aeefba05aea075 +PT = 0e4b53a802fce667acb26767ee3a3959816cdeb10b17c175d113c0f8e21ccb20 + +Count = 4 +Key = 72c895b24f32b19cb83e7f9717b9ff42 +IV = cfdf16e9ed3e891470997ece +CT = 1de5f1202a8f49bf293ab3876ceef22bf8b70946a2d71cad7468be707221e306 +AAD = +Tag = 71d6129464f6caed93c0eb48bcf8a2 +PT = f4da28356715cbf916b0a23773e238832eef27d23e44becd19b78d8bd43a4e2c + +Count = 5 +Key = 07eb9f1a8338ad56c77dac5cd9ad6ebf +IV = aa081738d7be30a4bff6c290 +CT = 901a797e73e6fe6aa3bec7de6038de3fbd01c5bd7795b969ff6ef96bf2dba011 +AAD = +Tag = 0bc585688e913e95a6297b9e1275e5 +PT = c67ec82ce2f1f052f4e9a30971171c8d47fdfc3046bb7d11049057ac09c584e6 + +Count = 6 +Key = ddde286fd63babeff96e50fc595f0e50 +IV = 0ca224737e5cdc7e7b3d5a92 +CT = febf4f7ec7cb6821c46fa4ab02f64495d9f28c0070ff20e9c53ce9d863619a49 +AAD = +Tag = 13b016fe3679438bbbd3f36367caaa +FAIL + +Count = 7 +Key = be8393634ad840b66da89c9cc4383ffb +IV = a4b33b68655538914ad0e9a7 +CT = a13faedf58e6415059604d1f280a1a107c217ed5fac4530a90346975a857d92f +AAD = +Tag = 1535744bbf040e6ba60ec382c8f1e2 +PT = ff3d7103196cfa8352f6aa0d2f4b5f5316cb8f17d40ceffc7d3d323caec605bf + +Count = 8 +Key = d60d506d35a079ba5b50cf1097c94253 +IV = 0782ea02ede85b5ef1d18803 +CT = 6b7c352ab8bf3da6c0499409ef46e4c799d54e5b0c0255ef2f20fedc24582d22 +AAD = +Tag = 5ddae4f1e15865614b96592471cec6 +FAIL + +Count = 9 +Key = c089579461d7d498c357396be5a2252d +IV = 4b2bebf801946d95c29b2003 +CT = 5d9c01d74550157e9235bdfbf7d8dcdde0eac469b4442d687d5239e60518c841 +AAD = +Tag = 88b63fd21df45e448a95841953b3e1 +FAIL + +Count = 10 +Key = 243d74ae3167a55017c5232ecacb8020 +IV = de8f0d3916428602bc2692c9 +CT = fa33213727bbe39171fc7ccceba83d05397dccf72dc9a2e7b4399682064de73c +AAD = +Tag = fafce8b2999fd00830d4be78f7b9fb +PT = 115da777dab79d3d0fcb6d57bb0bde9de1caedb90f7453f4cbcf505de9902e2b + +Count = 11 +Key = 7fcb6612f34cfa33ff30c2e567325617 +IV = b95a24620538b73f18607d30 +CT = aa67cb2a3a5a49855f61d3e6d9244cdd82d7078bcff5b04ea6c3854891e8f9be +AAD = +Tag = e0c2263a630a8aacf037e96e3b0fdb +PT = a832a825137ff75621bbbc0ca64492a594aaff5766f27949c70304359c189d1f + +Count = 12 +Key = a4e257064ba0f098f49c2459692a6b32 +IV = e78272676f6130523a4b6982 +CT = c5d9517baa5539656c2d5d337bb23b4dcdee097e6729925e1c11964c0a7a6362 +AAD = +Tag = 9ced8d6421377f6dd48ee9afbc374d +FAIL + +Count = 13 +Key = 647ddc0ba5f474759958beb82989f93e +IV = aa1c58bdf63bdaaa3bd818bb +CT = cfe14cf8b74fbeb94ec048b8b0bbdc9e84b8a2e60a22a00bc7a227e683d967fc +AAD = +Tag = 3f7b594f5b47b55f297060cfa3264b +PT = c430ba3d3dcde67271fa7be3cb9d71353d50e375bceb039cb50191e89e9967a0 + +Count = 14 +Key = 6bc633947558a3b00e73afc12471014d +IV = 48bd4533472c1a8ca8e291f8 +CT = f859b16bd3bcc7328edce3d3524aa588843c69e47a86ed7f9a9b54f99fc44853 +AAD = +Tag = c9418a4e577ba8371c9d6dbb5be02b +PT = da83433ab7abbe241d42c9006f3da80caa835c071818f7a05fdddd0f653c8507 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 73ab51d6de85c485b7fbeefbcd925ee7 +IV = 1d8aedf5ffce9c0a7075111c +CT = 02b6fd0e3e3ea5b73c8836b2af21a4369580fbdd4727fec9dcddfc22eb410cf5 +AAD = +Tag = ac5c539517462d903a46eb0071c4 +PT = 2aa036c198fd1c47d6e3d49247e6c377c5167e89ca087e912653d226ad8ddcec + +Count = 1 +Key = fa52f31849ad0d69babdaf5f7d138048 +IV = 9dbf67191540e5c93b475e6c +CT = c7ef6932e674ea544ead8be6d469a84bd4d6cc4cee4fa1556b265e298a829536 +AAD = +Tag = 00768e5cfd751cced9d9266ce704 +PT = f16ae6e20fb0110bf02f0876ccfdad0b83189d2ad7f83892cafbcc791ffb4706 + +Count = 2 +Key = bdb6017d93674b3a21d0d09c264b3aaf +IV = de8fda6cc767f002d15f93ab +CT = cc40de66f187cbf0551d2675387ce196901a4f14aed5e17f28fab9d02a6063a0 +AAD = +Tag = e6c3459613c4ded8192ef4f31ca7 +FAIL + +Count = 3 +Key = c0a172cbb61595ce4fe33f8a5c8b70af +IV = d7cf4a5fc215dba0170e513a +CT = fcf49aa52b64dc19beee0b25301f0a1873146b9edd006ca17b0091b84b6cd2b9 +AAD = +Tag = 22f3bcf5dbdb5285d5e09ec72fc8 +FAIL + +Count = 4 +Key = 35a6da0f789f2c7c8cf84684c2bfd74b +IV = ffee826f3b5c8bc734445d42 +CT = fabbcf7189f462bbc9d62e7254aa9a912bdfe7e6fe389d1791874c60df829473 +AAD = +Tag = 4b1a7d8cd4128d82b1db6ec3517d +FAIL + +Count = 5 +Key = e9cd9562fc3016800a8415dc5d6b02b7 +IV = 7821b82ea1af76a19e8840d5 +CT = d530137c1337aeda705b8e83401c2856b410511df8ad627fb44f45588c27a866 +AAD = +Tag = 0b21c47bf523dc849162063365ed +FAIL + +Count = 6 +Key = 4bbb2368b5c2083f068e99b4b665d1ba +IV = ce585425171448a2c677c989 +CT = a8d82c77449543f2d7fdd30eadfc5bde6085d755a38abf40df788001b2b1963a +AAD = +Tag = c0ec1467ee6a774a1e65ac4fbffe +PT = 3d59adcd9c3df43b97ade0de2c89761a8a8436fdd95163006f10362cc7c63e92 + +Count = 7 +Key = 2b8278addb03a51298a9f969069661fc +IV = c492024ef35357aabf13ce25 +CT = 19f04feed46c10466f7f9036a7c5ed9e2d76543cdbe41d95caee761524305a99 +AAD = +Tag = ad085663cd407446c5d80f33761b +PT = bdd7e8b28644e891b52d6ecd2d125d7aba5876a5e52c123908ab9cf3b97fe77c + +Count = 8 +Key = 960d3e02d3fe07c6582810d2c0f85826 +IV = 808712289880dea7bc0f9a2a +CT = 7fc8512401d55c3c39fbc36fb05dac6dc890ed3588270cb3ebae6ceba3eaa4ec +AAD = +Tag = 077e0d62cec21f40ad15148ffedb +FAIL + +Count = 9 +Key = fc29e998a9476bbbde5d8c66220bf559 +IV = a436e00785e658e4725e3f0b +CT = 868467a57483f33d28f74f8ce2880dc39d0719bc264091ca4a0365d5753fab35 +AAD = +Tag = fe6bc1f16d3aa3803d3556e32589 +PT = cdcbfaf7fffa331316139b45e2d2c837eed43cb0f957c7249cd6b186eb2480f3 + +Count = 10 +Key = 3e05a2c8a3dd5d6cb3d87dc824a70706 +IV = 5a03359890d2fc2e8fa1495d +CT = 538a01f963ec2bebefa374e8b58d88f4a887fcbaa7e1af3f579181d6a3823232 +AAD = +Tag = 6a1610ade5c47fd5336c55d46e7b +PT = 09920a26388acdb9852c97e7731f8eb2935b1bb8064011f0f6dd2308f1e826c5 + +Count = 11 +Key = 85054d28ae424b96d77f848add26cd2d +IV = 1c57ac499cf475a8e7d8802f +CT = 1cc39ebc8e38b443d3d5574c73905be8a14c93105aaec70c6c7775a668e0c573 +AAD = +Tag = 0372ff8330ae09d99b8dc51f2f5d +PT = 6170f06eb5d38a855aff5c372a74d14f7d523f7138f0d30a0ee28f3030726b42 + +Count = 12 +Key = 07a78a25c72b9f85869921e0d92ea965 +IV = 8b886632333764387962b053 +CT = a67a738d0142b3df49e22e17facf34a47bf2ffa093a6bfff15558bde18dc36d9 +AAD = +Tag = 233f7f3215eeab0fb9f728dce292 +FAIL + +Count = 13 +Key = b27be99c7c1797a1320349814ccb9681 +IV = a3f9abfa0173824ac4e87841 +CT = 98aa638e5f7b26493521a71b14c7b790b87a63c7814dc1b0c449394b452c3087 +AAD = +Tag = c008891dc8df4d8222134640474a +PT = 01f6cb5365fad1da1cbb4337794dc56a091c49e848e6d2609f5d23fad48223eb + +Count = 14 +Key = 5e72575e599306b029628fe15cbff776 +IV = 05e3a82a9514cbee35d9e038 +CT = 304b28ab29b20d4611cfce306c5ce13d3d3e4fbcf2e20c13e36ce98c596fdf9b +AAD = +Tag = 42a8dd7756296b30683c66f766cf +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 7c709d405e3bae2df714036e21675bd0 +IV = 1be8ea0ee946cf4ba9d92566 +CT = a53b8bdc087e973b63a51f5e326a2d629de97c412ced9057d6245014d77a35b4 +AAD = +Tag = 7a8b2915545d9489368da5e7cf +PT = f747f0b92403a9e20d4a015c2df42e313d19f976326777e444d15bec968877ba + +Count = 1 +Key = 9cccd6f2a33fe9f4deac290c6a29bcfd +IV = 803d102f91cfc57f54c0be22 +CT = 3b7cdb7ac07b341b1e33009085ae402044f3f4ca2ac729c174a5ce62176e2349 +AAD = +Tag = b3f4f5f68b60db42b0727454db +FAIL + +Count = 2 +Key = 66b944647578b6d24f4325774e337db9 +IV = 5f76baa7684fcc436dc30c1f +CT = ba9f4a7a8f38150d6d57c8b782c50197023ba8de0320cd91a97fbe594f9e5eac +AAD = +Tag = b7ae6c7d4215182b1d20887c1d +PT = 5cbe1c7b59c278d6960eee2ae456c87a273a85b905b1a1680dd8f233c93b9056 + +Count = 3 +Key = e03b5098e057e991271fd05ef80cd2b9 +IV = dd7794feec7ce36682e9b063 +CT = c6b21c834966f2b05d1557adf6f3811098442e5f8625fb1bdcb08ef96b1dd47f +AAD = +Tag = 8279e9e44e607f1a8c69eb9268 +FAIL + +Count = 4 +Key = edc06571f4e90078d7423678943496a6 +IV = 7e9737c055de91a9b2fa6e51 +CT = fabc7ac21054b7a84d8b4624b2b8f4ebf5d64af70b5576cb00fcb18fadfaf95d +AAD = +Tag = 581d596b8e71b5a1d70f1ca7fb +PT = 4661187c4ea3134c9287f700b3fad7f50c9f3b083297466109b4710c65ab1283 + +Count = 5 +Key = 96bb2c54b6fadce6d9f28f855f0f3849 +IV = 39a7292f66d786a72b7bb733 +CT = 0e8ee65f2e0696863d62912a4b819b267edbbf88f3ee62e351f473fc086d41a2 +AAD = +Tag = 8e28eb89436acac574c7899d31 +PT = 7d32a93646a23209c333a18527b2bcb9412a7d08dc360fdd0be0ee9fd9bffb90 + +Count = 6 +Key = 91456522d9a52a34f6c55e6ffdc46d20 +IV = 64a6a17ed1f02035ab5b01b4 +CT = 3b75df18f7d37b660e91210c8834d898cedadac1e6048a04de3ffc81810ca173 +AAD = +Tag = 64ca5e7f0b8ecb66182495c1e9 +FAIL + +Count = 7 +Key = e37985a5a0880587c843e1c293cefee6 +IV = 5ccb1edda8cf81f36e56f2aa +CT = 936d48994af510519a081bc52b6bd6425c0d47236d4c436a333228cb4219f5c9 +AAD = +Tag = d3c01cbf438c54d1a4c52523af +FAIL + +Count = 8 +Key = 573fcf50d4b40b32e7de7e9120b6ed9a +IV = c5d6dd22e7bf25bf32360386 +CT = 6f1a30cbe49e37a530f664730e73c22e770d8c23c8ca6a1f88ecbcfb8f40062e +AAD = +Tag = 0b4178f2161d8a1d9309a19395 +FAIL + +Count = 9 +Key = fb4c2161c2bef9b0002e731c758242f5 +IV = b277c0857488f6bf33e04d90 +CT = 8d28957857285ce49af1755ac9b69a33079e89625d9c2e4f00c6e192346bea33 +AAD = +Tag = 5cea7f2a413342093000124bfb +FAIL + +Count = 10 +Key = cf6fbb2b483c159d0ec3b18d50cc59c2 +IV = add1eba2eb71b509abcedf85 +CT = 2a2a36f8fef670f4b99bd9a0c60e77a2c5143c9dac96732ea403991874075861 +AAD = +Tag = 762fc558e1eacb696bfbb58e54 +FAIL + +Count = 11 +Key = a1b17c7bb79974be6455f8f0c0bc7c7d +IV = 75df409f0858ebe1ee541397 +CT = 59e5657229873de36f430e8ac492be941ece296ec2db40d7e0962acfc89d3d1c +AAD = +Tag = 54587239a03e260be821fb4a8e +FAIL + +Count = 12 +Key = 75fbf3678cc42d866a6075b258b4ed18 +IV = 526db5677b1a3f38b3cdcdf6 +CT = 2bc750b95d0824c273c1a60486a8b591eaf174d7816b32b7b925e480e1e6f846 +AAD = +Tag = ac7bd742104a29d55b28d48b35 +PT = d694dcc5e9a5746a6955066f5e215cd15f66d14c65910d9237c073a25aaa02d4 + +Count = 13 +Key = cda457cde7db438956d312067854365c +IV = 302972a89053e7b3e9962fef +CT = 66e68ddfb841f97f2b06138324e5efdcfddb380acb01b98d7dea666817b32e90 +AAD = +Tag = a03ec132befc33bebef4911c4d +FAIL + +Count = 14 +Key = e89f0ea4258f40246a311891cc494f04 +IV = d2fc1bf1974bb8a2ea615990 +CT = 0b8a667807eeeb52d0ca90382959a6a043509d28ed7af5cde947c7346ae8453b +AAD = +Tag = 46b05de70eb58b4ccca7e7a501 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = e642934899f17d73fd170bc74c690cd0 +IV = 95cdaee9b4a5b72faf7b7488 +CT = 5adf230409b0b6f7f545708c24f1600cc0823ce7ba84a8d729e8df8d9f9dfd88 +AAD = +Tag = a85454519b2cf5e7380de7f7 +FAIL + +Count = 1 +Key = 2bab457139983a5d704f1f4fb6a653d2 +IV = 2134b8fbd01022d084a6dc04 +CT = 021b8d775f88a1b015940fe7dd6446f010a06e0dad34a042466de586cc8439c5 +AAD = +Tag = 5c9af63a7b7f104ede2eb6b4 +PT = c116335a23cfea0ad398d30ed868dc941367130242d838655b5ab581881e0d19 + +Count = 2 +Key = bbe8da0958a49b3bbdcb3a4a25745681 +IV = 0b016ad26c56f6ffd907d700 +CT = 1e414b51ae288bc84aafb6f96699ca5dbca1d1614ba3cf6dc9fc45c6988041ab +AAD = +Tag = 63b2232a13be99ede4dfa90d +PT = 084c2b5d9975bf1cfb0edacf98e7cd8248c16613651e2cbac64b68ba71cd4539 + +Count = 3 +Key = 13f3a1e678220dd46e523dbccc1e7b99 +IV = 32e3ba5b785328ae25482800 +CT = 43636a33dae2be548f010ee8894871dd8be2d450f28846e62c91b703279a6b95 +AAD = +Tag = 5c676762ac1938762fd7e9f9 +FAIL + +Count = 4 +Key = 3ca4136815c09c145585cc9efcaddd43 +IV = ee44f8bc5efea93d4c0d7588 +CT = 4f8a0801d87d4fbcaa889f40b76d818b82a8e32216f62a76d41b2d4782d8da79 +AAD = +Tag = 74e6245a71dac61baa600908 +FAIL + +Count = 5 +Key = b984827980ccbb0f1868cc211a85fb16 +IV = 3bb5f34c03db536b388e0004 +CT = 4b70543471963f61df634cb70937e40d12bf1ca8773d61523c7f00024922846a +AAD = +Tag = cb49690c84c67ccf36206644 +PT = 306c726d2a9d319b429ac8c1c462a1e0ce73e14c21ba2f34d00fe243273525dc + +Count = 6 +Key = fad538b40e55f1af7aa8b9330ce3622b +IV = a67e7bae4bd323801c7c0ee2 +CT = 4eda57c64430c9e27e6043d0c9067e0eaddf8e4e115b5f6d14613dd84324298b +AAD = +Tag = 285030c5b921cafcfea01ed6 +FAIL + +Count = 7 +Key = 0e76e6f683d084641e0653e0594f9e21 +IV = a61209f41c2916aebc399920 +CT = ba7cd0533bb3ca36e2f5695719e70f482893d6b99e789894f50eee54374aa1f4 +AAD = +Tag = 6f6b65d897c61c45800ec49f +PT = 4f274eaf79b0e4ae6e67f95a1e7426eb813c183c62111c0ae91ae2c824f43e82 + +Count = 8 +Key = 5814bdd4fd9837fe0083a8e40496232f +IV = 190d4e6c764dcc8df667c1ae +CT = e1817a03f9b1ed1ff51e084492b4c424e77d9f1a79c2d52d4ee4ce6a3629c184 +AAD = +Tag = a8bc6f27bd5a29a6a40fc139 +FAIL + +Count = 9 +Key = 0f67d16e98faa9f072ead3bef2acaa05 +IV = c53367de24f8e030db7698cb +CT = 7cdc70a48f7fbc8422b48dfebb4ef7f63839ffc2287c561567518ec79d2ea430 +AAD = +Tag = 0783827f21ee85607ce77dd8 +PT = 35985f693e26047477efbee04b392b86edda756645fbb5097131c0e178ac6b70 + +Count = 10 +Key = 137a508b2edd3921e8dd579d1ea892cd +IV = 961280e0e79a1efbdb320963 +CT = a0e55420579593ff15bf35ab000aa784484a70ae26dab6f033034a0123b9225d +AAD = +Tag = 3b6f4f423140800ee3a0f791 +FAIL + +Count = 11 +Key = 49212472eba0cde73e3b7d433e16b795 +IV = 0a01be1cbda13c29a0eb47a4 +CT = f9efb6908411ac51268dda8e6d050f0d35e2d5783aaa10ba382d6f212a9b17e4 +AAD = +Tag = ebce3e5947f8dafa810abb21 +PT = 7358a79f3639981ed1e1d74e4b983780f7db59dd8cf2e0f4133a25def6404ef3 + +Count = 12 +Key = bcd7d6d8b85dcb0392c4ee74fb6ddf48 +IV = b170b9571eb661394c2eb8b8 +CT = c7ae34cf1bd373235200152f8faab0c60aeecb7ff62da2d6b2c15631f3f8bf63 +AAD = +Tag = 830b1345ab6e5d45ce1a8ccd +FAIL + +Count = 13 +Key = e3dd4b06cb84e178add67e8ca11e095b +IV = 86c2120e691f6dbd1f50218f +CT = 7c36bc42461ae1afa1c1d4bbf2b091cb1e531a006bccb1663efc260171703c25 +AAD = +Tag = baf00564014bbce42eeb147f +PT = 1222943d4b49fda67a27879f8740f71898300b130dc4516b4deb255fe70a09f4 + +Count = 14 +Key = 3bf6958d76a63498d03f26a02ef6425a +IV = 5dc91a9bfcbd12560588ca96 +CT = ac457eeed9fb966848c2eb83f9a3a0ad203198d6afa85d893c76493ba9ada506 +AAD = +Tag = dc3bc2c093a6160a2d662e13 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = a3860ce5dc0a1ee87257f8d2c435a3e9 +IV = 68bd96dd51d71460a0b87734 +CT = 65a1ad220bb6ddae1ba02a5f36ad5fc0340647ba36aec4b5f66aaa1a5349d7ff +AAD = +Tag = 1d1e0b6949cf9add +PT = 5294c2bcca8b0dfe2a6818d90a5a53983de576bea5b4bccf06aa4ebf91c02459 + +Count = 1 +Key = 6265955a2702187c2a44b52d2d5d08a8 +IV = 45ddff7bf918d641dd4904c9 +CT = ac3b76b2ea236c5c03eb18e2790e42356a2f653fedf65aa85b5e28cf13b966d6 +AAD = +Tag = 5ec0ce6ad6e82864 +PT = 126283965729f402ce97d76e02c2cceb873b8a46448f3992f88c002a35448439 + +Count = 2 +Key = bd8bf21971617915b936a324cfa60345 +IV = dd097ceecb36b2b244a6cd79 +CT = d78f5b999dad66636154e220583bc914993e93a48abb0a452514106180fdc17c +AAD = +Tag = 150a8419474e5a88 +FAIL + +Count = 3 +Key = 27970bdd9fef48fcfd5893485bbd930e +IV = 97bf175a3418d5fd45a649d1 +CT = 63e6ce13ddf60664c8a8d577e7e7c3b9973d2010364c4748a0a2a79f03866596 +AAD = +Tag = b6811c7e9beff5db +FAIL + +Count = 4 +Key = 928aa3269cd86c2431f257d8e2beae66 +IV = b57695ba8addd15b3c96ceb9 +CT = 79f36083f45d65b0363a52676fd8550c1158720ace45a6d344e779b2ae3944d3 +AAD = +Tag = 5de1abfbf1ddbae4 +FAIL + +Count = 5 +Key = ca8b590c87623a8ffc177524b6dfcd96 +IV = 6b8f22e34a6039420c4ac974 +CT = 7369656c8178fa12ccfec48d98a02d8818a5dc37d8448e29fae9b6a68ccfe127 +AAD = +Tag = c555d99701582b87 +FAIL + +Count = 6 +Key = 19be346a5a623da014d67675903b641b +IV = 58af5abd010868928200ea50 +CT = 681ab890df751c7bb72eb83d32f944208bb37c19dfc159c25bce70667caf5353 +AAD = +Tag = 0a8cdf1de6bf8cdc +PT = 0bdd472f2d5fad71adaf4cecea17ee468fe2bd26494501b5f08f55c77eb4d182 + +Count = 7 +Key = a4f9dbce0389df486390ef44257a31cf +IV = cf7edce8e85def3beb8ecdf5 +CT = da8d539a93475a58e3a091508818708659c40e68430e4cd5b0303aa6ae773b0f +AAD = +Tag = ec38d78f60ec5888 +FAIL + +Count = 8 +Key = a096d5ab0c5ecf80d6473c19d85e8a7b +IV = d038eefe0b1cc4d720de2c16 +CT = 1ace683b959c0cc4a45d640cbc8e2ac830a87b9fbe58b5322c893bbafd869277 +AAD = +Tag = 6f2ef11ef88f6c00 +PT = dfd57e51de5817182300d14389e36b153386aaba16a7d03205aa6ad118305d6a + +Count = 9 +Key = 08ed77989f16372425416b6ece5f4246 +IV = 39951fd1d2f2ae572de54a57 +CT = 2d2fcc269783da6af415e07d0b7f2b607905fdfcf422651487b3fa8e57577515 +AAD = +Tag = add819f7d34808f9 +PT = 395cdd17330d85b71e1708556f620adec97755abd55f15821ecaeabbd68dc81d + +Count = 10 +Key = 4f1ddb30b1d8f0ae89fc75904a618d50 +IV = 1360446dd777b5d45d0f224b +CT = 6fc5aba341d521e9f7ab8dd44a49d640d43d7873ead4f4bec408f208b6aed562 +AAD = +Tag = 93deeb4d2651334c +PT = 0cb671fa9838ba7c790125dfca35389b05a9faf7f9d9588507754c461e6da66d + +Count = 11 +Key = 841e70b0d1d78c393c3c93fc1d54c5c8 +IV = d9009afe6c70fa32cf09d0e2 +CT = 7dc0714d460e5d9b119ec696149ab45a4abff76bcb19abd2ed2994b157b513e7 +AAD = +Tag = 80cf572a60089f65 +FAIL + +Count = 12 +Key = 99cc2235967f202e313e9595574df6b7 +IV = 238379d853da645cc96a447f +CT = e9eee4bebbcc01df5a7f1b527e0f67893455c6983f7ab8732cf629c610f52bba +AAD = +Tag = 34693a74fa18e0a0 +FAIL + +Count = 13 +Key = 90b1f1bd757976dd674ac031abd7a092 +IV = 86421aeb1fbe9a5e9f542ca9 +CT = 82a7ce7df7f449646329437673f8fd22b9dda20ab5e73b715f23eb564dfc7862 +AAD = +Tag = e0bbbef9456b194b +FAIL + +Count = 14 +Key = 8709872e8a1bb957f2901e69abf1bbcd +IV = 506617f80a01cc5f16f64096 +CT = 8bac397ed583712763e532253c249f8b019e02b4706edb03a2347fa8f613c9a9 +AAD = +Tag = 39bdd83410116da9 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = de2ec266541384742542e00d1b88d4d6 +IV = 8694119e625d4ef44a22e588 +CT = 81778754d3383f4fdc14e02af3ee77005a2789ae62de6452b2354e8c921629a6 +AAD = +Tag = 443944fd +FAIL + +Count = 1 +Key = bf557092090dbfc7d18ac855e671393a +IV = 9f691063c3de9e1250dd93ce +CT = 27a77303ee53ab0e4954414a96d69631cbd88873fc2f9bcf50bc96b22fdb0c03 +AAD = +Tag = 1e0273d4 +FAIL + +Count = 2 +Key = 54e516a9ba5c6f7305a2866cfbb5d148 +IV = e23f633ac48fb9455fec4a6a +CT = 5a9c7833125651c015d58c9671017948da9fe1a6b7a00a430b85dad2796866d6 +AAD = +Tag = a6cbebb7 +PT = 8a0b4674cdfc7c849adc7ec53176261b862a5580b6f8cfff50cdbaa010e08006 + +Count = 3 +Key = 9c0021fee9863eb889f7c065af95be48 +IV = cb79b909e102a4c9573ad17e +CT = f46eee018154dd301283ee43e3dd7452dbe47e5c7e23b5b3c60c96a01cab7713 +AAD = +Tag = bec1a2f1 +FAIL + +Count = 4 +Key = a8f648d3fd02200c8910c58adae9279f +IV = dd5b9578e3026a492703b495 +CT = 673f7ce2d2b7eeefb94cc1f8919841d985b35e6e7f517305ab52b87376b1c5f9 +AAD = +Tag = e85d3387 +PT = 6e90a55021175669235cfb8f7952c3f32c4f0357db1c387e38026b7778f23f27 + +Count = 5 +Key = 2a663b7e5e7e26f818f8a91c7661b86a +IV = 16dc0ceaa2531a0081362e63 +CT = 9393c9507eb0a1cac57d37875690022038bd930e913540af5d41c7833e00ed41 +AAD = +Tag = 935d0abf +FAIL + +Count = 6 +Key = 425fa04931e6012d4959486d37a765f4 +IV = ee99987b82cc672ad74c3c7f +CT = 7c254cad85c244ec77a0e803df71e388d89717ad3169b212a584e1d68e8dca94 +AAD = +Tag = 3913d503 +FAIL + +Count = 7 +Key = 24ed8b8a3fb09ae16caa9a358d3726f6 +IV = 80a089a92e0fc2501a065f43 +CT = 5bf9977f896f9e0758b47ec82e35f30cf5bb9db46a9be89bfd5d7dbcec6dce31 +AAD = +Tag = 18ff530c +PT = 1f5a50a8242be0558b46bb6b9230448264599729a9fe132e8eb03e507fc6ed5d + +Count = 8 +Key = 08d5c382a7bde6e7bbdff8a2532a4e74 +IV = e3e1909b4b7d74daab0516c2 +CT = 1bcb0e228bf16db717760b11c3946ba1f985abaec502cbbab9239b7699f7ccd8 +AAD = +Tag = 55dbbf6a +PT = 407634f823cfa5598e6d2c7785f1a9aa4cca07d3adb4e108f35678610a7bffe5 + +Count = 9 +Key = f4246be7175cb2bd45c0116735ec83cf +IV = 0ee18c77004c54eb0ebee813 +CT = c75816de7e5f11aaa9006a4b3da9167f4fb8116a4fe8207a71594d8f20429c04 +AAD = +Tag = 5d31687f +PT = b79d6410bd052bce2e03d647d18d012822c4eb726230ed7aaa3d82b2d77527c5 + +Count = 10 +Key = 9be1734bdc6325543d078f83930bd292 +IV = 927412c0321449fba7525062 +CT = c25eddc0e6a0c719b71cfa2305720211676b9557221c0710563a48276488668a +AAD = +Tag = dfda0839 +PT = c4dfb81ad2ead061fe68fde23e7a65e98db6e61e62f7e55c4224d136411d7812 + +Count = 11 +Key = 89b69370ce5d690658373f019691951b +IV = 14fc4aaae498cb6daa33ff9b +CT = 80b0b390652a8e889eafcd04df4da116edc9002cf968f6733fa6b1466fec6674 +AAD = +Tag = 375d409a +FAIL + +Count = 12 +Key = cdd5a6d18c47e6caf2b1b17548b15f25 +IV = 464bd830001d9d40bdd97396 +CT = 7091f6113ca8e99ce0ca182a78407d094bf1cd24ccd0e1c1b748e7ee9b4794e9 +AAD = +Tag = c8adeb8c +FAIL + +Count = 13 +Key = 129160346bc7b74c1155331de778e3a7 +IV = 3ba1f169cf938cacc96ce388 +CT = 71c8863fea83f30ccf2fa23ea09664ba313a99e59424b09b07fcbd86fc0e39c9 +AAD = +Tag = ae7bc81b +PT = a51c531ad27c1f03437c757f9a4f27b9ffc64ed7aa546265a7718e8b8cc60ea9 + +Count = 14 +Key = 3e16732313cde76efd612cd849a444de +IV = 321beeee7977aae995973056 +CT = b1f225c61d27bcd02ae163f2dc5e7dc308d22c0f548a1764299e2fd9583af4b7 +AAD = +Tag = 28c3974a +PT = 8be20012d8d9f9a698de5882257d72085c9d509a1d8829f4d13d94dde0f7d1c3 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 3308bf978dca6bd7f5fe4ccd6d0e7c24 +IV = 85996c785a83493cc7165c11 +CT = 4c8f0c7ad73fc469b4b385f80741f3014ec236e29ca9068b8e55ed6fb2fc9b9b +AAD = b0ebb26b9e27c44c26543e257b7c7eb4 +Tag = 8b5528d6ef87eb0be9b6708fab7d654c +FAIL + +Count = 1 +Key = e60b37678b00cea55f72c593ac38067b +IV = 845de274d5ea7d6e0ce794ba +CT = dbc9fb93ffb1698e5a1c062d391f63884c8d8fd862e07ba51d664bffd22b9faf +AAD = 59c8ef4352877ee249cd11439b445733 +Tag = 08d213989f884aface743fb88f778395 +FAIL + +Count = 2 +Key = 95bcde70c094f04e3dd8259cafd88ce8 +IV = 12cf097ad22380432ff40a5c +CT = 8a023ba477f5b809bddcda8f55e09064d6d88aaec99c1e141212ea5b08503660 +AAD = c783a0cca10a8d9fb8d27d69659463f2 +Tag = 562f500dae635d60a769b466e15acd1e +PT = 32f51e837a9748838925066d69e87180f34a6437e6b396e5643b34cb2ee4f7b1 + +Count = 3 +Key = dd2f191758cdeb480feee0beee689fb7 +IV = 8a1c6f696968d1a77a44ba45 +CT = b43afe82184d077319a9366c1162c5ca4882da0df82207ccdc038125bb338c9b +AAD = ef910ed8c787999640c2bd172e5e686d +Tag = 88521a088f92a1d3ff7ce5364bdc7859 +FAIL + +Count = 4 +Key = b013ddc3c6125a9a8c3a309c6367a076 +IV = 5999d3d65eeec4ac7227146e +CT = f71242febd4826ea95ba8e6a3397f05c1b9dd82671680ecf7ab566f1e9ad787a +AAD = 617d5980203988d4ca779b2f33cb904d +Tag = fb74b36de5e6d43a38849f7f9d1f203c +FAIL + +Count = 5 +Key = afa272c03d0343f882008f6e163d6047 +IV = 271ba21f8fdcac34dc93be54 +CT = 36a4029c9e7d0307d31c29cea885bb6c8022452016a29754ba8a344c5bbfc3e1 +AAD = cdf5496a50214683304aec0a80337f9a +Tag = ed8d916c171f0688d7e7cca547ab3ab2 +PT = f3ee01423f192c36033542221c5545dd939de52ada18b9e8b72ba17d02c5dddd + +Count = 6 +Key = f869ffd231c95cc0822df5372842e755 +IV = 1490881cf72ac7f8e7afd0ab +CT = 816ddffa6114f40cfb5d61f04379111be8e1defd4d9e77c87d6ebb748dc79bff +AAD = 4b2b932803812720f6e044b5a5117612 +Tag = 88657cb7f8ef31e55d276d63648b9f0c +PT = a35a1dfdb624727ec51431a804add8673eaef0398b8a3d2896b2d659a0c5bc1d + +Count = 7 +Key = 98b984a6e61dbf66c9c6641d07e69c40 +IV = bbb54adca294947424c6b646 +CT = fd8f7aec05fec9fbd35b66e191556df6cfafcd3859927ec49b0f6f3031597e9a +AAD = 0edb4d86c33d0098de1a2430f0462a5b +Tag = 4651e0d440d42145d593c8db9291f1e5 +FAIL + +Count = 8 +Key = 88959a3edd76716399c33df453fb84b7 +IV = 324d315e3b18d94a86170500 +CT = 062cce52121a567cae3c78a99a28d87c679e418f32f79af1a8849e6d0e81d25f +AAD = fb760df45a75fbff72106e52d6da864a +Tag = 825cbc27be42143c2461fdc6b404e86e +FAIL + +Count = 9 +Key = 4555765171009f776032ec95f60ffebe +IV = 7595fbc3908df2b038c2298d +CT = 469239be20aec4a000384b8ba7ca8b9c1523acd03eab1ed9487a5a13c03bd62a +AAD = d2921132ebcd1f907e649c675d9dcad5 +Tag = d2e2701f334f28f69f6b2d6a8de20d0b +FAIL + +Count = 10 +Key = 69e8bfb2b7b84897153b431ec29fcb79 +IV = dd56a06a4662e2b692009a06 +CT = e740152f3bdc0a09c22146266bb3161ed1c37338f26fec26cd9d829dd6b96b44 +AAD = 3e465a94a95cc7f87b815afa196911ba +Tag = 2e6c438cc38fa5da375f88e237fed806 +FAIL + +Count = 11 +Key = d13e90072180031aba421d64d474448c +IV = 87cc23d00512a61933d435d9 +CT = cd1653f01d8e468e08131d263a10cd83a5e7ea68ed84225bceb4e0b57320cf83 +AAD = b9ac2c45232f7305fcc6f2424c30b606 +Tag = 7b02db1e0dc0c2010080992ad01a9a6b +PT = f1eedc99565378b3ded6190bbb1c6ca325e9e0dd57fae6a8190ce57ccaa302e3 + +Count = 12 +Key = 724d036af7649a85109ef3a597a9b133 +IV = 33c0c8f3a709fa03e684696c +CT = 49be803ad200608b026138ca62acdca2288e67faddec35254a52e8a531990436 +AAD = 8c1095b33f3c4806fe1872916fb6f5f3 +Tag = 81c0405a283ec84bb2a08867bb9a2433 +PT = b643616673a5eb1985900ccfe8ab47691401242c5ec57ffff23fea10a811fbcb + +Count = 13 +Key = 25aede64de2943c0a2ba83bb28075cf9 +IV = e91e66b0414c5ac32cafa3bf +CT = 54a85000a9a47cab4d20027661ee10940524dc06ac9db4e33bc0dc7e6cb6d20a +AAD = d7adeee427b52220d3305f4cb763ff8d +Tag = 2ebdac7cc27d777e26cf12c73a1623e4 +PT = 4b0dc9628a8deec3888c6e642d6f8d1859860c747439757e2d4006b9dce7d440 + +Count = 14 +Key = 5580619cb4b0820fad559b143ce0cf34 +IV = d1c93408a0ca93e94adff306 +CT = a461d08c458fd1b026839f8cf781f834b3214a31dde0477fa8c9b6e57bad8bd0 +AAD = 318dc3a4bafb2514346b520336bb5fed +Tag = 7fc2d6bdd8326d540c02dd0fdf55e9fb +PT = 9d81e6fb879c506e83e641dcf9015f6994a1417d03c1eacbf6d7cba0c349cbb4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 834c578a0167dbddcc0ea30c119746a1 +IV = b22db46f493dd942fc088b83 +CT = d2fbe5d203b77630a2c18541f5d9d8cd4890964bc1aae71c69bb529a02248fd6 +AAD = d38e7c770d0bd6a8650687b3b26ebd61 +Tag = ef66c1dfa7d121bd3097979128af0b +PT = d366f42a62e441f0119e59adefa2710641ee52e20b60d339d55f1461924afe64 + +Count = 1 +Key = ee749b98f8131af0d2b1c0a42af53107 +IV = 38d1639aaf027959b26d6e75 +CT = e3f907fd529db3bd0ca9cee7346231c55db8dae939ad518fccdffbeb5df95b04 +AAD = 0335281c4d5d17013696c195aa10c934 +Tag = 74fc073cf1e52743834454c640b4a9 +FAIL + +Count = 2 +Key = 410a380192f838445d0bf131a42f00d5 +IV = 6e6588664ca600aaf56867d3 +CT = faf3f669e60c254fa00e068004b276c3fce89f5f723a66922044bc7fbe926aa5 +AAD = d238e56f8367e0395f651b954d59c678 +Tag = da0af2df488312a734149aa50c053c +PT = d3acd84ce0ef122afd2b399444cb92136081b5a2a1441465edcd7e372e52d7f2 + +Count = 3 +Key = ab28e7011ece37a4eb1e8b9eaed94a05 +IV = d105bb8f6b76de2787d206c9 +CT = 26daaa64ae71b7e3d36ebd6023c4bb9fac284b4a04b2e89f173369580d440318 +AAD = 741b3031cbb8e5a24e30633640333432 +Tag = 41391311ae274a2be3bd733e8c06b7 +FAIL + +Count = 4 +Key = 521e4bb4e3eac5e72b5094c3d588dfa6 +IV = 0267d384e4861547c2b34efb +CT = f21eef01d80a2991b8e6e7e87da6fa0be9fda0ee80151228eec4a3e99cc60017 +AAD = 59f293f2ff5cda981d700ad3dd771edd +Tag = b81c0d2119238f974fb4fbcea0957d +FAIL + +Count = 5 +Key = a0e4223488d80708566d417cdf5528b2 +IV = e64cc8f0615eb9ba48a1092e +CT = 86d3cc44c053d9ffbeb6c6e9bdd026f4c55d91d9be56999dcd4e141b0520a40c +AAD = deeb96b09eed6f13f810997be2645681 +Tag = 5f171eeb6f9fac98e321b482fb2a87 +PT = cc3e5d470c864db213aa008124400195c01f9c271c2d542d4a878d48b9e6ea55 + +Count = 6 +Key = c1a2075d8bdf9965e07fa6100876939e +IV = 437034b71ea1b852f0ef2ce2 +CT = 9dfd8ebcba5d01ed0c7c54684d215f104621582a82be97e1661fcd913b4452f9 +AAD = df7c462ce7fa3662f383d376d4bc3911 +Tag = 3db88a88deb6a54fed7aa3b80e1772 +PT = 7ce50ed53d5c3f1a9e814ca4c3b151bc2ea2a6fdf8c6cbecb78726337a883d34 + +Count = 7 +Key = 746c235db4113c515f905201c7f550b1 +IV = 2ad57fabbac5f34ab4798cd8 +CT = a743f02b8f75ce26420a856c4cbb8b74634b135c5e5899b79013cfb572681666 +AAD = 5111652b5006bfb87c963a0ea9435c83 +Tag = 6a6b38cd97a1cfac4a317593872691 +FAIL + +Count = 8 +Key = 6b62e4b68933a6bd5230a35428cb6384 +IV = 64790ade97884e64b116e0da +CT = 202a258cb741b3959e0e410dd4f18c21912b83997536dc48dd0b7116afb9c1ec +AAD = cc8164c5c8cbfbc3ba33755087692f60 +Tag = 761fb1e6d77bf29a4609f61a877056 +PT = 98a354b3d9eee515642860a5b1253817f88133259cf5e6fa112d15f17be93b40 + +Count = 9 +Key = 9315fbf524dc934145c6cbb345d02eaa +IV = 20831b6618a7f4eb0db44cdf +CT = 6e9b5dff6c20826cf3f8c24da3316a7ae448fb3eff3aa41cc32f2e6cfe208042 +AAD = 239fe658dd6a9e11fa385c0d0c5828c2 +Tag = 0050966b891b18f1d4a9289997b7ff +FAIL + +Count = 10 +Key = 1cca061114d8b723d22d58cfa5d6d844 +IV = b08e3bbd65f0892092d731df +CT = 7675f3873af6f2a0a7732cd39b2f90df30a8d85109d79bdf9059ac83403cfb00 +AAD = ae5c5e78cf8b5e88b4b880193966607f +Tag = 06803194302c771a48958ee4c2a04f +PT = f6258ddc45e94e743a99598fa3c58af81ddb51e138688ef18bb8535d253848c1 + +Count = 11 +Key = ec162824e8bcafe59e35e77d2d356363 +IV = 76498473a6214fcf2df5476a +CT = feeac4e73d29c9b9c670a18d29a5c59deb731a691d5036479847ec4d082f6eaf +AAD = 1913a36464e16156cc437be76251c369 +Tag = 837324f572116f850a86c0b14be300 +FAIL + +Count = 12 +Key = 6d7ba28379fe744bc6fd6f2791eac259 +IV = ccabd1140deea3829d6b3d32 +CT = 43db3c0840c8411ee98e7fe99c0e0162cdd03f36f0150134ff471c5cd1aa92f3 +AAD = 6258348e9262c9017287568650273802 +Tag = d92d74ace0acca9361a0a978cdb687 +FAIL + +Count = 13 +Key = 31e15f4d68619c7d15dfe3e94a7c1e8d +IV = fe4d9824b42ba0d05cdc3a7d +CT = 85b71bf282ceaab371561f445f77d8c7a92380f2bb24de0af45809be5b13bb29 +AAD = 233a8ee5d24edff3a58c09dabe9dce5c +Tag = a502cdd09ece86c673d53d1b40b144 +FAIL + +Count = 14 +Key = 4c4e3f4c585fc3aceb27ceffc173b408 +IV = db46b3a69a9f5c227d770b4c +CT = a3e872ac76cfdabd79eabb511b0056b03a439ff1577115f26f3b648c495744d5 +AAD = 2ecb1cc156010303bbc862b86e126f7b +Tag = 84d1b49d0156fc4ab7104273b468e1 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 006c458100fc5f4d62949d2c833b82d1 +IV = a4e9c4bc5725a21ff42c82b2 +CT = f39b4db3542d8542fb73fd2d66be568f26d7f814b3f87d1eceac3dd09a8d697e +AAD = 2efb14fb3657cdd6b9a8ff1a5f5a39b9 +Tag = 39f045cb23b698c925db134d56c5 +PT = f381d3bfbee0a879f7a4e17b623278cedd6978053dd313530a18f1a836100950 + +Count = 1 +Key = 603cff7a5c05164f0a124a33077b774d +IV = cf4f69dededb8487261c2d41 +CT = 1410593b9a6d29143499168156eb58aeaeafa5e5a1bb68487d624cb25a6e3f02 +AAD = 3c5aa37ce2b7aaf54dad7924bf0ae933 +Tag = 25fea5e7819f72abbc83f248f332 +FAIL + +Count = 2 +Key = 229d6ac4b00e3d15568ef4f0aceff8c6 +IV = d16faefc7da9533ab216bdcf +CT = a8b7ee68df47332af7bb26bba0e36dedf399f927687e3b35c1a4b205fa38bd4c +AAD = ddb978d4f6f011992ecae7c35b4080cc +Tag = 2f489995bb1322eb3108e9ca6632 +FAIL + +Count = 3 +Key = a703b79eeab9cb024098c7e28f3c7500 +IV = a61c3ae4320d8ebe4751e6df +CT = fcfcefcb0d71be84ed874965db6ed486063160a6959c1d0109d45f39ea33b7c8 +AAD = 73d888860d77d4f0e6a3af3c73466a35 +Tag = 9332ae4a441a38a2733fa89bd5d6 +FAIL + +Count = 4 +Key = eafef8b16351eae6c0a8e92062a60721 +IV = 927dad47522d3c83826fb2f2 +CT = 8b4aa7e33b86601d25db1364dff13670dea64c779c3586f7c64281b048d33ce0 +AAD = 4764a3ba93ef6ea0487e4ffb0a197226 +Tag = 7cb30ac58b77e6fd3896a73dc710 +FAIL + +Count = 5 +Key = b393fc1b021c2c67b13e53b4554b6317 +IV = c1395d76f894a82b5fb765d8 +CT = 367d6293231d9d5f354cd79a2e263d107e960dac5bbb7ff882f22ea22f2bb7fd +AAD = 88760a593ff55c10ae800d8a30f1f788 +Tag = 5d7d597617a02c1e9cb7596233af +FAIL + +Count = 6 +Key = d5839a82f23e0feacc6f2ede9f68771b +IV = 6ec8ff19853943912444d3af +CT = b031d7b1cd84b419b29b62cdb11415354f0a2eb7889a1f38ff005973a58b86ff +AAD = 2585e6ce2e300294ec05da5bce5a5f6d +Tag = 44c239151e8f8970447aa0da6860 +FAIL + +Count = 7 +Key = 18732f1918111d27d92d6dca7ba95c3b +IV = acf7bc9b0a521e99f42e453b +CT = c5a36a08643cc2313685739abf3fff33f8de021aead53638e1320114eedf7b17 +AAD = eae6e2fff6d24508c7488f8b22a3eefc +Tag = a4fb4af454bb1abdabf8050feb35 +PT = cd47b035073380a2bfeafd5372bd890ea35d4ab6a09734b70a7340b3da6163a0 + +Count = 8 +Key = 6e0df12407751d1e233d1450d330723a +IV = eb13999c19b36af49728b8b9 +CT = ee8fde4d24a667410a72f4978d088d53b297544f7e15f5a7d338a1d1205fbf82 +AAD = 1be309358bad1acb0f7f08e6d46c16f4 +Tag = 2528c36dc7ab5f1f172fd09e337e +PT = 5cce9042d3a965b294a4a67f4bf12eac7b5bf07801b0ee781c72402661c65eb2 + +Count = 9 +Key = 6ac80d40bfe4a9256d214367d4431619 +IV = d472f7c0bba554ee6531688f +CT = 2de8c685d734716270d3ac6d90dfd8f97178430ef975aa6eddc14e353d9d49f0 +AAD = 7a82dbf81e3b17c5ce43ec83db77208c +Tag = 5fc3dd62f01ab50471c7c6178471 +PT = f236019209307bf0438a0c72bac1dbfc9a3310f5054f748c0da3d4cc1231e0b6 + +Count = 10 +Key = 224d25b0cd8ad98332f63889706cfc8f +IV = f78836618b90ac10831f3940 +CT = 5ef07fa958fac5bf7c03e601db2a5d90160bc6fce6b6d9f54b207e81354b955a +AAD = c318c2a699b82dc60e18be963ee7bf06 +Tag = 611f397b00156ba9967045c601d8 +FAIL + +Count = 11 +Key = 673271ee6d4dbb6ff581c1370e41f261 +IV = cc6659896447b412dd1ae657 +CT = e620e1c8355b4fe74cb5ee6eff85e14aa732701532534cd8e0d1707e4c152f80 +AAD = 688da041abee0f4ce98abd40fc0f8f28 +Tag = a93282b6521e3d36fbda3ec75b70 +FAIL + +Count = 12 +Key = d659879ca65794cc31f8ab2c46030c77 +IV = 89014ed40b00d25776f3b96b +CT = 64a0490227ee9424c1f8e8c4a01d31bf56234b0d187bbfc7b8fa06161b46bde6 +AAD = 2b3418f9cb5c222609802843556bc13a +Tag = 516d241db1f258c72ce502bb4cd4 +PT = 6164e63ac3b73e89553f0165e5f606032902e8f3e53c411c1f4fd33e5c479fc4 + +Count = 13 +Key = d7f1c5b4cd562332378e7604b43c4947 +IV = 4ce6146d389725ec0aa1fc1b +CT = c9467714bfcaaf7f79d52e3d544642df5ef0787791ee38ee58f369dcc26ee204 +AAD = 21416574652b822d4f0d57014114b3ac +Tag = 24d4ae0330978938c23c6c985505 +FAIL + +Count = 14 +Key = cac1d60d6c066404976f59800dc968d7 +IV = 5d3a32be07e74d5e97195068 +CT = 819ec7d9efbc640893b4f8794ca9bb04e6aa28f7030c8ed70a03a0643407024b +AAD = f66acab60e77f707b642da2b5d5406ba +Tag = 0ca1f70b065410173951074cb2c6 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 04fa19ec8a3f2ff6d4ae85963298356b +IV = 5dfe9380b2a8f471c614fd9d +CT = 8f3e0b3ed18cfb8b0a4873c10dd40221684b352b48e20db4bb7b836aca2be4a1 +AAD = 8d5c87e60d909c9952ca9b14508559aa +Tag = 16b873c7a1907f0668fd9c358c +FAIL + +Count = 1 +Key = 16c4fe2228a5e8b16a2a711767f3dcf2 +IV = b1e4a8deefdf8eaeca368cd5 +CT = f56c52bbbb45ceaf2253a7fdb5387f7379c53b5906c953d08de4bae97d9eb0db +AAD = 9fb7cf37339298531e68c3557b9b5e5f +Tag = cf135fe078fd4005eecbf722e9 +FAIL + +Count = 2 +Key = cc992e5ba629fe98de6e33b8e3d3873a +IV = 0acd90c062fd7d10fc67a486 +CT = f1b5ffed40676c80ab82fcfd3a08ea3e414688348e00a160b3e4cc3a0aa99070 +AAD = 6279ae1a4778e17f125ad6ac047bfac9 +Tag = fd9738bcbef568602e5b561465 +FAIL + +Count = 3 +Key = db24c6c4804d628c801c2bcd5a8c1654 +IV = bdfa54c9e2c2c328f592809a +CT = 011323611d6aff2455b3e1f330ca7a38e9d5e02f2d0431596afbe657e6f030c4 +AAD = 481c787e551ebc5292fd9e241a763982 +Tag = b658860a61cfcfdbaa063ac030 +PT = fea5b03e140be10507d1c8fe575a1782c7d8ce0d9c6887d74995be4a9b2c7088 + +Count = 4 +Key = 13cb2500ca6a0018a2508947dc575cde +IV = 7d9a7a651fd20ede053e4e71 +CT = 67f4dcf7d6d2d5a96f80428cb549f07c5417b0576d9a852ac3888975d4106ee8 +AAD = 0691bf171a0ae308aab08f3f12127b59 +Tag = 310d29fee043f6a808684e4d8d +FAIL + +Count = 5 +Key = 4a0f078d725d3a84a83abcade7a7a408 +IV = 61ce9ff1f78a44115b53fdb2 +CT = f22650d7f8be9092dadcfd109b681adb7c0dfec9507bd7b862815dc4cfd7065f +AAD = 99bd302c90f6e46e7602bf7ed2a97a55 +Tag = 258daffc77453ec88337be524b +FAIL + +Count = 6 +Key = 850957663629852d4c8e40e195e54e00 +IV = 9378982151cb7515bef6f2b5 +CT = 6d777a9eee845e3417fd3be86f5ff0c14fc70ce34f03258df37fc598dbb26401 +AAD = 69752142a1de1c3ca311478f3a3f4d83 +Tag = a52945d01fbebce88e983c9513 +FAIL + +Count = 7 +Key = 9d1e6755179a14a7636bc26b244bc389 +IV = 93deff1126cd24ead2d4a926 +CT = 16173e740ca8c339a38e2091408ce32e2d9fbaa54d3d1199485092def8154c8d +AAD = a306c89ad54f7048fdc3ff42873be7ae +Tag = 818f5a51dba7209874b0dbe13a +FAIL + +Count = 8 +Key = 04dc87c293098175f0ff3f175356e21f +IV = 7720272da82be8606a4c20b5 +CT = a252445fc2dc0722cd953769a9664b8c1cb2be8848fb37a928feba2bae638b9f +AAD = 1fb83a4a456e8b6d36b1a5b36e4e25dc +Tag = 00f66dfeeac39182bbdb3fba88 +PT = cd6ad2efa612d3999dde7e008b25b9323084b547316caeaab8e72c083228d81c + +Count = 9 +Key = 037f672cf1a2a6b442a767ba251b921e +IV = ead04da683139f98861ff8b3 +CT = 63c64c84e9c8a362a83c438e9e3058aa5ca48f2e0e7c4a5d1589a5b22ea880e9 +AAD = 4df90689e30b034b65250451bbd324b0 +Tag = 31c2f33b2c26e6cd4870d0162f +FAIL + +Count = 10 +Key = c76c21e0de257c259d1ac4b3c44bdfcc +IV = 49958eb1ca98fcc6c51665f4 +CT = 72d833e42fd4e6c6620d17d7122f330f8f9f7a102dea5a32fc8de1f0ebbf4866 +AAD = 869675f26d09186913fed241f6b19960 +Tag = 558ca161b095bf1348c788a5ee +PT = d5dc99c97d9681d0375319561b8d159bbc8994e4ea6d476b6abacbb1c0883f76 + +Count = 11 +Key = 7953df3a31792c34ce8e056ae38b8c72 +IV = 4d52df5219e1bcdbf390f7c6 +CT = 5f796b3ad8db6f2393c927026bc77bd44e55eb3a4bbd5e7c3802048d06e43f49 +AAD = f35397ea922c5dbae0d158b9dda7610b +Tag = fcd1ce3666929f06c66e2584e4 +PT = c8efcf4c1386dc54204bfe5c0a780f582b3fb906da986ef0c8afa36922478443 + +Count = 12 +Key = 7e15d4e69e4de1fb4934e0908cc2df6e +IV = 3e532a5a92578e5c0201eb60 +CT = 412cc804172a53e1eb9018f5ff6d88ea44e1ab6e3a3503c353f2cc6e1d15929c +AAD = 1eec37639bfa4e1f6d19ada6b94bd6b9 +Tag = 752602dda478b23aa7c38e498d +PT = d5eac2fa1b2e9c47542ee9f9b6a83791d29bf6f15f78f69c0ab1698b6720d300 + +Count = 13 +Key = 88d67e21ecbffa0ebc99d67cfee76db6 +IV = 7ad825c044f13c933676ca58 +CT = f57ebfd808daf15eb9dd8defbbc8f31697f94cc367ae9197d14731360fd352a9 +AAD = 995a7119ff061515d32eeffdaa96bc4d +Tag = a908e297db6e95147c0f5bfbc1 +FAIL + +Count = 14 +Key = 23f37b127c428f0aefb8dc53edf003ef +IV = 8cb2da17ee88ff4e13478568 +CT = 6ee1a073cde41ffd675926475c196c4aad2ddbd9b6ee3c1dc9bf341a5a9cda0a +AAD = df5dfb944af588121eca574150118ab1 +Tag = 3f6512d11fb12119f02376a34f +PT = ea3de6c731ec227cea394ccee65a128e90775e2fa26c30ec671016236a6200d5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 8fe7ba810c6f00b14c81d992464e1d0c +IV = b182ebff442c566d6556c6aa +CT = 22e7f70b271af95b4cb1183c6c467b8be1d306538c0aa8b0973a8e3f65466652 +AAD = f70e8818199ccaaffe412bd805c54edc +Tag = 7a554f17cddbc71136bc3a60 +PT = 7c07037905035c86c29c0e7fa0168172f7a2b099b55439e7af687ff7856d8ec7 + +Count = 1 +Key = b200d1016411fae0f5221aa70f43c048 +IV = c28f2f2fd851c28a6d47c8e5 +CT = 6f3b9a8d8d2237e8713ad879bd57a42ea913f46b5ae40c1cbadbdcf4b3321d12 +AAD = 90039f1e37ef9e253e7accd22c36d486 +Tag = c1df22b055e5d975d1dd4a24 +FAIL + +Count = 2 +Key = b8513a094a0889ef9c6f13a27a66a86f +IV = 0a41f98ddb2b11fa3b2d28d0 +CT = c7fc398a3cfc2b712ea8e30ca213e74ac75ee64555c1a099b2cafa43001a6673 +AAD = bb6c8038675fcd15912c859d59e782f3 +Tag = 5f713fdd214ade606d6e36a5 +FAIL + +Count = 3 +Key = e94c4bc62b8e722e27cff3da1bb609f4 +IV = aa6729ab7c1d211f2ef567e5 +CT = 0eefb2d369cd782be4c8e967b5d3c4591e86fa228147d499bf59def3c205939b +AAD = 3cd1f8dd146f26153fc191fc371b31af +Tag = bed718983ebb9e1ee174c780 +FAIL + +Count = 4 +Key = dce823477df99aa5587a1f91fb7b9038 +IV = a6aed030efea0b2380d503af +CT = 65d4278a2224de75a8c27b455b7c267aafcf84a32f6f3bb584ba8c07c9738f01 +AAD = 4a8396502ed4b812b3c983d5cf94d64a +Tag = ad23e9236665f0694aef9716 +FAIL + +Count = 5 +Key = b0084216e46f8a42d2e47014dc2164a3 +IV = 0b9300c0fcdda1c05dd30371 +CT = 46732f96a9b6820dd257b425c8ed9f7d9a6cd205862a2e3b8d240578b31e30ac +AAD = 3614796a96a68e439fa8fe8818b2df55 +Tag = 7da6d1b484ce37623877e1ff +FAIL + +Count = 6 +Key = 6f47d42deac2b9d6621472873e963c9c +IV = 464cb60638f7b6663f0474d3 +CT = 9091d44538fb79703c5963be3d6a8af093214d597f829924c9aee8e2cff62b59 +AAD = ece9b35f96d9a89f2d2ff6f5f9836b0d +Tag = 75a9179322b20b04d1feff10 +PT = 5a3f06774c16981b5a5f73959b840d0b7e79cc49dc87676915f3ecf772a10f6c + +Count = 7 +Key = 254a5b276a17d9e1bf849a7516cbc9dc +IV = fb19b18d8eeb0d7236f35670 +CT = 0954027ffb0163223c7ec3a1584724422d61c09650d92c03bcfb19077f3b804a +AAD = 44bbc6b3f0cc006cdf76575a6e1f654b +Tag = a3df64dd271cf601a1b41eaa +FAIL + +Count = 8 +Key = 7aaeb9e0936b1ea96cf615190e083a5f +IV = d45fb861f93063cac30014bc +CT = fc9cb33332facef33b5b1de83586e355a2b8842849b7bc0aad9c41284438c0a0 +AAD = 86579418d1f9c16a6b918d2b2aa818bf +Tag = 3990be7e4c7f03a7ba5bef40 +PT = 0f8541f760854a8ceb9a28ed2fca0d7855116c2732eba7a5dc1c664460df128c + +Count = 9 +Key = 2312131f14e1d8cfcfac4dad55ba3467 +IV = 592d5a85663549e4433919ba +CT = 89fbfc5a87875aaa79ab7f54e0e93019285dd42791271282a30984f740ce673b +AAD = d8b57f7bb6fd105365c1d20d6ecdd8f0 +Tag = 05fd79d1a085a98cc91c7e0c +FAIL + +Count = 10 +Key = 7f873d7de34164dbd909b30aa9a800ed +IV = d64fa44acf22a13ce5c0a725 +CT = aa164337fe9a699af132a5850cf7d370e1d56bdbf4148b0aa2e15b4c8bba0e32 +AAD = 27a65874d83ec51e33adeec858f971c3 +Tag = 127d9bec58604e2aa9ecd68b +PT = 54235bf934f6e7f0ccbd1821c0806d409a58def3d599fee1a7769d66fcb8e068 + +Count = 11 +Key = f511f2b85ae7a69c3ded2bdfdfdd0fdc +IV = e90f1b84ae5ba424b7ecae18 +CT = d5668f909b084441d75a5bcf68df84e7afb79eea9c384f82e3bb9865878cf5c3 +AAD = 9a3febf08657574d40dabc42e695ac64 +Tag = 9d99d56944366c4e8b17336a +FAIL + +Count = 12 +Key = f5df35d1e0c319e614f632783211006f +IV = 0a736edc6beed0e2ef6b387d +CT = f386420a0c93a1ad47913c6416dff3f54409148f472d55cc4e1071cfeac0f4db +AAD = c3782687367ec0d207b6eef0e7dc8cb2 +Tag = 583d0dbc66eb8ebb39497acf +PT = c256e39b15c09273374352639d6ce2bbd6f763f5c1872a69a9f21b0fa2f5b95a + +Count = 13 +Key = cb70d9d9639afbb9fa94d39031d51655 +IV = 499e518fe1b193276f5d4b97 +CT = a9321039d6a36ccc00d6b79b4078b647fdcb09cda8bdfd5ed52d3afee9245483 +AAD = 57635a568d18db7a9c033845928b1b93 +Tag = fadc5c19a480f88150bec194 +FAIL + +Count = 14 +Key = 347bd2369be04af799888c0d46f6d4c2 +IV = 200c3fe4caef1b76a4c3ef6e +CT = 95771c121451f06740702ab3291240e6f4426141c4bb38ca8c61472fca9367e7 +AAD = f33fa7e2be01cc02589e5c5942a756ce +Tag = a21b5d85ef1aa6f43b5ed40b +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = e565c4e8a2167ac2bc7945fcc2394f56 +IV = 910a889bc852f4d37746ed5e +CT = 2000809b8ee0b49ae498c72ef08efbc9ae872db6b9c4a3f04b96f344071128ca +AAD = 6f85c9b1fc5ccaabb073b49ce18d09b3 +Tag = b33f0297cf904524 +FAIL + +Count = 1 +Key = 41a023d3181a76113639edeb2835dade +IV = 85a152901a202bc7dd5793a0 +CT = 2359db7c5116d786f82bcd0e733ff6559b2a043b3bcaac813ab9da58963ab011 +AAD = 3c489d6c62f11b6f425e1f514f996a4d +Tag = 1a87415f81dbbc48 +FAIL + +Count = 2 +Key = bc23aabee9da01ebd8ab9bfe745c739d +IV = 88aa9889fd78194faaa26ad8 +CT = b77b3423584df162423aaa5441f6bc47cc176279a71fa3011723b5b69c79d2b6 +AAD = a964fb3b92715d3efe134164cb19a227 +Tag = cc858a711a4bba4f +PT = a9c751cc2ac0e7e2418516930648c1815f5b3cb905d360ba38b8692b4c97ad1b + +Count = 3 +Key = 3708f8fc67604d64d39f6fa87c34d36c +IV = e17d8de89751737c2100eac7 +CT = 3e79ba00fc2c3f16c48e99270ed448228bb583431675e4e9ae4908d2c375149d +AAD = ed8400587361ffbe0854dde3b409b35e +Tag = cac5bef1fe1ae061 +FAIL + +Count = 4 +Key = e9909ab48fee76efcf2da12e2d688a70 +IV = ed701c542b46dcd6d251d59a +CT = 4a8fb3c356c7c020c73f4c345a7b1da197e0004b53dc3483662fca007d743b56 +AAD = aa8cdbfb5dbbcc6df7cf41eb3b418519 +Tag = c35c964d9ea39107 +FAIL + +Count = 5 +Key = f276ae8ec21122a95ab10be36ea22b33 +IV = 1582c1f2606b07accef79e7b +CT = 7d8d9046ede8307d94b2b05606969e25805d61d17fc0d0aa11285133d95dbbcc +AAD = 856ac0e3d3e9847be7cec641f270cf10 +Tag = 0c94d370db69fff7 +FAIL + +Count = 6 +Key = 70cbed1e01185c9a09d25e73cbb7f88b +IV = dfaaf11c2ad30aa807ad919d +CT = c3a781e409dd358102c96483b9424b870c6e2dd3973a9832d27e64fee74738da +AAD = e85cf663df9a6a77e0e21c2de9c56409 +Tag = 17bf8ef4f5a423b4 +PT = 24447858f1db2f5788ff21ec031f017e6bc0eabbcf44ffd1a9f6d28031d7b277 + +Count = 7 +Key = 5650be135f99523aeb28993ead7836fc +IV = 294725546830a387c963e299 +CT = db7dd75fc7c2fb90502736f555949400106e7751f294d83f5b6db9b4cf17bc44 +AAD = a6d9097df741d58cc58717bebfbeb16b +Tag = 088ccef97ea0b040 +FAIL + +Count = 8 +Key = 28b6a655289aeb65049d19a69db4def2 +IV = caa70fb044dc1a29b1640f55 +CT = ea515ea2d478a856be1874b7a3a4d1dc83f4f5ec7f4940b622247c825512a5c1 +AAD = 6ae76b79274ca330e0b413d7a41f39a5 +Tag = 0c7336f3571613ed +FAIL + +Count = 9 +Key = 05b7011ef504889b7c50ccc9d87c2a5f +IV = 51e0598256da38673eaaae4a +CT = b916dc25bb8bc4835cb7a39c94fc25304ac1db7368b3836ccf2e8d8c9ac76852 +AAD = b6a590db83d7edbd0c9a572dde173855 +Tag = ace370440f45c0c0 +PT = 3856530a61b337caf95b7cedae7b9b0596241c6515e309b66bc2aefca5c46261 + +Count = 10 +Key = 93d0003ea8ebb71eea4071f20429b61e +IV = 6034eb931858f177648d643c +CT = a10a28aa5c9c6f2b840fdc7dda03ab66d258f9b6e0f91acd916f67291c781ca2 +AAD = a493146f0102f1895499bcceb5d0c050 +Tag = 2a03a0e6cf827660 +FAIL + +Count = 11 +Key = 06ff7ed4821ef0663be58e7c3e69932d +IV = bdd1999d392357527810e24a +CT = c60fae8cbbf33c31459dc00c9d4f1a5a9a0a54a92dd672bab1789922f87d34a1 +AAD = 676a133d622162c027abc5be74620f35 +Tag = 5bcbed4b68139a5c +PT = a1d8cbb24b5c91bcd848974b0bd9e98a6586aa0a15c7627944bcc5a985b3006b + +Count = 12 +Key = 8eb4e06ed5cd7e2f65f90665b72d2e3a +IV = 7126efb1a5928476bcae00b2 +CT = bcf366f24fd0151cc4d3b21afde30902a28d1b9bc288c6b451498898014fcf23 +AAD = aa1a527e0509589b9e683cf6f849f6e8 +Tag = 752b959093b12eb3 +PT = e691f1f1ed27461c6b9fb9c4958ac437fa44ba0d986f30d2f38fc311825a7643 + +Count = 13 +Key = 362d8530fbc52a7c6674891928fe574c +IV = adebf127309d50ffece489bd +CT = 5372a86d4e50be0f0c0807cc8db839fba17d971f472969ea9a7bd4636ccdf1ad +AAD = 622c9132ba321652878b1947d2dd817c +Tag = 3a41c85d6f904571 +FAIL + +Count = 14 +Key = d4139c3dc30d8ab97bfc28849dcb1613 +IV = 3b1ead5ff295d74d47b917ee +CT = 4ea2ee9de20c636848c70fb5f8564e7b96e3808b0bd226c05110717cf2af04fb +AAD = 38a539088563ee543959d77fb3c19b1d +Tag = 595ba696e8c37c68 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 61028676524d30ad8ab9ed1f33144bbe +IV = 530ae3aeda51b04f6d6e05cb +CT = 98c7a0ee59d050cc745dc3a598f46037d617aa3106bdaa539224012ce15427e2 +AAD = 114f91017bf7e2cb6a76403a685658dd +Tag = 61ffcbea +PT = 04de0b64dc15ce2dc7c404497b7172165cec3212b162b471abce8204ca4ede2a + +Count = 1 +Key = 0c873650b7f87a766b3887b0fb78e016 +IV = 254a69a2642eb3595a9050fd +CT = da202e95ff32f04c5a1f0110fd5d7e7738a5eceec1e3e0d041b3ed343d946aef +AAD = f8919e7da78fe07d36244f9d1392fa6b +Tag = c7419e67 +FAIL + +Count = 2 +Key = 67d9287b6755a5707292e87df861fb41 +IV = 42b7f2d5c18c9bb3bd1931d1 +CT = 115d9a60f53d69586034bb0aa0389a1fca73b854a1691a510637020b6bec6c15 +AAD = cd3a1acb204c9d5b70cc9ff9c45ff420 +Tag = 65c91433 +PT = 283b56359b2bff184f9de9418513f66a9394dbab80c2908f1cb235712d64a7bc + +Count = 3 +Key = 41258c95a5425dd324d5bf8f9adc0f02 +IV = 16a10112eff0418a2cdeb257 +CT = 53a0f20d60513a4b27fa685e6a74670ba6ec92ad0f698c073794b8186a02c9e0 +AAD = ba42a2360577d6a7f9f6510cff264717 +Tag = 4eecdbb4 +FAIL + +Count = 4 +Key = 66df237d87755aec2bcc6bb03da493d9 +IV = ca1039c6de0799706e688976 +CT = 0dd69a08c59a6873d806e9b2c8cf87e4a5cf8de8cf02ca07e7ba3ccac7656ed4 +AAD = 99faad65f7bb46f33da42005511b611e +Tag = 2a846ed1 +FAIL + +Count = 5 +Key = 7fff2e72cf7706bbe3080872592b83af +IV = 9b9e2b829501a710ada36947 +CT = 70fc592385f62124600dc7a08330efeb3321e8da2152b29999a1cfccfad59ffd +AAD = a601e7c8f866d56ddf24ad4251079471 +Tag = d99c5f11 +FAIL + +Count = 6 +Key = 153e180fea9de309879333aff7810510 +IV = 7ea7fc93b8bd0a8e1a5dd116 +CT = 22ec7cf8ff963a15cb71af43ced00049791c289c654eb9eaaa781569d35285af +AAD = c4f9727860aae5c2efbbbde5e368a267 +Tag = a49384e3 +FAIL + +Count = 7 +Key = 72ac8c0ee87d1e5301631140f2007b09 +IV = b2d37d54ef8c852c4fa41b2f +CT = 21b98c2c3687c379fa695e79658ecdf716e2f03d8e3e34a5669c29ce77994ef7 +AAD = f14a5cc799d391b365d879de58d73161 +Tag = 95dc3e24 +PT = 6b83dc1594338e33aae40a7d744657c2c24cf132cceda31b5107519c5168814d + +Count = 8 +Key = eba46b0a91ebb6b49848d23a21b53bd2 +IV = b703a4c0d0f925140bbf3d1a +CT = 577ef8fe8188821f83e79e3f822a49553f4ca01074dc99c1851de4ecdacd9272 +AAD = 7bf6774e251346b0c8680cf177c91898 +Tag = 7fe9893e +FAIL + +Count = 9 +Key = 4c61728adb82a8a1aacdb2f44d401389 +IV = 5fb7784c10e0d751c6102c7e +CT = 7678aca9a72fbe456888a53a71990da8b0ef29c725b40f20452924b4a2dc7429 +AAD = e7cddb2889fd7b75bb763eaecdb48c5e +Tag = 653c3e0a +FAIL + +Count = 10 +Key = 3852c378b1ede82cb350e6106cc6f46a +IV = 46af376f240e59d314864cf8 +CT = 5e4eccd9415ae4d6ff49415250c8668c75224fdc46b1d50bf0016d52b3ad3c11 +AAD = 22f6245bbdc9b410be786e2b0055f525 +Tag = 61751142 +PT = ea713892c501051f187a2f981926a5e832afa2bdd779193bed0c98f0ac6fef72 + +Count = 11 +Key = 6e616339345e2e85eff86fcdc7531602 +IV = f2ebc7252120f0a670ce9777 +CT = ac59fb3983fa6c2eac8007df9884ba8e3522764828bcc6ba442cd97d113efb22 +AAD = 7625021ad76f108ae22c3de9c20f1729 +Tag = 28e52ca6 +PT = ca4e9adf078e6ed089b77a1a026eac64b69bc5d21a0074f38d4ae9f1625945b1 + +Count = 12 +Key = 0ddc22f9aa57ec3a63bf5bbc6f75bad9 +IV = 893dba7478965b7a68d16941 +CT = 4db4b4954e758d6f5296e2d4094b988e8b831596b2ccda6c77d94fbe9c878cbf +AAD = f80ab683c4d9f9127a92e39582a2fe4e +Tag = 881598e7 +PT = b4c29e4cd28c1d16682f1eace21cefe09cfa2df2e7e2d803f03fb9a994f5d19e + +Count = 13 +Key = a329911f83cc7f6df4b26b9077fa14ee +IV = 22e8f76003ced9c41a47611a +CT = e9bc066fd69c54f62c9b7d8fc28c1efe2436db14b774be8448d112235b1fe94b +AAD = baa445aecd57c75db3a55d75f6d9fc49 +Tag = 3f6a8d3f +PT = 57b691ce4202def611315ee116a4aed061c947c0af86c52d9bde14b7e63c5f6d + +Count = 14 +Key = c9b459ffa52e365eaefd631412b2f7c1 +IV = ee1355290c59e3873a6888fe +CT = ccbeebe87863f0b5c3a58801458e052f0cb41246b55e9904fbf792d736fab197 +AAD = 40066732213a24cd9e34e8b275c10402 +Tag = 44543200 +PT = 2ff70e6b0871a3033dee59827a8869f1c3d829b12d62e28cb1f6ddff749b49e1 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = f3e60720c7eff3af96a0e7b2a359c322 +IV = 8c9cb6af794f8c0fc4c8c06e +CT = 73e308d968ead96cefc9337dea6952ac3afbe39d7d14d063b9f59ab89c3f6acc +AAD = 5d15b60acc008f9308731ea0a3098644866fa862 +Tag = 658e311f9c9816dbf2567f811e905ab8 +PT = 7e299a25404311ee29eee9349f1e7f876dca42ba81f44295bb9b3a152a27a2af + +Count = 1 +Key = 4ea997187ee51b478f5e1ba48b57f0f8 +IV = bb6fed9776ed61ca321ecdad +CT = d4d67723dc367cb453c5b8ede795ad2b7affcf9f42650c0ea1df91e23175a7cd +AAD = abeeb5850efb796979bb55a1d255350d9faae4d8 +Tag = def8ab2eda15fe03abee6b2dc9f6e805 +PT = 87e9f743a7bdf04a2d97c4a6c5d243666bfb2bc80c9610bdb079792a3f724e04 + +Count = 2 +Key = aa6d3c010d93c6ce4d574b5f4017b8b3 +IV = 9480e879335e1c2f2f0b1201 +CT = 752ffdd7014ef7dbb269b9e43d241ca94b578c1ee2052b26225450ba2dcdd114 +AAD = 5c03cbcbb53d7b44a47e247c0c8b77e5603552c7 +Tag = 63d1a0a5faf1cfa9f72bcec227169fbc +FAIL + +Count = 3 +Key = b77cc41840f9fbff1eae0b9b2fe914c2 +IV = 81fd55366b7903e5c21e96c0 +CT = fe6cd8c592c40acd607fab35272044cf93bf1b64a34ab001564f474990ea851a +AAD = 8c8ec50ddcc4c6526336caa0fd43d4dc6f0b71aa +Tag = f6117a62541d37d32d84e7ea15a709eb +PT = 65453a0933555d1f85d6f7faf9216b4bb5428885b995a27f30dfb2620748fc41 + +Count = 4 +Key = 9133d24420ede755f92b0c1013d794af +IV = 59e1ef4e934d9b730994a58d +CT = b9e3365f552cb261082c9b412568d2beec164c4b9ce078e8fa6f2e43ce661bb4 +AAD = dc27f9206bf8a3969fa6ce3fd3567ed71de9d2c4 +Tag = 01fbf3c551340b041cbaca24abc7f6d0 +FAIL + +Count = 5 +Key = 712768594a8e29c9abe255a8493a086f +IV = c8614fb0a60e377a625b9c2f +CT = eadb515d3167d2809f88bfe5fc2accf74f46f899981f44940192a79c59457ace +AAD = c6435e5cc2a492671bfd4e346df9aa831603d1fb +Tag = 2440a1cee5ecae8681f7c65874bd75ed +PT = 1839ac4e4177fdaa0b7ce3aec45303c9ab44335a1c11569033a4202655c48c3f + +Count = 6 +Key = de0b9fc85fbb73020fc97ddb63241eba +IV = b606b94274c5553a1e9602ba +CT = 155fb5effc689aaafeeccd281b4f9ad8c5188db05e0087150ee273350cf101b7 +AAD = ecdb24c9b274f30a2f6e8f213e08c340b4a70a3d +Tag = 94d02127ade107e784e5ce7957fbaf51 +FAIL + +Count = 7 +Key = de5c1ce56bd1a8f5368c79150f878896 +IV = 6180f7c5ff343b0e472a146f +CT = 93eed51d4f2a18271c9addfc27a607cc0ab083a9019a9bc56e16016c0fb0cf93 +AAD = 8f277e505f58a141c36c149bd21297e57db39368 +Tag = da304087ac5bf7554844c42aa47df060 +PT = bc7e43d5434b4cee596f8466b91ea364274ded8427cb32a769b8c9ef5013b784 + +Count = 8 +Key = d30801f1219679ca8e5c3740fc9921ea +IV = 1d617eed1a5d1b00185e025e +CT = 0016592567d2f1d15de34bcacf362184be63d25de8c6f829bfbaffa817f4ea8e +AAD = ee78be3b42b9d34310c764fd34ce638d7f9eaf4a +Tag = 551f52cdb49eb910bfe8affee48010f3 +FAIL + +Count = 9 +Key = 8716c8d8b1db8c88074fd2b26f8c1147 +IV = 3a267fee424de653482bf9d9 +CT = afd442f001bc4ae06aa10952261b3e91c915da30767d059264c4d8c4a572b5f6 +AAD = 32bd64332598fe7402dc46a90512086259913bb0 +Tag = dae1ab57f4e9bc8e8c1302c5ff47d55e +PT = 557ecae25e16315e3af7e6aed7108a050517fca5025d1cc73922cb3fbe280af4 + +Count = 10 +Key = 689903458e666b9bae962af6216e1c95 +IV = 2a99b776f5ab1381bad64b71 +CT = 2e1124dbe2997d449a297c1393ad349013f043b095573b8e9d4d17ba4d65a9dc +AAD = 065886527d81b4031dae7c34ad4792ed364293d2 +Tag = a985f865faf6bccd511be3d04f5a0129 +PT = 8990e990c2671242d33c19e06841a36b49b83ea94de6d3aa1e29834fda83a602 + +Count = 11 +Key = a1207acba1aa57cfefd920693bd18c56 +IV = 78c3f9e40dbb4feae5ed7f59 +CT = 30387a274a099e22864c8e3e7a0c828406d283b0941f6507a45a459c59e178da +AAD = 10ffa4cc7da0c9c8884cf204e403691f32def692 +Tag = 2a80c2c4a6e843b6d3ef50aebbbde919 +FAIL + +Count = 12 +Key = b0aa82e267ea60febf7220167bf2a3df +IV = 50f86a412cc6c599cc678d24 +CT = 4fd730f52fb80fcf9f1b48239cf0fe1d5a290f682331b01d876204ace098078c +AAD = 552fb2751d6694433850e8fc48b47874db07267b +Tag = 14f41ad80c148007bc596db99214c321 +FAIL + +Count = 13 +Key = b0faaad121fff2d147a4f0b166c41976 +IV = bc081b1f49b62e94b44a4454 +CT = 429ba584c05b6aadf4fe07c468519bb96e0b30c417975b455e2d8c242bae63d4 +AAD = 8930fc9bb08376641c76535bd02ccc71af12dbcb +Tag = 71d8196259ddd346d38bc7ec00b328c0 +FAIL + +Count = 14 +Key = 7f571d7053533f29cec3c08779edc7b0 +IV = 65aba6342903457406b3519b +CT = 9186587933ddc6a83ab8df4bf6ba7c7a584bb5ce19de4fccd0903108f691156a +AAD = b6c4bc5c14ad1344ce2b1483f78b80efded57032 +Tag = 9bb738194012c804160936f013978977 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = dbfc8af7aefdf18956fb1a4ae0d36746 +IV = e370551840ca6824d0833f0b +CT = eac84103651c86b7c30e993260ecf308feaa7b83411d875659481803a95ba8cc +AAD = 869275b94bc6ad751d34d8002b9a90bd152325ce +Tag = ff1225c22ef2f4efd800f2d4bea63d +FAIL + +Count = 1 +Key = 60db779fafd81c39036d197788bba93e +IV = e41d0c53d27b1d5a3f5fba37 +CT = 213e21e56d6e73bfc60f80854ce18b9c209856c26470e2bbb52183a130ea5c9a +AAD = 9734f6ccb8b7c5f1121eb8bf73f6e2a11bfc82ef +Tag = f9536d7a28a475ac61fb027c0fed66 +FAIL + +Count = 2 +Key = c5bd2929d96d7e247fa3ad4a80593569 +IV = 1f71abed1ec330a593df5406 +CT = 737156a3cfca8609b88097b18697b6d2b787b187691027ff4c42be891647ba55 +AAD = 83eeaf36f905e770a3c7a6a507dcc1aaaba7a3b8 +Tag = 8266e858d68edfe3ed7c4f228fb6cf +PT = d4a28243297b564e01985dc1b6cd3ebfb99aba0debf9716fcecf40863d817f56 + +Count = 3 +Key = 6c6e668c74a9f672aedf04ff572f34a2 +IV = 428dfcf8fe5ac4db6a641ce3 +CT = c7a0a8990abeefd363bfa9b6f01aa29e65779fdffb4c1f71e5578a21852acab6 +AAD = c72b07c477b305412a14b8a4e1433a0c42b94aab +Tag = a0b2b11f36006b28a9ae6a7df3baf3 +PT = a8ec5fb97c9cc0bce574ecc55f72de6d7f7fd5d55cae7cf2211d07ae9650bf64 + +Count = 4 +Key = 2a78a0160635390710457c10b0560ad7 +IV = 4d23046381deab35e209d663 +CT = d3ab22080e26d889afe4d146d162c12ed27fba45659cab4eb34ddb5a33795298 +AAD = f98a60514d01d8710b3c3bb19525a493caf34b1b +Tag = 05fa744c3c3e43a894e1c78d7109f5 +FAIL + +Count = 5 +Key = 610dd73f1310e95813ec2fd8739b7f60 +IV = 79ab72704a938e5fc067b1f3 +CT = 3848efe5cb1c0382c027a1f090eed23d218e94cd1d8cda66ed7fe4532b925543 +AAD = 0034ecf7ec55e2748586354d19484f80531d8df5 +Tag = 80aadba02b157c9b9f9d7ed893cc81 +FAIL + +Count = 6 +Key = cadcd0226ee92839c2303af80dd732b7 +IV = 9a1ee45a53786f45bb08625c +CT = 2dc14d414db2ad9ce0ce54582fcf37ee615c6b2fa46156ab6673132bc2f53ee6 +AAD = 7cda25c144ead300c8752d29ca75f6493ff5b3b2 +Tag = 8b4f241266dbf412c6b5ec7dc7842a +FAIL + +Count = 7 +Key = 5d818398d4b24376a822735fb9f2f291 +IV = 13033e9cc6c7659fe8114471 +CT = 3ecb0ed480f1f7b8a46c0a91d0e9d660283cb2d26f5ae83984931c120527ba96 +AAD = 52ed056f8ff031923709d80cf9d7abd35a736a88 +Tag = 1624887b12bd3fc705821d3e8729bb +PT = ff774c8937c47df1f1da2d3a8e05065b62a4c6b855f3d3e74b79f90e119975e8 + +Count = 8 +Key = d39ef4b50a7ba3dd79724ca9587822e6 +IV = ea37c28fe3581fe4b5f4a80e +CT = 07734169cf79941a465529cf753745171aa4df1a1cc26a07bf54e60fdd465853 +AAD = 33bd57d47f67d372197eb73d0ac05909952de4f6 +Tag = 77e61b24a3d2cf5406e6c6fe4289b8 +FAIL + +Count = 9 +Key = 086a4cdcaf8fd7d871563c3237ec7d90 +IV = 9ce843caa0a85a5bc1e20491 +CT = b0f72cfe27232ad229aa6bc0a3e202a041a940b37b7aa2703d4645479d3b97e6 +AAD = a2b4f7f4bb8e333d192ad1e3d148994822fe3e07 +Tag = fc1d2093aa1a3cb8efbeb55de72e96 +FAIL + +Count = 10 +Key = dd7884294b2b9119385de82cc3442c46 +IV = 228247ad6d8258ab07fc9520 +CT = 059a004f7708e7f3a70719b597bd0c197ab620aee3b8a6fcccbfc38c6aed9751 +AAD = 113a638d64fb73b37d4a44d81b556e09b7a6369f +Tag = a41e3dbffb0f16d0e8a6bb201af514 +PT = 3d8cb06d0ebb2c3025f9fc0258959868269be5ff597890e1b515e05be9b6c7b3 + +Count = 11 +Key = f3d755a73693432252e12fe8877a285a +IV = 20ba28409813d5a35d30d0c4 +CT = ad177584cf08123db3ce8ba62394eaa49544499ee9a1db42023db9de2eb06bf6 +AAD = 0b69b0c4f1259b0d72f5543360a25d6b98b6b13c +Tag = 1d148b90495a314b4f510a7d665949 +FAIL + +Count = 12 +Key = a44d0d2a99d6cfef2eb6d54d08b76143 +IV = 9772aa727ae7f72f84797ec5 +CT = f3f61faa5d45a6f33b5fb89e3679df23bdef602ae01afd12fb9142c7907427a3 +AAD = b5bb96adf2bf576e32d2d3095cff73a19469c4dd +Tag = b846ba3ba4e6420b4a107bbfa7a402 +FAIL + +Count = 13 +Key = 62b2217c77551b598281a1abe377db67 +IV = e9617147c972672f8c8bd113 +CT = 9670e4704e327658bec1ee1c60a29f8efdcedc91118d5da9658e4266c3e31a4f +AAD = a4ce63558e7adb928ff8716a1ac1277fe122702d +Tag = fec2b27cf55c2853ca035fd21cd2ff +FAIL + +Count = 14 +Key = 44d8ccbea805c7710e5b97192151f862 +IV = edb464de04af631ab847741e +CT = 59e9bad0c5b827880f89db0b43ad23c91e7019ba2a226bd9537489a7ef2d7d6a +AAD = 96a79bcbf6f8120ffd7995d50918a2c9ada4c25e +Tag = f331bfc42eaee44f201574a0852815 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = a61eaab81bea4f06f53de0f5a678162e +IV = ac9d3ee53ed2c87cc8afd96d +CT = 611aaa70dbbd5fd82c2bf457a2eb940faba5f3b5bb66523057af9636636a3038 +AAD = 64940e60e37256a70d55c8ba07e7fee74cf9cab3 +Tag = c384ddffe4ae2780295352ab1298 +FAIL + +Count = 1 +Key = 8666aefb5a6d9ed1eb3d32eb175f32cd +IV = f4a96a918181b0932bcd52ba +CT = 5976027456d1242219096270474184856daa08b496abd01b1ba4b5385a4bb0e5 +AAD = c212a440e1b32d6102720beea27e45c29b740b7d +Tag = 230cc0c12cf9ba0ea515f18f0714 +FAIL + +Count = 2 +Key = f2e31e1292e0cf8392e887d167a0beb3 +IV = 9609324c8c5d2f71a12bd95d +CT = e2dda459d6008abcf534e5271adb936deece9fdfca85bcf856126d84d862d25c +AAD = cf6487a9e628648583cab49c6e08f6fb3021330a +Tag = 9ad823cb58e9e5e2da8d69868e7f +FAIL + +Count = 3 +Key = 00a6efc21df76211a2c90447496e5fc7 +IV = ddcc6ad2c8ab5b0a170388d5 +CT = 25e07231d2caeda196716acaf67a91714f4f84e4328eb8a63617b1f16e9b7882 +AAD = 1340f1bb76e59b01682261bc619483045c535415 +Tag = 25c3c2d48ec73e8439d75f8b74de +FAIL + +Count = 4 +Key = c3e3ef20dcb77f21a771d72268f70ae9 +IV = bdf88051f8f2fd1c3f2d29cf +CT = fcdaa4a86f4db9bf023709a0e381194bbe0fab7d921049bcd497888dc9dc0e42 +AAD = e4319800ea6cfe1d92adae466d077cc9e352ee66 +Tag = 699437389149eb081a74a849db4e +FAIL + +Count = 5 +Key = a4f7e053624931be955818047935f296 +IV = 79ee5665f09ecc036566e28c +CT = 1b9de6763d2a8698120ea4d7ceb1065a6d261ab359bcbdf96135d7f3e209a18b +AAD = 9b5361997e05580e7e3b8fedfcec46b5a8a0f135 +Tag = 953dda64f498075fff942a82b72e +PT = 86c2209af4d0fb11947e828123776c5d63c0e81e8a26d3421abddbba54022e2c + +Count = 6 +Key = d9df3fabd58c27c17208294ba6b84178 +IV = bf38471e37d88db0bb82dc75 +CT = 1ed3ba98015d3c262bcafae0098922b1a80595708cc34e36c720118b63661195 +AAD = 6c3ecfab2562c2690a4b13633c93883265c6edd8 +Tag = 5436af5ae650df4be7a8cf06e1b8 +FAIL + +Count = 7 +Key = 1d0fbb1017372317a00b0f51dd51d93c +IV = b2473a26bd2983bd8bcb989c +CT = 00046a3e828e063ceab2134517b4d6cee9e9df1bbd4ba43cbf71d95893c27b0e +AAD = cb61514cd3d0a054901e8b0f7fdc1e39b2214225 +Tag = 319d1af0f87d2da54edd649da4b3 +FAIL + +Count = 8 +Key = 42883c2a4bf2c184e0964f581cd30952 +IV = e1da848f0500980d89f78f1c +CT = be55fe613051d1f731cd62d2fa9b6292f99b5c4bcf6b6aa18f08d87d0433c2e0 +AAD = 9c9dd58b76192c5070775f22303dfcf6141928bb +Tag = fd9040d62b205def0d6fd51c3102 +FAIL + +Count = 9 +Key = d2112e187e5b0e8822ccefcfa7c2c6be +IV = 970805abcc028e7c7126dbdb +CT = 46afcf6145636656420c9299b9c4a3ba3e5e8723da1493328503e1676ba15866 +AAD = 3742b4e06c45a72660819fe63143c757985a9254 +Tag = fcf47fd81e2cffa3a159223d2152 +FAIL + +Count = 10 +Key = 07f83fa8a9e1d63290cd4664ca490293 +IV = 1d1da7bc62b5dc491197be8f +CT = d79a8b535ee4c180343a32f4ce7d20405e8c50ac8a5d5e6a42c5f79033b32a87 +AAD = 96e75fa492bc226bbcfdc0980333eaa1ffe075cc +Tag = abea884f57e1598cfc35dc775e4a +FAIL + +Count = 11 +Key = f305da76e789778832932abebf497e4c +IV = a7c8f25504d078605c6fce1d +CT = 4f861eaacd7d5307c0e5a505039340e2eb0453c099db28b42c6502a3c826e52e +AAD = 5ac65739adc32e7037cc6c6d1059b4cc9ffe81ac +Tag = e9a100a2ffe600823c0efd037c17 +FAIL + +Count = 12 +Key = 5739b48304beb7d0b50a41f93b6f50b1 +IV = 6676917f3a88b51db3d2f640 +CT = 612db9a499e0232939fafb22206eb741f3a9d37ac092a0de59629582f84cbe71 +AAD = 9cb553ff03c13f4f1aff56763ac82de9686a3f99 +Tag = 23039f1f8fd4b5b5a12021998050 +FAIL + +Count = 13 +Key = 606305f31c2dceef4b9f422fa21f0add +IV = 6c85c821cc9e8c4d9ba34420 +CT = d2d2163b16cbc8c75b8d14a755d4c7c672e264ed23bea275a76c50c961df8f34 +AAD = 193bd810d2f0c068772147b34a8f8da16f10faa4 +Tag = 1e57370c6e05dcb82d13c58a2201 +PT = 206232bdeba739ca26ad754ea1d2377bd0bd3750def0ab5c63ea9d8def2468b5 + +Count = 14 +Key = 17dec73b368f1f23a87574bbd5175904 +IV = 7c8ad9e1fed66512770aedb2 +CT = 1ef2a0016e588ad0b7b35d51e6ce376b08cc71a0757e3ff7f8231e9a80ab7a2f +AAD = bca80e4912d1517ce1f1a0247419c69813425971 +Tag = 80ade2970c68fd0af36971f73313 +PT = 60167533ce63b05e8c539881006ca2d2ee7165e1d258d791fca429664db6ec32 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 4238eaaddfb94d6588dfda87ccbeddda +IV = 10fed1ad520961046c406f3c +CT = d645c222b00e9075089325b5f64f97861e0b3f47e69663ee715a13148529e195 +AAD = 45672af2f16cbd7801036fc0bbe398978e7fd6eb +Tag = dc383b5480d97096193ae7e311 +FAIL + +Count = 1 +Key = c7b5c4becfc7a6ce6611566871e880fa +IV = 1259efec3f00356d46c6ef0a +CT = 6440ca3d87b29024beaee599eb34af02cfd209e66c34ac0ee3916038fb512346 +AAD = 6695224720cbdcab3898d488c8cd2eec669ed8af +Tag = 5b0c57a6363a99c4c9b4e5fea5 +PT = 115c0ad7e6bb2bf9afac78c4ea9608c0f2bac9a4e0303aee3439512b4b44d801 + +Count = 2 +Key = 2eee717eed451f459d665af4a80d9347 +IV = f4ab8cb208a745af0747beb3 +CT = 3ff02ae2cfc173a2f5322bef1b24b3ef4af47d3b266a4d5e951578611ed7fd4b +AAD = 2a8dbb463ed1a3e19a08fe71b9ca765688340290 +Tag = c3bc9dbf15f7c9fb06da597862 +PT = bf678f9fd351dadab1ec45cb8380fd3401e723bf339c0135bdaf831f2dae5da3 + +Count = 3 +Key = 24c8f2c76548e3e32c480748a152063d +IV = 39a6d14ffc07f705dfe8c1cf +CT = 7b1c49f9db32bf5c458097f050834a4ce12fea29ab640267c6567f66a702385c +AAD = f653a783910aa5548c563b755ec03e6a69eea601 +Tag = 0f3f16990827b418fb45b3edda +FAIL + +Count = 4 +Key = fa4c2d6de6fe6800fa180a3c230af3c3 +IV = c2a6ea026def7a984f64563e +CT = 56029cce061651a695df1cbc41841729fa6aaff8ee4381d24d4fe8c5bf400049 +AAD = 70294bf7e3ec085ef23f8befb32f5d9d00cef80c +Tag = 511d9d999fee32c0e05e34ec39 +FAIL + +Count = 5 +Key = a17b3f02ac679b0621233923b5ede727 +IV = 63596aa6e9ac5b957c35f8f1 +CT = 99b82cd9389d4eebe0aa4debf4b62d60aaa846855b23fb661d8376356a9e51f2 +AAD = 5d91d936397e92168977560ff8a027aa7c84f6a0 +Tag = e297b1dd8526b1975f7479bb5d +PT = df520ccd575e71eca389dc97062dcd35a28755229265d798bf8cbd1427556416 + +Count = 6 +Key = d41ee98caec47aa36ce31696bd2e1005 +IV = 0ffdd5a2507f4d7bb5af2a83 +CT = e7bdd73c9bad7563f8e76bb9b5154853821907b2d6dc2949e0501c41d512a3a8 +AAD = 243c97b495c6c375721a8f98c557cf45d5116c9c +Tag = 70d72410c99e927a54f062c5e2 +FAIL + +Count = 7 +Key = ad9c626a16a1ec1eb2932551b4fe6f74 +IV = d30f10b1552b81c07ea18a4b +CT = 6c0e68ca93f1a6339ebea84028d1fc66c73a182bf321a04418ea741a7323ca8d +AAD = 4ce7de06acd7dc27f593b0b37ce46203774ed381 +Tag = 10ac6125e2894b5d8793d0d186 +FAIL + +Count = 8 +Key = 5fc16ac5b17200bc415ed318038185b6 +IV = 89fd96c4d9425985ca484e91 +CT = fc418984e66d0f1279add8bd8cee11f6605f1210c60af995207da8bc5d739299 +AAD = f9849a29d2ee33b45439521e9988da276928ad55 +Tag = 5a6b93d7eaa2cf8ccd0eb88e34 +PT = b81631927b76320acd21c41c1498b1b95fc7c18a761c296ae4b5b1ac0e6d75da + +Count = 9 +Key = 5497d2ef6e67b7a129fac19b20712774 +IV = b54045842f356821da8c7ca1 +CT = 102d3c08976d1db0a9d03aa6b428b4422a52c3f90b6885aa5d8595de227ad2ec +AAD = 8edf0c1d06b7a52c862f865d4b002e7573f15560 +Tag = 4569e5f9251283889b33b492ba +FAIL + +Count = 10 +Key = 4e6b2ddc96faea937e965e06a74cfab7 +IV = 1e10f871281663968d4f8c3b +CT = 1d8dd8a2ded2686f01413cd81d358d10f5407538482f540904b9d999167dcba7 +AAD = 0e204891b7470ef6e834ca528e10dab2331b1553 +Tag = c082cd501ccbb66ef404557666 +PT = 90bde4abfd27a5bebbbe3d44329c06e2197c7731e2e5fd3e51dc967b4f21973c + +Count = 11 +Key = ae6a6e575a1f6937072ab691d30ccc37 +IV = ce0c443498559c23b5d72ed0 +CT = 2391eae54f0ef2b332d1738e2ac68f9a0e51dedaf25b04e4b780c60d829b1ca0 +AAD = dbb2864c8cae779823c9354d7e1d27ed4368f7d7 +Tag = 307222499478c736cf4b4a870f +FAIL + +Count = 12 +Key = d85be1fcdc017a1a498dcfa93f81e3ee +IV = ac477fc91ae5d915a7546a9a +CT = 3896f326638e70981f5ff6def84085136de050157993164bb91f5a392d4b1b4c +AAD = 8eda5f846d69f8219d41e0b4473e27ed3e7a347c +Tag = e93d8e3f50d1a9fe2d6e140624 +FAIL + +Count = 13 +Key = 1ee3ea6433646dca40444d3204f1eccb +IV = a864fb0ef7951dad45ef81f4 +CT = 56fa9079de7e551bf87b05b3199420abd04ff754d714f1a6a1eb2b9b4e6e0ee6 +AAD = c84ad8e446d0b7f084caffea72ba9bd7287ab2f7 +Tag = 7e99cf8d5c8705c0daaf751c8c +PT = 02d48ea16da5797d89700e28ba1e4c0b1beaa93351a95acaa3a31813ebd801c1 + +Count = 14 +Key = 998e99d46831f1bcbf0d69cb72093610 +IV = 4493731caf724e68cc5034cc +CT = 65cdbbcee940e251820bfbbd37a8643628824fcde76e86b402e5c7dccd043457 +AAD = debd6c58b6bfb7d86e6d9446ee030f075e74f9bc +Tag = c2721753f24133239b74f4f07b +PT = 00a001ac88d95599a3a984b02bec6886d05c44d239ca71a565c8c0540798f945 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 2f180d97a4c471b4bdf0ea37651b6363 +IV = e76d1c1a2f0cac6dda3209c6 +CT = 7309f33afaffd896b44ee011434bc4fcaa732e3e0b54d11117ef8c008fab4491 +AAD = b1298aec2531450b6389e7d33d1c63e7e71097a9 +Tag = 148b6b1c62bd95144a9d589e +PT = 8870797cad1aad60dc637b5dd1767ee50bfecc6aa6d2a495d8213f24e9b40970 + +Count = 1 +Key = 52c00432fa454c4fbf2c9c9aae25cdff +IV = 3a7090399b39c4e146f5ddcb +CT = c4ffe026586bdd0a3726964f3d515ef76dafdbc9892aa15a9232a520aece014c +AAD = 33723750df42614e72d495f468ed8ea8fc4d18a9 +Tag = fccd8b9fa0db8da5ea15e411 +FAIL + +Count = 2 +Key = 27570d5defe111430b9ab77c430fc50a +IV = 685b816d9b5274052a6445ef +CT = 2e091e28a6f9d6d545852737ab769f0dfe3ff758c5f81d69cd52bbfdd95b19aa +AAD = bc1edab467f6b0307c67865ad69be014df3a49fc +Tag = 2adead630a3d0a449fe6e67d +PT = 4212dcdc39a25d3563bf8d008416f82a73926daa7b8a8666ab34cd785f6dfad9 + +Count = 3 +Key = ee7186058548c308e92587e539f0a96c +IV = 4c95330eb3d38b7f02298b6a +CT = 838fe50ca98c28751006a62669124345399772720e44e62179dfb1f5f6447e3b +AAD = 10101eb733674bd10a0521c07cfa3a7348eaac72 +Tag = 1e3ee1d87e74528378ac88ce +FAIL + +Count = 4 +Key = 83b5d409a18acf742356910b2ce9ec79 +IV = 36ff059fd21bfe9640555ab7 +CT = 45388c2f52db9d5ff5442187115d288a936f6d708a1a42196c1b6ca14541c067 +AAD = 46848134e07adda5f6fba46709b73fd22d6f2b95 +Tag = bbb4a2c1e94b9ad1971c213a +PT = fc0094887732d96c9433aa659529821827d722c53cca035c814c5a4bcd53e5c0 + +Count = 5 +Key = 35f6a398f8df5a0c82adde102780a7ed +IV = 956ba3ce23899ae51f6edcc9 +CT = 0f3481fd21f9411f548caea59e61176e3c1655f09fd370e4b93083213ab62a0f +AAD = a9bb8fa84591b6137e66ca378c80ff8cd4df6019 +Tag = cffb85f81eaf8a2a8f72571d +PT = b859e390c1edef6194a36d796ecac94e755f5976197a04c24eef594dbef9e687 + +Count = 6 +Key = 6591071d965fd1dad6c1b4b4f7328bc8 +IV = cae7520e05c653ec4fc3d5c1 +CT = f96ca6bc5ff46abd7374d85b58f7c7f1f574cbaf3f6b8cca384f6ed9994fa589 +AAD = c8a081fb1d1b642a5726e18c9e4a12f5f6110032 +Tag = d4ac468818ede4fd6f6de4fc +FAIL + +Count = 7 +Key = c3114dcb27d07286ab6f7ac97a112876 +IV = 1ed4cd96f52f7b88037e3532 +CT = fa36367b1c055ec74b03d2f8ae88028efa1a12026664bb88242e87bbb5fba0ea +AAD = 24b78cba63029c84903c0c22c6315344acef87a5 +Tag = ad42ec473ede7d449193a70e +PT = 97d1898fd95afc5bfcf3638e763b97ff76ebd08359252c6e4de2ec47c90551fa + +Count = 8 +Key = 9e9c97760515773b23ed09d4e9b1d2f7 +IV = 6ac5a48d14c48217c03ce2f3 +CT = 267ce8aee7d392d4d9d49ed52965479f68c2c1f2467e555c93b8c896f2962f3f +AAD = 304a27633ca095284fda6624d13dba0ef6b2ad39 +Tag = 9d357eda5e4544e73a5d27a5 +FAIL + +Count = 9 +Key = 0689d455465b82b005cb003121aeefe4 +IV = f7adcf6ef160a9f251ee7f72 +CT = 706c8d85ca00409073bf6adf88115934530316cf85c5a395b60fc9dd4ed87d4f +AAD = a0865b6a8985da997f7fcc6ae88e5613d9f49d83 +Tag = abcb02c6753409bac7e19baf +PT = e27b16608aa0600892a15bb59402c9fa28acb35c04f8bbf59cfca48a12f0820e + +Count = 10 +Key = c40c5e0508c73ce52d9221f4ff7a851b +IV = 28f81f274760c897a57eeef1 +CT = aea4074ac4174b278335e2b15d9918ce2389842678a17d93006c223f65e11843 +AAD = ef28de16fa73922fc8c9fcc46b1f673b66529e8b +Tag = 6fad37e684aeea4f7e9d8727 +PT = c6dce6c4eec719a0f233fc9a20388a400cce51526a20b0e9ba2f90d5662878e1 + +Count = 11 +Key = 10956ad84394b97d1581445184824ea9 +IV = 20a2c1098e1952232d83636f +CT = c7b5fce0eac188a5f72a15337d23503cfae0f78fac2221e462be350cfb73e236 +AAD = b609a64f303d5045b1b33e47d861c8f12eeecdad +Tag = 6ce916bbc5d1e63ff081ee63 +FAIL + +Count = 12 +Key = 788fc2d1631bee8a9417af66225e41f5 +IV = c6b6bd1690c852263f5f2739 +CT = 822026d8c7ea6d7d39819424ba145c932fb9f58676b73ac143a0ad9725cff69f +AAD = 416330c6e5600cd9fbf55ef165969573907aba4e +Tag = 4370ccaad09589f2655e1fde +FAIL + +Count = 13 +Key = d2222cb14b11a1ae1bb77f268baf53ea +IV = a0a50ac01d4600d519e5ed46 +CT = c211335cfb26da642cb2ed1d49f83ca6943d7c5079f7935c5ec489d76d440837 +AAD = ba1b49230772c4c9c0962d92b7b917c2f8002b35 +Tag = 095e6f7707663be2289eb71d +PT = 5ecd6d505cdc1b58704523d4a00f4e1763285190234d9591a7868bdc3012131e + +Count = 14 +Key = 4636aacc8cdc098cadec8593bbbdef44 +IV = 482c8c812fe6e0a326b91a78 +CT = 8821db1a7189b08b39d836e7413f39de5506cd8232822710fcdaf69add1cde68 +AAD = c8b2fc73229f26f5936be39d66d94c1ba0de5a5a +Tag = 0197d41dcfe9b0b51c2bcd17 +PT = 1a9fca37a087e69026d26e6f8f8b6d17ae146adc4ffddb55fff86d47b0cbac76 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 683562c950b40a468a8bba2d2a05a16d +IV = 871e0213e94d5bf3285273a6 +CT = 68a2dcc25e4b996f7ee028679eae771017eff273817ffcaf153fe03cb9360b94 +AAD = 59b4e87f639193e45a8c47da116e133bad6c1e6e +Tag = 1c66b4ce2c27ed73 +FAIL + +Count = 1 +Key = 61ce0f827e51297aae1e72d4af279b55 +IV = 1b044bf8b127961bf4bd4087 +CT = 5da26b77e128ab80173c9e51f67440722d1e914bbf41d46de328bdceb7c622dd +AAD = bef37ece03f62d82ec56e4c7e2a039fff5c64d1e +Tag = b5f39a16c5d3143e +FAIL + +Count = 2 +Key = 7ab662d66b296318984954d3afd25c97 +IV = 5efd59821ef43530fa5d211d +CT = 29a5c973898eb682218715bd3ce06989ea8ddacb2ac02d044d1e706da276c694 +AAD = 413787fc0cc96b5e23cde258aae23f072dc313b6 +Tag = f0e70e3a64046f9e +FAIL + +Count = 3 +Key = fc3a58bd767aa97867ab5a986d574c87 +IV = 80533e86403a33db013afc6d +CT = 22af886a4f181ea562cc44b06ef09774eb38831772aa597121d175c1cb22843e +AAD = df95138a31367551dd87a51fc1dc67aecb33c2d2 +Tag = c2e6fc4769d5febb +PT = 7c0d24b88e6d7a2d176f00fc6017764a197a58420838641aee8fef458cbac6fe + +Count = 4 +Key = 0ccb67b9d40236d877ad6093304ef7ff +IV = 39771f863b919ee974c51b27 +CT = fa9bf86ebf90c30c72bb97f550b9123b733073bc316ff15b7bc267393a7a5172 +AAD = 023ba38574d4de04271878646b4b3d470eea077c +Tag = 22149e8eeb9ae582 +PT = 8455bdd3db2075c3324591bd252aabbaf091bac35b79f494efd86a7b297f887b + +Count = 5 +Key = c6fc8cf30e6cb17e6fccc368bcb88696 +IV = 658aaa35426a24910452ff69 +CT = dbee605c632e883f78cde314ad01d2765de53a802b12a9ee8c85c11ebbe5eed2 +AAD = 3143cf6e549131dfc406225f2f795962d4d124a5 +Tag = 2d5eb7beae177c99 +PT = ba0069fd32a30fb9bdb9403a9a6d7773fe4a4a81e2b1569ffcfad65696317bd5 + +Count = 6 +Key = 7ac304cf2e75eb004d41eaad4c3b69a6 +IV = a2af0c5ebedb07fefb23a148 +CT = 204b26cb45358293d88c5535b4d29eeb88e19bb675120d8f63eef7643f1fc2cb +AAD = b4dabb55eda9f0213499302f3b6c68205c9dbb37 +Tag = e31f03f4b534243b +FAIL + +Count = 7 +Key = 4125505a195ab348c5f633f79bd6542b +IV = 2a43022ece3a4608cfb27a77 +CT = b740e1b8ce47bb5b07329199aacf329c6e05e0634e4d88dae5ad10855fb84dcb +AAD = 1dd5dcb00a58cc52030d04ee75f133d7b8947c3a +Tag = c8778d0bfd2922ea +FAIL + +Count = 8 +Key = b2420175331f9784a7dc00f6c753149d +IV = 445d43d849928f3be58b14f7 +CT = 879e580f867cff191be00ea17369611b1ca627e6974799a3082cb2452f22d087 +AAD = 2a0d0eadba5c2dfd4a06ba1d40466b6ef8b53703 +Tag = 93540ea36e012206 +PT = 9cc7aaa2fd5246a68cbdef935f50d20db7f2eb2bae150c2d353cc2ca49960e9d + +Count = 9 +Key = 682f34ac46b66ac52fc8717697fe5944 +IV = 3014c4ad753a842ac273f9cd +CT = 99f6c75ed2c739148c23bcda0c23743f5028e27b88b953094f8e7fa5f5fbb4e5 +AAD = cc3f990b1015429d313ce17623f77b7e24ed047e +Tag = 0f35733fc4012c05 +PT = b38111d7e24c22e1cde648ae55de10ffbec462d1ba728f4f86daf2614f53f9cd + +Count = 10 +Key = c310e50976386465a048a002e129e0c9 +IV = 6f17f65b804095a2a4ce6280 +CT = c69fcf66ed6451fa08bd3ab436b8f510f484a06cf4417a445042bfb29ef261e7 +AAD = 788326a9641841d0d2805f9de8d599255cffcdb8 +Tag = ed3b3a888eb3ce27 +FAIL + +Count = 11 +Key = 2c3f8a351df240c23b6b043a2b99225c +IV = d394f36f205f01064c3c8729 +CT = 20997798de94bf641f53db0027bb9270277e53531adafc40280beda4df173253 +AAD = 0742af51b3ad7a8bffdab267fa0be618a133c528 +Tag = a5fe848a3eda491d +FAIL + +Count = 12 +Key = c67380a80d5e934cd0cb5ffd1f00004e +IV = b1d54c07b87ffe68ba832715 +CT = fed354dd172807f5812fa9f1c37476cfbf070b63404f7d1037c7a3f56cdb4883 +AAD = 1df17d5a94979882cfa7afe435cc679148adc55d +Tag = 97857425b1031b04 +FAIL + +Count = 13 +Key = 901143c6dd1f1de72f82f039df83bb6d +IV = f314d3618b9708be11d92078 +CT = fca3af742f93a916aa974280f95d9917f2faff6950ccaa29d7bc2b59fac7e113 +AAD = bef3486bec57e6e398f7cbe1585ba718d240845e +Tag = 288c6dcbc1dc62c1 +PT = c9d6a69a79b6e8ad71a9bc02f62c7bbd5e81e7dd80573d25a656a138aa307248 + +Count = 14 +Key = 27e123682881da207bb771b66a2ef377 +IV = 621d2f056c21ae925fb871da +CT = a0d28ded5c5c82c6e5014fa001d4d66325cca3f301fb9fedcc2ed685fb3d8844 +AAD = 15681990094112a62a1a111150b89775c4cb667d +Tag = 077b63227a1f1343 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = afd1af07eaadd2e08dfcf03dacfce49e +IV = 4c318f46d1fc54c286d9b9c6 +CT = 089519a7f99141609e574285272a946031d9a7753f6b969d6d102c53f06ddc7e +AAD = c2ff5bb828ee8be8d7eca8c75eba6513c97da4af +Tag = 1e8ab2e2 +PT = e4df9f3a348f38c508751c57839cfe721964fe0feb654f36c2e353547828379e + +Count = 1 +Key = a284196f9fa9ae97e4f017776d0fb5f7 +IV = 157543a6202b79448eb1b10c +CT = 449419e735e097a711ed2ae95a42607b8dc352a34bf270215854d5bbea9aa40a +AAD = 4eaed90f5aeafe545476bfa1b15d305ece8f0112 +Tag = 62f1f587 +PT = 63973a56723a269791f6101457da7a82eabba96e3505b8462caa2714b343ab5f + +Count = 2 +Key = 993846242c12fd51cee5cf7b679c57ad +IV = ae8b201d8b70174212779530 +CT = 5c17620873ece330cf35950db4f3b3c011acbbf9bff9381f92fd6782099c315a +AAD = 40e1b790b7890857a931bf1aaa2999aeee9fdd76 +Tag = 212da995 +PT = 2626d50fba3dd84322a036f5609fd1352072e7927ff86fe058652c0142f7e053 + +Count = 3 +Key = 794b2852861aa39014556551cdaba96a +IV = 69bf709e499e9ffe058cefad +CT = 173b2436b3b6db89fad5c8160fe73e2bf2799d7a9c8224c00763ac65e6038fce +AAD = 05175ca8a7390d8cd195ea569dd2d69f8fef96d3 +Tag = 69c049ea +FAIL + +Count = 4 +Key = bdb99ba89d78d6bcf9513e78db45f192 +IV = e5c84eab3203fe1100ff069b +CT = ee95a0b9e3ec79974988c1830ebe8722382dc82ca2e98723bc9b639f0df77b81 +AAD = ca2343f54891ed8fb75d660b13eca97f7673f0ec +Tag = f3137979 +PT = e8ea1f38d78431c7d87651c344d1ba36f855f4618f8054f3602e137ebafe8472 + +Count = 5 +Key = 85edbd2cd94a2b3427bddda4ab544669 +IV = 1c9b5094136ff27643cc7b00 +CT = 9da2f2fa0cb929dd58f93c9840c5b51202fc6cd4cda979272c4d1b565a1ea2ff +AAD = 0127ac21f23ddb46f581bf7788afe82d4e5767c8 +Tag = 3df800fd +PT = c3dd7a23f57e2aaf1c792a842fb4af6f03186f472d959eeaec2cb7500d5d943f + +Count = 6 +Key = 338ef74ff02491123dc205645a53b7bd +IV = a7224ed73bf57753e7b9382f +CT = 715900207db40fa11df43d6549d191e8e7f9d059857ea7cce2785083d2c961c1 +AAD = 98d4098cf347aaa521b25408e2a4679bd87d25e6 +Tag = 2d416dec +FAIL + +Count = 7 +Key = 2471634ef47544dc4e72483a79fe318f +IV = 45c6c7f0146faf538f7b76d4 +CT = 15708d317032d30352ba7d08f2894485ee003840b856d73b2d5bdbf310f90cbb +AAD = 401b894581660b77b19492ae6112fd78fcf0c8bf +Tag = e1c91ee6 +FAIL + +Count = 8 +Key = 1c3d01901c8715d1d1cee89c85e573fb +IV = af18f3379546bff8f58538f3 +CT = 9b06871eb45ea34362fbca2dc4e536e7bda4255b315bec6b7699425f2ff7126f +AAD = 2334f30966e94314b3a5c1195e2236176e879003 +Tag = 05107369 +FAIL + +Count = 9 +Key = d15944e951f566bb8fea343917846e2b +IV = 64e3f4062361fae6dbfe7a72 +CT = 3fe17c367eeae8ce6126ef833718e215e2c19a60857a3b29b325667b737ece26 +AAD = 4c1f723cd1df76f6cfca281f38e9a863f75dd86b +Tag = be8eda47 +PT = 7231d47d0c194ee7bb49c293997acd2751f1f9b7f0993568409e6dc75f587b82 + +Count = 10 +Key = e4e19ece19f63715cdc6d20ee140cad8 +IV = e2868525a6e9b904ca01a512 +CT = 62a94bfbc478cc38309835c208a98a51f023bf3d05d888a53e08b8219d54d06d +AAD = 5eadc0ec8cb7158f27d50fa695e1302b4850211c +Tag = 8a5ebe4e +PT = 038e6ce3c3ee63b475e98cf88fecd4d7cb061cb085bbb4cdddfa432541d8a364 + +Count = 11 +Key = 71206fa8a8ead86edaa7c054c6da57fa +IV = 0835f961709b4a891f101805 +CT = 419462b5846c837eef8d7646955a66100c9ea0d97cf1d5e039bee7f04c471a0c +AAD = 25b19e320047323ae34b365b5512c9229061517a +Tag = c06326f6 +PT = 6297e7345902cc299635fd4604142d97c7f155df83197dd2c30426416e660b78 + +Count = 12 +Key = 9876e8fc488455978a5ea5e8fbbc307d +IV = 1fdff4cf3413ad41f3bc1fbe +CT = f521be562bb735865b031302359b20f763d021924405a1d8e3226fff9920d6bc +AAD = b61e1345c191443ed947c047f875f966e5096215 +Tag = a98d6c02 +FAIL + +Count = 13 +Key = 5495fe560b6ba1342db59953a44942f5 +IV = 2cd84e970b66cdc9b4ebf088 +CT = cafa04c5f7939be1a31380d454ffac41a9cc047d4926ae3680eb0f0687e3d12f +AAD = 5588d290a5bdb7e6c2a853538024ecea288846cc +Tag = d5684ba4 +FAIL + +Count = 14 +Key = 53042d05ea968aede5f2fc4aeb464377 +IV = e4c77bfd76ccbf5347f268ae +CT = 5237c70bbf2dd2be84b1d1753c7759385a2369091d212c17d2e3f767f68dbd76 +AAD = ae0c38a0d833a17a386d99afaa9aa3ad30433ec0 +Tag = b24d45b4 +PT = 1f5bf9023d7ea485efb3b53e878948120b82316b76963f1680f6ad539d222922 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 8453cf505f22445634b18680c1f6b0f3 +IV = fab8e5ce90102286182ef690 +CT = 5475442af3ba2bd865ae082bc5e92ad7f42cd84b8c64daadcf18f0d4863b6172 +AAD = ff76d2210f2caec37490a19352c3945be1c5facb89cb3e9947754cade47ec932d95c88d7d2299a8b6db76b5144ab9516 +Tag = 972a7e85787ba26c626db1a1e7c13acb +PT = e4abb4773f5cc51c9df6322612d75f70696c17733ce41e22427250ae61fd90d3 + +Count = 1 +Key = 87a0af6da98b86e82098c9a7564554d7 +IV = 1991750a529395fe5b802332 +CT = 9a1e0fb7ec85f1c4d82111c7ad73085cb75f8478f362102cb4c1c27bc38cf4da +AAD = 6253a0d0d54234476bda68f2a4db8fac5c21206f1bb41de2e3c0a06b9d068c4d8cc99de08d0c6720d5f06ee4f981c23e +Tag = 9cd38b99c212342c816263c802656655 +PT = 1734cb85a5df60143786fdba7165f286d44ea0442eee802a36aa241c72725e4c + +Count = 2 +Key = ab124c19896f9a725cd84bc65c0b769d +IV = 8be6b8884adb0acb19776719 +CT = a77bc17b558e829efdf4508c62761520a44920840c4d8e8cad0564931ffb6f0f +AAD = f3f8c4d2edf80986c33940a9dfce5c64ac314d9969bad730bb719a4a39551eda6b771b6941ba301a4bcf2c7e69c8a000 +Tag = 890106f841f36315a7fed2ffb57f2dbb +FAIL + +Count = 3 +Key = 2c691107ac3eeac8507f7275d35daa6f +IV = b1c7fc99d810d00bef25163a +CT = dbb74c34d430d8bbc1a859418f0435c18deab7bca9d2c7ed3e9a1647de0e5f62 +AAD = 78e36ff5b2be643c948c1bec4153b2e9eaf0bb4a4a92079bab1fc42f3f66f25d075ec82998993c95fb8474b8091f4968 +Tag = b6bfa61751a82d581436ea837de8c483 +PT = 42f707406147678db6f51122e58bcbd4b9a8fd25bfad242aef6fa516663fd0d7 + +Count = 4 +Key = 078a2edbd9b6e86fa94a046cb688d6b7 +IV = 26bc3ee0106ee36e8b081fd8 +CT = b8f270f2b8bb2fa214eb35ad946212bd428390ab7ef652fc3e8c2226c3bc3416 +AAD = f93cdfdf0a98cee33f2f1b485c0e7115f7a56c80b0de75d4b7c87a28036f8e1fa916d6cc78f28cb3c19c19cf2173c5e2 +Tag = 0546d0182a212bc2f7ee185c4e33a510 +PT = 2fd09e96f27b31a8a22b778871bf71e9229b18e5ef42e28efbed8899122510ff + +Count = 5 +Key = 82d166bba1e5828f761e4231fbd2c76d +IV = f8b7d0adae5e4412b7287d89 +CT = 15f880e5c31c00240d2ca990495b597706939c9475c14a2a65582e93263d5479 +AAD = c675c578ee2754c12bd5a5c224c76d9aaadd2a1e7b70e51a1d6a13c9b2aea578444dd8b28b457ccf7cb28d4780fc1f86 +Tag = 4ee3f9cc35eb9d4ea65f162e8d6900db +FAIL + +Count = 6 +Key = 7dd5c39e6c6cb282a57930fa453c02d8 +IV = 73d4f1c8f69005370f509513 +CT = 80510c8914046fd36efdc24c3dbc74dc8d1903d7951603175d780cf95a4cd25b +AAD = ffdcf3d0a8ad8259c3f44f4abe72864e2876dd3c988658d78cff9a48fb6f0cff5e8da3fa7473e23e5efa5466fae7c01a +Tag = 456968965fd36c13415a701ebc77720d +PT = 56ef49a830c1b531843ba6a143b5eb7eea88f5f9edf9ef68e1c86ddd8b2ef9b7 + +Count = 7 +Key = 65541c7a7af95c50fcab82c9e8d24be3 +IV = 9e8491154a9fa91e35921039 +CT = 480c33465d805349beafeba53128f5ba234b8353e7f86ecd13992aa9aaa8b933 +AAD = e4f223988ee19c5065680ccad637240eb7bd659feefb0a8db0a5935ea2096cf5e9d89a1204248d00a70e102a9abf398b +Tag = 818f7229a392451112b5ae484c40ebb9 +FAIL + +Count = 8 +Key = a89926044fd23eaf3eaf8c6f05afaf60 +IV = 0506ee0c664394dc6c857d8e +CT = 329468ed34820830fa4657322b909cc6914bf51bea00a74b703394947dc29c2f +AAD = af6ec49868cc4ae5a12e677ecd60679da0844ef8316078ee5ff8faf04de53c9c6bcaddef8b0833155c9579636e82b6e1 +Tag = d5d610ea8810931e7ddf226d8569a54b +PT = a351f1709707501305e57ae767e89a7340f148112c1122734f68946267afff7d + +Count = 9 +Key = 8d36faf9f30ec69b5f8dad1e491f0f3d +IV = bf58466a6c70bbaa39ff7eb2 +CT = ace177fedf749b0312052ab77ef8074ec325ceeee3859177f6c952e7826a661a +AAD = 3535b93a652730ee47bef47650ee4f1f30a6c70491d0d56427caee2c4ee763ddd16575b6a3dee65ee7ab3e508ce6b8c4 +Tag = 324181117f39f500e7cfb6bb851909bb +FAIL + +Count = 10 +Key = ce54095bf5678115a76a89c4130450cb +IV = 788ec8fbd3cc197551739ceb +CT = 088efa30b927a8b21b86fa0bbe4e9ecdbcfcdb0a3379b8e758092fe21b23c99e +AAD = 634e3e6d72a31879f8030736957a9f89896475f915f627e73a32c9333ecaa2aece5e98b90a5668e6ec92913e3d91e570 +Tag = 9cb0e77f5b403ff85152a30a154457b4 +FAIL + +Count = 11 +Key = 99b3c4b8f2329a8eade022b7fb4f26bc +IV = b72d8545efe1ab84f0455e91 +CT = e5a56edcc5679aa2e7301119414656b406ddd7822c2de4772b8898ea0761825d +AAD = 9fb2c737e9c7de8052221ac0b76cd2a2289fc59b4cd646bb9622e30ea227f0cca33981ff51f27afde410f99ff6a810cd +Tag = 43dcad1123d27635015a5c42296199b1 +PT = 6b6403baa0ae0b354eb25641a5e958b5bd3f7108694f3ed019d1dc5ea2695625 + +Count = 12 +Key = 924b27bdcaf559e4a7a7d6c6332904b5 +IV = aeaed2c7b9a78acf83ecdde6 +CT = c190e4798254ce50ecf2fec69a46ee9a6ac9528dcb25ef72a5dc2b91cda0017c +AAD = e6ce29b8810499861fe179d3eee4bfdd2df25de10533e1334ce16d41dab3e8074f91943f2a3bcc7a04f657e84e9bb5b9 +Tag = 0aea374ec34347946cfbc4e251b7ee2c +FAIL + +Count = 13 +Key = b12ac950027bf3ac01df1cb743553a77 +IV = 5bbbb442bbc5114f949a274e +CT = 53738852ee4cf26c4e41675b31aa04d723b314a22924fc3a12d474ddc0771f8e +AAD = 81ca7d80c572abf9f9f3078258370b7763d603380bc536879e81185488bba8d029a18eebccd2eae9812c4af45e8758cd +Tag = 2310aac3905edc0ff5839ecc17fd43bb +FAIL + +Count = 14 +Key = 6598ebb72aeeb3def673f6fbbd9e5a2b +IV = ad29f048ec023dbf4e6b2f48 +CT = 0ce27f78a31a177741922fe99b1f44b7386e4ae5a1a666d6ba23ed76e61d3954 +AAD = 1457f349d36bfa595609ec4c174114264f1a5993264ea51fc2ff4055e132f3062cfa671a16367798f77c9c3146fc3cc0 +Tag = 5ea456be8c8cd7d1f18888ae74e16be5 +PT = 19832fc5a9d40d0cc9c7c2de8009be8323f79346b040b30551006eae72eea264 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = ab8a7788ec16b2300b6910cbbd7fb743 +IV = ab45b13e66b6a41fdd2ff007 +CT = da69bf739ebc9835f03ce3c8f1bd030cb8331d259074d0fb27e46ba9f0658bc1 +AAD = cd2c9c9d36d0d546d366a857d0e7ae4d6530199bd582beec6179fe5d1fc1176182bdc02502810c07cef637d746be3877 +Tag = c61eb35b2824ff268246cd0e02a444 +FAIL + +Count = 1 +Key = eaa8843d3532ee96756cea31e7d16be8 +IV = 266efe5dd563c4952d91bc34 +CT = 942c6612a319ac6f8abf0c411fb2952fc0eb4010d25ce70b6d073fb0285ca2da +AAD = 538394aa9afc03326e961073cc4bdf35eab398a0814f276c9222f94e4d45fb5d72bf2e3f2b4e2782fc2ed06773f3971c +Tag = 47c6b5edee59c9edbf840c3570187c +PT = 498bc1e6ee67b300861bcf48b67d25c4720f85c4a72a8e826df3a294737e2a30 + +Count = 2 +Key = 38622cf5a5c67066aa3a513330d931dc +IV = 9f92629955ebcec8de4d6917 +CT = b869a921c80ef71600f1aed0e2d5cb04f85776c0cb31861b0166d480842ac5f0 +AAD = 2264cab3f98354cf0538b7bf3091b39c359b2c3ce69d7fb948713d1289683ce09a2b85f81baf6f5b5d338c00ed98bbca +Tag = c2076bd070f7cc949a27ad5fe3d3f7 +FAIL + +Count = 3 +Key = fb02ca15a037b0e8641f3220421fbfc4 +IV = f40f54dbb741cdb0f03c254d +CT = 739a87a75c1d5445b5ab03d7ce80fe863efd55fe23aaaf674efb5496877269d5 +AAD = 0f82e85135e23ebc7f43fd5da568248259a134d7149568238ecaecae40dd497fa34bd56379038d422aedd0ca363d4689 +Tag = bafec6b7a4afae325e984f12045ff8 +FAIL + +Count = 4 +Key = db44fcb584ad8d7a4fb729bdc9aa5c17 +IV = 9e9b3b0856e5ff6c956473df +CT = b5e1db8e98e56cccb88ef7c73ecb1b0a986732017fae9696ab565bc8d9a51199 +AAD = dbc6a74fc99e532fac172ba222bd35d64380f3d81be224db5482deab37035a52af14bd1e166c7c1b5ab8899df49e40d7 +Tag = b3a282a6c5712e2a0bf5f08a6d4cf9 +FAIL + +Count = 5 +Key = 1f8626711cda428e28c31229649fb8d8 +IV = ce082b46b85bd9c63e7a322a +CT = cd004b27406c96f791c7b10c5b96abc7073c6b4367c0635138629c973c7bb09f +AAD = 12e097aff191b1031ce21d85928a69cc9fd1248cd84a21299032c9607790cb781100773bf101d9348ece975ab5d0fb84 +Tag = 324c1a1068c4b21584e1ebc5222a76 +FAIL + +Count = 6 +Key = ed0b4676734eec955f286921419312ec +IV = 8e87409fd2ee45ace1b74c6f +CT = 165f1afb79144a1cc2cb0c9333fab61f24fec5a40e1a553fe5ee39e420d7a699 +AAD = 4d3e7e7454c00bcb0942ef8c294192d5d94232d58866fc2629b0f1fe25381e436b1b671c7d7d61b9b31c5e30ae4d4cf3 +Tag = 672505616fa0b22b41bffe2ec08b98 +PT = 8c70b715a5a3d7609220d3f33ca9d9a4250b57aa3f971b0d334f8d9a142221a7 + +Count = 7 +Key = a4de9a7e5a8621b3b9180d6161836d2b +IV = 699b9d36ab0e3bf4d2a1e857 +CT = 7259489c91f52a55781396910ede139a420742a3708e99dc4e2b8f73e970a861 +AAD = 551f920b67942cbaf203c32965bb290439aa425a2d05ae2d86e1f2fd9683b41ec71b752ad68947e075b655764edd59b1 +Tag = 14e86ecfdf6f3f8a026eadc5cbc7f1 +PT = 2c50b73bb9dd799473419f1e500ee052222a1192d0039ddd7f3148648c3f7aa6 + +Count = 8 +Key = 6e916762656d1a7e9e098c73a856b787 +IV = 99d8e01d4c03872e5af80c84 +CT = 8e7c2bbb916857af8ba2efd9af57bba73a973fe261f901f77868f41c7a4f3b09 +AAD = 0905483345e094235459ecc7d91fc3be872dfb0600c2a48f6f224288582d8808ce674f19b9f8545a3e67fe5dbb09b6ac +Tag = f228772bf5cfc29a895fb1c97279c3 +PT = c807be605a57efe8cfc33a383e0e2b5785baccdfc72a5c7e56e0cc9656e59a13 + +Count = 9 +Key = 7c32627162e34c1ce948b7e3be1710bf +IV = 9068fe2f6840c9cdce86e87c +CT = 108ee1003e8fd2e1fdd84eeb5f6b461727ad82bb06b56f3a56798c5c06dcfca9 +AAD = 4901cb101495d9c3a1a78cbef4d568868078b7869cd4fe2e67d80d89e852133c7ca426731f9053f8056be06be6fe7c1a +Tag = 76e1f8eeb1b12eb4a4994b6ee52518 +PT = a5bd45c3aed58e81f64ebdec9b17f122b7301f03e96897c86d9693b01c4efe01 + +Count = 10 +Key = db257ded578d9fd10b5910e93ed62dab +IV = 8bd71b0d7dd578d2bfbe1e59 +CT = 60e014af507ecb00f4c3eea9be47a24216f6d85b1fcd82b31f2119e7661b464f +AAD = c90f492bdd97e0edd8fbc495905f0616058533fc84df93ba669d86a15d206614a7dad65cb03dd7f8fd95eb525a3dbce8 +Tag = 4d15ad5e17c5d9ba8da66d2f767395 +FAIL + +Count = 11 +Key = 06be1875e34acf15e2ff37142725babb +IV = e2aa75efa3474b9869e48c2f +CT = 28acff2f89a5fafc8f9b4731c9a1104f2ee478dff5defd4c972125fb94680a83 +AAD = 686bc3386015325c0aa4f9eb9ef93211194aed3b9688c6c461b967f65f8333230372ce65725e25f00dce67384050071c +Tag = 6516b425d40d506a09460743cea031 +FAIL + +Count = 12 +Key = 7bbdde8464c402a9eebd677eb5203720 +IV = ebbe657bb9a5dab28951cde1 +CT = dae081b10b85149b06dfce171a6d6a1156d058fdbb28c822f9dd785af8aed82f +AAD = 8e3814bb99db2b27d8fcc0590a38aa9d81fb6c45a71c7d056a870ff2ac2e2699611ce26724948fd1a14242a213a24557 +Tag = d26947ebbe8e915597261491745597 +FAIL + +Count = 13 +Key = 9f4fae73d1f248b486d97c6e8386fb75 +IV = 4aaef1fcf3b46c9cab408ca7 +CT = 57772c58dee5fa1f9eebde9db9c393f40c552f89e52f9b2d67b518b313e92f29 +AAD = 20cc143b0e85dda4e49927e6b9998157b20a14d35f81aedfd191709ad6c5bb78bce19014d0f3884cdad69f43d4bd25ea +Tag = 182b43292c07b1e85b62a3d5b537e7 +FAIL + +Count = 14 +Key = 670f28aa4ad0ee83751dfeab9b0ef9dc +IV = b99e6437739febfa92e652c1 +CT = 51d48b25154590dc7c3e333234b684be9e25cca4866c9fb1ed8e3547632c232c +AAD = bda8643672a8feeab8ff731a576f0d10a62ccf5f156b5c3f5e53ade3aab4af7e7f002450405542e4a2bed2d18b30b6e6 +Tag = 2a853c2c7d871232359ac3bc6145c4 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = bcd51ccaaed2e10c173a45da5901241e +IV = 05e825a9f6753d3b02f1518c +CT = 483c44d529c7ecb7ee7372b0f116018f414af60716b6f89f2ec7b2d3215bce60 +AAD = 16c6bec1362b2b1b126aca6ddae70b4f54e4d06a63d9106718704143caff061737476c0a4de54f872ebd04ca794f8e86 +Tag = 9b845e273dc65084b0f14672976c +PT = 44ce4e5fdce0df254f1e674028fbc48c2d3e18d2dbd93d938ed093a85972904d + +Count = 1 +Key = 3db3267bc1fecffddaf3e3c002495cb6 +IV = 9ca04646289e37e6b6220d91 +CT = 17eba6f6f5dbd4ef65a784e9a98227892c594bd8f78d774d11d123d762df7842 +AAD = b13f3689751e819810404db4e739b7cf93fa59f7fee756dc7400f309d78e31cf9d788961bbd5a6479cc6c1b8f497b481 +Tag = dfac6709f4d042c55a9ac8371c5a +PT = 71e666f8569469be23098da9eb181a9626ac52ac7d2e5654d92b03a2e42fb1e4 + +Count = 2 +Key = 2c5791e798e15169dd99b5eea70c564d +IV = 922a81ba2e9e0c44068adb85 +CT = 21bc0b3425f4340e426dfa4d1c24e9888c23154bafd9629f0f5191bb1da48088 +AAD = a1215fa990898fc919947d8615992b4750129c05a6ea05fbcabef8703958e94b3abafd1bbeb53a4e3c9bfe729b8c1787 +Tag = 52248f07cf0d3519e746492bdb35 +FAIL + +Count = 3 +Key = 1a0461361339c14f72b6f3ab773be5ca +IV = 579789ff484714e069742222 +CT = 858400f2c8a4b90380df8f006cc48ecbf583e79b6610fae312b717f21ed20ca5 +AAD = 209653bf6ed1692fcae8cd5244576cc62cae90c49ea52c28c14bb8ea3a435b490c3b1f5a07586dfcc884039e44c2a01c +Tag = 3b2365366aac80d5eccf9ce67bc7 +FAIL + +Count = 4 +Key = a20fad23179dd8b7bd670b3c415179b4 +IV = 0eb319742e1e129943a2be6c +CT = 255717148d9029635cd837ec9b3cdd4dc340a6537abd13e69e5d3dfb3822d964 +AAD = 357ef6f4e42cb2da486b244db485a3d196f8f97c48a1218101b5c890ac4e7c84b2c882087f067367541021a6f983770a +Tag = d3c80c0209af645d9a0cbedff362 +PT = bd1a05eab92d975f8050d0eca74869971e432bc8689096ae20ba467e2f086b2f + +Count = 5 +Key = 0651b6ce81a86a8f0e620d3f3ce31d31 +IV = f5684ad28abc3cdd299545aa +CT = 7696695240f4a3fd0810463f81f14c0281ee66a0b68aa52b61aed51eb406b2c3 +AAD = 41e36cf7cb254adf2724ca46dcab3ec866cd1214c0e8d11ac7b0549938b7e71020a0e6fbf20c358bcb1350b29cbb2063 +Tag = ee64e27dc6b8d86fe8f293396c1c +FAIL + +Count = 6 +Key = db8922b348170f90a344ce3791d0106a +IV = 38411abc985fc405f37804d6 +CT = bc12aba2452dba2e9cb7cdc47f21bd114333fb3d1b0cbab67c2a9a795b76f0c1 +AAD = 9815d6f2b01592e32f8ece3b9b9ccf241873383a32d1f1aca6d58c760db67c3b1919fc7477412532123ddae52226beb6 +Tag = 22a10ebb189658417339bf507b46 +FAIL + +Count = 7 +Key = b3a4f3367339156a4eab59034e096b77 +IV = f9c0aa316666b6d33520f54f +CT = ad7e5a8fd25f9b11970bc6078e2c8a0e6698e8cd27ca7c35327b08b2e43f16bf +AAD = 9f427e8668c75b531c4b7c2eabcff7b45e53181878bb1692452fdba3f9c0e4c05624976cefbc141db4cbcf1ecb846a00 +Tag = 9d7777eb9dac2e5d15c22f6e117d +PT = b4cea3d3d0e44704e7715a210b69ac77b8b563b836031daac114e067018efbb5 + +Count = 8 +Key = 7ead93cf7181c6b986b7b7c705bf3b49 +IV = a434ef5f77ac868f1fcdc9d8 +CT = 38885fb6ade1ff70d10b106a390a2917ca89ff47d023016aafc94f2654946380 +AAD = d8d413616f45e6e73a615275cba77a04136786575647eb6cb6e52d0b2ed3400ee0b555dd10ca2e4ddc6c39f626662ef6 +Tag = a61bffe0da72212f446a18ce44df +FAIL + +Count = 9 +Key = e4f654f557df14a5a99b47438964024f +IV = 177f1c0e880feb205dd5f8a9 +CT = d745a50952e48ac45b5d0105ca73746925f000d9a7ed30228588df3483fb2837 +AAD = 7f3bc3fcd13e00a0ad7e5e73d05e84db17c5c4d48f23ace87be4d08f2b9412af50599973b6f336216a880d1dff1aed80 +Tag = bb53579bad71418378d17bf3284e +PT = f82eb2f3c95f8cbd29c2d776b3a00b749f8eb1b0b44c798bdbe7fb8f1ec29436 + +Count = 10 +Key = 3ce70e9e313c9042f0ec4622d983f329 +IV = 173e4bc7e26c1463feba1cae +CT = 11de0339a2fcf0b3235c94e1a1671cce4615074b48458c28b50b85bfbb748582 +AAD = 0ec4bbefc9314e8042a05c5cb7aadc3502dd3977b1a1d6ba23d13da3a0331158b78f1fd6b0ec766ed12a37e26a1dbbf6 +Tag = b52765b29f61c10d2ec4d20e469f +PT = 1cfb028b632907edf1dc8b3a14f1d7bd5e4758abd05d122e34c8f2e6dc1cfb26 + +Count = 11 +Key = d48ee76816956c47ee99f9a5c6a5f894 +IV = a3542a2af8828fb917b3ee97 +CT = 4bf600c172323e9cf15891f37908431de8de930b2be68805d0ce0b72d3eb5c57 +AAD = 34a5631becc3a3ae8fffa18f2c5381110aa15b5aa23da05adc3b7097f7413e1dbaedbfc64eacc398c703935d4be714bd +Tag = 5792c9a204d0cf9c8cafdc40089d +PT = 015d03acbac4872d2d82c618cb3aa2535d1cd955f004b459d20f191b55c5c99d + +Count = 12 +Key = 216b77901a9ad9a67b39416ac4ddc621 +IV = 5c468dfa6a62b02090b32ae0 +CT = 770872aa9fb97e37fc1f620322ddd65d5347eb1c06d046eae81bc88263698f0d +AAD = 4b7a75476e0946610ef96493038cfe5228babfc3398cdb405d0582fd80877d02ea7d209fca44d7c92cecc1a8332e9ea4 +Tag = c7720f8dc0a3a4a4c47e567e6b25 +PT = 1435c459ec28dec44085868d8a13cff56c5ea9f54a41af994f8a94c82dde644b + +Count = 13 +Key = 2abc20924c536943c76cb353d5c105f0 +IV = d85a8063b28b56a4f16d746d +CT = 8e90922648275352f838f2a1a7941c467b5818f4f6dc79e9f0f324b0a0b9d4c0 +AAD = 12eacc3fd9cf6cfd12e040134e26ee04fd6a7e7d0025ad942b71a35a8db5aea486865d20b23337432980505e5ff20e47 +Tag = d76b05e84e9dfed3fb7543f87d01 +PT = ec41c790a20efa3424949ea92c45f2f1eb581a6c036aa4a2f37ce4eeb166242d + +Count = 14 +Key = e8a11f8bd1b5e7b47eb24415ecb7a6d1 +IV = 01f779a10a12053649838f3f +CT = 70b8b084cbd141f66cd098d6eaf186e892bf1261503cee9c06efc245e6edb7d9 +AAD = 298b9db8372c3796e73eb7d6ac5931f56e11c56920ff93af3aac7dca1ae7343c20d970906320cfd571bbda2e7de53782 +Tag = a8e6aed5d9edb6a972cf9a66df09 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = b809cd56076f6d271e418f9a84fdcbd7 +IV = a463e59c4ecf5943ed4c6b2a +CT = afdec3e9beff4b3bed0df27ed416a7c5baa88a58a900b07b548d3f59fa9b77fe +AAD = d8fa188608faf563b258f4aaf4801547563ab96ebc1f7be8792f5cde40c4be18cc88e0fe3b3b6e6de5a351dc983bf17c +Tag = 77331e01284c88ff2396e0d6f3 +FAIL + +Count = 1 +Key = b93d8cddf544011476f0c2f9ca740394 +IV = be5d512e9670fcaf6fe8083a +CT = d5e1247fe37c7b7f77ddf704c3dea4c21b75c07b9f3e01018307020cc7d56e45 +AAD = 013a066ceeb434aa50121829ffe9c3022b94c60e3fc1f3629fa31b2a7e3e8ffc5564647791de7528ee11c3dbb46e6d5d +Tag = 7f2d63fefae3da117be62c183b +FAIL + +Count = 2 +Key = cd055c092cb3f2a14077683e56b7c990 +IV = 8432671ec03c0a7b7c81f5d0 +CT = d651b06a0a945d9a684f0d6c64e27355031116adeab8cbcee39fe5b87acbcd3b +AAD = 61db4d1399647a26c749134720909bc2796047f8dd0ebcaabda45b03e1590c9588e08af505f26f7fc460facb9454c0c3 +Tag = 416c025ca44cb47ff94a7378c0 +FAIL + +Count = 3 +Key = 89f328485dc5d33dfdff27c2ffb7b591 +IV = af641b43267dc74695669f5d +CT = 99990c603d20378abecfc124aaeef453d04168a2d6abe373be1ec47242c1a033 +AAD = deab5ecbf981bfa9033831126b3333163a99fd01422223959d2d446a846bc8574d2cd7eb8da6fbefaed22c6d92bf0d33 +Tag = 873a82f0a39c708fe9c0f26179 +FAIL + +Count = 4 +Key = d42800f75b0a2a614b1a0b35e7bece5e +IV = 4a8218676239a78987117c97 +CT = ed0885caf7eca6ffdb9d4674b8aa0ed9d906cbd02db729d145f8b6bd69a9a912 +AAD = a3ac377871023474ee4bdebd5206cd8e0c3b43088d47f034127978dd89cea406d439f944c4128bdbc12e009c4de08650 +Tag = ea27db3994e4b43487b57b9638 +FAIL + +Count = 5 +Key = 092c4c202947fc1039196ae65b6b3c01 +IV = 7ffc26be1b1092ffe324fb49 +CT = 182a40145e0848b0038bc86414551686f7ea55bd2831be86d535f554a40093e8 +AAD = 317b2abbbcbe0dd2ca335ec3e537bdcc9a6816de324b5b2946b257c5391feb45d386113c8b42b901e089d589e6d6b8a5 +Tag = 8d77440ab3b5aee8dd17901dff +PT = 00e12679102617883c66fb82e74a3e7b17323a83fc937fefe17df526886d06b0 + +Count = 6 +Key = c9b5086f1f5b6f4cd1fda7fa8196fa47 +IV = d392538b83d8f6013efadc94 +CT = abd71abe811ad11eb6722ee4985d1ab03b317c1996fa19eb143fefec98eac561 +AAD = 87a326bf492435907d0207eab3b56565ab26a8342bbb52f18bdb790a40a53b83181fdd416a8bc225813453d22163c368 +Tag = 381d18e812292ffe60964318b3 +FAIL + +Count = 7 +Key = ce0ec2355e3e5cd72fc9789f63d36c96 +IV = 03279c93ae6dcd3aab853e4f +CT = b5cb8bc54641468b20c0af581af1526dfa96f92c990e9db4a183fdeca8740f9d +AAD = f5a53ed7085ab8982ea4c0d9bba2bad1dc0cab85138f0e151d76adcec9e1d1def19b26e384974b7ef5d52c33096f979f +Tag = 0e16230db6058920d0e7f4a446 +PT = d4ab8adcbd2d8ac11bd0dfd4a1687aac41ec051532f208421c334cdf7fe920f7 + +Count = 8 +Key = a03cb71a980843e616932e20399b0112 +IV = 282c84d42f62156f04d81592 +CT = dac3471d3abcf13ee29dcc3141b90b641d3cfd797452c175d723cc8c9654bd6e +AAD = abc46b600f3b300fa9c77de4b3b1895539e821739cc36d22c2484205d656bb358670126a9a7bcd3f1e09673122dc1ccd +Tag = 6c1a14637eb592739b9d18904d +PT = df0dcc1aa6886613fa6b43a543e644a326f126c51a82e9efbaab20d379bb28d7 + +Count = 9 +Key = 5de4df6bae7554ea9db7db342c5635c2 +IV = ad763f34060f91a5c53335c8 +CT = 4e736597dfff4609bcee241c4dcc269bf13de8454aa9864a75c4816376c76f1b +AAD = ac4b8b402baa1cb97a12346c40492ece35df9e512488fccb38eedca26221e08f548146b4b5d25a06d103d03d44b24226 +Tag = cd3eee2a500b371c65a4065169 +PT = c1c9b92f70e3c56605129ad6f35fda75e9bfc880829938fc2280a98365ef4197 + +Count = 10 +Key = 6edcd9df5c0d1fc8d816a09caffef1df +IV = 759b8ba4ef42aa670c32b50a +CT = 1460383b00284cd0ce7f0536bc1ab853b37c4ffd77d3d472e06232805f6178a0 +AAD = 6248b1830da871f5f3c32458f76af14946ef241df613e74dd06e41cbbb9537fcdcd1d877a63c7d14d325800ee531f181 +Tag = a61e7a10964a151958f0b075c6 +FAIL + +Count = 11 +Key = bd572f9832a5d064aeba704d67b29ce9 +IV = dcfe58e30c9764929a996082 +CT = 9e6be9168000094bbf97747e155272bd0fbb4ba8af74774448ea1a06d752d85d +AAD = 82e1dd428feb041517e475775d189edc04b0444d92300948f9e6f023dd77a700b74cdf3abea1051cb199fbe4a391c3dc +Tag = af73026487816f001f9607301e +FAIL + +Count = 12 +Key = 4f14ed1baf3e0db8bf0c471f3d11335b +IV = 2a1e88d6aaf8ce5ec25794aa +CT = a31509ff749e998686646a98858b20d8a77a14d710d34ea0415d22f7c6589daf +AAD = 49d42e3d4deca5939c72265d9def4d555dbfe372b7c89f03740c407b27590d75ec77352f4eb14953f6bca603d72e4cc2 +Tag = d311864cae74aa15d5282a9a71 +FAIL + +Count = 13 +Key = 823c59be9c50d6fdce318ed15070a620 +IV = 6616cb22d4ee52636b282b71 +CT = 28806da0ce8e45f0f8b5741b7623b9da4f6fd919e708bddb201e0f7aca0cc0bb +AAD = 96f1bf0f642d3f0fa9667c178d08f918a3c1ffd93d1b24a7a26fa6f213312b339460efe074c309375a7a531e97371eb9 +Tag = 0a7da89a3a53493d3bd7828189 +PT = de084001595abfe7eba8762b33c52a3e5aa9d35d1a3d1f530033b0595e1a99f8 + +Count = 14 +Key = 62a8ecc963ddcd918f49256a908bf800 +IV = 331d50bee1fd52f9948ee393 +CT = 3be39c1cbccdd8d76323a0404d42861d3126d0ea83201ed579733474bc75060b +AAD = d706d850652a662a401fdaa3dc742dcaa8ae489ca418d2f5180dca65c5477095a03aa25ba029df6e617c34707743a164 +Tag = 3c91497dc209aed58177e5be3a +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = bf8c950acbb2fee5f0d34db97435b42d +IV = 967a2661cab9dbe781084b17 +CT = ccc2e0b6d71fd4c87f5352a789d2bb7dfc59d5f4cc6b4b852a40e8b4bfad9a8d +AAD = ac50fd9cca1802d909aae4208c644d29e57c508b459778f33e1fa50cd8a04e25b3194db794a974d1d80cdde9c48e3fc7 +Tag = 1f029b5082c224a846a469a5 +PT = e5a524d6a6de206e65caff05477a9a60fcf5bc0e9569fd06e8a8758baebe40ca + +Count = 1 +Key = 60ca29507a9e460ab96d4820b4ec0a82 +IV = 9eef035ec175d47bf872334a +CT = e6560a933f24fda1fc7cf1332c735daf5636c7bb2d976332d19be81ed4e2b87a +AAD = 0339bbf400eeeeaad11d6546e80bbece11cc19ccb3758ea0f0a170aca036ba66c27e996f4bb18d55d8c3ac626b1b156e +Tag = d79ab5f7408bb30c261c3d06 +FAIL + +Count = 2 +Key = 370a82cbfd03b621264d8d06220cc927 +IV = 1849f5e395db65ce3b8b1aee +CT = 5f00f1814e28945b086435bd950498ffcabbaa1f7c045d4c156d4a3b3dc80b43 +AAD = cd20191f6854a42c88764bf3c09017e1464d9a9b9d1813a94ed07f9f07ceb2d278064a0b3b02829111bca720c5c3734f +Tag = c222cc12b765b13c2a3461d6 +FAIL + +Count = 3 +Key = e11459bafbdea6f8d609aeca65363f6b +IV = a09b50751e6176644763656d +CT = 3796ad07fae1c56bf0a691420ed94ff712cce3da2c0d0a7cc5750c859f73252e +AAD = 23e868e60e3cb4d7c05b756766a13c70b558bb2cfde5e0d4e5b4396c2753d33ee10507a8f0eb322a0a6afc2becfb1236 +Tag = a01745831cc46c27ec84ea4d +PT = 2eecc601b24b2bf6fa643d924d25d7d961860f24873af909a7b8013aa3a3a990 + +Count = 4 +Key = dc8de304297c13e4045c092c0048d471 +IV = 9d39b58d0a068287a271b325 +CT = 144f6db461c3d2eab55b2278cbdfd6bdb5ed0bd85b4db663375ffbc28eefa6cf +AAD = c4193527ab6d878c969fcc2df5604d14fcc70b6e382b5fa7525f6063228c4602cb884d1784f22aab2715c08d0bca624a +Tag = aba50beda24ca81698cdc425 +PT = be79011d5e8b2dba32f99020bf01f35aa5bb808f02b74b277fad14e2da627782 + +Count = 5 +Key = 40c552512b73e9ef4d72123cc73d0486 +IV = 5bc9c8de266d08072e88ef46 +CT = 341970e40f92a7d232f1704a3eededc792233696a4097a790ee9fca4b8e4d4a5 +AAD = 913c7a36f6e837d04790d7f578e95119dd9fcbbe8e80ce4ba5b3569a6bbd117bf9bdfa9304f813919e730c896c6b48de +Tag = a51e86e52f0d074dc69c0595 +FAIL + +Count = 6 +Key = f07adcd7d1b2cffd5d73a88653a5c32b +IV = 2edff91de9d603abd9fbee8c +CT = 6020d6d8c8d41251139da048acd171690346ca4dc8295c013c05bcadb1d1711b +AAD = 5b5cef31dde40433a790393c20441ead361cc5c11f53f8c9d85912bfb208ae870ccd45b040c2add8fabea629d9eb26d4 +Tag = 91bd8eebbb2db145580b7cb8 +FAIL + +Count = 7 +Key = 516ec9dc5cb9f7bffe6b60fd9ae90dee +IV = d5743b2ce07390c7da8d0052 +CT = 7be1b041f4cc7f273f7a9e5310fe38a6e7f7822e4494d7bf5691d9a98350ab76 +AAD = 54e169dfa60c6360bd00554d0a6903a1ca2bca7996d85d78773f2fe54d7c2d7e54105a38e645c7d71311c991d58e34dd +Tag = 885884fec5293c13d2ef3893 +PT = 2a53f15909fc9c628c458fa437fc770bd2d556e97f832a79096b5b9b84316764 + +Count = 8 +Key = c2ce7e9a0e7d1ab8424e041364649d84 +IV = 7456151cd5a1d08f7cae6e8a +CT = 12c385fea55ba8d4bb89b08739ba33ab6f7a62b601f3e4afe25a83d890af4c9e +AAD = 519e542d8eaefb5dce3b580b783d31b16d0364769eaa66448e59c11fa71d69c4d8e2f1f760cda7f5c07a29be6f9db22d +Tag = 2f71f69ca864d1d91b10e340 +FAIL + +Count = 9 +Key = 89cd3680745685cf707851b84926edb0 +IV = 62e0f4e4b201c6cbd7ba106f +CT = 5b8c92f6da36d5eb9f3b37c097bd7c9415bba21448d2ad9718597f2daee4fcfa +AAD = 15c3ed0f325b6114526efce2c50456080389656b1fc1f4415fae0b3f835561aa6f5ce45a64a32f31db5527a0b84a98ba +Tag = ac5cb5b5e4e6bdc7d5bb1560 +PT = 7e9376d47abd17b0276ed9266161d8c3d53fe4ad467d7659d69dea7b5229a7b7 + +Count = 10 +Key = 6955d7e4a40ef5840d03616ef7542378 +IV = 56d30f73753c1b2e573563ed +CT = 04b04139f4cac8f8de1e0e226efb3b0864dd8fe7e5c4721bb67e5107c680634a +AAD = 6238fd037ca6e77b054ceeaa3583677dcd240783fe74decfe4ad7d7fec82def79fa0ec78c0d71c11d627c8c3ee5144f9 +Tag = 838fef41e0d002b09756b138 +FAIL + +Count = 11 +Key = 1762e6a9ee63a326405444c4aefb7ce8 +IV = 7014f52c1456b77c88eaa5ea +CT = 08d7fe0b9ca7db00fc151d1453d9df133a8bc1216756b34b964d23ecf4c578d9 +AAD = 17a7ce9e9dcf433042e46174b5f7a67493ecb34236860d090aaa98c9a3f0e33fd52c71a455f8b35761304a88fac47d46 +Tag = 461a977a15fc418ae2c0aff6 +PT = be64699e81a0253a02c51008fc64bc59620b02fde6988967924230997e8afd43 + +Count = 12 +Key = 4ae7303e3200339b5d903cbc595631aa +IV = 8cea209e21d61a478034c525 +CT = 6d078cb6ea6f9e43b6c4c13fa7ed1a8d72d2e3113826d13d48db7f3b5bd3b629 +AAD = b387863847d176151d763e61e54210732420256304c99874a3a477084da1a41b92d6a7ab07fc389c58805ca056afde8b +Tag = 90b11e1d458466563623b136 +PT = 728bc90087cf63e6aa9771d25729c1a16c013b4489454a06cf15a32a43b614cb + +Count = 13 +Key = 94c14f961b4963f1ccf345f8e0194050 +IV = 9570344c0729d7a6761ab8c5 +CT = 41d765f75d3c62043a0a2f06942bc3f2863412b9f14975caf68eebefdd38d607 +AAD = e85836214223d9d8579f18aab7d2957802d5cf52b7eef3f6778f84b3ed244293fdd07e5a722e71adaafd7336a4d23ead +Tag = fb0cc3090e4801327adef08c +PT = 6231ceb88f73d17935ba47fdd62650fc8b4a9d99dc4f7ae50b2b31d6f400e6a7 + +Count = 14 +Key = b1785b249284423d6c725adde556dd12 +IV = be7d280c3039be36ba1ea3da +CT = bde9d8b4c040a58f4d3ee5867ee210032426ef5c24930eabd6314ae5b32cab15 +AAD = 5ef8068abecb93a760abade4784416404160a6c80d486ca5c5211578d6e77ce7eb275d9b5a3a500ddb6db23199f31519 +Tag = a3a8a71c9839be1c24139675 +PT = 07dc57d0e6af453fad295420108e9b0e66d67f64191574bc6c0ffc1ed8923c0b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 93cba1cfb2d1306f5efd90f67f33d294 +IV = e9e3d3fd3fe82d6fa1ef59ae +CT = 4e9b1f82904a0c57b843f523f9431c3aae218dbe854dec36101e873452461fc8 +AAD = 93612609c85432d5abc5e18d90c8341289625354f1420a28c25fc755ddba7bfb0ea2174d5145c53c22fad421d6a2f4d2 +Tag = 78a3de088f88d402 +PT = 7f944c20679ad419a097e708cde22f522284122e8e7f0b911c16e52846c0cbf3 + +Count = 1 +Key = 9460deebf951448a5bbabd2bcd573cab +IV = 2a9e1f9f2efa96e43a21a6b7 +CT = 1686d88b312d6a16519ee476a1e71f64ed83874351b1969e473896583430002d +AAD = 0eb52fdcb1ff45f7e60ce26bb4ff70402bd72eee263c1df1f32550b826b8ff6c5c37d303273a6b0cf008ce83bb6ed193 +Tag = 1183ea416742df2f +PT = afb1cfc39ac899f1397c2f90910ada4f225711d61b6ea889abc1714504645e21 + +Count = 2 +Key = 088e10de6c0d4925fc59fd87dce3d67a +IV = 8c95ec7e82e6b9375d12d4af +CT = 0095db31b86dd177319d5c8b548ecb318c921f824fc6da61733b88f70f6825de +AAD = 0c31e1e6f8d7e07d5f9f1aae9e4680860204f91d6a3f188cfa95f8f8c6915f1f8f568195b3b8302fc6658d85ae2c8b60 +Tag = 09db6663d8cb69d1 +PT = 9d03a6dcb41c09aa34af32d889dccf1ceb3296c34227817272e804c4a1376ff0 + +Count = 3 +Key = 1bef96957d453c329a4c4583cfc81dd9 +IV = 152321cc7d138dc4e59d9fea +CT = 3d7b007ba4f1288f48e17a31582629644e81ec599b0ebe3af4f7224be6a44c2a +AAD = 555f4b8744ff345dfb8715ceb6a90ad0ba888204f9d1f8e15c1614b39f889e235c3df842e30d7d4e333b9bac697eb063 +Tag = e19fe4e090d2800e +FAIL + +Count = 4 +Key = 0e1691efabc071e852e58960cb5366c1 +IV = aae1ff3c6927a1f6d28ceebe +CT = a00a9eeee1897b7c7dedee936087227e7c79d595183b739b6f94c55a5abf1301 +AAD = 4ec8acd962c39df177797990569fa2e5eef5c40476fed5c7098a4c1dbee3c96c229b844310d7971a777107cb83205991 +Tag = 04b3cbea5761c713 +PT = 4ef98712d7e23465395ff9d71e32773b0d3cd0aa364eded759625fed86199545 + +Count = 5 +Key = b84c99e8f9844ae4c1ce2be8f5958f95 +IV = b45bcdd38e70ffc9f0c1a189 +CT = 612fe825552c7430e3c90447ee88a959be8b88228f9af500c7d61d6d0dae57fe +AAD = 8ea4eb00e31247f8d466d0097a0a51b333ec0c1bf9660db2a4c65e8b8bc1fe52ba81fac53c99222c0ad66b3a8a9b7372 +Tag = ad940d12590290fb +PT = 2cc15729b0473585bd1ffa2c571e8f929c2fd2b0cf68fc5b679572896400c7c3 + +Count = 6 +Key = a3354862aaa8acb5550d776340d59829 +IV = 8b49f51908c6a7e6dac0b321 +CT = 8e8cbf468ae202da93651f5aeec64ec1f87e4c1bdff64784290afde229bcfb9d +AAD = fe5c12bb3a383996621444949f00eb5e2c9d5617c819b969b917447834c4ac2293c30e82a63407f384de4643d1cbc851 +Tag = ae9ecc790a97e969 +PT = 6394c7dd1b1fd9076ef05603d6e5790e6e12ae11d6979ff0b516b6c08b46c1b0 + +Count = 7 +Key = 5449caf04114876e00c065dfc72729ab +IV = 9995ca0cf91d45fffb50a709 +CT = 9542e606cc356ecf983b54f74f071fafdf6a2e6b84d5db83045b945d01bd25c1 +AAD = 6318424ec58c6beacc87e577af3987adf89214ba7cf4a6db83b3edaa1d6c395e1a8454f54145e51e136773fb089a68aa +Tag = 18d55d8765505df0 +FAIL + +Count = 8 +Key = 5a41ee007b61cbacaaec818ec5f6359f +IV = aad14a25cb57e555eb8526f8 +CT = 39fafe2423f060d733ba00b5a90004f55292ec91698676b0dd7d02331576cfa5 +AAD = 9a0c7cc09826ff711cc52f3728eea0295ae637c9934ea14c3cbed413346f2920de126c794e3cc548b9d63a619ec2f291 +Tag = 5071f9024de45d4e +FAIL + +Count = 9 +Key = 17e1f1de5725ebecf3c16281ff78a903 +IV = e8dd537a8233040c2e5da214 +CT = ef57b60d9f7d0a96c6c9f5c26c02bb0c41463b0f86f7835e2cb1828f4a14ff88 +AAD = f625baaf87a86e7a2f29bf713de16b89f9ddb5aa3aed8d86a42b64aef41728ec3e545bced9a7b6fc55eed48687b245a6 +Tag = 96e716ab8d2f00ef +PT = c57347bf519c1f05dc9282358ad632799771cf96688fb021c7b471fbfce7c31a + +Count = 10 +Key = 2d208e0da4de4128b39c5565e4e3ea88 +IV = 794b590070b5e3094f546b47 +CT = 0aea50fa988979aedd5787f2c35baa30f1cd662129d76622a3145a0288c613ad +AAD = c20409de3cb5618836209ac155f2453a2b6031ecf6ae9423bdfad2a7f2ee29be9394d192f369020afda37fecc836506a +Tag = e9f32dab708c0264 +PT = 2d5819e3aca927f2bf92c3f920521e6dbc7cbc4fa077c5508718ef8502aaef43 + +Count = 11 +Key = d7e63dd774bb1d7ba169f981842ea2d5 +IV = eae538df1bc3321f9aa3a894 +CT = b5ef14ac7c03742719cb8f826f88b9bffcfa8a1764c62f1f19d924d5a7b6eb9a +AAD = 3108f225027326081117df6b4102d2bbd49a5e6e8a492aa9f8747447a9135d17e0336561b6af9df81017243edd064692 +Tag = 7682113099943702 +PT = 266796c7a1022d11725d292a7ae4a63d46f6f70e1a3a6ec19484a34c41c7a10e + +Count = 12 +Key = 9c700ef3ddb8c72298bb4afce201be80 +IV = 37e28f106beafc4a7762de8a +CT = 43e97032648a4274d5db16be0abfd71f5ad0b305c5a599d38d1e92d72eab0f13 +AAD = 8bab07c6ee06884863e4ecc0bd91f6e4326f5bd1f5ed540f35eff6ef360d9f7410fbcb6b12fa8ccf603ab0f5f29ea6bc +Tag = e396767d1512fe6d +FAIL + +Count = 13 +Key = 3dd3f5677512135b17f611ae86a25dd9 +IV = b145d7f81c89eb3e77b53d15 +CT = 1fa9a6cc8e5206c8fb4e8b112fafb95c794f504fc5aeee3dffd10599c89d2911 +AAD = 3c15afae79a12a5c039dd1439a217cd425ae6a581c37143c133346db22dbaaa6412fcaf44447101648475e969d245914 +Tag = 4c2b8917475aee1d +PT = 413cf3c8f2f4eaf761ec9e65ec835653a5d401d465361a5e7c3d4bad035f5ece + +Count = 14 +Key = ae6c851f3fc1903da94699373c7d0e3c +IV = 0ed66071e75d1799a4505d3a +CT = b46b6700bf8bd1cdcd834fc07e6978dccfd9548662deb23dc76f5189f3b6b3af +AAD = 380f5c5e0d5ce3f6609339bf0e00f73926a48477272af24f2bd5c5571ae9083642028af420dab87f7a7349514b992da8 +Tag = f06032a2d913aa76 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 326e9dce26faa59c5c7ef2db1e868332 +IV = 8535c60fc3ee34c6a1789b70 +CT = 669ba7ecbfd417ec67afab11cbb1f5e91c7a9f64be63ce985da39c39e1257bcb +AAD = 5533182e28a5a5660f4e4fd7bb47aae4b0c9df6b40716948feae0615d44bde344c33041efd2d1b17da1fef774ebe42b6 +Tag = 38e4528d +FAIL + +Count = 1 +Key = 4b4362b548a6bb0c9fc9fc3cce6424a2 +IV = 527fc3125dc1e599e361b940 +CT = 738c04bc0f9ae626e7c828563ca9b7235a0c3fbd165f839f55295449ccce0b0d +AAD = 8552809354b7c92c04f30eafc54b107c9f71a06024d05a174c94e0173c3e0ffaca32ba3aace4b987597ca10831bdc667 +Tag = 7dd57e1c +FAIL + +Count = 2 +Key = 2623858ada47895a66740b8462df0d71 +IV = aa2642b0b77c3e4043a7dc82 +CT = 87e3aca6ae0e9df4b8718513cacca07a219d25c4e2aee8377d36ddad26f71350 +AAD = ceb8e9ec6c4d5cd51ecf22c63860ae28c14b84ee7e9832b346d2741d5e7ca2cf0520288b4571bc1788ba40dcc5eec0d1 +Tag = 2c486c87 +FAIL + +Count = 3 +Key = 3a41aefcf0f104cea9258ac56150098f +IV = 257ba4208adcaf89c00fe5a7 +CT = b845ca5595c2b9068fcd49cc2483fc0a63519e5d895131dffb055294c0afcc30 +AAD = c90829cf3c7a8dc9f5e5fb5d92382206b78d117c14e486ec8d3a0f42ae70c6d68444eeec501333551428e55bd99ca984 +Tag = b2bfd512 +FAIL + +Count = 4 +Key = 96b6253220e8b7577cd9a159e52a3161 +IV = cb7540e61c31853602beea44 +CT = 3f4cad605aa32566233b7cbd934e7c434f25d259faf66f87a46177271e739be0 +AAD = f63dea083bd21e4c61550d3615392f83759a63ba1ab38354e9832221f0dd73e7241c316b4b147bed988a8560dec0964f +Tag = cdfdad61 +PT = c3c26ef68584f590c68a76652be39146b35283e2faa4a6db0e40b10e99ea8a50 + +Count = 5 +Key = da647ebf9417edc780e44d79da6d9214 +IV = 153b390604a1e4fff6b9bc3f +CT = 288dd9d46d28e1ab15c0e39fa0430904e0f0c5ebd97fe3e09d5298b9d62feb13 +AAD = c82914a38e0434b3602e3af816492f13deee52c9ebd815e83d86d7d740cecd1ca40bd9bbbefbddc1be76669654f7648d +Tag = fe99a3fd +FAIL + +Count = 6 +Key = 32347cc99d6081405bef7b4fd8a5ccd7 +IV = 54359fcb486dc5d114e478bd +CT = cba880b8a843b4c3cf6940ee718935ca3373faf75a05925eda36f93cd3f9ada4 +AAD = e82e774bfef00da6fad152e68ec379997f333768ded2df90bdf60943f6fec51e3f218cbf12354b1685d6be48ad1af0ec +Tag = 25bd3a9f +FAIL + +Count = 7 +Key = 6fca2ef4398f0b1b84ebff42829b8efe +IV = 272c033f1b989137e6e76d01 +CT = 34cf456cfda34afe3be00d5380724fdf5f6852d4597dc481d1457bcf0469f175 +AAD = 04b085929d852ecbcff8d21150ba443fe39bba13536ed4391d95dbde15d3f6cf7c0a136f5b1cbf0995c3732a3f6b384a +Tag = f1c55251 +FAIL + +Count = 8 +Key = 04b274b2e1074aedd8558a00329b0435 +IV = 5f08ed099ff055d335dc59cd +CT = c42467a70b78231bc2509a201cacfa4aa76838dc2e94212887e22c56902970ad +AAD = 335dca65d0894e5c50a83902e0fc02aa693a86328e958c0655fc0ccbab06c7850da0475f884b9cd71be4462819508c06 +Tag = c1f8860d +FAIL + +Count = 9 +Key = 898dead90d3cb304e4841caa3f7b0fda +IV = 9dd6261fe61e6de1a78a3bbb +CT = f656ad7a05e75327f0b30a6dddc9d11cd7126ce0467e7785525deffc5a473c35 +AAD = 0e9725d7e91bc156c0afa0bc7da0a214997e747a8160479f01d25c9e9ef73d39815731dba463dbfc256818f337a7867c +Tag = 574eb73f +PT = 7d9bf420f0761b4e9c69e70e9f4fe3d450f6924252a9a56c0821f5604d1784e8 + +Count = 10 +Key = 1a671ab3aa2dd3cc895ecb53f58e1a5f +IV = 1b88d6f69e1a7c2524474009 +CT = 7d5976190595ebe74c76c70e0e4e020ceacdba52a1e2de3136b9beed867c4e26 +AAD = 7058ac392d4034373315a40ee88d7bbd2391b784895bc30124f4c022994be07027569420f11a721414287d4fb4adfb0f +Tag = 18bf8476 +FAIL + +Count = 11 +Key = d19d8527050fa26499b8732cf6ecd418 +IV = 71f46119d22ba0cc9b752874 +CT = cea0e2e9c1cba06c9ac2eb7c275b4d80ae9bb7a1d0b66d80a46c8443a5bb5b96 +AAD = 2ef12dedba92d04cc25b6818bb78841af5d6e666bcbdeb334eb4a84b7a51d701688a468ba70ffde11d49e61cd77323da +Tag = af00321b +PT = 2404730b9d931482348902bc0d1184859e57b602e21493399ca64f19a9f6b0b4 + +Count = 12 +Key = e2a3107d954cde8bd95f129d55d33147 +IV = f06d8ede08939ff1f78f6390 +CT = 9b5f9ec7822175841a643bfc32a4a04e45c18501c47425f798e7029eaebf126c +AAD = 4db80d24337a18c06b11e302fa90d870abbb037ad533245148dc19a0eb469b0bdba0f25f58ab168645b095b2c9c95acc +Tag = 4b12fb40 +PT = 95a09c3eaccbb0b298b8147ebf766b0023ee2e7d5f95c68c43016e20b5b6cc97 + +Count = 13 +Key = 4585baa7ba2d00d26c2b15affbb0dfa6 +IV = b2e095004dd9889d83d7c44e +CT = 34a94db709917e11d02f63f922fedbb0553a26714f03d4a8183a1550103436e3 +AAD = aebf714f9a0e1050e323dfab77d51e29309786e2c1c2bec6191abb1f0e9ac24d8d8deb42f00b47b2cf36aa37ba2a88c9 +Tag = 31a1bb60 +PT = 0c7ce0c9ce28ec24a6673baadc7f84ea41f76ae19f009d108e470e1883967f67 + +Count = 14 +Key = 6fd65cf58f2d860dc5489ad1a9c1f9a7 +IV = 83bf0fb0a837fd65581cd841 +CT = 3061eb17aa9315bcb01a489ad6519adde3770c775912803c15ab13be36f1bc2e +AAD = 11c92abf600865711c6f60102ae2dd4bc9917706f4b0b1bdc0bb0cad43f4fc5d10220e1c3b6760381d10d13b3b96d985 +Tag = 1ebbc0ed +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 07a6be880a58f572dbc2ad74a56db8b6 +IV = 95fc6654e6dc3a8adf5e7a69 +CT = 095635c7e0eac0fc1059e67e1a936b6f72671121f96699fed520e5f8aff777f0 +AAD = de4269feea1a439d6e8990fd6f9f9d5bc67935294425255ea89b6f6772d680fd656b06581a5d8bc5c017ab532b4a9b83a55fde58cdfb3d2a8fef3aa426bc59d3e32f09d3cc20b1ceb9a9e349d1068a0aa3d39617fae0582ccef0 +Tag = b2235f6d4bdd7b9c0901711048859d47 +PT = 7680b48b5d28f38cdeab2d5851769394a3e141b990ec4bdf79a33e5315ac0338 + +Count = 1 +Key = 46bffe71ac52d4cc327b612469ccfb10 +IV = 78496f5e653ea0111b0ef4c9 +CT = 8c620a9245557459d7631f0df5935a9c4f05ac7f842e31c270264451090c21d3 +AAD = 954dc3942300fbd61bbb7e1c6a00836ec3875e6c12656df3affa4605200e4adf429731f6e7386bf43744cc252db523a322312702af68018853aa39a61ff88ce785ed727e0916057a97fa0c3e6daafba1aa79bf597ccddc4b5b97 +Tag = 20fe30dec5f3a5a8b8117afe65b81ca3 +PT = 59ba37f99a3be7b216f2a70dbc132f4b5839a5a57b51049daf9392afc02d9355 + +Count = 2 +Key = e306843ece9d0e98edf07aa3d1e3b6ed +IV = 9cc69f1c75cf0ee74f3a4ef5 +CT = ef59d545d7e921dcfefbaab0eea561e1c8cb12d27cfae589ddbf9c5271d41453 +AAD = 76f1e842634fc3a22be7b899d5616d125d393432c897f7994012f8c29934ff33ea4fd3495a52a1e3ea587a9116342c3ee304345d5e29102560df81a492799ec689e530dcd3e52711eebb43c66f645e5595abe5eaf8d462049d38 +Tag = c34930f3143b4746e574e653dfcc524d +PT = 0bfe265de63d70091b4f0537ff4153bb1e07502c55486f089873fdf38a9319db + +Count = 3 +Key = d0edd41ab297cb5d5df6b90a3cf1768d +IV = da4ef7e726e3a39d243c8444 +CT = d1c00496494bbcfefb04c5214657e9aa5270cd55e631ea914540312aa58ccd81 +AAD = 7a11df8fdef5aae36cfedd41565bad36fffbd6e6d9668135273e226dd83bd3ce84923a158747ddefefb12d156160d1abf3f35e1e689c40c2c0214ebb436c87528b3699e75817192894b54b47e3f508095230744b1b12f699cee1 +Tag = 7b9c7f4e5f471036ebc16c825f7e8e7f +PT = b9077e1f9787facc6fa5903b03d90af119454f8190f87391cb356e277cd3f06c + +Count = 4 +Key = 291567951e7d6e7442261b66372b3a6c +IV = 5a60ab4b00333bb34e292511 +CT = 0de6fe0eb4d94284388068226a84d6f86f181e320840d3f28a2bf6b92a17f7ea +AAD = 48055efab58264015eb49fe444de55edca701e09b679ec042abcdcff978e2b7eb74d0be0a84c858301cc415f5159f2a531138109fa5c559e770e6040f38ccf9302b790282458bbf99dbb494ae5c348ee4ab0f77d63b9dba6de56 +Tag = 38af26303a1ac4f8a5cb58420fd34803 +FAIL + +Count = 5 +Key = 44a0482a02ecac36d03d074949ca7815 +IV = c408ab22ba66b18947e3559e +CT = dc9d20998356985d299d81e965dd39abe03a1c04eb6829f531bc3d622cdd6e6d +AAD = fde37b7c9af3bbba7501d7b91dc456e32a6af77da2afae3b28c15640f5d99eeda5bde206d54c8def9c60eede741f4e4e50353119bb30e2523f073a7a367972b0c90e96a88a511646cfe24468548e50ff520bd5b8abb2a67d1304 +Tag = e013def1d2c5d1c8cfcf37ff1b99fd6b +PT = 3a995dd4779114839e2df602a4eca9c9e96f774aefdf3a78197e1a724de86cc5 + +Count = 6 +Key = 1edd5afd2b7a09e87528172eba3b4ece +IV = e8cc6fc5863f531860da48f0 +CT = b3d8fb923602f6570dedfd35392a78b3c6a824f6b0cae18f767bf17b51dbace5 +AAD = bb42f41f140f4b02f948e2e8022ecca7d74208171c52792989df161dad0d689d69e1ddcedc2dd910c6cc80f5759233ff9d39a571f48f42db1491b4d388f70925637bb6728cf2d47c2a9ed62240e2c948755750048230995fbae8 +Tag = 18e61e77a0da2f9212e49d9dbf1e4dfc +FAIL + +Count = 7 +Key = 801405876cbb2529d3fbe75ff683ace0 +IV = 70c46c7056213d4451f5e5dc +CT = a24f742c07d0ab8acab04f8fda4da7b5ac05728c0a7d5ad3bad0a0e845702a05 +AAD = 12942eaeca76806a5761cc76423240515f8f5d9b0d97557c5edb56db35dcda8a939b6375bb0b51ea7b9b67129304f82ce18f4a89edc75ce3db06a2e8607305de65349e4a6ba2d7ff8a13642caa59efb2b81cc050809bc52dceb5 +Tag = cc03cdbd5b6bd5b8614a456e2e14c6de +PT = daa772583ff5d445cdff53f0ddfd509ec8f93029ae0809b6ed54a91330ba16c1 + +Count = 8 +Key = 35f32d1f51d7d568ec80ab19555499cf +IV = 4af3095403b32091ca64c69e +CT = 4260444f1fd74ff30b0a8aefdf6b4bb39841678efe2ae7bfefc50d5b763fdf5b +AAD = a85fc884c10eb788e76e31cccf459b48d7e0bfc20f364316ced3ba81557ce3cc954357455e2998f3a9f3fe41694a8042bcc42a35fec042f1c24761b17a972e7d8255d0f1256dc8356e02baeff99e6b35203e71e4a95f61227ef6 +Tag = c659d690592881cce6eea2d6723a63ad +PT = 46eaf310e55f794e5b33429169450590272513b881df740e377c6b2f7744db78 + +Count = 9 +Key = b4aa6cd190092a887d0450302cff4464 +IV = f2dd629677deb47e9f6a87ac +CT = 84b74187e987fd293d743f0a42943ff52b6cff4710ce8adf387d84d9899df368 +AAD = dcd080bbdcbba07f1b9f9daef2cdbc2f9d579adf42b2467454cb2cf5233b753ca3ad04c61fb832e77ade745d600621ddfa4c14601865e013d3eddac8d2ce3733be0e84be1765200d778b9ae1bc087a97e89c9532971ea2177ecd +Tag = 6d89454ba2e6506d2a4a3fa1339af144 +PT = 75f80807a10beb8dace8bd1200bd8c2589abfa789b71257a9c7b15c0c14a89b8 + +Count = 10 +Key = 632072de94a0b3aafc8faad0337c3dd6 +IV = 0fd43cfaa52a7ede50c1fb48 +CT = 1a735b4723ed2eee23a5ec5706e41e7488b7ae34a01e741ba30c851b7a570e9b +AAD = 24e3af0dd3492e86598b8811e03d689b3802c972f081655320418045ceb7390f52592b85fc90acfa4717dad6e05c10957e33dd1cde30d127b759b2a03f3289f49cf3992d2a154f7230d50dafa57b7e78402946f17371661d1945 +Tag = c5e92a4b0ba5729de2c65c4ce33c0e8c +FAIL + +Count = 11 +Key = 7bcaaf0eec55d449c74b1af7311c5347 +IV = beb7a8feae23175e9920b9e2 +CT = e523e45e26e09f82af160d9965973e933ec5416a5af200872f0a3f5ff9121438 +AAD = cee02585c352bfe634591b2160ed76fadc3d35c76ab99687d4f7d1462d05ee25d94ff565ac77e7d12e911b07cda480e8032e48cb274ca96be27e85af6bfc4309b874f567d2c818fc0d0e91ae36c5123772648c73f7ce4c6490a3 +Tag = 3764be1d6efdedb7609fcdfd02c4b012 +PT = 39584163ee47e7bda29badece03463793c3cd6a0afeabd0c45aa6da2000ef275 + +Count = 12 +Key = b7b21207686125ded8a5763c217962dc +IV = ec7be05311b9fa04e4bde222 +CT = 345c41f07f6c6217fc134930ecb9377fa30992d63a0c07148a4fdcfa25484c4b +AAD = 885ed7046e3dba4be59d035a2516e382b07d3d7f3e68d9b654803b1dbd187a14f310209f5b3ffa51dedb59f0afdde54be81c6d8f431e547f8ed205d4c8b8d7d895e5bc49ae7cf304b5944bc01e096e0ab9079c2bbf10b40a6ff0 +Tag = 3b0e0bc5aca7d21285473f5e65c4afbb +FAIL + +Count = 13 +Key = 0dfa4098fb21873ced3cef3e9b5a5d92 +IV = 3a8a1cf096a5292324c3b890 +CT = b865ed2baaaa832320688c9da7854be242aba6f69258953b26730698ff08cd9e +AAD = e4fee49532d867ac44cca79d77c50297f0221d95bb2d668f47a0a49ae0b12bab67332b5380a9914c3952265365b558f94132e6b0586f40778e91cff0d47dad9649f56934934059a82f9fabedab8d27b0be782296d537c2b3a03d +Tag = 6163df5982acc866a8077c82a289fa3e +PT = 6cd946e61a36eb0b6b3ec580b0c463ac56fe8007906167d74685dc7bf69f0c88 + +Count = 14 +Key = 07fbf81cf98e000695b32bc7b0e2925c +IV = 67424e386d0bb45d1a7959f5 +CT = d8f277d9113154b4f54b0d0d717f339c27305254ea3eb87f7cc591a98d48cb31 +AAD = 7b34c644170bebb1e851f45ad7c6fc9a125b159f6bc6377d76daf3a4384447ac6c570919ad7ceac660b692d92624202110f85804399492feb2fc0e889e93eba61c4ee59d478aecfc53a88d163064d8e8fb5caf1d2d26aeb87a46 +Tag = 8e946decababd58afcec508278f6e95d +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 79c46a4515097f4f9a040590b1525d84 +IV = 15a5c3e80c68ce8a5a2e90f4 +CT = 6e4a740ab7bf9892e3130993adb05678f668d8f36e61685905838ff632fc51a3 +AAD = 827dec940cbf518854494e0bbcfb71c329933690c1b2b40df4f90212c2b3ae48f778560456eb87b637428c626897cd6b6c87297b7eab5a82fb876ba9bb8e60ed63dba2a650d5cdc33ea2b9f32eaaf9f9fb0e35b71c50dc56bb11 +Tag = 6f8a82a53a4796d2529c710264bde6 +PT = 1f8143ae5d8804265747aa1179c7d6189558bfac7663ace773786115a5585a63 + +Count = 1 +Key = 04d3d5dd8f64f5f0a46161cef84df38c +IV = 8d7df1fb087a76fe9a7e065a +CT = 6ac87a97a00bbb9480ee5ff75aa7cf73c645aeca0184ec182932134c3e86df26 +AAD = 4c3fdf502171a0edfe83245d26a405f9c1f44631c3cdc5d6d355f431f5115b1191e1db00449f890902b56953d2a5dacd79c7f6244c4502fa650a55a923ca03c88bd0795165ee6202adc210222e07e08a57babe511e0860eefed7 +Tag = c4efa5a1c48e180f35bb769df4062f +PT = d0fdaca09c61cdbc4440a784c36ecf4cd0d00bf58f1abac55bd010ac4285b5ef + +Count = 2 +Key = 284ae63301c88f0ae40fe07a74f515b9 +IV = 884eb4727bb6fa37e783f9fb +CT = c6dcd062c8585358d7471a43c38a0a1c036ae94fb5574be35b74926fa31ce6c3 +AAD = 3b92b2de6037bcb6029ac641c7d73b04a4da58aee9e73319f70772ad18f855ab17d6ec8ab8272594db7445337a3433fb3e443bb539b3e9762e394966e39b65316768330fd9710ef0282b332badd76df53fb09b3baa9c1770b9f0 +Tag = a4ffe3a6cecb19e27995ddece8f32d +FAIL + +Count = 3 +Key = f287b9a45fad8f33526739f765dc65b7 +IV = 6f83ffbb74e7ec4e1a672583 +CT = 9a6db753c9b70ee187589ce88924886d42fbb14eee7ba42629bea5c533b5a3dc +AAD = 55b1611b6d484f76d7e13ff62decae762fefe268f6ec4a7007d0cbe76a3ed723845b994fe6da90f4818da2537e2a7f551033ce6357dd0e3713b55b24566f1803d7fb9cba9660e8df1eed2a22f9ba5ce33e90d634bac458c87300 +Tag = 1a8535b3d27a17991efc006e6f85bc +FAIL + +Count = 4 +Key = 37133b4e9285bd6ea23382acac43d702 +IV = d3822f83191ded18e663f568 +CT = d3517990acf5cc66adeb6263461112f174d956adddbe71ddd1da608ad26b2f9b +AAD = 563a13dbfa474cc2954bfc2024061e766a07d9c8352e6fd567997ae832f0babab72bf3a3887be2425a67d8a06ea24abc1ea5a72cdc210a20364addd4e01987931897057055bfd02de3f11a5e4e130561bbc39d2db8c288f47de4 +Tag = e22eb9a101b89deb3a7c238a8889ab +FAIL + +Count = 5 +Key = ae442c6c85ca66eb45b7d375bde88708 +IV = cc9df242f82805e8da3f8caf +CT = eb45118756e358017f554403ca569394b493de0a28888584cf8572f6397d1c2b +AAD = b682329b8c89da814db5c465afefb7c20752a28de7d717bdabe20903630e80ae5c1e37c8c444e5ebf66249a3f8a8f0dadb12e2e59ce8c486d7a10d53874e1a6133ae75fdf9ee9c3205ed025b70d0522148790d4b8ac775b4f025 +Tag = 7dacbafcc6ae68c8ceae3a8097b5c6 +PT = f561411a3df25771cd27b09b668db0facb9195a6f26f4453d2e4fc150eed6f5b + +Count = 6 +Key = bedc96904efd06c585149d1ac4007475 +IV = c90370fd29e486435f261c42 +CT = 81e3272599c72526b44465076c07ade5946fee251bebd9e1315999e7cdad460e +AAD = 683fc2281f852ce8185d84a95d3fbd5be8e8d2edca45967eb71b439605cc12e17f362040c508935faf9e12e1e60c486f425fa59c285feae258ac889b462a1228cdfcb29f5501d9ba47c1bc14f93eea1c257922422f7e865269a2 +Tag = 69d9b6b568e945615e034fa8f050dc +FAIL + +Count = 7 +Key = 61e68e730e7730abce87c77b7909b673 +IV = 03d43cb81b49c478a6c8ee84 +CT = 2837cbfd3a377d278fa040995f6f82c6e5d38e0a4afb512411ca78e778bb16b6 +AAD = e83e26d2c223e0be626b68d2e021fbe3004373fc40f5b661ac57ecb876b88e9b70d8270674e1b871d5d0ef4ed3237d60df11252cfafa9f09907b702ecb0683fe9130a6e0ee98bb3795d9326cb37df983e3c795b546aa0b09fce9 +Tag = f46171692b83b3b75ab181a896265f +FAIL + +Count = 8 +Key = 8452e94cd1a7162f837a013b47c81909 +IV = bf7ec82bdf04939768304616 +CT = ebbc79c73cad0a99ed2d2ffb15de7080d1a21f4299cc8ade736e40c44e91b8b7 +AAD = fffb0ac185919dd1ea5bc178df839d36a113a55892a2e5d64258bbe4a808d22ede3780497bfcc0b5b2be4e5909ec8fd62828578aa11e3d0a14944630b4c589b47171043215ace49c898ffa9c633e1611ccd0aa13d80299fe043c +Tag = 518c80dd65c0b8dfa28717ccc2d160 +FAIL + +Count = 9 +Key = 95a4792b3d5baf8537911a668264fb7a +IV = 25dabec814c468b7cf8d3331 +CT = 8a84ff7be4e7433f17cbc1726f70b0aa95ed80ff3dd0244b273ba4670daf8985 +AAD = bb9b4e77cc8701e10142d11d94295e70688d5ae254bc8b31dbb7b48ee5e6630db459ab5e7260061da93c99bd81414a6c1723cbd62e8e30089f831d0a213b16902d79f5bbf668aa1c4ef817b7050c9b041058fa19523fbb3082eb +Tag = 608014c136a13e0668cb0a934ca752 +FAIL + +Count = 10 +Key = 8c091f3911a04dcdf72027d70048141e +IV = d830559da515e1532f0a343f +CT = 06ae1e6993f709594bec946a42158fcdc13080358ec4fe090e7e09fa71416d2f +AAD = c2c87bb7595a5922c2454ad47b136fe3fde3aa5f470f71702610dda4cccf5d0f330189200cb9c8016edee984e7f76a94e07baf4c1202cba91c4cf8fac365e7d155ef106ea54a8946ccee28f71cc3aae751e7d75c5bb48db853af +Tag = a6a1b65e84a3de7d5aa295a032d010 +PT = 0b9559911fd9b5cb0199afb06d89f1ac3510b7321d5e749b5fefe1467d40062c + +Count = 11 +Key = 6b580b51e3d216ededce06d0f6ada37d +IV = ec565d70cd46071e7b33efa0 +CT = cce130cc8a10645f904de19931d76afb532baebea0b5fe45ac0b333aaed71fa7 +AAD = 1ea97f6ca59b822e7297a956bae0e82c9bd960dca51d32ac1720c16ca5867bcb5297429e27e6409280efc770ccbb496ff22b90195fe3b5f10cc5c1b5fe9d4e437b57b49795a98199ea8629a7837348d408bb1866e2e2784aaa1b +Tag = 0bc40f40067fc69f38109be656557d +FAIL + +Count = 12 +Key = fee7bc36fa72db22c69e2fb532b2a9f1 +IV = 9e6bbecac0ee55c939b8216c +CT = 26de002a904e31592934280423b5c160f1c65abbbcbb8723a28bd9b993125772 +AAD = aa5f5f113a79ed7419b6ffcadcb33f11e3c3f269c652f075dd720da28d02aa78118914afd8204cf29b51b71cf01983c136744c56aeaf60265492f9117d4414a8bd066b97318bc942881c1b4188315584190543388b023ff35d6b +Tag = 4cd9ce846d3c483266635ed3474847 +FAIL + +Count = 13 +Key = fbd975d5b7e6af3506b762391274c529 +IV = bee541279a9402a039ccf8bb +CT = 88a54e589d93e2934eba86f731bc88762b345e0415f163976ef77bccfbbf756d +AAD = 494a59f70da22f37f4115477451539b028ee52748b47c07775f0ea3f95396720e8540a76b0b69eb884f41d130e06e8fb29df3e20932682300aa30289d701119e2c41c75845f82f7f438cc4da4484acc0a8879e0bb9605b80f1ab +Tag = b7841d28a8f49b4de7bd986a5a4a10 +FAIL + +Count = 14 +Key = 4c6dab095ebe3365743aa596ca8020a2 +IV = 06146d6620f1714742abb182 +CT = 5ef58e2df159d99eccae8bbcc827b878643d42c1176118f42db79f14821506ce +AAD = 0ed995235bfb11fd2ae8649aa2e8d41ba52487c7a14ecd141532935fad34a79c80973b7f31426e45a44114f3b06f0ce6b9444799b3c63c70cd3182853da6e798ec55871f21ff293127c468407d4aad84313e169f9962a348ae0f +Tag = 93193e42b4657e0d0cb70b64116c8e +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = ca4c32279bdc0fad1fdaebbf2d518bb6 +IV = 8a2aaea34dd611a444422e7f +CT = a354fff1f064526897a8fe5a21afedd706926de4b91b9811877dc362a29af275 +AAD = 7c7c5b50b9f75e77b2e1b9614ee64d0a619361da538995552992870eebe6138754b889473226c96b0db0ee536fdf6e0a2f68c96660b3023c74e556489532bbeff11624e663824b4b84819089687e644024b35c396a6e4e0ae6b6 +Tag = 8e2d515717f67bd599e576e3d4e7 +PT = 357e5088059fa32a37957623eb55167c6240751a000c9645bffaad94e12bf8c9 + +Count = 1 +Key = e2cf7ce50a8b53857e25b9c28df825aa +IV = 8e13068be647c2b094d1f915 +CT = d596971ce67403ccb2cc106f343a4206a6e54b3bc4ddf38370e27d9c55b13cd9 +AAD = 48f56051e60a274acf3376e64332c77d65d57fdaa471ba21b09ea5b76b524654e09c3f515791e138485fbbefb6beb528445df3b1378a49747659334a0891bcbe89cd190de2acd089566b4a01056a3f4d79425a6df745cde4d35e +Tag = d5f1c29df971061141a47b34a1e6 +FAIL + +Count = 2 +Key = 8124beab506b82e372efcbb1dd026758 +IV = 39b67b71d4fec3ae49d41b79 +CT = 004e37e25918d32e509e7679683e09d52e692121ec5fbd23c9d8dc469123bb69 +AAD = 4caf12b6756a1110ac2d0cc840d3caed8bef18ebf11fb6ee84c67a85ecc5db382cf72c3b7c83fb533c3e91a33e26b84a9de2bba96760480cc4ce3fdc44dac7510a7c0c38cd8612eab04815e50182533dc31894b820c68ddf5be5 +Tag = f496d6c8f1865a724a3a0cd866d4 +PT = 7b732923c53711619f078facc9843bc001bcdbc14e65313a6c9e7a2ec7248dd1 + +Count = 3 +Key = b875c0d23baf4075859cf60e65e14175 +IV = a9e43ee5ec9dd929469a5f0a +CT = 344f46a949f580821f55602ea9a7b4d9fb780fd6d6620bb146b5f1598ba37e34 +AAD = e6a9761835b0f849212c8e47d92ce4fadcbbb277c7f8b991dfd366346deb4ecc588bd024b60f266629e250189d74ccee1e2517d150ee4c6c4639939b21457054c486bb99ca4ee51504ed3e9a7867ba665af24236a7eb1ab0c111 +Tag = 6e4400c0a4e54f20035e9e32ce4f +PT = c4cd5a76a254deaf723237368abb524a1119ae512ca2a073fe97d949a480e693 + +Count = 4 +Key = 709f5f757d29c865c6273f9635327491 +IV = 6556cb0bceece5c55b274f13 +CT = a96f9b04d2e5e717fb6e632b0d10892ce53a5eaaaf121848a88c03eebc095178 +AAD = 5d3a6db8d740c58517cd128bb80628b9b6cc5c7ed97b0ba72c0021e7fdf4ef660d8b4ecef52d382bceb3dc15d8186fe9fc649ce151bedd787c7a164de31c33e72aa1d5b6816ae2b6bf36059a858bb03504e5a19f8f2cd869c767 +Tag = a155685256b5699510aa768ca2ef +PT = dd01fe2d0380042d47164de6de7b939f96c402fe77459a41f5ef70caea55284d + +Count = 5 +Key = 2bfca48f4192b5c4bf85986eaae08802 +IV = 95ae1d98c62e7cf5a1f2ca49 +CT = 724b52eabd6bdab2b85f3eef06ebea39b561e35fd54b3539b647b8d2003d89ac +AAD = d7770c66c514d7afcdd1152a85832ad886fac4a5a8a3192104fe64bae30ed0ed8b654b7cf59eb485cee73ca82abd92ca2b76a9fdce60ea1bb5d1e6f2fd61b08d57806ad5e265831c7a9a45ed6ae5d3f3260d1e90ccb718a7de4e +Tag = a4b919f006f4e4020e12e49f3af5 +FAIL + +Count = 6 +Key = b5f40f9e32f94afb85b06146bf512734 +IV = 06ab5f4b53e8340b8eaf184f +CT = 3c3ea4fc3e3372092eb6766fe1317f4d4a7e8ccc533dc5f3c106e349f7de4120 +AAD = 5a96e47a421a3884d9329af236e95dfd37733fd2137a4f8c9fd4ddd1994c0724ca146cdb0b8e3efca7afd6ecba7e15928f149fc2c6b44bf3eb18b4f430c9967a97758196798be7deff45e78f5613b6c0080ce2263e4f5f78654b +Tag = c34e30cc968f6ad97fc608bdd1dd +FAIL + +Count = 7 +Key = ea552f56faea5dbf0fcf5562841ab162 +IV = 20542b302168cc19b3a0fcef +CT = 5594d8ce9fb091105c478f3966d8cc9966bd0f6446ebaba6b64231e0d3c9d8b7 +AAD = 53353acba58871dfe562a0521fb63fdb722cdb7c2a07606122b046c8dc99efd71926eececaf98284348da872dce0c431a1c88e03fb75da42cbd985327a0de35117ed568c2e3ea5856ceccf3530672bd9c3d3ee5dfc8bb6dce710 +Tag = 4e945d58a4743c9890c9bffbb254 +PT = da9a63c5032827fe0ae2a8c86367cb6c93fc6a7908fe388931e30c5240d25b2d + +Count = 8 +Key = 6c711f0a557148d3a5109ee638ca6a07 +IV = 7337e5555f3bb9bfd070a6a9 +CT = b2ec47d6a3e318041f662f58ac7515da92bcddd498af0bbd50c5acb43f7ac5cd +AAD = d37f4dc64447315385842bff12f8f6eec3afc084f4498a5017d7c16fd904e8087c6054edada97948a63609f273b029600e51e63fda4e4402f4efc54640139a5b34e87ee627fcc84993e1c39dbe8b1d59374fe4d4b7d40e5bc6f6 +Tag = a5cbfe89ae1ab5b13ff0194b61ef +FAIL + +Count = 9 +Key = b0c24d48bb12a09990c7b63a4d23bad1 +IV = f3c03d0cb56b65b0f56dbac6 +CT = 17d835c01dfc33fa2f6882bbbce0e508019a9722cf60222707fe457151c015cf +AAD = 910bb06f22c0356cc094af544a6520ba1800f9b158966f07e4f8517becca7ada545a8d086364cf70b9b6062df98200f7b953cdbc38663f06ba2be0e89b169f2db4fa00fa860b26e0efde4b8b4a8dceb70a98ebb3c9bba5a4573a +Tag = 75e5f02aea480afcde320f0cc9d7 +FAIL + +Count = 10 +Key = 4bb22975413364312594167b6773cfbc +IV = c0420a62dea0f53e72e338b4 +CT = fbecd6b34fb01b87c299168845e6f6af982650f857b47a06ad550cbd989426df +AAD = 3b405c6a5fc55a48b1ae5720d20bec6f11866b42a033aafece450fc0aae751c06fe044faa9b1b98256f3c767ea931f385291199323b60b8fc79ed1ce877158cb52629b0a2a29de52bd1b0a225558249a37374fe4dc9774f790fc +Tag = d5f1637a5d28a143600b8bc23029 +PT = 0d08f2e0acd549586fb6b81cb5fff2b13d14c1e7e8054b2a890c6ad2375ec5b9 + +Count = 11 +Key = 928466033945197b52630c40f2a59eb5 +IV = 13b9bda17275400701807ef0 +CT = 455d5bc894ceaf95dfa81f5f6150758e29c5c9822fbcb8cc8877dadbc7689fab +AAD = 3b0219a9f221cf62c406a5b70e01cff3de56b668b05522f4e3a9513d34a62be0600c8b5903daf11c0dba3da28311a66b944f3a29ad77fedbaddf161e11e181dab8e377e3347b804bf700b259725b7b85445dabd8b69f80d1032e +Tag = 5234f89b91564ebdecbaa2e4e70d +FAIL + +Count = 12 +Key = 3e82a106bfee9851420f6f895bc47ffd +IV = 8513845605ac70486740db25 +CT = 76f82669e64f85cbbc229049522f307422b6f2738b99f33ad48c9b3efdb75389 +AAD = d2da7fa637f600c3a581d0a78025a8a18acc3d2f505d7e5ad042177307ff53a10785355f0e5f90579b50df2abbb106d61bc12aa00c8b0f2ef7f3abe07972357ef1361ec6bb34c090e61bef010c7e3c64a464af8a3cd9057dc0da +Tag = f77d861c56287602373dab2e31af +FAIL + +Count = 13 +Key = 8a6587af9a0f4db0c637c847d41c1bf5 +IV = e98a3418b513cade3f7b4471 +CT = ba5ebb8f6e0c81db801f2ba3baedf12a71aea26cbd31a7e8dcea80a2a24ace1b +AAD = 94fd7e3066245d89ac30dc869e6c01b1d5095abb31261697241307164d487881652a1dcd43cdd292cf1b9074cf7bacb3d5a77617bf3e061d027dd03ad3ec8e78aedf837cf0a315b172e6c910432e4f9f0c45d5604c89ef58af3b +Tag = cdc32dd567882b0673422b50fde9 +PT = aeb856fcd88d0ef73a8ef451f1986066c1b345b60c0774c436dab26dc4971755 + +Count = 14 +Key = 64452677942107fc7461d859ba996eb8 +IV = 290b085fd1910699eeab468a +CT = 47cff9cd6c9813c8db99b5a2795949d101a78d112311a3d0ee6ccc8c715785a3 +AAD = be55fd975614be5779aa8e2d6a0cffb6463cc10a921ee75d429cc736a7730f9eb3dc85fdcbee1e2aa6d09c4be9859586ceb06e1d3b25d36597d3842c61747adcf1b36b41ae6caa6e57a2c4a9e497ff3c0179b92ae7310d22c3af +Tag = 802fa71fb7de10b92aa93aff4dbb +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = dc75a0c9174669239291bd3c83c42636 +IV = 724ad8c3cdc886a64a9df198 +CT = 38be83f8efa85bea16c08be05efbece67711b88bdace8bb1d15805b8196758a7 +AAD = 364645f37ea53b10ae914bc1b195b72246103d650ac67c0c8fd071488a1ece659eb851e5140bdb3e69310951316e6d449df9bc32ba6a6b95b1aa22d920137d05df3e8ddc400a563e65096a20caa6883b107f22aee1ead3c3dd9c +Tag = 93ab98462ded57bed4ac837f66 +FAIL + +Count = 1 +Key = 6957b778806731abcb5fd766e0a3122a +IV = a2c001ffc28a05c0edaddb90 +CT = 889b85e6b5c66724de6d922e72116f13e9dcd7b2cc27cf00b7b57b5085df2c8b +AAD = cd07924eb8445a53dcfad703da77d8cf59cc0fd5f16db3751d7f42cd13ecbba499d2f372e9f4299c5f7033f843e12be0924fd9ad25fe0b5ed184e2a0eb370482593041107299657a00442c4d55ba3e8fd46967d020e432e04d88 +Tag = 12919643795a38b9c3cceb0108 +PT = aa1c736d0c7d4dabe668811167d0f2fb7f7398d1e47cc84b411f84ad1e0ea8cf + +Count = 2 +Key = 2c61c93908f6abd2f6f7a91d895241b7 +IV = 0a943617ae2ed01339e77d55 +CT = 1a14b98ec6cf2a8695f81d175c6290ebe8dd8f963d44ebcc5697bdfe7b661ac7 +AAD = cbbfc78cc5f9376dfb11da0bab1e0354ae54be95505a95b31cb412368fd991fa32480e29679cac8756282baf9a5f735c6bdc9bbe1f6e5c5662eda17683f2d279b4afe5dea12e0569cb1b06b86973fec4e79a56774e300c947fb5 +Tag = 9f4db933daff1085579eecbd7e +FAIL + +Count = 3 +Key = 60fd5acde20633833d18c1094c196ea8 +IV = 8a9d9014c999814464bd5bd2 +CT = d66fad12277392264dc6828e7f9207a6a3e360af185894d6aeb73f77fb0ccb51 +AAD = 2e7ebbf61651bc383977305d2f01fa37f2f4533182b0da806b26201c4a0b504ae2751d7bd6735d16def6f793255a779c1e3a035b2de390bebe4ca16f71fe1d71a0ae60ebf0c5027671fea2bf4f29466344bd921be8028843bdc3 +Tag = 9c8e4f96b9fb301e292706882c +PT = 82c4614020e115de2c4b8e3fe1288a2803de8a25f18ac491555730f8166514db + +Count = 4 +Key = 6c8300eab0c997a57b24edba8d99a097 +IV = 48ce32c4e38fce69c137a49c +CT = 1b1ad4d21294684380a4a4cc6ae57acaf6b97371c57e7fbbee9748f617872b61 +AAD = 94c6be3815d599f7e629a1ed283edbecd6185c699913307fc70385c145be3e1b415d816fc109f971693fa3bfec19a410a1351512109f8a817feae0594b9dcc15318c4b1bfd6f014f392ac28aa680d5c19b6c047643b6582667a7 +Tag = 5a967521df67500104e8e2d6ef +FAIL + +Count = 5 +Key = b3b27864a30994ebe21ae67eb70da499 +IV = 050db413fc6692d86c9f7278 +CT = d909fff8046dd13ff4e0dabf748629ba9d39c7258f9851c563e76be8e322bf6d +AAD = c8392100a1da43f4e64289d71562bdf59ce4cb3fc9e7746f57a5432c232cd3bff98425aa5b58f06870f2f7aa3eff0c57cf18236c0a92d91c90008602b14cb65b963630a33c39ba0407ab891f94a627139d2b8e3562453964d732 +Tag = 7ab1606bb4e5d378a3bc524790 +FAIL + +Count = 6 +Key = 1183b33f0007724cb3b21bcc7fe0786a +IV = bc6f695771f16a1dcbd4bb0c +CT = 6f0e5ed8fb00f4e916904e1899e57fc62589659f1a99e138aeb4853b00a2d267 +AAD = d108b891dfe97b2129a44ede31a737c16770e3918d7e6feb140fcfe441345ab9005bc0c96f454b5f9c5d310e98f3736a064f1da8c2d0302ea8c3362b2bb924ee8c93f2ab2780209a60320103d1c669587e65460537e8db29f68f +Tag = 2b8c43f87da9a7d2d50c60d21a +PT = efdaa327fa60e65c84b7af40cd3f32bab35fd1ab7d49597081e8e14489b96fc6 + +Count = 7 +Key = 02c710542ba3522426d9d6a396fb29c5 +IV = 3c7c087d171f427457d4baf1 +CT = bcb4921201ee7e6f97211e3471cce81dd77422b06ca41b278d8278a6203ce248 +AAD = cbcc6d128d9ca9d0b4e0528048ac79329b834f7d1d528a5c8573dcc6fbe5eff19238c5040556023abcdedec1f1c1fc59afa9470aa38cf4b1416eed8d1b75f8cda0effd2d3777b43c6091385e129720b9c4f6a67a68597e3e807c +Tag = d5241e170eb01f67043f6bdf06 +FAIL + +Count = 8 +Key = 24cadf25f8954f6fab417fa7f8839025 +IV = 388ceb897a5531af274d9d2a +CT = 358e20d91d21cc4c55349306d630a8f55abb8d6a927295098963675e2f13b285 +AAD = bbe3dc60c83060faab72bf878cd8f397799a8b1b7cbedf7ca7d3058352acdaf9e9bf679eb24cb904c475b8b2cd8f7c94173ed46bde820d136bb7df48610776b9556012fc1ce2d57c60d756aa0017d66fc9170e2cb20cdd6106b4 +Tag = cd963fae9cabfd70e7d5a20ded +PT = 6f2b9a5d3e7199ae422e1ab0eddcc0da745762fc8f3b79470eec3a47591dba22 + +Count = 9 +Key = ffdc27a6362b2ac541386a6b0006e235 +IV = 71ba308a94cd93a1a8fb3782 +CT = 606eacdce22a1a2ffe03817db9ade2efb6e2a61691fef8a8eb9f467f8ee4dfea +AAD = cf2208c8adb903094cd2f76b83a3ab866006a1d823633f89feaa59d62cd18056e6b1c5fce854415b2a241c7d976157f1daf6563ae3ff887e2b3431c73a3dd30a0d8c9f2e7746c379820242658454ddc304210cf527feeef5ba26 +Tag = 7e84e201768b71b77451e0133c +FAIL + +Count = 10 +Key = 3d17c6c2177462555dbf543e0d493e87 +IV = 4ad1c91e6e3b1e06c5026b96 +CT = e2352c4ca1d106c4e0fe74fdbcdd1fc82f2157f09fc4cb6ff7b606341d48cd43 +AAD = e317cf63ab5e4ccdf3fbfb21c1427c0635eddf0979ad4fadc5e6f7e87326105e943a97d8df020ce3de7ac3963e5baa3e1aceaee55da75a808477dc9c9a24db38aa30f32edcda53f00c15eb7280c74e94e8b60695f02a984121dd +Tag = 9c0bfc3a3fac26e07de8908198 +PT = fcc4ebe82d53f7bb54280e5ce246f5186ea19fc3a74c72331a433f2cd5b4102c + +Count = 11 +Key = 325b0f488fa763f5f202740857b2ce0d +IV = d2f8e4beeff585453cf9f5f0 +CT = bc78151581e9cc787ceb259686d9f855019271d2a836b50426202bbe38b8ae03 +AAD = c29aa1b1a7de765aaa72496a2450184b12a8fc0eba97fae14cf165d3a400934e4343462ebffec48d372f32932b5d39b92530c129b3553e27dd56490019ad8405ef47879d779804d2db62f0d91c04fb5098ae5fb604eabc59c551 +Tag = 5aa5793c1811aaf696a427c0fd +PT = 19fcfb183d87673090e0d933679ef58a78c86adb874b38e12b3833ddc146ea66 + +Count = 12 +Key = 4c189b9ae0a0ede89391a24cb842b0f2 +IV = d8ce7a8e2ad64dcd00c432d5 +CT = 7044bdbced548c5a77b8fe1f7a05ddc00a0a77f399863f5d3b606ab58b81bbac +AAD = 773b7c85c2647261a30e859ab21083a99f4fe999c7dd68b9a7caf4f8b02052ac1106610786bf498b59bca67985f9d52172472f1f49adc3b83493defa7701835f7628647503e1696e2c29685adb034d4fa804ced569cc35845966 +Tag = 8e8a8932e3066117b9ceb33bb6 +FAIL + +Count = 13 +Key = b59b6a28d766753beca7f501740e3aca +IV = d107cf62a3838c3efca63a63 +CT = ace773211d05f1daaa7d24842d427e03d99f26f141ac975249fe7d0fe47ba418 +AAD = 9884a7332eaf54153c600ad16774e43cf55402c22e852fe5084bb529cef43024a3034a37f8a8d686795f8acd1f570c66f1afb2d6a18bccf8d762171998cbd700ffc31128ec47fb4f587cf1e4d6dacf69c16a1d177e890cdf9d1f +Tag = 74ac62baf965cf96478e712f58 +FAIL + +Count = 14 +Key = 8665b221b2ec1e0cc0f68e21eb951b55 +IV = 0d9802aa5f3382960bb3711d +CT = b0643ec526382870b58af4ad9bc9f73f13e044a078f18c725b25aeea9771e260 +AAD = 3df6ae2f3d6e9b5d858ed5b5aa53822771bad4792162282955ab209d554158ac35b942bdc598feda1063b9de906c970472276052be37fdf6ce26fd5b9784f548e90301ee9296260583e31b2d14e9d80995681057090e82bb973b +Tag = 0e123be9f021794de2225fd5f1 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = b1bc4db122a37ffc850bc25b523d19e2 +IV = 8f64ab01ed82b62d826d7ac1 +CT = e44d08ff9eb267ef0033acde536e78f38f058c6f4369028272e10bedf7a51783 +AAD = b3b0148ac00d9c880550148b4d45b55cdd30067dab1c4af2df0494839a2c05f2ea8395ad85fce7925d19ddbde50587d82d75565f24cc09c3f8737f2a92baf38668ba26ffa7257e263bb600a37c13b9d2a1275fc8c8d0cbf96768 +Tag = c465423d698f0c2d1ca84bee +FAIL + +Count = 1 +Key = 35c3bdbfc1a4d2ee449c350504b97a73 +IV = dcb068265ea7764da0dedc61 +CT = 9a86dd86b35eb85409fb0713119c7f1092d8c1ff57791df5ef0cb111a3f0cfe9 +AAD = 35dd33953e52a22465b26426d519334a95734a6bd28237a73a38b982c8cf6446ada3d48544373c55ee088f0a4ec64809a615a6c40bb3731f3d10499470251b8968a1a813290785d675a30e875a90b6d11f119e1f22f5e9dfc021 +Tag = dc224da819432958efa18a23 +PT = c756dde92f54d5b79cc29310dcc24668c6da46d196cf74bf3ba7efa33b2742e7 + +Count = 2 +Key = bb1b3c4e60866063ead528236fbb5043 +IV = 05f891226d2b0e2def46b7ef +CT = c3fa9e7f75ce66e4562daa32afd58d51197b04315b8807354b0ede3b9dfaed58 +AAD = d100a61b48b0f847b34e90b4817219c8b59a26e40ba31c26c8ef773ad114bc9fc52e008c6321137141f79d0649df5960b1d0d161304bc4593f04a908741ac36e9aeca3711a2bdf13fa42453a8b2c3caf0acb787ee1de1fb41bc1 +Tag = 16b90ec7a179ef3c36d0f19a +FAIL + +Count = 3 +Key = 5ffb5cac0520d325804f5a3854afcbf1 +IV = dc280d41379a95ae0f094587 +CT = 6b04263519eff49297ff3523da7f4bc27423d7c55e58e583a441ce381c2edd42 +AAD = 2145e1f53e8a71eaedb1bc748697d0a6dbea9e7ae3b417de23a30aa998746315cac65b582fd2f58e65c4df43d3a41cdc44d04eb1b632f38f762926bae962232b66cc3724ca47a0f3ec6b02da30374d87d63921aa21135bb9f499 +Tag = d1d141c897320c0e7f45ee1e +FAIL + +Count = 4 +Key = 608ad5c1b336e8f07c2c0b4c28328fef +IV = 4848aa7ce1ab102b1b88a1fc +CT = 9054897d9ec00ab08b0602bfd194ca804ff63275157d35ae50cb6013a1d7efb7 +AAD = ab618fa6ee090a21832196bc60aefb83d2401b58b7f079e013285b60e14f528cacdde0a5f71d80553749329d7450b97d8e46a7f7e4560614a8b94a8c91bb42c608087471191efa9048738e712b8485aa9a557c10903e87f24b11 +Tag = db27440fefd4c676ff9b519b +PT = 6e0165eddae8a126ccd6c4f20bb7051fa88335bc89dab9d70dfe3d121e083031 + +Count = 5 +Key = 694d9cc82df9636638908e3294cd2932 +IV = 1c7ce8cabde674bc2973bc7c +CT = 3bbb3835a7f540d16505ad5bdfd4c193069d235e9202894021642a14ace3329f +AAD = 08f730d57ba8e7b235e91632739bcc5d263077f9097e5b476447d1cda212a997390ed88b6980b5ac5503a9dada9955b7d64aa250d55a61170db6e8d78a74629ca71429537bd3541784b102f4d0553cd5bc26f04e7808e2ec8a12 +Tag = 83fba77f14e2f094303bbd33 +PT = 275fe3365f2e361c166740ef8fce47341cf2497fec263994de29140bf094563e + +Count = 6 +Key = 935f6a5f9a7a8bed58e98172ece19072 +IV = 49169f4864354443424e5ce7 +CT = 936ba51d0a4e2bfa6b0cd3a8f94ff97be34c5d3c274f9c9006529a01d3a23dc7 +AAD = 2853a8c5e19bcc5af5fa23e3aef6161089983fc241e299ee63c57f4765b012c35c7c338a65a7446d37a6b7e63efc6142615b323b4b9c2333b72038210a22b706f9d1f3029e48ada8c6da72589654ae2c8e152c5882233de043c0 +Tag = 700e678fa6fe70cab6b77ffe +PT = 2699bdc2631c02fe8c983a3284a92b6f4c4ce7bd2683cc4b91e7e62e9283752e + +Count = 7 +Key = 028a83d16a9b9c3b50f188f253c97b18 +IV = 3ed8ef81d1a5ddbcfaff6616 +CT = 6966185fe7c5ad685053d614a8c4fd12e09082ef7c050259d9041932283ee29a +AAD = 406999ab7a5196dd425e8e0d5bc9fc1b18198be5099719b11f9dd7d2528b7a71136bb5f60d82c10bf7751d0cba13e418b3341821c121049e5a713b7bad1e3e1ced873190e7e8840e60553be6d954163ffefca94fd76209d613b6 +Tag = 78425552bb82bec7e71a743d +PT = ebf25cc07ae8152e13c2f7d267c95b443f3b04767efd71d348488fadadffc53c + +Count = 8 +Key = 3be2c5cdf6ec77c36edb07488aa9e071 +IV = 85051fbfab58c7b041ef35dc +CT = 0c772e4d9c13f7cdd13793ffd2ed0fe31056725095799e95d86639d18390e84a +AAD = fdf98bbdff68d24eae6822a40f831694a5e7c7a7abd957f6fd736e6d8df736ea3787538a00b96b3d6d75bee290b16351bafa2a008f1d422a13e07dff94aa840e7b14a9a525a6252fbc40743f7cb71007f27510e635e313cd7241 +Tag = bb9726455cebd841cc406cfd +PT = e66048b2759ac6cff1a3a386619b2fd57d49947463b64a11cd72ce71ffa9e92d + +Count = 9 +Key = 6889c14b1557e44b256a732ce8331600 +IV = 274a614a97732695837fc62e +CT = 892e799855efd4c7054c570fa3d9267df785b938dd3a48dc4e7ef2c9478146a6 +AAD = 9006477244674c4407af46571dde1cadf47d1d1e07deba018bda15445b3e3523ef1e8935b3dafdcf7647be54fdbdb457b626695e7ea3c33f4abf26f3165454c7dfa9beb3ff0b1d0703010ab63f3dc084a7802da66f4d8dee98f9 +Tag = 9085cf90a974fe4094198a4d +PT = 419d96fd35295005c2d26a233e3292f01910c548c6b3df3a9d16174c0c364225 + +Count = 10 +Key = f5add78feca3b7d0569ae8c64d83980c +IV = 1117ca7aff7b13726eeae099 +CT = a8439bfb7afd6f7661c25e432f1eb6294d4f5395fb4b2f6e59ca40bb276cb9c3 +AAD = 47c981f7a7af5f20769806a98f34f1264290427eca3403fca00669c11711c164d7f22430fc527be95963f74a660af2e8fd7a3a89a49ff414ef4e73f59b011d4c55b3d901d8db409f6e7cfb70a86c3aca73dde63c1db0e1dab044 +Tag = 13c75abdf0dae769a089ede8 +FAIL + +Count = 11 +Key = c36538a8c92ee5075c1656c40756a42f +IV = d855b0e980cb666d79cf1527 +CT = 1f33ed4b267773e4dbfed277df1033ff3834db6bbd25c84b9c7213aedaa192bf +AAD = b1b43955ecb748fd4c5a4d0e935d1ca5fff7025922ff3229f26990e21b1d141148b6f4f17bff8134db2c2cac48c11094266f7ccc1cfd51ed279b9697d51325e73da319c2a6a451ea4b7711471fa092fc867da4d92de0abe8e82e +Tag = f855826be8f76170884399fa +FAIL + +Count = 12 +Key = ad52323e22b034033b35a3367446a702 +IV = 42c15d887e628af898259891 +CT = aedf4287eebb63fef1be60ec162408d8be9a5d18ee3adb550f5370f82c59da60 +AAD = c6beb22f4858bff646aeccd251b934dece6005f35501ce0a7316e7334701e952485ac06b55f6f93bd9b5efce1380680e31bc4cf4422e6794e010e9987c5d9e02750d9ef46e03eb4cc3d3c11f2716adc6f8a3c5b76f63f2c7b629 +Tag = d5b702be2513901ea38f1ac0 +PT = b88895f7108b9d959b6adcda23973873d4a254a9c6fb240874fc43c1fb3dd930 + +Count = 13 +Key = bf70db1db53e0e3ccd836861bd30cf03 +IV = f55072c87db77737e3651c58 +CT = a0e0dc4a2ef1c95b6f379828fb5d1754267f188b6aa7600b5a078acdec534e3f +AAD = 680f0e63012298a030c596ee846c73c76198e60df36bf7bcacf870933f0e445a66d339a5c8cca3cb554d5cc7f74c6ba7384467d873d2ab3e66e6cd3feb8841c2a679e4d212b2a2a917c0c2049789720fc483e421fd1d44e5e60c +Tag = 260f6d9ce609792241f458cd +PT = b9bec8cf0280a763a0f9db3293dc32158649480237727962d538ebdf2fb5cc99 + +Count = 14 +Key = 726412d75bbc215e2cbd64651c09fdb1 +IV = 54f564227ad80fdf253200b8 +CT = 6e2a6df28a2426fcf03e43fd34d337907cdc5f56a6c8dbd1a0cc7f0bec20a79a +AAD = d5a3c62254bdb3992b49f3716ca80722b8a9d3146f2ad357308519c58cd5655efb0fa443ad3cd2b7d5c6c3ecb6cf9df4d4f7b0f3ca985368aa74ef2fe84ddc3c6ffa587d4063cfcafe0285d136fffeb378693f3403404571b41b +Tag = 624afc9e24a3135c13376230 +PT = f0aeabd772349309620836bad0b8df8fbdd487b7c615ca16c36365ed59c910d4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = b68e0eeebcfaa6356d89a1be21992df7 +IV = 6f82984ec2ce1d66fc373a60 +CT = 7118a4d46c9bb036fe4e31890d2ddb57843354d55d4f23bfbb16893bfea1fcdd +AAD = 802d521f802780dbc5f0ac2e169abfde751bacddf779b629fe24028684e1d77f731c41b3fce21e000d2d2576b8ec12f89af0c0189b8bbb64cd15062f8eb697dfce299bc580a1977adf49078c62b163d9b4e14a019a349144a40e +Tag = 0cb3697ba5915d7c +FAIL + +Count = 1 +Key = 3d9af4f3e8524179ad02378495611552 +IV = e4537f683df84ea0e457644e +CT = f0efc7a691efd6031d6e7c0a3d9e60a5620c6e4f5c478d3bd36eabbe510e4b18 +AAD = 35b333fb3dabdc22210789954ac7e1ff9bc0f003f5d2dedb6c9a34cc0fc27df1c25680abb8bdb5b3c5e98210ced9c7c597ce8442b390455addc01f3d3fa85652e92da36bf190b80cb9888f6feab42f2776d09d1b544ad6164a3f +Tag = beee324b87d5c55e +FAIL + +Count = 2 +Key = 4bbe446430b591b92504eb42cce2d446 +IV = c9860cb28973c36b53cc669a +CT = 33cb3898f2b163f938c8dfce855b0493464d85bdb2c3d9d4e27ab0d82b1b331c +AAD = 48d1dccae472f1bc723251e869c2f89ed313d42a5522f64f75ee03c2c79ef2798ac63e63e01fa05839d39998123e949888a6a8ccdf32279ef0338529aff1aa5caf2a3b15b08ccf09441d85e980a754f0083970db54265f2dbdfd +Tag = c82b9d410d6253b1 +PT = 6a28cf11f9b2157bebca9875cef8baac088f2fb09118ffa1a1bb2ac91021b7fe + +Count = 3 +Key = 086495902be69a7d05fd47d381b741ec +IV = 79f1f1fa211f9a13ae133cad +CT = bf128575db666371e646d2260fbde99522d4d4a2050a4f56e7fcea10e7538292 +AAD = 13adf9481cd3a6ddedbda2f3c35151f34f00cfd821b155f2d25f9b2ae8e254811026f7200f832dbe27304fb50818902601962c22771c8c28807f6d8e2257209948786932c1ee4c1d212d106a9dd12e68683130b95814323155c9 +Tag = 22c95780955e7090 +PT = 61185134c8074ce2e6779de48ce05e41671f741ab728a88d775b4cc45704198c + +Count = 4 +Key = 5f16c95e121cdfd058189abb55d062ff +IV = 8739ee61511fb12d37f92ea9 +CT = 2771703091092dae5c9b5f36821dc9de47e2250fa31ff57735ce7c7e0fa7fc2f +AAD = ab99598c97ffca01e85bc094dac999109ba7b4fb8bc47409e1e713307d5a3d8c5373fc64c7973de505c13eebe66f15ff2d0bf81620988446a2ca549ea880049d9db742c6b5b7a85ab5766d7a698389e8c9268acae7a8a4e5ed5f +Tag = d0992d451f150a5d +PT = 746f60e787689f916d74de58dca8f582d6a6e782fa48cb662d62e275340e6c14 + +Count = 5 +Key = e862249a06886a3b0aa6b3cad9f9381d +IV = 8b5a876a29271b6011b4fc16 +CT = 1f21519e6c370dcd1b0bd546d9e7cd043252320efc0a20e46231c54870d3ccba +AAD = ad2b0927fc58acc6684f6c2cb113089be8c93acb8c314b901b37e899e5bbda3897b9bbc95aa6453c1bde32742b5a3553065fc8859017d235d99053b89d7310660bd66ecb30f2697a532fa17b0a193aabe9af3858cf5bc9972ec8 +Tag = 6c266e4c49232a52 +FAIL + +Count = 6 +Key = adf150e45267e66b37e9db042e4bec1a +IV = 0c94a78bd1a0b982dd90b192 +CT = 447b6d8ca26da0981c83e8194a25faa2613775842d20b3265afc60ef671a5775 +AAD = 6732fc1e822f0c0cc808ba56f8d7425cb5ac43ec22cccdbf6fe2825077d959e1f6ae480d6f6bf3f0db1b26496b1000c45b805d48f6b95964b938cba70ba0db4285e973b84399f4e0e4ba5eb1251d472d3cd6c69178355657180f +Tag = eeaa4bab281b0095 +FAIL + +Count = 7 +Key = c819e73ef43a678cde97ac487025415e +IV = d9cd50d0f694b4026d82ed28 +CT = 618ee422a446409ba80bbb0010062beeb48ef01df429d851be65da6b770d85a3 +AAD = 82da9384bccaeb60595a14f56a6ecfcbb5716459c63ae3ec0de6849e53fbe0ccf11ad72b86fd70f147004b19894dba3bea1038ccba15d692149fc91cdafc7240951dd721b07b5c1e35866cb08ec50702eab93ade2281ce7786c4 +Tag = bd6e581a57198697 +PT = 9784e0a2d7b58db8b191827f2080415f309d6fd27d3fa493b1a926cca111f667 + +Count = 8 +Key = 9c2f1cfadcb1eb3f9006d39750b28498 +IV = d428f3b6714783cf630dca22 +CT = 3abaaf0554c600281843dd25c43d14f1833897cf2eb02792fdc8886d84028074 +AAD = b8fa93c736a9ac11fab93f86af994b58e1d819dc5bd5bf64fb23676f830948a875c15ba56bb9aca012535b6ad534ff26a22a6dc4971f5973ad757156b60821613f4b114cae69dce86beadfb3028e253c6ce035430a5caf435864 +Tag = 4241693b65a41013 +FAIL + +Count = 9 +Key = 5548660bbbcfbb5149f14f6fba8d340b +IV = 19752d2587d9dee75d5a4f08 +CT = 29c0539d90136dfd6ee3cf01b028287eef2bdf8d12820ac333622484ba9a13ee +AAD = 1da11ade8b495b63d575e639156589311e60355d747c48742d7b9cb37bf07868abcc65e3a32fe5b3c5e37ad3e744e8d7fbf4d0edd066e59f2c4e8f77c25081e0267592d39bbabbe18f5d4cd47177ddbaf943acaad9db9c096755 +Tag = 29bb543735a1d334 +FAIL + +Count = 10 +Key = 2b966b5a396cfce1a75fcf9889d46b5f +IV = 6413f0f1669a8cc7a1aac972 +CT = 13da55bb9de478f185e4a77316918e21c88f548ba7bf9b0c44efeabb9e93143b +AAD = 76ca6e882c9329dc7eeac0437c67a09b3bb8231e663e6ad1e8846e7cf5838a6766e0742c5a33696bdf49ac1d8a656596459b2fca03e9efe705996f4c41c63c63d792ec7c5c88cc860b8a3c332bc0889738d04f194e7a3ef669d4 +Tag = 85cfb21166f97a51 +FAIL + +Count = 11 +Key = 24a5f5b9e57146148564f64fef9b72c7 +IV = f65353e050c632cb3977fa33 +CT = dfedb0e5f461f70bb59180ed6eb6233527fd3b8586ae6fa2f945de843fa73880 +AAD = 0bce4cc4ebdf204465362e76dc7fadff76bdf0cb7ab1acb38757df4aace1629a062c1ffccfe80a513a727495dd506ab3325c63a0c6bf119f6777c56121eda0bc15a2095ed8a0922bf25c937b136d4d4b63efcb91cfc3d33b5b99 +Tag = f1fe96adb01e729f +PT = 56d0f8c8ac7a58f22b76ec682322db692e27296bed0d9cfa31f0333c87063401 + +Count = 12 +Key = 1a9a730ad329d2b53bc373db2c31b9f6 +IV = 9e3a94f317db71dccfc01d24 +CT = ea5530e79268ec13b241378c0ea56948dff694ad75d73170e82164d66408c196 +AAD = 72f4b08979fa4d46f7bc2b0c3f1c8463b60399039d653008863e12bbb834151ebbb9b40f1e789563463af3d61f9e1264f469c11bbe2b130ad17829132ac410524759bebf9a447d3e1c1448b599cc4bc90b64c89588af4b44c10d +Tag = 1962b34782cbf4f7 +PT = 93bd5967815ffaccf721862994ab604faf427d7050a3b3154fa23692773a4661 + +Count = 13 +Key = 9dfe2f7d9b7f7cfaeefc09f73e4df3f9 +IV = f443cc01c51f652ddc18e632 +CT = d36df0d30d91f100da78c610fb3fd6ac4dbfba39cabede7296ed47f1a671a3a1 +AAD = ba7b0d43439a89c5b100a40c6e8d9cc6cbf71469e72543c2b7a7c9e0d7a9fc6205e62020e23d5dcd76f98b829bdd97d953c7104d49098b1b4b0cb5f5c59cf30393fe673bd057a7ce668b4ee66f9fd982496952e67dca3ae0c229 +Tag = 50f97f7be51ea738 +FAIL + +Count = 14 +Key = ca1a64619da9a9ade5d772a53242c5fe +IV = b7a91d5ae35935f90abda5bd +CT = f4b45c65e0ccd91dcd9eb28ec4f0ce362264cf6ea90b7a74ee88b371121843c0 +AAD = 65485a46cc1dd9b40c91cb3710bcb394226cb15360a33ede51b1126afda39fcbf69512e184863a62b328e5ab5fc7e03c4392da82408d447247d39373364e4f3fc808ce710f7891181d84ea59746a3bac3b23696b94cb1d483f57 +Tag = 3f0318a6b90e94f4 +PT = ac4038a9eaa932b30849e7d72cda1ec5ddeef17cf6cfd71f7fb994befa0da45e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = d9d3467e11838982d7fe2b679f38f033 +IV = 4c359a22a393ea7b67372bd4 +CT = 90789a91f4b63ebf2fcd105532aae9c4e9ca477e979520d4c59785ed7f590f7c +AAD = 85dc0517d024b61e22aa35000175e714b32b901fc5c84b9ed7f2d5893f9ef1d285c6e75072ceb88087afa0d6bb71973a27379ba1c0a6198b6d20dcfc65abe16bce4012d150ef48025856203dd93c7256c09ed4b269280c6631fc +Tag = efa4611a +FAIL + +Count = 1 +Key = a03013af484dd3d66e05e804710466a2 +IV = 14f15216d4ab0313655d96df +CT = 7db3cb298d08b33904692692f2275cde07e9d8d77d73c55a1e056f2ab6e04faf +AAD = 9747f90d1eb8c30cbbcafe99bb3f0cb43fec91a58862a770f5394eed3098f9861f873e3caa005592921d29f524491cfd58f7952573f0a4983bc03b671ca65d6a4d578c92662eecd2db109b99c27d3465366bbfb39a7c568b58e5 +Tag = 227aabd1 +PT = 28a79ac17e70697672a7a6627c4c4e929916c674483b25c09e5befae19aea65f + +Count = 2 +Key = 5f58f59e42cafa3d6184430544e4bed6 +IV = acc6a4598747dca8e8a64d2c +CT = b2351fec4bb4a2cca4af9ea589abe8693344cc31e6ecd315a50124dd5ec001b5 +AAD = 47b4ba53bdb0d8e63d2fa476f0cd156caa6d1b32c791742c7d061550912e1f6e09db75303f78845b926551fde85fc1ef67b5eaf2a999bf5d5179cf445c4e6f4e9a9d83214beaeb731d86d88054bd17f0d4d8c605b07ea6d1918e +Tag = def07acf +FAIL + +Count = 3 +Key = 6f3fd9952cd9dc60b0c3d8477c14987f +IV = 3cb934cc7b3571839d7b1559 +CT = 83b822a80d7e931dc453fdf55fc5fa6dad01828205c9ea532845d587e92bbf7c +AAD = 0c368e3f690eeac442258f1c6b18a4a3ae63f404db100c4227f4de83bf0bd311f1ff3065a52689280205c8a614502f243c97a9b292139e4de7e1a4563285fa34778e23cbff6108fcf3d34795957ab7fd871bd73107c3c6b03f8d +Tag = e91957f8 +FAIL + +Count = 4 +Key = b17d8375a860ad689ab4825e8f173133 +IV = deff8fe125d7cf6eb9ff6a9b +CT = ddf58d5938f7db2493d986b33b26c1242d8917b838c5fd8ef1186d855d0b399a +AAD = bd9004a46f9c792cb0cda9be441bafb94b6b8d591b3fe75f1bdaa121645d0cc45c79e9c004c5082a2094a632401afc4cbbbfb58721381b5bb99c0258f50fcecb2ae65410202bb46dc8ddcb2dc2f8ccfd2bdd1a7a9723133010f5 +Tag = 6ab3f798 +PT = bedf2aa0c7d730d0024cbc80a2f640ec77fe660dc105e06315896802ecb899b6 + +Count = 5 +Key = 52b37912fc636a18b8180f3081d388cd +IV = 432da91af7f7fe9d76043796 +CT = d158a01af84cef071d8ac7e838ec3ff69d2bbd89d69781440e030aa0e26106ad +AAD = f2454be287293f1cbaa112aa98a9ae0b693e7de3fc7f0076336aba6907329c3fb3d7c9f6e489f4db9f8f6838971f824a9dc54b3b532cd504f84f909e2b365bddd72117b06cffd8f26664b56fa8123de4256cf3354060b8bf5a84 +Tag = 5733d903 +FAIL + +Count = 6 +Key = 5acb8c0720c0629f591c29fbc934db03 +IV = 82789059d1e1680fe6660fb4 +CT = 2b825b6a48dfb8cb4d809a8e59c3d6c6e53e8b490d9c0f2e235551b7acb62286 +AAD = 6ae2ef876c035b3cb06535b01b829c2ee0a91c31a6755ad6fe718d79b187ec091d1ded80878a57fdb5639c0178ecbd0fa5e9b8090de5f205dc61893e5a306fee2562e8815f34a02e2f8e9c4b698abaff9519642ba450bc2b5b45 +Tag = 0c6a4f7c +PT = 2276927ef6960f374aad34ac1d4a47c6bbeeea5d1eb0d000d33e026a14eb9157 + +Count = 7 +Key = f6900cb6ba1514cde444d85638ccdf13 +IV = d6de4c4b3f22698d5e9db479 +CT = cf1067c6b138d6365442aacc0313b45b2c8848709ad9b7ee0043fa5dde3f6a02 +AAD = 356776d1023e23dfd04a24163a42b746423691ad0e54517382ddd8860a228808df20d52d337487903b9c8ab39ff3e08f795f05cf9d18acc3e1581269d45313084cb84f183f53be72bfb9f7fe26e8f466b10fd959210900b15f60 +Tag = ec2bf5e4 +FAIL + +Count = 8 +Key = e3505b18a765ce07ec51941212143334 +IV = 533c62eccdfe25f275881c55 +CT = ca5c8e658026919b261ff2ffc0b2c30afd4c1d3f55bee9adc7ef49ab7ed58b88 +AAD = 82a45c045f50b46c689e54d53b2968a4e7155b7627b2bff6306ed8f9cdff4e9f7553c4b7f21c1b632f6b6269a8275b10de45dba4661ff529bc09d9bc9679b8559f5814c47a4528d4a0baacdecacafbc84c50c665272a69f16b3c +Tag = 34d1b34f +PT = f8b7c7e8b1e10cfac7676d6ff0530ca145f81b7610536449532f2f54872bd2ae + +Count = 9 +Key = 7fe893e14adf63494a7c36549068fa60 +IV = 2f70e1b4b651cf48d100d8f8 +CT = 8fccbb11adcfdb0bdf82e2250560d04949850451b5041ab2a8438f91b29a7c6a +AAD = 5c8e32ee4baa3c8f74f95f1de3f4144cf63e921c77388d3b0f68fe20554aac9b62f08b38614d4222bcb5b425c7419a3884c6f72f2d3baac24208e045552d121c55bf361b3a5e60fa7a31a937f666a080cbbf1f7c547ba864c6f2 +Tag = 8cb97055 +FAIL + +Count = 10 +Key = 42cd6cd8be68706ad1ece96a41fdb892 +IV = eee72f879a7e79e8f5000078 +CT = 188f72d79a95ad12c1cf32076fbcfa8ef1642527209ac6bcc67d6ae0bd2c223c +AAD = bf2ff7475e42c1907f8bb2c05610913d8cddbe1aa676e7a87776fe2d87a1638151fe030199f9a519ce4193ed8790cf74bb09d34e8744c6a890ed3987ab9ba9f80a2a6e7a64bae3fe101b1f16aa7a38fe4a7e430d6efe0b42225a +Tag = 95459454 +FAIL + +Count = 11 +Key = 2c99156d74ea44723f904fb26e04fb49 +IV = 59990b66b18f002c59ff273f +CT = 3040489a3f5947f26457dbcaf84c2cd23879c4e03551518a7a400747c1f40d61 +AAD = 8e201534c18fa2ef93f57ab917922052bac39b57ebb3c85c696dd259284e0cd703d30e18688cfec9437babfb5c14fc1e2af2fc6b8899eb25de693e3686360da6ca2becca88ade0efbdd7247b1372a019361fef479e6e1b942ca6 +Tag = 167f0c6d +FAIL + +Count = 12 +Key = 6c207213c8c341fe391743b0c110cb18 +IV = 1c377f9359cd507ca3db0857 +CT = 2866f1ac4ce8cc7ba8088f16bc4079e9adf1053c8e1f80a10ec7b987eb4e237c +AAD = 453796e43eb011f4a1aebcf1dd2d6e5c80883c86ca295dc276b42dbcaf10a7ef488f79f9caf573fafa3400ff5d3b77b4ade5aa63c592f35853e422bad3ad84e23b86d3f88051537f69ee90f7bc29bbd2f0143566fd33be1f7337 +Tag = 1fa6ff92 +FAIL + +Count = 13 +Key = fdc8a93b22739abbe67c4f1a286c439f +IV = 6d07bacb0d2091dc5eeded29 +CT = 368b613394182dd9c804c0c4e055497646958d5739164075b8872df01b923833 +AAD = b561ff2ea4cd10fad1639c783f63f4a748001412f98724a9d55936a339dde4dd96f6c725577a9a2d436e70d22589304bbdc5f1b8df03bc4e2f44b7ac68a9d9a36f64e0b8f4be6f5375bd0b21122e0cfb97cd40e4dcaefcf8d888 +Tag = f1912ffc +PT = f251afdba5d65227a8030358fc410354f834cbaba9c3ceb8894a2b30ad706443 + +Count = 14 +Key = 93e8ac4cb183308adfbf0d435730099f +IV = e6c65f14a7cd6596ebb2df5b +CT = 950682f88f81dae0a153490c5f086ec205ce3efaf9e6f16c70e9c98326c2342e +AAD = a51c8fd80cc5c4fb0433fd5d6a9fe62deea2dbd8e4b795cd2d9bccf372e7d5dcebfee9b8a7e05e443e33b9a008138756616c5a7e7b8abfec1d4ee22da2443ed04074e5575592085fe7ebf47ddacfc22bf57728251c9dcf57bf78 +Tag = 008b1d06 +PT = 41fa947a9c0531bdd613c128aa1b4fc365c9e555024599d29024e3fe20591458 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = f3c4c058c7f0965a0328f0f011a128e0 +IV = e96098c39d9aa83522119355 +CT = b42c25155820564b41c525c6aa8ff4363c7c511917772b9bcd574b0be1f6b4ca2153869ddf0c4f76dfad3aef0a76ce056582f9 +AAD = +Tag = 44331e39b8a66a81591ed155d7d32372 +FAIL + +Count = 1 +Key = 93ae114052b7985d409a39a40df8c7ee +IV = 8ad733a4a9b8330690238c42 +CT = bbb5b672a479afca2b11adb0a4c762b698dd565908fee1d101f6a01d63332c91b85d7f03ac48a477897d512b4572f9042cb7ea +AAD = +Tag = 4d78bdcb1366fcba02fdccee57e1ff44 +PT = 3f3bb0644eac878b97d990d257f5b36e1793490dbc13fea4efe9822cebba7444cce4dee5a7f5dfdf285f96785792812200c279 + +Count = 2 +Key = 2e6705fc4862967af3aea0785f6da759 +IV = 7d9280f59dc2b98f0195098d +CT = 30980d2634138ead42c3347b9b3af32f78ffec0d7686b9247f8ef7258b72859276d9d33eb670eafb3ea900c32db9befccfc1d6 +AAD = +Tag = cbca49ce70d3ddb752dc3b438f2845ba +PT = fd1b20d58e51fe93d177db518416e632212dd1effb6b5fcf51bd94234ab96a455d8e3c84ca03b26d58c8867b6a1cc390828ffb + +Count = 3 +Key = c36bfc62ae2b4969dbe23b7332eccfe4 +IV = f9651d42ebf8468eb6e45829 +CT = f9296beed3d3b573f72cbde4ad832e34e8ef6cf7178e8d2783fff5ec8359daf67df8a70d8f86d2c339f9e1ec59d234e4f61938 +AAD = +Tag = 46ac46b455e9f483a8eedf6ef4b61be1 +PT = de42199c477b69de2857100395aefb2735c8328331109d647eae535c54200869e7a8bc82f461fc6c474748297c341bd22126fe + +Count = 4 +Key = a02b7907be2c2a5f8c40127c27b609cd +IV = b5ee4456bee99ab857120d1a +CT = 0a14bc62326c9af9960b896018d98c792d6e0456435005d65e60d553b4ea733ace7dcfdcef0c7d86a6f3065cab8012a4cb2cb9 +AAD = +Tag = 8fb36293be18a68ae7160fc848cc9cc9 +FAIL + +Count = 5 +Key = d3c4f95ee0ff93f67dfd7c6b65786a71 +IV = 18be95d32c908294ba908e76 +CT = a18dfc65d0d8e9485776623cd0a3bf77d05482eee64e97cbd0882197800611081198439a11e226c3fb819849230f1fca9a89e3 +AAD = +Tag = 0f528349ecbb4bed97e9fe8ce16161bb +PT = 51727be06b95ed04ec1f411aaf5b214c58f21782cbe9b624cb28229abb8f9d8d673b903c12eb9147c40cc58e81525d86edd6c6 + +Count = 6 +Key = a2526f5350c42e0772063ec155f1e1d5 +IV = b4f8c85c0d743a99a6cc87e3 +CT = 48584a611dfbe46c3a7cbdced160032945193cb8dc0d551080d162b47af7da53ef4cb1896fc01a5dcb8e38dd9784b86e804ee3 +AAD = +Tag = 65e48ba3b15b7478b885f8ccb52392f1 +FAIL + +Count = 7 +Key = d4c653fd951800ebe9c4a43806f294cd +IV = d3f54fcd5d7a85377fff76d5 +CT = a8464c51b538232eeaafb3c28f92773776bc040e9570cb1041ea69a28570f15bd284acdd2bf2e732d5e37fc4f71a9881e95f32 +AAD = +Tag = 88a2ae3bcd70d70c0652b41623287472 +PT = 38e1591924b8c3e3ae70955767bd33525223d3083245d0dab82bf55f2f9a0cf89eb67ac7fff56790c0a1cfd17dcfdab24fa821 + +Count = 8 +Key = d925a80f584eddce723da5e2c6dc2225 +IV = 90fa88a5d494154d71186705 +CT = 484049f8c5d49cee54d7a4f31801bf0b3f7b67c2c18e594117d413238f80e45e6322f389aafe7751abd15bec4ff0f6209add28 +AAD = +Tag = a382b14879dc59d855182f2a324569cf +FAIL + +Count = 9 +Key = dcbb9565d2f07f94a95f7982728f4624 +IV = a3e76752362e13ee7df5a207 +CT = 5e1789e0a24a72bba8c5f775284cc31243d62ef474db73bf73410be4abf80c860e1470aa98247119e558f13bdc4e9cd802aded +AAD = +Tag = 1a7bfc1af64c5e08741f1080064f89d1 +FAIL + +Count = 10 +Key = 838e8ec1da4be60680c2f7a03c050975 +IV = 33a4203c8a85bc83117dbb8a +CT = 19210a21ef00ba0e17ba8e1d23eca7f8f2e4cdb13c2e3f87a9ca0e361736796fd3720598e8283289aab0a4afafc13a7cff0437 +AAD = +Tag = 692270364f737ab2f31f421a48fb6b8a +FAIL + +Count = 11 +Key = c62f464a146cdfde1b23999bfc27715c +IV = 5bac8eb5030a81cf2782974c +CT = f8407943de543fabd5c6d2c217a2567b895847b3031e46fef6a20b9446b395d3a751633ea14dc49c36805a66eb466e028c0eda +AAD = +Tag = 150feaaed2ba2ae459f8f0f28fc2c27a +FAIL + +Count = 12 +Key = 3a2b2a1f2afd731648fc60c2d4775422 +IV = 9fd376abd09e6599986afb96 +CT = 813a8d7c46d0a3504445dbab48a546cbed968c574645fa696ffa9b5d62ce394ee35a204c62edf8d04c7ef621ed519c3b7a7318 +AAD = +Tag = f259e62193f1eefdbc6ec1ace305f78f +FAIL + +Count = 13 +Key = 1a77d432ea3555b56ce73509f90e4e47 +IV = c54136dc1525ed4f6dce4ba0 +CT = 33f094e27be6fdf62b901b980471b5e4d19ed7bd1b8ebf5b3f225f3e0e2669e02c74630f43472515806bd3d37b9b20f21870ae +AAD = +Tag = d480b1ab8a8f661d907c7d45bd8d2883 +FAIL + +Count = 14 +Key = 63193b6e66daedb9d566677ca4d3b129 +IV = 313ba09226bee694217f5cbc +CT = af18be0edfe1b74fc327d447909347c1e8b22f24eed0c545ac76f2d8d48f3c673b300b1c2cd894455c2232e052f078f0af71f4 +AAD = +Tag = 96183cc5e22937c15b78049d7cab2181 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 0fd4b43a356d4f3bd5130de08ee68cb5 +IV = 1ad17e69925213bbe6c5c718 +CT = 1430e29b3bae0d1af231fb26fa67abbe69ff0d490a968a73ee84977100a7b9e6cae00ff4a992804e1a5f7ac10383f54e395f88 +AAD = +Tag = f9dec8d937e144928c668e84e96ca6 +PT = 0945ec186f1c25bb0174cfd5a2ae6fd8a90ae79010247de8ce2724a9a479d6c17e679d1c163c6836655b7dd596a33bee93062e + +Count = 1 +Key = d1ea614381a267669409243e2eb8ea6f +IV = 92ab32a06ecf736e96534d9b +CT = 0229aa8c856a5f266bd05eb72d7958dd4878ea4da92f00cf31eff950cf082dbed2735d581a85b36ff6a00d85d4f9d72c910a00 +AAD = +Tag = f1c7d50ea5f3d91344cda4bc761cbf +FAIL + +Count = 2 +Key = 20cf9223f6a6b3e4c1f785bea640eb8d +IV = 05833f6d0e388c21c6245f5c +CT = 6efc59cadce04b2de357f03eb1eb97a132aaa3b0c7dd6f41b205aa6d46db234914eeb5d8057b6aacaa3fba334dd37b1ef44334 +AAD = +Tag = d774fac6b0c269c4b8118ee47d2829 +FAIL + +Count = 3 +Key = 8dce700b8cfdf057df0915adf76b91b4 +IV = b26aa429e644fd6ef5e9c88a +CT = ef88734a9dfd8fe42200af2e80f84ce09a5095d85c81bae89e77cf9a81805a0b08699a04673929ef64a279d414aee4276621b7 +AAD = +Tag = 239130d5150a0cf29782c47a4eac99 +PT = 202a7c4598cce85dd9392ac54e1de6daa3582250c265397b6e0822abc047b15a834d387ffbc2e901d0c2a2f5695af6096857d0 + +Count = 4 +Key = 3db6c3973c662f516e0c33c0791212ee +IV = 5900c0f5e7b6f54d92bada37 +CT = eb31de9f60586361230fe27b1699ba97cbc809bc4e00552cafe919cb794760bed3513dd43bd4768f9953ae48d14c2a623698e4 +AAD = +Tag = c07aada0ac55e55ee7714486049fcc +FAIL + +Count = 5 +Key = 066a6a7b8faa9bd8f0d1b31e65070984 +IV = b85a1374d4b2f0ea0ba359d1 +CT = 3e12b1a0fa999236ea8ee27773648afe1a6a8e525ef6200962caa990a38523bc5e26e7cd5df3eec9452205dec08454580261ba +AAD = +Tag = e0f3ab6d57e391d7ee1e4f1b55edb9 +FAIL + +Count = 6 +Key = ca3d86c57f31d16af080d9210a99f310 +IV = 656f2d235b2d56038cbe72df +CT = 7efe78d995e768022255248f078dcc77212f0378517c3fcd65f9a1dd621db124256e83459b2ae941859a3fc0a2dec6524d04b5 +AAD = +Tag = 3e350d2b8fbfa5bb6e7e03e8aef3ec +FAIL + +Count = 7 +Key = 84c14b55b84aa919aba7aa2d8c3be82e +IV = 47d9ac623cb97376d9bedeff +CT = 65fd5f5b0e93da5490ba9eba7aeecc0f504587744ea0e291bb888949f3e1ad200d43565ace2bec7ed62f552b30423eb00909f3 +AAD = +Tag = 44f8a440d717a6d323fa8d1c55c8fd +FAIL + +Count = 8 +Key = 2fa8880e735009a5f8ae85de71aec9f0 +IV = 2a86a222cb7ccffeaee3a36f +CT = 52c1f8f0620e9b4b93f07acd187386b1d42b52b381f37d6e5bc4e89ff26c390ee3d62c4ee65ff941caaa2caff43c7cc917464f +AAD = +Tag = bc13d4d9b4e339ddc5d28b38b3038f +FAIL + +Count = 9 +Key = 35e24bc0d7565d53b3d2cfa1d0f2c5df +IV = 5e449df130dceb8edcaa3b74 +CT = d77469d059664c7f24693e8a7fde3a9c790bf1b320a73770615857fb21b136dd25c8f4e221656cb0f435c43b72841b9067535d +AAD = +Tag = 17115b1a653e1758369f6f0a33e729 +PT = a00d13744a6448ea841a0e9ed90ab9ddbd2ad68674dd169a305b4c5894c270274f1d3fe9fd66a371d49389e3ca2d377490dbb4 + +Count = 10 +Key = 618ea03ea988b0446e82a704058457f7 +IV = 68e8b452a70c200c641ec089 +CT = 6328a90bdb8ed65d0f9797e7d4207e337701d165cbca2356dc2f682cbaf6f2c58126a42671b02cbfa3740c8519b74f8899487d +AAD = +Tag = 39d98262a008893b9ff72f018e0dde +PT = 9b60e541718ab3bf55352875c0beaece65b0910d877324c2549dbcd6c5ac9e6c5d6d0582794a7ac6210bb9f8a38265f7a471fe + +Count = 11 +Key = be56512e90d58555c8ec4930128cb837 +IV = 28e2345e1dd02474ea9741b6 +CT = fbfb4b81d586b90bed86902e637508af930f87c0fbb953d2f0099f4198a5ed52d0b6784d011c7e793a5c51631e53c98a103929 +AAD = +Tag = 9666c2b699904706ba5102d7401ebb +PT = c978c55123cb8c79155d82e00a428cb40055d79a086b6e43a7db8985789402127c73662c6d5a26b5c2a16c9a33734cb45d6873 + +Count = 12 +Key = 88407b26b54432c2b7ecc4ed230cfbbd +IV = 0cfa610c5f8444e7b6791c85 +CT = a633163f51062d87322cc0a6aed80b1ffd743fa9e72d64ae4398fbb1021a1bbb644ab16fda933820bda6ea95b30c7afd0383f8 +AAD = +Tag = 593a32704fc011b9b1a1b1ee5083ac +PT = b820d663623b5b40808f163a3ffe82f11411d4f643223c64c45f1a9714e1684281406104416bd3149f951300323dac5b4efb3f + +Count = 13 +Key = 5f2a0bf01e545cfd99cbab8e0c0b4b64 +IV = a9b6a6531714bd5d41dd4413 +CT = 69fefa47072e28edec34cf3a95efee1c48bbd274eb7071c7705a616134747df1b50a987e353b34061c3569408965d478da6839 +AAD = +Tag = 2e2db013d53e648775230a88f5bc26 +FAIL + +Count = 14 +Key = 8a90fa9a4dc747c0956845edaa5da68d +IV = bdc412bdb51f8071611a9bc3 +CT = f317c528ea05b6e303c9711969dc739280ec685323fa1e66f6990eda492429507f53c05f3bd84cb34ac73221a7a65746aa688f +AAD = +Tag = 6a32f3598dbf51d23daea60d70bc3c +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = d894761c669cbcf8c1e01fa848c968a1 +IV = 01103b8c9d79443242b60ef5 +CT = 5dd65e9bdcf840b893b7d8f364fc91b5a598da3e40883d8227ddacc3e203838fe65673ed5479de691d5782f4f198961a889f72 +AAD = +Tag = 0d7e3e669075e0e984f9eb11a68f +PT = e47c2b1248dbc632229bfed1f50b7d4b7ebbeabd21be36ab0252738eb0cb6820c9c8e33b09d03798d61d90f13ab96ead54fcee + +Count = 1 +Key = d0135f5c584798781df832539ff520ff +IV = 8ebf33c1e01951a2759ae8d7 +CT = b7de84d74bc80f2aa127acaa7cc70a209552cc27492d8ef459bafa2083a9e21601d0e1bd0460ce8c0f4c2d5ed415efb372617f +AAD = +Tag = dc4ff64a6390046ff6b25ebe6760 +PT = 1d522214aba05f59452d529192e223f8d3cb568f32c0a1edcb07b27fb54ca05bf5afa20acac1fa9137a4b81c307b08cedc77d8 + +Count = 2 +Key = 8541c00357a005673049124e55afec1b +IV = ec303eb69a304ee9845c3c8f +CT = 66e910d7525281ce006dc680d06ac5fc3025c8e6a4bf48530933f5742a6fa6091935212346b3cd6003a73f0fd90b144f4f4e13 +AAD = +Tag = 4debf6380285f18c64e081883a96 +FAIL + +Count = 3 +Key = 98063cc5dc882c535218dd6a25913aa0 +IV = a12d4111ae1f2687df7240db +CT = 481ab3453688e8c99f291b2c26936cff9b162f3f393ca1c4171bfc08d73d8c574f693f776593a992dde32f14ac7de90d19973d +AAD = +Tag = 96d21c0bd8e1ddc3a65b0c6f9521 +FAIL + +Count = 4 +Key = 4b39f477bcb905c688ee313d4df7f2db +IV = c1835c101e50f42f8aa17131 +CT = b7bc0704e99703431215404b7e8bd7f740df6ea7eb48bc3876705669702fbf9eb52c9ba138fa06a16e6a5363586728fb05dbd8 +AAD = +Tag = aa435bd2c167cf8f1f534a0fb76a +PT = 01bf47d05ba4869fbbda4de71ca8a28ff910f945daf6a2368286a2e7c16f45d438197a9abc4fda65a08da672aa03e62f845deb + +Count = 5 +Key = 58e565e612953ee7b0ae0c2704234fd1 +IV = c1b3dbc23d1982efc06cbd35 +CT = a8bca7e1ced80d4907b127622478da4107b89348b39e4a68b64edd74b4f4b0d5aed443cab33da8e24cd331c2f01cc30fcffec3 +AAD = +Tag = e05d998048bfaf36c9debcfd7321 +PT = f393535bd994b8d187bc36c807883eb5ff7f37c76b3db91d92fa3b9173137eaf7d1db9b8b3012aa3de2dedc1aa85e03f5faa40 + +Count = 6 +Key = 07952a1f569ca2e879501ad681d593d0 +IV = 09d5a2b9328ba96b0bf7c5b4 +CT = dc9ed9d397b322c9bfedbd5bccae563e8f3ec326ad1a8eea9fb0e1cc9d915cb5f8ca16cb5c89ab9236f2b8f8a27af2faa29144 +AAD = +Tag = f4ee4f7b9d3ea03bef2cfe34e17a +PT = 8640dca4433cacbf6ed13763685cc4720cad9bb058980e8e3102cc91a466899f937f2fa6ff539a99dbd6452b9a9fc910c11312 + +Count = 7 +Key = 7ba0b4ac4a6c619f7c2874388c28caf1 +IV = a61c1dd5ddfe51790548301e +CT = 45aa6cbf34facd678069f47c90ce06b05007a6ec75d6eabf5c79819784f4eec8dac10a36933ebec0166c398839bcb0edec8fe0 +AAD = +Tag = e114b27e95d376076fb6e1c350d9 +FAIL + +Count = 8 +Key = d0e0d2e1380b8d94c6a7cf5ed4a970ec +IV = 9c505d68e4dd7206f9913a4a +CT = 1633cb945aa8cb9dedac765336ccb183cd1259983985e256fe91f45e52afb0bacd9a4627fd6e6597d763dafb51e49b95bf799c +AAD = +Tag = cf318b84afdc73cf5d05b3a8c23f +FAIL + +Count = 9 +Key = 9233f0c87a150842570f74e6ff890173 +IV = 585c618c847deba959fea830 +CT = 2fb76db1d108609c578ede8d023e1a854e6618a17186922abc83e9d35c76c606c50b83429876b5a164778aefc800f59544e241 +AAD = +Tag = 3594878c4f1e8438c352925561f3 +PT = 82e892a6d16863e107d6994f8cbafa8e04a045fa63ed7be98f56c9ff37b833aed2a25bdbe2901e7a12b73ea68776b2b209ec36 + +Count = 10 +Key = 6777c2b83bee32531a64c951421decfb +IV = 352b048b18fa72e4441f3a29 +CT = 445a5110bf829a5aeaf9dfafe204f6da57a72fd7c6bd20523f9251d16c16560b00925acfc611b7b313a7882fe1d059fd5058f2 +AAD = +Tag = 36149b8fee59a56ce2bb3ab61bf8 +PT = 5162c8c1507687d048ec47be6c4fab42d2fdf04c844ea54a77bd2988a557f2b7fa44ce6f351727918c6ae8533dd44aea6fde2f + +Count = 11 +Key = 98a68e31e6a29a7a3642f5f2c8c31b26 +IV = baed405974ed043b1cf58066 +CT = 029b5d14134babb52473f8c25f5b30960ffe8a8e72e62dfbe56972a7261542dee041142f72ec12c16a39a2ed28fc1387f7d027 +AAD = +Tag = 6c14429c5283ccd0270b0926199e +PT = ca16cd4c66a83a2b664e63090276c89295ae1de28c0f7829badaca05180c18af814759b277204a4fe6e0448a7161f717f4a540 + +Count = 12 +Key = 076b2395006278a32ad3993092729070 +IV = 41334dbba8c2fee3c53bf4a2 +CT = fcd2429daaadbb228ea0938836f7f20a24abef31324ea9c72acb1afd1a0a85b15bb6259a5fe1484cc04399386110729f2eaa60 +AAD = +Tag = b327f8f1e873faafd4a2181e16e4 +FAIL + +Count = 13 +Key = 38a995596b3cfd30770ede81f6e39044 +IV = 46e8af8636c933d340e96586 +CT = 2b6c2c2b576e684765b839e7445db2a442bbcceaae9bf535a7e47a9d32ba63f64227e9aef5524aba44aa428fa980c1848c1d8e +AAD = +Tag = d3449c573beddf971f360056d15f +FAIL + +Count = 14 +Key = af39894b48c0f64a50fcfef1340a7b4f +IV = 4cb6688a019497d58993b257 +CT = 0ff0c830eb8c852145711bebbdfe28b95483885716631d4df96debceb79fb479ac74ececbe6613fa2bf00f51dc17d49d5c8b15 +AAD = +Tag = 683e3b7e0eebb0110165f623a663 +PT = 47778e43200819ab92670d9d759e9011ea36bbcc6fc1b1844266088658954845d722aeba98a405102ffda671dc3b3412d262b2 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 55e3ed46542addecb971c94709724395 +IV = 0fc7cc6110dd26f043e573d5 +CT = 9c61de01d7fc3468661d8a5d2b31bb03bdeff6f456d9f41bf395fcbf85c6c87cab0cd249e2e683b5fc4c33cfdc0726cb7bc64f +AAD = +Tag = be9a520ef103927a53098361b2 +PT = 33fc07733d7e4e5240862a2008b571122ec2e6859130983e49764c43f804280fbdf5b511f4cdc1249ae287fa41e4f6f6ab4176 + +Count = 1 +Key = 05dd800ab4296982889710174993c1ab +IV = 933dfd40f8515a6a5966502c +CT = e71957f0d2196a93a3dd9c33c38908993ddf0c6de21fdaf3d6aaacd6a5797fef89bbb8d30b29ed3a911322d0930730fe0ea51f +AAD = +Tag = 8cc56d8e0dd0b09846ee33664f +FAIL + +Count = 2 +Key = 7f7ebe37ac07b20b059cde95e74dae2b +IV = a4c285f786454c7374145070 +CT = a608008be2d40969348a50e8c1af03fa316f2de85cd02f0cff7634a2c29843b34b198701b69411d38d35c1d6b0e35a8f01fed9 +AAD = +Tag = 54f0e084391bba19ff4288b14c +FAIL + +Count = 3 +Key = 9a07a522717f99e046e7903e0da97db7 +IV = 3e9bbbb1cb44fc86dbda7d52 +CT = 22291f6fed8ba8a66faf868033dffb648f1c40826b65cab6883781950c66cb9249261e9265e1b16d1f293df32644ea2ac44092 +AAD = +Tag = 4f8ecdd18353f4279be2b55729 +PT = f72fb008ff14b26f9cc0bdbf727f09a6dc666538c4485f030ed405712d094262834232eef9b5153b9826c75798696e5fd4a182 + +Count = 4 +Key = ed6c38e8b54f5212152ced5b87257479 +IV = d05cc9d5167924e956e227bb +CT = 9d5099c27a8b0ff669f126d8f5a735245d02f1b5aab4071b936f78f7a09d8683b16ce214f49172bb7f46eae1194b97dd85954c +AAD = +Tag = b08580af3f8fb3123170ebcc6e +FAIL + +Count = 5 +Key = a0e16986bdad2d24af57066ea533b748 +IV = f3153c3077af1167ea21fbdd +CT = b344548dd0247a4bca996e3539065af3b9dce40b60c52ca1cb336cb1a3c4b1ac432f17c5ace79ae76b410771e9542ebdff08a1 +AAD = +Tag = 16814aa965ba07b82c9e089fc8 +FAIL + +Count = 6 +Key = ea2d4446df92039f2a889a452f67915a +IV = f52b2da64bd5a674201dfff4 +CT = bf46b7eb6246ac72a38a1da5c22c1890817302f21fd2a54526b9ae83ce881def4bd2b0ba101cc6e56f1eb927ab5fa6728e61a2 +AAD = +Tag = cfb494c1f4a84faab557374443 +FAIL + +Count = 7 +Key = 170876e8281e6d60e7b631b1caa74b99 +IV = c8f9d7b803e222057ede9024 +CT = 4a4bde869614e61b57b19050df207add80bf3e3d211e8896c7210d19a3778472d1bbf24c8f7c537bcf2ea52b336019316c3fad +AAD = +Tag = dc171de04ef66686672429a86f +FAIL + +Count = 8 +Key = 200e91be0490513346ac451b514efce7 +IV = 8c451a1dd0ff2eef5cad3a0b +CT = d5a1c43215993a0d89d80b3077ac51470e56c6d74861e77593cedf1b317fd085feb817ce81993b9c9200e76289afd60be29f70 +AAD = +Tag = 6bc9961a45fbb80fed60719ea8 +FAIL + +Count = 9 +Key = 0ab827cbd1fa76b942549cf1672d4e5b +IV = 503899ed3e6024f4a7427af8 +CT = 5064cc92fadb7d8bd45927bd14f458667fd9fb55953544aaf8a48fc042204b012b0bdc4b8ced5b303d43f5609650afc0f93435 +AAD = +Tag = f83693c432aa3ac2ac9842f406 +PT = 6a2fec4396efde4b7534d0e8b24a594336304de1041aae3729f9d930f8ba0997f9b85a0fae0cfc8bb981994b9f77c6a3c6b0b9 + +Count = 10 +Key = 0a087e8d08c0889b6c8bb18df1711aec +IV = d904c3edc3977abad0655e3c +CT = 1c866ea483f934c10a73c55cafd7da1f3f72f1b0ab90b17aee064552e1d2d16ee6ec26cfbe8bbdedf60ca44086b1d039d56615 +AAD = +Tag = e6d86f70f82d7e5e1e3d27fd94 +FAIL + +Count = 11 +Key = bbbb347c1930570af0152e211ec7d302 +IV = 75487cdb2169fcfc3acf4b46 +CT = 6315fce94e649f581df39b0ad4355da267acc11dbb0cf011d155d6e8b73966e09a93c5a96d9fb0ed890978cd54fe37bed4b6df +AAD = +Tag = 7bfbcea9af69ce2eff3d24ee7a +FAIL + +Count = 12 +Key = 66534b20e64613105f0f59ce4eb2953a +IV = b1d3181b31816b5af1d65391 +CT = febbabf39812676a36b00b16a9017713c94cc9f12d7c9ed2f4213ae54d2027844355ad59e1887ee58975838b5d78869512fef9 +AAD = +Tag = 44e88acde5b1a9577c58d97c4c +FAIL + +Count = 13 +Key = f695a4b01db74d7b7500ced681e14d34 +IV = d3c11422a56bdc90f29b1f7c +CT = 4f5488546baf8cfae28fc3fb8054c491c692fa4557256feccbc5a790fc43c56e8c9ba238d4e8506c317f1646bf125cb8ee1e00 +AAD = +Tag = c857bf161b873a0b286d3a9b39 +PT = 0d45741c8bdb39742659d373a914e771812d839814e0e3c1ab7189a42da880e0d2eb53f7dba34922cb496cd98273b35ae30b9d + +Count = 14 +Key = c7aef9f51638c7f2865172f2b8b36a1d +IV = a156b00e5f407bf9ea9da7ca +CT = ead0a34263f777f6aaf003bcc1c6b2222c56d1a65ab37a0d9235d9811b5d6ea2fcbc0db7c0dd6013325107d9466d0ed4f3ea21 +AAD = +Tag = 627e17f6a00f8c88b31401cc51 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 6e32be23764748c31d22c03ef4e83636 +IV = db0182c451ce6aa166a58cdb +CT = ed0aba935e577300cfa7c3ba0b63542a1b3da7360cd1dee2cb3ded6524a1d879485d828a88eaf79db824489e796c8c4f9c12d2 +AAD = +Tag = 103aad7626a2cb3ac74a80b0 +PT = 39851eab7ad6d708459bf0a1934f647b1fc3e1ee087316c51c3a8b808a95d7520104b2e842b85e197023109542ebdb8209e0ef + +Count = 1 +Key = 1023ab3b22d4dae2da53186595ab7faa +IV = 210d0bf6d788ef1e39a5ab48 +CT = 491b76db8ac7da576f46d8ae749c0a4a5ecfda5e491b98e900f2de624c1cbf6510051731af973cabcab477af2cb63dd131139c +AAD = +Tag = 15700bb55610cd6ec67ce3ee +PT = c050fa3ef997d89ae4db7c4432c8d4bcab1d46e614fb708ed876bd11afd89e7d975d9a5e5647286b56065dc4d508d003604565 + +Count = 2 +Key = 70b4d6b59b8086d059ac8ea23a0c40e7 +IV = 2a399cb9b758bcf5b040d93d +CT = b22798c10321c9502bc043cc5ef94ea727c17f7de9437f4d004347279eac0551dc2aefe6ffc4991413af2e6ae41ce08e9e5e3d +AAD = +Tag = e8fca4d6d054d01d339d1013 +FAIL + +Count = 3 +Key = d09e8e6ef241027540ba3aff3fff1374 +IV = 2b49d6a998666ba67b1e94f1 +CT = 195f014d4cc79d5fa2d3559a962a370ebadaff817f61f0913738620d6e51da55bc43500e93096f90ea1f41ad7441fc55ee23db +AAD = +Tag = 81f0df236f3d7cf6ee7c171d +PT = ca2be2f735957f75d1c208a134b2e55ad9f64ae2d2d2b9cb689f32f59e83a114f9d80a6e93f112b6fa3cfc8652e49ece643edf + +Count = 4 +Key = 34616e446d0d3480eae55f0667888dac +IV = f134135f0759c3de08c67f1f +CT = 30fca4c55a6ea6652617b7617b6d7d0395f67f0af87d0f23eb6b84cc5082356f2b5c9caf5800fd52ae37879dac4e3980951cfa +AAD = +Tag = 3dc9367e041431e38a82f70e +FAIL + +Count = 5 +Key = 0b9c276bf8410a24757a818ebbc9831a +IV = c1536ebeee9dbda3b8ae691c +CT = fa44354bdab6881f0efa7d3f41dc542ff97bd3b36c557a98f8bcb73a8bdb32a9e120accac7c40072b8ba3ee66ed91416e43bf8 +AAD = +Tag = 7cfb676d0ed9a62ab57827b3 +PT = 81077387922901afcb21012a0d488ea892b9d6c7061b7342853f18230cf805dc4f8c024b2a09622480fd9a7923757bcc8e7048 + +Count = 6 +Key = 83b912cdd68e6681007ff042a7133675 +IV = 544190c64a3a4f45ca2dfbbd +CT = a81de250e0b841688f950cd0c1455857ae91bfc74975e874b4b8be6df5285a5901de29768821b0b9241d507333f236d93e822a +AAD = +Tag = 78512de6484313f4cddd4763 +PT = 2a70b0a28d1a0e21c128ba8b386cded9618297705fb5374fb93d1c6783d58e6eae83f82505d7a64b76065de6f93d0cc563248d + +Count = 7 +Key = 136cb2a7afab942046186cb76893152d +IV = 36a2d85b49302ad1fe1beedf +CT = 205fd32aa53d90f21a40a27851a866516dd08126ae1b57cb24d728ef98d6a719d4ccaeafa0ae132dee5d3afdbdf6a91e254aa8 +AAD = +Tag = b471052caa50a8865b4d24a9 +PT = a34641526151d4404dcbefb547007ef66a6133c5146e9d38b10cc54875869cc4793ab8689f1028607cda2044f29aec44370d7a + +Count = 8 +Key = 310b512b8c914fee3e4f43d55390e7d5 +IV = 1b16712ca264f37f57053d68 +CT = 3ff8a0a5c7cd952044250cda0482c4af46cba9837a27802677b870f73324177d79aeceb49e072473287ff3361aa89d178dcec4 +AAD = +Tag = 5eec1c7cb370ca0417616b7c +FAIL + +Count = 9 +Key = 1659915d19b507d80e5e524fdd458b1d +IV = 2d8a35224490f4ce3bf5134b +CT = 2332314670e9f8bfb8ab6b39502d53089ac53a901bc607e84063f4fc72cabe81b65147f6214b69a28f9f18ac8e2207d6c5f85f +AAD = +Tag = 77904249000126a72e50d8e9 +PT = 85f25ebfbe799de75096aa7b5589997a7da7a4e23543d09a603b2348e98d405c4050af08c93413787129d3b8e869cfce59edd2 + +Count = 10 +Key = e9583d648c7ef6665afa482695ba3a9a +IV = 42badd018744c039f48368ad +CT = 3a688267c762e1f4bb42091e2a30ac1ff81030e7cc1d5e14a86466efad13305944d8191b1eda1c11bf9651f222b2c89a2e7a27 +AAD = +Tag = e34c849f0e6e7ecb5f6a5305 +PT = b55ba3f84fcc53bb72966eb6102e66478f226cdf034725c8cd883519267a113b7e3357c33384252a54667770d6c62a310f2278 + +Count = 11 +Key = f7501a539a082a83a15f84dbfb4c34da +IV = 35ecbf78d2075fbef2a98866 +CT = 935e1cdf7930c6da78fca0f493aa0a5e7cca7eb07a7845f48c0cd01f1edffe46da3295806d15b25e3bbdc39c8a2ec2c4890afd +AAD = +Tag = 50e3b5344b1a134837a47e44 +FAIL + +Count = 12 +Key = 382a9822778692db71725734626a1096 +IV = a4c34d4148a5056d1349cb6b +CT = cebf28f611be4a6c57d149266f5c05ff8e6453a83977dd3142e349268ec16748cc8ac41a67e35ab98bdff8e92a4e6506ebe9cc +AAD = +Tag = d97410730a5441b753e5a56e +FAIL + +Count = 13 +Key = 21a3de8f34bc97f0a3d5364e83012c3e +IV = edd80a0a73ff05e070ff52c5 +CT = d25162a7d46206164ab4317de5135862dd0f872beae0ace4d163e788c6d5b740f1a04c89a41cbff4e1ca0ee20d00cb78218b82 +AAD = +Tag = 02aa56b7b352523d3ed60c5e +PT = cf82040e87763e9b32b2eeb04abf9ef4b53d0ebd9db4174f9f79f1f84960e7c9d18160592fe8f8c2270627f7a03adf2e0bcf12 + +Count = 14 +Key = 2513dc080e17ca238007abfdfcc3df99 +IV = e1896434ec6d1aae3072ac5b +CT = 1d1d8e97f9af7d4604e83a836903cb4ad3452de43566d1a0f52db3c8511e5dd3b04c37c16df20ecc38ffdf3c23adf1a30220ae +AAD = +Tag = 14e1620d82f9c3f84d997966 +PT = f89256839b19d04a909ece3d7523527bbbaf8afa7bb03e7888e1acb7e11b900ed1ad780cca2cd468964148e929f437fe36cd54 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = d69a80f5336c6a4dd6c8394a627ebdc2 +IV = f8d78a6909e19dc6d7b12e2e +CT = def13fb18825c1679a7d9a84ddb86f82a6eb11fa30abe9a403b9e4fa2892d2642f0e4819ab61f25bd31d94a1eaa08dc7971fa0 +AAD = +Tag = 9cfa408fb88436e9 +PT = 2ec464c97566a5324cafb7ac4d3bbe0e91f9191ae797713c868c56a36f464e091a68658ac168d1841137b1cb688c4c630d59dc + +Count = 1 +Key = 263a820c71e377ce54d099ab5329238d +IV = 6fd64a576b4654eba7a22c6b +CT = 97aab4ea096c8d4215794d26e832acfef2e0787e92b1effcf48651c81f477ca10198bee06e6fcb3fbfc7197877c87abc2c2c38 +AAD = +Tag = 4910fb02f7e49f41 +FAIL + +Count = 2 +Key = 3d70295eb184ca592c3c5bb8ffdb1a35 +IV = e2c622900e31fb70e0f20526 +CT = a7e2a169153266dffb13625af7bf691f10d75f699cced618893628ead4bf032bfed92d90580687e54c76e9216422309ef6010c +AAD = +Tag = 3fb5af0ba123ef8d +PT = c3d56e64c7dc300ba6dd8c3e26d5d15bc6e6b5a9075b1eb1b22e227419def8f0399de0a66ab768c1f48bda9c7db284ae80d2f0 + +Count = 3 +Key = ef9f5a8cca0fb563ecbd24c45133862d +IV = bf7fc4fd91f352009f44ddf6 +CT = aa020d702de3717645b3c1f8d9e8721b1b4736aef800cab939e020937ad42d10f97d170dcce4a4436cbd316042a8a75e53a639 +AAD = +Tag = cc4568cc66adeb59 +PT = 907cf68a2297ce6166017fa544a75d74e828ad77ef42d83e4a515318b11afc8a4ed9bc5aecca46891d78fcc1804178b85eed8c + +Count = 4 +Key = 656cbf7b1ad833549ac521a92f19dc09 +IV = 6572805b6811600ae78dc172 +CT = a8bcae177b6653ca2950b335ead7b6a589b3379806bef53f4326505f06330d33137969917027cee97b47b21b5feba4a7b4f3a4 +AAD = +Tag = 3a5d01aeb88eb920 +FAIL + +Count = 5 +Key = 01711b95425053e96a8a9cc4f1c9857a +IV = af921f0c6a3b329ffd84cd04 +CT = 162b38ff1a745737f385c20b9bd152470cc8c48e841a2760fe7bd38ea6c8986cde44a5cfb0b65fd7fb87cc0dcb69a84b7072e5 +AAD = +Tag = 8616f3f64e9a82da +FAIL + +Count = 6 +Key = 888349e18b773abc35de99ad525503fb +IV = dbdf365b3b0915c3ff57715d +CT = 531f108cd247289cf2e3f8f0c05ba5013a7e26981b47c9a0a3323dfcc2e97ee97d95697059ccaed8766e0d6425a5d160bb3d00 +AAD = +Tag = c7717e85c4d17bc0 +PT = 507db4db8b3a7550cf34429b2d69c886db0c00075458f30587a043d801234048467f2b3c445696547c27f4e2d2d972c3734a17 + +Count = 7 +Key = 9c8517890121567a47202cb02294e71d +IV = 55bd0d54ca515dfc394d00a8 +CT = 164449c58e739b4779703684527369ca25cf756e8a97cf6dd27dbb1824e02108ae7092a17d66d111a6aeabc7bd65dc228177c7 +AAD = +Tag = 491ff96ec3d354f1 +PT = 253f64737916b3f25b32a653b1309f39ecd810e1d3d0673e01f54a50e1d9cf0612196566afeb7ef9025d36ec667276a0a2f3bc + +Count = 8 +Key = 3c67391d2b992a053863f629178fb23a +IV = e7feeb2ddc29d2744df45c4f +CT = ce2ad23f8f21d80b80019a5bd638cd61d62f6e79e7237d19c09d6a1e7a36a65c35a58d0a53544bd86bdb2b55c69e6f3bb55253 +AAD = +Tag = 9cce8366cba9eef0 +FAIL + +Count = 9 +Key = 0887dbe69bc1d96a0b43c272f46e33a6 +IV = e9ca9d2f4dce0348c7d29a28 +CT = df88a3a88826c3bc3fe72428b08017d6d717a9600ac1785eb73b9fe0e4383f289319b462b8f2b6b3fe66226dbadd6edfc8c07c +AAD = +Tag = 4b77c1fb93c97b1b +FAIL + +Count = 10 +Key = 8049a4176ed853a81a23abc1e22829ed +IV = 1b44666bf71ba38e03fb9c95 +CT = 7e262a50680ca7cf1c9b2d865ed05f53acb0bde43dfaf612c580f9d3ea1fd11d45da9ed265b166e70c790fe2dd04cc1aeb3850 +AAD = +Tag = 71ec9e4190d9ec46 +FAIL + +Count = 11 +Key = ef78e60d9af059e6c24fde0fee821e53 +IV = 1ccdb47b1d08063b48c89198 +CT = f7f84207f58e3d647dcbe11d83be5c21f91180a1a1d0cd7d55c8f92abf00e40344aad7cb9bdfce97ea244fe7a844f304380689 +AAD = +Tag = 02053a086e453679 +PT = b536776c5e8074dac7efcd4b002f91f9b200ff412558dc653bff6c2fed8759e13202e060dd68fbfeda841e2aada5a52489fa15 + +Count = 12 +Key = a12be29c7c45bf4de2ad01b81a1e7912 +IV = c47cc099c53bfa735dd76303 +CT = 6828e99baad1c1075d031369c73ab269051fb66f6d27ffd8f6a3f1f5002aec0e3db449563d1f7a9f66c85638696511955c7897 +AAD = +Tag = 2f9bc01659034841 +FAIL + +Count = 13 +Key = 78a7943a7c35c7708b84d8f9837074c8 +IV = 8d351eac22c1c0279039d94e +CT = 984a8783cf30317c38b7a5fec9efd72b9e90f079df0ed5754d7473c4ed70acd018bf5fe75176df94be52382a9cf5707fe72621 +AAD = +Tag = 0e2cb8ed339d142a +FAIL + +Count = 14 +Key = 467e5e1eba1575281ea52bb02e537696 +IV = d7315286d5aa753528de1702 +CT = f00a8d626728db504cc88c33bbd1ed20f1236a1795f96a25b6a9acb190edeb60b23be00bc57884199d6a94cc43a9b80f8e84a8 +AAD = +Tag = 0c06bf0085886b7a +PT = e5da6e9fd0eca71d9f9d6b1921a97d165af17bccc7ad61b029faed5e946f226e81987a07615dac63dca559a6d09c3f72cee61c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 156da5070bbe8a5277b8bee3ec9116a2 +IV = 1da3771fc79b6062f2696854 +CT = 448364b4b881fedb6260a1a9e1914011e0616f816e8ecff0c5e1e4acbe32ef1a7d2475038b02ec52f14158109fad4c3b5dbfd8 +AAD = +Tag = f73b0672 +FAIL + +Count = 1 +Key = a46fa5599a4a97f23aae8167b62b0bc2 +IV = 9f4867af7b397a2ffecfe8c8 +CT = a7d5aedb78e4c18e47c6589c906b261c0ba82065ce97733e03d711efc312884536821e9f355e096a7d370008c0103ffad39bf1 +AAD = +Tag = 498daf78 +PT = 5fb20c357c3007be3dd1eca0ffd7a8a62bb12b88ba1aebb70f161064063ee5c8055ac7a784ac3452d5586f6e74d0911cfe6049 + +Count = 2 +Key = 320e773fc0879bdac0dd028da35a3fd6 +IV = 8f347653ebf1cf1b3e66aa2c +CT = a53fb26c72c166743857f544a376da3dcdcb835c4d9e3355dee30cee2f9e88e08d49dcc1ab028dbb670ee083d03a04b638ee1f +AAD = +Tag = 30df600c +FAIL + +Count = 3 +Key = 158a2ab60bf06a1cb45d20b973330a41 +IV = 54522c526f4dffec6ac2b633 +CT = 74d1a14afe6cff926b6857c88ad8dfcf48955b87de2b8365832c85c1de688501495fa933598cad92aec596c9f68fc0e4b2a12b +AAD = +Tag = 7c38f6fd +FAIL + +Count = 4 +Key = 00e3a122ebe2708c89347d65c710349a +IV = bd1f9138cd95373fa93cb2f2 +CT = 991b738dda2b3040287575dfffcc949cd38359305fd4aa636624db83326c56c5265734ff4528f8f02761509219614a15e6806e +AAD = +Tag = 377cbd28 +FAIL + +Count = 5 +Key = 9c2b7800d46cc772bea2b39d53f2a6d8 +IV = a42bace6d4c1917812c31e54 +CT = 9b396bd6531df39eecb6f1f3d69eb40bcb05a29bc5648972a156169d77ba6e95c3daff283ccb176969264bc9963ff9dc80650f +AAD = +Tag = b456d36d +FAIL + +Count = 6 +Key = 6488e3fca54071eb0d22f3daf854c649 +IV = b193208171dab20d17bf5703 +CT = 2fd9485f4a316f8ebd918ebf2cabaa5ae1142c90e90d48506067b345f9001af9242eb9b58f00d55c424aa078b4aa047d6ec929 +AAD = +Tag = a291675c +PT = 34d568c5bef6bd3b9249ece528333e50637417a4ccad886174e48ddb628daec743e9ada3cc576488e315aac345b5983c92863b + +Count = 7 +Key = 9ff052ab4297f6b4d481f31a897f182e +IV = f5d9bfcabddcdb3545e5bca4 +CT = 4e665566117662813e565ad1d7f7b9cd09e7e75ec2582722023facc8a7d88a147bd51d1390f85de9283cde21640a4845232dcc +AAD = +Tag = e3f1918b +PT = 25eb38ad57aa04472b3ef3cf265a89d1b902513907775063eee5fb4d1067863259776eb7164931eeda40cf4308ff95265003ba + +Count = 8 +Key = e0c6b30723275f0bcafdc0b33655a4f7 +IV = 0f1a1c65310000ba62ae567c +CT = f4763c68a17c21c077267a4bdc963c77df856e099fc8f4e6b04f824388c2894ff16cc1ac06c18f89426608c64892fa3374b350 +AAD = +Tag = 6ed4bc86 +FAIL + +Count = 9 +Key = 545bc6809bd71631db150c59189ffc13 +IV = fc84c4d1319d29490e31a50c +CT = 8f3fd0056326829d0e38ab8ec7d8d6d1b3a8ffd6fe4ff3cb6d8a1aa873752b96c161d7b206c756a273f2b5719eff976a5ea0a0 +AAD = +Tag = f8b2d1dc +PT = 747f56cd5884600dfd377ba55b7447b682d20947df5304db71f9c311596d954e0f6af8260bf5e384982179bfef8b394b67561e + +Count = 10 +Key = 6420d3ce08acac3ab775a99aa6b7314b +IV = c9fb55590f143ae285bda8a1 +CT = 2164f842f0cbe7c021b9c2c5f05516e5df9a1f204976fafe5a636b41110314817bfd9e7df85af025c1196326d644234c75a3bb +AAD = +Tag = d21ff8c0 +FAIL + +Count = 11 +Key = 1cfacf4fd30cab7a8e546b673dddca61 +IV = d10d3544bc44bd7bf213d1f3 +CT = df9c6c3173d3a84b35754b952adfdf0a7d4fd35b341da80ffd8e6b5443d2832ebbf219e85a3e46a7052e3a961f26f90800475a +AAD = +Tag = 313bb9d3 +FAIL + +Count = 12 +Key = 8100ff65b0825cca858c548523bef5ac +IV = 1844e5744459c7b4ae63af4c +CT = 8a7c06acd388048b4aba90026bc8dd2e969dc14c7175f831fd83a3936a921fb790a94cfc71cd31bc3042900ea4497ee47dbcc1 +AAD = +Tag = 9b7d3b9b +PT = 0b33d451d5e107ee938eebd1dfa4c266c1c8acf80293d4e434b4322348b0304fc6b036db7364b29a7a5268346362f95c67f9fe + +Count = 13 +Key = bd4fa1b868beb1288658055a4a6d9c70 +IV = c6d5af7292dcbe70e7070406 +CT = d57f8059e79da1225761073ee3e3b59cca3ef0abdfd3f2b3b4be61086a53c7a2f18cbc6150d11004b69d0aa45d7d632755fe1e +AAD = +Tag = 69efc0f5 +PT = 35cbabd54d46267c958e676b5c1feab0232db410e2d7bcb0ecbab754f01ebfe4e66102887011e8a11b6bd2e03b830ee33b1bdd + +Count = 14 +Key = 76b9c7a41b7a37c1192fc1f200124a1d +IV = 3f70360f2c083047b42f64c8 +CT = 13aeac5df15e0002ac21b1228c8f6c969d8b6e446734d4f2abca5c8c3fc167aedd8d46247c59b6cf82b60e9578a8b381d918cf +AAD = +Tag = b5954fb7 +PT = 4d24b1ea3679a4743d56fbbcd02cb654d2ad7ef5c52547edf066dada28f4c141e0c355ba6834735ba1713c8fbf52c0d8643324 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = bc22f3f05cc40db9311e4192966fee92 +IV = 134988e662343c06d3ab83db +CT = 4c0168ab95d3a10ef25e5924108389365c67d97778995892d9fd46897384af61fc559212b3267e90fe4df7bfd1fbed46f4b9ee +AAD = 10087e6ed81049b509c31d12fee88c64 +Tag = 771357958a316f166bd0dacc98ea801a +PT = 337c1bc992386cf0f957617fe4d5ec1218ae1cc40369305518eb177e9b15c1646b142ff71237efaa58790080cd82e8848b295c + +Count = 1 +Key = 4384629e9b1686927e8508243be1d01a +IV = 84ff7f4feddde7d89d370e7d +CT = 8f385490e9622a6c1009900052385c23442890d2af667b210d012781e62d0de311f2149cc377a490afcc686cd92e7c35dc7e5c +AAD = a51cebf08d0f293e3a83bea5a9f1cc6d +Tag = 00097982ccc985671477cb1f1a250bd4 +FAIL + +Count = 2 +Key = aa1b3a94882b9b9dde8c8099a7af1830 +IV = d56abb827acd6388f48f7096 +CT = d145a79b9a97ecf2907ab0372c6eed310cf32e7a269374fba920c99eded54bc03c873fc0acdb895078bb8bb336fcd2662e071f +AAD = 503eb74ed7b0ed14f221d55638fa4fca +Tag = e0861f6a706b56da1b1fa8f04a14eebb +PT = 8b9700bbfec195f96f28093002217703970126e4b209e585719c066e5c7eb8c48e7e8e6b3329cf5980eeca49f80bf121de253f + +Count = 3 +Key = 5a85c2df1f3c0baeba09b8f532cfc8bc +IV = 9e8dfe8d34ef979508c00cda +CT = 9887db619566da9fbfa073a667168a85fcb94700ab267d30e3ddac0f8d1ac0f6f7d63ac02d2c28668f933ba080da521032ebd8 +AAD = 27eafefcad6eb8a410235ec3969ed11d +Tag = c84326d0247aa00ff3ba886da1f2c966 +PT = 63ef1aebf25de0e7e35a602e6d86c95dc9ff46ee0223b09b5332cb28a9b0d94486394cd442c93cd854ac54208fe1e1c64257b0 + +Count = 4 +Key = 9cb63a6932a7e7b210b82e854ed2389b +IV = 7d3498cd4af4387cf747dd50 +CT = d73bfce17382edd23be968d9da3bc772c59378d842183f4d11c028abfc9eca44a416a96a2058152e0ea83f42bd48ee79ed3acb +AAD = 188164c9a24f8965720392177138f354 +Tag = 5ee3c2452ccd78f780b8ffd0329f8df7 +FAIL + +Count = 5 +Key = 8b87af542edb66d468e9eb02f60685b0 +IV = fa7f13984e724612b22f4e5e +CT = 969cd236712e4a06be8c1f1a211f2c8a0a94d8b06bb05c72fbae4ac86ae2afbcb63580bf7261b4fdc829faf97652dbcdf54b3a +AAD = 7e734ddab198244376534bfe5024437f +Tag = 4305efed9cc20237daa32dfb47b1c276 +PT = 1b3898e927cc948ccb340e4ba46ea23095014e055256319ef4d114aa4ae67c520c9da07a0e2152b180505862d4c04eaa67887a + +Count = 6 +Key = 9f49f4aedf07cd2060cf4d12a7f40e34 +IV = a52983ca2faf10514d1369e1 +CT = 8df0217ef038eb6c03f3500833c3ac218dbbfe29100b9f48554333dee461b867dafc16089e6ef0c6c4c8684d307a54f0ccedc5 +AAD = 3ae716e481e36426214ad512fd607121 +Tag = 5bf48a795284ba53f0834940bc155e32 +PT = fecdaeac7f30ec39a6732a7829b7905141aa50f9ec65dd0efc5acea9349f585d61afaa4c0cb55a60e9b12a8a1fad98ea3e6bda + +Count = 7 +Key = c3a4add425cfc13062634ec4926059f0 +IV = 9e79f25c956adfeff8f71ba9 +CT = fc4a252f4179ddabf4c1cf5837526fec3cfeb3134e6d2cd70f1cf5eaf3beaf8ecb364e4256d529b930f524cd264adff3bb0211 +AAD = e36a19bea0f26f7a7117309d48a47cfa +Tag = dcb137bd2c88b60a7ca442ccd042061d +PT = 3c0d5f84159bf11e520b2d1405c5c26fe94a8482da1b420cf6d8df5a536dff7c39cf7bbeffdf60365bf9a1b0bdf35d299d9043 + +Count = 8 +Key = bf156813577aaed10f105662a2564005 +IV = 2dae894ae0848438f6e7f589 +CT = fedfec37d41795795c890472db7aa9cc9b59c5c86d6331466e5e5ac023a6f1e2855777f905794138f9b19a20dd4f9339b3c5c5 +AAD = 8c7ee403c77c861e6b75ad65f70d6cf5 +Tag = 0b50277dd6cb68a185b76d1dc3c0c3ae +PT = 9bee8e3b0daae03815fee8f548d06725261d1c213e7df2b87211655d60f7a122aa094967d54fc02cb2a51f156fba9294876c56 + +Count = 9 +Key = 1cee4f13145b8ee79c33755c4f60c299 +IV = 90115ee9a8c2fea38fd2b2c0 +CT = 7ccfde4eab711372bb28f5474797afc3066cb2befb84e66520526e8142316b986bba83fd928684c3131a866dc95c977f908dcc +AAD = b386ba008df273370459643b05e384f8 +Tag = c64979df36723089cb13bcfb2667c16b +FAIL + +Count = 10 +Key = 6b6b8a1fda71d168071213ed5f16e3a8 +IV = cd5cdb482d8d2a850ac528b7 +CT = cfb2c9aaabf3bcb373104255c6ba7c98bb88e7c446dc5b5caa4118c89c1bcacf1bfc7632d3a59ec954ad1582dc50970a57ea37 +AAD = 6ecfc978c3cf0dc721b868af6dd36588 +Tag = 87d16126f3b440d792cd4e69070e218a +FAIL + +Count = 11 +Key = aeb9f141348237ab152e0fee7765be89 +IV = 645cba3940f7d8e94d6ab775 +CT = 1db852ce89b10b3ee6dee42b492960be1838ae08e84dc00a70e217a9e83a436c849e7921e76af967e3574d65a915c854fb10ff +AAD = d3f8f031c70d75e26eb56c3fad82d49d +Tag = 69adcb30c4e12ff4eaf6e8e5ee8123c4 +FAIL + +Count = 12 +Key = 65dbce79d38150831274a718933b1207 +IV = f4f72eb6f3195327089dc7bd +CT = 70f31d645fc671cb4b79ab6ecf265f4ee9cba5febd2f73ceb44a7fe2f028efc8ee30b9eedac5bb7ccc11906e111029ddb3c545 +AAD = 6adcab836f1ef8ba1a9a089c5a6f5da3 +Tag = aec413c1e013af99cf8189da009adf63 +FAIL + +Count = 13 +Key = d6eccbc171f2b412acaed30238715f60 +IV = 90d0754b0ddf108afe8d199a +CT = 7c89057bf0c94527b3a63be13a963f76022896f0c98fa364934f71e997dddc09e778b71d009d12df611df0a9ef3cfb944fb86b +AAD = 217f2aedd907a8f86cbcce8d16a13744 +Tag = 9e045825b670b964a263c73c9a636427 +PT = 9da6e3f91d5f0ed62e1487bf9bf62ea8dbcfc56827731450a43f347882daa97cfb9ffdc79500bcf1601b397da076218b36cc9f + +Count = 14 +Key = 89b512544b5f39266fbbc0a770770d7a +IV = 97748e40699bf90abc46276e +CT = e0816c13ef928eb00f07444864fc7279b617543282a7e7c8873fdd352411afe457fbb4ec41e68685742948dda2cd8e09104110 +AAD = 1192973746283ab4657e19cd63284dcd +Tag = 136835fd131d43836ff2de3efabef747 +PT = 213f23341507ed5a2c93c1ef2007bee82786ab109f8d04e6cfeaade1bd895499f0661ae095132037200278a9bc3460a0716cff + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = d30b45660d1472909db67a927ebd02cc +IV = b9c12a22008701c49d652b9c +CT = e3a5dff016ba5457cdb2989fd2c3ae3c1e0391a4e8a8865d55b9a32dc208f957b0898e7e0ad31779c96e3a49a95b7112c81e40 +AAD = f810f06f5ef25d1f21a1536b3948b2af +Tag = ec9825af933fce7e891a20fcaba817 +FAIL + +Count = 1 +Key = 13017c0bd8363f79d1ba032f3e90be45 +IV = 435afe8bd52b59404d36001d +CT = 9ea87dfcaa283efe81489f1cdd677dd13ed61c7c45fac877f8642b56c0523cdb680208ba02f09dca17b25db2117678f34a2e52 +AAD = 7a66202d2feee5fede9507e516aaefaf +Tag = a9e96605c7a9b5e936e8fa70acfedf +FAIL + +Count = 2 +Key = eb0902cc8242e8ced968c9fdf8ac1e33 +IV = 410a9c16e325d9f3923350d6 +CT = 9c8158729ef577e4767de1655c0a94c5c59fdafc512b3fececd282ac8e3fc36ed7a0c1662d425d78343d4ed44bff355c904db4 +AAD = 49a0cd16615e284826f6c7a1c732d698 +Tag = e851454bbb38c168517968f25555fb +PT = c21291dbc82f3b06847333f0da1e43fac9e658fcfa0ee56539b3878e60cb096b6eccf64a7e89a4d4e3e002a7bfaabdfd8d83f8 + +Count = 3 +Key = 951aeda6b35da6cc5a407d203fc12769 +IV = f8dc90dcebcd039d974eadeb +CT = 51d0b48211a7f5d2e47af687739d4dfe98b8b312bdf672620864fa35db32e04fd6cd6fbb7d70ac2e19cdf3ba2bf344819cd422 +AAD = bbe2028719b8dda4ba0207be946013a8 +Tag = 2626a095d085288bb89590dbe8eea4 +PT = af729556c4f1feb4ee018a2cf4dd31ca8d81f31a2553ff47dd933971ea5fcd96e79c8a05ff1b6ffaa73d2b3b24e116a09b4e2c + +Count = 4 +Key = 1b5a3078cf383065a0ea5832d224e290 +IV = e96c70fec6e387ecf8abd198 +CT = 36ac2b6cab7e50fa354cd012c9a20462fbe8ef2c569057516edae43b7a363676c8c7fa29a9a240017f6047a25ecbf998d31ada +AAD = 0bf52cd5f1b396b4edadafeeb4971377 +Tag = 2b46fb8977892682a6d02fa3b885d1 +PT = fdebcd6effe72ccf26e2e6adb00a838b3aab6d70593fea9ff866f0dd3039807ef7dcbe9c5e43ed7acb48a4c3b89dd607cc56a1 + +Count = 5 +Key = 2fe6f1acb997ce8e1cee18238e78a524 +IV = ea461193f7daffceb2912826 +CT = 520ef5d798059ec48cab6ba0a4427d0c6f69d78aeefe45e9ff5b8167991d9fb0a05d4fbcc500aa54454c5e6c69a3b96da3d817 +AAD = a60b1ec9ac91f121aafcf29a1efeb120 +Tag = a5918a3b503472580f21b4cf7bf2f5 +FAIL + +Count = 6 +Key = e6a3e6188dc907796fe3b6cee97b5182 +IV = 9b738ce1a4d459c478dd65d1 +CT = e3d648d1636f09a22e23d0a9ce24418e294484d8228cf17cc6c485a6bf031498eba5a846864775a54f216903728863fcc97d4b +AAD = e553fa6671235c001ae4ffb22cf53645 +Tag = a7fcdb645093d895ae440f3df1cc72 +PT = 9857d1be008c837b600482d09d1373b66ae4ff1b97ed616b4e2066c012cc0c6be5f5d50f818cd725f9332a4c4cb643966e90c8 + +Count = 7 +Key = cedbf9c17d52e9dd4c33fd4f10dd9a42 +IV = 08eb38395216b12e289ff279 +CT = 445cfb05c488a39df113d048c77cc354e5c29877a876c1ae29c6baa5dd417c9aab41c44010a224e9af145fb9bfb22840f494b9 +AAD = a8c05014a12fcf3ff6cf5ab69d813da3 +Tag = 9223c27317bb14bdb988acd9f69887 +FAIL + +Count = 8 +Key = 23e05215fecd94f4a8d5e54654ab39df +IV = 9107e7b00ae701df30253559 +CT = 478c737a22e8d7a356dc831c3a0314347eaa06b76d8507121d7fca2182e5e35ce79844f29be45f711bd9e214ed69f40ef18557 +AAD = 756059eea6f8cbcc5d0757d75801c3e9 +Tag = 97c0da1e008b87e30021ba4eecb5bb +PT = 6a5094fdb75adab746fbf691fc79a34a29057254834f2469f004bbec7ca93a93d4287fcabd1e7533be1a9e9867658f9bb846df + +Count = 9 +Key = c608316f809e3c54f3272a18256a5fec +IV = 38f4ec6b2c1c197bf6e0e994 +CT = 659228b6282c2226c755136a9fc1bcacdc8cb640660cc784a841b5c385f34302a8bc5c0bd30b982d1b641bf642d958dddb3d46 +AAD = d22804c6a53262ccd930946be718e465 +Tag = ac9ed5212b5623d445d76a5f25e14e +PT = 2fc429740460dd0bea16bfe314d3258f6708b5ebb8ad2c4afd4d11fe99646227abe997f0688fc0e3f1c7c0462dc9254dbebfb0 + +Count = 10 +Key = 6839dfef3475e033e69b7efd759cf187 +IV = 2456390c5c6e8ab6150a2461 +CT = afdcd6edb1f3597bcd747ca639becc35525a70c6587644f6daf2359810a797dae964aedd883d0292b69edb95c03e9856f05a5c +AAD = 72510d6bbfd4aa72551fbb3408ee684d +Tag = 8f62eda789a214fc74585111cccd3e +PT = f06b42eae488d9b9136c7221c7827b01393462ad8fafe5964833524bdae85a89260f1472b1e698fd16d3d476f307b02fb8b644 + +Count = 11 +Key = 440b6741ddc750ea2839cabe753166b1 +IV = cf7654f26caae1cf84963608 +CT = 6c12c287c6742e51d18d111a38b93c0bd5cd1c1e6d2e10ebdb9930be7d0ec49fc2dad964205b6583591770126b52b47c0dc6f8 +AAD = ab5067fbc18f69cf8cbabd3a5c002a3a +Tag = 951788076e962bb6a7a75fefb6c097 +PT = 7eca3241e23ea69df21c0763a86c150e17c7c37cf11f3c669f4b654975abb3b262ba9668c99f7232c4d1386e9fdb76f1708d76 + +Count = 12 +Key = 833bbf6c0751d4ff8617ee3fab4d45ea +IV = b748c86a524caa86f2cfa2a7 +CT = 4cd3efafc4636ae157d66739b78b6f1258c2e5fb1ef7751231c096d9dae71bdeeb571620983f30504a7850758bc11ce1c96219 +AAD = fed62b9dafdc3f58a4e8200e0fb5dc91 +Tag = 698f17e333b59c4900438d4572ba56 +FAIL + +Count = 13 +Key = aa3d97148af5e295e961437a6d321635 +IV = ae483c38bfec4a3eb87386a9 +CT = 170b3fddcbdacc898c751803483fb7fe91490d95bf9b47f44949640a22a019f1ba06d8f3e46d064a8874eb70130a4ce78cd325 +AAD = 0a84173ca49495c285f0ad6a7c53c135 +Tag = 1d09282cf78ed4308dd1c160984fd9 +PT = 76bf2b6eb894eac6c69cc9174d80d13f4b72fe66773e2cd80d0ea11ed9eae527fdf603248bca5463addaa6da0fffb63eda578f + +Count = 14 +Key = bb1981b448a3a0ab4fbc0a6ccd77f70b +IV = 9a383c8bb3a509c84185a434 +CT = 1b2c7a0e664e217ce3a0717eb192166a1d2960e39b28fad1852b4deef49e9d61b5e8e8622012f8d54d19e5e5eea3deb81d3aca +AAD = f3f21893dffd98d359254cf0e61d5ff0 +Tag = da1832a18663eee1aa261811a82664 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 4a19e0f61f86cacd9033bf2090935a8f +IV = 233faaa40bfce6d38d774e73 +CT = f8ebce53f7335b842faf4beb1423f4f16ca3bf1b838d70bf7605b690ac2d8240a48922391cbb16bd15769f80e826d06241ed9c +AAD = 9af9494bf22dda403a0bb6ebc4491440 +Tag = 176520b12f314b8c37c5b2b56212 +FAIL + +Count = 1 +Key = adf3e973b106bcfd62129ed70de0968a +IV = 89d8cded5295467d211d97cc +CT = 550e42f758fc32a7b10e053312716623515bfcdff3b6f1807affd5704b5cfe4cee4608c6cbad322e9909e3a77219938e5f80fc +AAD = 9f6d102d9828ff888b46d6c0c5574f78 +Tag = 3b2d3e6bcc119ca955e0c0c0dc69 +FAIL + +Count = 2 +Key = 5708d45e6b28540fd8f35d56800860e9 +IV = d8004c5643a85f72172691b2 +CT = cde2fff08973838d910d21748a4f56491d8bc0bb9509a4cc5873da3cc3a8dab7220e4c9e2a652bb16720be814aeacb55110e57 +AAD = 7d193a8b4dc24bba493d81eb7857b466 +Tag = 5d3fcec81b53af3552924b5cf338 +FAIL + +Count = 3 +Key = cd4c5e8ae9f9e073c8caff6ad641acd7 +IV = 2f58dc8473be509accc45304 +CT = 5359160fd48c6cf94903e58680e7aaed1f0ba26a3b7a7ed79094d256115f56d815c68346622b412161b846e5ebfc08ebb1a389 +AAD = 09b54fd9889520c3a4cb214c888c9b75 +Tag = b3c77c81d57d68d87f4ca47c9b3a +FAIL + +Count = 4 +Key = 094abfd2eeffb6be741df006937bf47a +IV = e2652805da494483d3b26cef +CT = b251f7b2d0e970cd2f3cb086942d1bcbfa38e93bbf0fee4f0ba46889292fc2179608d26cc2472f5a4f84faa6612de451a5bcc4 +AAD = f454e72e92152d133b6fbdd1f1e11579 +Tag = f2affc6ecfb7cb796c5df89f8d53 +FAIL + +Count = 5 +Key = 7465665fc797d203117d1222111c0fcb +IV = 8353e86106d462b7b57a56d3 +CT = 91156c097e038252c6040facc55799f3ee9c573a8ad88a669a9afed5e58d50550cf50036f20aa4f7df327beb33c3d4292224c5 +AAD = d57cce196872bbc28c50472a22206113 +Tag = f2025ac6c16ac4862983a00a2fc1 +FAIL + +Count = 6 +Key = 1811d0108ef3dbafee8b46be6a48948e +IV = 8aafee2daefe9d1d14379780 +CT = 81610b0b2f3ab6fbb40b815d2b12f11ced643c6ae6d472dfc70bfd7038668cac33c4f43a102230ed513f4c3183eec84f76dca7 +AAD = 6447146fc66c419edda8718ab39876e7 +Tag = 0a7461ec0a814700a758ff623b04 +PT = da67568ebf4b95bd15c51c1dd017312706239a32ac901dd051a1a464ae180ec2c868c5032c4a1458cc53f2cf57391a6b339555 + +Count = 7 +Key = 82ab3bf0e2d2048a0cbf18f7a552e72c +IV = 4af2ec6da33a1153c6a206d4 +CT = b1b71426f513f81bfa6a2047e0146116366b42443062c7495d5447469070a3a90157946edf64f64aab1a71889ebd28464d2f18 +AAD = b65ce182379c870f3dc1f98ab28a9e93 +Tag = 300c0016d02d9ab700ed46043c8b +FAIL + +Count = 8 +Key = 81dd49a0b818760cf0f05668da43343f +IV = 9fbc601fdb29b7378be50eee +CT = 09a16af6157f8ac1131930b6a3474fef81b89b1cc928cdc01407ff7160ee494c1da6241a13dcdd665ff77379ac0216213452d2 +AAD = b92e16dbfdc21b21b6a07ee378b15e1c +Tag = 4c3615f139f4be0687f18dc65613 +PT = 1c4485a995bfac72717d4e369a17d0fe5ec6630efc9acedf7654e88bbf2c438f9bc64934f80f3e59fc80247b29f14febbe9f29 + +Count = 9 +Key = 2d399cdcb067c5f5cf525036367f17ee +IV = c4e1c70b9c9fa36c74f342ad +CT = 8fdbaf1fd1836f1708b8ca1746c9382e1dea97f3164a9b931d61d08e7294387d6a60ed7f2219c86e2c075940f35b64e6d620a1 +AAD = 05c4ae0492ca70a2211da617a4430f43 +Tag = fdeede9f684d1f1b0835158049a3 +FAIL + +Count = 10 +Key = 5ff39dce4f0b9e9df0021dc1bb6d16af +IV = f8bcf0107b86c414966ef7f7 +CT = 4d29434a9e2b45a2d615d7f26764d9ac9ee71c7c57610d2a6797435489805327a962caa15e861aac1d4f0de08e293f779031c3 +AAD = 08c43454d9b699d335c0cacc01310862 +Tag = f6356688a4ba93f0fc0c8dd325b8 +FAIL + +Count = 11 +Key = fabb4587301cdecea8a237654d1bad14 +IV = db049f6786cea94f861d90d4 +CT = d547bdc5772f9db2854bb024be0be9b6c19e3b76a58504143148a6df541fa8f7ed47f3294b4fab0849ac8747afca2a60c822cf +AAD = e2ca70cb6ed05bec3b2403041cfad9e8 +Tag = 1b220149c1cf7253fa75ba98a740 +FAIL + +Count = 12 +Key = 8c103494cfa2280f6c27c774f4106cc9 +IV = 01ce1551008d75487cc9e4c5 +CT = 7352eb5d786890a70050a58c78098af96407499e5747040da2310d86892f868a9db41f91d47de1d9c38c130abc1f89f46b3f2b +AAD = db6c2a4b6745c3d9948f660ffbdd4b2e +Tag = 78fce3994e554635f8a5465cbcdf +PT = c843fe4945ec7f347ade664aec3b49a56ff1589a50b1f7bf9147019b6ea76c27a5613807a87e607148c8f12852bd3899161b0b + +Count = 13 +Key = adf61eba3d751388efe3be4e049c524a +IV = 35c8f8ae2ed5e91c5ad58482 +CT = 2160682add1f4b4c01b5763acb16073ddd0ab3cdf1930ca2885c4719d2aa3c40befc463363a1626082e66b5e9df7957363e686 +AAD = 5a9d18765c8469f42653d9fbebfc990d +Tag = 7843cda037e7e5396245b85139d1 +PT = 25e4f8c6f95abeb593a89715760dc412a35016c3f038e5a334eae95fbc6935f15547da943e86523760b35d1e4cc3c1e328a459 + +Count = 14 +Key = 5f4927e06ce3ec554a4a1cfac20990c7 +IV = 7e244d82d5a1959131ed153b +CT = 2a3996a03aba0bdad02a705f286289fe0d200ae87995b7eadd70f8e08ddda9734ddd0e5d84e5f2855191cafdbcaad3cbec6510 +AAD = 5d3cf73dbcf8a12c07da56927875b733 +Tag = 337772604c4d82128c4315251913 +PT = e74e1d2ff402a5467c872bbc0ee9f7595000da9fd271ba663421dc88c7bca357bc57d2c47b39a16fea0596d972da2efcf7b272 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = b9c26d7a448c57e2f483a3658e18a42a +IV = 65a80c8503cd9a60110012a9 +CT = f7aeaaeed491fa86a6f0f43f3cd14f8ccc48d7a24b2998078a8e7d9682e6eeb6ee14353ccf056de895ec0694f296d3c989a8e1 +AAD = e641a1beef88d62e8d57dfbefdab8c9f +Tag = 84068ef78e4547fcd4dbb7d494 +PT = 053ed10030587180231710d6502e7f2c1c9e79120392f787ff339744b17d14ada6ce99a6580862c3e307433e225df4bfe2dfc0 + +Count = 1 +Key = 491ffc185437fa175e3e2e923308eb6b +IV = d76c3f200f10eb1a40bb63a8 +CT = 0b692b36c3c2cd0989859335db8c77e20e317f29b0d9951fbfd6e0a3ff7c6d84b0ee40338a74521d9056d9f119875e57d09ca5 +AAD = 6f9b975f80df09abac896445bac3aacd +Tag = f8ac2f84cd3666feca5defc683 +FAIL + +Count = 2 +Key = 6cea5171e1c3985e141104b89866a06b +IV = 624001c1a71824f4a9d77d81 +CT = 0ef465352e9273fd15ae3f32638916c88b6510008f527504aa22a288d956313b57076154aa12d89fbd8ef4f368ec0362798a63 +AAD = f59b69a7acea95ca6f10895fa854697b +Tag = 6f20036263bcc8976f9297e6ac +FAIL + +Count = 3 +Key = d919cb8882f1eb943f270cfe3cb266a3 +IV = 6d82f5ddc364b13e9c96722a +CT = a1e7971f30ea39b07d68f7a1627247c66f5ddaf311526ccae5d69aaeb04bfecbf8315a61dc177cc378adbfb3007c58ea5905f6 +AAD = 145e3aa681277ad34c81c47043644e73 +Tag = d928958e1433346ecb39d10b57 +PT = fe8682b3df1a67cabfcc9f6311d9ecc925d4d2e730e7d520ae13f6daf465deac84f2cc123ec68b15d5331d645ac211ac190521 + +Count = 4 +Key = 03b6d29da254b2c106629910963eee7c +IV = 3ddb0759188ba21842a3a30f +CT = 6e25753e8a1e85c3797d259a77ed46e23e13808f82221ee7b9db1e562daa96c3cc730a1955c1daccf7038a4b5862e11e55b93a +AAD = b13e1a2e8d02359695da9b27a19ee283 +Tag = a2cb6c7c99336eab7ba853fd61 +PT = d054dba453fc168ee3357bb030a718e8a9a77e58b8603e6682fea52501cfb91049f1f7a337928924e871699a0d25f61f74f617 + +Count = 5 +Key = 45b2a677f94a4c13917d762a282bf658 +IV = c16a677ad527890c80591b5f +CT = 38f74c63ea4ca76a7a6e2fd9936fb08369533f695b2aa3c63e757748ca26be0480a259f12ffefd61f1ff143cac647aae250ea8 +AAD = 2c5e8e8112a1181cb561100dd8229075 +Tag = 19bf2e5648f5534caed1b8f4e6 +FAIL + +Count = 6 +Key = ef4fabd72a795514482b3d1ab243e9c6 +IV = c6224d14d61eafec6168386b +CT = b138a2fce8161c93c064da95414ae31b9481e12bfc9c593dcfdff8b366cf31e3a1ba038e4e3a84a61c933d03400d231d517918 +AAD = ede73eaed0397c77ae99e7ce0b6e7b5a +Tag = bfbca8aa8af903a2332699be35 +FAIL + +Count = 7 +Key = cd15bda46c0bae453061dd77a6b3ed00 +IV = 84a8a063d118eb807be69a65 +CT = dec6cc15922bfe9bb16a7f8c2115022da957c20853dbcb5948b20638a93dc3eecd7a2f13fda7f198929a309d9d676405c50b59 +AAD = 10217dbefe4e788462e50931fffc786d +Tag = e19575985b90c84768fad8c17e +FAIL + +Count = 8 +Key = 32655bcb0e0de28efe9d84aeae2f62f5 +IV = 401d6b063084041a1c6afac0 +CT = fd49dc0f0380661fe2d11977695816bb9b163e7e1eeb4c54d247d089c8190960d41e093fe01b15935f720dbb0bc9f81d6e5c93 +AAD = 19ac12b553733e59955f76bacf9e39e6 +Tag = 9e0baecb0fba2e0fcd4607ee30 +PT = 7e641352325097ea7b2f358d7d81cba3b0ea0d4f96fb005762e24cd20bf17f8664615f1b002720e147fd8f4b03e79da927aad5 + +Count = 9 +Key = 5e77bc85efa37af3a16f1bb5305170b1 +IV = 0f78410086040be517edef33 +CT = 44de97665392cfa01f4de31ea66af056d1f1038ce15ec6d5bf134f655748a9933cce941c63bd5ce0c07437b7b7c22b1cea3dff +AAD = 2b8904182e362980eac7e03a1ed3b819 +Tag = 9c49c2004073d037e71d9c95a2 +PT = 8a521e948bdf89f464b0c92f86919030fe9803e17feb71a8d42f04b8ba992e7b4a94591e21e729122dfed3dc906d92416d0a6f + +Count = 10 +Key = ed86f23d538bdcd4c34b7740b7cc2fd9 +IV = 0fcb7fd10a9ff2fec97a14c8 +CT = 0146d15f68fdd9d54642424d726f6c78969ea5dc33e8dc36151f8e8f411295b552efc7030e2bdeeda8337d132df87aee46a47b +AAD = 96fe7b9fe794df678e3d40a4b6da3aaf +Tag = 6f8ed674cf5095cf3d17d901ac +FAIL + +Count = 11 +Key = 1615e455b6481ed38430701afe7b1795 +IV = 4bda8161cb9dcf5f6da650d7 +CT = 8447584eb4381f06997732034ddd23943f30bdf52ab7adcbe5c4858b30e89961f484979a5a0f290f0588c67298a86fff71b97b +AAD = 2e9799acd05c8159b1c33ba4bb28c56f +Tag = c5ff9b8833070bcfaaa4f0b3ce +FAIL + +Count = 12 +Key = 22139655d9527c7a6d91e27ababf5b64 +IV = f4913199521694c9d7811822 +CT = 94ba93730182f098e5e1e410c09addb3b669a0bf1422da7ad87f9f95a50f79fdfa49a7993b5b96a37d42dff38b61f9bbac9ee0 +AAD = 3b8b6265351dd0ff8a28583ffbb61590 +Tag = 4bc65ff10ca725f4e3e3e83a89 +FAIL + +Count = 13 +Key = b78df2435548ea79a35d589bf9aeb448 +IV = 4343ee2966e5c812140066cf +CT = 7cb382a21eb03c4f644c89cfc0269958a2e983753b549293f28c57df39301ce9d47be82be8742b52ce1f8791a0870f5072aa6e +AAD = b9b74444ba94198e1b3fb2bf34954a15 +Tag = 0532bb052658ff4cacb9d324cf +PT = bd04cf884eedddf6c3ba0299ef6c06e810c9c9114cf2ad604de9275a78eef93333365753ca31a04e81bea03b25e15443e3e1fa + +Count = 14 +Key = c1ec21a3d501c36842ba3759264ec0fd +IV = b343a95056d0fa3f9e009414 +CT = d34367d3a45fce17760ac679a1025512ae849d198eeb468dcd01507d7c09d888c936ff705299cba6e9a72246561613047458f7 +AAD = d55299283b405a8c50ca3ce1489bb651 +Tag = 67c1cccea605e190b4adb212a5 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = f5a0b1639c67c7760109056a3a329804 +IV = e1b75506d66509a52f0960f7 +CT = 4d8738341660f7e49ca1ddf7db1255c1eca46b947fa80134340d364e611255194f3261413a82e763720ef81dedc8b10bed3b30 +AAD = 8421f67419d3d37cc9e97b712b8b0924 +Tag = d7c586892b2e6ad60c2106a8 +FAIL + +Count = 1 +Key = a42c74c1284bf27573f57da53ebeab79 +IV = 7cf56f16a053de804ee7e2e7 +CT = 12053dcbeda87a9f896c12503ca48d7a47496255282869bd6e09547a07b13f7ea40ba295028f728430af6613d9258034b219af +AAD = 654c9eefee483089370c3932268bbfb9 +Tag = 268777ddc8caffad4a50cc53 +PT = 854b6ec0c014ef38113cea5a9a1101e96a7110738cb38a8a512e85b4cedb235e2a030b4d38108173e1f20e09c0a4de7624466e + +Count = 2 +Key = 8fd9f8fd78d9ca331501117fa0c71f3a +IV = baa2e00e2622352c348fb837 +CT = a722a07c468eb4617e3b75c95378ae370cd5086cba0b36529690c670ca3fffc6de05122526c18e9efc59758a94bd6149186f0a +AAD = aa5e7d13efbf3fa4aacd6628fc5d2887 +Tag = 3c44c18879aab254b54468db +FAIL + +Count = 3 +Key = 2c9af48e0e4a794fd6d2115d507cb274 +IV = 6aaf177be4709848ef95c5cf +CT = 1af9aa328e13d2bfa8cc75eec432dcec2e1d33f1acad6acb78ecfe6a7f37e7a6745c1780d9da5258a5c964801b436eee5b47fe +AAD = ebc60e3354d82ad268305576b3953f14 +Tag = 40e7966fef3e354103c2a87a +FAIL + +Count = 4 +Key = 71b5e1e924c8fe57a24ef883c579ebab +IV = 6fd26de7e326b0573498bd27 +CT = 0ddba36dcc7d485b0471eefdfa8c87b76be73d78ecc25c6010c361cfa0914cb0a58b912a1c7f76a8959e582db915f80fc96b38 +AAD = 11438421ce7233621ab83ce6b0970f5d +Tag = 5ebf18a592417cea8375b8eb +FAIL + +Count = 5 +Key = e9b9710aefd856ef092ec28e6cf00c58 +IV = f758c3ecbe1b891757720a83 +CT = d965144f4c362de43bf008f181cf584beaa25bd5389ceed5896697f03d4ab81600067f226b4c552658af0c1d7f76558ceef0f7 +AAD = 18de972ef1a571e3760901c624561fe5 +Tag = 33ea69a92685c92f2ccb193d +PT = 17d187e55b36c53e0509d0163a74c1588b1361597974e6fc12a9dae8c0857e19a0a281e3b632e574f936c84afcec9ecc6133cd + +Count = 6 +Key = c43f5cfeb154d8b0ace6ced3bce06b69 +IV = d4af4be4b11606f9c4c90885 +CT = e24b3f2b58cef6b9f9ef45a69e2e1c88d623f57d034c8b460503f3f1410e3d1ef0d0e6c09552a524f10f224c3d1ca71a4ad4ce +AAD = 34da97c50cf9e2a0f1409113cd268019 +Tag = 76e1108c4214400daab97d62 +FAIL + +Count = 7 +Key = 5bac76bf4adfb62ea0ae12bcce96da2f +IV = bc6a64547c86457c38aacb3f +CT = a60f91df45e8e16a049ef748f25deb6a7e85858ed6fb50d3c88a888175c445c0df42a18c1868f5ddfc2691a88dda6f05df21fd +AAD = 1eafe1905290a0e143d8260d2b2c3055 +Tag = cc380abcb649946fca736652 +FAIL + +Count = 8 +Key = 19daeefb7a92500d1be9cf1817516d6b +IV = b2ec8c5ecee83ae74c61ea20 +CT = da00260df56416e58e421c0e62b3d021e50abb3376bb7d9dd1a734a2e34e079d2627ad8beaf4639ad49c889a88bc551a245750 +AAD = bf78b1bbec641ebca12bf39cec3d1854 +Tag = 3213a8d7b284949e9f285701 +PT = 85bd9a39ee45e52013fe6ab31650db1af54a112881e909bd41f2d4bae20d66c193303ea64a41f17d2cf89a4828712bca1896ae + +Count = 9 +Key = 0847ea8de90f306b0d49e66cdb698138 +IV = ceb23b0c061d8677f09a1fd5 +CT = 0ada9cd92f50857aa0c36949c48b4e266fdca8f74859791004eb36cdee2bc9210f6d5a89695799259708ce0de098bfb90b932f +AAD = 5837dd1f886a20b44f876c82bcb32cfb +Tag = cf6fbb4a096f1013c12f5677 +FAIL + +Count = 10 +Key = 5c2307ef0cd8b1c7f3b84a017a77d7cd +IV = 245edfa842c68caf5fcbbc0f +CT = 190b05f43b77c36973b1a86664d3aa1e38d042abb325955559382b3d327317654c111f626731efdd842a2ba3dd86dbb506817d +AAD = af22ecbb1a12417e04eb6541f48e2d14 +Tag = a766a6d705b0c337b75c6fba +FAIL + +Count = 11 +Key = 6d458e527cc23dfa269afc4d80a9d523 +IV = d5b8d75b394ae72bab7a8909 +CT = d5bcc26672318e49af4a68732cabca78579500907d0981082b92df03f804f00695702b3451e1e739019efbc457edcbc56eedd5 +AAD = 4d4e22f6f0f5a1c6ff8cc9b6de7a6d8a +Tag = f4f3222aae17bf1de4a74a18 +PT = ddb9675d3352c38b2f6b53c7fae1dd2c37009629f56b89ea1cbdb7236acefb06134ab5e07ebd4868d2f57e847484af6e560879 + +Count = 12 +Key = 8159740f07fcde2b9448a6bc9b3b3eb5 +IV = f51244695fc4b4f60feca8fd +CT = 69ecb9e948998aa3fe02226965cee048b0e3cec53308de0f0ebacbadaa44e8afc95c40a4388b16c4151320666a9bd8468c82a1 +AAD = 0b165687ce69727d0e7fadf06fc09311 +Tag = 5cb3b558d250f7caab2fe949 +PT = f83d4f2843c2d7409f83fe91c5126e20b604e9011a15d49ab26ecda13611419da39aa4bb521cf4e6acc7047dbed288e43f2533 + +Count = 13 +Key = 059594a9a8c495daecf5b4453356ad25 +IV = 4059223fe63ad1298d8bba56 +CT = 0d4c1fda1899e3dfd1c13b48e471ccf9eb659a65447ef5b9fb6ec93d18b885377ecacd2b916abd09a595bdbbdd40099f7341bf +AAD = 21e1f425deb90f41667124ea7e3a734e +Tag = 749ba57d107138056c29031b +FAIL + +Count = 14 +Key = 42adf2ddf9e51a67d4b26d0e1ea1f13d +IV = 366c127a31ba2ead9f15f86c +CT = b2714c69d78aad44974682fea5b9a6755c71b48b71d5206c89def15977804ac2377b9a03ec096315ee1c20252b4408290a9997 +AAD = 1b9b0e9b6b234c4a92ab6c908b9407e9 +Tag = be928bcf766b7b94427ab6d8 +PT = 5ecdafc6a65e08a7ce688db6fddc32bf0d40d733be844742a908d16bf4a799282bac6d7aea9721c088f26aa4eee2a389a53ef3 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 7d4234be0e2d62669bbc2c0a6df17df2 +IV = 7c82065f9246bdca6ff4f8e8 +CT = ea99346970ea70658e7a96bae8cf4042cae2bff5f81c2da44e477ef017fd030f3179aa5f61d5d46e4dbb1c64d5c18d16c10f5c +AAD = fe4a008d2fe4e70c8551abb3f5ad9f20 +Tag = c9ae27057ab1dcc5 +FAIL + +Count = 1 +Key = 794a09ab6f207014b7ae1cffe07e7839 +IV = a3554aa2ebaf88fea0372985 +CT = 8fb8a6e87257844b4313f08c235fd83f463fb5a4e4b795ddbab0842c5c8f6664f6851dc0f2d6e62a8c50bdba6b518ae8b7134f +AAD = 1a5685b4ae4c7262bf57631ace0deee2 +Tag = 9c3f921f1614d360 +FAIL + +Count = 2 +Key = 703f355f83db8e47373e1bf4ad8dc8e6 +IV = 9b0471a9d28da006aa90baed +CT = 17d64358e4e664e9f7702d0911a807aff59a2ef04cf51697d0c4c5033764a95802b30d4d1e8b60d897a209efd815bcde0824b3 +AAD = 037981a5d9c763830d9ed7146309e113 +Tag = 3f9920e8d3936a70 +PT = 37fd0e033c5bf204c885fc18f322fd505459ad5332817ee44a7aab601679d0b7b94b8651819a87a1d34723d1186d81be985da1 + +Count = 3 +Key = 2bf41f9c3e038636d7cfa927a545c095 +IV = 1d0cb75f62378876ea892f2e +CT = bf45fc4387f8719fcd5cc1006fae2d842398dfbfa7afa1c592f5ab902127bb426a4aed76f0518b1edb20186af27673bfe4afef +AAD = 1d3394bd01701685072c93688114acd5 +Tag = 19545cbfba4b9688 +FAIL + +Count = 4 +Key = d52e94910b2f111feac8177dc43dcd2c +IV = 5cc5982c6eaa47e3de1a1aaf +CT = 2cf13f4718c2265b0a723a24f5f8e353260132898e997883ebae4d77e8b866fd3fb1433fe5607f2d086495ea8ab7eadcdedd50 +AAD = 68188b2cac2ce6df46fd0b7d6b0ae616 +Tag = d5e8e7752a6d02fe +FAIL + +Count = 5 +Key = 3b8957e51e98c4ba7acaf368953157d4 +IV = 7c16cbcdcbd847a9a3aef294 +CT = d605352f2e6889d232179e5beaf15cf740d24ac17c57d44f012d4e92a09d31fd2342c0c6c03f998bc79d76da6ff22b957e2147 +AAD = dc4bd4ea781b5d7b89b7cbcf492cb094 +Tag = 9064dbcb3867642a +PT = ec673ab12f0461e54c6423a8bf850b967303cef6d35ed3bd296ea866e8d45be2c7a27e8ad123f9225359efc43cdd11b93cf745 + +Count = 6 +Key = d25d73f7c1d6974cbf90e8906847930b +IV = 6f19cec0f363d991856c2889 +CT = 4c50ab77695517e18ee3ec4d735d0369805eef77da7f75e86c1cbfae2e47ff2e45425823e92f6bae62ab45a005c5eed2239ebd +AAD = 959a26c13272698b316bd6a8902e6d5b +Tag = 145db3eb49551f83 +PT = 537b880691037e996e683149bfa7921fc00327875cc8efce6faa97194e50f764b03bacf65715b1a601e569525238cddf5599f0 + +Count = 7 +Key = d648ef568f7be2259194612246febbac +IV = 780d076a0e95a5a356338b84 +CT = e14c9c375156a0ea5303521824a78b819cef6211aafe408a69bee5f96a77bddb54e9ead111cf435376309a03be19aa91d1f1fc +AAD = 014af52b8b3fe955390807f88edd6f59 +Tag = a0cf83e47100ab6a +PT = fa7f2f00da1c0fe9ab6ea5a4529d0d23a4b286621d0e2017a8035d93ba4ed2eba44c94a62867249eeaf8865242ad7c0c8b3c76 + +Count = 8 +Key = 686de40245fdeb7aa7b62539d028f169 +IV = 2c0f7b42ca8456825adb4c1c +CT = de825c7b1a9226acd732037b18b5cb2f0dbb336964fc8eef32d57111e681691cbccf3cf4c7123c560116d030734340ed5c66c9 +AAD = 8c1462200acd7fc85d1df627719c4b9d +Tag = 2afd1f242abca154 +FAIL + +Count = 9 +Key = adb552e7432c2c45d80cb25b1a60d605 +IV = cda6b83d907e3b73ec61fb96 +CT = 77b66752858c20e81559e958613259a44b8ac29057d20f4c028ec8c9dfd03bff4c68d17263e0d0062ae6b4c53876afa45da11d +AAD = 4ae3e81dc131a2f56ee67de319e5c492 +Tag = 89ea6d95d9437237 +FAIL + +Count = 10 +Key = a7d842a235e8c5d801ee35ad5a46d852 +IV = 0c9965a567ad08a1b06cc39d +CT = 260cd6b2cb0574d155222b407457319329bc5b815067612e20393556856aff7e95becd07fe72d09e1a70170e22867737654b31 +AAD = 8ebc50b07ad128537b0330fb200bb3ed +Tag = 4790744d034d8d4d +FAIL + +Count = 11 +Key = 77c2e6e3d64dc1ed13f38db74db8475a +IV = a039a9fa0217948e020a5d02 +CT = 5a0adf5820eefd1d23c9d1c3d18ad402f5020359256abe076dc07602787d92d8f99803df9cf4d80c79988eaf6d67c008144413 +AAD = 7ef0a03b2505b1d38bfc31028dc7c833 +Tag = e054016c0321fc76 +PT = 4ed453ffbee8f0ad9aef96213af5d2bed6a3e5d2ff46750d3b9a07febcb2d2f4288275313b9696367a79ed5b746fbc5c40f1a9 + +Count = 12 +Key = fd45bcc08c77c21ccab19e247c3bad7b +IV = bdf75121777b3ada5474a08b +CT = 77148632412ff643d2cb64b11bafa5e871eab24bd695c5c6b837c527443cf6696d530fea768e15e0a1d2e8ffca1808b4dd3e9a +AAD = 25774ca4b211dbbeb535b9c15a097803 +Tag = 26583b8677a784df +PT = db28d30337f54d869855e0013d4bbcd1297775f1c1b7edc2c3b64aa4003f1d727d9ae158086463021225470df17c656fc7b291 + +Count = 13 +Key = 9a8793fed8dad20d783b5525c8a72f74 +IV = 42558644fe94e23d0e01ff3b +CT = da4d00bac859d27504065cb1db584ed4d636172045a5bba3fd16d5120258a4f9b8e00912e15151b771d2e445523b7ccfbca360 +AAD = b880c1ebf348a16012d5a5530d437279 +Tag = ce6ac4e2f6e9a8df +PT = 08a752e45095bbe77e900efa3302161319205d94a8dcda643b46eb694c4545c5584edaa1fcf1453a69a3aadb146a4ffe68de7f + +Count = 14 +Key = 59179eb06a83259a972f84ad1e434fa4 +IV = 85ff4f839b910e73a7bd56a4 +CT = 8531d72984d8501d987a727fc276d3c577dbfa00a648b4f2654aa76ecb27b18a8de67ac59f934962ad8c64e3ba213de447562d +AAD = 8407ac4ddb052abd085c19895d499701 +Tag = 6cdc973bbf921758 +PT = 636db9594658b1be47cf1bbebdadffd7ca0632f3a801aa9c260d45e6500ed5f7186009c510cef2378d338f9cf355dc58ac6d49 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 45c94d22faa4b3fca6ec3d2ac301cc8d +IV = a0986fd7e886716cf37fd651 +CT = 506edc4a5eaf03752db1ce3843efc7e8f2610fceb42b17d85ba0af1c5b1ca46361b79323a61fb374333daff5e2574ef5b4ee6e +AAD = c88c29f7d5d1464e2338817272bd7eff +Tag = 189747d2 +PT = 11ca614ff3e08c419df30e2ccc2458b474bfb9fb6fc5680fd7b32a64daddf71d7c86c5209b1896b125ada21ae6989dfe05625b + +Count = 1 +Key = dbc4a211a820a7058ab0c01646c717be +IV = fc57d921d843aa925bfe45cd +CT = 456c4872fd655fd2ff390ffe3611c475280e4f29bb3cdd77f6e26ca3d8457d7e1e56cda95a290e5fd1f1ee78f16cef41146498 +AAD = c50326757e7d87d86d8d5743532bc2ac +Tag = c8f34a58 +FAIL + +Count = 2 +Key = b71c492efd838b8e875f0cd815f49a87 +IV = fa7040e96b6b77052bb2ae14 +CT = 01a0c9bf747b7ac065c60a95b5eb34d4f52d880ad786ec1fa8ffb6f056a616ea87f3b7c03652988fba9194743e36714d5fd5fe +AAD = 75584c7fda416d7dfd6c1f053d80bf19 +Tag = b2c09776 +PT = d6944a7abad9c454153ab5932ed62fdde718da3a67cffe46f98e269b32cd88113aebc6e4ed7aabd3e6dbbf9c5857c3a808dbf2 + +Count = 3 +Key = f87d804b732490509767914322d3f749 +IV = 7e2187641d195bf7600d0171 +CT = 3993b3d27ca79686f870a65510e1bf176d0adcd8b588f9ce673fa0c3a82c648af37baee6217b1609c9038453bf003acbb8def1 +AAD = 12075a8bdc5dc68805d66bdc7b8b7377 +Tag = 76821b47 +PT = c846738fa817d9b6b154d7003ded965c31dd5b9513056b3a7fc9d23f1a01f50485dfc70d2d8072d4c32912773a540bac3b9bec + +Count = 4 +Key = 5b66cfcd650c38f2b32ece6b19334fce +IV = a1979b84d45543dbdbeb1b2a +CT = 41322c5556b3a8be7b2d78868b25c6282b19f53e443645446ae8f658e59304a2ce6dc74f0d3cf01d24e22c1a19048767233c99 +AAD = 528a1b204b571e95aa51fc43aeb1cd76 +Tag = ee189d75 +PT = 602bd42d29c7d6f4ffeb6ce3fbb4bc9a3bf6bb55164a94b9fed148ad1ce94731108ef2b9de3dba59ff37e2d89cb30b9e62de7d + +Count = 5 +Key = b4b8762d3bb4f3e2f10f759cb58a43a4 +IV = ed3a9d0322a56199a8c96cda +CT = 52a5ccd993ce6ad1a453aec116ea60605deaa35bab2b1e7f7ff600176b3d078c911b6bd036f4627c1361f247e40f75d6a2bb54 +AAD = 0fe856c2fe0d9d3964517e16952d09c2 +Tag = 75f5b192 +FAIL + +Count = 6 +Key = 9f5e7747fe8e6d82a431357ad25f0315 +IV = 025bc10536e9ea34bc06cfd2 +CT = 10b86a7a58cd0664cc9fbf658e15c6ab9d1441a2b7e51dcb6502a2115b6883ab7b04700fc312b2cddbada30a5d56b256658a21 +AAD = ca614e729020d8c1f92cfa8b56e76519 +Tag = 56b1033e +PT = 5005ae606e403b15231869d94b1b74849420fe24d5fbfc23f03e11d5222e66e8dd7faf0cecfd5795dade26fac3f395461db19a + +Count = 7 +Key = c89d4e70166794bc6bd3ec5ffe2039bc +IV = 8748e32b78cc644e95e3eea5 +CT = 2918fd2f93b8f94f7f50eb4cbe85f0213440ea8e2b5c1ae069f65b8e722433abed6e63304aed0f17448cccd7dafbb7b9933300 +AAD = 771dce3e2def657f0ad6775b3d504023 +Tag = c09d499d +FAIL + +Count = 8 +Key = d45de02b5aef48fa7f0201df17cf622a +IV = 8cd7bd6a002c91818424e5a2 +CT = b15fc3edceb20b6e35197fb90805d2bfe6fa87871500e609ac755969cd8a8a7ba7867747ae32e49206225b15a9f2ed4423bf70 +AAD = a9721362c1e2351a3b0ab5deb9a31121 +Tag = 56d6999d +PT = e5c367ac35d7855b66c8ae554436757d219fc24a89c2d81fb7cf205c31a05c0c58dc853d0c9760f8376ab4bf7d00adfff6ae42 + +Count = 9 +Key = f865f7c6191cd48b4ddb816f7887d63f +IV = eedc48df9ae35ad76f5e886e +CT = 529c0e6f6edb7478771ac23622003d4b3236da6965c3ac7cc6dce5dc30601876f4a65cafdf1072ecfeb97b5f44ec31b46362c2 +AAD = 66a6b206be0aebca6071147a1a4c0710 +Tag = 46b0b9f0 +PT = 397f5baddd28345c070b510cd83c9bf7d32a7df431e75b336e24f3e790b081d66382c9b59f4564f18106ef7f73bc37415d9aa2 + +Count = 10 +Key = 10373879d4581a2a121ad9b0084a07e3 +IV = baafb9d80e19ecf1d2ffb583 +CT = b35daf833726d7ddb9e09b489590c31d2c508f5db796f3c00e148b649c6cdc9dc48a5509217fcb0bcdc051ab7529c7d2452c91 +AAD = 43e2563d021b8debef276cc141728a5d +Tag = 5ea6284c +FAIL + +Count = 11 +Key = f3d8e2f5582f0b89e18c5627fdd36dca +IV = 90a1852d02f1565738907859 +CT = c2af2f647d4f7539c726b9a5f53554097adcc1007eed603a3c203f0dbc61bc9b1b9b0c8c76a385fe297dacf8e67f99996b85e6 +AAD = 784dbcc11e0e9b973ee1eaedaf94b71c +Tag = bcd1f7e7 +PT = 0398da35b3583b9034f7472546a3c6c4c1a29d4a28d1eaa1bd3bd0f4d4d568c914e206e2d283feb4f139494d69bffcebbc946b + +Count = 12 +Key = c85d5755338c689a29fd21aabb1c7f9d +IV = 7094e70d4c03a20df8f5ec49 +CT = 70fa0dbe3376d83ad16e213f23e7446328d945778c3932e9194d42064f81c3a15fd5f03294b416b9dae4eb04e8fc5a522ac75b +AAD = 521baabe264cfc3732a05e14df0e67d4 +Tag = 2ba59d25 +FAIL + +Count = 13 +Key = 5f57efffb7e18b78293e7e2ecfcfbb58 +IV = 96c55c69714a9c4f3b4579a7 +CT = 2cfc82d9929d49e7342b15dfaffa82d5f5a911db79de2107eb9e4efdc7c42c237684c047fc256b43a82ed72d5a676681c9270d +AAD = 751ea83857fe168d98d6d88dea8d1ee6 +Tag = 04eb0040 +FAIL + +Count = 14 +Key = b7cdb44d66c1529a2f1f5bdce1b5a994 +IV = 8b9b4832c6e60a2cf5553d96 +CT = 2b3d20c9debb8aea5304a3d76fbd439b5d372ca0c9106cd9620fd829c6a3b464014356ea30d14bec9b1f575c50b1aefd00bcbc +AAD = 020b6ba71b97e6010d652f12b2cd9746 +Tag = 3a33554e +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = af57f42c60c0fc5a09adb81ab86ca1c3 +IV = a2dc01871f37025dc0fc9a79 +CT = b9a535864f48ea7b6b1367914978f9bfa087d854bb0e269bed8d279d2eea1210e48947338b22f9bad09093276a331e9c79c7f4 +AAD = 41dc38988945fcb44faf2ef72d0061289ef8efd8 +Tag = 4f71e72bde0018f555c5adcce062e005 +PT = 3803a0727eeb0ade441e0ec107161ded2d425ec0d102f21f51bf2cf9947c7ec4aa72795b2f69b041596e8817d0a3c16f8fadeb + +Count = 1 +Key = ebc753e5422b377d3cb64b58ffa41b61 +IV = 2e1821efaced9acf1f241c9b +CT = 069567190554e9ab2b50a4e1fbf9c147340a5025fdbd201929834eaf6532325899ccb9f401823e04b05817243d2142a3589878 +AAD = b9673412fd4f88ba0e920f46dd6438ff791d8eef +Tag = 534d9234d2351cf30e565de47baece0b +PT = 39077edb35e9c5a4b1e4c2a6b9bb1fce77f00f5023af40333d6d699014c2bcf4209c18353a18017f5b36bfc00b1f6dcb7ed485 + +Count = 2 +Key = 52bdbbf9cf477f187ec010589cb39d58 +IV = d3be36d3393134951d324b31 +CT = 700188da144fa692cf46e4a8499510a53d90903c967f7f13e8a1bd8151a74adc4fe63e32b992760b3a5f99e9a47838867000a9 +AAD = 93c4fc6a4135f54d640b0c976bf755a06a292c33 +Tag = 8ca4e38aa3dfa6b1d0297021ccf3ea5f +FAIL + +Count = 3 +Key = 231025c304c626f119964a708328d25a +IV = 9f60d5a70a0a1452c50d756f +CT = 0dfe5a02709ec9fc6515501f16df29c512832f4f3da7491a8c1f1e149d131bd5ca05b803c8ad15bca743cb2c6308281857b8bf +AAD = 7e2b3efd33751fb7df561fee3f5f141433ed3b19 +Tag = 42ef3d08f38e9825b8800e56f1194ee9 +FAIL + +Count = 4 +Key = cb3354e8dd509bfeffcd8b7da33885d7 +IV = d794deec5973503dda19646d +CT = 20e1eb1572308afca40316934df2bd1d55131aa5f9abc06ebeddcf20ab66a6dfb562f54b7490fcb9d7d9bcd52f142edfa3f676 +AAD = 0d785ef9026b7e6a109adbaa7842a4bdc5461875 +Tag = ae92113005dddaf3e80ea809bd8fe899 +PT = c727894b7a507d5ab124a9fb14495c1d5842772e0d339ace3463a481967b0d7bfc16756ed18ac873d9119eedaa20bdea170dc8 + +Count = 5 +Key = 5a577dcb0d6929718fbdace24c03fb2e +IV = 54e4b51f37adb3d6696c58b3 +CT = 1712451494cc4dd30f779bc11f20c71683354235c69a1e3985e4492ec3c692781c5939f8bb73f14dbba37ce0ee640e24aa8a4a +AAD = c019aae892687a88946ed08115681ec79764369a +Tag = 9e201c975e3a938074a35c7e51a0d38a +PT = a457674bb83b3210e738c169b412f9a76ce77927265b1cb4f80fd336603a8363f3a287403969871c0d4085eb39a045e2b961c8 + +Count = 6 +Key = 04cbdcca86b9353d25c3d3c2b340453f +IV = fb594bde6c7da88bb4268c6b +CT = 22a7e51fc2b61ccd6367b3f4d519c725012db48834ba5e4ac89f7a27238eda54086cda0238de9abdab8231013e6692c17bd2d3 +AAD = 39b9ab5ac29002de6c6f48fb744a14b957e618d3 +Tag = f870268f770a3bbe7c3347b9f9b08f1e +PT = 0f8527090a793da125cc3a4aed04b5a1abeb0d09da7602982c686936734f874888b2f4b8c37c526b0b2005a2dc78dba7c8c47d + +Count = 7 +Key = 4d2fc6325a7beda38f12f9c4dae62e15 +IV = 774d52fd076c1d1707e024b0 +CT = 67a43f43fce9fb7303b0ec4544887d70c811c0b1dfc923ab567bccea494d0913ff40b7cb70d89e7b5096fa942d5747f8c245dc +AAD = 225e4c071fb10cf62d8529b5af30c29e29fafd30 +Tag = 97f586f1c395bbb05be58b891c48fc43 +PT = 13ab3fb2eb0d6d37637a0a1761911addde76f9b451d16c8e0dd562b5c4ffd8e59e5ac08d9321b9660605cbfb06f33ccaaeabc1 + +Count = 8 +Key = 53a2ed1d225b63d4bb45b5225d8fa21e +IV = daacea4f24319dee2afd9cec +CT = d58eaaf85adccb60a952dca9b72d8144eeac455ad9c3d558e64220669e6333d3e01d8d7f74cfca6d15480d564d2acf6110dbaf +AAD = ac25e4ada8fb3160b2bb5b445f35b885ab0b42de +Tag = dad2f9fae9071ae8fb21f3f2d7bf4ee1 +PT = 1f6666966c94ed3f2c4586ea8f6b9bfede55a396c6e4cdc014ba93b272d52c42081aa8272552d4a6862a1543439042e3656312 + +Count = 9 +Key = 441e2093780b7466a736cf9fd56f505e +IV = 29852c4f9e8e560bebda507f +CT = 3f86e4663af1108480e9ebfb1c4ff8cbbf2f340658b91953fa51bad044b3e900e38e66475115c203f9aab0553efbe7c8d3488d +AAD = cb79774fe3859d571750a721da0d0d4cde40a703 +Tag = 35d94561193fed46b6468672ed06f848 +FAIL + +Count = 10 +Key = 72e26b401f5edbab8d52d85b953c9740 +IV = 7bdee59ca460dcd9a9026c00 +CT = 326d6aa5c731fe350872edd4851cef3f52d8b23e8d21eadd6cde94266644393a033b8188f8d4991e6af8896cc90dfb14133ffa +AAD = c87e5464decf9e311e1a53fc7c2e58ce3c2cdfd5 +Tag = cc72145ec7d743669f82ffcff4477431 +FAIL + +Count = 11 +Key = 8b7e68eb7c5af5667e107b15b024c6dd +IV = 3032706bb97a57db2c12f516 +CT = 7e51f0246c2141d3056e029f010f137d962db5f2b75cea3025641b9f257b0cf368ac5af5386a652e4a344ce87a3ed7ea13f4b1 +AAD = 8e7443bd5391b0d794ca731faf0693b5c1bd322e +Tag = bd958335e45dfe08a14ad3493fcf684f +PT = 104d820cd5bb4ef3d6c8da38aaf87e918319bb9c6855141a5d347f34fc99f17d9099d75a55a9af4d91c3b606d5d681906fa645 + +Count = 12 +Key = 6be475335ebfac4a8153e2933df64728 +IV = 2ce9f60a87700b3cc2aa4bd6 +CT = 94450c6fcbc69723e5099e8f4d1687ef30d22b53e75dfb1d64a66b5a714c38841bc02e4d1a1d543a29d4421622605be9898c35 +AAD = 4a47b8de3f900d31b02c341fa6e93bf7d7fed8b6 +Tag = 0e2a619de3645b78f8d88b4d41bb7fee +FAIL + +Count = 13 +Key = 1e47d62f60c4f817e60b4daff62ff0bf +IV = ac749f9ae55bc1fbc8d18f8d +CT = 81aeac511f589d5f7b9a63c98188faa88e013fb2efea246627386f6124285fc9f5af0fc9a7dd66dcbfa72a08e0dd205a4f54e0 +AAD = 1dbe80d44a17dd3c9717436485e946edf10f5a94 +Tag = 3eb79932f3c5c81fe7a0b25f9a862820 +FAIL + +Count = 14 +Key = 94e5bfcb62bf58e4d22fa7e111f36ded +IV = a1440994c67b449ab1185996 +CT = a33bff622bd29e2d32b0860c6bef2fa7b0d9a108d06af8b41de8467ab063ab0363c576ec8b085b8ff04eafd997607d651e607b +AAD = d56056f606021bda6c9d3e47114650f08c4326a7 +Tag = 69ccda69723a8e596e0ed6db65f19257 +PT = e376d7e1466e559a8e535c06a8cd609a8075c373b7b2eda79396c9b7a7a2fd55b5d0d3c7fbca64f5e40c553865d697a52a242d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 81cdbfa9455f9180e3cb580b27fa222c +IV = 8221b7116537095310ec71ad +CT = 98c3dd374cf49ff1a245ac62ec4d06b1538b057675aef264c261651afe3684790b8688275b72d562d76692d161499bf315bbb8 +AAD = f9ea2853d7b5755d5077943ca28a05d8ab9317b1 +Tag = 46561f78454c38a1dd66887eb8f0a1 +PT = f28a1ce3d10b7c292819c69039d7bc7f614ae005be2526d01de3bb4073c9ab0a0455daedcc55ba388614af336cadbf48cd6483 + +Count = 1 +Key = bdbad37876f2bf0fd519109cd7f7867d +IV = 5cea8bad1372298c35a5f4c6 +CT = 399f0291dc6c08ce395aaef960e65f5e9c28477b2a9fca818511f4e0ad310b265d1af1554ca9c15921ed8dfa389be698a78f10 +AAD = 27cd0745fd771f3b79d0c970ec11219caf865c8b +Tag = 795c6e81d63308b394709b8169f36b +PT = ca284845cedb451e5d9addd85937841a0d8e8aef96e5a6230c0767ce503ddb49db5e2c25d14aced5a37f645552685b8f1e29de + +Count = 2 +Key = 4b6c46744c5212530efee3828e0ca42b +IV = 1f5bc949bebc5d2a9b994868 +CT = 6852fc3afeddbf3e0d7091f0c0e6b8d0807a0b06d10d8f72efed8f7c2aa92bd5a3133001b8aefe87f04fcac5643964bc554d02 +AAD = 64c224ef480ad0afa6d7bcd29b658ccbfabafb56 +Tag = 7795e5f865d189e5431b3a48b0b10d +FAIL + +Count = 3 +Key = 0f3a34dde3b70f0066a81742aaa91af1 +IV = 0509ae2d06b7e666360020fa +CT = c9e33d439a9f509b98060c65ddb65c53ba5c78b580aa7484795eb7db96bccf42044bfbbdfe661d2267e39a9316434001e4da34 +AAD = e329d3dd7e0175d3a89427ea02c05f5ecf195588 +Tag = 97b04882a153c676e5b1de1c199f84 +PT = 393dabc167535bac7e6c2f28e2fa81977c38436fe36823fa68d1f1d985a0223fc5ba9def1c18c110b80da306502a5864bff1ee + +Count = 4 +Key = 717ef7fe1361e1873fae32acd931a8da +IV = 7894a9ea377e867e72fcf330 +CT = c7544382ba39ac02c3ef260f28363731de7b233158f0b8157639b9c9c8f0731127e8f2df84d7254510b7e5d971694cd91f3168 +AAD = c74cce7a22c163caf599e9c6e663e7ce81d2a4d6 +Tag = bc1c4c3541abb9037494a22f156aa5 +PT = 72b26980e38b897f94cb8cc2ea06cda5b01bd89a32e3c9fdf236b368c2ae93ab66d0eeb17e997db1e88251305c23c1f0a55630 + +Count = 5 +Key = 87688b3a77846374bce6af76b5984eaf +IV = ad46da519bdf423d3de1c9c5 +CT = f4eeb4545e2a445a369974ef6aeebb9d9aac02550596c28d52a1f72af3b55b2bfa5ae40aabe93eb9aae36b38564783c7f86781 +AAD = 1f2fbfb28065ec056cd5d0267ae87e9951277279 +Tag = d7cdc3e052675ccf1796d184705150 +PT = 7eb8977f6c2048c1e8f12ff9847d8eb397235de546a7f1db4d86ad0aeea555275308247b797c26bd14f8d5a077d943ea535221 + +Count = 6 +Key = d10f3ce38847c33b0cfa785cba1ccb16 +IV = 2e464b36d8f8f4936a1b18c0 +CT = b1f1f95dfb0b1459e6ac78d38b6651b5b8a4ff02d2e1debe121523ff7ff030c08b4a55c48aedcc74775194f1a1107f7967ba95 +AAD = e0dc9abfc8562ed23989cfdc962aca2fc118df63 +Tag = c1e3694aa2faf46ff079616ee49da8 +FAIL + +Count = 7 +Key = 425c20c7a43ce77e5467eb3b9a3993f6 +IV = 21c0955a5a303b95f27c0d81 +CT = cba905acfd46580316ef018dd8f2b8a8ef1f4f8da9acd4ee1dedfc97420ca63642dea46c590828c7de840e75d5aa0e1fd0545e +AAD = c88407a310ae0808a24d9ecee0fc39b2ab8b39d9 +Tag = 317826fa48af55d67ded6caa19c030 +FAIL + +Count = 8 +Key = c05f5514fcdf078c4edeeeff63a02069 +IV = f35e833cde974171d330e67c +CT = a150eecbc48d94f06146e4cd35f8df57393d635f54db86c83369bf5a6579e099b0f323f3da31d862e9eedb3e9858b4ad04ee94 +AAD = 6d9e89aeb34d6ba2211fd01b9989ce5d6df5e801 +Tag = 5a5d41e0836c27799a037b58fe6a71 +PT = ae3bbdf195d89012f2945ea3c8b591753c4c5c53e77576c55508af8a84115a3a4f89268d6ba2ff7d48c0bbf8b899666b4ac717 + +Count = 9 +Key = 02b2befe7704d22266fff52a3500ba92 +IV = 68c0821aeb2f93ad00b0b77a +CT = 378786fc99be3ed8b25b7b50b0a569d57b4fd51c519f59c8b343eadf1d56f1e071715f4dc34bd5a0c6c79b84c5f612478798e0 +AAD = 05d3fc2f749c11f31f7868b5233a2e0235c77f43 +Tag = ae31ec5911a0ee014671354b33fe9e +PT = e7f4af7141f14455d65a26fd2bd392178ccb640d08f63521030cb6769ebcababf8a22baf24a51bb6c5f324084679d8bab2b725 + +Count = 10 +Key = 599d54b60f212a1035a412a57157505a +IV = 8be4601b3038340a15594bc4 +CT = d1220cf48a7d4c4ae00d61b1cdd9f0b4be1eee77db7d4a0767fcf3b946d4798ea78756dc218b61813d94a3e0ded8511446fa67 +AAD = 0231ced2be906a499e3e309182bee05c370fd5cd +Tag = 6385343aba0a2da4566c9089ae7ffc +FAIL + +Count = 11 +Key = f66797936a39d00561e8f6a6c20dc941 +IV = ccfb3eb63c7e4b9af7cbd2e0 +CT = e63971d1a8ba0615f5aa1a82957f7ad333ed9bbe8a0d3819e909b1d00c0d7b7e52839b0a3c00999be28ff470046d48ed6dd248 +AAD = bb14b3a5e0fc2479f15ff646de91b029bb2c1dc4 +Tag = 52733a5c80ae5bce7fa0bcd8fa222f +FAIL + +Count = 12 +Key = 322513346241302ee8a44152a39c8ddd +IV = 449d577cafa58bbe4379fe97 +CT = dfbcd5688c549a4f4f2081d981abe6fb7ac2663152840de3307fd1efc0f41cd4131f66ae75e7062d54e65947f939dc82ae3b5c +AAD = 02c8b256e29ef288ce6c26b0da8b2e8a8cb035f9 +Tag = 9cafa4ea546e0e9b191d00e923e56d +FAIL + +Count = 13 +Key = bed6d074047906d6359ec99892550c20 +IV = 407af7c2ec59deffd9ee9961 +CT = 87972cff900f66cc8f84a0230283ad241a5aa5788ff8031dc5bd3610c88788a8c2b31ff0e93c4f9512f8817484335e444630c8 +AAD = 0d7b0cb3f2710026367b1dc3d43932c603f0311d +Tag = 40a6193365deba6a9bf2f0c04b4a57 +PT = e30d30d22bfa5d6a1bd3fbfe81692e5565f37ecd83d0e04cb24550a825fe09ff78cc81e8e7393d6948469cd73489c7ce3b7b6f + +Count = 14 +Key = b985476bdc7496805d80d20b663e64f9 +IV = 6971e807f12957ffb3c415a0 +CT = 5818237e62c80d6c85ecbd6437454e3e97156a4c7dbd501a47875e22c5646266a80dcfed20e3df36cfe379ce2f092c64d09756 +AAD = 6ea8826035d4c6cbe193d41faa3ca5c44383c025 +Tag = 41a150316460af4723041bbe3bc919 +PT = 00b2822d4db1db78e8b431d60ad0abcd540a6d11e49729f734c34fbca2bbd3be3bbead53b93361a2eb9bcb6cb5624595266281 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 4b737a708aa9e4bc034ec957aa601397 +IV = d482e35fa99854df0b2d7608 +CT = 08165720fd10d8596bd929e07668a15802e0b0666d5720b0101b5a89af56635b59c08888680ef5dbabcf958b4699d2fb2f7874 +AAD = e5e426003d9ca024e4452750a98753c91a4be608 +Tag = d880dd9a5babf08af831d51949fd +FAIL + +Count = 1 +Key = 1fb96856880aea25e5dcea7d99b4244e +IV = 2d1bd0dad75409d408b81b31 +CT = bc23202adc2adbbe0c152e56b8ddb5fc8abdfcf153f402e612521b250eea05ba8c21b31b1840d1d7da2cc76043e1fcddc2503c +AAD = 28b1b8e802d47e4c3412ad897ff26a758fc03819 +Tag = f91154632644093eead772d237e2 +PT = 04493e1e08965cf446aa75fe5b9f86090254c137e89c318bdea5d122f9fd0a05c001ad23f2c4d3580e3d52eee48c93e977d6d2 + +Count = 2 +Key = 1405bb829c2e74359651060cee118f2a +IV = c8f414d44f41bb4b1eee0117 +CT = 5090c5d1e4680855a888a5920807ab572608eff4e882a88b014ada64f66c3b32160e8991d395cf02c1e3456fad92a9ee0ff79c +AAD = bf1e6a89b2ae47069e635282a590240b8ac6b05f +Tag = 09566077736eef06dd724eb4cd5d +FAIL + +Count = 3 +Key = c54e5ca645278067906ac197ed5cd343 +IV = b8b0ae4a4f7f0982e55b1cbe +CT = 24e4ac769c5b95290ea54ec5ab972fef1431f26b3d2f763afe89172800adc3cc1258e23fab52c03577d278127079978f12e909 +AAD = 38a7f393969800bfc559cc62b42f8b8017a33737 +Tag = eefdd656a1739e7e89e76e1d801e +FAIL + +Count = 4 +Key = ed295fc71e252221fdea479123617a08 +IV = 1e1bbbb4b6c0f2f45e3b0c80 +CT = 1c3c533d7df91a8a1cca139e928b3b264e6194afc398db3991585576b5c20dd470698bf31a23d92d799e47b66e620c3abe2d87 +AAD = 30eda7cbe812047f037a6e9c9f1c87c2e962365d +Tag = b2333e0f277953a19ef8ec93bfa5 +FAIL + +Count = 5 +Key = d7b6a4e8abad59c4f4b69e7263248ef6 +IV = e3bf5bbf118e1982bedea7ae +CT = 3e6e236ceccf0aef965db48c37de36b3c873cf28d667d5363cdcbaa6b0e0a5c04a5ed67ae732e988b195284b88fd60fade01e3 +AAD = 5f9a26d1085299a9567576ee9ff5758b544f45e2 +Tag = 642d33c1d2434c211e49e3e75151 +PT = ec82d7779aea04ab4d735f93a3363587dd27604a8ddf53f70af88f90a2aab9d60bd263c59f3a0544e21b676fea9ad6fd67377d + +Count = 6 +Key = e11dfcf3c7486c5b50f712ca3c036242 +IV = 3f61c5eea4d6abdf05c86f62 +CT = a5868f3ea47653c1f3fb84eafce290b88b73da2838826167b6dd3c57b99d9521bae864d85b458f1ddd6785247749faa54d756f +AAD = b59a693923b0d085df8ae46472af73d701590095 +Tag = f91ac389029942bca311449d7c2b +PT = c1379b43cd5923cd4adfbcf8fd7e00638c00122716a31f578948d93df67b8803c0f2b06783aa4c30042051fa8dbe0b9b19a91b + +Count = 7 +Key = 21e796a4f0f2ac2c4cfe16b1059790c1 +IV = 640444703fbcf008ee6656a7 +CT = f350fe5fc0c7dfc5add0dd5e26badf0571af7912d5fd1e75df4d8a4e4a04630392bf6b25498c851eb8fa9e6e860259cb777b0b +AAD = 24c025fec3140f9518618fadda04a4d1e0057f17 +Tag = 3ba154f0094895a8f88c72532fbc +FAIL + +Count = 8 +Key = b61092418ae8fd1c2bc81f35ac06980c +IV = a0fe05c3b5e3d8f21f0471c7 +CT = 6cde716dfd64df93d1e35c274a2d0547cb99a6507e28dbcaa31ce21cfb4bc85450f5482a4c308ab55a2c539d97dfc7acb3354b +AAD = cb748c52ce70bc57469d57e6ef8dd46628df5b69 +Tag = ceecdcbaae8d4940484058000e9b +FAIL + +Count = 9 +Key = e02bb7569e4129c19a1c3219d97e5abc +IV = 6c58a7ca3d715a645ca7c1a3 +CT = 818e58e015ff1a6bc7a8ae8df983fec324eea8155bb4a8b699c0319ab174304e3617ecd27229ceb7a6eebcd3f2fee88856da6c +AAD = 47e12b0ad63634363a90bcd6793921e7a8992289 +Tag = e8b971da6b7e9120181455dc41e2 +PT = bdb74cf1b622b045bc0a740f85c871f04f505f82390c992be00a59ba791240802460f7543dd04b254c1cfda7e17d7d98156008 + +Count = 10 +Key = 22e0f74b7c7b7cf8b29864bfd486d807 +IV = 1bb6fa216b148f299bc9ccbd +CT = db074e303c7ff13bdb6d45b3da22b823dad95ba412b569e6636bf63b6b7b8bc2e133ab780b0bc1fa1af7fec002b5987b72b5fa +AAD = 78e45576c2ebb3d5b5cfbccfdecf1dc3f8aa69a4 +Tag = 04a55cf93f9213a181534e8392d2 +PT = ff20384f08568d51fbe71455eff6067e1417dcc7389a36f51a4fe410b0077de0701c9756af5415f4e66c0fdcf41be28fa3da83 + +Count = 11 +Key = 2c1547f8c4820d23baa7ac20cb54f445 +IV = f7236f384044d440c39bc2f5 +CT = 11938caa1d8a00e4534cf7fb02c2e731a4e96978310b745d70688ec8a8cdbe547e6462083d4a9a04dde06461a03448094980f2 +AAD = d8bf502184eeb18aa592e03617e6ad666bc5905c +Tag = d50e6853f7d5f149f8078e7ca762 +PT = 55835e33527cb150898ba39fe07acaaca3f8c2e0352b9808dcbed6e9e17d54da661365234056f0c42d85fb6b18527144b336b3 + +Count = 12 +Key = 4738c422d95d1491888c19868182caaa +IV = 293cf1b0c702b75100762dfe +CT = 84fb7ec02678e17b36d2b8782fc8d6890f30715dfea63800d3597feb7c66021117e181bb47bf902cdbbd2e825375381c2cb20a +AAD = a88c173b21a44d6220c5bfdbdf79d97e311d456d +Tag = c3e509d270eafffdb9bc693fb432 +FAIL + +Count = 13 +Key = 247a151f1af9f1013e55f04273cd0260 +IV = 31c521eef2e7f5545f6eb69a +CT = d3b0ae4c219b776dbced657780b28ef09762c91ff5be61febf83a728e975ccbcf419dcbbf176670d9241f11397930ee8d3aa3a +AAD = 3798de8f0f7bab81530a2543aed71a77fe2f2f56 +Tag = 72ff5eb62b83266aaefc8ce3b92d +FAIL + +Count = 14 +Key = ac3a6459253c9dc2a5d7967e02d0531d +IV = 59e388547e729131aed21704 +CT = c67da258c0ab93b2b9d5a51942df8d7a19e1e935229e772030f4cc8c6f3ac8965c1b213166af023e6811e4517a5230cc871fd7 +AAD = 44803476dc2008b2cdb726da10470e8aea6f390c +Tag = 15940f382688afa8a84c23bda191 +PT = 43d4a960293f4323b6a366a6dedf1908fdbfba6fc22708b7cb23cc2a9ec9f13eb6a8c05e092e3333b56b11a9b4b4a231292100 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 8a164077faed49e88ea696acc68f8d1a +IV = 852e57d15f4a2254a93f8aac +CT = 1b2328503d5e6b522d59eb4969a54f053117cd190e094f121e833a628f8a7763d3fb531af4760e8d1a8ae2e2a79d8f84776e17 +AAD = 0a0ed4a9e8f30f307a24810b431df5f663f22626 +Tag = 90a19b97dff7bca8d591e2b304 +PT = c986fc430b98bf92e9e2076b3a332324fe65f50c21fabf34a2e6b3a3a12921a3e6628a8e70f9374b522183dd9cde4b9beeccf4 + +Count = 1 +Key = 4733d9707c87d39e712ea8a5f6e45f53 +IV = 1e6baa7fe3a211aa20a6bb3b +CT = 6109c87ff5dceb634a44e8c37640e52d48c2f02f509ca6fae50267963dbade3f3cb354379659c1786c4fa685aa2468d5e3f89a +AAD = 078e7d220232d53fc2b69e002580991e034ca663 +Tag = 563b7a05afe7734cdf4cf91001 +FAIL + +Count = 2 +Key = 220b67f7fb42144b07481c576fe3d6df +IV = c6ce228cd846b3ba94c0e9b4 +CT = 61b7a3ede3e7c67d08fc8702a6e64824dc10730fd6fbf5effa6a1c0bbb5d9c165b898e4a6568f637519c180c9f19e8c30f674b +AAD = 6963087104d5e24bb8f601774d2c1a4a9b1d418b +Tag = 572601569f33acf5c700347a06 +PT = f148eb47fc965ba4bd67a242e1195e06403f50c1d7493692de43e5d9bf3bca83a6c3471fd8b615bebd5f8bc34ed19474d58ec7 + +Count = 3 +Key = d7920523edce4bda1c841bfe7a977044 +IV = a13186f8dc88f91dc0b5d277 +CT = 7781f7baa1df003c5d064fec57560685beed01916521118ac619167d51eb2163ce70122d6b0010da44b4368064aa019f7c0347 +AAD = 0b23ec90880fc46b05e55083e524f6f6df7c415d +Tag = bb1abc079f9c3a5e52a21798c4 +FAIL + +Count = 4 +Key = f4cd6344ed9b411a4e127df09e28afc3 +IV = d3278c2894b76f8461509d5e +CT = 2261a898fd30359c10ccc588a3a072a1e4551c8e0d31ca52c0cacdc107ff44899c2f9acfe7d329b2f445dfcb99e88793f33a97 +AAD = e580deca38cff106b17ffa9f566606cea27b7543 +Tag = fa5cd9b4694bf435a046f9e8c7 +FAIL + +Count = 5 +Key = b9fd7c7fcd9a59c7d29982cf68ec3d07 +IV = d4d0a07ac675a660a55e323a +CT = 25cb5351e1b49219278353028a3319fbda633dd1a2c79ebe46bf9fe44c10fbf38d089ea786d5beba0c98915971c882627a6f42 +AAD = efe24394657b48900b70b2811a40240b4862a9ae +Tag = bdf270d9ccc5bb9a74e3816069 +FAIL + +Count = 6 +Key = efd997cc9c7c1b199d2a133cb2264100 +IV = 6234b95af68ebed0a97d81bc +CT = 232b22af9b5b5ac47a61c5481efb184859ccef2abad6715d47d111be834dee0c47dcdeeaf19366a16905257c9e7f98bfaacfa2 +AAD = 57277e66c3473935134f8d3be6abd0e330f05163 +Tag = 69d341659ae8bc2d7bdbb3c2ad +PT = 06beeb0b7286c856aa3134158546babef8800dfee1b5385fe766e61d7b52a20b59c652715669a9bd629293a44e53755c77e3c7 + +Count = 7 +Key = 7b699a4791945d7f3aa76600648bcfa4 +IV = 47054c065328bef7fc0e5812 +CT = c4d88feb89d440e35f1e5e27b6586d406a053b7ba86fcc59e6749d8bf0f2567acf7fb6b20605401ff08dd03ea01da82116edef +AAD = 2f227eb8c0e1d0ca63f1f3d83d210af36a25fb17 +Tag = c048941f2cc5bf9cfa173d961d +FAIL + +Count = 8 +Key = a76c6b2db30d7f46e00bca45ba9e16b7 +IV = b7afb4b427ce7077af28d429 +CT = 7b9e9210b0c9477c4081fbbcaad505c0926b4f3acbce7b270ddb6ea391ed9231f472ab3a05c183f422b5cf7aff88d5b47fd077 +AAD = feac841fc26ad940069e03067f65f84e70980df8 +Tag = 246fc707c0ddfe4cf995dae9d9 +FAIL + +Count = 9 +Key = 01d7a77ea82d0c5ffb84f109f371048d +IV = 0a79ae8dee4cf68190020d3b +CT = e86d498d33446a4622afaf92b13448f4c8f822f6276b69a960788ebaaf7178cfd2653a0c0379d726869fb38a186e649961d19b +AAD = 1a3d41f489e25bb1f639a0cd789639401d22b8cd +Tag = ec4f8b968f1042315605c0f8ba +PT = 17285e123274b316927809859e63993f52199cce488fdd62ef00bca84e31b7bcf9cc02eee6c5b4225a7c0b2c22f710bd1e3234 + +Count = 10 +Key = 78e53ed07c0f162406ee17c54344e2ae +IV = 6ed7b5bb11c6a939cd89ace4 +CT = 070a337a3d84f6a6feea1d941c8287c2705a4b3af3e47f90e51303b7d37b9b9d7f977c2759a74ac6545f38d4022b642a6758de +AAD = 64cc7dadca51bdcfa9fd03969c19b356fcea6b81 +Tag = 64dd1120250dfca1efd3a3043f +PT = 85ca499a25cc7a85b22a8208f48f6316f6d06af9ef8589dca095d58e2a75ce9d41e9c4260327799f43de4939a9ca3b3fc66d26 + +Count = 11 +Key = 846e2475c3912e4b75da92a430d0e177 +IV = aa5eaafa180b2f0dd7541cf7 +CT = d318d7d5611cf386f032cd17176b44ee8c75fcf22d7ea15777dd2c4aa5ba642c496d247cf1c0be4337c4908c08efb330236b1e +AAD = cad02ba0c2047c517610e40eda3adb5e219e9d37 +Tag = 1104100ff72b9391e257ba231a +PT = 3cfcaa5b9c6dfa0d25f2b70b7ba8be6847ce50ea382ad00c324dcbd622eb0c10603c2ce478491de79b857813321e930c10654f + +Count = 12 +Key = 8b80042fe214c4d82c703ee81669b1a0 +IV = 263b57f7610926b39789f5c3 +CT = df2f08515aa66ec9606226c2cff43715a9ad9f4173b71a7b4d8a6ec6b52264b3cb6faa83c87b79a1895e594b93e7bc8dd86fbc +AAD = 487b0391196cee1bc472dde20b526e3374f11d03 +Tag = fffc5af2a1d430b9bad2b6d6c4 +PT = 91c7501e8027506803205b8affb6f5636c3aead5c3d00e7c16b045235fd02580cd4d79b6eefb3b834f239031b37dbfd8e7aa8b + +Count = 13 +Key = cb7598a97a733b7d86bc09b9c193e5e0 +IV = db125861e7a5d10723bd6f68 +CT = 1b640f1b306f28bb1d18aa97b9d90d256edd60218012c51acaea877f3ee84952897ab903b0fd7b6c897641665be809535e3767 +AAD = 7bb8c6b405173e66e6ef7d7c2d8a372900049935 +Tag = b2b71b4956bc8ea5f5e801f03b +PT = ee71217ae4197ad10701028ee4f9e07647a14c97aa55e39096c2a75c0e63ed9346906b053adf253f21e2e34c040e3ea95a6c8d + +Count = 14 +Key = 610dcdf87862518c89f95553115fdb00 +IV = 653c44005e5e363df3bd079d +CT = 15364272debecb410bd73f25a3a6180228219d525d40ff6a77d32645174f64a368192a3d4352a9507a995cb633a4aa051e3b32 +AAD = 5983d88a80c8b74e45707890f8dba70c2c203860 +Tag = 79ca428d3ea182020ac548ce20 +PT = f927483c92305709d66e4b7a06e06f3ddb4286bd2aa2af58b9fe949dac1e83510973dd8d6141c5e6eb11d8495470f28e55834c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 906cf25ede14af7149b033b3229d38ea +IV = abf02e568e1711ccfa861fe3 +CT = 721ba5fc430fb49677436bc9ef594000fbe9f8c4dc2eca304ebc07b4ad81f80cb82bf280f02843f717b4ba3988b4a2e56f8fcd +AAD = ec18509c166abe5fc76e69351fc95245c293c5f8 +Tag = 6ca38febc2aa38bddebca668 +PT = ae2b39d948f5437a820cff104dc5ea31d09cd2c0d426a9201ba36a3852bc5b52fb148b9d67a7e344cd4272d4b994c8188ac02d + +Count = 1 +Key = cdaa4a697f5032e007068338d72eda18 +IV = 428b67a4a26c073ad0577d27 +CT = 2aa86a99bf242eb32f44ac0822175da23173a4e87e56a8361aca9780616e296dad95af8ddaf739f2df0031365ce6f4bbe1b0e8 +AAD = acaaa60c9da42dd4e6c326ab265bdc6047547c7c +Tag = 67507db31a70bb52e587afa8 +FAIL + +Count = 2 +Key = a9d7393f42ecee477a47f1c7e8fe5500 +IV = 529315ecba51e18df8a77da4 +CT = 98c361fb7f74bf28980e7c1aabbd356829fd759ca9deeca6f09b500c78e061f210b891a668af052e6d4313e6306c1bb365797f +AAD = 35ce38e26fdfa8d9d3ff7e2f0c5273b67a164f62 +Tag = 91f04c5b3f644dcd1a9116de +PT = 94f61fd0c76da01b9168034fc7fdb48436ae2ce2e4c5a8d7305e1662b82f1e7b468bff215f5d3764ab97efe43e3a0940601fa2 + +Count = 3 +Key = b6f6fb45a1f89b51acde4fa702ca2162 +IV = 56798ee1321072dec956dd11 +CT = 6d2690bde3400d74ccfe6d2e2de9296ac2913b9132a7c6818cbcbebbd13846b9d74098a5c27516b2a5d3a9e6031ccf1c64d8a6 +AAD = 8f26d86696043c08dc4693be122a41fa8bd12695 +Tag = 4dc9508acb7f33acd816f324 +FAIL + +Count = 4 +Key = a92cb03c8b3159cbeb7595a2dcbe2a25 +IV = ff1f72118e2c19fd3ad36b8e +CT = efb949804686dbdafbaf0b58e51c0bccd2ef4e0727a7c6e694475ee38d85fd6f795673bd042070f70334f76f0809ed720f84d4 +AAD = 4eb198506451e32b7d4c4c3b58b5e040a74518b9 +Tag = 194a03e00766d315645fa2f0 +FAIL + +Count = 5 +Key = bd359f4394a47122952ef924ccc6eced +IV = 0862d1c7eb86bf0c2ebf4d85 +CT = bcf2066c793679e13247df3d79a0c5a149b5d06f17babfde4617e6f078bf4a8d97bf359d9fbcad084d93b9d4c516fbc5b7649b +AAD = a8b16c43288a9576f17177875e1e93b29357edd8 +Tag = 8bbc863c3a4712124ab6fdaa +PT = f69e8d286a76b667378e2759af268ea5d2c5c7a1a8ca3711b6666d23938424d5f17b2cb7b988d94897b1f1450a4b1b5fd5920d + +Count = 6 +Key = 1d3db0a649b77a15386b13184778f23f +IV = 1558c16c868254adad2f3bdb +CT = e76135ba46afa060130857e3b9b0a6937cb3df0df1d9963b25e631e6928c290eabbd10aa5df2f959fd1f034d22736ff92901a1 +AAD = 5bf4d71f911480cde6d8aff10ecbd82056b7665b +Tag = ec82bbe735826edf8e5ff87a +PT = 9c8f6c072dcb74df503de5b668c4ee151f53d2c2b8c29410fb814ef4ae76e0c645c6231e9847946cfe8868b811b8de3e0a4261 + +Count = 7 +Key = f7baf9f2e72675d56a6f8dc363fa8bfc +IV = ffaccfaf78ee5750f0859c7e +CT = 0c616e55054bd83dae2a553c85e40326bc9c1fe21577a5817ac15ecf8c2b2886a15ff4c8bda81d5bdfe2f04529c4c21b8a8774 +AAD = dcba48cb0c2b0508a0f89d7b436e4ec31303c04a +Tag = 535079929713eef14b752bba +FAIL + +Count = 8 +Key = ff538a5fab629fd9fc190d953f8a561f +IV = f047ac1ae6f9a8099942749f +CT = 40484510643b664b7ae9ba1e4d42b28e4fd0b804503b9d29603f31bc443509cd07c8d09df853fd70a3b8be925d50ab86518d8b +AAD = 2289f8f029fc44f310774f35e2d5704bf22c354d +Tag = 071512c68cf477fc909971b7 +PT = 5cde0bff937e6699b84f1dc5904880c06bf2b15be80f7fd18d389d8ed7ec4345c870b56427a40c9bcd24b9f0323bc37d9d973c + +Count = 9 +Key = df20fdb835d0d7b621b4c46089d03c26 +IV = 92b5456549076bcb1eeda45c +CT = 6cdbf5687063793be3a34346141051e08fcb38a541d5fb1a25b7d2fa6715bfc03cb6b046ce00718ae7434c4487eff3276a7ad0 +AAD = 96d954d4bccfc832767ee27fd1a0be7d57affdda +Tag = 7b65570f601c050c7cf9d4a0 +PT = 6612a6a36b659715e81e4e79d6d05c35f0447b23a3123b5974549e36ab52a22c42456cfbd0cd7ffab39886c7cab03667ce1484 + +Count = 10 +Key = e0a80b4194e4f8390caeaddcacd1c548 +IV = 0c35c6d0c0dc71a95769590a +CT = 2275b9d37ac50d761de6514b7b2fc57787a3c9a4fce539c229e013c2adadcff6f1498e509e2cee95cffaeffe965718863fdf09 +AAD = 7e223fe31ae5ac4d77a76fc5f51ca3b20d0f0eff +Tag = 0060d93d760804ddaf504559 +PT = 0f63dc1fe91c59fd660b0e4047394b4714e0572357046fb1b59b0d732234dc74cdfb5bf8a5b70199e7cb72c3f8d2954654a541 + +Count = 11 +Key = faebc1d50e1b5ac339c08ab001b9da2b +IV = 87011cf2d7577b414e8d1df4 +CT = 1be6e628d684ed1b4e3da855e6da1e14f1eccc8ea694190c13adeb92ea6368dc99c0c7d73c31e44697f2c6dbb4ba883dae0853 +AAD = f11cfc61d58ff85aa856b00682ed3a79a7698bad +Tag = 49a78f00cf93f8500b395d13 +FAIL + +Count = 12 +Key = 898a4a7b862ae52a0653f74dc4ffe9ca +IV = f288fc8eaae8307749b0256c +CT = 5f3fe344d1d56322dbeab7f064c1ff5e9b9cb8227e84501b7ef2f9b6998351cd64d55f5dcc9ad42a4834ea56fa7130a821f2b9 +AAD = 0b964b49a889a357ee247c35a8a633dd0402fba5 +Tag = 1ac2e14309383b3f6118a4ad +FAIL + +Count = 13 +Key = 77045d507371266119b64b75ccf6c3dd +IV = 85ba9b290694a87d7e35f0c3 +CT = a40c3319c37747fb7ee4689fbdf8939970a9efba54e274752bb3be92fa423a749ef0cd96c3c5974d8fbfd640a36cefcba1a520 +AAD = 82814715dc333dccc04770111b4475b4d3327447 +Tag = e011a54e4dc25158f610ac0d +PT = d70f821efc8e77ce4c70e05c4668c979aeae1e5026f6d807de9ae295276ccf6b790f5eb6b6814ae179d824516d23f8a8669d1c + +Count = 14 +Key = 651122799111c4138f6cc44767b34006 +IV = a891fef80dc836deaaf6317e +CT = 2c764e908afeb60ecf03ef2ad73af316ce930617ebcbd01ecf6c67a617ecf97de168ab25802b19286f4b76253194826cd91b0b +AAD = 5eb05ddac9d2521a0c0cb7d268809c664aeb5b97 +Tag = cbed308ab8e8b8003a1d0826 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 8c35ef2ba942f4ea30a255386ceed008 +IV = 3af2350d0df541f6ed519c02 +CT = 4303429f5270205130fac30f81f596cd598b2cdc6ed4e2122d7b4cf924cda2f93c3d8fcab142fe98c961724756aa3897fb2e54 +AAD = b32bdcf4054b363fc15798eb0461b246876c20e7 +Tag = 2854853c5070294f +PT = fa0eec190e2d7db7db137b705a8b74bbbfa716e26950228391613b28506bc2ea5fc088fac300cae53ece5cab176e9fc4790da1 + +Count = 1 +Key = 4cfbb45bae51c04286bdfcb50392a737 +IV = cbef62c1bb7b17eecdb9a66c +CT = 09edc9950bcf79524634111551418db0b0fdb26ac029438ba1d8b57ca95bc8c8cde54e4894d334943c3e5cdfc489356684471a +AAD = 00ed749b75c086b3beea72fa70d20cf1de829d36 +Tag = 079fb55aa2cf9ce0 +PT = bd18f5a4068b33ef3be22ab06394b7e242e73b556474b882707fe749a48e40dba15719b6e7f33442d641e1a1bde7fa8dfb33c9 + +Count = 2 +Key = af484053d326b18595c709ca59fc8418 +IV = e6d96ea77df6ec39c38482f7 +CT = 27c2787fb26fe38f1802df76bfebefded8ca5b9f676ac05f25b632db62154799aaefe5fd0e0e8386ead81753e86ed16860fa5f +AAD = b4195b0b0052696d677940ee5b3ce9b15d91f05d +Tag = 36552f928a5ba746 +FAIL + +Count = 3 +Key = 64a0f36922ff03472c030fd1faa61595 +IV = 270ee8bf67018547f8f8b14a +CT = 7b5e93b65c62d0e69449c9280660a2e9a627540d2e47f898b0ef835719547f510c3dd5fa764dc8c3e46fc80cae8785b1729cee +AAD = 14e225cec8532e7dda7094e6a5d94b80679254b2 +Tag = 4fe7f943b7c6cd70 +FAIL + +Count = 4 +Key = f8ac3bed3163bce9f6f183af9acd7e04 +IV = c3f94aed4f3e9e55277fd76e +CT = ac8d0e7f33e74eb73486d30006b73c087ba291e7d4b9e39bfdc2442c1968cfcc75040eeae3c6b7d7cf480c92cc2b454a216ce5 +AAD = 56fd603f201f0c0840cba12db2f23061d070a80f +Tag = b4be87d76bf2aeb1 +PT = 9d5e97315675e7717f6cfb512288a409da5a9882fe1d1768ad703ad092edbe5ce66a7e96454145a91d1ed6a7de5f6a794d2771 + +Count = 5 +Key = 846c5c3f99bfadbf7d4d9d1832bc88c7 +IV = b77eef2d5b5dc10714803d75 +CT = 9c29c69a9455c32dae4920ce44a76e25f2bcd2d7f5c039d796db1e2e46534214bf81f489b27ddab4bb3ae610d7c6f018008cd1 +AAD = 830a872c6ad88a14771a37e33396bf2434ea2e63 +Tag = fe187fc85cfb25c1 +FAIL + +Count = 6 +Key = 432b64a91ad297c36a36a90771589172 +IV = a5006538e8268f21b5c9456b +CT = 036305148fc51158edd75363da6d4ee98525b45d65228ec7db6e989637b2b92bf9fd60dfc50c8241789422a729fb54f85570d0 +AAD = ef26af252565a802983d475d85e7d8d6d10f3dd7 +Tag = fea61d6c478bd6b4 +FAIL + +Count = 7 +Key = 3165daf252424776e387663d80390eff +IV = 183cf3d7e9204d402895f29d +CT = 6bf626f0ad60b2d36dd918ee9b3020c9d53807cb86dff634d3c91136b5c7aa0dfc2717b1970bdd972edaaa63068765312bb37e +AAD = 63c59c088c1a9f123c44999089b77c5f03d61758 +Tag = abd560b01c4b7fa9 +PT = 927d53dd16c464efa326860219b6490fd7a682eb27af73eb1336ecc7395fcb24152921e02af49e9536b7f6b301d677dc40a687 + +Count = 8 +Key = e2a65f424a30a101012b2bb53216f677 +IV = 0dc6a982bf1a508a12af91fe +CT = cda1de1ef62f49ccf5e903310f90934c01b9462b8e781d91bdfdcd14204e2798360398deec46f64b716f4dcf3d92507ec8c386 +AAD = 633e5e3e51b496925539f83d322353625722d46b +Tag = a9b0d4d76dbd84ef +PT = e69b5c31139d842c52f441cddabdadad1c49509137141440cb6aafad83168242c9f475052b75588b204280341ad0cf3f192d23 + +Count = 9 +Key = a87613c756ca4deae3f61a1b7e869368 +IV = e7d664e0dd983e9a4b07cc25 +CT = 59c4f9fe8a9cfbb28ed048660ebed11c0b2cca2d2ddba006f85728427a2089a79aa19afa28cbf698185c19b0369c0f54515b8a +AAD = 3cbd9966cc94abd4cc9ad12a4190dc80e4d151f9 +Tag = 71b95c6ed3b3f5cb +FAIL + +Count = 10 +Key = 1e3d7dd2d17f7dfd11a78de2586fff7a +IV = ec6bba19b56fb50734fab015 +CT = 2457a4ea802a6205e398590f77ef616034caac0c34af0f3801ceb4024e31ce3d6b8060dab7a78f083dc07d379edf715f20877d +AAD = 73d0eafc3db8243dc575b36536a1cd700e89fac5 +Tag = e732d8fae5a1a11b +PT = 66e1ccd7cf2564964f1306c7e99746218767132f9ec2926ece51071dcf79a9b88696af885daeedc3b026d4360dc1ca3756ba64 + +Count = 11 +Key = 157946b7a51f9a141b35604e7361917f +IV = 309e42a0288bf7da74d27de4 +CT = f2f25d7ba62c304caa0a8f934c4ecb4e8b154c241cece673707d2e23b0145cf09ffe19da4e0e8b939d7b6d2f0bb09666d539e5 +AAD = 76e056f376cd6a6805ff9ab06403a699abd325c7 +Tag = b252c01b1421b1d5 +FAIL + +Count = 12 +Key = 292df1dc0c0ec252fc43232e1b9fb819 +IV = 78c6eef9c3d0bf3af73c0f89 +CT = 03b05c6f38dd4f23c75e87c3ecdd7584204f7c1bedbfe6b8e3d125bf9308e45fde9d53b640554e94b119bd122297f97e46b00d +AAD = f60cfb4a0c9f870866690efe034718c69e31d1ad +Tag = 09c49a0f11daa91c +PT = 3d501ec081954e0307a270fec3bf94996b15a70793fabc22d1524fdf5b478bf9029b23f27f998221801130b760e1ee7ded6467 + +Count = 13 +Key = fb17982d1b1f98e5f1777241d4cd87c8 +IV = bf6bca207b97d2009e1a1b34 +CT = ba375f88b1b5560caccaabf7c6e289bf67cdc91a54c9cdbed1c6173202979a10a3a390ba2aa22a43ca2edf271d88d8edd5fb0b +AAD = d7dede599935701c0154e57327311e34adfa63be +Tag = c0e16cb64d18a8c5 +PT = 4a7fe7f1cf90e05b12ceaeb3320772f0dc8c5267e20ac88214a04d2e953a274b3914d219ea0e28a3c4bf0593c030d1fe19e9e7 + +Count = 14 +Key = 35e259606b84b2f48f8834bb3af0dcc8 +IV = e970dba183849f33053fac7c +CT = 17aaa1bfbc8a6707a806fcc09d87c10edd9744e3febeb20f1e751c7a89c8eac92eec349e4b6812fa378bd71a5fc4f84846f561 +AAD = 47973d71466603a04814da0f032fe36b88c71203 +Tag = 3fbafdf51dd6a559 +PT = 568e0220e6c3c6066f9637b074cb7b60d976a8b42d0a262f49a3e9d277f7af1031cc334c06e6943cd0c2184682da00ea678b08 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 93ca81f254dce5210627780d35a19a0a +IV = 051822cf1cdfa1bd2caef50d +CT = 4436b295380033e252b14458a7811e6d8d2b6ffdc3a365b8ea1cfc5b2f513b6450790bf50a3fd2a1ef6512de5ed9b1d8135bef +AAD = adf6d2e54748ec3f790af9fa8335a93b374c8bec +Tag = 718553d5 +FAIL + +Count = 1 +Key = ec507cad136149fa758a1dc922fa7fb4 +IV = 6344ddfcc14ca7e8e8d759d5 +CT = 00a624c545238e411cd916663caad6da3e54a7665cef69c100f6244c573d1cabf33226b67ba2ac5dba140fedf1b5761bb720d7 +AAD = a095fd5c315654d00cbda89056732c669f60f9f0 +Tag = f2e369b4 +PT = 98164c31a87d79bbd831b9240ecb87850e5a10bcc86d713d72a9ddb2acdd81978533d843972ccba5d61ba5a5e55bf6f85e5ce2 + +Count = 2 +Key = ccb2eced59a7eecaef291625a7d6e095 +IV = 505043b20859fe1fab657cc8 +CT = 2d8e5a8d48907556bdab39e7161606d702728829ba10056d0582e8510c386fd8a6c7bcb037de50d0eb55c648eb641951faa79c +AAD = 4d34c4176e9e69062092b74ccd8f7a4751a07425 +Tag = 614039ef +PT = 74658631c6e9ac7d328161a4b47c03360a1155c1498a3e86cc56f7eb24233f8eaa9cf476abb82f57ec2363c99f72a03b4d2617 + +Count = 3 +Key = 6cf964301a0f4ac8b35f0233970810f4 +IV = 4121f1f60ccaec452c84f626 +CT = c8cf736ca6ef66353667df439b5b9a52ffcefb8a9913379a9fc702ee6c82dc672f7345644ec9cd39f2a7f85207b4223794ab61 +AAD = 50c99f3b44dbe0feba82f04e2c7bc4871a809dc9 +Tag = 20704336 +PT = 26abc4c63fea4e7f20dee1104ef94613c83482efd9771e3ec8d33751d2d8cb9d745adb739dea9298ef770d0281e95c81439f2f + +Count = 4 +Key = c3b235c4150f2fdb46a2d90159d02b6e +IV = 4f3c8456c617475cd331fb8f +CT = 4a29ebb3265a3f197b7662f687c80b0cc4c73c9bce9dc5bddf35f7694e2fb53ce439bb164afe720f4e46b051d7063ffa44fd2c +AAD = f5da131370fb67248e292dd797830193cc5ab901 +Tag = 0dc5017a +FAIL + +Count = 5 +Key = 792049a64cbe1e89bd3dc9df4ba8787b +IV = d1498f2d9dabb0da8f7ccb2f +CT = c96a8789d4d30f9870e3e465ce7aae6eb4b05ddd452ecd807c297e5f11dbf41efd9ae36be99ace88cbb3f99683c3ab656fed56 +AAD = b78cc881f8e8cfdfc23274969eeae434cff5cbf2 +Tag = 4ec4cd7b +FAIL + +Count = 6 +Key = 62897c199a7bad2b8cdffee3c7792b49 +IV = 1ba5f99402c2c6c3276e379c +CT = a5a5efdbb2378d65a959d0de1ab2b78fb5097ccc5993f2f695b79fdf6c8fa6fd54b0c11d45036e23250c1ff240f911af8d1ab1 +AAD = 7c6031b0014258ce2728183c40efc4eadda267c0 +Tag = 031719be +FAIL + +Count = 7 +Key = 5383225ee26850e6fdd040ab024bde31 +IV = 0417184745efd65b5e269d34 +CT = d7f8971e13dcdd48f89ddeab59374ec9adce91b7194490368fc8c4d3f7268b5d94f9dc51ca0bcc763f0af46df0a38b2841bec7 +AAD = 93ef8837ccdb11a8fbac4441b97007a2014a6035 +Tag = 130e6195 +PT = 90f8e24b635a0e2cf729d1243cd6c452d582dc5b491b0cf59302fec0435ea6c31d4ec3d085fa5a23c1bca5d01884609ccef232 + +Count = 8 +Key = 6cc4f951f1496dc366bf093201ca42a7 +IV = cbe46c5e0af85ba45320ee0d +CT = 8a2dd4e3cceda16eebfef0e647cdd0569526b275646e425c0c476c662bfc6c59dd8fbd228d3c633463e24074260fe4ba152c50 +AAD = ea5f429146b8a61ac7c236ef77e52e3c88d3a1a8 +Tag = ca3094ac +PT = dfba1b0e65de6df8263a758940dba6ddd22dd406715737613682913f1ea537bbfc39502428f03808672c8cb8be93ec0e3d18bf + +Count = 9 +Key = 82deeb42b66489896744a7ae11fac9ac +IV = 73e60279a4133f60be696873 +CT = c008348e84bce9543a15150970db9cae44b472ea3367d63b8fb25e6391e35491659044c349eb13009c66c8ffd19f6e7a23c782 +AAD = 295231c1286283026342e241756666057598e085 +Tag = d81cc87b +FAIL + +Count = 10 +Key = 3c9cc899bca65bda1f5e99d5e52d4aa2 +IV = 00e3977cff89cca6930930c4 +CT = 2015ec742321734e1b44858cd4210129af9305a2bfd8849a9b6046a709c6b715581b7a86966fcf43e67a98f0dfe7d422b32591 +AAD = 56e1be2a093653fa59587732558fe4087acc1457 +Tag = 880d71dd +PT = 66dbe2775256a8e48b5d2c2b096a208120deca141523dade6dd158fa504d2d4fffcfcd47b87789fc6c57e3eba3f85735c80eb6 + +Count = 11 +Key = 409164086d511bdc4e08e97ec85b04df +IV = b799c050457635941a404649 +CT = 2030494db6a3b755fcbdf1833533eeb3e7d283aa8b8027e3a453c1baf7c6ff534986ee59532742fd8bf6a57e670d5c6b263da6 +AAD = 58e8e5576d0582c2a5c9daf13a9fa1d08a4f559f +Tag = 244c7755 +FAIL + +Count = 12 +Key = 1ea68a502b7ecdf68a781e9765e35ee9 +IV = be5ab0edab0d7aa5407ebbdb +CT = afd7eea00826ee91e66bad76577f806c41976e09f406a0bc362de4041f3dd0157cd41aff779587fd4f4bd95ae17ff4e569f579 +AAD = bf8103c1e4287478246319a454773d71e7e1818c +Tag = ed8b1014 +FAIL + +Count = 13 +Key = a6062033691a2886d11081825c140a88 +IV = a8af9f18727c1ca86ce5c890 +CT = bcc8a710daf7a091d413a4eb1ac4ecc8f8d18e8e84a109ba848ef7bb0826eb9963a1197307b5015e8a0eb361ee45226fb09a0b +AAD = 5d58ced3ac52df2cf3d386d5acc396b71dc8d9f3 +Tag = bc7b404f +PT = 8fcd33d7d348a0305124222b1d659c4f3d2997085472afac0aa51ac3463a311022f394aa4ac84cf6426d56f87249983c6994cc + +Count = 14 +Key = e9a3ab78af373d288fd64097b6a80526 +IV = 0036eade089455864b0683b6 +CT = 9d2891d21d8247feb7960b5419793dc282510e1610b8363027d5d3e11eb6cf6097c0438c75fbd0cd3eb5f417cf8c84ab9b7288 +AAD = 543488d73f9a23aca76f80aa9764e098f14adbff +Tag = e9353734 +PT = 97e480f29139727fc5c7984af95e6ace26b8c186d6507d36fb700c70ded1e113eae380b9d54593138c3e64f07451c42b3da896 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = e7c650a8f64a900857eaf8d95c49a807 +IV = 961a0b83a36b79acc1494da5 +CT = 70954661360ee1dcc5ea22918fa89bbcf56aa6ded04b22fccff799d773833617c9aa7ddb0ab9c170d6a44769bce9f7fe287c68 +AAD = da9ff7c1529f9cb75c88cd890c9a1af493db5fe8148c4687984c070442c5d501434bbaab1dae06cec6de0606d59da3d0 +Tag = a0962c9259e7d4a9a21e9328e93c754c +FAIL + +Count = 1 +Key = f0305c7b513960533519473976f02beb +IV = 1a7f6ea0e6c9aa5cf8b78b09 +CT = 30043bcbe2177ab25e4b00a92ee1cd80e9daaea0bc0a827fc5fcb84e7b07be6395582a5a14e768dde80a20dae0a8b1d8d1d29b +AAD = 7e2071cc1c70719143981de543cd28dbceb92de0d6021bda4417e7b6417938b126632ecff6e00766e5d0aad3d6f06811 +Tag = 796c41624f6c3cab762380d21ab6130b +PT = e5fc990c0739e05bd4655871c7401128117737a11d520372239ab723f7fde78dc4212ac565ee5ee100a014dbb71ea13cdb08eb + +Count = 2 +Key = adbe83a792ac133ff5088b49dc8fc54c +IV = d9ff7ed76c6c34d956917a8e +CT = e12d324af2e723722fb5ace9da7c3dc0e673d2ee294e414b5abbbdd2dd4fc688e5dd6d2e961533e9083b6ae8e712b7b23339a4 +AAD = a81f2b8c138d3e629b6e06a9563e75ac5bf024fc53556dbb9e008d9fa551835566d72b15b39f1ea0d9d6a53ddbd488c8 +Tag = 6fe3139f1f75228545db7fee6965fb17 +PT = e76f356343be3e1fc9e2bd0f9dd770c876122ddf1d6270128a74ca8394ba47531e82e13b0c9f028fae18110f2ac673de832085 + +Count = 3 +Key = 32406fc5ecd36e327c45c9e783870b54 +IV = 22e95c98f482982ea0f189c8 +CT = e8396f91e757cc47385e2d45a0dd8a3fa34350a9d1e0cabadbe73ea2b17b866c7cce8df163a802a7e207e80fe6f11d15f2e483 +AAD = 635ba2c5301e218182da81805de97b2aab5f163397d319c4548dee5ca7fb4a6c601f667da3c542347890e267f94d613e +Tag = 630431ebd61f8f2e01639d2e6cf3acc8 +PT = 3d49646a76dafcb7ff78aca9415207b107afe751b2cebc1757cfc74402f15f89c36ebad397fa033d21c26ece33533c4d80897b + +Count = 4 +Key = 8e184c0f49d263a9cacdb83821a33c98 +IV = 06d8f6969a2e0569ee0f7872 +CT = 4b8497667cca8784a01300f2869aceeb6161f60f6073f11470a14b4b2f905cd9705ea3938fcaff3f2308d5e9f3aa7f88bdb808 +AAD = 655730e35b8f91ec3d6c083baab2751c7dabc0a4d29d0bed6453b2ce8a468cc0f0bac9000f8a86e468fdd1623901994d +Tag = 9d919fa4c13f38c9134d7893d832fd30 +FAIL + +Count = 5 +Key = 5d697b8c61784d02cda780887e57fca0 +IV = 6a7aa3548a1a23c91b8785c5 +CT = 654855265d5b61777a7c0a8b8239c74cc9af1aefbe80e76b415a17e148aae92ee3c9fdf391dc22fe1d77805cf18faf0be54823 +AAD = 57add18eadebfe0651f90699e1eebf168447a6d61db412f72acadf77f8dc5f27e0ca9bb5e5a8d02ad572782684647e23 +Tag = 813db300a2a25fc1791e98e7d8852ee6 +FAIL + +Count = 6 +Key = d7fbc15e1a47d60e64a15933eab1af36 +IV = b02845c45a33f58c5c33e729 +CT = 259f6299e382bfcbd8b217c2fed076799deb9abf3eb59b58f07f92121b7dfaf9d37130ae708898c281ffb1b22d8ea08c16c674 +AAD = ecbbe60c54a60414cc5f6da3634d03c0b78ad70dcb9902edb4285ccc148f7d30bcd14a1d8a8dd643b50cde910fde964a +Tag = c23e799000d36b0456c7ec1cf6b28285 +PT = 465a3617259fc4fce31df80aa4f7254065cb7c9e1b61692c42c3ec5bb8c13852c9b826ac886d86802d92bb63d5a0a3ad60c6a8 + +Count = 7 +Key = 3a90b1433b1c18f9e2d284ac1022add8 +IV = 99c814d63bb4835663fe8b0a +CT = 5fa507b9a068a16dd098223db38600ee3e2a4cfe7ed0d484fc24602062fe3118b112a0cb7d960616d4954f0f1b6bba6bdaf0d6 +AAD = 7e61eaa0442e1ac7fe336036ebab57140f5648f44a11968d63ee287de2cb01c5b1c808a20690ce0406104859a3ea462b +Tag = eb35c593e4641aa9f075e380645940d6 +FAIL + +Count = 8 +Key = 0e5d672e3e3abae3efccdd6302b63075 +IV = 41ce593eec39b3360741f5a7 +CT = f15d84949a7a6233ea7c6389c60c3be39e727c58fe86b63aa5101385bba8dd152ebeddcaccb8fda44e9923c4a27ab63700d60a +AAD = 12791dfc8a7fbfcef959cc1105e7017c837da1cca1dd8499ede10fad46323f752203c5e3213818ba751a5fb7a33d24ff +Tag = cef08ec966cee8be9904fb0f7014e455 +PT = 3bec21655c5b7727e82b9c14e495002fee0d0abcece86da9e5ed9361ab4e1b52db04630b3e2d2317f117712a213df4a2766b70 + +Count = 9 +Key = 5b4309a19a3ff4f5a2f3f50ff173553d +IV = 24732b76850d64df84b0b543 +CT = fcfd435b25812031ce0a2b1114083fd5d0e642ed9472f9794c65dc2e1ec2b69dfaede399041c895a150fa02794b307b1113f67 +AAD = e19620455af6630e2cdc16a184c6418dff96372fb31b5bad6c4c40e824a8a0f9ffcb9557269d3bd808582f99765997af +Tag = 1b1ff7b4ff45ab1c318371f860c21ee2 +FAIL + +Count = 10 +Key = 012e3a4a112fec5b012a8a740d528859 +IV = 7cb272d50f410acb61b0460b +CT = df42e49d5e42488b28ec32a1e2c13f49b018b94e268b8529d2db0cdddf7064674fcd347a6ad4ae6bc0b935d6820dafe1a1e037 +AAD = 27d30a53a8c009f01cc7eeacd5a2bd479280cf31a2c0e6c854b5bcbc0517cad3f135bb4799c9e2e1e99905bd649b251f +Tag = c62506c34f7ccfa41a50a389a7b57fe2 +FAIL + +Count = 11 +Key = d1a132ef84f48fea7f106e6d444ca25e +IV = 9c9725e2bab366dd9004338a +CT = 8ac638ccd1b4e074957e08fbc4f89a703b44c204ac15c0a8380c72536e62a7056e47f3e2096ccecd837c55e00e84e1ea31323d +AAD = d6a4c524d726502c3e726d6c8aaf373b390e4300a3e7ea74c21bedd9e5731575060e8a85922ae3c7b317a18f1a6331b7 +Tag = b03a4e723b8ecc24422ed39e0d7cbfc8 +PT = 9eb690978cf06c5df315e63633be02f8d9539bc4aaa98e7e9b6dde4cc4fecde3f53b82d7b614a2e03e1df21e887cabca843175 + +Count = 12 +Key = d85c71da4700d540319eb4f19bbe7654 +IV = 18aaf265066ade903c82dcee +CT = e97090cca858cdaae5d746dfbe947f16fb963beb1bd85aa1006a848e5020ef70de4f3af85c044423cade8f70cbe3d5131f607d +AAD = 15459e364082ffde14c08f91a7b42d39f1b075622f8ec0c7f0773b973990af721cd907bd7fd6c7f0f1aefc05a7aec27c +Tag = f5955ad7b20b9648218c71acf9a074cb +PT = 148b067d82552d721bd77765710d62749c5bc7c079360c051bc9be9ae49e26ff98fa9aa39e585843ce06208ff630d139972bfb + +Count = 13 +Key = ec3bf7626ac29db644ddc20ca1a40ebf +IV = daae780f721d7bcecf1f2cb4 +CT = 75ba0d138246649194d30e868f72680eeecf4b825b40e977f8cd9e38437f8e59900323a07a7f363470d3f77f0938481e856d6b +AAD = 50f2ab57728b146eb972d2fbe76d6d404a43aa990d10192820c4aa871e78ecd1cebc16700f2416c0512cbdda16642c32 +Tag = b4137053c3913db5e0ff7bbb00cb9fd5 +PT = 092d254107607fbd8bc2e23035d77ebc144bbd52758c1a691951420a10f07cb00566d2f6b72f022cf83b30645aff957aeca8b2 + +Count = 14 +Key = 36a23edc0f006933c99cc124e530dc7f +IV = f13bb10b0da13f7e9d32f585 +CT = 32f1b95f21c42dc13dad69ff061a6fc809809f91ac11d484f309553a6692107eb8982d0e48f2726c1c96ecdd2f1579e9bafa62 +AAD = 02c06615358ca90d1585333e35504b2fc5370d2bf4a5797a2c1f991fda06135cb13e71e647abb4def56036de838ebc96 +Tag = 8703b4a4fa637b16d1a36cc5028716fe +PT = 9da63166b633b5c9f31f5d0869594960de63570170e83530d796e78f81ed579a74d28d3cb9726f6c6037548f3924bc778c7f2f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = d4911218525a59c8ac016a26809ead09 +IV = 230dd93e0c8e026f87b9a9b6 +CT = da82af10bf696c50aff3b6b96297d172956033303569655bc625934ea62076cafada3d02e0e49ef3b804e3dc859eda4ddf2a1d +AAD = 6fa34aa0b664cb0a34013a0dbd4e3e3b6d14cb541a3ebcf1e142d290493af8bb4184e1afeec4fe31dec88df065ba0436 +Tag = 47a8bfbee71b81fb8f6bfe97bc8ba7 +PT = 28fe85c7d8d388ba2f8960d18a3ebc4a378ad230c66dd76ca9ebd0661c29138de26ab3abee2f0bbbab0afc5d74edf68b27096c + +Count = 1 +Key = 0e8e5e559f1a3a340b42c44c0160b0bb +IV = cd25796b289aa800331aa189 +CT = cdb72d02aec037097e5b85598c05a308190437aad5b79b854c9a9c01762295a1a7a84cac98593a361d539b4cd5a6ec977f429b +AAD = 40c6d9f48ecce980ef622e155bfd16db82ed1dd1ec9f26653779ed55bdd1f1be73050fc54b6b533fdbf398a8a3b22125 +Tag = 7b99c0d2c3742e70000c7e60fae69f +PT = e5ace03fa4b97b25f191d4b23b31b0e8498a8cb07f671c6b0078362c9481f4e426dad2ad9429b5af2e4c6dff0b08a77d63f956 + +Count = 2 +Key = a52ce6ad52e0eff29cecfe00c87c0a9a +IV = 52b81618aab52ff948b9b201 +CT = 5892d3c59725be146264fc066a6a073ff222566d24fe4dcde3ff2776ad2ca969f7d6a58c789342ac40b276ebd93c23face01ce +AAD = aa1a70b24c4ba0089b64a7d322f5a71351f61ed93055fceb2659fb95cad11a82b71312bc86b16db521d8567985c35495 +Tag = 297e51e24a83917a0c55a6813818dd +PT = 4da2ad6c7e3231a8901e6a0fa46451e6e120e4d866b1cc5ec0e6c09e73b08f7b7c3eef24e01c2553cb439b9f50741366bf9a5e + +Count = 3 +Key = a34831f63deefd61392db9f150f610f5 +IV = 6d691f4684231851fad0746c +CT = d13a62ceb88013569560c8f8cac0aef96420134fb47904bdc04ccab1758394068a6c326a138b723d28812aa5caf38df0c9aae1 +AAD = 091b575800eeb8d3b60a9a62efb33bd2b48576e8ec48def84c1c0cce8d9a5e33364d6230e3230f118daff0506f4c138f +Tag = 70bb7d2e4093790ce51216c1ca44f0 +FAIL + +Count = 4 +Key = 6d288c27fcf41259e8727d2c17aa750c +IV = af2807cd68352fd248f89321 +CT = 8a914ee8653e8b1b51123bf9095a4451c69101a85f47c69ae6647be4a082fc75a11a08a14ce3158ab32fdf693da38c0e720091 +AAD = a29c1ff58069a510ff0783080b29041882691d426d3b8adbc63067fee19f7fbf46cb44fb3ebac75e3867396bfdd7f99f +Tag = 7005397edaa478782c70218c2a063d +FAIL + +Count = 5 +Key = ee3883c46fd5a2f65dfc7dbe16a50c39 +IV = 4f259b2059eae570cf559d01 +CT = 615e5a537cf1f65eb976a29c2869b403bc1d53153439c89dc25b913814f0d7dd1da0689cfeae9ebed2fe6c24073e495501e6e0 +AAD = fe1470878d6c4cb51ce7cc756c2df59039f5cec1d707125fc947a192d30206befd4db2997a40ea06d176ff95758e0305 +Tag = 737587f84a5ef5aee6d505834e139e +FAIL + +Count = 6 +Key = 0d571f0363e546b193ab71250a351623 +IV = 109440715a6713e43ee5cc30 +CT = 967e9dc518718a45bec19bf60cb15cfd9211ba76fcd18ca421a65a59a7a466b485f343239fb144343d9568ef34f252d7c0ee02 +AAD = a8dd4e8ad879a5edce586f0033314131d00c1b100f73770e218d8304456568abf854cc958eeaad3beab13f376a84bfb5 +Tag = 40162d371e189381dd662a67270292 +PT = 1e2599a9899d7dda462184f4bb2a79903acbdff57ec227e662adbef3ec2ec9166fd5da5365023f0d359aa6bdb9beb94d77ebfa + +Count = 7 +Key = f5c47328ca531fe2a8aabcf26c6c83c3 +IV = f72836f46c22565b7e3b66c9 +CT = fa4519700e9b3f50d101b857236f6dfc3cab653943af933c817a683190e457a6adecf3617d1858f5b4f7d053c0ae0ee67b7275 +AAD = d48fb637a370e4a6d4a53d4bfdd7d52951afc26da100309675d9238da2e85a25af56e8b3cb7cb7829c1f607f6b1d556a +Tag = cd48069964078df43ce88002e04481 +FAIL + +Count = 8 +Key = 82cef92a141de2c1059e3ed1c7164b81 +IV = 5a3128c96a1ddc9f7847e158 +CT = 257328d79f2755684731ce4c1ea6c2056ca3df874e492876e6b8b5d8f67e40289c22bf057242b16af0da64ea9ffaad2d0c78c7 +AAD = f9b1bf692595d2f81120bd093d7c1ce7bc4dc546723cab5e55b57b507945085ebf27079bb48ca77eeab3f82aa7419850 +Tag = 40770b380c74cc464cc80115c5a9db +PT = d61e71f472e7a6fb266d368c07c7d35f95a01b4fa34ec8c0b0b542986582fa28343b0e9c2d233aba07eb6f2e080f345e493f79 + +Count = 9 +Key = 49f498bb4e4c861c22d004c989d41ce2 +IV = b1d6811fa504c0a1e1798666 +CT = 02706541063b7a585b94ffd3ae1df40471819d65afe0e42f1d3d0f9668ce5afd29beb3b153d7f9f0b5d8fffc01fe9ebe73483f +AAD = d5560077c7fad5b6081c659100b3ffb1a1f3605447275c691369f8755d1920816377e4a435a5242e0e9e75f13c1f2cd2 +Tag = cd0c468bde0d785b4ba4144ec6349b +FAIL + +Count = 10 +Key = f2ef2a8ec3e7acc8ab43c49cdd867e69 +IV = cea44a59118f5a5b3db6ba75 +CT = e975f98e9d9a94e18fe5123bd8e7fc89d2075dbb38aba0e5b6d7945199767444b6eec037ee7b3f8e490a853dc137a07bfcd7d4 +AAD = c0d5c5ad8497ca11c276b478d77ca35d072cad358ca1a74dccbd82dd3604b36b3886060e70989ec9070c09fb470e38bc +Tag = 5991a76218bb17116ec36b71356766 +FAIL + +Count = 11 +Key = 8b11fcaaf896c3bac0bab4e6cac4a80b +IV = 7f53fb5cf5abe2b3d7b20144 +CT = f755449baf4bfec1cc27d56023d3df1c1a581b9a99df841fb4edb027e9318857cf309422576e71b67e71506b8f5d56caea114b +AAD = 4e8dea2223467a87aca9251d5f4d8ec1c16dc2f0b5a63715b84113e8ddaa7258d942c7fad13d04773d73440f072ded06 +Tag = 8ab968da8bdaec0f58cf06a1e8e935 +PT = 198c63dea9b29cf748a65acf91b574ac6ba0d8a7d1b228252ea45a325f4e134c742c2d3ffbfc25af5ea421ab7c5da200b86777 + +Count = 12 +Key = 6d4819f75c1aeea3de2dee2e067eaa3d +IV = 76ecea7e1a84e20fbf72fdf3 +CT = 04d9b1838d7ecfd8c5612a0ed552a6ea24b44bc7e010d08a5bd285dcdd2a2d9968642d2ca2399072881bbc375af88086c545af +AAD = 3c4695f7a25035db16d5db137920fab1a1e6ae436b15975dd9971d50aaf64175ec3facb28363d3d158ca076f2a8e3bcc +Tag = bc988fd9ab911d60412b1b5479c1c7 +FAIL + +Count = 13 +Key = 3be8f759180ba9f7920e1f2fce64c996 +IV = cb051bc1836ae8d69d30c105 +CT = 3786c40c824fb9483dff96e01feb3dd93bbbd3bca3fd11e2bd7ad65e7b2bb5d131ad19797be57cce1abc7c7e1c03a75aa9a6c4 +AAD = 56baf06db851edebfa1964a2afc0dbe1e3495f2eb8aa4047270fadaf66723ab2c5ddc946bc37dab848b01baac9b0ca26 +Tag = 1544ad082fd87e81a161d31f9e1d00 +PT = ae92773a2c4e675da96b71e7108e47b3399f942b0c2615e4186ff418f7cf77db3b5403dd6a3574e67542a00a1dfe9326032c2f + +Count = 14 +Key = 9916ac03543aae6f7d19193c6da7dc23 +IV = 892fdc96fdf740f9555923d6 +CT = 216f6c640afcebdc11f6dabdeda4bc41e059563a49703b47ad77dad1cadf5beb8db293e44c918419f8d379d430c35d7753011a +AAD = b96dd5f1cec68e60bfbd5819ea64e51887d03de5761584b97292387cf385b69f74c875ad9f020156d588fe5ce55a0382 +Tag = d1a87356e839e3cced4b8636a15bc6 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = f150f6428da4f511bf57f4a461fd916f +IV = e55df3723557dbe31044fb0e +CT = d1d5705e37a83a4d0d5441bbc51666ad7f2261fca329a76d0353c7cdda1c55d16db31898004c93e508f36abacb4d992cdc7c42 +AAD = 17387fb39bbafdfddbbce94f771390bafcc0fdce8ce1318031a5e85ce2855abce1a5df5477f4730b7ba4da545240288d +Tag = 0b67d49db203940d03a7104952cc +PT = 69fba2f884bd8e9b35a96a6a9fb64526055a943eeadb8a8f3d52e39478fe20a4708f06f151da5085bda2490f1d425e292cea37 + +Count = 1 +Key = 0bced6e4d5bc0730c7f7b0b63eaeb787 +IV = 068c432fe7e8236cf22fb9f4 +CT = e4148ab3e61d34700755740908c248288fad5fb697a239bfb4c12c530988f6163a7d06fffd05d6860c60cc698218fd3dc91d2b +AAD = e287b107f9fc0df730170099ca0a269bfefb5346c2ba26aa23793c30d39a3541b30f69d0e0085de827a0fbf46de2876a +Tag = 570d5183bbce458b6b2658a7e98c +PT = 42a3f8d1ad88ddb53a9649a46a97c09a7b04dd5199d7782f9693e71cef6026c073dfec0b3c86c277e490bb920236724e24eae6 + +Count = 2 +Key = d6fcfc10bd1d95b7d74f1aec590b43c7 +IV = d4501be5acfab2e98764c3df +CT = 1cb2698a355f873921cd1c20a13587a693f53c39fe6647d5dc7f08ecd46650bb0766bf79e1aea57c10f9bdd1d15a3503f8e68c +AAD = 658095ae491daf842495affd330043d79c885b7524e367d9999cf9735810ea632cbe3afd35d39ae7fc41f3c9c9a0cd65 +Tag = c94ff3b4c7ef96f5bbe8994a7691 +PT = ddc0f993872e1e52dcf8fdd3f8f8abd35b827ea783f28c0e3f3cc9e75d6e5dd9cfbbed39d60a75de5ff18698f53d33d9d288c6 + +Count = 3 +Key = d759ddaaf89c652c255d0390f437347c +IV = 0f2658aacb553a0b949a7714 +CT = a9d60e2fdbaf6e4c762f97f0d4bf0b1359288aae923f4d7d35bc8e86d4c4e86a49e0dff229d2d9797f0d5db0b4ffc0409f8c39 +AAD = 74c4fcb02b3498adbddb3507058c8900707e5134950b0456fc7b15c587e6fdc138269775deca4f2ba578b281da807a43 +Tag = 42cd5f9ce86d139ad853d2f84096 +FAIL + +Count = 4 +Key = 6a201f7d018db24443f9d709df76136a +IV = c695ad0d1e5d427617e491e8 +CT = d6ca79753420c70fb314cb19a258c640a1c528ad699aee15afa2d6f7d5ad1816bf1496bf656ee1352e26408534c1b971223f87 +AAD = c99ab7d8ec5b01f16d871f83606dc67153b388cf53b03d59bdbfdb0bbe32121518fa8b699830d7c78f1e306c0e7bb7bc +Tag = 5a62ad216718f4d960ccde41fe16 +PT = 48dcee7c387684c4330b7f0b45815981f08fe6adf301a8955a882a3d122a2d4d030dbc4012950fe96b6ee3dd434420390192cc + +Count = 5 +Key = 8a7fcb0642acc7c0545d7f0c290f8f93 +IV = 3fd80db42fe2190346f4f0be +CT = e0c5db37841f89e5e2720422e57a078aa7a04068ab1c79d2e0b21d353e3c230bb017da9ee052e9d656c89e4cdf9b98068aea71 +AAD = 9161aca99f0464b5bf460ab0f4fa2af8e9669543ba55b939bd6ef21a10ef81b6d0ada0a87e6f8f1058ca3782facc21e1 +Tag = 023b4c62b609c6583aab4b874f78 +PT = 1046f55e9e98e806ecf154f56eda406ba8f5091ceb346853727b0d166ec0b78b5a93d8a15404a7197aef806b22a7c26c9af489 + +Count = 6 +Key = 33197d4d9b0125fe6d3ba31b5738663c +IV = 200fd8490a0c71a6f786b724 +CT = 7457e600923286a395de93d7122cbac422004494fc89de6dab860de947cb8422c379876134c42c0e18b2a41f480acffb412b31 +AAD = c8c593413f2d791b303cbe6b3b1284ff0b09bb10f5430a9adf84572a0a9afc327bc54c7b774541e2d6bd544bdac356ab +Tag = feb7e860d46a2186509f019dbacd +FAIL + +Count = 7 +Key = 8fddd3286102eb9176748c114dd91b9c +IV = fcf7399879abff6520d3e744 +CT = 8fc45327e54dbe8874efbf91ab9d7c8a3d4dce998c6b7874b478e08163d56e92d7c3509a7d821a8a547d36b718ecfae0b8bb52 +AAD = e9385c80dd624c6710a8738479df28283cab34f0c3ed97d05877607b518c769b1eaba4cbd9c69d8193d94e2098ec23dc +Tag = 140e62cf102ace16ced39c2fdf80 +PT = 84c6d209f966e6cb3a01f6f76779add738aa68c05971a9638d0cb95e37f877f1f700454a540f313220a75d300fcba5eda969da + +Count = 8 +Key = 77754c581a43f590025ee45a56757b20 +IV = 8756de3bc062d3cd988aa332 +CT = d02c5e0b2b440ee9015f9bbbf0db839c942ba77f303c1111a097fa05b14781b9d93d08078dedb9e766f35a89c791ce0b3b14ed +AAD = 6cc1c34161fd049ce8560f4c9de17f34e6c755fd12b38a9dce4fc05eb5660af797e6874d3d8c5c92361517692952d690 +Tag = 25f97adf6c45f8c275d659f60118 +PT = 82c3d05ef437e7c1a9c766ea9892fbf0248a5eb657c4e6ec6e76fc05060075421c2776d04c387aafc7d01bcbda0f3fe3528fa3 + +Count = 9 +Key = 4f516c3f7cf11fc0c6f5c54bb6cacfcd +IV = 57747e8865233bcff8e1d3d1 +CT = 5d9ce8987535c811d552913009c63b5eb00f2f4c831758f80e65821cc363b35272671b97d701599537c0d7c2985bb0a78a7393 +AAD = 337469ea1d263e2ff176fd389f7f9872f0d62c4bdf2b12fe0ba2e6be6bc67434d7097a112d5cc2b8df0004ac57d47733 +Tag = 0f2e8463ef2e7fe551a9385fa04b +FAIL + +Count = 10 +Key = f39b347fd5c813c225706e4353cb4139 +IV = ddee6f51f32356835246b672 +CT = ae0f138245a51f121c1b41a9dce5922e512e29d18c41d53f725f96131f330982961c9d084c43f0cc6352ca1345f387e3bfe0d5 +AAD = a580dcd647e9ebe34d89d7c5627bd4356ed8b0a453426c7be8c0b64a9ae3c7f418363931d537b2752f1f9d197dfa928e +Tag = cf28554237b82debaeba98b1ba31 +FAIL + +Count = 11 +Key = 1aa849c3ace8e311f7ee1cc9df8c13b4 +IV = 370ea8d2e014b12313384180 +CT = 569ef35af0baef66f8d2ef5790bc15cc13ffe89ea7ae6eaad8411044d3d86ebe3fb3d0b31e29ca118f2b96bb43bdeb6bdc879e +AAD = ec7645cf8fec6bb701c1351fa728391813d8a5734ace02892383363ba78eec9304213076d6068f3a4d172b35af3e27eb +Tag = 6270a7ae84be5e514c457c22521d +PT = 9b7d9b909e7e18b17f75c7175f05fea9bc074a4f03904e26cbf32d90110413130827cfb013f6b732ed5706ebf5fd7efcb4e66e + +Count = 12 +Key = 653410e26966bc199b272868280c0f87 +IV = c6285dc24861fc847ed5cc04 +CT = 4947d12d8aa7985d14b1c9f30b9634e9bb53e5071c91d97ffedb69c498c7f30765838c3438701e3b7f054f987579f7754e2078 +AAD = 692a3a9a7494e4a1f646cfe70badb740ed411fe70089580ea6345ed230974ae3744e3aaf6f8d8300d9ccd9570639787e +Tag = e504418002152e29b80565822be5 +FAIL + +Count = 13 +Key = 1da0d75ee02139367c00c980dc92f5f6 +IV = e7d4f70e43705c728b7499f5 +CT = 4498afff0446f6e6e09a99c81150103f956df0b1d3a96775f14ac907676018f376138ce1e8f4e56f3c920234742831eaf46302 +AAD = 1c410c9b7c4132d00777cb920fdfbcf079d215ed34b1c7079945db261e1c2a8252d962b0d6180f796de33f6cfee23805 +Tag = d55477acbbf842798f985aea1095 +PT = 1ac46f1e9a92776c992bb0d8153af3397d90686747b3f54e11014fd2b3b7bf7d2aee238e4a28f2d1c9187a0588490c491727ba + +Count = 14 +Key = c1e8c6c7d6a498b88842c48e06aee38b +IV = 52a53984e6e01360b1d54020 +CT = 20d879e8fe0cf571ddfb14ca66dc5be4893cc3c62dde2d132d03214d7ed026ced79215a0ce32bc060293d300c881132d905b01 +AAD = 1083bb110b82bd881e179bc6c859df1f1da90d0f966e5b2c7998228a790279f9b2cdd2d073a35a9802402359b95a8bde +Tag = 00166d322792005f3e9d86ac1122 +PT = 88ec0d0018e76703f4edfcf14885b21e9498921a668341acc5b96e7c9e1c63897633e0d944a93e39187e5734254c4f0cb3048c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = f6c5adf7cb16e02224ceaab331d90bce +IV = baf382a162dfe51f8a595656 +CT = bf1dc3bfaeeff98717add9f33fadc6c1c71dbba81558ba57b6d83a657c8b55e5c7576dfbad40557452d7a572fbf64b26c4eef7 +AAD = 7cba46b8da74000a4af4e628220d09ff0b42f84eec14845358290a28dceccf9e8838e4a37c226c54e10be9517fd66ffb +Tag = 32696b68505d6138bb9bea9b3b +PT = a885ea6507d7b15d4a17b8d48364b358b94fe1ed0eeffc998ae66ca5ae70e95d14f6d4834662bb86237921f691ae2b634d9e51 + +Count = 1 +Key = 38a7f969b7f004a0ad1a8c8397da1fb7 +IV = 64d88086b6763421f13a7cab +CT = 6692450a439d3bbeb2bbf9b939b27effdaa22ff926b1f3230955271ee3aa9ce3e45155af16b44e7008d65d4aa35c151692506d +AAD = 964793bfa6b57201742a100c70ab28429609e630f11d2d3d039416d5324e33d788ae8ab663f8a879748d43e51c81e810 +Tag = 6d1adb0e696a548abb9a99300b +FAIL + +Count = 2 +Key = 3a0a43c17eb8bf60e1426e55df007cbf +IV = b6b0c2d46d8050e3fadc7dce +CT = 0c38b6a7b5f04232b3a4b673f4497ad783fa403302ebf7c5b61cb693469f3f292ff86d248b31b629760e34e7c2231089b3be6e +AAD = e5a7c74d9de62bbb53fcb8bff8d83d04a33581c7ee611453530801605b8416d58f7df84a12f2ee4103da1ed90f12e876 +Tag = d621f8386ec83dc271b88c1d6d +FAIL + +Count = 3 +Key = d1a6581f02558ac6c77c24d4a83233bf +IV = 089618de6aef26df50758fb8 +CT = 4677df3f77397ead5e7756ac76fd18a56353316813d37cb8448fcbb9378e8a0af14d7b07ee202534d3022a56c3e159d20ace1d +AAD = 6b789105d8ed70639e656bc0626af7b01813af21ba951d0670cd3d6b50d1659a5a1a68b6812915e74ed45668d32bb5fd +Tag = c1605680323c8c864f26fa2bf8 +PT = 3d500195d41d4c7a1d04317478832da1fb09032404bf4621b315bebfb0f716b90c63969137f87948eacee9bacebba7efdb8998 + +Count = 4 +Key = c2d0dcf40ac5d07353787e607853b0d1 +IV = 8eb1de57c9ce3411fa8c5d80 +CT = a99ef5ac9afecd5c8f7a9df44034dc66df8df8daa67701a0374aa796cd12a54abcefe73830ef58a5129d9df42c225ec2a7309d +AAD = 7ed5f0f502fb1704f7ee9683714fab6b745d1227a7777243232871721d52e75dfdf91777d687690ca3a4af24dec62cb6 +Tag = 4fb6ee8ee602f964ca4ecb0ac9 +FAIL + +Count = 5 +Key = 2b985261d74a8892eb982978f2001e05 +IV = f1526fee22fdd64177e380b0 +CT = 033254c7964fc3f254eb68e31924e463467f5d4dbddfe5ed6cb075726abf1ff5af0369f11502c7325be4b5e4346069dcb9349c +AAD = f5edb14279c145d155092abbf2d1f58cc81f5030ee24edfa65a6f051ed52088ca0724b635549bff5cb0223e8c9081728 +Tag = dab6923431c617ab9347ea43b7 +FAIL + +Count = 6 +Key = 0278c89c964fbcb4d37c81032693a23c +IV = c3a39383ec29dc6349ebccd1 +CT = 3c4757228dc2fceac8d8579f4de65d9fc414fc4bc4d101edc4c005bdb912d330a8e8b55c728d0e1c8bf63047e0acadc31374d6 +AAD = 13f12f1b9112966197fff0314a917a031896882d91f5487bf72fcd35c2c1a16141495f9c01072e48b7ebc5d7f62ffbec +Tag = ed5860a21358207c04364e329a +FAIL + +Count = 7 +Key = 49bf6002371f44bc21d0f54f3cb5c373 +IV = 93a1706f1e574a991100bc85 +CT = cfadd55c2fd7f00623f2fd24a10b1f41b5ac20b75bd2899e2750ba29a96a196c42f37a7f81417c703c068a2ddd975727f218dd +AAD = b2794e695b4293cbf0ca5d2fcc8176ac9111ba436bfd8ed2f33f70b4a07c2ceca5f9941c36b9c522436ef7de780cb1ef +Tag = ee9c2f703ea7d63810ee8e0447 +PT = 413dd83a653f4294d5e692324667c4e3473b569f8c6adcc1e7764f7b9fec18e1efc73f0fa7bba0b5fef0469dad8f0faf5830c1 + +Count = 8 +Key = 67eb166c5effc2d53d420242119d5acc +IV = d0e405848762f3abcc33bb69 +CT = 30c2b14dcb88295346ca1cda5c8520f05c9298fbb6849ffa8b71e0eaa8fe1a76ede21a214424296eba082562c49f86fc81a71f +AAD = 1f3cb2dd450f97888d009215df0aaa6571874d2930cc071a7169ff075b4464f1b9002fd78cc5efe09028eb6332b55d55 +Tag = dcebb6cd580f7ecaaae347756b +PT = 8471745615a045386f0273721ce3259810da12b49d504dbc7eb1044aa2eab2d8a6dd07e1447cb286c36cd84d3df7d4fd699d7a + +Count = 9 +Key = 980decdf61654f0d37b7628010591678 +IV = c4c562096950d899837cba84 +CT = 402dacb7fbe1b6dc4da4254221d9ac821618e1f1b5afb58927f382371024ac5bec7f671448a103500ae08501b2d1530570ad81 +AAD = b5383239fd558a4d3f30f1328ecdce683b29e149a52ed2cd03d84f28594faa725f15b0da92e4c6f195b2f135619ad659 +Tag = b61a66cedd7901702bd816366a +PT = baac6dda2ee9bbae469eab7d63cdfeba0f69bd50f4a522110d7de04d35f7e1e133382722f9f8c11865f419dbf5549fd6a9c464 + +Count = 10 +Key = 669f7b000fd2bcaf2fad92af6ab4ee53 +IV = 4c484e795f484df98bf8d71c +CT = a7ae052dab12ea4035fa8f6a6cf4fa3fe611c2227a3c28f0497b1d3754cce81f6443cabe8430ddb53414856202c48b1ca556d9 +AAD = 3ac8e68a9ea33e6364357880b0b08132f4a2a12c5c0fae35179ae5688c53ca2527223c7675b272042030efd6e9f94591 +Tag = 55ce82b2363303f79187a8f9b5 +FAIL + +Count = 11 +Key = 88bcf24ccf1566b23d0fe11a8de810e8 +IV = a589da7f8c4e1542154d38df +CT = c20ce61f295668c68612a9c7f1f98df73b470001068dcee28167b96228083ecb11062a468cad8ab24723eaed5e5d2e928673aa +AAD = fe1778e2f7424ec2d754aaa5bcba558c192869e0a27f9407482f42536a7dbbdc5ea3e0037ad22548ede940ad1acc0ad9 +Tag = 4c8a47dcd3a70f94faa4eaa241 +PT = 71ae48ac4913b28e17c05d6b554a46babc104ed7e2b2e6946708b9440a7e263f92ff62bf38a71db0c20e1302aa47a543d116be + +Count = 12 +Key = 5ac426ee1837ce593c284375b4efe550 +IV = 7ef5e34858b627f3d96d38bc +CT = 5cb63de30df8e1f1140a8928631dd4d96ddf757873ac4d4c1478557ea3c3f74b0432e4b24a8b034c503f4b4e12ac25f622e104 +AAD = ef29b2b46742c0a4d22cee799023db1a58e6baa1285607537172e34f0118eae3c12af0d6ce46df64027e142233845d16 +Tag = 093d556cd6862c00b67230dad6 +FAIL + +Count = 13 +Key = 8b93bf2ed74269b4f554060910b99c31 +IV = 5e4ce4fe762d8f4df673bfbd +CT = 8bc70dd3be5f30cd174721aa77ca5079e0b4d5f7a0f441e921de0b36e34b4ea1f1f7be7b90750292e233652d5e7f8e2343d418 +AAD = cfc8d25ed69a9174650f0e50d1557c722a79dcbe7b40ccc4a0ee04392b4015f2c52a32a9557ab2f80424ea85e2bd3a92 +Tag = 74fcbbfe6a12cd808ef9b64b41 +FAIL + +Count = 14 +Key = 38b54f67321d162bce620e0f243249d1 +IV = a35ff9f11dfd95c47a1cb3fa +CT = a4646c77ae2b01728022366903f884e78feedf9f0115ece872aaf577d4d47481ba39ba544b1765958cf93e2e61f1ae47a77422 +AAD = cd94461e76abc757ce2e61d58b780d1273024ee9b4ed117fd7549e3d63075605d45bd9220d007bc40104ea90269d779b +Tag = 679d9eee7ddc032cd648923d7f +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 66e42b22372e8721c9f0f770649c1eb6 +IV = eed6412fc38d6cc9c71231e8 +CT = 8eb724dc3916b97f45c97a31e7abf163c020d2905150d29852a9db7c211e2081bc5bbacb9817713f2ce6d250c752f466d8e5df +AAD = 6ceeb1979af01cf5a8f0adfa98c5b069c97ba733404ab2bff7a961d83ced91bac99fd9a7743809dc177c64dcd50b1c3e +Tag = 9b080c079420410ce99b1e7c +PT = 6b881f745bade2d879081b9044925174cd66d5b8a853b4984a9d9b5a2cfd9b72bd9136a1c028772ffee215f9dbe30a5b8caf6b + +Count = 1 +Key = 04d745a99ac1fb3250a4db8235fba954 +IV = 7d668ecc6f56ffb4b6383463 +CT = 7d793d37f5d675fb4b77052a7c1da9dfbebdb09d0722437782c237b38e32b5c545064fdd1257dd81822b4c3399449ff3c3ef6d +AAD = 6d9a5e1d4ea2a312bfbbc6d0fbafd8a126eddba1f17752bc5aebfc9becab8f43ebf5892d4cfc7c3f4113f46846d0b01a +Tag = 4c2497e59350309ed5e1ea17 +FAIL + +Count = 2 +Key = d791ec6f8d3331360243624e64d92a11 +IV = 82a1c8f3362d152380f89652 +CT = f9acec62a5724fee5f1ebe2008ba03cb316a6cc714ce7a62407dfde740c9818d0e04eb1ca0ad48bb01508f658f7f9e8adccb57 +AAD = ec3104ccea343c817b003a333fb6a1d90aca1494853f947089a4d783f6cd84288cac5d7963da4a9a365ddef1edd3e600 +Tag = 0b571582ca472fa947092d02 +FAIL + +Count = 3 +Key = ff2a5d2886781fce956fe709d55f3e63 +IV = 845e5b0352f19bc8ac31325a +CT = 2b6d26935f72015c6bfe3ae43bc21a328f4230c64c108ee02fe357dee5aebf43d0a848b79dfe583522270b816db42daa96bea6 +AAD = bab705031a84d695ba67a96a5c0b1ab18f072df873db6417f57a2ca65d80297c47ffe892d3cbb5339350f0186cd6344f +Tag = 0e26205e5f9f139954b0b8f0 +PT = d4c367fca0efecce4db99b40784c1e87dcaa1cbd1a807975dd99f1f7f805ff8dbcb2561214041da116e995ce69d251acd6c977 + +Count = 4 +Key = 67a8ea883834d57dba62ed1c1c6d7555 +IV = 1f2e5e6310950981e3c32d64 +CT = a110aff58edd21fa03401ac0dd9326fe95893710506ae45ba6a03d56527afa62c71c0988746744eef8deaf134aae8e342c1737 +AAD = fbadb6e9bf898344cfa773db840db2b927cc3d8fc210fe37d1593dadc792f584876c500f128d22a4b8b2bc3acdba8a58 +Tag = 9762cadc266a1f5985e33aef +FAIL + +Count = 5 +Key = 8b63fe1b800d71673c9e35594292d4c2 +IV = 55ef4a3daeade123c9a50300 +CT = c706130bd885e8df2851c07790f147513e1198f559893833695fa14b042f2c6bcd207917876bf8657a9f7a8d422a07d4b98d17 +AAD = 49052aef5b45f7b575faf3a55d507b62877a8ceeaf9cfc84649ebf6902872fce92bc20b40b122a10a40de9c4bc847e2a +Tag = 8ed507c21f771a07e004361d +PT = f32cedfeb667769f5581383558383538b220a5839daeb2a488ce80ea2cec4791cab3e0fa9255d0fb96ce52bc0e8e6124eb87e1 + +Count = 6 +Key = ab5b65a2345085bc269e94d053a09204 +IV = 0682a2b635f5d964e9c6e193 +CT = da88efbe51db1e5e15396b8688953b8cec6aed67b5214e9221c6858fd40f24ce77d868ab79ba46c81fb2875f4ab66d279f5581 +AAD = 9de538cd4e2ea095f846b6f3f08a3fe11c88142d22b8fe1a6e0e74ad534981cadaeefdb42a384fde57e9b578a1fb4430 +Tag = 8698ff0e60fcae1900e77151 +PT = 6251106c05810646b95a3cfb782ff0c5fcdac6889268205f9e3766bb553dccd27fdb0f9ab2860d3a3148ba6e479a488efe1982 + +Count = 7 +Key = 2d945c4d433e27339a685e81e1aec41b +IV = 6ca5ecc3ed2522281305dc37 +CT = 0039eeff85d886eacdc8381e25fb04674a959298d09800f3bb3e13d8046a47a5f6029140a4a17b19d81b40b46dfeeaa944a0be +AAD = 7524f8f42b65884333361ab33c649c82a4c510768cc671a3c782685273256589dfa9b9120f059aa24b682a3faf8eb755 +Tag = 62abf6ed6b730eae9018bb02 +FAIL + +Count = 8 +Key = 0644abf5dc72d63b09afa977ba68baad +IV = 838d32125f0ac6b0aa29ebdd +CT = a62b9a7e065bbd5165e548073051ef142a3685c59b5192babfcfcbc48c4eb7537edd26ce0a616c3c8891be3aec2ff57c4c6615 +AAD = f2073358776bee54093517889bbbd5c12ea6cf34f391dc1e2edf03ca7de7a9d7cce801413cb6ef735e0a8c57e6a4097a +Tag = 212d63d7f5ba1e35c30610be +PT = ac6838caea7f62574e1cc903d26ea19395c3e7f6b84352b62d3ed39c01a05062ed7c0d8edf6bebd1633d72d918943c81bee196 + +Count = 9 +Key = b7af6dabb0a085504c6406d5d9b2b857 +IV = 436a37f25558db2d450c6ac6 +CT = b58f2e7fb0064b1483f6d443d4c6dc77950c2766922c5b364cc72a16aa91c50af76819fd85497d4bd4db9c1ee602bcf984eff4 +AAD = 7c8cecab4f2c5aca5386707084ff88d47486e9e5f8d4d4b6779f3be1580af88f10c4fd28fca726c4e5c386e5a3cc6313 +Tag = 6c477c4c988b7707b78090ce +PT = 418ce00ebab4335c93253287cad2a5f4756c77b675da25350cd09e7f07db3143a2aef8efe8b654ebf5c6d08cd27d9ad53b05a2 + +Count = 10 +Key = eff3a33039cd9475409cb9921282fa28 +IV = 73e86337fe9b45e405d1eafe +CT = e10390731ab57819e35e40a75afcb89f6f3cc34498ecd1cd56a2e46e4f6d29869249704135bb71e362e9aefbff8557b06a62b9 +AAD = aac7d8cbabc9ae76ea586926ddf41e800dd1c448a65952df72ce8a648ba72b34d4974dbe4652de8da911e8db74d9597f +Tag = 81edc77d685dd61de3ce24fb +PT = 3fb9d2bbfb9d80255d9e6e2b2ce593097e309139b3866478e4a8b61f4916c855de3cd37366da312c8c77b80ed9d64cc089a613 + +Count = 11 +Key = 2d79063425bea4261ec2a22d4ec8116d +IV = 935dc149fbf67e7c1145165b +CT = a9dca7cf02dd734e391bca36d153180abed74e83d9fab0e949b6b31f700e82eff7075ce1e19e9190451cacfd77305e86bbe34f +AAD = 490202709e7e99135eb9936c983c6037f89817dcb9ab869600ac6fc8de5afc9957c3bcf50fda84dede48273c90e3e1e4 +Tag = 3622109b240e37209ca44e43 +PT = c0d9e634703dc06729e061055219236ad264c27c1e808e107429b67ce4d083f3638143b696a714d93e5d65a25cdba20eaf7759 + +Count = 12 +Key = 3915d774b813b4149857fb99f99c81cf +IV = 344f02786ffecd4a8f82a186 +CT = d282b653adcbce5c3d7efea982805667ecbec63d021e7bbc8b969895ad160cffbfcb8311044d91cf7a02f8ac722272d7fc521d +AAD = 5e0844710e4ba0452301298de772d70aa53ca9114a6526fc2fc00df60abb19fea2189d94afda7fd3302948fd30dddc75 +Tag = 6e103dd11e1ae4c107759633 +FAIL + +Count = 13 +Key = f446cb8d37d0b16d7a5ba2b9075b3535 +IV = 0fe3751776cc24f69f24a88c +CT = c7b32f7b6b9c96866d9717392efbc90ed98fe375c5b59445d91cf46ab69be18a0e55827df57662170e78a94ecc5270e64fc02c +AAD = 8d67bff1591c49fb1a7bf2e545edf75480a9cc61dc99c8413d50f4ab942bc90f59aca78cadf08d0ef615f2061caacfcc +Tag = faf4221e35d9edea07fa48d6 +PT = 02333780eb94ff0f84f803d64ce810d8ba64ff292dee5e4c12767ef0e1177b518fb897f78b787c7191a4fd5ad122cbf5c4d5fb + +Count = 14 +Key = 7ddf2e1885925f0d4460a5584a8b921d +IV = d4d87ea3ba759bcc169c286d +CT = 437f59293834eff79577916c5ca92895525e545a4290a0eb98d9c1fd1cc5c3a67cd0c355e9ee458f140878897fc664fc4e9a42 +AAD = baf437adcce630a16b43076c49230d8d1b82caac613c007fe889fbfa5912bd0be917e6859b43b513cd70d39fc7292e01 +Tag = b4267894aec0ac827ac4699d +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 041966cbbac448082acf017e6c5c6393 +IV = 179aa516f58640ba6898db81 +CT = f1cd3774f954f13648cc0c3f185e3cceb6149cc91fd4f4edfe973ddb4494e545216d8ec9a2756c377caa27ed2cf7c1ac139a81 +AAD = 6e39fa4cd8a5e81b45d51658803fe16ebd692fcaf04bed835e9a86637adb503727bc196bfffbcd01ed9817add21bfded +Tag = 12d37afb7a786a22 +PT = e682b89796b09b13e4b096ffaee47f288504048f58571730273be090a8dfdf36bce9cbc822c8bc2ca9cd9ebb8618fbf40c7234 + +Count = 1 +Key = 505155a3766f03e02f1827f3b033c5ee +IV = 7d43e9779ca0606f63e7187d +CT = f00ce3f96d01817f109be7d1d7c66baf5448e85d2ad25145cbc327194be86afa67837d620a4b1b669eb1e68a7e221ef9fc521f +AAD = 9fcc7667822bb3d7a31b744527a67a6fd51ed0a21c32028f8f27ca5fca049525867ece716548af20277e7cb10b213c80 +Tag = 46c0661102d7420a +FAIL + +Count = 2 +Key = 12554d345cae2674a7ac5d6be6586efe +IV = 20f19c45ac21eab7d3e2142f +CT = 4217c3f47730a6e152cebfca561d165d5c10d2cde6d58f2689e26d17542ff47d3f5915065775961e6d540d3d3b7b264813acc6 +AAD = 5154f6be97b89eab976f9c34e12ff730a4fc0896fb6b43239409365a0c7f16d98e279fed137211a4720260d335501f65 +Tag = e8fbfc43ac1a41d6 +FAIL + +Count = 3 +Key = cea87c51c6bad3dfd75d0a57a6193bba +IV = 66420b79d94ba2e9bc954e16 +CT = 780f7a0d089af6bacf1d17405652fae02b453b667764aeb30e66bee73bcf4cb4ea133c49ba2820c559c3eb6583d3ea02d13540 +AAD = edd22191e31a0e6452b4fec71b1c9184f1cca95f6dec73130fb3039e371e9dc073f86e342b448fcb15be5518b3a8bef3 +Tag = 1f8ec3f7edd95b14 +FAIL + +Count = 4 +Key = c5ac98044b2772c269394078eb289db8 +IV = e2111f293df458e57dee67f4 +CT = b2a7d5344f0deef52f37155b65c9704f6622432f90b34c1c4d467b24d8040ca6109d996d5dc9499cc81c5681d6bc3e3476a21b +AAD = 6d0dd8225379ccbe32e403932217415d37179364b875d315a55e83015e0729b9d637895697315044c97cb8ba90cabcce +Tag = ae348cfdd5e17cb9 +FAIL + +Count = 5 +Key = 89c7bf70cd126929337a595ebd494392 +IV = 9217f467bc7a0f5da83acc94 +CT = a200c673ec3aa828bf006b28ea9f35acbeb8d00acf75b6780f48fb7c10e73a9bdf6b345837d015a586421e303c2baa8247f9b8 +AAD = 89910a8f1de591f9bd22c5e7dd3b3769c1e742037112b214b366728b037783ac73715dc535a64865058d915ea95bb690 +Tag = 1370176c4b9d2c5d +FAIL + +Count = 6 +Key = 0f5a1055625c897cff02a1da6278420e +IV = 3dba62f0cbfc16236395df2c +CT = 8d15c17fa6ef98ec4eef13abe12be14084f0bb8355c215be2f3ecaa34e48c15240fcec4f9ad174426f5fdc8039fa19b63f5784 +AAD = 782c8ec984427be84a1333bcbb4777c787f36a3cf594317734493f260c38072b1001e6f37d391b4369f266b3a278db3d +Tag = a48ac9295bf24c48 +FAIL + +Count = 7 +Key = 4515f9fc00861854d5d6c633402c4dad +IV = b9c4c65312989b06787f5add +CT = 9ada6b520e74f68ddb1ce4f7f33cac9b66f74f543afe006d1960874d6a9a6850fcc275a734fa5889781cb3d2a4ae3019a59750 +AAD = 3d23b28bfd4119edd76b1333b60b9f7b6d55df860eadcbf8ab6e2910280b5cf33b6798d0def5bcb978ecc7b91310cb34 +Tag = 5c9860172ac92111 +PT = 648f67074500c821086220d2bf899e1acb98147aa9af943e25febe0a54e21c96519dac56cbbc4d83979d2cc7f4847cc4a9a1c7 + +Count = 8 +Key = a64b92937544e48168f21cf63358dd66 +IV = 966fabb6b9da1c042c6e6b13 +CT = 3e418f2381e6b303577e96b73417e64cc4717dc179f542776fef5441f4e00708f4bda5b6112677a25dfa33ba3c3560121b3b89 +AAD = ce3581e9d4359c9e8fd82e7a4bcf2596578a15fcfbbf6f2a3cbc78a13a2612c74472c5bef445ee9c28361e2164874b6c +Tag = 27e32807dc5eee45 +FAIL + +Count = 9 +Key = eac18aa89501f9f4552de9fe5c47ade5 +IV = 974241c1099b51a94725a3f2 +CT = 92d6917a18006086c745587ca01edbc66420b73c4c341ff83eab62696c8a68c49307c58bf3500426d984f3e33a4df1a16c58b6 +AAD = 1b396f6f3a68c99631c97c75defabe69dc37c87c120d3ca6c5140307f0ce657c3f7677f89bbe5f2a3205b77861d35599 +Tag = 7f8f396f025ea8e5 +FAIL + +Count = 10 +Key = 67b0f2bb6c91e16d6e7bfd6ea2ee06f4 +IV = 5d0da0357679dff8b2ee54a8 +CT = 4c3b1599d372de485ae9d9e203f5d99e948c1cf1953f926e220997f6f50f9f9ceb3ae18622ac19ee1621a2e319991ddb0df83c +AAD = bedeb2bc7d995992a23b704de53533bf3905ef1406eda004717fd06572ad1aa14665d282d603e724401be262402247aa +Tag = d52ef4e171402961 +PT = 158eecf10c7d02a3bb8eb67c20bb02c8a38e09122eb168bc1002b01057c548b002e44c59f499b50909c01c9bfe789b7c04b9d1 + +Count = 11 +Key = 73fc6affdef8acd07dee9967bd562631 +IV = 2e2cc2b3a207766bc6da0d35 +CT = acbb6eb54cbb2ae5a739b554abd1c5e98266e6bc8706721c3e0e8f2cd38fb1b12c79d9eafd08825bbe988aa9529ae6efa447cb +AAD = a4ad386f5c66d51762951ddb9ffae58ea768812781a3eca6d9afb0c792254f2511a7bbc6bb27d9e2569df58f609eccd5 +Tag = 1998707b4fc00287 +PT = e8c445b5b35f82a5c0b77e37635e5d845c6e7fba9be8265896c160dfb836a5f4f6fccdbecc56146ec5895d9197b27566e2e1ec + +Count = 12 +Key = f6f1eaec14b5b71ee80527d4f280281e +IV = 58f1b765455b4923cd4ff1e6 +CT = dc36531beb25270cbaa837c14c1bc87503e107097221ee439016a0d8abbc4b8b84cc552b4922610bf8f06538b060925f799e57 +AAD = 39ec138a441b76aed99798487e1e18e86fcabf090bf4c5714af38de90d28b03310064c108ffbe2e790764df9628215fd +Tag = 9677867a80e1db10 +FAIL + +Count = 13 +Key = f1562cadf76cfe77eb1f3515c1a87faa +IV = ce8ca57357d298b26fa1aeb7 +CT = 714e1935652141e1a5fa1c1c4106eaa08c2f84f5ca699f00b2d8423ac9d27b25ac087e1214f547615e135454969afddc0b2a1f +AAD = 0261a1c533fad05451706f888c11d3d5f92bea34c0eb4c680788a2bc138c548375f874e8f0ef8dfdbce23f88001d6570 +Tag = 37d4170e30711b19 +PT = 47a578b68ceb6d372a51d693f463dc8656e1cbf9e6611e09388f01cf5d837a4032fce53aab3f2664b0023ca2530d7d5e92ff60 + +Count = 14 +Key = 50bbe9a9733c569f05dcaac4b2b1aeec +IV = 1dce83937bccd0605c0ae652 +CT = 3d55e74353185f8714c2d910e37e19ae715ba6aeabe3c87c3cacfc04004a3310cdc325d32a54bc0051111272c4794d68675d53 +AAD = 1aecb421a614fb71d0505c7337176b81bb80eb977b462ca354b423577545b4c8d03f538b540759ef5a59b3705913b983 +Tag = 8a29516f2ef347ec +PT = 724fde4c5b2ebce1a8de67c7aee59dab1ed366a4c253b82f37fc1ea9865d791528ec5e1633c7398d908dd54b307374ce4f529c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = bed6fac819577b2a77a0b1d04ccc15b4 +IV = 05205b161fc19efae6214f99 +CT = 80a7bbeb093e341ac908a66b29f5afc3f314810adf9c8215909db4ea31ed992ac18e7bf5e193ef3fdbe026ba3e1449b086639f +AAD = d4e3be38534701167c5940c0ce8ff15f4c9b7c38ae3e3f966874d00457f2205d4fe593e378b6ee617792ba8bdf39a2a4 +Tag = e1ade6ae +FAIL + +Count = 1 +Key = fcf14a67056f192783ace8be7aa07b2b +IV = 5f52e20aa4d42b104ee5bc38 +CT = 0f57fce74ffc4f8e2a5f2d690707b44f5e1ae8b06d021bf6004af06418bd61ce9468a2bd90850994b8450a530401cc1cc2f683 +AAD = 664aec524ce55072f2e34a5ad472b144020216f60a8a7ddb326a0ecdf45e47b5a8e4eb0ce0da07b1745b1e6fcf514392 +Tag = e3f32d34 +FAIL + +Count = 2 +Key = ec416c7d8b6635609e7406bf14fce91c +IV = 0e5ba1a711d52110bedaa937 +CT = a8bde63b578170efa030f6258e3da3326a48bb887e09fd82b556df49e04ea81310f4720e2a6fab06278f8d948394f6c5e765ad +AAD = 565af107897696a47889bd81f03d33d3b6f0a2c0a87abdc30f6020b2ee8b697c7e444f50feb96729ce4d335f0c2916d0 +Tag = 5153f38d +FAIL + +Count = 3 +Key = dea3c5787773aeca6a090a6fffefed99 +IV = 43a248536f54792f215e0901 +CT = 49580ead26fcea68ae0f95f744a12058379089ccdef2773b16b4e6d8545930e7ddc4f99ac3cdcb937e1f95c15847da3c5f9396 +AAD = 87a8dffa1228185a7059eb161ec2b3f5a4d080317d96780b8f000c020bba9aa4149cd4bc79e74e89e4343688c74bb9e8 +Tag = 1e112f4a +PT = 2515b8ded4202d4d557973725d20a08e183ad526bc954ff968c900cdeb200aea12046b6daab7d2218aa0001f21a88cc5b52339 + +Count = 4 +Key = 911ba6fdb0436541e9c5d0a2f451f8aa +IV = 7118b5464c6ae9f110495c18 +CT = a32fe98e669e893f8b18f683d7eb1b3060652ff6e621dba24794e0bc4cf22141957a3b990bf393ed2b43bfc2f4b519f4f7cdb0 +AAD = a05cb1955246b52562a6881d5ab7aed2e78ccc7598325f8c028a99e6e2a272ebb51382ca4efa4de30fff210bfac73649 +Tag = c82053b4 +FAIL + +Count = 5 +Key = efca940c99f81f9880206cd32152a177 +IV = 692fa1a530bf68b8b3624a44 +CT = ec2473319de9ff340706a39051b3e780b166ae9ffc30370b687db9ff66abbc599c3d369dc5244c311374ade8f01dc3a738e9f4 +AAD = 34c6f2e35dc99ab63a1d07095124b4a466f218bd50086ec2ec676ddb177ec45022ef0ed41e3c132144a54852cbcc4ed7 +Tag = 37c2ddd7 +PT = 7b05b78ff7653181e76dbe181d1578278edb6b2dfdf87b9b2d972e609a51c0c0fc71cc13448b561a2d7d7eff52a7cb7c809b6e + +Count = 6 +Key = df68acd6e1c5caa70f3c89e4348e134b +IV = 79409ba4b35f91ddd2cae922 +CT = 0fa6a070af106b208d444ea9fc259980a2af601e58f2952db6fda56145da95687281964fbaee06133fa3846e395cd435a86af6 +AAD = f1b9e540989d33f511b2202c6980ba59bd9e58b4430ca6a85af04fcba73838b6e4c05d51bfc16ad10838ea26a271e4a3 +Tag = a8d43aba +FAIL + +Count = 7 +Key = ecf4b3127e33ba7397d797e817b48367 +IV = f9e6ef646bca3cbd1b5a4917 +CT = 4135963a8aed9853a8301504cd7ada0f8ef3cb055f4eee2068b3dcbd4518e24786463f07d71db56834912270eaf2caef292c99 +AAD = 1c435ce7bafee52f0aee87670e59bf2c5200ceafd9b99f72a00c61bc13b7eb2a6716b0acaac0d737cf83aaf3fc9b6e03 +Tag = 50fb6fa4 +FAIL + +Count = 8 +Key = 294c4b9ef2661d856259c63d93eeb67f +IV = 4d46b1918a1a9b71f6e7f03c +CT = 287ea2b63f675eed560205be72ef2806c72cf6e04baeda9299ea09feaaddbc6e03f8e4d07fcc17e21c09795b5f3d6c14e04dee +AAD = 162a87f53213bf92b8a9d1c04e0fd1a75f24127bb6b462bc2f5429d69bbdd76f142078bb39b8a76289be1bc771243ce8 +Tag = 5cf59eef +FAIL + +Count = 9 +Key = 0997536d45b553932be013321fb2fbe0 +IV = 5b1f07858660ec5d06147914 +CT = f9b7e6699c5bd58f1c94e631b3180bd8ccc0c91a15fb7aa19d3fa963bd4a499c7d1576208abdb3cb4d95c073638b3f3d3a7a1d +AAD = 8ef5406560e6f5a32998748b073e19d6c686bb3dc52577b82684a14d507a177195aaf543f69b98f621f0672d567deb05 +Tag = 4b5b34eb +PT = da03366733ead183b61bb351791fe2f7ccb5e1afa494d4678a391bdbf0c63ad7ef6cb8cf8be08cf814b234072230913cb3399a + +Count = 10 +Key = 7c775e8c66d1d558a86009c7f12fad14 +IV = 9e42a0a03df72961e83eb0fd +CT = cb1fa68e43765bd2ca95b4dc6e0a3da6f2288fa122cc695181e67effaa31f88198a16fdfe71fdf9220920992dc82fc71acd7e3 +AAD = bc33e0988a619a02a9755e15b4de6db48c1299194558a66830c32c2aa168a26e001bf7271af316a7c541521c32fa5b2b +Tag = c69419a2 +PT = 17d2a791d852bc9c94ae16a4591aa4431b5b3440dca21c3f5a579bb42ca8b01946d8a8ddaa208a78e06bab966a82632bb1b3c1 + +Count = 11 +Key = e02440b3fc842026e45ed76c5bcf554f +IV = 02fcca436dbeb15a7dfdc204 +CT = a48c36c412c12b8c77025a11520452d1dd57661d2ba39246d83a0ef68e0aa7f0da0b4e70f0adc8fc9d94c508a31d89a132295d +AAD = b66a79e61206af75f68402bd8b5fbd1a92e5bcc8c7bc08da40747868c227fea6cbb018131788c61fc1d9e5da1b14fa67 +Tag = 9ae28b27 +PT = 56798abf90221f6ce6255d3568743338b2ac3fc023b0f4dd85d0412b4aa61463f3f7bfb441c484849219f2e0d524fcb431eaea + +Count = 12 +Key = c708df3a2679d4b8e92530b18f0cdc3a +IV = 158fce8d935d1145785472a4 +CT = e51619c026fd50d523970b186fe9676759aee0c4dce970da177d8875bcd49d0315527c101e1147c3e39b9c8fb3471deb9aa25a +AAD = 4eb16299491b1c7ec34670033ebecd2e3ed6318d379ce12919add0a9495e6f867aee055c56beae382f2b42c1ac47cc58 +Tag = 36f5150c +FAIL + +Count = 13 +Key = 07f84dfec65a06f6abd241332c025683 +IV = 26955bd4147cb4a7cad03c4c +CT = d7fe16e0b99aaa3c1ffdf939f655b7f3e9eb4c8acc5ede0844835c35a1ee54fa7183cd9185818be749421bdaff9b8a0abffcef +AAD = 1eb408a44ec1169ba429a945d8fac5e597ce9f55b9eb61d50d7fb326a3c85bab8ddde3b9b434e65d4fd7d1ec9cd87f16 +Tag = 42a0d57a +FAIL + +Count = 14 +Key = 3443fed1ce5ae2cab1be558fa029c8e1 +IV = c3b9a86c9b74d6da036cc9af +CT = b77f054e314ac61ccf1a264549ed15437a60eeae5d9015f98607b08550f6babcf88d51f532907d4ad0736dacf190ee95dc755b +AAD = 331c3a3438c6c641abd70047119830406bcdac666409bf1e92000a9a56ef0210eaec80c4218d2a21c58403df5bc73319 +Tag = b996ab0f +PT = affb396912094361d6a7fecd884433c69cbd706e99ce547a07f6597af7f032a845a87dc0a6e3389782c0406a9f87445d83e953 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = da2bb7d581493d692380c77105590201 +IV = 44aa3e7856ca279d2eb020c6 +CT = 9290d430c9e89c37f0446dbd620c9a6b34b1274aeb6f911f75867efcf95b6feda69f1af4ee16c761b3c9aeac3da03aa9889c88 +AAD = 4cd171b23bddb3a53cdf959d5c1710b481eb3785a90eb20a2345ee00d0bb7868c367ab12e6f4dd1dee72af4eee1d197777d1d6499cc541f34edbf45cda6ef90b3c024f9272d72ec1909fb8fba7db88a4d6f7d3d925980f9f9f72 +Tag = 9e3ac938d3eb0cadd6f5c9e35d22ba38 +PT = 9bbf4c1a2742f6ac80cb4e8a052e4a8f4f07c43602361355b717381edf9fabd4cb7e3ad65dbd1378b196ac270588dd0621f642 + +Count = 1 +Key = d74e4958717a9d5c0e235b76a926cae8 +IV = 0b7471141e0c70b1995fd7b1 +CT = e701c57d2330bf066f9ff8cf3ca4343cafe4894651cd199bdaaa681ba486b4a65c5a22b0f1420be29ea547d42c713bc6af66aa +AAD = 4a42b7aae8c245c6f1598a395316e4b8484dbd6e64648d5e302021b1d3fa0a38f46e22bd9c8080b863dc0016482538a8562a4bd0ba84edbe2697c76fd039527ac179ec5506cf34a6039312774cedebf4961f3978b14a26509f96 +Tag = e192c23cb036f0b31592989119eed55d +PT = 840d9fb95e32559fb3602e48590280a172ca36d9b49ab69510f5bd552bfab7a306f85ff0a34bc305b88b804c60b90add594a17 + +Count = 2 +Key = 1986310c725ac94ecfe6422e75fc3ee7 +IV = 93ec4214fa8e6dc4e3afc775 +CT = b178ec72f85a311ac4168f42a4b2c23113fbea4b85f4b9dabb74e143eb1b8b0a361e0243edfd365b90d5b325950df0ada058f9 +AAD = e80b88e62c49c958b5e0b8b54f532d9ff6aa84c8a40132e93e55b59fc24e8decf28463139f155d1e8ce4ee76aaeefcd245baa0fc519f83a5fb9ad9aa40c4b21126013f576c4272c2cb136c8fd091cc4539877a5d1e72d607f960 +Tag = 8b347853f11d75e81e8a95010be81f17 +FAIL + +Count = 3 +Key = e765831739df79cad4271c8b97012b87 +IV = e02b84f657f30fcef55db39c +CT = c22a920729745e6033fb0a139fb84549125701d90ac568dfb1117461380959be61949a2ff8ab5044c448c5fe081253e639528e +AAD = 3b6a16b461a8aa599ea02a63ac7e57ef9acfed69dc75ec7886e902d4b8dc39913f5ef645e1c46251b144b5d6024c6a1a3c330aa7f57b8a1c55bcd918661583d970c33733ddde3ef1c5ea7ac8eeb67021ba47a904d11308824832 +Tag = aa49deb346952540a11b5af0d8ae2bd4 +FAIL + +Count = 4 +Key = 0f7cd5df675edaf66c8b7b0ac3d2798c +IV = 4085ea5c6359da0cda2e6028 +CT = 19bf82169fee58fd9054b4729835f5d6141a39819e9ab6f050335dc6af662842b2a990b12a2f75546b56bf578832b0236a2313 +AAD = bf65373999ed6576780dabef2361be4713486358ffc9ae08ef91b517b02cfc9fd71a57eb49a02fb209726a21e5a2ec02c976a96e60f795559225b1515876400650d504dc6013aef6a92b41f952c88fc8aa0746cb0e3852f5a00e +Tag = 0ff48571e381418cfcaa0cc13cc178bc +FAIL + +Count = 5 +Key = 7046ce2cfad031f8564d7060f7b9fcbe +IV = be584d2d74c2734ee05dde5d +CT = 7652219e8315b2914c3cddabf28810169ab64d552da2553edad00d016e03d5ea1a540605c1b5d15f0f533fdf8a67a8233c65b7 +AAD = b9856b2c5b261037bf8629688f06a415a162ba27c44976256d87d61a965bfd94b4a29b2b553abb5fca0a93739f84a60149cf1cf3db63fe043e1e292b1834cc48c47e816fd8fb059f909d17769f316388528b1f8246e3708c1c1f +Tag = 3f72b336ae622971c66ec23999dee1bb +PT = cbf47b4cf3602ee4718806d92d79d550cc58108fc6e7384fd607eb2839f1510856314bef516101c1ba0bf9013c3223a40c7566 + +Count = 6 +Key = 11338a7a431e3c16f0e5d265ca619735 +IV = 3b355d853a4fee0690be45e9 +CT = ff4d5100b25581129f8d50bbdb8e84ab08b52c87d71019d552ba6cda7c80da584f2d5a7e17ca0667dd578e099852389241d5c8 +AAD = e417b81988f7e2f3d2efffeca7e061fb865526a8067e8253851ae8828f9f027fb380a711d1db671bda7266fe779394ba0eb1d02d1f99bd0eacdddab57d9d29c4db5e863fd53b000a11b3fc7c1497fe9cc63a94d5e3c3a3856721 +Tag = 42939c00e6b469db15b9fd47e9153005 +PT = 8a6a9fbf3e72b1390d665424d1d2e706384ff1db8c5e309b69a27448bd1750a038c2c25acda988ec1dbed5f24fa8c44199146f + +Count = 7 +Key = 172dfc179211c31e055c149c8c23ec9e +IV = 6f32ba04972c3570b11d1a1b +CT = eda182e3eb20281807e041f14cb7e26e933b9691db457a3239213b3fcd885d421a737207a20ae3c30bd9fbfd9bf85f2bf93cfb +AAD = 6b9656e6c07bca3540eb334703a3b110447e55a9f47b3513e00e029aec6245a7a55e51b28d9afa27b1ac2c5639f02c64810a5212a71582438f691653356c3caedc9efe29db375af29d15eb473786b2afca37b3400734d9d103fa +Tag = 8e404527995c65f9936efad88fee1b4e +FAIL + +Count = 8 +Key = c74c96c514b09cf729cd0bb21c4eb0c6 +IV = 45b1d4a0e56d7e24e91b84e0 +CT = ad3a0d8bccb0f2fd773a67b4cbd7b4f8ca523191d5a93aabb8f62be100701febc66cd2adf162d4d8cd9abf5ee2f03cbcbeef30 +AAD = 58ea828b2ab805b1d262772161c26c452b545ae75335fb0dcd904ec1f1f7125984d9c59c03b1ae30dd7910b0ea4e1a5383fea414111154d916f4766d0cd8542d3ee0fbf55398fcaf0a8858a542b12feeb277651d019ceeae6eaf +Tag = da9dc47d559516d2ba43cb78eb218d29 +FAIL + +Count = 9 +Key = e45d100fe08f2df7106fb7f5a69ab9fd +IV = 89cb5592e015c15268fa6c74 +CT = a3e6d97d398b6f8d1acb9d45c0fb66b89cc8f8c034fb77b4cf50da3fd8b7521a6eb5f7bf4a6df703a125a43a95f7d6679cc2b5 +AAD = 1c9293292c44aa0535d7e3cf55345272c994d1c7e4af05b666ab80dae87d831685ebf706900efa1662bed1deca81ae2ab1aeb58f40030eca375ef1765d7fa196a2ba72d1d7dfb751f48e00d8b607ba1ea900f7fd4d1dd6169235 +Tag = 1d61d7db1d37bceb7de98bd76a736d45 +PT = ea9b8523fd5ba55c93ff32347d491220b3984cff39d145ca6625f4cc7b01b417776a2e7c4216b1385f8191667a333efaf00343 + +Count = 10 +Key = 2d0b0ccf8f6e955a49a8a6e525c6841d +IV = 086d5a3f6590e8f7696e6ca3 +CT = f4c9c513a49a7a98fcde6c2f380bac70158a5c772cb334c0defb10399c2741b3be0fb06242808b1c4d3941dd0f0c6337fe5183 +AAD = 2f697a4535c68faccddc970f403103d69590661bdc196e064542fb1d6663d47a55f8b25c71dd16ea36c53a8caa8d2ed30b49efdf1794c2f13e6e5cc3ab81832c6b63c1862bcb589a7af0bca5f6647521556fa104713c7b0f4237 +Tag = 9deb38ad834d4e0788a113f01163a2c1 +FAIL + +Count = 11 +Key = 842f74526892dbea464884041fd1176f +IV = 8b2c836bb2306aeaff793bfe +CT = 79c1ab6299d187b7513b996807b6484817d39899eb9c87845b2c7b13edca01a8f5ab96f6546b6f921a89ab5624cab507b10f35 +AAD = 78aa908eef930e05c8491dbc093ad689ccbdf6cdb0321ee0beb7e73dd199f6db81b5ceb26bad8bf0015c05543ca3dba582fbb8a816430397159491c20c17dbf303c3981275eea91be0f8d0cffe7be53418802ce35bc6ebdf190a +Tag = 1b1b94ad78dbe7c286f87f80394a519b +FAIL + +Count = 12 +Key = f2dc68a0aaef843b142d1ea02a83ddb9 +IV = 6e8045bb7cddcde4945723ed +CT = 47b824727193d179b279e7ff90c1848f721d5ddee2e7b9c680e24a9f8b284ddc702bc4b3d7951a6574b000bb725ba34c444259 +AAD = a50e9bed28509b594943c6dda18abf26e21e1b43b7b3377d00dcdc27fe5d9af001d63df3dc177b86c41601b982cf5bb064e5b1383d4bb3a1891b418fc665ab7c165d3033af0c971fc368f3f40b3b3de35377b1945fa582b85c70 +Tag = a6ec986694fed00ff3fa689487158ce2 +PT = eddb4801aa6fbdaae5dd436a958e5771f850f81f1435cb6d41a22bf0b0a2a3b453874145861d3d1e65bb2d1d3b2b7a458b8c6e + +Count = 13 +Key = be23a5fcec16a1ab734e914d52a38918 +IV = 0ca9634183e4f07b46b6cfb4 +CT = 9256f9cac94ed76011454a96f91deb5c75516b3778e66a948618cdacab369303ddbc5e159b7eaa669ed436aa9931bc1462d754 +AAD = e2cabc6ccf6b078b370aaae412ba9ac810246938a4ed0e8d4aa9f05347095650abbf773efa42a2447886620e31982ec9aa0ec24152f3d551c6b66759742f7abc5c01325bfeecc8473bde40969fb0c82949393fa232a9c82ebb72 +Tag = 91d35d8f10a9b02a710d142ea695363d +PT = b04e7595841a8fc99d19a7bdb7e08d687fa9b3475132a79d3441a228d129ccf2d3068c47173775b696f61d9040acbbd72927d3 + +Count = 14 +Key = 0658fca0a449d0b2bd1a56a0bb582f81 +IV = 12731761ca8bb0f266d66354 +CT = a26a3749820ab45b0e254a9de5e7863b6bf45139c4b981b57c14db59d1affd838e2ac4ce397145fae610a10ab1a0fa62d2fba7 +AAD = 67128c67b6ef6f8245fcd3e191ee9e37072252fec8e4dcc385fdca7bf19835f5c1f43058830ace68af6bead5090b647b727a3fb6806266df6070133ecf96b1cafed543d3c9e9aea6f82ffa3539e5105abe3a8fe8bf184ae6398d +Tag = 64ecdd3e2b77a5eef9444bdfb5a8e7df +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 3bc598ef98039930cda850389248e0d0 +IV = aaaa088a5a3e4288a77044d1 +CT = 45e38f74a50eaf2a1d9d3e9c222ed225db273c5891c2e0ee4bf4187222ac5c20bdaa4813d11ed020397b7d4836e007017969f7 +AAD = 29dfe034fc164e81a8bfffaf8b53ff128c9cb3fc04153fe7b8fd326977fc7da94fb86276cbb4cf1346695e7fac338499ef5134195596170166546ed294fea69f48604f2879a524c3dfb253e3a74315c6f516c26da4e1f8098bf1 +Tag = 1dceebc5aeb884ad652fefc1ac8fe4 +FAIL + +Count = 1 +Key = 3266430c1cad19321013ceec77dc5409 +IV = 44e3c6f619a373c797da3e62 +CT = 6d1f6bc3d7ba16ef289891ee8912ae54dbf2d2cd84ffb81be5b99c5a069bfaf4ea50b354df243565462aba25e520a4dc711bdb +AAD = 45ee7d52f7d80a6c6b5fb0f267d30679c6a4be41e4c7d2cd431c8de757701091a3776e40d5c9ecd7c50cc850ef3a3febe430af0cb2ddc5033f5d68728ff4e361374c88dc7f3338604ac3628ae12a132b5f4213135c81140ec5be +Tag = 8543d4e72050dc37c585efbda5df95 +PT = e73c8598268b79f40a341475f03fe80856a6d936f7a057a9ec5beb418534013583f3d9082359ecb40e9576ec58cb5bfe2863b5 + +Count = 2 +Key = d06c3471285c039c3dc1dbcfcc02257f +IV = ef76dbf581fa53f09f1753c2 +CT = 476fc15c123ad0e8a8e1c5cc677806864b51002103fc328588daf6ece4bb8348744f2494c5610bf3f1484442f007803e19c721 +AAD = b19b28cb587dff77498953ea4cfe1b1198297767569ab9246af5f6ba5f76eed5ce9d94ce50d4040f998813004434e3684feeb2bc2cc35cf989538d6352577de534f9941fcac954fbb124e70004099139e8c2547dc334423b389c +Tag = 5f5d9cf66938e618c64f860ccc06dd +PT = 2aeb6f1576597bd1743743da1b00a72e0b7ff7b0c1722b28d53c7683bf1859cd1fa12660d1c1dc74615daf0eedb95b813f590a + +Count = 3 +Key = a1d00f61fe3b0c15fe4cdc98947b47e2 +IV = 7fe4b2e81ad4c45cc205865d +CT = 187eb7ba1bcf81f446beac8baed9dcf342c00aeecf770de5e288ee0af56cba9fa20e9dee0d198aad54af0cbeec06363310aace +AAD = 01ecb78b5cb4435b8bf7cd8a71dfadb8e8779a1a2e53f982bf4dd43e107e7e9055a34e8d0e45fb4004eb71309576ba3ca058e32e27b06c2d57ec3e2e9860f2361a8323088b1ad0979f24f13b5e3e65da107ec65fab4253447283 +Tag = a4584e47a2db46f986bd30f745fd4c +FAIL + +Count = 4 +Key = d15b8f1655029d0c0e8e4912af43fa4d +IV = d1064d2a00af0e5b3306eabe +CT = 4191a86f61ea9129291188fcdb19473533c4d73c8a472be436e5a8cb949152b84e6198291d695f560481c3aa8351230a0a50df +AAD = af5f8710d98a97ee42bbb09d43c83dd03867c12bf4a736ce37c471704a6d8fb35828def6a99ce6fb5b177ce45254819fbc2583eed27130086973bf0dbdc279f522c9ad68c698d6824ecbcab741c6e9215d9a2f5b97711a2fb66d +Tag = 61867073ea8c050d42b4bd0bcd9bd3 +PT = ce3cd0badfac2fd8fc03197f7eb847ffe5b5b57b0f39dbee424768fa68c19ee148419ab9c62d6419b8abbba330435328e856b3 + +Count = 5 +Key = edd536fc86351de5ffdc1124adc99a52 +IV = 794f11ad6d0c6a23925294e9 +CT = 5a26a71ba600e283432ff39c94af662e0953c4029c6c81a5016740635e429bfc1b7b74fc3d164763348d6c5e3443b1892f92a2 +AAD = 073661cec1aa125070f0f67c9adf48375cc970b230079351af64148b34aba2dfff27c80b51d1b9d12e4ca81cf851165538cd8b68335167996e1116257320fded8309b458e0293bbd7052fb012964284c94d3f618be57ed6a3234 +Tag = 962750176772d8e0b0ac2334ddf61b +PT = a7b3fb6774d972fba3b2285939aeb30c8e7b16e6b1b76ebafcba3f232efc4951e359858f320e2b22cf4d591a745355d63ac0c6 + +Count = 6 +Key = 9f9ae4a453dd3789ba9c6d40e9fab447 +IV = a23fdaeefa455a61a73f2956 +CT = 1cac1a7c46bdf732d4f71e529d88dfd766ba1b68a42ff2e533bfe866fa6a993b03a9377a2c098c49119f55f474919ddefc4c52 +AAD = 6befc4b536a8c2fd0d204a2abb4790e3422a65e04cd1387bad927812bafb3c1e881ae552f005ad26b2ddf891ea56fa12ab6b34fde999e285e567adc4008b9a1aa7c8d42ba4fee6ee737a125aa18b5fde1f2e20f7ea5f7e4155fd +Tag = 90978ced1501a2eed2626dc367bc66 +PT = de0bd0d577f3ce3c03591ef61b70759ffe50eaa63425936d5093fd8d1279e75aae477caf649a6ca8223542f12ec74af965dad0 + +Count = 7 +Key = ca93e04ce6646b23c3e214466acac0e1 +IV = 60d5f8d0f8281a3d5c2a0751 +CT = 0bc0d34c4a2b4070a7a306db651aa9c608d1313a409749b729fc6593938446f394a159e49ebe9b3e199201adc6397ba8d07038 +AAD = 9066b0ee79a5482c070e1dfc2dcf9dd1f76b6bece949b154b43887cb6aa285e111f6ec460c4ebd1221eb060f357c4e5580470d34e8007bafee552c18252ef13bf9886e94c232b9d501b1a037795a0880f1af2f915c05e62282fd +Tag = 77e49fb21b25eb557d691d317f7765 +PT = 817c79d4ac32ba3b064b6a14f249ec288de25c30c68a62939ef810d3d12f73f9f4336018dbde07cc0560072b5217fd6537dc05 + +Count = 8 +Key = 52d58b46bf9b4976120efbb789ad2e05 +IV = 6799a1249fc3c994626b0ba0 +CT = cd123aeb7b8c00890c6efe6fd6162f6d8eccfc3c41b48acfd7b9a195f73b7dd0f0090890315c362e361df7050eb6b4b099269d +AAD = 28769d83cc029c8eee19735ade0c49421d5355317f9f1eefbdd285ca1a0da0cdca1eac0108ca445fa2fb12c7868007bbdd9bc04d8ba0a7480f51a0f0a80f3a923ffc2f26125ae1eaec33d389468da137ba1ca0a9b6b9db89c52e +Tag = cba82692ebd96cf616bb0b2e3c5497 +FAIL + +Count = 9 +Key = a30839faf606d42968b6b288bc77dc21 +IV = 90a465cc10373d80db08566a +CT = d716902b2e649c8041044d137ffcae1bf44ebcb010bc865bdee56e506f1f359cd7cf78fb08ab1ed6d98417c2f3f3322aa581a2 +AAD = cf00360dc8be879d01db6ffa1c11df4d80b8c0dd728714d5341212e6113be6a8145070e75265c26266b8398983e3bf448d444fc9cdd5dd1c5301950a6a8418cb1b9c9fdc51ee03ad3e0727fe9e95f209eb37298145f147d49294 +Tag = 9ffe56e13558bed93b660a86e6436b +FAIL + +Count = 10 +Key = e1a2b20b2e0974c3663601ef4d32a75c +IV = ba484e699ccb364bc4f21e13 +CT = f64c2d3f0789f8d2d5035955c882f5a8c2ce7223de58f78d7ff811caac2c5f14ef7000a9e3faf59e466c9928111c1aa5337cfd +AAD = 470b28900dfdd4c661cf082ad3c537b8142b0cfffecfdfb6be84ecfb95c392967acdd995d780dcb7281cbf5ad6e833ee25471276fa4c701f92efc5dbfdacd53e2d4ae1fb929880dd3386ab32095d0413bb226ed3d201031ea3cf +Tag = fc0902fdbf501abc9c51eaa9509171 +PT = e088f6c5baa432750a188fab1f91021f0da6cbf424e59f5ef29b20bd99e9d62d668ffeb52243ee95bb0d524d2d7e794828d916 + +Count = 11 +Key = 6f0f708fafbb17cfcc59dc9fedd15e9c +IV = c0e1e28b96b737064f5e56cb +CT = 8040d86698546cf509ee154914101881e17929a8d27ba1e859519347bf1da5399516598b2544653ac2c3d7656e00b7dc9a649a +AAD = 943bd4a93ab4d7f389bf87e58a0b25c927ed4e9441bbc3512f5a0824394279fb16276e25b535e149156e139535eb4171c6e7660b6a9feeae83b0a7a12a7cd99f5c82099970d1adce8116cebf6508bda205ca073c3e3e8b6cbe71 +Tag = 0d867b321eb44b1a2d8a0f02577293 +FAIL + +Count = 12 +Key = a58630eab4976617e80d3e5600e5f00f +IV = dd597fed5fcacf54ec05fe5a +CT = e85f249f334164d16bb95a7dd8b6109ca24812ddca305b820ba0db9bab6c40c5786b45a521c74fce03fe0d5d747fa663e4d05b +AAD = 86a5d0133efcb6ee4f440d7f76bfd19c582be414eb822a0f5a93cc6fa232cc4580502468273075a72b76ca5da4d5a5ab2d23f7ad50848484ec80a81bf2b4015c376565c7c9022e13831c611517fb2c37fe57b7118851253aa453 +Tag = 41f9210387b9958974e11c3d6af72b +PT = 4f760ab54bae1b20e2f05cf231e164a9b02b03cf239ba38ad7c2b55517c6429e02f3887fc21670c8c258692fd741f8bfdcef17 + +Count = 13 +Key = c258385de922a16d58c8c454669069c5 +IV = 04ee498fbcbf5dcd6f4ec1a4 +CT = 0dd5b2a8133108756d72f3a0cb9d3710d6f03654044fdf856af38faf27c1f48a472dce6283d073ccce07fbb0ecc53c27eceb25 +AAD = c466057f5c65538c46174af10a1aa2aa81ef4fbfb76f62b0040be48e42ed7c4a35d0a8a2c31c3dc9fc8c7c7e5e7c65ae48d464da2360e721196cb7fccba543900d72be81049e135ed3afc73f8b635bbc5f8fa03a8117356bd47b +Tag = 9ff7516a1281bc56e7ed3369f2f3f1 +FAIL + +Count = 14 +Key = 79215c5c65e4cdcbbb8588bd9c9e90e7 +IV = a0966382b98589b72ed51ad3 +CT = 0495bfa528eb5b051eaed96ed6f2287d519c43527834920bf729d9bc47de1227d17b3d4be67fd4f21da34e691bcfc550f8b06e +AAD = 8567f602e126f4af94704bd619ef98aa6a6ba9d49eee4b43c07f71f600b94e651f7767ef427fbad1268fd084f83847e3af57fa276c3806434b8a326ede5476a272f92677effec29380742c0c4f0eee47d2314d4cee53bd4d4233 +Tag = 325123c42ffdea3ba0e32c528c7284 +PT = 63529c0f82773d9e02d2531ca64547290c8912e8c19509ded6426f321498f8a3a938caf3f80ed2603d03e6e061084df1327a7c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = df284d8b69753968f63bf835049b86fd +IV = 019e16c28e8977a838ad0124 +CT = bf24f6ffc0ed75fbfe2dcaa2e7246c95a398b77d1b82cbd00d2a7ea618e596be0d91a8f092f6e4f3de944da54bd3b66f5b4ed2 +AAD = 061676c818a79be016ec6ffe6ea87919da7e8a8dffb664d31489fdf5a5d3c2e53b256601e3de1b488e94c8a2ac7d32e09f81c2ed9d3523bb3fe452c967d5927195dc8bc2f7e2c6d878b05c428a23f3de38bceea4bb3f41742cc7 +Tag = a940d724ecaa85a89d73b5affa95 +FAIL + +Count = 1 +Key = c4d68b12a0d08f5694f93ea362f2bf28 +IV = f6473c088759fd45c9cea2ee +CT = 862085165395a29d8796a3630be2641a88e1bb683b6f7017de9af52ec3c88249d6e046b556a3390be63c4fb1cb42b12da49f9d +AAD = 73e85e937deab7ff4e8639bdb6b1c5faf7d436c94fc1e84eef6a02a84b1f88b1e897abb08ca463a43542c8bbb1c27912e856c70525be442bb3304f45b668291cea743a1bd060e10449105c0fc9f603a970a4bd646c80c9130052 +Tag = 1dfddcc8b8128f7e1f2a4397f76e +FAIL + +Count = 2 +Key = 676b159eda1a2452fca785d29277f6bc +IV = eba643e682f725f07460298e +CT = caa462c30d0e0f99d602e974609b9a4bfa5d82594eee47e4f34346efd4b8b1374f89cb7c0e9054296251b3af71b5855fd9887e +AAD = 72f81b0410ae7af10e2e4e7c8cf160a3baa6976a67c917dac00dc38977a80740214b6b377062bd3e8cb3754fdcd978b48722e8c00af969a7313aea362644e26ac6beeddc062adaa51a80d3dd6fe8a4de994aad7196117abee7be +Tag = 71be7019d0d7c9f32f3697c7201a +PT = 6931f52aa787e54af101f4441b9bf41d685234915877243d64b9e59138b585d1f15663f3ab0f0fb79310793f02972e744410d3 + +Count = 3 +Key = 4b573320987ab6b6f9f5ce064e74bfc6 +IV = 076269197a9f8848364f4309 +CT = 48d0559885a68f4d96865b0509694606e4b3bf472743f8643865ccbb2f78bb0e3be7114da50df03bf25fb13e2f52bffc331314 +AAD = f9b490132ffec8b7749e4c2eb24e287348e375035bde471f8c44e92b5f33f49fef09480770866ffeb4bc26bf29d04e04d82096d53c32c75656aa3a7bafd31bdf17ed1ccaf90ab0bb80af1147790c9f2461b7170a05dbd9c9ba08 +Tag = aa5ae9fbd6291fc0d41de0d0a797 +FAIL + +Count = 4 +Key = 861871341fdaa5a5eeac8e2a923edd3e +IV = 89b58faba28a912fd630c6b2 +CT = 02811453f763a0b2081b2195cf323cff40613059c1f73d4368e2a475c5f937238aa813f46648b32f05ce1ac8b4287f2dc3c443 +AAD = a108f8ab9d4445756a2c8d12183fe2aa7f042c71c07f476ea54a489ddc456f80763b7346fafb7fffc15ec3a124f7295cf72780c3470ab383ea94ffc223bf8114252aa311c3271b3156d8ef74074f1f87978c198202689057e8db +Tag = 0acdd9d3420e7fe17a250489b8c0 +FAIL + +Count = 5 +Key = 55d49b29a92f43f41fe446e0dc5b450f +IV = 72c21b65e8ca223f9c6159d9 +CT = ec205676713656a003368babe45baab08827cb91a7e680a68a4796ff004db0462aaaa979be25ab0d172784e1606f9a254e004f +AAD = 0fb5950ec21b05407e94fd6b1aecbac3734fc0ad52789f929a703b98c3e0470f326e12eb720410141ec1fbeefb2a6cccbe87a3ea9074cc10042b8043141e698cf75c059b0ef9e69b4a122b9ba109c124c21ed32e3b1ba1b803a2 +Tag = dba343acd73cd65dfa7dda0b0d88 +FAIL + +Count = 6 +Key = df5d99b75c2ecb5c7a6e95adc2f7aff7 +IV = fb613f82c89ef1f9937fb72d +CT = 961234c5858f00c5c2ebdee4eba78aaf68f469be4aa0019c8c2e8172c25a0116f8ebd430e2254b37db9f524357ba4dc80a0e32 +AAD = 76a92dacf8abf914bc22f584082374931593e866d27baf5ae78727df9df2dd46cee2d0e077f2732b68517c8e7699412a3313eb1fc90e44cbd233d5b1426a1f573dc22c43b1c898dcab8197b5173eeef8786b1e88571a97e7468e +Tag = 079fa49fa256b2abfc3f2304cb90 +PT = 43db2ffa57aef0c1ca56464b6178169c65772d5416bfd68dc34d6c86a809b497ac97f318d0c5fdbe949e7f09310a6874fc0032 + +Count = 7 +Key = d7cbfe44c6da0d07569d1b02bdb91ffa +IV = 00510c8651384064f7ea4128 +CT = 84cc126a335536da3019ff8a8f2ea0ca5687cbb4474f4540c02a37fa11091ae707c235b63d6d67c3ec30e5213e20087aa579b6 +AAD = 5660e41a6a3877045fe361d1513a40b708d6a4c596a6ae92ca63c3e039fa73ba00c04e100423a0a0581d7ac2ec92175e7a90b398d92c59af45f65b7ab6314bead2cc870b5d8ab143101677366494d5d13327290d3819c383b424 +Tag = 026d827cc9d225654f3bfca54f72 +PT = b2f90e7d4bd280e1f0c74e09c3dd83920b645b3ca925d3b9b599d20b5e06b939ff02476f9837db4f57cccee31de71f68f4264a + +Count = 8 +Key = d4f0da9e3dfaf0738278d5da6d8d6a7a +IV = d1b3a1046ccd1aa164c706ce +CT = 0e72d50dbc542f39e47b5e14696b775ca9ec9f1847d3192aaae63c1bdcdc11211f8363bfc0725a2c83afb1312a051e5bd72b47 +AAD = 6d96956e05d9e9b9918e0e0231ecf68cdbfe259d7c8a6fc130a51068f732743c9b97ae85a48bc9b4a0f877d82a0ed12e20629e01e82573af07bf06954cf66c6efaad857a20d0fcc980195ac04606a60c308f3b133c102c70b67c +Tag = b4ac848bd26db99e43a58b261603 +FAIL + +Count = 9 +Key = 03af276cb684a6ce1f783a0c1db6d3bb +IV = 0c027871553e3d51f4652de3 +CT = 054c984a2d7a333ef6b83c527729f949b04fb35a82b84eae667f4b0a75509b63dda252ccb16a1868e4efaf2048cb3421de99a1 +AAD = 9e41d773138b8f0cbe0afb20bfdfaf3ba2e8ccb9b5ff76540102b36246bcec0ce9f33aebdec0d5ced2d78cb94bd912fb8bb02d17c096a3d234feecc7692222f855a76d977ac1d9ee105ec2b5702cda778b2d4f3ae6b57585d772 +Tag = 7cc34c9aaae75694bb33cc9d1819 +FAIL + +Count = 10 +Key = 3f6c402a2305a5a1f9644cebdd673c83 +IV = 2de89b140a5e0fef9c6eed92 +CT = 634f93f996f9fd0213fb43a83dbdd8642dc389aeabaf611d4ddc9f13d58d6bb7a69b3356f050ae872b7a48e5957dc463decda4 +AAD = 4d059e617b0f5e328904415ca98e65c2b1eab4667328b5175711947edbb4e1954c0d8f40232f4801237bf1041986d758f36fbe11a06bc03379d27234c6324a28ed045816b8adabb1b7ece5ab9d49be1d1cb9b0083db19046c112 +Tag = fd72dd721e55d56974a85ac9b56c +PT = 0d3c34dbd79f2fea743ae7e755bb2cc44e6df8f51634884c5111127b35d7519b1192e7cf00a2c0a61bcc412cc76f597506f7b2 + +Count = 11 +Key = 10581f6c2fe8ee231bf8bd9116879310 +IV = 91e17cd6fec19720bfac8055 +CT = 70129b14aa63c6a0c2720c6b80e149f5fc0a4f9d1776106dd0b81123423cedc559eaf89053d0b7e8f649fe7214d0a6d38f5c55 +AAD = 4d1d252bed05afd3dcddd9e38efd1cd6d4a6408e626d4750e24a7f7f1e9cdd8e49ae4a45d1a900e24bcbe2524c8d7b5d60e35fb22b04fd3a39f280f7180d48eb0cf446f8b7e9c4858a52f894a632ec2cbaafba5945b2d8ac2784 +Tag = 9b13c7ddc87488d4b334092e84f8 +FAIL + +Count = 12 +Key = edc8f5f532d019e2bad24de54a4bddfa +IV = 95621e03d24d048508d0b682 +CT = b5d6bcded10405087569e7065a1cdcc03573cae262e845da8fa39a9a3eb51cb8d8c005bc67709dde7626b8553b55c5f758b60d +AAD = 78cb2adce5173964fdc848351f1fa08ab767dc5a924ad00e1f811f4180fbd515295bff93ce3d612deab31bae665e51b828acc621023eb014b79b911d72bdcabab4c2a5c4baa9b6fcc9289cd6671ec9871e7bbea0aa0a6e3cb105 +Tag = fcdedbdcd5c4c3c595d332752b72 +PT = ff8e55fa453240d4583ed97634f884cf33f6da71b1d4f7361afa447fa134ece3176400d46bcd18dafcd65a8da460cc7e4cc2e8 + +Count = 13 +Key = e575343955f8e8529b8260cfb966b5aa +IV = 3f7d305b428fd45a9a6bb863 +CT = d839c0e905ebb843179bed9e274a1b7f1dac52677a1a6fc3f313caf25435fe166d14e28801ea65ca8c72fc77723ccdaadd946a +AAD = fe13e13ad4e12f724e96323c202719e034f0595b9beca912764ef2765cf3020374a22e6f263537cdf2a2c6b04814040c355df6cde4586dd3b3b5298763259fc62ccc30a798974b59e91399fdf731e71b0a80038b552b866de1cd +Tag = 6d1d84e8df2c87aa8bb696aa5dba +PT = 41587cfa84ebcc2e055df3c7f4fa83bc4e929144a8d77f7fc59eb0afa78b40866002700cb850cd0b08414d43902e9ab26f833a + +Count = 14 +Key = 73e083cf77141e7d70b150b931223a0b +IV = 46a473a9dac210031986ce6d +CT = 2097bb90a71eb111e64ca5984d44391b9f13de482898a1dc4f504920a39c744449f569cd0c9e3eb20ad72a7b394727d3c05b74 +AAD = 15e7eb0b4565dda69e5a1b6d9b5345db681874e8a6408eafe048add5f3e703fd886c190c31179fb94be612685d54c8a0e4133cd5dfbd44a826d7c24276c4a0fe553999510de2d20eca8677de4bd5cfdd0ae2ee7fc84f2734ea79 +Tag = 4ffbe40bed80829324bb6dc80611 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 15991e166788b68cfa4e0d0628c3bf13 +IV = 14ea80fa36bba4496f6e622a +CT = e373f3ca1dee0eee2ab66ae14101e48ad1708c1a6f529e1e75079e20986db3fa66a17a0bb1d11ff10f478db3a60fc08df9df21 +AAD = 3740b28773dac0cfd52d6d61b9c4a3f662370b3201c22c5ab4a631189edf4736cca27f7deda420bd6286cc723946e518e7eac0fbd2468558809e2e688797895b225c2e8013d957cca83b704051dad24f50190e749e3a474e8358 +Tag = d4eec4db99e654b6cc3d51d821 +FAIL + +Count = 1 +Key = 3c955d141aefdc36b39bf7013731e469 +IV = 36f30080ce3cba08f14354e4 +CT = 70a62dc7e81fc51cad81d9e99b8d4ac417c8da89cce773c9b9c396532ec23041cd2b4967cecf18bc3d9c06d62c87935d20424d +AAD = b0f9cf9d4fa96e58220710f67544db094a30f36e0d107d3d6d7f248c3b17d9b466d5c97cf6efaaef9ca0f5cc17f70048246ff0969b89b3177d2643e9d07443974e5f821001a94b01b44f39a046618c81c19a1e322ab24cf75d63 +Tag = 15380785723ee39e54eb7d7b24 +PT = 545b4009b9333a929625267166e83c0736f9fbfcaf1faf445cd5094db0e7ee53955b829c51542c32cca267ac31264f9813ae79 + +Count = 2 +Key = 23a3ed98a0eb34a83df172968bdba521 +IV = d315bba9330bf1d493e8764d +CT = 5964b3a856125b71783607a9e6f2282fea6fb58030dd2f4f3ab612ecadb45e9850677dcda4f6e295de003d6a5c9efa89c36d74 +AAD = f86c434d82fd7b6de981c9fc48f1c6dd4fdc2af9565556da1f722c592bf995897c404929e9c46a3285e2b9a8ad841b5aadf0c4819ced14fdab3d4729975db57051d7c6812b005cd9f9994b9dc6df5f1d89058d5a954467a6b5ae +Tag = e5642f23ff0e7f2b47308c7658 +PT = 0503bbae1587abc69275445f319c3ec17720ff9c4017c0f86349284b1872651fd1c4538a2a7b039fb19bf615c9f41790b3ad37 + +Count = 3 +Key = 6cecbe63ce6213440a506212813a8ae9 +IV = 374eee960cb1bee57bb52caf +CT = 946ec24e7bf4a0a1b5a73f499291dfc98f36512b72b1b9460923b7978f2bba36910bc15cf5bb5e0a2d2246614034ed15d25004 +AAD = f53da91cf8902fb342763f61e03f380d422ecb844a10f51a7b9bdc69a593801c004e11a1b446d02b2eeb6201a97c31c2d93ca466b318a9cf1c989749ad13147937c903bdb78dfbfb205473ab3a776edf27cefb0353ea2ae33cc8 +Tag = dedf1d4d60036b7bb35024f4c6 +FAIL + +Count = 4 +Key = 40b5ee9ba14144bcf7efa0ce3cdeb50b +IV = 092199dff369500201ec2f91 +CT = b8bc73a07d032d1624ee11048a5aec2aae50daf2c1bb119373f535c76c9a644ca1f65ea867cbe29aab3bf51333a7f97755cacf +AAD = 679e6c518db51929afbd3960e09de73119ba5542c66f1243126eb69e76ca75ac9c5b4788ef40aa50e9969f081cda010fd1f5c498e9522a27bf7a7112e35f0399892f7aac947ec7bd8ae85e319c430e6cd796112973e9fad41c82 +Tag = f9cff181c68ae5e9bca0c849b7 +FAIL + +Count = 5 +Key = 5edda887c4ddc66a7fd7d7aeef1b1fee +IV = 83df6ead5283dd4478b2352b +CT = f50b23f1a7c67f0b50cd321142c025c6cf1626ae69e0765710b56029d7886eaef0127803108a8e28c7c710404e91822980fc8a +AAD = d9aebb093b25358e10deacd0d2d339023bce3e2175da657e46ad70a985e7113a3676f12ab4e339ad8539b0890862ea62612f33bc77907c256d86da428523e5168c797b648fddc3dc791162f1351c53eb02fa393403be3d12a748 +Tag = c43c22a90537b79b62383fb2fc +PT = b0af4cd4db0e649b9b311b03110397b0f2e1d09d115f78916766ff21beb3b364812d61e77963707feb449f3331b7174ab7cd4c + +Count = 6 +Key = 48a473644eadcfa0f77f8385fa2610d9 +IV = d74b195f0db55aed41bc90e4 +CT = 7549abc302c39514de1e91f2c6165fd1b48ddbff0cf3ce3046486aebaaa28a069d3449a0a6e63304efa12ba381c5f4c2aa3dc3 +AAD = 584ae320f3adc46ce8432801700e863560b51e939e236f1f34a519974e96877925801561a0f460ad1fc5ca011862739491540e8c2864591500633e8207a24bbe61f81a5004cb6cf727856cb51321927e7186dedbe9d050f8fb03 +Tag = ad7173fa14095b92da2939bd23 +PT = 1b505cb82600ff0873efd00ceb65d694b0eb3e3b47a4b33ebd0b4fc8c19cd12fb0c9b53c8ddb6038025a8eafddc0b4af4154de + +Count = 7 +Key = f482045dcb84128485a6ba55dc9f0a43 +IV = 69573ffa1a65bd9a62174756 +CT = 0e408bc7964edd3a5ff4b22868410b22c8348424ed8903ea414e0ad56814821b9fa8d6e784ca1dca5493d653dd8e9f9fc8e358 +AAD = 01a38b8793ea63c67bc743a597424da218d0561046d4be5be1f40a8f4dcb81d07aff84d988478db66ec90c229670b55869a80e0370a5822e073272133c90219511980aca7201b254f3f1f84bca0cb89f4191358ff0a7a447bbb2 +Tag = 5c2be2a491f4acf5a26d1f4602 +FAIL + +Count = 8 +Key = 354ea4db1ab85d87e7b219a8726d6534 +IV = 3df6215ce59bee8f83bd3c40 +CT = 0493fed645f640abbaec60412d132c698a8273df10b1f257a7e8199cee04a6ebef9b6aef958aa43906fce2253f0b700035690b +AAD = dbe9ff9185d4eb5fa829cdf2c9d4d692820e0fed3d489b5746b15d6e6753275eb076dbbad2d7d49862f581e511c31884890476f51cddf174ca1fc0fd4f3051792b6ee762ce63626df45beecc3751628bea7add7455e31cee2bf3 +Tag = 8fca4009aefe0938ac1ad0d87f +FAIL + +Count = 9 +Key = 9dbac2175fdc94c5fc1dd8b5d3962282 +IV = e245ee667e418fd7507284ab +CT = 7127161d0b8dcaff87c5b81ed573f39cd5cc5c830f5c7959273bd9bcbecd79a85da707654da8d6b32c9ea9b9e1dc73170bf319 +AAD = 49c9f35abe39d15eb7daddc9a4884f9d28ee62d66113f2684ee8c2363d3226e50f09b5e7675cdc4e539bb85ab046da450d32ef1ef9641ac2d208ca230501f444ba0319b0a9a7834bc80be2ce56687d25ddbf6b99feacca92ca35 +Tag = da037a9f6f650aaa69cc45482a +FAIL + +Count = 10 +Key = e5d132c7df0d82d90a4fcd6bc04812dd +IV = e1e94cab349904f8368b1b97 +CT = c033fdf729b4a72b91a3cc9ede9f33f9ef4cfc407011081b39174130d0620af0a17440fb3f9ba15846515744728c8c376513f9 +AAD = 23a1a3e05e4f0f1f3446d5dfea62a4587fa27fc06674e3a54293d036531e2ad0976700cf8e6b38f6282ae77d75bdac9f0289658c0383a05029784d2ec1e6e01da225ab71bb7656b37da3aed985a38507d6ed4fac77731314023f +Tag = 627f6204bb8ae5219bb33cb7d8 +FAIL + +Count = 11 +Key = f7f69dff9cad667cd73fc8abb312c467 +IV = 3f84837a9db3f39a2f64ec0f +CT = af2f19651559a71a96bb7d382a5e99c79724fc3f9d0a00c77fb859a2d4fbd858f29fed0d114f54a75d299b8dab1c687afb1d7b +AAD = 3e7fc79db64b5ab8ae4e3fc267460d8a3a23e21a092ae20521e78e82ddd947c035ae8a1095ed2f29bb7c5e9d01982ed51215fc7bb0730740bb16f0df03e4679a0c5d0ddb40addc39c74de6d5716b22c904f1a3e15d330372f1e9 +Tag = b15cf59e6dd7a4533e0fe9b912 +PT = 908c555839054434f758afa6d0b242ff185fa30a33b30eaa7893afcc024dba7949df24c1009e5f210b6a3fffaa63bc15bd2482 + +Count = 12 +Key = 24c6a2c50bccfa2a021e1d2d1447e2eb +IV = ee78b9b4ab2334b7c89c256d +CT = 02e87e078bf13ff506f3da8b42619ff5c2b90897a1ad41184793731885f907bf967c8bc627e2f429cb5dbdb2a6c8641b6c9f08 +AAD = cb4ad46e117525af20914467fd0ab962029fd30c8a972ea8807c3b1f68250e7810b8b71c5aeeb7d93a91726420aa3a6fef8507bc06f5c75a89e4b76c2a1925d91aebb74c9d45d621fc25488169b9781a4e4f18cf42a71f36bdca +Tag = ff0f990c33de5e987253ef71e7 +FAIL + +Count = 13 +Key = e7baffd0fd9f02cc192824200698cba5 +IV = ff349c7841a3bb4fba70f6fa +CT = b233a0e6b59e4fb52bc72f8e325f15cc895a28d06ec352e03399bbcce4aaadc82a1a47af6c3a383100fc779b670bcaa43c08a0 +AAD = 4f34246d2ff20d13de5c31c52409f270d74a54a05baabf21362c9c3354777e771719193cf6ecaa41e4ba0b5cfd1f3cb4b3a06ee1cd88f7cdc4656b2056a36877eccc2f5ac33ad741a403463b1cbec3e337446a534a6a051c550f +Tag = 7f4d463bc3730191ddefd3500a +FAIL + +Count = 14 +Key = 232dcfe1af6a3f7c1314dbab13b435ee +IV = 5e9eefc77a8b9b0f3001baea +CT = 1700669be1654f4f6da607220eb63833cc348f23b1c487f3eee6c29d2e97c15f7d7a31a6860dff2b934648d30c3e0c00b7b9d7 +AAD = d836e8fa7d2332caf1fbd97ba36f7f42c14f9555ad358c75485cb7a946d76bb65e39f9c30a9d74e6e16bbeffc99b5211eda0de7333c9156ea9242bc1c31a32b713a82e04ab8642ddd39a51bcfc8d01c9f64e92941fa9fc75f7da +Tag = 75be8900d5987fc3f8a9c5eaed +PT = 26f503613afb603ec210b1ccd37bf248a70628df1d25810389ffb99afc76e0e9c68fe8d23d058c2770298a8d2dac0ddd2602d5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = f92632dd22b3300fbb498b5a6d62f86f +IV = b51ce06f5ea5fc4b6f048899 +CT = 983713a7252e8bd37b06d489d33ddf1c323bac20f09a1e6459346a70a335d4d0e4833d62830ac0fb75e3ef459cea4f875855d6 +AAD = f3eb475f763b4e2de876fe8ef5c59387c28a6660533e575e8e32bdc363e8b9af8fc6c2daf067088031292d360f96755eb7b10cc6f37f0f97b03c4c05f20998592c6dde06e2b8d10996194fc882b235fd0c0d9840d060eb8af3f4 +Tag = 272eeb52b7e04803d954f493 +FAIL + +Count = 1 +Key = cd69b998a36aeba7feef6ac7d2c7c996 +IV = bd03275e41ebf178733ad44f +CT = 2ac4239ca0be41e7b3d7678ec62624d29109c70128df0023a86993c961c39df24959ea1d55ee809fb097d324554560fc709885 +AAD = 8cf2e3102e6ecded3ee7dcf543ce7141930730d8b3017087e495b02d7f975aa11ed63ceb3a12c52793bae36bd0df3302ff1a431ee10a88963e2e621ee56e74bed0f9e0ec69351743340b76bf9cea0e6164c95f2447c3baef5a9b +Tag = e5bf3fe77e916de794b037e0 +PT = 24411afa3527fe12543939a099c6cd7c906ccd81547d57581491a8d05ea6b3bd9fe4fd21b19c2bef2c6db6f1c49ff715e79b39 + +Count = 2 +Key = 7533fc69274bb6e5df7f124bbf4c8312 +IV = fdf89949003afba6b23c220c +CT = 8ddf2878b1015ca18e92db59351b62e5fc053ed4cb82744776d0f2f65696b6acde534ccfd8e2e0b9821bcb6d4f72c875c3220e +AAD = 9ac69e44dbd0dce004610bfda95eb8cadf54db6e067579493d3fa5938c0e3b61c8c75cf8f2bd53460efe7398f2ed1de19e3e4b8224f6c2b7a0ee5c39d4877a0d2b5fb69b2b8d9da38490e9608f1b94eedb0f0c5c49a1edd97986 +Tag = 2ede8e50494d2fec90f957f3 +PT = 0e1b6ba7f0056d95ca98f0ffacaee56274e508e90fabbe433d320d7aef0e4348da72e7e23c2abe522d4f843f29b534ca86a98a + +Count = 3 +Key = a5016a452a58adac2b44384b8c03c2d5 +IV = 9a259789bbcd60b238df9909 +CT = 0ca437cb53ec22e962bb09bfbfa04845f1459cb985d87eefe6f1c7a5f9dfcb06b22c75b78d19713413d2ba1dc08a2e548861cb +AAD = ebdbd73be9a622a0b22e58329a2a9b24a4c45d6b321cefa67ab9ee36585cc1e001fee3d59a9cdd49dfdaa8018170b9f2a2e51d7911f80927ac76df3d200543540a0e92fb8f021402389d9fe0483a93cf9c12342410b6f6184452 +Tag = 28c3fbba3f72fa74f021a011 +FAIL + +Count = 4 +Key = 001018f808c4b2528342621e0cb5cfb8 +IV = 064e71e78fd04cb49f5280e8 +CT = c3e7b04141032985cc2ff1f209a42a128ce5cb3c445bdb0e0f2f774adfedf5e747e531d57316027e40119a669ee69871f91b4d +AAD = 3db8a630cf0cc0772156d4f99d560cc7c48042705d66304172fe7d208080833a31d2fecd22d26635cc04302d0778f6446eef37320a8ee7fd2b7a7c82a7f7c95712641bc2c0ecfee2d10eb20eef5ec48fc4f0056f0cea1b4726e9 +Tag = 30a2b66b2f78b3909b2c169e +PT = a60d28ca49ab7774bd0f3f21446ac6556e356b234c3a53c5b6cee74fdf4e2d612a26ae2c1907bf8d8c12cbf2f6d2092a5ec6eb + +Count = 5 +Key = a4654e9c65d2a3d448186b33b6a403e6 +IV = 79862cce82a0ce985d9c1586 +CT = 8d5abf09c9557f8b27bb4f081680d3ad10de1e3b9021491eeedbc33a6ae8e9a5f5647283cd2296c17b8b6daf39263bcd6652f2 +AAD = 15757ee1f6f51bf11580f1856da472b31bb245215139bc3887b232b6d256e45d762325cbce3a5b2f78cbed93a732c3e1eb0ce3b09153e3efc6665cd07f2b0210dc53a8f87dd843cc8b426bbca524dd65f2e910b6185d6bbfd8d8 +Tag = 8773dd12dea99ee5921fbbf9 +FAIL + +Count = 6 +Key = 6fcbc87fca81fa7dcdec64339092026b +IV = 7901923d2e0d07d77baff54c +CT = 37de624bbb471e4d326b54ae37ba505b649323355684eee0ec3603bc54d6cf4c69262a4eed2cfdaffafcc2921d44b6a30b9ae2 +AAD = f9fb6206c1a286297d33d14b0a9c49aaf977cb70e5d981c5aebf44c78a81964f58dea46151822c57333393928db1ab4b5e4845c873d0366134130bf7fe58d9223b0dc901f79c76be1f42d2842f52865f1f3cf6d4832ed075fb80 +Tag = dca0d239aabfc26c77fa5544 +FAIL + +Count = 7 +Key = 36fe7a12c96d4e3970a8d91331781dcd +IV = 14919999d4f95afc0a54b485 +CT = 312770fe6540baf8f7a5264a212351cbfb86f578598a52daed7a302ea95f7fc844f8349f9ce48663cfd50ff8a4d7a812832dfd +AAD = fd7149a0afecf61537d2d780a7bd27a87f87dd05abd703b3c018843a80c99190e91cbc5a39ecfe65e813d88222dbe5d11e5a742ea07e9895d2a41b7df6d93cdf5b69dea035bc56a78c06facbc58bc1cec877231cc59003ef663d +Tag = 85dbe9cc7124eeb1b759a02c +FAIL + +Count = 8 +Key = 316a8413b27191acc6f461dbb10721bf +IV = db285fb3492c3ee85a5463bf +CT = 0884936beeb972d410c66f2a4c808d75e63a6b476354bd252a059f924c5cacbb5baadd14220453d268ab52e9344efdfa0de5b4 +AAD = 9f74d8f810f9e5e742622f84d77446d71e3f8a4aa64299a5626abb7ed0095881591b27b6e366b39b338764af3444496cb0d77914bac1ae78af29f0f4d6323f567e84113a3bcb491f7664f5de1fb46020e6124369688694983366 +Tag = 3e3e7f1a11c71c4d2d39ea38 +PT = 03eed3649edb326eb240315462deabc888f4ab760f8ea97b28e412bf2fa0eaf4f7d217e11a0866eb4f5a6a1841c5aca744c52d + +Count = 9 +Key = a574502d579840f4e681f81c8924ddf6 +IV = 3e0eb3eb8d213ab4b93e3db9 +CT = 22c15652cbf4d119d9f4d3525a39b3e021550a95a53504d38786e20bedf69e96099f761dc4303247f3b887a23ff90af7d314bb +AAD = abcb1c3cf58d325ea69dadc68d0e59d3b71942f889f5c903e0b00734e42267fda336bc8da32ab4d0b4d9312ad9515e2546473fc193b67731c3dd67d5c457e2e66b5c7d84b29fa7e160d99706433284bd4110d58fbc8495c0f5f4 +Tag = a35157ac2a6dddbdf2900ff4 +PT = 0b04e5f48bd242b6b0818e6492f5a7404d963a0192da56931d44c29243e1ed1e6f1fb9000fceb0408306430d6d6b35bc995fbb + +Count = 10 +Key = cde04594dd8d29b996e2fec32e36b36b +IV = 40b675528d3e048facc3f4ee +CT = 1c234718b4b641e5abb83fdae9ce7739c6544cc46545497d5e82f01a72e0f22581c46358ff4fdd12b1a97c52ed52b4d765dbec +AAD = 1ff851e9bfbb35d106444d126b69ab93c558e0fe18799cd1110d3f4ee03b7930e957b3925c8d368bb103ba909c5d02f00d8b35c858d1577a56a1827cc4fa19312472906dca46867b07b351dfaf3016ad0977fdcf6f3f0fb83f4a +Tag = 2cd9b55fc6b7531d5be7a883 +FAIL + +Count = 11 +Key = b1672e0871599a05498e4e81617a6714 +IV = 1331c8b37546dd0d89889fa9 +CT = 063c12432ea8d4b8a0068624cde1e4d950077a6607c4be40b033563f0902e1713e9b962aff33c65f5128ce2803df0cf458986e +AAD = fe4e04c6bcb3241d59c732f402faeb15a3acb844cd7fdbd9b443daa5da7b798a275c746de982fe78b6df7a7a0c35535ab1386572f4e53635a30a2a2be074d02589c84bc83d28e74785a967f0ed5e84ff710803a128cb752a8fd0 +Tag = 50ec14b301a15670af48eb63 +FAIL + +Count = 12 +Key = 22c98857c5f76b3370477f826f256d34 +IV = 2b5f4772c0d05c9faad4fee5 +CT = c41f78226c40ba22caa51108a252b7b512802aabddb6b9cbc8c5ede8199e89dc031439aee1afe21a2629190740c7163ccbe04f +AAD = 75d1fdecf8f7c4f836d34fffe5e590980c81fc7050e63886a73ceb32b69213ec702c404eece14393eca0c73b74c5459fe08d3354296017476d3376282f8c0dc4f9da49a34b1091d52408244676ac18c80cd70c119d48afb97953 +Tag = 7b74be535e14398f7ea4d375 +PT = a776227f2706466ec6b00bbb69b9b54336a6eb731a07b26e2b6082299111838cbe0b1dd34a2d263bd13128a001c3ea6c87619b + +Count = 13 +Key = f55cc9c23be160008f634cc02759712e +IV = fd517ab94e6ab3707b650b77 +CT = 5630ca7d4b4c2700b7e8219ef227322747ab73a9a6d35e122b2d364a894723cec313751c81db927e7e071c32dcf06db166da40 +AAD = ed82693bbbae79d23e77fd3eceff06d07a81e06379e8888e9546dcc93a39b242f7b0c1077f6dfeaee8b0274260fd42b345f3bf261c6f8cb3bb0a1156bb971898ea4ec7e125508239bcdc9fca1dadbfd2a0ef7182b12039c1145b +Tag = a6b30154279ae6d2057bc028 +FAIL + +Count = 14 +Key = b1dfa0a131c2691d49e4e9ff204d58aa +IV = 34956ba60dc8ad323c52b37f +CT = fe242711e3b428ca4304afa7578abe9575a6627863b0feefe60fccbbcd25d396f2ebf8b2802c03beea431a5c0ca485c62471a0 +AAD = 748e60a125679b114c6b5936a41f2d2c6aa862ba26c45e8d0d57c6809ecf69b14ec6dea6a7849400a064e65a3117a11b7080a086bbbd38759f4086d96d57c6703c85e3ed34fd6ef48ef6a26f8f8828757efac05a8e0cac67111d +Tag = ca78f4c18739809605aa8625 +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 5abb7e16ccd1fa96978d72e8e5b988b6 +IV = 6fb6d28cbb0bd2868d39f31c +CT = 5c183b8eaf77e0a3992d972d9863e832bd3e0dc102a0fee36ea6f43af1da289356bad7678d6d4bdd220de2f545ee9f3c61fe0d +AAD = b69b1f1b465970a057409d00b27529b4b9a5eb93a3f4333ec5ca641d12cb8a3f756dcbcaf97e6b4256380799ca08c04aef7763c5fd6b8dd2c22a4c4e2013a1e1a8a95a174cacf65bd74a61cb378a9b54a7f790d8eb86e282e072 +Tag = 1cf93392e81a4da5 +PT = 597b701f94399a6632cfc102c23d6a0a29bab4507a04f869d813f7d3f35725a146bb6be262b27dc191ec8b86774bf360d5055c + +Count = 1 +Key = c7a7a284008e4f417aac1931cf9c0056 +IV = 906d14c8afa744964fc6d1c6 +CT = f01f9cb0f8b96ff1f0d1922021c05bb1bdafa4911eda3972c581d2db8fe6ee04ae9c975c5d04e183d0b405a2c0c65571acb701 +AAD = 3be5e35c2b11a908c3cdb9b3c45b967211e4ab144b1247cfee98c1c3a1d9b88fe03e4aa521c042e326022dd7830406b9953790833d80e1dde22dbf903c98d25d226cb01265ea0bfdf117ea206ace9cf455f69d18e8c6c79ce8cb +Tag = 6f671d74928f438b +FAIL + +Count = 2 +Key = ab2e14cb433366c4fd7f1b5575df8569 +IV = fbe6a22b70ebda2cda50ca20 +CT = f004d757ca51a4ce21c26cf554ec430695bbdc3c2c4d1c8d33b2ed797de5659ff32ff032bcb57da77afa55940983fdd03bf453 +AAD = 2375db1749310be31e48a2da08b9144a1fc6718d932abdbbe15f50fbbde38a1b3a792f4aed1f4b2d4cc2c76e186ecbb88f79f3b4e291323b801197924a3666a42be5adbb5f74cbfe54c8e5d13d8197c835ebcaa484fd676e1e4f +Tag = 2983968bc9f5c233 +FAIL + +Count = 3 +Key = dc796776ce4cdda9bf9503b6127c4616 +IV = 78fccec5074b2703bbeee065 +CT = 80e5bf72eef9b8d50b5a4bbac52e85a73777bcffd3e1ed031e20f17b313a75eab25e15d8b79b6104628de1caf0202b3ad97293 +AAD = c97a5a6ba4ca944a370bf8f0b4d349fcb9f0e2a158fce49a2f89b16bc6b37ff0a478de0a4655a008844a70c5ac84754cdae1887e9fa3aa28b76e9d1e4b0daa0232657e2068d8c4ade81d4c3b5140ccbb9415c7c01cc43086f100 +Tag = 267532a34864e9ec +FAIL + +Count = 4 +Key = 217260efb073d0d37a9deeb8433873f6 +IV = b681eda824a39c6f35c6e63b +CT = 57515afe242d35eb44469958900f0cb79708500d7844d7e301f6d57e49ac035bfb258eaa88789242a99fea1218ba6f4452db21 +AAD = 6fd7f3ca22884fc8905ac7578978c476e874bd27bce14a2f7d2102876812df3f3f0f4d4b44bde726d4938d795281d75ac046bed9a64cf0fd1a57df98e9f8ec2414612c30c4e1d6c134d9559e004c0d61b59709b12e2fb79d8203 +Tag = 7438bb47ba8b640e +FAIL + +Count = 5 +Key = aa5b0bca83ab4d957c031e54fbd5aa88 +IV = aab34723ed1677ea865f9c5e +CT = 448bd49febda0ef62e0d7bfe9cb300e206f761253be5dfdfe5b0a4a9782995e85ba69b36405e3ef1556485fbbcab2c8bdf3c01 +AAD = a0c00aa46bc07eb7a5dc5e32e0cba45d9659232c7ff5ae4b4f2c2139957a26c56bf65bcd906660687cd9ece3e28b2c326085116d0670912ca481b16d35101f8d435b3c1287894a4ddc9541467c21f47cdea34c2d634c94e1aaab +Tag = 04b4ba6682a13e1b +PT = 3f6b9db79bdf6d59d2b5aff977001da12bd0b483bf53e988bb705cb0cada617364564b31487eea1d8f4bd52531df5df2a05158 + +Count = 6 +Key = c3f858fa00cbd5fec885cc1df191d237 +IV = 0b57ba88f4d78608bb735f88 +CT = de1d0876ab5a35d327baa5a069b20ff93ec48bf815490bc30c70e916972b7c2481e6c587adcf77948811302df3478626692810 +AAD = 33021573eb5a25d53b72dec54b00beb548313f532f5f00a3a5a3eed7242690af0d874e919caba938a4d27a64046bc36909fb71a476c06c2972c527114e14c78ee6dbd9f7c6e7d1a4282b71488fb4430d11841006acad0557c800 +Tag = cddc02c19b156a05 +FAIL + +Count = 7 +Key = 470cbf39bcca7d08c3acf66e76d474f3 +IV = cc2f42d0fb31515c470f5ae0 +CT = d9724ded637ea41139c525ceb489a6ce2ce625c334ff901b5ca44fcfb59675992589e14968bc7e15b91c13a68fa48118fa1777 +AAD = b61592c65cd035c2747d8de12a323cf5e70444394bce5ea83fc042bf17e2aec482ff2d6e4b9a069b974602f85e237b7c4d119fbf206e2018e20307b3fd411a3b0a50ece24584d7c19991f9ff721c60720832142bf17b1fb7a653 +Tag = bfaf888c38d75fb6 +PT = 2a6b0a4eeb238a0dfc921b4f225ad28286ae68d6a9095b9018b611f086d8e84faebed33fa4c28da553b2f8951ab45b1c70c32f + +Count = 8 +Key = 562308f80ad94c82413ae22055dd88ba +IV = ce197fdd0b259eebdf2cc245 +CT = 02ffbd31621a44520e1145dc009242ec07929d3e14d1d9a2ea4f25f9cecaad5b40791b6deb3626e7aada5f0f70637849d6b2fb +AAD = 10b68448fb6acb17e0eabd85ab64fc86b2680770e0143959df0594f4b10b982b292f3cc2f92b746e71b2618dfad10255bb9f9233e711379deb43b7f835f506407d698d9a6651404a206303ec434fdfe39c55391f5b1d33aa0f88 +Tag = e4c58d06c2b17d54 +PT = da411884db03dd230a9ccbd5e64f51520939ff2fa98418f6197a89b3995d75d89f42fb7ffb2ffe4b16c33ccba9d0e6c6cac79f + +Count = 9 +Key = c40337932344f0f63afbe20f530dcc76 +IV = 132546fa1c1e9648766e3b4f +CT = eb0eac19769cb36f5fbf71550b700010975b24a720346c26fa352e6c83fd52ca71286f62ab6cbcf07dac388836f9fdb2bf576e +AAD = b648473633e1195a10f4a83dbe5496aab465c4abb446172c35866a4055a14921a8e227446d9a315495ba06b081326a9f12072ece99d0e4412757668adb2acde193a7f51a261ce48beefbe0a13a8190bf5aa738a85e675b18f092 +Tag = f51b794baa1b2071 +FAIL + +Count = 10 +Key = 066cd94e9c08f44f97005eaf3ef0e0c9 +IV = ca513e95b1f2f6f095c69209 +CT = 07cd4d066e76900a17f5f56af05547989026edd173a7be57e8e694f7f7c88a44c08db77e84a83a126cd7f1505702e737cd4371 +AAD = 2cc9da3fa78f35f509c06ad8323396b29f1886ef1aa36c4941e36408df3dc042c21054119119e3c2f2b64f6d2e7c93f0ec85b6ffb6b82d8968252161d76517183c5e96647645e9dccc9aedf55fd33e689ea13e0be7c5c107f9b9 +Tag = 5f7fc4dcd42d7b5c +PT = c42056c820d3fa300404e021ef8654bb01073bf343a34f46a71c8a16280747e33aa8a5ca109c605df4429111abf250c761e897 + +Count = 11 +Key = f95603b7003b791938b663827c7a8e3f +IV = 9bcdc0f8bf651db58f14bc93 +CT = 08244e3f8c57248f6eb795185a9d94c981d60a71f04aa346bd9ecdf9c94e46cc7a1dcde79085fb59dfd056a0fc6a7d4111b688 +AAD = d059d79d2e10eecd222cae48711b4b0b1f8cd5e34cbecb74eaa03c794e17fcda9513d162af22f2d2544bfe68881d571e72b95174fcb2f41572d5ea73aa162eebdf7b4ea06473337996d46dca4143b5b870810aede13629e86f87 +Tag = f857c67dca6ceaef +PT = 1565e9a4fd31aaed5f574296101c6418b3d452fab228a916f17f908ded98a986816c1ebf77ae8bc9cdb039b69ebbe5d47ecf8e + +Count = 12 +Key = 7f1b47e57494b144164f0aee3806dde5 +IV = 2fd9d47c08b8e0b400d09109 +CT = c21d8a1b08ab5adcdf75dbf76c1d497615a907b0e77c8c584e29234a3859d860da051ba38440d80082e2854093c7e0d299b5d3 +AAD = b5694742f7510625c932c8c57e7982698bb735ff9bb7b0d6d52e055a8409199b4776537222535e10a6e7406abdbe50269d2a56ae75972bc73b5cc5305b276b9179824a1e118dffb1c14f756656d103f68c9fc79078a4e8fcb3fc +Tag = d0b9662bdea4fbd5 +PT = 8bd6684717f2b73a68b9ca1ee83150e2ee116e68ba8546fa9ccd512c30292bad48786633cc06b61a63387fc111279d022f69fa + +Count = 13 +Key = b644d4755224a13702b2f4cf8cb1c8af +IV = 7825edff3bfae9864f8a22c6 +CT = ca157fb91be78113bd93958fe24e713f70aabfa6200b5a4dfdac137eb801afceeb698ba854b8469092fd7d052bbe57f0cd26cd +AAD = 698c71dcfa59f34d5f8e2e2f4b6b54dd9d5791b3baed1a994a4daa4fd9799213492e065d9d538d2b782bf36f333e0939091af3526bef26ea53dc319af2ca3f44b5f5e9d089f93a07a1753932c494c4db97fc934083edbda0bbd2 +Tag = dcad31a4565badbd +PT = 36068b817565a96fd2d797bc7845477c7d026655c72737cf232bc268493837e20e83891f70c8e28fe44fbb28bcf5ce94c4ef1f + +Count = 14 +Key = c5ee6306b8563cf00fe545b3bc35df51 +IV = da2c458f6d3cf69ee4499b64 +CT = dcf0a8a23219b1770bd3bfa16620a37e35d83a19ca7157c7e465acebd3c88a2cc0cbd85adfbda172e492fb979210fd3fe5473e +AAD = eb92343bc79051be7658d6920b3b55ea485adffee88a50b65bf9da84beae4d195cf0310ef7993e5f6d31a2bae5917eae10429dc1ab400bbfb5c5ff7bd74df10bb37d52af3135db341628e6562eaf7601a0fba7f90620d0be921b +Tag = 470b30f43020b17d +FAIL + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = ecb96613fd1843a3f4288879244871dd +IV = 2bc35694f5cca428aceae378 +CT = e1eaabc3ed4a26f348721a80766e4508b6d4f5a739d96989744899d62e2c5941f542fa22df5821867e278ec4d3f2ad257514b7 +AAD = 606fe07a21f5037306e1b539f1d3b17d8f21eb26c492d7f0b62779003495ceca61390596c437c13a557407ebd887a708d7179ea1e7c9128f0305ec4e48196b4cff1dfaa6180b5f102ac9d94cd8e9a1cd0f5d7cd58c9dacacfbe9 +Tag = a0a1d2cc +FAIL + +Count = 1 +Key = d7c10ba38ebf10bea4fb07d5edadf9bb +IV = c9eeb85448f0c8244f803611 +CT = 8ec5ba8f9766b7a463f807627386b4cc0ebba32e5cfb450d57f6c4472a9d812a3925eda5b34a867d3fc9d7ce2295c92d72bf39 +AAD = 95fb8e3d0f34ba867168be58b41a2e406ec6b79b2e22faaef5776a43cecad68312e863fcf727caec9a19e4df39ae751d04dde5937d4e42f68e0c16ab81026b9a140a6060bc763e0b8278b80ba57347c2122a4d96244929942efc +Tag = 3efaee21 +FAIL + +Count = 2 +Key = dfdcd5c47aeab452c23597c15f7b29c8 +IV = 990d66430cdf9c35d4f7ea7f +CT = 0401de82373223250123c94ac1deb38de25063188246705a55405cfa98042a1f2d6997a45cb078199c757c3cea547e327b2815 +AAD = 0d8bbad15bf6bac8b34234a14a5af4423cc9568ec4e1d9d843591ddcda7252ca29c290fee7a09b047a518a627a71e0bdd8c52158ee7fab3c83947af1a6de54b8374aa7cb58f8c7b349f3b3ef45ded2847a7c0f80dce5a4e62c7b +Tag = 21109897 +PT = e75ca92d8ede55a1ee59fd162a0922415236ac8ae602206cbee236635224cc32cbc7e962e131f2a6c4513857893363d7bdb2d2 + +Count = 3 +Key = 9d0fad225201ce6ff4a26815b7d615d7 +IV = 284c7e8b18d6c3a0639046c1 +CT = 368109528ac1998a56539db346b1467b9514c42945836769612f19a714b14077d2b2598e0b98ca0eb08cd453bd448061997202 +AAD = c984a97f559dacc49e0c75875adcad63a551419b8ec831891560b06a9f00e7078a32077788b7905dbf3e0b75aaca43dbefc94d85baabf90c6439f0829b2edea8178c7eb249e56cc410b7e97eac33511b9ffedb7108574be8d618 +Tag = 5dbfde96 +FAIL + +Count = 4 +Key = e9d2f6a3d49f211d26d6748054cdb36e +IV = 2c69b401401af11e6e5a42a4 +CT = 771dedce7a4e82d79148e01707f3ceefadf6c635e36079f71afa2af348848394eb569131df5566c5c54e12eb8f114ee076c861 +AAD = 715191980b0e62fae1c0798b334862f1b8b9f20c0d03aca96e66512bbc55f95f52dd19c27b972dd57bbf53de15c444ce118334f56205b988948cca0d2ca3c22ece0b7037364a1a0e27fb41a74b74b3b74e718c61578c18264a4e +Tag = e49fb9fe +PT = d6488b46e3beda86272d77820765b8f58ef9d451fd956767acfb04d9c0759b410d4d93b2a95b5f31e54f33f89cab7319dd4de9 + +Count = 5 +Key = 9b2c1c00d7bb8e6896b085b8da307bbc +IV = 7852d88cc962a7bf1070fafe +CT = 4d622cd5aed229d09ce35ccc2572147a8985889aae4bf2250bfc08cd61e606e07f5ab00bb513dd94c496ccfabf6e2567ac29eb +AAD = eda23e8b3bbfe1a0ecb0478ef53d18bbe198fa7b05777f62a0e64f8a53577b9a629768fa0517cf80b38e7b6bfe38892bf5ca3aa5cc5c10ec45f5b9e11e88e9407da81324a4037351539099a90d6e27d480a07663ea3ab0c143ae +Tag = 900025d7 +FAIL + +Count = 6 +Key = 62499cc19e3926a9e8ba6f8bfa0517ff +IV = f093e77250aa3d398d44215d +CT = ee8864f8c78d7153f3b815b447f76a9c0c0371053ab1a22d0e1f60017fa8a37a9f20cbe1ebf2b031dede6eaaa109055378294f +AAD = beb7dd4f9e552a963e19a576498a08461b17ca425190957646cf32298a10304a05860789101b79eb120e5f8009c58792214906621713e3e85219bd4c6553a12a54b051db65a7445470664793303753eebacf7a0d9de466480182 +Tag = c34e4886 +FAIL + +Count = 7 +Key = 38777a584759b8b32a0497cb12590173 +IV = 67feb67d3b043829d2a8fc9b +CT = a81bcc4bd35c842e804725d12165be8e598d5e0f337bea19176368e55f54dfe05fcc7acd57d627b78acfe21661e8355d4b872d +AAD = 2d34956a34d00dade7cd1214d76832e29fabc45155f77d3ecfafc02ba27e1c0490d8ec0424468074e7a395018a405fbd80103dbdc64d27f6ef8ba02e3158b3cd15b319e957c8c97e7c03fc5d5bd5ff87907e6b9cb4121efc7500 +Tag = e0c00197 +PT = d4e918b2d014d615b771b71134f79ad0ec6a766e25141bd024a49ec571d3ce71c5fa11ab58d885aa888a5605d2d3ab18ffad09 + +Count = 8 +Key = 971a37c13465f84b51facaa87db3d0d4 +IV = c603798db58a2359cd8b1a34 +CT = b64e23f0c22e0c1170f502b072e48cbf96e5115b64204a49dc463233c43fc6840b66634cb23449cb520115a490bb79b9763339 +AAD = b704506cafc8e2efe51d42e97be6a7e3307b44147ecc4643f946df4056c8b36c67e469d2af1573737f542af72eb1d6c33740796dfcbcaa45bab8f580227b011809ad427e425f0ee84875bfcb7abcecc0bee162300830e4621e89 +Tag = dfdf5e4d +FAIL + +Count = 9 +Key = 8cec55b9e3fdbea1acd0c39bb81bf94b +IV = 52bc9f39ff8bb0df17792c32 +CT = 56f2e39c307c7713cf92e0d2f0c1994437d384d20a4b5adb56a5addc70c40dd0b2c84d71c45ecd9dc1e4934fe796a36df42320 +AAD = 58e9b72bab2d6433bcb8b42595ee02254738cc85af343bfbba9fc3cd1840502594467c0252ab85493bb4c8ea43e290093497684b31155b55ea4768690fae5fc5d591707289785cff06e21bc5daefac2516466bb47d83d0a12947 +Tag = 445130ef +PT = d913c898822777d7361e9d6a070695c0a7b460bcc763dde765222ec30be8707309f4d220fcdb4bc59e846c53a6faf90cfeff6e + +Count = 10 +Key = 6d5937af54e35172b9a087798d1ad254 +IV = 7899b6e6c49a1f3b8abc5383 +CT = 3c343a6eae75e1d5df14b7100953ebe38d3f46605a70d825fb600818fef349b4c9d6a75c003acc087b42cb3df13bcdbf1318eb +AAD = 00107960d2c3c071ddf67025cd08e678e0d5d77e95764ded487b536c333b20237e081e22a7108fbc61c28cec7ad7c7888a912ced79c9a1c78af9f899de3f2dd07ee582f5c84c7a8b5b79a78062c9cf7c6ae1cd32392b1887c3ba +Tag = eb6cbf5c +FAIL + +Count = 11 +Key = 63308750ca120a6b18155831009cd831 +IV = 5decae80b8bb045cfc7c5eae +CT = de3292ba4e29dab65ac465f69d1f040366dd537da6875756b26a503eb5dbf0473be56a2445ab080563ea9ad6d86382059733a1 +AAD = c5fa56466e17aed5adc2d5f49e052ba160bde04ed46f7f44fd423b222c39e1c25b2c01958ec2aa6ca503f1abe56b20002b638788412a25f4bf093d94634a44efd1e299c803567401e9e2ceafc760d3614d81afa17ee873193da6 +Tag = d2701279 +FAIL + +Count = 12 +Key = 2ddddace4df4efa165a3a57d87e86dc4 +IV = ef55b69c56a3f7a2130a2441 +CT = 0483c28718b3da525f881a93cb5bced1c838b18ff74d519d0d093b0d1f289a92c849431e50d809d5008c3cc5c39d0312355594 +AAD = 171fc4aca95b5f94bf399e8c85088a8f0875dffabad1d91d1e4527bdeded951adc6a6bb685c64051418269affea57b258a1d26c73b8e934238e89808fbd8d283c51aeb7e0616e2e424e726b04a9e2e1ae0efd133efa0d74c0ced +Tag = 87b2cbbb +FAIL + +Count = 13 +Key = dd1ece58abad32c193ec6d33dddb778d +IV = 69e0bf7ef09d176dc1ef82e0 +CT = a07a201a680e3a99e6f0d21469f2790f922d17e56eeaf3c623bc9a560a0c1bd425120eac0171128c6abd5ccb2c3b758099c513 +AAD = f7be5fc0a1628f4b183a95dfe6da649d3f67b56f71b1afa26321f166e67c7843f5cae28ba31de1a005310366be0bebcc895bf06e96c87981ffdbb054dd6a8501106488b5888b1fddc2a49f6fcab6fde0e7ea92cec64d1f940bd4 +Tag = bbf0e565 +FAIL + +Count = 14 +Key = 6857d7877084b80583c2d87a894ba790 +IV = de71e527f98fc1735eeeeffd +CT = a34a1b564d3a9a64b694122445bf87b23781a3bf0784b1dab6e290722f2246cd2dafec1765838c66aca800cfde400569c64ea7 +AAD = f6be7b42145759124baa3d9c98bb84f19cfedccac1508a695d1395aa72d5ca8ad3dd70265261bf4c242309baf635c379cddb4e745d9d51280553ad01b9f9c3d386c0d440a3fd34afbbe0b9f5d87dff290ad8fb6ad625b6b289c9 +Tag = bc63c9da +PT = a139b462e9dd00b5a578f4148e8f91abbe0d8c1f7da82307f8fb21273e6e48da40564fbb793a77ec35d7127c1fd855c7cc4c75 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 89073fe1cf46069f57eb687be3479f14 +IV = 6d +CT = +AAD = +Tag = d6b98208152e9f3f7033c9ecbe1c8410 +PT = + +Count = 1 +Key = beacd058ba408f1362740b249b042a21 +IV = 24 +CT = +AAD = +Tag = 076b6ffcd0c53cfe30ab3db51c543fa3 +PT = + +Count = 2 +Key = a37a3401be8b9f7987f7d70c262b5000 +IV = f2 +CT = +AAD = +Tag = aba6369342fc23017fa789ec2ff12f9f +FAIL + +Count = 3 +Key = c85332374584ac40ba3021c627687d88 +IV = 64 +CT = +AAD = +Tag = 56b3571e17ddfeb9fe1686d625c50a83 +FAIL + +Count = 4 +Key = 993445b6f8806d2c95c66ad98b814ec0 +IV = d7 +CT = +AAD = +Tag = 3c97203e4bcbde4e15f5978c50a72d4d +PT = + +Count = 5 +Key = bd2238151204ee2104000969a4f05dd9 +IV = 17 +CT = +AAD = +Tag = ac154f19773dfbd8d97e56baaf284379 +PT = + +Count = 6 +Key = e653af1c61ce2d0647d1b1061f9ea4b8 +IV = a7 +CT = +AAD = +Tag = 3b5b2557dee875f55f212a9e60b2b92c +FAIL + +Count = 7 +Key = 59dc6acba574be98e752b8e8c3303bb2 +IV = 7f +CT = +AAD = +Tag = 312d175926dcf7b1c954f5e112b19aba +FAIL + +Count = 8 +Key = 043e809f16b6336d918e5d3a6ad1ef76 +IV = a9 +CT = +AAD = +Tag = c29d3a8958f0dc03d0ee825557edaa36 +PT = + +Count = 9 +Key = cf4779eb812c1ea6af76e5512ee2de07 +IV = 3f +CT = +AAD = +Tag = 4276c6b09a9d8ca345c48b5b41e10d27 +PT = + +Count = 10 +Key = bf222b8eb493dbaeed2a88d76369292c +IV = 77 +CT = +AAD = +Tag = ab37b4a1ed2f9080e9ceba1cbeac82b9 +FAIL + +Count = 11 +Key = c0450e284a91a1b707adbccc3b490ea2 +IV = 33 +CT = +AAD = +Tag = ed821499b8e06a53e45b3924f5f5bab3 +PT = + +Count = 12 +Key = a83e39d2d058eac52b18e30cafc7b561 +IV = 47 +CT = +AAD = +Tag = 829b67ebca7b9e72bb9dcc6f355f13ed +FAIL + +Count = 13 +Key = ddf0b0959072227a8832856cbe0ddb59 +IV = e3 +CT = +AAD = +Tag = 399668996fc7968397bab1d0c90e728b +PT = + +Count = 14 +Key = 9637175c45ae060540daf705935259df +IV = 81 +CT = +AAD = +Tag = e11f40728237696d37d90971792e874a +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 1e0e07c12379f5854a8bbb898aae35ce +IV = 21 +CT = +AAD = +Tag = 5a69c64a5ea2372309a96975bea0ce +PT = + +Count = 1 +Key = 5828a168a870002194ae5c830b0f7ac1 +IV = d9 +CT = +AAD = +Tag = d0c21f492f8fe95500a1dc6623aca0 +FAIL + +Count = 2 +Key = 2e4541e9bd21dfd3db44f15751137e7d +IV = db +CT = +AAD = +Tag = a1976a4bb79f70ee605b837e0a6a03 +FAIL + +Count = 3 +Key = bb52d2ef2fb37b4fed315a52d1696985 +IV = 0f +CT = +AAD = +Tag = dc37698fdc54f006eeb8528314e701 +PT = + +Count = 4 +Key = 941291a452a63444e94d1fc9009fae60 +IV = 04 +CT = +AAD = +Tag = b8d1914ef0218f90e344b48d46dc58 +FAIL + +Count = 5 +Key = 02045639a8e29f666c2f94b540e21449 +IV = 70 +CT = +AAD = +Tag = 677648f085217c6b40597ff13b5955 +FAIL + +Count = 6 +Key = 629d2b52d930977a1cd48654f35e1401 +IV = ab +CT = +AAD = +Tag = 9b67e492f7dc830bdd6f55a1e10814 +PT = + +Count = 7 +Key = 87e909847db480a9cf69726e7adcb1fa +IV = aa +CT = +AAD = +Tag = 48511bd5a3b7ef3a09ce620c8d636f +PT = + +Count = 8 +Key = 696b83658252362d4a9c88e1cbcc8816 +IV = 22 +CT = +AAD = +Tag = 4dd2dee5ef03e8c9d4b4d4ea75d26b +PT = + +Count = 9 +Key = 5b7384f8e7141889bd79b37d3bc249aa +IV = f2 +CT = +AAD = +Tag = 50f03fa401ded9b6dbf94b2b6c309c +PT = + +Count = 10 +Key = 2fb9544ef823b5501a019c53875a36df +IV = a7 +CT = +AAD = +Tag = ecc00b6bf3456b646018f928b743dd +FAIL + +Count = 11 +Key = e5b61a1d432ac22f3f38f92dcc0bb745 +IV = 1a +CT = +AAD = +Tag = ea93ed2c1113ea9f49e397d314aaff +PT = + +Count = 12 +Key = c5328ef92fd6f15b01e8cc1e825b76e5 +IV = 76 +CT = +AAD = +Tag = 3e86952dfff0c2eefea7ddf9ba4a09 +PT = + +Count = 13 +Key = 747885b5654d994e85b815c0864b3ea6 +IV = 7e +CT = +AAD = +Tag = f32308841ace6c731a228fa15dc239 +PT = + +Count = 14 +Key = 23849287da51cf158f6e5ace19095a77 +IV = 0f +CT = +AAD = +Tag = ca3c200f59f64458ae036306b29bfc +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = fc4d2c7c7ce52e46f16ad114976f27b3 +IV = 86 +CT = +AAD = +Tag = 5d86b03fa89217b505eadb5fd2fb +PT = + +Count = 1 +Key = ae9bcf6744805a23e78dd734512acc62 +IV = 36 +CT = +AAD = +Tag = 723b357a0e83033f85084442bd40 +FAIL + +Count = 2 +Key = afa8a0f722d3d6e7e7b263a5a17a0ce3 +IV = 22 +CT = +AAD = +Tag = c974af9945d64e5156f54d685bc1 +FAIL + +Count = 3 +Key = cbe107f5b34ec331e5a3697345277d58 +IV = e3 +CT = +AAD = +Tag = f6342b8a2291f2b06f2645998a65 +FAIL + +Count = 4 +Key = 2eca8845e0b326d7e64d40bdc9918cc2 +IV = 7f +CT = +AAD = +Tag = 9d5f31ad644f3ced422870b75a87 +FAIL + +Count = 5 +Key = f0d771023a0600c8fee0ac0c1c02cd2d +IV = d3 +CT = +AAD = +Tag = 1c8471dab71bceed5ccf4f569eee +FAIL + +Count = 6 +Key = e02b6d81f55748287c9a83dc93ef3a96 +IV = 44 +CT = +AAD = +Tag = eae99b9aafe5bf2f2e4e2200302e +PT = + +Count = 7 +Key = 52b5b476f631ba2909ce1cfbcc8e4897 +IV = 1c +CT = +AAD = +Tag = 72f9142baa471c8167133ee4ad8f +PT = + +Count = 8 +Key = 8ec4250ac96256868baeef25595ae507 +IV = b7 +CT = +AAD = +Tag = d59dbc5fb6ae737758ff4a48fe2d +PT = + +Count = 9 +Key = 8b1a1c8fe7677a9aaecedae8693f13ce +IV = d2 +CT = +AAD = +Tag = 53debd3e0a32fdbb5c907a2e637f +PT = + +Count = 10 +Key = 774474b05a5cfa247f41cdc9fd53347f +IV = b7 +CT = +AAD = +Tag = 713df332e11187166bad599a9c2c +FAIL + +Count = 11 +Key = 0d6651aa8befcb46315bd421b37cd529 +IV = 9a +CT = +AAD = +Tag = d24a328f0ed2510af53e230df945 +FAIL + +Count = 12 +Key = 93f4f16f25ccccadbfac73f988e6ac37 +IV = 63 +CT = +AAD = +Tag = 64022a938d572f60200a91d4df47 +FAIL + +Count = 13 +Key = e8058911cacb6e3492a9ada3cccfab10 +IV = da +CT = +AAD = +Tag = 7e83b2f1879d10db2d34a2c1729f +PT = + +Count = 14 +Key = b4c44709930470f0fd3635c8e00cd609 +IV = 0f +CT = +AAD = +Tag = 1cd17f23b68f39b647a44dc1a109 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = d35fdb0cce4271b51dda4663bf6f9c48 +IV = ef +CT = +AAD = +Tag = 0c35639048fd66330ff02c4c6d +FAIL + +Count = 1 +Key = caccf9405514e86403b50db1dc693269 +IV = 9f +CT = +AAD = +Tag = a7166c042ecd36982f50dec310 +FAIL + +Count = 2 +Key = 28a7594a5b031f8295f04cc5664c9571 +IV = 08 +CT = +AAD = +Tag = a5d401267cb55c6403053129d2 +PT = + +Count = 3 +Key = f09234c12ebe177df75e2c76de611b23 +IV = 51 +CT = +AAD = +Tag = ae7a894be72494e5729b1ab5eb +PT = + +Count = 4 +Key = de8aeed8c8d0e25c4fe70995e4f8ed80 +IV = 99 +CT = +AAD = +Tag = 9a332461527e3537e5be212bfc +FAIL + +Count = 5 +Key = c1d22087b29a94496bebbc1529a29b74 +IV = 3d +CT = +AAD = +Tag = 62ef1c97046ecf895b77675351 +FAIL + +Count = 6 +Key = c3cee7691c4cd500ce9b8e1b354057b2 +IV = 6d +CT = +AAD = +Tag = e340e14972fe9f0bfab06fb7ed +FAIL + +Count = 7 +Key = 992e169206d9253ca71090252ef75c36 +IV = 50 +CT = +AAD = +Tag = 9e009b154ba8e86ce785a17b55 +PT = + +Count = 8 +Key = 5cf9082f4e0255a58ecf3a00c19bb96a +IV = b2 +CT = +AAD = +Tag = 056ef4996044952590aaaf2b14 +FAIL + +Count = 9 +Key = 9e0fab3c99ccd5678ced1d2b3fbc3c1a +IV = 3b +CT = +AAD = +Tag = 05006df5c29fbed18a50511399 +PT = + +Count = 10 +Key = ca4ab0775b6277ea49abbc0728691449 +IV = d7 +CT = +AAD = +Tag = 67e5c96afa9adf6ba96ca5bc0c +FAIL + +Count = 11 +Key = 444f9944ae67b131f17001839c974533 +IV = 2a +CT = +AAD = +Tag = 9cacae97b9c24cc5d47498f62b +PT = + +Count = 12 +Key = b0a6bfba2262dc688418c560271afe38 +IV = 79 +CT = +AAD = +Tag = 1ee9be49d44e75edb5cefcd897 +PT = + +Count = 13 +Key = 4359ec2c81bb20d7101c444bca2cbd44 +IV = f5 +CT = +AAD = +Tag = aeb9ff25cb2f6d01639d62acca +PT = + +Count = 14 +Key = 6f99ec101dfe554812864e0e4e185032 +IV = 6e +CT = +AAD = +Tag = a035b09d629de6e7235f5ae8c0 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = a6f929df8404061b85302c0598b72b80 +IV = e6 +CT = +AAD = +Tag = da2eae0fec1e54e2b139cb71 +FAIL + +Count = 1 +Key = 997bb81ec1f1354bb46df91a46b4693c +IV = 63 +CT = +AAD = +Tag = 2cbb79e0caec0ac1137bedf9 +FAIL + +Count = 2 +Key = 94a16fd10c3f34082d443909d076127b +IV = 3a +CT = +AAD = +Tag = c723b505654410ad9d5112a8 +PT = + +Count = 3 +Key = deba94607f06e936904a2949d63ba0d9 +IV = 22 +CT = +AAD = +Tag = d2bcc5a909dfd37ac6095c78 +PT = + +Count = 4 +Key = 890dc5458b95e1e404e476bb5be7b40c +IV = bc +CT = +AAD = +Tag = 1d41f6a67df70d495ef3ec06 +PT = + +Count = 5 +Key = fe9e7a383b46d18281290531531ab195 +IV = 98 +CT = +AAD = +Tag = fc29695b186465b5b29b5377 +PT = + +Count = 6 +Key = edfc9cfa01d6c034d6a31453fca5ef07 +IV = 83 +CT = +AAD = +Tag = 76d009db1e6b4d7c82cdc4c7 +PT = + +Count = 7 +Key = 40adb916a545a56f35f30dc314a92233 +IV = f2 +CT = +AAD = +Tag = 86f8679860de69dfb253addc +PT = + +Count = 8 +Key = fb8950093cf4c7102a31ba10c5927dd7 +IV = 1f +CT = +AAD = +Tag = d70739b9de85887954aa226e +FAIL + +Count = 9 +Key = c8169c13ee57119bdfb0353381d11735 +IV = e6 +CT = +AAD = +Tag = b904b054b9decc8968caa0eb +FAIL + +Count = 10 +Key = 820a3a7470e00504cb654b63a9c6cab7 +IV = 52 +CT = +AAD = +Tag = a6492ba4deb170b0153a5cce +PT = + +Count = 11 +Key = 437801df104c74f0f69cd9f0801ecf12 +IV = 13 +CT = +AAD = +Tag = 1b1f8303bb13fa1245178f84 +PT = + +Count = 12 +Key = 83372e09ba5370754d4a3dfd1fcaa76c +IV = 29 +CT = +AAD = +Tag = a533a6542b82987d8033b7d6 +FAIL + +Count = 13 +Key = 3a26eb6d2f48a112e6f8ec7fc4492758 +IV = 7d +CT = +AAD = +Tag = b1a31de8934511288ba2687e +FAIL + +Count = 14 +Key = be239e57641dd852f0927c6ffbd98073 +IV = 88 +CT = +AAD = +Tag = abc38eaabbae754c26c3dbdb +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 8eaf9b92cc3a3182ba1b07d8e4217f04 +IV = d1 +CT = +AAD = +Tag = b4e26e24c08bfb12 +PT = + +Count = 1 +Key = 0d8c38f4dc1647ad4eca4fbc2b511d89 +IV = ca +CT = +AAD = +Tag = e50929e177e7b11a +PT = + +Count = 2 +Key = 44a918a704c7757e846dd108d9ec24de +IV = dc +CT = +AAD = +Tag = 35a6589bd0a1b51d +PT = + +Count = 3 +Key = 3e94d83b22930c3ab70dc7bb973496b6 +IV = 02 +CT = +AAD = +Tag = 6f5ef0e620a2cafa +FAIL + +Count = 4 +Key = 8f510ea89518b766ec9c2cd976689779 +IV = f9 +CT = +AAD = +Tag = 8aa6aac93d17952f +PT = + +Count = 5 +Key = d0b49f1571a60586349ceaaf7ca6a86d +IV = d7 +CT = +AAD = +Tag = dac56e4979d1ebd9 +PT = + +Count = 6 +Key = cd06f28023d913373cbffbbc830a3ee9 +IV = 17 +CT = +AAD = +Tag = dcc4f4e2de7f5784 +FAIL + +Count = 7 +Key = aa974dbbf2cbd75aab3faae16d875f75 +IV = f6 +CT = +AAD = +Tag = b24785bd3355949e +FAIL + +Count = 8 +Key = a3774fd3c789095ca71e581ff4a96422 +IV = b7 +CT = +AAD = +Tag = ce1c75ec43a0105c +PT = + +Count = 9 +Key = 88b678ef81ec027738f87946ac8b5d6e +IV = db +CT = +AAD = +Tag = 560de9a3f0ed1df6 +FAIL + +Count = 10 +Key = 084945a42eef48221d766e5ed6e114a9 +IV = 5c +CT = +AAD = +Tag = 2b98ac54377c8cbf +FAIL + +Count = 11 +Key = dbf97297b1c1d5529fde625ab82d2e33 +IV = d2 +CT = +AAD = +Tag = 05f3f4fdc0786998 +PT = + +Count = 12 +Key = a985146c514d9bdb65ba08f3b498f8eb +IV = 17 +CT = +AAD = +Tag = c5083a03b80c1529 +PT = + +Count = 13 +Key = 1711f79d50a95ebe93e280fddd2b7e2f +IV = 65 +CT = +AAD = +Tag = b02a8cd66ed25392 +PT = + +Count = 14 +Key = 9e9941657f994cb43b4074fb5b0e34d4 +IV = 3b +CT = +AAD = +Tag = 2706d8d419628bb6 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 9e8bcf1f13aa31ca52ed1f3c5137770b +IV = e2 +CT = +AAD = +Tag = befa4c8d +FAIL + +Count = 1 +Key = 5c3addbdda7f79d38984d0022851139e +IV = 55 +CT = +AAD = +Tag = cc79fb7e +FAIL + +Count = 2 +Key = a37adc977ca1e0972c59e479b8388a62 +IV = 2d +CT = +AAD = +Tag = 2fbea5ee +PT = + +Count = 3 +Key = ee120785a5ef5218091171f1eca2cf1b +IV = d5 +CT = +AAD = +Tag = 47dcafe1 +FAIL + +Count = 4 +Key = b40038a0047ecd8c334b88bb938b4c6c +IV = d3 +CT = +AAD = +Tag = de071096 +FAIL + +Count = 5 +Key = fcd603eb7b18f90b11f9eff6af416c9f +IV = c9 +CT = +AAD = +Tag = be99f1dd +PT = + +Count = 6 +Key = 8736c9761a22330bf3bcfcf3626b47f9 +IV = 64 +CT = +AAD = +Tag = d9bc94b4 +FAIL + +Count = 7 +Key = 7df67ee33b94c87614ae0e38b19a94e5 +IV = 98 +CT = +AAD = +Tag = e34185d5 +FAIL + +Count = 8 +Key = 7455316cf0ece666a2dd5884e7cd47b7 +IV = ac +CT = +AAD = +Tag = d9d28857 +FAIL + +Count = 9 +Key = 0fbcc040075a1413c49ef5a63881f24f +IV = 2d +CT = +AAD = +Tag = 14e0ba59 +FAIL + +Count = 10 +Key = e86a1f2ee6c11362ad15a7634c4f8826 +IV = c4 +CT = +AAD = +Tag = 2a8373f3 +PT = + +Count = 11 +Key = 75471468ab5b3d88c1208a8d66f66ee1 +IV = 2a +CT = +AAD = +Tag = 243fe646 +FAIL + +Count = 12 +Key = a42de8bf26e977e32724c531eb8794e2 +IV = 69 +CT = +AAD = +Tag = 5820cf9f +PT = + +Count = 13 +Key = 4c4305ff475b595d797c653f4f414584 +IV = 07 +CT = +AAD = +Tag = 89220fab +PT = + +Count = 14 +Key = 6ae7a4ba3318dd97a5a38537f06343f1 +IV = 75 +CT = +AAD = +Tag = 0b075c70 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 4d40d6f1c358c608229c3fb53cf16074 +IV = 31 +CT = +AAD = b33e82bab8f434556b66384891f7aa15 +Tag = a97077c9d28f4814ccc4f0cc15839701 +FAIL + +Count = 1 +Key = e679147609421f10442e885e51138054 +IV = eb +CT = +AAD = 99e44fd2fb2beac575d8122c2118ad4f +Tag = ef71d9b0664ce39687653dab5deebe40 +FAIL + +Count = 2 +Key = a4d5f63c3900c50387a8f72cfee4d698 +IV = 12 +CT = +AAD = 3fd4d2167b919693c09299f6d28c34e9 +Tag = 8194cdafdd0c1a2b4faba04e44596047 +PT = + +Count = 3 +Key = 6f08ddfcd9fe24582a520cdc64579db4 +IV = 1c +CT = +AAD = 1cc66cd7a429e283bc15469ae4de3e0d +Tag = 970a39f0c6d6ced0ff3aedd3c95f2fda +PT = + +Count = 4 +Key = 469997c3ae1948135727dafa5f466f5b +IV = c1 +CT = +AAD = 86d26a4a5e4eab2b1eb1872a46d5ada6 +Tag = 971b1944e0d6ca40a37c1036fb4320e7 +PT = + +Count = 5 +Key = dfc45847e61d4ee84d86f0c5e87fc1c1 +IV = e0 +CT = +AAD = 73417b5fe6435b8f9fc4e07f55d0a544 +Tag = a7116e4ee7cad229b12fbd859a40d3ad +FAIL + +Count = 6 +Key = 624dbe4362f4fafcbc16edf65baff0a1 +IV = a9 +CT = +AAD = 727822ae501acf6b543b90034ee03fa7 +Tag = 9328e8c1111c234ab317936fa503ff76 +PT = + +Count = 7 +Key = 3bcb449424e1a26257050e1f94113d36 +IV = 60 +CT = +AAD = 867682eeb2be2ac09a1c1fdc1c25bca0 +Tag = b5d9d2efe0f76e6aafbcf8859b596bba +FAIL + +Count = 8 +Key = fc78d9f2bd3d22f05a29db240a098cc8 +IV = 49 +CT = +AAD = 6bf7fa069eb367a3e5e3431ea16ce9af +Tag = 1b9d7b70e6d0c4244bcd675cac565b48 +FAIL + +Count = 9 +Key = 24a94e284b2a939910e662742bff03bf +IV = 95 +CT = +AAD = 8730e92568407e670ad7687b5186e653 +Tag = 0fc92cd17c050868d55c7a71f6b541de +FAIL + +Count = 10 +Key = dc07e31f47f3b99a9254d7900a946bda +IV = f4 +CT = +AAD = 3d6fb3cfadb0328561d4b564f5a646a0 +Tag = 7f4bb14bad803429b9cea7effa692a3e +FAIL + +Count = 11 +Key = 991231b6c3c357039b98bb12d6e4fa40 +IV = 87 +CT = +AAD = ee197df27488b4384289a6923a15618e +Tag = f5204cbb73966ba3bc08b2792688a71c +FAIL + +Count = 12 +Key = 566e71def77d628be1bcbaefc79b8c53 +IV = 8d +CT = +AAD = 07afbad606e2b93c27a990819776db1c +Tag = 7ec8dd54f009377c4151d13f29e95a47 +PT = + +Count = 13 +Key = f3e84bc419d6d2ec013d0ccc4cedc344 +IV = 9f +CT = +AAD = e8f2b4ecaf98fc2f7dc654e1e8280f51 +Tag = a880b9bb77271e5190cb9ae7ddf5cf5f +FAIL + +Count = 14 +Key = fa37b673effbcf9d2b9040150e6df785 +IV = b5 +CT = +AAD = ff2a2d89c12e0695e543e1aa9433432a +Tag = f7db0c28c394bdbacbfda8eee9f4870f +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 0001b3f0bc97ab683660a4693df2379a +IV = 41 +CT = +AAD = 6461737a4e37165a7980270ba4348be3 +Tag = b9e0bd48443c196d160d6b5e5767a7 +PT = + +Count = 1 +Key = 6458f65733e892348782b0c7c28265b7 +IV = 1e +CT = +AAD = 3878ed907d7daad571a6f96efe76b282 +Tag = 9ca98dea3c548b7a1048c61f18043f +PT = + +Count = 2 +Key = 7aaecd6704c411e6ec99eb42e4b74a6a +IV = af +CT = +AAD = aa9403a3b6c0b4c06a61c806f2ae3ef0 +Tag = 7f902a63cc74dc4365bb619e96bb02 +FAIL + +Count = 3 +Key = 93bf54da0744ac264ad9a1a1e683436f +IV = de +CT = +AAD = 303f032c94a0ad73f23ba0b4ebe5fef7 +Tag = f5be5cdeaef0840dc54a7aa83ad6aa +FAIL + +Count = 4 +Key = 24b3a8af9dcb82a03785acef7ed9bee1 +IV = 71 +CT = +AAD = fa287f0736e13cd90eadd03a09d107a7 +Tag = bf5e609d785dccebfab2e3b01e852d +FAIL + +Count = 5 +Key = d3b1ea145b3348182aa57de22625aecb +IV = 6f +CT = +AAD = 4ce667defb18df078e0dd7f97645d9fd +Tag = 4b4509bff71f33d2be716c20eb7af9 +FAIL + +Count = 6 +Key = bec74f7d86614f3655fd8a6fba4c5692 +IV = 5e +CT = +AAD = 15b95b6224806d22e847bb5e738bd298 +Tag = 0330b138c89b0b076956a8501ade92 +PT = + +Count = 7 +Key = cdea1fdcdc9ba06b6d3593835f941299 +IV = 16 +CT = +AAD = 11a3a84ae45dde8374b9a67d9ece1cda +Tag = 1af384727afc567f9bfb3105d8df73 +PT = + +Count = 8 +Key = 32dc20465bf077260869b411cc7a3362 +IV = 4a +CT = +AAD = a458b25d8a2bd7988add8eba9df3c6ce +Tag = 2037c0fa9c25a12eaed9f8bb0907a5 +FAIL + +Count = 9 +Key = 7a601b1fd950486a2989fe6729fe8493 +IV = 3f +CT = +AAD = 9f1e363309bea9e4acb502f5d289ca32 +Tag = 8fffe20bf6761bcfe24dc7b901ee16 +PT = + +Count = 10 +Key = 3e0cf1d4d1f035c330fe3af06f18baaa +IV = 33 +CT = +AAD = 7ab3f3963214cf86758726c220a62cf2 +Tag = add8a1b136335f7a6f70a62e201fa8 +PT = + +Count = 11 +Key = fa749f0dba28b3c3667eec67da2e4f4c +IV = cb +CT = +AAD = 3dd74cefbcbbb53a3ea527e7c491937d +Tag = 4a8cc0a669407ea74b9443c4eead15 +PT = + +Count = 12 +Key = d1406cfdc15c2f7c208ab086566b488e +IV = bf +CT = +AAD = 766ce0e01cef5fc5b60c4687edcc832e +Tag = a2198e25ca073c15c99a6215598c47 +PT = + +Count = 13 +Key = 5b4327c768a3a857e5bc0880e3f67d37 +IV = 37 +CT = +AAD = af6fabbc83468e2a94cc7c2307d6feab +Tag = 0b11a660a9bc073e4939dd033fb5f6 +FAIL + +Count = 14 +Key = 31b9f0c05e2bcdd05168e574d23eb89f +IV = d0 +CT = +AAD = e5dc48384fb61dd9a74b4a6472456576 +Tag = 9870a2c6b2c19e69ce53ca8e7ab95d +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 960929433bfc53bf8177995efeeb7a80 +IV = 26 +CT = +AAD = 599fa35f96c0b8a28bc144b0bd2956e8 +Tag = 5ea9b4e61dd300b1c096a530c01b +PT = + +Count = 1 +Key = c061faf7449fc5b7a4d4d43461e3611c +IV = 75 +CT = +AAD = d62888317c8af731250976188c79cd50 +Tag = 7591a54ac0e433d9451447381d9c +FAIL + +Count = 2 +Key = 0807982f5fb1924d98a675ad7c6f76ea +IV = d2 +CT = +AAD = 346ac387e4dd90dfe48ac600f1d83596 +Tag = a68f8efeb8d76ccab9f7444ad220 +PT = + +Count = 3 +Key = 369e2384dafd90f4a94ecf750715a88d +IV = a6 +CT = +AAD = 790bfbb47462031eb0e8272c4c77f7ff +Tag = ed82b0c01079d1e1f0920b3efaae +FAIL + +Count = 4 +Key = 2d0fd0e130ff505ccdc88b5255303c5b +IV = b7 +CT = +AAD = dc780e3cc380a99ceb77a0e489c54c76 +Tag = b43acca843d9726815edf926ac89 +FAIL + +Count = 5 +Key = e33fedfb7b97f6e11acf0bc935b4b033 +IV = 2c +CT = +AAD = 63e81f97516e96647c722fe73567fd84 +Tag = b6617f0f9a166d9f9327da407389 +PT = + +Count = 6 +Key = f946dd1a12fb373ef377624fa16bbc74 +IV = ac +CT = +AAD = b211ca58ce0318bd2ca9c62d3503ec4c +Tag = c947d5ef82439bc10fbf39e6f42f +PT = + +Count = 7 +Key = 2f517855d12c68c00e6826a7b4bdf9bd +IV = 21 +CT = +AAD = 0012afca1aaf54757958d5c25a49844f +Tag = 9a67bd6c554cd37400452163432a +PT = + +Count = 8 +Key = 3e13ee1dc97bad5f32388b9184fba525 +IV = 6d +CT = +AAD = 6de246ccd6f9513913e7f815c6bf6257 +Tag = 471b611775e7cc78acdafc668695 +PT = + +Count = 9 +Key = e4df238670ee1a297b2aba8ca3567797 +IV = ae +CT = +AAD = 31af9d6d7222574d70a5b13ad8cb3cd2 +Tag = 7f4e7067fcc8df9471b8d0994a86 +FAIL + +Count = 10 +Key = 0bf920529efd052ddf82a84bcf66bedf +IV = ed +CT = +AAD = 11445689f9612a37533402162dd5b4a9 +Tag = 8cb98a722ca2e4f53368bf4013a9 +PT = + +Count = 11 +Key = 5e217e85d0e56e723d8db88b2a6fb527 +IV = 6b +CT = +AAD = c3d4ce44c67582d74733f987cdd59b84 +Tag = fe13c5b28386bfeaceb8c3ebe667 +FAIL + +Count = 12 +Key = 8ff030aeecfa2b9c7e201b998cbfa34b +IV = 71 +CT = +AAD = f19f1d70c7d613fe6cfd1ff197f6a24a +Tag = 6f0ffe8229bcd6f0ef25d05245ae +PT = + +Count = 13 +Key = 12688d62ce5a06c1bd515ffb5c44e417 +IV = ad +CT = +AAD = 18c7b78043cceeeaaa2ea0f5a038bb8e +Tag = 63b61675bd0151282ec1b56efaf4 +FAIL + +Count = 14 +Key = 9b7b4b15cc586ffefbcf615a5aefe959 +IV = f5 +CT = +AAD = 29d318863fb91f5897fc256787feebe3 +Tag = 306e151bc0ccab4aefbe8c13d673 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = a5a618175009826b9022520b208f7bf8 +IV = 83 +CT = +AAD = f2bf549c20ae8ba2752d7cc596170e10 +Tag = cf064b2a4f146601a2d78891d7 +PT = + +Count = 1 +Key = 3eb21f095124e4e6dbe1a2164b7d485c +IV = fe +CT = +AAD = cf16c8d310159949c4d4b11f86a38df3 +Tag = 8c0aacc1432cb7a6c9924a703b +FAIL + +Count = 2 +Key = 92f581dc336e4dd2ede4b1fc6a5a0120 +IV = 04 +CT = +AAD = e972746dce9cb17039b03701127866d8 +Tag = bb0b6eda8f687842c9da46eeea +PT = + +Count = 3 +Key = ac73e37b773f2d1825ed86edaf5ef65f +IV = fa +CT = +AAD = ef40d27f578e72d5260a99b788f9d882 +Tag = 3c214041fee40c8790c00539bf +PT = + +Count = 4 +Key = 58b1989d9f9d1b11d3fa25f0800da555 +IV = c4 +CT = +AAD = 2c4def2a0bc599c3f221c13f80352702 +Tag = 0b83f01cf2db2297b4a2c28966 +PT = + +Count = 5 +Key = f8cfce43ba1c0632e1f80095e6898c28 +IV = 1a +CT = +AAD = 66f7eb7e99bf3ca2ffcc70c66f77ab55 +Tag = 81e779c2df0a717f406666aefb +PT = + +Count = 6 +Key = c7ca13cfc2d7bf2babbfc7cbf2cae37f +IV = 7e +CT = +AAD = 47148e731ff03197d981b8821a21f0c0 +Tag = d6558fd6deaa5dfb5856f4b406 +FAIL + +Count = 7 +Key = 9a106cc42d16851c7631552ab7cde92a +IV = cb +CT = +AAD = 5ed7b1c2225319cdff3b85f8a4264dd6 +Tag = f315f904d3bbd00b8f01e7c98b +PT = + +Count = 8 +Key = 7a2e6c1a23ab2187e30ceaebd1b4b299 +IV = 8b +CT = +AAD = 3b7a3df5ebd4a45e1557b9131f6cde29 +Tag = f4c2515410b4fb7c8deeb63280 +PT = + +Count = 9 +Key = 6469711a59c80e50d97d0211f625a1f3 +IV = 46 +CT = +AAD = 9f693ac67fd796d8ec7cc6c37f5773f2 +Tag = 87d6fbe0e129d365a81a0b1913 +FAIL + +Count = 10 +Key = 15819ec3fed26018a00d1d3ed27ce8af +IV = 4f +CT = +AAD = 4b4dc1a7c000a9de2c7d3092625ed92f +Tag = 2b5f8bdc972222fe4ded67ad03 +FAIL + +Count = 11 +Key = b51354565a92455acf82ba7b71ab136c +IV = 9e +CT = +AAD = 5e0b23f8a3fffbbaefa28b224c155b3e +Tag = 970735883569bfc723fcdc6d1f +FAIL + +Count = 12 +Key = 2a40fdb5c1efb22b2224613090418fe0 +IV = c2 +CT = +AAD = f782e58dc0e506b3eb23d635f972224a +Tag = 2deed9c67d48b61e25aa80e68f +FAIL + +Count = 13 +Key = d920eefa83d55bba8d55d48107b31b16 +IV = 8a +CT = +AAD = 63615ae9469138e674740615e18c3bc4 +Tag = 7c158a243328ad711ff92c33a7 +PT = + +Count = 14 +Key = 1b41564f852901def8d92c0cc681f8ed +IV = fb +CT = +AAD = 28785d2067eed9293b2b005642058b3e +Tag = 503dceb4b0ff99bbd4e63ae06c +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = e91f8ec6f4f57213c06a94fcc25b270c +IV = 4d +CT = +AAD = 5dd5caf6a493e325a93db47783cb5fe2 +Tag = 84914a28fc33ea221b11f22a +FAIL + +Count = 1 +Key = b192a8639cd68895f1362ee7c6eb4b3e +IV = 98 +CT = +AAD = 0e4ada21bf1a49138f2531baf07b27e8 +Tag = 97ae851628ebd615aecb5dee +FAIL + +Count = 2 +Key = a144edcbcc85cbfc9e50a800127ceab9 +IV = 91 +CT = +AAD = ae181707576e2075e5fe610b0c876dcf +Tag = 5eb30468e68d347459938ec2 +PT = + +Count = 3 +Key = f6c3c4fcf16ddf2d212f1126d145368a +IV = 5c +CT = +AAD = 746aae325942c16ffa4a0fd5b8f1f397 +Tag = 92198b87064ac3b44cddc4dc +FAIL + +Count = 4 +Key = 63f88650b25224710d78be86968ce581 +IV = 43 +CT = +AAD = 7a61fc32432dabb3aa682f76c4efde7e +Tag = c3a6cd71ecdcd8c236948844 +PT = + +Count = 5 +Key = 9a7673d83cc339dcc14fa1b571ce434d +IV = 13 +CT = +AAD = faa4491d93088a9c385ad9ee5f28dc9b +Tag = 58d039688408cc24df8ea487 +FAIL + +Count = 6 +Key = a106a36da07c84a225590e1498afe042 +IV = dc +CT = +AAD = dde59dd344dd6bad26adc3b3b7a017a9 +Tag = b833b78b20107e8b7559070d +PT = + +Count = 7 +Key = 79d087e509ac93cf41af82d7b69f242f +IV = 53 +CT = +AAD = 5903fb2c732dd0fd3a35aa0a71f4d4a2 +Tag = 4568af0412b86ea285673728 +PT = + +Count = 8 +Key = 8e9f6b6e77d1dafa3e61ffc810c80a42 +IV = b4 +CT = +AAD = 7585af2e7dc7ad5b1a6020990e85e86d +Tag = 21e8348448b34013a6bd6baf +PT = + +Count = 9 +Key = c243f789daab5f4f765ae7c3be223e57 +IV = 53 +CT = +AAD = e106ed3d0ca95d8d062e643578632db9 +Tag = a524ebd41c4a655b78453f0f +PT = + +Count = 10 +Key = fa148b904a3db5ed23bae47f1ee3fbea +IV = 74 +CT = +AAD = 06cbb283c79db2afbce55f5e0b1d7ee1 +Tag = 9d1f1264b3582fac808ad7d8 +PT = + +Count = 11 +Key = 0a813190b6a0ff933f7fa6eebc04b762 +IV = b8 +CT = +AAD = 2e9c5b4428e0603271c324e247ad92eb +Tag = 5ee804aa801f971076f106e8 +FAIL + +Count = 12 +Key = afe208875b2e437b03ffde892670dcbc +IV = c5 +CT = +AAD = ab14c3c1d7bcfd840710dcee12f36c32 +Tag = fbf5ba0a0f89035d60580955 +FAIL + +Count = 13 +Key = d6d4d07efeb0f50026eb3a558f89b4ee +IV = 89 +CT = +AAD = d95ebfa095a4cd77c8e0588a88130c62 +Tag = 93c3d51fd2684f168da9fbd7 +FAIL + +Count = 14 +Key = f7d9ad90d7c22d104af9031afee3dc58 +IV = 25 +CT = +AAD = fd61212aa4e96a26c7696f930c1e484b +Tag = 3f8459a551d3ba66605607e7 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = daff2260264f65af705080e61168e55a +IV = 84 +CT = +AAD = 69c4d41701f761212bf8ae421d04ecdf +Tag = a341c519f6694bc2 +FAIL + +Count = 1 +Key = df67805e8d12db943841f295a6a027aa +IV = f6 +CT = +AAD = fb2c1e6db7755a6c96361eefce8ade66 +Tag = 8e0c3b36d18f944c +FAIL + +Count = 2 +Key = c7f4eb4868fc81820e79beda1c9cbaf5 +IV = a0 +CT = +AAD = be9a78f2e13540c67d576fd20beee0a4 +Tag = 76c33013f95153a3 +PT = + +Count = 3 +Key = f9daa1451f2f825842232cd59b2e7e47 +IV = 27 +CT = +AAD = 363abb9896a4672f21bed4d4d0d1aa66 +Tag = d79bf0d040b6a5e9 +FAIL + +Count = 4 +Key = 7b7140e7586a983b12e191b1faac12cb +IV = 44 +CT = +AAD = 7ca80c131bda15bc7dba1fa3d0dae481 +Tag = 5740ff23077e11e9 +FAIL + +Count = 5 +Key = ce08bd3510183a68f70fc8d58474f737 +IV = 72 +CT = +AAD = c208b3edd586aaee221631aee3d5632d +Tag = ebe293bf5e199183 +PT = + +Count = 6 +Key = 7d15ebdd4f9614cf871730e46ece866f +IV = 9d +CT = +AAD = 56de1a8518c0026cacfb7fde8e394f12 +Tag = d609b9cb6075e922 +FAIL + +Count = 7 +Key = a1d02a4098acdcc901f9ca9ea3c6458b +IV = 1d +CT = +AAD = 91ed47ca6e8987bc49ac696190f87853 +Tag = 433a2db0a27fe454 +PT = + +Count = 8 +Key = f02c871e69f211f1530ec86a964c2c73 +IV = 08 +CT = +AAD = 3206f8202aefb9e3923f91ea1275b27d +Tag = 60830b2fd62a8675 +FAIL + +Count = 9 +Key = 23e0bfb31a2cdece0f299c31371f34f4 +IV = 76 +CT = +AAD = bed41b13e3f189093d170cf08dc6d7c8 +Tag = 1a92de6de10d8e47 +FAIL + +Count = 10 +Key = 60de243b4e5e04024d6fef874e2bf3d7 +IV = 7e +CT = +AAD = 147b9250f2b5925784dc69dca9430f33 +Tag = a9c3cdcced910441 +FAIL + +Count = 11 +Key = 1875300437844bf7a4c2567793a75ffa +IV = 54 +CT = +AAD = 721aafe9298af27c5f93bda94cb111a8 +Tag = 25ea3689f6d0fe28 +PT = + +Count = 12 +Key = bc13c3e012d487dfd6e99d3960ba6e29 +IV = 23 +CT = +AAD = c5b1c3d07030904c9cebb78d556e18f1 +Tag = f99a069caa027ba0 +PT = + +Count = 13 +Key = 733d54b3fe32e17513ea4df2fc02913c +IV = d0 +CT = +AAD = 09a65afe7873e97aee7fee100b06eb4a +Tag = 816e10ccfd66aa20 +FAIL + +Count = 14 +Key = fed40ad3875a5cd03f1405287a20242f +IV = 6a +CT = +AAD = c4963745f263f8962fd8244c2ebf3fde +Tag = 27eebbfcb1cdfb82 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = fcc8cab62572d7f8f9e3e0cc2f34f864 +IV = b4 +CT = +AAD = df9bed470e4f91fa14ca08b6eae17138 +Tag = b74b4e20 +FAIL + +Count = 1 +Key = edb5c896f7144ceae3f35c91c219f861 +IV = a5 +CT = +AAD = 01e1c2cf150ed1f909fa89711173553c +Tag = 526a63f5 +FAIL + +Count = 2 +Key = 64820a3aaa3603d5d33e9b5a6e44d7f1 +IV = 7f +CT = +AAD = b6cac36c6facf88c97517d93164666f6 +Tag = 285e612b +FAIL + +Count = 3 +Key = 4b963d88db63ac0a35b368d539a3d139 +IV = 76 +CT = +AAD = 2d1666b92e30cdb37a795ee8e370959a +Tag = 412d73a5 +FAIL + +Count = 4 +Key = 89f31012126315fcd9e55447e9a18268 +IV = df +CT = +AAD = a81963ea4f3b76a50cf9959ef6ee61bc +Tag = 0c5d709d +PT = + +Count = 5 +Key = 7edaa237c3712c3f69716db5097ca4a5 +IV = 83 +CT = +AAD = be6c74528a6c00fc85277757200a87d4 +Tag = d531f8de +PT = + +Count = 6 +Key = 615919f6fffd95ead063a7b56ad72b35 +IV = 08 +CT = +AAD = 1b9d676e36ea2e3736be9bf0304cfc74 +Tag = 86eeb6cd +FAIL + +Count = 7 +Key = be3c233e53b510bc06ee063687f66c81 +IV = 44 +CT = +AAD = 7840aae8e2475b5c5586cbe4140150d8 +Tag = 613045fe +PT = + +Count = 8 +Key = 71d51d5fa857ee0b227295dd08568b3e +IV = a6 +CT = +AAD = 01db38b9f3c561748a3694e79eb5ac5a +Tag = 19233220 +FAIL + +Count = 9 +Key = a7bb67d2234477359a8644d3725df226 +IV = 06 +CT = +AAD = 5ecbeff8b0ac71ef51d4e0ada8f96c96 +Tag = 296e24b9 +PT = + +Count = 10 +Key = ea1873cc1b319ae20cef69571217d9ba +IV = ee +CT = +AAD = b4945a11a1038dcb67e3894fefab93e9 +Tag = 2148111e +PT = + +Count = 11 +Key = 2c307c909e40d6dce52edabc9479f94b +IV = e6 +CT = +AAD = 3abff37d37d6ed89bce1b75c6644353a +Tag = d71939e6 +FAIL + +Count = 12 +Key = 8973c7726b7d3476db6ac4bfd4b0d7bc +IV = 70 +CT = +AAD = 4c50c607fe37e62d9d730c6cb2091293 +Tag = 7a5bbfb3 +FAIL + +Count = 13 +Key = 23d1293dc64f69411aca3d360951732e +IV = d0 +CT = +AAD = 4a299817131daf43e72565ac4e5cbd64 +Tag = 6a46a67a +FAIL + +Count = 14 +Key = ed9c4bae90f29636293eeafc7110a7f2 +IV = 0e +CT = +AAD = 8e86c648e2120134344bf2ddeee06414 +Tag = 731ee19b +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 408f5edd36d7684ad7b5909ac3c04de0 +IV = 8b +CT = +AAD = 48a4bb10a14255792c5edb39bdb056f4333b3cd1 +Tag = 5c34609612faca9ec1e60852f1bd7bb1 +FAIL + +Count = 1 +Key = 4015eb0551b8430139997bf0ec21449e +IV = de +CT = +AAD = d1c4c57dce37a40dbef0e79db870e3c063eeed6a +Tag = 23b3df54453afaeb9659e1ff7b3f7810 +PT = + +Count = 2 +Key = a111becdf54ec92358cd1fc8256f1971 +IV = 8d +CT = +AAD = 2dd8f2574006d99ebb57fcabafd56aa2192b84f0 +Tag = 33cc7a728a8e8b657ad2a3573fecfced +FAIL + +Count = 3 +Key = 6827a0f881f3d01bd0d27ff939af9084 +IV = b0 +CT = +AAD = 8912955dd4b11e6c7fb85cd6399b72f78f90635b +Tag = 64f3db227bf0f76c34f2c479567b2ce0 +FAIL + +Count = 4 +Key = 3890e598fd3ba0a065b1f7e85c0a1ab6 +IV = 7c +CT = +AAD = 7fb017e809d595fb7d6c12cd24cf043512483613 +Tag = a5ebe29ea14557eac06f47a6c739c7eb +FAIL + +Count = 5 +Key = 0824a6b28f571e06c7f2fdf73e5321ce +IV = 0b +CT = +AAD = 9cb281ad4b01183ad1944edaa2de849992292406 +Tag = 1c84cd44a9cd886e85de0d28ffb558f0 +FAIL + +Count = 6 +Key = 958cdcf71dd7506b16af9257a741a3e9 +IV = 24 +CT = +AAD = 681243870a7069eb05a693c8972b95a83800e564 +Tag = 89a6063d338a30f3319d90b59a28f713 +PT = + +Count = 7 +Key = 41982249daf5e2ee3b07c0020680392c +IV = c0 +CT = +AAD = a94e66f0aaa2c7bc9b6466e4a71dd2be78bce2e9 +Tag = 3709bd7f4605ac028e2293df8725b9cd +PT = + +Count = 8 +Key = c854519808db1c143171785dd725a5a6 +IV = 7d +CT = +AAD = 1cd9a2d7383fddcf2caa7b0e61b5f63788857717 +Tag = 3db99c25e24c3664b25e93103fc0e543 +PT = + +Count = 9 +Key = 71eea843298832fc0ddefe986bcf13d5 +IV = 41 +CT = +AAD = b94de45658fe58a976fad444b84c4c22afe3191b +Tag = b1761dbd1847093ae4459d34db9ee590 +FAIL + +Count = 10 +Key = a672e9b83814476e68a42e9515c7af7d +IV = 1e +CT = +AAD = 7e64460fc195db77eeb420feea417f4c658b0425 +Tag = 70165b91a2f68ff873e573c894733c99 +PT = + +Count = 11 +Key = 755652c1d27e53a5afc5d0e17244c4bb +IV = a4 +CT = +AAD = def3ebf2df54996c4ea23e08c97fedfa460a40e7 +Tag = 371d7121657230635483044b3f66eafb +FAIL + +Count = 12 +Key = d4e049cf72199dc96f4851f382694e24 +IV = 03 +CT = +AAD = 064e0862562a98f7ad1ddeee3413d3c9bbc7ff3d +Tag = 50c942b9509ff9f4a583f698e59d6afc +FAIL + +Count = 13 +Key = e7f7d520bdcdcc9d5f9b29e97f298d20 +IV = 2e +CT = +AAD = 8170af811d0dbcff11b7b396fee56af941f7cdf6 +Tag = d29fd40719ebaa2581e143886e2b2b43 +PT = + +Count = 14 +Key = bf4859881910ace5af232468db52f44b +IV = 37 +CT = +AAD = b7f9f2eb1b59e8c4fb6c27434891806870865857 +Tag = 605737b4d721d60118be6a692ff1e4e6 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 480451950af5ed444abcd868ac29d442 +IV = ca +CT = +AAD = e0ea371e53478deb170a1b910307f355dc92edc4 +Tag = 9d5d2445d2b9c492bb958a02206eaf +FAIL + +Count = 1 +Key = 37e3e34b2aec8e945706e4a0ea8ac73f +IV = 35 +CT = +AAD = 2e65619ab30a9b6a37d4146344b0e51f28818e88 +Tag = b01145324b625320de79d236045833 +FAIL + +Count = 2 +Key = 91c1c645d715863574191f04ea26bc01 +IV = 95 +CT = +AAD = 6f30f1f84cd48b0f457064ade5f02b6015fd6cb1 +Tag = 611fe0a4bbd112424156aac4cdf8bc +FAIL + +Count = 3 +Key = eaec957c660611623eb47e88c18d3cb1 +IV = e7 +CT = +AAD = 7ebe719298baa17857db8456e3b99c9be1ac3a7e +Tag = 04f06f4f66596b7a736b8ddb7552a7 +PT = + +Count = 4 +Key = 9f54d76f88fbb42ddf00100145290726 +IV = 9f +CT = +AAD = 260952de667530f64b12f8e98aaa3585d7da8f40 +Tag = e198fb8c613ab82f4c517540d27ba9 +PT = + +Count = 5 +Key = b6b9d5a47facb21b32e4783f6ec6902f +IV = c9 +CT = +AAD = 84ce93ded08070bd3bc43d7fc57ab0d6913421da +Tag = 281202363215afec0b21bd6b23bf24 +FAIL + +Count = 6 +Key = c07bf2246b50c3985600d275684b980b +IV = 2a +CT = +AAD = 068b9e8f8a6c7f8f7cc3e798e898aa5fb03d0c2d +Tag = 7a19e2b7d1aa7be8ea3b28719f8249 +FAIL + +Count = 7 +Key = 9fde484ef57329de370aa2114f1eb039 +IV = 1d +CT = +AAD = 5cbc9ab3139dfa3edf4afd63f10d361407774336 +Tag = 1c2c2b7176b1d0565ef30bae860323 +FAIL + +Count = 8 +Key = 7d2f7a6b9914faf2ea5ecb6c3e600f4e +IV = 0a +CT = +AAD = 76f3e7e20bd1c3c28f0aa1f472ca598b629fea40 +Tag = 4c16cbcc51d8b27cab4912cacb7746 +FAIL + +Count = 9 +Key = 4e488062361921269fae326747c32188 +IV = 2f +CT = +AAD = 19accda37bc4642b05624143b1964c77f52ab219 +Tag = cdfaad8cfd847556c8be72d3690274 +PT = + +Count = 10 +Key = 17ca27963d6a99eb66bdea94fb67f154 +IV = ff +CT = +AAD = 768a669207dfcebeb72f1b71a22b1fb4ab58c793 +Tag = 6214ef2cb7fb027fc654a556a34223 +PT = + +Count = 11 +Key = d4736abb80bfc5e4dfd24eb74e36cd0d +IV = 7c +CT = +AAD = 01a330f440d992dc84af764cbe7bddc6b18ddcb8 +Tag = a8d4db42d9c3fd163e4f7171fa7f60 +FAIL + +Count = 12 +Key = 094d788ec8e52c13b4cf4a9807331c68 +IV = bb +CT = +AAD = c4feb09aa9e11ead67965f1d56a8c7b88b390bf9 +Tag = 0b49bc62d5bc16e9c24a932a23d653 +FAIL + +Count = 13 +Key = 9992e89ec881720a051a37adc0ebe277 +IV = 17 +CT = +AAD = 6052ae05e2de078d1ffff5ad741d59534e23a012 +Tag = 3776876e20731ff09e23fe04974438 +FAIL + +Count = 14 +Key = 4215b97482798977eee9897bc7efadfc +IV = ef +CT = +AAD = 630f2dd41acebd91d611c091bb935128c34e9783 +Tag = f260aae36cb9e662a4ff61d748f2ba +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 1264ac3b05cc88149adf89ed23173ae0 +IV = e6 +CT = +AAD = 991c7cbf20cd2994e04ef6325e4a3ec357f34539 +Tag = 4f4d499257be5b60adf5bff4a413 +FAIL + +Count = 1 +Key = 16ce572bb049fa463d2f077d6ca4f226 +IV = 26 +CT = +AAD = e5e37d6ca9dffbd2ef203f27f511fc2e1ce4f3be +Tag = be344aa62a22f2ace5f52ef5761c +FAIL + +Count = 2 +Key = d19b16e11961066e8aad210f8ac92626 +IV = e1 +CT = +AAD = 39b5f3d30ee9b25bac62fcfc9faec2079cc276f7 +Tag = b0096db5cc7deffcce88c72fca0d +FAIL + +Count = 3 +Key = b0db9312aa66d1644b4edf6a80e1bc35 +IV = 6a +CT = +AAD = d0787cbfd2c042daed789477c61038a9d7134c5d +Tag = 894f0a66aba34757c7be31c9e9a8 +PT = + +Count = 4 +Key = 2b745143ccd551cc8b656cda575f2044 +IV = a0 +CT = +AAD = 63cd55c7d565bc8db49add188c1afab06475c395 +Tag = b28a9ddca9a53b142ca6dfb48f74 +FAIL + +Count = 5 +Key = da73553a37b112a0c58e9fe79c060d38 +IV = 92 +CT = +AAD = 199d8efa006f047c810c885380184e341f8de6ea +Tag = 6b2a6730e7a1410f57e6325e52e0 +FAIL + +Count = 6 +Key = 57043c156821533a923dc433c2e63ab9 +IV = d7 +CT = +AAD = a72ff5a6987f489f55aa6928a404f9a1947cf2b5 +Tag = f25bf712ae16306aaf108534a8a4 +PT = + +Count = 7 +Key = 66c2e8b4294717e70967afbb9f199e04 +IV = 36 +CT = +AAD = 5897dbee1c5903994f9e64075213db818cb706b9 +Tag = bc50d71cb417cf6410ca84ec88d6 +FAIL + +Count = 8 +Key = d341f4556a81969cae803421093ccdec +IV = 26 +CT = +AAD = 74af9e7083660fdeb8f5401ad8ab97126740ec80 +Tag = 958203a46ed9efc424beedac9527 +PT = + +Count = 9 +Key = e14c7a9dfeca7184c7c8e2a4f8167702 +IV = 59 +CT = +AAD = 4508ff30ffe79b0502b1818fd27ff0f6cdf3e7a3 +Tag = c99043c9fe1254617e3f9e682e91 +PT = + +Count = 10 +Key = 819d737cf7fa9a8c797f5b70aab2e8b7 +IV = 41 +CT = +AAD = b657e08698675f0072378c53f5ca21d5aaeb060b +Tag = be8d0243c9e9f8ce6aa2781001de +FAIL + +Count = 11 +Key = 0310645c7a1536ed231b43a788e5fdb6 +IV = 6c +CT = +AAD = 74844d8d5056bcc479d76d8b8f20ad696e248943 +Tag = 9aefbb693e6e7fa3ce67eebe0e5d +PT = + +Count = 12 +Key = c329779b13c24bdaf050da812b9e7aed +IV = fe +CT = +AAD = e5ea4525c611fc0598532ee816ed942459dddd9a +Tag = 5a5707be76543fa1e2cf12081550 +PT = + +Count = 13 +Key = 3e07197f07a40983b329ff384b74b97c +IV = db +CT = +AAD = 0b39f47f20fafb83e469fafb8b420923d1d392c2 +Tag = b3d5258b049455baf4ca53f49593 +PT = + +Count = 14 +Key = 18be019fa08d55127535218c122c1710 +IV = c9 +CT = +AAD = c60c9981d50af6deea87260992ff0d63a7de9d89 +Tag = e334f8779da126f38cbe642c138f +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 9d76c80257105bc6c276d6f22b5ac79d +IV = d4 +CT = +AAD = 304850fce3d2c471daaa8766fecbc3269cd04d24 +Tag = a8c34cda9189633ddd6e7559c4 +FAIL + +Count = 1 +Key = ff27dfff2b6eefc9f8c3917bad54ad44 +IV = ad +CT = +AAD = a20c9920a4ae1557f6920352bd2826cda9c3c121 +Tag = 651143b2c778123b62ef1fa695 +FAIL + +Count = 2 +Key = f4ac934d62ba316b0ecd0e61af3a3708 +IV = 38 +CT = +AAD = f730c08d68c07805ba2fccba633698e1ccfe2b76 +Tag = dd2a0803514a70d1d03d1812d4 +FAIL + +Count = 3 +Key = a88a89e4cab21939bb3e11b9f2de990b +IV = 6f +CT = +AAD = f50f531a569005977eec0903649297c971266c08 +Tag = 59a664948ba93c742c4f8d1934 +FAIL + +Count = 4 +Key = 664c8734c63ff64d28ce8f3823a549ce +IV = de +CT = +AAD = 317eea7ef060904f93ee99fc077958db2617e069 +Tag = c5d8937c71856bd639e7722328 +FAIL + +Count = 5 +Key = 0c370e7963b9cd2e9e2d1f81b52f874e +IV = 7e +CT = +AAD = cbf76c98f9589bf46eddec33ec26acebc24a56b4 +Tag = 3cf4dd81021fa724986676630e +PT = + +Count = 6 +Key = 77ef93b675e3fce0a837fe177fd01638 +IV = 26 +CT = +AAD = 8f24968d34d1679f8c5d50935fccac142c4fb784 +Tag = db67423a4270bdceefe2cab98d +FAIL + +Count = 7 +Key = 56e4d5649ccae993d6b99892ff4a84b2 +IV = d9 +CT = +AAD = e1da618cb4d5b40d0956cbfaa4586104b6062685 +Tag = a81737da624bae0bff0ffb1957 +PT = + +Count = 8 +Key = 8e442520240260b5d6b084c7ab0e72dd +IV = f9 +CT = +AAD = afd0dd55c463903ee3eebde6f2c3056e08234af6 +Tag = 0dcf8222b3fb6bcdd6f934e4cb +PT = + +Count = 9 +Key = 85b5f814c6dcaf900698695c5e42809a +IV = c7 +CT = +AAD = c8fa36519706cccd7ab8f00bb7c505d879cf2ea7 +Tag = 5c120f6c0e627c92b1e818f824 +FAIL + +Count = 10 +Key = 60a5218e1ea15dceb7edb6939b029312 +IV = 70 +CT = +AAD = c45e2329463f720eb8c9998fdda90a5a37dd887b +Tag = c06f250752ca712686d9743f36 +PT = + +Count = 11 +Key = e83f71ec38b2c7031a56f00e71f0b4a8 +IV = 15 +CT = +AAD = 16b929eb2574298606bf8c20f415c8b5c2ee834f +Tag = a370b2bec9aed399693847565a +FAIL + +Count = 12 +Key = b958012bb74102b5ef244091511c015c +IV = 5e +CT = +AAD = eabf6f3f0b109667901628986cd3e77d0a7a484f +Tag = 84b0a7222354711be83b7b7491 +PT = + +Count = 13 +Key = 7875fb34a91b650754458ec973c5759e +IV = 2f +CT = +AAD = afd40cf298f6272eee6aabeda8a859c7c09c3ad0 +Tag = 7469760163a53a44c2d6f2e5ef +FAIL + +Count = 14 +Key = e9edfb479d4d23c6a16b2b06c7388376 +IV = 4c +CT = +AAD = 0e5368e59bfe323a166fbfacc0e1292f09c73700 +Tag = 45c6d209cec5696150b2ac5f9b +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 42168f5168e4164493227ac0ee9342c8 +IV = 12 +CT = +AAD = 3bbb688e5014d822a9e930c8f1194073d99b1164 +Tag = 7ba600b43586bdaffe21f9ec +PT = + +Count = 1 +Key = 7a1bb047557818fc36bd0c16ad0a301b +IV = 38 +CT = +AAD = 5ac690c013fa47f1f145d0af35dcb59c818c57d4 +Tag = 4a045119cbfb4d290273539b +PT = + +Count = 2 +Key = 07b8e19c2b45b27f7500f9d1dcb12f64 +IV = f3 +CT = +AAD = a66272e911fae5da83ce12cc969251cf4205eace +Tag = 970ab466611578b8bd6e50a5 +PT = + +Count = 3 +Key = a49f78dc69258867fc29718c7bea4f7b +IV = 25 +CT = +AAD = 295485a9647bb3eeec08ed368a17f547666cf749 +Tag = f9c36be191306d74391ef39c +PT = + +Count = 4 +Key = 2ce4602c34b7e6bbc4126e189e85fa2d +IV = 41 +CT = +AAD = 3402beedd62feda32d112dc0464e89de077ea6c4 +Tag = 08bb9498f14f3bc524ea73d7 +PT = + +Count = 5 +Key = dd512c3fabdeebfc143de0b277f572e8 +IV = b6 +CT = +AAD = 53947e3538486da1b0488abba782073e86cbba8c +Tag = ca9aa86bef7a2271e5f91726 +FAIL + +Count = 6 +Key = 2261687c3d6bb5a3788fd3bcafb7aa2d +IV = fc +CT = +AAD = dae9cf83ecaeca083d6ec79502ba8d68d3cb61db +Tag = d2c539032566240c0b533f4e +PT = + +Count = 7 +Key = 17c51a36f626e90211803afc9195d0b8 +IV = b2 +CT = +AAD = 5de32a722b5544271cb47090b5689594b99f9a98 +Tag = b771c6d6fbc2d62e395673e4 +PT = + +Count = 8 +Key = 9f9c55958987c5d56260fdb094347c4a +IV = 25 +CT = +AAD = 8fb7bf6f9423dbf9362e53314a1b6e43af1bdb8a +Tag = 4fe38ac3846bf8906544dfc4 +PT = + +Count = 9 +Key = 1191673e3269f20ad2784d450f806096 +IV = 6d +CT = +AAD = 4ac6d10bbd7c3f4c35051bbffa4a13e62a0935ce +Tag = 706b8820b143376706e756be +FAIL + +Count = 10 +Key = 7c2f628ca4956e8080a329d8d51fe28e +IV = f5 +CT = +AAD = 249523fe1b610826b037d277462c347decf6d0e5 +Tag = fcf63126214948e70a0e023a +FAIL + +Count = 11 +Key = 97f8547199ac2e5a53ec311f5e02466c +IV = 63 +CT = +AAD = e56eea462d4a9870af9a3bdcd793bb55b856c1cf +Tag = 9d7e0b6f7bf778114147efa4 +FAIL + +Count = 12 +Key = 832ca28b627fa57596d97ba2a30b375c +IV = 25 +CT = +AAD = 7b81440796eac8b25594c8bcc4ac7edc1afeecd1 +Tag = bc8b7d414a11012fdd565632 +PT = + +Count = 13 +Key = bc750d0107b69949544551aea28fecf6 +IV = 37 +CT = +AAD = 352c759809fadd702289b1454c2688e5e85a344e +Tag = b31353b11dfa9942dfea8fbe +FAIL + +Count = 14 +Key = 2eb0c95aba7d74dfa9fd38fb24fc1204 +IV = 45 +CT = +AAD = 1951950e1f64a9394842de6f05e4a9ffc4eedcc9 +Tag = 880ac5075c83df01864e7303 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 86e35df0c991afe08b5e54896311d748 +IV = e7 +CT = +AAD = acc6426eb07b6803198235d53de0afc4c890f5d6 +Tag = 67ead06dda3f2a2c +FAIL + +Count = 1 +Key = 14019d7228a598240c95fac36d0f9855 +IV = 0b +CT = +AAD = de0490d1e197058ab6a7a703d85a1b608ad5a2c3 +Tag = 958f244d5a6cf44b +FAIL + +Count = 2 +Key = 8dda8146b632ac2c0bd47bc02feb89a8 +IV = 3a +CT = +AAD = 81a49e12486db58d7ed598d89d1032a3f644902e +Tag = ef33c5c3d5387bf7 +PT = + +Count = 3 +Key = 4e2853fe5a6628d3a9fdab9ab184dc24 +IV = 65 +CT = +AAD = a2ae626d3589f3ab1e5d19aeff9962eda8aac33b +Tag = 8144e322a03b9edf +FAIL + +Count = 4 +Key = 67db631ef9506aae02f5da82bcad4225 +IV = 61 +CT = +AAD = a93dae9e186b5660b9be012b69ec86fc0a1e31db +Tag = cb462123df1ad1ff +PT = + +Count = 5 +Key = 5bdfb13d13ed45ee65e1f6d8bae73a91 +IV = 4e +CT = +AAD = 718df5447f84a8d57a08654dd716d447b92b0047 +Tag = f423151e54d0e809 +PT = + +Count = 6 +Key = 9580f7994f459c4f81b72ae182d08392 +IV = 7c +CT = +AAD = a1f277639870cd3f820bebf4ff94270e97aa9d44 +Tag = 673950d4d79e5647 +PT = + +Count = 7 +Key = 095d3fb3e1395dcc4085a0ad0529a8a3 +IV = a2 +CT = +AAD = 39d8da10b2f2d1755dd8f59c093f023e9ddc31ec +Tag = 72ce501e0c8fa710 +PT = + +Count = 8 +Key = f4b5a054d49f466686f6eda90a1643aa +IV = f1 +CT = +AAD = 3144bdbb624a67c4fc74252482bd5fb9a0e5b1c2 +Tag = d2c5294c56fb2ed6 +FAIL + +Count = 9 +Key = f497a9bed65bdb5e609e89b48929a614 +IV = ce +CT = +AAD = 9c9c01cf6440a3182a95d8a85cb0e03551cdc709 +Tag = 3ba91a216080084a +PT = + +Count = 10 +Key = 580feeb29be337bdf8ccf91b39e9b70d +IV = b7 +CT = +AAD = 42e4b599576a541338ad96c4dc74fa7cb3675645 +Tag = 70b11f95c9782c5b +FAIL + +Count = 11 +Key = 194bfedd6e463da557282a4fd20d221d +IV = 62 +CT = +AAD = e14e09edf64bb796ddc7f3eeac110604f279b60d +Tag = f1c9db363d6f62c2 +FAIL + +Count = 12 +Key = d8b4dbe8e796843658f9d9e1b5d94d36 +IV = d3 +CT = +AAD = 5d9ca5823764713faf0830caa2900b1bff7eda3c +Tag = fe7f1324f5c504f8 +FAIL + +Count = 13 +Key = b544a6cd96ffe658b7b5b71b54f4129c +IV = 05 +CT = +AAD = 83aa66e5ba17ae85bdde796b3c325454c153cb25 +Tag = 819c175a1b01a98a +FAIL + +Count = 14 +Key = f7190cb62c348507d0968863e0afb504 +IV = 4f +CT = +AAD = 2873a6f097af32c2756810057b6fbe78e9b2f479 +Tag = b83b483b3d1ecfca +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = a5d6584a6d3b8377ca388fa7b71e8fcc +IV = 9c +CT = +AAD = 5ced97ab164c12434b7b713fbbaa16acef770c0d +Tag = 0214d02b +PT = + +Count = 1 +Key = b51abd28eec01df045483a18f4d8a325 +IV = 3f +CT = +AAD = 3796e79d1406a7c6901ab8a3adc0c2893acd08a1 +Tag = a7abe086 +PT = + +Count = 2 +Key = 5acdd0d2039e574df2cc33e7c941318f +IV = ce +CT = +AAD = 6cb60ee7f01912f57455a740c2f7e731cda45232 +Tag = 0276d80f +FAIL + +Count = 3 +Key = 17556fc60bf5add1ca063c0d3af97b15 +IV = 53 +CT = +AAD = 24442fbba0b028694a90ac624017108f647468d5 +Tag = 54ea088c +PT = + +Count = 4 +Key = 8d7dcb3437cb2b87c4407a939dea4dfc +IV = 18 +CT = +AAD = bf057174286346e71b61eddff690367e6d2b921e +Tag = fefeb026 +FAIL + +Count = 5 +Key = 1e61d2bf033e32b32ebff72130a2a80b +IV = e6 +CT = +AAD = 0f634b76f3e8c1004f1fa34ea3bde1f8fa13944c +Tag = bb97d8cc +PT = + +Count = 6 +Key = bc08ef4b404fce67ec974b0ffdc7e093 +IV = 49 +CT = +AAD = 28202f177f53f6f63e784de57e00457b28d7d762 +Tag = a4b012f1 +PT = + +Count = 7 +Key = 6495511424c27bf312cd0fa965097c62 +IV = 28 +CT = +AAD = 3d99ed984b08a963adce2cbf7ca4d19ec16a5991 +Tag = ab4de9a2 +FAIL + +Count = 8 +Key = 6f452559e43ce253cf2c86b840e0f030 +IV = 58 +CT = +AAD = 83c324b9642184d8780670bdd07e292e3cc7f1e2 +Tag = 38e90f08 +PT = + +Count = 9 +Key = 17613f863e13177818a71ca00a43322d +IV = 29 +CT = +AAD = 42b4d650321554f1825b423426d13491ea7aa709 +Tag = 62cd1a52 +PT = + +Count = 10 +Key = 4e72755a2ace7ab7712e4850ae5353bf +IV = 04 +CT = +AAD = 05d63a859044539eca71fe11a4a0fa21056606b5 +Tag = 0cf6d1f2 +PT = + +Count = 11 +Key = 11d60c9f909e4c17c386d0edadd88f3c +IV = 2e +CT = +AAD = a5c78a6e34b4a510d9f01ea36e9facb07b0e2c45 +Tag = da2cdc4f +PT = + +Count = 12 +Key = eeb8ccad4fa29a2b6f597ecbc33d3d30 +IV = ac +CT = +AAD = 7c6ce76a06bc95c8fe584614fa177575b5d5e72a +Tag = f9934ac4 +PT = + +Count = 13 +Key = 9b25451c2879e90d93f1ee5d96cb55a6 +IV = aa +CT = +AAD = 399cba42816a2a10fdff0bba6b0eedee4f5515bc +Tag = 027182aa +FAIL + +Count = 14 +Key = f95c4cc455d0dd956e2b29b1ecbb85ab +IV = 25 +CT = +AAD = 48e0050bf51e3310a8d49ddeec60245f89058d6d +Tag = 7d59af72 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 1ae9740657325d31f434446cd9d97eef +IV = c8 +CT = +AAD = e6b2f6b3b1acf2e5e855b5382ab52428cfdc073c5efe006e30950b99b9d1683816837980620ce0f90059fbd79cb194e2 +Tag = 8297601f9b017c035c62d19a22e0e264 +FAIL + +Count = 1 +Key = bc84a257f56155bd785608ac8c24b276 +IV = ac +CT = +AAD = 748bf986e77405332f770405060d9469f2860afeb09443b3deca0763bcdc5d3fd3b5ea3dcb58fccf0760a0b28343debe +Tag = 95ff216d435ffd1a7c6b2da9881694b4 +FAIL + +Count = 2 +Key = 37c23257198d1230fbe1d9dc004afbb7 +IV = d7 +CT = +AAD = d207703ecfb76e479dc2834a2d7a0669da406113ac2bf1a583a6611d0e10d3e9779902e4db9670028d87fdad167ec360 +Tag = b0b637e647ac042ce14709130e83dd1e +PT = + +Count = 3 +Key = 86beba5f3cb8ad7100831891b11e270f +IV = 20 +CT = +AAD = 9e4803fa8b7610976810643b6617e23514785fc47f1b98ab821127ad14e07f9b6619d3ad60c1450e70e479b6c4a1bab5 +Tag = a05841b12a230bf7f543bbc9cf8150c8 +FAIL + +Count = 4 +Key = 0acd181f57b2f5f295fcb4f7e3e7c015 +IV = cc +CT = +AAD = e11495a665bc19496d3092201c82e8b82afd2b633731cb2d3901b05f8ab1fcf967749240439a46865cb40f43498efb81 +Tag = e3b77cff5b80a93d6b434cc5c7ddc8b1 +FAIL + +Count = 5 +Key = ece98f2b51e3d9fc7834a390b5c0b456 +IV = 3f +CT = +AAD = e1ec0cf06b2b40ccf6e09908a51da69cfebea3c31b3b0bf31109a68ce39f498a7178b665db318e1e20fced63edc20029 +Tag = 4eb747ff43b6e510cb3b1dcea3e0d5db +FAIL + +Count = 6 +Key = 8432485ef7266159dda311ce1bcd09e5 +IV = ed +CT = +AAD = 58ca5e7b0b0b6217deacc08f8a03687707df6517ac06c149f2d4e4475059640c941754492a660aa183881120cb46f448 +Tag = c3f04884b8f57fec6a998113861c5ba8 +FAIL + +Count = 7 +Key = f166e9fcc17b23ada7ce16448ebbfc86 +IV = 19 +CT = +AAD = 301b566314d759e1c4c689fcdf6690a1c91ce7e7f0acf6e5e9af03944df12a0a90d95441bc01aef35c663152ebd6c765 +Tag = 8aa452de37ac8208212e8ac28c8c3f2e +PT = + +Count = 8 +Key = e578c0e602b4f4a7c685a8d3ff239633 +IV = e2 +CT = +AAD = 8c94282071210b796e7b765f182e330a77d6de948c60cca77e9cff84c217c17a08becf8c996d814a52addd71206090ac +Tag = 7907777ea2621b8fb4333e25deeb18c0 +FAIL + +Count = 9 +Key = 937cb25cfbff7500de9ea7ece130c62d +IV = 8f +CT = +AAD = 9768d0cec341fc4daef3d99f1aaa75ff0df8f050a6bd3d62067bb73c472e11e66de0bf3f0aeaf436c56f1998d3d6d4f9 +Tag = 32b6ae53048baca0e1854945f9561f25 +PT = + +Count = 10 +Key = 34ff62e54d53fdf5334c3ceb88d6d163 +IV = 60 +CT = +AAD = 8c420407e2018b5a8facdc029a4e1075e774cca1e2dbcbde9725944ea987c5d3664e8b9f4c3a1abe5fc2c8af9b726ea5 +Tag = 7933d03bd6fbfcbe0eb942029bf28537 +FAIL + +Count = 11 +Key = e6d04a9d2eae2d783d8a9c937a171c93 +IV = 9e +CT = +AAD = fbee0c095f6ddaf64384c30cbb326cb484b109075d22fe4c60eb23575a8c60403fc18664da60cfe95e1d143b4b0cd604 +Tag = f36f6fb4079a834f662c788282be1b22 +PT = + +Count = 12 +Key = 45dd326a6f849e7fcf2a320475c1847d +IV = 1b +CT = +AAD = c0a497520c0c2bb1b5816bf31592230f77db5e5fd713c3e738f0c2f273431fc0e9a7f93a2091b30b86b93e00cf1b4c0d +Tag = 35434ab5c5bfac8a8e131d8c221e11e8 +PT = + +Count = 13 +Key = 2bc2bc03ed5e134cc6632facfeaef82b +IV = d7 +CT = +AAD = 1b592c104757b85cb987f0043c0acff6924b3e7ddeac52b46f57d855e848208b043b239c38de5c463bc19fd4fbbdf22b +Tag = 6b9a27e3a854f30db0e42f93040aa159 +PT = + +Count = 14 +Key = 03e17a1b71d43b6cc84b343e7e855721 +IV = f7 +CT = +AAD = 5f7430ed964cf4269722cf42595aacd9df6cb7cc52b56fc1e74f58444ab51c60c9c546b5465826e729e260452e1b9a38 +Tag = 7532afa628bdb877b7bd3ce2be539af1 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = f5621872717364137ed143360e94650d +IV = 30 +CT = +AAD = 70ecdf16991fd598b55cde6879772d42473d287ca60f5a6cee3f5e171747d0467965de0743f6c996f105106504c57f9c +Tag = a59f3400eb53c25c0cef56e2d3615b +PT = + +Count = 1 +Key = b803856e1115a04f725387498d4cef8d +IV = e3 +CT = +AAD = 3b1b775b5effe4a2ece5ec35d98089e021ee6f50569fd7d50d0de93637a9b6a88f962053816fc767404dceb3e7842ed6 +Tag = 759c4ae37d0ad8a8eb677332197d7d +FAIL + +Count = 2 +Key = a1f45db6a8c048f60b36c2154d32e78b +IV = b7 +CT = +AAD = 4729f9c8223723af34f064f67ca5e66e8a7a672c2378e613f456c2b866ed6e5178bb1eeb555c9bd35c1abda6fda9b17f +Tag = 2bb285495d060e807ac7ee6ad2a1c1 +PT = + +Count = 3 +Key = a32b2e8068876e55d7ba551a2a49724b +IV = 31 +CT = +AAD = fda316a6c6306dc5d73657609196797d334d281b12af6e0f8c7d518a694de441f4d4f5401444a4ba3dd905379acb5c79 +Tag = 10ffa89b3375e8991417e3d23338df +PT = + +Count = 4 +Key = 7092b9572dbddb29bf728ef589584b77 +IV = c7 +CT = +AAD = c3e79344cd54ce25a563dcaf94440c99902af9d44e5f9fa4a08f805e8c37ea267343c09a5b6e23ab3cf7b3ba1c515a47 +Tag = aeadac9de33874164d2fafab53378a +PT = + +Count = 5 +Key = b8fbaeeda9926f83fe68a9924c6108f3 +IV = ba +CT = +AAD = 7a341f945a799277a9a87587a0545b943fb4ebfb6a02fb27ffdc6121fa7098fe4ccbf23191bf2197157fd5500da304fe +Tag = b9fd7507a5e5de7be2171b89f2ea84 +PT = + +Count = 6 +Key = a1b7b3eadca0493daec9ac0975dcc2a3 +IV = eb +CT = +AAD = a337331b4459a0a469d8549b5ebc680bd9c45898cd71728442358494e9230a05dfc99783e41107886e0a86fb23002c33 +Tag = 284262e8b63f5a3c6b1150fe15e0e6 +FAIL + +Count = 7 +Key = 29b91d54d93dcf14b036e490f241982d +IV = dc +CT = +AAD = 4e33cfdbd0c4681d031370fae31aacacfc72a2c6e3f1d7c694d84f27251be28cc06f1eb7ccf8ba31676b21e03f374b12 +Tag = 419b0c20ea246155fa5d6bc371d28a +FAIL + +Count = 8 +Key = ffb28538d50f8a59315a65a58715e626 +IV = 9f +CT = +AAD = 74cc98491e6973b1f5a1c14bae0e5d250fe1601112b68792e3deca7da882520231af4e3a7fc82ad1e42d39239a42a07d +Tag = b1cb1f21e74058b8b8eec3284bf1cd +FAIL + +Count = 9 +Key = 76ea32737b7e6c21cf2bd56709112dde +IV = 67 +CT = +AAD = 18d15a06e8de29ce60303985db5550ab0c09c95a2746437e2abe03fda94815382c838255ac166f2bf25e28bad9c2b97d +Tag = b308adc470229a152ef513917918cb +PT = + +Count = 10 +Key = 0226da29e8230a66f1530da6c6e25d43 +IV = 0d +CT = +AAD = 6cb8d8c13b27258436a50167a2f7bbec67fa80e092bfbb8b0b8dc2468c867bcedc52df60a4454cd1eb2142438512567f +Tag = 13021e1e2fb57f2d09a9365634335a +FAIL + +Count = 11 +Key = 5ad1e441882464d7d29dc16ff7c999bc +IV = f8 +CT = +AAD = b0c0f1bfef5759a2a5b8d93e3ad3fa7e9c0dad392f8365da60c4a65fe1894153f5135c0e820800d5a4d1fb10d47ecc4f +Tag = 44e3d5b625d8c47146c237ceec30b9 +PT = + +Count = 12 +Key = 5349cc0125be422c957fe2d26049b083 +IV = d0 +CT = +AAD = feb0cb6dbd04c69a41d395420e520e43f68b0341b05b13706d18480dda5e2251a7568fe2ae3516fc95dc889828a140ee +Tag = fad0dbba9c4425c56a3564312fb153 +FAIL + +Count = 13 +Key = 0aab3ce20b23fb21347c0577107f33b8 +IV = f8 +CT = +AAD = 063c02a65a64ce50f4b16a7eecfddfd08bcadefc2f58a6ac1f203963be6e542c0a4d7c8a66b34d0024fee61837c3ac8a +Tag = 84f849c5664ba66035f089333214ca +FAIL + +Count = 14 +Key = 1e03b8df38f8e65144fe22811baa2158 +IV = 3d +CT = +AAD = 271a21201be135e1e5816f5311cd8080df4e1fb5c44d528efc39067bb2ef7d819cb14eef965c22d2a8da631affb41b3d +Tag = 6511efeee6349e260aeb55596a7a41 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 5ba82b1a10048dcc43f7bdc711acaf3b +IV = 32 +CT = +AAD = f49a8c1de9bfc251bf6ff60b5161152f705dd811142c7ca326ee6490ffaebe5e5a7721d9eb60ae353487a84402687c89 +Tag = e7dd3bd2536d6eed2c8e97c6a5e1 +FAIL + +Count = 1 +Key = e5c217f75d9bfc345584a7d4be507c2b +IV = 1f +CT = +AAD = c82c97f0b3e09e1622ab1839ea084a92f49c269ca63874e19d4957dce947c0966c8b6241d2c1cc8553323bb43a3b958f +Tag = c00fa2e08c509b11add2550a4b2b +PT = + +Count = 2 +Key = 21c2622b15d348b9e5e887471d6cf08c +IV = 6b +CT = +AAD = 9ec3e9e0f4a624fe85f006081c5773a4fa70805a6de529b83908d5312256bebff70eff4aa4d3693bdf6eb89066967b1d +Tag = ab596576270b972aa0340789e032 +FAIL + +Count = 3 +Key = 73b82da4799a6dfd09772086006416f3 +IV = 66 +CT = +AAD = f3785a3798659c903efbd91953accb9d58c4bbe7fa14d0c2c1af503e4906b9d5972b34f9ac1dcd380301666e8f2a5d56 +Tag = fc5fa9ea18d7dbd88249d75bb716 +PT = + +Count = 4 +Key = 433bbe2825bf6551d39fd6bd93355cef +IV = 8f +CT = +AAD = 361b497cf130f95b35dae218254e02d7a5f15866d4d49e8c15c14c9de71d64f2a5743dec893dc93beb1d4235fd8b216c +Tag = 7d804d915feb24ae5a05a8d35940 +PT = + +Count = 5 +Key = 4036672cc68c1f28161b3f2a56a74e33 +IV = e0 +CT = +AAD = fb4e1d562eb7446c6961a08d7c57a7fa520d0aa8c0c7c8363ae3a93a4c4323b3b3dc4bf142c2996dfe2277d2044ddd95 +Tag = 9c70e056252337b670cf71410268 +PT = + +Count = 6 +Key = f88e38bdab5f26121f7707b14eda1a1b +IV = c7 +CT = +AAD = 6518f1751be9c26f6d56bb905db4703f14974c7fa0fb639b3b3dee740463e63901fc2b48bac5279be36ff0ec3e56a11e +Tag = 8a82a5957436c787988a5b8a688a +PT = + +Count = 7 +Key = c81b06ce3e54e4745593fed1ff1b7ea7 +IV = 31 +CT = +AAD = 1b399f617f83f6dc1963ad186e2c72fea36c9ebd61e0879a0e72e3cd5f0e460715868691c336c25a4e381c41139b3022 +Tag = 1382e7f4654321b01146bfdae8c8 +FAIL + +Count = 8 +Key = 3125769001aaf252dfe046b582eb235d +IV = 1b +CT = +AAD = 95d4caa8714b0b3e228adaa0dec79bccc0514840aee961866b271ef5db6cc4cdf46e366c3bca3b7e626fcc3e960b62d4 +Tag = 6aa7f1aeeda6a5b201cfd5a4fa69 +PT = + +Count = 9 +Key = f90c7e301f5abf6ab73902db5ce98fe9 +IV = c9 +CT = +AAD = c41319433997bee0f956cfd839f4b6b5bb3f44cafdf8650e112740bd58a0b673fa1a7d3eae4905e4d221ec5040ffa1da +Tag = 68c5f02fafac3db13d0777c20396 +FAIL + +Count = 10 +Key = 2c9bbd1221df6ce5daca85dc232e6ecd +IV = c7 +CT = +AAD = c7397f6c6da68a2a2872d7277ca9a4c2e59e5e655541d47da839ef2e1a60beb552f7f6bd7979e49d7901ef69da893964 +Tag = 600137925a94c99ee3ee46f078ac +PT = + +Count = 11 +Key = 54e6dd3ad7aa980c86d14d9753da3e3e +IV = 63 +CT = +AAD = 850c4ca6f4c9014092a77f77e1d35adfda5c12091bb980a6864342b493066c86e24f03366cc0f7dc18e1ec143645a653 +Tag = 0f7c88697b20c770603402d5aeb6 +FAIL + +Count = 12 +Key = 8923c49aaf79f3ef42d6c7de5296fa97 +IV = 12 +CT = +AAD = aca36d2b4aa62fb40b0b0ad584f5ae047b2a1a71fed5e1458e86cae6a707b166f856817cbccdadf27c7e5c1bad6bb4a2 +Tag = 55fb4f88a49b06bb6fe9308251e6 +PT = + +Count = 13 +Key = 3676f4311a04033450a76b7154a893e3 +IV = 21 +CT = +AAD = 6bf6068006607178e287f00292e4f77f49efe97bc783d31cd3038d7c830659269983da9f249d383373e56bceb654d096 +Tag = f7d0f2f149df25973495dcbe8170 +FAIL + +Count = 14 +Key = fcf76443dbaec401c9f997bbd0a025c2 +IV = dd +CT = +AAD = 043739f8b59a9ddfa0a9269ec70fe52d6c334aba6dbe56a0b32dda795ee4aea93e5241e2f7f8de483b4fde7ca5758eae +Tag = 0038c081f338e45aa404f63f27d8 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = b5e90354d2d3102deb18429793b484c9 +IV = 35 +CT = +AAD = c05e04f6927a9338e49afc3545ccda72e7735a079e08108a34af3ce7c4ce6f4d1047f390f62aab11c82a369f1459a0f9 +Tag = 6fa710d395944118c02728bbb8 +PT = + +Count = 1 +Key = 03b6e3289479fad1e91a34c8e8b46553 +IV = 0c +CT = +AAD = 726c20b9003ba3d7e0d755cc2928fc3b2739233aa2582cf05717e54564d4df82eaff7183031634a4d9255ee86a355a5b +Tag = 77c4c1dc010c110c7e80bde923 +PT = + +Count = 2 +Key = 251a97a3baef678bb668ae48441882c0 +IV = 46 +CT = +AAD = e1ebb3fb3e6af1e445f700cc43c8ed90ab254353eba52b0bbb5b23e06c84d0102b2fb4c5081a3c541d822920ed666b87 +Tag = f3af64412948ed2b8db0135e65 +FAIL + +Count = 3 +Key = f238997dffdb6f294b5dca94da442a81 +IV = b0 +CT = +AAD = 378dacdea9b1f843b1988981f0ecac667baeab6e66e815297f681dabe5a89ab8da0420753aa49999e28f3c7c3c7c8331 +Tag = c509e97f432eb11ac4f3645b10 +FAIL + +Count = 4 +Key = b8ab0bce62f42f9bebd7cf1843ae0114 +IV = c3 +CT = +AAD = 8b87df732a3ca4676342823a7643cc9c52c28cb24ec11182252e29ae72d0401b4b23e107152654edb6c056489ee526a4 +Tag = 8baf9533d021c0a2f14f29c439 +PT = + +Count = 5 +Key = 1ff9692bada055df67886d278b80e665 +IV = c0 +CT = +AAD = 1dac61ca7dd9e66394f103604062a84c27d44daff2156b4cd120386bbe6492a5273b138c60b93a877c37a7b961748b12 +Tag = 23956842fcbb7ab5f1fc785a75 +FAIL + +Count = 6 +Key = 4833a10c7b165470529f12b230cda62d +IV = bc +CT = +AAD = 7558dcaf2078ac08daf7cb1ceeff566cc4c9f2374b927826452e022d9b81e05c218678c8b66d3a9c36d7dd98c008c6df +Tag = e39358e09a848d53b76bcd44cf +PT = + +Count = 7 +Key = 098a2a75bb2e0ce2e2c00cfcdbac4705 +IV = ac +CT = +AAD = 4c4832d70bb534725cd297b293a23a7d34bf353e7ba2ab8e16f0d6bdd75adda13f56bec3ce04504f877988b3900cf3d1 +Tag = ab03c325af6eeb4307c290c045 +FAIL + +Count = 8 +Key = 0bbb3768f0a4d2e41057d8636ea73cf4 +IV = c7 +CT = +AAD = 7cd9ea726708a1f3ae6ba752923a07fc4ffe7e1ff7d9b4154b60786cc680732d67b88523f377dd7e2d1a02de665e55d2 +Tag = 88f09da2b8e3fae7b1a4b77c8f +FAIL + +Count = 9 +Key = a4ce452cd221dbfd714754b91b4a3a3a +IV = 61 +CT = +AAD = d7f88228f17023ca269fc545aba3a0ab62fe8f637ee66aad9d013b448711cd60cca6931ec465baa5c661f9094d59e2b6 +Tag = c7415142a268af866510100e1e +FAIL + +Count = 10 +Key = f454a9e72f31db93d708a5552d63f411 +IV = 93 +CT = +AAD = d4064805a4059d2c3f1c0ed4f74b9920eae33ae5f64333efac3af6023d098fb49b9f57c3f2df97d8caad9abdbbfb932d +Tag = fcadbece0004d5d4e51608c818 +FAIL + +Count = 11 +Key = 6ee52aafa27b54d048611d4bd4963e29 +IV = a9 +CT = +AAD = d69a25321720c96e93c2bad10add0ea03679c86f88051cfae265f2adeff94befbc622de110c391f93b2eb395857df7ad +Tag = 2a328540a05b44bd42b7858918 +FAIL + +Count = 12 +Key = c033213eab8503bdb4024d302bcf0262 +IV = 26 +CT = +AAD = 097dd4a95ca8ea87510303650ceb5c86e0f7b0aa1f3761a4f2dc812e4b306bea8a86795eec64acbca933cde07d6ceae3 +Tag = 043b899c8516d8ef5d1bf27cde +PT = + +Count = 13 +Key = 8f8a5e2626fb8053816626db6ef55020 +IV = eb +CT = +AAD = bffbdf74e8cce75134b8ea8af87c7c2cbb6722cda588a05c234b9fce1950e07306b5ff0a25167d0742479a65c6d232f7 +Tag = b6d966de950abfe3d2462226d1 +PT = + +Count = 14 +Key = 0de0af49eddec8370dc2e5118d476cd5 +IV = bd +CT = +AAD = b44f5e84678c70a746f7fd819363d07858b376a95e0f84ebd23353165990c88eb48c94dd8fa4965aa0dcf6beb8db52cd +Tag = ac54dcc1df1c43da55da058e44 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 285c79627b793774226e2b5ee838f4d3 +IV = aa +CT = +AAD = e66a2e880668ae2e8a38efb57d30b901b01c4dc36ae89a58e1d1121c0ec40a28580f156433b5e00a9ad8912decd754bc +Tag = 518f97a6213e703d9aa3f116 +PT = + +Count = 1 +Key = 10ce00d7567d2910e46ab63f3a3440b5 +IV = 54 +CT = +AAD = 1709520b379c37d502b9d5140195c226ce0520feb041506765d8067a490eec43881dd0751c2e8846a15f9d736b592e59 +Tag = a12ee219e00ffef70c71d3e5 +FAIL + +Count = 2 +Key = 85d59599dfa05e0beccdb4128e8bf501 +IV = fa +CT = +AAD = a5857d1ba6eecabf99906e897eee2f1b6a1134eca95d8b1b108d5e92bf8a4924a3ba6368f39396aeb02e4da490e13d6f +Tag = eaf469724313d27c460750ac +FAIL + +Count = 3 +Key = 96338a070d475133435bc4b51ec0ad8d +IV = c9 +CT = +AAD = 8fb280b11548eb15d43bbf0da4f782367e4a0fd0e2c0d0c39fc18aa1816b66eb63baa228f64e4708f6b7132b5ebc2aa9 +Tag = a98a52ec17e08fbdf54effde +FAIL + +Count = 4 +Key = dd6d7a68afc90ae33458f0db327b7d3a +IV = c5 +CT = +AAD = 9f6cf998f2b66cb3a175bc389b20571a3ceb123004ccfc36f50d9f97049820c4066fc163560cb18bb3b5d9ae8fd5e062 +Tag = dc547d8e370a6bc995a42940 +FAIL + +Count = 5 +Key = 9a4b419b094b0ef4a5f2e4fa51b50778 +IV = 47 +CT = +AAD = 11dafa3f9b3526fa425cc141a4c4d6b3578113b29bb68eb30952a3b8a1afa11ed46ffff5eedf09667414b90bd1d7a791 +Tag = 3535b28578ca3e2a7b882159 +FAIL + +Count = 6 +Key = 74b063af189df358cec296e884160d3b +IV = 66 +CT = +AAD = d4ca821a7310260d9f2e3ae3d823bb8d9f44e2d4b1adaa50abf64f2d4957d672207c65e5b6225edba3733424463c7864 +Tag = a384dc83c80dfda7e09d1197 +FAIL + +Count = 7 +Key = db5b2f017f393f12471a9b58ce13ff5d +IV = 45 +CT = +AAD = b9d2a9e91ab1dd18b027a22ca6666aed509b68a3692c96aa8570166fbf91c4cd69cdf59a6f01930400f745f07f848fa8 +Tag = e95871be3d206458afa1de25 +PT = + +Count = 8 +Key = 0eb366e1a3e82bd33aabcd6b93231a17 +IV = 9e +CT = +AAD = c48993ed0db8dee947646991f4bd1de955df7310b5160b83971613585714d36f76b01ca9b9c7bb27705ed70293ddad4b +Tag = 6c8a51515044073c77458a78 +PT = + +Count = 9 +Key = 789679305d6dd50adc7bc7e485e23214 +IV = 51 +CT = +AAD = d34adb92d33e89865e695457d9492bf18861f627696c3f347ae1cacb6f97b0e1ea0db0c5af3a2549e1525c2590c33993 +Tag = ef0d40e4bbea3b2fc42d4940 +FAIL + +Count = 10 +Key = d74fd2bd3a8bc7dec51ef764c871b17f +IV = 78 +CT = +AAD = 450fc55a534b85ceb1e3a9be8f1cbdc133fd29c1509c9884e4aaf0faf9f9ff02408b6ff9887ae38a76cce2e758698d7f +Tag = b4e45ba34efacf16bba68344 +PT = + +Count = 11 +Key = 79704530153d3b34d7c1c34bd393b7af +IV = 44 +CT = +AAD = 3103833f99c9607dc0559fddb50516b9a5feef373f7bfc7709c3caa922ad046d9adcd988533abeb0f5f2507b0244f474 +Tag = 55ac1078866a55e13d03cb9c +FAIL + +Count = 12 +Key = 3a81672745649977ddd10176b6587af4 +IV = 37 +CT = +AAD = 407b65bb4408bb0e33efa1cde006c85c6d703df02fcf93aa0729fe9d637e3995087ed4e1e6f6a2aed97d633bdb91578e +Tag = 4da4fd155e6e1f22889905c2 +FAIL + +Count = 13 +Key = 7b989cb097d020f662611e1e8c6de3ec +IV = 31 +CT = +AAD = b3722b650dc6c37a912449fdf43199337163d04ccfb0670a465a7f1b9c0e6934c6eb79648b1ff2e20bd34ad7c6006f94 +Tag = 608ae37b090df53f396c8b30 +FAIL + +Count = 14 +Key = f1ccac88b1540c82e59a04ac8b6ccc9c +IV = 13 +CT = +AAD = 9c4c153a5f3ea243e87e8c045bcc86bccf1af5e2429993dfc859ae25399132d2562f339133cb9b41c1f3569a11190921 +Tag = 9d2a0cfc3e078ec195764e50 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = f20ac1806e0cfa06187a5ac282279c02 +IV = 8a +CT = +AAD = ed876b76c65e263ce500acf9f2c1c8f6768be0964066a62db14510376980e43d51c71c495369ff23ba496ff0ea77e692 +Tag = b2fad152424bf12c +PT = + +Count = 1 +Key = 4a46c9e973befac41f20112c402fc87b +IV = 48 +CT = +AAD = 4dbae98f9ec0a979d5ab60f6ccaad2f800affa967089d3e33155da5e7ca241da76b1b3006ac1e3ce768da95b73d11e5e +Tag = 1053ce4a5bc5c286 +PT = + +Count = 2 +Key = db8fb5cf16e3b5da6543ab8ec3a8ae9c +IV = ed +CT = +AAD = f356836bc8b2baa75bfa1d14c2c22abb9fa5afcaa74b8d04c0aa0833cbe5dd2ba83a3990a0ecb7bcf377ff256935372c +Tag = 0043c6b632ed6cd2 +FAIL + +Count = 3 +Key = 29b0dd3ecfb2075e2acee0bf847cf3ef +IV = 05 +CT = +AAD = 73fe61d8f70472fecd22e0cc3aaf758be364967f751ee20136339c8426f7ef3200a0bb71a884e3cb765dd7db9c2fe0fe +Tag = 24fbc2f590e28795 +FAIL + +Count = 4 +Key = 4c627ef2a095214bcc64b4bc61c63dff +IV = f0 +CT = +AAD = 47dd2f5963fae9a4fb51cae1a6b32f4841e0fd396207bfab118001086593d790b1c48a394c73deb476c97cb558a096e5 +Tag = 9a0ffca947d8ae4f +PT = + +Count = 5 +Key = 0ea20b02315f2d112ccbaee3972b0b58 +IV = ac +CT = +AAD = 7355420de7983d11919c46f7e91f1a8b84453d4127811c79705cdbe427dc7128caa9119b98578bd29806248a77b72888 +Tag = 07ca273487fa3812 +PT = + +Count = 6 +Key = 13c93dda52948805fbf44e4e3d76eb20 +IV = fc +CT = +AAD = 2291db9f885677a6bdb616df7cede6e6ae21cbee4e7b5514cc139b6a339ad040564d316440ebd15622dffbd2a354dfdf +Tag = 16442b6cd11013e2 +PT = + +Count = 7 +Key = d688e187a4b40222d289f2e99f379afc +IV = d1 +CT = +AAD = 45ced02179cfe758644a3d8412cc188258124328931f18ad1f6c85a585cea283565acfc125aa8ffd1eee7bdf0d326daf +Tag = 98e7e71e88a0da6f +PT = + +Count = 8 +Key = a9e2704a60fdfff7e84b7486d09f3adc +IV = 55 +CT = +AAD = a03dae0afc26ad2f56e90236539d51d10dd7602dd61cde671ed56bde9f8c3946e276db331b11c4e6d12db9cfce6c9ea8 +Tag = 1499e68a64b1f448 +PT = + +Count = 9 +Key = 25177786cc2e424c4f93850c991da672 +IV = be +CT = +AAD = 513217498fcad28d16802794024c3f3ab71c15c876c16b8582b9d96240f2167d96e15c727ba2380ecc790bab3c643f59 +Tag = f07a583b4bd5d180 +FAIL + +Count = 10 +Key = 4a1610bcffab9cddb93970c9ab78e324 +IV = 1f +CT = +AAD = f26e0e36d2d8688c21175f7224a62a949b111a4c21aecc297293261472bcdc729056de390dac3068c42f084be100b752 +Tag = 976c18a902e563dd +FAIL + +Count = 11 +Key = a4754768f17134fbd5ad62ff96654a75 +IV = c7 +CT = +AAD = 3658b5cd920abfa3a6e8e3793dd795770fe6fd112f7495a1a20e180e6bd755290e33d65b33f7f643c2f612cc5408bf7f +Tag = 53a5a00b2e0f22e5 +FAIL + +Count = 12 +Key = 2b789b5f09bcf9e63b79e131afdf356a +IV = 43 +CT = +AAD = 82f30d28e99850ce328f1875495da4de23d54a8f454c2b74391e1048213d0084e62f9e2f346515ba711310e3acd1b0e5 +Tag = e1e0dd8ea669903e +FAIL + +Count = 13 +Key = dc836dff79685f0001b1233ce3caf5f0 +IV = 16 +CT = +AAD = 76f7fdf327e748011819db7cf4831c7a9c564b4a771df3f1440ed8b4321bb88afe5ce19129796c414a36755f7131bc66 +Tag = a5dbb533996b6969 +FAIL + +Count = 14 +Key = 96dc38c3d08ade42ab6259e45780d2f4 +IV = 2a +CT = +AAD = db78eae89a9e20a8cd80060e662df754be20953b6db8a6c173684b2b91cfc27ff215350e34d2f8d2c058b11d8b28ee7a +Tag = bc550ad2a7168cf7 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 65dbc9315ced8148d363827e4e6dc68c +IV = 92 +CT = +AAD = 816e531d4c1dc53b20381dc8537efa7daef8c8abf9cda3bb3f64797ebb72ce155050b7e65fb1c0a237f8f1f31174a50d +Tag = 7422b30d +FAIL + +Count = 1 +Key = eebbc95d2a5b2e75727401eedc9570f5 +IV = f9 +CT = +AAD = b901904429f61d03aeb198a30b4d990b4cc9dd01347161b90c6e456702786531298d655477582670b4de68f780d91b89 +Tag = b06d6506 +FAIL + +Count = 2 +Key = b84e7a645ba1445c0242837645c1e4a0 +IV = 03 +CT = +AAD = 8e068cfa0189ad2164e7960dddae05454596f0c162db33bb960617171c2fe2708e8ee1f7655fecd9755e8ffb402c92b1 +Tag = 99007d88 +PT = + +Count = 3 +Key = 9cfa2e6ce54dea3696cb47f6505d25fb +IV = 5e +CT = +AAD = 00314420ca283111847ac6f2a1b4f71d76ecf9b4f0da9fafe078393b0279785ec0773e1110d193eb3d910443cc6867fd +Tag = 2dd51875 +PT = + +Count = 4 +Key = 78a142f120669819a7c2027805973c2e +IV = 02 +CT = +AAD = 721f03a6bf0c0f3da25e9710f1e6c99bfa41d6bf790a6c636fe04ca3d8769fde5cd980800e31e086e6ec3bdc5ddb0a8c +Tag = d0a2c857 +FAIL + +Count = 5 +Key = 2a6f258f80685ca8ecf02aa1a89019fd +IV = bb +CT = +AAD = c17e18fb7128d2d07e5f49f79b3efce2e5b57bd4bee7ccafe378ecd899d3705603aab247380fb65315eae0f84a092a28 +Tag = c3a07a7d +FAIL + +Count = 6 +Key = 36c9b60db7d9f27b92fc8d6603fa2e3a +IV = 63 +CT = +AAD = 771b38610319814a3f80303d8e788e945f7ce6c27a04707cc6c5deb6a1cae1013be68817b5738661784d65eb7544812e +Tag = 24eb90ef +PT = + +Count = 7 +Key = a9a79e29eeb758c94014a18c8c26b660 +IV = 69 +CT = +AAD = 596b3246b30f5b8bdcf24e1a9ba7d6efdea4697fdc447e20bdecd6702b433a1d6f3baff7c69a1521c7aa5d6a9b9677f6 +Tag = 66c41caf +FAIL + +Count = 8 +Key = ba55c2962b30c2d6bb2c66d5ce75207a +IV = e9 +CT = +AAD = ea5bd09169ba237976a95c1914a699aae58de6cb52847df97e425144d27232578cd7df534542bc8a6ce252fe7d3c5299 +Tag = 41da6e77 +PT = + +Count = 9 +Key = 860711c2b1e0926569d0d3dbcf550cfb +IV = bb +CT = +AAD = ee97d85579614303ae62ed8af0c71871a34aa7f0f8f708dea7687895e8d4f5013edadaa185ae4fed54eae102fa986a63 +Tag = 5d7dcef4 +PT = + +Count = 10 +Key = f7d46075f29f7b8e3850110660b9c750 +IV = d5 +CT = +AAD = 3e36dcff9e03d2052294d0a9c72b74687b3c2f04054b4d516681e2c95d22ac1a7138ae0534993cdb88b3c1d915d741ae +Tag = 83917d2e +PT = + +Count = 11 +Key = 817d23a06c74ebd6b9e9d3e75ff69065 +IV = 77 +CT = +AAD = 99ce547b7229e4b201b7afefc57c2bb494df52cbce9d6e8bc9c9313d7ed7d9553b567616554e2d65994c609d6668e83a +Tag = ebf45900 +PT = + +Count = 12 +Key = 90d9bca20f43e474c5ce3f5bb4b61ffa +IV = 23 +CT = +AAD = b34283963cb7ce457d124e184b0f35aa58e94a96d46d357ee87159c8da9e0106b7d06293f73380ec7421d24478fcbd3b +Tag = 585ac00a +FAIL + +Count = 13 +Key = 10f3686c78a7775b2f0b56ea5d9de828 +IV = 31 +CT = +AAD = 3e3a870088f9d44ae39c90fe473f4da03880793f1e5acaf17a7054375c6d1cec6ff44d445c247c2c85066df9ad556218 +Tag = 00a95c61 +FAIL + +Count = 14 +Key = b78bbbf07ddda787f1dcafca68065c4d +IV = f0 +CT = +AAD = 0e64fc22c23dbdb70599ff15ff8f9911b1e37c6a04066e5ff5f0ab7960be9cab076c4804cc36e4a37c12b46646fec688 +Tag = 0d38b1eb +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = e2e24d1695984b347a072571375a7a5e +IV = 43 +CT = +AAD = 85cc8ad50624197287c13172a8bb167160c876006f6178dc25a2a8749f4e05856705dc8a6d2059596b6faa32c6d3172fe4dfceef34d07a0751ad040d30fcbd9aa359902369fa5c2621b1b6285b7c9cc8ff8d27a73af812fe57cc +Tag = 24605e8cc326b3b49691f9f15b7520cf +PT = + +Count = 1 +Key = 2636dc632e930e452abd996c4a1c471f +IV = fc +CT = +AAD = fa25590c4d98ae38743e37adf3883fdb97f5c307cfc694009d24465fc68acf5a2fb479d89a3bf5177b6e0c0021468623ec682ea067c15f65a3bea3d82b97bca083924478a92c69a9fa741079e660831cb4e55aa7b34c206ce643 +Tag = 8769fb9968c35b25235ab44149da88ba +PT = + +Count = 2 +Key = 22fa7f880a9cba8b2e4842502cb06b09 +IV = c0 +CT = +AAD = bad2f790fe8a6bb6eac0a0795f5d783b6060912414dce383f12a5f24b06eaba5b7d6acd4a65f50f4c1a03b986cbbdefe893909eee6b80e9434a70f56e17ec3c368c5ccf4ec5979622e6941f2a5c6b6b5ddf76be1f4f96e6b3b63 +Tag = 01059abb0e9f6f6347de609169aad741 +PT = + +Count = 3 +Key = af6c78986a3e6bf49b387baca304a8ad +IV = 5c +CT = +AAD = 2e3293c13d588d9d55a2ec858012846a0afdb33b0243b07f5aa73fd3205e43db48d9bb861346d511db459c2bc3fd99d4c1822fb667aed6207d848d1cf6b79d3ccf54e2e83e03be14cd02ff39cce3f577414e3030027283050dcd +Tag = e2b6e2ce205818af8a0eb504c9851876 +PT = + +Count = 4 +Key = 3105407925a55750f2ba1d8745cfdde2 +IV = eb +CT = +AAD = f3082b1be6f72cf788654471795aa0fa01fec2a3e5907e2bb314266cdff8330d8d7c8324da811a335b36931bf3c2e2547513d4e18725c8eb24307bf9d93732c4391c1a7bec4351bea30486deef01d47512984621ae8036aad97a +Tag = 8966bbffe175e5874ea28251fdf4b51a +PT = + +Count = 5 +Key = 23a9154bcfb8c8153628f0f3ae097b31 +IV = 1f +CT = +AAD = 0f18910f8645dae1e6cf8317b037b0b55195c1518b368574d0726e7c397cb724c90e1faff11af9f8f4de19cf65e2ebdc98821d6ca517141ae65d4da02469e604776e688efca6e6f493eed3a1218a3864552aa3c4ee569e7e28ec +Tag = 164da913f61fe8650c788aec2e22731f +FAIL + +Count = 6 +Key = f994c0d624b52e2797add1b23a9e286b +IV = 44 +CT = +AAD = 462a7b36598a3fb7476adb17ceba8ba80575b3b833ea2f77f1c519168d7039f87080af14d05c5b4452cb0a0588cb6b74ad2b6b804f57ad4b1d76120ca2bac0a03c8f3b013960565691286b8d75795edffb3f8b7040bf60cb1676 +Tag = b11e98073a0781637a2d5b93167448e2 +FAIL + +Count = 7 +Key = de39500c85a6a792d628bd3762f7804c +IV = 1a +CT = +AAD = b7bfc560fc4674445f08bd00d45dac7285a265a0af9733a21e64c25cb9a908cc5183df5282faffcbbf8783632fdb1441b27da2d7e0ea4e781018a8fbb2989735a98bc36ae8af50cb854b2976274ed1739310e614579fa4a15f65 +Tag = e6b9ce3feabbcd850e117952b71a9303 +FAIL + +Count = 8 +Key = a11970ee87def09ea202ce36b7dd9461 +IV = 3c +CT = +AAD = 8f56d3ddc39dbb67e3a5124eddf36868d65b70aceb8c0a670afbfc5159f4bdb0a06ea531083dfadd4d882ba9c5923c59777136c79f91c09f684328abd656f60ab61f6c09a28969aeab7adab856cf020dbf70076a82cce3b23fa5 +Tag = 1223368740daed707aee9ae0397da4e5 +PT = + +Count = 9 +Key = 06a4c12e67f8b0fe3aeec0648111293e +IV = 1c +CT = +AAD = fdc141aa02ff488fa821df4979792ad6bee9006b6eb8785e2cddc85ebac8cd9e60bcb0b407436cc7ad671e0f456713a2f4ac21b815ef661e9281146adf12b8f49c684d660f3c7704bbdc8a55e7b01b66d2ee24db4f35da229481 +Tag = ef284f0d2d79d438d5e68a0d39900734 +FAIL + +Count = 10 +Key = ae999c2f7cb1e5a614f5bd680bed2eeb +IV = 65 +CT = +AAD = 0162619304596173b1da66f9bb6c13cd55336ec23ec877bddeefecb977a0047d83d96717992e3f69c50864b59628d00c234ef4583f41f1f1fa2a2b49d5bdf827be2db9d902527161200e2b98943aae5eb35981e871c8fc5d853a +Tag = d371de207cc3de8e65122d3be6ad6860 +FAIL + +Count = 11 +Key = 64fdd370bb67f14a65efaccb1581598b +IV = 1a +CT = +AAD = 223490ba602811a01a7ac875efa4b4e55bd3f4cd57fdbb897bec98520344a316a1fa5b032a8d413f5897f4fc5e152fcf5ca6e0ee03929465e4e27d2d12493b2bca3e216d40d2d0c428f0d15c24619f1e95625e8201a0a9630d34 +Tag = e5de0a4438d26c5881fecf9fa67e5d8c +FAIL + +Count = 12 +Key = c220b310806c6746c85177a4377db6ea +IV = 7f +CT = +AAD = ae034e0a202cbd7ff0d57a41835062ab8c294c94f11f6b99e19bec58c3cfba5aea2db28f338d403bb9c966cf13f2e2feb989c85435a76f3a12c1e9a5f76dc5fb4f3f0cab16d424266409843825963cc95cb80ab05b0fb3713465 +Tag = ac367d37c3632bba2bc30554139a9cd3 +FAIL + +Count = 13 +Key = b08f47c87b6fc6d9d092bd56b138ade0 +IV = 39 +CT = +AAD = ff0fc82415c32195e7c8a00a7e3803d7243e91911840b4d900faccfd8a07e7709e01ee828f3076680f817bf004b540946cd5cb326ba255903d52d23db84d22adfa629db355f69aedf4ff22fe4dbcf29a44610e1c89c62d737ba8 +Tag = 767a6472382071f3cbe4627eaf7e4cce +FAIL + +Count = 14 +Key = 5b61080a4f2d191b91509ff2c8bb3f9d +IV = df +CT = +AAD = 97d8c8ad3c72c509ab9cb5aad3db62be6669546680e9aaf759cb3bc7730e3b7276537bb619b2c167dfe05fd7708c86bf6e4a4b2e5869e6a02fba745013341168a8951c5d32ebaa8a5c5d4e54c9475835520d0e2ce3dcfe6df071 +Tag = 9f87f83d8425f65afd9d8f8f27857bb6 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 0cc12bf40128eeab5a338cd336c85424 +IV = 3d +CT = +AAD = f203d15964066e2455e13ff78c20d8c47fc3495850428874dd25e9face2a8c8a20dbb8e47c72e736af544aa16a95d9ecb61698d2d418299963498b182c3d722ee6f2a43606dc007ecec88b3179dac44c5c9be1f9c955a3149234 +Tag = 639cd82a649ba62712040c8d1cc97c +PT = + +Count = 1 +Key = ee1c1dd194ff6c6becff2f4f38e35196 +IV = 59 +CT = +AAD = d4500e293890a04ae24cdec4b19896227eb95c3cf42fbe223d8b21a61f7eabf50ba589a98d11550e6a72bb5bbef138a6a26c0b5684ecda6bec7548873815138f35be583ec28cdaf5f57d036e0106174021e1cc1758b28f92b73d +Tag = c0bc51d299df3623d1e5f0c04792d2 +PT = + +Count = 2 +Key = dabfb1cd6394269e56e3b8beccb9fa30 +IV = a3 +CT = +AAD = e64eb96a405922958e26f9b802852f6f5b5460d1203c74426a54a4bc5915c8f1a54a6112ca68b9b6fc41e065db9ec96ebe48622a9bc277be06fd4328afa6b0b06a08836f35b4b57006d5b14f3c2ad143b8ccddbbdabffee84834 +Tag = 34d67db7df72c239d0ebce47403b98 +PT = + +Count = 3 +Key = 0346b433a022035209b1c3559dc931dd +IV = 5b +CT = +AAD = 8b297b0332a507f82a800100383c7b9d41e294bf80e4127253fa6044f25a7a95082c1cc6b76c03d3da67f9bccdc722f771ed5de39366a65e8853181fcc25c6361b25e7c5a811f9473cd81b377fe618ad5b5f2fa10d767c47fdbe +Tag = 1fe71f1c462251b5c5d4e7adcaa8c8 +PT = + +Count = 4 +Key = 0a41719975123d11c13aad249cedee50 +IV = 67 +CT = +AAD = 2528a19249bb7a9bc4df02967ed593548a73aaece86b6c07351c94c7c9976674c2c5a23be88d39428a73510a04860c1ae3d20051dcff8b501b11f5e93d0cccc97a41bb2a6b6d0a6837d1d4b0a641ee61e7462f45e0161c6f7357 +Tag = 3abd5c1de3f80fc9058fab9f0c4312 +FAIL + +Count = 5 +Key = ac3e291f928aedcd8186fdb7a9b6fc0b +IV = 66 +CT = +AAD = ae931dba3797498cdb0633de5559f3e027e726a6a11b5e6508d71742b3a70bca7cb079d81b17be7df267fef8411ae28476ed0e3b6a26d69f784890f30e877d31f24ee07521a16dc5f99a702265a5675effa2ed579fb6c83af31e +Tag = 0c07e3cc2d2fa7367cd0b7b056ce15 +PT = + +Count = 6 +Key = 11a3f1af0f6539dd4a1951cc375d3057 +IV = a0 +CT = +AAD = c5bec2e2baad27f73d7ae1bf5967a7206914cbbaceb9c48b5d88f2d6f78b62f79b371872c6d3ca7b0e668fbea618541541ab49dd7f7bb4ad8eb0b7c1a830548409a14cab33e604f6ad16bffb6559377a2bc0efd1dd65ede0a0e3 +Tag = 911338aeabce2187042db6daf57ddb +FAIL + +Count = 7 +Key = 9ccf9d9353ab2d6cf3218f448292b8c1 +IV = f4 +CT = +AAD = d3dfb66da7a092bcdab54b0b81427520265ac5d01465f93c11aaf43eee60708f41e32b1f4e72546a1157f775bd6d0921ae462c50eb73155096a24dbdc74aea4f7c7b543d5152d427ea7dad9c50f7b1aead9ef4e6455730074325 +Tag = 25fe6ce148ad9c17017bc365e72bec +PT = + +Count = 8 +Key = 4bc461f8557f10ed896adc5b4a044301 +IV = 90 +CT = +AAD = d14aacbea30273940321bffcca57578db873304de51c496848e7290fa7ef1b395d4b05f4091324f95b941c654300e2f82b963317d278b715500383cb1fcb61afce4a9815ebcfeba4dda532cc5be467de62a610aee9a29382df48 +Tag = 8e6e3faf5398bb14bcf33f2a38f5ad +FAIL + +Count = 9 +Key = 2046e7c3062ca1934cd5b9844bcdbb13 +IV = df +CT = +AAD = aea697b5e69ffbdb271ed98f7fb5344c652c9701a998ce9c2c28d217b6ef586d55489ba412ec70f53788f2ee3930059a36b3d2562bf8c6a2dd496fdf5257d847c0d3df69411d413d5dc49eecf0386f3fceba83463b62bf395991 +Tag = e761dd4460b6d3fd61b44b5c3ede0f +FAIL + +Count = 10 +Key = 2146d665e7978a14adcef5b5dbdbe4f0 +IV = ac +CT = +AAD = 3caba6f2b232df8eb6fe93a00a10215ab0a19117bc965c2e59dfd958635da05101e59fa15c2b80ee7466199e0457b3f31336ebc195b3b6b8122ecc0d4b394b20bc855b75cffec41a3082456cb00251440c65ba3a56c0bc6fe301 +Tag = 9e09417d959246fd3a481339ad9f01 +PT = + +Count = 11 +Key = 495104b376884f3c2bd1f93c62fac1c2 +IV = 0c +CT = +AAD = 1b5b0240e6365d4fdbddb804a0793d3132c93df024397f4df1d293397b565d2d530ae93e6667e6d1a5c816785b0370e5b85e5369299b25e758344ff44a74d32aa26e43da71d626dae2dec3e628bcdf397d41beb9ac86440de239 +Tag = ca33f5b31a8952a3b042db0a6c9f38 +PT = + +Count = 12 +Key = 1b502bf3eb129ef5a587a6f1e751cc67 +IV = 89 +CT = +AAD = 85553c86a2dec5729a34980449b8a90d4731522869c1bf5c2f6657be4225447f05b569895e50d47a242663f8249a0b0b0295f109e3738c914979c1c2e3296ad06faff8b9886b608503f8e62ab23e884dc2adceee68c43939501e +Tag = 5f35048344e7122ce549ecfafa737a +PT = + +Count = 13 +Key = fa0f6a3972bbb6dbc3e0f55a704ac0e5 +IV = 29 +CT = +AAD = 7e530fbe2cb92d062411115b7b67ffaaea8b12f979f7d808e2ae64d2aff693f84cf4615f46acbabd30ced7e1f923780d050fdeaee4a66e0953f878c8fa0c56be982053e7044f7b8070d9b3eba07ee6d903781ca9cbce480645ef +Tag = c4c8fef3066b03dbad6f59bb43195a +PT = + +Count = 14 +Key = be6a7af953a8bd7c2718fc7fdea99b06 +IV = dd +CT = +AAD = c5218a108f9c0e877e6c596fbe35375583fbdcb01b1bdadc280749d4dd32c16665d70629744762c75f0c9fd962729f01f65d57a2aa84405e815153bbe67ee1e4621425e35120254de743e90515174d032fcddf5c01817552e620 +Tag = 2ee5f3a461d78020bca7494f57f391 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 2c1a97be3bb01edd489afd4e9142a4a0 +IV = e5 +CT = +AAD = fb61c839612d44341f6fce20461c34a5c14a3eb3f3e6f06853bcc44a480312fedac9cf7e61f13770100927b865b54d5cdba171be01fb8d78620816b1696e6be21549fd2c70fcad4dc375976d8b6c4f403d3ca4c4ec07e7c269b3 +Tag = 91c0a51074e39549fc92b7e6c9d3 +FAIL + +Count = 1 +Key = c68b3cf8b76708e50afdeb7421c4e4f7 +IV = 14 +CT = +AAD = f1d92382fbf2dea2cd7b6d5280388008b48fff51b8d6686ccbd58a9e860255ef5c3d7ab434d7c8383037561a3287b8fe381a174b82d07f73270628b3e2d855df415ed5edcbc43312a14998a35af3c7000d63908fe2f3b17f8b2b +Tag = 971aafd74f2ff9889daace6552c8 +FAIL + +Count = 2 +Key = 26f1ff2c397c801d7871b1f4741765df +IV = 6c +CT = +AAD = da90f7488ac880c7a2d82a23a701d91e205c4552e695f87af9d55ad79ace23233af25350a2575220d4f202059a7e0124dfa485525e89c2d601550f4cfbb7e51154e4af7d010f5723ddb39dfd9a308bf608f172216420e26cb34b +Tag = 5d57eefb5c5c8dd54ba712509dcf +PT = + +Count = 3 +Key = 886eeb7f3db75cada9699c004fdc1c53 +IV = 48 +CT = +AAD = d7ea2071025cba869923095b9f18a3d9701992bb6885b5571886802b499d8be3db034c44eb45d47f7aec9165276f8cac93f3c7a1e6d6be7650bdf775f3282ed4fd7bd20531900bbbb6325586fc90ab3d628935dd9435c12e5b6b +Tag = 8cfe9def2651dfa47ca14b5948d9 +FAIL + +Count = 4 +Key = f3754cc0e3200e9f77d92db7c5fe4f86 +IV = a4 +CT = +AAD = dba1a16b653c329fd6a797bc42b567f3081449884673eb7d629b7bd9dc03264419783cac65ee4ad7234dfca6554fdb31529e0f7622ac97c7e44e0cad43e5f8086ffceb645363bb89b739d0b94b2a69b99f59666dbebbb2ed0be3 +Tag = 52c36a1bba71f25bda9e3891c379 +FAIL + +Count = 5 +Key = 5220780aa47503b5a5a10f2c76d3385c +IV = 85 +CT = +AAD = 5d1e903f794cd09a2c253370da2ac2c65712f65f7a26cbe0cd83dd8c3f2a60c18feae31ed8ec4620b66f10d25fa614433c6b77f2334f757be21da595be8e38a73cf6c961130b9d21c09c6058ce372ca38fba046d13f6a7e3b15d +Tag = 36029058a7b6472c774178f6b344 +PT = + +Count = 6 +Key = c1ca702b82372b2463ce34fd72caab66 +IV = 4d +CT = +AAD = 2779140551181fecec9ae15c412a1122836dc7261b7e92dea10b9b7dfbb6f9f27c78cd2b494651ceed60a080a70c5ff19583ddded1340f721f906cfc1685944c5ae39402f73dec864f42dcf9c58ab6fabe9ec70e236538e99268 +Tag = 8b2f1b5e5b0b1956a02090b2a19e +PT = + +Count = 7 +Key = be0a09f733bfdb28d1998c710736bf0d +IV = 5c +CT = +AAD = 29caf214a0be9229ccb335d7e07b26d8cbc38534f83074cb1dada28695a548bd4929f76113a8e196992a19a38168f7dad48ac5946567170070012f0d640a5de7e3253024eeea9ae11155a0a7f8e5083707d2d3e32e35221d0faa +Tag = f0467091582f464b3790f6f0ff6c +PT = + +Count = 8 +Key = 78db176fb11595bdcb77bf824c3ce5ef +IV = fc +CT = +AAD = c67fd3d6757b9672ac0c638e3efdd9bfa390cabfce6a72747b64848e95c98ea05d2ae5266d29f43bb2991152acc6c52b33b99e961f4d3c40ff6d7e410f1b6995e78e88e37a432b9e5745572b9f7e5f046dfd191e780266096a70 +Tag = 67c6b0b3874360951dbd9c080069 +PT = + +Count = 9 +Key = 93e3993dfc98224b944818f65ac205d3 +IV = 75 +CT = +AAD = b55105a66ed35d0effc0a2f98346503a07fe15ac1e90851df9f6227aa0093e3dbda42eafd4789449d78c656ac31066847500c2f49d2278b88ea6f9928e3cb85fbd3ddaed007c80794e17f09ee3611b4cbdcf9a23fd68c1b452f7 +Tag = cb64dbfeed6daed3006a29001f30 +FAIL + +Count = 10 +Key = 6a129249a091b3a5ec283d5c904e743f +IV = 2c +CT = +AAD = 686e567855955e4ef55f4aae2c92fae4c00eb47e8cc11418c97b40cee21526d8396037e98e5a9d8e579ca7c0674de2c85cb1792fe475c2d26795a0e575216d75d51b7f2139eebb6a6b9584683ba063af28273a3c2f884782a1ba +Tag = 344ad995dc794c0a977ff8730b3b +FAIL + +Count = 11 +Key = 11ccc470916e6a4c1b759a35df31f065 +IV = 39 +CT = +AAD = 3aae198316b502ca2082e4f3c1065fe90fc26e10a94b532e6ef389ae86f2aaa7f8b5361808a62e42d40f3c0cf87a558294280a031b124a0aabae8945f2e2b6e73bb67da1be199dff51ee322e1f329eff27ea28c50e2df4a41959 +Tag = 347f65aa7f24eda15b74ee35e503 +PT = + +Count = 12 +Key = 0fe274c8e043d7240b3217fc5ee87b84 +IV = d8 +CT = +AAD = 6e4ca23776c2945e9f10ef504bb272542b102ec14f0b9b04c94e893b0f828843a216d9e450fa2fc7bc752976380f07294452333e742d174b7fb7d9eb532272b9aaae233f466b5b81e6fa15b3624244f33975c9b56327e3e9b710 +Tag = 51f9ef737522fe0beddbde6235a2 +PT = + +Count = 13 +Key = d6aa78fa79cd7b98efdfdb8da3d37ac4 +IV = 54 +CT = +AAD = b66892ee27baaf52325445e40893645452f630c9d621b7eea25ff7c591dc58fd07723299f4777d9daf1579795a4a04e6bf268ddc927a5a4d398b3bdc94040929f141593e4908fcecb2abc3badfb529fd303580e9fc99d80c1743 +Tag = 5e326f156eee68c2ea24f87ffd84 +FAIL + +Count = 14 +Key = 4479db95300bf5ce6db56a1cb6623653 +IV = 20 +CT = +AAD = 440f8913790ae6ecfc6aa9a5e3518cd238979a92ed9cc5533d076851b26692bdbfeea2bf32a0bed6c34ac99757801cfd186a1eb71736a0a47877fc5aaf3cad9249c361d10982d94a483f91b58ad2ddb10351b769aeafd734e2fd +Tag = 4b520dedfab1f9b5fe579b69a215 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 84ef5c25e972d1b7094c899b9221323d +IV = 6d +CT = +AAD = a25ca49dd5a95b92a6b3bcae5b9a9a577cfd647d448a6fb573c2c94540d80fcce2213495ef8d60ccca85902d9875e1ac4586467a9ee8fd5c51d7971da9f551e2e0806a4490ad14ea4717481bbeeeb4269674ef5138550416b056 +Tag = aace6b3de6874192611819e83b +PT = + +Count = 1 +Key = ee62615ed154238ea7dd4dc1ffd0c7dd +IV = 65 +CT = +AAD = 0619fec927564078d505a163d01a7fe700fec3ba8d1a6b92a621d5381bf2b4e7461123d15363f29616bc8d3aad938dec14501a439df14f8ebdabff6c4c6cc9bc6219288a1282825ad3b485aa85a239de799aa0c4a54005263cbb +Tag = f5d4c709d79fa879b0df68a0fe +PT = + +Count = 2 +Key = 17022bd9b6d79a8e436ef7caac895e18 +IV = 6e +CT = +AAD = a4f43401870e7240e9b13fad158275304afde87323c2440554d92265d02cca4a9abb8a66429f30a0ae587514ae7d129ff2e9c58e85a2b639ece66ced07d27929af9ed5d05beebdf5b96bc2b1086c9c57cec1dcd6aac0374c5f07 +Tag = 7d3596d6a067efa2166bbffde9 +FAIL + +Count = 3 +Key = 604623f18dd0ca8cc6e4c014ceef5942 +IV = ed +CT = +AAD = 9842264888c4a842cc001cb6f74568539bf06ae6870d5752efad4f7bf1d969ce4588e1d8694effa6c3159fb34eacce2f1065851559f36e703ea769e8681a7c066eacad19bfc9280cc173215000710a6af6e5e24205a41498e7b7 +Tag = d1395b5c23655d4536f4945080 +FAIL + +Count = 4 +Key = 237aee926aa3b2a4d40af09d921227b3 +IV = 53 +CT = +AAD = 1f6ca563abcde252edbeee8b68262d122a0cb471d6e25ba7f4b67629c7e5a568104ab8e3af778111e93b93dea591f981d43da41645c8b0366f738357f4e71dfad8f061c1b66df20bd3c4c7f62db19f2c5c4529d55fdb12f1032b +Tag = 24361833720c18f8f788659b58 +PT = + +Count = 5 +Key = 285f5080b6669b129f7ff98ba5ddbaac +IV = e6 +CT = +AAD = 005eaa7fd37592e8688bcca3f7395f8fffbdb3ae924174d67fead8fc928a7cc753d3ded4a42c49f5a537161e1dd94093d0cbe5850d559df158509c5918db96b3b2d0247e3669d472ae665c64612b284fbc7b9758e9c11566e43c +Tag = e7628f7b967a764cb93f063b37 +FAIL + +Count = 6 +Key = 6b5f71e96811adb11d1caabd0a134835 +IV = ff +CT = +AAD = 1b2795a797794b7d239409405812a2f3262d3664f7a6a6a2e7f229ba79efb28969fc033210f530c8170e2d4361c2abdf11b0c789880ca0daf0d5f47d535b58ca4626ffffe2cb5582f34ccc756ed222fb749bc2dcd9a6c55a19a4 +Tag = 946a7c1386b19e3a92c8f04dba +FAIL + +Count = 7 +Key = 18feb028b3f59bf20a9101290109e204 +IV = aa +CT = +AAD = 59ea88fcb9ce96f72deee52f9b08a7e62cd14f79ad0bf8184a7e9254478bc6bd0f912b03adf4e7db9ccfbb9502e861de093205056e81f0f6edabbe3facabd41c78a8cde28f850d25fc8dabd0eca18880f3262a18e94a2a2aa8ae +Tag = f37f6b347cd6abd4bfd41292b3 +FAIL + +Count = 8 +Key = d884e0b80c8cb87c2911434f7ee92280 +IV = 0d +CT = +AAD = 2ec94af89c938c188c4bdc40899c4ae7b990bebb8342787f00b3c2b11534f4ab40289d1a957420ed992acc7b92e80250ae149205f5fe0d28f38237c26b9339fdfe72fa559219e3943bd33f3b51c65e63d6a0e0ca8220f7f4708b +Tag = 9cef6128ea4c3e97f4e10d66c0 +PT = + +Count = 9 +Key = bba3a3cacf5d251b70bbe902c1a89f4d +IV = 33 +CT = +AAD = ae102c940e3d30344f34594bc33ac8359c73569f4fa4ba643b129b0ddeaa2d93363d6d1e72bf10aa192cf3360f8ca0fe3ea65346a63cf7c713a037e8004dad4afd4b1606b0598dac8c642f715a1e9ca0ed7c07b08aa380d3a102 +Tag = 97ea29f1eda35c677362c18cba +PT = + +Count = 10 +Key = 2bdd7152b62813bda4a3d62e1550ab65 +IV = b4 +CT = +AAD = 4531576567c8c138351095ed2af3b9ab6ac718ac32195fa8f00f8f56c94326a9fd02e2fa0238fe85a5e853f43e043b7fead464a882499de259de3ac2fddc5df7f76ead1ac6d59ff0cc81ab871e0c52f4da159a24125f16146e4c +Tag = b1be77ac823ebf888e86559557 +PT = + +Count = 11 +Key = b4f09d6020f8e11681caae4901bae883 +IV = 80 +CT = +AAD = dd590cf2234c415d1ee77001abe3f4b442bf67a1210631bc8734879f9a76891befd789aacb824187228180c42cebe627db7ad0adea14bf2b88010e929def522a03a05b41d0901175a1199867f923b09cb6bc562c918326d1e964 +Tag = 27c240d36a5956e09b844bb6a6 +FAIL + +Count = 12 +Key = c866ad9e6370b47a008adf58e7a25d47 +IV = 50 +CT = +AAD = 1892cb4d3c56377624b664d3147843d0adfb7034189329007736c88f707d00a52a538f3bbed89cedd439a13f928757852dad5e96fab3f44a8c84f0b040f86af9188db6c9ce58fb3afd68817d6635a25282d35dc2566d8ec3da6b +Tag = 340a9530bbffb9b69730e9fda8 +PT = + +Count = 13 +Key = ef2e89d7f369dd976e6840e4fe7d3e87 +IV = 1a +CT = +AAD = 89b6485294935025cdd089a231b6db3c3519d2cd304d8eaad8d8fb1744e7a0a8638dcd265fb50b40bc9191389ea9f35f8bc626e8a7ad6b893d2e1fd8481172e19094ed52d523a6fb1ef72dd29368052cb36621942544b8c68a44 +Tag = ee854ed4714cafd1f1e64a6633 +PT = + +Count = 14 +Key = da30b3839e6ec2b4e51ab9288eb26d73 +IV = 88 +CT = +AAD = 3db945ad8385dad44e63700fdd337776803de8d342a8c6cab87b5b40be2bb140ea5b7bed74d65800e29cae4ce8369c1563f8b142975ac5846e73a2185e0cc1e427eb9db3fed09c4c9729b8ea12bae5fbd2bef70fb4f30603d127 +Tag = cbd4dd13162f34bfffd5e2aa3b +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 61e79221818d5739bb80ea6b010e9f4b +IV = 2d +CT = +AAD = 71b48684a12ecc49247254f8b54d8059d1603f91fd0361bdab701b8db2f0a80725ded2ec9f76db16d8f61d63fde46c85cf41b8a3b06c05939d77d259f773b8911c73f0827e8242d5df48965bce690a51f69b3d55c8a82fa4aec0 +Tag = 0e81190b0de18697cf4ab482 +FAIL + +Count = 1 +Key = b343b94baaa8b576c57788f9556095f9 +IV = a9 +CT = +AAD = e07851fad72094be50e617ae1524c0ae7f1b9086672ee0b527e41705d27833e5fb94267d8dae28827b6613f1d78499c8dd2e3b609879f282d8e2580e60646e9d23917efe8ddb660d4dcbb80c0486f3072e5def569f4b237a4270 +Tag = 7aa8607912582b7594506906 +PT = + +Count = 2 +Key = 29f4cdd6e2b1ae2df1232c54777966d9 +IV = 25 +CT = +AAD = 89ea1e9dfaecf7314658e53ab18ad1395520a61ba06e30bd212d6d8f6e33b858f0b9bf2a4f57979475a40d0dfe7d50b9adcf01541152841839482d8ae3eed2a0ad68587f83541c239535ed2638a9a933130d5761a52b03f865f3 +Tag = 4861487ba21298cf0c5e40ae +FAIL + +Count = 3 +Key = 9f0c16f1ba88ba47192641152f0f4929 +IV = ba +CT = +AAD = 4340dda1d320c4f53b61d516e02cca6ae9fe193b2d783b61711204c2e4ed034790eba4b4a506da58cc509d6f822e619635ff58e7a04943de0e4e210ffd578dd6edde973040e30f4975a02feb2c8a0d59f9f0e067a87f4b7fc43d +Tag = a6d3b2591e9596d273ac8978 +PT = + +Count = 4 +Key = 572088b42255503017e601ed9cb93dc3 +IV = 3b +CT = +AAD = ed08a369effe522c9834a06d26b1ae596a3192fdd7c35c9683533480ecaeb27e4631ceb3dc4da1e1841ea14f2df14c47940def0001f93b296bfacec6f3dc3f0607c73b3aaccd3142a7502b8ee3701a86b3ea905f7ea37b870111 +Tag = 1d4a8aa6ae358f4ec2b6fa7a +FAIL + +Count = 5 +Key = 7cf7cda8715850ca9b3e07c9db85d1e2 +IV = b6 +CT = +AAD = d0a08e019162f4841e80ff15ef8ed27df5e2bf573fbc9a368277ee8150ba13566d432eb595d56cad0393b05f9a9a457d4f7782326b53e2d2a402259b8f8d4a8cb6c0b9ddde454c863b30bb5739411f94a94d837139b501495754 +Tag = cb7f93579113bc0dc380d3bb +FAIL + +Count = 6 +Key = 8ad371238551b5bb33558c478f95407e +IV = 58 +CT = +AAD = efbcc29c8f8a7e7e3a124f2289672ed706515edb596d2828046dc371da630dd255bc78e161998141099ebaf2989ce772e13425061abde66d734494b2918f59d838ae4ce1d550e9b97c4fe5ecc2805de21690e4e5bf435633384c +Tag = 73980fc71a6b68e5ff5c5f2e +PT = + +Count = 7 +Key = 9338829f84afc4f5027774d1b4609a18 +IV = ca +CT = +AAD = 3535fba69d8ce2c13c5ddacf078a18855608d84f3891d3b4feb8b9aa23a3067bcd2aa71e77f1bc971fad694203533ed05884a94290e419ae122d23ded85e3235419c7f6716fd162daf9763bcc037cb130f8a1574b89b734e21f2 +Tag = adc7a2a845447020c54cca10 +PT = + +Count = 8 +Key = 86da0a4e6ff9acc5f0c891858c8e6ba9 +IV = e8 +CT = +AAD = 076185250f756848289fd109ebb3fbeaa31b1fbed5b7141fd5e29237f251267487a80ee795631914ada8c8e299a6525dd52c42d82d122b2699fe1b09de1d7f62e612b355494dbf377cb1e20996305eb6d10a5c7050f8f2c590a2 +Tag = 5e16b08f0e87a2d7bfba1dd2 +PT = + +Count = 9 +Key = 16884435d37d3d053f80af6372ed6284 +IV = df +CT = +AAD = 62b4fac31eec818a88ce9d076a98d0569ed7fe88de042f563602d0a3bbf3c3146bd05446b021a2573da503c09001242719bd97644cdeef9f4b24656edbb004638d1bfc22f1ab0f5e24b122339315b15484ffeea26c83d5d9eb85 +Tag = 22ba2e35a193d9be2d5e36dc +FAIL + +Count = 10 +Key = 74afba0a831fee860129c2f8fa6f1ad4 +IV = ca +CT = +AAD = 03c9c120bae3be064f6c794e592ad64a5bd5a141ead50af58a4bd258cc45dab370bb0d320d2413076717d7406225c795ad01ee54b3423e126513731aab78e85908f58f3e2ec17ea2255f0933e227bbe4d23fcc6845606c559912 +Tag = eac3b85220594a2c9aaa25f0 +FAIL + +Count = 11 +Key = 594a0691e61d3fa42c81a8796a5fe7b5 +IV = a0 +CT = +AAD = 8fd8e86dc8e11e78a7b121c096c56501c6401a3028c57d5367dd6f0f66888d67b6712ede1254ee304f5d1a0d091fff99c3cfe8fd3e2d8c0d217fe00c0c84d89aeb7dd4f85a769e9fc90e26e2f1dc6fae6174dd1ef5fb86d62b21 +Tag = c96009de8c20bc47a95a5cda +PT = + +Count = 12 +Key = c4a8a31b61a3b2d8c79be25ace6fc5a4 +IV = 04 +CT = +AAD = 9c0169e535a1412bc3423e541bb28dfe42876390aaf368a49243d263fdfb573a98bb53957db56ea3dc6e8900b9591f6cec0d6bda4efba7c2e7ab7aaf663c94faf7fe54d587ea384b7bdf86b6c0f5c6b0eccf871102d75b3ce9f4 +Tag = 43c3b90aaf28feab5a212f07 +FAIL + +Count = 13 +Key = 94eabef4768f5645958171de06f787e4 +IV = 0b +CT = +AAD = b307325929ec1411a1e8566271c8982c42b17703ad7c58c566cfc56e8c7560b965cbb1ebb8857227c97074126ab8aca3ec211f07286e48c3b079d7e7e0e450ce71d7eee7a64305892cd460ac6064335e057566df3e8eb73337cf +Tag = a618a85b4cba70dff73842cd +PT = + +Count = 14 +Key = f114a41673482b96aa95b0ae4a971e6c +IV = 23 +CT = +AAD = 0e69ecb4dcfceb2f597eab65df02989bc6f4990765dcddc006fd5223271ee2651f40095ddf5f6d78bf70a7a9d781c2463f20c7f18720d3e7d9c68b9a0ee553a8dbf231b6b93f29d98b83e63e68f799bf3b158f194e3a2b78e8f8 +Tag = 4352e34f8277e1b02de62a54 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = ee3deb56f93488b2211620d869a67fcd +IV = 6f +CT = +AAD = a5ede009d0de4b2ca74ab770c052a087ac9bc8a00785b4c8629b9cac1c0290246e8a9ad6f21cc08b57862fcf5d146274a11aaa8dec9dc876deb82c63611bce44d9a74f1de6b504f13608d05a32ba5f99e788f8ac0e664e95da07 +Tag = 41f691adf41e57ff +FAIL + +Count = 1 +Key = c88cce9fb281795063106029eb4541e3 +IV = 70 +CT = +AAD = cf35d89dace3b54c1fd96898fdf570e529b3ca00dc612fc1c097c9d997cd891b1de436ce75bdd607a5e2b65f0598365fd63932d2a94cce271d4026fcfd36ba2f1978dca9c33f5e0e2eec0b315ea55ff34bf8ed2cf69c9e5cbaa3 +Tag = aa9b9651efab4528 +PT = + +Count = 2 +Key = a7f8c31696296a62b874d3078af4b86e +IV = 1a +CT = +AAD = 9199bbfe6139aaa03d62e0236d477a5916f085cb4fb772a5bd366c592f221299aa12ea9821bc21f2cdb61ed3e7a83a22b9341331e0e3dbe78fd31c3106c9a96e39644bb1b9bfa7fe581d8f64df5c25af73b4c0889510aad8551f +Tag = 9c69043dcd945ddc +PT = + +Count = 3 +Key = 04609d1f16d939532fde6c565f9da0c3 +IV = 2f +CT = +AAD = 173a8e6fa75a7fcb54a7f63cc0a35d0844ebb28a30a6ba305148e77176a17cdcc504dfa4c0958ac5c75f557903c8b2d0fe140359605d0c6037410026981fbaeae3c98d5e82c5646e85c30fd4c16fc5f7c06cb9e0e7992f182c68 +Tag = 68c55eb14e032a41 +FAIL + +Count = 4 +Key = f4fec3cec8b19ca3ed0c418d47644c58 +IV = 7b +CT = +AAD = 7635e187baa60ea190507ffb02b4e0afa36e702bf3be75b95a1eb40933fe097c7d2d03b61e6a96362433cf8d39ec3297f9f9942e6d5de9cd23e514806b38d5177b6818f4d3ae763fd61ab45953ae294b0902c08d468b046ba96c +Tag = 8b0c29971274a75b +FAIL + +Count = 5 +Key = 30a5902718b037a6f540763b9c7cb635 +IV = 2e +CT = +AAD = 895b2ffd66e87122d8c111c6add3797e682d7dd40afc935dcc06fb93ef585fa8d82edae61cd794544a7e4cb08e35f55bc60523c57c4b2171583bb6aa304270eaa3c0ed62c85c5d15b2ecbb1c83eee52f97cd9cddd01d41575deb +Tag = 861ce1d36f66ae95 +FAIL + +Count = 6 +Key = 4497bd41cd5ca602eed139710d7b5b2f +IV = 92 +CT = +AAD = 8d57791342eda19e0e749ed4e988af4f8c2c68609a44e28d6abdc130285bb611f7c6fe4517c839b14b5bdca392ca22bcce7272c28d9073c2896b464a9120aca303a849c40c04a566ad3a1bb8f0c2dae3041331354759799a1d3b +Tag = 4426b9bd916ac644 +FAIL + +Count = 7 +Key = 4265b388c6fc5868b9b261af9b6e9f69 +IV = d6 +CT = +AAD = 5a7d74e1b89356a7f89ee1e58ada4fbfd43c29e1a534f7e6705904fc5c372f8c93ee36020b7806de661ed19de795461675b4dd679c94bd7de979ab2162a01058e39b87fbf86f1411a441f4b29a0cc4719052b2f45f5ecd2324a6 +Tag = a40f9f8926c4c3ab +FAIL + +Count = 8 +Key = 7d1c8cf99865c08fc78657f6c2cdc66e +IV = ac +CT = +AAD = d0b0c11298bb239f68090868b1fe89cd5da260231654062f91bfa7326b478ee069706412223e289c7dcb2472d4d659cb756d3ca00ff32bd5bb467ac2477a1c8637fea6af162e65e65175a9900b7c1f25e6daabdba0626d5ce047 +Tag = e564db7d959ce374 +FAIL + +Count = 9 +Key = 1b1a6ed7c1c58eb8ff4632bb2821f8cb +IV = 9d +CT = +AAD = d83c28ae1bd1e9f6745eb430494f8a33c036006df8f8f7c6bedd8be6b3bc10705c287730baf29a7d425cdc1bdedc1bb140a45f088fe6245c9374abfed2a85d2c8dd98c715d38fbdc829f708d815d8c2affc28fb459f0f12fee3e +Tag = f4567bd46ad1f9f3 +PT = + +Count = 10 +Key = 2ffae09a824fbdb26a566be529fc87cb +IV = 3e +CT = +AAD = 3e937c738c264c42bf1f8ef6244bc7801b34d00f950adf243de614d511c8b05b297ab8ca1d3277fc015c89894ac43856b5e135aa4da51add9cfe64d75aa9cec3ef536f0d4b4f9567ae8f5a9833bbc20adc3305608eb7d947b097 +Tag = cd8cc6f42e80f6d3 +PT = + +Count = 11 +Key = 7aa62b43652c2c879bcdf06529171883 +IV = 5c +CT = +AAD = bb37aae0add89a18d7c11e6729a1336c0f8faf4bb62acc4566eaf096457c2b84217c614589e054d6a875be9b7e79038cc2ebb6b1b5ec0beed6b3329e5e584064fcfd0ead96fd9e271228fea611d3a51c34818d180b6b177b96a6 +Tag = 3caf57319eb58963 +PT = + +Count = 12 +Key = 6954ce901a483c1a695676d69315c760 +IV = 07 +CT = +AAD = dacc8980826df02091e44fb96599a2ce89d5c2e0af47f042db434abb6d2bea4f66924374b9d9a79f80aa18216aa442d8080d41f273487c482f75d16d82a754710e46f9867f12d3241b835bf6a6cdb12756a84f64cfe8dfb4acd1 +Tag = 8b28a40284768c29 +FAIL + +Count = 13 +Key = 7793ea6c81c00c628c045900581a1f35 +IV = 03 +CT = +AAD = 041e047547135ba6d2e0cc70ad2e230be0a2a44fb3999db6dc8c8d08464f978892c78eac77fadf675011e33dd453c253c367ad4fd08c4298912ebbb94e2510b18db7f9a39b692d5959bfc12a1e01652bdbe4803b2e7e38a6f371 +Tag = d18c4a4b13763f3b +FAIL + +Count = 14 +Key = e908d9c211f5aab5c51f1c80ca9dd754 +IV = 4c +CT = +AAD = 2b62d3dfb020e9ba07463815cca0396e293e1853cf9cc67a040ae9df402449c9a28c4da895401d9127ba4ca8152e1ea5edce35bdd7237621819cb5c645c81f70b08f31823bf794a0db8b873cc320b8049c3e21a06a7944fc53aa +Tag = f00e372e7bbfb541 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 9e7ea1e6c52a482f5f378a979851dd75 +IV = 0b +CT = +AAD = 590404e9d065b8f915ec38291e6bc5f3723a1b5fad577ae74f2d164342332d4eb3a953afe071466ab12cf1daf183b2ff246b8b4f4850694f9985f3a5fb91aa67b04fa41446eab4f4b6ae14eadf5a3f2c21b004fa43c23541376c +Tag = 6d4bfe9a +PT = + +Count = 1 +Key = 48f878e156335f16c984d29740a9b6fd +IV = 08 +CT = +AAD = 6509a11fa845bf6883758e5756f7c911f46d83e476d907ca7cbb5d7ecfde08d6f5f962771002a4f1f190fa2955e119671d2bdfa8fb7efaa89caea63785ea1f465c404172e65b2ba0117f8741bd01ee3ffe33ec64bc972c62095d +Tag = f3e1267b +FAIL + +Count = 2 +Key = 78cd9536014003727d0d39ea7c6c05e2 +IV = 5a +CT = +AAD = b34641fea59bd8770f261521c18eb06a2f7b0a46e8ee3f17cea4bba28113c7a4032531a93a55081dab1653d662994eb7edaf6454dfbdeb91f1ee26fa3c80f19797898f0b2bc056224005ed4c348524f06f5d4b40ceaefb253240 +Tag = 84cd58c6 +FAIL + +Count = 3 +Key = 24a904cb2c6b33d32d672457eb50f124 +IV = 71 +CT = +AAD = fecba4f36849606db7f64cc23fdacf31a9e398a2827456749c5db21993acfaf332ff12348872f6ca1f554c945e3ae16b92b57b62e09ea7fae9a274ccd2c7758a732379b477f9c0bc2371519be4fd20b36de1ead938a726df15ba +Tag = 69ab3c5a +PT = + +Count = 4 +Key = 75fdf3c1cbdbc4d57b39603eb0da7f12 +IV = 41 +CT = +AAD = bb1ca4524dd9ba12cc503f4c63157e5d08d3c1c54f43e2df28232cdeba0e4d7c5f57d7c0cba0fbc3e4a33278b84feea3ecbebcb045d191eb609301e02f2874324e6a5377647fbb4630423083da87b2910b86162784520b3d65f4 +Tag = 0cd970d3 +FAIL + +Count = 5 +Key = f1bfdd80cfdb9a78837bd6e4168b560d +IV = 9b +CT = +AAD = aba67b6c5955836bfba05bb398a490d9f23fa566c037fa32d3dcb68c759f76d9ce12d1e3be50e32e64d2cc6754f79aeeb85b325e5bd6fb1a6cf5511ae3c0193a8c0f3a9423ca8306b781cc3dcca308e120086b9932b50be51a85 +Tag = 52f668d6 +PT = + +Count = 6 +Key = de5a9464a0a713cd995e83eff269e3db +IV = f3 +CT = +AAD = 643a354b9f10a3bc4936e742e6d1c22ca1091b0d3525205db987aae98e296df4b653271dbafac2140047bd15c3fb5c1b9daba2788af26bcc8eceb7d052ebf2142d76d5ce97691782a35ac9e5e3b65f65c275ba7102afd2ae4a87 +Tag = d8f2604f +PT = + +Count = 7 +Key = 3e4443b3a2b7031675177825223c8df8 +IV = b1 +CT = +AAD = 9e2113a8e2e38419f2f346560b7eda4812f507a0d2c8b7dae19336dccbd1f9a3a57305e6f6cd6ea5d3fffd5f1f0731861f123f3a693e78556def94608fcd3d5728a5d6d6996f811f85e87084a9513eec912e5f5fb274e8c424ca +Tag = bb504643 +PT = + +Count = 8 +Key = 06d50679fe3497829b0f645361a9e1ce +IV = 38 +CT = +AAD = 57af725dceeba29e9f31ed558e174d52c15dd7c7a66c248ea6e843c1001f4657dbb024a39bd1537e9feca706c1c2f3f1d728df11f393c13456e9708ca2ffeae63239387fb47d7efa64b1e5f4bd775bc2105762bbf893aab297c3 +Tag = 6067ffad +FAIL + +Count = 9 +Key = 6def05052faaaf3d33090c07549ccb64 +IV = 5a +CT = +AAD = 9367984324b70618ff610315bb3a10fe9ba966b4bedb9da31183071ed0dc3e1147ca8c0dc55bf01685b3870c676beb777bc1493ce2f18340cf1d2c99f90f3a9a280c4bdb12772e5845af1461e62c3b266de4422403f0242e82be +Tag = b3ef2391 +FAIL + +Count = 10 +Key = c0ad2fae66207040340a1eae7c93ecc4 +IV = 3d +CT = +AAD = beb33e4ec4d352953155809f4ce6eeace5a05f8ed15905b4859790f1cad9f4627495ddd1ebcb669e60e9d4833b00f11d55f7175cfe57b3576f8ab5b09a5c05c8a19f755129484bbadfacfdeca8da029556de6afbebcab8985fe9 +Tag = 3e591d7d +FAIL + +Count = 11 +Key = 1ef9f573ff613923a77340f1adead1d8 +IV = 90 +CT = +AAD = b29f1ab026604ba6a99f5a5efa938d1831e06e196a174cd676edda5ffdac84d7c046fe21f1fed765ec2685ca5940fe7b8a7d14e29806ead2c5cb489c2597dd8e35e8a127c6b523f4318b5cda0e22644b1ca48fe9c319a0d2f8b7 +Tag = fdd9ecbb +PT = + +Count = 12 +Key = 9a188d19f4196b052c5d3e6ad9160a16 +IV = 2a +CT = +AAD = 65530138bad30218b0ddaf1ece848a5b16dc397dd87fa1bc98f57b566f9049335cb547bb64ba9a040268e85f30899c9fcbd3bb3e41e92a24314341952a0c7c5ab3c8e45e8d302f91d197a63840cfb99de2016fdac92adc58e8c2 +Tag = ae8bffd2 +PT = + +Count = 13 +Key = 33a6e0ba55745c94450ad5f139f2ae80 +IV = c3 +CT = +AAD = 9c9c01bb54a37703b6d1521fb7c4dd1b27c2abf1ad42fc6fa0f173eb37984a168e90d108abc8e88f9facccb337ea1d5452a86341162fae53369a17ac2e1972cc186113ea3adfee6aaad10d65c3c17b89eb2a457c97a385f5d344 +Tag = 90a6c78d +PT = + +Count = 14 +Key = 4c58c6fd34d21b4d85ff35e57ffa01cc +IV = 20 +CT = +AAD = 50a55ccf195b58152ff298b8fb8b4b65193d38c5730676a5e8044422d57b04a6a693290346c72d521b8960ffab4fdd344184ca0a873ffc15c2701cf9eb3df7721097b4aee7b3d4dbce385f193b1274e7bd2bc31b1d2c0e4d928f +Tag = cfd9c609 +PT = + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 475ad3a0ae4b9f5b475eede95cadc9a6 +IV = f1 +CT = 1f9e03adc858959ab2259e3f44d88d58 +AAD = +Tag = 3aa732fb202126c5f5ad56bf8bc59d38 +FAIL + +Count = 1 +Key = ef5185a3840e78fc0bfb258b49a1f69f +IV = 82 +CT = 8f9763c61d758247deaa20c735fba84c +AAD = +Tag = ab393cbf298503dc093e8936a41a5dff +FAIL + +Count = 2 +Key = b83c2ed0021559716a563cdf70233486 +IV = 2b +CT = 9ee017f647d3675d19315ba5eacd4fea +AAD = +Tag = 7ac7b12870e8516dcf8727e1f6cf206c +PT = 0f2a11a721f604e7e56a7d80fddbd867 + +Count = 3 +Key = 661097c8a4116d98b1b62d5d255f23b7 +IV = 1c +CT = 5364b867c467585d7d97345bb93b93a9 +AAD = +Tag = 7ad19080dbc8906902a02bcc17c46bff +FAIL + +Count = 4 +Key = 5a2646abc3eacc0028d361f093966104 +IV = b2 +CT = 7bc816008ed291b8c3af20be56a3a70a +AAD = +Tag = 83de6507667752a50b400b059b08d241 +FAIL + +Count = 5 +Key = 2104b0fbbccbb25d7b74655b1f208670 +IV = 24 +CT = 1bce3a43291c76631d84eb7b2e4d4437 +AAD = +Tag = afe81ab1815783feab30509a84464f80 +FAIL + +Count = 6 +Key = e9d950d382c6a754debe7d254ca74afb +IV = a3 +CT = 33aca7df0d0f43197bf237a981d0c513 +AAD = +Tag = d96a257b8033de9a89b166be102dbd39 +PT = 046781214b90e9192930b46c2a2ee2ba + +Count = 7 +Key = 94d7604c5ab9e827c06cd16d2b523b03 +IV = d8 +CT = 575000674fe7e28aedf7f17aac78a0e4 +AAD = +Tag = f889912e41fd23f7c0b0a0ba6d242d18 +FAIL + +Count = 8 +Key = e4bc6a85b15dcbe0b1bb885b1441df8d +IV = ce +CT = d586a34e16b9b425f812df1cd48bb98d +AAD = +Tag = 27b877fa6aebfd5e98e83307a8bf9ced +FAIL + +Count = 9 +Key = 5631d649f2bac22cf2b7fad6ca2a9886 +IV = a7 +CT = 8b23bc6f1ab5699c11b130ccb92c46c8 +AAD = +Tag = 4fbfa23152c2fa843b812a6fb101114c +FAIL + +Count = 10 +Key = 3b3157a1d7d0bcf29e5383b288520f7f +IV = 79 +CT = 6263500c97a793793ad08b120aa79efb +AAD = +Tag = b13a6d2cac8a0e3e058e622dc54e9846 +FAIL + +Count = 11 +Key = 7c56c66eb4da6fd89cb08f8425cc4ffc +IV = b5 +CT = ce8c3224399f68ecf39c1944e62b8821 +AAD = +Tag = 9d3422a3d68126740a490b2518a89acf +PT = 7844695abdff139b6bf31f59bb9fefd8 + +Count = 12 +Key = c1be3315e1d8995335add564fde37583 +IV = b7 +CT = 9c1137927b7516d05e6d41569195abb8 +AAD = +Tag = 2e8c9b185a1ec8e47733649aee7b7857 +PT = a47a89854cbb4979dbb10f8c872393ae + +Count = 13 +Key = 4a49298e0e4c75d99dfaef4f726f47ef +IV = b0 +CT = cb546c7cc8655718977533776c961b7e +AAD = +Tag = 2b1d57713d26821985a7edfb9552f6e0 +FAIL + +Count = 14 +Key = d3fdddebe8615c5df5e24a760c2fc425 +IV = 32 +CT = 40649beb7f8e72be7409e389d1ba6284 +AAD = +Tag = bf3d45d77fb67b68fcc96ea15d7e45a5 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 17d8fba055e752e511de89cc0faf0242 +IV = fe +CT = f5bca50042a4b81099858b85f6938fc8 +AAD = +Tag = fd8c3b3195496fb7eee991b0488ad5 +FAIL + +Count = 1 +Key = e89eaaef921129aa3f66653eacf8771d +IV = fb +CT = df330c8ebd2125d30e664b7a93199204 +AAD = +Tag = 5cbae2d5e0f0b3e146c43e593fce35 +PT = 972709006a05476774148f1b175b6b4f + +Count = 2 +Key = 1c3cb99609fdef648bc7dcd279b7a433 +IV = 4b +CT = 41c5f91b80cedfd6055f3c467f1825ef +AAD = +Tag = 8cd584b964007607081f3a4dc92f04 +FAIL + +Count = 3 +Key = c6a1e022861569bf96c38e756961d50d +IV = 77 +CT = 8b96ab6fab0a87692e4379b8776b4842 +AAD = +Tag = 18942ddb8bc7594b6f5c0207a32728 +FAIL + +Count = 4 +Key = 026b073e93f85143490aa40e4ca05351 +IV = 45 +CT = e9d0a7e66c55e4a03cb439d9a2fd972e +AAD = +Tag = c09611b6fa2f519f812a90269de542 +FAIL + +Count = 5 +Key = 1460bf9d803114b81adc9122bb5c64a7 +IV = e5 +CT = 6590c00ea6d582045917b05d862b2d91 +AAD = +Tag = 1ea1f6a5424f845399f3cd38569f19 +FAIL + +Count = 6 +Key = baf0b204dc691e131ef3c49dc6f406f2 +IV = b4 +CT = 49b0c2b130bc567d22a72bac274c00b4 +AAD = +Tag = 893dac1036d48969c7adb4b5531a18 +FAIL + +Count = 7 +Key = 63028f9a427f95956fabaf8049dd4ffa +IV = 47 +CT = 65478ed1a2b26d4a10530f184222eba5 +AAD = +Tag = 2a134678035ed46fee9fdf6b887dc0 +FAIL + +Count = 8 +Key = 8a89392a169e907e3b40998fb732764f +IV = 05 +CT = 8fd418e3a3499c7b02abd00b3c0b1da0 +AAD = +Tag = 64d4796d450517fd1fb63aca06dde2 +PT = d144c440c0e1451e9d9c10ef98733006 + +Count = 9 +Key = 15db82311db04cd4941a6912c3dd3389 +IV = 09 +CT = 27882397522001838dbf19b612e099f8 +AAD = +Tag = 00662aca44eb21919c55a0d7bba718 +PT = 297362bbe9670790da523513d545b71e + +Count = 10 +Key = e5f7c0eb2cafb563f12015c840dd5360 +IV = 34 +CT = 871e62e0e61c89e0359402a433226038 +AAD = +Tag = 380f74dc53dc035106e6546fbe0445 +PT = 68097b548401ddbda56ed30cc12a5654 + +Count = 11 +Key = 35cf88119c4aee0a76d1261316306f70 +IV = 05 +CT = 765801164564b6cfadd6eeb6ff3b31b7 +AAD = +Tag = b5737bb799388585d16492785c87fb +PT = 01ead6c38f8a994ebc64f088152f5d5b + +Count = 12 +Key = b65e103ee981e3b752566ddd6dc5dc99 +IV = 13 +CT = c01f8da30f03db6b8de0340a878e1aa8 +AAD = +Tag = 90d028a0cdc887d2d37a7b88241c34 +FAIL + +Count = 13 +Key = c6008e11fc7ea3dec1c68f876814eccf +IV = 83 +CT = 0fdbdb7092f5cfd4d6ebca3214e4fa33 +AAD = +Tag = da29fbd0c5386337f13d4fea5c2a02 +FAIL + +Count = 14 +Key = cd84f698804c2ae600cf175197e2e5f2 +IV = 6e +CT = ca51fe02fffc762a28935f681a68c1bb +AAD = +Tag = c790fc7c7efbbec3e277d04118052f +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 2f66db97f1d732d46b215231ee17626f +IV = 38 +CT = f74c01461638cc65b7a21b7c0273a2bb +AAD = +Tag = b2eb9e0cf2dd229b0301640980dd +FAIL + +Count = 1 +Key = 8fb1aaebb4a9ca10e02988d0a4f1dc16 +IV = 62 +CT = ccf9abe3e419fd35c2a5705d0854281d +AAD = +Tag = a9997aa72ed51b1d1cc1edd16119 +FAIL + +Count = 2 +Key = c1ab07898b0b47045550ce4cb6bf67ba +IV = ad +CT = c24a15d86cbee30d9980d44683ccdacb +AAD = +Tag = 84e226b9b0a0e9a77b5569da8d3b +PT = 35a4a7154b6ecdc644022dbb1ba520ca + +Count = 3 +Key = 21f92440a008140fc66e8a1b3d5502f1 +IV = fd +CT = 8bea78711e189143ea54b5a565b5a0f6 +AAD = +Tag = f7c45f77ada09da646a133a18eb6 +FAIL + +Count = 4 +Key = 3394f1b13f199c3204729fbc07d95b4d +IV = de +CT = 99773519ec73bbfee2afea219893f5c1 +AAD = +Tag = 9abfaebe872ff7bdc524eb8ab091 +FAIL + +Count = 5 +Key = abdabd3157e88260806215310a48615c +IV = ff +CT = 65df5d66013c3c016b0f2f2ad596ab34 +AAD = +Tag = 34f9abfa10de15e7154d67cdd698 +FAIL + +Count = 6 +Key = 4e0908560c04afb793535d6ee0c35f51 +IV = cf +CT = e7bd6c2138f351df8ed62907c1ba346e +AAD = +Tag = 817d7ced18b47c0ef362020d1420 +FAIL + +Count = 7 +Key = 857d5f0daecd8f681992baf5ecf0105e +IV = c3 +CT = 9eaabf63f7ca893ee5ade212dad5a769 +AAD = +Tag = ccd8bec7b61a7a5c60cc99c3c51a +FAIL + +Count = 8 +Key = f526551ef56c5d68122cf128b0bed68a +IV = bc +CT = 043c5aad11daaf424760fdd9c4794d19 +AAD = +Tag = 661b1e4fb1e523fa172faf62a9ab +FAIL + +Count = 9 +Key = 8af62ac99c8e806b1032a95002f68940 +IV = 45 +CT = 92c1765f4a7948ce031ba6d949a981bb +AAD = +Tag = 498fc00c1b8f1a32ef52c86cb35a +PT = 3e8f79621f9d85fb6c07b8ea888a3fda + +Count = 10 +Key = b5e068dc14ce9dd6f6ee0e236a7da498 +IV = e8 +CT = 1210f2089a792251b564530b7bc7107b +AAD = +Tag = 91bd4f6fdb2866edcde6869e2a0e +PT = 40099691052c78e098f446ec95c7f910 + +Count = 11 +Key = 1d39746ee2f8e54c6ea39471b0e4539a +IV = 60 +CT = 759d929376c82220ab8658825c777822 +AAD = +Tag = 1e2f400c0413eaec601aa1c6fd65 +PT = cadc7f79f6bd1c1fdb1fce5e8dc54af0 + +Count = 12 +Key = 40fec49967f146bf665ce9be2f0ac4a6 +IV = c7 +CT = 0ab81b999d5093a8ad5780cd38ec8372 +AAD = +Tag = 72d3e0f12940a6128794cd6dd334 +PT = 8df3b415c26a226a9c36e1a56886c77a + +Count = 13 +Key = 6516aac8d781c26e855ab9ddc3d0ae08 +IV = e7 +CT = d2a2f0c418d75d82b4e408ec30d92f7c +AAD = +Tag = 0c91e5f16f515d1cc7347d34d6a0 +FAIL + +Count = 14 +Key = 80f14aaedafaf126795ad520d87c95a9 +IV = c3 +CT = 45bdcef8fd05f60f71eb589eedf3f2d6 +AAD = +Tag = aa9470b07cb0fa549df693e75926 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = dd8ab1f0c4b077a9d5036f17acd11568 +IV = 7b +CT = 639fa11e90601307a71ebe264ba3c483 +AAD = +Tag = 7e206d20744475b2fa664687e4 +FAIL + +Count = 1 +Key = 642cc80b4c8e7011d0e90c933c0e5331 +IV = 8b +CT = 714bddbf844d09ad8e3c13694a9c5f88 +AAD = +Tag = 9b78e340f1646ea9dc0efaeb23 +FAIL + +Count = 2 +Key = 94bbd98cb4d41a00da3eae5c646c6035 +IV = f6 +CT = eb5080059558d98fef077345b3573835 +AAD = +Tag = f493a54dbdb0ff0998fde70387 +PT = d7269f4919c0584eda390df425f7427c + +Count = 3 +Key = 413125a6d5b9a2678e82012b1fc2e843 +IV = 32 +CT = 822cd10d999080ec8ee8e2080f6f537f +AAD = +Tag = afea0d900b99ecee735d4f2635 +PT = 51fe6ff0f4ee2b9b08f8c63429f3a690 + +Count = 4 +Key = 2a0445b7ba9875d95f793b002a7d74b9 +IV = e3 +CT = 5aed8b7b5326abeb8cf3b57e48211953 +AAD = +Tag = d0a51547ab24fa8dffbce344f7 +FAIL + +Count = 5 +Key = 8e7bd557b9f7f99b50c89c7aa92355da +IV = 35 +CT = 2560b836b161a10736ecf4f3e8816220 +AAD = +Tag = 7ff80931056c4507e8d71e0be2 +PT = 45da2c705fddd535db12adc61d770e16 + +Count = 6 +Key = ff323ac3a1cd3f738675e8cca672dad5 +IV = 02 +CT = 0f884da50433bc7297176dd9c54d675e +AAD = +Tag = 52b1541b0a11d3b9e23d144e78 +PT = 42078d5e90bbc31529b41dc408881453 + +Count = 7 +Key = 64775ea16bd43b8591f4b827721be40d +IV = 29 +CT = 4138ee26b791b2040c206fa900c9d540 +AAD = +Tag = 9bb56eb6aef1bf1f4ec71c560b +FAIL + +Count = 8 +Key = affcf4e85958cdc2d172f3d912efa9f6 +IV = f6 +CT = b2aadd1235fe9f177cda63534e1a44e7 +AAD = +Tag = 5bdf88aa1317a019d59cf0f59d +PT = 48ea2dc420905366bcd1cfefc442d96a + +Count = 9 +Key = 5854040b70c53633f0e296c4cd09094a +IV = fa +CT = 3cff63ede2bc7b368d899d20c903df47 +AAD = +Tag = 7a9426bb4c937986751c62b8b1 +PT = 986bff8ce73ddb1b851ed4db6a47e167 + +Count = 10 +Key = 717ac03f89a7580bd3dd6878b11195e5 +IV = 26 +CT = 1a68e6db512558cc1d9c74e4075a8601 +AAD = +Tag = f2a31b5a6fe482abffcaba30ba +FAIL + +Count = 11 +Key = 5be2b878ebad9996f935510da8694575 +IV = 95 +CT = fea97e1a21a81b27345dbb1853b030f8 +AAD = +Tag = 0d0452b88bcd0d123d489ffa5b +PT = 0af49b2f5d18b50bfff35cbacb0cbd42 + +Count = 12 +Key = 26d7d076cf0103074a5812c884f4218c +IV = ce +CT = 8e665b936b00bda0c91ac0667cae4cd5 +AAD = +Tag = 9f330d030d9baa0ced36d33749 +FAIL + +Count = 13 +Key = 9d29ed42459c184cc1a68c8ab4d63e2a +IV = d7 +CT = d755ee5f7d3c7881f80a660fd5c229f0 +AAD = +Tag = ecb459afc567ffa4e1fd0d3289 +FAIL + +Count = 14 +Key = b8fa50a589981ed90740c516365c7df4 +IV = 86 +CT = 8c5d90ce77bd1a65c4f0f82a5390e687 +AAD = +Tag = a589bd4c371c7bfc0dc97b7296 +PT = 09469a8b3c560ae53e150aacb94cbfc8 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = d57564e8ffbee63c7aac30d4d68622cf +IV = c9 +CT = 6f10924b9e76dbabeea8a140df7928a6 +AAD = +Tag = 2c1e95d96b653d28f8c762a3 +PT = 0a5015494ee77fb565e09fc1c8207803 + +Count = 1 +Key = a630a0b8ef16257689f3e0e56320ddd7 +IV = a3 +CT = e7cf55c9768e621e4fa2b87c5dc42b6d +AAD = +Tag = b8ba771ff17da4bc1fe60490 +FAIL + +Count = 2 +Key = af4239b825074d4b080b468f17610e87 +IV = 83 +CT = d5acb4467e5c5ac7e13382fc4000dbaf +AAD = +Tag = a28a5426e8509bf5587db5ee +FAIL + +Count = 3 +Key = b396bf2bd9d087d471150024c3d60bbb +IV = e4 +CT = 0e44f3c82a8c6b6b719c8984fa7b9208 +AAD = +Tag = 2ac7a2e973e5ab7b4faeeeac +PT = fb6c544b07b8d8c99df1ab2d0ae1ad97 + +Count = 4 +Key = b65ccf7bb1aaa9aac52a443c2c2b2b4d +IV = e2 +CT = 0d89deaba207b17b9de48c5701253c2b +AAD = +Tag = 18c19987114dcb3e656b5816 +FAIL + +Count = 5 +Key = c79d2abfdc353ecccc8b7a047eb2affa +IV = 3e +CT = c2b99877dcb2c6f7f81c1a61780a218c +AAD = +Tag = 0062abbb98788117b64a4100 +FAIL + +Count = 6 +Key = a1e4f0fd395af86e0f1b5354bf0101a7 +IV = 41 +CT = 0f7e16c0160eb450ab9e8c9c4e400573 +AAD = +Tag = 729894e0447211f322cefebf +PT = 685ba1e828e8bccc80ddf98bd5f001f8 + +Count = 7 +Key = 7578b41ff59d4dc2d7fa71285c25d6d3 +IV = 95 +CT = 4eaa453e10922bb6006f4c308e513deb +AAD = +Tag = b15679ca5a8068459b3bcd86 +FAIL + +Count = 8 +Key = 936a34ddb1b67bb0769df5a483c227eb +IV = 4a +CT = 8bf9bfcb8fa57e4dbdde274d1459d359 +AAD = +Tag = b781c344a3a486e55593f2d5 +PT = 1446be3038dd36189176e6f37b391d3c + +Count = 9 +Key = 18b5044f714009495f76aafd1035eef7 +IV = 9c +CT = 5402684703bd76b7f8e88aa9141bb365 +AAD = +Tag = 852c7216a2c375e50dea65e5 +FAIL + +Count = 10 +Key = de4f71728886ba01e4bed5314b65e36b +IV = 85 +CT = 98e6b84f5dacf78e0bfb51520c26daf4 +AAD = +Tag = 0c5f36822a2d7e8aeb134ae9 +PT = 2f9ec3a65d177757e201ae472663468b + +Count = 11 +Key = e31feca9c189e79de791475e7ad75ffa +IV = 52 +CT = 4df9a59427a78322d39105b51f20e36e +AAD = +Tag = ce98db5070d14110e0d1dab8 +PT = c44dc809d05556b14567e112f146ab2b + +Count = 12 +Key = 11bad4d86bbc954ed8cc3d3f3e4b4d42 +IV = 9f +CT = b8b624d60fe59161a1f7492b2ce3c31f +AAD = +Tag = e4b31bb581291a88b82b12f2 +PT = 22e87f2b001c140d1ce19d749d017af6 + +Count = 13 +Key = f1a345bb809cc1123402235ae557bcd5 +IV = b8 +CT = e7dacb941abb656dfd89d294b83c7641 +AAD = +Tag = 65ae02cf28ac42d2bd18e85d +PT = caf9829fde136d413600ac7b80713c83 + +Count = 14 +Key = 19fa89a78154158cca2a4f2921635ea5 +IV = 6e +CT = 9e420c117b7fdaf1cde85c9bd6f0e7d8 +AAD = +Tag = bd3637c10740afa7822f5178 +PT = e87ff53a9c26b0d137e5f8af3e41abc1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 3557e7049e4e740fa5a30aad30066b77 +IV = 2c +CT = b49ab24430a23348d567e573e2baa460 +AAD = +Tag = 9ad9848ddb7edb0b +PT = dafc604c96aa6b59c03b32bfd4d985be + +Count = 1 +Key = 5bf2b336e83db5266f3138d45b20b156 +IV = dc +CT = f6a44c300d8e6290f5d22cee7d3cf160 +AAD = +Tag = 90bc24855ae6e9ea +FAIL + +Count = 2 +Key = c39dde95042438a11f0613d891e5249d +IV = 78 +CT = 326ed211a48b016bc8f235a656a01a46 +AAD = +Tag = ba7f8de04663fe92 +FAIL + +Count = 3 +Key = 48029a8a95c7364859a88aeb52bf5306 +IV = 85 +CT = aa298d2c15f5ec31289f499ebe81d780 +AAD = +Tag = 5fbeb15573d49aa9 +FAIL + +Count = 4 +Key = 2779b299426758b5eb20cf96ee75c9fe +IV = 69 +CT = 3119407dcd8da13835a076e0e8100595 +AAD = +Tag = c3448cf39dab61f7 +FAIL + +Count = 5 +Key = 17d647803c9fcd0d5165cce62c41fbd2 +IV = 43 +CT = c5fa40d5048db4693151aa9c74120bb4 +AAD = +Tag = 6d316993591e9f1c +PT = 37b4040310c937a74b9960dee273a39c + +Count = 6 +Key = bfdb13b0a25387ceacb66900d54c5949 +IV = 38 +CT = 57dc7a15c850f516fc7e485882ad81ec +AAD = +Tag = d4077902290a5525 +FAIL + +Count = 7 +Key = 3fd3490529de53440660a7328a62b0ea +IV = 82 +CT = 13ac400aae9ba5feff04450f0ec57260 +AAD = +Tag = b49913001e1e3024 +FAIL + +Count = 8 +Key = 9d7038466897540c0200fd02bd8388b8 +IV = 4e +CT = cfd01b2e7c8aa4849409fd6f313b2d84 +AAD = +Tag = c00e3a23a2b0943b +FAIL + +Count = 9 +Key = 8684fac07ab4267c15708bcd883c7144 +IV = 30 +CT = f78fd1ce080de17aed167df012c0b652 +AAD = +Tag = 446a94539999b325 +PT = d3b511da88f59b41b4e816b57e8f3ddd + +Count = 10 +Key = 5bcb7572167e839506542a731a57f48c +IV = 88 +CT = 09260742ab63a3d83aab8ddafba13600 +AAD = +Tag = d0a2c0f9a3a17a50 +PT = d2d1f441ee0cb220b62cc9d59e6f3c44 + +Count = 11 +Key = b3c9d9cc4d9118aa5b054a2d88fc4acf +IV = b8 +CT = c0410ba3198478be737cd1f887cb1314 +AAD = +Tag = 2c9bff9d9a4e862f +PT = e122bf2c809a3322c40bc7debfed9f7d + +Count = 12 +Key = 2f63cb0ea4ff65328ccfe1a37d00ba31 +IV = 55 +CT = 23a46589e2fc567f739ceb39ec5e4675 +AAD = +Tag = e377f08bb7b7bf51 +FAIL + +Count = 13 +Key = 7990473e24e8acb508e1305b2766be7f +IV = b4 +CT = f69dc1d9186258e05a84f778ea64a663 +AAD = +Tag = ebc87d803497ce2e +PT = cfe98bad031844a7e4766ab9cf88eb98 + +Count = 14 +Key = e122e503910fc0137950022ddf321c49 +IV = ba +CT = 6523b2f62e7189a65a5a561319d60c55 +AAD = +Tag = 2b71a5df9378ed4a +PT = 3c9ebb5b8e78bdb115fb94eb42e090b1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 73c50290d039d5d00037612cfa0dfb96 +IV = c2 +CT = eeacc888530dbfccda45200e8cb5e92c +AAD = +Tag = e442de28 +PT = 64c9de79689a526fec6d3b65bf4c7871 + +Count = 1 +Key = a0b95f863b457a88ace2bc744103975e +IV = 81 +CT = a5a24bb0677b35876747df1beab4db71 +AAD = +Tag = 827912b5 +FAIL + +Count = 2 +Key = dccffbfe14de1ef3e647ae8a7d26bddf +IV = 95 +CT = 649ce64003a4c9c8d2a6b61a39051825 +AAD = +Tag = 85b0a379 +PT = 6a69141414bd1dfa7354dde583476796 + +Count = 3 +Key = 0f5c5075194cdb17746a6036e5025b3f +IV = c7 +CT = 336d3e90708bca88a4d6d26a1d1b65d9 +AAD = +Tag = 93e91487 +PT = d104de922da43daddc1613d76adc0b93 + +Count = 4 +Key = 0c4d222546ed37ad0f765f92ac93a558 +IV = bc +CT = 22b7ab64202e424d62d2246e705d12e1 +AAD = +Tag = a3778d66 +PT = 957d071142aab8bcf2cf876234d888d9 + +Count = 5 +Key = 3787427c2ca37e4ac167a4ac955d5544 +IV = a4 +CT = 489b984fc8127b7cf0d4085923049492 +AAD = +Tag = 4686c7a7 +FAIL + +Count = 6 +Key = bf352f9e5d83bc48b91dbe68040d3c96 +IV = db +CT = c740c043fb97585a7656578619009965 +AAD = +Tag = 5ae733ce +FAIL + +Count = 7 +Key = eaeca92453bf7db049dec18bd49db811 +IV = 5a +CT = 97fa26ab12c4afba54aee3c3c0248051 +AAD = +Tag = c72a24b2 +PT = 6e1b41a05223ddccbd85cb0cf5827084 + +Count = 8 +Key = 68b450a041c8a0106b57bce1d4231512 +IV = 31 +CT = b3dcf4a3be34888dcb19d0b3c60402e5 +AAD = +Tag = 7a2f9dc0 +FAIL + +Count = 9 +Key = fa4385dcc4aa5fee84a560adabde13b2 +IV = aa +CT = 65e72f0c20d9c999f088d3a53cc78b06 +AAD = +Tag = 93911c01 +PT = f1393f94f2151991b4293707f6239eeb + +Count = 10 +Key = 16ff6931ea39bd0278b2aae7b9428984 +IV = f4 +CT = dd570039864e94cbdca441c8edb3928a +AAD = +Tag = 5149d277 +PT = 086ba4b10929628829b91714db663d48 + +Count = 11 +Key = ceb210e82b856d31dfea17cef16d9356 +IV = 2c +CT = f662a2f9914988a61dca29e2ac4afc78 +AAD = +Tag = 1fab38ca +PT = 770ff2c7231e591f971b20371ac7bf1f + +Count = 12 +Key = 8210162c2f084c3a0e01385282ec0b29 +IV = 09 +CT = dbdac0b25b3c6468feeb15f61d741540 +AAD = +Tag = e3df0f60 +FAIL + +Count = 13 +Key = 714cebdcd24dca57a96cb694842a2731 +IV = 1c +CT = 479fd96934ded10ba69aa15233a55b50 +AAD = +Tag = 412b0700 +PT = 946e97da6a9998a21b85b4e442c285e8 + +Count = 14 +Key = c57e947730702738a8f9b0c2cb442f78 +IV = cd +CT = 8811111a86af332d1551db61730bd4e6 +AAD = +Tag = befbd264 +PT = a6e639bc1e040fd058937ea84e00b3a2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = bb01d703811c101a35e0ffd291baf24b +IV = ca +CT = 6b5fb39dc1c57a4ff3514dc2d5f0d007 +AAD = 40fcdcd74ad78bf13e7c60555051dd54 +Tag = 0690ed0134ddc695312e2af9577a1ea6 +PT = 57ce451fa5e235a58e1aa23b77cbafe2 + +Count = 1 +Key = 9c0f5ddaafa6607f53ca1a8be5363dbe +IV = 0d +CT = f95675ca26da00174e5f95fdbcbc0733 +AAD = 8bf158f144612aaacc8a55df20e65f01 +Tag = b08472da09d271312f664062bfb9f229 +FAIL + +Count = 2 +Key = 41189943dd792fc053194b9a256bd689 +IV = ce +CT = 75f8595836a35a5292846bbe111f1262 +AAD = a137ece473fecb90e977ab01fa5a05dc +Tag = 3c43befa6a50a173c7583b3270bfd1d2 +PT = c2b2580bab09c4684a031add4079af7f + +Count = 3 +Key = 9a83ec9d9ede290b9eb9d15be76fab18 +IV = 93 +CT = b69da3921a7862614f9916b3ea48defe +AAD = 87c568ed76a356622b0c4b44af5ff930 +Tag = a4bd734b9d438f105744849c47a3fc3f +PT = 717e932cb57205a8c3b26bf03dd7ed66 + +Count = 4 +Key = 660590a1520a2a6e7dac32b6ef91600b +IV = bc +CT = b0d7fe945b64610e2e5ca0179acf89df +AAD = 301d0ee073a584d43335061bf3a5e8ba +Tag = bc5bdd643b2bde7ea5719449e3a4aa8a +FAIL + +Count = 5 +Key = 43201453df2f36d9c00ca0a6e22a32e0 +IV = cd +CT = c402ee50bf9f0400e5935e47277b93c5 +AAD = 4cbbf6dc13b1b0654dc584aaff691542 +Tag = ae2d0d584262b5215fb9d716361a8cd2 +FAIL + +Count = 6 +Key = d88f656421a2da9b81a778eebfa478b5 +IV = d1 +CT = 1c9e520ae393416fcdf46050b798b96e +AAD = c865c7042459bf3197f56a759ab3a332 +Tag = 74ae9b1dab8392536b057157796e1f1a +FAIL + +Count = 7 +Key = 934d1d7e1f5ea0030a38ad84e795a743 +IV = ee +CT = b3a76d615a99bd1f48618b48abe5e879 +AAD = 94412e23057e6b191a4b167232a8c12c +Tag = 8fd7e01de331cce9297f9652872ad2c3 +FAIL + +Count = 8 +Key = 38d76d10fdbd94cfe547f94065870cd9 +IV = 13 +CT = aae033acf66e9689ff565102538a7de5 +AAD = f7895ca67afae65ef1a0a220b14d9298 +Tag = ca77651597b6f9ab1486b2a845b557d7 +PT = 3314ebc9de87c9a9c5029ef6e6f76b68 + +Count = 9 +Key = 34269c94b363bbfd00ca389199ab016a +IV = 66 +CT = 9214dcb1378e15253b494e53b682256c +AAD = e2e4384829c46a9773e3f52c962046d1 +Tag = 72313df1c783252dd493a866d7b9306e +FAIL + +Count = 10 +Key = 705a709a69cd07fc198bf8f507e8b207 +IV = e6 +CT = e44d5369f1a2ca451e88a921af79df27 +AAD = d105966cc321b74ffbf0f74dbe7f4395 +Tag = 0b7cfc50d7996876f8392e3f122bc16c +PT = a19fbb90c47562744b2c973a23d30af3 + +Count = 11 +Key = dbbdd1bceebd1734c101ff3d2a2ee7e4 +IV = d1 +CT = e4c797cdfc84728fc97a7f23b8fa211f +AAD = 4c139a501729903adf503b27d0aa275b +Tag = f3d9070f81671008727f792139df1de2 +PT = 7790de2fca017ad89fb6c4818721d59c + +Count = 12 +Key = a3b71e7e2ceb2443f74d9eb1b47cd122 +IV = c4 +CT = 09ca19d396a10f8d627ac79628bf9b07 +AAD = 788fd4360fc070d91a166fbaf17a4e91 +Tag = ccc573e30e30fcbee9ce52323ebfe626 +FAIL + +Count = 13 +Key = 775a5fdd622fef46bff1bc6d42571e28 +IV = 57 +CT = 53be811a5bd6683a35ab4d7dd92ee290 +AAD = 0e560156adb642b51e0d56fdb85b1354 +Tag = f7ccc5b960b89025a98834885b0241be +FAIL + +Count = 14 +Key = abfd013800b4923ee851512c8295aba7 +IV = 2e +CT = 3eee6a43e5920639c779f3afa4afa041 +AAD = 3503566c08c78d446e5ce2b143ff5734 +Tag = 1aa9d08a381a36dfd15b1936b6b64c55 +PT = 192acfd5039d91db9ed6d6f7855ee73e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 90bd993979d87456323e67e7e7ef3317 +IV = 02 +CT = 568087c759ec9ab558729bfba2664bd8 +AAD = ebf54c96b8de84de8e5e2a7d4491cce8 +Tag = 8be71694e42d63d5da8793f56ccc16 +FAIL + +Count = 1 +Key = 7386a520391ddfd899e2bf05a643f977 +IV = 25 +CT = 4b95baeef88d946b2c86b385b5846ec0 +AAD = 30b3b75d93b446ae98469526b81ed05e +Tag = c612f5f5319d2c7b6058ee7720d188 +PT = fb8b3356a8438987cec08f63613ae70e + +Count = 2 +Key = 31f827c1e297e42894d159687d7d1b63 +IV = 96 +CT = b02fcb65e50a722620a92f6f3663de5f +AAD = 4f11ec08f86090a97381db9be349066f +Tag = 5d820d2d5e3adcae25f055507e76ba +FAIL + +Count = 3 +Key = 020a8b62e7742ac72d78277004731666 +IV = 02 +CT = 8b1d854f539a3cae48c9ccb73d3e2e2d +AAD = 24fa3cca9f0ac7b2bc3658088719570b +Tag = a75a7ff538b818e983179fb6375497 +FAIL + +Count = 4 +Key = ed9ab6507897d82180148227d2e2caf7 +IV = 62 +CT = 2d4102bd46957707935734ddba9c734f +AAD = 11c7fdb7449292c0169955f3a8dc7247 +Tag = 58c5184c33b87ce4cc7f5ca6e0b56f +FAIL + +Count = 5 +Key = 4d12f766f3d29cd5f963b22842b31b26 +IV = 74 +CT = 3c77e980d24449f71e3e918cba46431a +AAD = 3b816893dba87462b787e5615749cce8 +Tag = 1f0cd2c1267ac87602ad145076309d +PT = e003e75c450b8d7dd554dd9a142e8dd8 + +Count = 6 +Key = 31f0a060d4844db83fcf819230f4e3ca +IV = 91 +CT = 9ea122a5ba2dd646fd6b39e1ded94b60 +AAD = 416d664dc1f391f78d2341f0e894ef0e +Tag = eb3795088fe3d9a4e49b2d6e7a3c7d +FAIL + +Count = 7 +Key = 22be64b8ec726fec30a09179e2141d86 +IV = c1 +CT = 30d57b2470c5570a40674e37e12ba98d +AAD = 21cba01d074bfe0d45663c9940f16fd9 +Tag = 6cfa96d0a3e450b2dfd6a239ede724 +FAIL + +Count = 8 +Key = 21a236f7f1423811a4f64b82b0a498f4 +IV = 89 +CT = 629cdd1e66d447d62b7da4dba0c4ffb6 +AAD = e830c6d82dc15d60e66f4fd265074d0c +Tag = e05fc6785715dd93879fa0622ff030 +PT = 35fc5141ee374acb82781848b6138765 + +Count = 9 +Key = 4eb8d109ecbc00f56b2e7fdee0d57774 +IV = 25 +CT = d8057d680a114f8fee94631715909073 +AAD = 4e629fda111556aa176afab1f1abc46d +Tag = d1ffff38541f178db205e8187c812f +PT = 631fddc65dadfcfb38d88e2bc6fae62a + +Count = 10 +Key = 37dd446bd4f2f74d575bc37ed730bdb5 +IV = 21 +CT = d71a76e72c0df439b5ad57b903b27757 +AAD = 14ac59eef18c77b3b2b7fe808d0f80b0 +Tag = d26b2c1c940a4a561e472924063c63 +FAIL + +Count = 11 +Key = 5f891dffff684c8fbc59c93933be8124 +IV = 0e +CT = 8f284456e038f12aa250049e3dcd0508 +AAD = 3ea2f01050a8746ea04a52ec9c0191af +Tag = db3df08b219018252be95427befad1 +FAIL + +Count = 12 +Key = edaccb3b7df5d6a5f54cc62c140c1e13 +IV = a8 +CT = 1cf5a226e00ec251065a9192b3827cb5 +AAD = f8885efb2dac244e3d06037a92ac8094 +Tag = f25d6505dc9d59330d1cb51036bf6e +FAIL + +Count = 13 +Key = e9a0e1af7084a01f66f125a9ef2130ed +IV = fa +CT = 803f2618beecb5620f69b7d9ea3e3ce6 +AAD = 91909b20da568811bed87b51233618e0 +Tag = 41d1cbd8017f85664b220d47836fbb +PT = 8e92a3ff97aeb17b43ee36da3cf3a0c7 + +Count = 14 +Key = caffc8f22dc899dea6ed2d465bea79a7 +IV = f0 +CT = d007aa48f57252d99459daff50d1ac9e +AAD = 99e7434dd3afd0e594aa06f200d09fae +Tag = fa90805fe4849393742839946d9e0e +PT = 5be4e57d7a8deca27ac8c9c46fd596c7 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 55940682dc7567d944a4f6ad75d65fb3 +IV = 3d +CT = 9bb134c6dc756454b5a45f2e8cbcdc5e +AAD = 8f154a9ea9fa0f360be79cca3696fc2c +Tag = 7b3aaaa9151c78e456b04e8c283a +FAIL + +Count = 1 +Key = b0be449fdb603717b1b4c71651f5ac4a +IV = cc +CT = 4257a6b395d8fe461cf7350b0b5b656f +AAD = 7bd2a4b4d610c4e528308539751df0ea +Tag = 0b6aad192b555567a12e420ba412 +FAIL + +Count = 2 +Key = 0e20ba3ccfd75a247c5d5f61cb63de71 +IV = b8 +CT = 8f29ec00e2cac702e122cf91ae0a0281 +AAD = e87353d909e0895e1683089c6ac428cb +Tag = 980728fb33f1f6c912865ac0df8f +FAIL + +Count = 3 +Key = c993ba10d6898ad91eec350edbffa36b +IV = 2d +CT = 483c62565afa4af14afb092eeaa1c48e +AAD = 0e5c4943c502a41f44c4827d4f97e4c8 +Tag = f951dbd7c9cf818880e0572eebc7 +PT = c809801f014357b0d2804b36c842a3cd + +Count = 4 +Key = e7a618a36f21b572967130a6e6f864ec +IV = 34 +CT = b2d32960d79f7b3fc7b159371977babe +AAD = 3d2ce44583a763a19fc49c6a87b15988 +Tag = 38d3c59dce9ccb573a811a32e727 +FAIL + +Count = 5 +Key = 00d91c471a80eeba16cbeb7e2a58e6c8 +IV = 9c +CT = 1082f43a5f3c0dde2c17df91996311c3 +AAD = a7cc1180a229a4e8a022edbcaa131eee +Tag = ef00b7e83eba41dec4cb85b12e02 +PT = e43a4c515297eb23d0fc1772bc3839f1 + +Count = 6 +Key = 55070ef530561e2a175ff8fbeae654e4 +IV = 38 +CT = fd0b22167c6950429c3c756c78608223 +AAD = e7a582c22b0f0d9c8aa3ed7885a102cc +Tag = ccd6a6443304ce303b0051d59a19 +PT = c90f2cb97f9d219094f45ab1512b6702 + +Count = 7 +Key = 70009b6a63312a4aad0cc658eba30d24 +IV = e9 +CT = ee4a7f913c04018cb50b4e305904881b +AAD = 84f8a36254f0853a0f0c6df06072a7ef +Tag = a7faad0d93d26dcad28d79913669 +PT = 84785036f892d6f8183ba5c1d586f4a5 + +Count = 8 +Key = 1cb62032f827714adeae70ec89c104ef +IV = fd +CT = a43327ba747789bd9229fe928476b607 +AAD = 9e7c9e2010458e75d5f4acbfbf713d17 +Tag = 83ef003ca27f5407cae2c9f6ef1b +PT = 35d43b20a10b0ee65b9e23911ef12cdf + +Count = 9 +Key = fa88392f50d84cc9a406b2165dbf0430 +IV = 69 +CT = c124665f27727b6e68cd4bc78c8581cb +AAD = edd56c31e3c1217a0a2d8acc9065ab96 +Tag = 380eca79405437f6bdb9cd680d00 +PT = 7eb8a8002d76a8cb0e4a31656c4b68f1 + +Count = 10 +Key = e39cbb00761dc4e323086d9d371cbb43 +IV = ca +CT = 7899113fb863183122c26b8399b373ca +AAD = ddd4cb87c023d27473057f79ae12c91e +Tag = d6b90297f2971da68c90d9eeee82 +FAIL + +Count = 11 +Key = 22bd880fc49ea80050ed8561c6d2e5e7 +IV = da +CT = c272143e58c520e1bc11cebae9af09fe +AAD = dd4d21f4f466f5ba747aab8c929cdb09 +Tag = 778378ae47e3bfa93541ddbe349f +PT = f58c9c93b829749b00565386c1460624 + +Count = 12 +Key = 36f2e5599d6feec1fa9df66ac5ab5da7 +IV = 63 +CT = 26588b01633f98bf0ba6072481402ee1 +AAD = 88fdbc8264d7ef9d7a6ef9b1c9d2d07f +Tag = 896a6cfc4454fd08ba1ed397f558 +PT = 408d952f1c03a508f90fbc08a475c752 + +Count = 13 +Key = b088e8e6219caf9072d05cba2a63383f +IV = 0a +CT = 6107e35be5bbed275bf7f2bcfc2b00e1 +AAD = f1136cf4a49ce49e8db693e7f43cb5ab +Tag = e7ecfb271cc47e194dfffcc0a98b +FAIL + +Count = 14 +Key = b0055c1a9c4a90c11c538b781462fa52 +IV = 9b +CT = fefd590b5ede8849a26fbb026e251cf5 +AAD = 0c200c809369f5068ccfc7939ca4dadb +Tag = 3489e738a0ae4c35c9aa36f5ed1e +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = d3112ba48c4cac2de7702525dfb2e48a +IV = 0d +CT = 8f844a1894fc40e0d9947ded51eea3b6 +AAD = b83bf8e0504163a4848e913d0ecbc106 +Tag = fb8e904f78c415ee13f1dbd6a6 +FAIL + +Count = 1 +Key = 59e55237ead23444d0ff202f403f67de +IV = 56 +CT = 0143db02c16573ca84e542f8274f07d4 +AAD = 2aaa5139d12fed813c68b1ef6ee68264 +Tag = 24b7acf7dc7f49cc41c7de05c4 +PT = 6ed97a5415d911c759d62f7e955d7b54 + +Count = 2 +Key = be81cdd20f71bd100f9440337cc094a4 +IV = 6d +CT = 30dd9a1a03b1ec97717780de1f203a50 +AAD = c0bb3c8b648455190dd38a76c03afca3 +Tag = ae2ca293c06c571acfff1d9ec6 +PT = 432c33b3ed9f764bbc4108fd1238d832 + +Count = 3 +Key = 96d2a9b5240b8538fa7e87f8a4f3fb2c +IV = 25 +CT = a3571393cf30014eebc4995cfcb4cb35 +AAD = 41e64d164649da6b50ca0eddb190bd0a +Tag = 007689081dd9ff21c20754d157 +FAIL + +Count = 4 +Key = 863d6e93de54e26ed93ebcdd3aef83c8 +IV = 04 +CT = 1b8962435a5c8ad8488aaf9339b884ce +AAD = 2416c80980b4d8bf8906c643978c326b +Tag = 3c3d612408e7ce4a8c6a236ce4 +FAIL + +Count = 5 +Key = 837a1aeda6f25fba1e153c27dd430f4b +IV = d3 +CT = 1ffba6764dac86848468c1ba53115063 +AAD = cba0d9e53d966028d6490c690f8a0d1b +Tag = 164cdc316786c29a7cfa83a6d6 +FAIL + +Count = 6 +Key = 6aab75dd2e3172573e201ee089d3235a +IV = da +CT = be72727d3711d27904086848fa8034f5 +AAD = 3a9b1af9ea76a391b24f0dad44eaf3b5 +Tag = 26cd6859a023e416f53dd6e6c1 +PT = 2acb88b058a47f8d5aa0c553eb450ada + +Count = 7 +Key = 317df7a75f206e925b726a4efb197af8 +IV = e8 +CT = ef95789326c9bfc47bf4b7a400edc607 +AAD = daec9fd0be69a861bfcd30d3ac5a2c95 +Tag = 1ebc983dacb0216a90a3be4185 +PT = 2bf69f3f35cb94086da0fe0e2c9ef254 + +Count = 8 +Key = 04e55c60e2fe8aad47e3822232a29795 +IV = 31 +CT = dae89915edeb92863e0f541f6265046b +AAD = de5d7f198e7d767593dd41dc915b2319 +Tag = 9cac3654aca062ef8a1e790c71 +FAIL + +Count = 9 +Key = dbdd862ab7488dc5c1f708a2dd7a3e07 +IV = 40 +CT = db0980eea7879e6eaae16059f4de4bf7 +AAD = f40c9df7477b16d2244fbf32ac5bcb1c +Tag = 32b1084282b0709d692cdeb516 +PT = 689e84ac2d9b256ef4b82dc3d6b74eb7 + +Count = 10 +Key = dbe137a4985281e8b90ccef4d490aeee +IV = 73 +CT = 9d0291687f4789220b5bc2ffca237b88 +AAD = 1d9e621f151b94e3416f82bc181db692 +Tag = 790bd2dc4afaaf9c8b76ad2049 +FAIL + +Count = 11 +Key = 14e2da5277397f315e2ce8cb5e35aab3 +IV = c5 +CT = 05b61bd9a4069352ee3991813fe5ed2f +AAD = f34b938095d99a04a8c9168e852d52b3 +Tag = a9243bc42179dee4ffece19d27 +PT = 7afcf9c1c67520388113189da5fe25d8 + +Count = 12 +Key = 08d4d5f9113335e4f6925fcfbf1d709b +IV = 37 +CT = 5fe1ad265952db18a353e090fc8b9042 +AAD = b1f86b08f0c12ad8d6eb46d7d3ba4721 +Tag = 1aa8914a0268076bad5a2c376b +PT = 22171a2c77baa16a7daa60a6cf0ff62a + +Count = 13 +Key = 43aa85ee8c8e2bf16c0223f83ce6b1fc +IV = 16 +CT = 6cc37fd51b522ca3dae1b5963c4fca1b +AAD = cea0426a6296dd2540244968116a2603 +Tag = 2141eec9f2e315ff2dc07bf3ce +PT = 81ecda8d294067856ac1c874a43fd0d3 + +Count = 14 +Key = af9b19a18e44219e5fbff4cbef480581 +IV = d8 +CT = 369aa2ebc3bf50610c2ef496510b684d +AAD = 238fa3ada35bdf6fdd2148a98451922a +Tag = 7e704ac37501ad034fba6e5b5f +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = b41a330c101ae3c5539afd4f720233cb +IV = da +CT = db839ed9bb095bf90838be5d5cbf944e +AAD = c46b7f0b1187ed0e9b9d84e1e83ed2e8 +Tag = e7701f969d18a43c82ba451d +FAIL + +Count = 1 +Key = bf97a9e5ca3392468ab6c1e36625e7e1 +IV = 9c +CT = 20b253c7650e07ba1b11ac53d59905ef +AAD = 06ebad08451a9b7dee42ec2eb8122bb6 +Tag = 41f0bbabaaa2be1276fac33d +FAIL + +Count = 2 +Key = 6d22fc58b0f820a7958b925a83ed8ac5 +IV = e0 +CT = ef7388e7a04f0b70a4dce327ad80dafd +AAD = 8995d3a02072dfced1c442aabd88e82b +Tag = 292f3497087af7a2ec1ee524 +FAIL + +Count = 3 +Key = 20a3b74b25bcf435186b897814675e91 +IV = b6 +CT = d5f48bb0d3ad9a6ea7f8781a93b5d3af +AAD = 82267e126cf304b483883eeb156baeda +Tag = 74d4fd035dcd3e8bc91968f2 +PT = 0d8d53ed69623ff67603e6fb15629e28 + +Count = 4 +Key = 32291df54f076f17e1de35ec48fb4acf +IV = e7 +CT = 20697ffaa66dac9ee2e9abc38cd57aec +AAD = 96974ca4ed473ecfc2a7834655cd53a9 +Tag = ba0687dd8f7d6236b6e63ecc +FAIL + +Count = 5 +Key = 6cf93166d22fbbfb4e6649e5216e29f6 +IV = 8b +CT = 78cddddf58adb12bdcbc61aa3eca893d +AAD = acb13e85a7907de6d71ebf959256ff8a +Tag = a980044cfc4dbd11312e8fc5 +PT = 86f0e2ba2fabddf47275b51816cf8c8c + +Count = 6 +Key = 7cd5cb6db9ebc18fc2265746a8ed062a +IV = 66 +CT = e6ba5262f5aa68d5d2c4c882b175bc4c +AAD = 493c3ba63284f33752a3f031723c7340 +Tag = dcf05f86d42df8b760cc92b7 +PT = 580809547d2dca857cf9a0149e0368b5 + +Count = 7 +Key = cea198eaa4b884639d76da499342e13a +IV = 13 +CT = 6ac48f497dfdaca4f4b2ed2305933f6f +AAD = 1402d47e3c39f772aff2e8f919407c94 +Tag = 828b7d7117282ec56f53ecbf +FAIL + +Count = 8 +Key = b6fc022dcfcd912e7bc3cca4147b2e7e +IV = 8b +CT = 5ca83a28305a7cf26def8e5ad5ef9b3e +AAD = f5e6d05ace2e48b2e84bd1257afe9b3e +Tag = 7333d2b80b8dec098fdff031 +PT = 13705a2359d51efdec75c681cceb1e83 + +Count = 9 +Key = 6279f3d98f8cdfc92cbde9747206082a +IV = a9 +CT = deb78eada34d7588cc7cb49c72c1f480 +AAD = f52e3340df990a4f32c05127e48ef759 +Tag = 3bed8cdec87e29e3507e14ea +FAIL + +Count = 10 +Key = c9331900d2999b51ecbe70550e9e3737 +IV = 0e +CT = d00f7a468052c82100b5b178d6b8f5b8 +AAD = a8b4e2113af5a2f95c5373995b460b35 +Tag = 9c0ccac205eecd7456404d92 +PT = bb8c65ba2b77ad89ab53250614e88dba + +Count = 11 +Key = cfe6ecc70c0404bad0de5f51aa586558 +IV = 92 +CT = c923aba3e8eec56a3238875e9f61c836 +AAD = 53e1c286f1aba12a7d6b92f01c3423f3 +Tag = df1e83a2235f3f9a81be66cb +PT = 6010a08db8f9e052f42ae5e248add493 + +Count = 12 +Key = c3a9ffb7cc075227bcc2682cc9a577b6 +IV = b1 +CT = 0625c062f7a5f498bbc1e3cb6cf22110 +AAD = d30a4e6e6aef3643dab8a658d898aeb7 +Tag = 34d21e6894e841b8e1e5c4de +PT = c0084eb62b457066f76b35f2615623ae + +Count = 13 +Key = 41d3f951ce6204e737c4f9e90f84d2a1 +IV = f4 +CT = dfe70eb222a9bdb19a2f06d167398cea +AAD = cef5649c1b1f66817f3e5630bbfda306 +Tag = 5c9711a3a60c708b3c3ec152 +PT = 93cbbe1e49af712a0cbf057dbe74431b + +Count = 14 +Key = 512ed342d169c5868fef78ce27a9988d +IV = 36 +CT = da9d172edca56a2ac7b8b55bfa9f17f2 +AAD = a9bc3288fd4111669969192e7af8e447 +Tag = a7feb867d6cbf250ccef4fc2 +PT = cb228615db3a5ced251b0dd3e7369452 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 9427fdef71e9876161ecd6c38218b235 +IV = af +CT = 7f2dcd3da7cc2ed87c899ea2a1c3b088 +AAD = af35363a1506907c7dc3ab91c0578e87 +Tag = ffe0e24fb7d16862 +FAIL + +Count = 1 +Key = d18146e22c44f83abc945b70f1e62b33 +IV = 31 +CT = c30325b0fd8828b1a8b2ef3c104d29f8 +AAD = 8c4cfd6a2b087bf088a28ba5d81328ac +Tag = af154412d70ef58f +PT = 3a96146ece08a60b65b81f70937f00a8 + +Count = 2 +Key = c50fcf7bed1a43f8aa1c3543ad2c8e66 +IV = 87 +CT = f5da662860e2bbc768a8cd98df3a4a7d +AAD = 1bad5defd03d0dcce293d641be033bbd +Tag = 5c6085b2d6a85b04 +FAIL + +Count = 3 +Key = dd10618ce2c80fe62ebdfeee1a313cac +IV = de +CT = 356199c45152742c0108516ab06c8625 +AAD = 7dd886c56c23e92949865d3daee733c9 +Tag = fbaa4368cb1e4da9 +PT = bff29728e33c1870a1c6a6fb0aa5775f + +Count = 4 +Key = 74034bd4fb73c7425a39e0235eb0b1cc +IV = b5 +CT = 63504a362402c55c13698268e94a22b8 +AAD = 1cacdc7ff8d8b1982982e5750ec84466 +Tag = a86c3792b3ba66e5 +PT = 257b06a7795bf0dcf0b287955e50e3f0 + +Count = 5 +Key = 42f5a420cf1214cddce6b07cab8b2580 +IV = 9c +CT = 98b1805aa61862e1f3db03411ee74092 +AAD = 00017ac0dabbcbeb65e7fd071d2328de +Tag = 4bd99b5b4dec2bd8 +PT = e5dd9dc9035e95c2a7aa526e60733b3a + +Count = 6 +Key = d8e0373bd184012efece381fed54f7ca +IV = 4a +CT = d4e427da70248588702bbf9edb6b47b5 +AAD = c56ff1512b90da9d3dbee34e1cf8920d +Tag = aca0941a5ee1b222 +FAIL + +Count = 7 +Key = 55ea35d2c984166982f681daaac28597 +IV = b9 +CT = 53dba307acadb4eb2566820faceff104 +AAD = 6dc0e6c86ee3a6490219cd9cf8129049 +Tag = 01f52dbb19187608 +PT = c183cd7a87b48c30f3edba1976ebdb23 + +Count = 8 +Key = fe15089cca75a1a9775d8a2ac6519ab8 +IV = e6 +CT = 4fd2922704543074e6d47e9033337487 +AAD = 326d701b74ab10f8ba9d123348311c5a +Tag = fb16cc2d36d7e9d7 +FAIL + +Count = 9 +Key = 52ef9bb15ec86e66fcbba92b1f6ec215 +IV = e3 +CT = cf1a0acd7f04478824ac645ebeae6036 +AAD = e7b68ace6970a4b620f9a78463867f7c +Tag = a11c7d82bcd8bba9 +PT = b5637859c8cb867fce9d89f3f3a60e4b + +Count = 10 +Key = cbdb9b5b43e8f4d28994f039aedfac0e +IV = 56 +CT = bfe7e7d7f1fdaa7ad6131435cf7abcf3 +AAD = 3e8297ce59796f5c3b6376c1f9ce44ad +Tag = e745f4f85cf9a4b1 +PT = 0cacd6842005df4f16f6c6a663ddc7a8 + +Count = 11 +Key = 6cb2475cbf53686e40c40bda7375e0bd +IV = 00 +CT = cf8eabaffa1f2fbac45e3728c239fbd7 +AAD = 33de9eb801889a58f0fad10c2c6b7e99 +Tag = 1cc78c67fff9ccb1 +PT = b77ee8246c254924fe936f4a8d97cbb0 + +Count = 12 +Key = 31d7c697fc90f06bfc6b6332e33eb4f0 +IV = f1 +CT = 163618e18567c21c1294987952d15198 +AAD = 8d110063c835702874fb13674171bfd4 +Tag = 0dc7be831ca102b9 +FAIL + +Count = 13 +Key = 752a7400420975383cd5a9ff4cd2d982 +IV = ee +CT = 7eec0a1fc61bd3210ff22a908d0a6be3 +AAD = 0ea87c20077fb19117ff5276a34a36b7 +Tag = 1b890bba6a230206 +PT = ac38c238dd4fa9629779b985a239e412 + +Count = 14 +Key = d0277c553d3473867ac4aae832713db9 +IV = 50 +CT = 5a8de87227cfcf666420708b076a2f78 +AAD = dce63606d1c6e48b9f201807a0a24eed +Tag = b0a72d6010db1831 +PT = e69648fc09631fd28c92f462660f6d2a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 22d388a210656150a9f39f2eb6c49b5a +IV = f1 +CT = ece51e9d8f6d6fe6b171481c1ee225dd +AAD = d5890129ea3c6103e026f7f8c8ceab33 +Tag = 6d680f26 +PT = 8cc45d1e4c0d4dc1dc6114f4e49dcc32 + +Count = 1 +Key = f6945318742ed8d636a4108136f36dac +IV = 69 +CT = 8acf8214401b65026f5c9caa3cb84039 +AAD = 9740d6421b9cb35c1bd1165e5e3ef000 +Tag = c58debab +FAIL + +Count = 2 +Key = a697bf9fb00f5b62288d3ad57648793f +IV = 67 +CT = 571c0178269a78aca4b71d113431b28a +AAD = b42d639923e999b9cdf3abced7018360 +Tag = c393877e +PT = 2792a76db0f4a86171b2f135b73df027 + +Count = 3 +Key = a9b7e2bdc55389a9572f1b4e04f89ee5 +IV = 21 +CT = 7ebc25fbcca9aa7ea997fe8570c6b4a2 +AAD = 88d15138cc1e1c17ad3fc8571e7e4cad +Tag = cea8d57b +PT = e62cbb1cb45f00e8aac660592df6d200 + +Count = 4 +Key = 18de3ae72346326ee5159449a9db2e22 +IV = 4f +CT = 908a637449e6d28ac721b4e8867289a1 +AAD = 6710d612da24b5b39f993c5a255ae2e5 +Tag = 1eeb9921 +PT = 1d958e6679478ae091d64008970d2fa7 + +Count = 5 +Key = 36283f16a8a7b9ff871696388f031670 +IV = 60 +CT = a09d853d538fd1a7ac13478a2391ccf5 +AAD = 4893dad4bfeca52ade418b5a0b1be0b7 +Tag = 0174286e +PT = 5cd01d8228db9908b4aa2292075807aa + +Count = 6 +Key = 397fe62b7f58fa779c0b7dffae62075a +IV = e3 +CT = 3f946be8d6856e34c590f1765d3aa1b3 +AAD = e2fdeed37f27c392f094670b9956a4c7 +Tag = 2596de1d +FAIL + +Count = 7 +Key = 6d6d6f4cf69fcc17abd5a9f5991ff308 +IV = b8 +CT = 84a5cf840194fc77c32b05c26698d57d +AAD = e59d57c843b4aa67f8014e60c1a5d38d +Tag = 1d51d5f0 +FAIL + +Count = 8 +Key = 748ef15346fe246bd78a10181e1fae8c +IV = 79 +CT = 4c8ed9f432f92e2c1b3834ba4ac57035 +AAD = 6de2f403de12bb5bd37998959309a289 +Tag = bc4f8eff +PT = 58e31bbe697820f4103618156af83607 + +Count = 9 +Key = c2758fdd403aa60d6961c566190e2191 +IV = ac +CT = 87a083c9a88c40a860431f4f6050ca8f +AAD = a02530c42368ebe5ccda714bff9a4c85 +Tag = 776c871f +FAIL + +Count = 10 +Key = 10a5fbc31974537ebee56b9fc4a8a0b6 +IV = 91 +CT = fdbdf2b821606b8698dc67ca7b1d15ba +AAD = dd5b99a00cd3171486bc2768807271ec +Tag = a4394b42 +PT = cf9d52f3a4af43dc61e68cbcefea5c8a + +Count = 11 +Key = eac4a1dfea286e3b6a673d17a8005839 +IV = 41 +CT = 8691ec7fb0b28400dc741eb6484e7141 +AAD = ffb1bf773c93303363c1219fc632ed63 +Tag = 8cdfdddd +PT = 2ef6d4b4f0db2d33f4ac8361b6f37959 + +Count = 12 +Key = 7a9e5dc7b4c49215c23dfeeec9efd0ad +IV = 54 +CT = 81543f576536251342e5c3911ac0a0be +AAD = 2bd97729f2d0c96262f4e5841ce411a3 +Tag = 64c0c07a +FAIL + +Count = 13 +Key = 5e002d020fa4ebc35e82d249f7cce3c6 +IV = e2 +CT = 630d0afb3fd8a27d39edb6cbd878737f +AAD = f8560c64edb91ab3dbac9e1315cce6ad +Tag = 8b807af8 +FAIL + +Count = 14 +Key = a7132eca4050de92f8ca3f39a7aecaee +IV = 7b +CT = 7d12f48333978d8d1f772516931deb47 +AAD = 6186508c1ae0f49fb9e108fac4ded412 +Tag = 08c9fdc4 +PT = 35430dc34c8094dd9733656a467482be + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 67dfa2a700adb635a5d0df33795fbaf0 +IV = 0d +CT = 46258d999083e2c81f2d2d130efe8e28 +AAD = 84e5eed1ebc365c446dfc30457042c448dba2a84 +Tag = 9a20a8866036d907d66c62a3d99f5b34 +PT = e39deb1b284b072ec42fa59dcff9bfa5 + +Count = 1 +Key = 3b06def5ecebd9cfe0c7aaeeea60dc1b +IV = 4a +CT = 254b5752c26d233de9c3cc2e396dc616 +AAD = df7769df6637f74c2a5d4995cb8b96a316cb4d0e +Tag = 4f22e642a63e916b0ed2d5a62f77c72f +PT = e75cae43f809e0831cc91b742a27ff70 + +Count = 2 +Key = 2f699cf02e221b44c82e4b7c1f4fd2a2 +IV = 0c +CT = 12d4882efd6cd23317d979d48584bdee +AAD = 1e246a0cce2121ebe5c2aee97a40d8c4bf0c51bb +Tag = 406d2ddc9e4d7165badc107ea85366eb +PT = 0fe875537ea9243502ae34a35aed19b8 + +Count = 3 +Key = 9fab437e2006f0e80682fa4fe92c65ab +IV = fa +CT = f8b9409fea9a3bd6c09521df3e490000 +AAD = cdbe8b66f71b3399b258856a44ba1e50f56e1a7d +Tag = dd70a5beee1d4c28bf7f1d0b24a781d5 +PT = 83ef72fb745bd46c40587419200ee0a0 + +Count = 4 +Key = f2cd090b3dbb2baa49af730aed649386 +IV = 85 +CT = 8712c141e15bc4cf7f6a6644ea69762d +AAD = c2bfcd34f4193a71421dde647fe721855d063b85 +Tag = b6a8d55fcbc9c6c449135310edde8c6d +PT = 8dcb8da2318dcfdaf19dc7d766d5e327 + +Count = 5 +Key = 688ed0e27e143337c69f0a7c2828f210 +IV = 08 +CT = 7260f41939f075689380aac123c37655 +AAD = 3371955366647b51e0e1232a6635519f148c8b4c +Tag = ec5aec72c07e39a26ec488706914a332 +PT = 179e482d7c8c80775d2103c8cb43193f + +Count = 6 +Key = 20475e1f801bffd965b391ec8eaeaa10 +IV = 06 +CT = 1151f9a07f7f82a925140a87117c54c4 +AAD = 6b5b853837ed665456b5c36c46338dfc2770491f +Tag = 2d09fea62b7a2d354a304525fdc61a2a +PT = bbf2c9b579f8a74f5796f0af357baf69 + +Count = 7 +Key = e346b40550cb973ebb4bed63a45b2e0c +IV = 85 +CT = 0dd9ff690e117ec2a86e347259673018 +AAD = da5ca0f46bccb5ae0e240cf82a00f4f4b55a4f43 +Tag = 476eeab071e6536a2c8203574bd0cbe0 +PT = b45990066cf3080099de2a6e87dfa33a + +Count = 8 +Key = 3436bec5de1a2c54a1fa62c90d4f2fa4 +IV = e8 +CT = 449f5d40eb3c3c7cd391790e6464fd99 +AAD = ebdd89e61d949c27be2c0c35f9b005c6adaa7b80 +Tag = 68ddfdb83bbc14eb63a46e1c5b1291d4 +FAIL + +Count = 9 +Key = 2c9e21117e432acf2a9b5fbc6dcea805 +IV = f5 +CT = 5bed745e6be1b53ec22395347d14c8d8 +AAD = 9d996b4db9e481c7f8da9ccfa3a246c46960c3c4 +Tag = 720a249df5b969b4b27212163ebf3e61 +PT = 4931d8b11f8756a55c3fdd145808239f + +Count = 10 +Key = 8d99e9572503c621afd2e7e4a6d831c2 +IV = 71 +CT = da923d567af64586299140206300a2e9 +AAD = 19d55e73b824a8cf41be4979536bd6019a9c9b49 +Tag = dc5dde099a5decbbafb39aceb7220d18 +PT = be82a31ee1b8e6d64bea3933ce6b4bf0 + +Count = 11 +Key = 5c7a512dbe18faf5ff24558955311f32 +IV = 7b +CT = 0aaf1f56ea2bcc1814d0a0e5167142ef +AAD = 0cc61ac0deb1c66d196287b339e274139eb58a24 +Tag = 9ed67609a12a2109f399ace28eb60d6e +FAIL + +Count = 12 +Key = 418e2a3cffe1e6e044e8bcb59b8d311b +IV = f5 +CT = ecb882440b9b6d14d27690d2fe293896 +AAD = 995e6c744b6f07723b7ab9ee72a403ba33eaf767 +Tag = 7fd115c2d12bc5f47e53ac1e46f47700 +PT = a8cb23ae1421d75b92c80d6b557e3251 + +Count = 13 +Key = a853f80a4b3a1d0136f13b23ab7815fa +IV = fd +CT = d50e748afb63282926cd2ee6af002f03 +AAD = f41cbf7bef60e7b1bd70627413004f5d823fe58f +Tag = 46076e17882a9371e4c4caf77e658981 +FAIL + +Count = 14 +Key = 5519ea004372338f99a285a8be6ea4e4 +IV = b9 +CT = 2ce72553e17c7b14affaa7f51967ea79 +AAD = 948bf8567cad6bd1406e0f0f601efa06bc8aded3 +Tag = ebfca3b12a36ca730d255a3f44869a52 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 1869337e851fb90282642c7a6da826b3 +IV = e7 +CT = 8db05be4799c1a6470b0e84708463222 +AAD = fa13c5310b9260338b76eaf3a21ac0e3ee8160a7 +Tag = 47d6ea02b59df64fb2af257cd1d66b +PT = 3e5085b936bad40cfabaa856c55c4c03 + +Count = 1 +Key = 7d04e64f428caa365468dc06d582e12f +IV = 83 +CT = 7e60aa838a281bace98d4e78782c46c4 +AAD = a0dc4341bdf3140e926ae892834f40d48834ada9 +Tag = 3f663267e0c7c1e021d672ddcf2445 +PT = 4fc650fcd4138c6e60d497f27a02be7a + +Count = 2 +Key = 42bdc354ae8757235ffc7cb530bee70c +IV = 21 +CT = 2d15e3c1e3e25e043bd58b9163d84c6b +AAD = 297fb648dba0ee84f0b44e543ee54222bfa762cc +Tag = 6caa62ad3ae4156fee340be44fe195 +PT = 16f79fc737322826096cdaf621c3f16a + +Count = 3 +Key = 1f8ae7d43671e655b8973637e56236c9 +IV = 63 +CT = 990d017fca00edbbe34d27d0a88f7453 +AAD = c85b87d876e7a9e9b74bdb920029dfe325bf7d4d +Tag = 46317104062da5a925ac2e9f068e29 +FAIL + +Count = 4 +Key = 25206a7e84365e3e751b3122df3d519e +IV = 45 +CT = 8e62f516993df59578b44fd520bf01c2 +AAD = f0e8d9a2a7bc62761d8de5c043759f274a6a2293 +Tag = 7e97b95b65ddcbb43eea01045355b0 +FAIL + +Count = 5 +Key = a32027860836f558ffff5a0d0cd40459 +IV = 1e +CT = 8174a1368177546478140c43c9af845e +AAD = f07859d622b162175c036b85cf79b8c200e31c8c +Tag = 0e646a197b8dd3203eff9f60dfd28c +PT = 1f8a8e81cd5f5740927c6c1eaf199e64 + +Count = 6 +Key = 33b6376910dafeebfe5c9cf9965ac10d +IV = b6 +CT = b5517d8a5ca6f0d163e96a772a33e1fd +AAD = 11dcdc5263065f4d0eb823465ba97140f89ed90a +Tag = 5ff7a2d6d49d3bb132ba9762ce0fa2 +FAIL + +Count = 7 +Key = 883677fc8e360aa8950c4986f57a33f0 +IV = bd +CT = cb37a776b43cc83d497b2a82d399aa4a +AAD = caa82298b22c5e2394d0093e29ef4817c8dd5a02 +Tag = e513760412bd767122fc61789b08b0 +PT = 938d14a7d5c626082f625268c80afc69 + +Count = 8 +Key = bdeff38fda1293df73e98d72f6122826 +IV = 6e +CT = ac01a7bb6d3054229798f30ff3877623 +AAD = 3c381524dae5d6793ebf0f8e9bc422fd1f023908 +Tag = f83374157ff2790534c2b0a03ad4b4 +FAIL + +Count = 9 +Key = 867a9eeb3283f76d49cd1ebd4c00583e +IV = 65 +CT = fee98968e0e6c4117ba99c58d20975cc +AAD = 4f02a2a79a697e4106634b8e7b2270e363d901aa +Tag = 6ec7e20df77f6b7623e7e251fbc61d +FAIL + +Count = 10 +Key = 89faa8f424f3bd56cb503575f19e49ae +IV = 4f +CT = b864966a56ff87f26e91af2e1b8a843a +AAD = 3c2eba659b0636e458743e5b004ba02b2175e9cc +Tag = 28d083e31ab451eb0737cb4882fa1e +PT = a7fd0fe446a67b8c9050c6defaa29878 + +Count = 11 +Key = dcd202589b265f1041d2257b691b2bb0 +IV = 85 +CT = de85d72e7ace92ef6bcf87c294e2a738 +AAD = 476144d990d8ed0de2c62c7d5e040414d1bf48a1 +Tag = 2a22b576d36f5eddda4791304edbb8 +PT = e67e0a16c5060932aa7575b6f27206d1 + +Count = 12 +Key = 179796571ae850d4ef28bafea4037b64 +IV = ed +CT = 58f42213bea3e43e6c7295a6025ae098 +AAD = 82684a2226dc4fc91808ba0220017c44261bd62a +Tag = 5f13c8099293b923f7529497ef3a3a +FAIL + +Count = 13 +Key = 699adfdb709a7a09b8d49dfd51a1a0eb +IV = 70 +CT = ff089bd63d86d61454c55c623ec7b26f +AAD = ed3abba18369210c09547720637ea9f2aa800291 +Tag = c2f926a6a8278d0e42f7cbce1feb3f +PT = 4a5d1456802afe6ece28122486beea86 + +Count = 14 +Key = 745816bfdb573f452407f950aa5c8856 +IV = 8c +CT = 441c529b6835429b978651582221ca0b +AAD = 4b6bbc5b8a51a681edf905d2f71b3dad80b3e5a0 +Tag = 232566fbe5e1dd2fb13c53e7257bbb +PT = 0f48fdceb418c49cee65622c48d1ea7a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = bcf54bbf8a1b0211d78e0aacbc39d171 +IV = 2f +CT = 6bccd906dd64930418506083eabad816 +AAD = 13cb43b36ef7a64915b81e9a36d1a5bb6c8f7db1 +Tag = b0c799bfcc8ad5874e2d7f390357 +PT = fb4acdc56b48fd3eb303271cf492c949 + +Count = 1 +Key = 2f5f0caa29a366be5c7d7e6596b84673 +IV = a3 +CT = cd519a6182d35e7e07b52b1f992e26d2 +AAD = 00add97edda860c864ae9c352e37e497fb0a91ef +Tag = 9a451a717d7938368a1acd4b938d +FAIL + +Count = 2 +Key = 2faf58290b0cae1bb6e12548309a8b17 +IV = 80 +CT = 14ed16fed0f200c16d05a554aef7469d +AAD = 8aead21e2e199e2dba86c9f8f3be64f7f4d1ff31 +Tag = 77cf8b3bb599aef9346e126380bd +PT = 336fb09d4c166b6410e6e1544f5577cb + +Count = 3 +Key = 09fad4a53af03444748b3723cb51ee76 +IV = c7 +CT = 7961ee2dbc09f2a8e861d2bec09cc83b +AAD = edf28fc5ceef4b753e9973425a67742cb1acef21 +Tag = 452c175283636188431085fb8e31 +FAIL + +Count = 4 +Key = 459f58896e5b6975bf886762a9f0ecf4 +IV = 72 +CT = 089d1b65d9dcd36c77c955b2d868967e +AAD = aeb4c6d16afdac778447893711427b30f1644424 +Tag = 755624bfab22be199ab8091166ea +PT = dd58dab98b94001f3ad03bba3498df62 + +Count = 5 +Key = a06d2a82c5a6fed05df3d93f3c4438bc +IV = f6 +CT = a3a9c25051120654bfefb6798ce66ab4 +AAD = a7124a5da474a5a63dbbb5c30d17e784dfaadb72 +Tag = b5e7d1bdc6c9ff98021a875f6aa1 +FAIL + +Count = 6 +Key = 62e805096434ad3dade65f472efb68f9 +IV = 91 +CT = 052f727d8d8eb649a40a11793e5f542a +AAD = 677a0a419406e318811e3763f2572e2742db68a4 +Tag = 313e5209f411c6054519c80f1267 +PT = f4378995a6f44e9613fdd6dd13befd97 + +Count = 7 +Key = 15a89b4f2198678ae9763ffcef364cbd +IV = 1f +CT = 49a1647f376b43c0964f2e5661de0f2a +AAD = a1572fcd6138058e40d0c3bf6e8f1c650610b046 +Tag = e9d0799d93ecc4f3b0568d8ccd5c +FAIL + +Count = 8 +Key = ab57215154897ad7cf413676c294be0c +IV = f8 +CT = 9d54342089c407522146b0f1998c0655 +AAD = 345ba48d8fb5af1c4d1549e2891e8c62a09e47a5 +Tag = 606e54c7288c47d9c09da0df2130 +FAIL + +Count = 9 +Key = 74433c9bb8a9dd5a2bb067b1069ecf7b +IV = a2 +CT = 11a67faa59a867aa307f900756c95537 +AAD = 2bbfe787f526a3512f4f0e7f76eb12151f98fa1a +Tag = 636e26e08989f1b5745f6119dcec +PT = 6bc9837a35f8e69d52d0c49cf03b54c2 + +Count = 10 +Key = 30373c2f435ea38fc0059db2aaa1fff3 +IV = de +CT = 846518442a95bbe2ba364c0a4fae747a +AAD = c9313a8d138b640cd3e8acddd37a780e937b7209 +Tag = 624390032bae6a6502cb08a58adc +PT = 80bd427e077ee581b9a9af33b4031a7d + +Count = 11 +Key = ab4eb0f21a71b7e84f74b5a19accc2d7 +IV = 02 +CT = 2780a3b004aa9d2632e1176ddd84a3d1 +AAD = 4bdbbaedab1c4f651b68aa17fc2e42b582bb30a4 +Tag = 49a003ca5d9c8e7356f91afe9468 +PT = 8e415173efd28c1cf763e6d90594272c + +Count = 12 +Key = 7707ae3c2deaabf339d50466f3c6af7d +IV = 72 +CT = 8c1e4c18ff2adfcc03c025d8fabd43c3 +AAD = 3f86be453f63669650eb79fa449d82f97608e3b9 +Tag = 63542cc8e4963d167c6dee072d07 +PT = 70b14493bd804f6d70d6b54047d2a8bb + +Count = 13 +Key = 6719addbd95fcc81e04a9b90e0c8366b +IV = 6f +CT = 44847dd687d01a753673161acde29759 +AAD = fa681a458307d8ecdc0964dfc9b9d37da2757392 +Tag = ffd2ba63d2338efa3b38802281cc +FAIL + +Count = 14 +Key = af99e2a32758f36377ff96646bd87557 +IV = b2 +CT = 74212aed152b27b1b256a89b0d4152c7 +AAD = 1ca034173f815f66b116be550db6c50a6dbef885 +Tag = 4ad3e76eb36374051752a45f158b +PT = 92846d3f4be9220144d37518f7671059 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 03e3c21c4af8372f405569e8ff07dc6d +IV = 96 +CT = ddf954ee23da7246f62cedf3d06dc3ef +AAD = 3b7949cad0db390ae5021e2359b543ca6ef0beae +Tag = 701b613d823cbd0e374f0c36d1 +PT = f1e19295c7abc8c2bfa952ce3990dc48 + +Count = 1 +Key = e14b5361a85ac968cdb5487f9ab9007c +IV = d9 +CT = b7fee718e413dabc7ab6618deb57720b +AAD = 1bd11e1587278896717213636ffb3d3df293e092 +Tag = f6cf0bf04ada8d311572422322 +PT = ba3939cc86d1aab78b234a9f28ca1eeb + +Count = 2 +Key = 3c828d5d023b2bdc23aff2c36679eeef +IV = 41 +CT = bd7c3c599e6399a4254e03bb2ae9ccb2 +AAD = fc5e9030607dd6ce8d15d73785eda0a6735b29c7 +Tag = 325a3b53dee7d6660302ec048b +PT = 1a4aa4dff086ae28754531546c79993d + +Count = 3 +Key = 2f5432c3aa15dd5518b1437a9bd9db6d +IV = 26 +CT = 1e54ed39ad0ba344003a7e2d9948838d +AAD = 2b0c3fa62fcaac456106b73baba36ff4eaced350 +Tag = e73ea786d066a25908081ce827 +FAIL + +Count = 4 +Key = c878f3f2f786b17c5a76e278cd6b726a +IV = c9 +CT = 5c5c630731f1996af925c03968894ab0 +AAD = aa1382783ab07121fe6f0f964daa4af1c6543706 +Tag = 49053e3928a40a9421472fdeb0 +PT = 8d2663fbdd5e344709247873e376a6ad + +Count = 5 +Key = e81e465a77c950c5f0e6dbce7c706b4d +IV = de +CT = 6df0dd8de46513164bdb00b561fc2c43 +AAD = 09f782724e3457cf1ac822614e79c2303ce946b0 +Tag = 856874a1ca8eac35709797db94 +PT = 5a7d514b65b3f7c652d57e50b67b05b6 + +Count = 6 +Key = e7e7ebe1b49e250f2ac71c4260e72276 +IV = 64 +CT = 9c2df229b870d954899d146a1fe71277 +AAD = dc1774befdad0f08b6a55045c4df9dc30f8259b7 +Tag = 3e0d4da64630624e8126808f26 +FAIL + +Count = 7 +Key = d9f9525b7d0fc5a511738b4e70039ea5 +IV = 55 +CT = 06485a83430330d72bb45179243eb444 +AAD = b1e0acf4261abe11474139af41945d0f67c00cc4 +Tag = 331c501a11044689c860474b19 +PT = dd2b0dbd46310b5fa98b52f493225cee + +Count = 8 +Key = 2610df4eb5245bb8cb6d5be62f1e7f85 +IV = 70 +CT = 230caef720d6a902a6db39a762f19a98 +AAD = 33ba3b93116ef72e5f84b6b16a9feec266f17132 +Tag = 989772d2014d6611768834b212 +FAIL + +Count = 9 +Key = 1481a94d1393618b51a584163107d5e6 +IV = 7b +CT = 54f268ad389a587a5eea1d8ae63377d4 +AAD = 6b777358964cd16db2b3948f77879956e4c8b210 +Tag = 56efc3150e9d6b2c7163a2f714 +PT = 373a279d6be930def28036a3a0c3600e + +Count = 10 +Key = 9a62600ec2b700d9b03ab5da748e552d +IV = 35 +CT = 2de179fefd10a10a29066b21a7d670d8 +AAD = 07b12d4f9dd88401b662e49b9aa2bd1731557d6e +Tag = 9140651e38217df6c8ce3f34bc +FAIL + +Count = 11 +Key = 3e4a31138e99922df4d5173d1786f65a +IV = 50 +CT = 89a12b4330d2d2077ac4b833305756ac +AAD = 98bcff96cb61cff0c065361c0ebec441f58c0d9b +Tag = e4503a1b9380b43062d7db84d0 +FAIL + +Count = 12 +Key = 3995b151a7d901fc79cab8d5dba9f866 +IV = c4 +CT = e9b5980f63208e70d0f4977f22fd6fbd +AAD = 39da2219dce82f4533b3d7662afb2d142e01e488 +Tag = 2f0d9ee5a293b9ba377c79096a +PT = 6b7612429ab65f46c963c4eaa84d4246 + +Count = 13 +Key = 257d54cbba6c2caf0e3805abf6ee0693 +IV = f7 +CT = ba6559fc8f3fe2e1f65f5510470dd5b4 +AAD = e0b49ac0518b24799f935bc1c7621a887fbb187a +Tag = dae3c292d30d3a22ec40b25a5d +PT = 17ac397571bfd163f146915d210fc1a1 + +Count = 14 +Key = e3029fcea5d77a2a6fe868a77114f12b +IV = 43 +CT = 86e0a2341841cc302140cf59a6b165a8 +AAD = 98a210b24a2476b608d4b26ebfb00ab63526faa9 +Tag = 9ba6efd713a33168080bfa9d9b +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = d0a8833bbdc5b664470b58a389c4bb9a +IV = 4b +CT = aca56de0b6c6d9bc632f4ec8f8eb3637 +AAD = 011cb076e76c717a78fe1d56f03c44b5e0bcff7e +Tag = 820fb6a3fae6d03257337a73 +PT = b4214c6519dfaedd793f397aac7c99cd + +Count = 1 +Key = dca223bd7deea26ffb12c32505424a88 +IV = 4c +CT = 9213c606c5231f7fcf3e812ddac68316 +AAD = cf99b4799cb0b82e42d288030ead5d5b5a1accd4 +Tag = e7067c5588862e295bd2371a +FAIL + +Count = 2 +Key = fec63f6727121cafccefa98780fb88b3 +IV = 98 +CT = 9bb4714efb1a3e03b60929f2c7e9bb86 +AAD = 7a66b5bf4edd69a881274c9cc42b9bf2194d7b03 +Tag = 0b1c4571febb2dbdb0972c74 +FAIL + +Count = 3 +Key = 2f3bbedcf4433ae82b0bd435884742b4 +IV = 76 +CT = e5ace43a732b69abffbc473afda1ec17 +AAD = dbd3a833347d148678b8bf60bba18fb9430a0c24 +Tag = 8f3ec2d7933bf40c8431c39e +FAIL + +Count = 4 +Key = 7d208c6177d520c6de87b753ade8896c +IV = 0b +CT = 954ca742f53d1d260e1d4fd6e8c0fa83 +AAD = 8bae9e1818043ccf5d8c549f44a78353171114ba +Tag = 87741795df87377dec2affbe +PT = 574e5a9bc13013f85b9adde8a46badc0 + +Count = 5 +Key = 19038ef3c7d7b8565f9ddd8d82ff2251 +IV = 39 +CT = bf76915877551040683ad9efb1d4e513 +AAD = 9c18ce877b4b88a9b42443990401239c02f3b068 +Tag = ce6f3879a5ae8e1c6aaef8b7 +PT = d840bf621ecc35edc1225966acf0b078 + +Count = 6 +Key = ae22e8f8cf5742c5faa69de5140e7c07 +IV = 63 +CT = ab39a6210dd4880f4328fd2445eb05ba +AAD = 6973a9f62a1f541aa61a752b2f2d3da56c406cf5 +Tag = 762abc26a86a139f729de9d8 +PT = 590293895a17bdcc386aaf3cdb49d9d1 + +Count = 7 +Key = 09ae9a66f5f6cef464f145dec91324fd +IV = 1f +CT = 7d916dbc4461b4421fc8a8e7f799a252 +AAD = 24a51ca621f6b8994dae062597eb9500c9e6066d +Tag = 8d62248a5c8e7c4372d317ad +PT = c3c7aaeca1c8c8257119cb0c61a237a6 + +Count = 8 +Key = bae9102e12f163ebdc8fddce1fde6c23 +IV = 20 +CT = 41dbb56ae9c02884fefe47caf207c982 +AAD = 83c46109bc71d0d7c61ef18306acf512af6e2ecc +Tag = 8f5671f223441bbabaa46231 +PT = 7e4d3bc35b1296d727d58fd36bf942ee + +Count = 9 +Key = ce9a29e95a29831c28f6bf9aceef32c8 +IV = 92 +CT = 260e466a3ac2067cb50a2f8adf1ebc0d +AAD = 64f2a2246ae2c9178e8d71f3a6b8e0572bc4a7d9 +Tag = 86b13841b7a68258ec56dde2 +FAIL + +Count = 10 +Key = 0a8520bbe75d5b811fdc25e469806534 +IV = ad +CT = 9f88b7dfd6eac1f7943819de637c6a66 +AAD = 03d06babc980079b5d646718e81a6a28093914f2 +Tag = 281e18097db8d299a1309355 +PT = f087cdee6ab724036cccdaf1764bb624 + +Count = 11 +Key = 95010124aea1af007febe13015d1f94d +IV = c2 +CT = 6ed4fba48ad52b626c8fbd936191d48c +AAD = 044c66639ae3de5fc197a5c5efb72de55f216865 +Tag = f81bab903085ac6cb2cfe07e +PT = abec6e0d695cc4406756ab8df0c6d26a + +Count = 12 +Key = 684dbe72aecfbb3bf2f5f8a4e03d070b +IV = b3 +CT = 9e38d7b70ea9973c977a4f16de193896 +AAD = bdc5cd54b0cd305d3c70d7a21a69846ae7b4769f +Tag = 0b29948c270bb622ec302777 +PT = 2e3ec16a16e7d90ac3e2b1c1efa333cd + +Count = 13 +Key = 41a99e1121c6f4a5191fdb6fe4ae4bdd +IV = f7 +CT = 29e42590b4a2d2852a6c2a97afac65db +AAD = 33a81eefb6bcb36004e7af1df3f4be625ed175e1 +Tag = 5eaa2732889d9c40fe35e08f +FAIL + +Count = 14 +Key = 2e4f03b74c6234624d65fe121a378a96 +IV = 65 +CT = 9da892fc89d0406908e57a556ea0ec71 +AAD = bd8473b72f8e6d41e262bc306c1a759588b0854d +Tag = 25eefec80c91ff2747b2b5b0 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 76852059f243376139bb62f03b6accda +IV = 42 +CT = ea7ca06339b32344e4d663642082fbe5 +AAD = e399480b87e89977cf20ec431b13b2220e334de2 +Tag = 9215e62215e9e2a4 +PT = f590268af52cd2c964784857b1149e4a + +Count = 1 +Key = aa0724fe3c3d2ce7ab61deca352df4aa +IV = 90 +CT = 1a459379655059a47d6716b8c3f22a8d +AAD = 6fc9db8b0f1af85ed41c88ec675d344a7a844df1 +Tag = e66a242989fb05f9 +FAIL + +Count = 2 +Key = e4803d9970efe5aa32dd65aacf68c5ef +IV = 31 +CT = f4d39af559a4be48e8800c0d55033f73 +AAD = 63e77f317f200c09c620559c73bce5a0b35a82de +Tag = c38f57603b90609d +PT = 734cb1b1c633ef8deffbfd0879980b29 + +Count = 3 +Key = 9e4d7501a016a56a0c7a7dadbee5b2e5 +IV = 97 +CT = 946991456af8e60073e88dd9ef8027c9 +AAD = 46a6735506af38b5c05f18fb0233fb03d81b4692 +Tag = 189d62e5d9753dea +FAIL + +Count = 4 +Key = 15d9fd7b414e57409ed07997999543d2 +IV = c2 +CT = fe711c6487f8313b7b342f4e68e41d10 +AAD = 288f06eba13edc5fbd42a9426d33518b63ec9fb0 +Tag = c9d913031fc60c7e +FAIL + +Count = 5 +Key = ed0e4c10a4bf9c63dd3b30bfdecc56e2 +IV = ef +CT = 09cbceb6563a394b3cd5030fea402c71 +AAD = 8034fdbd5969fe989fec17231562fa1526cd27fc +Tag = 7861186786e39e5d +FAIL + +Count = 6 +Key = 29f6f9381ffc64c819ee3ed74289e10e +IV = e5 +CT = fdcbfd53e7eae24edd99d1fbe19a61f4 +AAD = 8c014308534abb2d268617b1415162c59b46f5c2 +Tag = 1973c578f020a306 +FAIL + +Count = 7 +Key = 8a707108b08fa81ca09deb84fdfb8c6c +IV = 6b +CT = 6e62c952ed2d06f82bbdfc1b42aa9f91 +AAD = 6c24eccd1f9379285a377d17017a4f27b34b2aad +Tag = 46f89483a95316d9 +PT = dad5c62f74229399383e511e812639d6 + +Count = 8 +Key = 289ea9040c5925a3089fd71259f79beb +IV = 1c +CT = c11bd2ae93c674e1f40b74786b84df00 +AAD = 67727c5e9bef0fa3aaf34d53d975c3553ea6d3d6 +Tag = 394472f45e898a3d +FAIL + +Count = 9 +Key = 51339c36075c11804467574e4649afad +IV = 70 +CT = 425e0bd1e6def35795fc582a662054aa +AAD = 2ef90345dba6ee8d7dbe12f5cc7c8f5d69e3b9e0 +Tag = 5ab71ec4b004993d +FAIL + +Count = 10 +Key = 2362bb48a5fb4a4b73c8ea644c01d101 +IV = 5e +CT = c0634a16b2fb8d86303321884eb13f5f +AAD = 85e5e2cedbab6f36470c2af619c1926ac12007e2 +Tag = 75354e1fd161e957 +FAIL + +Count = 11 +Key = efedd385300a3b319f83eaa161d32741 +IV = 1d +CT = e7a1cf6d0fefa1a1db03e7e65b351b0b +AAD = 3de38f5b8a6509ac1890d71833c69d42d38ddc7b +Tag = 90dddb35c3bba4ad +FAIL + +Count = 12 +Key = 34a54cd0cab069ac318d896c14765efa +IV = 60 +CT = da8a4c8eb50d72cddc90f7317433ae77 +AAD = 150a618877eedd3c61b99c9b542661230e7d0729 +Tag = 540b2f3395b89a2a +FAIL + +Count = 13 +Key = d40526745211aee6d5672d1eb140f7cb +IV = b5 +CT = eeaeff3337da010dee824fde6cb9d3f3 +AAD = 72bd037ef018a718a4b039d761b9b671ae63b8bc +Tag = 19744ec9041ad784 +FAIL + +Count = 14 +Key = 809cd9efaa6f5457b56e0963e87eb2c2 +IV = 5a +CT = 96def7f567d5db851e0e37c8a69c71bb +AAD = df5dbb3faa73cac9eb894532fd42b5d8cfe4db32 +Tag = b94b8ce6b9b3e742 +PT = 2c41ebed8725fac5d9283cb86ceacaba + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 4169744a39b80d1264cae30bf131d37a +IV = 32 +CT = 4fae7e858f236d113c83a1615d6ac884 +AAD = 9cd6761c6e0cbdd70f387d987a438c1c1db7b071 +Tag = 4605f143 +FAIL + +Count = 1 +Key = 722fababe178b7f57bd89cb12f3cbdc8 +IV = e7 +CT = 61e8be64979b4e18f032efd094290dae +AAD = ce6b962e0ad5e75414ae62998cc48dc1cb9211aa +Tag = 39422fee +PT = 072cddc86f514b3c527c65bf9d89ddf8 + +Count = 2 +Key = fd7a76bbfa8e0135b0407052dfaeda56 +IV = c5 +CT = 0c4056ca383e126ee8b3c8453fb1806d +AAD = c1bd267c65af8aa28f678a2775f47ab0bf88a1fa +Tag = 692889d2 +PT = 12b4b2335c44674015dad27707d26260 + +Count = 3 +Key = 635b60af24a4012ae75f947571f96b56 +IV = 79 +CT = d1daa042010e8677d7d158bb8530be5f +AAD = 4df74a885efbb2452c195a373639b0b23815c0d8 +Tag = 8c4349bc +PT = 329540cae9ffa7f9aac98dd25d6ed196 + +Count = 4 +Key = e482a8d7c6d7df46108f7af52e705ac2 +IV = 85 +CT = 86e6706fd4daf3dfd199213a5baffee1 +AAD = 21ad11101e76fcb2849f1b9096b91ac587c8424f +Tag = 89834fc7 +FAIL + +Count = 5 +Key = 695a2ea048f93a08326e9e70f20edd5d +IV = 52 +CT = 19238a672f14a96167ebb34c62024724 +AAD = b8f2fd106a7e32b5e1279c5cd00726e878447b9c +Tag = 3bbba9d5 +FAIL + +Count = 6 +Key = c2c51446f91a18e3372d63614ebca757 +IV = e8 +CT = 17e5630e008b1cdc0af6e5afd1d4ab85 +AAD = 84d5317be3813520b4ee0bf1c8a2398453e528e0 +Tag = cc99a013 +FAIL + +Count = 7 +Key = 0dd6fb27a535464b11c97878387ec1cd +IV = 06 +CT = a5e5f4f799ebdf32ab13cfaf9f79eff0 +AAD = 25ae8a33cb933ddd9ea8a297d56077b71a7278f5 +Tag = d76e9241 +FAIL + +Count = 8 +Key = 0563fbf27d6d44639dbf19a204ca4937 +IV = 64 +CT = 3fee4963364a90a1cfb183edc7681d05 +AAD = ef2496443ea53651cf597b63158f29a29714e588 +Tag = 78ba3ac0 +PT = a71c9355101d34a810af96adde1c5976 + +Count = 9 +Key = ff759ae6fe6f905f7d218407cc730650 +IV = 1a +CT = abd959ddeddbabc9e22169d6bc4e524d +AAD = 5a42c9393fcfe79c558151162b27dcf23162d5c9 +Tag = 2f0888ce +FAIL + +Count = 10 +Key = 157a8f1122556dbb53033cfc9f1f8fe6 +IV = d9 +CT = a6886e095950e110a3931b7e76ec9d38 +AAD = 7789be249e68f2aceeec71143e20b4ad516216e4 +Tag = f082f637 +FAIL + +Count = 11 +Key = 5e63eed05eefd119938afceb2e5384d4 +IV = 5c +CT = eef33b0c225e53b00138d845042b3f1d +AAD = 86465799577583d78995863ab594581d9e88b5e1 +Tag = 3b6b6c76 +PT = b2932277a72ef9f1172c4a0ac17e1ccf + +Count = 12 +Key = 63fb9ae7d75d90d138ba16bdefd8f3f6 +IV = 86 +CT = 83c5009b3785bf46b1689a4719199d7f +AAD = 8ffd7b5eb19077922dc9e16d881ec298ba79c306 +Tag = a62c087b +PT = a7b01ad1b7387e571de2f3d77e690d2e + +Count = 13 +Key = ee2a24eb517fdbd5fda1a07a36785ace +IV = a7 +CT = 7f924f585c04d616b8bcc30f530abc22 +AAD = d53114dc912661e6496a338a652a822d537a4ec2 +Tag = a008cc53 +FAIL + +Count = 14 +Key = b39fdb2db984d5051bdb60d62822e68e +IV = 16 +CT = f241688de544892dbf70c67d6f1e0ea4 +AAD = d7f20235bba14b2153ab9889ed6445933dc10b39 +Tag = 8e2446fb +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = a6952c63fe1330fcadaf18cc67091be0 +IV = b8 +CT = 2de2758c68968997aabbb48bd4dee23d +AAD = c4c029ee9c02237c2c0169a4e978dbf9753b0f8d28db5cb6136b59964a08272beb8758c9fef3dae9812e0dbfbc15628b +Tag = 48846472385f2d42aa190f84cf6f3ee2 +FAIL + +Count = 1 +Key = d518e29c12535fe723fe907bc6c2e279 +IV = 90 +CT = 21c9c5fddb5c01be3270286ca92d02f1 +AAD = 8aadb88f629559d76600b8034b350f4abb7144cdba3fd21b63d3c9d2dace457e2ac0ac7932b68653218ae2f5028c3359 +Tag = ab164b442dad0134f0a7310d7f3c374b +PT = ac2135cd23c86ad1b0f0d4f3e69c7f0f + +Count = 2 +Key = 1c56d56e74595e2402239b41e7b5d9bc +IV = 87 +CT = 04b9d54cdddf4bb842c7632da2898d6e +AAD = ed538beb249ce3fc663dc27e043a0a21644bc8b7ff87c5685b56582187edbb333b5116eb57ea1583f05bfee94bac1181 +Tag = bc878ef99c874ff001524308fcee36c8 +PT = bac53d4f0906db3fc07d7f816a04de8b + +Count = 3 +Key = 705a89617181388f49d43c75d83e04e4 +IV = 96 +CT = 18f7e071ace57f2a7debed21b1f0312c +AAD = 1226ed77378daed7154ea4f6be5d08f91e655e2d2c46ba2669541879f4eb12685438c29cec29318b201cb772241eaf16 +Tag = b3bdba0875007d81d90564a49ab586f9 +PT = d1f3269aba5fa97f2b7bc20901a10f01 + +Count = 4 +Key = 9d091827af0fcdcdf216a320a5713170 +IV = 8d +CT = bb264042e52c646e4db8fc7f8258706a +AAD = 13428f0c659e777e4ab44a79ce7b8a9a202791dfdeb2a2618e2685028817a136bd6219232336e7eed144afd966022929 +Tag = eef5922aeb898bba77d750db54f14f1a +PT = 6a68387c8a01b36498641762645c288e + +Count = 5 +Key = c4fd6a241a1c05db0376c1fa2967ebfd +IV = b8 +CT = 461ca72fb5341c760c51951e62052390 +AAD = c5fa2976ba88fba382b2c1bbc656a134fb59172a37847b57135e9f6d95807372ee670dadd51b77614a0d7be947b1db57 +Tag = 1ea4978861fdca403d67ccce00382c17 +FAIL + +Count = 6 +Key = 85ef89759008672a4ab9b2f60d727428 +IV = 7b +CT = cb4431b34568816ac699b68e82f822a3 +AAD = 57acbb7b073ceeb5a1b34f76ca49d2dea4c595c0a0767585cc2ede7568e1a4b5f5b37b47be1d29ed4b2de0969f677172 +Tag = 4cfb364450fce29a4e1f4d521e0f7816 +FAIL + +Count = 7 +Key = 132f5216c4533d0e5497c0cca343d02e +IV = 9a +CT = 273323e94a953463f6d96767a5fc92d6 +AAD = f8bb96abedc7dde422829730c46eb1491c04bb50320c735d1a6cd980e1ab3940e48775bf39f00e777c5ed8655665d780 +Tag = b345a7c09dfc1d12c68d22c963f712c9 +PT = 9480b076ed6bccd5dc467bfa734e7d9e + +Count = 8 +Key = b0ac639bf987c6c3cd0d36a3e1e8e123 +IV = c9 +CT = e3936641a0fcb0fa490bfaae83350b08 +AAD = c0ca5e9545978ea6246570fd8aeeabc2920be376f8cfad751cd448897d6e764a5521e3387cc192794d149076ddf8aac8 +Tag = 977dbd53723cd2a1941ea6d47cf87cfd +PT = ec14aea19f03d7c689498e6940608bbd + +Count = 9 +Key = 6a8a30628afadc244dbc2b04a37ec202 +IV = 5c +CT = 17b9c5928f44604cb1b1a57a1b0c49eb +AAD = 553c0a7c8366c12dbf2c7a984efcd3c2376a1aa72d43aa67440aaf517306b5d847617f12de4e93bff0590a248513cce4 +Tag = 69f0b1c4f0536c54fa5dd9d0413953ce +FAIL + +Count = 10 +Key = 1c95922cd90b7a3cddfbe3baa6ec9e78 +IV = a6 +CT = 36025fd77e234c9ff7cdee1a1b3dd791 +AAD = d447ddd28e75e1952de1823b2d34d12253c8f7c115ac404b1e4586bd3fd0574c8430978b4c5d62c43d1493d8b5c5e98b +Tag = afc92819aa5567828e1f7b9ba8a74446 +FAIL + +Count = 11 +Key = 6c29a2d12dc072f7215782d1d89a2771 +IV = d9 +CT = 3486afc02579a64e03b1170dd58ae567 +AAD = 41ff7280d20540b750005c700d73cfad529fe276a08b8121cdd0141c7b152eba1acebd101939d2f15476142d8ef3e307 +Tag = e510ae7fe11d0737d3928c2a02bfac23 +FAIL + +Count = 12 +Key = fd35e6ebabee8d4fbc3ec7acf4457f6b +IV = 72 +CT = 9c5ba301bda429036a878aa91553fd6e +AAD = cdc6bfb04f5c89f124f6c964b09735f77b7b6c21db065dfd88eea8f499b68b40ce8f9f8f3dcc22e1a97090d014618efb +Tag = add9592331fb226254553d438f6e7b82 +PT = 5beefc597815e752a1dce1389144c23f + +Count = 13 +Key = 2d87cf9df623a5d4dc3a2399129f0c00 +IV = d1 +CT = 91af627e0b9e956ddc33c33f2f97a548 +AAD = 77d83f79d77ed3769a9fe5ccd2013b87420ad245f3e402a65d72544948680c2e8b98cbee6c4653c4cfbbe3bdd74c41cb +Tag = f7a9527234facc153ac95bd252b542ae +FAIL + +Count = 14 +Key = 6942d79ea29ff3f0f2a5212f7fe729a7 +IV = 00 +CT = 6fc2da9f862ca00b1d068cdc563d8d5f +AAD = 9488e28711ab49f57545a1e03ade56ca60b2ec775ad2005c2e6e56fe5669dfcae1836711c3ae623425718b356ed7a175 +Tag = 887c5e711cbd3273e25b3a0f94574f67 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 85253f4bf29fb8e1cbbc6f5e74c3c63b +IV = 7b +CT = 35e16dd6066ab02f1f62dd666cc7957a +AAD = acb984b43618759316bc3ba915d26bb5b4762866ce8ce0d555a82bc96ef810f890ce1a5da445ef3b0fbdf16df9f91a6e +Tag = 57049d8b498422fffb65b30e8cc469 +PT = efba649517e6c5657c7ea15d3d606ba7 + +Count = 1 +Key = 4e63290cb727f9fdc42c0c84bf9d2511 +IV = 17 +CT = f5af4adfafeee57f2918ee67f599ea1d +AAD = 519e0abd77e7747b3d52e7bdfb6bed1afb6fb6b652278801b96c783eb369ba21d8d5470896e349a85eafaaf70c1a5b60 +Tag = 393cb9744ca8641d6b64862d93994c +PT = c69102cdbeec09d46dc6f6143ba91827 + +Count = 2 +Key = d103a2c6e2a02f7a4914d0bcd7b804c1 +IV = 35 +CT = 1ae4c23bcb6b088cb504b6d793fcdbf7 +AAD = a876a6a2035eddf91265f9c0ecb2079ef0dd6ee5eef6efb7d7f7ce77ebb8d0a1da11607d9cdd708774341f664bec7c57 +Tag = 1fd673935041df501b319753f56bc2 +PT = c7d8c3fc92a6414fc89c7af1726db303 + +Count = 3 +Key = 0687b053c9f05de93c88915a9ac90923 +IV = 21 +CT = 352b118b60f675d914a0dc5c99b5fd41 +AAD = b5bfd00fcff552a7ffdd02cd2f99aa63ee4894591e0531f94f2e85f6ad65dfc4b9a795f4cc2358b6928e73792f23d5c8 +Tag = 3a8210468c638ef815786a2b5b05e2 +FAIL + +Count = 4 +Key = af5d3aaefc79af7907199a2142f95dec +IV = f5 +CT = bfb25ecb7e8315f933cd994aa1031a3d +AAD = 2c4e1bfaa10cd28b578e8ba6490f1ed50df65e505a564d4ea92559544dc72e8534c5e864afa0e99e2dd919fa86e252ca +Tag = 53fe1281318a1737dd7dcee18ac238 +FAIL + +Count = 5 +Key = d798b258f719ac2571c6eedf4c39c999 +IV = 06 +CT = 1aa4a35e2b8eb795c2c32e5cd2ab2f54 +AAD = 3d1c5dfed52921f69712970581eb2359c1b80ae577ae0fd1fe575a926b011a95a578ceec5ddd315dcd2931d773ed091a +Tag = d545b13ed849654f2fa8208324f627 +PT = 419ee82de92596618e9b3f73b8cea2da + +Count = 6 +Key = 69cc1adefff58beeda1f4e6ae3d20c79 +IV = 6d +CT = c5aac48273543955578c4b41a5946e9b +AAD = 09d9fae02419a93c7e03a1f16bdcebe98be9e855a77d2c8c7f6be37d6904164a5aa14cd21e0e8f863bd929bef6aa6c89 +Tag = 169f7bcb8fd1e070d5682c12d8fc73 +PT = 4d50a2a78d6bc11cd4da11068b996869 + +Count = 7 +Key = 7591018d4379d282c39dcd91131c0109 +IV = fe +CT = e3e028ae172025bf574fb8358926fbd9 +AAD = 229593db06e38b042c6ba6fe012f00480990fda6b2866b96dc40a58965277a5df3ec6532b3647918e4e902952f0a4bfa +Tag = cfa11de51cee6571a59b0fde132cf1 +PT = ccc5ccc06cec91da91e37a3baa365752 + +Count = 8 +Key = 914fd1afb50244ebbc342abdd5637768 +IV = d4 +CT = f801e8198f51bfc18f802152b6ed3b35 +AAD = b74b4f56b639f012df3a6a7f8a9165662da3868ea02ffcd92f35993c3254f983b01d4d04492ef3b5532742bc2c23de38 +Tag = 9c26cd852873c1c264fd2176199d24 +PT = d776a1295b7d8a25c3b8045b5012c0a1 + +Count = 9 +Key = 1a351b77bbddf2e9021b96220a88fa3a +IV = e5 +CT = a49274aafa28f26cf92c8f92e57babf0 +AAD = e06f490376771cfeb6fa76d5b0821831b7e951e0796ba6bb9c0cc0f90b7e94051d4c4a472e6bf4f35624b90651c8c948 +Tag = b776744ac362c416a5f4878dc0b47a +FAIL + +Count = 10 +Key = 725d94638bf089f88ef82f6fcd0a8b4c +IV = af +CT = 54c2e7f9b42c039568a7f40dd108692b +AAD = ea5569298c744d3242e5b2ba5dc955cdd0630bfb19d79338fd9156289b4fff03aee832e901b47519ead69748604d29e1 +Tag = 3771a5ad0e45ef1ea6f049114329e1 +FAIL + +Count = 11 +Key = 6dcfa877eb7bfdc201daac5a4c61a6ad +IV = 72 +CT = 9c5738704987441ff57dee4305a6de1e +AAD = a0845ea29ad8b500fbb1f9ecaa19653e4ae16278ad4b3e8317d4e67623ff19a160f2f97a531331629d3bfb298a729668 +Tag = 605c24929261032f20de097935c77e +PT = 76134af7ccd0be9796004c2d1c30ebbd + +Count = 12 +Key = 79711b7f4b60048a64fc4f52205f3135 +IV = 9e +CT = 3eb4e2abcf525f49d7dcbca766220c79 +AAD = 74f1edc7d24aefe5db3f897b87b58ff0a8660e38e46fe0d09adeb87acca5cd9d0506c474f3499ba832d2c7a72f6069d4 +Tag = 83c1bc2fd98dda65def7ad93bcedd1 +FAIL + +Count = 13 +Key = a63c1ff75b87c138ee3457166f277eb0 +IV = 8b +CT = 1f207f7c09726602cb6010081586c1ea +AAD = ffc36be559feffe5e8c4b71a2d61a2f2531a3ab0e595a65e0a69998d70216629746730c05f75c3865b39876b869c5a1e +Tag = 5c193f8ff1d1763a2fbbcff668d2a8 +FAIL + +Count = 14 +Key = 95e0676294134a75928d8ad6e0f221c6 +IV = 7c +CT = 4272fa8b85582352cc7ccbc73c48ab05 +AAD = 31055b6be3714f15f676c4332d38bfb58c656b4ff7629d05ad3a05a5bae1b89243dd62d56e52026e60d383e40c39c33d +Tag = 621cd3a8f628f5ce3fd8b72073738d +PT = acf5ddfefd6e02ef0d1a3cd00661210b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = ff03d91eb1c9cc0c250a4a27c352cfcd +IV = 22 +CT = df6db818fa7f406cd99baf374d6ab010 +AAD = 72364b03b6700ddffe3cec47d31fd48f84be63896f2f88d6e5f459e9f9b75e73cc6161665ec87785071bf80c611318d1 +Tag = 74a468e30ea5f41e105e79871832 +FAIL + +Count = 1 +Key = 99441c4446e3167e9a260807d9357911 +IV = 88 +CT = 876dd391fb2188a244f43a3f66f7e5de +AAD = 946e8d97de1d14689e9f8d3bdf48f1cac60cba49b5aba3b521f227fe5a0270b1b1ea22998a104d6063b25ab8179af7df +Tag = 2531ccfdd220428317f275973099 +PT = a34cab5c93a3157ebbdac9744e5972a4 + +Count = 2 +Key = 9eb93bf896f76ce5d41742cd0c170eb9 +IV = dd +CT = 4b1caea1d5919c38e81c887863513779 +AAD = 090c9e7a80545d15d687c407acba01719221513a1749a43c3655d98b1c3b514e09692a1eca354890beaa157702a281d5 +Tag = 2052be3a3682daf92896ca934a2b +FAIL + +Count = 3 +Key = b6645e10e04989c45c9dd2c55926d9cc +IV = 63 +CT = 49d2c74751c33744e003ae8849239aad +AAD = 4ce10ceb0d12d60ca679209e3b623229365bf71418eddb13ac74585fb142a5ca6cfc0de13d0517e0e10082dc2ba4ea53 +Tag = 4ab1e24e6a199af6cf2d3601bc09 +FAIL + +Count = 4 +Key = c8d6752f458edb9bf508a0e284f24059 +IV = ce +CT = 142750b205d3fb425949782339274c82 +AAD = a4c3a6520e90914341ae8f70c1fc4edb9f0bbce99b3938dee840ccaa66ef0ccbb08604f506cd0facb1366301b0f4c9ed +Tag = 15493a22f4e7063537a67984790b +PT = d2be106c27a84fdd65455b2faf08cdf0 + +Count = 5 +Key = eea1fd586658870ed5a3f7ce9c3159b0 +IV = db +CT = a12cc5bb4749dabc4b6a48f748e7f5cc +AAD = 8247a198e391c9e1d93e7e2c0f3d89e900715fc23b65dd0b9555e6091ee1ed653e4d77de1f0824f61d2d0636bfa21834 +Tag = 963e9d6d8ec81dd661ec675faa4d +FAIL + +Count = 6 +Key = ab6424faa878421d94bd8676b87013be +IV = ef +CT = e12e5472997953dd5e026072e30550ea +AAD = 7cc6008068b84a123ae55417a959aba549b8873c49a43959dd3c59e24345d9bd1551f8474ec456754add0e50b08ab7e9 +Tag = e769067111f2138db378767d7f26 +PT = b72dcc7969c71ef2834b36fda91ecb32 + +Count = 7 +Key = e0a6868a8ba57b766fcc567d323b81f9 +IV = 14 +CT = 0baca3dded53c83d3587876ad55cd539 +AAD = 5d79140a3557db075919373f42024e9a764c30d53dd7c5707fe2ca40363bf97e630ca0fa2f95677811525c5a2bae96d3 +Tag = cdc01d28290a4fc3653aa899c0b9 +FAIL + +Count = 8 +Key = d378b9d3e07c2b2a696a37975328a146 +IV = 02 +CT = c730cd7a1fd3506e79a453edfc2b6272 +AAD = 12be58e7b5335f9a6083200c1e29cd9ea943a57c9bd3bacb8dd27a023e38da35ae25e93121386b67b7b8db3f4bce1208 +Tag = b48b36dffb0754a0856979b17793 +FAIL + +Count = 9 +Key = db4857d9edb8da790e005f442e0f531e +IV = 9b +CT = 7fb8927689905c55e41f7d57ac8da567 +AAD = 77626ec0fe08e2e2ee4f0e0bb38fd37c7038b6f61f2f33212b4e7895d30226970a0783f4bd4113c982652c8943cce220 +Tag = c0756ad95871118f19e3a5373f22 +PT = a3c8c79238382093a6b8cbb9dc7f817f + +Count = 10 +Key = 2aebad4e3fc5b08f6aa6c6ea01d605a2 +IV = d1 +CT = 1242bd4a82919009419db6afff0adcfb +AAD = 23a69fccb0e9c3769b2f7324a7d406b1d4b8b27cdc0a008df000d5e0bbfdbec44e62ecb5917f07c23f5bbc01ba57e2ff +Tag = fc0265f91721b14dbe02a2ad0536 +FAIL + +Count = 11 +Key = 9ba9d6eab71fa73a1bcf99aa825851ed +IV = 9a +CT = 3afa7f628d501c2280ba6f849f155313 +AAD = ef5ab8b0c06e0f952c22d78d2765aa7762aeb5878e67f543ef24255dfbc0a7d1d93c525ac735191547f216df65bdfb8a +Tag = d6aa0c5c2fdbf531032830627521 +PT = 42bb2f95532235a179d73c1f8733455d + +Count = 12 +Key = 36723212bca2ab55d2b44756d61ef6ad +IV = 45 +CT = d12d5b12979b1be34d5bf9e943c3f185 +AAD = c5e9ac14e130759c3e5a14bb855689f9ba55812ca4fe2b84015a3609b2938fb1e33f2cc5ab95e4a6a8245412c3b459e0 +Tag = b9add990a025b40396f9f55da5c6 +FAIL + +Count = 13 +Key = 7dfb9ecdd1ce94c146fe2de4dbae2e5a +IV = ac +CT = 0e6fcf25316feb55c0ec8c46afd79d11 +AAD = 5d1331bd920cff9f8d956915376fd3c02cf2c0a3a0e73377afeb9b9d7c3a68b3fa0f2b03bab0d0f7c00d64fef513b41f +Tag = 9cf77e601fa19f833380b24acb29 +PT = 219b29395d89348063f417ece8f793a2 + +Count = 14 +Key = d59ea8825572bf30c5c43a840e5287ad +IV = d2 +CT = 49783e041989864ff894cf5e7b95d566 +AAD = eed8c8d65b50dc640ec661418baa3c9a7198b276c57b774655a3b6b38d91791a0a46091c168665882b81cfe098a2980f +Tag = d466684e8c187e45bd1a45fb4b6e +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 8d66af2b0d3e0563bfa6380517a38908 +IV = 44 +CT = 5c725272cdce73f950d24110cf9a6288 +AAD = fcab11ba5ab8a5ba850874bba0c66bdaf4e27cd4241c2460314e84f2e9f9763851760a477325a3a99bdadc3d7b8701aa +Tag = 6c1b65e1454b5427f78aac1a14 +PT = b1d297336bc408638b870ec2ec912a32 + +Count = 1 +Key = a5ad0ea9e93e3cdfc77c04a9a69bd6e5 +IV = e2 +CT = b022619ff2614c7032a796c926e9aaac +AAD = 6e47e9b7f8a2263e0cd04a3c750f6346fd0c163008c868ae77ffb3ddfb9ea652fa9171242af21736829bfc3f7f9e8aeb +Tag = 23ce7c27fa3c93a16723ad8459 +PT = 410773bda861f7dfa5c78dd120b5fb2c + +Count = 2 +Key = b5d8b280dde2d42053da2a9f9288f093 +IV = e6 +CT = f34744437adf3b929dd755aacfe6162a +AAD = 4e8eeb5aa7281e7d3c4bbe97a75c9ebd116b7afcce94408ae3713566dddda4fd16560c8384dc29dd348c90410c6c8040 +Tag = 753cc0808d79a564b0aee91fa0 +PT = 07b99af855daf6d9154efa967b5eeb1e + +Count = 3 +Key = 036520b35494c4d11d58ff2a9e0eedd8 +IV = ef +CT = f9f0170061cbb2e91027ba741bbf7e9d +AAD = 7020cf3bf4e3094a69044765255683f727ad22376fe7771751fa5741ae48254107991220f150fcd79a87aa0ed69aa3e1 +Tag = 8e1862c725c79aa1a60ad00043 +FAIL + +Count = 4 +Key = 6538fdd407d89a8782dbd4399f46ee12 +IV = 7e +CT = ce96fd55462c76037763cacf744d1a96 +AAD = 8ef18ae6fddd8cd8b22ee43b6eaa40bd59ca8ec1103fdf17988e6e6f0b46ae13193549fe33389fc74f683aa912ed9fe5 +Tag = 777d9fec5b9cf5d3c59e3e5711 +PT = a41362a69c30522da506febf77aa1ae5 + +Count = 5 +Key = 2571b3ccc0e641db7792580e25999116 +IV = c5 +CT = 8e185b7269c339eecd602571d3cd13a3 +AAD = 53cee7fe6ee52b0b79240fa210058e6604cc4c92d4ebcbae48f735dc231617b2d383c960cd78fa3a59a2befd8543c427 +Tag = 64d8c34f7a10b6f4235c8189d6 +FAIL + +Count = 6 +Key = c0bd309fe8416d50bd37755640860b72 +IV = 91 +CT = 0bfbb5c513fdbf90958897ad594aec7b +AAD = 2e4544ab1042886dc367d60905ead9ba3def3436a249c65aaa1629ec5076d89e60ab2a9c94c73ee3428e636981f5e9db +Tag = d80389cfe5a7c6087afbf97e54 +FAIL + +Count = 7 +Key = 7b10a334263d8f4658aa89b88535ea33 +IV = 0b +CT = 662551cb3d124ce7a13b6b1591484300 +AAD = 0fc308633e436a42f8bbafbf3cb8d28d2fd21089461536ad8d157547cbf378232fcea0cd8975c431c5535b42c9b657e5 +Tag = acc13e873046d8d04a8454e7df +FAIL + +Count = 8 +Key = ca5620095de9fa888473549418dab011 +IV = 97 +CT = b629187616b2fb2a5c060c32a9b5f0cb +AAD = 1826451aaebc158d54e65b6a1d554576c7f0fde5765628d8d1703efe65c49ca7f3bbe82258d77aacba85ee704e677c46 +Tag = 331d8b8c7f1ee51ce24096dddf +FAIL + +Count = 9 +Key = 008f5cf83a9baec734b31565e6670838 +IV = ae +CT = facb5b48015e7d363e5d9b420e007642 +AAD = 80ed2c4e7bc68f4b0de7d84c38df5f852163796a6b58998ca007340f401ced3ac1e13271c4db54c96e655f7083774a46 +Tag = 1a0d712b3a45fcd22cab575863 +PT = 15e415ae001824d2ee78445b7f986084 + +Count = 10 +Key = cc550e2e8ef8f307450a16e2a9ae5c1b +IV = 16 +CT = b7c95a003dac7f37b97762f9b0c27256 +AAD = c25e80264c399c018a1802e29e21ef4f5fa4c75760c793707ce6324e213b0811e047a4598579f37c46c2706601972cc8 +Tag = 601f2263bfbc5f7589499956a9 +FAIL + +Count = 11 +Key = 57ba020679d9aa8701eef04ed3c78f64 +IV = b6 +CT = 6fb6aa89a251b35d73223273e4fdda44 +AAD = f7f46ec93f39462af637107e479e8acfe14202de390f0ee7433725c265d34f3569dae0c0178fc22762b731c5b9156b02 +Tag = a28b31c07b8501ef1f4443f16c +FAIL + +Count = 12 +Key = 9ebf7d53807e20736b8088d2b1ab90e3 +IV = 13 +CT = fbcbf6df2bfc1279479d048ebc83bd7a +AAD = b2db0e610fb90015a1419c1fe8395f418e751b85b59dbfb4f2b9e8a0e322ebf18b40caf7f809cced660159abeb67c7de +Tag = 40a704de78b5f60eb8b0ce8a15 +PT = c1e8ebaf1648bf81954043afb3d303ae + +Count = 13 +Key = 95db560d98e04f41987ed911aecad134 +IV = 58 +CT = 0b647ccb371adf6b22edab424176a7c3 +AAD = a9361bf690c73735cba00f6a38a4bfc5f1247c0d0fb99b5c14a431ad31a8ba5e795323a194331a2e26a225dfe8334555 +Tag = 78c768c2222ce077380e1ce739 +PT = e0e42f2b62c1c34e6acaef39a7fe392d + +Count = 14 +Key = 4ce447cbfca540c98601ae98d7f41b08 +IV = e4 +CT = 61f6cc6c596a2806f4cc9797bd843a0f +AAD = 574286f734b07a6e4559d6d917494c2eb0811a2aea0f1463e6104b1fc513ebd26125bdac27162fbfe4070baf0ad5db2c +Tag = 0643873a409929b9913746ef7a +PT = 842d44d142a58484186eb13e26f1a49c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = c74689396a1d0c33dd3527b59611d6ee +IV = 86 +CT = 3c0c351886ff9e90f548f1936737de25 +AAD = 6d7f27a7c3b121f5020e95587d4dcd6fe4d9949a592e469077cd9a4eac1fe02c361d3d7abd78c8312eed605f0d1e3762 +Tag = 439a7769e51bb94585d85aef +PT = a0defde7a80165d84ea2455b2407af4f + +Count = 1 +Key = d093e2b9705d7ab6de089bb705171e89 +IV = 13 +CT = 179663bccba0dce4e54cfa10db13914c +AAD = ec42b5b872423cfc7500ac9651a7d5ca7842e0b5ceeaaf646ae82ad7a8c8654c2a09a1fc385988a469dbdb76e70982d6 +Tag = cc6ff7652ed76f8ed77e0017 +FAIL + +Count = 2 +Key = 7343b6bf9ebe2aaeb7bbb7dbac779c8a +IV = ff +CT = 63b56adfdfb531013c8917d1d2d38298 +AAD = 835dce2f1dba5537c288d06557050ffc06bea98645f1fe581add4540c8faf5b00bff0b3b9418dfaf5adffb1c00b3fef8 +Tag = 228b9ac90ae3f1cc850c7c41 +PT = a8afa56cbd0ee3006f631edc00651395 + +Count = 3 +Key = 27579893fccd4120527458d7d8ee1d9c +IV = 6d +CT = 7c01391b2579a544daabe8eca6274272 +AAD = abf7c5c6e3aceba63dec5718850b9930b44cd56897757890328c87ff7b949651e67aff6c4213ae49d83592c92f57fdb4 +Tag = 9336072f7c08207bffcfa90e +FAIL + +Count = 4 +Key = 6c1f43d58cc80f8e38c4221000eb7b1c +IV = 92 +CT = 1a2d549cf6930831cc87d59bc2fb539f +AAD = 444186177853df7b0edc67e8640d546a3d0f31397a02572ad46e38ea0565c724b430a036c62d678366704e967a5208b5 +Tag = 8930294f3af97e206a916884 +PT = d07b5132150973a7d138136d2db1df6d + +Count = 5 +Key = fce733092c0e3d1cb6323c7c53a6c381 +IV = 93 +CT = f4be9aec49550704462e3b7f28f89f7f +AAD = 74122e1c339706c8377d7113e850d8fdf724b15a1283307d2dc216f38e83dd4e16c5531cca162ed0fbb30299323dd8e5 +Tag = d7eee24c345f9c6b85cd739f +PT = b885b17f44edd9f0566dd18b2a1435ff + +Count = 6 +Key = 848497d0f44324291ac0ef175b56bc51 +IV = 40 +CT = 9f537c2edc09c71d6469261459ef5950 +AAD = 4932159b8299ef34b8f83423331619b710947410f79a85bee5fd050b88bdfe84ea61ea609829ae514cc4ae3a7409af66 +Tag = 03bca0ebdab9ff495fd8888a +PT = 9dd98b16e70a51d3569e6601b228381f + +Count = 7 +Key = 24443915deaea86c1b19475a09541c15 +IV = a8 +CT = fd8111ace3f224ac3778e224b8d1ef41 +AAD = 2c7f2e257f240df554e71a40d679fb2cca8efd2f30a49bdef16bfd1590c818a77aeca9080a76e5c39a3b795584e6dc1a +Tag = 8aaf401e82a284e9736fee7a +PT = e9e0319695c0932aa0c059f481d67234 + +Count = 8 +Key = 4ad7c3e61132556db2b1ea42c11bffc3 +IV = c6 +CT = 0216d3bc95b70e52d54b669fd91cfcbb +AAD = 84c0757d2bb05f01b3a565ca1597e208aca60afb98f6bc508127eb8d34245e2742bc3d277a07196bea3026b458362a57 +Tag = 91595f1c22a681ab83a3b94d +PT = 14666494fc0e56efaec77e9fae2e0e2d + +Count = 9 +Key = b4d4db33dd3efa1b413bf9d8737b4ee4 +IV = f5 +CT = 51cd2a0c3e34a293f8fe2bf2698bab25 +AAD = 4b0e67b07b6373f059a3f9543a52306cb57c038c0ca6c85ea792be505a16c5422713187b437b2113bb29eaf2d785ed20 +Tag = 963725742e4a2d9965bfebb7 +PT = 0cb0a044f26f1b9d3d22ee100a30a927 + +Count = 10 +Key = bdf4f85f29521898d12874cee361949c +IV = 00 +CT = 99b9b663fd863baf50d5acc0bbc78b4b +AAD = f830fdfcaefb13b27a79f2fa647c3e08f6dff1835c7b23b9ead4d7224281cb0ec2d0a7b313573da3e9faa91b5baab535 +Tag = 6778aa1797629309b83840b5 +PT = 5fc7986b83952c0e8652523b4ae64a12 + +Count = 11 +Key = 755b23f5f437c93cce7f9008016b8212 +IV = 86 +CT = a750107be5e92ef2bf665d713e2c6dfb +AAD = e21c730c6ebc67154fc1d7d763db75c167b0517005282fe71c2298f7044d56810bcc753e356510875a9d896ba317f82e +Tag = 0e550c0270e2488dfcf2e11a +PT = af6fdc74e54034d724ef5a59f92e695b + +Count = 12 +Key = 61fab1e7d2219dab63008fda4fe8d7b1 +IV = 16 +CT = ac8d915825860a9f0996bbacf509df6f +AAD = e68fbc33fc8dfba98b81a7f5c09367a70202f798e4fe004fc626f14ec8014e21f39d42afa803e619c4cb936c28cc02f7 +Tag = 8abbd7971350f2d5ac15a057 +FAIL + +Count = 13 +Key = 6d9d264ab670c910ade37c5e73d076a4 +IV = 37 +CT = eec1aac567bbad0ca3c74f4a329cb2a1 +AAD = b8b1d5b18a7771dcba4297f96a8b993a701162d367571e23b0c9b1085b6262dc74558fbd575c2fde62d89c6cd2a376d4 +Tag = ff94b784869142a2a14d1076 +FAIL + +Count = 14 +Key = 829839aa1ed76eba0af28ee626d6f775 +IV = b8 +CT = ec0d1b3793d1fc5eafd23d27546b96c5 +AAD = c5455154fb3f23d8a536978c2908c3a978cc7f091deb6cfa4c577ceabe2c14266b2b0f3d6a7d0377d65c65f6355e2f4a +Tag = d69b05af88901bc2ba048d04 +PT = 5835a3f5b9fc953c67906b5bafcae1ad + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 71a183d57366e613e534329fa508d3a7 +IV = 8a +CT = 287e206bfc717b3a58287114a2f73b40 +AAD = 5bd3ab58e8176a5ddbe4432729fb6efc7a8f031aa052e244df6d774d09d392f90e78c0215f03d9e31a2219e54ae63aa9 +Tag = c41e7e2b58564b0b +PT = 564a9c017e9d5d79b48dcd0dedd02fc2 + +Count = 1 +Key = 7475a47d4c392fe27544f21d8509f085 +IV = 81 +CT = 63d9217a093431abda4231c969b56d09 +AAD = 721862e019a14da33f66bc59f4c8d0c62cdbb5ce785b8e53c2c5e3b79d4e8ad25866db49341bd611edf747413bd652bf +Tag = af662a80f67b18f4 +FAIL + +Count = 2 +Key = 51afd063371dde03ab947867c5cd7119 +IV = a1 +CT = a4ac51d66cbfcba403976ff0cd2916a5 +AAD = 60b43c09aac4db035df588d5129325682ce4bce7b17cc4f1e9928c2c1c4876f909f7c57fde00fc9233e379e86f747366 +Tag = 4cf7410291aeaafd +FAIL + +Count = 3 +Key = dc6e98d2bd9373b6a8d304b1833324a1 +IV = d4 +CT = 8415c73cc35de3224a2a455d4db1558f +AAD = 38bafd54976fdfb9fd3477b1be5358bf19c76ce0b20e4441fd8800483203fe2b68233216b149b40d508684d6e2515ba6 +Tag = 1c228af12de224df +PT = 6acd33004db5f87d7621024c4eae3b46 + +Count = 4 +Key = db791cd7df94229182d72d14688e967c +IV = 64 +CT = d71cb939e4002a36b596bdf915c5c344 +AAD = 59c189028949d39a9f0801880ac97d74bacc8e27bb45dad1457da2d133923ffc6a82797f37e93ddd910552dd13fae9e2 +Tag = b679a1342395e738 +FAIL + +Count = 5 +Key = e0e45b7d3f528d59dee41346512394c0 +IV = 4f +CT = 6b5b5965b49656f86886e9ca9d809639 +AAD = 4f75baf0e98035830d931c3ecc0e6cb19942992371319724bb4894b25041596f96badba569097c9dc5956cf4d9d07307 +Tag = 8a8ff156708d1602 +FAIL + +Count = 6 +Key = b378f837e220c27886df69a473b8e311 +IV = 54 +CT = ed41bafb84119e7443681c4aa8e26101 +AAD = 277822e1ab27469c683263a4f58e96a443ae0dbfa92ca8e6676a19c369efdc7625b360b2af605df4d0c7369d0d188eca +Tag = 4b663a76d5481d89 +FAIL + +Count = 7 +Key = 108d5ca2b91b73cf0a27ac1567c2718c +IV = f7 +CT = 40a078bb676ea8f1124acdc3ec13a3ac +AAD = 28631cc98b9dde3d3702761b813ecd3ea771cbda9ade76e60cf5f4b40745c1f8e1ca928b4c4faec3d409aadfc97d7737 +Tag = afc0b180fd068511 +PT = fed0317692f3f705c4e7776cdea89d2c + +Count = 8 +Key = 5f7a9b91c61ebf8be1bf39db3f29c35f +IV = 60 +CT = 042538343ce4973e2ab1049c0b863e95 +AAD = 899003ecc0752001810029c9e8a020e87f7fea2308c820f054b9fee4157b46db08b8008bae33b51bf026ce2220fc0889 +Tag = e3f232ba57fd66b6 +PT = fa78970903e151744100408a967a1cf9 + +Count = 9 +Key = 1bdd79080da5bdd8698c8caad417b79f +IV = 6b +CT = d6f3802e0ec310b9609b45fd61835118 +AAD = 8d7ecb082a8747a6a821a967ea9d5db27473ecacd0390655af3202fc182f6ff40d79c791f66c060ca83901f8537739d1 +Tag = 4f9155f42cb0ae8b +FAIL + +Count = 10 +Key = 1a2742b871b9235fea5f18d796a2115c +IV = be +CT = 7579b4f97717041748f624f7a500b959 +AAD = 5dfddd1f1085d3d8b868e000bba64cbaf069c0f8025da3290409ab1dd089c755541af94c597105f4d93e6066277da8a1 +Tag = 29638ea213838290 +FAIL + +Count = 11 +Key = eb3fd0c6d1b25f6e3e7f1bb715792950 +IV = be +CT = de1d9a4a3c33e3a0bbaa7ff4369351cf +AAD = cbfdd5c8e996a7daa2a8f311c23f16e2f71b06763dfbc767db36382c0932f1a3b378452b789e2f30940a17ac3c41f85b +Tag = 37d6c7f0eb7221b5 +PT = 9013f61de685be92fc8388ae439e1b62 + +Count = 12 +Key = 9c4cee7dcea4a87e3490860e54b5aebf +IV = 26 +CT = 8fce9b269b1049de40327c755cc556de +AAD = 7c817d54c4c555e1d2d296ed008b31d97650c4af5e98d3a784503f979c6da5a727147c23a7110d3fc61cc5e469c6fadd +Tag = f3a65d577543bdd1 +PT = e6809d7100083ccd7bf7fa2e4c549f38 + +Count = 13 +Key = e3fb8d113a6f212b8b89b506c1ba98d6 +IV = bf +CT = ba03da2415518192e4d6786539f2e337 +AAD = a36b4b1c90cf7663db6c64f5ccb5d60671b5415ec5379d4e0f6a9edeb614d51065eb8f7c64da41430765e91b9fa7e307 +Tag = 59e471e01676b4f2 +FAIL + +Count = 14 +Key = dbafde3fb050efede97ffae8d3141829 +IV = e0 +CT = 18880b9b1b479dfb23139d0e5a78deb8 +AAD = 3d1d44ad20999af73813dbe3859f780857c90ad5562de9b99f7862c66cb0b4d727656c0cb45ec71fc6f54c879c6d293c +Tag = f1b2aa49dcbe133b +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = de97d823f8a540ba9fa4817a38c856cc +IV = 54 +CT = 74e2f623654880bef554c74a9bc591c8 +AAD = a1b24efeb6f242c3acbb893cd60c905c250a776cf7f70d6bda1fd790bbdb51d82a0ac434ab7119cd308f9c80069f0b7d +Tag = 40bc87ea +FAIL + +Count = 1 +Key = a466b821974f780eb6c37e2912f6660c +IV = 69 +CT = 781c7db6f80e69287392aed0c7ec5a4d +AAD = f09cf4df7863809fcc51bef742b4e95ee10f72ff57c3dec938d245c93ce3869e00c7efe2a0bee458ad2d83983dd6e7b3 +Tag = e3e00ba5 +FAIL + +Count = 2 +Key = 79d4d40c0c906411f490611a93865e81 +IV = 91 +CT = 1755d1a2fd61a35bed48c1e7beda51c1 +AAD = 6943fe726753ebac87bbdf573d82ea94029c499612a5bd04fb0d3997d538fb128a96076dc831c53f7f1f7071085666ec +Tag = 86f2ec9c +FAIL + +Count = 3 +Key = 0bf84852fcc8171b58501a45e3221bdc +IV = c5 +CT = c7febd680d981159c03622a88ef90abc +AAD = 8ebf3fa0d1a4ce2a6bf688f9af10cf22fb0eff9a1b5c54cf8e5373cb0ee14ba658bd038d4928a11f770b379c9563cd9f +Tag = 09ffacd0 +PT = 38dc24c8d7f32ac1e982e4d54587bc4a + +Count = 4 +Key = 87b6139634a2c6c0dc874511ebf4cd9a +IV = 39 +CT = ffe98ee0253ac2cca7dafff61ef3612b +AAD = 5c171021d3915c39887f27101b44a0868c178a375b4ee51201c9fd049f206869b5bcc309952a60d350d538ad19b0138e +Tag = 7cce910c +PT = 8c45d817c05d50897acf5ca84765926c + +Count = 5 +Key = c895a0bc309049fbf7c2d2182217a406 +IV = 65 +CT = 5b17433b2be95166d7811bea471fc170 +AAD = 298ccff989f2203a572847690763e90b1c733e7752875dac1265820d10f02db5c712f37a58b639d80acdd02ed4b78915 +Tag = 28f52255 +FAIL + +Count = 6 +Key = 4d2625326de020298d9d8913d56d7d91 +IV = 7a +CT = 6acd5f16e6e625d306969e3b4126cfe6 +AAD = d8a8a151935799c004598fe2d47896b3c63dddeb0d1cfcb798e204528860ed1fc0afec5c134a137954bb8e459c77c62e +Tag = 1f5ad188 +PT = 003d025cb82ad30d48d5b39a10bc913b + +Count = 7 +Key = a63f2fd0c7634cd9f88bea788d1eb33b +IV = 94 +CT = 5661e850e1bed458fe2117a00b4e5237 +AAD = 3bd46a40e99dcf19827dd0b5c35f7d899c2830afbef9639802b129c7a445e7a87744070c416d379f0aef52c0da20a3f5 +Tag = db0a412c +FAIL + +Count = 8 +Key = 1a3de65cfec9f64b7becab33d525e81e +IV = f0 +CT = 19d79cb19eb4d64b12d36d39ecfc827b +AAD = f1b6c4cbbb6e5bc7423d1ae42bf1579013aea5b0e730bc322ed55bef456e80883e388818652f530c59e1168e359da9d1 +Tag = 90013858 +FAIL + +Count = 9 +Key = cc10b7d5059e71600a66b50091e50659 +IV = 14 +CT = 5dbbd460dbc420cbaffb41e0f5b602f0 +AAD = c5f5dfcb1d5dfeb78e4c611dafd5f776e146e728b183fb9bf40c9f1fcde984665b63269c5b8dbb1094d04f375193257b +Tag = 2893b82b +PT = 497300f4d00b7f6222cbb928cdbaa186 + +Count = 10 +Key = b6c0ce755bf76382cccc2bba5f52ef5f +IV = 48 +CT = 7dc5ac1fa5427b4e911a8ad0b895a7cc +AAD = e37c5997651c1bb241333e143bc948a2e5d9e136f132029b44e7e8646395cb7b0c62638efdb4a8b34ec68c466b90d9a4 +Tag = 36ee18fd +PT = ea59b4901e5e03bd323ddfc1fe9f69b5 + +Count = 11 +Key = f44339900ad769989f42f3ce4adf9959 +IV = b8 +CT = be1ea3c6f6abdb545fbd1525d3cfdb6e +AAD = 539fd296bf5f5374c333601deaf1cb46b587fbecb30485d8c1f44d932cc857a79d3423d2e50c41860b461d0d441f068c +Tag = e3b1f830 +FAIL + +Count = 12 +Key = 0987aac8d81590d9f4a902d548783dd1 +IV = 6a +CT = 247ddf688cdb3ad386b30b65ed599b33 +AAD = 8f5bbe2ed7dcd9f42ede6dc326874f45080ad5aab36cfc470865bced6a77ad96f334fec70607688cbdaa5c7908cf05e6 +Tag = 314e6b66 +FAIL + +Count = 13 +Key = 8bc3fbb762c6b38824a09f0138bd0cb1 +IV = 03 +CT = 1f9e7731eb924833ddf2306a845b294d +AAD = 388fe4a521fc2e58f5e1335493582fe728ed37ab31a159ca1c35c671c6a3151fc1b44af90b0423a969a49b8ff5653470 +Tag = 87a82471 +FAIL + +Count = 14 +Key = f8759414fdf3da2795648a50578c432d +IV = bb +CT = 67a34d81d36c37e6f371ee2a64c3dfbc +AAD = 4fdbab17ccb245f1707f81e01b05aeb7abddb67ce020d2c322a6c6eafdae573485e3b250f2965d10035b8b39d8f3a991 +Tag = 25f807b0 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 6b069c72fa5ab9f5f866e7a7b5d5069f +IV = e9 +CT = 9561fdf67f3a160cd870d23674e86b0f +AAD = 2be3fcc3f5a6659a6388826c4c904865a27e5d6b10f9f49bb9062c7a61d3a93f7367d1d04c1b9fd2d40d470e30c269d1e1ab81e9968862025eb8de0fc77d69d0f12ff4be23bad2d65943b500f19f02d97cff6c52d43c8c74f138 +Tag = b1874feae9a5fd3eb53d4e78007d6a45 +FAIL + +Count = 1 +Key = af18b65a1fd2a785903396aa7aa1b379 +IV = 17 +CT = a59baff3abc5871c1404f97d3fd35d72 +AAD = 4083e67ad2154adeec549bc4a105295d3656c528b6701e634b209a9decd09a2311cf6d275be52fee85aa38a4b2d524042c08d6e93e8479ad59226cbf7c7b72ad95ce1857af7c76cdbfd76f2426faddcd289fee76677c0494007d +Tag = 8bf65e804ef240abb2c9e7238efcebe0 +PT = e506442671808c472bdf628be14b8500 + +Count = 2 +Key = 21ff9c9797f97d8fe0e0f9937499b7b6 +IV = f1 +CT = 038a7022d6008c0c07a5f46045c3b924 +AAD = 6faeb1e0ccae508ec831a0e4f3e4c65ad5fe4457b909df7432cda696c68401608ea94198e2401ec107addc86d1bf857063a3a7e2894dc70cdf18706173edb6d38abcfb6b18890856ead6fbfc8a7f2928c4d837ac18588509a163 +Tag = 954d4f2919ca8fc3e951f0ea35d5eb5a +PT = 7e8b28cba5c5144a49151c2b9d55c43f + +Count = 3 +Key = 6bfbc6f9bac2d5e0ebd957771ab8b29c +IV = 13 +CT = 901ab84072f9b7c2d25b3194d9c26b0c +AAD = 00d6b3ddacccfd1eb6cedd932b8154dcb1031b5b56bedc23aa818f3d3d573d9b3a7df62d3cf348abb8ddc6289e2c91aa14e7baa12ecd81ffe34fbc152b84d24c3a2ea5d72087b8c2cb937063d3f6179ddd2e751edc1cb1bf7a3e +Tag = 551f0efa0a1bc3b406ba0adecc592aa9 +PT = e1ca34d93cc0f0500fc25f7773c92846 + +Count = 4 +Key = d6acd5827ded9cd089b000b4f0232f61 +IV = f2 +CT = 4593ad4a998f33293f11417baa93e7f5 +AAD = e81810f5b4de8638064c5cdae5bc2e9bdca15280ad5861d618dd1c3dea78224e53b439d39454428acf0ddd63dedf5a98421d2126b29fa82c999e8caff90b0588f627f21f5f301d45d237f43c70ee74830d19275ffaa864ad81cb +Tag = 66c26e36bc7af7d37a8f6f67ebc7f494 +PT = 8309a6cd17d992732a96ac83333204a1 + +Count = 5 +Key = d4ca4f5eafff82426f17ab9a5ca143b2 +IV = 91 +CT = ee0ca337d73d7fc3760df3428fb9984f +AAD = 5a301f0c4b09b42eb8e7575c6420746891066d013d42586b16dc3bada3962ffbb73a91b05ab5cf530ea038e6f573e244254089b3a7285637df672b243246381e6c65aa363197d0d9596901606042bc8a1fe8782ccc90009bacf7 +Tag = 447080176d91a3ffcc112ea417809b4b +PT = af5afd82b37af73e19ca13ec76c30cc6 + +Count = 6 +Key = 5ba6aec293df5c7a0ab3bcf59fc7694f +IV = c0 +CT = 49262bcb0be067eef940adb4ca314e67 +AAD = 01e73cce6a6109a50b9e8a9288d242dbfda2bb729329771ac4444f470952d2fc320fe877e8b7dc04834363cc6db012582cad32034faf9c062378ff5252748b1ac4ae9da205f451414dd7c58064e742897ddb75b0ad3cdac77354 +Tag = 51e1ea67c4e0b41fe4c4e0d03716a0fb +PT = 3d4cf23922655540b168d0a200980939 + +Count = 7 +Key = 956f0714024767224893b5a6517a7d23 +IV = af +CT = 7679df357021d1db49ec8aec3af51dfc +AAD = 553024752e0d8a0735d7429b9aca5cb53314eb755b6ddafa5b1aa5a8768f42bc9b3f4b287117923616864787a1ddeaf947adb824e0529e729b7bd7ea81ad19e0b1cd19739055fd5bf87630ce9edfe710bb7560f6cc54b95184e1 +Tag = 58d37f432e61ac615e9ce37402b8e80c +PT = f5c1b1358e909408d054b02de459222a + +Count = 8 +Key = 3ab32f031d5108b234509e92cccc05df +IV = c4 +CT = bf67f27b8ee3d1159158df68c5a6054a +AAD = 890935a22ca534d563aeb1bf78b4b56671af300778558435068e641ddb711acb6e542e14b3f618ac2e3063e31e1fd27e296119d114c18b0f42f63f9e4b0be4f8563193a57017f274393e6039735593122e65ac42030114480d76 +Tag = b0340a088d6b816cb5f6581d57f5b3c2 +PT = f9da648f20d7884d4430643cfda7833c + +Count = 9 +Key = 75b66d98d8b0b58c4b3b99848cfb7411 +IV = fc +CT = aa0c7aaec9a70466b160f7a6a3b8bd3e +AAD = fc9b5517f2be2b01fff4c258dc87ba4528470c4022494210468bba9a430d88fceb63e00fea4efdd4f6240b0d74c9fa61c830bc85df3d159a1360fcdd3adea9ff27257986d3c32d8d5d88c5b5b2bbcd92d5ae8656fba286daf962 +Tag = de6e4b568938eb36675213d30c094909 +FAIL + +Count = 10 +Key = 2f2fc0211a747c8986384a7b74977d63 +IV = 68 +CT = 5d57952367e4225c7751e4aa6be989db +AAD = cd1e58fe2b4c04b7a71d041aed968a51efee00a2c2b2c22548a6f4397b9838a7e4b09dd9e949031490e7896498ec760d952ff0a4305a98b887f70e3edb742413fe154c82430a21cbec7b1f1e28ffb55393a1ddb0f01536e2c1ed +Tag = bb21ef6250fea1e6e31b7a887919ff4f +PT = 87d037dffc2803d8d3ad0547be0085b0 + +Count = 11 +Key = 29f495182c987d7f7ab908f81572ae9f +IV = 14 +CT = 3c02b401ef6fc71c24c1dc78184c1790 +AAD = 1c5b4e577bb79fb401cbcb6ea4fc8ac0e6c6f6ede34b0c54fc93129388a4e4da9920a09bcc36c7e4a592e736d88759562aadfe0123575255e44967431babcf6649c2b0f16650b1e963c3a9571db120688dda97886bc1abbab7a4 +Tag = df71c600f8a8db522ceb98b028eb2170 +PT = f74eabcdab4fa876caaa12bbffff3f02 + +Count = 12 +Key = 53df688af22c6f0ab20a984b0d1066b3 +IV = 9c +CT = 4854880a39196e0ed10b3079d2ea6ae0 +AAD = 07c84b97d5082c714309a504bd7af267b7d1806037a187283043b67f126fa4b24e550a379f0ef522e57d8c3d0bc22b3e067186b7871d5d2e7b87dd865ce8304910d9035465b6d0c80359ebf90642137df1b7cf4dd90c65004d14 +Tag = 1a26e67e7bf6a52fa42702110019dc91 +FAIL + +Count = 13 +Key = 1457ba50e841a89db3a9e1290210071c +IV = fe +CT = 979fed97afbd38c36fc198a87af35a55 +AAD = 2a8a7e2bb7e33ea775caee18c34a4d5a58c758868808fc360f9d009fdf5900b376d35d4a929d2dd74f04b7f11c3ed31fa9171dda6995bdf8bc6a3ae14b3d44d3c4ac11ffc6c97f68f341d4395e4a64c5eb1ca902860178e3f33d +Tag = e359e44050d0043f857a24a21541a4fe +FAIL + +Count = 14 +Key = 2d8eb442576cc61bc825887a804e031c +IV = 0c +CT = c6ac41c97de216814e5bf4dd0063fd46 +AAD = 8dd235b80fca4d897c5dc9b24b658b5bdd8e291b6dc43009fbf2271aabdd024e62c1adafdaaf280bd6d77a1d599ec19043ddc0f91dce052b3ce715e7b2c49d2f13db8e9f681ddc9c2721874af149f3f8eafd869aec618b9731e9 +Tag = c9a9f76e7a8f12978bdb222d66c3cdcc +PT = 5ff7b254e142bedcbadaf2c4d1365715 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 28249b043576cb437f044caa6c6569bf +IV = 7c +CT = a70a737d7803bffd043bd17517bd58c7 +AAD = cb5658be6b57990480daa69096f5ad9d2dd91060d7c9896ee8b60f77462793e5dc78a8b32d61b83cafe01d4078279510a77be2be1abe63b08079814c311792300dbe472564ba378ddba338166f1872d69009f0a8a19b17440406 +Tag = 04cc4db1739b7a827c0004df57784b +PT = 3613c037a88e268e386aa0fecfd98b71 + +Count = 1 +Key = a6a88b411337c06dffd2dcc54b850863 +IV = 43 +CT = 98fb4c0681445bc82fa8331b66800d70 +AAD = 7931df287225ad4b76f148f314e923e7a34035822e572c99f7647b3d9983167735e80ee0a14de2f6c9adde518eae65bec0ab78467433753bfa5d5993b95837667cb3995d43bbb36900a2a7973d841148add5044b590dec4b6e6c +Tag = bd1f99492402ccbdaf81ba98d02690 +FAIL + +Count = 2 +Key = 8054f45d3dad403b489146a1a6fe4a85 +IV = ea +CT = d3b1f93b9de32c2b7b1a1ee0fddbb01f +AAD = 92839e20217590546c99fa9d32798c3f6a9acc5c3689631d25a654e67841d7bffa0bc8dc2f2bac735145b4f40960e072b335995acbdfafb68b597bcd26735948503fb29c5d9ecde8c4ff2bd0cd46c667193b0b1c7a6c49142011 +Tag = 1c058d3dfe18cefffce97ca40bf765 +PT = 9ce40c210a5b7e304b54698bddf9dcbb + +Count = 3 +Key = 4c0712f86081a01a6db3fcdb0d3df70d +IV = 57 +CT = 0aed0c72d4c6387b7277819f50e83312 +AAD = 36dd4b0773b50f327405ce5f6551cd3842350eee1e09ec21e3a310cb677d08c6c937f9c92c39c511803024808b072c83ad9ef403a1dad44e3bae9ae33b6cfebf5c7d95bf89a6f3b860c964342f6c2d75bfd0b4f51052ee8e7b12 +Tag = c1b32a97a94398be944fd56499bef2 +FAIL + +Count = 4 +Key = d3da78ac617a9774a79bb930a1804085 +IV = 8a +CT = bcb3fd04660b5c33cd72bc7a7fae2b41 +AAD = 839edc9b90956994ec444a8bea874580ac419fa8b929e8128fc6fcb509a3601daa7c2949d0670863fdf8928ab3583531add758b1b36dd5f1504302ba51fd9798c15a99edad316814ea8cc1ae06744a64f97921bb5f73d267c0f1 +Tag = f25c81418b1e929bc11864d5e07c24 +PT = 61b6c6eb1131c54dc8fad043f93611c3 + +Count = 5 +Key = 4478ac2f173698468b89fee8c55f30f4 +IV = 7d +CT = 46df51c6f9aad15f4fd1bf1ce558a500 +AAD = f5e3e7a8503a0c3e10c928b3cb288dfedf321865ed9ba9230691650c6f6627c1baa8632aa887c6190479e230c03a5c0fe7ac5a510212648dbffe5842955d2197b912db8e29683dbce7fd6700b30b07aebcee2829596af11fc40e +Tag = 667329b49af0cd9499a4b5a49868c1 +PT = 3df47c31dbbd20bbf0221aa5b7dd0994 + +Count = 6 +Key = ceafde35ee41c1d1393489800d979144 +IV = b2 +CT = f226110c539b3e251e5dfb9607dc3564 +AAD = 776704890d9191db2f12ab1a5d950d83e973e5772b9c480455b9d0af954212146aaada6bb7b4766dc87ebe84741ac7d97d4d0527c60e303f455a7731ce415731b03b34c58bd2ef0efa445e728927e2b78e147d7b9d894a3b9464 +Tag = bb998b26b5d564382b3170a20813a7 +PT = 4cc9c8f6f10f0eb5565fa7944ea637c8 + +Count = 7 +Key = 94b53d21aff33f573d3ba45969df0180 +IV = 2b +CT = 1f7d40743847fee74f5dc6684fa00c27 +AAD = cf879d506af7ed4219fe656965129b3d62fe05182e1b801257ad63e5e44ad0389d67e4f9a82780c1f8cea57307a881063ff25d1d4a950d9fa18df53a96729360185e3b0ed008cfac0982089b86a35cf7b6766c1e835dbd93b4c7 +Tag = c1cd3941b525d6d025b0cae70f71e9 +FAIL + +Count = 8 +Key = 8f05cda0c4685529a075989b6106dae4 +IV = 1f +CT = 31b4d4e1a612a71451c38247531e75b2 +AAD = ddfa6f916807453ef87bd2f59214f4baf9fe0756f89202939d182008e331ee2e91dfa12b529413c2c0dd47c629febfaeb875166712974c7b9dd22119305e90ce72831c0806b6efd06667fc8024bc983e3763ee96dcb2f249f3e6 +Tag = f448ae7e2e105642058040533611da +PT = 371f020975a8c8d68307de4fd4683963 + +Count = 9 +Key = a8d4ce11714f49b1df2518ee2e4fa4aa +IV = 36 +CT = c1f9df0ad7d7e81a9299977e6fcc7be0 +AAD = f12e20ac91e8ebcc8f362d38f099f04604935417466c888fabfec8f7ee7060e6f6934515db04e75fb97afd83e031661690f5671835d18b36d73277b4b471751ed4c5a49cef40890d9a355fa0a5c7a9e31c433fc96639396f1529 +Tag = 5498f9c3614e2c62c940a4dc0fb5f4 +FAIL + +Count = 10 +Key = 0fb5b992b2be0ae931017417f568a917 +IV = dc +CT = 2416e6bdc2c4c1be712f8bf014e013a5 +AAD = 9fb25b7eb302356d9cdf9cc1fdaa61e6993723cc3e72009d87d4f1464f281ad782174dc389dd3fedc0426b3ae2f0d16399e4b24902dba3cca3f43693ee96e52eb6bc3332a051916b7476a9c68ce3bcc8b09cc7b6456502997ebb +Tag = 9fb26689a9c11d0d924015ba918021 +FAIL + +Count = 11 +Key = 98416e2b7fa511d5d2e280a322eaaaa6 +IV = 91 +CT = c79a6ffd5730fc8d01a740eb7a947528 +AAD = 99d1d1072cba1fd2d236e63a02df99245336fc4e9c7970cb13d7f3cd8884445bb27d3e5691a8e4670b59d87bc91368454d259bff6dabcf4deffd62eb3d6a429ad6a0953011d7cbb46f1f82569408b9cfaa71d93789ae4bd85366 +Tag = e116773aab6b1733b2a100426685f3 +PT = fa2b578697e78d3114e610bef41c82ad + +Count = 12 +Key = 2752dad014df811be7fb0bed8d6a6e64 +IV = 50 +CT = 31c0a6a96e5bf305aab6a874d8a48b67 +AAD = d2caaad9598e7420b80e3aba37cf630cbdc4f7259ef87147fb4d7a3077c9229f350429000f164cc22e3830fbf1a690d38f506575810b1e85f5da39dd65853115e9651ff1b972e5529598d92d8426fa75550ca3bdf1eb8e390271 +Tag = 42cffb7fd5bcbb6d40f0e1834746b6 +FAIL + +Count = 13 +Key = a58e4a41d96070ce8aca3bafe273435e +IV = 86 +CT = 449b898942d588b049cd8ea6cb4b8123 +AAD = 75c3bf9086ef4a0acb2c2e566291a1773b7a3e58f9678cda69917eed7ccd624e50eb5fdb544102a98ac478522fe23d9cdca0ac6d064ba25a44c28802c2488de5df521520f267a6898c049c3073813bf80a5f5c8a9dc7f0120ea6 +Tag = 01a075f9ab3243723b3e1895b341ad +FAIL + +Count = 14 +Key = 5fe980f3d2853b62a1a2963fc794075d +IV = 26 +CT = e605da49c8aee19934e89cf6b60e8ec9 +AAD = c1470b71eb3af4d5fbd6c2aa37337d6a063fd153e9a6af1c1c43efd1206379a7ee21784cd402cf6f011df688602220d399e2cee8a7f91456cc1c0325901138afd0ce67c0e6e41f486deb3e4e385744b9f69fe972955f83739701 +Tag = 17a21db40e9313c0478ef1b58bfec0 +PT = b18442b13d7c4e10d745d2e7dc0b8da2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = dfe61dd3f8480cac8cd6730d594ac71b +IV = 8c +CT = 27ad1932618b1abd4cc6aeca3102afbe +AAD = a2109265a587587f3234761ed29172d4c21bcbe8243cce61a79caaea2ccf7578ece3c69db8daa59dafcc0967809470c045f4af7b7f9d4ce68db609c9910cefcaf7470962b6817f8c9bd5b0417ae37a5345306dac28f9c4bf2470 +Tag = 994211025be7c0316a36eec4c071 +FAIL + +Count = 1 +Key = 09f4e0dc77895f8d7435004211a26a22 +IV = ce +CT = 7968ebc036651650a46327f295e89869 +AAD = 5fbcd7c134bb48bf22ad6b5ecac05aed423cb7e2cb54947df5b29dd0264e35b432b51f40eabee6547d32cb3aef853c681f98511f32ca91f42578b76fb4987cbcf92a0012e6d5408b9b9ed09ad54dda6f2eb33ced832f78a7efd2 +Tag = 860912a87d4713b0edbbf907e2c4 +FAIL + +Count = 2 +Key = ec83ea90225d886364f4e4634c77a66a +IV = 2c +CT = 7f0b40f82e92230f511adac191b41ed4 +AAD = 96efc691e468de3971e8a49fed356c0ee349ac5f8564f2bd440232a8ba0c6972a0243595a20ea0624cd745368e4facc662187ade077aed2ad131125c4758e9ba5cd25bb0466be9b2f8b07c464e7514b2c8963571bf0587574009 +Tag = a7378e147597a7a72851a63ce769 +FAIL + +Count = 3 +Key = b1a6f5de6383778ebd5a0c27685988d4 +IV = f4 +CT = 72b90e8e0f39d0d6070c9b70efa06afe +AAD = 7abf994426df97cd4060e77475e8b139b71faa86c586d1b3366c2c735d2a6b13e34a2ffc162dfa8a987a677fc63c64be8bf477f87ca583e784865bbe69e4727ad44067882a6dc151e6ff48fbca5c2122a12bc343943f2d5e2b12 +Tag = 79f3b57d74f1e6002be110f1a000 +FAIL + +Count = 4 +Key = fa55a2794301f31b3b433a7d3d5ecb1c +IV = f5 +CT = d830c5939c6640da78e2097f6645dc3e +AAD = 2971230443d17736cb7f491b2dddac572647d1ad057b4d655b3d27717cc0e90ae7c26d52e79402d58e54ef734b0ab30fca3c4d356c91c4f471ab92ec76ce8b99dc621bd195eac1b477ea9b8ec628aabb1d23eb1685809175f96c +Tag = 0063714380fea818334c3fd8a3d0 +FAIL + +Count = 5 +Key = ba3ca58e0e40391db7bf958ae555d786 +IV = 32 +CT = cfd7732cb6f89dc067e52a926067e151 +AAD = 25e5c94bae8614278f292a24516cea83552ec765826896b1b840bee3f1c398a5b42f2e6296f942fa2e42b607522b1d2d2f08b1b7cb46ecac9c6a0fb149d0fd1062fbed74d0b2f9895b36cbcaf925a66e6217f9b1d8553792787c +Tag = 7e4e853223521833bff2cb29091c +PT = 40cf87ba53e9091351dd76dc39d34939 + +Count = 6 +Key = 5c6705cf903bbff285d969c2d1e804f4 +IV = 6a +CT = 924c944ccd9c964f60146fe7fdfd35d0 +AAD = 1046c0de9865ebe4f574dfcb993431521e7283f719af9415e9a55e22b1f11f446b11f043a34ee049a37cc911bf4048c54b80efffc1aedfa9db123f53449d147f3d07459b9a89ec2e240ff3fe0f9331e1d6d4de10a859cd9af8df +Tag = 6c5176a7feb6b449e9df1763f309 +FAIL + +Count = 7 +Key = 5259ba8d17f00b6583df93b70237362a +IV = b2 +CT = b50126bf5f4ef368c26efc13a496c37c +AAD = 2412dac43bc7476297f1b0ae1dfb395115c43394826041d709deae22492f4bd3ab2937ce8dacda8c3d60d6377884e46937e00a9e7fad261e2f5b34bf59326baa8a3b68ef34cdd7ebc6dc8844f3a0cd703c0c9f0f04d4b1241272 +Tag = 11863b55095363e7aea6b0f1b7b2 +FAIL + +Count = 8 +Key = 401eb8fc6f0b40c7ddae4ebf2a866985 +IV = 3e +CT = 9e4a4c20521ebbd32d68199691373d3e +AAD = ff650420b18ac0f7ff6d8103a3dad53cb18f905dec17418cc2a6e01b46fe55a7c4ceffaed67d19c7f0e645b82b8d5abc58b58f04aec90b5deb5924344bdf84861a17e94c8191b15cadcf696faccd229cd7cf8176d1e84007c6e8 +Tag = 53f65a4b70ec92b8126e7b48bf92 +FAIL + +Count = 9 +Key = 47538f4a418a40164e9253c33be0a013 +IV = d8 +CT = c94656d9b23568fcd5b9d1172a88b83c +AAD = c82067c7d8eff76d5bf503843895655bdda828622b44e1e224ad3a193029d71a6a82d995fdb339f8c360c08f195a8bca915adc29936240c58db83e0682a869deb917c38e28b9cfe352d097acb02cdbddf6a61d5e9514223b92f1 +Tag = 08dbba3d300f1964d469ae436e8e +FAIL + +Count = 10 +Key = 4f45794b73b7f3095adea8eae5c1125c +IV = cb +CT = cee4c4bcb948d9c2416a984c16fc1ee7 +AAD = e86b502093d559a343caba7b67ed4988fff9daff44d979719547231ac70c92c8089a97457c62cc2d096fc3101a33f8d5ad7063afec11f6dc919ae6416caf32dc76cad3d31aeb762fd92677779af78f78f9d2024f7d6eb39d8a2b +Tag = 7da380c190bd1aae2628cf7d24f8 +FAIL + +Count = 11 +Key = e407a0b55d258f6c62f58ce2371ec45c +IV = 09 +CT = 4502a3f10de83accfd8f744c678ddafd +AAD = 8843c8c707b8d2268771a888f4e507384f115bba7fe4504091f1177d10724a17fe4b0df2b0c742721eac279a2acaa0abacc83069ee30b1c35bf2ed999aa08b3c1d3db8a1d1260c8536689fbae194a4b1ed042ecb737f32fa9a1e +Tag = 6761dd2a721da5d79ad05840c2b9 +PT = 3f395adea2d5b2f2e02f18b4813f667f + +Count = 12 +Key = 7239a69463cf687f52b4fbdacc381dbb +IV = 54 +CT = 4c4a09ecae868efd3f86aacfaa97109d +AAD = 49cb2512765751a1b8e77ba36eac0e0c92b10c9775d7528819c0bb84139de6875992091f0305b802ca620736c6ac92ec3ae96500d80549c9acdc082cbac157d358e26a5d41a579023e5fc9667c16adc9f8ebeff2873395cfdf92 +Tag = ccf0bafb0f7d8ea73148fed82019 +FAIL + +Count = 13 +Key = c2e329525a27174f3071be2cf178af56 +IV = 5c +CT = 10efbfde3e5a5ba3db1941e78d0006f0 +AAD = 7d778d7c413c841fb999dcdec6407cabd66f2282f73d9eab8759bf25b34f848dbde623c7fa38999943f30c6ed6362430bfb0c3e165f214af8dcdbdd0ea0250157ac9f86835927e1295df9056e8d68cbc9561ca1a9a54cff7e449 +Tag = c0619cc6852dec7cab291c1034a0 +FAIL + +Count = 14 +Key = 850ab1678eafc373d17f3485f9c01692 +IV = 72 +CT = 257e073284978752939b677c2149670a +AAD = 84071251cd6d99420b07040435d793d2378aba1c3c024d390f56524f4ab8fa95aad94cbf43ce52e7fa9196f497c5626385f32fad897c6c95dc3c3b5e50719e18cc1b5ca2dca230316775ea410638ece7970ba2523c1fd0aa1b78 +Tag = c37b2018bdb6435eca2b460b3bba +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = f887b47484bcb13ab5bcce5d3ddedc49 +IV = 8f +CT = f49eca8751f93c0a213d9b2bc601c53e +AAD = e5f2d42087c17cb5992af1903cab4fde1d5d2fa1207a5d7899793f159c0ca887ea6a4c55eef804b5d5780d08c17b426e7c739179519a77e117d1461eea0b473fd8440aeaa535dd638128b3e7dc95a2872160b3f893143eb1113a +Tag = 93cddff81e9925f52c9a903725 +PT = b0e5ebe02a98fcfd9ef220c14acf416b + +Count = 1 +Key = 00e0b402828ae0d3f4658ac08f14b504 +IV = 13 +CT = 2bcea2325bf62daf7bbeb44ae4d930eb +AAD = 6cfd3532492b181e4c88cbcf57fe57a6f1b04dd77044df57359d7f12890b59e5b0205237768b0dc0f6a268d7da4219e8d8838e9ac869c929d5091846708fe0390351920dd25cdbadd6ce11ece76b79476d516d4e17084686aec6 +Tag = 30c3c16e466c4387de4d0d42c3 +FAIL + +Count = 2 +Key = 67cd509e006d11ab1d3d47d96e2367e2 +IV = 1c +CT = 4616188501ecd7f91cf197b3b74e2920 +AAD = 75dcef9b81faeaa3ed4692a175b50587c9c9f3e8db537a70a80bb21007fa521d87429af98bbb9cc17c43d5b558df33983c4b6d5628c9db7c8cd5b14f96a8420e870a986456f30bf67be9e6f3472eed420e226b7b18fb967fa6de +Tag = 8dac59f82f9d138a5399328db7 +FAIL + +Count = 3 +Key = 55a8341ccf5bffedbbc87bc454d3c4c4 +IV = fe +CT = 41727d55b5a45360022196906311f0d4 +AAD = 0110cc69ac8ee01b58349e2b1a0c3d3299f5c97e0ad449f95d53021fba4d5b34cc045100d0ae95afffecc8d5384a1014ef795d87a42ecc0f4106b07420cfd15ca33bf63df80eb808e40af20d63ca82597086f4313cab393a74cf +Tag = 543a476eb62dd9df99edc712fd +FAIL + +Count = 4 +Key = a60355aeae912df6711634c8bef31785 +IV = 26 +CT = 9543bcf9e027b36f00aa9f60fc768a7b +AAD = 02700c562593237247d374f08a256a7dab4ef7de9e78e9da81dd33385a99b19e74e313222b19aa4a1a761f30659b34095895d47238da8e11af5205ba7fe819d5cbd05bd85139ae22d8fcf45f1732af33f003cffacaae9ab2e740 +Tag = abb77ba1a8fe505e5c964a70a1 +FAIL + +Count = 5 +Key = 1c5ca8113e9c79993c9c583a83e75864 +IV = 0b +CT = 8b87e7c5318aaf84fb2d906eaae36de0 +AAD = 0cd325e59c72470ee98c9a253c6f182fc75403fb554f80de6a5966dd834f7c2662bffe224e74a70ffbc4fb1faa078ae435f0a869d329ee5a8f74d49f0bdc13f28f982bbe1a8bc74e889119a36150368530a501a2677f5eaae5b1 +Tag = d76fce3ff5a8becf5d537dc53f +PT = fcbb4d8adc5e8a8be40dc940997c15ac + +Count = 6 +Key = 85f521cb2ec2df4edb43031c46924824 +IV = 19 +CT = 57a6557721f9eb886df6526a1279444e +AAD = 686dd294520786b78668514f2a2c719d80724c16b3352c765261a9290b3063fea6f4089a66ef6d16552689e4e8471db503eb11ab7e371dd31f0260bab2e5cf385b806e86a44de10c03e19f14187fdfe6f0ac34f9c9d52ffadee4 +Tag = e324505a96518eb01fe7732366 +FAIL + +Count = 7 +Key = ac17bfa6152e172373ba884995227923 +IV = f9 +CT = d3b9dc342f76f8c042c1e3750f30d514 +AAD = 5a4cee003bd124fe1e591e6afd77f50afff4f6ee64f1acca79fc6ecb67b23c61b0dbd80046bcfc239aa39cb7f50e116dc314a1ae349c41c5852349c41b6fc3ca6f3326938da88eecce3cf8e47935e2da9214d1f2c9ebf2ac7c7e +Tag = fc5c63636bfa905abce203e970 +PT = 38be28ae6338d7c70c4630a51325680b + +Count = 8 +Key = b0bf0ac02938ae81a3b9e468d5437b82 +IV = 4e +CT = bc2aba56d8a09e1697924f8693279206 +AAD = c2ad93801f2050875a53df42059f506d55a5069c54bb8b21f5d7ae75d2e633709175563677fd9b4ceb510c005a8b95ff20146063d23775770f9b1f7acef6be12fc40b65d19a7d6c4510866649853d97f2ad2a3b30dcef6d9feff +Tag = b719c22507e9c77f441ddde9a4 +PT = 312ece69d5e7f4a5d2b1358da84e257c + +Count = 9 +Key = aa33e47febf8cf6eabbf171c37caed80 +IV = 51 +CT = c4368d1d6fbce50728009c7bbe4b5d36 +AAD = e1e4663cdef3d554b2bdb7b0acf49cedf1bfa29d77b16617e950d0b28a48cddfd0cd740b043e64cebf43f49d65df240e61a3cdd6301e24f5edca4ec741b2e4013cebc632c852abbb08ce8eb827d2773dc3b8caa067b32ea5ec39 +Tag = 29e3af5426887522f58b5beac3 +PT = deea86d831c4924e0d39b56f6a40c514 + +Count = 10 +Key = 6c10c90a108ab2cb4f6eb28126501e02 +IV = e3 +CT = f330922d77c8cea6c2f10d59ac3b2a5a +AAD = acbf029588328ba588476e06e2fe6acb0276c8a1aad77d375eba3e6dd95e699a8948ad0420ba4066e5861b5c85202ace217ca454e65b0185a84fec1ae95f239931ae4bd37aa72dee921e3a827f0624097ba672c4f562832e3a6b +Tag = 457ad76bf3e0a201ac1b8f6072 +FAIL + +Count = 11 +Key = e528a5f27c5a13c5eedc872312476ecf +IV = 4e +CT = 0117bba4cac68f07b617fca743c374eb +AAD = f83a903bd477c32b1027c07faa0cf127e38982bcb2daeeedbb3347688590c545734b0e64905d9c71729e2736e19e3a2fca51b47cac3b4d49e01bfd5cf8f7fa89d047e390e3431e2e1f698bb0d031f01611c0cdfd5269d61dfc8a +Tag = c7544a896496d5c5836724c9b1 +PT = 1ee2079208740a8c37c8059ec8f6d2a7 + +Count = 12 +Key = 604ec5b95cd98b0c2161ca9f65417c8b +IV = da +CT = 492abb88d2456a73f7b3e913a2d44b31 +AAD = aa5c35b88748a119192cfbb4d4f0a7adeefbb380855c9e8a851faa5b8a7e8b69db790c9212f9a72c3a1e50547a553a0149a10e27abd3f1a00d8b27224898347a1ab224c8c26b52d36763f024c32b384b89cf0fbf1f838000517b +Tag = 43789ea976165d78572ba39169 +PT = 300045531e158887ee812b9102af8d67 + +Count = 13 +Key = c08de708ded14dae3a128f4b9728e2fe +IV = 17 +CT = 170e85037b335fde97d182b8de431efb +AAD = 51025e22a1e5d4c9512b91212efe93ff231eff129f58e0f825a1e23da185f00f79445b452bba6935664d526a12cdb1df44f358df4b2c553a51b01807ca41915e4e9fa5cc980ec86173aa8beebb92e3a02577cb1e68a36c463567 +Tag = 93d02fa11d6f65e70cb9e07b60 +PT = 3805ac15f4895d23aa9c143ccc00014c + +Count = 14 +Key = a12656616afa2b67cfd388d91fc9f6c8 +IV = 65 +CT = 33633df978b88ff6a94705ee569bc173 +AAD = ee321f17aa48f5e43731fcfd3acbfaeb773f4445a7e530ac8ad7c7cd94d4afd90d9d5ae850a9cd333533ec1e06530982e7cfd36c0af3e3bbae38472797c4b03a918483bb840de0b2b48b31f54b74152fdf20060720792ef5ee58 +Tag = 8f6095a50cdf8c86f5a4878549 +PT = 9b766c06ac97a537a0ed8bf238747bb0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 0ea24ef6f8afde2eeb30cb2fd3e0aeda +IV = ee +CT = ee3eb76c7f3694c9ba61fdada617b552 +AAD = 1b6471d408c220195e910a7abc3546e24c59b3647f4d6fab3969cfb370efc071c12aaa17fbca500c5b0fb125962bf118fac1eb4607d6a0052511e67976cc4c42f90f6530bd5bb382afc3bd1ebb8ceb7d30b64cf073d53f813762 +Tag = f601230f3320eb38b7efb534 +PT = e1cc925abc55b8683a24f52a8dcee6b6 + +Count = 1 +Key = 76436c607e69d0edaec22653872157a3 +IV = ea +CT = 28b3f779d552bad3bb415865e06b1565 +AAD = db1f000d7bd44ac4757ea58b2e11828a000906e0449639d5472efbe82f278481121dfc3c7cc148f7bd9f9fb328f82ec8f274a698eb8076a2b1bcb9f04f3dead219bd5b1455cf1e656749531ca7f71cf8185508889353b5a49b4d +Tag = a815e11c0673cfc367ff5c79 +PT = 0b1a482dde1f887d579f4d1ba8152c77 + +Count = 2 +Key = 4bd2194c59751c457c5d15d4dc9b70e6 +IV = 4e +CT = 3cf19b51b515499b49b5bc900565e18a +AAD = cacf86809d1d6939589cee155d6e363606171a60703d94391b58d1fa8d19d872b6bd0062c94c2a4c5d53d6b7515843a0a61a925f9f37b17345ddf33809ec1f0183fa86a5f458b44a63bbd9eb0dc0e6e030dbf31a99142ae3be8b +Tag = a835a8e3c513573c3ff0b27b +PT = 94b8042c6f73389ce1aff004a7564fdd + +Count = 3 +Key = f4e2dc6eb909962f695cd0f3bc2cf2a2 +IV = 69 +CT = 665a48e9aa404879358ff70678e78367 +AAD = b297b7e800134d51b467ba9041b0e1eb0b67d5afd9107bfa1dfeaab5ece320abe1e5c0eaa58680ebd9778b29618f7141ab41fe6b9e990fc7282c1217fc24abf6d6f19430edf95536e67ec037091bc3d8641323f18a734b1fb5c7 +Tag = 9e774b2d5fb98b17b6478494 +PT = f9a9e7f64677e8582253793d89a799b5 + +Count = 4 +Key = c0eaf4ad6f24c8f439d39359676118ca +IV = 74 +CT = 02aa3d710d5f71270411872837e99607 +AAD = 5a698f685459bf12a1489cd1b677169ba237cc9f81a44a9e62fdb836f48b16bdf90c0ba744d46564307ee5a8c4f450d22d4f2c91b1434c98e78283051cde2ab89eca96695af773acfc5882fea5b0c43f62a899e8df4ac8d1f869 +Tag = 5dad8c1ac9367352f7d0c699 +FAIL + +Count = 5 +Key = 0cb010257a51e566a670a53af5ff6ab2 +IV = ef +CT = db7f570c95f3e8821d76e28fbb244975 +AAD = df81b4d6b18af45e7c1e68c23bdfe2d5cf0c8a19bb94d12857a4f7a72642b137e2a2bfc9bc78f9b04dbd969851a2d31b435a074db097913edf800f2b58944f82ba7fa3d350002d45eda22a9e2a702d7060bd20f519e81b3f1e54 +Tag = e74e00b069455f105eab5f81 +FAIL + +Count = 6 +Key = bbd4e72c4ac5ec31c28cf7fbca0a3c58 +IV = ac +CT = 7fcc099e5c0cda1804ce9a14fc6fc4b0 +AAD = 4ae73016db4c9ec694b362c02dc333863c4908308a5a6dcb39b59b487f31fb412fbf14179bad6f07a091ef207c4150e40b518af59789a6bf908ee4a8fcfe9e68057267ca74ce74a4e24dfe910872b5c4bbd9c171ec2edadb47d0 +Tag = 381e4220f87b65eccdbdd21c +PT = bb2e7edaf7cd9cd775c60a6f2bddeffa + +Count = 7 +Key = 1e675501d8bd4a483b9fa3ee61584fd9 +IV = 8b +CT = ab15126d20444fd92f992da23cf9ed31 +AAD = 1e9532c98fa8a12ebbd2c3667eef4ab13324df0c0c0ca3d08a9e4b2f743e49e716b6e03197efbc7638c55d48967cdf2a76c7b98985dc9ad74c615cddbf8e50e30c685b5e3aef7d179822dc58f7f36946ecfccdec220d59666329 +Tag = 02343d5dd58b4a5d36d628cb +PT = 66c239a75d23cdfe41cf9f3c8ceedcac + +Count = 8 +Key = 0a4ee43f433a689e928aa0808f070b85 +IV = 0c +CT = 924c3064a2459abe51e363fe06677cde +AAD = 415068bce18040fe8687fc0afb15dc14947e60ce54545e9ae7f7f1ce23edf014dcf919014af01ad04e1f8976265587134dbb940c45cc6faf3941091eb0699b6965d73ccdeee5f37d3a1efa6b7a2ac783871aa415886720239ccb +Tag = 293824021f8f8039ce474eb9 +FAIL + +Count = 9 +Key = 42772e68ba3dfd1e7a73699d8f3f1d25 +IV = 1b +CT = 82813635a87bcd07756482e65e6bbe84 +AAD = ca663492f7794eaa415f1c8400d8df8fe2ea479ae044364d391cfa12bccdcfa76db51de945951067c8f606a41d9ff5545e685583e115d69a50fcf9c544dc904995f78abe69bf341d880f7a4249d5b8e759f40c4fedd0c828de9c +Tag = 5ee964f5d4d2b823c0978e83 +PT = f4d468a30a1cb10b93a6b7f11e34293f + +Count = 10 +Key = 9866f577e31fa1ca6d7cca762c0b1410 +IV = fe +CT = 5b08ff18772b74d778b58ede016e2dbb +AAD = 145ebeab269e27e42bbac9303c5afa10b80508d1c3d0209a5524d233412a38ffbd34422235fb975df982e776286aeaa79a6ec67b378cf144848efa6b5ab87575b8775bd8480c02f30fa525906554aae2e1c110fdc2f7618e640e +Tag = 47be241647dcf908461a2522 +FAIL + +Count = 11 +Key = 78f84c04df10db42768bf669f1338a60 +IV = 91 +CT = 62c9927c644b09e0261cd1a92c78b5f1 +AAD = 407b5f4203e0786c15549923345f1827bb92932b2fa2beef65b6c43ab404fe79aebee43508533080689419eb209b53a9f03e4b6f300746a9644ce42c834f82647d35326bf2c910c7530536654112b99fd53bb1b992e052c47d37 +Tag = 575fcf5a14280262ca16e065 +FAIL + +Count = 12 +Key = bd1ae56b32210d5bc282d6a6f9ad6e32 +IV = 0d +CT = 7347a43f803906f3381049f593a533d6 +AAD = 5961529a5014cef3ea831d9a75a875166a378126bb869cc905073c1d3621c2b86f6d0625de627a3787d22b09feac260ba37f4473e28729b9252ececa8eac7abb762c12d275ec4e1e89ec1532d5db7c3670fcc4c541d01b73f7fe +Tag = a0f5618362be9cbc01e51fd8 +FAIL + +Count = 13 +Key = 51cbe9418b76a5b1ef260f4bedb049dc +IV = ca +CT = d53a5f4db189c7a5483d7979fe15c852 +AAD = 9aae6deff9f1a70488be4bc0ddefacb40e8c94285ea06b9d0ef79d79b7d29e79246e22129201f20993aa11b6d5800a544cfdf157fa3635506173259ee088fb450f23b4002cbe4ad61d2fc2dc672ac7d9291e6e0f3c952b0bdae1 +Tag = 17c56938c13a2282fc3c4c33 +PT = 33e27badfbf07a41df30ea29bd1a936a + +Count = 14 +Key = 76222a08ef68707e5cec122cabeabeec +IV = c0 +CT = d4d58b1daf5568bfbd607788b532dfae +AAD = 81f853ebec1de71722925750ae3b7de442b53a581bd8e3fad24b2c5e178f8544d41e9bb066f8610b0a04f665208fe068305e74ed0055f2a324475b1f32a94b6e50f764697668b8c03df8fd436a61a34f496a780135e26f53b648 +Tag = 645d5940b17e224cee79cc8c +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 1bd2c7e61ab4d192645b24d508b19688 +IV = 81 +CT = f2a782ad09fe0e249e180074d6ca8b17 +AAD = 3ceba5ee6b477be6ff22e7d68f6b25dfb96c8738790b7b5d086cfcafb5ca30738e7a3c1cafb7df30893e659fb4e39df83c249f35dd210857372fe9c5af489599c1b6b682dc2555e0f1296a2cdf06f60141f160c17fbe4508c198 +Tag = e3936dbe1a394ce2 +FAIL + +Count = 1 +Key = 52484f507a213986974d6777edd80327 +IV = 8d +CT = fc2ed2d7fdbbb403eda4dfb4513b2569 +AAD = 22a3222c94517ca1070e4ff526abaf34557b5030748bc6e6cb7de2f6018e2d00a7ef97bc4af96a6d49c423173a8ee94909510b257f746d665111c340ddaaad9ca33cfe42894472e09c3f0d3be5eeb0ce59638b87a37e7a6eb044 +Tag = 9c06812d86509193 +FAIL + +Count = 2 +Key = 7890df44df3a212ea527dd8161dd8a5e +IV = 94 +CT = e8dada1f141b52afc51f2e63695395b3 +AAD = ace2f18d354fcd2bd49fa0d33cc380b6733d26c96fb449a86692e7594885aec8a7d9dd709ec2282000bda5dacbdca4472acbaadcbc7133ae4a9ab174c94ba69120d454499981b8cef3e307aaa37267c3cad66a6573ad73482454 +Tag = b081076684971e42 +PT = 3f47b4e0550442ba1012c598f1435c89 + +Count = 3 +Key = 518206cdd1bc14c26a53df721c99a79d +IV = 1f +CT = eeb9b5a247b92db04728fe176693728e +AAD = 794fa1ff05b4ab9121b66ba7380f9b4cfd191e66b6879c528c947a159797aad5ee5ba1269576e17007052da13edaa2db94989866b9e6753cdd1aa90d3a53f20da11937751e1f0f73e755107d0d3924caa8ed7465b0fbcd58a4bc +Tag = d5b5829d8d5d5e3f +PT = f1e76076e2e6bba71a31e693c22f4c53 + +Count = 4 +Key = a03a57661d369a27914ff647fe83bbec +IV = c2 +CT = f2ab3450a89b53a05435f873c4325fbd +AAD = 747ab3255991603d809878c648d959cd3277d069e7bb972cee4424b1377c61673a85d5a1989c212832d583c5654869b773688a3b52c06ee33e6f9f4f6ec7adff871cf28529ccf8091f652532cd1b6a09a1b352ec1956bc571cd5 +Tag = 5586172827cb3106 +PT = f7d33aeb8994cbc826d5b22c7b94951b + +Count = 5 +Key = c2d5f52aa160cf9a19a537349322df8d +IV = 3b +CT = a596936f0e25d039ae632b3c6da18941 +AAD = 16ddf5badd75437ba508407cd7b81a3a178d8e712b19155fad815727dbc02ffce0893c0e133bdf7a7e3c4c070377175f2b18a2cf4e555db8fa04903c4c04270d2ff0e038d53c9224990049c704c267b88a43fed6830f17ede0fb +Tag = c934e944e38daf09 +FAIL + +Count = 6 +Key = 0761c5c5ffe2f0862779427c42892841 +IV = 0a +CT = a948ac9677e0c40ba827068f8944e319 +AAD = 48c32f8882c89132b5793f1675769b01c466d231023060c048e40aa5ef73d814841da3f8453c725ae9a84fece797003d0d82cc2b31e33d48d799bb8c9eabdb7b599cc5ac5ee28e04b03d1c3b98dcd9db47bd05041207a8723923 +Tag = e5ed7a1e0397eddc +PT = 05cc52e4c6ea9d3e82a3413454c677b4 + +Count = 7 +Key = a3f1ab66f82357569a7236a86cf68c96 +IV = 5c +CT = 262e47918c322e8cecbbc1075a48e83f +AAD = 1181f2ef6f0384781c009b9a4b3d645bba3a90d9b0a682e10dd22526ba67c509117bc36c49955f2728054e632ebcb91b46f0f3eda5daffab9cedb1b0e3125d6410daec6623be705ff63c1baa179ed9b0251474428fcf741367b5 +Tag = 01799f81f37741ef +FAIL + +Count = 8 +Key = 2776eb4cdad0d174e6f49cc9bbbe8bc5 +IV = 03 +CT = 97dc71be6bac06c6e509749d46e0d7a4 +AAD = 46882b57600daca4e91e58bc5b9a5a936a76676ea7dc99640673e243a7348c7b210f859e5b95eca75a14016b998688aff83fc5c1942be87bc75a20393fb22ebbf11510d68d24b9a43ffb5f413e644d88000b607704f5bdc2ea1b +Tag = a04789124db8452a +FAIL + +Count = 9 +Key = b6f7c906ef1fb3a44fa0d92b8ae8f438 +IV = 2e +CT = 9da5f3897509ea73ad030dae7664b4a7 +AAD = 9da512292736534c85bc4ab74f7a2627d7643a8fef894c3295020c32788595e08349229cf4c83737f0ee7938af13823826deae03a8ab81296491f603613d5b8585b426139408f46fbc6e78e55240e6412dca9084f68799ea6488 +Tag = 7f8a027522c3185e +PT = 1e0965738482678e38a915265daa5c9f + +Count = 10 +Key = 1acb8a91c18a310af025359d33d9d1b2 +IV = ae +CT = fba0c4525ebd57e5ae16b190aec3b20e +AAD = 022d77037366cbb6d4515b8a3ba445bc1c6549f1d299f05d528d04183e87ff444f99c4b1f749c3586b12f1190ee928bdab0bd204a1d5731c20fff26172f497a842839be20a10dbdfe7f5fc18765c206ebd5c9b98cf93515e44cf +Tag = 29bc8e5b48b8251f +PT = 833807c60d6ad44d4bcc239255ddd2e6 + +Count = 11 +Key = 5213a7067d58d8447daf58a0f4d2be9e +IV = ae +CT = 93740a9f96daec25ea5241252a3c25cb +AAD = 1f84bfea29c5778cb950e2c077f2ba734980dcdb339a864270e31624ee21e2c5711885d2feb2c1173e2c157f20354ed1ad1024052900e5dc4fe5510397afd2ee40f0a2b6ccf485197dc4cbaf522702f20d3a3755b4869223cb41 +Tag = eb10eb06d8daecc9 +FAIL + +Count = 12 +Key = d63fe2591f280409c976e8041f88ee1c +IV = b4 +CT = f4eb5641fd6f8d9beb89be1b0f1be705 +AAD = d6bffb7bb6c315b87691195c9a172a1fbcd95ed62e44feae4b694ce7475874717aa3e398f9220b8c39394600ec49301849a97cc6d8775042f977197e8d31d1ca6ad91c875690ef458ecdebd55d8915c989b603ad891f1750a751 +Tag = c181ec491f077ea6 +FAIL + +Count = 13 +Key = f4e851498412097e3cfeade4f7f6d180 +IV = dc +CT = 554bd492ac89bfabac26f8733202a684 +AAD = a87b720bfc0ec9313f9762444b74cc7278bf6a959b7d5404e4963fb68283b476dad9902f401309a551db4123be611c21b9de624e5e8bb28fd7daba705da96ac3bf6b541f349da8b7a5076fd06bcb97dfce628af051aa84010323 +Tag = 4be0cd60219f49d2 +FAIL + +Count = 14 +Key = 5abc66ea7f2f6044568fad6fb9ee3a23 +IV = 70 +CT = aaae206d14866463cf11482a43c9d768 +AAD = a5912e0a07c11b7083db954bb4d37c23cbee5abe282c2c2691e1dfc31b61fdfc7215bd6299ee3f200399bdb624aa5163bf0ec21456dd261246a6fc072760ffcfdd4e13c24884f21b498d1b695aac0109cf2c20b446fa18217fd0 +Tag = 59107d9f0742b62d +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 84fadf39d555ab1aa8cb17f01bd60876 +IV = c9 +CT = e780988c4749566785c6f7d6fd2c6d49 +AAD = 905f4953bd247ec1e57d302c7f31c388d59b794e78979b3a4b970850598251d000116768cb05e94482f7e2c47391d603d6d1a4184e7d255a839cc22fd3242773121c1403dd7d598f8fd4ba7f02325f6d585d9a349e4c25b020e0 +Tag = 3e8b703b +FAIL + +Count = 1 +Key = ebf586cc9344ce6982d336bf2e84636d +IV = e7 +CT = 77670b1a56476fcb5a4ca548f53675db +AAD = 9fefad6e8b60287795bc04b11261918be53d61342f496cfd47286d94428df1dbc406c80740f236928c1fe4ffa1253479879293b6a7cfcf2c63537ebb6b043d653a3ff5a8be014f08037d90008ff9099a2954fbd65c5fb01607e6 +Tag = d6c2708b +PT = 6f08658f1583deb1939f492c50f5d530 + +Count = 2 +Key = 157277ad052411968087f9debf5079cb +IV = 08 +CT = 9c2e8ccc0297ffeaaa99b697eb7283ea +AAD = 397572ccb4575c67a305882b9c711c5d984474e14d9cb9beb47185247b13a98b92171de2aa413f38229f0a617f13d2dca89338de7a7d49942266967ba0f1a41be7d36f495d8d92d21c0faa15ebdc25ccd07ce439899dab3d8bab +Tag = 50c2715c +FAIL + +Count = 3 +Key = b213045ce8440af62de3a3d24d578887 +IV = f5 +CT = 7d9a63c16a5122c0963900f4cf89a403 +AAD = 31a44c2f303dffc69f6b46da004aab886f5549f9865a8756bd2486fbefa02f79fe8821abcdeb4dd7c90edcca69f67fe2b6aeb7fed99595ec36f2779984051f5a072bd5e3d8f927a75fc51511e9be78cc963f044e279ada4c528a +Tag = 25354ffb +PT = d4dd7d4ee7bdb7505ed637bacef4f17a + +Count = 4 +Key = 508ed17a77cfe948ef25d8e49d39d1fb +IV = f9 +CT = e5d20984469b568bab49141b3d4c7ef7 +AAD = 554236c65501b6644a352c410bfc289cef3150c3f23a8bf796a419d6d6fbc1f6f8a9afcd09646075f71d3722d6d409eb062e23757075ce109e06b1d822516640cfae59827b3b4167aafd107bafc350ce2315fcfc18c3b10e6866 +Tag = bab3bfff +FAIL + +Count = 5 +Key = ac1981cffc412c888d3a50f939217bdb +IV = 69 +CT = 4e4dca8e59c568c05b7a463513e9eeb0 +AAD = 8ff518440d571cd4bcd60c7b2d10592d51a7048c4fd37015dbeaa42db72542fe35d208bd4c3d417d6e4b04d30c31d7ae43d9d045b113bb2fb1aecc7ac279b6461a82c9588ca9efa03cfce2850e986619da17170927458d0c76c4 +Tag = 4d71899a +FAIL + +Count = 6 +Key = 07044ceff6e93a4280e4381af445e2c2 +IV = 34 +CT = c5916d027227f59dd807376eae6a76f7 +AAD = af67ab97f3b51d8e391f30c3fa0df4b56d3ec26df3e7c42dcaa30d86143f30f9f8dbcb632a71f7a90025471564be4fa0fecc9d7107d61d1eb91e0e11a588027deda839af47ab152de20f43d692fe4bfe27066798d85bf9af06b2 +Tag = 15e2782c +FAIL + +Count = 7 +Key = 4f20e43dd36b2d2e64b318773d5d36be +IV = 2d +CT = c5e9fefdea36c6706bd075334261002b +AAD = bd0249de5bb817301d59f569c575308dcda10121fe47837cacf9fef070ca275a028435ec5d42e9558599a4c7e3eeef4fcff1c86bff5f046b0f795c7ec49b30f26da7bbbfba511924dc04a4149d1de68bc88422a973bb857709b1 +Tag = 8fe31fcb +PT = 8fe6de8c79ad77f27009444c512c1e17 + +Count = 8 +Key = bee6a389bcbeef9f376c29ff8a506aba +IV = 73 +CT = 5d33b54fea2434e4f9b086d55405406e +AAD = 7d964f988a592653c13535cd7bbdf97eff0003db9c7629c014c13b005a5c6b0aaff2041d15f2503c78bdc3a3973f67eeeb228541ac90efe6631dd5770f8aed6047b7da1655a452cb68881b98158293d8b544fe5d96df00e2379f +Tag = 329d4ab2 +PT = cf7e7f51ff35c2ed4b37d0a4ffdf1c22 + +Count = 9 +Key = fa4af77b9ebafdd8b5cae597a9c4f444 +IV = 5c +CT = 5be344c9289501d952b72ec41757ea59 +AAD = 7dde6094c476d81bd63599d6d54383bbfd9aa61400b3dcd6790773a476f8fce16f41a592402cfa7c19a822c004101fa6be45af4b481cf9eeb6dd1cce4e64d034243771ee766c33eee4fd51091950b125a63f54eb80807b08f1fb +Tag = acb604f8 +PT = 30fe161aa915d21eebc4f8c5fcab535e + +Count = 10 +Key = eabdd3812a489adca75d21e3fe176700 +IV = 3a +CT = 2fc9d48b9b5cc6f71f3f551eb5a935b8 +AAD = 73281716cfd3c5a37157da5026b2fd693954b40139ea4f75cf76ef9b487bf3318a7c9f8424246fcc2750161cd44f138c96f72303239131805974f7500ea7f2371c9af2a063a018bb2a72fba47c7bd1aeb7dc30681275c66e406c +Tag = e69143dc +FAIL + +Count = 11 +Key = 85db0839cea6768543673c95167015d9 +IV = 46 +CT = e6575f188b2fcf90a756afe8bb416196 +AAD = 171bce21d3fd086ded145a171d88a88f5ecef17e718a39de1882a15045dfd44bc87540c33db5d339c1b09d958493d7b28d5a7f6dc619760690d2c1dd37be5249c3994f5c338ea7a8dd12d3141324a70660f81c0f041994388dd9 +Tag = ffdfed20 +PT = 5fad746eeda47d335b3eae5f56cbf0af + +Count = 12 +Key = 76abef61c10424b4ab36a4f87d6b38a8 +IV = 82 +CT = ea55696933bf00cf280a6c9d4c4087b3 +AAD = c9b423162cc5749799733d6ab0ac132b2089175e121f2a4537d5b77a225f6ee33fb23c90001def12877335413d51d02482313cca7a651b95a821bcf4c76c81453ac0d757bd96847a55d700d1efcc9f7ae6d57714ab254f838a28 +Tag = 3b90b11e +FAIL + +Count = 13 +Key = c7f6809ed05179710e7a094226236621 +IV = 71 +CT = 6a3a455f4a66013154b7e6f95b0e9ab1 +AAD = 237a684cd9cf128e2a33e8b8c7b4dfa9f68ea6e32cce26255c19e647fc6577eb4e7b68cbaa0b0a085c5461cb133dc259b4bb0d121af587dd32868d2ea9130f6bb6d20b2364926740e5b5d299ced7dea9958864d273e9854eaa61 +Tag = 92cb2e69 +FAIL + +Count = 14 +Key = 22738cf3c0fa20206c3172e2f06ffd41 +IV = 86 +CT = 6a0926b2ed99b53bed47361d2f0e6eb9 +AAD = de71469df83baef01fd40e47933c982726e81743546990e50debf939d2b7fd9760819c0425a1ef6fc14513366842a7a2959c4e699f885d6574850d1bda1f6a46541c7201a5d94d1954723d0ef95a9402e32725fb36bdf65c32a9 +Tag = f26f5aac +PT = 9c2e139036aa61af9cc3c974406b1b15 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 58fab7632bcf10d2bcee58520bf37414 +IV = 3c +CT = 15c4db4cbb451211179d57017f +AAD = +Tag = eae841d4355feeb3f786bc86625f1e5b +FAIL + +Count = 1 +Key = fea9c8b161f140d494000df01250fa6e +IV = ac +CT = c967363f741d6eec292bdd4af0 +AAD = +Tag = 75d536ca29d6541e5da3b0734ad5dffd +FAIL + +Count = 2 +Key = 5b0c3ca3ceaccbc494687eb9fa063d99 +IV = aa +CT = f210bb5a8b1bd10b5835db3085 +AAD = +Tag = 04438284dd30fdad045303b2617d748f +FAIL + +Count = 3 +Key = 8803567e9beb731dce79a6ca0be11aaa +IV = 0d +CT = bd1a00185c98938654b23f269a +AAD = +Tag = 3ffe5440dc53fea374ec53bb1d902ed7 +PT = 94ecedfc7ca300ee5e090dfdec + +Count = 4 +Key = 22493fb207cf1a7477388082357e426f +IV = 13 +CT = 96d5c0fa136e506c8f483de459 +AAD = +Tag = 8c9b52f1c879497cca495c8576897a97 +PT = 8d8bea26da79234a2ec973d9bb + +Count = 5 +Key = 58c929854978ff71bc54ad68ccdcbea3 +IV = e4 +CT = ebd6f0b5fa28742377215b7488 +AAD = +Tag = 950c2aea5f08c2fc704f8f765bd3bb45 +FAIL + +Count = 6 +Key = 605b590368b117ae05414c42608f7a25 +IV = cd +CT = 8bd3c8c09b0321848d9381f356 +AAD = +Tag = 31259602478e3ae077b882069709a618 +PT = 973bb3b055b586a704b89a2de5 + +Count = 7 +Key = d2bbff2caa45a1e18b211098e3899532 +IV = 55 +CT = e25f92fa72cda895d4e2d0a525 +AAD = +Tag = 74665040d96d2c2bab774e7b18c5744f +FAIL + +Count = 8 +Key = c3c1865b8bd9ac493138baca9cd10804 +IV = 61 +CT = 285b2cd86b5f35ba442cd30277 +AAD = +Tag = 0d26fb8998e75cf95713c6aa88ab85f8 +FAIL + +Count = 9 +Key = fa61f8db65fe744e2302710e0ff1881b +IV = 8e +CT = b89f3ae285f817118f34a35105 +AAD = +Tag = 8a16444d39b2b2d642f99fb45179c3c9 +FAIL + +Count = 10 +Key = d1b2cca3df86bc290cc0390a3f406972 +IV = 17 +CT = bc91726dbdf7acfb952963ed9e +AAD = +Tag = 45bae0e485657a5db92e0054cdfbd2e5 +FAIL + +Count = 11 +Key = 44b11bf925f52afcf459770dfcecd558 +IV = 8f +CT = 5e3dc7493df459941879d1a391 +AAD = +Tag = 86a58a86e7342e4b80b1c6ff34eab2e8 +FAIL + +Count = 12 +Key = f5b58d6cf4e8faea1f42883a7a56193a +IV = 58 +CT = 62fb1dcdf7c733272146a05f75 +AAD = +Tag = 12d5364bcf287736b34ca4636baf4009 +FAIL + +Count = 13 +Key = aec511e5668057d7cb9a65e7deaf9f7b +IV = 59 +CT = e15a3cad060db94320e7438a04 +AAD = +Tag = 6fffe32ebee355c271bee51c388e3f4a +FAIL + +Count = 14 +Key = 22883076237161c775493c4f131327d0 +IV = 09 +CT = c94fdb9beac9a998aa8903ab4f +AAD = +Tag = a2f31902a0849bb23099ee62742c014f +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 7c6751d4b893bd1082681272385b86f4 +IV = 99 +CT = d2bdbda1f0f3a717f6ff3ceab3 +AAD = +Tag = 51fde22354d6845cb32795c05d7ba0 +FAIL + +Count = 1 +Key = 4c5e6c3deeb9703ac1658460f4f977c4 +IV = 7e +CT = aaff1f1a6636f0819122903dae +AAD = +Tag = d798cfdc5eccdfb1cd2938a6500401 +PT = 1448ee8cfe3e50cdff90cf624f + +Count = 2 +Key = 7c24b10199713ae3dd90c711c94a9a51 +IV = 9a +CT = 908d697658ef0e84baad881fd3 +AAD = +Tag = bc9df3f530b2ad5334c3c17c6c0bfd +FAIL + +Count = 3 +Key = ecbc698917e8515cdf0812d611b0d57c +IV = 48 +CT = e4b78e97aebe6e9c1c2cacdb2a +AAD = +Tag = 506c40362fb2b5fc52c7ef9e5e5b6f +FAIL + +Count = 4 +Key = 5c213a1aac56a9cda586931d855e96ae +IV = f6 +CT = 82de81c1370f959cd8fb713237 +AAD = +Tag = fdc8274cfc415a150bb2e4c9d29ae5 +PT = 04a65b83b03f76c63a77083c16 + +Count = 5 +Key = 0b0390570335304816f1ce0d79b3959f +IV = f5 +CT = 6054ec5e135c666b46b405ab0e +AAD = +Tag = 1cd8de88f25cd9ec545c02e178e5a9 +FAIL + +Count = 6 +Key = 395fa7188746887bf9be59808d8fd6a3 +IV = 95 +CT = 85047235635fc0c9dd177268e2 +AAD = +Tag = fddb15db3c45ea349c2b5dd0dbddc5 +FAIL + +Count = 7 +Key = 22294cb993965b36e2456c88ac83f354 +IV = 9b +CT = 43e7355959f4d1856221745bbf +AAD = +Tag = 0837ded7500d6b3c29dda117392aac +PT = 9e82633609d13662e584b49702 + +Count = 8 +Key = 4861b969c8180a3f8aed8a4835065f6b +IV = dd +CT = 0f85b7546f48cd386e6888be51 +AAD = +Tag = 450ba6dfd5e9bc1d8a6dbb216cd2d4 +FAIL + +Count = 9 +Key = a4f528f2d248e410f87daa7b33ddf500 +IV = 7e +CT = a28fa4810e447bfc04a06dc66e +AAD = +Tag = aa0861386b48e45f18dcb422e03323 +PT = 735f637138cfcf753d7abd8a79 + +Count = 10 +Key = b37c6bbe52ed595a98f87ad6302696f6 +IV = 43 +CT = 7728a035177a57477bf77288b7 +AAD = +Tag = fc0e9a7adcf3acff9c005ee5108f95 +FAIL + +Count = 11 +Key = 7e4f3b76c55778b7c35d31944168465a +IV = 37 +CT = 74a9fd5d9246cf5a2c34b7058b +AAD = +Tag = c949a2efd493aaefed7a1b490fa5fa +FAIL + +Count = 12 +Key = f5f70f863401ff4afd701a4a0e1c2c2e +IV = 8f +CT = 3799e2802ea7ec186c9a3cff05 +AAD = +Tag = 9e8782c4e495903131627c0af200f3 +PT = 34d25dd07e30687e35b734f9df + +Count = 13 +Key = 2d35cb78e1e689d3476c460491a47ad1 +IV = 9f +CT = ac1e56dba61a959480f6131b36 +AAD = +Tag = 28eea5a16fd2cc653e65af4b8f33e4 +FAIL + +Count = 14 +Key = 2efbf12e24eccf9dadec3b4ce3aac156 +IV = 3f +CT = 639a8784d33fbf36699e9c100d +AAD = +Tag = 1ac930c75453708857079388744c00 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 4de616b0afd49ed993467114a81db2fd +IV = 5f +CT = b45f9478aa12310237f9a07409 +AAD = +Tag = 74d4ca05581505405411065fba64 +PT = 613f111a0cd0092ec824ec31b1 + +Count = 1 +Key = eea7b03a80de5b3d3b68d658fae28d62 +IV = e4 +CT = 5900439208a8c2b5d51bdaec7b +AAD = +Tag = 90b362577e57fe5c79cf68d9a6c5 +FAIL + +Count = 2 +Key = 6e560ef80774bc5fe52e77e08a1c40a9 +IV = 81 +CT = 97957f1e57079b8f68cac8ad1d +AAD = +Tag = 9d61ada546842f3a72b7d57be555 +PT = 5c49e27f4d061d0581a3880993 + +Count = 3 +Key = 95d87deee02da1342bed003f0e212960 +IV = 27 +CT = 34f9cf680763fa63077867cd48 +AAD = +Tag = 7b2288a6870288f1389dd5b27857 +PT = ef413b747b11c68ddba29761b5 + +Count = 4 +Key = ce0a9ccc97bec02b147f80380b9e06d8 +IV = 12 +CT = c1cd03c40c0b47e9284d67b7da +AAD = +Tag = c65381a84fd74ac7f406a8a9f624 +FAIL + +Count = 5 +Key = 20cdf6e32cacab4cafba519356114ff6 +IV = d0 +CT = 43298bf5970dcc54d1796351c1 +AAD = +Tag = 9721e3e4e98480b9091e8a4b7a21 +FAIL + +Count = 6 +Key = cbfe3579baae2535310bd4441cebb34f +IV = 71 +CT = 57069f06050bd8b61ea4da2999 +AAD = +Tag = 6e8dc6bf1392f9ee1c323fe9badc +PT = caaaca09307b55db8f5afa3d11 + +Count = 7 +Key = f3e173c6cb916222bc7681ebd8eb7fb1 +IV = 76 +CT = 9e9082567cd2f7a35fbbb01200 +AAD = +Tag = 739f1e9e97dce00a31d5a94f59ec +PT = 80c74dd4804fdcdbb8b3c02ce9 + +Count = 8 +Key = 06220c420310fc538e3f631638264ece +IV = 50 +CT = 9a0ad0375e071e199eb14f4f23 +AAD = +Tag = 33e0c6b515ced17558475ede3ea2 +PT = 8309b4df034c0f52a0e81db79e + +Count = 9 +Key = 72767388e03efbbb510afdd3f2268d1e +IV = aa +CT = 208ebb758d898f3a0533cb3a33 +AAD = +Tag = a7705045eddaf0036c917719ffdb +FAIL + +Count = 10 +Key = 949a9f6ebb0858b237ddebb78612b78b +IV = 5a +CT = db33314b93da19a55659469caa +AAD = +Tag = 76a805fa6d623a72b6affb6d5598 +FAIL + +Count = 11 +Key = 1345790ba24eb8a432839ff905129c82 +IV = 9d +CT = 1b0e1c0fbb2d5cb447227af0b9 +AAD = +Tag = a9bc96d57414bb143e0d3656741d +PT = 173e8041b105b7046002f2d794 + +Count = 12 +Key = ab1afdb0b763667c55c2ec4c61da324a +IV = fe +CT = 3ebcf2bfb184a49ed95632629f +AAD = +Tag = c1c936dbbd667ce2cb55b7761bb2 +FAIL + +Count = 13 +Key = 20298d13e5ba0ac1845926fe168d782d +IV = a4 +CT = fd40d9d44be371137f12e60620 +AAD = +Tag = 5490e5d68233564a4cd5ea80a9ec +FAIL + +Count = 14 +Key = a686e0802b593480cb2c39897d19d339 +IV = 7d +CT = 5c2ccbd1b4ec65a7a0b1651ab5 +AAD = +Tag = 02f9653ce8c1483fc5745cead416 +PT = 14c0c237847b90d9cb18d1988f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = b97ed85387c5dbbb386435b38e0f4129 +IV = 0e +CT = 3b954d4262a2273156c016e128 +AAD = +Tag = b556a4f4d5eb0cbbc4f1371cad +PT = 3bb368d48d7b4600af44818bd1 + +Count = 1 +Key = e14edea82c89826844700a7d8c093f8e +IV = fc +CT = 6d1122ba71336315cc10961230 +AAD = +Tag = 02d210b20ed1cb9be06315e963 +PT = b7c850b5b8921faf528b73ffd9 + +Count = 2 +Key = 4c20fdd0833399beb6fab105928a5608 +IV = 56 +CT = 37d650ee1c88cd169da05643fc +AAD = +Tag = 62b8805d7b431c28cb4ed74eec +PT = 33577aa2393bfa79a599c9b235 + +Count = 3 +Key = 79bbb83a16a4826de4347a1c6a750e2a +IV = 4f +CT = b68a34d7493553fb5b592d6c8b +AAD = +Tag = 9d08c770961a3ed3b56fa0296d +FAIL + +Count = 4 +Key = 07764fe86398807e24fc12ff50a12d5d +IV = 25 +CT = 30db2f669cfe24075e204dabc2 +AAD = +Tag = 2c33e36104e8ccb42b224395c7 +PT = 68168cd7bbf0fcc5f1a9665374 + +Count = 5 +Key = c9fa5d3a1b78209843395026dd48db6b +IV = 99 +CT = 18840a5f10d562469431c25b09 +AAD = +Tag = 64299c7d324e71f1b467a9bb47 +FAIL + +Count = 6 +Key = 4b71154bd11a680eab6262a8d8974ab4 +IV = bd +CT = 3926ebd8aabfb3f463134fd096 +AAD = +Tag = ec3b8f417de192a1023f4c9d08 +PT = 556ce3e1e647cb591c7941dcd9 + +Count = 7 +Key = ce5e4eb2362bfc6be88dbefb88f17b0a +IV = 21 +CT = b42a3acd5de866fd9bad33845c +AAD = +Tag = 7ca3e883f3b6355dc588411f28 +PT = 88efaa49ed0d5c238dbf28035f + +Count = 8 +Key = 5527de69093ee3911693317a9dc197cd +IV = 16 +CT = 8b7e9b825cd720bdace57b0426 +AAD = +Tag = 8a2d1805b0dc093a927f6bd2b2 +PT = b711ad5833d8f904d6e8079584 + +Count = 9 +Key = bab62c9cefde43b3f75bdad5c0c95546 +IV = 59 +CT = 9df74f8552d07e8aaa397894a4 +AAD = +Tag = 46881b582a89de37e1ff15deef +PT = b39445cfb5d4c8f43f5416d106 + +Count = 10 +Key = 2f94f51975d3fc7398ddbf8afeca0840 +IV = b6 +CT = 82ced89491ab6a687c6f4d6197 +AAD = +Tag = 156aefc8486604b644b6a1eeab +FAIL + +Count = 11 +Key = f438bf2323db10e2a60d59ef04bb8755 +IV = 06 +CT = d0a2fa92800e1b86eb66c5271d +AAD = +Tag = 656b7bf5c0b179bfa11547529f +FAIL + +Count = 12 +Key = 0f718a8504be83e73094c93f25caef21 +IV = 16 +CT = 55b8e769da393f54bb5e627ec5 +AAD = +Tag = 4423e5d4f14bad19f21f5a9d65 +FAIL + +Count = 13 +Key = 220bbf4460af15d0314dc9dab585e684 +IV = c4 +CT = 5a87c6c5013e268b6b2435a311 +AAD = +Tag = 7276d7023e88ff7fd965fe2fb8 +FAIL + +Count = 14 +Key = 5e99638fa7f69b081d96a4955264f5fc +IV = ca +CT = 0c40252db57caa287f16ee3173 +AAD = +Tag = be0860fde59f692e259f9bb4b6 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = be82c6a3967ffa05b9f31824ef23bdb3 +IV = 36 +CT = 44c6040495277819621e72f387 +AAD = +Tag = d6c8ee467167c799808cc705 +PT = 4741045b1750becd3482f259d7 + +Count = 1 +Key = 9fa55fdcfe3bafb9d545eb1789667334 +IV = ee +CT = 44c1ebc70dfe28bc08c676c601 +AAD = +Tag = b03862949096fde8416661c8 +FAIL + +Count = 2 +Key = 511388a4afb2d31f769340af0ee5cb08 +IV = 8b +CT = b5d13f65184d51c1ca5fe5227d +AAD = +Tag = aed3c9492b70f69e41317faf +PT = bc777c4e4afbada1c4fcaf9251 + +Count = 3 +Key = 6933b87e2a18a12f5f728272e7aa47d5 +IV = 96 +CT = 05403005ee351128b974178779 +AAD = +Tag = 2ef9454c92f51e4a2ca9e330 +PT = afcd406116b1d12c588a879780 + +Count = 4 +Key = 459f57dc134b7a425d49d88163d42242 +IV = 21 +CT = 1c56a7ac8c3d025375d4a34c43 +AAD = +Tag = 5e436ae0dcd4e500ecc1b4f4 +PT = ee818a4589804bb3581dcc4f09 + +Count = 5 +Key = 660b82c41f9f573017de4834f07aba95 +IV = 3f +CT = a4c0f77b2df8960009e0670bee +AAD = +Tag = b31f41c5700dbc3b974b2b4f +PT = 19737ba34177b0d075808083c2 + +Count = 6 +Key = 45ae2fa43b784096a863f36efc07deeb +IV = 34 +CT = 25ac8046d61fc84ff848b60fde +AAD = +Tag = b1056f6af59ab1369fec4384 +FAIL + +Count = 7 +Key = 84998fc991d8724cfcde1e1fe8ce8c42 +IV = f7 +CT = 6097b28ed4ff631725ab741305 +AAD = +Tag = aed298b586f777da87515132 +PT = 8f977eadda27fedbd5deb4c406 + +Count = 8 +Key = 0a8894ece61ba6434cc0bf8e8e99ed2f +IV = 07 +CT = 15f79c9962882d190073e64a14 +AAD = +Tag = 4f2e800b2daa74e225e346e8 +FAIL + +Count = 9 +Key = acff4c82a27909b5c157fc9ca486e450 +IV = 61 +CT = 37c43b6554ea7f077537a93893 +AAD = +Tag = b31c1bfe6c460529dcce275b +PT = 0840fa18e7f45be588a9397932 + +Count = 10 +Key = ad9c3259e0e5d7b23829cc361b0702b3 +IV = 83 +CT = ad4b6ec39409fc17179c158ba9 +AAD = +Tag = 90300fafea8cd13391e4ba6e +PT = c8a047a2cd3986bf76a5c8d769 + +Count = 11 +Key = 52ab6c610367e8fcec35b68833547e1b +IV = 45 +CT = 89509cbbc273983833205eb8aa +AAD = +Tag = a12cf7195c1c06e693b26a0f +FAIL + +Count = 12 +Key = 87e401a1965628dcaea97e062b948d08 +IV = 57 +CT = d7c340402f69bf48873d1b01ef +AAD = +Tag = cdb08073a70f60ef2a68fc79 +PT = 001d60387539ff244a9d76236a + +Count = 13 +Key = 33a155531738270e4e5f62cf9a37899c +IV = 10 +CT = f3f0afc2a5d41293d53e1c20c8 +AAD = +Tag = 63f1e39b8a5c19e4b0ce6fb0 +PT = b4122c604f646c794361d96111 + +Count = 14 +Key = b1165ad081f70ebfe54bb07c601e3f2b +IV = dd +CT = 5867047b885d1c3f939f523735 +AAD = +Tag = b67e4ca053d74b1ff62ae40b +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = d71cd77b0cd15d406a532ff877fd5274 +IV = c4 +CT = 14ec5f91ba0624539be015c3d6 +AAD = +Tag = fe8fd151d3ac1a38 +PT = 370c2a37155533dee7d88048a3 + +Count = 1 +Key = a06aad6dcc9a897c40e1cf8a7d7cf021 +IV = 93 +CT = 43a0da53c21886e90533e5162d +AAD = +Tag = 3afd345d12a5f795 +FAIL + +Count = 2 +Key = 65176a0169331a1cadc0e7a96974208b +IV = 41 +CT = eaa629a66758c8a0a18fd7c2e7 +AAD = +Tag = 5ecd750ad4fbb988 +PT = 2a1ed55ae1f42d8e9b7965cbf8 + +Count = 3 +Key = 46475616ff3003e996c4885c067ccb47 +IV = 9e +CT = 33c001191955f2d09547cfbec1 +AAD = +Tag = 4cc61ea2cc1fb335 +PT = 7f071e2747e5f08e92811b38ff + +Count = 4 +Key = 136614de60cf4e771961b6e05252f6a5 +IV = cb +CT = 40b0e2e62aad47df027851937b +AAD = +Tag = 9614ea0742a9afaa +PT = 350de5fda58c6d686b24a0843c + +Count = 5 +Key = 3f207335ac0676b618f92f7ad993ebbd +IV = 52 +CT = d48fcce033f50cfbe64ba31e6f +AAD = +Tag = 7e763d3b2ad9bc2d +PT = f5bccca51930e1f8de5c6335ce + +Count = 6 +Key = 223d54301346936d161e67ade2f7860c +IV = 28 +CT = 0adb5e1a51b6b1b7e77d730b71 +AAD = +Tag = c9a32f076ffd1309 +PT = 2d778d442371d32f08d06b0b1c + +Count = 7 +Key = 08483978bfaedc521ca5880a16495455 +IV = 1b +CT = d82e2399481345d07e1e9b28c6 +AAD = +Tag = a484e652c63c9718 +PT = 4ef179eb7d769d9b653ebad5cb + +Count = 8 +Key = 8ce722ae4b1bb8c6ab8b6ddec0907223 +IV = f4 +CT = f6231cc2492de4730ee81408a2 +AAD = +Tag = 62d696a46a26017d +FAIL + +Count = 9 +Key = 02308bd8f2c34bc67e9456aa2f165247 +IV = 3e +CT = a1da5c18719b661b016d6c809f +AAD = +Tag = 7381fe1d42c0efd1 +PT = eed43881fc0eddb177e02fd1c9 + +Count = 10 +Key = eea3d93bbb2cba697c2e3a339aa2adfd +IV = 1e +CT = 50f7ded0c39c0e1005d30b073f +AAD = +Tag = 79e0eccd6dcc5e53 +PT = 26ef192185256c3977a34531c5 + +Count = 11 +Key = a17b06704dcfef762c8d45878c024475 +IV = a9 +CT = a79e90d7452dd1e11d277a17d0 +AAD = +Tag = 3f66a84298f8bd91 +PT = 9dd1d50bc84dff2259f3872e9f + +Count = 12 +Key = 7a02979270736ab4288dc0f8a12f0118 +IV = b2 +CT = 5c1bce14d9f7cc7aa51a4e6fc2 +AAD = +Tag = b8c3192b8b4a6acc +FAIL + +Count = 13 +Key = 982b8bbf4017eb103b5c124ec963f372 +IV = ff +CT = f887f6c313c015cf1da2a5856c +AAD = +Tag = 3c781f7177c6f410 +PT = b92701cf498e0294ce355c2891 + +Count = 14 +Key = b5f99d9f32fc4f9dab6ddbe0e57df5f0 +IV = ec +CT = 5785e8108858f9b6b67aa00137 +AAD = +Tag = fa4740d5401ea6b0 +PT = 202f385f54f55b2000556f7919 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = d248a9d0eefa0874d4e385d6393d26f4 +IV = 3c +CT = 2c7cdaf2a16300996fcfae4055 +AAD = +Tag = 5dd83379 +PT = 988755cffca4070819f2b54156 + +Count = 1 +Key = ec2fe4eb57f16e9e71b488b105b75788 +IV = a7 +CT = d51be5dc47b00ff23a23438a11 +AAD = +Tag = b77b2c33 +FAIL + +Count = 2 +Key = 93eea426229eb1fec2dfa44041909040 +IV = 86 +CT = b5343b742c9a43276f4635f8d3 +AAD = +Tag = a934855a +PT = 323f3bdc4b1b7fe89e2c6ecbbb + +Count = 3 +Key = ce4fab3c57a9a3c65910534c33bbfb5a +IV = 6d +CT = c27cf67cc1c65c78233177257a +AAD = +Tag = 78f355aa +FAIL + +Count = 4 +Key = 24f4b074113dd007e4ca466e098a0b76 +IV = 50 +CT = 87d6fe5349fc7a116dbc0aba22 +AAD = +Tag = fa7f9f43 +PT = 1dc2889c26d61a921d2ac6b394 + +Count = 5 +Key = bfeb59d2859e4272ece894e30eb6ab06 +IV = 9b +CT = 43452df76ce6d8e1091eb2b6df +AAD = +Tag = 8555547f +FAIL + +Count = 6 +Key = 12a742d3f049a5213555437e7f3c4c7d +IV = 8d +CT = 943dfbb50bdccb2ccfbc50fbde +AAD = +Tag = 2370860e +FAIL + +Count = 7 +Key = 8d1c3dc52b3c28a9346cb4e3a0c17455 +IV = 40 +CT = 5cb704db234671d13faffdd361 +AAD = +Tag = ee374ed9 +FAIL + +Count = 8 +Key = eb9f68a96c5275aac2e24e27f0e00977 +IV = 6a +CT = be9d7851d36633277984dfb46e +AAD = +Tag = 0bcf85e6 +FAIL + +Count = 9 +Key = 23d78f62038f53ac2dc00a6bced3657a +IV = 40 +CT = 05c60ff20b52a4782e9a611faa +AAD = +Tag = 9f08fac7 +FAIL + +Count = 10 +Key = 3a79139fab47b4b64832d91ff8714092 +IV = 59 +CT = 71771a02c8e01c8492bdd69f07 +AAD = +Tag = 7ad2d851 +PT = 0322c59556588b6265e2176039 + +Count = 11 +Key = 237d6ca7097daeb6e9ff38d2a8e9c49f +IV = 12 +CT = aa30b3f9cb04bef5e72906ebc1 +AAD = +Tag = c77505fe +PT = 841395d2315d54782ec1dd6583 + +Count = 12 +Key = b70a7737fee52af0bfa7c1946a8e99c9 +IV = b8 +CT = 60d9a89926c0fcd07d0864ec32 +AAD = +Tag = 39d74727 +FAIL + +Count = 13 +Key = 1a8985c725596a37b75fbdfc25edac68 +IV = b0 +CT = 158a7358afa880968cb571bef2 +AAD = +Tag = 23ba642b +FAIL + +Count = 14 +Key = 9e7fde53defd0f94eb9100d74dbe969b +IV = 1c +CT = 1e3d89b35a4029ecfa3d9b2318 +AAD = +Tag = 5806f4fc +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 07148b52006dc855fc6aaf1845fa8bb2 +IV = 5d +CT = 285c22da6027fc121f3cd2f6c1 +AAD = a721c8f9cfc51d7871c3e759c35f8938 +Tag = f0214061557a08a3dec170d9447ed712 +PT = 301f3612a6f8cbcc23facc8848 + +Count = 1 +Key = 844218d8aa8227a6876f190cc3a07fa4 +IV = da +CT = bf9d1b61fd44cdd200118bd2e9 +AAD = f615290b72d79bf03fd607ae02177d38 +Tag = 8ffbfe1b0bf821c9dab92311bd3407c7 +FAIL + +Count = 2 +Key = be9a94cecb6c529244539ce68a6cd280 +IV = 6a +CT = da22808870d2bc6d50f60d589a +AAD = e252e280d97b6f3e47c41a8b2fc94752 +Tag = f7ba2149d82a86efda10cf65f1a9da66 +FAIL + +Count = 3 +Key = 68f4b0ff832695e1e2f6b12187c07650 +IV = e0 +CT = f2fc6acefc988b9a51e5a43204 +AAD = 6539c87c6d3b5d0b8d453a8695ff4dd3 +Tag = 1d60a70b18505ceb4cb99401dbee5c4b +PT = 392834d0ea4c282f28055fbb27 + +Count = 4 +Key = 58c37e41c2e27ae7503d5442be8c15a9 +IV = bc +CT = 9fc8eddaa1ad2f1b27771d7131 +AAD = eb6b61ec1f61ad6cb65b7c948d8ed4f5 +Tag = 34ea334ddc88a9d4897e8b44c4a6867b +FAIL + +Count = 5 +Key = f6e4a77e6eb9efa467a380bee41f55df +IV = c5 +CT = 20536514ed74062fcb5113562f +AAD = 7ac7c84b7719e70ca19340bcf260ebfe +Tag = 96fa210d102b59d42c5673cd565780ba +PT = 16703594543d33adf940cde6ff + +Count = 6 +Key = 1264c897e379e2c1ba1709000d5040ec +IV = 32 +CT = fc653881f57397ddd1ec26a56b +AAD = 6259aca2042b175c5c07c85661617b9c +Tag = be685559e2325d674e1b152d64ceba78 +FAIL + +Count = 7 +Key = 910e700489ec5b5cc5207ecb6c4dd11a +IV = 9a +CT = 41a11b35d5438fe8f2475acd03 +AAD = f83c5a125d01ee58eca894ee5d3bf813 +Tag = 244f3fe35e26f86ab22902f615405e7b +FAIL + +Count = 8 +Key = d23b13bd5f375ddd84a3d31e4903816b +IV = a5 +CT = 04d89f2a71ef8b5b79f1595945 +AAD = 3a60de4c0ef766418ccccfb77dc0943c +Tag = fe86198e94579b458a5210353c94a65b +FAIL + +Count = 9 +Key = 9b243b51e3b4369189ca65833a29f8af +IV = 78 +CT = e9e7c833b9159e88317aec1f7f +AAD = a164fef828360213e9c7ceb26995941f +Tag = 9d4079900f5a8657a4daf7442979db4b +PT = bb8223436630bf4aa931cfdfcf + +Count = 10 +Key = 0b197d4683c27476dd3ff1d80ed31948 +IV = 73 +CT = 9e78af01ff1fa42701c97b9d5e +AAD = 9e34d621a75c33f3205bf15ae3b70a62 +Tag = 2d682e2a95fa62a05342da530a216872 +PT = e6ab988e54042a069df66dde06 + +Count = 11 +Key = 945bfced6941ec98f7a23af2e2016d68 +IV = e2 +CT = 28f16786ad31b2eb737d490a6f +AAD = f91f73b1e956b5937bbb2fa0310ead65 +Tag = ed525da11a766c54406a3f4fea14bda0 +FAIL + +Count = 12 +Key = d7ae2faa0da88be9748c98c05af1bd54 +IV = 58 +CT = 887a5b6772dd73e5a82b8c9bdf +AAD = 6bb16c35b1641e285d5b944b47f83569 +Tag = 848adf8445e00a40a21ffdfc28a29fa0 +FAIL + +Count = 13 +Key = 5b8f2ae83388cd3584792a48776ce2c2 +IV = c9 +CT = 5db67c27f2cd3d61db2a3b9bea +AAD = e012d1425be278ead07ec857e4ca135d +Tag = b4bce7d93fea92e4f2cf8c3fb03a04e8 +FAIL + +Count = 14 +Key = f30ab0bc4fc133a445a0ef6223db4004 +IV = 65 +CT = ff42ed5d8c05b38c627fff02dd +AAD = 54d41e0a5cb353a036783ec9cab7c121 +Tag = 72dc5d5acb35722f3f340bb6752a68e6 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 35d30dd8a2db569f6ce88c9cb4022ea4 +IV = 7e +CT = dea7f8eec42fed4b4111e0a44a +AAD = 9342d39d05d4337f987f0177df0163a5 +Tag = 83309251ce2861865ccdb123b55e83 +FAIL + +Count = 1 +Key = befabb971a0e6cb55aad727c454ca646 +IV = ea +CT = 263fe30dc980729ae90d2251c6 +AAD = 483a585740b5ba1f47d2c0ec2b84467c +Tag = ae6a71b1fa289fa04ea02c854fa308 +FAIL + +Count = 2 +Key = 83a81d08e9826be743c3feed6f283a9f +IV = 0d +CT = 5a50221aa96928bcf6292bca58 +AAD = d6ae0bb7570e3a2ec82be11bd76c9fb5 +Tag = ac2b101d1f73e38a6bd7b00c57f52e +FAIL + +Count = 3 +Key = 529021477875728b1ea39bf7836752dc +IV = ef +CT = d352a118f7f8c9c537264c2c56 +AAD = 8c500553b2fc178d84786c3e079dabcf +Tag = 807002badce13d9af73f4707f0c71d +FAIL + +Count = 4 +Key = c46f52559c8130ef32df0b7735b23462 +IV = 90 +CT = cb7a97ccbf28cedad3d11ef0ed +AAD = c60d32a0e453d3b1753b845a1a1269c6 +Tag = 9ca5be335910d4f9c86f198f22d862 +PT = 706b03bbe43bd5f4c32458d768 + +Count = 5 +Key = 694908963f85009d20136ca259caf79e +IV = ef +CT = 3f216ccd56b86ec8364bf2c685 +AAD = 22a61d27d5b09a07f811ab3420015151 +Tag = 892bfa7089ee76c1932a6f02fa605a +PT = 013a1f6148d76baa4ca6587a02 + +Count = 6 +Key = 4aef84c0ee025f1aa29515b67e5bea1a +IV = 14 +CT = 882e401457eaa5ae903f9a1b28 +AAD = 1e5ece50bff35b96ebc7a067bbd8b690 +Tag = bcc423a5d2aea01500b6cae3c637b5 +FAIL + +Count = 7 +Key = fbea16df2cafce8b82342ac5beb67b0a +IV = cd +CT = 3e457785e351b242f3268d1973 +AAD = 815a2bce6fcf21a374b88bffa08fa86b +Tag = 896d4d8f68b96578d3148e890d10c3 +PT = d0214b19fb59dd029169c7f2a1 + +Count = 8 +Key = 7a6ec97fdabdd7dc3348065fb8bf7005 +IV = 45 +CT = e6421deac9af37282792a4d3d6 +AAD = bf2f930c79682c16f37776be127fb051 +Tag = 4dd69d1e67cdbce5ee84098a6287fb +FAIL + +Count = 9 +Key = c98a710d05b9ddee3cc8ca7a1e8239ee +IV = f0 +CT = 398f74736b4ba31d0f136ce102 +AAD = 69e52dd5064a46ad3ad1965135d1cee4 +Tag = 907fb3b375c33f8e574c045f2aee5f +FAIL + +Count = 10 +Key = 25d63a2e55029abf5f5027b8a9739028 +IV = ba +CT = b057c347117f3e1442fec703b2 +AAD = 061340549d0b63e8fdca94b95bbc87c3 +Tag = 2c690f64f1a9e5df420c3f8d0147f4 +PT = 22a58e2cb837da0dc57222d1e3 + +Count = 11 +Key = 6dd4d30644c985067ed6b06823df8003 +IV = 8e +CT = b8e7962161813f7fed2c0890e1 +AAD = f13830ae3aa57be7ed5364ce4523f97b +Tag = 274255fbfd3dc1595a43ce068f23ba +FAIL + +Count = 12 +Key = 9a258cd19c4ef59a38f7aa66a829bee9 +IV = 84 +CT = 4c427637abda7635a5a0947f85 +AAD = b25945fc9f7a7e50c1364a652407b369 +Tag = fdb53ff5435d2444c919cd78cd3d9d +PT = 7a53e5a76ebce51d4f449fb22f + +Count = 13 +Key = ab7b4e7303b65d48bd0285b1e82f7f0b +IV = d5 +CT = cef3c6093cea13d0b4826e2a28 +AAD = 3004c152944e9d6c849c589a7830e532 +Tag = bc6e9ed6b8524021bd8370d835836b +PT = a6aca0a9d0adc712817790df41 + +Count = 14 +Key = b4301898379588e3783da119e7f999ee +IV = 08 +CT = 4bc3f52373d1227739db2eded1 +AAD = 1cbcbd8cf527ca8ad9dc3b2abc50f5cd +Tag = 253107121eca4a05d18168c80ed422 +PT = 55b5e9c715c99a130f0cf192cf + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 8a068d8d0ddb3527596b5a085cd3d8e9 +IV = 9c +CT = a30bdd63017eb0c34120b5c3f8 +AAD = 601c28e068496660bd4a7617aa64aed8 +Tag = 2982f2bd5319417005139f0c142e +FAIL + +Count = 1 +Key = a501659fc4621e4392b1f0175e247567 +IV = 0f +CT = d93ca27d7b672176537af2e2ba +AAD = 43fe705bb358b663e4af2c904dcaa327 +Tag = d9cace1f204ad22a6aabbef526cc +FAIL + +Count = 2 +Key = ccfd779810ba8bb8b3873b348c526619 +IV = 4c +CT = bb3318fb4540d9de584ff77f36 +AAD = 794666adb85de7f3c6bcd62113c2b87c +Tag = 364a8d761a7d598f122995ddbe9f +FAIL + +Count = 3 +Key = 1080518b0cc5b928e2f00f612fff47a1 +IV = 0c +CT = e95fb26a46b07d5196da072d0f +AAD = 00e3b5cfe1c6d47c8bfa665d7314e436 +Tag = 157522745a591d93853743ee8644 +FAIL + +Count = 4 +Key = 43c150e64473093dbcd050523b32b1d1 +IV = 89 +CT = ca5136ca5c9c198f323c639064 +AAD = b7adc6796f2c66828d8061cf6bdf2bb2 +Tag = c88658048f0278c2505306b58dc7 +PT = e23e9641da476f6010a05ad9a9 + +Count = 5 +Key = d14d3b5ab96772979f69fcfe9158d335 +IV = 42 +CT = 62de56427a7c7c8267b7bcf611 +AAD = cd38797fa96dff40971940a0167b18c6 +Tag = 2bc512245eff249e08dc5b278ddd +PT = 47d1a34e20112694b2813820c6 + +Count = 6 +Key = 84f2d18c622ae63b11eaa481c7a5e495 +IV = 0e +CT = 970ffdf75d26488d9821e2720a +AAD = e6b4cd6854e961be25bdec9481499574 +Tag = 6b70a2c02676bd8e0d3d89657802 +FAIL + +Count = 7 +Key = 7f3f5d45bdb33fd66317601ca0aafafa +IV = 12 +CT = be76f00332a0a1b1ad33c08f7b +AAD = 1e2a1cfe47f474f559415c037108a3ce +Tag = 67130e3b8cb9e97075bd4662dfa8 +FAIL + +Count = 8 +Key = 996d8b1f0f3b55292e305bba7d7e9dd6 +IV = 3c +CT = 8dc090edb0ba6e0478b6146c5e +AAD = cbde693e0fd8390adc5dd95bc911b6d2 +Tag = 3bc02b6c5aa04e6aea313ba497a8 +PT = 026a080eb2b4d94d94842539eb + +Count = 9 +Key = f53e87c4c426aefbc4fd16b8a122de5f +IV = 36 +CT = 46a6a3d1639854b8e475af56a7 +AAD = 1684703cfabc118d8c3b68fb9611572c +Tag = b977a44f259d34398fd79cb307cb +PT = 2acb3733f8964c68637639292d + +Count = 10 +Key = 666bb29ad7e6913b49c5672bcaee1ae0 +IV = 49 +CT = 97cbdaa574c7f17ab0cb390bd7 +AAD = 28a2f0e69c7878bc1f53a6f27e3dccca +Tag = 529a3523af2c63300aa8ec221da9 +FAIL + +Count = 11 +Key = 57a9bca7606956f862de346003f7358b +IV = df +CT = b2a8615f6a6cc2cbc3913f0a93 +AAD = 654fcfcf7822427c3df54f2417b05e2f +Tag = f5c9a069559644fec3d2daefa035 +PT = 5463b218197c7020813965fe3b + +Count = 12 +Key = 46a695c85672af660ef64cfd1e8e5c27 +IV = 94 +CT = 3911a2ee2c550677e763e451b7 +AAD = 7667e023c4b7da8d860a05dcd23cee05 +Tag = 9e6e91aa727e2d790aa2e7e30d8f +PT = a4cc18777c73400c89ff4caef1 + +Count = 13 +Key = 8885944e064e64482a14945de8ffe2c1 +IV = 3d +CT = a77f35bb8d7af58bba7c20352c +AAD = f6b72ad214e380a30ae418a049413fb0 +Tag = 889e64a7418a2aa8bae22af66b1d +PT = adc6e01204f94ddbb5654e9f2e + +Count = 14 +Key = 8cd9a059c3f1365e898d55c7169b439a +IV = a6 +CT = 63f4481a24d70f778443a8619f +AAD = ff12be040052e8a35aeb53227932564a +Tag = 12dfc475c90fde5c30e289f0e769 +PT = 0c321ccf637397475f9dc5fbc6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 3acbade4ea5e6fcb9d25786d5054c93d +IV = 24 +CT = 645ae0a6c93ef87927e2a07237 +AAD = 2e5b802cf578246a22842182ecb49450 +Tag = 5c26bf58803ddeccbed5c9c60d +PT = cdd424e61c082eba50878c53e9 + +Count = 1 +Key = 616c6f96ecbab6bbe7041bfcdb57db18 +IV = 53 +CT = 176c0d4d7678d757fc51418fe5 +AAD = 877dc2ce5e0826fc1d1231cb68fb49c6 +Tag = 53181ceec0e769ee5fa84efe79 +PT = 03304c75db63211d25644be802 + +Count = 2 +Key = 21f269edc265aae9d638f94bd19337f8 +IV = 3d +CT = b19fdaf6982923c141702121af +AAD = 80a12c9ca3c0e3050b562733e21e905e +Tag = 087ca98c0b23116c77e7760aec +PT = 9665151351670ff4348fa45cbd + +Count = 3 +Key = 4488f43e716affae533fe63c715db6f2 +IV = 4f +CT = 0e50a7c8e70214999d95bfbbab +AAD = 2dbbab7a827c502fa994f763d81ecca4 +Tag = 87ecb7c34423c85d881181ce7d +FAIL + +Count = 4 +Key = 3a2092618f7c3f8a95cd194c392b0146 +IV = b5 +CT = 047add91c0ac521b3d7ad24a39 +AAD = e93695cf69eea8cc26cb3a282271c46a +Tag = 3445fe78fcc1ede2c5ba99c3e8 +PT = b6526d4b5194274517560fc3c3 + +Count = 5 +Key = 466bf176f44b4b8f37a5c2e2e823fc8d +IV = c1 +CT = 938ee24f5742d130e84446dc15 +AAD = 15434697bbe5d587765731e52ac009bc +Tag = 93933d991c8e9b83e29a06aa8e +FAIL + +Count = 6 +Key = 45eb273ac9f752f332515f16614063b7 +IV = 3a +CT = 67e21387e1f2606702f12379f2 +AAD = deb88c313ec89decc189b87087b7e4bf +Tag = d46ef5bbfbaa90aff9d4a3d1c8 +FAIL + +Count = 7 +Key = 6524b3b99f35d8509ea1e05a1f264621 +IV = 80 +CT = 3c2c8547439ee67a87eeefacad +AAD = c04d1535173ead3da581bd86e8cfc82f +Tag = b8c65b9a78b8a95920ccd4068c +FAIL + +Count = 8 +Key = 4129c1eb663a2fc3bf3b832683636855 +IV = 18 +CT = b95cc0bccf8858db3cf67cc3b6 +AAD = 1f79f42bff587a9e13fcd75a7f666bf9 +Tag = 61cc862b6154845e9a2b123245 +FAIL + +Count = 9 +Key = 135ac88815ffd8d7e4f83f4ecd5d5cf3 +IV = 77 +CT = 2c95c627b3af3a19c1422e79a9 +AAD = 988894ba3c567c2e52847ab2bfbfdb5a +Tag = d8e2d72cc52eb7948297b997c4 +FAIL + +Count = 10 +Key = b6ff0c6ecd7ecfd0885c55136d738f75 +IV = 0f +CT = e938a296c58410969853aaf11e +AAD = 553392aec217046a030124544b173825 +Tag = 939fd65fd7189f1b028608f57e +FAIL + +Count = 11 +Key = 4e44be14526354300fb6410da5a89ce3 +IV = b2 +CT = 25f333c5c8210c1c0262037668 +AAD = 228f54cdab0631ba5fe27357271215f3 +Tag = c02e99e3022f13256290be9ca7 +PT = 0814addaf51a726b264d9ce095 + +Count = 12 +Key = 89f458dcc5bdbf46f969a9b019146114 +IV = 3b +CT = f29f6699d7006bb589b9b9a006 +AAD = 94689cf5f7ec190eac15c124c7a7a23e +Tag = 0da585f98a956c2424bafb1a80 +FAIL + +Count = 13 +Key = 58b1c508806ac377913656e366a4a944 +IV = 7f +CT = e3e44b7ca9b8473d6d11e18f15 +AAD = f0365668f2b04726bd5dc3f457aa7070 +Tag = 93106bff4ee8d5cd58640427d1 +FAIL + +Count = 14 +Key = 0df7247844f709ad81c9f8974cd41ebb +IV = 6e +CT = df7c587fcee50fc9fc30a460bd +AAD = 205922e588feeef19dad0e33c66d7e35 +Tag = 926ad0a6079676848b0057d67f +PT = 411f5968fb61cd998804b99daf + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 1eb73e745c6a3547b9908be695ea9472 +IV = a2 +CT = 4f0994ea78a723db5ba83cb280 +AAD = 7761e7422226ea1c87e8544ecbd8e157 +Tag = 0396c6634039842705697c6f +PT = 2bc7c19be3fb7e542f8d463402 + +Count = 1 +Key = 63afb247d7cf6bb83c6149ae96a4f35e +IV = 17 +CT = 9f91a6d619f01bec87e8679c0c +AAD = 8138cc1feffe9315a55c495745742e1d +Tag = bd5f9a540159ff4f299da3f4 +PT = 83b17b20e857f3c2538225c150 + +Count = 2 +Key = 282cf67fb0bc4c6436588dae074ad920 +IV = f2 +CT = 9b189a35f7179d917d12d1cae0 +AAD = 6cd9a6f2e1ae9b749dfcded34babfa21 +Tag = a9c2b72099ca839dd48fb736 +PT = 65ad2f4704a952adddfbe55c81 + +Count = 3 +Key = ef6393f63af0d571d9b07bd5ac6ffdaf +IV = 85 +CT = 93e646fcd1242f2c26845d1245 +AAD = 18a089a9cdabae5eba5de8dae98fb564 +Tag = 33307f58ff680758bb134643 +FAIL + +Count = 4 +Key = b56f816a34e7bdfc20fb446622cb893e +IV = 42 +CT = e6ce6a1048d25ad7f36f3cdee1 +AAD = a9983e10c8a7da89fa7201bd4fdb18b0 +Tag = 38706af054850fac96096c2d +FAIL + +Count = 5 +Key = 3f5ad77b2ae01e3d88828d54207f1240 +IV = 59 +CT = e0da426c924de74de7a03ab090 +AAD = 4134369e57c1311551bc40829dd38c9a +Tag = 933884afc54f4a53f248b9eb +PT = e108812f91a85886c7b6a6c1a7 + +Count = 6 +Key = 8ba02466c821cbd59f81d4e6fc2389e8 +IV = d9 +CT = 8840cfe0c33861c1169501eb6a +AAD = 875316a1a040a775e658fbb952c9692c +Tag = 6d61ec4b2ac9081d08fcef20 +FAIL + +Count = 7 +Key = 042f398e8c577b66925754ab6b126834 +IV = 92 +CT = 48b13c146583b8b55e31b4349c +AAD = a2d8696943aefeb06a9bdbe57bfbd9f2 +Tag = 5f1cb7010ddc2520b0609e1d +FAIL + +Count = 8 +Key = 85dcfc238b9b444ca7a49484f53847f9 +IV = 08 +CT = 76e5cfc35c523fc10721b1d86a +AAD = f59f9aac5ab89dfc6e82da4fccd86c07 +Tag = d593ee79c19b6ef1cd655b4a +PT = 99461f3544c35bf690ca8f2c37 + +Count = 9 +Key = e61371f56f4f9598e9757bb225d44e62 +IV = 68 +CT = ea7723e9dbe49b288501f022aa +AAD = 1618450ab36ff5f330d21011b7aaa550 +Tag = f8dcd9aa6e6ed0a07231ab4d +FAIL + +Count = 10 +Key = d374933befbbb47711c6b410459828e5 +IV = a6 +CT = a8eaf343a3cf52af732773e745 +AAD = 3690e5d213d6e367e2ce94397e712edc +Tag = 49680236363649198fdb0095 +PT = 03c11bf8dd0bd68fd485a476de + +Count = 11 +Key = 3d9d184bac02165ab312d94c5d1bcc06 +IV = 0f +CT = 58a13cc150735f49ffe2dab5dc +AAD = 0ea21b10745fd936be611887557096e4 +Tag = cb5b3bba65abcceec127704d +FAIL + +Count = 12 +Key = bd814d85d0bf7af1dd9515e0b5cce2db +IV = 88 +CT = 9e81ecde5a98ad8f4f06af6810 +AAD = ca569d24a4560a11be5178d2d3491785 +Tag = 8d02b3f9c1ff8dbc6d8f5173 +FAIL + +Count = 13 +Key = 03000d474fdd46049806ab613a84350b +IV = ad +CT = 360e2954902550ecdc84612456 +AAD = c312a97447d0d84107ff4d313a3bd850 +Tag = a7efb2e8f4a589056f908669 +PT = 2cd90a90ba7c506a415e8aab30 + +Count = 14 +Key = 5a45bbefc136e84bde29b05594bca79d +IV = 09 +CT = 30a3b2219d09346ea7ede50f81 +AAD = 3ff1399e3d269b43dda2558e6fda7bc3 +Tag = 9d053cff2e423edaecd44c2b +PT = fbb39f68ae355de88dc019aaeb + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = a4cc884cac93740b2bca4f9077111d6b +IV = d3 +CT = 3833213a8ae59bb6e99c828225 +AAD = 69769799bfff87aa05ba5040dfd3725a +Tag = 9dade25ea01fbda8 +PT = 8ea4160d9533c919ab7f65ba54 + +Count = 1 +Key = 77fb6972460d96baade3c1951b381a21 +IV = 88 +CT = dd9aade82c65617e16364f8f30 +AAD = 4e80294c0cda2e9d9189bc2991dff543 +Tag = b157abfac4422dfe +PT = 9686b67afe13c39f684c891bdc + +Count = 2 +Key = e9b645c807cebf9d75d16fa6b81203ad +IV = 6f +CT = 357125c337e0a8580df423ed01 +AAD = 492d0ff9ca4c9e3bdcf50597a8cf9a5b +Tag = 88ae04e6be7ddedf +FAIL + +Count = 3 +Key = 7fbf4013d38fa94b0f9115dccdfad7f8 +IV = a8 +CT = 4340a2be05000e81a63fcbc56b +AAD = 1714e51a0996a9e1e7e59971280bddac +Tag = ef105573881d7e3c +FAIL + +Count = 4 +Key = c707015f64b565fac02a5e7e925718fa +IV = 6f +CT = 506a777ef2ac8b7536bb527d32 +AAD = 68f660eec3cc59e9cd657e44a4931451 +Tag = a5eb05b022d7f2dd +PT = 8d7e257a682178f9dcf4012586 + +Count = 5 +Key = ee43826fe2ca8bf5a3b7b69f5def73b7 +IV = 1b +CT = 4ad7276e03781ed04d770e1513 +AAD = d153fe2370c0fa78a3a8d60671c67825 +Tag = a1e634584e9c6ca4 +FAIL + +Count = 6 +Key = 099c2848b9cb1784eccd5137479ca691 +IV = 64 +CT = a6496102a43bea269304427e65 +AAD = 044337dd5e7dc3c3e32ea96205686cc9 +Tag = 61436db249d53cc5 +FAIL + +Count = 7 +Key = fec3b1951d7ca1ec01710dba74ede803 +IV = dd +CT = 785c7fc19819d55be944623188 +AAD = 9c2f64e2ac8806bf78182e2e4aff5e4f +Tag = 9506745c2aca1050 +PT = 1dc0eb9cb0be25b57b9bdf1751 + +Count = 8 +Key = c0472d7d11de9e041858484700592b20 +IV = f5 +CT = 28bf54f8c6ff3c74b9c8c9a60f +AAD = e48e267f54658e43218b7d84d7b22868 +Tag = 5169cf35d9031049 +FAIL + +Count = 9 +Key = a8bdf26de09127cd774ca6ce3c357f73 +IV = a7 +CT = ed3024073ca9aa25821ede9917 +AAD = e809523e76371d21b5a8e625398c5818 +Tag = b28801c7103ee6a2 +PT = f5679db245d116803116d31417 + +Count = 10 +Key = 41d6117d90e228b3893426432da4c441 +IV = 15 +CT = 227329dcdaeddc363aba961e61 +AAD = f614d0deafd077ce5f1a47f32b8aa724 +Tag = 735142a6f0ff13ee +PT = 24091c0d643e956972d1813961 + +Count = 11 +Key = dfe1b751d135d04bce67af63f21acce2 +IV = 20 +CT = c762b70918bf9d64fa2678b92f +AAD = 310890c10c8cd2c45c2c3a7616ae482c +Tag = b7e1ad4d311b9031 +PT = 8fc78915e394fabc03fb147ed7 + +Count = 12 +Key = 0a49b6a037cfd369e94958992457e9e1 +IV = a2 +CT = 765c0077de6676512358e1fb42 +AAD = c724f2c33b110370a4386a4f05d4142d +Tag = 339ba12ee57756e4 +FAIL + +Count = 13 +Key = b0a3b1a84358f5338b5a9b090630c26b +IV = 22 +CT = 708c9df7d2cd51c7f8b50bfaae +AAD = 4fe0ca545d203b9a09d450ac8249dab9 +Tag = 2ec4a9d7df217c9f +PT = 84f36218add6c49cfadb5efb25 + +Count = 14 +Key = defc5cf855657a4f2e28eb5a419615d8 +IV = 0c +CT = a406ec0ada7cee882f9095a346 +AAD = 8a52963b8f2f932697ecfc2d5f1596d6 +Tag = 1f32ac96367e42ba +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 800e35b8c913263c76376b511bd1c593 +IV = 84 +CT = f9f82a48c45ccb77239f1d62ab +AAD = 340a21bf75ad86512d22f121567599a6 +Tag = f5749751 +PT = e14d1e722cd08d2ba7a1ab96b3 + +Count = 1 +Key = b1f76ba43131c51dcb758ba044a8062a +IV = 36 +CT = de6f81d8f289d1108af8272a81 +AAD = 6ff75aa7800cb8493da8fed2c08fbf8f +Tag = c2a4bb2e +PT = cb9da8fb18cbfbc953fddd832e + +Count = 2 +Key = 43ebebad0ddb02a669951486e2acb7e3 +IV = ca +CT = f728b0166bfeb4bea93541a9f3 +AAD = 1afe89d266e128670bd65e56a41721fc +Tag = e487e1be +FAIL + +Count = 3 +Key = 02378e61c37daf43f76ea6a5fbe75f24 +IV = 3e +CT = e7919e5c91fe81f4fca62c9adb +AAD = e68da051b77524081887469ebf5ec90d +Tag = 59f8a47e +PT = a88958225a830b14f1c85b0bd6 + +Count = 4 +Key = 3f463ba4f4a6e25a785162d82313737e +IV = c2 +CT = ee22243dbf0e0c04a06f70cab6 +AAD = 446157a8d8a6713b3d6d0fe42a4bcbdb +Tag = 9bf8c8eb +FAIL + +Count = 5 +Key = 9de7e4046ca66100193ee5afc80209fd +IV = 90 +CT = af7fac1583b23765f64d0576d7 +AAD = 33e586812a434b84dbd6eed7e2e7036c +Tag = d584fb7f +FAIL + +Count = 6 +Key = 738a1d80284fb42c95e4ce5062adee0d +IV = c3 +CT = 2d83f5948921c19b350165145a +AAD = 524e3f1b996c24134b2285383c568764 +Tag = 1e7a4894 +FAIL + +Count = 7 +Key = 1099065bd1d2820a19f529c563a6645f +IV = 11 +CT = cd7c7c8cb56f2fb11e8e918df5 +AAD = 74dcd4f6d4bf129382f4a8e4600c7e36 +Tag = e0f3aede +FAIL + +Count = 8 +Key = a2100e6ca715ca560359f1ec0d066068 +IV = e7 +CT = 4094f5191af01b3eb2f67e62a3 +AAD = 5a34c9812226490bac5f3e95a85a4454 +Tag = 1f8a2603 +FAIL + +Count = 9 +Key = b59adda938c20bd6d58469afa8d7a099 +IV = 6e +CT = 12a80928b61367cf804a71e392 +AAD = e0453970fb80eeb3ff1231270c4f23f9 +Tag = 8c37e66c +FAIL + +Count = 10 +Key = 146a6a6ae6b7ae2c6a15bd8fd0c53dbe +IV = e2 +CT = 68e179547f139ba154b7e29731 +AAD = 8323fb5a8fe06360ebfa6294c7d5cf43 +Tag = 4a9110e7 +PT = c60a647a8606df6ee934e8f7b6 + +Count = 11 +Key = 0a0c2cf79a210c9d2c1df74a685dc49a +IV = b0 +CT = 407414c48697227557f32966c8 +AAD = e21c03b83f747fcd2bd6bc96e216b6fd +Tag = 660750fc +FAIL + +Count = 12 +Key = 9e0b5717983a4676ec855da21f0e108f +IV = e8 +CT = 5313418a301548af71c6615e72 +AAD = 22095fc75b3078875151f9fe11ec954a +Tag = de7cd80c +PT = a3f9b3adc1dcbe3df145198c6e + +Count = 13 +Key = 2b6748f772951b148e382d22ab23e9af +IV = fa +CT = 8bc5629c64267e0844ef45496c +AAD = b6b413f5257ffc78f68beb6d8a515b52 +Tag = 88b5188f +FAIL + +Count = 14 +Key = b1878a49f2f2c1b3d9734a3516fa4b2c +IV = 7b +CT = c8c14ea6d67d86ff210db46fd4 +AAD = 7f7457fa6512683af8b3aa30370ebb53 +Tag = 46f63e4d +PT = 0db4a8e815398e3da4b6a655c6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = c90352c76b2d866fce51d209e441123f +IV = 69 +CT = 99f01fb7f3f26dc2bfb838d715 +AAD = 2dd35bf7263390a86eddc0b1e693833bf49e835b +Tag = cc67d27f63b7e9f8aa86122a5b6a6b17 +PT = c52a881d4467b44da233a76813 + +Count = 1 +Key = 593302c520bf71263cd8c14b288c4e9a +IV = 9a +CT = 7339082a97c2c9793e0a9a1d3e +AAD = b8dae0f244b799ce231310d4b2e3d07117cefc30 +Tag = 558ac93567be75df6f44de10e1bc48fe +FAIL + +Count = 2 +Key = 559a32c25e59fc41b5beb2b40baae487 +IV = 12 +CT = 4e6e8e57f76aec9bb1be7d154f +AAD = 460c20f7cfc3fc435069f4acf6bee7e241fa21ee +Tag = c1d808bddd06d634fea3a3e515a2f066 +PT = 3912d3a7d6ae47abb5c965a5ae + +Count = 3 +Key = 95ebe2ac2dfa1f6eceeea6121d70f934 +IV = 2a +CT = 008da30327959e4441e9042d64 +AAD = ab8a65683e1e3950dc190379efc66409165cc983 +Tag = 6da2f24e369bbaa3ff4fb9d9498953f9 +FAIL + +Count = 4 +Key = ab2ccd3f52da8e67c37ac29815d96540 +IV = 4c +CT = 67f762fdc092e2723846870dee +AAD = 077a216a63e39fcc302eed7eb950ce5e10cb841c +Tag = 1929cc380a3cbce85418ab22646626fc +PT = fa95fb617e52dfe7d5b6b9b350 + +Count = 5 +Key = 710b1f1dd2dc70773d5cb29a97f3a49a +IV = 84 +CT = d1df05d97f26af03d32c9571cf +AAD = 40d5ad35b5eda8ea0f823d7d75a95e5719fbb1da +Tag = 915b9ba511655e40445a073b57d74ae2 +PT = d93c7d11a72538ac0373f088ed + +Count = 6 +Key = 372c663f376f585e64f2dcefa01fd17b +IV = d5 +CT = 614a7301554f0c0f8769a43275 +AAD = f13f7c1910d15c62db884140fd1ddcc14e1325f1 +Tag = a6dca94264d1ee02890f5a4ea29b9fae +PT = 10d44fdf171ec4ea2abe3c3f06 + +Count = 7 +Key = 7e3d5ba76cbb8c7bf38777834243969a +IV = d1 +CT = d6b5db2071b8a31b4df660f255 +AAD = 6b73a3367e6f34b07766eac0aedfbfbaff25eb5c +Tag = 7b73d93366a97fc41498f0498ee1a873 +FAIL + +Count = 8 +Key = 9c2a4280ec7ae34a4374c953af6d5f0d +IV = be +CT = 4c82cdeff54851907e2a7eaef7 +AAD = 2562dc00ac9b04db972dcdde24c89d4b60999d27 +Tag = 9fc3af656d3fe4e4cd63baacb3ea88b0 +PT = 12703d4e186cbbb172e274820a + +Count = 9 +Key = e0813af4659e3a64b94be17aaaaab1fa +IV = b4 +CT = 9a517fce177577992fc1d190ff +AAD = 36bd5a74535a51c5b3bb0e0755eb05f7f1475e84 +Tag = 69e00d44682db93b9a6d168740c9bba3 +PT = 5f605198c31768e86a750b2d10 + +Count = 10 +Key = 5b62d4a3ede6bb0eeaa8e3839a969605 +IV = 75 +CT = e81cd4acd1f6c559748cdfea8d +AAD = 249abb40136b68c60c28f9f42e77aeb8f0dc5356 +Tag = 59a4814e6e91be382d99aaf848e258b4 +FAIL + +Count = 11 +Key = b246c4f6426343c6372c11ab3f380390 +IV = 44 +CT = 3bc8654d856e7a5c99be34641c +AAD = b1176b6287f66a28c1710f487fb82f3b966f6a26 +Tag = 452be093b21b4dadc7241455cd2bf9c8 +FAIL + +Count = 12 +Key = 205ba6794e1562cf23e7da7273277c6f +IV = 5f +CT = 3bbee1d3304280fe45f843d481 +AAD = 1e5f149465514382286871afa3678d8f832978ff +Tag = ad880ea53fbb0128bb06e1de378f366c +FAIL + +Count = 13 +Key = 2de3e6e1e965f1ffe62896ff1aa80e8e +IV = c3 +CT = 2ae14f7801e1ee7d686ccdad0e +AAD = aae23a9be9829bbc3503a98f1b17c1d9613924e9 +Tag = e9210e9c065317033368d07a8dee120a +FAIL + +Count = 14 +Key = 276396e268679504808b9acd62371b6a +IV = f3 +CT = 003fb7f823cca46952ee5d2f84 +AAD = 689d9909e13c6cd73ad2eab5655ed123c0a11a38 +Tag = ec1e63ef449f4ce343497f82f48b4369 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 344c4bf9122c5ed00c7c21e682472242 +IV = bc +CT = 1e9c3a773b990d3910124ab637 +AAD = c3852ddc122b9ecaadd9194ef0706e0b126630bf +Tag = 3cd50528e539f46bcf5439da40ef79 +PT = 5f895e8a56bdc967daf607d977 + +Count = 1 +Key = b40841ad33092f338e8a3152f7886e6f +IV = 0f +CT = b7ac1b65753583259aaeabc57d +AAD = a1031f7862cb6297764a4dc4a4ae3b5a76bf289b +Tag = 8888e9adf1f252ba58ef8033ee9118 +PT = 865f2142fd9c8c453a0dd079bf + +Count = 2 +Key = f4b0fced0264e5062d3d2bf8cc940cde +IV = fa +CT = 540e013c945ed09e6051dc7f44 +AAD = 7f8e4d625957484a730654027e5421e29ebd465e +Tag = b7bdc0d8677d63af6228e9104b9eaa +PT = 73818ee76113419238dffb3092 + +Count = 3 +Key = ce8aeb940f392b258afd3abadf84086c +IV = 84 +CT = f11423b383483a9db9a70bff6e +AAD = f61faa841b61947982d64b9fad0770e81642fd64 +Tag = dc57f72a8e678e05514e07435bdc4d +FAIL + +Count = 4 +Key = 8d8dc2b150441b2ee3e0befa9de99593 +IV = 96 +CT = d45dfca4c4d0904257bfd27e97 +AAD = a0964fb9003645bf5c9b043a007efe7efd5e260b +Tag = 20f9c08f79c42ec67a816e18879db0 +FAIL + +Count = 5 +Key = 212a313846d0789831fa5923ec540f69 +IV = 82 +CT = 7b850813dcf19f1dae001e4e8e +AAD = b2af447c7100d67b93d77007a5a8318cbabc2b65 +Tag = 101f9f87692b945dd518bdeb33f356 +PT = 4ac800f846250c71be5fbeb89e + +Count = 6 +Key = 83f784f0112a36798601af7a070695fc +IV = 80 +CT = 0821769ed4c794e50dfe837456 +AAD = 7406b12cdec9c25f8c7c40b04d618cff84171cd7 +Tag = 05b0ab193bbcff619b21a270e69c93 +PT = 7795dd691f11b64d4636383433 + +Count = 7 +Key = a3ddadd7f4f99751728a079370684d52 +IV = aa +CT = 22a0620747ffc99fa8918713ac +AAD = d40cedbffc87017fad8fe5082891a4e38c2903f4 +Tag = 867621128ac32eacedd0cc551f96fb +PT = dc7933b12e8661bb9d5e0700cd + +Count = 8 +Key = a9f48650208feb3e00019171fb7a30ec +IV = 0d +CT = c2f3f7907c361f2df228f8a380 +AAD = f8bab68347ff27191ce6e60e0c5140e1bab4bfbc +Tag = df4c13cbec2b05b8c5926597bd3b40 +FAIL + +Count = 9 +Key = e8142820c46183cb50b4633951d3b1f8 +IV = 67 +CT = 1350eb9cec12917ba72fc0a1ff +AAD = 25ea681344fd1c53360f490bda73502403d7ce94 +Tag = 03c1f8648f2f806a7ba1e20e258e55 +FAIL + +Count = 10 +Key = 05c454046f7728112282c7596d7d87e1 +IV = 51 +CT = 7331f053c08c15e36b882787fc +AAD = f25546c5aebd0c5f1d76a71bab53e2f134d2750b +Tag = 864479707a27580efc193d8ae393cb +FAIL + +Count = 11 +Key = 8b6b06beefb29ac9bd1a5e13c94a6820 +IV = 45 +CT = d54128bc495ab67612164b7642 +AAD = 8237c37f38dd382add274dcd74a8a811705d20a4 +Tag = f9b64d5bd22742168d36045dcd0ca8 +FAIL + +Count = 12 +Key = 4fc4d5e7afe3ff4cd611f1da5b312336 +IV = b3 +CT = 6fd73b1b2c06ad4dbf529b440f +AAD = 973ac8f3cb14ec803b8aadc9fd5d52acd5659a43 +Tag = 6b4731d0299e188f2fb8d94819cd8e +PT = 622c303863d9bf23c30cc9caac + +Count = 13 +Key = 18f010fac8a1afacde18ce06af49cf9e +IV = ea +CT = f220f8cc8acb3eaf31084f7e84 +AAD = dc67dd0419c629d0a0c6f56a3ec06685141fb88c +Tag = 533609da195f9ff58daa21d0df4e17 +PT = fcefe34e0eeaac3127346e31a7 + +Count = 14 +Key = db6954f5182be1e842040bf6216c56ca +IV = b7 +CT = 4a930cadcb3f23089e881e013f +AAD = 06dc88c130ea77c0af74826cc1168b5db6d34d99 +Tag = a851b0fae1913aadeb7d9028bae7e1 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 73d796dda7cb6fe92b3d01cb1faa5209 +IV = 34 +CT = 031fd3edd36e96fabe81bb1b03 +AAD = 20f44333d45fda7b72386c6ffa78124ff18f4b63 +Tag = 9a271f7445218ce47a4a9bbebd48 +PT = ccd0ea2a6e4cd885335e9796b5 + +Count = 1 +Key = ce0164cbe65058f58611534cd0f9231d +IV = 72 +CT = e7d6b1094d2a7aa8739411a664 +AAD = eff9b6c7465c8acf2eab9052be7a41536d9c12e9 +Tag = afa25655866a634140d6460028cd +FAIL + +Count = 2 +Key = 99ffeb1b786149b2820aceff681531b8 +IV = 0a +CT = 88ba7e2f88d4c50561b213ca51 +AAD = 2d0f60270d68b4f7b99b1be7593e26387eecbeb6 +Tag = a3f8f41c19b7a0b1f60ebea998b8 +FAIL + +Count = 3 +Key = f149d60040fd3cdc1bf3d64fabd78df3 +IV = bd +CT = d8fb17933d87e6294a195f8608 +AAD = 0cf72770fece08db96c9168c7f0aaaae927a625a +Tag = 1fdb7f87021aba174c9ce5618366 +PT = 43aa503f98926ee18731c2cf2c + +Count = 4 +Key = e009041746eb2b40cfb566760df99f69 +IV = 5e +CT = 35c0e5c34a9d5f5038a25eb333 +AAD = 7d605ca1b0417bbd6469185a9b69dd8cdb46f177 +Tag = 273facb1155f8f31587b457df385 +FAIL + +Count = 5 +Key = bf431ab4c78316f700085da49ec34e86 +IV = cf +CT = bb8454193a0c8aa73fa2aaf32b +AAD = 01794909edf2a917a188c388cf007f9c777eb42a +Tag = 20d0852064ca81f2230c08640a9a +FAIL + +Count = 6 +Key = e2865f4576992e88c0bb68c44e2ab8d5 +IV = 1d +CT = 0c819d6de88e02cd682ac7484f +AAD = cc32e587ea5f28784c019e156fa95ba3212e36d4 +Tag = 08cea724f8815e1c6fa32a2bb8e3 +PT = 81cc71ba0af5868cd704470f62 + +Count = 7 +Key = 35b134fdfa78f272940d3e80c9c91ac2 +IV = be +CT = a7314bcce14705d322e3322761 +AAD = ba58f871cfdc95c13860ff577f1160575dfc4b5e +Tag = 8b805f1ced0ed5ec5c6204aded3a +PT = a4823a2db8aa1b7ff5d8e8a8ab + +Count = 8 +Key = 8e3ba64c8a134e78ceda9cac061906b1 +IV = c3 +CT = 089e403d450c76240b2d57107c +AAD = be93c14eb0d29fd2cd5317fe4c4cfe27e41e29ce +Tag = f146f3e1c71940a4e72b31f2e5fb +PT = 1beff514622f60b72f80631b4e + +Count = 9 +Key = d218187a1dc7548c7ced683d69eed82b +IV = d2 +CT = 978d55b94b1fd6254d11517069 +AAD = 48f192a2e078dd42b06575405003927889b5a1b7 +Tag = 7678642c62ea43aeb745a2709fd4 +FAIL + +Count = 10 +Key = fe662bfb162a454fc762276ee112b752 +IV = 1f +CT = 4e102894f11389471e42fd775a +AAD = 97b2c0e96f5c9645098b19c0057e6e7402cd97f0 +Tag = b5264808229345da4cb33fb3202b +FAIL + +Count = 11 +Key = de9c8cae1a83d106bba26c19ff9fb296 +IV = 0b +CT = a02a1a45c1ff4e9329468713ba +AAD = 70b01f9115dbc361f0427ad51381285baaf965f7 +Tag = 9d81ba93d68390a910a1c3f68cb6 +PT = c2fe45ee69a4307aa7f0bdde31 + +Count = 12 +Key = 4be4037ea4885372ade1d979077bdee8 +IV = 00 +CT = 6596d821e2566cb90cc24fb2ed +AAD = acbf4d3836c3437ac7a0e9d0a044549810897377 +Tag = 86baa286458fd31f17d22bde322a +PT = 443a48c5deef379622b9eb0b4b + +Count = 13 +Key = 5b346400a076773ee6fafc5ed94781ec +IV = 02 +CT = ef3587405c7c5ebb111bdd9543 +AAD = 52b05d154c665505b605520f62f1bdf3038f249f +Tag = 555b747f340645fee222315d9e66 +FAIL + +Count = 14 +Key = bd0c80a17a443f3cb3f7b2e3f561a810 +IV = 27 +CT = 67257531b18ce8ded7bd973569 +AAD = 89d3c5bf931903fd4d779251c32de6c9bd0e2506 +Tag = 924e85e6c81cfed70060b6a040bb +PT = b4037d1281a797ddef3232c497 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = bad590ccc77fe3c89123f3a481736138 +IV = af +CT = 0806a5bb4e7fb264c5e2be0638 +AAD = b52df7622a4203071c2e970ec7657263a665773a +Tag = 16c791f4ff3d0699c716091f93 +PT = 794d010af00a317def5154de22 + +Count = 1 +Key = baef79a955f32eac6a0fffdb30db6c98 +IV = df +CT = 358c56306b92c8fe8a75395392 +AAD = a5b4c7a5fab572e5749fccce4f616102cf73d410 +Tag = 764d0d37c18cdd921b3714f3be +FAIL + +Count = 2 +Key = 24fc228c4b5d4adfaaee7c332ea13b02 +IV = 8e +CT = f5df382df894ea3bbd7a56e1ff +AAD = b3a2bf9b6631c500a0f629107b02ff0dba64ec8c +Tag = 821ac22eaecfb63e628b3d2d18 +PT = cd18562dae756c489efee936b1 + +Count = 3 +Key = 1f4591f4d357290654bc09dc0518461e +IV = bd +CT = 42ecb28a5b61188993b5819489 +AAD = 9031911cd79df08686bd90d8ce1dbe1bbfc50833 +Tag = 5e2e0fe10fe8a52346ff1d47c0 +PT = 79ec4dfa4133e1f0bae9f81bf6 + +Count = 4 +Key = bcc3ebd456cbc3910708cd2848f00dea +IV = 96 +CT = 79c09c28dfe857cb1a96f626eb +AAD = 99ff254ddd9b941d10b3f68a45c1609c5ce66e8f +Tag = 7335511b195a53d24a24e99ba8 +PT = fab030ea50876e0a1e100ec625 + +Count = 5 +Key = 00485bed47dde5e47e3b242294b3f765 +IV = 05 +CT = 74eb9e52fe558529dd5ed466f5 +AAD = 803f14d22ae6458a9dd87a528c1bb46ef2a7f24e +Tag = d66a894c20f910bd1476b92d76 +PT = b320e2efd8c4b2165dfddeffdb + +Count = 6 +Key = 182786d9134e3445183fee500f603f2d +IV = 30 +CT = 53fb142a5c15717b462edd697d +AAD = f85f0d854480d4b0f733632a5ab6d89240e12ebb +Tag = 321bfa36e2ab89d180bdddc697 +FAIL + +Count = 7 +Key = c312a1697877b4e0dddd9853d959dbfe +IV = 7e +CT = 645588e969a83db1a152aaaab8 +AAD = c38d2b97f0decd7fe76cdca78f751ea1c06e1a0b +Tag = 1d568d7db191c3c2d5f3224179 +PT = 2224bb61a8234d7a40d69923e8 + +Count = 8 +Key = 012c4f3d650de713b5c3a8cce190cbe6 +IV = ba +CT = 6d4c64a43c88367c0e3d75ddf3 +AAD = 65ced2e5a2cd4c95a84239b7077d44cb3ce67bb7 +Tag = bcec1409e467babea3965b5fcc +PT = 3170a9c0abfd7c92aabf401e8a + +Count = 9 +Key = 9b482b84c32633157916f8c6948a6e01 +IV = 67 +CT = b8f2fe9eadc5354c84458cd339 +AAD = eaa43db3cc9e76ae921cf9d5649401c3aa22197b +Tag = 12b6423c121287b7e0584339d3 +PT = 1668c8da94768234fd77a3db5d + +Count = 10 +Key = 110941a71170c6c637806b2802221e61 +IV = df +CT = 740875e57024458e54aec9d345 +AAD = 6aaa84646889d8a78342ee2b82411115c3d492d6 +Tag = 31bcf5d0768ed1d53f36e06e96 +FAIL + +Count = 11 +Key = bda5494d22939a128383ea12b4b32fb3 +IV = 59 +CT = eeaa5b962cf9eabbbafe41883e +AAD = 8ca4536db8750d32ef83fb21ea7204ffb9f11ed3 +Tag = 1aae7b7b0da7d1a95a92853b37 +PT = 0f67e84e41d9765eafbb45389e + +Count = 12 +Key = fa5792b02a52a5ef7391f9359957c3b2 +IV = 5d +CT = 9ed582bcec58c190a9dc6e5f3d +AAD = c535f4d305f9cd7c7b6d89048556b8b09b1c5977 +Tag = a56ea642602b12dbf73f035ca8 +PT = 7efe00fa8661bfb96eeaab3f27 + +Count = 13 +Key = c1d4f8a12f5f3253dc8dea7e8fe6b132 +IV = 29 +CT = 6d4dd118d4ddbff4e01e88f418 +AAD = 5cb56a01b11cfe4708a8e285d726fe1551c51058 +Tag = 09fb0d9253ba1f0165f23e3480 +FAIL + +Count = 14 +Key = 5389fceb89af07150bc6669234886b7c +IV = fc +CT = 10a4805f700ae036b504bd2239 +AAD = ce90a4a2679a93c5da40f3b2ec6bb0ed183b9301 +Tag = 86909348a5c6f6429d32b8d60b +PT = 903595606c717e16b1f202304b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = ea5d372c66bbc0aaed9633f600a133b0 +IV = cb +CT = e1fb6161c43145f6f91158648a +AAD = 4a962b3a4e60c72406f14bf7ef4b26b605571892 +Tag = 5d270484ffa7e06431d0048b +FAIL + +Count = 1 +Key = a9b206e48114b6aba83f267dc8b12270 +IV = 99 +CT = 49263c0674ccfbc9aa8294a44f +AAD = 076104c07d9d62513c13479c3e44464376c1671e +Tag = 3093c0135142273f7352f370 +FAIL + +Count = 2 +Key = 7a2b66f23f27bda60b291fb8e491aa78 +IV = 61 +CT = 47c3f7dd1ca37a87f8ea349f3f +AAD = ac2671cc6b957809dbd22fa84e8366ef50204768 +Tag = 4e84f426c2e30d7e5ba57df9 +PT = 4f83a9967831fd61da4eea1b05 + +Count = 3 +Key = 1835b8558ef75591c7332f9ae17bc22f +IV = c8 +CT = 1fea3a24319be628f4e6e4040d +AAD = 6eb66486282d68fbdfbaf4c5d81cde91a5d813a8 +Tag = 83a83980e6e6e9051b9b2101 +PT = 1c6fb06093bec2870a588a206b + +Count = 4 +Key = 9deb141b2e56ed16c4bdd04785e1e175 +IV = aa +CT = 39366f4ebb2f835ef5bb598c2f +AAD = 8ac19b12de89e64c4966f2c0fd033f50bb4a3db4 +Tag = 8ece91efb3a85290f9359df3 +FAIL + +Count = 5 +Key = 45d7f8754bd62174cd787f3f43639ff0 +IV = f0 +CT = 7b46b55bc54e2cf3b21a69eccf +AAD = 7c74a99c42bd4992f8ae1398f4edfe2649f19ec4 +Tag = 1bfed09eabed0ecd722c04cf +PT = c2419aaf73c54a114b61453b12 + +Count = 6 +Key = 42d5e320c40ca12658354496fc901836 +IV = aa +CT = 9cffb8d62ca6d88d3e0e25e63d +AAD = 27477b8f2eb999e2364571b3708c0d34fff4778c +Tag = 88a2113d64ad074791eeea97 +FAIL + +Count = 7 +Key = a5ff6f6bc4a75843217c4af135ee90b5 +IV = 42 +CT = fa0bc1d184b84a2671cd36c0c8 +AAD = 2cb9278f05b8914149c5d9f21a29d1711ad91e75 +Tag = 21ff4e328410d02361a4a10e +FAIL + +Count = 8 +Key = a42c5ed6281e9541d09d052bb567391c +IV = 5f +CT = 49950ac3bce92738fe6d6af2dc +AAD = debebaa907e194f0d9933d47b5747e8c80a1a2ae +Tag = 7142104948c0dcdaf6a1b12e +PT = b9a86fb6f7e2a25ff4ad64b37a + +Count = 9 +Key = 3edd86671d683720d427043dfc7e07b9 +IV = 8a +CT = ed698787b209fd80a926a8e0a5 +AAD = 807e7331118b967e6cebff85d0e31d7bb6588c12 +Tag = 081ccc806a0a0fe97168c095 +PT = 3fc2dadb022568b4352b03f15a + +Count = 10 +Key = 3b31e3cde87866d7f77b24dea3d93b7d +IV = 5b +CT = 5cc9f057c0032ac3d29280f22e +AAD = 159a7b9e3d6fa3f260072541f15126fa20bbbfcb +Tag = b73f2a3f46e958a085241f2e +FAIL + +Count = 11 +Key = ce68bb76d47c256b407ff685d794a157 +IV = ae +CT = 5892867969e9a6a9012048e590 +AAD = a5538a00e0294aa4a50aaa249db475dd82b68fc2 +Tag = da4e146f95a6fd827a6c7c77 +PT = f1238109d2a739d81232783dbd + +Count = 12 +Key = f2800cf3320aa05b0f35df6b06ee3490 +IV = 3b +CT = bdd0201c4d5cec042d72fb312f +AAD = 3490131bf34541655e3af6b53f4213900f78718e +Tag = 27524daaf374ec7b7f8bcfee +FAIL + +Count = 13 +Key = df06c824d89c56d68be334f36df0271b +IV = 8c +CT = e51deb8a2e61678b8d3a19824d +AAD = 688df1d6a428e12128b10527bfd9447f74e3e45d +Tag = 0d9b20f83daf54604d91d40a +PT = 22b8205c83d38c597151a3b160 + +Count = 14 +Key = 3d4bf49545ef14f1b98e16a57b0bcc75 +IV = be +CT = 8ff56bf98c37987fa4a8749de1 +AAD = 600f5d992670133009cc4856c6e7796106b46786 +Tag = 11cde6146bb795c4c6022b6c +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = f7e1263a9191e8306769747a48351a64 +IV = 7d +CT = 26ec56a802cea414b0361b1d0e +AAD = e9616a5bfaa07d228f79475d268f64c8b5286289 +Tag = 1dbf1ebc621676d0 +PT = 8f433d29877459aed89cce20f8 + +Count = 1 +Key = b3c7af213ebdd277544f304f85fb7561 +IV = ad +CT = e1be8a3c090451c80ad89d2101 +AAD = 8934c340fd45f55260b54700e6c069fc2ca1be5f +Tag = 364c6abe11356660 +FAIL + +Count = 2 +Key = c5cb7a16dfc9dcf6502c1e3e2b1bb43e +IV = 90 +CT = eaa912161fb195d5a0cf6bd206 +AAD = 33a55c35823acf8c5f5f7ed8fe056b8be871aeca +Tag = 6dee45dfaf112db8 +FAIL + +Count = 3 +Key = 3d63866f1b82f5171d33f16364e286dc +IV = 3e +CT = 54a471594e7bca743aeb401095 +AAD = 21431a5fe70b455879af2a0f4a39687376cdc7e8 +Tag = 643382011b685603 +FAIL + +Count = 4 +Key = d4cc6c425dea3111cec7bb5f6502507c +IV = 18 +CT = c126c6a62b5a4eaa7f549bd795 +AAD = e935272211cb1e32af14d63e6bc7f1f20542e654 +Tag = e9001b6e76c7d8d1 +FAIL + +Count = 5 +Key = f1672e8c73b86368a560f02b721728b1 +IV = 0e +CT = 072136e2b14b6449963eba5175 +AAD = 2d084de56a453c7a606d7dc2f1e02f4295f2e0a2 +Tag = 7a42f84bd9b9128c +FAIL + +Count = 6 +Key = 20d0dea4f258f04861a825b9a678cb99 +IV = 3e +CT = e814fbd7bec59143e2a4b5888d +AAD = 29e06994907e49b53d7280c5e7493488b6a7dc64 +Tag = 5869bf33ff2fd1a1 +PT = 740c816ab28659d778261c6f16 + +Count = 7 +Key = 0c16feb472f38c165261ece9b566e3db +IV = 64 +CT = bca5d77dac75fd28a42ad1bbca +AAD = 3ab06fe35a6d8152c689fda6d5c28c79df613dff +Tag = 3cdd355de9d873ad +PT = f363ea3a4d76c45b744892be33 + +Count = 8 +Key = 0568285fd4796c8a47af41011ce0cf8c +IV = 00 +CT = e2d3bfad3fde16cd8f532659cb +AAD = 038afc54775aad640e041a25fd1e799686bac77e +Tag = e46da3e25832fe41 +FAIL + +Count = 9 +Key = 6610d6c4124bf11e36221cdfc14d437f +IV = bc +CT = f49bbef37dc55c19e9c333ca7f +AAD = a43df722005da5e90e78cf8e691cbf288f31a0b4 +Tag = 1621fafdc3462fbc +FAIL + +Count = 10 +Key = ea14071c0f1fd96766c025bf5ccd69e5 +IV = 70 +CT = 480cd56dd230df778ec2bbc781 +AAD = 8d4dcf25c45eb66a52ec12984279e74f408b531b +Tag = 22ff2877d4b96479 +PT = 68538b07626a77c10cec08d6c7 + +Count = 11 +Key = cd94924fcd020f787c91d600041b5658 +IV = ca +CT = e5aec2f16977283f036d7f192a +AAD = 8a77e32b407cbe24c521325d78297fb84d15eb9f +Tag = d514a662682b84ff +FAIL + +Count = 12 +Key = 99f62186821eb7e77dd53f160ecaccb0 +IV = 09 +CT = 26881d6a479b712d8db32d4ca8 +AAD = cb085d3702d7e569d91c7d1350028a0ce3a9c0e4 +Tag = 302437fe58c7ffbc +FAIL + +Count = 13 +Key = e36914f00c3eec574b5697255dbb5030 +IV = 3d +CT = 535f715739c7c235853c12978d +AAD = a0a4451b42dc3ce92039ff4863ac18bf2450602d +Tag = afd11ec69d9ee84f +PT = 1c734675410d0cf6147080acdd + +Count = 14 +Key = b25cf682eeaeccf1b93804a41a03117e +IV = 11 +CT = cdbfa2a0164f8c588fed953ea8 +AAD = 62e27c57d958213b4b0576201a15a55a40666607 +Tag = 98d8bbe008a0dc7f +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 1ee1f3c54b3e026ad6757ebc552dbe78 +IV = c2 +CT = 89df24fd18d59f89f52cc30e17 +AAD = 6ddb776860a9a3f5e6d05bd006089130eaf21d7f +Tag = 94b4a061 +PT = dc7179cd0845a7890ce07bf984 + +Count = 1 +Key = 72c8f2771867a9c76c794db9b61c4e23 +IV = 13 +CT = dd6593cd46c9fb5ed723160b9b +AAD = 4fa13637c7f256c1f0aef02fb862b286e0a1379c +Tag = 55df902a +PT = d8e8113ee0fa6bed312b3d148d + +Count = 2 +Key = 80bea2252333793276d790290aad391a +IV = b3 +CT = 98880dc1d43ff05b2264ee41c9 +AAD = 3c1685f037566f004ee3ffb0d64a60213eea6809 +Tag = bc64986d +FAIL + +Count = 3 +Key = 180059334c7c433fa794c8a779c739e5 +IV = 58 +CT = 47eda59722157e574c625e1bd4 +AAD = c5a775fbd7e994027132153482f15b0555964586 +Tag = 3b2528ce +PT = cf303ff1c142b7fc69e80e25cb + +Count = 4 +Key = 4138ea3679d3529b86a77f26449e65e7 +IV = f7 +CT = 55e290a12160d5303c4256acc8 +AAD = 1a34060fbbd4ff238e77a1b7744ec633af88a6f5 +Tag = 140c8d2b +FAIL + +Count = 5 +Key = 2219e3087ba62deab20591f79295808b +IV = 3b +CT = 63af8f7b308b60a702f372801a +AAD = 91dd8315329a015affd9126e3bcb7c0865d9b1f3 +Tag = 86b39f69 +FAIL + +Count = 6 +Key = 81c87562ee321f829101bab75ff9ddd1 +IV = fd +CT = 4f1edce771ce1d41771a5b68d6 +AAD = 636366087365ba07ef03cf83bab5a52a9ce0d3d8 +Tag = cd90a4a5 +FAIL + +Count = 7 +Key = f305b5e213541c3b57077cdcdfd105a4 +IV = 7b +CT = 98fbe0ff43856f249ab2a60136 +AAD = 263a45a48ef38e992433a9e1d86f99eaf443b3d8 +Tag = 44baa4c6 +PT = fdac640ecfcadf5fcfda9da2c6 + +Count = 8 +Key = 3f51b807c060700815758a6f7e9def55 +IV = 58 +CT = cf77a0a928f60d13e16788a9de +AAD = 0cc640f1beaee384cde33771c5bbedae56096982 +Tag = 5af4a3ca +FAIL + +Count = 9 +Key = 388a60738cfeb61c0516df3c8e67eb95 +IV = db +CT = 9d965861e43ff77e2582380737 +AAD = 1451d46040acd44f668c9614512877bec0b6cbbf +Tag = eda45e0e +PT = bd61d4214a659dafaec3559ac9 + +Count = 10 +Key = e5e7811284c611e51a69bdb69ab10e49 +IV = b6 +CT = 0f1bd4c61600bb72bb385dd63b +AAD = 038725c2586c878b99a6fad263f8a74a7d766c19 +Tag = e523f254 +FAIL + +Count = 11 +Key = 774f9d9889e5cfaa3d460b0b46887a90 +IV = 8f +CT = 5786e06ec557232228701d56ea +AAD = e47c8337db24f530fe0b1479a9c5a1b9f227067a +Tag = 75fa8427 +PT = 5b4ae8d713203ccf784005e284 + +Count = 12 +Key = 8f8b5fb24842db3a073b8c64f4676401 +IV = 9c +CT = c1d606875412dd84ac16dd9d17 +AAD = 6995c36040ba877622d00367999cdb0836eddff3 +Tag = 740c8381 +FAIL + +Count = 13 +Key = 38890b2a77ac77acdacbce915b35e62f +IV = a1 +CT = 8fb478c3dbec2af497c8a615e6 +AAD = 9678e9931c3602cd139c96304cd19159762eb391 +Tag = ab604038 +FAIL + +Count = 14 +Key = 3bb888ed9b278c85d4d3703afab355a9 +IV = ff +CT = 7cdaf3e2b11dbf1cc5756e8ed5 +AAD = 75a1f92480c577f0012e8a2c7f17e29d6f70684a +Tag = 9dd42084 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 01914b58a03d116c8c712e7a486ab526 +IV = 6e +CT = aef5c564776eda65a31f619558 +AAD = 73033a751232fcee225a6bdeb7ea3004a270a306a3e316c308eec07ef25ecb432a003b5c5864d53e9d20b3e2e6572fe0 +Tag = f0b3b71266a8f350965683aaec4fc819 +FAIL + +Count = 1 +Key = b4ba34f40a44af49aabb5e8fb88a6984 +IV = 5f +CT = f688170a37903b50389d72b716 +AAD = 5ab11c1e7a07120c3ab43946029b381c98234edc5c619bf93909743e6713eebd837321cf815503f8e031558515675dc7 +Tag = fc1307783aeaf181c24d306bb56cbc98 +FAIL + +Count = 2 +Key = 1bf368330aeb45c25abbbacc004ffaa2 +IV = 81 +CT = 44905dd34d7e5acfa2777c9d92 +AAD = f45a8b66b8fb7dce72f689e8bb728596793bf6eeb26ce3174a18b998e00c76fd30c9d46bcee76a00b8f539798ce05eba +Tag = ab9e8ca18f404f0e01d72cb7ed1ffa64 +PT = f6c1d95cbebde414ce3bef3ebf + +Count = 3 +Key = 090e4fbe50c6c58e8e56a33f27d7096d +IV = 92 +CT = 92e89441eb316d2575fc269d71 +AAD = 9fda529207bddbdc194dc1b07f12d2016f20b12216cd9e868f35e2cd1b9ac19a16b6b4460f371bb6c0a284538cce909c +Tag = e58f5a2624b6781c94c87e1bf38d1f66 +PT = 0eab069e07c36d5aee901fe07e + +Count = 4 +Key = 02316f0750a88eeb139709ab71257881 +IV = 44 +CT = 679b96be6b557fcdad1d576833 +AAD = 79767deb877145a9ceb1eeb063ac41a97adba67f4eb675776e3a781ee765c94ca7e00b8ee45ce1424f4b6fbdc9801a67 +Tag = d84a6c2c8144fd3f2204a7806f5e06d5 +PT = 8abf55dff3dbd5ae5d54fd6ca7 + +Count = 5 +Key = 0d76a88ecf4ad2fab53b18030d011fef +IV = 97 +CT = 314c1a68e88abcc2337b0d6476 +AAD = e8922a80505b9ae0b38b23844144999d47ae1a1f6272c4405c954f087db4ed4a8e08bf8c8cee2cda1817617bb85cd170 +Tag = 55356028f1190cc0581571236d130fa5 +FAIL + +Count = 6 +Key = 82eb70ea9aad5a303e5f3f16fca15f07 +IV = fc +CT = 42e14a010df2cccd5bc434e8cd +AAD = a96625b33baba517c3a90fb7a1d4361603ba190df70f6bb4f14165b7fb7ee66d4892f4582ac7b523e3ca57545a77c5b3 +Tag = b5d3be429a68758833e3168fdeea36bd +PT = 85fd23536ec217d3579cb05164 + +Count = 7 +Key = 51a4f9d1ff7157c59675c2741a6a31a9 +IV = 00 +CT = 259cd8cead641ffc19b66e6c8f +AAD = 7c19d2ec7e0bf586e096b75082cc6bbef1593542b4c0f18763f477b26938294e6d450867f7974b31204b8fcfdf74efe4 +Tag = 796c2aafd6a0bc941e983317f2a25d49 +FAIL + +Count = 8 +Key = c32919a1ec7c91490a1b93e309067aa8 +IV = 5c +CT = b51d0d7e6c92e349bab5e67632 +AAD = 99741ea7fccbfaf9798cc4395fe4721003dfde21fbe0c57af42710707c11142c40e790e92b4a9dc312120b5adb532cd1 +Tag = 6d38add5ddf339fde4e87706aff0f3d3 +FAIL + +Count = 9 +Key = 5e7709524474167905eab6cda9fe0a2c +IV = f5 +CT = 1e8429efd2dbae20ac0e5bce2e +AAD = 072bf43f13d3eed3b79cdc991a702ebdc896b69f86c9543831a36a18f6562ef309a45a2b8798b51aa7f8c84af80f01cf +Tag = 66f21323825af553ba8681d347883199 +PT = 5aa34a0b76e656d50e7e0105bf + +Count = 10 +Key = a27207069cc4e78d4f9a8dc5e258603b +IV = 80 +CT = 63904f2199c0401e3fc33a87e3 +AAD = 784f2b9fbae1e5318ed0eca03643b0b4d8258f10cb78644815ccdb991b22db66d8f291eb6f7d50ffb064fb80905d1e54 +Tag = c74794ef6d529af1798661e453e45437 +FAIL + +Count = 11 +Key = 29ef9b5ac0d4a25304c8bcdf4ab36b05 +IV = a4 +CT = bb11c8587c3f6c118a0cc23a93 +AAD = f3b1cddeae931c822e111c6f5b924f1514ee1669de72f18a570d13ae9a1fee0fe599a3fb924522168993a61093447e14 +Tag = 6f39d073fc2223ae935161038ae97ddd +PT = 2cb1b8f03367ebab3c6cb7c0f5 + +Count = 12 +Key = 03760223ec00af3e4599e752286534d1 +IV = a5 +CT = 7c84307c5452bc153e415c2bb6 +AAD = 0d535a6495a62a309e0cca460eff8cecd8b8656c32e8ee9ae94c2d1f2f0cd820cef3334a6e490f1a4d3389de9f1fead6 +Tag = 8229dc9835cb233e024a8577e0d0c860 +PT = eb0916da438438ab34de4c3d71 + +Count = 13 +Key = d88d8b6bd711e6b5b0f943ebe0a7eaac +IV = 21 +CT = d0123f6ad255956d54c1ef2d4b +AAD = 101867b8f430e88eabcbe0118e6153f5317102038000faf59a43bb77de0a3a58440dd5003696c2cd5fa32323fb6909c6 +Tag = 1260cf7b4e39c1fbaed80f43a349bf68 +FAIL + +Count = 14 +Key = fbf538da582e3eab42f05b7ddd8ed850 +IV = 53 +CT = 67ebdb748ba401982b60310747 +AAD = a76cb92fc3417d7cdd9a6b0664318d3bd57a36728a4766f43aea26dfeb8d12e2a2017fe4bb02a2bba61dc9497dafaf72 +Tag = 42dd3fa3364e9c42eb3a9e3d57bea192 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 72473de5a4953eeaf6419dc8f402657e +IV = ac +CT = 8748a4b22d73d73cb9cab7fdcd +AAD = 8e6a9e77352722a8a7313a45fa16660e6052e62a5b81eec75c2764261ac68b7e428756646b20656d528215e9f3671452 +Tag = 4ae67812c7b575b23891f5789945da +FAIL + +Count = 1 +Key = 4edaf1e7c72147225c8d8874293baa2d +IV = 73 +CT = e8f6530ec2cf52febcab9bf24c +AAD = 4360f32338e08aa5e95e4a1949a005351d0d947166278ea653bb6bb3360f21bd8065008148e0fccdd399f7d68fb31f43 +Tag = abcd4717e833de3d498c3930b7aa7a +FAIL + +Count = 2 +Key = 32873fa532d1d294c645c9073627e722 +IV = 03 +CT = eac5c1577158b4eccf6a315418 +AAD = 245e7620251b9ab732aa078991b56860ad652e167d38a18aad6efc7cf9ef5d88e187ef22bf2e6e01fef5b30782090dca +Tag = 058fb50a16fa258f7608d8e1140b56 +PT = b159f8b62a66ded34ac111e081 + +Count = 3 +Key = 5da72bbe0be75bb4897d74f84005d918 +IV = 7c +CT = 4a29cdea3bfa4f72d32e061173 +AAD = b63bef35a8edb9d17fed0bda06fced755b2f0e32a16a5a46e90475509e4e7c46519afc423713d11d72b7ec2d11fcf3e9 +Tag = 0dd16f81fe80711d2926a30aea9d49 +PT = 76903bfb9eada5d87314a7fe18 + +Count = 4 +Key = 99fb55724af6bc3af09fd7f0db7998c5 +IV = 01 +CT = 18321e1fd757898585a5b31889 +AAD = d14a47003ffa3fd0435e331182f62205d9ea89979e539b656163c31eed07a5fc9169730ced656a3b245c315d6912e2de +Tag = 4f56bc2fbf8ca0b55a176f1d52b8db +PT = 56e6645f76d4c2418373e1399f + +Count = 5 +Key = b233626014a0cf65a7c6021a47e5b27f +IV = 18 +CT = 1127aa371cf9450fa1343767ff +AAD = 84ff4d6e0a2c4a446b0f04d3285167e338c9f97a383f1f4fd0ab07db2c671730f8ef64c39de8c9eeb938dcb5f6eff3e0 +Tag = fad03807e778540fc2ea40d283093a +PT = 5a046ecc38f052f8819972399e + +Count = 6 +Key = 34bd8695cf07c19a5374706f2e05d02a +IV = d9 +CT = db404b09520512fa8d0db32655 +AAD = bd2e8bad22b5e814ff79e29bddecfa55af6daa5193a993cb7c010c6ea0ea9d4f0ae2dd863579af924ad6efb6864f95f0 +Tag = a6296114a5926aeb3c8f8a93e6c21c +FAIL + +Count = 7 +Key = f94fbbcf6dc7ad125b3c29fc877978f5 +IV = cb +CT = a109e5d12f5ee2decd5fd96173 +AAD = acf6316319ad4da1c72113fcfbcc0633fc88a1f8fe933c9097d51aefa8fef36300e19cb724a2ae62143efb8e2cd68e17 +Tag = f561cc30f55a46abd5084fd40052c8 +FAIL + +Count = 8 +Key = 283033844b645c0233717294268e0f73 +IV = 09 +CT = 4b91ef6bf33c60041472dafbd1 +AAD = 56b0fb68ecde518119fd7b18ea3096ee77bc265eb436fcc48fe8027614f90a7b12e971f48e0eccecfb9df30e065419ac +Tag = b39460860377d76d61c122cbfc2eff +FAIL + +Count = 9 +Key = 1f71ed2b702f0a4c05f0fe329473f58f +IV = 78 +CT = 746464bc5b26e936ade70a3be5 +AAD = 3d17ec61d2eba9c4d2a848c4b4dde58cdcb0cadad8618503fdc8b7831da5262a672d7f28a19e7ccc1781d1ad3c3d0e56 +Tag = cdcc7995815f3f9c69d16d7ce18a82 +FAIL + +Count = 10 +Key = 97815b176b969817fdee616390557f1f +IV = 05 +CT = 17020688044a4aa91bf2da7510 +AAD = 94ab364ee8fc09e4ddfc9bef0441969e3df1ec6fc49d5abf8d548e3f0c90106743860a06a90d97eaae09ef46bc7b51a8 +Tag = c660cec6f2a44d3ad5dd56354f7f8d +PT = 611b18e531fb505bfbae019b9e + +Count = 11 +Key = 76c740d01bdb904e506e6ac51706f660 +IV = 49 +CT = 86163f98832c3e560c5651f1f4 +AAD = 63126abc1fbeaa5e7c53e33b4dec8a4b99c0351becfb95348bcf7feb50ca75b812325c941ca15ca248874bb17a30577b +Tag = cc3fa53309a6dccb19e1cdf9fbd092 +PT = cbb39cd70b9f4d93ae22a332ea + +Count = 12 +Key = cc87716e805a278b6faf0b3a2494f59d +IV = 84 +CT = d7d712e01f38ec229812ab011c +AAD = 52e78608950baf7a72c0c326a73b120dc39d20daae30197641c3ea097c803aec437cdc102e993e385f53201da028f7bb +Tag = ab789d70c6ff1ddf5b852721620ebd +FAIL + +Count = 13 +Key = 09363ba669a20c052d604a6d5feea1b5 +IV = 49 +CT = b37117edb595d545d45c85899b +AAD = 057c4dcf6a469104109133232ec2eb89575ef3df07763cda87935374654f48e61bb29dc54147bc229861b57f4e0926b6 +Tag = 021285a4a3a04d73ff4d544dff0809 +FAIL + +Count = 14 +Key = e26a77bd4b89435bc264d3d89434a8b3 +IV = 7c +CT = b6a6f3b9f30057060e9c1611f7 +AAD = 3170158dde1b4bad3f94370d649a1025f447206b00ee7573534722fbb4751973d3a37db0720f130f10d2ed904ef3e3c8 +Tag = a51f0c50263d65852f7767743d84b9 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 6ce2154613edff798cfc9767a6e698fc +IV = c2 +CT = 070cfe80e06a4887fca6a0bc11 +AAD = 33ec87d37eeff878b746f5e32e7fac94a8fd21ddc77ba2a4ba81176c20a78d4980c55a9937531017d23c9ee45c02b7f8 +Tag = dbc38fc81d67660cf442f180ffc8 +FAIL + +Count = 1 +Key = c610594f042f5a6d1be0d035a53e6c39 +IV = 1c +CT = 5d04f14de59e97248b2de41e8a +AAD = 5985de1f1553f30d7fa13a978e8ad59428e0beca566df369b2f3f0e330618ab385f3ce0d834c0c233509e7839fd31ff2 +Tag = 3da68accf7363f5a6b8d4fb227d6 +FAIL + +Count = 2 +Key = 09b9feb7c35d394682d7c7acd935190d +IV = 19 +CT = 0e8e6c1d64a6e7072d567104c1 +AAD = 6378998cacaff7d81b4f2fc1c6866b377d71da7db62ea51195766b559d1a60a383812b59fe89d1c176e14d982bb083fb +Tag = 871b1f14d83a204cfb6400483b21 +FAIL + +Count = 3 +Key = 5d7d4d99c489c4e468aa248ead7c4d29 +IV = c1 +CT = 6c3acff7f1ba9cf8688205f7e2 +AAD = 9b00ce60ae229ef19770cea1415512c94d759bc474ab31867aa7e0af95239f543b887e96fe2bdd9d8b0f12a1d6c71556 +Tag = 7de1e1b3702c77c0903129e0c6cc +FAIL + +Count = 4 +Key = f50c460e85530ce17f960929d86d98de +IV = 4a +CT = c2cbf70eb845c5057c26450221 +AAD = be9f279ffc396c4b948ac6fa8a90e081310e2c0eaddd966efbc089a0d9839ef2b0fe698416f8b155d65f546d4d108528 +Tag = f35a0e0dc6ff6b53e441a0c2ce48 +PT = 28d7c8493593106489bf69e2ef + +Count = 5 +Key = 4f86a46e943d45248d4f7b157eab460a +IV = 92 +CT = f96b74c92ab749a61d1553449c +AAD = d0a2f65afa8b7af588b3c3d5ce1aa5a2bd98492c407b5e1c2067ae481542a19f3b7097240086332e963cea2a64621a70 +Tag = b06c0c32f71d9e9829bc8868c086 +FAIL + +Count = 6 +Key = 72b7a8edb6db942692e970880a6dc782 +IV = e4 +CT = 9fccf886a350c8c70d6f7caa88 +AAD = 3b7aff2720aa4329b462599930d451b613fcd785e786d7e8aafe15a66e59346011c63bfec9f3dbbafe06efb3c65196b3 +Tag = 008c69cc8521660b3124c4c91a35 +PT = b4cafbabbc0c316dcb7b2d7b14 + +Count = 7 +Key = 866ed80f5bb8a4631e2db116ad323d6b +IV = 26 +CT = abf3406b12afbe3ee68b2cb6ce +AAD = 0dc68c7c4ea6970e05a489b81f49e51fd03d8266ee1dd226e7ce252d167ba46caf3c9adb62088572d9d413500e2096d7 +Tag = c3d40c960d81b3748f75ad4b909f +FAIL + +Count = 8 +Key = dacc6db9f269d6a41c13c23fbf4a0bfd +IV = fd +CT = c22c94ffb023ac8922f348ec3a +AAD = 379587c6b678e0acbc1f5153be697a584746938ccbd423887c70c7021df2a47467b26c12dc437e35a057232be47f74a2 +Tag = 57179ef20cd96a4c73e3b3350531 +FAIL + +Count = 9 +Key = 83c9cb9881f92fb4510436d8f0124be0 +IV = 05 +CT = a39cbe52fad26b494d9dc4cbb8 +AAD = a928da9961b163b85d0c0907a33ea0a2a398710f34473e6ab264504d259827b6a1ede6d384be8b6957110acac1d1f48d +Tag = 9c681752dbe93487413c6f501c7b +FAIL + +Count = 10 +Key = b1042b7bc4a98af3c543453bb79b30ae +IV = 70 +CT = faace3d4daa2b504bb6fbe97b2 +AAD = da414f724191f25eb4f794de9043671fc38f9edfa97bcbba404b272c3c5bd1816a4d6843fe7dd2d4f63307f1e1cdf634 +Tag = c07873c8308e85e639359270c66b +FAIL + +Count = 11 +Key = 6fcae3315129d26214caa056f25fdd1a +IV = b8 +CT = 70b22d676b39f00468fd0744a3 +AAD = 3e7bc78c209527bfeb190c74564eaf6efa47e2417577c4f527f53950e9af3714c0ff9a2f6f50e75eb53776719a49f8de +Tag = 5e3b165d3b29ed3a057770c7750d +PT = bf78708c0a394d12b5ccc89d3c + +Count = 12 +Key = 42e6489719cffec39b4ccefbf63ba865 +IV = d9 +CT = 4d19cdafb65cc91ce16902a307 +AAD = b764d2fc9ae1fde40872a8949e1e27e5555924d791347bf30a1bbeb437e1fcca925589d604a149b4cdf635ee3366ccd0 +Tag = 621964be8135a0a3fac218e16e34 +PT = aedaabcc00d2c3978730104a9e + +Count = 13 +Key = 9bc7c1e1931ab7f26562b32878e95133 +IV = a6 +CT = 92272bd204abf6824087cdd38d +AAD = 083702453edab21cd26432f309432273514d91726387e46fc6dd8e1f476d7d45f5ca10d1ac98351f6211f8f96bb339f8 +Tag = 598400bda67cd8bd4fe1beb2f155 +PT = 4d660a58d362d203c3a1e95499 + +Count = 14 +Key = f6f4f42166140eb28e5abaeea5c058b8 +IV = 47 +CT = c46e84d50098b548f9051b61a8 +AAD = cddccf166d4d0dd189833066a9039fb9c220337ac290dc3f64f721b3bd023e965483b6161fceb42aa7c9c7458efcf58b +Tag = df115b115e2d67e5b24202fa91e0 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 8e9948b8f446a5ca4438cc51325da3e6 +IV = 85 +CT = 53959cea478116bac30ba3f527 +AAD = 8a0883b64933c3308a10a1a7b5579f2427cc4500c64dee73deff8a88bfa989a63b6b41dfd77e282a19dfe4585172f14a +Tag = 713a767b07845fb3c2a60177f1 +PT = c4d0b5517f1740dff013123847 + +Count = 1 +Key = aef0c7e5640f51684cc154644a71ae99 +IV = c3 +CT = 90778dbc35ada26b512ea816ec +AAD = b285125b11616e74e800c8c0bfd8d2379e88f17b0b845baad7afa633e0013fc32d8cf6eb4bef720fd646901272d4f882 +Tag = c02d312bb3a145cefadfa627df +FAIL + +Count = 2 +Key = 62daf4ba9b7de9b46bceb71b2ab24d99 +IV = 20 +CT = b03293a3b760a177ad1f05b448 +AAD = 72b6e0cecb760da211979ce883e170515caf3a78c3118cb58646e72e914a7f75a7ae90c6822a9fa177a824c573ea211b +Tag = 9ac5bb834f1ed7132e885d7622 +PT = 235ceef2f572dfd8e8a4a9d051 + +Count = 3 +Key = 986981b6b796091156da38f347c2fbbf +IV = 7f +CT = 823dce2bb7566fab816f5bb295 +AAD = c294a18f82f9f00297f27035dfd3fd2adb0151c62fd10fbd66a6155caf61545f4bda200e37a178529cf4ba7561bd2ff6 +Tag = 81db7f6033eae9e80a562a651f +FAIL + +Count = 4 +Key = bfc427fc78700d8bc7ee05fd49de0872 +IV = 40 +CT = 77f9da9154681795d57017d1d9 +AAD = 1ba8f1f6b6ebada382ec3d3ea092d87ad5d54c48460c3add71927dd923ce538d27e16cc16fccd4a6c507b11bac0ff560 +Tag = ebd303bf3c6df31e9e0e902909 +PT = 7c798b5625b4f2de00845f3721 + +Count = 5 +Key = cb9e4e70d86b42a18d1cfc02f90a4f0f +IV = 45 +CT = e51a26497ba1ba940dfee259e4 +AAD = 09ff0d490f6c9e5f89d79ca14874791ae41963f450123d91854f7de5122ae5935ef4d30829e7c999438b45300e9a7864 +Tag = 66a46a307946fcf77cdd96a552 +FAIL + +Count = 6 +Key = bb244830a7bc39a62c2c090e5bfc2d10 +IV = 6c +CT = d09f42772849bfc16f9e557f92 +AAD = 7dcef317d3534c02e98dced9a963adf7b7e1070906d0742fcfc09f5291519c447257975e56bcb1f00b40e3b0583a75c8 +Tag = b53850efc4a2ce237d44138fb8 +PT = 2e5ba6255816e0e4891bdee68c + +Count = 7 +Key = 8a5e4056c71e544d536c868b37c0c7d6 +IV = 80 +CT = df19b716972958dd9163d328aa +AAD = e013f23646fa6f9f4ed2ff2f832d82a3874ea6e55bd1bc0411e4bd6437986fe455bf4a9a95b33e364055557a776cee82 +Tag = ba6f65f7afa415615626f558b3 +PT = 3a9949ddebf0a5caacc31ec6fb + +Count = 8 +Key = 27fb7ddaaa56871367c9c83c3e5d6ddf +IV = 8c +CT = 5f8eb995288c5e35a8da85471b +AAD = d056fd46aa8c05fc89d5795f7d50b02248006b3f4710b138cff263d49912a4a0f8404ea5198ac61ca9d1525a5aa3865e +Tag = 8fded478410d212b9c6d13da50 +FAIL + +Count = 9 +Key = c680326513ac95cc6c43d7de30c0f938 +IV = 04 +CT = 1d3e2e9015ec60e49597ba3d48 +AAD = c67b18cca4cd5c0155ef83d901495a4f562da8db3bc7c6c4873be6080427224a8d7bdd95d7dbc49c9f335313506a462a +Tag = 5ad46d02ba34c4917e38341b89 +PT = 5f6906cc0e8f85c061c0f7cc35 + +Count = 10 +Key = 62750f398a086e221058bfc3f73fb229 +IV = 71 +CT = 546a895525f85be3a77c2d5cac +AAD = 8039d9dc5559fc5407e495c64e401bf73984a11b4f9c2782ccca4776b70642cd0ed7df89c87cf2e69d957e06c0f6772b +Tag = 326c10b8026fff290c4c2cb92c +FAIL + +Count = 11 +Key = 2779d37d2e4beb364b9c013f7f6dce62 +IV = d9 +CT = fa63019aefd5435b7792e7d4b0 +AAD = 86825f6bbb3c9b5f959a81d29c127d5a63e134ae343b567d99a3a45d95226ee6233d68aa5962ce2f75f30eb2f486b20d +Tag = 2c496112be654cf6921094ef1f +PT = a58331f9533fe56fe2d030c299 + +Count = 12 +Key = 3bc1c46adf5d57cd0b72edcded2a1d2a +IV = 8f +CT = 85cd2a680deb885bc8c4cb66ec +AAD = 8448d1e1fd57f65adfbbfb7b2cc74369ceb2edc3db7ae5491f398689bdcda746c2154408173e3a0aedce18c61dc927b3 +Tag = 5cf1bfa99db18c57775f177297 +FAIL + +Count = 13 +Key = c106738b20e02f4cc4db234468a08075 +IV = 81 +CT = a77c1212250c21a1429c03cb76 +AAD = f30671fb7a99a9d07269882e6362108a3dda6da3e947d71c7d67affad8e3dfe88d3e9129c2ac9351d33a202e294a1772 +Tag = b0fbc777bcb22c70f90b359f68 +FAIL + +Count = 14 +Key = b9b1841749b2e18b604230ac9f2e2126 +IV = 2b +CT = b9034bcdbe8ad0e4b958e4e74c +AAD = 9dad4cbad09138f4ae6129c9dd1673d64b7fcb63972cdc67f97357d7429e35dbe7e828f71491b82ece1f8349220153a3 +Tag = fce79dacddde1a9e78ef0e1c50 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 5b8265f7b430d3ed07c2f797effdd081 +IV = 91 +CT = 2d23802a6e31c0218839e5ac0f +AAD = 56979fc02d6f694f055ce056f8fb7ead8c36c2fc4b079550218bb928323d72d74a306e70615656c489c1e37947bdae59 +Tag = 0ab4e3c07a7861188b01636c +FAIL + +Count = 1 +Key = d167a66dc53807233b9fbc33143f813f +IV = 11 +CT = 6cd5413711bba9b46af6d0d571 +AAD = e586dd1abd64143412c54080c4a074369f6503db106b6a2cbb0da93a2618d2d87d688cdbe767d4b0ef888eaf01484c13 +Tag = e40c4922ff4246a89fe14cf8 +FAIL + +Count = 2 +Key = 564cf5d0dad1b55c8743b063b42b2aa3 +IV = 3e +CT = a7151aaaa3ac09cebaaf76af31 +AAD = a0b0ed495a3e606d5bca17a1fb9ab56f171d4d94d8055dc70c93c7f7a77d952ba67f7265f983b5136c675fced4c116f5 +Tag = 271dbd927f6590572b16766f +PT = 5e7f0bc39c12b06edbf477510a + +Count = 3 +Key = 9bdc2d9fb84c849dff4999655dbe2440 +IV = f9 +CT = ed9e98aa5bf9c793e91c290b53 +AAD = e444d921cf22de916bb6466f33b1de710e39f01d3bb340f0054722534baacd8325085f43a5c707e81ca5a8e520234f5b +Tag = 7555b9ee2a32cb15852c21b8 +FAIL + +Count = 4 +Key = 9525f939a3f1fe37fdc8d260e531eaaf +IV = 3a +CT = ee07bed0fe7641d6cc23fbc61b +AAD = 73ff15aebf1b8dc2b57f4e8fd751147b7bed2df6a3e9a59dcf26804b5f1ae8c165db16a41356ce6f9b1cc1c8afab4518 +Tag = 70920196719bc869b69c3e28 +FAIL + +Count = 5 +Key = b1b335a213a8828139d4a652b0e05c27 +IV = 71 +CT = 92274defc259cf1bdf7b81f2a6 +AAD = 6a5770a7e6276735fa33d24589efb8149a59407ce0d3b16517de1e6eb7192277eb9106c49d64f79c9af1ad0eb3871296 +Tag = a429ccfe45b7a3418d1268ad +PT = c029f36c6c51dd1c6e40d5bfa7 + +Count = 6 +Key = 56881b0d99499ed12d52170b766e14ad +IV = 14 +CT = 3c717ee55103c6bff2963a6683 +AAD = 63d9bfa464625b825f02da3de6da9e1772487a2d433fe97736beb0f14ea1ddbda2ab3b4b12e50c5c2a9e47fddc0b1aaa +Tag = a55fe660563ace466f54ec9a +FAIL + +Count = 7 +Key = c8b4ac883a92cd6c938012747fd1d4bc +IV = 85 +CT = e86a707f8993a712199c5f1a97 +AAD = c7da085a90a3627d346f0bd061c78af837565679aca99c08250d30392d93c8cbf2319b5a51a4a12a312211f799422710 +Tag = 6d54603cb7d22c81ff59f5e6 +PT = f704d18bf2c8c943791dd033b2 + +Count = 8 +Key = b179d75b5319e97b9568de97a46421d4 +IV = dd +CT = f8e30bd0b2ad0f7a69bea30b65 +AAD = 74c383beabeb0ce3d1f0ff32dc96f86b0ae7255b149eda6a3eedde838dda39be607dac674b6c187dd669aef02c743a12 +Tag = bf8b84f27b599cecb0653794 +FAIL + +Count = 9 +Key = 7d6bb1c9ab39a1c4db5740ac31d5ea03 +IV = 36 +CT = 39687c5624fbc1f76515ef69d9 +AAD = bd8978f0b1724dfe2565f820092cbf88ec7dcbbe5d05d59a647f22461afc1b4c2706075245fb1b32c66764542b43fc20 +Tag = 7bd1f3c02db3ae008edd193f +PT = 9c99ee2d7e282f437e6c59e897 + +Count = 10 +Key = eb19c3183fb9167a777b3daefe3a661b +IV = b1 +CT = 014558ff0a8a1b7795742c2f07 +AAD = 6cff57a6c47227d9f99e52546c0dc99b161118922d5959892e35908bc4122a131fce0e0376520c03716ca53e1533a10e +Tag = e831fff4577267907350c0ff +FAIL + +Count = 11 +Key = c5afc1f2a4e05320ffb1739530de22af +IV = 6c +CT = 4cbe08141c05bb998a2911f7ff +AAD = 6b553571a9f1a4766a3d53025542945ff40545cf9b09bcc5e916a3b9f6bfb7fa8f83d795e7030c9928a3fc7040a1ad09 +Tag = 5fc42b6ed6ae014602ad8c96 +PT = a17f80cf963b74222850a34aa1 + +Count = 12 +Key = 2035776c3966276d75649d12ab72e01c +IV = c7 +CT = 6cceb830e013ab821e7f83fecf +AAD = c3743fc8143516913d05c6866bf15a0d99dafd0d5f357f5379ca16db263ba11d07bc59338b53c4c6f7d9343903d55017 +Tag = 472697dd1649cdd8ab5f31ec +FAIL + +Count = 13 +Key = 490e4eb1748b7da6794f6667050d2056 +IV = b0 +CT = 2ee38842307880aae22449ff4e +AAD = f4b3b546c687b38368bc92d883ebb9a890d2fb82867ff02af43afa770912ede61e32032ffbcd7e30280d0b2359e15c09 +Tag = 92902b4df5241cad4e7b40aa +FAIL + +Count = 14 +Key = 478d6c621a70ed93bf871ef8fcf77836 +IV = 44 +CT = 8b9bc16052ab87bf7357b4a426 +AAD = bcafc6e66381c977a499f9f3733ef00d8b6299ed14b07f9a372ba4a5fef2193ffbec54da30c6ee504709ae7a522e97fc +Tag = 959f277a2ac69195de740a9a +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 880359cdfdd94496efd88c96beb9ac02 +IV = ed +CT = afc5d735fc578c906f5afa8213 +AAD = aefb31e625ae6a3f5198ac74ac27ec2dc529d243fe56c08038fe1d058d424c607b3af38fdf70e6f553a776d2222f7d14 +Tag = 7bb3bb7019fbc1ae +PT = 0fb3202bc304c6adaee35c59c4 + +Count = 1 +Key = a94ca256ae74cea20ec2586c0a234ff8 +IV = b5 +CT = 613bf44d883ede1b88bb7486d3 +AAD = 24b46d890a39cd9ca23a8857eac4a7b8278a374abee6ed1546727f29297c1fad9d4ecd71007fdbeca74ef41d1d1a81a1 +Tag = 40db37246de4baa5 +FAIL + +Count = 2 +Key = 96c7d8caab684d7b12b43b78bfa260f4 +IV = c7 +CT = 0e004ec6f4d5e3c3aa9a7910fb +AAD = 1702910e7da38a2d9c78c3a8ec110bfc4243535fe0238e16b3c74cb54139b9aa8a16d06ff9b965d579a2f59b871bce62 +Tag = 2ff586d3fbd469b8 +PT = 9255b6c1409ff540b21415d309 + +Count = 3 +Key = d3bb4af86ee9aacba1d719681849cfdc +IV = 48 +CT = 0d0b2f57f32d7abaecbace0cd8 +AAD = 85ff327c8505755e08a44a5464b67d63b29fb06413af892d5aabe960e71f18bf3dede9add561ce32f487a9e6bb2bb311 +Tag = b535537cb77cd800 +FAIL + +Count = 4 +Key = 70f7d000d5fe99186b681cca2efa45d5 +IV = 0b +CT = 44c6a7a98bd68eeb0bc7488c0e +AAD = dd13e1d13ad92fde9d465e2f630a8bbfb8aafa9b8d22ed6568a0fe740819ce22f6247b8b0923dba29f26cdf3709b778a +Tag = d1fc6973b2d7cf91 +PT = 7ffdea05c1c0d9e407d4a7590d + +Count = 5 +Key = 4d16375334d4addaf0cc5e27dca708c7 +IV = 84 +CT = 41113518cb9edffd8dda09adfd +AAD = 59c8dfb256b353b9918daab16c8b23df916398d340952011156f081b797d903ba0023297d7486a9ca5705ba9f59bd76e +Tag = 72fe332f30fcee3d +FAIL + +Count = 6 +Key = 088592e89727b7fdebc2ccb9d2288575 +IV = e3 +CT = ecfc972d9fe086d5df621980d5 +AAD = db1334ef62db7cb84fd202a0f382c6d89e514aedbeceb73fbdc39ce2fd6dd0852077d6a65a77c68f834d34a2145974e8 +Tag = 041204f40a46255c +FAIL + +Count = 7 +Key = 83d5cdc62fa2b1a5e92a39c30b491ab2 +IV = dc +CT = fb9406ce28a323681b6a581d3b +AAD = 49863584b0552519f53f78ddb6df76bbf127e8819f8c366ccf8b569204ba391e423de306b4f2cbad4d0d035f70e6571f +Tag = d810f2f888aef27d +PT = 20fd4ec0aaae9a82cc90d585c0 + +Count = 8 +Key = 71302035a77c375b05bd3aeecb2bcca9 +IV = f6 +CT = b58eb8cc4b88c51d21921314eb +AAD = e563fc7c2b48e9f950b24ba75839a993099eac7ddfa53a4cc621e519d8b1ea0882d71f03bd8adabbac6f966eead123c3 +Tag = 1a9e72c256c763df +PT = 47b14188fbe9e58f592bddfd80 + +Count = 9 +Key = 7ed364ff636902674c60807bc1f088a5 +IV = 0e +CT = 7dc05d3354b0ca22a77bab15cc +AAD = 3cab943f32e4c9c0929561f167c17d5eaeb7fec9d2c7bb43cad54d0415db3c4d0a4e93437da067ebfbe71b7278e5192b +Tag = b71f6fbc78e634d7 +PT = 064759fa8294e2b9e7bad00a10 + +Count = 10 +Key = 907d45e9c1ec993bb0a1182ea0c1c148 +IV = 71 +CT = aaea7519664b69ffa9418302f2 +AAD = 0da24da1949ad6a9e30ef06e2ad58debdc13e6bd55fa3a6c508eafc6a5e198407c7f3e5eb0349000728780fe27a5ab1b +Tag = 240be9eeed9c903a +FAIL + +Count = 11 +Key = 2bc6bb651fdac8a14e7a88cbf2647259 +IV = 6c +CT = bf48ea380ab906df21ec86a5fc +AAD = e3fe1f42c7af504bb6932267278f52f994b70a215a5d5ecaf590d2b899c732cea0a2388afafb32e2f54a67807a03b524 +Tag = 378b051b4e1385d4 +FAIL + +Count = 12 +Key = 444bd25ad511666f9af3727c002f11f8 +IV = 00 +CT = e604d2e43fb53c6fb3187a52e5 +AAD = fbff1931e0bd369f08b6eaa603071aceaacbbf0f678d03043184e557b420de56ccbc100883c0717c52f6219b564c98bc +Tag = ca8fdabd839d6706 +PT = 9c59f2f922999fac53a5e7af1a + +Count = 13 +Key = b2aaf648c1c5f526eba90d593c00e29d +IV = 57 +CT = e996e611c5b2fe16ebdc2f57d3 +AAD = 7cdac5d8b75d21dbdb619c8e3d0e85a87de3949bc556c1b0522b40ba43d8db143ad2523ddc0b97a9862821454a62d017 +Tag = 36c15ab6eda28c57 +PT = bd95585411c66f524b38a83f2a + +Count = 14 +Key = a930c1639692451281ad4d93d0b66878 +IV = 0c +CT = 9ece9434236cb9ce0dd8a05c27 +AAD = 26504746f32c686187eb30709133613ce92ce4c1671611ccddc8e780c7f0bddbb9f6a8e600ec0179febb02432bf489f1 +Tag = 7c7c8bbba383fc1c +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 1082c29bee54051effe77fcd54a3ac42 +IV = 57 +CT = 843134264df20b7b89a5dfb921 +AAD = 58a2b32f270cfd47270546f06a929b7b9a47daad841405e791ed179d9c0ae5905589e500a1809470181cecd1512ae274 +Tag = f964384d +FAIL + +Count = 1 +Key = 9c64e9903ca52f24030a29d787ee2d79 +IV = cc +CT = 5da5dbedee039d0b1590a4b97e +AAD = 47f7e9c63848b46ef727624b9b66b708608fe46454f2878599a48df54b4aa3f2ab83a6afab26b4fff691ecd80110688f +Tag = 764764e5 +PT = 736ec34f0159d3044955cbb367 + +Count = 2 +Key = 24e30826f2ea6c4bbba517e6d909a757 +IV = 76 +CT = 664fded843cccb1f440ed53817 +AAD = 0e47515b6af1631771f3b1a52b3b35cc4a13fc65010e6e40c3f616e1d119ff18d161d0dfc001afce567f26f90f4e2959 +Tag = 3fc4b294 +PT = 2dc7f72f0c3dce9d5afd688b78 + +Count = 3 +Key = 533d41a8d08ca28e2c14e4cec9f82deb +IV = 2b +CT = b234791b786fccfe059dc4dd2a +AAD = 5f6311ca30bff18c307429193418fa443246aef9daea1adb23e432c6c9235f3577e17ad409b262971ab05152664ce854 +Tag = a3a1ab83 +PT = 2140b7aad4e2302adadd9d803b + +Count = 4 +Key = d7cd9611dd4213a5566117fb723a2325 +IV = bc +CT = 47bb481a0010bede3c0542637d +AAD = bf765af5ffda69c69921264148b760be99846524ceaa6b676c977e3d1f3d8d3c868793ba495fc99d74fb89d88eaaa40f +Tag = 65a057cf +PT = 71024a16bb474ad36997afa6e4 + +Count = 5 +Key = 37d6b2172836b4b3e503eff056af6f76 +IV = 8a +CT = 764dad73bb91b14df9636142d7 +AAD = ee23f29dad3592023a585a4e17fe24ffa19bd2b969b66a80585fc4923eaef83c56adbfdb1e9e225fe26908125147299e +Tag = 25e8c4ae +FAIL + +Count = 6 +Key = fd6949b28195dfc0d762eaea5651c652 +IV = ae +CT = d371a1e0066d13631fa454b5b9 +AAD = 155fe61c82d91bff2999466937488df9e85cdb5cea4d94b13f70a19e7f55f5a4e90f93031fcb44053ffb64aae25cbab8 +Tag = c4f0bde2 +FAIL + +Count = 7 +Key = d08554d82dbe3f6197fac36ef8ddcd5a +IV = a2 +CT = 8867ef709702c388f28ce77f99 +AAD = e18c06aa9c8d7057de3d9267013915efa7586ce74985dfb0506f84354ea5c924bb44db7be320d2ea25ee8cbb16e741a1 +Tag = 75ead798 +PT = d382a0dbc2d291c4cf67b112cd + +Count = 8 +Key = e9fd736421c884a8e65bd8dd004bd3f1 +IV = 27 +CT = 4def29e4f3b5f58b077d66e2d8 +AAD = ecd0c2eeae8df4e311190e8c2700496e46f80520b5b9dcfb2e30a79cc83b7379c5b6820f788493e411dd40fdd15e4b30 +Tag = 034435f7 +FAIL + +Count = 9 +Key = 8abd3504b3e839ba4fd6a04645b605ad +IV = 88 +CT = c0ad1910ed25ba126039e6320d +AAD = f2914aabf4500e5b7fe9cf643d56f4e45448711051a292b2a356b914422375f0abd6e52c272ca3901bae45b7425aa6fe +Tag = fc0fd275 +FAIL + +Count = 10 +Key = 2625b08106f428e7aeac288235f3dda7 +IV = 22 +CT = 84fb600370a9fe3873eb811437 +AAD = 293500e8c3e71fb004acab6b19343298898f312500db2c98e03a415b8efa60c163500bcc7d9dc71743ba878575c9fb85 +Tag = 300e00c7 +PT = 1b75ddef01c72dbd4f23c4ff6e + +Count = 11 +Key = a430f984cb4dc616787a732a9d652f67 +IV = d9 +CT = 6aaee390f12d77e5b0c9f6cb49 +AAD = 8d174e304710f80c9ae3776fa0074bdcf661a03b900589770f53f08d2bc667fd6901cf394b03ebc0b0bf657f80906fc7 +Tag = f503db89 +PT = ae4c0de6f2e4728ea354354c6b + +Count = 12 +Key = 69c550d022fbd766259ccb8ef08973ae +IV = 1c +CT = e6463ff51f3938818aabab65c3 +AAD = a4bd2bf4acb9f133b5d022a4758060c207cff5ced99b11da9212737761276dd45259fe8575b4358ea9c53d89d471cbff +Tag = a6d03f9a +FAIL + +Count = 13 +Key = b3ffb956280abecabae21725cec04f58 +IV = 98 +CT = 29ce113c2dd16bded0386743e8 +AAD = 346630af98acc1e3b209b31c13a425e3422d0214d24344b2ee5eec9c0eac74724a6e4144da050147178423da50010e94 +Tag = f39e1309 +FAIL + +Count = 14 +Key = a2514a59595b6661efc78eec2f9062b8 +IV = b5 +CT = 81b124175bdcca61b20ad194d5 +AAD = e282fa73f59a0ddbcfdee8bd50b25ab96ed58f2d975735d7424f84cff10f770f2f767f668443a82f0ecf3db08533d9b5 +Tag = a73bbc36 +PT = 19004493acd931f449636ce1af + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = a9f1423885d094226487e2ee66218158 +IV = 92 +CT = edfc0d8d2ae646fcb86e78e43f +AAD = 3d0d7048a5b7ef86d6dbe0e9a6d257d30f1235a8f3867880f7681238d585865cc9772ca5b824cfb22f42d3f145dc3298068f2a879610df9ac3e79f0d78e07e044843e018a35da39c11dd798625ee3a10aa00c9c6a7fa84312293 +Tag = dbcb6506b5e1c6b29c59d1e730b29da7 +PT = 4471c8fa4c596d2c9142901200 + +Count = 1 +Key = 00f9c984af41fdb801f150b91ba3f129 +IV = fc +CT = a9986cd01a18e3da49a18b2377 +AAD = 1c7e822fe3a0a5bffb44af3590b3d7db1418df42f369a8dfdd8cc1bd91d9452bd762c6d2fb1097457dfe516f3f8923369390b7f84093dc95d55df3a1c40cf486af5b17de1208ced6b6e59d750f43580b39f485b605922277ba9f +Tag = 4494345687070d156270e5866a1ea743 +PT = 2ba84ef6fc7683feffbe1bcecc + +Count = 2 +Key = d13df777c128e584275b8e587f799119 +IV = bd +CT = d97278d1b0b620880556c99a78 +AAD = 649304125db87e6569811c9d1b65769f9329c286dbb3c23ca1a1c5751677de4a15dbe8137a399c1efcc5130a309275e59aa649255c25760f5030f0a78a97a5497072f4d5fbb632b1d433a0ccc366e4da597b9684855c921ee8a7 +Tag = 85ebb9f8875e6d4e6fe70937182b9021 +PT = 6f587aa80c41c2db8edf49e959 + +Count = 3 +Key = 0088de07b48b3a52f292ca3b68c05e0e +IV = fb +CT = d4532f8a408c4b714de7337bbc +AAD = 328db3fb26bd4be08e994a56fb32d575f61345c24bf367de3f3dddff7142ed109711bad0bab885e411e037e22c5d86d4efaa8ab2ce37ec736a337642c34bdf81a87e47eff049c4e87d4f7b4e34ad5b26e354205c3b978a847479 +Tag = 15343840696e09ef640c98306c86e411 +PT = bc565a3d57df8915f372117655 + +Count = 4 +Key = 4c69a196f4a5246b89a6c2f3e0482a63 +IV = 91 +CT = 38c4747ae233df6280a2fe868b +AAD = 1484ad886135606932eb5c0556d7bed6b3d5c14cf2c9a73a6ec130a45b6555dadf7d23ecab725b43052489d8507843012b5bc34f6dec3f9980d7de6c98717ba1a5e9c07bcaf295ebb77605cefe7a44ab99e576528e02f5b3c033 +Tag = 69651e5333c98f5b81e6166162dbde82 +PT = 5ccb3b993c13a14e05a48d6e7b + +Count = 5 +Key = c206592f8f5a252c324c0f0358ec56c8 +IV = 0f +CT = cef565f3a0373c78d4c38729e8 +AAD = 60bc1bc45109d5a08bf8d1bc849ffd29210883b66ba3cf96ca8e6791174c6e58cb4e6f48720c97156d12fac42ca9f2f75f0e5880832848acb30c793cb2e1bc62bc71d211e80c6220f45dd6c77bf26fede4d7292795dd8bd776f1 +Tag = 66d7ab239709abbe064198b126c86339 +FAIL + +Count = 6 +Key = 0c7430fed9bbda1788e199486ae43bda +IV = de +CT = 6be5ec32315bd5a29a6aaf0980 +AAD = b0192e65dc2f8352d61b2a23716b7f809860cf91510a1f66802139b1d344232d8439a33fab07eed5a64a8bfe8e3e7dadf7ea2c38e64db188082c11f890948593c37e31db74258e4121c6bc2f13ee0299adcde1de8c38631ee15c +Tag = 6d3dba6556a905d85883379132233714 +PT = b92748fe86195431952a93c011 + +Count = 7 +Key = 1cbd4c987b8a1574afa68cd911cdcd16 +IV = 78 +CT = 66684142febb8d084beadb6bc7 +AAD = ceb44e44755b9b60a3450a4bc5483b9c908ecc99d9e5b089cd3ba16107e69042450a5320c9cab5b53ce24f48ab43d3abff8fab20c74354d91a021e613aaff207f015faf3824cc4aec53dd34b3d6832c1fd9ea8dbdd673cc6d27a +Tag = 92f082ac30ed1d29515556039eba3cc5 +PT = de80bcd8e524d9fa8795b0924d + +Count = 8 +Key = 126c15b2c1fd69ef102681305fbe7992 +IV = ce +CT = c617b546f0bb50b1fd16ad1c13 +AAD = 2d3bc04fbe425104b10ceecc779d51dedd4c85efa13557d8a07946bcb560b64c68cc40b97e0e91ccff6adc471984c43ca1002eb1535d1eb0592279037f1ae4545cc38f646683d45bfe3511a98af23245930a6ed86b33fb93330d +Tag = e9acafdbab27862e7e771bc4c46a74b3 +FAIL + +Count = 9 +Key = e04bb7e9e91fdcfbe7663d20a28449e9 +IV = fb +CT = 5fbd4cb14e9292a9d045bbbc11 +AAD = fff01773739390028b78438149613bcddee86bfa84a45d79da19ef1aa2b8d894eed81c704c8a5ee542fc0b627fcc9a1877953387092478cfc9e0ed29754f105e5485488aeb6e3f59cb940952ab8eca9d4de1dd95a1508e4ef85c +Tag = 72ce7bd6955a8cb33a4ad6c3e5c9fb42 +FAIL + +Count = 10 +Key = a07046dc548118bbe4bdc1f3baba20f2 +IV = 62 +CT = 2ce0980190db47784e0c9f7a69 +AAD = 70f9f2bcef8befdbc2f0e87a32936dbfb652d7edec19b6815bc6dc0f2b9b06278fe5346ef3743562c30f6bfb7047bed2bfe35a8036e9276b48bcb55535cbb698d2f0ba9bf3ec890f2038c53ac3de0382158c52fd6115ea2f185c +Tag = 99fd76887ffa23411f19e060e6634a29 +FAIL + +Count = 11 +Key = 8ccf9b74406da0178476f9a927faaec3 +IV = 92 +CT = 8c969bd82af6123b210e1ebc7b +AAD = ed1899750c6599c8dea97041b30c567588144744c5bcb0187d4a1960fe93ba905261a15e8f7a46b1bf957a397252acc5dfa12afa58a7c270e896d94d3d48a147458286a56cf55189d4b6e213d1f8004be5c1beeb53ea2ba4d29e +Tag = 6787490a92434ee67a62711699176911 +FAIL + +Count = 12 +Key = b332347fa65beec006d33c6be2033375 +IV = 3b +CT = 0d75bc263697e68bc3eb18d9e1 +AAD = 284af0301ca126d2a6bb67db95c0d6da2b46a416e7a5e58e6c1f7fb899ce4b16ab3f8586d2da0541d03dd239641b52d1501cea493c4e1fac471fe73b6f6533caf0043ed172c18416b46d367fe4b5317264779277e3ccd4004b0f +Tag = 43b4bf182fc74690bc1614b91f524186 +FAIL + +Count = 13 +Key = 50af9f392ed5280b0e62fe72990f769f +IV = 6e +CT = f33dee5e4a5a87f769348643a2 +AAD = aeb888ebd7f69d96d681bb0a65a179cf4eb9dfad5ea7d8793aec1a2a856ff94c20289b18e85ec3bc619c409a9a166ca4fab0200f9667f2cf56f728b03d9a28cc17a00a1a7ace65600030694be2a5de01ab555be2dfb73ff505ef +Tag = 3a8ac1f054de08701bce82e877a03283 +FAIL + +Count = 14 +Key = 83d8ec7f1e7d6f8361a1f7fd32c3d8ac +IV = ab +CT = 01e4e7688f5649a0941787110d +AAD = 5af8d225bc1a676e38fa07245c7dcc162f4be6ab75c855dead0f304e28d963c923e49e984065ebe0e7a58faf5e1ca36716a87872eba87299cf8af903103c1b3fe7c17cb1d03910e198a48827b17e0f89518a04df5ed64290c127 +Tag = 35e5c690be2d2eb20276ab6baaa6fae7 +PT = e111b7179bb2b9eab690fbd184 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 2b5ddcb02fe031f0eda1748b3c9b2a38 +IV = 81 +CT = 3ed9d4f50abd0d13a09104eb35 +AAD = cc7356acf34f7d9d053140b80354cc75dae794738a94de34c65cf418946cc3f549a761aa008b58d7c0de39722bc71a7f0f5166ef1a41810f910528f5c9606ee719f97a61997f3fd550757e13511204b24587c33139840b83c5c3 +Tag = ab84ece4dd596880adb51d44f8359f +PT = 002a57fbd85ca5558d8ea8f9e3 + +Count = 1 +Key = dcf0ee664eb04a819a6f53798a1cb02d +IV = 87 +CT = 5b37eaa91cbca7fff4c81351eb +AAD = b31d239a002fc45202cb59e6b991c155377cae06328fa37e387e9ff072bd9518833f0786816fc5d58ee193d2bcd148983a5b78d481c2a4fca999c507d4e40367b8808a21232318864a32acd46f470906dfeaf43633a967b7bd74 +Tag = 86e6f57ad7f663f9b8f40fb7fcf279 +FAIL + +Count = 2 +Key = ad6bf8d5cfbaddf159e1d44a1531f4b5 +IV = 76 +CT = 9f01aad2824f661d6d4ad7cd74 +AAD = 59a890fff8de202935bde8548312e1d241093d568820ed94cf60b6b94bbb7130126e483fab898b261e5e61b6f00513d5dc3bc77fb0d1b3cc344287601415dda8b6ca15020a6bbadbf6ff5984a6e353bf7d1ea3f45e4fd12b0383 +Tag = caad447df56a31d475e15425f3824f +FAIL + +Count = 3 +Key = 68234c8d69c21866e0a4087678c90623 +IV = d6 +CT = e5f964b852953b9882354d8f2b +AAD = 5cad534aba0df33cd9d3205d839567be8c419cac114607da1e12b758f834d25e320bd1c0437325766c160e4c0df6371cb1d3f85f2e07c62dfbb2981f703e64c1e179d092a175239f60d723bc4dc5e3d80c604618e75c9dd42c0e +Tag = ed22d7065780a23fa8a9d819149a4d +PT = 812252377e861d642f467995aa + +Count = 4 +Key = 4e7c000d370f60864a63d611efc0888d +IV = 09 +CT = 545999b01d82f50177fb7f5774 +AAD = a692fa48174b0da6755d45fb49a5635c18d2189e805e73220f11ec27e1ba8db83ff947fde9ddf91aac44bcc8d184c114015d24e3d9d1178f9a5bf6277b9c333d532fc3181a89a4a3073984eb264345448832f51d23d898041951 +Tag = 95ec63042b9c8ab42ed117c2ccefd4 +PT = 41ee6f0b046e5b727cc6e3f091 + +Count = 5 +Key = fbb254320173eea1914ee23fad5c9032 +IV = 76 +CT = 98e481e0cacc3a4cf6e95312a5 +AAD = 988e0bb76d4c235c23e78f5883c95449affae195a3044168f7c1c771b8539c83af8937ca0a359e3738ab1b876dd79557470e5b5fddf8e3bc32c370ca99f8e42bb35073073b21d9334fddd760bb132e554926bb98f75e5b822893 +Tag = ef2f1740f1a35a01c63ec6a405617a +FAIL + +Count = 6 +Key = 94b15035e67d45d5475e235baa456189 +IV = 55 +CT = b50cec3bb90e8cb4153d33462a +AAD = cbdc26fcf942269ed682d741f88c398db38224d40fb5c99bd8c5c615acba7009b7f701c89ba5becbc3d458886642a414acd2f70df56fc746e939c9432de01273e75360103ef67f63848d7e6d7816a7a82e9494db307fd8c54818 +Tag = 0bb4b15ec7632a3b1119219799d9a9 +PT = cafb1dbeefe14b07cc92df0d12 + +Count = 7 +Key = 77df9d24dc071f403d55c23ab5c8c526 +IV = b6 +CT = 8f633d017db9188fee3dc81a49 +AAD = c1cdbbd6a752bd886f8ff4ff7b7fbfc6c1f5e7f82dd33c143e985867108560d785bfb695c0e8cfa1bb3808123cd38c4b14d4c689c0fa9de65de744f500f1fd51b649286d112da2e7eee6124e4e81c0cc4b52d0925761db8b8469 +Tag = 21e9a79fa9c5d9b8777956b79fc59e +FAIL + +Count = 8 +Key = 1f6064929f4c69fbcc86ccd688783e24 +IV = 05 +CT = b4c383248987e2ad9428875636 +AAD = c14d1fadaab88534478dcbbe427ab053894b72eacd8c5158fcde2111a6558437c15f73d679af37c61dabb075c2a6d7bb7f5656c6c8956d888defc0f40633cfa7e96ea961577adf31883e970f6a030a0b70b79d7d1c1e63935d6e +Tag = 64e910580af663daeff06017e35488 +PT = 4184abf61cc94b1d9a405c37ee + +Count = 9 +Key = 71f80a287d71f433cb5c2aaec6d43c8b +IV = 75 +CT = 687a0ca8bf008b710879933504 +AAD = fef063c30a955c4ec16b011a8d3249bec8a7f4e3e6f893702b1c9f98ad314b3441e63d8e9b708346b815851bc1732f16ba237fdb6a003aa8d6fd3bcd85e84930d173287809231a5d1851eb81c1ac36dab1b7a40858300ca42622 +Tag = e3b3ba54752be0113c4455edd6b83e +PT = e647109571de64b535d7cd6da0 + +Count = 10 +Key = 3c9e5d26e970be02ac6cceed7a5ef74f +IV = 2f +CT = a77781335eee0f4b25036ad131 +AAD = 10e2f317f52f2054981b47e811b8b29959382ad8e9313ac5c57565a5f63833758a948d427507985ebd5609c8e238839b0fa073473b2e1325288429afbdabfa3a98f4fc9f2844c64d652f95dae2202b4f7e6d02c99a23f66c4757 +Tag = a08fbcb3a4ab0be357a629370d9346 +PT = 0f315fb46a8b681fe91cac6b6b + +Count = 11 +Key = 100d7e5b0ee56afe685279e6712e9356 +IV = fb +CT = 2ae0f1173e460d78a86741dbc1 +AAD = 788e6e42a4d4cfc46b3b122d221f83b58e8677374ab5052e55d47b54a14166acf01de7bbbc06a55a14128489a42782b3de6a3b897ea293f8b2fa97eb0378177a827f6c95528b9d91ddb23929a6eb6835be336e8e75221693ccfb +Tag = 107456317ee66ff76caf3a1cccdd5a +PT = 5288535361d91a122d4e23e75e + +Count = 12 +Key = 32b8c5b955a7c5e6649d124687ac4d0e +IV = 16 +CT = 8db5ab105c087a89321dd740cd +AAD = 78bcbfa40e1ee163a80dc9ec68c9065a115ba7c5f77ed47d59c48f56dc516d4709d3ea119d23dce0a98452123788531b3ad0240186143b855aad739df87cdad57dba0cc7d0fb8832f4d8a96c4980dfd1917411f46bf5e6bdf3f7 +Tag = 4fc6f23013a86a39abe3b5a7692eb1 +FAIL + +Count = 13 +Key = 76342b60ffa6cd6109454a271ec5d776 +IV = af +CT = 6f435fd28d8b96967637db3d62 +AAD = 65fd2134670dea5f37a67efadebd580e435490210b2e179b280b6ee4828b25a11cd98d0ad783ee711ae658d518e01e5f8d05621f9b97af6a75bf73d16a37efbc96c73b76667b6399cffac3a176a6a1c2f0f194e7da90344f1b5f +Tag = df4d45048063d88a827893f49b5943 +FAIL + +Count = 14 +Key = 3679292d6918f60bf6147f8bfadfa7b2 +IV = 80 +CT = f038b4dc63368687594971d795 +AAD = b9b316d990142113838dd14fc09a30079f55df3bd4a9eea53bb42c3db99a7bb968808f44a1df48db04797858087843b2cfc1e80428d65879b219a326de22f20510b0cf00d7a879c9282d309956bf221c9ddab8d02a98202678dd +Tag = 54570fddd513fa9a03c981d5274649 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = f8b422791474db6c8fef257463fd0065 +IV = 21 +CT = 89f79ecc70b5b64596de29f1ba +AAD = 0fbdcc7feb39d573c7137bf32d590de51e15a4d1f7eb009092978f880c9da7d6f118f9cf1452e82654fdab99e2d0271387c14aa576a5c4e4050220d6b15afbb24a3ce37ce003b27b6db9230d8103f8903a900428d6c1151e2a1c +Tag = 3b5031e4a728bb23cb0ee9165d81 +PT = a2f05337f79eff153bed26fd06 + +Count = 1 +Key = 828b22d6d8fe22072101ba523ad8ec9f +IV = 6c +CT = aa5db2cbc3f85d31bcb0e483ee +AAD = 76ba730f14fc31034b5b567d9f376faebfac47bb447a33e831aa5d8ec74116773a6dba336d05b104ea19d7ed70e33299b8224b25a8dcbf4e3852aa2f4237b719ad7f673cf573cc14d3581655e2f3fecbe2682eaa5f07d47e20b6 +Tag = 2c393640a75f3972d36175651a25 +FAIL + +Count = 2 +Key = 7b458bee833b90772b4c3b2ca0ea614b +IV = 46 +CT = 89cd5c0ae983ba9fe88d685ff9 +AAD = 439cced5ef6bf302ab32d525bbb15dcf0baef98c3ce2e2db0ea8a9ecc9cee0e647ee32ea96384ae11fb228baba652ebacc973549d5ad1ec896eff64eed3dd4412b8dfac0acfe0e0aea81bfed1a5a97ce20f16853aef4d93e6dcc +Tag = 06cce3a5b39d0bf59d205153bcd0 +PT = 8d6334fd938df760350fe7a68e + +Count = 3 +Key = 061273eb730992c287b9be1e85a08351 +IV = 29 +CT = 8e850eff4481b38c5185a8d545 +AAD = 3ca3b5ccb9d4a312091cdcfa80d37e96d4e686340a87d0584fcc9d7ca59a47da5621154e84aa926601cbdfea24ec1151f2f6b85798cf8b4d44390c8cb5a1551779ab1229a7bfb0d133c7d3f3a772237a9ac23a0808a700ee08c1 +Tag = dca4998bc4a3e83089773c9b5cf8 +FAIL + +Count = 4 +Key = 8085c2388196139cae10a242fd83e8b3 +IV = 16 +CT = ac4852349b3c6f458d6ea59855 +AAD = 94237eb778a1195f2fb601c402a99df98c7a863e59f8afc8437a20ae774e587c47d54d0b91ebaac8b37568011f7a242ba7e653007fe461fe628b2c2317da8ada20e9db6fe323280f48825e63860ca5df6f021b0f1b7b114c61a8 +Tag = c6b280973c27ba26ea1428047ed2 +PT = 1bde0d82cc271066d3bdee79a9 + +Count = 5 +Key = f688cb53e8d40ef0d204810126f7d867 +IV = c9 +CT = 93263cd9625da516a6b53902f3 +AAD = b5bec26f5200f7d47a96da45ea129b184ccb8f1cf27a0f85c077e6a9a72f8f83935198d878e799d4d3fb75e90424a8f8b1b396c2808f30dc8284de23337139a3641a58645dea501a6e84d22291ea2b60076710e096ff6f9e8cc2 +Tag = 665e64196ad9e53a8eaa525bda4a +PT = 7f2007ea770bc72c8827c0a826 + +Count = 6 +Key = bbd2e93c57c3f27fabb0d9df1244aebf +IV = fc +CT = 3fffee5faa9dfe39cf46580f1c +AAD = 166d868f5d6f38cebecb0ccded984d68eaa87e81ec1d0c0d0bc5cc749d1312a8fe5f31e4f6f4696f49fbfc30a6ac22a1d01a419cbe57e965260fe4c098c7690bc436a54f241a454061f964faeae4948ad3ccdc964c6946ac8180 +Tag = 4882c5d80c7fe544bc0d20588cc4 +PT = 065250cf2b22124bcb7ab6b18d + +Count = 7 +Key = 5253cf457f100a533f7d30894af99908 +IV = e6 +CT = 091ace01dc80d4fa88a87217c3 +AAD = df8db0937daf2f163cce2c8f4afe9d3631bd0e3850472ae5fec28572cb68ff2d32b8ae3ac6a7e13f24e8fc1ed6c7e7a96cc358f9bdcb2de8e9989b6e27777935b84d95e2c39d344476f9c2bb94eaedf188174dd1e0e75ba67f76 +Tag = 46f3d6fc8c3ae1099029ae9ca2a9 +FAIL + +Count = 8 +Key = ddad43072cacddc7734b8f9e8ef87148 +IV = 64 +CT = bb1f07a520cfc71cd157f21fc6 +AAD = cfd1ca3a0c343b5b434e3e1801d197b3528e30f0140416c0cfa4e0167b1223d3680916e87d160c555084845eeffb656fedb6916a4b18c8866b3093d711061ff532289ac11645d67dbdc1d107aad7372c57229dd137742cd1cbbf +Tag = 6acdbff8a0af2e29446091d4084d +PT = 1faa3b65819f094ff35a2be579 + +Count = 9 +Key = 9a38fca7b10a0df71dc3aa172a93be31 +IV = d0 +CT = e951cdb6bde55428b27d16ed3c +AAD = 650283e0959c2f00132a38b4c107dbe265089c9a94ae4beddc723fd1861e5261417e0c3a586c602a329b4cf031051d5402e387c3c52d0450e3c374cc6610213537e525a3d251974fa6b58b2ebd38c3e63ae417fbda3436286e9c +Tag = 7993fefad27c893751746907972c +PT = 75f5d86702456b3625a0d0847e + +Count = 10 +Key = 4e3f98c96e2ecbfefa094e2a02c3a375 +IV = 3b +CT = 51b6ad16613ee377d815fc5bbe +AAD = 6cd836f70e12fbbc59bd12d4270dddecb78334317cfd96da7915a68cc3667a89ea3107f90d4ea65811af6e1ec738b29c85c6de6bf97e09e9015b2ebfe86b3e1a655c0130efbc9b5e17733b5e5f8916bcf8ec107ffe611be737e3 +Tag = 62db0eee951d1718a5b001a8514e +FAIL + +Count = 11 +Key = 00501b0a17cd83bbfca8a0a31c366ab0 +IV = 91 +CT = 793acf45dc42a4287744f7b553 +AAD = 2b80878dc1dcd57f34543980956c776fab048fb1eebb4ae2ec04a289445e57af9fd23d03ef9301de2e58ae15433bc165705705bef9476d5a6cdbcb4982a1a683f471c1789d5f52e0d0a4faeb2096eb0873d4a447978a923a1abd +Tag = 23292db707b067042a6fa83ab80a +FAIL + +Count = 12 +Key = 80e2ce1bb7af9f351ef699cb485cf5d5 +IV = 83 +CT = f666dd80500c7a3cee790dd280 +AAD = e74a47f63474831659e365480c56d01bbac37fa0c075e06c748b5089f039bac414abc33a0edbf31095b3936efd0a183dec5d466f8b8774620ce465f2d1905ea487b287fa005988794dac41051e4d55c5aa9b77502e7ae8c317d7 +Tag = e619e156bc6845d7c2f10362892b +PT = 20e077a45e553faf9b92671e06 + +Count = 13 +Key = 6aab17a9f8902762dec62b483b3655f2 +IV = 0a +CT = f163fc48e962d662db1c12f733 +AAD = 744f96ad452975f61e3dd143c9e8b87f73b1cad6ef73731e34e9c20b18bea1d6e2d8afb803cdeb817da0ef52676add344e63601144201bd43b01d7dd615b854cb4ff65ff10972a20945d2a1e80ef3b3f91c5123834901a678222 +Tag = 8bfee7088de74ab91b7d28bfc70f +FAIL + +Count = 14 +Key = 75ad02424ca87ab3d1efac569aebaf37 +IV = 99 +CT = 2e3b95783ef622ea4d016c33a2 +AAD = 4ccb5b4e9897ed87643c0741a70a0f5f71008fe25fb665be792192c242c55d94d440b61b16a3d5227619e59466023478bcd118b5c946e2884e9369663acad1c35e68b98001916fccd4667ac367c251d3e0d5e46f08cc4543501b +Tag = 7d87841bbecc30282cd326f540f9 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = b7bc6a4df8c25d9fedc15252f9935237 +IV = 40 +CT = 573f6c9ed01f6f49c2c39baed7 +AAD = 82c4048a04a81c8d57839a769993ce820d0bb07e26b824f1da792f532a30d2d57e7631799c7a676e3233585f9ffcfb32122b9e2c55c6eb64f0bd2fd1d7778ef67ac703b06d9ebbab4f67688138eccc8c55f50ac0706604c8d784 +Tag = 821ad2a52657262543b182c0b8 +PT = b562da30b93ed35c375039c5bd + +Count = 1 +Key = bd402ee0954a34ea3c53711022fc5922 +IV = fd +CT = afa9bf341208ba25f4a20d1449 +AAD = 35a0c6fe34b093384f3a28968579cc849f10044a3403f99fdbfd927abed3e01b94e8862a42a691482cc817754b1a691b8334f315a8fa8c66abd4f7de39cd08c56c395c485e931180883b83f163830d8b1fb10b5bd8a8e33c2214 +Tag = e88c3948924de3cebeb7f72be1 +FAIL + +Count = 2 +Key = b802f42f80dccd9bdb31e72eca42b380 +IV = ac +CT = efa03435663e547d8a3b70e0f0 +AAD = 92907aad3662ca5f3d35998525af808dc3f8e765d94bba88c7639a8b1c3f30b0ef939311b358f12daf07dc7a8dd35f5333b7db3dfb06f7f484ef7286f73f61e15d31abaaffd9404a459df691551b751e98be78eb2472fd349653 +Tag = 88b8698809939406f293e9cbce +FAIL + +Count = 3 +Key = 9c731b1255fb927556d2c99db7399345 +IV = 70 +CT = f89d41a9616d3b6fd99863225b +AAD = 1e57043914bde9c3543627dc66cb7fae1f6d0eaebb39f9d733ab2d99c08400dfb7abb9574b8e01c9c4c3f7d83502091f08e63522b1fd3ff3947460a7c6b4b7d7c76ab5f769cba8d13fee9b25daa32a5aa68d5067f730789cc6f2 +Tag = f187ab750aa03c59521595766c +FAIL + +Count = 4 +Key = 12f52f77e8664a9f55ca4a4a256723da +IV = b7 +CT = 5dba8240d527cfc0e84b648f7c +AAD = bd766f0b02ae8fe92d115d3cc6c5acfe696a46dd915b58727fb33303ea3851a5bbde46e91794e87e75fd51b4773bbb77294900fdd9245afb2b140731097430b34600aece96fb524e1df1b84a3cb3684d9be63476b4056a655e9a +Tag = 5dfa1c671e997377e635dc1841 +PT = 8e314136446a123cdf27fdc330 + +Count = 5 +Key = 0747a7ff92a97a1ca760acf0b793c736 +IV = ff +CT = f9e8771bb3b6065541c3c97cec +AAD = 307775165138704a4380f66f4d1f05c0ffa139264a36c528096041059dc58157c608464011cfce0dd5879298389b7f0fff8f285ce7e1682cacc1d0d76385e2319e69ed40b49238c77e8ffcf92f54b7cd2d6824f7a7c546b7ab61 +Tag = 8e7a1de9d18525b114b18dfa87 +PT = 6e44646dedd7217b2c4068b44b + +Count = 6 +Key = 8afb053e560f8a31573bc3dc3576fa1f +IV = 8b +CT = 5b4ea886829fc499de96238686 +AAD = adaa7ede1929a20bb3f9e3e79767f29ccbdb0ccde6ab659e127cd822e7ddd5a1e574ddd2ba3cccdb74b6cdc302885e552a4de6371fda5f231639f98ebb5a75f95c25b6f071cc850f7f2a4612db8a6cfb8237c3a911cd85cfa23e +Tag = 1cacc255fb75525965acee146e +FAIL + +Count = 7 +Key = dee3eaeacfa8d8d53d4b22a38d19f19a +IV = b2 +CT = 4e1db6c71c891fd74bc9bdc9e1 +AAD = 6a1614dac45a9167dda10eb6fabecdbadefa4bfe5902b1a261895ab37342ff79cc1f64270fa609c17df8833474dd7cc3f22a84ac51b4dc4ea386c729e85ea67cee82ff76184ca3969e43b4af9f50bdb02d49b568e18c225bc92c +Tag = 31f7167ea9aee33c9bb4003890 +PT = 8c973d46ecd76b2e2ffab9292c + +Count = 8 +Key = 6c5101e7fcd58503c812ebc558d6d972 +IV = bd +CT = 535d7361393b501f63a738daae +AAD = af38acd419a3bb32096dab492142c76819f88eedd4e531421d72a30f6a7247bc4e2ada15c3069dfa6d0312f34775ba23d4949fc4748ae76d17eadfb3718f2d2b370cf78316956916dbbad0e3a7cd62d7cd44954ad265ced68f5d +Tag = 0a81516809b7a2ed1698a7c650 +FAIL + +Count = 9 +Key = f6224daa110e12dbb66787be9f5e9b4e +IV = 56 +CT = 38cb54535014ac6d99fc366bcc +AAD = e2d8d550ccd30152860e4c2cd0070e21e8fc12fce8cd93a6f1d22f081aa37184b3b38bd24238afc807fc515f436721ccd69d24cf4045280d913eff385f8aaf4b6224e42e63d978bbbc72214cf4c4be38071ae8c33ce2b56b1df0 +Tag = 4383df63c0f80d013769ff6d27 +PT = b259f84c570905b07fc02f0875 + +Count = 10 +Key = b60b9cd2dfa5e0550331e19be05a4043 +IV = 3f +CT = 0538ea33ab7d4b84837ed6860f +AAD = 77dd479b9c279e4de42ff1691f7cb1bc392f13063283766acc512125c7e9df749560f9b4303426de79130ef5280ac4036da6d35579fe2a59c1c07a505b33fe873090a425e04a10b667e80e5bb7b9eb89140214e05411f72614ca +Tag = bf47f15c8bf9e0fe84f4db998a +FAIL + +Count = 11 +Key = 47cd47e2dab357484157c4cac86539ed +IV = 58 +CT = f546e62bf67c8b9756c504bf20 +AAD = a760190236650454fcd40caa8e072c9a384c1cc368799dd17221f42947441f4100b86ea29b81e12f81fc5e1d44fcf31353e399a1e512b32e44a8c3865583f9096989f9569ce94300f1f1ff7419034be6bb98021d57829dc3d7e7 +Tag = 55ea00caba3bd5aac35e50aba8 +FAIL + +Count = 12 +Key = e9b2eb76d766fb00f80fc3f3963a14e0 +IV = c2 +CT = 3a1eb98e2c4497bff426a7ac58 +AAD = 1bb94719f79e1e877d059f43d5c945856271be02b8e8a9d18a4271669b24838c0ff4487ff18186d17fa9b98a5d5ef537a481926c0cd0211f9757d62479e45a8717fab9f8903b7b94ecca1ca092f5b4a6f7900867456d3f5a7bda +Tag = 9e9cd23fad91a2e7b7b8711eed +FAIL + +Count = 13 +Key = 65c0055137a98fd5815af83999b6228b +IV = 6c +CT = 7dd332cf35539ff0bb69e7f6b1 +AAD = e942671c6329f91c51128071f514b6ca019c248cd04d85ea65844f7ada2456228147dc33c16dda38aa6a7426a380d1aacc81b0944d8f6220668a6249a8c41cb1f09739f9001fd15e9ea989af76c98a953d1bf49eab9c6e1f5932 +Tag = 41a27d360566505cc83ab8cae4 +FAIL + +Count = 14 +Key = 0d929d80004c728af703ee9cc90800d3 +IV = b2 +CT = ffbfb6f74e0ec893aa51ac3b70 +AAD = 31f0999d561e45f48d31c1e0ef9125ef5fd30013b78bf7072d0486ac668a90e1befe09f13799b0d80718af85e79a40d74dcb1c3f52bc12101697940966e8e74d9c29bb691ee6072668d859ab77186ba2a45245272be6fc4d83f5 +Tag = 479cbf0cbdc3021b170c02964a +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 709e89b59114aa8fe3a111bfc3a98e31 +IV = 85 +CT = b6845d0bd05ea63e916bfa311e +AAD = d4599acca0e55f86549f6fc32c8f4fb8137f583e31f0f0f287c3a81f7bef2ec2107c84518961465518c3a575743774d942950aa9f3b6c068ef16bab6719b467351237270afd144e123c8da5c98c78219dab43d519a36108bb9dc +Tag = c84af1a539173a4d078d3a85 +PT = 987eaddf1ca4df9c2ed7178341 + +Count = 1 +Key = 397384c44c80a846c51988ccddf087e1 +IV = 7e +CT = 682c1ec2d13f0ade6a833c2c74 +AAD = e34bbe8c2786ee63360ead9622c68bd53861a2410ef810b859f06f4aac555c2485ea723759d01a6da052a0bf6ae61dabd76dff6cde32c1a47df8ae1ad2bde9e591247496d45d50a6c1a33e866e6c1a4f0b95f3bfa361fd6025f7 +Tag = c4daa43d6203c4d8eba71bdc +FAIL + +Count = 2 +Key = e2989462523f777a4782faf47621184d +IV = 4a +CT = 038d821dd4a6274227529deb52 +AAD = 568dead00d73b522907776c1c075bbf32bacfe93b84412060277b5893e5c65a35855e75c87a35d6b942bc6d9e1dbfff18e57c8878cb7c9d649637283bc201ecc14489c0f6ea8311915f2e4489b5b95e6c7e59ced8481f9baefe2 +Tag = 5673c415f8e1a21a7ab7cc0f +FAIL + +Count = 3 +Key = 1e776bdc9d9ca728b6b2c08b7faebcad +IV = b5 +CT = 2d031095c0657e7186318ae023 +AAD = ce13b306da40e39828635a40b4dffc9e9f2f03f19876349c49748b0c6f3d53e17bfd0322fe683b3d3531313a011baf23770d514b2ca234c7dce4a11016cf323373431a6938a8b376ba2e93dc9d8ccd06bf300096792bf43818ce +Tag = 507c4e1257aae656ca75cb20 +FAIL + +Count = 4 +Key = 52f7b8c5f58a5516f1f796285d2b65c7 +IV = b4 +CT = a66f8c16342d0e546b21723ab1 +AAD = cd84a80d77f38b45eb7eaba4087534a71702a2c9537b34407eda4fa6aec1f7640a3a345cf2c6ffd3081781cb8a2671a7b4d74efadfc368613913fc41a62587d37edd3db0260774ff1a4fb6493f99c1a707cb51c4fc1fe03f7945 +Tag = 47e800dc1da5f77f8c428cf6 +PT = 2789c9f92df782701f9ca5d0f7 + +Count = 5 +Key = 54591b7808e15f82e8a382e61c55df43 +IV = 72 +CT = 12366ad9272ff0cf7bf7e13adc +AAD = 44582eb3b7d583ae92b597bd2ead0cd1e2dc60d104b942a5a3d9e975dd05a83beaf876fa5731167212e08f07a78ae82854a5795b56a79d562ebe3ea5f466214ade8e43a2ff0279fdc549a98a37065cad4e36e3337474e335d233 +Tag = 218b26f2a519a013449e95d9 +FAIL + +Count = 6 +Key = 560321664955240dce153285d1e9171c +IV = 22 +CT = 76db1d0693d59fd940951fc709 +AAD = 96729f70f945e01f49d503c9bc137784055fb24c385c183d3e84fa48150194a8c831f60f13dd4a8f17bbf54cb848e3cdb03d326ce03800dfdebf4b7cd6dd5cfe7ec74fb947ed89d449d228a30d98cbe1281f5f73f0c3c2c4c7ee +Tag = b4c1025a2c319e13834bba04 +FAIL + +Count = 7 +Key = f692faadeced9dac6d4594978c742bd3 +IV = e5 +CT = e95d334072d4cc8e0404076309 +AAD = 941e89621e240d65a7d45d8d6ef3014e649528b874c70c530f2dc1c83e0777c430d02e335125e17bea198aa0c35cf0654b5c122cb053d54be5c18d5cba05e2b6c57e8ce24e83059e8241210db74e52313ccf66a9f81f5adb9572 +Tag = 77a7bbd7bd1a63aa886c0471 +FAIL + +Count = 8 +Key = 101063ae5952fb4dd2e4086174a89516 +IV = c6 +CT = 47686b1798ce6bde7d30b8b32c +AAD = 40ded21f3538ce6597cd2e0718239fa70f8843f0ed673f1549a7f5e8b881ff2a0767a6af7311242ffd293d5b32f6879428f06812af34071525984b4d20f46d0e256663fcd2086eacdf24fa7107714a7518d9759d096fc9de44d3 +Tag = 0fdd4deafef8f2bc9a74181c +PT = db5eb211d0b047ffbeda3f8ec3 + +Count = 9 +Key = 396ee2bcb6e19be68a53670194900e20 +IV = 26 +CT = 30f2325aa041dd63702997b765 +AAD = a2f00fcf7968e37e453eab985e7be3f5e159e44f8920e7f01e5d90728fa4075331c4da2a02c36343e19553b2085c59a5760659651f6a1c0b92b8fc7b2e456a2d6e23ecb2845be571c23247cd09bd54ad92a7886b460edc7cc034 +Tag = ebfdbd51d329f950ad8c4cfa +PT = c6398e9bb96d5212520b51ca2b + +Count = 10 +Key = 1b0e8e1c77127b8492757982c1320e23 +IV = d0 +CT = 16ee44d08fc849b6690a6887f4 +AAD = f268afb1ec3650f3aff2674a1e3089d97b6b349de7a646f3ad3d509eed27a412690156752c9f232e9c73c8440c31d015c7644f630cf45889836b7a73a7a79d263ec3d8cce9a7cedc36b52860d18a1a46173afa7ee0985c1478f8 +Tag = 1ce01fdc9c5d363c01b23fad +PT = 4484a735bedc6b9126a91ceb2a + +Count = 11 +Key = 313a4db0438b99774ea31e53d866c4af +IV = 78 +CT = 084ac6713b14bf3cefd862fd16 +AAD = 73735e2c24c17890d06367534886b1c22b031856fc3031daa83541c2d1a10512c246c0974e32c7caf1994a1cc5628fc2b2ffd05d6c988c55b5d27f3000e2fc84841bea67ee6c6332e4f252825736a3e1526c149223a4c421a367 +Tag = 5356ece5c2f26d5442b25fac +PT = 924d7026af28480d2cd3c99d41 + +Count = 12 +Key = 31ad0a25ab4557669ce8be4d8cb45385 +IV = 90 +CT = 0b4a424972f23c9056125e85ad +AAD = 700a270f4790a00b81f8de04614acf68d1d6c7f704431942da84188a08032d5643c3c0b72f505e868331115f1399182d9894662b1c4441609add8852ffc77f6a624cfb8b6a03d56cab45f25aab0b7ca583148285dc2b3f2c5bba +Tag = be787a2f44474e52aca1a9de +PT = a0b05bc01658c909a5ad2fa3a5 + +Count = 13 +Key = 7811c37eb569f3cbf76ffeed846bf3c1 +IV = 29 +CT = 82a41cdc5691ca00183b5c7c4b +AAD = 8a123c5d1c86c0a277a9ebe3a9e4aef0b7201b934e77484e3a5d6f19afe211ee3add413748bfabe7fe23b8b59c72f478b04136687084fd83fd295c80360a56cf1c5112c8cfa2e4681691b1884759fe6fb6d988973b88b0592f7c +Tag = 9244b5e8641127a134a4b39c +PT = 6e241a406c71be2fbee746a891 + +Count = 14 +Key = 7754ffbf8865d3078cc7ec592d38dab2 +IV = 93 +CT = 854b4da74e5c37e3603e79af04 +AAD = 37885a2a12fdb5d4871be51d6545f5a6b737f79c9ee895cd1360395f92bc63aa76ee8fe9ed949fbaff8c4b3549ffc82b0f80bac8fc7270bb0c3b9e06d52d61164829d8735cb0578b3b9b1bf8fe4ac86da27d51ef70e3ba09f14c +Tag = 26b28b834071dff2c8afc3d4 +PT = 4b4e2484a881317617d25636c5 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 4da96d6bba10f3c5b910c948830983f0 +IV = 91 +CT = 61cf17799dd38ef9afe4227ff9 +AAD = ce17c89b482595be6add887bcf18eefe41da0bfb251537c47bd46948803de30bdae97ffcb5ed8f4ee7f382bc3f1e37df72aa4e66f2eba89f8bc1ddf4a8ab081b9d1bd36299267a5c428d545edc20eccf92e140ae9cc869501fc3 +Tag = d833c377a00eb7d5 +FAIL + +Count = 1 +Key = 12e5e2c2234f5a40770df249a0c173e0 +IV = 7a +CT = 4cac1c208288f2139ae36884c2 +AAD = 4bb8652ff347467b0cdebac00f4705ee65e93e18f875702d93fc3467d10e4cb0c889843097277a201bb46fa70076ab22d3c059f73276576a09f9355cfa781d973f7273961b832d3a9364a42216959cf5d85e85c071aa3cc7b4e4 +Tag = 1e5721270b269aad +PT = bbc18794e1f336028bc6c821a5 + +Count = 2 +Key = d7bfe5ee32c376b30ce71d66ab9a24b9 +IV = 5e +CT = c43d6351a9a35aae53703cf275 +AAD = 85b4fde1eae8b5a1a94f523e3c82e120faf006dc30bc0ca5b5abd53536a2cc5a7039430403d0107ec8354b4002f4068b9af38fe5da9dc63ee379bcc0a52c56980a7235eacbcdeb3feb9ad5ce0204572a50f734acaeb23fc950d3 +Tag = 864aab11007b8264 +FAIL + +Count = 3 +Key = fba78a8505ae1f2ae7b05d58fb7671f6 +IV = bc +CT = ca8240c462ebf03338c8569dc8 +AAD = bc8ea61dfd9ed5a91ad37453f9cbdd3a08657330c029a9427605abef648c1ecc178e92fbc470d7ff2577ffbbf9393608a8e21b96e863630251992f45987209955812e8fda0d7bb21cce033307bbc8579ac07018e6cde6a0c0a5b +Tag = bc3a70decfaf4cfa +FAIL + +Count = 4 +Key = 00fc3eb17c9a30638103b680b68f829c +IV = 74 +CT = 0d89defd5e0bf6a2ea7604e006 +AAD = 95a3b1288fd2258e9a491cae4079257a90ac609190e9351346eae32ec6f7553b88a0283e16d6f3ed0034456aeeeceff5dfca2d513135adadb6cb4fe05201b85c4c07dceebe627926a9b5f26bf416e38f8a3f5cf4ada101241593 +Tag = ce219e43c1cb2e08 +FAIL + +Count = 5 +Key = 023e2778448ba3c89290e6a976d07acd +IV = e9 +CT = 953791456967017796c5110704 +AAD = c0e114efa296b9bbc932694b0c15202e07c895b5699319cc43bfa0c316fd8defda2112a8024ad0f049b5637fe6fb9b2c9e3239c9818301d07b746cca08b8889b9e543348ad50040e66d7715d8bce48d0878c794478e059bea191 +Tag = 9283764cf2a589c1 +PT = 09ef0705b29200212a531b6aae + +Count = 6 +Key = 8fbe8ffd9559a6d5f51b1c6a4b9a84b2 +IV = d0 +CT = b3a3e8a6c6f7ae5263a6fd5472 +AAD = 0d9ad72490d6204d88314627001289d7b556a600be96977c7b744ee55c6dced0c883fd122b699617b174a4f0c7505f0d8f68282c5ecbdea0ba5e61b544178dd927ab078af55ec779c01a3ac2701cae1c2a35c0707215094b61f1 +Tag = 563ad10f9e2ef519 +PT = 901413bcb415c01c8367e05c4f + +Count = 7 +Key = a34551915fb23d7beb2add70267f8072 +IV = 1a +CT = 974442b88e2402e50c35e7dd98 +AAD = 6f5be76e1f6e6438f9000ab633c5d73fb2bb8c1c385cd15ada4bd2e4e7e67fbd320d127229dfe196b49584cf46a3047e1f31553fe793df72ee50db36e7263c3868f059622eb6370ac8cdf17b278a9043d076cc15de7aabf3237a +Tag = 8a188795639fab45 +FAIL + +Count = 8 +Key = b4dfd5696a6d35ce0839cf9a4fb8bcb5 +IV = 4e +CT = e2025c9e5e79b30e0a94c90f66 +AAD = 8e34f1c57e7ab50bbbe0ae7b56a8902c6f094e7eb8e94b5640f36c6012e6691ae546c33b8645c6a54fa14d29ebd696a661dfd92549d0927d5fe66ddaf6bf37af6c282638f8aaef97989f86fa78d73535902b60b85c10a9f5728f +Tag = 9a8e96f9e5997eaf +PT = 560c672da3e2fdf961d60a9bac + +Count = 9 +Key = aefaa159232dc9fa9c8f1f5c63bef865 +IV = c6 +CT = 5a3558172ff99cd972bfc0396a +AAD = 485147acb1058d99521cabfd8968a7bf357a5225c057b4c1fae93101399033fd92cebc36bba4f3c8a137c76b1e955cf577aa5ee98e57a2648612a0a18aa46e6173047503fba8ae535d82fe4f1934b8042c1bac4180e7d8efac33 +Tag = 5b6a165b7ee7b866 +FAIL + +Count = 10 +Key = db331b94c79aa88253fec09f6c2ad4e6 +IV = af +CT = 99da46f396dca5ca862a03fab6 +AAD = b14c12d528bbdcaca5bc045e6900fbb230bf31648abe8415528498a350347d0735debc3f76630c3997a9d27f31ae8c29328599b8b5ee6287b438cf3b3e3cc2ee456928eb922cb359a921b9211b055d5ebefd14258f88f2d62558 +Tag = 6d6a658592ece56a +FAIL + +Count = 11 +Key = 4a1c70d4de8da98c93ddefc0bb5556c8 +IV = 89 +CT = fd5b04c8f9456761a93a52984f +AAD = da65307a10ae89cfe4726cb4dad1ea5229c169bf05850aa9f6e56457d30b79f5d71d9e3902064412c199a13186cc82008d651338c759aef97010bdedcef840f25e3721688a1ef1567d4c0f0c0693f7c11f36d619a79a368355f0 +Tag = 11d64cf54566c712 +PT = 80b8908f27b0da97fab1ba0fa4 + +Count = 12 +Key = 218c1fb2b7b58255e3cc88b39b84a4e9 +IV = b9 +CT = 9fd3e7f0428c343aebf9d864da +AAD = 1d3921942875eb984a7ecd3b0e9298c32ed1f7d2d32305cc26a02484b0a2501313c08a661533043db32830ad3e04a3f32717a937029547cf864e5ed5606a450c662a7ed07b7c1bb8d876adb29b022f36c8c2ec01a9a21cc3913a +Tag = 565c335db271acf9 +FAIL + +Count = 13 +Key = 5ce623465691575169e1b68fd3b3b802 +IV = 1a +CT = 749583c992e790a804260a8493 +AAD = 95e59881d985ebe8db909ab1a275ef825f670dba935b6c37ab6fbad022bd09bdd2f13fedf1b857da999ce7af150c543968a50e24160faea8478ed66b0d848dd5a763874aacff403d49810ba8020494bc7944cb1e1f8ac9a0c2b2 +Tag = ea5f13873b3d5a36 +FAIL + +Count = 14 +Key = 1248fe983a50c80ead3a8b1369648884 +IV = 34 +CT = 96c9991a43134449811137525b +AAD = 0dbb4705e4d676e34c698afd611b6951a5f3c269ee7dfd34c1afaadfd30c9c918d9634d4d86e7ab6c1a5794fff74fdd060540635b7d10d70381ecffbcc52130327893a298c133812b677ed68493338eece5ef15de7c0b0f7b2ce +Tag = ee0b4f572ba72e75 +PT = 5b5bc92804e114f675284f4202 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 691be5257fd912dd8447381d854ba8ef +IV = a8 +CT = 66b5177615e234413e38bacf31 +AAD = f8398c70edf1be592c07672b00a26ad76a71f845907016a154d9030ffab509677b989b34533372dd6202a8e8917287bfbb823f398902245422c7787d14ca903f9f58bd8665fb049aa95bedc6a62c3979fafe737190dc3306ec36 +Tag = 74a1e569 +PT = eb0d96b3bf24af890863fc486e + +Count = 1 +Key = 43ed128bb34941bb2a132f2382afa996 +IV = e8 +CT = c5c25a2e07364622e656e44569 +AAD = 7e9f9063f4057e426009a88a0b7370e1e8aba4897fe7e314d249b661ee3ccc10e02171c6be66529842182173939824da4ac0c7bcb2a25ba257983bfbfc2782f87dd945e571150bdae7ac077b3520e6ca8358d09f4d7b66659e95 +Tag = c9de0888 +PT = c07ced838bc1d27fa6b9076eb1 + +Count = 2 +Key = b6aec17112e131094b2772b34eaae40e +IV = f9 +CT = 3e54fcd3735b1b41d6fbf5a140 +AAD = 9ffa9011adee1c70f2222f63199744149fea8ed9f3258c40331798de664ccc2d6864ec9c44223ac5de49cf3286d6e1fa6979dc9a110a9e6f0b54eb3feb2e632f881f6f6a768ca806d6ba837cacf7c9984fb12dc846b386e4adec +Tag = c4828d42 +PT = 3680def49c6829a6dd721169b7 + +Count = 3 +Key = d913c2b2ea26da9ff166fb88a87e3800 +IV = a2 +CT = 691dc3bc3a47e755dbe467aa75 +AAD = e0396ab652664fa8f1268c40af35946bc5a48e0e02c44cd6658bcc5a2786cee9a6aaf4afd89410cdebcbae95d30806f1de262bae5e9b0dac76949736b953a5b6251d83c1627c4c789aa958aa285df84e142eb2cbd391e38fc7d1 +Tag = 27355d1f +PT = 9a2dbabe29d55ae39f6c2ac68e + +Count = 4 +Key = a0e350361385834fb4d13ad91fa8e42f +IV = 7d +CT = a751c6e2240a3214dba3acced1 +AAD = fbdd04eb969a3d48003f4bed7f956968c1306100b9bc57ec532f59c129e32f392c29e115c7efd3b0972844430a69e232498f82e87372508ccd56866a079c1a3f90935ce74ff1ebdaf31ae96527cc16707a901abf3084747e0992 +Tag = ba2bb1d6 +PT = af308edb9eac86dcaebaecf400 + +Count = 5 +Key = 17fd7feaacf1c8262f865c26a233da2c +IV = 8e +CT = ba2ed7b3c5c6a6cb578fb0fb43 +AAD = b3d4d4d354b2446a57e989b6e33ef65fe3a811b6388d5829cd4ae27eb66122914a5b7253aea82e4f9b438645a7cc670855f9e832d6281bd8f8acb08f6b915da50b46f3dfbcfac84eabd8fd80c73fdaff73be5d14a057655f687f +Tag = 13677c94 +FAIL + +Count = 6 +Key = 162196d52a10ae94b4b1141745ccfd04 +IV = 81 +CT = a54e6f360df87baf1e4a720bcd +AAD = e19729a30ff16ab2487dc2bfd7df8efb85339446267e08ca638e877b767f3a4e7b4dfa1f7d47a93a20899beff16c2223d0573815a7a2099e79235faf3f8ae5ef78b038070acecd084ce3e3d3a6df021f45265978b0d013a368c5 +Tag = 0ae21c68 +FAIL + +Count = 7 +Key = 833ea170b38efb124f62cbcb821914ba +IV = 6c +CT = 0e10d3409d4eacc45949c7621b +AAD = 1cf9c8251ca22d26dff1e0af055a626fac0e49b00ad7cbfdc52ffac0ec0b328a842af7c3850186becc38fee40a9e549b0b60e8d07bd7585109c976f1fa28a94783a77bdf0465e12bed71049f55df59879fe481766b36dceaca14 +Tag = 0d5fd899 +PT = e25a9551f2ff2ea18cebcfbe17 + +Count = 8 +Key = 69fd2143383f9c6b94f3b5a40d459819 +IV = a5 +CT = 6a58e68996c5f6c967cd9c7172 +AAD = 180925bd87ed4c83baf0b2cc4adea04760ec2ce5be39b89a73df08edd172798a19026e145c16dce338359a454d6835118f5dc1ea3de24f8ccb623993fd518e96ac4ab9f8cf99a4bbb200de322fe499e4fa953557fbd31ef09147 +Tag = 7a126f58 +FAIL + +Count = 9 +Key = 53adef439cf3d5d3c6d9a440921a1ff5 +IV = 87 +CT = 1ff3cda325fe9e958fb4ca1319 +AAD = 5e013c02878662f6b47115500b639e765eeee11c536ad1df38b2e9f134b5227dda2a1242fad34638ad46cdb9529726b70858e1a4ec9ee821016edcde72e237d12a63edea86821ebde7e2eb0c4e11d509320e04c90d23997cc603 +Tag = 72c8e060 +FAIL + +Count = 10 +Key = 522c98d154c1c3ea5a7e473fc6756037 +IV = 7a +CT = fe787da5432fdf90ea45d5943f +AAD = 1a092866a39fa2a730c0a2e46c56f5d98c4d18407553b8a9603c72023d470c3bd43a9044ce326622283a9b8cd1ca6adca863ae75fd70a9c5c70ec2c509b560784a3089cb8b618c94d09c88e1b24809c26c8c499faf3175587807 +Tag = a599cc31 +FAIL + +Count = 11 +Key = b3791c277c032599f698bb7d76670fbf +IV = 97 +CT = 7fb92219c164177474a29bb2fa +AAD = 7289cf244f29aa032c7edb88a336505506d4311beb62c1a349a1b9a4999b7fb164b904892597e10793b1c03f283eb7d146fcdf364c7703708dd2b8aa7d1a3dddd0c1efda60c21be2a2e972bb768a21b9c086ebe581a5b9ef72fc +Tag = ce167187 +PT = f4f18d879cd2c3140de4134149 + +Count = 12 +Key = e76d6bbd6cd872d566f44fc2282575a6 +IV = a6 +CT = d3519652937941ce75b830c135 +AAD = fe5bd399b4a0999a4c54b9d4e272323c00dc04a7f70f9b74a23693eee9f9d4e467d5be83123143f818bc85343d55a533770f2e902ab2b50e702b08058abe36ced027fcccda837391b3b7c8195664811dc66f77bac187ab711772 +Tag = 269ed3e4 +PT = 6173b61670fb2ba5d4a89fb93a + +Count = 13 +Key = 8875edd5788ec2e47018e852d3a6df46 +IV = 80 +CT = a4d1730f05ed2da44b43adfb0a +AAD = 98f45ea144f2512b3f1f82af9fdd4c30e528e67cf1a849fdd2034d7afd81a8843a4bb1c68cd4143f5ea55344dc8b5c52ba9fa43174ba5fdb10e2f5fccd803ccddb2f0b667535c240aec854b143cdc5d57ab9eafb3da44d83b67a +Tag = 4f2819c6 +FAIL + +Count = 14 +Key = 9badd3092a4bc364c3c9310f0a7963c2 +IV = e7 +CT = 01a2cfd405c91191a92f3719de +AAD = 586454740362dae1dff7b29219242143a6a36e8a9c7ebb892d91a343bca61be036554a491073cc88c8a3c45cb8f5c88d6132e77a57f896eb0ee36ceb8d5802764cbf21d4fb01dfeb31555a654260f9fecba4fac4ba271e2555d4 +Tag = a4c5edfe +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 591e1b505e38fdd64e7019b049222ee8 +IV = bc +CT = f5bdb5aed557e17be48a7afa3f64e35eb10dd08b88e01bc1d6036fbf08965452 +AAD = +Tag = 9027f3d3e90745c7ca3ae16211b176d1 +PT = 2093f75ec698204f94a571bd938629dd6b053b69fe89999750127dbb00edde33 + +Count = 1 +Key = e8d2960b4db3ae1df79198de63b943fd +IV = b0 +CT = a76f5160fd1e716455fec00901e80296e55a0fef8367baf0b59455279078e687 +AAD = +Tag = 7603dc3a1eba1f5d7e748b9b28ec16c3 +FAIL + +Count = 2 +Key = 0aeb229f005a6e78ae5dacc26f339620 +IV = ba +CT = c4e6de2205033389ce229f597d74834f65f8e31ac1bcbfdabeca197d5b95f429 +AAD = +Tag = d4effb1c7add5bc93c228df3f253ef39 +FAIL + +Count = 3 +Key = e74b74b689022fe192bc7a874fce557d +IV = f7 +CT = 4d828c3d633f14439623a49dadc1653f4737cfe71d7e2ba92810758ed565fbae +AAD = +Tag = 01dd8affbe471f72c2f6285e1b831ab4 +PT = 17511051d0ae50f77ef19fca81f16d96dec6be986d0b2d9d144dfb9371de692d + +Count = 4 +Key = 99ae15d26f7ced0c0045d7b3f23bbac6 +IV = dd +CT = 06e8f62d97e7b0487b2d408f34044751a3c4ed4c290fb2758821553eea54323b +AAD = +Tag = 2d54afdcc6ad661cd8a5f4b485c70f00 +PT = 1e6cbc2ab44b447421f9917b8b70240ea208cac17d6aa3e7e9a5b096b671f7a7 + +Count = 5 +Key = f77277a9c6195fca5d1c0fe22c95adc7 +IV = da +CT = 41a6ba3648ca812966f74742afd81ac813f1a825c781a66a384ae7c1c31c6bcb +AAD = +Tag = 17cbc21260006b05895a90b2993478f7 +PT = cac25e0c0a5f25b8a5d4d54f34c8ad5d2067c1fba2ae73481d09978ba8ad6524 + +Count = 6 +Key = 681687f303b4988a4195357645a269fa +IV = bf +CT = a090e0cd6d4412b1694a264b86384789cdc2f5a12b17bb05a24841be69040d79 +AAD = +Tag = fea092b2fb98ba44cab53461e3a367fd +FAIL + +Count = 7 +Key = 71e7f922f6cd6f9a910de857d23b8f6a +IV = 89 +CT = 9cffa612f9fd48a99fcca8b8992ff2bc276331a49bea8b23f786ec163aa604a6 +AAD = +Tag = a9e234a24aed7e628e29c456c73b7dd9 +FAIL + +Count = 8 +Key = d2bd79a922d7ec8ea72958478fb9f36f +IV = a1 +CT = 40e78a3ef99c072af179e8be6d6b5f19224dc38863ad1dc5de843d9c8b5dc1ca +AAD = +Tag = f39dabc91fbca7f153b30933f6d60fc2 +FAIL + +Count = 9 +Key = f82f64136ef7565f4630328eaee7f9a6 +IV = 49 +CT = 53be12505208dc12b054059f87e49a0e805139394dd8449d85cb8cb3adc11a13 +AAD = +Tag = afe61eebc782ca9ce0ecc90cd291978f +PT = 756112272ef75826a0a7be95608369fa75a704db9b1781e1f82de389d43b5b47 + +Count = 10 +Key = 96f45efc32888eeca61beba2238c0cf4 +IV = bc +CT = f36ac5c69c704684a4f5109939257a442ca6f2937a2a4aaa692aaafe0daa951e +AAD = +Tag = ee31ab4b2c179f2dbf61d2db57381bdf +FAIL + +Count = 11 +Key = 9be2960d0b6dbec941e8c003ca87d9ad +IV = 9d +CT = 9a5cff51aa690abbb2a9f5be71fc2fa1e703576dda4f8831949a63e3f971ea43 +AAD = +Tag = 2f5dadb05349d79ab07afd2d8abca0a0 +FAIL + +Count = 12 +Key = 66018593618b7ea5c50f9507a41d3dbc +IV = a7 +CT = 40f6cadc596ec03633440a31a68557f195e37b75306b3ed2ffd7ada2767db7d4 +AAD = +Tag = 70bc1faace712b4d865f46b4848df6ed +PT = 387a64d6a7a67f2382abb83cfedb7ec9e1557151909d772ffebd17f275c13201 + +Count = 13 +Key = 54e2261b2ca119d73c104f8be6b07891 +IV = 7c +CT = 0d318d38d6340557ddb43725a568ffc9b88f4897bbf2c60406ad74e7f1b49075 +AAD = +Tag = 7cfab9b7e5fedbea657ded3e6e5627ac +FAIL + +Count = 14 +Key = b830faac69a690b1b6bc7df599104f9d +IV = 20 +CT = b79c3e9796829d1a4b8dbc2580315a09682cffc9ea257deb584bd92a627485aa +AAD = +Tag = 7c6079495f42ac4463ac4ba82fc3abba +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 444bb80398fd453dece16c1c2e502d56 +IV = 7c +CT = c39520e4d25f183fb2d45465533c50043cf3291d544c8aee9667f2f3648dfe35 +AAD = +Tag = 6661b8a3efcd86d7a86f2a6054ce91 +FAIL + +Count = 1 +Key = 63b3681139eb018312d03ae44eaccd73 +IV = 0e +CT = d1d0acd6a7694cd68daa12f6a14b112ee07d616cbcab1fab144bbc4d3feae0e3 +AAD = +Tag = 8828f48c877284df8edfe572f45d0e +PT = f0e73d6cff41a2b39b5b436c7407ad79e502a22d33ea9e2b22ff21853f3d8e7c + +Count = 2 +Key = 9432b3a68c0b542a67d5a7ebc56cc1d6 +IV = bb +CT = e43382afd35ef7a6d30818225b0dcfc08b33b716153586ed10778c64b573bcdd +AAD = +Tag = 0e82edd6d1f7bf117277d5b96e94a6 +FAIL + +Count = 3 +Key = 252bd3028f2a6216dd5c61c1dcd186c2 +IV = 53 +CT = fc5f5aa1905b3d429a7fbe2854f587ef778751f617013076b2c3a5e3e45f489e +AAD = +Tag = 7e109d045b8e2db22037db54241bb0 +FAIL + +Count = 4 +Key = e34ddd118599202f4235e7282f41ad2c +IV = 4e +CT = a03ad643a9ef4563c6c968b2f52cfce6cf9dfe24db1309d73ac59304bb59da60 +AAD = +Tag = eb8752fda75a9f089230ec7af810ea +FAIL + +Count = 5 +Key = ebd0db0f83f9be3a81fa271f6974c20d +IV = 10 +CT = 92d31d61588130690b2d148a73c3d3e5f51a60d35096721a112c710c1ad2b303 +AAD = +Tag = a67ed5dc2f0f362adfb86657b93396 +FAIL + +Count = 6 +Key = a2af705b34dffe62971d92031cd42809 +IV = 3f +CT = 6ccdc9e1dd054d3759caca47b503bad5534957b079d0ebc83bac76fa45c7ace6 +AAD = +Tag = d3c19fd0ed1a3c3be27fe2fd0a0385 +PT = 41b681c8f69309bef7f730526f6a0f43bf818d2c93872228f4408cf98e557a8a + +Count = 7 +Key = 4d091d1f9e6fa743cfa6a8eaeb6c5a26 +IV = 9f +CT = e296fd3005e1d18fce6b75730cfdc8c77f5cfc114447ea5031df4d7c393206f2 +AAD = +Tag = 3aebd32b4ad4102c24e7279c0ca261 +PT = a24cbb7d4949c9f9c733a015e5145f6057aee864826ec782683bcd8b64f3de4e + +Count = 8 +Key = b962cf712c990181141e84db174e9559 +IV = 86 +CT = ffffc396ce8b7cd146cec11e086c6e6726a98b897186bf6d017a688e6f83a5cf +AAD = +Tag = fd1840ef98404e870e671dd69fd0c5 +PT = f43fb177d25e94044cfcce708a89c77be74e5d09920230fc3a5bc4ef4d7dce93 + +Count = 9 +Key = 65e1a57a9db95796e11c5e1243060fcd +IV = 0b +CT = d09397eb2f16174fbe8a5a0e03d0c0630c2e7febbd07744bcfed6ef7cce3914b +AAD = +Tag = 136daf21817a53d1129c0010b1a92e +PT = 055070a64752ae10169becbb12817d07bd47b641fdf8a0ad53d6fea72620950a + +Count = 10 +Key = 2c97b2e5bfc92de5bcb31d6a96e0b808 +IV = 9b +CT = dc4b9732419d31462308c501a3145c31a6873d78b9b81c91430580338b28bef4 +AAD = +Tag = 3d83dabe549d9ecaf845f444d66641 +PT = ff07188a81610b8464745376b2581eb6e6bd492031b4404e6af941555672fd48 + +Count = 11 +Key = f24c881e25a1cc93f38fd3eefbe6c3d3 +IV = 27 +CT = 7d96f5da210cb2dd5f63f14dced135679b6fd8df5e1ce0f129d33d3d159b1f54 +AAD = +Tag = a239185bc931e9aca858d09015f370 +PT = 2419a9febd86f71470d48171b1014d00fc599bb1ccf86519a0128eb9c127599c + +Count = 12 +Key = 427c4970c3d5788c01c236b3e3179948 +IV = 3d +CT = 106c9371aac221326adb5c4d9b7017277ebdbc72d71e8ecb051abd1c7f204124 +AAD = +Tag = 8996009ce7fbe5cb93c5163b0dae66 +PT = e56dc344ef0173a3fc7d747d59d387cad3135f1a9041fd6a6c9f3f9711ff8735 + +Count = 13 +Key = 4de3c9b03c582b16927adffffec26879 +IV = 83 +CT = 0eff8922be52a2c552265321abc17f48e33b929440ed5e474398921a7d1af18d +AAD = +Tag = 67c19ada911757e89add50101c13c0 +PT = e23d94b8bb2873b489a9f63f356f1dbd1bd62d34668bfe93047d7770e934c49e + +Count = 14 +Key = 7f882a82711b0d3dec50600736e1aeda +IV = d0 +CT = 8472f0cdcda91e993f6adda8c3d239d6fcdea7857577c44ac5357edc25c779ae +AAD = +Tag = 35d2df699de3a0cf47b90d592756c9 +PT = 8db18282595a19a06b1d11022391fae501924e46f9a831470afe0431d1f8f55c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = faa4e23041947726020a7ab97a67d183 +IV = 83 +CT = a1e5ecdc67af1b7c47755fe07abcff9c942fb51f75b5e25f5b4ffe3560c4cbc1 +AAD = +Tag = 8366fa7247e710cecd6515fbbb99 +FAIL + +Count = 1 +Key = 77b2dce34eb0a596c0b84f739f4bafb3 +IV = 1e +CT = 8a8eced15f9ec10175ed4bbc08661d892d11cca91ed66000838caa571fd21022 +AAD = +Tag = 2c007c558d38a00a5b958d2eb836 +FAIL + +Count = 2 +Key = 1b77299a4e847142f3ad2027e24b16b2 +IV = 65 +CT = 1679d65375b1d7b76fc0b1e4b395a048aa2a9a0456b119129d919ad030fd3688 +AAD = +Tag = d9830b0deba025a9c3aa38188d75 +PT = bae0f55806257031935efd4f6987855ad0fa3e30770ed3f588f09d100abaefb4 + +Count = 3 +Key = fd03f98366b580cc3fb68135fb2fe583 +IV = a9 +CT = e6dd1f98f7259d90498edfccb039e13a651e5691b98a843f92315b80d0d80828 +AAD = +Tag = 1725db49a2fd67cb34590ff149ce +FAIL + +Count = 4 +Key = 2ef4a5788f62e2156d8b234b729932cc +IV = 35 +CT = 12219d1c1b716c7b1695acebe67cab1024854d728ba5b2bf700e5f5c16a0651b +AAD = +Tag = a452cd1323b126d508ccc83458fe +FAIL + +Count = 5 +Key = 1fead358413458eb4e3a9854b285a240 +IV = 42 +CT = b5e183ac152f6e7f06a3c9c28810c067043471e6047b572b6b9b738cc4d10d18 +AAD = +Tag = 84a3f9d349a149a18ec8cd428595 +PT = 739e53595c0133eb330cae4a7b030e11a60b6ad0f6dea11c1e6f47d3949291d9 + +Count = 6 +Key = e8c65b5f984f7211f24d6827849d92d0 +IV = e6 +CT = 5c4a223273784e53b05d119897508e50e4934f5f0dbbfbaed1bceab88e6d02a0 +AAD = +Tag = f2e382ce62dc4af033614d0307cb +PT = 310b8e0880e226788798622659f9ed762e2e888790d9e4db9a619a8c6b8feca8 + +Count = 7 +Key = f1391e56195eada28edab895ab839b3c +IV = b0 +CT = 256696773180e6dc266d74daf657d69c3c72a140c0869ce9352ca7bf2be464b3 +AAD = +Tag = 08ddc329bc64a1e17c205b2f4757 +FAIL + +Count = 8 +Key = 16b10b99e61e77d40cf93f0222b14e56 +IV = 86 +CT = f1ad46c177d24a31d66cb3ad6e48381c9964803a1053ec612e0954dac89c3718 +AAD = +Tag = 06dce685261389eb9d103c16de07 +FAIL + +Count = 9 +Key = aeea973add828925448d17fabf269ca7 +IV = 84 +CT = 8cad7e443b5ce9e964d3ef270df871fc4f39cc7936c9c553714db25aca332648 +AAD = +Tag = 6d661490f6b6ea235d228fda0aee +FAIL + +Count = 10 +Key = 05f5fadcde1582124fc8b1cd3577fb2e +IV = be +CT = 38046a0f35e5fa315ea1b3a72ce83fb749ea958fa42442030609f9f7819302c5 +AAD = +Tag = cbb97914b2417282439cda6f19e7 +FAIL + +Count = 11 +Key = 9da45d1563193e90390ef3ad4c10bdd2 +IV = 19 +CT = 3f4fc1f4a98e0f0787702b239c7c50227213f8a1f94ae77e748fa33d6db7f34b +AAD = +Tag = ade6d28c5195e60fe902b65ab5e6 +FAIL + +Count = 12 +Key = 8453c67f5c01938772eebf333077b229 +IV = f8 +CT = 0dc0ec3366e637cc57eec97023a19c5678c2796277af8b7fa6e0cdced570b446 +AAD = +Tag = d76c30e354964bd4a4ac30803c90 +FAIL + +Count = 13 +Key = 127d796616d7f96aa8009d2aa56eaf40 +IV = 11 +CT = 987e701c1c6392013b666e5ea1c8b7e708b59abfea123e50b08d90202a5ff65b +AAD = +Tag = f84fe7eceb94981485609ef03858 +FAIL + +Count = 14 +Key = 86be45ab7b527bcdb6119162ecc1ebde +IV = 3c +CT = f2971ff4faa6abc739e8a757c19e10873bdef84cc56a63da160358987ee3fa7d +AAD = +Tag = cac32ae667257f48945fe6725208 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 6a1ba4c7986125befde99998a2546aea +IV = 11 +CT = 271b7c103fa380fdab1cdf61da6b78f266b0199d94c9d29a5aa1c02c716271c5 +AAD = +Tag = ead367b82db2aacad0c45e8e4a +PT = 736bebd4bb7ace5891f711526c6f3aec05a4a3f8ae6ff7f119d07a922ab208a9 + +Count = 1 +Key = 198882ebd2a1a6d5bc30065e7d532c62 +IV = 8e +CT = 02e52792730d450fb5508da7df3d01b7fe0b80f182f0d31d697bb7c804319b8c +AAD = +Tag = bfbbf381917e7f5e0c5e474354 +PT = 762d84964932ae6616f62580e2698c012abf014f2e6a5418b3645714cf12f9d1 + +Count = 2 +Key = 025f7cb30ea44fe949c9a39b0fec2450 +IV = d7 +CT = 7393ac40ff48747b9967a67b64a5ef0dc5e4d06bf61bbb6037062bb2ba54c3d7 +AAD = +Tag = 9469cc226779b5a9ed6c28f765 +PT = 56403a3b7c602710fb029ab11768b6a60a00a894ef66b4146415618bfb3b4696 + +Count = 3 +Key = abd0ee61e3f6eb414f17d28985fcebc1 +IV = 83 +CT = 1d599b6b9ec06e9ecef42687355fca7a212f2b3240c2ccf8a9e09c874ef17ebd +AAD = +Tag = f87f2c7871f83d4a4001393cb5 +FAIL + +Count = 4 +Key = a80fdae8312eef6f9b4d93340a371b57 +IV = d3 +CT = 1dc2a8c21f0e8d6f24a03bed2f74256266f1a0d99e09c5920eda54366d815fa5 +AAD = +Tag = 5c32996274b88301015426f247 +PT = 843d832859e2036944915a01bc906e81e1111ca1824eb3f417731407bc927671 + +Count = 5 +Key = ae8b4d5b67587a2e4a8e1dc5ae14d5c3 +IV = 0f +CT = 3b2c3e1d5db17feddddd241759a3183edf185ad928bc25aba9130da5a08d1525 +AAD = +Tag = 6f0d3a9b2459d8e10621164d38 +FAIL + +Count = 6 +Key = 71fe7a0b7d9abbca583e7636ba35b839 +IV = 59 +CT = 71e23118cf9efd370db5f723e6e487e9f1a9d6b5aaf4deec36fd6e5c6b087453 +AAD = +Tag = 4d16b7cd325b84a2697dff9e8d +PT = bf9c9846331a291e2fbcbabd32c8ee0fd13ff2ec97607be1d83cddbdfb3e4ad3 + +Count = 7 +Key = 88fc4dae0996b384672aa9456145b6ae +IV = 36 +CT = 7cf060b3e2559b5e435ef1e2bd6fdfa549ad33e98b26cb70efdf29f427d8019a +AAD = +Tag = 51cb8861be12b5cdfc09fff00d +PT = 21386958bbe4e4af193f8d5bfdc879f37390e8e05f0405baac19b4c9efe5949f + +Count = 8 +Key = 35647a3966ca45180c7b71b95cfa2de2 +IV = ee +CT = 1fc858879783db8408a84d13c699eda00081ade5e893c31ffdd9e2d184478ec5 +AAD = +Tag = d1028353c594270c4701693318 +PT = cb29aa5b7d000bbb1fd9027a8a38c8120739dfea85de0dc7a106aa21eab22410 + +Count = 9 +Key = 0e27f6c945702f18df2fe0c6f766f67e +IV = 14 +CT = d9ba8efe0ce568b935f35d48ce7dacac196b7e8ec5072bafbaee5f9a6f8e46dc +AAD = +Tag = 0120d18d867b633a399d594286 +FAIL + +Count = 10 +Key = bcf8682e388bbf06112e47ca09609e95 +IV = ce +CT = 16b7c1de28841f538e6a3640b3a94880f4f6a49e17b0d4ae0030b5c7464ecedd +AAD = +Tag = b77267273e11f2f9069f375216 +FAIL + +Count = 11 +Key = be4252d35f426b240be7039b21a13b42 +IV = e5 +CT = 178a45c744b556b956c6dbf3461c78126b255c30203b6abb207f018869c4e468 +AAD = +Tag = 35693a278e748c113d07022350 +PT = da09b6a7d6332d3f73274cc7b15e29a3adc1ca75fb9528755f85e988cf0381d4 + +Count = 12 +Key = f3faad14bfd96ee9dd371efd9d581cf5 +IV = 9c +CT = 18095c01c498beab04b3dce4671b72cafa737fbdf3dbcc612b7988ee7413902b +AAD = +Tag = c93e1117c25f84565419cdc0bf +PT = a38469d82c0a9ad3512f7eb64097f4042ca219a23b6c2beca9f8d59dae52d28f + +Count = 13 +Key = f695d6af9eafbd676315fd1585caf9b3 +IV = 55 +CT = 028bb635ed1d7303eb89e5bf527810b3a7a0f6b20fa50260763af7bd4bba73e9 +AAD = +Tag = 05c91d9fe20447da20484b7491 +PT = 9ea1c5f94b621c952c504efe1d3caf610f28cc473ffa4e920b243a8de88d90da + +Count = 14 +Key = a0fed0c8f4b7858c0bbabad51cb1375c +IV = 38 +CT = e0cf7b79a287bb8646a402f41010e40bd1469dc1ab4c9353596502d0dc19d91b +AAD = +Tag = ff991d62d4611014e623a40e65 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 64fc6bcb2736a15bcda0b059d553f855 +IV = 16 +CT = 403a56c954ca4e58dc9f402e2698dc66aeaa04368c1c3943bbd41e542a3be9be +AAD = +Tag = 1027ea2730243a8fca26e605 +FAIL + +Count = 1 +Key = 18ad3c1b96c66d3775a5f0cf2e51e7ed +IV = c5 +CT = c1aa8059c3eeb71cbdba4570855440b68c95cfcc7327ece4d56a6422fb864089 +AAD = +Tag = 6cfc1adbfd4dfd9bca0543da +FAIL + +Count = 2 +Key = 9eb0f6751148a5af568a48fb5f9b1a8b +IV = 87 +CT = 534d93b628efdbde401c574010ac75612c8376b2b175ce6772807617e96e5ab8 +AAD = +Tag = 0eac73d9510e099ccc80322e +FAIL + +Count = 3 +Key = 638c363d80df9fbbb08f9c7b617156dc +IV = bd +CT = adc8a779abcee0730c1763db4b0ac3c57d8d7ff44573717e725979d2cfba1b19 +AAD = +Tag = c8b05bb5d20cf3882bfeb757 +FAIL + +Count = 4 +Key = d7b8ff879063be16c7d89396549fbb4c +IV = bb +CT = 9eaf350b43c51a5e03f8cbb92ef6a651a9146d68ebe063d844fc69d84e01d7ab +AAD = +Tag = f40e98f0f35573f9af5d65f2 +FAIL + +Count = 5 +Key = 57b1efc6b8e0252c1a51267035e4ba13 +IV = f9 +CT = b759006c230619f86bd84977fc98fb41cffaa12c26f0f1aff307e3b16f20a436 +AAD = +Tag = 1cf1fc34fcceaef038001938 +FAIL + +Count = 6 +Key = 9eb4310b89c8533249a1a082ac582c17 +IV = 9a +CT = 084124901f01149d17db92518308c50aec5291e83aa3669a7d441b01fe9d619c +AAD = +Tag = a601385db070d90dc72d7647 +FAIL + +Count = 7 +Key = e16314db9b8e1a8b0c650fa6dc8c7c23 +IV = 5e +CT = 85edd694599c73bace956aff78007744af9b3dfaa5b648b0d5b1ae2e508a4c35 +AAD = +Tag = de634f46d81e0600dce6c40b +FAIL + +Count = 8 +Key = d670c3829f38b18b647136bc47d260e3 +IV = f2 +CT = fd1a3ed336f2410bc18891538edf288b610a0cb0e81852e9c416832992ea91ec +AAD = +Tag = 64a0d126e375b7d88a0f51d7 +FAIL + +Count = 9 +Key = 124a0902d2e82f96486af86ec1da090e +IV = 86 +CT = f7627bb23c7873e9e7c5abd594e8258150d1c51a259e9cbd66307774ba337803 +AAD = +Tag = 6970b7cd82da8fe2a281af68 +FAIL + +Count = 10 +Key = cdd9a1810687e4705448cb35f429c3f1 +IV = 86 +CT = 80f5f10f6c1a00b4a4979bdf904d9877dd51a92856d5fe90cd7e27e86672a1a5 +AAD = +Tag = c8a3a304fb211850be8ef72a +FAIL + +Count = 11 +Key = d81b3207eb6ac58a21a866c47c95e4f1 +IV = 18 +CT = aa0bbe150bf4ef0fc80e78f2146e788ab06643c24a011727fa9f81390d4580e2 +AAD = +Tag = 378c275b8564763e889258a8 +FAIL + +Count = 12 +Key = 4cf59bd4bbbaf431274479376d381d5a +IV = ad +CT = db65ce6c584e8c77a2fbf6d590d627c38998c299e613f4d37181a9b6b919bb85 +AAD = +Tag = a0a81b3c9179c2821d3c8892 +FAIL + +Count = 13 +Key = d45186a8d8a40ce178ab58999551833b +IV = 1b +CT = c2ee53371bfe894157c47e0f6f7eb42cc0727def411b055c67ba26aca7b2875e +AAD = +Tag = bebe97ffe910ec7eb1e424e9 +FAIL + +Count = 14 +Key = 9ae0d769a3a9fa707311a9a8225e6c6d +IV = 99 +CT = 1cf9b256cb2968be5a19688cb8bf0b39d3d9d5dab2173aad79b47a22957d246d +AAD = +Tag = 49ce49b6a7119043932c7ab5 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 86aabb153d2a043e21a5a9e4decefd65 +IV = e2 +CT = 6f4ab4ddb50f9dadfe127c1a96fd5937e87a56c9e26584363db3cb31b6dcb6d7 +AAD = +Tag = b308fa69630b96db +FAIL + +Count = 1 +Key = 802d4a319305dc98bde266ad18b1d0bc +IV = fc +CT = fbe8ef7adc12951b7974737b4400ff879fc4e5330133d2bc54524a7a394f0744 +AAD = +Tag = 5f5ae33aa25d3d1e +FAIL + +Count = 2 +Key = cf76b56a6779c3fa67150debbce857ad +IV = 68 +CT = df8d64d5e4c19573fa3126cfe292f3a587271bc88c84c3e74ac99074f035613f +AAD = +Tag = 3cd51a1351d901dc +FAIL + +Count = 3 +Key = 827d60a20a60a1ef8f4a36f5873e6978 +IV = fd +CT = f0206d6853dd32101b2a39b268d313019203a761c1a3f7719d2236a1232bfb90 +AAD = +Tag = dc0791975bfe3e8c +FAIL + +Count = 4 +Key = b734fc0050d78525a29dc3b4930588aa +IV = 3b +CT = fdd7e646413c9ea3634a10ba25f31fa61facaad18bba9672376d59ae60a3606f +AAD = +Tag = 95a5b4d88e3b0936 +FAIL + +Count = 5 +Key = 79e997c2d2d4c21efbe1295fbc6dc727 +IV = 99 +CT = 4e8640728bcbf5757f373bd6281029655977fc38e3c223516e3f7be892f8c57c +AAD = +Tag = 3dada7607d6ea2e4 +FAIL + +Count = 6 +Key = ae527a7ca9ca97c14189f5fbbe1e17eb +IV = d2 +CT = cbc4ea74201bbabd83656ea94216484156bb9b8d06292dea94a6ac8579b114df +AAD = +Tag = bce7bf2db7b8c451 +FAIL + +Count = 7 +Key = 97ff64afa45f3475a9b64286cf7802d7 +IV = 22 +CT = 22a03109cdfa6fd7cae0762a66f1e5a32500d4677291a435a9043175e6738ef4 +AAD = +Tag = 3c073cc36e6145b8 +PT = c8924e7a4ad8d6ffafbfb45c08043a318971e5386d9113c9f3d1169d29191f91 + +Count = 8 +Key = e0d259f384cc9b180b8150124510bbf4 +IV = 57 +CT = a49c69ce9018f38cd42a14e34fa28385b87dc5c537751fe194272b3cee053fa0 +AAD = +Tag = bfff168f021f0f4c +FAIL + +Count = 9 +Key = f5bd624b46d9d16f3544a017aaef90ab +IV = 91 +CT = 76bcfe587418dd9f42bc0627cee37a9a40597db31d584ea3952b6e6fd25dc3a5 +AAD = +Tag = 0f6f20b71a6629be +FAIL + +Count = 10 +Key = 9a74913276ced2c17b761b7c44ea0763 +IV = 92 +CT = 3733472f59c5f439f6d624e698d0d12bb9a9f6820887479cd57c0feaa4743224 +AAD = +Tag = d9fe9ea2a1a94c41 +FAIL + +Count = 11 +Key = 38fac5fc01f7f60eacdebbd8f473453d +IV = c4 +CT = 163d908c1771676d1e3f18b99c26105917ffa8e6684068c34b19cb5579f4719a +AAD = +Tag = dd03dbb94d83efb9 +FAIL + +Count = 12 +Key = 8ec10318a6b10966c3cef58539c18110 +IV = b2 +CT = 8b7888981ffc885fbaf8868aaa059e1a306e5eac220804c2abd0c5232d62ad20 +AAD = +Tag = f8ccf719012efe36 +FAIL + +Count = 13 +Key = 828edbb13506123afd1bda315afebab5 +IV = 3e +CT = 10384277cfaa41d9c121648ee3241fb0c2180f1eecd7e1428e23d1f3815b221d +AAD = +Tag = 3f1d8d2ef3bf53c0 +FAIL + +Count = 14 +Key = 85f58d70afa4426981f70ae61a3fa0dc +IV = 94 +CT = efd8c6839dd5dc9077eef996399d86e3bafcaec19b0e44b1c1358f7ad38615b1 +AAD = +Tag = 0167743e4bf85d3e +PT = 6d6ba7fc5e112be31dec763fc2549794011d435d5f8b8914a63e7fe40ff5f605 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 163db634affd3ce6df1d64320ce126d2 +IV = fb +CT = d764cbdbf1ec1b8578a77b5748169570d5b3ee1f79feba843df5d69a048972b9 +AAD = +Tag = 698db6cd +FAIL + +Count = 1 +Key = 9c36ca039a7f87307f3c964f9fcb70c8 +IV = 5c +CT = 000c2ec3b825519d3f3a4b61437c5baf75c7c68fad2a3ca6123b36edb414100d +AAD = +Tag = ec6d201c +FAIL + +Count = 2 +Key = 781aff55eb41712a19cb8df3d73699d5 +IV = 6a +CT = a2fe1988d3bb0dd9ded64bcb11d889a507790b3b86e27669525e706e0a89318d +AAD = +Tag = f3bb5914 +FAIL + +Count = 3 +Key = 0c33f3c0c25025d89e3ba7edd2504077 +IV = d4 +CT = 7bd435af19421e8e6fa8912cc149c282f57035b725dc58308008ce79ab7b1a20 +AAD = +Tag = f627130d +PT = 261ce4733f55546636e2abaa4e9e7ba96ab694c19efe05085f7d61a3196ca873 + +Count = 4 +Key = a2fa64857680117ba0f8468604626fa8 +IV = d6 +CT = 8ff64b76e589348bad442ecc03e39232feb4a6978e9068ca897bc473a0b7f117 +AAD = +Tag = 309f790d +FAIL + +Count = 5 +Key = c83274c94b3563eb21cf86f8f8b174c4 +IV = 68 +CT = 5a4c6a68b1a1241e58c276397b1b273ef8342b8ea1420d54d9de05ca941cdf3a +AAD = +Tag = 0603c4d2 +PT = 62c3d783f2eb0eb77dcf7e5b1adbbc52d8af4fa9aa05078f5a232ffe3dd6e6df + +Count = 6 +Key = 031f8f73aa22ad27631fb2a06569a51b +IV = 7c +CT = e0f7caa32ae4be6b37de600110e7abe648f1d4186cb27223fb825bff6305ed49 +AAD = +Tag = 095e1bbd +FAIL + +Count = 7 +Key = fe46b85e2e86b98e5bb2114f371a606d +IV = 97 +CT = fce8ffd8b4abe5923dfadea8ec741ac120008b1b04c24ca92a70bdf24e4c2a1a +AAD = +Tag = e6dd0bdc +PT = 397f21e2a681b9d4fa7f5b61a47c35e0125f193119fceecf0f341d03fb07bb8a + +Count = 8 +Key = f980ee5a579543a87bbf8b47f4111266 +IV = e4 +CT = 4bcfe49f110b1e185aebe6673c56f445e0ca851275531a657a8970f0ea5876f6 +AAD = +Tag = 604a51a6 +FAIL + +Count = 9 +Key = 0970e997caa6d17aa823670450352c2b +IV = 80 +CT = 0350099d46a8895f0971b3498710997688040efdd152e7bb6ac19c3864e982bb +AAD = +Tag = 81a5b718 +FAIL + +Count = 10 +Key = d282651f68708cabe9cfc8d45fb9cf78 +IV = 67 +CT = 0889b259e78c49a78f74c9c6e7be05484b2c29f9f409e9c72f672902c1388487 +AAD = +Tag = 7e3e89ed +PT = 6f14eb78daf762c1f6f7b1ce1ed4dff651c399e1a214fee4a5866f7cf78a69eb + +Count = 11 +Key = 47de9630897128f58ac8d535cd80d7dd +IV = 80 +CT = bc667f996fd310bd21788e7087773e2b17768055f0fceb5acd024b11dd202ae6 +AAD = +Tag = ecc3b0a2 +FAIL + +Count = 12 +Key = 37aafb455d8f501f4ef5e264f4db8b50 +IV = ec +CT = d92461c94b40f7672a2f51db030eb25d3652cca9ddff6ac2b8a71e7fec1ccb75 +AAD = +Tag = 84657529 +PT = b87ad7bfd3f4f39e2afc08bbd205c7fdaa78eb303173d0ea13ea6fdd66fb1e09 + +Count = 13 +Key = 12b3a872fad0c5e95c8a9bb8910decbe +IV = 7e +CT = 84c70648a01c76c2cace391be8d2b79c35a6938c841f66877880fbf1425a0ec7 +AAD = +Tag = 6178105d +FAIL + +Count = 14 +Key = 4ca6bceaec2e10c1220341e0cc1e1bbf +IV = c6 +CT = ef2ee44bdafd01de5a711a5c420c11c13256698ab23d8a9ae876494269e8687e +AAD = +Tag = 2e05b000 +PT = f2ab9ec017c3c2c895da5ab5a024133e01a1f27411bf00ef913e147ac97d941a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 5f69862dee980b78bdbb0ae7913dde13 +IV = 39 +CT = c17fe13a6b2386c0de72efeb106e3e656d1e4d2dd90fdaeb742ea46ee796bb6a +AAD = d43d3311ef823b373fe6420244db08fa +Tag = 4cd75bf1d0ab0f14c3e19c9a3e3865de +FAIL + +Count = 1 +Key = 750c713252832da698e67fd7730d03f7 +IV = ca +CT = 00e538def53032df38763186c2c03402bb54baab70aa7d25e29d31493585337b +AAD = eca66a1a2cca5e3afa4444a8388cb639 +Tag = 87b00e3d89bacc6a01f45e4d8947bfbe +FAIL + +Count = 2 +Key = af4e9cfd5437db1531185574723c8bab +IV = e7 +CT = 4ffdad7bd37503130c2dd09db43322235828931722f821be6e576dd0feb69809 +AAD = 3fa28cdf41eadccc7ab78a99f5189c26 +Tag = 5e2361d2777cf434d2f1c374b07da6c0 +PT = fb0272c27498723fbe494bc45a9d39110b5b454c3d596d4d4cd93b2ea571c5ba + +Count = 3 +Key = d9bbf29dde4c68354171669a75c0bbcd +IV = 5e +CT = afb8b63e23297b974b805cfa73e5b6d91070c2dc7c15275792074e6bc3972be8 +AAD = a91a226b69a64851a439d4a5cebd2816 +Tag = 2222c53df32e705c59d7c10cc0032385 +FAIL + +Count = 4 +Key = 91dcb8b87d9b7c75932af0a276fe098c +IV = fc +CT = d522451e0ada4e954d74af1d520eacb0f890c176e293fa6833e54004670a31d4 +AAD = 2195ac7b55d8214521381d0069049c16 +Tag = 22eb160c2a72d57de3b1c16cc7001dad +FAIL + +Count = 5 +Key = fe820f81c2279dc46a82027e606c8775 +IV = 9a +CT = 45c426d9451d17246fc814381d5aa26d5af4c0eb75fb4116c7e8a814025dec8e +AAD = 4d2a2784923a0700eedd630304757314 +Tag = 30a44f3a85e92d5018462744b1382c9b +PT = e666ce50d6733f95d33fc95d4745cb461db55d496b81f470dde69902687f5a09 + +Count = 6 +Key = 64586e6e6dd21f1c09b21c26619703db +IV = 9d +CT = 050595a17e4857b945df36d213e561ce16d8c1710e6377fd5d8ea87677d58e8c +AAD = 480b2b1e5028b2fd30e0b4b16f29fe75 +Tag = 93d1b02ced5e2c2ab228bc0b23320ab2 +FAIL + +Count = 7 +Key = 67a48f4e48e1c58b0fbb682701e7c41d +IV = 45 +CT = 8e862e1c9eb535a91872d7b5197dfd4a381c194dc8033845c17d38a43e077d31 +AAD = 1a1b47ec04c6cb955dab3407b7fc138d +Tag = f1ceb4ac4b6f189863a160457e2ff8af +FAIL + +Count = 8 +Key = ac713b90ca4b672205fd27ca1d42add2 +IV = 14 +CT = 3aab5976b79442a8a53d287798c53432385bcb13cb228cfa08a44cf8a0a8a543 +AAD = 22d323e35b3ee5ad562cdb34ec4fc17d +Tag = 8bfb581f2df18acd960f5ee6b902da98 +PT = e05b2b90eff248b6009bb3a0510636ac75f67f268fb679433b0763620e85a83a + +Count = 9 +Key = 41fda6e71a7a3d1c24c6afbc88990082 +IV = ec +CT = 622403f9c61a69430e962849f3df02b7608dcd42e6f7fdbf54fb908dabcac72d +AAD = 081e2818d1f4e59aab317ee87acbb470 +Tag = 270223f85ed2f13a3322b9ca3ce49a2b +PT = d6346b788504147161ad9b3ecb8ac1a720c10d93c882c934e3372e09884b5117 + +Count = 10 +Key = fc5b27055251d34954a71098c647cf90 +IV = bc +CT = 65444649dd5f36ef37210feaebed1389b45a010cf35ab4546cc47ea58795525a +AAD = e4e28794e9a5399aeee34c687233a7dd +Tag = 52257ee5157261f610106b9809ebc4b1 +FAIL + +Count = 11 +Key = 4e4bb6c5251b4e278dff02e219ccf57d +IV = 18 +CT = ae7cb7dd4423ab07cb235a994a20d7fbaa688577987671fd5a1082c7b4110a01 +AAD = 9f9e100c92ae165b2f54bd283a22d6b7 +Tag = e35f1affaeed73b75a463ca3d13373bb +FAIL + +Count = 12 +Key = a5062e526962e78de6eb5a865cec6e49 +IV = 7f +CT = 24009f98b0179a7003b7962db618fdfaf3d0856aae3ff111ff4c272ea4ea0e9f +AAD = 07577b33dbc181941c037476313f1fb0 +Tag = 1146658c84cd0f8718b982ea9ef4f9cc +FAIL + +Count = 13 +Key = db325ef758298148d6c9a099df629f63 +IV = 84 +CT = b0afbe5c61678c518e1b3ba5dfb844f802ac60736e8ed753e63526fef127bbcf +AAD = 0a0e002522d453d117d5bd37fd6a6fdb +Tag = 24b71d6aadbafec7583bd39a56edab75 +FAIL + +Count = 14 +Key = d68bce17c8a3756b1c00404a5d0b26a9 +IV = 79 +CT = 8ae79fb27799a94ff05bb5c1035592f3ffe1893f83493f57a0ac50c7cb47b1db +AAD = dc732ea45761c3c9c17c35f2a089015f +Tag = 2a7f55edcfd0d70b96db699f6b64e161 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 4ee5c23aad964b25d609eb61bcd09875 +IV = 7c +CT = 8b19966e76bc7b5f5fe3c052c857ffb85797e6518d8e0307941575269d6746ae +AAD = 55ffc7be48e7462e02e29f1e0c2199b0 +Tag = 959d3a1df343a1b7ae900324111a89 +FAIL + +Count = 1 +Key = 529ab114d26cbe60f698e05048764793 +IV = 87 +CT = a3354cc7ddb1ac4f7656a8adbf6c3013995d89b18ba34ace65490b11246c7381 +AAD = cb4218fac46b7d0d7286df816ce119e0 +Tag = cac4a11b7f56adb545d37d903f05f1 +FAIL + +Count = 2 +Key = 526b8e066cfbdd0188e326285a47ef21 +IV = 2b +CT = 0c2785dcfa628a0d04c3f67e0b4eea1402f659cabe330e8bb6b3fff06937cf29 +AAD = df1e288d45910a0639971090a28caafa +Tag = 53c5705541b7698fa070ade5474bd4 +FAIL + +Count = 3 +Key = d39c7c7fcb0d7a5e0e297b3702c3e510 +IV = 25 +CT = 22064b3143922aa8f8ca3c5823b0fe60c382fbe020d14eddf4d5584b1847f524 +AAD = 95d41ceffdb0994c0b29d9a3c8a0f8f6 +Tag = 942ed09ef95c87c47e110039728cb1 +PT = 9c42fd27342d24b652b021ce585fedad15705dcae180f0ec274ff9df3310d708 + +Count = 4 +Key = a96f47cb8d443106c0d184169f41993c +IV = 84 +CT = 8136e5093bc6fe88d2ee4648ef2f439b30bdad1465fc43b24996ef82b6b8b79c +AAD = 1cb56fbcaef0cdb0a53aeedfbb1a28ce +Tag = 3012d4a832a505d22e708a6929c731 +PT = f38502b403fdcc9d5c5ffb869ceeed36fb624ce26f0e4442c74f72c5c2c5e781 + +Count = 5 +Key = 4c4b0c90be3b861df23b887fd700d2e8 +IV = 5a +CT = fda574b487a7c4edc7ad95efbb4163050a7ac546b5f7781065e1753fa2aa66df +AAD = 28b8bbac9a713ef3ba6ad6fa624d712e +Tag = eaf6543ab079d017e0c8ce10aced53 +FAIL + +Count = 6 +Key = f1494554bc988bec55fd31fea89772b1 +IV = 8f +CT = ad70cb21bc0280801c474e5ba2898b47e16209b4029461f754ac2a439e1a094b +AAD = f141d9cf7ea9d3988a47b6834376d6f2 +Tag = f39e2930d7372772f409b6ca6dc40c +FAIL + +Count = 7 +Key = b0b4b65469a749c5bea51d486d716278 +IV = ba +CT = 78844d73d35b316d95c56910b53218f06e14a866da1be1248eccb04216b9a003 +AAD = 3e2d0a70b65a71aec0e7770136efa9f1 +Tag = 442630a328260c55a696ff42404747 +PT = 42103d4c26ac503ef4b4fd548d80c72d1de859afad6d559ac9d878a518838645 + +Count = 8 +Key = 0ced5aaacdd3b435fa3e64f900fbb6fb +IV = 5b +CT = d78e338f62197a972e32822128b6e217230c41200a2ae4b75cd5c02abd62c2ae +AAD = f45cc3103fa411c19e9bbbb288165665 +Tag = 342b2aca4acc748c50db1fbdeb3ca7 +PT = 039c25a564157285f522e191d18299eaafa541f6176df6a39f7c0f25ba5a9916 + +Count = 9 +Key = f37658f6f16ed5aae2964fadc71baf86 +IV = ce +CT = e8f7342c135c8ec6b67ec6d40185497f85df723dfc5c4efa2580d7e91e1a6163 +AAD = 86fc72a4d1f5abb33c0e97f051646301 +Tag = b3627e49e828eec0ded3e9652741a3 +FAIL + +Count = 10 +Key = fb393c21cd3657f215ff04a5cfb534a4 +IV = 7b +CT = 3ea35f47173e501babb84e9de3737b4ce0fa7452225855a36df27808decb6211 +AAD = db5a5c20989cc452e89d6dde968dc8f4 +Tag = 680f3e36494cddecf4f0505e0bbb63 +FAIL + +Count = 11 +Key = 6b60545f8222522f38ffb32c76df5982 +IV = 92 +CT = ff8ca72b6f0b60bd374852fdfde64d90c80790112395b3a5e76053fd354e5045 +AAD = 7b3b41c7a0584e16fcd99b8777f057fd +Tag = 0cdd3bc9f802087d1d8480eb1b8620 +PT = 4758674e10591f5bd360be323fd692ccb2d0e759d2c0b36cc069769762c24ed0 + +Count = 12 +Key = 4e6f50ec1ce0754a7273b9323389a719 +IV = 85 +CT = b8b8276e16c102d66cb6788c7170579d505e5de442a5891d9f0a6e7ef7faee02 +AAD = 83f354e7b8246641683ce2855c97431a +Tag = 25f1c34be9ae73861fa614a78e526b +PT = c633b0b2310c794077569b7439d6628804113576646614e76e2379c95a8a3edd + +Count = 13 +Key = 0e0e74882c66dfbdac6fed363bd93dd6 +IV = 54 +CT = 9fa0d0e12ff9ac0eca5bc9327937d6b105583777f4a16c015f053c619da64b2d +AAD = 3e1546c030aa3d32a25bb20b52df07d2 +Tag = be4dad5bfa32aa1e3582d1e94dff20 +PT = 23318e8bb15a20b90ee2bb1095a5c763f4e240c8e2052a9d7f29220e39ddd4af + +Count = 14 +Key = 707289322fcdf54d577ce1470cbb0b9c +IV = 24 +CT = 4a0d95d18cb385f934dbee09a9e90ec1aeac3bbac5c18436293cdd79e24e4019 +AAD = c0a1b35e363b625b471544e1d35f234b +Tag = 5738e8e95b2cb6266e718b543644b8 +PT = 320df6a638692137b0842f3eff0485f60f21993057b24dd058675ff52f8ac68b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 716d12f967725ff09793c3ae92cf3694 +IV = 4a +CT = 67b935cbdca7a22ae12076f8b908b43032a3c4154b8e79224bd2e1c7279500d8 +AAD = 255dbbac18b30bba60a3a727fec8a119 +Tag = c9f53979a9bf2ae4f750456b2bc8 +PT = b3ffed1acf0a9ea508d79136225f84d8c90b73fe02ef19df46bb030bb67f2a50 + +Count = 1 +Key = b2f7219e020a0f59208bb42b9b48eda1 +IV = 69 +CT = 1fc74a999085159a7ed03732aef2f386b704c20d5fe32091d46c3cbf2b18bd43 +AAD = 14b1ab2aab91db2acec2d436a977f538 +Tag = fc774ef29ff5e0cbca0eaf27112d +PT = e25dd114b7d9ce38c1cc87763161d02b44192a95b4c703df273a35ef5175be03 + +Count = 2 +Key = 0480b9f0444413ad3cb801173c8a7257 +IV = 93 +CT = 67f209a5ce4cc6dffb8f5038b88cab8af78eee958e20ad1217bf616bb1d779e9 +AAD = 79f64d2680328c0e6c77181791ee406f +Tag = 0bf156d4c51da311123ea6e60da8 +FAIL + +Count = 3 +Key = 6b12ecc13888eb5af744231574cfc8a6 +IV = ee +CT = 4a5addba0bfc41e2b480fbd887fe7a856716966179c80a2711df4431a4e7a3fa +AAD = cf208cecdf7d9da95e927952e3f7d976 +Tag = 48e3a4df5667c38facdf3baaaaae +PT = 3ed7a4b7665cfcaa65a05196ff82b43357a5946faf9aca82247a6fef5a6e1437 + +Count = 4 +Key = 6b5c4ade2e8922917955ff0b43b2eb38 +IV = de +CT = 80cf8f3c634d29209f427a6cf63947c570becc3d77b44bca9fa2ec0e1c63ee17 +AAD = f9220a87c47eb376952a070f9e1ec5e8 +Tag = e8c936b8fd19032a6e1dd8d1e75c +FAIL + +Count = 5 +Key = 3cae0aa17fa7f44bb0c859be0345d9d7 +IV = 41 +CT = fd7195d63fec46f6b726cb27eb30919223723de29731ceb34f0b040863a9d4cd +AAD = 984e6a5d01bb67284947e7ab2eb543f3 +Tag = e1293625c4dd07d60283ac862e46 +FAIL + +Count = 6 +Key = 82dc38ebe6a72b9e164e097e8d3b85ed +IV = c9 +CT = ccc6a888424bfa05504856471edc43ae339ece9ee0e0ba9d382e57609ae242c4 +AAD = e9ab4537aae54d06da34f836948da0eb +Tag = 7cafc192b1a3c18c41849f0b716e +PT = dbe94f106ccb17328bd94b0b3008d22d3f36d1a07473b51f61b946ed31633108 + +Count = 7 +Key = 940b078b9f3bba8d11c37c4f043216d4 +IV = 2f +CT = 1d11c4f10d290cd3f5eb4be3e62dde340a5fb806ada53f37361d162a3511ceb7 +AAD = b48c1dcf3c75ac663412bd2607d65c3a +Tag = cdb37d15ca39bb992775ecf511fd +FAIL + +Count = 8 +Key = 93d46189ce07a00f3b16eec2f54be9f4 +IV = 24 +CT = e22885a36eb51f7083b42fbd0bdff72a090c954a892a8e14d2c3da8534ca1788 +AAD = 9663324b8c55e8e8dbaca25da2337775 +Tag = 313b5a6076058d4941efc98a17dc +FAIL + +Count = 9 +Key = f1adcfdea5b449c16b6253284662ce16 +IV = 72 +CT = 892bbcb887e567a8c1c6dec2cdae828ab8f26c727e6daa2c4656b7671b507670 +AAD = 3334124b5d7b21f6b829feeb7474b247 +Tag = 9007423a756dac639889ed4d34ac +PT = fd25ab2bd02f28cab509149b9fcdc941f0ac16023eab3dfbcee1ad0434880aae + +Count = 10 +Key = 07a71d98e97fe7b6774bd5fa2eb7e8ce +IV = a7 +CT = 559115536bfb2e42b22ed78c46e9e2a30a40f067c975660358e9ca9b50922415 +AAD = f93ef0fcb82d51070e866a4bf621cd30 +Tag = a22db81484654a33f42e87df4bea +PT = 73cba3e506700977ee04b583f4e8a04f9fd0ed864e25bb6413c673587e498404 + +Count = 11 +Key = a2245cdae28850bfdc563f78fc33bbf9 +IV = 78 +CT = 4f2363144e35a83708546cb770ca201678a3a3cec040e3f4fb05d7347ccfa5a6 +AAD = 6383c34238824c6c7000c7d104d23b46 +Tag = 0862772f193c788d286a210a50a2 +FAIL + +Count = 12 +Key = 4654d56345db3f3967c1cd17f1fbe43b +IV = 4c +CT = fc6f0db4d6ae961042531b8cbca5159d9725b8c3cc991bb8d42446e7c3ec5344 +AAD = 1c8d221504d395305f8375b5029d5c0a +Tag = 6c688fd8f134c1a5411676dc5c33 +PT = 911ea4760eedc7783c1ecb9fa8718a8e9add0f59f1adc60bee55789c804622a6 + +Count = 13 +Key = 67ea4dad13fdbdeeb1cbfcc557b6bdb4 +IV = 6e +CT = 8ec206ba2029f90e48dc1ae4d6c8e1275f8c88f9cebfb5dad7dfe166776d1f70 +AAD = c94df907ea2d16921054de7a58ab845e +Tag = 90792645662eb5e71e6a51110346 +FAIL + +Count = 14 +Key = 544abee0d706fa1418cab281a765bc2b +IV = 5b +CT = 14aac25a0aa055f7ed7d5a0a3a08a30394fc9db6238b83efbaf9d0d151450317 +AAD = 24a2c548a3ddc4536ec599c47d93d20e +Tag = 2c0a7a1ec1d314f68a99163a440c +PT = 16fe23318f6080e2fdb56c36d567ab023d03a6c4bbd835902c73c00a1366efd9 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = cf99e2ec1f510e4df1ca5bfae6b95c66 +IV = 2b +CT = b3ea65815437fa72d96820b03f4299e5c0e717adf1da4d3d6b48bfbe3a047941 +AAD = 20451be86288fd98be8711bced3c9f50 +Tag = 5d58b130703733d7ac37e1f6bc +PT = 961b44018328082960140ea3a9889e76a137ba5351ede943995fad6fc7967428 + +Count = 1 +Key = b2b5a09d472d6678e6204bfe7a7d2338 +IV = e2 +CT = fc13af8ad79d9a0b4c3c1ffb569c3c0f1d4a0ccb4b83d908929a2b1fb4bdaca1 +AAD = 4b1c37a606c088388cafed0fdf792a87 +Tag = 9d8976ba26cb2ea3ae2a5b4e25 +FAIL + +Count = 2 +Key = 3971452c982936b5beb212e815a8b1cd +IV = 14 +CT = ffb98cfc34208d37f0cf73d197944c72ce5a1bf05bdd2ef0bdcef33c9280f743 +AAD = fabf2e8ba1906c134c443318408a2512 +Tag = e553149e2fd806f33e3354f72b +PT = 8ebd12be06b48f50c67dff0a93fcf3235b9eaee8b829fd2c794af1a387470c95 + +Count = 3 +Key = 3fa0ddd7791379a2bcd6eaf437981db5 +IV = d4 +CT = c7f2d5a4cbd7f4eae31d28691de5476fd5b0a7de68e1b7e3177e6ecc6ab9fd33 +AAD = 175217c8c9d3d6ad7e1c6a5fde2789ce +Tag = 9ba0f77d3a9c4d60cb43ac6938 +PT = 8c68f40f6ea0bbebf8a285afc551622418f2b016d22d24c4d27de41f88b90e44 + +Count = 4 +Key = 4f54a3e186ebc3cbf6e8971a8e3834ba +IV = 2f +CT = 5db4acccafdfb2546314ee9684e24e333de1eab951bd263c8eca742958525fbe +AAD = 20063c67bf800ae1d4496668bfb80cb7 +Tag = 031674829754c0b78191918a8c +PT = 3addc66ec0ef0e024e147c3d71ef8bede607c10288abb2b6a56dee0941f1f672 + +Count = 5 +Key = 5f3d113343b48bb656f95b71a66fc258 +IV = 11 +CT = fbed4a132e40532dd180770ae12a226ecbb5a3d6ae373f31a97b68d55020faf1 +AAD = 1fb94258fb4e806935d816110f9514d6 +Tag = 8cb0986f86dcddd7e64d41df0f +FAIL + +Count = 6 +Key = 77bf4152ad69bf2159db1ed433998af8 +IV = cb +CT = 22edc68d20dacd7a7faec5ed43dfc04a6d9b309ebc71cc3400b320108c7c79a3 +AAD = 421eee51bcb8c316a3dd0d032e51e9bf +Tag = d38d1447bf43bdbffdfedba7e5 +FAIL + +Count = 7 +Key = 30dab380f8f2d31c64407369e3b4e3d0 +IV = 86 +CT = b9c60b7252c6fa0f6a88407cffb58b1945888d0b77f367f7aeb4464955a4758d +AAD = 9ea68c3b9c9bd7e59a4e8241bd3c1b8c +Tag = 58efff79e59c20b17c3ef3e264 +PT = 570b28ed9b287f56c113fafffadd808eb1c976406eede3e84e9bd8f302f004c0 + +Count = 8 +Key = f5e500f1584c8c86d60177558ee5111f +IV = db +CT = c907cbea157efa6f064efa28be17f76eaad6a8176eb1cbe828d456a6264d7d39 +AAD = be7571a80e9cf8926db4dfa1e55387f7 +Tag = 7bdc2e38f09f4a8bee88290fbb +PT = fdbab572ca698a5aa8b458e91178e8117587b3cc827866a485a6450a971427ae + +Count = 9 +Key = 4000110bcf9332803a98e29624bf9934 +IV = d6 +CT = ce0ecf1673cf98a71f85fab37e0e9dc710beddce9db49817da8ac7848c4bcdea +AAD = b5ce55eb190e881b10d27dff563b1db3 +Tag = ee7e8548e28810728523364fb3 +PT = cfd715e826f43555d1d733b22f8efc7fcd382f59c2f073465c8e27771e035ee5 + +Count = 10 +Key = 39ed740de9df6ce5f3f3ac0a0e6f45e2 +IV = 0c +CT = 48376ccd144c191ebd7addb3cdf76c842c8622094cfdaef26fd22081ccfceba4 +AAD = a4f9987ef8e38fec6f3da0349c3a43ae +Tag = e9c55129f86ae76ee9f18c40eb +FAIL + +Count = 11 +Key = 52978b4e27e3146bce6a6dc79bee1859 +IV = c1 +CT = de085c18feb01548a80bba5991ffaf578147c01dea19b1115dcf134400c44c54 +AAD = 969b078ebf318440c159243be34bc455 +Tag = 64d3ca8519a71ae0c18a69f5f0 +FAIL + +Count = 12 +Key = e61efe7a299edf2312be5b6f336227f3 +IV = 0c +CT = d51be27a54cc34343e9b0287d914013f08feb286963cc9f0c68f926bb3d3b7f5 +AAD = 03cf1b52bdc7b3253b7366d93f1658cf +Tag = 693a1b0eb2a8de75195e3a247b +FAIL + +Count = 13 +Key = b9aad98c81fab01846d1be7c3be1672f +IV = 69 +CT = 8880db0804232893c2d4b5b76f344d2e52b9c52d4f0650e253d9e0c2818d6bf8 +AAD = adaf9887bf92622fef716c0f7272a647 +Tag = 7c47ab9cef86ae84f3b6c5e58e +FAIL + +Count = 14 +Key = a78304c6faaf52c68c60a2908850fe8e +IV = 0b +CT = 3e341194f2d55a4ded05ced3438e890d92291c76402e7a35c24cf7a89458ce69 +AAD = 54c262d3ae2a54b54c6b200d23f7993e +Tag = bfffec404dfe50f778ac28dd28 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 32bba629189783f87d2da975baf3413d +IV = da +CT = ddc31f24581639c146cdd63c0026fe83028848be795aa6eab371f329fb4d4e62 +AAD = 69fe3b572402504b968b2c958a03997d +Tag = dc6d4a9f0c4d0b46dc6d465e +FAIL + +Count = 1 +Key = eb8a5b73ed4a08eff80d6ecfd1ced207 +IV = e7 +CT = c446ab8f30910f32b036a3b662c006495cc0b3733d1e6417c43ee970a1c733bc +AAD = 606955de894381051c09dc13c4631841 +Tag = f7f796a66c064309dbf43eaa +FAIL + +Count = 2 +Key = 97c183ccd9ec7385df391b494860a0c8 +IV = 21 +CT = 2466ea13ee8792a1145b2675cfc8c1e6ca847881b75ee84b2a89ea5cf7518440 +AAD = 5facb30572e0c94dd4dc7afd45d2cc3e +Tag = a9aca9e0af537da500b453f8 +FAIL + +Count = 3 +Key = ec5908d4031e189db4a6085f0cb46291 +IV = cd +CT = 35a1a1b37f7e58af45b93bfea0626d2d1a0409ea8af9319cec5107e5f144c9d0 +AAD = e6c19474d951b2ea251bdceea6da2c6b +Tag = fdc50b5b487bf067af806cc4 +PT = b7612ba7ef758b7d10c09b78335aa70b0f3e5a01977f1d0482581e46ebbc072b + +Count = 4 +Key = 50e9d7b95cc2b5370b11eb5484ec3c18 +IV = 8f +CT = 13e89fdfddb7364ba9b55ed478a95529c02cd59e0891f16ffdd7dcbe134dd8a8 +AAD = 2a89d97625f72544a210cd4907565a99 +Tag = 380a0a74f8bf0bd4e550760a +PT = 69655580a6115f1f92c70ff6b394d9689276f5b21622f900d0a1fabca6022a1b + +Count = 5 +Key = b29805d04cd836641638ae9e4623ca33 +IV = 83 +CT = 17bbad05e53fbdbf8c17beed427ded1fa3770356ceb5cb0040d41d9681656649 +AAD = d3824d6d30bd8113b8c8cf531844c5cf +Tag = 80644107454fd061131d7351 +PT = 69d084aaa79f8711bf5b44772982c56a663b45f7ab538dfc55cb5abdeebdf233 + +Count = 6 +Key = d4ac1a2f6ddad26be6150c45d00f58c5 +IV = 76 +CT = b70375f5c2c5e7f9c29f964bbd0766a28cb9f117fb83ce9987efa91e18136d0b +AAD = 5ce896bea922ffa9aac8b80a37c81706 +Tag = 9b20ddab566408ecbf68bdd7 +PT = 488532fa4ecffa41786033b1217485d26188b5e382c7ec5e3be2538093747209 + +Count = 7 +Key = 64b376cd63345dd47aed0699ebcfb60c +IV = c6 +CT = 562d8b82402fa6545dfe9348e5646399facad05cad7457db50aa7b6891b330b2 +AAD = 7df44144eaf0aefdd3d59ffd7179cd0c +Tag = 0933399f22b3b15b01d45cbd +FAIL + +Count = 8 +Key = fccad99fe62d816fd4331ea5ed17bbd0 +IV = 31 +CT = 1ec871b4a270a015e6f94bd8e0de9fda3c8ad65ca84b1a3b3d06a1cba042a382 +AAD = ddd6f806ab8c962b1c663d01cb4a6c86 +Tag = 65f782359dc25f4a05041845 +PT = 7db15326016229d9798ac9457af71254b699c044391393b7f2aff62368f13a99 + +Count = 9 +Key = 6a8f87c3c0e27c302fc8da2984c3056f +IV = e6 +CT = b27125efc325a59cb44e485bcf89bdb77e5adabff8cae29fa5cb4d1ac0dc656b +AAD = a24d2ec696c577bdf3c884301da4ccc6 +Tag = 4d36fb52177ad506f775c9bf +FAIL + +Count = 10 +Key = 24f7b03a7340bb83571251921d8b2943 +IV = 84 +CT = 8bcfeeb19d34427614d864099131a740099cf1f84b662d93ea0654172091b9e0 +AAD = ac2642c625905a1ea60bbef651bcb8e4 +Tag = 481a1285bb6128a3d7e4435b +PT = 31f0c95079dd25bb39b200f057824aef5aa57fe5c2ed3471677720c270f9eb81 + +Count = 11 +Key = 2ed5bc448bf0a1128355b47de548306f +IV = 25 +CT = fd08af7c9626567f53c4ac79e3e4b4b7b7a7d50ad5078a5fdac6f6a07b9f4138 +AAD = 49610f253dbaae0967377f2028961f21 +Tag = 3cb0b95a63fa59c0e1fb7024 +PT = 1450ad5af11713db1d3dff5f1aadf9673ae46422be4075c0f7316c692cdc0495 + +Count = 12 +Key = 2377cee92e32118cce3d24ef2a516e34 +IV = 10 +CT = 06d930daa807edc9da8c1d22ca5b9b46013a3517a856601e957607fd85d61c8e +AAD = 7f9c2dfc2b91574445aa8915d67d1638 +Tag = 6d718336314eafa32524cf6c +FAIL + +Count = 13 +Key = cf65e040a8a319ef5eab0dd36b0765e4 +IV = 4a +CT = f82d4dc0b5a07cc2522dffaca2c4a92688f61e6cbfc75835a1c935bce69ac890 +AAD = 3db18972eb30d4a9c11638b6166963c1 +Tag = 52e0fcc8012bf010559e89f9 +FAIL + +Count = 14 +Key = 15267667cfe0393836326b4e74d6c1c8 +IV = f2 +CT = 40ae14856fe9801061adff5d374b3e077fe6a76fa8bf77fdd06a2a1ad5132cbf +AAD = 41dc4f7ba1ee4a06faad6f1f3cfc7983 +Tag = 1d6d6762c928c80c57eb8acd +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = f8cc2272b53f0c2eac83e09b9da3c723 +IV = 74 +CT = 853a08e61d8374d1af497a231611c235b21d14d51780c186e6418158e6eae464 +AAD = ee85cc10aa0ec5d03f9d9e8f439efc9b +Tag = d433712f256ed091 +FAIL + +Count = 1 +Key = 0dccde3d09eeabcdd554f6bba9dfd8f3 +IV = 5f +CT = 773d3ba6ed85ed4b150c313725f8cf763a37b66a139b54de9337dae7cec2ba6b +AAD = 7960b985ecdc8291098d3e35754a39ef +Tag = 7a45da0380d0f449 +PT = 002886b63100448ce5407ec898a2d940c13b597705e5631c0dc643032f284b62 + +Count = 2 +Key = 42151f353768806fb76ca1531e664864 +IV = 19 +CT = b64eadf61b4dfe8c15dfd9467d12e1b41e494332f05de41ddde3b4e3ad7db1b2 +AAD = 8f4f9b2f38ed78586f1570462adaf1d1 +Tag = 8a4e9b776b9c65fb +PT = a58327f0a8fbb10b86893afcef0937a65ab3affae26d09bec370361dd3b9d684 + +Count = 3 +Key = 420914a6a6e79c6acc48afa1fba66e91 +IV = 74 +CT = eadd2dc74fd7a02dd057a7b2f6d1f730e8fa365defb4dbc78d2956e146906114 +AAD = d44ac327f6d6f79f89254ed49045d262 +Tag = e56bbf732aa62f50 +PT = e962e463311449ccf684c849faa2a4a3ecb91d7e82a5c7ac4fb1bd1e14ead371 + +Count = 4 +Key = 643f627a50558835a482348dd913bf45 +IV = 63 +CT = afc73be7f38fd429e9c7e1d59f77e7959e1af4b01f13aa9a5a793f12c1a41452 +AAD = c51e5d6d9f7debdcf48a29524e08a9af +Tag = 113f598630133c25 +FAIL + +Count = 5 +Key = 5ec894d5327a94ea6ed93bee26142339 +IV = 37 +CT = 017543f5e69a137c09c843a26b02dc4c9e60e2a0c9c9279d543a1f226be5d23b +AAD = 2050dfdb0363d4fc33faa69036a95f5d +Tag = 29c628e99104845b +FAIL + +Count = 6 +Key = 8c537c93040b6e147544106f65c72c16 +IV = 6d +CT = caff9bb71cce8352b2650f22f4c9595184123dc0d0ceb262403d773869c38158 +AAD = 765b5f9ef476ee6e24f7e6d6705c4a68 +Tag = f42b44034fb711e4 +PT = 17e3f69ad737e22ce7495b112d4e46f3e07c7e2ff8ac2870f486437e8f20d18f + +Count = 7 +Key = 2d61a286f46b762f752b20e5d53146d0 +IV = c5 +CT = 86fa57f8d22d595e86f453755cccc335e11af32921a87eeac7d3d866df427063 +AAD = 7d003ea19b69bd978380518131973dbc +Tag = db321dcc78cf43ca +PT = 7a049f9fe27e1567b09177ad710b7018efad83a531f366a08dc1f34f9ee40e68 + +Count = 8 +Key = ae051540f30e865b93d37264eb009b52 +IV = 8e +CT = 7dcf22a858b481dc5eb84b2d7b7334484ea628f3ad1e8cc12c61fe51fe105629 +AAD = 7681cde806f909901d1e335c11fcbe3f +Tag = 13c49321befd08e2 +FAIL + +Count = 9 +Key = 064a732cc69dad78f6d0ca1b719f8c83 +IV = 87 +CT = 0457ed60ca7e752068e8346c34955469932ceaa6e3d566543123e82de0d3437b +AAD = 8e17e9e7fa7b5b336a810a3059603f2c +Tag = 396120cbc2624dad +FAIL + +Count = 10 +Key = 30a5a53aa25929037686ca6bb6ff5387 +IV = 8f +CT = 70558af078303ae7540e60602345538d839602518f1e98b01d98a7fcd420f67f +AAD = 37ab637502a150810845aa3e521ea6d4 +Tag = 4aab149d63710620 +FAIL + +Count = 11 +Key = 98be7be408da4763738f0eb08ae266bb +IV = 95 +CT = 0fc9aecc0028d7f589591efa4ad99045982b2c35bc584f3203a38f9fc273e941 +AAD = 9e79dfa6a11e94b3ffba4526907a9c03 +Tag = 38e1b0de91bf833f +FAIL + +Count = 12 +Key = 935654b7917e0ca93edb5cb00dba1537 +IV = e8 +CT = be0fd6e7ad3233b94efb10976e7e7ca8644b9f9c9c4a68830547153f7f25b2fa +AAD = 1eb04e72b291319529ee7a9394c7ea4a +Tag = 1ef7a03300457d23 +PT = 1eaf7fb33443f85224be22d4a1476f22b801ac5d9ec6628804ad7e2bcdf795c4 + +Count = 13 +Key = 366b69bab788458fd5ec289b5322ec00 +IV = 5d +CT = b78c0139a9aa2ada0b931498f61746237fdabc261fcb984a337fee7b555844c0 +AAD = f8e00aea16391ccee11bc5b520bea443 +Tag = 074b1088f2ae8a6f +PT = d0da00eeded7b274cef858fcfdf319e9ee10ba2b7939d96911eddd68d7f0be56 + +Count = 14 +Key = 9cff92ff4a2a139b8a8ce658bad88355 +IV = 9d +CT = 857ede919815c37bd6cd8c8bdb08d6d3917ad2f26b374f866f0e46a0cf711138 +AAD = 86fda8bdf260704119d42be92ed1ddba +Tag = 2304a60372a45481 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 920d84b6769088266e404d8cc482f833 +IV = a9 +CT = 89fca879077e385cccc53587b2c1599ed6d8ac303a00b5a507d31456d4b0e813 +AAD = c16ec531bac58803bc9241777a5e2465 +Tag = c7832c71 +PT = 4d851cbf305b42a4164d040386aced2cbfd1f4634b3cdf9bcc12e39d3d5fe5d5 + +Count = 1 +Key = ef3c73ee1e77d566c9115b2be060930a +IV = 05 +CT = 245152a8a5e98cd6f0ad540a2f7b99c7ba6fd27d6e78be0636cb942f520040a7 +AAD = 5de03cf3cbe41db49ec56306002a58a2 +Tag = 0aa044c4 +PT = a7f63ad7e3b9f6c51d6c2b6fce9a8885d2bd61448884bdee2490e464b372e86e + +Count = 2 +Key = bf617f3b92011f92c62593e0bfac8d0c +IV = cd +CT = b0f8c72e564de22068721d001f837e5cf579995844f71cf013c8da263e95c52b +AAD = 3180c624b0c5b2f82a40e90b20132f1c +Tag = b15344b8 +FAIL + +Count = 3 +Key = 2b4282ffa09010cb413a9ee47456d802 +IV = 79 +CT = 2a0e1828c581849421b038511976172a1ebda9ec9e0d622928fc67005effafc4 +AAD = f96cda4f14b43fc6147a5f45c7efdf4d +Tag = 624c76e9 +PT = d61b04c2b20ecd0bf11ce71f368acc7f378c82c90598a00804130c0f09b1a7d8 + +Count = 4 +Key = 3c91ad5d46162216158c61a03fc6ea51 +IV = f9 +CT = 3c97f0ad10b8dbd34197f907393b49fd2b252114f2383c0bcda44b0b72f56a32 +AAD = cb6c7aece89b5f9e03f420958a554acc +Tag = 353f683e +FAIL + +Count = 5 +Key = 70e33f6d2e04c980bbfd23aed173eceb +IV = ca +CT = b93b5e51fdc512c66acc901a7af0bbbda7e6511b0049d138d314deeba5e57326 +AAD = 4b909808b998e40125e9400fafee49f1 +Tag = 7bc14f6c +PT = f7400e04af25e2e847cce15d71433c9a251c00e7f164333c381495f8ee3b7722 + +Count = 6 +Key = 33f8a0f7610a7140eabb5a2e7eee8ac2 +IV = bf +CT = 202f67e3d11f4ed3a440068c5c2ba4c7c62c4fd0c118d7141af7a3a4786d32cf +AAD = 3ecf59b8ead8a5ca7f662c063476893c +Tag = 615f70a2 +FAIL + +Count = 7 +Key = 40a54d06286c5eea14ecee790dcd338d +IV = 05 +CT = ed3c9c72073b9c485841b1231fe218b46db91db583eb804e5fdfd0fdfbb8b0d8 +AAD = a5cd4a660d8c0f843d0a18112419fcfe +Tag = 71286ac8 +FAIL + +Count = 8 +Key = 731ddb50cece8ff3d937c0e728bcbd60 +IV = c4 +CT = 14377c7f4218191c2bba39f8af85ea0fd81e9931a7982c8b4abdd7fa97aa3ab6 +AAD = 1c474422133f7f72fd561fce3718b92d +Tag = 3a170ae2 +PT = cda0e8fa359cc28fc28a0b385f95b8c7f333490a6e35ddd3ae0229e2423b84a7 + +Count = 9 +Key = ad52b422cbd36131d29eb2e0eac9fb52 +IV = 3c +CT = 693fcee260b41bbbffd7e64d99cf656be4799ff4f9a14c672362407d358254f9 +AAD = 008f6ae9a9cc2d31ab925798d0426d5e +Tag = 7492dcf3 +PT = c3a4c6f4d1c0aae7cb4975215753f2087a8b2bb0dc37b3d2732d708a52196a8c + +Count = 10 +Key = 27a609298dfd5cbd29097eb94a5c2301 +IV = 5a +CT = 1fdfcc160ad38f6506b6f308352c5633ba2f8479415104c37a9f707b4d995f75 +AAD = 746ee13611b8d25a35a7f6dcd95ae31d +Tag = ca994e5a +FAIL + +Count = 11 +Key = c3ff6b9965435f91166dc1b07432995a +IV = 99 +CT = e5b81883483a22ca6d66f50da88f3557d33751ede3fb3789be56480bafc4f253 +AAD = 98b3960d92b0cf188e5ed62fb7f33b0f +Tag = 38deb84a +PT = af1f63780ed597bdd7a78cd87fc109fc3fdf907251c76c8e6e55991ca30f8187 + +Count = 12 +Key = b60c1fdf63755ff56c40c8ccc605fa06 +IV = 07 +CT = a1b565254527d819ec768cb5ea7f30309b5a9d319767386f01163080c13fea16 +AAD = 2aa7c7344b8957d7043bf6997bebd04e +Tag = cc6d84a9 +PT = cf3754d7a4fb35ad29f05ef14fd2982b8ef5b921e26cc204790d6a04ff31ad0d + +Count = 13 +Key = 33d876ae05f1ea6199d3f9c02d0e4021 +IV = 3d +CT = f0aa688cbc46e068716ab091e28a325b875425ba7870f32060f219e6e2f97021 +AAD = 3c4dab21bff37af920d8d371b0e64030 +Tag = 3f6ca6d0 +FAIL + +Count = 14 +Key = a2bef8a420f0494744e4a35c4e12cbc7 +IV = 94 +CT = bec841c993f984ebe750151215459c4e972306351738dac8367997beb0014af8 +AAD = acec6ec1569adba31b39a9ff4a7b877a +Tag = 7df9fae6 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 348bf555de5fa4a1ebc999bb560cb3e6 +IV = f4 +CT = 05deb7ef892e3719fb0a5203499216425893d1aaaa32b20c1df6427d90ed6c41 +AAD = fb75cd25d185c6e21b94768161cd7429107fc5c3 +Tag = 1c2d2c8dea57017d99abd68fa52a297d +PT = e2b18d3caaeaaa6f85f861408d95730601871e1fedafe5278f5a7939ea887783 + +Count = 1 +Key = e549124e8902389cb0283a772aac3137 +IV = a0 +CT = 4adbadcdae6e2386e2609215f3355864166af96fe1cfa24c96f7996acfbfcf96 +AAD = a098d968231000080498cff97b578e079c4ae4dc +Tag = 095535398a00c3b42dbc1265fdc539b2 +FAIL + +Count = 2 +Key = 5c54d07f977ee276feb35e2fd609571d +IV = a6 +CT = 95be157242be7fb6baf7f28bcba4663f43a5214ab9eab4454b46701f2d7b5ae6 +AAD = f0c659a5d6ddd50108ffea479d0b00502cd4a605 +Tag = edc4077082cd0c7e71a8291b4ecdfd3f +PT = 148a0b3ea75d16a7546dd30ce77fb32bf810a142f0381079a4e1567318391851 + +Count = 3 +Key = bb974f86f27d9b0116babe0f3b93b953 +IV = 6a +CT = 2def9be4cd81e0de9a3c699a1053a42b4d814f8a32846326fda3759b4faf3796 +AAD = c651935ede25ff5e17cbc2357cc1533f26672796 +Tag = 9e0545d0e206b70e633bf8db644a8966 +PT = f0654d1958c392c8e570d67bc02461acc2880a9ff2f73ccdfde9d3cf018d4f01 + +Count = 4 +Key = 064217dcc66f80349b314a78dfb5ef44 +IV = 8f +CT = aaeadbe2e204b2f6c8213feac63a8b81d132fb640cc4abbcef37235f56e83472 +AAD = c63866971e5d256bcc53c3cc798b4ba41afab0ec +Tag = d03c793e157201dbe9d53035b7857cfc +PT = 4187b17658f9e2a2138d2215e0fc201c75d6beb8af975036577e179b39b657d8 + +Count = 5 +Key = 9a93faa257f6cd9bdfc71ded2ffa0cec +IV = 59 +CT = be3638ef2a87cf3c4c21eb99c843c5d200cacab28f18d5088f9abd718093989f +AAD = e86d39828c715db3a0003c836561ee16327bde7a +Tag = e4f2d0389695063773901b54aad2355c +FAIL + +Count = 6 +Key = 52f08d70eab9a0866f42b006f9e6688a +IV = fb +CT = b833ed9f4297246c4994f224427793622255ebfe91b92541cc30bee3439bcd7f +AAD = d07de0ce093533f7fac7cfad305e3ac563cdf00a +Tag = f2f45e837beffb7031c1a056869de4d7 +PT = 5e9391ca2d6318abf9c70e397dbbd7081592de9e93bf6d9466b462133edb8787 + +Count = 7 +Key = 31aa4352f1ee25a185c66d6f7bb25694 +IV = 4b +CT = 73db78b3d8bf451388db2309650d30c3216d786411ae3b35455df9dd95519c07 +AAD = 48bf53bee159bfb2a3638a20aac0a00dbb7c59c1 +Tag = 78fd8d3ad133ec6b34d6c13d1d83430b +FAIL + +Count = 8 +Key = 8184ca0e418bf82b5c6a6ad87de1568c +IV = f0 +CT = 7815e5e6d8e93c8a96c723d827f246dd3e6b891f3a5c1364350fdb4448b91401 +AAD = 1654dbce170306d6db0298a56984cb4d3d0c566e +Tag = 3ec3b6843518442209eb83d6204608ce +FAIL + +Count = 9 +Key = 1bb29c2cf912941aa33536a5b32a047e +IV = 49 +CT = 9be32ac5d83fd7ec133d6425cad9aa7c717f28b06f21669b5c14dd2fb2d97686 +AAD = 773ba7e423d7f02d0c5a461c69369992b7ac690c +Tag = b0419f3ce56ab7d4934422191822e960 +PT = ad31c5bd73164c407d7740a135ed75de176562a0399d9b0d3ca2c4ddceda507a + +Count = 10 +Key = 8c7f07388a11da012106131671ef07d6 +IV = a4 +CT = a5c6592ba2b4b9db049ca52bdb720034ab5825db8c2f0ee52ff01dab5fc35ef4 +AAD = 42771b9d5dc954171dcafbfc72fd5d0392e2837a +Tag = d413a605fb184d25241d5e1f75682cb5 +PT = 6936937eaf294f94e697a411758c6c85136c5aa7bea49621a1987133b6822252 + +Count = 11 +Key = c6d336b31ec6dc024baee820dc8012ca +IV = ec +CT = ea6b65c6673697fd0a3a47704a7d3719531c17777fe3ffead80b6112a17e691a +AAD = 4f2bbe6a9cc6a47db98cba5541fe01a250cc9f23 +Tag = 4f817b2fa107ff793c75a861149b44a8 +PT = a3e608438c01a3f88451d9246611937a241649eacddd3a421eae46e564d780ef + +Count = 12 +Key = 58ad36561fd41d4fe17879be782d3392 +IV = bf +CT = d8cd05e7b4f75a56103ee9951307339bf22d4ac0f0dd7f7a5294a3b810d6093f +AAD = da94c7caccdbcebb69783afd7848e42d873de222 +Tag = 4bd7d3327672c2e8e522243cd06b9b16 +FAIL + +Count = 13 +Key = e50369f504d3013035034f79b3818194 +IV = f4 +CT = 611595872e2e013d61668afbdb8e39e5d550216d8d9439682e8b2ad15f14cf44 +AAD = b37e8ba0c17e0e5bfae04a5429567b9d355519ac +Tag = f81364ba69b811ce0b5dd29d9dc12ee4 +FAIL + +Count = 14 +Key = 290d87317869015dc1efb260174e09d2 +IV = 96 +CT = 5eaff8ec25b35db611cdba819fcb748499296564630622e1f0367f2d6d34c21a +AAD = 499233831a890b3324ebabcd3662811b297b4807 +Tag = cf1608283ef8d8e1034bc87f37c4742d +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 961ba5381ea5d20e29c6cb7a77916a95 +IV = 2f +CT = 5705f48b82e4952dc8924fba227163614bd18eaa20b0f2dc6b1d4ad4465e28ae +AAD = 3e9b7641284c24a05c474cffe93b28417b041dc5 +Tag = 62e1f01dee3df53c0b9b8fa04e3e0e +FAIL + +Count = 1 +Key = a2b03f0495b1f0270c338bdba362ae47 +IV = 99 +CT = 9d6f294a0d33f76bff40bdc57c0157d09e200144e3f3094aa15530beefb3b6e4 +AAD = c93eb5923880b2c653d537aea865e8933e84da24 +Tag = 8ccfd86708bef01f696758a4b22d17 +FAIL + +Count = 2 +Key = aa3e408afe1ab3e966afaa9c35fd25c0 +IV = 13 +CT = 46cb393283484468702aeb04f292b3309ca439e9ec6b4bc10df4a0dcfa069ba6 +AAD = c11a21b82393e2e4155d318a14dd9fd94e978083 +Tag = 2b669ba7fa03cee19ff0a17677bc85 +FAIL + +Count = 3 +Key = 814a69349e1e234c5b4a94a70371771e +IV = ce +CT = bb8f36bba0dbbee271371ac56097e0ce35b756992427b4de69e808b9f4e8421b +AAD = 297d09cf0ab887a0ec83d5d4d9becaaac23f40d5 +Tag = 12603fa006c5d3b1af3e1c239c537f +FAIL + +Count = 4 +Key = e68a5addae959b8740872e8ae2ae7ab1 +IV = 0c +CT = 2a95b8a7761f8313850cdddf54c83086f352f8ed32057cc31550015d633367e2 +AAD = c5945936235b730107c600319378c9092b830fc0 +Tag = 3238b2a577259b2d8be82dc1c0e4fb +FAIL + +Count = 5 +Key = 59b5222ab6f13f68a5be8f4686c5c135 +IV = cc +CT = 42ec55acc304f7d4a078b3abb0d0cacd031edb07cfde7e8608bb6ac2b9fd9c4a +AAD = ca7fdb913ece945585c38819a361374ef95ce26b +Tag = c3990f9af4b0fdb33dea86f122068b +PT = 011b1a80d448cdb45f6d5810a48519e5fc1bdc077b8141c90af62651ce018bc7 + +Count = 6 +Key = a19b9f34be9de5080e14711c4a65d149 +IV = 67 +CT = 168286fb6261efd0a88cb1b8e0757572bc836dc76c9da7921ae99e767b20ce43 +AAD = aa73a05cf70014850320aa9b87f7abe94ffe0ee6 +Tag = 050aba0b6d5c5a0f9dbf51c2678e63 +FAIL + +Count = 7 +Key = b0895a670cd9b3994ce8bf88a1119bd9 +IV = 77 +CT = 6a89f2d3a22398e22d85304b4688d73c751a21e19ba8a11c10e2df86cc8a1444 +AAD = cfc17790c2fe26d2673f0cf1ab8422ffa66a454b +Tag = f66355a97cc3f3b7b07d952f7df055 +PT = 0fe2a3f9065ef532d79275e2810916916ede2adf10288ec7cdfd029b2932ac9d + +Count = 8 +Key = 14a16ec5c60bb2ef1ce05f01f54f7f69 +IV = 28 +CT = c517f6b89fe181eb4700db470d39d1f44054916475591680f7f30eda0389e517 +AAD = 8028728dddd4da4f870a203cb192b7e7e60a2246 +Tag = dbf498f833791df1dd9ffa2a658f36 +PT = e9e21d6fc40705af41dedf18b7460ccc8a34579e14bf9415746292d7f27605df + +Count = 9 +Key = 24aedb50468249e7eac46d0f7798cb7d +IV = 49 +CT = ea9970f6edd0e4aa3290abf1c79838a3cd4430bbdffcc322ef6e4027a63eeea6 +AAD = d259af1c7852260333847b97281244f30bb0d044 +Tag = ab7404867c62e65a3bab7febe45d95 +FAIL + +Count = 10 +Key = a6996bda283fcd2f24a578e9372dca7c +IV = 4e +CT = 1c75d073c890655a08e3562e46750dcca85c875707b3ee47d7576871b9f9a915 +AAD = b924c042cddb1272427d0d30ea410bc77ad04288 +Tag = b7b642d3aba4e2ce2b0436625ac413 +FAIL + +Count = 11 +Key = fc1bd5ba614025567f09f8c3c003559f +IV = 28 +CT = 0b822f03552f9b0abb55bc474f0713eea285d774704f656500d8b86ec12cc07a +AAD = b73f59f3d509df2d4500163dbb772ce28b4a870d +Tag = 09909071715729dde6881363f834ab +FAIL + +Count = 12 +Key = c79820a5d58ab1efef15402dfb3e5a7e +IV = 10 +CT = 4fcd7cff72feaabecddf31680b4357b36136fa5e079c443c59f69fe4a086ed32 +AAD = 924f13986edc4eb2af529e848619656b2d570218 +Tag = 80a0cd65e03fd03fe3600e3a5cf329 +FAIL + +Count = 13 +Key = 7b2050a8bc2a6d75dd6e4b6f9a21030b +IV = e4 +CT = ba8c60bdb0fee7b3b2fb612118752a3859b6b539447d05366a6a75f57fb80abb +AAD = 9c641b7a95090429cde285ce22b4ac3cbe4cfe16 +Tag = 0d0056fb9cd2f123e4861dfcad9213 +PT = 1c015db045add98c04979e77e8a5da1c6f2db2bae77a7527c09129dc94a97f2d + +Count = 14 +Key = d68125eb289e831a496bfc420eb08900 +IV = 0f +CT = f415bd5945889281c090fce88b58ca370fa750e858d8a4d8aa47c1eeac06777e +AAD = 015ff022b227ff9b86b0798bb656d42f73c79459 +Tag = 8c32a0a3494ea8f519cac62ddefda7 +PT = 501c687ea52fe263241d20d38689b417ce41410a65a6ffb4f5b81d0892ac6ce8 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 871b1fa8075bbce712a85b7bdc61770a +IV = 7b +CT = 517837e31c31518ea9990959c93e53fc488dbb658b510028a27155fe07a45b9b +AAD = 486b989c77294add90917ed2cd8bf215fd0ec0ce +Tag = 67e15ea62123dd7db8de4247d4fb +PT = 15dfd54612e4aa55d857c25e13a91073b956d7a758212535d4aa01249aa32849 + +Count = 1 +Key = e45f56571a19123d8365c2ce30640865 +IV = e9 +CT = a38219864fa8b2bd0dc87e1c85fa4a223525a61ef6822c2ff9f46f2bfe2893de +AAD = c5568def8b3b181ad9153b9630fbf550c7dce211 +Tag = e66614e21b95415a0efe5b92b3da +FAIL + +Count = 2 +Key = 72b48766f49323a2cf27085ca7ec8aa8 +IV = 60 +CT = 931b57d24a4e29c734358a48ed4a8938c9ab65f926975ce1b4929f67ded131d5 +AAD = 6a2742021d444b5801dac76cbc6ad01aee4a24a3 +Tag = 36376c0c549e447202f4818fc866 +PT = d0606db9701e97192bafb3a78544d8a456a5fe11ee498f8f5b5686d045b9c0d4 + +Count = 3 +Key = 1945dfef37b0b9f14391c38ee596121d +IV = 26 +CT = 9714de84f3b22973f5cfa35c5ed40a82dcc29148200f45ea6637be1dc8d2b184 +AAD = 431426b64f5bd8e36659779866b9384e94e10f34 +Tag = feee2bd0c6f5588bf40b26f18099 +PT = 430327506efd025cf5204e6f8e93c33d440e2563ef827f35c59aa2a961df69cf + +Count = 4 +Key = 430de133e163a2e155fa64f256577fb5 +IV = 44 +CT = 5f431eafc071721b2a8eef8e7075b06f501387d6b11887e73d9f0bbe06ba09ee +AAD = fd57f66795dc578ba172031ec2dd23563fc3930a +Tag = 1f7a7c606f2a29b43776f70af98c +FAIL + +Count = 5 +Key = b397b3db8b78d19a4ab8b94d8f71e4dc +IV = 9d +CT = b1064658f5a899b23caf1da31cc4d07d5e859e7d651b10d83f771d4c61d7ace5 +AAD = 42352a55b7aadfd1009731cb04cf874ca45397c6 +Tag = 860d0abd26141fb6f3a0cf81fb40 +PT = 59084f61834992812067dee491005aaa8fb41599061fed83d310ad0ddd1f8b15 + +Count = 6 +Key = 9653993a8e53e2503c91261f82b27b9c +IV = 8e +CT = cc740e8c187584b98f5481356fbd34c88bd9ec0cf77c68c7ddbf6920a7029c74 +AAD = ca05b27688b32c1de7ce43e49ea4bb9569bb82bf +Tag = ef9835e043f6b961661ced6b5a97 +PT = 1be6ce8c1f8f3fd4b8ce3a1f4099951c726e5d39c6c8855edd021e1daceb571a + +Count = 7 +Key = 033e189d303c240a59f8e875c954df5c +IV = 5e +CT = b525c06aa7be0c9ec9acb0defe910ee0cfe70c1db2d4320fc352cf81e5e2c319 +AAD = c7eab1717c5d336c409491e1dfcfc7eb8ec8ef5b +Tag = 21a39cef4ff9ddff0064d331392e +FAIL + +Count = 8 +Key = f708db19d9ecb8169086f0964ce281c6 +IV = 5a +CT = 1855ffe0637ab461e5451d6f3e326c7b8850d94d6cf47308ef969035f08b992c +AAD = cfa41a662e6448796fa69fbd091c1e74fb5bc079 +Tag = 2e80962eea328dc883febb827b4d +FAIL + +Count = 9 +Key = dd8ec1f08aaad6d0156f1d2fcf06d867 +IV = 45 +CT = 04f4f12001ef173164aec6ab7d696c4745b6f707b04ba12f2ea8ba33676ec5e9 +AAD = 7786aee9d6d7559ae6e8ab9dbb2b1ac8f4c2d3e6 +Tag = 96eef4fae16b9fc614f19d4f278e +FAIL + +Count = 10 +Key = b52ac993b3c6b859f70834b52aef3573 +IV = 3a +CT = a0513bbce1dea5fff97a6f183936b2d87493d47abeca1d803e738e8c4f80a325 +AAD = a29c11ead315ba673554ac96740f9107d748e3d2 +Tag = 0ce86b77b3751814a123ec6cb896 +PT = 909be5284ed9ab33e6a91acaf2c227d604401bde790dc6e4517a436899323eaa + +Count = 11 +Key = 3392ab5d797dd5c3960102f71dd2eea2 +IV = 16 +CT = 7074284b408e6f634c3bf836da542840d06c0bf076de8699d74cb6bc5cd4177a +AAD = 70f28707056ba0eda12ab94e424cef2081c7abad +Tag = 4b96f0d08dee058bb75d012a0074 +PT = f1d6366b37d46f8203935f93b7e778169645e1b8026330eca4cfee4b837d6ae3 + +Count = 12 +Key = cceb1add1e4e48cac0d56a744eed266b +IV = 43 +CT = ef811a113570cf884c6945ad49b814d75822f560d4861fd6c31a5c8e8549bd23 +AAD = c02346bda3a67b442541c18f26c8e376a3719d50 +Tag = 2e9494670e184f5767df7c5f3d2a +FAIL + +Count = 13 +Key = 0bb36cdca1605ce45664fdad348625d5 +IV = b4 +CT = e6eb62edda8541c3721ef3df8308f457c70ce37e51c339e9af46d7eda12e4cb8 +AAD = 9ff9484359b410b185ea871508b34991bdbb0175 +Tag = d521388e60c96961cfc225b91230 +PT = 3dc0129d32077c71afa9a61af5f961f2b59840290cbbe929f255ec4c31643979 + +Count = 14 +Key = f0b2c6a47bb4ca30ff44a22e7c2e74f5 +IV = 1c +CT = 20a3e10ce297f9ada0a1af9cc7a758aea4f3c243962fa6d01a292b5f2ff1a1b5 +AAD = a97fb0f9a6c10c0be1dd883bc7269e104f0bfb74 +Tag = c9c010196e609a92f0b01684561e +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = f2772d9cdfa89646f25a3afdbc873d1e +IV = f1 +CT = fb85807137e2195d464fb68493e60e5881f747c388c47b186fcc22496e50e7b4 +AAD = 2277635aadfd6ebb589a3f714c68275551562f78 +Tag = 03165c9062cf4af33c3062fb30 +FAIL + +Count = 1 +Key = b5a2aade1cce57f499110b8afa5fc6c0 +IV = 24 +CT = 104e76cbcec9b5a5ce6772f11250f1ac0518949fc25d4a293990050db60ab580 +AAD = c21807e8e65e80cce1d15898c153f498f0e796fd +Tag = b9bda13850946d32949040d186 +FAIL + +Count = 2 +Key = b55591bbe0031c96516ad53f54416177 +IV = d8 +CT = 8b75499021459c8d18e1efeab6eb43236cca112657899048cc5233f547fa116d +AAD = 7701b019d8e9a6a3ba7eeacd2d72b65511c552e4 +Tag = be937c5e9375e63b4e5f798cb8 +FAIL + +Count = 3 +Key = f41473fb9ec3a0bfb99e9e4f19a752a9 +IV = d3 +CT = 7929c893c427078097010678ed3640cdfe8e8428111a68190411078858bfdb33 +AAD = 1a72d6c3bf9a080be5569bd50a59c021f0262a6f +Tag = 2e8f44507b2bd49f31211be60a +FAIL + +Count = 4 +Key = 0ae9faa697657c4bb4460e13680fbf72 +IV = 01 +CT = 1bae75c195f3aab1e7dde859d5e75f0ac7a46f66d0d32fce39623fb79c8aa6ee +AAD = 6837cf3147145dbb3254b2fe4fb2590088835929 +Tag = 4ce1209ffa2caa04a3e674f60f +PT = f8141af94af337c15cfbd94b227d66c1f0cda6512ce4b63298d01c4da92e01fc + +Count = 5 +Key = 045a3a947b873f5f61911d6570c09e60 +IV = 42 +CT = b61a6f9db30d098792777701b7a2e719088df134636a67857daf16a43657ff8f +AAD = 616fd0cf5ba9a4cfe62dcf29ebc7466efc78a199 +Tag = b0156e22a269f251d42987e9b5 +PT = c8295b76fae811f2afc4d889f0281432525d8615f1bd0aa568118af843dbf451 + +Count = 6 +Key = 31b636c4ccbe5e2eb3cd21e0cca06244 +IV = 3c +CT = 166100dabb04b78164e3f2e451f4106ff2b140ce880abbc9a21ce7ac720c550d +AAD = 6be0970fc5b939ab18db2dae4fdbce79e0b141a9 +Tag = dbb636934bf51475ef978a8d1b +FAIL + +Count = 7 +Key = e02738d92d07508eda0fa7f5527b1b09 +IV = c1 +CT = d87510a7fbeeb2ec2c98064ed9748f080258034df331e327ae1cc5b5bee5d73b +AAD = 0dd9ddb572f55b4cc6eb953f2ad287483f2f910d +Tag = 1c93922cc49e2e0199d67bda12 +PT = a5ff70687fc2f4cb85377b246c8d38aa0e07bab283b53e32bc3e006c7135bcef + +Count = 8 +Key = c23f9d6dff8806ae43eb6412ffce1c59 +IV = 0f +CT = 3a9a2119ae9065764d0f772c95b6ff7150a63afc7975b79a93d5d7c5bc03ec37 +AAD = 06c3ebaf320ab156ac472b29fc4b9db5e6fee06c +Tag = cf037527a9d3bc808a1276c06e +FAIL + +Count = 9 +Key = e2f22e5ae998647a076d2b523740fbcc +IV = 92 +CT = ae54ca022fced6be3731a991001819747340166c30b412cbc2ca7b34bdab78cc +AAD = ac061e891254be88447b21f41a42f2a8f2cdbc21 +Tag = 99b2456e9848013711b3537503 +FAIL + +Count = 10 +Key = ece273a15d5d89647b9f476e82ed4602 +IV = d0 +CT = 973142492b7fcc008235c7abfb633d5f7ffed2e38f1c0ecb08d0a9c6e02c33f1 +AAD = dba23e2f3a6ea5638cb73dcda155120e2657c841 +Tag = 92182e02e072f260b029fef2bc +PT = d1f67ceaf275d0076c72975a4ce3cc78dbfbbe8af497aa2a43f85c13a509f52c + +Count = 11 +Key = a1007468e60dd9b6f4027910ce24476f +IV = b3 +CT = 788d10bc2b194329a3047b91b8f7eec1b910e5bb3572bcee148bf062fc0b8448 +AAD = 318386ba4622fa2bb6e8afcad236664ac05dcd1c +Tag = 89bad3b5a1e021ac84f4b170a0 +FAIL + +Count = 12 +Key = 850a9a06425ebb65092147a1cced92cc +IV = 3b +CT = 811055171c7c6e63c9c70571fac790689589e71c0152c789174969904b055f1e +AAD = 550fc8de735f72f5cd839999308e8475634485ce +Tag = e0a2dfe7595cc10789c2e96def +PT = b49379635ebb2ac0db4a7e2b72799526f13d6f0d358bf2238fe5e01a7ebaddf6 + +Count = 13 +Key = f29a01bed2b4477546d2d5ea6fb86bf4 +IV = 99 +CT = 0f03a8593bdfc5b09d785c803c3e26633928af130d26dda00ffdc24ab675e981 +AAD = ffc288b73cd022a2af3ed57386daf7895ffc6593 +Tag = 64af5a60d267dfad9ee7383905 +PT = e09121a4d756015a9d6c4009c349c5d3bb6d4700f316d3d532bac644722e852f + +Count = 14 +Key = 614456c4bff1c3d062077fbbe904b0ee +IV = 0f +CT = 7f1f41eac4ebc500f8b8489a7d8145d78c9faa61090aea6266bd2abe0034fb01 +AAD = 21371f183b4cfc5c92e18188e51a74abe5b35818 +Tag = b896c01b5fb75afcbd828baf67 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = b6bd8f494d76ba7c30709325e608dcd6 +IV = 91 +CT = 2b1cdf5277d7662f1614fd08a4c39e51bf65a872b794e00ea8159b2994d42335 +AAD = de0b332eab7f7286c12fce8f825cf376cd45b8de +Tag = 6895e8a397ffa861774aa5f6 +PT = e5b5a0c79786e7a69a8bb92e0994bff5194e8cbb33d4bc41231c9145255cb4f7 + +Count = 1 +Key = 1b014e7a682166adf0415f47bd4b619e +IV = 86 +CT = 1875e22a8daefc39f9fbe2f5e25d019d3a1fccc0a5703997d2122c50ff4ac207 +AAD = 57420d224984b8670520499e6bad18cdc09dd3df +Tag = 4b0e280f54a59e5e4d0f0367 +FAIL + +Count = 2 +Key = 97d500440f797ec372a5214906581eac +IV = dc +CT = f883246525acb7370932620594c89f1c5fa1b033fe355d706088f2b5883b092c +AAD = 1bf77d009b1d7e5564b332c7cc2b8f4f0c5b94b6 +Tag = 7770a181b9162c6b947ff199 +FAIL + +Count = 3 +Key = 476b2c26a250c4250107d76dbda1a83e +IV = 8a +CT = 6c21373acd648650c6d6991a4e34df39ddb19e083dc6fd6e7bdd215087b43f23 +AAD = 2ed7117f7d07c02e91fbe9878c1b00442cc07fc9 +Tag = 64d335d7bbd215d7a12d9f1a +PT = 113086512f4fddc6cfa2bde0dfa51402fda3aea489216f81079f80782a20a3a7 + +Count = 4 +Key = 020861db8193214dfd69b9fbd22b3156 +IV = 15 +CT = 33d6ad17d6059c4180582328623be2c40784cddc8b3cb7482d7bd6cdb5411ff2 +AAD = 4be7a4b32be7f26371db2ea3eb8b1ca89fbb55ff +Tag = 5493062fe40cb5eae2ce7e7a +PT = 0c5bfe23e77392c6f7274439c615b1636251c2635d9a311a8400a9c0005441a9 + +Count = 5 +Key = 0302b5f8d16484d146a05bbf7edd9d8b +IV = 91 +CT = fc12e7507cdcca4593b55667f37cbcd6ccaee8073775daa54d696f1d16daf64a +AAD = df794432dadb9756e312b0a6334f953a24c2abc9 +Tag = 4bedc6568c09771e82743055 +PT = 42e69bcfa039cffd2783c67a41f6855b8eaa6876f937060da897d2d25c748c48 + +Count = 6 +Key = 44783894ba6acdfc858cbbd053996b22 +IV = 2e +CT = 99268c6d84e2dd9d12cb61ebebd46d1af1dbc6c04b314f3158e412d858f297e4 +AAD = 92c339b4044d5bf90ac06d4b6e262d3cc65f61bf +Tag = 62916a308f7ad72a735baae7 +PT = 4e36ea453886706fa2ca676755108bd8aff3483ac0b7055f3945132d5c9540ca + +Count = 7 +Key = 9c375ef73eb2fadf783c2be015fd7bb1 +IV = 9c +CT = e000dda7940e87faef7026835e46e545835a05f4f8ead8e1cff409a6f91722d1 +AAD = 8799ebd41917ff268459f5c1771a584f6cddd380 +Tag = 5b19e054244aca1e5921b33c +PT = 751b63b064889139898489c53118d63c6296e19ba5810078ca51fcd7829834fb + +Count = 8 +Key = e8c2741b12a8ce7cf95c34cf1ae15fe1 +IV = 2e +CT = e5413deb9cdb93835c6cf9e4e276661309f0e66d1ca0edf24a165d8ebc5197ed +AAD = 5dc8d0465411f4e8969dabfc5ff649caa80ff302 +Tag = 15701f5befd4060c0bacf44b +FAIL + +Count = 9 +Key = 09c4aa6b98bbeebacca4264b053a4615 +IV = 67 +CT = 3994ad62fd36c18e9db32bacb7d2b9efbd918db9852eeac619c5ad8490690824 +AAD = aabefbb3d1383c84ff36181a0b854e6c3f27e2bc +Tag = 7ed73f60bc452e3d65cbccb8 +FAIL + +Count = 10 +Key = e4f9bd49f2e2e72cc12b4b55edc581d5 +IV = 0b +CT = 5fa59f69d8fd4ba88668e50e3f3ea56ca04e5e16d0d2893227d256c53b2fc288 +AAD = a28e196fd35f8d395fe5bc21a11dc3bbd38be27d +Tag = 56d25878c25069a2a6ace2e8 +FAIL + +Count = 11 +Key = 5bb37e93f386b572d3250672181f786d +IV = fc +CT = 847ad2ba34e52680cc158a490fb70f5493174d86d0a417e74f4f597cd010a734 +AAD = f94391e675d32da91083f8f90647a1d462a00871 +Tag = 3b7d0a323d5260792c5be5cb +FAIL + +Count = 12 +Key = db7c3893e9ef8f2be173e6b91c28d1ca +IV = 8a +CT = 6e2678bfb2abe1efc2d1988ff26ce446d7138b7dda1a901c3099609470d2efb8 +AAD = 8f815a3bc50d403bbbbb3278f669e1bf963bac32 +Tag = 3a68b48460f519057f2cb5a8 +FAIL + +Count = 13 +Key = 91744ed12aaf3fa6e60b865b4f5b8f7e +IV = 7e +CT = 42002ae4eceec8db9d9a9b506d330c27982acca24e2422f34cf59970c48e950e +AAD = 988351f71c8e3f3a5cf46313ee02c82ce449c3b4 +Tag = 771fa2bea8f660a2d152b842 +PT = 3aff063f7415f96af10c855d7855883120583ba5b891860f440f9928c0efa390 + +Count = 14 +Key = 3c28e8761e5e24def6a2e0aa2b61d7ca +IV = 6c +CT = 6478f26d2bc74575af22bb7a2da514b09704a9d4759d92603cf87f82481f19d2 +AAD = b471e98e051b7597e4156e5670e70d314e682d17 +Tag = ec57c9cfb14b9ac276da06bc +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 6360151b9ad70f4d0669cfd2220f6450 +IV = 9a +CT = 2ff28434beb1ab05a0818d9628e2c5dfd8a6a25093ec9828ef69cb6daea9949f +AAD = 21b2991adc5ad2ed626babf1f4235aab312645a6 +Tag = 8af57939539657f9 +FAIL + +Count = 1 +Key = c8b519022ce0b588dc2e141441212fde +IV = 9d +CT = 810e28fd86923a915fc019c98024013f69e7644bb5685aabc84f9155dab94f69 +AAD = 09dd0cdd3955ee86317e68af2a6ac138265220c3 +Tag = 7d9e5128874128ff +PT = 631eda3905e6c266f4ce0ba3e57a1110a610a5fda5adae6f0c7e4781212306f0 + +Count = 2 +Key = d259a7efaf010326cc2bc642c54462d6 +IV = b2 +CT = 3d82df661e221a2ca986eeeb79907cfec549c6b767c8e18e7f1244209873cf51 +AAD = 1070e94faeb0b16671be35428f53a8a59faad0c1 +Tag = f531cf5d92481c95 +FAIL + +Count = 3 +Key = e4b966b7eb53b2b78994d0c0d4f46ec4 +IV = 21 +CT = 21f1ff309c98838adf6881937cb13239ebc18b441ec374b8b164ed000303b5c8 +AAD = 8899535cd262d7327e6a6b4688d62656e3388ace +Tag = 3e9146a9433d3cb4 +FAIL + +Count = 4 +Key = b87d137baa764dde3958fcb57cd7f4a8 +IV = a0 +CT = 600e1f665c429abf7f33a1f2911c3690ecc892ac81fc21eff02046b7fed2ff13 +AAD = 52c54a952dba357db1c2897f23674b67f144a3e4 +Tag = d4472bac8e1165a2 +PT = f700775e0ef49cd8d8ba7487b063012c58e12cad56e2d92e71f7e134dd1f19ba + +Count = 5 +Key = 23218bd62acf290c19ec86adfb1790aa +IV = 64 +CT = c47d67554ed0d4736f9e08b55e3ddfdd281fa78281134573f2daa30fefdc62ea +AAD = 6268e25bf41c12046749f94ec1c8f1270363b16f +Tag = b70ac6d0683ad81b +FAIL + +Count = 6 +Key = a8ed242501439bb0bf6378ebf41f6ef1 +IV = c6 +CT = f82eb61c5ecac3a7a78896078b1a98e2654276a4161c1b82aa39ef6e93465f42 +AAD = 3a58042cc91d2da07c77e3ec4c45f5fcd272e8b3 +Tag = bbae1063834c9b85 +FAIL + +Count = 7 +Key = a57cfa424c3318d20a63d9ddec2984ef +IV = 5e +CT = b0b12346a7814c9296f0a75917d296c7e1c1615420fb251a4dd36cf75081c15e +AAD = 991e0825ce377e865213febf51fc6e352ea1549b +Tag = 7c875b1dd3930cb9 +PT = e5de59aa27391bc43cb11608e88915095e3674b4c7119dc167d338ae66055247 + +Count = 8 +Key = 737e7b1f9b74e81376cbb93637eec698 +IV = cd +CT = 8db74a41f81af0af855d365796124e5eb0866497839148c2b91cb84a6d5600f3 +AAD = 893bc28c5dac44acd9dc1fdeb3c3b31efa96bb59 +Tag = b50f6bf47a48c8f0 +FAIL + +Count = 9 +Key = 12563f3d4b6cce568172f2117c51bc52 +IV = 11 +CT = 95068ed3c1ca33bb882b2170858c35a01fdcf9a484b82870013bd59d226fab29 +AAD = c5152ad99eb228ad4ee4fa07e95fe2f1cb997cb4 +Tag = af05ae120b2b903d +FAIL + +Count = 10 +Key = 58abdfc1c0a7b646aef368f96560de9f +IV = 75 +CT = 966a0b030d792e1a6a913ad6d0cca34a06ecd612298214470c6329cf2694f148 +AAD = 84dc59001439a4305e50864e27e022ed64b780ff +Tag = 65f6e0ab0233dd87 +PT = 4d6504557265f46055f57944a7b88c5f040ee5be035b0401552f1559713d0a0e + +Count = 11 +Key = 271758fe3a9da2273f8ca1c8a5eb617f +IV = 75 +CT = d291486a750eb24415d8bd804d2edacc4d3af7f3e4ad677cc645a931608a43cb +AAD = 3a1f5be9d153d72d3c9c68ddfd48ad9d30931212 +Tag = 5b0b497aa8e1895b +FAIL + +Count = 12 +Key = 3c7ae314b4dc24555872a21530ff77de +IV = 39 +CT = 76a7b2f44feb3700a79b00825e24cd556d38ef780b0db15a8efa69214a3efbf9 +AAD = dd63c6999c234e36d886cb3da1a24581b2ecb1d8 +Tag = 52e16218bfce1835 +PT = 07e39ddf8bd1405217f1913d1016c50103f18760ec0d69f4b799202ec8cb12b7 + +Count = 13 +Key = a768e9bbb445ea55c5f5b61a0fd492cd +IV = ef +CT = 6a04d9ab62bf0a60bfd34f3efebeecd5d70ba14b5639db97a6fff121cb7363c9 +AAD = af8f3a87be0899379914edf43ef9b3605dda7ad5 +Tag = b0a435e3ebdd68d8 +FAIL + +Count = 14 +Key = bfcd622c8ebb93e50a4ac9c1db008361 +IV = 0f +CT = ec0d1196f445f864140490511c3bb7fea457dadabe0be977eceb3653a5a53ab8 +AAD = b8b3e2f5ef4c0da6ee83ec6b5b70fb2022ffdf4c +Tag = fe0c4509cb3845fa +PT = 6a3649ee8e4a17b0f88be0227af100249f2bf6e744020fdc32a98f876aac2870 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = cc75f259597b1db28f228631529ae64d +IV = e9 +CT = 05f98a5a89c70e768797c2641df0788485e496a29e6e84673a5f07d6ec00de9d +AAD = 6eb260c1d022e06926267daa126bddeae67cb549 +Tag = fe2a50c3 +FAIL + +Count = 1 +Key = 49ab0944149960091dd44d23a593ac1a +IV = 72 +CT = cfc66f6f9f1700e33949f3ffa4807d32227c9dc8daf8a429bb8dd40645773966 +AAD = 1d9b9434902d649d89362ad4c8b2e37ec4972f18 +Tag = d2274897 +PT = cdf4eb1e8aee30c1280c8db94f6056458b9310775991dac5d9a00148fb862004 + +Count = 2 +Key = 19cd311de0427de39e8ef07b24cc509f +IV = 6b +CT = a40ac6baddd2a80e35394421ab13204f96d3921bcdde97d0f48769e5904a1c58 +AAD = a328cb08c061970e224dcd3c553b95d0cef9947b +Tag = 721ae392 +PT = 22bcf69e2aef884dd3dd15fdb14f7a11b13e7e7354bdd4ee0bedb5a825eb8a2f + +Count = 3 +Key = bc5f46984735a6ac0f5a7deed4fe650a +IV = 05 +CT = 34c3b31861769cc617f5fbee8ba3373c1a25dadfa12600e9637f47647b35bc8b +AAD = 05a1861527b0a447d302999091f34c4e2527f8d7 +Tag = 5034e419 +FAIL + +Count = 4 +Key = 1f92b4ebc778ce9d5083b21b2da70f6e +IV = cf +CT = c2592b7c6b73d610f41f657feeef641f5b0eb8aaf2d7d1450642b25c8892f61a +AAD = 7a1b918650b82b558f7611adfc4b4709a31cffc2 +Tag = 44d87910 +FAIL + +Count = 5 +Key = 8a7f92d03d3b85f1f12a55f875f6e5cf +IV = 4d +CT = 68708d127f7de2fe38321f3b4cf778f9162509c203bcbd282c27e12bccbe0dde +AAD = 525f3518d944fc812205a98931f6ecdcb88a1ca2 +Tag = e4d940b4 +FAIL + +Count = 6 +Key = d35643272239dbe4917c7b7beb44e58d +IV = 0c +CT = 9aa7a1f485157b4868ea2ebdd9d9e6fcd5d0b7cf0a1d7487dc501ab0be648309 +AAD = ae887fb125f466f2e12176eb469a12d52f429839 +Tag = 3ddb3ca6 +FAIL + +Count = 7 +Key = 4b4b024483cc99840076ec2272e393cd +IV = 2e +CT = cc7f7257ff3c9469acc901d7eddf2d6ff4a50b6a5328458a6c55f9bf6ac7578c +AAD = 32078f32ea7d87e14419186795aef3b5eaf5e97b +Tag = c4aa0cf6 +PT = 7109280bae4d22dbc49d8e7e8b92eaf349ddba7bb7d4633198fc6ae2356037c5 + +Count = 8 +Key = 71dfde09cb7aed309afbfeb570228048 +IV = d0 +CT = 43283cb65df9101b5996e6b4df0bd2a1b975ef83032a91447556e77bf32f090d +AAD = 4b73072fdb43a4a0d5165cd313ad94e50f84789b +Tag = f360317f +PT = 2d895790d5a1b061a5f8f2efc815ffc15d9248f08019aa318da0e9b87acec348 + +Count = 9 +Key = 9cb34f3a532d99d5be076df54660b1ca +IV = 03 +CT = 50dda62dcac483e1fb3e3e581d39fda79cda521077b33d5c73a4f80161d35cb7 +AAD = d4ecc7b12f231137d8ee37761f316bc3069005ae +Tag = 7556b972 +FAIL + +Count = 10 +Key = 0dfe424185bbe764be013a48e6527724 +IV = dd +CT = 4e21383e5161c059b080597c9efc6ad359e293be16ecbad1f0b4e711b927e0a7 +AAD = 3e3510a994100502ba7c13b83f4676bcc0194aa5 +Tag = 5a328bb2 +FAIL + +Count = 11 +Key = db342c894900249df7b4b7c6b4625f17 +IV = d9 +CT = 4b0fa1d3f3f2353c9d89ac631eecc221be03a9e7413b178d17691277df7e9c42 +AAD = 12a2468a7161ed730c6cec7f4ea33787ae8d7656 +Tag = 10b99a52 +PT = 9f2d876ba84be964521f3295f68e1f47a8cad97f6dce2180a5726790ada86718 + +Count = 12 +Key = 3107d62983af0242248066b5e9f7beb8 +IV = 57 +CT = 32486a9e0aea92fda6381f73637ace193785c4e963607d5ee51b371ea7354685 +AAD = 4b20e957cae7f148e43adfe17d1c72e1687ee138 +Tag = 4f54e7f3 +FAIL + +Count = 13 +Key = 5793e2b534cd88d7760dbd1a9c2fe571 +IV = 7d +CT = 82949bc52bb646e13c5324ba42b8a5481dda094b3a9735b3d0f01127ee0334bc +AAD = a84065590b08472c908adcb9ce340625b7ec11f5 +Tag = 8f649deb +PT = 801324fd86f05f6a4888eb1bfe5c02cf7ac687a3009b6a12610e187af63d24d3 + +Count = 14 +Key = 57f404c997f3cd89283c4daabb5b8e99 +IV = 3c +CT = e6ccb6aba2bef8f15637bd6f2f4dc0d903e7d0ca2e02ee65e1feb196fe712440 +AAD = fc23246289976a5536a4b8efaf95f437aa602bb7 +Tag = 0d4ba5cb +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 9b8609d272d5e5b38d958a6ef1f8cd11 +IV = 48 +CT = d54ee56374d65c32fb026058e47bbf046b6521be4a2358b57690fd5c34d78d0e +AAD = b49e8fb97e3dc844e2475d7eb3c79f337abba5c9273cb7d38fd009e608fb6358683a39709fafc1eb0a26e4b105955335 +Tag = 998089036a3a20e07785a331f93d5cf2 +PT = 5bc78d0a9d390c30e88629578b696b6e0271edaa0b86e515115143ebb5c8ae61 + +Count = 1 +Key = 0424bebe87cec1e8e2e0c72eaa13e0ae +IV = 41 +CT = 4bad2d79ec2f429bae1d6b7b1a491aab41da9de3ee6d39ddb3b7a99b2a1ffae2 +AAD = fe067529d56f19d773ab107a30b3844815a18e1ef088f267f818b90b18c5191239efe441198a2274a7cad717986b930c +Tag = 94cd9a652e2dfa5b804cfa2e2c153e33 +PT = 3f9a6b60f81ef7e51c91c1ed3e8a4caecff7db78859ad12c65e8f7fd860e59fa + +Count = 2 +Key = 7a3f47e7a4108c534feb1dba0ef01689 +IV = 58 +CT = 750e23e40d2827e5085bf562b7c526b3c10b6ca632392c91f1354eb8fc958e09 +AAD = 10e18c7ef527f71366828b08084a3d695cb51b7d8f9675ea650503da04e8646155e8df742b6b3155d2e28246e8118fb4 +Tag = 31c7f04cacff130afc472b2bb45cb846 +FAIL + +Count = 3 +Key = f1b1fbec6fce7657785cd320af81e8ff +IV = a1 +CT = 3485efb167e5163f84f534f0e2b5fc5bccdf8a5015182b804c8f197b9e5dce2a +AAD = a2a28820734d886d98583b38254a7dae3c596cff1a48b127d86d2bd804b0358ab63805a1a44dc0c5a76856549833808e +Tag = 6be63328e90bf9f4343d0cbd54fff232 +FAIL + +Count = 4 +Key = c451cfe9fb1ce49b2325dc1ab3eab99d +IV = 46 +CT = 15b88e4162d4594ad6a38349f1ec9520e417b2bbb755ca1c054c40a8c1491b06 +AAD = 09b2e4f4ef08f7b677d95d2afaab26496dba87bf472f5de736a2951fbb62b7b71da21be9cb515e1f8f1b63c2b824e691 +Tag = 8095e5f36aad9565b9e154e15a99ca1b +FAIL + +Count = 5 +Key = 7e5d1d2f89bf322eebf3d75b4301bcfc +IV = 6a +CT = 620cec3e82c871350d42b03d0c9bf500e92acde0203d915a461296434bbb9439 +AAD = f358b586ca2a97cad01b06ac4eb48277700ea39e16132e8e9cc9d6b8c5dd9d25a7806a843d5607bd89b67eeeb2045976 +Tag = 9c4ef09276504ad89c17c3767feb099d +FAIL + +Count = 6 +Key = 07d7c09b5ff7f1cc73d7444a0aa8305c +IV = e9 +CT = bdecebb1acf769b0d531f9acd830b3b17f1991ccbc2d736bff848868df1a3c1f +AAD = b8ed2a1a53c9cfe20716e49e27155b0fb7f2198c58a74a0621863299cd566d10ff4aee926f470b6d711726d46c8eea67 +Tag = 3ad446d2cae10c660909ad5c67139009 +FAIL + +Count = 7 +Key = a8c2b3db3d7d6206e2554433de7280a8 +IV = 87 +CT = 9bc2450df5d9b4c347371e0f83a63d4b05ec97b50f66f3ebde9890d102fe1400 +AAD = e8724702bd529ff9c68189dea9c90b4eeb1eee0c39cfab076bdf7d21712747fa650812b73efb38e38df819b6d94195f8 +Tag = a8ca0cbdce016e2722843108e1bbf90b +FAIL + +Count = 8 +Key = 3ff05c04e5f56296233e6f2dc1676cb4 +IV = 67 +CT = df2554b96e7ca9901e5250a4ae9fc7a198937092f4e51c936fa7c8be1bc91580 +AAD = e97d2336e062824f56b3a7f9e858d74bdde84ebd7f04eed19aa960d91583fe9c52a14816ab671cabf7243cb8ef5e96eb +Tag = c351fa92b4a5da111cce2605c0cd08b5 +PT = 9f81bf9d4382cd03c8bcd99a6b263b6f57269d6fb33645bb095b6e3ec41c9828 + +Count = 9 +Key = 85446fdddfdc78e68c6c434d481c8c6b +IV = a1 +CT = 57c7589e4199f9e2db19a918d16691fb731cf855c3e41a7d79ee7463e8dc8c6f +AAD = 35d5c07467007c98eb98905d91f8ce5ec06b21b051c63cf07fa412bc3c4372d47f693f7d083ac5b1e2ffb6e455519b44 +Tag = c479d2eade6c185853f48da3fe0a81f5 +PT = 168ecd449171fec45ea02b6420d0c0a3c2b312624664b26901486389758901c0 + +Count = 10 +Key = a6a4a69cb97850b4f079d6174a704847 +IV = 23 +CT = 60b55deadd3c9c07a16ebf64642359bb61491c4e8c20e8dcb62d1fcd9a0bf680 +AAD = dfc92e802d268dbd41d3ce25716546f33c8c028190e1eafc48989eaa2fe2c10e81be43db514ee8bdb5e7e94e9eefd529 +Tag = d5b89341fd85008b0700ba4d3d0fe0fa +PT = 90ccddea7008fb605e4aeee92bf3f84c869ed837631c777c80a8960e78101dbd + +Count = 11 +Key = ea9bbc2ac055b0df990a73dd78233a0f +IV = cf +CT = 969104d86307e4fcfa39d16253ccd488396880570ef7409c9f2be951df5fa9ae +AAD = 79a4ecdf19cf56cf433963785acf215b578abe230b56821da801edfd26077a45795dbd91673d1ce04fd554d251bd0d2a +Tag = 38fa0be2b97950c6cb7f8f988ed000b9 +PT = 74a9ccb489e68c522a63533f549d5805d19f6288e3b2301ebfe9cb681053a2cc + +Count = 12 +Key = 27acec4c38a05e3b009b3bf940fd44f7 +IV = 20 +CT = 66bc7329c8170935823ad79fa6ce6f567043bf7682e9b82a78f369476e372a2d +AAD = b9cde0276e7273dfa54b8ed9a676b38c50954c3be57be7b212520d319f74e65fe708d242b13df095ee42e31e1127c615 +Tag = 5126ce1367cde3ab50b0f5dc0b65c734 +FAIL + +Count = 13 +Key = e54b83f07e04e32576a913b09574f944 +IV = 4d +CT = 8cb3155d2a519638bd1197c7bf200f65e0e738b84e8cfd442967e67a047a6d90 +AAD = 356c55a39f56af226a9b2bb06dbd618c153066b78baa37b18cf057cadbc7224d4ad83beaa2c55c4665043fb0edd147e1 +Tag = d8aea4c1a25bd6f7b1945fcd848e8bf1 +FAIL + +Count = 14 +Key = f720d60923675c4fe221d53e964a0a38 +IV = a2 +CT = 39dab03adee6af7a5d7abd6e22d33514e3ccc0c63d44299c05f9b1f026922488 +AAD = 14cf7a24d77c669860e4a0fceaa4e264e851731ddf948424328ac9cf5b1abf4ea80cf0e463435053575383254627b444 +Tag = b873e6126b1baa8afc85e6eb5101ac45 +PT = a7ce815f0f86de579a52cb9745b9776e6414de91e928c421328aa1a1c5d2fd94 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = d16fbf2b1f1bb373182db40c71504883 +IV = a0 +CT = 49425edd65478ff06ef32f4305dc49583c52ad730586786bf0d7b786f697d737 +AAD = d59e3bed432dcf6806d0cda3bd8dd45268ca97d60b70d48c91f24e185c3b4b0de4614342d6ddc2dc07719c30251a2134 +Tag = f534776ddbc25ae1eeedc4d7859e3b +PT = 26b6eb1adcfd4c526b7dd518f18fc830fec8f28a543fd394f94d2dc1f97a89a9 + +Count = 1 +Key = ee26e252a344b2cf666429f73727740c +IV = 01 +CT = a3bffba712b8b0c31dfc97365ae97683cfed16332bd24df32f9a9a6d11869c8b +AAD = c0cd558133a4cc776499845fdd3f3ca9c612b4064287812a4f2d105f331d027819b6797a8a06c9b8433ea4ebfddb12ba +Tag = 54ad42c9f3281c799bb8f3ab18ce25 +PT = 41497cc7dbfa6eaff424f3b8f1f6fc32be0da313878a0bde774ee6626aa9c916 + +Count = 2 +Key = a4e652570369374d4c7a6a481158f536 +IV = 4d +CT = fefc814fe048620720e9441ac74e09d6a2984d6abddfff6001d517578fd09d56 +AAD = af25466f1c5b1367eab52fbc0352892350ec184f4f733faefbf8d2727be4b75c7351bf96de7a9ee073a74f7e083c913c +Tag = 5502247f477c04aa739f70130752b1 +PT = 2059768b047369fd98aa62ccc4f28abcddca522f2bc35cb6d439ce7dff772986 + +Count = 3 +Key = 8b751fc25c6b2501a21b39f77e608942 +IV = 98 +CT = 31c0924d9aeedb399c2fb4689d7f0ea217bf603adac229f64b0f1335125e8cef +AAD = d25c083ce9cbebc3a60488070b9834b7c15271b3ccc9b790b07b477758b7c7233cc96024a1fa96b1140196e9da31ca7d +Tag = 265ed195f8db07578090c5eb2996f8 +PT = 124ac113bd6d1a103710e730582127873fa8c6aae0812b71bd7bbf831190b069 + +Count = 4 +Key = ec4044117285e12e026b43b339378325 +IV = a2 +CT = 3b9960f69f06c94f758b92e68dd471d0cc3c4d1af987b5e205caf5b990f7fea3 +AAD = ece8889c971e79304991d1d4e44b0125e651658517a4d0f0361fa9304dda87b83e25ae035701136a95b083f0415b5369 +Tag = 2f688dfc5365fd7a4d41e9be34461b +FAIL + +Count = 5 +Key = 478947f08285cf655abaad7f51a81779 +IV = 43 +CT = f733c4f2d90efdcb22eedf0025e8aea90153b11efcf60b4098786a0b978e31bd +AAD = 64ed6ec0ab5d679011a61f1f132093a49e527fe6a3f405d07d9958599237968b6bbb40b578b0d34ae5307543d4014240 +Tag = b4f643fea0e3c9a3ad27d99591040e +FAIL + +Count = 6 +Key = cd7c4691997b7ff6adef4bc3c5ab0ac8 +IV = 0f +CT = f4c8a1031e07a40e4e8b7f8aaaedd21fb7da79319ee9f7235448e3b61576b66a +AAD = 3ef8fc92e6c3092f33f237fa8fa7a8ec6ed47f47f7a81feb942d4ac18d2eb74926f84f9e4b1955b4a54e57d258a30f61 +Tag = 7ad95aa5b24006f10419edc015db60 +PT = 77c38c4ccea544845b0420de41ccebfcd06e296774b0fef3e677f5f94119b2be + +Count = 7 +Key = 0a8ae7e04d08fb4e1dffd458bf8f8e7e +IV = fb +CT = 4b6e0b758dee4a3dcb5eae3b729af1df54c0abd1ebf911c9499df4a35bcaf6a7 +AAD = 9b38344f9d30afe7a1d1dc9dfd2c774776b395101fce557920b33fe016d6494f36496b72d52a398939e55132882c25f7 +Tag = d4fd2237febad43002771b177c670a +PT = 621a65980583f5973e478fd5330321d0912fe9085815ae6935408b3deebd3e9d + +Count = 8 +Key = 4e182da1f3ec4041b2c1e6b9b78ba7c2 +IV = 29 +CT = 3bc98869223a47a9eb872b0fb78e0b9664c7708681958b44f02f0cbd9469f1c5 +AAD = b8e2cb4f71df0edfec33673da26c651da8e70cf1359278f224f73a709f951f00ea4bc2f9473da73b999a316c6fb17561 +Tag = db5871a27d62ed7c2842f490737ef1 +FAIL + +Count = 9 +Key = 737be1572d00c3415cc5db0e960a4891 +IV = 11 +CT = 8dcc3596e7be30eb49726e81c846fee2868fdf1b156b92f69c1b66bd2e753bf5 +AAD = f55d866d1a90a26dcee9c08e38cc822d361d3a303d1b2941edd691cab78600c119c7f31333681a0167461c0c80178330 +Tag = dd1579e2172be9c7ebc45beb688e5a +FAIL + +Count = 10 +Key = e799b6b15a9875dcaf05395ca39096d1 +IV = be +CT = 2dfd37c0a32daeabf60a25854457f94caabff4a63d85f25e825865bf0c55fb3f +AAD = 16095b5db80a5a49af3dface5274a0fbeef0d29448c1251da5701ea8a77c7f156e8535b90aa1e87fbc0a2796ba1ec126 +Tag = d7a87e9f578443311c4e318622482c +FAIL + +Count = 11 +Key = 4198841a7c5e0cb4e8fee361ec7f3792 +IV = 17 +CT = 9715b10b33d83f8f553f91d07ffd578083379d93e9cfdd89dca20547e81d5434 +AAD = e18800f5e4d001a4d6ff04b3d4d2380d3e4fdd71317f13054491f29a07a4211f64e067450edb0e405a9555a65b18467a +Tag = f8dca848fcf0839ff17c8e7f8e9edf +FAIL + +Count = 12 +Key = cd77f18932435cacc381030ffbd15e76 +IV = a2 +CT = ea2f0a74d49d76875345e73015569b005555eb480622ea5eb4f1d684c0562c9a +AAD = 91483da8d9206184851ffa60fc8ad08d9ca1418bff8e94e0125507b1ce721d2d8fa7182400550c0d35f28d8e748fdcb6 +Tag = d568123288471be21e2f38293b40c2 +FAIL + +Count = 13 +Key = c937e27ac03c0c745b3dfd3b396fd8b8 +IV = 20 +CT = 91e11b28e11bfe2ab5addae90259aaf9582473128ccd7d15384d08b771b2b834 +AAD = 09cea83af2e9326fcbc700b4e2efab0da7aefa3fba9afa26bee84f0d0fdd1679bb03b5e15b893223441cb55072fb63ac +Tag = 41606b95cefd445664a673329782ba +FAIL + +Count = 14 +Key = ed8d35f97eff74a2bd3ff2eb69dba315 +IV = e7 +CT = 7e68c3681b1a3cbed8a413a849d7a4b607b78735173a488ecc506ef260e378db +AAD = f4644052af933f9b24f9226087f2ff3bf7807bc47831a3ba0299aa73f989878ed8ee1e9135bc4800fb925371529cf6eb +Tag = 9cb4730ad057bed4930f597ae119eb +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = afb7c4eca44c58a44b2790332f10e635 +IV = 68 +CT = 27fa1034b45c72c424501c8ffbafc94b86eca5984f1faf1c722c5466aca7d8d6 +AAD = d3fd550897c22fb15a00d226956b029149691c78585d42713ca737a374af2413cd4ee34464a6bfdbf100508b30962c75 +Tag = dd6282cfbc9856e8bd29662d9a4a +FAIL + +Count = 1 +Key = 24ca9c083456a7f52c75f3b39c67ca96 +IV = 74 +CT = dcf46752720a49357771608fe169c1070baa8c572eab3155f5df5e0cbbb4bed1 +AAD = 7cc93fba15ab57b17836f5c7bfc25a8d26c0d315446daf68989b46c21a2793d7bc06a2e4547783e54eff98c74f670c2e +Tag = fac3ca684d195651967eb61d6f53 +PT = ad12143a60aaa9e5a7317c06aa895535e1389e78d620d4df8dbbecdbd403dc78 + +Count = 2 +Key = f6c5b733d16cb1b4e8c487b5349587a7 +IV = a6 +CT = c2b38e91b0d663608b370740358cdc25fc52ef343ed23c0c23c957fba513554c +AAD = a8f8311292e180185a6044e26d1b2db98f278a8a7f1ab7ae3c7b6823ed50d0be6e4f9e2e6d6f7558cec5db14658853f9 +Tag = 762a7ee368e1b4d8cae670b249ea +PT = 598006133526f04acfb8a6f0ef6da411c55bf4b67b3f03fd884299d348d72fec + +Count = 3 +Key = bc23601a6f886fb0078c2df865a477fe +IV = ae +CT = 71d935f148ed5e7264d445681dccf0e2b87619cb5b2fe6a75aa9534734905218 +AAD = 4c54883b77e751dfede01087f0fb0d2ff6fd37acebca49c3b088b1df448599bad4225707c0724464cd37bd40cbbd0a49 +Tag = 7353113b18026e1bd2da69c5e783 +FAIL + +Count = 4 +Key = c1e403747dac2d88279d6cdb7743f23f +IV = 41 +CT = 19dc5b53a69c01ebc4f50f29d8077ba35222b5cb96444c47a3bcb4a150aa2d6a +AAD = bb97d08731589830f6ea745716264129aba840d1d4ea97f86c75a947cf3de5fadb92fa2b3582c279bdf0935093bc8ae7 +Tag = 4757d132cceddef8d01d5553fb9e +FAIL + +Count = 5 +Key = 6cc5908730bb4683d68ae4da5636a996 +IV = 87 +CT = 583151aff7e6c0a12cdce52a41b0e95721b13f2ba56736d963f54b0edb9a489c +AAD = 5e3383f9674dd5baeb4c47a692556a966d7e1e9f882cd8e8637b6a940fc845e31218184877d3ab66b40dfd9a6e9a3f6a +Tag = 1a8726a5adf6647517df4daa47a6 +FAIL + +Count = 6 +Key = 948076250a459e048824a6eeb68bc7f2 +IV = 52 +CT = 674e9a710e21d429021ec9817281d2d9fb7597263c428741af6dc12a3f97327d +AAD = 205a9ece56d419901f8256a2bfd4c1e12f14c6a8d0c84077757373deef54fcae87d910cb93b5f02cb4f31e3fffa775d1 +Tag = f4711c2cfb191def6be9d388d041 +PT = f1c0e93cf32bf46d1243300ba684db6892f8e82fd2af7c281bec4d3350f465c8 + +Count = 7 +Key = 800df79fca79d378c321b6396e79aa37 +IV = b9 +CT = a512a06694c516c406d62b7d7d2703be0245c1821b61268779ffb58d16cac173 +AAD = 18cea455e7998f7e8db5d0a047e055a461d2b15ccc57375c9d166166e7cfff92657e7ed23f17316773cf28fafdb813b9 +Tag = b3d0dfbd2d973bc5f4bca2d0a37a +FAIL + +Count = 8 +Key = df8f27bde415bdb88eb1f9fff9a4c594 +IV = 6c +CT = 343133d5b5feeaf9f3d6d50dfccdeb6f5c895fc943348b33c8de8ef9904e6764 +AAD = 5e500fa5a3b13fb83303bcbb51edc382c69d84eabb453756d858eca97eb170e2e27682eed4517249bb02d7769b465a6f +Tag = 2879bf254ba29f933907cf8c8ae4 +FAIL + +Count = 9 +Key = ecf6348cb865a42cc3cd38a29ab84410 +IV = 67 +CT = 0fb9f46092d544e7af1a1cb1730b8055a21b4d949b9681bd2c063a9933dda38f +AAD = 9313fa6c6a9c0ea63bc32310b61707d622dd1607dabb4fb946531debb913d54ba96abf4fdd70e38fcc38ad8044de5c3e +Tag = 7628b716ba66951524f02ac9d992 +FAIL + +Count = 10 +Key = 30083ab7bbff9db5f64c94224b5c3d61 +IV = aa +CT = 676d0af9d0a32d606bd4b09f43cb4480a0fe27317bca031ae6e5978bb66f91e9 +AAD = b82e67eb1883581e054a5c7aa22b6ff49f18d50b244f118912e3357c4dbc47f4c014a5b9821edcc9a17c451d26e9ffea +Tag = 5cb35b991927925715da4a62cabc +PT = 2ba72f6e0df8a165b0450ca9545520fff07042ff13df9c179e08197bd7eb1a54 + +Count = 11 +Key = 2707cd8c8f6abc586991bb90a034caff +IV = fc +CT = 071bc94b24681c07a376e345fe8d8be4a7df5c7ae1f154a8f763bc3a0b069727 +AAD = 79eb0a271ccf05cb68abc9daee9119667e6e4aaf652ac3e0e68db3fe222f1d263bd3ff0a1d20ec71d92e8cabc92023ea +Tag = 0bbf6502c5baa1d7f76b7195815c +FAIL + +Count = 12 +Key = 840c9177381122ac10a64d9438175b6b +IV = b9 +CT = 848a558fa1f3b934e4953bf7e9d77a27e72d4aa3f8d2307ad954944ac90d30ae +AAD = caab620bd9b4b1f33ebe7081d070366334d3762d2b9393820a3b3ed0c78cfbd9208e4b4b4a1402d402f257a9cb03da5d +Tag = 2f0a433046edac995c0c6f28d8f0 +PT = 44f45e34a0d40cd8ad3c255e33e04502109cdfc6025ea193058441201cca3d8b + +Count = 13 +Key = 392338e3ebb45fdcfa2207ac44b02879 +IV = 2c +CT = c913338316b89adf894eab1582686137bec405693eb189ed75754710560ad8ad +AAD = c05efbd96fd73e7bc9b40307ce329634bf4837015800ba0b735e05dc8d89f2f5e207bc8a29c3097c662e246ca53aeb48 +Tag = e7aca13c91a16766ab8692b7fbfb +PT = 1e089e28037fbbc1ec32151cb1c9ee7e2edc676d698b1baa8eb406c4065e5a39 + +Count = 14 +Key = d1f7cbd556db59e3514ffa4b561d77ec +IV = ff +CT = fd3671af29e3e69745d9e90029032b3ad963909cb77dabcd5ac99d80d1b47d83 +AAD = 2d1e0e612992a1be8d361cd04cbe896bc207adbcdaf529888535ede4fdfeddb1c6c039e170a6f3cf116fd5ef12989950 +Tag = f179ab316bb30d99e20c8acfc264 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = bb48bc63b98b930ace5f3b32f5cb468f +IV = 4c +CT = 240ddf92d53b8842410b8614e8ba9cec1083a21b576af0e44c039826802a2b84 +AAD = 6d91cf791eca71eab10886fe70e2edf54029b8d8bba2666faf1d356446ce4ad82bde4385a1e320ee7553afa32caece07 +Tag = 9b5030ce86fd66def441e913d7 +FAIL + +Count = 1 +Key = 76a4087a8192888a5b35fa45ea31088f +IV = 1a +CT = bfd414e8307633b6f0bf9699d942842e3bebadf9dda8081cb8daeeb17018626c +AAD = 1767c531cd9f77b8fdeb688edb6fcdc9555b3c2d4f3686c167884e4e30bd119b21553f54ea99176987b1b07b42ba45e7 +Tag = 7980466de68e769241355725c0 +FAIL + +Count = 2 +Key = 52b75615a4ad59c53c3f71cc76e5cba2 +IV = 8e +CT = 3814b0505708f290c71bf7ae6476401d8364cbd5a67adf07c71622eae72cc756 +AAD = bfd140e6c20b4e01e4a1984f3fffce914eb79fcafbd7278da0eb941eaa2e79964603109d08b5b3f367a5d2f1996f1a78 +Tag = 995177d2c2bf3f9057708d04b6 +FAIL + +Count = 3 +Key = 8e6ca2d9228b15e4c44543bbc941dbed +IV = d0 +CT = 6e8558b5405ae74a3d73492682e95bdab07c71f70787683f4284c7bd89c7bfad +AAD = 8bb46e9c1490c262fc6a11c69bf0eeff315fb091b29a8ea96f1b3553d97c14725675f93ba5b0486166fd5c289fa06624 +Tag = 6cff3643423bc5f40d51a39443 +PT = 22a1f1e172b7d9154556e38d1775455dd2437e56ff73addf9623ab61abebfebe + +Count = 4 +Key = 4a0ea3d44782b1e5a02681586f08f84d +IV = 98 +CT = 0aaa67fd674e5552c833d370bbce630a7e1c6c202369af5582269cd8b3624f6a +AAD = 7ea2be65a43b00f598416bffaef70804608b31e41ad87dacf0ab8dc527553bc58d9753ec5c8e2812865a0ab257ff8cbd +Tag = 5f5e40aa6d6c3367ebc034d80e +FAIL + +Count = 5 +Key = 186a63cbc0de5e63dc1ab5febc0face1 +IV = df +CT = 7ed1a70b6231b444b48be8c1ae7fff6008c6f76ee0c0d36780b08cc24912d6c1 +AAD = 39dfbfd23fcc90c26e247490185abf67440a8718a76a4bc4f37cf12f528cb6aa2dc972f13b8b060cc734faa0dfa35c92 +Tag = 15614480c96a30f63fa0ea07bd +FAIL + +Count = 6 +Key = 62cc7fbb7f203f32db0de234af3ee580 +IV = f8 +CT = aa548fc76d1127ad9562271992c341a68847a0a601aa10d1738267b47f03c69c +AAD = 7a20d4d26e29368210739e2307ca76598bf425411a04f43944e6c2ec6420001c420f94579b609f63da12366e9ef53975 +Tag = bb5d9e5fd8cd3166471d8748f2 +PT = 85db23bde6030886879d59743393aff747d20e0e68449bdd6c139de8a158bfad + +Count = 7 +Key = b50684d794b705ca904015dd96bded54 +IV = 69 +CT = 6ac627020e8415483db5e56e4c379d055d4f2958993450db5de05bd1cbdac546 +AAD = 7da766e60812da06f3886baf9286566f21dc223893e4cdb6fef4c9dd97b44caeb6a19c3b06a2b308e60bb280308d97c9 +Tag = c40d5e96963c5b682f0348cabc +FAIL + +Count = 8 +Key = 75bf5ddda4df1f6d433dce87252e7187 +IV = fe +CT = 28d9e8583c7a709096e66ff33d382f8f3c775f713277c0bb38e6a697ed1eb5bd +AAD = de73b93750ec180843ecac57927645328acd360069a621400906de6130b06301b1f470617744f73c1a2e4955e5eb75c4 +Tag = 73da8d086210b659fd8c4ec810 +PT = 212664ebc3728a0a3f5304bc0a47cac02e38af80e16c0dc0486f54d74484e320 + +Count = 9 +Key = 7fd225c8d5375588635b7e364f85a88b +IV = f5 +CT = 3b8f530360538d7eabf26b8b5b442764ee5d20401d161d8a61662e120dd6160f +AAD = 9b304775d3f9190fdbfa245c5c17ab3caad03db132b5e168f066195755b4758a665e8deebee727170b1966144d78f83e +Tag = ddea2787926c77fb56b2aef604 +FAIL + +Count = 10 +Key = 58b60f2f543c6e0d9d692191e9b5ee03 +IV = 79 +CT = 8860d2c3dc29cff43774e330b24356d966d68f690f7c7cfdeddfc024018620cb +AAD = c927136c8a91bdb76270700a55cca0aa108c319bc2e4889aced1edc7f3f850b716919b76489cd3a68ee60eae4dd82bbe +Tag = ebb38de5b748efd76cd71c6266 +FAIL + +Count = 11 +Key = 4d3fb19e5d9e24125baff6f4781206c7 +IV = 18 +CT = bb7cbde1f58b587e300e56e1548383ee7b21068a54391200afeda502ea876114 +AAD = 921c3b4b2062e2fc1cb3e051d16cede29ad304cbc8e920852348c999b1a86f4ababf953cbf7667199911a84af6389c1e +Tag = e3580615098343318c91d03394 +FAIL + +Count = 12 +Key = f14f01ddc9154cbfd5d2f13ef469366f +IV = 97 +CT = 504e696e0e7f2453fffbdffd02b571da91cb29731705023133bd56d1f7fe76ca +AAD = 0d3c9b14d620328b26f427dbbd1156a6c64f88a27fff1b913af92fe7264ade4c2f25bc0f6c0371b173d06b049f11ae37 +Tag = 1f2c654526ad69d19df24b00b6 +FAIL + +Count = 13 +Key = d961927b9d824c1d9737c7a25f43bddc +IV = 32 +CT = f937bf8033d4ffc6e927470165d4de936c2c6d7d48bf8723357aca1b11e70ee7 +AAD = 12fe59775c842730d962a8d85674abce3ab7b15eb5a470a82659ef58332a0ddbe48cb443a440ee38406cfaafc067feb0 +Tag = 4cad0ede064189795ada88d25b +PT = de1cc11f77e23ad695a3bb76b5cee2e6a8fa7c475f2254d71f84bb3e5dec9b30 + +Count = 14 +Key = 8fbbf949aa95bf36f29f30221614260c +IV = 1d +CT = 79bc1023f5bf53e6f652a124026d1eb9c1bfef94be0abf6d00232c2b119fbc78 +AAD = ac74663534f339150b131a82cbf5b6b46b87f02f92224bdad301cd8db3d8d240d3edc1b5303c90b1cfeb6499790512c1 +Tag = c37fd185a219a4d8182770efa6 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 1ca0fd83b04ffaeb6d7f20fe11b41c28 +IV = 24 +CT = 61def25e62c8f0784915f59b18b39232104498a7aeaebae902f5f8d177f89d0b +AAD = 5aafd7170e48cecad86d0975ada78a6618c62990550d0c8dc080d209e2e585b0d905d353960f7e3da529c6d8e82ba299 +Tag = 5df10634c2e5d14a982aab1d +PT = adc0e271f6f3e83066f0d68caf1457fcc607c40dbd88e9fdd3f7491fa976d337 + +Count = 1 +Key = 7a8e7bad432cb1fbb2c663a8d628473f +IV = 8a +CT = 34e65ddc79da4b21a147422ec96fd5542a8180a6ba235921cd15317fa0017da0 +AAD = 65699f2ac7642ed939d2eed23c611a7a2ff178a37b58a35b09304ff8a06159d4e2c02a2463a176012bb865819e2dcb52 +Tag = 95f2e41fdc76321989258a1b +FAIL + +Count = 2 +Key = 6139709aa2442562ffadf44f317d1faa +IV = 2d +CT = 9ad3d89cde0aa9d93bf9094309d972be663485a0c26a5d5519bcbce649f391b3 +AAD = 8861ad9150e8bb38e154246b79b916feb412be2309834b664424ccd5998d7452245782268cece4e0494ecde4c2e51d5f +Tag = e85d6cb8d6ea90095d6be1d3 +PT = 497f2948c10932c997352cc9bd68a9fbfb360ee8f15538e1559c6aa772e6d968 + +Count = 3 +Key = 6aed9a2aa6a626599ca3694cb3cb6b9b +IV = ac +CT = e128ad903e9a77dede1f588491661becd615b424e0d5fa268d87fcdf60ad1f4e +AAD = 671fcf920ddab9373eb2738701e9929537c09a280accbc4e8831aaec5382d40c649da8a14096067e005c80ad3a135255 +Tag = 83f9412050d62c59da00612c +FAIL + +Count = 4 +Key = f99ab9222a7196c6d17de17ba8559c68 +IV = 61 +CT = 1a67ed668356f36e13bb02b9201e0f4f5bcbf4c96c8ab2ffcd3f07a27e82e662 +AAD = 5b1a9a5ae1ba7ec9860ff7ba09e0394ed5ce8799b43beac95428cd4466082e5362b52bf5a2c989ff74e8dcd6a6e0fae5 +Tag = a7fa7321124bc9959499827e +PT = 089a04526e4bac2396274e79f678fdd43e82f2a2d3f4cd84f5aa132b89a189b2 + +Count = 5 +Key = ecf83d69f5c1df0d6e69019f6382012d +IV = 80 +CT = 481694ddad9ca621f5bbd84415ed646e30b43cec2061b80875d202802a2dafb5 +AAD = 4b314a15bb669341164a9b6701d74099979bc66b603466f9a438fc371e60be2d0217de28e655388a510753d0193b3e98 +Tag = 7bb933bc4e5406a0b5283915 +PT = 843d7a5afbe1938d1b173f93bbf60865f3377fe33d39a5347fa8d7502e77eddb + +Count = 6 +Key = c816eb7c0599705d1f82925091b8cac4 +IV = 69 +CT = 3b325e7355c1af7b7c3e47f11cdee3f201b97eafeb3f4a299a90c15cd733b959 +AAD = 1d9120c666a7bbb68074aa756ada643c1f9fb4f77653cbdcf9e846d9c23e73a43fb907e1ea0d85a3bc0da6997697c61f +Tag = 4478d20c97e859cdc7086f4a +FAIL + +Count = 7 +Key = 1510f1ff9f70f04199101f49d6acd66c +IV = 61 +CT = c217ce818d7b41cb0921e871583f741835c7ec3e4143336d58cc6a23115ab196 +AAD = b66be162437eae38c52e278eedffda193563436366ad6474053f48aa7b91eaa17ac01e60cf7d879d0248ff2b8cffedfe +Tag = 0e0f6a6cb00630fd2069cacd +FAIL + +Count = 8 +Key = 411f545e090ce032b3da1d5e5e278a06 +IV = 74 +CT = 3f651b47193083e09662b3d76e271fdc26b0150b90fd6a6cc4a5ed14f43732f6 +AAD = 2946c24eb01535890c2c1bebc3f69afb61363c6858995af1933b4445390e7787614b99069982b1034722b90f3ef4c05e +Tag = 0cd2e92254ed3c446d0447b0 +FAIL + +Count = 9 +Key = a51123ab17c50aabdc081d8e34f9c09c +IV = ff +CT = 975bdc5a30f01551cd7befe69b37258898f860e13233b6205bc7eff85688ee1a +AAD = 146fe40a2579eeb250c6b7ffd07dd9c6df79eaaaaf5f8702e9f50e797bdcc5051bc9852e3fcab20ffb38d555aee360e3 +Tag = d078321dbe321f6b9124774b +PT = a182fc7ab272fe7e61839ae3e7e10d751b30f2090422fba07e4d86bcc133ce21 + +Count = 10 +Key = 0ba30ab8644103ea74bb122a1c2b63c5 +IV = 1e +CT = e970dbe9f76d946809318ecbacd0738c5b10d5af3cc98d67e9adf7d248ba885d +AAD = c58d0b3093741235cab51edf53ad50d801d3fc3f009c43228242c9cb82e00137b22f95a63c1a6da53c802ba0052c3c8b +Tag = 26360aa9d92e83490d065c72 +PT = bfbf168ce97d3705dfa319640be59a72d2b2bd1ce81d0858560f40afd444a76f + +Count = 11 +Key = 89b9f472be9e07cc0831ccc819ac535d +IV = c9 +CT = 68f62c5d1e7e207942cc1f1a4c3c789c9ca8cda4a1f4d4ce64944ba5cd831b54 +AAD = 23709e5f07c7663d9e3fb3d4f393291f9775939fc847a153eff8cf4267b99f1e48d935c35984225a8f4ebb8239623d0e +Tag = 247b77a87724891c1528f10d +PT = 32c289df5e6129c7224caa7cbed1c2307ee133573436b584a2ea4045e537e972 + +Count = 12 +Key = aa8a2daacdf191ae98fc5b88eb0cd4fa +IV = d6 +CT = 6e44bf5144164770f03b5b9d80f536e6df625f358d8eded8a474f2343fdee587 +AAD = cec8cfe4f96046065533bf00ba0a437a81134e6ec20fc3af1e824cf4697e6e668103f4e097353464eb1a6f1d36ac0344 +Tag = 08252040256de7b9049e2054 +FAIL + +Count = 13 +Key = 88f2a0a3cdd92adc4be1a48f53fefdae +IV = 96 +CT = 97466a48a8eb4cc47a6957bf2f69463a6b4265c01a95805027516f487627dce6 +AAD = 5b7ed5fd6c5a653bf57cea2cc245f7854175e669d117172cb20bdb20377f562789222eb3507966e5a753ad6dc1ae2699 +Tag = 397c0aea6822d74f0c54a95d +FAIL + +Count = 14 +Key = b09680e08022fe40628dd5c7c1e0cf06 +IV = 40 +CT = 8e383d2f85c5ba7ed50b253187d37c3a3c6295c69d82d2412d4e1e267269d0e5 +AAD = 9fc33b121bdd3585eb1074742a7ba5e60e93a1510fd5355f0c53c6e042a064fd494cf23d9ab3e89715cee1a64ce9b1ff +Tag = d6f28c762272f2aac76a0e1a +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 40d6e15b0a59c43e6c89e800ff949ec0 +IV = c1 +CT = da6263617588b1090c58fa291c0d0b851a5f9588b954dd65e7e4eff05467627f +AAD = 333be45eb81f8dd7bc1350cd3840ffcd48f11fcbf9cc83f9468753c2d6952b2e7de34c94f7d72cb633d4b5c2a831b694 +Tag = dfc202c043e86181 +FAIL + +Count = 1 +Key = 3101976374f78f06e65f790c2e4ca342 +IV = 4e +CT = 5bb57ae964fbfe24af3cf8da2199cd19d84afa23153dfce253299812104d2392 +AAD = 145a73698b3a50b70b3b450c84eb0564fd7761d1ee5b8e0a236eaf3e6873dd92d360a50c5d43a4dd677765f6e9ab67e0 +Tag = 7f647b9f8df98d04 +FAIL + +Count = 2 +Key = f38c510a7691b9fac84a27bd04b60a2c +IV = bd +CT = afafab03643c1952ff5f7c3f8c64f598338e2f11cb12629cd792315700674398 +AAD = a694abbe72c6dd6a4707d0d91717168b804405585773816dffb3c7bfc3051570ad8021159fc56875ad85363cfd99abfa +Tag = 4b1f5248f38902f8 +FAIL + +Count = 3 +Key = dbb5981dc7498a8e0e67392dcd62a4d4 +IV = 99 +CT = b9968eba42736abcba1c3eba51858f9a4760db9fa149cf69959538ec88f1afb2 +AAD = 5e951dad6c5620e35bfee889c0d9d7d258c107f5b8c7cf431ab173c1d18c33c9a7e87b5317e3d809dd498d42027194de +Tag = 2c0309c3ade88b4b +PT = 9a9555cf1cb06366bbc7c2a39e39ee17ce158e6e3930528fe143be788b45a307 + +Count = 4 +Key = 391ae5ada65e061265bca075682704d9 +IV = 92 +CT = cb62eb5601cf9674f2159392e6e7eb9171840f82a9f8b94dbc10a4a938a80ba4 +AAD = cea3e6cd5a9faf6b14e748413c9c931e3a9258c9b18191c61fc7276ccc6044ca2d9701305e71f55e5123485900fe2549 +Tag = 5515b6f6e639c321 +PT = 6e85a675c374cdf6ec99c7d6787980efed07dd2124d8dc12f227692b2c8f946b + +Count = 5 +Key = 3f1d4a983c9f6389f0837179b032c6ba +IV = 2f +CT = 7415ad1e9165aa8aa17cbc22b3a4e74d080580e27be0d00062bd3a6390185bd4 +AAD = 0d4ddcc941461d2e17dc88df04be0121e3b96e977c3a1eb5577631e4d7aa054e3e1671c485c1b68f3a7553380025133e +Tag = ae78099c99ddbdce +FAIL + +Count = 6 +Key = e042c5ca9a8a68f026e652009765aa85 +IV = 18 +CT = 4d248cde099573fa3f810aa4c53aeddb36af4cdb8260a063b193694bb44f32e0 +AAD = 92215473bc50755951061c087e75e8eebff787c9bc86886f861417cdff17893f92cac0b4e5a985452281569ae8422cd9 +Tag = d0a732ad50dc1d9d +PT = d7b098b628e46c753fadd696c0ffb84c407f6a199049c506ebefe9007cadf29f + +Count = 7 +Key = 63a822e552c9ad96891728355ca3d267 +IV = 3c +CT = 643c4f828e1c7b6c869c335753bf0a9998b4d7194af3c75d856c4e3965ba4e90 +AAD = 1c08d926b70fd7d0e25cc8ca53faabc11ac93dd27ce4e78a1ee94fc46d9baea4b87a90e385a4e02d607046584cf948db +Tag = bcb1f8db9c570ef2 +FAIL + +Count = 8 +Key = ae39d37c7d88e182191b63aa451fd24d +IV = d2 +CT = 6383881e7790ba192e0c7a3a6a6e0e29afb4d06a89c228879c3bec279fc066f6 +AAD = bd27eed041c4d9a563b6f9356d5898625e50d3b0776369071843d517e2721142198dd5a963ad8bb382c0d3f90b93bb41 +Tag = 7ca8d8011466bb2b +PT = e4e456edaa7bcaeb195c84c871861744a97883c62ade0130abc5ed50be2793f7 + +Count = 9 +Key = cc81248e35dce3e5a19999fec7f00560 +IV = 0b +CT = 7d16238f42d79ffe7db6688f5a14f61c23bb0681979fa185cf2734008c62040a +AAD = edf211398dd3277e6f6cf86dc2d65f7f5a7ce8824d16b4a5db9567122be8a4520dbb07367a4ab487485eb12a646f1cd9 +Tag = 3bdc8e649f952948 +PT = 43f7c012e064e82679bf9f03119408ed550a9297b65d51081172ae20f82a3729 + +Count = 10 +Key = 021f25c983fa1ac7a2e57d307f5205e2 +IV = 4b +CT = aabba9e7e232da2f8ed9e7111e35ba2b3cac43dfd2fc42e01646b0656d104bd4 +AAD = 126a26a54715d1628122a8bf6f89a1beb95c42fa905ddda900f564127eef6c57cd1c7b18105754726f42fc04d09c3604 +Tag = 9ae349a16e362229 +PT = 71a9e6d26c1453ad3342ff4f87fe1191091486000df614bab66d28485b95c13b + +Count = 11 +Key = 4e17f917c4a11819a9ad49c71dbf8421 +IV = 8c +CT = 5b6bb0d4ce821ff9f69160ee2e9a7f7c8e96d2df334d610c336bc711b74ca8c2 +AAD = f9b763064f1e7d8374bff03e54b99b594b7300e29de844c9c04410e108a0ee9b55a3970418d34c2d379e18c4ced1dabe +Tag = 10fca7f797ff639a +PT = 6361575a35a42c6a33e81d4ea70d233319dd0f0c4e70ae156cea0ccfefec4234 + +Count = 12 +Key = f5edc369b3b849dea6e711fbf4855210 +IV = 05 +CT = 0ff2bfb9412de5608352520db31c4adf834f3099f41825810362f8a789f0b1a5 +AAD = 9e264d8dfd8780ff1bd78f3f4c11f1edcd8c3d1a6b389f533b037d5b12d549ec9ede82b6357ec0ce66a4d7ad10fa5456 +Tag = 24027db5fb5538e5 +PT = a0853ce0fac9d9f63d00cbadcefcbf5db0bad5786961cfd9915739d6c77dc13b + +Count = 13 +Key = 35b620d2ed7d99cac38f234e435ac0f9 +IV = 66 +CT = 8b19107c53e18438e97ea677670bff0329220ac8dea0bab404712ef9abf3dafc +AAD = 3eff439f795b9029233ffacb80249bcb1a1ee44d7f62973d67155ab6490601fa81948102677ed3f3d8d9dc17cfa094a3 +Tag = 3de81a17f06b8a4e +FAIL + +Count = 14 +Key = 6c3f4d435f0e03e7a06d91f2db46b881 +IV = 8a +CT = fd3261522b2934e3da7a289c8f5478661863a6193cb6972c1a6b5f3e672f316d +AAD = 9f6dd782bb20447cdbbd330aee63ccf5a5ebbe3d4ec43546d7e8c84bf93d253262c62cbdfc86db9e383dabcba2c86111 +Tag = 5234ab2e7c867c06 +PT = fa7e805ab97743c0c642f268e528081dfe72d0edb8218d05048e39cbeab20170 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 76efa039e5f551f983cee99cfaf0ab75 +IV = 5a +CT = e154309f48a683e6ba82fc22998e21ed02e3c44c0afeb13f34976603dc76952e +AAD = 39f5d8269631e06f7e83ab9d99478aa2b022d2363e8d99a8f16e3ad82a08d475a2878c6de5f4ddafda8504b1697be53c +Tag = 37b7ef76 +PT = 2c600a9424cce21777f0265e7d1de4a40ec172640d294beb58244c006ed07308 + +Count = 1 +Key = 7a65278e5c62fc74ba809bb4707dcf98 +IV = 7b +CT = 3b7c629876be98d53e7ba1260ad1bc28f0db2ccbbea0f1b91426916863b41561 +AAD = 037af96db7781cf89d2e11a093b350f91c3bf26c2bc4e90e0d7d66760b9a070550e7931fd1414f9cabe54e5e53637613 +Tag = d20623c7 +FAIL + +Count = 2 +Key = a9da728689e4f328503a8595581d47aa +IV = cd +CT = cbe9a69f7d2f0c6431190ce967337dda5e8f2517ffac514a3e84b111e73a8fdd +AAD = 117a719664e71622c5173fe75e35bb4cf3789c558d443042cb983286e093e43ba8fdb30904ecdfd4af3549c13429a55c +Tag = 3d34e331 +PT = 3ed5474b1031b46614c8f251c887b04c5a745478fc9dafc7bc00ecd36d42e024 + +Count = 3 +Key = 2bc50f90c6f1adb7e0ce371b36fb5e6f +IV = d0 +CT = abc385187978acb4101720b7da8116c245bbdeb1e3dd406c254e79ab9173b930 +AAD = 1b3fb4605cce42e265efc054367a45a35b2d177bbaac8bd117c31d76689c4b388fd9195184c88c3fac767d3f39089ca7 +Tag = 4132faa7 +PT = afcc892e8aaa4fc9385f937beae1386861167b9856e2006c044fa8b6124fa69a + +Count = 4 +Key = bd4aedb0cea12443bf2e65216333da62 +IV = b7 +CT = 87e39a5416ae6b0a3ceede96cd9093006ad5ec91902dcebe6d7bdba5ec38ae45 +AAD = 8249d60fa16061472d4a4aaaaaf9a4969811fe6d1e06e4c1a43b5bd632a47b60e284bab3bc03e675e49d9a8638f4a6f4 +Tag = 3ce506b9 +PT = 9c77aa724179da4f5d3f57ba6c8010ccb66bbe1857f255f98c15c3af78c66735 + +Count = 5 +Key = ed87fd1c6bed5094dbedf35b75885a6c +IV = fa +CT = 3a9fb526d22b4c8db4047f43123754cf9894b2c20f6efb0fa0d2432376d13d04 +AAD = 8b469e941c74cce6b1be90fb8d3f12ec283137c7cf090ecc5cdfba945c37776cdac2c0bdf91112b2f42afb0e0f34c125 +Tag = 057aea89 +PT = 071debd85f08e83c2119f02ff455a2f8e5ad3bb8df8e171702d718be5280963d + +Count = 6 +Key = 25c5af9d6b478a1c06f6b8d9985a41f7 +IV = 84 +CT = 9f0297b4e7c5ac2fdfcaa3a7dca7244006ee8e3de062df3d147a5c104cd9fad1 +AAD = c1495aa6f86960649cb7597287502b8ca551e7a7dba1e425125eeab178a65d67eb5cc772d57dbc03c83b7bfad6386e66 +Tag = 2bc30dcf +FAIL + +Count = 7 +Key = 11d0aaa73ea8d6a19023aec8f872ed4a +IV = 72 +CT = 4b80f9332107c9abfd15cbaa0f8eaa964cc82452411c007a65bfa2ef4744008a +AAD = 9732061a6277846c825c68966f618b659781973ef64220fe3e2e73710bee107057a408aa2cc59cc07759e8a047c479cc +Tag = b8295fb6 +FAIL + +Count = 8 +Key = dc1f643921beebe162fb104492362d72 +IV = ac +CT = 3afaeafa3171e0090dbe5a260359e20ffec8474d7988376bb10c597063d6b01b +AAD = 10e31b4656abdcaf02115553c88b292f33a317939bc87c1b89623007484422f7ed9f2b03d7a2274907263f2e087d48d4 +Tag = 5e941d14 +FAIL + +Count = 9 +Key = 833bb0f67dca8dac85ed200d59951738 +IV = 9f +CT = 1aee7b6a957390be2daf47d9979f81b1f19610b11954428247f9a2c5bd6d50a3 +AAD = cfaa622c3ff1094fa955ccac4bc3d46518654637457aee8f3b910290211974a48c0a6744597a4df8ff5bea5874b735f9 +Tag = edea851e +FAIL + +Count = 10 +Key = 89f272836d24f5617c23d87a2837bbd7 +IV = 37 +CT = bf88690b94c49d53ce5ddccdf229b181e1227e4ca9d90413b713501007a3d51d +AAD = 68585e1cd17fe0e560120bb9febe48f3d722dd1ec1644037db896b9289b9b11bcc8f2e583c2ec9f14e83ae462fd9ae2d +Tag = 93b58198 +PT = 4c09106b6d2e5caf012724ff786c2e940ff0ea37219d379a435910492ff1a9dd + +Count = 11 +Key = 07b88dc907ed0a5759b3f8b1ac68f751 +IV = 0d +CT = 9f0be6f0973c86f1f675eb74392f7b1cda5498cf5091225099428575e0932b53 +AAD = 6c380492a4f8d5fa340600fdc1e1f6908bfe0d44f8573055561cbf6d752e7121b6d11f761791d4b21abcad605015cabf +Tag = 9dbc7d47 +PT = 52903ff8c47a12c7c12b07f14b7da2eec96ee866059406a052dc9fffc013caa4 + +Count = 12 +Key = 2bae5427da1915b3c65929b19471f49b +IV = 74 +CT = 1e113d4c3fe1960dbe512cfe8c46544959e36c4e7c3c5448a216d4ba03faf825 +AAD = a6a3d25fb565d1175886e504c4fb5e6e5864e9e92c671324653fb65574818848fb6da55a1371397e459a44cfe9a8e22f +Tag = c9c3d02b +FAIL + +Count = 13 +Key = a1dea044a13e768ee625fbe3506f33e5 +IV = 34 +CT = b70346ec0fca648a68fc455f08c979f20e24792da3bd578d85ca791f096eed61 +AAD = 1e3a9efc643214136cf8aff78f13993a7a244d32bddc8900c16b1bebe3274fdce38d7b5051b8dd99a2b657f6bc302295 +Tag = ed34d04b +PT = 2b34cb53d002b11ea46d67da4534f2a9f08ae78bb80c5fbcaf970d0840b60b6d + +Count = 14 +Key = 02593eb283dd785a221c01e168f65c37 +IV = 91 +CT = 89e97a3a10fee1ae8d051941b2b276896a6b0e5eea25195af05f6f83a8761c30 +AAD = e201f3c94aa2bb2e84b02ff8e037ffebfd595fd5658ff4d0957db8fb7e2b5f2e2d3683ee6017aec42053872a1b0beb17 +Tag = b9248c0f +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 200062755f9375072c72d3f4f36548e5 +IV = 94 +CT = 3ca7d9b392ea99073151e87527eaf439be824db5c1c9cc9c8394e7fd5d93648c +AAD = bba497a9a4b74fcc9bc84b8effc5f5ff452f7777c21c2dece9fce2c5da1730821bdeeadee066ab4d474bcfb66a4c1f14c99a574a1023544ef1f85667f14487d2b2af82baefa81c9f3647c44e0279f7878b1ce68edba3d7bcd5c9 +Tag = 2620a07160e8eb486d63e389d371235e +PT = 596b0b9f877201ba6d37cc001e4105e357a5cb9c41dc9adf2686c4c2cbcfa1c4 + +Count = 1 +Key = ea00ab0c01c9f8930fd1dd09fe639d15 +IV = 54 +CT = 5f637603bf4f5d612d21cc3a79fea4faaef5b392f5669a6bea923df7c03fbe14 +AAD = 21e988c607bbc9ae3b797f1fcdc1c4476854bf4eb36ba2f4fd411148e0318fcb570ef66d780288fed1b19a88790c4cf07d21e33c129be5861d9e4eb668143df3410cb3a9197604ca82890abb00bb4d91a39bac9a62bd0d0d98cd +Tag = fab0836fb5402c9cb2651ee8acd3c265 +PT = 8662a9ea34cfb3372b73aa0bf072b2eb03dcc5de82f71713499fb3dc3f867eca + +Count = 2 +Key = 878d21fe2f6da8286371c6f5746e571d +IV = 58 +CT = 03e5323279ab5f3552e0988bd0f212bc69bda80375afd991ba4ca6122cec93f5 +AAD = 220f5e078c057230e2f0a83ef90b5014ec77c843a751a88864551f4a9711df7cb53bb0b89c6f5015d9c3fe99b2175af3a78cfada79c29e7954a0862d35d8d96c55e8980249d39748a5c94a12e52c183ce695b0e6f15c20c0ed38 +Tag = 512fc2ff2e79485268d46e84a5d9acc1 +PT = b45956e841c6d88056d484e22f58b516d8dba37947cde16951b10fd53707af61 + +Count = 3 +Key = b808a08b2c7440b8d435dcfb3950bf70 +IV = c5 +CT = 206d7bab70051a0e05c2b9b7bbf1655d8e85f6760e6c3f1589434a1c454a3a5b +AAD = 60ceaf37b02fb08da9b88342ef5c08c732265e234f2109dcefab0fd625398566fdd27afc68ac7127dd5182c2267d73972ec879f131c66355306b1e9d0aab5ac3038b6ac566c465e188b605e97098c57548d8c2f324222a551f1a +Tag = 4dfb6d931fef13d9bb13942164127ad0 +FAIL + +Count = 4 +Key = 24c9e49938001f84e014c50b48b5efca +IV = 73 +CT = 7113f219bcf0722db9b3c990ba91ceb5e591bf21360855c5ee69d4d6f61ab7b8 +AAD = a31b9efa75dff35e99c5cf4cccdbe7824a35a9a30b27beba785e5ad5863abb6a9d432dd4976da78a502c8a076639828f30369590dfbf6d5a257a2992ca9aef300ddbf22b6ba9aba3d2bc65886ddb906cafa3400752b169179842 +Tag = 127cee1c0e7eb71736105e2c553e99ae +FAIL + +Count = 5 +Key = 077342e2f431d497d64249776e01ca8d +IV = 53 +CT = 956d1aab87bb7565f1b39ae4e19dcd8df5128bb3bfea86c521e8b07c3b772f6d +AAD = 6e72fbf818ba651a5003f204b9e44d402f29089f465a08be195d798f7798160d174a67ee67a71926126534d25da028507efd8d8d9a9cf29e739fee10c96f3794aeee9f4eba51fb39b15beb3083c9a9cbb50b5e8b79c61d58ee90 +Tag = de28220648f910158513567a1706c9b1 +FAIL + +Count = 6 +Key = 862405fbc4dbc2b4911658399ab65b96 +IV = 35 +CT = d53e2183e537e054f7a701ef7410877e79182ea8d4e22bf3a32130b2da54e465 +AAD = e07bd8344f8e1b4ec21ed18da5627a4a707aeb6b7bacec043aa0f10d87e536c933c6253863e32eefbd1134fc78797e5052427061ed68ee1688f6001e885505cff4b0e532f368fda7cc1c8ca5563985b5d61340bd862f7f1df931 +Tag = 1e84fadfb369452c858c983112fd0cd0 +PT = c80e3f1ee0433450d45bd3d75b72faf540ce17cec79a583202fb0c6effd694e9 + +Count = 7 +Key = 6c0d5ab551bbee6ccc7e15b436455a45 +IV = c9 +CT = d9a7df834b566cdd98e5ac46b319d303bb5a13ef0eff920c22d5cafc0a360e9a +AAD = 5c6d89b319e02e1d5100678e5b9694ee2e5cc9405df7103bb9a722415db6caeef08541e4cfa52bfaab3dfd21517515d2be1f3c80cee31cfe6ba13d9a2c0844a47855f11c77ef03646bde4902e1cc07a22908de1ae47097cc5571 +Tag = eab68c119088227d9bd077a52b6691e7 +FAIL + +Count = 8 +Key = 9f5f7e80035421ff5b3c06fa2195d623 +IV = d3 +CT = 6f8a3d1a06704ea97c46c62564aeec5846cfe7fbef4a7afb10f8926ad66bb8a1 +AAD = 5311853852d9f063632e57a89760e35e33aedcc831fd739891c76776fe15fa984e050d7790a1e330e063050ea8bbd631ddb0a990e7c78c615511db5f26fdb7846bb7844ac22a98dee4fe136be7679c99c4af2b0f24ff57d638da +Tag = 5e2b51d30558f4f0a68e6f5e8538b8fe +PT = 157a5fe2259ba650f0ff8a5d8ce0ca33580f2385cf61b0a4c702cb90cc6b1db9 + +Count = 9 +Key = 00f20ad008fd422d95ca06527bd0af8d +IV = e4 +CT = 428e8e32ebdd96809c69f6dab5eaaf94617538620fc1d7b5290f198de8812ef1 +AAD = 26d0b017740a061494f2b124ce0ba7475ae2d39d1e1104ceae831cd368e8e08d2ed6f16c63529d7ba469cafa1531f0a6b3452394f26af4e39a714a93b0a8ce8c4892f94f48afdb2e2ab4515cb65cc4e64d5d1012e5cb24c7ab70 +Tag = b03801104a48aa2b4be67f36aa718368 +PT = 3fa666e9d85144dae97af9b471683de9dd766e0fd7fdbf4bd378dc70f572cfa8 + +Count = 10 +Key = 06f6772c757a5cdfc8e37577bf8f514b +IV = 71 +CT = 70c25478bf8f8fbd09c9f83931084577898aa6d84a9ad87bcf00df578d4290fc +AAD = 1bf1dce053561a8255a21dac3790e0c90b2f6971b77cc73a3745f91cf53db57763efe82771795e71fe763189ba5acf0c8a68dacbdf168e1ad3e062eb6a6b9b5325fd66783185a82c959a990ca1c431aa2ad228188575057e38d6 +Tag = 7d4df0079ac69da94d7c3dbd99ab4747 +PT = 19cf4c0641ebac6218397e6bfe9060407f15abc0859e069adae53686d39373a6 + +Count = 11 +Key = e54afa013ede6a14e534618cdb966f2e +IV = 65 +CT = 702dc1598eab00c5ed47a693aa1648b952df29a118aec2d0ec93e5a3c7baaf15 +AAD = bba897d4ba5026357c9d76f0c3a3c108dc1cfc66c407509f4a252ca37a90c6e64fd9fa598c1a487706b73392470891d0a8f5aa56e8e9e49773db9d9d34fc5d24274afc7bb9bfc7714c331eaae8c3997215748f2ade9ef852f1a5 +Tag = e6a5837f1a47334eda6b93fbe21124a5 +PT = 3c80bb9d2e1cfb777d90267b3795a05648b83585213fe669381d6d1216c04c2e + +Count = 12 +Key = b8a651835a976807d3a4f4b2767a054d +IV = e3 +CT = 61de3226fca96ad5f2ed5a4067b6437d23a52d9c31a6f158661d249269d3e607 +AAD = fe6ebae7b8b9b2d26569e8dbaa11438b6697b803bfb201812151e52ab7f1703d878ae295ff6c61642033e951b5f69ef8bdeba4218c57502c76e540922537339ee21ad6ce1b1656daab62d0b6a25a3a5f9734b751b9040b5e71fb +Tag = cb0f9d8f98b8a2802d3478b3c2b4ed7f +FAIL + +Count = 13 +Key = eb675546f470ecff4d29ce62c20597b5 +IV = ee +CT = 0b3d0532b0a7ff37fa32f669934cdb669eafda444c7ef5a829f1956d444264ba +AAD = cc384deda98890fbfb7531caeb962aa8a4420e86bfee3db2b13297f79df76cfb3f778c20b7b5b403a801a0da90dd00a936fc93bafaae230fad0644fdb7fb1d39bfa5e60f09b2d461af008a36e0102a5f0195059fcc47c91d5b5d +Tag = 7763119d99dda135838354ffc66d1bec +PT = eee61c759e5003f1d3a337b791d2bc41d881747d229d54ca92ea81dbad80cea0 + +Count = 14 +Key = 0da53e7d1520dd976969fd668f71be0d +IV = a9 +CT = f7d5df66dbd6b9c846c8a3bd439b9fb67f21154c919ce37637b472c0fd41339c +AAD = 941433fcbb28a844fdac6de575ce5293e66675f51f33a3d625605bb6f3a21686ae9dbc353ac0a4690297b6afd8bc409275ac4605f2a3328f9808899280c1e61666826ea550dc1a487f5160cfcdcd4893995d50e3107d3305ca29 +Tag = b41f1697e94a0d5c6951ab59bd7688c7 +PT = 922d01ba33e6b8e3e623af21745bdee0bd877f83d51d2a004bfec85259e1251a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 50e17eb4c403935345c3445cb29c6ce0 +IV = 9d +CT = 94c4b713b169e12a1a97721c3aff289d716cd514f41e24c5e1c87a67259df2cc +AAD = f731945d6cc8f670b031796cffeb013868fcc3739d9e302f4ff431d1c21af38f7e14fcde5257ca57e3f1fa06ecc08789fba9622492fec72100e9ac164a64977ce1ad951d8b00d2d17e69337f8065e008a9f265b092b28a693673 +Tag = 4803e5e76b89bd5398fdeda6d03060 +FAIL + +Count = 1 +Key = ef864d328de16328fb5f867e483879fa +IV = 28 +CT = c878f1ebb3d2602140e9ae7240f9fd42762da232df0d44c79d15bf6067005907 +AAD = fcab6a69164681f2d55fa667cfb298dad08c73318ce241d7125f6ede9c2f84f28069366f28918ec3c4cc69f97536d8f754e72eae0f83a30cbe70b8960d96fd3c547036ae8901393dde27f186de59095300c25b3451376b9bf147 +Tag = 6c3a3b7e2b1a4cf4a46d80e059c0e4 +PT = 5cca33fb4dc16e3761fb15901192582e49d17febfda4d2c51710243cebf7ddd9 + +Count = 2 +Key = 2cc18e4250e0cbd4bc3e3c430d9c9db6 +IV = 4d +CT = bfe6c519106af4fa69f4975776d51346e1c569f23cbf2251827c52c3a1641e11 +AAD = b1130245fdd280506b91e206e6e73560ed8867023a3ef8a7ee423abf6528fc597fc7b6403a94a373577bd666e789e934b3c4797cabc53e40628c77e48704c4fc477b1781b1cf5ebae82ea3758aa837a0a1898b24b4478e62ae05 +Tag = 28c017c6bf248e0bb9e5ed75eee8e1 +PT = 44be12c2eb9a3d2d296c4fd7bf976977877c8c9db676449972b68b3364c7d5e9 + +Count = 3 +Key = a3bd204825b6629c9e3db7d1ac5a7cfe +IV = 53 +CT = f8900edc4246660aa63f42e01ee2127c9e1b85a2ddd9a4e46c88dd555cf56968 +AAD = dd21206751917c331f1a1d84963280468678a90c890bf019c2978423e2c1001fc0ae4f45f2b6315153039e43a9f9503fb9b674d90c971f7a176b8a14ab93f583d602dc720164da276bc5af5c1a3713c3bad051a0c178d7598a27 +Tag = 79f846f20062e3337698f050150ad0 +PT = 887f34f1294837435f2348710d78be62fd7157933493b4123fc162d5f07399c0 + +Count = 4 +Key = 5eae83bec63d1144caba44451ec78d83 +IV = 14 +CT = ba1c2b580a26b27d961d6f7de1a441c759a832105d00ac7b9d8699abda7b5b3c +AAD = 2ca45b848bd59cfc9afc1ef75b36207a3189e18befa7945d880b69203847d9f8654eb60a53805ba9527340f684382519055607ed1debed06c5956ec148c90b6ab1e516390b1c06bf3fe98ebf895d9d692c7de741bcd8048c6654 +Tag = db78d0432ab374ba18ed03c270b0e2 +PT = b25376a0d035362eed5e972e5482ca5f3df3bf267e3605333b619620175be20f + +Count = 5 +Key = f68f56e3aa5f5df8728cdd1ebcaa9df1 +IV = fd +CT = 0496395ba2e20a40b814f14bcd9ca729de1fe3284e4f05ac97598ea0deaf8031 +AAD = a4fae07fcf93238488b3005b262813dc6031d66943abc8738a8cff325eafbf45c27e9f44f4d4651d2a6b9b54ad33dd8baecd83afabb6cb2572574d8b15f67f06fee78674963b04a6fdbe02dba5fadf887ff258f70c0e11c68b7f +Tag = 70632abf1483adacf5009c81be280a +PT = 665457bc30d79de58b23ae004caee58a4c023498f2903d90639e0d9e8c5f178b + +Count = 6 +Key = be6c9bdf8ac3f6fc108d164db048fca2 +IV = 36 +CT = f99f89de9556415375df846277174074dd90cc0a8d679c58158e77c9f1f6c200 +AAD = 54be97ea8943f50d3857eaf25b806a6c6c0faba142ed1d20d2ac872c46b23f6375e81d6c1c31d8ca6c5acbe17d9b2c78e199e9945f06f0afc2d9d603d307bdad3f85a82b53af12b20adc8b9ec359d1acdc86b32fd68d1688e8a4 +Tag = 3ce66e681e89d856d9c6d62df6a61c +PT = 68ea0195fc76d0ca8f5365c00706b1c4292a7a81f536292270b7153c6d5438a1 + +Count = 7 +Key = e84a032f9d999f4356fc6d27ef750751 +IV = 2b +CT = 613eae39c0fe1c06122db3c43012b95c90be1d702a640c24447b382c64b4bdca +AAD = ab706f864b531176a4b8e2c06b45501b3fb4a30adda05357f343e68a3311017897234979e3f131438a80fc77caf584ac10ba7410058a766f6982f1724f200745e4a5ec3ba3cad3246d1c6567488036144766893c7dda45c80ca3 +Tag = 116cf51e3308585c00105833f6b1c4 +FAIL + +Count = 8 +Key = 3557fdee0eb4dbced06dfe0075a31533 +IV = 9c +CT = 2afba351bbb95c2d927746fa2e14ccb356831cdf934ba61c05fdc6525ea72835 +AAD = 568d4cac89f3fcb3f9222edf744c8deda3c3e2baec0343f5a2bce5e5a3fcf4a91d4489ef03ddfcd09af7dd4a6036efed410857e04db61c0670a8299657c28a673a6cb9ff56e3aabcdeed96e01c1cbf9409b2c9aec505be7eb901 +Tag = e4ea75a67a910addd75c9315be3cf7 +FAIL + +Count = 9 +Key = 564fcea07d72047d14588b33432497c1 +IV = ef +CT = b38018cadfb5147aca80e61ab153c02d0d4d38a33168f0959000f00852aed658 +AAD = 9339de7613b3cbb009fc7448d1b9aa279afdf62c33a2ea7a38d7abdf9da4e2ce530272c44bdd9c003f010068eb7ed48ff705e0d6715bb2a26d3b1a47aef8ce774163d3c236db7346995fee85c151b8c886e98d50437f8081c370 +Tag = 10ff3f99cdd3f4f2445cf15392e8c6 +FAIL + +Count = 10 +Key = 759b4bdad01efd551142f4e72d1d1d47 +IV = cf +CT = d31b2aa10719f0b856df9af5766692be3ec5fe117a50e79f95a571708b0f5050 +AAD = 42e513c663aaf27eb839b9b863da29f9f2ab7367d286f7c0ddbb1e65ce5291cd4b64e790dbad2a0829e14ef68d30b2255359909b5bd44e2a6e489026db68c753a4f25bffcbf7b90a09012fcbc3b1639d3cc160dfcf2ccc51ec77 +Tag = 41fab17ad62b68447c555479685282 +PT = 277aa3825738b7344ceb332718e898604fabc8cc1f1d9dfe6abe13a454bf0149 + +Count = 11 +Key = 3c8fef28b042f636c8ec1b4c85954716 +IV = db +CT = e9d08e79414e30c5e7c580328a07e464a949510a08eae41d7db0b1e2e2ea5251 +AAD = 87f1d53277cba2c3a9d74f45eba57b8f3dcba7ebf96780f15d384c06a80f7534498aba47f56d58f529e45d7cfabfc0ce3de97e2a6f9b8894b0dedef7f6af27b7dd540b218ef9646ea1428593341c2e5a7afa9a63a8503499f89c +Tag = 1cc571073894265c8f33abe6e64ca6 +FAIL + +Count = 12 +Key = 99d5b441e23c6361de0cc86f00487077 +IV = 69 +CT = c922d8f4fd12de77758f7ef9bd216675fab5a840d63f4afbb3faa1743294fb0d +AAD = a7cd97986c8b6321b1b1e0125c9869fbbed30039ba72499102f14e5ae7b344e10217c2314f9cd3812aad538c48357eecebfa8014f879012b5fe295b5305e8f3fb49d778ce70cef35a65e564722a040779f96c4224a78a5a16ba8 +Tag = cb8b78aea4b5ff1ad7e86754ebb90f +FAIL + +Count = 13 +Key = eb10477bc0b58a1efa68a0a004fe8e71 +IV = 2e +CT = 806e21c60e24f7fe95cdeede66553253ed63d20e3bfd8b01de624412e834a1df +AAD = 8f4ec7db1ef7d3e0a6abb9f965be4d028df436fb96b488082801f80795f381f88dc1670c407968a169c42491f1cfe5cbd656658dcf523bb4d5424055c193df1fd400a6a4b6af91546f2ebb848a65b84b18493564845df84e6cb4 +Tag = 064b75914eafc1254b46136916b2c9 +FAIL + +Count = 14 +Key = 54e464c6829cbae4962639281ef81131 +IV = 8f +CT = f1091e24bae03693caa3cb35d4973915cafa8144646330a9b3557ef1644479e9 +AAD = 8fdd0ee70852c70a5ac11cd5955186da4fa4fa026ba9a158cace383ade5efb54bbc456a120ab7c983dbd5959b918ade168389f0938ec49346915f1bd67dea96e80028405fb8096b4ebb316a0bd0bffe8486fe57913c237845521 +Tag = 673ba27beb089e0233c73d7ce6fc13 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 872312bf8129eef1617d124e2025cab6 +IV = 5f +CT = bf0070db78fc161e46a144f9594316b380d4f7913cb1c6199943e45d711a219b +AAD = 543f0f683c9e0b919fa06eb1b2419f2013e0886cad8898721ba39bedeb16795014a0958613fab17e31b09d7ed30b83305b3094ee46013f98eaac0bad7126b45edd6f84b94a19d526651cfab268fa61018603eb1342c143ec117d +Tag = 4681771862521a5edf8581181dae +PT = 93b71a250345e246f1cd85a52550ba03c3d9de3204a49b1e8cb3487478c4ed07 + +Count = 1 +Key = 96f77a7f403046a6096d7cc6182a9e78 +IV = 7c +CT = 049560bbd3ae05a999dc5dd45f5ca2b1a3a0d9be6d0367dcf18ccecb0120b6bb +AAD = f9c4399b1bba028bb9bdb2c1d7dc489c19643de337f4ebd026fb8764fdd4f6b0a5b1669b2dbdd54c3ff3689a95f6ba8915ff17035759809c4effba2ced142e85f58fcb532e09a668ba7cc05d83db8b8f6d6014e78515595d946e +Tag = b8454a88e14dd787a5f1eaa83b72 +FAIL + +Count = 2 +Key = 7890034fecdd3136c5344e6ed2e9fa92 +IV = c2 +CT = fa4d86d8d0bdfeed637d4975753fe5276a779f05f363544f2619fa6279c32950 +AAD = 0f82d7646d7ca2087aacf18dc3f56a78f99b3041047187307aef6e55a53cdcc5ad0c55df4802ca1a9bd542175bcb384975b1daa5b591baf655ef2ca2a947f743368f524e270b97dd863d7ef1256647d74361e94a5160a2eefbf5 +Tag = d36f3cbcd27015086b3edc7955e1 +PT = c58fe61ec521af8771b50a4e013f094bc556979c5ac39e14c87f39daa0491f3c + +Count = 3 +Key = f9f708e2e410e7f05462308fea8da89b +IV = fb +CT = e926b3e94dbc6fa9c9a680ed5c1a473d5bd6f3b45993507348cc09a9149ba917 +AAD = ea61b40908ff8d5e5b8e0b31e17efb3606280353215a20e0151ed6deb87ea52a5737c931f8b5adc6fbd956abd004263adfbd4e44185450c0aa811772f7e887f7e1d1d864ae89905443106eb7b6badeaed8dfb06dc5158d7d0202 +Tag = ff3589e30f4e7a590b3146005555 +FAIL + +Count = 4 +Key = 72bf8e196611faeadf961e1ed8a1f4e2 +IV = cf +CT = b3d501cca39ea9a8ce0ae0a55c7cfb86d4c8f4e21138fe750ecab58af9c8ce60 +AAD = 6591f6162907a711fc9deff09048564ab0ed582b25d5bb3cb5ae38d43653af04b4126b6ee4ea1c573f5b4e18d002355c0fbb903557ea31d4016d2b7b05deb79bd8725d42edd0f46b41773558b3e921ccdb42b12bcc7b1690e7cc +Tag = e745493c247be8adede6bd771056 +FAIL + +Count = 5 +Key = db3852134f853ef05f2dfd4a15a1c8c2 +IV = 47 +CT = 67b334e54002c608b657347c3cedde26fb48f851d88f993b4c86a8a4a832c96e +AAD = d2b8939e6d02993366f11ec8ae65e6aea0797219e09f8402a80f3f187bcac8b579248c3b8904fb3dff6760b54dc2c7a748bc78419fc19c221703e37c9494bfef6fa20d17b2a578e73125b9aed5772ad2627c222dffc5fbdba3b4 +Tag = c798aa17ed036e7f8fc470dd028a +PT = 7dcdf33e98981bcc39a373de99ee41c885518f247586bf004264b3b9ad59f6bc + +Count = 6 +Key = 118429c6e15fba64344347def606219d +IV = 5c +CT = e2a61acba0a1b2d205634097de6c2e9112be9256e8722d6c5f16a5203a088db3 +AAD = 283b693479fbc295eb14e80a74c09c6d27fe75fbc56cec7440ffc05f40149607154a2eafa13590a074bc50857219c679859c4087e0e7d83c098f8eb4326d925f8923f120c946d19eed893d49aeceaa51c4b16d28690df9a7418c +Tag = 414b73dc38bd9f9d976b8f71e0eb +FAIL + +Count = 7 +Key = 33f93cb6c440248e664e9b90918cabad +IV = 33 +CT = c7170429a212adaccf285e1ba644cd20fbfbe289cebaf27727f666f6613f9b9a +AAD = f2b0c961dc237340a761d85a212eedddfb4bad7a7df8993413439555f567914c3f441d86b9d99ccf9b54a22342f8d4476aad89c0548e17d22babbb983d3ae5151ed087cd28846f9b3daf530d76d9fbd38189f07aa332b800f6ee +Tag = 1cec00b23db35cf8014c4f4e52bb +FAIL + +Count = 8 +Key = 4b7a9eaf2f4ba229f0f3120fb4f6c8b8 +IV = b4 +CT = dbb2a8fcb6233579784df5dc5913cfbe4d0379487867d93fbb82a8bf60be1e02 +AAD = 719a2110033d45ab6c597d3291763347598f532856ee896da81ed39b20402b86f037b29543e0d3904039b7a8a0b2e074e541a33f6f2eac8377ca582ef83d693bed2a3a6cd11da20e7205258213249c4a32772586075b9dc20e3f +Tag = 4efbfc1f9a0bb189a1b798984f19 +PT = a2024ba335bb830cb0f554f32573de4d7fad3201dab5f0a33a93f39a378f62f2 + +Count = 9 +Key = 20131ab2a572d401a7c77d0abbf4b20a +IV = 26 +CT = a1f8920d712049b9d0521b618720a0d9b3894acc18a74e00f4149cb0769a72a9 +AAD = 77f112acf359342b120c9d0cb9ee3035488101a245807a750a152f4681fbbf8acf845bf395d1950cb432d6c4a7547f6fa146e328479a5696b31c2b89f5448e346faabed77fc3fb849e4163ca996a11e18ac2d479d301d884aec7 +Tag = e746ede863cfd9960c61d1393f7f +PT = f5ada03d0cc01b1c4fe1a2290c9869e92699e3737f7774b847b4985fdf5b9906 + +Count = 10 +Key = 62f30389568a6e6346765cc57b8ee135 +IV = a8 +CT = f8be71e1ce0003668b0995722a9c76eae95683744454d179e77e5b835fcfffdd +AAD = 76b736f885f04ca7343179b530402960321ee7a692dac482b62f9aa2b2da03a109066118bcf672436d723c97a58d2fd7239505623d29b640a7afa0fab9f6b46ecdec38bb888e6c6d3332b3334b3c699c176cc96e5ecf18b79aea +Tag = 4738a3f0c6b717ea249a47af5b51 +PT = 7da32a81a69772904496558583435f040a125129646711135fb91fa1dd552081 + +Count = 11 +Key = 7605514a5b04fcaf071fb8c76ce09714 +IV = be +CT = b5cd8ff697ec455a56bab6733e1339ddcb4cde461fdf3c56cc47597af49392fb +AAD = b27ae120f38f8e0ee3a0f3493326f06074854081fc691ba052b278caef417f40ad507111e617872a5c31a1bea540e544dd301ffb6fa76e74a0638337b5bec0996986c5f28e1bf587325a669d97bdd9aebf1db21529cdf9a2f054 +Tag = c490183d2c425bb81b5aba96fcec +FAIL + +Count = 12 +Key = 57813c1832cd32eb731d02c90fcdf3ac +IV = 36 +CT = 97d925e0a3d63185d4f3bc0a70fb60dc5ee24e53b9160f2dceef2edec1a98fcd +AAD = 7215bd80d09b6dbb62ded53396e2e7a31d7f8527bcc05abd41f18a2b535b62d4d94ad530b8036d84ad3710e6a669aa126220a1fabe454df27895c5e26f38ae3e2ff56485a561e19005d0ba5dd2989576c12eee918a66877574a5 +Tag = 59bce6191d665e1b28467bbafa15 +FAIL + +Count = 13 +Key = c138ad2cfa852ba80c1d19760cc5636c +IV = a0 +CT = cc0fe35d40c8d0ff8ddeaa7c9b03e3820d3947f106657e381e80f0bd393e6dbf +AAD = 2162feea4eadbf4767be62f406915cd39232fd538a024e282948cc997a651c8ee72befc8a9e8a425fc84fafec8c89875df8048258679e4980cc91222b366a494fc0cb06d5656a2ac40f19875d3bda03babc07ee9b8cef2e6cee7 +Tag = 276e696d11795ba888051e444cb7 +FAIL + +Count = 14 +Key = e6f4fa56c9620ee46bb8366b78f16fbb +IV = 7c +CT = 904d3c1abc5b63d494038714f671aa19cf01473ee2240d983378ba0d7b3256a7 +AAD = 176a35e87e785567138a0396da648c289f70fa97d0e38a38db2d0b3fe4fe6d7858364b59af8c9fed0695ffe9303327d6c3aff9a68f4e83cff453a2f8c300e2791df55e0a1ad8d810f7c7b8208b31a84b377d367aef182c7087ae +Tag = b10884f9724020ad6652fe9eb9da +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 8c9420433663791aef9a2a0f789cac89 +IV = 71 +CT = 0e8ea9254bb5ac2d5c0e9e7eee63c09b488424ab04ca0a2b010107b90770b910 +AAD = a2d113e3d0bf5062a7bcff8c98937094938077d85663928c226b868cf57a1242b86d1275a3812b5d73a7372d6f241347a32f55063436a4556f8f5b21806738965e85c82967841324fa1f11b6621ac7ab3aa78bf4c67bc110b0de +Tag = 9123ca450499b5ef1dcfd57f61 +FAIL + +Count = 1 +Key = 842df728de04f1e02bbf1bd48f700a28 +IV = 70 +CT = 0055414235b694bdc1912a9a14b3cdae6cde6593103d736f5cab8934f42e1484 +AAD = be460e12d5a60fc85b363639aa9ea48f21922cd77e8623aa58628ac37fbe85054aa40da893c7d6073e8605c1baec68f4761cc26d6f57e2281212a899f3a95082e9b553f7df8bdabb92a99914d6b5249a07982ba98b16b6a5ec24 +Tag = d7681dc2b60f9b238d48804ee2 +PT = 2b25d90acf561867abc0d9e2632fe864fefc3f2c04be1f6c2f8ecf31f97e1e6d + +Count = 2 +Key = bf7a2661d9abd04e040561798f0a4c8c +IV = aa +CT = 79f41446c738684e4fa481f741ed0fe8dea3a2dd4520066e5a3e8efa9e3c2705 +AAD = 5e0d25f117e3cc85edff24ce7f395206564cc439138ed5fd805a0049fe6146551ad3d06e44faf61062d63e1212aff75e780d50082f9023d819fd05dc6d04fa9ed7b2db139902d9c963fa9db81f26291263d265d4d32c53146b97 +Tag = 6706ef5556a625f33b86cf8114 +PT = bfce561e91fa137699bb6e16fd26d3db11feea6cfafc6660fcfbeb458372f495 + +Count = 3 +Key = d90a137a4bf377e552bcd488d062f166 +IV = 27 +CT = bf783db7093fdc78bd4bbd4f0e94600c4d17ac639f89ac0b7b08b2ae0b7e6128 +AAD = fe42e827a22b41f5f89b539bcc9a1041288d39423b36519961e02deddd7cfbadeb23c3e4a64b8aeb0c45e006464388d912dcbab0992e4948c79bb044b30dd6e156aa4c78a2321b394c4d3da3251d656789f86b96cf01c73e27a2 +Tag = 25b020568ee971004dc450e02a +FAIL + +Count = 4 +Key = 5fdf66d705aa301811a63829c8e6a206 +IV = 7f +CT = b01e3e2f6f65f4fda38da9c7dc2d47aea4badc0d58bc421718eeb178e2d94529 +AAD = 34917d0d03cdffc30ac37f302588fe1c3834f4ede7460de19bb720ccac1c1559bb86217468b5d5db7265a85250df0ab412932e675d5f91932ba55f39c36aa3f4b710987b9437cad67e7c65c66638fd420cc4d9a62104434c63b0 +Tag = ca0b061a4b7950c28b9f0e21a3 +FAIL + +Count = 5 +Key = 11a75b776be734b866c013441c4389f4 +IV = 68 +CT = b9181ee616fd1e1653a2f9a535a17a9225fbaf19ad64270b8fa614fedf36c958 +AAD = 97a446502c144706882a4ba8c7fe94d5da191472210d66148262c8a562e89e8026522c5e9544a1d5c1db93cff31028237dcd13d504c449c928232ae7dd21d7dff0129cbcdc17548c67c98732919af9cabdd73b3fcaf23dffa295 +Tag = 0c0637328acf1698ab5dae9893 +PT = 26cd7df4d63060e5912df1ff055e2cea92622313dd8cb9f2403faeb6e7721215 + +Count = 6 +Key = f8eae0ac5e462c48a5cef365b5cc4b02 +IV = 98 +CT = 72af93f5dc43db089179e9ac1d05809e4544cf5b5f581dc049ab5fd3fde7a536 +AAD = 7b0ff88c2e7c90f3af4bfb91bf8258cbe4cff7668ff4289e231b40772da8d017b5ee963a6fdb106015468a8e19e109bb5cd78e0cde863557e3dd6d784adb7a8e18c9e5f03e0b074ede27e9da30d0f0d6349855b2ae6b4b0cb11e +Tag = 14635c20771e6a8bf6f7344d77 +PT = a18256e411f68e4a3fb7ea1f83f94bf4375dfe9a7c7e7f0093cc63f1621d3246 + +Count = 7 +Key = 3b2ec590b4cc5aa1cb5f4225a934e852 +IV = db +CT = 2a96617d32d71110757cb2dfc7de0f2df8c73d93783d05b3e3a1b3e6448af46b +AAD = af26d7bcfe053e3bd743ad4671d9f52c947b3fa4d82c3bd30978e04a4e189984c0be5c4dcc1aca3adbe60521337d129801aeb863e3c32e1397997ce8949a5b2f7b11ec6b0adb74ba18d6c6f4f44dfd6128bae8ca6dae974641de +Tag = 872b2f21c3e9e328840c90a856 +PT = 1096144bc102c13eec8b5e76fad270b299271ae26e95b200595279d64622d395 + +Count = 8 +Key = 75fe5db827d2242d83f48251a7074365 +IV = 51 +CT = c7b3d7befb8a945d74452386f4adc1f6920002cb3cdac5686a3ffc337b62094a +AAD = 2bd7f9b8e3f5f5cf17eda4c1813698769d99a6159c010900b0df530a9a3b7c1a45fbf3f2bd52a7f47e34242765c93f3b2eb7aa418951c89b7b863495854ba96f55ac4c05b2e00a4d686cd35252b8ff5262eb3b85a59a3b41d76e +Tag = f4bc1103e8f359c1f0e951808d +PT = 0dbb60e0eda7cdd9a5d36342ceb4590397a1ff69b486567bcf8b156012c40d38 + +Count = 9 +Key = 2bb4daea1ef35f4aedcb3659c8a75ef3 +IV = 8c +CT = deb074dd24f6d3c772672961321fba34ab984139691446ffc59b8bfbf298f12b +AAD = e91ed1a5d4e886974e594a990f49e22941e124fbbbbe50b27172f81c6c351e436ba8de9edb6fb47add0d444442c02c491e219e5d8254796a85283cc0fdc7bf3c70490faf378ae23b49288b3008ed10196d60eac3bf53aa796d7f +Tag = 96470514dad37b05b7177301fa +PT = 97774a41435188dc6d3a2d9738974e7e2f226216dae6cbdc636f796113acc235 + +Count = 10 +Key = ccb54088af0e5bf16dd313862d3f2cde +IV = 70 +CT = 4a4acf16adbc74918db32ff1fecce1faf12dd11017cc263a1b6f6114a7fb3252 +AAD = b05eaac6e4273e877440e17d8a2c875d17df28c1d2f4c9a3356a8a74433b5183de20b92fde71044ff0a4204372dcea7f073c8180ff8c0cd4e81144a438bdec6531624c4d1a300328dd0266d18ed09db11f0d3a312595264c78b5 +Tag = 27c23b16faf53f1be6d0777ffc +PT = a2048680c4822981c7de6a7af8ff4e47921063530e330b71636d169551747a3b + +Count = 11 +Key = bce6f872176ab11db24f65155a965b26 +IV = 72 +CT = 13a70786ecd6b3793f591eb40deccb77008c49f1a9431515ef2964e136ce34fd +AAD = d1c8fbdc2fef5c91aa44b57d39b8116c9481c57e940b1473dea5bd5e6e34bfbe39bace3878317922eb0499bd3e074f7b4906a8224e69618025269dd220da93867395877957a9870f102dcbcbfac1577747a3aadddb913cea806f +Tag = e111e4bd80586c4bd2eef3eb19 +FAIL + +Count = 12 +Key = 64c0615ee75c1564fe029d5d5d1a339d +IV = c5 +CT = 2b1a037a02f3012b96d46b4be18b60bfc6f2b1611b33eb1b1a539b490aa91610 +AAD = dff30e5b008ef25ecc4698bf4a6b23a9d6061d1bb6e537f70dbd1dcb017d4f6b18adf2bcbcf0a58292c357b44cf12010b748489309d8a710f4b5fe5afec04703d284f6315daec14e9ff778a6f029db68c1e4d7dc1a31c506d3c9 +Tag = 84fc44a8f55dabc98c5f745fb0 +PT = 0db865d2aeb93b276deca9ef76be1f6fc90ad471af3175407b15813ca6353c0e + +Count = 13 +Key = 703e1c839ef9c23746c634d323ffb7b4 +IV = 80 +CT = 212a5e818a6e4728006270ff93d43d68d26a7c37e707812b5fc25906e411fd41 +AAD = 218aa5f8c5fbafee307d66b5b785e1b53c78b562011b2034ae5290311649a8583829bfef0767a74f3dd7d0fc78d5e1f4b4ccb0ca61da79050de6dce4bb8dd199230c7f3ccd6a71283aa73719000fc188182337f031b46994a08e +Tag = f29e81f8bd4f03fb4144e674b3 +PT = 9e574071b82bfc29f579260dec04e13077e85a557208b166584b6e101e929a6c + +Count = 14 +Key = 35936f15fea50d0f3bd69ffce77ea02b +IV = 32 +CT = b257d49917121d24f3450ab83c3282196f87039d155661a0163889c1e4ac9c79 +AAD = cb2ee39c847fabe7d2a5fed2b2c98dbab0a845308fc30d5181980e07e7c7053259e79288279c68703198d737da66d75d89df9431cd378cbb078f7b4ebac002976ec38b0c2a67d5fe412f915ae98a0df019c621c4c6dc4b186d9f +Tag = 710400da1a694b49e1cfa02754 +PT = d75cd038094a59a8d0bb5298e44c3a70046732ea865639ac7c6da1b80db31588 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 1fd614d59bf7ccf46f07f1e229779977 +IV = 51 +CT = ff2c59d1494d476cb3188d8b9e0bee2bfd6fe6cfaac15961ed47180877a67b05 +AAD = 329cfef1a6a58e6f769ab1a8bcc7a42307b1f60c4da380b027ca7723772ebd13e2ee7c4a757ae5bf0af84af8083fe8429a7adf14ad8fa2e2e144c0a70d872de4dd1fa6f2ce5605a816436bd2b7c2bfd2be6882d1a20e957b84a5 +Tag = be8f454fe84cc88963d09aba +PT = f79aa0dda8eebb70fb7cc4a31f830535896a3889062cd5b473603502a7583056 + +Count = 1 +Key = 5949c2a5cf3343a29f30ad6de7483b46 +IV = a9 +CT = b2103bd5f226a71af62033a4b613aed0cd44de17c7de9e0ed054745e8f993c91 +AAD = 7a6fbc13757e8a1f07a34a502838d3b368c66d1b068a303a54c7703314e83b4a096e79e0223db29c9339c95d820dc20d2880a938e357ec3ddcc42f547db54140f17376431ff72dcbdf3460ae93bb3661db1b9c90040588c1d64a +Tag = 0c3c301b99d2275d5e2c178d +PT = a7c76fe049598a6ac49d11f1fba44cb05acaf79831161514c4f85ce59c46d611 + +Count = 2 +Key = a357a4344783cff1d7a83b87a03918ad +IV = 73 +CT = bd1560eab6a6650b1e688b77f753aae0c16a3069ecd44e7e9c59be4276157253 +AAD = ee57628f3079524dad8d873ed44a1d9f10fe158c81e96b81d3f4c7fd8905896c81ec48d1e493a57207713a0e8412177f7d14b1f14a8f474f24e07217de5cc5154f794d72ca433f5e198c3acdf5367ec1a4492565fc8ac290f465 +Tag = 640408b75c72aad4c635c493 +PT = 6aeeb3f0588622e7702860331a6b1506b24dcab5aa648d6cefe9b4362d18a12a + +Count = 3 +Key = 24048b393167f2296f73c07dda853c45 +IV = 14 +CT = e7956d8d6adee771e5968c8669d30d7cf5065107a65bfc15cf28940410961893 +AAD = a55dc15f19a0bffc1f9cb314506827a73451bf2ba40e2ce4fef44627b26132f4725645ed7e32973887d9da77847f94517cb35c6698561e164fc7edc8e53aeb6a268e01fa75daa5e5cdb99e406229f1810f6a5242019552b6741b +Tag = f719c505ee50e8f63439d0c7 +PT = 4c874db6797f7fc7e35593390f99174271d817efc8290b2a1ab9f2ac6995d9c8 + +Count = 4 +Key = 7832c9fc5a72a9cc9e45200ed25667ac +IV = bb +CT = 9ab4497ef78bd9c917aed650eb451095c09a209320f4b94fef7299e75d4ea647 +AAD = e5de0245c5a154efb53591b07a6c9dac725aba41806d50d095d97ab9e08ab363b2fd00cc471e8e67a1b1f576a42af6ac1298e0a53eea2386fe95f9de02f6233f4789b06eb070bef1dea88fcda60df9eddf59a51668368db4eebb +Tag = 8806f8609da54851c07001b1 +FAIL + +Count = 5 +Key = 1a82b74fb0fa5dc1d5412292a79c349a +IV = 2d +CT = 243090c4eec91ec8dabb078c4361428e60ab8fcf5dc79636583c60a2f6607529 +AAD = 49d01de3c5836c16177d1bfe32cdeaacc67db181632a5e3130bc54cf5ce02700f5b3017cd1db8fdd1f80009f10a9d749cbdc4be7b16bec2b42a6bd7458f1c422542931c815c92572423001af7b7c10e48cfadf2045f9b663bd3a +Tag = af443de5e3b5561a93128751 +PT = 457a2c4efc8cb1e26abf53a9e3921b075c4f15091297d6c8105684ab4b9a4dbd + +Count = 6 +Key = 457a2f5e27060fadff16188174fb1d89 +IV = 9a +CT = dc8a83868052ab1a83f524b6657958bc8edf52a36ba6dd5e7a62cf22c8dacf0f +AAD = a6a953ac764828e83c5a697f89dcbd98a60bddf3d01134bd8a5821d04250317f2143be9ac80cb9a558289353d992cae47d63cea5bec885f4da8cc28e418f5172e360d574d12b1787363cb4a7377793b0adfb1d02ebfeca3156a6 +Tag = d42b06867d1b506bc0ac4a30 +FAIL + +Count = 7 +Key = 3fa05246d41e554a4c89edec39bb77bd +IV = 58 +CT = 4542228f3fa2e00a10eb4f6c4e9aacb2922ccc1a67bf1bf0ca5b186bd8c5de39 +AAD = 67a5a7d51f7897c2c10ae15d00983676961d5bfc8edd0aaf0f66b21b239983823f36014a9f483517748523deda47dac1e85167a9a6a5882a5567018b5f92b39927b34c15eeba502ff66b92b90831e6fc1a40d9e179bb5c909ae8 +Tag = 8c881ec408ae3d3b7848f10c +FAIL + +Count = 8 +Key = 849d602715e34ccd12fbe2ebcc532ec1 +IV = c9 +CT = c9d1a6e018c17eb2333ad0ec2935afb7fac576dbb798b08dc614b5e61abb8ba1 +AAD = 50e121380666d1f07848ef31548b299ae50eba0eb091c24e4429708681c492bccc54eabdb738499ccdac4d254b397aa1c8c084cc224f39e6bda8436f01b86274bd9f5ecf05bf9e14f7ffdca43652e60053be6cd83a4841e04840 +Tag = d51261f04d2c30b7ce5dddd8 +PT = 38c2344766e1ae9e8cd8d9efd7db0002f019624d2cc0b5cef6e3bf09bd6113d4 + +Count = 9 +Key = 1dea0a3a532e5f43dd0711a230971f97 +IV = 77 +CT = c3069750e3ef8d208a97056a5eb6c59bda56afc74a6d157e8ca8e6f26be5b4c3 +AAD = d2a0d26f103e23ba057d1db99978ae5380a75325b62ff18f4cd25259aa8727d946ea9970e53f5bcce8f25e27d1a19e9221dcdb1fb8d14bb904980bd2567561eaf543fd7778c2998c7da8dbac322b3013b95ad8d1c38176718386 +Tag = eab70694813d34b5a76b831a +FAIL + +Count = 10 +Key = 0c275ffa1aac2b836203edd100310379 +IV = 6f +CT = e7e4cc21f09b068cd029b201615730a52f2836f120b10c92ebab36e9f2ce3e53 +AAD = da29a2fb410a86b5d7993d2844921693085410988ce9b1b82df673d1170110c5ccfd839ec1172823455683879a5edf05cc2334051d12a59b53738ef795c659dca0256b2d87e70fb7fc95706d41c74160f6d534f0416fc74ee035 +Tag = f1f767b5d065aad84e467f9f +PT = c97ac55bc3fa0048147f33061fc8a611a3585a98e9b50b69b34bda8327fbf10b + +Count = 11 +Key = 27a4cda1ec86154cd7aa0d3ddf292644 +IV = f3 +CT = a8cbdf3ec6e874a1bcc566db2888b22d6b9c71235c36bc777fcbd6b5fa574bb0 +AAD = 6716ec1dad668eb2045deed2da0f03cf999629f5c140e8bd71cff67bbc67bfc2ffdf7754296cb0acc68d2878ba3254f8e23a56b1ad8b3c111ff38a22a3a0099826a2da27f939f1d3db78c90bd9e6c4ab0fef2c199406d806a771 +Tag = 5cc8f2a3c38dbe9b760c8949 +PT = fb732b71f72f00c30ad62a6684acf68d4cfdf62ea1e256e62df81cf61ddda8d3 + +Count = 12 +Key = c7b7ab323af6aad86be043156ee6d479 +IV = 56 +CT = b95c20231cf75141f787158cf8dd42dd0b101329689b1d7ae667f135d1fb0915 +AAD = 14281dba1d61e77ef2827827e532506069ae21978aaa4777444c1e115541f92c951e910d89bf1b1c5287f404d4c64b04e47f281c84c191926fca99475b762a542cd02a3672963e3e60bf22a8c0e71dff8484ea05f205e6015d10 +Tag = b2def856851d3053f7220251 +PT = 98684a8766b7126955b2aa36d74177136cfdf3f65500f296ab2520c191356c14 + +Count = 13 +Key = 49b3753b79c95b23a71d27d062af9d7c +IV = ec +CT = 9e20832ecd4a577a99586d508bbd71280ddccd179ff9e437f978e31c78be60e5 +AAD = b29b2482a4786c536d6f686f1e52bb6e688cfe9196f105de00c3add83c2c744d268f4365e4b344c8eed34a2eda01ab270f70494b0cfec1b20653e619ca4b1c0f86d1d9bc935649c772f9eef9c8de9c0e523c37e434cd753b8bb3 +Tag = f12541484ba2917cee66e605 +PT = 373cc7d58b7f329cf9eb09075e73dc70e3583389a200909dda0547b89d431a49 + +Count = 14 +Key = 498d80932792e7d2a7e449bc8c3ff78f +IV = 0d +CT = 55fc0b0770532e2b08fd43e73264ab43660dc01947db9c40c593dc17d4835d22 +AAD = 9f2e8d12d5566752dbecdc02d0305d478624f5c3f6ec1fd87100831868ccb83b0214073ef8bfc4705470b240afc05b78ffb6135938cbe9868d0bd305ec44880c79d90d27431809f2914ba82a929ed84dac45de0fc6f6eef2aa13 +Tag = 9ff69870f6a8bf0f459cdb54 +PT = 98e0c6db06c5d977970a2a4da4d806d9a4662978b99a82d60a26107a7a69629e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 7687d3d29f767f37d79d4075a93a5d4f +IV = a2 +CT = 674321a37a3c388c589e68eec2e142d09d29d08466b127c42fef8b67a49298f0 +AAD = 4e17dd6c51cf07708471697c944091f09e1c8096fa464f9ac5b24f941ab68524e6aa1d756cbec2d9b27c1488dbecc62f5fa458693042f1ecf2bfb9dd36bfcf69a3b46044adfe574e19a103244edf510e68a517912b1fde831a5d +Tag = 0d8f141606b4c383 +PT = fa2b96f0dd3adb425b089761696cf834a6ae040f71c63f601ed1e3ab893e1602 + +Count = 1 +Key = 47db329e19157c1b16f3cab6836ee147 +IV = 55 +CT = f0dd20e5a84d99c6bc6048ec355532caa6726c6435c3e1aaad48fa53371cae5d +AAD = 7767407041be0fe557cf6efa8a24f109d355c5703b8d1ebf5ba7b171e48bb3dd048025febd4fdd6ef100dc522c14ceadd98748f71ef3f81046a6ba82e8fa6ae749134258cbbceab3013f77f969097950d41be98694b1a110024e +Tag = 3a6902bad52df6b4 +PT = 2fe4b7ae1b0659b7d6406ed4cdc7cd4e134785318aff5cc3575f6951075e4f78 + +Count = 2 +Key = a7352db9db42967dff5f1f7f5001368d +IV = 9d +CT = 9e4bf34f9ab3a72a8875e92b1597184b923b75aa397cfe457af46d63f543f065 +AAD = d9bcea9fe32f79cf4c3da1548dcb6757a4596fdc13ef077766097d9d704561967610baec9f77c872f5d5b4db9e3ac520e7114f96a36438d25eb988ce2e0f661fecdf4f2a9a1ac327da76c39ef79d264f5edd0630c97a8b5967e9 +Tag = 7fd009294cc1a941 +PT = 8b95c1f778dcea51bd40f07a1091bea8c281fd5164548d516dc24c32491611c8 + +Count = 3 +Key = ce753f4133e903bd0a52c7d9af83cf46 +IV = f1 +CT = 49bb3e407dd32877455490cdd853874395562ddba3c5ebd7d77df948a264edcd +AAD = 432b287fe47fab5815cbf522c7dcb624da6665efdbf0dda8f5e1a0e9d60e1341c56489b3b9f4ab5486f91b3ed90a264f6f1c18be17638c93dbbcc9db5c91500ff6c9f795441702c504631c3b0226e2ba6b9cb1812be31d8b1bbf +Tag = 91c276de660e5c11 +PT = 2f59cdcf6108aed48a47f9dda120b930da9db5c930c69cf46db4f277b35eec3f + +Count = 4 +Key = 36700fe1106ff683d917b6d293b21f7f +IV = 15 +CT = 955d779b3b8430cb4037c7a78d1d654140ed16877e964bfd477aac98a6aa08ca +AAD = d2aae08454df0d67859adba77958d994573eb01cb74de06b1d4a4d60e4a40b9c1014bb27c121b4524dd54708065f1aa359e1c3da763e7b581675761c56bb2688ef46aa4c673618d701da56fc5bdce6edc5bf245caf63c1460dec +Tag = c9610114fdcc09aa +PT = 50375a08b444ceb52ccc071ec51f9b0f31a185917cab8ddd009da0af29e8011a + +Count = 5 +Key = 380abcb3ba749b44c1c955a583b5fbc6 +IV = 9a +CT = 8655a9abaaf6fd1d46c182872c9f67b08633db10d71931c5c6f80652ee721495 +AAD = c3a417c65cd87ba1517db99a47409a06e3b87a34267ad9fe14508c1fcd45273c5e7bb789de24ec90f7eb54198a31fa86aa1d4fde44ff0079111e24d0d664ae63e5383e78e9cca2c3213567fa494d389fd36df51205b66ab1d969 +Tag = 3d2cd170279d42e4 +PT = 73e02e499c8e2683ea8d5aafcaf69089c17f0b06710615c8e15d5bf19c4d6d31 + +Count = 6 +Key = e2f75fd090c3c18381c7b8d82726efb7 +IV = f8 +CT = c06bfc0eb380aea4011aba3dd0d063091fdfdc0923b6f7f2c0a4a06f14705c62 +AAD = 0eb8b20e76a548b60fd3b3ef779e3d9c94bd2a492b40c1943ea9c565513688e3f398b0b0e9b43ee93cb5433cef840a5331e4b94bd67dde82af599f0bfbf1d30be16b73db45c301a0de3d24cc0deb1c0d1adbccf838b034e431ff +Tag = a69db2233a93bb61 +FAIL + +Count = 7 +Key = 3e6199e6e35283e523ea749683d45b83 +IV = fa +CT = 41c647afd016dc1f605a4320f3d2e50b988210ee7df4bcd2950152ca749212f8 +AAD = 88383606b42056a77417e66528db769d5fd94b1db7e3c21b70d66a5789190cc74a11aefa997ee835b0c36734ba6595e55b5eb89d4ef06ca75eaa5a26dcbfb37a3a188ee876551db13b6fa60750f46ce7e0aa90e1e4f40a0c7ea8 +Tag = 6cee0069c5557fdd +FAIL + +Count = 8 +Key = 735033ca841dd17967f02d91ba7dea2a +IV = 1a +CT = ca0838397cb4f9c2b703385ffc2f323494c169773656fd6db34e40eabfe68204 +AAD = 3f7d1a84979b2decc0c1d4a8f57382674af84f1360bfab5459de63752a1fd05fbd659ff5e3cb092a8dafa2aed59d43240d691e77af8c2f8d4eaf5d0f21f27e68b38cdb1bc24b1d28c917ed3bef6c2ddb7d4e5e4dbf8815a37d23 +Tag = 3a4c9f1c63141179 +FAIL + +Count = 9 +Key = 31a939015c520e052864f152a809d35f +IV = 28 +CT = 16895402b15ddc5e1b979192ed01427e2508b6b7c6d790d626dd7c722d7f6851 +AAD = 963b169f08e1585967902cd464c54758da6adf06e5918c0cdbf29b918f6f906dd13595d68a7ade35476c7ffc7d4b0a075edc3e24843488e040ca6c51884132549aba5aa25bd8957d8cca691d5f0aa1028aa7bf30072e56c05707 +Tag = 45ac0d2fafdc212e +PT = 16dcb8d62d968e5d8908259fc88646bc397512480cd324b079faf11686781b23 + +Count = 10 +Key = f820830440521bac85ce65a61e3f57cb +IV = 80 +CT = eee9672de8f360e4ede7f252a613a8e5a2198aa954a545a0fb437680d260f1ec +AAD = 58b3e8cdbee9d0d66b04e0b2ffc28790b083161edc0e4c492796ccf3accb0c6481519a8cf24ace56193ad04f9449c8f0a12c4e6bb7c9ccfe3024fd01b8db617a4d9080aba779dd471c1654eaa014b21e5a0ea0b7174e29004e94 +Tag = 7e095322c40af148 +FAIL + +Count = 11 +Key = adf95ccfde2a5fefde01079273221453 +IV = d1 +CT = 2487a065e4e496a4006101b3bde2af2f9c902e9ee774715fd7e4566f933a673d +AAD = c04eb9497b9c88d753dcebbfea97e90c416295ad1c2f41ae1f5d0b9226d54c6f9e1c20459d9e59aab1862b2a794065075b28507ec2be325bede42312f3cc5419a102ac31e19c2b8e3f72baea43ec171782a449402a4241da701f +Tag = d16bc7f09e8adbcd +FAIL + +Count = 12 +Key = b0f06d709688cff3e4a4c4224b2a301c +IV = 8b +CT = eb90e3b5e179890f58a9fcb539bbadbf5e6884eb86ee646c08f36b648554a9bc +AAD = 0fc04695f5307c9d83f743dd68a135b09aec79d29eea76941d0c3d824143766193ddcfc1987a44d67ab2cfb47abb3efb273e22bc51ccf2dd4c900029935315d418909700519cca6e5c30ffcb1b6348a72feb833803a031b2d070 +Tag = 246b62faca9c7540 +FAIL + +Count = 13 +Key = 17d70aae8fcf0749a3ff912cca9ac310 +IV = 77 +CT = ef85c14b25ed97d94f45b2049bcf5db8672a66e52306acca4701d746f4a24db2 +AAD = 37e23716b4afeab738d6be474b7451720db0e445315f912d3ab316a4ee717dde2cf5b7718fdfccc12530ca9dab5fb317e0f50731ca9df4c844d0d7e04a55c009beb12464f18276010b43e18f94ee9365a058b1a961d0c9820486 +Tag = b82e6567814f209b +PT = d8280bb9ff92e5983847ede3ba91bc0bb61f1e026ab21d6eae8ebc327f0b4f7f + +Count = 14 +Key = 15e069ed11218a027d9ebf9955d573ec +IV = 70 +CT = 2ebe0fd72d324a98df5d8b8ae58fbf58635c642488aaffd85352ab7783ccbbc1 +AAD = 02be8bef1d83f2a7e7918eb7dca3c0fcb1b6c470ae4d3dd9423aa4b48ad50fc4cb533d17b26108714e9cc825f6ae49890a56c8260cdbc7c809b028750342365cc61900d0cc0b9c5f6fa2b761a8f4d4cb6d95455e03db88275dfa +Tag = 828116c21cf82a7c +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 6a8f27a86e28f6409ac3274f11bda961 +IV = 66 +CT = 60b8fd809d1afe677601c507828abe70e1de579f2dbb16f884a9e049735f867c +AAD = 8432bbc766fbf33d8b2f9d2df82527c2871c3316b71cdc6e8270fd61bb2e99c07b66d8ef3265ca23b5a420e2e852f218cdc227d549a9b3da58938a3eeec65e24403641863610e97bfc4d7bdf0352863defaa621b74688d11270b +Tag = 8ac48618 +PT = 2cbb51ebe502d0e3e49152d6c461542e118143144642341cd1652b9dcf125a39 + +Count = 1 +Key = a941177d7eef11623d948fcfd2da2082 +IV = 4d +CT = acc1b2948793e1a5a0305d3b008b9dafdbe8e82531cb3d784796f8a92a223d2d +AAD = 37f53538f9bbfdb60b34def0315fffc66e0cbb995acb192a75616b621b5017efa94d263e5b652d4c8f769ce973f90556681b41c7e7f65460f69a9e99a995083ac62f8a3c4f810765dadbdd0f497bcead61803aba055cbfb5b50c +Tag = 690a5c72 +PT = 2e2239d23335441ef083f2b2c3877ca47114cc9715e8f899fd2a0cb5b54c7a52 + +Count = 2 +Key = df179884b32c84e1593664b45bfc4429 +IV = 90 +CT = 3c6701775ae803f542b9eacee649f7c92a3ee2a47a8888e75514f0109d72d965 +AAD = 8028f0316656a3a650e8335d91b9aaf98115a91f634d3d3d3d5af8ba914218d2c6b046091feb36be46cd6e43653533285328311c868d5181057efd191d4dc8fa91fb7d5b232a534a2120d40556050cb5cdb09ff70e19a7e6b971 +Tag = f7b8314f +PT = a7f104ae8176d1869a000b94adba097099b3a56b47f0dd039b406f7bd6edbd55 + +Count = 3 +Key = f4846998750cea5c55a15a0f25bb04b6 +IV = f5 +CT = 1a1f3bf47399cec15b72cb08658a3515f69d23bf8f7c582c1035bbedac6e2044 +AAD = ec3cf825ccec7a2a8443acf4a809db858aaf783a9dbad34bd0ddcf3b502ed2b9e373e607cc0e726519f081cf11e1c1979eee88c9d8e15dd2d223679bf73698efc3f011604d6f73c9303ec0e14e85b3e490ac030f4917c5f714e5 +Tag = d1a703b6 +FAIL + +Count = 4 +Key = cadc35ca4c33f8f432fbf097d9c60fcf +IV = ff +CT = 46cba85c8fd3e0ec1d0140a1dfbac6a4889b34f8be6c8c23e2efdf87a7636659 +AAD = 157bd98f647e0f77e54140f376001cadc1d1c9ea667c3c712ff33593ca29e5f15e28ed17aa61fea5e6ff7b136765211bbf035ec271531f36dbf7e2c855de5552ad68f3726f9e198b2b60281aa6f3a021a0dcc498a547c78c443b +Tag = 4a9ece61 +FAIL + +Count = 5 +Key = 64e58e362d716e1e651da577dd3123ae +IV = 11 +CT = 84d870a346847d6a7c99e17bdabdaf7a98f0eb46a557c64a6b67af84c5ea3521 +AAD = 9f6b1f937e827afd19e4f907d8e695804ec8213f183d2986c4ec111ef6dd9d2c84da899d097137fc9f7800218cdb25f3e8b7e9b705bcc5ce60665b87deb06efef832b461c30965e841e72df6f7cebd27e332b76a862193f7cd07 +Tag = d8861ff9 +PT = c88655c9534b2e72e347deb2f6b8ef05ba84117694c331f42ce8dd51fa72ff2d + +Count = 6 +Key = 8870b340c5be6226258614c13429f95e +IV = 90 +CT = e910bdcd4a27c7f3381ff797bdad00d05f266fdb520496aabef14c2d0ded96e7 +AAD = 62e401ede093b88f48654275d15ded62df598b8886ae82be309714a35a87217e9038552717da31b51d2bac503aede3e67d6a9895dbc146316433a7212a27a5a1230a869e6851f517ce9bb8ba58b173eb80e1667b4108e87dd768 +Tag = 47b1edc6 +FAIL + +Count = 7 +Key = f232ecae7425e851cd799c7684b425a2 +IV = b5 +CT = d92e042043be9629ef1d26a2c10089e1d1745df26fbcaf77311bfde15f4456d7 +AAD = fc8bca6d2078597762944d90d0368b3f17405e580ce04e6df4fb4dbb20ffefb04923b38a3e47b4e65859cf2bf68729751e30e272b25f18c508b904f54edcdd37466c46f98eaabbf8b29f4f3f8198c7b030976135f49f9e63434d +Tag = 34c92bf6 +PT = b61caf25a50fd1c99a97eeb29f42e7ca2926e2f5a58562b46efaf8fc23726dea + +Count = 8 +Key = 6ad5b300b3a4a41e13467dfdf3e0c1a4 +IV = db +CT = 89f5ac1bd6c4a963238ffe838f48b5af35ecd5400f13b342d416dcf71171d260 +AAD = 456d7abb227a5c7b64dfa2efd782198bfc417c9b5f3e1b589139ed100dc83d2d6c7926a3334404cf889d28a1054943b8f190b950ebf5153403ba816cec546dc82925c0076473bd9e7354821858906bd60c799eba1d9e9f87519f +Tag = f4a3e81f +PT = e4b9c837beae58fecb3f18406fe87df82ac8fe7c65e548a60d926826a3873ddf + +Count = 9 +Key = 5dab55dc66d35b4a2fe75d9ba9b9ec41 +IV = e4 +CT = e0c9a9b0964f5c3f826096dc75a6e0fed7de43bc29b5dd8d8b02a42575f63eef +AAD = e6f4336673f5c0d3455f7cb494cbe970a00251da3e1429bd899c82f178e4aaee01fdee9c38732703c9b4fc4d83e9ff5532bdb9b365735ac4b9a698f25849a6965185763cfd8595103bb270d05f3f9d75dd06bc0a164a1137ba08 +Tag = 57b63e47 +FAIL + +Count = 10 +Key = ee67763f767d45982e076801d65e9f4d +IV = ca +CT = 2073b4091a4aa456b00847e833f253dcb628beeced61c13f778503f9f67e4e09 +AAD = 4bcf10aa7113eefc320c88d87b2206281fbef04ba97fd55dd0678962fa9c96d3b88a204030c195bbdf8850ceaf869675db89893f79429ceaa6494ca17600a90efc41663159fc6c47b39177bc88e3fa6bde8bb981bcf478d6abe7 +Tag = 3c7dd2eb +FAIL + +Count = 11 +Key = edf8c2ec2317895aae80fecb87e3ca14 +IV = 76 +CT = af97bd7832df5db2bbed6310a0d9167b3a3f97b6b528298d8c82de866810f3da +AAD = c01ee07e7d9d11bc9ee27695e2f41fb6149593023febc8db57613351a66a37c15bcfde41db30dea38f50521578214522b21d1ae79d75109314d1d983138a6dc8fd8ab768daf1441f5825055fc55d5dc5c1218c4f1f393a88b02d +Tag = 584e9f04 +FAIL + +Count = 12 +Key = 9662c4abfbd97bee414a2f410198a3ba +IV = 07 +CT = 506a3c88d214506a313f5b1c7caf27bcd67cb350fcfb19395a43f190fef7af16 +AAD = 1f3edf7b9cd858c222e8dd640311fb64586233e57943e4ef50e052b02cc4dc30dfd51e64b8116ecd6fceea491e692fee4c043d3b5cd3edccecdeda927414c94c0efa51e40077ed01eaf9a644573071b37ab1867f9c2be327a694 +Tag = 5bdcafd5 +PT = 5c789b7801cdf9948f536ec668c1e31a50521228cd4d44154deeea531cbd3582 + +Count = 13 +Key = c435705529814ef445c85d16ac9912a7 +IV = 90 +CT = a3e33950d57702a49d71e151eb6e5d912c850cb9655b89a857f69d274650aeae +AAD = 67fafcebccebcbd27dfc79aa9f4e4c4e1a28fe9dc9608fc0a177880678a53f3ac07da80129a5d28197e54ea8b538ddeaebf7b00f4c399620c03a118cd477562848430e9a1d105f117d2ec8286bd7fefbd57b7825842618546771 +Tag = 2aaa89b2 +FAIL + +Count = 14 +Key = f12478a6184d3c64446f7cfb40753947 +IV = 74 +CT = dfc94197a31e80a1cc32ebb9935ef00ea7ae804b154f0480321bdf964850cdb3 +AAD = 2fa47d0d715a0e5bf00f57371b39b33a1893a85a7cf05f500e08dc2d314c541cd5da7f1b3d22d42cba956ea33f6d95eb0838ff3201a50f8a6b80d561bcc9faf0c1b2bdbd15b9877c19f090e6131e711960bc8083cc685c6ef7a8 +Tag = 6b94e78c +PT = 15577e6ffff5ede275beff9b08a8246895bb7ef31a64526836c57d92f1baa592 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 8df696270855825137773d0579d87504 +IV = 4e +CT = 0f9f3fb551e04f377a26d808babfacf256cbdf01f728ae3d0bbd3d0538b4e9a91c1ab298e80ea9f4204e4ef5e1f8125fa870a1 +AAD = +Tag = bf3319fe231c19ab1bd2382fe4c16167 +PT = 161e02d332fc7137795e5708b15b0dbb676f1a706648884d2085f55ff9bcfd69a7ac47fb1379baf1cda6188360004fcb79ffd1 + +Count = 1 +Key = 9a05af64fe0641bbce565e7aa6d3a73b +IV = ee +CT = 27914d3a9db4f4da9da69adb3f93af1ef3810c71eceae6089945eb526ac5cc01c41323b8015d13521731eeaf6edf15ce9bca61 +AAD = +Tag = 9b09d605d4333d6b2c84bef9759f81ef +PT = 367d9d411008d47829ffd0a088ab8f3e08431a2715903975221f5a310b609af5464ff9e98e7bd309a7c11b92b7a83cf6d425fb + +Count = 2 +Key = e92c055beaae752be9af7ecac4e07538 +IV = 50 +CT = e509dfb889a0f330c52cc618be373c62a9d6a83c77ac794a3ab44c87c8c74417ff124b2c227f14f5f88d62b66d60cdfd37dab2 +AAD = +Tag = 633b2974d2d8e71ab4655e2bbce75e9a +FAIL + +Count = 3 +Key = a9f02ba73901bf420d9a9af074a8325e +IV = 45 +CT = de04881657ea50dd907a0ebccc944395984ca190a531c2e1b8b09af2df3939aebdd1dfdc7a05f9ca5641464946d050dc5d3ffb +AAD = +Tag = a59812565e3d00721b5c61f65b957374 +FAIL + +Count = 4 +Key = 6b0f1f6b476454ce3b8c58df01531c08 +IV = 79 +CT = da328f3bbd62ddb417bdcf1e091d2f7ab64f50abd134a6264b561573fd23dbbd431b46fd7d752160549cbf1276df4f486c5aa5 +AAD = +Tag = 6a09a1b9eb211ddd2195903e16ea0e2c +FAIL + +Count = 5 +Key = fc4ff7e1b58389aec2493b0f4caadf69 +IV = 75 +CT = 804efae9ceb5464e42fa428a5e91588090a5c8425a611e8f0caabfbe527834cba056284beb57a037ed0cdda9ea81779ec85296 +AAD = +Tag = 75be08ce1dc45a749a3e54fe9e4686d5 +PT = c4ba4069d5614bb407b6231d1a573d623a66a280e5ec152ccade0c6784ca08a2aa7ef17c226d6616db8d9726d08d2a6ef04c97 + +Count = 6 +Key = a15dddb45694e785093679acda2fb775 +IV = 8c +CT = 86d418cc4b8cc8d35a3a8024780717d2203d6a7310e759581793e4b733f5c40b1beeb584081db197c0229c74301dbf47776fe8 +AAD = +Tag = ad13d235de6f4ed0430927750d2773bf +PT = 0744a635dd95b78647b6c7f1118b96f42dff57ac4a9aa5566466fcccf809936db108f387f9b9a233247704dc7d57a2e698f85f + +Count = 7 +Key = e76b9b2ee7f7be4e6a6831ac2f3a0f7b +IV = 27 +CT = 299b3472b8b8dfdcca95171b7483f18cae9a948c84ebdce66e9422b220fdfe33a6e5834327df653e648e383b237c12f38ba02b +AAD = +Tag = a8f7b3ebdc7cccc106f4dcb2f727125a +PT = a07ea39ab6d53e46c360b684cba7f2a46632fd1d6443e7431ea5ea05daf6c45b78e1e7e50f1d2e3e48d0e53f8827831687b60e + +Count = 8 +Key = 61e7abe3208124de22d3b05c5e2ec5fa +IV = ef +CT = 8ccace7c71d7c8698636f5f8d11ea146440635d0f45ee517119b0078fb3a4f728edf9413dcb2cc0c8f0da6250977acb495bcb1 +AAD = +Tag = c11d61c10b2eb2188ba3c71c3fab9a2f +PT = e59eb3a8fda82f08025638b52c4b84d005611dd59ab4d3a7d0c8f85c42ba50c5d6905cfacdfb6d40304dbba77726dfef57f6a4 + +Count = 9 +Key = f0ca69fcf0ed47dbe37aa765b2ee4d86 +IV = f0 +CT = cc35cbba60127d679cc46cf2bf9876af672bef60ce3759d26dbb3b93f0685c1dcfe1db8c631a6a1cd858c5912a6ba5f3244ae6 +AAD = +Tag = 354a60c60fc422924c332c99111f3c1b +FAIL + +Count = 10 +Key = 5de089f65658785aab2be71b8d924b4f +IV = 47 +CT = 1ce700f529382a08891f3b34bfe0c4a1290fd1f840a5cfd76461d43c34a7d98682cd6a4d39a64cbe73bdb816f792fe30a80b08 +AAD = +Tag = 38ac9fa8be48113ba8a40c4a34c00b22 +FAIL + +Count = 11 +Key = 3dca84832b7f99a816ccf6120a558a37 +IV = fe +CT = 295301a021c55c8febb5087cf10e8ae16c0d90651d441920e8b662fe923b346604558bd6d372d7a9df2a7780e24886a54ddcca +AAD = +Tag = ead62447af4a64fe0f923aafd6bf0a43 +PT = 0bb689247e2dde7bba5aa75be4cc9a9361e588f142c6846a27f0f22eb716b358427ea0b542958fd4c3fc618d576fd10312f831 + +Count = 12 +Key = 71585661a793a7c7bc2fdd98e1fcef0f +IV = 0f +CT = c1da7e6cccd228e652debdbc440c707b7337af404fff96e49be77d1e8157326fa2944576accd0d74d06a3df57eef3bf0bd64d8 +AAD = +Tag = 8ca441099b4605bd6d7787c8c1b8ebd3 +PT = 26e3c6f1214807f3dfc06f71101077c5a3d510bf2fccec0ade1a8851f16b73a25776aec3b95fcf9afb48254655ef5f6e81f4a4 + +Count = 13 +Key = 2e649fa195ab3b059104a207d7f7d8fa +IV = 26 +CT = c361abc65ef06f532af24c1da31e56406b3a2b89a839a407b0eb8c3e4592159029ba47df353ca8edf577a7145f8413e016abdc +AAD = +Tag = 4e677838afbc3559682b0bfc8f76d19b +PT = 99f715b3b9546a52883fdf10edea8a625e65a6b45b95e00f564e3eadc5dc78094afcb23614474dc3ad21e745c8d74ff0173280 + +Count = 14 +Key = 4f4b5922061d8b16582e3d18f51cbb59 +IV = 4b +CT = 85ebb184ae4b9b753dc48f0d43d88ca2e0bdf2dab253c9d17df93ae0f829470ac4d3a1f32e536c4db42a2e2d6833dfe9e59e2b +AAD = +Tag = 999c8774aaf9e59e5e82deee55ed7117 +PT = f16d992ee2907493b8f5424918d66be4652f6b1dc303a5de11a6098d6e5680c89e94ad202aa10c3958048db7f583823e45a407 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 77d8f683a77d72547336139b50ccba0e +IV = 01 +CT = 7cbeb019825335c9ed95ccecdc45a7c918b067c7c0fefb8754edc92a69dd3df2512f1b9fc752c906ee15615bf769e8a22f44ce +AAD = +Tag = 5cc4706e4eef2c3933dcf77959e4f2 +PT = 40406374de630ac88893389574480c3dd7e7c98e7839e7b32f7fcfb920705520032bfcfdb8e9ac5c46318899af0ef42ea59aeb + +Count = 1 +Key = 1c42ab64aec40be09c2752ecb4215653 +IV = 2e +CT = 9a153fcd6713c3b8cd0141c7a39467905dc4e6487b1a3c7e8f080fe6b054b716feceacce0224659073cb6b12540e3e86c04071 +AAD = +Tag = e0e0e4b2c565083f6dad5158d640a3 +PT = 6a6352931854691329e1efb403fdbc42596a7d008905e6d75e279add52ce72694bee91acade2cefc02c515a429cb0b13fa8b24 + +Count = 2 +Key = 878a6501f7c085332b7b0b3f3596ad72 +IV = 23 +CT = 03753288dc6818acf599c7affd5f535c76ca74154b1b986e7b72c9971edc53eadb61038344f51f8d492b95eab13d902fe6fe66 +AAD = +Tag = ccc387f6cac5c164bad053d20ded8b +PT = 2cbe348708725e1b3c1b2bba7420f9c09a208d8fab9c0042338f54ca61798c2a177876c366baf9bec97936559a7edf230805e8 + +Count = 3 +Key = 3c7890ab7d545a700aa8bfdbd1bcc085 +IV = b7 +CT = f7609e99c2d3d94b0cc577c740e28fac6f95af83b4e9decccb0e9b9c73ea6a7621fa4a4baa68375367de6a7b7b4304fb63880b +AAD = +Tag = ae5a06f77bcbdb280d8c6d96f14c68 +PT = 8e907cbb3b8cc6197613b9435be6eed0af7e15a80a6319003faaffe6e5fddb6a60e0616e4cbfcad0bc17f4e9e408ad53b4f526 + +Count = 4 +Key = 9f97680b84b8ca9bafa1c4ae6f77bbaf +IV = 11 +CT = 96678d6057b92fe7e062d18ed8d507bda4ca6a0815d35e6018ee90ee611b9911d5af82d127b14c350f817a9b81c3dcfd119f31 +AAD = +Tag = da660af572d647c0c1133d4f62c1c7 +FAIL + +Count = 5 +Key = 25a1cd1d5f00f816b80ad1ffa296c5ea +IV = 50 +CT = b8b0f84299e963409ef1988a0341a250b8a2f094d7dbd28ae14dc5c7496bfd989ecf97426f59e6d57e746b2f9cf8fc3a35c5cb +AAD = +Tag = ada7b9f76eb9dd25bd50f3e5864698 +FAIL + +Count = 6 +Key = 1e5c164659b2247c5453996bfbfc550e +IV = 1b +CT = 7b5d20d613eeee2b201fec63212a8c5773560b17c2ca0542eb50c98c4ca28959387c92286262d68fd72c6126f6ff761875475f +AAD = +Tag = 8b5e1da966989280937b073daf3db7 +FAIL + +Count = 7 +Key = a84f0f23458efbe5325174b7fe1f8da2 +IV = 97 +CT = 7def461f6f2f98151c12317e00f8f1f4505a8e074129d914057a68a391fad9f6adf0673b043af7b9c3d431318804124bb089d7 +AAD = +Tag = 900aff8dbf34f6014eb5ef36a2d5dc +PT = 01fe951d56e547ed977b3d7ea5f21aaf3cd946d05ac7f23b8bccfbbfe57a7e66644df03d13553bb5b169a7fdf436b523c2b644 + +Count = 8 +Key = f195124e5479a6025f2802cf9fb88e37 +IV = 41 +CT = a22fa17c1f8c64bf9cb48a2e27d41d2a35df076dfa80ada19b21a1e7d4a265ae752f91e4e00634ce89f093980bb9503ff62f41 +AAD = +Tag = 04d165e1b41f576edd85b13c50e5e4 +FAIL + +Count = 9 +Key = 53d0bfb0c89a2ab08b6a9bdb03a80473 +IV = 56 +CT = 25fb46dc92249216b333546957a6babfc1e3f38e42613a6933856a86f2178369bea994955fdb4bd5901356af40e94a1d3415d3 +AAD = +Tag = 4d04b8e0ec3dce24fa8b1635fbaf3f +FAIL + +Count = 10 +Key = 6faabdb2231bac01ed5e172665650989 +IV = 4d +CT = 0fde0f545ef5cb5f2ca84c2cd682b17501b1252c7b1a550a2f40328b2f7662401c0be768b9b2df6cab702ff9c6da7329813feb +AAD = +Tag = 28bb799ef5feb081463f4ac2739ecc +FAIL + +Count = 11 +Key = 35ae237cfbdf7b66479cd72bfbde5573 +IV = fc +CT = d098fc94ce769664a44d92b5983ff668afede74cdc042b46cd92dea34480f90eff39fc400db20a1788b24795c547027933fda4 +AAD = +Tag = fbef24459d8401747897a29e6f31ef +FAIL + +Count = 12 +Key = f3831029c73f8b0885efc3be3e7ee10a +IV = 77 +CT = 781511308f772a66227beae284cb0d3c5a699336f3417fc199c3c9a9feede3ec726e34d575fb34c1dd9d07cc3f61ea660bf942 +AAD = +Tag = c89c1243ff7219d5e2b0f7f16d1fc1 +FAIL + +Count = 13 +Key = 5c4736ca7a158ff5e4c23d5952f02b86 +IV = 7b +CT = e4cddeee8dc9d302c7f79d949e960fc5754f327d39d81dcf085b336fe6db029a806fb6b927678d2a4accf775df7d8d5788679d +AAD = +Tag = ae9259878f8bd7863fe58d58db4761 +PT = 82f35555f1d832c8192d0c8f4db06abae5d66f727c2f6b10c25a1985aaea0358f32eed951821dfd83821a644d0df4d68e64de9 + +Count = 14 +Key = 7941853407e745a01cb6bc580da88849 +IV = 7a +CT = 77248f9b0fd19a1848a7baa25b2047cd10feac6e30f4677547be1c47b439c30cc7c4e247ae2d305a99dc0b08a72744c2fb645c +AAD = +Tag = 83d44466d542aa6a2a8a6b2a29a3ab +PT = 22659c327f29302554367db8804febc0924fb43d93e7ce540a9d8aa53bd3f5ec8e080b72d66e2dbe86e2f2f23b5e1ba73b6973 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = bccca731bc2dbf1e4c3aec74442ab113 +IV = a6 +CT = eb570e0d07092b2c1338e09a6dd3acf9c18bd2b237515f3ed133413b731bf4c5ee9b423e1fabd38b6ea3cfdf4482175e386393 +AAD = +Tag = 9bc8b2e2176a53a0649982ce0cd8 +PT = 9e0cff940c7f3832e9d1af36c3c01707369d339f512352bc352e1c7b289f5c4929446446802fab3ec17ad9563b72552d4ea897 + +Count = 1 +Key = b168cdb2e7dd85a5b3246b9f525368f9 +IV = a7 +CT = cdb2c5948f4c9db23b9e89be96da26472b34920005b720a65d09b2b9222f5b64464f77365e253adcc0f1827bc4494f211d48c6 +AAD = +Tag = 7d4cb559bfec2e6ca932bc75ec34 +PT = 6ec272b3631d4b8f9ffa4df2734d7e78015838ee31305990d5f922337e0a8dae30c37d484a49358bf7c11e341007517bace2af + +Count = 2 +Key = baa06a062f1ea5d07ee11a6bd66ac131 +IV = f7 +CT = 5e9d73519e9c709fd30808c8d003e66fea52319cd3b3c5b78cc4e2196950c4b845fea830b3eb7a2bcc44e8a66e856c2d882839 +AAD = +Tag = c680a8a6a5bf5f07be61d3e88eb5 +FAIL + +Count = 3 +Key = 92e9cf99b165fdf4b141c1f062e010bf +IV = 3c +CT = 6dae3986e854288e9e7862c68995a82668df49dc6cf29ce0357f2d4e85d9e04b2354acfa7c07b3582d68cef038ab0bd7d35f56 +AAD = +Tag = db9b1f31e5be1249f668bae8813a +PT = d5ed3a56b52ad36e8d7527b8135ed7aedd85920cc0c637144ce86cac26cd311f669e69abd34f6a51dbc87ce5e8ec87977e7a22 + +Count = 4 +Key = c42dbcdee47ea68773fec650ff7e6c28 +IV = cc +CT = 2d11019fc5565c67e16346ca97a4f741f2a6f4cf76094ab2b713b02d9ef9c997a10719b2cbe2a6b2ee386015678fcea9c07051 +AAD = +Tag = 72b9874ec5343c61043d91ea4e76 +PT = 316eea256ffec5b6c43be7cde32864ef143ec8029313cd52faac1ca37bc9dae269024ec6dbe1b72c8953d0aa52ce1628449677 + +Count = 5 +Key = de62f48db5706295a2815c93815a590c +IV = c2 +CT = 5517efaac748de37b60d269a301ff5795b1a62ef7e371299dcb98cc90ae4189384d80277f1b7b4b4f9761771dd624da04e2294 +AAD = +Tag = 4e5a2985333a9b631b625eec490d +PT = c2230e32274a4e19544230e88dfd63482a14e9c332cb25225a40ab7a34823aee31e5a736379320023005ecf53fcdee72eccf05 + +Count = 6 +Key = cf8f3ae40f7702f94bffbc50741f460d +IV = dc +CT = b84dd175b77ef483281cfb338f2fecbbb40f6412044bd24e70630184f8f7d2fb9c0a5409db7f3909a299a102bcf8fa5be0efac +AAD = +Tag = df7ef72cbec4b63547785be0ab93 +FAIL + +Count = 7 +Key = 80bc3e01e7737658be1a03f19f603d13 +IV = aa +CT = 7aa4a84dc3b853433c206b0360ad5a0b821f416a01a98ce4d7d1b2af1192bf220aefb68bc0b1b714be3df2111b3b47f4dc26ab +AAD = +Tag = fbe4a9c8444f05f49829bd03332a +PT = 6da8800f8d554370d4e754b47aa1a6085f6b6db86d011ece168c995e9fdb0264e0fa5abdf5a3a416ecba9add39e41f9276bf19 + +Count = 8 +Key = 64ca03d6c7a873002d180d7e4433b939 +IV = 3d +CT = 79bf02d946ea01bd20a3ea98f552d31630aa2d3f12f9937da8596eb2e70cf276fbd3cd1876d63f48bb3a812cdd6c0929c29eee +AAD = +Tag = f0ea0f9147e500c5866389ee2568 +FAIL + +Count = 9 +Key = 556aa4c5ab764ead00535319324f9115 +IV = 83 +CT = f6f4a053290f7aa087febf19cf3ac02adcc9955c92f4524390bf80a98e09001bfe7985bae950f7dde0075e4270f0ec75384e90 +AAD = +Tag = 3677abac7c54764e6aa0c0b42597 +FAIL + +Count = 10 +Key = fec895262c1fd8cd52bbda940c5f5373 +IV = 09 +CT = 8dfa9feafbf5747b8095fdd836c6fcda9d428350932750cd9fcc42f25b6678d44a46ff52fe6e6cbc216c5cb3efe3ee156f2ce5 +AAD = +Tag = b77af312c4b4636b483bce333a5d +PT = c55ddad6447cc8aa2f48d2054693be382e1edb153148aabf062bf43bf51b6ddbd370b1f09705436e4920a830dfa83be1355da2 + +Count = 11 +Key = 08d0380426570b17a3cf5bb889a6bba6 +IV = cd +CT = 241bde70e3f85c32fd912f05219f7992dea65569abe6a1ea3cba064c3cd537075b1c3664b245533c7d479f633e69a2df27a743 +AAD = +Tag = 809a804d0717cefb81f6ba334118 +PT = 7395ff1c77e85c2a2d3ece138195681bd66f1dea1f9d7bc9a17a025bba4bc9bfba34120672069109dde0ced9c697c19f1310bf + +Count = 12 +Key = 0c7758f67596510b8166f45625d8be1c +IV = e6 +CT = c468d630af823817ff224acc060b21a1794820ee7742cf13a0bc0b381963ba490bae2a961bbb7aa9f4372fc12bee7e72f2284b +AAD = +Tag = 4c7136186bd043e3a506fe7d1642 +FAIL + +Count = 13 +Key = 86ee2c982e68def682497230ab1dfc08 +IV = a3 +CT = 68f55f86402ca3e6d83853b66bbba103bed7283cb178de875ba9e352c1be931317e4be29e6f3a91c876c3dd5ea0c49d57c3396 +AAD = +Tag = f708a902b7a971b18b9f01a9a179 +FAIL + +Count = 14 +Key = 01d46597f5eb357070de88f0448ef5ba +IV = dc +CT = 64a59770874cb5d7109fa633576e2660bfa8ef2781d622ec7a06af00c8e28fef75b0c8e5bcefbf6bab53b27541ce4699f69c0a +AAD = +Tag = 8a08b87c4f9b65184a493679fab0 +PT = 1b5ff53331e7200d20033ee0a7c61684a1ccc6be3ece18cb797355073ebd6218ddd2041b7ef00e06625e45dda373a1e782bdd1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 306d1a775def64d222fcdbeb9ebbee27 +IV = 4b +CT = 6d8c74be76e693bb03311bbfb464b365c584f1e24df727897a25f0cb747e07506097428234d49ad7d72a3d2197d4cddd3b54e4 +AAD = +Tag = 37cc6fbfce9227b97c92653e6b +FAIL + +Count = 1 +Key = 238f66bdc04b15eb4a99745db3864957 +IV = cb +CT = e88a098e7ab8d06fc2db61dbe3f672227daeb6633fb46c969e6d0b635b9a38c4ff11c5f0a0ef31f46d685067485bc2cc77359c +AAD = +Tag = 28a3d2945f1264eb009426eadf +PT = 0f9135073958984947df2b02c626ef7da40c2b05dbb38966a046e37ecc73dd7db267c0d1d254768d8e21ae099846aaac56c303 + +Count = 2 +Key = def3b6640de6875d79183eec669d695c +IV = 47 +CT = 8c090ae05f8d80969c298f6a70254413debbda4b4fcd75e978257b9fe264b5e24480a671287b5f648b67fd10d5fbbfae43540d +AAD = +Tag = ea8583e916fba9d9a01cb41f52 +FAIL + +Count = 3 +Key = 191ce7355111a896359a2de79e81cd1a +IV = 68 +CT = 2ed544e2cf615eb087eda94ef421892a0cf22b5754ce5d465be5d10e68a6af1fb350f7714b4678db1dc3f3c3de2498b7813766 +AAD = +Tag = 07068cf3d97d65dda0764939d8 +FAIL + +Count = 4 +Key = 0d4e657de13104006be68016ff8251c6 +IV = e2 +CT = 2a2a4a4aa7f72ad44423d7c772a55623a9de434d3ed76c13d24286954e8370e1ffbcc8f604b1068dff25da37d901113ed45383 +AAD = +Tag = ea867a3feed82a2381b3254d17 +FAIL + +Count = 5 +Key = 3126fdc2fc8b56457be1a8aab9d656ea +IV = 0b +CT = ef64db1668c6cf19dd8e869ba19c09039ed8be244ac1c626917fb422eb97e2078c201dc943e7d273078b0378131a605204e85a +AAD = +Tag = f59b5ed368adf8b680f91195e5 +PT = f4ef822c69b9aba10f24e03903a02e6d71e946d971972ff5a4443d7c731e05c57d626d112664932f829eecb141387020243c87 + +Count = 6 +Key = 84508afea7f6eef8aa605df7798a8bd1 +IV = be +CT = e598a7410977f4c573c5b233f69f0596b2bb74bb0bd2c460dbce53dd12c7334043c8eb1ff5750afffdacadf356a9492527b9b2 +AAD = +Tag = 64d2d4d33db2b2b9276e07e82a +FAIL + +Count = 7 +Key = cbd8356efdbdd3421ea2fcbaa89be4e9 +IV = 6d +CT = 21af6da3f893846fbba0a68a278a8db70dd56fca423341d3ff31783b49186ff09db92c620e55ec9b6986336ffc8fb6addd2e9c +AAD = +Tag = c6c37fa2b66d0178dfb9d2a1d3 +PT = 2e244e3b7d4987df4f871cfdff1d65d3f05fa29d1eb53e2f85bcfd48b4fb2cf685b8e0f3846b2be2074e3a07b8f53e8705c687 + +Count = 8 +Key = ea6553af2af1882a25333bc20bd480a1 +IV = 72 +CT = 23e4dbbdf4a14095e661c6cf44b06fd4f84e7cf25164bb49c406b89dbe45a016aa932522a738fb3ffd79e9dfaf8619b77cd3bd +AAD = +Tag = 4a35af1fcdedbb00ea7a6fe610 +PT = cc805bb9907204173a969a427cb209bbe08eea614c2d6d8cf2c01b4424acc15c12f73bcba4fda19cec51212c1b5ebd1fcf87d4 + +Count = 9 +Key = 330930517c79bce59b27ba898a3696e8 +IV = 56 +CT = 118a0b963a1851cd24c895bc23109461433688d3ccd3e2c8f8058bbc2e4e1c037b3a941c67c19a6de0b615298cb853273cad36 +AAD = +Tag = e7cebbce5a8b8a77de0a874574 +PT = 9096b84051dcaf453750e44e29d5eeb675ade87c82a762335eb029c21376ca549fd8bf39f36e840d38a28b6439505415971330 + +Count = 10 +Key = e6d5f09e34638cf54d07f666aa7a7c30 +IV = 0d +CT = fcf3724584c3fc20a5480dd7baf06c950c8f642af1b95ce23cbe1ad8e389921aa8ebe6e1d311521255b5002fd6ed2336234c71 +AAD = +Tag = 92bc317f87d0b239c11bea64ce +FAIL + +Count = 11 +Key = 6264e8b94a0b0913d581a7098e59aaa9 +IV = 64 +CT = 8dfd57924057c702d18c137ecc7bc0d6f293e12da88ec0f30efc47cb0a42f7c5b0c4c72a07eb3bab1d75ac8434570a51d6429e +AAD = +Tag = 064c6b2fb468e5d79a0f58f00b +FAIL + +Count = 12 +Key = c4d4d19d3c44c313ac0152fd92a6c173 +IV = 27 +CT = 5dbba62611992dcada054159e239e79c719792e798cfd5782218596ede7c6af0a4b32ddddc3402aac2b9de18f82214e18995c4 +AAD = +Tag = 4ab315e4cdb8676af22a3a70cb +PT = 45c1f2b0581bf20da08339e125e5f7245e7458422c6d2bb6efd793e88095d1e5265f87f9decdf818af1b5c4707e8e60a7c7f91 + +Count = 13 +Key = abb66440fb3130b61f90fca3badb8875 +IV = 59 +CT = d679810a69eb855f5f0681cc0e8f04520e23a88f711e163cfd8a8ea00ef4cd3d0d6e35887a6b9151cbe8cc2b58b209d1a0646f +AAD = +Tag = 6495b523a25bb4188e4f23f9ed +PT = 757823310a53b7884afb774fcc166a82d74db3a221c66d9ad030d3382c1f8a63ee46da6a1097d2b3a1d728555d976cc3a4145a + +Count = 14 +Key = f2297be0afc79e40e7001430bbb2d61c +IV = 5f +CT = ae3da5afd939d2813e113345a8a928e242a3a501a1502b4faa74d357a3784f2126620d229696b7920dce46da6407e5524c264b +AAD = +Tag = cb733b3959d7ee881ae9571d4e +PT = 1f23934d649e244036d9627cbaa05d3957a0353ffe75eae68a889b741e99b859f7bae6017a78dcb8cc37ced5ac1de16d8215a5 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 3f685f635f61797526a8ecdc80d0ce16 +IV = 66 +CT = b36ff8ecb747a6bd88eb34272beb1296c58342342d3b77924caed97e72e70a30fbc615eea5cd9a9c7514da353b72676f255748 +AAD = +Tag = f68073c9f65f3289fc2f1205 +FAIL + +Count = 1 +Key = 7ea767eac5d03bc907b5e163d9ba4d0c +IV = 1a +CT = 910c0b8f36e11da1dd09aad0e42c22a9b445348a7f5596a2ad7cfd891968a88c37e765d75da4fada139f910952bf23d9f55573 +AAD = +Tag = ff99fd91410a9dc0b2cc48ca +PT = 533d989e377ecfd1118d0cdd5ce3737662a83dfe7ca93b3e13d43b299b74a396168a46156531787830244ffcc04562ae91c1c4 + +Count = 2 +Key = 781d4b1c8a5578af91f0152c819c7a80 +IV = 2e +CT = 26132b1f4fa38ccecca2fd2347ee2260527adf43d302985540b48bb37cf5c8458ddfc15d99761c56f0f18639547da444d41f37 +AAD = +Tag = 1cd92ea648d109093dae2291 +FAIL + +Count = 3 +Key = c7675621fd2e0c7d13f9ab6b842bc249 +IV = 8f +CT = 361382ed33dd58b4fef03cd8cddefda4b16b48c54098a66f1d43c46e6886030ab9f841a95fa792b4f10826c524b613506b60d7 +AAD = +Tag = 65fd96309020fa750ddcb274 +PT = 87909c3fac23c85e2bb937a6ef51cebbddd3970bfd1388eb5f28771e17faa6871a2f0e4044317cb37b12e17f483b77cb1e003a + +Count = 4 +Key = df6f3a3959576233a91b98ef266b4828 +IV = 90 +CT = 6eb3fac96825539fc4f4ad13302af3500d683ee29ba30b00005c5965fdcb5512e422a2fe53b8214f46d17daa35ac9a153b4c44 +AAD = +Tag = a613709409e5f9a316fea376 +FAIL + +Count = 5 +Key = 21a7af9b0b155cb6fe031f5eada8cca5 +IV = a5 +CT = 8d60c385a3a43779cad3e19a81baffab01fb690453af7d9c851efcf03b7b40d88bb023fafbaf0d95574a5ef36589f59f27c3cb +AAD = +Tag = b5237dd3e3658ea49ee3ee6d +FAIL + +Count = 6 +Key = c61bf8eb18382c197f81d09d68b07045 +IV = 0b +CT = e1eba914bd8798590c521d2205c19d30baab0e5625f2e1d45230a3c615c19de53b283e452976947a11f093e0c6cb91703fc693 +AAD = +Tag = e15552a35746c12867806819 +PT = 62d8a1d9f158b2e9cca2ccf2c15cb507ff24947ea33a696a1470f6a282e3dd4041b515491cceb65b8bd62277dc2e6e86fc0192 + +Count = 7 +Key = 6fb256ad4137705d40cbe82660df5410 +IV = 33 +CT = 69e352831966ebfdf317e2f8be6773fb52c865b99b9114d4a2bdecacf5fcf32291e2c9f64863ce20b1caf7519aae6672998762 +AAD = +Tag = c8b5f2c13d4fe412b28f0dca +FAIL + +Count = 8 +Key = 2dcbf377e82e40612bb93841fce501db +IV = 69 +CT = 93d4453d5923912cc5c69d5283969be44e51da96be09fb2e422fd95b07ec0580afb1688634fde95933663bf219734ccdd5d8a6 +AAD = +Tag = 1a367c49eebee339a9cd2aba +FAIL + +Count = 9 +Key = 394be24f00464f82a1ef9b0c7a4ec374 +IV = 41 +CT = 760a666b7087833f9e076e45351bbb6ff52d30e5ddb466ed5cb2ea3719d11b3da09c6c5f8a1124e788d9ccb8d1faee84a1200a +AAD = +Tag = 55a7800a5b96cb548c55ed38 +PT = f9e6e05ef84654cee948153ac9b9239b3d7e2456d9f5b1a59ad83a910308161b56b8d10dfd518e648055b4624ff19b6f65f0e1 + +Count = 10 +Key = 3a332046ca8f0369e473db804f5b2feb +IV = ac +CT = 468204698280000cf3ae819702a2636f7a553b8395e27c6ab97cd72a881b2f7c8762d0cca917bec734ddb6d251382c45b54b07 +AAD = +Tag = e947d2f85871c2a40b8787c8 +FAIL + +Count = 11 +Key = 6b6fc1b1a89a1a3681e36ace6e73036a +IV = d4 +CT = 47cda5a7c88d727a7c6386b100abf25b7923ae91f2bf5b12c284f97c7e30c5ced863494d6b3699f2301ba249f5c9100d4ce967 +AAD = +Tag = abdaef0df8c4e274fb455347 +FAIL + +Count = 12 +Key = e5c4ea6697ce9ec9c639a7e7ff427a18 +IV = 24 +CT = 3fff5296b28e61991c542ac894bd8e5595e489ea5ce9033f5503e046303fe107602ca4c389246564f71f8b980b90d345a586bc +AAD = +Tag = dcb2ca22ce27ac62522b8340 +FAIL + +Count = 13 +Key = 39bb812cd2970c7fa90bdfb512e1c20c +IV = ac +CT = 317d60e792f2e5600cccc8f50bcecfae0fd914bf3970350f5ff7a93922e7997106b1d9e81d0b7182ae76b5d71f6a7364c59f85 +AAD = +Tag = 04ba29142a7e71144124ec18 +FAIL + +Count = 14 +Key = 51ea98608368f646e034109aca00d9ea +IV = 7b +CT = 995f7e36119cb331bba8c133d9d6b5b9360428284479f99529c3bb0e6073da5856801ba62d6bcf8ea29e53689ba3e8f8dc2bfa +AAD = +Tag = 7c71b5bf7c5ae7d752ec5c6e +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = b9dc9d013c886d80db22f50ef87c360c +IV = 85 +CT = 7c346d2f633c2721e03045f6b8a2161d1b6798e2ffb70a285d9b17b72735788b0218dea306b350834c1c2b9b5f257efdaf4322 +AAD = +Tag = ec0ae7c52cb1c2dc +PT = 7da50caa82ca9cb02838b5fbecc5e0dfbbb213fa66f56f2861b91f9780bb868cbadc29cf9cea834f6c48102d617e8e4100ce02 + +Count = 1 +Key = 8e8b18351143311bcc8c8d6bd61de662 +IV = 97 +CT = 02ecdbfad864d2f0094acb1c787baffcca6ca7c2246d22e9d7302b292dc31a151ebe73861902e1640c90fa360db25e70d08f16 +AAD = +Tag = c90b924e28f866a2 +PT = 5928bf02e8fa3db8583183ad79a47e4cc8380bc5a572a7a168a8d1a5c87c66a853987a0672b3651856c0d7cd32c9f00ce10230 + +Count = 2 +Key = 024e7bbbda2d41f7fc799d649c50948c +IV = 06 +CT = d816e4e3b067fbdacf6527c28452afeea67f0eefc0e892b4b0de86f9b4f3da08e3801619a60aef54fec51fe63ade8fcb2b745a +AAD = +Tag = 8ab651a3408b8472 +PT = 0744a854e5af5724c0efe3558a675345d7871e7ba8c93f6f43ddb14e229fc4ce7bfaaf7fc326f0f13986c29bfa90072a1c484a + +Count = 3 +Key = b94af2124cfbe381fc90cc0e49ce8a6d +IV = 61 +CT = a9e696efdd1ceab0b94f71511c949795f6bf672ad07a1a85d541d4ea2a5a9c9ff708fd8da224e6d0c8844e256b4038c56dba14 +AAD = +Tag = f6ce890cc395f5e4 +PT = 01b6b2d70eb3fb62ace1f8d930a826dad6b00a6fdfd13779956b1cb8397e357a2e7085c176fb7ae3b93b6bd46d2f1d7e29f67b + +Count = 4 +Key = 679ee629de528a6218503a063101348c +IV = 8a +CT = f222f5bb36c026d5dec9a09bc6996fac12cb076973c2075f0f0bb1307253507fc696d45cb0574597eeab5df3c88ef7e1793cc1 +AAD = +Tag = 80b54a878a4804ad +PT = d9f06497460e3258ec8116777f18af7e58dd07455ad0231a37581b5831dbd9c3f8cce0623130b369f2e73420c6d1401401687c + +Count = 5 +Key = 01e635a8d7d325046a63eeb291563ba3 +IV = d9 +CT = 6c9e9b2ee70374cad80c1ebbb8e1ac632fe7dc21beefe32771c181c3a2e9b478d3480e4caf368c9b259cc84d7aeb8c94548e55 +AAD = +Tag = 9305e7e2539f3624 +PT = 61df60e3ba9ee03bc6b38b0770acc10199eaea6a3e70e09f95bce9a99586b52e4e6959a8bbbd7e50fdeab0fe3f8254270b811e + +Count = 6 +Key = 60ec44596947ec576917434c36007046 +IV = 62 +CT = d7f00a5398e7eb2cff360a116c529b7e0662aa58e07f19cab420f941782ff2d0e4aef43cd01cbbe947f9de67037bab07cdc43a +AAD = +Tag = b060dc1b150664fe +FAIL + +Count = 7 +Key = b1f8d708972e5c65f55c98bddab9adf5 +IV = 2d +CT = 8604d140366b94d3ab98e08a705e410da4124d9c24a884b2656ac6311017dbf9ceb83043dfbc45083ef8c3e1fa1f4b13fac19c +AAD = +Tag = c9a1544fe919ac81 +PT = e0f1157135e6ba1d7d55486686e1ac7b8278d3a6c64845bd13903fa3db9039e9d6d68ec1b9b372601fe2b156e2b46ac9880e82 + +Count = 8 +Key = 46f63afbd767eaf330b1ed36ce9ea4de +IV = 35 +CT = 9b2f9bae1b86d3d0b354e01c8ad2274dd0c36a832b6c75fa186f8c675482576cecf9fb1b89e68b01dd19a32ebee4b42a6ab2c4 +AAD = +Tag = 44ff322dfd86bc2c +FAIL + +Count = 9 +Key = 8f721ca0a07e03efdbc3bcd0455e5971 +IV = c1 +CT = 77c453d9d4bb570ed26c556fbd8c62d698a09e36678d9e91d3e42fcdb733bed09db6ae38b6f988f8f848bbd24d4197f11a41c1 +AAD = +Tag = 8f641a4766d232be +FAIL + +Count = 10 +Key = dada160cd6ecdde7846f6b760fbe7c7a +IV = 66 +CT = 3015a83a122ea2eadb9bb3f85c5b65c52437453cfc99711c6641032aabf37fd79ac3e0406fc8ce41459ed9b7232b6d9ca8fdef +AAD = +Tag = 8a8867fb5820924e +PT = 47be70b62513c7a011174f8b68e20ab052bf0e75acb66b51086557143ec406b6fb93a707670cf7da7de43bf7e0129d2a6e6cab + +Count = 11 +Key = f533ffca3e78cd135787da5db537a0cf +IV = a5 +CT = 8f3e115e3caaa963783f8229ebd7da1c641c9b3cc8028bb83ad6cab11fb1d3227e7504460cb30b03975294eae40f00ed5eb5e4 +AAD = +Tag = e926bece434009d0 +PT = b10b9c4f70124d64bda62287cda479b879a697ecbef8c836ad93af3f394e7e8bee85792858ae080fa86bccf12733ec388334d7 + +Count = 12 +Key = 5ea50619774eaec36c3e5f00aeb67dbb +IV = c4 +CT = 4d78cdbf7342027adc91f7f568e6d58644cb1b2d64491d0ac240434c4930b21ea4661f79e1701f931f67f8355e7eab0badbcc7 +AAD = +Tag = a9747e0f0eb70d41 +PT = 55a6e33322d078899a268c70850ea4ca054b62c2a9e342f6d06ff1b32881802a1476a93c915a19c28ef58bd941f871f3930467 + +Count = 13 +Key = 71764cdfc087b9da20a52acf32affb87 +IV = dc +CT = 25a6ac990521ca5b2bab4ea27f9ded327528cbb1a1ccd37e105f3e17b2a0d03d7957e29ed6219f6d2c0c1d47c3fde6d845687a +AAD = +Tag = e639c7c7fe39d145 +FAIL + +Count = 14 +Key = bc8a17aa205c14a2e56c3c785e98073d +IV = be +CT = f976261c5bece7cbbf5ede67a30db604366ef3c6948ffb8b06c6abc8c32eef3d3ee9389f59fa72d1eab453f5be1717a6358d19 +AAD = +Tag = c55dc17bef730b48 +PT = c115d29932eb427cb986708cfabc2a5001c015cfa8495f73ae5ce2a205f4364da08e12cc290246a14eeeb4c6cd9dad6d2bf89c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 214019502481a3a1b2ca673b23f47c2e +IV = dc +CT = 8033206fb79bb65dc8567515567cc60f4f750856fe0f9d12c2d07e405cd8adff3adbe40a12045a29a8896994011b588cf2243e +AAD = +Tag = c042ecac +FAIL + +Count = 1 +Key = 679c4a387136fb018a33ef101a182471 +IV = 2e +CT = 08cf6d05b48702747aea4d973c45ab5afd5b6fb4600f21673264073165eeee1ffc0f1e4b538fc3b0255076008cf440f6a15202 +AAD = +Tag = d534c705 +FAIL + +Count = 2 +Key = 78f21a48273009ec38954466c2d04c04 +IV = b4 +CT = 1ed4ea8599a4a64c2119d5682efbb8d046dbd286b90711b9e6661d2d9f1c7eec4e148b703e5cff462f43408e6aa9597934ee3f +AAD = +Tag = ed970f5e +FAIL + +Count = 3 +Key = 0d43ef5b4392c3a70c5b88274d0d315e +IV = 0b +CT = 5f491160419cae010ffd62a82e7eafd4a38a309f2adc34545eee3a2a7f05bd63e9f0f4da6fced71655e147f558813e22756ba3 +AAD = +Tag = a99ae3a7 +PT = 701295d2a998618667142000c92431c5ef994afa5fd40f7e76e7fea57e153365ffa71aac81f730f8252d409c4e0c921a41818f + +Count = 4 +Key = 9a9f7687696fc853a5d8081e35da7514 +IV = bb +CT = 03bbdf54f328999ace8a54b870ee75ffc373898f8c84797de61beb3c383b357b47d2a07836ee86e250e347cda61b7016732538 +AAD = +Tag = a97e8c0b +PT = feda6350e5527e2108dcbf5a09608eb8c50e3c111a80fcbfb8a794ef66fc20411a927de2cc205d2e2b9c59756e8cebee8cd6c9 + +Count = 5 +Key = ca6f290caf25b50a502ebec9f2dbc8ac +IV = 9f +CT = 9cd6a5a0e742f53e419bc8d27549e8f741a36c42fd1abef262dfd78fc4073e47b3e99edd30b5d364a94212cfda56d1c788470f +AAD = +Tag = bd825672 +PT = 6a52eff5f2404ef1f2ef18527ad3acf222f726994b852a4c7a3477d16a8da57dee632bafff1625d27ebde37118edd956238e5f + +Count = 6 +Key = 96c0b59ee410aee40d21e2079ed7428a +IV = 68 +CT = f7c0b9b8b756f348e5fcc110bb7652360254502fabdb8b9c626b43372d301087823079371e87b5538f5cca972c2c7545ca49a0 +AAD = +Tag = d0aa2076 +PT = b7675374d1e83b26b66e6c7b1b776f92b2719958100b962c28b6dd3a8649f40f02006c28ca9281968e15e9e24c7b7989ba364d + +Count = 7 +Key = 7da5902d65a216628af20f9db8beb309 +IV = 84 +CT = 1e1b504f49e50f26ed92579286a9b357f42a80162e78f790c81977827961f19d8e52908f1c9df43b69d5f2758fa4c4e4060b7e +AAD = +Tag = 5f5ac1c0 +PT = c349cfd1cfb4d3c7897e193a54adc6091ef225424de39ee496d8285998f188ba26f0fac9c18d16c889a0c2eb445d5734b35ed3 + +Count = 8 +Key = 67c4007c93ab9a198ebd5881e42441b4 +IV = f5 +CT = 52ac0de5929f56c4e7e654aae9959b239bc9c95ee158f99943b01fed1950bd75df80caea895631f8a0e55dfa3200368c17c5f8 +AAD = +Tag = d9cbeae1 +PT = cb2b4a903a9fcd64b2ef1c2208ada035cd5f9202a8a30836c11243bb97ef99df7912ef2666aebb42373e6483d735821d88e4cb + +Count = 9 +Key = 2e937717e2470ad40ca80da2f960a534 +IV = 66 +CT = 7f052e1ab998609ff41c967e70fdfa7505445b091f1cf0e52d2cad9c148d6f493d687192daf77566b1b0891a4a7e17d7892a97 +AAD = +Tag = cce89abf +FAIL + +Count = 10 +Key = 42cc9e9036e9dce7e1ae1b140b2a7331 +IV = ed +CT = 543c540d4138051277b752f85a91df7659e3fa082d4e26840a0abded283b3e072c3161c76389be597340a2b28dc053e6d50b5c +AAD = +Tag = 29c6492a +FAIL + +Count = 11 +Key = 48e14389a8405b793370b0ab5f8c88fb +IV = b6 +CT = 9cb91638da8c0baf1ade93c190104789a0add00863e4894b40e235809144ba82fc15a9bb92334d26c94045fcec74da4c45e9ef +AAD = +Tag = 075cf374 +PT = 5a207ee25dc1d77cfbfeb92deee66c4dca331bca76ea29c7e1c1a2362824b850680e05fbbc22912345570d083ab9775d666298 + +Count = 12 +Key = f31bdb5f211544bee3ab19c5bd8becc6 +IV = 70 +CT = 8b55a9d5fcc86a3f72ff133bf24fe6aa684d070a66c480d96ec5f70a551c686c39d77527a084095bdf6d88426913124838963c +AAD = +Tag = 17d649a2 +PT = 22e3162ef765a9eb51357d84ceb070f672f7ec5995620ed2fcada97ff8ab04e5495ad4a07502b58775b6f8a4508dbe8b32ecb9 + +Count = 13 +Key = ef810223cb43f710658bad7ace038af6 +IV = d8 +CT = e98561069530931097440935e83d3daec95774b2184681995727b7613673d663b4cf51d8937f7a38e7eec7d8e88715d6d58718 +AAD = +Tag = b3b666ea +PT = 461e1e532bdc748089124d4287d31aa012585cdeb970069736ce0dee57be566b82db83784fcf5b0127e56defdbfc41a456ef47 + +Count = 14 +Key = 7dc009900cf21632ea3624dcd9314dbf +IV = 5e +CT = 5480d058ec99d3f0dfd9b6c8d558fa954580a69460bdc9edadb10753af51c4ddbc24eb7115be24dcd1114e483dff295a3e8961 +AAD = +Tag = f241e4bb +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = ac3c53b61ee8161af467b76909f0bf0f +IV = ff +CT = 84cf6273becf56650cfcaf18bbe6755a3c8c6e8f1f267339c47ad4e39d826d590f8020846c7e8647611f923ee7f1af843301ed +AAD = 539fbab996e5bcc3094cb5bcca02ab61 +Tag = 39b12eb10ef2c61316a8991093045283 +PT = 51bb13df66a464ca78bb6e9f2d69f030474a8d5b0a601c2786852edb7922bbbd60760d2f2e5604df2058a8f34fac9398d2c438 + +Count = 1 +Key = 0508aee358a73a385f134340de024813 +IV = d2 +CT = 2b044f9dfa709dc150f3b344f895dacb38424d9d19522b6dc4b42c0a69b403b4e1aaf8270eb65e9064a96bd5f205630b47d680 +AAD = 3007eed7db444b29b9eaddb556b5bea1 +Tag = adb6552fa4412d697f557da178229219 +FAIL + +Count = 2 +Key = a715de0c51c85821071e4cc217057981 +IV = 61 +CT = b44cbf5c71fdf35ff419b12db6929548b2fbb90a18b1495cd14093dbbfe38c4b5664afd4d315a28d27e98172348e9bc0c1f826 +AAD = f74bd4482873f3da6c0439b6d7cb9117 +Tag = 0624b489e0af51db7bd56690aa63ceb3 +FAIL + +Count = 3 +Key = cc55ececa38106e9eee79246cfef1bab +IV = f5 +CT = 4d7ef0c508afe36b221ff74d3012da538b45658dcff8a3275527017e80b3235271cbe77bd2352729259da6c694add37d846bb3 +AAD = f68032d06b0d2c6e091318cb2b562f4f +Tag = 3623c6d8493772c1f92f8445d07f05f5 +PT = 3f5a7330e9d1f4936d2323b15ecfb231ff281dcbef53df1e74171c8d62a5572ab4efea867f2620a68e71ed15d4416455144ca7 + +Count = 4 +Key = 1b4a00664c71001911f51f75c331f3f7 +IV = 49 +CT = 772eaa7324efee41627f404315815ac0d74010e98fb269d3c4e11c8cea9f4e94da491b7d57e6cc39f1b4d28cb99a8d32c36094 +AAD = 3b6969fc1f8b7b2e19a85b84af0e339f +Tag = 5851620cebf73b64772228a9f567230d +FAIL + +Count = 5 +Key = 2547625b06673e2b93f831da49096c45 +IV = 90 +CT = 02f1f41aadf83cb488ed1a00a5a3908d49ab7d5ed699bc7c9db9c8ee828599ee1c768b11dc5c2dc5af6d3c4def5606407b223d +AAD = 4ccb52527ed3c9c3890e983dbe08c0d8 +Tag = 6d412542d26dd9a993ca4c8c9fe6d96a +PT = bcb562e5697ba7939bd001955dc3c1370bbd3aefdea75f56b3ae449a6e48dd33866e1f2c13954914e0d28442577eeac84cb01e + +Count = 6 +Key = 7e49c85959f9b6dd9a0934727d3f30ba +IV = fe +CT = 54f12924143b2960114033932b3d37c8d1edcf5b2807ede30b0edf83cdb94ec10bb270894615d2d81d22b8f64ec5711436ca47 +AAD = e8e0490c3882fd950815237cc366d46e +Tag = 9d68ae18ed7302a794096c736b8a739d +PT = 72fba89a9fd7853d7aa765fc5dc30b788e0c478dc4a0bef91933c80dba56d599cfb53ae2159c277b55710add05771d29f9a35d + +Count = 7 +Key = 6dc28865617f672d18918b06dcbf8399 +IV = fa +CT = 6002a3290bf87bdc9f0a42e8ed57a7b30a4a0a012a7c10187641a3b50e008b4aa93935341347806903f262a79ebadc097f2855 +AAD = f0ff2368c02830c2dd9d71d678d3cab5 +Tag = 4b85f55ca1c0f4df96c4bf51cf164775 +PT = 96d97e35e93bc3997d3ce35a60cd8979bea251c810fba78ac30db5876ffb44b69560a9fefc62033f0c1ac3d3c5bfdc1137cedc + +Count = 8 +Key = 97d2f778ffa951efb0f0fb102d968616 +IV = fe +CT = e78d1b9942fa78fb989a73fe7e07870b1e78275ba03c8d19c4b91e963a9bc2b9192101310cbd8dcdb71015515ae06115cdeca8 +AAD = 9374b972d212c6da0a239952efbe52de +Tag = 40e5ca70fb20322df33e6dd199e21334 +FAIL + +Count = 9 +Key = 3867a963803cb6a6131e2e0222088e5e +IV = 2d +CT = ec851cda844f4b3a02638e2f48dadff5c46318453628f4af6577f62d02100ef9601b5e33b29f9e76c19753193d0570894af006 +AAD = 92cfdaad8bca5f156d90ffb79a183cdf +Tag = d7febd7f55029aeb98be8064242c4114 +PT = 1f4b122fbbdebdb2808066c959fe339385541a3f2f2fdd88508f3054363766c719cd33d41e775958a67b40f2a6b6ed9898e66e + +Count = 10 +Key = ac874cbd9868aaf93949a399f48bafd2 +IV = ab +CT = b13bfc4e2ef2c17a29eacd3e0585d8bb474dac76ad17d2fd09433ae423506f0665aa87dfd02ba8404c0248f33e4ef2f4b5fe9f +AAD = 4cef467ac13d8c367a2b0d024848f4d2 +Tag = 71cc985d83eab1e766721df8cef96ae6 +FAIL + +Count = 11 +Key = 2a050ffc25839d8970119a94bf9591b4 +IV = b7 +CT = e8d4d6580cfcf7b71492c01cbcfb979493d996c7ead42b9b6a505fb0e5f931fbac6cd29d8867438cc3dbcb8111226b0716ccf6 +AAD = 54a90891640b75561d62f5146cdd5798 +Tag = 94b6d558f7c624779b4321014f1c0f7d +FAIL + +Count = 12 +Key = 78c1fbbc8c9485e670951d02fbcce4d9 +IV = 6f +CT = 580c09fdb4abcc6893bf47a9ec6e4c50591fb58073758c8208a1a8b8e7fbc41f4c85a8622f21bdaa10c2fadca441e1c2255171 +AAD = ada4755080abcf2822b0f3ae0bb92578 +Tag = 8e238a1fb3f6f7b16315039efffeeaa8 +FAIL + +Count = 13 +Key = 27899dc27d328b796115a3a81152c5db +IV = c4 +CT = e8303e320554aabc48b3f2313a990ccac4d7eacf7b33f9ca2a2ee388a1da594d6cb31e67bf84d8b09994ad6735bfe91887bbb1 +AAD = 552d15cd2e66d3ac0928b43e245f239d +Tag = c76e801b36f5b100b429f8aaf7713a48 +PT = afa650994bc7dabac9e66c4c5c8fdadca76f04ba41270663ebb6b57b61f6bbfdfa1833ce9aeeb7feee09034339c5a7a50b2d56 + +Count = 14 +Key = 785a4a89a8b5ef4f4ec6f466e05d8601 +IV = 13 +CT = 3b2e9a93c740ea4d0c7f87a58a0fbffc22b00a2be451cf7883f315737440024d1511007de1f100e0f7a8237ed12156cafbe4a9 +AAD = 1da020d689dec49044c44a5d69924240 +Tag = 05c44f6bf30a0a0b84464ed59a647103 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 5227eefad4194fb9db3c9aa982e91cba +IV = 61 +CT = 62d01653404aa271c8457ea1f0562b184b1f3d832c6e5ec144a6ba61bfb6129c87b2ddaf4ffce1647fc41be351d90a8bf057bc +AAD = e670142fb0cdebd56c27fd012bbee04a +Tag = b841c866553559458254294a2c974d +FAIL + +Count = 1 +Key = 203015f2b9b7e69e35e5644a982a4fd3 +IV = 5f +CT = a0449551cb72175902e1da998955e6297ba073c073fda6fc73f545cdc543f7d0ad3ee78cccaded31769454e2315b8c2abb1766 +AAD = abd148db65ebf0914c9a9346de7b99b9 +Tag = 294d394cf8d058596c1ec6436d74f6 +FAIL + +Count = 2 +Key = 4634a89327716c717cf02c686503b97b +IV = b1 +CT = f3e1194f76bd88f0ee6835bd69a5087a4c02ecb0409a787659644e48b1bbbb294560e89983ef99acd95ca019abe134d481e5f9 +AAD = 4964c32af33ec8faf8007469d73b6f37 +Tag = d8b530e331bee57b30888bc9259401 +PT = d36df02a4ff3eaccdf9f66edb328b307e18feaae7226a439aad0ce264eb172e015faa135b76f7d9939aab2c1e7dba9172a489b + +Count = 3 +Key = bd372397d0eab82cf1d0d3a3e74aa011 +IV = 9e +CT = 3bc1464623565d267336f3cdf2ded4e5420eff5aa47a7183c4881746967b310a5299d4603db9025918dd1d3cabdb8883a4a1d6 +AAD = 5aad409ae100dbcf12d2a0094f13a662 +Tag = 04eb2ae316d8e4e22ec5dbf3829576 +PT = 6f5d89e6b4e788cbd0784e45e9e791527c908b666cc5c0315a9942e648c5041dffe693b0071100878dcb7a849f824ecb46f9eb + +Count = 4 +Key = 93d510fa1db06444017065504436bc0b +IV = 61 +CT = 6c37edb3c0f66a375fdf029473b7709c6ad2006da034179c1ff0eb843ff10277b16540477b3686bce0b657e579a50a4719a905 +AAD = 7f72d2bd79c0eed665cbc75ca40a36e0 +Tag = 0aaaa6e8ed41fea080f0f73b3c35f0 +PT = 9c65b4077a7515bfa66d8f9823f138073e42c13184f4044309f4e2ce10ed01513c778e7b04b6a10441a7134120bbc17ef5c222 + +Count = 5 +Key = 6ab539b8c1a22643034ad84230f38a4d +IV = bd +CT = 9ae0f6ae273221e191d9d65e7100977f15169fda6635fa8a73e7a58d799af691da42367f8314d656600c7c067d0a97b9e12458 +AAD = 687265d9a7c61868667e633c298d04b0 +Tag = 52e7f10fe19e5f8ed0c6dcd2dd8770 +PT = 574eb83c2ed54158864b71d0de04797d177e4f86926832f8966f6455bb1776b3d707db1466ace5761706442894d87bb5347f26 + +Count = 6 +Key = 6858bf217d2d11079588cb76bd2bb96d +IV = 94 +CT = 1647be8543dcabb387048d8d98a49bd00040c5d97df1eca092251743dab7c8a5cf928e3c9cd00615f6d0c219c4540cb2a89339 +AAD = 21707965229427294ceeafbe4ac8badd +Tag = f2cfe6b4472de3bd597d590153baa4 +FAIL + +Count = 7 +Key = 43a2e2a46a3150a821455e79f8c65768 +IV = f9 +CT = 3c5ff0ac61903e2b0c042629958e1eb7de3e0ed1c513a79f93ba9270819634f5451166cfb8e8eeefeb9e6839f0fb1b11d83287 +AAD = 44ba997e9c0f0e955a48156c1d2c8042 +Tag = 7f9ec7536b1eade49b86e7d6b48d0a +FAIL + +Count = 8 +Key = ae93a037e11f2a57a3b53c9507070eab +IV = 5b +CT = 88584b00e677a6860ba6ea981f452af5bb2c797a47bc5e555d79c884f8a77de4c3d70d3081747aa2d633d7c7fcc0c9dff7488f +AAD = 4f52a71d9539baadd75c7fd292636f65 +Tag = 45df309482f2bec97c1a5ecaf69bd2 +PT = 2f81928cc1b8f3b64a0f83f2907bcadb0d5b00feb2bc0f61b4eaf0265d351acb4fc3f5f6ab97d6fd7d7d9d105f6949f92fa0cb + +Count = 9 +Key = d1d18e1cf063c6e864378c20594d38c8 +IV = 3a +CT = b01158735d671dbfa4ae29f5b97b2ed15548e7bf9633f1898cbc31d953f099d836157377cc2b98006bef0a1505b6710ede1a3f +AAD = b355267c36fa51b73524cddaf7490bac +Tag = 228586b59bfddd9cae0279210328ae +PT = 3a04522bd96b9481e0940e008b0cdf0c5290cff4ce957e588aa320c5bcb60415215dcb2af62244cacf31a60ee1e40bb59e4375 + +Count = 10 +Key = 6259f11fbc9cf34a2b89c88b632762f2 +IV = 97 +CT = 4099f9c2d0bd6cf4898af9db93c03f96a28a659ea5cad54046dbd9fc2bd86459c9f5981b17272c982e99749417f25685c9f8d7 +AAD = a0a2817aa777b6ede2d08323a251cec5 +Tag = 0a47ea710d0acaedb3c5bbfd765f12 +PT = cc6235001d9f3d9c54b01d7ecb0455e46a98867dfd8d8bbb5a9a65b5a0c9599d7bd1c067ba4eb5212ac101ed81aa9ee15f78f7 + +Count = 11 +Key = 963179ec21cc58f16bbfb34625b9ed7e +IV = a6 +CT = 49ea2a3218c3aac852160b9dedff5a35e826a4a342efad6feb0dbd6df655b0341108d9bfd6a70c9000e2dee54640a19b6cbc7d +AAD = 1be38984dd7ff050ba0b4b19cff4be9f +Tag = ad88f8d4cae6fcc9423720934acb3b +FAIL + +Count = 12 +Key = b46fe986f921d7f5b6f69361341d6b6c +IV = 76 +CT = 9c8f6481095f078a9478e176210b156cf848f25922e486f78c4570f78c7a46577db0a5a804c522948d0dff4c2433c5fea7c2df +AAD = 3a57682b280b7f99bd6a39771437f12b +Tag = ef4496fc8d4899ad5dc6aeb9eea570 +PT = ec04d0a50333472eafdee4827bc006fea2a4b82884de63fc79b2734ae4aa31eeba8cccff998f3ecfda6f07b17de54fdc8e2c1d + +Count = 13 +Key = 003ffa84385467b717c77a7e12990821 +IV = 5b +CT = 41d38f4d3c7aa11319ba3dabbb4976a7cfe60a5ab2933d687001dcccf27bfbbe0b46d2eef8b8389f4c6345530b78e667871c86 +AAD = b86687eb66abf2ab7f50daad8fb33117 +Tag = bea2c85bcc58a338106775c6ca3e9f +PT = d151330b447c84afb90a4a1e6e834f5cccb2a476eb7e2acd0ae46b8d86fa4e70716f18e5a9917040a7843795620492dc424d37 + +Count = 14 +Key = 9ee084a807db804a3870706be3246307 +IV = 07 +CT = fd7be21472a0be034341fdc09407f7d4021de0ddfca4f45d0e9c73414584b7a11fdaa8c3f8059a235d1db223335e6e991d7c85 +AAD = af29b3ff60e3d2f155173366c9efaccc +Tag = 298c699aa6240010263e554e03d807 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 80b9643b238e7532ac0ee5fb8a27ecd3 +IV = 48 +CT = d9033ec31baa373f8243c8c760f948684ca703da27206cc40fbf969f89aa78d2870f4fbb71cc5a69ab3d11919e609ae9758411 +AAD = be822acd4563c5237f141b223f70daa1 +Tag = f43f041cdef262c70c2ea0fff63b +PT = e7c8537d9ce9a587099102b225d7da2f861e837f8137cdf82a715f403f083d8a116d9b620c819e606c6a5f5d0957dbcff48f48 + +Count = 1 +Key = df72cc6e7d07819ffd5ca053f98d6eb3 +IV = 9e +CT = 4bb5402717a6cd19c270c8d3ce915723f4392356fe73acde7030ffdd5e74007fd515d76607b1e328c88800f4649caa2c9abecc +AAD = 937fa9e6bcef809b96fc63c103b302b0 +Tag = a1f3d12e15df3b93a419f807d969 +FAIL + +Count = 2 +Key = 3707b453743b91f6a7ede69f81949774 +IV = 42 +CT = 1a7bb7b929a94a354f550d3e45a8a634d0b94bda8cb4e32757edcb3112e4acc27b0ef43e756589695c3733da31a42fa6d0bcdc +AAD = a5ef4bb23505ada009919a2ca750ca96 +Tag = 7b065a58e82ef3410c2e967a4468 +FAIL + +Count = 3 +Key = 33f19a713bda5d80559569d11efef6ef +IV = 80 +CT = 08f0c243a118bd2debb3e77142710ff63fca4a21d120d37f16bc68a2cb3d67a2d780833d5f81d17fcbad2c44b59e3adf4a8212 +AAD = c8b9d045d7980a2e2e8ed898228b9d32 +Tag = 36e868fc08dc232f32c6f8ce6846 +PT = 6e1547bb907c30039b2517ae0e0d17c5e25f236d6d816de1601b1ebe41866c1191c5eb48ce2c7839fa6d25b58b86c72e0985b1 + +Count = 4 +Key = fa32670d37022c4523106a2200d746f6 +IV = 43 +CT = bfb4cc662dc2d4d51296729e471d9e4d300088edbb256b1305e2dd4da3cbb4e05c58c27fb00f7559807641b0b5f081ac5c5cfa +AAD = 92244e0ee15fa0b731a0a29650f60f20 +Tag = 14a12692e5d8e0616dd56e9ac2bf +PT = d09ff04323a4c3c40b89cba75c440264464954926d84d61ef6d3020aadc74d7ebbd6ce8f5b700c23b1ae6f99dfefe5296772e7 + +Count = 5 +Key = 2846359f68cd174107da9007176139ff +IV = 22 +CT = 70c448ac9a0d0dee1c2ce92f9111738297a7727bc8f94122459ac1f4fd678c12de1b15c23d5f285d8d41f39bff305a7923d79a +AAD = 79131982871a962f933e73142f56fbed +Tag = 99ad74422d91308be598e001b533 +PT = 9058cb5cf00b9926ae7bfc348a01e9fc3101ba75932d0e6c226b7a0b60eb32671a984a146da172bc159f2d33d6a7bbce51e24f + +Count = 6 +Key = 75b34ca3fd8ee568cc828411cc1c23c6 +IV = 8a +CT = d1fc78ba845ee3dfca54a68602c35b7de8d88915bb96f65084354e608d19a5dec2a50e82926a28dee1478cd2a21ad7366d4731 +AAD = eda29e60fc5eb0a19fc1facd7c38aa71 +Tag = 852f2b2a950b0670bdfda293cd78 +PT = 978008ed5c0785691318c3e4cbab64e7003077fb021ed5af70b74674485694316254c95492d33b49d9c00fde5a55c9547820b0 + +Count = 7 +Key = bbed4c9e53626bdfde7f8fa88c10cbcd +IV = ae +CT = 267fe8f7145bb2b630855fb2b3bbd6e71d4818e370a6a2672b404b085c1453f47de7d964b0ed92e7c6a835617b6385b314e704 +AAD = 9381df21804b29eac6f6cdbc0ddbe7df +Tag = 31e0a35752ca7c73786e07bf5229 +PT = a9039b3b3fbea9e91d60a4c5ba159b108ec0e7dcf4fb94e1f5713ac708fe735f6e7fe4e78a8a06d18203d8803b31a5cf2d5b2e + +Count = 8 +Key = d59b82c414227e2c4aa655750b6fbfe3 +IV = 44 +CT = 1d05a1f72fb9e802d095b20abcc350bcbb4600ce3f5b496494e85fc551efcdf6f69b4af99ec661e8416dd56a3fe63f49e4b5c2 +AAD = 39fffa3448d570d4fc3f72f29caead20 +Tag = 31712498e2a39a5567752cb91da9 +FAIL + +Count = 9 +Key = 5543c91878ff91eaf3ac0c1e0280a2b4 +IV = e1 +CT = bb2077301321bb73f645fe192a3ae05bed1ab67c5fd51a922b0b966ef0f05ce7d4fe7f20f288fced3969c906081fd421c2be80 +AAD = 3aa23e50d1783450c98f37f7522e093a +Tag = 38c99961a218ded655e514941f7d +FAIL + +Count = 10 +Key = 5e3c1fac58d37fe27de75207333e8813 +IV = af +CT = f602b4d4ed2539115f0eb27ca6dfc2f7b20266605b77ae16a0ef73a4f22fd6f048438b6abcc466d362d4d6e8c561fa398c6102 +AAD = 2a4f2f48f6b39417e5679fda15207ad0 +Tag = 570360fca8c97d7ddc8b5d88c078 +FAIL + +Count = 11 +Key = ed08cc8772cc9f8d572a0ed3d9d3d4b4 +IV = 31 +CT = df54f5bdaa1320cbe695bcfd8bb602b7415a83c9bfe23dbb0548cb55f5f25c7e560b47f1397e1e5d892bdeb9e70a667c912d2e +AAD = edf3a68ee82bbf6a7712f233e893046d +Tag = 3930a643dbdc632a32d343b15b56 +FAIL + +Count = 12 +Key = 181881eaba8f6c7d662b894b38bd3acf +IV = 09 +CT = 6386a3977888d99547b5aa02b4355dee99ab45d4fe50731f06d9ac2d6e3c8f45b7f0901662c6802bbbb5afc40b856f7fc65aa1 +AAD = 7aecd7e99f967308b3ee3282fe987e3a +Tag = 56dc5e92009912e07f542b5c7d26 +PT = a3c30367e8342842002d6fafc2163f2ef27ca1ebfee109e59b1e74536dea0e25babcdae4774ab6d4f39928961c18426ef12187 + +Count = 13 +Key = 841393aa03e20299fc576786360a7a7b +IV = 31 +CT = 0c5fb8db1feef89c6adfcae34a4b30af80f7060b0fb06eb25a8178593421900ccf573e9ebd35942405b88b3b8fe3a372ed25c4 +AAD = a216dd9f9910d782bb3699b1c256a497 +Tag = 3455fed58b81f6634e2026450b31 +PT = 6939b3e075fb20c37341cf176d8ee5fae296ea5407cac5b4f1ee6306fe3f9a8bbf089d731d9ca4c7ee4ba71f115b075d159227 + +Count = 14 +Key = 05da2c9616eb8f6bf42472ea2a6b0e27 +IV = d9 +CT = 8eef31aeb3f83319e983dd3b13c2f6d13f2bcb9218119427f619bc4a96b95f794d478b23c0e39a274521b33744410a4b36f24a +AAD = 2c81d2a2be998973c0a8d33e1fbdf503 +Tag = b6c5276123e0d162cfafbfecc019 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 93082e918f67825761ac98d4d70a5bfa +IV = 29 +CT = 0b8d0803e4b414cc6c0b01097901ecc9f6d7e056e5f7f96e2cddbf3f19d76ca92017afbd37f43da39ee40442b5188c1db81d17 +AAD = 46bafd4ca26fc1d25fa445caca5ef198 +Tag = bb089b29e862d13d6d7458213a +FAIL + +Count = 1 +Key = d0021ae56a5339b8357f6bfcd28efe27 +IV = 8a +CT = dc4d269d49edf2ff66fc25891b198c267b8327231749891efe81368d3ab486565de4ce59d58e49d0468540d5a533b72877c8a2 +AAD = c5371af44b267b82a86120036fd654fd +Tag = d81dedb0160f4b4db3eb10ae84 +PT = f1363ce7c42252e89f8b8b807422d95d14796de145e96966fbaeb1d9b6f38f6114837ed6928eeb31109c67b4c05e0442600f46 + +Count = 2 +Key = 08a98720794ab0c66190f06a5861d153 +IV = 38 +CT = 2588a52c21c190ed9a3aacc289e8e2f47a91cef112e98d25f76e5987c46b60cf4ef25ff070736cb033f28e0558a3bb8cc9c65d +AAD = 1afeca15c0c7b6fdc914f192769f6ca9 +Tag = 036e2b24e857a1a3ac6d3bd1e2 +FAIL + +Count = 3 +Key = 2609193b7fd03e94165a3dfdb6fd1d60 +IV = e6 +CT = fa17b4d04922a9626c69ee114a04f4dbb9cdb7a868b28fda2199ea092b4c47ca16e9a293ac4e43ce381737bd4cb08bf6403f39 +AAD = 00e1d96731f1e796ec869fe76e671dc5 +Tag = 465ec663bbb2321a7c1274ae9a +PT = 66f59438f758defad793dabd98e8f0015ec9d446839995d6ecd850a471a7adce034baa0b97b04eb34b670c851194877aebdfc0 + +Count = 4 +Key = 5928ce784ab887a410cee1f1ace98819 +IV = 54 +CT = 70ee3f836701ac516d8f19b91746bb5f8298f8ea05946f30a7895f48e49e495b52e49763d0eb6ea3f5bfaa3b64f25a675dee43 +AAD = defaca9bcfcdf93d061b513eb8d039ef +Tag = e8364e9e01b4f293bc9f13c21a +PT = b82da1944cf32e97fe74ad4d559bea23d69a8b1e529a5d0f92d5d230007f6b0d24a7a4f04260fa8a1d30ac51a682c50363dad5 + +Count = 5 +Key = cc5c95ed0caed3cf7e2f7d5b974e5f6c +IV = 20 +CT = 034ab5dfb2df7b4f7353ff5b64569e972dfed9cbae04bcf9b3291c4985a42dd3f157bd2b5db590a9f6336394d783b9c6ad20f4 +AAD = 4d30703d87382d3a796aa64f96341c5f +Tag = e7945636416609382049e777cc +FAIL + +Count = 6 +Key = f79c5e58fa9911bbf4e7a0f7cc137588 +IV = 40 +CT = 47f7455971146d93ee6482176f7ab5c49edace8ccfecbfef71e7dc38db05c4b789cd91f27bc16185f9d830caba72885705d4e7 +AAD = e8711649831c30ea2523117a7ac3b9df +Tag = 0cfdd82b5667806392a6193434 +PT = e13e9bd41118eb54a54d595ffbcbcfa981cdd3bca5dea09fb8ae33151ca7aecf03dd536773ac8cdeb5e0002602b37c382eda60 + +Count = 7 +Key = c21e12e22d83764fbd5bb593ca9aebf8 +IV = d2 +CT = b1a9d45f6ba5bf6c8e5eec9350976d4728594c4df84104541ecd7ae8b220afef75c6f8ecb3ef8b089cc015b70e01707daf52f8 +AAD = a7f464604a03505e19a6ea9cc82f8b7e +Tag = c704735c28b82cb80040f5c61c +FAIL + +Count = 8 +Key = dfe40b54e6f69286bf84beb04289eec0 +IV = b0 +CT = 2f8d5967e1a667ee829e722f44bcd948d84f55d8dd1b05fb695d2377f2998842bb206c68f7ab796aef1b5db4d7fbcad23f8015 +AAD = c9a0e304283f43db9384771f773d6225 +Tag = 1024f05ffed4473fc6423434cc +PT = 8a412526cc7fec62817053038c68720b0296acb2ab46cc0a93fc3ce86f6471272340048223f9564b3ac2ca0cb992ce603aadc0 + +Count = 9 +Key = 376b133ade2aa37f6bee757f45410ec1 +IV = 66 +CT = 998b2947dfd5b0853806fb92cd7180ba00dbe7869091b706bcfa3f8da96b06305e314677199bc98c9fe3c6a36137d0d6de8ca3 +AAD = fe6ad7c8f8d54d727d253fdece16efed +Tag = d2ee97ef1f535f4913bb71b38c +FAIL + +Count = 10 +Key = cb4f488aa55efc4aaf614de020b691dd +IV = 98 +CT = 7994da172b19c8300be7727234d7dba4191be1708f402fd0ff2a9c62c280bf982affd5b78c2ee6522c707d1a1f451eda454d5d +AAD = c764e4006e70525cc93adff9251da3cb +Tag = 99426cf05678cada8b0a6d8d92 +FAIL + +Count = 11 +Key = 1379ee1dd1aff02bd1e324f902f013c5 +IV = 20 +CT = ad3521d9a51b9bddeeb68d72740f000f518ec93e21bacd8d31338ed5c67ebb0d5a8b8513121136cc74344b882c5643c251342b +AAD = 345b8ec6a5bc823dd623e4179cc15020 +Tag = e81271c8f06ac84357d5d24f0c +PT = e4a6e2d472b2e529b586075042ded1c75e63ebdac8f88200dd5e645a1cf3f50c228a150e27f881f3802c99f184e29d7fa712bd + +Count = 12 +Key = b75ee33cd7e217b359c8b35f66015b53 +IV = 12 +CT = 896cbf8419c80ac652a6a4519bde7fbf3d3a8d38294f6880dc96679f3258afb2d3d0d90adc2156a16b002cfeb28018f473fce0 +AAD = 807f26c993aa0d608b89f99a8d96c156 +Tag = d6b1855fcea42b287a2fb209b8 +PT = c3034da75871b15a41670c480e3d41d649a2ca587fbc9531f7c889ad0699d5644086149d26925cbd5767affc6fc9bd992fdd24 + +Count = 13 +Key = 7ea419cd44b1054f30d9cbaf2d12a56d +IV = c6 +CT = 099e4da5ffd89de2b5de38282826aabcac81e1fa5b4732ca68bb0e584474bf88cbabdbe3ba5e1aafb5b9854f93fb41e15dc32f +AAD = e995dea6c64b9afe1d3ab872760f584b +Tag = b3c030bd77450d09db2aeb8b2f +FAIL + +Count = 14 +Key = 4e179e15f2a6080e55c39b33b5cf5308 +IV = 2a +CT = d574eb3daba17cf6cf34143a80d83d670f684086513471c5af46d7694b65767d52b07f8772cd12d676cfc1dc6175b9d48ce290 +AAD = a1ed7fd296052263e6eae94864e01a29 +Tag = 32dfcdfa3124d5c1cea1c0401e +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 1f182dcacf7cac0515ee3a8044a56335 +IV = 73 +CT = ba04d570465fa39375c3f257af387f8cee0bca511e9be7048053e06f797aa78ec26e7576c1f0ea513781c7a73f8164d2727bf9 +AAD = 2f2645537b32168dbd399a252931fcc8 +Tag = bdeb92908da3e27abfdce5db +PT = 593f9b44017c9b4c16452ebcd895342cfc19b576c611131ac48b6ed72bf2a3ddfd1118251b69a78145afef317744c3133a4f98 + +Count = 1 +Key = f988743a0c144b99dbd698eba55b6937 +IV = b6 +CT = d096cc04969b6a350e5e86916151b8c5c65ba500fd4270853c82bfc8c2827a7a32d725cc1b9cdefe8437db4169a1f3ee19c3b4 +AAD = 345adb72904f453ef9caf29efc27bc94 +Tag = fe836cd1bcc7f9a510609189 +PT = 426320095440c3127bd5ca844ebbfd11ec9d771e193045871b1a4aa25349cca9e513cccd48fd990bbf201c4d038e3781163635 + +Count = 2 +Key = 73cbb4ba65d8945a5ce9b26fd266e388 +IV = 72 +CT = 2176cb15e26200778125dfcad0a808d8a789dc17f404caf432b7dc0d0968c2411ae33adeb9fcdbd6d39cf4d9b54dcf92face77 +AAD = f8df968e0691d031cfa1c5fea43a41bf +Tag = 9ae8bd6170bd92374c4a8f9d +FAIL + +Count = 3 +Key = 13a3ffe2602a29f7864d87da96817fd7 +IV = 4a +CT = 2cd66e74844622b0a5dc0d5b8fd87807322679762a15d0bc52c0bc42f5929f34444ce237e00dc1c38d0f3711df0f8d8cb67fea +AAD = 8bdbaf4437d054b8e17fc4aedb6089dd +Tag = fef927a25ea2377ab6962594 +PT = 661be4b10bfe84a10fc3079a2d82dab3b0504dd812ccc28b7dd35c9ae11340f9dc00c3f6b8c0395ec43b50636cb0353525fc40 + +Count = 4 +Key = 910bb2439cf2621955091655b1d665d7 +IV = 26 +CT = 81df6131ae28b58491d43ea036ec8b9a0eba94091b10056b715274db8c40dc45b9d5417475128938dd8d29b3f049f4ae03c2b8 +AAD = 16b4ca3f93dad8eebec3c7b93ffc509c +Tag = 8c16119bed9f6a4a1764c0dd +FAIL + +Count = 5 +Key = 91e1edd6cedfc0bab2a40d21751805ba +IV = af +CT = ab9adf5f3eae3460c68a2e0f6580cc8466eaa163ab34fb932763554a2b52e376b2af7c1e26df977146252670f4b988413e27a0 +AAD = 778282012e236e047140136cb814cb1a +Tag = f5b1046bd28e306ade3d3b0e +PT = 2eb1d8e06e2eeb17404661baa9596384699a2ebf49322873e0c8b9e93e17a996393ca2bf5407db83bfd3bd622a2a04d3c3ee51 + +Count = 6 +Key = 9fc7e2c7383128d38fe4f67755ed1601 +IV = 5b +CT = f34965097c4a481db920105ddee7fc295319f45c17a6dd02d63928f515e9d35e0bfb547333b0fd6f13e1fe52a3882ce974a7cd +AAD = 115c5a3e623d60fe8c99ad991d8b6cd5 +Tag = 0bedeb2b9d5635ffd7005ab3 +PT = 1aeea70e9e14bb1a2edf0d6c50786c3c4891a3dec161741d014afe0280b2e5a97b81887293a18329ea4517033a6878e6b24866 + +Count = 7 +Key = 5360e136e36c659d431081f743df4aaf +IV = a5 +CT = cbe9e31d4de14b174f09f14185828864a8585cdc5957ddc32b42b8b035e64a331ccb360e3f7ada8c117de7069f65e2f78eb0e0 +AAD = 5653802279605830d4aa22ff5c9d5c94 +Tag = 785b46ac64fec9ff7c5607f7 +FAIL + +Count = 8 +Key = 56c26f75f352193901d168aa7507dc3e +IV = 22 +CT = ff3f3d3e3d56285162d85a384b71f486609007273f70ff1ca5123879436f0534b0c47064aede130bc1e835f80e6ce62ab83685 +AAD = a88fbd48f9ba29a056076757d70e6c66 +Tag = fc5e855d337b4f2866c15e95 +FAIL + +Count = 9 +Key = 2c5c167fe025488fc0585aa671e6c05c +IV = 8c +CT = 02a0c87b1cb55bf5399216c5e580d15dce0a17dffd4b8acf62b6b9dcaeadee8f70ac8d4b20a7758844c008391e2e49166618ea +AAD = 2b47f37d44f9b990ca2078abe386b4f8 +Tag = c47f9b8addba8b98f84797c9 +FAIL + +Count = 10 +Key = 82e290f25d072670708c19bca26fcd12 +IV = dd +CT = 94dd42a16cde34200e5061a608b1d176b8cf86b2d29de10e4556127ed4ce65bf7685fda570bc4f69ded59ec1cb03745ffa567c +AAD = a98caa2be88fa8387bdc1a10fae26192 +Tag = d6de315c92de0d06db5011db +PT = c5af876c45e00eeb0e386829f9f40fc5ab1f7fb0f6b3e6b871231a6d52ac5ca788d68c6bf1f2e1500b881164a699b6d9a09812 + +Count = 11 +Key = ff4a1c3136ce8225284a8515d1512810 +IV = 05 +CT = 930ec010364c03aa65340ae7aa0321a1ac17f1c74913bdc47aa3450ed0b6a7f5fb662af93d832e5c17f44c75b6303b986b1313 +AAD = 46fd7de27f9d671f67068f5eb9bb062c +Tag = 09d02fcb94bbdd4194bd5a2a +FAIL + +Count = 12 +Key = 57a11ced3953cdedfb57ae189e433e2f +IV = e4 +CT = 806fa3943be62f701c603b3439468d18b4c1220a6c4810a55ddae7be5d2d5bf4e4d8ebb9e21a92fa1a70640a192ca11f149358 +AAD = 2fe7f7672bed253eea085c355e1e72e9 +Tag = 97cdb369ae9a038815a44d35 +PT = a9b2b1b6250c24083d4014e00a9476d582b01c89cb15f4d651832be74e3b9bb89983f0dce9eff0c475d0926eb2de2c8b9cf5b8 + +Count = 13 +Key = 08616170d41dfee3a6244bd242749295 +IV = c5 +CT = f59bf1e7d6e99cde64f0db596973fcec8273a7a8992adf13da25e9639e87a09278ad2fbed3703a6bb01c02f3967fdedf0206c9 +AAD = df0fc81846b22b30f043d1a03914ccba +Tag = 5ce24adf235bee6fb0525017 +PT = 84b1535b8a062f5d5dcb6b62bac6cc444f5dc21a934d9900d16b22247209f61e90f11f8c688b9a006df09340a6a84025005b34 + +Count = 14 +Key = 20ca0fdcbc25d64553e6a33827c4a2cb +IV = ae +CT = 347af1f4dfdcc29d8e9183469bc24828cd64145c8e5d392a344bbe7056f603d4e427cb2981667f08b14df86a416bdea9139d17 +AAD = 56c7f8c8aa5d6149565d503c3f6c95cd +Tag = c4e0a8251974583d8b2b8623 +PT = d8156d945047b598c06063d8899923500d4d4da1a80791ada79e8ce913176502665e849790bc6753dc88eb583f98e134af112c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = c1d967b71cd15467f14cdf6aa7d435a9 +IV = 09 +CT = ae7c272e05ba09f89b33c122973345300f35844c0b2d4b8eceab2ec36b535d434f79aadbe28c855a138a27bb27f2a06c83b37f +AAD = 03cb8d2581845b00dfef134ff371a8c0 +Tag = 2419875d08c871d7 +FAIL + +Count = 1 +Key = 7ddb8782137bf7367d05695a7db44ad0 +IV = 93 +CT = 41c5939a322a0eded3bd6d7dba17b28af70c6292741db945b7a307859e841395a0b6783115d6e72f9d867697ffddf843d34f29 +AAD = ade9a1bab512b6e86f5bb22e030b5893 +Tag = 62ba814dc579912d +PT = bd28db40dcb471f8015e20f0c640fa755392679e7c2b44c306bc67dbfd0b6ba0413376026d0eda46d81957e454b7711141cbc7 + +Count = 2 +Key = d1fe12a7dedab5b83bc2957784bb3881 +IV = 68 +CT = 1ebe250a71fc962522def94ec5181729db39f52b46025d8cea6b547c05d2287b453b6f4ac3f76868f777962edd54a642c198e4 +AAD = a1bd9ff313a4bf26c091160d9a4350e5 +Tag = 2e2085c6964d1dab +FAIL + +Count = 3 +Key = 95eba10998d8937777cfc82c99bd1f4c +IV = 60 +CT = 95c226154e76aeacb59a5a7245690275e4df385ae2d9dd307b714da11824d0dc6866f514597606acc66b651be13c9dc41a40eb +AAD = 4cef8340dbbba162d03fa546048cdb74 +Tag = 9d05c19fd4cbc670 +FAIL + +Count = 4 +Key = 19ad92b70e0b6b1f2b3c1905fb069bb2 +IV = d5 +CT = 65829c04b6c378cf055384605c4faf7a342e61a5df4a0ca75b6c1fb2fc32e04e8bef8ab25ea8b5845a8fbe7fa5dcb9a10ab3d2 +AAD = f43c2454f878e3e715184c176ab6c709 +Tag = ddea002c63a410a1 +PT = 743cfd7af1a42c395398d1690be99db57da4f143908e3cb90737eaf2b1ce72e1dc2d66edd8a14ac782ab59f07fc2a7a4c486cf + +Count = 5 +Key = 9ccb0b8a9a14361c115bf80de80f0d27 +IV = 3c +CT = 52c60f929e2b2a21abca0ccabcd483e549c3efa7f54d61a7a02fb21e6fde5b8d57d112a645fb60aa0292cb2cca05e8d850506e +AAD = 3af42befac28371e47c2b121abb15b84 +Tag = 06a7d3658acdf5e8 +PT = 3428b1e1925ee466721f4832c1b0a74c3702293edee3cbc0f79377643b14d2dcff84737f371204ff46b63389de9846e1b3208a + +Count = 6 +Key = 40366f40d431b56825856aff478e4afe +IV = ae +CT = 613724f984add5adc915197b5aafdbba53ffdc90b5748468f1d4ef7c5668cdf243eebda98bdda7e731c97747b96f4700b502db +AAD = 455e055b5e4b41943d4939d82690291d +Tag = 20f18b6ebd3a3b1b +PT = 2bcc2955abc8406151dd524d9d80d53714ebbf863d5bb3b851991f0033c1adf2d65406969e81dcd4beb55cd9ee9bae1b5c5361 + +Count = 7 +Key = 82ba97fed8f0ca5ac2dc064ff1b590df +IV = 60 +CT = c65d6b298eadc32d34368b5e8682cc740ead51fdd0307791cdcb49f536cbcaaf7a015388bf286689ed5f7e658895557beb0b7c +AAD = 373b2a71ec820535c0bbe2e15519ba6b +Tag = 5e614ca1fd0347a1 +FAIL + +Count = 8 +Key = 1dc2d4cddc294a65c57e83cd9f3fe51a +IV = f0 +CT = d1fa1af898d17d8a68e0bd4f18f1cffabf2de3a5e2128a527fff33491bbe57e8b03f031dc5d1bd43716d25883695ebc213fee5 +AAD = ed079d28f810d4b24d37a887eb9e04a2 +Tag = 4c744ceeb172f36f +FAIL + +Count = 9 +Key = 9928b4c4b31f1657c86b20bd29e7c137 +IV = a4 +CT = 1d6fa51a91bab0f2f744f28a05260c9de66a7160e31e1ca807331737a6f2597013999902345bbf391a7a94b931fec1d14e1ef4 +AAD = 07203aa489ee9a44f12b6e57c48d8ea0 +Tag = 79eb3438bb0ae8a8 +PT = 132cb2f2dbed0d78469a1e54fdc2900be9a31c36e198b6e3b9c98cfcd59c4ce88d9f28b8cd958e20f8e583c9958da99a97b7b1 + +Count = 10 +Key = ab4b0ac5b78bd1b3d2938a26a0849744 +IV = 41 +CT = 8d9494ca35461f10cbfa75894073764add9e15aaeb652a926dfaa3dd45ac1764795dca0f800d151ee9f71d273895cda3ebd224 +AAD = ca780dda3c351aa9569b18ecc428b2d1 +Tag = acb5f32cf0addeac +PT = f891aa41a3fe5b3dc2377283d23c264a18cc698aba6182d6413c71cb73eec3ec1f85898fdb2a65327cc65fe0d79c6b6da38f0f + +Count = 11 +Key = fdd6d74d92d54ef75dccbe4b23fd0da0 +IV = 3f +CT = df50e9181655c1bfabccd456e84e5a5226db4db620066b8e6e0be6ef026219a41265e9c65db452a09fcca9dd888451002bf066 +AAD = 45029175eb1985dadfcd171f6633cd64 +Tag = 842428dfce22850a +FAIL + +Count = 12 +Key = 76f615bdebfa76dc154b339854338892 +IV = 78 +CT = a5fe0936fc53d0f157f4e048ae209d52ea803288ddae2c843b1bf310b5581d7d92a1dc67cbc6f99ed0fad92bb1f0f73de63c45 +AAD = 5a9dcf25151afcdd833cdfd8e7ae4e5d +Tag = bf78e4e39faab759 +FAIL + +Count = 13 +Key = eedc023a13de0d0d61cee0bc62b9b984 +IV = 7e +CT = 5aa0603805e2a6d2fac57e1fbe9b5063da5e2b0c41497fd0e208f9b46e202920549dd0e9ed54657234a91e53662417e071a276 +AAD = 403451879ddf67df828380cdc0ba7d2f +Tag = 707c80e89d62e216 +PT = 8f450c47823d5ee7d09c6295ee0713c64e73cbc006a9c585233f661f2f9367ccfa68d65a0266eb68be5c0bd8a715b1c0f382b8 + +Count = 14 +Key = 3e1cd3ce3fe7d55b3c724e43ea90f1fa +IV = 83 +CT = dff76ef718294014657cdd7553f9fc21d6ea9805d9bb17ac9cdb75f6d2dc95a93827ca3abb07f3fbd458cc84d6925f6d20f680 +AAD = 37cb6dc461a6120fab026201be0b1461 +Tag = 409c9bfc2ceac43d +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 1a668e5569192d551ee54a251ae86063 +IV = 21 +CT = a1de9097745efc40a3f56fdb09b62ca0d8ae578ad0316750accd885ffef85711953d9f807ce777e6243a0d8916fe2c1cadc9d0 +AAD = a0a0fa9a0b2f251ff9f8f40bd43776bf +Tag = 36bb0ec1 +FAIL + +Count = 1 +Key = e209677fce4940fa73a211c99509a374 +IV = e7 +CT = ed5409ecc29eab6b68c6e90d901e8bc24c4a7760816443cabd6ac3207e9572061bdd68db4e0cd42ff6cd2cfe55155f41df943f +AAD = 17742493ed64616a2a48ec9fde3aa4e9 +Tag = 40d30b54 +FAIL + +Count = 2 +Key = 0b168434ec9f0611ba66dc2f1d883b34 +IV = 12 +CT = 5b70ac065f89298a70523db3992ffb38fbbc4bc2c9760eaf02bcfc44bd147d81dedae8b455917672167a54ad2abd229587435b +AAD = e0d33556f7a8cd98996bd91f6f4b7cc5 +Tag = 943abdac +PT = 1564d642581e6379568c230e996de56002fc472350990d522de754d3a877b3f1b9e8fff364f87495cb77b1989d03aaee12bcc6 + +Count = 3 +Key = b6b9df2e672aab880f994d50a9b24c22 +IV = c2 +CT = 5aa909c97b124ac00e292780399511ff4f04b447543c3dd9f78c0ff961271f36a891bafd4b2aae54aedc02c5cfb486b9476a0c +AAD = fde72894e03253c949902c69f47adbff +Tag = 842b3ad0 +FAIL + +Count = 4 +Key = b6001b19c479f484403ad8348dab2c5d +IV = 8a +CT = aa71edefb16f2d4f18b781af1cd6694648cc394cbe86c9deea6544ac70690a993f4f24f0a14098204dd90f4de78861ad8bac00 +AAD = 9d768c482846e5ea3bd2314dc9a087c5 +Tag = 728e0fcc +PT = f61112c02cdb0da622a2f5a65615273040abeb7b24b4680512a220f4ac131d2d30cf3bf1b3c95d1daddbf0ec569eb1669e3162 + +Count = 5 +Key = 122f5343d60b15acb6c5d5126fe96de3 +IV = c6 +CT = 3a2f03e941c43ec38eca31081200af8b6520e1cd45828948639a06d7e03ab58f2ab080b2c129a1f48f13b14ddb67418460ebc8 +AAD = beee948f44c3d11c20a54cffb9f751c3 +Tag = 318b783f +PT = 6a9a64b522df074f04e501a3f41fe87b4fd74901a5d70a1e65a4ef54f5503c563209d002a49ca85253e02b6628150043d4b07b + +Count = 6 +Key = 56f1807b807eb5f00bc84b543dcd2dd0 +IV = c0 +CT = fcd70ec8287a3436094291d2da64eb45e776bb27cc8c8e1aa31e5ef3320fd396fdf222af4be2cdb2b2b30461244630f9789945 +AAD = cc2b3824d4a931c220a5f6396fe40c72 +Tag = 397f2460 +FAIL + +Count = 7 +Key = 3a6d6cc522091858ea9f1b71b208e5a7 +IV = 77 +CT = 31ef492c4dd272f4133d0c274c10536c911dad0459b0414bfa2c9457903cf78c962d9aa280429216d50b417cb90201fe4510e3 +AAD = 5a4c9aff5f1d0a590994789204e6ef09 +Tag = 69656a58 +PT = f55fb352134da091b4311dd216903bb8ed1f018062f630e07a4b3c3aeb5470cdd72422f1842c742e9d5d88e297b951a01624f0 + +Count = 8 +Key = 172b2bcc76adf3fd1de7cf4251e4c831 +IV = a9 +CT = dc1b6caf94dfe86173d16b8b330076abe32eddd3700aebb6d9f40bb9d7a336e3c46f7b4452a7e79cc2a49321904781de3ff83d +AAD = c7589f362eb11387ebd54f3e2fb981ec +Tag = ad6e3a1b +FAIL + +Count = 9 +Key = ec5ce527c2cabd8cc01e8262395e9d0f +IV = 20 +CT = 90632380e9a5392c15f0763e3c2718ccbc4e944b307392529bec13b19dacbd8e8ce9fab206886546fcfefc7b34cb3610b3fb13 +AAD = c5d3793124efa884d7996ac1278afa86 +Tag = eb3b4589 +PT = bde64db636c56fb8da6cac7271f5338033eb3483bda2e45a3316fb35e6124d8b3d6845d901d136b0b25f57bed63321cd737e59 + +Count = 10 +Key = 46edaf4ad2eaaf9200a3b329427a84c9 +IV = 43 +CT = 6ee0835bddecd6e5d2b3c9787366cb90f94003d9424386def74e989e9364a2103ba383f42e599eca043f5fa252102826ff547f +AAD = f8c2d416829dd9e6aa734aec05bac3d7 +Tag = 4f57eb32 +FAIL + +Count = 11 +Key = 3a0fe02c14110cc7205f8df0f58ce006 +IV = 42 +CT = fc4972fe42faefca9589635dc693fedccea0f8ae214f8b1616282f2701e9cd09406c2c6577b59a3fab4a146e82349fc116e82d +AAD = ff3d5a22aa5f08dd881cf91de013a1dc +Tag = 064a4e06 +FAIL + +Count = 12 +Key = 95c8b698bad56b91d2f39f69b9697a4c +IV = 37 +CT = 27bf3f76a55b083eb995ed8ececc465ea6d36008bdb2259dd03e4f577571a744d5a3dc3cfb4874e4bd9bf8bcf88782df039b1d +AAD = 486be8a102515045073bc5996f260077 +Tag = 1af00267 +PT = 7809b0dd2b0afc183f34a726f679856950e20009d558d71bff88a2df76f0d54b829e7b875ef82e4ce8c221d25cd7dbc8d11b26 + +Count = 13 +Key = 24aa79c58c56c72023e646cf77e4766f +IV = 8a +CT = 95a4c71f032c70013e67500a41843074e7431936b699131682d2bc0eafc5b31a8703cef36710c073640eadd7c5d8291779b826 +AAD = e80807ac9d040cb169c7244353a88d3b +Tag = d60128db +FAIL + +Count = 14 +Key = 077985c3c1ff701b35d025916d15693d +IV = c3 +CT = b68f33f4d7aa1214d82e1834b88c70fd1d8e1b757c7c602e4afca003b0f1091c09267c63a41608e1b9b485109cc8b1c3e65b40 +AAD = 848a0680a8f3cd6a7de913e6cd00f55b +Tag = 3f00eeaa +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = b13f7e2d59a9ef4c77f5582efe936dc1 +IV = 8e +CT = 8ba6bf238db4f90f9437691d78eb713410b0413908560fc8960c8b0f4d32423f8ba4d349e0f24566892a19df8f1ff6823584a9 +AAD = b1c8f38fb4f7546c213dc3d3502a8d7682ecd1a8 +Tag = 5f9257e938c9fb2137c1a15ada4822da +FAIL + +Count = 1 +Key = d1c691eb3f0a5f302002d19bca6c5752 +IV = 2a +CT = d2097c5443d0d31a1a8b1f71c2eaa590aaf6a20f9b8f7a09b270e0a2169804d30a936c3c2f25d3bef801e5357f00321547a405 +AAD = aabf99e8b334609c72f6c58f4a51cae13d48be45 +Tag = 99d7b28a928596769fe792d949a6e45f +FAIL + +Count = 2 +Key = 1f7aad15547171eb2cf5ae6e66bbab36 +IV = b9 +CT = 4b336e5edf0aba6df260449556ab7db8fec9bd92e0e58bb606895092361d218ab66ffb2ab73dae102a18b22eaf867a3e74e62e +AAD = f7c2e705d6a44fc785024056ed917580ed8ed643 +Tag = a68f7f056ff2e5777f57a0cead0e6863 +FAIL + +Count = 3 +Key = 5c8b155d9a2df276eeeb54c3752fc881 +IV = 11 +CT = de30bd5132f86ee692e8188836383c63f1940906c333ccf3cbf71b898f25c9db0beccb5fa67c60a82812c6e5db2eace18e10ff +AAD = c5902c4330714e54d40b25cbce9fd4869bf24290 +Tag = 098348034e798c49234a4729cbbf2184 +PT = ff34d142d9eaeb9e0b0689112012164c3f34e43aec384415127c9999b9d04830dc45d9f8e5d41bd00956eebca7dbc1c6201386 + +Count = 4 +Key = 867fe89df01481cab696a6de482a4d62 +IV = 3a +CT = 5ab101f312ef7aaea70df820fe118b3ed32a26503c47b512f0756393f48a813df90e8a255b914c0bf2abda1ce9e49cf90d9548 +AAD = e2a143ae772ec9f605184f05ce174f32eb889e72 +Tag = f1dc6ab309ce4aff81d40c6bd0f51251 +PT = 03778d3f63ccfdad3d14ea81b65c5d997e686273b27a597ec8dc8a0b928d1e62b7b4d48434c5d8da9dcf4f499103e0ef39bf0b + +Count = 5 +Key = 16677b028f506c5719d9eaa451ad2fa8 +IV = d3 +CT = 3f3e9fa0b5c7140ecd2a4d9aa953871a456f8c274c3de26c0b3ccba97a28044eaac197e566b4031bb9478ea3777e8dcc82307b +AAD = e56544c6fb14e4f7ad453a5c6523a3c65a3e3bcc +Tag = cc8931a71bba121f7cdc156daf0347e3 +FAIL + +Count = 6 +Key = bb389938dd7ac2311902de438f51d43a +IV = eb +CT = fbedd47463d160093945282303f299167cb9cac782fc945f55add6ed5cc2ecf6b9dc5b167f8d455a578866244689cfd033bd0a +AAD = 064181a606a895e98f291ac65e9274e25be5d043 +Tag = 7603fe348c5ff87d4453f35689b15ea6 +PT = 40850f209ba5d3157aea9de4e036110676e1b48414e229cf410849d27eb52f0fce035ddc55cfd88e927d3ca01b2c51b93a6dbd + +Count = 7 +Key = c53519417766174dca8449925d08fd4a +IV = e8 +CT = bb39247c340af083fe0ad15a70d7e6e7a0103338558e6e0111538cd0bca4f5b88871b04339d79825369607ce637b536fc63678 +AAD = 67ef38178278c18f721f2a3b52bbd14bf64afe4f +Tag = c2a47dfc899a05e889e60ae48210a5fa +PT = 58d6f1f777ee764bcd841fabecd822828c2e3825c4753fc5e94734b337e6b8a4672ba11f60bddc5b8ee23c12284ba34898b826 + +Count = 8 +Key = 16e031b97a09cec6415cea0b0613d4c5 +IV = 81 +CT = 4d6927b6d7ec7d6659002252f694ef54965d859958489e0204639c581572c0e2b3411f77c53a78ae2090b16a9759a772d1b86c +AAD = 55a8ecf7bc4e3bb37d896dbcdc5d7a4610053fc4 +Tag = 20101bcd1b8ddea61ec5a7442e06c5ee +PT = 4c5a9a62439b4540167a60e0e09c662bdbbb5fc1cf46d0d0cd96c656411f14ed5f88aab69107084d765f52ba429c7959edc938 + +Count = 9 +Key = 8024de119384574cfff90dedcedd2e84 +IV = 25 +CT = 9d1d600a45df1cd7bd2b928edb8dbb1593d8235395e53b794657be4e55f72e6de92a79d63dfcd8a07ec36a19cfd5a7cfa7f848 +AAD = 5fd94e501fdb9d9ad8f38b78886624e02db19ae2 +Tag = 27c64b1546ba6330c1e652659cfb809a +FAIL + +Count = 10 +Key = f02ef0a2f0841620c8f69c0ca38ad2e9 +IV = 0b +CT = ba9ab0f07798c120cb4bd21ed8ff2503f76272b61d2e00802c1c00ec635a7d93d5897c4cefc0d2d4cdf92f132a29110d4e03aa +AAD = 38443003b7277dd17ba90b2da654c6fd77ba0210 +Tag = 4b920f05693806fe56b5990c7450cebc +PT = 6871d754b6bc334a3d3d05ab1dbf82df950fde341ba920f8061a4aecc237cca7467a0506c6b4d46474142e5d59c1a202260dff + +Count = 11 +Key = cc16aec6bcad3dc4a2377f6f2d79867f +IV = 42 +CT = 3b42ecb8257c9fec808af42a076306fe091dd9f59d2f4c899a05f63ca534c7a19280444c3bb14cbc2ac6702127a72465c1e612 +AAD = 7d05d34564a6847d70af366a5157fbd113e214b6 +Tag = c25a1cb72f2cff01b5c54acc6fade953 +FAIL + +Count = 12 +Key = a2c436e527d8e01546e85a21a3641abc +IV = 08 +CT = aadad05e9cdd4a1d92498089d4d46fa473e27f8029ff1097382052f2b679c07062fa149119a6e0e8639f3f2f297b3bb8bdda60 +AAD = 18b84ed74788ed26cd148fd2dbb983297b2cf70d +Tag = 910e9548649d005cfab25b7d6756aef4 +FAIL + +Count = 13 +Key = d156cd171928f5c0df6866c580ed987b +IV = 0e +CT = 4ede93575619f9184b6abbca07c1f9f74fb96490c41830d7a5795993ae70b2cad2b0cc6f053080d7eca2d7557b7b73f2859866 +AAD = 66a303b5f49e26e438abe5e52d7eef88b2f5bad5 +Tag = ea857e0f443623bac6bd68b03de2ccc0 +PT = e1ac1702bc6a981fabc068f17573e4387bf0e51ecfbbcb2138d9d3314a75122f3c0e356aa5e9885e3dae24a85c0af4abffe23e + +Count = 14 +Key = e245dbeeba3fa72e8ae3ce3097bdce0e +IV = 3d +CT = d4c3aaeb47553f879f2f7719424eb0a625395d613c6086a43d137395c8c700d98702e40948cd751cfca0edf9c1744379521f03 +AAD = 19316f168f8ff7befe4b6ccbadfd3bb3796487cc +Tag = 6c2e0692805bc3ba1bc74271c313ded2 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = e208ed77e0783cb707d958ebbf46652a +IV = a8 +CT = 28c1dc77200b082bf4eac04cceb9fdcb94d7cce0e6fa83339df51ad595fa6e2a4ec6a862a92fd79b07f518455e9428521842b6 +AAD = d3448541e9e3f02746a39c472b66d6e752d670f0 +Tag = e963fa05a154f079c150087db70f1b +FAIL + +Count = 1 +Key = dc16ac08d1261a7aeb6f8b0dc2add197 +IV = 73 +CT = a9b5a25fef4e715e49edd096d564a0d988d98e35b23451118e3a263d72eaed703d0edca867b45013ffac3fb1b4b9f935ef97df +AAD = a76eaa0f6081eda9135055d71a7401c1a14617fd +Tag = cf8a84012e98f6252ad4c17f9ccd94 +FAIL + +Count = 2 +Key = 02da71ca027e621673d176b9d6371782 +IV = 17 +CT = 907112b7c705374ba8a78ab545ca68461d4b878b5bf08333b3ba853fdd62cf512c4afe73dd03e4e6b85039317d15c8f8dbbcda +AAD = b228aaa4c45fde850ff26f173fe15b179f5face7 +Tag = f5393ed46766ec89874e8a288d9f48 +PT = 86d8dc299e0b9054bd949e67cec12d63c635f9462484667224ede235b61ef8eb7430a877bad56bbe6cd7134366793d198af7fa + +Count = 3 +Key = f8013b9ea56de5e0a141a87354dad523 +IV = 52 +CT = 91eb95e4c6d0677bb0a29d2319ea473fe86236d0c16ee7724298044fab078506c3bb296ec36b8a74543442fa7129a998781297 +AAD = 45b68a78d4ccdeb5f987e62bd1271110c9890325 +Tag = 06e6e241c008572d4df20b58393180 +PT = 7b7375a34e77c655ac26927cbaf4d9d3f0e4effbb922ba188b03e474943883808bd9c5a56feadb8d6fc60e71779208cd9bf942 + +Count = 4 +Key = 267ece8aa7744bb49916df5bd8bc88f5 +IV = e3 +CT = 3c9baa05b32849256c8a76b7b17de4ae4f65bb697f9e8ce6a6dbf57a0a3a66fdcbcfbb55000897225a97339b10a33a5066e9ae +AAD = 373dc04c37b9ef9547aa1e606c74f6e59814d86f +Tag = 72c042fabb5552331054a0b5279ff2 +PT = d6aa48fcdd6b948338860f614ae254756b579a52d28a1a8a90b83fde636967f6e2a2b98f7c42f3d207eccb03a283edbbb7e1df + +Count = 5 +Key = 8c3e91d04eb06f16d78d24c2e2e49af1 +IV = 9b +CT = 450b1e855389a30943117b4bdd1b734669e23f646b310100cca9d2b3ca9410f6f55af13ce8097795e8d42efef5e0212062568d +AAD = 2c707eacbf24f1e77a74a151914792c7c7051e80 +Tag = 8f9f855b7ccba90b4d4a9da9db40b9 +PT = 0225da144c58128a48105444e16c87d232c6d79c504dae2c09fd0aceac65a3cb44900ce2a8538b87b9443ffef52191d72e0293 + +Count = 6 +Key = ff778524d058aecbad2819839e53eb74 +IV = 94 +CT = 87bbcb7b0a2d38ee2087df61ea0ce43ec6f98236325e0d8a568b5a1661933fe0c56406fa058cc22eaedb0f4afce0a38da5f84e +AAD = 85bbf42a9f69cb938c5e0d708d74caa3fc589413 +Tag = f12aee65a3ea942c4721cef4426476 +FAIL + +Count = 7 +Key = c7922b8e1e0418985e61db3ca724e82e +IV = c2 +CT = d562640ded9adbd97aecf449c38b4f03e66cb4bb74f32824f6471b35710d1a677732e44ae603e0bb50cc2caf1a87c3bc84a1d0 +AAD = fd19b66b30225cedb39e0c38eed4dd3a1d7db67c +Tag = 59a9f86d25b8f0533d7ca16c7900a1 +FAIL + +Count = 8 +Key = 071bedc566a0684ba58cd844cd301c3b +IV = 07 +CT = cf9b910266e0b00a7a7f7f5eeda45467823d7c3162961e227170e17317b2646c7fc3c8e09d247604ab2f11ec37592530c7ad6d +AAD = 417b83d6675bf339a0f1dce0848d06ed0ecd53f7 +Tag = 07a19b51abb5f5d20d52e32ba1cf32 +PT = f924ff4e0941c825241d535d8014d2659d8b5a20f9b06dca36c9374f06ffdf1e3a8b740f0022041eb9ac1e11fefe717a976f57 + +Count = 9 +Key = 39ee51f23ef8789e9dd045e368292862 +IV = a2 +CT = 793639574fb576ed3c9b7aa90fb4736843b8a3de8b8c151fb11d0671075c7f4dff010218f81b6defb35b4b0956a47978d5a134 +AAD = bd802c35a32830b27c4a27f4439003ad009e924e +Tag = 01a921a06921c6009e856f04683035 +PT = 1b62993d4543f44eb0aa83430dea0446bea38b1d605c92af20c8c2a58052e2e73e836547dff2474911ac2c93b64af2772d04f0 + +Count = 10 +Key = a4ba4a60394bdfef98d20b920c998058 +IV = 76 +CT = 4fef7c75f287630366831af32fd7ab93295a8f87592c0fe59118f4f3ce3a6e7b1924f0760dd875f77ea20f7146e294ef919344 +AAD = 758e00f3dbde32809d322ebc383f2d5da567a01a +Tag = 139ef0ef40cb379c27671ca9b28fba +PT = 868de2173871dfe48e5ba7dde0ee707932aea0636619156a64089c66ba1eb2c78fd0a51bf8865d45189223e414e2226f4ec880 + +Count = 11 +Key = 9331da764e17786dc422164f06c6ca69 +IV = 86 +CT = cb41ae7f4cce1a61ce1a571877b951deffefe016ba7ec0466c339257b68d0f31f6e0e062ed9ba715f36cc8c1e5cd38f46fca25 +AAD = f277c2b8ed5ef8647f84e25ff31cb2ff95e4c239 +Tag = cafdce6ef8d0721695cc192590fc43 +PT = 55ac68efedc1e05138d3d28cb2d18b30e37d3ca270263afc43f3b4441f9033af229060ccaaa42f9748f5157a5c58b82c26b46f + +Count = 12 +Key = 9a7f6b00d6051da679de7c3622f1739d +IV = c7 +CT = 30ccfec353854ca56e7f63b8da2b5228c19562fdc600db0bcb0dbb8bdfd776caa70b99859468f2c069b7ffcf31c8db6bf907d6 +AAD = 2697045e62c23a8d131955564a0a579bdd298f12 +Tag = a8a28e3a87e8ad004b977feab9c0d4 +PT = 916dfabeb8e1700c2d77e4d5490a2d2f6c18be8cb931d4e0143626047bf6465d861187d2aaf7282f68b2f1a17da51444150440 + +Count = 13 +Key = f387f648fcac710e9c509ead8ba8de49 +IV = d4 +CT = 184ff341d6407e9b5ccb77c31a16a2167bfae015afab3d9e842aef13c75286d5e0019b3ced9969822d08342a9bf7e1a64387f8 +AAD = 0c93e0b21b37566d8fa88ede24a4212f6a5110e4 +Tag = 78ab5e2e57d14f4c12b9430df86f3e +FAIL + +Count = 14 +Key = da95a0b3a6dec062be056e8d7d08b65f +IV = 1d +CT = 3d9edafefc8edbb2cdf3417d937fda63f54ca2b609f8c14019b6da50c608ddf790ef138639a7882f6f4d5c4411ba56c09b5abb +AAD = a36b195c8163c4f00554876e4b3f70b6a51ab665 +Tag = ecc7dce40b1e7202bc2cab345d2e10 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 75dab0fbcaf097744d4907e58491db2d +IV = d1 +CT = f66ffc92aa1fa972dbe9c384c676722512aff1353e8f9613b8fa69616b8504c91c6b93c0b33b563e05aa4f1fa80526270923a0 +AAD = be6e2b0538108106379bdcb2a299e212faec3290 +Tag = 61b8123702b4592da5c36ff3466d +FAIL + +Count = 1 +Key = 88e78b74f60acd9621bb2a153e6860a2 +IV = 91 +CT = 2f3530d01a429f612887b25f73a2dcc5e4e36799a9bc0d523038a725233da4195935b9998dc95a5c0e1aabfb8c8cf357c65235 +AAD = bbd6ce718e592a149b1e3ba9239bb8bb4bc9133a +Tag = 4cb029405666f9683a597ec51e7d +FAIL + +Count = 2 +Key = f97d9cabb8dec2f410ba0f70e86ea815 +IV = e8 +CT = 9697cfc52476b3405dcb5f6a683c6481afc5395b4fedb847ab89257bcaca1d6b6b9136f0db2be290f7fdc1aebfeac74d3c72fd +AAD = d7498bf9f4393a2be821d460d0d25737c44d6a13 +Tag = 38040d9949785bea1388b10429f3 +PT = 916341f952fca7dd2557895fed2b0ccac7e9a05ebb09660731e8dd541e07b6053c6b74074115ba6f8f00ae369c0a481d92ee0b + +Count = 3 +Key = e4f89ac0d88bd275467ff6e777d8ca34 +IV = 70 +CT = 5e07ba40b6b2bd6a2504dd72ff3e82f91aeeda3ac9071df56e749585defc97ddca88cdc691d3624aafc01628b1ccb4f58e3fa8 +AAD = a71ec9ebfdd70b652677957203e8d2e20d48c741 +Tag = 0f21fa6079ef83ec18f60074e613 +PT = 52cd426539688564a1435fcf579e3696074cb6ef819ecbb21ceebe6caf4ea8246886d36a6cedd1c130209c493e3a3aa3338606 + +Count = 4 +Key = 859cb3d29f41c7c3691fdd75dc728c98 +IV = ef +CT = c154d730f1a945b0cbf8fc4e7220f0edaac918eaebc9f5cf45db003d0fba748d87786571c5e98eae017f2210d67890b91f467f +AAD = 461911b8cf3fcb4811e4fa05cc4cf611eb27f90e +Tag = 53d9993fcbd33c7f03e4c15036bd +FAIL + +Count = 5 +Key = 852045653f139d825a3e7220bd621049 +IV = 37 +CT = 82d718951b4e74c1f1f84630413c1e8f6bdceb08d9556397e8b8a06f7e37e7ef9d982b42c0314a6a2e8877fafd00797de53747 +AAD = f788cdd9dcbf9e6a9e0abcbdce334d9f99ec1311 +Tag = 775390a166b84325b77d3fecf100 +FAIL + +Count = 6 +Key = 4e7c9c52400af7f4bee48d2cb2ca5625 +IV = b6 +CT = 6b9cf15a7f77e228eb9cc00663fb41e35de528664add88b532bdaa09f687d0eb8ea6766616c04e4edfd66762c7dc12bdaf4cd6 +AAD = e0a3edc8863bfc45adb2f385b4285b7dc25de085 +Tag = db69925eac555b7d066e3931a315 +PT = 3a8a84187855adc8d462ff2e444bd5fce06787ced088a0f2cf02a3b8ed7b670ba3d4d32ae6b55f983f50fed403204d6b6c95a3 + +Count = 7 +Key = e75686279487b18304650a042cef5912 +IV = cf +CT = 06dba5c7c835b17837039cdddee52ddb9c1d1aef118e290eaa70ec53554c1d21b967f1e4293f4253f88b94f3a59ad3b8becbc3 +AAD = 464d88582c16574d2f4415dce5938d77abab42a5 +Tag = 1ced2eb74f1bf97cb9ce42a27ca3 +FAIL + +Count = 8 +Key = 5aa20878b25475bb82ea868b622780c0 +IV = 72 +CT = 60625af278528c930693f442c3f4c587022db359635c39d9b1f36c637f4f1105ea3556273a2baae380ee2bea064fc38c38967f +AAD = c4523f2f34856fc01c44d7c1896219a0d03630e6 +Tag = 6d93102ef04a9ac88775ae382791 +FAIL + +Count = 9 +Key = 993463c19d6b6c3d665536254b4c47f0 +IV = a4 +CT = 3d5e138590196eb212e7fba611ec72f417a6afbbfd2c90d9c742f04aad548ef04035bdf43161069224703e47e4b8a41ad89126 +AAD = 9e8ebb71dd75d0a3d294f41584c85994cea6d2b3 +Tag = 9b9003222179e524f105a446f561 +FAIL + +Count = 10 +Key = b7886898b940e1059950bff6ac837724 +IV = e1 +CT = d60790d449df9ce062af623b7a77803dc7d5aaacd02921d05ee309750656d80a5bb781135cd272f30f033993eb3856ff5671f4 +AAD = 91a06d70d1a25d49846c0e9fb535e278fbbf1925 +Tag = a64fb1c656f411c64972589e53e6 +FAIL + +Count = 11 +Key = 9bc4aa38e1320001a11c86d2c8b3c5c9 +IV = a2 +CT = e33b82a1d65fac867fb64c04fa777aeff360d6db8475638dba6df73fac1111a81bb1e862b7cee6b04bf0538c80e7fcda90b23a +AAD = 30d438da7d3072289002b1f21202d8ad7e054182 +Tag = 0008fcda535dce48d3b278c79174 +FAIL + +Count = 12 +Key = 79ee4d13d1d72371c3cc86d817a21752 +IV = 10 +CT = ef0c9041b0d536aa111cce43206af586608a179c38e8a59c04433ed995a89d1380cb52ef12e5adb994f205c00ee3ca733e361d +AAD = 98954570b56b65e605ff784ac4941271fcb0784d +Tag = a871093b6414cda18a1fe3045a81 +FAIL + +Count = 13 +Key = d256428320f0710765373e8e1c954a2b +IV = fa +CT = c398519ffd153c501be2c91632e6f36f58f4875f035820d555b61b26268f01e7cad6949ba6b0ace9926b1efe1b0d53b92ec852 +AAD = aee3b59cdcb3f7dce8f635d696cda2c353246a4b +Tag = fd173794e90188f90a539e208213 +FAIL + +Count = 14 +Key = 65d5f640e0ca11e3dd5139654898cd98 +IV = 35 +CT = 4829ef3d85da69a141666b3ce3d7cfa231a2532b6794da48e779713766c613b6ed94ea240555c2112290c4a17e0e1553fc614a +AAD = 48e2f38bb3aae4ec3d6b1f82f57b8c96471e2a84 +Tag = b5f26fe9e660849e57ea1d9ed019 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = c04e32c13d47943e9d96b52da25974aa +IV = 20 +CT = 9ac62b8a0c2d3883f87c50c2b146f3e9f4fb756b006c01be0c49ba14b05ca4fd68d8eec8f2e7e7867888c07a3ac576f149ed8c +AAD = b900a0c07dc911688e517e9fe8e44b291665bd4e +Tag = 002002a75024b4fe08c6725a1a +PT = 8e9c12c43e0e385a554cbc08df96b8529cd05323f97d5a18b593e7801c12c98e7930c0fb81d989ca9246391c14f990c1828004 + +Count = 1 +Key = 4a801107ed382115dc97269b62cb7b80 +IV = f2 +CT = b9a81aac407b17e38684fe66bd537558a038bb8835fff4814708b67a7656188b4cefb27b2879ce54a8269bd6e150cdd397abaa +AAD = 8794146dbc3def7746b30eec07fd33365d468135 +Tag = c5c7b0c1a60ea0db24b94a9f99 +PT = fdb77283c1273fdbc1dfc942ced779262e282a96f772bfea3a81cccd066c531a80341ce36e2a608708e6e077396b56e2aff20f + +Count = 2 +Key = 9e001c06c6cd0b35bb46b27bd3edc74b +IV = e6 +CT = e2f0c5b1d8502cd49e9aa4611c7ebe93d12f6dc3acc38164a58b18dd92921aab9f7a9e86ce4d5e538f5680fddd35144ce65dac +AAD = b8ee6f6f7fad0fbca8180263a57caa6a0cc4dd98 +Tag = dd5363421fae8d687c478a8b9e +FAIL + +Count = 3 +Key = efdcc8b117c12183e5d15f865a6e4a75 +IV = 5c +CT = a443113fbd6fe459bc8c7dac56395b1ea53cb58c356eb536f1a0e15315c9dba328ea1037b9ba9b47e1b08adc9a48804ce37149 +AAD = c291af9b87f359922ce53d72342853a914ba0c8d +Tag = 4918b5005e058996ba37e4e1d0 +FAIL + +Count = 4 +Key = 9ff34780a61d99ca60b40ae6cccd209c +IV = 39 +CT = 71cb4347c9dab7d0b3305d40a91dd6aeba7ccddffbe6a77e685d07cd35aae22709828cfbcb94d85f53ddc53d0c360fa876a4bb +AAD = b4e940b5551c67843f4a4fc0ec4df7ea4a757b71 +Tag = faa8ed7df4c97976e45449d201 +PT = b557a6e5656fe362730a02682cc4d6bc270fd7586a5389558301093fb5363b55245ee3810f0b6e9000e6f36ae3c63aabf45aab + +Count = 5 +Key = 36d7b38bb282e39e96343e3e155516cf +IV = 2e +CT = 30f86d879829d59dfb9992df0b2a023f95d6de8de7a4c1dfe246a1686a01599aff491c748f45217046c111b4b3a4ffea4a121e +AAD = eb539b7ff1490562cd4cec37ccea86f68368ba7f +Tag = aa75373a3103583102a578f6f7 +FAIL + +Count = 6 +Key = f34c472c5bcce51db485879315138faa +IV = 29 +CT = cdc438b9c456ea533cadfca4d9e6414bfe94b9b70787632dc791d9b685cedd4d830d76a293f1093725921dcaa2512974e975a7 +AAD = 654315202d99044d00184a6553398cd8941aff9b +Tag = 4bebe4903dcb488f7f073504b4 +PT = ffeb9ba68eea9601b5cafded30eb5707cdb59bd1eb2d109475ead14cac14a5be17de70ff72b0f648c02ed2ffd2d3dd293088e8 + +Count = 7 +Key = 7dcc25b0e9a6c9c400cbc29bd765d390 +IV = 20 +CT = 1944a72f3c11b9e83cefa8d514b245bbdce587b0deeb3dda3cecb4a65b320cc7ac9affa47ba4eae8579974667de5e04babf921 +AAD = f7e2917d61d0e4118371a227923c5bbcf558ec45 +Tag = 1082cd2bd14a4c85bb67a688e9 +FAIL + +Count = 8 +Key = 1167e82e11ae063b67ba0dc10d1fb6c2 +IV = 5e +CT = dc4c37213257e6ee52cd30b36f04200a82f9be071f3e5924ccf480a501e039a54457ad7533bdc63583e904a9b4cc5023974d56 +AAD = fc618e2545616105102d169beba0a72de2478cd9 +Tag = d66002343bf2c0bd53822716e5 +FAIL + +Count = 9 +Key = 5c931dce03f301810184477ceb927b2d +IV = 42 +CT = 3e337ab0aec0db0e0e195c246d407969ff937c353cc0903cc7f5d0f9be80586b2ad85efb062dd897a8fcf3d03ec4611c068df8 +AAD = da73ec2eba89f588b9de7e146d9a720a1ea7013c +Tag = fe5ca09605ef982dd4a7c0a913 +FAIL + +Count = 10 +Key = 6ff9ae6adeb65d8cc16c33b5e19b54f6 +IV = 0a +CT = 936cc4cce231e4798f0b8cd2e579c7eae89629bcb2f5e99ed15c1014f73bb00cf2e04ede78166bc61b4113629bf7613466c79b +AAD = c988cc48231f4a24dd2a525200a8b80fac8fbf71 +Tag = c49fc3c9690bf3823b07aaabdb +PT = f73f4e75b0a704fd5b9913d8eec23d81b89bab9e2483f8946794b08341d63d2bd8d9e0b21816c04d84619b0c1dd1b9879e1a69 + +Count = 11 +Key = 7fcb80219bc7bdc3be7283eb53f947e3 +IV = b9 +CT = 193c7f030644827f6a9896e50891bdedd2b1f034072f69a851851e319ae2aac19f900afa5fc7530987210a2f8680ea743c163d +AAD = b0c2c6be2c72796baed60338a3acc2d391746052 +Tag = bfe1337ee96f6d70d9950ae717 +FAIL + +Count = 12 +Key = 291466ae4ea4feb57044e007f4e4f6bd +IV = fa +CT = 4678790047811ee5529c420df64d166a61d0984def8a924ff9f474cee55dc325cad88e66e09d524b9365e9116a061a44dfb7cf +AAD = 581a474c95428597592faa5dc50d29dbedbbb0db +Tag = e6758db22fd03c7c195c9d5f06 +FAIL + +Count = 13 +Key = 2d6b1f3d1bb05f53c421951ff1dee972 +IV = cf +CT = d7429817779da96281aa13fba858767d9c841feff05930c6c66332e672d8b205caa94e4cfe2dab8b52d8b98246cac701915430 +AAD = c5031e4fd5d17ea2ccf586f54097df38b665352e +Tag = 1833833b2a5bad4a1cb3fc307b +FAIL + +Count = 14 +Key = f71c977651a315c0a25ff431a8f7c4e4 +IV = 84 +CT = c22b4b541926fb1b004314bf3bf2c0e857148dfc91326510d2ec48e1ef05d97925e0f6ac91b7ec2adff2e2b2c5464aa906d5de +AAD = 7fe1cea4a73b0e0f0f1ba05672cef801bb0e35a0 +Tag = 5d33fd545c7db5db70cfa3cf22 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = e282bf130aa9d88b486f40c5d7d6b753 +IV = 1c +CT = a14557e6ac2793fce4c76be30787085ec711162133fdd58a13bc7f718d8294db54c5833e883eff9e510cc3949f2c37da87f35d +AAD = 44188b2f9726498f7a5059f30f6005fbd78f511a +Tag = 1821c2dbaaf94a7d9480f8e3 +PT = 2d563231997a3d395a4468b7d1f0244bb4343e5070b3657a3be7f16c49874e0cc3975c6cec7b74df5d17576aeeb877a5551038 + +Count = 1 +Key = d90e672f6b074262bff40acbe9e9bbf3 +IV = 0b +CT = e230d1ec1ab2ae6f95d84b9bd773738b4e130a01211d50e5d85bc7914d78f3f15512822d06f4b6e173a18f34f957b9f73a6e24 +AAD = 9b425a15d2f69a0877a49c500878a7ff1f76ef0a +Tag = ac05cd716ba5caf7e3619fae +FAIL + +Count = 2 +Key = 21d9e9726af16bc34ee623269128457e +IV = e4 +CT = c71c0ae9d1609bb5ddc087bec51c24dcc1e168ff8f625383ae9343a3d9bc908a1ec79b26e7ca5aab7edc0eab939a48ba00725a +AAD = 679e8d8b64dcbb9dfd41627d5314e6ca7b7b3fda +Tag = 3243250f19c59358b15fa1c1 +FAIL + +Count = 3 +Key = bdde80b168b3d2a96bb5be57c7763e5c +IV = 5c +CT = 241e9c4c3d679a6b37d3dedd45924528af6974d0da4a20c64c13b6bfb1648759fa7a70986c62acb41ab57f1d70f47d59ed701e +AAD = e7f45951d2ace2ca76866967c3a690cc212290ba +Tag = 56dc3c1892a8f227d85f88df +FAIL + +Count = 4 +Key = 3cb9519e06708bbba77f657abb9b7d7a +IV = a0 +CT = c43e5f4332d26e62d275e5c9df728a6e7a35199f0958456c0e618c4ed4d3dfe858ecef23cb5a3f8a673534822f655ef23d7e94 +AAD = 4e8410a4cd0a7e49ecb716e5ef92ea7ab7389332 +Tag = 67c3b69af48cb5382ed03a84 +PT = 4c8a8b010ee40d9ad2fe0cb09fc26f22868ac95f97eabef0f29061487d6344d800dca091d79fab0b26f8fd681d6f5f92bc61c0 + +Count = 5 +Key = 24d0cba4a7befc8dd1fda12fa414b857 +IV = c5 +CT = 2076e3ebbbd594222f9cc1e9e59f00d97984ac215f65135753371b61030e16b96d7e689c610a049d3e1d78c20ca5a9bece90ca +AAD = 9b0399da95543834c7ff2f9a0a047aacd8a61125 +Tag = a16d1da1dc1b2e39b826a3c0 +PT = 99f27bd7238134a291c55278d933168d846fe03e6514bb311ce7ca4a7be8438d67f9446e60da9ae8048374b2da922a7db8414e + +Count = 6 +Key = a29ca11eaa8ca7c68e75430fd1b45125 +IV = 80 +CT = 6c3b9975cc63b5da48929257fae6579c73ee6fda23e5aab2dc9ae54147afdf19ffb099e55fc7d5e5b6e9944149e27b729eb1bf +AAD = b1b7eb1f067e9ea31d497f7895bab9d8a4270dcf +Tag = f473af90e551bfb74b2e4c6a +PT = b0f6ebb903935da4d2604bf5126605e5eb0a985f9d9fc1eaeebc35edd922df8235e53c1c6000931cbc4009fdd7b239949ee8f7 + +Count = 7 +Key = def3489aaf274f71425713c09b219e50 +IV = c8 +CT = 4cfb1c7d354bd840d71ec6c1a126771583c2ca48a18a30b9dcabc89cb1d940f86b630fe15f45e2b1021628765dd1942fdf4a2f +AAD = 2506d720cc3c2db29a93e83787e6ee629b05a5ea +Tag = 23c50110460fdd3f41a3027a +PT = bc333a32c1cf24b2ab254a6a5dca74c5562bf0ca3ef4546a9f26f58c78ba643db353d9451aa3b62537e7df30d9a3d372b8d733 + +Count = 8 +Key = a4d83d322d0b0374203f1736359f9d30 +IV = ea +CT = a81d6c8697b6c3b4637ca0fca399716f510e3bdf764a939c5f8cf7beba27775c2571327e73fef77e4494b5f02f37afe511b305 +AAD = 43a584acd65aa7a7a82e75e1441b1a596bb0fe3e +Tag = 837a1670d77b225f28e651e4 +FAIL + +Count = 9 +Key = b8a6a034627c2c92175923c7a2285a6f +IV = 1f +CT = ddf8d973db61b9744990b6c497b9fc1cffd6437a23ba7bb9e8a9e21eee2653add168aa63aa7ccc138396a7af94be8173804812 +AAD = 34577b3ace9b460891712b51603845e489db923e +Tag = 904b25d594007cc58cee3276 +FAIL + +Count = 10 +Key = 78572fa8c80f789d2fecc0198cbe4b34 +IV = 9f +CT = 9fa9a9ff787bc59f7a178825779cff6040b1616e5fc9599e78f0a867793dcaee9420dbe8badae98182ade0ffb39d383e7d0512 +AAD = bda6ac2dc5fa14cd7cae043a5698ab335c08f30d +Tag = 59e5b83aa9ce682f0b98fb67 +FAIL + +Count = 11 +Key = a292e4feeac09571571620253e281a45 +IV = 64 +CT = 9af36488e7e04bd55a5cd9824038a3bdb86943a580da028a7094d6c44cfc7d5e851c8c044993a5923dac891835e82bdb9a1115 +AAD = cad895b6acda1cc6b46db8ce84eb79eb69e0b7b2 +Tag = 9cae5f366b2651809079dc78 +PT = 087fb4542aace5904c171ff5e6db81967dce07f96e0bd3c9f5e3929645f3d781d8b8b897f9c6e29c2eb501fa8e10d88d161894 + +Count = 12 +Key = 631803eae8973f6743fd3f76e965d44f +IV = 35 +CT = 35d41b1849fa74b7b0da06b2e1288eceb336a9ba5117e4a29d1fe6f31ce40b46369f5a61999d5fcecc265c755c31cc01f995ec +AAD = 837bae60fcb0490e02dfe74677444c128b3cbf65 +Tag = 1a6aa0573f65b8041181191d +PT = e274ffd0e33fedbd922b979caa1f0fb4a88e30103eac34f67aaee558df05e37aeec6b81c7d6bbb8ad2e66e2bf28425023e6473 + +Count = 13 +Key = ffdf19f56f25e064fb8da99b7d33fcf6 +IV = 66 +CT = 9426169585fe804c67ac06bad50a48b1ca549a919c63563ee7995687ec70293df162cc9b92d8cf23b892f0ce02d0cc643dfb12 +AAD = 72a30d59396db45baacd70fb269052ccfd32af24 +Tag = e9b2ca2e07f5fdd17041f4f6 +FAIL + +Count = 14 +Key = bb895fd79e0cac70e23b0dbcdfeb890b +IV = 08 +CT = 19aaaab069cdb7188ca4a76d51d4c9ed94f084b2f979064595f30c174cb5d43151d4c6a646655179db96a93f16866804c83f39 +AAD = 5527212c48684aa9059ed8317c2324f078a805b6 +Tag = f43fef9272a9a03c24c5694e +PT = 7130569a7105bdf811e7e0e5d489403aab6562fae50f592ec5713810e4f044d6ccc9c61f5e36c7839b834d1f46c5a124460716 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 986e7597faaf5332703f37eaf91c18ab +IV = ca +CT = ec176e4fb3d610f20636cc8b98f7979fe7eabdb3d4a6ea8fc68fe7ce10b5ab9c3054025ed92d1e693f87f01ca786b007ac6180 +AAD = d2adf4e613003a8aa275bd54acd8e03455c07a47 +Tag = 98376a96a61ca74c +PT = 68441871d37e9eee7277e6d59a4009c9716617e9eca60c61a77f70ee73d754d798a6dc6c9aa74162e5efa92b2fc3411b21fec4 + +Count = 1 +Key = 50c5f0efb2293c995de7bb7328418584 +IV = 97 +CT = e80296a87237dbfa6f8eab04ca2fe6c06666a00fcee655e4fc3b6dae5f29912b8a5685b68837a1b8817dd99b1dcf0ef9e46acc +AAD = 3724f01264ecdf8f1293225396a7547e21139748 +Tag = 8641e3ab851a473c +PT = ef765bdc5e849e718d321cc676e143fe3f4fd88ccd49d49e846bd083ec801414b2972393037a7ba8312aec774d676ca79c5ae2 + +Count = 2 +Key = 58d4a1e3bafbf572eebb678bf57f8eaf +IV = 01 +CT = 1c7e844c425a256864a825bca0ef5632f1c08cf75eb09f688dec45dc4750539cf6347204872a0e62b22be069c9d8aed393ae9a +AAD = 953817aee16e1cc8428317e04ff3eed4e616973d +Tag = 6a712c35e75e44e7 +PT = 94e265ea45aff42591924be49eedb90e1d1033c64abc47ad5d80a770a6f412177631f6287afcf914a7c29c848c8b44324b9708 + +Count = 3 +Key = db1c9872df1b59e3376854ac288029ff +IV = 34 +CT = 05ba7965a232c809f1023b5e22a31adca672241dda63e67c9d96198e0a265e52b647b2206a2040f5643ba85e84e92ad5e58b00 +AAD = 60dbba10da87fa2793a5395c4a34ed0b2ccaaa3f +Tag = 36e8044db81fcb51 +PT = 61dae52bed0ddc514e610737e271dd8f53f1bb8f8d0dd37dbc7852c3c6b9c496c8f07a1967a3b41f15cb5f6076c8aeaaa852ef + +Count = 4 +Key = 40990e6c014914839dc0e8f12f312afb +IV = c3 +CT = d38e997576078646e0b745624ea9d8d112d4471b685b1959a0e45c645cd6e21f4ffced0930ac301a41b5177a18e88a197d6888 +AAD = fc176d46a3fee7eb8b1e3fb6342489d944bab3ea +Tag = ad04e8f2a8fade6b +FAIL + +Count = 5 +Key = e0f7e813bf3ae8b5666eaefbc73f021e +IV = ed +CT = 12201b20dc7a3179c70e897ea8bd109f391a4bbf4457ae09b54ccf83b68b0316d03cd643e9c01e21058b0ae411a1d13abc89ce +AAD = 068ea3ea706180a71879fbe784fb606dee7ed372 +Tag = 0c555097bbc44a03 +PT = 515cbb12168ce8d5b7b6593ea2027b4f5804e0598d6c0bf9f58b5a14906690c6f683867a2b4c8dbf5e0a46c637db59ca221813 + +Count = 6 +Key = bb91b0fa2926f85331701e4743ab7365 +IV = f7 +CT = 02d6f4b3c1d61dc38e3cceb0d5398076904a3f4483e013766e47f70561bd777a01b6a067d955966b78e6d5eab7bb9bada9de8e +AAD = 27d13fb5cdc112575b9c77482d263eaedc2dec08 +Tag = 297100e6221b2219 +FAIL + +Count = 7 +Key = 819aac0adc460dc3919abaef9d4a7844 +IV = 48 +CT = 8bdfaee03929cc6b69c8b4e39735c7d7ee8b67b71727c781131d68f4acaf9ee5aa7866dd890656955c9603dc2bbae0ab4bc3e0 +AAD = 7d0b27ba5b7ec5711f3b37232f04181454cd238c +Tag = 8c0b41756c77a233 +FAIL + +Count = 8 +Key = 93a228f16714fed96ab099ce9108b24f +IV = 85 +CT = 09ebb2ffe6fd716ecf74d88c22f2003bcc5a19889e81c1fcbfa28b6e248d379d002f14b862105c7c2f958e2477e8006fe0ccee +AAD = b1f4f88df5de9b0e6cecb4ec48012d5bce6dc1aa +Tag = 5a6b455de488e9a1 +PT = 18f1a1e037fc02ca030900ef4fc2ffab6925e0f58f05929c8789335147594233c9eced8fc1ebf40fafca5888f89363c6219926 + +Count = 9 +Key = 43f1af6199c3e666d10be70bdba0f38b +IV = 75 +CT = 342abae1043a13fb20a33d39e01c495fee2bf4b50f3f92c95583dc6a022ee5ebc988765cb885c5be3bb7e8bb8d49a0b7a4060d +AAD = eb007585a60929bc36dec8d7b8afc2f3f69836bb +Tag = 14856b6a78f76ef4 +PT = b82c33e5a49ed9a305d471d63569faeda224553af3f1ad997e0e1be17cc168b041ff9961d8174fb636c3fb9007fc3224709386 + +Count = 10 +Key = cc254a05af1746610cb5296dc2ad33f4 +IV = e4 +CT = b3a3c7f6b2dfd20639cdd7bfc7c532b906ae2d0a0169a7f749f9fbee9aea7606fd63e1048a705584ab9d5fee1a15bc08430ccb +AAD = afe7c518344163c13e8e585db357734560f53e97 +Tag = bc1709379393fe53 +FAIL + +Count = 11 +Key = 1e35436d1b8d26e61e8c938e53927f3c +IV = b4 +CT = 19101178c9428582ad95bf9e517f38a8e96cd31a2c53b6f8697565cc7de6a6485e7d94d73bf5ac3c18e6cd123632aabbc2dc57 +AAD = baafbbc4d83a9d3f3d85f596542831064c323111 +Tag = 328d51eb52c7d8f3 +PT = 71f8b47314160e208efd0738b1744151035aa6c084dd66595670050a11a7f2a2a6b532d13078c4600f1bf30ee488b076b8e056 + +Count = 12 +Key = f0f43c325642b73136c6c61202bf3bd5 +IV = 6e +CT = 7a2a95ce7207b6baa193692a4df55ae50b66fe2c270f64a32cc223ecc55eadc9027cc911ed04a75efc30a4f0967b83e56011de +AAD = efd52aed3ce38e38e104836bf9580cf7d420f283 +Tag = da9d760a5f789e13 +PT = a7525a32b5e063f78849780bc169c19a97b3c48e9b783246c0167e00c849483ce44866d35361f40fa50b185df9f440bf60f8e6 + +Count = 13 +Key = 7e3b36ebd7d73ec78b7d73f232340769 +IV = 23 +CT = 9c8d810b6446f8f2f5292182163ed6a075679013a9b4fb17f4c3bdb49a0a65a981f86b58221996e6dc9cce57b3e98e048bee85 +AAD = 62c60c056286efaa0d2c31b0a2e3d78d7a27d0b7 +Tag = b875637ad80beccd +PT = 0e28a088240a2137fee8e45f78c06a31d953d1244c47614f3865f1f3c6705ea26112fd2a38eeb07fec0eae2dcc8d7c332aa8b0 + +Count = 14 +Key = 37b100ca737cdd095939939c8202e936 +IV = a6 +CT = 42d3b32796557a1f64052783048fde7aa464cc7664feb356a891b28f44a6a1410057f8f8651ece8b849fd85268dc8456eb6316 +AAD = f0a50fc8f7ead1b8c858336d56607b994905eb3c +Tag = 63e0a802ffc5109d +PT = d5c8c5d82f9611aad2dcee4f0907a088585ccba473a8aa01c2fe60ada3dd5e08935a594ae2280cd5e8e62741d832c33d54ee04 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 447b06ba6d5571c9c944741804c0819e +IV = f9 +CT = 69e7561614d80707207fbf36cdd4ca1f90fe854768ec1c83389d5ed98ead404d83762f4ddfe358040ebe44cfe07d619b4bb693 +AAD = a56d3ec5f2da460cb336505b21ac6a13dc6da991 +Tag = f2ebfa73 +PT = 0fd4a47f8bfabf1269b87f52e55b9e953db5e1ba19573868a03e95fe3a40153bf8df792abf1dcf3ed5d4e21829ecc891d85ec2 + +Count = 1 +Key = 8b3fb009b9616e2ab1b6815b6109fb31 +IV = 49 +CT = d9fe6080523bde0696a4dcd3b7aa8c4dcd85a46230b505e4829a117a51004a802bd9fcd94567470bd6c61b1bab5b52a001f8c0 +AAD = 28b63a1a4dcaac7e4ab9000cb7d776d9ac7b363f +Tag = e71482c3 +PT = 6c47eae78a8bc1f37297e5aa2a1c95ded554fc6eb9b86d5f06a2ed11bce8d584f7ddc703a515b84e863a8ade3f9eaf8e9859d2 + +Count = 2 +Key = 348ecb9da291a20b1db3d1e70da667f3 +IV = c2 +CT = a6d3354ed0e96c21b2c9ba3144c3d9a6a64051d54ab2d6ef3d300d898e1e8fdc3531df2279bcd0b0f506195673f6711cff79d2 +AAD = 64056f4f43ce7615c9f1c0734383088cadea6a13 +Tag = 3ec472d1 +FAIL + +Count = 3 +Key = 588be5bd902b64e10ff3b2f5601781eb +IV = 74 +CT = 0645b26b6c9fa8eeb34804a69b7963727d2552bce335185f9b10e5ad996eeda84f04339457f6175f230d81be68d7bdb2156a77 +AAD = 5d2d62c0132d544f1c8ecdfc5b289500076bfff7 +Tag = e5e41107 +FAIL + +Count = 4 +Key = 33f859d95781aaccf218e749c63e271d +IV = 66 +CT = 653c686ab3aa23780fbfdbce410d40929b5ccf3b8b0d363371abbfeef6ba33281bede646052168fa9f130812ac68c4df51f660 +AAD = a6980b5d795bddf0b97029e862da98aec72af690 +Tag = d23e7a86 +FAIL + +Count = 5 +Key = 61657c27a8f35017ae5c8b63755120e0 +IV = f2 +CT = 2c7f8a79ae4062b91130c9cfc961902791bd3b4c8c0eb69138c0bbe2dc3a9ae965e8068fc468a8b2a4ca6121253d64aff44d3b +AAD = 15b4e9cd8be83b659673a7cfaa5e3310c6231e25 +Tag = d5ec749d +PT = c20eaf0dbde4f9f409c701e67cba6a9d87009ff8c724cf0f5756aa143a99ad48c2a399559de939432270c1b26749f9eb335d98 + +Count = 6 +Key = cfdc7c0d6b794cf94cc3d18ddf0529a5 +IV = 9e +CT = 571956b821b27261f68b78db14da307d9daa881867ef3d37309e50f1889965c2929ab89c486c91a66c61eeec84fe874f9aa23f +AAD = 19e00d20b1f96add4eb2185027922ba88b23edee +Tag = bcf45e25 +FAIL + +Count = 7 +Key = f2e0fb5b3a8cdab349f55d3a32b9bcb0 +IV = c4 +CT = ad52ecfe94ccce7deae1102d3252a98dbb4159e1f28a75477298c85331f3057d5906cee3c5bfa91e3cc3e88f91652e3adfe236 +AAD = ad44ba7c1c9307a13d2d9a45cb90b17ad40911a0 +Tag = 60f3c256 +FAIL + +Count = 8 +Key = f26fb698034bd415b1f4d737f9c3337b +IV = 20 +CT = f9f06260f76c776dc272399a887b3fb0c67c8061f70df01494120e3e32d84cc405b92218a37b60eb79a114a359f8894b78120e +AAD = de012dc8c62430a0166bc4c614d592ef2c1dca96 +Tag = 854ab71e +PT = d1718894f0b65f89de4c3fb4d740d2709a21368a524b6f19afc95d878aecb8b795b7e4aa1242493b94ebde0a93a39b12adc860 + +Count = 9 +Key = 614c3755a640b0ede922df96def36038 +IV = e3 +CT = 15555ac11c615098c1bb1420f34eafcade67ac0770a0f5b175379673c42b8f8b6925415630e74dc1ef55abc345569599fa1f3c +AAD = c7570b5b9aecae9e47d6aebbae0204c794aed04a +Tag = 7766b2fd +PT = 9c41317561fbc17d9612ac36feec44115a3e6d6731872ecb0f7887a7b145fb4ba98614adbdae17c24501ecfb98bc358412e56a + +Count = 10 +Key = d09abcd63a4957686aa0bd7569bc1d2f +IV = 66 +CT = 56b7216886631c71bddd5ce4de05397d0c68803f5102dc3d3c0326730db3ca25d7a06132a58a540978cd08b101be7ba6d2e3f3 +AAD = a970628c54cf3651ff44b0969c95b1aa2ce24884 +Tag = 4e11fee2 +PT = acd12f2a39ef5581376ed5fe2eef7dad49a3dc292671b4a9fa9c8d676f8697d8932dac01a7921a303ae656f7e916534500f937 + +Count = 11 +Key = 2b12be79fdda1050ffd3a058dc496053 +IV = 9f +CT = b759685167092036261cc6f72df5be33eff36fbd2d801a4a0c3c02acce82b4760c57ce982ed08e8451b8119680d1f0d350744f +AAD = 62000a4b236ca264e2f4619d3a379cab6d9a665b +Tag = a6e39447 +PT = d873b50091e94f78b1c74ae4a9c5beef5da2a6cd71b141cd9a196edbf6e85384fe44c77fa053706fa0ed681086041c5a66e919 + +Count = 12 +Key = b81da54fb916fb208cff4816b455fd63 +IV = 3e +CT = 99964361184744a92bd58b645928e3223353ea4ba7edadc9cb7b6786c6debe648827903c78dd54ed29d1ce8c3941190b800bd6 +AAD = 9eb11ab663ea275a2d6b5316f4f82293ec5ec744 +Tag = ca4f08e2 +FAIL + +Count = 13 +Key = 54a70fc0b7a5303b965c6b49985076ee +IV = c5 +CT = 699a6a92c4c3e0e088f444194fae1da31c575d6a3a177c33829b4ac3c282f96b9f26cd77e69122e84757135001af41557564d2 +AAD = cbe999b6bd335e23e070316b6056d46a0dabe0b8 +Tag = 387a00d1 +PT = 3b087d884eac1cda6f8b5cff9462e1a5d171170e239afc46e164df2b0b394b4c3d6844d0ad750d31e7944a366d1d8a48a4de59 + +Count = 14 +Key = 141c113bee4f5743ed70b3ec521852ed +IV = 4b +CT = e6d11042e3c4912f675bde5d458dc09b07df5bf6cdde8a1152def101b3899e5c5c301dd814c8410bcc2df529ca3e3396d06746 +AAD = d4935b4d928466e8adf180c9dae75fd378127453 +Tag = 37b5a6f6 +PT = 40688ebfbe1772c8f581f203867d6686b11e458427e13ea844e8af9b9ea9e3b5b349362c67b475a7ae261e14bf250ef7ebb7d6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 1b3f980a3c884af91393c1723bf8135c +IV = c1 +CT = aeeaf87ceee944a6fdc9a4dbad5023a3a82a49f1df244dcb9910b82f273e57f4b38c5041b567bc898253f5b40e079624f4b18f +AAD = ef3addc22ae3cffdf771d7503509190403914bdf770a3e1e15eafe7d241e37cfd9f9ff5b115925e78d4ac930129af591 +Tag = efacfff4bed1210493597463f9e91cdf +PT = cf62a7e80295110f7fc1a18effb572c9f37f12aa032f45a0b1c174ed65a0fa6d49c8e567e3756d76928316d7939c99fdcf9562 + +Count = 1 +Key = ccb7de12553b1d9f23ae9e542b0e0455 +IV = 2b +CT = 0b800d71f866b3d19dbabff9036b70e56cccdd6737c6818627d7364ee7833b41be6296dae6f53b3f0443cf8fff2c6c35335d93 +AAD = 5694c889fbb92ea6458cdf6ed44f63f75b0dd1e9441d2a06b26fd5f4eaa87af24c4a700c6531540dd9375020c33a9aae +Tag = 92e30870738d20e8e77a8e4ba594ac33 +PT = b5a00cbe287f4e0c04fc17e09d4eef62ce3eeaaf3259daa8e3831125745c5d97374fd8c76aa9a769f00df7b876f8e8e12cd961 + +Count = 2 +Key = f71d2becafde7ebd502817b01e96072a +IV = 49 +CT = a0ec52bc078d339ff1dcf51f032313616c2e36211a8d3cd08917480f762ef759455d28554d36ca99d0514b8ae7245a06532bc9 +AAD = d20a5fa9ae15ad466fa5fbbc1be06b427d999f794a520b4e58395d0c7675b45b361672677d4d9d8a7685d3faabb41b5c +Tag = 6a24a1db576c6857c8dc74c2d1ab0610 +FAIL + +Count = 3 +Key = c9ad0b68d6c3e36bb09d699a6c8cdf53 +IV = 87 +CT = b31eb3a8516bf87311e15099dc40036b8d1957c56acbff448d4db7eef0ef86d6a12d07c4e175c80d5e75ba21a061ea143464ca +AAD = 4552ce63e84c316425efe14eecf9e5f76d807242d2a16e2c9c3de2752bcb005fcad26b34829e864e40288cc04dd7adac +Tag = dd30ec1f0efcc2065ad8cb9d0b91664c +PT = 62d78ccd646907b2485ae4f97abdffbe571f4b7a157102898f88ec05830ab524f09fe73ffad4414055699aea41c0b61e6904b8 + +Count = 4 +Key = d0754a34ff61c3515f5baca027e39bd9 +IV = 8a +CT = 7a157e9bdc471d634096cc26fd4172434b61a592c445058bb16e7281ea6362bc240a4f7031af3e5c6497bf5238ad9ff8b0c669 +AAD = 37e128c9f130e45c1032bff4c2d1eaa1b0d2d8601aba9daef69262c395bc2071411a825d5fe5259f1115ee620aaa371e +Tag = 01c73728e2a44e88e7732cd696c84843 +FAIL + +Count = 5 +Key = 5f20e7ae0d43e1c357c6c226ba2cf3b5 +IV = ea +CT = c31d66a4b48b9db72eefb780410c637ec62975939a3e77b1fda21194544d7aca74718eb3656448a24af34904d42289a3d0a7df +AAD = 4d0214093d90bdd3ad993686f05c6ffd86e5ab37abdea4634d4652a89dc890fb2b3ddbc53ebb797bc3f08bb5c44f8553 +Tag = 292b039ea9d987a51219bce8cb133cf2 +FAIL + +Count = 6 +Key = 29d7d394c689d1a5bce80c7456ed2d1f +IV = 7c +CT = 7065462ffe35d28c93aa21677f6c8b3618c3bc64bfcc49a4fee0a9c3b7d2e6ff27f2cd437e9bf6cbf6a353be813f5096d782b9 +AAD = 1f643784e060d8ca06afcf7a12c9bc3f970b2074a0ec4c4ef8a3b321f1ec516ee4ff53996a68caf9c17f32317551f485 +Tag = 440a0e6831b1f30b99c8ac52790948e2 +FAIL + +Count = 7 +Key = 6d86b282e092d0d3f67ab119fcb0ebe0 +IV = d3 +CT = 8d74ce4ba774197546d7e3784f2ead8aa7f5b29e9cced37626e600b4f99c081ceffb2967d33bd11787588b782883fd84b31857 +AAD = 039cbc52587365378dc50242e42b0410f84fb5fa1b98cb3a1909803fcb27206a1ca7b4d9c72cbe96c7017b4173718581 +Tag = 3fbbf038c0a5c91fdc8ef4ce393b7134 +PT = be53a9ee38b821f908a4966365fb60dc389acfefa846514b7d18d875074d1bab8d8b35fcc63b079f4503b3ba2e580006e307bc + +Count = 8 +Key = 672b419c053a31070c844c4c5aaf9c84 +IV = d8 +CT = 3eb2f177006f43b1beec871af5d9d3a2447eb57f7e0622b92066ab603189f96be392461bc75980bb0b8a0b1fd328d277de141b +AAD = c610965430cea14f5b4f5e05c2eb3bda2f1e93127cdad179edca5f91bcd19187cefd09547bccd4768922772112769d4b +Tag = 624d5231cabb6c4af0a31031dc11c103 +PT = 0c4f8c9fc479bbd606c8cd768afd2b6d003d230386e44792e240a10c5b23e106be08993265b709c849c7c785c6211c75d5dedf + +Count = 9 +Key = 6855eb84ff6be6cbc7a4b8c72e91ffdd +IV = 8d +CT = 843c0f7642c97c3edbcd67b465c9e9e3cfd929e9a56ae9a648404273425068a7d1cbb08b7f9a03e2f2e809bfbf04d77e43265c +AAD = f75b00041bebf759bbbc5785c0828de0189aa88a1b17d52186a1f39d0747b5b07b3fcbac3e23471021753a1212334d1e +Tag = fa526278b6e061e3517c9a78308b9f56 +PT = 935ee1108f795ecab786b4086e79758fc54c8adcadeea2cee87c974b82a14d8b4f4050476617d2ccb96226768a28033d8b33d6 + +Count = 10 +Key = d4ded8b94812ef0c592bf308dac3ab2d +IV = a3 +CT = 076a6d166ebf79bdc6f62f2b89c41118e05f3331b0e70322e9bc2d3d3fcef6b5d148ebffd4cc41a329ed2df600d34320c4731e +AAD = 5eff3a5d4a1ac1096fd14ba916a266c72a187574c674956e0f7652b5f075efbab162c40269b8dafab004875abb92b61e +Tag = 929b503e108d6ada1a937e7f77a45b0a +PT = 0c170ec0aaed4a694b39a4ee394c485752067c9081a681833d4b3d47ea42f58b15ccc743aec3e356cd9145281a04d3bb5bf3a6 + +Count = 11 +Key = 9d66dab21304fe54b9e1982473a05c5c +IV = 0f +CT = 27b4a0e6693ecf0caf7f6ec527ddb6be966e8386e38b1164169d3b6d77a950e56617944bbdb64329dbb4f046b9fa8c9dad25c1 +AAD = 761e4572e207e75672baf3ba06921a1eb80837ba41533f5a0acf409a8d84ec2d3318754e59a8e26f7fff2301824511dc +Tag = 7395026b042b1a222e5a272f2563d3bf +FAIL + +Count = 12 +Key = 288a798f1d6fe8c2df838dec437147c4 +IV = 47 +CT = 66a9ccca623f4a1a4191b134a047d3823bf1d71fc5ff8a5cedb7b8307382176584a213d306cf31247ffbac676bbb3431defebf +AAD = e534eec840e5dd5db1de02e61db016f49a1122930d59b81dba9414fde568269a433e9e8bab9e633f73e2cd2b8420250d +Tag = 6af040890dce9f6a5cdc1bff1fb4f64e +FAIL + +Count = 13 +Key = 733f9c3f0e90eb1acc865820bf750c61 +IV = a1 +CT = 2fe8a9fd85e8c36fbf20ee6e73450319a203ffd64cd785f27034b60d4b223485bbf5db125128dcd149f2a0ce97ed8398cb05da +AAD = 84bc94dad5cab308d91bdf0b1e64b71ec8315a3e7c4a247322e8059ec5ad9a4eececd9f45f5d66227d62a608340ce1ec +Tag = 93a95abbe33ce66beef1b410d4e06051 +FAIL + +Count = 14 +Key = b0be91d456d1c5fe6babb1a2a90f814c +IV = 92 +CT = e12d15e0fe93411fdbef3f09104ad9489ed9396379bfa62e6e7c336ef6dc3e9d7da8efa2e3c1c82eacf7206bb31da3bca3f283 +AAD = d3b9176f7f8712f14f5fe3ab4321f6e8fe5e3be8323139dfe283874cb50f0e75b06e102efa8bcd1e44a48bf254b42fba +Tag = 4bf598113abd443ffaffcc2e67d5480b +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 52981fb81889253906b39929e315c310 +IV = e8 +CT = 26a3ebfb77769785ec05c96d42534f8cdeedf171afd3dd4218785c3f4eb733c5bf98f0ffd9a296534e184814e62d246caac5f7 +AAD = f91344f1793c47e21c6a787a2815d027d068b6ed294ab87f3f327390780c721bf3a5ddcb9a6632908ebeb824a25b88cc +Tag = 7ffb2854d2bba5960328d40ea383e1 +FAIL + +Count = 1 +Key = a0f521f50dd242717cf11d7f19c48273 +IV = d6 +CT = 29bb8a671ec90821a5ca2a729bb83bc5d872d29c37fe1e62f766dcef4b9f865039e48ac45b101885533bcc055be75382cdd06a +AAD = 8224e0d576469f9694ee79186dae76e68ecd5a125afc8e53e387ad8ec409d3709371c000df75575d50c24706a5df4c53 +Tag = 02e1d20b7ddf2752670b41ec392a58 +PT = dae0332de19b93008d2db2a2d7259af2292138a31fcda91119dd58ac255a450b1ce41f660b332be2239f444adbcccaa459dc8b + +Count = 2 +Key = 1bcd2e9a7dc8def075205449b7cd7e1b +IV = 6a +CT = ef3ddef882cbad2ee92ea81917fc3d521e341aec4b46929c0e47e6b9f9119238cb5cd609fe60a6882f74e220da6af7f6e48384 +AAD = 51721ede2303ff41d13dc52b2781c43f7f75f83e74221619601941ef5b78b593eb5eb19532de6f637aefbbb30835063e +Tag = fb3451f15f01b122bcb77f554e8d7a +PT = 8c54bb1fc06aa61292315b3dbd3ba4bbc2112f8777f76e6430e7ff0a8f7409d273b6111293fcd4d2367639aefea08c9577da12 + +Count = 3 +Key = f3cc170fc3d47cdd4e4dd06ca75e9371 +IV = ab +CT = 75284b7d28a4d6c50fd8d9bc725856472ccf3c49f7e4f240fc5dbafdea9786addc50a96757e5ecdf9ca9cd27b541a0acf15ee9 +AAD = d8e4ab80980ce43a9577fdc2f11a0177d87dd973eb8cc04d117c749730e2e741f378994334c66517f402d6010888abdb +Tag = 614f0e6fd148e834a65dc7bd05eca9 +PT = c677c377ca2a02ef88510767663651d41718c13736cbae928341e0e125d53d11af1f6c90bce9d9ed0efd7cde65c9ba54ae36ff + +Count = 4 +Key = 42337e4302c76ad9a150aacae91e34bf +IV = 23 +CT = cc86bb51e84793cd5b0bf1ba58d9bb1b7238e038cc7b89af43d7ef95c8542342f4b2b8518925e8f890d94693e7d638154aff21 +AAD = 0766fa82e74b319e17f7a190bc34e35f29e12d016046e3caca12d194d18e7e8fecf3699e5e2bf0e190630a0040f60a68 +Tag = 942e6fcbc02956fb9aca46a288f89d +FAIL + +Count = 5 +Key = 31f0c65caeccd9a2b25c771e4db844eb +IV = cf +CT = b8bc0b29d047c9c32f91d838970145ca9cd2020052b236104ce4ad7ec332f748a426a01162889ec49444f94ca5a050fc37e068 +AAD = a81dfa02e2221f41d7f8671ec4b5fcae8f7c3cc9ec84758eaad013dbe9b520231f9d0c8c9518fc10565feae28756513a +Tag = c56672680cce566f31e6962d8aed7d +PT = 394391b978467641415c048e1c737ef14a53856f9b785ec468e0132289199613118799a065c9a88f6c07ca2f4374cc8e3f864a + +Count = 6 +Key = 048acf40953b159a6efe8f1cb18274f3 +IV = 7d +CT = a2702c3e82eed7153fd3e63ceade52ea9cfe19ecbfa6fb72884c8b07fefade4d54eaf316b36d92c64c27e8edb5289c87095dd1 +AAD = 0f8d7cb8eb02c6abc89296dad41b91c9757aebf73117d3bcd0c723ace219248d6cb7d6ff35658e0dd721215fdca2f8a4 +Tag = e33e5652b83c64aef8cb1eb532ac61 +PT = 864dbf466b14b21ff8b71d9e2af49671b4f39103b465aedce8a6a0a099ae09a1edf4f6a02e99cf4fd4de28bdf86495ba8220e1 + +Count = 7 +Key = 2e7acaf6f54d5bdf249a7cdc2eac9974 +IV = 46 +CT = cdfaa4871e53d63cea7340d0e8bc0e96b213524ae711cd63025dc3fc8f55c4225d4d87efc901a701075a6fb7366c2092433401 +AAD = a08918102225a22ae7ee3dd8148bd351e11e701e4599372fcbdea1502ee1cf4bb62256aff0669f4832d166d7ccd576fe +Tag = e450d42da140e2edd8025487200e48 +FAIL + +Count = 8 +Key = d0fcdcc7f439e88a426cd1f03aaf9600 +IV = 18 +CT = 969f0f93ded7c2a807e9847038f76b1a3410b3bc5e172da86ba12d960a3fb688faecf628e5d208ce169317f96111966ef80f5a +AAD = 99b499174c507fb2c08d2303b70686c69336dd9abb823a84decb91e6ff2891ba23a234e4370ff70bedbde6e13a9143b0 +Tag = 1346ab1f172db88d83ea1cdcb57b4a +PT = 39359c4ec0c471ae71ea4c67825ed76bb96b6ad0c5befa7e352e4edb8305d231c1e7566db816644e2d23864583dd2f3da2da20 + +Count = 9 +Key = 6783758b1ba1c8a516947cf072cfd116 +IV = d4 +CT = 7f29b7902f42c5ad35da8ba5692b0f200255384534092b2d30af61d63cdb99131b52be0e63e25b4dedc41c622782d70521fb85 +AAD = b2be39e4195adb9177d42bcdf4068f0354416ec6d619538d8186df1c15d4cbeae45aacc80ffe3ca4c2999734065075d6 +Tag = 08f7d42ddd56da0f7eff8fb14e8506 +FAIL + +Count = 10 +Key = 84744d0bfbafcbcb92263b929c899558 +IV = 7a +CT = 32575367920d35b2957c812e694fb91858b7333e997ec1803e2f88c1d53c7e19bdfd3a0e99e61529c96b4bcff32d33b2084d59 +AAD = 06623d22c26372efe344098920de5090cbfeb8d83ab17571e04c9f90908fb67211f9f084f726237df88a609231abc2fc +Tag = a2bb1a08a68e217f568e9cacd9e4ad +FAIL + +Count = 11 +Key = 86aa2a5a9fc575877223cd0925bd9661 +IV = 9e +CT = 10e9300ab0d8b09ecab128d044872bb089ee4daa923f69f5cbeae23e9ad48a11782da737133e80869220a30b9c27b3792d579f +AAD = 38a590e137272ae22fa1cab2ca8e2860e68fbee4f089429e6eff0ce3ebada5982dc522449ae2060a14eaf96191385c88 +Tag = 759e684afa8c83999cb9dcb2477d08 +FAIL + +Count = 12 +Key = c7824362340b56b473bd14cd2ed6830f +IV = 0e +CT = 60f0f9d9293fd40c54d725ff3e78f2fd8417648aa1c9d2a6a8f11ccacee575513968aafcc54d628bfa6e99f90797da2b46204d +AAD = 95228951ba54dd3f4ea09bbc682808e76d635b133c75727585f6ada1f16cf45044ee41a37e863c388c0d954c5ae7df42 +Tag = 1a9b8a116d68c68bdf0a46390d4c73 +FAIL + +Count = 13 +Key = 620929f6a52e38025c44643ebd4e8a2b +IV = 89 +CT = daf160526b89d77d672e1d3d8cc97ad6f580baf7caa2932e32369becf7816d92da8fdcf6fd6943baa37536153826328646bc30 +AAD = 7011140bcfc316774f67da40672d919be36ebbab35cbdc138a938ef088c0fafa13d4dbc1be0330b1813d7aa44f315ff5 +Tag = a75ef409770e026d49d64e66b7ce59 +FAIL + +Count = 14 +Key = 70d10fdcdad25aff1eb39fe9240451c9 +IV = e0 +CT = 818eb2ef8a4d81a7c62b0261e5656ac65a93530cb6e41a97f9c670e8f4b7942e1997ffab81a9b57ed55c81d08155a7b1c19866 +AAD = f864cd0ccca967e20312324142fb64122eb57657488e18c20fb970a33a2e512d7fac0f5fe8b5ed97f162df84f48180af +Tag = c122a15bc5d551c14aaad66e4f4ca8 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 24b7a080e0d109d24a1d3f1c1fa74b7c +IV = 51 +CT = 9378b0a1f98dfdf73e10e2d1bc225e67d75b192a81c8b097e45b09012e5208c76217d60207b11f2159af551501d0a6a118e72d +AAD = 0fd69014e5d3ba4bfbd2f818d0a77212fee06a8b158e0aa21446d79db78141654d37a56bbfd2b25e0c59cb555a3733e0 +Tag = 212f96956abe317a8a58d42656cd +PT = fc66290e465086a70de36307b8fc9545936bffe54ec293927424dfb9ac17b3a7a342a616cd939126b9d5ce37a8b833c1ab0d57 + +Count = 1 +Key = 560ffce6bce1eacfaa32e32aedafb968 +IV = 8f +CT = 6f6bd38210a842b45860d8d5d2f7ce970c8a2173dee7238f810066a4f180f411a7966ca00b53b6d90c3178db378e7467a5609f +AAD = 2f673301b034788c3e98abe5e8e1b1e07394716daccad60cb8db82f5a4ac9b8655581d315f3533193916a272c9214885 +Tag = 9e689660cda216547c16fbd8b179 +PT = 98b3250cd12ceb3c7611bd5475d47e9dd8471ce3b54330df001ce4cdbbe2be9e59129a498cffd19b67caeca514a6aa47a46ab2 + +Count = 2 +Key = bad78e799d99e9f225e160108f2b871d +IV = 62 +CT = 721af18c4afa7e1ea1758ebdae9329d021ba5ba7f91d2eebe7a9b821fd9ad42d7bb6fded309ec1da561150c916c9ce2f29c6ae +AAD = 18d7b5de668df1a6279d3ba7bdea191ed54b631051698444f44f61dad26a08bebae6233173b4d8566c03e986d7a63210 +Tag = d09c1a20044f3d50c83b55754c49 +PT = 9fa3918f89025dfb930e202b9cb2cdbe95cc97521c73847967d7ab4751a8279747ece7fac4189a15b7e0b1cf9ba15eea3f7d3e + +Count = 3 +Key = 5432aa271121fe2df96e1741f37a2068 +IV = d9 +CT = c0bc34dc86b533e0f8d83c47f0c0c1988ae58376a83317836577d7799fb813991e8daef7fc65aa75f4373e52dd3f8d1ada2ab2 +AAD = 8ebf9cc0b745328d5ed060d0f030a2d999aaa88e0b1d915cb46ffbdef0bc458c0b1ec2a657116e905c0b223a115070dd +Tag = 4ccba68b1b03e2f72fce0c50f88b +PT = f1ee10fdd80a4d3f3e55884c8686d618857906a1fc167e6d517d6a246c937f0c59e6a9448069d98bb005ec141cfe68f95c6021 + +Count = 4 +Key = ed54ee54964bdc2fcc89c57293a02739 +IV = 9b +CT = 7551840f3a9d9b5d9e833f3254d0f29d5b8fd66b81166912195112fb90a7ee42cf57c5b7112ad2884ecbcfd01725edf487bc20 +AAD = 8ef41ec867275b1eac48a67fed769325ef319160097ac5656d8275156da78e012d0816d00ad5d1c38f6762144127994f +Tag = bb66c98464ba66fd23d26683632d +PT = e6e73a7fd17284dfac91ace892ee19d7729b5250aa0da62b10490a239f7e757054f8423982147542d445647079e245d75d921c + +Count = 5 +Key = da9e478cbeb9187be7fc2e96e29be684 +IV = 57 +CT = 7a2d346e1665ec3e725f3a8b87a4156c5daf01385cf748947c7d768adabaac359a3c9aa91df14bbca0bf8d44544a16a6d31c5b +AAD = 5bacc8cccef25846c1fc061232364663f7bc32bab6243a9d5201da21ac32c9dca1d1849f2ffa21a3b764182d3f467813 +Tag = ecff03e1cd400ccaab1a43dc0a09 +FAIL + +Count = 6 +Key = ecbfd7f8c7c8e44ee19a20753f73ffc1 +IV = a0 +CT = 5ab58af1a5e43513e232edf6e94f7de06facff7ed45a251cb1e8a7c9cea3b1def03a94d0ce8219116d20d049d66697d1e63e5e +AAD = 36592d3a6ac2e2ab2cec31df90408de214b3a35788367dc992ffc6b77984ec66778d827d472cf13a8189be1d5156d08c +Tag = e833c0bbc1a121d29dccbf196142 +FAIL + +Count = 7 +Key = 2b75794f60b1c062e0c2af00a69d79f0 +IV = 80 +CT = 5c31de0e36b5b0d5c784c0a7341e42d506607092eddf96a4e6e8e6fda97fc08f0dba7e6738366cbeab8b10d7f0415b93beda14 +AAD = 17d0b2f2ae5a697d1958de7a3b310365669cac10284cbd4f9ebbb9c85f054ba13a91d9f74d9e0a697114b1ebbce56006 +Tag = 6d6b03db8f0067dc5fa93b86d94c +PT = 8fbcaaa977e0731371a30cd1416208e7949e0f28421b62d49c8010ec70ca86e75e8433758124bf7da87160bbc05e32506345be + +Count = 8 +Key = 3eb2cfba721044a86cb1104423e2b571 +IV = 80 +CT = 04bafb10bb011b8949b2f0d8cbdcf22343a1e8c336f871e70423354acb0406de93a3ddc341a35e27d2c68d18601856afe84a57 +AAD = 2979a8bb514732f63d4b8bd025b9c9c669c81eef713d0981bbedc83d74bf96536ee4f8d99b554e6ae118eb826f73393a +Tag = 67b804ae964ff632a8c4b667069c +PT = 03be917499adc4d690953dea61ad6fc38b62b8fe21d604df1a1578403b64c54cb6d9431bae411e5f9b34b999d7bd871b6e5610 + +Count = 9 +Key = 9a927faac82b1badda29a59eae2c89b1 +IV = 6f +CT = 1a144565046efeb495041212127a77bcbb94f803e34aaf374b07908d9be4b562c126fcfd36a0aba91a4a375eb1b9cd0d17af13 +AAD = d3ed713971ede5e2a63677af6035e11ce76ca4c0ec4c308acb0c45bf9ea4e33d5a8cd44680cf7cb921ee8c13f43a86e1 +Tag = 9c41c189154fd65a5b6671d00d4b +PT = 29a1ed54b02e8120045b07f699886c025f59ef529b336e473b43239fc4a8964072bd516e24fa4291bc73d271cf16d7759d948b + +Count = 10 +Key = 151e377ddad35c62400bc92c3d11bcf7 +IV = b8 +CT = 939ebaed0e87ff75ea9e988f315d408d62c85d7506384ca1d311490dbfe9bd3f7ed76b9dc48c28b357b68a3e99dc098cd259de +AAD = 4bf910e0fd2d9e4d2839279b224ead16e62479024692f89f2ff507aaba5c72b2bc2df18f49b6ac87257a4dbfbd1685bd +Tag = cd2d673d0dc2600a2b5964520d0b +PT = 6d78fdaece8dc770e6229a73964a66d84ae27ab3e39e04011ec70c574c42b483ae1d4af88795e19ea3a8eb9691f19f531b7d17 + +Count = 11 +Key = 95bb8bc9f72a23b250fa6eb44dfbd3b4 +IV = 8c +CT = 72529e3074e901c40aa20f067df6bba0511be56263734163dcd47e9064578011859da38aa0e77391f84d63c93b3e06fab1fbeb +AAD = 7520d95da828393c73dda51494eafc2eb888a7da64dd0cd44ddd1c218820d49d308aeee75210e308efef9353544ad162 +Tag = 313a61be65d927f53bb464a727e4 +FAIL + +Count = 12 +Key = bb0ee9e65210e4b6156dd048e5ad1a46 +IV = aa +CT = 6ced84fbc8eb0c86bd88e46c142f095e25d7fb6808e7839dd47d31cd08d0a5e9319cb4c451ee261fef295bdcbc91de37514dc9 +AAD = f77020e87075dc5dca894604ea64b1647c9a17d480f2d317ac0a4294f704a8ea36464dd580c449a209cbcd3d6d1c26a2 +Tag = 61e33002bcbb68fbf7a411d541da +FAIL + +Count = 13 +Key = c8f9cd8a84eb6e67384f05e8a4402d1e +IV = 27 +CT = b8cea473ed7ea31788d8004e38983af20b02ed6e3ba1c6000503ff94a698b2ffd7f58a74cef3484e2033c0ddf964286f050184 +AAD = cafc44b53ccd3c5eb14aba7f42a985c353b4b582e878faaf7ee0ba63602a2b1982847994ce283fb6fc2f5421ce2fcf5e +Tag = 67d4af2fbaaa1686bfe671a2078a +FAIL + +Count = 14 +Key = e3e7877e129a90711f5edc3c6b9c2b2d +IV = c1 +CT = 335031ce33dfec56a857887ccc3330dd67369f4e0773dc1a0e15bafe34a782e57160fcd3053e7a68fe434938a4c8bd1b0befc1 +AAD = d301f0dea36d865a977eedff08ee7d1e7547742e384e284e0867b74a966cbc9143f63be27bcddfeb4959242cbeaa3af3 +Tag = 680f8fe5e5d981e77d68cfa608ad +PT = e3d48995d342050cc962e7af2bde338e7b5a38ac29cb29799d4956d7faf5d55c8c6d0e811d5abca3ea16e1184a4ebeb47a35a2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 69bda7dc370936b2ce1c7452ad8f34d5 +IV = e6 +CT = 6f79e706b53aa3163bec221aab511f8e0378cf1c8e9b00af3b015adb319af3af631fd7fbaa1f0bb868931c98832953048a9084 +AAD = 28eca4cd4b78238e3206b400b5f389dc640228acb0f7a303a8703a8d4864a0006c13759eba79b3bd3883a19eda8710a3 +Tag = f320b219cabd0dbb45ef9d168c +FAIL + +Count = 1 +Key = 03980184d0978a1355845887ceb9d17b +IV = d7 +CT = 355c12b4c9f222036ecf5e9597b5a6923d1238004952ee74f8dfdfeeb607a9c7a9310c443699b3a017d2973edd9bce927b5bf0 +AAD = abe130636c46889972e709a14c9f160d21ea2504c5c07c4122bd86c8c5795987e4c08d9cc70f63576cb51906df49b1be +Tag = ffca7bd4d429a8763ca3c54bce +PT = 838ce7a90d1b2c9c521a654385b42d9259432dd2b01abd82dcf413a97d3b19a224c131577fec2259df9a262223fa7792d6ed6c + +Count = 2 +Key = 1285c69b0568d239f4d30f9d23e1199a +IV = 24 +CT = 434bba2d4de24bf374aad121356ef7ccbecaa97a21643bff4522230e6b7c4d685febcf085f64e95b1f6437178658db2617cf71 +AAD = 181fe0313c54ba18784b01908c9806242c345ced5c2e3b3e490f346f368262d0f332b834aa9dc97ff762839497863f87 +Tag = a6fafa7bd40ea091353206182e +FAIL + +Count = 3 +Key = f3eec6a41e4954bd6554672496883f91 +IV = ec +CT = 11212027bbf8fa42e486023d2038bc3eb0b2d29c877f925315fc8fa3178e8da3263fce2798c255e2a161c4729297b1221ee7f0 +AAD = 929db0fa5dd8e00b58329bd6c8d20be1d4de01625b18c5ee4afed7964d1d92afb40db64135a961199657899995a4a82d +Tag = 145473bf0d7360e6199266451c +FAIL + +Count = 4 +Key = 0e3e0396b57bc53229c0d15701372ba9 +IV = 84 +CT = 3ab257bdba9dad03818e9b7529e1cddeb873cf7f484767bca509308627adf45910014a6164497d953b8d63699a3b5afc872981 +AAD = e2511f8e6522367d6a99b67774bbafbbe8be4bd8830f4463f3bcdfd6cf28bfa6c73d231c7cb970d4fdf3afb0d8dcd02b +Tag = baa6d451fb66473d0495420073 +FAIL + +Count = 5 +Key = 428d8ffc84c64f44a5e8c4c314a2de57 +IV = ac +CT = ac8db5c1ea26346a5d823dc60027390710911d5be45d80d8105a51ffd2f59dc6776f1bbcfd260421d2853ba220bc7905f94b5b +AAD = ed3d93df26ad5f9bc9161bbbe25a8b656ce46da537f01fa8930ec0dc1ed2616c4bb985826c07816e143884f9b723981a +Tag = 9e4ba661b1bbb0107c72688c34 +FAIL + +Count = 6 +Key = 45c7b7b788beecfb826f12326acc3773 +IV = 47 +CT = 8c0ed2eedec26481f2e099ef9e775e7c0f2d82ff9390a169367a1442230f8f379399434b0f85df85719037b6bf8639aa814017 +AAD = 1ab9696718da1308aece3bc0c8338a5e4be9a2403dfa3f1e73b5ad86b0492d943dcbd835c937ee58f15133a8aba05623 +Tag = 68b47beb9a496a15ae4c5dd54e +PT = b7fcd5d1cfdbae96d8041eacc9685c82342b6f6d5fc2f6b530981c33bd684600ef7a3b7677bba8d48e882f169f208676663595 + +Count = 7 +Key = fe2f0067594753acd587ea8cc12b1786 +IV = 20 +CT = f47fd65e0844878fb73a953dfe6673e809cce2106b392bd31de29c9d6392883b13450e2652c79de2a613273e36b6d290a91a1f +AAD = 0fb6954fd45c7b14469cd469d9b6c74e103a359bc19ea0ab896f101405ec1f81c6347c87f569682bbd55baf4f35e0c44 +Tag = e3742f1efa8423d80baf9ec8a5 +PT = e3f18a86ad2a06a7cd2dda4583db8542940c95cffae7ce82376618d116355e7cf35f14cf4f0ae4b42a2d6e78e1cfcd4cd9d50a + +Count = 8 +Key = f46e3abeb58ba53f001f36302e593f36 +IV = e6 +CT = fd0c69aed43710cb011996083c65d7ffa772c9b50c096916d18e717ae0fbd3ce8e3fe5a0679c066275f46a6e4f2b132176b927 +AAD = f806eb5661b79a0f48a6dfd519f0f75dce7ea1c3f951765c43801c86696679b8cfcaa75d5299c7977f6bdcdfe358b387 +Tag = 7fdd75fd2f85551426d2b4a0e9 +PT = 15a8d285a51e11345989713c5eed8683c6a1887c3d55ad8b12212fe2bac4c8ad27240173ffe86cca6e0c172bd5a25b5aea0e50 + +Count = 9 +Key = 378bd6f99c433417ba4007058eb1387b +IV = 1e +CT = 399da282133c07222677c1c0ca02d5cb86dc56d33e44d5e0ca115bfbf1bc548ae84960c1cd479e04b5ac625f240a75f9505a73 +AAD = 2e159b1c8bd3266185223a62b87893aa2756c257faf036be53a9e34948e4a64df72ae66fbc17726ba992c143207a4204 +Tag = 9c02885ecf000116be527620c5 +PT = 66e8274463ddef427a53f5644f2f06a7dd49dcb2d62fb8e3d3f68d160c7cd2b1b325891a7050c32ecf973c94c9e6f8b7309fef + +Count = 10 +Key = ac0ebe636bd0bdbcf10d7e94494cd47d +IV = 60 +CT = 5611cedecb72eace2194d0fa4ee82ac1d04a18c342a9be0c7a341721ddcc6de57f9c3a31a9efe8aa831bed983e2eaa5d6e2e6a +AAD = 6a58c0019ae96f344673bb0d98e2c6d43502af7e9bac82ed79e8a2aa6f5a33b8dad0c8555aae19180be9ec714ea6fb33 +Tag = 0f3e659fc969648173cb5fa38c +PT = 309c61e5e2f6f52280cc2dc8370a67738310403b6406c477bbd465f9499085207c2c12945051113abaeb438c02d4dcb085d299 + +Count = 11 +Key = 19943cce9c5bbc08589d389406bf7d3c +IV = 9d +CT = 8a0f15df0c6ada5ba645059dcdb73752c38f418d75409082340f8e6f6d9a54ebb3066ecd7c5b4250bdc569916c6af91eaf0c36 +AAD = f31c7492218295ffb9533ca4ee26027929756b0993ad14512f60c32492dde33a037f99584e092010037158c60053a9ab +Tag = b0b142f08e968ed640a19542b7 +FAIL + +Count = 12 +Key = 1e6ed7d7f2db0c2a522b50527d46e299 +IV = 81 +CT = ac2023677e40fee7155cc3c55916ab7aba35876875421085f662bf711ee912bf1e824edc65d93577d0a89d5d8aa79c67c75416 +AAD = 7e48a5d5420228c3ac22f24b576c90228fc9ee17efe4e90925dca90a8fc83bbd5a05eca456cbd5d02081812eb8ef32e3 +Tag = 9ccb6a178ee64b1742b19b222d +PT = 0e1bf8c6fd56d7d520ec3c8b5d03be4b76bccecee719b1754901f40b5ad1343547af45785bb0251679996df3b415d1fe3f447e + +Count = 13 +Key = 930d33d099852d47f5109f6f8b252952 +IV = 26 +CT = 9adb15dbddba2a8bc5f5ce4b7bd2bc612512ca646bc29ebdfc94cb5faaee72af0ab8a99bed66f7082ad97055213c2110970981 +AAD = 68885703c36d333365ef2d7b8caa8bda84865a7484cf4b746dc223b842ac152dde2b7fd4fd11e45ca665fddb1dd21440 +Tag = a99cfe74386b24fc00ee301182 +PT = c7da7229a505a648d3b687bcc3d6386df12f88f92847a15af7b5b858a8ae9f3961dcaf7a1152476c139aab71a1d07386bc7fb5 + +Count = 14 +Key = 42e0692b94149182bef09866f4b3c55c +IV = 04 +CT = 9c476b7f0a5ab9d8d536da1d797a48c7d1feecae0599e6a650c27c921f96503e624823bf46f69fccf521f6b121a0748a152e4a +AAD = 6171dde5635ab275b15eaed9eae7cf8c171b75482744efb5e5f36cc88fe12afa54a35a9fde15040553b41bd9a347416e +Tag = aa6d582b27f917d573b24db663 +PT = 1fae0dbbc70183725650601e76fafdb831005e31b2ce902a93b540af6fbafbf80796320bb3ae73e53097ad59f6ad72af61d18a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = a99752b73cfef52f982114051e98d8bb +IV = cd +CT = e4c950f417925ab6e4aece4948dd5eb63e18e10d72389cfea29d85ae4b4eb78634474c755addd78a302fe9f8c42268ae9d7613 +AAD = d7feac852c3afd98b838c5046280662c5b3ced8d8681098101713f385c664cc9b8384a698d94db42e95990a77f67351f +Tag = aee510bd81e3179932a1a72f +PT = b21757102be21317e69c1990631d1f7f2bbd89f5c6c426787ddfd45a79c3fb81ad54af39d14c317b1b75b3d14115ff122669e1 + +Count = 1 +Key = 73adb822549811be2a8bab07c9683151 +IV = 6b +CT = 2946e0df4206b4dd686d95cc12318e4693875a34694f5ba0040fb48f59352b2d4af72fe5cc112422afade334ca503532f4c463 +AAD = 55fdc6bed4a8c7f591706e16f8d408e03fc70adefa704bd22bde9c00d2a52d4ad5e8efaac4dc5d33f1801853f8aca707 +Tag = c8072b2578d489ede9cc8255 +FAIL + +Count = 2 +Key = a52c434f343a950719773c9178cc82d8 +IV = ee +CT = dbee4b781d490fedecb5b5839ac8e8e56c56bd8393c5de0c7b00ee7b95d9ef25d8e730f2145fea4ac3a7b36b6d395f22329f1d +AAD = d00d8a9077de747040f85d30b03c74a6c777a19a773f48171b952a0dc5d883b989a0611754cae443d09cc093a7a56761 +Tag = aa6044753bf5814b897ccc02 +FAIL + +Count = 3 +Key = 0a10e1b7045e2b5351d8da1ba95d9034 +IV = e3 +CT = f8170e85dd333a6c113b7d0f43ba39d65371c1cb0a25cbbf1361e2a2df8e2ba2f502f395bc3e2ed7b19821156ccfa86f27af5e +AAD = ae46aa663a97ef3f3a0b56a923a0dec19f1fa73f098815142ea06515901ffc70af568234e369880c399c6c5944c63cb0 +Tag = 309097a6061c52ff484fc7fb +FAIL + +Count = 4 +Key = 724a7d6768d3114ef6c8ff4f4a1eceb7 +IV = 5b +CT = 4a725a1d9ccd8419de3f5411ef1f43011bab01c61d0c11b92d5981dd9277fc6d9c0ec16acf7ecd316b8cd94fbd022a52e654ef +AAD = 6aff89306f5785752d974b44fb2e7a99ea95cced656d400e34b697c9f90992d6f4e3f98f3dba15942e45a24d31afe735 +Tag = 3bd191cb9b614b2e555560c7 +PT = 779c8db7cf4fa3b09ca46c3246a4edc479ee680efe2be381ddbc5986fbadc436f7fb086118ef708a480f7c85d9c7f1502ed237 + +Count = 5 +Key = 55dc701adf6e904fe4a08f4d9f3f1ee2 +IV = 4a +CT = fd3676e28cd358400f9d481ee5d433414d65746db1173f71bf3e8d6bb1e41b98aa786926d71fcc988b8dfce767df5c9545cc25 +AAD = c0f869a1c4f7c610e1df24bc76c6adf97d7d4d7f259ac9c80de0cbb0c45c1e522498143e887aa02ca3f155320496a63e +Tag = 0ec5caf656588cf9922bbb1f +FAIL + +Count = 6 +Key = ec7f71c875beeef22b80576d3ab7bff8 +IV = d2 +CT = ba0b5a575d8123d32a998f59b7c5975f96195bd82b31a6c5e1062712322b16b405591598ae10f987018325df617c316833e828 +AAD = 5f665e605d84ac14c8e3e51ac964e54c38387ff3d542fea01a681178dc42704abb79abeb21f125277038a9cb87417b23 +Tag = 958953b0d68bbeef9510c949 +PT = 2fbd79a6c4a76546299a9105331ca7158e0348dfeaed7623f22d41dce3c8c633e2e7516dfa6f317e45ac0ff26611cc59559abd + +Count = 7 +Key = 7fe53576802f7e4fedd9edd620997599 +IV = d8 +CT = ddc3def75de362b827264cd4321014b70843b52dc2e94f5f6e6282896cdc094fde58b687f64845195b84a6ab5e8173d56119aa +AAD = 54a0d8735f77fcd01cc0249acf415e28b62e59b78448dedc87de9440f5b3454a16c021277b1e77b13bb9f9ac6d88f69b +Tag = 2603029982fa9e5e92e507d8 +PT = 61dfa5a5cb482648e846d124f175bdefed0071f54c93537c6dc90adc0c1f11d728152db21d4add718baa50f49a13dac05d973e + +Count = 8 +Key = 33f45030783a3d9bc88bcccad18e02f8 +IV = a4 +CT = 26c43664fe6ecf42f66196f7808ae9495677d42f3a689215c88b6cda414dd98bda35435afd820f35c0949e4eb0d69c07b3d235 +AAD = 90ac0d77b9fb1faa0273fe55881a8e6d217f67914c37aaa5aa564355da29c54d11c70614120dda5c77f560ebaf19212e +Tag = 94dcebd9454efce134d89491 +PT = f767116c71fe9d60cd3dbff3da667cbc94b2574a7ce143dcd1e488b4ad1c34200d916962375c148669d88a32ffea1b709d6b2e + +Count = 9 +Key = ed0067a69d6060c735b6398ce58c6f0b +IV = d8 +CT = f9f67de963c82012bd7ec1d311157eff014cf409aa9170493895812cad2932f15bc5b2e7678a612da16f7216a96da1fe031365 +AAD = cf0ba501adebb6b7e74cdc73d64087087489048b5f0f7d74f5c4867df456d211b93f4e3f7ffd9eb0ac1c1ce98d08de6e +Tag = c7a5c3c9c75b07ae4e1da530 +PT = 34945da2976be9bda7f336a80459ba84319d4a067ca0d68a71c1e436a6d648dd1cccbfceed28eb66c80ee03de639beef24deb7 + +Count = 10 +Key = acf9dd5816e6c2ed995581802bcfe43c +IV = 41 +CT = cb1f394bae10562af3c1e0394a878cf5d0ebfdb1e0aff638f20376d47fd078e9b494d521e5148a219223dddbb6f37050257fc9 +AAD = 751e997fc2e0a90f3c4ee43de56f58de076fa2f176bb37d012b65280acde54df485da20fb2f4dea90201d4fc308eb1c8 +Tag = a0376886cea6638b7a253a95 +FAIL + +Count = 11 +Key = 401b1465372c6cf6b9c5470edf63b0ce +IV = e2 +CT = 446e452438f84bdd7e46f9d84fbd11efde974663be12212613341f08b0ceba2506265a21355b1ed8911bf5d85448796c51a9ab +AAD = ec44a0723abbadb2d9f910ddf6bbe8556b822c01d882f85f9d3718a705acea3d6c34ce9f03a1203a280f0368b8438b01 +Tag = b4eb54a7e31fdb87ad0e8e84 +FAIL + +Count = 12 +Key = bf31c16cbc20072b703582a2a519780d +IV = ef +CT = 5719644a55ab48eb1907fbdd8be348908b3d4d19fd22d79e34774bad365440015325f41fa650efb1ca601482746710960cee67 +AAD = f0e4361e9956f227624f398121bb2adfe6c5cff5f02491479ef04e0087878e7f0ef69c01102b150e75edcf958203827f +Tag = 84e902c48df6b8a1f722f6e2 +FAIL + +Count = 13 +Key = e63b8f324e77a8cc993caed3e559b53a +IV = 4a +CT = 1284a8f6c15f3b3f03bb120855a1c359339280a57b6bc4c440d15041418d4d3364f7f915925e63f73e2f1522d11bc2f29428d3 +AAD = 64b551d0868e826887a08fe1eea99cf6522a42853f382db3ba38c5df6712c77b027232a43719a354a79d35aad594961b +Tag = 4e0e9ba12528fb2d18631de4 +FAIL + +Count = 14 +Key = c7839bfacfd996f183f7f9e81a344d87 +IV = e7 +CT = b8d23e6e46ae5e8feb8207e29d57d5b6f3aa5db9201fdad0fae2cfb243bb2fb2b3e27dfbe11a02260aa264c27200393722817a +AAD = eb9ff23577be6f44965b3cad5234c59b93f6aeefe75f308b97ad4c2aa54a908b824faaef734bc20a849dca2080e5b60a +Tag = f6a5cc6d8451f6320bbabacc +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 3de666429379f053e9d613d4dbeaef96 +IV = 3d +CT = 089d9ea8b602819bded70daafd17b568a60284f69eb0aea888bd7a83b00510e055bfe0593d9032114b033763116de222ea9dc7 +AAD = f41d5d323929c33c04674a9418ee411e9599a41ee3f3f0446a7b6f3e47605a24695a223427cffbd0d528703888d348a2 +Tag = 6d33c184c617c8f1 +PT = 8af362e160907d42973e0f269f0c25faaca29adf2d5603c5da3f578777475872671d281a940c77156a0c9f3ac842cd3f14bb30 + +Count = 1 +Key = 99dcf83df09c61c857e761a587fcd61b +IV = a9 +CT = f1eb871c1a5f4fb8b2bc2d8f35be58725e73b32610be2d745e161f6ab1dfb9f51a77a85577482429292a951f4e6d2c45b40ec7 +AAD = ff8dfb7cf17039166df4555bd11d54a1107f27a30cec70deb31e7e6e2709a49c83eaa62b5d0fbaafaeaa1ae6eb84ae64 +Tag = 378bc5481f834820 +FAIL + +Count = 2 +Key = 7050a78c37572b0ec57e0294d727fd43 +IV = 1f +CT = 2581bd022e77cebafa7afc83a6205da8cd3c81744089d59b04a23b91a26000c43accc05f47a360840913b3ecaf7e2107ce2688 +AAD = 37a0871213828652c7a151dfda0d8ebe426e2d0bd848dc5ed807afc155b46b05c933ae02c5ed5f2bd15db958014752e9 +Tag = 69bf602494dcfda9 +PT = 8a55dc3218dadabc983feb925f98837b91ec0f29893d66df39f31d35b9340c4ef5bd06d02a0209e16a7f7d300c243cbed68ac9 + +Count = 3 +Key = 86f01bd4af5e9c42443103efb325bf4e +IV = f3 +CT = 9b5c2fe5d22a161265321b0c05e759a2503f048168599de909f7f4f80a143e3e97eee253979de2347d073a6453cf6bef6238b7 +AAD = 9b9d7478f3f07a22d90f3a0a9429644f11356b401f47a86698c0106aebf604c7fd40582b684258c8e636dc695ec30a6f +Tag = ac069719688f945c +FAIL + +Count = 4 +Key = 0203779ef6f1593b085da1022d4eb165 +IV = 61 +CT = 26de0c59c314148b4519074aeeee67acbad28a7f8f8eade77245b0375fd28c09b346f98e5465e1929abcb1991af2a3832e8772 +AAD = aa9cebfec0c7551211709ccbd521bbb3b1a797cd7a4bdc95bb6e77fbdc3a5266b76613241a000d19ce174f7e7b5d9df2 +Tag = 9444fadd2de84828 +FAIL + +Count = 5 +Key = a07caaa28882e9cad5009b7c0af5f0b6 +IV = bd +CT = aef499079f4b1c00568f57857c19cab37a02899fe00945a02094a4c630ca2ea7006450f2272a556d0298aff246f1cb72762cab +AAD = e14f672adec12cbd47b640ec6d20cc602380dfccbae731f11e5bbe7b56edc085a1b23c842055cf594983958a505341c2 +Tag = 7a788a870f75761d +PT = 1d8476947ecadcca94bfac5ddfd91e27076b1bc6882ccf31f91f3c1de0de436ee174c9f3a0fdd10a43855d21b208f8b9557e14 + +Count = 6 +Key = a07fbe06e00cc26463d06534512412a8 +IV = 01 +CT = 2345da0f520ec862b08c88bfd132986abde1d02b168e4c8bb40e2ea3753df67f61bea0816b86dc977a0fc7e6d5057e5a72e6a7 +AAD = 5f498ccb34588044f8562413f38d923ddfb0cce0a021bfe33240edc7d2c69a40e0ef332705ca15ef70e93ca899c04b29 +Tag = 70dd1054eeb6d326 +PT = eed0bf5a6e0530292f86483aad59bcc1d15cb4b6413b565802af4c452efeb83a52e1e2c3794f9c9f4557ffde8f350d703bb534 + +Count = 7 +Key = 94da91b1581904d1a40f46581b4761f1 +IV = f5 +CT = 9e7161aac082ae67ddb6b518ce7515587f01c6c0d3877333f042b39029d271ea03fe0e0c90702758f3904e80f5923d82abffe8 +AAD = e93617481bb9dad67bf9860c3d3c8ba769ad8e3085a5b4b05b8abfcd19549a9ba53522c4da57e75f9f68ae9c280f0612 +Tag = e75dac171e89e6ab +FAIL + +Count = 8 +Key = ef8baa65afa96ad86ffa3bb3a2e5332a +IV = 1a +CT = 7bb00b6121cf19b9d781f33d8e442e365543a88893695173e50cc318e6c67686ac4dfa678664fc85df4d33d7c0f579c52727df +AAD = 4d84bcfa2e70cb0d6396b32092648011efafc301dfb0fd589c1a2ed912b68d46953be50f19db79355c3d3ed2dcd9fbfd +Tag = c4c2a11bd368d0fd +FAIL + +Count = 9 +Key = 188ca2cffccce930bc72ade1fa2947ec +IV = 3a +CT = 8238e3dff943c78a2a3b75e35559ecf9945bd1b890b91ec862dc8a3915ef06ec351258c89182c03bfa7c9e10336a454bd43139 +AAD = 08ccda64c3c9d59c627f45fb051ff2a310b43981437fe7934b8ff57da7579a61d988e35b3e552ce51e8669f2bf5ea732 +Tag = 823770de3cfad271 +FAIL + +Count = 10 +Key = c58ba2e658707396416980dc7b56418e +IV = 5e +CT = 4b5ba74079ebaddfe5862622e1e48726e73e9d9e6e661552e04bdd20068642f520a2d904c23484c24b2d5c5c8a57afd2d1d17f +AAD = a39b34f574189b6ece09c90b61ccdc2fab49b08d6968a26a73577d80126bd25259596e6ece8423e94fffb66da7b5870e +Tag = 394bc25cf451ad9c +FAIL + +Count = 11 +Key = 7473e3b4a50592fdf0eabbe3a338da89 +IV = 8d +CT = a8d820f6eb965033cfd86cf1362445085950d6ae972265a3fc7e2a22fcb698b6c60ffe1f3902f4d90514d2a735f5699fddda0b +AAD = 650ef77e31e76d96a4b81de29c7b75b824cc875f53196b28b3c1c0e44ae735cc492844c981daa596f5d76e5ad3c128be +Tag = 53746ca0ffcb1462 +PT = 38ce2bd41643d17fd0054cf198472e05e51949d9163e2267e8dc3505c1ba9523309a472dae0c40fe69da33cbb61c90098d50a3 + +Count = 12 +Key = c478fd82d854deb509b1050053aec797 +IV = 04 +CT = 63575a612025cfaad1d87f7659ec7458bd29b799cd4e22abd3421f0d59248a80e4096c7c4f1275befad3c573ae2cac6f2c3f3b +AAD = 0a9321f69d01802e2049e783413cc25b703582af55f413d02ecd69ebf29a77dbefe26ec93bfe04c10ad4b14de17686f8 +Tag = 13c0760cfd0c442f +FAIL + +Count = 13 +Key = 6a59fc275f0eeee8a9f28bb6844fcdaa +IV = 26 +CT = 8dc0cbd7f00d4f31b655b9006ac6f8f1f563ba4d50bd36491cf3b7dcbcf0b208ddd7c4999d7e4d48f45d01339d7993da4d9e99 +AAD = e40673887744254ad664da3ab6a262db43c357983358cbead1e23f5e85b4a812944e428fda1c3be8780ce36a78db34aa +Tag = 61f8981af85fcb99 +FAIL + +Count = 14 +Key = 9f421552aead993410ca85d21e9b770f +IV = 22 +CT = 70a332b380eb361e64eec78e95246d91d3d856989e039d46a9a35862b20347467e95e79083203cf2f09dd1cd79b2d0fa2abfcb +AAD = 2dc872bd1a9260c743a5933af746062961139e068ab03d377f6593926fca2ca6c27ecd4b2f9e8b567b17b863e1d5ee49 +Tag = f0165af28c7732ea +PT = a992f287306b8502814e7a9e30ed5f4fab5d20990f2841298c77a305b57dc301c256d1c3544c15684487d86aaedb0ee01a5e4a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 86c37b200b1e0c10e872534e77a68d84 +IV = 10 +CT = bbf45eedc267764917e88a32f03df35475d8cb22cfb467e293698e0f19f528426b137f05737a667da1549d62cc0a7085296aa1 +AAD = 30ca334adf23ace249a074e33bdde01a319cd47b0b1a71b9c1717c7f6749df1535df3134f6c16f695b957beb1ad77ec4 +Tag = 348e0f06 +PT = 59781625451b8c3af90eb707c5b684b004f3df1c94f37a9928c949227b2bfc014b0c94e2f4435bcab014de490b08526a45a4d2 + +Count = 1 +Key = d61b67dd9bc895bcdce930782096c673 +IV = 6c +CT = f3503f3643df93270196029032233204b2f0243ef6b39f86eac59f20e397e4b94fdabf904e773b83d55a3c4854faad5009610c +AAD = 81e51b2ffe1c28f8ed7199f1afb0397233441af3ffc4d6ad65c0083dd77d8b196195af085e249c2d3c8eedf042732a37 +Tag = 2910c6fb +FAIL + +Count = 2 +Key = 5aba1ec26f809179ac891f14721a4017 +IV = 42 +CT = c3b7f2530a2cefa525705f236c2e25f90243511bb367cbd7204d6c012a52201d3c8171cd1b3953441d049975d880f4037e8688 +AAD = f1d4581986dae6c826f53188568a72462b2da2c6719df4319d002622ffb49b9f7a020698f24b9cf07ac3743e4cd2a5a5 +Tag = 08605a22 +PT = 581e995d787574ca5e365aaa2e400c2e3db264c4bd078209b968a151610224b0cf3d601255f5bfa7246987911406bcbfa3a4d1 + +Count = 3 +Key = 5ee46c058a76a34ef272c55a0bac110a +IV = 09 +CT = aec8da8d92540f4d4ac1d18693a83b1a849e5b65c93d196531fee08b46a73f8c552887025001efe8491e293705c4b965c3346d +AAD = e885599355b30d63ab2eeab29a3ab1fa04dd9bd2c857afbd63d0ba970a64783c2ac03978a85f131146fd73af10880690 +Tag = ffbcfc5f +PT = 1e17f0dfb1c4ee9067b00b8b40af5d3c4c63c9450e4ca31aeb1bfd9c9c4c69c197a98485bfae679d4508331df253acb03a06f1 + +Count = 4 +Key = a3846ef050b4ec6b67853ecf9b0365b6 +IV = 65 +CT = e704483986545a8f4f2ab60ae7c1e310a96bfdd2a0b5e74ba7ec9125ffaca50d40c108a662a968fa1c007e49855da16b699901 +AAD = 41df33a4f3186381d3bc670ab8c87a8efaa5398d17aa0118d5830e9a1bfb6144276a983aab308d2d94df6462abf1c44c +Tag = 28e639cd +FAIL + +Count = 5 +Key = 884531ddcef1c9bf62afb0719ca0f079 +IV = 37 +CT = ebb3551468b85fac0ef10d472e0885064742f5f00ff646c59e56441a73edc0056e5dfbf74cb2b11a23156371c03f26df24c4f8 +AAD = 75260f98b5a49278e94046fffeeb89c3a40c1f30bbc493bc2a15ce3b4d7c803ad65610a86f3d35433c29f64d5e20b47e +Tag = 898f7c56 +PT = b4dd82692bfe73d651ef0915ce6bd19dbe805202c9442641b7871114b0db91046596f8ba114fe2541a3f8ce578ffac9c83144a + +Count = 6 +Key = a8f8ba5bf7396f8e33a941b8df3c2dcc +IV = 32 +CT = b50374e58639def5b45397142433f534dfb9382a8f0409c58ed62c55c0bc9a1161dc742c3051477d3af87fffa6aede86dc1c2f +AAD = bacb5f36411640c0208a40eed2704cb6365def4977e98f6e0969759e27bf0a7dbbfacf1d62debf31eb27270967ac0d2d +Tag = 5b0036e6 +PT = d53dcd4b80e6dd1e26ef47187ba6621409d969d8cdf33748ac72821b5a1dc8674c64a1a1562556cb33e01eb3463a98e2b992e6 + +Count = 7 +Key = 439e25f4ff92c53be383f8d6b85ad1db +IV = 2f +CT = 95ebfc7f573613b014de0c64ab9da2bfebd3c265f4b576439720130cbcb061de1aed06588857ae3d90dbb5c8007858d11975b9 +AAD = 9a30dc4a8aac7b188020537fcff9a58d28d533b231c7b8c18f574b43b05d1d2bde51f0f96486b4fa5433ca156b3091a5 +Tag = 4b4108ba +PT = 860869b688a3d88d8c15db3ae323db7f01da7afda46044c2befb8ddf1b22c655bd3b36d6a479def6801c887aa18c7911c2090c + +Count = 8 +Key = fbbe5e40051fb19670090effe628ae38 +IV = 96 +CT = e3749fb3da809ecec7e7ae9f535978c7f61117b71036227ace9f8bd2dfce0b6e43e100360090f2f10623d883cb6cb6a5f838aa +AAD = 46eb12df5d068c325ef48f36ce44b6f200ea9172d812d3f92c53990e257f9e16fcc8cdb04fcc73aa4ed6a3bf7f65f4b8 +Tag = fac5f33b +FAIL + +Count = 9 +Key = d450d46450a5d1e6debce11009acf686 +IV = 7a +CT = 0628c2766ae7a7975ca9361a99165b2dc09c27a426f47a28d3eae5ebf5c82baae22d872903aeee573ca6f87fba7b721c9ef856 +AAD = ac36c37ba50183ad584e6ccbd4cc057d81e790ce47cfd7e1ae1172eca5d59b83ee28d34fca7c11a2d70d643bc0881cf9 +Tag = 3c64f19a +FAIL + +Count = 10 +Key = 7af55e4c90d84dad6f80d45e42628962 +IV = 7a +CT = c592749ad00450eff361f68c1fde8cb1c3a0a5dbf7d4017e1a0efd9f31c6994a993b8b6e877bb686d7c7d115bf4e3487ae9f4b +AAD = e1d5cae4637408fb981fca084437ca9c59abfb254e5123ac0d8b680d43435d726a7f5459ce3aaaef4a9e591fa9a24a5d +Tag = 159c2632 +FAIL + +Count = 11 +Key = 43cb5997a196e74c1ca21a66e5d53590 +IV = eb +CT = 5fa65def2a634dbabf1d55b2500f927bf500abf2f1e3637e0ffebc82099dd0ffdec3fa61e754338ad8732fd385c6c3bb8a7f08 +AAD = 741fa5c22bfc1480c1188061334af079858b438a65717473e59fa6541569190786fcf27fee76dc0c2c0e0d2df2240843 +Tag = fa9df2aa +FAIL + +Count = 12 +Key = 30d14683e12ea181b40588723b8cbb58 +IV = 84 +CT = 00450368e4fec14324cf44db576b4562c25daa42e0d0b12b9de0d153bf0551243a5e3fd31470491936d23d8d12da758a022628 +AAD = 4ff8741643853c80d63af67c72386b4f5d6c1b06927cc58b9dd8617f0927e233cd483a6cb14197e33ec9cbfa922b75ef +Tag = affe3ac7 +FAIL + +Count = 13 +Key = c3646b164eaec0283f31786daf19f150 +IV = 0f +CT = 8348773274a584b91fc0df7e2fa697d956821d76fb3f25f1fde6eb17201bc21836ed072cb9223ebe9c36b47f0d09ac2830c1c3 +AAD = 09f6bd0b8b0eb6180235f53c442b61d156dacec296910c5b80fbc87dce06668b4e71329dc32f3c4f71116e3ac19afa05 +Tag = 3077b6a3 +PT = a9b1f834737901fd1b9a4b22c0ce18b4cf4fd8f45f7d598f248ce4683ed5fcc3d5b15f4fcfe79e4f4ea34bb08e6a9920e350fe + +Count = 14 +Key = 1646d7434dcd259821f51e7829c8dd1d +IV = c7 +CT = cc793a4be4c2563ccffef42ea693c89ed2c48d5343c105e616afec28e493bd1afe568f6e826b4b4a30555b3115ad73a7e150e6 +AAD = dc62a30eae4aff9be2193ae5a068dae2a778f08f26dd7d13e237865f06ac18ec27a2f5fb5309cebd350e617894ce7521 +Tag = fd97a3cc +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 29a936ff10f6d54b006ada07d8e30b06 +IV = d1 +CT = bb6856d5ed2819f00abbe0dc7c5a3c89f2c5646295357fd3f96d1fdc5a44506ba1adab7a26f1b023d57c91e585fd15cd0ee8c5 +AAD = 2df994bb078980d1c39a017ec6d104aca891c50e5c2a314ef2476ed533f4859c7f3759461fcbd3a26199bd84f230657f766c4e4c1bf09c7c9be859164240d9ace0a134faeeff16a2f854df1594d7d9092d5d261548424a4bda40 +Tag = 8136e7eb40b325c7d26ba27aba2bf570 +PT = 59283d2e827465a238e1a3e802c610a2044e0f239150e33d12bed95d10c32867cbd318a31e9a8c902f0c8f9c56bbd0cb54f713 + +Count = 1 +Key = 198b373c2bcef1e68c03ad3df0011b3b +IV = aa +CT = 099ebe16bb2a2419c8eb59c557543d61457b70c1351d9adc226559540bba9f0dfae0b433f587fab6354aa5c408376a0769c8cb +AAD = a790fe5152a4f9e5d336a1d0c4658d598f23275736d4a8691ece4403f34a3596768eb60f3feab77e412117d04a71d26a12638df95733a05bc9c35bea2ab051447a39bb6d3c5c11a925d84dce355de0634f1959b3cccf92f1e8dc +Tag = d0a578dfdd59e9f762502d0098f66387 +FAIL + +Count = 2 +Key = 90f0f9bb5be0a740df73a4d2c80a2bcf +IV = 75 +CT = c2ca9de1c2fa35503b290236c732c374135e0c304b89ec190f33b6041f863d991952ffbc564971df3a75822d0f74410b29a798 +AAD = 536f95d26e207e32995f34f3d89f4e6e8cdf7c9f9029daf22e7d2b7ee8c1eccb672b0f9f7380fea2113e8a9bc69faf3bb83c7fe0104fa11de131604fb654e0c53b24cacb51ae3d363087f08eee46e5dd7a846c6ff82d668155ff +Tag = 2796921cfda22e8279a1109919c54351 +PT = 51f79765ec8bb92e2a9dcb6591aaddf7add7bb4f5374267b4525ec151a7accb9baa9531a50a2088263da2ac0b7c2ee06003352 + +Count = 3 +Key = e2c09750ae3ebd6645b49ff41756a49c +IV = c0 +CT = 0a70a37f5106e6242413a33ff2ff1d152468d8cba6aae39b28bed3369fe77e9c16ad0d4f2b8831b239470b43070c5e1c1ae26a +AAD = 977fad02f2a97966ec4fbd56735c26ee550fed34e1189ae705e6dd331fab86f45feb66c3aac7eaa4cc3496ce0b4405793391ca1d9ce2b4ba0ff54ad630667a28bb38a96522367288bfbdd175f8988f881f27d1757c7fb84684d3 +Tag = caf0490059595dc7059a0f74a5e1caa5 +PT = 7f79fa86fcb2886fb5162aee54a48e8170db9e6c8e677633e1db419f0a9a6b54f9447f79c02eeb8f5b4875042bcfcd4a34b7c4 + +Count = 4 +Key = 31f22327f66cc28a50b90d71f96ec272 +IV = 5f +CT = e2fa2e6f1d07842366fa9cb1e76fc3673543d189642e854610c0b257226c4eb54dc9488dc5af641d0cb39ee7ab7ebd53d15803 +AAD = 91570016ab2eb0f5a77d018e6c79c3746bbc6f7506a9c4b1fc586481075c5004c6956f305f1a08ede8fcfe668c2b57ebfbe69b40a416c3fe6b61eee1ee997b609f104899867fcc4f23a0f1bd906af8ead0c23e8eda3d2e6ea854 +Tag = 4f77f9b3ce37e232882b84a726ee9dc2 +PT = dfce1e5de784262615e1a869c0adb3d79c7165a485c0e0ad5cf981a7c1317cc9415f95d9a97e45db242f09cba7af455ff53cbc + +Count = 5 +Key = 094befde97756d5dacd76a0c27183289 +IV = f9 +CT = 2866f75829a82cb0dce89888c8b21c0c90b4bcd2f1debff014ae58baf3ac67a67d0f2cdf7c6a84c00c9aa39d4eda947bbe4f54 +AAD = 9a88a9061ef9c0dbba9f2fa2ba8eb20ddc13159c824ddcd1b6a22cb587cdf759a68f7540320a3c5743d6947ba6a6e95a88007f26d0bcf947c7d13227e441586573638b20418736c584a8cb3102b67de98af58ece283b03facc9f +Tag = 86193142a55e1294ce7450d43661ef8a +PT = a3aaf80b0fcfc0e026ff4995b166c3d663ab879005e1dfe2b5e176379971766a14a81879aa3624071f5ab88a0d6e3e2e602209 + +Count = 6 +Key = 0addb38bbedd31cde3d825fd026c8f32 +IV = 31 +CT = 18934884c25f98e05fa6023b0a4f9f21569f022bf95263cc008b8714abcadaa57d2aefdf12d88a2f270a8567c75b1e75e6602f +AAD = 642cef191a93604999ccc045eeaa31eb6ff9eaccd6e2654215325d0ec3bedd976d8737084fade490e27c2e78396500c72ddda2cf9d818131d98035eac574eb8b9003a1f3ff6fee0413a6474f479007be942c3e49a40eeac1b270 +Tag = c116c34c65ea6ba7c0b6d15131607fa3 +PT = dbc6445e1f7c33c6f6a831976c644137fb564379be695358be8e89ceb9c5f34afe0267155d34b55b5471b1602dd161173c16bb + +Count = 7 +Key = f9874238cecb8dcb9c18e29e519b2c17 +IV = 66 +CT = cab0d251afec9d6b5ff2645d4b9b277f8659485e44d1573d5ecc36c9883c36adf78b4dcb9328c494423f149a4bd46b5d555561 +AAD = 7bcb393d36e11b1d2ea341c96751c5b8e42d25afcdcbb4b2149f2eb2017b67c03a4c355990d9354cc632d82cd9eb43b4cf012f45098dff7399b24c30e411655eb4d22caacb725e2f5fd40c3785860d0191a862fb16734ac6114f +Tag = 25c667cb7b8351dd02196a62e348a795 +PT = 20f5c14858a5df82051bce2970f41a54b8ea8d40f0e45923b3fa5f5f17ce5f0eba6bd09cd41bcc7d00679c907ed7fd1ee6a49e + +Count = 8 +Key = 272d2883223770091b8922b63d9376d7 +IV = 03 +CT = e25e96dfb1796daf3cee9e9f8fb5803f073c113ae54ce6a58db97c28372cd8e06e6bdb9ffc879fdd80d4933c66319442e65e43 +AAD = d59d1d3206d9c1c067bb213b81a9a734081bc316696af9de6ffdf6218955888f54a653a7d87c31190dbb57b281679941e351eb7a9c54e06d618e2b8acb93b885b28a8c719572138bd440ffeceb0f5438af06b2a8bdbad34a1eb5 +Tag = 36b27724c0b917d6473aa68760622448 +PT = a0e9957bdf2e5a6528eabae69d9ab4178302674a094a30104bbdc88e3848bae70af88d06561309162bd873c4286ce86b141a00 + +Count = 9 +Key = 449e5cdac424430a82ffa7d0c2b1cb44 +IV = da +CT = 6b4f060451235f64cd5c0a0a7e6a4209a881af775eb205989f85dca80726c71cb94fa89cddea7bd27722c1c196e90d3ecdf66a +AAD = a5e90b4c9d93b12bbc6891f56ba862b4237ffb9b10c542780c72e78dbc9a37f673ac993ed7e8b07338dd2dc9a89c74558a5710c6e00ee6fb9e5d2d13cc73422b4cd03ebecad66e06f37f8d5c3f30698345e083e80e740b3243f7 +Tag = 9df6354c9f70075b4cd05b64d31342e8 +PT = 3a6775e33a942a93a2c8e2700de1e18e41c46c15b566465cd5528f35706184a238fbe412937a1d07099d54bcc06d706195b8d1 + +Count = 10 +Key = 70805fd2f9bb70616a2e2ebd0f395de6 +IV = 73 +CT = 8883e9365627cfe6a5fc2ed9f5f951a6612f366871b84c2a00aa753be9464babdeffcb5fcce3b160bfe2448f2ac66664ef5cb7 +AAD = 129d53ffacb9b59cd7a6a1dfb38ea4449ab5d8625aabdc50eca02170771a6910c2048b1627c6abe79bf9adf71c53c305ee7fc174ac3094d7bb17f0948d88cdc6ac03796462356bf8738cc9d49ec1d6d8b0ec8bb283665b92ad46 +Tag = ba3e2b08304fad0b78210f477059d619 +PT = 4f7ba87d9e09f26bd80279d09ad3bc760915d4def639dd9ec981b0057cbae9c5ecfe87e1e562343b8454c1e110575ffda62244 + +Count = 11 +Key = c1d807d81384c55362012aba22ff063e +IV = b5 +CT = 3ebed517b95b847286c300b7ebe30f3c4b8f3eee6e37402044c517919b229511a2565fe76a03042f0e0e7b6fd966f1543757de +AAD = 1ccf3e5d2d302668429013c058cd9934a5dc5cb697a1f4158519e1b7cfc8c75513f3d48715478018b4fc020cc0c5bdbca03b2b475de1575e25abcff6b08c7a015816b55312d250777c965e58e9a6f8d1733c509a0b01642603c7 +Tag = 5a321f32c540fd3813090bee713db107 +PT = 3294a56bc759329fb0e2a87511d8a57f2142a8dfe162f3a0331320746eec662f43005e1d7bc1a8d583e0e128cacd1ee10b7c78 + +Count = 12 +Key = 7c03c38ae7f05525f5ddbf8145037975 +IV = 16 +CT = 746d261acbb1a6d5e1545edcb122082e2a3226185be478a0eca09f1cc4b080edec63cae2e41968bf29c39800968eb2ccf5942a +AAD = b020f7bb4fd30400470c3eb19c84aad5c441a148bb0d72ab9c002f672f0eaf431be44192222ff7254a61b58316a81fedda85425ca617a5f2623ed9907743e67f77bb375b81c1bf582855a2eeedf705ec3eeb58cb23fb6b9fc884 +Tag = 4596dd6ca741e9f8a599f90069c11753 +PT = 54bd5b74d3e2860aa769c51afa7e60e955464b2aed2f74fb4eeeda40f84a35687f10f96d19d9a10eca45e9688c813d3aca19fb + +Count = 13 +Key = 24e45be74dd026868cc0a4fdcdc09e86 +IV = bc +CT = 87df15faa24d0683a78804c87500bad353fa7ea6558c96ade4fb5d85c50f5190e51d64a49d396ea34ce95dca2016f4ed96630c +AAD = 716c526537a834003dc1af73f79c8018f8be456aca8098bf971ccb9919b0b7b8c2e09d334e6648fa0d195cbd07284e051d2f765088dbb52a20c4cf1783bdffcc1ef6d1524cdc9b92cb540d205a3a6e3127e63ea9b85dcbe09790 +Tag = 5f0faba9fbc69fd4bb2cb05a628658cf +FAIL + +Count = 14 +Key = 441feece120cb561d0d9672fd3fb58fd +IV = 62 +CT = d865c95e7ba5a6220d9d142b8f423d9f5d0a4e032a21e5db36b97d7c3ed9a6a70866d698c796d7db7ade447095d568399de9a7 +AAD = dda5bd234a4b9f226e87c93eb243147daaad59e48c24c77f94c89cb97470552a7ff60bde6159bca72ef9194d7fb9ff02e33ad07f0349917e434c2f41cd5798fcfd49b8abcee86190a130321832a3386f271e0b4e2de7ed72e70c +Tag = 40d69727fa6a3d4ddf5f0482e61ce5b7 +PT = 6ce7e6adfe7ffea7086d8fd1ba0c6c8872303daab9ec41106ac019761e77f998a49a2d6fea8b16480df22df4593bb6622858f1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 0eaf769e96f3b5e3ba29cc2d9a519f44 +IV = 04 +CT = dc0d6898ce95934976cde3ee84d78091efafb1bae5825d4107aa1c8fe458d57b0476ca60d515c4cab0fd18bdc7ca2b37f811df +AAD = 55219931bb42f5c8e0c0d9e157bd4cdced0b379e38e5823b65fb188c00221ce789dc6a5a74b72f64f127fadece150bbeefb305e558ec6fe7c51f71caaccdd132b39d6092d20a9e1a2c6ab0d9edc38af22889b05444a569a33ada +Tag = 8476b79c03ab99ebbb5af72a90aee6 +FAIL + +Count = 1 +Key = 7caccc3de8fc0334bd76bc800d34fe91 +IV = 11 +CT = 9d53f1a38f919db4b4695dce917e13230d2c7bfe9b665c188626fcd50b73b2c86c116f5b6928e7100626a558d7a3e7175834e6 +AAD = c0dc1b4db7e4073bf1d7ca0d9c87c2022ededf7c142975a426d6b25494599123a676f89f081a98b9ac80a6297f8aa06cadad07b237ec5bfaa26e7aca3849ffbd9ae131e1fb64156f273a75ed3b8df5c221bc89c372e9c64e7ded +Tag = 0ef68a6431f9bcd558cbe1d4f1903d +PT = 585da65ade0e2d1f59c98948c0660fc077dfdc2075e02946f52189116acc660818ab1f6180fe0ad32df217aef2efc175828dd7 + +Count = 2 +Key = 74697c986553e0356b0e10b7750e1d33 +IV = de +CT = 3c1dd4b9c7349648c89c4e4d0add975b614211ecab59a9eddcac89efb32d9893a6eb0a56ade26cf421fb9923fef7a2ae3dafc4 +AAD = 88a1cda52c30b748291034464a0f03803767c4763fc2e03a83564437d7d83266b5cb50ae913129c30068b564b4416b5de46b15d98bea01e96518747376e493d28dbe5e7659062d95fb9830031f0f1d13ea70c5c76e8a2c1b6c4c +Tag = 233f615ec770856de32e0025917c68 +FAIL + +Count = 3 +Key = c121a092b6385c73622f851252cac2f8 +IV = ad +CT = 02ba917e2d98e925002ce8559a3002dd120079cdcd9b99f83fe67e84fea9fbccfaa280e74c43f972713938e3ae16330e77d8b9 +AAD = df35d4dd10ae313f581ae3e2141094d4087a5599582fd250e448e514a2187e5b440f44d6da5cd0d5cfa1d885527fd38299e8e6a4366b04d895b6ab7e0c150e1a52f990807497fb6668d29b1f06bc5053cd5dd33d65b077725198 +Tag = dac729578f2c6f2ced2c63fcf71775 +PT = e0fe82ed15b56b34dd127748f5085fd54a1e081b1a32b80b64eae315e2fc4ae636cfbf382b6bc472f2f86de3b8e628ef7aee0d + +Count = 4 +Key = e9f68ff6644d98efa1c086aa0954c3ee +IV = aa +CT = 269b4ebe5e79f61319612ec21cb82441542bdde987ad4eb495a60726edc8d1d536a4546a94c07411e624091ceacc2db0cc978e +AAD = 730fb99ee168aa3e8282eb746ce644a17a9fb35bfbe77cebe36e37c59092745810264ab37cd6e549a110de9f40d2fad06bf8fe65314fac30f46e05a9b8c77ac2a0c5cc790a38b6cf589dde7c88f8f07db21f3fb0a33a2e850568 +Tag = 224c0de24a3bb04066e19f7667d733 +FAIL + +Count = 5 +Key = d71cc4f976baf4d78134361ee4ff65c0 +IV = a2 +CT = f1a2e76f64495d111a5084c52ee7b629ac6f6ad9f5c7aed2651cae40889b05ad775a3a042a231ebf7f13fe4271a99d88addbc7 +AAD = 91ee2adf61d06d0367da77184fd78223237fa91b14469b3b28af37d523fb129a42ba10fce8b7eaa41e155196d0cc77d9263556245cd7ed807c91178ba0d574a48c09c7cbcdf8ea91d81a74ecbbfe30ad6f8cbeea36eb6f9e5da7 +Tag = 5441b185a9c50b2836cde76c0160df +PT = 9b0c8293024928a8333cc9d8cda6ae67079a0d391fd0c2256d703ee702f21d2432fae35087704101a4c2a7bc4ca5dbe8e6dba5 + +Count = 6 +Key = 30015eb55c0cf2c6fac96ac5366bfc27 +IV = e3 +CT = 1d542f783620a91b1b67eca64b15b24fd1782e97713c300248bc90e029d896676caabb8f157c5d99fe65015f6a23794ec17a2d +AAD = 7ed591c8f1a3c361ac94a739475c87aaa290192f03bc194a65bdb1caea1cc15a1ad073c5b94bc5daf9cf373c004b5bcf8dfe87d4b24b743c91fd9ed78995ce1f18df155977e9b16dadf4bacbfb87d2967312a5656f3864b8cf1e +Tag = 56515fbfa4770579e5048c37ebf665 +FAIL + +Count = 7 +Key = 667f5da96da0525968bb941420e9b8a9 +IV = 82 +CT = 9e419b28b534fb028dec7070976d28016e20704e2b327e560b77df20ca09a0f1ebc3ec6650bd565d4b1ad124eb2098f5b6dbd6 +AAD = 973fe7645d8bb3ada4c6c92359d9fab76f3a3efb586297b3b59dff16eff0872ced6e6589cd0e77f7d72805f1464bf248abf15a1d6b5971aefdf0f70900f3a12e6e67a6112127e71bfeec8f41bc893a794501a896a00b7ad5a2f5 +Tag = 1ed54c55a597b1389a22476860be2d +FAIL + +Count = 8 +Key = ceb2c4230d5591ae331c0b11a5d2666d +IV = 24 +CT = 61e13dd9fb4c32c4bdd41ca53b17bb7c9d5706cb69e5b05eb782f5d92a065ec2b0a0ab4ec827108c8de233a38bd8a993ecb4e5 +AAD = ff8c2d22e0a2dff499fae925e028aa06cbd0a9c7cc4226dd6f345c12cab98a329561a512fad8d47809ae87a52a6b8743025e524b03f7867a297aac1a1b30f1b6a58b242e9ee1b82832ca3150b32fc5e651eca7e3b75a33356582 +Tag = d5de43190129855c2550f64d4c0015 +PT = b86a185a7d416a68dfda5e956705890ec8fa82bc4a8aa3d43dddecfab1476a838a869f9111b25197b03fffe55eb0f39c8953a7 + +Count = 9 +Key = 2f18b667b83a4434e767868adc2101ce +IV = 3b +CT = df8f3c75e588ac2592c7760acbaae41f7fd5fa655adcc1d7e20e5a62716bdcb81a4b220a8aadac97d9e288c54bc4f7dca8ad92 +AAD = 69307ff8ac96d374a7327e890bf5fe1dab18a2bf24fc42bef403290e214d3f298a1e33a094894bf7c31ec5a8f883b90d69e130678a4351ba360c7eddb6a15ddb366ae1bfc5c1628e2482fa1e7da807e4d6b3a5e11003334e3810 +Tag = 80e11c6ce81f690bddae69a5cad264 +FAIL + +Count = 10 +Key = f8c741e1fb28ee1211c8e0327e71856d +IV = 66 +CT = 4c697e5de254504eb835a92dd69305ee5c865912079be5a4a01f13dad320da8a9a6905939cbcc4a0fe4a7b68c2749fe3c1b3c0 +AAD = ae71c0a3102df333d0002a287613699f21f4a57c21475399dbf8817da554af21ea1f82296c89c66c614cd5dfd1f1e9d892abcc25fb1c996e463e3f040753c9ecc752eb7a74c2ad3da8b282c3e125c68ddcb0dc29f5a93b496f3c +Tag = 188101a711442a5107d55ccb3ad25c +FAIL + +Count = 11 +Key = ef5a196a66557e807ba9b69d1a5786a0 +IV = f8 +CT = 1e22a842adcd810d12aec2aefb55b7c6dd7a756555606ff7ccca2196fe80281f0ef1ad8d8002bd583ff4e3d8a95904458b926a +AAD = 7cce2bf10e1d079f2db93b19ba94f20b3abbe6a7eae833f0ba1e60dcd890ce8509f061dcbcbd9643f3550ca920c62f16e9109f6de4a2ef4a1975114e840b24442549dcea5f46f7d1d4a72750f0a17bc711c8fb89a17972e060f7 +Tag = 4c36448491f069da155d1ee9909e0c +PT = 63b1b72c73f292fba8332be72ed60b3368eb442625bbf82577f9d1c91c39b89626c4ed316f1e2fc0d2b5136a1b8c5385768ad1 + +Count = 12 +Key = 891e5e2a436c2db5e8db8274598e8bc6 +IV = 2b +CT = c5b71b7159ce0203acdfc81a6482a7d0b5ba181a2ff8af84b0ef1c2257c68a7823c053aaac87451f6b6c4a9f01f86665d87db7 +AAD = 11fbf60e3f1323de8e1f072e14f3295caed3b2da93ae24e4f93a30b4c14b45098182f021252510b324ea85743831e96a9600329204f35402b81dc1e2034b1c9d0f1e8a82447e77c23d2b2450fab52f697ef879cde1181c5ba79e +Tag = d3e8ca6c13f9eb3e1f0714cf06bc7e +PT = c972c0e3fed2f018759987a4e4037db5dac00d9ce558b3e1ddc89e64ce20e35b14dd42739bfc1415546b741d44ca2e4760f2d8 + +Count = 13 +Key = 2ce6304d83407c0aa3f8e1d1bdb3c5ef +IV = 18 +CT = f79097af4e83b46b35cfac5980cffce7878b2c72078e5c7b5f97e35a92704a019cb46bb0196f0bc7fddb152021c325488f5bca +AAD = be72225f733d6b4803cc5e60de79ac790e7296bf5a1161bd0819bb4058344f243a22066dd238bb7ad2f4ef5d17f0ad4694c16155b9c3ab9b723f229509ad1ce20b9c4f741c194957c5994c4793ff1f633c5ff6ce882a718cc4dc +Tag = d9da6e7c2cee724d59dd3e989fd1fa +PT = 4b622f56ff34acd8ae822a2cab72eb55a052efaf4fa724b855252cf7a2a2193d4c06317bc019b677e00f661f45cd3cf0c9cedc + +Count = 14 +Key = d78bc781f27631f36962a67b17ba577b +IV = 61 +CT = ca8ea4a4494a924abecda40ef456883fa3bea7d61542594d381bb4f63d4cda751ede705e81464d64dfaeb7d2e4c684ea65ca8f +AAD = 4dbb65ea445d5a451b089905608e77c3f67177fc34b9c5565c092c924ddb12de26b140755802d019a1b2c492aadbb78207b32d1710795a16f83ac1beeaa7838b8ea56628f714e2e245b9a2a61e4a9766b673971e7832964f3fd0 +Tag = 9faa993d25bc22570ab7ab14eaa232 +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 99c5f3004a25d8876356450169ed0ecb +IV = 4a +CT = b06a83a22070d00882cf3bc92ff2c561287f36d48356a6b7e8cf56d75f5f7012ea350e9025fd9bd7147a17fc80869a6c9ea5be +AAD = 8f6fb08a517564be83848e31aa2698d3ae7706dfcb2b7fc258ce995a8c8f832ad6a027cf22e80a206db4026296b5e3321424bcc407eaa769989f3af1a6cf31a4666ffc2dcd99740024c34c243a288be9c59c668ab5d9faac02bb +Tag = 00a5f15ba3151eebe5231f9fb6fc +PT = a409db003a7a1f6cb1738d279b8ae339845729d4249a65c174535d0775598d4c6d1d922d36becfa4a8644010bf6f1d277fc289 + +Count = 1 +Key = 40667631140a6e145bd2807dbabeb16e +IV = 27 +CT = 47f0e38df307a05cc7d05d25d92c7925692fc78a55caaa87e0409438689575eeeb3b8c445b8db49dea36b37a2979a05324da82 +AAD = e65d522d1980b9a054847fb4949ea16dd0ebcbcc8da1fb91baf8fb156d7ddbe90d797f4583ae0d6b8c34ea5bb2ae4b847870b9b28ed05ff61b34f07b5b81c1044bdebddaad4b4ecf595b07676ca8dc4737f824e843c537d8b8fd +Tag = dafa499535f5e4280e573d053871 +FAIL + +Count = 2 +Key = 722b21b17421ba99707b0e6f816570ea +IV = d8 +CT = ab5c9413a32450c199613a72cc1c493dd1557bac939ddd5c16c9738f5747b5b3b3577549d467443e25d09b759b8f0bb54728f5 +AAD = f8622402b589732c16ec923bf23b1f9085293d1e7e1ad9a2d6b25186e239b704a270eb62ad1a554d8e90dbbec95ef4820af9454ac711c0c2982f21e4efe804359492a5cdf25c2691b11075420db1e25ccc2a119fbd04f23dc944 +Tag = 41cd6cfd7540f785ed6770e328e5 +FAIL + +Count = 3 +Key = 1603d172d8911a9958e82fa0161334d7 +IV = f9 +CT = 232017bbea7d55ac393cfbc64009e33e143288d41f28ddd17bb40500149846a35898c5a49a53f6b88bfd74172cca87c67e86ad +AAD = fe15e77a6692184d37f3fd0fe8ee6c25226341166ea577cc69bf130adadc07ab8d588c74c1c22ea5ef10ebcbae998bde59b9927ce5dd458baaab660c3684f6fcfae01b4941e11f240e2982d5408323be5b0c7b26f03a93ca8081 +Tag = 0adeec51791ef35c78b567ad6909 +FAIL + +Count = 4 +Key = 34bfe146350e4c0286ee3fa560f0513f +IV = 4f +CT = 092c04143f28179d95a350f6c2431df7f52a1ed950c6d9f3a8feb1f0111f0c8282096b5f39b261ed3d426e335e0b95be65936f +AAD = a98ed0134f8028365875a158b1103b786516a299d1296133b453700fb3f5dad267c1b039cc5cec38c19e8f88283099d13b5a46ba519f645ecb7fdef7a7c2aad566152e10a9670f15cfd5620d42cd7931ae304b57af66cc09afcb +Tag = dd4aaac04895090bac9f0537ea28 +PT = 5b6c3f3a8850c5621e84fa534136ae00dde307ffef76df69ae9cd53232668bfef974c3083775b5e687b70f8d68977701a7692b + +Count = 5 +Key = 043a7de09ea4555f408973a19563d5bf +IV = 0f +CT = 9fb3879b2c2aeaa8a25e439a739295afdff185404611f1d1779a3a10fa2105ec8cf480635c7f2dcf897d05a423ae0513d55033 +AAD = a17578e06280540ded152b1418206710c1c506274c55be81c09aa74501004daa291d281bea8f74e105b6cc603574cc016594329473d02222096f66ba0ec22542f2619589a498bc29bcad7b1862c7425e1ec0ffb1b7783006103d +Tag = db939b2534fc9271823a410c9102 +FAIL + +Count = 6 +Key = daf4db6ca3b0576502713422b165b2c2 +IV = a4 +CT = 2cdf650c24dbda84321acec6854adedb45f6769d323be49b7354c754182ab1e4a0f6bb7a70555d5423ac2afcbd1d71eb528d21 +AAD = 99544c4e70e34ca2e3d0209fea21b94ee6ed60d7d1f1da4c26bb3404964f0dd7b8a53fecdb046202d63bcc288a2ef3c5feb987a5825896ac60d90c626232a88cd93a9941e843cc2db80112cccd8b28c1069e6ab7d21186dd3061 +Tag = ae0e115b6bde59659d2625ceabb7 +FAIL + +Count = 7 +Key = 47e67a4fe08f16d17aca52aeaebd4647 +IV = e6 +CT = 66f337e34d457b150396d49553ba831f115256635b4a501091f208a93f51693f89d3f9a7f12a01fd3fac6f9056cbb493df9330 +AAD = 4b72a2ab611140b15895b7e00921b8ddb2855e864a76ca0237ee90cd62caba1b2530f4b30f613768659264679d8c3c9e4e4eb64e0b54061b862a6f7261aab4f7b72f7ba152960b20c386d619fc7f333e773e74e0206925c45efb +Tag = 6816a47f54046075d50bfc70157d +PT = 854c598997d17f4cb8f99b986c8efa6b0c242bc875a849196b0dc9f2d49e8b6280adf27646dd99c81c25bb62df7d12b8f65b1e + +Count = 8 +Key = 41aa9e7535e3bc59f8a941c7843f8b4e +IV = 99 +CT = f33444a70d92a984b7b4747b8b8a83c7f587d9718117200daff33d6da0bc62c3edc98e4ba4b6bad293083a9ca65150fe9427f1 +AAD = 243f480558b5d81e8f589def54fcae0f5c0042c227bcb926dac7a72a5cbbc105afed76caf09af743bbfd9b8db9ed7c21b0d046655d042b9c3427e1d77043a9b2b1b06b57687382a1d683ee2a2d157b7b75b234352d8c27622394 +Tag = 3d049726d6c93c0057af484310d4 +FAIL + +Count = 9 +Key = 9b290be90285912d835501edb37577ff +IV = a9 +CT = 681c3e02f1c5350c542213ea3c17532526b48240f557d94d2cb63cae593459469b7183a63bb4d509f715ea58fd655d0adcfc30 +AAD = 9aef83b6a5309e69afb5903169ab98e419879461aae419864c16a64bb378f77568229dd915ea4def270cdcb86ceb75fe4b83da835f03b7798ea35f73f77e60cfa66f21e6537cde1f0265a166819880ca7a944723b91f352b6450 +Tag = 36496eec60f805e15a8391380ef4 +FAIL + +Count = 10 +Key = 70ac84dec16de92968b4cc939f5f19d2 +IV = a0 +CT = 521ff67112cf388034753eb70741d2b094cc87645f3b03ed7f71acbee442e5e0af91404bb5aae2b5229c44c2ef350f50f16813 +AAD = c0c32876cf3fc24f3037e796b8326e9bfe6732adbe6f4c5fd4330543e5d72a322ffddff68f1ca2928e9a734f3ce69fad5775f9d03a67ba170f51b4c6b8b838658fee01842d2aa0cc63f9e926ba983aa42d7c6ef1b365d095edb7 +Tag = 56be404185ec02aeba74eb721a4f +PT = 7d5f404f9604c46f7e45fd233a1eafb8b281f7b839a419054a28b7f76f03d9dc97643a7699fe7bc6e26f58ce7c1142971a3832 + +Count = 11 +Key = 16fd74c853d0bc4aa4ef2bcd1d62f605 +IV = 9f +CT = e261a4880aac7fe988bf377d55d3ffd79a7f194275eaf0b2cf374d07402c2902d4432fdcfb5c3ccf6ff36ffc5c56759d9bf797 +AAD = 7f59dd049f2a413ed3b8964988f500df9f3db06bbff4deb741d97a2fde5eb82f3dff5b04ec4cca5847327396c36589f710b0f6eccd9363afe8128fa22ae33a6d493fca3c26e95f89eb4de70cdd356f47da922c04723d1a866b60 +Tag = f63581fcfde0c20ee11d258daaeb +PT = 4b6ffc5bc36c50d636ee663389c569c29bc235936349dcada3f05edeba812e050fbb30f918135356b56242e57ff4a5075cc2ad + +Count = 12 +Key = ab52002b0429e2fa56b8ce6fbbb78204 +IV = 87 +CT = b1f3833527d8f07e7040142d4adabeabc19d19218ba6a7bf848ebdb2ba58051686d653035c3ed0715c84086c97e701522be2fe +AAD = 4c51cb4d3503bf2db5febc70fc8ca8bb0e8b500a3ef9d072eaa6ae1ffd78776ac3612d780bae5a94dfc15eb459d5548859a349f5d1cae4a8dbf60f3948c402ec010b57f724a50dfc6492fae1e7eafe5783d0d34c59bfef5c5747 +Tag = d5376bb7118a999de8ef87971134 +FAIL + +Count = 13 +Key = d3b78f6c35236b218509c3365e3ba1ec +IV = 44 +CT = 2d6e1de4717972cf1a7d6531051a28c81890be1b11202e28bdf5003ea233d6cc473a77f3a5c7b315b8120093fa9903b59b70ad +AAD = 9556aa28ce7241582ae88253ded041fc97c282ce17041bb81a224c8857576bf19249c73887472e8643a80ce870cd49504f1f5a1cb185713ef6a219d79f0114c7e61ddf91e7a79030df615af052f87c935f3ba1a9ca6130a01349 +Tag = fea7494621dad08e234ec5834839 +PT = 54d56cf030e59a25fd74d1bbc7779325a209134afb535ff21bf4ea4f1444a1a38063ecfc92ec2ffa80c9e539587a45f5e5c8fb + +Count = 14 +Key = f1e18e3389a6b96fd5cdd3ea11eb53bb +IV = 33 +CT = 1d15330f019c71a37405f22615342fe49598308a68c7640c6a5e6dc3ef17a82b69f8e0cb8d92a251235ffea243a40b255d0e69 +AAD = 3aed22b3400787017dd673fe70ec7c0f959664c12d02e4c3783f1c967b75c4955b8f7be0ec4710c64ee595ed0c4c31959db4803d0b22e4c0fc825132cc029a224ece64a87b1151851b372fe7f89a611146b721fa26fd95d6eb21 +Tag = 572cc660f4781d6763017d31127d +FAIL + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 6697aff2c98b5dff493d76f16dfc2510 +IV = de +CT = 7b56ea6403a31dbef95926fb8c51cf0fad193293fc969e9531b87d7d3925fa82ba31625531a775c8627c021d77540421aa660a +AAD = 361a8700a4499e4062af185bd6acd6cfde9b3fe9fb3748452147ec8351e77c084d79c5d1fd4030b13c91fe8b2f1764e262d1f9a7f7292f7c9c4d45890d4fa07b78e24ee0514a00cebbe7d0a5af58c79f80260735cc67bcf19ed8 +Tag = edd305fcc4cf7b84ec45a5661c +PT = ea582f7b354d175d10ad6aab62034bd81ec0e4c731cc326f9a3a41b5e21337e29fcb5283839c6b85bba43ebeb6b9f59b2f1577 + +Count = 1 +Key = a0a9257dae66d3292469b97872db2f04 +IV = 3f +CT = e60523abee7229b2995bccca27c829f2f72472cf07074f5b4f97074edf0cc8e2ac857ad96c2371d7fc61b261da0f562dcbc448 +AAD = ea2db80cda97109b63789fc04f37ee49559c5be127a64304ac3dd779ebb753c724a9c52f51717c8d969fa37fd38c646f36971bedd0cd6868b5684a9f9a0c8f6aeff4f639e1f96e08e2b443a291d7797e50b7ef46231b8d07c3ca +Tag = 7b8ecdf961e1b86662492c3c7b +PT = 19255502a5418663daf2acabfbf0061c06fed30c1f976a7b7cd8b11dfbfb7df1586429892054409fb3abbf2aaee96fdcbc7ebb + +Count = 2 +Key = 2c9e2897f360a4beafd494e48e364956 +IV = 0e +CT = 4f4de55df13ab4577bd765cdbd95e0599a41dec8ffe4a0c67031c539e6cfbb108ba65b19ce586c714f9399d723657723d839de +AAD = e51f62799c1c23e229bfc7d9d5524cbd31816b0bc4786865ee72567fa5b59a8b6e14b68a09f23374c79dd6ce8f261ff23d0e634e2059fe3b11aa93bdf193f0731249d57affdf7b26458fc25c57d65e373a83161651e9d998b812 +Tag = b8060febefe75661926b42ffe5 +PT = 490e56597ccbbe90eee75dd7974112d100d66cc01d6340225c839f84228ddc7aade89616fc31f3755a34691f50d641c955b657 + +Count = 3 +Key = ca2cc560f20ae56b0c52c491cd8745bb +IV = 63 +CT = 602400245b07ba9569f5c0d10df81379c5eb6b7505358a23e3f6e278d8adde0a463a9667e99cf6991832cea968755950134dc2 +AAD = 50aa4cd52906cea5d2f14d3b38b35ef25ebb592c0e7b758a7ce85e39ba935d06ba3e96d465d21e8343a4bca156a158c1fafb9fe8df91adae9206e8696712b5fc28da772467fbcd39adc7a50c66987191a887116704b6f601bbff +Tag = 82820b9f502cde2894ae89f4e7 +FAIL + +Count = 4 +Key = 730b3130150e0b8386700450a939d924 +IV = 08 +CT = 164d3321b18d2e590181f6d3d80f6e52c126139b415b282fd36c981d5a31a0a652b7196386d5cd389db29d5025fabf00155177 +AAD = bb58e703660bda449124c3e393ee4e2e7207907cb8e1db515bc71b55312785b40d2f9dad45dd271aaa45644ea490ebc3882933bb676346a62e9ad467a707b8c173b1a5eda4d4070bd451f697398897fd99cb21404982c5306745 +Tag = 49d8c937e3b8d2c9156d31aceb +PT = 8678867cfd8bb70fc7e6d54736ce822f6aea7ba84ab61f4bdf6b5f69852713460a09d44854ae2f6d43e599ea542ec568d8edbd + +Count = 5 +Key = c0ca989ebee4e845afa9b0dae6c06683 +IV = 5d +CT = 032f780666a8707eec16e187641e03630d8171e1006f95f4bd4d7667076ef5e7326b7273007460395a9e74f7fd7d4993494b3a +AAD = 63c6e1eac250e2761c8dc6d884577260a9354a088548d487592a408d2268ac7b8e6218a3633b3d57a132762ac17336bffbd69d30c05faa6c267b8bc2e6a0955806f390c54a487f19bc74cbff4a245ad6fba6536425b01344f107 +Tag = 263b38408fc845cc1b32387028 +FAIL + +Count = 6 +Key = 177c67fb9c50f11835f9fdbdf8afef58 +IV = fe +CT = c11621a54c4e140c584f581def4a7fa50a298974e8bd95b22edda891284a10f1da7feaaeeb088f5b70e7e9819beb9327196c53 +AAD = e564cdaa89a8444d222b1df6d8010312fce0b7af1e626e963f882b62a75484a9f6e4db392ee4b90da89b053bad6c34fd17f23366494bbb5f8e60e5857ea036c33769f2aae4db6ab9dd7fa00d13b6c9a7378876d2d39656e6463f +Tag = 17c7b81f8a932e7374a42cefe9 +FAIL + +Count = 7 +Key = bacf95b2d6263b0458d62038b2f4a3bf +IV = 97 +CT = 41f66fe60c18c768ff3af87eff6ba91faad329cc5e833d1631ad2408a7935ab66366163a91487e644bb4066eeb692b694fce50 +AAD = 29e5cd4fc11afb0023ba87f95d2ec90f7117ee34bd2f94d55f31950f8199554a5f55d2bb0ebcc80f63936339907db5efab2775a4d69d2747cea6e42c4e33d32d68aafffb85fb429533bf34bc620b3b7c9055f021021940358451 +Tag = 1181375cecfea75b1bc04933aa +FAIL + +Count = 8 +Key = a226a8b2b0f0392adaf3101afce84c87 +IV = b0 +CT = 845a14efd735ab83bfa9955cd1329222792c226bff7b1f289eb2e92631493eca806e7aecc040630d198610b3ed3f9296b42e76 +AAD = 3f7fa00ec554337293738874a40051edfcf52792b2ec0d41dcd81308cb533c7225ddeebf64c5a101220f2ab66ef6565d847caff711f8db16775eab7c64e11411eb86d164f86a01586c5fc38a1dcb81e6e63f94ae581dec44fc55 +Tag = 3b2bf1425f566075b26e5e3ab4 +FAIL + +Count = 9 +Key = 847436217cd2d99b157b3381ef57391f +IV = b1 +CT = c7ff95be574a66420c5488567e1d708a8378e06159472bdbd608ba55ba59583c8eddd3071c3623ac64fa49738f5210b306cdbe +AAD = 1e607518464fc45ccaad9ea914a4e995e66aef1c9850f6ab785819a5b45fc6a8f322705e8af387fd3007259a847c2b2a8a945120eaa1f75efb340c6bd4c0f170b81ad8f11ebf371b8a888d1d190394dbe79c02f4746fc62e6c14 +Tag = ff083df03b5fa7b642ce12b20c +FAIL + +Count = 10 +Key = de20ba9f3c773f0128f6337767b28ade +IV = 6d +CT = b8de7bcb03e9555036d835aac41c3a68ea9ac27230c45e3511e1a82d5de6be432815a69d6cb90d2f26e53e9f396f66411ae570 +AAD = f6ffade55b436be8f01970e17cb1ebdc22be7f6a9c03981b40b4c14463c8b8c1b3f9a434272202a64add44866153984cac3a4ebb9ff2b82302a0e35e2091d6eb71b930e56d6d33755c61fc1a45cee6d1c84978150e9141db6f5c +Tag = a9b0414e624c82d98d9c306bcd +FAIL + +Count = 11 +Key = be462f6e6439c3b813d7dfd7820f912a +IV = 6e +CT = e57b285202bc83bacccdff6fa5991112ac973636ad83b0d9367bb96d5fb0b0fa7b9fcdd03d2c0b8e2eba81087d1d876525d3c1 +AAD = 1eb9315c3ed7e9916a259ea163fef8c156c8ebdacfc28fa517db52932f3154b4939c79303cd4758c0f01c0fea4edd7fe0ac522aee57a51b7081a8d27bd801314ea0f4fb8d4c8fe93940d676ad987eaba15c2ad19756a7beb3f2c +Tag = b4b66493ba840d60665dd734fe +FAIL + +Count = 12 +Key = 4a732a0b1fbc8b64898a32e640aa4069 +IV = e8 +CT = e36876dcfba3e69c9eed67e1cea1136197b3d68d1ce4dedc40d48ff01e21c84689ab8f9939026d0eb87a2099d01bdfe5668b91 +AAD = d505bc52b23c31178722bbec7d07bcc992ea3f052b830749d189368c365b260074026f728b493db9a49adc183775b5197656776091f4f1708e937a659661d09c6dc6ebc7cc16dacbf987a0ead7b7779d2f1314d2a4db5fa0adac +Tag = 3ddc522e982a6abb3cfc3c1a24 +PT = 72bc0b99c05ce3e5afcdef1b8aec694ae8a3a8fd6753768e82c2b6b48a824af6ce72a60ac49c7471625b849b3769cbe9c3edc7 + +Count = 13 +Key = ba5d4a6ef83db611ecc076be352aa381 +IV = b0 +CT = fa2c494d5363e28349c2eea19a6a5b910ab246a0e1f9eecaf0ee7a0a3964dfa50405fb7a55efa2b076787022f00b1ef6a1679c +AAD = 92736127ad1aed4e26b57cdbc2ab8319dee090def0d65469ad216753189e0a3121d26fc380a8d8ca63cfea58e341e95b8464d475b4b85beb4487bb4729d286a017bc520fdd78fccf0a2b2efa12d63063279ce3f93d061c96bba9 +Tag = d7e3f0a4a47563b934382333da +FAIL + +Count = 14 +Key = daaf5d9b14741826cd5abe5c61979bc9 +IV = 1b +CT = fcf583a749094fd71147a2670bf1360928f0e5543ec6337afde3bfaa6eec2fc6ecc22c2a617a5c34936a0cef5fbd99326055a6 +AAD = cd8e8f091449749c1728462ca64b3021153dccad75fa67e52a184c0d4246fef69a99457d66077be74a00d002a0b6a2d8b98c14ebf815ba404940bc5e83330c717ced4737fa3934eeada29fd9f9d21d6995a610700a081a310871 +Tag = 3bbe22599d4ecba6e3f1575ac7 +PT = 4c038be7e96d01034d08b8789a70b26d0ae50a8b085a5811a8a7980a562181ed2c3e3254c2b5cd1aa6a0ac5d6d5c79d67a0edf + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 7608a0701957ad3b8c98f1b0eee3a47d +IV = f8 +CT = bb650f28736da576f643d6c959cecaa50e936f95cec5f4e5217f423998524ad3ad83f33938a70664bbae2feb859e7ea471072f +AAD = 2b98cc36c40f3d5d0bb1ddd91dbe7b725d9755a5b92a75790c83cd09e2d63492b43e1cdc7eeac52f29f62296d827ccffcae5d8845831ee4e981466e9d01b9acded6755eade8786d1cbb663180cc26b8a0028cf819e8a1bd1d90c +Tag = a0898996f201e7830fa2f724 +PT = 74280ed5666f3e1cbac63db499043009f15509c61c901570342aa3ad06c0dd48ac8dce69d67aaa2e8577e6bb1e1a1515bc8434 + +Count = 1 +Key = 4ee94bd390cfc430dda24a36260d4aba +IV = 8a +CT = bfaa84d87f6ee4ef6654694a050ad2364e51a5d05cd690c2258b1eee1ec1f913502032ab3820ef853133158fdecea4bca17cc0 +AAD = 840e6eefa88144a13e9b55ab478295ed8f1b6d801ace9c7d8aa840c515574c40999a907cc903abd7d5005c1ac6645e1d1225461e64dff91ed66a3f679eaec88d163c903e1220c98c2883130facbf2043a60580d871ffd0422ca9 +Tag = cd3b3cb0c325837866f8ed5f +PT = c6f4434a0fcaea2e63d824733c18056b39a18aec7742493a5be1d38e49c6ab669f7dd6a6bc773f44a19df7550777ba11c4b435 + +Count = 2 +Key = 5f5a434edd9a14e30a6aa2fd83027f40 +IV = 67 +CT = 3c18a920a9386d5d0260239da04a61c67aed2272ee28ad770fccc6f331a1446173c01112ce546cf24cbd9e1ee8c422a6478246 +AAD = e2daebe03b4819d07ad439508f2f77bb9b688539a239d9f7cdb48c597deefb8838ced2d6ccac7d3a780c3d1307d8731971111a0dc8dff1317bd208ee0ec0814abc580962f6c1be1dacd0dfc6a063970487b54d7dcf7c066e2267 +Tag = 7d544dd4a0b8c1166d4d9da8 +FAIL + +Count = 3 +Key = 4cbc36fa77eb76a840636c335134087c +IV = 38 +CT = 88b2f616d17173f738cb3d73328ea6b3602837d0f70cbbf0bf2163bafbfe3305ad22fb718ca7120a0de7b113cf06ce8b031a41 +AAD = b694fa79e809222f350eb5727a527a830f4b9e7448cf2d5f18f06a20eb267a71a6b2047be7e1c902e544dafd041935313d1669ca8b266280e32b97cbe89b318dadae5687d684315188f38e9591d6544abc861e194c1a3f6acb12 +Tag = 19a92f483c7853ed8f64b8c9 +FAIL + +Count = 4 +Key = 6ee137b000e2989cabf37055ebf9fc14 +IV = 77 +CT = 4ca53b60875d648ce634e0c1c9efe8b9cccf0b47e3bc462cdbf3af2dd8f3dec68b97a422a8b7d45e57fa1224ccb8a3a67f5c7c +AAD = 4842f5a65de4e4cdcd2d173f60559d12c0235c4512fa097be38ac18679eb86bdd55dc21346de183c7a4546307ed8d0c71621fb6174eaa1c580115eb7b90a048c40e05152493948977d2ad2120fd061f04c087d769e177c2bd3cb +Tag = a0c166a1737e72cf7a8dbbb5 +FAIL + +Count = 5 +Key = 274a6a21aacc205fe94fe70ed81d9f0e +IV = e2 +CT = 642dd5c699177a15003a4b0d439772f66bc4a4dc205968a99437c0ecb0a80401280422a39208cba76021c9247a10328701605a +AAD = 3d2e8ad1ecac2bd46093d74131d510eaa3236ba5b653ce3cbe511d824b6e13ae1fa62a0dde4d35f3d0fea05b4da08e96a9d2b2ebf21d63d6e5f41c735f7cba734d85e1dbb687ac0522a8e8e8278c2f61b12174fe3a3a57104186 +Tag = ea150bb75e277789c32ab562 +PT = c237c77ff6ba1d33fe8d8934ccb427eb68e6f4ae4e1546a5dc9b77347dab9757a44abf4ac7c38702c2313d3973a9a0980e0935 + +Count = 6 +Key = 568c11549ad5d94f214b21f4a3ee0dd3 +IV = f8 +CT = bcb05dad97b28af150f34377b8893c03c5c61fb58937fb4f74a99b3e38ed09983654e166697fbecffae36b86759360e552491a +AAD = f69ab5c190319f262e671ed111e48f8767bfb4a4c1219a67c2eb72ac301db73b5a73d42cbe1d20345661e51d939c212c78e3f444fc2187a7edc6faf860ade4194167112550c43c6063e83e0859073d19b81bf4afa560927d8e60 +Tag = 133debb655d099401a57598d +FAIL + +Count = 7 +Key = 5ad3f51ecb716638b69082fa768783b3 +IV = 55 +CT = 526f46ef131ed8fc38446d0194498cef8e3a9c41b64f56ca8777d6f949ed2aa951ce99e562398ee9f57ac4fdd025faf2fc6fd5 +AAD = e01ac0e92c2a6c0e18b2ebf31246aa82ceda17a99c03df3ac3368593509a453138cec2fb579748532fac5dd1b45dc109e6415b3b65a55753cdfcd093e2687e3415db2f38b84770556fd3028213150eefcf14446c896f276f1762 +Tag = 259f57fa21502950fe2a73e1 +FAIL + +Count = 8 +Key = c91f168bc69b980d0c298a8d0d361be2 +IV = 8c +CT = 078bbf4e8ac43ed3263088a663a07656fb86f4c53f2f0f72c41097eb11df19028ccd6fdd75e5843d2eeec3944ff9904d691fd3 +AAD = 22dc66f21d523783dca9e848b32fde362b2d5b1a9534a79c93ce35440c9b5421ce311387e047e5ec3fb35990543717974ff757699ed6977558d6ae9770d402f6d2fcb03945a924c94b3ea2f6a23f9a086b6349880e35dd90aa76 +Tag = c8e1c51141e1df3ed8a840b5 +FAIL + +Count = 9 +Key = 327c57fdfaa6e17de23966bd1b80e20d +IV = 14 +CT = 66f9d180bf6e5846b269fd0f5a7ebc3d3ad0ba6abcd14d6dcf3b88d60cd8f84fa7182caff79767c92a4ea6692e0732530f5a02 +AAD = e9b58b46556e95284fc5154f0a4b3d843f8695331dc7ba6a174cb553368020d2a533f84efe78f8e308c8a9b61501896fda58894faff9b53c5690af85233ab2e9e31d79e28f42ae7d1064b27b9aab977dcab21cae40b589cfdfc7 +Tag = 2e6cb908e812fe6f142c069a +PT = eabc834cb1a3a64d338b70ae6d54c8f3d6acca7255b3a77008b77ef1bc69e7b235924f483a87601e2dd9f294bfcd8cc3a478f1 + +Count = 10 +Key = d1eb629257dea4b632d7903688de725c +IV = a6 +CT = 4155c6e0b8733b7a3439268800f4d240caba78656da86e8248095705e772992e0be7f4457d1c000f570df7aee02a8673c7270a +AAD = b164a492ec1f49faa4cb30e38a50ed08ff7eb3f076967549f075156af6e933269fb61a90474d77fac52c8ef2d4c4e1e8001063978dd4cbc9ab9e5b470e100d911f2ffe13bad17e91ca12d0fd99698b56b41313f1156120af3084 +Tag = cb1d2889affe721be7379b64 +PT = 78b73a7686c3041c78f0dedda200c26590bca6f82f526c4bd9e4e134fa87aa47618914368767a8a597a85a7d12a0e2d0959f14 + +Count = 11 +Key = 3d8c8f3325e438065fab34c4a06f8dc4 +IV = 3c +CT = 4f08bef6c45688770e269076e00523f870655034d587ffc1dc1f9a117e7f84a9a3c5f73ea9b85a8cc69a559b541079163029fb +AAD = 022feced0d922ae28cb55e7581a9a99c4b70fc6892f13fbd8ab567a2d14c0de2d3bf42749efbdd5a3085706bcf12d54dd2f18763e4cb359a285b77971725168845ce0a065d1aedd755010a17975869dbafca528ddb484d42ad84 +Tag = 08be89e3166eccebe9bae191 +FAIL + +Count = 12 +Key = e51b3130bd0458c392bd40c912909f94 +IV = 52 +CT = 1df2ba9c635a33995b3a6f1185b488805a62d4b8bf88203c8dce852cdb07850ec0f7a90cd23f7852f3650502c7be200b442d76 +AAD = 90641e4d711343457661fc15242c39704b362ddf84d9795aa847559a269a96d5e5b95eb442ef6b388973ce0014e7ce42b19bfd677145ac6c260a25d3e1801f8509bdec9aa6dd1d11a5035b0309f6843d89432b09027ff1811a3b +Tag = 2fb89347cbff9fcf8c20f9d4 +PT = af5f4186552aee968b8f3063a9f2498d27cdfceab11bf242f77a00ed526c911ba15c8efbef4f0b44c6cbfe7d635c8c100bb293 + +Count = 13 +Key = 31895910a2928c883395ceaddb4e2720 +IV = 56 +CT = 117ea010154a7a88ebec1567d7792237a992da815b529477ec482175dc61c39b79500854f34a45a6b35088ef5a107d179adc0f +AAD = 21145efa9ce543808ff7b5fefcbe56694918b72a091fbcc5bbcc34e1c39194ec3135e9c23128168d086a7efa5dbf239bbeef92fc3a8f08568f616e59e6e0cbe8f8c59c9b9131b7ce9b6db6a3f6a3574f7476be1c7a4f15c5f218 +Tag = 9d0499a9c79522f234cb7579 +FAIL + +Count = 14 +Key = 0323c5a1c69e3791bc3114b3cb11e54e +IV = 39 +CT = 898b1d4d296ea64baf647bdaeeea33896adddcfecdb803b4b53a5ac681c27a65e2b096648e105ec4563132daa96db6ebda2433 +AAD = 9cd1d21a0fa57eedfaf2ebc8c00bdfaf795b24b12f00258e3c52f633166a9792c3ef7d62d99565713176d63425c62f1ea574ecf3abb98df7b3793f36f636ce3f4c1feba4bc36927ad04ffd077ae9f36b6d0d987102c6b2490ba9 +Tag = 47d4f1156ed300c45e8c5aa2 +PT = 98cade9896891fd37f989217bbd00a9dd7cc233d88ad3a0baf4ab32f3447b1269c30e1969fc0fce2039df9298cc45aadbf670f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 2ab13cfa9d76bc9827583b797f575482 +IV = e8 +CT = eab9165275ad1ee0d86f6ba8aae3c1365d1ee02b4edf95056775f2378bdfa09d60db1fd6cdb64834b7c3bff04e467d29efa6e4 +AAD = ed4b663493b2ed04d7372d502aedda9b489f430aa03061ef6b827ec28b43da60833f0b6a986ee6172606ead68adae7aa4b57f05a29c6dd944e64821e035c402ff39aefa68ba01e0c9d4c8b1ceca93ce8f1135f78476872b541ff +Tag = baa02c913e6daa84 +FAIL + +Count = 1 +Key = d349046b1ead1e9b74e32929484aa2d6 +IV = d6 +CT = 912db31064fb59a743fc1807c1ac11fdf488ea47f62108be7225026914e6e30ac5a139af5e95bb8cd106c2e8fd90966df123ef +AAD = c1646b0bee5fc12b1042b43c2c2c2f374c947824f20e8ab70f901fc84dd850ba50cbdc9b33bee7dec7175c70a01049cd73b247baedc6be7dad47b8186e581e3253d5e6f75cc2326d8b398be68759619e286a539e3624dc7fe763 +Tag = af07451cf7d138bc +PT = 760200e02ac5ab0521a888a849fafd886690d514f101b16e5d77932af9f24d62c38080e6e00133fcc341108055688fe5c58590 + +Count = 2 +Key = 65872c95523d0b10bfc6af8eb550f245 +IV = c1 +CT = 67e3ee7ea00f1f478325db96edc232b2fea9012ba940d0324dd6af132c987dde5dbf9fc79679f99c3fa9dbc06316f540c34b0e +AAD = e8643a41f72ef39155de7b022deffa8cf4173bad032819d24d3ee237db62007503adea19b7487bc1807d88bd6a3e81b259d44111e0149d1bf2ada355b652c4af1d07e46029401c1989bd160ed20bbe37c064079fb77f84156163 +Tag = df3cadfab41a4652 +FAIL + +Count = 3 +Key = 98ef46365b049f9657f16e4851c02e4d +IV = c4 +CT = fd2c922c60e6abd476045848b0167c5cabab0fae0f4bba01536aa768558746754c234abaf1472407afdc863a3617835bf15e2f +AAD = 99928930bf12dd90f00cb4c66a0d22660a2f901d0ca0189342efb44c7ceede9df8b80fff1b1a9a055ca2befa950e35ab08eb7f9c3f5fce672c8fc673ff754a0bad09c7b5bd9d7e591a88e382a94cb3e17684ba800e3857c45291 +Tag = 6dd294999b6a52b2 +PT = 86507d4a6f1473e78d3c427ee89026feae1c3f3766f72e6f375994b9c90f8976a1ab76dc4e4aed493bba6367331cb18d865134 + +Count = 4 +Key = 491d8573d60f0c8eeb6484231ff66adc +IV = f0 +CT = 6791d81ba4990b01d98c25c5c263e31d630c96b634ed373ca22e33d387d5a39ebf8740929f062d84bf268de3d0639a851b6a7b +AAD = 52725a8965a53dff1a1a26de6ea0185ab8ada3fa5a94f47d4e87fa1f71d7db5a422a5e35e0ad4ee7cf3f16f23a2f31feaf92929f70535cf94a7f816095ce08cb0deada5af3b89838041e12cd25f0a98fa58364a9cbd2a8c692d5 +Tag = 7bb5f8ef87e55106 +FAIL + +Count = 5 +Key = a69db7d01ccf2c0fe8f50c26c4fb1722 +IV = 45 +CT = 4a77315ba86e5fbb83b5f8f6fc036308f4ec508772b9548fd51910fbfe7fe3b08bd9a9f464de9ef44b3fc8bd0a28234d371a63 +AAD = 9c960871d0de1f283ca94fa7a251cc83e0d6f61ebe292f8fd7a8c97bfe4fba0bbfba1dc886b246183b543186b342b866bb8cba5722c83edf98c9152fc138b391b54130a30dc879323153a748bc71e5498faf32a144bf15487652 +Tag = a4e4de21dd55177f +FAIL + +Count = 6 +Key = c039892093376be9a0607a7969df8933 +IV = c5 +CT = dbacc0e18b5a45b68635592823190a01208ce5115c337371481de90378a7080f8bb9aa09993e7c1c13f22166d064c001be8984 +AAD = 365bfcb3ed09344f70d69194f77c6813f2a22f47fd2322839a4ed46cdb179d305fff3f2820ffb64cc32bdfedf998365e24bba6fc5cf98c21f1c609c84a4057bd0a702841b56edbd60e5652cb9a116534ad86cb4b4d6b1cfd0ecb +Tag = 39c34e22c13fb86a +FAIL + +Count = 7 +Key = f3de041d1757aed62d72eb0338e5dc5f +IV = 3e +CT = 0021844cbf4878d907716dca022870f937fc6e4485954e10e45e920a23afb29c63dc546ac17c4e4bc57d94af1304491fdb6b04 +AAD = db9b3c00380c86465b4a1565a24edbf07a6308dc97885348fe4b49a0a6a7a9d8dc34377cd5918b8b0ea70b525da02f3c80cf73c234de61cab6b14e93e267e677abda296fd9905cd6378716976e6073d9839f36f8b42d7ed6eac7 +Tag = 08e3cfb1cfabd563 +PT = 1eda9129d2b0b8664a460a3ea7b7188f4e184c9bada6618751bd4ad79e2ade117395f9811d87eeaf80e5c69576edfda51b18c1 + +Count = 8 +Key = 52c6412436cb6e399133e6a20391eb66 +IV = b0 +CT = bce55ea488c61f4c651c4cda9168237cac4045a6b6b96193a64b07e2e8db95d85d47207502ee9e3460d60d29bfe79c4539f760 +AAD = db56ef0ca1880860f38c2905afce48a505299ab3dd92105f8fae526d78065862e2b0bf7861cdc3c1ab6c04376f3b5d87af36f088c747571ffd925e3b0bd3d8445e2b7f9de52e1ec94524490911fc71805762833a96d076d42f55 +Tag = 0410971700c6cff1 +PT = c266ccffe14f8c6fb205d2f9a53292ecd66e4451a4b4cb6ead2242012fd54c94439cd92c2ed288c2f01069a1cc8d39e5b2cc95 + +Count = 9 +Key = 2a645a66f4a905a63df0c445748f9221 +IV = 48 +CT = bda862fa96e49281f84ea890ce457852a012039bf06598880ab7ed038e2d0bea6178911099c068245fe4d81e7afd4b2b420044 +AAD = a36ccbcd66c16059da132b654b04363ebde9979c1b767362c1cc4be1553a6293b67d02bae6b2bf04398f526f1d58455f30d79b950caca96b2ea3fcd3177bfa6be208f872c84a29655999901900edc837b93a0df1c9aa0fc86d75 +Tag = f3dd6263db76fbb2 +PT = 3f39bacb18479f50ac1c136a264e3fd7dc9dd2f8d72aaf5a093731af9717820da72d47f7fd3a15ecc12c6f107c777b2486b0b3 + +Count = 10 +Key = ad191146b682e75760088ba70eeefb36 +IV = 82 +CT = 999a8d662dbeae5e09cdeb0ea415e8b72d6b6455a08ead57a93f4f8797816ea17d0ba7b9e42618ee225eed4cb7b698151de38f +AAD = 3bc2f7896a1e9772abf1d9a8bbabf687e06fe5c78308ee701add4cbd332a3fc1e775dd0cee8ea3e92511c677d09563f64881f94bd64984993358697152f435b0ea65c2641b98e40b212fdee2da12244f164f7eb944b68eaa649d +Tag = 41f9dd867ad61da7 +PT = f760a834dd81347d6ed583b121e265f022ae5e4761e837b2d9ea84df83d2b2b3960738f22d604bd45ce34609b38e1d65d5acd1 + +Count = 11 +Key = 4f4850413af85f77d0333ede5224fcc9 +IV = b1 +CT = 8d9b3094b3b1f211e0f8e92c641274cccc0faa5ea4e4733d42ebe2a2101043ed791023b766fa97c5bd8f7bf944bba0e0747bd6 +AAD = 1d617b5ea415b605c7602896fd9ed110f02fef1a3fdb2399a7550d07fafc4b7407519d82d1af844ae1f70572d95eb2ec60c0d17dab65fabc04d1e0d0a4e8413b26da4acf52d3bb547dc3b5e083029260af013fb6aa84f0d1e25e +Tag = d2578ab8ce4bf313 +FAIL + +Count = 12 +Key = bc7ddc079294ed4212e8fa04c2c59a22 +IV = 32 +CT = 9092cfc99967cf55c799847f62f9d6f9aecbe091b30e26281e91d1d71d6fddaab333a8bf5bd6570a370a1bf919944048d5187f +AAD = 8c0fb223f6a90d09c81433a6f44750cb02835f62bcc9fa9d2f667fe455aa434720e3495b3cbe294cef5b8dd0d15d9d69513410e36635f88600ce05e8d41dc0ede37a988b09ff8370227550c02bff6e8e42367cb3ef97150ad3c8 +Tag = e9b72a6d5f9c328f +FAIL + +Count = 13 +Key = 62b01ea50818672c9042f2f799428b64 +IV = 00 +CT = 143f6559504e0221fdabfea5ea38b3961965fe84825b33885fd39fd23479a76014ece4df2bd922c6c3ead302e75e61d911b369 +AAD = f13eb5d5a6c76f6e5a4a97e0e171b2a420338e2263344cf479240e6e4083c215b6602f043b987f865ba9cd5cd357f4ffaa5940d3253113d8157c727d4686d3859b1b6542240b160cb293a93dea425e064ccb807afa90113354b5 +Tag = 3dd4485ac24d5d3a +FAIL + +Count = 14 +Key = da0cc4eae4a81e09aa2ae6e77d1c9401 +IV = 74 +CT = 0b67622dba3e93cead043a133e6c589e2560bad039a4cda50686243138f3fef01f6b2ce76fe6adedee8844f1b24caa06f03154 +AAD = 85047ecf5cd39f05ec64511abc8d6eea23421ed3d3c7d923b590910e5b4fd68212b23a502f49c025027c5002defb20ef17e0ca7586b853ab1059ca40e13c922136780e0e266072db2cc7c86f09916c58de7078621e06978631c4 +Tag = 1164b2fa4f2471fd +PT = d928739f4b2b134ea3c44da1ed881dfb1f0c936a568c374f7b9b4cd1e6fc0923a2d4ccab5fabda1b81998f544db0fb61c66be0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 7a803b5431719376751715d86f9e7c86 +IV = f6 +CT = c534948cc28349fdbe24ec549067b4eacbf8a0bb8b251927a1d982fe9be388e4535d3555aa95912ad77a5586e747a7527ba7de +AAD = c4cdcfed75afb8e27cc53c9727ede6b892a0e4bf23a7ec83a5fc68dd62ca0f0e60299d3b1ac018877769dffd64011b9c53d11c0f7a87fb8fdfdf7145e0db692f9af95a5635ac62cf9655afee2a4bab9555e6b107196ca8ed45f9 +Tag = 48ec9585 +PT = a5958c2ef85d242b41cd11e4057717dd9d68ef617c07ff1d30c635223869cc1726a54c225be984e6fd0185889a4b492493fa55 + +Count = 1 +Key = 7431c8fc5d7a50f8e9b3cf31cde399d5 +IV = 66 +CT = 8c995b444c3084926f2f3980a77589b1b1dc104c54e30047582daebbf471fa8780adc27534cbf8fc9d36355fc939b0e68d231b +AAD = b6dafe7c99ce32d547902d62f3a881ebb3d40f9e854e5a76af2d4d7134a03a4382057c4ada0ec5bd96c020812b61b85b645a6b781a4e5cd716205dbbb930d6471a4a73318a16695829dd2dd899ae872de104fc55daefb516f419 +Tag = 6479f9dc +PT = 6ba766ded29a031cb1eeebcd1343a8dd0e55bef68bd7d0a94a56ae26b161d3036745888805ffb4ac8e5caa0254455a2e8d4ccb + +Count = 2 +Key = 5acefa4e73281ea605ef6af8ff2c6ca3 +IV = 9f +CT = b8c2e73f8d1988a77799bacc7822ec96fc041953b734f563b12484385eb11e1b30ebc294f8a5edb62d9b62030a9f65c863544f +AAD = e289deb91d787425b862269a11b9400f1a359af489717abebca384059f3b93e3fbfa34902ff1596ddd4438086838464077fdd3bc22e0e38bf6d2430f54c106da1d2cca1daf77f42d336d7e80312168a84dc205f2c46455cc4e34 +Tag = fd468bc6 +PT = 878d66cdccaf0fe585bac3a7cfa3702c9bb7c06722b1f5bc583b0e3faf0e92c394d88fd0ca2cd7f13917a3cc288c823943f149 + +Count = 3 +Key = 4031caa5087c5d09ea18a0ca31569082 +IV = 89 +CT = 1d55adb30a7a4b1dbc4eae5b4548bcdc7c119809518112e3f5335aaafa20a5a3294414c49c8e527c76e95fb1e794cc23d4bcd8 +AAD = 87e70b2a4436dcc05a44d684fca7cc46fb2c37d9937acf354657d9a3bc74016e83fc3e64b305623fa528a36a864ddc22df9f96dbc31be13cdaba4816925f85d902013e792653f8ba1406801e05bbe3dc9bc99057638c30c0a67f +Tag = 4dce61b0 +FAIL + +Count = 4 +Key = 0553b5104ce90df1407f6b5282c98f80 +IV = fc +CT = e3f783d26d83b23d7c35bdd8f8b038272e4c0a753bdd32e23120de3739d4110682a4db13d47d42f9ba7d3a74d68e3ed70fc9c0 +AAD = de3f8cb188d7b3c5781058e182cef4ed744c22b743ea378ed646a9ec0abf65cadbd3c8b7185810c058a74f58e845359f1221c5052a8cf45ecf021c3484af1a53a660ac4acb3d6b5ba2aba2f59398e65916e34ba02312c3ec02db +Tag = e8a85ace +PT = d404168c875aa68d19ca4e7d1fc6027210d3cba0acefef25befd066d5caa7018809cb94861cc5093760e6e84a2a7d839a0ab5e + +Count = 5 +Key = b288d0a79cd208a72c5e4510495b5c50 +IV = 26 +CT = f4a2bfa28de7d00838ec9afcd6aed8d7ec557f9284c3778232a451e49caa75f42212387c58ac310543bad74eca0b0a4c261bc2 +AAD = 114c5239c22c3ba39a46f437a321993ac49bbb078ace5a033f488333dd27c9d2e8765bd56b990e4bb8d140fe54f70288808c1b87128289a8babbeb46a5151a67b2f0023709b31e81c90d53b112c27a2f045ebda61ae6594d9272 +Tag = 6941edcc +PT = fcf7e3889a7bfc7e1b2d62da9aaadad12c60d683c215eb12255eea24af363bb9ee8976a88dc26b20bb07ba3d249da6a9e002e3 + +Count = 6 +Key = e08d145a1cd9e5acc1e6162c8e4e53ad +IV = c9 +CT = 72cca857b36d3351dad346652572db1195df584e6ced741ffef638024645728122d5d4f9a713e793daf871321b20f61e848637 +AAD = fa80a9cdea719f768aa53de5c61124a8f36ef2fce7e879b5c0422b9499626ebde309b2da488b9154fd4aa571219a8037f6884c658e01436b5329fd5a0bdb40f328760a1079fcc2f6a66bae28866853838699841e8d026aa3fbe5 +Tag = e7f63283 +PT = 97f80a11517a04c5fdfca1da746a45ff9fe95b5b430a7cad5dfe52791a7e8b2838b5f5919797f3b0b93d90f0b57e14d9faa1a6 + +Count = 7 +Key = 8320a96c2864f145dd89b3a9153a5d57 +IV = 6f +CT = a4075896ba39296dc81e037e32bc708c624546cb3929f97a3f1b06d91cc63823a9065cda7143c1e55dbcc5c3a80efd850c80a1 +AAD = 8c4ccc41b790df612591813cc360e8962f708c6384a2d3cde8ff6faa286a70802c5b9d7fdae173d78fb08a0d69af115a1d0d733aa2ffea618ed927b79b54710f6d2458b697ec0fb59d45330b2334f5a5cde0193ac7eecdc5d1db +Tag = db14a310 +PT = 64d239cf3b9376c089f98435d1cc62aa4972863f41c3ee5011153ac2fa440984b5e8d7e6dc384b0f9efb788799e6bd22179e14 + +Count = 8 +Key = a2c642990611a4e171aed9c17fdcd704 +IV = 71 +CT = 7c770cc7b51760c45413c376bdc93bce21da361bbf00f3de930c1a7395d21075a7e519ddb8a7791170e6d6e24be80bbfecd41d +AAD = c8a18a20b401e46f33233a438f1711c1d2987afea71792423b673377b90772ce847b62df35542572e5030c659a81846f3a139bfbb53e2ba6a250aeb7a69cc51eecd454ab9b87a13f6477539af511c22e551fcbef7985f21c0821 +Tag = ed95360e +FAIL + +Count = 9 +Key = 364ed392f9f050a2a3d4e825fbe6bc6f +IV = 26 +CT = bd96f0468f0e9c0aa76845de8348ee7a1c8ea59918f29393092983fcf7141d8d140f81aa46b5614ddb436f9b692ef2597bb618 +AAD = 182cdcdefca209c38be06cf0824b88aa4b59589ab56cba311093ca5940360905be8ec4a10a1af23a3eed4c1cce98b2c216fd193e60375984e7ced54c346fe7d60865dac9699bed6829303db8591c0b99951ee1c51a5ed0ce6fdb +Tag = e22d968e +FAIL + +Count = 10 +Key = e9009e1f029b3f6a47f3b017ba4d8d0b +IV = 4f +CT = 8f0c951d26b6cc25cac6003fe7b648ee1ad26004ab44f066304b542a8a4e8cabdaff916d2b3eafda09c7cd4f49ecd6331174f6 +AAD = 953c2978461aee4686490ce749ae26e99b99dc0b31cf18433e58d9a6bbc801f703bbca401f91a9928b7c29584f90e17117e12f12a1c77743f296ef0b352803c888037ec0ddedc25b6d2b9ec0a2a4b2b10e723bd44b49f98d2c63 +Tag = d1d99bff +FAIL + +Count = 11 +Key = 59cfdc210d6cf4069328b45276c081fa +IV = 59 +CT = 31e759b75e340d50646c5a8ee88f018a19af07374f6e662d73132ca31c6b98cfcc4f63b20d5699c085d3b6c8d30ab591f12cf8 +AAD = 96383cb66ce239fd37f3941014c6c47fd6dcb862652081bb3255fd2b33889754dbaf53c5e7be8de4933742930fd07fc9d6773506db05017dd205995f55fbb97d7215bda249aadf4c80952e738fb6f1aa696dd9088067081c4b35 +Tag = 0a8e4cda +FAIL + +Count = 12 +Key = 9e31cada45dd1d684aa494ddbf7004ce +IV = e9 +CT = 53a628e7ab380287c5258b19ce243519bfd76998674a5b3230e328fbcf08834454337ba55b47ac2b4ebe0016e5a6a9f2b5e8b4 +AAD = 92b53141e204a23a7a7d223258831864a2e159dd775b8da0440b45d587c1b3c61b6a607e5ff9bf5c7c43b1607434cd4120a78c37ddfb4848740f6396cd12323b097215b37db3cb9900e5044bb0c0a2bf31dd5d54723f460c1d75 +Tag = 12449b5f +PT = 52228ad414995b3f2d96acbf299f9533633c623dae116b1446b262dc53e91803d7e312e487a4f1d0fc5c4bf251d9216d819aa5 + +Count = 13 +Key = 5791abbfca762996d49521492e13e2c3 +IV = 75 +CT = 0b9b6658a735e4e7750360a97adc0324179f6958b08e6c7471d8375ca5b7b8b1ce8432a5bf72257079eef7fc2bfdb8ed4ee912 +AAD = a26d254b9a29e120385a76b7aa68ae0fe1d06727e3a33e72524590b073dc074c2420bd791664684c4610ef4fd5b3c5fbc57ff41b99e39f0b0ae2c4baa331d85c240a121dd9f8a6b4b79f959c679a112c0521da899f3035ab7a3a +Tag = f49e5d25 +PT = 8b36104cc19cac98d56688b8d0626235dc3dda5fdb9968555409bd749da91ea3fbb849f34e7ea1747893f823660632175adc3a + +Count = 14 +Key = 8a4fe36fce0e2703c1c4a2555079df1e +IV = 0b +CT = 3fc39785ab9690d19b8e315a967440dcc9aedffa735f682632a515170602ba805bbcfdeed6a62fb510385168852b4f3901a92f +AAD = e23a3ff6fc390addd5c4e41de4e3d090156401070619f18e907e28e9bae50c66cbf7a0a93e3a5a06372941dd7df7709568de19dbaab7ccb52cce69fa6192a4c0f5e61205573753fab2e6b297e8ecdc488185b4f95e14f44ef315 +Tag = 97b78d28 +PT = fb69222dd5139ea818902054c34a1167f3195f226ab3cc17524e70af747c3a12d1e21bd678c438970dc15ceefcf7b2e9040f29 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 2698eba4fb3a0f82434707b357f6f101 +IV = 19557bdaed00a43b536340d1bf9fb8a47522a2bc4bc53b008c9cfc570fcca3d8282292c5b55c4a2ccb94058aa3685dca772fee74b6236b733cacb0772717ea07002a6a50ed6ad17678f8ff00fb172e14a717af278211f55345e49eb68b12175d4ad1ba74e44bc06272f14a27ae1b1f89fa8bfd4851a90250c762fc0343f87494 +CT = +AAD = +Tag = abd6606a82f5ac876caab5150007aa49 +FAIL + +Count = 1 +Key = 86ca97ede9ab63b934f4b20896c22d74 +IV = 0fd1e4e0cf2724cda5242094826bd699d8ac2e58d39cef5cf0fa894ea45e0c95336b622f8a2eb4969c0564f2aede2eb1a5ffca9f7b0dd6bccec1770bd6c845d88e2a4143a73cf71ca7dcac4e4cd76f1c4ddc35ed0037a96b0d567d32dbe8805ad6fd3344e7fc9384e1a5d1eacbc8914f39179aff2170b0ca2d384a3e731f55be +CT = +AAD = +Tag = a3e579d3a8f1d6eeb7854f55207ff863 +FAIL + +Count = 2 +Key = 6e3a3b7b1cc98c1fa4754a7d63547427 +IV = 0c87956a3ed77f63a98a97b7e6fb58bf6a4426977c3a0a6409b79e1c536229e229bb69eb376563b168c1823dc2e3d9988a0f843b4d9b872f9119bbc00e3146605c4b1ca715b9e272e59298905ad1abd3b0981969028f94441223ff927419c17156d0110f165539a883ece07d6a81d00d5aa52fa443e97ee05e79a7183de46176 +CT = +AAD = +Tag = 8dcd0426704986f4fe7257288466f2b5 +PT = + +Count = 3 +Key = bf3956f15a6b68c7dd78911a31a690dc +IV = 8564c019d183eb409932574f6bae24d290dcdad1c310e88778ac888fb48dcd707869b841658ef5ec46c6a123bde6a61b0562df3f8d28cce03229d7c8da40a8015b069f501a3ecc0db135fe15b240b0973791137cbe37db8b1e1ae2cb9436fe3d2ffb1a77e73bd6b73323fe1075d5aee46bae81c0265d79941c6a1ef54d219675 +CT = +AAD = +Tag = bae1342ee18430076178a2f30434aeec +PT = + +Count = 4 +Key = 049fd4eb694148c07251a981180f04bc +IV = 46d3d1b6440feac157c775f5e1574b16f90593bc06fc4089310ca78fab2835aed24de2e6bc7824ce51b58320d256c8b2db70ac0f413a70188aa488d775ff510ca60e2cc77e1ce99c26c1ff576d351f153e87c4b8c21ea2ad0dbf023ee3c2cf55797c7c8a70e0dd487167e75eeee75105ef9bdaf4ace1b8564ec4996295f6aa97 +CT = +AAD = +Tag = 9c245d467a0eb570b02110f7221ffd90 +FAIL + +Count = 5 +Key = 77f99d667f804ec364b788211cbf13d0 +IV = 7ea97f9de4742c4ed8ba41f990bf41e2e503fbfd386086292d4f3c6e74c86365a88062e3893327bd4d4dc7e2ac18d0d3c8d551222b51f67436d5012eaf331c98a6925425168c8dbcd3c571fb6421096d205027669413c44a0f8711b52e3e094af9ece6c9fe80a153f22a2ce4671f7a3c31bd0cc583b3f4984aabee057b67bf8f +CT = +AAD = +Tag = 0581b3354d685e4f32f9bc8b48d36c61 +FAIL + +Count = 6 +Key = 656ab6b315cf9329ef3d9b924e0cdb39 +IV = 6bacdcf85b10b25c42e08d58eec3da37336340a0aefa10d44f32db8240a6df582fa99ac0e6fad379eea5cf152f4e546df4aa4efb1da25f93bcd223919aac79850d8e3019d65e13a3193742c77e288e47d070bb80f827473987777fd089d42ea3f934a2023d2e7564316ec9ebb9c215968426f66faef8b41c8962b4b3fce881ca +CT = +AAD = +Tag = 12f585c46f7e3a4e699ccb35a6ccf701 +PT = + +Count = 7 +Key = 3d70c5444d5a7c2c25fa928be6e0817e +IV = bc4fdd3a0d71d81729f83d9ac71f4d17511e53a3392372e0b9681a79935eec2a7a1355ca4f252cae01fa34cfe7a2d205ffb558522991cd1292c840df2c0dfa86e9c0224e9c715f823ed87f3343da7ab01417e16d9222f2dd920c308c9a8920beea22ddc9c35b18d9e3d3086cfb10e3e984fd1a108a62dd0f0b92436390f24e96 +CT = +AAD = +Tag = 22f68e8d3c67d7750b24a6ac8a899166 +PT = + +Count = 8 +Key = d017a6ccf1bccc40d1d6ddebe7da7011 +IV = 80a7330473c1356a06b9d3ab4f375049eb7707de7014b5b2ac66557876ed06217fac2b096606b209716d72593213c678178d7b877ed5a52e227b42efbe1e64e7d7455ab1095bf04323650effc81b938b8fab92cc24e69da45ed17e4be57695fdd64155e728adca0a203ee8936e8edac32babde967e441952b587f4515c1db0dc +CT = +AAD = +Tag = 87946ee03065ffa10180aba4a042bdfd +PT = + +Count = 9 +Key = a1c1b4cbb72796b28e5342f9fedd37c1 +IV = e699957cdbefd9db1226e3cc776db4e2e1ab7f606ac8aa2a3e283b83746a5e791aa382ad8f509062434d300b97aa1fa4ed575b032551213054cfbbf510535fdbdc03ed4bccc4b38dc97b6cf86b984521af052100ac1ce5945628f8170b4391266242ea2fa6de3b81a2fb7f345ecd6fa77aabbd04b26c837c67742c24f7c84a7e +CT = +AAD = +Tag = 2145dd363f71f87a4ae982115f39a4a7 +PT = + +Count = 10 +Key = f3d2d789871fe8dcf1a3f6a22a4c8892 +IV = 6edbc755d060e847ad57f36bf98eb5685949cef361700ddc41d25b5a0426558cc68cdfe8188ec08e4ecfe74d25ecf5a7ef8d9d925bc1417dd8268ef83b7bdb5ae7dd74374da0e7c07d443b633ea9dd12f0ad9fc45a13679033a0e8d6fc8042daf2d11c0ad23aa0bf39f5dde185421fdb758d9aa789cc313f7833225e4a33951c +CT = +AAD = +Tag = 0716715bfb23ada41cc9756cacd5a7d4 +PT = + +Count = 11 +Key = c272ef3e342f0d0281b940e632af6250 +IV = a0558e9c039a95bacf6c3251a1a50fa1ff8b94adaac5513592eb1a3fa78f14dea02179ea66e96f86204b8af71382048abff5a4479d6fdf92c6f7794f33ae633b26d54fdb1a5dde9a84ca5aaad1566df825cdcda58a85ad8ac2f8a33d72f7c23eb57e9107779aa2d6782a7240e2b63d7db9f83df279d35db09ffc8f8192d75257 +CT = +AAD = +Tag = e2d9eb454311630ee10d76c9197e8435 +FAIL + +Count = 12 +Key = 8f1fbc5eae204f27a156d8a889c18388 +IV = 8e8dc3be144dc4b1907a3c7fa5ac7980337582627b5530cd551d2d48b39d06e72dce0eca17895649f1dc39efcdbc50d76ddb997c214bf0f87c5a80bf7e85cd1586f8e366ced207263d68d33d1bdb3fc5b91bf1b3b81a2307a3f21e3483e1d842f04e69821703963ecea9f749a90807b7f7e0726bfab9d3eb648a1147d9edeaf4 +CT = +AAD = +Tag = 1aa13785463f815ad5558dd4672aac4c +PT = + +Count = 13 +Key = 8eac649f7716ea1044b51c8bcec69f11 +IV = 031b2052601eef4291d333e7b55c2ce34a73ecfa68c26a2e1e41489dc8d2310d106ced0a46d4daef19de4c06348868b086a6867f3d053bcf28335e3a63e7e015f6831e494a70dfde5e7d1d265ba1dae0f56fcd085138817a1e928e9b0d434c4d5ca5eebc1062fb0d588d7f79fb6b4f3831407358904df0045be68923503b2b3c +CT = +AAD = +Tag = 77e3a05f80c1d2feddfd372f708b702a +PT = + +Count = 14 +Key = 135e94f940c219a0901b4b16a9cfee55 +IV = 22949b04888e85a055658debe0ec94b34eaca6a3b3722abce44ac2ee5c61a5179a90ecd77a2db496072392c745a097f132b352150c2226dbf8fbaba5dc570a2edb841d994e39fdd20bbad63a611c282115b63e03974e755cfd731572a6f09ec46df2436f577a83e351b58fb8ca40e86290dee740e778a66aebd93d0629d0e561 +CT = +AAD = +Tag = 6d10c65a984cda6ec3fe80314f505535 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 6d3372e7aac17a7387824a825402138d +IV = 8152beb48aeb99cf3d82f80c6489d60ce1fc4be3dab37084cb7d3fe1254cecb3ab0ca56c4d15ac0ea7fb1572eb2a2b2d233be6211cc00679b995e3437b40cc2d7ad821945c09177cc0a0527e409b5cafc334d536c31f64f7f506670ed74291f810b3f9984d3388b34b84e7efa73145f54bbc16c78a5df4f7caf731318a232162 +CT = +AAD = +Tag = adb0bda350686bc9a72bfe57791634 +FAIL + +Count = 1 +Key = 0e5b90c627e9b581d22a2aeadeaf5468 +IV = 18e58f2db1d03136d86787650e1d274167b71b8219a0ad9997bd20beb66199455fe99dce6536573f2eacdcd3b302e90c091ea2cb3ef069bb234665c09e5514c020e01dd43c96d7641475ac8d7b282268c2bed165ff9624b1f836ebd83f90aa6536a82a2d555f3825f71e93f40b5aac991e08438c8a55df98ccc4ac057e203744 +CT = +AAD = +Tag = 154820cb914004b4f01fc4d2376af1 +FAIL + +Count = 2 +Key = 1157ea27ee087934517876f6e8098b5f +IV = 10352e6b1aebda7acbb63e0bc1bee52b0c90f63a2e611cc41f72ec6a4b1ed2690b57373c3b7322711e3b8aabc3705094fc9795c7d41964176a68af1dd9513226818fa2293554d0e598bc0d511eed3013645f8b4c6c4d1aca96b228acb48219d2807b51a54dae47d1e8f7387976f088b3ee589800e95547680cdd15fcb7dbdf0b +CT = +AAD = +Tag = 864ebaf66cedbfff2137017d8136b5 +PT = + +Count = 3 +Key = a76dcb1282bc80d395b0457007decd38 +IV = 2548dca076ccc0a4cacd66110341679972d3b10430bb092a2ff6b8336129cffb6284493acd7581d3487d5fa862950634d068093de7563f9db15f78bb7c00beaebde7187fac8cdfe989d4d952605c3f62c9229940da9f5f50155892e320aa1206f9f720c0844f3dfecac033248dd4e304d6ec4313329908dca6c93916f61b7868 +CT = +AAD = +Tag = 8a6f1b767c6b9947167879d3ff048a +PT = + +Count = 4 +Key = ffc56cb9c182e950ab38d487279231fd +IV = 129fe91f4b69824553a2f38b2774e043f4f2dbefdf3435f3e19f5b3366fdaf84a353fab3f4cad1359654462904bfb159e0d439cc836a084250a67d922346327d10dbf7ae2834780b7d313ed932822df3ac5bfdf61e4fb2402fdc19b383bbf64373cadce4a34e42fa390c8ffe02a2bef9fec5b18596c2828440b167f9d503a418 +CT = +AAD = +Tag = e1c5086d1b0fce24873a7f4c0cd0c7 +PT = + +Count = 5 +Key = a55d72f3766def0888b34af685cfdf53 +IV = cc90fcc991e2a295347ebe905a04d56d7f8a48ea1ac9b9f1ebb70ef6b2280c9984d1d1026dbd3b0142055fa4289df9b77a78df1d380f373d12942edebc791a659a2b166e5a522bc692d8a991ee3c31e9a6e0989e6a9292f52e0e6f3da6a45ea584441d4e985bd87931f83efcbe5f116b584455bc088893d7bcfb3444ddacc6f2 +CT = +AAD = +Tag = 7e0e40215693096bbe496504099ad7 +FAIL + +Count = 6 +Key = a9fc99356ab6b32299667747831fdea8 +IV = dbd089abd005868942bb21ef68dbdcde6a53ebcd869f898253c5810632a039912533fc4b2d481c7c937385657dfb4562d05e936f6827f1de93beaa6096761396a8d328bc9bc30c7ff598eb5f828875d1065c0e7e10169d9785ae0cd618a52ac1733b41bac3258313df9335f6c3753cd38a4aab6651c8d6e057bd84d640cb2df6 +CT = +AAD = +Tag = 34a9bb497e60632ccf63890ebca6b7 +FAIL + +Count = 7 +Key = 93cbe0b8b1b5df8518847302222cc3c4 +IV = 4ae0e60109c7b72e850f93add19fcc251dd320a006245fe77cf1b4cbf5e7e006c2b250b03e113f71ef48735b575f532f29672478f70a121045172ffc93a969fe65122b7d3a2a9eb4a4c0e88b4dbc8d0564f7534a187c0a465f06ca65244fcd83a5a42a4a487a0590b806117a762791f78b37b4775547ca7547baf81d8ad5b0f9 +CT = +AAD = +Tag = d5add9d748e647ed94f5ad777181ed +FAIL + +Count = 8 +Key = 33441d7ab4b75e2225090e2febdb3494 +IV = 5c54856842f79cdd8619adcd159d8088c7523ff9b6a09e57b7db7ac605334fcb488d4bda3f797bb06c38791095c3895e7ce4519be902363b8a01c826f277b43976034c933b43924b8e530b022bce7e38eca8407f22d8d67caa9706ad22cbc49732a1ecd1670c5400f060cb668c623a8b90c50411780bad5c3291e49c36933bc4 +CT = +AAD = +Tag = c5a6e693007b8e15741c88f3222fe9 +FAIL + +Count = 9 +Key = 6dd1c9fc9eeb3bf9cb7e223fbd8c4678 +IV = 919c9afa04614f3b3460885525e3f6948ddf3589a1eafd98a5a9d9b555d25a8655fc21d371c98a6d50de6d403f16ebd38a04bdafc92f8ba2db99842dccd2be1adbc81ff19b00202f1de2d606495643bb46d3eae5c87acc5e9042a1820eac928682668f7d760dd2e629df43fa680eef8753793df013c6f399b51ae0b6189abd30 +CT = +AAD = +Tag = f672e834cd298057f0a4e98f0671f5 +FAIL + +Count = 10 +Key = ba65db73107963bd7ef8d807c9ef3754 +IV = 3039c31263c6f68555677eb5341b5c713cb88cb97f15ffe7886938f0c63f0672e4c9bab6e05e222fb2f07aba4053e2a4b9ec44f561b89356f18ebfe35007fe54beded1df5408b109f4d6fd7307c26006752f60f90a157343c022952e130796f00632d25777221d129d64d9e15b319ff742a2e5bdd8ae5e4415aab96e9b82b3bb +CT = +AAD = +Tag = 78e50cb9fa53777ed28600ac2fa693 +FAIL + +Count = 11 +Key = 6f2e4864750563161c24191171642fb4 +IV = 37c72813cc8ab0234f088783c85285701c92138230c2ee6517b420e0ee266dee302174ce19f884e8a9c154d2c74e565bab639b8581ae74935ace84596fa80a97ddd175b1cd079bdadde511e575499155a73e8937f8c2e9e6fde32b6eb5c2ba0856d5e37dbdddcc30468e793f394cc768393b0925f17df28f950e2e7a8d1c8e67 +CT = +AAD = +Tag = ef4f664287299166686ffdfea62524 +FAIL + +Count = 12 +Key = 242214237e95e9b87e2feb9bc21c55e5 +IV = 3e4702f43de38af545ee11d937f654e6adc3e5df2083583865c71f3efd8b3211b662e3a5139df50b28ec703b97bf0a49d97be2699aff0aaee25aebb7f594689afd739f209b74d1ebf8a1816f12b5a900353438e1ae97ad2523de704cd291e59b1dce0ede76bb8c805d7d7eb77909af55365771b50cb973bee2fc0ad9794ba7ee +CT = +AAD = +Tag = 5a020b9269afddad32909d3041b861 +FAIL + +Count = 13 +Key = 75fae5d848ff071c69103f33a1dd2faf +IV = a7530f624cd89bf4534243da6fdd8591d7a7a15e876e4b585794eb0d7797b1ee857e2301d35b8b6162f29b4adbba79377140219e755be2f7b59329aaefa138a0cfdcfc68a514d951cdcb4de0363cd767fc874b3f908f896a914fa6f2a3f6ef8dcfe7de6f23d015816b3e7dbb1736067ab8d687db9767121c89cdfb39f2e70f24 +CT = +AAD = +Tag = f99b11144fae750007f5fd1950a997 +PT = + +Count = 14 +Key = b838dc2b3e32541240d51a8fe1574597 +IV = 5251bc1c93495542e2ef6bbad7fe310a12c2c15324895801801d0da6508f20386596bc36e3c68ca24f659a82aa3c53ff7acaf2d0bf86993c1c5dd6a20809fa65adc7775432c420c259f26646ed68ada0a410b2010ab6c0cecd9dff5715f9166abd3d8382265841f67b648888816f5e40d27df7df4cbe389f819245b4e26f3a83 +CT = +AAD = +Tag = f325c08223c3972f6de52b8fbcb340 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 5dd6e5545fe4da8a1d590a183cf55006 +IV = a85b9ee8a1a5a9ce81b6244c5585f3a2dd8087fe752d6fb62291c4572486c4635936a942e5ca6d9e9217bcc2bca7e8b54475fa3645513fe99b5d70d5e9cd88e25331d7b2b2be716f0918e8c767438a72cb4f5c079442dcec1f025a45bfcb215770ddab693faec51386fadda523f0b6d793ff779e8734fe8881015a3d51537048 +CT = +AAD = +Tag = 0ae61a20350bb138bc5ae8e423d3 +FAIL + +Count = 1 +Key = 3c03e6a3129e36a3b8bbf706d0662976 +IV = a8943ae7e1eb7f2d696787dbb69ab606819276889cd28bd742955cc036fbd56322599f6d8f3e85224d341fedf2f55226bf58aa3aab78b37835713953280d826c42b32d34a3e4ff8c3bbb58615eb732b179cd974a1dcdb7301545495bda9b708345794843851dee451982c86c96d654829d68ebaee3cdc5422a146c880163d3ec +CT = +AAD = +Tag = 6bb0a382500774e9f82dd639aa38 +FAIL + +Count = 2 +Key = 83fb6753f3de09b3918d5742f6ed960c +IV = de1b0fac74e6a97d2bf33082dc73b67cd949533a5bfefbfa4efd68ef1ce0aeef25fb48a2df393217b65aa17c43ec2628cc5d0637fbd9d950feb336553121db6d6c1d8b77af898186bf9f8c934417234268229297cf7cceb3c3699ef2a668a60be4172ae21dcaef34014e39ec9a9c1cc1d9383826a95585f560f5542fdf491e6b +CT = +AAD = +Tag = bf08ac1777f0a2d98524327967af +PT = + +Count = 3 +Key = fb5873152f6e9c58f11f908da16e5bdc +IV = ee8781d9df9c3214fbb09cc3d0edd737ac724204ff34974325d3818a9f8306bcb18f4a581364a918b3ac71280bf81b0181200c4525e99b4bde02fb7fb0a1bc45047c50ae79231d1614539c708099b8ead0d4a95bb74964e8f86b2823764f18b29c7644f060b15fe264de1ec362b09b162f15065ccf79124327988346fc98c161 +CT = +AAD = +Tag = 5efcf3b9854c7f5ec4d523dc3b3a +FAIL + +Count = 4 +Key = 8823ebf1b01b3f6f2c655906e0b078f1 +IV = 83ceb7ac28c108fa8d111de976942611fee3997f9359dcc99a4d14e22f8c330a7e13745425b1bca70692fb314c25800d84bb575083a042cee0dc479840693269054f1dd1f02d37e917a3588680ed7cd71dcadd6acc45f835cf91b6d4a5648272994cdfcf7e300beb7e77b56c402427d177df39ed8460c2bf9c90f8e5c8571001 +CT = +AAD = +Tag = e1efcaa250e69f0cee7f8fc81697 +PT = + +Count = 5 +Key = 6d386d272d6649999480d51656abacbf +IV = d4e14fee0942d0ae0e55e52c2e409f7a9df054076eed16a6cf8520af7100491dbef007392c5bb8f5a775f4ea1a518e9191da54c54a25057543afd2db0787879a0a1b2e21cfcabe89b293a61c9cfabec4e8c381fabfff4ab15878be0f3a9abb42f4b1fad14e64b276f5048ca7f755d3af12582e64a59c84692214b63163d9c5f3 +CT = +AAD = +Tag = 3dc88d140461da90f3136e8b48c6 +FAIL + +Count = 6 +Key = acc2ddf17f142452fa13700807ee5598 +IV = a89f8ce854080c2b35da28a4c0bf4eb5d0f02ee70923aa09f24d03428ede5a8e52f60f5544d9b680c48adb311660d656220267dc62e271ed8b81b3e8960d218980df30ba43aa6ab6d08059deb68a92c79420e5374ed96fb1add7f18ec881b932e157ac4ea6b40026866d4967afb27667a3d6821faf120cabb305c939f095911c +CT = +AAD = +Tag = 8307aadb934e24e60f2fb8996449 +PT = + +Count = 7 +Key = 388d68ba9f03e1a8879bcf293afd0325 +IV = e295d27cb6a29c5a7543f46b558a5e2a7d8ae75f042913247ec2a73759113848e85e60c4e74590665125bc479fd77f057a927865cdb7edd56d1963f8b1b567dfc997a9c54b08fbf313f9dded3b2faec0324f7fb29061ec0f2461ecfc27f5c6ae1f55408ecfc9442033771aeef9c59430bbb67d56a7c194cd003d59c80dbde56d +CT = +AAD = +Tag = 37d88c8d72be8e7df864aae19f21 +PT = + +Count = 8 +Key = c1fe4e866b8841bae8765832fd3177e0 +IV = 7ea6bfb33dbdbd4318c77c381d87bc23f39567052baf6b98803f043eeb1bb9da3360d29dd3a00c52641a6dab4ea555297e2d30018b60511fae22784eda861146e02c1f9a400deff2c355046b64ea3b1e06b4c714eebe4119f9ccaeaab304279308bb9ffbe8bd29454cb6041d5667e77f3aaa827a37d711c92e8f85ee83ec7c86 +CT = +AAD = +Tag = a630ff4c8c408867d330871b5e9a +FAIL + +Count = 9 +Key = 77a264c82678fb245f49feacdaf63711 +IV = 1f75941344ff8e46d4d31dc69cba28c6e9f25618b3de5228c44e9ecdea3bd66ad669beb0ced3ccc33c0e9842cba4f476784af3e2e3cbfa78fd699796f5e28714544c706219f2faecd607ca4454f32087b15db6c4eb33260b486be1d806e584eecc7ae963ddc2a126fe4b98418f8b02ac8f02638c7b69df787865d14c42b70cb2 +CT = +AAD = +Tag = 6e6125a970613a464a94176d8cbf +FAIL + +Count = 10 +Key = 2a941463ec64016cb75a7ffcea51ed9b +IV = 9e1c9bbe1e5cb8dbd3b2c947069a653b51eea1d4e9aeaefdb96fe9316f0febef10439ed642cf26a27cb2dd909f78574932d93dd7bfbee21dcbbbeacd659f8d9688ad1238000823cf3f1000faffe9c22b49ed34ad4ce80791e501a02be0ef447d248a8622f29f5f85c1d1c49192c74a943554e2668e2a28e2859a5ae5fb2a5b12 +CT = +AAD = +Tag = 83d4fc3f5c1932ce106dae44fbcf +FAIL + +Count = 11 +Key = 7fcdfbda7e8ba9c4883c4d86faec2631 +IV = cc9fadc7e9e254a2eeb26620ac7b99965ca92361080f1c9309ac841da0cdafe52e4a25f720c86c2cf4ae2d7f4d749916e0de5a5c75664f7296b6a3a76e7607be05ed7bfecac3020d5eabe827675c22eab056f4c6f8a4146574911cd31fbc45d295ee3d04d9bd1826b08b73dd4f4b1156ae8d8f3e78d19f6e4995e46a8c286a12 +CT = +AAD = +Tag = c652a066341c830c49f14dd14f49 +FAIL + +Count = 12 +Key = 0adcdbf483fadd359424fc9152c806f4 +IV = 71d40954c75635c8f73ec7e2e78b5599353c325738f05cb36febc5a304290102f6172fe830064d0a45d0919357597c292909f0a683f36932ca1d71b2d2df794a7c9e7f454415d6eb3692653d2cc3ff99ba3d2c92a4cde58edcdcdea533c46730bb499437813e21b46022e32b5ddec1e64ab854ed3fda684b67aedc54636eda05 +CT = +AAD = +Tag = 2248e1dde0b7943ad28f1a913530 +FAIL + +Count = 13 +Key = 239b85ae93204d95fcc1023a9f123dab +IV = f338ccf5ae4fcf4b0e8670d39b7268f470ce041b252423a9b4fe866d7cea2960842b51b8efe6ade0000f38d0c1232f15a91d4390d5bf16e6dd2a92d604064b9a736d2e1dfeb5135dd01b0c31d1985beacc059064b3a576b1239e1e883c2ba61b2f7fbc3e2cb7f3b10bc742dd15d5546af63881776970661d30cdec05557c65dd +CT = +AAD = +Tag = 7c64de96a54084f8fdc980ece827 +PT = + +Count = 14 +Key = d69250957fcba6cb9a91a86f3749f572 +IV = 19506488127729e2ab8f103c85c1f5675e800529b73d4e811ae2edb9d8974d710c236c872bbea9e619de16829c4b795d873a3e8602458001ed367dc21f5da2c8e3f0f73eec72b420e7a2fdaa65b16f738294e3e4e27fa319e5987116ddfbb3ea5ba7d90ac15d6292bd815975b62e96a602b6cd2fb94b6c0f5f8d72a2a051ee80 +CT = +AAD = +Tag = dac7383e9155cb29dcab6f9e5032 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = af3860dc139802a3917cc6f7f5d20672 +IV = 92026a969296c639ef686494dca5d912885de0f034c10763a46c04177a5d0e1f22287b97a11b5d7740536cf8b43c5e2ee9af17cb232c228f31ffb84557e2125b28280b6a60af9274157cbd554c1567eda3f8f89d48672fdaf3249aecf169864ac1c256b871490fd50a4b31345c8330b490aec59106044e215aa396dd1df3e492 +CT = +AAD = +Tag = 9b4483460550c942fc865c8d6b +FAIL + +Count = 1 +Key = 5f8603b7d446b7cf112c640c931031b6 +IV = a2a5d89688d60072c84027f5cd7bea20561ef73c90e2ab2d48d199d1fd4904470c93caf8cc2eb467b7b3ff6b7c641175ae1fa985f310e3f2627c0cad5f9942b108a91a646cb1b0258824da4308a92f7ba2207ca4405ab22af0b200a7110f192a2095808b57346991b556eed1e874a63030326d5a0c7b4087347f95e78587266e +CT = +AAD = +Tag = 30f542b1aff89856b24aa44fe2 +PT = + +Count = 2 +Key = caf20aff9fe6b2e1f8a02d8bf22913df +IV = 978e22c25f5546d7cf193db8145e46be4d883d2f273622ce54402731258a9f658202bd405fd9a9ef25f8b58f1eb9d7fb79f18bfce693e316ad6c134332bc11330bbdb298d9ec88bbbb31d98b9920f6d5474eb1ddca23ef21bd27dedc260f2e3ebbd97bf0c5e44a4781a467cdb6eb29687e0fbcfac064854b4e405a0296959a43 +CT = +AAD = +Tag = 5baf36345cbf02171286b63c24 +PT = + +Count = 3 +Key = 81d67cc710870e754388dae1b146b076 +IV = 1add1c92e2005edb7b022ec9e12dfc3e9acaee6dc8efa19bf855574fd67de0443dd5f10a8985c39110697035f491f798ba82b4a97acef689bb9f2b58f928bd0fb691b14d01e1852f40425b0783cbced4ea1b480d7689134f315443c702f7a52e02e4062387cc35c3a67b7872e966092940f8e933b074f1054a8d6f0a09ff3748 +CT = +AAD = +Tag = bc9d1be9868f1162fb18b972d2 +FAIL + +Count = 4 +Key = 3145b4168499e2391c640ea529c7a021 +IV = aa9c6ad73bf6cc26850f31b033c587dfedbc8f7917351fcc1b421232acc5ea619d7bb5bb387a57f2b31fce8fe753f71d4133a115073ea1ccf82f71a85da7f65c39c221efe954f5dc84f89090e3259690ebbc06ba61495ad2a61c560266fb9f2ee1e4773bae4168fa93c2ade22e009cd24cd0c1c3bc988d99eb98236f8cc57adc +CT = +AAD = +Tag = 08d3127d94eaff57dd4d920071 +FAIL + +Count = 5 +Key = 03f4efb3dd8635464ae8a64283bc17db +IV = f9c276de9470695b4fe4efd6c0c67ea35230d7781d53f6c726f3d582c6d2ed5a6570aff196a6a8ebcdbd15851eac2656c857b9e0e9a9498245c8d887894061119dc117d98f70018fbd35cf0fc9a4813bda1e1e332435b09c73e8e844418a6692e40cf3e8e1e690aec6b12452dcd722a8f4479680c7d2f40d50564ff40fb1aac8 +CT = +AAD = +Tag = 996f51d21c83a72d92b31dabcc +FAIL + +Count = 6 +Key = 2af44b2e8473af8a8a4cb1b3fb17a1f8 +IV = 2ccb18037a6177e7e3d4462b83f2b36c2759d2b924e7ee2ec3fdfea6f616d50807c8393557e53eed0dfdd3333a0d35db5f74b05bc6a9b24702a4eae9deecbba1ac38bd68f9c0e69f6e39f39fba77269d05567064035abb943dc81bbebd589993b4b52c4d9ca0e03e5e94bfaaea70237e7e6b4e77f949e3230a4597c31de3bb49 +CT = +AAD = +Tag = c992449a49bfc0f99734dc9981 +PT = + +Count = 7 +Key = 070c4c73f17a5f80c3dd79fcf704b709 +IV = 46493d65510a1a7dfffcba300f143ba53fb516ebb5ecab5c6923720c801cb1631b9e625e6d81c7d597f8f4749a3a725b0702f6b19c362afd16fa3082b794a240bcb8e761afd470590da20c6af0f5cd2be178f0843f2c56eed9fb86cece423e0e0fc472feed5a5a3169defabd12db5588862c69154eb31e4d4e2e39fc3df930fb +CT = +AAD = +Tag = 90879b6e5ee60de670cb5e00d2 +FAIL + +Count = 8 +Key = e9ec39bb4c0910f360871fd57f1503c8 +IV = ed66047307405808a88cafef444dde84bced85d8239e2de3e87a86bb78eabc30a0a954707fcbd9e2c439aa7c9c62160885a10fda4090b4a701f31d7d59447c317fd355d747a03ee9a376a11809cbb82b658b5277568e75f654befd9a8093c7fb007b5406e505319a22ac644e4ad802555e5e3520fcc6662454002d8ba98ec020 +CT = +AAD = +Tag = b37b549dd9bbd6fdddf58885f0 +PT = + +Count = 9 +Key = 57f636072e451009e21eb1ba65d47be9 +IV = 478079f851c679de7d1896f27fa56cdc951ccb46c4e986f56eabf0c26589395e3ad2aab11d90b34da92ac080b6fbaed6e5cc0caa5a480aa46ff68c689aeec2481a49a98dc5013e1172a932143f4266a4227685d871df4291d646b8d081cd39cbf99f98cb3c02e5baca1688f2f5d471191998aa49fdbe0a7940a869fc3fda4acd +CT = +AAD = +Tag = c021554509aa0c76399c11bcfd +FAIL + +Count = 10 +Key = f08e5d30e9adc9d5767b1fc6442b9c94 +IV = b2d6e259f6cecf1fe048154446ee0b524fea578a7399899b6f1469f6acb5c9079eb7eae2a5d76c07768c7802c0b12a9e4c146d943e64f18595b439a95e64c62c076fad8aa2c639f70157d46be448fb3883295ec45438d0393d72a3cd7ee94ee2fc4d9c85625a33bdfdb76017fee524f9ef4ef705975569a82341d4803979e11e +CT = +AAD = +Tag = 5e89c2f2180b9a0831dbf70c3d +FAIL + +Count = 11 +Key = 85cd23d4cf1dcff2202e872e9a69dfd0 +IV = 0d2c6b4043803bb64b7bd116bbe1a11977f04ef6e662bf0516925382a5796bd6baf6150e8b470308fb6434eb77545e6abb663f866a7ce8b420e4aeb433eefb4140775092827de0015be41313871e140a78d927af25ec55cc029b80eb756558130180a75230fbd9d9efb0b5c0bb6db9a7be6e73e50f4da9475a2e031f6984c0c5 +CT = +AAD = +Tag = da869549807b2653d17e9517c0 +FAIL + +Count = 12 +Key = a7efc70f0dedab72826ad6bdadfd82c0 +IV = 93a1f4cd9dd04d556bf95b14adba541d514dc4d7472ca6875129a4f37cc46b54d50bedb15d5a07b230c5e21a54e5ebd9b9cfd06e63a5a3b3fddf24ce32985d2baf3395eb5725196f4f57934aa606346ae65fe699e5511e1e72eb06baf033246e2ae1e733d1e790f2abb426ac72fc9d06701c03035d577646bdb83a31e69a980a +CT = +AAD = +Tag = a8f6a3c322fcd86f5dcae8b893 +FAIL + +Count = 13 +Key = 43821a6480e5cb16bfb16dea3a390416 +IV = c180a5bcbfd61ab393fb378d8482ca52aa57dd100901cfcd852214d9ff0827a18e72f9645f160e480506bb697dc22ba193b3a91f3e947813d58fc8a9798941304764c47d5383c1fc2046faa11e21ee994772f9825243b2fc6c93cdfd06942f03e2926bad86a80e29eb89399a5b3f64feb2eb7717385d1238b30925c789b02c1b +CT = +AAD = +Tag = 9544903bf4954047746d3fd248 +FAIL + +Count = 14 +Key = eda5c30f0cb73642f7de3033659ef9f5 +IV = 1d0aa6a527698625b0a0115dbd3ea6902c40341ef5a3893666827985c373121b75df1f486f196579d5939d628c4da6cb6f23d0e37f120684085d115fc732f4cd4be557ce7263234007bca33e6db09c9cf334a7505e4634f9a74cee12b043bdbda1211271d788b679aeeded10aa141ff904290b38ba4e031f6a3dc7a41641f63e +CT = +AAD = +Tag = ed69b251437069f723cc97004c +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = b04804854da168cb2a9ee94c76b8d91c +IV = 45a3d8c773235c001fadaaddfb9092984d745656dcc51b3e1898835c852e41e9fb371c74cb8eef5e6c4a6969c8bcf078f44caebce301cb16f08a1d14f2970aabaf78fa7c69bd3644147e17390d6f4f46a15ca6f85a436655a531aba19d30c4f08a16168f6dcf78d8526cfcb9df83082131f0b47ee582b8809260e7345dc90e72 +CT = +AAD = +Tag = 4e7442d97e58a2c9feb3dd19 +FAIL + +Count = 1 +Key = d9b009bf1a80b138d4a6c414faa645fc +IV = 7e251808785b8c70dc2fa99339a8f082949a4f89ed8e941a177fe861ffba2d3b061cd8da8ed258c60db57f993f8353af3aa8489f5f61b88b72df5c8aae0f467fa0d431948248b5988fcf6c7e03a9f7db88fb13fa641972940d2f65270b5d0c405d0963e7009791ff0fd6fbe9547f00c12313cdf3dc18e6438644d63612953820 +CT = +AAD = +Tag = 415298a59afb0f719d8d7928 +FAIL + +Count = 2 +Key = e80c47bea713736e38382d09f61bcc19 +IV = ba771e971f13c29ffe2a8ec76ac569096ca07c0ed2f76fc1416f89bdcdb0732f985e0fcf41c757d0e002a9005326a9e370bdb454d593ebdf791fa8f58d2299b431f372a8b7b3ce6f2110a3e4425616a74da7ba555d915e6ac1d304a3f9fb674465eef865bad04160417b56a40d48c94774ee76376bbb992e3fb42ba3b56a3831 +CT = +AAD = +Tag = 46af34498484481b3c71830a +FAIL + +Count = 3 +Key = 744276b1be06beb12a6425ccc0f426b1 +IV = b26609baae0ba6135bdb2a0a90832869c9ec350e6e44579b745b585e3e098343810e20ce529dd473ab8b75a348b47dfbb16ccf05d88c02113c10aa1ccc5400b4f412b886a09c44daa80f740a63328547f2ad4560eed9df11a1e47d15dbafe23b7142533ade5818212a3b9bb5f5817e79d17ac23ee6060c2e7a55eb0cce8f5297 +CT = +AAD = +Tag = d94da2de6fcd48bec4ab8074 +FAIL + +Count = 4 +Key = 451e7c10229683837c7cd4e665c8a53a +IV = 89f26f91986a735648d9682ecf34b19cacbbfd42d5bd63fa010a08007f19e8d3fecec462c8b78d3973ef80866dd0ee4e7ea94959afd17869da47c951d306ac509b9eda7c95a0be8a2170759a148fad9b588ba4234a7fd324cbffaad548d9a98789864eadc38dca6a0411e155c7d9e5333bdc9cc53a5f7b3e1dba989427fe096d +CT = +AAD = +Tag = 601f6ada3f707b6ddcfcd870 +PT = + +Count = 5 +Key = 01f988c4bbe3d7f11efe71ebc59af687 +IV = a48c5f7f0e08d2727195ce5330f6101f4ba1325bd5cd0d3825e9554bd9bc1f9edb979173fa9372acd05ead4009bce5caa87dd548d4c79912bb415c93cbcf7d62ae115ae13e4131071dc125fdcb860a6115c143fed86fc360110cb2b25111d69bcef05fd9565993e11415c4b177e9342ad654b73676a5cc8ea090fdaf6ba41130 +CT = +AAD = +Tag = f963c9bc2934250681e21652 +PT = + +Count = 6 +Key = b4812e95151fe92775caf3410bed0640 +IV = ecba6a62d4b8ffa3c664611375b33882b0b3db659f88515cd01dd0a1a867a40c5d35dc0422fc8408bb3ad52579ff4d8691aaebcad173a04066d6425d48d1808924ffefdb386be293c045db379df3f23e7ea48050c525e77111462dbdb06200f18a2921b2f77b61f7c28d83f042687bc7c580f0eb439b4478cc959eafe7f3ac38 +CT = +AAD = +Tag = f32bc487bda35696ecdf01e5 +FAIL + +Count = 7 +Key = 46b0c3d8ae4f083cdb627c02c522cbd2 +IV = 9064449f0f5a90853e5b7b101f81fe5d925c534d3e3e1e1a8498e39605146062d22183935720209032494512e08c64aaf9c0971a832482d2086a275b62a0804377153302b9275e5420c4c5a64519f4754a18cfd21753b7c68343f9b9b72fa60e64ad420a3a78d98bd366c6ba9cb571e6ce746d808acbfba901745d94a5ce9c5a +CT = +AAD = +Tag = 0884df585918408309afecc7 +FAIL + +Count = 8 +Key = e945fa176a7ca03d226c7b3e56f8997b +IV = 738ca1c3bba20591bd0a33524e7d3d7b8275042f4b27161cce73789bbd5ce3eebb038903c036a873b99b9e1c680e0d4251d745742a6ec6f6bbc8a4445f5b2ba53023db6be289de5a3d11fab543032abfa93f247f4ccddcb03f8776a2f67d1a6ca62a9b58a378d4c76e7bf0e75d1edf5ca840b5e82dccaffb56e07bf05616c3df +CT = +AAD = +Tag = 75fbc66c8cfe3d9f96c1680a +FAIL + +Count = 9 +Key = 1d414ce4a4c475d414e70ea1feec54d5 +IV = 169c7f3d6a2338e8d5ba32cd94238c9f61f9fb9bbf223f5ec34a5942bcb39e8983431c7b9b669387bc6f3ae271b43ca7021a0323c494e7f3e6268397473aed5fa4025d29fe0ca0b8c0ba91a8ea669231d8e5d11d75dac47a131e9180c2c243180dab26670e51b98a0ee70c5f019411bc30955ba219039bc71478e4968da84f20 +CT = +AAD = +Tag = 2ea4ddf39e23e4eb62f1d13b +PT = + +Count = 10 +Key = 18185f7f085701b796922bd68e21713d +IV = 15331e00f1957a7743bb940e21deea5debb5f91aef0cdd19696f680f180ad1788536468ad552934f04afdf9a88f4a6a32fba7c66d90ae1912d79445073ecec012d502439621d6c3a39afd9e913c2535a165e855a1ad0e7c09e4e2979c1cd0ced8d0e77a0234fcdb65f443099f1f0ea71b0b289c64b02d3f6d4879ff24a6a988e +CT = +AAD = +Tag = a1d41d71539256259b04a82d +FAIL + +Count = 11 +Key = 00caaf5f5dce273188087b5ae328f8bc +IV = a38bb1c2dac904e05d9c1bec7980d874a3316f15d6ad70cb883f0c079f97692016bfb99689168409ee499f8c64c389d1f9bfc493d97ebda6aaa20968a0a98f608269b7133ee78e7a065a716b2b285f2f5052d8937ee8eabf234d88a0e8cab4d999eb965a9ce346da3feea40d4079b201c650a196e73ecbdd04bb5e2f998730e6 +CT = +AAD = +Tag = 80c4853e536c1e096097d89e +PT = + +Count = 12 +Key = 6d18635e5d7a7efb062ae552d9a0c6a2 +IV = 614515d4bb71601164124d36b31500d2c05bd78a9a630f53201481b20bd90dcfb5265ff1ffe2002fbd6ed0352d800e3d7a450d5a5cba4a2e8802be9d12168f30ae9f459974f9083177cf8c192332a8a928624ce54ec84e4206fa8da75765d76ecad9192f08e8dac9445fe5f4ee99111c19fa278c48062fda5cfe27bd1465f0f1 +CT = +AAD = +Tag = b79363bfe092a28aed72d9e9 +PT = + +Count = 13 +Key = 34aebdfa997f3c674ec5e71964eee650 +IV = 7e02ccb128fbddee1d539b49352606958bce90b2deafaa05565e44f2665366dac0a00df9705954b0d5508075a921fd031dce05d171d7728ec5b73ab1b6efc007a7ecabbbc1f2acc9bde771ecad90158b40da8f7f817a774aed501efebbd49be27cd5501a89ec2581aa32f0fb0126edca02c19319ef9fee8e728fd12cd628385a +CT = +AAD = +Tag = 668bc6e5186f88ccbece5b4c +FAIL + +Count = 14 +Key = d1f06eedbe28e3840c6d6d3baa7a6ab9 +IV = 51346caaa0f050aa6d7f6c6ad924d399acef6db60f52013e9cb4c1e2bd7f83a0e700bbc0daeec9f31fe9d088782f5cb11c2a5a8365c1ffe4b23c04b699d5777484cfc464cb20cc2fbdbb9654dce4b4eb2f22f61c5e6cedf0206d40233f638b9eab87864e7d30d521479b054dfc699476424902bc3c5516f794f99474169c389f +CT = +AAD = +Tag = 06fc542413dae29ccc87471b +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 52041f7eb0c706154a7663dbb27b273c +IV = 91ea48d9ba08ea5b9200ef0beb97525dea01cba834ae94e241c9b2f48861fa7897887af7e19742ecd7d47d7992728ad471a17d746cb7fd14eeb020b05b50d5fdf8d7b2b37f4bbb479b91acc005ef2f6cf8482cddbf0a8a63221f1bd33212ba24b93e96280e1c19ec866074b0ea28019f336e382e7e15f55a061827af6e88e137 +CT = +AAD = +Tag = aec21d9df4790f68 +PT = + +Count = 1 +Key = 84ecf084187391537d4c99aea51cc871 +IV = bde808b8a3f3edc35249d08c98050c0ad8a8a923690e0f93d53dcc02a70412e7ba4ea75e9d394c192d520e26a3ae191671032f983779c1bd133e4d8e5088f1b972fc1fdb9491d21e63caef1f0bd5a6378e9ad471c3c153863a3d6e7dc9b951d08645627c20a92b0f9bfd2db4df9ccb4eb243c677196195e226757245c6f67965 +CT = +AAD = +Tag = c194dec11c24375d +PT = + +Count = 2 +Key = 592f2de7ec363fe718191fc3a85ea1cc +IV = 4de1904bed482af2291a5c77e4758329f1c4c0b89c02674fad6bc9cd53bc40f15ebad644d623ab0aa4c51dbd55bb216d2add0ab6de301e2af9abcecce6586193900c4238d7b25978cee9f1cafaa0e436681c18926ecec60294646e57321a7ef8ff8e9379892ec5dda6fd71515925868da094736b2abaf73d21605986ed69aa22 +CT = +AAD = +Tag = 3d32b5f583f33d50 +PT = + +Count = 3 +Key = c7b59d636902642b169acc1f6141685e +IV = 590b99222b67d326742010e89dfe36348b1dad88c16f755a12e8a9cce7a162a7e56c21f1e6e2fad1856117dae9bcac8ebd64f5f5a06a72ec5b2c5d8efcf41fcfbbe42c2fccdbb81590f69ce0a04d9d9698db4ce59f4aa831f8f029180e18a49bc7ef2c4a3469f6160e90e1cf61ae7002e5b140c8a0df8befa94077baefecdea1 +CT = +AAD = +Tag = 18aecab05f8748f6 +PT = + +Count = 4 +Key = a436714078d803b8240073ee37c01937 +IV = e2d02f671a6b5f019d79e63044a4f77ad93b74ec9ba91214762024f6dce024089397fc9e5f87743b29ea72d3ee48aeeb5e3977f1f6f644fe979f09eccba24070035908086fefa9e55fdea6127884ea187d77dd7502f5707c8fb302daf2397f6fb9342e4784d4204e6a865dc2ca3d9adcb0f4bf3f1bd0fd65d96ed1262cd435d7 +CT = +AAD = +Tag = 63dda2c929cd1afe +PT = + +Count = 5 +Key = 9e1cfab8cf2507c98978990dd0f8dd6f +IV = 977b3b440c832ad167ffed2c96371e5459fc9315961b555ef4fc8143e854d0641e7c4b77ded301b3a75235e18b4b8e66fbdf219629e86d9e7a9a42272fd7079ad0109a6703c673f671d2842b8afe33d98ca270a585b81595c8eeaf15753209504c883b6100536335ac75164f6e19bea6df51a82d70f04accabad2136c5064faf +CT = +AAD = +Tag = 74a473958949efab +PT = + +Count = 6 +Key = f42b615a6b23dfc3a8a8cf75833743dd +IV = 055c314900c3da36f55cacfbc9704483b8a95fb521ea7cc7cb2e6971903f0d0c94a267e42d9d17e3b42763070c5c640b39fe98c7dc58493c02aeb3b0cadfb19f103b2b7b3ac47b2c4e08e8bdbef5c597a16d142d7fc5c1c569cec6eaaacc0956368aeaeb86df4c467b3760b2875bdcd0e0173afdfe899e71f837a8f10a68b841 +CT = +AAD = +Tag = d1cae544118660bc +FAIL + +Count = 7 +Key = 62cc199a27caba8a1ddc2a9dfeafcaa0 +IV = 5fb30956dc16f167465ae18081ce9fa6966c0a8909afcd1997e6ea80c52bf8fcfa6c932b153db2123fb096b046421e4c51c35cb183873b2dff5429b5f283213c63ee1661eb0bb9de3d5d8896301b857aa052879b99a0a5bb65f8b2d147295f879ccba5d072b56b170bb61802857f2c15497efb6efec9519418d847f07b5cf113 +CT = +AAD = +Tag = d78b6bd88db58582 +FAIL + +Count = 8 +Key = beaf83216bef65d748daf25fa38ce63d +IV = dc570a9b3e2d1fc9b9d29b189b025fabd3090dfa32eb0696620179d04ad21bb85e4b3ebdda4708e61b5da33f6fdb38e1a22a1168a422defb66089163ad2825a407def2e954d64936fc6fea16ca1a69ca1f6c6b7970cdd9d4f7807c077aee93e36cfe724c6faa573c4805e3149249643289f04fc270bd4dd1816823b00987b116 +CT = +AAD = +Tag = 9f822ec2354bc496 +PT = + +Count = 9 +Key = 711af96897fb1eb32483a415d2c85f84 +IV = 744d961f85326203b54886627b092a62050d847238429222fdfb41cd5bef864d3b92f795f1e15808ebdde36f213f37e2d1f3da85b03e8dc9723c504e7348adc8805be9c973d383e172899183b1be23f072d4c7040da8174448321781e2d07e84ea16ed1dabcf7af2a7ec9fcfc871a0ff5aad73c6185c6b34e755ff2f1ffc1a34 +CT = +AAD = +Tag = 6dcc981502f7f970 +PT = + +Count = 10 +Key = 89564cc6d1a23d955ca01191c869f2d9 +IV = bfa7f3a396959c490d2da1c590be1b2f678b25497efeb93854aaccccaa47d7ec889d779029003de919f5928c931cd7b75f00c2dd58e14a7832124816e7890672331d579b4dba0572c76e799381ce84cf946c983c2aba40fc846144daa58b57dca10bd19bac67860de245cd635c044443b52529ebb8d64a03b4447bc1d64a42c0 +CT = +AAD = +Tag = b53d7b1a30eb23da +PT = + +Count = 11 +Key = 775cfc5269de047a06604486e1e9c1a4 +IV = 0fc376a68b80d6cb59d6f645c28599256f2acba65d7a7f5d554e9139430fee5f6aa7756149f44e0cfa454361a5c086777272078b5c285b5ee0872c92c41ab4436700902ff6561783baf58e7511cc001049850c1e0566cf9cc0c5e8ff217266d3984168a5f1213b6d1523dbd72a4fedb1361c30ac1618d6ef1ea54e0c9d37988c +CT = +AAD = +Tag = a26375309e96881e +FAIL + +Count = 12 +Key = c97bf1ecca5aefee044586c012ccaf26 +IV = e25a5b10454c1ccd9ce0b29e37fd90799c179e283f51864e317890c1f44b7a6309e57568981bb687a5895af6eca645082aaf1fe00a8fdce2cfe4c9dcbbf475e338ae36039142bac5135236cc6e81544995d6d83f11fc86183d3e5975671c1e060980a1bac18b7cfc9393a64fd818bd6e6131bd6b76382d8c02c943e7c14fea2a +CT = +AAD = +Tag = 9523deb5308b4794 +PT = + +Count = 13 +Key = 888780ff848527e290ee47ce2d16c947 +IV = 425149f7343c7b5a644fd1ae75dd24aeb6bbe50720ee25d94930042083a187232109f140fa85407815aa1d4fe192f15d1ea4d63d09ea960be01f0c4b9b08023b5490300fd4f2298ee356f6bf1efb7e1e6b79b6e6e171919c85dbd91de3ad95e111175215a59480b6875e854f1de1a66783beb99b5ac78cce0adff093fdc5ad2e +CT = +AAD = +Tag = 6d347ea3b85f36df +FAIL + +Count = 14 +Key = f048617a49c508495c1d11959adcaac1 +IV = 4a061f6fe980f8a295c650164fc986dd313a0604e3e3491e4530ee3fb8a6c6673c255137049b988d6a4f12067d86acf76c9be7d6048a2d677bd5e89e262bba9799ef9441585016287c7b0ae6521cff53dca604dbb72abdae95fc496d5842493bcb956b9c88736f36b89f050e243d2f54fd240e0f908bd0da2db21079721cde90 +CT = +AAD = +Tag = 97ea15df83aabc8e +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = fd36d35ee250f62bef5e31d7f003ca76 +IV = 33e50eced5453a253ba350a65af77f2d374118c2c0ad799af2a2aa2b679fbdd6ede587e3e970cb3264ca8f6c8a5d56320f342207696c62b80e51fbba1bdf3d87e9324a0ca4e9828c37bc17411d3ff4fd43692085d9febef435318897e3ff5b558112bb2cac3c61252d4ad97691b0a3f4527e31f8f8dc86c868d16b3d01e9ca9a +CT = +AAD = +Tag = bb4fe7d1 +PT = + +Count = 1 +Key = 2995bc800d5926f91f98f1b893c05e16 +IV = bf0d0aac2770d9e85cdf656251e25dca57ad2cbf8b255f8b219f0fea198d51960c16ef3b4cdd2848984cd7defa014ccb4ea00d07b8bf77bd25547aa9bbc901b71a605d8acb848ed4fac2b6be06314389d042dfaf0233aded1458ad0c3480ee8bc3c94ffc8828b2b8c4373c31f45580b312b62342c74cb233d3e39e14079b4c6a +CT = +AAD = +Tag = c3749cfe +PT = + +Count = 2 +Key = 23f3a3fb057911872724374a8c1a7847 +IV = 6f9d81c76edb906b9aaa4be17e3930d97060edf67b35d792c321324ae7ec8d9d13b674fb59ead9285abb66786f23a651a46a62e3d94c1d72c2dc648e091cabaf13f719e3ac2eeaea4be4f492f10ccef87aa447686f7b092f558371d9bfc001e821ed139a4b1cb34a4d982ccf180082a9f91949e18fe85d6df9730b319bbe6985 +CT = +AAD = +Tag = ee528ce6 +PT = + +Count = 3 +Key = e4c1197ca6003f78e43a2331256f4bb0 +IV = 68be7fea951d43f68ca12dd66be7b93bf863345b52ad219f3ca9f1c57a82a7ce55d037430505ecfa65f5ee867e39c81b3ea5d0bf134b3803b7a1749512b5483627b9622a0b5bedd2ba3cefb67ab9abb50a47042f01d85dc84c383c5b21795cc4982c8fdb2dc02264d55f5833060d226bdaf87e66628adc0cac41db81f620e10b +CT = +AAD = +Tag = 04b6b1a2 +PT = + +Count = 4 +Key = d985f1f3c7961fbe81cc4e538375ae94 +IV = 9f212c8cae53c43f7aaa78d15a0cb8a93ae8185df4abf8f98abb5c5daeffcd4b8d2f7cb91c4e9730b171c3fa9d67dc06fe69ffb7786d98ade95cb40d7c9cc32d574bd809552d14706681a227d465e38a238e6a04520e84da2c6550e7dae4e9d99d6fabe26b2fd1320a4477ac00e22f2b1939bd819adba9b86ce099344fac788d +CT = +AAD = +Tag = 056733c1 +PT = + +Count = 5 +Key = 65658649cb2bece23fefee269cc3e8ff +IV = 1cd42369194e8dc10777cc766b3b0bfe75663bfb8b33683c507ffbfeeef83fc1ee932d42d5ce91e4f465250da9872e881ffabf0d025360a0b266fa2058c121a458321b3746c54c3664ee98bb7cf5a266dee2c0df58a9267db0ba376120def4dfed7207e0e49296771d85cf438aeabc486eaf493e106b41a07384ff3e425073aa +CT = +AAD = +Tag = 3d3408cb +PT = + +Count = 6 +Key = a63bb615bb1821eac66fec9b3beda6cc +IV = a3325b834c29413e671fd1ee0dcb2aa9d844644d49a1a9f63b6deec5de97b88a697f8b507d49fa24db16ba7210a522bdb9196a6bb37af57537fcb56bf8f5f054b21a6b1291126f494e4469c1acea578c5df7490140da6829d0c9444da8a91019a821143ea316b0090150722b17e040eb6bd3bf2027d1b080d401fb73bc1da7b3 +CT = +AAD = +Tag = 55ab626c +FAIL + +Count = 7 +Key = e8eb4a611f60fe3a404fcdc8b0144600 +IV = ea224d2b3a093042a45f5bc99bac7c8d4df147e130209bd4a7da24975a20b0406ec9e6e5018276963826ac6adc6988d87ae1f4d337d5d61259028576608417a28206b526693ff35b0e3f621719154b78bcaea957b2651feab3ac10272df90ed8af8437d6162d4577f4e021767a8b80b71c6cf838038590e613d4c364203de798 +CT = +AAD = +Tag = 86571a8a +PT = + +Count = 8 +Key = 5a4b7e7fa735357e190962cb67518cea +IV = 74ab5dfb521baae35220bfb164bd0de2b229c5eee6f80c6e692973c5e2cea5b1afaa4d41fe40e8bde91fd9637315e0e5f435239a4f1cbd7f703d454e58a8429a2f85d50d8212d94bd9850f3420ec42aa9c613a60e4ff118cf6269cfd1bae495bea98a7ab9dc376ec38275dfed03761ad185648b80d4876456f689aac192e8116 +CT = +AAD = +Tag = ded46bfb +PT = + +Count = 9 +Key = 2de79e8462e86f696053f0b0a87dc7a0 +IV = ce4b5e382057907225e4de0523e6296bbca7cdfd62a754ccea0b44997649288875cfb180a1e0590655715185719041a767894913ed74b186fd8532293428416f5e5d58fc6c6e0ecd98d225eee4896a7d658b6b51ca300b8410b5a6ac22537f3fce6a05699de5a0990b4661f0e5b553a2516f3d0b5d970a0bfbba7fd761a0bbce +CT = +AAD = +Tag = b8038f32 +FAIL + +Count = 10 +Key = 403c32efb3b9e346584c42fb36b39dfe +IV = 706ea1ca2ff6c1fb9f3d03f8a963b26b4ced9cbc94b13a44b2524ea36a537dd00e45ea2453d2a7c2e9602014cb9fd86f3ae3149d723f8e8a09785d79a1c81e8475a20ec3340cc3ce08409efc656a4fbfdfd197be9d1a975aec4d06ac474dcd801b193cba06587ff1624b2e093219e38da6f9d78eca285b91ceb750470efcc3e1 +CT = +AAD = +Tag = 49159628 +PT = + +Count = 11 +Key = 465993e52346fab10f61263f311ac1f1 +IV = 705a4f46b0c0913d8489217efe7977d78c235fb475b0af020e9500604279d730faf15366e654db36abb12ee7017a29a6951d931c9c2c4a9c92bd1c3553294e1fcc5535839d2b57d7b7696ec80559f96a4558812e3ae683ca99dee5cc92d8e34d402e0f3c57d70a270f683363f93e8583f6b5ad0f6c94f8516ebda9af5ca9bc4c +CT = +AAD = +Tag = ebd98e95 +FAIL + +Count = 12 +Key = 8b27471bdbc9a058042f17d7c4a58b1a +IV = 33820cf197f029912e6622601822ed880ccd1d054d846f822b94e78de4bd66cec5d6bf5d1e53c9b692f976c190db0d91e96ec504bec28fcd6ba1d40ca35ab361f8027fba3145bf8793f2f177979c87716cc2eeb3efcde6b9d44d38b16e221c0b3ff33304d6fc6d3072ff76ea8c52172248c93ac7f47fa97f924ce8fe4096cf43 +CT = +AAD = +Tag = bcb349bd +PT = + +Count = 13 +Key = 94a451843532af3ecd8185171238d72c +IV = 856659d737110b4267b455148b60efee8a38040dbff7147ff3e2003d364da45b2bb77a5fa6055f2ccec990117ad40a693537dad04e880b5c7ea04589c18a2ab1f554f7c52ca022f6c06c7855f9ed5d4712afcb3e705f194fe6c43a93c2cfc089327ff5b62b721505774a148e7b8334ce82adb5a50a8556fb14420be4763fadd2 +CT = +AAD = +Tag = feca4003 +FAIL + +Count = 14 +Key = e99045573bca5ebf8b9abf913f1d795f +IV = da5c614019bc8e1489e032a2abb76d91861b075f1fe4c90e99e39e4cd25f81933b5fe0bb7cb5f3a1b2feca03ac4a245a1b504c3fe7c0cd6570a0c212cca5485a15e7df0a484473e7600a612881d7b696b8ef042cd65f87bc24265e540e3cf976c917cdf83715ec0685087ffb572025079aa1222120f2617fbfee098fa08672db +CT = +AAD = +Tag = 2420c3aa +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 6ba50a73e34cd5abf7296d9601eb2261 +IV = 5dd179869c35c5663c9c82ca3d1f3ad1956cef820ef2d0f107d39e549edfe9eaa3f9398014730fdeb58a7b02b041cc081b7db919241225437b14c3e0457f9649d6cae20f15955220cb15251b8832b215b58c1e353b7914b160e9f98d576ba9184e82c90d37fcbbb3eb9b64f491fd3eeaff3cb59d72965f081024d4e773fa4a51 +CT = +AAD = b9093014389d4358abe929f37627182c +Tag = 081f655a59c78336e22e3377ef710512 +FAIL + +Count = 1 +Key = ab3e287a7d74b07fe11823c55b7b4a72 +IV = 0e429f29eac9948abdb9648ecb043a45745e026e4e975f784dafdfb29b22893f6ec5eef2f4d1589849c0f685eb40b482b37732ed73583d85bb8beb62c1ac36fbff0e6398c0bc275e2b269b8959bd0073101f197bad6a14334ef3ded4c17d8138f8e6be47e6548f20e9f42b38ef18226fd1fd0fbb21bdc5b8581d358e4f826d39 +CT = +AAD = 77f318a4adf855d7dd0f6ce8f1982404 +Tag = 7833f6e237ddf2facbec7c18acf45d10 +FAIL + +Count = 2 +Key = 44ca3001b61c68f0e7ac6cb5a0a3c36c +IV = dd29f96c3a9c8c63d37f8604311569de7b7fc6652f199319557f6ea1adfb7cebef8d0dfbfdad8f32df87e0bed58972dd25b3f70732c341bb869cb78b2914a76cd3a116d0414aba47ad385eaeb2e4f3741a2418468307bd7bf90331fb5f67c7ca99ed6cb1963c781679cf6fd6583f4307cc64ebcff212d4165bcb7163ced4538a +CT = +AAD = 7250f0807c0075c0fc86740258aaaa6b +Tag = 7303d1300bfb081677b6863ced8b9374 +FAIL + +Count = 3 +Key = 8b26b729acc48fc0ef070fc1131dcd67 +IV = 5e402032cca5af52d61db8a7279d388d60b96948e96b1ac0dc64adef339900e5743bb7210edda51388b7bbe3af4f1c660027d6adf1327aac31c77c93fe697949428e2990f6fb1f274db87095127306674442afa902d00df8eeb23706c80ed815c287d0e6ae5013efceecc0492420b800e3f45ca96393d58896740eac7d594457 +CT = +AAD = 59e64a9ed45e038352a894a8bb821bb4 +Tag = 2eafb5e80ecf06014bbe8325d01e7d15 +PT = + +Count = 4 +Key = fb2ac2abde2f7cc2ef6f00dcbf91be48 +IV = 660296834e31362a1d3cad5de0dac45b749da0a110c8f520a056c6a24e427a21d2636cf1cd026dbf34e6b15a2f48b4ed535aa74cfc250b9397cc925d3bb64ecf7f2a38609d5f756d7b78da407581b1c0277a66e3588f094dd3b50330e82dd0e59473b0932c134d582e9ab59ca2f3144a53199d3cd81ed975a0eb4d8f61ac73b7 +CT = +AAD = a2505132ee7de9f7494eb152205069af +Tag = a7a7a95c8c990e532b568ae4358b702b +PT = + +Count = 5 +Key = 54d5eec0beca60a76e6ee53ea825f0f9 +IV = 5e714e0160015dfefd2a84f658295744c5d8bcbb859b0b4fd474e1d481e9c5ac5342247064a6a3b2b43040dc2e3718736694561e954ecdf5f41aa242516727799bbb135ba79cf540d4f74a181f0aedfae0c49711c11a0c8559be271273acfe6a7a66565f9eebebb81a33c151227bf2ef58526163518e08b32f5d3cb8a87b4088 +CT = +AAD = af660fe99b0b4fd1acdd1683d693dc44 +Tag = 855d8e74b88ebf7aed4a627c654584cb +FAIL + +Count = 6 +Key = f0718ca551cd4963ed696b1853c49567 +IV = 987f22b9c951e63092a1fed384b1741cca9335b663c76db5db409f59a0540ce6591ff9b0dd4f98bbeff9e0fdc89240e78cca3d177d1af8e07fdaca519491f23d666cb7c6fd77abdf425a795ef4b8d7ca868f6a04393571d967bbf736e3618ebb09233bb8aa0ae47775ab5cdfb5857cfbfb508be0ffed25653b89e718b28325f0 +CT = +AAD = 59ca32cbd7de94ba02f1be77bbf2dabd +Tag = 227d2672ab0454aab09233b9b8578258 +PT = + +Count = 7 +Key = c9c791ee37631fba06bd23bcfd559b9b +IV = bd2ef8e8f54aa26fe808382eeafd763c451e6a215b2a95d6973c51cdfb80c55d2cb1686685ba615c282f0bf6fc7f3272e1013509dfacab2ae1e65e79df241b1a8566afeb72f020281564b2037dbfa02b40b8a7a5312413367742a6bb0f514a2659979d0ced4f2e83c8b806e4318cf120cce99f5e649288b009c0f0a638aba18e +CT = +AAD = 4847ffe93e9ffc83857eefd0eab14fba +Tag = 49aae53cda0bb66407d086537582e466 +PT = + +Count = 8 +Key = 220e9f405c4941f8315e6d150e0248bd +IV = 47e70a89443d5644b5904890fb4e6b3eb259dd7f9d6ec511c6eeecb551329e66f123c1c1c6461ab11d077d7021d488423463a1cccb81725e129d4acbe3c7a5177f238522e6beb6efe3c9370d2b605e70a17151e6be33db428ab9af426ae9b9b6eb7ce28f2eb0a61883d3ea3c54da872bdfc23ac7571603d56e18678e396644c3 +CT = +AAD = 8d3f059345939e4e17e5223264b31d5d +Tag = 7b84c0a3ac74248c1f2af3871b6458dd +PT = + +Count = 9 +Key = 648981d1465310c3df541c5786c85a5e +IV = 2b8b6be99f922030ce66c66a438e80eb98d8145bcad760c537692d0c4329fb2f7e4b67df929017bcfb66707e976007b74682e9711f2176bf0aa8bd3b7b4d9431d499c3fd7197c9354509ca1cee9cb2ae7435be32f5ecbd631a22d8b8541536e44b5119e838400e80e54341693553c0134d104f78570424395b6ae6c6eb773f93 +CT = +AAD = e28248687f1b2d8ab90e9ea838287958 +Tag = fe88992765a1bb713e7122a3f41760a4 +FAIL + +Count = 10 +Key = 9870f8402ab149674898fcf6f7daa3a8 +IV = 08c4acb999261c3736e76c1c09c9212b1c8ebf8dee40e46806f7b79239486f80ad815cabcedee5b9dcea3bdb6a9e1343cb5f779e22609a1d5042e47598c5d801b8912d7f37859fb824de33923787190e77cfbc794f4038a23dec244b2ae38a9ddc963292dd16cdebe1f0d9850c9836455e6b5ae4c68caf3559b6b19175023d2d +CT = +AAD = 0219d5db32890ff1d15eb04b415b5f71 +Tag = 9b41d7a78b8b58a703a47b9d87418b4d +FAIL + +Count = 11 +Key = 15cb69eeb74e6d5b3825e1d4350396f5 +IV = cb757eb004a4d24ad3ef5e5967de5719ec4ceadb13b6737c3cf3677a297c562292bd362dbe870493b420094a7039a627b2f266b849f0c762e81ada892203f1deb033cb856a38dff175cb2d3425a964f2787bcc0f862e44488289e51e04bd051becd16394d6787bdfda56265f303ce6262c68bb7e0dcf79047a4c33b005f583f4 +CT = +AAD = 80810d8960e82b41648cf688d020bb91 +Tag = 7f815b674e21cf0710ba867044dd143d +FAIL + +Count = 12 +Key = f30bf6a4f330df7130831faa56f77fe8 +IV = e87f371a92f2104e1c881e7653f58edf7a65500b3dad0201ae31bc3f75ade2971e7e74bce6f05174af87f63a10933131156be10580cdd365508e35a8fa58da3cb11117ce1b3081c911883b9e83b7f91ffc5c7ef5a2ff9bb02a39719355795b04fabb51d5bca456aa5909dddfb6a842ea509bbb2fc6eb1364147b4fe1fb0456cd +CT = +AAD = ac5af17cf1463ca7d432d13659064346 +Tag = 7d6138a07442e0674cf67a20ef4d22c3 +PT = + +Count = 13 +Key = e373901c0c21866bab83231d845a39de +IV = 5a6a9f61029617cd335fe0816c793e9e05811ee633ae63aa7f53b1be0406c40004f64926aacb46e903fcf6d79abc3f3ebb9ea003a5709afb654213bdc3d96207e6cd5be10dca9db58e7341ab76fc1a2c34011ee2ba14e5e2645a02391f321a9f90da66e3ab35c8e5366723cef67585828dbb0c8da8266dc660682f1382cfe63e +CT = +AAD = 0d71ff602c5a74faa7e267b163363b76 +Tag = 7d8c192fbb8fc33f525239450d2cecbf +PT = + +Count = 14 +Key = d3e36db6af7b4c9b08e4049280abd1aa +IV = c8665098d3a9cf3174c87790ea57d44a047aebd38afa237e2bccd15f8ce3873295e8b145ba0284855737655dcef1ef059d03f888244606b72dbe674594b7c213619d78fccd2a7292646bbdcfb9d213040ce3ad4cb767525b627eaa739689b9fa93a4f637127f174ccafeec4daff77bd866b5bf18b3aaa7c7beb523e27b785ccb +CT = +AAD = 5efbc45b6ad67f24a861b92566783abc +Tag = 16c9f3abd3275b00850d19d6ed47c3ad +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 506647e943ad8c2b8231d0b48434e0f8 +IV = a0aaa202f587dd4a8cb578c7558be85222205f8be07c176fc064ba19ece7adb48c7551fa4033284f3197f50fca19ac14bf0625b2ae461e4d1b6fd42b914a88c313c9debd9971c159c2de1b5da0e052743126692742b962bc9d8308575cffd878a8f57334e2aeef12edbd0b18a64c0727144989cd6e2c0716f656b42f75eb3aa8 +CT = +AAD = 760a67f5f8945909071d198fb7d57fae +Tag = f47eeca8099cdd55e2b2a9a1d57c93 +PT = + +Count = 1 +Key = 94c63730c3c74121581cc1197432e100 +IV = da68dd3102769a6485371b353cab238fda4389c0748969a446687279a9ec20cad871e778886ed5fb33f8c26772fb7bac28f8e642746cebb80fe3e8e1d19d45afafe5430c46bedd283e7899218c2779d5396b57359dc41b1324eab25955253285c299e4dd11e803131f7607db79cd6bf80e206cf738dcb01dd19aa7dc498b4894 +CT = +AAD = 156ad501b52f2c3d47b8ccd9beed4c10 +Tag = b907a72d4224dff843e1804eb3b4e3 +PT = + +Count = 2 +Key = 172f2a1ea6685199149193bfd7e21f55 +IV = a6d8be112d92f47ccec08131552f136f16f7aae1f8ae4d3d0e4911f2a39ae5fcd2456968f5d810796f145a5ea2f68b03681c0d183382478dae420ee3602704698bce737009f212066bdb3a6cb2814b25fceb8e7322d77bab53dc7d2a440c9558ad9256a146a7bca5dca5bf8153b6ca5c8eb48b62e0f5a60b40b75113c7993e12 +CT = +AAD = b63127ee5b0d4aaa166fa58044c40e06 +Tag = 88ee2bb56d6e14794ff61fc7d3a657 +FAIL + +Count = 3 +Key = 7072c4e9255c2427bc92b052add2766f +IV = ac6a25c5dec044e8ee316b862ef0178395a6ed9737294f89d3c34482b01359ce0b13f4c829cf6727867c32ce86cb06bbed5136df461214ced621f6be9c322b1cf92bc15a8890842d8475c04a2948c09b400b2e69310969f0081813c75abcd6c42702bc1911fdba81845585a9abd955705160ad46b9d39ae92c76ade0a25ee329 +CT = +AAD = 75506ef5e46f3e104bac216bee630e26 +Tag = cafc94fa3e7ef4db4c0e1de6234866 +PT = + +Count = 4 +Key = bdd3015b092e7d3633293bda5de54201 +IV = f9022bb81085b7b8604510b134b3976475fbed35a11445c57be51f17233cc79dcca9a917088eac413a682b5bb255bb4ce6a0b8c40b9bca5062509fdb3c99ee1cb9179a9bf4866834e62e2523647e3e087e2bee0c098810d502f3d4c0b2e929def734df1e50844cff1c2948b69ed0437a257d8082f597eba1fb05872369cf3bbc +CT = +AAD = 405631a3ee4daf783f6e7dd3f2308c7f +Tag = b033121e35027bf7084e7daa697e1f +PT = + +Count = 5 +Key = 4bd11dd1377f84edd442d2580fad97d2 +IV = 19a8a99c7dfb250f0a71289565a561689f6d60fd9414afb42bfba0ad46acccd921e376ec3e2bcb2adeb13511d2f85123c340cfc092633f788a935a62fff80d243f012394c4ac60d36b422824eb472ab3a708fb92683a5a72776652d11798b34f1e45d089ce63a9c9c2b5409e5f4e8fa6f240a8700677de2303280e4c4db1ba40 +CT = +AAD = f9933f3f6ec8b6463a101f5c1ec07de6 +Tag = 2c1740043bba607479b54b555e52b4 +PT = + +Count = 6 +Key = cec81ffdfa92c4c6e2b764f825dcd5f9 +IV = 1bcd2a10f2cd972b203b063009af8c20fef93470ec3f4954c6f0048aec025d75d27dd583cb97a0f92d62738fcec1864996cbd1d4860d70f5440e464e95f3a6b30cb19a22a64f3f5a4010b898949c38b8fc16e3e27520191222c27edcd97170713f5d4305c7d9360ade9fe821d20aaec1459579aa4cf2320a6e39910c871ff2b3 +CT = +AAD = d652ec97a25c036720b14e14dbefb88a +Tag = 61aa84fdd80cbc7ef4bae3b0f8e78c +PT = + +Count = 7 +Key = 1968e828dcb3d88124770be8b402cb6d +IV = 5d58b19c35f3000b7b985734b3a9f351b5d29ab662215f7fd124e80249264b8c442163b08a1a6b52e3326d3a5973160f2ce062b12ffd904be40f29766821a77e7c1addf778bc63d70ea8cdf3413c763d987c967291e2176d982b91b7122df1139fade8f4d3940f4be855e31fa58e135a64600a89b87b75d9dacce86aef37c3e3 +CT = +AAD = b2f2471b1b933c7920b66fff28c856b6 +Tag = b791c12e70880cf1c396df0b21c84f +PT = + +Count = 8 +Key = 7f41f56171ea97f02b1080aaacf05a8d +IV = bac23b04e9e445cb01cdde7a995c12ce247431376594044fd51df75a88615950979d84f3d36c50fc7b8b0a61ef1c9298f30e55f51196d7ba8e192f41eb3277220246cbf32e038feff6e79ab82904100ba4c3b32b6b621d8c8fe195b7f99a8d94862b23a043f88f8bbd1ee8312eaadb92d57f713e257ea9478b669fbd15f0733e +CT = +AAD = 9d17639ecc00b0641da56e7c7b042daa +Tag = ab19fdc5ae7d8fd13aacad8ef9ecbe +FAIL + +Count = 9 +Key = 3bf7d4fed0e84cf05f99ce10b0eddbdb +IV = e995f12bc5e0cfa53c1543062c87005fd5bd5f3fd749b8dc0bc33dc59c414adb6155e3e5da336679d585037fbc70e149065c3e96415a01dfe907ac518be9fdb8deb29a0ac088f23637a22dca20e6a77ea9068958e694a3ca9c05b73407de37d8b6fb4d135af6367f898dff8f0128228a8bf5f9601ac62c77b6005f142d5dd861 +CT = +AAD = 48b1ca263fa0b015f14b391ad48a6977 +Tag = 7f7138744d597a6ad0550af07903a1 +FAIL + +Count = 10 +Key = 937d126efb88d878174e176a8bd97dd8 +IV = b7ab750d5249e14b6c21dcfe0462a0918b5f6232e43ca54f1c37c9cdcdbdb99e28a1687a6980c3a79511196e50b387bd00b5422d21a463e07fe4f0d21da7a13794f1635552713adf0094c9e1e36983e6ca6beb74db63ab6649e8b7d760a1283aa37d25a88eb2a15f4f92dd4021f3a3af3d5e81c42217917cf555308d53170121 +CT = +AAD = 94d954a2bcde65f5c2670361aab598f8 +Tag = c94051cf783bb75b8bec82bda0dfa8 +FAIL + +Count = 11 +Key = 9fecf2c5dda5c93d72c3b7faf2946928 +IV = 94dd859c60b8ac43dc6f4ab0892e974462cd8e0fcd2741068dee0dc781e5118f8123e1d9be6b6b2c5ff02f92b548e824a6f79be4d6e274ff27746bb43b9230b84d58e4c667a51fa7ab6e093ac27c9bee476ad6acb253ec681c6f905547774e1f351e849e194c9f0aa31a331915ebddef46461caa4148c9e22d50d33a6c3b49d7 +CT = +AAD = 033338c3160c8a187dfef0bd0c94405b +Tag = 963277b4016806eda17628f439f719 +FAIL + +Count = 12 +Key = e01e901936bf2db215fd1b8a8b6c8276 +IV = b56a817103963e8edf64c3de7ad38fe40d63d746f0fa610e695f892d73e8842b14cb201b6862b3119eee46b0ff745f4f5d4cf5cac5c314e90158d949b57eeb2c5aba9bcdbdf4c1ac2af2d460619fe8ae919f3285806fd19febe1aaf8e2f42b9538e9a2f4b1a3fde55cc2c2d3a66306260e32cef832f36f47f8bef4b901e109b4 +CT = +AAD = 20985769f706fb178bc81f59bda6ef4a +Tag = c6f0d1b6330431346338aae111482c +PT = + +Count = 13 +Key = 6658fdf92e74a6c62cfa7842091afdac +IV = 67c5413a0a661a59fea30c7efa7562069a1889ae00155de794c1aec51705c7e04d5d7c9d9730c3008fb85bebb143b96a06ac9e8d6d86a925ea88a4cce2dad1e37fa08bd43a0f0d82de0160d6cbe71999a827280514bb9d71c57ee31d61611a509f255b00d2a1886f85f5c8dd05ed87e4ea3efea87ce4b196b010344f3ed2a23f +CT = +AAD = 024f83aa6136c9f9592cda1cf4a2051c +Tag = 6899bb69f753d58834c7d1853d67fd +PT = + +Count = 14 +Key = bf95d6808a0317598d2858e3db71edd7 +IV = f48e11db6b341d455122456d5725453940af4a3daf7853ff34d34ab2dca3c9b04f2b321aa86049078fe7e427acf9f3a8d2656d67167b7e310ed05e041fd80557462d0018cb17a7c8d583c0ee295bdbe7c8b9150b57d87289bbf7661665ec038bd56b4ff16ea86598baac3411d6d43a05b85575497e033be33937873223e92a26 +CT = +AAD = 7103e50714540c1524c3a9198ba45150 +Tag = ea8bedbf3e4167562aca3bdd2b9406 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 17d93615ac33b96d13aeec3bd7140039 +IV = b6b8e349dc958f9ee9b7bac33fe9aa0eab865434b488aee62dbef55181f11e14f53a6acbe33e6b4828b07bfb1ecb03d87283b5f0600867e6f2f790af7e094296390041f873160e75ef957be97935db05d15885ccdaaf5e840ca9c3cfdab15e25ec970c8d98602a7832176ccf488ebfe29e60f9662ef6c8bf7eaa9ee75a90441d +CT = +AAD = c6e801bd5a4153d419d38d7592800e3b +Tag = e8d862c3e363431e8c257c8346e1 +PT = + +Count = 1 +Key = c42fe8d0e332ca9f3ab8aeb3085f0c7e +IV = 0c71142ff2cfdd8b91b3f57d7d0a05c69adebed11d0b8144bf5c546a95b71f14770bdb970f9789cca735b07fcf3998dac1e1adee53397e994134b39d64797e7813aae82f022ffbeaaa9ba492df336a0f3d8e0f37c541403146119e90783dfca47ea8a92ac97cd8b241085c1d43c4b641439b10fa98ece12caf742a1bc3242c94 +CT = +AAD = 6d30b008b41f7e48399aed4817dc4e3d +Tag = 8b387fe9218b22b77697470182ac +PT = + +Count = 2 +Key = c11dd0c8924ea4b8dc0703d39bd6d38f +IV = b2bc1fa7bd2b004fc098445836adac02268ad80cc7d1611e5b85e96610df9ecdfae32629cfc5deb368e333d12ab105b6aa528b66288b7df80d48598eb034fc3cd9eb7fbb12d82de44bb51b09522c5e288b77b8ad14310672f01f1bd7a6d48bb5f53ffd6a8df995c5de5c331ea474661a65adb53a4a97c640d87815eb9480cde8 +CT = +AAD = b0adb3b27f0a7fd0b75c81bb0f0aec62 +Tag = e55dac2a4695df75345de2af178e +FAIL + +Count = 3 +Key = d1cca51e346a9852b7d98bf3030448da +IV = d2072f6dcaf42ec0c56be3cae4a7c5528de830d11889dbbe9c3dd7b660734d471f06ffa75434abe38ee54f8d586d6ae8940d26e71e50ec32b9d9f65466284ea725a3aaea1e39a1c3eeb8340042524fb20fbea05218f3fa58e8c14739586fecc9de3bf0c0800ef9208efb081e03b1c921d308aedece16059c8d5cf88480277274 +CT = +AAD = f44902b380df1f05701c3471a1e1b9bc +Tag = 6a53c002e2236203fe1c66109740 +FAIL + +Count = 4 +Key = 51548cab1e4ee9a57df205d359e05d77 +IV = 4f158ebb887ba7116607912e11f03443f3e8a2fb166308d4035c27df3491dce2333f3d238e7ee3c2264d53e870502603bc4635833191f79dc1532d3e0475f5cc93cf160f87c7fba7df1752364a7be919b0327f217646d7ef42a6835ee5210acf459fbbf0a4e054cacbbd2ab6910a1e710b09a42bfd7d11efb1d7cad2839a809d +CT = +AAD = cc451ab674a2120778928bed8e5d218c +Tag = 9e01d5d4b5c956b85da4b8d1d963 +FAIL + +Count = 5 +Key = 39ae0f15f37cdd3934865dfcf76afdb8 +IV = 886b07e7810f48129746f6bb49e0ef7735b6ae477c86fcd51df63411ccefcaf1d9350e6841c24c4a8c90b38a854eadaddaca9ebcb372ae1d32c01f76ecb1b8464f335601b3d105a656e86516d0d8614977380980c40aebf6453ab243f360d9cfe65358900788221186712aef324cb585096baa8bf231be215b690bb1bbed7253 +CT = +AAD = b669cf84a221d82747f6bcbf3c30b2f2 +Tag = e91ca37caae3f4b25f36b13926a9 +FAIL + +Count = 6 +Key = dbcbf740ec556e04744322b6b4800a44 +IV = 88a414b6c4803b50fd04b100ef959d8abfdab9a2f007983f0e720b869d947e2db2f6bf97152dc8a8bcdb6d09398b166205eaf7fb776e4d155123b41148b996a63964d3f94eed11c6fda3c6e52b29771bd5e17dcd31e163066dfa8b4860842c32d02f763f4b0e744ee931c9e831bff923edf67ae0abcb6ab4f77ad78dfd1516a7 +CT = +AAD = e19a19b8faa58bcc83d64892fcdd6255 +Tag = d6484cb166367005fa96415b45c6 +PT = + +Count = 7 +Key = a4fcc8bf7f7a63f868bb8211e53bc78f +IV = 4c12c26e8ded6bb3a7420e4d3dd97526363bc14b692ade9f800a6ec810b916e6dce734fd264a7f6a96aeabc300887c5fbbe3cbf0f2955b860b0f7550857f94d718be94789f6a70b680c86f2a0a93caddb6a63fd1ec87a22e84b365dc0b401f6545aaac1e94f47333faa6deeb03156d8724af2635c3922d33098f0e04d06013c1 +CT = +AAD = 1f73a7eb399ad6d5310939429c3e307b +Tag = f43d833ab94e5e0972ac57f64109 +FAIL + +Count = 8 +Key = 3636e34813c3a8f83aec72e8134abe0c +IV = a1a60145a2f04c2f7589e3ed126a25a239ffd6fa655dfbce5189cf0b03c88d0b3e17f6c8b8912fdef23287362ce7652eb21034d8c8a5e5f43deb34f055fbc4a79a6df1391e0941892c24cdcf727b405173efe007cac94115179e667017eb0a0abf714bbf81ac7aaa7600f3a8963d5780aa3cea24d1db19dc2c411da73e3415b6 +CT = +AAD = 7b5bd61bb5bbb3d968b4cfcf9dc221be +Tag = 6e6b31e8d6d2d9b36b0cb452e9fe +FAIL + +Count = 9 +Key = 7adc483dd43f50e26699ac95d85422ca +IV = d54457cb8be26a56574ff5bf1b10bb8bf3ee1c9ad15c698f28b3c14804cc5c3a73ff999022bd15491b44d279d5e0d7fd60e6a3aa3c706551b7c102f19d1c917b6385a344b99fc99a19cd848bc1bee6dbc4d145234eaf848e65715e70d65d3a23204bee8df1fbfbb80e985993869842bddb6650458951803ca285b6a5f2dbaa7f +CT = +AAD = 8bf45ba429753c550680fa09f9043701 +Tag = 29fa7c5bb26ff1835bd50a92ba7a +FAIL + +Count = 10 +Key = 646035e082094d103add7fcdbfdb88fb +IV = f0bed7afc023ac9b7082e7e8d6c77ae439260b8e5c2450589d1cef22810f4b4d0c68ce69efe31ff6eb76b372b10dbc539d6c59183eb97cd4b66a53c9329cad7dd50a5a2ffe5ee4357140411eeb69634979768a3228e8da770f30796e6f7a6852f615e84fbf6fa162d1d881a33950358c92e1b7f0a2e743a5de7a92b07fac14e3 +CT = +AAD = 7dcaeed31abb7453e10db6a220461f91 +Tag = 92a331cb285c5ac18364388c6ad2 +PT = + +Count = 11 +Key = 9ab6b939d29e661a05ad7b86db4add8a +IV = ef30a61050214106ee2a96d3634aaee0649b50e6ed83c3cf6207ca5bce0cd6aa470d84424db523d800348bec40c1694a0c23796c2a29b5065ad17bac09acee50518e007c2d133129c2e9e352cd8fde861f99c1be7a949a0d411cf5e83e280a4f3b9d15f4b58269b7f649f2f0e4bd1105abf6bde26248a289563aff472a2cbdcf +CT = +AAD = 6bcf489976ec5dc59cc47eb1c81157eb +Tag = 9ee1b839ec6f1b83778724a5edce +PT = + +Count = 12 +Key = 6155b678a6c5dc5ce933617808be403d +IV = e2a690bd03a449187943209a767552ec9ed8f505632b0d429e073e5041b28deb1e45b522544e6654a14f393f42c749cdf0507594d2c06731c0cbcd82ce4ad2424fe9e1a8893999cd43bd53a08df56df031bada4a1fc5b53c8b9b813cd19fdbb48b2aa19b3d2981f930c16903bda311cc5687f3770bcf534eef47c963c36bc164 +CT = +AAD = 420de75758f23eaca57018747d88ce9f +Tag = f04a8f3730b6efe795ce43e48af3 +FAIL + +Count = 13 +Key = 70dfb6a56223b48d804b4c90486e6ce6 +IV = 7276926d5e119a1649346e93e262d4c2e4386bff4770eb8f15437ad52efec85307e011db60f6a08bceea9b6b614b0fba8ea1d81697927748b5c0e927ec64c24a877675f757059e4a96714a872fcb2e037d2bf322fda48b4fb326d3599bdfe95a6a3823ca5da6e4131ba30082d223f04ec080d0f8524049b3eee58f1110c087bc +CT = +AAD = 51c66e4a8090ed8d67fd41ee567d5dda +Tag = dd0271aa9f0ec2f32f5bc7dcf08b +FAIL + +Count = 14 +Key = 6e1f5bf0aa1f69c56ce23049f0d876a8 +IV = ce33e8ec1f716a9b65bd24d0c2b91435fb00aa0b431940389ec403f78b160227f612225884d1d81ce6118d56acb80f307cc5d59d3de284a7243c3b71836e0109bfa476313dc9d6b4943de6e300a6bcfbe059a1134c5f205440445d9ef42c132997f09e54324a037a7c22b19d44e435d9bb4573b65f5a1e7ef4aa4c347d9906c5 +CT = +AAD = b6017f0a12b0fafda28061ea305dd897 +Tag = 11496f921304ae6e3206bdbb1060 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 61ac3d023a43467ef6394bf6aa26e875 +IV = 8a8367e40a0800ac44526375cbad3ef559cfaf1c82739517cfaf37b573a907a47ca4bfb46ed99645032aa20a6805524813d3109f629572379c9b8350e1f08e605ed85753e4787bdf94605c7e01d0c4c8fbed06c86713c0c0d94523c54f4d9f2be0a760aacb4273ca40163a6031aa105a7058287d24b738649cf526a3ae53da5b +CT = +AAD = c3fe4268c3cedb92e2f08ccc83439c46 +Tag = 982898cae19efb069554b5d356 +FAIL + +Count = 1 +Key = 4f570183a702cbc60a39fabe3799044b +IV = 3b58821a8e3af3747381396a2652cc88b0814a065962e1d600e3adc5473af7f3e65b8471b8c9bc29d817c7a07eb8b09fd807ae634ee2481e07b3eb684a5cec3a3f074baa2afdf42e78e49624d9b7168632c4ddba3a84e63e720ae746b3e7c424e9c556bf739b56181d3212ccb9fa0cf07308b0ac93c4268472bcb9a9cb461c9f +CT = +AAD = d81963fca1e9c622788e6cdfbf12cb10 +Tag = 4a1358d2f7f0c6a8fe71aab41d +FAIL + +Count = 2 +Key = 79e6ad043ad56d28bbc8ca673a63c3ce +IV = b79e8c8a11b929db4bc020caeedb80aab3df9aebd185a51a2f0ecc25b180078585947bdadf9ea60372b9cc7b026c3f4d95bc868b532d5622d67f13ba32a659d470a57d3a388cb9b6d7b283bcadd1765eadafdbac05e50454ed27214e2578e332ea5ec470c87c898bf3f78c659e66cc83eb66c2bdd477322a6609ad74851cee20 +CT = +AAD = 40c0c0d3b0aa22f99ab095eadfa14080 +Tag = 2df309abfbd18cd9a432e99eae +FAIL + +Count = 3 +Key = 818e0f73ca7de26e91a47e282cb0b7c6 +IV = fbc3bc836547396ce687c758bd633e90f68b9f60cc86d85c8dd61906a6d1ad27c926fbde39eaf290c804d979059b8aa13266d0d26da5e99ae3c90044c5cb985c39a46cb4e04f7d0314dacf728a984500fc6fa7f612d12833a088505a7697e201f9d905b8e2b2be0e57f8a9b67691195a1f51522b0c5fa843e2ad41128370076a +CT = +AAD = fcf297755ee51bca09f1ace4cb0a9d7e +Tag = fc0b9c294f19019efb6471c4c8 +PT = + +Count = 4 +Key = 6e17c49e4f936fc80edd8c3224671809 +IV = 76374139cddf0771a69c9af9acf49a365b1e30bc08ce511db07f34a818462cda9f4082c44e038564295e78103446f72b96f01fd56e86e0b3cc4c1d6a652446db86b139777256859dac9d21a744e8e3aa4aa5bcce6e933ed549ce1d13f97a9dcac7855b1c79d36c45f297b7bdd024c9ce84bbd1ed5c55cb38ac8ecf35540cf034 +CT = +AAD = cd66a169458b197b14c9b444831bdd0a +Tag = e1dbe0c12ebf4ed91f8c60a005 +PT = + +Count = 5 +Key = eb098f3e51b057c31a7579da9ac6dca1 +IV = 3fc0ec0110f86c68bfcdf8debc737d57524c6951e45b07866e284bc512546fd676cc323dcce9fa9fd08d37e2b8e1f66dd604390df937333017df315e3a4d00a25ba11772a45fc3b3186779aaf00fab855ae0e4ea85fbebde5233fb8aa18a460abf847f24575edcfd9ecd08bb9a8945bdc3c697f5d902cd26e7ecce387e0b396a +CT = +AAD = c8ce9472e27dce167475f13514bfcc39 +Tag = fcbd96b7bcb63efb4f491e1d01 +FAIL + +Count = 6 +Key = b843e05f659f1a0586d8ac33b8888776 +IV = 6108f1e3b1773cdcb3eaca445e71ae7f4c40605d650fe74987beca9e85d85ead8019269ae33de956d51df31ccdca4d7ef5ec2110b4c5ee70a47b0a6d8d06096cda8193bf2b5b039a521ed946110dd42f4f98fba68a3ada68a917f2ab757b8c24dc94382150b9d3709c4e9f09b9a5f9c8f9336f859635f03f7af015108b7b70b9 +CT = +AAD = e8a1df2c1b6bbf05060ec260f1405ea9 +Tag = 040ac563426be69afb32e9583e +PT = + +Count = 7 +Key = 4cfe31f47e9188697f29ffe1eaabe773 +IV = 0e91c2de945ead53eb4401d5479581ffd67a3327106415429b9518787d038cedd7cccdb04855a5edcbd920e2d1b5e8ec70edd5341a28c02f8ece512553e3db45ea7668623ef199eafaf07b5ac188e2a3066ba04b4e0aaaaf1bdfc9b48d6b8f0815b3a23fd858971b59912cd49fdf3b90eff5a8e3f62d49c10114bb88073b5f35 +CT = +AAD = f22d1811fdd94a1df55783de5c9d73c2 +Tag = a33245b801649a7e375aa977f4 +PT = + +Count = 8 +Key = 4c9940cfc8529b28591ad609e7688276 +IV = 8b372515b9686f95f64d03679b9cad492173e6d3a2a39d1bc57400062e5e965de99e4903d9bb1a45436c4cf930a36e7205ba320091666b37a4d1eb72b55cab5adae1836400f6feb9aa30567d883f2189ed0c10f283c813f66ee28c1849509a60c8743fd138610e141b1040195b6df472da7a3cc21293c0b479e37ee2b0bff41b +CT = +AAD = 39b6a3e1fd92dce51fb5deb3e1a53b83 +Tag = c8818affc87cba1e4773c8d1c5 +FAIL + +Count = 9 +Key = 8d3b41a6eb46622fb250022c32538d14 +IV = c637f7b34a96b24c7f15b289310415a9e9b14f90296ae00c383d0ced99c35d00b17d22616c00953ad4d47ff0af877fb2a14c58923bc8f1df5ef5542c7de7ff59d938e17cbb09dcc80b87607265cae007c3640db58fd072bb2ce3539511ed6adff1037509f8671da02c957f67cc09685a8099d181b380b4258cb946abd63acefd +CT = +AAD = 24354065eafbe2f9d1159cb8496ab01e +Tag = eb27c2f9ea08ded3a5623a9f34 +FAIL + +Count = 10 +Key = ddea0f2af1b0104098d986ff22aa59cc +IV = 8b43247e0b9cca811a75a359cdd9ebfdf4ea20227bb8c84b3781f411323986ae29b4e625bfbd079aadde616f6824b4cbe1d820fd34a323b2f88e47d0efcba1dee8f80ae85987b6142e44ef4f86f1901970171869f0ae2874b11d3b9af16e7a92ae232c456eb283ce2afc15f4204713e81357bc9d4355e6c92c1298a5aa2e8e99 +CT = +AAD = 946ab47c6007266b33a7c761ddfba9a7 +Tag = 757a41ca1964f08cba9981fdad +PT = + +Count = 11 +Key = d0115172d9cd352bb5e05c360b5f9def +IV = ff086232094f3e0b1faa66227bac81749628f25170600775a9347f836135181c01b40a8e963871110ba8d7f11cc1508e753fe12112ec660902aeae8b08448a2b174ce29f9bea28dbcfda811e6b62ae87da9d52c743f7cfe4b66dc542ec80311ac705ac08f3c5834ffa82f461e2cab2048341dab8d13f415331d5680872379654 +CT = +AAD = a9400bf0845935b356c95cc86121e20d +Tag = 629c4884ec3b3da2a63ee3d5ad +PT = + +Count = 12 +Key = 9bd2a9045caf8dfd1f564393bca3ca6c +IV = 10973af64c10500d7e55c4dc1a0e3bb3228e0f197e1ff4063c051517e6d9180b567e4d92efd405d80b2a9124b597bd2d3d7a0bff4be25cd7c52f3a7c675b84c63c4480cc5f1828020172742e6a0a72398960ff243a008fd6e060f131eff62614bd2b17bb4819e9bc018d68fe0a56030f4bb134c1e385dfc5061daba2398fb087 +CT = +AAD = 5828a80c02552db3dd775c95fc2da4bf +Tag = 84a35cd2d965b2e18b4857815a +PT = + +Count = 13 +Key = 6a9d04b2c984acdf454108c89b088bc8 +IV = e9050f6d88344896572e0603e02fbf6790009d6fa72b4348ca2c12fbbeeade2c87c7b80531a0dd209bab7f412968f6c40fa4d54ab536caeec69100945765c3cf4ac7649016022b6ee66d405d9570d82edaf78e8ca2f2560e7a224ad0cdefa2e996e374c98bfde0395fb67231e80a59a907ae53a6e4561c5edc6ce8b6bc2ccace +CT = +AAD = 19d3c3d98c0ed5fe374269b85aff3bc2 +Tag = 86c62a0f5d6acbdb402aa52310 +FAIL + +Count = 14 +Key = 5020d84d13f85a9c3dd0c94d3744d581 +IV = a37b717155c5e201fab5694ca89b1d6aa52d05f008b4dc5a4c94a149595f4cf1f30786a654aac439bc372967c951c1f218e635a1927c3dd33aa60d336dbf7869ed0c818e5aefd6885346f3f484f2403faf5b626a2137d8cd034d1495c8697552a3402fa773fb9e84d3da660e2293c23e882483ef9abd94e72b34933af88cad89 +CT = +AAD = 9e3443f0ad6081dae7c2c146bb68bb67 +Tag = 3017e9a829972d6271ac358099 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = f96e06ae6c619e53db8b9eb273ec5c9a +IV = a3c36d8d579e24a84219a03989225d4c08ce011657d92f89fac57eb3503831587fe56f08c6dad1ef8356cc4703810f403caff309180b5ed5affb593a543168a8f76957ead98f98faf1a6ff2400cc4b28e3b04a60d7dda1b558c97f2cf3c527557dddd883d89b5995f07fde4e120fcaa7e2c8be5784c4384ad0d9fb2565c13a1d +CT = +AAD = e385c199312c9ec2001950cbfa1bc562 +Tag = 6b6c5c89c3b15eb09ea97079 +PT = + +Count = 1 +Key = 56fe06a145ba16ed1f8a8795418ff85d +IV = 8e3b13c4e71c326d0d16222a9c62793ef3ca9a2736ad2369351b33cd5040a9a2513009087b8bc0d7004818c17f6957d6762e352f755fb5f24c5095ebb1ea479703ccef8c83b2e33e27403b9bf93b8b2df443cc03bef37add4ff930c31a9df481fe4dee4531f04f78230756d920cf3fba5cb69a886173084dd23516cded6c2e43 +CT = +AAD = 9af93b743cc9e26a868d157972c530a0 +Tag = 0c9d84a5ba24d14cc5675830 +FAIL + +Count = 2 +Key = bce6111e0326cc5d8affee554255dcb1 +IV = 75a940d99fa3bb5ab203362628a5e77456b8010493d0df973ba7f7fa5f319267f3587977af45f66c1063fd7c0ab2ae3c0ed15de2df8359681cb744fb602e36e0e90b4c15f7c5756e90ec9ee001e13dba0d3fdc30e7b6cc63d1ecffb132655ad3c1356223f58b7ff45a100ba21ac11d37393f968cbaf3282136079c73136a228f +CT = +AAD = e2654ea84386398b237889b61b71c51c +Tag = b79fc3ca09f4c6c80b4556f4 +PT = + +Count = 3 +Key = 9d204d7915e6b1a4feed41c9d5ed85ef +IV = 42dd4346559d2e32ed1de9ec1e5b97d522c966c5b19e3d8073f0ad6c8e028abed0508a1f292987c82320a580256a353a5c430b4d2dacd547bcbc20c84c35e82df8d79514550dbef597bb7681ac1171b645b48ecb99ed528668121b50f936432a7f7a86f644a9be7315eb647b605c7e717253b69936e433735bee6c71f2d1cd42 +CT = +AAD = 2ec97372b981e2d1ccf6ba4276b3ecc2 +Tag = 85867c652fd61dfde8e54ce2 +FAIL + +Count = 4 +Key = 9e4142f4d6648e693a4b2b03f2b2f9fa +IV = 33552e6dd30d4bb0af4ebeb6d08d7fa5b0fad7d186e7a32c45c1a48d2259487defa7a251e7f716f3485134f91ddc46ab512e5a16ace6c1ae889fe7967725184c4519b9d8571ed9bb789b28869a4d0fe26eea0ada876135a2d51e05c8edb76b061e3543d1888544c360ab40c248a7585f6d363d3cb8c268d188d1fd828ba105f0 +CT = +AAD = e7da0be6a7da7fd90f87b3800fe5d42f +Tag = d53f246caab0292a7f7cee9c +PT = + +Count = 5 +Key = caad9199dd037892d2479ceaef6c0040 +IV = c73c3c1fddd1baf376cde934a8b0265c946162e971d0ee749e7aeb2cf719965c5c54e9eff5611bdabc73c264ca7215bec324b5b5ae4f95813ad9f41a5129788c9d034e710dad74201185dbd1d777e080d0db1dd6cfeb1fab313f897ab0825de6c4e3a5947d4a63eef7568614146306864199f393e8b179c31f1e7074c424a4f0 +CT = +AAD = 89fb28353b3a7393d1898a77d9b67674 +Tag = 112e8ef2f804e490ae0d2c7f +FAIL + +Count = 6 +Key = f4bb9248cc0df32e73820318e9cc910e +IV = 4d90be139c0e4d867ea88e5c1579c90aa76128af8e71c6c6efb05e74d06f066fe142815245db3f305e12ba76bdcf36fc34b21f2753b34788496f2cbaccfe4b593904a572e86d6904111fdf07e1b305ebaf6187539bccdcbaa088a33ded4c6c632781b26167e505db3924ef266ada07b8878f1d3f252911b310316eedf25bfc06 +CT = +AAD = 085d70c5ce7b8cf570683ea6f4221e90 +Tag = fa567c57f01deb98be56532a +FAIL + +Count = 7 +Key = 60c3a7230b2e7f5e42a1f15ca191b42d +IV = 63f7059dd82f392e8182cea1f730c4a848fa7d1c861e3e04fe97eea18185505842d6daa613046ddb8b7078cc0fabcedd08044f99a7210d5a2ca05af08f59aaa0c721a293fe1f76997054d88f285e57bc05530b53be1cb5bf803138a8ab8706b539f5973e9d7a59eb4dad84ff09b09b5915d5b9d7a15d1e2f106c20a064fa59e5 +CT = +AAD = ecd615d770aea7ef9a2e98e97d50a428 +Tag = fdf8301064c05429bcd91d45 +PT = + +Count = 8 +Key = cbce810d9c5fa965e1b052ddf3dfb732 +IV = 129280bcc75c55362ece4a01650ff818fb4006ac6eb6d76dbb3488413eb3ff4cf8d3be89075dd07f584c2a2df99c6605b691469d34cfbe35c4b51cd8776d931317e7efe1c8d0f490026190f5302aed31419104c6c7d96acf49631658228d3863a97bafb39722c5ffa4b2d357906d4450a077e63aafd4cc9cf5ee12084dec8162 +CT = +AAD = 59fde2aa45c37fa2a411fe44bcc726aa +Tag = 1a65fc83a64f26b0e1bf3ff7 +FAIL + +Count = 9 +Key = b6e72fe1a9af6b34259d03debad84971 +IV = 9786ebe8a5d51d47b565b46490137985c281d732d008c93ba4a6c5f984aba9fb3e9c739527233de8462aafa8ba94cc2b011d20598d2d2eeb5a9eb617d4e1bcc103a971cee3d866f8d34b216c5e7193fc899e08a485a73972bece37d3b32cdaf9dcb6f2bc7e106d645cc16074a8ffa7fb063a9d1b78e23b8b0cf0845b4c043277 +CT = +AAD = e0e30937589c54d279ffb37822f9ea6c +Tag = 29e7c992891d641ab1da00a9 +FAIL + +Count = 10 +Key = 054535952400af32fd5e8ce040ffe0bb +IV = a853c4ea16c87998eceaa4f2c6392da066dc1a45c0349a9a3676150561f12a84012c565ca778040c49d06fe7d81f5af86d361388cb663c6319e3428f4e5cdcc16b13c3881bd58e734bb70c6f5b8efe1cde858ed1efe3bcd5252d16b0e794ab67d66b17231b3ce628702db3b391a9cc4f976e5c4c3f83ecb915bd74a1fe71394d +CT = +AAD = bfd293cba7e05cc470b8be9232cb5d16 +Tag = d768d424c336e4cd115e123f +FAIL + +Count = 11 +Key = 1882f113b41e1900136767f19bb47e63 +IV = 29c81f16fe00bbe0e193b331d809ac29316263a4e44badeb3e7d80d64dccf3093adcc7ae50738e4a53291b85fcfd0d376dad64a4729b7ec4b5c9b34db68272d2f712957dbe6ddb073b6fec9213ed6b3997529b2dcb5f14674591aa2926e54b6fd010d85c3f417bfde7d7ebd6c58966532d4c43b3a7def64808d505d820aa5913 +CT = +AAD = 6d84708734e8b75e11cf0ad96a45dae7 +Tag = 9504d2e071842a7a1082b0e3 +PT = + +Count = 12 +Key = c8fa78a56ab9c40eae27cc78984bf216 +IV = b565a668b3c0d3aa5f3574d1645ae5495cf97f08cd86fb0007c88346652428dac5945293bfb006daa5ea41c96aeca863567156c93bf4045de6ed5b52b40a026d7d7477555326ddafe1aea7642e4771b03a066dae83f7e8f242b7fffbf63beae5b9113b3505de4a86d4f5255dac4f0246f883b758d7bceec9d981ca70478691d1 +CT = +AAD = 652948ff763018f3b6ad2de308cbe691 +Tag = d1aa8d975fd177e8dc638b5b +FAIL + +Count = 13 +Key = 3f090bedfc41d183207b78bc9e3bd341 +IV = 6b9550667cf310c1e0b382936e6f692f85e8d783fb6d9b2ef1ef6ec9c47964b5174503941a9ffe9da389d34de9576ca5e38895d9d96519a1aa1d33e2aac9d87bbab922de49821cd6527517b5be83f68ff517b47d4c4d85b6d1abe28893792145fc565f7f8a168fca7385e0ce4abf9427debdb0c7332446fda2022d07f70b7fe0 +CT = +AAD = fd0903931481d50bbd460c834e562309 +Tag = 0f6d4de56338a708e36d5022 +PT = + +Count = 14 +Key = c1d56a716ed96a34f67db97095fe8a89 +IV = 13606b1b32c3e564c697e9f3ac5959b4fe7ac5318b14f3009c9d6d70d98af56130d7144642f3f8ff470c8350987f6c5d4b0c674e867ee0d964fb02827ad13ff9368c55342db4a583928d9da21cd6550389ce649df3757e4af44ec28f2709167b9fd60cc9e51878f349066e6c20d91d4e6387c05d811a37e25ce0ab2eba9163b6 +CT = +AAD = f8f06cda1a8534ec1ddb08ec6312cdcd +Tag = c5c9fc8cce3373f7a67c599c +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 38563465059e76b3a7127d5dd446d69e +IV = d68fad7d2d608f943e1e15581d01c496bc27afd148ebb391b001654b6f192c1bb34058e9e3cd6b3468f538591d58548596d68f6f8be247c2e28b36691402a88d73312f68060154591ad4ed123301750543ed73764fabf71bc3132ab8652a57dc66e0a3edf42eb65973846b7c3bc198c19b36dda23bd939381794f4cdfa11c897 +CT = +AAD = 06f9019e3ddc88aa160976715aab767a +Tag = 17b233331383ca95 +FAIL + +Count = 1 +Key = a35c4b287bb7babfbc6535bc6d7d607f +IV = fee08aadcd283994416c935bbabd8f03dc5c89db60a33d714bbe160c1e6aa5eaaa817e03ccea41b57cdcef9b98330eee1f18daf57a6e0a61b423e8d37915bbee24c835e269eeac9a3d5b7ecd58a22fd0ffc0ea8ae415c9daa99699fb7b70a8e1b187671e8659a6d30e58ce225bc5c3eaa6423c4f79541fa3febd9f2159384836 +CT = +AAD = ed8c3dbecd994ead94db7b76611a0dbc +Tag = 7a51390420a7d306 +FAIL + +Count = 2 +Key = 721e3dadcdbf85d9188f494de0d16578 +IV = 7c25dd0e1ea86465b8aabad308e7e69ff353904dcc4f1d283d13f7c6ce479091dc636d975ffbaba09903ff1003e5e61d4765c0830ec36198382b16530b6c6a1a7ce5a06c39557fe9bbcfff1d8d059cb5e091ae00742596e97a4740c6fe5100a12148c5a8c1d051a64cd99f0f1d69471be071ec8066e08759eef638911ba946ed +CT = +AAD = 08ba798f26e0520fa1a72bc0a274d3ec +Tag = 6a35e08a0fc1dfca +FAIL + +Count = 3 +Key = 46fd00abf5b28d49b15421ae8f5f5d95 +IV = 0e32ae5abd6eabce343c51e6a09f16429a86fb4b47ad80be4212524849c3c78ffe333951c1126fda311e910df82a1096fb24c622a3fd4048781740d37d0bfb3c722c178627deb30d35132f0e9d33a6561a044e11a9e7985a769b9b94c8db612770c96d3136e3cc51cf088ee92cbae3160bb0fd4c2ca55b81706e7e5c9c9206dd +CT = +AAD = 61ac7cb4acb88dc1a9a3d0363ca93887 +Tag = 8c44e6d9bccec9c7 +FAIL + +Count = 4 +Key = d19895e96353d6f6f2825eea4531fbfa +IV = 952856a7adfca1c97b24e626defaa4897c98e6e3b58394bae177992f05959acfe31d3ba6550e81edd9891542441a919649dcab660af3313391d815e8479032fbac6d729daabd928ae15a47e4dadb56f21ecd92a597c14421c7fe82acb67a36579a7813b4766108922c7ba12ae690a6b3b852faf7009dcb50352e30ddaf89afd4 +CT = +AAD = e50bfaef79b81b5265b904dde935ae8c +Tag = 58811f1547741880 +FAIL + +Count = 5 +Key = a15f993bc236237b9b5a225f480801fa +IV = 45dd08d8b37e2bb20d60ad6d29b6fbfa9bffcf677e6794bd0ee297409b895f73645c2d38b728f8c8dfdeaa3d25fe15e3ec1ab82481828bfc4594d81d8696734f145738d142de8808e5d0bc55cd2bf9924ae93465558a2d1032c6f431d353285726c90634d2d028d3438cd0626a4bbfcb7e50b6c337a545331d97fc2eeac0ffc3 +CT = +AAD = 4ea2dd50ce01c1d0213aecb6dc073ddb +Tag = f396f751bb7e550d +FAIL + +Count = 6 +Key = 6d8ec19e86bd3ff57ed6154c5c771bab +IV = 18acf4c67b2224e89962d997455b3705602eff6823fb4ac162ef34d22a3debed3960e41723440db02b735a7745832b25abc28340ddba4db5defbe4086d8fe4866d4b38cffbd72f39650b25c3b4dc289a57f2b239ba8080c5b56de5962b94c7013abe4d770a9e6517f06cab0b02073f8f30394e8e401872e307005867db1d8dff +CT = +AAD = a0bfc9efdf6939310d02f6d31b78ac9d +Tag = a037ffe23699ad6b +PT = + +Count = 7 +Key = 1e5a8ae1e1b073ac8965e31f33c7c0a4 +IV = a1cdf527542580448db6cbfdd6b63e6f1f10aca37e16ab1963bf648f54351cde0636d679a0176f4aff253ea83cac244ca63d05504bf27330590421c731bfb3765e27c38f34942d1b8b3be6e90b08413d12b3bb5cab3e337cb541792abaca1b39be9d140de09ade6d6bbe520ac386bcdc8a5bb9671aa94eb430c551938879e3d6 +CT = +AAD = c035ef727a6961fe821e06ed6b2e38f6 +Tag = 73b02db6da3443ca +PT = + +Count = 8 +Key = e0f0441c819afd8e18ad3b833566ca05 +IV = bcb9b83957fbdf2cecc6251b1c2bd4841647daa3e3477f7da929c0eac0d02e5e82acbc4209cd0e1e38fdcf14f581538f7e155169ab4618f601403522cca374d2fa0b350bf7a509b83f4076ad2744f105bf8ab5e39fcf6dbcd19074761e2ca9101e0d153682958289ff8617e320ec890756819b11bc72e6e6fd9ee354b69fe2ee +CT = +AAD = e7ac26e86a8231e2ca5c70f9b6bc6009 +Tag = 073f423d53114fff +FAIL + +Count = 9 +Key = 41c6f9fc37b6e0c210c7790cb01d6699 +IV = 9fd357f059e9f99b0f0d8b713da2aed66bb588cea4a5f3f420c02e394a03b39a912a3e6c2d21527fd2041cce5c4b3532fd24ece2432e9a4744925c434504608c63aaefc678f017f3cda2aa52c3becefa08b02280d901f2b887564dbadd6e4b6a19c95cea6df9727b7b4fb842e0d7eefd57bf2c1bed3be5c2800d5f45dda3e7da +CT = +AAD = 490f2606b54d2f4d10cab4c558111e1d +Tag = acf2e7dbc2734114 +PT = + +Count = 10 +Key = 60a914ca198e5c1a6b9bf9fc7af67f75 +IV = 5bc3ec806654edebe0cf2d506f514defc7d84e5d657d577101486f3d83be461108c5c508502cf5d371584f9ffc7a71aff543c90572dd6de99da85c5f663ae813c4b89a5f66f6412e7f2f318acc7dfbfafd1d852ca60566a48309f40c09928d8cb58a2e5ca88768822b91f9e4b61819ad4c47f5dd4ed5d0618fba68fe92fb4f01 +CT = +AAD = 6d794e5a60c04b23c0351e5c1261a78e +Tag = 91c9b7e4b8c4c3e8 +PT = + +Count = 11 +Key = 34a965d003e8c8b6b76a2e825a2a2ff2 +IV = ce8a3ee86a62462482ae7b77b6f0e12555201b7891e7c988d8cebe603ef17d4d07662568cd053715b07848b969fc336906d625628bb8705ed2aabc72519615189ef5c9e95f5228f8d5180a3b995dc0148101fc3bf78fbbb625d1e1e2e8c67371d21e3907d964243a85d2b68f540452431f65bbdb5cb884b818798b4981d9ea0d +CT = +AAD = abadeb36e0ba6be42db847037b015ae8 +Tag = 80b456fc32b0c229 +FAIL + +Count = 12 +Key = 480314caaeb67ca52acd56c642352304 +IV = 4bea84eb943208d4ff05b8117483e1fb738e2fd7d783069d965fac2c13bcda8ddaa03117ec78139403dfdfcf7c28832a2b830804d1bbe7ba194ae211b23ca4071796ff23d9c33a459f6aa657d239dbcc5e7255770cf2e1470bb0cbc471e648e2d4dfafc57f7ba57fa1bdd90a0b639b59cb53c830e5f23e79bf52955946d79a30 +CT = +AAD = 8dc31d36fcb216678544c2f6aefe7be8 +Tag = eee2a1126499b7cd +PT = + +Count = 13 +Key = e1ac0a37d0cfa5a387f4e2266bd42b39 +IV = 0e38624350ab6a8a269f5fa584cf715f7befa4b0a4f30b2ce6f9663fdda7d69a2a76521262c29491842dfbe8f30948220ec7eca7dfbdc340004a53627edcbbf02dee6e21357bae2822730ba0b333375e9abb967f81c9b0ad5f07e70c082b128ce914cbc4cd3d8f7d068744dc0e45cc097d32c81ed29c01588d43363cc1aa939b +CT = +AAD = b5dd1752aa79bca43e6c94e008ce9c9c +Tag = e58813e5a55dc1c1 +FAIL + +Count = 14 +Key = 51bd7f0d3bacc5839f37b5a9f091cc18 +IV = 2754fb5164503f78ed8cba7f4fdd1d7b1685d7ad0ed5f9f0b31ce50dc8b51b7dc4525e0c50be815c3e64dc8c18d9efa7d7c5535f9d72d2453229a657b57579cc63e8b1cf6e556b3c7319124f3b1e497ea08ec3c48a205acdc5eef59d4920f49b6bb03fb202c0288254e9cb89de7a61fb8d5f0e507c71ce9236447c1e628afdfe +CT = +AAD = e700bf48a7139d8283b28d02f678c7ec +Tag = 4a65e3458547c777 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = a1b728309e6c0bbe4ffa7c39fc0eb811 +IV = 929db4f4e5738a65e8ce675333830f50a08facce6bef788be49a0ec12b8083dd22b0d6290474d16131175325ed5a6e277c6cebaf127705f1cee0f78ab82065654a39b6f2ec9020fd381218b16120ae642e9cbaa2e2187a7fcd40a598b36ba5397c66370e9c992a99758c2323c090817f54746b0412b55ede57cd358f4989a870 +CT = +AAD = f12d2ba7084f215000cee42a8a45632e +Tag = b0bba5dc +FAIL + +Count = 1 +Key = 1871bc87ea693e8d309197e60f0fe6a0 +IV = c8264b434ab6b5a2288d3a04b43d282a02bf053cd0c0cd2c1f022a9243cc0bb7335766c5612d006943c5b7f859f8f95483b572dcf63e0535102cbb9863a4c9457a8c8e9b5c9ed1264b6aeef2ac42e244cb9c74921fba2f9b1ed632ed48daa4f7f974e8d06c9d7d2dd3ed489ee2aecb3104e0cde248e0e22f2919e31fb1e8ba5a +CT = +AAD = 44bb8e3420d01d9e1f85af39be4f2516 +Tag = 237e589b +FAIL + +Count = 2 +Key = f61b53e9529f17a936838a82d8f9a490 +IV = 8b0e40f64b90de1fe2263b0f1278ed535c88f6f81303b1c8f09ace8dbdeb240577ac9f8b12ba633035b62971f59e2d474e2f17877e36b81688f774274a3afbc73ea25a240c7052a0b8ef6fbc0352c2ccd153f29af6eabeec297407d36ff6ab017992642d8aa73838e720285847f1c63a126eb050731c694afb67fe0c528e8e84 +CT = +AAD = 8c95b17021eb663a25b3f2c6ece01246 +Tag = 7d782385 +FAIL + +Count = 3 +Key = a22736cc4bf8703e0e4e2b94221c9d42 +IV = a4434be502b686cd3d7a40b056c8fd5bc3d5479866e8c7c664de0099735a39018cb80c46a4b65f382615924ac1278ab486cf61529e4d57591b7e953f3311df2462418e9bdc1739f7dee2f845a4aeadbcfcbbf9e8332805a33155201edf9a76bfeee15a77764c20928feee37f32b52202b37d0cf7ec852fe636b176aacb0854c9 +CT = +AAD = 3277ba2936a8e73b4f0e0c5b21ff8554 +Tag = 2d6e235b +FAIL + +Count = 4 +Key = 18bac146cca95627ca8ccaecea08023d +IV = 163966dba714493678ab6ad4b57489c4363a3e88be3cabba65b85018138d13cf42f41c00ff4f135e942cc3f7d096a79b234cfddf33fbd33953a44df2863db83782b496be42f7a2e35276eda59caf892fb24e13a71be10dbcc7cbf2c46f884b5221e42f16d70ab8c717c3715f6f7931cab44cd782638dd85a6a77b68c74e5ee48 +CT = +AAD = 678f736996dabd4595651e89e06016a8 +Tag = 99e90789 +PT = + +Count = 5 +Key = 2355418dda0579e2b75f965e8f3a6e56 +IV = e39c0d35a20dfe0020f496c3d87d6495468664f2bb097fb372e8d1c2c2d9993c0cb33b07fd16a032bf61b2b03d3f2aee2e40a3d38c3ed9ff6f5348ed7fc9092c37548b6be1118693dc9c801f35032d9263439b07cc7c3e98230ce55911df4dfe353536421f77f5e3bbd6795f5f838e0bd9c639ab8e0609d9c8edead90d96507c +CT = +AAD = 6a71cfc10b7486c82dd01bb3b2d8ffe3 +Tag = b46b4e60 +PT = + +Count = 6 +Key = 7f83ef3804e731733ab088dbcafb0402 +IV = 74c7280665256943a560e77f00cc753149fb52b4ee738ff3044ae4ddbd7f6b036cc8de5b9130c52e88f0cdf2e65299cd12a69d7cefe62c160b0f7cdeebffca1e935ecbcec5367ed6ade03b347f9d67f557d2d2470733525a075562dbb3da8b57335321a0432e9a117e1cc786d0cdfc291bc157fef39ffc700c645e160752391b +CT = +AAD = 4762f093a342b66710a99a0df09defa4 +Tag = 9c0e772a +PT = + +Count = 7 +Key = 54e4bc71c9304767c7341a14e73ef60c +IV = f9e17ec42854d84e32940b80ecf402f5fdf1bcf07f09ec95009f908badac6f430f3c9f358326525fa67f69c950879939180ece7d92cf57b6b8af4e9db64d20c5260978f73e70e78ac392548df53e6680a910622ce4c9871f7d852744abf98d831d03f839daebb1e8b5ba063e34cad9b35d789609dd664f4523b1b4e405f90175 +CT = +AAD = d21cd317e160fdffc8c7dffd59ccca29 +Tag = 0c5aedbd +FAIL + +Count = 8 +Key = 543cf14726e6ae1e60066925eec5f40f +IV = e59a2fb3f0532a908744437a39ae3eb06bb872119e1bea21b8931a05aca44fb61b7529145c10fa83e61ff77d7e9fd457a43f4fcc1efaf1e50a1818b6f12900608cda96d08625a3a77b22b17857ac63b85ac3deba0e60179e1888a449ea42843714c5c248564854660e7ec54c83918736a6ac5385615f739fb18f5f886a92dbfc +CT = +AAD = 3b2381e3c85c6c6af6153097ac0bfac4 +Tag = 50876457 +FAIL + +Count = 9 +Key = 9ef3b798f1214b34d638941c6ae7f55e +IV = ec42631f692f29c6dda8cb262db61008ca5f91ab6441b2176985712e8b0cb4223ad534f94c4cd9ca248ce84c554747efa15bd686a6f1eb42f51cfd900114a5d32f7c64978f67e6b39907a59c963f10ab63a87584957ead5a47e662636ffa0bee7b7e6ba0b097948a230e2ae9725e70af80ad583f5c23d7a51dfa25a9be367674 +CT = +AAD = 83831f0f23f333452d7767b972535227 +Tag = ed6e408e +PT = + +Count = 10 +Key = 94fa826410e32d720ed747090bc22bff +IV = fa82e01e07760752d36927813a9d8f10b47f03e7e86a875b7d41aa3564413744076c1c25a115bed4dbc921e5b0d739600a53e95827c8b79524fd6e0a52803784fc73d8701d2708f44af8c2960d38cbf81cee40a0e076201208635a71661b046287b630996d64cfe720ea89cf1365ec78705c4bf18adf8acf0d8bef8b0343c73c +CT = +AAD = 506ac5d9ef1a34a16ca263f6a213b588 +Tag = 97a87265 +PT = + +Count = 11 +Key = fb65cd1846ca7b3335559726489808ff +IV = b72708426052cffe70f8bf6efd96effb6e66696b8761de3fce27cf17d4fb9ac88dda2019251e364a90f5cc91c0acf703bafd1e19a248dc13f1950e1544352a8434aa483260ef6f089b99a981a998bfce74c497a0b0e54caebd04c89e857b1b51b8399e792bf8a83c699952f5905471d8dfe7a3a666b82429956bd46a1f7c69c8 +CT = +AAD = a760f1d6af78a6250dc50c7188e737b4 +Tag = e387af53 +FAIL + +Count = 12 +Key = 2889fc233bd955009fadc0cc475381b0 +IV = c5b983239793ac811838af447a98b2f4bb820b2e79bb4167c6a2079a9b9efd86584e5eef57b2d23eaddc187044c3847d3ed01e3e2b36636200945a02abbf33d12b4e9019a826f1f2d0ad88e4acd5c33eca9169fe00218f87d17787ea7757cd3f66a6a9ee72052ad37a3c43965e1a338e07fd8db50b1b76a4e2d4b2e4380c93c0 +CT = +AAD = 01b32c4c27e19eba134ad5ad1a88bd3f +Tag = 278aec75 +PT = + +Count = 13 +Key = ac50175f461b53822c3b4e446fe80ac2 +IV = 62d153fd49a9430c8f1a011a9694afe3dcab30bd37b512e274f148fbe7d1817c047854a908fce06673cad6d9b86aac6024068c1450e27dd1d943f98f2c8e791a953db95588c475b05f22d8e7fa67e1292fb939231a41e94db93948ebcef362ffa499e4aa8bcafe7e111759d1623904841febcebeee9d3dbe688c10ac45522f0a +CT = +AAD = 406426d618db6f96da46bcf5b38f708b +Tag = bcb2b071 +FAIL + +Count = 14 +Key = 8d5650a8626699ddbb9a5348e32b25c4 +IV = 0d17b63e72405bf1e6a14020a5f841936649cd24a706346ab6b0880ad0dca5a87000423ecfae7e2592edc544990f8e0d5dd70794bf8423efb61dae10783b6e388bf8cc11a67a18f9291da2cab38986a5d48612c0fe53b85a0ddaa4c03fb7e79d758121b9ac13a96ac53c4c6eb010cf659668ee050939410575ddb41de6cb011e +CT = +AAD = 738f982d181fb4376a81be9003ec5544 +Tag = 136165fb +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 642f248d1137eedbe7ec118b58c34e9a +IV = 3bdf2db303a88a99b25a148eee5075696556e6ab858c8cfed204f73ca77d5b0b2f82046f7d97d278e7a7ade35fcaf7f14d85c86d0fced4dd122eb94ca2326c18cc43daed94c8edf5b359314bbbdbd1574c0c3d62a71c9af706aff8fd98ba1f18d5853a94e8bea0c07ad0ecd69b74b0d0f3b994ebb1195eb0ecb727e85fc7038c +CT = +AAD = 4f91ee91b25715825be1f3425964ec0b7a4c439f +Tag = 90f4142ec8d83d651b515279fab06342 +FAIL + +Count = 1 +Key = 777ec8bbf8d3955e8c517b1769ecd116 +IV = 264401e973db2df8e65d3a6632f0177267f419117f6c6df6c15ce23bb2160cf9696495596edb4e3c421b49a01003a91854cd565e7edc88e2d06b7881bc8aa9f71ce7610976fe44b442147969cb59e3fb265a2ccf9eda1f0efc8dda7b8bd8dac6db0541a337c2d7283c36054ae3a24b34077a06d22354f2a31f4e23909da06d65 +CT = +AAD = 2730bcb19cf9963e6326eeeb9a7e59a6bb96eea6 +Tag = b3887478297d44251cca103b1d69c021 +FAIL + +Count = 2 +Key = c306d6dc2a814a1cc75e92679b48c595 +IV = b2c0d0802c62694b6b3a471abf6c021843bbca380d39e5401c7821a478097a7dae6f2cc744a29faa2e7d89e22c65245792946164cd3164677b724d58decf7c7b96f428238adb690fdf4e3ab64e65cb6eb24448c3e1d95819c0efd69daf0eba89a61e000442ed0df0395d6b22627c344ff91cafcea55bb4b54b328faab91e79ed +CT = +AAD = 0922d3f812ac0efb66d8d4ef7205937665f6140b +Tag = d2007098a3277c6644fd931b7157545c +FAIL + +Count = 3 +Key = 3fcee6b7e87ff79123a401d6d8da3e27 +IV = 260f26fcf32b6b12de39a1026782afeafef1529224bee533669cdc816c9632e382695b14e52c0695f0a29f1c91c8ed6cd7033ee200c78f136b3cb44c119eb5981a9403abae035f3f1af6f8fbd0b32d10385684d44521217a6c78b20e265273b8486ada5797bc6395780aaa81dcc867e57a7c76323f289103624b5640e0706ebe +CT = +AAD = 1263266a5aa71fdada17a35f9c072167f4b96fb2 +Tag = b85f1af6864878b260e7c9881ee6412a +PT = + +Count = 4 +Key = 37853155fae2676e8c22d5e5f2147271 +IV = 559ea369e453d35e721c14f9499d3742d39c0b087bf7a1e99d5f203fc3f9dd706d16c6da1ac06d81e91d1b1ff539e49c55a4dff9d8dcda36794d4fe7c1226249b98017517d2d194e352964ce4496bb0aa87ce241d6a79d591af34265cfbdb136d45d5bfcd648e6c772b18a733918c1359ec543d3150dd89ef11d8e418f3c459f +CT = +AAD = 4f1bf816b392f6d79d15ed5803e6993bfdea77e3 +Tag = 4bce88de4ce6fcb87e1313a94a4f0558 +FAIL + +Count = 5 +Key = 088b43f97d5365f03a0e7cef01858e75 +IV = 128c6bc50ed32e2b15d90d9ac76b13f2b7555be4d5063b64336560d26794e942907ae0772dea81302856962af1a8f863885dee19cf0c7cdeea829be08d4acfd1658576f164621b11d65e2857f1cdade44a716a237e0ebeeb8ba8990e8310fd8aca4d52061efc70849319f48ff3aa99301b0879c5dae98158ac93fae398cfb6ed +CT = +AAD = 33aa06dd7d7932d2394adb62836701470f310b01 +Tag = eb119a403b4e14b9e3d2c71b330293f1 +FAIL + +Count = 6 +Key = 63ec2dcbff26f3f09cdca270d3fcd6fa +IV = 4b8a7947a14458303ef2b4ba9b77be0773af567847505a790ec276b09474b41c23ad7b9578065f0e7b65c9204e7958092c25dc661721ef50555b0f061826da7d177827b182491f27ae86290bd6e436dd74a9d6c74b1e37f48a843820a248b07e44829693efa1e3750bfad8ba895f2bfb1eabf539ef4734795e76ab61450621b0 +CT = +AAD = 91a80d0edc0a5bcc6b27a2ba7537a0fc6ae4008d +Tag = 83dbd460a319809d331e6649dcb799fb +PT = + +Count = 7 +Key = a0e09bf508f223f1bcba43a0a357994b +IV = f78bd71d4c8c97588120ff1446ddf88ae8de5583b5a2aaddbb91dbfe642f2512b60a8a2f6c4a8e65da592fc16519a675da28fd79df966f5518f2e1f83747a997a05d7d1a5f7ea5bbe2d657bc71f3199364ced454fb7dbc86e4fa422f1dab585ca547d8c96fb28b7e405e443c39f65903d434950b657ecc36cbea8db3a575527d +CT = +AAD = 52353171c2d59f0153dedd1bda4ce0d6d2242867 +Tag = 8bc1411ee51aeee0a486d5842820f1ed +FAIL + +Count = 8 +Key = 905edbec59f2ef3a324a2889a683ef30 +IV = 4e6279e89a8bfdb830ec7f2abf1ee3ea966cf72ed375c05239a4d8da30837c22d9f699cf38dbe0cb59df1b0aba84dff90008325609253d26d0b92d97e72f0e0cad84ae79131b146ac99c54cdbd1555cb793db0b5892d5b3b880c53fe26f898ecf9dac2c642c3fac6960b847c39877d9bf1640a20fb98eca7470d0e01d29e07cb +CT = +AAD = 7604825285ae2f0b90046e4dc051fe80e1747265 +Tag = 4eac1565914464deafc05b65ff44dd2d +PT = + +Count = 9 +Key = 56596c39ddfa852ba04006fa344dc02b +IV = 235132438ad2076600378a4afe479b7157b4e9d75c8d0be0db88766c4bca4d37cfba978715716d39d16b8b31872d608ebd20eb541eab1c40480ae12a6758e027bd325ac9a17dd5d1bb93c8ea74698953f0b61ec4ef9e7bb00ea9de08de6586d490ccfda32ee9957df47cdd2a3b1037f8fbd46b0dae1d55c592cde7a484c1e20b +CT = +AAD = 664a423113c198ff195181210547e44a947a2e37 +Tag = aa9adeed8a1697e15c47aa5de46c9e79 +FAIL + +Count = 10 +Key = 57302716abd073161e4fe0bad1bba08b +IV = a35fda96106dcbe36079e24e477a5599c05aac6c2406a542e3b6d1038656f987dd1f287df456544371e7177883ffefc6b0591757f74158c4b8782b2c40601ec02ba377443c2de89fc27bceca9cab0ec5215abffc0878a77204ba6a374ab09dea98626f9f77cb1f9c6e4de567daea4825391d9007fb2b7c8e3d903249a09d7acb +CT = +AAD = 61ad3895b40751fb7c70c921e2cd4939bb3f1ebf +Tag = f1ddbaa5990e96b04bb04b412b61ddb8 +FAIL + +Count = 11 +Key = 13e77f1a6348c5c60b811f11ca27e30b +IV = ee6f811e679ce684b5c43daf9e150136814f2c9d44ae901a53b877fd5e071df40a76d30c56f42d4678d909cd35494fb5fa382fa242be20316001cb7c153e62cfa19923ba2ee33c92c566201fc22474f7932260423e9f069405fcb6676fd61a688637f3af25431d04bc40b914d69182709e4b2d9dcc19a99345e8e77c672ab2be +CT = +AAD = d17c6d40db6b186cadee37c6855a2d25fc7cd4bb +Tag = b1a9315338787936f787f1357ac14018 +FAIL + +Count = 12 +Key = 7ef644a0749fe0387f59771b367656c4 +IV = 6c83591696c6cb6dbd6539f8eb0375dea6ab86e955533353d295366a2cd511924f43849c018e394aedcc6d9db19c308921d0b685d65a5688e6c9629cde6279c5562ee9bf31e1b4bb7e5be1e8fb2c1349dfeeade156d3e65d334a48aef772b807c1a887fb786b9cea606ddb9e07bc848a1b78a302782dc01393b45a98a3d2fe01 +CT = +AAD = 7803f1b9c6827e24240ee3fbb0c94b8d3926726b +Tag = baf92807f5a6ba2697ef6676531395d7 +PT = + +Count = 13 +Key = e2d1b46fa86c500c4bf5713ad0c55c19 +IV = af45b18140c8e1846577cc3e3578267dc2fcf0316d4c5eae6ad7b6a54e40dbbd7db2b8ae1d13e52f14e0d0a3e96f53db20e6d6e69d375f3e0750e1d8edd8dc3b824d4ae437dcf4e49e9f013911d41574233c5ee37dfbf0408793ba135b2d6196ed59ca3f21872e20bc7218098c0a5bfad36c312aff4143855d14777f69a448a9 +CT = +AAD = a5ffd074ad79330fb8f859b3378d69720ef377e0 +Tag = 8fd57fa36ce0a6d1669fefc3657bb5e0 +PT = + +Count = 14 +Key = 23f407aab2210e36415d5236ab57dfb9 +IV = 395635dc2a21cdfcedae3a01052fe9a3469fbf5046d613e1f52242cc5cbd3f0c9b984a4b4e9219c946af78ec5a261b5a53869860bb1a40b621abdd4c4dda770d0bf092a932e837f80d4f5aca1bab5fc09e38b918dbce8caea43080735bf8826acec208dc0dc478b39d9344ce7c9da0e80a6900edf4deffc1e9bf8ecaac25d774 +CT = +AAD = 7319d23a054af4d3f43aa3dd73ad8f25686239b2 +Tag = 1de74de0c45293c36935b6bd694eac87 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = fb9711e3e72ca6263d346e7d7c2d40ee +IV = 7b3ee7e2217743f5f61cb48ae05c08704d43419babe06d59c914b66eb7688d35655964f92667860acd4ca94772929397a5024977e3e119c60cd635f3dda97bf2fad99def2053486e6a818e4c94f5a78b2ed972deedc69577bd6093f4d6fd12e2a4e6fe07b7678b8af7370a14ccf3ac27846e85075f54b6b5968aa83b12485962 +CT = +AAD = ef6461fb6a7027e438c9e7f368c28fd4f7d35390 +Tag = 3da90c05feff2e846d6e960d6948c2 +FAIL + +Count = 1 +Key = 7d6d0b4885e91b0e3bcb41dcbf0e1515 +IV = 940684e6e72f99fbef94d767606da0c5f5fdb4b2a3171e09ebdae5d284c4070c04450a29b74621e7aeccb760c12d3b310cc4f4b9bda9681e290d812d06a24b2403e1f723c07fd163464c89d01244f0288f4e5cbd83d138b4821be0a87b121778f055063140d44273d9bba6bc6a9acb7f08eca252082af585dbb596b05e3e51ad +CT = +AAD = 3f1477256d4eb10fe8c52475c49692a5f56afd44 +Tag = db4ce77b4c13bf2395dfe069cb15dd +PT = + +Count = 2 +Key = 07eb15090ef3f7e7acf91e9cd9260a9d +IV = 4e3490ab16ea32cbe1ede6f6419b381b678c81580a80e69b8032385a9d234e2b66f1359b24fd59ea6cb0d7b4245c9172cac360cca2867fc063e414e77441b049bb9332ac3c78c36f984602d3d3ceecf39cfbe3069a3d62449ff10c003759500ca0db464991b48e150c7aa91bee156cc999f07377c89b066db535ddfc35f1c89b +CT = +AAD = 1e51b0d21b67cd780b79ae6de3810c1fa5f8b188 +Tag = 722aca8cea77c21c66db23f0fd6f2c +PT = + +Count = 3 +Key = 07489b2578817ed7711104c40b07fbd8 +IV = 124a0a2ad1bc79b057f7eceecdbeb739f480296da9ed8e21fb3664c92e2d5ec1984ad91293e2f844dc77c6c6e48c3e9e0c583685a39a39087ee4920cc096291a260863f4923cf00851d5d5f160c542107c70607de1942345c0cd5ad8be4ac5ab7b57caa91012177fef5b4f7f42f89843e269ad5170ec8f33c88f30a26f1cc96c +CT = +AAD = 65c8448e9eb56b86dc7f0969848a71dd4e7f62c7 +Tag = dd462714aee7c9e7f468b23851650e +PT = + +Count = 4 +Key = 283d186df3aeaf887e71e95fde17f053 +IV = 31a856a9366f565f219d9141f8389d89be6048e5cccaf4e18589162a6bbb7ee95a238f827f4c4ef45453714ba09d75113e3c51b0af14a5af14facfcee3c3cc38df9c8fe37638a0b624d3b510a4cddfa14adaaa3d4e5ea738863892ecbdedaf899cd1d60fab8c7a3333c27f83f5cea91d625733ec5ee20a5b38e804be0fec24d3 +CT = +AAD = 3fe27bd4401e88392f307d2ab2d310fd226afbf8 +Tag = 2c29c407f6897d02a621887e7d0231 +PT = + +Count = 5 +Key = 678703b33e9349cd8c9e791bc31b0a86 +IV = 46748ac7d195a88c0b09a128af35df6968b452f7eea0ad9e7d3821268a42cd599d1fb40c6ce4c230255b1bfd25ddda3cf4587500bfec7185bb445c2edd30555dd95960a75c0d4eeec83f11a3cb0630bd41da7decefa71545cc697d2bc5e2be233ae1f39dfd1bb261192e34bfccc69855f0f30bf4049f48bf0a9d437fe596f191 +CT = +AAD = 56b53b3599eea3ab4dd5c2ab08de711a8e2c3c94 +Tag = af1d2173febb588603de5075b76544 +PT = + +Count = 6 +Key = faabfc0841f86af4830753fd0849a8d1 +IV = d59f51a299b06b155c27c0bd9268c86f3659e60bf0ddde75fd7d548f74e5216186831ceea76cd2b7a5382dad77ae020c1bab2ecb83f49938810e9298d466630bcf59306c2eed297b166140d17daa52a3defdfb4a31b0b1325d95d6521cdb8c4fd6ba6ddcdbd28be9da71f0c7ad55978807e52888504608539f81cda8e396bb57 +CT = +AAD = eceabad86de5324bba45cd3a22675802d284c73f +Tag = 9d438465acc5e4338bd34ba66c2ad8 +FAIL + +Count = 7 +Key = 4e3b29823d443a798c1fdb79a2fbe58f +IV = 4a2908dc8f5585a2e3c34adc2ab32f7197d31d03dc19b93aa4800039c1eb66c5b3b0dc5b5f6458715f728f958fcf6dc517d9ebe6d46f1ebe83596bf59f73fc22e59dbfab62e02120ac9775400a2aef52763adeb2c4a93d0d79c9713025881e37c18d2e4b1005020ae5b0cee4994a446b4a1b041448f8ba709154fe7a5a7cb7dd +CT = +AAD = 387d3ceab0268ba1e2d6a9dd4e4a43b1e8d2fe9c +Tag = 30129f27db2e6d9c0f033e9c9957a3 +FAIL + +Count = 8 +Key = a7e80ccf246eb672cf8b2988199f0304 +IV = 724ffa8e3f37e2a795d73451ba65c531544a48ad0794341245076b14a52ba4b42f25bed39a1f88ebf3729c407caf4bf1c73ca548f4b7b39323f560e0cdea1f6a416e9782c47ccfb96c06cf70fc8476a42656d06d9873f9bcace8c65c8906a0a18330c43c008a8c2d2d8cf7e715aa8e401ab19821f4b831a6d8cade7a12a9af4f +CT = +AAD = 60000da6ea1aa607c25a58b1e91f217a3d00c2f7 +Tag = a291422d05496f5dc9b9b414171b86 +FAIL + +Count = 9 +Key = b4d24613a42bd11a73504959b28461ef +IV = 68f48a0e3e89f1d54a432c03f675317e2cc8833b72e1429290ae1e35a5d2c9af455b08149d18eb58258588b661130adbf993c2f6cd9455d9ea6cf548ab5ccf767aeb83b838b3c52a7b5089ee3b00622a30bd55f0288e2141b49d33dac3b9ee8155f03fccf7b2f9d6f6c2acc9f006557943d6b3868cc2bb4c367133ca2a88ae02 +CT = +AAD = ce4a2578a286f71fa2c8da8cffe4966fae48f2cc +Tag = b99e58f8d732223309b7c985abfe8e +PT = + +Count = 10 +Key = f0ccd05e9b8d14d4b2308aa74cfa9af9 +IV = a46b337b6e5f46045a3b5967de17c3514f1561bfb0137fba7806978aa2593db8e32d57a8a43609a0f8893dec9f32d294b9415067ef1e9844c7b66f099acf0903b924e9fe13936ede33174dd94606bad746badb5a6758e07a477c25eb516d953f13b08a29154272591280b9a97db54f300f90e86b62ddcdcda62a8e53df74607e +CT = +AAD = 09982602567ae530cc5e778d5d1064c9a7269f2b +Tag = b8774f46c317ea1017983114d81949 +FAIL + +Count = 11 +Key = 09bb2ad99577360ead3fcb3e5e836094 +IV = 38e572920e5e2e361f11a635e644c663ab65becd56b6d651c29a132c5c10492a236088da850f1c71ff2d07964d17025f5336c65ef46dad33e972b9fa5395d8527e3e8125a63237af3162f7f1d77ce0ee937136c872f98c2b9c7fe986239fc79344fcf1c6580eb7afc1fcc1d9edc54ad1e022dd4d8d91fe07f98a12ec4db490df +CT = +AAD = 2920b16fda9a39d33c4f193e1a7ba28c6eda432a +Tag = a8e7ec7ae568c06677ad7e1bfe8419 +PT = + +Count = 12 +Key = 9c3c029190779228131f8b340555bb01 +IV = 2c394e003fff640aa0605aca1fa1543d5ed14aa804dbfa1e250ccf1a1fb0d1d39a67b37aafca1e9b375b93d00e903490eee8b3585f2055dbac046ea368ae22c5954aab3b437018213d47b98ef711038a0fc796ca83c0572fa4515fe8a8aa81ad5f6d435af5aab7d0d0f92746c6987356ed664515e8ac9a17bc5e5dafab4b557e +CT = +AAD = 3051b283def6a36a190fe13b4ed1e271c41308d3 +Tag = 758ab155eaaebd33d20467b56ecd22 +FAIL + +Count = 13 +Key = ba97a728525e2bf287da1d400694f375 +IV = 626bb1761c6ea2154d500970c4c3ad99e3774dfcea84140d7dd6c026685c51559744207c411d671b5fa94ca835ed3acbf54b7b5b92e3d151484d29f248ce120be52bac7d155c1b9fa65c7a20479fe1455e33c72600afdd25797e06f0c2804ed756422e82f17bd2bfd2ab6c864f58460e85056a66ee35802987fad7d484fb55d0 +CT = +AAD = 2d75b6bcc65c69d6194bc832a639f0159f43e103 +Tag = 266d1a8cb63a864089820991be2efe +FAIL + +Count = 14 +Key = 6fcad64b3e75adf5eac3281161d4864e +IV = 645b42221de605827cea09235f2e736cee2fb18cf00313350d7f737c8abdaf62efbc933e5e9420e51109e892b811f8c1bd7747af00b519d6b959ffc46042909ba84fc248a4a82402c2b67371fc582f3dd33de4385830bdbdccd8fb3b62c6b298e5730231fc770373ce29e05415085c7946cff6b9ac99416b48ff4159d7cc4456 +CT = +AAD = 72f3f6b894a524ce4d51b87c4b6da411154d3292 +Tag = f70272b5b0ca19ae0f50694a424f19 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 703b657f90c3578467b99c29f807df6a +IV = b88ce10e8b6666274a1294d5678d46dcb9241a73b1c06ac081878dab2c1bc4c54c32aba82816ac00cc09d1920a8206f3d652f2367ca7ed93eed7131d65d534138e973ca88d50a6ee78e2b0ac5e548df6cf1896e804e7c78f957ef39b4a4b8c3e4a7820319ac1068b1ccb2e630057ff635d2a64eff201c374702ee205f404e1a4 +CT = +AAD = 71e5d3f7ace8d242d8ac4041965a8076524efa91 +Tag = 73653c726e018773195711bddb16 +FAIL + +Count = 1 +Key = 5928cb42953983cd6de6a7267a56c3c5 +IV = 357b90192f69285d736f92b89613dc36011bd5c1bccaf131bbf6d40be7ffb0fc984255d4c3bfb290542f28b207b2ad9205cd9522f67b059b40d14f40fe61629e2e82e491f1921052dce3891e857430a8169d85aa1dfb08de3ffe6b1888c7b00dd532fc215088860a6c8364260613cff36438128badb9e6e3df1ed8a34e8d8994 +CT = +AAD = b8a1635eb7a7097be4bc3566a35c46b485d553ee +Tag = 1cbe6d77d1ddec0564d736118c6d +FAIL + +Count = 2 +Key = 8ab1558689135e0095ced90c47c1f18c +IV = a65e67076ebd3d9307ebe27113ac625728d4206c6f25a8b85b19a6e5ec87c5b7106523dd8aa4f5fe953d3afa1cd7c1a35a9de2e014bb204ffb3e65d0cf49f63d566f2566a8cd7bd501a7c96292681b89f19e852a114dc4698c31bb8cb00676d9f1c4aa1a8fd86e5a389bb923a5d09bf15287813a258176f0758716c286595831 +CT = +AAD = 814f93216cea1c0f5339b40a637a928175ebb0ae +Tag = e96ad488f0da2703b67871709a16 +PT = + +Count = 3 +Key = dc6941d3269f9de28565458bbdb5d064 +IV = 5c36f02603098e0abbb20f112b01ed80d29b0e780b186605f30bcc54970e63acce2b2a8490af9bbac55b175c16113cbdd8a5506e342a5e6b3ec43478a91f1abdb56a96e636622b5ca2ecad651408f4d8154525fecbc208792ccb24e86c1bad93f39117f055407be1a5cc97dabab9386eb3d42ed5a908197a6d6ca8ae38165453 +CT = +AAD = f4bd19180d5f59f63b3bc970d5f13a6da1c47395 +Tag = 42e500496d1a758ef52811274e45 +PT = + +Count = 4 +Key = a5a156c84fdaa416797db2c5cf35a4d0 +IV = e6901ce6da1d096501045b055b2149fc5ecbd816d51012fcc770921021b93e4ce73b09577a3ab5fdaff9b6906aed8e13e96a07b67619582dd3a90adb2c63bc7619a763c6eb94b0ef2affdda481f1ecb84d3738e59dd636b930e22c4d06261719a63691f80b630bf2aba81fd90b9bb14cce53c17da32375224fe565904f1aa45c +CT = +AAD = 0fc90d98fdd49f6274bed4ffed10e446ec3bef37 +Tag = b54a69b4695598924cc4254da6ca +PT = + +Count = 5 +Key = 1008c7d77565b14f246dd1973ee72cc0 +IV = 298c63da2e3cb56459661938f5c6a408e4850253b6a3919f1c0f50e1949983cb5a1121e0fc1c05b6308b06485f9bc9b972ec67d26c12ee9d7c82099005f5ecf0c7950b83130de469240fca517fbefa672935905ae30ec12d000ec1d0ff980b29769aa215145293d30a4304fb96478c32858a4eef511ac3e386ae9db6061eb533 +CT = +AAD = 98169f4f382c20de00aa62bc8495a2b37efd676f +Tag = 600dfb708d13bc151751fa41c2da +PT = + +Count = 6 +Key = bfc966afbdd458b3f46a39c8e4083ce3 +IV = d3ee5bcc140bcdb96ad18834a226464b220fd32ae56ab0eea66b26e408f870f1c7f19179ebea315511955c50f8f62ee8888a92dfb731d3c4aa9793a7388d7431b6cd210e3a258c2fd60de0149ef36aa2c0849c26cb5ad8a528cd818fe1851a616e7f15db1dc181da4c40e54fa22f844a388d6937fbe95db2dd5ce6f861518d1f +CT = +AAD = ea6337370b04fcd6bd89e1e320773a46babfafe7 +Tag = d5c1e5c43336bf25081deff99397 +FAIL + +Count = 7 +Key = ca8c472a332e4ad73eab4e2619d8d65e +IV = 7f2e57c14433290435a754c9a0a9faf10e742b10c09308e8a1329ce832dcd31cbf298a50cb613eec558d647e068772ef168564e11df87e204203e36f2c4d4e7279c36294fe7db2dc85f8278083fd28e4fd6f2f9c29af6eab1ebc3c01d2bf3062ded2d485b5caac7f4a98a9bfe070641c96f85ed2c4197ad291e71a5a76b7cd24 +CT = +AAD = 2ced1ce5a20f3de90e83d851ad5349f2676665a9 +Tag = 49ca591e87e5c92e340004ded2c9 +PT = + +Count = 8 +Key = ad2f55fd7fae3061b0e41460147cf775 +IV = b5dcb31bc86cd26211a0157154994e6739a8b30d71fea803ba50008262d51aaa4f6d7f7e744ae2f7901417547527061726a0c62b0184a0295261eda2c9805ed68539bd22b46cfa4c1e21c54c28cad3d5a093de8866f088558126bf7ea33ef8d22d23040a465d42c294bd13994a8225970fe5ac3999d2ed506d472a2268f5ce4d +CT = +AAD = d029f7b2c40bbfba47ee667587476e429797f32a +Tag = 85c456bf992aa1b2b0713c162ba2 +PT = + +Count = 9 +Key = 6ca3221101b38ddfa9d522181cb6c1cb +IV = f3ffd74f7dcd7ec4c387fbb67049291341fedca4bbb4b5ba4e01872c589b603abe36ffeba9b95b3e42e0dde2b72962e809ac70c42218c853dc76e733583e9bfdbd09f146c9b4b6245b8b55b207eeece137780e5738d998edc7f06bb44f8885445cabe7f2c8cb3bfd66516cba5a73e8ddcb992c7907a9b5e69ad7ff458e45cd39 +CT = +AAD = f819d160e5b2c5039c4fbbbb932bf47932d72cd1 +Tag = bb7e60a2cc08d819049673f67ea1 +PT = + +Count = 10 +Key = cc66454559a1854e463bad3add13f3de +IV = 6d79f8e287b04baf2d38e627fb2929acf82ff638fe4f4c6add257de63bd9e0c766410931c309541eafd50904fbed4faaf23dec5cec035ec3b5313e064aa1d03f8a69a70748dccc98f62b77c46134b5d3eead23320391658bd0ba42c279adf8eb3197bead1d66dd3bd3b9dbe4dbe1d58a97b02373398a0be6a4531b5ff39fba64 +CT = +AAD = 341b3f1d619a1517e367e2a3aac27cd9d660ec94 +Tag = 2308e694771a5d819b29a6330821 +PT = + +Count = 11 +Key = e692b5ce312b80646fcfc5df44b11914 +IV = 2778974ae35e28883ec68877dc6d26fde54728ecb96240d3da99bf4d1786b067b3934dacbfedf07bd992ec92111c795c9741a6f3c828bc10a39d48c4b7ed54015b3dd75f71e03f5cb96f10602e754aa726b9df531e6df2a5fef4d7e731cbd19917322800e63eac6cc1bcb3c1a4e035ed0b581d87d47caff80176b0953fb56a19 +CT = +AAD = 1b1242619687120f5739765a17890dbc32d183a1 +Tag = 9387dfc02172d52f33847572668d +PT = + +Count = 12 +Key = b91ce80bd3e8c8e44b8560193346e096 +IV = 45998b0481c48ff969b10c9ed952c0845d26bf38a43143a8ac361266ed689e241fc7d0e39097a05cc4f30b31c6456a72bb9c60d3fe830b211669dfeee621dadea3d7c385295c61290cc2825ea90f32824949d5d6679d09f29c6607981535fed2bad45f72a30f719fbd07f93064fb11b1b761f0db049390e428255d255203b1c1 +CT = +AAD = 8d575dcbfcc956b6f34470ea9a4b9668a4f8a600 +Tag = 27430fe3cdc2c6a5c8a140c18ba4 +FAIL + +Count = 13 +Key = 8fa494239d2e37aba41ecd30fdffc167 +IV = 2acadb6a0b2cbc6b370e5d09e809a66755f08cff1c8e628aeaeb8b4b89bd0fdf8c1669c9bea4f7358f7e53b3cf3ac2bb1af0e0dd4e07b27b70076da2336f1e577c58568b521711fb5228ae23f0d26682b4032263235da5ed5603b9312cf48d11533cd06fc964021c6a5a6e7d65c76670b0711e5fc09d367b7c75b6283fa82532 +CT = +AAD = 96b23e85f3caeb7259c3e1ad525402b60ff16465 +Tag = 6d7c027acb1e95827e11d75aa09c +PT = + +Count = 14 +Key = 8985fd6dc02de43b97f37f2cda442e8f +IV = 8f0af2b16947a092a4ac54811d44eb7f87e826b915cde0261be0746c32faea07103aaa9d4f97651312229f18c28cf78237581cffa23f96be4bca158b13bc65004b22e2d3c7639f03696cf56552de1b6674037193c1dd01f259793c4455d6052c234e541b70ec479bd7a165faef65b93da9a794f749d6f7a86c75eb4ad579fbd9 +CT = +AAD = f1353475b74b646d6e5f8883ab4d3950a77b2895 +Tag = a0c88027eb44fd088476bbb8f7db +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 681c253511b9448a1e1628fac89d7b28 +IV = 19610698f61c152f237e3c603de6fd25274022cbf83bedafac681de7e41e113b2324ea680320f8542ca0ef2e1914d9695c31326bd619ca2959839ce6c30b7292ad05713acb98969b98f739b9bbf0874dcdc60143ee1d0af690279da83c7edc185d3d3439691fb2b536e8f073fbbea385eed2067e3ec84f49a5a6b9f5fcaf855b +CT = +AAD = d1c64a0ef80d3bcec98eda3153feda8571b17d1c +Tag = 70f5cf803446fdbca847b52f89 +PT = + +Count = 1 +Key = c5e65c3606646f1149430113749728fc +IV = 6201fdb100ed7ffad8ad1bf3c71c6dea3de991882248e9cfb858615e3747f55c1247af33c4e92ebc18f81db472c87c689903554d4c66269f17bf302f18a66b9ee1a585793d9cca7e2582a3f12600b9193ba8743425c73aba62318033c7dcdbf402309181fa2f65dd85713c9779dfedf15e1165c59e0ad0a8b071e53a0ed0c97e +CT = +AAD = 00f1360174b0884ff100c185f3c3686d32fd756d +Tag = 55d20de44bc7238e879f6bca04 +PT = + +Count = 2 +Key = db9c9026e3f808a4fb1e58fac93c65c4 +IV = 7820f69348396473c8bab1c004c69e67fd93fac17980dbc524435a182150b95e80a2a52dd806d981d79120d3c0fbd1e1653c44f9c991d0b3aef995ee60d9c0f16508b270b237bcc391c61acbd6b4ae69dafcef3dc26c498c6e33bb97e2ffefdde18c7f1ba9b3be7e9042e5d88cd1420ed54b713c7df24b2e4bc2af99f3113df1 +CT = +AAD = 9bebc3906a4cf125d981c82fb61cee4ab6eaa5d3 +Tag = 32549d05265cd4afe6241708b0 +FAIL + +Count = 3 +Key = 126b50066d97e4c4e72328c9f64e3e68 +IV = 3b08759124e3368caccd9b216b165cb62e576bc03a771974c4ec37ee239413099cc8fdc9b885aec67bed526031fbe44d783beedbb72e3158e71b17aebafda86864113cf5511ecdfb84b10146c06d4dd8c1a6257c22b443e61a865ab6f81a6008ae9a937471bb81e6273b235b89d98e207bc90d15b31da5dad94137e6691cfa62 +CT = +AAD = 4a27b6024d0352ce876e53da0ba532ccab034665 +Tag = 727fc32347f4a6f4e0b9512fdc +FAIL + +Count = 4 +Key = 6333e0fb5f61d2c11ca33d90d488dffe +IV = 905bb80f3ef841af2bbc539c071e275d697a78a9a0d84cc338638add641a7b636051a784ea39755b6f1d9255226ad74dcbf441c801cbf7af2aaa802b6f96aa45a0331e48c61aa37c014cc7f34ae96a9178b8d9c7f70cda7c1ed2d15ed5aee23f7a83981b120920e4542fc58f45a2a7902b75c255f44caf44eb992d789f859a3b +CT = +AAD = f0cd159b74c98c4d56cd2419c1db850bc148c332 +Tag = fb772426c70a6aa406024bd4e9 +FAIL + +Count = 5 +Key = f7634af4bfc6da43f6bde8d484e94957 +IV = b3597d324ab4d1a872c2d111a0be8cc2f94e1fe5a3d79cebffc3271e85fd37b88c89abb91baaeab8ee76aeaf0d80c253fd9bcf17264b6dbaf0e65c5f65f468c2eff2684eb25677e1fd1f8146ca342c40b1d01b48bc545b914dc803e456104e7897f3bd42806aa4fcba8c15e68a0c894c3866a75514d5ea70bf865b7fc01e4bc5 +CT = +AAD = 3d7b169cdfea3b70346cd896b7edb34e1b095612 +Tag = b3d5354355764d9da3632f3cb9 +PT = + +Count = 6 +Key = 4bc210437dcd327f67215b8acfa92fa9 +IV = 0e58d203276e932539e3fb66b14963294c849d587dd65f86472d90825e93dadb732f55150894b4375a12a9e80a4c779084306840f3e537e4b247a2f16966317b936c42e94d4892287a2d42cbcae79450715dd8ff49abd8274a39d107b6c38c4e178c7d1afc1c776c5cd95a6a797eb60d86169302943884edb4d009b7eb01f96e +CT = +AAD = b577a9b1a3848dcde271b4192938f4323401fde7 +Tag = 35bd1f07fa9a751e48712f9bca +FAIL + +Count = 7 +Key = 6441204f7ae7d14421d5bbe09541c25b +IV = b034a9d2609fe497d723b6a993cb8d9992c152d9e956019b08042a9fe6bb1bfa14a4e9c72c03a29f9bed0921f5c3d0b5b2eed0ddf7e15e8351532e803278670826028cea0defc31076658ee4439ad8e7071f34a1424189aa43b292c66d001aa00dfacd687da40bfec2c85534144cdc383c5a1d6c48df75c0e953b94ab7ca588b +CT = +AAD = f30c9701ad72fbd739ad00ba74b9af80bfaf844c +Tag = c0c3ed4ba67c3c3ff51db7dae9 +PT = + +Count = 8 +Key = 632a27d5cdddbafed9be50fc23c54880 +IV = 04fda3292066e6534c23d952497ca649b4d0cb87d01e40af48ff5836136b1ca4793731b7abde688d87ea225e08a29ba4fce6fa350caaf10454e8143d19b89ff73fcae92531ea2035b75fcbdb9abe70e21d64959c86d2c86a707b0cfa1c27fb8da87297430bda153e9a7ad0ebfb3938f029a7456d7279e9ba0496ebeb147a4b22 +CT = +AAD = 8e35ad5392b858c76dab237eef9ba1422a7b96d6 +Tag = 5fb3bed0110e67e676042ce026 +FAIL + +Count = 9 +Key = e260ab9689d9953c4f81c6450eeec947 +IV = b1a10a6d693deb1e209c32be3b00037c48e59c8bf671151afcd4aad8d494d5f09d3cc329b6ed2b9dfc69ede8ef104b0f24f3874a5f54c905e51f2b49afb2b1d98f0136846dce61907556f21753b24d6388524cc9edd3d3158bdb7771d31a9411b60b2271a6c1771ebfd5a46005de9e0fd164f0293f8299326e55beb490b6f7bc +CT = +AAD = bb4e60c7ccf6574d540fe1cbc24406c8e511dcec +Tag = 5fb831b5e89da0071e27fedd20 +PT = + +Count = 10 +Key = ea11bcadc9dcf4da3ebb1584af2e73f9 +IV = 9f884af5fe7d8a5269b884b34be55407ca7d686c75c2539844bc25f94d52e4deadd5e10546fe66d9a5964e0115beb82d52643963e9aa5ff254bee81639977cbbcadccfce6c9f9d88ac17616480b731ea179c1a861976504b8ab193dab91afa4f0db24b70bc86cfa7965b2139057ce9bbeb106faf04d6ffbbcb356a1e7df41c37 +CT = +AAD = 635fb8e540e5fdd96b0f44e21e3c2900d53c9fcb +Tag = 884028277aea51cc74ab13b497 +FAIL + +Count = 11 +Key = a927d189145f448a3b4123ba47995c65 +IV = d6b890084634172fe021b5320d7a244c6b60236056c3c52ed174b69bcce3b13b2ac7512de96df43607917b5fecd8c0bbe39e44b89e3478964a2b8a85b1d9cb4cdda6148601d98aabbbb10f8985c721b995ecfc84d8af6bcc95ac5e49ee80b5b46e7e17b75508244297bcfb22105bfe62797c47f66be0b296987ce23b295ec578 +CT = +AAD = 34fb0057f9a7f8049ae916d6be1c2f2d2156d4ac +Tag = c446958c086279e10f8f04c2c3 +FAIL + +Count = 12 +Key = fc4b7e3ebe5de4caf153439621678d12 +IV = 9c10969ff1472f269c397c2ee561587402d2d283f391584bb674897b78efe70241c13ab09f6248d20bb4d169877b7141d815be067c167d8cfcb2c4724d0637f969c739826c84378b29bed9a49bb646669844082645348752637e49ecc082b10557cb0fa1c3ca3ab28875edf9ef288935ec48d1c76f62cc1ba422f3da80148347 +CT = +AAD = ed30ef1bb6c875ad17291a1171e2abdbc0af3bc7 +Tag = fe691238408510679bd15cb4f2 +PT = + +Count = 13 +Key = ff5b81799814b6de2a45013b6a352f4a +IV = 5f9e12c3e3e79281e223c54549e16060c580e211acc554de76fa4f2d6598e5ad70d9fc5e40e38ed92fa76c766620b255c1bebd017a65fdff032b4dacb560b551dde885d3d36caa24f7bf361f57b096980ec9fe881e2a7650abf0ad0afe40319dfdb9f6ab83d5c5d1bb4c188b13fed01836af81a193809c5c272edb5a92b9c8d6 +CT = +AAD = d1b541f6c359fc85053825a7d6a76e892cd45000 +Tag = f7a58828137c70dc572c2d5031 +FAIL + +Count = 14 +Key = f516fa3a509f53a695e592ed6927ac81 +IV = 3974407b10f705e840d1885f16262b7fbe583113c750780f1ce968eb13451e8f691582e0fa6f8426c6622bfe9a5ca7dbf051a277022ba54490e08407bff883645bfb25b94a65363f62c4d4087e4bb426b2e1bd10d34e14b21e8307225d913bf0b54d4571811c99f3f48112083ef6a6a42764539550931cc9b74782427e697ce0 +CT = +AAD = 8d97a20a2ab2d12a692eda17fc762694c5e86f6f +Tag = 14e6f3e4a08b1e3757ad73b9dc +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = c78b3c2dfb28cd8d3f5900c765e6cbc0 +IV = 65a0d954f9240c81a15e3d6cb75b95166dc5a1e02e1107505622f22d07fea15a1e211bcd85d29accf8923e187f9f3b105384bed69d7be7d07a7eac9b74f04907fe8e2a1b7e78785e119a9a0fbd367d136b7b49fd6ca78f3095267606ab28e5fc146ef44865e3e32cf505c0bb333a3f88f1269c5639fad10aa73c7be31a975d18 +CT = +AAD = 2880b203acbebf686211cc99639cbba87da93017 +Tag = fda08d7a5118ca54606d2c10 +FAIL + +Count = 1 +Key = 1486271c6472f0204b8ac86283f0346f +IV = 2d6c7ccbe7a2ed9d161e0ef9bea1dfd4dda94dbb9353347870766b214e52d563b8ded79b0be713622403872a2af45b4c046ff01c3ca7fe27c9ca726050555d155758796fa0eb78d69406dc2da581cfbba19872211b2e39e6502ec30704ccbee8d5470f8e0ac160951a9ad82d5d3f93d7b73972e9b5f94f3d60e6db876a193d6d +CT = +AAD = ca9dd9605ab224a83d6a3e5dc130542b142efb3a +Tag = b26805a1b429315a5040b657 +FAIL + +Count = 2 +Key = 4cbcd831386c04d590e6d4932c3a5912 +IV = a069cf24f1941cb78d920231765615860dd881e06af58aa0fd84280068ecdd96b5d97eebead7ad8924ed87aca4fa6d0d1cf5ee1c2ad114f7db53f48a78ad2ddb28eece038eeb2efc45c6a36cf534613ba24fc9fc65612d326273926fb44974d276378fbc8cecc584850a36156a25fc31ee6eeb819e6614ecc2317cbd65a4c562 +CT = +AAD = 0560bafb5374001ba3a0123ec354fc4249dcff9a +Tag = 8eaef4227eb47cfa97522c07 +PT = + +Count = 3 +Key = d95673ef9c11a4a0031d76d5a1bd1e44 +IV = 8960e95458926a26777972b1bd68cc4c2bb02c8fc571b8ecd0e913b23f65d98ffdfc43765d4294f060acb2c1595533f8df8691f512d934e761e3b495686ddc5b49488a6680933eb187e5ff4c3d4497240c3719fc6f346f47d2d71d241fd609657c6f50efe5f4abb059920f12f31660cef9bc3314bd321aea309e0cb55a4c1a86 +CT = +AAD = b436e0a4588b16e449f91ac7baad4ac95ae8bd00 +Tag = d7a600c1f98736d9ee3095c7 +PT = + +Count = 4 +Key = 6deeb6bebdcf787db9d350cb6af399e7 +IV = 42a0ce13059658262d9cac890416f5feb008c4cf14d57d008aa593e3ca2f1664e96f9e35abfe4303e60183b6775fa5cdd42b257ef25570b843257db525e3c616af05b10d60cbf7ee0b3221daa84428d6e977ef1c1f108cf84e9169c7e6abd1765a23941bf50fa1cb289616a82e969b08337ba5bdc8e287619ac7d40358aa3eea +CT = +AAD = f06e1e43ef8f22e8546997c16fc82c7fbe99d326 +Tag = c8ca9c4cb2aeb778524003ed +PT = + +Count = 5 +Key = f1ec7bd2643e40484961de8842217ca6 +IV = 466fb03ec59d755a50ca62a84b35d503c779bc728c4f594d1583a89a1cc4d6764a7c6e0d04b26882c8177744f7195b089fa45b8c148cecbede26aa59d74192e448d8d656bc07bfb652eaea2db8e0b26a5489877e260284c109080deb065a7352892d28b15b390d7ab9071330bdf0ed67f541ad0f30f4a1410f7ea14b8f556229 +CT = +AAD = acb91d501904cfd14addb01f240e47041b1791e1 +Tag = 27507ccc2c66c12289f98d43 +FAIL + +Count = 6 +Key = 8b79ef2a98a9f2af9bb5e0d221935771 +IV = 9c7728b5dac9b507a63a1c6de7ab710258d4d35a4daa1119dc5ec5c39963072a5e986ac74ef9b0afaabaaa6d4d03b9f2030c6845346da4d6d22dbdac27108e50a31b96c4646cc85596f840b157318a2f8a8318fc404a31040aa2cca78ec5a4b74256a8034bf8c091caa66aa39d2edfb559aa7ccefb7b1bbb1c3b11e542415a64 +CT = +AAD = 984db5c029afd9d6a66efd0e9d77017a6ce719b6 +Tag = 14f75fff3c66ec460471f625 +FAIL + +Count = 7 +Key = 51dc585d771291c58f847ca03cec838e +IV = b32e3b2b0847abeacfc3d4bbde1af4e75c253bc4131f833c9fcfb49d40e2a33f23fcd2f78b655ae2ed29f30e7aaded7a372933cab7ff7e756a322658bfc0ffee9dd13f0f229caf0edaffa981857efd80de25f98690f9d8b7a8f7b406914d07129874cdda1aa83e6f28f4bbee4cf5add678d175521d513154f854c27b7cbb18d4 +CT = +AAD = 8acf40e376dc4141d962cb48d7000740b95e26f2 +Tag = 3f8fe6f418cd74f673ebfdbf +PT = + +Count = 8 +Key = e1587d47906ae3f55fb4199607259cd0 +IV = 32250fd3119f778090c465240229435bd75f61f8d976cdec4c582f94a990e053baeb4e3ec83e07c6cc01612ac44a6f5efb3a92a6c204ff16ec8cd574a1fecd8136d3f09587f8ba0b66546fe4de6e6d1c74b4d6c2dcdec1c85985fabf4f673046b7f28e2a1216ae0da07295927bbd3b882d91c5b3cbe417c1be6b9f1f95c38d98 +CT = +AAD = eaa905d7cec25af8800656cf846a07970e223085 +Tag = 4a97934e8379ae9484367236 +PT = + +Count = 9 +Key = f049d9fbc8c27da0f40fb591c555d2e7 +IV = 8b084d4ea319b104b1ce1eea67352861604aa0f16ab46eaffc09a97636a8640b67bcc0f61226beddc37484908739f4caf09b08096f329f7b08f3fb946310cfdd625f9a51e727f7e6fcc6d7612dc74ee452de4486de131b4357156441f1f2eb820440f104785dd9fb8e9a8538ed92df0bdcff268d49949f71898e3606d831f5e1 +CT = +AAD = 78483a0ad7d6d68a85864930d961d38622d6b2a5 +Tag = 269d9250fd00d00e94e8cd55 +FAIL + +Count = 10 +Key = 495e7062bdbee45f956b57fee46d9095 +IV = db0bc921b5686e017349cbc93360a36a70fd6f2f41c67b6c0ce15ef2a346af8f622e8921333ad3a48b9106f13ff0364b98f6562fb89c7183f1cd20aa2acc089d1efb8c058d869d2ab1f94d0905e56c602a1898c395ae63d4d77c88aa371268f2a1444264d65f8b1384d323b8dee6687b238a5caf541cf65d116668f9cf94f534 +CT = +AAD = 9f079ec6f26bd10208e1b7e99351783a59e2ce9e +Tag = 385ee30ce06471cfb2e86387 +FAIL + +Count = 11 +Key = 023766cfc518526490ad7bc3690ee077 +IV = f2e654bb6236f01dbe42611ac2ae99c3ea932055a50a1e3ec7d52ac03dcc6f51a7439d9f1b973ae136003e90918cb73a1bb0efe2d41dd097c6dbc5a3a9f2130bad37c5fe20adb404d193426df956ae6c12853112b636b74b522e3cb6a34df7c0dc5827ac84e34821f7cb19ea0828a3c50ff0f6da093a0f247291d31b95e16cc0 +CT = +AAD = 0f60a7ac494809f98002a23269f5aa74449efd09 +Tag = 010d468c4deff4d8dbae2722 +FAIL + +Count = 12 +Key = 6f03923906e2aeb6e2a44772366a1593 +IV = c1f3cd0d847abf65498572259c5b58b477148b7b65410a40e2ebf3a89ff2d502237fd94f2366381f1ee9e938249c762c3d5bbfc80a197a80e2402903e615967e8658f619f427b6167edab5d4ab4c7ba7f5e22552661581432112d41e448d85b402119ff784b5943378a16e48d155fc5061fca64d3fcbfa53b4a554c3da118dac +CT = +AAD = ee0ca6c0004e631307063ce1429e3a8e75a50af1 +Tag = 69ca2297ad4f7ed13037a56c +PT = + +Count = 13 +Key = d859b7f229f4ac2013df29ff0bb4034b +IV = cf4cc37415183bb4ebc6dc2b25c21ce0b0eab8eda6d2ab32601b07ad9f9b672d6e80248c7cdbd3f11b221eec22d8eda3d43396a9f1ab662010029d111dfe250d24bf6c6715fdf4d0187be8a2373c4547a61e66c9121ddee39fbbf9233ca65bc12c4f91b49c2e0087e5152d07701c793c4fe186d3d53c12d15d004fffab9e7dc8 +CT = +AAD = 74d9d561b6cd96ce1f25df61967a8aef86538c1f +Tag = 8640d9d3ff8d0ded1257f377 +PT = + +Count = 14 +Key = 4ddde6531182fbc3a972df5a97d11123 +IV = a326291502300b65b4789abcaf0883f245ca1bbfb1e704e03e584d405f2643608a34ea70964a8a032c65cc17628d1f9cb3804ebd7fa7e1777709298d468a7704250a6fc3962ad6aa8d38002cf92b4d1979ac00b6bdaf22b0254f646550ed4059ee1fc28f730b3c9d74013641d895c0608a119170cff2527fbbbe3e3ebd23d06b +CT = +AAD = 8c3e7cbd7659b64766e9f007b0c2aa0e4a1268be +Tag = 282bfd5fb41ac745acd4db2e +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = a2816a9d184ef05e394f18a8aee4afd1 +IV = c18fcf6079e28b14cb9b1ad83f088b4712006b865aa96293e953dfb447879b39fb19bfcbd19ad3088d68db25c7c47c01682d983989f9c3d31070d7dce329ce2934e67b987aeb557df777c38defa0ffd17f22c8695baa3a5a437af87b7add8d13c92ac2d053cd4d98835726ad5d3b9d44e0843a84418117a65a32abc142094706 +CT = +AAD = 40a2495847b2378d72e73d3646a35cfba92e541e +Tag = 1cc9c78e56c6868a +FAIL + +Count = 1 +Key = c4a6380dcb1acb992b8e993f2bb887d3 +IV = 9341d3fde3f6ddd768df2d3226347c0da429ca786a3e44db9a6100758c225a82588fd530ae14d68a452384168b3eaaf07d6510e03e481024551750ac583024a78b020635b560e43c59f8f554f89655986f8bf7c445cdd0b407863dfd8be4237e3f9d26240246ff13f7f337b1cb1e72b779c55a92d0246ae2c2722926282e5794 +CT = +AAD = 1048fb1f7d789da22a8278ec2be3104886b41983 +Tag = 1cb7ccd7c71f51d6 +PT = + +Count = 2 +Key = 18d020d26a15e7f7b6d1688455328f6e +IV = 202b04b4c76e9d6f754b26ce9e1ba8615d647430176e21fdff6cab3d45f1d8f5f65315c12236f0d778ea7e0226c3120e361616e13d91ce0a7d02bd668c4222908203b817bbdc45a60b8e4619fd81ad2aaf43328495920ee96c6e5d1fc8fb658d29ce9bd8873d5e94275b7ebcd2d6071d76c3f3b8ac9601a9f29008e6cced5975 +CT = +AAD = 56c7ef7cacdd27c393319f6e6e1d3a2c090ca21f +Tag = 4ff36b20118d9415 +FAIL + +Count = 3 +Key = 34b0dfcfac2bb696c83d05e2803e5d8a +IV = 7a32e62e5fa61589060fd87afc72a92eb9ee2cecbd9081c5e750ec363520c4845698f7c95b2b22bb4d28702bfda38460797f1573dcd46804fc20040b9d85c2bd09e2cdd9a8a35fca8b27741de88b4fd907fb31e7239abff37465bf9848e1c540e2590fcc7ee02e0b7cfba9af49ab90e18957b7ac438ebfc09c45077521f07918 +CT = +AAD = 84c4085e4ebd1f581faee2859295e0a93eacef0a +Tag = 5f4b962be6275bc4 +FAIL + +Count = 4 +Key = f23ee0d86402f03e044bcc31a155d2b9 +IV = fa160e541d3d3a0e0d1c79dd840081ecbb4bfdf2d6fd2628a461f96268411ccc6b3db0e1dd38423b9b9121a351aa081f74e0db886392cc88d961d0a560e2fb9664b0a81bbc6f4ef0e13bc7bac24a19401847130a5de3abf5fff483c412be0ad14af14a5be07f5015a12f0d7b64e1f0ba6d46ecfa8d27c187b75c9fcbbb9e5b7f +CT = +AAD = d802dff2d6e17256a052e2fae97423dbeca8d002 +Tag = 5430b264bf23f6b0 +PT = + +Count = 5 +Key = a2b95fbf6705f1b25898ed10bf94b682 +IV = 050801924dc9ec66d2fe04538ae674e97b99ef2db7101e2d1d3040ac23bb9e015d128734305fcd824a96942c2db2755ba758f2681d2bacfb96b40521309d4294055367313bd2e19ee97de47bf8bc7c70570ab0bdeaddf75fafa8509d6fd62f0c1104c8632f4c0d7712db35fc1283142831d76609c85f96c6b27006851ac4374d +CT = +AAD = d6e6ed1f3c73c1b294cbdb46c13aab46217edbf2 +Tag = 4f9d6c0dbb340754 +FAIL + +Count = 6 +Key = 765132e9c9c19e480e44a4fc47a47dc8 +IV = 72e6664f24381d394b31c82092ea50476d5102e1f530d9680ee68153444f165930ab5eec3b9d293743146bb62a793ca3b9b626a823ab6a7d079cda2f562946620b7ede11e71499f37de859ac886b630c93149f98b841d90f6a7619973a128cca6d8000a5d1b97079a8581aeedb94c0a0243b83b2643779df1651b1b86189007f +CT = +AAD = bc284e8a789874806132edf71ae80f9f0a88e519 +Tag = de4687f28dfcf06a +FAIL + +Count = 7 +Key = 4b36b16193a537f2562ab9b512477274 +IV = 04c3c318bd075079cd065056fffdca9fc4c45b476b3120bc0fa6c7487b3d049d1a0f4ff42a2cffebd424b77c2b2b6e7ed157d023b708dffc75621e4100edd14e7c6aff856836bdcd7210c1851936f2141505113767d6f7850afb9e61f7a76c6c3cb1c78e1681417a50680389478c15ae2911735f951cc0043fcdccd36d210343 +CT = +AAD = 68b1d013f0573e68241b61cba8a1f2e2be4f9abc +Tag = aa185a9047e07ce8 +PT = + +Count = 8 +Key = 5a3e78e00073729c068e0185ed5ff59e +IV = 26a0aea3f1fb724a5521c697ef3965f2f464df9b08a137f16b0984dfd061baeb2405c21e3d63877e04e776e62d0674b2a017baff7a2af4c330d0e0966d1b064d529ad705dc2c496dc6370672eae135b2deade3835c04fd8555164405b6f256798f0f7cc4ef3b398fcfde82d3d12e258a8bee5aff455ee551d273673b41914b5a +CT = +AAD = 670f8a4cc2ce2bf12f409f7dc970141247099fad +Tag = 20f9e9f664f91305 +PT = + +Count = 9 +Key = ca20e7b95521ee1d9faef6846397807b +IV = 07bf9ce660f84acef5706a2a9ea2dd241205a2aa65643865ec8db624f845187f435667f110e0632e6b273f6dd90613f298cec99903d977814ab37144e0f6b3cea619cd56b6d1c5db39a2e1b99183510180abff681b358bf6ce9fd8eb8328a73327b074cd5abf3002ae2d9fd0c3606cd50452f359916dc75ecc3d352fe2aba483 +CT = +AAD = 38e7048dc064512f9bae95f5cc3b68b24cddd1f3 +Tag = 78891388b986bff6 +FAIL + +Count = 10 +Key = 12b54c7886771bbf5aa0ec29c27daa82 +IV = 61a1cc2fe1086405f7b109394d0f1b0508554c9b03fda02e4bd95590d6266b79750b271dbc80e26cd3ac661a76f2bf618c407e39a72b03aaa257b6de6c15fe6b20e3c84d8e8c438a6c24c258a4d435f17e43f2c41fed0d1a16841a00818180cbdca907a23b514a6d511f15035bbf2b304f28992eb04cc6824d51822ba96cfe6d +CT = +AAD = cab7b21507c097b67f016e4433530b1560aa998d +Tag = d68efe74dbc8d327 +FAIL + +Count = 11 +Key = 2bb9d51e25d101095be74b13349195f3 +IV = da02c0fd952153edf8408d23c074382e39cb6a579ae39413c6eb282f24f6b22dc155f32ea0d7b888fed2be5c4ac91dcc256700c8aeb939dd55904255545988dadc5ea79fd747982686556d3130b3802193f8e1fd477a68b3b6e9b48c873fe6de864c58d26fe930d28658ae9fc37c070d2453edd27ad4a4d1edb6c592581e8454 +CT = +AAD = b74ccac7a6ed05d321aa26f2ede2b68264965cda +Tag = e1a30a737059cb6d +FAIL + +Count = 12 +Key = 989b1dd9ea18036c6e5f0e2e972f9066 +IV = 901d0420244a4ce9a36e7fbb01b6ea93186b6ebb10a6988ae9e5590998d3962851a29f09d6ea80dfb62e31e6d92fa9568198274b78af65d1213c4aa32588454f721d498b6d930a469650827b6e697e998e897e3cbcc54e28d85f373ab13c9c86ca72d75751baabd386b49fd4473dd5a1ad0c826a085145a7af3c2bfed09805f6 +CT = +AAD = 44de6f8928e8f87b833b15d90afaa70567861365 +Tag = 78b6f0756111ea2d +FAIL + +Count = 13 +Key = 33e02355c69c3ac58e3f1afb40216958 +IV = 29f4184a66939a79e5abc1e9be811e8baf0f705d44c3140cd684e4707f8b69e5c1f066f4d4aa240d5eb00bef2246d7b3a6e5d643781328a97bc4d2f5ff7704cbae83781e54d8cf44212ba7cb2d63af1f1b465984bd411a7c5956977efd2a2beed477f3325763e9ae740c56b294260d8e9d90f9e72e2b65f8599c92979898f893 +CT = +AAD = 374d4f2302f3f4dc5cf55e7fb28338a38fa5495e +Tag = fc640aa9cc0ac1e9 +PT = + +Count = 14 +Key = e1e76c1417729197703906871d2ff9fb +IV = 4c3cd868763f4f0f57becb29afc90fcaec648543e6e72bcd505af0f92a0c6734489010ec07f977b5cb4d3e36128ec758a3fe5eed3b02a04bbd9c3451519a6929e2f8a16f3ba1560d863e33b507f7cbb5b4af6d0d6a3742d643847b279ffb60f8e45ea0f273fabd32223643e073ba65e022143bdbbf06d4e4f3e1e8bd366b1497 +CT = +AAD = dd5a118cf911460da69548a760865de0828291c8 +Tag = 1565223061ad1bfc +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = c0bff6bcf7af0165ce1a821b898bb9f0 +IV = 04c18e2101c1c0e64a39f13ea6a3d80f1ac874cf2dc241d0c8b8cb17164fd65c222eecf09f282ac12fdd6e2a3cb462a8ab2952555878a922ef99d25e8e9a0678d1a20e734d2355d11fec355dd7af25b10942f0806754307c642fcd0790afdda0520b02fcfcf1b44d7417ce03d16d8699fe9f72ac67300de1efe7f8ab8f09bc64 +CT = +AAD = dfcadc653da8354f81d75184373ae9ee581e909e +Tag = fd8947b7 +PT = + +Count = 1 +Key = f23b525a9ed93f7ab991b607317534c8 +IV = e35e36934f7233c4fe9f004d51f36290592a3157d7a3f94366b46936894c1bdff27f878c35d47798e978c1cd31a2a9ce1eff2807f813a886781cb8c20566f2c3b76e0ce6f3d7d0c18887272b0330264a70093315e8f880543738d6fde9c37ec58173f88cac89d11404c392110d74e8bb206341e35d04e798a853690243ce5dd0 +CT = +AAD = 829a4b345b4be143dcc5c56e36b27a34034a5a9b +Tag = 0e0db9c5 +FAIL + +Count = 2 +Key = fe5edc6f60bac1ec8ff976fbdbb15b87 +IV = 01c05986ba7a437b7b0153126a403d9fc93cb04b38fd8b958dcae10c15f35b6eeb9cefc192c1da1ff90c6db051c0ce2f0388794bda6952dda06b1a499ff1ff84ad8e250e726f1535556e8c1563bf5a8e806ed37292d5db69737e11bfb6b8e87d1c4e5bfbacbc3226ab7334f60712df89fad3a3da10c63e83e5b8ac2650fe5ec1 +CT = +AAD = cd7bcc7713fdde7a0e2bd51b5ce2c4b1e6409dca +Tag = f07c90f7 +FAIL + +Count = 3 +Key = c3fb1cc9c2b408d941091b4cc27b8217 +IV = 453cfc609b45fbd6534bb08c6f10144ac0bd2256ff04f0105ca8991eb45645c7f488ec851d126d14c09075b7e96182ce08ac0902a9d995ff1de4ff33946eeec62d56d9ea77f856a9d1081398f8e7da86436ebf3e1b8269a107efa207bbb0b4307f8f6c8fee83d98b2160e52d3b155d699c4f2982644287a74fabd34f02f396ea +CT = +AAD = 330e3d3f522e7fbbf58e41295164d0da0e1a92b4 +Tag = 51161f2d +FAIL + +Count = 4 +Key = 7784d06c1b749ab10cdbeb26c682279a +IV = 1bd205be57adf1908a7927632fbe9d0e91a286cab7c7c0b16b494bf38f466a120456a6bd5b04eeaf3ecc4cd4e86c20507bbe9dd7f5d6e6cc4e26a4f73a1befd155fa8d3e81721d38536129d5ad152eeb061dccf6bd8af94f0bd482f6460e1d31e93d1d82cf05e6d6e53f14aad2dcb1b0854441341b8ea26aaeb53bf22ac7a6f6 +CT = +AAD = c69771ee6109c26b73736a2c04c763a820b94c9e +Tag = 173df60f +FAIL + +Count = 5 +Key = 415ff77994807c1cb7ca2ba9b3a73975 +IV = e8a2a04f649f84a9d9eeb07fc284669804637cc6ed03c4d66b4ef6b6875575baf202ab7853021e975585da764737ef50f10dab6270e734a225ad5e660812406d336c77f8e79b64d1415ebbe1dc345fb24961dd2ec97bc967d3fcfe888fde2e4d8c79d105fc98d92c483e65daa46de17558e5b9175f11db11066523994bdf9ae9 +CT = +AAD = 700d16ba3fb7d3c6c3213523498912e59e61fb13 +Tag = 2ccc7084 +FAIL + +Count = 6 +Key = 499dc320d2145c6f50a8fdbe8324ea62 +IV = ce97d09d9a9488368e5c5a8e3bcf2a8e2068738f83c968d78ec092dcdcbc40d3db1afcb8b8831d40178f544b087f477349257a719fb6cde9b16a0b29c836773b03a33117f8d6a431ed2726b20bc170881fcd1765fb82c317a576b28ff6325ab10c7a44829433a47c05d4b9f9e43df61b0ade0e6e2f521c05511fcde777cce0ad +CT = +AAD = 5be991ab0bdd035c1776e9128bd9c5a05a97592e +Tag = 74e155da +FAIL + +Count = 7 +Key = f0e764cf5a953bef5605625ba4909a3e +IV = 7cbede5fb28836fed875d3b3ccc38ec3dcc955372643ec1438f26d7bb3b2cb674483b502f771713f7da54ac70a8fb413bf580f972b2b277a60e5efd4a9b8a99c8beeb4919652b96719ede100b461a9ac915d57249fab6dcb970a54d5025b762c739a094251f70797ba587e1c96afc780523c71a72206ecea95faba5122d07a33 +CT = +AAD = c5aa2ff64696d6ebe51162aee3c9c2259c011daf +Tag = 61ce15a4 +FAIL + +Count = 8 +Key = 3ea8729e27412721c2b48076f87826b5 +IV = 963f0e81e28e6e1f221698b8893199450919de540a3debf5de3b8a423a804135691b9a72c64ea3e3129b97440e491100603b5ca2e1da171b085581e03cb85d6fa8003e2f40eacfb102f82edc39237ea775544c09e6ae6843ed73f18103432f16e32640f01ed9e72e71c5a370722f5ea2bbafc558a640b0614624c78ce2b4f077 +CT = +AAD = 4a92b8c6ce94efb7b330a4d6525df343612d9c86 +Tag = 39a96ddc +FAIL + +Count = 9 +Key = 2ef737089983ed8bc477f2ddf85e75e6 +IV = aff995256aec6b11d625ee49c94ed3474fb047e6bee4ebe7a1e305100472ab7273a853b3d6a9e8a6d5802b92ffdadf56351a8d48597ef7a77893f230c72a80864f6cd0599f5fd4604ba105b65eaa10886e31a408d8748695cf6e758d098d63f060d67b3480b7909aee2b9684d120e2d34726c45ffebf678af15996d3be3176b0 +CT = +AAD = 38eca3b15f0ae8f4081da26f36efad15a891a96a +Tag = b0d42080 +FAIL + +Count = 10 +Key = 93cec574c077c3933d779a049123d514 +IV = 1f8385dcea7b6e6003ff39918c9ec34f8141fda4c413c69f4fff846bafae50ca5735d241bbbdb76d3cd85e3b8ca0d8a359b04adc8c15bf648600405a74907385bfc0c3fcf6734727a824f50094c30c1beecd124472fc1a7e5ad68504ec3566cae35c96e19fee55d16dc5b2118241f3de63eee6ad3be9ee8ffb376388e1ad51f8 +CT = +AAD = 2bd0616313e11d1593690fc077bbc870c46d8c18 +Tag = 12e5d28e +FAIL + +Count = 11 +Key = 70b20e10053c06bc929e00ec4749953f +IV = cc45842914f922e286b65b4d97260861b1c32e54a12e9ab2439433a5e12a5f304c2c19550d8364ec4e9381d90382fd4da3b113a4313d889d5cab97ee97118699173407468e7f04802dc5b0d1c962ca114d4751d9e0c3e3fda9e545703bc019ac5f6fb1645fff9f207ba97c538c3f117e2b6dc1f1c5533cf91b293d61ee8b2aff +CT = +AAD = 323c25311674548fe0bec786af1b86df234e0b6b +Tag = cb55885c +PT = + +Count = 12 +Key = 5002e683a88a7c1f6287b5d69ed6c933 +IV = 891314ff8f7ab1945538df0ab17c935fff49d9500b7fc6449e70fb45e6814c62d1aadb496781189d8eba2609f3813d5066ec3cb904ebf9f89dc271d1a92591107ea6c5362e03410a592989a6cc528640fbb5e8a3ce6b64fd19283d966c6417049047ef530690c1149d1f2b078bd909d38ec4d498615b332ba22316e736110249 +CT = +AAD = fed1962a104ff19d263affa9462a1cc89087ddd1 +Tag = ed56ed28 +PT = + +Count = 13 +Key = a02bca33ebe1ef864bcbfb06ab7231d4 +IV = a168234ff8014768f193e9e8b616aecae223e0095c065c37b690c07ecc712eb2ce2ea5732369209e09231334d8f255d25142c30aedd9576da89e9ed0c6244bee691bae7ac9cbaa189dffc4ccd7b7fcbaafe52ccdee65314bb12672cec022449d4fd2b392107b7af57b52d5be72b78dd4910d98d4e62c28a86792b1d895e203a2 +CT = +AAD = c2b699ea1c7ab61cb1dd6bc23033fa8723cbd045 +Tag = 790fa935 +FAIL + +Count = 14 +Key = 1ee34969734507c6245c2a84d63d53b3 +IV = 64baadfd09d5c6c989bb4fd17c8f54fb929ed83b7d20043044813362475f7020cb309d890633923e97902669239247a58d2057ccbd351fa71a3e4a228c6b8821022f19945709faaa9634d0f4774d182c0dab6db46652794915967b4978b20474794d9568b65def40962448742a2b4556ea6a05f9c743329647b111292646c2d9 +CT = +AAD = 4c68b3dcd55388cd8b280bfc25373962e24f9de8 +Tag = 4bc54a2c +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 267931611b41eed650b7167b5da300a2 +IV = e49df17e5d73719c0daa9ba7811135914c76dd362adc7b5dd12f48079be435cc6a63a71e8892c301acb34f2fce2df59f0e94130c346b82ad82adc1672991a7b2cc2f61461a33159e770ca3741cc30a64a49ecbf3be6dce7782d712be99f298b230310f54a1889f1dd87b0a2bba45b3cc6c1083a4cc11beaab7ae0f2398707eae +CT = +AAD = 399dbaf0a033ff30bf0d2d5ebdac2c5f378e172faf0e1d129bcdd7c1a622f415d877c8d7d999606b4fb09731fe881584 +Tag = 4a60d3f7ce8eb766f8aee213a9391d41 +FAIL + +Count = 1 +Key = 73ca176c21acc6bc3ae18a1f228d40cc +IV = a5acae39d90fe8f9c6bafc597768b3b704c710f81417b9d9d579ab09227d033737ddb01f913e3a0b7f78d0f6c5d5820deaefb362fe2ede1a2a325f5b7b7e85ba4ab09b5f41349fe067867b25fe5d78c0ac58804c09fcd6e23d9598dd9a74eb4b45034e2390479cce1987ce08b48a98e6f20e5f619ddcebd97d1dcd671085589d +CT = +AAD = 38fce347360aec27e5e9eac39a6586280d5b08084147f53ac065a0af2ca11f8ba7d629b6cc949c0e05809cb8fcc399a2 +Tag = c766a879191d28113202ee0fab2092af +FAIL + +Count = 2 +Key = c1df7e800cd41922772a46787748140b +IV = 3079c63220b573017d01360f2c73dd003dd64a8be4b0909062dd0404cbeae8f76269170894d0f266818f9378682a5cd84af117d0593a43277ea016d55506668991cff39fb58e6541f1f47b80ae558f485be097db67a9a3364d11841a525270248e4196b8138802eb9827889ba15fe7b02737cff8e236ca3dd4f2c8a206ff3db5 +CT = +AAD = fdfb5b6f40df39b6c3e4b5a20ab205f69b4f9b095918403152db0e82af5fe7d80314b2b9a7b77f4c0b2de84ed44e806d +Tag = 1575275f2679f424bdcd00a97994a7de +FAIL + +Count = 3 +Key = 6fdae6b1f62d89d49bf695616c5733a4 +IV = 340be7e09bf0dfee8fa35212b76312bf1a0a4cff455a6b1ec48cbab26b55e4035aeb2472de0c7968cae939d31677e2cdd646d5b31f2e238d31f1cc30251e80bd62526fb099aaabbc237bfa8a860c8d6887cb4bc316ebb5fb3ed75c725633505e4219a4b1b8dbb567848b5fd7b477cb16fe609de7ca0043dbf8866d4587b3e2bc +CT = +AAD = 5456a34f0a784cc59dd36d0ef57f0a056dc9ab2e11a3aa05aeb6a7cac3598c415e8c87b84c45dd9d92312d265dcb4e82 +Tag = 7b60b8aec970f283a2f55015a018aec2 +FAIL + +Count = 4 +Key = 94e343ff52476c569ce68d7698692579 +IV = caefc14ca5d4b8130826d7c23a30f02f1b158482ccdff3f914e7f589582bf847b1b3e607e2244b7d37cbe7dfe25b0e7a1fb2f7c9e1aad4277d9d04e59810115bc3fcdae4f089bfb6b86ae619bf0bce109a22c17e9a28b76fcc60fab50e83cfd2513844053e73a6e451f8281a5aa049ff23e7f35b4991f2b39250d93e558933a4 +CT = +AAD = 0a7bff7282e576d2970593872df935c1189ee8549f1c86e3cac73e8e190456f740e79087490cd8ff71ced03c05b4058f +Tag = ae25c635d207a56ada6487615b42f06b +FAIL + +Count = 5 +Key = e6ef6b22b8b48ce2cc1882dce2a00c60 +IV = 12c0a7a5e0a2818d15df4f29629611212afc456da3ef017d856ab416dc9ddfc08ab9eb923cabe2d2b95be985ad965b6bc73f084961471da9624226493d394492300432d52375fa0e94bb3eace64e3eec4f217e1b68caa8186a4aba65858a72ddd5cc8e4f5ae456ffb2a88d4bff2b35b150b3b19547e2dd90a21fea62fa83b649 +CT = +AAD = 15ff5ee09f299232dfbb299cb0480766cd530be83506ff5fa012ec99f4e6a98921272f545d1f932a5654c621d0a19f23 +Tag = d847ca9aeffadac576adda82d6f16dd3 +FAIL + +Count = 6 +Key = 14d4c20ef0dfe2744281354569c7e36c +IV = f3fa9a7fde6f63a6d1c02d21c3855a7f3daf52270586f674bead00e1d04e9aafb624fad0a9368e906c1dd9fb2d865642a86f8fa46ab14c39db1f150571f20f460e7ecda6dd5e133ed3d1e12e5cb9d3b0f9e8b74cd470df80bfe4ab7bac05a287955d3a115be971a4d678792a066fd2e00cd98093a67c04190f326669c2c9e791 +CT = +AAD = e52f7e802b0d4b97869a4f9a2ea6a2cf1a155fc1b31302dc7cb2ff2e000c90e85fdf842c822984af5b335371e48f53ea +Tag = 5908d32bd0a5325b784ec67a4cd63143 +FAIL + +Count = 7 +Key = 46834d4dbe3ab70841c85ece1621d7fc +IV = f7fa23f5cf5a49dea4a379552dfc40e76afe3ff59f8f184dc8215811a86bb41aae7a98ee7b0ce0105331511d884e35dcd7e2b244d3bbf71018646a042bcd09f5c4158e1d80ed4dc74222fdbcac03b39c40af644dcdd0bed37501f352e5cd33403bbc7c08a9b037f3a7ba703755392da5fd63adee3e6964a3a7d1760a2056a65b +CT = +AAD = 0a8c95aef3ae255bd7a5fe267ba459420aa6878b4c0fc87ead18dc092c0b0459790774dbb40564751363990a17f521d8 +Tag = 3569333184d124f264548a1b71bdb872 +FAIL + +Count = 8 +Key = e5d2a58d0ceb7959f056f66693b98e8d +IV = b99313ee6fd34fbbe11bd0a5a421eff79101de4cfc2802ae9de0152c65e999dac1a927e4841dcea24b7a9c06a5ae97c4236b728885999fcafdd10605cbdf81d2c437eeef6b5fb4cb07b1f698914980bce21a661b3a400a3db834ae8ca58056f4415ddfb6a6e8e479b8b2eaad0098a56f511029804fbf4d654ad34aa66e0fa870 +CT = +AAD = 84e6ae9dd585bc6a227aaba1927f5472c5163b40fff8e62bff666cb2175d81be76a4741e88076ce200ec0b34ccc3d5f5 +Tag = e152612d2388ee3901b78fa54169ce51 +PT = + +Count = 9 +Key = 1212fd4e1f46efba5c5760a524b80179 +IV = 16fbfa8ed7de603e9398c12ed1e33f2a06f76c10b48a54b432b36e78f8a450df95baac53f6b5492c994fda62585277b83f577ed6094a66b922947f7386c7d5d67ba777466efd2cd08526d04e6ef62001f1d1490e94617fc1cf7a6cb75d8462fcd39ecb8f3c374c321eeb32814ca09932bcae2933051e4301754c235beb34d144 +CT = +AAD = 312d9dedf39d56896220121abb1c68de80f6e6d1dfa1b6b9d02a8a528b22680ed8b335d59d82eeb55f396c591084fb56 +Tag = 5630f09b66497557feb2c4362f5c7eb0 +FAIL + +Count = 10 +Key = 0a318aee2e2291f315f93b272f4a615a +IV = b5dceb9dc8d8f244850f6380d1ceb1deb341354ae23bb7991df75563bf6c432f2ecf28d72c97043aacf6085bf781d2744b794a59a40e7268583e065162e0fc3d32db2c75db7f9febd737450eb6f9f479ee9cd273d28fa5dc261c7cf22d2d76ec50b6c48666a4f590d9eb145139fe815eee3479fde6e9959c4780f0b469939fb9 +CT = +AAD = e67d50b99a637816d9fdb8decea5a7a81ab708d54f61e624c116a30a80108d437ffeb3ff97174afe70d6eec72ed518c5 +Tag = 4fa6f8ee06d6ebcd4cd45336c4cb51fc +PT = + +Count = 11 +Key = 84b4784db00852a5bfdd7f70fc1f5f79 +IV = ffaebb9776b3c95d3511ea3b6a18e95da2ffe0ae9c8779d1eb9d410fb99078282fdd90df37a682f49806008c859483653ddee24343a45aa6ad43bbe5343649aade0f27d042f2294ff34f7a5ee17ac4557dfd2e0db55a51ccd48f117861fa03b8b43c17190a1e7a789e8ffacb3303bb67b684cceae599fa0685fe4953ccd16e53 +CT = +AAD = 69bd68a60a77de51a870ce32e43e3f40ad016158c07df8d0ed629f9db18d5c4f694356bedafe65b405f792229147cee3 +Tag = e35c337b6bf3800bc7e408fab0c84240 +FAIL + +Count = 12 +Key = f8a249825332ee24f3deda54ae03ccee +IV = b80b74c0f534e5aa30f29e5b0e520c9d2a1bfd9325f4403215e31ebd6aa95ee89d88cf9f38c91eaa18b5275370f8af14c3f1b53bec0d026a9812c749c3b4c0f16b30c050b678e588713480b8ff55614c87fb956d437ce426ca2651846fc03a6ae47e6e0883d07cf7e96a2980c24642957f6da98f2e77ec4f506d8e32576f8cfe +CT = +AAD = 6b53a72d47815d0f7266a24f2f4a94910b72080448169698d409cf80275623a6068e89ac33a6e9f96cf3dfbc1f9f75ad +Tag = b0d8603b1cc5ed7e4c1a3c7b786f2aa1 +PT = + +Count = 13 +Key = c6947b9e9db4bc884a57d18f8b3d1033 +IV = 4e5c97b5b14e172e59b059e34569cb3c5aa92ca7609c03881f68a00db8897d5fcce48dddbfd98dde3c2d1f8a13ca89f95c87c9f749e68b0abc40e13b53ea3b553140ade8a646ff37619371e797b9f2019af0d6f08d37171e250989e3dfb66ae6488d0296aa6f59167b31f6d7af508c4d8de144ab330611ce3bca9258674494cf +CT = +AAD = 10407aa6be5eb7d12bade5ce5a64eee3a485fc4c0170bcc3a154c814c7ae53da79caac761e3a12f76a830ff7a225326c +Tag = 39ad099e3b1a906afad26954a3e9ce12 +FAIL + +Count = 14 +Key = 1a28fb2cf4dfeb1b2994f6ceaffce678 +IV = a54581b854b7947528b9af9598f8c3516f61bd90b93dc72b703bdf6b04641786ed8cb7a69e55a2e83ab1bdda7f27c7d4bf6eb0dbe2fb1fe0e4c0c6590feef5ca975c0e9af2e2298a2e55b11d7d44c095e4913f6eee5fedc60e4382777f2f0ab92c5f3862e832e94f55d0198d5e832e53bdcfeb1355f034be760ae64c7490d2af +CT = +AAD = ccd2d6c0808fd2c01be4e73447232f36bda52ec2d9d37b3c99031c98a46f06c42d3171d10556359e40e91474d2cad6b0 +Tag = 2666e038b32d3115a3578cd4cf257c93 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 6bc44aefdcc1a510ed19425c33f80325 +IV = 455ae4289cfa293ac56e659848d6e4057d49d309d29c62e787c5e231155c8fa8af6399f1eb106c90e3c99ae3857d32404fbd14a17dfcb7845e9c3c4da914ffb46c68f9116cdb624f60d0484f95165829f2d395255ba83af8d024e2ac2b0dbd87a9e5958efe8fb776d0a733e42682a0de2e94f6c04aa9b4408ccfd0fe459d0fd6 +CT = +AAD = 3129e90a237ea519462f16dc2b583840216eb839e7dde62b1ae057184f8d91dc0f2937e37c80e1825334c488af9f670b +Tag = 528a363203faae37f599268c105300 +FAIL + +Count = 1 +Key = e34a3fa6c7bfcfbab147f701c8360d83 +IV = 3ba7dc14b1f6e213fc18afdba5488fbd6a864ccbb4a579ff87e9f3142c8dbeb97ff66903f4fbfb5c0c4ce846cd23d81cc7f6dbac8ae3d2dfcd1f78d16d4d4a40c96d01a97e22daba02d46b042ac33c242e3567e8bd4d16d1fcca31068e8ebd37c5a938324d4856bdd3f67681cdaaaa2bae05a602296c073282cc4475baab4ea9 +CT = +AAD = ba5f49f8c9904ec2c363fc06d8ff1e8dea0c699521b203679c30c2da9587892c785f5546395f882afd1adae5e6d145b7 +Tag = 2d972f9b82b5174e550d5585f9fba8 +FAIL + +Count = 2 +Key = 780139159e35a933627ad12e8b5b1a37 +IV = 493bb85ac249496bb73c9aa82e133424a62c60c7260dcdaf717ec922bace37ea3f9188b308c10aecf7b5fa2cc146ee0acc681bf154552cbf94324b84c78b62810f9e97fcc9f73a0a0f110170d04d222d6b782dcc0ca798e8ad14557a6e5ffa0afe1873f6fb726b3d8a081f4c9459c72b0491c73e1ed1229e13156914b2eed954 +CT = +AAD = 57d753e2d18e9c646189d296d83a49adc3ce3d96d773d5a18b2cacf2d48550e8f800d068bac4e95c8d89be3b05a58701 +Tag = 0b83f845b4b0d5c2576ca26986f921 +FAIL + +Count = 3 +Key = 4761c67641102bdb58ff6a01b5aa1701 +IV = b235eba3995a3866095f22b54e10f508185a5f93f6fb60e501f5552125ed45d814b8bef6217a99b5e9a403f06455a0634f9168e8b2884d0cf54dbf18665c34af9a8a3cb859a7daa6da489e2c4204e9ff25dc3c23ef4262c817e39ef86111ce5a2e19963d4c80f99700f5f171bebf12ac2f5fa977ff87e2c70d6109f1c73938d5 +CT = +AAD = 80bbb979f16e71610a26704db5cda0e0b535ce03029d19562c40678a69dd00a1732334d767c20b6efc0a76206ad3deec +Tag = 12e0ef3f949c0913599a409bd2d95e +PT = + +Count = 4 +Key = f15853efd2e50dabf6f306a8215d9a75 +IV = 6622ed0e87377c7c708ef4d134bb5ee5883960f4f15000d1b1adde211123d9e70ad4bdb1919d19aec0c6ba80bb5b2a5fed2b60cc0cf1d1427557e1fba5acca46efd0f97805a7aa07b61a018e88c620dee5c70787d65de651d0082a1b44094126cdf0db5b1c9476e122a09f653778dd534990154b837e1ecf27f812bc7e0c4a93 +CT = +AAD = 5faf5ae54bef98bae1a948ab34c1f308d0258d3ad606a724678950bb63a1bef205b64f3647f4dd0eadd3ebf87788dbc7 +Tag = 252a966b48bf4e4ebf00d90434051b +FAIL + +Count = 5 +Key = b989dbed74b1bb2455d18e6b0091c501 +IV = c72d0aaf9cc276afa8c3ee1f26e24b4773f91c63eaa0efb5a004e28c16bab0eefa6ab59e3f2c02f8fb5aabf5c4e53d039c879c2f6a2532279059649678146306a0b95e47161fcb4da371ced04ecf3c33cbd658fb6827627feb46f9127305495f066f02e3704c1cd0e3e1f32ba74cad995c67d0da7a38a2e4cbf44fec3415807b +CT = +AAD = 98341096abd95645775eb3c35077b16265948afaff54693a3db4bb189f2ae895e370a724dc9302a1fd83514f2b53a934 +Tag = b4948aa4d69685a2a9af695f62c312 +PT = + +Count = 6 +Key = 3661c1c5f86386e617eb5a9773ca6925 +IV = 757771fa98aca8fb0b51830380c3c88ec0e3a7bf45a9c15a69eecff263f8a64e688bab3007ad456ee50c63fd8ed79d4a57de84df7ef9a4677adb54d0bcd723fb1d63d32fad801654582b1d2e24c10fdd28f2a465b856fa9add33c34b78823fabf6c5040efd602d57f7665d1fca67170209607995b6235e00b26dde521a427867 +CT = +AAD = 6e2516fd8fe73e7ef6e3efcfc77087d1e05b900042cd13974241591b3e9461c0340fd95aac7cedd02e667ce392ba240c +Tag = 6ba6091fb3473cfa819883d6abfd92 +PT = + +Count = 7 +Key = 353a3c47acfa180ec77be74cd5a91d94 +IV = b1f3de4bb716d3f072a247fe3121bdf83123eabb3f22954122f97d568d193512d23eb3b8c7b8de4a377505c64bbc48c6f8ce373634aca4e8caaa5d6eb9fa7f0a27303b40d78d54637c96ac0cb79983dfc2d2064617da56fa6f7a935fc6ef4240bcb0915af29aa4fc6ea1a42f5e411a96445e57f17b52c991ec029cadce280104 +CT = +AAD = 8cc18b8e91d4950b937b16c40096d3ee6f79d183a27938183428a1d833233afbc5628168019670af063e82e172b4302e +Tag = 996ab44fc1b15029a72d5ca660a8d9 +PT = + +Count = 8 +Key = 29442dea0f60b93fd475096ed52beda4 +IV = ebf50892b4b2dbfd52368a7bcec7dca0197d80354b866c8dc68e584a457910c9b134b12b5a02b39ce29d5f895c5b1fa58852e4db0a2e418eee71ecfece77ef84410a023676733816ac4054e36383cda796d4409edfb0865a6c11ac726d3ff7a66214cf96c48e58dd6646dc20905b2d8431b49d0d3797d6721fe5ea1470ce980e +CT = +AAD = 017480d68cbb8363bde0d8d3d240919b4bf03fa37ee785f4ad0308eee22d7422a2033f203bb1edb8e2f48a836361825e +Tag = 7d1b5538b249a95258ef125ef2f749 +PT = + +Count = 9 +Key = 3f211f33964910f7b35c66026e4b9c9d +IV = 2f1734fce6655168c19588ccd0010c874dde7e9989147802328be36c66c42becf01244743350f86e5dfd8afb0f19782d2eb62083329a38c421fcfa1f88db23bae95469be5199f998b99448e0557c950bc7974444b1927a6867cb16d9fe5ad240361f93cf51dbb5da6615093b7624bbb7b10bec8ef287d89cc38196332f8ca128 +CT = +AAD = 980afd91c20742bb30a7de94622c83acd00261407b3017fab5370782535c93167688fc6c1f8a291885b242668d8c7e2b +Tag = 5de52c34dbdd3ead06e37ecc2ebed7 +PT = + +Count = 10 +Key = 24532e06b475529be9e90f1cf1cd6c50 +IV = 92cbe48475b2b4250c11afe410f2e4d53df35e95f2917533c784f20f5d47acd445c45950ad8beba5281201896d9971a42c89ab33ed54a475fd54e5696c02a3b320cff950d164eaf585dbceb47d511edb3edd9d788efb7908437c476e3a953acc4a1d2ac62bf08c40daa4f30e0fafead068967fc56b89721c0c31ebea8b04926e +CT = +AAD = 1f6490738fbfc782a77c2a44db2bb3125df98cc61bdceeccefee29cd097024b29636f617a83418bd7fe28b26ddddedd5 +Tag = 9815f37c58d18b3f9c957c03108b2b +PT = + +Count = 11 +Key = 65b294c84eaed7aa565d4a828da7f589 +IV = 4cce62adf02f25f964a9f9122b2c2e29be35efd2ddc2a1540e8160098a7e1396b69c8244d22513ea896f099ad7d31ca789d2824b4078da423409a9c96ad7270ee467a75a16d08ff39324d52d7e68880e07e4f088949bec9e9ffdbb8aac93a990a3742885bf1d7f006318388e0ea6e71bd17a9f4e8c77dba24bb32787f706e89a +CT = +AAD = 6db3d3da84a7556808de954e0e0ef6e7c0c2a595a1d0e07da2ede2d65428be4355eebc07105d424e0025a422dc31800c +Tag = 97f32a993d8de693f5b0e97df1f0b4 +FAIL + +Count = 12 +Key = 21ba10969959a8b542c9164b5faeb052 +IV = 69ffb3965892a63fac402ab038c969831fcd7ee06f85faa76f03e97440988badd98ae2f7796360288da23fd6d3f106166868b3e8a8f9d3a195a8cf46689c5aa46169a4285f9ca627542a2290f1fcb3f36be1048aa5aaef89530769206143dffcce2ddb2174f18adc34e8cea8a4a3be0ae09b1ff36539f16059599ec25305b0df +CT = +AAD = e360139c87c0ded1932964072040bf84ac6eabe469a4bebd309a3a02912199904f1dab89bc1c5dd45956f7b3f997ebdb +Tag = 910a050d22b807bb433e5fc7097f24 +FAIL + +Count = 13 +Key = bd4b63b34fcabf49daccc9df9ced84ef +IV = 40fd07c94fd018128da0527114b432af741ab3eced65759c0a1ae5aaebd5134d717304a2e8f0d82d3f2ad436a6fa2da1342a281ad2466654e78ca4c8b767d5c8ee7a6adb1b2f997f073475cfc41f449d6e926ac3e39ca86b551dec7900f4473c0477f6c1736365ba5c93824b9e2f8a51f60c8aa0f625a0b1668088728d0b86e5 +CT = +AAD = 032d84181e87ff234b923dc3bfb50aba2e5183028580ef0be0ca9da316b015b4ad79d2c56585ac460dd4dd2108b65704 +Tag = 2ffcf1339883d73ae8f18c4d7d07c7 +PT = + +Count = 14 +Key = 831f5fbe4545f34b13c3b77a20527e2f +IV = 14e6fac756df8863f3d98a163a254dce0db61430e32f0a74137bef771901feac2ca07ff521186c9370814d75730e66b06cf9544f9e1f390e7ad1808f8a6ed869c84dc6287cb019cad1884e694cf018bd5bdbcc1a920ef2f32ca542e4c1fc319ff401fc4327538cd7fd0009b3dcc91e992066f1534934f7b6da12b2215d828e00 +CT = +AAD = 2b16c113a96caf4ac0f413544df2daf9700fe8ed4262b33ab1510c5215e0c50a28a91fd419d22cdcb273f05f238fb9ba +Tag = fa1184266dbc2fe928d9656532ad51 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 7e9921515320794513503ab36a8ff1c5 +IV = cb44759e2d62788fe61bc5c3111cc30f75b5eb7381d3b57f5ab67028982cdd95c48b801d3a51155d9d8ad99681555dd7d44d0112b52fa5961bb1ef69065ab29660cba978ddf3789c6750debacf08bafcbf71d0c73e6257fd9ecf0aa09434e2e9269892c2685b8773a1242bf8f52d3f66867eb0ed3aec61e9b5c667f7caf5e020 +CT = +AAD = 18ed81f706969a6a4f4d2871c1d517795e6a7c92292ceb7f18a174ab58853f44178d829b0ddb1b3697a5b39915464077 +Tag = b456afc7a382ac981573cfe70855 +PT = + +Count = 1 +Key = 9879c46b05868ab94c5fd6e0bcc8907c +IV = 305e8134de041dc5f3876257c207cd368dbc7acd2587eb9a2bb38f6c17da9c39e06a58770e70807ce5f6a9ed82e76356ce715fbc47bb42d17d5b878f6ce6a7af365be63f7707e2da50da751566d29031a84e4b486d8ad7cfc4af3be3598d348ac300283f4d2b5d51d1009724cbf31fd347479a5953e8a28aec0381ea56dda442 +CT = +AAD = cb8e5c4a44a0bee2b0e4ab56cba8b9fef6af545965c95495dbc236cb6c0612f401fab90ba55026695a882ab0be48fc1e +Tag = 935152683eb736984a2875f21680 +PT = + +Count = 2 +Key = e414912b6e409d2af40ef22842bdbc97 +IV = 4b119513a9aefe0083b6370f576eb521f406fbbe0e440538c88eb6308ab5277ed23a313aa0cfd388ebc3d623b2b224bdee898622c6c52ba50bed5a7b7a4b67a2c59c5705f578e6011134c15db0770b80b4334868c6a3e8ce8d0bf5aa149e1f52583e1281a2360c87e1c7bcf7fc21b3fa42eda9c3e2cd360537555bffe452f5a9 +CT = +AAD = 7340389b11886e1ab5a3bdf12d41ffe3cdb536fdc0847394565df6b0459e2d8b2dbbdab221cf72be539a3aeee3d27eee +Tag = 549690e2d4efebc2f41ee732967e +FAIL + +Count = 3 +Key = ae75dbca0ac504797f2de00f836f2696 +IV = a07956e625131513a46302b8bc3e33ad583d977f7995ab6103ca4a6e2dde196ae40597882bcd9aad513198d502f6fa4ea588eaca496fa32f0b6388d0a475e890a5f04bcd6879d0b0415ae8dd3079b010491b77d913e99925ce599590928ed44ab00839ea7da13ace1ce2d995015f5020c0489f7d85211d8ea8f44784bfaa4d12 +CT = +AAD = 5e01d8588d7fe99083aaf619df8e80700bf768b65385337fb686b4127305da11d2bcfbe441ec92004471f1bbe675e6e9 +Tag = 021aa55a7f94056740f21e3c49cb +PT = + +Count = 4 +Key = b8b46435086f50d6919e92020bffd85a +IV = a0d735961e228a2d9f8f20f0d6c8217139b7263fc1b0973798b04dd8da1acd41f5c9b754225aab529f362cf4a5ba24a8a739409d39e4160d489196734fc421bbcb8e9ad8fffda41177be1826bff975efe462dc8c8c57fbc78263553fae442cce98ff15e655290f1d157e18d557d5723608860b435186c4bb4086c80531227b9c +CT = +AAD = e14c532bea8ed9893c3b959dd004d0a6a6f7b87fc08ca9f5898775f717cd7384429c3659f5f3447810a32ba74187a73f +Tag = 233c7e02af32c3cc400333359393 +PT = + +Count = 5 +Key = 5ea0108229ee739bb4d0e27c83d545b0 +IV = 85b8dfe6c872d7d16ff5d3d557e25eee9c33532e3c1d0933a4020afc0d16a2dfe53f84e47fc83f218f316de086f62a8d56a1b628894a613c90b1c3caf80af39331c08d700b3afa18e259ea99651c5afc0604e4d913036c5012602e1f7f39fd77d5e0bbf183d3691fb3ce44b8dc36f0bff6dff661f2437ed05b6835b96920f379 +CT = +AAD = d42e191dc679a1fe78d958dadbc92c69fa13c3a26114defd31201336b9201f60c1d682325488d354f27079ae73947c06 +Tag = 8b630535c4cd604ab65a07c94145 +PT = + +Count = 6 +Key = 4b6bfda9e2c86233194a8443df62b0f3 +IV = 87de2bf485cd44ead0ac0adf2d7ac1f6e1b5cde0e22eeccc5c7df19a60288383b020766a69ad155297ee855c5ec5cdaf8ed06f03cc4e7bfc51e2cbcf199d3d52c33bb968faf0878723aa551a97ca84ee1114f79c76841292f4e7a1f398f46360fbd02894513a0f1b034fc70f1d03196d824c8a84e55b4b1f8289e110f6008c09 +CT = +AAD = 6afc7e31ff2db28a7786e8d6c95716b9ad3bf11b8bac946bb47715e72eac3757bbeec9b19e48f07ce09df2a3d6b5292c +Tag = 2d556f424e7cbcc3e0d11b2da474 +PT = + +Count = 7 +Key = c0cee1e626f4377cfa578ae792dd9828 +IV = 1064e460f9de92a93528f062584d37db471e7647bd7abc30ec0cbf2832471bc7adc72f51934005ab3ace2487cfcb4c1944448907facdc60cc19e1e65a95e4237314798a3b7bec74e672d019b9293ffc5c424cc2d3cf71caf63d1121a11543c73d9d05108ec4a02489f73eb6db292e5d82cec78b4b31544619ab38f44795e1099 +CT = +AAD = da64eda2e7c75b9b9c36864c98f2581f3a9a316580def453a61bdb9169837b422a80dd4bb9b244ac478addb8433ee521 +Tag = aa168eb908fa74c7c8b4844d5c23 +FAIL + +Count = 8 +Key = 4625e583ed9bb2d8fd8582dbb8cfc686 +IV = b64bc96aa674b34090104f3a767008603f9b6aa933b8b80c946af5b90158750200bce09c40435adab7e1836472f7743dd0c8fda258a1ba5fe14a3044130f825ed199bfe71e5ccde6e9da23ed97a35cc3c64ce7e55ca23c1a49d97cbd3dd3ab22d90cc775e66007656dc549827f3edaab894b48b276b228cd8f8a1ee1bf25278d +CT = +AAD = 5af23f5e745452c33bad0b55b3c3ad25e359b1b4969c3f2a52b599f4ff5185b2f712e353f9a6f6b9c68b68c3d28f00ab +Tag = f99ce6837f0d16c115f4a50185b0 +PT = + +Count = 9 +Key = 7e52a6651ec1b4be97bca0e1fae83d8f +IV = 0805f674a6a9ac740fc256f2457fb4c7ca1c646bfea5cc89b60d0352d19108267bd62ea71a3d6bf2e894a6f7fc667aa319f004c16e55de3631da5e8c20cbc4b38c2796f26ce5ab6ff129ab863fdd9a4a940c0656d1eee8e50ef2c75e65bb030cd38b85360fb3d12cf5d5660052926721ac5a2401fc5884a05c310f00eaf04bc9 +CT = +AAD = 41b0bd22e73dc4f3bef2d71a7879d5b420c62f648e56c13f56e6d8785fafe3561c3c16c94b509cceb0a192ddb247786f +Tag = adbb264c4ba7f8438d4657f34bd3 +FAIL + +Count = 10 +Key = 77b0c8fe483115ab5291a96323238566 +IV = 2c7706f4a5a36c410c0c419ad23532d2c22830cbe9f4cb7b1383351a2a7c46fb14c402d8b5bb1a35a2bc0d96ec031b925795cabb7b30e3dfd3638a1dd753b2a76eeef6610426c5d56a9815b6aa46b85801f4324690e53d53c10b405b9278832e2650fe2ea5374d3b56a7a082cac2f11e0881c6ab5e1df8006d15cc2e40e29711 +CT = +AAD = 2f2639eb3aba7391fc1563c515d8d785763e53c23e335425c5028efa9fbdd43209d2b9d3262d61b0dc721a56cde99e59 +Tag = dc80c4ef219d14dac70bb772deeb +FAIL + +Count = 11 +Key = a945356d5359bd4fcefbaf22e0b6f82a +IV = 484668acf1963bd336a36f7bf0a09a41c08552c08dece29f7553eb7902993b56223883354169eb64eebbe12d2b548ebc0a7b419cf5d4bde16ea66b3f2c4521a4fa45d2c4abcfe712fb437ebff1dc5a6481a40f18fbe1f15c3ae7aa8552102f65841a6b01109968e53e7d0c7f265f4dff8b17d2f809f555e36b9069a21c70b6bb +CT = +AAD = 139e14b1fbc6b28f8f852272109734f99b711cf9b87772fd118b10c455ff3ae78e3bf1451e7ebd95eca3a6be58074490 +Tag = 748c3e0cc4cd0623bb4389d80f74 +PT = + +Count = 12 +Key = 86ae042e42b926b6d4c4f204c44c8212 +IV = b452a26096ade9506d5c09252013cc5815f4dd359dc3299d616758fbdb206c52c4db2af4de0e1c064523ea9070f96bf76e69f5709a801039ad90b748b5db1e3c36a6384fecab1094969e0edd992b7dd59f3246cc775d4fb6647a7a339cfd02ebd6ae47a0761626d06af3f149166dbe9e7036733d4c166b1068ba54c035eb77ec +CT = +AAD = 11096934e58ac75b56155cd69225b73ef313799f342eb5fa59800d45c3325930a08705291c092ce75706685bd84b27af +Tag = 09d6b1c24f0971a8c84bf32cf24f +PT = + +Count = 13 +Key = 90c62a3bf63ab5f59c31259797551cc9 +IV = f283139447f9d1399e1ba3efb2094a8731c3e0a5658d29b31482991414a697d9418289d3bfc9dc52851557b7edf7a1c310ae02007d31844f93244d183303ff3a70329e964ef28db80a9fe03b3dc2b4124db9c26fc39411a8dac5dfcb91dc917ff2b19b0d3d63deb29a4597c8fb340054bd043d26bef0a3196edf7d198d8ac8a3 +CT = +AAD = 964d423b6321ba10c4dad6380df8fd44464d74fb1be12574f7a979665a47b396d28a710b842c32e2d9d190841e683224 +Tag = 800a21dbacea1fffb88eb59607d0 +PT = + +Count = 14 +Key = 010907d231bacfa48a1f08c2eb97fcde +IV = 07c8e2aa7068ff1b309dbd234b665e41cd0e071b7c4c360d2d982e186503c46f26d96df67fcd05894c7c57a3117352e79a0ac4ff27fc38ca03bda751b8cce841e383c218114a6922272978d4476e22a6b04fecafb17b003d3e0c83a1fbf903b582f2d922f73defdf0f3badf9464455ff0d2fcf7c5999dc7b5731c4b54261383e +CT = +AAD = 0c80cca3e905a024c110bb44619b2e6e5388d2b0aa4366b7e4ce4c9defca8da55c32ad3ce3239d218b2478ca8a86b64b +Tag = 40a4dbd7a54ab5e22232b1e624ac +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 284741432c874de74473e76541d18ec9 +IV = 7b37ba2b1b67d8cbfdfb61d6e8048cd27b53fb138aed399979efc2c6f97c07aa555ffb1aa8507875ee9dc03790c3b9f915a2fac2041041cf70ae8873cf7da9a500a52a3479a27f626505df3c1e1fe7b31fc85a211cd2c67e9ef33278bff52f2db023c0a8a06a601ed5a8b1cb9f8656408ce2f269c3923ab9a9ddbe81ad9044be +CT = +AAD = f1e89803856406a51716f306b324d775eb8b128aa1814a0c27ce8bfdb5321d14d45337b206bcdf9d13fc1d94b226a224 +Tag = 99988efbb94d40197d38c300b9 +PT = + +Count = 1 +Key = 820284c9c9ddbde039f78f94955aa903 +IV = 900274a96fb8212490f273d9937f459fa1ea693cfa96cd54125571f96432bf0cbe57b2d45ab19aa8ce54d0644b2736bcd09f781dfe6e9159bce5bc64c8a289565ab6247992beea0b9989a91297fc2b92f40298f7909cffe7861480d6679ee823c41ab57eba6bd41f758dfc13d53c61a384d65d925ec17e377966e704f2c18980 +CT = +AAD = df8e2ced90eee30b611aaf243b226debebd3b319104496b523249f4734cb06b0ede06e6eea7f4aa4b1640a4e2d983250 +Tag = bb0c9234dcb6f9a46b4fb43617 +PT = + +Count = 2 +Key = f92f33f2fd7b7291ebb40060ec505d50 +IV = f129dd8a5f3dab83f0ff33fd6c10d2a78973cf490168fea2e48f6cb940a12acc686a4c682f2208e7b4e5c4c58a986e7026f751f5f18e713d6c1e5f84458d526875aea82be1a683fe5d08bf374c38263abf6ce7a62df3611d1ecaecd0796a7af435ba837bc5aaced7bc50f3a76baa202deecdcdd57d7ec57796d98bfffefe1a3e +CT = +AAD = 813a4413b30b3ad2379f08e08822cee67c8c819b6d5b025da852256a7c9c5eeb33e67ff55122df12364d804648ce9c8d +Tag = a80fad9262efc7116c7dce0ff1 +FAIL + +Count = 3 +Key = b35d16833bec6470dc5006c4586b8ab3 +IV = c80f1da23c7b49c8f47f8544cafe1cec6086cc48969c23784fd8c307d0f7d900d87179c7fe7925478935e865556cc5f666504413deb6fae4faa0f82127503d75d81caa5e31acde00865dd057c66fedadc500093039d938cd3f1088a80d105dec52b737016fd34c0adeb38228f631236ece9c1951398bdb03a6f6bab343bcdd7b +CT = +AAD = f35dc52889bbdb8d485184cee63be35718cbec166b4e921c57a027b132452d7b0c628e9decb127175751f5155ebe0e61 +Tag = 87dff690d8b4d9c701644f430a +FAIL + +Count = 4 +Key = de336b5f469625c7817044ff0f4d4896 +IV = e64b3527ec6a83d83f9c02bb7331a28229bf6861dd307f3f280d1ca4d4448940af75c047061f4cad1fe8ac35b4b50c485c4fef34098403d713a9c5e2d51b4fb4b1644cbb3b7b8b0f7caa48d3cfb84dba84c816dca2f3d3e815fd05ce5930efabf4d047decb4ad5cd24a920c39dde8141a281c1fc5b92b015512e2fe483ad27c2 +CT = +AAD = a0dda868c19b28cafa2f2dbb2b9e38b56e0dd12a8db365bbaa4cb958f49cf82370abb5f1977837f034b78958773af4cb +Tag = 1a35579c45bfd19ed173f8d966 +PT = + +Count = 5 +Key = eda717703d962f52ef7fc07be419f2e4 +IV = f35e060b68d65e8bd215659a7447e672bc3c6116251fb1278aa8335efd31cb1c17e36b8b7d78b2b923fe95a50e025903f359ada8a254e9ffb265b93a14de3a8766dec75efbd5e5a3b4ece496ef7838b2e9a90cb5511777db703f2fe4c095ef7e893abacda261c5a65757626405fd8caaaa2a3cbf72f91b78d978c68ab31055fb +CT = +AAD = 241bf6001956adc9c83fa14ae40ec0c7dfa03f4af58c2a05dc71842d434e795e6a63be952ad44eeb79db40f8117a9ff0 +Tag = 7ffe612cd9941f3f15a2fee4e3 +FAIL + +Count = 6 +Key = e3bf622ea5c7111a992dd788cc44dc84 +IV = 70b2f0f1b0359335af2f39f37b3c91d9ee28e06d319f55a82c81a2f703285d932ca02c4291eebae26f18f96b65e7a8bd85af89559f639d9d466d06a9439781bcaa88951883050ec1c7ec04533af57b85a196b971db3259f92cb9c28f1768d5fee02c4687d8485ccc61c9f1629d1be620dee3737fba19326752cea5faa6700c57 +CT = +AAD = 5f620601e59455082e4ea4abe91ffd63cbab77ad2f7b4f05d49c91724b9c9d3047fb571b4f613db4d85b2200fc22ebf7 +Tag = 6bff0c4412769a992f80898a3e +PT = + +Count = 7 +Key = a029b15dcfe6666b5918d43c01072d7a +IV = e92a03bb73afa7526e6fb5f5a5db2ea80ffd16c5cfd9eb9d7f3513545aeba0d2c98cf23b4779468f26d43153b752ac20d973b2c97d4d79d255f5c0a60400974c3d04b3c921873452880501d44325529fe23d7f6364b531022bfc61edb6b77190e5911a8da883862996f0cfd113f359810f1cb197c9f97bcff29e48667b935766 +CT = +AAD = 9036dda425d86b2f63e83ef12bc7d67a5bee197be7d4da351e2c0d1513c574b12090cce85e7ae0934e10ee8ea9bf0e34 +Tag = 318faab55370002bd4746092ad +PT = + +Count = 8 +Key = baca7baaf2b82b9f01994e338040f349 +IV = b25450718c5271fa513e6c8c3c19c3927e13c332b227f532282c0bcff78d0393c831164a420319e7874eba6ac70e41fe3aaeb0c696b79706b81782e361d7d87626e2821d4f54c84f8d96c289c905e520b322af512722a89befa8d338b287b6045973c06e3f6c1b4e5fedc72c857076ca286a11108ffcf9dfa6727ccc2ab8a64c +CT = +AAD = 5cd62146e150f7a31c0718c16e5c0e95967cf9a01535bb5b7f139a8fd1aa348e5a144f97db805fc692d618dc786e2c30 +Tag = 382b042a6a95b74799a47f62dc +PT = + +Count = 9 +Key = 7e6f4e05ab45dc3f112a96dea0f472c4 +IV = be8b0e65098f329f862e2d701842904fb402e35afa26427df3fbe75a65dfee0ea6e004db0568d9990cf28a295e98c5251ba7527913b1abe8da5113bbcb0d97da8c9ce88f4870e7c76e8e42e82f6f3f7921ffbc1534b447d5930841a9751d37633e6402b0b5e538396aad3cd3cd6cdc9f5623bc91c7adb7c60b7ff26c4943b8a8 +CT = +AAD = 5500034798861d792050d19dcacc4a0995c721d043f614f2e587dcb91b88ad21c43ba45fb089c9dfad7a54d2e5ea6628 +Tag = 2fef590ed1aaca84f956e0c9d9 +PT = + +Count = 10 +Key = 211f9d7aaa1fa5230c994162c7f14747 +IV = 0ae7c69e68fd528fc311e9f696356d2ab45eb14418862fefceb3ddb6630124dbbbcc1a8b4988bc41b4245e16899f5ac484b73dfd288332d867cf8db7113731b05bf3a060e29a8b1485c8805ab669a798a9a0c874dcb144c84cb56d369aa7eecd2d555de7cd6c6f62530d2ed43b6e562560c8f81843ebbcf1081c10d34a196e35 +CT = +AAD = 777f238a97dd9ef7371839adc3ba5328cd606eb3ec46ac5abb784e557ebc937fc1fada38228c6d07682690993a68358f +Tag = 704cabfd80f108c322a381e7e3 +PT = + +Count = 11 +Key = 2030ef2d3c7af44d0cc5a761510c5ac8 +IV = 417f3d52d1e093e837b5fea9bc1e57e35028213b1968a31bc6177b8e288652a64197153faf41028f5e06feb633d08240ed2826fbca4d2384a3d67bf85712a2d6edd5811583cde321f5f8b41cd656ea763983862d159417da938907726a1285e074731bf29552581123f4625d137134e0b5a2f733c1d3788710c4e5a55dac5ca9 +CT = +AAD = 82ca89a1a5e6f1c45aa05bd95c9236732e4ba6c9894ffe9546dd0c15a90e2394f3db1b6aeef68ae68a1340f73256aabd +Tag = ff4df34cfbfe138b28fa475953 +PT = + +Count = 12 +Key = 43bf2517dca087790145fda488cded67 +IV = 41b0c874b49bcacabfed91cab4a336ef6b6254f9497cef420b629f9b6306e10776492931b230fe33d2b01725a34123bcbaa2565065e34fd85b6655994339ce5a94c00cb717f7163c4317038e849c445a1def8a6819c7ca554437d4031a3f8712304a40c6b38915d80b16447f96ce9e59d82b65ed3f507fb6eb0dda497d856849 +CT = +AAD = 028f1f3575f01861372e6866c6212eb26dd1b249f47e7a8253a917dc0cf1da3d876668dffc953630d05df74eef41952f +Tag = 8408afb275450b4aadade52d28 +FAIL + +Count = 13 +Key = 2b350ae9a3660da10597162c94886dbf +IV = 96825688c1bf646c7e7be42995582f6a57349eeeffe8fa22ee5e68ba24b77ad297e6c0b41470d745fed114ba8e1d7edd1913661bae5a613e88a7e1193ea5c24b19e541ae0c10ee13a03e660de7d4d0776f5e5926e0267eb798c27f3d8767a9f22869f9c224763fb3e131c5b6d6022dd1fa214b95f7bbb03413fdb115cf238e40 +CT = +AAD = 2aed65f5648b9b5badea34698c9b5565db9060aa551a6c1ebb3b8862bc3b637c2b3774cb91831efc2b29ae7a4988067f +Tag = 61f1279323517073e95e2012f1 +FAIL + +Count = 14 +Key = a6631bfc41ceb62c9fc33546f705b961 +IV = 89a9382d2ccdf9ac026a3fa3b9ffa58a5e76574e3d85c21907bdf4f9e5e89a500cfc8abf9466cf0be64b414642c7c5987f7a0d83d2c92925542f0c6dc57f2cb1fe90af61b765c0b8a04ed1215011aa9d81ae76348a1b22b4fbdd0886c8279693a8595be3433e4ea33d754017dcde8f1073203df1861f85bdf0be2504e2c6efd0 +CT = +AAD = 24dbc4c918d889bb62ec7dcc3b0a942679b64eefa0e0aedfa97bcff111529a59b1515dbcfeeec9a0838494a5a3fe9b43 +Tag = d98b0298e71b33a1b43ca4f872 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = b0b35a6179a58ce6893d55fe771aa6c7 +IV = 6ebd1c5f93505636315759e3a1001453947ba1c24dd9473259bf7161582aa322dd131247b5b7291c859894a70c489e2cc56e8a93e86a513c185917a84d206cf2b8e0471f569700caf3c9a24f72e902a8d84f5357044ecaccd25dddbc245449e77bf4a17611dcb516aca3725b1ff5ef72087687d67e9d2ed2f62b4cb9b6ceebbc +CT = +AAD = f2a03bec7526ddb5525e5b28fef33c8a613f5d6d0608505f7b866b5f7deea1e2b08514f0fd7bd08fff945daf8d861e15 +Tag = 65e791586f7dc87876cf8691 +PT = + +Count = 1 +Key = 827fca9e7dadaa427bae3730f450c2ed +IV = 06da3ff07a640cf0eb7cd45a1bb52c2c1bb5c65386ef7d6edf34b3400e006c258fe52f1ad4c067b661f8aabb7500155eef2daf4be49b20ec90d4abe079db6b679879721b0c53621639d560fb0420a1961e82459c48644f320889b95cf90a4cdc0275ba0dada97c8f8c85037b4c48c03f114ae36dcfafc35957614d91e83a11a2 +CT = +AAD = 3a1aa2d275436f457623647adc2ca6c644b58d02b4b041968c32fcfcdeddca1800c20f588c303166194d6663113c45ae +Tag = 66746f1d5d7579afdcbf19a4 +FAIL + +Count = 2 +Key = 453abc903fee04922280b27838158957 +IV = 61ee64ba5de5f1eb02dbc60a6973b3bb619079ccf5e61dc04275c092c909a35632933a03fdcb38ec3a70c88f8ebb62ad7f454f38cd61b42b168254f9a67636145cb3a39b8d0d002df23f326ae617d26bc2dc33fcd89218c6fbba34445ef3a6833fdc864515d05187334493a130df005dca7bed5331a138dfa13f3e76077f5fd9 +CT = +AAD = 47f0c5eb0a101b73b74675d4723c6cd82eccfb0ec65b3dcc10b7a2a81b7cf5ec6bf7c04345accb827694a0082a0889bd +Tag = aa38be2e514fa9b3748769a5 +FAIL + +Count = 3 +Key = c0c080c2a6d6ad2c7bc2470831386f1a +IV = 9e170ad65299931e8497a03a464af34a19a5bd33c5358baabd73151e04df65a2477dc75113540279a147bad673599643c0534dc1dccad0b8defadd27d8b061ac9b455b1ec4b2142e69e3a9de82b303f4c831df9e4404e341aafc220dc013cd4f6177a2bfc1d90d6dab91a8ec69a9e6be6f1fdbda02a225946aca951fe80b481e +CT = +AAD = 289a47b9b5a695e649fef82ebdca2e414a6ddbbe2b70b81a060b3dc13dee711fd415f7c4c8c307d5e6b642d36a5932f3 +Tag = 9a21622c7e1ddec2aa55f66d +PT = + +Count = 4 +Key = 5c47c7a34a5a68561051bea4ec30e62d +IV = f759150c2685c9c84927e778e18ededc418cfb944625bbe55f363e416b2d576ec958b9c5f88be87389eab61cfc93089682f3fc8f5ff06138ed55915995c636dc93c73a7dc5f6415c6fd04f1b1b92f95da6c1873b21014d1ce4a5e0f9388def4344a740f93176c10328f89dfad8403f05072e485ff55d49866767ddf9163ef17c +CT = +AAD = 708748748aa22056678247d18072e098368556d62aae84ee3c3962ea5c04a11382d24f2a85de16eddaf95d7da4938384 +Tag = 26fe27281b670e7e2c384394 +FAIL + +Count = 5 +Key = 89ad585dd9c551b1abb592a8bc6bbdab +IV = 306f5b2d71c900f6a98fd9755b79afb489970fa0d69cd86fc3389abbadd19e49dd0bccb4a12431c8ed34673f0b1cbf46db6ed2685175148840c2de22eb5da6a0931bb905e01d94d4184007a2def0b3d8053c1e18c83515ebc82e4e2efc495440063902314dd1b68d9dbc5222c118b568106019f5615fd2fb98ae5942030c89e5 +CT = +AAD = ee4721800f9745357e580c2cc4e0fd4f19b027e3858b6bd0ae40454e02de520db7092d657f6879a13cbd3f56b8ccf98e +Tag = daade8c2a6c8bdb501897307 +PT = + +Count = 6 +Key = 16e3244795acbe9be02afcc5a871d4d3 +IV = c0d723037b59c722b1ec9ad320785bfc1ed1ce80ca5a47d3c59c70418d93af6a21c3df430c9cafea6abafc9161a86ad0ffad4a35f99dc43d2f23b98ae9214c6be89d3c4dc049252d2b03898cb34141696c7213bfbb0def0bf362f4dd58670ddd3c92f873ecc6d2d1f7815929f6e863ec39efffd10d449135ec97874b465c1265 +CT = +AAD = 63dbc41135e1edd7b591b268f77c6a07b05696c367b3dd4228b3271b75c17d22ed17b7647344fa2bdaaf3580031fd6d8 +Tag = 8ee81c43f3f93edf1027addb +PT = + +Count = 7 +Key = 77268e753822be6e3b269aa52c892b48 +IV = d70ceb3310a9435becd566509eae6b2e9562031be087e66da9aea1e1d426bcdfc4fe37c35da9e1dfb2cc7c8ad8b95adc1a18338e3b5dd9334aef56049076e8c05fb97a50a9517a49f9156ae46b0411d371d12cac3c7d072c98873dcf772cef96f24aeba6e6d4f1c23507c5f85418368490e1e7a16cea6708b6efdfa538c5b78e +CT = +AAD = f9cf126ca287ebc0a33aff3cedb4eae7728796563b9239a22fdbc05cfcaee53cdaba616b2073ea38131118fe2eb89c8a +Tag = 80a20c4b3804fae769391847 +PT = + +Count = 8 +Key = 7bfd5e9acb5afc3f4c1385d9f85720e5 +IV = 7426a62136dbd4b155f230590e528f9a29cf0dd8da89f10b6ff2f12fee97206875d83cee854254b319aeabc5b73f8840348f3efd54c8bfbfb2fd7b07f3d90307d7457f783f30096f5ab5acd6febcdf82630b09cda07982843e1cfcade4c5c3c265e468e172908fbbb453f79da24f3e83e049dfb494def4b7c1128ca01415ffc7 +CT = +AAD = 1b2a87bb5d5c4f048cccc61e920c4fe27c448d03e7ded7c98428b378f927e8e03a98d21090d9d5257e360ea0e24d199a +Tag = 511ed33ffa58c7cb911edd49 +PT = + +Count = 9 +Key = a2286dfa21e844700081a3aba68afa5a +IV = b0fa4ddd80fcf1cd5bd8212f8f31be9893de05c7973304bda03aacd5120c7f96edcf3530c4058eec5f88a77d85d6f879b8b12052ef51eb58ff7fae67bb36c2bbabfc713c7f0145246ed7d8070d2d50d8cb49e2b651ed71f78a865abe47399d6ae00f9777fff70d7924fb18344fd72d6aff3bf35a35af0e55c04db66200467c70 +CT = +AAD = aae82d00399dbb33f1fadbeae62f43a035ddbd11a488053c28f39545eb2ce42cfafecad0ca81ec18eb8555dc724d17ce +Tag = 0c30ec9e410bf3468731c190 +FAIL + +Count = 10 +Key = 5fb4b9ff34fb48c4bc93f3531971aaf7 +IV = 31e5b67e9a1935e69b0245c0699c0e030da0236f381c9c5bb72247f113e761ce10df91d1296e6d1b65a8e08f1abfa216f43722c24fe63934d3a6bba2861c89073d9f131e7a322b47bc2026b20dbcc7fc6dab8235197d427033bb74d0c2cf0ae400609bf5672632f2567e13a86f9f2d80d2284a6a5d04032c9558c0262a278c1c +CT = +AAD = a31727c34a18be2e7d62d43c59929720d005ac320361b2304e49f5c46f689b9510b491d686e3c7b59badd207179d852a +Tag = 1f04c7a52e5367de8f811125 +PT = + +Count = 11 +Key = fe338134a6bf5a742ff6fa9bb606dd3a +IV = 1c5ac34f9423efff6a7df2970febf1f332f296f13d22ab9a38ad8d868f39202aefaeb1b6301e45cefab13b3eeca4d3fbfeb37b49fedfde94b53527b6b83a7d391a1286c9949146717ed9a6128b29a31649f1ffb310da48b4e4b257d4f9415d2847cd2e659dceddac983ee71f977fc229df123a52a4b9027459a01b955fe36157 +CT = +AAD = cc643d786bebf39b66afe093772c993a0d1bfc61be6be12153a354f68ccf73d3fdb0f27a4caa4f7ee2c81b7b1ab96a84 +Tag = c847861040b754e6aaaf88f7 +FAIL + +Count = 12 +Key = f435b6f18351d18ffb316880adc75dd1 +IV = 5ac79f421c3d34f64dca56fbe4544d14ef17cae119a515c4f214b956848ebc55199d72f3461d74cd47d8d36626671ebcb53f15d9cc650afb59d144e418ba356986baf3159228098fe81f94545a4f8e1c6a09434a8f5fd65d0665cce7fdedd0c0b147d6626e22dfbf974d130dc71cda431befc9a809705e8d1998eab42e752d5c +CT = +AAD = 38d65793687dc8d8152c4e417e45f8bdf074fdae194311a8eaf6ed8b5bef5a4449f7b5add6f83ec12db94a0025ec0fdb +Tag = cfed10f6aa8c6113d4f90581 +FAIL + +Count = 13 +Key = 3e2b7533835ac58ff8b6c04b318df9c6 +IV = 3a34085c626af2e55490efd58fdb21298e652d79e2939ffcf4b4a5551c6e202e04c5eed352abc168bfb1f58ee06b46ffededd5c439abae8b10750f3657f62925aef0eabdde6736888c81f7d4c788c0770e254ed266031fc87bc089d86b8cdf0f4dc145735854ec0c92c3b613b7580853d2ce0cb7ce2b5c972b91a3eb793d9291 +CT = +AAD = dca360bb5284fc328d620eec413224ed16a904dec779121301c9e2fa49459574126731881c2ab5c64ee361c9b6b5ba3e +Tag = 259dbe864ad6c595a87be4a1 +FAIL + +Count = 14 +Key = aeb8fe86c1ee6b847e52d6c0d72faec8 +IV = a4055d4ae69f6d3b92571a7334f42142bedd1d0685350359df3227867eb5a53640fd82ced2039ff0f8d3d30ad66d34f7cb419ff5153cf976d4b7b0be2b8b66506f8881ff4e1ea572ecafefb15d948c7b1c0d7ef31bdb8befaf807b0177a7c8a4e6973957fb252922da69c4418d4feb61420e674c3f1b478e03f2af403114bef8 +CT = +AAD = a41e0e7b1d782c16f7183f3668f7b01e9bc7b6b6880e0caa2d97056a9553509ed3c40e87e8c8c269c5b6cfd7a8414570 +Tag = c33c3b2fbc35c59d330f9b95 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 4fed977841fb853f9b0e33823c918b76 +IV = ae949a82c9648529c386ca95b647f24434aedd7d0fc58db0c1fec7b1f6f9f31b9c15102b155e9a4bae345e709dd51feb029b32b9f3aafd3d9277a52c2d0391a1abff94e0b85a64e17814fb18b04de5b7730188f6f5f65ee242af0801ced31364a698aa5cff3c9a807b3cb2798d34602020c7835762d54f18770b3f9a782f87dd +CT = +AAD = 1d738c5230178caa73295eab096b92abbfa6ffa9d6ed3e1dfa07c32518c32af5781666f55782f979c14e32d06c436601 +Tag = 8ad08f62edfdaffe +PT = + +Count = 1 +Key = a1b495ed2bc8850f1f5c6805c416cdf4 +IV = 3c7d109a7f69282debf111e81e6b2576d17cc824aafb31d956afeb099c08f79f5ebd2f3cb19450977f9cc4f13dda9d882ad7d57ff2783adababc19bb55aae170b34e26c265e5f37ad124cace682b530661865ef5b46169269ce5be076a0e3f37dab58d39efd90655c4247d9b2bd50f5d43d67f08c5454488bd721ed3ad5568ff +CT = +AAD = 5046be276c1d9c6210ad373e95a70e459b402adcccfe8edec814edb952698537ac78aa7186141c68bb927b93a8824261 +Tag = 249c8b4453e7baef +PT = + +Count = 2 +Key = 39983b776222edc8ee3e361c4d58906b +IV = 1e6daf6513ac3778b69bb092f3e342b8ce8b40fb88a2a8d6a649ec59613b6392298d9f4a39c2bf227b5032af9fad6d02bbeecca8681ba942f989813bd5746d69e5f7f12631899b544c5c750bf43f85410bc481440ad920ec1acd30ad1b4c7248311786bd267fcc35a7dacf1080ce96f97bdb7be764b378579de74a71201ab044 +CT = +AAD = 3e76932038c08010fdf893b77739192c19ee70a6b195269fe704c2c1a4b13ab6e24d999c212cd577fbc399bca29c5a69 +Tag = 18d659074871765f +FAIL + +Count = 3 +Key = e0cad1309e8b3cecd8b9fcaaf7cd426b +IV = 928fdab0bf37097d936b086ca3c3f9cdbe89c1f843947e5d9960b617e0512a0567fa5889570e24fe393f379e86544206c7a8eb6a72f41da54033854aaa9fc25211ca8b040c3aa03b37b9be1b227580eefc5d0c36a4360c0d517c7b9a5c546c56d001f1cafcab65a6c25c705cff039b61e52fa15fb45fbedef1fcbc9a9f54f306 +CT = +AAD = 76cbf0bab9dab7af6a9835cf75c89e6600e4aa74803512d0658e453584f264f6edbdfc81ec07ef6bb971b3bd7c79e622 +Tag = 7c638e80bf97b66e +PT = + +Count = 4 +Key = 793e67c62b93dd80528862eb36c8b6b9 +IV = 003f92e21c02b6fcdc8a2efeef194894109abd55735926675deb226060eac7176a8c1bfaaabfa89b0a29c30ca01bfbf6a4d43deec5229f0f9427945c851aa3ecee23f5623fe8af50920c3064b31a1acde4f1554610bf0a34109e376bfa7908390a0bcadae891be9a818a335905944c891d09e29d38fef0427e26a78c29f48111 +CT = +AAD = 2751b0436e0fe98153ec48b4db5b56034ff6ae3adcfdaa1e4e8dcc296c0c8d032bd55af8fb2d58133ce11348d4fe693d +Tag = ed91f0851d2bfe2e +FAIL + +Count = 5 +Key = a54f57ada844298e0e5f1fc53dd496e8 +IV = d61e588d022676da13a59cdc2f36792f4b2e307ef76fb5b57a6b6c84a197d150f226fc1fb0e545dd123aaf0bebc60f143babad8335930d353f93b255a9fe520b774817e3fe910430832562afb5a67ad1a9edb4aaba1fb23b9a780eba74cbaf1bc47a244ebd4d67c6515d8ab4bb37e69229b7004f645a5329efba8e978a921d96 +CT = +AAD = b5937af993a5a36c1b8a7d988ce0ae3cf71ef9311c958ba66e5cdf5de3eab0a1548da0efcd4c49b4387dce0cb4f74f87 +Tag = 25a0dc406eaf94ab +PT = + +Count = 6 +Key = 73d6d589a77830e2759a852be6541b4d +IV = f7d9668df79c8da3b12ec8f79a26993945ca319200f316a7993274e7f2320b400e999c95515cf035516e0efce9e1e720bf2d9045ee2b8d30e7445240e927935c82c6431a17d68a7c839ec275a26d76641aca435051580269af4373a7f5ad031ed75f6b1b67708891da591a28f78bcfe60f83dd4d3a92e3ac9fc923d687f25cc7 +CT = +AAD = a05eb55b75888d93af1ada203a15bbb1ebcc368697c8dad96a55a655513edde71e0814a3c5fef9abb13172a859a8a2bc +Tag = a2366d0c46d91139 +PT = + +Count = 7 +Key = b0a8540f07131c9dbd9fffb1e5998f11 +IV = ce54d5f046cdbd6ac1664f48daaa8eea89c89eac2447a6503dc6a04fe00e426c3439849e9ab9639dc7db5172c3debbeab618525fc9ab8934bb7c179d94b1139ac71d3ed30d5b7840fd3ead021d120f161f8c772f26db3bbb0470ea16c294764f3c26c5587536914cebf8b5538854a06c261307bfb3eb2e2d4d9c003cb392e966 +CT = +AAD = 5afd766aff01991888b60168a75e730846d513ad1a382aca3010c57dc204b5e86ed2b2b0fdbba79a1280012e65d32fa8 +Tag = ecaeb1b97a866b28 +PT = + +Count = 8 +Key = 7bcf610948cc243df8a2b75d21820aac +IV = 1cace9ad6f767b0d2159eb8e43f232a8854c8fd14f08ecc32f135e0b37c85bc7f77b5ebffd6f181a36198817cab1c0d3029fa788cd7901b3e5df15504bbc8d2b5a7620222d9579d946cbfef19a591cb4d299f806f4a538393b460f9e8ffcd839a51b4bfae8e4acc90df1ff3c360a29cb2833c8df8065e6b53845c7117f31f25e +CT = +AAD = 2b59c5f2174215d74244f16e52aeb2a52bfabd395b9bc95bd15419adba8b0fcf5767c8822c0ee53523a91ceedb92942c +Tag = 1a214a66d687522d +PT = + +Count = 9 +Key = bc485ca4a5bfec1b9ad58fc7910773fa +IV = d679f62fb7212aa0fc9a274d22a24a3a2e896da063d8d821261249d6d59a610dca9dbbf24169e0a9c0fd66566d59f88224ff1283dcebf24645236326003012b60b534e3e166619631be61ee97e441bcfe356bcac77937cbf1c64e71302af1f144598e08b8be69b52d4492fe222b27d5a0eb4811099d01f200bfc53ca76f931d4 +CT = +AAD = 4c892f5ea46a3067d32885fefe944fe6ef298224a2c07f68617ead4c1473edd8798557cb84ef7f045200f1999c211c54 +Tag = f9d5174e6ae5e485 +FAIL + +Count = 10 +Key = 78b9c1e6877edf576f467c29804954ac +IV = d366d3887314c33eaa4b5e92e140231c1df07cc62bf86dde587bf1d7a900bc95ecc3a9262b1b5d8b99fbe91714e3d78f14daa9ac19078b7679de40907cdcc78633ae15a82f3415b870c83b7ed4e158db579bedbcb5ebc5688c8a9e3f09ecd375550127306bcfd19dec749c4b28a17c205d6089a79b32c6cbde385519236a7c8d +CT = +AAD = af1a9a7c3b7e5de26363e114f79a8a95a23fd42f6090cb2c4f649ed915e30d09cc73b79d8f520b6a3b2299487359be48 +Tag = 576c8b83d085980c +PT = + +Count = 11 +Key = b5cf7f8290c390ac219de5a3386c32f6 +IV = 35f7c43f4c81a53c022ae8e649453e8ef60d7a9e1c0ec746f3388e5cc4c5ecde287d3601dbc86846e0793ac72108a4536b480fa18effcc312a62f6f4e614603609a250095ca5b00bbfc24e5dbc83bcecb488f755b624eca71ad96d94dbf4c22683be1d91da5ba85ab3964c49bfe425c03a7bcf7f86e5b79bf634c2ae5aca998a +CT = +AAD = 6723c4d9b93d0bf75e3260337cf7ce5dd962a9cfcffed68945f8b5dcd77b6308954947e1f11ebee4d6f79985ea1cffa4 +Tag = d7ed1cff96f02ef6 +FAIL + +Count = 12 +Key = 0b16a8e95cc729f55fbf86fa7c0d15c8 +IV = c48eacfeafd38ffb45ba6bc27f6e9a26760c06bd664d0e062f3dc45df556603846df86fc8277b916f6b6d769b423416c3a632222adc4d086b0141b798c00a2377c056ca07138580c1d9abb5808916b25c2fb752942e51e8e8713c7e83459793a2d1d49626029bc95a3200aa3526296b53dbbe8ecb034b5bdb6e31822fc5ad002 +CT = +AAD = 795ef7520562a0b6655d0d0382bb894adfe2bcd90dcbc832b0f3e3a6695d73d7df7a5fe4a41362b41ce2ef766c780ca2 +Tag = 501c6aab780fca8f +FAIL + +Count = 13 +Key = a5a8540da906faef3d7854b8c159a96f +IV = a3171189ef3946b0dd05e9c739d1d75e9f90b5e80218dd8fbf8660e77a5bc670caee947ce04e6496543358cbe9bf260ab9934f8da0503a787fe8421e93db366f96eefcce0a04c0eaf316ae5c461c0c9f379ca8f354d0b4c694133ac4dc1dba8f3dc1ef4a3f73c95dfc32539178df6b2cc00f700378783f58b3a5c0ae3038ace1 +CT = +AAD = 7a21d745f8ce44b26eb1525043881b84c11d5706b6c4ea0cdcec1941929c4f3f9d6594ab1a970dc9886e4436d21e814f +Tag = f426f11c1dadd5ca +PT = + +Count = 14 +Key = 74974d45ced5ea8f1f74719572fa85a6 +IV = 0628a941238172e8edfead5352e8cd9b1f0725416578d439924096718c3022e6e734599438fc6021bce2f1c3c93aeb9fc6e7eeda053540ff71ab1f3ad33a669f625d1a155ed651aef7c084da4f316b02819767191b2ab082e771efae2ca7def77de93d93009fb0b5a52ca6f1644d3395281a1e34024d8b613ff55781b2df0748 +CT = +AAD = 10f30d6634b89fa3bcef3b309a51281fe31cb48e06345bdef797258475cc37e85964f74e47d9bb7a32971da17f3745a0 +Tag = d99daa4a2606006c +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 68a7f68bf930f90f52db6e2385ac6d54 +IV = 6a615430e644648de5890bdf6ccd18a3f11b3b6d38b8bc32455d39c092deb789c5c62cfe1faf06b2f01a54344d2a998e574379606b8ad1dc9647f55a2083776f1e3295410107bc052bc068eecb3c46d8f157e42fe920688110738e1aa4883e525253a275fc3096f74de9fb9442a4ee3caa60c137c26d996807af6b972d1c22d9 +CT = +AAD = 56524b476cda38301371b5c418b7916b8349c16b6c6848dc7e534149329f540046f5c01026fe13237f36edaa75982d4f +Tag = 0cfa69cc +PT = + +Count = 1 +Key = 4c890a2ef0ec5b67d091921ddcb6f388 +IV = f9881c21534492dac3aa99a6d9fd5da2b453c8cc4a1c447d86f99d50088e1837f982a060c220ae0738c6bc9211ccea522f978217ee0896c9921ccd237b17c6dd1d01a3f8b87a31b060d2c3507b435ed77f7e48cf191906401b9d821df1abe6a46fe0b0a2d1a6ce57b5e04ab223aef87723bea93364cf5e774e15e883b03e8a2e +CT = +AAD = 9d6f81dceff768324ed1bf49370ce7bd9e760ab63df129d4c8df340eefa74fdb3ceca47cc0f794a7625507beb7d9a33b +Tag = 7f9378c8 +PT = + +Count = 2 +Key = 11b66a94735c32941405ca3c03b54174 +IV = 9d99ec8909898e1e3d968a838289f743cb1b32bf3b6328c93c204cc7c8c161df0002a90503190e54737e0366d3d5874052ac88e474ceace04fd82f7a2b997eb97a16f9fcf627861c2bf3fae71f7b24136bbd44045be0930da70b07ffb3bba0d4f6d9a479f2b01c1f608256dbc33e226df6dc38ee6b19059c4997eea218191004 +CT = +AAD = e23c9ed70021fccc2e7202a6ba942609f88766de5ff025bef7d325a362e3ab3768ac8e73c94e4c7894f3265142181f93 +Tag = 729b3fd3 +PT = + +Count = 3 +Key = 81e5e392f53ee74a95e77017a81e158a +IV = f25114b35c6a5d3c0c28353ca96535fef1c19cd8134490fceb3ac440b15c8e1f8f43a12486f89a170868f63ac55688237959294b5354472d72dfb16e6d5556ae2ff66bcdc222c41ea552df64d1e9cff4f4c9076a7e8d833987ec7fa843a204d17953c56e3dc427e2659bbf0e146a4344c709f45bb2191681ab1e32467587e6bd +CT = +AAD = e796a52aa87db4591812a21c7564be447310137b1e7ff3bd9676ca59c7b4a3c4add3bbd8f14f0c2cb5efaaa27ff8fde1 +Tag = 16e71f2c +PT = + +Count = 4 +Key = 516f370245452924e6c4a6ca5d6ec512 +IV = 88549bc9b87f63441b70d00e2647d1090e0bbe78385f5141969a0706506170e1fca9fdcb36882db0c4655056c0ff561c83be55d57696b43c15a35f2739298b960053ca4506ac9c79ce01cceb2be51b83f4ecc6070522c52cb017fe2186448caacf7ee2725ec5ca398372dfb86b075a6e2ea848aa872c139c1aeda5d6d4a9f250 +CT = +AAD = fb63cde6212e86dd48793bd3d2cfacdaf38032f15c3b180ca5772bbe856a280e4d34322e14eb2cd0af74a746fb75932e +Tag = 85225467 +PT = + +Count = 5 +Key = f2f826f4f2c96cce560e7c6996142ca7 +IV = 8de116868738fe7a6167b249548231e805a878bffe123850c4835882365c06d1d3003f65ef1dea446a06477c9649c8194deb680cdf3bb1a76657e3e4e23be8160f6b4c3e5acd1642cf6e9633a130b7af5eaa607ff5b3ba38397d4d3407acc53afe94f5769c6d323f5f9677295b0fc32252049b2b20b69fb9d653091acf19506a +CT = +AAD = 92188123e9c7c2a62f22397e17bb41fc3717391294bb1596e78879f42abb0856c308d1c34600e014990b3b6180eb1bcf +Tag = 942c0892 +FAIL + +Count = 6 +Key = be211cf1da092df0be1089cfd502bb52 +IV = a5e9b2efc86d576a0a36c200e171361b77dfb9e49365c290b63796da20662db4740243297ba23fee5a2eecdca51d080a3268ebd3fd89cb8207f21302b7c851a31c4d32c891c597e8aa175417b4273dfea44fda1ae49bc10fd1a9f308d7f375c6cfc70889fb87b1228a026befcda85530cdba8343f46678def2065d3a81fdd3d1 +CT = +AAD = e1f10e44974a482477a120c81466d726c8928b92fd08822906745fb1fd9feb872427bd20d6eca7dba601864f028d41c0 +Tag = 62741e86 +FAIL + +Count = 7 +Key = bc6a31bc86a1d5c05ecf9c287bb01026 +IV = 40ef76777e422c6c589ff447cfc8dcedcc6189f847b93b69b79c3f687e0f0023dbc28bc951a510fccef32e4820be5735ef3f92e04a53c145a1c81def63ca9819cae29f0947b08ae69593b3451aef6e19ad8958b336bb7c64ad77475a7d8adf4de92f41ec8ec1721df9b7716cc8ee2072f3f7c818eac4769009861ba82da5ed1f +CT = +AAD = b83becf0a86c8fb341362e4ec2bf92a664b7320cf63add0274c45d7c37ba9234241375dd11201686d6035f0f8f8a1174 +Tag = 2bf3bd10 +FAIL + +Count = 8 +Key = 95f6e711ee24aa96adc63c7cc11143ee +IV = 6c2e23a737bba83ddc99f49600b5ddf76849f8ca2bc57e43f8126f07c8c2c820341fb031d293d62991f19beae48fc551019f68a0071caa41df4f9a95a383927218ab5014b6ad839771058667392772460f0009459a11f2817950e9a3ab3c316ad5ddd73a150d567f3552f38a470fbfcf5a0a8270321eb7a14632015a369ade09 +CT = +AAD = 14cffc88b42aba965d1d0efd9a7db77aaf9611061c4ccf0e00f195c4753979707fe49a41efcbe3a6ce411d23bc70b01e +Tag = f5332fb3 +PT = + +Count = 9 +Key = 5e23338a11a6ded20ae847a06d59fff4 +IV = 8320b217625880ae7e4be2a1e63bee4bc8d4fe1f388d9e720295f10569ec7189ae01edbddfd954973019b99354176f7d7010dc8e2e86bf7b42e35734c86f8edc80b1ea850cfb80146c1f1899a16c6ac2c09cd3af3b185dc87de04f1f79ffa418b04f4da993d23afef72f20de69be5c33303e8d7f2d6170464f8a313234310648 +CT = +AAD = 81ec5e7dc41035a56a081ce6f009e624279454844d4f556c5ab424ba287ed9cb92ec87872adfcf5d12b6a0319c130b81 +Tag = a09c0d05 +FAIL + +Count = 10 +Key = f90af9943841548cd690dd643010af86 +IV = fa0ac0746be0a22998ec9d0670ce96f849eacef86cd52b5c1a95a125d8cecd9af23067d408b45c106ad085ee5cccf7fd2625880feb72700a2636a3b92fc63a83b5ec108862299d0409bf634db0a4ab23a5a7c8dcfec3b488037fdbca4a93cbb5b1574660ceb65319bf772129a4de211545fb272487a6079b27dd2a2085704b1d +CT = +AAD = cb20bf54db0948e1771080341a4c298aac9e9717c647f79810088e88ef8fb28f63b628e09bb622f6142cca57d7c32ddf +Tag = 5ced85d8 +FAIL + +Count = 11 +Key = 2ac88b36af6ad917082b79703396a15d +IV = e27cb24dace92ef812d4fddcceef5b47f903a57800e71e22e0a9ab0dece75b4feb72d976904e5be68d3bc5e039e0dde037c833f6d6012bc83a164003a7a2c89b313a5d68fd573f5e899f04442911833d951148c85f73fdc25a7f1f04adfd22bd2138a652e8e5a6dc4a932717b2e5d80049b2b8e6d676b0486a03d3631667d001 +CT = +AAD = 0040df5a5d1e75b90dea94f189ae82aa291806d6863e07aa552e27a9b1f618c43983e85deda1965569916a44d8f484f4 +Tag = 78a02da4 +FAIL + +Count = 12 +Key = d96ea3b75bc6d7d9f7f213c147f1c1b5 +IV = af154fdbce4850e0cc9c191d322d0f6ca15aa720c30eb8dae4cb45365e866580b5f7af9b29c7dab23c357da6c00d4b1c60a9fa1f852cd670ed2cb296e86df32d6c13d8082ce89924c999e041201866fe4b48992ee5123066af52f371496c3cccb6641b23007876eea3e0e5d84b4c98ae99b258862be52e72101515226b1d0a18 +CT = +AAD = 11db1ab98a18d6b86ed2e2fd5978d16247535af516c82c878ecc846d0026973b1d4056da9be7fdc8de5ba99a79f04c56 +Tag = e79e5d34 +FAIL + +Count = 13 +Key = 586d5308b97107859133b9844892ffea +IV = 832e17ad532d4625c561d3d16bc4a4cae29df13079d8d26a62bdebe7edd403aa2e889f1cd01bbcaa9cdae135de8dcc948eda2a0ccd30ffc2cabe1ac45fc0517d9ebdcb42923971a69abd266b117aac3a631c00123a4fe151aa9705bfda09f57af2e3cf63554faca6481ddd25f1e4658bcce07754938984fe5d24cc961aef9606 +CT = +AAD = ab7b660df4225daeb3ca43630d82e9906259710fe9157d594611f87aa4d4b55257febb3d7108369160cbd600513e7c8d +Tag = d29d6651 +FAIL + +Count = 14 +Key = 69985482b057af0bd07701f31b55efa7 +IV = b67076fed48f7a0087ec0bd06e93a5f1773977f73ad5db7b0c201a62ebbb89db8f318985b63307e1080469bd1b6c02af04ea5de3fe2f0b625e3a20828ffa1a8d3062799cfd1aefd3ec05c3081cd81968d352b307d7b7459562fa548d2a8bfe7e8344af34b09f191013ef65a893f05b16beefd881fe7f2ee47b6be6a24336766c +CT = +AAD = bea112c5fa55a9c598b3c3e3673260ab490b7f6239926766f3416cd357fe92041554c49161a89bb93d272fe9fe1e3ad4 +Tag = 594330f0 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 751bdbf1e0d207963ab8b786e02d19cf +IV = 26a7c80ad370ff7a851526c7924f7c1b03d165be182cd17c5a8c779b134d9974b82b95df3c54377cb11015a16940d52fa741aec80236302f22aade01f0913cfba2fc5c0ef19099e3f01a590dee02e797b01e90a6d9f906caac020148d2013f61cbe16ed049778a44ca343dbc188b0a57482fd070008bb825a8b9d66979a8ead5 +CT = +AAD = 9f79b7cb90a13607f6b42c5d2a427fb1d6e14fe707ec9d6c5eb8efeb8a970bbe6bd4a0be70f6c17b9821d8c275fd4259843d1f6b23df0bbaf4b03f75e72d6326a81d4459e7ae97271fb5478944e2d507fb85f7006195d29ec03d +Tag = ad4467d419b918756b940dcecf4570fe +FAIL + +Count = 1 +Key = 65eae4340e30a5799e047cca4b490336 +IV = 8710f6e261af606afca727cf60cc3a9c55ac82329ff63427303c9a72b731b1bacfc05819b8ab905c56779065fb46f95943f1f09deb7aea30d18d663bbd79f67bf9964eee1c264dbfb97cd80da9169f04efbc60814d87eba3ca637d7658f12aeabd6ce8acbf36fb8eb4a13859051b7613a2672c3ba8ff486b90cedc86f2df73a9 +CT = +AAD = ff932fc948dd72b49bec6e539700dde1e600b2c256bdd714f0c26e9ec51456676297f828e31f75991ae174860e8ab33a082299272fd666458f4ef451594e1b9c1e4063bb0e3278eee09562621b425d4253dc207b766e71fac188 +Tag = 82ccd60156286c311bf97e7dcd5ed978 +FAIL + +Count = 2 +Key = 42c6e06f7f07c793864f6033f9022a41 +IV = bd1258f14570dc663f81c31916bcb45490a7df15c95d827fd9e36aaf12f8fc51b8c0bc823faf1cccf9e6d6d3b132e874993325a1a2b1b61f9dacbb4a458de8d25dbf0ba4282d64a06686ddd0f099300b98e91362ffbeb44ebd22ad3c92ee06b230e234f85363642f57d0154aee09ff08d0e560b5728a5db8a18b26438177c45f +CT = +AAD = ef675d5e33198af58e72d7f379dd35bd7234aa7a52ae28531ee2e77d6bf30f05c507b8cc72361f11e70017b30c0e374dd283d29c324c67d43d92868485b0ac2cc4e0dfef362df74c927f935d630611fa26c5be9bea49291d3875 +Tag = 6640b62190bb4a11d4c7b37039bba6fb +PT = + +Count = 3 +Key = 2956932076724a0a374b21fdb6dfa8db +IV = d42d5e9516d7bed3525dd1cf30ef7d485d5cef0ecf8c84d36415455a150a071f41569e0ed9ba6c95e26666c3e90c821d557d392ca08d47ddefe5cb82283c65b9a312edfebd315669190089a4b9c9d519cb7f2b137e15e0ffe16ac4c1a41e6d21ddac24719582e6bb974afe0b2420732b94ac5f3bbff737b54417c19d74816cc6 +CT = +AAD = 4368cea5063f57ada5e4628b3787f71803dfa431d5904191877452066c3da490befecda244470b1425401f9399fa65fdd4b27f4d456d695fc31fdc72f88a472d943816f5d6869aaefc00e142a9107a12626692d16de70bd66bef +Tag = b976c9f8c94d0683d51a340dde2dbd9c +FAIL + +Count = 4 +Key = 68c9b3cedc762f42124e37bb42faa7e3 +IV = e02ca355c17a47360767357e05f03ff2cc4de38f046a55d007885dad53474761601d5ba20dad55573ea354ae5d3adadd5859b6c55ca651730139da1ad3aaa58ed17d7e48dec91ff62223c0c792b56c657e352c6cca4f8ee93f58b4c3e4db40528fea0bcedb5f94fca9e4c815c0798c8b2472fe1bd55aeeaa6162ed35ffbb4d9f +CT = +AAD = 659cb7d921fbab10817f95f874f2fcaf09b7e6cf3f0e8bb3849782eba83551d6e93a95ca15b068a9eb223d13a60bd63d124a1e775aece057ca0ef22b6cf6d2d59eb675f29bd8edf5ff06f9d7d8e1704c0ac0a13eed104af009f4 +Tag = 29f8432084408a53611b4472105f15ed +PT = + +Count = 5 +Key = 1a25f694e398ec5259b94fc678cfa29e +IV = 8ad0d5defe12851c3881012f86741b020357801d54feb5a1242af106a2aff82de9754779a57124a0e9599e9a1b8fc92f4fbd058f7591873bec4aadde9cfdd588cb6dd332944f69bd232212c8687337b43f73b6e2222f469bf14bfd993b058f76a1773a868592c9b3fd8e03cac585907b71f77f20773ed8eec1d531f73c07aa07 +CT = +AAD = 0851985e1d5e3787cd1749c00dbb20e940c2a99a00539351ecc5961bad8f5b1db9a28ba1f4e547c028c0848d5bfcf87d915939314bb031707e3dd552b8a019994224cb4cd2df1a8648a21ec02db9dc88b4011fe46b0834ce53e3 +Tag = fe727c466b9f45b08879680aa0c87ad3 +FAIL + +Count = 6 +Key = 4bc196c2b29af712c58f653353930045 +IV = 5bd8129845e3dbcfa0c67ccbcdb3d6e6949b3d5ba7b09cb8f32fba18511dd901191f4f40da107524c5090b686af86038af881bbbcfb57c140ebc95226b3d16f8148aa3431704ca3171f96485e67eef956afb64d9cb61348abf9e624a120fdd17f863ebdc15716d1b089ba37af0c14429ce02a16f923068befbe07f6b843e54cb +CT = +AAD = 42a64e17d778ed072175975cd89a2654d1b4dc01a3b854851af5d6db29dd744afedce2a44efd101a17a628a6caaf0fe48edd697e07c51cbad8865290095a0eb4cebe41b83747f9a3359e11ed77d692d474110293bc898d002eb8 +Tag = 14f61549303e933f41e67864e7ce2821 +FAIL + +Count = 7 +Key = 29741105f85ac04da73e9ea66d22dc00 +IV = 96f044ddff2b5b92ea9c8cec6aa95cf137ef26e8c4f0e2c185fca40dd9c99be6317911e882787ea9e34e42ece0149e4fc267fbf7511d22d76fb1972d333f521d38d85e64702b1f187d55906d6d1ba23c7267ecc77ddf21bf2f2a10fb19de17590948052d891a9b6f765781897519b5bdef9723f880a50dbca92dbc8ea4776ed0 +CT = +AAD = b77d48ff0d5ca71e7a52b1f1bd7dda20a857c0ce82b87ecc412665a68f8f0586ffffed6da62b1aa64c5b86dbd92959f524cb9253f63eedc40ce9b55627da24aaf1314da30e3a60626641db296a0b20a1d3d3839892354063a80a +Tag = 767c2b03d0827bd288b548d0de4a74ef +FAIL + +Count = 8 +Key = 31ce6e3512ccd875c7b606fbc3f1656f +IV = 544ccbdec6a4d451401a9ff2439ea6617ba819101bf86dd0840426d3e0a933f6ce97c41d579776340cff02a44e7d4fa3d01d3ea48efa080b1576cba70ac9733343c7b3a5247750daea3f1563a13d869a445c7a4d0725a42a3530bbaab28c31ad921bbb1d24441cf31907f2cba2bb558f9613333a1379516bd7b4581964fb2163 +CT = +AAD = 9d0da233dbd5ea7f158170625484047cda223510bc5b3ab4b8d7a23d683b4e5a09785424bbce3a99b209d1b3f80aff09fde23cf201ae9a3f339804a4f8a2fbce662b22751214c2aca3d8a36eb0380903ef7d76c5d0f1a9af00c0 +Tag = e7822d50a2f43f91f2a4de8285fd2c79 +PT = + +Count = 9 +Key = e4d5cbc0cba73ab3130b281994e34030 +IV = 22883a4ba3adcc1a944e91d18176bf4f79a6098c704c5061fc103153dc5609747b6a44cc7273fcd9cc6f5f9ebbe6163391319135be59076e3b7f6d008b840a3f85572479fbe1a0fdcbe9b309824846d480d6498fd13510883acfe532e0711dfa701caedf37e06b2da60c454e68584b10122bf4b122cc1e4a951e2d964fc49a6b +CT = +AAD = f114b47101dcb30dd67312343dfbb7a41bbcb6c608c942891bec5c493a37cf93cde67c317af462d33a1347c8343d56e8c33cdeac230167f558de939bce091b5f084935e1532a176003ba83b225a9a7ab9a2ccf346cc86026a536 +Tag = db0ecde62baa418b91c611bc29a9758a +PT = + +Count = 10 +Key = ce60f3a615eaa4c522ef0625852abe00 +IV = 89c9edd1dd8f4498eebb3ce30f3bf87c731c4d65e07997f839302b3a0be9d3d4dbe6f02ddc27601e2cdda6f7c1054156ca4901a0861f0e1e4ea2bac5ceec2b009208600ee5141aceacd5d7d1ef499751ea1d239ce2bee90baacd7dbbcf57d975536cbf0dd0cefa310cda9aaf75d9c79ceb05a2e44d7904f229c1de4c94360aed +CT = +AAD = 5374f57d4e4dea0bf0a724a042e01b4c7b45bf5c76a30e3ad84973f81cb89f9e4e636530809f8a942fb08619aeee67beb126f5867a23282f12ad460817c645577b7d4f1935bee0fa7f77007f51f9978b4c09ee06e15f72c8ec3f +Tag = acb6ee05891ac13a568b2a505eb29d8f +FAIL + +Count = 11 +Key = 14613915b33b48195c5db4158cea29d6 +IV = 7e3d9b279d456ccd06244aa2abab57c995797298de64eb03d810ca42f09b0d248e1e549c4ff7e090f3d71093e59db96fa5632f24b9c28afe6fccbd878313d224a6133334dd3b9c66146c6eadc0b09a5aca364dc22d85210407ab8e416e8887588cfdfc9b1c34e573dc2ed13f0a88e518d09b3f8df16c297591e77a2b7da463d5 +CT = +AAD = d8dcdba6858e07c69a1ce63562f018d12c594f53e8c45866baf15642299ed775ee5e395ec870c03ea26f8a0e7020b5cfc06e49ba5e4c0e2b78239efead62a3ef5809a1f9225687546009fd3f824829a376d89376667dac07a5a0 +Tag = b8147b5e5be3e0baf16359d994bf9775 +PT = + +Count = 12 +Key = a628c8d2214470aac0358ed0297bb1c8 +IV = 4b63a46f08c8b25004e5f0b91187d4010505032e97706d7549b8fd10144f30c4d32bd922ece4bcfaf8f16d20134d006f197eabb7f57c27c52b022c9b8be5a387c30443b4f18c38b9587ba08b05a766a7b62b685819ac8ab1790aa4d7fe3c9c584dd329b33b68e39619bda22a211c6dddd7b67b6c6d9e9877a6adf5afd8e62381 +CT = +AAD = 2caeaf092b34b6eee48eac744b09296e124328b562006827e844a5bf6a9fbed3d5967246032a4fd6ef4551d1cc197ecf2cfd1ae91f7e2c8e580217e609a5ce2a20d4dfd349e7b1010d12111133fd338055940e9efd38763e0297 +Tag = d1a5ef9bb16138d4413853e4e3f99e21 +PT = + +Count = 13 +Key = 002181f9654a8ada105ca73e7d976d5c +IV = 581427f6dec4ba6da0ef85908636f0a41933ec4f41111ad8d5479126c70dcf2806b2c335d9be5d67220b41378accfe378e1b6348fc638318333643eb507bd67b176d968d46037bafcd01d4e01843c6f47825edba35ba49e81a3b3cb47261ede2f3c936ec2dfb6a92e91999b956d9f7343a7e77b837a1c8759a81493772409a38 +CT = +AAD = a21340030c88a5352534b222b78970c0b6411b7805ce23a950509bf2d1f0cec94c8f6074c69fe7872fbcf58df45ca31db504dbc770ba0ee83f84aeca711d0ef5ecba369c39e44d8971ae59ac0571c3c9db629a8fec2a07af91b8 +Tag = 8b94cedd377ed28742d47979f72c1631 +FAIL + +Count = 14 +Key = 8d7c1f0a6ed8d1b07120c48cc50932c0 +IV = 5057e68798f0fc36ecb8a556b09af60400f5ff24c6d57292e7411c1d92a9f9bf95a0fc1ab80e7b6ed7e0df8f3b96f2bbd575120d8131ead626683276c229ab3e0dc96beddbee88c49bdc949113cfd1d4d05b94b72f6c168daff4bfda551e80a92ec9509a812ef899ba0a622d0798ba4fbb2379f8916a1a7c7bbe883f372f4b80 +CT = +AAD = 8acbd66514de509e7f08fe1df77b567bd982cddb6f45d480a306bf493e0ba0f65634a385ec239b11786a73b7bf7bcd0f253582df3658e60758f35974a134589efc818de5633b7bf1014759c5bf88f376f1365fa29f824487ab8d +Tag = 540ee0499d75c7eeed61efd98e6ca440 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 85cb165cf95eae2887020d73302f5cf7 +IV = 6f1b5841a38250a88186c2088552f5b3e9dcb700e30f221b416e1f279804cd78605dcae370d4047daec73dc565999ffde025885de76ed72866c3896bda5692c829db21c407378d86923120781722fe73a0b8381239e4d426dedacb54ad4c77c395337aad6945ff544d12f7ebad940a5a9640afbf4cb0db133597d6310bae7780 +CT = +AAD = c4ca4e481ad1ea2120c27343d308c9818ff658d5953388e64229675f32c8e9babede1d8dd9727364692c8974a46e21d585c500bbacfa3f7b9b1634edce65a37c4d9256a3e32c7b04316b260a81e506509a4c547fae944a11637d +Tag = 209986ff12d5625191d16d88b79f7a +PT = + +Count = 1 +Key = 7a0d67984c26aaa8e42244e665ee0213 +IV = 8329e4476772163614b62888e751057e666454c66119096ebd05d54aaa5729cca14ef45b0b7c98d8c57dc78ea75798797b49a13e2571c2420a3221a235d04c6fa729bc6e5ab4b7d6054fbff2beb314ed2a1faf3e729d30d8e8a3d1bbcbd3617eb9275899878d9652616c20bf5767bb2b893bcae8b3a27b0b8c65c0f86311b3ce +CT = +AAD = 25a2a440d803fdf37984d61623db82dbed6491cc345e88d733ca104c9fd47c3ae769349db25b69a45dc40f5def5d6519c936100fd162ecd2335839641d0955d1c10db4684fd10ea30852c0204a3981e8d883f9c431552b8ea4fb +Tag = 3a33bb44525f82790e140a1fd181f1 +PT = + +Count = 2 +Key = 2715c604ac48db40bb3263fa28c0541c +IV = 9c0e5a0a9323d18d9577d859330bc95f20179d5ab1e1a31b14ddaff7c93d01990b04fe09d65b4a3771c085c60fea0b7502ecf58786f8e320f5be2d1e086850f83b727c82e5e56f6bd7da96b305561ae4d0ac967392692deea6337e159e0396575b829f25f1ee43357475d067ee95add6a82964243c0a30dcdd5784cdbe65ee9a +CT = +AAD = 3cab6ec6d992bfe6ff68fdc721ed9d647e056fba7368df4c56bc23b68a34eb1be65dc42a9bcc07c1d72888fc46f01d5427f32996b654819f27440a35150ce2ffe0f086364ab92fe606a72f1a01c93c3d234786055beb54b4a685 +Tag = f5fa90affba7d5ca76dd76b62e83c3 +FAIL + +Count = 3 +Key = b8264f380392ce0f7cf563a88f71fb38 +IV = 201eb0908c4d0e082120bf414b07690b7721b96b7d6c7ff0f23c4dba00fc3f0271f37c7c21beafb1401d64948372a94c2a7c6292fcc94b4a084bed890436214e4cfe9bcceded7b8d819bf740e89ab4670deeba2c0195bc51d80ff36b1c07b9dc823434a9fb9f0fa68a469e3c62089191c10ba7687643e86e227ccab2deede2fa +CT = +AAD = 5f4d0ae423e9231a087dc837b3c70944120e6551e9794ed15e94ce1ba8cfb4c24e8b78e128ddaaba1bec0604db8d5870f2e653f9a4ef857062b1a872ac432a64d451936d53a07c2d18422d7a88ce42ed40a51de6c64ff80239bf +Tag = 7b2a093723dc58bc7ff56baa0e4af6 +FAIL + +Count = 4 +Key = 349eb62e809a71450ff92ef5b870e865 +IV = 7d660eeaf528cea93608cccbbec1b13f195c54b8d58c6a157e6f507d8d72a9a7838152a3ae87f2ac4c4fdc5612f8ca47079015bc291f1b9eebbd25134de454b97cb2b4f11063bf45667a6f0e80204092d473dde3b478b2b0b089b4f1248faadc7c78e64adfeededd900a3779738454ea97d01900b6e5873dfe6e3ee95c3b9bbb +CT = +AAD = 3b20136c9c0d8330016da332992e88d3e22d0ce6868109891c8d592b136ab24c5ad7e74af6d282f5b128021435c4b18bfce33843bbf345fc617252a58391993ba018418c1dc655a2837045c479035db658c4fe4e26949f2acae1 +Tag = 536c13e04160abea7ea33fa5964917 +FAIL + +Count = 5 +Key = be535e3364d74294f55d5653c69d7eff +IV = 84a9506de0404be73554441c412ad5ab7e22f3f74b2e3e848db1670d6b5d49fdd254116b02054bd3ac2176878bedeef629fd8557c103edd7a5d86c76dcf338109ec340c9318e1254b9e74176fb240dfaab4e6e99605d1aef70a806f8a8f5e127bd8562e2c91132084ee320a3e41703e3aa3e7f2d08190ef5387bda7bcbf9048b +CT = +AAD = af3946e194e6ee06f541e52878bfa6c3aa26c2bfaf00c0145eed0c472c321fbe18e35515e30610edb98626a67b8790e1f361444d38c3208fff1dab384e70c251a87db6cab314b2d843b6fcdacab79da4ebc3c442e214d726d70a +Tag = 41d825cddd45d799cde2fff2219995 +FAIL + +Count = 6 +Key = b0f8d69410b287c916dd835d2d015424 +IV = 569a66211f441291a876f3b193baf57222176ac8d222c7e1b6de97b8a7fba53256eca933704db5588fcf55d097a9bc7c7f598a18e550be8e6f680da67e90f72cc79c6be7299d63a50b83dc3f4ce5b9c75d82f4bad68a3d961c6e11b3af29bcbfc8626974d917cd2b44617d76c49b746cfabb93a38f1bcfd5424a66bf6ad736c8 +CT = +AAD = 4bed4efb8a97cf1b46f8a4c3b4eb164045de150714c403bb2c5710e0feb947eab1a3b2c851edf9331c165fc1fb5d0fcc7cfd8e1ba4025eac266af1453c9711bfba56e0fc879dd848d4241bfc802c17e94f56f181065618051331 +Tag = 867f71db22f21f08982cca9e593613 +PT = + +Count = 7 +Key = 21e890956f1300df6677d026f4760559 +IV = fb110086adbecd1b001b054edb1ff349877ad4528b15c47af168b88e1d168abe2c5cfc8661ebfda1ea3c61b74930b30d44d837d438973fda43afdb1148a83d17944c1cd52c1b22b841a1618075486f1f6637ef21347b126806d59c7fd39c4766c3a26f6c2995fc37784f7c33611b2b314f30881780094cc94678645dbd4577c3 +CT = +AAD = eb8bce4edd53e1a492bc60de01805da471c801abd7be23cc410c7a509d0c74208d602afe57add628a8ad4eaebdcedd0d23c05176263c8b50a94d7d46bbdacc1e77df377362d89716608fd319c8e241cf408df19d38489b39d70b +Tag = 19815e521ee04edb3029aca03d1a02 +FAIL + +Count = 8 +Key = beea332a3c664d36b87bfe0c14555ff7 +IV = 7e5bedc97c6e1302e3c91535b1b48b62de2a047bdcaa299797083c5f714d40dde4a82229cdf18b4d3bdd5a32b402aa80cd8d2a13cd1b75299f92bd65d0388970aebb63cc2dc7c8b7531e7b48118ddef2480e5ed1a43f5b0309c7d3ec07dcb8f3a8bd8d87f5850eaab09cf0a8dddebdd5630ebdbbae1010c2127dce04a84d618f +CT = +AAD = ad11de2086472c13571fa80492a9c4ff86765a4c690a005bf9d2ffaf13995e392764fbeb7bcf578fe73071d66895a1303034927227957a6b18b5890f24f2627530b6ce26e89ae26a8b3b76558688545362c368205628e8ce48da +Tag = 5c7e213365c2fe692b813295ba73da +FAIL + +Count = 9 +Key = bc37ace2e65fe9ece49c9862253b7e2c +IV = a07e6082b2d6e222a21c4f9ce773fa2a097d2b8599f849bbd8afb3f09b964b4752c8e16557579179ea28602565514d94cd41387e55f2a1737e9211dc4a696aa280311b4561569ea55cbada00de5cbc6729b8e2f82b9fd2116b50cc98687f658477f7e1ed1301da5f0e817c5dc6a5f6fd0c5c4a3de09a1cdabdf40676d1def1dd +CT = +AAD = 4264b55bc3c438be2483ad8be5f92d26c18d5ff127c9b46240b286161413ba2aa83c4294f84bb0bb3b2f1275877cb4e73a1aa1625d1a038c2a342c85ed749fc5ef056246ea376081a8ad4aee81a5c6ac5cdf62f2dafc13315c9e +Tag = 1e76b333aedb1a8ac1d748a70c685e +PT = + +Count = 10 +Key = 658f42e5eb81a5cd4dd3faa8b0e7a509 +IV = ef0742f79f044a0e17c510e3c7e0da2c39dde428fa599acda49299feac94d53a2eaecf434333c14b5e392d08cefd04dd6df9c2d2b91e9b5c903992127986a31820011be3ef8507c1590f346b1f7678300049c1f8568ece5490dc92177f5e809965d77e16b0e225fa1a0887d85b328ce34c7e910ed5976c80dd22c986fefce837 +CT = +AAD = 10df54382cf01979fea750b3bfb700fa575e941f36318d3be0b729c230b48875b80e9ae89c658940c3b5dffc0d0c554d1a2977dffbc5b4b137fd79507912c4ef94a06a039621e8b056fd6b4a3e5797ab3e11a79c9e97fc7e7c11 +Tag = fe301028b4167eda3832a05617e485 +FAIL + +Count = 11 +Key = edac5a3cc0e40a66a16cb67a53d4d22e +IV = f503a8920c3324cacb9841a685c911704a2be57b323481c0c8f8654d30bc79f34051035dff4eb04db26ffedacf7016693e090066eb56e9909131f300b4dd4250a367f9dc590801dbbc79f83b2941e38e8b28e0797095c8cd8cabf2eea0b3b1f01a211c73dbd0918369ca0c1ef5e21a7b69d876a56374ff3a9e52388a28b28330 +CT = +AAD = ca2e5c01fe728203c3c282a76809bb583c8890c21ad7f3aa66586f148f92c060258825bd4ada27daa8a3f65f7083f2153eb2eb4197cf41ce59d06ffe13f1c617ab747b8bd086af6de6bf453a2d9b113d4af22ff45757fc80f1e4 +Tag = e9bfc181182c9265fb6c39c3daa53e +PT = + +Count = 12 +Key = ff920ced81f8a8862a119419fcf75585 +IV = 10560b1772788d7285867645e17d96df76259c2602900093aab304c9e58476f9a3eb953a5407b319d520fb9f9c79a313529254fc1fa87c0ff381fe04bd579bb6ecfbb679697e7dc5bfafdb16eec3a0c0bef016dfcfcfc08f8d2670c0c8036208a218049bd3866cdc44eb953a33f2796bef917c1604db154b3e9a6d6083423eb9 +CT = +AAD = fc5e5f45891b1218841ac1cba6d4c695fbaff07e06fb349b874db1d3a165a5196326589247ee5f39cb22a74da71bbacbf120f4d2db364035f58b371a0035f643c97a142774bdcec57496579f2948b10e0e0e3a2150486b00ac77 +Tag = 82d8c160690d1ec45a0154ceaa873d +FAIL + +Count = 13 +Key = 002d0396d36a028c6a1634014efc4e11 +IV = 0a1f0150c32b4e848d92ff9d5fd5bb6b4d04214a791f7adf84c3f8a0825fe1dd116908fb4209dc6aa6c44c4f928b190fe9e36d212dddfddd752666235b43fc6da23bed769136a8aea4a4d98186a8a0760298eacd35beb7ba4357060e65d5a00fd0b0410cb4e5c25825aa7260b697449c176b18b2029c7001c79e1bdbabd10081 +CT = +AAD = b6b4646a2090cb8bb47a2a98efe57a9994467a0ddef20dad553e7c2e5e253c259d3b3a012d2b7c013d6035762bae224e92ebe6136b1a4642e83c2f63c20e98acb8e12b9e70c45d4459a59a7dbb2a527fde7e035079527bcc6f87 +Tag = b7077e1ae9f2cba564861486cd2e54 +FAIL + +Count = 14 +Key = 49af3288bf6645e5b1cd928e2981e831 +IV = 103a99b36bf9681464c9d39ff2ebb25323eaa516a7778865213507b0598183c63bf8c74b7575cdbff9fd6a7293638858a1fc2ec91ace6e3ce0ca125676a11dd0a325d81b66aeaa05c369d27a698ff830131962da2d4c584f48521dfcd0dbf4c3980853cdad8a660adb60120eca7ae49066d708c1e4602210ba02dbe87abd8891 +CT = +AAD = 19e2743ee12f61fee1f900ceb52875deeba996dd5117f43c42ef85faa95ec1ecd03a6d4c730c5a65ab7259ef55b6e185bc9d35d9723b3d87b286ae075fd8d98d88d36b543f311569e9204b97b160c4da090236b0e1d4f1c36446 +Tag = d225cc50bd4afb0cbab19a4ccdbb2a +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 878139553425a1265b94273e084e965d +IV = aea27c7115aeb14438bcf39608d1a2740e5595da1edf56f5a830c6c176e7e6fd4737c9bba046d7e3cec8c49bc93258eab7611ec80b4a15a15e7fa9fad7cafe97b9502203d028a958393c18d29a593e0178818bb92bc27b59906a40df4603e4a65b14be111327ac7e83fc2e51ca4bd0d51d0fb167c64a3f1aee565730a2587197 +CT = +AAD = 01ccdb47028450ffd8923dd6456da2c0d34bd9869861dd4427a6d0a5aded5eaab5431cd5b50059d37eabd5d308fee1d999fffc70bbd06ff682e3dfc38df5d05f011ac59e956294295bd2c9715f3d01e73d20f9732d0cac87c2d9 +Tag = 5e8ef30560a43a3bd088459754d5 +FAIL + +Count = 1 +Key = e6a7487096469cdd90ecfb729e3e47e2 +IV = 3260185169abe1a1f6e4c1c9b4fd77427494986bc7407fd48aaf6aa49794ff555d9c212b21951a6098c4e2913f5adb388278aee678aa1f4adf95dd4414ecb4d71a31b7c43b30f23f6d82f343767d098d74f1ee9eaf39274a1c9e2c1ba7725843f38920147adfdc7d5757be1922b26067b7f87b2b403e2eba4626fedb64e8a9c8 +CT = +AAD = 9cc41f677befd1f405bbbfcdb4b69943eacf68033a0f62f77803284332bf77de5c9910fd736cd330894e5e88b850a7ee0840d01fc9cfbb07deceaf43fc274deab17def7f14884398dd0ae177a2ee699e2b5853157d58e4e93f84 +Tag = 79c62ca69e395e6d4d3e309c38ca +PT = + +Count = 2 +Key = fe17d7f7dddef4ad78f2de9d21476d72 +IV = cb5e7b8411a622aa15acbd57e2d9c8a662168620df6fc86d827202f6fd2a403b5b7f900f6398b4b8db153d7c2707e712204c5dab6aed816fb1902930ba33dd8493a8b5cf9b40e44589560b39cb0e55a995e9cafb49ae67b79dc889c8e95e60f2bea6b4f224db0e9ddc42a2c38f6fc0d73b288168ac42128635fbaf568b170238 +CT = +AAD = efa14279af1711be9cb73f7fd8c866cbb441c0533ac899b3a70094df5c70119adb17c5f1aab9a4a3943a437e8dbbaa6d1e1c15a1d9ca77f6bbf8d2719d0b6cafba21b27312c61a569ab83fbcbf579d7bf263d3b644caf19b4b0d +Tag = bde015a48957ec0e71ec4739944c +PT = + +Count = 3 +Key = 154e445b06a32e6701d5edb629efdea7 +IV = acbbd20986b339a72082c13a7e2e416b172116837a6b90eb785355e773d334209a8e0ad13d309e7934a000074ce9cd4f5b2692a33f84fc86bee782f0ae4d9bce31793d8b0d8ac502990008e57048687be5c0ac22627767d8c72acad4d4ee4086c870e9d3b2192b68a57987709797df69d562df06f76b9a04dfa3c6414a986872 +CT = +AAD = ac7778b05a42ae994a7d3dd99564e3c9aa1c8da2ac97cbfc6b0c3613eee8cfd952eaa856ac9658581831b74a5b25327016e0bfe4863b99af08906ba0dde769f9d745fe4be535875db76256d577289f9a5877494bab908007108a +Tag = 7587b1b66527004ce13784a6ef19 +PT = + +Count = 4 +Key = f3487ed956031a6a64500af5ba388a35 +IV = e7ddb507d855da9576378ec4daa72dd8ce1ef17af34c3fa562878ee067098cf524ad8b58a72d1bbf19445e5767e3ecabe98b3e7e2e19e8361b9f9a74d32248608184f4ade4f0d418481e328dee43cda047231428a09c30e3a611ce075c6b9629468287b679d8478251c8d4975c10e38d4ec7fddc2d0b2851330cf048a3f0421e +CT = +AAD = 2e19c3bb4f4c0d7b4ca049c474e79bda4cd90f2b55ae4aad53a31d5fc4c537604007c51212772903e7323ca9e494ebf41c9743392b247e5d0b68646c42e046b51cda2b7fc2c2838fb5d470378431e1d36b80b9335fae1ec56b57 +Tag = 3b6be1a485c08d4b496f0836a076 +PT = + +Count = 5 +Key = 29670b9fbe28286d2d588d74e10ca5f6 +IV = f488751013c2ecec09c18709551a2e55c47d188adf4dab2327293155dcb609c21f08c5578c9545459013407a641f5f205922181f6aaf251f185e4459bec5c37b322afabda510c057435ff3da64bc242a097c605a0adbbd0045413b3bfe0020247f2f042105e7ce45c732442112f4da22b8f3b963931eca6bbac8b17d070f507d +CT = +AAD = be7808cc6da74e5e536c321ca482536ff0ea3514eeec540295ebaad0354722638d381f8928860c963098256da794ba3dc6c88ad12fc40b2d26349c33b64dd591bbb267bc710820a93ed6407357465bc45d057f1217fb655a831b +Tag = 61fa088b632cb87022c458e0fcde +FAIL + +Count = 6 +Key = e86ee65a20e470cd29a9a80eab1307e4 +IV = 0499b838b9710b216b21033a95119466067a6bc8f2afa77d530f4f8906a6291576ea11c175c6e9c491a4111bcaa587a5ff6ad8a7354311c60a9ccb3580082244c373413119dcc18e74f7409beaaa273d8d85083e3bb0833e5f8466457a6a40e401a1975f4ec9195ac2c71116d5681819b58447812b0de85663478f98c2452a1e +CT = +AAD = f173e3f2f7e66507314c7c65eb7c9861aba040f7d73dfecf3b33d3f2157713f824bc1164b144049628576d1e05ed94e2cb8e9711210f86b0d25d88012c62e1b6b60f8a2989d0daabdb9840b9157305327f715044376aa1e0b57e +Tag = 1a48c2344ab0797f4e71932cbd90 +PT = + +Count = 7 +Key = 3147f21845c38c381631d6a0cdd65bb5 +IV = ff68b261acff470ce704ca496f87587aa2209f24f02a3724baa4d47848102c54e1f2908fea4310907e22135932adf3e5be11229caa5077324aed44482d54442bcfc57f6f33c9ac5d2c47e05a37038e7a1998e86c5e0c3a9a16dad1edef4fd1d4ea2f0b5b7bcb0c573d5c34f509ad4b4fd199679c4baf6f279d1804a4497eab29 +CT = +AAD = 6af19c5264fbc2fe2a77131ee5b1077a883507a6ebe75984e0dc359812bb9cdc7056b02a031eed757dbdfd3963ad16154e54f31d81ddc15200fcf82139b37eaa519788f6b06f9d839423fa6d3a9bce520945ae2cd96352951a27 +Tag = aa22a79947cc455ba2bbd08143db +PT = + +Count = 8 +Key = a04acbf952f67b601b0e27b578f8b902 +IV = 725adaf48c1122365efb7ccec5fcbcba3361a6526bb98f296b50f34303f93b0a4d114653242f9bc5f9cbe10d0ae253462f43e29dd2693339a687ba2cb193a4a6b70c57b9ae39a003575d34afae99a8ddbc3dca9fc554dedec7413e67de67c89038d6f19a6c1a3e042ffbe1ef59ad04c807609d32dfd44032fb2b568fba51d5a5 +CT = +AAD = d8fab5a80608c7eafafce79b63ccad48c00f4ffbd29ecd970bda95316f7613663d299bc4fa2da10b0633a3dcb7b2c560f4a0c389fade503f7957cc43d646605cbe3813949c275977c0cf758b436c9493a3eae9ceaea638c009f8 +Tag = ae5c10a6fe0b82232609dcd8e81f +PT = + +Count = 9 +Key = 03969c312cc32cf8f08ff4d91cb93539 +IV = 91c5262c0470c3bb73c1c4354427551fad32bc645f510ee657e0a94e871db877c1505ef4cf0bc5b3871dd60d43940e3bd43c46454c5a2799753a86d17304fbb5465d4bd376df2fd2d31c7e2c08980d95c4f5efe0c5db5410ff70f959a7e676c539d8239d999ee57ca7fd48b4478230681c2cb94dd48c65495eb6590258030413 +CT = +AAD = 021f5aaac38cb2d035caaa5f2c69ed9cf36977ce4a0e949c10dcd17302cdef5c65a9b4cbcbc79cd42082a6d7bc23c13c11a842184e6440a0e843c7a3e991695f34337e674ac07f5bda667bba40d23e02dd9fa8ae3df4ab8d52d9 +Tag = 9995507285b7ebb6f8d8ef9be9d8 +FAIL + +Count = 10 +Key = be036a1a2da0414c118584db2daaef3c +IV = 5541335d731892392554836de63720753751c850cc9cd90b55d5c7d31355af9aa08c92ae77ec37dc349830dd74931d063b6c56d43346e0a0cdfb1ef97d5d0a4632f85be312591876ff13a9d17e3f61506b5604a84d94bce334c59903e84da7aa425df7d2b66fc5f8cd9aae17ca033e23f200c1150807e135b10be1b11ddc0610 +CT = +AAD = 03bcf1b06c3f2f9339befbbf6634b3ae1856efbaa4a2903778e79cdcf607e400ceb9b76472d91209332dd21feebef6d3982de657ef0bec32a5228399dcc77be0b1746c90f9c4502a4b0c804a9c0347f1c828e9a9096a828d997f +Tag = c733543c9e4a2265105d8a07bc12 +FAIL + +Count = 11 +Key = e12901310109434adb45a638b2239dd9 +IV = 3015fe5dfab4cc6c87fb2e463c3eaea6beead183d50dd0d0abdcc59f117b44b6eeb5ee0957fc5344ea97e869dc8f664fb7d8fc1fa04b8b8841c6ff08001d8b7e26e8bb489c1ab171d309edb68fbb70dc8a1be2b257466fe62d5c0165158c6f5b7b27756bf63c75ac892c3bbc1c7efdb9ecdb792d8f7b63fd1285fa9db958bf6d +CT = +AAD = c9c9a84bfc45b1c51488075ae696a554cb98e6b91b8784bfe1914cfc3833abebc3f5299fa0626a875ce0513bc9d4d88e2c13f7730fc5d6c5785a1260615b57a400d329c8dd4ac27af2057830f8fe5fda04c27dcd0d635fa7983a +Tag = b5ee6ba594e077f0ed8a9981d6d7 +FAIL + +Count = 12 +Key = ffa4db6ca7c753596fccdc800158fc4d +IV = e13f7efed253cdb6a4309ec1424b7c012814a80ae7fe5ebee8d4249e2f2ca0e2e8519c61a298535f68eeebbae92ee7bb2791e8a0f292698e94e3df8df2b922e5f60abe559da4e3d2fb22dfe7e430a088a20e3cad92af2aa9cf875e2c4c9e3216d04e7b8d190ba43cc531da01001f6bf5c338e6599f17c13c97e51e433d81c916 +CT = +AAD = c4d1d3173e448de866b1de8f0e6731092ba61bb2011329673a64e9fa127430b9e022b9ab4ab41100cfc130e63316931d748a8dc2325be3249e3f9c1ce4921677d679ef7cf7154d579ac3d89372e5edd8176e28cad3039c482244 +Tag = dad3c9515e67b5910417feed3bf1 +PT = + +Count = 13 +Key = f44149d4e847744374e24dba2db06fee +IV = b385bc6822c24f744d9b450ed6dea11e1c5f11852c3b2d679d8093cd359f4f747d80439f6d8eac513ff0e7db32e0c4256ed02c8d9be5a848ee427471427728c61b979ec81a0b1e46ff02b46c851c41384a20a9aa261ca857ae0def1db073063aee3894a3dd92e0797d1ad7172c3ac669cc67067b0b1a45a3b4a18a61aeb83e5a +CT = +AAD = e13881c13589748a08602454564e16d310fa50bdc2704ee424db9678ff0435873246e1530c166a44ae18f8462fa1fd6b8b44ebcd1643eca8e00ff191e2b5ae45f1dc3ae03d2abcdc5176cc6742c32b7d3488f88911ebf7c5d007 +Tag = c78815032bc3efb46ae44ff1a4c1 +FAIL + +Count = 14 +Key = 9bd58f572d6714c3f6854013fe36fb92 +IV = 28dcf9f71b329482cfe2ce8bcd63ad5a0290d4ae929164749cd9f75ab5c3aadc98532edf5165f850647fbb9e3ac90fb5243d3593ec22baaba0dbefa08eacc37586a1794ee3ad7c7791c69fa68d48dc55c7b1d63ffb4aed1c325b07dc25b3520b69f7330a7abb099e11c0d50238fe3425c65f0a1c674ef4ccbe52d5970b96cac2 +CT = +AAD = 6ab92b73dc2aa516248d0e522ea9d47581688168a7180cbfa15a71fa03388594854c49d602222704b49e6bf4d846271d5e11d7e9912916bb9531fbd2b5522b81830718a334624ab305841963c2fd99052d7035dcb8e87cf763dd +Tag = f5c69ef1e2f6152903305b1055e0 +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 650763837797f52ca4dd76c3a5d3deb4 +IV = 95e11446d8c970c99ec76096470e91107913474f49141a8abeb7ab8ed48249f858539972d6998a2ba1a3d53e33952e87eaaae666afa7f284a8a39a939ce6e4ee3385907f66d648133df3aa705dbec709339404857640f0c3b8b82e49c0032a63a8e6a817a59f933d5a6f1147c2d2f99f7db043555fd482c376dd180eaea554e2 +CT = +AAD = 195057cad8f5e97ff06adfdcc10792ccd2592aacf1e508ce0da8bcbcb9cc8b22e64b07fac10f444ff0d4ebcbad5fee6d6e03499b4708588ef1d4c49509d9dde8c4423a74d6cbe93bfb3b22835d3d79f5085fcb277668cb6638b3 +Tag = 5269f301057ba901a7cffb2254 +PT = + +Count = 1 +Key = e3d54a49fa90fb846c707225bdbcf396 +IV = 92523e3a134ee3932f3e647ba8da9e02516a7da0fe763c9c8a4da31ca533aa2d388e710f3db86694fc3eb6201b0a02a25b05ed3a3a3b9dfaf0f98da412ab73580601e34b2dc1a671e58d07196c10aacbf2c5b0fd23441ae2934daf50bad4612cce2d8c271d115d32761fbb9e9517f8e12cc218010dd3a8fbf10cae7e6f4349d8 +CT = +AAD = a0d1c44429bded0179e12c00970e445678a1184c68378a8ca055fd5a349ef1405c95f024eed09459fd4a025144139b117b488fb3c34953d04064994d437323e3ba6025a94480802419b7b6ba962931c42802c7907ceba532db81 +Tag = 69354e4d66aafec4d62cfd4d86 +FAIL + +Count = 2 +Key = 7e98af1b7a78f567ae73d55d924cfbf9 +IV = 61ea22d9f907cd4735ebced8e699d43029fe6ba2076614513064cf64c756e97450f4dec59646e5f2821341b8664b1c767f92ed6b71d5d0a6b22afd6d178debe347d6d89282e41adfa33e19402b97a94626ed6b04f036612601b15f6b3bf606ef6bd13b39b684f5724717d75591e79b6ff5979cf176073eb2ea529cc9c9676c6c +CT = +AAD = 27930bcbc560140137f4389343f3c7766384c41d42655d33d345ad3709e0e8b322ca4f994bc3a14dc204cdb3675487a1b504f6fcc70484963d777b0c3fc5bc74212f1ed31c785e1e873f5d36cae1f049c524b9bb63da820cc1bd +Tag = e068f45dc80a020b2b24525f9e +PT = + +Count = 3 +Key = dae962d528a2247dae8cff5eb1af8758 +IV = 8252d00c8a5640d6978f94474b45ea3202b2522993ecf53df19422118588783b7c86ed44cabded25ff4e0f4f8f4ac0b442ff25f34b319502505e6b2373b1d481dc5e744fef6ed2bbf45c633b840f288c3a4fa346aae7a715c323b43d17271cbb4cec989bb2e61da21ce23fd94ce057ba549eab228a15e9a4cc0469e1829f841f +CT = +AAD = f3e91a44dab346e2adebc7df836abe37f15ae299fc30ff672c99a8e887c5e9a673495cf4c1268f786b19c90e752cd217c1251f8d21e6eb7519a27f8d2114fbfc74a125f32db24431556bcde5cc0bef3ee77507f8fc1fb0e5d110 +Tag = 05986aaaffbd8134d89d68b711 +PT = + +Count = 4 +Key = 8df252917fb6e583ca2108e5706c44c9 +IV = 5847739b341e765a63c7f5a8a8cce58ed8c180827f284ffb62bb1fa84c76facac70db5563044bed5da250e86cb803e236524dc9d7b2c830ba1c1438b4f4f8a5f659c48a30ef031d98a2fa18edec2e7a7a9a47645ea30dfc7c33b8a3e8ae08ebe7b029594e019d66a77f2cbc88cd0f9b306181536b39b0a3c5006b3bb4591a5b0 +CT = +AAD = a29db3c9a248e961781f6ee64b4337ceaa480a9872385717940fdbaf18c184131429b2fe94df50a41d4dcda7686ba4a624e6386c05ecb1d551887531a0947d72679a511738b71b580bd4dbdf5d38214e04c8733f932c9dbc2532 +Tag = 00fd703b0cda870d01571f793e +FAIL + +Count = 5 +Key = 040331ddd6024c31fac5a81ac8f3499f +IV = 26fd2bdbb7c1b89a8580d51c7b50678d6de4e353e76eea1266057ab4a38e08da91b3df8cda2d8361af7e19503d3bddaa6414ce896636dce78f34600287402bd4bafa508da82b5688062a52cc9410da947537e7d62d7549b3c26e907878a042008683761e2fa0885999066294a5f74b0f10db70f0ab138bbd4599809f7dafecf3 +CT = +AAD = f145ec7bbda76fcb59a87b8aca0264d927fea72b293676b6b224d4d52da98e0700b3ca95d0204c4277bd1bb0ff2ab5818f33249915307d3031c3075b6dba256137a952b98985c2632d8483486ad81470544b6b78c78759de66ba +Tag = 99bf719c95b5a68755bc761353 +FAIL + +Count = 6 +Key = 9ba85bef2085ffb602d86ef87c5761be +IV = 435f7738e114b5efc0faf09fec42fcaca9b4a96b88439f45ae12baba9315c2c25c122d54315ef099901dccfd2a676c44029bb858cfe046db9d3804eeabd3ba151c15c00f9fab0791ef1dd87c40e2de982c0620a409e4072c736d4ffac8a521dccf160f4d748be3aad9e3ba047e2d3d9d78fd0c234ba7eba97660684dd8a2a05e +CT = +AAD = 5b82dacf1305517996fcaadb4e9cbfd11b3ff504458c8bdaf71068ffc91df776138fa962e82f8d3a416aa9eb87773e68f0aea93ab5b372e67c290720d6d667d27b206532bf6f4a2ff2e35553ed0e5a238dd500ade38122c1e35f +Tag = 39e56780246f188a01854128ae +PT = + +Count = 7 +Key = 0c04c4b3a007d79ae4438ea5276899a5 +IV = 61899ec866300acae1323033ba27d5f09e7259485480ebef50346296f92a129f62d26926fead1fde409e1ab499a9a2cc956e3078d749e39fa5e599bba26677be08f91ef00364149d2a45ec9f44288a1db653e0576332921b5c83b4c007843fec29063fab980f89f5ea44d3b61fd62b97a606604657a7fbed4b75227abd78f5f3 +CT = +AAD = f1a7a948de74748589ce40b8a35585a6251be332b6920e017ae32c652398eaed422d0b69f9220c80dbd399ff842edf47824b24d9cb32e43732c59192e9803df28a9cd8387446461ba7a12270e979079921966bfa1aec46f36d69 +Tag = 66da153c29c5fbcd1925bc56e5 +PT = + +Count = 8 +Key = 5bf5edc67209904adab86dc39ca0f6d1 +IV = 881bfc153549aaf57da53515eda6dbf627b270f956cbbd4d33d055cf9997a2aea829b2a002361a4940caa7afc195ffcd30c89556c6e46d9da20509020b812d0768a47a4c1de0eeffbf691229d64d59198ca294e29ac320295da7457d5c3a034f51b5f4cd2406fb3ec589272141847025a7af857f8547fde1763e9cc8446f2a0c +CT = +AAD = 2e350aba56f65cb05bd496989d544ee16bd09c16b89c7a284d4e6d54486d5d4cd4b4ba32e524fde8adaae87e9dc6828619711bf8326ea327d28a936e9c6b8a880a300e18093461d936b86fe1157f53bca8e3bff671ca4461b0b9 +Tag = 7792fe225fdecbcda6e079eefc +FAIL + +Count = 9 +Key = 9619cbc26e5ae23a4d278ec13036269e +IV = b489e8d39ca01268e488b3117d823ce06310736bf43f71125a579fd2c857248b217fb65ef826bbea208037aac94e45639118537cef917dc9c52579a64dccd791dc75fc6d5f0f2b7fef1d82ab09b622e7f1cf2944fed730218c4b820b18c16796899d997424050243c1b4084079392fe434194cd4185a3d4bb956530cfd967280 +CT = +AAD = 2d9f7f9c64b4c7bb41c1c6cc065d9d7602d9ee02504a6d77342e84ad7bff29368207072a2f61b7be752d079163053a2a4318ffbf26cd6225b5d38c27687c12d48813873bfebf24d5f68475ba7fcff2675a63a8f49d73dd6126fc +Tag = 007024eb98d0f2316bdf08ced8 +FAIL + +Count = 10 +Key = 6a170e04092eccea3372466896807c2f +IV = 5ec9d27401925f29f56f03d1ad182cc086ffde6037cfdf3d1db83238c679e8131cf8e78e73066e6208bb7ea5b62f9652d27f119868b94dfe962acdec628c6679b15a5cd86a32cafc0c09cd751f28be480e848fdf1232f3fcdd464f7fadafe2aadabf3d9b45495326a7d94cb01f5a6815d5479886e48499328555b564216b2677 +CT = +AAD = f6deb583290d089bfd6b13edf9b04672eaabb8dff63e97ff070b5b2675ef23837bc3630c9d6a5d5d64630a9b361589293743f8b6a2e39af347626e4636346e8343a02d676c8e566e98d5eb8ec3db9bf127dffdfc43d387ff5903 +Tag = a2b0daf9f455a5f9263bff01e4 +PT = + +Count = 11 +Key = cc31f963c5a027d8b6623ea0fee36281 +IV = 4bb43d51d362c36b1529bad8101a3790b39b5bd473906edd17c6cd4673af0fa1e9ba6defedb9bd1f790394e9ab599c8fdc5d9bcd938b3365792132d2e49398d4b310a512dd3b855e00a2586c944489c8828d30069a3106f986c0ff2bd228d4fab7a5f60a3a4cdf743575cb350a98dade3168a86f20782db1308fde0b4a315168 +CT = +AAD = 76f5117e33752149a5697dda9e0d00cdf130670671d7777514ddf6751ce89529b410f3503beb3faf3d7fd78a7a6f821c30f980387d7003c4fefb9c56d72e08de1655d7ae09cc71fc083508d3dc3ce22f709b97a11aaa1ea5171d +Tag = 4d82cbd9d8e408e251d1294585 +PT = + +Count = 12 +Key = 916b1e6d63bd372a7230197d3c642bb4 +IV = ad6a903fcb775f21c9a29a941c5712e3c0a88768e667ba7bdf2955ae45a0f52b016be1baeb550ffa82d5b7cf2e495c15597cf9ffac19bc5ddb894146d1d0582f7dd545b1b0e5fb78b769972a3709761bf2788f716ad7f9945324927704dd6968dac132350e2f9f88ef114feafd4a0c5e6a47f1001669068d946fa320b8e9d49c +CT = +AAD = 9921c94d6b31a2c0c86d53fbf1ee4cab4f5a9f68054f797432cef4d4c4c20cd2a7420eec747d03402efe5f1f5a8e5c0912bcfa8f6af9da5c040be5b5a484aa54c5be35a0e73f2f1a4250257a1eb82e99cbac157c32327a858583 +Tag = 708fb4faff5ba6b5ea42a2696d +FAIL + +Count = 13 +Key = cacd362845069292725913a061a995c7 +IV = deeb10e42c66eef3ad979252f4923928daecb4393e7ce9da6b28baf5b57366f89e083cac0c67d8e7cf77844a09a39fa6a7c9c1bee162bca1d0a476b72f90effe07f7d8e46aafb00d4f9863a38b5f64d7a87987c7302b11b10e326967f1b4f5d45685bfbbef545ed30e77c442dcf07179b0cede1093837194b97cd058ad6bf285 +CT = +AAD = 6b343d9708497cf42a2e76b95be4e5ff3bd3e48897fe3316176b9d13443ef8909e4f5d28b40cdd72a22b93a8f645ade5b1e33dbf87a39b59474c42f09ef66601918f17ec205c70519ebdeba48f2228ff4555897bd849261472ea +Tag = cb69bca7a55ed87722a641cc06 +FAIL + +Count = 14 +Key = 48868101b9ccf69059bed925ebaaaf74 +IV = 100148904570a227c0a1e48127788d7eb9db65c3d10de2079368e918baea4fa8aeb323be6e7af8fbd31aff343472b391a22e4f2e3aab7550ba0b196d8e73f54e343c0be72737da0d52cdd94804ae4b658ad579f2e24b76eb00dbdb1b8dfff97e256b0c25bd8c5d12ab0e20153c211d227a750edbe6cc28677f6f9f279734502c +CT = +AAD = 9e909c97b92914a6e5163eb698049990d4e03ef2ec031f65e91828d978774106f952fc38549b284c32510af188126bde048b381a7a1464e6f9c20ad72fed9ee8c85c1ea6c4b6ea8b9a6e869904ace7350cecbe9afd8f72c1868d +Tag = b95ae2c6fb8aa6f407a47d4766 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 4d869dbd8ad8fe130df1612ce5524ca9 +IV = 57f728b1ba040c5bdb7dd191edbb4f7a678d86bce95ff4d2c424a818d1617a9a087cec3ace22d070748cb09bd3e13215608359f4bf90b27c3fceb1501ca78314c3138d05a10f3fda8fb7ebbe8968e6d59893c840b81f72241847f5b9ef0c97a52d0f5fe90374f043a28e6e33b1fb40775691ada7f1667daada1390b36a55878f +CT = +AAD = 614cb9e1f6a526c97ddd750d8c665739cfd88bc59a087f28dda230c2c0f6e8bf4ed17ed0f387bd0514803f225f1fb52c4dffd69c4492b0eac301318885954a93d9dd3bbc7f6ad46b467d84083ffcb9a19c6bc82145f7e5a42509 +Tag = 757976e87ace9c58904fb50c +PT = + +Count = 1 +Key = 28bbbeaf17a174ed68273507fa459097 +IV = 249b6d805e8cf2c1f83f47d14b8e53673c6977f0a0fd8b4a8611f034aa1dcb634600116253d1eb9581050faa64339799e71e1ae86f04ae667e515c5811179eea6256738bf3c2f370881a805916242e9cf489ca953bee1444fd39030b0f676574763b799e3c67d263e86fa8fa5e6cf016d6e96f4c273ad875905b6241f54098d2 +CT = +AAD = 6ac473f84d30b521ac5b5837de9c8ce63fb90a6db62c72ca21481311b652bb7b85a435b16b9cd4c9a4a51cd2c76f00e5f12da9c3f2912a013d9d20d73742be65f76c4ccfb3ac6394cc2d99bd2a8cac7d328126cf3a5d88912842 +Tag = ae7cd481cd4b1220cba198fd +PT = + +Count = 2 +Key = 1e9b626e9e14cc40026cd0dd3c227721 +IV = 7b0e651408c1951c62f41e65bcbcb3f3f9dc56609289fb35ac0da57e7ddf8be29929b20a5990cf123c972fba38e16e5925214b1016f9a0b6059844d1330153d1bf4508a56a1f41a6653f4cb33226ed5b9e991411e443042fbaafe5ff853586375ece649be4cdc7bce1f94c69c44d3d8588b5075c393579abcaaa3b390b07b1eb +CT = +AAD = 40313d50d20fac9230fbdfdd78309e95836f7e25aa3f4a22f6cacb89b1b786cfcdcf3b75b61a608f1c4f5475b7b05aa6b2653d579bcb9dd7b5a49a1f6333990a542b1f730df9a9204ea93400aca9a60469f4fb762729e183888a +Tag = debf52459371175751ba02ae +FAIL + +Count = 3 +Key = 3743559f0d10ae22b5014418d11a585f +IV = e2fc2e89c3ff82a2a516c724102f03086b5a7ce3abc42180f100894ee24892840068a5b735ff6bfc956dcc9990bad9eef8a9251cfca043587f308ac5d5082233ff6f583eab5411131a648761a08eb69a127f766a249ef581dc143fbff39ff4c27db6c45d610d95bfd56ae645cd686038125e32831bb19c061255698abc40d5ce +CT = +AAD = bb982935f6b0c774e98ebce3b23e18031fdaaa82832e69005484207b51b4a8651109d0096edb2f08810a33e972e5db36278a1d6f298421929a6c2da40f04cb9d003f76bad455dc3141f5832f086cc4a64981262c5629e3771d38 +Tag = d995d334e17f627299b975cb +FAIL + +Count = 4 +Key = 1af889426c620dca273d6d5c62400f2f +IV = fd36189d09b882aa07800541a06cd2ad5e4d024979bb6b271a03328718c2c1f10e5cb3d730ef7a4eec24c1001536529c639cf4513acfa3ad15c6aa223754a7ef197a06d2b54b12f82a720a1085803d6579907b1a639dc998e2984c3d22bb8457bfabd5d6f45ec4e270340769dab19a33873afe1232905298b16ddd5246df4d66 +CT = +AAD = 1a7abf83b06500dcf4251a957b53d7c6b942a1916b5a13fcf95cf12ef0c7370af9bc792583d8a6685c2758071c2bbcff8cf7f3d1646851a6a0e4101d97e5cf4cbb90bb5c14735e6e9d38874f2df7c125579fc120a11266906c39 +Tag = 52f3dfaa06cf660137456ba0 +FAIL + +Count = 5 +Key = c7b144b21129fcf82ad21a609b041b61 +IV = abf76f83091bddc6574c481ac93781f37f7548bb5b3ff5c95192ac2c464686fe4c30bc0ab664b56b30e00a182a5062e60b2b310d31dc9607dd0cc5063f4eb406ffa0865f764f23b817f5d6b67a978319a0ffd6d31ce6cc2b969c7a194b5834f58c37f08f6260dae4e944d1e77335e4c266f9f9db460b945fd75131ced12822e7 +CT = +AAD = 134e48b898a93318a9f4e7279358d1aaafa5c4a1bdbad637935d9097bf05540070830076059e8fd43243d2b2b24e3b0b5927d47e2c5c13eb3004d0b4cd773c73176785ea55c0986e9fb03dcddcddee0270305f29b8c677f8791d +Tag = 3e07c8a636d690ac80c2c92f +PT = + +Count = 6 +Key = a305d4df832ffb0c623d46443e31ea32 +IV = 854cdeb684ff1e05503af5e12ba7d566e6d0dee9dd565efb321da398c65f6dd36f21cd5dfdd6d85c7d541931948f3d7d0f0c52de6ce3ba59511e9cad1b607337cf015246c1f4d7fdfbf7aa126f4d11e3a7334319c94be42bdc6d8848f7f25d03765dfd9ce7b0109e63bab8d715819937d1c57c805efd349274ec87944cf29efb +CT = +AAD = 032907cc873c85de9f7b3df3d56b00c2ddf28b8639bb3bbed7e6031c7fc2353d47145e6caec11e308cef21d9d07ff693c3168b17cb68b01fe457fe05c3e14cf4851a9deaf67b4dd7fed2a37110e53a67142d094c7532d90083e9 +Tag = 64781af31359e1946ed3245c +PT = + +Count = 7 +Key = bea268b7a611fb16714ded9405efc239 +IV = cb157c75c02c1a00db98f1e8dfd150121af9ddd983dbda1664ce43bfee9f05f3add8d60c503793ff0e662ad33125507e2898146d5de366bb1dc6710c532450c1b02afce41f0f40da1730d4fbe9492c0158dccdd3eb1222a8235070eb3808eed09e920ce2a169e7c22d04b2a91235045ef88004f682a69212323bc75bb4c1adb5 +CT = +AAD = c3f473bfdf4e592a08c99655ee4604a4864d620518df51bc8dcf3a9df0a2398cb30efd366ae4bf9b860e4917670fa6d865ee0f211c057f834cf86a7a4e8ccd26573a31e63a176c727eab7ec8827ee926af6bf13cc5f271e47257 +Tag = 8a53cbdb76f78c8e2e99f805 +FAIL + +Count = 8 +Key = 0b5ca6087059fa138d111efc07020fe0 +IV = e74816980f7cfee3533d969b77c7be3d88dbaa3a20e841324296e1f77c406acbb12a9b32b1b1d2d1996a01dde56a00ed1feb7a054d2d08d06e0707cd602e345c7c723ec16755a386405def0d5f7d9a83189a0f93df123925e078a75e9cc8879dfe55b1d18827966834e2663dcdfa552b1e77ef0d03c2b2acedfe851bc7d38573 +CT = +AAD = 1eb3c25fff35fc153fc9a61ee7d4f9ca8ab0561d1f26aaeef96d705eb1d45cb6ace0d383a14ebd092c821b250d3722f87f26473fca0f556754614cc71fe6fd5ec6c2fe52224cfb772e46f9be0e69866cf93f142c6ec1ff4eb533 +Tag = 76a1f93b7bf9946b9de2981a +FAIL + +Count = 9 +Key = 720615d03f5e5374603829f4660b4c47 +IV = 8b4e0789782d01cd766d3bd693c9e1ae5d75032d6f2875c32c8a4ed97377f7dc4270a65ecbb5bb7d0ecd4f1815c8fb2905cc09cb4d4b1719ec9dd3d5728e4154eb22360432d93af64a086f69234bd74057a4e90c4439c6722f419e3ba97eb8b9aa3c9334a77b7dfae0aaa6bd9b53153cfe864c2ec28ed8e07ed4ffecb68c7ccf +CT = +AAD = 9544cb6836ec74b881094b6fb700aa7cf043c5d200c0af1aa36e4ee5b62a83e3a82c3c6d3027259bad74df31014605639a50d86a41011843cc4e4ec561a9b06ecb32c25ef45687407a79b4d00a37b136287e2c0125107aa56d25 +Tag = bfe4abad5411e13735b770ea +FAIL + +Count = 10 +Key = 94bbcb0dd467e7260b6b3efe8c0c71ab +IV = d5eb47f7b58c86068874764fb0d63eff7b587ff40c1579b6da353b1193c8d0582298b0207e0611210cbe29924bd0db3ef7ed92359c8c007dc047e6312239541fc1cf224fc8de9a61ead32bf1bf2eea580a43e6d3942e3363d90142e5086379d5d8eba66a63629b3cf6ea85f456469d1780da9859f5cbf34b1b4a60dd61ccdff9 +CT = +AAD = e1cb2f3eea28f85ad9b0deef58aefa2dc0d63850571c0eac6d659e3d8dfd4cf63d5f1d13436bd416f4f3f0c621f3a31824b022245368bd117deb4df3eba02d7a474009d65998c6e4f1fc9e577dede8a12c3616a637c29768d30b +Tag = f42120c1bed725f7d23b2097 +PT = + +Count = 11 +Key = ee523612423b5574ca768a4c53e95f81 +IV = 6dbfb180359080f9ec3bdb383b3eb700d414751b9f2f5a28372b45f926fd3aab66a2b64d7cf0a234c6519fe6dde469c176b6eef3d9640b1ad82b29c22d479aabe4ebf8790038f182ed8fa2983f06a387a06cdb546ef591a74c1aa246c11c2a2a8c9962f35bf5fa1d54be1284b5d99c65f7ea8686963658835ef8708825dfd799 +CT = +AAD = c66938ca099874ba0798a4fbcac8b3d66209de7d76de9a4bd76ab90b7424fb0c16abe3ed084714404699786e6c78f8a69c59fe8e30b51a1cf0432e626d4fa457a302460a1afa472b445445cda443edca0dcd296582583a3a887e +Tag = 02b8c443ef1e79b9ef0ba9be +PT = + +Count = 12 +Key = dc2f4dc0027e2b74175a4a90212533e6 +IV = 7fbd02a917fd4f872eb3a1257f69bf209f20d00f0151bb40158f008cfa455d228a0891e77d80817c7765c72a9995314f24a61b99f0e79a9d708901f403a4ab61c551311a4d4abcc9585801b21f50702b65be9771ae6487e791a43fc32d09aefb499f36192d4a04916381346a92a26bfa329616a4cf7ab1f50cc0b2c6b82a590d +CT = +AAD = 08ac410360e4d7231e2bf61eb57cdc7fb47c3a77171487db9177ad81b8600c267984dd20cc896198f1ab2bb1ce80f6fda8574b580097048c944a098609903abf9db916e7c530da31cd2b519e4c0c14a46bd7aa4e9b9ccb1bcb42 +Tag = e7f4f3c8e5bf3098f4e1f185 +FAIL + +Count = 13 +Key = 7b45b7c868f3ecf550c62d60181a7643 +IV = c5f1214dad6eb771fe7d00a09b501f19ff2ace504404a6825e69e0eb75bc68f393d1688cd2e197765f3a0a343fccd675746d592a1baf242188068dbb82457d5b7633ff6c47c666c299f51bbc5b2c39a01ea0e7ab87f9ae7e03a392b4f1239501fff60f09db91e3afb370a3584515de9461b54239d800837bb8b2ab448264023f +CT = +AAD = 303ce57c840418946b8a80968705ecb4740bf21ff155c96c4245e56f461074f6969ea02ecc0dd7b9aba808ea5516ef73e8010c30e7acb06c3f42c524014e355ac8895bd955e9525ab23a14736784eb3f41a6b8e0495348b6cfbe +Tag = 681ce9e6133ff02aa19d2a18 +FAIL + +Count = 14 +Key = a084b59c543e5b5661460721e3d98d27 +IV = 03335a3bbb59787511e4dc03d0bd79d0f89faff1ed97066196c59ef3b89920bc48be1d3dcb4ba65b715bef3d6cbb078d55cdb432913e1661661b18e0315ad2e801ffb8d3aef5cd8c3fda83acdc324a908cf3897c0b9f32dfb6aad27b77d898b109a812b97f8fb616a3781466835ff1d1aacf37382665acbb33e1773170950bc2 +CT = +AAD = a7869bb537452c48d1600a77aa5ae148840556f10cfdc27c5e1e3280f17da090a8ea87d252b93d464357b5adc0798b20b0cdf8fe41cf5562ceb17e40cca38f8a73f1c63d9723d3835fa5db5dcb5d8cd5867309a3a058488dc3a5 +Tag = 66e46531810c7f787c54a31d +PT = + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 523aecca84e8fdaaf4a92818e833e862 +IV = 7e6f93222caf8fa3cb8d9955e76a420eb36fc846358003097230be023708ec349fc3034859e16d0aa0fc0d8296ed3542ac9e942f77415bf7d20fc7f42235050b77dd781958e916164206ed8e14416edc8d9fc512842406039e7486f3faf883e9c6d8b70cad3eb58c2c605aa6a0193f4f2f792635b1342c799893c93fb24f615f +CT = +AAD = 41e0dae3de09dab45b563835731677269e2701208a7398325ee76a791df798b74769a44e6a276b389dada3b314356b6430ac90c10486ba26c9d9a0a17c0ea55a280f07a1a2f38201a31fed79ae5276fbff894f3155340919b1db +Tag = d6dcc6fe80910a19 +PT = + +Count = 1 +Key = baf0e175c94f8185d2afe9968756f786 +IV = 4b89f92492b75c956a790280f7eecda604e18d6537ba615773e0e46af49f4c8823bb675930437928b5bd883b173b80fac218cd83c86de7f3cef409e18261b8b5aa7a8fce9760a925ef66f0c0cd35ce47654d046d2ed5a1c154c565044a1e1f783f73f6c2b1e1601aa38560f2e5bc6cd3b6cf745f603cdad2b612cdac77cbc764 +CT = +AAD = 4e9ea11f05c540bd1f7b900096399a168d26c892c1fdae6661ab142a320d1ce8ea38ea9aaf8416a0c577619a19d4ac573d63e125b9ee13609d0d067e50232849070e0cfd5780c9e17a08ccaccdd32b4c5a0a5aa71013560c3d0f +Tag = 49781a358ab67eb5 +PT = + +Count = 2 +Key = 2ff6adbc653aadaf428da0595ebbd6ac +IV = 74c380e6da058bceb66b8481bbf20e4d08ec4b17f3cf9a89e1dd41ce1b3a83cad927ca24791dae059caccf848650db214dd9a0289ada21561dc8c6cef79bc2eff32ec9a4bb12b8ea1cd50458646e6868f59e49d648bfca67a9db44669dabcecb6354b82c93425998e336d3305cdda06c46b5505c2b40ed43a8cb027b17f72f1d +CT = +AAD = ac27ec24b9b232f603647efcd125850164c0e265e3c69da8e97dc36ba5d43bdc17d72deaa96f0c496c8d241965ba2f5cfb4208513711594c86bae22fefc5033586e16fe99789e93d75aa86b718dccde65bef4c04d4332efb58bd +Tag = d309ba658793c5b5 +FAIL + +Count = 3 +Key = 4193d06f59463d57686eacc53812c4b0 +IV = f31e1c4c6c02b52ca312ec1e59ad0e5c6616f5d1937beb8ae57672aa4d7c9feed96551c23d87948c22d6574590f5d5b5a63f018be059b43b11b6a6d3964f935142b00f252253437ad9a7c7cfc7f8e51f5d98b4f4b8e959a85c79b1c00244f1a9ee1ea6a89223fc234bd0e3259e51aaf7482ff7f119c5d35aaf75fdd0df655e53 +CT = +AAD = 2925c8968b999a1e78f47d83a2ce3def2e2e979a9315a82a38d11cfd803c8f668d33a6125d6c88e8c4bfb8fe7845d436d30d5d17b05a734afeb09af755b86823ee0112e992d1936e6be278ca753e22ec6bf39153e687a0c83c76 +Tag = adf51873043457f6 +PT = + +Count = 4 +Key = 3bee63e263fa0c95f7323cc57b0d365c +IV = dcdcff53cac60094df7857cefac6f7eb6e777a792e2d95ed757937f7f46b1fd8a288660047e8ccdbd18e47811d1d54ac9049136b58606f1866b3bf94b005fa9ae7e5af705a70ef7f5f43c99f6636dadead998091189f79fbb5502f1fe5ac8b6ce1523849f93ca21ed6d0f31fd56e05cd04814237f45deb32115c615c518e10d4 +CT = +AAD = c48f720af1347c0d33115d58859ae9f38e2f34557bf0362ea6cfc01db2227595e4e0f040ba080dbe265cdf4e0354b4fc3e9499ca974b15a9a4612d8456a29c395e9fe9a4fea135dca78b583924ce2c945cbf15b45b0f3a1ed2c9 +Tag = 3d4eb2c96a965d70 +PT = + +Count = 5 +Key = 169e42955f0510b6d91c364310937996 +IV = 9762c205f07ef74a4b0a4643e3d53b30ee5c9bb360a1b2f583845e9bcf1d57977a25855d6299c35a11e17b2f721881f5693a63b30c762964d6af7d9549408d973c1a1bc9b1c9ddb2251dd5645213aacd20d32cfe3590eb00e01bb202d87d0e54f06e421a83b93092be7601f300cfa074e952ce610347c37f9c4dab48ddac6f4b +CT = +AAD = 3f0009df8cc186cd9b2afacaeb8e2a67086fcd3c56254eb335f18d39a351f61cc005571c47702a959e75c518301d3487f6dd8f1ca706ab07736b7c80c09439899b748df4a4b6e6fdc211c52ad887e914cabba994d3c8dce3111b +Tag = 172d769738f42fea +FAIL + +Count = 6 +Key = 3226811f0091f835d2f049ec26e7ef94 +IV = c42a00c9a4738963b658069cf05f32e1bc9a32db209eb17369600be9a94401abd2bdcabf22ec07f9f3dbe40962367ace1a0daa49c42e2123c7ffdbb5389156a4d47ae378b32681ab02a3ab6fe89c765f2783f78bdef09101988b4eb60826b1e9da5417cac1d8fb29d36e2bff57b78f4488ed71d5bca391f36b1e5c70c9bb61c3 +CT = +AAD = 84667e8cf24886b9ca76cf03e4ae5af9ccbc1a4c24a0765e22176fd5b55e36851f78f687361bcafb1351a90835b9ba9ee5c5fa663dec96e23e4c912f9afab3a012bc3874371e42e5eb2e1e7ef3a4d853d081dc0d8bf179df5808 +Tag = dbfcf4f204e7ef64 +PT = + +Count = 7 +Key = 01eb5e4a3877ecd4509abfe842a8d644 +IV = 6744786bc13bd5ee35be6f6913d96847671fb217e7405e917b42a838b359eeb9fb6bd5437e1483356bd915d6f9cb03114bd5ee7d1c26c28e462b90433a4c1c12aa45a3da4471c382f56cd2aadbcf77b6a56df77c142215b8625c3d6e946173bccb71c1e22ac4d783b48c9ea6e86f0747d3279fb9954e7383b29c1db43eb6a491 +CT = +AAD = c1194f8d477356cabb2276e3e0cadcd5efe84b3e431d513270512683c09285d8ba227c7a1590863f89d1dbe28a08cfa843d4d7cf4108229aa17066181e6bcce2db1f4bc361519bea83622f1eb90ef16ab5606db41363a391c2fb +Tag = dbed138b0c5afd19 +FAIL + +Count = 8 +Key = 141972b6f3495d8e6031cfd780a03e23 +IV = f9f7edaf3bc8278566e56747d1ed4b93e45015391f120dda9b67f3388df9015a8e410c6550ef450eee863d37403e925eb3e752195f2cc9fff0cf89520ca1d3ca262e43837dbfd83c6752df6075afaa0013bb8694b4f0671ce5070b74ac0f5fb1e5270de2670a28b5e7272414cc0c3cd8ca792f298688f2d9c6f5d80954277605 +CT = +AAD = 300296bf211d55468d3e82aa513eb0e3f628ec5062b03f60ba5312a6cf002184736c64767dde78833e6b27dc9b4f3e7b598c00c5cb60e326be575aba5feed703b63ba9b54e008c91e6e959fc99041deb988caba4edba2b7ce624 +Tag = 8f34e59bd33261d3 +FAIL + +Count = 9 +Key = 97edacfbf66057a69b0589c71b65e5d0 +IV = f802dd1ab7065a3277b4057dd3a1c7ae4b1641256179ccf2bf92f596f00220c39f9ecc90263f850cc004e00fcff9185dd9c4fcde97b6174d91327202540b2b76900a6a67339b9e9d3d66f7a401378158b56dfd6bc61af157007754e54744fe7f9aee4e291c523a577af538bbc7657d6f2d3088e526608f811227b428bf9c81b4 +CT = +AAD = ddc71538212fae0b9c8bc498e7128d4203d4e5fab346d51c5b94710efb9678517d49dbcc53742dd6a17acee4f7940a7a12bfd2d199f0ae39e01751116d6955bd0cc8a6c26a617eee65aa7a2a1710b29f024a1338ebaf53aa7fff +Tag = 8ec8d653a73201e9 +PT = + +Count = 10 +Key = 595ec265b4c690a0b86ac11d8b151364 +IV = 822458516f888f32fcd98198c5dba3e2b2e5ee454dcad2ded54d71b3c9451454c03b6a595ce2c0362b94236e38aa8032f9fbaa19f01058ad00f1a3171cc5ee5c02eccadf674313c1c69a53bfcefcd9aaace9c09de343f11c43896726c4e232ab666993078e7fe6842bcf6331d23d7221c80510395091d4f5f1f072e9eb3544b4 +CT = +AAD = 3921206320896d7726616eb8005d5705e0a77e5894733223c23e7cbf92c6fa1185522ec54fd8a06c5b3f05450dd7118a610abba486152072d13e85c664b968b4e1c990c79ab0e64a7b0a2ce263721ccb0fb5b1fe37cc09bf99eb +Tag = 414fcd26a20874ad +PT = + +Count = 11 +Key = b34015d60345fb920023e8c2d49d5d1b +IV = 9127ee2006aedfb99f8b8cb1b5600ea9d0d2a5a66378c43216fba4ece933a23a5bda1709897401d3099fa48a51c6477d7723971533698af4b2d6710328a89a628acfce854ef6c992e53ff35053c855298b3011d6f2d58a8caa89d3f9dce5264e0a0406cf8dd60e426594a561aaba446d5a83ae11256f97198c64e6165300b98a +CT = +AAD = 2eafdd2b0dd1f08faab731b19fbb05f8bf0a21df9ea92a4024cc9efd8df0360f7e2cb39037fb7cf313177f9b72b97310fe0c9a86383f0a69b0d4e1631158219559e39955271153343730fcaa95ed29cb8d3908d63d701061ffcc +Tag = 7a343770fc8b32a4 +PT = + +Count = 12 +Key = 87e89417da086dc9a93ce2522cee9f40 +IV = 9dd697e7d347c8a779b8dc84060c1fcc5687be6f26ae6e6cfc1b9b0d0859714e743de48eb7430b379e0b0067e7bf42d5484077809e92f0ec11cbde5843bda434b466208254c6497b6f1f532365626e8f7c1108405bdc7d806e91906fcc8e937f33790bd54ba6f59080fa08b161401f4bc7680710ca8a73daca4e802556c232fb +CT = +AAD = 5493b1cbcf0cb27a5a42ea14d19998ceee609b3a0a6a72f5e5a37e5f831adb82af97103a548bde810a3d0bbc3c53e95d879ef5d6e09e5a00cb5434c803e9323bba6c0a70fe30110f74371b022871cb6f811a75417e62294544e9 +Tag = 92e021ff5e896a5d +PT = + +Count = 13 +Key = c91f2f4a3695ada763fd1caa2da817b2 +IV = e66bf0baf7f01e059e981986148d5e349d3a5cde08b301a9f1ffa19b6dd4465df092b7f1daea236e24a64c36a2ee442e9b3b62ac334385f0db6377837aa8bc81ee06e9da6884a29e538abea9bb04943efce9620349fcf6beb7c9f15a484cd527d29a7e803d66d785f8e88a502abb8398b548dca1ab4bdfa978f593251d721184 +CT = +AAD = d664210e6f9e686d792b36a7fbac8037447696d855064ef6f725a87fac00db715808d56bfd6d5d6fd11dae9beb31de026cd5cf9ed40c323dd737fdc5dcd11b4dac4bb0f5aeb588fc6563c55cd8e9ca69d2703794f2cd226c0313 +Tag = 010750150b2fbf25 +PT = + +Count = 14 +Key = 57317a4774efbd87865ef6c8cf235806 +IV = c6a7ffd707e1bd995969a2354b9b3aa05011a81cd4ad3bbe189f5cd36383aa888382833828c427266b74fb17ebe253fcbc38e060cec7ac4a6acce82f6b53cf5cc429f7775835f69756229bd94639492fc0a819b0d5b8d5a94f086f56130725da5b68659655fbf495c42dad7e676be6cc6781716eaa9249756ab25cac3d0939a6 +CT = +AAD = e1940ce694382de8a2a22eba9bf62394798aeff7ecec7b192cf8e2c64966095d9c5d7b47e2521984b7fc5a13507451f81e922321bd8a14edf884a6b4b710556fa83c1525d77a93576f470f1bf68d6abfcc8d8ed2c112777ff60b +Tag = c5e9549a1c93bbaa +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 3742bfdebf0bc6d4ad70091adbd6b160 +IV = f305d4323614eaf8cc5b3d33ce326d56f6de81095e794f83196075578ad3ebb27ef6207fed0460d1fd9933c4b60fcdcb3eb527a4f0e65a524bd1203af452e089ab48549e9e324e40f70ba9fb95d975b02c3c2c208d28127037cfb93da26ecdf975aed62ab9493b7d2a9a18e587ec6cf42c5cccf732be9c1dde8acb90ff7d7429 +CT = +AAD = 91b87298ac8ff4095c8e061ae573673bd1fba7ad0d9a6b49e9a2a55869bf03a25a75f19f3abef8861d0abb9a63325fea9c80e31058585e14f6d4c1d70d7eff42dc65c187fef26ff44c1eac2a8c0f59adce163fddb478ff531006 +Tag = 53e68efe +PT = + +Count = 1 +Key = a0f819b2431ae063939470e0e1711151 +IV = 9e7a043d4274abad66a68efe1f42be9d5ad391f5b68116b5018d99e03b72bcce90b6d859de4f5eb94ed7cdce407fd5aca76e3ee2b2c2130f9e99ab258aeafabdd82c2caf91ae0f25ff8041ee853f27f177914d309687acf6d492d1ad78c19d5d73adb567f455bbb6c4397db2c57a0d97506bdbfaf82dea3c113fcd0d81952995 +CT = +AAD = 6a5414065a2dcfcc4744fb2090a75b2eb2cf19af399cee6282f635882ec013d1cbe22da0677e94411aeee414ed5479dbfc54b1d14dd6646ad9a277afc3f667dfa84ad175294598b16ad1b30fab02061ee587aa2300c8952145a6 +Tag = d796d733 +FAIL + +Count = 2 +Key = f8af1f00ce0e4fd87804ec832e105e5c +IV = 61210fc476852fdadb78db123279822c7e1b710b7ec53bd51534f9ff314143432ad176261561018c9cfacdf6accb682b7f40027e6ed8cad881cefb3476fc0ea903a5b3afddf0586b35e6bce21b3c1129509b1bbe0479a525596fa095cb28ef81d8a91f146effc5456da843ae5a00e3f0a3dea1667379ab701f6a18c2bfd85762 +CT = +AAD = 8dc280138e0ff9593603311f86c342b804ee2bf1f81c06441dbd0b231afd99ebb3e7b78ce28687f5ca0668fa3325debf2b722a8df934923299ac2456fd76d5be0f8fe92f71dde05dc433ae3c3eeeca84da46232db717f07a5110 +Tag = 9ed93489 +FAIL + +Count = 3 +Key = 6734fd3f04b204d7d87d9173342905f8 +IV = ad6fc579c88d1618b8b1423ed7909849151e8577da8066ed2a7ad4e9ac9f6d339dd0bf6a7dcde9c0dc1c5765c95d6c4b517145cfab23b4d2ff13c058eb579e9ed55e679457ab86402838495892706213e30cc6198f623624a384615dc0832a07b9b055ce79f2b7d38212348d9412f0e13a475d6c5c690d4e942a858a2836e42c +CT = +AAD = 28d48ae8f3756763b9d6d16532b45d399f15e99b3fa3dd908495adc35ec8acfd7ea2aff3130d6f4b4620fc74602af6f35a262f33cb9ae221a2e0c23358881243d644a045dfb36f660285b4487d6b7cc1b8803a3374c8b1070c8f +Tag = c87d4f41 +FAIL + +Count = 4 +Key = 6d05f9266acf308f1e07266f982c8dbf +IV = 44973e7453e292f6f439201c9dbf0fd4d14eadb1b021d34cb7972b52403e84ae36b75a1d12545b3ea8e69d092cdf1c80816f1a24417812773dc7fa39e4dfe70acf5e63d34f20682d7f50e7e45e38f871d9d5b2b968ecdc6c32e464111734a0d8c2da3852a89c93ff7e40ba0e1826674318af086e37af82fa32cf5fe3ff135d43 +CT = +AAD = eab4e8ce2e357617f91ac1a93bda47aa8c346bbfb7f4661a821344ba6a316892ee49942c46da894d50d450edba0a3c8b3f50b0792a39bcbf59a756e57f44af4819f3bd76c87b2446e195c867c0aba79760e5e494161d4f0ea3c5 +Tag = 73e03933 +PT = + +Count = 5 +Key = 02485d914e282e25bc28a99f121c9f46 +IV = d8a9c15bc8050a5f783a10fdcf50ecd38648acf5ab76eea89fc4333c50983a20ea2b011e8fbb6b5ac1836cc8db36fd042da1b4cf4eeca9d3eda26118b53a7fd501ed952a50ca16161dcfb1ce0bc21d2408ecb791cdc25b3631200c454837221c2b2d9b5e4e9d57bb9b476bf78e2f9b5081b2eced6cfb8aa2a00e85354dfcfd5a +CT = +AAD = c63915a20b758b08bbc6ce7fcd38c27b7d15edcd2b181071360ad23d916a560ac564ad2a81674b96cadb137bb8285ad55d1f35e3d93e493255f4bb6e5a58bf7b3d9d87bf89ccaf8c84055ed806a207499f141808d6e98bf0eee9 +Tag = f3225965 +FAIL + +Count = 6 +Key = 2bed125b214f3cf1cc029a2dded5bcbf +IV = 9a81fb7544dcecb52586e60437db34cfeae93f786a4d4a18006ba187ae728fb6361f11bb5b1933b682df5930e695c7264776e22561f39540a47f2bcd245990540056855e3b4c832c3c829908510eded71137a676f848310e0efb91382fa78ade5e430e63e77c6e798da24b43d00d931376e40fa0aa5c175aadbc07dc4a66b637 +CT = +AAD = b3329818bbffebe838a3403b87f5d69973efd73b75a3677e9f30d108c3e23c5a6a8835599b0818dc6e75db916cdc8dfaf055f1f194965333029aa82023434eea4dba15eb969e16ecd4fc55e060a302b77de4348b07fdcfe25b61 +Tag = 5f9287a9 +PT = + +Count = 7 +Key = 846ff09e1ee17963819ded2a10c49fa3 +IV = c134f46f5af1864d4ab6cece5b1f3ac68d4aaa04bcb721833dcd7009444a18c99cc59809d979c584e9f04dc7edc0a6b77994034ac86cc195b092fd02c4f1fef5a6d00152a52938ad0de5480bc68fa3e45ead85833bbd3cc1f5a523634a1906c44a4ec3357b0fa8ffb043084074bde2475242f889af4e2a845bf0488c75e14d70 +CT = +AAD = 1e1e706317032822de7797e92aa3f2b824bc89815f22a029524386075326023eda5e8acaca2be1abd1d4ddb75746a1a44854dc3835c329676631c230e0a5f05d22deafec503ef05dc10ca63505b5f7bd3fb24e1a82df40e21c99 +Tag = bb97e014 +PT = + +Count = 8 +Key = d7dff5570c34a5c2f47c128e670a60b3 +IV = 64f010b097c7387eb30a5c7fb1e020e0c09c365e2834129fcb33c1b54d2bf62a99d325233d0492b0ae091e6a08b9e1bdad837ffb338732d46eb8a54172565893d4b47fe187e19ffe618fdd652825189a0f4447e6f4b506755a4e93ba64765e8685d5bf0e822d11e227759f6edb17e7d6139c25ebff489fbe3fa231299956e9a5 +CT = +AAD = a2d469c1e1a510c0b292200e6cb210bcca9317fa4c853f59defef63a2804096853a0b2606d27595515364a7898ec6f762be17e5075c52e60015ed15f712e6516780fa941371bb41b48aae901d82a80b90c28b4e33930122e2ee2 +Tag = 0692aeaf +FAIL + +Count = 9 +Key = 329efb78873952ec3e586c7e007d31bc +IV = ea3242e1ff7ee9585be249d10065ad6f422ed18962ef358b3f517003d993fb21a654581532d7b0424bc97aec710330588abac4db192eec03a36191585a7ad39daead8c10cea2f02a5d9f282fa8a72dd96704151ee73f8a4f12c0aa4273e955c1eca7bc9cda769a11b1244ae675c5134e6c5a8907ceb28e45d44aaddb74dcc5d7 +CT = +AAD = 8e0d2637d6126202c94a0a1a4574b950dfcbd282001cadbdf4d4a36c838869a5c3a0f3ddcd8b8bd2b34c6a11ef069ef467ae4705f5307ef32002d10c13aacb9141b1a7e6073ac0477f55723bbc210437120b0e2847000b3abb55 +Tag = fd76f48c +PT = + +Count = 10 +Key = a59eb2a062057e7375871212ad0d5780 +IV = 75745f59da6a9d6d6f94ce1f5d5b7f42caa42cf64dd8022920e74887243f786d39eff5b2fdddf11e0b4ae88c7fd764dd16960057565ec67e791767c61e95e2d0f93302f50d52df7355a305b8d1b474d2eed55560c703d828af9eabe84895dbddf4ecfd561af2703d10c69cdd1c83a998c29f69459bd532989333f14d697887bf +CT = +AAD = dc5f7a3e8838056d71cb3c35304fc7cd5692d58c776a6162f34c20f411cbd3a138cbda23894a0e97de7f4643dff00237699fb0852a5cde400bc7c3a364ecaa0454c642b486bd4b4fd7f2cec38b30c0f444e99e6f24fbc7b67a4a +Tag = c67f08b6 +PT = + +Count = 11 +Key = b96b3ee52b8f1a55ac4ea9ba37a1e279 +IV = f046b124659c2a45778cbccc2251e725537eb5fa3371910ab0a333c1390c71102628b7a8a31d600151386ca97f04e3a90df80939814c51f8b0b17ce9e44e36e4c7b731ac82e991f8b0eaca7a7429d8dab470857c041b863fababc07a785b82ac66eb0da31dba59c9544cd518fd8618ee983c4faff894f8c4d79ec8f27ca57103 +CT = +AAD = 78484f542f88dd61075630afbb2fddb65d594e2b3b2677064903c637f50a0efc45c1eb7c9cee614571ae08f6b816d806cafb256c1bd7d6c07ef1565ad0fced650d738367b07207ba2fa04d6e3ff965ed0d3bcbe80fff7be8a69c +Tag = 696dff9f +PT = + +Count = 12 +Key = 9096f7c1d1b02f1625324b184ff7ec1c +IV = 3e8d0f009f7edea59ac01c01e744cec34fb4108918bddc58419ee2377f12e8daab06bffdb07776093affc0d0d9aedb2f4918daa7ad9e6e56590aed58204c35416c0365a1898bec46715735aed6af0db3d5f1fa52e6ead2864a635ea6bf7ccc2eb829be94e83a139de154298d36758926a42a1318abe507fbf2bb9f22e8deeb0f +CT = +AAD = fdf8eb08f3e86fda27f256b19a3de226a6fa4e1e6930f3ceacbef498450dbd697e182a0b4039178664de51ef2f170df644c2d388f4db0957f8accb92e823fa24b1c808455602db40f7e4e8b943742f88bd0f1997bec4a12c3964 +Tag = 9274940a +FAIL + +Count = 13 +Key = f27631d9ce3f02bd8397e7cfa5426bc7 +IV = cecebdc54352b410a6316d66dbae2fc485ff211753ad871e96570607c90568e3683a65420107561e13c4032d27f8ad86d59ee8f16548ea602248758ceaf5e8d77fa6edf37e6ee8cc28771a5ee705eada202feccda5b84a63da608a41982a3e1ea9263389c3e76e782bac2513b9988370022530035c9d9045a8a8637f722dc451 +CT = +AAD = 583b71f0b86dcc0badbe32da51564082c97061978258dd07cebd5962545a1e0ced39eafb0ec9f8443d64263cc0fe939a5e1dd7fa2721c2856dae71a6583df01290f98e37ecc8e115035e9346898d0fc2333d62cc03b1b826b696 +Tag = 0bf2cdb5 +PT = + +Count = 14 +Key = 35cbe44ce0a626e8bb52b3153af0d59d +IV = 0c735be4d34ea0d9d8d02e7e75e759cf2981e448000384a16ee50189d832c0206875c21c319ca7197f6634ed4af2dd003caa582b1f7e9a878573be86facf1fd0138e725a5dba363a4102112cc81fcee250d9f86be7e60638c770263856140efe1683dbaf745276140e83e4bad7ec7ef4ddd3153b31eb6759cda2a50b4770f07e +CT = +AAD = 4e01138649ac7173cba074c3cb056037fb157bb24fbc02fd2f7ca0d0992a974d450c1d2477c99d3c74a04aba4798baef7d5f60363d252ffe85b409420ad44778af062abe47d3ec776ec429e586f817cda3f0ceb02ca3139d0251 +Tag = 34e8a954 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = cf8609cdd35a1bf0edaf47c178338ed4 +IV = 93a3353e94d04e5c2639a2f558315ce10bafcf2c512618f4f8c45b9f417fdb895f6c2c1ab646f2a124b7146a87c23ca1e5e5cf0b34ce4c5ed956e6933f9257f5d362a7155795c537bbe7436a639a0f6c797304519bfb47ec6f92953a6415ffc4d400cd4f226b4944c79c2c217fc5a140a3cdafd04dfc3e35a305e44984e73af0 +CT = d5b9782539df8e6d428e672cc33ec0b8 +AAD = +Tag = 9fa845455f16cf49e05dd86cc7dfcf1e +PT = a31cd7e8875b86d341e69834cbc31cc4 + +Count = 1 +Key = 22e428e942c98a1c4c890abda53b10a4 +IV = 10a8dd95ea3edd323b3b87b178476164b4ff80a64d626ac4a41b9d41d89bfd1115a07de81ac8f85148ab1eae55403a2a442dc4ed22ea243aa21ff531622ae5bd5eadc1a735460c1479b3207d764d1dd05402190a2779d915f9448ec345f1c05190597ccdc089c8628efdf044fab549e5f52ac80c09693d169c16980037dea084 +CT = 5cf3131fe70ced5e238bfea1a7c1f08c +AAD = +Tag = 38f3d6f698a930c93e3f8ff71b778c8e +FAIL + +Count = 2 +Key = e37d5de43636d6ce94a8f11dfbc14c65 +IV = eef3e8904d02e41fbb21c6f8ea2f141d0c84475ddc9d2ffc4e02bfc11715009fc704ecf8775a1c6d4b08bc1ab2f93a9556b40d379b7f48fff3034dbf00e02ce82f219e44e48c86532ba2de802fc8f718cdd37e4e0ab6b94a82107465f83da17aa4f477ec0563e3bd465c64d95f79f25a432466e5827ca84fd72c2638641ff07e +CT = b979208bae755b83c87579794c2a2bf6 +AAD = +Tag = a15b8080ff54f597372f899edcf8e9ac +PT = ac2106b24c3d266d77d35f21b751cb74 + +Count = 3 +Key = 90ff246beb0baf3f82ed24419672882f +IV = bc9364c025d8a1aa9b0f9c99e5fde3bbee5a1029f243d02bc764fa3479c375875a24ce5a96f920c8471396a27859b7abfe7e68e3a86eee49fed389853b6913c7e7be5647af1fb750a10c318492ed0b39a00ff14d5e8d01cc300637c5cebd743c4f442885dff9606cac617c126ca4560b07ce4ae3c6d77267708ef49bb77294e2 +CT = e7fc4e0b423d053aba78af3437a6feac +AAD = +Tag = 9febd58d7dd93159f8fa9a1de6c73e65 +PT = 1c29c77e883ed97e582fd2e847d412c1 + +Count = 4 +Key = cbb2ddfecfb08143323b185e3c7982eb +IV = 8d937d51a73836af2be2370a7f74b7a4e5cda7d8896837e314b3bc7d27bcf3ebb36fcffb5d3414e40fee2b01f8d41d9785855017c46e31bec3f40929da91588617b815ff573f4fba3ebc246bff975ded2607467222a80cfca3350c0119eef91b404d8d0fcfbac1dbdc004e75e6290bd71e6b04f673a1a30f85987b94f0984653 +CT = fce12435107314552ab65aa77a6b1a1c +AAD = +Tag = 1abc4c1283e6296e2e7a4d9f8e422a6b +PT = 38c77b177f7209eafe0d99d0aecf2db5 + +Count = 5 +Key = d92fb158f208c4f7bfaec0c18c904172 +IV = e0bfaccc565ec964d44d3a32d51aec0e598413ec0466860a253fb7dbc9942d27c1e4fa0d4c41970adb4638aece2bdf248940bb135b626fc5971abd8b7c07b19ed3db9cf8ac4514b1bfe5ff6495cc335943bc2bffb11abc45645699386cc7865a703ad36214f866a1ec2bd4e37cd5a0497c586fa522178ac8cbc3b45ca88a5265 +CT = c84958084a005cb327acc99e737af653 +AAD = +Tag = 5fe032c4aa9e050b7c3f79f5745648ec +PT = 789377cac3c39c3e2f2aa44378ec4e06 + +Count = 6 +Key = d86f4eff72e9236df788ac31a8846339 +IV = 70a16ed3ecf50b1604ec155ae53b17695878b07f75eaf26d9fba847f0e1ab3f3650f58a41efcb3fa6cd16c0c1c456a483a854134be6dc0156c540528222697945e2e78e68378d6737fb92ccf012788999526aaf15035fc7864150dbf29c2a717ebf594a1d8fabb3df410aea6c1edac7208f947db6a58dbe4ed4abf1d2714d817 +CT = 6828835346bdef29ec9ee0c13bbaa309 +AAD = +Tag = 419bdaeff567efc4a20143822e82043f +FAIL + +Count = 7 +Key = 1fbe4e8a97f0591a784cb560f679625e +IV = 807cfa8e0814ff78975a0a7e6b8e75e52e124fa2ea47be3b60a87564385f183774b7ee141fc05365552cacc7b80c6da7c02d4417acd87bbb3980a06fbd52d00ebe990430923a04e489a52f3dcc8d33de75b5c7d9e2b43eafa66f5917bec1486ea8dfb3e9df2f3df7942abada1c2875f7e55a0c07b7af82cd02a0b6e50325444f +CT = a66678be0bf35b136a187fef23a9e925 +AAD = +Tag = 19534f0ef2bdbfbfd80bc31e6cb78189 +PT = 4238bb7a1c56b2f61dff5c198a971b13 + +Count = 8 +Key = 77398d4228ec4036708a4e1bfc369b72 +IV = 7ac3e923fa5714c2bda689cdf73d020397e321bfa5ce628042a8331c5933e5b0642ea566050bd51f5145b46f04d3b10d171a4db1658912d6c849741baa5c6ca4421d6a75c8c6db61bedfe36bd6112141648e2805f09525adcad5025c99f2a8ec89bda84ef12d303aa8ef37ee2332b5b9764f2fe11a4c46a8afdf798610b2d3d1 +CT = e2590e34554524cb73f34f2019b9c827 +AAD = +Tag = 025d496fd151d5dcd07bdd3e8eeaa5d5 +FAIL + +Count = 9 +Key = 2a3054b1a67af9ef62e9289be4eccdab +IV = fe148fd6ded81e556b59a6d9c7113a7dfc7068d55e9b5ea2e6d24cf9f31c2df3781cb5c03120919c99b987f3bca792ae0497c2ddf7703fd8440421fbfe70be366b7ecd22d1aaf1376d96d7a0541802e3625580dbcabcb23b50e9033f8b78802f715a95e465439f61a0295e4f17392213f12e3e7191447c0b195b78332976d93a +CT = e9f4b84330b887a0a3c4cf10b40aa116 +AAD = +Tag = b135081c8e928a3836efe83b3e222ed4 +FAIL + +Count = 10 +Key = 364299021d8604e2e8761e24771e4b2e +IV = 49b4eb8f3df3152aaca22e1fc6f0e7a74a78ffad2bd8564364717ce6a90242123c1fc8e2e0ce083787c0288d29cc1b0fcbddd6ed287d93d937790759c3971a109df2fc77e60f947a92a8e9f1a4ea2f6aa6799a97d5c91d56d6fbdef526affd3bf2b259da6e988a9daabe33e983c0edd3d7042f3439c04c20a6103c94ccd52703 +CT = 77c44cbcebdcacf1246650bfd46bf453 +AAD = +Tag = 8bd29b87fc271ad429d9b26ecb9cbe5b +FAIL + +Count = 11 +Key = c66771391a236df97e1077e193a8ac1f +IV = 9b82e5b9cc64c4f7c64495204dc0a693cd247b496f8535615caea63750957a09bdab0eae5bcdaaa1250b4bd581636a6b20df3ff15741b0b03e37b1e27d70e46ba35ea3548709f0097a157680d7782b17677d03a07d72ef8fcd2deffa5c817649c03383e9a475eeca5a47e753f2c63fdb75bdd8446928572a86c5b03520bcef7e +CT = ae17d661fedc6c4b06322258b2ef215d +AAD = +Tag = 547da22169368ef6c063248edf6ece8f +FAIL + +Count = 12 +Key = 42e71ca41c17334a1ed1665615d84818 +IV = b97211e0f6c139a285ad130eaf1f84074faca95644ca01fad99ea1b947e9f77ed794d139c188284cdbb50d37594ed5b9bb30d1f4e1e2972aeaf6931b0dd24e14fef04ab1498341aa6fa22789acccdd012235458dcfd112ec790fb436f5f61618fd5a98844a64df81188cae275a5419442884c7b2561674156e59e1be5a0848f2 +CT = 09bdb73f0e968e1a42736e366b602fcb +AAD = +Tag = 60e8be6cbf67d0cd851361cd523bfecc +PT = 1515db95297d1ec0f2c84203e1ddb823 + +Count = 13 +Key = b67e6bfe3da5467c86bd31f911b22506 +IV = f6c4fa3396a863924f7417bcbdd4aaad9c8eb05ee12d7b924b7c0445f27af026feea6bde4feac0b407c335ff8a609c563495822c139739d6e13c39c1c5f80002048d27bdc56a45d30d31c8264c2cbffbe107ff05aef99ba26684899ce61f8566c2402f5022e09ce3dba7df896407488254fb896ef5be8649382fc20548eae641 +CT = 1cb3228e0c409ec89609b0fe1fe12cad +AAD = +Tag = d1f5c6829335c6f1d67786bb44fe08e9 +PT = b79358f0a78475811bf70d2006597815 + +Count = 14 +Key = 549ff8eb36e28b251d6684a2af3b8ad5 +IV = 4be6644d05e8bee1038410ec0f68d49770326eb05e2fcd237426dd68a9585378d4139c53cd48c7152d1038ae614642f4eecd6c348d9d9bc7c8ab81e2c3b6415140e0213cb58b638bc1731e9b07b58d10f56635c7e6ae6cb4750cab1fe97ef0de25a2b6ddc0591e80facbffbfcfc399a81be8e21ba6deda98503a7f4a662fe108 +CT = 3b936ce678df1c3f36cb78a1675df0c8 +AAD = +Tag = 24edfa5ff7adcea22e1a3deb4c661f8f +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = b04c805df578c7746b550020e66c8601 +IV = daf9b0a987acf352155aea2e9029f0b03189097615a0075964a0af826277f56034b6088b87bbcd548e37edf7f4f133b35dabc646e9933eed3447d287de9e5bb2ae3d35eab96f64c780e04691b775b4e2ff03155e312e744169b267b793b5e72698dc01f264dac7957191a6fa621181ed7445581bfa8861d40f952c0ff4d01e75 +CT = 694c87c0f021a9697521f2599c342535 +AAD = +Tag = 8e04c35f5b32ece7f21756ebe6a872 +FAIL + +Count = 1 +Key = f80fde40510b87f329c09189a82eae21 +IV = f1e89d12c33c18529be67eeb0ee1972c92abef1ba786a0832b4c217c4ebce29fbd569e3d36ccf67e7e9b31a56000027332f6120c3c47120862f7484015c7631f3f26723067c4c501af37e9e0efe93726695e156102a7aa4a8099929b22b39db448d309387a8c8cec07d12e02b5d6e20d1b00fa625b46de44201585ad634e8e45 +CT = 0320e609439ff9848555c8bd79dba99f +AAD = +Tag = e1c62979f76c57cb727d8cd3bc622b +PT = 93cc840e0d644c2bd65b76f1b68583f5 + +Count = 2 +Key = c8d66b7d26fb4f98e28f9a6db01b4aaa +IV = 5780827cd6e3952e00c9fbd5fd4d0cd4bb3c012edfa59e7a7c3bf54cff4e7b217ff4159956ab5ff10925f20d1baed0cd3ee16ed7321d4426670fde49a27be888c6e10fdddae3d6ee387c78baf676d9ac8bcbe3470961a0f508e3e3af89e63cda017407925dc6979b1f36cb0316b00bfd56ba167ab62a012864c843a5b30b7733 +CT = fc14926af66c44e18c394a32489a4c77 +AAD = +Tag = 9ba5867e65241a8210d1d4e43744d0 +PT = f05fdb686f299ea1379c71cd7d179451 + +Count = 3 +Key = 5edd15c70d02e1c311427a4a997abadc +IV = 02e654a479ef9f5bc24f9a86c967ee97bac03010d73ffd35726373c48d72c39654569c02ebcf50ff6c65f2ff8888de525a75365c0fdccb436c231058d201a942ad52c4b42ced5008f855e3044a7f48c6302579cb375e2cd861ea3d03f4104fcdb78ec47e83bf0adaf8582349b5b8881c97a58adeae6ada2cf583d21000ab769f +CT = 6e19b2c5f37a3de47069749636af22fb +AAD = +Tag = db39e4bdf2c0576861a9c712f7bb96 +FAIL + +Count = 4 +Key = b5a95346a2053763306878e9e53688b7 +IV = acd54f8b42308be036cb11841d609703fa496614fd7411629c3ed81ad28d29f0e558686fc1499d06370db1c040edf91c86575a829bda37f3893453c5066e5752a639b7c68d031b43e1ff1f8402ab909ca44d813e40ee8886daef6c782aa4e7876bbaf7f0c0e1f13c9c12e1c5c33ba20be1e62a920f279bbac132c228489ff7d6 +CT = c82130e06d3d15c35ce6fd08370cf9f6 +AAD = +Tag = bf1eaee9c62c41bcb5f970d689d4ad +FAIL + +Count = 5 +Key = 39ddc292edd56f43241d5f878e7c715f +IV = d21bd79bccd409cea22ad8015c20905d38b08807cec38f2de9196d8653f384d3080a4d4ff97cc7562402b0a6104d875b03b2951d4cd9ff56c76096069e476461f569487a09e96bff98f6b81f86ad6b5a30637d6a6b46f79d7de5e92023d715682db8e5ec018456db110ddd3b1158614fc4b7bb59e2f670659017e973209b1ff9 +CT = 23a0f9e607806c7f14fc0b46c344bb37 +AAD = +Tag = 41ffa00a1e0fe01d49bb2021c3d414 +PT = b6706790a8bc744c8e0a02ed03b1e52a + +Count = 6 +Key = 480b493381c2ccfdd36777737157e9d9 +IV = 05fdf0e973b63feba5230a93aa6437f05fc938dbe70679a4ca2e7cf0e8567be24ef17f22b1f535281fd393332980505359e255448c6950d2871568a6b00d6921bd2b89f648753fc0d109e5089b56ac2a664c9597df5d75a15bb7c232fd4022f215a0ee86e2be0dd5e932c1ea2305f7aba0565914ef94b8eeea306b0e7905b828 +CT = b522e5866f7accfc8ec4ae04fa2f259d +AAD = +Tag = 618f8c0c75b4ed90fd7a2675cc02d7 +FAIL + +Count = 7 +Key = bbb459aab8356d72ce771aded7f67c5a +IV = cc938df92abc3ff18926ba11a9d9166f75b1dfa83f8280cbc909b3cba45e702ced5fd073ab16fabf0c23f04672105cabd816d90ef4edfaeaa2f38ceb6ca9be8c7f7882fac6b6b49caf446ae889c6e8d50cc46c89fac5b192612ed6cf4be5ecc6a4991187e0ac523473c25bdefe18acfcffdab699dfc30d9a44a3072bec7b2ef5 +CT = 5ed1f7c9e8f3431ec930559d05181bfc +AAD = +Tag = 1cc99e2994e2e48fec3b433490a1c6 +FAIL + +Count = 8 +Key = 2665bf51c5db7db53585b0e6cba23d64 +IV = 1dd0e74b923abcebff84cf3bce9652a598f47f1836d25814f9c56d99ac3afe5bf572b9b85c4c2fe019ef161be4b310c0fb4e76af688e2a7e342b577e3d4faf664b3ddf5edaadeb3c4738e4d568eecc3b7871e36233612f9e2047a20bb33d7844c6b4358cb2a4878f5ea07e4c39a22c23bb446c645d286cbcbd9c2f2d27eb2d8d +CT = a5ef416e08e92a26d4f894f70026faa3 +AAD = +Tag = 2d354d2f2c2eab2e1d818e7cc8f5be +PT = 5bdd01aab5ef27b80b3b1b3c619c6c6c + +Count = 9 +Key = 79ef9c9eae80a56a7edf56abfa9d7640 +IV = 5522c01f16a752d84aad96f2ef80034974fb2fd2d17898c0f4afe0ba570ac9b69777d4e9cb879b243b3de530b2c811ff47fb156e407604fb638d7dbb39184d3194728a4dc37336265f8bb5c81f50c626a9e140e58c6c2332d37beaa31886f41d187d8cffa649c5d98986fdcec45b52f9c5a2630295cf29085b1e21a8858af27f +CT = a49df5e8a9f2d64ff4f92a1417bc0e0d +AAD = +Tag = b3e5fd5abd177f60c424a8a04013f0 +FAIL + +Count = 10 +Key = a503e4bac4f7630610eb4f4d24259141 +IV = 18cbd47a8139d5bae850f07a98efe201dfd3bd39363312c4d7f70f26b05b485ed0c099c3fed779e90c95b9c9b9f219fc03a162547d2f3c34da6c5d47d8d371e7d3fe693a1a98768439011d95d023fe071beff622b0112bfb5fd8e42b6610bcd5091b2a140abae8c4165f619c1912376676b042ef48c762f551c659db672ceb18 +CT = 154d8cd97a2b89493d8e36acdecad530 +AAD = +Tag = ef218fbc4fcb95bee8b3a00c01f30f +PT = 8c56235817cfb415bd0844f0bbe75095 + +Count = 11 +Key = 40c0f78fe053ce89c1951900c21d67b4 +IV = 09f774a7279fce5eddb66f229325e8dd6262039c6be30ebe4061dd338db2d4a7dfabfd2a41aba58e5d28effc2a0105919f3443490e73d2125a5c08232cd2c4d2f49f97d466945ff967ca7d8436f182794e76829ff230772d20f0f5facce495c83ac589a74e6de71c4d58d0f3089eb60c505823a37676adbadfc752b3ed2d4d4c +CT = 353e88386a09ee3092cbe3fa3bd1e1f3 +AAD = +Tag = 676b9dda4e9191c73314c2650e6317 +PT = baaca74cb06568bf63d4ab6507caa155 + +Count = 12 +Key = 1a4c5546d0b22bc86a99a413bc905bac +IV = e469dd464e62ffbfb262b66aa9a1210b292c31add20ddff1e6e0262702335cab004f0d5be5a2bb140523ff3836e00698a2dfa062dbdfd70e2f74ae0a3a8f48834f758fd56f8ca4395501af8ed1970141fed5956a2b9525a5cf5b4df4b42f6b332c7fcf4a0fe0a289b87a3701b156dbb47764cc4d6f858a9cfc31881d76e26d50 +CT = 83dd98c252e07ce265d11bb48b0288e7 +AAD = +Tag = 16aeae194426533c40417377bebe2d +PT = 250300e0812c9cc3e89c237df2eb86b9 + +Count = 13 +Key = cda2bfbcbb79acbd6582426e94aad766 +IV = 4e108b745b8660f9988fa55faaac036c272f8c5ddd30f30e82cd49399dbb6d079c4d3d3ca6c3375d918b3b0cb6e662e129829eb66a7a069fc2c0025fcbab5c2c1d22a54ab5ccec45ff4e6849cac4a2043514e0ea5bac00a2753b18536ce88789e93cd58a1484c16618191f7c3c9d105f9553ee6dbf20430be449bd8c616c1c57 +CT = aa50e3f481d12d5703174af8d1f0aef0 +AAD = +Tag = 93285e2469b1355109e83e65bde29d +FAIL + +Count = 14 +Key = a7c7bf12c1c11f0d1f5592be70876e1f +IV = d7e09c24ac6272078dea018662db0ff3fbe22a9cd572be4d58610f13e77678e59b2d78f76a1aeea382a6dae4e99149c07ff4b0ef5c7b7b52f208466cd59e4e71ad7d09af26c278f454c52b362a88b868a1087c44f686aafc42bc5ff957599484358706643f15ec3cbd74d622fa90f942459bb3b845d2690f85c14f2b558425b3 +CT = 9bff1ff407d2089b6c871e6d54f8dbe6 +AAD = +Tag = 583105023dcd1aee40a29d0ebc899b +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 2c4a171b58b9b2426a6e44eea2ed24f8 +IV = 819fdd1659f2df6130748538d081c66f52a8a81dd53dfaf2b62089ec539fa08894b3a341974eb1228dab45591813c1698b87cfa25a27ce83c40295b99b936e320066b6c0a43af848b33c2f7617cb445fce6d5a10eb6a84f32b6621612335f6b0923059d8cb2bea3a8e20fd1d98f9e440eaa005652a76584ad77555a8244979aa +CT = 11eb86e8b61d411c27632cab106f119d +AAD = +Tag = c6a682e5d8914d848d1fe446f1d0 +FAIL + +Count = 1 +Key = ea254e519268b0e3297dd96d98b5948a +IV = 0e14a468989d3965c48adf7f52b68ac4fecd1ba7f5cd1748d63f0cd34ffe8c6d3fc89630f3d08967c983f4c22db51debf7c7d0d6ff3a5827d46b39087b075dc65e2c692fbaab995b8ab0d8f210f1092c0d36abec0f2e62361a617abd8ad77b650669b015c358903e224dbd9ef113652c0257f30cd5254e310a0d00df145e8dfa +CT = 35337fd8497aefbfad20fff19a02ee11 +AAD = +Tag = decdcfc10f998a5a1a7be1344b81 +PT = 42fc4fc1da542a45a7c96461179c315a + +Count = 2 +Key = 09eabe1718525df9b6b268bf4526bc3c +IV = 9798d99269034276321c6a7dc1fb57d8fb0b1fb4b4bb61f5471a834c6fcba82d84646541ee61ca96f8441aed005d783a1551eb5f6d50253f353dfedd3c9925d69b66b9c9792b5d6b4aa1c132a606ca24c45f9a9066add1522b457edff8ca711f40f8bcb6b0de9b2c9887e70b7c92ef12e18be35acd9685abfdb762664878868d +CT = da051dd1f5c25188a7fa327438daf328 +AAD = +Tag = dac0b5a3b94584462d0fd2d17395 +PT = b36bfd4e8b182eae3e930de978be4be3 + +Count = 3 +Key = 045e00ba32794aa09677c2ef65df991e +IV = 98544d0f6570444bf6bc2727b2a4529e85d5df61990b69547e66e7917a14a031b16f161609ced41b0f7b1c6500188d838ad65f0089acfc4d60a6086b52e9ec93f336062b445967cb07fe4e7a26f66bcc7b86d93cbc9b45f705982171d9b38e779d38ec47ea2525a7d30058a5e25bc8afc06878aa5617823e336e9f48803176b6 +CT = 41c35f3033ed0b004636c37140aa7d1c +AAD = +Tag = 41ff2b3b3e0d10d21a827c1b77a0 +FAIL + +Count = 4 +Key = efe0fe820cf3b1437b52b5febf1c843c +IV = 080af2e21dd40fe88ac309a7ac7588f2b7f211a46a765dc614f77f710c9897423f36a81208959c6dbd8d688672067a890b864daff2cfb3ca158d2bc056f530970fbc595f539db1868273eff76e528bf56d343d2cf48a0cf413d154ae4afd4c51df3c7431b50346a53c3142f3fce5657bbf9a5581bc5c297671914c58458dc5e1 +CT = 3e9c99ceb663cc257b323354a3f4e60e +AAD = +Tag = 107bba47a11467010a8ecca97ba2 +PT = 8a5004cff405c01555bb0581aec96794 + +Count = 5 +Key = 4c234636d6e208adfedbb98ba2fe47f8 +IV = 43e60c0a3397b4deb178b69bf0e72397e2b70fd4f9174fe64fa3adb1460dedbc56f295796d531487f4cf29bfc75113914cb910b3c93421563bcb86ed0656ae2b1d8a70c3057aa0181330915279199b42e2a7e7706ee6ff7f077c13fa600063d09c65799860194cc6b3152f543f280d37fe4ea2788502a42039c3c22a9b5b7d96 +CT = fee02b557b61a622204fa56c7f8e488e +AAD = +Tag = d2e9adb37f87a33c902e641a3ff4 +PT = 2ebf3b0a2de20132ff8cd36e57fb3e52 + +Count = 6 +Key = 0ee68e9df53f4dc5003432a3b018901b +IV = 6f42bdfd0befd217c271fa37e20790680bce4ae012b05b98385564703fff02de01c03789883a32f060964f6ad610a36d7e61d44612d7daae1da31fc6410f7e2506b5bb0436d0f01c90907bd2b338733cc740733bc913c12f69920185a8fd4d058ec71ece77c494fd88bdd584d0fa80ca181a1da62bf66664e59daac6a23c97d1 +CT = 6aaa25cd9876adfed92813f927145eb8 +AAD = +Tag = 2eb9b4573261d608557f6f2bda85 +PT = 0e33aacb48b102fbd0c4bd77af753f2f + +Count = 7 +Key = 70e5c3b149bf4e2c19c78b8484123b6a +IV = aed003d444b388bef61645bba09adab8d5f6426c9e6eddc930d6d63a6d83af2c02933a7cd88278ae8785ea6911aa6013c57d9b117cb2ccc1708fdb7a55284ee95717db24ff9a169896afb70d063582d9cce02e10abcac01b66836932cee0575c8dfb114525bec936c56cdc9abc4d261289781f4d7a19ae3a2fdb9b9fe986a726 +CT = dfdcd84c52f3ceb36bb8a495f1d9dc39 +AAD = +Tag = 75b37bd0eb36ec3e92c4bb0f85ae +PT = 295f8a08aa36b7a6b6ba9d370a52d073 + +Count = 8 +Key = d3896d7211576a1810cffbecb8cb9683 +IV = f058c7dcdf668e0911bf47766cf39e7b21011c23f794b2ef4f67a2eb9a56a0fb8db3d327f0e6ce98bd24249e3bb2e2a248ee2aca97b849d4a0cf1d1706e79fde2702639627e7b7d1067e70e317b33284d1f7ee19e1a7eadf8f0e7275a95b9a111a05eaa5f538c833d08abe25952de5584c34e6157b97152e36b8bf03d68d8bab +CT = 5d0bf6410e5ed1930587733a791d7754 +AAD = +Tag = c3af970919e0064e6cdfe226e893 +FAIL + +Count = 9 +Key = 6da06279c68a0cdcc894cc6e4902d3a6 +IV = aa9d395cb2eeb1c7402393318c3442f7ac8aa09f06f37cc66e6c6beb1a61336cef6481be7a0ca0ba611400f7536f1b5507789ae2140429c87ff82c7a345d146163f2f2461123bf55f16024bf3bb84e3e8f991b90a9df224d1089b9e984eedece1e699e7de3f312b56627387a0e63e286338842e47689302e157c169fc63ab546 +CT = cc04dd2439fb165544a269d328435893 +AAD = +Tag = cc69c4e5747cbf3bc7cb6044c237 +FAIL + +Count = 10 +Key = fba0c6c7bc53081b922f317ec1cbd973 +IV = 973677d58ec349e1a38e0892b7f0ce08cc63bba22f231e4c26bf941be0fb88e1fd8afd09e35ae302b71900f3552fb53b4c84915eb30775ba1499573438505e0cdaadf979ae8784571dfca26255e1d7d801833e1dfa9c18914073a4842a66e8b8293575af901b7b9b00eb82ba1c25e23f4630807fa4b9cd17d9a4394a33400ad4 +CT = c9097e618da5b634aff2255e7ac745d0 +AAD = +Tag = 22646c2484f77afec8fdb48d9d43 +FAIL + +Count = 11 +Key = 26dcd38b8b02043edac058e7eed8f1f0 +IV = dfaa5cd991572d23a28887fef657bf50725d6ace2dab225fb699e1f2d971b6243646683e8edbe945799599beab340b94c25deec1640b72ea3a08922bbc38d2af4c6c8096d35de3a8660ce71b640ee03624aa33a5c81df6e9bd8a0c44d8c46b5d0f01dd5f87728fc171fe1c8544075f1f7e134d82af701a88dd46e2bf8d6db199 +CT = 198116573a46be6e635d1ee09c0edecc +AAD = +Tag = 163879baec4041346d46eeccd9a0 +PT = c8784c9a11ec473d6377eac72ceda6c8 + +Count = 12 +Key = acb60b088d676e436a7bb8737190b0dd +IV = 6fa4a8e7c8540ae734192c2b9c93cf95dc82d2b5e7a09c24e07cf89177a9c5359b9af315270429e3b30e3e4900951c5e83f5a7c7acba1719806a53e3a43d1934dcd2b9ff9404ae7b37a293767f8f6fcd6b6271eb8d1782eab92488d9df300e7f894f5bfcd2982addd374297d1802c6548e95e6969bc2ab1d758447eb721c6a69 +CT = 987a82a388a7aef0e56fdaef49818e2d +AAD = +Tag = 7c6b6a00b33deef51df3c33df101 +FAIL + +Count = 13 +Key = 84c0f78274562654926eeaed0be9d4a3 +IV = 84d44782a9c7e636c66b8229e86c2a60a8a86c16d9d7637cf6e1f6b6e201a8ebf16e16c95b7f0e1e3893498e59c7f0dd5f8c56b2186602cb6e80d5d4026921b254ed606116a47e501961e9eb698031a4c037bca90cc240a3d9bea5c48a08ad3d7ecaab43a71f2a7d505eac05c136e824a68812451be7fb4bce4e269f037e3b3e +CT = 7720786651063ea4be5794e6bbc64167 +AAD = +Tag = 4daa3177bb69c40008f6f0c0cf32 +PT = 8964d0a2aaaf06bde89828e88c0736fd + +Count = 14 +Key = d8f2d9053337689886dc4eaf8c26c007 +IV = 01b1d78e8bbbbea6fd9342e70dde128869ade96651e4c76dd4c2abfdfcc20a190f53e24da9189d4badb4bd444d505f4dcff06c80d2aff5db43654ca8d5d83d30fa3d0360fda9607d03ab493e5bd69129a98f3e025898843373d8472e183da98c7e8a282794496b71b1ae21a1bc7b0e3977d80cf6b68bc7667a6c247135e5b325 +CT = 6b31f63118264c96964bea745e5b58df +AAD = +Tag = 0b604961bcde22af456c549796a4 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = b888d1679687eaf0dddffe1f92a7a677 +IV = 71c51a5bc440750757e16eae3c4a6523dfbaf7a5b7639cf2a84d071237aa830345c418ff4567d577c79d6bb515ee3614cc218d0f731cc720f057a9eb00d343abb2a103b9eb86c46317389d6d7c25827458fbbd6b76b87142f97d1fc209a9a5e593e7654637b84819b962a3cbd4dde780d178daa32642b4953a13a593259595fc +CT = c168fab167b475cd0f960742b0fed01a +AAD = +Tag = ee1c808b842493e6126df32aee +FAIL + +Count = 1 +Key = 17c2175688f367f14b01101504d4a425 +IV = d5f7dcf1cbd96017f84f92990dd0cec74b05a7056ea7e8c21f6aae99aaf3e20ca1d68571b3cde27b5c009ce6b52b4a82935929292307fe69af1b0fb36732672f3a471cdf2778b0160bd0451c4f17baad3616734c439a6cd93710625c9e8415bbcfe9fc2dc742c04e0ca1461f12ff8b30b79be701643fb16b1525f50d76d8c4b6 +CT = b906e61c75c68d950345d2843fd970fd +AAD = +Tag = 76c8e8344d72b2aeaea2ee027d +FAIL + +Count = 2 +Key = f4e2a7d31ea67f6d90be9e2c93dd14cb +IV = f82adbd7270adb30114f9d6409c11a7fb9f03f801b6d63a826105e04dcbafa0d849aa618fa88b2c5f3c270b55b88f965484928ba54c97651a6b1fce1f186b64a3c1e4cd2afe6a8c11eb6d75f680e5c7e6a84bd9e8690d0d5820bcb8786494c9a39a4264b70d0a097628c931412ff91bb0c57ca68a7047860f2b90540bd1bac79 +CT = c8e8be91b5c625dc46ccc6f1b1e2ef65 +AAD = +Tag = d5e4f7c876815e052cce3a9c07 +FAIL + +Count = 3 +Key = b22c9b4e6fbb6784ed3582575dcfbee1 +IV = 7e4c1609a8a712a3042a46dd637c2e8d5ea52d8085450c02c0dbff6e620d64140b1cd036b7adfe0bedeb670d3baa0b97fa6df7d5cad3109430a301cc6bb2968fb13dbf933e6e6053e086b2b436aa72e62feded7d4382764d99051bc059f21a0242208dd09490bf1516b1557bf1c17cdd9508be6811912d45774b1b1bbe964a31 +CT = ece4f410194da338a19a48053f306fe7 +AAD = +Tag = 0d910645f2e508141e375948bd +FAIL + +Count = 4 +Key = 5ad06144ccc3488ae6738d78065df781 +IV = 9152089f5cc844db0f3c97bf32a5aa620a9c400fcdd738561372ef6023c58cf79864a80fe8d1385bd92ca5837032006b220b8764162cf04763596ab247421cbb6f35f113b048cbcc9d9650ec091dc69f16b87c0e9fb3a7e21de222365ef128ef69c6491c19e7dc4080f74c4efa5d9c3cef37ed5ddac7609bdcdae3b8426161a6 +CT = d94044e50ea4eecc8f7aa64ccb8d7408 +AAD = +Tag = 582dd5beaf69d9a838c19033c5 +PT = faf936420db9ce2e58623a4745277a7b + +Count = 5 +Key = 6618d8b8c11c289ba772fc9eb3108270 +IV = bdac846c337c3de394621ddb5029fbefb63b84e729bbd0593ecde015337f00a93303361951aaef9f18bd4e0cf967a2759d0084252be7f57dfbec64867a2ca2f002a421e0d506939b309478a7b414690ffb166bc462258e0fa30689f9148383ea953e4aece3af663fedb6fd4eac244ded07480048aeca5421888a917d192ae119 +CT = 51cfddf59e94d3275ec370a4d76c69ea +AAD = +Tag = 809da093b2e8922192df3c8967 +PT = e16a0323f8b7210aa1a398a61a03aa21 + +Count = 6 +Key = 8fcc97f49490147180085bddbe35c3df +IV = 5744c6312e8ccbadd76f7b85a400cf78e23594d784f6d622d15ce17e48f47df9988871fddc9c19df02d985f4d425d1c74e41a610c71379fd573a6a98c98e3d3f7fdd3105ce40ca77535eb9a1577212859475a6ac83001098f229a5c2bb352ad145009b5f53d12ac7aaffdea506f124f902b07607af8cb66dbd233a8ca4231c60 +CT = 7f5689437da7bc6fe0e73adddb1ce5cd +AAD = +Tag = ea88829a15717ccfcb6734cecb +FAIL + +Count = 7 +Key = 0bbe18f0036b2f7604f12b4e16614fd5 +IV = 38b4d46181acc3adb8c6e618f654a70fbdabe174700a86497a7d4b9f4f79ee2aee73503deedfd906f6512961ede456180882dc33d8fc8169345ae74475e0efdeeae4b8b084039d7949437f2eacb4153912f59604f5eb65fda519740c046acf6b254c9872f6a015ffd5e859de63205cb5c123c951c44b673beeed33de8fd21954 +CT = 0c6f0ba01e6c48f305a54f3df01a17f4 +AAD = +Tag = 4cd35fec275cb96dece213733d +PT = 9047c77e134d5d508cee5c784a28e560 + +Count = 8 +Key = bc4dfe3314e53256bda647d6f7dd77de +IV = 65bdd0b4c75a43d1d75670fa8b0ff8771109b54636905554fe9328fcbe6b5f8f7d632420d8cf58041bcddb5b0864d5381e6ca41bf84d9fbe86bad3c7405ae8602e9f1aaaaf79df88601fc58cc2f1bb7e0dfd6f3b8a7c8c29db2058bce6670f04c9bd27cc87221ffc659c538e3c1ff65e42f0e83c8c5b1c378517094ab96767c9 +CT = aee78cebd60412ef309827c2e8af9d61 +AAD = +Tag = 37c5b161b78141c4346baabcb2 +PT = 2e41187cb5107e68cf31de0d06760a6b + +Count = 9 +Key = 5c7f38b3b0ee7538daec5ffd9fe8b413 +IV = d1ca3ee3bb582024d969e9dd43c6d59a1aa1d13463e549c7ad7557bd87e0a589783cd3dae1cd3a0727063c62a3c7b1532bdf26c95cf2a48ec2d517a9be684dcff4f258393537f5899d7a3db77cd7113143457a4e8d604f435f1d0274afc40a076797a70d30f2f9e55a558fdda76cee53787e71724e92ef2e4361b013996de35c +CT = bd85ccbf7fef39482758e24fa8c8747c +AAD = +Tag = 3d343c51ea473f166df2e9cb34 +PT = b9a0b01b58bb11c07183257049a97106 + +Count = 10 +Key = 115b60e98ba7422a9df34e9d6c1c0d06 +IV = e36b214301a384f0826c9e49f5bf4d54031fa6ecfcd068e06aeaac8912684fba998ed6b08d03f5859df4db39615d982872520eb9397b62ea265b693996dfa85d71469277dd10fdf4eb115690a0d014404599b4e71e516f5676af419df2b0616ac2608073b59019197dd17bac9e4560f101157ec16d118702f96c427cc056001e +CT = 56f9d580e3575c2c67880168ca371740 +AAD = +Tag = 90006bc6c9665c933a32ce2c18 +FAIL + +Count = 11 +Key = 72256db427ebd71fbd9340f9c6a197c8 +IV = 2bfce9d9d04c973f863d44412538e8aa9d68fe1eba78ba6d5c31a62feaf9621e871721ed4fb2e84747221708e0edf2c178863828085791def9cb05f6bb180e0374306ce877df9b819c9ca19fb5d2b45827146d95d882b6fc4d27a2cf86fc57562c4d0c320d07a00912396ec20865805e8c215d3703b191c8688292162a8ad412 +CT = 2cb641e74381bc8dae6361c31ea7c63b +AAD = +Tag = 270813e4ee554c02e250bbe7c1 +FAIL + +Count = 12 +Key = cb9628ef15fd60be88b2a24ea6be441e +IV = d04f8fdf784dae868cc845f3a405a6984d0cbab849fe8545dc09cae8547297c8848528dd6030796eb889e8e516b1d321ce2ac886f37e97d20e721e11d076e4f232af5ab7f268c7619802b7ba4d4c38e76bff02c384d3d3f403df33beb842ef4c265b0d32da5ebc37cb5f830aadb6e1f7ef9541d89489902d0925efca534c7697 +CT = abdfd3b598c31d72b0073f0b156af6fe +AAD = +Tag = 4b1d184994947a5d42e092733c +FAIL + +Count = 13 +Key = c733d79d385371062ae93dcc80c8862a +IV = 163ed494e2d1bb4c350f0b36b81af7950fb7f9003e02ae8efd8758b5f32f89dc79586700d2cbf60d56b6a98d018fd4e7d2a95018c709d0a81c0325ab128fef8c47dd979707daf6f9ee693ec81a06dec7c74466ef9beb6ad5fa4238e063a3a166b896b2b5ce72aafff88ac03c2b2f4938df4702e8aa477cfbafa64a8ec9298feb +CT = 0a16edacc356bb16e4885111fe5fd4db +AAD = +Tag = 4a265405c56cfb488ebeba3f5c +PT = a2850868f1054fe6884e171574d02402 + +Count = 14 +Key = 7667b311102b79efa92dc1ea9173525a +IV = 486ea55d713117ab64827d2633d663fa495a870c8678d72d5f7be272531bc67fa8678ecd3aa5d1d81b96415eb3b5034567c68c7f4d150ee8b9c7c9886c00d817d82dcb5f466e11418cd02074ab92067afa7daec2e0aba2af7843511d54ea301e8cffe16b739a379b24fe4f9df5a11041f43d47f50f2dec55247fce5bfa9c4620 +CT = 5b5e2fcdc66b63580137fadcd529feaf +AAD = +Tag = d7007cd2798a65589bdb33252c +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = c48af536cdc16cf1853688935316fe9f +IV = a75346c8c25243824c0afd406e0dcec1c07dafa6a37a3859e0ac0eae49643bae16857d3c22888cdf73003e1b6509be76264789ba080b7b6a18081030d431252e855add8a40ea2add5d116326caa944ec8ae07a3f65e52e164b7ed899e9dbaa3ee3bc7c0538c8e1235e0a01642931eff12fa8b155a0aff7de58df1b9478db6d6a +CT = d99d81100e5b09a38e27348ac1fbd216 +AAD = +Tag = 5c48abb89b8283e01c0b607e +PT = 8734bd2853f7af68cc7206a488f3714f + +Count = 1 +Key = a03c8163ea808c2e667431edf0c6f8fa +IV = 4388aa71e32e22de06b9165eba39abe02fe90cd609e65ff4202ee848a929ba660e9003458ef01bd48db1e7de8d2b1c5c20fa7b28fc34dc3af0a0daeaaa5511e04231396c43bff33bb9a8a699bd8517a175f9c751e2710d91df0f282d2cbb0e4683c6e8ff0353ca5b8447d435fc9024ae05f9d737fd5437c2e01bfd23840057f4 +CT = f57b58ae6b66e79ec6dd3dd35ce70877 +AAD = +Tag = 0c7f983cbdc783253adf6fd7 +PT = f3b04249f6c35382877ba4109224c94b + +Count = 2 +Key = 89a9be5a788466113eec6a8a75095155 +IV = 2b62541acc6aa046f1028e9fd1ae9890437b761858fc4e60dc06df92b1e6394ef412e4826e4505a283d68b8d581ab53ba6957135b4db84f3b0ead1f8683498c88504cefbe95bee8a40248bd73e6c6ad66911334f6551d688aa64c95adbbc2edfbfbfd292ae4c95a9322f75c68f1cbaace148606024eaf2caeb026d43b74cae17 +CT = b931f99645b611326c2225bd1de57546 +AAD = +Tag = 720a51578a4f9b71307d500e +FAIL + +Count = 3 +Key = b10ea3afbe704de7475f805a347ecef7 +IV = ad60b281fda92540b726479e0e0ed1c9f15a3ecd914be36d6499f762169a69e95789d412139f4b1e1e5897f6ca736ecc83c7c0ba0735798f8790222a2c25ca8bb7ae6fce811ca9d95d5047750a70e617e32519d260142c8ca4031031076cb42686b8df87fed88bd752a6504d06a1fbb500b889d597ce377831b4eec2017b5cd1 +CT = b5e742f05711651fb8e4d624d43ee229 +AAD = +Tag = 508f46c9f2076bc17c7b69f0 +FAIL + +Count = 4 +Key = 1c397c953053f95cf72542a8ebedcb91 +IV = 8d9c2a09de8749184855f652f313d5ca6413c75515dd81947bf7bb491047e13db4ac34bc985de94011cd319f75e3495ca2a7c0504d514635ef2be6ea99929aa091554d43f9f61d5cbdc94516d99a171505220e184e7b4fccf9f8fcca07dc5607663f3617feb4a606a9677707facc37ca0312b9cfd988bc39a3c58f1e053b2284 +CT = c0b28fa629462a0b9a582a250a30efa5 +AAD = +Tag = 2339106ef9c550c3d4d5f89b +PT = dc28355fc8745caab3f7046cdbff887d + +Count = 5 +Key = 70021bc45616a84c6eff870d94612b5a +IV = 5618450903c499dbe86278e4b394bc2045c8c29192031426df01c5f85aa3288c2b50f7cda17fc044d33dec6b2f3c744d14aae092453f8e48dd3b0629be6e118a4c320371d8d2855024eb0fd8e960035a552438c629278f7e743d917c1e55eb42336d7f43a2f3b7d5e74f285ad3711113fb3013662168b94e282d0abdac809d1b +CT = cca429ed622d6f68b477daadee12479c +AAD = +Tag = a49485539265ec7af9a6ec34 +PT = 6b72ee55ff8bd2c1d99bbc7d58b27490 + +Count = 6 +Key = 4ecef0eb0bce93a5910f260ebe8320e9 +IV = 753bba760ec5b6e0e5ff10ea712087d151ad6f56045ead2d156a7b25a7b2cdf6349c29bbe9edb757b1ad4806c53fcea6cb2bda6cd07a439a0ccc62c85ca073217c49c2c4717db7c415e0b95dc99c61f234b297b339887a7c27548aa9cf748b1e9d8cac8db4e73ae8687e24873b7eaf2db6c3d2ef7c09bb63cfbc5a44b6d16fcc +CT = fb79871dae327d0d911105e1733cf80e +AAD = +Tag = cb87999cd058159a7c996493 +PT = 40706b42a6bf1c67efcd8539d247cf2a + +Count = 7 +Key = f89f6cac180402938548fe6aae1be6cd +IV = 8f3c13ce8af0cff5dfa0eb1e0de58fb62f0836d3f8d069a3a3948678c11bf6ea74aa7fd694c37f06f1af60bcf8d42583f8afe5a304db9159fbe347b74a9ea022a8947bd4897679f9b3cbd87d87a87cc1e8d567ac0c216ea3a95da8c4506ac8fe3609db794b5b88d8b3abc6904410760beda0f151d1b194c8c28b1a7625c67f68 +CT = 35ae3c204ad1c5adcd2f89ce44b2287d +AAD = +Tag = a0c4f4c1f794a686e98a6898 +PT = 4b217e3b24ce14243bba202ebe10da9e + +Count = 8 +Key = 26d5331f1a1b22da2abc9d0ab7c0e16b +IV = 784844c70cea2e6ae19f9a6058bab27b363fb598865bf9f4c989374404e71726513992f092d77759426bd9609a2a3296697c2799b3a019d0dd2146059c5224e09a884493dc5482c9d669280374c6c800430bfee9fbf176f809b6121199c5299e75d9024a795f4ef2f176ec8f8f9de4a3b4989ec089c71e1d2e767bc8870960e5 +CT = afc77c7dd42af7cf8c3e111c5e9a2bbd +AAD = +Tag = 8b1afdce5483e477cf8e18d0 +PT = a59392905099574db67e6ee432d9520b + +Count = 9 +Key = a10e30e5e4364128475bbe8bbb7d70a0 +IV = 0c09586f5d5aaa29dba995dfe85d9c2668a5babb4b46051a4d964cc634eeb5140ca95f817ff3e41efa038538f1f2d885108816fd27e0c2afff43e78b4144f90860ef302ceb342eb5c5fe569d38e7f865135e4b9302f871e3a160e1bfaf4b8d8e61b485a0fe7eafe3f221fb80add8c8275417eedb8f0b941fb84e66ab5690871f +CT = bdb69a0c260d3c0a3f845ebf95776342 +AAD = +Tag = 3b73dcf669136e4f51f79f91 +FAIL + +Count = 10 +Key = a77c581bac906bc63a6fcc7512fc82af +IV = 930d297834da16f3277fb177a12e04bdc4002aa35cdc513670faf32b14290bbb526d638e46f06633154b39f2c42a3e6c27669070ca8eb5fecf552f133bc58db4311b4779e9064ba9b2d3da486b55ef84b13f65babc75a050bd5e1bf3fcd656c16723901a5162bde47bca676e7e377c015adb4c7ea10d35ed5f5dbaabdfccc0b2 +CT = d2d1097d397a7e251d74b65cb21e76d0 +AAD = +Tag = 1496dd9bbec9dbb2c954fbd0 +PT = 6a545c42689f56f34718458e42561bad + +Count = 11 +Key = bc11cc52b93253d74924cc2d8b589397 +IV = 0c3b5b26db08113dfc6877ba2c5c2210c22c4724286e6b1b11fb5bd3af591ac08fc4d3d87c4e4aa3210d009e8e0663b8fe8ee28d190b8db080d8863b75a3cb01b1bcf53680a0eacf8f348c57a3e848fbc4b68833c4f58d73a6e734bf0e11a432069ab16cbc7995ff95f811e9ae15d33c525c0f42ab09b55cb0feba5d8409f820 +CT = c04f629bcb5ff337261e135bfe5dd228 +AAD = +Tag = 5c7fecafb45bd650efd06a24 +PT = fbb3e0eac0814cfe01d2c16826ce14a9 + +Count = 12 +Key = ce7d2befd210c7de6fee35a7b1f580c1 +IV = 336d817e01cad1574d2a77cdcdfa8ff25132c713a1be87290e8b6283a05c048a70ce8b8b65fe16d8ad770d5d16055175f9ab3a664fac3903a776e8503cc386d85ec212f8f36ad644abb329fcfaa87100a41258e2aa3ecc0f8866e685708697b9961a4ee1f817eaeabfc2a032e08018b5cfcf39c8a48f10bc874e57c09cb1b327 +CT = b0964eb6e518a27d52eaa916d5efade8 +AAD = +Tag = 566b025815f6820fd7e43a2e +FAIL + +Count = 13 +Key = 1bbe881776052d081dd6fb0fbf964c55 +IV = 25d4f22eb0596d71cc09043f4552b1e1db4286e18f7ea8b108b6abfa97501aa20974edc457d86d0f408fda1ddac71078b83a15891c0612a008745f22d0802e9d328aa72de09c2b630392add7290902f3ab129695df84f5a586438ecf556ae12137fbcbfeceb3dad1fd8f58e026956acc10329aab315c69ec019d5b62d73357f7 +CT = 188a43650490f425c5fd3e02616402fa +AAD = +Tag = 2889982591136191701500d5 +PT = 7c50148707d8913ee77eed90c5184df4 + +Count = 14 +Key = c961c1e04ebabb5483910479c8fa25f4 +IV = ccf7445b8e79db8930bfe2b7c5773f198f59b843513afb61078d755e11cfda1214f0b3ca85264a651f543d0a52dabf30f73c9609fd6ca7db6f8aabaf09dbc558531a272784bd0e35e48799bc01fc2f0f91824f2032f60e9ec5e05d50113c3b972c5b5c331d47fc086208735e70c74b0ab27eeae899caf31eb582b2b1eb05df41 +CT = 343a6cf8b75798d68703925dd7e2e1f7 +AAD = +Tag = 2cb47f62f69d00752068c1ae +PT = 75f6569e47a77b47b8340f3fc61ac1ff + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = d03ea531f708e0204023efab6a9c4387 +IV = 2932f1e02514f12bee0922eeb9af8f0a85dbb6361c0dcfd20a9ab9c7853e0fac01c57c5cc37426a6027d5058d0f241e6dfcbd267fde5ff33bd429735fd45bdc1e37901ea8cbc6f135d74935717e67fc1c5aaf91177cd8fcbb571d7958ffdb3ca5bee42d82372487e8521c3fe23cf50530e032421124c5c74b1d7b6cc79977b16 +CT = 5d2c909a6432eed848603af0d503d89f +AAD = +Tag = f7c7e5d839a7e2bd +FAIL + +Count = 1 +Key = 075d5ef4643e3bc6a6177feaddd46eb5 +IV = 2534d6342cbec5e51561357d24134d24137c99b7f233a3a6ce3d7096d8b44b187c302ea8b83d6afa0f938b1a4df861da9be4707fa066568357b545b41fc5728c83d53da810755979218bdd080bbdf069e8251bccbcaac0434d11fd362643c9f268d8ff5579f46909054b4e365119ca64b8c0e0cf8a19e7d770086a24f3702fdc +CT = 965b91afb77b43493e317f0194e190a8 +AAD = +Tag = 15670f4b9b69a69f +FAIL + +Count = 2 +Key = 37093ac573a581e59feedb54bfb653f8 +IV = 7205b5ff24fa8bf9dc81536b2159ecd2e8f09f7311584ce1d610c962fb144639f745ca4ba9b0b280534ba7eec490ffb5dda1f4cdd7d9684e7e025d43d28c5d237773391ced5023646fac7ee2a22a9add128a114cb4fc86fd7d05b9163335bc3fbf5fe47eda865343396c6240af225f11025d9d450cbc7623a59c8dfd629e15d4 +CT = f3ed16bc633c20a2342cec97bda34d71 +AAD = +Tag = 157c9b2634cfe8a8 +PT = 1af76af8c38acb9510c42aea2402e7a2 + +Count = 3 +Key = 201bdd81f034e069296ffa2aab2c88d7 +IV = da6869d87b99c196c3b23bdd773f49e0d6ac999f657fab54eed3f3bfe1f46521fee8cb9d4f706b1c38e33362ebe57812c9e714a7a738f6670aa707e64ff04afb2ee62564282af080e02dddc5683c85640a6a7b5e3a41f949155255e51f7231f3459e0eb2df211e1b28eb3ec7594abd5b1ced0c75cbffc1031850ac026d015829 +CT = 7f40c004d627f67d08afe6ddfbe28686 +AAD = +Tag = 81ca8427fc8a4000 +PT = 45bee9dea36cd6425c7334fca7416c9d + +Count = 4 +Key = 5cfc1d6df605348c59187c1fb2f0f447 +IV = 71836d9df637401c448b0d05d3702f8bd002260d7350a4407764f0e7c22167c3a158ece5997e9b1954696594476515ed5b4d6ce71ebbad04ec29d93d5d8164f843746139a10e53fb00c29f2abc7150f8b0db5d3896598cd327c188fb5c95e18d36cad8db694b0eb41f9a4b3099368bf98bf2fcab1f540ee34c319cbd04f68d3e +CT = dda349a4a92774aa2f0a6b2624fda02e +AAD = +Tag = b889535e1c915027 +PT = df4f0b4d4b727825a70e78968def3803 + +Count = 5 +Key = 8f5757fe929ad381bd01a5e7873b1f7b +IV = 07d5682ae923354d84f2c601cf1a81a7d1269c192715489086c09444e1e6aa119723774cdeb10895647adf71db4a2dd41acfaac01efb4ec00d5bc8729eb0f4f9f48a6040a0953050ec975e72dd00c44a2f084b3bc47b948bf4d4e9bc2ea1154977b13f93a7f8c9a88d7e00e0ee1b665472bf5b8f6f17e5e9ca901d5d493a97c8 +CT = 5efb61707c12217ca5d8e9dafae652bb +AAD = +Tag = 2f485a512a075987 +FAIL + +Count = 6 +Key = 6099e4d6dc2520c5012aa76d1eed5669 +IV = cdc26b4319ae04fde675951b1b92ff7860b734044e40662b9b55580eaecbbd96ca3fdb6661aeaa5fc68cebb805e62070580b7b33d14c237002aa81e825c26f87f8e54e4acbe780098f71f6740421c2736a32341adae5c4789bafde80da9bc277cd755116291246997e9f5108852ea60e82dcb62415733b253854f2c00264c1d8 +CT = 453bc49ea0aa84c0aa8516c6a5221ea8 +AAD = +Tag = 70c19766dd5e2681 +PT = b54893844c8ce2434b1fbd5e0f7611ac + +Count = 7 +Key = 384ac42b9441555fe51ad17b78b6725e +IV = 97ea2540efbfe8ec1daafeef32351957fc619dbe5b941b6134d4748b00d3a4721655551272cb6d07b28b37cc5f37c7c54c2cf8b1cc449961dd239b7aac6a360c9c135ebeb39f8d07788396740881c8f9f1990a7ba0a36653856ee8c5468b8829a80f26fe1b2c7465fe5592625fbf251bd5e90aaddd7e4cda6b39afaed3ef018a +CT = f837352a2aea26327581774ba5ed8627 +AAD = +Tag = 3e7d8182f6651089 +FAIL + +Count = 8 +Key = a64510e7ad2be520b4988800447ede82 +IV = 734366844be9184c92ccb978e882f30f755e893c2ce02e38e35f2f72f453d5883a89d90ebe99a09d09d493944a2602eca31d0900cca1c3b211e889e0e5da628e4dbbe332307c7d77e1a31fb0a0de266b819399989ad4e96c3af3f642c4c04b95ff3e8fcee77ab8fdb0f2fe998ec9b70ece3bd3f0872e7317a1e17eeb47ed6761 +CT = 6688df78051e95358959bafecebb7538 +AAD = +Tag = 75daa55fedd86784 +FAIL + +Count = 9 +Key = 1cdb5e7c9e3a0fc22021ad80c38af551 +IV = 7ddca10d4cb507948b5c0b71297cd16e6b77b3f2c74153c62bae2ba8451c494b60d2160ea088d4759c949f90522442f2d0a47175d474fe56deeabf28c105b70548e38c2416f2b714c1c4eee9ae7fc9e6d85ea5e2352d3f6217634d095a533fa98a57fe66fc4e2dedfe8da219395adcdaa54adb08953b6ae67249c1e954386563 +CT = 2365e30de7746dbd3ea32a70aac939cb +AAD = +Tag = 934e43e66f280114 +PT = 0780768b997eec3c41cbc9d87cf8d466 + +Count = 10 +Key = c1400e86d4227c28f31889019ec5ea9f +IV = a6d88255305f926b878705308c736736c14ca7949e05419126ac761796e24551e5ed20ffbec4f0a7fdd38fb30bcb38346683da9bd117c26514b28b184450ffdefc1a6e88d9a432d3771059c85d6bfe7d2374ddef14a2102598676812ca32c0a0c339d3aae98c09b1817acf146f826b2d1dc7ebefd5082754073215ba68fe086f +CT = efbc3390c5062396a5d208aed700d8bc +AAD = +Tag = 85bb0bfc3fa13e28 +FAIL + +Count = 11 +Key = c88f6d75a514e68e23ce6da79666135b +IV = 0616f16d79fecf93fe14640357c6a827e6e33cbe8a609bb8d743f8d283f702f4c73edff7a70a1750ec2f937e575da00779f53aa0787f65649652034e3d2d723ed5c0cfb6c430fa830dc39407206d2042c4f687524f6773862b062de1e7831e50c83aff49951d04c2214d2f2a904c103b1fb1af354a86b2a82696945bb9d7c217 +CT = a2524e00df6c86bf7a2e652e5f18bfd8 +AAD = +Tag = bf81490533f20125 +PT = 701a3af28b4cd1e66442b32e0f9d5fa6 + +Count = 12 +Key = 0ee2d14e432360627c04578726c365c7 +IV = 0e4ab3ced5639a01a215b9dea7cadd8fcf909df4af498080d874e77ff12acbd11856526fa399533e057046a91d7f602990e788440613f6fcb45e73962ff1d2d0e6927db7f85e90d4147b7fca6db6d39539466a38cb564b455d1316bfcd0ec55e78c2be1afa493980295002bba502192933204677c2282348dc5b8c826e04d80c +CT = 87b0bfef56e5d43278c85612f6031635 +AAD = +Tag = 000fcbd5e821bcf4 +PT = c704d30fcc39a77a728255597850bddf + +Count = 13 +Key = 430b7858f49167d840cd1a94af09c2ae +IV = 5fb913de3d99ab5a216823b96fc00201e96c36b2c0e08b44951d8eca5547fb17f316c1a1d22e117c69adf163cc444d3c31bddb35528cc95fd66e02d495649d31c09578bbdcc9172a461db8cb5eab810920b35553eaf59dd3507b8c7062bd9e667050b3edce356f7f8f4b32543e92229a51480215ef865095a780a3a227b9b098 +CT = 86ac0cb2ea53cb81afc2fd0124f24b42 +AAD = +Tag = 063fefb1e7edec3d +FAIL + +Count = 14 +Key = 1ac710bc854880d15279d81a1b9f67fd +IV = af84ed90a601152cd0f70cfb9a36a841ee2063a590ffd3e3596a1eec4f1f9ce5fe0aa7e55d884f64a23303c50dde453b05d5defcfcfad85c60faef64720e014efa55064ea9df2c72fa4807e4032607bdef9f182cec3b4c874c2bcd71b2f229b59923bf46875ce61cc24ad51ebfb15fbabdff3b81cdd0bfdb75e9b9fd268ebe13 +CT = ebab933887044df751fba011dc25b071 +AAD = +Tag = 56b35f75a559f3c9 +PT = 5734fa13b4b2ffa7e894ea2ff723c03e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 2e8d15d8b2909de3fdbe32b98793ec94 +IV = a68eb7ce58fc25c15c28320bee1151ce34e594e96b5dee3a17af045b8d62587285479dd6a6bfc36fad99f96d0028523c087f75cf1361ed071ccd6b513c152f070c3d74a22f135b721e6e0bae251ba641403e22db7fdd470e98f562ee1274b0eccf8626942a1000ac0c609e31546232209989d2fcef7e57b5c26cfb6c20aa938b +CT = 8e14b647ad6271a6e38b74ca20ce15a5 +AAD = +Tag = 86039fce +FAIL + +Count = 1 +Key = 8061d4ea3f7a986c33b9f01d5b4576cf +IV = c66435f79699d5648d5e26922fb0dcf237d8bc1d04d7db4c5c46a92bd7fa85ac85327d3b87f29fed3567d4b47af45add0bbb81cdddf4cdafbc0bf1bc59a2ea22338fe17605206001542ddfb97a33d040f5d6ae6402cb7234146443a544b695f8204e3a6611c83643302b3825013fe1fad4783895a7c15a595c19626cf35c30b6 +CT = f4cdc44bca33336dba2e1128846cb25b +AAD = +Tag = 3315343b +FAIL + +Count = 2 +Key = bc6b173bceeac3314305424b9a8e6e29 +IV = 86f9e25f6712d12cfe470bddcf823a0b3768220606e9f9167c9f222b8f9705b30a9149807a4af57d003ee4cfd87c6cba61cdc775790816a07d175678da336288f311207ae863c9864a1ab634b859cf143dec2db2d7fea0a76bde8dd78f306c1afa789011c7769709f25cb76b8409c47bda0c38d7fb1c4c0700cd409981fcd042 +CT = 33d14f85ff5ea04ca01e35267796947b +AAD = +Tag = 360ae9d0 +FAIL + +Count = 3 +Key = 51b3d78a376a95a33766464e76a994a1 +IV = 6c9efcc387001279400383fb31fcb2f12ab81615f5e79fef1b8f74e9fe4693d593df7de432ac4cb781a96766671f2bdf0eb9304171bc40958d29eb20ab30dd148370083d35e3afef67f5c2c27bcdb753fdf800ccf2415b7ca34041dabb4d8ddf75102c24dce7d3195f9574247830ff09a266189a963d8a9f8ed49377e9d38f70 +CT = aadc5d563614f2722a2633c3ee28e51d +AAD = +Tag = 323d168f +PT = e74716b2fb7b17ee8b494452fcff0c2a + +Count = 4 +Key = 10dbba655b3ce4ff3809952559322e0e +IV = 5ddb4930bf5c18bccb21040dd9fa182c571e42d94792c94367a7c5c23e3a18cc6470785e21faa7b4e0a53d19c76f49cd2aa04f680280809896606e179a72946d2ecf562dbe4c521cae4336599d5022bf85432cdbbfe9c5ea869926ddab61da52b9f273db760b784841ccfd6f96b2e0182e7b60de89deee6b82ddc1b0d4b76963 +CT = 675eda03f5d623812226aa7f1d6f3db4 +AAD = +Tag = 47e39a96 +FAIL + +Count = 5 +Key = 3f04a89d950a37ff6fa69ac366b029a1 +IV = b0428a78db836e5d73731cf2676ef2818d2ed83f3dbdceccfe908df20ecacf11a5a6c9163abde9f940d97be67e1afb274bc71d918d559f68acba44e65dd00fd2c66a211118fb5b5a968c0f8c05011e288d7e7e6121b39602fcbd53be0ef3a671d6205716bf66aa14fc01be8244294edcf29a98e61cdd375deee00de57ff55d0b +CT = d8bd07e660e25273130774356d3e7056 +AAD = +Tag = c2c0ac31 +PT = 62074995f6acc0d905db98eb1b079336 + +Count = 6 +Key = b810327109c3f75f8bde34757d69eb15 +IV = 282e0407ebd27d53c4cc8925f2c37d612c94147f90ec19ec3fa3bd1e56d3ef7097c98fd4a0038d6cf498b984bdd9193b92375e4ec8cf0a0809da15754da232a328fa9c3c19a48c290cd4ca10c32af6f5e22d3a69c22c21a61253809e190bd274e3a617a8cb1e2e6bf64506ec25c8f5e34916f001e5495e3bfa215e1bc0e79cad +CT = 342af6f2931994e461541c9b73bc74af +AAD = +Tag = 66fca5fa +PT = 14043c91c226b4f3735f438199c9069e + +Count = 7 +Key = a07e0c4f1eb94c69f18d02609a4d7c48 +IV = d64629dcded610269344d79f8d30954d44d723b38b4d8f4058c8147f9c68ba0fa0eb09de2075d3c626315c8f57624fb8445e236fd72d2614c777b7f3d96e403af4f9ab4d83da6a94cb0b7b5af99ac4268c47e97b45dc00d68f81ebcf0db636cf25bb83aaff46084503565a386d5354a098b82205223827a8faa147c805360bfb +CT = cfc25930cd0c01e0a941ba61db9498c3 +AAD = +Tag = 2b581e70 +FAIL + +Count = 8 +Key = 89ddac287c51db9ec740b88ff10ff55c +IV = 80def63968eb057df379b90932f5a8efff9b99a6af5b383d276816ad1d007712c41311da0bce8770304cb9cb14447b09700161127a3616c11d7fce6f66e8640d9df7b0e7dbd770dd72da0bd1354c35448774d9d0237c2fe2388010eb273bd073cfe1b4b5214051124ae03c66bc5509d2f3bb9fb3dde80292eca5e98dd6727814 +CT = d429791e19a1924b1253bc90676ce207 +AAD = +Tag = c6183a2c +FAIL + +Count = 9 +Key = e29aed91c2da479d86395d8b0dbdb0a0 +IV = 8d90eb833ff67007f1010a8375beac9ee7bc63ef144e970c28d9f0ac453e7623f4e252479dad352d5186bea158cdd04eba4df08d09bf87b2a5f023509ccb5ec7fb883993703976c66efd202df5ea36ee2704b83ed4eee38322f61f21c545eca6c4977ac990d0f8f57dc9a6e804786a21434bb2946a4012438243bfb874c2ffb5 +CT = 29f50e5369667325986516336751797b +AAD = +Tag = 3045fd09 +PT = 4bff21f3bbf80f532299911ce15617b4 + +Count = 10 +Key = 36b03457bbb06fd4e0266efd99783082 +IV = ed496e77f11d038d98b9e4c57f54493bf66ddacaabf401c6f89d3951671b0f85dc69a654fd92da6694e7edbd3b279ae3f563d34f3ae2fbbb828ec3c7004b42ac2cef9245dbd17c46ad48affcfc19b1d38b8d07c3ea6bf26b5a11e1b5b93664e44cb94699f58b3b950b716200bd1f0bc31a18dd6b97f841c14f0f6c00f89138fb +CT = b4c3972ea4e69f7844d4100f35a105f4 +AAD = +Tag = b90c1ced +PT = 12d33a5026396585abc35863e5d61701 + +Count = 11 +Key = 577ec113110f06665acd99f920010713 +IV = 2f7d16fda961a46aafe9eb9e756887fe814e6277db5388615b01b6d5d441ddfe01e92c56fba88f0b27ba71bdcd9189af24eb97b9cadb8009b9705264062855b978bdf625d0499b351fb1a5cd25f99a93d60a5c10c1ce778398dc7bcc30bbf14ebdfdc4b9de746ce1f563d278436bc102799b5ce7a89daa59fcd33340dbd9f964 +CT = 7672ffedcb297c8bfeeb68bd79f7f5c0 +AAD = +Tag = 4b1386c9 +FAIL + +Count = 12 +Key = ee26ad5510702014d7dff076a668c4a0 +IV = 8c86ef69a18718ec8a28760e765a102c647a92c17e00a367f910be08db45f8ee7bb664b08d2aeb5cdbcad9315585ed6c90ae49cea88e019732e7137920733096629b3dd0bc09bb4dfdf24bd657167c2fd4941ef88e91bd87bbd959fd53f853a92b7aa4636511b28959a939422956c6baf97f1e1946eacdafc351e358201c25e3 +CT = 596dc0cad877b8e13a3f0fa730528474 +AAD = +Tag = 4e7dbdc3 +FAIL + +Count = 13 +Key = 2f04373c7edcc4ae68350e2572e40022 +IV = f9e39d49423024075ba4394e220577748fdc49e62baeb1ca5781ace229f9137ab2f4800bc78987a16cc37f7ddf9add976878435bf6ad8565f519c7d8791a9d305ec8b00ce93dacd3cfd7f10f1a51a7b25b6c226fbb40f639c047982a2ab81fed00d891da756c0d5e8dca3dcad247550e60c467d5c16583051f22b94d37cda18e +CT = e70c028b6108e84d18474a79536b803b +AAD = +Tag = 4ee82548 +PT = e3ed84f0cdde356c4343fd9534feeb67 + +Count = 14 +Key = 15fe227666aceed03ab5c56550f2eb82 +IV = 6e7713bd0be098d165fdfcc1521a3289669c81256e05f41efa65c1e13715b06d3c43ea24691e0677b521698fc436ca4096e6d4340f2de8e92d8be6215a9d7f0e4ae8ddbb288c1005a16f5b9199d34c3e24103f55a3ff5e84423877881d173c5cde597681ff22fce49b49e307960c94e1361708eb33df928bc88ab80b50e7afdb +CT = c73c589e11f1dd6c3d50011342c86e4e +AAD = +Tag = 095c5741 +PT = c1d86c5945e5ee2f6c1999f9506406d3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = c647ba4d71588fc65603ee865950b38b +IV = 820c99e61c99377a6c81f38de718fc0d8f5387c2e3a7ced2317efd116da45d773bdcab0b8804079a7ae539a2051e6d5117b9d75ba6f97d464ba17ba78ac0843f0c2360d0111c49de4229e55a0657a7a0fb3622d3a1a1f76842e611ef294e1cc055d2aa380092f9780de1fccd30b438075bb09beb1cc792f3f2dee58192be8f06 +CT = c5546a192fb7bea5ef7d79dda4743c72 +AAD = f04f6cd6c9dc78d2059078d78b1111dc +Tag = 247d1d31fbd70b469123940031747784 +FAIL + +Count = 1 +Key = bc30eb76f5b063fdf1c4f9bb0bd38deb +IV = a8a578769a68b6525b5f969748b4f58fd213f375402b2f0c43f6b00f0fc598853fca52ec8f8b7ea73763f7e4c1a40741ea3d3464545416c9dd4f71755b05b154eef788ec37e2ca76fa8418841503db08763d3d04a12d7e85c3abc099729c84cb94aeac88c3e432cb8675683edf023edd707aca385bfb55d5ccc4840cbac6f12e +CT = 1810958e6ffb802ac40fe5b471a7c85a +AAD = e6049b4c3d1c5321c1887b1040030143 +Tag = d895463b97c687c621f03c31406a0305 +PT = aedecddda15d1c84da2968ba351b5e5e + +Count = 2 +Key = 29ec7b5f1c29b76cd27ff7a618438cf9 +IV = 534cbce8bbba6c7028ee2d69704dfe1e99d4eeb80461beb3b7d41d1fd211aa82c376cca782c058460b07d3a47b450c756f85b32d803e528192839c723dadaecde566425257ff6670e6d946eb1c2c2f86cfccdb60186e92c5d751b1afe4be14443dcdb9ceaffb2bd0894d67490d0378b8cc30b45ea754a6bc124d2bd2c1ac01f2 +CT = eee86fa04ca7fad64e1eafa4b4862fa5 +AAD = 61eec5e47ae5a74a45ad6023db4c3e4a +Tag = ba5820d4afa8a0032a113697149ac40b +PT = 57967d50c1bf42602b03e04a8a04b617 + +Count = 3 +Key = d4b907016f18a4c968dbfe257f7e2c97 +IV = 37fbefefd07e50c3496e8ecdbdea5d2d79273f60c2fd1269dd9d29ee440f08a7acf65e7ba0c99e6bd40b4c62272653dbc8ee140668ebafb39d5b3795825727ca1ac3b21b79cbd23696d9d07561005384b72f2256e8b9a8b3f80c2a4f52495c64f756fde6babfff7d892970db3312cf48e74193993a394ddb8370e5227c2eaca8 +CT = c8f289ff2c457c2b94809f5572dd40dd +AAD = da2245e7a17f26e558e4aa656970b33b +Tag = 8b5185c11db9f38162111252ae0a08d4 +FAIL + +Count = 4 +Key = 3904998562645f13f2c0fb9010d66e7f +IV = a1f4f9e2df3c21e13b679dcb1900401e98ef9b663e0550a44eca5a32e6836602497c61b7c739379e4b7571f416223089e80db4c9f20c0cbe0825e27293b11556f463e271546dc7f0e35d626919f49b50adab0fc0e02805eb2d4e47edd6a7b002f0b7faeeaca7584e9760edfff32fe330c85a6bff8f5be8b6a3aa40364b4b782f +CT = dad403ff36f4c7858b75c1f489d25549 +AAD = 8502d01b0f2ea10a64a9abb507787f59 +Tag = 15d3eb7ca8c20f71504273bc534e1bf3 +PT = b243ed8e1c8e5a5a12c5e670457bb4e5 + +Count = 5 +Key = 1c2463d75cb1708f47c036e0745e2833 +IV = 309fc0058588e953961f6756e7d9679187df0f600d0c8e4d30a5b5b540b25fa97115d1c9b1293255efab4874d98101075c7c707b8d410a44869b53149683808942b5b597ede63e809fc7eadc4f6bdabf69d2fe547fb979e22aea6269334ef6c71533dff0e37f4ac6c56c000cef2f2568c28dd0fc9e1bba87ccc3ebb75214c82f +CT = ae24014200d773dad8bfd4cee073067f +AAD = 5fa1c4908660485f1c403e1e31e3fae9 +Tag = efbf7c68b518bfb56ad8520b3f97e99f +FAIL + +Count = 6 +Key = 42fe71681e818d921fb27b3439ce6ea5 +IV = 81bfb8acebdbfdcf27f4a380a8e0011537eab29cadb4033dfb0eaa9243be8608b029bca30e298574b38a1a2afbb09f12bb98295cbaa10dcaa24d2518307a7bba3b90178cab81093d1c34d15b48c1015c43db926893eb9db1e5541fca0ca36cf572e415023efbd4fabc1627a45203d4f89f17b805c0fb903862fd7d8e00487ea6 +CT = afa0a74f821ff6d3c15230861b80faa8 +AAD = e5c3f1036a913da56f11570b044a0a21 +Tag = f9303a54e756f134bf39d006e199c8fc +FAIL + +Count = 7 +Key = a1ce6b0018f4b0f41b97159b12d78070 +IV = cb925f906f81b516da1161c64b2142f3210cabf9443cbdeb8815dd4cdd912e216603901158328f7331b056db5e08c8c044eef94553bd26851942fb6007a25883d9b70642559f57dfb4b735fe6df559f663115fb5b5f24321254442ef4132202ef5d3250a6b7e81e0007b7e1b8f0d6c8350e9d6c8ed5631fe92468029bd34fa83 +CT = b0816d1b6a3b9b91dc8d76f795ee9a74 +AAD = 4fa256958b198378fcb49097a56d4cd9 +Tag = f410fb2d6b34be90152085e2fbf654ec +FAIL + +Count = 8 +Key = 12fe7dc72949c5175db64c0bf92944c7 +IV = 8a9ebcb4ea47249a87dc2751aaa0114ba44441be49815cc05a2d42925f356e1e34ae5b30092d3cd1af79153872c6ad8e64f1d2241037fe18758ea696fa52e33ceabf4f4f6f4a77f32c4c3fd36fdd692d597978684feb0fc66d19d00906c6c6835fe6c4b8d4573c0eece4f1de85e0f5ae105485f6b2db4c821980a28d41f2f155 +CT = dd192ba4d1d9967fb9d8fd559307b1de +AAD = a62d96ac6b4acdae784e4748cfe837fc +Tag = 4528b211ba29af8f06d4d1388fbc549a +PT = 498255c2c186a7792dfd1a613c0b434d + +Count = 9 +Key = cfcc6fde2af417f0bc1aa0b43c9b2d86 +IV = 08263878091b144db40e8cf2e75b086538dc695931526993d302650891d137b09e671a23692fe5c1870c664675929f903fe3328ec92fe48e86b730a532b35397d70198bffd4eb5c333e58af85732e03461287387e603d7b7fdf01a40b95865c90b19f92c826ff7d607a22a5df5ee9b20e01960b45c50ecb8063f2a46e2838783 +CT = 0cb033709326815af929d04deaa1defb +AAD = 8ed93987f9d3786db3dce77a7331e85c +Tag = 4a883593ae4fd757bc14c5821f4eb1a2 +PT = 24878e4fb3878f1f342f39d83ee347ce + +Count = 10 +Key = e8c21706de65599818e24e12a88ecb74 +IV = 0b84c9feaf622a669f5d09a19353b5505fc71fce0d1dd414c89a688a218f0e7f86dba244600a2cf86c772ae48aff03bb2e38f9cbb6359efc90a7a47e20508326f18c07dd2958c4ae4582a6bc868209ebaf96d42bf84c5c90a45973a8d817618c202ffdba7e6601b82f206d8abbd9fff8142e781b044c0279bd41f03e4af453c5 +CT = af72819475315372c121dda68bcbc0db +AAD = 1f3393d779680d93f8289314d20bf728 +Tag = 1e36bfd177fb13891f4539124f43880e +FAIL + +Count = 11 +Key = 752f22ae8df3ce473777a7d7c3b5d799 +IV = d28467b4158a5481f6e3f949aa1e0ea1bd2b39ed5578a2570b25878c4fdc03cf891609537108f8fc943d027ec16b2d274c6d3d7d81beb57e65123cd64a46d72ce996cf5cdf026665301fd2335d3e024607e70d687c83a19df895fc13f0ea696c658c94c8e2232336e2cb1e411626f440b5e3acfdaadc1bff3ea7299c990fb99f +CT = b2baa7115d528b2cda9b9e577524edca +AAD = 732e6ba2f2d76dd2bc10d3d931e07537 +Tag = 48e2b8b3b2a424bbd243a33ec0e36e5c +FAIL + +Count = 12 +Key = 5dec2c4b6ba3461dd9172b95ab9f9651 +IV = ecdfb22cc1d3748e886e5a2b68f0a76d3a51d3f5f3382374d85d06143ba023425a4bf61441f5c5b3c51d3968992691abe8c232893c86e9fc8cbb97d23351ad4e2b66c3abf959a974dbdffdccd988a76e77f4c9897260e01ed0de48c75b6a8739665004cfde3580c6a763a735876814db4992ec2ffd9b7fc0e165fef4c88deb23 +CT = 4edb3f46688003e4f08626125fd4d5c7 +AAD = 8dcbeaa679c4040bef1d36ed2ea3b86d +Tag = 693f3ccfc628efaf1caaa463b013bedf +FAIL + +Count = 13 +Key = 9154aa4446878fbb50466edab20490f0 +IV = 4b47c8fd7596eb59e609325deb107ca9ee9be6a8d519a064ace733d6bb154a358a597ebae79568fe62a197562d68206008a889a646aa9e9826802d007112badc955e06f87ee022b61b7f4dc7aa9f66334f7e3abc98392051f4f74d4ab38c3fefd2de73b6c040ccd9751b1e463e9f3753177a23dc07e35a7f027b61cc9807196b +CT = f6c3f00381d42d3be2de32332da3231c +AAD = de1e5824ef43f670cad160c4caf5e926 +Tag = 42898452b58c694a87b63d482b4fe0c9 +FAIL + +Count = 14 +Key = 260d54cbf5ffd12cde2ca2d75bcdecb4 +IV = 72bafef247db6eb7318e5b0ed6d0aae2a64ef3357aa184c2d2e553c784f1753ba4d1c6e2437271d4b3e9b770e1d22891dc3b5bfbf3a32bab15942511d87497e86f4f606f26c6b5811a37117457e715adde4f830216028d0e62f780fa51da741f85c0af91d3135d0c8762e35ab3e306f8136d774480aa7b4e26f462d6d484efbc +CT = 8c436c155663545c358e7160163e64e3 +AAD = bd81cabbb4ebfbf88bf200620556da41 +Tag = e0689913eeb973c8b95bdf8bac314831 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 48240d0e0ef47b2f451d0ad7f03df1d5 +IV = 15d62e3d5c19f43e60e510cb4d3a2800a8a0e10a511cd853cfd60025bf4e52562b2932fef5f00fb1b950310e18fdca44ef0bc6bb7fd6607f2d0abecda606753b64a2ab6fd5335e9a534af7c580744640e04a73a0255b05f538aee38b181830c36997b06b8329d3613942a2a5111cbff94fb33fee7fe243a1737bc074fe293f6d +CT = 096d25bac965b4e43659de1122c69fa0 +AAD = 8caf087bae27de8b174920c08b2f62e6 +Tag = 43b56674a190d0a9805073da183cf8 +FAIL + +Count = 1 +Key = 71a5b0cd247853b4bbb865aae33eb679 +IV = a946b2a3b37ebc151c003397349da2ee96835299dab9522fc7cdd71b31d023a80d2d99d2c192952ed327156f90a8a76dddd3aff7747500b055fd5b5966deff9def6661f4084e0b1e3b9c1d7032b9fa88140bae7d8349bb0ab50d94e327401d28b85c6e90c0ad2023e9d6b8a4934f11d9c2802ec1dc005876e39a9b480a4ac35f +CT = 9069eb7caf6a3c9779421fe3b542b1e0 +AAD = b6e712dab6411e50217d647a037730ad +Tag = 8a9bccb2bdc1fb8c802fa4ca51b729 +FAIL + +Count = 2 +Key = 3d2c367889c00e9fe1e0134707f7d7da +IV = 8009c9e56ded80f02cc588a07fa5e8b3dd39d575cea2059e4d5caed3ff025632d302ceecdfa06d4ab5d3d01f8ce8fd92c367d4179f3c85a5473bd9a4dbe5fba8204855e44a909ac15b52cf56e62fee3c6323aa84863f619ecf41deda7cd9b8249211405a9178cacbc16be98e9dde6e8130ea34facaf5813ae787089814a26fd0 +CT = c7b86b0c10e7fca5077db821714bbe46 +AAD = 82a8730646a8e061cd13a16bb1218a76 +Tag = f62fa8c51873a703500b257e3ff1e1 +PT = 811a8355c3e05346808f3bbc891f3fb8 + +Count = 3 +Key = f5e4a2f33d338b65358471ac79a085d4 +IV = e982f325eca4effd76a2dee61cfb234cd0a3ea31c21cb699efeaae48ed43c81d7b240f611019f10d9063f9c9c9b111ac8a39a2e73f7455b2ba287cd96ef10329bf5a25307d6578afe51d40b0cdc1fde61595c033cdc30572a5fb8357bd9819f4e426944dad79fa2dd0435a64ed8692d2c993951da810e9854a0e556c3bacebb5 +CT = adbe5bbc6528a24ee8e98edfb98d0214 +AAD = 3fb82818a4c92e896a0f3071ea17d74f +Tag = 19f5f2ec9d975644c79f927ef56a8e +PT = e1cf97ba1a275d84e4b547e997f1a699 + +Count = 4 +Key = 143dfd6e070babca3e22686928dc38d5 +IV = 900eaecbf49860379e49c7e9c41d1b2474e27651fa8bcddc75ff2419168c49e88289b8f93b8ca539d5795f6f0e10cc21ee4cfdad0b01f0a6fde4139db584f8e7a96fce87cdf9d5eb081846f69bcfd654c1daa6bb615156d5eff7a344b847c49d70205527c6564e670c47bd40684ead1c4d664f874585a0463e5409ca8939b263 +CT = 5f0f1dad1f00082d989df6fbc4ef9e2e +AAD = c120801c3469890ac29b411c2a58ae63 +Tag = a1f60b02602fb112313070f55af73a +PT = 546aa007a06ea2de53630f3964a81611 + +Count = 5 +Key = c17a201c35b024614af519ea64d86674 +IV = d4dc455a6a5d7e9d110032c3b6dc52c6f49db32eafeb15bb625f5da6d6ddf5f3176e4324d1b428840f1eb2d4cfd21e9876872eca0ccdee0731b9d5c59b63bc92bdcbd290e9dc1eb0d87b32e5b9d904aaf8572d6481fedd7788a700cc5e0f417a9397fbff42bbb617eaa0c3d6b6f4cf0fc9f952fc8c6b19c6581a9c6fcd2508af +CT = 9b440f34c18837ba05b146fa1714dc73 +AAD = b7b55d4f5debc505e6e8edd3fe5d2bc7 +Tag = 061177660ad02dcdc087d81875dda0 +PT = 2a7ba1ec44fe1c0a5ca6507f6b8bfc5d + +Count = 6 +Key = d32922b25603b60fb4e7dad8dc53eff8 +IV = cac7c5ef0725d79c46fd42387af8b6e54eda50a92b01ecf609af78bd8a1461e80dde5b46f416b4a070067ac8c8e60c6ff1fbff9c26cb5b4338c6fdb0d059780dee8877cdfb702046036509a1681e53a59015b92aaeee613760e92a8884a7c85aad90792b02aacc93216fd8ee3f9c9d066d9e059656111125167d05fab5b28954 +CT = 47fbcc9df8bb8a5cb3d21e40ddb88175 +AAD = ded60ecef0245717cf7d602afac5778b +Tag = 78bae7445f19e6d189fc3002b7433a +PT = a8fb19f6eaad7fd989e9d72f3ce35326 + +Count = 7 +Key = c0c1d2949b9882591a1f1ef50d826cd8 +IV = cfc4e3500aca92747acb716f25f03aa3e6287cb2a1e1d895b9650c16a9e9b2f63731bc807b3d2a0e08bafa986a39f0373cfcbf9c3fff5e511009b08cd054ac1d5a2f4f4b4802840b61c0e7e9c45ba3d1a74c3954fc41b1e66ebe9c5bfc069e67909cf34817b367889833abcabe78da8f2b516585921607cb26a603525bf222c6 +CT = 93822ab5c1a967cc80c33cc9b317697e +AAD = c12d3d644ee84386c59b199a7d7cb9b0 +Tag = 07d4daf68a68a5ff5605d15919d7b3 +PT = ee789a11e77820df12b84c156f73bba9 + +Count = 8 +Key = af7974fe179e20bf8a043ca71d77fe39 +IV = 2189eaa70ab52a631133125a3b5ad70235096c71fc16e5146e9418b6070640ead16f0b6dea55f3a03854c090bf48db98bc8b22c2e1da8f671157d335d44f7d10ca870f81796216557b55462c1320498ccdc47dde66f9b8545f213731c56ef1cfe17ac88c847df6013c4f460c905c225b8e29dd05099c000b82db91b8b4e6d5e4 +CT = 6dcdbba48d660556731d091115f19895 +AAD = dfea3579ef9468062724b436f7240409 +Tag = 20dda7b16baf52ec81b62729a5cafa +FAIL + +Count = 9 +Key = b3cefc9499d441f525e6c81af5508db3 +IV = 3d9052742cbd37ef2927c1c0b41601b6287662ea58473854e53e21e4ca900389e091d2146efaa3f79d52be3fc6079f1b57892c409f80bba8e90b8ccc7171fa65f9eac7362f2a72a25c3896f6a5914afdfdb181fc8ffea0f3779adb5f5cbc83a617ebc8975d95b4c38ca79207aeb95cb0154c5119f281802b8c25eea741bb83ac +CT = 9c4b014276b8d779700b7a8744776883 +AAD = 52bf16db33e530090c436b6f18be6b9f +Tag = 7eb7e5996b16fa628cf9ed7dab4e12 +FAIL + +Count = 10 +Key = 7735603be97d508dca94a5f93e54e8a4 +IV = b550d9bfd66f58747c8248e5e71c747bf08de16984b8581cbc8e1deacbbbfc7d10cc79301b7a9c989285153ca77dd891163b523d5f963e0c97e7040a7e1cb77bd8d0c0d579605477d160d439bde271f090dd1683978e5c1b47f11a1b4e0569aa3f3d6fe98797448bb130a577a7278fc061f425d0e049f0e6ad2e1990e225acfd +CT = d59943b04a04b1a683917aca00389aef +AAD = 20f2473ec246eb26299560abcc75621d +Tag = a619476a96755cfbbc3ff925d1a127 +PT = 82906b20e2cd72055fb6966f9c7ccd10 + +Count = 11 +Key = 59b0e34f33594a0ff4bb52504b5acd46 +IV = 71d93d00b83a000c42d8b75b789599b6a2e598d7b983ccedd140c922977f85c8fbe6c00791554550e10d57687d0752b0d6b045cffe3c72623eb0aa136240ce845a8fc9245fdce0f3127db292aaef5bd5a497842c9fd42a6963dfb4e4d625c19960fd571d6b9c051cd583c762018cfeb6c2f4ec7488649bf0258c06f6fe870021 +CT = 5e1abaa0220aca2a0c5539025100e9f6 +AAD = 44bcb56f9c3c6a685e4b0c7c5e7483b9 +Tag = 209feae808dd60f44796f302844c8b +PT = 0198b2ad741707f5459185889c4156b7 + +Count = 12 +Key = db519c0f0ca48acda4f443e8de053b56 +IV = 4466f700651312524404b81e981e067e0efd07e8f1b27b8144c7ae4eafeb2bbf163a328bb8cc393bfc7b5a477609ab02481a8ef23dd7312b39a72ec7c76376091d9e5428a5d7fc4d1b3ec35c1632f171cb083e404472f1ea5dd0b31186063ecf00fadb664c196e3e1ffd70980cca9f7ea1c15b2235d781baebf15867530751dc +CT = 101ad92c2ea986043cdff54555e1a352 +AAD = 9be27d8c819c18a2cca0bf80f80bda90 +Tag = 85848dd21d60c50a5f5724a9703ae1 +PT = 289e8239ed5c447f19850a484905b0b0 + +Count = 13 +Key = 7b645b633c9a3a89f690c46802e89861 +IV = 709d932d027f93189c3cb192efbbf28eb9bdc7f35ce3d78d4e913e2681b3ee8edcb5ba8188b0052284c5593c774edd61042525c0de86ce8fd3143ade25f363c506955ed5ee8a6661b613e2f47c7a60c65f53903ad5ed516cd70d36080c80495c3e6eddee17f6d61beaabce202dcd10ba44703360f8361be254a4b09627cc3e5f +CT = d39fedf842e85becf0f04671b89751ec +AAD = 4466f86ebca783278f5f187bb2496091 +Tag = 03a7f7bf65fb3c6c92bee9c0a8cb79 +PT = e77cc9159e15fea9d935de8fd21047c9 + +Count = 14 +Key = 6ef4b07fc1082852faa87fa5414a2ac0 +IV = d835adb1307d0e21ab4f2b7799615b5f7ad2e780d9100f75a7fafafaa83cde48b48e1dab7f5958f0eb3d167c3999a224ec112594a3afa68023188c5d50544f8c5b3bc9c7f5b47c4b82f96dd485f599cb71a9fd24821a1512b1c15c631ea46c961081a708efed33a9bee3b1e3dba57cfab42b650bdc8df7046f914dae2d819b86 +CT = b0784ae6929679f3b395df4dac4aeaeb +AAD = df920cb9e2fcad7c3454d0dd1d1b962d +Tag = bd70bccae86435e10f54e1691c5e35 +PT = 02707b294396974d8fa95b81b1724bbd + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 13fbec0f622519bbd88c9a15798545f5 +IV = 77ce2ddd94efb1afa05e7f8d28b50af61432d0fe04d9fa8ac11638e23372b5fa55ae3803316957d759c304befd7c1ebc21ab3b305629eff2a08b3a7d3eabc991101c2c275ab84b5760631d530d41276692711bdec54f362a0cab92e33e95ca9477da779b7bc35b684c093d3e439d0bbd227fc055a0eaa5158a507864f5223b7e +CT = 23713b13ce5f95cf4e0e7dc86e6f26e2 +AAD = dd670e929f0b004bdf402d4475f36f3e +Tag = 5f769c5bf826a8ea9d89429fc001 +FAIL + +Count = 1 +Key = 16b8312cf34bd14443c0c6fd4fdf857d +IV = fad5dd22702bfad6136e2f0b1b49ba59aa365587c92b20150dfb5f0fa4cd295b2a43630ffadeb2ab5e7d2907d718cdd05fc2b81fc6afb28262b66467caaafb0bbc16321eeece543e2f5c187caf12a2ed86a14cd3c174b9d9736285c9e886e1415df10e2b3b12f91fee9f3f762cee700e6f8d80b6ea82a0b1002edfb1d91113df +CT = 4610e020d5f56b6cfff62e326b5d3ee8 +AAD = 1891112142597ee75c38110f7f10e93e +Tag = 793e070abe4f4eadec535e3c8adc +PT = e0e2526474ba4dc5153f155e4187286b + +Count = 2 +Key = e5732df15eddfe7f770193152337e20d +IV = 0a4f7828adb347e1e16dfba6814a144936f6e3417e1440a1cf30f2dc6dfb0bb870c6298abc45ada472a13f7ea20b4f11eb458a0c58d626ef9ee104562deca8549b2327925acf0aa2aaf9f1cce95032aec4a91141034a172d1a772f9a2e79296712b5496f3c176dfe14e0025013e80a3ac558992003b4abde33694841b91041e1 +CT = bf958bd6f78605e563ee52ace9dd2097 +AAD = eee7a74c728d85eb8d2bb7f47e1c5fea +Tag = 7538b90ca6038a6ba354bc0f5216 +PT = 121a4e81012316801b44274f314ed0ae + +Count = 3 +Key = 08c21523c92d3de9612bf2363d9e3c44 +IV = fdc038f46fb1c89a52ff5a22b4c4e8a1abb848893be72af205e1307cba73e308402ebf367a9efccaacc6c1ffa29d81eaabee664da3b4394f4fffe79844ebbc69783aab57fc501b98ab4e918a23be7a13030927a30929072ba5003816632ddb5a79a8b177df3c7ad57db3f1772a7cce4b69d622fab6bb2524466382981ce4f469 +CT = 07a84532281e510262cb8eaaf40f1412 +AAD = aa83c1b3fcc6a69dc6e7d6e50f884f2e +Tag = f81e652b21279bfc95b708a9b416 +PT = 9342746f02a233971c4ce587c16c6114 + +Count = 4 +Key = b5714981dea8cb585fd12df31e7e093b +IV = 9eb42635f3b9637de227133fb72c66cc9d8caf1ce57e8f6b17e3f494ad178d3be5aae575ba077346763683ec61aa829e0df24ce96559e79b8d7b259be4a021c0fddaf6f3a1db26f3b8ec4e8e9ab6cac99738277db554b419a0416b3284c47f573f3bab68df92c37d81fe6b12ab625f3c5f0551a8f646e4f23aacbc0a86f4bd36 +CT = 8a68bd5d4fb49841b8f3c98f55715ca9 +AAD = 75a72371324fcb3f97ef0098e24f5ee6 +Tag = c15314783e1708ff3df6568eaec1 +FAIL + +Count = 5 +Key = 9a0d88033d873b1f60d1230c2d9bdfe3 +IV = 381f05c119b273ea0631150f895746221bfd7f2847e6a9295365d62ff4171668b3ed3c466d1278b9b6863583da066baad68e52c15344c995ec97d8f85cc91f9e281fe7cd7725ed4b110a03379d1372a38bb5b67aef73256b5ec072d2a56046e2cb7d899f8b0fb38ccf026100e624fe485cc0e23a8c909987246d1daa1a1fa895 +CT = c6b5e16cdf4ed4a0542d5b34639b6fe5 +AAD = e3a9d2b146ec86066c5d345d3a49aef9 +Tag = 98e97a781ca294ae6e31ab21164d +FAIL + +Count = 6 +Key = c292a64a65978c954ff522dfb8099533 +IV = 4cbae759d41e2f3fffcc4f248044f071e316733e1e56506a7c7cf7e092b5165e258680e5a001510a4ad856dea6e168c657890428297cc6470556d0b9cdd7bbc49c4df4bf77c00b529f6c339dfe05190d9ddc8beb25f1ee73b625f7ea1fe869cb370520311c8f08eecb50a32aed8ee1bf7779dd550548d2e8d15d086093568639 +CT = c87cb98867dfa77450aab5791d9db532 +AAD = e6a465a06d61ec02eb6c676f2f8db860 +Tag = fc7ba25a43e97fa3c03aebf34ddd +PT = 5c4b7943c08d81a931ddcfe2fa68ac82 + +Count = 7 +Key = 7e11fc7eaf301fbfb41bfd97f7403225 +IV = 990fc52726c2218132103b302fc547ad4b8ce3cdbbc257ccf2ff71aa8b9ddc0edddc92525b666ddad5670799307b1398079713fe2dd465b0a822a00a439a84e1783d5080fd74d17119e49479e7126add7f6c66ca87504b96e45cefa64bb3ac8c2a79fb8b1f830e3c5bd4f9d077f2bca5b327a453a9ecd4d1cd5166f230e5f0f8 +CT = 7fa3f3bb74dea79a5b77642952a54f27 +AAD = dad1a0ab28b1ab70307cd5a53e82f146 +Tag = 4f510e3c54b73d9a9bf23ccf7325 +FAIL + +Count = 8 +Key = 1bbde37f3afd4d0daa98ea1c62337fb8 +IV = 39b2053ebec8a1a45c5cf3305f07a9dae925bd031ca10c5d869a894fd94f3a48c96cdc8e9b4c2c63e4644f798d3838ee03d1004d3697b93f1e2d00bf408666a211c6305e0b072e1a54c56e489ffd52b43a11690a5673e18b2540cd3eecd2f1401d2197571c0ed4d87b2ad9dbd68ddcb84816c15a91827d3c75c8c05e372bc9f5 +CT = 464b6e367396732919dd7f1a6fa6f446 +AAD = 17d3a541c57dbd3a2eca7f5e6cd317a3 +Tag = 2626039042516b3acb451dc337d1 +PT = 17ebbfe5714f6687a945f407a98330f9 + +Count = 9 +Key = 0ea6055a606e2b651879e9b75cb06545 +IV = a10b81cf811b824f4715da9f4ab04dee923ed6f318bad207126d42c16fabdcd58918a7db25240b5f3d0d7117db204427e1ab876c1e74a8ac4ba6f6db94747cd39d7f4facd4e274a16e55ff6a36bbb03219cdbc8e1956c7d0e428430be74f7bb78220230f22153105feebed65bf63e440dac8edefb7008c1bfc1fd399f24aeae8 +CT = 896bbe98c7ffb10767ca4c356a43c56f +AAD = 776d8b3cbf293872da0d39b87e4b7c5a +Tag = 28b2487f6e9d1b440b5742fb106f +FAIL + +Count = 10 +Key = 1c4003d5fba308d91b783630421bad6c +IV = b33b6658fb65131989ec2788cad1e167098446462eb0dea08728b9709969693543ce485b154c85f5869729d6cb0d478ae3b5dfc5cd9eb70d2f90ef1952bfb6f7ed732d5115d95b351ac53dda764694782a73c849e24c7b21f5a445368a1dacf37d055fec1e13950abebb1f1301ae53d2871c735613f1b3f9e3b516b157291696 +CT = 12b0cd90823f486c5b0ed42f55cf82d5 +AAD = 7511fae0c7ccc1497eb878c77a4db93e +Tag = 4a4c4996a1c745ca117fed66a992 +FAIL + +Count = 11 +Key = c88b7845a90829edb9a027d110d8c919 +IV = de490b7027f34e3c0dae60ec7d8f470735da0bf8e699657879edcb6d78b4f1ab1bd22c051943a6b5113a44fee2a6363c77f29dbbc57a7950226a7fee678b25589611debf8acf66a4ee311b70ad0b5ed3d7a9a2410dd1a92b8aaad88ee38841ea8df0352cdd00f9f75b48ab1d53be5158743cb4648388eeeb7c55570387f798d8 +CT = 8e9b11210982cbaedfb6876ef6569518 +AAD = 989b17240c09f5f280982e5d9dbd1572 +Tag = 88310a810f36deb3ebe91840420d +PT = 4608796891a4cc6e60973568ed4d5357 + +Count = 12 +Key = 01b1a6038913323f6af788d32614e7d8 +IV = 97e72360f76ca66c73041eba7109a474347ef0b5e9a08b468f5ad533ac45681c43e9bf6532f0364e0a82c56781d55ba8dba9c1e17c0ca9f4ff6b8a3ce91adc086c7f2faf119643e4648502ad3d03c214118a96f601a938fab4e28a2d841d2e0a01896928cff4ef36952f0a8ff44b115be2913cb958a80daacf2f782eae8a8f37 +CT = f38f0de3ad3306e7082f10f0fb6abcc9 +AAD = d6fdce4e10c206db96fad2151b14efb9 +Tag = 55cb5b6107faeacfc7f0593632ab +FAIL + +Count = 13 +Key = ca796696325207af2ba011d91cc84759 +IV = cedbd8a845673aa1e6a40233b44a131505b901ddc6aea895b26b0cef3bc60e2e2c74bba8f66e74d8646514155e4948d6ed7d5346870d0eb7e6c9ebb2bdb7557628255d020f62ba26a0a8396f72770883fa1306a3a049226c4a876229e0064e59c35237dff8af028d9dfd1955608fa74aa69ca8cf831c37cbc9a334079358914c +CT = e8e10d6df0d478bcf62af952f9252479 +AAD = 939c451f1182d397dff62fc8ee787c65 +Tag = f77470c4fc30c67462bdc4886e44 +PT = bc7599d03b4279e021cdbc35b110be8b + +Count = 14 +Key = 4ba454c621975d5c531663bef51e93da +IV = 94258a2f23f279f09a69cf0a5191ffb965da391ea22681b2283864b3a5129da2cba445cd92e95e921cc52475ae88d28cdade0fd11736ee1d9f4ae30cbeb961bc1c58ed49fa871c94a479eb2a26c18bebab247d35d8b7744e9281ec38cc190fcb2080d07f1608f37f6d8670131e0e037cd1d05ff04a820d78b7d75faabd4478aa +CT = 935c40fec6e849090211fd9eeb64e4b5 +AAD = b6a4554ac63f9e79096b6cecba9863a6 +Tag = f76afe5af50134e2ed52f8bb8f5b +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = c5d8b35f4f0147ca777d2d49811ec1ce +IV = 7f2618bc3b26f318a07d08f4a6e0a606e01f5c543cea9a26e0a0f617975f4bd0637ce0f9ec2d11a4119ad3787148bda98e608d3c71f215f80ec019da5b7d0716054667ec0da3b8a1c88db5c1beb56ed59de2fdf342718e09e1c70d73e0ec16eb46313b7f597a6fac7197b2e0f688e14795cc70fa660228ea5aa37ff488d6f664 +CT = a2f5d1ac01b39d44a52fd96a51798cb9 +AAD = 3e9041984673a910c5d1f1763946b1e4 +Tag = ee877c6983990e9bf845762f98 +FAIL + +Count = 1 +Key = 4f8c6484a27f2c7bc83781782a6c8fe3 +IV = 7df8a066bdce38d098d2ad561fcab907472a2c5d457416b0da76f3259c5dd0ac3702f30aa66a0b9ae2aece4796bc9fa908bf545339841442312479dcff912fea295605005b8023f5f0eb74fe33ba385d559c9e6492a28720bbf5e645a13fb3d1c66c0e8b7b8c478fd1d1c5d8b19d0f12205ae8427e16e9477496df3fadf40087 +CT = 65ce69974427ecdadc35ac0c7ac7cb54 +AAD = d82a5466defd5245e6ef5ed1f42836a4 +Tag = 283aa691541b0df744322a6c01 +FAIL + +Count = 2 +Key = e71b5d9c0370357d3ad88cea865c8927 +IV = 6cd8d7a2adc88100b88ea337f0dd5b16f10501f7226de654e00cbd5965bfbdba390b9630106cdc4b584a3bb775b9a020d69fcc2ff2f8eb9aeeadf4771c27ad23820b72c1c68242ee6cc9c5bd43a270a997917d1be02a2cf4cedb70d9312bb844ee86f7c3d36c30296c3430ebbd4a2ac2749c5d24ad6176d09d51f7ebfc5e7551 +CT = bc50b054690566b5b960f358b3d539ec +AAD = 1ab011ac187bc16be8436b046d4d6fa8 +Tag = 4f0eb46b7837470b3f8b4e55e5 +FAIL + +Count = 3 +Key = 724f6a6c741511041584679f27d755bd +IV = 34ee10d3b4751e4874437252cd4a57350353054886579660fa8d2cd0596889494f90091c5d2d3c20f04fbd4562b01861705a70bf37248f5c65e66fd586bcb7c0335457e9e8e559fe995590ab442f00f85fa6fb5a556caf86d5a78163859f56ab40e7d40a9796ab2ae37fc824503654b9af87a25bbb00f0822421499b308f76de +CT = f9358f446ee2c14a0d66359aec0ed68b +AAD = 32ee3a6191944c129ca9acaacd43b3fd +Tag = 5f70f8a851a6364b97468e9b9b +FAIL + +Count = 4 +Key = a6670d3ff66d3ee3e0188de916be6d1d +IV = c59fbf77d027cb5cca2e38f8f72525119a55d77c02bb9002d24fb358eddc525a65f45b58fdd21397c7cf050908c8ed157f8ed23782bfec0f25164cceffcb5b208f0f095065d22d1ea38c1774b5a5a35865424b99ada3d82fbeb29c54588a5ce46cea69a1709838b735022518e82c13520b95e3cd3596cae1f968ab9c4927d3b7 +CT = 0eef6db34d7b42335dc6f8aadf24edf2 +AAD = bce2fe0cc6c8207914cb1f268c7065b8 +Tag = fa5efee23af1b6e5d5b51ae523 +FAIL + +Count = 5 +Key = 8d8e34efb054e3a6a23d885e6ed8c821 +IV = 7693f967ddbe0a9994b17eec29a88e3a41eb1c8cedafb85bbcb787c03f2d1f362e75663147734ec8bdfe99fd4257e80480981df2f4e316bc3a5a5906a18114e722d784eb91786ada8b7a3a54a558acef472fbf92db7337da878f24239f93a8d84a5fab3c31b4f0e7fbb737604e1f14f4b93aae38d2f5f977c6b27b64f47f68ee +CT = d77bae82812a158a100e525df3834757 +AAD = e09b35d0161ba2410b6129bcb964871b +Tag = 998af00143ba0ca28e125f8714 +PT = 8ffd35cf55a0e76bb95bcf224f2e6ee7 + +Count = 6 +Key = a4ba867e0ba131287dc8e19945eb5fc8 +IV = 481d07b0def8cf7801c224ee747c95e06295ad0f1742f580448e29bfbf2ad36f0265508c722a325ac7f19b8617b0ab5893234882b4b3e3978ba7c404b66c5148f91889c724aeddf9ea9ad7922c5a28f71f936c72b7bd5aa31272ea97ee4339ea14fb40bf050319bc761bee8bdab8358c7bbf729908547ba4f81b121fc72c1f91 +CT = ae105fd766c4a928e9b75fd2abc62688 +AAD = 336433a82eabd4c8a56e8a3ef60e40c2 +Tag = 11b9898b70d0e5d94802078cc6 +PT = 9e9790bc7de627fd208ef564ac4cbd7d + +Count = 7 +Key = 12ab0f6b666e8c5deabc5bf7136db4b4 +IV = 53782713782634a29dab8dd7393f5c900013179d752c04cdc347adb0d207fb19200ede4bb9e8a089ec2e66e90217040495f29c6b13c2bafa29ca3c601013b9e32b6c875b4a1abfd5eb9d2d8e7aa528073e1a2320768f955b8b6224abc820c1f9560ddf64edc4bf03942d58d5d1aa75dc711607084d5515cf4237522a26eb77d8 +CT = 0b6275f8b18bae90d49a64ba4a4a308d +AAD = b2a43bf2584174a3a8b3b2d419363c08 +Tag = b1781e7c4c710afeafc5dc0af5 +FAIL + +Count = 8 +Key = ee2473946a94927d4205f5b53b12b570 +IV = a2d07e00716ec3cebee31d0fdcb4934f524fdb480ae19677d054bf70ab04c5215ab07edfe3a33c7c3b886b5486053e5f68e5c92fb4527e99ee5922aebbd8a6b1a83f2ff2fc8ec56e18024e8d03405d1dd9412b5a5e6fbc2f8c40abbabf063209a36c305056d675f52276a4f03374c49c6127d9ae2f55252217e8daa891851c33 +CT = 93cbbb66836fb3bc8dc17a09b8259415 +AAD = 769b9706b7e25b4861b743f4ad4e00fe +Tag = 86fe36167c027ff06af819138d +FAIL + +Count = 9 +Key = 10717d896380e7b318cf2bd470e9cb8a +IV = 7b71c72e93575bbeb3b466d68dd1dc92d7912382139847312c692b656b73bb72c2bc5baba4aa353e3952a70739db48a6b811f680f2e896a1e49fda10cfe587d99f785476003f050f5397981d3dd64096988789cee74a686ba8a9d7c39545fcc7a69c474ceedee4d2204812b71182f9fc1c9c073967f0e6a092bcee51e0ac708f +CT = 588138f2962db99e20c56fcf54246e6c +AAD = 15784e58dbe93d8870e0f234b1945db3 +Tag = 02238aca522a13ccb23f35e9b8 +FAIL + +Count = 10 +Key = ea009d6a9ebc07ebb0125ad90069f228 +IV = 344d62b84d2ee776c9bb449824b96afb285724e882e9e4fd911e5b0fba9a61742edb128583444bddd8c2f0d595abdfa2f9df0528d87c24fd190407c62b469ceb8a54b011050172a92713ff279a81331b3fa442dced76687529abec0f9c41028d06f85b185d06cd978b8623edb7e1d72420e230320f214109e8fcac544e34bdfb +CT = 8419bac1b90ba03c035888f8232b8f4f +AAD = 0242d31be44bc115600cf4b989a44f8e +Tag = ff87009b2c4cdeeba94aacc526 +PT = a0b1cfefe86db006b6d4793cbcdbac38 + +Count = 11 +Key = 2d1b6902d166f0a7e58d0db1c7ad8806 +IV = c38a353d2ef1634259079b3e715491ec940f2aecead1478fa2e1239f65c1650e12b3606a79d92d9ef433688ee07037b1d02db9f4b5c2b55e012e3fa25c48fe42f9dda5a0e94ed4b8767fd870c5ef855ff5befbe2c4b79c9be676964ed9f9c6d132610c105050177eea34149a835b03a020806bd7431b88db440afcd877902db2 +CT = a2cef7c225bba0a649b1f38d0f869501 +AAD = 0231ac8d702598dfa0e9eac947d88e52 +Tag = 5e5b1353b4aa052a5a51127661 +PT = 0dc8880b588c97bf491f650f6f083ca2 + +Count = 12 +Key = 4bb5cafe5ed1a5168cce10c3b2dbfd9a +IV = 78feb330d232462f5e201220e110878ff34d672fc0da7aaebbffe28432ce84ea50a58be9ffaa94c862fecf53544d86a3814833d50a7899004c51a3ceaa6bb0d18e090dbc954f3132c646c7473f7147206f0ac41162adec55f6bcd7a33ea12c78ba1b1a6b53b016cd4fbb1407373bcc45ce1473440c4a9c666c85cf9c18c69528 +CT = fdf197266abcbdbaa613d4752247d328 +AAD = bf886a5d996404800bd9fd9319c32337 +Tag = 949fba12d147a2269762e9989d +PT = cd29154202b838a88ad9d36b892eed81 + +Count = 13 +Key = 48a3a0e659e5a6591f18d069b1b3e340 +IV = b041d4a3a1382b79d7607cea2c606b3605aff26c4f70811e3533e93472a835b1b629675d5da8d30de385ea8150fcdf60586d672f0e705fed3bb369b0567941fb2d25d151372641f7848c82453cd6e92e92dbc3a8065d3dabdacb31e217c6016c2b16fb848f3661e9d11f3a1ff45f6bd38af2eb04e1293c49968e4fe23a678fdd +CT = f7eb7418b9bfa7b2f11a2b6245acd4fa +AAD = 9bb16f610f938c981af49facf4dde410 +Tag = 9afbc4ab86618b1ed8ddb94113 +FAIL + +Count = 14 +Key = eaf0678a65984945c181dc367ddf0cf7 +IV = 7f3e4d3aa9c511846fc7e77b85eb2fead93b88168991921e174abe9dc68d68241a4d7478330cb5763c768f0047521a459577ab1f411cee69c367cf37c6bbcf313267697edd4794d5b82f82b8e5789bcf444cb8ec9becacfe313ec3461c77f8a90ef56aa504d5016195c30ddc973b0be9c7732f2460f9b918802a7ea7afa8a978 +CT = 47504953011dee94cbcb6b1b1adc3993 +AAD = e393d669e79203f54b1b4a94da5c3518 +Tag = 177cb156609164d21ef778badf +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 21a7fb2afb7948a829b7fe81e47323ad +IV = 9d9778124607e05cd56d245674ea57b48cf207f02ec6f13a839677b6771c93ee67b27d06d2017b39e0e2d2f38c7773d38cf5221b34dff0dd97893589182ff433495445617ca4d7c87a1f214337e2691886472a216c1be46abe322f378a238f8efa8b3aa05052e69710c9223e873eaaa00d8cdf09c5caa332a08615897dfc91e3 +CT = cb0451cd05dd2aaf512d6d777c12ff83 +AAD = 8ff7a4213c367eee87c7ca29a29db793 +Tag = 4f6ac5d2385c6ba1ecf20f21 +FAIL + +Count = 1 +Key = de0b231d00861bc4a39e69f150bffb3b +IV = 465d03f2324236e5c4f31a91d05303a15f936997a7d0e0c272026216e1607ca9b3d32d4429fe5cf7c1262e6a4ea9c089ed4fcf866b1ae80350263288528cd6f153721b8ae21a442b513efa5106f04b9f27bc7b191152947fdeb317e11b1084757657547efbac1bc1340f68924ad42c3f3216c25c46f0ccacda2b63cd994b96ea +CT = 3e557531f73af6f9c8581c281dd236f4 +AAD = 9e795d7fedc0feabe5698edcc750bdd1 +Tag = 8113881bc5ff137508f943cc +PT = fee8c68af326ef2607978bfd015c2f82 + +Count = 2 +Key = 023eddfc64e2ab9288d7f74da9465a93 +IV = b6cce50158999cf498d4e9af0f49106d1ebf75326c8c6587fd986c61868e485d16413093cbc7dd73d90d5fb30d6715939588f1d47ac10cfe9a1df93b4b62d92415c15649274dbde5e484367f4a5c41ddd1a3789db9e0b6213b0e932aad8886f976ac5025bf951f9bcec992ef10798bc9641bc9c2142bcda56ed935204a8cb972 +CT = cbff086b8c0f090d55aa4528298d54d9 +AAD = abc331e30d8bfe7873e89604d3e84674 +Tag = ca23ba34e875cf049660f903 +FAIL + +Count = 3 +Key = 0bdb38be813107e7031115597d4ef830 +IV = 91fbfb5a9d60cba31d8ccaf5e918735c58c65dc61df3c09318d4bccb3994b58e02f700b28e2bb64819dfca8fcce3c131988feef0b3f9711e5138e9d41948908ca0015574aec1ade78b09e881233677730f656360d103dc52d87af534f51f1b9c5f96ca6ae4303d5640ea04f4e5685b83a6c2ce1009098f1c3e638b7b4bf27106 +CT = 6baec5044154d83584ed7bcda0761124 +AAD = 4047fe1f8a9ff02c36856b93fbe61ec3 +Tag = c80768b7f984328a04a1c9d2 +PT = a5743441d7eeb19b64dffc8c755007ed + +Count = 4 +Key = 083a738cc7340bf881247a04deb4a076 +IV = 81fb0e63fd68856c82bad446456ed20b6b27e4f18b3cd9a2edab7274285fe5deed7d917df576cfa56725d1f5e04a2a2795cee64e644d5124cdc219d49c24d8be5709404e6b9244035cc678f4cf6efeb57ab20155dfb4032cdd12a94c4aa9cb6167105bf7a8b0cdb5c13063595b9abdcdf210b4707cf1cda7153e2266948d2573 +CT = 361068160dac2fdfef12887ca41c2e12 +AAD = a0e07dcc1b3b5215711f07ad948c1174 +Tag = f567f5e7998152aba463cd14 +FAIL + +Count = 5 +Key = 177e9eb11fb16847d67e1f0f2b1fbac7 +IV = 62399214e095b97afe35fcbc301bcb9a21b9a6e96e35bad9b858738c405ba382b1c5485bdc97b9010d7b2a0d16eb57e6cf31d1475f1bab136947ab805a78595616b35c165c9ed02aa09d588280a18a54073f5c75e2df92d032d3b1d10ca6ba29f82b28554834bf6ae33bf173f8ded3d831134054f0e471db8415be8fab3e4278 +CT = 9f66ee51b115ea140e9c621a0bb1845d +AAD = 65b121ec33ed2c557034137252fd2030 +Tag = 2ec0039fc32bdffb7862e71a +PT = a4fb6dabc945f4799c9135d409f3bc69 + +Count = 6 +Key = cb1025d159e7e16eca5275b7b9f80925 +IV = 57a43a506386bf1058d1e07c72c3d67f7a74cc62956cffce4341fd76fd9b250c55c062a230e965facc2b2a5e6224e6886ba3c3ce9d57ccf04dd539f296608d32bbd20fa4b06ed792731d2471e4c07cccb167637a93720f32ef56f45d862fb25b14f1f3dd19649348b1104639f3e816abe9e66baf9b430a9d0fa4501ef4a820d0 +CT = 7d4c0a0808fec0d20ab3542928ece1d5 +AAD = 0ade4b56dea0f76d2594d07e19501f00 +Tag = e49d9d4c9887c6e9917da6b2 +PT = dbc34011c80bfdfd097d283b38a5f9a4 + +Count = 7 +Key = 974a4f17727405f88f736d0f3c646f76 +IV = e878e5f6f2dd2b0f5a848a9a23daea6f57f0b13bbd48f052867b0c792c0771b58fc94497d946c7f781139787025c01003fbdcfa490882260722ee0251c49b7c2a262178ad7edc2d1fed238971ac47a8d017063d5ed486760035349987111c8de2fc8c20f4c8fb5d292efedbe1d7064373ef1ef69d15b0d4736cb020abf3fddc7 +CT = e61674c2d5581a060825ba4e86b2fb89 +AAD = 68c1f1a5075f90592eced9573f3b19ec +Tag = 3460d25d23447a5eda9dc6e2 +FAIL + +Count = 8 +Key = b5fe0480f0665f163542b89a33c392df +IV = 7d7fd58ee6ee15c44fb760ef32195dd19d4879d18f71006d63eddf75d2a4b504defdcf09cc7905632202e2e057aa6a84dc35d7e33a90fb777977473f1e4a1ae1954eab0905b67020231da611c0faa9f762d9c343cb1e69e3684a259664c144731f08b4f5375c1cf60592814c40f1c2f84ad609f1ed42e11bd09010017f89d715 +CT = 654f9ca1c9dd337bfefa9870f0965c22 +AAD = d3ef8c26ca42028f6f768b3ed5f4dd1d +Tag = 4037a6dd429ea084d217feb4 +PT = bbb5ee9686265ecaf0ac17cff542e21b + +Count = 9 +Key = 884500bbe5f69014651074d38aec294e +IV = 56630223b3e3a5c717cc6a107dd43d0d9c21baf777b3b6f4c963dd9bfcb987cfa1164650e73cdac8cd455cd0f11d580ea39503920efa15f09146ff5cdc47f7298812115ab7e660c7b82b8bda51d63265a1d5ff89d86d3272dff975c47a7f2a306715676c2bdf07e5958551a30de734d79d00af6b02ce5138db2a6afd18fea34a +CT = b3e330078bdcc7b6e64c007f567b1607 +AAD = cc2ab467f9894fb454b6548effdc7ebf +Tag = 23a103624384e46b3b69342f +PT = b385057e2a9d94aa191e329bf57673fc + +Count = 10 +Key = 09491393716f20306b6bf6fec5da0786 +IV = 4272e28474cc48f8bbbf410e85f73629a4a47c124e9e33a4731c2e5a29c0473321ec952d1d39ece72498e1f33eb7c53e79e7d4c83dec83a0f09478191bbd002dd8afbe501f801aba58968b7b012198c30a1b7742cd283f28c4083b796178e8dfd459a2a595de4f6d9b780411ae281b9bd2e71ed623eae215f7f13356080179ec +CT = be9d0cb55eaed991fbc4d414f106600a +AAD = 84c421aa06de370c8838125c6f1f74a0 +Tag = f086e44f5215655942395e93 +FAIL + +Count = 11 +Key = 7cef76312c9946894e5aa0c75dcebbe0 +IV = 3514dbfc6fb22c59c93ff1e2aafcebf1dd88d63eecdd65bfb8df021a504f2bc458b8b97112f16fcf3cca0bbe34a73eb85e8d2e82fcf829c866d1afcdd2ab1892207954884bf7d1f84565a167fdbf04516d95042aa1393dbe190c98bbad0a5c477419a812c57e7a74b281df0627c9884e69aa3317730a2cbcab6843cf861e7c26 +CT = c9b368e598c4b27e8d476f4617c709c8 +AAD = 251b028c092c53c9cfcab2865a39ab3d +Tag = f1777cb4ae7877cabce73461 +PT = 2a898dfb9741d2d04ca1f9e49229e8be + +Count = 12 +Key = 355aaedaa71747235930cfab5ecdfe84 +IV = b87036e14d64b3d239105ad84c3cb792608c5070769eddb7836402cc626c9ecd67f616c608cbcb8af50232cd7218e965db8ffccfd8ddfea17863b1090bcdd7209ca5e5582398110fb2675d893c80bf9ba051d1e0cc712067f35ca98ab5747cce4a88446133172c0383c945b7e9c9cb396b81b4090dcc917d126a7689e6ff40b9 +CT = fb673c7d7fa88e7bcab727593c3abfdf +AAD = dfeee3b36d72feff06ca77a55e3aa65f +Tag = 603d4195c64b02fd8be64be5 +FAIL + +Count = 13 +Key = d8067e49e732bfe9e1502cd549dccae3 +IV = 7faac54dc24692ee2507fe34b5b81c3fd0a0e8d4f23dcc78c6ff71881651bb8dbbd1c5a74fd9d26784ce6841a53050c0297c8c1972761ccfe173a6e00220e8e8a642b31430988023ccfedc8d02bd8544156cac835d6056a139cec5a6be56b4f7f63d2738b81decd757975c339434884c1aaeda3d92c9ccc9a9d7e5a9da05e871 +CT = e195c64615256aa9fad5fd6e796e1800 +AAD = 16b6e630c84ebb6741a97f90962703e1 +Tag = 2c9f503b606cdacff0c9d624 +PT = e8e97f45343823dc16dd0adf755a4269 + +Count = 14 +Key = c81431a40805cefddffa9d43f6ee2aa7 +IV = 5a6f73419c7d36973afad84009a9aa62afdaaf2eecd1f1619a42733c2c4800b9a6fba1c75c1067a1d58db0b1767efa56baf5ff1523cd437b146f5214f61cea7c22d7887da65b3b8dba182938a9deb45a6c27142048e75ff2ae57c6405488fc052156b64001604d8e5e86b39709126a0802a6e582177ac5efc00b62fd7dda2fad +CT = 4a201ecafa82e1f822abafa2a2549323 +AAD = 193dce19381e09c3132f4b596fa0366d +Tag = e36198bf18ae6f806e2bdf00 +PT = 109ca43a9dbc7a46d3d7f388adea8eb2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 2c4b601e1e62b8e06baf24985fc9f9d2 +IV = ec6a99f8880a342ea12e1518e583192c9c700948acffea87c6b5cffe3010d065df1c306d3b93bf0386a795708661bf0315a5306396ca774b9bfdd7c0ede49f4fcb48d8557bb8633f62495ec75d9fb9accb7b799257591112a2584a03c9fbf461fc509cc9f4c7830c6c56b55be7ce6fec9edae14d4d393e2d37a26f6c3ce0d5fd +CT = ae85470fcfb29fd63ce53d12616f3549 +AAD = 6e29579012e81af78c5268dd250459eb +Tag = edd50adb75a9d4b2 +FAIL + +Count = 1 +Key = 0eff3419af9a0d165c79111d134191fa +IV = 7d419210f1367e3bc415e8618f55ec23afca72dd7c3ed8ab3e1e70b62e3f904b3acb6c21670970d1fb682eae3c397408f5584352b2ec9833efc2dfedf80fa2361c5413c407bc9e250e12c97c5a6573cebb2e8d07fe75183eaccefb5f5d135c101c191635970d5ed1dec8ef6f319106eb4b59e784a442fc90855475060573676a +CT = 75dd5d4d5487547628c86fa9030cf4a2 +AAD = 2120d69ee3c25f09def2d52ee5285d4d +Tag = b59f58d2258c39e8 +PT = 5735dccb7a70f0e031635498b382f099 + +Count = 2 +Key = 5d5a9f4a0dbf75d922d7e8d70ca86138 +IV = f10edc3b09bb5c0333624d4a3cce2c9b5d43f697ee3654f80ebfb352b173dd121b5fc0ebfc928b9c39a0fd86011c800872a2ccf55a421501261449749fb628b257a260af49a6a4db4ff5ec37a78b5f5ccab55420636ea35f7f4c4a7efd9899c284de2bde833b123f0b9877f061b7e1e197c2488f300e2ecae1882834ccb6eb54 +CT = 288cdd6bf65e84ae4874b24cf8e8aa1b +AAD = 3d0cc77ef3a94aed6c3efc9ed69c64a7 +Tag = 64c67f08f2b55b03 +PT = 42209ca7c4bd3a3153dd1a4dec819b62 + +Count = 3 +Key = 0b5e663fb43cc47aa6b5b9213f611cac +IV = 7cb374dfa2d326722a5ec955c42722f2e76d525006f83e11a7054e4a6f02f45cf31257f712c7be081031adb89c7d6317dcb66be075e98753ae2dbb34ef23874e869820be86922174478c6d3c694d188c83e5757363f914b1223d28cab3cb04c8f5f3adf2099774c63791ac596eec0eff14bbbb676fe685664b6ca14b500f3ebb +CT = 0baefec469bae6502b4bf45905a021eb +AAD = c895fa1e5743048562e29f427469b9d5 +Tag = 98151ed69d9bf927 +FAIL + +Count = 4 +Key = f942f918fdfd7dee00464d4e9de5bb52 +IV = 3c3aea348177fba7b7b87c3cb8d735f427619543d0ad4d0a473a393315717a7dae82235e329028a5ae2bcbf05c2dfac257761316a276df3a6370ddb141b398ffa83395130c140789b132af152c7dd824cdc781c87944d67a7a9e2804f5e2396d7a335d09cbd6384f18ff7e8fda3864676d7c31219324c74f5ac21556f4135da0 +CT = ff3c5d3d83d7c62f0cb83f0ccae4a62b +AAD = 0f447ec3d9193d14cb3462248b8f6522 +Tag = 60e9bcd78fe834d7 +FAIL + +Count = 5 +Key = cb26d120c8a938b8b0c68c3cd58e0f66 +IV = 25f9c41e22df7b7499746f9e5d54536ccc7842933ee8b89e6a2a983e356365ebc19fb9314fc65c6a94161b1e0fe3b8b092ccbde9af55c02c7f0a61cfa968804bdc56c63a1da0b4980960244b7c912e078779af77ea94fe88486425e12b5140accf35a82747209c011e36fb275308f303ac8b887850e4259053305db705c76e69 +CT = 9d5318ae61d21a40e0a18794e889e292 +AAD = 3244536be306f9568f61eaf286b919db +Tag = fc93e0b1dcfa0111 +FAIL + +Count = 6 +Key = 2092c8e5ecc5242ec7378e26a5c02dbb +IV = f8158840b68425dd5e104a034eba3f816029620b134228627b4f432400c62ae731897814cd5bc177bf5cc789f2259963fd721edd2c571bf3c28c7e6cb4aa72a3db289ac77053ad27215e1d52d55021f37ce1e8c2463b8cfeebc0c8dedce5bae2c92540f4169c11cd3940ca86aa06a87cf46a9b29277a4fbbfb22461a94bb8369 +CT = 5e7f32085ca7e86bbe7e2b2c07d61b9d +AAD = cf6275b3135bd3c9d5cc2c7873091971 +Tag = 221ee413e24d0f6d +PT = 33be2400a72bd0f9dcfeb67b84050fb1 + +Count = 7 +Key = d870c7c51f7426dfa87e5af1475a87c9 +IV = d22ac7c3bc9e01448a0f7be2be61e0896d8cf1d3dfd51e55ceb7c2adbfde69b93a3f7f6a6489d8db3193cef55c13696a5239361da9ad58444f635a551672311cc616771430abe20b74fff5533a8adc27bfd25554f8ffd1dc0fa5546ecfdb92fba7173effad7c8bf8beacfa9cfb2fe78885ee10196952f368f09b75710397f6e8 +CT = 2a6ffd43e59db6b1faabfda13d8acb51 +AAD = dbfc4a5b34a0798125637de90315dc6e +Tag = 90bf140426bda0a9 +FAIL + +Count = 8 +Key = 5b99d1a85f4a360117c7f88ce4c58b01 +IV = fe14ec0dd63178df2b206873e2250d585c18f34598e7d72dcd28d1b696f6e79c63f7b3fc121d57b49a4cdc0922007a0ea75657c77a7e717a5ac9571d684a8e484c79fe1a779e3f03bff826884122c48d398484d7fdfef11791bc3babaf567193ad317caed3ba8bee61ebdbb35ed6702c15a971f8c41066401d885a0e64de7a32 +CT = 2bfcaba04e01f59727b7cbfdb48ff810 +AAD = 9654d8a66b934193fb7c0ddd5ecea57e +Tag = 720fcda0fe7a53d7 +FAIL + +Count = 9 +Key = fa38b9ba6eaf4d663dae18c33ecc1bc9 +IV = 01a202028a388a08dc75d7c914c2a2cd5bee0a0ab6a0ad731ddc272f4e6113d4d14b5c355eef160e3da905bb7f46e6dd30a5c4e8b542bed08451522dec5a2fa6a04cfd0e3e08e01d4044462f21a1764499e1b123db8f6b8bcce94015e51cf4deb46cd4df439cccc02b8053da580496a653f7808de9e739efce5878491ac1b723 +CT = 15d9b91d24967af90273f4092e96e634 +AAD = e547b750e37d98431f3361d8e00837a3 +Tag = 252a7b7dc85a7051 +PT = 9d18a3493a602e889adcf964590edf78 + +Count = 10 +Key = 870d0244292ebbd05a54f2339a03b8bb +IV = 51dc92a391e8500f1533d6810c46b38d8b8d7a7f91fc57fe9ab0779b51b60eb9d32f40c72a344c6a580de0ec13c1ad66c65884c66e5a5bc10edc87c1bc289644e37258fd49c6127457212d91c7e80d21f7553f23b395fdde3a38fe4079fb8d74c6d87b0611cc5077505d44f937ff2d0518242c62ef49d6c605813890002232ec +CT = 6a8b65bbbc0baa11f9d71a889d41019c +AAD = 7252a38a44ce02105d0d3f2e0ae3638f +Tag = 7bad2a93f33d0f1f +PT = 495de731cb121b1bccc07aff3f1ede0f + +Count = 11 +Key = 2ac604a3259030b30e1c1b159b16d345 +IV = f4f66d686746eb1eaea7cc62747acfe21250df3da194dd35e1b0759559ee2b414318f73685a204b169fb5544b55daa2e555b34f6e97f45121c21eaacb3691d4bfc600c044f2a0ad2c71463d1a0fd5f8849f263a391b9a4fb3c8d689606e4390ac75e639246942fc035b713026ceb43118cb5d4c5883dd3c4eb9e2a9ab4afaa47 +CT = 1d89600bf5b923167c10ee0791fc3b59 +AAD = b55996ba46a2eadd3e435069ea505c09 +Tag = 0a60e9b9d9ef5e40 +PT = 020de6eed5e717f86e6a834b3cb97070 + +Count = 12 +Key = 2e1eea0ed49ac9c9495c740ec4b1445b +IV = 04f67451c5e6759b8d1ecd809c37f7bc27831e9c6b7513a6f8dea390cc03ad470013f9b1b0d126a19b2fcecc6db5c82e61d53932868b42550c32a851f574057ee53b868d53bfd1c626dac542eeb7319baab8dd31fc02a799caa49742c3df8e781881e3f098c542169a4698fd8fbddefe20ef4ec98f1e2ce325dcbc4522db8a33 +CT = 4d91fc302a9df36e0e35d6a8d9d057ab +AAD = 236242b54e3cec05f9b50a1aa2b0d68d +Tag = d558251e89cc98ed +FAIL + +Count = 13 +Key = 2e6b64da9966b63d83f9fd741027274b +IV = 38a3f58e552e40aa23fdd8d3f8e0b13bc4b4cdf81e850af2900b1ae7f66a2ea20c0223ed2bd1b2323a2b07fec891a971dcc068527db96a294b7d4ba6acb7d41d0df0467e309efcbe4d4a445c57e1c90d8887d37c42faf23c1df896682e201076ce08e7f8937ef324cb5377a4d5e1361be42dc78a0358064cd1b9b47702fb6b6c +CT = 09999eefd4e2863651644e948b42ff10 +AAD = 2d137b0ece98cfb9c039892d697b1c7b +Tag = 5ae80786a7b84b6a +PT = 9c63836e331a445c2b4c2c52d48518c8 + +Count = 14 +Key = b9e4c5423fa50f5b31f9b7d9779bddc1 +IV = 866be0c42b4a971772f96e9467ea0b9a21cf73d4a88859c89b57e65b8edb42cb008d7ab5050bc690bf92c5c6bff835bab678352f8c8b23b737220f575ae0acf9fc717cedb2b8b90ff43c0a3ad1d1cd1cbcbbfa730965a27a61e02c42925b4a5981a9a016a5c35673975b1c9621b57c68bdd25320236e8b95bdbe3c5be2a4bc87 +CT = da051226b9405f21cd990fc2f069f3a3 +AAD = 434f170a7b5df6a9d3266bbb9a317f85 +Tag = a53ecc819a84d35e +PT = d0fea56c8c00dd0133afb9dc172cf47a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 302fbbd43c8434e67bb166266da04632 +IV = 9004aa9fca3f973692b3f8bc9dd19ca0da9b4674bf6a920052298070f71275351039bb235c552640b55cfef40d6331d40099f8c7f198bf05479578d227371f95cc1ac3bc24b20454afd4279066862dc40a2fde218731dd7e4cd3e46d3f91e969e8331eb68a59effff3f546d429e07ab43a3458b3a543e025351bacce78f037c2 +CT = 720d0e48ce4c0f3031b93e397a37548d +AAD = aab8c99862b2a2fc5abb55b173253768 +Tag = f8135b80 +PT = 3d5dcb900ba0645aab20e549e3dfcbbf + +Count = 1 +Key = a1bd3190ee5d6a4cfae64b70816340ba +IV = 47313f683fc0a89b6cd96306f9607ee5d15676a29dbfe05fc01fb5350af298d5fa2dec3a7d895e9d8a9b20fd3272d17d4ed842f17398ab47d5bd3eefbd78b441d955bfd9a15b68e6039212c8cedb792933d53054f2a60a3efe07cb010abc3679e568e28093f110b0f0c57e69435b378b5cb7f1db9cefa0414d8536c9cfa21453 +CT = c3cd1d43a4dc61074777ceaa19a40fd5 +AAD = 8859a44baad84b21e5f51e340d396b2c +Tag = 5ddb1d0b +FAIL + +Count = 2 +Key = cc6b8c744e3718fd047c2f2948d25218 +IV = da78db6d4883296d879fa5ba8f92ff23a1209c1c7e3d5100876edffa50f721ab1abba46db8038fc4ddc39b4db09859d17a52532daa4889ce8efa6b270e03c7fe99c73397de83e9cf2878e10fe4b471a43599662a450cc9418036710ef66ca5ea6ae4efd04f0b7898360c5dd1626ba3490c507f37d1ded3d4ebed7c0f776c9d67 +CT = bd7a4b55a8982d6b9f6a67ecde7b0c8c +AAD = c5ab9312d9bc99544e527161e4e14888 +Tag = e39c1110 +FAIL + +Count = 3 +Key = cff624bc035815c8b4ced52af14a9026 +IV = 3e1f09c7cedc72ac72c1c30fd10c6a4f95e0b199aa4370303d46c80ff1daf802b9005f3b8ff5efb115b47c9ecc6bc10f12b1cae7f1dd6f04efc7e4cdefac35c2c62349f4718c5b1e2924376aa3a2476721f768a9d582946641850fe8885bd6a91a71bea5d86ee6a9ee33c918f6d4916ebf8eb6e4558a449a561a64997b69d3b6 +CT = b3df2df2954b3f3be248a377cbbce744 +AAD = 8989ff204e854ed3c10faf1ad9bb12bb +Tag = a6eac2ef +FAIL + +Count = 4 +Key = 6c4d5e6d5f7bc82bd6ebcc92f4425b35 +IV = 7d91e8f87ff8a29e26adc01d13660c7c40b8905caee84c62e4df9503861ab45171d5be1dcd92a12bc0b26254d57b8df3133eae3ada93a13720eafe649c9a19c8a01102e44c9ed21eb1fcbe1f254349336b977316c7b45365daa1d4f2a6b565b7509d1f42feefe3ca89dc4da7cd587fe48773d4c846bf9bde72dcb972aaf458bd +CT = 9e6794dc740e4b23181a9e0c689832e7 +AAD = 9e870337b78885aa3719a09aba2e5107 +Tag = 32826db6 +FAIL + +Count = 5 +Key = bd461de2bd220b045817e71f700538bf +IV = 5bdb91193d0ab5e03739ea51cb913f5bd56faf6482dd107bd3138813d89564e7cabc94d38d204e41a393502b6c34bc58708dc9bc7ee5606fdcb36237de1c859d97b4c884eefe4691165bfa90f9334444e956d6a83a96151b31b1c334beee509166119e2acc973f49bc62e450619e98310245d3835a326d756b941ca2907bb433 +CT = bf67df22baaeff1936f39d756649a341 +AAD = 678c19aa0d89fba5bdf81e7e37dc836e +Tag = 2a18c3b4 +FAIL + +Count = 6 +Key = cdc9cc45844eabfa02aa35af5c7e142e +IV = e8a7cbba5ddd459c8e1eb9de272ccc0a3003e41eacc90ee91d7e24207f58616c6fbf1fb4f9072753418bb4e5898da5558bf6f18712d5fa7b0291b4a997a70a73b14dad9462f513c15d21d7d723cbc8d1bc3dee5ecf664d28a385d433c732356801e8f7ac4b2185088fd81da8eea722a24495d880f87a14c731e3b38de1f95a7d +CT = a2bc343dc698ca76a5071ff1bb821962 +AAD = 8f1d2c8ff48b1ccd9c214ee21ab9ca85 +Tag = d65f2c52 +FAIL + +Count = 7 +Key = 7f6f1594821814df240d1f91de26db35 +IV = 88a4ca03186ca881f26c099e915aa4e39e55b90c4349e4d0a938a2284d0bb509207a4c2264c398bb3d4e37a1499d947a4df638e0f8744bdad85894fef7cd107f4d1b21c3107c51de17bdac345eae668328e29ace40a193f624e247b29979983a29e531d9ce5f7b6c7f665931904afe8c0f7b52f879014b5af8e1fc23c0056683 +CT = 5f2ebfb062e1aec3af230f08a3686729 +AAD = 91aca7e73547d2b01ce79acd094bf537 +Tag = ea2ab04a +FAIL + +Count = 8 +Key = babbc32bd671a7216f91f45cfedb08b6 +IV = 405021c703103a8a667f5cfdda868535b86f6901c72b362a1a036098bea8f13121fe52bb8f1c018526d0c1378eead0a0d3a4dfe0379f84383f48dc07b4764e8462f033822b55b61fcfafa316a500fa7bd0ebe9e0129c2f0fe4f5dbcee2ab2e4094c2430c3e53517e21fec3a2612f79c4e92c2a833f9e715e0cedca852acb77d6 +CT = 77117b4856c20f8355bb1626ea4980c3 +AAD = 17bb579d45b2e5e083daecae45d6fdd8 +Tag = 34c18fa3 +PT = 9ec0dee52e3a1a2b2a382ca61cbbda49 + +Count = 9 +Key = b6233b6c4452cd12b163fdb6d073c633 +IV = 6360b7f54176a76108574a89342b0010711a8789ce3b13ccfccec25c4847ebbbcfca27f6efbf82fdec0f63a82a5fd63f247d49bc49e4f4dda1cedef4d99a4ff32e91ac1938a374cd0d7b587f99f599a9613deecab2ba5d9e82da65ced0c3b50f53a878eb3d36059d07f3c0e826ebf81c5cb025b23281c7c5a21a90581ff5678a +CT = 6632252d5a75fe5ea2ce3124ef69dab0 +AAD = 5d2a2a31f75170e1f4e585508538289d +Tag = 21f30d64 +FAIL + +Count = 10 +Key = 17f4f08b6f4de052e29a50c5bea4edf5 +IV = 2ce7a5d44d049623beadbab7978b3625f3da77a5a604f32538d8c798f5d920cb4068da0eeb007dbf9f7337ae51f19c90a47f8c8691d29b3b0d30a4408c8178287e7e4e679b05ac59618fa3e3ba32b9a8febfc311ff9e7191383eb308ef1b151348791c216198a31344eb76ce5a8f645430f7f6f6ac3ee99da927baeaf13a43ba +CT = ff8b8112bd2ced97c98e33a9bd28cc51 +AAD = 36a1e9491a65372af4bca72691ab092b +Tag = 68f24812 +PT = 747ac2682ea7e1f132c71674a83dc82c + +Count = 11 +Key = 66a04bc3e2800c6a87fb401877ca441a +IV = 6cb9ca4752bfef193d1d5cf5a4f2847691b1e22fc83b22d0372831da00b1a2bf8e2d358a99c326bbff78b05d6470fe0149303f5c265da950183eac64d5a46a13b82dfdcea6dd0e8aba04750570878d89b49ed4b5af34a1aa76a4a352e9509dcc3cb3e92759e9369abc589a09fc69c822a1afa761ba304bb7748ceca892270c65 +CT = 23701ee8afd33af7f96a1f7ec5c4c20e +AAD = 511beef70e037390db667431ceada908 +Tag = ebf2032f +PT = cb0eacde2229729563d524ed050e992d + +Count = 12 +Key = 0285959c716eb97e78222aaa1d7d48b3 +IV = 9452e19391c63aaf9805dd82e084304c2a5f922ebbc188e537d0234bb98e965bedff8d3910810393617b070d788b9e50b026b3d0de700aeef39a0c20b1294cf4ad0e48b9babce0b1ca0c3b0a1844e7220845a4f948cf5773a5468c2306252df68048194e70144c40aa0d374724b411e78227c57caf8296e7479c4348dbed4697 +CT = 1e5b250023403ea8d1086ca12f350597 +AAD = 08aa7608bdab1101dd5fb1efb8396ada +Tag = 0095f2b5 +FAIL + +Count = 13 +Key = 5b883789ce71755b742ec6a4b9dbd723 +IV = 82dbf486586b551d04604f2a0369113618248ba182f230a243ea9aece1d8de149cc3eabfb84caaf5a43be6b646e72a168c0658ffe55670ef1af22d8cfffc13a347b32781bb2f9cfb11f3d34a9ff94dca2869abd7898573a5b7d06c2853a6f8e1a048bfaa68ffe858fe7a4ec348ea2931b07f94874219772a6f901d453f6f298e +CT = b78d9afcce1e6398fa75601b50733aa3 +AAD = f8bdb3976d739faf190d26d69f4e34d7 +Tag = 2be306b5 +PT = 76225a6cc323b6bc519bef2767d1e9b7 + +Count = 14 +Key = d2d6439fad87c36da5abdb6c1f40c9ca +IV = 8cb5ab8cf6f106cd2f51dc40c9d541a7da28ef139a038d0e7e51fb912c52cd3f3adc467da6637bfb6f678bdcf071f20cd0875411d7cf47fd87b202dcfa97db643d76bbc1dc8ba9b2b302a704de9ff9b58625dde6b4c59548da3a7f18aae329daa2849c9e947501c149a4b1c67f8739e0c3a4acfc55550735a5a7485e8cd6998d +CT = 5faa619d763e8581434eaa1ce626fdcf +AAD = f25a6fc80276dc7bb780bae2f8930e84 +Tag = 912730c2 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = a52d0b98373071bdd795131cb584012f +IV = ffdfa77372d73f75ec83529abe544cf48c4a98120d0f1cf913fdd3b7f628f85a16c30c3400486aa3a0ec0709b07f837cd747bc8d320fde5a0cac23d7ad53ddf849b23202e61f982ced39f523e1f11c9bcf7d783202e8ed7522dca4b1bcff78abe73d7de80314cf5f531a9b114eebbee27fc473157231b51d34f2dc6a5975e745 +CT = 4702702a0c03e798b29cbd89d6389106 +AAD = 69e3ccaef1a3325d55079614de99d66edf373a55 +Tag = 097d479b92824d417d01640289465a32 +FAIL + +Count = 1 +Key = 4a263926fb8898b707eb29f0822817d8 +IV = 5e26bca7e93566089e52e562ab87bfaa6b614a9750726e3d260f6ba7dfc96cf3d5f28d39395cd197eef76d0d87d6e9e976050562c55d6c20d147a447d52285b5fa2a6a240814a2f3cc7d3be451540493ee8c1addb827953ccbf9d6a3378ece3a6eff69362e1a5d2fe9f7b7f6a0ebe10b767a042e0d67eb7c3dbbf6aa941a182a +CT = 2a8cfc4f58fe5b3dea3f3119eeaaa7e9 +AAD = c70148fa3c7219532fc07799e06927f08bc1d2f7 +Tag = 9b4f038cff3f70908f7f265a8c66e5ad +FAIL + +Count = 2 +Key = c0236c7840ba6fa7be5ce47388d128ff +IV = 7b84393b2c18049b32e7197313dbf56c7c841796c98d0c2b5fdf4124de59433496430d6394725329554ac935fcbe70c2b8391f8cd17943ad01bad83a0832bc14c018e05356a787b3ea7aa0e63b0d151d1ccafdbef8f9d6c0ed4049ca4c7399e573b505250895666a91b1843ab04b9c9496cd40d13f12dda10413df686f879776 +CT = 612e145df1f0db0706e571ce744068ca +AAD = a0d053f7e5129cfd704dc6d7216bd15454a005ad +Tag = 75043f55dbfdddfa8d99f4a1a691f8f9 +FAIL + +Count = 3 +Key = f6aaaab108eeb16558c9889b336e0f21 +IV = a6fd48f08c2fba6c21fa7bd2bba67e9bacc2bf2392ac79ca3ab720b9d53399256733d3ed7aebfddc2ad4a3276a807ebde90e457fd3be0dc1f0133ed538267a4ba525f22d740d05fbda396892599d67785501e6faa3d1c8c34959aeb6672cfc2211418bbf74148d047b1e3043fb79e2a038cb2274da225ef35d397309f75f880d +CT = 54e690539726d2cea6fe79cb05989af7 +AAD = 52b74e3a9efb483f2e2221965b6cde7ae44422b0 +Tag = c8d040e29b869b2671fa3029a081634c +PT = 3a9cb2cfa0cd9aa7671b42cdf2726417 + +Count = 4 +Key = febd7ce35c972344950b889792dcd209 +IV = 28a06cd3a08e706afa1805e57005d8549a014fa161c1cc738031151dd67aabaf0a0f6411769f40e0f06e5558ec178bcad62d956bc493e8a7642173d8bb2af554f1411d83822d3475300bbd13b9735c046944e8b7f8d8c16878d8d68081f771a97fcfc37cc0f8c93afa6fb0ee4f7e286ca2048ded47271f7ab9490c6681186f5c +CT = 0e81efc1a1f77c2b72b5201b32ccb858 +AAD = 41a1570f4cd16229014514a4734d827b6298fac1 +Tag = 35f0fca740883ae9e450cf77fa780cf0 +FAIL + +Count = 5 +Key = e846dc477c321b15b1c04fb6602c2e4a +IV = 63eda827bbcc72cac431ecd62ab7a481d3bc38f28ca4538082f247c6afcd2a4500c9afd1c1dfb12a91f89812442c3367d68ea1aedf49a8de30ac6cd9008c858c8e22c375d8b4bdae8f4f730f51c2fde3ea798f5e1d955f883b5ea7c0d488aed00fa20300905097902d3eb85fc87c533ecdaa50f8440847e84da6cacc4a03eed1 +CT = 5619dc01946b3a5a84c74b065274dee6 +AAD = c4f7b988967ea5ff745299904e70c147219c2c2c +Tag = d98e99606d40062ccc7fd39ec15395a4 +PT = 1f1f409b09f2a65a060f32a31af76c5b + +Count = 6 +Key = 7599678503b57d3e415c75a4e807b48c +IV = 16c28e20131632b6adb278d67a8c130f966baa0382ed70af743bf6a4582e85739ef7e32b3ba15822401005ad7a101f7797ca1ce8e191573bfe633cf0594c90ea9b0e64d1e2ab0d6e7f04509745551f324ef2cd20fabab00811c48600035e33f5a6e71c0c6363355c9562a18e5fd8719bec963823c6348b88837dadd5c735bb0d +CT = 436f308462a8824f974453a3f5e4b498 +AAD = df45e9b7e64f95005ccaa6ad2f0941ec1c273520 +Tag = 4a40c1550c9608da6bbc34fa40d94d9e +FAIL + +Count = 7 +Key = 7b132c94df5400309dadca8b2cdc2077 +IV = 34a15fd4cf23a99b3c59870481909ce69a7db55af29ba2f81b4c4aa3720ff9edfc234af5d28ebc82592554136dd5c1dfe69d589eadc251c4d7b061ee55815b1c5a14b2cd4f3395f28ebd01c117759c965c1b5b99d64a22960e71ea72aad244f9eccbef698ee388ea8a819b8a66e1ca75dc206f572ec47325cf438e435b397ea4 +CT = 6955fbc37f4d566dc92e0d3377c4c19e +AAD = c65349f392db9a70db6a871539d1de24da1d5c81 +Tag = d1bf27134e49eedc5e30a2f19ec27414 +FAIL + +Count = 8 +Key = 76229ac6e5bf1b5cf01df0db7c1e559d +IV = 6440c5a7226c4da18ae21f49936d6ea9c98f725efd70c9213271ae702fe377875745bfa3b126b55d626ecea69ca63c06ac87dfb95f74967e01e2f98dc428468f9e8b13db206af95f7bd84e47590dd9812888e4c3044168ae84effd16a819c007be04688ef65568d82989aa6adb56e43831957532a6ec8751f63c88ea976c1bff +CT = acdb04e147705ffc3864cd733aeba9de +AAD = 0e32e98531ffc01a12c06f13187433144cda03fc +Tag = 7b6e7fa3d2aa18be1f61e067cff60435 +FAIL + +Count = 9 +Key = 9892042c51978b0f49478c9041a9fe2b +IV = 5fa18726adaac5e0b04fce20897f18039284c6f36489e017257735af73dc6f4ad6f097c533b1e054842e1400d8dec5f6b9d2a16cc115114afc0d3204db808d3c1d8ce66a2e57acf3ff32b7d78017bf6ffe96f16def7336cd395df15fb8d76d124e60539cf6fac2bafc8edf048f1e1f60817b05979b0e2ce5f58153b4aa977557 +CT = ff938b9b33a28b60992fe1e663c075a3 +AAD = 8df706f8e9dcfcc8fbbc8a56be4c5086e9a7349e +Tag = a2b59378d6599351c585e37f6c5a5a5d +FAIL + +Count = 10 +Key = 7dadc601b8ec46944bbe090b6c72c8d8 +IV = a3394875aeb5171b6e607951ed5b4711c14fdadf3d535e56456e31e61666a43475975107fe4bbe8fc11198b4b20983e88d77552bb252f27483d6ba6d3e410651705c9319dbc7e88438f6c9823f5f4245da89281daa57c8cb9ac020a89bf45255704ea7ec70511473a4fd41166d94f583a3686c4c4cb72376ae8e1d64a31a9c4d +CT = dba22b94950037ed0d6a2dd52ba6c44b +AAD = 26514d8001ad097d4f5ad7d0908006075f3e17ed +Tag = f6ccb4aa5742034c8aca50ac25b7e0c8 +FAIL + +Count = 11 +Key = ec5a4c8d2ad2bca25cce78c2fa682333 +IV = 7167af5fca6a9e40a9d63408a71f4f51b1e0b7014a9fc2364e4f145fe9c815a692f635a37936e8f73d9525e3d780ffabfd59620becf50c9a0e376ab99e7f245333bdc276b445af062a1f3637a892da5514fe5e5bf0b7cfd0ab25bdf2e70c6678950874777e95564e29969b0be1ba04346ac5f033ec8ab15ed04aa3ba447e45f5 +CT = 4a55bf6f9b91685402629bfb7d2940f9 +AAD = d197ab5ca3a5765b0b9757b0bb3587d8533d4c8f +Tag = 7a357d57fc69751f7a630206b8f39099 +FAIL + +Count = 12 +Key = 0a842d68af01df3fb86ddafff1c33a25 +IV = 09f8ffb4f2143fda9c45424d51b13cb2a1d8915766271e01b44c047aa6f17cb442f3afb4c0bfa428df27f8edc2ba2cc4a4c96178cb8aaf09ed8bb5cb9bf07d7c243eebfde2f6e2ca569c2568d358a8c9fca737fbb6614a813b4dacf4f02f2f777bc1407e7741cd7a600b1b83ce42b9d1617ef5e7672ed25375e436f593d67cab +CT = 3263d007ab50d7eb41c4ea98f2f95fcc +AAD = 5b5b4ac4eec98c98677fcd0d5d85466a75ce5af1 +Tag = 6721565e1d818f0e35546e8354dab671 +FAIL + +Count = 13 +Key = 12e92b64e285e17cdc5710c14cebc5ab +IV = 40e96613a6c62b690ca36ccb51647f4e00bd5f0922fc349f3711c06e0708b41fe93c5852d7dd9fe6fbfbf77aaa1c9ae7e629f842045b5733ee4cff7b0998dd0315bf1230fc42956c482f0740fa28616899add8109cdae4d8112b9bdfd8138d9b7277ab45abab79e02b7f7ce6c5989b7c903bb9c97c3fc0bddb5d61ae67eff1a1 +CT = caf8231e2956667786a440c37f97449a +AAD = d8c5f9d31663054f16099d50f2aa538bc03eb3ff +Tag = 539c0acca1b0d02544bbfe5404cee33e +PT = 94dc552ae6f4da8457de056887efab01 + +Count = 14 +Key = 95d7f2886574298fe47ddf1d091bc2c4 +IV = eaff65fed48233067c6718658a0b77660a9604aadc6919e75fee677b9b2c2d7e68b8db7f546198180edd02d5fe5573b6fc903e8cf08be01c7400d6ce222c845ba807dea6f09a930316fcce67e84dda234fb0610c7de52a38d15ebaf4d7d7c643352f819087946afcea054a68d79c1ca2956c451b3ac8ec728cb8dd0c5d441cff +CT = 08374488ce847f6666fa6a48381f574a +AAD = 3ceeca47b28e33e8140fd4e8224defceadec2049 +Tag = 1e88e015b1b13836d664bb5896f50f9b +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 0d8ac2ffc07aa4519eca88912bd6cdbb +IV = ec14019b914ed389cc37e4c2691ee386bfc648d0c3ddcddfbf1d9bbdf5604a6ae5ea7d812b385f2dc532c706e12e57b15ea3e74753320f4bfe163346bf10619d65c9be50d6010982cb163b7a3b844a66bf1689d20a648e387bff5f6f829e3c27da74b360aef75454fbf95cef1edcebcef6432201240d02bbce750fbbb3cc08b6 +CT = a3cabca1c69bb9d646bc80870d5c99f1 +AAD = 0477fdf7abbf4119b47fd14d9e7f117e1ce48dc2 +Tag = 999b0e7aec8dc19bea16edfdb8266e +PT = a7316916011383aee7e8f58cdb760054 + +Count = 1 +Key = 057e318933021e3d8a6735ecdc6e69b7 +IV = 54d5b0745b3cd1353a004656e2ebf81dc692ce5cd30b15e7969291c7ee7edbe4d1926b60350546d84078de20275d696870958525595d9da2615c70dd64816765bdcb7011ba90d69e0fe7f8e7775f86ed695b98c5f63696f54eefc3a97ee9e977c809e693f7acd2da6afac472307950b3c9c0490bf5d74b8cf6392e7316c8318c +CT = 22c00aac4a5d101df3d8fb1ec748a49c +AAD = 393ba65b5806612fdaae3b54b9a6eccd4c97683d +Tag = 6852a53dc0900c9299e437e8eda70a +PT = 1be2207d4a5b41d1d455c75decaf1728 + +Count = 2 +Key = be2c933d85204efa371455da05ebcde2 +IV = 8b2f8d9ef6623538dd129310b612318fb23eca9f0d6005721c6d2f03054d6a8e9c234dab9bc7af1ad8fb280705dab02c94e94ce677e2d64de21204582c75bcf7facfa42427a6dd093f72d9b3365d63e54e8c0732720a7208323c342178c8a768e2eb0e3e6e6fc864a4cdf33af276d33b692575615d3117a66d2df2d11ed1fdf0 +CT = 72d3ce0f4f2872edd07247f2425fd64f +AAD = b52d888628d5c49d35a95c6d01a8ea4df46e07f4 +Tag = 691466a5ccd0dc3b62a9a876f9fb19 +FAIL + +Count = 3 +Key = f01192ce4f823c8dcc4d2cacc4945be2 +IV = a2d1408ef0ffb11c63394028ec83644a24fd6be6aa435b7a045291caa94ceb71b25007ee514503fcd55402101877ccf463ba5a8a5d69c0871467eeab3178b2b2ffa5b9cde090a714972ee428e6dbcbdfcb1cb1bf878c8f933939b1938575e7f5041c7768af4e31498a20bcdf7b111cc4303a28a011d7cbe218c02c7914ab3bb1 +CT = f8dd190cea8d73d706b8b25a7b714476 +AAD = da5029887f4e4b1bb733a5d71f7d75b25b43ce34 +Tag = 647a874215d4693a82954410cf53b6 +PT = 8d7a2ea2336ba7c4c7344e1732e9b9ea + +Count = 4 +Key = 036ec6c61ff0f7004e80a7b6a69e9727 +IV = 91d4c04c156daf546b65ad8ff4a3f2425a7501ed40c32d646b638d431ca9eaefc8a9b5eb80ac7b468cc0b0075f634003d3a2344267a4099e5d2e89c2ccb07659662d886e33d49f8b16df84d6ad97e57eb45137f7c1e465df4c535940760696d25809f0f4385ebe9fac7b173ecde5bbacece8c9a2d29c41c67f94983fd45794f6 +CT = e87882e432e66c8eb8dd034d89067c04 +AAD = b6bd055204e6b545184082f7439472d89c857779 +Tag = dbae0fcdac10a7f4a3c165bee8a409 +PT = 8b35a3935f8a28553e8340b4fc6a46bc + +Count = 5 +Key = 08a8dfb62c12e6c0ba1c47a8c13f4cef +IV = 3c8b69fff93c9173e7ef520e7dcd46e1210de713f0294e28d5c89f3a5904e27e74346d1b2769590e68f07787d0eafb317fd9f41da8af138656a2281feb8481bf5cd9162d45c4a1e053f48da9b8248edc2fe1e869ad3989f3901b66776e997d5925fb926a33ea7f8e60686f0050f53e5022cc5051308c79216b1ad4b92ce4cfe3 +CT = 3749d42c999c0ec196d61fcbf6f70af1 +AAD = c7b3d3281d2d9f35cfcfaefec5cb2643f47f9c8c +Tag = cff4396beb4ffa4c2b0acf61dbfbaf +FAIL + +Count = 6 +Key = b55b7b165d1ec40d03cd8e23fc3a1302 +IV = 075afc53aa833ea2b94a52ca489b5d44f7add1c496ec3976a3eaf868de2bf65dc1c2ea4ec02b906eef520b4f3bc16cd771cac2e312638872b5bec3d7f7a6c76f588669c4494994158366e64605f923b2eb746914b0b364ad16b3c73cd5fade2ec14e77ee1d51b7b751226f13487b1b0e69571800bbec47247c4152da0767a551 +CT = 3735beb1946dfdda0961d64255ff87bb +AAD = 21e71b6b3629df02bed24e4d5a8c22c152104dcf +Tag = 99ba5702f48bc25fac5bf18623905f +FAIL + +Count = 7 +Key = 1282730bdc0ce4aa3f8e3cf44d882f39 +IV = 9d67e900a12cf7c167596e0570db121978cabf3b7c01b0eee3ec76a0ff5337e6af132d1e7272d6c4883741609e484d6385b912c37aeac79048bc17202f114db007deaf5777f7ce0ae284d03ffc1f6fd7d85bbbbeb5de1e9f45dba0753c8c33c913849ff7d6eb36dd3da821d1d4f2fd22564f510e393f34927074410821c6fbc6 +CT = 5c594b032c5e443cd95a52dea7f8a548 +AAD = 1b321395f3c326a25cf932c7773db04c9ca4d028 +Tag = d0336d67041a9e6473b31d725ee238 +PT = dca2f1e6c58fea82acf4cea759820bad + +Count = 8 +Key = 05c99a3ea65ccfa45104effda3d62bc2 +IV = 5344c46b3040bf8ff96dac297a75a6ce108a91368727201f09aabf6a5628f883762c3d81e4002c202b84727bbf1b32f97bdb55f3ca8a34626335acebc64e16f483760d1ea6a72d19c2324e51bed6904d56867eb630047ef50d413fc24a56697e4a3c5132bd8bff32050eadaf81fd1c777e2843203e1a841824466221004f58b9 +CT = 25bdb72604d72748c3e5c9fd181fde0a +AAD = 6b53bdbad0fb415c8f40e8f59d09642803395c61 +Tag = 438d20443b5a3c4c1ca548b46405cc +FAIL + +Count = 9 +Key = b668dff2960896ef25edd5f203da51e6 +IV = 42fc63669701600bc09633fe730b567b11b72d75d2eb951fdb87777be85a0abab9ba63bc826ae4a3c6c582dc6427ba6ab2cf902c2988a8e1d44769114542eef433d945a9d0f1c3f81f55195f967c2d851f99d518face208768f1e47d2935301b7cf203a3e47f82f2aaf04f1c163acef37ef47ca5c0f4d68605276f948e45e49b +CT = a9193f3e9103a1c1f1686a3f4e4709ec +AAD = d7dd49df792ab8d689b4dbc99ca6f689c99ddc45 +Tag = 85663a0538bd63d72278bc09043d4f +PT = db3fb63945a7a06f53ff5cc477abb537 + +Count = 10 +Key = 681e17ec051b70fb0360f92dafb0be97 +IV = 3476346700d015380b1fcc1efffd8a48412230fab7806e41aa7e8027c4fe97e189acb3942d4555ac40c8e21a2de49dbb3f3c4a66435c6b54ece27761525695d94d9be8b02b2bcbd315eec861f23ff92ebbfc2ab29bf2853dfeed6f8f0c54415d02b1db0916dedc2bc794b8c1043cd0945aff01f58f75d159452074eebcca55d1 +CT = c601cfe11e5714850b6ba3ce65ca463c +AAD = f74b9727b63518957729a3be153c8c6dbe843ac6 +Tag = 0193fe8a1bbf2047913866f5888ab4 +FAIL + +Count = 11 +Key = 8d1f21f529f043b9972d28a5dda51b10 +IV = 25ac8403ddc4caedfd336cbecda70c683679a10d18e39f036f4019ef0922c14eedf554221737cc64b40c26737d542789573f628f5bfff26fe6b1a5d634ffeeec1ce89b7eedf93a67aad4c216a81c623a9777b268625fe4808247f44b12396cf3ffda7eb557d659f845fb87cfb3389e673e3340722b30d7d19307b1a590c5ea94 +CT = b87b2b9fb36e90364468e2763c14f4a2 +AAD = d1082a839e512d5c2aaa928a3e5838a3a5449f7f +Tag = 3457c7598a62051bb0f923eb88c234 +FAIL + +Count = 12 +Key = 5f8fb84cfaf4f8890780286134e45456 +IV = 7eff4f3e7f1b568886ca5955f50007a04503d6cadddddbf0dd11f3301fe8f8a0be19a993960c8efec0d8d765e687ee7876b7251304319d77bd673c06ae135e423bdb9b53b11b5a0b7a7fc03a2cdd3ebc47b848ab2663fe8aca96c6503d8981f1b87d9861f22633585e5d00a491bb4c29e307aab07f5730edfa4b7c6607f27c94 +CT = 209972538324c532a8f767506e42db10 +AAD = 95dde7267a69b545e943ec98ed452d3e9022424e +Tag = ae14b192864c28ded5d0935f75bb84 +FAIL + +Count = 13 +Key = 5e8db821b58816f51fd75750a0692cda +IV = 967ecf8e8e6ecea654c6b3a68c7b01aad3ee23da6697866a1707bc52f8bb65deaeea78674a9a2b4d154aea1f90f60da5bbfe43732506be1e1f6cf5959385ebf5ea2076681dbf436c5c69d7c2842984d72dbec198004f0c0f33179d92c54aad8cc5dcd421c5b1e5f7452962fcaacee5ff79763087e61a5a9f87c1fca34393fbc6 +CT = 52d298e22eb78c97dbbf7d96e4104b1e +AAD = e62e18bb2b5757b2c0821f9798bc4284fd1e4f5f +Tag = 30b2b9c5d07af375b9587142261edb +FAIL + +Count = 14 +Key = 50f0bbcce8f6b19ec328221754792bfa +IV = c09c6f1909e4c3ea1e6c094bcbf247a1e8b42d8392b9c14f091c70989f0d2cfbf5aa0545dcef214ad4d66875c29fb1035540cb3fc596a7da03fcb52ad004f3cee2b01b3e52e1ee53f212815073be83bb9c592942806583ee796f99a6bb80f2e490fcde3d39d483b6f6bf2ad80a3533be0f96953a1ea8d4d1eb8f86bb2351f935 +CT = ebe1763075539881ab43ae4cc1b46306 +AAD = 81c422b9da6bcfb9e31f560099dfcca7931d8959 +Tag = 988b1ae7d14666f55cc3d6d8f2b93e +PT = 987122fb40683c7df6b63a8cf9b66232 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 1ef7b7d443863cc085e76e4918a8b038 +IV = aa38eda4504d991f670a6813589e1001956f390efdfbd57b2493127474b82162d5ab7cb4d454114753d7d0dcc12a247f8d50fe1fb105d49227d4cb5e041a7619e42a090672dbbdca750276f4177d820f6c7a38a4821a0ab0197124be34551a3b4eafb19548586a89095494f1767328bd3b037844401458c74382cf01820b87a5 +CT = b09c88f4764b939e451a8d06e05b53bf +AAD = 511cd092075ca5fea20c520d1b9cf1041f606932 +Tag = b2a92e5a3e7179b221cca3f5ad88 +FAIL + +Count = 1 +Key = 6feadc0c04394fe1f0c643f8eb8c4ee0 +IV = 2ba8ec760f694061eadde644ad4263f72e16684f05457a8024911294fa6a2e13fe63b5501926119c40b122031922b35a5ace9b97c9dd082af286aebc6359e84f6fe6118dbafe34b491a4a2c722fe3ba47ec26eab07ed24e4d9bc522649e848b1c31a7d7bdd8fc64c647b35a9d7132d7505ecbbf79838d7a4cbd0ebbedf95c532 +CT = 91f20164cb3b71f8a3cd08f9a80cb923 +AAD = 21f4134352b6eaf2096a6e02ef325bd3aea43dd5 +Tag = da7e8dcd87f64257ff0b4210806a +FAIL + +Count = 2 +Key = 0e8f7583926f7ba37ff624ef8167a7c5 +IV = b025bab1f1918e9736c5181b593de641d184bd8d1a077df7bd0782ea0ffe30a4720404f98b856de3811af43198620a6c298671fdd73022770e0a2c0b9805a002d20897c4c3d201f482a1382a18a056158f99c176968be3e5ebc6915cb5a02a16f9108282fed1ccec98ee8fa3b7e5933ba2d3d3fcf6ce93c439d9e6be9fd22749 +CT = 9cb792d689a8072640a77d9f5c0e50f7 +AAD = ab55e6b190d265f81581ef2fea73ecd2af71ba72 +Tag = 872c58323ca5e360556b01d1d6e6 +PT = f45d84c184cf7cfe667210acf1e8f3af + +Count = 3 +Key = d328cd341017ae250dbbe3cbded00556 +IV = 1cbf4718230e77727d2d9fbe52b61b6df509059fd9ffb1eb6cf79a3b37882cef3e7c594bc9b6d1535d67adc992f18293394e814961f290ad313d9b58dae51bd18bdc6b34a3b981865c87ac3673b49c0116fe974cf5c0b04c800bcfdbf9c6b40b5c290300789e352aa6efd8bcf6b7e55ab18d1613ef0bd23c8bd18f183c130e15 +CT = 940e5cd707c3399b6a90bbaa14426db1 +AAD = 815baafa55e12532d608fb91a200de3edab5b007 +Tag = 5dc3753f51175cab11562c7a73a7 +PT = 54b9b69808f167f88d8a8b0611795317 + +Count = 4 +Key = 9bc0df6e6075c7db4c35da33bf4904be +IV = 1b0318239a8b52122ce048ccbd37ddeba66ba82199ffe30a869cceaed190455d5b87db0ad3280b439b99de39a0cd96a14ec25aacbaad090ff3e11d8b902698ce006d472a724543c8e09fcf990ca741677161edf45b4efc292bdc71d4923b8b4ddd3f37e12c6aaa1869c0da3b48dec07e5a5ae6fd1d67c531d2e4b8b4fbecee75 +CT = f0b4f39af701378f2266ef95f0f095f5 +AAD = 7698ea3d16cea0a7fe784d876645f837840b6d27 +Tag = 2b94a50c5dc114b1837d06de9705 +PT = 652702309d4b65cf63978b68790e545e + +Count = 5 +Key = 3dcc9a4974ee9920214a3196e21b89f4 +IV = 001c5ac01c8492ce56d8a530f3af20ce47e56dc857c4c21f9155898706bb36698d51c977f36703ba09cf218843f87dfc57a667b6d1774ecd0103c53ee71b4f168fbe36b3a94e3b33454f75080f793cae9862146064a1942dc37f465c29e7eb616163818367e9d7a3a62ed2fb69b6ca5c1dcf8176df2e2fa1bac199494eab1bfa +CT = 298cf476aabb82068785f5e449765fc1 +AAD = 7c938ad9cfb97f2ab1ddd6a7ee8fa9bf5140be96 +Tag = 20188832ce1671306d89ee8610c4 +FAIL + +Count = 6 +Key = e07e8d5d19f77905b50cc9d0872017c8 +IV = 6b506da43f6160e503def10faaf85e61f9d7eabed7490e7049034e6f38cea38462ec9b0e885fd05830b05bcd42fff8fd45100a8874bd13d3955f2c6af93ca792c0303a6be853aafab66e914339406797350c5e36b19ad8cdab9b72fc06a535f13d160ef985abd15a135e3cff654064639829577a862698324b67abcda5551496 +CT = d3c51aac88b217deccb800316a62ce93 +AAD = 7f5b7a01474c8e5bc69f40f42ab66f1d20a9a0a1 +Tag = 50d0c98b148d7eb6bb1ea035d643 +PT = afbd6cd9e3b5ae861ea008df69cb0649 + +Count = 7 +Key = f9295bf54e4d71017ae4445e10b999ea +IV = 4011f0551b083b13198ab1081cc03453179eb112fc9b0f34f67fb67c5039bf86c1fe99f797e6c45534eacda5b946b9e59aed3b9ad7a190698cf7ba9df1ee38210f7fc9ee172d2ff6b57115366e121f3ee27f8accc7472802ed67cd68e8082b32b27883875fc4e976a343685fcb39ec763a6e1beef1696c78434b0ffff26d49ac +CT = 0f372b9c2daba3b69741cef9e3423f57 +AAD = c1a40c249ecaf0a33dac6c2f380f46246a771357 +Tag = 046a9daa94980d53d02638bf94a4 +FAIL + +Count = 8 +Key = dfe9d15cfafec48106aabef09e4d8d08 +IV = e58e451aff004609d895769838155d92a9f264914735424b87a542faa7249ea07a25f63ffde41af8a19ff61881d7812a266055d7837393cdc1526e5f85b90807471b59abaff3bc3c337eb28e3966c82b60af1bfeaae6aed00faee76fe9c79fb2816b9423fdf144ffa8be7cf12bf5ca5b308bf404f6bce2f6fe3cb8ece9222717 +CT = 45c49f9568311f6d0ff1a477285e6d8d +AAD = c822fb5454894af1e707e9a6896a8181d821da5f +Tag = 6f7eeb3b101c24d7e19bfd07e320 +PT = 79d263afb4656a7a10821f40011b34f3 + +Count = 9 +Key = 2249ff62656021eb8ec8aeb551d8148e +IV = 006cc6b00e07556c7757f7856612dfed9eba267c27b44d34ed3371abc37790a3907da245cbd68697ebec56a8ebb0f5ddabaea27b864d1399484fd95f29e88083bfe865e6b8c1da9dc06f27ddb598209e4bf290ef112d60f53fd2e46482c668902cf41d3d964b88b1d77ab1b609d3eab2a44dd7758e693171b7b77c66f53c66d9 +CT = a5120212c53dc98e90c94f6f28dc78c8 +AAD = 1444d73b5fb71325172359f899f6b53c29574601 +Tag = e3d086762daa65acf8c0b31ca643 +FAIL + +Count = 10 +Key = edf578373cb52d53d717c032a8fc890b +IV = d1dfdaadee2df4c7c700093a4f0d29d467bcccea88198da9eb1bf85cee15aa8371e6ffc50cfa11e876ce28313bb0b553fbe2b3af1f8e4632daa94954f5a3c82c4b7eaf79d3121a5056ebb0efd72f7064d446392e172121bea6931f930278c2f1f04a2dc49c692732e1211e883632439e9126dada86469705a618ed9b08adb3e4 +CT = ec3686cf9e05379de5ef1ca2558b2b9a +AAD = 40d7ecdad7fdde9b57c83ba2a02e2bea1baf0184 +Tag = ffd7d73f3a086742a9060309418d +FAIL + +Count = 11 +Key = 088f507ee77f499045745e298622cce9 +IV = 3daaa863069a3d95d3bcc85fa5f8af913b4d5103022f3e556f8789dfaffb798bcc7f7a803a86c589610aac889397715d0862a8ed98189539d2239350e4d96100a2428cd6b9fb0479b87a134c8d7a7a97bad0241a0c201e85f2e7921479513810016fa77f671418b40f073ecf754f2ae7710d5239d6795955db4d5f56315ea091 +CT = f6521143dc069fc8abf07fc5e1753455 +AAD = 9631c8d689cebddf72f8ecf899f047ec67027f2c +Tag = 7e781ddc7a038374bdff6102be34 +FAIL + +Count = 12 +Key = 8a26bb75ce50916dc854953547292641 +IV = 25d0353eb118a9ced51ea9d65d58e76d3cfbc16cefe7c8279544998189c15243279d92e778d678d2da33caeffcb50d38a3b31672bb06ee5d2be103e78e4c65b7ac1061182f89551146f0057d5e8974a9f2d435d62ec36c8788bf142c8cbf79fac2e96de00a1d584d5f5b00179cdb88afd0c5616320cf9cf6c86cbcbdef1efa11 +CT = 6457ea909633bffff7a128a292f41435 +AAD = 4c9f51cab9ccd7346fe5176ee0d8885112133258 +Tag = a017e7be9b49e9dcd5d4609b4827 +PT = 885e2ba0c15175c10ed54bffdf2a8ae0 + +Count = 13 +Key = 128158bada4ad59e42614aa17eeb4876 +IV = 62194179b436dcf5dde2b10e839a194d74f1a6643cce2a7a41934fff994da154861c5e965af628c828fc52fc7ea857a9dbe426f75521fc8f11d9b3ee5f50f95309e6db79b15c37de32a8cc9f10d7255c3c81be42e6ada7dab114f87f2b28ff2135bf4e5bffc5a3d2efb20baca6362575d8b9b329eb09f6ce5df8cd1b9f59155d +CT = e1d92a687a4e6c6949ad75121fde23b8 +AAD = e2f562d9d63d2edcc7e3b5591c2e3f38928e8428 +Tag = e8f7fa3a22dc126411c20f43216b +PT = 66c5bedb18d34800b586a13409fc981d + +Count = 14 +Key = 09011190970a22e4263128e2f5cf4f57 +IV = 5011943eba9f4f67897a36186914f76a71248151bf14d982433e6c04458636e4039a232b4a759c35aa1ab4ab82226cb0f20db923ed40e1e3f1d3b1e10e0f5d0311cc3a703006f632089c27132325af2db17e5c765ae7af702037942191ef5d42d013dbbc458097042a83847236f73ce5da72d806b8b79ff4a6d5ef49b1b05a9b +CT = f80dd3111d7d2f6f2f590bc27b21307f +AAD = 7bdf7e3482e62912c0dc80231e379f2fc8c27720 +Tag = e97ee4d22da6994f0f652f7694f0 +PT = e2e2cb65a8e6f0409b039a516847d5a2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = fb2b58f8460eb29b9e34358750ab443c +IV = 7c60c92338ba95b9d97f8e30c059a121d725d6ae1d5374ff29853bcc492f11090cd9a521e693d5140483f9bcfed9697daf6cb0158e633e2b721ea816a8c879b5ae1c5d5e87d0c2c75c6da77f1b3dadac46df9283f171980f8ae4544d24db01898e636c51528fa359a1e9c39c4d7e15a65d2541933341db6bd05907851602e065 +CT = e59fe6f090362552bf5e230680fcf19f +AAD = 68c6fce0cadeee913455f59abf807734b32104f4 +Tag = bc74fce726b2ac364527b4aa74 +PT = c211193403ed33f11aed1f570e6cd6c3 + +Count = 1 +Key = adf5f0f27ae4d9bd2b29b89d29c6b815 +IV = 5c04ee1d3ccc31bbd42fa0eb912247a6aba6b8b978bdc632c43716f2d509e6b1ddd05bdd6720b2eda90adfb5a9bee8fe70818bece659e51c6cc70949c75630a152fb5468bae4c6b03649bb2bff664e752374f231c666de81d1b7052c5f1ad86597156338eeb22f04a11bd4215e4085a3ca469eae749ec896d7356e68a09227b3 +CT = ea7cc2680798e47346b943ff0432229d +AAD = 3db7cca59659785a0090c3cc884310376ca1a55e +Tag = 295add03b18871889fa5ead811 +PT = 131544c9b67eba948f72005905337144 + +Count = 2 +Key = 800006f5c5ada5d8e215c101a73165c3 +IV = 7f9966065f844c792b9c740ff24140fd523aa3d49af3ba662ff280e42c544c16e87d0efaaf5c6b17e53eb88069a8fc168a7c7a5bd898aa1ae63c4de5339671e169ae618e13c2b6a2a1818361e2a34ad8204df4ec7f996a11937d045e814c4060e4e3b6a90fb60e5d37fe6fdf3688299bedf8c905bac101909636c36eae5ad089 +CT = 0619a4fbdf02af633cca0b79bb38db05 +AAD = 01f6d2135525c7fac35a9dcce230d76c0bc572a6 +Tag = 3913fc4e3f5e1287da0be7387e +PT = ae28973f38c9b3f804335ffd928c9d09 + +Count = 3 +Key = 68827822f307d8c6688edc4fe928adcc +IV = 4198ae45fea99edd545d89a1043de117cfd0b0b2ea28b1be2e0cd6eb27d82ec62097834420b4106b9f7eb89ee4d84f69c86084c278116f64c80f8f50c05f2e1705aa2b682cd191afaaea1fcaa7af1ceb6c92d4412fc4c8dbe7cfa38597983f016ac885cce2667e45ec58eb29171a7b1a3fd416c48d2828c81ebe802c728c5ec3 +CT = 7780f1f90a902f6e8e207c8926d5068a +AAD = 116551a619b3a3f0e0d7e32c7665904bdb22ab05 +Tag = 69e8f2825dced371cea127138f +PT = ae7a1b31342e67c59130177b85c0c1c7 + +Count = 4 +Key = cd369e1bf88949b97343f8607e2c988a +IV = 9670c0ac29d179568cc1db976eb385145344f95621a8742aa693ebb3af2111720bb038e61e3ba281dd52ffab1a4a3f7e8803458ecc8615e09ae867e0d089a390d91bfa94312ed362c26c262368342729818447f63b8003e92b7d641331959eaf8df8a5c410b643fee124ef8c858ad9e2d63b1d3fb033245eb6db78287f6c51a5 +CT = b96766576b35ceb36d3a3a3ebbba1747 +AAD = b46c9eda32513a0f74870b3e43602f78710dac31 +Tag = 6e60b170721d364e501c5eb08c +FAIL + +Count = 5 +Key = c5a5b5ba1d8fe04d2b85f01d5c363620 +IV = 88bb20cc93dc16a84a4cc44fe919b2298ee0b88161136b8976c0b934c9083bb1b9aa85d8cd737a5125f62dd44dd572358c25f595bf187e64166856076aaa9632fa94d1d6e3884848a8a6d7929548016c64949e0a1379350aad4c37d471027b63a885d3bd77033632d1ec7d769c07f8f8ab00e5f81a1af9b705ac1bae3eac3207 +CT = dbc1abd42a3c72c5351b02a8a19276a2 +AAD = e8158d421c9f35c48cb1be5dc48d3f4517fb7390 +Tag = a9bdc2af7baaf5f897b7d7be39 +PT = e75ef59a59bef2b876f240cc240b07df + +Count = 6 +Key = 85ca91971e7f7aa3fc4bf8dfc257c6ce +IV = c7dedc8a75447c5a009db3175fa6ac05c0cfe47b9a9315282f9c4e8f3fd6903870dd73b977c7fb9ef1fca4c8297b867fff1c4340e044a4aba3cf9463f54c918ebdf92d5c64e6c8985072a26e9a1d3c7c44c5a376ddcdd15f658afd4996c6418810b8e0f87f5622332769d407bf2620e0fb1b74906d9e0cbd63070a1ce1147a37 +CT = 956c6004bd1c1ff1000478dfa6909f16 +AAD = 93e1f73607ae954c278c26a458556d1d3fc9f8ff +Tag = 7017710b9cca14ce3748816a42 +PT = 5d1377ec184554a10cc8aa73e12ff3b5 + +Count = 7 +Key = 414ee8e3768d1257320f7c686aec4fe8 +IV = adee7461646932553254250ba578a1eff4d3779b3cce319def7087495e44bf14668123f36f47b736e58d05bc19dfa9ec3cd589a8b315dd0f7a578da217e570ab34d073b7a6106743098d879d42e84424d8ba37ed311795f203e0bc571f01863c90e16d8454c8315bf6267c41dc6381856010d82ad3d2f56b49af6c1e54d65dab +CT = 1b1d3c1ffb1bd995c9441349054bdebe +AAD = becf2181edf657e1a6b20a0c05795eb6f62c8a7c +Tag = ebe42cc5902c8eb3cc6cc379f1 +PT = 553accf55b04d1c4079db2ebdcd40479 + +Count = 8 +Key = f7feacce385d2bdf372c91f599a4eae0 +IV = d774331c34ca9bff12d4b3ea54339c28a3aa1092ab499a922d40d14ebea36b650a28eb7b0a796953b047736b3a8d1f6ff52cd15d7d81bda31efa12dbfe1139fb67c60b964dd03e935cb63dcf861dccebcf47bb4fae7c0a2f8bd654cc016d7898d2c58474dcea778c3ef484c0e6aafdb0bf0ca8b746e8826268ef1dd493829fc1 +CT = 825aed3b4fd9e2a6cb5ea2e6a936039c +AAD = 574fae07ecef75c652ba7675099b4fad5d3304e5 +Tag = 2c86001298c4e468ed4c92235e +PT = a16d644b9d93fdbda1dc22e0479a69f3 + +Count = 9 +Key = c22bc9662e030709c24e4a6206b903c5 +IV = 3536e38e8734ad5e78a020dfee275d16e5b9d9feba3495c821ba43b2b96a0f6b3eda32e480137d448531ac9e55ffef39f71a42f21c8b1d95a71f766bfef51f8bb5d6f84895d727af4fd01a8fb9a2097b70c37c6c52f76b9219fc6943bb0f117bf754160a77cab7d2b2ce69a48840f7e7eeddeed8269f57bb6b03e25a963ee774 +CT = de72b7bba9f0c6b65fa3e0673669e5f5 +AAD = ae3610c3b70b21bc79c8fe6c413f8781d3ec29cb +Tag = 224cde41d1770de83d2a416622 +PT = a494ef1a9f5a4da78d3916135b33720c + +Count = 10 +Key = 0ce826c55fb164bcd96a8f7d08c76d25 +IV = a114b099f2439e90feee3185492fc99b1ce93dadae792c0b7b04f14af162e335e816caadb6f72d1b7210e3152c44bee8a32953cdab173cd6b07e05cf4b397cfb388adabc49c08cffb58b0e54cfb3686589f4abf5933a9962ddf6ad575d7517a2009693146ed61aa0abe9877ddb54711074e5274c153949e71c78f0cae15e7ffb +CT = e1124dd4587930071de39aa26a7343ac +AAD = 103af98e15cc0f45ff2139e0ddf6a712f668261a +Tag = 5c89199af7a1e87c83729a0740 +PT = fb97057b4d55f1e860d6da3e914b6b1d + +Count = 11 +Key = a81237b7af937edc44c446f4cb03014c +IV = 11e14c43c16970f4cc711c8377446f84a55716cd561c3277ba50c9c49eef0dd1f2741d25ee5f6578fe71cfd3295b968f36e64a2e2e1bfb562823132e0a5c8af299029e11148ecd0e8d6065d1830ffc6c1ef3eff70a51d9ea81fd04afacd0687a6be8874cbd680b68bcd785baf1c83139fe39ec22869974efec8500db33ddfc33 +CT = 2e245e0af8bda0b94bdf1026fb1e50f1 +AAD = 9f9e7d82125a6ee1093b5531fdc66a7f9f527619 +Tag = 713cab6dbd921cb832ca7dd015 +FAIL + +Count = 12 +Key = 1c65b6f5ece8fcdf73793bc3bbb5dd97 +IV = e0dadb1b36725ec1db492cc3761a295b937844c95c2ab1d7d7329b951340ae5a73814be61287c16fa7e58d77dcc2bf3fc688188d3b8ae8120cde3e82578ac79becad7daff8310d402b578a4cbb00a67373f8a115254cc82724cc5e2c13ce6acc2d29dba09856cff82bd2c66d0b3cbb773e68c1fb55a5b63c63ec7bf3a049a56e +CT = 2cf868a27951ef02a5f3a40eeaba0b2f +AAD = 1f2de20e593c402512d106ecc66058138b66b82c +Tag = 405c624b5ef9281bf32ec5fe08 +PT = 6495cfb888d6e985f71dd8aa83b21f5b + +Count = 13 +Key = 22ff87429defd34e20f371ec2e0cd05a +IV = a3f2ac09dad06260b1be8ca608da314c77144a0845f10048c9ae5d379059650dfb2bfa89f23c8ecbc810b5d394e7f60504ecda5a82afe1788e6304e4024c5a49ca1604600ddac028378e90780b5f0d3cad71c73bff85c02acabd4f241484a979179bc396f330e3eba266fafd0d75c9b4e687192b755c18a02a2c86bd2d65941b +CT = 1655fe2861eb499410b05e1c0d126555 +AAD = 844edd36f03037214aff8366b10f08faf466fba5 +Tag = 41a2529c0f738f808314ac89c7 +FAIL + +Count = 14 +Key = f52f16b8f1d70ab61891922771485d37 +IV = fc1ba35b4cbdc4d223099a82b39a1b1d694df3514e36e8c179d98f2337d878660864af1a0a2fd00649e39ff4d4ea9353ae734cfd3dc2886e5449988ed181902b77e78b22244e23f3b598ab90ddef41e0be1ed22ccbbb9782bc10d4aeb915f69054870401e7d56561ddbd1362fd6e55ed2d107bbef46b334a5a60ba5cad65de7f +CT = 8f1ce4eda7670b621248c124808976c9 +AAD = 07c085c84791cc8a36c9e602abe9566aa2ac5056 +Tag = f0abf99edd974668cc0ccad704 +PT = b1c4f777ccf4a4ac9a8423431fefcc24 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 52c2b29fc9b47007c511f3b9fd814614 +IV = 811954546d570ff79051e04722addd135685960cc55b6a03c8a17d21c4fd40be3c3ff2e571f1aea4543d7a052c9c67ff18b0ff9aac7d8819c337c0e06a6104ae59d8b226af33f025fc97bf12c5f84f2a6c169caf75f5e736798ab664c0f589c0827d6a591bb2bafdad90410fdc12de401db764fe851eae5dc913918049d9e225 +CT = fe181ade5c03a94ff1999c9b1e915747 +AAD = 22e4875cdab4e47e46ceab73fe04294127f97743 +Tag = 6a7b1a3b508e66ddc65f110c +FAIL + +Count = 1 +Key = 9a786ff733a8cd324162592e397cb64d +IV = 73a3fffe30f961ee553ab6fbadef4cb6d71c34f61081fce314cb66685133c46effc9e3c665ae16192792ba689771dd55359c3aefa0c1a947e0a7abaadcbf7422b1a9c541d868bc62246d49ec780cbac23fe22d554092bc881b9baea21f266943a19c5b8b597a4dc52cb34839f1bfcc6d88ac94c3085ce4364f85d49ab9e75c31 +CT = 85b35b99ddd3b669c39cffeb112f1185 +AAD = b107672c794233e9ebe6866388201381b769ed82 +Tag = 530458769b8570a1848f9a31 +FAIL + +Count = 2 +Key = 8415e27df3d9f54dc95f4bc0624f05a4 +IV = 673dd5e01d65effbf8a9229d8cdb5f0f7284b3db625e60672238e56c8ad7fd1c9098c8510b9dcbcb52ab9da490da83a649b994d2cc6f8ca4adb357e13f3184318a4045cfe9122a77b7dc69e0c5a95defa9f466ffc7c459c585db929dd5a0f42c80c1fe29e5ae884a9d2966f7066fc97a69f464661dc3c6d31b31005e4201de3c +CT = b99fb2cc56caef1a1a1d5dd5c3ae0665 +AAD = 8c805a21c64718b7665f488ba3bd6716ef89b985 +Tag = 2321116f9f7430a3c41d7f41 +FAIL + +Count = 3 +Key = 998c09e8c40edb4a5ad5bfeee3b265d7 +IV = b18938809c6dca3a9cb0e187807cab630efe7af81cf011b6c0d8edbe11c99821d895e45707efd1bb19966bca758e35dd5383cb3c14e686c38da6b4b44deb72e4e1ae18c998f68add0d9d82ca533df7464b437ea1e11ee8b421a164ddc65f2de1de8af042d155e3acd47d965cbc5d522e3dcc0a66456649b25d25f20af8fa8b79 +CT = c0b0ae4e285f34650b17e1d75ba6ef01 +AAD = 9661764819422e2d9278a5fb24c51f57683c1706 +Tag = 7ce60e562637395103622565 +FAIL + +Count = 4 +Key = a8e1f5fc2a26cd893c46a9f21002c5b4 +IV = 7ac83c1562e7a95feaec9f6230add2a20535088f9edf07cd177e19d7d29380a9bb16d1ea81513f1ea8ac19dbce89ef46eb8187f95e7eeec80bd34a7a25ee789b9946d1c97ca5369857d089acf0bf008a26935b5aea96ddacf4be81f58e7daca5bfc15de59222f61a1affe31be331f72e97fb00ab2bd667bbe1226df65cd1a328 +CT = 3fe70dc4fdb7c400443deafad3214ace +AAD = dc0a0702f84528a7cbe062b207d72a5fb229c0d4 +Tag = ad6de9437b02ba00dcc1d330 +FAIL + +Count = 5 +Key = df04554cb3eac3b3c97d22a8a53963d7 +IV = 6f643cb331e9904181e124360b2be32c791bd034fa550e009827e420cbe6049fdd7789cf843143416549fa9f74211912ab5fe8237c87466e98420c34b8a1c6ad038eaa7b3adaeaf7c49d35d2ceb96c421f05aea3338c4f5204a0de23c35ded1068c49ba4741d56f7805b2ae9c3f118c3166647fa389b031b2d5dda96cdea59fb +CT = 35f6b0e93fdbb38f6dcd9fa2807b51e5 +AAD = e5ad153f0228d87e7c500f78ec2a94b159271db9 +Tag = 78464036f97e6a7e03a271ba +PT = f04d5d0eeaa10462ee57b2d8e2504c7c + +Count = 6 +Key = 866453fb531953a02e58c521b3cd88fd +IV = 5706632e45b66668c4b7603e81fe0fa25cdc8f99b06df0c7e45b991030e6510468fb28403d46f1326ddd7b821c6ce3863b167c3327c3597f0e96f2e2a592d9666951da5cb9fadb74efafecc03e2ace2032036c9e8b83f6261fea87d9153d7f947b1cee0a4de3d57bd8036be09dfd3ffcc5876de81062aa0cbc242ee0b6274e2f +CT = 8ac142004b1a74cd227334937775836a +AAD = bbb7fde7ef95b0576e129eeec2c16d12143feac6 +Tag = 86de9c0148b637c3e4cbad9c +PT = e2d670e5e9f2081145553d90f2b9f12e + +Count = 7 +Key = caa6118cb2b31d3831cfb65a79f99547 +IV = 757acdcc5322d5e17b07bf4e2ed04a7b523abcb874750832a8807acb41da9fdb6a91b821cee43819eeeb74878d44cdebd7929e34b417d85b44faea6e38fb124d4a1a5b63936c6874985a16ceda8421294b01ec128af619052b70f562d3acb61a9618cbe1eebfae792d3e51d251eaae6ba1032c52d87e0e1e1a6f2fdc2ddee928 +CT = 42c8ad0f282499be7bcf05e419bd4e81 +AAD = 4e0c19833b4b4068c76e8735aacb0ed3faba9f84 +Tag = 53870679adb785961640444c +PT = d9ca275a9bbea4de5316faf5b72a6131 + +Count = 8 +Key = fbe8896d30e39765f2648414614b1fee +IV = 3b350033a83b4aa320c753d376acc94010259c393d71d4d39a116337901c21845082fced9718b212bcf15841d8d6d3edeb39d65c2fd54e959fc6cdb931e93a15c9eee0e5b985ce31b528c468b6220613ae771d30896a538d10f8ea1eee49a2ebfd333c85f2d7e9c2196e1778c2bb83b2cf2d95df4e31297321c1df368aff0c8c +CT = e72a2d3d38b4a654a565d04f3d204679 +AAD = 310f6b4ed042884e95e9f420a248a22ac86256db +Tag = 96be7fdbd780e7bdaa95e48e +FAIL + +Count = 9 +Key = fcdd439937d6c39098f2cf9e53bc113d +IV = b866964aa08b575fd0952ae2f407eb199c571461c4f5a72529318aa3d7353a87e1167c96f507e2e1f94280e0d67ecd285c48d4b30e0dc457d46e416a42d910842e59bd20b0f1459edd3a7b3e2f6172a484534c1f318c2121a1917601afb6ad1030989becb7f2318a41c9df5355f755610928502934772edbe5461cb919f6745e +CT = 2b0f8a8f211ea0d7de26658555f2677b +AAD = 92f132d0fad2459432dcbbb9e8c18f5957c8e21a +Tag = 9a0c59deeded300f620255ab +FAIL + +Count = 10 +Key = 1f7c15e2510ea741e062ce8c73c8bd10 +IV = 57106beaebe36df899fda4ddd04df84d9c1eb4e127f90bb9e7169de37c48adfd41b956aca6653eea3fe05358ab3862b38c909bf1081fa70a35c75b61f13eb2af168b60fac83956c3975c9184b8eddc4ae3c44f1062ea5f69019b86490fe7586b30ab0fd8f8a453e3835e200d4ec1e302a16bad504487fcb71a72c39eac976024 +CT = c5f983fac73e4dfe008664d7747b1677 +AAD = 66a2782f833b34f143a2e5078c51d8c1608720eb +Tag = e15d513235b808e06a64bebf +PT = 8a6ed6e338da92fb37a09e104a55297b + +Count = 11 +Key = 7351040151d1784123ef04ffbc2d9c02 +IV = f9b6a2cab9128c4354b61a3bf73058aa2d2477a8c4f37ae3100b47251025689b08ffb1af2f755c1c11e872ea31c5358f0d349fd98fd09aeffe68752d443f0a887eb50fb8f73336b27c7b7d85073c32af6ea2d367ceec3cdf75ff4863168389c9aff755055969f626b1b539bd0cdd0ffb9e3dbab409a29de15f964c3a232541ea +CT = 3eac03c1f69ae1e7da459584f648412d +AAD = 6c2e73264529794442a6f6ae8bb5be68965d1e22 +Tag = d93bc52b374d55034b29f92d +PT = 2d1779652b0ea03dfe8f86f6072e0d97 + +Count = 12 +Key = 4399b4840316ae6925d5dfa7e0bbaaaf +IV = 56c3fc475cf1431b6661dcec9c7456f6a22c614fb9d66daf13513b6c53b396f99e2fae92d32c84da2349ef5891ada8228eefffc2e98b38f28dd887b35d834e99978a65a27a9b855e9afbdce9f9a87f12712717b586e5fb7da55906fd850180e496a5180a54ad971c758c2de1ce19f714ceb5cb3a930fd324f7369219353c8b5d +CT = 7123cd3a66483a2a5eab7ee8a0d0f2a8 +AAD = a8350220ca0740c57a19ad2580de991180c6d01a +Tag = bd374e74c877ac66ae1fe768 +PT = 8e27b59916f91f2fcabea932d9bcc60a + +Count = 13 +Key = 7a30639a36da3bc3ec965ed333506ae5 +IV = b5c714f2b1a972d6ea32879526ce5bc1f9fd0070cc8a6f1d68ab4bb9c4fd4e5d17cd4e707efa3f090ba6cf2035821ef5c6954dcf7425de37480672aabd27b78a4f7a9454c42bbce4628004063cc60e68ccf6bc62c5f5943eefda95897b5dac72656fa8571893058c9ad4f58ee858b1aabf3fb53b9fc8a889fe39e7ee7f106487 +CT = d0d4248256623d7f7561366578a14a5b +AAD = 148c6d722e718b8c0035518248384c1a36e0e6ad +Tag = ffab77ce74d0d59310fa8cbe +PT = a172698b43644f03bed4bc160063a48d + +Count = 14 +Key = 0a656368a375487a60ee4358cc730513 +IV = 7df838ed9e37ebb540f6ec03f062fc0628df7e218166453f704d7087d3b97e5a28f1b4e6bf59f57a2377142a4c870a64eb44f271ceeba0686180c8361a981087420e5606c828b14f4e5404c4497acfed31e3528404fd9644b1f8fe38c638abe8f931cca8271d0d370d31925d96dab54a282c02e9e36081fcaefb44f9ac5166b9 +CT = 56188d078e7ef60a3a2bdd0efaae7ec7 +AAD = 92d697ef65d9a76668d074b04f5b0dda2dcfd2b8 +Tag = 976d6df6b5e2e5b164745465 +PT = 003a5b52632dd99c2b56f59296882068 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 9369cfe1f053a093e479d5935080cd35 +IV = d8475f35a7d69cd444618c0e9472ce3651f548421c8e36b6fa62a67fb5d366f792cac4f6444619c15bb13438a89c1ec46983f7b96772bd9a7467bc2d33277a145ea80412e21c4ce39c0995595cb9b428827c16cd48a17d7350d609af7bcc963da4d590c6510c6412fe430fd1eb61e908f86799e3d1f7da644aa0c72b34d70ba0 +CT = 7382b7881a710451db182fe53a772e97 +AAD = 0e9c6d4e916fae36718c81ba9d8b08220e1b98e5 +Tag = 9259e5d410281a91 +PT = 66dc79a937d28752aedf019c33392c5f + +Count = 1 +Key = 6dc6f8e68c8b5d49b957d871a85cda30 +IV = 74f09e826db001ca3be55456dc94f1292cec10f68d0ed63c56a8b9ea27c49cd83c04a79f74f92fc1ec7ab009472af50f07db7b90890826d4e328f2ebb05676ebcda41595b1c4e5ced79acb256fb46c9d0ad9383488f28ad7b79e58436cc15add245d0b562f870ad3c9cc2a8a5c90d173136d4a0cdb0b4df57845a447494b9ab4 +CT = 7b114108ba2573fc3e73eacee45493bb +AAD = cbee7c0ba1551c2ddde73ef8a001cdcf4c4f01d1 +Tag = beebef923590f851 +PT = 1e83a7c9a3268339de3a4963a3163bb9 + +Count = 2 +Key = 6019b01fb7416502ae465e11490298dd +IV = 00d534d40a703226d7667ece0b553cc40997c8daf31ceb9d492f1515cf0803c5d506ec861916959aadaa849c89fb4771423e87fcca13d0704e9a030d0b9cee04ef2bf00fa973844631218be70ea65c2caf9884e61ce68c2a2c4f8e64c7fbdd869bee36755a6c1010e74de13285d2f8f8d6042d2ca46b28a3e0c2ca52d2e98c68 +CT = e967ed0d5bb60fd22c03694acbf6934b +AAD = ce341ce85fd72acacc799f0ad643674add5aa8ae +Tag = 25794dba599d740a +FAIL + +Count = 3 +Key = b00309770fa7c4cc3fee2bc47b1cf8bc +IV = 85738aae4945ad753a99f25de32741610037f71dc77317180d3194a453444dc8f45effaa57b822c837f00a789b62f057f0fae3c70526de3dc827332c0bf40531ec080cb6a1b10636a5a6ef5e81703464bd364a90ecad8c35553e0222da4dbce66efae42ef4ad5f9559c1f9d2b9e7b50de383347adb661b2ee597607f695eb1d5 +CT = 7be8b407bad84dfe2f9c41359f9c1e96 +AAD = 852e9b1aeebd36599dd919e2882e8dee2c34ea70 +Tag = 9114e2d0c14eea43 +PT = 56acd9d6a7ef53609297c13ce5cfe3e2 + +Count = 4 +Key = 10486c26e8130a0464dec3728c1e2c87 +IV = 6745ae06e610fafeb9bab1799b06698181a013d5ce1c6b92b86028020dbcea03b9d727b26306b0e7631b707d8101f77c82640782d75e10743a2f882b28d97612d9cac82df73b353cbaa16957dd4f48b13133374c3ed5f3d2d96441c0a58e3ef4086f3f93e531954b1e2cc022d1538b2b4d98633cf5a48641f19603d1a1865a31 +CT = df215db90bb1b10ec47a637d7f0407a5 +AAD = d35366734a6ef423be74b8deaebaa72aea56f476 +Tag = d0b9501837ee5f13 +PT = 57161654644ec4659a77547ce5d3d5e3 + +Count = 5 +Key = b299fce77acc8c6cb5311fa81d1719bd +IV = bf16ab7d4499912504cbac278fdd70c5556e62d356443d11490f1234d6a62f0ae3325843ae0366fcc24f28feb3a045e7e4cc92cbcef5f6076f421eb20d634706a4d75bd46e2ad0c3d9fb6084208b4d32bdb0169f87cba80f347341add5d0b513dde124658995cabd993885cf5daa20f8b0c26b8bedbfd868ae51f8777347ed7c +CT = a28df631ca2c2f1f9ec75dcabf750ef6 +AAD = 1db97e48e5f3044ab42fe8b6f22364fe5a6ff194 +Tag = aad090e87959fa9c +FAIL + +Count = 6 +Key = 04789e1619e27821005b14f1238abb30 +IV = e44aa9b68553df422102da32e9a13647500835214db6ab430ff9b65950e37c275a1e0a9079b3859d222200871f0a8a5fa84654f81870bd7a30f05762c9bef9033e720421f68e696988563356416a97b0f012b211fd30321ea4fd4e0d46cb70b6781caa37e64461f5ce7eeffde44eda1c74f4b2a8df4c99f2815f69e87fc695f0 +CT = 9b114b4272ef95c5761aa9b4f6e4fe8e +AAD = 04bf79e8306eee125d3f52f38f68815b8641567f +Tag = 1bb775ac355b26f1 +PT = a274f4259b3101f2fc2638689f1d9b47 + +Count = 7 +Key = 05cd69afc69792853847942fafc0aaf5 +IV = 6224a8ce1fbd3eaee3fa8bca15bd1f5ab83baa5dc19ef44d8eeac7f3af3086f542f37c7e507921183fa805538f12bb5ea23a259ea3f354dc530f2efbe85c2038ea50d44f4f0051ee173104dc423e3ba16a0757b76aac1ef84f39f084d92ad1ad9e042914d841897b6cb652f2661f1d712a24ce2db26eaf3868bb18c5b3ee5624 +CT = 19d417763ed058424ec24768b19f8115 +AAD = 3a54f474897c31a5c666c743356213b342a77a9b +Tag = 89f613c85a83bcdc +FAIL + +Count = 8 +Key = 941dac150797d1356591cd56ae9e7033 +IV = 2994beb100e01a5e6390830093b6c42579b4385323374cbdf59ce12d6a37156172ffc89bdcc4b9f9c9588e37d229d4467b9aa1116a85283fdebaced35dc8480505d102c3db507fdf3930eecdd6ba5e6e61698234574d0744cc33da0fec7fdd31bd68d66b9a5d74e91c5ccc21e5f35bd2d6550673061e5f0b8fcdd77a807755d8 +CT = ec6fd61de341fcfd96e596e85caeeaba +AAD = 1e2c35bcb3b6fce74750dde99fd591717be7915c +Tag = 952321884c79d8df +PT = 80b0a674d1ee8f51fa5d89caa6b496a6 + +Count = 9 +Key = 6038f60b5decd6ef9686cce1f523b329 +IV = b43a1191b9e0969054e8784f01f578b9008d35a47b55fec93054dad46ae9da603cf912ac1395889d91d9a321964d648e410072ad240c5fe06651f3b8ce882c5a2937a7a7a1561435055145d0fdbe229c57fd1682d3cdd960137bb81cfb8cadca9b36c1a4e22fe7780db24fce932dfeeb3fdc1935e6eb6800cab6e2b380c0adcb +CT = fd5293068e23f0cd416223dbf5d8c377 +AAD = 5e75105df17ca854e8386acb58a01c671aef0722 +Tag = 715571415d05db59 +PT = 87967991ee2573786b0f81d8842f7e60 + +Count = 10 +Key = a8f9bd08640bbbd0880415c5fb808148 +IV = debcc982e3ed41e8f36f02dba33adfbdc65eb9962accafaac112ae1b757ba76065047d4d2db0ae891fb5ab59b9bcd9f020066f71d0384f6ee212b099bc28942c6293b284c0249cf1dcddbc1817cfad8de11dcf29fa47cb705c969f49e234fa9772d7a1405c5bca9b94107dbb9c819c2dae61270a1d5fb2376a4bd3ddadc1f539 +CT = 40db92560fae7f5e42a7878effa3bfbc +AAD = 0cb4debb633c65d34cfa1e72e89114f176fc7767 +Tag = b314b76fee89d709 +PT = 869f50756e2e71a61da91dde0d197cfe + +Count = 11 +Key = 1c564f6890a0e1b1505049dccfd3449b +IV = 3e125b9cb4af2e80d945cb4f8fa1e07c9f6502271a2270edde9f8814f407ab0e64c73466139a074f23735d2c95d94218df59f233871bc2fa98422614c984d1cdd4f9e5804a52b44e96307acab23ff5cfab8eb67a330291c9ed11eea1ea9b069090593788f0bac17b622e4d65bfe9c640de072772732fd3ee4276f3d91654b102 +CT = 4c1f71857d3d7a87dbbd1a5649f8b862 +AAD = 567c5d38266e2729f8294fa4a49ad24301d1d4c5 +Tag = f55ae38a92e113ad +FAIL + +Count = 12 +Key = c41a9e4d183a0f1a13f0678d3cf02bdb +IV = 3911d42b87f9fce5749bab69533d48b0cca234b533a9694756a991bd65b2af01ac6456c107edc0331caefce48a64e919d9bb027ac8c01b7cbcc5a534339febb6af4763fd7261bac45b987a6527f4aa79cc2f14868dc6e6248115d2b9b8e05a57b4d6a81aacf86852c01fdc6fdd191c095541aba603a8cc30c481ee0271d5a37e +CT = 2ca0015207e421f2818ccf44d613e3ba +AAD = 36072759a2bbe188d2efac69ac415a516e69fc7c +Tag = 393d1bb7b8293f83 +FAIL + +Count = 13 +Key = 3eb437b4eba101f2cb81fdf64b598e30 +IV = 66950e1092bef51be539dae9ba2e47c2ace53debb42be97fe10fe67927b15d43d5f8565a87f48ca46b4ebeb88c93074f989122fc41226b92948c0e37cbaa1fa8497099942739de768ce446483325422c25bbb7830fd6ba3e1982030071e700652711787b06cc3f7b510caa7e1ae7c244f0fadae82f191f25e3e758b3212631ff +CT = ea1cc5e2b8ca943fda79dc40a640ae34 +AAD = bfe573e3a7802b0f8884098a28146549549bad04 +Tag = a035480ff6e65009 +PT = 1217449ae91c865f4a34c0f5a5177323 + +Count = 14 +Key = 5e11ed363908d17e52934f845c2e47d0 +IV = 009282c1dcf132278101a78b2bf5193ab297a97202e9ab9c168db183301c0ee9c2588c154fe95da76cbeeb64ccfedb542200f8cb85b456e38c03e90609c7227424153bd3cb40367815fd1a4717abf9211215c5bd592df037a61d5110f8a2394fdf025e73c7e574a24273ad38db8693ffa6751ee8e3a3e29f6ef453328d01d71b +CT = 8003c9013d29b68940c9619f64b99db7 +AAD = 71cf92fcc3efb1fc55d095f6edff0c524b92ee89 +Tag = 804b4fe67bb1af8d +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = a11a2c60f26b39e410c459749020f55d +IV = df50af3882c83ae16488e5e51cb23710826299b8d46db23a9365cd7ee892167d06816b55f64eca59ae3265d3250d2e0fc46dbcfa43f4e9f165adf05b2d94d349e722e7d8958afa01765e41e95adc60b81529963d412b3fa6bb48daccdc7e6f35f7a082980c7154c62347cb4fb709e1c820ddcc57ba7dbcf3937644e3a3f3a834 +CT = ad4032e2cb038d4b4d07f26f184679d0 +AAD = 7208bcac232e68985b8845b61521fa375e19c98e +Tag = 698eb841 +FAIL + +Count = 1 +Key = 07c0bb63cad27793b34c5c4e3d331931 +IV = 5cd538da25dac32806a5036b647c5656b45c4c6652548973478f35f2c89fe835656f3960ae6ee8482bd3a75fcb558c7dfcf122fcaaa883d1c676ec4b75596f70b846eb3d3e788163ad423870c4f81ceea3d3fe096c3c08b4e2a804a09662966a183d28baeca81b3426aa3b09b95dff236abffe81f17372c9cc127b25f881748a +CT = 04ceae7aefe4285d4831c1f147ab36d2 +AAD = 722e8205acaf20ea2b4a6aa34484fce00586fbe4 +Tag = 0f5ff552 +FAIL + +Count = 2 +Key = 8bfbf4ac3ff178e42c01af522cd2834a +IV = 326bf909ab0f58c1b9b8a819a6d2d0006906f6c809c34bf32b0b88cf6d1650b63502722350bab4493e469c68e9ac203dc7bcc5ac7c6288dd25076b2691b785b927df15d250644269e0d5a756814c5deb1a91c5bae3d1459c1cf81f6f5138a0fb41d8347b8cfbbc2647e8eea5886bf38d20083bcd967d24f4cfca83e7d4d38ab1 +CT = cd419b65968035b0349b150df7b6a058 +AAD = f60aaa6d4cd80112e2583b7779df84e501671f9a +Tag = fd2b5eec +FAIL + +Count = 3 +Key = bc0603278034d2fd2b7b74294d64deee +IV = 5e791a5f264abdcb5e2e296de225966f488c791704bfb71e0f0f0865dc2bc4dc5aac96bc46ff865cb7264f314104d155e5f1d55c6ee3811adb2db80840ce0546a8b3ab8ae20ef6de20b3a9925f7dfcc042814a225fc486b7b70e5742eb97c8da95c3a5af68bc5ff9851700c4bed4b4f4d88f14bdf0d7edcaf49636a65e1f1309 +CT = 70178059db163f043670e83e480497d6 +AAD = a949f8bb044b8ee7d6671ebadbf3bc06ef62c2b6 +Tag = 364c3685 +PT = e90ea12c9177ed28cf5e14ed28bb9aae + +Count = 4 +Key = 203d57f100a8e21f0665d57227d621cb +IV = c3a88e7ae33ed57b5a445b903fcb7b24395e6c3d59e70b98f48ae210b8f63f342727267b53abb77e6c3f4219b4de2e3bef83be12030546057d9890d74d2fa9f99ccb8338134ce901c8478981e052877b650981fef3cd64d53295c8224e7c059012856ce58080014c0b6b8d0bd2557854111a01084d4dfb3f42f3799333703bc0 +CT = 2bbfb93949277224868f2ff2430e66f9 +AAD = a56d9781c585da826aeaa0e2fcbd023354ceaecc +Tag = acf8a278 +PT = ee6cd94524a1cff9534cf428e2ccb637 + +Count = 5 +Key = c5896fa3bd79f195797c08c113058082 +IV = 0b3f6aa8eb34eb6e4db1570cc82d1e7e0ddecf46b8a8dd3dd1ee1e321a3a38612f95276afd5286acb1aad48d18ec19dfa9d718e223d339e4be55c92f0258799f368eb5400246dcd898f1e9d990ea48990e3955bdd7f1c2a65573f7a9639788e1cdf11c3d2e37fe24a4fc840eea39cd46dfe237c67776ba789ddb87d21cfc339f +CT = f5cb6cac2e7720c05fe88f13c600c9c7 +AAD = f93604057a1b5641c71fa79a3d8d1ba10dc8fcc4 +Tag = 6bb24cd6 +PT = 0bf676c31b15374eb660174feadeff4d + +Count = 6 +Key = c42b5b762620851f66cfee6014325bb2 +IV = e77fda46625ab3b2edd5133b1a9f91eaf52a8fc48ef30b1f1dbe82f77a4b3c94c3b4e05337e080042ce8036c51301587d2de428fbd44bc525ec51d3d2fd66de44a60e089091c8e7d73acb04b1eb0de288dd3e81d9fbcb658af813ff45e405a9299976d5d8d4cd20f02c57d67c850669568767a400b0daf2abce7daaa5855e08c +CT = 13b99c48f1453bc58f484dbaba3bd51d +AAD = d1b3c6e48cf05c1d340d074a7b5b1506c5dc92df +Tag = 9b0ccae2 +PT = 715efb4caf155cfe00cf926f31ddd6f5 + +Count = 7 +Key = aa01e42076691db93327654e47447808 +IV = 311347242d9fd390ff6d17164a49f4553bb71a5ef5c9faab8b36d11f4d149d3477fd7acd2e15de5fc31d4028a29a5d3369c566c029b12100eb8ead76aa8ccc76099f2ba1b74215fdc018bb38bdadf56d9766b5ec2fe3f6fd7ae98ccd6473598ca9f40f99ee6217d762132f8c69ac882c9802e88578370d295a6e052df414f0b8 +CT = 66f9ab6f4221d9845865c1c5b144b8e2 +AAD = a420502298daa3e9c242bd788d94bb4262c5d4c0 +Tag = a2666f9a +FAIL + +Count = 8 +Key = 960401fa9a22f7bb663304d37d0c05d9 +IV = d755f36655cda845d490f4ad7b93092ed24ef506f7bca394604dde53d20c52dc7542468eb8f0cc4e170220df4c3ecf3d8a4ba16fab968d0e26b1ea0c383f477b1e6cbe7a7b9e609be86cf05680b4c0d4b9a0f0c055ce9b3cf8520de0021438ad263e5b6e7afa392b9ac10c7164b3fe0a0c7494f3a194faa0e85c5f558cea36ed +CT = cc51388b8292a6aa54bbca6c2bd1298a +AAD = 233e8597c029f78996640a02128d97a4620d5117 +Tag = 1f5a5c3a +PT = c86178f20784414df44fadd3b79b423f + +Count = 9 +Key = 1a434759785275ea32768e9b84bdc4b8 +IV = 7aa16e4e87b3cbeb51964c102785e8a2a826eea154134757bc5e0f5fa2dc3f9ea818432507e56657d9746e3d3398376d9181369eeb7c626c658ac0762f0c1cff3ddacc8f49c0e073f83568adf743834dbe90bad29c33fce35a9f04984ddcf9081bba7e9f84c43e416df39e3a7d8f4dc21ff3604cb5e1727b948ea34bfb97c5f3 +CT = a9d29a4c895f96a567d69f631e932c2c +AAD = 297b9e3ff904a62f1317d19dbb9b4560eed45ff5 +Tag = cec88301 +PT = cf4a0a68355b989f41ac870efe43c3a6 + +Count = 10 +Key = 8fde3802e45066e3189b644ae96efcbf +IV = c4735de1563497ce7d805c3a9d177b6c75c46d4d7b5ec34829bc7321cee69d7fbab4c99389549005800ba74421d055368bce2e0af57f1ab0bee21c2639b2d5f07fa51fc796861fdd8ae8fd0fba1dae84775e9638b36a148d9b09f08d635cc18daf452a7cd6c8be63a30a0c5563050ac0e80cefabc09817998c5b7009e132a821 +CT = 827452b5fe465024d696da6626f60051 +AAD = 802152f752f8f4f6d284165e417b09f9084acf59 +Tag = 5f25a537 +FAIL + +Count = 11 +Key = f6427e78e9206dc3f31d0171130a05d4 +IV = 79f48ecf1e9a774f80d9fed4cbc234e353390f4ea7b80f848305b291835caa60ddb456848d80c2765a044cf1491ff13febe20c120bbec228b4ab97cf6bdbed85c16d0cedc93e7ca0cd222888ae3c1734d5327f3e1a37d59183cd31368ceb668fc4412847e674b9efc8eae45a6df3e7df73948b5055a746c3783a4447b5c79c83 +CT = 3133b6133b460bc6a68bcda21a313563 +AAD = 0edef511ddcea912a95c06825eca01c8d548221c +Tag = e55649ba +FAIL + +Count = 12 +Key = b5e16c83f5cbb2a19d750c010898ab97 +IV = 6071068623e10068949696f9db004d8971c831ca72094e9ae6a5bb59d3ebb91354302ea1d0aa5e878edbfbd39e018456371a5f4a073cb3d05d23c29d0f80f0929da321f87ff396c8571d17890ef7d8f443c17bcb01fd4e3bdfc318b27990aa388f9ef81090a402f6d8633c6887acfb4557eafd4d945343fc44656c7659fbb3d9 +CT = 61e5fa50aeb3d5dc1b4e450e097203bb +AAD = c886537558380de82f1aa1d40fb09407c21104e1 +Tag = 71887aa7 +FAIL + +Count = 13 +Key = 50b6f8c84267c5d152968ca6bc83cc64 +IV = 9e7a9307678166c074af540ed11e5715b78a159a35adbe575ee133c1f423d864fb6a9e0374f7e7ef86256b9989d2b5480a8fa7762903996c9a99d5b8306cc2b9c3adec7ab8133f70fc2ab05a1026f561a4af809ec1c046f2702f4f370480c22d954560a3b51df4d588b7a57b5e3242fa23c82c6889567ec4f99e247a96cdbf3e +CT = f99bb7f0482fa7cffc82bd5667488b13 +AAD = b7c53894a6e77b94a7caf18ce78245973ac43b68 +Tag = f5f1467b +FAIL + +Count = 14 +Key = 2231729d1a8806a686a1fd2128065d3d +IV = 91108c39850cec32413ea762df5ec1fb16bcf9bb0d935ff525adb634e0eea76967cb9bc9da2a5522776f420456f2e6a91a0bcd6f851baa67e2b42ee7d14892ebbe975d380a3fd8bc54b8e95daf965984b64807979c1f0ba4f7eb81f91a6b5472ee157a3593f35094d6f1478d8cd2b30710964253f2f0a06d9d8f843b39619644 +CT = f322de85ee6c2b2bdc2c41505e45e941 +AAD = c1ed978d4b7600005330a6c9d47c7ffcbf881519 +Tag = 3732be53 +PT = d05319105dce94acb7c81c1163024795 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 476377741a5b96c38e290ac702574496 +IV = 399b54433f14356a76b4db0f4403b4f77dbe829ee19088a9e3becb6ebfade9739658f2b831d5ea56ceb7e41fc956652cf1c5dabd7286502bf56b827515c97cffeba2b69c2c29e7d44733ddeb3968eb71467f9d8b47a6edd1f014f7a5d853eeab61f0ae9ef1004ffb93f9cf701728bcad027477abd9626ca4432808c377814b37 +CT = 64b4c849f5d562fc44aa6dd4596c252b +AAD = e8db5fdee206607142116e18ecd514e5a936e5e702f884038d64e81ccd0af60149e28cc696ac649291919f60f8da8ca3 +Tag = fb54ac9f331178b84b7117c8e3a3dcdf +PT = ac6f6dfc42d0409a4c4a1d248c88f9f0 + +Count = 1 +Key = e069e84efc515534962724015af05d2b +IV = ad9a50d71ddb0c428588ac0e2f5efb64bab6ba8b3acb9df987c3c893ced88b83b2dc8b3b1c01ab7a36a255971388373ebb534f8ed034c17cb2943ff3c0a6807ef6a522bd0a1472610651312fae2eeaba648c66bc0de7478f2c5d6a246fb1f5fe02e8fc8bfc797c6d9015233a42ce20516d8972e57930067b2b521552c2aef9c9 +CT = 6e420b785a54d418cfaa9e7912a80944 +AAD = 278f6bee6191b1d2af510f1e9aeedf8b9ff8d07410ebdd297e94829a5700aeb1d23d10406bb094bef8e0d926879013e5 +Tag = 990b2dfc25a3a7ba20e0fa9dacfccd90 +PT = 490478f3c2613d8104714085293789ca + +Count = 2 +Key = a607fb34c355f49d2a0cdffcdfda0bff +IV = b67279c35e73faa24327ef2f3b5da521a9a96f490ecf5ab563cbe36ee9c3c4f72529359069b817aa86904773c0e83af2a613d9fde1e15c8205205bcff6fb8e4454ea5faaa05845b84239d0f4d20aed44c095c8bc16be153c61ccafd4ddaf044c04ab0c148cf636a30bb46c940d9a8140c0b235bc9cd6a3b95ec8588a3964236c +CT = c53fb39b95143ffeceab4d006bdf7b3b +AAD = ba8ad6f0e7463a1fb38464e6fd62885328e22104d8d88f46bde37f974842c0e51c50806aade2f121b45000807ee0d972 +Tag = 68b709bed013bfb558ede8938b0dd24f +FAIL + +Count = 3 +Key = f2bc9105a8c4e13d234a56866d86adef +IV = a8f21bf937b759047ffa4f84b46d5050e7bc0761aefe93e365fb025867ab15c35770da3734c8dd15c3f7fe06a1f30b80e0fc1ce79922843a2658cf76b58e07f03f9d65a7688ea0d67e0b481743c5fa2dac921a190a7ce39df60de7e5f7cff992378a2e4cc9b6f78c8e034aea5c7f70fef805589a1412ab6aa2e48adf48273db8 +CT = 2ae01451631937558d5bf0eb18cfb43b +AAD = a588870c00065bbe6a1cc74c1ce83bc77fbd402f5484ab9748b48474f74e5083d783f8fe91082ad3d80037d9a1dd6c92 +Tag = 540bbe9e23ba4a1425bc43b97a551a5b +PT = 3fbded707701bd1bcc03434f5f24fb45 + +Count = 4 +Key = 7405f96626a18d0257bc71b2d04dc1ce +IV = dd81f4b322d48d993007c2f00600df9ee153d5e28e3ab76a26945942181e25a136f564a4982d0dc19746635b311a253330bab1d338ffcd692076160892d752c38d25709fb04d19a34ceb03bac94e6aa72633b5b8db9213dab268a61f4d928e002ca52434df8fca93ac2bbf2109344d30c5ec9b8bf818b306433e72911e4c9e98 +CT = b0349e0805dd19ea9b11101e60f5a63a +AAD = ccd9c14aad557923e40f8b12c7a0f7c2f766118e6696975d900cef64fbe559920299962cca510768c5b676cbc4e671a3 +Tag = 321dbe18247da112eec9bf8411dd8a6d +FAIL + +Count = 5 +Key = 68a5808ac2aad51cf7572b7fc3c7e21f +IV = 9d09007605332c177576edf66b70b95ecfa7ddeceeda065fce2ad8ac35f1b2e6d7b6caa76304515380b245c6c3c8d923842a318afbfd96a5ef17832f8be69998b411b426b6cf697e1677dd6a11c9d45048323aaab8bc548815c6c6234f7cef1d2170284b5ff3375b8f6e4df4fe0acec3f5b1df2951764b8e6b6ab99fa38e1464 +CT = bc836bcf67ff2a0c5474b0c569f91fdf +AAD = bb72a454f1dcc676d28c0f2deeaeab6bc3b7c71cb2c7db3c07684add84ad2bfb42ec55cc3556ee114f8687b9650c13d1 +Tag = 34c038b437661ffc9536580dadd8a4fd +FAIL + +Count = 6 +Key = b1257a221527931ecd50885d65776a80 +IV = 7489faff0e23f98a21efed0abcdb0bcfff749a1785f568b54cd2fc4fa72368af7698c6342870cd50827c8f6047cce5d1ba92517de3244684bd53761698ae63eb37c9a7a6a284c5955957fd4a9191059847a7fd00b73fa34a08c8fc23d8b2d1ddca6486489f8fd3760190b0dce802458fe388ce6722102fe6cedab89bcd20075a +CT = 11e9172c3a0c4e7fbebf10a3e129903c +AAD = 8e1c90013731ab8a179971310d25475b41389ee1d4f8c5632305a47fa6e142ae6dc05b468dc45b8ac14902304b869a8a +Tag = 8cc177334e44c8e7c7fc76a1468cda79 +PT = b8c9fbaeccacc9a8a643c2bcc53d46dc + +Count = 7 +Key = 67154068626dcdd246b24cb2aa71cb15 +IV = 6ad1c1426eea2b64c64f2ee164cfda217a3f843948954290cd42ec62e799163c55ae63de6152a38478afd2405d4971d804e1ef702cc47eca3958cf2fd9bd2f82f2688177464c9728be01fc69fc265d3773638f190a1ec4856f3429f90f5877afc0341b37f763e50b8fb6a238347b08f182de20a590630b21853296eeb969721b +CT = eb2abcd60d4d71f6e21b9dac3a73ee8c +AAD = 5354e683a7fcbe41b5a4fdf7c80dc1ba216a0aaffd6d5c6e42a591c7b3275b91128e03ba36807ecc170a89ca56cafc27 +Tag = b349c5a129124680bbb9cf49502d055c +PT = ef47043164820556d9e5b31be5a3a78b + +Count = 8 +Key = a6190b4e51e774deeef9adb4cafc17c2 +IV = bb5bd0acaa6c6b535efa342615a771745bb6dec39355a852016b208e0533bfadb8730ea7f456b1f8fb0e72f8004e340f8d25e59a31774d605f9719d10fa860d356182f49f477281e06a6cf837ba355237fb5e3a356c4a585f15509408e9b69efc2f1e89bb9ff2de8d93acd11eb41658949517233c261d0d6ae69683890f62d1c +CT = 24f24a59fe1c3212825334d86107cc04 +AAD = bf5c7c1d95126b17f027ea258357bdc69ff2af27cdbf7a8e1b091cb8410e6d5d3edcd7288ccc981b86b277481782879e +Tag = a7e9dd8aa0f9977d3089f92924a7f5ac +PT = 6a75759620d2da9e1c165bc1c70af459 + +Count = 9 +Key = a78f15b198d427596a0c1957ad02a52e +IV = 6910d3357185b7204cc4376f65433b53d056387d2afde12edfc4de3d73d2ec4021788d37940fe115706ab3727198acf4892d4c5dd4bad515c7abc7e2841bbd7c3434eb607e92d00d36976627488744d8d09d9876083297af77815fe8fe63338b2162241e674847cc8aca85353dc566ae71269b333dbbebf541a815c918f4a119 +CT = bad36df08b6fb3f5c60206e501a59209 +AAD = 625cff0d2231df631a1913c57b7d0b662581c16b39f435816bed9d712e33450ae7db28792fdbf2cc42f8658de1b30772 +Tag = 5566dbd544e1ec3e2adab74fcb4f2a16 +FAIL + +Count = 10 +Key = 1a8105c497112173eaf7552ad7b43c38 +IV = b3ac5b6dd415b48c37ce81e86d0dd65206642edb19f828d52c1304d74bcacad7b5414d95ef9724e6b0f657307a07c51e274a6ffec8d3213a90078f8a88b127830094af7298ab8cfa8d8b503202f761e6593a0526f766df40726e9b2f1001ac58c68c7ee368ecaadfe56fc28f8caeb3e747331e1d1afb2a718fce098b41dc2871 +CT = 8f5a2f064dc99113a6360653646beb85 +AAD = cb89be09ea9bc40ddb9501c0037a99713c2ef2558931f65ff74ff298268343e370e7e40ea8e97108468bfd13d8174f70 +Tag = 9a34d162215016ab4ab2c3915e5a2096 +FAIL + +Count = 11 +Key = 437aa53bf4cae8270b1c71ac95200fc9 +IV = b542cad7372e7780706c125254cccbefb28639b1af1e5d0bd621d97f5de4a42fd40b881d5add4e3516a481889ae11ebc7becf20f6ef65e34c9ac93f17110ab03af032bd2a2de8f3a4fafce0e9ca5ab2af352ec442be8a379bb318a69cf94ae9bffc20399e1bfe072473bd32ca7939fc93f547f77a6cf0a847d95863898cb9448 +CT = e797fafe1039055acb65d83741e15b76 +AAD = 58ccf0204b02b010fbfaf62ee89169956186cbcce1e68e743c4aabbee04fb9def6666d9a06138407488fc5885fa6e12f +Tag = 9460518ba17437a69376cb5f237b19fe +PT = d8d94ec76bdb4f5cd18a508234412724 + +Count = 12 +Key = 93103c7a9efb0b44da2849d7aa930a2d +IV = 7743b664b18517c3eb1ceddd09328935ef56ccb59e746aa845cda2fd188ca01bcfee9621047b7a7019116a3b3ea3dfb9a64670145c02e52e344d92858f3790a0721fc69dd8eb1204472d7320822b44b379bbe1a8c094aa1402acd6afd3892800de9eb6b077ed1be650301261872293e009d090ef23d5d28e7674091fc31b29b8 +CT = 323ddfbfe189417f1e630bdd24e8989a +AAD = d8f0de6c577aa6662f63d5475317b717e773a05c1958943f8efda312c39012ec6cc0c97f1f608d44a43321b303c0c84b +Tag = 0d59ed60ca6aa3de1be232d75bdcbb7d +FAIL + +Count = 13 +Key = 36b8408998794dfbb8cc282e35726385 +IV = 0ce5fbb0eff18d1901b6d69f3b2dd332c87cf9a0c2af8d6445af2b763c3e1559b77cefb797db6eae5d90d54970f29098b264848507370727e3f74310eccdaf0b0bcfbfd53b58399347449f1f1ea019457eacafb3c0f209472ad7235432cfc032b05c869ee02d00957377f36f8a303168e0b3d0af432d044309056185b2efcf2a +CT = ad175705c78e649ca253387be12e0fb1 +AAD = c042a37ae8bad2d763733f515f5298b04116d1e718dd84339d5b680447cbc6a40948bd1fb4c5ff4b8389fb35f2d0ab6f +Tag = f317b0dc26efd9643af714f1a7e426e5 +PT = 887fdeada5fb29bb5bd8706d970c8c3b + +Count = 14 +Key = 2caa9b26103f454989c79546f85e69f2 +IV = 0d665a71c78b4fc78ea0c024cc21b610349ddfc9d6f141510610aa1b40cdf2b90dd0633ada424a9037bc24da2502451fd1d2707272f27449c82504e8ca89ff0ad811675ebbf1aeb3f90c31e242c69ad79a2914e03455d936c5f681e587f1b8e5faf43ea27159033cbbaf5dd807535ca66014f61c57235a734e414489393917d3 +CT = a459ac27cf260293fddcd3348c90f6ff +AAD = 8a766aed34b0aea89030ab75a66bb3b7b564e95bd00b9aff19ecf106ca0394491e3201f1f096d24d2cd73600d96dd813 +Tag = b3fea04387d7b2bf90860daee3070fe7 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 8ca7d53ca4be90d720bf56e9dd7b7134 +IV = 7649b4f0f28099fad8e209fc6cd149372ab1ab7d5c3775f0ea9659916262f0aaec049d7a26df5a1c93318330c6de504e967103ea622745ad6e9e20159d1ab232ffbf91a6d8432de1eec424035dbd8929adc4afd48a46164cdcdab4a6b9ac186f1481d09a93e464443c3f43161a77814ed3393966363f7bdd168be20caa20d9c9 +CT = 96746ca0fc02810726727f2b7267ec49 +AAD = dc53ecbd7f080572016c483dab67c2ac51016d54a7769c7fd317c605bf65927e9c28873a229873c26d6ce201ae377f63 +Tag = ff061cc6dd21c2a0a46617dc3c7800 +FAIL + +Count = 1 +Key = 15b27818e61e836656f0104d4cf9c911 +IV = c681b4db0d07269affbe5e42ba7644d11ab346fa962a6e1c6087ad4bfb0aaba48c70981ee8f425976829d936f3862e1cf002de074585937f7d21a68d90b7d2f3f2cf43011c58f82de8c1b1c1a6f2c9a8aac7d0609e6a4a2c253be8d8a13843393f6ad79d703323960c54788263beb5618776a956e55870ebc181ea68a95b2177 +CT = fc6d61c26b15f49ed98b4430b0e56d1b +AAD = 849935aa82d32037e658ee10b08569ae7a20601532ed8c332eea601ced5282398b16cb1df4abb67832e8f01e4e1bf235 +Tag = b21e32d184fb586a12922832a87512 +PT = b4506203df3e2f93fe8d3bf998fec132 + +Count = 2 +Key = 319b14fa4b634bd474c42693c8534d9e +IV = 9df355a30ae274e35d478d5d94992ad7b5b271fa62a2785012c58e1b09a3750f036494790154e9c528a534c86744afac5eae2f3d0085111cac4f68e7b8233d9ff15fd98b5625c8558b9dd8500a37f41610fff061172badb6b702c6bb6e802647a72580d43ace720ba4b414ec4e210aa49abcaa4e9e6d2308351d56ea5fdb3426 +CT = 64e51b90ce9eb537d30e66278980e884 +AAD = 632a2da4790a3b2f08faf8ad292ba44aa32cdcceb8c0161b874ce21c0ee0666b318af8b110437d10d146cf066e4a3b3c +Tag = f5ba655cfd7e25533170a1f452fac7 +PT = 723815ae47b7c2b1dc17c0898db628c3 + +Count = 3 +Key = 2b677658479af6b583c2f971a3e1515b +IV = a52402dd29a84809f6ddfd1fbe698bb6e56948906536f944cf8e61dd27eec82bb93af95d36a116ab50f878d09726862926dc4088df4e1f1579db9414fa8b888b6a10643e81b1bc6d223d3b0d8d7fcca61428860453460f80b195492f90e4440f71755acc3407bf6399656a5ae0c2d82ed2ac7f818d53a3993d7973b26dbb3ed9 +CT = fd886611bbc8ae07b6c6b223211075d5 +AAD = 7ac30fee12b5e493545329d8f67c9c7761eb664eced2572e579935a9ee544d0f7a1db4394a3fed642b28faab03f34269 +Tag = 4799734ef20891b3b2617db98f657b +FAIL + +Count = 4 +Key = 7cf21ff7eb6c3afbd4df54ab0a105e72 +IV = 049d9cda531699e484797daffc012f83fcd78f237853b32c1d5d5dbb0bbdef8ce98f236d0144462fe0208e66083ff83b89ea8ef8c57b0fb6f7fcb8046369c44226093283616577b8c5a661fa061b30a145ddfa7913e6ff5306e707aefdc49919dcb2074a913b5afb50ea8187c2a93c30988669839872afa6f5b65e5ccdb6957c +CT = 0470186b2fae331235c9ac64f1132f60 +AAD = dc4b9c26ac5ae8254ce4b6952c4f5604ad683897697cef3a22315dc1b2a443f7fdaedf49fc75ad63acbe9403c1861bb1 +Tag = 51eeb33fb8ed1d55deda6c9b0ccd59 +PT = e7eb78a8c72cb92db970924e3d44a2a0 + +Count = 5 +Key = 582e41c8ea6788d5c47cc4a09caee6f6 +IV = fb8199aaff762a9c9ab4dedc2e621db8cedb4b1e3ce290c753b360873ee1b328a9ce83a24191c00d4e923a3b009dce0cbc940813c68dd63f0cb1edd7c8ae5928c17cca4db4932494279bb7e9159de0a06eb61b5d17cb47342bd938ddb89cdd41c320824d8181d7fea89acd9072df1242dd7401cac29d0fccf28ef250f94788d3 +CT = 92eb8f63ce3ee5a9729a0c03edf981b4 +AAD = d90ad924aebfb9d9ece0b653de44a1e78ded0b05480ade05bdb9a1bc9b5f47734c035b96cf05e2eca583c1eeeb198aa4 +Tag = fb697d48fc09bbbd2365259a75cb7e +FAIL + +Count = 6 +Key = f17f79f19abee255ceef3e688da97dae +IV = c26899ff8a5c9dcdd0f5c8e8b4cab06676f3237083dc61bdb9e663b9607fc6f02499edd173780cf8b118257fcaffd7c99eb35c6ac587c3d809bd14508a01e657f26bdd44f8a64102328da6908f508f44952f0dee28167fd9c2026fa666e56352e8e747fb36a3f2ee6027ef880c003018f8b79a7025b56786d52e09c246abdd3f +CT = a9750dabb419c3f0bd2a5dc213f7fe91 +AAD = 5b1d15c756c91bd5c6109d83a4ebe5168fc452d257c8218b3695678feab90d6ff99579cbee59c409a6210145e869051c +Tag = 62f0905de74640b1c066219e342b6c +PT = 9030dacdca3810656f78a8d9870827ee + +Count = 7 +Key = 7f6904a4db76c2164cb1ec9df10c8cc3 +IV = 9a8351e7fd152d24fcc5ffb7bd3283488ad805ef8fd7783a617c7c818e430fdce0e3fc17b1dba9eab5fc2b584032a9e8ef9d255a323222a3b7750674bc8019cdace34abc660d0b16ab26a73a7f1a448e33828d31447ce8b39f084e4fd1b71098580fdf216972febd84369747d801ef3ba45f216b644920911937f68431e4b155 +CT = 8c0ea79a54138aaac5aa02e7512aafb8 +AAD = 4e5d6c3f9d50efafd60f47586f022af859e62a2b0d0ccd9136adf7dfea320a8df1096847f7850e1e0a75d11b84dc7185 +Tag = e1eae81ebff09c0410a7649c0d7dc6 +PT = 7b353d77a3724355f2b87b4fbf59a242 + +Count = 8 +Key = c625957ef384d24b61e311b20b47401f +IV = 64fedd2d4ef927163314e1299c8d6d8afd59bb093aef7e0de8b1b306affcfb6cbcef7183fac2fac1b63fb23f647af139d229c9207169a54a6f38b06ea9cad102afeeee0070868e9ac0576545cf84a1801520bac391b1471817a4257f3ba8f3a8e139e73b92ed401e7235e8be3822d712c23c4f4e543e803e80780706f8eb88a5 +CT = a6498f8231d9ccaecb201ec48f4ab789 +AAD = d11a1bf9778806d4996a45ce107d50e9d066e969b375be37ff75c010e51c949879bb954d59aace489ed7b56027a793d2 +Tag = a7e70e5f7352c86d1c0367eb19f481 +PT = 2512a513eff15a400b1fd9fcba327793 + +Count = 9 +Key = 8f8edf34247ff3092446d48a75d753a8 +IV = c55321a36124160cd15e3b77960780922ecffedc10004f665fc65825bb9f5c6770a81c922357a1eac96c663930d82b4f1ec1cb4b5e6ca18320cdf448d7c5403c95e7dd019518b3698ecbbf540baf286541c529ff532cad70f90346f818bafe37c06e4b023658b56091a90fb614845a765c8d793b21759a7c2d0dcf9566eb241d +CT = ea625695ecec541fc425cdc10cd28754 +AAD = efe64d7efd73b944960d9e8a4d0856dbfc15c58632447e6f9c17100dd13000441a507e8e77b66bd475ec0e6e3951700f +Tag = 3b93d2959b21a7243c0e03eaf5d36d +FAIL + +Count = 10 +Key = 79fe307f7f7a9ceb5d7fa7b59c1a8d40 +IV = 5fe6680345a60480924859ee4d4691b1e3ddca2ae910ebed0e83232cef80b4969865cbf3759a393b152967ef9cece95a6cf4669e445ce878550c90489f3668a1acb7384d7a0284938490bb7e834eff063dfff4f5ec405650ddb8d400f9f83539b9cdead89aa683b257e19aefdfedae87ab0329ba8f779f42cb5c8b3aa688be75 +CT = 062da2c4250d47849f86e11a912b1a6a +AAD = 19140fbba79b378cdba843dbe7e524409201a58562e29ca025a4a4c5cdb1ad5cd3220d5cecb439d6498525b8690c0302 +Tag = 1a917e1042d002163c2680ce23e31f +PT = 65fd88bc44e3c8fe2d6ebc2a657343d6 + +Count = 11 +Key = deafa5ed52c4a2976ac3e0abe4902542 +IV = d6fdf0a5d7464293d23f3087d08586b7ecd38a155d99c744f6d297c8716342b3e8f885149fc140be90e06f0448ba3a6e7e7637ed2fcb4aefdb83ac3aa01d3d264ca22600898e243e946d0fe80e807189a84a1bb0406c29331dbef4537d6e5cefc107a756ba3e73ed1eb617208854396f1a2ad0e83a4865b2592f0fa6d8e31f40 +CT = a871e862b986ceb0f962e83e8e50661a +AAD = b9cf69994b0c80dae4ffd05dc8fe9962b649f2d0897d76588f4c55454c1ce7556e4599ea5f0f8fe2a44b9fdc976bfd7a +Tag = 7f43d15ac6a09be73958aca825faf1 +FAIL + +Count = 12 +Key = 1a3e5409bb936ac350de340d28bf183c +IV = cd66ff3a9e9cc56caac778efe0c4c94004faf3a3fb5ee0bee08b3fe8d96fa8f6d2e16765878975a8f24c8a0e44bdeb1cfdf542c828552411bb668c2c6fa25e2bd1d6845e751f177a191a03a19bf4f1f74ed39cca5e3949d216875816831640822f61d3e5504ecaaa4c58775f2e2bde74eca65acede696e773acd903f07ad4e3d +CT = 0472038ca9d91f61d343632787d3238d +AAD = 6103068cc71f75f904d07f01876fb99aef2b3b0bff9aabf54b86e9055c68e7dfc34b30f8cfb2e653ad8f0d9d1d4288a4 +Tag = 762a50c2d2c5d5930c15ee3fb9e1b3 +FAIL + +Count = 13 +Key = 8109b00d61bbd89aa1717662e921c373 +IV = 05eb9dc7a47c2d0e6fd26ab2da25a7c4889e3b0eafcf81fa0d8930f19953aca453a29ee49ea1aba109a91b41b98dfe2a5ac41ecfe133e8aa69da386fbc46f181259457876bfa6203165cc040a933ae5c8ae1bafe35f79d9cc465be8a42149dfb1fd91d19be84efa8b792a116088d68b103c9d208d845165aee9807e772691c90 +CT = be25b7e7504d868d5f1a3fe21955a00a +AAD = ff275e6530bacd5b92ae45528455ec5568d0ed8a58e0f55ab7dffc73dad553f7a5520114a053acb50e6bf9f4d8784df3 +Tag = 873f09c2080b0c97680dc0679d9713 +FAIL + +Count = 14 +Key = a3c64d71bd856ccd401c00d8d39a54bb +IV = 75535068be8382dc301a6f00465bc48ed351fb1ed7eb76090e79c551c7866725c5068ee3ad5352d1f6236f2820d44dfbeb5af9e46caa1d691619ceccae9e8bc2b9c0f3634f15be5686dc001d47ec6131aea543afd85571c104732cf892263ce6d6e8f1a7378738b22c61a88c0e6e3cd394b4f1b5b6f7d387a9e4bd4336fa4d13 +CT = 29a2a17c03d6347325eb13eeb50e34ad +AAD = 5190c53f709976a14c31ce4ee9c2d437d9e131d61a5c2bd65150d5c3e57717b4bc42bb90d615b6f0e90fca9029606a5e +Tag = d11cc809e576dd28564eff3d4b849f +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 03c99fff3d3e549399651e2136b7eba8 +IV = e8132bb384f8731c0e6019e7181a9206713fe2bfe473eafd4ad8a366ccec47282c803a5f666cf359e05e12cd84cebfe2d64a9984120918d7c52e556d025dab307e14bd8e45710478f3e5c1d7dedcddb06731a7c577fb5b25167045f2d6d8c71b4cbd3df48c518b8b8724ae4e08bb72863c51a6e345cd4edc73a1f2177178412d +CT = 83b1a2d0b4da3d55b687357dffa2e2bc +AAD = 2ee4c25bab25e7b05369ba8bbb7c508ea828f70e5ec9f200308003e0b98894ef75b685cb38b649732288736327259bfa +Tag = b04230b321d9bf4a025c35e5d462 +FAIL + +Count = 1 +Key = 6215c3985c5899de7af9e91784e1ed8d +IV = a69d3267e5594965e4c04edfca80b458c18a647c062492a0d773122b4c4dc27d57f62fa95b65f71426c54583f88621fb2f125cbf29399d48552b296e03ff1aa36533b9ed457dd1f5818f6c59c841ee4094baa750c711aaffe0639f60d91c611a47a2f015242943e6cfa2e5bccab808de5c07ee38afa685705cda19ceabb5008f +CT = 737ac2ccc552b4cf7b9aa5de2ac6e960 +AAD = 075522fac707adefc581fb1bb405d2875ea1c1d2bd53bb313bc1b9ad5b1a773333fe1d2bacd76149c0a601e7666a7ec0 +Tag = 44d0cd3903b1f5502938a2ea900f +PT = bbfec0beb3299d5dd1fd0fd2f282e486 + +Count = 2 +Key = 1bcd274ea62ee5228eb1632ce17396be +IV = 2b10fe5e13056858f7385f88233511b4f744bf24cda05684d6dd6ceaae723cc4d1381a4c7367d6c81478ec7728bf07b955853a7238a55728ef9ce1392dca40e0aad675eda4ae2b3d33db4967809ba77749c7b38fe4ef10533c8cb125c88c595970cfe5f09b6e1cb235f59b89d443aad8d29bfbc545b9357ce60443aa9fef04fa +CT = 20b8a6a412acdff8e7c2fec15adab79b +AAD = cb98513715c97a11f179bb813d2d3f67c26cfd4741bd4698ea83826b7813bfbdbe3a03afb883da628d9e57514f6a5e9c +Tag = e36a6c2d811fae45996248f2fff0 +PT = 3bc7a1be19c41633830c7938b41a2e3e + +Count = 3 +Key = 4693181ff5a2c46402419550d6f3d837 +IV = 6b5ccd46939b62f808462eb4e56a0f89ec0d558c78adf6ea9cbe91147ac7151d9b4d47f6e9847637184aae3e39c01b9e61ad9dd9d31407fd0167f704c72bc5b365563db03fff26444bffacbce063cea4e0bb14804304cc89c989eea477d00ec4127da3fc9016be32a9b7a86837b2030bd6b72172c303286b765b490b608299ad +CT = 3800933fb7d106a28dfcf1491d490903 +AAD = 0fb311da58f2e9128cb01b15ce9ca56c3f2a081f911943a9337da47ed8e261269720fcc1638c23524914cbcae427cec5 +Tag = 38e0d82aaad4b56337b7063d90de +PT = 3b099cfb079b13f07a54f95ca2dfd62a + +Count = 4 +Key = 65f94e152c26b5d5245d77109b2859e2 +IV = 6dc5fbd5977f649babc4ce468841a203ffeb04bec20e78ef0b14e44b55de678191989466cf652581fd78a38e19b4d6d5e6093ef8c484591a4ecb8795d855c9b22980d418b855a61f7f90ef8eb363e232803ad2e557fda247fa88ab7a616965f0ede1674775a055c95bc759fedccff8ad585bb6a7e0e2c7bf723e8c2c62cee3e9 +CT = e1ee8926107f55bed43c13677b73390f +AAD = 57ae9c5a7cee38d6c09f75ccad610e428385bc5fc68b19b2b7a01007974728e517ccaf3c835000ec152e1d30cdde2f32 +Tag = 85461c2e60c7768274835216b93f +PT = 42d06278219c44254363ba5b6371766a + +Count = 5 +Key = a4f71ae1d12109bae8526e6f71d58506 +IV = 4939efd5d9cf85a352db2a989e3ba0ee51c79ae18154e8700a5b490c0c12d669d0d8d1d3134c16f4aab53b6b68cbca6aac5052c2a80c6d12a8e1dc965bdf1acb95aca460fa522d5b9906b27faf48c4c6fec79a411c3daccf6432e7f0d4383f666484163688508cc647665572f86918ef369622aa7aa14603170e050c5ce6088f +CT = ccae220d9c9bb4528d27d8930d550c40 +AAD = 0d5b3f00e40eb7ff31b84b6a0e765a8a2e14dbb1901386c177536fa1a74eb1cf3b819fec73ecb933bd58393128fc7f38 +Tag = 099f572005568565bf910b3e151c +FAIL + +Count = 6 +Key = 2a016c99388ef138f916f3f08053b986 +IV = 1e0b1f0cf00a0e495c988f08eb0030c2368732d3ed639b26094e4b5406fb673a0aa03091222ecfd38289d45257a97f3477639474cc21368121413b9d662684244369904cb294e8cf227699e1e7f5028a5cedca6e2bbf99fa597a0442cc72930a46ad27feba188d8d486fc9306988f9b3ceb8ee3ace63000dc13550ed979cb33e +CT = 5f6f49b1aa9747067a0151acdc7d5c89 +AAD = 915f95a4f3fe5521aef169887791e4aeb8c87d91b99ba2fc841b2c1a61f9d259c181acb586890389a30853677fb491da +Tag = 4de88e7ddc752ce2f9f6a1b7875f +FAIL + +Count = 7 +Key = fcfdd0e0e67b1b3bf7ce21d3d123c78f +IV = 150c2e8142a851e79df6e7393fde55a9074fc7e52877bbd0b4a647188e0247b04a6ce0314626a34a648abf863a781baf149c1edc98b3fed43e698608fc9deccffea34caf6cf89e04ec1a2662d0d1677b299746d1e77856a6e7472e4b67c43164d18b10a523f625045170d5291ddb6d1f56ac0b68a7966e8c4a709d24be60507d +CT = 1739bab5fa185dc4e914d8417deb650b +AAD = 804aa01bdb45a7cdd9b353b2e3ffe0dc9a2982292019dd7eab36d2524f853f8ec89c7a58499397ea9306a8bae28ab32e +Tag = 8d8e90bb3edc61ec6c892b613d3c +FAIL + +Count = 8 +Key = 6e191757214d5192f71356030f71970c +IV = 2b43f458da12d676b45b709f617d2697498bfa4cb288a7771eccce2d04663f314cbe72d06b674c42efbcf9887843cc0b85e5e5a5083b9c90a23120ddd0d22e8e63b98e350b46114f2888509f84ca3741af54c30e354701b2fa93f25d4f105928391b87e20cc20d63da8d0db1b5e0d209388e4149833ab9ef96e83dc16a547a28 +CT = 5f865aea3c6cc4d47b7ec9553343d8d6 +AAD = f4634b1979b1489c7cf1154fac93e723592430a4712daba3bad8b217ac2158691165a87f4eedfda591ff49f75542095d +Tag = fdc717194784e1fd4f1bbd36a4cc +PT = 8c6eff3705ff14fc245c3dddf8e64c63 + +Count = 9 +Key = c6696cbd0d3a804765bcdfec4dadbfab +IV = 72f1c48101fce714fa3babed2fcce21bcc89a0ca208f77839ae044c3945d3ba144ea24316e020b1dd63f4b97cb7291691f32950a0c89a4c9edd01fd192f8915f82be17d8f0aae76bb8aa10f2fa7108d5ddd998b45db7a8675e536cc3754a774e8561bbe01847bcbb63efbe643d52f8bff078125798c6d79bb2ad438712d0242b +CT = 758d2ed689937dcb8cd7e39fa041f8e8 +AAD = 720d9e5e72231435f498d008468be61d64995bb73109bafa1708b52badb4c0917b93de555a0c2145962dfcc20e290fd6 +Tag = 8a10d26e7b46fdf58b76668827e8 +PT = fc3371520f71669e2e628d8b8b123f96 + +Count = 10 +Key = 0700fcf8ee255b102fff580a16a4ae22 +IV = 363f82c68b6032d44450c23955a501436ba1900fa97c43df4effef3faf24f9c71dabdfd32c9afe1a20fb4c1b374954a215609cb52e76c03c6d1d0a9b28df5d4db8097a2d29c4effd63a20a35de8b44164c87a996989f352486f5b7ca0b46162bb8656a319b9b158b3bb7d67535d8a7f4a85c10eb45add09f34d51c2b163cab0b +CT = 34f6edf73876c9ab77078002b24d7b2b +AAD = 6706b5e53e517527effc2da81272b7ff0ae7f4fd2b7258693242be9d8575b6ca408553770db26f192d341ac059f2d309 +Tag = 921e136a7de358cb85179b576887 +PT = 709488b9a7b189fd01ec4cc74a591beb + +Count = 11 +Key = 97c14838ff5f0092a77907f1bdd7236c +IV = 8f94e74b6d077781261fc03e2bb484ea8819ce54cc70e27327bf99d1f15cfa45a3240f1a18a69117a83df39fe7919f707e4ccf4f747b852ef035f977bca4ef98871306a52b60c9187bdbd07c9db1a2393f7934a8bd5577c331cbe8d4ebdcd5e903dca00a4a8a7c7cbcd7b852b050d273ad27a613a5857869b9aa06341e718ee7 +CT = 33e7496d563855d82dea1caa6b9317b4 +AAD = 727d77b09beaef817e811a51dd150a37e17dd62fe4abd982b910e0ec039384068be3098f6a0fbb2eddb8fdc56b04e22b +Tag = 6790c9f2f77270fe75425b95b911 +FAIL + +Count = 12 +Key = fdbbf4ddba066284489839644eeb4e3a +IV = eba6b078361f144b07566f7a156acbe7c5d6bb7145ea99b2382baca6d169e203b660ed7f88ead454dfe546011f519533a627e83a925ec2bbc9f508ef1f6416727d461324a1074112f914af7398f6e52228de747e5ece47618776cd18206c753ac7189f1853fb678496c52fb1f065da808c6a7f48f3de12094933150d0c44c14d +CT = 94ffc7b545e30a4d1d159eb5634d47ff +AAD = 61b907448d7ff768fb737b972f2f7f0a47ec72be044c418fe1f39f425c48012315cd2637d250f33790e619fc56c34c2d +Tag = abff644420a432f9664815fed0b7 +PT = 0468f79af2d054c2460968f3ad106f24 + +Count = 13 +Key = 1e611c5f3478215d9bb864aada2d7c71 +IV = 76d36b798273e818eb4541f03e249fe83a19c743af2cd674349e4b1926e222d92e9013cd64e38afab16695a355b9236741b3e94a69312ed8646751e9bc8966b0fd8b7da3703aa4ca60cbaba96f966a41938217b96a469645cb65d826b2e2df26ca8c3dc5ba26dff0834ff54c59464e5eac9f79c2b6e85aee7a41e8af274cb335 +CT = d6ebbea1e3cfc0c7871c932ec3f1bca2 +AAD = be8e7693ce6cca675ff020377aac88b2d185d9edcc02006fd51dd4febc751d5f2b7c2cca03aa4af64d92766d092b2b37 +Tag = 61c6750c99f6969a91403807947a +PT = f9474331c7d13611eed10853da8e8e96 + +Count = 14 +Key = 0daa9df00c1e832cd8b7d9ba6585f48e +IV = ac3148861a13c30b18518dada42fe08903c52573e66d3c07760a86693b5102bb4a020986fa12eab87fe985e9493a0f0b6efda0a7195ac5cfe36798814f0a428e49b81191194e471ad7a6bb795b018f76f50c154b5bbec1a596ec7eb07effa7f55999750f8ade14e613bb70df2430fc1f6386443887121e87acdaf4b0d5561e3f +CT = 444e672d4927d17086c82427a3f68955 +AAD = 25193c2df26b6ea6de9873911e87078d8ba6e74b911b98baedb46e89c74c6d36bc2ccf6644813c84163cfda209005b31 +Tag = ff60dcdfea18d703e91b546c347f +PT = 9a73c0b6730b757c06a2eceed6db6e69 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 9db26c95153bbd427412644ca31f6bdd +IV = d674ed86e05b54466263887918bf3b55202d0a2cbe5363f6e714e178a998e8f63a16112119233324bf9158687f2b17b7827c3d0afae0e4b3c5014672ffc0c301dc717daa197facc9f25686c7085a562019dec75e43a7e796a872d90e554d02e4b6a5ef4f62da53fb1b6de3c1848a1c414b3f391ac7f00ec25ad36fab0eb87465 +CT = 90b3f634f4e5a45a7ff8486398c4534b +AAD = 4dc4e421f99981b4d83b4e8d96cf7c4e6143d9840a32cf91077403566f7ffb46e80f09f5f884c5423d1c5796e830e534 +Tag = 7e23206fb6a886976e8ac75d65 +FAIL + +Count = 1 +Key = 3d0295c0bf73e75706eaf8415509a675 +IV = f6c8fb87a9ad26372ffe146774de73b3e41d75fa2fceaca6be39ae17f026f092dcb69e841968d3f5a21c91c00fc954647134fe77d964287bd133585008e4a2b5b9e0f57a5bb1f4b72b453bbef04749a3a4f5a88bf6ed9185dab80fe811aba9158bbfe0fbf4e3ddeec6b0ca9b900d0a2534f718b8967a33ad978f96d186593c11 +CT = a65d99e33c446a21ea23913f53a0be5b +AAD = 9840ecbb3896312df25b6ac33a3f1af5eeb8e2207ead5ff7c2cd0a6a5e1da8c16fad551a703a1a840df4c5e46bced02f +Tag = 1bbbc62e73cb7f7709b233de63 +PT = d61dd52be35203c4819df38da6116876 + +Count = 2 +Key = 9b712dcece4e30f2b3f8b3b12a5b377c +IV = ecd507e1c05ab856e3564b1ceccf19de2cc9ba93e5ec93186aa9574f9ab8863516cd007ff30459434119df2a105bdbe139c9bc45f49de1a1a98ddcde8e85b80fc0faa590f455e3f8c91b45b11f72ee3c858a78cd12ed63c73ed5555b71d7c4ac74f6f718ba07f2389cd8c4be422e7ac46423c6d62fe5de6dbfae6ba6f2dcd365 +CT = 94a18412ae10954b7400484f439c13b1 +AAD = 52967ddb64c908a9dc04ac0bed4a6d068bd631e50866aca2c9470588cdce91ad5f71e2350b27272922e35f9e967bf706 +Tag = 7fc6567ed9ff711d5120354068 +PT = 517100a986a851510ae4d44056aad27c + +Count = 3 +Key = 7fde29e93a9bfe26a8bed6dcf6f09fa2 +IV = 8f32016055e29d19865e344763c9d7d0dac1640a9501908a9be247cc6d5895612a5682275cedc03546d5bf864a8341708fd8a60d3dde75c163a052040d827fef8e8fefbad87f2bdede239bb09ccac04b5caeb05182adfaad914e02e406e69b20fdd0a4f2fc8e4a02087de66e36a0c28b7afdaf0131af79807428198c1169ecf2 +CT = 9e6595d40801f422729a0adecc14450c +AAD = fd3633125eb99e505c64d89f8b7a296d6fca31defcdb833102333a5ad559dd695d9b2d1379ea62ee3e739bd558e2c7db +Tag = 764bf42b6b6e8c043371410196 +FAIL + +Count = 4 +Key = 2ce08299fdc41d1a49ea966bdd5d535d +IV = 0517c1cca0f9497a65fae2420aee574f75d9ce3eadfc01a59008c45a7d667ec4071401dce99354a46128c4a00053bf44431ffc57a20b22be7d00f7d3485cf86e0d0ba44abc5d7c224055865b82dfa8aba9d576b8bf55fa183764deed517a87678b605691b815c38a6ccb621cd17bb56239931f95ad6fbfbcc9ed90b9eb46f7d4 +CT = 4e5492882bafd5ea1ef6415275b4bc21 +AAD = 9c6442e95c910836363c9d682573db1f54baa3526a5fa74aeefa6834bf8f91a1c7e26d6694f1ed62fa7551f99babfd7a +Tag = c0b0debb7bcbbbb69a67720b82 +PT = a46b583af71144d04aeb96aa415f9099 + +Count = 5 +Key = fcb7573cfec62e666ac5ee44067f0800 +IV = 987d44ec7126352463f6c1bfba02b0f6a823a12442d595caea7f9d31a4452b037a53cc8bdb723e87398e1fd0d7ab591f5186da1efcc1e15571d7b08cb58bee4ca1e9b9c9e26331a4c70c6fc6da027fb2e9b9b46b5b97f4dab5bf2b5dc375496b26a0544fa484429043896419123879f4af3d875ed9e1a9f754abed6939f0fdae +CT = 79cb5347559ba7a5eeed304dfb666bfa +AAD = 0f78e28a672996a200b7359e5a0fd78c259c43148004e1f841a8f878cb9cbd05793f4edae27c2e8686b652596a80efd1 +Tag = 605515549f8ce63794ad95768f +FAIL + +Count = 6 +Key = e569fac70ee72381f426f40802d81abf +IV = dcceea44e2bfcac69bb9ad19cc3c0b217c7116dab34e121cafec3e55b2df1fee4f865b9cf293d57ce451a252559fcf9f7d6ec7be466836ba377d8c2a01a4eeeb3e3b5d17bc56ef96a01d9ec5a99796dd76df07b0cd59c81608511378932e55abbeac2a3d12d41686d7d678a1b2c85fc8e6c5bbc16aac17847eafd451eca8ffa8 +CT = 76857fd3d60dd7e47cd33ccee67834ec +AAD = 538da5732faae9a03b796c22f5e8e62703d41ab8acd4004a3aee29e3e75ce712f3983feeece64a0daf1b1f41bab97eb4 +Tag = 77b2059cd4c3bfeb75cfaa2563 +PT = c46d3f71d89fb0fb47f3ab0e2c9c4fc1 + +Count = 7 +Key = a7b4799c74417064532745b08ab10dbd +IV = e1d16beaccc844e880dc8ddbfba2f0ad42ec9ae9b60bbfe60ac7874652d187994ff161ea8f84c17a5dceefc96f52300a394d31a020287cf41cc9f219622ba61344aaf10e9badfadf0b2162e66cc425c0a9fd743039456da7a5191365a8777e707661e1618fa1de0883a4cccf928326560d5d3b69d79689bdfc0a48072a9cdc7b +CT = 0c2d19aaad49feac25e2d34772e89579 +AAD = 02b74166bb3493bc95f5876d7e1e568a81a59c7512cdf8120b2144aed3fb152b686a0f46c3f6704514b093b65ceec4f3 +Tag = 50f5aab9d7b0b6f004f36bae15 +FAIL + +Count = 8 +Key = bc73db2c43fb21e1f4e9437d1b3b4bea +IV = 6a810281d8720d7e2624a035a2a413e59a1feb9412160bd36086aabd342f1711cdd9693c099d465eb910d56eef412698a8d0415a45a8576f441072bd95a4566fd43c73ddd3ff5e1a66665edd683fba025caaaed8c5e038fbccc1674628f8ff81413eccbd9ce22ad038c887d4490a1efb0cd3056c3355104b10afa711a5b4b450 +CT = 4cd3cc29e8506fbba843b9276c3f34d9 +AAD = d1e79602318d14cc325da880eb2a21f9b6836acf21dcc75e541b560465b51acc2ab14bd1b5b4e50ed7ea1b421830741d +Tag = d03ae795f53edf38601db51ed5 +PT = 3ee4f83aff4ada3f77f5bb894a84cb90 + +Count = 9 +Key = bbba62555270885a007822b36deed9b2 +IV = 80d96fb7e000114fe526ca6dabc23362362db3477f9305f9e4c3fa26108c7084ec852fccb404233ef9397212e3615bf8d7c318a5f5e1ccc45d4b4a6a3683b45b5dde69db97b7be91e9608e30a328c970a3a67b5f1beedbc7f147ba89ae1fb163ff3f839f38aaff3d16c255fcb3ef5293c13ab2cde1aa70c3da419b3fe8e73231 +CT = 2ea3a0a36acacd7ff4ce0af8d77aa76c +AAD = 1fc04486dcb0aaf807a24d424b9dceb01de1be349a8ff5cf2150de486efe0a45595358d852218905e9c8d7747c6af895 +Tag = 85955562891b2d7d49d58a967d +PT = 029a657210f9374ee893d1612ee5afbd + +Count = 10 +Key = 2a8b7517ff4f36e8570d249b9ab2f26a +IV = ff7276e936ac4160b8ced5ff2a788adc783135c8a10216e1eaf174e0eda85a72ec2b7b1cc4da778571ada1e4f19e6933f3c4e7413a37c243f88893dfd6ee43ba420d4ddc36e2c477bb2e6ae0074e8355f8ad3a8494cc4b14b2b50944dec2b123a7a5b7df04e0cb9f63958f189ff79d9a8625ee8f4d36874aa512cde1756c28a3 +CT = efeabf71c884e40e63e8a73966a8cce7 +AAD = 21f8a481e3bbecbf6c9d357f7a36146ed4b4eea3a5eb994398f4448efca0373c46da253cc5d3e2fff3d7a3eae4be4849 +Tag = 89026e5a6829c9628c6d0abcac +PT = 4fc94562b3ac3bbcac5ca96eee836622 + +Count = 11 +Key = 553227aadfe7c5c739c727ce6c4f1543 +IV = 5b403a7dafb30a828d3bfd9d08cd898480db44c0be42d44486830fed231fb259296ef0b8a73567b3365bb1999f3a429a394b05e7ae83e5e8d46c55f55b3f5e94f097a14519252436cca3f0af0988564bbbfb179580a910135d5204de2265b71f10ead303502af40400cad1bf84a2606008e264d09a4425d2d563d9420bd787b0 +CT = b8b15fc58a0b1ecda846152b77a8afa5 +AAD = 3db6449222a63d0483b9f5dc1b5fbae900951182c33307f09774fa68340e711c24309feb0c7c753301310193a941ff3d +Tag = dbd45dcf16d04ae4a74bb39509 +PT = 3f20bb15d4c814b88bc6cf149b15d97c + +Count = 12 +Key = 3b640bbc903d23b41ef702b22857cb46 +IV = 2d56ec0185f92e661a512b905705bded76856f6e838cc435d369c38194c5369bc7d024f9c10e0ebb3a29c0a73d8a6186426bd3d6042336f844c7f37fb65ef874f01f07b5a4d129e8b8b229ab8895a2dc3e03db9ab8ad01db2827cd29fb2a7c9737697e95c22ac57db8b7b8bfc40ef19f728f45238c19f27416a89fb45a387637 +CT = 71763600e49b4fcfd3adf957a5221929 +AAD = a995636353af55e20342185ef93c0d5c72ff24780ce7ed4672ead42ed0037b7d7b50af807b3efbc74c6b37269c0fc30d +Tag = 535b91d262a472095c83560e33 +FAIL + +Count = 13 +Key = 28040517d4d10c3ba3380e24465e2b9a +IV = c4336d12a09d31ce1efd356d75f75d6ded6af314029e23848a29611a9886dd00944b99d62356b965d10355128c0bac50ade066d31bf7150ebd397fbd4787b4f5828413e3731080e1c99e50511fa9e952e9d01efe760ba72b57ba3688627f5562e0fd54661dbc6eea77373e21d571db1b1d00b533cdc872291be065a2f8f370c5 +CT = 2c47ef99e83d4bc276bdd5c6cb164d72 +AAD = 250c3d33d5115408b26ded75ba14f38e638f0e50237ecc234c37a2c8d66e979956924ee09f718e57bb25c7b5ec687651 +Tag = 9ac711096bdb4c44575b78c306 +PT = ad16454af6e159dfc4ad42e4cbf7b010 + +Count = 14 +Key = a0bfbe0f78d57d29ac9908507afcd066 +IV = 5fa6a7be96f585a24d4c0f525f2c24d0f805fd7e5dac845cc35c279ed6cdb562e3e13f735b193c2bf6882458f57f24f15dde6d28c82c3b78892f886fb3620cf73a06ce5414ac1f913c44c5766040c3e43a44416778151d1e10e123c56e588c487f6e4ae5b10f8c96efc8f560231fa24811aaeefb5bb29c91e736b8e8d498daf5 +CT = 774aaf234a994f0cc48f0df9f39018ac +AAD = 6226153e1246595a55529079fdac25c50ce36704828ae5e5067ff2b6565aaa34932fcd76bc1b277e2716583bf07549f1 +Tag = f1b59715b8519e1ae8d8b229d6 +PT = d77bdc90b228eb447c4012b2e4f799ca + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = d2a5ecfd5b144fd2eeedc490676c4cae +IV = e45dbc68892db65baf5d8f23cbd2705ba8e4536dca7ae64085e42f5f0b4831ec8c127e06dd9b858c89b6b8018fe96c6c907d95ebdaeb39627c84d557d962f052fad1981cce535b449a65cef953def2be5877de5eb11cda0e16246a5e4ccf0c9ff809e65892510186d32189da5d6efd0949360b10fde2ccc6816776d544f439d2 +CT = fc9489821306605c55f3f0e49fa850a8 +AAD = b2f7d9b955c3cb677e5d9e033ec6f4ac0c6709da07a1da0f88efffe21918b6e13178748cb51de6ff9ee5455e10149635 +Tag = 13c9e26e7e37b4dc0884c63a +PT = 2612c65b35110818895ba30ff34cfc30 + +Count = 1 +Key = e8c911e6aa37ba2de6ebc2f367e89cac +IV = 37f561f76b19731cdf886e3dde5a255e41cd73ccbb5951a73d61f89622a4af7e6579e5fe7985dab41726c1a0a1bdd55afafc47330404556a96b154f6425e5f52bda5892dd2778f54fc3d75e54e2c618f8f9f79d68dc3c1bc845305386279ece065283600af1ced04606cb300ed3a1139d969a84a70c96e50425640024aeb74ed +CT = 39d6dfebb58a68b6f6cacf753b25ae1d +AAD = dc452e7a666aa3e50c44673aede4275fe58260f81d02169db8ff4632c08cbea461966c5edde5b3b41cbf1f7f72f324ee +Tag = 2535649a78f283bb426c7bdc +FAIL + +Count = 2 +Key = e842c99e96640391ea313b724c04223f +IV = 5f2aa16e724dc8f54c7a3397fc8393598479084e4b7cfbe700968f36d6f8f316ec90536fdc038d16020e31dda2b820b59fb93ae10dd1f3578e5a4a6df9b2c3d0e05d61717a961c82f454122a449110a38083345ba39fe68356c3172c6ac56d88ffcc2689f0bb5cc8f3ebbff0d772dd77e1bbc763bc5476eda5bbd407ea642b47 +CT = 0623a47f4d90a320ad555576c176031f +AAD = c988475889f1d7ff10842e187ad4f3437823d0db370063e5249bcff13d11c64fb9158f884e046036241ca1c9f855cc60 +Tag = daf5cfb9d8af4a75a3362a8d +FAIL + +Count = 3 +Key = 77b8ecc30bf07acef1c514dd8596a38d +IV = 049df6eeb2b42c517a81a62da9063ae492437d629434799a3e25ceab7613177c276fe781dcc27e56b71a2004ae9d763cac845dfc5828dd0df4c6464f582d240a22be31b568f22d23f5b5d11ab6ff3736ca3d917acbe40bdba481759db6d1037fa56c19a296c35cf33b27ff0c4d4b1d0d354d0737c9d27942bbc1b483c10a1f2a +CT = d7bc1f767ba1fc9c2c6ee751981fa16a +AAD = 5d4d1cc2bf228c989cb8c8a9c704277eba15b2a0f58c883f7060bab3ad951933cc62b8d44d9eaa117530bde1d5b383d3 +Tag = c5a4ccceb7191e7f57897918 +FAIL + +Count = 4 +Key = 877893d733ab8ce2fcdecf78fbf49e6b +IV = 9571c61af35b54752f6d8df4863d12b4d94113b9d325ee12835491cb7ca00b6ace92e816f79cd9adab1f38de893d1c20b2a82d1e95806b5bfddf546c5380cb918af36571b43aa2339f406818e70c8414002cdd05b4ec283b324122e1ab6641ab6c0d52e158413a4c256eda2d004b3fea020c403a6300abc304f637e8b8080525 +CT = a485b99cbc646b7e21bf86b5520e23dd +AAD = 4150e7a95b0d2f86671f5d74e76b9a0f5c70fbbacfc598aace99ca117e82e8338b035adf2fcf5f2cf3f93b89788486af +Tag = 8fa8b809b21e3cf3f8b58e73 +PT = 60ce02bb8be7914648fa99dc877a07a0 + +Count = 5 +Key = d666cd7e74de13f41760eae61a8b17dd +IV = 557c4788cefb1e419150772fb3c354726594cc2a7f5d4d90d1c042ad706ae796b2110844892892ec633043c67ccb9cbd60cb652c72a2c41b8e4e332104b4797d83d56e43d366bed047cbf2e51063b8609bf85887d76f980d405d78c603136bfd7188550c3cacc3fcbbb41a02885b160ca6bbe403ad1c3e180511536b265d7e73 +CT = f587cdaee72666375e7e9e5f6d335f7c +AAD = 95d45fbbc1a112a1d24dd07cd84ed3a9db61c2e4d4a5a991d2b68fecd4977e7ffb71f147f48b5514d7356075200b833a +Tag = 493912b72ff5467161c08b84 +PT = 653109d20f516ec571de64469c854753 + +Count = 6 +Key = 7b54b91ff4a406119fd056315778bff8 +IV = 415d3fcd61b50fa4bc937525ac8e54689a35e9924be9763863573f175a492ab972267a4569e0947e0b9c79ed31da3d4e39289c994f5e24fe8dc7f39aa0ca8b705ec7f8f314ca622ecf4b46e097bd339fd9061973c45225818b63876da6fbfa2448ef1886515c18cf8aed124e83ea3d84c983f1faa152681566e571af2305fa5e +CT = 7af6e2870c99324ab17879e92a1bd3f2 +AAD = 83627a147620652a9e05724c7e880dc89365028a092cc6d358d9e8efd83eb602ea9687fdaf0ac469ee03c15360a0c320 +Tag = 5c53c4a152a3f03b32866330 +PT = d7ff8bbd3faa1d9d511cfbb4e56b407d + +Count = 7 +Key = a7a77d47c5d2d75702cbef8afa0d5298 +IV = f58b85ca1801179b5895bdff9c71cdc6f1d0ca7d0272cc5c5baa6c1b9878b6afb191b71147c8932dfa0725dc518db9c014f62abc595e5f06fe0d5c1ab1f21128a546d034504af970b26bf9e3f7a8ba9c43025caa6612252306d0acf85618198542998e3782378a3563b4ffa4b3572ddeb533c316e45a2503ccdd92b00c27b3b2 +CT = 840ac44f93f4d1c089164732f69317ca +AAD = 9f4ba88d488d31c14d31a129b8f04446a0b508504153a5c882f0f1857797890f7caef36de6674059703e655d85ae772d +Tag = 00a32d23c74854a4d4e9af52 +FAIL + +Count = 8 +Key = dc2003d02fa15a631af7c2ab7d30b64a +IV = cd988b4260d614c4f9b6732614fb2e5818dedb1ffdef5d369141dc4f07525ec0524a5d7295a1e242a6ec665e626b89b4ada55d6c5b14112087fd759bdfd727f7e5be168200c55f6942a3a617aa48f62c8045d6728eeb4bc44890ab0d59d8cdd184e9b9f578de0117a0c8db2f9911de55515eec7b7f4637fe9e6cfccdd46fa11a +CT = afff7e356cbf9ae94f25305f4393d226 +AAD = e39bdd7929e35660ea1d42c76f79e4517f625a24a9173e4710403fa968451354869ae465a2e61a960c2da74322f14051 +Tag = c8062da37a583db076215686 +FAIL + +Count = 9 +Key = d59a2d967c3513a90ad30e4fa151e87e +IV = 0cc566a2a7547a275ded3639c630ef338968ce12622a50299df502a501e26914386015f437f93e4f7292229d0c160c1e99b524be7cad8b828c5dd915c83215f4110a560732221fb0fcb9a4426825c8bc8b4b4be9035d53ac99c3f36ee8a03e461aab16b83fb7403f3a1fe630903bcc7de66a34aee768e608561fbe863070084d +CT = b3f4426d48f299acb6a7277975d4ea2d +AAD = 611fa2f1c6afbb4f76c2f8474768a8f86795b3dae3e9552fa7508b6eaf0997244562bfa1845de9ab63386c8360e02c35 +Tag = 8e2c886504397d63e7f39fd2 +FAIL + +Count = 10 +Key = 274ecf3be95363491662550cd14743e5 +IV = 7fe9a6659e609fd48b709e13267a7abc375f99c3849895fe187d2db56a8b59f639a28f2b113e02b9ba9a4a11bd8790043e803c426fdc850870c3221023153ddbc06435e4c4ca26911d6bbe2dbfd9d9d0f5adee392c582094b88a0b8d77de6381735458e4dff6e3ddaf5f904f2849a21a51d32b58156eb5eb826fe7bf0930a1d5 +CT = 430537e678c9faf0dc1bef1dda3508cb +AAD = 4c87c717986715e43b09383aa57bba75b746f40f4555a136d8134c1d9f6a3b369a07a6959d019b359ccd47503822b725 +Tag = 63271acad9b8c2de0024af58 +PT = 2b6279c4a4a8284525f4b781c3a97fb4 + +Count = 11 +Key = 6d08ba26ab5259c227d6745010e58c9e +IV = b0a22a6318b20206bdf49c5be9cd5f39f2996497057bea38b60bb1403a4d05bac42e81a60dd3eec3c7a14d9dfb630efb3326c697c4a5cba5c8a6cb297e8cc1171c455b19113d0c25b5482640603ceae48cc7769110b3d4be3deaba0c7505d82985d3b54919f76128f2f5fb1f6aafccc1c4f5f4c13062e6b6abb247a1aa8ca796 +CT = aa1ba5527ac9cfc940e5cb2feecf29f1 +AAD = 3f1f9a38dcd82c6524cc04157767ccb1929cc5d0189b63ab34ea57a4130e0bbd7f12e2c03316cc605c3f393d1cf391b3 +Tag = f39c69b176b67d1f0615ebfd +PT = f3a97c214bacba02b86d99a88ffbca3d + +Count = 12 +Key = 8b556a189bb22f0a56d75410f8bf2835 +IV = f31c8cb2094ffa08c04c540fffce4a8d412fe48211d1a080d54273c366b8fafcdcd2b00ab062431b2c1683ef6ad3da95b5255b18d5d1fb4de09d4199a06cb70ad55b2abf59a3d8e0c86811b9f9368abb6cd607c31dc478054eedc1f15c113529b8dde7449b57815ffb2cd1744f071d6a1bb64aae88c2398efc88f58e42d1fed9 +CT = 18d69b94c39576568397ecf7ecdd237a +AAD = 124dcc74d6596d8c4eb455ddd55e01d48bc87831fa2ec91fa2b7dac61db054527baabe13556c0ec3321eb56c61eafd29 +Tag = 2926d8b4b77748764f4744af +PT = d8f569a806b5ac48eb7ebaeea67db55e + +Count = 13 +Key = 71430e09db076b40775d199f828e1ba7 +IV = 9f4bfc24fcef9fcb0e670e97300827939d856c501b052bdf0fd22fe8511143d4f7ee51ff8a70b9588083d89622a052ea15510d68c29f4ae8a3a26aecabf19acac96de6637cf21a49410950aee08696cc972c992f36a1fa7fc10bd7d4439627368b961c0697ef709b9c7d95862f3a3ab9a065d24db193558a5ee2c21313612d68 +CT = e718c0fa544d957313f3e3e6c0cd2643 +AAD = 5c168586d8880c47159eb58577230753811f11acafb61efe7cc1214f449cd938ea21afed5c06f4f7d072ac2439932d7a +Tag = 98bea194537c30291fb63229 +FAIL + +Count = 14 +Key = a6e8b2f80aa72de517a5e76038f9c06d +IV = f2a4b5e64f78438afd6d29a21d9b47e346d6ea99649f44a19aa1ab836064ff77759314499c08e7a57076d92d6211cc846c3b25922126b971376f49a7648053e671559e2ba85081e97b56c5151fe3d88a2f32622250f22b34aa4c6408686f8e55770486a73a052bc2a25db33d6b2a11db472e565c1aad8e4a5d9a5e7466e7ffef +CT = fe5c1270e18777bea7b960b04122e2e1 +AAD = 3730dde68bb07ae50e6a000ad5a9228e4fca622bd34cb104d00e8575778c9fcff0ce652f2070006f7b1dbbc99ddafcd1 +Tag = af34b0c6dfcba644f87c1810 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = a29882be1e6ea0470254394b7f50e83f +IV = a1a02327fbbcc29edb843f1edade3259307380824277d607aee8ba40a2285062f5b667fa25ea7196462b3891c0dbd50fe5bbe3c6c0be09d2913c498563b99a6b327af950c796f275717780ae5c70afc368db084b9818d14e8793dbf44811bf1769f4f99923d081b115d250ae8df47bf2dcfba0839c5ebe172c9b9d4cdafbf48d +CT = 4ca599efceaca5a22dcbca939b468214 +AAD = b82f343d01647d885ab7e21bf04bfac68b2d6625c38f262637b4e3fce5acd5196e1e1e3d3c1f4ac9a553c997360f0b3e +Tag = 19c3a9b8cf3bae16 +FAIL + +Count = 1 +Key = 1d4ef643524710e7b58fd47bbcf866bb +IV = 714ed98d41c9507f261de7010c499aa5d58cc658e6a3ef49a26de9e5a3906d041f2c62ba5c5be95ca44112e52a9fd26ba9c0d8fd8004d55c36016d57efd54e431878903d67fe125a00815c178d591b93ed6e8ad47f2f7ceeae002aefef96723e3b02a12dce82bced802952cbe8ee4cfdb77cfbbd201b206c8a46cf78dbfeaa1f +CT = 88bd6663566c36c86328d7b049bc50f9 +AAD = c53f3f87e889cde24d2b90d698b4194328a6305051dcd9fca91a65835f2fe3cc62dad7ff34218d63279b20a79f60e4a0 +Tag = aec812f8b1fa448c +FAIL + +Count = 2 +Key = a96e55566845eab2a2c339fbd4fcd8b0 +IV = 59584c8f19b9be9ae4ac399a67e9c2ce615a84bb22a78317a2ff4f879489688bde7a7bf43a979059eb4558e0f46c8b3b8f22c2805604c9655169f72818071cb394c5ed23788540c115fb9ef751987500b697c044285c04e1db578d359ed18e33d51553ceb70b6dcf42f92780fa4fca51c92e70b11fb9a725319feb791e0b9dac +CT = 4fdf6ec0e407a9924c519262c9655534 +AAD = 41180d1b3780be038ca4a21d871d2949e83a55d794a77752a8ce12cb039081d3d34eafcd8e99a03ef638ec3702989d4c +Tag = eca4989680cf97de +PT = 13fae6ac71310a019c06649ea4034a71 + +Count = 3 +Key = 60efa23c3a572c2155a839f926e7ce34 +IV = e1417c36bed9c7a282e2a994b5946a3b672eb5c631ead6728f945feb7c8f01560510d2a90e9efd71e2bf1a4459f59524500f6674416672cb0505c52a0decc1c6112a83d08b6929f5252da71797d80b64e1774e89e01dcbc2e72c81950c7cc32e22ee9f77cde44fa67eb95885a6a78531d0b0500a7b8dddafeef2dd7fb138d503 +CT = 3d57207f587d6695b3a7194a0e0abe92 +AAD = 05f49f52519ccdad804b3507f80c3b73bd1884a53fe4b0713c72588f9e9cf0bb7de578b48d8f1cc5737fadbe66b9b182 +Tag = aa3b5eac06321789 +PT = 67d25fbdefd8247b6f112b89e82778a6 + +Count = 4 +Key = e3934b025624aa47710cf2b66fc0b4ab +IV = 2c5b1dfa27941414a782ee2c5ae09d8aef45e9edeb6a08c2a11245c36d77d882fe4557ba94fc5b4b67e76dc599bba1f03e99a2303dc9aeb966a49774be059c7eaf0a002c27e5447b70fa84556a9851eedb27d9ca6b5b8b889720e8c71e4f7ca77644fa7f91369f00e8070a9dffa7ea2ee57c4b9742a2efeba1e2c94728343049 +CT = 0ddc5ca9a50456f702dbbc1ffd14780e +AAD = 28c36b0f9258f2928ccfa5bf10d55d4fd9fa2682930958f51047b19dd5420dd35ff8525da173874aee14aa74a16189a3 +Tag = e854673b493de82f +FAIL + +Count = 5 +Key = d75d4fd2006927c8f4a5ad9e1f156d8e +IV = acf9961f5c1ab343fae28237fdc7f58db92e720944d24d8757e81cb94bd52e4c83e5a599826f1c2835bab39cc7786a47f41245eea52342958dcef01bfd8109a526b696d4731262b78ba7b9aea2b6772aaf3b70cfe5a7f09aac1056339b0e3ad4cca15afa56c67c82bac6a029c3664b049e41bfa10da986bbe1d7bd4d6b0cf950 +CT = 4022337dbdc9b225d18bda30022f4fd1 +AAD = 50db3a31b1fbb134db3ea1726bd29d6eddc380de357a74680c32bb4112ac2f57537db2cd47fd04776ded248c7bba57b8 +Tag = 5a97ea8b68f9602c +FAIL + +Count = 6 +Key = 2beacee251d4fc70303aed372f4def2c +IV = 6e74ca71b4f1252f122bdc023e1a2902a7697b1fc3cf95a82fc165fc11edf4c29b523cad6bb08e943411a5512dd3df4720a7e2c414b9fb0e72e19adabe64f28cc17c34a8649c584e8c58a1e5904b57dfb1b172794d879c86e6c646254f0c41fcb2c96832c2810215905c8959b16fb42e0d0de1d74726cc1ee4448c88ef18a674 +CT = fbabca28c70b009c16cd72cbd4d20161 +AAD = 197c79d6e0a24dacd77e8249b30495a267ffa05ae17fc8a9637f3e749b7c5825cbf8170db70808891ec30eccf43fcfa8 +Tag = 1311932deea343fe +FAIL + +Count = 7 +Key = 0c1954be5aa51d0ecee366ed6944857b +IV = ad524de3e2ad4c239932d7092f7282c4cdec3e8ae478ef700149d43c58c573c73d1f95f50e61664442605674ac20dcbfdc2fb876437d2630eecba7001218adfa9000f177b143760300ffdc530442accdae27b1ccd6051cc2657968f62b76014c705c7cc411ff2da92a6848b3c90d2dec6c344d4aa77869fde0a08c0e0c127e3c +CT = f604e0a15daa1e7417d75158553e36f0 +AAD = 5d4b30c2d0e831dfa5a09870fa565f45163b916f7fc7a1237b990fd4ef134c918713bea383f247956705426c458146be +Tag = 09a654696cb5a7a8 +FAIL + +Count = 8 +Key = 3ab9373a740adb80978150b743e8ed56 +IV = e554c0d22bdad476a1834efcf6a559f94dd7d2429b38dfb78fdd76d23593a75065038ab68ba7d41d8d7ef6fead245182d974925d29e23ec37a400a7c54909d63086dc1227ba0db81c6b7bb0cbecfd76c46262594d693726545b0b60b8ea786967ad5274427e7dbfdae3601638595c712aba363cf2bd51d782b2109d19a1311af +CT = 72fe1b5ff3272c10fea19ead6a2ddde7 +AAD = 7907b7d36b9cfe26a49d9a5cdf53511e8532d26b20f658479f70013e71807fbbcc6edc6fc5835a7393e20ed998510fa9 +Tag = 29b416e2894c13ea +FAIL + +Count = 9 +Key = 4871c892d121da8b79d4d02600659679 +IV = 6370aa6a20350ee760c8c4c1a11a88d8fda7b282dad22396a5f6851495e2cf7320ecbc2f57abece3c1cee20214cf6f4427f6afac85775f0c551f12e323f6957a2a0064c0f5a0fb468eaa65efdf9ddea57a9590bca41b813c16fec41c5d580be6924f55a39613c1d594ee79c71fe0fd602f669d39be37ec06acf238d9735943ad +CT = 1a7aa996ef0c5e6c76437f97f9235c0d +AAD = 2cd6327230064e84f810e63f51d907fe191e39950797acc5ef2ca01378a3445efb45c7df7815c86fa620043816c77c96 +Tag = 9cdaae8350d4e205 +PT = 216f21b0ba73d7a832a51db0f99489f5 + +Count = 10 +Key = f5bd8185b9e40db03adfeaa46e584c4f +IV = 397e68b40bd66a203991a9e09dfbb3648d7081f7eeb420faf696578a5d556dab1c34526b2076895d6ecf0daa95c735a214dc24ab71862f6088856a113286ad9e3fe336fac7c96a03dfd9b2197faef1d004060e405e3b94d91331a5c44984d685b2ec036447543b2ef918c6b46288a79b63741599505ce33e76fe2a4072c93aac +CT = fe184874c4f2b0ef90b0a2437e131196 +AAD = 67d6f05ee60a6e2e86c4e818d397b6e43e332acce4d7172d8fc79ef06386abbc92a41b92c743cc92e364f0e107bcb724 +Tag = 6fe261f0d35471e4 +FAIL + +Count = 11 +Key = 7efdae5c8a64707291fc5490c6cd1af5 +IV = 63c4560ca43de802f3d40ea285593ecc0b3d493b83fe518b514fc672c416ce8e5caf63277528c6a60b3f3abb2a5375363cde8effb94af9935072ab9a27960890a3ff10897aea0c30901d2e2894f6adcef2aa977cf6700c18482c1b1e4ba9d811a8f28f3df5bbf6877a5ca44a084a9dd947530c541e0c3686ff2c134294a1ce72 +CT = 0dbc6dc84946b504cb66bb5040cf09ce +AAD = 6071ff8a047a5a646d7011bfdbd01bea3f4a8b9926cb18a7c46aae9611bb2bb2d4d55d5dd82c51711860b4de0a8474ba +Tag = 919d02ad8591f23f +FAIL + +Count = 12 +Key = 32dcfe8df16f37244f27b8ebec266b6d +IV = 2fe1bcf111049e3e55c4b899ce8d49bf3e9b6320a9213164074b38f2b89d18c8dec65818b762babc2e27a2b9a82389915c25d67ab1ce8373ea8a16247b15c17620154a7cd5006b0490da3b6c47b1a611744049f19cb7ac337f3bb151e070c5e3cd6047d10267e5431c38f3451e07cc40af250aca67df1bf444baaf4187194868 +CT = 2216047ee3f9b6658dfa58c6d2f7a42a +AAD = 30ada42541f3013d24da26a478a6874db3c222b296a1fcbecd1979975fdcb6bc6aa0a45d36cc981ffaf95266d9ba3d71 +Tag = ab568cd442077942 +FAIL + +Count = 13 +Key = 179a70867f13d29dfe2b5bbd9d68ff89 +IV = 0b02a4f75e2b965cbed92e90783b7ec19f31d79ce73d2db3e347523d898b5e3f44ddca87e8bed8606b645987ca158d2798595452528c240e62043d524a5a5f61b7c78eae07fdab91d87e8583850b98e7ca559e25a3d42c8ea3860667e65986401843f0a1b49e5b932a9b59647f6c53056545982a296111545684358cc4541cf9 +CT = e8485e104168186ab3ced26e74284ff1 +AAD = 7c60d57a5c820998b94a67b1a33865ab9f99337540b83e517ef5e6c80427419cf402b99614e3d17442797b5f9bd2ff11 +Tag = 2eecdbd9c499b5f6 +FAIL + +Count = 14 +Key = 63bb100ddff7d30c520866c790b159c9 +IV = 9d74c9590936bbc846a29042cafcf6705d5dcafedcb99d08fecb79f6288af685500a83bb62ddfd18f2dee823aea843811d2b6021fbd85bff6349a59e6cc5258909e3b7dd8577fddc549f0f4ef745bfe70fdc741c46bf56c84c6c2f6645f3504df8abe7c8091b0fb966a3d174fbdde7f991c7307a0648762cfa4301d9a8a31909 +CT = a2a293356c6ac8b99f81dfead1fcd188 +AAD = 62c4498cb1969dda2f004cdaf8b1898a038d8a772d6ae1b8de8c4fcd44280ac994809789e1128411a7b2a88beb9097ae +Tag = 06b008a584fb784d +PT = 791a577a1713ca38173aef532c2b3622 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 3e361610f1959377f820c0e171c43f29 +IV = 339e2eada626d47e7711724b63021bc615ce1b80ff82895102507d103f94ef61397e8919dcb77ecb2c70478122e9d9d1be0f8be434dbfff20cc20febda92228cf65240fb4a6e2899fdffcd40cb78e7f22a73e74dba51a171ec80f06b53458e06aa070ecc2f9e7adca9177fe54c89fa534b42a6c96b52d26a6d36731a36dac510 +CT = e1bdb4e958d18585a7013f6fd3723dea +AAD = fe076a50e32f7e2266ddb5dd93115004fd05a4d44c87d591b081bd689a3c2949cc82974a8bb886efe3b07578bfbfbbf8 +Tag = 458d1ec6 +FAIL + +Count = 1 +Key = da11fc1867a72a38508fddae8f197fcb +IV = 151d0802f1234518f157a4b26debdf6a88d87346890d65f38fbe457621abc89792ce1d9361aaa383bde9edf6afdd8798e90e2dd1b8563c05a52583a475007b98b225f38e5eb84eec3b09ccf0987d2998c60d86f9731c2e6cc35afc73c5e0beb1e8d93a57bf261924369d73353cb95ec27c7aa593bee9d68f08118c74a1fdbfcf +CT = fcc9e38a3644cc03508931305550900a +AAD = 2c47014166e6e6d25408ba04cd995a59fd171c5e4f32752ba2c1d01c0a978362b23d56a70b503748641dd6e1307d1eed +Tag = 9c844a43 +PT = 921038fe312a499b4d6bd1e9a119648f + +Count = 2 +Key = ce3dab7e35b5c7e955b436e864c594b0 +IV = 55b0a04145fe1cfa469f0beb4867d9335e6280b8e6ce7aec2ed6f0d8184ba53cfbd54f5d42db3a7917616daedd7bcfc168d6cf63f1bfbdcb04d0c108b8e67273cec5738bcd23041f29db001bf97a44e439e8bca8803611e4bfe123ba4b5fcfd4f878ae21613eaf17d3d6a783d659a593b9adda65d7d54e062f74f5119a68ba8d +CT = 9bb399e67268196365797978ba65d66c +AAD = 01463ff885ce3e1ed3b3c0b865b7dc4157ba62f62ccd8dfd6a9af4e4f5d4ee584cdb263875e31b6d01056c7811da4165 +Tag = 1a26693d +PT = 067c610253a2d7c2a5aebc511a607dfd + +Count = 3 +Key = b5662adc40f3030a0c1bc78c3349d9ed +IV = 06c5fd578f8e4cf0a3f1424265b4e152f21cc24eb0fd38fd45e5c1007b3f2a442efe1942b3f552f3da0885010dddf88364c08759ef8194bc23a8560de35d064dde0b01aa0fb23f7d1f6853321465c6dea168dd432ea0fef8fdb54fbf570db913504c3fd864e3c94094685c1931d1199168412b2612afe91712cb9977745bc90e +CT = 72fc598d251f6922948fefe0cf749480 +AAD = cff9c87d5473dec34d0379a6002da229fa448d0a7c67b046f86728dca56c405988fe0f96ee818dfc9453f55a867258f5 +Tag = e5cf2f0e +FAIL + +Count = 4 +Key = 53495f02b98dd794e205d7bf1ed8d758 +IV = a47601fd732d5e2b5bd628ffcdd8051601d840c8cf3a6ac904d5fb7b972beab91c8f44fcf23aee9f555e4b38c1d601f8a4e180df9e90144cb1fb412e3e107283107fb1bb64ba917d22eea67a746a0b103baf2c273ba7feb83d9575364f05fc1e8c00045ca9128b84e1b45493539e911df48ced3c9ebd0cde39e352f4a2289dd5 +CT = 5de7a992e7f525022e21c0909d32cb86 +AAD = 586b5a3485b40de934fc8171d41e759c9c08a3a87648bab463835e77ba9ac7b7d3d34454ae167fddfd66adab671cbc04 +Tag = 03223465 +PT = 8f9952e8ed3732978592a9a470c0c5cd + +Count = 5 +Key = f131b13d718fe2018a43f9502a399577 +IV = 88d7974ea0fd1c9f24d2421c7ba11659f1663f52d5fb59972af7c86b0e4b6b4a70ec04c3fbe330640110e6e09294a73e38222d3e7bbeb8ae9abd9c32de6c171fb6f54076393b5517788bbd876f09a9193953c430be6051173236da45929fe08e785c5977937e36a076c03d55653059996d547d95612573cf648c32aec83485c3 +CT = 7c1cdb223009d3813e5901da860083a1 +AAD = 9c78c3ef3009af2fd2ea61cb971144443cd43163ebc0a039167afd9d08d008913cd74c7f40b1cb39a8e1472412ac2a51 +Tag = 312d6f8a +PT = f20522bef8c9917754e23da3b96f6e3f + +Count = 6 +Key = 6f4145bd3d5c03073446daa7dfd144ad +IV = 73d679e8ce65246fe08430ee52ea1efa1d17afa55ffa17c28d0218baa50c84200dbd337360f0c6c7c98057be9a3f49032fb3270cbd5e41e8a0798c34352999e34034909e1b362140b1b06754966efc8e8bf61ef519bf570ff91788566c5212c51c376067b20259e8219a0261c842a48f66ff6a92b6a08e7cc21cb39634b575ad +CT = cc6009e41573736d3199df690527694b +AAD = 379a326898048887c4c626d4d93d36617cb2b1e781b369f70035a8e31db160a8ab5b169165f3a25ce1f9d069f8f45f27 +Tag = e78b5003 +FAIL + +Count = 7 +Key = e931b1f22ac012a689662fb24afef558 +IV = 02c93601b8847148f6d2a76d43dc67663cc2afabde1cb2ac1577375afa4dc024be0e0686fce05f3fa6f6c2a6428e52555a8db67f3c6a7b34fccf0fca42046d86dfca2c7ef805378c9de6291b7ee63bbdaa46a71a4e2ee55f11e58bfc2b19b523950b13bcba31727d97df71fda2c1dc27d25bda54fb251cbb6cb65420d07595f9 +CT = 3e5a8a14c110f367618380e86fe207c4 +AAD = f33e90df62497af378cd83b7127c44c267c9c70861a8bb657c6137dde46bb2f9bedaf78dda42bb8b6ac0ecb2b279ddeb +Tag = b1181a26 +PT = 6ae79a19a9e5b7fcc8c01163ae0b8af8 + +Count = 8 +Key = a561755bf4018fbf631349499c3de6f8 +IV = 9bf1aa9c94427940e3d5840d93e334540cb1e349aecab053b285985914113a1b21b0c9e8d03233164335d43450473229ba4b9fa648e562b473a07530badb603cd87682e0b3c866f2bc9269e05664324d21800c195d9d1c541e119ba2a90f12d82ba8224de6acb16dd661e65e9e071cdc1bd80801277880c8d0bed46211c01c5e +CT = 0422249692c32ae1a49a942f2c3427db +AAD = 652bade3b4aebfca7356c16dd641ee70f8ed4ea811d85b11935b94ae944ca8ae3f8aa20d003f5f6319b2c32a333a0bb4 +Tag = 294b2453 +FAIL + +Count = 9 +Key = 70f30769b6e7dd733460626ff685ed52 +IV = 6534feb9ca42be2756f31d50cd93d26de4b3799836d7e05279997c8ab85ceb93ab1aab5f5672d81f2a0d981fc01cba0a6b24ce49fe3257810af027c764f519c6167261c6c52a96cc78c46060d153919f122596b5cdcfacb7da5900e4e2c5a695f2c35c183de53e231a3ba3b10c2f24f681a873c07430b236cbac24e29c570555 +CT = 643b7459ea37cc111a2a367da795a2f7 +AAD = 0444999fb4bcad7499d7ed46052bbd90332131e42f74eb1c304b9c147f9558504f17a5aab42445fcca3c0905fc43dc33 +Tag = 38d01638 +PT = 3073312390a5bad980247d47dfb69c8e + +Count = 10 +Key = c80cb97eb86655776c165f72d9297956 +IV = 0d7ee74005460d23818312ed09779bbd2e59b56cc952bcd74bc1af50b6f90f54410e59765c4640413b3603ad7711e8772d2a698bf631b6d7ad74f88812cd7b73fd746dadfcf550b7d5bcee6d5bfef73856bedd900d980e71d48cf5e7481e1d17d556bee876840c0d83a8eba74c018b149bac4131ddeb6b785b78e99049d8feb1 +CT = 09e47041ad338725fb6df77d08b28b05 +AAD = b2a37b087db3d3d1f9e487bf3a15d9776c7113f3ae74af54e64c10a2d538c6425927ba185dac1c8814261d98d8263b14 +Tag = 078a5861 +PT = 5be5d887fbe2ea08367d73c31d1aef00 + +Count = 11 +Key = c5ba91cfb3fee067bfb86790410a5367 +IV = 45360dbfba9e5a02fec8731c7572346810ea34b3a624c58c7beec10c8c5cc50b51bf76cf71189c7cc4be488934e9a1bdb9877de21d83ef332b1358d14d62a0c9454a9d374ccfe962d442522b51538e02769f519c0c47950c1d50ae82441bd57b9c05bc2d776e24b403387c1edf84f72c4d5aaa4f5d8cf6d041f73658678caecf +CT = 2d16005bced384a366fd34ed059b3546 +AAD = 38a5823fb6171dbbcf02683bdea496400146444880bbd71d6cadfb630e35124935d0a79cf2442397a45d0b588821b524 +Tag = d41c9361 +FAIL + +Count = 12 +Key = 02a8aeb0845f0adfa31439593a783fa4 +IV = b2c819394a7c70c8be5876bb9de51fb77ccb9c18c82ff7cd76da03a7fe7cccb8da9b619f7c86180eaa2868cd431a5c01c4e326a527583d8e0010d9708e38242a2515c23de3b117b77325463f5982faa73b0145a2db411a2652d9ba629bb2784487ec0e97413561aec108d237920574120945835f31ccc1fc0604ef6498f24d55 +CT = 852ddd8414a9ee4ae382a31ccaf76b71 +AAD = 9f2b5e685598f70d91c557481a53dd303d69b54f42d8960a0717c07cee0ba53c95a5184c34dd48719ce0b357894c663e +Tag = 79f059d6 +PT = b08e1deb63d170af8936edd4fb016701 + +Count = 13 +Key = 11765d95096dce5dae948f63de9b2a77 +IV = 707c5b1c8e668deb452e681204e369cd145f2e3d7030eb4d9ea3a9c7cb32f89107e987c9b4d81784a509a60a3fad9103fa446e3af12b8a33ff9dc4426cca7e2d6b4b25eadc2286c2e99d3c9d692c3c65b4372c8b31efba8a836f8acd5b36cc3603377551b66333cc875dcd79aa0f156a779a028f62a64acc00c6327af894bec4 +CT = 139593a6fb9caaefbf52f52c0aa868eb +AAD = 4f2240f5b100866e5ea2dee93271cc1be9037e136b2eec366568c5939719f4250de1a0bfd63ca2ff1ada06c78655bba4 +Tag = 6da34c76 +PT = bc344851a0cf88da2c490bd8f0d7e8d6 + +Count = 14 +Key = e1a278d6ca662afc35e6e4f6a3caf738 +IV = 300c2eb23f19cd29138bc10c4df435ea64e66701da98b51f394dbf042e7eb5c80f5dc0f375f0a0750c950b586a89a0f3a5d81348b0aede2fcd383623bbaac6663b61521766f817e8c8f4b3001b51a2cd105c6106685118fcb067e68419c42db28ac3e8d641d220a5a85eb447a9fdda00793b4b7628176ab8b824a612874ad6a2 +CT = c341533ed320f0e0f639e391d52fe2c2 +AAD = e7e3d890d43fe32cf599b2a15ae85a405c8dfc048cec6fea2d3da4449782e8e3eee3c4c20cee9365ad6ecd57489a1a46 +Tag = a703a548 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 91131f74ec2955bff43a9af9de7b307e +IV = a57dc07fc8fd56e90c07d0ca780f9841a30792ad381ebde4c2989377a575631441445cd895190f9928cb78a26434182daf29addf05f5ede7761e1ed63cb2aa4d13a5374958ec2fd0e28c607e4271e9bc6b0ab7b3a5ed4869ffe5ad8d06c3c953af82a308d0c692f16351efded6e628e3612f845f053802794f8ff83f60874726 +CT = 61830d655ed26a91e49abf25e8d49525 +AAD = 8c6dbead9d234e1b6efe249a12b3cadaa406923a96be9ccb9c4ce8dc70e86e9c076b99936574eb74a7e230e95e204977490aef1364304fe20a1980f9f04e8f9e1242f9f3c931b3af51f1b75ebdaf1e0c62f4f2d880a09e150307 +Tag = ba446106a102c39c74769934cc2079ad +FAIL + +Count = 1 +Key = 23eb299099491eef0beed18bbdae146c +IV = d23f406e8b16beccdc3b334ab51868af300d049dfd8bab45c27b5b75abc5c8ed3745f844f82f633d983e7955a85a86ef8ec10c1f550f8a3c353cf24c8e6f0aff678e5aaa00587457515686cf0fb8c68845a6bf121e65aeea755de3ac55d8f0346945968017fc48240ecbfde6503754577b4e440b454aaa00a54f3cfc4f9ee867 +CT = dc089c13b54a16d5f944b26d3b68b766 +AAD = 4e2847d917d2def9fb3a9ef2d064885dd04d8aaa2382736f9720757be8008e8b5eb723a34ab635a25ca81537e416e82fb001d4edb69a11343dd7c11109638a22843b5c5437e1c3c41d7268e9011c6a94f5377c7712fef10fb3c0 +Tag = 1aeebccc4da57bd83b4ebab91514a7c8 +PT = e75e5d72c6a30798029c833265ccba8d + +Count = 2 +Key = 4ed9dd92573f450003e410f96cd74af6 +IV = 7ebd92919cc81a59c1de7a9c69d7114013fda30c01460e44a449c116eb14d1d2c6cc76f900f8da13a070bc2e0ea29868e352748748cd6770c64882651426e7d6d3ffb2b9485db8b78265added3b44affb8576393656acc3fa2516cecc1cf693ebea3b053e02d8b2ae1c91a051dc9714b977e47ec4f0d586d21b7a199abf53793 +CT = 06964fa45aaa2da4b101c658db5a6f81 +AAD = 5e39946c5477aeb1f8a653ee387148c4f3dd4ee8dd2b26c9b300cd4a505b5549b2b8ee0862b0a7074d42a0b1e25aece5601f8e4b07ddb95da2434d15bf4c13ab782949d2b3129807f0a57ea23546f6f403941111b8d89d524e98 +Tag = b7df48abc661677a9d7edf02458edb92 +FAIL + +Count = 3 +Key = d92e5b622785c793ddbbf557713ccc83 +IV = f0fe6f923c2c8d6212bf442d7b593ed2437d49c8e718212638772c83e92ba697bbe5166d6ee494206032d4403cbe1e553315ecad316e6086fede59948cc342354270e38daebbfa68e34253d14f3e6e6ce06327d3a1200fac1fcbee02b0877025d540759badd86484ff0a4c82975c310538097f70581a9e3db3d165f94a424bb9 +CT = d812b359a64518fbe38280fe500d4615 +AAD = e378838a180d88a2134b60d556cb3b1cafcbb286b7609c60bb723b0d27b2d0f87226943cd995eed5ab330c933318db5a6d620e063ea4c5abe29cc8fe9194b7719a5f13c7e2bfd354f4d805c59f4f9ae556fa605207c77a3250e2 +Tag = e96f5a20621d1e62f929397c8b89e9b4 +PT = b3eb525e4a70b2fa475cd4e5837b2262 + +Count = 4 +Key = 9dbba17f8d832a9aef49dc4bb4e2adf1 +IV = 4352252a75c476b8fd0124c2e727189222d9c1573b8bf688cfa9b06d5e1e6ec595f0a8316b195493a049043f89416a94f58effcdd29605cb20289cf694ec03246b701e4e7c6adbf190b21200060aea85d58dd946558ac61d77e0bdeff064fed3763761024b6ae16dcb30c0460ffcffcd0e300a28eb828b965ca5d87c5c359c92 +CT = c2fc74d7a7cb279403bdaae2bfab5da3 +AAD = 5f12a4e975646c04ee1be9a497efef89c586819b78b8533bfc6fd3d3488d015d82883ef997efb648ea679d1ca2a047d6f230fd4813ff3e2b54d41dccaef6427eb2594b4a27610eb4a9f84f3e916ead0e60dbd29e62482e493143 +Tag = 3352885cc2274337e87e1fbe9d2bc9d8 +FAIL + +Count = 5 +Key = 087408db45e773e7888b8f0094ce42d0 +IV = 527275e07cb8b9732eabaa40653f2e95cc55125854645995a8862a4a2bcf08ea7403cc7fbcc0d9b8c9d02c3804152f44723e91365ec6ab1bc5fcca91878b70f77b69abce35822599abac3f2d54416a5e64c9f0d242bf5647f064807426ef68ced86cff384e41141a48e362896a10899ac8ad93d6df8dc794de1fed3ca51840ae +CT = 705898f01e1f3eb25a0086bbfbb5f859 +AAD = d458fcf0f2789c1c8ba7b2129d7ab937841aa97f371c9a8cd49b20a8e8f42c725ed84102e925b9d2b5a76a75e25566009f1a21e6bf08ced4dc20655cc70d5631bbc006f74a296af0f96cf300621bcaa5b8882046ffe3baa9b6e2 +Tag = 7c6add255b432157c5f0a4a176660ff7 +FAIL + +Count = 6 +Key = 57be451f83474a2dd56f14c6afe03391 +IV = 2962ff49eff4db2329f650646d0d775829bb4cf67790bc52809e50e9ec7ebe55fd4a5afe40069e04209e75a5c48c985cb3f6262c512ac0e96b5822865fe5671fe7b35a44392c38a1e8d6c23f0fb82eb8ca4bae5b433c79576c713e53c71783e3d6104d8e6f6edba481dee0b3bebec4672d5e5a0de620fb27a78a6da3c44cf8ba +CT = eb9c280a92a1d7f68ccdf2df9d5efad1 +AAD = d7c354cfcef973b065a8eaa4371e4b2d76934624892587f6afb8773353e55cdde34d68742d602d482980f48becdb8b34c60c039b51c577965eb37e78ceef4acb96c2cad99751142c9fdf9af5eb1927e2edcf9638b2cc2ff2a810 +Tag = 14d70c4e84be95e776743e4b01d9c771 +PT = 561fb16e767232e0b46f211f9eab5e92 + +Count = 7 +Key = 4b2d00047b9c301d908ad0669ad2db9c +IV = 7bf647d393fb30b3464b91245ff5a7f7d4dd74ae4a85e1a51125fb5931013e684d23a88371f77a8024a2a8515d91291c14763a8b06c89a4ec4a1b3df05ca655590f37249920bbcf81a75cc9a194679520be675164df7ad7a0a3aee837bb17a4e864161e0301c8a6353ca9e368f39f1401425e885b1a350a55a451b66efa6a554 +CT = 4ba48318a28e840db18ee1823c0eabd6 +AAD = 575417c56b5d95eb33f492adcbe902438c7fd584b104b2753d79ba64f5de8f63705710d2d5e755dac2587d9dee32fea58dc2ad92da9f3b082397ae9bb4ec4199202129bea2ca2f246977e4ad395e0310400a78b10cc81b0aab26 +Tag = dc8f9b7949ec3eee8ae1ef9244e2c439 +PT = 6e44fde3b64d3b9dc9883915c999ae68 + +Count = 8 +Key = 17fe6e0ed985b6b553ee13a1733e5683 +IV = 64051dd62a6554196db45b982cfe0a73f4a09d96dcc429718fa9f851f8da3dd2ad49ab0648a61f389c469a21166c9ebd4b170ddd72045610c1ed0f15165335ddf5325812592da63aa3c1bcc969136a2ea317704c36e0be69cabf5d6b3805551fbcbd11eccdf7c10c8101e5842e5d661d5fa393b5268297493fbfa54610294d28 +CT = b365f3b7bfc51c55d33dda9581f9e516 +AAD = 1c08f86c4d79ec1d885c9d96482e3c958ad1bf229496dc6eec8ec827572b5b5f23c4280f1148ffa68df2f344088a2d1df36919b5a0b7da7d2b80b30d52735a303a91f746d609400f944ebd161d7346786fdb24bb1913fa27a90a +Tag = 94be16d995fe48303fe6ce4865c70f16 +PT = c89a9d95d69f40c49cd937b1941c4de7 + +Count = 9 +Key = badf13b65ef19868ae1830424ac04f94 +IV = 602133e274c80518d3488d366a74e20284d80f332831018b1004f8e8cbdecc32cc478566119936a54e1ad971eb9023e07c5fe60fad68aa69dc3750ec91b93f1632a05e38492ff54722a5d84f4be71bbf723b3ca0feb43b4ffe0c95be0b5e914567a033872f3e157ab05c4f9df49a64fdebe10d48579c7a3c62321d1ddd91fd4f +CT = 10700d5a2075321a7ea1e57205def8a0 +AAD = 1d28aaefc0b70134a4ea55c2d79f014f42c1e024caa82f00a73502c2044b0ccf381246f9d8de8f644fc23b26f836fd6b8ba70573200892a3a3dbadfda6a49767576fe8b732750bc43ff7b37adaa1e4feedd7e6f20dc52369ea7d +Tag = c045f2ea41034484d30fdb179881153d +FAIL + +Count = 10 +Key = 787295c91822d9cf8f01ec4e9ae35416 +IV = f36810ec62791d5111a78944ccb978bfa2d42108606a208dfc1bd09b1be235434415b1e0acf475d5128472f9ca261158990a9700c16304f3347d24c7e9b80575166e8e8f64e9374511d7938e58750720452ae0f56daf8506d26a6fa930999b2d1d50619065acc0fc68e21b3b8c24a3871682bd7056360a74f4ba735ba0f16818 +CT = 96f5019f7d067d0c48dc672c611e23d0 +AAD = 30e1adb054abfa80596db8d3132b198adc0091830881e0792a3a60a482b20e1b68dfb4868813a632cfc88bbb47f727ed32b8d0ed232c0c553cd9247ff9c9514394c87e70b305783bf9bf4980d2eca0b4ff7e45843ca9b0dc4d14 +Tag = c9b3701bea43c08d46aa9045ccb54916 +FAIL + +Count = 11 +Key = eda2c64ffd06f32f9f96e400268d946d +IV = 8c892fbe1af3694c6071f2fd2a413e226bd24e9539fd3cd9c67959b5bfdefea32f1999d70adc583fac0259d25c096d069e8ab3f6c7e0ba47b70dde9b64e50f70a6f12b31e827437b33bfe3486e125c0e80522792adddcb9f5673a7518b729356bf77c5591745b3a99d9d8dac50b6ce38a9ec7af1b874418a5095eddb9c84255c +CT = 8c73062c8ec304dbd5d17fbd7d5d8661 +AAD = 6d1fa4161eff45420b11c8ac1075139c5343e87903e2bf9b4b6666f2907f0f88a83d6d491ff382ee18aaf61cd21fe6df4bb78e044543068760a24d1c7000efb7091836f2d5e787eda53006a92bbf08557b53169baa755f17c8d3 +Tag = 7d95f02a05024aac87e695cfea3d2bbd +PT = 896a4cb1f15ee54074a41e389b913eda + +Count = 12 +Key = d1f1a1f8f58c3b5e2abc60002a39a0be +IV = 7ba5fc667af4e2366f2a9784ffae28f277c2d91421867816a56a247792106f70c76888bbd5df95c23333f828376ba72f1fa91b9c1ad1763c14a8c132eff6913767ebf2ef44321c2384aed9c38ae64121cdf9cb25e5759728fbc0ad628f5b6213e585f3d097bff2b43e64cb89f0301258fa8250f7705dc6e4c5b903b455ca5425 +CT = 0683ebd202a1ac03ad2620471a27cb76 +AAD = 800b4523dcc5eff389b75b96528bb7f2623b3343eb7db2a3158fdd75371fc3cebd845a2ccd5630ce961ba0cce440f1aa9baaeee8b75cc896394be15c09160a232885ef816f9e6d149a5a7f7cf3bb902acef58c94dc3a18f07301 +Tag = 516bd59564159a578d0844af9596263a +FAIL + +Count = 13 +Key = ee4039acc333054446cc6bc99aea8e3f +IV = 6f49b915cb90a27f573331893300379aec75de8d9345a5dab836d5757c7777b7913267632d7e7e37f7841777abaa29724d358fbbf1576b2e1c0805dba5e8b18eea8a84746c72c9e8d5d9da99c3c8f57fa5f9933098807ae66ca06488604a05579b239d5c65c02963931960d87e9c4aa9b115975b97928e4315f1e368a320b11e +CT = 4639af0f3a5f8240580da48507427ea1 +AAD = 48dece800d811a142e0f17a2e218186d99a7e077c2022df78cf8b6132217d7c67c1a73c2956e7ec5df29eade6379a2faa7c86e28c0d931530ad8bae7986a8d54eb8884e1a22573b43ab8288d41a6f46404bebfcc699220da62d8 +Tag = 0f7b4c7db18cb91dc9a65af2b29e257a +FAIL + +Count = 14 +Key = dd5d118fbdbebb105aea471c588a55e6 +IV = 80c586844eb586c9bf84b7bbb8a5dabfaafe2a4769cd93985665d1a7165b751c15db8ecf7f936805bfee6562cea92ff8b826baf3e71f3783d0af056ba709e1f8765df23ec8de6cf88c055be8a84722f78e9914f2f95e840c01f9146df979c76600b5612992aefe5de2741d0e68152c93081824e63e9279c0754464f4db48c72b +CT = d4f9c2a6798668ba445c89d41395f3e3 +AAD = 57f5d2f7c66fbd71ee1b46b38d7d7a3520b3d3736f6142f6bbd530c71208ed85cdee5cdbafc87cb496f9d21d75d9064f4cea4222a12aefe31d44767005d2ef6c4152fd8683793cf2ffe3e5d6b5688126fff013a377ba0b40e291 +Tag = 8a87d595a18208e3337c7689098357d5 +PT = 3e99822ef9e6eb185c1fdffb9fa9e1bd + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 2ff8398d685bc8bd4b6bf991ce6717e3 +IV = 27b2f5effe7ae7a63bded490c54e9ac32a1596e43753940ca1b34f684466c6ab48e6b972b03227f788af9dd2ddef363fec3dd293bc3248bdc721f81d65f609daf28a4d4db9648b943cc1e976969f715de2b0cd84aba3c52b03774570286919bf542086c38ddf92f8f3188d8786d5e51acad073ef1bea6dc9ca70cc79304b26c9 +CT = 38feccd9a5183620acc53888687f6c14 +AAD = 95d30de3eeb93a4c1120b4eabb8c056cc78d92f61986698973db13aeff276aa301fc6464187a5e1851650eedfed4863000574e33e28a69fd1f831005c58bbdc5a1bba396e890948eca95704950ca5332537fd5faf2588d1d2188 +Tag = 2cde682d934074f30ec449f755cf0e +PT = ba1f74a261d0ac25e3e91334d2ca94fa + +Count = 1 +Key = a8142a86dc9cfbdce41f2f22811612c9 +IV = 90db9b48973b60f76e3a96ade3e195c653d55808f9a8d5e861012ddeb3d732f6b50e1c0fc5574e7db66b63ab7b97dd033cae528cdfc9ce35cdf704ab8815dcf7d7230dc5f60db7004a7bde4d87d7fb025200040b9cb257ebc2d7de4e56cf20b698521a249c4293365d6e5f12a954d62406d179c34d8d5e3f8063d048832309ec +CT = f26cb399f6d31f00394bff9d0deb1270 +AAD = 53fef1d910fdb0db7e610dc23dc5e1ac2b81ac1439acbc3c25695f16d22b1dcb95327ce33dcecf2008c368665e5e9d60c00f40c084238e53b7e23b280674e4b7c1d52fbd89075776863e3df335670e9f7b261fd2ae537d3b2b6f +Tag = 023a2356911c374d9c2524d09d1ba2 +FAIL + +Count = 2 +Key = 09fa619518b446d1a4ebe9757984b815 +IV = aaae24c52efd12e9b0886d3e9e6d994628291b997b5217527c7f257b848d03c306f574807fa8ac03a4a6aab9592fc9d93181cee0c6936199f35e462701b46f4832caabecf72599a18d23bac3c30ee9e677d7668af8005d785ba1071e23fa858661500c0078a6a69944552a178da8d8f6fb8eb53b3170fcc141934ecf7b760513 +CT = 03d92f4762d47b0c689cee70a3bb2dbb +AAD = a64322274f5973b362d54fd6f55aab94670c444081ad7c5de5b0a5111b31b87df1147418a6b514bd24523b436c12c4db9c7bae05c3e9dda88993d136416ed4b665e05fbc03adf3319ee80e0170c55afb8c9bdc885da45424531f +Tag = 0d775a0cb50e41262feb70e9f15f07 +PT = 4e1b6350f341e5fffbe9ec8fc022533b + +Count = 3 +Key = d27a6d1d05689e19d3cf3dddfdc2bba3 +IV = 106ede07ba12bc3c81386c27478d77fbfef4e0b154225d43c135695b39d2e81e0fa42b1e55e59e93ad569ad0e819aebf9135f1da7136dd26b4ecf884018e9649f28e49a260736ab0e570f80455941398fdd113ef7a4fafc67e3e69338f27a1c4057fed82441eceddb0641b60969c04ce572317f892f4287b1461a3d75256f06f +CT = a301b32fc9b09b3e2bd35d24400844d8 +AAD = b67115bff5fdef191d6b260f9752efe949fdf2822a8c26d616ea9eed06f7686f7c069079e13ad813baba97ffce7e99d704727baf369dedcf43b6be3bd9a6cad7e5a5b27f5945d0969dca1cf279bad9f32da60846bba65cb048d6 +Tag = 06b5fd0a9b5b5c7e0b096523057cf0 +PT = fee799f96700c6dc0ecfb02a060e720e + +Count = 4 +Key = b841250e56aa105b0138fe610c55b170 +IV = 63ff9a8b142d3281b77b357d20e4c9bdff14103f5270fb5ddbfaa6159e9a6dd67a01ef8f1ed1684bc0679daf4d8345f85495b78a4e34bb9c0db1b4ef2a6179c0c4efb0cd0785129fa141892ff21f7e879079ba5bbd62577fb423f49f6e8c3ba967ed3282a43c14c29fc30762fb235ec2339a5f3311ff300c583203ea3963598a +CT = 1b93bcdcbefe450277bea912aa6dd284 +AAD = c770fb6d3c6774d77a6ddb6d2e168b568e9148f8a738379af390351e7e9a1e56d59571b25ed34ecd49573be0fd6be73157c19c1983bd4dcdb685fe6fed2139368250ccf2b85ce6c3216c3fc0f900a98f6615739ba135fb6aea89 +Tag = f0eb8ab6622b8e0102c07dcdec2a6f +PT = c8a7cda2a5916ed3a0d8d449edc832cc + +Count = 5 +Key = cde67f803c50a2baf897c6a0cf0be9fa +IV = e1dff01401b336c0b8e737a10da6b42caca671cd60fbd64087874d667c1678efe23d73a681bb180e2b37ce7b4ea29ff0f7339461e25fd3ce98a456b21a6c21aed9a42a50e4128a5177e61fa66728f5b892870d54d4b25310951b51943527efc9ed0f25240882f075b7f6c9670825a41b44856b255bb44f3e5b710862b5a6f48d +CT = 12a894c8d523c675a085914546c95a33 +AAD = 099c7eb253b65b676099cefadf53b7c48cc9da74ec87958f5c845978ab070271a9abd5d64a6161dfb21d7b858c6c88a61cb1f9cf2e7108ea5d605100de854996ea7045235a29a2dfa2ff092e6238db5203a11ce8934a4d26df27 +Tag = 58579cdff0baa20628658ea1e5fa1b +PT = bb1a7fc10d55e168851685f7ee167569 + +Count = 6 +Key = 9156a164985fcab39232b442efac3f5b +IV = 3a9008097e34d8dfb4923561583d98a9a54f892f9368ee6ff0e4e0f655087f3b42e60ceb8cb2d647b85fc61334b348f6852d09cc794d75011e26dde3433ed03626de8f022571d0c5c0475072f6be145a819fbf7b912b403cadf16db9b331536413ba05289c717b27d9e3e1f0a3a938df9328b81ae4bf1c4a8b4492cd90478dbe +CT = 4642abd946033a1ac402bdb54f7bbe6a +AAD = d9edb1487c84244569ea6c14a10bd9246490c8562a3f793dca636f6367b284508712f5c03060ac37c87c510bbbddf382b5cd2e69e8ce3c5e2509a0ae5e657dd9e9d3b0a201ca7c92e774f11f35fac9d7cab2943674b496e5eaf1 +Tag = c70966a9b75bcab19802bcc1c54132 +PT = bd12b23d313f9285363a98b34d384c27 + +Count = 7 +Key = 7459edce18217f6c1d64232051dc297a +IV = 226a0d293bc7b30bbef9dba27e7e41508f0e515735571d9f0ee66d7892b8ff581d186c84efa82352bdb7537d01f41aa15aea8b98d661e412574cb49cc882feea34ada1b87ffaefea3557b2b95c76d722989960436f487c7db6a9179f6504adeaf36ec917d8b532bb6b14754979bafed19797956bfcbec80d76dc7d3214afddcc +CT = d7e42aba5c0e4471e26991c269a7b636 +AAD = 07f65bd236b632b84042efba0e9b130ffd9401179dd8f8c77af928cc0d400760c34f407096a77f8fa5e6636e1aaabaa87f68e1ded9c36a79d2b24b83911e5a74ab944514e3b56f7871e1e1a400e4b1d4b5e98c979c22f8260739 +Tag = b9a41fc356a3cd4c02673e0271f3ba +PT = 8a393d679130d94c88c3c451e8deefa7 + +Count = 8 +Key = 6cb4b8d5ecf1e0d8ec5e3b208f31c4ba +IV = 837193fdc2faf7768fe4bde328e3f1d2f71a5f60238c6821483772db473c6b3267cb6b23d48f08c673babffd4c04b67234327c36bc62c7951671eff062278286c8eb6f4bf24e1fcd8065f55451dc83a84d73cbe4f8535d69c759cf413e3ce85cd16a555232404f30b3e7b479a476c8e2e7bee903aeb4bca72c8d68563741363b +CT = 2639ffb810ea8c3768944cf16759299e +AAD = e1b0e978608b78077982d734d12c6b36ea2a40ee310a5b5f62ce54e48c971385107b77001e050c7fb0449f7031b796c891d9c1ae49cc69480d1ead5353a37110f439579e9fd1519828aa820b158852a2d6ae927a6ff2fb9a6f86 +Tag = 51a105d3eb85504ce981112051241c +FAIL + +Count = 9 +Key = b7d7dbccb2f25e3dc27cb9820a2ca86a +IV = 265d9a183c57dd39e9ea5e2dee3a55a975152919f16487e3e8bec94928fd0d1a8dea7b6cf57f630ce485a534229c638b693294adfbd5df7140fd5a9648f2654fd398838fbe5b947896173542f7ed59c47a5e511097f9f83a7b1b0617a88f9c07a63591ff848b92dd0597a382aceb6cb1f442488d58ec18c031e2ce145389a741 +CT = 124e0f2fe762c0d6dac313db290f518d +AAD = 18d6aed480380c2f2e52be56a4982abcb53d997544f12f26e930401d3f2860aa4ced412af06fa16b9be1f2936a6b243682dc7cfd53d4bbb934e19acd8ffab8bae54c3ed2c45d774f5c02584791e5f85d07dfff29684fe04dff5b +Tag = 5576cfa7c91a671ccb95bc680752b1 +FAIL + +Count = 10 +Key = 0d7040e5699adc9bb2e57900b771a725 +IV = e3a02bbd5d84e88fd875a1b69aba374d33482cf6321c9579590acfa48627301e3aa5bd691519b242bad5d87c522a193c9399011104f4f9d7d698a593c4a6b5362aa18a5df384f4a05f8f6c6edbaddfd5b3ac0e18a11fa230b1ff55085f81519ba629c144efc16d270a064f17379209d8b7f5051347ddf26d77d716ef95c75ae8 +CT = 8da27cb5259dcc817d22b7c40cd78306 +AAD = d18bf839682a8538ae071fa63e77e704969a65d12f9ccf818b9bcd44f5cd2bd42add9a295b3976de5f80cc230392d6571e7fb2944ac1649c6ad7460a03cea503618c8ba5a03b25e83e54b81be6cdc84488a85ee1f51d0713038d +Tag = 01642d6a799b46a560b9910f1fbf84 +PT = c6bb99282fefa8e45a8e36fdc7d81d61 + +Count = 11 +Key = 9145bd11a5ed08f4a332c16d4d7dc8d0 +IV = 0ef6127a635b03b26b3dae524ab7535950589481d0560f9b671ad75c0f1dfe09d0b5a582f46bd18cdae9a4397ecacf238a86a2d14375dfc2c999d4697ef0436fd07032eb63b33661788e9cfbde77f7c0e6a15d54448cde87bf725364f2c124395348f90334f2e9d57297d733c40a7a00ddbab61facc633dccde907e9ea65d98c +CT = 97bf80db3e8bf1aab5e72e3f2aeacd4f +AAD = 629fe99926578b981357139876f1f6d05d4e9553c9516307fc7c5b501f88a434caa60e4fa8cc9eabc175d47ba24294e8b12bd832f047c42b29e9bf3a8da2343b339d14d96467d2553d6cc3168c69fad37ebea77749aa6657a064 +Tag = c011e017c468d4a2ce9b4f114b457a +PT = 42f1e0ac15f30f2cff1b1811a6c75682 + +Count = 12 +Key = 1d930e24aa6f764bfffe7cd59714ac7e +IV = 60717361f1327839d0396d66c32d4a2ca2028961c5156fb20073c9eef2d8e6c081bce5ffcea2a924d3c34a8f4891d0cde6da2a1d51fc77f684112e1f455dcc5fdbc18f2b15f139f2cdd1cc01f8bc7afa780f415c4d59658f342c6e667e73f6e1616818259a140b9177fdbb25157b0196afa8af244797a94eeb8fa4adb8a2f5ce +CT = 93c7cd5658a4f13027b30e92f575f696 +AAD = 7702e22d2f401cc53cbcf3d11ad1f4f94b4a6de9de9521b0fe0dbd3446e5e1d89d17e6e998574168f60de7d577f9cbe90420c250fe653cd3e00f2a8765592bffbe5e664b06ba849b229146bdf76600d24961ebc1444459a38c5d +Tag = 4f9a7ee428e8bb913923d513c4a7fa +FAIL + +Count = 13 +Key = 767b9f1714b2b1d402236bb0fd62fb9a +IV = 90561da1d91d43901bc60e25fcb8372dcda51bdcddc5491db30760cc0c62f2b12bd7cdd6c4949fd3c6f318ec6cc501ebe785515dfd302d2a8c4cdd5fa6c5021986e575ccf5b72c400a1b8341a10455845f5ba9e5252f8b96ed395b64e96407e1ed2c7ebf6365ebbc4542018aa365c93f8a1dd80aa5b95b59ad63317d7e5d4d7d +CT = b5ea3414b5ada4cd7855ad1d0eb8a487 +AAD = 7266f1d3d4639c2442f24b89761da337f802511c5930a67c11bc8e625eefbdf1e3e29b5727e72a71e800bc7879273eb0c6abeab89455abd345a24376e9c0536a90bab8b6e01871a98d82557cb338631baa04b7a8a6aaaf03eab2 +Tag = ff3f0455bc1b6e9b1f27c11540e2b5 +PT = 83cd300666f0408d471aecf496414171 + +Count = 14 +Key = eacc762042891eb104be6483386b6e6a +IV = b91927400da8d96ad249cbb97dbfd308a37e83e1d9ee606d816cccf10566ab0c48853e8df5696b66be103b9d0b58759c268fd2969d78f7326097957450d7ba34e3a0422db40b2ad6b2e9b3d26a254c4dbf099e95f8658fc4897ddded89cb0074e64ad984c2b5dd7dbb814faca8f5608f867ca25d678164547834a9a02ca825c1 +CT = ec26c294f48ab10fa49e6aaceea84962 +AAD = f60cf54ad06ec74aa306f54b79ccaa9c5ec578cba39894232e6f021e0ba2637a30cc490b941cb8693b094c57f3a62113e8b13c6e0f06cc674a5a7c93a96e097de53386c003c46fab2be3e957dcc295dab0b548cfbfd25bf8eab2 +Tag = 4328dd11fdd9fbd4541d3dda26a25c +PT = 2a9a2c0854d3f90193d1fbb57bde7cf3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 92bb097ca9319779920cc931530e0774 +IV = f7bec022118c397772e2c878e05bc748468488cf469c81f52627ed7952574d43326009d0a7e32a5e4405bd9d7f6eb56fd73394d1a6986f60d37186f2ca18aacfa0a2532a2593b45f3af67ce7344e7720f9c884d2b55e3454f2a62f1c0ef85f16acbe5dba753825f4b35effd92913039dc315f8c3295483ba2fe4606cfd3fabd8 +CT = f5d66e828eb95ccc8f4cc30e7f3c5a63 +AAD = e334d56405b831d049732feffa5b78acf2b31257089d3e1e1268169402c0a6b4572dc38615a0be40d212e81c48d44b4d1fb4b7ef3add74402bda41634237d90237ef7c7253192bc9d0cbc08460165cd9346c9ac898fa5851800f +Tag = 899b996b63e910a5911326341584 +FAIL + +Count = 1 +Key = e688d8b022af7bdfe4806dfac52aac9a +IV = 1a96258e6792ed4fd73e92fa47ab103a528af0f70ed39e27394b181bfda66701ac8bec8bb5a15fb48bff6e3aeb887fabeb221b2fa6dc5928bd0df95367e3ec6ab5bb7962e8d264cb5d7d25133fd04d4717f72702b4f69357da661ced667e4254d011b51808c382e29d9e8c78e58751529e4710ad20c90b87dc35c9f66caaee0d +CT = 41ffd5111a5a260c78332259e6da65b6 +AAD = f1d4d0158706b5f29e79aaee5f994cbf216ff33b203c0031eb6f473a2876c2ced17c02caffd1283f29c6fd80ea3e25a5040f6ed94844dcba8c09b185df1ab9c8092cc94d9aa7697b195ea0a28780eb7b6a0b232f585ede2d5de8 +Tag = 3cfb9341138ddf6f5fb037756400 +FAIL + +Count = 2 +Key = d7259321af29cf68c4fdc845bd44201f +IV = 66f54ac8408fa419bcf7744e735053814216b5bc0c971ba591b26de0a5d2556953065315703c30a09b83bb48c97cf855209dd26fd99083a3bf240f42ba32931068db55342dbc13f6147f1e3c9b3f6b93c385db48e2a72b27dd10ea3ce1d0a84baacb1af54470daf86eb3d1d6b1236ef5b48fe06248cf876ea4b5326616e7e5de +CT = 94f36685798bdc29c8fdac761ef852bd +AAD = df0c0725d4467e76324b2cfb805ada7f509470e7fd3bb600f323001b2f13c044de609bd55ebd3e4d47a6af7c77915670fe2124341be02f9bec50eefef78a687fe29719acf502399fc49b50eeda1feb52542fdb73d393a1249b86 +Tag = 23e31aad60102188b6493c1131c5 +FAIL + +Count = 3 +Key = ca9143a3fc6e5a9b302cbbf369d21a1f +IV = d34f355cafd968a5a1a96422cc5db87a85144cf7d4ea5af940051906a6468ab47df7133c6d223ac462a16347af047db775500a1620dba4ce9887a55d3d3a83bdef6a45c21455291c66e17bde24bc215b5a9a0f1261b6696058276b063370c68ed44e07b1843e2c6110eeb2b3a18df003a37f043d34051c0fb9b5719f127bbcd8 +CT = 460a020b46fb8968a87d078025fb250f +AAD = b16851b7815d29cc9cefc4384944a76663c206a17b0476a019d409d9a300755d48b4673e16ab9330155c3d573958ab3beb308f754211226b20370bc9ea480b4360bf03be3b9c223d00f1914fdd4cef5ef897a9646b0067c77788 +Tag = 0eefa3e3965d37f28ae27dd74094 +PT = a0570feb3e7124c44c0404203242e9f5 + +Count = 4 +Key = ca41ee7f2ea6b6e65e0eac0eabbb1d7f +IV = ed23f14e9d27cf5556a55fe3770e4d99f305f6244bd37cab4e50da7cdad793d4ba9cbc2b191956ff968b5509e552c8cc107954b75390b53677dc49d11a26a9e693b33df1994de4747c88e2a3fa9faf1745aee20a93b64e6f171c11a087e7db06b293123fda6bba075b799afef157556c7f6eb38fe9b21dce032576c9e283f240 +CT = 0338bbd67f0eecf43005088b4e24b0db +AAD = 1cc8a2d74f1d35a7a11d4b271a34258eecc0f8f7675c59e16407eb103423f63ad8ca8816b3eaa1c3814ec9402902969320a0d7718addf389e5e44ade4c6eaaa6e2382acb691ebb8c67f32558df08af197fadfeb03546d8a3ce2f +Tag = 7e9a068843d978d3c144cb23a706 +PT = 2f854f7c6fa27edaa64551085476b76f + +Count = 5 +Key = 838d95dcd0e70a1ba353ef28be3880e9 +IV = 81e6c7624c72bd54b1919ed395e3f6143dc6da7fce9acaf41c41732918ca2b9aa625e95ea295b58340b31f7fe8dde638b04518effb6926e4771ee6734e72c1f834513dd5fbcfa89ac91e6a6e058d9edc1381dae176623170f31a78ba9d084a0d020dbc250ca47c37ab669915aad2cc8dd202305c116772f011e45f85524b3014 +CT = bc91c6056557491d944ce2ac7d3b9d40 +AAD = fd0a1f0fd4d2303c3933905af670b08394d0f3a0673f7fb07858848711828d701d6ee568ff561deb186fb27f953c9e1bb5a8ab69101fda529fcf27398e0378a216846718caebc88798dfc707c52ff3d4147d93193b8dbfa4057a +Tag = 0bc56067508e5edf82b3c1a2b5d7 +PT = aca19857547253725d7f0c94152fc03e + +Count = 6 +Key = 765e596d59dfb16dc41be53c621467ad +IV = 9ab11407c6093098a5f60038afb9766a615dea086a1fb80e4dc130de44db42dc582ca61d26ff2b07342f9f96b7912dee8fb116ccda832303a459527d9356b9748e955d1e7a31f8110d5361dd89bb063ecdbf891237bc7a64ec1dcb7f9d939abdec9c09c087ba44a8fbc30175eaabe5f74dbf724567ed0dbc4a41e8826e74ee35 +CT = c90ed70194779f8dc262bc63cc29afeb +AAD = 7e660c05da14f1c54e10e73714c7b3eb75771dd723f132d5dac5c2a621e6bcdb1ccc0ab567e67f28e65a846255f803610f77daf78e2dc936cfa431826d6050da3fb06101a603cb3cc04f9a162db8309148d566e15d35ddd7a723 +Tag = 87b18f37b5b3dadde87040587860 +PT = a2bdc6645670d87a584a03b748800f0a + +Count = 7 +Key = d26c782e3a715fa2795e13a854ea5d8f +IV = db6e2db67cc05094e6152fb127f77044be52c68138a6c001fdc1a8bf312271dd9290c0412b1b7056bcbbb2d4d6ca758bcfe4db3ab5de8c501d135a3fd565fcbf3b44a31bc06a6baa798e5905a8d6e454f64a9bc001a0a7184307cdf3182fe0832e5de6165ff0522a324842b84df7d260cc6156db8b41cf1cbd907ea89d4c3342 +CT = b61d09b46d93c2488da629fe20181fcb +AAD = ea1ef2b0705bd9a5606d5e3e03cbe6523e8c281ac71df28166b4578bc0ebf19900c35d6661b02dc0cfd216566b789436af5be53ed253a75d457c08335b2deb2d78b8c7ba5a4a9a05dace355543cf137c3880760c2408c782640c +Tag = acab3367f3ceaca34106679b9952 +FAIL + +Count = 8 +Key = 80cf08577928a388cddbe800bbb981a5 +IV = 32ed7392a783bd4ebc29902f37e5b0796e6219965a05401f66b2165b37bc3626952cf639cdf793faafc455a2966288ba1660188a90ac3d25b40cf934246b6e3bc1afec5ee41e4726c0f00da2cd97f28092e87463fa52e3a582510f47a5d85750703f966f9bc8308fa85ec7b35dd5051036325ba69a66c1b544876df7cc5e5d21 +CT = be4c1f933d8148c094a299e4eb84e3a5 +AAD = 3e142bcd611843b349a91856a79efbf02e85a95dd9b5c870ee39c9df20ee88522730a6a6186820ed575af3e64fd3fdd4873d753a76444961925b270f841c20817107b4b7083f3e8aa45aecd1accafa841a3fa2b4a54a879dd232 +Tag = a4dd4a0051d3f7e1ec3df8d74817 +FAIL + +Count = 9 +Key = 45aa59f68d70a2e4335bc20644e37434 +IV = 9c3300504d958ba957f679faa4c60c5ae0dc5c07c6c039f1e1fd9d53ec8aeac6db7865e826c7047d6a9031a2b1bf4f4ac2730b28e4115052593510f199d73b464ac4a66d2a0c0ca74ead1426b853b0dd1f7c13bce4491a63afefb64ee227c7fdbf7f629191216baea34bbbe05003ddad8d766c273a53e31920628bd5500459b7 +CT = bb0794b345bf0bf50c545375f28a4fea +AAD = 53b4fe144c45c329f3ef86ba70db5f104c4bcdb1f00d9943e057ec32b1e5a19d616c4fc2052ff0f8de073bffa546d4a09f0fe4073883622ee8d53ceda0fec4166f72e93864c53dc06f54b65045b087b839d844eb91f4b8a0b781 +Tag = 39177133df3e1a9ec75dafd65498 +FAIL + +Count = 10 +Key = faa38c4dd6f1332cbfee0fc4045e5e9a +IV = ae02b83b5258994bdfbc5186de558afae1d40449a94b4806aeef744c3ee6845a7ee9aab2169964c6b5e5154dae9ba8e59753626256c9671980c953fcdd88425f5856c5c7a49a789676fcb0779b2e4c0ad9ebeb8d012efb82ee77706d69bed824af3e896f63a08427867b60af019685acfb51d0ab8eb222c861ea483451039a83 +CT = 16844f8ab61149d232180fe1377d2c30 +AAD = 2c9fcc93a2c33a0dfcd6d72c7ef1f1d1b44d729f805baf395dabdd4862322766399cf980be5b97ab06113947010b32efe83a6a1b0cde5030bba9deaa9a1936db0bbb3137cdc344a1a3d642e461547eec5d81ae9158c94aa41d83 +Tag = 7380afd31c0f4a272a282318275b +PT = eb9952ac167413f8785344dbbd484556 + +Count = 11 +Key = fbf7c64a4ce7c9dfb26539e5161f5def +IV = bbf89512c062e8f728b058a8414ae90d4fca3d6f26d34f5e061e51f1553495bab8dd832bf2b73c328dda0390cc608d7d58551435f9b867ea91f79194cead3f4165acbd73cf28b9eb7207a62ec0e1006bd25f0781a0249c9b0dc11fb3f84cd5e7ef20cf435c91683ab4d91d082c5808e84410765b8ae6ea20ee0a14d1c17f9352 +CT = 77ceadc1f329c935643dc993bdade665 +AAD = e936e15b38f1d838a6c74218118d58ecae1cb8f780756bd8e12b85f2f459eb242f58cf5796b34cc232f5e97a5308793d5d1b0b0fa3386bf2be82dc625717cd632f1bf16a525b45571a1f91313a51e6bd7db71ac7fa11886353df +Tag = b955f6b7505440a4f00db7f19368 +PT = ee2ec25b2b1558a9d6fbed3d3e44f6b1 + +Count = 12 +Key = 0e045509f15b7238bb76b3e5c07739c5 +IV = 6e9c7831ae41bfe3767f99d62c6af4d8d036b23378f7ab918df5e3aad3787a3f7ea8782475354d06273642baa69f387ba73aa3bc165ed994d011d64749291788c5427046e056b0aad209f4858419e2e8bf4304b6c94cf3f796f0d1840c59aedcebff11fcb1026fb5f5e61f135f0a9b1e4000992b7c9c199f4afce750a5496d82 +CT = 37bbad8765d882ef113e6beec102d590 +AAD = 8c866efe9acfd8f19f253ff3b9f37624ded8f35164da13024c0a22513141904f1fd0f02893d74639cb41f34bfca8492f2a2ac933c570a58e0bafd36c1aaaefeebb283d896d0b126f787e9fdb4b79f7119844e496230a4544fb1b +Tag = ba005ae3ff15d2d9bc3394ff2dc8 +PT = 026c6c4d6f8b0d460264ff6a91ba93d6 + +Count = 13 +Key = 6270eb9d808c98278f0b6af5a2dc27ad +IV = 295aaf39f4cd6f91beac8c0c09cd0773372f51d40c1bbb6c941ab35d149bf71da4453ef9535af3faffe6003e52530dd296ef82e288fce13dadd65f98cc3e1398b18015165a58aa636ce86c4e4ee30e6f9056aca95e3f708a3ae480011e8fafa9bd857087b13dfa2499df8cf8fe309ee9659d0bcdd75d193bc80b6588e55248a1 +CT = 720e7839724e94072711f384caacd7b7 +AAD = 42874311856cdd0f5499371b2a45a370f151a8da695738079e4db3ea15d5576f295dcb2cc9a2d454401cf490961f67d6b1fa637453e2598dc7358a6870bcc1648f75d42ae0fbe435be40cca86da29597f95d883bc88eaf2fde3d +Tag = 7aa2b182a457418559c4cb197df0 +PT = ddc27c952c6d5383743286425ba3589c + +Count = 14 +Key = e730e2842bcd5d733d7de76190e65042 +IV = 7bdfd6749c7824678f332d148e610e4b13a6ac23ce30a8219ac0ad2bbe78c78fe22c2fec3c881384153b2c590278902991198334c39fefb06c321be2907cd77518e03919893575484bb6690e31ad95895c8bee774a195ae388aa0e992b895eeb245e2e5f14c49b02bab1c3cf6ae7b438b73d3bdd60bcd47edf3e3eb452f04085 +CT = d2f247876ea682858fa8496a092e1417 +AAD = 2976f01fda968811087c1bbabb9be6bdd16dc1800ba9eb4a94fa7ba6f3fce1b3e9b3ca7225063a1fbd7ecda90ec22db066beb79451fffa70baa7a2406725ab319be87f67901f9b22362469d175da98fa22e7922319a5223b7c95 +Tag = c4049ecfa28a82a7582fdab352db +PT = 21229a8aee2859862613996688030a21 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = dc5a53d122399fdfb1e5cc2dfca8900b +IV = fac4d131bc09ffb642a3e19f633f58a7bbc61949cea0ada34ab89df13e0e1b9080f968195782f0f765170c46476bec7b4d062c9714e5bb9cd63e4586d74e4a624ea875ef955b7614323a3f75af979423b4a39140c3a5edcef9ec9a158853a3fee6774e59c9863e1befaee60e2148639db953f4ab3b63e450529b0fccb3d3d134 +CT = 55895bbe1f3bc758463a4a9355ef453f +AAD = 2b7288f435248dc03dc0f3a2d5c82451bc34c1e319f23ce779d228d150bc8a69e82fb5062aa218d2a7810b39d551227b03e2e954179eac955be7f0a5b213f3a9f262a24f75c7631af3761cfa34adca7d100b9b17ade5c3b19af5 +Tag = c11a27542917f024c973500da2 +PT = 1a964bfebe3908831558699d740bc46f + +Count = 1 +Key = c40ee4fec74740982e2b07183b9b81bb +IV = 42c38dae820a700f91ec38ae901947074250f2d813286ed5ec6353f7cd84e1eaa4649e03cbfb2ea9604b05c3fdabf091681a1646b9cec137a2d46b31925ab6741cbd3cc02d1b623b142407472b73a85cf9feef076fea6a56965733f5b15712b97622d75bd818fd996cd1edb38ef1c5d0344169a165a87a5fb278f740ced141d9 +CT = 12559383ff63bfaf2863f612e3ee39bc +AAD = 3a00dfeb4b66254ce1294c0a18619ae98ab97dac1ba9f321b747979dba6594a5d6fd7d6cea0f7453e1abd65752b168e4c907e32b486396dcf4c2648d534b22e8e619cd390e370cfa7138ac967ff424f6e00fb887da79d6d96c53 +Tag = 4412b1fdb1405c250fcfa8db40 +FAIL + +Count = 2 +Key = fef36ef7f9305ecbd990619f28b2b9b6 +IV = 601ef18957f79ccf67cacfd801aaed57a66c7e666385aeb9456284c567c27e38190fe652d44e9affe538236f25939ab127418498f04feeca35b38fca44e3fd0b6f98b77425cc403e6edb9800cc5b343d6c01d9871cbc9a3b478447267aa5b6614ee8d25e141275c1f46f083ee93eaccb35040b22ceaed28f0f28cadb48d576a0 +CT = 5d5d86133086a689fed21cc37c856a6f +AAD = 5f4990dce32043db4143aa58aba99a3cfb745444cc1a282bcc47aa58cc7031b36fd25c7575ea585fffe09e60bdcb477381a35f3fa3ec09426f05c84136e24f9aeabe94f8117e8e2e9f7b3527877c0d9442587642c57c2be63415 +Tag = bd273924ae7e3ef6aa3ee66dbf +PT = f3e05222ea6133e1b867a53986e4b432 + +Count = 3 +Key = 8a8f9cd5861d9436113ae987cd8cb03b +IV = 6a3b6f64f39fd39a799a22d6cdac2a46493eced88af7bea9b39b1888408b1d5c883749add203e642bef2ad5991cbd574669df131ca5977ab912612ffd1034a140dab1f477f7efc2999a0ce0705f58c02264cdaf263b8d6be5bf4fd8856c3330f20da3c91e9f3fbf915623aa8c6f73e21722c2f9f08243a376e358fd3fbeb54bb +CT = 8b6bb0380577f519e6c12c71fcfce57d +AAD = 6a633ebaeef6ef2189cdec940712c1116bca22cc889132023ac9be62d50c3ede369044e8753a6b2ce47aa3f14e0b07b969077c6f7089281106a72cf77415b0f43ff9e61e6abbe59702d829e333bc8375c560703b96b8c90265f1 +Tag = 6e3b2abae25b1cb998d659fb97 +PT = 4526901655c781c88416f63a6964c9a2 + +Count = 4 +Key = 0d721f0afd6cd9482be5120fa18fd11a +IV = 7493deb81184a0a15c721143daffef24562866724e2c92dc949eab136400aae9f42ceed39982ade1f6b410f2394176545589b179078698a5b803671e07ba5032e9bf413b9dca0bfb37e2bb6af1a9aacde65e2fb93e42bfaaee8cef904e648d2e67403734fde423ed55ed9d35fe38e116920eee2600ac02b57ea2cfde421268a4 +CT = 53e5ec3c043235daf7a5aef4451265e9 +AAD = 3358ef08ea85895a352f1a116c30ea97350ac5ad57dcc82d62391286a67b1d77a3eb2e288704ba0138f3ef9ba11e7e86eb7f480572f322c5929923d3c950ab57393e9a4c481ae98a60bfa2844f40d1679cad5ffe3405d026b345 +Tag = 620eec4893cc0dc57e02d7ef55 +FAIL + +Count = 5 +Key = a9b1e3f515864718e4c448ddb0c38e34 +IV = 5f29640d14189f49592f419ebf71386340ba9358047caea4c45775bc151bae5a84504ac0699dd6f272daddc3a2d532568ad73db8c9283e4ffdda0b17f4326625d7ce8f1ac62e2f12c92773523b83b9b2bb3c67d9bce95dd486f1d28ed10489c1442f011ee0ed000b68642ac112145f12ad5611097ed5fc47a2a9f9ab7be24bac +CT = ce5f81e51cd7ddb9dcefc537cb4113d3 +AAD = 57c5d756a7399168d2165168dd767fa873abe39eab61fd5bd34c14c8836959324cef39ac0d9e2f0b365b3b09aaf878de933c99c0c002aaa3d82c8afe0b637d7d3b55aba98baad037c84528e0c4c6b5ad367a6bd724ffce671223 +Tag = 636b9949902fe1943aa0673931 +FAIL + +Count = 6 +Key = fc78232d18467b8be48c7483f94281f8 +IV = f6242155c6aa76fdd10549f2faff2b6b6504e6b8281da77e6ec5851efa58a299d505a2a4509c18e74f33a3ee10dd0264d99f7fe3a809e1593d938cb0d096d2a2ed00f6a84b8b5b2805f1d51453847d36f8f211f5808010148943a635f0a00d08f83c47c39cc5f1feb3cecd2321689edc073e41f78c76aba39065421c21238ed1 +CT = 6f1debfa0cfb5b9340f5c5331425929a +AAD = cb60cce05ea3b70bc0d170fb75988a7e3b0fe3728943a233ac19bfb31cbda40fb83f77462619695c31ff5c6a1817bb42259c0030f356124e511144abbe58f66d0842e1835d90e3b88a92d1aa0d6c6ecda030bd7f4762243adc2b +Tag = b378acd2adefcec6205b1014a8 +PT = f1ab81b8a9dedb2a2e8f4dc99fc4e016 + +Count = 7 +Key = 06a88f69eccd5a53f49c43ac9a825b3f +IV = a5a756877c721a2d2b4397459f007418fac6eea8925f901b0859e41350e51042b4140d0a6ec809451449ff403b696ec1ae6970681ebd70b1fddbb95af09f5a98930fca93b9062e59290ddbbc210a702387266df7269501e481742c15f2acc8936ced86cf870f272f78dfd78dc8fa5a6d2c995d33ac2cd5f301d888d9747d0ff9 +CT = 831ed16bcee99dfd4a16e83f16ccc348 +AAD = f06bc9fefca062caee43c69501c62f9b60f3c736646b721533024b994f7aa4f79e673caeb374cece462f78ad7ca27a77344e4ce4a3ca6c0993666beed86d8fd998faf462e352f8759828794d9b14c4466fc416ca030c82cb1772 +Tag = 7a00a784612dc841d06f9f339c +FAIL + +Count = 8 +Key = bedaf3aa7435d6c22b9c2f60df80f8eb +IV = e00c2a2eaa2bc58a1ef921e7cf232e47928f9b5d7299602b2142f58b5c4f1dedbe93b67e0867996af4cb1e5772f490e5a4facaa69c697e44aa48db616068376cd4279f5a58e55259954d506f211cf7c0a212f5f75ad5ea51f5e43ff294bc12a2b8eb78a22a956bf7ad070b355101634ca28655a9e375018f93e7ed9431fbb1c3 +CT = 03f8fe89ba0c3726413fc5917d5e702b +AAD = 5d0b288027247229bea7cce8f21661bae6f1eae9064207499c0647dec0cfe30958227457fef69542feafe1f283d8a3b9fc1676b9462be6e0a646196f34d8880554783e03ceeb56d462f9dafd1adf5dff13327f9f4dbec4d20973 +Tag = 856c8fa619fba1675da76998ad +PT = c760e17d5d8727af5f842fe37cf4f713 + +Count = 9 +Key = 46e0b9795f6d613e7005f2b8d819304e +IV = 2ccde7e42850717f11724b5e3feb9ede6774389f8a1a7427aec1920e3f0fac4cc7700afe0bb8ccdc3e17a08002bae7748ad07a8a09c2fd872b36d69c9ee0b35e61fc8e9b149f242e10ba9eebfbc5f194f1a744161fb248b30d001c02cc6dcf74eaefb742eae19aeaaa088e1590f204e01bbe839d5de1e26e9639ee01c72fe060 +CT = 88e1516846f17790084fbccf779dbe8c +AAD = 3ea5fae79ae2b759e555696d3f89035b688c4a7621ea8a093e312b3aa1bef4f8eb93ef1d4cb47af1605594a51d5393aaff694aa6858ca59d8cb1abcb20d2688bd693bb3912c478c12adac85105fa5f95feefa639709dd47f7359 +Tag = f55ce574bec3d5cd0d844d39db +FAIL + +Count = 10 +Key = d99f373e7f1193f59617a2a216af1e44 +IV = b3a9af603ff22415fa22e07ab28efc18d031d416a655526e8817f14f58df14c54b5d2afddc40778f02670969c253407cbadbc9407d675d361c379d771c561d6c9cc2ba9932d3d685a557069399417ffa06b2854dccf44e91044264d2c5032b92b425240dd4781eb725d9f1ce2e56c4d7bd65766d156eb590f7cf9ea86b1eaa35 +CT = cb32445edd43103535bda6790f6a7810 +AAD = 41f9532e771d69711a1b6c1776b7a03859e9b89360d4b6392205f84a98f9b513e78b9204099a975ceee2c27811662532ccb98c1b18486948537275b5f47a6d559b9455ea103e0c1ca043d29e18eaa44eb4ec94dd03f5a538b703 +Tag = 3f191454dc6cd625899520e6d4 +FAIL + +Count = 11 +Key = ff86d55714acb36dbcdcf59f9072d931 +IV = 46cc597b5f753c4755197a775a8d903a93d5a3e0f7c42e4f850bbf847c6efd50d1fb48b9b0ac03157d973974330db370fa3dce7c3d5db75412f7dd271639072552b09e5cd3c40b72f0a6ab89a3dcabeb8d03660426440d120556f2ae93c5d6cdea18b728d592f3ed0a8a94c2e924637c97b69dc4e739f53539782f9475b8f4e0 +CT = b55296e7392cbfc85c69aba668554508 +AAD = bedc70a581cf64e63194d0072ee44946c945d424803b37740838ea94593ba2716f288e62740e391e578ae22e6823f4b3d9b57930eacc3376b60de7aeeee0d468a9391e05bc5bff7ad23996d793cdb1e535efec479263d366db75 +Tag = 6f32686649f32eb47c27c2b4bc +FAIL + +Count = 12 +Key = 2ab7c794b3ab3ed5710fd3778e9492dd +IV = 0733784be137dcf30a50860b5a5806d0512f5e26df22ffab1bce31a3217778a9ea5ab048283d5b806dbca183b1f531780c1d108ae5214d08248e51109beb0a9e28b9ad01a4ed88ccd08ff09e34f2c79455b3a302fa4388e9c833fab60ddde5ce364862b101e42353aade84da744673cd68b57fcae5d70e5809209c8fb78a5c32 +CT = 46716a7a62cbbc7394870d3814ee1d05 +AAD = ca5b4203206e01f729212c81f05d6dfb548f4980dbab01515c375e748607a855054b28928a8bf46964afda3c1be074c9fe048429ecfc3a0f61c3e18de6eac130a1e9e42ec66b3ec9cb5233ca537794462cb03439b90efa0f9980 +Tag = 488f44fa17d3f0bcb38d952bad +FAIL + +Count = 13 +Key = ae1a070a2148075da96b3aa0d25cd910 +IV = 16d373192cf19da1639bf2a44ca0f73f4a407554bfbb330d97c4e3f0d3235b76590509351a5561a56015cf21b951cd0cd128a24001a4c52822378b8d33a4347768ebd4af207806b78fe22ae980e7523d6d9d8994c8f50f55a1ab6e7d71ab9d35b145ccf56075ba181295299955e8bb574423d9a65d25d013890b3d2bc452840f +CT = e0dfd1d0f1c837412554d9d11a78b014 +AAD = 4ead3d9e7c4707ac24675dc48b10e506d2c490f8cf2622ca1d29780f582fab99841bbec1277b0bf12eb6f12806442f59ccbd9232a27a267f531259e88f4e422b6031754c0e25c50c5fa38bf55976e04943fd3c05477444ae8aed +Tag = 871e7d8d8f1dfec7eb63fd878a +FAIL + +Count = 14 +Key = db739e2639b596985acdda5019e94550 +IV = aee99a966b263ad7885ac036dd7fd7ec3daf2df1a6e69897214f698e3fc944ff0aa1982c920b21ffb5fa2ac1890877184e4589e2127665761dc353f90b941637cb0e716467ea3c116657720a10ef0d126dc12bcedbcbc84b1cf6c88a9a7e9167485d9949342823e317160fe40f61791424ec98ccb17de6f9bfdbb972c8f22867 +CT = 6ba836af0f87f88ae1ee737efd3ae9e6 +AAD = 1932fbc6a108a461495073299f04b7fe7baa9894616d2ec8c74fae958501951384de1ddaa8db48eea507ae57ed4a7953e99af2a7bda843bc1a95154f304477bf6400ef3788bb2b0b6af3fa6a728c44b74276474bb0bb9690123e +Tag = 9389a60c242f30098bbd8ce0e3 +PT = eb011f19a2898370b1dd5660c00a8775 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 2293a4d1225fa25533d20fb755b0c541 +IV = 9b26ab295fd0badd3990ce56cf187093c6893ad00b5931d5f159e18e6434aa309590a9cbe6d79d0157a1057948a8126ce5499adf2ba73c6d79c14954286381ae738e97f9081c2c48587d75b87fb95a7edb74538df61da0b5bbaaa3bec4434fa6879ebb46f25db0404d66a6c0f5dbc514e4788c8ec5935bf972d57e065535c2ed +CT = 38506100de8265db080e4a357de7a618 +AAD = 9fb86c4eb857f8f8c488518b33a4d4f4780fe609b96ced2c2c5b7130c619c57b5d5ef751dda09cf8cac61420715348c3bb8aec69cf7b5e55ded593404c6b246f8fe1f49a78e229ecebdf880740776ada9745e86f2b622c3ae011 +Tag = a6e2ee64a2db9815b38b6498 +FAIL + +Count = 1 +Key = b5fc9b967c6ebe30dd2145725d674f9a +IV = bb1dfa9f50b16ec09fe457db746f9b391f440569206ae2de4cffd41294c2a88367d2d32b81abe44178b8520b0736d8d13fdbf435522c60d8e9b050098c12297dff124dbce21ce9489880647c3073f22827440eaedebeeb6b04451dd0cacd58cd21dbeaa6b324d5bfd0b901611d232c5a56569261069121a2a6c89690e5c80e51 +CT = 49bc1343065ae6ed3cf9959b2956353a +AAD = 7665f4bb5dfd0b145d531fd9db7e0821a849eb838824ff549f732b72ac1606778a594642b325570c167d4c6e1c6ac176de997645749c3c415757209386891719e934c37bfee6e041b25a9f8e5546d88850b3cf82b384c504481b +Tag = c972f9c067f44fad94b91179 +PT = b98925a4c8cd473ad5d14e924d86fe2e + +Count = 2 +Key = b6a2f8cc2b7ec9ed7fd06e6484fd994e +IV = ae324c758dce452b5c82a22e38de4c8ea0532c9aaff22ea72a0bba9ad28522e5fb7d937596bffa245db29fa569bce42995731aebdc568f618836bd1222897a389c5bf4507933db52e1e0ae0105d4fcf6a4e645753db667188ecc87b04f75eea61d079d8caa0040c3ef70ceee807b9ab9d63ea701ee1d792058ce3a6e3d1c966f +CT = be4c4c8902f4102357bd88d69ee20ddd +AAD = 3a6532428aeec4d0843275f06ce7f1ac335984fa3173711adbcd5a35fdadf0d4fa1ce2165a714e13387152391f3581a99cff77c6dc575aa6bbffd57805c657ac164db85ba3363b53d067e6617d449a508669e4e371ad47bb73ed +Tag = 9a2875e17d4d63d0bd165fcf +FAIL + +Count = 3 +Key = 344f30c5a7fc60e437312e6a00cf2b72 +IV = 8924d4b2cb66b18704cf6d19d7e2f36207b6d3ed6ce6f92fb858424f3edf1eb1440a48d8d846ce361d41a3833c351d4ef625665a8f1ec620ebf31b066012b60163125433f2a57bdd147c7242c58fb86b81fc4de001da733e9c6b60fb4c8f25da5f231206459ab2117247e1bad3ab5c29a84f771abb067fbca16c3be134c3ed84 +CT = 798095cb0b63bd36dd56407d511cde06 +AAD = 06128595c62aeaa66ae44b12cce63a21edf562981f83f8fa188da1b6642518b7663bd644e5cd186fb954aa129c9e3b313d096fad2ab42d6e7a072adaf95d92a8124f76a1b3319ef26ece3e81ae136bf81aa42294a017c9386840 +Tag = ca4cba2d75857e08703aec1f +PT = 88a4ed31fe287e807e32140a55cca185 + +Count = 4 +Key = abed9d647513049d70bf1e30d27285fd +IV = 7272180b89419685b04db9e8011356dfe5abed847559807c4fffc827d44db8f0543df101677ebb7ad0de7d2536208e7baac492b7f42adc5003c1f637f23f61bbdc514a729c660d5cbeb1e25783fda25a92b7755a9f17d138c59ab439fa96aeb21a996b760bdc40be2d0d5d9d6a06497a48431ed3d6105b7eb42515a638aa8b3b +CT = 0a3899f5ed8841c70b239c9ec78e8774 +AAD = 08eef59588a1340c296a5a84990f3db814f279d76629de0d7e8651da0e7cda0d244d193f21d198fe6936c5e53afc88de2e406bbecdec7a97a022624e9c997587d25f6acbfa99f31cad2b14061c2829295574079338a88b08bcf9 +Tag = e29d0f6793b7b7f0a67e5c79 +FAIL + +Count = 5 +Key = a38cf0214ae88d2c1846d7540ea22d32 +IV = c1ac0917f1f39acfdc72f3b584ea7faf587f615dcc09d2057153c1f264c60e7b02f9da6e243c20b290ac1a65778eaeba08c4f18d6c18986b6a7ae4ad38f98751424077d6d8bcacef90b25cee7ed4825dac56af0f765112483ce93f272701542ea44a2d5ae242561d576b21330cdfbbf2a65e7eb89aac038828f3408ba8dcd89f +CT = 2a168e790a50ef911f2fd05c2e133587 +AAD = 17c2883e91b8958771c5f0cdb43068bc6ea13785f2986ff56bdf57d83cdf60f8fe9b049e79fb9153547e0d8f8d0ef8dc2106786a1de2d54db3d5bc826704a735053b306ae053bda0b4f7cf3582c6b41df851362b48de9301eed3 +Tag = 8fc283dad427b4ebb4698318 +PT = 54e8cd50f6a3a7d8c2d98b2bc7485c36 + +Count = 6 +Key = c4dced7476ca189f24032e361c4ef857 +IV = 9114da0f0cf1b4e54bbea761c12ab0a52c0bb23d177fec0880a89f55b0c1a27aeae1644030a8a9c9e13d3c1cfbb3bd673af16cbb003a616466643769bd6f0f06c2aa2db08525275f0b1ede2483a5718aad45d484b12821d84a40b0de19aaaaae687e4d3e86af39e4bd235e612a4932b75a566b6aa9d3b126cf881556c301b73e +CT = ee526200e622feffcffa75422ff1ef94 +AAD = e8af4e5a24421896a3949af2a53684d51749fe53f78201873c99ebbb96c75be229a4253810b1dd96268ff6c39d4b5b67a6a75b3dd9f9268114476a56d4fae3d1e34fdcc01a79fa4254bbcd176b47414d02ad1ed2dd5e4d7755c6 +Tag = 328ab1ed1c0f75f9fb22c3bc +FAIL + +Count = 7 +Key = 0404a0d137560bfe50ef663e7ee73abe +IV = d0539745961a11fc6fa427484067121072b916176581b969984c4b63d221c57cfa2efb282f0f2b72c09a5d69666b91a5a5b42d535ad0a1309c86db512deee564c923cbdb5cfba660bcc1fc04b97574386019bfdf05f4e4ab6366a2d697459a12317e912f9e41b4fa0885dc0b0ac732d59f0db3c910dad611b2deed339dcc07b7 +CT = 7a695442d6dfc9792deb1c13824c5596 +AAD = 5fe6db4325bc480bf78bf9d45e4b8d48fc76b94902f8e0254ed09ceacb3c36bf9f67caa524c1e17ebd2c76cf04c80c9f2dd994b22ade7bac6e9ccef6378b13793b125ffefba9a7ad1a487cf8551494a0d114080fdb39a775dc16 +Tag = e2ffdd985c10fd900870a525 +PT = 046e90cab672ea988fe2138140d38422 + +Count = 8 +Key = bdb86f726a01e6608ddda0b68f9b79df +IV = cdda2f9c7ad4b0f2078f916544619eb8b6dc00b1626728e4c5dfd2b6d0dae8d93da8f01aa19018c4a6f5b028c5e2cadfbbcb45fbdee90c1ca0bca075c639e16f58551ba10afc0cb91a4b016187de1670fca4e276e66b5321aa9f10a608afee26b2affeff17ae3acf5cba4a07fdd583a86c887617931af94d7b81eb256f9421b7 +CT = d014b6152c5f67540300530a2b92644b +AAD = ffa9ec5740432ec861881e2896a781abeea51bf837ed8cd3fadce1eab763a8fadf643dab2a1d6fafbbcd0b80859447df0df45fe7f820304eef6054decd96fdbd79a7a126ed4ed8c1a5efdc3e6c0a5ee76739d912369f167e0aa0 +Tag = cd62ecf3cefc7b1733418933 +PT = 126f22d50f2fd61a12a8fef45c994087 + +Count = 9 +Key = bf87399eb4444740d2c697c593b871e3 +IV = 478adcaa6f820bc9f98834093586260763b88ae6bac2e184d1be26c1d66bc75250d8c4fb33a7fb4f85dbeca90ad2533ab8a512646e06ab836d719d123e0ab2ab6822a2c2ca7fc746ad2dced9e3e3c8eb4bcbfc647ae5eb3460c0aeb41ec9d0943160e71b306e913b4064b8bcae97c156a92549a94597a554528c7fb5aaf74c9b +CT = 59cb90794b007ca61a9a6ac02ead19cc +AAD = ceaf9ed02ec01b3538e4b02506994449aef59c5b5e7dd5de33aca42b50560314fc1d431c3228c0010f8cf1cd42248be6dfbefe12ce565f4ff7e26f03737387ab7b89e273850b9164c148bf9a2c3f8014cebce5b05038c7e366a0 +Tag = 22dbb2202397253e7de2dc48 +PT = 67eb371ad29bc9352d3dcd3c21c28839 + +Count = 10 +Key = 928f3c1e00c7fb61e357520e739cefb2 +IV = f1b1a846d90231a17ae119a8c0f04a7844c912b0ee7f34f9e7a2e96e92e04a761019a5881b9cd0fb9357a1993078b0055f142e0f6118a4436ea79ed8d3fd3804f7269f020c95d9357687ee4a4630d429ca0dbc5e92553a0bd0a2eea90b69bf69bbc23fa820058fbadd27174e1852e25f7013e09557e69f9e034acacd30bf660a +CT = 1962e00a0f356fcd18a1def6be745165 +AAD = 106536d90be7c57da33c2cf6e4a3aaca7bf9a0619c4184c7c346d3a1ef58e2ac045ebeaeab75cb372768903abff887948da81216563e16fbdcf66bd6365c57d0525597651c0d01e1669007d0c06180ef4533af3eeb62309050d8 +Tag = 2fa95b4b746ee33ea0e9de64 +PT = f60341f582ed60a22a411f53fa245a39 + +Count = 11 +Key = 60c8fe3bd6ace6e99941729221e5d4d5 +IV = a66632659ac6ebec218a4d79c8d0d4517e2f2304902e288646f67bb471c6d05e85caed268c3dab2d91051c24f0f21056d7adf5d24f527cf6bee0af8d89af5a02f5244cae0cfdb150726d16d18c12ecd6e9328be6695f57420dcfb9fb6c4f63c778a10c343abcd84e12782cd331336f5cf51f89a32cb932ce31f5fb2eb58ce3e4 +CT = 6b16f50367833d142f67cb9c8758bbd9 +AAD = d5401c73155743b934616a5e4787435b7d5ce53d617e4babff2bb3a6272e7a907f71986212f16449748a948afabf6067e563b95484f449aff25328a580657ecfd4b77079841ef6ff467e32f7f82186bf29973c8298140a556d33 +Tag = f0e13003e1d7330098e502ce +FAIL + +Count = 12 +Key = 49bb228fb9ff24aa851451fee9dba557 +IV = ec8e67012babc1451fe7cd6364014b03b4614b3e85333ed728805ba23f1d1d2fdea9caca0f1ecb09148f77896f76661b1094ea96fa7639e74243b8688cffc62f44a9b4d11c6a29860a6025cb3bdd4b7b0faafbb6a059995514bbfa9ea8c89bc6355133e34586cfcc814b168f11a06817c95956fac7d33d6fa4449a41045b96ca +CT = fa21f6893154435da6761c702d54b401 +AAD = c24e856797bb59089548d1b02d6c90d6adb75f814cf89111e851ce500c6c33c823572eabee61eb374d0c2bf784849c84b9f9f25a7895af5c48db39d4ffa2e166d943b1c5fafdca2324aa72ecc0dfbcf7728ed0b50ce0957d489e +Tag = 17aa14d56fb72a4a417e59e0 +FAIL + +Count = 13 +Key = b459c502ef3d5d468187cc4a49a00b43 +IV = 6acb40ef686eccda81039bc7ed47b426cbc550fa45b021363639a43ad4cbe7f9921895fee4b2c8017d7bd9a6069a6792184867c0b5cc944747e4f337a161cd9b5b5e10030e28b317d0b05d49706a29216698be2449f80ad05d146bdbd6048588622c738cb00874f7096dc8887f509c364f869f942ca70c2463b495ac838552fa +CT = 207fd8d0030dbe6482c46ae3c36fb9e5 +AAD = f831dba94ccd9962953af7fbe3568a75d343ea0a32e8acafe9f748008618717a4dfeddaa6b32b3d4c582d8c99e6eae8673a4797b2562e06ffdc45abb817c5715a175464a187a98c757e64acde112c3151da6fd99176c6e515771 +Tag = d9829410bf9ab80ccae82ee8 +FAIL + +Count = 14 +Key = 92341b49ea0011be9679b8ba4352ebfc +IV = 487f916e1bb4a9e7dd066050476fec3d3c628cd25feabb880f7346649f1d1060816ccbadf9f9b921bdc5f281864463ac3831a10e433fc0134a9b645f55666a39cc9bbaeae4513d2aadd67fa99abfbe8dc3ba2056854f461fca230e0193726501969f389d7f7f1f305d2479fca17a168e636a45684ae182f64d2d9d5dbe09c7d4 +CT = 17a3d8d7efab3e9d4119f45965c6a2c3 +AAD = e4ee6fbaf7ad2539601366263ab59d3daf804f1ecaf4779b7efd213e12bf8ad54b578030db228b5a00bdebe5a4b0aa2f80c98cbe9c0d235157df8d43ebe558b74c8094ba9a4c02f8e8843f8bfa6720d2e08ab9758052b7bdd96e +Tag = 9d70fc94c330dc0e41b1af75 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 0588eca164f8ff42274c6f7dd9ab27af +IV = 1db19861d5d400733c82ce4e2282decf2c42147744d65a9504ec6481c0019623eae9304bd94b0adaa9cda803ff1b3400030f3801a9a02b1f53184f8b78de5a5b3179e9b6c5c230cd461103292198cd6f589312a45c6518f8b1928d46f408adb1cef6786d0660192c3b1a4ca3283fb169b9319549ca0237d9daa098e0f0b21487 +CT = c1b30c4e86ffd1f2042c54003247024b +AAD = da7b818db5b11f12570c315f845f5ad8830ea5a9ce2820f58c9ca98d029ab5c52f8f8cdb83a151165672ee8400fd71fae3b51d7db6ec3fde7a9dbf0a9a4095cec188319b0965675b1304ebe95b4e8be26975fb3aa2eee1dbf25d +Tag = b0341879200e02bc +FAIL + +Count = 1 +Key = b9774c530f31defd091efcb0e9b07401 +IV = 221991da19f76a77d6c83a630fbfb4f59410bd75df32846e67b67e3300ed0a419b4f26c4369216e9291d1bedc6c745d9b515b3d09edfc9bade6fdb544b706546c172b794622ec05778ba0f563130534ede083361bfac409a73726f01803300b1ace84a3a7eec5314aab8a8a2f0f04a0d17b2f8c021fc199d7ae6d5af21a7d407 +CT = 4a14f89a6b86d5cd3ecc6dba265d9dac +AAD = b86828bef0090cc48b2571cd6a5c1dfad7fd033ea93191e63e881dd0cafa926d6f1a787881eb9d828f8507b26d7927bbc3c6c7938dc325493e1a82380a2116b2980a736f2e10f326e22c8d22a03e79e43cbd273aae8eef75b9f4 +Tag = 8748684b659ddf24 +FAIL + +Count = 2 +Key = adf7db33dd3e1b60faa50da62ce1f2bc +IV = eb76915a0e4fddfba6420b70d16516e00dbd94ee4f0c47a600a9153fae66f49b8004fd9dcfcf9d991678c041c55173896e634127dde41672d84adda29a434ae5177425f4c370f17f03ebf2f7d35d7ad082918c7f6325e678a4772618b24778b83e2e75c4a01cba11613cb30f77f6589b402bc5c354f1800fb33e081a42e5af5a +CT = 3f0db1896352b3fa470e212866a33b8d +AAD = fb922b358ec6d8435d6cbc34b679bf7b9815b151c25edcf0dbd2377fa04eddac5f98b7ad7496c76762e36dc8510ba389a3a26fc14df7296c03627e096a467064c8a7f42ebdbdab9f1e7737be1624d21ff7c9f845c73990156d90 +Tag = 9b623c3ebc4a89c2 +PT = d116593757ebe9561a655c3d41c4ea78 + +Count = 3 +Key = 99b0a6de2d4d377bbb15f485215e3f6c +IV = b8db48e124a7094b806a1e26636e3ac151b66f5e816253021dd614c98ed4685369ed4c76bcf6dabcf01529f7a2d1dda2ae7d05e42b669bd30c443483742570ddf72f21978cf26863231ae5380c71cc6cb73add4124472b2386f004d208ea7b6f7d6152ab3165729f79fd4b0f6953f111116552ef86aca67adb9661f58c80eb61 +CT = 467b652f7b7beaa6ec5682895a1aa5af +AAD = 14550aecee2cd8869632cda13e5158eacf637bdc096ef47d47850d1227b9d4b41de82723fe88e9eb8e123704468aaefbf3b1643091ae26e18d4cd01b11cbe7f65c5842820cb5f1775743301ed0f05613eda9ac2dcbd5040a40ee +Tag = 944c6737b17d886c +FAIL + +Count = 4 +Key = 1cccd60c090701ba115a4df5622db1d8 +IV = d51965f34f1f6d24b824db3d80536d3b92f5b213d8b02084b9e433a105b3b588a915d5f83f288ac98b3facfd03d86aef9ad1143733a3f06d6ffe1e47c3a966c5100ad0cb1be58160397a459dfc0a4acccd2b4b2249274f8e5e5c1c1df73e264c9d1145563d4f6921d1b877bd2132191cb66d3445d383c0b60ca2a861b85b5ec6 +CT = 784a0dd04d776cb453356a7f4bc5a752 +AAD = db5c2a69cad644689683f2a46aec84c7b479d0d72066b09dee60472b0a04116e260cfdb616f7edf6d577e61ed8eaa073fc6c7719e902cadd3705b4425a2d957c5e67ee89f82f248e520d98d3db449b5ca80a07b3f301dbf7b96d +Tag = e7655cb3d40a0e27 +FAIL + +Count = 5 +Key = 87fe53d17d650700567e022647385fd1 +IV = 826edc28d3ce11b05f2bd49f11175aa49dfce8626534dff873ce388a7c8c0c33d9062278474615390edad770c601b59bb974cd52c7f06b82293497dd6ecb23ce826c44ac7301af76e06a367eed6c5c5118b8a2b314bc4713768a32da9f065d452c9eb6a5268a56bd6bdbaeeb9b8f9a0c8b6bccafa86396fcfccc3da22f2c97fb +CT = 7e8425790fddb87f1a4632eb242df745 +AAD = 38a86650ec32b0380027628db3fda783cca81cb0116be5e213065cb73e87aed59a3cf66b461f6e2aa1e9737f2d08fa8f5b01a1c02db349159cb2cd86f25773ad14b61547ca86d41e646a42b8c848c3ee1f03429dc41519571438 +Tag = e0806e0de67f22f5 +PT = 8c42615da7ddbeb90f707f0c306c37a8 + +Count = 6 +Key = 63891d0d370a7b3e381325c083110ab8 +IV = c736b556f2731444ebce36cc51662b1318fb54ecc7bc92a02989302250ef51468b9d16e043bd3cf3648ad39d3f428c0dbc6b78722acd9584eb235e35e9c5d6775bb015ace0a52bd8a9d5096cd60ddd63d438234dacb1a46bf647dfd265f834f8407d7af7455c5e6536865164fc5d297bbad26656e2e6aef395da05de8745ad0e +CT = 92cccc2b447d715124c5c6a76fe765ce +AAD = d1c151bfa77bed2f8172f6374b0b12ce5df04da638dae4f4795fd67c42e5a63800fdabfcd3b8dfa8d5aea767fd643c5f07eb874a79bafd2db8a127a94cffd8e66ed764026a4ce422c997c4782ab964a4d96ed26eef6699275dcb +Tag = 48d56b0be48bcb81 +PT = f249da86a76c2935794268bc0d41e90e + +Count = 7 +Key = b3597853a1cb1319d03ee275adcb1258 +IV = 6492d054b349f5bd826df8e9b92595bc7e55882732aeb21b07b3563726f5693ac353e6e75712a339112522ed925064f81c21e492c9d5e89f4c1d903342725db82c475eba502f11628d54ec851d599288988efcbe82ba8d525c8f81d633a04f2189f43cb1676d43642e8a3bf632eb89251b8bd163b3f4e463a6215fe7d3f24670 +CT = 949d0706916a0046bcb3298300445eba +AAD = 92ce574886d5c015ae00938771cc1e1f846db50c9fb4f3c0da002cba837b13ca7fa963c35abce1dd9565e674c6694b48068ba17c8694da0ac1824ff3d458faf192bf7fd4dac2f0c7a673e15be14f4f3c06fa5e593a6e24629b0b +Tag = 8cdfa19bd493e0c8 +FAIL + +Count = 8 +Key = 2d2d24df1658a7812d25c316ef814f7a +IV = aa12378cb8c863f9f0efb98a0f884033fba64b45b28cd4ca52def1e1de5c76bda1915eba87c585f7cb734072e4e80d4923f888d5a4a3d3bc2931a6a74acceb3148cff0c7d1f9492ce555855e0ed096c4a3ce4603844eab33b0570b430100f5133b9dd48b8504a03cdfabff0597daba5a8a7b632555924dde7da80b93d7307590 +CT = 470b562c5684dc11c7509415bbe67d51 +AAD = 3c5a6f13005715bf750d79b0d561b0999f9210d551cb5802d70fb5d52f1368012e11f5dcfbe355a39b2b5f0fb482beaae4ab8563dfcffdaf7bd0985543b42e01f9732b539b79203ca5d0179c96b9a08f74b93a7580c742231cd2 +Tag = cc5977f7f2ea6ab5 +FAIL + +Count = 9 +Key = 08bb73a3ff65c0412749eeaf28e2da7a +IV = 51e6540be0a2ef43b94eb27d61f1547901937c279e9a8c53cff136a4fac7fcbd2006120707f180c955d3e7ff7c870a54f2a3b722d2e7154c6a937b69519e85ea622637667353c1e183cd339d2f999109779bca64f4f7bc36c488ee384568219daf32cdb78350c3e4e34e2f7ef3f501f3f5e215575fe62f61e05e5e285eb026fc +CT = 2c203dee2bded8a97b131610c0d6e6a7 +AAD = 47553834445802fd604d5d8c8a64c29a7fb9114ffb0e300e053e642fcb5b12c5c7f3162325dc10b685a011826afc3911dcee5fcfe4244891377b7c6666c284d1ec8fdfe69ea4293dffcc7ef6e69b189c697a8dc899dc36d8826b +Tag = def8ff93969798fa +FAIL + +Count = 10 +Key = b00cc1ecde181e4aef3ba672eb699d00 +IV = 6067f379e6e290e33fcb9f4231ecbe3fd3e33432bed372493e8db0b12a278d114cf6e8fc7111acc7da8b57ec96de7d13a50c5cdd7ec09bce0480b12e816e07a0707e431df57e13c07936c12e86dec6a11d243efef4dd8cdfb7b100fa1f97e4ac2048b6bea24db8058eeaa0dc878237c70265ba6c30158cf7081ee42d75e7209e +CT = cc1dcb07b74348b149cbb3c8426cd65a +AAD = 6282a116cc987eca3c08cd052972b1f6d1a688ce9ed4ae9425aa927202d56868947fc95cf3712c3a92aeaa539078e12d4cbe93c063ab7073f8d8ca833bf87e5c2f67140e04757a3ea4db164c2d61dd7fec2aa8fe6c59dd986c2f +Tag = 0769f25cb9a6ae7d +PT = d9f5916e8c0d1bc799f755444ae51b6d + +Count = 11 +Key = d96ab2702680569df24c2bca635c6cb9 +IV = 26532a5f70e5b072d7490105acd556adf0214afa945756cdc715ae5cf8007d6ae99b9c008a4d9237008d05205ffb789d5743a93cae83257c1ee2b8ae5a7b441da878497f1a01c5272698830c3a3b9036904accedadcf7e8e936e7b13202f6e95afb0d11001aa63007c844dea9fb4ed996afc76c13423aae8d3281566abfea773 +CT = bbfd095ea0b5bd1e30fed135b3dd70d1 +AAD = 44b14b7d43b81f828e829077819ddd3d0adc45e7eacc1fda141f5ef0f09ed9b4dd77e6079246b0f5a6eaba85ef776b2309a957b6e4a9f4c0370ffc8e4c986d5eae7a525a58014019dea6c940aade7d9f532d71c2f52c90b3cd9d +Tag = 0af44e8010bb7ebb +FAIL + +Count = 12 +Key = 6ab7d09259cd3300aa650d3ebb1adb17 +IV = 498b83eb1bfa91f13b2946ac49d26ffe2a9e115b278cb2c7a64124924d16a0a229db772d28945bbc016dd7b4bac3b6c8936250b89ff2f9c1c0495cd27d7f3c95ae9ff9c6fc0497770ea16cccbb0a40212a2dbdfb819e92ebb93c6b1eebbd26fd1bac5a2aad9e3f61a43e7cf16d61ea99d88c38a1cabcd73d0eb1198d05332fc8 +CT = c3f5648dc2fea7c6d3b69433ed1e4d46 +AAD = f66d1ac7a66e662418e5bf67beb9a2756febf932c4802e739934397caeaad58a7f6806a338ce8378d0b671889dbbedfce2592d6e0d9b0607d2beefd6e9dded2392fc53d77054ece5cdf6edfcf75acd5363fdd4fce5134670a771 +Tag = 64d4fb925ebce4f7 +FAIL + +Count = 13 +Key = 4379b2040805a54fd5aa149adb6666d7 +IV = dbc56444cc3e2f7ceb39ca7c723cb871aeebc9f7d91e35803e5b0682d8d327b669aad0dad0fd6f9564a988dc32dfa981a90f2aa9b61b2d2a93b17a294c152f740e09a509527f1e6c72a802c16600b6c2055813af67351ff3f20e086cee8f1a133a76e059157b96bde5f71a48ec3056088eaecb54d49c098e3738513a313c53ee +CT = efceb7a33b455445b378deddc865f596 +AAD = 5ea6d7555ac953ffd9109fe427f7b5e36178597cc3b5954d863438497de841d4b4b12b75ce3f431496a547c25330fce9c4e417f132f60a96854453a332dc56e22fb0b9e5b166aae5bfc715a655c948566de5b30c94fabe2f6abc +Tag = 2ad4f5e8188e6eb0 +FAIL + +Count = 14 +Key = 6ef56767e752ffb95a121605fc5013e1 +IV = 684d1dbe5ff7d4c9252387da8c794f69da831a457e25972e1c7f07965e542fc8b0e5694405decdc8541bbaa21949531fcbf6635732bb999c47a23fe62b8a907d90b8dbc40c56907cd7a8030ad6fa31f51b0c189eb78f1d5390c57b71b98f7661c44cca8140c56b85a59567ce0e933bcaaa38eb6bd59c77148ae5de9099124884 +CT = ca61d55e4588460a8ac0a9a086c52e19 +AAD = c7ac80c759cf42c2e56728ae53ef6f0fd66ce02720bf5195c7b567175e8e7dab1bc2017b2d703a73eaa1710838ab15ce2ea255ca3ca9f9c1b18b55d3657d603743e28d0a888066ebdca3805a06b1eedab75fb541bfc1b899ecd3 +Tag = 69210e7c27d73777 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = d598c777367019e612cd990d77b79009 +IV = 8dedbe60f9c227ef7b174b628cab4482f68c15bfd346a5b1a4a01c5f356b93e7b3aa188767e956cc0de45025790229ec1763b999254125d75f5f235160126b55e460e8d26c2c1f86355b1f8784b10736c20f7c5818f3a47c5d2a1bc1668883690c11edfadc3b72ae72e254f3d9dac6bead9f1acae1115de08f77f750c3d53e21 +CT = 33bc09c3512e823c488ae57317c2175a +AAD = 7c7f8c73e2509bea91b3b539d913500df1e10a3e2c265bfe4a9314716bcfedf03c1cd659efd8099378121cf7dc5ff0c2752dd6d5f0e11bf5a11bbea8ec8be9960f03a559b358cae9d02e074463666cf211cd31558619c721175e +Tag = c59833de +PT = 400e03538e4d8e90e70424fce72ed5d0 + +Count = 1 +Key = 0ca43e746aabb4ac1b8f83e736169b85 +IV = c2e1ae87c7b304f4da15a3627a7f62d8603cf60eb2226bf365dd6638bbe340850893337920c961894e904021efee4d08c5b53c7e3628512a7f6c5cd29e3bacc80160d15134b615eedf30e4314f76e04f6deca0b68c69aad74fbd1160b58a9ac734533da702647ad487e543eac50443c1d6a67cdadd5aedf9d875bd323dd2cc51 +CT = 728cfdb3907e4cd42c871d08a87c2123 +AAD = 626650bf1cb27b97104d4588f5b815ba6e0457bbca3a413424067d7779b9c42c82e5552553af1be42edf1bdec73623065a10047099342e70a3ba38aaccb99dfb34d4848cd8ae10af3c8487ce5ea1e2022be4dcb3fb500de072ae +Tag = b42f7343 +PT = 3b80007ecee7aadbd2af18e894b08a72 + +Count = 2 +Key = c094c9cd278390d1e76bd33da2ad9714 +IV = 12dc6ce765c2d6c199a4eefcca2becde8220940823b711889b53153582d4fd9d02ad260ef90895a7f61bcb81b6cb51c24ad13bee4b59f74f2df0bc2050f0cfe1ff8870fafa24db38c2c2948f1880436a134f2bc91c3b5a7f6f01a60e3cb9b4dca13f06ba7adf8573b8035b5e42c75b2cdb3663c2f5a53852ce8c44b4e844f124 +CT = fe15aa42c57acf89a6ff6d53fce462fd +AAD = 1789a01024f75c73511a31a161653655e102ffa1b9c4aa4d4d44cff35e87282578c1ecec06e5be9c8f73a55353da93463e14423209485758139602dacb401e6f68c63f299eea47639a1fae3b840d95a7062a2800cb0c758aac8a +Tag = e60cbad5 +FAIL + +Count = 3 +Key = e25fa6aebf94626ba87138e85511a50e +IV = 1b35a86247fede21a4c61de3749f4630ccb4db6992aa6f550d7b2a85c2fb651421cfb9a4d8e186b784d10deff75bd1abd3ad093df86016ab98bb898daa08834a7f77de8292f84344f10507946c2fa330c76580119b8bf23659c448d55e3ea05606e89b1c1a10bbb4d7ff6b4dfdf3e6318d174f6e77d8152fd861eafece289c39 +CT = acafaffb6413f8170768e2a9177a6a09 +AAD = 9543e65fe93f64c227e4e4b95f6b0ffcb6fc5e3d3b1032a1ed223c950371637d98f9836128e6de4109b7188ca0beb408b9e7945d41b8755e64f666785d81eab70fa63e75d9d986c583e50e8d1fe2defea5b40746cedede1044b3 +Tag = deece042 +PT = f3460fda16229ca4ebd50ad6dd4fc4c3 + +Count = 4 +Key = eb48d876178d6e3e76a01154e60b8365 +IV = 7159408aa4ed7c6765242d888ac56819582685e6fbf398505eea1902780439e52afb59d888f028e5cbf4a3fb3084547c5dee62ea11bb43ef006c9169ada460f5b0e826f064b2d546eba3f1311a90c446db0370d4f0ae7ecf1d0018c38bce68848b523e6138098698d1f24f953f1da4d25e135b2df526ca3d961fe7a77bca3a8f +CT = 184f806c30206e9b9b6b709ee691c04f +AAD = 343d4d9c94f6805aef2b647696490bb1ddc3b763bc701a81d5ec344aa6781701a54ca6a002fdf9650d707d9632c9f64fecbed4106fc848a0e85d470265c8751e18feef1f375758c40e987e02a3857a88dd9a76b4d19902807bbb +Tag = 17f7b4ec +FAIL + +Count = 5 +Key = 88175cba7a813ec98e8ea8abdcd5412d +IV = 5e5bf1ed88e7756f653dc68ece8427640caa1fde6ed58e09d355729d6e0d43b73a203a03392a845b3355d81011c792fd61578aae205cda273499b7de436f398a30e56c2fe4711a80a10e12f49bc32d1869e959ce782e1f8e1e749c080b81e6f19e19e66874413d1c155ac1e75c9298559f4f04f1acfdacc1928996ef9bb5ad99 +CT = 6c5d90e65f77b424e3a41b51ffd1b1dc +AAD = 8c74582b29c159d08cead6ffd14369a6eb2650e084cdfc4b7b37b8e73899d4e5001327485cab974eb6f921e528d17bc2eca731afdd3bf7810fe9bba3bb6b4da5e028c54ca1c47da84024697c42b6a36790bd8661b3c4dc43c40e +Tag = 86cc0c32 +PT = f576cfb662d507dd9f0a8923aa9ba8dd + +Count = 6 +Key = 8a096d11af07d64fe653e32293f5206f +IV = 4d19afa1327befe405d25766b2a2f224b90c8505b7876029822f9bba6c86de2068a4072cb76f3c61d692d2827626f4da7e9db833b95588e9fb38c6999c28aa93b16a832f4b9b98d16d122bd415dadc0da68319ffa4dc1c320eb2506edbe9cf81255f16561bf43d4f6b26d3cc4503269b64e5ff2645381074c360a1c3e79862e6 +CT = 8f875e6e2ba3c19b9f71b01becc9b578 +AAD = 4858e301a11e5fb998920ae7e4cf3cb4623e0e741297bde94a48f114330a8071c3dc2a98c70cf05e93a57ddf128d0eff58942dab076191ac9f228a82bbcfef6bd332b19c4b4d6fe906192675e882c49ed0bdf7a52c384924ba93 +Tag = f8c711a9 +PT = 20efc02b0621bd547a173abf0ff44eed + +Count = 7 +Key = 2cec7294f0877332424ff58043a52f49 +IV = 65e3157053880578eab5e098f89598dfb4f5fda3c8117b0cd4f129fc1491003b99bb9045ba5568c6c7c509dd0ac1f4da59b9a5586660833ce75380b27f79e9391087db49e9cbd98a328f5765d5c7e59cdf0d0cba5efe004e75c5c8d304a8c3c7de7c8a2d61b22a90b759ee1df0cb079b3da51fa884d2c89e11e89b810d145e82 +CT = 8032f2920d2f4b7bda4851623041c89f +AAD = c994a2f3d7e1f0d09cf2356bf946c5ff8d20a6621b3b062f71533f3d8e99c64662309289a1943dd2208051ce609533d60f65f5dd364c1b0a96686ee80a4c5c7ddbe3f9e8c944cb62445e52a8e067a1403c333467d9b9a3b7b292 +Tag = d969f3c5 +FAIL + +Count = 8 +Key = 57953bbf95c147e4720ac9eebbe114cc +IV = ed4cad7a99507274375faf2318e445f6ed3d12bc4cfd5b255a631ba454c23fa9d172b7348850f821e198665032ddba73c6d7687bc930eadfa89a276187396ba2f0f3bfb4903cb382826518236b6410bbae845ea4d90791ff905987efa0b6dd28cb41bb562e4e7d5cb1839f5d6b2e56bb86d428d6d318bc4ffcc8802567895657 +CT = f431ba4264662eb46299a61a4f8b5cce +AAD = bf1e93114dc831e1178dabd1056681f88303f82cb9ba043883178adab94a057f93ca54edcba94684b35a17dc9d78d50b047d541a35f5901ae0690cfa4416e35b7f835313a63f9958170901da014729f98ae65256c720a00fd395 +Tag = 0962b25a +PT = 4372f3f854c437d7accba108075493c3 + +Count = 9 +Key = 4fab4f7f7049733d2f7d0781252787c1 +IV = c11fc605f99b8d44b773bccd01447f0d82dabcbfe239d6cc8afa7ac7f6be4cc714ee4f78d0035a97505e0cfc6468f5b079097dd947798e090b5db078286a6f0c2955ece1ac54b3750d360269be682c17f9d7c20f5da179832df902548f175653d79dbe7184ac3ed88c2ddbb697ff8209c16fb9d3126b2093add31ffa3a8b2db7 +CT = 516a6b9249880779b603de558fa741f8 +AAD = e8dc7497028aae5d2bdeab840f53f323e2b76fc06339349463c3dbafdae071854df1b22fe596ce49efe3a2cae378fd34e050b900a829bdab5868da705f7deb2860e2868344c94d2ee0357ebae40420301afa15af1d90f655e091 +Tag = e3f47b12 +FAIL + +Count = 10 +Key = e12f9e8c7fc3f898c56b68e5802b3b43 +IV = 39a0c424fa2874e21ef9135586e6a380b73873fde89a0577f565b3679ff3b0108e3465fa0b432d20ca4b2a2dcdcbf3735d6ee7138b14989ea2690ed701b305687fedf0c77f632f8973e6909b7463819b6073492c8a6907f2847d2caf3993f199bf3b6d0f44f5c358d7267085ea46a777282cb07b34de7017053673eccaa70ed5 +CT = 8e5961182a21b7caf93c51276f3395fa +AAD = 73d0516935531f3659fd915c6c25f31477742400e7367e4eb035851b9592c445df2707d373252a2d6bff3ddc0395a098ad12bb40334674fee3822e83637cec044dbc578deb726e8dff691c4dc1a4379c98dd3d9913e2f5a616aa +Tag = dbf8cdf3 +FAIL + +Count = 11 +Key = a82054f36b8916b8fb41f434b23ecc90 +IV = 761c7440d395a2d56fc8ed56a7aa97ecf50c0ef48c3fb0557c95c47e8ae5ae19a847e5d395f1f099b83b10116aec1f5fd76cf263bed0825453c1dac675d5e762a90a532186881e9fc538e77286f3ace2d4d8320e357de71ac84da20446811dca95db594d0b0b67fb56af0dbf5bd4f58fd3f9c500f71a9b60b92083d094d19308 +CT = 141c8fb90a65e4e8a78110383548db09 +AAD = 5db90e19fa313191c8de9236b37a9dd3cd949993593a492eab304d41bfd6c796a8ccb11d43e5fe962452fc561fe45adc78c76b5147bc7f1ac0dfdc8bafeb3581c6b13015cac22e9143a446f9abc4e15e75609fba8cd766137dc2 +Tag = 7b286d61 +PT = ae61f3090eb6493421ffb951bf2d5634 + +Count = 12 +Key = d84622ca57827387e1ef36ba3aef1b0a +IV = 350652bac3cb0f3c38a8b87bf71b4ac9b3b61261baf0d3dc8e67a9ff753bb6668b1bff9edb8c811853ec1c6aeeb7067e65d0925d3865667b56312ec99a97f50d119b7d72c2eba448f7f40e779c94099ab1876b925e7a9cadd57116c3a4d42c07d6214ece266a895f36cfe92a331966fd1effee78b55388fa681fcf7a73279dd0 +CT = abcaaac1c82e6c09e345a82990887c87 +AAD = d09bebb62e0d2ce8083f12a1c22e36c08e4456864e17e1eea9cd44ca0385759dd2bfe22e7594a68e38c8bbb5f6b38024a6f3e2ce3ff54101705cca01266c1e82c5248f3b48317dd842266269c90b4f5e7fac726fc4e0af25c4b2 +Tag = 4631bf7d +FAIL + +Count = 13 +Key = fd62060b5c7d37f48345dcd618afb1a6 +IV = 566fa2be099d9b3d06478ddf1c758199f0c63601c69c45aa387e13bf043e9c7275a74e8fdf923bcf710d49e9257d91e457b57c04b30416ead5321096d5e412ec93f9620fd7dc950eadef37faf2d34de15dbb74ef936d0c46603c0868171c7b1a462d57372540a202e434f85e42949eaf4216a5071faf16cfb1faf716880e800d +CT = 62bac95b5b4fffc3ed03840e15e6b8a9 +AAD = fe87b0226a70e41c6e7cfc17f64dbdf8e5d3e90516f6ba737c95c3c54f93df41bd22c21c2441500a5ba784ebd154d6bb7e7a6ab0768be305853a4f92d3ee7753365a3ab87cb2f79f70158b6de2a62c1c179f1341831a50981a64 +Tag = 4bafbf0d +PT = d0a4c91252aa456dffb17ad9027eba56 + +Count = 14 +Key = 3dc73999bf15402ced0e651001ea6122 +IV = 67c42bbe940da4fcfb33f4f47a7a59b6943cc4cdef7717c97eea71e6bfbecce35bb2177d852175f0e04058e2d7c6364754994935db9005f5fef047b96492e893264b46ce25b561a051410499fc67ed7be1109a9a181f9ea70bba715913bf9606bcfae473bbaecb1dbf2f1a25d7f2e7e6a23c592489bb68ef0be2fd14c90d334c +CT = eb48ffbd84242ec65b02565c7153ec4b +AAD = f466cdf733e4b60e98c0ebdb3d308b833c92fb922100fc4a850862d8b44e70b0e4137b89f885a4240d125960be05b0888d76eb9d9d80ce6d823ee8ebe8ae1047626a5777cd285455378db17823447549728117e762bcb7e31539 +Tag = e8f938eb +PT = 0319cac2204087fc2faaa04051ff89ad + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = de7b6af1a2d0a92f8f5bed0ed2a4c3a5 +IV = 7c648aa92cbe2467abc4aa77d9936cdc720b3ed607d88244adf2a96abcee5d925050355656115e7fae5ef64a5f3a70cbd103853b5b9a93223ecc947bfab2b3b33f0bcebfc1cac46f3ea4b87f1344171ab276feb5ab5cff7d3af059b11d0ddda90fa6e45300b46d702d6a2bc4994d87f013052059210565e87194daf86b0c1ff3 +CT = fecd59b042fe86d2069efc2531 +AAD = +Tag = b5e8a287aaa1545ef43cf5d1f6b8e8b2 +PT = 6b392c43cfb074ff6cbb92ef96 + +Count = 1 +Key = f1bd519342c172af750d3f0922165bcb +IV = d3ed68092b3cda7f4eaad71941b309cccca11fc42041f52eda959512e3fe0b7094d99e3f7ca4a675491d38f2b1c4f28c2f789d6bff3481d68a365159486e822384321a45e026c2a1bfecd0b8852f1895e09a213ee63ea5032ee22830d78ba990cbc60450435fcd97b501377d702f90d470ec566c883c2c979f815fc8da237cef +CT = be5375072610b9999293113564 +AAD = +Tag = 52df8b8c7e5db92b3d7875b97b6a7cdc +PT = 660982e7b79a100df1066f1560 + +Count = 2 +Key = bbececfa93311d6beb731020c5105c99 +IV = 095105809d41566ea88e16622a43b4bdab085fa82fcca5b36ec0a3630e470172976610fabcbecc8a1eff36665f89f9c5c4e45338016fea9d54a5c60a28f5b411724990bd2a09c32cf0f33d16c197c65dc720d6e661467da90d326023191d639dad4cce978fa7922dc03c21affc1046904e9368a60d0ffaa7d851ab294babb52f +CT = 5421397a77b7a52344fda7810d +AAD = +Tag = 0812c10cc19ad520ad2c77a00af2893c +FAIL + +Count = 3 +Key = 65f9fc56b52c5a677ce4f62acf9bde96 +IV = 69588b83c1147297f94745bbef99b6993b12a2807cbf53017162a1b3bc9ddbabfa4267ef87c0c430a963d56e9073fe1f66f2962b477f3cbaea9ea22a47ae3df3bea0be12d43c68d7bcdc935a18f399c67a5ff75d3ebfb36534befda065891fef4eb593ffce3dd08823c45122d84bdd5cf6dc81b56f5b9ca4ca61dea25ec77dbd +CT = 71b751a2ff5e90813a9af39e73 +AAD = +Tag = 927b235632199ce8085f37f8f2b73612 +PT = 19c9146103d2f25fbe31405df4 + +Count = 4 +Key = 862c5f4448b5ac53c83344a7034cdaa5 +IV = 35c6aaf7172ad94774beb6e678fb8eac0ab9db6fac0554bbc941b9bf5e7498e6e7e63602911218d602aa51030b4283a7ec8f5d2641e281d95c2b10f0726b39f372f0a34bc549d65d7fef1f4aa8810a4d4a4f5fdfd85d5d754b7fa824da0758068b2157848e3ad01f4886db189533323689dc21d41291d8d7c66360d42c5e8bc2 +CT = b506bb59eb4536661bcb4462ee +AAD = +Tag = 2b1859907eff41fe658d61ac546b9c90 +PT = 1a2b284d8daf24353c7722fd5d + +Count = 5 +Key = a88891634b3c14afa7a2caeefc1ed176 +IV = 4b3df5a8d8f14d29913c6ad7ee41b18fdcde1f9f5e0b4f7033cb417f4813af10fbb6c86f9b955789ad81542f5e156f950bcc7a4c72d588f63cf9d887f3c31a454976d6723131b7b7804e4bdfd3480ca684de3e99a0252f508a1d7c29f56b597a8cb6da2237706b3acbb05b7e7e6dc171d5bf0ee5fe081b37dc21bbf144332df6 +CT = c1c76f79f36cf3cce252f5570e +AAD = +Tag = 70a05439f089dc582b195ec879494bbf +FAIL + +Count = 6 +Key = 4dc8f871778f44f28c1d99c58ef0f26d +IV = e111eafea24b988c0507d177476c6e62d52eaf10f89a3a8cc9be8ce479d0a4fac6b5a8a0360d90340eabdb79eb78fecbe6cc613fd5db663a6a715d1ead57d2ed89805adb8e3f2605aff2a9e9972bc8e63455f9e918983c3917dae10450af11c0ed205c1ecfa8b53e6746f3fb6e0515f2b5928215997f34e15eb2bcb9faee8bc2 +CT = 66836e1b6043a3bec4c727fe66 +AAD = +Tag = 0761452536f6f4db0da63f9df72508e8 +FAIL + +Count = 7 +Key = 7734402312333dd3485ab2ffeadeb096 +IV = b6edf42227deb14f1057b7be6eb6bbd1866e36539595753696b92f7a60d6d3a685578fd3fc4c620e9a18186c85e98dc32172ed3fade06f81ce3eeb300daa57b51a6077aacaa2712515e6904da96cd57664f19227626049fb83ef0648097a5a0e8f5430536b7dd90d697d7b1fe149aab59895c75425201cf4c735b1c9ee9abd48 +CT = 96770fd18c0320ed35907940f0 +AAD = +Tag = 92ddef5a4b17129a8033d8e241ecfb9b +FAIL + +Count = 8 +Key = 33c8ec9f742212136f4cfc3b11db0c13 +IV = 0ba8b4d35af800db50f2287d280b49f6e0524d4b27962ed18eba3a9e08bf3b2d0aebf3e94aa073557ff6210cdfc9a9ad9023220bce993aee6de85c03f689bff0d1649d93c525eb33134352a2eebd7204421158685f3424254a60d0906b30e07e0992a76a8b5a2f032b07b44e28b3188f7c9c3dda2059042a148cf7fd5290f2a8 +CT = 6b6753f0682c257fa355e6b2db +AAD = +Tag = 604f2f1b742980d5f0e140bb0635655e +FAIL + +Count = 9 +Key = 6fe5636cde41bc311f5b57e7f6e1dcac +IV = e33bb40d3423b9973ee552613bac932df5f067dde063fb930b255cbb45534b512471afb9d2bca5054e173195c8ab5db86cd19d8656c4c21a2fad208e269e9e5848a0c07ab08af2c12566f6708471dc3f71fb31c587fff9f1de77f4723d35a9b7c5ba9908d03c6c206f00a79275e48159d3e6949647402a56e34af11807ac05f4 +CT = 5fc5621d43a7f221be0fd13323 +AAD = +Tag = aefebd284c79cc0772381fcb16530b52 +PT = e8b146acb8c03c0f4da0ada36a + +Count = 10 +Key = 2f733532bb081f047878e2b0f1b3e418 +IV = d49b876263d92c92d2b8cc4b35d630ed32929f7a2c5e0964857049b8c3bbc9fd4dc249c338694e203a690b6bac05ed80c9c121e8fdcdf6c4a7782381cd80c219ca15b030ba41e30d582f007c90f4413e8718b76b161368aad970f01a7f266c93b497815477bb064431ea90d09f39656670488b09d09568d49e7f8cc3a92c21a7 +CT = 26cb206c7121124ce0872ac610 +AAD = +Tag = cfabad86e311fc426e79a40541480eae +FAIL + +Count = 11 +Key = 99f988dad0022edf961246e479e1f492 +IV = 49f50f40c97bf5bbf40ca5c8193255d9f9afd71072bfa18943d07cda87158e99a230826f4de31fd384406a171dbc00f9c849fba36e2806fc12b41893aa7702c9beb385604e5a181d37a2e05cbb2ba1c0d235bf58d50ef514ba4a7b21361a5dde8261eab8b497a8fcbf53c885b326fd4b104cfaa96e715d54548c9844b29eba4f +CT = 376e843bba8dd5e52edec428b4 +AAD = +Tag = f4dcf3a9176274ef9ba1a26dadefe702 +PT = 2150e82871cd2a234ca534b046 + +Count = 12 +Key = d2bf706e901d74fd48cce640f3237bbe +IV = 5b025187e32c376ce8576ed503de660c3c08e3155958c5943de4a91ddbc6e534368b94bfae3d9a24b68a17b4ad901a0f8f8929c4ad5efe300a42d3a6a849194984bc5600c4faa2534223df76adeb75561303bdde342c126a0740b912d63a9a06a8bd51559c77bd8d34ac2c21adb95bdefba1cca6efe406e2a15f349a941cd7d0 +CT = 7907c6626a543de19aa0854b41 +AAD = +Tag = d01de6f639aac35f6114761f8d0885a5 +PT = 1526b5ac14846289f78257fbea + +Count = 13 +Key = 1bc6a266142fcf5b5dd4f94bed62604a +IV = 6af3a6e7a8db3e07ce3a902ebc177cfc6822dd00e8e41baac8f6af893c9b3fbc585657ee1fc6d8ed36a95ae5aae997322b17bc20c201abfdc4d13e2be929ac638f5220403aa70b3cc969a18b3018a80e8fa81d46da8093ebd04f4e61ecfcadb6bc090e7558a5251dd6ee7aa1a9f66c9a20db56473c0bcfb2f630dd2c47e5db11 +CT = 8d7ad700e020828caa2269675d +AAD = +Tag = d9ab1848ecec748d03f4770e5f98c062 +FAIL + +Count = 14 +Key = cd9c29362ba0e8f58a3dab6b86665705 +IV = 1ba93aff29458466987572eb69d5070ab9b4ccce195da4b37bfeef923c0d256b29325f72bb360d577b5098db7a57d55f336acd7a4ec4385a6e72838c2631857cf482c18d67b850c13128ed2843ed5dbbb8691f3b29dec6147eef0463189630c6745b1e9c75402b02a44cad62cdafe42b391e310bd1dcb410f04ed1e2198d0e2b +CT = 0fd43ee780909085d19dfc99fb +AAD = +Tag = 2818d6fe743bd0f98f8aed7500da7545 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = d7fac7b8135951c6fc08cb24de4a8242 +IV = 4d95dac22fe7caedd90c70a59abcedbe980ccc8aa9b059944e57d2ef81548bb1422b1e1ecc29c78afc2b964c35f09edc4c796d4b47618714542b854d90dab953f40b7dea6dfc6428f23f129c39d5465df65db4ea260b88faa3bfefe1a7f380b6b7a3ec6c9066b19aec3a1dbbcc66c89f0d2610d353fad08f095a6b0325820c9f +CT = 18c58fbe5c88721c24619f828a +AAD = +Tag = 68f3c2260f9bc544d08c5005efda63 +PT = 9d1d3075a1397c460d54c8e056 + +Count = 1 +Key = 940f312c6b43fdfea38e097a418ee3c4 +IV = ffadfb576a18bae5f7b260cd0a800c7dd169b019edcac27146d9c5c94bef733d24101e10d4f411bf9fd4a343a1a713f1ba2d045d9188abc7535b80b4d3deb3da926739aafd22d9d9c191d27dabbf8a5e50d3e729c75f4b390cbb2e0875730092586b617eb71e06f3c62f3859edd4adfa47fb4db5de825d5ae874b2640db0c93a +CT = 4898a878a051a663ba47e9106b +AAD = +Tag = ffc675befff6e3fc322e687808823d +PT = 3616986317da86f1618520b8ff + +Count = 2 +Key = 2e13454aea8de296f6ee63d878922e76 +IV = d1b48c75190d1b02159fe3d6cc290c2d123bc9649d5d51690a30433a6c8f786b142bcee2eb4d815bdd45065e4716ea58d173a61c4430938bbb47deef34f430ae7763926a46b76b65a57a8a8a1e3b7c1191cce2e7fb9f17b7f026c8ce8e130adfacf7e06d677ab016c2deb753666fab05e01e6e56d81963c52fa856ef429cfe93 +CT = 2338028e3a6c9716aa8fac6432 +AAD = +Tag = 7229597dc5444146dcab6cdc7118a2 +PT = 202bb5e98f8ef3148bf127f557 + +Count = 3 +Key = 62fff3ce407ac680138acb0cc57bdceb +IV = 123c824964a91e37e72a9a42cb0b0869ce6e21ac38dfecef64232d70a4e8966812136611d76b51f8df1dae294a748550b2f0a7cffc3e069d55cf440a7f618bfb4ec0e4c3c79e380416a55194a58810c07730c6672e6339fb40bbf7e013a463b7fcdbb06ad61a5e219d848d84bb0b0e3369b83de84f16b4ea83695c5d1ed378fb +CT = 0c6a914c53022030c968e94389 +AAD = +Tag = 9bef21eb455d0a861b249dd70d2a0a +FAIL + +Count = 4 +Key = 6019ce3b0ad0a58d04ae1ebd6c9f4a11 +IV = 7ec14a844e9ca5107aaf6e182cc70e6b991f1b9a55e4344390132db7a9dd014b22c3f6b879dee78ad081d95373310975e04e360cec38b626b61fe34e61feb10712e022a0993b32b921da5c11d7fc3cccdade7156bf187bec35575ec07c36b1a7d6d4650920a9d003c69d5326786268e2fe44cd187c83f9b93e840581c97f57dc +CT = b9b60efecd9e2d111371fd5be8 +AAD = +Tag = 2cf04ef957d5461683d342f222c738 +FAIL + +Count = 5 +Key = e6c70fef86fb2b52ae49e21e1ada168a +IV = 97f0f5665fc4a6afa77305a46e380ec6f4e706cdb6c183e0ae0994770c255924efe8947bb588b1252df2ecc51001acee1722c53db650cb9eb965e405a8dc9bdf50f465079d16fdfe9ede4e7df22c2c8c79469029ca47f0ac6e825826aec2cfd9c5232ed452231f7120c804bc79ece7536c97147bcdbc68066631b4fcb049272a +CT = a4ca905eb45a44734343c31fcb +AAD = +Tag = e0143110eb58ab121a12ddcc39be0b +PT = b98d510af07a1b677896fe6d62 + +Count = 6 +Key = 70d04636a86efd5decffaa5032162999 +IV = d85458fb6b5e5fa61fd044a8c7868db731fe3a0de85f530c242b283e313ebee38b99da3e1a60250c1b2433763ba96efd50961fa3b46e99422b1376ee898d9bac1c8f023b403735967f6ae1fa408bf8aa2f67faad3bf9f6499e3a12ec54bfebb7f6806084b858a9705b7540b99e7051fac6c24f7f10d349e0297139044fe6fc5f +CT = 542b15bfb570b203f900b7d403 +AAD = +Tag = 48eec38b3d8cf72c7e7e67224b2e8d +PT = 345ae58a1d232108acaf7b17de + +Count = 7 +Key = a6efbf0001d85b594a6628e31c49e695 +IV = 8d527d75cc430798a3e714bb12208dd37b6d55548014191e03ee187f4ba74914925ea0521409ebe9be9f83d286e1825703f6b3274253af775c8f747538cbb0dfb3c2be018325613cffe4946f910d60382c52940a97f0cdab4fa4ea69d9de37a4b5868ea59ebd0783c8b7dfa35bf32435ee31fe8f1af751fc7a15f3f0937973e7 +CT = 3ce91a6202a97918db193ba6ab +AAD = +Tag = 1354570866b5a7fd492c7292d61758 +FAIL + +Count = 8 +Key = 8975eac80a20e43fdb20ad839caae185 +IV = 081104acdb79804df1045aa283489d93ccdbb63bb180386dddd5c87788aaa1663fe3239bbc3cf2e361691a00cf03adc798e532a950308935228da78f296c4899af427ac1ca394061fa428c3dbd57429f680e78412b3a5e326ff37d1dd8858e98a55301f4074b5310f74b84536aaaf639142c5dfd158dbc9d3c39e547341ef514 +CT = 653c26bfb674d24ac47fc3a775 +AAD = +Tag = 3e9ff70f4386beaba5eeea4c9ce956 +PT = 0c5837bd057823bac380c105d9 + +Count = 9 +Key = d32804120100ea9bf983a43a8839ab84 +IV = 55830bcf4a0915f05adb1b62cf27e4adf60d0434f8458ad70fcdc81b333e7e96c80d49d4ec0d71907dfa0bf876bd4e3b7e521b236aa9f6245bf035012ff3800d09b3d4538ed515187160cfcb3eb01049ff4c0d31d30ba26795d371a0123e6980bdf0a6f11fa48365c9d09c4c0b81197f443deda745c46e2d61c7ea5c0673d979 +CT = c8a3eff90bb0d027045b7a4f02 +AAD = +Tag = 511ef263182e511a8e2254344297a9 +FAIL + +Count = 10 +Key = e4e3bdb24ad61eda785a4a28298f245e +IV = 725fb877f03d3c9b2f03ab3555c5792a47e5f8e4f9570a35efa8ad5d758fbbd65febb370f523a20a7a19161d6e99044c89c94db340e1c281022702f8361b4af62cdea8425a1da065010ebb71eddba62e17454963c2fb0ca45f6988fda2eccb2965a5f88eee77da618d6d4cd32006d3a06255d01c0a178b6c022454ebc18b8e84 +CT = 48990eb99934a14635c50d9dd0 +AAD = +Tag = dd0d4ad156b80e1458c13404ec7131 +FAIL + +Count = 11 +Key = 22ec12c24d5b782cb3e31a8e08f0dace +IV = 564c66c1fae5b93662fec7e587ffb4d80a292a2a58a4eaf79be8cc9217cafe78372b5e5f148e627169dea573c12c9279f0696dc7785a6ccb0def2b29202755fe80079c0126b3f371905411069fa177326f3de6fc33a758d16d5c5389832eec67c24e0c0f5c372814c3ac7091ec757d229331c9d0a76791c185a26b7e5d60b675 +CT = 943cf291d37f705dbf25c48eb5 +AAD = +Tag = 02868a99c1cd6da13142573e97b779 +PT = 8bbb7a51b4045b13917c5a3944 + +Count = 12 +Key = 587d1d4e23f938e8e1e008fce2c38c50 +IV = 2b1601e1f25861a169cea8ec13f4ca9cb83800e3b85124140a433f9369002c422b0d332cd222bc8237c4394dab325798d565569d49c2169eb50f74ad6726dd009a470d2a554ebd45899f257f0aa4b9dad62c875cde6088c8d1e9e88785a3d74c955d4b7454dc3917901b36736cfd1eb093aaa2cb0336af4b22e51e32fbcce74d +CT = 2ff33f7921b87133178a19a4bc +AAD = +Tag = 6525c1f678aeb687dbb8a5f8ec2be7 +PT = 4cb07281cccd0c54a15b22bf1b + +Count = 13 +Key = c597257ba685eb51b3ae25533580c5e9 +IV = 81942d8e7b79d9c35b7f28452e603aa0ab51af4b77505adb53aa264e25e1a8bc80abde002e71ce239d4eb5e26b2950a8ba58bc3259148af0fb60fa3aedad86ea644ea8db9a3d77e322ff52ca04acc24c43c7981cd81102d9735eeaa91f3502ce2e23c9bdd0fb12d24d9c6c0fce330c0bc67189c5341a448ce1cd8a2b5f35e55c +CT = e738b8d0de7b252f80e3151efb +AAD = +Tag = f89c76c7a34f715128e8728008cf74 +PT = 5779f859859342f6f9ce5e8165 + +Count = 14 +Key = 8df28aa36e088624faa8bd62ea2131f6 +IV = eba0a3882322412139cfa79fb658d82839554cbb71f0c32e06b2333938bd35f64c719572662eb342639d137ddc032d842f4e0473f995a1f9371c86ab703ff552e513fb4ec35713a2e2a92dc2fcec7e9d3d64ac1876fc052f404d10413005b5dff12a96bc1bc195e86550a4829d259cfdc3d1d199367ce460360dee73638c895e +CT = 938da390590b0d0105cdefcd59 +AAD = +Tag = 75707a59201526b9202154f44e8bec +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = a94d237f820826b5270f37d46dc06703 +IV = cf43c0c5a401522a4bce72c2aec7ca1b7c5c919f2dd288cbece9c1e078e9283fdebca55304b876f96f2b0136e32af2836bcea68bcb6ebc22019df8b10c9293114b581994b543d366d996bce63c8060c473329538bc0e637c1d9de487bd2981f697eb4a1781531586f59dda6de421092f4023dc0ba808e5dd7339a93898013017 +CT = e3d0ce7431025b217c7ce42153 +AAD = +Tag = 79c49867d80705bb7ab2d6f90dce +PT = 3662c6f508b6dbc8254c027a6d + +Count = 1 +Key = 4f3d151fcadcbe049bfab15e5913b77f +IV = 100aaf7837f6c13c39455a3edc3e26905c8c38d0ee91b25354b335b64653ee407f84770c9154273dc1a11768d61c7d190aca8026bab1159742a025d75eeafbbf4f4c8d8ab2bb42355b1a18f39083e5c2db3555d53c351468ead7c7bb45ba53f075a9e0435f9da8b3b399be7de0d11bfff5b0e6a437e539c606e8c6aadd52b744 +CT = bca4a226f7686fdeb21e3af1b9 +AAD = +Tag = 994beda823b29c260f629c71cfe9 +FAIL + +Count = 2 +Key = ee539d2abf2cca308187aec0b9298cef +IV = f7f95501f86c75a2b130b9829ec6aff13b5aed3cc76faf1a095032b396f7111dd22d1c50730a8795a6b5bb784a7b1a2c65b5a3c794fa8cbc487bd2660bea9e4f36e70a49da06153be2749f02576ccc617475c1b256a58a715304fc9c2d97aba2fb3dfc5c2068c657bf82d77e13b9f6e6258495b12b4eadc01bc510f25e529474 +CT = 5642eada97da1fe60909cc489f +AAD = +Tag = 63f84b8e7e126cdf29f39445ff0f +FAIL + +Count = 3 +Key = 27022d52671bb1b13758e93b483986d6 +IV = bff36b8a84bfa5aed50354e6b9951f2147e18a915adef1e86e1098a3b9f4aed86fd77debe6c9a78d990de8dc648503836c32d1a039d7fc3dd2f4b7d5bcbe02d37a3bab60148fc565772b68e85664421e6a210831a6f8cc3ae16b9a5aa035974dc4d15225295288cdc75aa5bf998faedf3f84399c20f5b5fbaa690ba70baafb9e +CT = e478f4300b235fa2fb0c6295ef +AAD = +Tag = fce3cc83dd639c2774e97097d176 +FAIL + +Count = 4 +Key = 635943702d23333b5aafc9d30f2dad18 +IV = 82b76c3b0d4050d1d421013a2d6c72324513bf68bb869f6efe3e7570254d7f6c6ae1bd5c2d548efade55fe9ae85fb9e3cef5434a128aadf5886bbc0a47df05ecb1fc16807076d7bccefd62d878ce9e97573a87cbd38af00979cc21acada63f743a4947b83ad553ce2e8df5ca6caa6a148e917833ba27096b65825d4d7773a642 +CT = 88c32b9ad214e7cc735be61165 +AAD = +Tag = 8a5eeb48c5b007948def6cce5aa3 +PT = 305810b8b57e32ae2dfe264c2b + +Count = 5 +Key = 9345686dd83fa7c09ab6b141693aca45 +IV = 8d9c53c555613ca23fb323447dde53f00c67b9c63d623532b7fa8e9ac3143b348b1143bd0410c810c2ae1314b52dd658b8bdc588b23c1338af68bfbad7d1964a2cd88a9b5358803266a08783c8b19df92032dc8100c8f0ac7504fbb6181c43ea9c00483966bd7d50f2b652f120c6cd282c3a753087d6489848e3722f325db360 +CT = 51debdf9e84a42b6869a809910 +AAD = +Tag = 9dc4b2a0c8343906e6809ba3c09d +PT = 4f1ebcb5fb05fcb54b3cfa8957 + +Count = 6 +Key = 7cedc3fdc0172494233fb3f10211c121 +IV = fa649665ab040740d97d6f0f2602e4c0e0b3e868e4e6d8d58e98cbd84b271e7c0c4d245e2182c40080b15a35cb11ef309712bc12ccf629f6fb9dd7a386ded062e7610bc467f6a5c8e27a6536128c801b913a99e1262c9fd112a01bcd6e4dd0f2d438febe9bccfc622712f4e6ade4d45ede2929ae200e64db0aed029f5d6ba32b +CT = 4ccc17a317059a979b99785504 +AAD = +Tag = 5587a01a41a626530357f8c4292b +FAIL + +Count = 7 +Key = 353bcb1ee070a903c9f9fc5042bd0b56 +IV = 4162077cef846e734086da7b12a95d76df46f4a7acaff311d353ac36d63d5d6018977f92c5b0aca8b4e7738beef68827e40ad8518b6738bb2ce97a7cafc34c689d049f9605c651793bb6d03abe1f85fc4c55a15bcd8656edca16c33b2d00b0a392add505eaad58a1025a22af0cc6f35514d29aa9b5b20dcb50dfbc4f95ca4d97 +CT = ed1d0550160c88ce36b28094b7 +AAD = +Tag = 28458f3288a924a1963a224e064c +FAIL + +Count = 8 +Key = d6b6f04bedaf73d5635d2a2804fa208e +IV = 2bd31e184e79f9c0a098c57c716860292fddcc192491173b362b37b50ce51ab1e2df2cf3c793936003713ac4a6f09631aa526c38cb37a0456d846f8d4403ecff810b8f81600959d2890338ddc75d534505f82f8e7deb1ccdd87a5ef26024c361546b51458c7756ef375cd65a7df0164b907246072ed6fadc47fed4531bf543ad +CT = 4a686a687693e4646b3535f56f +AAD = +Tag = 82d663dd8281ec5c125ca320f1d5 +FAIL + +Count = 9 +Key = 5c16069fdf4c83566241f54f7df91749 +IV = 63144ef2af5438a077dcb89a8ff57630a67e88f043d741cd987d25d772c92ba1a8989087a46aa26f8880b27e626681ccf0d712a4991fd9260487de2eaad3af9c678a481370a9d558da6da368426001e40c4d8c283006d5e45a03b4db8152356153648b206a0391d02e534622490fd60b0c50b94b58588218f05aded207a48c16 +CT = d44468c54d1be592df3023d7f5 +AAD = +Tag = 5c65546c0428ff4b3f105d1dfdac +FAIL + +Count = 10 +Key = 21933b2f4e440a423ff07d788515d4da +IV = 8f653e74fc3772f69f32aae5cfae1db337a3d338a16460581b6eee2b5cda10bac75dd8586f0ad8a8084d330a11d32f25af70f134377441458053c9f4f7642ca2752974247ad2776732d6a1093144068c8413ed3a6269c0fffb38c9ea34f1d7672666edba48fe902d07f4f5c0d285f7c8293caf95152b855f43fb7cfbd1f143b5 +CT = a12d775e9aab679b1817f4e664 +AAD = +Tag = b0c77a06b5a03255365669d0604f +FAIL + +Count = 11 +Key = a135a8d3df715de73f84f34721185110 +IV = f054279e40695f1b7f3fbbe32c3ba9d003abb36e41b80ae813f7640d14bdcca763067d427dd34e40d7ff779f5c593cd4967623594b1077e6a9a47a6c24ce258440d9584288fa026c7ba78bf9c3b5139f66dbed8769c42a499cba0039a7da1e7a22852fa983a93519ed0bc3c75c4ff82b06064b565ae4fa4a21a8375be26da445 +CT = ffdbac1c4a89fd9abe3a6efbe3 +AAD = +Tag = 50099d46c5a7fb6e3ea6b369a2dc +PT = aeb6ef7530ba125455f8c2b4e1 + +Count = 12 +Key = 7f0376072bf09cd2c53352dfb804d024 +IV = e57bd372e223ca13311643cff3c1f3af7edfdcfc579706bfd0c765ea0337db03a3e17b20e9ee59ccc43c6807162a3949f95d6e3c14bdecd0aee4d44705ed8b33b3df93a8f9b06cfe078ce0c121a70b441225eed1f42216d2bc81b2ffe2d40b7a1d88321ab714ee74325664617403309b5782264553df5b1783cce874d7566a8e +CT = 0459d5b7b267d4e03f68ef81b6 +AAD = +Tag = 4e31117bfb395e2192ffe323916e +FAIL + +Count = 13 +Key = 02bfd72431c4f199c4bd16c1e6d2bcba +IV = a268cdd0bc7506d46c714c463b7ea19f0f620530f8b527837d52941cdfa5b696b80b33649cbac74e7ecb86bac57cd2b169652ab7b4603fa388942dc38e234f9f7cd73bc1fa7d4ed9fc109aa2124094a4fac0d3108ec33ed11d03cb030ac37cde0cd419f05be512326f906fd4a2d08bdc7878e9a1cc3810700f1d83031509c730 +CT = 8b55daa1f3b1a9fe2b2f88bc8f +AAD = +Tag = 1c866c0a4f054f1b2dc1516f1093 +FAIL + +Count = 14 +Key = b5b14686c4ceacdf827bdcbea500cd4b +IV = f61b3f66c0bfd7b177e49e36b8646d7974a4f591a4476a350d3bd5769c5e498f896e0bc1866d47367f05bda873b6f13f52fe6ad4518041e85fe7481f7876285c2c250b0bd9982d93edd957c41bb9e1ef59eb8c64725f5a96043b3f66a539fddcc145eacc0b86128ffe0ef2cd48bf39c621532615465c82cce7ac60530024b905 +CT = f49e3647c0c89c8c2a1ec54a49 +AAD = +Tag = 3c10f54f1e97f9bd898e153d22d5 +PT = af2c986a5c4845cd7806811c8f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = e496be718a9877dfb39aa07960032ac7 +IV = 27ddf37d1a0afac53d45b35ec6721121abd19c8c4669e9627b4f03f0d61547ebe8c7cb9e67a97bc88dec29befd551c8fdcd524ee9b36e522fdafa152df8050f5b04546a4d75fa68a0cfb229365bc53aaeea557f9a123db131106180f5826bd6344df8251a32f5f21f35b9fea9c9a69c4846a68ce112435280377585e4add606a +CT = 92260a052fe114a2b7719a0487 +AAD = +Tag = da738f7e49dc87d8654fb58c78 +FAIL + +Count = 1 +Key = de0cb035cbab487e22c0c044ed940374 +IV = 8e8c061af5ba5714d98788e31177b06973069e9c49d5152aad13269ca5756ebad1098d5441234278a75d63bc54f7167aacd960947382dd738679499dc6f0659af50307644ff68d435dfe150f99a6a9651a897835d548471299e9b4af20f9fa5e5ca7bccf7a86d424699e3fe935db25b25987c8f133c26b39dee949a224f69cf8 +CT = 826c39388249f4916b0e84cc02 +AAD = +Tag = ba45f648f22536661981dd8737 +FAIL + +Count = 2 +Key = d44a8349a4259684c439b774a9a5db5d +IV = 5f52de965abbbf42684abf119613bd2df662a7d3f290e5d7d2c63d03e58befdcd816f4fe7d29d908338622ee854d2a32885383068f60bf53852e5dfe954c146277cb3736c1d60ad744cd3c66750b1c3f2f38faf5d30b25919b966f1760e60f6a7e528f2595615a3668c58af5cf491d278c7df9945ec6022680b6fd3c681ce241 +CT = 7c997eca814b0a6cfbd9f3a9e0 +AAD = +Tag = d8d71f594c7084e95dfee6c59d +PT = 4da09c111f27f9f6c31a217c9c + +Count = 3 +Key = a739f9df7340fdc1fe2b4006117088df +IV = 119375b8331b946769d3b72b1b73d3d43316136b6da34a16d94ab350e0f279b0542d1994934752ab608295704f7d79768b2503b14f659ce709b07f4a4337635b8002870f54a59686af5408dd973d08d7c5cc2ca9402f1c2954c2bc279ab8f69064895016998d896ff4f9a5bdef38afe14b2861570ac93a7841471f14b139e894 +CT = 1b3ece6ebd8e65c0e623c0523c +AAD = +Tag = e3b95cddf3a8dfe018a93866d9 +FAIL + +Count = 4 +Key = 800cde2ad133191e696a9975e4345701 +IV = 96f402d16528ec34a1f13ac12b54bc84fc0d8fb6aad26b9a5d2827ef4af9ffa032720431f3ab966f3af43b60cab4fb2b4d25d954016b6491e2a021fbcf0d6c0c7fc9fb541d1f5d28ba2c86c6e3222836290f23f8c77ead1d9bbe917bba3e666b6c4b6ae4182c0494af9e273e5dfab7d639df80cd02d0cba14ee6de177b10dd59 +CT = 20d12b86dca090b33ed6224b73 +AAD = +Tag = 3fa754012eafc1cd41b923e21c +FAIL + +Count = 5 +Key = b28655ab4cc97776a2565a277a0ce20e +IV = 3f616195a5734717ee2a748cd0cd7430d77bb94882f70e1cf52e8f52caf9a3b85da745780361fb79b7453abc607c7649e8ab524e15897da297cd111a448ca0feae1b0494e22b761dfd620b1a1343e46041d0a0edded6eef93075cf726942ff71d09fdec3c214e3119aa7040f99dbac48fd9156276f485c808fda0662c63b36b1 +CT = 380063b6ae1a86cfeccf39d280 +AAD = +Tag = 5ffcb20afaa82f0185819da65d +FAIL + +Count = 6 +Key = 64ac355ea5243170eb9c11864c60c293 +IV = eec0a9097681749e3076f052a0bc9b4cbb1224d71184585bfae5348d0813ec1ae79bb461dcab5f0279d398d07fea091ec163e5f3b0bf3b8ae0a863e98dabce610c271a39be245d45c159bdeab48c9015aa9367d4e5d20c7a0ad91168d91b5835c84307d58264a7dc69ff6aee58a2568b65f7e23ab3458b4cba5635e2a6ae62f3 +CT = bb3aa02e0b2d529a526435dab4 +AAD = +Tag = c17eb24cc2d344293053a1d5cd +FAIL + +Count = 7 +Key = 5b19db42f185cb0a06f657f02dc87785 +IV = d43998d70ca837efc36e9cd1ba2e4bbc60af349b76a46a3289b0eb2bceecbf95d0a0fe65fd4383f3a9ca32dc6e52b2f169b33e64fa76499cae76953349fbb1628bd4205a6536ca8c80ada54347366a44e5e3153b15a151e7097d33a32a50f285f9414a123b24c51924127ce54edd08ededad404217795a3090bf83f859ebe2f8 +CT = 4d8102b59ded21347bab4ae811 +AAD = +Tag = 8d55916868afe48601b3437b0a +FAIL + +Count = 8 +Key = cf9033a27ee687fd76c13e6e2a29ea53 +IV = 759111721775d6f434e8951b686ae3dba00431c571b5497916cc6e251d683942561d66d4267191fbfdb91110ad550d44b9aee38eeedbadfe94f01b6940d22b466106b0399d1676bfa74f66eba997fe19b2d0e76e86784d04fe0ac5a7c08bc7249177e4e63812dca17c5510ea519c930de420354e2e7678c5388239a4389b5fe9 +CT = 53f2251a4c896fcf642950ff2e +AAD = +Tag = b6acf037887737b824fcea28f7 +PT = a03a22fb769bee09617ad569d2 + +Count = 9 +Key = c619fa0a570fd23fe9b23648374290cd +IV = 0d4e08691f072b7d93c32674aae5c01cccde26995dee53e0031c21006442dee58cf1d5dfca8aa3ac805455eb2a34d5a0a4aebc5075ddac67b38ad47144048204dbb782427ef8229247f64a2e6126742e68373095b608ca1cac0030fb1a472bd0f429e998c77b2d75ae101c192f4eb77256894e1f40f114231ab03c08fbce53c4 +CT = aa8b6c3d514ce1732afafaa28c +AAD = +Tag = 61d9a9ebadfed48060789b84ad +FAIL + +Count = 10 +Key = 3f9d2d4c7d7b2245fdd0c21ac75961a9 +IV = a2f1bcc1e781db82f423c480767656e6aa93b3c006c61cde11f360cb734df94f4e66af6bdb58458781a32be7236f3d6b1eb56b1bd8d8df8014e92ec2799a1e240414242a0d198606e7957fd718548608dda77b5b9bc00f685687be239fe2431067d288bdae7ab8358252a4eac1638e80622b8105007d91ae98ec91a47ef6fba5 +CT = 593de2c0d92e184f43e88235a0 +AAD = +Tag = 67b0723cae9e87b22c10d9d13e +FAIL + +Count = 11 +Key = d07b0301216d652aab2e150aec1f2aba +IV = 96e41e625ede903f4ac7f742a6146f7052d048353e3e6e5e32aacf5597f5062b8688ad591a08a267804304e0f3e918c06675b92a28ed039905541a63bd2a55f3557a92378e1113ea18dbf54d28edad33a40ebbc1a9bf4e24551756bfd0c2f8f5cbb4e780ca7361e1f4e6ec00d780edef40a66d036b0023ff798fdcc17a974fee +CT = 955ad9a9f783b2926d2f6deeef +AAD = +Tag = 54bc76625f9624bf4e8f623294 +PT = df60fab573bd9f3f6a0de73167 + +Count = 12 +Key = ca5628199e673b9b8bc2da843537c68e +IV = 6e2d8b03eba524156157b6e2ec4313ff7622db2cab185003b936677e0e0df7fb458e913cb0b590e1e20ce3b606a650f033b25e307567cd48e4b92c537b280e6a0998dd481b51131c0290cb8452c886330ff7a85982ca9fd404188263ef4607346926138c57dade1bd0b8863ad441472df079ada502cb4c7ae91b24df6608c542 +CT = ab1606fc2b1a28948b3c51009e +AAD = +Tag = e8f67af80b0e0712f5c636910a +PT = e42c57642832eb45fb291e6880 + +Count = 13 +Key = 01eab5c8cf523fd643e5f2bcc16a7077 +IV = 7ce314a26124374cd532035e2a52524227137c4aa95d9998651604dd1b8fa52953ce0f5e95db52b4169682149a5f4f54d29e62f5dc9ba217e1ec5af03c4da021f19136d0863da628d05f0c8794b8d5d7e096498347d7f0adc351e52262442a023d410505bce5cec9e23a2a618b1171d00c1bb719e0e8e9646c21bea8f414c22d +CT = 6bf8714d5a38df6d61e4376772 +AAD = +Tag = 5ebfdc998ad9eb14c083739818 +FAIL + +Count = 14 +Key = 8c0a4eaedd9db47c8eaca4213df1816e +IV = 22cccd12e6047f4bbd5a33d2feea5afd3485ebe1832896545400cc4d63acea1ba5bb97770dee94707f4127b915e0c2c3e9648f63ff0a15b41f5993d277df762b4752bb42467174b788dbf1e0acc61cfbce6b2e89cbc9a635bb4fffb3cdddaeea76f24756954861c19aa5ad44f84ba697fbea2a905ac742466f708dc79a6497c4 +CT = 517ea9893f21363a0693d54f5c +AAD = +Tag = 17317f991e5c6ea0e0d42ddba3 +PT = 7db3925556e5203e5545b127a8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 546a49f3da4d0895ec41b8cb5a7ae115 +IV = 721bb8cce428ecf78e50db3f3152388a6df6210fa1723693d526e4ddd5dcf0f7f478f63729b02414a4e58778e97306083f4d01bfd564f2b2ec9b3f30cc1d51d079c6c08f6cf3c045c406c02d75863bbc1458286fedb40088e30601cc5f68871e5265359752fb23d817d53e109abbf6db00226c833a7921efd719a783cc89f989 +CT = 4aa1bb6e198c3b5a6a7992febf +AAD = +Tag = 2fdb588edd95b285abb5a775 +PT = b326079a44d686343aa8abdf63 + +Count = 1 +Key = 3ebd80d5c8b464424b90f587c42976d1 +IV = 5741462741f113fc99a3dadfed99578396102587128cdce9ed676781864d5b169dae6916c0fce5b13e7879e96b2538045d8b7471d96da1e12c880c5c6e25a2622f06c1faa983ae80446957ac2f4748565b7c88a6403d96f0e3186a53840cd2e237eeef8bcdddcad7eba02fd85c60f8fa1798c61a93537e022ab4bc2ca484ffd5 +CT = f6ba47edcc745d861464d589dc +AAD = +Tag = 9d125cbdc491e497e06ca706 +FAIL + +Count = 2 +Key = c6a6e061d185403c11707201f930ed9c +IV = e80afee05bbf894722b698aa6d94d0befed1286600f8d2f6288024818488d4c925be27bcb2a97aef87bb840fc5276868c08522fb4c345cb8bc3de86078c7a4cc49fc8c5cf18da43c4004d2bcf3677798589ddaab08c932ad95f8ef3243bede0ab0db41d13e250e1c8263fe45da1f99559529475337e3121af7233fcace844827 +CT = cb147e14e792319a4d87d99f57 +AAD = +Tag = 590331655de889830807cd19 +FAIL + +Count = 3 +Key = 0b5ef934d69feb5bf131f6a9db3ea1cf +IV = e3a5dac274baa546714b76cba8e2e7cd6b25eb1d213b490cfca0ef123c074d2e90e2c182a7f6b3606829285daeb3d7871f7ce59c83a5c204ce30373f581f82c42446eaa5967a1ddea7bc200a1e0e23a797b902a0229cb537d481f2989e7f0ec0c6c19804e3549902934e387486ad06f30f10259acd73cb185cc1b500966c7ad8 +CT = fe43556fa3126d2b569cba71c9 +AAD = +Tag = 0197e682644f2b6991907196 +FAIL + +Count = 4 +Key = 99ed16586ed92cf0133b3399b7361ea5 +IV = 049329ce37ab5057b41263faada19b19e8541b1eb7690cb9e85beefb7f9a2b9bf455b3b05353952bc0ef930626bde2e0950f9f50f1bd371926c59a92157ad345644c5bd11e4dcd6d558fd8852c650ecb079aa7a0c40552fa306d51099d2481591c914e94f12e40d0550a639ab0b52e1ed2819785f6b4f7a39ff9dc69a4f3d617 +CT = 6320aacc36c1731098d9ae6ceb +AAD = +Tag = ca02e2691f66befea190d89e +FAIL + +Count = 5 +Key = 9cc08c12f28ddcfd9cf621424207214c +IV = 3ca4b46a3f81b3fc833119ae3b9f14ea13bf1b1c318fece1f4f9962dd8688f959d65761d485011d7b3f5c51ba983e7670a76ab0be60c3506f02abb9b975e3fee69c02a9073567f8e597ae4fdc2101c2f68d6d91acae893a3dd2539275f98883e93da3d156bac0913fc35d7cf3797619942df2f0a079b5302a675ebe7648cb534 +CT = 87915186b3817dc9582074be84 +AAD = +Tag = 0e6205a0ded000cca7bffd03 +FAIL + +Count = 6 +Key = 4f9d358054c202aae9a3156cf6a7f8b4 +IV = 00a2972a812b0fe02a8823b7dcaa3627ef89c0a2fe525dc8e31812d97face2db5cbbb232acd57763f06f902238e3d9a5e57d712659b3cfd8a4d48d7d41d214d7e34795cbe789cce8508b56bc16e09915189bfabdd78228b6e30e98cb774e3fd23e6fe7022c9cabbf2f8f14867b09a05958d5b60f4ce3ec80c897f84bd0b85d12 +CT = 74c18fc0d5abc26838b9d7cd1b +AAD = +Tag = dcc7dac9738deb845fad5824 +FAIL + +Count = 7 +Key = a1182cbf38182297d31d0362fd634f0f +IV = 2a0b5d2dc2931d5eb5bfa6b6524a89d66e2e340d1f76563fd8ca29d29153439bf6440d4dcd0cfd1bc63db19922d17ccd8072fd94866941d1a83c963f31adf860f561bac4fad64663272208d870be471e8f6154d304c588a6225a067ee4b3b337220ebf97d13ecd631661618acf2331ed3a34300eea459da5291cb40bf018d608 +CT = 6032fec3c8455bcc4c8b2c37d2 +AAD = +Tag = dc9e853fd120de6878f45f1c +PT = bdf4190269783ff5dd20d91a88 + +Count = 8 +Key = 7be130a798270998a0cde8db3e8b8452 +IV = 1568fd70e4cfd4bff679e2b8d278c74e33cb872f1ba8b273bbf98152d9a33aacf05204f2c921e74fcbc7daa62d0bcd3392a57fe2f7486d5a81f256c365e23a3fa98b9d0697ec934b6d2128450bb24dd906bb1b7fc4212ba53be5a5a40d00da940864ba812687f5cfb49e63d3b7fe7bb24ffea63bd21abd9e05c2dffa870ae284 +CT = ecb2d40ca01343bf5c0b62eeb7 +AAD = +Tag = c4d53d2e6e54de16af7c180d +FAIL + +Count = 9 +Key = d26a7a36857a331d1d19dbc68fde5ffa +IV = d09f33005a55090730a9d61565c359b61710d84cd24f2ad72f7381b21f17065b84d881c24181c5dd5c9a03c935cfaaa426798eae931f6b12a96f03405022503456b331d8dfabaebd52f8e336b1f89e3b84d3c75e198e638824c7e3ea77b43e9ad0658db14d5efaad41a3b6bae5a8fb07034018841068f4bd64753fb3d85f0536 +CT = d819c51863234681a6c1e365db +AAD = +Tag = f1fde33548405df3e732602b +PT = 6e78366d2af3ba6aa6a51f01b6 + +Count = 10 +Key = b6b70790264e0a2fcc464f08b57dedee +IV = db6a2fbe96a56363000b07f2484f34f39475dce107e311c737ee2d0e775363e2ea6153158c0456b4f4abf51bdd7cad00d5cc5aa0e4202f6c7ea215da61524f1b6ba6269cb3812e765d54323155dd5be61b8f27ab9245500a43f93fdaa90c7f6326f49a5fdadd25788ed76fc57fe29ff0edc36968475d378c24311b8929de660b +CT = d6ac84bc97c240f4ccb7d1d76f +AAD = +Tag = 3b82b828d97b5882aa6ad0a5 +FAIL + +Count = 11 +Key = f1db108572432b5a89f882f41b638837 +IV = 545e1aac34d2b4f76f0e2f09c15c380a33430b546904eb37e07c405c30ec614f24e3c9b1b0d929c6c9908ede0e7bdd8c1707fb8f9d22968e8206c6e460c8e560ff6e38ddd066121d531e2f9060ba5b641172404ba0b7fa9ef658ac695656f1c24be86b33f24ba4cb7d6879d541a5bbfbb982a862692573a6eac813b160ed6ac4 +CT = f3f721b38bef68343b97b4332a +AAD = +Tag = 3d7396f30cd6cc1f0ad1a7ba +PT = 42bf221fe9e21d8a731580b4d2 + +Count = 12 +Key = ac3b6ae3f9554373fadbf32fb7e2045f +IV = 85ef2c551645b20a350901da6b5199e237caa51eaae783ed51ca8daf0fba90a21ab40fae0e80a1af7a3d5f17de525067e2625aaf306cc63d149282d94927fcc6ea7cc2d0a8d25b666f090b38e1277d222656789c0702289eccb1548fa84501c1214aa63c499cba205b06e321788051272e075be30ee98f7ae26de81f920375ef +CT = de2967bc841ee753597a822414 +AAD = +Tag = 6ca73de19fe5b633fe5e0820 +FAIL + +Count = 13 +Key = d46738cabb8846185871960bcd898ac7 +IV = 33708b9603ca740578dacdc635cd53bf5de3d001f3ee3d90b85bcf72ec95005ba899280641376fc42934f3afa93c706b96092395c13b274be8157c00b4a501c7ede95eda1de7438767d3eaf86b1cce6ae648b9e5fcc178a5023d40edf86c7fe1373600ae841695ded13447325f776c9e04b622f6d538f7e63a6c5ec385665787 +CT = df8aeb0e1c1cc96575c8c9f4e6 +AAD = +Tag = da912ab06890e70901cd8cc6 +FAIL + +Count = 14 +Key = b8a8d4ffa505d0255a2b1d7da53dbf19 +IV = c6712d5b0e187ae58414b0747a3126eeea26f9a7adf41184c9a14a1b5c902a502334246f37d2443f4bc537a3abc8da93d9420e69fc30fac2cf2f6c0514d1c379dd07d3d4839db0eded9c02074833a1addaa8d09abaf3881266b8675ff4b950bea189f5fcb42ec251c28d2e82c6ed2c95e0b06a291728477215d23456fd899412 +CT = 57aba00d692c05469c4fba5597 +AAD = +Tag = 2b27b07e44bfce5c2faf21d0 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 7d703c2f8ccd1df944603ce0c7e61553 +IV = a21937046ff371181e9fc2053b775c00434b2b374d9ddecbc38155bbccb83308e6c1068fad5a63335bf25b6ca217e13450d896441beac1679d99f583acd39c7e7c435a697e878bd779a86278628da1f0753deea96b8b1fb1d665d7db141edd597940086244fd7f9b6a9bb7c627a6dbfa88162aeebc47bf14d95ba2d79819de08 +CT = e3d5183b0d0a239aee9a8a801a +AAD = +Tag = 14d4ecf33856f026 +PT = d321d690cb4dcb6f2f6dc7a2ff + +Count = 1 +Key = 136d8bacb6e11730964140f7521542c3 +IV = e39818f513efbe1aab8e068c54f8f862125e96d4addca8ae1842e98276d5f1db332e5846508e7d0febd6024e54fa876c87f1fb9f1895996fa25cc89b69e2126f6da2a481a741127bd371ec08231c6ddc3139833827da0ee2286ff23b3e3034a84bddb0d6b44057495ec159186acae5ea437f65170435117c0ca95cc9737b26a3 +CT = f3bbbaf2a2498efabeeddf93b9 +AAD = +Tag = f8b99ee9162e79de +FAIL + +Count = 2 +Key = bdd9292480f30fe8d29b85b21dc5342c +IV = 010f333abd0bbd5d7060d1bb7e06c0146e2fbdd3526724c84c6935d45a248fea5aa7d93dc9adddc09c35e4c8847786ef749b03eea0f9845e5b52984428ba3a7a78784ee1525c01499b1c019a0f049663ec0948a5119c28b214f74b76606bc2534946b6e9781ab8f4039429075934a7077db414e1d47745c7209ee19525f5d6b2 +CT = 3db5a1d61fcf3ce4692f3d0b0a +AAD = +Tag = 351ff63cb43c3196 +FAIL + +Count = 3 +Key = e3107377d9d0f821ccaa59b33dbfc08b +IV = 7c1eab1a225a18b64b8338b7624263612b254fdac1dc62c9c92fd27104b27fd52ab24b0044900c4d94d872e5aecbae152a6cdeb81a039a2d259174a6eb8ed34b8bd3e9b1ba3daeb9a6aa4b0d7804d3f04bc720b0c0a7dded6254013cf1a1a827af084565c2ea44e6a902e08734bd81145c2f421ef5812925da672a638e91c190 +CT = 24525515e96c319b1164d9836f +AAD = +Tag = e8294afb2acc64e0 +FAIL + +Count = 4 +Key = 593b647f94b2ce723f0055ccb8715cbe +IV = f7a85170fa4144429b1272e8743e1fb0dec4814a3e0a0a5d65341b0aa037543143eabad333f9634e7a2906fe9c79ad52cd72d810b0fa8171604f9393a308d4413729ca5622175119fd658cb28168cb53ca7fa92a846dec6fbc8f147ad4318d05e5216cb383a48ee1035c02d2ef57351c678c4b6d2eec8d39d097548c39e2d05a +CT = 9cb4dc1e043a2cc24117096cf6 +AAD = +Tag = e5da53ed4c0fa563 +FAIL + +Count = 5 +Key = 8987a8a6d6dffc6f40ad998d8711eeaf +IV = ddb00b612582c824e8a667b3e2e393fb4cae34a9e7500ff2043b216e3f42f062d199554d44d323e005e1846ba8bbe2cfa10f31f1b31215c8147c0d2b876b701b635c9777080f62900d613d79ece1bf3b052f9c2dadec8e50bf4370c5208d0dd5b5031304a185900b0709692b122f16dd258e87a1da07929ce2f16526efe5b552 +CT = cf615336e311927e5c51034541 +AAD = +Tag = 78b71bdf7e4282a2 +FAIL + +Count = 6 +Key = 52631da8d73f2bbebfc69f166a1fa0d8 +IV = d6e8b3280e618967b5cb1b615eda95b141b25bbc776b43550da5e70768ce0189ef596d71d424ccebd6657c39e72e89978c6cf183cf80248c4d49a328ba5ebe2907b06e8d93d7730e7a767697529d58b8e007809265f27827f6a5fe7c38c808ef766258e16807b561e514c9dbfa02319dd0243854699266c66d570704caebc6aa +CT = 14295cadd2f6ade7cf12ab830f +AAD = +Tag = 3965816a01166dcb +FAIL + +Count = 7 +Key = 83aae4c40b7644789370ea8b231fafeb +IV = f6cc99dc4b01b18811560d35eec9c6d8ceb6d63fae47095ac71d275b1b168dadf310a1cef77a2d77a3fb80c86a667e5cc7d0d1f667600a9382a465778662699e2a4b8f42f2fe24c2e83f915e753431892a1c3bacac9018ed69523319146beb82b9e03049fd882b0c16ef6fe27836b2a9a18a5beea9a5737b07d4c3ce0d896cbd +CT = 8df5188879a0e55c9504709db2 +AAD = +Tag = 44e38925eb6ef2d1 +FAIL + +Count = 8 +Key = 02e93fb0a8e71d803aaad42ac832dd19 +IV = f09e634f58b90f701882263ccad015f179ebe24140338e79fb026cd466e118406fb281bc673a9e79aa6ae0803d479a922434745837964d72281eb88115a0629570c99d710cc28f8fc9b0b29ee40c7d542429273ecf69d15e3b0be0a5ba7ff1f55d0d6ef1181dc9bf328458d1fb7c7439657422b6048c0c2f6156eda32f09e11b +CT = 6005cae3aba6178dbf0a66425b +AAD = +Tag = 13865b5aa01f60e0 +PT = 63d803ebb5486ac11fb2e11993 + +Count = 9 +Key = 221eb760d264e96be039beecfc537f59 +IV = 61cd6d1f2d524d17e25d75db556cc8ed43c4fdc2fba65addf374655d26b198baac8e746829f46a0217d5cff74f7ad745cd39c8a9457c7feab0736d9f8c5d574bbbb0ad4b395c2abe03b5c82ce65986f29d691a317b552ddd26e98e81d70d1935d14d75bce6ee7d5cb96ff12ea9ebf04c98ed6f7072b97a357e80305e310a25ed +CT = a52a11dd0fe9c1d958cc7a30cb +AAD = +Tag = 2518ad7dd9ef14db +FAIL + +Count = 10 +Key = e5d2c11b820be2ffd5608d3961ccbe05 +IV = 7a57a48edd2d435cfa1dc83225110091e0c0d1e2eb4ecb1472f98678b57dedf577964161c3422b09d343ac56d439e20e7b26a9916294936182b3e25950cb407f9629491a142592168283ff7107e0c1a29e95e7260b445bfdd1d78a505079536556b5076a182b4ed35d77ea68fcf8404d4c8a494830876d368e406a5e296ef178 +CT = a81437f2808bb33e84d4eff121 +AAD = +Tag = 9a33cf1f24b18c78 +FAIL + +Count = 11 +Key = 86943fdb1fefa0f91ceea18554878dc5 +IV = e399fd370e8dca66c6847c50dffacb7bd4dcfc63dcd893b53b2872b2c9fbc1be380b6062b6f712a42ea21d86256c6b6aabfb76ba0f6de0e4cf69561fd4dae9b07cc37da5e4003ed3651f13ee0a98b8671c643b576582900a19e76bab171bb8c77b61bd7e6a3d89b784d261ebf94f2e3b3c210367638a3bb9e550d95bd6e2b9f7 +CT = 05efabe60ccc2d73ed752910cb +AAD = +Tag = ef2b2bc03e3214eb +FAIL + +Count = 12 +Key = d6c418086eb46e7f3686c5a6feaab533 +IV = a8f2192ac04569d086a18623d8d7104937368032c044454115c641ec00602aaa3a1246e49f90b8a7b04552b091230a1f14ffbd59699330aceb72a54c06e97c6ff5e8eb2ca59a743cd1968fe83fadb9c3c157e7848c2b54c738db949d88916647b9ad0048190c60447c367a04d24a822397ec0751db6d840dff75110dfadff907 +CT = c48e451a7b4fc1bd861bc12453 +AAD = +Tag = a8f9c800112d8900 +FAIL + +Count = 13 +Key = 80161ce781d04ecb8bc72ae622ed5134 +IV = a87d3c2391a59fe6898a9bf121b9c1d44a677269cf8f189ab92494ca318ac54ca1ce8e783e9c5ac813bd127e0852e59956c1e19b6c8a652d9d662abbbb608b5394a1d6752db893ed00e4a0611a3a83a460ef288182b805a6e0de2f2b2f92ecdc2bba3175e4381e5d7929332815d39c09e3f7882d8f721dd33cef71143170747f +CT = 86ffe9976b92d51016bfe645c1 +AAD = +Tag = 1587fb7021e68ccf +FAIL + +Count = 14 +Key = d81e529387cd7ebfa031ea526d0628ff +IV = d3fa563a9a7437adae4184f6c740d52749452f58349d9400d6b9caa53212df46eb4247a71dc809f3fba644caabd6a6d63a09a8f397b735876f8e12d778c1901cdbf5b0b345d1cb8ab201594d24afe89351e477cebd165b7882203b31a1c73af5b7235e78c98614457c87f97c67c0541876d88d2c21065f76573aae046807ae2d +CT = a9e83a70ed8d06ba30a5737e92 +AAD = +Tag = 46b0721fe73a46f7 +PT = e8c1269f708813ee38cff54524 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 6f517c627037b98ccefb8fe12ade8061 +IV = 6ca981dbe83427e98aba57b121e9efef71d676e0bf5b3e3db78abc3a333792825e40d2f951f34c0e8c8979df2c9b8fcc66303ea7735e6f82445e1c50d9584070bb9f79b418c7597bf5104f5ba550be9ca3417f4f853186033b472cd30a72cdf5c63c013a00fe45193fd0488237cdbc058966c01eb0252daf131fe9b066b35ea0 +CT = 0fd32560ccf5376a06d65e160f +AAD = +Tag = e9d77e86 +FAIL + +Count = 1 +Key = b9166ae1e69bce6174f4ded2b769b6b9 +IV = de6586260f1647253ce0e28960fe33088af77e18e6ac7272176c9d970e6d28cb2dbaa5405d6bbf57105aa08881e9007bea90f1ca34bc919cbccc3825bc35deecf5d1235976b669f8726dce70c717cdfa3cded53d76f324f5dbaf144b268328edfbd6bc8634e79e3ba1b54af4d33dd3d1f8c1edf3b633877a1503bb0c0309e82a +CT = 1cfb4bd04a5556e29bf4e3d7fa +AAD = +Tag = 1e9ab073 +FAIL + +Count = 2 +Key = 2fab178253cd4e9bc58bcdd4dc898c41 +IV = 997d55ede27b7de9051f57503633824fe1cb4007b1b885509c88812aeb397d253681760238aeeae297e3e48b69b60f85eac4b3d5dd2a92e7cb0817764832005ad67ce103e403d93ab697810aeb437cde09e5acfeba9ba8414ebb3ca90fd7825fc2f961c8e28b8a59a9895d97131d5c916cbc56299679c956285d720122eb4c99 +CT = a3156e521a1adedc5dba9a9d81 +AAD = +Tag = a4ffeaff +PT = 53be72fcc281d60bfa1e569cbe + +Count = 3 +Key = 5803a67887a88970a9b2acf50a34680c +IV = 9aea671c2b3b61075aed781ecc769f51d09e78871730b0a0e120ea00c2547de7ee160f5fead0d6917a49cbb5d3481c7b4785c3460dd23430f0374a600d543bd6d1b5df9db666ec51ee7196849170412278190557fa1e31098592b6a0f9407f38b12fc41a91646d84f5011994f1e26fe1f20bee38ea2c9db9cb47f9564934c0ca +CT = e388ad74f4eb8153b9dc05427d +AAD = +Tag = 90171e98 +FAIL + +Count = 4 +Key = b661b58420d509a1eaaa3d981ecd4df5 +IV = 54e0fc374f99ff1ae1f101545095a681b75faf8e32ed3896d7c5a43c1c963f92456a867249644123fa701ed20dd9723d4c2ee8cb98e8b87bcd64aa939e4d9f3b2264d2abebae74682d13d4500350a446739771981c1809c65cc801af5b8680295a74e87e2e5e532154e593ae321af16ede602f890d89ca24b0d5da8445a96ba1 +CT = 56691d1f7c50c5dda2bf3f1fd3 +AAD = +Tag = 82ee069d +FAIL + +Count = 5 +Key = e9e8b9e484f058457351467554cd804d +IV = 459c89c3b6f12c823418d11ac8fca0054c4638ed0a004442526075139ea9f4cc2ee989a0244635f7e16d06df176d8e9493e9fd9c7908564c4ecd3961af648d71e5d5da0ab5611bd483e26d395182317ef7eaa552f6d3b30a2c3e6890d52dc5fe231a9e4ad0d5bfc1982b030cff192e7fa9f8e5b02eaacb91972685a27e5aee16 +CT = b8397724f67b81df1918677210 +AAD = +Tag = fc6683c4 +PT = 9e16230d887ba1ce3cd190afb7 + +Count = 6 +Key = d5ef8a1028b0ed9e8173ce17d0f2231d +IV = 7cd19d1de7630b32288a2f23da2e3efb001bb332160e3762bcdef6c5bb94799d8713d29f7e4592ee22236af7ca99b8af01d660504896272d1877e35793f085dbc91ed856c17bd93d4435e807488fda401bac9f6a3378c75346e8576d42d78256b3d193579a2a5ef4655a315df9e27a8816163afbef08f52ecd0139b0b2e65ce4 +CT = da777102b0051373cd64a05c24 +AAD = +Tag = c40e627f +FAIL + +Count = 7 +Key = 135bb243f3bc54d8574880c529b5473e +IV = e6e7b2f1c53a016b0cfbc2fbb9de99fd9db76700d574c096968071fdb712cd09d7775d7c6e5721c5123c8d6334812e870a0038b3475b21bc58e656482c193633735d9f1b27b0c94ef29e8e300b33f3b65b7df17f5806ef3e845586a3a19c0b162258c63b96848366f9787e4a044c40fb60620e776aa9beeea8244f0bca8869f5 +CT = 7433e20f44354cb7cf8995f596 +AAD = +Tag = 941a6097 +PT = d277ea1b768be820d8eb60a89e + +Count = 8 +Key = 3a9b37cb2a68c78b4b52a451a8ed0327 +IV = 4020ac49af2d1221eb21f9bd20a27bc69d5d8115050dcf463800258b7e1fc380bb191cf1cbdab40bf8b925cf8c3b2dbbd3746206cdbf1e5342c5fd3363da9ce47b2a9272e1b40d985efdddfa3758af13b19f1c8c1ba812f465a279770657e7e421d16a653e75b8241e8022eb50146724108485cf87443ae754d27701c206eb6d +CT = d84fd87a15c4df015e84e42762 +AAD = +Tag = 8ff0348c +PT = b8de7b4c6e2ffc7ee521cde594 + +Count = 9 +Key = c8a7a0aed3544c9db87c0bf6943117aa +IV = b3338518231b7c3b9fbca54b2990fe0c9235e590eaddd20062dd3d2049a1f1a340a1e494ab7f949ac6db43352242a8db778b7004153dc8d6a1480b14297773f7fbe1da0efe201707f56728be147fb9535eaf75902b5955fac5fceb681985862ba4ed297e1dec5c4d99bbc78906fbb3dc66a233273959719c25470c64e4734b1a +CT = 1ae8f211c10c7788502661a84a +AAD = +Tag = 4a32db18 +PT = a5e8061dd795b675ae0b0ac6ab + +Count = 10 +Key = 0fecb80528586db526bfa572b566e368 +IV = ab4a8d4453c63c4ae5cf3207a49cc66e33a58700360bcca4a25c75f33bbf0a25f015adda44083e1fe06556dc1737244cf3f008568cd4530a625e2b8745e40dbdf9852370283c8d7c8a6564d7b1f67233ba4304d40c53600d109375d9de2210ffd048784cfab6ccca2eb521d4348d97819ee4f5654d815456abdeca8e2b43029f +CT = ddf95842f32f04951c6bed6f30 +AAD = +Tag = 3e566367 +PT = d664a827c1df7206037fcf48c0 + +Count = 11 +Key = 3fae1ef6692661552c5b645034b0ed18 +IV = 2fd12d157e3f4cfc640034453d034544798cfb847bd1c5e4691c259e0c27cd790742becfa157e8b2045ff321eec2343f06e051ee2844f1151a2df28d9153a2598f1f130fdba62b6dae2357a1b6b334b0fde4eb024b3e0cc5ae8260e75c71ddb988c71730f0db5a9e9a82c5370d86a78e96c9d02a8c2372aef6c5b393b47df6aa +CT = 3ca138ef51baba1d309e882ff7 +AAD = +Tag = 5d4c0301 +FAIL + +Count = 12 +Key = 722715d61f78c01d435b3d37ef595b99 +IV = 140d531161e739e8a4cd69e0db9497128b9c88bc91936a800f566c8c589c976252480915ab2b25add5b86fd103e42fb500ca7bf34c0168d028c35c9246a3b45b9036e186f50039058ef321753934fcc6948db29556f9a0b3d9b53e19cc9ef1d8a3f8bf23077a7127df7d0d4dc42d687c5fa18503bdab052cf1f376c19467eefb +CT = 40b4ef6936c0cfb1733a5d388b +AAD = +Tag = b596e991 +PT = 352f2749036652d29a238244b5 + +Count = 13 +Key = 0bd12cfd02d8c6e7348370fe95c22ff7 +IV = 57b66ba6b62be2be7a4eb94773e561eb93191caa9d7081ec09cd22261c53509373e85b6e3f67e9e1f8a191def353ab44f062b7cac43d19091c5dd286a6e64641c13cde3c7909ae3994b6a68ab3dd0af5d7cdaf5bbba3d51934914cc334e1da56ca17817a61a3d963b7d8ad425913eb927814f668c051da6668944416b3b32c90 +CT = 58e145adcc5025721574f52b37 +AAD = +Tag = d731535f +PT = 07fadbd7d90669a8f11cc0a8bb + +Count = 14 +Key = e53877f711ffa3d7f2dafb0d27c014a2 +IV = 1bce3d733d0f6299f46baabcc51218ae21a80a70ad3fa1be48da77ab1a95178ec9f17d07293536f83174a6d6c6da378e556220c6053819f0198bf682dec8e9cbe90e53a15aa376d5c4f1c56d7cc46683d969dffdb53aac3f395865760c5abc84e9b453d8f456958260a88b4089030c2c8fbc0edafe77d922af05d22567ee5865 +CT = 3797a127cf7814939215ce2544 +AAD = +Tag = 4d4b1c08 +PT = d6918e22b487fb96f2cf7962ef + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 1e9a164294cd12d27226fa70843d61f7 +IV = 7e0e208ea9594d6bccaf450139bc2065fb6a8f7bdeafb591d169f881cb1d36ffa7b1333ec60cc938d3495761f7dca42f05a51f3adab6ecb3e2ce13d8367713dc2651715a203a7d6b8c636428edba4308720556e92ebb7dfc580d196751ebc3ff7b62ab84b066874c8c2ab60c861db31336df3ce481adbe2d0687e6be22180000 +CT = 0a04d3368a3f7518fb981dc88a +AAD = 2800afa22d8cff673ffa8de569cb22b8 +Tag = 97a26c7e8ea6167ee830c6d934ba11fb +PT = 6baccc31ad52bced06562fcf08 + +Count = 1 +Key = ed641adc865baa0156d480038522cfd2 +IV = a59c591fca8228a05012d8d02023361bb5332c9b39169bd9f94fc7026c591dbcd90421868e476512e48c550bffeb796278ffcf19056fa7c473f4a5481ee7b2e9ce6de428e1ea4dae76298848d13f21cf1602d6e100314c2d84f456cece7d00fc3cb0cffbf70a6f0f538844d2cedff7c3ae74e213a236cc0d22281eae446d4f69 +CT = 3d2134bd30612cc83828bf1ef5 +AAD = ee8cf287560f70b513f40d0ea8b30c40 +Tag = 56b21ebdc0c98f01066f96cf85e9c6f4 +PT = 4e4292a10c12e9558ec5e6fd49 + +Count = 2 +Key = e51e4031a35a1096e6f3dfab1f943e9d +IV = da84a17315e4447b3cba43dfc87f56227a6d6fdd9d7221e9b76fc20feb90bed6f9d07a1f320f4ee6a0e2d66e26fa9d0f6ed4e30a47b1ab6620f19a0b84bc6a0d6c03a9d7a154f0023846eec8f6653eacf88bf8be33efc9294477c9555f76f39335cf7a645323a3de4bac41bc36f1c87971814329fdc644225f7f65be42ff7177 +CT = 16e5cb7eec67407c90c2f6ff1a +AAD = dd33e39f1417188387e4e6ce5326ecd7 +Tag = 75c3dfbc1495058f7dac6b2abe8e13a4 +FAIL + +Count = 3 +Key = 58ce5714f6da3eb3ad6b46d36083b699 +IV = 84060061bc5ce669fadb7339f785f45eedbad18e4047989fd63ba078b3a7ebd9d81a896c0b48e208ca79e123c7e2e3c93411c96af97ff9fa485624cbf1f3657a40ab96078e12b95b49d71b79e8d9e2efaf93f288b3ae2d263b270ca06574cf4a5ce4abcc357667a8d5f000139bb74cabfcb7e3e9a991074a2e5ce7863771ed36 +CT = 4f68dfc5de9fd949093c350a6e +AAD = 6073bea7e46861b8a5010a6658fc0793 +Tag = b5a33d33c56ba35ebd5f9e18206743c4 +PT = e2f8cf5f794e749caa3aa5ccea + +Count = 4 +Key = b82c585adeb647808c6f15508587231f +IV = 12e8dd3847ec2b7aaedfde869377f07b2d7db79f973081a98d6dda45611cc11ad03c9049cc3a036e83c79ee037582c8bac5631da21aec2c2ac484be0308f69ef6732b98bd5025205b99e61a272f76620262cb13d8cc42af9ed1b399b9fdc1b354c6b5cdab024cfaf0f7a4596df18c1199be24a6b749835bc7d16321798ae8ce1 +CT = 665f97320a31c60ccedd9ceddc +AAD = 27338714cf6ce915b2ea78b0f9ff119a +Tag = d33370fc5e066682057af53f8486f542 +FAIL + +Count = 5 +Key = af5cbb5465125cc642af54d0800f2fe9 +IV = 9455afad34268774451e20cf1af510dc3227edb85b2ee69f86b292e0c0d3114873b87bd0c92f539434e69ebd9b46847e5600be8899daadb617b5c94d78ec6117c4fcab7210331bc4bd2b727d561d7fc9ad8c147d67a1d0315402e479901201cd9da7b731f585240035890c30b94efe6257faead32ecbd3a027979403f5c5201a +CT = 6f26d5e98322bc90422c7ea2ab +AAD = 5871ab06d242c4f3359fbcf7930afdfa +Tag = 2c4daa0bb54fb60d905d65b6b8733b93 +FAIL + +Count = 6 +Key = 832869906f92e519f9e98547d329c061 +IV = bf7a6ff21aa7b1cbc8fd7327e31b39295cacb803e0b8e1cdfaf8b173419c3923e735e23a394f3b2a34230bb8979ccea9c1c280fb6195ca688a2bc174b491db26308f13b9b1b1f312cfd6d23fc6a11632d9475bd63b8e5fa543879206618d992845d0f93e55a8aea6e6f6012f3a6850deb2de38974bb848079cf20ec0c47c58e2 +CT = 905c26e3092194d2e761753ef6 +AAD = 40c6cf17fd6c809417d29dae3b8c8a05 +Tag = 6b7d43f184486e4cf188ea88fb5f0e7c +PT = ca27f9967d24cf76f6c5134e4b + +Count = 7 +Key = 6dd4a58569db84e6f10ac73ba48eac4b +IV = 4a85ece230e29a2fad91970e8c6002da4ae268cbdece4974e69dcbd1f01535877b7205d01497146f4c629a2d5b610031b47f41ca7404376da6a250407e969239b4c2f78d5c98e8f14ad276642151bb121c7e25fe77b4d715e8efb1d30181975de97ccc55dfed3b869a6db271b4c4f645ce4923e67486bd26a8ffa4c0b00eb41d +CT = 84ee622bac7dd1524945e3746e +AAD = 8dc3b4a1cf171ad302d950adc5368e88 +Tag = dc9c091e6b8062d02e0a597e3c8366f3 +PT = 1ca12d3f079a38b73c82caac8b + +Count = 8 +Key = ed9c1885ebe8c001ea19c91c83aac3a1 +IV = 2732c8aa9f86fbc4d2c6cd021740de2596f25841bae8ff15acc012df1ea908718fa5871087d0aa8a53e59281185ef5d1ae43962568cd58ae071fefa1fb8cf5c35ef93e5039d66d69ee9f90e00b16622b8a76c6b69acb442174cf7632af44b7ed6b395b6c2eb3e37a2bed5484e63eb382552c4109fe4eb01a01350518fabf4b96 +CT = dc8b34c4d356c8cc008c581df6 +AAD = 396229df88eeed89b63432d73da25859 +Tag = ae97854091d70fc764d0c830187b6174 +PT = 79044700e7be4a0d49d6f79b7a + +Count = 9 +Key = 360a979eb347195eae750e035f780bc0 +IV = 0debd79fab28f0e06ac57daea6303913c3c9d91ce9a01c088ed8d05ac3ece2c3a3fc78e21dda7f8c06d73880dca6d9bb9a9ba3ff4e9c7ed77ec850e14047216b3f2c07f20fbbef871a6803ef35c1294bbec0d04c903a58e4defb711422128df1b38a50b7e52b0953665c061046e41efd4855251f467cab36f4b63355166c99e6 +CT = f6d251d0e4d4729df5b8ef217b +AAD = 01773a6ab916d647c63db5cad00a7c2f +Tag = 070d025d999a01291e82d71302ea1825 +PT = 23c6febb5b4eedaa2a5008b71d + +Count = 10 +Key = 17076afcb2c248319ea6a15eeb42cad5 +IV = 8148865e86e1eec0176dd36bf214479bc25c4b64f96dccbf90c325bf50dd27004e66c5c2576f9f87c96393301638685479a0bd675cc8174af9bde9c760e43fd2ee2aff7ec7ec3d2141fc06d9bac8bb336ef184f2330dd7da7e0433405fe31bfdc009a00f23f281023c63fbd419aa1a2582b50dff2d1651f376f03d00a0278b13 +CT = 647e8cbd75d6bed8b7ef7e2f9c +AAD = ed64239c5d82c7f99a26910757d62816 +Tag = f709b63443915cad46056232abb3f5af +FAIL + +Count = 11 +Key = f66089edd30a100705027604aaf5e39d +IV = 210afc7eb80562e3fa668d1700c49b6dc8aa9a20d31e76ff401facf72caab14e26681453081ddc2a4e32e71cc36ce48df81213db3c96f71a9ddf724bbb49f98dcdc0fb28ff9f287d12a8e398ffb8fae6dceee86f47e6f70cb159170189c3b12740c3058a1d5082e15c816d757c5ecffffdea11bc32d8c5c7f7aa91924c6c7099 +CT = 6c7e9e2120e1883bac938d9201 +AAD = 0f068b59414e6a5acfa2eee02c373b9f +Tag = 7d85dfe1b4c1b00af6456d8ae6db927a +PT = 2057bb2412b32cf405246f28be + +Count = 12 +Key = bf8c0362e0dce080fafb0bbbd5694b71 +IV = 174c854979e4710595a5f73589d6dfae9f7368ab1069925822c6e6cbab75ddc65e55b2473b854e2f3af18b2500faf607420a1d4a9b39545f7372f53ad7116f4e8e32608f2eea10854754c706eaba6dabe761a8f24baba10242c84e0d9d571e849484882782df6ae526c7176c6c62289dab2c6cfc6e4fc318139c8b57a376e77d +CT = f0cc4e2c265519305f1115e207 +AAD = 1385ddf4883def8871066753165999c0 +Tag = acb508d052b536c23945cc21cd369543 +FAIL + +Count = 13 +Key = 71787bb0de9ff8e0bc44f4767c151c98 +IV = 413e8e047bd21fe56f12eec2b18757d790a3c4ea4a9efccf5d25ddfb683b97b2f22109058057149f55d3fc9a42b33d64b3ffaa98a91f41051f53286cf598f1a2c4deaf8667fc39badb36456992db2bbd6782763d1b1a1885a2a5a0575b90c74c29445dfa4c37cf3cf75f6adc2362826928db1695c3d6b1a826325c8b4c054614 +CT = 772706423c74de6713aa75e55a +AAD = 8caa6be496f84a0e46d44dad7e3b9efd +Tag = b3dc91e7e45b9ae3ed8240381198bc05 +FAIL + +Count = 14 +Key = 770c746d8b94f64c0c0f42770ac802e2 +IV = 01fb28ccb2c2544593c5f77c8bf293ee629d6d7d50ec293cc326389220180b97fd20649b7a9ff19ecf082eedf615e76aa8016afd8e767782a456d534f407889fdad166ffd7a478c84b226345eb2eba75b39ebcc3673788ebd3d52b6ca2b382db08eb20501666b4f4a758f88e7750c364998ca925a5f4d5cdc723f37155f6bde1 +CT = 5853a41ca0345cd1e58a7f1991 +AAD = 7cb1f6735ffc7fccffed6c0660c5b0ff +Tag = e075c0af3339e7725489fbd796937c13 +PT = c02d4848cb060cff3fbdd394de + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 17e9b03401490b05f6bbcf669b2fe506 +IV = 7bf3ebc3159511b934559b34f0e0cee26772e50212c3f365bfc37558ba13427322d4ed76ec2e14ac94c9cafbae4484c19f3e7a90ecab15acbfe4eafc1a6e9638bda8bba25ca86049136a89af56a8aceabc2e18be4359e3de90358f5a06daa3e8ed6e96c25f0f7b927201498c5dd3524df31d05472c498a31578ffb02d52bf540 +CT = b75a588e676a7c807b25423090 +AAD = ed208555b9fe201fda16b151a1ac3e48 +Tag = 5e30a3a495cfe7151a44e12f8dd9aa +PT = 45fd46febc864b76494badddc0 + +Count = 1 +Key = 9aad904d4bf3bf7bbc3300d2616d45b8 +IV = da9bcd1345a4e75c7ae0f6fc194c5a12cafceec08e699200f24a9b5e923ff8cce6f0cae136966309ff8666aecead96429a9b67ea43f2ae1306416f0900b87c84ef4377abbca16632a889a633d51148dd7bc6e58ff75fdf6e7cb42573b3c25932dc4e25955141e18426cbd416cbe9f013546c54dc07a896dade8f661838df4b95 +CT = d952e5132c65e25c933b707402 +AAD = edbdec8c5934540bf4828ab789a3225f +Tag = 5fd7438d85c1b7855fcecb982f67c7 +FAIL + +Count = 2 +Key = d92e1ed78302698f38cfd688d77b56b7 +IV = 6fb70b35204d68c3fd8d4e3140a3d158cc7dfba33321d3c1cb8f71aa631feeb2af44ad9fa022db54b1168418c47f7e4f17ec74fc40ea00639dc13c67608b3cf8283d0143540010339fae401fc8389d6f04a41f3ef34fa0e88510d2218f86d4f9dcd970bac679880362c11ccb6a7223689f44e1c6ecfece38294b26e4fd65bed9 +CT = cda0327913c51f246d65791edf +AAD = 767e11f6eb841881441144c45b39a3a8 +Tag = aa7073b9b0dd303598d07040366728 +PT = 137dcd5285a3efb0f2b36b7232 + +Count = 3 +Key = 68292e4befbd9b015f6849a636a99eee +IV = 2134b0b5b0b6285bda7804e86f414d6da7a53f3464fce15ddc30da382d594799d96dcd54ce265889816e0885a21bb4ad070b77e4ebbb025cd97483e8a8354f0b36e16907c376a05b09945857dde1eada1928013ceec3265a2967fd5c008c08af86aa85166e00d82f20194c437c8ce81a4a0775e1784a829152044a6eb9ef9c01 +CT = a55ddd0dbf899d255599c7767f +AAD = e669dba73cea346a59113787d82739ee +Tag = 96a7e0c27b95fd75bdfbf0c672cddd +PT = acea744440b3911365943ebded + +Count = 4 +Key = 2a90438602c9068691bbd56fb4ba98fe +IV = 099b408928162a111466e7f44fbb5ef1159730762201861a0c74301019622214b3386b74041b166547ef618e2da65417d20396e07ddacd924f68d37eed0dd18b7ecb7a300df9c5d03f0adbab3524810549a5ea7e66e378f5030e0fa5d907179b4693df6f153bdc73591062561777138e678664109eb0693ba3a710d514a3322e +CT = 63d67778f7f5419d4e58e9588e +AAD = 9f9b0cb345096ab3e4f20d8a1d4284c3 +Tag = 6d4d0161f341348006255922da3032 +FAIL + +Count = 5 +Key = fc6e4c198cc04813c95d5191c0799102 +IV = a2e627a1963a58bc8a388fdd92302e1bf7268ac380735aa7ba5dc2dfbae114f46d47bf3c6d3e7fdb3ce659704db2c7cd04ed2c4e20477cee20301e43b3773d30e341d65b76259bdd95b7e0e36a03f3a249b6f263d810a5a9573527981682c33ccc3d2ca79f75517ec95c2b62854405a392c81e313c78ae7e446452216ce5456e +CT = 250bc35a7dca49416fc0290172 +AAD = aad797a9492c23d2813f5da131217520 +Tag = b73b7f224a0443c3b193e6b261b267 +PT = 3e2bf8d089f543d31587c87e5b + +Count = 6 +Key = f975af6cc117c730f5c5ab291e259c45 +IV = 019e72a17a842e88963ffc86466676ea98c6b3530081b5f82d2a8bad77bec016dd9f8718ea0bf426936fe40bf69f40ab3a584d92e9f74460b2cc4c3c6cc06ae2b2fba17dfea59822bbc237fb07d085985de0d7eadc63dba51db3a755f28906a800a11f9b46960ca2939ae3bbc1a63b62d7bb0f62ffc26dca184c6c55a7846440 +CT = 5000aba38cd41b10f8e66731e5 +AAD = b43f884683349c83434b4267ee8608a0 +Tag = 0b719d36e4f77332a9fdcef151b889 +PT = 5ae9b5aa726dcaee50ebea77b4 + +Count = 7 +Key = a2b8c537aeb15c76d261caef15abe4b3 +IV = e2fd5b9a907ec51e87e190113750e87e475322378639e0e951d72a1c92a3f33ea22b0d505e117025e59e03e43f142713a613bc53e7446c8028b857fd6de841c26f37fd65db59bcabc1bd951eb55e977544817ee512148f1b957bc70eec875f81d428b951949570f6b48040d987d4fabe8959695be4526bbff2b1568e6cbacdae +CT = ad94cd722432d98336f5b8ff68 +AAD = 2faae45cb39722a5a387298b98878f15 +Tag = 58092fd78aca0d3f68835b4095d846 +FAIL + +Count = 8 +Key = cf62d3a62b8dbcdd13a62a0b5c90000d +IV = 89468dd49a0507eb52b686df8ea92de696a943f49ef6a36af6ce50d65e40dd9120f2d61999dfe56b32af48efd2320419ce2a68614831102bc921fdca1d739debc84e4a00613d95c5e788b11b9ebc81d637cf291f11f1728fbde2301e062ebb3c96ec6043bd849f5b1f327be65d5ae16b52962976e91496b46c996c0231e8b402 +CT = 3ca48516f8cd0912c87e253ca0 +AAD = 04102d6c540038d010d439c7e7f4df9c +Tag = 4e0bb722f0bd5854980359b67c4de5 +FAIL + +Count = 9 +Key = 80f32ca52d3a63007d65f0c467120ff4 +IV = 9172b0663d62988bcd2bb5cb063b57761d13e4bb0ee894efbee1b65ad4dea7f25bf6784e287bf1fdae02ad8fb881d04a760d1f0c5db01133f1e46ebf60df69e13041fad62e7118264c92a1d1abdf953ec4d39a7f1fbf393d2dfb8eae04ad863ba466138eefcb07f15be8284927674875ae5976bcbf1fa467174e6c1b7498ee92 +CT = a5712aff218999c3b602307d2f +AAD = 46ed04effe5ad7fa3705da45f9ff88b1 +Tag = a4b0840438bfa46d30b09c9dde9a86 +PT = 93ad0d0de90e0fc48cc337a9b4 + +Count = 10 +Key = f65a1bd7b5b2bbd285e40d2a91dcd4d7 +IV = 932b4a60bf81ad14791ff67c400e531fbeafb721f4ef206863d48f55acbfe9a6bbb79d6f9358e142b7c7caeaa682632e4b5a6faa427733fe3779c18ec04a4f0addd1eae0c81a7049c351759a4e2fda797ddf2fde40a70e9bebabb4b6bd19a66994688baa1faae13dea7ea1d7d33c9749837a2a309ca27ee4e000860812589688 +CT = 7aba79e651b4b6cbb8be6d2334 +AAD = bb4da526f0a8310e1eb9c0302bb8d62f +Tag = d9942b5e8c18a22c40328392dd32de +FAIL + +Count = 11 +Key = 52fbb8c5cd0e9654d704478ddf23a054 +IV = be8767051954aafd73fb2b3f11b4542169fc4f43eaeb34b897af801841215a86cb9f5f5f7027ccb934f818d057141fcd9710d9f413a72f62231d5f00de80cdf3b5b29e61ffbed3211e2528f865ae76beb130f3b4fd365479bfa635dfd50a15f0c30e3ce14dad9f7c01da4fded62faf78bfd10604f5ae45260256e0d083e0adc7 +CT = 2e23b720ec6b6ee136f68a69d8 +AAD = 64aed7d4609d10bff68109538fb783ec +Tag = 8067de4fc31c43c2fc03bc8456899e +FAIL + +Count = 12 +Key = a5b6b45fbac4bee6ad13ee65f2fb43a4 +IV = 48bf4a4b630d8c1351d65abe5725ef71659e1de73ae6773abcca2672360321ba1a5d25de2c94485735eed547cd291eccfb9bc388623ebd2d1cb48e7d90a843ce9fc327b268afb69af7c08f9623b7c7b64cd15ee82f3294f213e7b90cea7c2c1af31361bada5ae59bc642e326d22b5da4dade38128685bd3b07b21039be011c65 +CT = a00c8a693ea8b59281d1674bd3 +AAD = fa0404325cc3649ca4d3678603e50337 +Tag = 350ce7a32a44d3aa9f9d57bf22d8f7 +PT = 5858a1b23f92e5f66b6b1235bd + +Count = 13 +Key = dc0de251f965e7e61c6463dcab501bab +IV = afc60b3cf761dc0df4e5a5cc3a4e1de7e2b210f1b80836dc64afc163fc0587d589c777389e1c61315ad048f4c362c30f5434d89770fb7c818af7c4d9c5b248cb6a6b81c8895ba521864da7f60f324eaafddc8f2e57e5ad81ac64ddd99e1a7ecfb2dac85699783bf0cdc6288cfe362653718052c8a35241fc0584fc6be850014f +CT = ebe18303da5f9386433eec9bce +AAD = 6afc9d0889f0c06f5c83366f6632fac7 +Tag = bf2e799225f426fc57adca899eff40 +PT = 40d5a05f6196bec89abe9052ad + +Count = 14 +Key = 5156a97f58dd6f8eabde03b0fe14fd70 +IV = d4ff47a190bc2111c2ebd96d42efbade289d57979834ff93f7a89c654098b69159436516cb58d85a3f21f356b27d39872c0067148069243565894c4947a8329473063f6086b63af0ab1b0fc9d8ee0a35899ba7687e6843d8230f50921ca3a57b7eb50600b46c3b50da2604ab49c8ca208fc3d91f160c63aefca05b6b2d7ba504 +CT = df1e1e91cf819126fbce6f8ff3 +AAD = 35ab0b9ab6e6a894a8c1882b4fa58a92 +Tag = 7309b53cfb4a54c37a40e3f43eccc8 +PT = cbc6566d31587a927a289591fc + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 4a9e4133702f87ebcac8e797d2dc1a75 +IV = 454e12376e5f4eb4648924e0517dfb7c0a03acb2bdf8f072ec8436fcde48e4e095e4f69edc647659aefc3b123a089ccbe3fb344e32ab00125706fedd3347aeecef334c69303ef6e7b792e81d1a3ba1e12f9f0767e5821f313108cd3fba7aa9e8e47b1d5aeb1321c1d18fcfa7b8eff11ff294536c5e5545ba2195fe1a83ce9238 +CT = 4b4a3680286f954cc26c29e379 +AAD = 6f92a1ea68277d96413f7065c822a905 +Tag = 5592170c04a10f67477fac511bed +FAIL + +Count = 1 +Key = ea79cd3815e05283ababff8711fee875 +IV = 5fc2c59f352bda8f0afa3dd8ffb544e8828610a4229ec50e34142765c4ec5f8125a8711827fee2b28262e803b9870a3d1ed2f8427bed3377a3642be7de8a590c3e6de17209143470410b862302e992c3ff2033406007d2a6f1a23663bdef120a24a4d636cdd3439d050b50a2c9da8bf8b955cc26dd5ff782999f731a065ed5e4 +CT = 824a18d94e934f52d258d1bd6d +AAD = 5a2e8a5c7d2347c92b11710a6acebb07 +Tag = 33181c3cabefc7f5db6835b77776 +PT = 2629025f327a83dd299a3d7e93 + +Count = 2 +Key = 720422f0185569dbb3759f26790ab804 +IV = b6e64ec18854158f29136f8aac20a601af477c3586c1aa1700c500f2c72694d816e5fb225b462f64878fe0457e40814d7c4aa4756de0fd436f4533204c7817b34cc1bb6232ea9924057ff20a2a0a0bd9cadc538dd706e5ac75c6ae8e98f352ad3bb3bd7ac7be12c0f7398543c985ba6b49e0f004d76e9ee9a6cc47598357e5fb +CT = 1b8dad2ec5ed436b2ba4f5bd72 +AAD = df53ba0c1ade5d323351a901dc023827 +Tag = 73c910e46c5a1923ab4c92afa386 +FAIL + +Count = 3 +Key = d7e42937cb3262b6197476bd07869961 +IV = 8f010909fad05eb15ec7ec4dc0dfcb1e6c05df26e41c235529f9cd79f2db1c38b5123fe645e61bd52a1b681d75971d9008a086ccf9614393d44f5faf3a56a50775fd5d4992ac9194e5766141e05281e4af03b0757f64d62231a9da66f09d65a22b512c77c2915f05cca1ca9da3b9f28a90d06ed2cff17220c25f9fa7d06e669b +CT = f1b4c56279a6afd83d2b652a20 +AAD = 1d7ac699f5ca9e00e786d2dac53f2cf8 +Tag = 207ea0c860fa97d99c8a32860ceb +FAIL + +Count = 4 +Key = 1e7e9831ffd5456b54d8992f044b7cd2 +IV = 42019edd59b54f590103c4d0179438be24b7c9c8003f5e8b062624c26f1f0b9e0ae11b0e1de16ef6c4accd2def21987fee78b178ab89feca1482656e8484d6096afe69cb1101d679fcd9c02783411d171204659635ba4cc0efa02320e762fb582811dec24391bee5f770bc3ce32f167193293f8ababecce8a93e46efe9d8023f +CT = a778c61c227bb9f51c12e0dc68 +AAD = e5244b07d4083b675a7fff789051019d +Tag = e61f7474f8e1c97cdc10f53323be +FAIL + +Count = 5 +Key = cc5e756775056ac338c73e4e48368a79 +IV = 3dcf38aac17ae034f276317b3e182f02bad126d1b1ce35ab983210ab8113a20254f58c8015c76dcbebec0c6277e4c1a2df75be3813b0c49705a1d3c68191c73bda22d6c0b508bb74626b81e9d00b3b3256cc6cee0818469be482b6bfeccf1e63446be3aa3e6452f77ba80ba38877cbf2c9df7f3713947033b29a94e800554bbc +CT = a6813e6f26af199bbb8737a8b5 +AAD = f1f346b9966e11dae2ba704015bf2ea8 +Tag = cfb049081aa98a577c756b9350e8 +FAIL + +Count = 6 +Key = 39394d3e9dde57e2c237f8c601dbf1fe +IV = 2715ed5fe60a181ee86bf777499a237b2024b5899356b76c2dab2d206e4f8d258d25767d667494d09715ca590f859fccdaf3237bc17865835a2ec1cc97878d4e96caaa6d7aea09339eb1e06795c3f9cce0393fc5869c7a2023551426365465a034ec96547283c62346aa7f54021e7fa4b8892bd40687a2865185aee0c494e803 +CT = 23470a5864a00b4db76ed71ba3 +AAD = c6dfe67db2ad74990c9cce583182ba47 +Tag = 544d3935f525ec6ff275c81e7723 +PT = b583e4da9c47e2de48b921f35f + +Count = 7 +Key = 5292b9b6ce9d32dff4c5256d7435b98c +IV = d22835a8795a2fa0fa855b6442736ad4d2e629cfd2d43820c85719acf074cc423b2fee1be97fa2ec039b5246669689050ba73c6f7d47d265b9406cd4c7e11aab1539ff8694c31d3ed058ba85155cf5318db366904b79c8747bb1558a7d8498571daa393053c448b537f2112f2d5cb9b8d3db800a1e9fae339dd55c479e59e685 +CT = 5b1816a85e34b2e30ce7a2bda8 +AAD = 1c093dd550ad278458a9679dcfdc5fdb +Tag = f667eebd113568901cc0a1f9aad3 +FAIL + +Count = 8 +Key = 4f9bfd5e27acbf255bfc46cf3b66c901 +IV = 81d9034154a9d65937a6e11dd4271a91ecfd888b4cf670f63068f5be7582e97f88fca492b19345d88fbef5fc262c0fc4145d58cbd6623197cd40133857b567ac283e168338f2f08a1644d2459486ae2423e686d275e1958f3046baf8f8250f6f5ad40c59f8835222902830b72c7ea50ed9c29da3f0bee79e3ccf7ed38e428d05 +CT = 8711678e07c1dcc1ae8a5fc6eb +AAD = 16a22269eb20603e2c7dc67c57c122f1 +Tag = d10ae16589f1bb39891162aba270 +FAIL + +Count = 9 +Key = 45f881cffa9e3a6c282f2a6da830a224 +IV = 7445bbe17cdbb779a00b47c802c11ad342333102ef3deb328cb61c89b14b40da01e7e4b323cdb53bb0ef83d434cbd1b35b0e452644f099d2a982221ab7a4f45a12c45340cfd689e1d75b3bd4020e132cfa5c240d529a9e99ac6209aad09b8ed036ac2b605b5158355aafd97bae84c295c8b0df54e2d938c23da3ed3b18c821b1 +CT = 0ecfeb053a33f3d0102ad1bc17 +AAD = 2daa6e80be57dfb272de2c99ce46b869 +Tag = 4ce676a60a65576da3fe5345cf96 +FAIL + +Count = 10 +Key = a9a0cd38fd0abe6694097b4e6c835ef4 +IV = ebcd3243772c5b6cfccf44eb84e3998f1f48ba0b59954de0cbb16bd4f363ba9234291afa1a315e3816e8a7b2afdaac751f2d7abfd4981b8468c14816877cb82651855b3b0ce48520284a1831ecc86f41b5b0cac9b53a47da9eb9800d4d06fd3501fd38516190741f0cdea8e2a2039db32c2436a76c59cb84f77da0bec8602f97 +CT = 07be33b5f8750eecf7ae5511da +AAD = 850e81a3f91c673df7a905bf71263538 +Tag = 372ef1ae954a190358b8e337b2b8 +PT = e6cd4240150c0662b8b6a7ab1d + +Count = 11 +Key = 00d54ea3e314b7b561d569b7a0099b94 +IV = dea2d8538e9ddb2deb3ab32152cbff392d6d1f2e22e090390a78d7a45e05c979478289a7b7e83fb306dda9f722a38dce39f9778a72543487b39cbd7d1d4b4f5109ec1cb0bb3fcdbc61a4031daa68f850277bee436b98f917e575f504118d82605fc4a1bf67a6fe15453397feae6dc0c8f4587560ea28a9d2a76435b9487b75a6 +CT = ddfbd58c1d50cd4adadeb694d9 +AAD = 94c3fe7599b1666fb3eb37716c545d35 +Tag = 38e7873bc455942f3868de943651 +FAIL + +Count = 12 +Key = ec1453f0b9df2d1eff6643db6b75d3c3 +IV = d721067c27edf6999edba7db25825f70ba67bef735126a533b3c1439cf920120dbec8954ab9642550dbd76ef48f8e0c1e51d3c5618fcb12cb6c3cfd6bcfecd55bc6f87465d201939fcb623912ed7f85f881555c000130790ecaac87831e5902525d308b183a981e26c3342a5868d92b53d7ba8f96cb84fd987592527d372ab41 +CT = f2c5826cc7dd7bce1bf409615f +AAD = bd2818c4aa287acaa63b482bc1f3e2e4 +Tag = 8095cb59f7a8b1450e834fdd8e6a +FAIL + +Count = 13 +Key = c304a98a5cd259f06ea5306d72a3382f +IV = e887b4e06fbe1314c0ae830d0f8f5a7861a0e0c509648e5c4104b79079cf8ef97e44a47aefb795aa9b06eeff555c6234d7fae4801bc243c1d3a9ab1bcbbb34bff93eb8ab7b60f1578b9e8ce15a9889d08ae4c3dadaa41089ada0df4ec3671181da49f5f0ae1338c8cdf11f6303188f8c3bac929033cfdfcc8eadf0dc54dcda7a +CT = b664aed200174f0a6c327228f5 +AAD = c36918f483b66d9ba12954df44208cf9 +Tag = 4a7d9292f28f7a7c8e98afb77702 +FAIL + +Count = 14 +Key = 8f5a6bec60b8cea5cdc7f62d36800089 +IV = 9de9b7edbf9a5df0e24cceddccdc9b84472e07c86ba95b033664563c0c2d478cd5f4aad97b804084df9c4ee1051e99f119fa0a68378aff380a46f58a3e9c23122d8b087ead067c608a05b127b8aeccbfcb6a71702cbe0d79b1f70588942ad17819bf43af6e4d3d070e9d2938f241720deb2c3fe2e016948bd8b27f58bc6884b0 +CT = 0eaff67e44d341d81b7cebea1c +AAD = b5dec48ba60932e78d8b1f8aa8753cc6 +Tag = 4443425fdfe8963efaf420ea9dfd +PT = d16e32b53fde55bbea508bec39 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 0f4a0dd01101e18f6fa1824876e03f43 +IV = 89e797568118bf3d48c3bb76da89266d87fe7c67e4908cc7b402b066c76326758af20be67ae91d3fa4034098b42ce177ea67b3085599455071a670cb543fe7a901329529efb6139c140e65782fbdd0cb63a6a1fe51edbe7689f910c9a08852a597f36372001cac37fcaca3b4561c8f38ceba65fb0375feeae6d813f91c8a0f4e +CT = 6d41ada5f512c6e919b31016e5 +AAD = bff6687d93a8f1cff549d952732dd73b +Tag = 95eb49511ff58c794bd6f9b18c +PT = 736c1a72560e436200e09d9891 + +Count = 1 +Key = 6bb4f1ff158b58ee7c89f73f71669645 +IV = 293fec2c29767a36169c17c78f106e2b6e491cd955a395266bcf9619159f13bc74f1042409c8ca201385c5779de3858c83630e3871b0be7cad6bd7161af6af8507f1600ce1671018393a0ed61684f979cc9a31f0c87cefb769e2007bb0d316404f1e2d33f0c693780535b3d74209865558d46534c21e531a6d13790a1ef0b085 +CT = 7031ab0fa3962cbd873e114131 +AAD = ebb9c02575a974721dda24d65af6004c +Tag = 6b4dd643413d11f78b1f9b5fe2 +FAIL + +Count = 2 +Key = 2cd99c337bf9cc7c896b9269bb019529 +IV = 0209cc844793048193fa9a8a2ab2d56c62e673cef3bc3cb8365f6f34ea3cb5572e76aa65ee7604357c034fab92f8fb0bc774eaf2fe0fe79afc134fa412ca6e83d2e64de84b40c8aa52254c59810f1b2dcca957b34629e451a5ddb581dfff844c7b4f781d635f24f5b86d476cf30428860ef194352ca4fc42574517f92eaecd06 +CT = 463bfe0c389d635f384e998485 +AAD = c31c91e24e703f62b205aed3ed7075c3 +Tag = 9ad6fde58ab578ff857f4600f6 +PT = 7c7a3617b6c6500c5b8b9fc5a7 + +Count = 3 +Key = a4c78b8622e9b079a3300a912f116dbc +IV = 366d8fe9e644d2472906a58cb686fd7a40db797faff6b9a23149396966997aa1a3c86a627c2684e68c6824758227a0aff50b8f2677237b4c315be1759270c7d34269727460817f5a75df4277a2734e668077594d035911c141f91fa9788cfd09a24266201c4408e8102960566ff24f67cebb14152ca3cdcb16e3204dcec60da1 +CT = bbe1abc88b33a9e79ff410986c +AAD = f75929c18a37213a6ec373c46a3fd2a5 +Tag = 59527ecd704b7d009f0ca8b82a +FAIL + +Count = 4 +Key = e40136c66dfab983565ef36b4b1b8011 +IV = 6bdc827836f2f2413274521911d29dd8fa3043462709b9e22b502bee781733ac07f53d31d7d36512dc21b5135b4a0d31f10d5915c23837253a0da3f38029e937cf809dd2b38dfd703535b8e8ba56335f0de86d8a7226670b318c75f73aa3a492e21ab0d51cee80f9ba97f0865c51f3db0addacca048e47bff4896df28efa8141 +CT = b705f2b1406525f8a0b15f2173 +AAD = c97a39767907b861a95dfa8750c16ff8 +Tag = d092e7d9efcb504ebae8d4fc6b +FAIL + +Count = 5 +Key = 597c531c81d38443bdcf36a718d855f2 +IV = 9f7ea8162015c1d47ca0cc4cb5465a52f4abedebd6b76c7dfaf1e63a73ce00daec1c198f1f03463b019f740642ead1304238815b13f917d4b7f8071c5fe04d50bfd00e7882bdf50e5b819f154b36c49ecefd869a567310e9c1d8b72e6395c3b1b6e5fc1b6d9b60587cf341c4d11fe066398096b7fd6be7cede1e66b3c23e2853 +CT = 118e963f8c3351aef1feebee23 +AAD = 3025f37bc29616f285ba15d3a211b9f8 +Tag = 0f88e59d35e1730eaf62ed40f1 +FAIL + +Count = 6 +Key = eb34efa3002673cf2286a2ebc27e1336 +IV = 907d9e5bc619ffcb4f91b05870ab9907dc7154c1a83afc58a9fc60431191547e1deb55ebb59c78f704f748fb71930d0305ea3f8aefa07e698cb36dfcd16e71e374ce0b601af4923f18af35c2569ffe7e480b02795429547d8fc3d2da2c712989a5be2d772d54ed04a6cdd331b003103b9a814f9b33712750bfd66cace824dbb9 +CT = b652528cb27ce1dfd89b675258 +AAD = 505ebece821cee31bbfdd3ad200166fc +Tag = 1c1f9b3e3c56fa592ee803925c +FAIL + +Count = 7 +Key = 3effeb51e475200da545fc968902ca2f +IV = c88ad9c0dea7caf58ad75906d12ca5ea216033dc2132384861d0280299a6527f0049402cd827ddf707c12fd4842244b6eb842ba83698db99dfea9b5b4ba3ffcd3ef4cd6462c28bab1e9926a7da81e71be305ec4abcc3a27ecf88302b57444cbd43231eee231ed369881cf1c5aab5d279b49d784859e5d105124c21a019cd8a6d +CT = 6e0d68411470b5f2ae6fe6e7d3 +AAD = d05a0b03d5c3f5b8848c0273a7714174 +Tag = 16c4a2ffd77edbc2c7217c1409 +PT = 7bdeffee1921f2bbaad5196bdc + +Count = 8 +Key = 2ff8fffb007a133d302ffe1a11da0c9c +IV = a9639a0de46521b5d48c4ccb039f5e6b74156ac7bc57e77813ae33170894c4a485f5cf213e4b0721ed6fe98ddda664d8d400b98d8cd8632980946c0b5fd9c787386c96e284d24f27c914f4c3016dc15f8f9856cd0a098007c28a2bafa8652870fd94ad86bbfa4f2849f184bea9e5a16308b3ff91ca159b30924f09d2e49dabf8 +CT = e0cc83a0787155b150d4ca759b +AAD = 1ee7f8f344af52478d39393cc5334651 +Tag = 32411e4c1f79e4dd37a165798c +PT = 495f54130830aa038c965a8bc7 + +Count = 9 +Key = fe618bea1857135d4ddf568a6ccc1630 +IV = 4b8e0a3cd405359eb84d320c284c49f043a06cfd21d0d25c754ea8771c7ebc47d71a5bf7bc43883d126a3046da68295497f6dce650c1ecfb71180f57db533463d26470b3f447b3ad34b69e66f218f2231391fc13c925d0fecb4af6597127e6c465c6b4c3d9db8a7b77bdac9db1e643f2bae7f227d9e0785951db8e7e3fc11807 +CT = 51effcadd261618bc43c0039cb +AAD = 928c5db7a1f9aa726269ed566a1f82ab +Tag = 9a24d026245e3a89f089f33199 +FAIL + +Count = 10 +Key = b00ccc77558499983273e121c0f1cdd5 +IV = e9ceb41cdf13d3aa806d8df4d7e4f72223c6bc7706118eaadf7dfc9097efd2b7ee1e888bf447f44def714d6ffda0d49795422eede373bdd50cc0e02947e605012eb371c17b1250c592b8ee6d893da2cbc09a7fa9bc4fada0585eb9ca965bb3eeed7bab0822d5d79bd1ceb80ad4710f4f9361bc04ba4ab4e8d99cb9f3c8923361 +CT = b22a079d441f4f249ea68c760a +AAD = 8d88dc95c0d4264679caf26135b87f8f +Tag = 3f55b331d8d2cc375d11c26e94 +PT = d026c5f46598f35b3a474c9c94 + +Count = 11 +Key = 31c99dfd58f6623a41a8786a301c6658 +IV = cea237564f6af8b73677af1d80db856573f96f48e3b325d1118b005213e1f6a1c7d171e7eb438c19fa6e846bad5fc74f57695986251cfea1430c11e6ddceb3fe5de4261b450e6d8295b202cdff3d8c53117393a3ef01b493a3c060b1b903d000c9d8650864041def4cfb4bb0b7fe07262643173f684885cc954d6f5b0cda98c5 +CT = 1fe8e03ec849e232671b4c114e +AAD = 14bce7c47511c1c8b7319f14afdf677d +Tag = 2bf79332608b354f296c9c598b +PT = 554bbec5905e16c43e403fd47c + +Count = 12 +Key = 979850459dcf59a61eae88e5217bfe05 +IV = b8bbb0aeb44b89cc64b04dd4dcfea223aaaf6eb30300664e38fe641b0d05390a7cfee9e4f882de22f1d2d81d6e9ae34eb9f896afbd2cf3cf9d9581bc37fa32ee07a7ebd15d80530307cd4044f3ae35b0bbd10e14d60c1c8b8ab449a3c9f96c50a7a42e1a5ce762a9116ee5fca1e69001ef53e8a1966fa844aacf2eb573e4f007 +CT = d842b7988c54f3b9cc671f4602 +AAD = 27d83ca054b1bcb765915fa64c4a4e0a +Tag = d5f000dee8a3fcc3a44d47ed25 +FAIL + +Count = 13 +Key = cfaca16a5e4a4be20212d7263ca2a814 +IV = 24f3b2584663b2c69c3b228f2ef669533d3859a9cf587a949274f20de1d6b4341ed68a018e5ae1c35c5dd82be8f4e74d6ae048a3258a7c8bace0788881443862c4f6dc33f94f7c33ee81910ba9a7521ec34c452277201a35f07ae4e819d3b0b885c7a100af99f80d1e4e69146a1031e3e86221b194ea94902b9a8451d3183dc4 +CT = 7fb5a1918f52df781159a94bfc +AAD = e023207c6bdcdcee1ac3c1e0bb1bc3cb +Tag = 7cd51dfd354aa5a70de827a07a +FAIL + +Count = 14 +Key = 70e9386bec9c4165637b22092c4c57b4 +IV = eb4baf0abc39223d9193f88aa2096bff876032baf1b3bc1b2b750f2d354418805adac56b08efb7210e66e4409e9c6ed08bb34e6a03533c224e65b7e40bd507855ed1a6864baa9ea2972046a630aabf6b1f344bd352fdf6dd3a381c47c0fdc5082666f336dcb10eac413e16a5ecb0d227f24073e0c19849577e70f992b3beea57 +CT = db005924274b1d34afa3939b78 +AAD = d52fe98bf9c84d382f02f0a17fb5e1e8 +Tag = 06c162c471a07a97c25a673b5f +PT = 79ec79b508ffdf2aa50d0daecd + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = a36a21da7512c71d8c8acd42118adc6d +IV = ee8c168f1b99ff7a9fc51bd5762d806381ee2fd276929506d418a7f7780479ae266bb2377dd439cc8b5f95c3f5f279b86f955ceba0c7a346152b29bdafc2a67c4f2843fa5a24b7c575383a82895298fb04fbd4dd20d2f46862c7b5b9649b430e1d31d1fd5f7ad1646894ec19449fd24b1d061250dcb055d6b86ec67b8c208b60 +CT = bbf8b39dbb0a345c90da45dbdf +AAD = 3cfbd12eabb3b04cf54c0b1c474e24fe +Tag = bff451d9d419fd0a379a7f53 +PT = 72a82610c5f3de790551868c57 + +Count = 1 +Key = 4e118ec4fbbac27f5c689c03a846e813 +IV = 85a1f9acde0b960198ff67a904c38e8ec63d51333abdb092b79701bfd5ee640824b7e083c28b37f5070d0a1c9ce233c424fd1893acb5ee75e7a24024d23ec8b7d5fd3e9f8f425d245df4cdd42c27fc689f6e4d35ffcc78034a374695ea20636ef319d8e178f2a5464287190d3fb83df9faca431d0e3f4d0541ec7cbf999003bc +CT = 0531150a9352e8b11a1ac5a1ed +AAD = e9cf728c96e0033336d125c10a0a92ce +Tag = 67982945113ac621e45da069 +FAIL + +Count = 2 +Key = 3a1dba68f39ab031e467f399a39bfaaa +IV = 6ad9609abc0b6e8a88478e728435d51f06dfd54c19b2ab70b07226de02e47974d6322f769bbe56ffa52a0c34bc279beadbb57255830f2a2130a10fc5af5761bad980a17fdb353942e1b6fa2ece6aa5ee472dbe070acee90e58c9dc1bb0fe04ee7bb04e9f3aec0dc5d26e1a644a5c3c96a125f131c8c92fe672e4c5d5125c462d +CT = dc483e4f6d86f714f7ada4103c +AAD = d52b67838404206e97e315cbe61507b0 +Tag = 7d3632c34bac2523844c90ce +PT = adfde2370317bfe6c1990912fe + +Count = 3 +Key = 08d0d5acdca753cb30cec81d054f7663 +IV = 086ad1329bbcad5dec3823c535a3fa33b62567f92520ae5c8ea73a51cdb6e8d2df48dc40e4f58b35022e266c44adf3da866648f3047a52ebb2c85ca8e8d173929f2d496de029f99fd169e738f2736073692726a33648d4cc3dd9e4ec178a444a86b32e7c9e5f518ffa45411f13ee308c8bab755e85518feca005af413c26fe54 +CT = 165444bd2a0dd476df74f20083 +AAD = f966232085c13ac76023a9ae848b7aaa +Tag = 80067d3235e360d268509b32 +FAIL + +Count = 4 +Key = 8611a5d50362892a52f5dcd12834f584 +IV = 15aaa09906f15f66c0ab641f92882721ad7e9b4e685f5dac23d14447ca1f9bb91eea2f36e05acf2cceeed182cfee0536a51a0c27c7ecccb0226986fa67a82fc43a0f4da6c0f81cc49f3ba09c70eb935fc0b48445b22302b407fb2e10e450b677432432809ff583d6b94baabe80e439a00b820e37c703ca21e623cec91a42ee6d +CT = 9b294536e1f04d22a24eace265 +AAD = 7219697bec2547d3ed958dd658a39c0a +Tag = 8cc7ae48c4f547f3e4eb3fbe +FAIL + +Count = 5 +Key = 2d76d1a53424082962380875dd20df45 +IV = cec85bfc27e1a5804480938c661b337ba724eecfba02b586ccf6ae96cf6506f4d60d6fdbb4332486f4cded2474b4cce90c43ab6775d63416524e09a8908f1608ee86826493b4c26803acd933ee14e40685783f313adaa83efa4055f5ba275ec9a63ae25d8f5da7a5f927bdbf077db982964c2a70d09f96872df77386398aee1d +CT = 003156824e35c42d53992d2b95 +AAD = cb74f6ca8965dfa742a2d89a8424d7e8 +Tag = 77e572e5c9d1dadde0cc3746 +FAIL + +Count = 6 +Key = 8c57993c0476158ff3936a157fc35581 +IV = 2b8eb4c5dc711a482fff54367cc6ef588b8bb18f0a909ff89e2ab87a4a3ecb0ca1d6bcfc6c97f53514c6e31a65a52329ae482084c32d9b1db34b9807e645360caee753279fcf9611bc906ed08800da881ef4009fd35fbd9b2a6e52541031fa5fb8bdd3d3d026df16bdc000542863b0d2969ee57211d3c219574f45b0253f4c38 +CT = 0950005954bccc194897107fdf +AAD = b98ff96f85b19688a9b118ae509dee74 +Tag = 8a50955a90d8926c534ff928 +FAIL + +Count = 7 +Key = 1bd6558cf414712788b67bc8cef3e948 +IV = a40771104d9d58fb16ecc8c219c45029c2714933d0328a73c0f9b9b4aedad738e5f5ad7f44a6c45e08df2782553c9f4140d58da7381f57b1dfdacf5d39267b05da400c7e38ef7d8171ffec1d66fe3b7fc8145119349956ac03d485b95da95f5bed9c07e4c38e3f1149a57929c950494b22274614503579e7187990229bf21849 +CT = dc6a15d134eaeaad8885b529a1 +AAD = ed635a2f1c805de7e519cd27a5ed8a87 +Tag = 991e04b8b76f14a216d386b2 +FAIL + +Count = 8 +Key = 0148222b7b47a1262dd74574ffeb50fa +IV = 1253f71a489bb466da454972f1fa0224c1586e343a276c333e70b0620f8c05476ce42e679cd4f0ce1b0f0cbf305115eaed587b262ea96e7df3a813aff2beae9a68809371f6190297e27ced77c9b70e15c7421756474ce5fb3f59d8dddd3798cbeee76a3dade4dbf4bd43bc5c49dc21d0eceb7f71d39db4a59bb041ee11effa82 +CT = d1606a48e8ee12820bae346919 +AAD = 8de43b54217409458a7ca942a15272ee +Tag = 31e2b1e345809295e0d144a2 +FAIL + +Count = 9 +Key = 5626e90807769ab6c29c07c72c7a7486 +IV = 53ef8b7f5657eb9531c04ddf9d821b692245dafc967661b3684e435901a457e01f860aa07b327c48ed95d33c702c6c7f32576c61c79a833886097c4c2c8650a715bad97ee40861ad2aa78dc2bba9e70ba8f34dfd66d697b92d900dbafd2ec9bd2011b56540ea33fc998cc7d65db96901a87270baa79cf40832f8d1244ba8fd8e +CT = 31964a1b27898fa55c0cfa38b6 +AAD = 3a70b5fa716bd5d520ef5d7b066d34a9 +Tag = 1d8b5b0dbc762f08fff8a238 +FAIL + +Count = 10 +Key = f70c54b91d29e33bf859c1a9516eb8d3 +IV = 936fa9179c94f35c55ec65ecc10d1c16f373f9ade0ca43917bc2d424c2ecc87719b26dbf04d3b06a08c25204b8741ead8d41595352354480552066b7d27d35ecda75d572386200c3dc07b492b73bc60bcfe9c14dd9371319f4daf4a89a2a5dd182a6b350912698488fc2eb0d5dfc741c3b4d8dc9ceb55364dbde946adf2001d0 +CT = cc5e3f065ad0a53e315109c6da +AAD = f41aa42688a0bcc607395684834a0528 +Tag = 067c653e7df344eeeb6e1965 +PT = b66ab2327a209771b0fccdd2f4 + +Count = 11 +Key = e443f5f2fea04357878f3e3d3e59db9b +IV = ddc28ce402199ace871663fc9f948d0257770cd5cd9d8242a20ae8382f40a8e7ab384c8b9dc5167e0bf5a95584f4d4415a2124148435b1b270b592cfda6c1bee14623b547481ce19605fca7af033b77c7820a66622ba4ce655e67c5fafa7be26ff480919ca6580fc5ef652c040e474a2376c26f1ddb0e55bb9ba90da7998b553 +CT = f190bf30f0b529acac6aed672d +AAD = 7e9e557bd98bd38987873dec667e7b35 +Tag = a5419eb7373c00f9be8b6e24 +PT = be0f5696c4ec08c8f9b31ed465 + +Count = 12 +Key = 0f4c1527ff9bd39abb2de18ef2d3a16b +IV = 61d5487b89baf62d547810dd426519de60aea8723dbed676d6ae87e77aae98ae24dc142da333a8a99aeb710b30d8b410d6d3c63034667565238f311c8abccc5a32f1a7bcfaf4b7474b7ccc24b884f7a472964d0de4dc89a1d4f05ad5ca087cbc5cfaddb9a5f455aeae2fa2f90db3fbb44d6dcea4e43b89335e80e2ed4430b233 +CT = d38d5a188e9cf41410ada1ca07 +AAD = 639e5c552d5cdabc8c4fb30f639700c9 +Tag = eeafd45fa3247203ac12c360 +PT = befff8af8ce85cda6c3eca58d0 + +Count = 13 +Key = d87a8b70fed3cc174e8a635c69fa9b12 +IV = 107fbb775a13c1fdacbaaf371104f210880b4d3d5c9f9d51ed558dd8615794f63954c8d5b3096e191c03fad7d7818a484a95580b852e71b8533f184040056aa41dfd55efeea5c80b733f386c4221f529f29b6b41ae15f10e56cae94f6d677d568e8b72e8fb30eaca5c13f72c1bf93786ed9cf09f6bd7156176f6e7cb73f14666 +CT = cb6f07c7517a4bb1f938c89133 +AAD = 717ef162acd33aa88fc0d4d9873cb599 +Tag = b1bef281f5e4d292a4f1a973 +FAIL + +Count = 14 +Key = f8598d1558fcebad89fb0ca6a4371459 +IV = f420984b81e8af2748335ebae017aa3760a087e4eb16d4ce3c234e9fe1b08c06cfb92403eebe95b4d9478d87dbcb921cb8e43b89c98a03a2e7cd927848614c81ef8dc27bdf20f420fa6fc592b9dd14276af837b305d6863231c60f36c7a23e00ce595be13e715cabeea51400919984e494fd785a0685b8ab4e39ed3d03abb1f9 +CT = 35a1ec2bc3139c81a726fe2d3c +AAD = 4da1f7deeb88cb8e737fab1b440c88f3 +Tag = 4b2feb2ed8ec31c20d6c59b3 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = c4730e57c318dbe3ae7ebc1a246f3eef +IV = 2d93d985e7154084ad0b7f206eb3a5006a2687f7a84e40ebb4b17bcd02a12ba1ae39da5d6c334badec475b33b7a7da21431a3ec1d9e8f2b9317feb74421bd9926a8031da62ab9541b953e3492cd858a6c843d7e29090c3fdaf1f2bbf7d1c014f38a26452e2b3d92244b05f8ddf88af9ddb6b7c6126bb437376668c4f46f98672 +CT = cc7a895f535df1cb0567c04bd4 +AAD = 2efbfe15961f8199579efb655b3d7a62 +Tag = b39a9460f8d4941f +FAIL + +Count = 1 +Key = e2b464e5dce9e6da1ebecdb0f5757f1c +IV = c5a26c76e6a02fa6c5835ea8e164e0992c46bb942d9ad38953fc97132cd30b7f8fa37b44088e0830b41c72766c501fa19b81becf27348d66a841d99a04f43877226618f33e48c77a6c7ff8f5f347612f23c2cbd5f07f1e97ea092fadafe5a2445ffa76e5e227001d9ec4e1f87ec9782c737678b8b921dfca6f65c76c06b28efa +CT = 290a3b6565ee788174fbd5ebbd +AAD = 2f64d9794f4787533d7904756e681868 +Tag = a039fc31ac77006d +FAIL + +Count = 2 +Key = 5f843482b2d06dd0c8ae510bda9585c1 +IV = ffef70622cd9ab9b41c2f5b972df510ac6b3d9d9fdd7dfd8a1da7e0e095e223eba92473e92ca1fe372d5584d38a755b51edee3611e5b7adc5b2f2d041663d430079268303e161233371223c3c5aff2afdc7eabad95d4d5508aff709a3a3ab1102af4b918c22f94959ed8011e3e4f47845e3f81dff7f4c1ff8c5bbf8e6d7e2d7a +CT = e04acb3ca25faa4c1fde894115 +AAD = 06d750b8d0875a7b81db489fd6c3220a +Tag = 6dc717d06df77efb +PT = 0af2c736ca1a48d27d6124fa33 + +Count = 3 +Key = 0913f37296c323b315020efffd80026f +IV = 6ab2bfe6a222e24d03fd696227d77d3de8f3bc313ecb0060d0976a2f68b8f5ced00fc6bfad3e00c74c07774a612623c7a084af92e87118a68f5ab5915c1649d01df229c7048881d4d127e8f45db4215afb469d6124fd74529fbc0fdae37bbaf294aba5ad52e0094b4f4d67a2970e520254c0f380407c8acd99564761672e3418 +CT = 4db985fc8e2c2e79df2d37098e +AAD = 51ebc47b9c3248430437946b077862c3 +Tag = d5e8e7da7a0c749b +PT = 5e4424c774515aba610fbd35d9 + +Count = 4 +Key = f158b9dc80428774dc89cabc3128cf8e +IV = e08e1fa8bdfff889b6feac562abacc60db44744a2f86b4a0f8960507b60cb877eeadbe17a78742cbb2152ebef7f5cb19591a1b4654ce83c770f7a2509fb626feb05a58b5ca3e9c72ca4509fc9d0727f81f5a7f890915cd678e71ebc94b8571d2306410e246556127381ff907d32cbfb0968aafad5048931dd6b4f1c71b609721 +CT = 322454dec3254e746a0a3ab4f4 +AAD = 02249aeeb6bf7d2fc834c5aeab5547f6 +Tag = 32e55910f199f1d4 +PT = 3343e20601765f3d9233c22292 + +Count = 5 +Key = bf0c6e11123a3d18cd981ca6bc5208bc +IV = 3f704ae31eafbbdf0960b0841faa4ba9a098b1c00d170d6d911dcc4a7499becde85b248a12fca19cadbfe135e08600bae0e0c586a15e7ad6ed970fb131cf391bb920b7a3f56ac1238988489ac0e00aea90b96fd281583cc9f7a6e3b70822aeb427b5026b773558c39ccb5436c79c87ffe8e891126c95ee7b736c4811974f9234 +CT = 8c59300fe71400fe849d3a4eed +AAD = ecb81e36c470f119f503af819fbae968 +Tag = 453ae6d78aaea265 +FAIL + +Count = 6 +Key = f44564185afd9d449700a51987b53916 +IV = d4c5c951daaff9efeaadd1d4fe23475ee8a0135e4c9c845f2b00cfc3c39d6a45cb5d9d764a1817c82a7c1a0b440177a3085d3997df9fbdfd6fb306685dfc5e8621b82a307c09d7314182a2f962e32abbe60490290101440ccc170da863854cd5ebcbf96cd90be63b18de7036318bb87dd91d85215c94f129365f3cea45f65cb7 +CT = f2f76d0b9b56b1b93578d3badc +AAD = 30c028d88f95db8c89083b9e824c75ee +Tag = 778f912260160775 +FAIL + +Count = 7 +Key = 59966c03c64d1597d3e8ebad0748c720 +IV = 792256e46f743cfa5ff8b7feb5e2cfc0eba5888ca87782a7e9c249bf9201ad9c26917a692dd6c9e429e0bc2c322e02719fe42c224d8e8a37c5d7ca16938065f3c718b97e5fb5181067a7613907ae081f6d26c3303d66a33e82058e184f8d1e78e4fe0d23855b5b7b68a80080d7b6383728276703e9a5534ebb07266559c2875a +CT = 8615c49dcada45b6a47ebad5b2 +AAD = 4e843cf425ce3437cbbf7a35d50d6bcf +Tag = b701a573fdbd5de6 +PT = d3a259c9e2d5ddbb2495e65975 + +Count = 8 +Key = 6ac6f20fb47fd27ff5cd0e902f181e52 +IV = 9fa2fc68b64c8259b58ecf1fe2d0a8239c3731f32fc369bb4985c509af9cc236505030c1d65f235d2c5dd512a1da737e9a8b4a146b35f7cee98bbfa5199af5661be91dff424e25eb2ec0fba26aeb800ea0821915c70020ccbffb307648b79f63998acf3fbe256fcfe3e87dcc42a76a8f91d769fff7b528cbf1837f9d4f717acb +CT = e55bc6617000ffa44b74c39dcf +AAD = b28f548ecc1b1f795d1d38b90ec6d437 +Tag = c83daf47bb187ee4 +PT = db510b2d7c62fe9633ab81621d + +Count = 9 +Key = f590a9f470ec1d8ff08ea1d3f6cff404 +IV = 56fc7b76489a19df6ec4b4c033c4ee084ec53ef0acf5faeae44efe102366fe99e05b54d268e96b60b8aedc44bc5bbf77301c6d393926ab6942add03b90397d1f7271c9f25e0e568a10944bb0a81ef4ab8be201951a0419b25a8849221118648ca05b720426ddac4a37c9c659382338bbb3b53648eb2976d4f6eaecca389a38d4 +CT = f89271727d799779b591c7e8f1 +AAD = 7cf33cd13b64fbb22c54eb8ad1e3163a +Tag = d8c4f2fd955b33c0 +PT = 8fe5d3757de6893b92abd5e7ab + +Count = 10 +Key = 49523d7cf8b8441a230c9d31091e78c1 +IV = ecfac2c26d6cdca11216dff27ec62f72f31ff130a271f1c79d6388edf57984fedc269d66f363b1b7ab018c139184b76eed7dfd5d2ce20e57e1b566deae151abe65b6c43894e9afa21cc8b0641240ffc5ce69f6f353b1c0f477f035adc536c7e069d428ffa6612175962af9c3b3f953ee3138ea22b4f6bae539a0681a08373cdc +CT = 0b50d139238a64bc86ff7a6b70 +AAD = 57d908cdaff73d60722c9e5002e18c3a +Tag = 09cf7240635ac28a +FAIL + +Count = 11 +Key = ba4e182cde394b889e2858ba6fec2036 +IV = 512904feae6d0ff34bb4821dcab0027a140fc6a4e5ba1f1b785a08994b59dc370be8047e26f2be9b578ba5c6823c12281fe8fddcf684f35abd7ef094acfeb36e60d5199abdeb4229bbc77b34a908e72bb09454bbeb230e5c6c8220fa6fa3ad85b677f8545568b96adb4b33b7700e981b1a9573604be78eeefc89ab0af768bd0a +CT = db3ed398c0e2522a9b80bd2cd6 +AAD = 1536ace1337d1b111713df6b93703568 +Tag = 64cdc02a0dffc8d7 +PT = e7b4a8f2c1d2df58b16f9fbdb6 + +Count = 12 +Key = 42f26ff76e67112c746b40be1c35c732 +IV = 88015ea7ec4c206d4c8f2207a62f18ec4ee04beb5ff0ce3b7ff66d86e5a02e81a176389d206f0edf39cb496fd3a5c880a4567f36249872e8d47591503f65016cfba860f2ed4a5ad16911e94412d6ca5b8c19168885c200adac5380483285c54bff41afb0eb5916833fabc8a683f5800f7cb6d9c347fcfd873666b1d56f8d4e1c +CT = 903bb1d1ae53f8d8d00eedd599 +AAD = e5cc68793d31858c936c1078b06f7619 +Tag = 5ab0b2e72b14b18f +FAIL + +Count = 13 +Key = feefaa93407cef24e86249458923f6f8 +IV = b0550a3aada114c3f4ec9fa7d1c84e3b501ae423a6238a976cf28b5ec0e760ef7108c0aaacee1572ff6bf4ae0ced9f12d732b9ed93a70e97424b96402228e79f903320be51d593a3b42319b8d50198a5c275dda3f700dfdef5204c4660627f6d7d548240f72c6e260c3031795fbf94f04eab0a7a8fa93bdee94f0c65111c2a37 +CT = 157c8bb2398f9c59bd41d5668c +AAD = 5d6fc685ae78cc687706ac654955a622 +Tag = 5e77306a1d6912dd +PT = 94e12f9c141e1cb3150ec25a3a + +Count = 14 +Key = d2159bba0d673c54dc064cc92610bcf6 +IV = ebc28736ca2516143084e92dff06c4cde723c06efd03117677a661ce5e947502b809bd17b9a5de94245eac62c51a421f5bde7246ae87bd090feab3404fe91de4cd88191b61208607332b14b14b5c89b907bb2120312b30b1cf8aac7af0cade218a3490609390c51e3e307a8ce4a8d5505ee42ee0b89d44d6568f12a3140ee879 +CT = c025bfe5ffaf6b44e65943b57a +AAD = 3e14df0e29a2cf71fc75bcc99fb4addc +Tag = e464fdc1c8a51d95 +PT = babb00b68307c1f7749e946cc3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 903cc98ce31ad0664fe6b6a45e035c6a +IV = d9795c675facb0574f867686cd3fa1a3df74521899ad3524a10af01747c7f91547656d5c205b1f16a2893aa481c7b419f489c7105184b9b54a008bdb55176a7722b3c9389c4c5e2e3c280d0cc4a933f8371f70b486b28931fa7fc3eaf3cc11b7f7a9a83fc0a9e957eba5e34b25598ca778e01810afc5a720b27394ab84b52ae2 +CT = 3318ef390de25947e61f371bbe +AAD = bba4c8254901ee87bb59bce63410a532 +Tag = cc54b950 +PT = ca218b039a9aab1a467a30e3f1 + +Count = 1 +Key = 001ee1bd6366356b4eeaf58eff9cdee3 +IV = 482d51f9e16fb4676284adff9a2b3803d65faad8518f3a1af620c704ed654e0d86af38daa496a95122732eb096cf86235163b5a2449a4132aac74bbec6570cd9ad4269accacda50a47c3e8b4c03a6f0b74f5b23518e049ab90cec56ad7bdaf969564d01bed9b37074fa57a229bb10a3886df0f70507a20f68d3a83192f422150 +CT = 21cfcc8180597821d68c87d3ab +AAD = ff927632efac09e83e73161137b48c78 +Tag = ad870a2b +FAIL + +Count = 2 +Key = 2b7a497bfbda1a722c8947ea5b82e1e7 +IV = 054a51b46a2ffb1132e7c66bd0cccf0340ca454d19c3e9f933bcc9fcc4f2cc6bcad33a1f5353579bf3292320b0548bca7ee27f1c7a9881a45fe11110f4e71555a08678fb11b55efaa3df6ae5734569e52a710d30a6c391f843dfcbb96b33a420fbd9d910e094b166b142fc53a3737b49820b7d2ac9443a91a629024260746979 +CT = bef0877a206ad0dcc8f45a0ea3 +AAD = 04805d46b74942635134f64428386b34 +Tag = 70656805 +PT = a8f6aa57a124982ea856d80437 + +Count = 3 +Key = 63c344849a1232e86842faadd65069af +IV = c8c228b6707fb8b286950eefa23eedc3209f75ddcc75170ddc4315deb04929b513fae4e2409ade5deac0a55f8b9fd9df154893e1d0dc906c4883b1f89b40ed3996cd074df061a84dd763dc1ca05d73012baf47bd48956895a33114596f314b45ed7e22f3344fb1547e42d0e6dcfc5eebe2628a28875d2ed520b80142601e0da7 +CT = b8cc3ad2ee17f12b2f4ccfff47 +AAD = f654220bc6ace3032f84418c67287112 +Tag = f5716708 +FAIL + +Count = 4 +Key = 88ae937c514b7f6fd443f6a689ee24d2 +IV = 6d319e7deb8971fe7251318ba4e83bec02b7e6cde8503bee408cb821bc561338a25f6469e476dfc1ebeed8ac6775d90ed9ffc4936ea0aa56da1da8def9af198445abf285c50c6b266d1ef61cf5d92afba4604cb5899e0a6856649171de26efe0d87914ccdc79fbe69fcfdafb2d4a8081d2c2642f2a3bbc29e8102f38bd4bedc8 +CT = cab1d2a0613d1a6e78f6f9c317 +AAD = 6e5d56f520d15765e38acc0243923525 +Tag = 35dd4cf3 +FAIL + +Count = 5 +Key = 998a20a7a05a31e805d161866169d3c5 +IV = 5a9c44951c31ae6e50dc00dbfa34e477d74bd35b13644d5ac6f1ffe1cdcbd73eaae09c02f9ad3a2ec99f983e6c56a6b4912cdd0c2c130b14f1617637fd6b2f247901a94c48b5c2f44a83952628c3bca77ae19924f66e64d7a928e3daf6b0a8a8093d204fe69df4d4bcd292d34ca8729cb12dd9ae8c8fb00c1f8662a6c1fde484 +CT = d9e31f97df70c1b8b28ef47a44 +AAD = 397155d77397d6495d4dc6e29be3474e +Tag = 9f27835e +PT = eac3a8f5c5a325f07f13cb1ec1 + +Count = 6 +Key = c100d8ad49bc9c3ce14837e607bb4f1c +IV = 2c3d100d5b9c144129bbfc39951ad2b6cdff8e18ddf9455381c535dd759920df0a315c87bd8f45f2d9a32b201656b02e8101510360ff58528629bfe2ff925a753246206510439571eb682091e380a2ef77201fd6ab6998e84558ea88cbf1912163055691049ea327e7069d9965650d13b7b3d4922685a597a62cd513f05fc2e4 +CT = 6587531a4e91891162863cb6cb +AAD = 1d57282a4bbd17f07d696e5fa2703479 +Tag = 1dc4b74f +PT = cec4f25f84edb905fdee81c809 + +Count = 7 +Key = 81003f0e1d4083621336411de5725014 +IV = e7ba66d9ede5d616be6b61d906f4a124f0ddbd99c36020ff8bc56002b3b73498af7976f08f6123175d49eb3f2743c18b2b88d1ba2ecf9b43836d75f2dc9c1f70f63e40d852e9d22b091f03e2bf6c08abc46f88c9837119055c3a4c3022303138644d5a3465a0f823e7b2b2fef17584d3e852b38eb0dd503cc98358f0e4411888 +CT = 6dcd1f470d2d35ee8ee4df0ac2 +AAD = bb8544bda874716ce17e50073b70b121 +Tag = 796f5fc3 +FAIL + +Count = 8 +Key = d8ab255069d4765e9bc05d4dc77d874e +IV = 361da2c5e1be51dc5c37592c7520f6bca3bdc2c3368e37a6fe28a1def5bba4a1263103ae4f724675ed3b9c114fd731721958451c79dce07b8d89f1a9b16a31b1c873beae304c55859c237a890cbd6a8d6b120cbac1de69ca1ab85d857118d3612936a2445a8fd539d6dde7741660f284a526d196320bf3a4b6317f600b8fca4b +CT = c9b8df180627f448ae2c8ce03a +AAD = a65ea4cd3e8097294df1eb15bf08de45 +Tag = 589c3a7f +FAIL + +Count = 9 +Key = 53139364b5542d0a7b9a073640fc0b98 +IV = ca1b460a26e217069ea484fd47daf34f37d6f0eb80ab9ff4c5f8f0c26c1de66e7a58499ef2e39cea54cc9d25852e8b8debce7415bdbf80c3f62f4f4bbb411baf9855c38d80c95809a6f7982a99e6efde84b697fdea75d0e9c5d9a470bf914235e17e0bd6962b37a3a4ee0c3ad2f1c4a52d1b8756a54f0dc5293dda29069d3692 +CT = 1271cbd930a2d74aafdd027d57 +AAD = 7415b4230f5a51094b44fcf0498d76b3 +Tag = 8d548872 +PT = ba197ae6cfe9ea1ad9686a337a + +Count = 10 +Key = 3289576bd22380bacc8fa7d2dc65b180 +IV = d3a4f0ed765b61901764ea72895f6631295311cbdaa65b7f62578b0fb967fcd8f72a83399a9998373a6c4afdb29735ee61b743e2cecb414a5be9c5fbd65e4803097d6c2027101f0140e2f6d53b3a8b7440da89d96ebefe9d2e4f946ffdb8de531bef2c4901d878fc88b2fbb3cfa4eabfcc98b1707eedb1767ece749ecf964ec3 +CT = f76a48ba1517346c67dffb9ce3 +AAD = f74fc475cb969e5368223780642983d1 +Tag = 8055d6e5 +FAIL + +Count = 11 +Key = c0f4a84adc9ca8211353c23801555577 +IV = bad30bba5cde0609e35689f0d199c09d3cc9a4755d9f57b0a9472a1a4eac9fe69c3de2dd461e0f657f5abebbf393c6c7f0553518e7238b97819a5bd6bd07f83b71618c0ed99070e216cc916bb426f03a34aca6846f4299ab489c796ad695622f546a203e89e17dcdbaf2e6d08fc6ade8e94979fb7a95b77c5d9569770594d74e +CT = 995df3e2c70ab18571355b8c2d +AAD = 2916fceab41046e530da85ad52110ec9 +Tag = 243c5bff +FAIL + +Count = 12 +Key = bf044657c1e86c91134c80eac80ef0be +IV = be7a408d033b0f6c0cef3218dae1712be0270d525b1c07b66d78d5c34ba56d7733ad3680d684eeebc6203293a4d468faafb509d6ac81f53d0e35a9bbf42a75d6bbe4eabec022b72cd082d68d4dfb7d566b2a0e45e40c87ae59dd2a3beb55e07595dc43d7696173fe8515008dd63a7ab69b8f59f8bbab8ca8b95478773e739275 +CT = 85b8c63c19212cff6aac032731 +AAD = eaf2ab3747387284e20b54a4e6ff6efc +Tag = deed6b1d +FAIL + +Count = 13 +Key = ad6dcfd431af280f5c91a450a6b3d637 +IV = 1cd9dadbb302ca550c014f40b434b23120562f85b4bf5c4b93fe95ced7376819ca2bd568ed0b16742c61e4eb2cd66d6e2fe545671b733e9c63095ebc56b8f7bd80f719e7c2f9adeeca2a986f8419331df171cc316917faaf8b64111e72c8445162e597dcb2c2a726573c8af84758cfd1cdc2eef193cca558dbab9a65f755af8b +CT = bc822effbeff1328cd745c2e75 +AAD = f242dd67cc4b8121a4b530eb3da5b05c +Tag = 62fc701d +FAIL + +Count = 14 +Key = 211b40e7acc1f4e24b3c6a0009be5471 +IV = 7afe13e11cced4b4eef0fa380141d8c45a9729bcbcc1a1c4bf5faa3d66ce5c030a7638d052de719fc0b617c130db3087454f290c8d06efd621fc0689881f2b7279d97c1b11c6986b63ec764c75171772117db05997d3f95b1bc9a58d57673da53ccbc28b9346171d618d6e818b07cb6059beeffc82ef328d78b55eee2f80fbaa +CT = 39e2941cd6c21ebbc56aa310a9 +AAD = 9b5e9693b3ab8edfbb80ef222de4e57a +Tag = 938797ad +PT = c5d6cf4fda0c9abcfcba2b4930 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 1c49310998b3fc40caf148e851565d1f +IV = 3775738a15794e2f06c999a8bd92d8a844c936af258e5b6ed5c8de0ce22d0bdbc437b423292f690986b05f09ee773e74fece24886c5bb4a6f2734ae4f1a5b2c4943892574159e9e59196d1acd6cc5dd0c487166d8fae9679f73060393832c53cfb6c11ebb8ff24458a130539578dec9534983b5b59be25cf563560a9168c024b +CT = fcbc52c05aec1b847a1e4c6668 +AAD = 2e1e585b4ab8b1bac9dfe6db2faf5b2b0c4ceec2 +Tag = beb786796a134d0a988f6356955e5ffb +FAIL + +Count = 1 +Key = 72c27eee8412ee2d8dc3c658a86efdb9 +IV = 40005d5d49840e387d991564a0541eff65dbbbf63b49dc95f1c0dd5a75534dc53afb63209b221f20cbda451f0c1ca225ecdcb98171f0acbbc0a3874db8fef8069f92fd31cda8f9cad1c025eeaa7a002e420452774881a17ea675f868d3957a6963909b2bb8fdfbca7276879878ff21a2ccf4a7778f424b4ee624b4adadb691a9 +CT = 7dd555221342de55174910a7d1 +AAD = 05bafe771fe69310cd8f7afd93e4ae3072d1e5f3 +Tag = c35d030e7f11926f13ea8349872b8d2b +FAIL + +Count = 2 +Key = 303e7a63ae3fde52aff86d007206e4db +IV = 14151e61608a68b723c5a1920103e043d7c7437ece4e64083a7c95d56f1c8bebd2aabecb263ccb53ca83ca01d72302d1099f4434b87d1bd66eca20e636f7a6545de3776b34901422de3d07839941fbc6c18fc7422d79f7013f144b17ca6ad30e6075b925f5a2ccde05f5aeb3ad5fc8013267314a91ec516739888819196cedad +CT = 35e233476257044f7842c93df5 +AAD = 581a1ab719a6d27ec704679b5a7b5f74a285879c +Tag = df0d1028474b590a8bbc36a8226da883 +PT = b040b6333dbe87a6fa445afff5 + +Count = 3 +Key = e45820208ea49fcf69111ea14f278414 +IV = bfb45713fdb20a3714a201a3e34fba621be1fa2849b9ec6643f45a6cc6cb8060129f1148972d1a0f38fd7e365e2e6fee1cc390a1879872784e0a3c65d4ff8ab8f1151e7c7111551da82421ad7bf21996f4b1ec601fc51f7e0cf59fda6443fbd5bd1a0f67629a95be532bd9f389a8a8b05137f109d2e0797f574413ddc574df04 +CT = 13b2058b2e75478c814a3f45ac +AAD = 6735ee4d82b65a158210d6f1fecea4524ff6b1e2 +Tag = 4ffcccae30cbb8975698b9cc52d3f776 +FAIL + +Count = 4 +Key = 4b7a6ed8cb48062e97a28e5d292abae5 +IV = 0a9479d78c275e408af3d22cb27bd57e162b1bb49d3da931f85d85b5856138db7993a35218cc514e3629ab54349b13a3d52b55500be0e788b75e7a6258a4fc00744ad32a0bfb20ccd75f67e6f5972286735496febcaa76120db6e125b794915750c0f4b6a9da51110cbed3f3488879a33f72dce491d174d7293f70180ec44a28 +CT = 7c26575ef5a4bd63f9363b68f1 +AAD = 26e760d53f1b9f222d4a6ccb206b8c6fa400056d +Tag = 13e4c11533afec7c3d5533cec1cf2d23 +FAIL + +Count = 5 +Key = c9b411cf986590954418ceb98f328f7e +IV = 5cf7480a588d12bbb51dcdc3c415d0ef57c08859d5f2c730ed5c201dc7c3ecf2e91bc131a35e6f77d19716bb98f6733e317ef4f1e15bace607929a52c9d16ee35668b83326b3dbd09d32ac34a18c728ed3066c6f8118a7d23ef5a8809a3be597bf565e4c8aa3f004c16c4a7d6db1899b12ae53742c1c4cadf430d1173d8619f1 +CT = 7800a18530b547c294a561915d +AAD = 48861db87616193191a44b5ae2c7fa213ac725f7 +Tag = f4139f0bbc0fe0fa4021353f50c37f49 +PT = ac40d7a4b83c19339a6415c6a7 + +Count = 6 +Key = 137a17a7d68ea8b09f21ebef32f54f44 +IV = bc99099293cb8d7a7659a50b892e66c441b73ad2c0537cce845a4a4da15b873024e205092dc5ba61dbaf9400c2b5d974ef7bc3ea121553c5d42c6222abd77ceca7211d9a0d88b794660c3768b421e2beb6be7e6ed834e7ab63129f83af108883146ad45acd716ed4bcc62a2ef258f06d7442a6d5218836575dc630ea0bb33d5d +CT = a087b2215639bcd8374ddafb05 +AAD = 8d9f6827e4a4bb97676a99eca7d5abfc5e17188d +Tag = a9436be05f5b60c877b49cf1a5c291f4 +PT = bb3f1e8ccec1a19653e8b73a5f + +Count = 7 +Key = 95b413ef38966aff9313963bcde0895d +IV = a83c9b4897a31de2989fd13dd9ca0094dc501d96f26677d0fc6ec2b780eac80e9ced1fe546cedb27aee3902be0fd5c9153bec07784284ea3dcfd2de8548ad84298a7e6d9afeacf71fb9f47501112023e1b7d838945cffac3d37f089772083586b679347a7d5740e540d43db4045fc8f37c7d77486ae62ac07ff36966e12e5385 +CT = 2a9033db1c29c3798c180a8603 +AAD = 09f796e61de37730a5ec02caf6441408d3b50675 +Tag = 773988d58052e5072dd4524041e756c8 +FAIL + +Count = 8 +Key = b773f1e167c1e9c59fb01dc123da419c +IV = a6b8528fbbecc2547afe16b4ddeb4b724c4c7d2e638b7dc55b3ecabdbcf49848aef9c643340c8c5fc2ec11a78728ab28067a0f3c407f454f6d2bd935976c491d9a1dfa6e4e9160c2a4bb05b881ee2c64f49f24f1ffe14af062718ea0c8116abe7591faae5c43938ffb5bf428795b5c5afa5daafa623c6aa3bb054ea202aa88d0 +CT = 766bc6cf0538f306aae18285de +AAD = 377eb1a6b62b2e891ec2d696d23b0d6e69b7c067 +Tag = cd039d59cb3f0349136b8196b4b808b6 +PT = 6d8efdf3929d8fea390d5a6405 + +Count = 9 +Key = 549d57995b57aba56ecdc42456b12e91 +IV = 8aa259d2cabee29c411cfcb1d16ce9c04ad9ae2538dc11d57287ff085dbb452253b7e94c2f0dd8eb9d78982b6fa8e2ca2329d40f79a85e81253826e2dfcb52ca3fd797f8718ff75679b5fdfa678641453d47d6d35d82560dde0108169ec18c2f424d74d9856a469f50823d3a95b2f23f5fb27e1b25d3dac43fa73ad1c4687a5b +CT = da20110e880902f81b1dcfa1cd +AAD = 35c2a0dde6f703cbe595d14d826927fa1ffc33ae +Tag = cc11837b10642cf6e6b04d3695699879 +PT = ed8f1d49eefc715ace80d8c6d8 + +Count = 10 +Key = fdc5ad2337d1e5cae1c5a0d27d8f6ed7 +IV = e5d6a2d502874aa67e333d4e3fbeaab72954807da5496d66c7337e3c41935c82d1ada69b64b87e2ea85517080943316318c6d7feeb76de8fdced38b1ae4a1e8da144ecbf56e67abd4f3f6193eab8eae11c2490a698d1f84faf77677ad20c735d908cf14fc243e50551175ca2083926376791e4322a72008c897e6c725c045ebf +CT = 8e1d3b12b34cb5ad283155242f +AAD = 17df36d04a49111795676124d717cf838025facf +Tag = 61606958e10abee38808b0ecba4fbddd +PT = b4dbe1d21eeacde59a1f1a7587 + +Count = 11 +Key = 1cfdc694eb3e2042ebfadefb69e91b36 +IV = 803a3b1e79046a43567123a82270b61f0e1d8859ae1d9d6e3e579d427fc2f1be4638dea1fce9f84008f179e0acf82710c19bdabebb9f8edcb9a291db1c16d7150b56705ab7ef0b05dbe6e422930d55551ffb15c6bdc2b4fa1d78acb4eef7c332d6c23ae1ecc00fbe40ae2097347c442629a23fa8cc693db6e4f97bf123dede97 +CT = a8ff2c49fbf91560a717771bcf +AAD = 37bcb8348021ca99dce93faddae7a0feb82e03e4 +Tag = 55834ee0b23056f0b20966c7990c491a +FAIL + +Count = 12 +Key = f8f5c3daa1b7972d5c9cffa7812fd32d +IV = 7cbbf899b5b08fa19ab781d8ca2b9787c0ea9511842bc02c56afba33c6e8bb26466965344c52b02e71bcdc2ae8e72fc74d71c0c47c9d1bf632e6ee61b729ffa2e746d2777f32c0cd13c6e22fdb426b74038bed40f816acc7ca77793442838e4c045ca1220c870d4342544d2bacc03181ae0745d82aefaa30b1f95e72b87f0806 +CT = c84a9c5f75e8a61bdae66c99b6 +AAD = 68a58b22922bb0a7244b78025a5ebd19e53a3646 +Tag = bba530d8fbf7c96b3e008cba0d9a431e +FAIL + +Count = 13 +Key = 041abb42fa998ee8aa5d914e26137c33 +IV = 01040454d71aaa3252804cb46b0011ceffd74c25471bf3da879d0ae2a8dc25f56315aea14e5bc366d4bbc1fd742423ddb979956c00c4803fdd05d66b48b1e37a28aace4bb7213cb4738d0594b5d63410d6dfe6c35a306862d8960fb3e5d98b956eac955b81cd40a233441e2a026bb18f8620aa93d7347fc7abd33b0279992af4 +CT = 749cf0bf6686887a393257172c +AAD = e8928d0a9b79f5f24d85f3089fefe6c50871aee7 +Tag = ad4eb7d65ac6f6f3074da3caa1e8df9a +PT = 3a39603484fbd29140898774ff + +Count = 14 +Key = 6e4a51a013047d2a1fc6717d2cca75ce +IV = 8a37d4356c26b0c236baea6b0bc10df79766fd6e070d8c3347609a0da732994695213a148131984c5ab44ff73b449dc0d22d9407b1e57e7da102f9cdeade36dfcd90242cd40c5eed47fb4507020b9decbfb23668ee12cb56c2470f355d6dc15890d1107a660d041fd0c1cbbde70171de0ac0c9fb985d5816bb4b1faf414f7a76 +CT = a82bb60594bd1d087026d348bc +AAD = fb664176fb108a7243311d38a44ee6b98f738e8b +Tag = b3f22dcb000fee75747825f78f42502b +PT = dd14bd0071683bdfe34d26c7cf + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 8ce76b701977c3cf7be73077c3ff885d +IV = 431d8604cecbaffa8942bc90541bef294a132f686c21a164598d3397ffb6e7828c0a7d1976c2db7681fc7d4d6c3f9f8da77a21b6638e5ee19c4c12bcd383cacb1f5c217a7bbb4e403a82982e63027621dd4f015fcdee35aa4b5f3ed67484d27316f43e39016334b8cc420c037fcd28d4c7988ebb2c1a620a991130b5a2eb49ed +CT = 333b563201a8bbbd2c0a69099a +AAD = 82ffd2792605cef8d9d5945b9c4697f7357b94df +Tag = 88459f4476dde0b4382dcb46bbdbd2 +PT = 225dd6ac67c9414dbd593ab8df + +Count = 1 +Key = cfd0c306ed5832fd56339789915c9a6f +IV = 001e6bb6065e8e2707fc5ea89aa83e4c81be18c7c96704ac8468a380219f33ad4a0e722c2bc2a85ffbf7511d5b1e0e5cb3df68e82630b76855c7c8a716ab279b443add49ce9d014ddb2f84aae4116137a9f703cfd7310b5c3ae9e7e1e1680d3c250698795b336fe5aedb316ce77ec99070c675677f5f10c8209a0499a5ea1b6b +CT = e49cf36cdea1e7c5baf18e782f +AAD = f8055a6484c6560d186c0f080f41ddebdd62b1af +Tag = feea9047ce1dc83630e47fdfe49fdd +FAIL + +Count = 2 +Key = 18348a5c0f36dbf545331ffd6ad173c2 +IV = 2549350248c1f7baf3074b5a348071f08a3be2a7f560209fa87a171215dd7b11c9e6ba25a834e5b76050d452e9e41f9f9c882069509fc33b7316be23cfb1c42f62cc0368ecf34d3c12f35954d82725c9ee8d8873c6c1b91dd4e6e0818afe05f37d7af9b06f46345d3ca9e3a47af9bdfc9b127c67b74a063ff21b89e462c2a9e5 +CT = 63333a13d9c67a43ae1a44a728 +AAD = e4f2a19e45e4c5edd2c9c0c27a195a6dbad45ecc +Tag = adcefbae413bf80ce689cf5fdede5e +PT = a7e5f254b3d15d54aee076fa97 + +Count = 3 +Key = d2d09b7c27fe61d73a1cb08bbb875cd4 +IV = 7014df7227bbc22d8bd91d4d39966d2cf6da6ab79b3da16a96c1a0fe7648adc89b8ba91fad4a3a535427be08845acb2396ce484acbb2042f428c78b8b87340aae4412b404e85c6f0d5d7863dfd2367c2399aeca8d44fb1755c4487479ba3095a6c9e3251c7a6f644a00c061fb2a63e073bd795e61e623a3ef279f117e97c844b +CT = 1113cc940ae8393529f0ce2553 +AAD = cdac7e5e80424fbf9e37dc0d26ce8582ea22e420 +Tag = b0bb89c7984b7a959e16a589a7788e +FAIL + +Count = 4 +Key = a98a56f360794d3b610de7ccdb8240cb +IV = a9e75d6295f33d1dfcf12df7b0e63965feb89578e7432ff55e56f2af50241d5a61673102d284df69147ee46f172b6eb5a72a0a8aa05bd4e233496d33685e968a0ee8fe872bc0a649d91d9473814954253ff31e4f1c26c00e68490e8a6755407acb5e68b8591a26cf23dfe12cefccb7fc11f5a04576d744098a472749c864872d +CT = 982dbb9efb03d10b8782040378 +AAD = 9e2743934225894e68d891181c961da363cdbe5f +Tag = b9e69b1af7702ca52d38f107a38582 +PT = 240b1b361017ce1bb12feb1624 + +Count = 5 +Key = 9b11175441dc8bf89cae20e6aaa56e54 +IV = 9196205c953d8fb80fe2fb27e3ee61b40194ca7b54ff0c1d96c26784f3933d4e6d6b658856f574207634e6fc897675060071b59456d193a9a2665c900b0c2b8e77512d368bd67154b6541ccbb37154e866bf3378bad90e5fe6163a265632502f12d49d5e24f33d4e1a553d17d910517e4a5199c457313d31ad389401c0f0ac96 +CT = 36922c5ae4588de3153c4cb383 +AAD = 15737475340f41eea40b8242a833893ecc58a51f +Tag = 394fa40cf415202e6f0ce4ee3eb863 +FAIL + +Count = 6 +Key = bf63a6bad7467963f14710d9bc9ee0ae +IV = 6547ed8ff01d07c6a3a46e2942dea355d1641b670778c59f9dd6db7ed7b23be4a7cac341732bf2d33bca7e9e1129dfdc8b515872df3750f7abc4b7bc1706f9d0615fb45863383848e9a76bd46afe3fb711bb858ed2de71d776b1ff8758bd66421060a96896e64f7f8c06d2c912dfc2ae21719507ff7dc09fe5276db0d48523f8 +CT = d93fcf33e6fa1edfadc25610b5 +AAD = ad1c0eabc67057e42975a9f8ffa063296a286321 +Tag = 806fd4a3abbe5f7d7137aa1e8f917d +PT = fca771e31e9a0e9ab669e4d3b2 + +Count = 7 +Key = a1dcf617e9892de9069c8b732799c5c0 +IV = 3a088447d7958bc408bc5300040d6c1bf77a97fc0317fdbfd6a75ff918809c685da766d40e3adb94ab94555b851d1276c6a808b0a88f6084bffa2c83869bec127fd5fada61177438ce10ba8631c9f3aca369a0ebaaf3ea4f4c11c9ed12ce4a49728702034982ed483cbae03f44a54850f9696f96d71a65b40be62c5d021a428c +CT = 31d81f714e8c3effd7211af6a2 +AAD = fff508326e89168f7c85af46430ec6e471301021 +Tag = 832cfaac1cea8367aafae18b068c29 +FAIL + +Count = 8 +Key = c5a845e8c2c671b01ccf7fc221382059 +IV = 07e61b8aeee4b1aa0c7055550aaf384bca8b9035dfa2ffdba2495f40a7502064978816840e92a59c87d888b05d60d5aee5285ad1217b8ff345045bd5d204913607f4684aa264c23419e19babd2a79595df813e1a8ccb0132992000218e836ee674aebde479bf5857d9a6e02149f76f3467e3a21ec4dae81a4af4aa377c880699 +CT = 9bbc00ce6a1e2a5ca609ac6f5a +AAD = dd21aaa8222e38091b5f118c94a823cd7a05d7e6 +Tag = 287ec2f9a7a046ae5bd09a4cf391fc +PT = 5a627380ed08a39607f805ec2c + +Count = 9 +Key = 56d91c8de1b16b67c8f8b3b3c3029d77 +IV = c5457b7b127392b0c8907d4e81881f183291d5d1a1c39197c07aeed86cf34e1c54bb9f8cfe5ada2f29bc57ce1aca8596beb544c65962f7b2ad80e4db346ab20650d4c9228b291dd9f853ee19803b76ba8b9673d951a275dfaff94f242f38d55fed6c1bc79eb5db88909e4831204d95a4ed5a8fec9b6d944a8cdbd05695afa89c +CT = 14707a5e2b3cf680090286f95b +AAD = 6d931b0d9a890b16abd6decb4a6bc8c0bc064b97 +Tag = f86011edcb9fcf7837000325c0bf4e +PT = 46d8672fe92258d246f8cc173b + +Count = 10 +Key = b5b25744d60b08ea408c00ce43761ee6 +IV = 18e2f11d64d724ccf3c02e6b70dd2632eb98a9fbdaf1af69f6e50516cded3e2654992e5291ca49ed54d7f2fe2244c03d71c7003119a8f4598b6d18cad1af660dcf689218493c2a169f123618f478592dd1da2d49a48eb52404de599059306d8c2ac98bab6ae4f6e8ca3d0b3b1160cb03dae5db549b22dd018db78cf005860a1f +CT = 144a4b81f3baf7b1b10bdab31d +AAD = 50fad1716c44be71b768266dcb2fce35c99685ad +Tag = 0fcd2a9c6c46f99c0cdbdb8dd0f85f +PT = a353e14c9748a3158af9390169 + +Count = 11 +Key = 833d5bffee35206a5fec77e1bea0c419 +IV = 4a36a20a7b6b19324b9413645a184581c72835eb83b6c9823d1e72128657afcb474733df5388326afb8e54df7f8498fac604698ba4735a3daca34e25f8c025014944523ca0bdd4f74eb9c5ec5c5acda59ad882066107193054288bdc6cecb5da2b8680c272e77c81d2d587b1242a252907ae68dd96eccf4acdac88392e2a2222 +CT = feef5265bfd19e939c71b5f6e9 +AAD = d9b479b298f9d963e982d52dc702c8febc544cd5 +Tag = bf285478fea6fd7126cb4a43c05c40 +PT = e512c0c5f50fdbae74facd2c3b + +Count = 12 +Key = 0ed9dabb98f13435d57d4d36c163cd7f +IV = 0b6ba97732b909fb83153ab5993d2c882aca1f8f533b37839a40b19e667aa47cdfadf1f7ef2226f920155a0fd08fc6b83cb24b8ffa2caa47c57f3cf7598ffd341a21f1645a01e3c2a73a4e74a568cb1d13f9a29d10ef770e3e5d16e82ec4bfffd5dd63d00f8e6230effbb075edc2bd5ec6f61975bf6663d88d933a783d07fb81 +CT = 64321d4ada473e5cb669d545f0 +AAD = 272ca92ae63d276659d1d84f7bbfc0762f5932ec +Tag = bf491326c518697c69839e2502cda5 +PT = cb602b047fde124bf5f8e6bd2c + +Count = 13 +Key = 764e255e543cb94ab91bb450d4c6c000 +IV = fd1bd62ce8a87baf635584d97f9e84f7d944bcb4b2437a9b42ae5fae509f604a495cf072693179e74f97096576fbe4b168bc874d2e12edc5ec702a7819fa52d8534c11a090651698d909256ff5a20432497fd0b2399a2ac24aa7831edb0181901bcf31936829a412768ea9a168262aa6446be4a35eaf63762bff4589bff3444c +CT = cb3bcb4fde8e6e127404dc3571 +AAD = 79d8c676cba0c12563fb26acc505cfafeb4a2722 +Tag = 2b1849bb40076fae72e2ab53b0531f +FAIL + +Count = 14 +Key = 3aa93e75261847c57fd89aa28343f196 +IV = 0938bf09c6ff6eff2333e39413c603ab14b8f769d9fa10d05102fc1c2c92e9c223d1a8675319d2acbb7915f55e200eddd5de2220a3c1a6a3d6755823b002774cc462107f980fa276c826b84926d513cde3060c2519ff1a3df34ac47b61945c6e4c014aebafcd3ac4d262d5a0583af4ac22680ff719fea03fdc7c86f2c02b9b7e +CT = 4aae017a1206eb6380a18ae3c9 +AAD = caae459ac0b20c602dceeab9e49e102ceb61795b +Tag = 78f383e933f40b18da99e1612d1fa1 +PT = c68e0908b2728e5d2533f7e837 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 99ca05be69e35c2b0155baca300abf4d +IV = 4517420874b92fda67fec1d5d88fd6f3bc5e28e5fc60148bbb78fa30f961a7b83be936cf476311d86af9bd3c3c9ecff2f5d832540cf6fecce59e9bf0e0a98c457ecf4c55177d1a6a456ed62be2c9f57b32bfefe84ff8c1612489b0b5dae62035c4275511dbe6255d8163ed69efcc1897d311456da65e1f109108075627e1cc61 +CT = 4e5692d1023ce1fe3d5c1b1586 +AAD = d4fe0786f99d00bd71473e606dc775745c1b1a09 +Tag = f04eac397ee4edeb3f8b44e911cf +FAIL + +Count = 1 +Key = 421dac6a1277d104a67e5c46587c29bb +IV = 0b17df629b80ca1b6388961952f81e3cb4eaac8916058ccdb03fcf26224167dcfbcedcf6dafc69594e7201e275d00869ee1e076faf5c40bdc6d35bc45bb6eaf05f2049f75b40dc126e9d786d38b8f53dde1d2c21334ce86e7ee22042a51932391cf00f0bf037fdcb280d4ca582fa6bc72b424954ef3527a4295f20e85488b87e +CT = 50af90ed6481b051201eafc0d8 +AAD = ea91efe3178ee7f38b9e49dedc355235bd52235e +Tag = f35af0bd92967ef0ff40ede82dee +PT = 041b180b2871e80dab76157544 + +Count = 2 +Key = 382984c3642a949c30f6e675152fa093 +IV = 8a0aec9ccc55b558ce1050a987188972afcccb1187cd023aefb866b839f6ca301351ea72b781853e7794368768ea8b479defd5845d469d2a74a5d1d3ca7c07a8b001458402cda2c76748dd78770630d976d4aabedc089d28ab8c01ed77da625ebc0abe65fa4f32bfc7d32b830035a2eb5146a4187979940e73f06209900648f3 +CT = a277039dddc3ffaa4557b1c733 +AAD = 0fece5f879b12dec35449f46baf7386f53ab9002 +Tag = 843e39dc7d514c0a7c99a3c0b9e5 +PT = 8e7de5db5c19e880540f61504e + +Count = 3 +Key = 73db9d041cdfa831c1ab742b3a25492f +IV = d86ba7870046264b69af05f3f9499370b440f67146c106d9ec8275618a16f16609eafff8a32223848d494d9ffea5c2717f0831894f1581ffa0a952498cd154b82511dbf056f9252a1e262715924144598374125ee5ce8ac9242434e4144b35ce05cda61782e5d6157ac7562d6fad8ff3a2d3c801c2535319e65c796a68de0c92 +CT = 2fc644848b3e53ab4156a74e14 +AAD = e7d8957e52fb9d35039ac3abbb2bcb92f7c37c52 +Tag = 27643bf2bd1ed076b3f8a922edc8 +PT = ffcfd1d3e77f27913d5f28873d + +Count = 4 +Key = b3c43c436d3c16ab9fdf0e2dacb56d16 +IV = dd6f61a58723bcc8bf13f04201e4b2f4ccd48b1c091189a58cba35f0652d9c6e37dd9e5050c0f2522bd588cb23d6bc40a88a2d354ae4ca8b229a11da6b45b26e298a502080dcd1291dc4cdd611dada8d5123cb110dbba78cd4d82e169e73335e8e5f000c9cae647af74efc9d40c416292e0a08c800c011004571237976043f60 +CT = 832929761e935eb43bcfb91379 +AAD = 1f88328c21de914ed6523b498514dbafa54e5c94 +Tag = feafa5c528ba45e7917d5dd72a5e +PT = 5ae75948e5167e1db4de80ad00 + +Count = 5 +Key = c5550536ec590df5bee75aac40fc4a50 +IV = bcb8b1cd23aa6002dbd91aed68d3bded371e571cb7592189ff9f902486c51d70adb4a9234e84cc725f60344dc78fefe712e028dc8d56113aff797f437e0f4c6663f74b9bab4a1540a2d5cfc456f2d30577d9e6e5d6fff9cbd689b1d1f1f7052d0727c2dddf5243f1a4793236e060642ad35613ab7eba5766d60a28f53682b39d +CT = 93d805598d377746db3b8020b0 +AAD = 2ffa27260f163dba42b46660c5bda734cd95f116 +Tag = 83f71c56a1616fd398a532ed91f7 +FAIL + +Count = 6 +Key = c4ebea3ba32ec400213bd496f7644481 +IV = 1bfd7c3e2f308263567aeff32d35e185ffc968db83b55c22edca2d8a139be6b2bee5c3550b58bbb0a3f5e6e4a3fdbbdf8b402a6781ef7a24e44e170c926481cc5b2ae007c95e02e2782bcc75d87a2b19a97b0215cee4e8d5f2727257ea22213ec6d366670357ff6f0b4796da8a8787518c9a1a0ab0db23d336804be290c1fd9c +CT = 26978f3d2163a9ee19793046c6 +AAD = 3f3aa7b7f1648ea9e62fe0bcb0112582fa7219be +Tag = aaa0eaa35f80a9f6d44cbd867852 +PT = 0f3bf8ba8cb07ee5485c39094b + +Count = 7 +Key = 77b7be9f0d6538a9bf674fca04d3045f +IV = e7baa658c6e8ccf73a16596bd57e2e05125fcd0af05e25114e0d82d7d67ec1d5738a2b3b6ac4a70a6c32f5301b9d60951f9cab7bc888e7b5f81814eed5a973249599ef13e84a6ff29a12a95abc401bd91144212e862b16e18efe18c3ed8a705d67814a8d139260b8f786d4475a71560fc823c9221e81b7af380e985f83052bee +CT = 8ada7a2ec562dac3eef021efd8 +AAD = a0f8fd881706a7c184f3d90ba0cf5494c1bd389f +Tag = 85a9ebf27581542d3cb67decdd78 +PT = e96e685ad89683304b13165d7c + +Count = 8 +Key = 2e4b4e629c36e32685c0951b9ef96745 +IV = 6445ba10faebd990a19a4f70adbccbbf65f3b69706b9d779aa7339bd449c32227e035942b7ffd6dd11bb846c417986d5eb60decff16af9814f2d51dc5f671f4bc6e84a3e4702fcbe039846273d132423cc3956ee5bcb0a16deb531731c89b80494aeeee27b0eb0c1a93f55f5da5a5ba9ad2aeecd31fb4c8cd9704c6ace24168b +CT = 3ba2eec39f0d2db024aea3ec23 +AAD = a9370a53e0d1e2f689952ca330bc035117775dbd +Tag = 7fc3456b14df4ee6e5a72d65f2a7 +FAIL + +Count = 9 +Key = 33f8e34346ae1e7c08a2938f08b6c095 +IV = 2ada44670ba85e40731ed6f11813c0b9c1d18636d63df44e51434f984171914d35de216cc3ec6d2250454a4cc3e6d63fa9fc552e837b6ab7f56ab50fd40b937ebd17b36fe59f8ecdd508441e620e5443b0d5364759f8ffbe3dde6256ad6ee60b177cb639095aa5e2835059e7a5939621f3832b47c14481c7aaddb4c93ab733a4 +CT = 280a01e4ccd57c2c4626ae2ba7 +AAD = 368170ab4d88de4f854c5a8741c5eb010614adde +Tag = 23bfef9eeac9735a193b77500298 +FAIL + +Count = 10 +Key = 3a3bda82b93e84959eae9eeb26ae2e2d +IV = 92b53f38f6eceb49d47386c580e64c2eccf771043e77e878697cc92cf005d6f12ee5c6bb26c37e679d3a2e67bdb0820d375a5ada8e76ca9c85942299a3578f507e76d1cd4407eb09da3b56b6082f41bbc90ebedc8a692179c9ac309d173019897732b24451c22dcd4b8fa141c191c757f3478fed5256be2d174053fae3b18fc7 +CT = 6ac5c8d727531b8713be22761a +AAD = 32bff6e89b4730e370c82bd9c6dedcca2939b3ef +Tag = 55d2b48b8ef1e273fff96135a24f +FAIL + +Count = 11 +Key = 2e98188ef56c6641b19fbd799c49a160 +IV = 8fb3837ca6042d21c7c607c5495783d9eaf92067d81097f257416ca1ebbaaafe4581b1a12d246b3d17dd2a4abe6a29e42bc2b5e7d55db568653dca635a685d874377e346127cafa9fafc63f93663e6ef0dac1ed2ccaa3ac015250b310cc4cdbfac2b797b097d25b2701a83caf1f0fe366405ee123a5294811c9a23d8c3643435 +CT = 2979cb1b079a2633c79ca8d1be +AAD = 65853ae39d79bac95f79bd8eadd54e50159d95d5 +Tag = a6c4aca17ffa3d17add52428bf8e +PT = ad001c51ba7d598019ade562db + +Count = 12 +Key = a94fed7aed908f1c1866343d3cd0e463 +IV = 2594fbae7f9ce5fea2cd95d373f79c40d0c8deb571b2b4c037c792a8d94ab8b258025146eff26baac513ab12853d2d1e764584dd4410c3a11f593638f7a794bc9c98659c16a7c8d09f84600af7b8fee598effc33cb4e1066c566daebb57f00409247b5ee5dd39e75475fc9c2ae11135e6e959050bba59f677cddc0e849e70450 +CT = 7ff988d60abeb0640eef294516 +AAD = 7b1de65a1111738368563d1dac2481830fb82c1d +Tag = f78b94da218f82bf3921af6299c7 +FAIL + +Count = 13 +Key = e30d1af0aefb2b11ec71c483e673bb0a +IV = 791d44ece10796eed79473e12c7ebd2373b2c603eb4b1943d8ebd7500dd514901c7a79a25da2e4bc31e1d1d96bd043df324d833f0341fcf8636116d09fbde2ef76e6ddba47fd371171f7f3a16c6f5e52313d07decea6ffa98e4d1cb8d85fdd43b0ebd366dbb50d1f0ca3ea40cecaa5c9fc5f08b4e203c1ae44469f20d0c84050 +CT = e9f8ab7f4e67d02597a953760c +AAD = 15e521fe0c0fdbcf2e5f658c0349327589ee630b +Tag = 658ebc74b4819a6d2f4a2e164cd6 +PT = 7cb33822fcf48a212f98767112 + +Count = 14 +Key = 4c772653f71038150a387e9994b9a860 +IV = 027d5e8a5df2a34d4e2b0fac195cb002866638049d39389b6d8078de5bfe8a080c375123a43994b1d638a757c69e473771315a390e9aa47bbe404682733b63531272cd67af8848ab77ba51887a8d9fef1e088d55966a91f0a3ef91f664e25b11b87e7d2526ea820d45a7c25de27c068597c0c85d29c695ce42655f2af701b41a +CT = 7be551900400fbbf6b006a7b7a +AAD = f420995706817a019afd5f444354f531416089c0 +Tag = 4f076a69964abfbd7cb59863b452 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 5b80b58f9d50de4cf45c5c7770d23318 +IV = c8671275d79b90d39887eab757fe2ef6b5672dc5f1925712f09c161da185874bea43e7837fe00d914c2fe3c5a5330acc7ceb2dc2b868403a37963bc79ac8c5de33a9c7537f9736b4273409305f4a2a0bc805ec60765569e29206f004094f0d2e484eb88c8d2525880ad8088b8a476a8f7dd859027bd8a520b9173f4897da3b43 +CT = b3c6fe00db2fcea1c193e15ec3 +AAD = f27ad52709ad8067b550276cb35191c634418ab7 +Tag = 843bba24c02b53658287fb9257 +PT = 3441255f6c1be50ca598726b14 + +Count = 1 +Key = ab2460bdaa65c46d26ba9064cf115f77 +IV = 2df2e7761f39cd4be24bca208206262ef7789cf13f476b734b39bb164361ffdc8ce5abd91c66a4cdb44e0e07a2cdb74091be78ad5c1fad3e2d398deb2232c1164eb2fd11e3dca51a58c7637465f957c727557d788fca43d5e6384fa9d075a12e807c6d2775312cd11c7e7d625181008d95d73a5cc29545cde107ee3d7e00360c +CT = 59bd5ef0ea37e376ad6fb9fca9 +AAD = 123e7e8c21ba31f22e907201970074c7f2799dd3 +Tag = 94f303a47bcf3df4787cec7f28 +FAIL + +Count = 2 +Key = 07c3eab823b680acc3823d25e64e1192 +IV = 625954aa8f9285ed7581a6bee4d1ae8383ca086e92d70513e751b642a9de89f4e4671658afead93bded2f6f90d7267d6fdfff3583bd12b6e4508e3623d48e8740899503f21fc323fbe58b86575b10650a7d08f5505449c8c72d1d1c9b57c1d49de830f08630003dc45cde76dcb96ba0793d87149240c7878cca6820ec30c0e3a +CT = 33283438737a2d197853a19d80 +AAD = ada832b1950020406c8adc0743d9b502fbf41ef3 +Tag = 5b51b55feedd70cf979a267273 +FAIL + +Count = 3 +Key = c601de0f8c272281d403304632b2e687 +IV = a371d4475c0bd48b7956eb13915f17a6596cb30f8e408d95462e8540a1e351a5d670a85a31a82dd0315750ea8c90a433fe0e1d90d46e9465f813c249363b244d114b994d5f451e893efc45e1eb3c2aac96639bc1300f327c3b14b4e20e7d5d60c3d5eca23a4e6e7e4d3df12a99fb835fa77495029a0c6164a0cf104bc2fa1254 +CT = 257509199448c94e8c5971f638 +AAD = 0a7b5569fb22b1b8ea95b10600f6f2bdaf802812 +Tag = 6dab892fe2499b15bcd065b8f8 +PT = e7863be425784058fa0f748ca5 + +Count = 4 +Key = 562198ea724741b5dc0d639a0e0119ac +IV = 6a28bbf0b192ae8474b9b237ab304ddcacf48adf483b0681670b45da01b3c2641f96a355ede61cbaae484f2c05dbd446c4ea52cf3c2b0d9b3a74e6135250d508a609cabd8692180235799fae32433c1e96dd6fb084cd54afdefa93d010e458773bbc37a6a1afe0f9d2d31086cd531504071cff32e2d77309b3190005e55c296f +CT = 8a134e770ad13c07f525b0c96d +AAD = bfa3788193673b0ed76f222d2ed97a5a23bba46d +Tag = 35fad7584278825f259425b29c +FAIL + +Count = 5 +Key = ea0795c0eaa385b1e4baa6ae0e73c66f +IV = 08952e27bb20ff70f68eabce73ae4365821a6fe87c1d9d0604f93e8fa82e19705af6e8b48210f0aafb922244a2d20f4a5d764afe82622e54f1e8ba046218224ce92594c9e92a3c69b3e9eb7af36ecb15171752c4ba1903ee5d3a39c5bf49485894544854307fcb1deefd38277d07aa61177efcbbf2af5f057fc68b2bbf00a45b +CT = 215a881bab96d53fbbb7fc0381 +AAD = 010f9a766c087bd629922037232d5e69d7092476 +Tag = d4a9fd5dcbf39232a321b704b1 +PT = 146854a8c82d9683705d6b696c + +Count = 6 +Key = 85c378b030aa538f6def67710c79378e +IV = 9010a5254a74ea1d814ec646853093b408ef60cbf14ad6d2e7a8b3feea89ea13d3b1861254859b4108738c41a5a679753063d8db67c3c582c91505105368aad325345920cfbc64e1c395f3534b9109e4baeb45efa0651f6e78210bbdb47d3d188d855eb158b60a0052ee59ef7bbfea463c8d783fb1e18e2e292332a46b9f584e +CT = 0e2a99cfe736a661dced614cff +AAD = d2b0e75b3f1440450b04a0149c3ec3324a02c425 +Tag = 586ccd30addf5c8c00901d3bb7 +FAIL + +Count = 7 +Key = 494703f2835b69b526861ae3c0b1d6d6 +IV = a8a57864420ecf5dc97b6132d6c8465b756abdacfa0e8c18401491bf26745706a609d5b97ac6840a0552a9ac030a5872acd841a96793e6415fb60c93c4af71535bf910c2c1f583c62458aaa2c26d0dca6261e229a8f985b972385e3a1ea3a1bcfef704ab3cb62aea812a750633d9ec7a587ce1e6dabf365995e34be24c798daf +CT = 61ee4e83dbf3130dc06ecff195 +AAD = b2ffe5684e7d72e192641827c772b40dbd16c7dc +Tag = 43457856b33002d8489020a934 +FAIL + +Count = 8 +Key = ff8612e22d27d7d9919cc343ef0e63ca +IV = 6e2e6fb6c8c7f975eebd18a6510fbbc3b91ffbebd44d8451f9ca89d48bedbe40e55be2093caa89dacf74cb6d2048a449e030545d4f2a0760256457641b671d1883491d81f79db6f46f5ec0c07a6926d37fb51c8241a085c38aaef02e3428e3afa249d1f29389f3cd2af96efab3a540e2b2ba76fba46e7c36e74c61df4c8b8454 +CT = cb968c4e0b320b6f6022a435f9 +AAD = 085d0c34689f02492e3b973646127dba04edeada +Tag = d04d328d4be0ea2bf1e3eb0402 +FAIL + +Count = 9 +Key = 3dcc49c176fb1391e0181c4bb4cac039 +IV = bf0f333411584a1ae09d9443f6ac50d62ab249426bd34140c95626309ee874820a38cb337428d19ee5f4b6c724a96e80808f3420f356e24516b2f53f7daf7a00b319da90f293b5061cd2a7a46ad53d68ac60731be4025d52be162e7111eac3eb4122dd9d0b1364108ac4ae291d7485ed6007790a99d492d911ed7f81184b28a1 +CT = d96bb4c3063248bc2c0432ef87 +AAD = ea6ec15b38fb9d7f798127d9c2b81fb88671185b +Tag = 2232fa95e47ada585af8f918bb +FAIL + +Count = 10 +Key = 4495773ce55df6552560ccb70cdffd4e +IV = eca934fb3875a24cec7c28a40ffd2d9be78899bfb45fbb3dcec41eae1fde18ce224a99017fd5667ac4af6de4c6382de18d6d022b4ffb8584b9958d8fbf4bbfc77012565908b9d867b49e8b967fedf4515c17757a6739469e1cc62fa6f0ac24cb14e0fb0ef5d96ea03f7726f8c8f2cd4913a75dba1b5b941960955b2aacce6ebe +CT = 502215b4c3a0a27d0642f86e28 +AAD = c4482aaa5f1cfb3586949896ab498cd36e11cf32 +Tag = f3275be325d6a174ff18b8c521 +PT = 88e7b191c79538d2f0eb90e1c6 + +Count = 11 +Key = 5e8dfb97adb425b37c1226600a262341 +IV = 31f8024e2f31fbe58261f165b3dbe334e6dd55798154db8d80460b8f2a35f744715e281731d7670319f968dfcf30ab7d2a0cc0d2d27fa5c01a97f2ee6dcf44bac3f21f88fbc4d840091410c195dc8a0ddb364095946cbae6687bf57e08cd45082984ff910c831b65e7d3346dd20bb0bdc392ab2541e9d99ecf45b21574761ed6 +CT = daff5c8a0d6075b1c607e647c5 +AAD = 1890dbcccaf473e1959b07dd6b001b44aefb7b58 +Tag = 1503aef3c334b549b932697c02 +FAIL + +Count = 12 +Key = 332cb696c4350d8d60ce7f8e2de7156b +IV = 0f5cf3e8bd00da6dcbf645df341232e6e37a2820c6528e0aceae492baf9c689d346c94a4a3e0828f1c0bbd816ae54ca228d124547dff1823e4a1767db8fc5d703118762f18943b6666da831ce68897804193799775df49c5243a66a6fc20b725f0db11cbdd7061beaf988efd7879441738ed282ba0bc74721127b5c351670712 +CT = d242ae9ab5e37f78b304902e50 +AAD = c33d9881e978303401b977ded83fc2056ce299f0 +Tag = cd2a345853cb707a6c24b11d67 +FAIL + +Count = 13 +Key = bf25872aaa41cf221a85351a43775b14 +IV = 6bbbac21e8f22c767290ad685e1d546399ad16fe3a8b084d616df1cb3465eca7f068419f6ae412f5fb28a24ed6f6c92d2dc74c84e66a5641f866de4f286be2ad309efd6d960fce5f318e6c4543b7eb126b9ddd544717f1494d048dfd6c2132e4baf27b0b824fd7f3b15c7e2a0b76756459eb9dc7450523e8a5dbf735b51e48c1 +CT = 536571f9c6d3c901b167e5f779 +AAD = 834dbbb5e892b70b6b14d9d3dc350f48e4f92c8d +Tag = 086c08d90daf322df713d8ca68 +PT = 442a5d91f6e42629aaedeef09c + +Count = 14 +Key = 7c270bd022c91f6816379298475dd065 +IV = 3840365b4b16d0b38a8a1ec7a0dace1d7bfe8609d8610ab54f40e32bf6eb527915c5bdffd8093a32435ca22886a06ccda2c3e208a4a49a9241bbd16780430429baed328cda4891461e3ce94e032e75eb585f66a5290397a7548f14f8936be73c5c314bc305f769028cb9c0cbb041ecc25315824671265067b8b56b52dd1c0a8b +CT = 0f36778b69c154cc736146f882 +AAD = 2041994e009623469469961991a777f5557291fb +Tag = 74ca7d1ec1ff29714ad15eab2a +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = f0b098756271004eee67f062fba40c36 +IV = e9e3e9ef06c75a8cd33bcc2d6cd4212d5cb824724f2c23347339f5b7cf55b13451d91f42316de1998ce8587f0895097ac5206d817afd0ca28a5d4345d9aba216315199f1fc6d6e87d1b120759347640b0b458133b00dddd0c38ccf53cc2198569fb98fe3d36cf5484f58647c91f88a8af0544e0b80b8c08e9130f9d2fc7931b1 +CT = 914f92119dca1d0d910776dc09 +AAD = 246174a1f57344aa05fd40eda85c57c1a2f2b68d +Tag = 839e37df0486e1f60494ddc7 +FAIL + +Count = 1 +Key = a5090bb6fce187f4437bd35769ad061e +IV = ad0b51bdebff684ec8d04196900e780d6021fc9d76e487589f2da4538b59fc3d572d45eb61d70fe7b0aee0a67fe97b4485d30727177be5b8a0a51ed1b3864c82b1fbab17098cd6e776709b5027120587ac9e5a6ccdfe1a5a5ba8d97c1af97b089eef48725519f7c85be31c2ad8ab311fe1c289b2231b1473efd98d7bc1af8aee +CT = 8aa8c1ef17abbd596b3c28beea +AAD = 59261e284c1814c194978aeb6ed477ddb5254371 +Tag = bc041a650dfa768863fcb693 +FAIL + +Count = 2 +Key = 7dd80a0535d95a17f2dadcbead028012 +IV = 4f162df4a7a2fb9fdba3907bc7552e864eaf1f733a1acdfb0f351fda8602acc5408729cdbd6ed2cfa8f6e19cae24070cdd2f5fba66db23fbc48479c5324482c92e542755c4409f49d2f52790ac35de72dc27e7a915830a8ef99104f7cc1597ab9ed22fd7caf78db7018a8de5c935717645df5a1970af016d6202df86ac725ebd +CT = 12f1b89a02e421faecf4e6b2d1 +AAD = f204cc33bc60aed4740c64df3cccd8de8b1d4b2f +Tag = 7f3455e622bc482b09cc1e21 +FAIL + +Count = 3 +Key = e53a5fb032eed1d35a5dda989c291937 +IV = 18a87e549a7c628af7853c1d63c5604b7fd37f42b931736e4d23eb92a863a9bb3289622ff7116baa21114b2e4062ec54ecb421431994448d199b96d6eb7e75008d692fd9f624a51a986a295eadc761b2eb34e83948cfca908a2f7a859199d9b76bedf3c90437a345ee837db673241a5866dbd62310f5d8f38a652850eb29694a +CT = f8bb6e46bfba3a2d0c8395c192 +AAD = 6e46f434ec66d3bfbbe5649acab0d48b5d5edfc8 +Tag = 4c0a8f7e57ce3aee1fe8544a +FAIL + +Count = 4 +Key = ab2c2f880cf79d68cbb812f64257fad0 +IV = 621bb1f6c168f77e41212621993a8ad59eaec755fb13600963ad5185288be6ff3e938af5e51a8334ee2ebc026e0f4796b7233c6c3a1637ae99949f13f89d33e929a72bdccddd98c5cfaa18249a58c6becd3a6d2e9368037fca9432e5eefe38cbeaf3c680ebaa2ebcdb5671e5427aeef597a17a39afcfceb471ce60630f49a05e +CT = 59f8e639019ea47bc4d06d0328 +AAD = da22ce7efb93a143b3fdc718f84b7c5f17b98833 +Tag = 5c8c187c1a44c096fa9a4d69 +FAIL + +Count = 5 +Key = b4a56b7fec9eac80f5324f2343501af1 +IV = fdc344a0f5e4b2aaf8ff23f1486a02771e23f98379e53cb203637874d14894e9ce2d8a74ed63ab9106cbf23f61638398286c0036f9c4d9b6dc41e283e24d73494569d030320fb963a6845189283cec77b22ba1a41d3c99947d96551d3c464a002034b94d864fab08ee2f354483574039ada097c9cfb93f10bfdf2438f526ca60 +CT = ce409aa9306550c11f5e890996 +AAD = b177805b38a653abef5e5eedf5fe9aa39692bca2 +Tag = 7b933e4c8659ebbbb16a12da +FAIL + +Count = 6 +Key = 745a74bfb4c27a9f774a95be65e6d14b +IV = ceb4390ae78996b9231afd1edec5b8a7294bcf8121877490acc4b133feaaf622e0e95c86f68440b294cf437e80332bcc4332f2712887fe2d43441735be6efce98a945879b154df447c0a7c5d556b6950bd5ce4dae776350ead5f3f5cbb71f9e230e100ff461ba052787c43b6fb293f630a23072501c4de8ac2c87e96f755e0b5 +CT = d4501780617891bbc3311ee94f +AAD = e91caf8e837e7db6296bb56106fba3c98f3eaa9a +Tag = efe69e4e653578691ff17533 +PT = 5b7fbaa01cbd95d50483297573 + +Count = 7 +Key = 87fe4fcb3a802bd14196398cc3f78a93 +IV = ca1c52454098e8256550c4929377b4b9195b19ecc27c984e8a6806ae15e916b172c1fe6328f7e14a811867535d907feb02fec43959ed53ef389efd8363756b9d186aa5b8b3ad6f1e3a99e3db81b3f2bfd72dfa6a7aee05a084ec34c99a580cc3cebcd102857603e0ccc7a28f6c31b00eef0435653dc986f38c6288d581d9e3c3 +CT = 0c4ddef95eb489bba2e2d25670 +AAD = d29a4fd7230d006f0b8b913f0023963300f0d2b1 +Tag = 19b355c8b91ef61dba3cb364 +PT = 794f9d50f55e4bdcf85153a03b + +Count = 8 +Key = 5d5d1d235af712deaea1de5c76d61e47 +IV = 27f92098b4220aee676bf23bfc244a511c834d595eee76f778ea1677b877c9eaa8b16bb9dac01fd02fc0a8d183ac0d425c3a664619578ae36a6f473f3f65a77dd9101b8a8d7b9fa92f83776500105e00c88568feab719b195e17fbcb88247ec7ee3c82bfc6dc73e3a5590246a68bcb0106b9ba5135fb397347146cc30de05b5f +CT = 0a7d7dd4e14406ff59c0e3cf2e +AAD = 3f7f1266cba384a46755b2abd4af3b2b30663520 +Tag = 75f56df1fe092e37f6e94115 +FAIL + +Count = 9 +Key = 72d7b3255e0ac26f621ba29919951dee +IV = 51e448bf5ce657cbb9d1b1a5aa22154f41c9b2073f1c9938187354bda1a05aef18a558e07fecc4aa484dd8ffaf1392cb030ec7e3d7f388b435eefc391271b8b55aff5bcfc8cdd30764568eeb41e5fee8bb41dc18bd947befa84e88122885a70b8e54368c4f259a521402509e322efc1d7302a3b1721e734c79911901e8fba3c6 +CT = 6edd6c5e7b7c21bbafed75d4ec +AAD = f07e28ac4c51ab4914510079ff52e75f481680ae +Tag = ee982ea7080d688d298692dc +FAIL + +Count = 10 +Key = 10006749a4b539f13756f2b9d063ba43 +IV = bfc9079f9377c51d8e73a9ac62a88047587ab5fdf67bbdba35674dfbc006adecbaee17f92c38304325dcdb7b86487af50dc221219d11d4f7048b9896de5fe5090c79de58e8114c88a79c56dc95d43c279a2ba49988a00240fe6d44c7dab8b484b4ab854eec04cdd9857c6f8d8563c2a1a2a62357bf90bada08726526ab19c5c0 +CT = 53d281ffe2007ee95a0664cbf7 +AAD = d581c498b4472f26d2c2b0f928f11d14900683c9 +Tag = 1066f909b26ccaa517fb7f01 +FAIL + +Count = 11 +Key = c555182df55caddd98dca94cafc80b05 +IV = 5baca2e2927cd187b09a770d6acf08cced062605998f6915b8eb7b3bf0790732c987180e132c4d01789a9f06793f5c659e292ad08d69ec4246e860aa7112bd3f3f37968ed5fa776f52d7abfbc63e0e17775dabd96dc01f62963559f2ea8621f401dbba0cf0c62ccd884834dbbdbfa4d25b69bae6be7bac1bbcb62c1e9fc42957 +CT = 4651de554836628944af62c417 +AAD = 0faec4697cd5608694d21eff628f9e8afb3f8b69 +Tag = 854249dddb9540e877d8c552 +PT = ac7d707dd0657a4d58811ca338 + +Count = 12 +Key = 72cb001e6bee551ae7e91a5a40bfc08f +IV = 85abb71b745a6cfad75f5554268e981999a4b912a37d1b56dfc668ff9e67068a588da680910b6535dfb613a5d0c112a2892620b1d6159d47ea285ab9c58a783c851f6154956e844d75572593074445646c5b812c21e50fa83f47e438ea1eaf9b900a4b658add9ed2d818eebc5e5811df0c460987bca415bb2f2ffd687ced0ed4 +CT = c52eef6ff84fd1b23fcc6f721e +AAD = 0298a1024837f8407b86e4fbf5f736e4fbe42922 +Tag = e2b42432e0f6ea6964547310 +PT = d93b3906259abe306a198ba741 + +Count = 13 +Key = 49ff2382083a9b4e36d1fa01444cad9b +IV = a54919ba276f9d02424a15748c91885d3f6013a9ae9065b4c8a2a8cc63966456883bc54915d5cabaed4911cbeeb045741c6781f5228dbb80b338298a01d79af859c022b34ed639dfa0b515e5bad35f9b14698145d99972cf7f4c7246c460e761c7f41b63c9b2005f97581a9562ae373cd37183f6c5f28d1f8117f9cc4803f083 +CT = 9dff1a141921856cb1aa64f00e +AAD = eba283e0efef024c75825b77c9323179479c452a +Tag = cbfbc286ba370c7f1b303a4d +PT = ba35b6cc91260b268a56093ebd + +Count = 14 +Key = c160d42781274a85ad81d5e31491e3bd +IV = 0b69c3014f58ba3142805a2d5205978605a31c3d053258f73b51c4785798f423613dc608b8bdae0032c01ba7209a7660c79ffad81477dd97299851b2c8af9e7c82cb3e32941d436dfb85c53af18d5518fb47c29489ee78035133c65514651787596ca57609c7101635afc454234bb770a9a6bcb1d01e87277b37ef0e84e459a1 +CT = 7255ba1e8977069428aeb6abf0 +AAD = 9b42d4be3cf089cd4ba3c43edfad247de0a9e914 +Tag = 9fa66f68b52b32eadbaffc94 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = dbbba7da3ddd6b4c25d2881fd03108ca +IV = 8641f308f5c45e2a933068cfe4ed54399fd83912ee8a87d56470b9aa57a901dcaff5b62d3fe058f1e312b4aea954b423b0058392e4f3c1b40f5717e94e790f1547f64d7c3e1bf4bd7c6de80edb4b12474092dfe7e47386135c09d260d9a0dd57fc68d4dc84616ebb2eed5bc2eee410d92d99327eb6be12b2fad237f4b4996857 +CT = 2beea3c09734994376434c49de +AAD = 71bce7973b71c932c24d63fedd039533f8469a92 +Tag = cc3b1bdd78e739d0 +FAIL + +Count = 1 +Key = 8e4a04bbcdf8d7ffa694fdde4ff96fa3 +IV = 806aeb66d9e27b8a8a4a99392663203547606ce8a035dcc8ea20d4aaffacf1128e93823bb70c5fdd94b402f23daeba3f08f3adbfd9473e6ddb2b3135c04bcd2b6477756c7efd87698187c92d7ecd923a1d60d2359a78ae865b04d23d4d058c1bbddc1cf91c6cb4dd59ed816042aaf081903e66fffc1e5e32e0afd991abf7d2a1 +CT = fe9a9a7312201696865e5214bb +AAD = b287b4113c8b07d914362d127d7b8cec8eb13971 +Tag = cc6b391c62dbafe7 +PT = e645acc104a3b4e76fdc9078b7 + +Count = 2 +Key = 71262d746bcd0dea7b50c8f56b68adba +IV = b7420cbf178b45679420d10b1ba34b535827ba6907ffb7b458f441e65e029f39a66992ba170522a4f250092536d5cd9dc81bb2d25508295dccd0c30e17f27ddd60604e2871795bc51955a3aaed7504b8ace39797424219c33295410dae4527fdb54e772a0a83706297c89afce8fc71ae100ded013fc3fb68172908420925caf4 +CT = 38b4eaa27fe64950d73b2c9c37 +AAD = 7bda3b7b080ba43f31ab9a4bad55313444e7f87c +Tag = e7cf0c24b6264dfd +FAIL + +Count = 3 +Key = 74c09fc2323c717180f328e19ef063b3 +IV = e42a3be6d00a7bb50077b4a8e3f04be82935aae0809f8ff9607f560e8af76afd1618094b3e315b4e11da0cbf0f90e296140dfe855ac0608ddf4aed2f33407479319de00233da390cc1cb3abed892dd9216236ff27dc43d68c314e2180cb69038b4aa2758b8a8df51d5f766469d54231818a19026cee3ecbda757f598b492d696 +CT = b0add1277e543e819cff9da91a +AAD = 38de80c758b42d0b79d6662496c0c989b785d5fc +Tag = c4072ade2943a75a +FAIL + +Count = 4 +Key = 43622379741a50f11af44ce2930ebcba +IV = 5ffd9e9524565b9a3b21e7f3e14d98a122e4614f7c0fb4cfb795839ee58f06a40f0d29555f1f90e7efadcd28d1dcfa1dfde529ff3c03c2d2682cc543335e4d07a0e106fb11f7fe263c84454fed7c40cde44d6d7df1dbbf845f73a1c8b8701962fd3626bf7648740412f75e5886d1aaeb167cbe98a655820d78e2b8130af65fec +CT = 2e4478c56c4d0917fb65b46b62 +AAD = 9db31d96610d545adef0edd9e9a5022e77cee139 +Tag = 2d11a7a5c22e7836 +FAIL + +Count = 5 +Key = 3c037b531c17a778de5b6c05e9a9ee98 +IV = b19af4c1d91a455527c8a75d18d21b4065a2ba4ad940eb3d224c9a83dfa867b06cac2ec01984586f6f3dd718f48c00620897548f0c1ebec4bb983281a3f955fcafacbd1a6957a867fde5fa3a44dd2eaf75adf165782bb94e76473f9526545772820da83ec13b2798a5a5cf3733c9c7b121753dd373f229caf48c4864c2f78a8b +CT = 7035ee13f39e6e7c8ee0591d1d +AAD = bfc5d8f7acb7be647d7a122a4fa916351a94d0ff +Tag = 477eebd754fd2624 +PT = 4e771a14cc7f41e6f49d7cc82e + +Count = 6 +Key = e9c79a30519ce4018bc10f38d20fa8b5 +IV = 9787e9fc2b2dd0f18604491544ca95caadbb9de0f42af1c137a07f4bb9d2cd2897b004c3994954335da20161187d034372b77db827875264301607dd53a1dd7977a4c4cd98f8e172e77d9c6b248da24f8d29267adbb4d3bbe0ddc2b9844ca9515c1fe2ed60a9c843c891150e7c72f123a1879ce7cf9dea25a8b8eef889ee3bbe +CT = a345618b4fe6fa20c6246e3838 +AAD = a217b4ce66ff3c7f457ff78bbcf74d7a64ed318b +Tag = 8990bf7cf31a620b +PT = d773063db8409a7fda407e7ded + +Count = 7 +Key = 17930e8067211a7163c62755c9098ea1 +IV = c3a02aa0c0322bc34005b305ee0d1437cf9b9fb6aadbeb9531cfe9ba3331195ee1a203e265216a491d5f3b73871dbeee7cae4ee5990a322147ef0da40e4c5431a341d72b32e01ce430c034381b72d3da25a20e689494e7933ed0b27eb2133c00850a1125f45641b96640feca775606ecad90ddcd0fcf11cc3de91de11bd40e7d +CT = 3874ce5661c38adc0235e3c18f +AAD = f9b715658342c3ffd9c521b9e08b8acba98ceb00 +Tag = 0a324026a2cbcae6 +FAIL + +Count = 8 +Key = 007b9232c01e7684b99d0657fb8f219a +IV = 9e24b6eaa7a3f39c33e54e7b973a7f6fc2919c3d6d7a57e40c68881ce31a8330ea52e91301ba7a641440f8799c13e79543e187adfc91662786f6950508977d5348556933b3d499532bbbb9e027ca169f299a25652569aa8772565f1279f513843fdf4cd2086b3a5f9a1e0d8e7685e41d048934eb30fb6878306c4ae987b992bd +CT = 0f589d55d9c6aeb1da0d67318d +AAD = d4b32d064c17fe0926175cec0262ef8c428c5c3d +Tag = b81e2e3836074ac7 +PT = b524950142a424adaed6842e7a + +Count = 9 +Key = b4422d55fa810a0cc7fc3febba4d3c7d +IV = 4652d6eb15fd795535fc8f549d785679ff9d833b795aacb5d2010fba3ffa673c90cf92019aa1e4d30eff55545e28ab7a79c83d1990c7b1ba11efbb3b389e8f91e9e097e050703523053322ec47d2df4ddf8a8b65bd4363904a31766a39bb1ef113f15168c26661c9cb03607a470d0ab880f6f40e1caa2104c7213a1fa74a5356 +CT = 268b3ba2e1c80a301cfeef3be2 +AAD = 152c8ae89cccceeee98b2c557af98de3fcc71eec +Tag = 8c770119271d7776 +PT = 5f02bd9f899c1db0705658373a + +Count = 10 +Key = 0a16e7e2dc5807b0efa4da737f8839bd +IV = d80c7641067cd325d5b9348b71f9b0b8b7be194903058bc6df3f17107ddec90ce0ea9e55c5ba28af17bda935100c955145d5e0a99351542834efeb1674a1e102b405477fac174808edefad8573326f097a142167af74b35c20098a89263253248efca3c8a02156798c6762867a18023af3be66cc39c5233ce58d2fb1a8fddf59 +CT = 49a6174e244b0cff2b312478d3 +AAD = 7251bd95c5d4de841a08735928d59f920b5827d5 +Tag = 11ea27d0ac39c907 +PT = 7f1e952288b56537924f5833d5 + +Count = 11 +Key = a6efdd7cfdbd0de703c80d9a23b7de64 +IV = 4949e0a58fa8213ed36f8a9af5d55532fbaa07a0b4a89d24112a27fe6748f8049decdfe129642da59b204bdb3db927d57ce9f024aa85e1b12d0ddd576f861e60987e91337ab6e534bf530212abf2e49eea6dbcc75a7a6e089b70cafd3dc364cf45d4f96790ab79ee73ae9908c58270984247bfc6d9637e7f11b9a13360c24c6d +CT = c0402c58b53f67bb8dac27c226 +AAD = 516af3c9fd864b4ca0c630db03141d4133112121 +Tag = db9493217622a3e9 +FAIL + +Count = 12 +Key = 6fdb27af7e2bfe2c7a981d57419aefef +IV = 18b87baf5df331ca1dbffed299e895e6710270178a874b0845fb5470ba969b3efdb9964829c799d90008fbb2362b0caf7c728abb6a125fa06a5cbc11980e1583999ab570b7a34cb3583127b25941631222fd6beda7726d2b0fea293ff1e1f4e44a265dd914e1f0f5bf0b9846fcaa8e4c9df13cfab8e3e4f0701cf2d9bad1e382 +CT = 24889306e698ad9e5f45848685 +AAD = 2bca8986f3d639165b0657492854c7e647f2ebf3 +Tag = 934777f6ab20ddf0 +PT = 3505de973908cb75a855ba3a35 + +Count = 13 +Key = 2c952347a3a92e6070c2569fec285cd7 +IV = b8eec9ec0868cced204978dfcb35ee0d70f8f550398d0a9fc692bfe6614fb2ab900646685a642d44da464fae777c002d66bff70bb0335e669d43dddf6114155629578913e635ca8591a59a6b1e17982a2032dd3e6a2dae23dde1f77874d19f7d761e0cb788ce63bfb87f4b95eff4ef3c8b5f78f255322da9db49ecaa61dcffd7 +CT = 80f7bc9d6a2810e121d0886a6e +AAD = 072b21a0b8922e90f831aab25defe895b683e6df +Tag = d5218fa5679faa99 +FAIL + +Count = 14 +Key = eb52ec9f4f3e9f9c35b7a05ffa877c25 +IV = 2341b94688d5bd585dec8e58e875432a9c9cda2b5abab9f7be9b52942b85eae489b7fc19c6d8a4074b83e79a17182e00af4cee25e2e3269f836af887f7a2a7bf6d68e6bd5e0444800db19dc473bb919dd89118ae649d94f2137e28c4302552f489e9b29bd08beee39f38a5521b910196b2861a54b5b0a7bc0f368064bb1836d4 +CT = cfc1cd7381c84691f500c57c09 +AAD = 933ecf4929477db360ade0dc03409b5f85e1d4ab +Tag = 5895e32e740599f1 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 28d498286da6a8b4bc2c22e8ef9a66ba +IV = f3af0f27757ba0b30de2cc07a72d0b3a74bdf7c0cae81aaa61efaab9e5445fede47e2a2857181cd81e458562c7e78ee104de5bea08f4a49d4e6cb1136705fa0906393d9c50473d566886970f64df3eab596f5b68f07ccd7fcea26eb8f60e8f273f587038c4ced4d0cd9f3ffb511d0c6e3b5c3d010f0eafbee35d3c48d5b67501 +CT = 21cb728b9f179860209b623f81 +AAD = f8d9b2cdf92422020a18f323a8d384afdc44a7c5 +Tag = b943a152 +PT = 8084779d2e9bab8891f1a395f5 + +Count = 1 +Key = 875c9918d71bba29deb682f67a31b087 +IV = 145cb98542e1ebdd96882e5a7d5958e29f7fdea3f9ab77ab29cde832d51f64702d68e01e900ea08318e842c5bd6899eacf29ccfd275fd03548dde16b864f6c447264bf49baffc38d9829e9eafc6552aa065e930d4f3706d299cd993bb034f43407643dd2ab497e8dc54333dbd4436d61ce920dc5546dc71575971f6b6c6a1ec6 +CT = d6569f32df748b7cde2d8abe09 +AAD = 49aa5718e0a2bfc49da514aa0debfba93d6b6930 +Tag = 28a3344e +FAIL + +Count = 2 +Key = ced8dad18ffcc146d809e2f76cfae9f9 +IV = 55a737dfaeb5f8c2d2876d5d18c865e88095f7182c83f53e93ca04e613d6588ea53494f5aa147d38d4cf7bc3e7f3843f84ef583496328773c9d3ba61a803b117f0fcd7fc71f9c3935800d2468b472fb136746f3fd9fa2307bc9df26f20d2782f13df351cdd2d575949f5c01561f8bb70fa50134e7000fd59d405be17afb2682d +CT = 79714a219b4e31b06f2c89734a +AAD = f054b94a7ff16bbdd8b850015fa8b86c646be866 +Tag = c752b2a0 +PT = a12557887428ad014438dbd67e + +Count = 3 +Key = 0cd0bcfd134bf50591501390d6ea0ec9 +IV = 4a94f80b40b12280e5f0922e6539800775f181328a034cf7116581448fde0c11fa4c1a577ec5f5c7ddb39372d1edfd2532b0da6bac66553a2c683540b2f418db11f3e72f4aabe1b07cf2ebe199469bd2f0e401ffb66e715935b2c4aa499ab84d17443c133291aae093f440472da22069daa5b6e8596e80d04a08a2e4b40207c8 +CT = d04fc3496e0a328b07c51d2290 +AAD = 294194b10e984ae79e5c1ea685292bb4f36a2776 +Tag = fdf6e1b9 +FAIL + +Count = 4 +Key = 6dcde56a257623fcb4de644a01a99280 +IV = 042ca0816698aa4f35ff3adbd482626fe9875127b8af4f42a17de6a67d6676be7ff258f4d1ae9e04adf0e8fa3a9c244ebed7f8fd019f63663e81f9746d6145996b93f8a631a538b6f536dbfdf50fc665295ef9c3ab1c514c79a20d3a25a9735fea90113e351fd53db3a1ef40f9909d570e77843acff86447a682597d4c117768 +CT = 502d3975d22a8ab7e9f1da0e96 +AAD = 4045bef9f1e85f1c477e1bce0e67abdace2b06dd +Tag = 3fa2082e +PT = db5eb9ac4f1f3b115f05ef0580 + +Count = 5 +Key = c755f122f53be9fe193e3b19a1f4ed36 +IV = e115147aa3707354890d56ddf0a88e841e1f8f8e08ba49516cf492cece2a681657966e8d0ec5a04ea7e4c99a4bdaddb9a84b46b49ffefffab10ae5798e2ca503c4e701fa3979d2d29a2b0b7b10d48c57ed0438eef11e39c59c8dfeda76748ddf22d599902e4b51db39e1f5ebfd82d12500ee9c1ca510cfe799599c433b261f79 +CT = ff2d81d5fd42d33a1f82ecec23 +AAD = 0b5757972e017a5a5924ece03cbe3db19bf2e1ad +Tag = 75e397aa +FAIL + +Count = 6 +Key = 83525fe213bc8872860065c46c6f3a79 +IV = 32df69cad6f3d7ac5f5daef2de36677db65e274fd598ffffba94c443d721046282fb220c69b6f4ea867b33ffd30b8b7a18fe16bb0c4e7ba4140428457ffc25165d93f7f9013f20dffdf070f9592c5ed07f5fad3ae620b845a660a67387a711be1a168685f1d83453fd1e506cf39207eac756f8a283d6f83a44c8c55a4a169bc2 +CT = d27d46a3e36039771973c384b3 +AAD = 50a8470323f3e48953a7bdf2370837d467bcab8b +Tag = 72af61c1 +FAIL + +Count = 7 +Key = 67439ead3141dd7cbb08d5f571a93c2e +IV = 9de28098bd11eb9cd97d0264bba4202bb05f73019a7401e78b4d914e64ccfac1104355feed79c86927648e7045cc38fb8b0a16ba9e88290ff1dff596a2582e4553654ba5bfbfa6a2e3faa2d79f05656d3af8bc7673027d82a2f8eaba0f170427b83c98da4843ba63e344a45ea97de84316d04209b43054c156d93efd20ef4659 +CT = 9dad44571f207d42cbbe04e258 +AAD = f0fffdeff75857c128b9d8b758727c2af661ef33 +Tag = 27afa6d5 +FAIL + +Count = 8 +Key = 4083e72af34de8e3b074b5035423d302 +IV = de7ef347c13eb73421ab62b52fef632e0c118d13967c43717d846a0042ce72b2183c77d36d93cc4f5444debfea28b0d498bf0a880ec365c9aae2c23b17439fe1b1fb000d9c318e018eb88ccacd14146d6c90a774e0066c4274b6f16bdd49b85c5f347d8f6f52fd09dc7fea2123606c494552c1c36f6114076731e8b9ac00d298 +CT = d99c3ffbaa102a13d4d1a89ac8 +AAD = 291ab6443ed632bec3723697ce300a4c6ca174ae +Tag = 4543e8b3 +PT = b686dcdbe4c752241f7e025eb3 + +Count = 9 +Key = e11820c0dc8207f8605a91c33e2204bd +IV = ca6b1ecd1033d4f5131f32a263ca87975c760c9d366b769bffad782d841495ad134a65ee0abe0a78a5f54802114eea789e25557cc271280eefa9c339e3f6cfe0e230dee49ccc8f86d2fa7b3fe370d7b8135d530f562d314c4195b97d5a379e20e7404dda660270b8b2792e1f90383c7cb5d811b8cfacc0ac57ec67b09570ebb1 +CT = 22ca7136784d994e49b2249a44 +AAD = 0284464978795cb865268cc96621dcbcb7ef6a75 +Tag = 752adfe8 +PT = c3b2988550059290f0e65e0bf4 + +Count = 10 +Key = 1a318c82c01469dd1a048e6f60c7685c +IV = 067af5271a8a6deb26d4c2509825b28ad782efb856bc9ed525ef17618b0d1c7fe01c3e615d5ae56206453fafdd055fdfebffd4731cb8bca5ef5f02771b37906a1ae245afdca3b89520b895a35d7978222fb4fd1a6bc1e38c0fadf2dd5a7dd56ec0dcdad4b758aee0a97b5d80333b4ded72c99b97eb7e2608b42be52eaa61cfd3 +CT = aeec2ff0b228ed93440a45c6ec +AAD = 2af930c980ab653053693b592c74b46f8488dc93 +Tag = 888ecf8f +FAIL + +Count = 11 +Key = 53e9717b4e765dbcde01a9b821711db1 +IV = fab57ea6d31bd6ab2d0f328b7bcead78a5ef18c22a9d6dbbb70e70f1161e973fb601f5cee30f07d0905447a37e73286be25b4200db14c4762fa19a66de34577d59093b1398d3e2e95f5a4114cb77fcfb6a7df22b35cfb54015cbaa245c075cf217367ba1c36442f9fe54e8681e2a67585df9544ff47675ab5cb67501b551241c +CT = bc0a80785be22d09c876247f1a +AAD = f305fe02011d78c6280045a7811a6972629e393f +Tag = 09fa27c2 +PT = 8e8d7e10cca3ae45374571c98c + +Count = 12 +Key = 8874456da2bb36c78c5f5595ec718d81 +IV = d30b2eba94277d5b44228e357fc5bb26d68cc6698c7ff638ec9d99e311b6d063713e8826db9a71c3d8d06f521b11ea82cc8e091525d75fbf601f9cf8b3ddb2b07d4d602ac22c3637ef95238fb8a3c535c30da1fe28083776ab56566c89caa1cd0791c03a1e441d2334ce2a2427a02f9a5811c620f2af45f397f87dd88cb589ad +CT = ea0df6eab8c2b6874cd5cbf3ae +AAD = 67d478d1961ec3f30861775e3578f3a57c143689 +Tag = c813c450 +FAIL + +Count = 13 +Key = 04975f69405f63795223560f5b66b5da +IV = 58f480709387f89a31c55abfb34feec14dd18376b3977a104c2e5f76b5316e3b3e4ea1f2c1f813383bc03b1a1153706b0ee7e4f272fcdcc21780914d0d1a0a136ab69ef85c2311d5252bd7a956be3a4ddb98d89b6967da36036e8d88d40cef6761f3ac3e001bbf1f7d626044de26d71504c514693aacc6780704eb51ec7f8262 +CT = 86e603c1d8b901ca830b3f7f84 +AAD = ad90545ef90f3aca1481562d9f79af4cc88bb870 +Tag = 310c675c +PT = 16e28ad3a1b8fadf62c2815934 + +Count = 14 +Key = 78b4fc771efced4ec94f5dde90a009d4 +IV = 0afd5bde000bdc5a1f239d8bb4c6e031cbcc5b3523ec68f8d2cef859a7389ec282c135012a7ebbdc0877d805d652e3db73e0fbcc07a5bddd06c577aef97dcac6ef67f87aaba64d078c87bf643a74a3a73b163c2d01a69a8b28c9b782daca6a502259de0a7c74dab73c470f82c64d7332288ee4257e14b85b97a87f2820ad69cc +CT = e210df3ec639b7f9fd55064427 +AAD = 65ecea228fd8254a6bfaeec5a88a03fd59e6fb73 +Tag = 12ee05c5 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = cef6132b4ca0ed010f2c6e357bf3e985 +IV = 0025a541a4d257fe92540cf4a42bcc6112d0726e4ef0d99da95e99514bf5750ef5abdd830e443b91abb812aa96051f7f7d2f6c03b2beb7ed69e1c27f78063e59e5f61219e631e4e9fc3341f0e0f50f1c534365dc8266d960f7d4169fbfd296c619fd11a500267326ca752bf5de7cd534b20738c3d671f885925cd49ae304e9a6 +CT = eda6ccb8eb241cf859a7dce1de +AAD = e9f8ad4c0be5d0935633b2e13ea0496689dbae4de73f28fb37216a781c3e97d841342df095c534585485fe200e78a80c +Tag = 901cd6ac5c61014ce15f9e670d1efa9d +FAIL + +Count = 1 +Key = 5bcf9098da8e3bf5e4eed0d8ad052d90 +IV = 6e22a83f51311e75ac24546e8bd687687bec4bb08469395ed7204ce8e91834562915443a926f7ac5b13455403c7b7db02b3619ecca7bc893ee232502c33726b95154ee99785f48a8e738ffc57f751739dac207bdc25b8825fa3f92e8f05d92864090bd8b1a767e4ee388f0964ae747ed46bb5c57337368ae64f8c84019deeb3e +CT = 6002291a34011e145cf7d8fc5f +AAD = c9cf7964e2776207323ca9944e9e29e6774a716de5fc9ac2add513d2aa2952f3134dfcc57dbdaa99bc547068ed707e08 +Tag = 0b262afd2ab0ca574ba1792b408a208a +FAIL + +Count = 2 +Key = 3c74ddbde2514635f5420a21435fb8b4 +IV = 0dfb30f158fee0bd86be7d56a14b6242a9c46c4f6fdc19909be26e24b21b95a74108b22b4f3ac0f9c3711ea49fa50cc69d4388de590e1455e99f7e574ad85aa53836375999a172932da53320581e0feaef90887fe4cc9af80d2700c11f89eb4bbbf765bb07b19ee1fe4a9e4d1960f51293e24956aabb7fcce6574007667f4854 +CT = 190ae27e69fde2606102cc5bc8 +AAD = 2465cbc9c6bd1d031526fb2e6886bc729fb59589c6c9bb0c3be5bf67427b90499833fba158e769af97f1e89d23f21943 +Tag = fda8f8dd10302b69df240a74eb3435c4 +FAIL + +Count = 3 +Key = 85485837d0efb6816c261dd413a1aae0 +IV = f13a6ac4b5eda75bfbf488a63aefe9470279159260dda958b31f9b40861a05563028c6c530aa519ad682d420b8078b94ad5773d348f3f5c45ab4603fde4d7e8e21f0f0611e86270dfb290d96a40c9be84c91c88c484fb744dcfe564009f83ba36f93174f6cb1a9fc9e7851a8dc4003e2ed811dceed1c7c65de6398b4e0ad3323 +CT = 908dce37099f00fc3d080120f2 +AAD = baa7da441a4c70ae219d887a91fa42e5cdeb6940d86011700e73e7df5133554316498d0c8698c97e99fbd16b84e5e6d4 +Tag = 04492ed30aea983705e454fe465106a4 +PT = f23d1cc0b692d2c015e5916c05 + +Count = 4 +Key = 66cd25da79ccb19c6b91dc83699f832b +IV = ee4a4e48beec361ebf5307c5e1eb0c78eb0dcf4cd7c85d58b8b1416e586d3a1175555a2077d80f12d8d6ed7b1a2fd7a8b8f4dce6b7bbabcea0343619e932f8447c3b444b3573783c1bcf3ecebbdd386314ae170b0083f574f4283842fc8216dc083494a9884054796a95a5944c8edb819883e0b139cee539da58a06d7b38880e +CT = d303eeb8887db5e2a3477e4a82 +AAD = 9c50c99f5e8483a99f553c10aa778a160522d11a74abc14a33cc19b6b5a11c6e0cd95fec79f710c29d66f856040ed3af +Tag = 99d20fb345f93950c07d8882858c0d24 +FAIL + +Count = 5 +Key = 31998c38c5e3fa4ff758d20fc32849e2 +IV = 578a421c2e723abfb392a14dd203fb6c918eeb9391605f8aee0f9ceb8b81cfe32c3685475f97278a32874fefc810b0e94170ebdff2d98bfe5d5e8d246bb08bca88abb4eb532e6f44a6bd781e339b6ebe0ee6d37dd6d952892a507fa422ec1048e6aef0bf31803b363639d4085b33ad0cc2f924819fe264235f58862564b3c7ab +CT = 7547808c2044f79a8120a99bff +AAD = 1edb5a3063a39baf37d1660ccdc23769a594942574bcd43c3907ed73357d22c63511e174cb0283550d497dbbb147d424 +Tag = fa67550ea264c196a666c41152cb8fd1 +FAIL + +Count = 6 +Key = da5dd0603256be9731d34fe00182ee8c +IV = 106f89477e8fb83cc7d414299c64440f6f995953963bc0eaacdac435f75b8d6e5777c1db7aecb4184a4cde5eb7decde6be6acce6abfb4d97c59ada321a946094dca132fb98710d47313c3d5d47f4e4420562c689c3bc84248a08fcceb969642efed4d5ed9ab2906b64481d3ece33e770f47d9de0cd85362c5e00bb2f140090cf +CT = ee2a614e5322fde3a13d9e281c +AAD = 2207fe0ce57b67bbec2951cd7002a28d752fa0b7438c06c4670a60173cf4dd2485a5fe0b0b838db18fa70122dff9dec6 +Tag = 6e540cf0ede05b4a2bf495b079bc22ca +PT = ab266ee3875096e2652041096f + +Count = 7 +Key = 371348c0ba6c044d3095afa8584acd84 +IV = a69802b9bedf0edd6551faa98fe9b4f95bf284a34085de89e1e1bc023ded9d31624b07ac0b88af691d258bf259773333dd464ebdc7dbf9bcf3dc765755bbf0f1ce7fec0e7db0ed80cf24d7d7cac0cfb61166639e4ca0b2f7ebbff722a895fec7e9569b45545c0982da3c2c4d9fed8fef799443666c0baeca15290ea207ae4ede +CT = 6fb7cba45883fc2d6747267330 +AAD = 48258ab3deca0779250dbdb7a8725e863501ec96c2b2be7d0dd4e7871ec21e0d3d62061a3595236b446250ece2946566 +Tag = 33e3bd9c9457d9545f98d37fc9ce5343 +FAIL + +Count = 8 +Key = 35891821a1c343ba6b36c8bef3e427bd +IV = 466dae12770d64cc9f4f939f3ae91df05997093890d3c7e0fe843e0e6535620cc31a797e1bf81b95b22399ac4c4746f189d693595b2892c38d358a39f608d7bec5822b992e20dc7b77c11a351f10e43c2325a8b2c6cd5f61c508d85297b4f48275a15b68d48b029c858201cb6c839cc94f12ee569c7405d58a08bfcdb3db19ce +CT = a99579e19a720f283398341dab +AAD = 1e5bcbef08ed59fc7554cd7551b2bddf576702629af96cef3df8ca7688afdd87f9e0ead4ed054579f54e83d5bc3b53ad +Tag = cdbc41011809973cd567af683023e509 +FAIL + +Count = 9 +Key = 52c7659f1721bc5a4533c989572ad465 +IV = f151dde632ea1d499ea62fc2706627f412a790bf5c7a6d01a75792d26b4bc159ee8a035f26d84f42c6df63771ce881bbf9bb39ca7b29cbdb716e7c0b68fc837f7755d27e3eb36f09f48bfa9ab5bf5c2196f0de431d197783a8324c2ce8a6c4b963f5a926f5eb5f0b6625661bfdba45bbe812c50a40550f1bd92f08c4be856873 +CT = 11b408c98aba33d91735143da0 +AAD = 3c17b0fb7d1b911a5f345c5c2d79db63af5fc7fe36207a676c377c5d5d8d9970ff2babdc4c0d4da9cf9ba69fb46a498a +Tag = 2820bee220ff980ef61c2011cb19d74c +FAIL + +Count = 10 +Key = 370b215dc83d1f256c82d877f52f3165 +IV = 0fa34aa6ef6bd4865983f7c0fb3a58e5d9a8a6e1f809e1f84c3b374fd2257fb8d7ea378f770dd8c0665c85429d4e1caef7f86172f08a2d7e8a0d8a382a77479a94d1c2fa768ac43a3b54a19841d957ec1d0ed1290f9cc471bde028b79150027cc927679fdf09c7aa579b0ca86e818722dea8ee965bf8d5bdcc8bd4fcde1a5de9 +CT = 85d0295290aeb2402825402b40 +AAD = b437cb8284d273eae02e4c59e21d3897fa80111f54ac530ec0936410570ee9f9e71f0ecbccf4cebd91a4be6aa7c06d1f +Tag = 5077fb4f99e5f878584c47fcc694ef34 +FAIL + +Count = 11 +Key = fe750b585c9ae880b267fadce5e76ded +IV = 1c86c469bb59d9f5c5edcc680490471518c50cdaae40cb7385254296a3634539ace0c2a31a951cd1dd612fca272380ee9ada533536cd67dff694aee7a2a8f30816a5cb375f58c3eda9a37bd8eed00867ca1c793fdb5b852cce503d7c0f3efb46b6a58fc766d7a741c108c170b6b9acd76f4a044d45b2b712b21c2e760f70cc7e +CT = 90989ba2e691db35f055325987 +AAD = ed00b4e9a840912f2f7e14ab4781867b6e28d6804fd3364ba12c54a23d4a7760bd0e1d87833a039baed868ea37875873 +Tag = e899a0a9c3511e35e6315268e98f6612 +FAIL + +Count = 12 +Key = 8f29d40b09829ab8b5b6bc21f784e31c +IV = 7ce3712331c045599d3e2ac6717496f57ecdfc042c51c05389f6339c3f656694cb44aec3c8dc34338f7c9d3b8fecb1069325356c0315c0da92c02c4dd673d776f290112aa35cebadc0f40f193fa77e6d0a075194f738358713631f315a0b4d5b0174c00e9cbd11f3660213412fdd606cf0a5c8ab285bf2aa3d5df807b17e2ab1 +CT = 4f5c805bc919b62847d5b783d9 +AAD = 30d29b1a76c597bfc09039724e743b005d7e5341016d437a6d557ae9914e18e8fe14c038b31f42247d5a293013e007de +Tag = 92a50f07acea19fb429b12ae6c75325d +PT = 9fd90f0c213d85679495a2c093 + +Count = 13 +Key = 559343798d6578c83c9b3e1d8814457a +IV = 6cab8bb8a915725eebc5317c15a6444dc4dc2eef0dde3a431baa68f9441fd49c5d293641624fd11b8075495b60a1fea31f846c1e41ded8c7ba15834edb1f9ff10ece3066d2c4593bfa22dec2fa77313a82731664ddba748f015e996a530bc9219b971f367d2fe6d8b05d4a14c125396b7b4072e28758fef2b38b5e38e9590d65 +CT = 3e32eab8fe6abda715e48a4d78 +AAD = ea842e50fe8186e8a6657d960eaf869cdc4338929a2bf8f5ccbfd87a819610cd4972f8e9bb1225fb8c9a7e669e1cd4c9 +Tag = d11f85c0cb323164f89d767b0060d437 +FAIL + +Count = 14 +Key = 957b36549db39c34a131d9343c5b3380 +IV = e237ed03cd8f9a1f9b15657d23e1caafc5905139d49ed7ff0529a89ea5cc0b68420fc9b0bbcfaeab4e4cc1ae9698aed368b7ea0afd44fd963e0d7ffe6ad48d97ef0ac99fdd2473e030f175017db8336d7af410007387b343aa106304046b5a0473f2586c34bedf39cd97ea319a18d86e586084d8ac53daa48729d0e3f406374e +CT = 2c8d7f05092e57bbf8608e7fe1 +AAD = a97dc8edc5f2f0b24c42118103423cd708d657adb1ff963ed7e41ef700d81e5ff17104622b3994e3a6907a82d66da904 +Tag = d53628a8296d606efb1659b0ef7f0769 +PT = b24541e1db698dde6f0fd4685e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 0c6b88783de277045eeb5485cd502bad +IV = 86f321892c907728468a9433d98d23c1b9eca23181943fb79c5996e87ea0f7dc895f4e050ff615c622c7d731f293060a6156584f526dec9e1319716bff0389184747276d262f1ceba4fd50d887dcba18f43a1b697584f98c8800767f49e3a507211c9c5a0875be9f7562d8589b9d80e035c38c411da3fe1c9a0f33590e6bbd9c +CT = f543fe84948f8747c3ae7801f1 +AAD = dd9155beeb8397da096bb808199bb7a8ef14cded5eb7ee04c232e36a51f5f0bdb5f641a2d47d2ba263ac5fde93546951 +Tag = 7a17fbb69ec1da6c80c48bd2d1ab7c +FAIL + +Count = 1 +Key = 10deff954b40f5ecc2b1031cbf3fdb49 +IV = 819421dd563634949b2db6c0d7387c8e79c4a9a39222a06b0b881870d2f68d2ee35e729adee036d7b99398cf2b81c6defa34dc92dfc91108e187ce336515aacec9e46eb7f79acb6fc6757997c47da7ba8cf869a0a6ad569c0b1f84d4c97f8496fb822d7129702fbd395912451b32352206554b318ba5438e0f01d92223f6c98f +CT = 7a351c7ebca90d6450997d5c43 +AAD = 73867a65cd96a7f00d3c06c868a327ede78fec548a5595b29446307e003b78fc0e03b08f40974b55d49e231987e15bda +Tag = cdf2f91660de5f9f379338846ba440 +FAIL + +Count = 2 +Key = 5ca2fa3e13d3c7848b3534c1a3144c42 +IV = 2c8a2756087323ae3e13350c889bd7cdf23efe845cdcf3519158ec95a3c9e953a261c39885d7d54f8a650787cd22c9342068e8ca35166828b72d19d53b98b8925c1d51b8bb12ec38656de30abc36525357f247e6a0dfed437068b2de623b641ffc74fd96f5b8681eb6adf080e38dcd2a9d148b4cff885384de540c6cc23a085a +CT = df4905c714640116751e3c1e08 +AAD = d0abc0800d7cb1a952c2bd3678f26c493381c2c64a59748364a65d342e2b4dea43a2c96ec982d1b2b183d61af73fa2cc +Tag = f1632a2c1ff6e6029bb645ec7bb4d3 +FAIL + +Count = 3 +Key = 6b1fd7d076e7686de8f7099948dc4f93 +IV = b745dd8b42052b0df9655d3ee7bd2639962162093597164e57ff53d5e53188967dce6199e767ade57bdd4f24787ac56afb19535c19afafd1e1fc30b7bc735ced7ec80a3f12330d2efcec37cccc5f42b6a1621943d7fd42f07777e936077fa23792e07d8e2731807bd80bb8873b39185e50d74f27c8c1689fd2941bfbefa397ca +CT = 98e08b03aa422c2fa02a3f4a21 +AAD = d649ef0b30a60c18ff8d4965c6e5f30703ccdab8c3cc313be44eb8e304457ee833c89469550690391f98ec35ed8bcf15 +Tag = c9e97f96cfafa36c13cbd9bb072118 +PT = ec845a24883cfd3f02e4f02631 + +Count = 4 +Key = a075f7eb3b15d40c053a933dbd4e75e5 +IV = cac8e23ffa226bbfd8fdc2c880fd5bda596e09483199167ffa88762d3ea1d4b2ee50dfdf72a8c8d821f502710fd279d1ca62d011c31a14c44414284d490c631920626b05c58e1a0111f69b148d465b3ac644ad5aa3e7062c5e0e31489be8aa1ca689868122984d55cc20348a238da0df8356ebaddc8a62ca2439579889345599 +CT = 6115b998c22ee083ec79c8b5c2 +AAD = 22a944d30ba3b49c1c6253bd5da0bb94ba66ee520cc1fd0ef4559038dd8e09a0f5c64596516b37a2812751f533897cbb +Tag = b6b0fbb420884bb0000717afd4bf85 +PT = 7cdb1a2f3bec1a8697f67769b5 + +Count = 5 +Key = 12002f7132902507f7bbf829c7fd3bef +IV = 898cefa0167c941ccc34725d30a2df8e81b0fb29d60de424f154829c30d2fe9d609ce61e3da9af8a3fb8a6e66080eb189154cd8b13b4a7d3d3fdbd2df46ef8707d9e67e2b96a9cc026df7ade64fed744d857f083552fe83dc3bc738f4961d3d589a82e5c2bf5095c2fb2f644d93991249cb71c8b31e3ee2e6cc06899909b4082 +CT = a0b88405e514b7287246aa83bc +AAD = ac1b7b58748f7331dc2e039838696a17f2bf59fa7e8f8e9e0a8f27b4e83e4ede774b734710fea9a759f248604b0afe54 +Tag = 714c505b918f73a0b26588ae3da079 +PT = caf95029532525e3274501485c + +Count = 6 +Key = 0a7e64761146ce813a733050134ee7d9 +IV = 73bb88cb1870d6a6387d9d56ee91b57cd36a5337cd2ac66e78bc8762f9d00d0159b4cc8e41a052fdc1b6fe27d43d444509fc32d6da59d2096e40e82e36ba951a7b03be4bd97972549e3a31ed3f5463478afc15540df52857a61b0b972320cf39c005b841e45c2470c314670545f140d5488a91744c2949beac088bb20cf6be1b +CT = 21581ab273fc88e86a704eb2de +AAD = ddfd609188958d119a0d7007ca6f5190c7bd16f550079829010f02959cb6fd57e3bc68e6a9a690b0ba807e908ab3af54 +Tag = c3c1c2a495c0a0066dfc8b743e2c92 +PT = 67650e3212459ff474cf17a89c + +Count = 7 +Key = 838e88c449f0e7f6b17069697780abc9 +IV = 238f3b2c7a69a63dcf6ca6bea5644e4fe0ffd0c0a73310be3757c0e7f6e73d41bed0693a096ca02b5e224b22e4e3a546ed38600a9d98da25e5bdecf41268c0bc9b14b39bf90b5f31ae933b60c02261b0f8c198c6fa0a5cf22b2392c6f9297372575e70535e32b1b7ef4878adb7d66dc8bf71853a65bdf84e9feb623ad9582971 +CT = ff1cdbe4eee80f7c0b66f2fe5b +AAD = 92b577e58d77527d6b5f2371b0a4586f31ffd73b3a90b1715d9347fd7f69c2cd60139972aa309f53a18fd78d00a0527f +Tag = 0f5662b4764e8f3ca17585112cb908 +FAIL + +Count = 8 +Key = f0870e8134bf45d702baaeb35a70a423 +IV = 70fa97fa538a8a49e494640e1a94d7d4b6165ed2d7dcc1fc9fb94bc00ce60f32d1cbfd58dac97ac3b1f1c0745ddf7fd4f874e0d60dc75b798e7ead6a1415b901015ae7f20c6695c68ebd9e9db3255c1b11ce7090dd7c988a35efe10caea195751b7782984d81c806e7a2e4d4ee4406ff0e3fa993e5c2e064064f07afd105f429 +CT = cbf3aec8162aa39e3f1ecc41f8 +AAD = a01e2d6f7669cc6683c0216ccc5f9121b89c0d1fdd12ae50fcb20463a14244e86d0de0e8a6e4b2a14b2086fea89f045e +Tag = c5725a9474e308bba438a69a9e9d39 +FAIL + +Count = 9 +Key = 99fb37dc910c7e82a431544fbff1075f +IV = cb7f9f8799271a2bc6a4f03905c82bbb6cebb1a89a95e35208cae07cb3231db386169b2b6946a12dad99a13ea115e775b0e6b0df49a3e3aa0de6ea47eb6faa33b4af22c48273aa9a626b17fe2b2ac2d3badeb3ced0438b4ca3a80e5abc2468a05278a52cd082f8bd99ca89b6a4400734a29c035a69032282f4e5f2f332f40df4 +CT = e8f9458173cba4fe8e91b9d6f0 +AAD = e9a8cd68ec0cbc3308812da06b61c6f2b66196ed24828e17c0dd4711c68fb211d1b4b15a37d11762de3d72405ae0c0d2 +Tag = 0a0a0046bfe9ce422bf7a93d998ce7 +FAIL + +Count = 10 +Key = 88d5fb58a033430cb92f86a5b018b37e +IV = 93a02757bbb84da7974e272bcbd16a6b40a86bcd0d3efa0db8e9d97a303651531ce007711130d46fa701d2f73d62041e047acefb41866447332fd716116dc659c23bf7a28e28374a803a8b01a8ec2a8120068f99181dca9ddf6da52aec56e2e3e80576982ada5661387fd4e88571c3a976a5df6102f516cba88929b20bcf4557 +CT = 5cc02210cd97cc6cac6b1e78ae +AAD = ba9c5d9c333611c9052c6a17d12682447112c70cffd570158a7410b027c9d513444adf193c9a38984be090126a327ca4 +Tag = 304705a9ce9857d749ac485cd2b452 +PT = 8780bce9f3f9cf1c7a256a3cfd + +Count = 11 +Key = 38b0cfdec75b6ef7335ed3297cae7958 +IV = d6030dbc70a0c221a564cc1a53a50ffd8b75b010e2e36f96edce7bf5e19e2c966f367ee550a92e13efcbefdf2460129a853ecaed477fbb0c588813a5496c79a6d9c51a78c2dd0cfb2a25ae8d6eb9897377e15e6e7f7770429f9841f7a7f656654c4e7af0cb1bfc7444e60a2a918d2fd60f28c1771c8149ede1930a5dd5133652 +CT = 975c99840718af3eeecddfc3a3 +AAD = 89793838f927e9126d3f1a778d1765c1e9ac8e1d988ce1f27794fdd3f847ba551031cb2b151fd2946cd3e97faaab94f2 +Tag = 35a205993f5170956ffe3aa25f50e3 +FAIL + +Count = 12 +Key = b132cd1e755a5d1d10962b29aa352168 +IV = 3bed3cfb3a46a4ee3d64eeccfe35689fa2da873fb3e6f99eef0df5b4fedb15ccf6c11eef8c4e6ae0221aced691fc016727363311f27d8b9901b3bca2aaac33c7dc93e4fd488f68fd4235fd85a157c583515150ea52aab179a4a23548667341f199620bea5b018b61f05839dbbb95a52802bc66e0269c201ae360962e3a4693f2 +CT = 39c1108710a8fea55f27a95817 +AAD = 92bf44649b3a257b677a9c14e558edb1d433591f0d1b7df7a3ac800b8f5863960402b371d893997977c6bf3c2dc001a2 +Tag = 0f15bfd647d011d3344acae4900826 +FAIL + +Count = 13 +Key = ff1013fe67d8d0a9392f18ece520e946 +IV = 126e43f05c8c790791d2706ff7658b18bfe620a60c8c6f6ffe13d12ba66cec649f2e2573653da6308f1118b6b439852c7755abcc8d4cceaf007d3e384dc0d0c071c16ba1dc0890aaab4dda1abeb87bdc37bda3d21beda40cb721919b755c9a0bca748fd404cea69cb78ff9d7a94b0071fb8bc8cfcc4401db55a8ee7e3b746335 +CT = c0d97c399138786f84cdd66cca +AAD = e906a0eeadaa089626d0e5ebd70dbcbf1915428a32f9b3911dc221cab98d9f7cfdc30f076c77b279603dc91ae1e39b22 +Tag = f7495a68294238541ec14dcd5c0ddb +FAIL + +Count = 14 +Key = fcb9779a09c3cb73e0c8f51b97c55e9e +IV = 3e6b3f901000ef26e31a5061686f3c8e647c050c4ec0adc31b2f892a76fa31d52f7da34eafb3dac958b6d137c6804789f1fbe1fc56c7b994f215297e279f2f21a902e6a6a9d9a0360f7cc22c3eb3fdf11dfe4e8cd18ec2b07b7228434faf0ea7d4e4b4779e7b6de926489dd4695162f777741a4cea429d37ad904f1eaf5c9e04 +CT = f0192e0b8d6e44c2e58259f5d7 +AAD = 30055b76496cdd95dab12156c15f0f14c3f20def8a1ad8b01f98d43de472b37476dc2c2bac094f64afaa2c38c5d46ff9 +Tag = e48e4c8d6660fd8582333db192676b +PT = 15ba10b8ff2392d476829ab7e8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = fd51ed2ca24b33f10356bb73641ad742 +IV = eff1f859ed507992f8f086bc7d1116d23c4eb93f9abdbe8c365762ee6871aef90f13c9e355057a929997bcf6a642d79b3d82805ba22e8b2dd91bb37826ea871886d3fc0c1a00cc02a8ef3d203752dcc355608674077df305462be293b3a8cdc69b92f53d8331883d883fcbd85d5f20e8960da5f437b86c436702bf5a831b8e3c +CT = 5d245307e8ffd2f844af4133b6 +AAD = 40eff4ed0984b88b967a77bdf315f2c8d842e4c34cea28b74a11977a73dc198623de7111f16dd5dc6fcc77091bfd3e45 +Tag = 8e7d86649d1cd28e1490aa8cd799 +FAIL + +Count = 1 +Key = 6835b9d967a81537f6cb673af9ecd6b0 +IV = 93f22e0dd1f339e8cae34cb26f4164a49fce0c31e393becda1c3ae2b65f11cd71d6524a5047040905145d2394c114f350a94c2335041d83121b976dea50cb8143c4d8f7c68cdf217abeed485802d3fb1538edae25de922de9baada4d22924a0b35362c783f723cb4effc702463f1355c623a1c537c902151626949228b9c2ee8 +CT = 56c857ae2e3191695f1f2b91d2 +AAD = f168c49f1fd3b049aac1d56f197609ba6569f9dbdb288668b3b89d2e3aa50eea7886b9c371716b58bc6e8cbd1ae04c7f +Tag = 61b5be93f9b04d5e937c9f9102ad +FAIL + +Count = 2 +Key = e538308a74568deb836db7a64d5c312b +IV = 1c47ea4c7af666d61d23a5e4f9031d804973ef9419e1438b45df693c12c3eb264ad146046448cc15b9aa139c776dd96672fccb041cb809dd9e47f744440fd1210bd07ac9bf4531166f82cb0cfceda635011710f97493c4a36a7c8ea4f0b4fc960adc50b7dc271648313f0d4fabb01d85e2f2f8592b2b5806bcdfe7bb75870664 +CT = 148d22707518ef2fed44c51c93 +AAD = a113ec35f65f6acfecec62241ec90afe961c78ac1e7b755d0e5e1282f2db883c6c9d984edc2c225e675d35d9a89b3134 +Tag = 8511a140b4dd5514a52fc04063c4 +PT = 161e4e3eae256c40607b8776a5 + +Count = 3 +Key = ac41d1545bd031640f3afc52e492a157 +IV = 46c5d885d6913bfbfa79fdd06cbe8e72b1dab714f414a55394bf0d7a1a3443ec5560d68dc6ca950e14f8f77e944f3afae32e9f3e926048474a4ca74fe6b1a41861ebb9a6f1be8fa59f98f1f51205d11756af17d90489f5f93aff95c7445b53a17b3bc00642819896685deb40f03482e4132524f2543433f620264432fbe7db29 +CT = 567ac661e2004945846ecf8558 +AAD = 5963ea9154ba12262f0b8eddabdf911f277c01101370bdb00b51f111777fcb8e44b59827ba09989a9d9db0314c111404 +Tag = d18f87f242443e8356ed954be721 +FAIL + +Count = 4 +Key = a0cda25156fc741ab1e2dacd89fa09aa +IV = adc0f999801563365018f3887a46778848d31bf7e6e82dd2e5d92a9a2e55e8cc29e3278d913ecfba05cdea748af507fdce963f3ee1aadfe09acd4c24bb90cf505a5b86b17c530466c2bb60848c063d173eec7c5fb46826cef2070ef5c21772eee13040ec6ac2bfb98cdc3b5d3505d732e8c0634293c1fa9cbef7a0580f68a37e +CT = 4165c4b5268593e9b07003ce3b +AAD = 2c3d73a6251c85db6ec32563b0d3eec4319957b30483f51b641eb722b5bd384275f5be2eabefc00dd0d7013a62e177b9 +Tag = 65fdb712ba56f45ba69dca026f42 +FAIL + +Count = 5 +Key = 4cbabe21b7616b9c02547f9e1ec2cb36 +IV = 9a76df514a2f2fa9650b12107c071e50cc9e3f4dd43c7d0c381507cf5d736c4ec8ffd19fa49ecd4bbe43ac50a9f118feae21af8c8af3c5010679cb8f1e2d0b003675f0fc1dc3404d9b44b4fad5a7badb494c2c69e0c71b28eec2de9390712fe34aa0cf236202dbe0f00f73dfba0f30a04c9047c4b531ecce183caaa9a2b18f77 +CT = 64543138bdd4e3569eeb9b632e +AAD = e1a6a951725b06984417185f6a680f5c56b6c8ac0545d30c1010b92b48ef09c8cf1f9e4974ad4a9ec95575cb7bfc0ab1 +Tag = 8d18c459f068c1ed6be3824568e1 +PT = 6ea6901711f3a333bfc84acddb + +Count = 6 +Key = a5b7665ae0c970f7daefe1a24fdffa31 +IV = 202907a2392b93e646d0742de480f64f89ccc906172c94755e402b3dd76852e5a4af6fabf5b5dcd43af6605fce8623ed5a29e0da4b189f59c6ba8656e93f5c0a832366b431112fb547f2c16cffbc903801f9a24e0a99aead6c7d219dd8d590c1af775c7401bc88eaeb36bc9140906532c0a35f1bc7357ea39f040ebe00e46e5f +CT = ed94919cf6b2b686cee5fa7d03 +AAD = d967f9fd85de08f1a581f5d41204de8a92224b97f6a750597a0b97b80209d616f69a4e57728082c3cf2594a8f4495e82 +Tag = d6921eb2a773ef3b722d1ef5b42b +FAIL + +Count = 7 +Key = 5a749959cae2d5e1b25a85ae40f4db2f +IV = ab9e5d9b19cabd0684f2a18211c110c7720b40e1308e54fbd950c090f88f8ab6a674f967bca3f37ed9c6333ad0291c132bc02f772ffe113596ba6fb8d7daf6d956a7d2043129c9e3f5fd68bb28c4e9049ad42b3a114436462b420b2b07ee50142c2b1f63788ba3e3329c4913ebcf03f5a683f187b225204b815c84898b031202 +CT = 1df7e460a7e50d21af80e82725 +AAD = 17b7f5b62dbbfbd3b5ab8380e8f8e5220d4ecde9dd4c3667386529b61a4f9be96b61c1dd8446fd495c3043585253a495 +Tag = 2ab3d8c5cabd14c8e44222a021e4 +PT = 12dcefe5c473ac8ac557fb7c81 + +Count = 8 +Key = a4449b62ec772afda245b92f07d31a45 +IV = 072011a48473eb02f5a849fb5ec6507751e9893ebbb95b0bc804b252df6bc1da681657679324cd1457b478bc4332303b01eb00841b5ea5a150fa2d73a5d4252b7d39ad8e19d7861c0471942a6f1b78d1527ccd0cd8d50d2104349afe5e4021adb5610c5bea3e0c8c8bc4893155b236af72cbff3e9d77178be37dfbc465c83a50 +CT = d91ac8517d01283ffe21e95ac9 +AAD = 13092229c62c94f0a0fb0ce55e05494d00acb43bece9f311086c8e2325d05238ecc0445455fa44834a7511eec9189918 +Tag = abd786e2991f7bdbb50e2ad5df55 +FAIL + +Count = 9 +Key = 98623e3169482ff8fec1c0c905c92b1b +IV = dbef899cfaac1bb90ffd64f1a23aa2edbb1d4ed202fd1cfac2cc3b81b13c3e7fa56f34330ba0b084b096523ae9b4ccd94a19b963c8a182ca2248dedc85ea6c5fca9afac21fee1ecc39e86c61d26e5049ebd753a28de3674e00fe3b8c1943cd323bb4782b05faac2643183a3e7a81c030a7ab1cfc9e3b3887d4c08ffaa3447bfa +CT = 5c88133a5c4340cac56cc6689f +AAD = b9fc7f57762ca4ac8e6260da1402642116ca83ca1bc93cb11ef9962ade6ba88cef676bbb4169c6714214a44e0358d343 +Tag = 2bca3bee0c74942819fa6eb040b1 +PT = 90e65015f51543bb5c5905b986 + +Count = 10 +Key = 7010860fed9fd13621c8828a73da2f36 +IV = 3e2d46cd63b17f532d0491929652dd22d8b8d9b1e94ecf6beafcccc8df2f575f35761fdb0ceb1f3827c5d22f114b7caf9c0075432ecf8bd9df365f4efe479059ed3974c1030fb565bf5d7a90c8920cc593c7e28fdbf62b6e9b557c196570eaa9bcb119790a7d94a90d44c8b2e783bf0641beb63deb0f7a1788ee280dcaaedb2b +CT = 2bf7f858eed5275f1d94739702 +AAD = 66bff0028526e8b1251cde6c5fc432d573ffedbb5b1674c12c0cde00dafad3ae0ae799e885a547a0cbe261a01462d434 +Tag = cc547a5c4d6b7f4981f73412330b +FAIL + +Count = 11 +Key = 4f36aaa1d54b522176d022c3e71f588b +IV = 6dbd9d799f96669871da21d29f9ad1ea2118449f57c8cff4b44f263678845d7c6428613d49db74f9994615b7d4ca62f5ef77d735c6a9d436325819428bf4d57646bd4e80b74ddf0ec739af3dbc28ad2f6c939aef18f4f30a7060d79f653c463cfdbef5cb2bf4298b2ed89194aa6e1cab3571e2ee81b95ae72a3bbaefb9bf16b3 +CT = 8b698354ef316c1919a188d91b +AAD = e8f58b657ddfe0d4165ead944b8205872daefedc058942665b54c2eaa86eea7c1627a228803e52e089e1460e3dd40590 +Tag = ced8dbd7d197aaf2c9b1ff813fe9 +PT = bb32df8ce1509219e05c5d9981 + +Count = 12 +Key = 222a5a746459a5bd54800e70d19555e0 +IV = e9d4ee91da268530705a37ba3ac947c3b817fdcbe728dad9f556f878d88294c249fb1437c609f38e79f9cf4981977283c364d0c7165d6f1c30f7577de3ca2de7606e9c3d862822a3e17dfd4fc0aae383b4fcea8a3e9a5b5bba1e65133161eb74f6ce247803662f63e11799129562f76193c263e6e8ca23875b0dadc65900ba2f +CT = 1c1dff0259906aa1fea23003fa +AAD = 4d4aaca9112579e77a030f3fff2b32c1d9784983730216193f5f30aeed959d87834219dbc597497f678144ca1ee5878a +Tag = bceb0e08d1ab8c9564dc2f9ce462 +FAIL + +Count = 13 +Key = 2a1d33aa472f74c48f2fa0a2008a13b7 +IV = 7e6d262d6ff8231e3512b2c74c25137a389a65d767a7b97db0e6df16baabef1757e2092f5f1ae7793053ea6a1ffdfe86ac1adaa74d060efbe71a0c5a8eef9d100d823432da7c18cb66d4f4c70e8ea4083fcde6e2e92aee1c71312aa0a2b90787800747ab4cc544a4da470887884b84df8856522595e554bbfe11ad50e80d8cb1 +CT = d3c3c9dd30287f8d5bb7f4d9ce +AAD = 3dc79b59dad777af1bf4291bcbc9cc09d968cd30255bb3c98745823552f09172617317a6974a60d4226825309468d974 +Tag = 522067c686d4e38ce6a399e6aa74 +PT = 8bde1c277f453d5abb6bff509b + +Count = 14 +Key = 9feff021bcfc756a2507bed99bc9794d +IV = a3c76d4baea39aa923f9209306e81295ad60402626ac92a850a590e2b371585534257f8c2ad9f290ef5947a078fb3e8af9fcbb9464993474be85b7bb4cc61c3b472ea02b6f46ff57a20a19497a5197e9ddc0ab4e074a1215bc1e6e6f3061c0651b04e32cb9c419bddbd0f6a9b563ca10c55888292ca9a20f95ec225e3e9a01cc +CT = 93d59a9ce8b3d53e101d8baa60 +AAD = c21913af204ea422c54553982925ffdeb1d423bff784c938abbeea431f7cd1c639df5dfb471976a394731f210a5f725b +Tag = e6b153c439f81b434582ea1f39e7 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = fe328150e68ef27db710787a3c3a6312 +IV = f6d41fc47da6d314a282ed297754d0741ef6666a98c67a307542830a0adc7466f903390bb025d80e6b1c0dd14aa7fce124e884867657d16e141de9c2ac7b4c524df70d2fa933d10da145b1aebbb6850f5ff82960713cdc824a7911641b0839e516217eee8c07a849096e067a55c7055f1857a862c77b754c89343c2e773329b6 +CT = 6ec6b4ca1d2248a4f292cd6878 +AAD = 8f82d97ed37ba9c49b6c18acc8319318785d44a2fefe3ee2ec270b491d7ee80b46e780f66c332e4b1d0b1d3d86ca3cb3 +Tag = 87edf7d4b84efa2266f10ff418 +PT = da0ee6ec569b893db5e17398df + +Count = 1 +Key = a3ee48341dc9942646f9003b515bdca9 +IV = f285adae0bf2403a16c24e5f1bfb17779ad42021def6c50f37868ad7a5a01bd1e84855f7bcc5c20ddb3c8b074da492d516d3ce1efdbe27a04265b5140cd9ea46fab91b722d28c8180d9825af6b7068570399f533858a9d31cbb226377ded16ca457fa75e2564d7dfda8f086c35f83e3102e9801654361923964dac5ac16c804a +CT = 96ea1eb4474f0fffc7169e0293 +AAD = e43dfda5012c0870c534a04f93d844018c06d1eef302a87ad05a4ed4d337079e1553a4936a7658708c7cd778b376ac2e +Tag = 4833ec563f9f65e60e55e1e327 +PT = 629124603de6a447912b36b483 + +Count = 2 +Key = 341c0e55abd1ffa69fc2462ffa82adce +IV = 5f252956297568219331dd6e1d6f880b301a1c4982ccaa54b1cbb0266a1c0cdc4abb761fd8ca18e85512fa31e78cd22b891f578f712b5d0f9ffffcb1f5d0fc4f650c9326de3608165c494506be9b44628be7d45dbbbbb43d39eef08ba6ab02923837877b6233611b5520158c3451e401c52d6c2cb7c507c5e82dc9aace7fbcf1 +CT = 66c510e1c43cc2c8cb68641092 +AAD = 133f2014c9b62a54d33ca66ee6cc400c9bf16dd06b564abec10771e9dfd946a4a0c6eff5bc0c7d851f3bb528db8d3223 +Tag = 09892505dd6eb9ea246c206382 +FAIL + +Count = 3 +Key = 0dcd9d0ca4241b95677e4a3cd5358efa +IV = dc95da228fe3dc6fe69eb7b32f2fe8819d62d87c4cbf73b1dc74f4084a6d3056c0864e2f876f81b2c4e37660438a9a06660ab94787d5cfe09afa77715e072d1117c1af2102143845529be2e382d6dca118e82c8a0f6762723434628e0eb0e3f84e810f10dcfbbca67390148286a94d2df379874ec0c57110dbff4c6db56a3b78 +CT = dcb4951ee39c55ef7481370906 +AAD = 624af501594ca6ed84d8f8905aed21461df96c2be0e84bc6da6d504c7bb400b0f737fca8482e02332ac9faf573f89371 +Tag = 94aa53cbc566b9a43369cd282a +PT = d9ec4aa44e9418050dabbf7ad5 + +Count = 4 +Key = cb911b0fad7f87fd7545fe53eb4911c1 +IV = c82e6771a3fb7095b26ff5c1b1b7bdd42420c4827d5ff296a1cd29f4a518592d29973596458adbd958f80dc204ea31e0f742747b6ec41960a02d67521f5f7f1ae36dc4b8d08a95ba1b156a24a817c217197227029f527dfe72e91cd1e1580e79cae3476fc407e82c43e874e12e2ffb6c0a3cf5c7d7d2c3c94398ec15a53487f9 +CT = 84793bdf64886fb6a16172f372 +AAD = 87720896f138cade174e82393ffc49041f226dd20c127310384e5bd33a042215ff35f79eb612be9d462747fcce896673 +Tag = 3b1e1e5fa0b5bfc5943888d39f +FAIL + +Count = 5 +Key = b8e4a1c3c23302bec4c0cc9eae46ae1b +IV = f51a369c4d7e181987c974c3d578adba04cd0f86ea397a9d288cc14ed4ad941276a32f2143d661f7248318590aec64338bb66b28a1adf244d7aee8dc5990ae7c37a111cc71201f251d175942fef6543e024e7cfefa2ffbb3d10c5e95ee5723b3677070d3eb281be51f592f5ac21de835a91350a939a8e3cf45a9bae682a0fddb +CT = 318cebfb5525e40c95fff48c21 +AAD = 32ff98f1872ba72fb11c2f4b78850b035de1e484a1aa0704cf80b3b9079a1dbe74de1a9e32c14c1ee2d8ed4087f9c3ca +Tag = b988508a3715ee141e6882e733 +FAIL + +Count = 6 +Key = b3be52e09a51b0238212b93badc8489d +IV = 529f357045ef3720f3c94090b06097179efc0363ca689532df5f062625ceba7a927378057920f174d83694b74d19446d0d8322f011b08d0dd508a09c0ba71620467bec90c3b1182e001a70ab21717542ed8ad352a90a09e8c33bfe74e8b4f62721494793b5db7a6f00302d39e44b0364071b57eb1dc278a42d13f06a355566e1 +CT = 1a811596c4b24fe1db98ab6158 +AAD = b6dbbdded89b12220518740c016a44637a3d1236951adc77aed5d1d889e876eec3aeac8313fac4f32bbbe4037c93ca91 +Tag = 3e5884ed40eb84543cc8af023d +PT = 79247ef2a2cd7021c022e857bf + +Count = 7 +Key = eea8525e146c47f5753804c43c2b54a6 +IV = 11ef3b861df305b3c13432a35bb9325b6762c8d496ba6e9eb12ddff0d116d0f46d09b743e36fb27b3fa20c0b47bc32bef1bd4259352594cf898e9ef721d6bad0fc5cefc116fe02120c18ff899c361355976963007ca39aacb1cab1303dc521c689ac457e9664935f484bf7b0808af7214415dee31730a394050b049b5ab0ccff +CT = 2667bb1e373590faebfb69ccf2 +AAD = 1125414c9b3266c90fee24071f529458675eb2fc985fbcf0edba79d09b7ade3cf6c51fd8f293c43800a0b0a573e47553 +Tag = 21eef63baebead1fa6641ef9a4 +PT = f0e8be0d7e7875fb25a58dea93 + +Count = 8 +Key = b2c0974a882afd7f4079119c2e83b156 +IV = b5512090d3d84ca6885d0bd2728f225f224758cb857330e61b60551535aaf0a6e9055fcb996d97f19c6edefd5954cbf6b17326aa9d5879fa9a4747e6a770254e96b612b1a95d4b13d360a483690070fa08c14a3237ddaa8c5b11729c5166b5e4222863d633d77e397ee5b72dee5bd87f862ca6eb616c5db008477fd9a4a168e0 +CT = 736a4893f0febcd18feeb73e59 +AAD = 7c8a89c6be4ebd244a14631301ce838f429ad458806abb7003f26617ae89be5a17597b44c581d87b46fb89b6d44c6f1d +Tag = 6970400ccff3c5d326f6deeb5d +FAIL + +Count = 9 +Key = 818fa7203f5ced96662b65d5166c8e60 +IV = 45fba6dafe2ab13700164ec5b2f34086e3c67d42d79a92cc8bb67911eb5f848339804ce3f92cafaa7e748addbfd7331d629edcc6177dab91771defb502514d16e9d265f549b2dc2fcbdaca2f7048cb26c1a35f3173084a36168de06b3a1f316d51c5da2f3d9a3a9284933117c252bd1681a70c216d4a7d435524fb6969225778 +CT = be3baac6527c4c737ef672edb2 +AAD = b7e6b0d693211793cafd3ddd4e7604ee665b04b4c2a09a53431e747192298c338b1bf78e4217436a9228f88702b8c830 +Tag = e9f09bc875a436102e3386cff0 +FAIL + +Count = 10 +Key = a513ba52a3dd8bddaaf78c543c5fc182 +IV = b69b3410d14e8557478b450540f1b43b53652e3452707df13131b0779228f356eaf374aa3feec41e938b0f31817974aa41aa10bd068f0cccbdd2f2c34b6bca59e71598e1b8b1da21662f0ce3bcbc881144bd9c10e18b8cb52f52f46c08ed71f1b7bb510c307b2c8343beb634a9102336775603a41553227ff234a6c912801235 +CT = 8ea65ab2c295c69e2fb6f53a62 +AAD = 9f1c844a1166b64b9e4358f137eb877bfe2934c47d8694431b50c34660fdc4457266597986794c77951bab01cd3c14c1 +Tag = 2b3731a1d6ff15c3f58e4806b8 +PT = c8f7387e73539a879be8135038 + +Count = 11 +Key = 7f69ef8e93eaee438bf7f33f381dd879 +IV = 116702af227ba619eb9542c710cb6d40f11daf0dfdc513de55cdf49dcb1ae787fc7bc0c39791207e39a88ae706ea5bc82d4de5a0e740772c22723470c3713be7dbad64087f987e09922a48e505edbadb61768965ba0fe498d4966531e60af014641d1427d0e5ff58b19673cb81cb28623ffda89950cfb937026a1e5eea296c8a +CT = 29a0b35c738e2293411d782a00 +AAD = 473456ebc92d2bdef50f8ac6eeb56876d8a07a565a73e9895549c0a445b96e6f66bdff5ba6f8e6db88dca384de4dccf7 +Tag = efc330261bc8ca33753ad7caef +PT = 8b6c6aa868f6d1753bde458a59 + +Count = 12 +Key = 97994c72010ddd157ce9c3c292ce7cd9 +IV = e31b0ca58b132d7618e22e4d90ad7c49cab3a132d0eb947aa2ca00e3f0f46320037abb1d68da2f5a34bbaf871b0f8e35155ab437d4798ef6409db0f99c69a6e3637a5ceaaa81c8c697e1187d8b13b0577e7504f1529df15b85f1d78ba6694bd13490a6a8c6f42918f9a445df029e058de2d5ca30746b7080c070f313261c58a3 +CT = 8c9aba5f5958bd85b41b9763db +AAD = fe464c5609d63ab8aebb148b0a37c9b0e608826d40d22b1ef60e90d368a4c40c700dd6c387128f0c7eb4cfc6b20c3caf +Tag = 1ad79e930c302489aade2ab4a1 +FAIL + +Count = 13 +Key = 6237eb7c695ef75f74e42aac783f188c +IV = aae41cf6a4507cfd609624e2e6b71d9f88ac3481b6107b999ff1248526093d307dc49d91d981a9e97da6e4062472f4d84cbd1495d6f2cee8404664aa761fabe2e24693ea50570c0fb662aab4cd64847310df15d09c9e69427c0df0991ece4ed9541fb4f1607b3aeb79cc64060e5ef34a51059c3fa0961c2c9148fad279b57f53 +CT = 56e230cae10008ca1f3e62362d +AAD = 7eeea7cc2e8523450b9be5e796fff16d3de83563909080ca848a4e3dc67d74a211fefd78a5dd258a76ccc8e36b7594d2 +Tag = f755c3aaedc8a5c8c39e94fd75 +FAIL + +Count = 14 +Key = faebe8ab780b35fa449772c2dea45b71 +IV = 7376c932b841b625fd900497caf07ee1fb7517fef29b98441b490680a9d64f947b1379d97679f66ebf26594e4b553e1cc10d59781ebe97b26fcff9684bf0052ced07c1686cd3755a3107a046536a1ece3c49706e3d62cb37adf21665011465b306150ee2b1ee0b76a1058d71f7fa3556513ff5310c9cbba7fb2bd56d54e79a2d +CT = d80a000c952f6c4fbc87b26a3d +AAD = 50d61a3642cfce7a0d4855c1ff313c0eb638a2e57e5c9a2f17921b398be769f5a62363f7a71fc503f0088e329991b167 +Tag = d20a94dc58e4995cd1a981a8ca +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 420f41abd139b4b745a51e1da38ab57c +IV = 3784c18a73a02951a01ceb355de31e6042caf9e8dea828a054905cc0e73054bd75f133e86a68d582964972c323a6128dd6111a5d17766a5ce7320a888417e8d24aafd33d3d9ccbf885a3df23d6b9a4e368f7dfb9457bdb56536f985960897124606ad6ab3b81a5194125d967db924f9a5bd74098ed5197228d7a50b98873599f +CT = 041c7ec4c490293ea88e682d7f +AAD = 6ace9ca549acf3f7e127eb53697d2161bd5198c8fcf628a039e477d003cb8858967119a8d6d0256e214420665655891a +Tag = f8284e28b39e0df3566ceb64 +FAIL + +Count = 1 +Key = 3e5881fb068d4702738d45ed3bac19c6 +IV = c1a0f680529871f3878e6fe1543c9e9c8aff3cfe2a793132290a37a8d6182eaf7de7af6cc34c34ed811abe16104bcbcc33895e999deb15ed3456bf298042c354fde1a26280bf86654a9b06f33b7deec0f1c7c7d15aedd2f23c86a1bba7e0139ced4a4615e4ce840110aa6a1f004f1851e7318126687307a8b7750eda0d68a7a3 +CT = 37f23c3eda8bea547dc0990113 +AAD = 1f925bdd498a9941dcf0b74983161a6a5879d706d0e3ef0b46fb3e23f1fdeccfe5a3637bda18d676356b3226cfe30f33 +Tag = fa64c5fbd6efad37b8d43e9d +PT = 9c4b0549c69fb9615d01a2e19a + +Count = 2 +Key = 930739402ffc44ff22c393604bc5cf3c +IV = 8a70d00b7977c3bc8026b11434caa8a06b08b532d3081ba0ffe9b6a727ee9adaff8773985d2c964662df7c3295f62d2c0f5a9ec4a48b71a70cec06d0ec2ff08634b91f606cfe34d5f3950736556e47ac772d3fde8be45a4ea4db463f3e215599b446a484dc1999fde40b9592a859335ed0b8e713c18f8c753da83f7119c3680a +CT = b413e916a6e8737c5513ddbe79 +AAD = f6d858378c4c9f40d5af2900f08bf4dac7f0020e6e4ec96884fc7856b7c37d4ae8358cfbb929c8b2f6496642a97685bc +Tag = e5fc022aac895a76be212766 +PT = ae8dd141510a391676acf02f49 + +Count = 3 +Key = b098424067dfc9febdf3a2e631199ed1 +IV = 776d11d7157f00cab63aeb01d92a6ebf5e4e22740b0e423553501ef1ce248d5e479f6fb322b4681e65a697925a32b7da4e2d282d824d517751b86982b442ef89955cb1372ab8cd34645e243f5e738b1d2aca5ee870f93e72ed304758c8e6b1a75b227c6209532b42b228642c0af89375f10ea4f3019e63a63a4cb47dde87d9a5 +CT = 01a8feaf0c5a630536f0ad117e +AAD = 2ec94c7ef6947052cc571aa2212d4b5d445c7d434c64f23c58e63a9fcc89da9c432a98a6577c43f9c8c65b15f6b13092 +Tag = 358dbe357689ac5df5075b65 +FAIL + +Count = 4 +Key = 16e9b3ec5fcc57084f1d66fa6575d1af +IV = 960a9d39fd9336cd7cb81e668727f169a0cad3ca4de87b7e76fd3cf1500d298419cf234f94bff176a3b1b826e4e917544f86ee748464a0dd74e6298b5511335a64f2b458ceecef3dd795225ff4ac1790b03165dbc100f62910ce8d191e95885f26b57093a38dd4c36598d0b62983c6ef05eb1ee563e03d9b8bad1e110335405f +CT = ace2f8d0a91c072e8b138c395f +AAD = bc683f121ad1a485c65050d32beaa3075867bbc03ebb25f6a5e449e30808289b6dea63f230055d1d681dd34dfb9eb083 +Tag = e52fa2f670198366d92d0c61 +PT = 1928bdaf76077d50d1a3bca77b + +Count = 5 +Key = 0fbde646da3c7a6a6be49de49f2ee770 +IV = 5e2d538dbf829fff3fba708d6a5f617d69f20b807de50c62d41b26c506613cf7b84bda6006d9517d34b48ccc6c291dcf0ea5516a74afcf35b775c2adec6f76affdddccc70995b0dd664dc3cd121beca001edcb59f9fc420fd12d6b63b341515eb294ad8253b9d55ef03435e5696d1752896121c82f37e5ca4e5c0f86c6188912 +CT = 774c2231d43ad1b8ec73060997 +AAD = 87ab0bdd917899832a86306d79323438761603cce28e4548179175c10cb4fea52661423fcf7ba1749b9b6dc5c3a19405 +Tag = 533eae431e078cb2f6488a96 +FAIL + +Count = 6 +Key = 9fdb8b1f1fca3c70c703559a941561d0 +IV = c1c8790c6e8cab9c4d8091079da6d09dc63f7223f87ce1f2b424128296a586f8676312da68026065a0c7b72c2575304ed9a11c5815be3d02f4d759620ea62a19306f76dca74d0a37f3fde34a80f9c447659b8e81085e12111f7bd1572db42b7baa9295ceca5234951c18a0ee9d636bf0f35be1146e29a9c89e9159d632a124ac +CT = 4fb283e620b7206ebdaa390963 +AAD = b02ae38131dd1b7ea31fc7a3d6cd1d155a0ea7c4f00abdfbee4c92b8d59b4440f00a4487d34127b1edc2b38336c8a3f5 +Tag = 1ed898df72bb379602f882cf +FAIL + +Count = 7 +Key = 70c531ab72ae40cc48c49b41751d2416 +IV = 2c271e0cc90dd4d1036b7f79caf534d44cbf35eeb2c7ae31e1f36c278145261f74205f3595a2ee6c67eb380c7a0629fe6aec533ab8844633d66a0bbf6204e01b327b6d57218efa0de8989de19e658e0505b28c4497f6fe3b8f3266c3e423fe49fa308c6275455f95bfdc66d4dc8307aeec2c4cfebc47764bd82673d40cbeef31 +CT = 01640404c074450fc617600ee9 +AAD = e97c72c8e48d92be3099528df75566210ee6fd56c1a888f883b108ec5b173c0cbf0dbe1d790278db5b27135eca7e7919 +Tag = 768315ac2bc5301aa5821e4a +PT = 47b180c6f9b133fe23fafb259b + +Count = 8 +Key = 484c5faf462943bd53e25fd39169521c +IV = 03ab621c20656ca06a32dc8717f5dd49d492839a9a6e4a6a134a9846ebb3e27a1e0872c7a0b5b89055e65d78e5a6956423b038aa5a027315b3bd8acb6766d95360036c97a7e3628946b076906fbfc12884a6eb4458857b875a04c0723ba282bc5f2ce5785f3fbf461c336e7ab9e2d5c791ca2391f2427700f0992eeed032eed9 +CT = 9b209d920221b6f6c40578f25a +AAD = 7e2734bd6eae9706466ffbc0191e8e0c3d7fbd8a4cca428c91b009a12d1d40e7efde4a0c3b720541686664e285fabb39 +Tag = dd9253af496d42e0000fdc95 +FAIL + +Count = 9 +Key = e20109c73018d83457d938ccfd553903 +IV = 8427f36a4120c047843c1b7e497867b82cd3c0847e5345a199f6b95f5ec86686f71f0e3ce2f83a2ea62523cf4fc9d3638b1dce30cf90164ab0847ace9095e0d8c174bc9563a6ee85c352ffaab8cc08ff5b545366ff6f1a6bfd5612f40c2946ee8c67d58da12970281ab3b4ad08606708fc0f1a011812bb51a256bb7c1d3dd8a8 +CT = e6dd8c9f22b67f399807c59d90 +AAD = 793efaeddfd6d138831dd248e8b544a52fafb9e0934df797152953b33f44d85d8db7cef7720453a77c8e7cfacb9d74f0 +Tag = f1ab805b9aa9b47fa155a1b1 +PT = e3bcde9cf540a61f40d0b10a8d + +Count = 10 +Key = 7d37a758a370b6a88457305044212bb7 +IV = 3fa7a2df76792990affc0850e0d871d1e596c592b9a014fccfab4fe86466ec75fae525f53637a9cc7da9838eeb786b494b334cae4440ce8bde721a9643c2aad08cd8be656ee21895d3c45265c05ed839c6901823ceb32957f84fe0f267903ee5d850d9d3486a8c4c02634deacc8fff2c8e8fb733687f02ebe5a5c745853d6f48 +CT = 0400974db5fac25bbb765d5e9c +AAD = 9aa9ae573c29741a835d2dddfebccb9e9ca15c1edf07a660d9fc3252fed4803ccea2efd99ebd7e3cffd6e6474035159c +Tag = 8cce13a0f22d15c9925b7516 +PT = c0999c037972808854a3df8268 + +Count = 11 +Key = 405f5e9950392dff5001df57d027d069 +IV = 7c792e046c2212ce0cbd1d631d11cd6206c31012fe0d6481db31e20a002e8bc0893b9a0be75fd8d9b87a985f1847a4cdc9b72627eaa54b4d86972528a16d65305a580d7add0ea8fd129081c7f9d3b2cf503ea82da43f8d0ce3bde5a42ebf40ae79834c215ec8ac9d421f8d841ed92ebc143901454bbc95cfa44b65ed3a518b83 +CT = a99386899614eedbeb26aac57b +AAD = d9e7e007bc317d847ebd732d91fab4166d5de66e97d317d7c03bb2b6240f2fb8909ea04992d7075737a2254eec92b8be +Tag = 1c701df299f34697452c39f3 +PT = 3f35d8fd87b0ff5555e802bd07 + +Count = 12 +Key = 333cb5769d18257c175f0317d984ca36 +IV = 6caae968eb028589a4d7d8866990709af7a06723122f5d2f2754cf1b02ca4ba699cff55c46d71b3e6817c4143a50d6c82ae80287d2e113e52cc8ec3157e7f8888165a0d57e59e80a6410870e82bbc851ef961e5923a750a02170b7d410dda3863ef993d0d908f1cee667c2d66786e01300e0c264d33f18c146a31392825b15ab +CT = 8d872e6a5a6f992dabd4f23adc +AAD = 7221293917901fa3b520d43aeda4ebbeeb8c93d8656a2fad78e8ed1cd93cf028a9694b24393f3712827a3cb965156665 +Tag = 0049bfbd8d4d95bfa5b45a82 +FAIL + +Count = 13 +Key = 8cbe9c331418effe8fe9c011cf451bb6 +IV = 94f3e6a1df855e519ee087d030a0b32b15fecbd390690d79c9d25b06f2b080bed6e3b73b7f99053c886fdddfd9a90936a00a943f3a1fecadb821ffc910427d5135add02267966d5c37d71250cd06dc09bb0d49094d004f2bfc0d53bb1b585f112353a11fbe622178da69bfc9867b3fd5ed4ee2443c59d5c9f5c854e611a62ea2 +CT = f7e08ce163fd62e93790249e7b +AAD = 3853c789526fb7e6ef249cb6503ca995f222e2e9a85e5963ddecf1e2283c6f170f756668dba862b5b72f056689855ab4 +Tag = b8d3d7054accf191f5804991 +PT = fd1178d91f2e25ea6350307f6e + +Count = 14 +Key = 2be5830761f617c14c3c0f76b3e461c9 +IV = bcd1c6530e8f95651d4adc864fd89902eaa83361d9610f56e5f6a072d8acaaacbf70fc9460685641ff57d388c8a1719bd255a80e6c86831caebed7b3cd020cf63ea4563d4eaf6969a3826cea7e6c2905ef85d85870dbe9a1ae4fad60b5493926d67589d64f91a9e3dd88309af6d265f8ad12efd67d06e9e6862bf5e120236c48 +CT = ec4b5adc24607c928c9c88a897 +AAD = 0f58e5250870dad1eba33a2cb75cc58e96dcb0a24db0364d2bd233ba5d817411e53a8c5af088e5ea7e00f653a09f3ca9 +Tag = e60d2b3e36b49bcc422caade +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 2bbd8d959a008c870551e153f2fbe03d +IV = b1ecad882b0a18c05e4e45dad476a4baa6b5445354bfb48700549775b2c4a5c1ac202460c62b9ac1aa63d25c133ba3eeb01dd9f42a234c5b2ae36338a802bd908194db76346ddc1f6d8f4164a032143050d464e1e745b026460aad08fc1a27ad88535172f72cc2b9ca4b1427de3215753d7e921c49e9251b242430e626292be2 +CT = 163980152d6aac4ccc124e7868 +AAD = 9677a4c2d81e27328894fe492e45e1087cdc944b8e979481a1157a78aaec52ec6f5b838645da9421c4c14523e5081b76 +Tag = 05c04e11871a7c7e +PT = 430be67cbc433ed00b61822274 + +Count = 1 +Key = 51c8d89ce97139e50ac2dd1a2b85c991 +IV = e1660c9f24963d9c701640e3723c179509d5dc21f31da31eaff0a8226837578c76e3c3c81965e43e9ec8e5b6916234fa4761d1589d5b01002e0e9127c3ead69de41d1bee0f93be0d52bc2b26d12298cb8674471525f1518962e38609e7c20f66f3beea695987010b683345f2df19e9c2c57207c1fe8c53819735db0635776060 +CT = 261d03c70adfcccbd056e7f551 +AAD = 822a9cfda975b61afdb08e08025e23c84984f57f6ea78faa815d6ccea4da7922f45e07450ef12d4bcf42b735015ba571 +Tag = 7fbbf5c561ab14c3 +FAIL + +Count = 2 +Key = c11dee7a3e269b62193fe3c7f0e91023 +IV = 75164814a4a860e89f616da0672881c3ab9582dcd9d94108de58cfae183b5e56faf1be31368f3c20ae7943af1a9dfad0d4cd40f0161840953b1c039e74edacd6d93efec7ced0f31f6e672857c47cc827a2d723b617a80e574cc2d53d8bc118856fa92151ac5a570ec9c0d1f7d8e93e5805341e76d896d6ff654a5bcef815d98d +CT = c91b4fdc3b5c52a6a260f5b949 +AAD = a9c097235d0fc72655b8ef501b6f7da0b72ffa20d5989a028398beb2d24fc7093db1d037092a1a32f091f6508fabccaf +Tag = bf60a4fc35f46b0a +PT = 8c5e8e7ac6fd5a3a5e1a5acb12 + +Count = 3 +Key = 753b9a5aa79d79d5e73a0afaf4e7370d +IV = 7fc4586ede611fd759f90df73c3cce9f6a75746f2f4453b1adf36b7ff300b4e87feb04aa64e7caed834b5848f2f65f30536de00b0f264f8dace73cf20b819720fa78345952143b333c5d4e00c94fe19764d9e0318ecccdaa7740faa03045153ee450ae844eae17ade182e6f3ea5fe9fbb9fd7142a4e336745f497bf89138dbb3 +CT = 9ac7fc37ab2e17e0040f5a02d0 +AAD = 54c46c323825bda8a4750e3101b4b63100d9d74d1172c4b7fbc3facd6d2860d557b0aa831a8b451ada4dfc8359ded523 +Tag = 2b139d76f0c65fbc +PT = 35f733f0c898e0ddca12921f57 + +Count = 4 +Key = f0a8dfc308d34397ae3706110eddc30f +IV = f22faef6746029ec66d0510b997d6b828a52e0e409300ff0eab9af704deaa1ef04f2b34829452060dcb2a2b205e7fdc04c294934a94ca856cda61c1d3d321fba0a5bdd4fe72977ec7c685ec0197ccd071344fb685aff1b9b43fcdaaf4fe0c19ba5b0b3285bcc269e15e90f27e3fe5e1565c4bf0d770ce92c8911b19af2920e5c +CT = cb8ba63a2204194a21dcac1362 +AAD = ab9b0239f4ebd12c139f1222d0b96f431298af97c95dcb3f308c8b27749b574d2d8723077b62035733f86ee12a002ec5 +Tag = d47570bd5b3c2e3e +PT = 8d26b67919aeb3e0cd80b19d4f + +Count = 5 +Key = 3bafbac0bc24a0f4bf75c265bdab0de9 +IV = 1a86747834e5d745a946655379c1f5237990e4dcf28e03173bdcf76d3f82e3db64b9690ee53f13b49563ef0ed8bc6b42337c962fc7c17860b0d14da7c42f84ca683e23c042713742af9ad74c7b7f9688be184f64f1eb7b76ac44f7da1b9ba571ede1da6112afc0659a185feb8f244e9ce7dad9aa953df745791c85e766908d67 +CT = 3ff8fc80f983970c140ce532f9 +AAD = 232edb29c3456efc6ca911f1a43e094dff81fb6e41187e86d0978d8c14a0f35ef334673a535c7a19b34441254991d3aa +Tag = fa28bc59e26cf89f +PT = 8d9c1998d48cee261ab934fd38 + +Count = 6 +Key = 9797682f33e101837c652934de214653 +IV = 1027f3b525afb697b4e06174f085b564e16722d0926d38da8c1edf841bb0540e098ba211821b0c95709f4b4d9e61d3aba112b37e8d1ad51697059146f87634ec31a79cea5561868955002f8cf59824c37307521dbedaec6fa8b6aebdfd58c3360fe242b6c92477f628a518538353ad05c409d48b34676d508b20b14bbd5897dd +CT = 3f3bbedf23b5ff2de3ddc45617 +AAD = 7d84a41328e607025e9864cc25d43c70a61c4111fa7bc8ce70a7afcac581e0ed502cdda98f82dcbf192bf27a3bcfd99a +Tag = 0e712f7950fdb364 +PT = 521fbb97a119ddb203c8877291 + +Count = 7 +Key = 5cfbb578e1f96c5ea495e5d07339207b +IV = a2af44c98c0e466499071373bbd2ac7eddd91ca82724ae168f4daf39baa4b29bced38f4cfae2aed5aca3363d860c49f595574efdac60dbef0fceb3e930151d76cc2af58e8b98d468d44d18f167bbcfb989aa48e7be1f36ee90f34d4c36a408247882819aab373949bc5af0978f2521a3bb2116c9f947ce85f11b01e926d5c678 +CT = 1f546610ec052e79fe76a408a8 +AAD = 94d578a98c97d275928b0c4205a50accfae8f1a1f97bc49fd7c3af3ad31dcd39703b3929903b9fbe33b5d52f106fb46b +Tag = b06c14f7265d863a +FAIL + +Count = 8 +Key = 24fd668476a95edb94a0c7b3283ecb55 +IV = 686d4473ea0957ddfe0883d8f18084594e4835a39871e823be0bccb5c80c4625d49e7d8d7852d1ebba6438671be0b74129ffa8b1ae88d6be79e01655c8e89c4c8b8f0090691c79098d802fc7c5cacb8cf06e97e5bc1a9059ddc5841741c6dc819c9bb822987003ca201d7f6c871318f227254649f8ece77c742bbacf06ef74d3 +CT = b810f1128baa5e069974dd8ac8 +AAD = bdc78cdaa83d136164dcdc43bd48b6bed1587e041a0326500d49e893f5eae0cd51eaedffe8da3ec363d2852329022d41 +Tag = 658be211470bafcf +PT = 0b8eb85df47786a73f133b5a6b + +Count = 9 +Key = 2f2026c789ce8ffeb1972425ac867fd8 +IV = 419e1ae3b23ff3589a7cdd6d8506acc1d730c1ff5463856e22db6ed9db9fe0b7be63046b8b27b286b3bac8ad0be6d7714abf1c1159482878262f95e45ab0ee77f32496b733ec36976e942e2aef616613bf4960af66940b5e413758a6d2693d1b736b7ff7f11d0ef463ae25052c24b667ffb15347ff483064faeab39c86169259 +CT = 821801b9c6ebdf43f65ad920bf +AAD = 7bbc4aa9f3ca26fd0f76c67b3a525ba85fe048ee4ffeb1b402c8bfbe935808b4f7b6459c4bcbc5504e4b01ab3389a9e8 +Tag = ee1861d8be909bdb +PT = 2b33fa4503e25d2ff56e80c752 + +Count = 10 +Key = f6686867afef7bb57a553bad23ddda19 +IV = 4b3591145bd869c7206cf3f515b21036e2a31f59d9a56fcf71e94f60c57ab446ab4e41d055e0a578789b169ade61f39d7d9f0de7d24ca9c6a43a01df78858455dec29266e00162a145a4168dda38b84e8fb39edf078f47f92f4c353a3e68f060ef5e7aae7c8d69b5e8b93bf2209b57033b81b49b7b00e59cf648deccc612972d +CT = 5e0efbc4708a39435476e41b5f +AAD = 89045cb8829433da2f31d2a1fb045e28d042fc6f730cdcd681601ad2ac52853b50037a1c6be9d8f33a72e3ffebe6f7ba +Tag = 1a5f18d9f8cc5956 +PT = ff4844773a28507181b308a811 + +Count = 11 +Key = 9617f77fdafdb4596f1b96859a295a16 +IV = 43e5486d570a13e944a53c3ff17bda508920b8dcf13ba62fdb3cea5476eaffa6e8ce3b66c7a06a019a25a75830c5a3bd5116b7da4475cffb6a6f55218e02188f7cf629e6b6fc52bd5f1949ce29ce07cae47d2c5ac8a78ebcc7bf1f6568908c96517cc489b17ddb863bd04899a6cdd54d27595f87df63a7a516ac0667011fc9b8 +CT = ac0e4ce0551d18f975cbf826ea +AAD = ab983fc594a7456b60d88433dc4f59df6305551bd960610931eb34bc8836e3729248134c4cd5077e93e43ffb3b7a6e80 +Tag = 04c9dfb3361bf9ce +FAIL + +Count = 12 +Key = 9a7554d6571652c2d41c201cd3d0c700 +IV = 2728fc45cf95befacba64dfb0196b137c280793caa70b7f02802957de484b5cf9f58718f94f877d8da390318f058edb45ed9f1c0a5b5763ba62862579532f9e0779dfe54fff9abd1786ca1ce3ae87e64ac62cd3bd6d7f5974b1c50bda5e736020054d63a78bfc9b938515629a6c8f289101d09fcea2b186ddaaaebb3470771c0 +CT = b6affa07d4eb301644996b9ef2 +AAD = d53d2a49f7bee3ab365adc8c9adf3fa78b2fd0fd2596dbf8928ff3d62ebddbe30c8a25afd69b84339cbe68cb701ddbec +Tag = 9b2d733842fc1e0e +PT = 5fcdbf2a5daa4decc887eb13d1 + +Count = 13 +Key = 22a6b9c9547e950dc8e85a73e86a4baa +IV = b22ca50f702137cc494a0b5de34ef842ebfc89d9ff6f6232caf94d0399a6c2149e85e7922e741913b202233f555660448ebcce182e6308d8e3c22ba63421fbd4d61bfd6d66bc590628ef572d55ad8403e6f4600234adaa8f44ebf822a36890d4e77366b390b0778fd025b0b63b7480dffd0d1aed97c37f2f67bbc84f4a97f483 +CT = 70aeba5226c707eb95e21ef1b2 +AAD = c0652dd94dc3fa956b4c8865ba3b1abf4a4c77966a61e052dad29e907089c31f7a92d39c30819c215e61c9c2433b7e2f +Tag = 182011dc0c5a8857 +PT = 2717ccf8c602bb62e905e5887f + +Count = 14 +Key = d986a423a5878c106a80c2d3172887f7 +IV = 2a58211b8b6175d86808f88bf4701e6380983fcd75dacb67f01caeec4b33c6de9a16f6c712eca1ccb9f74056bd6689a3adef91d059f93cc35606b07d8b4c4781d17873b55ce954ab54fe33cea59e79b4afd4fc124270089154e921bd11580f1050d87ec00fd6af7abe2df27b8d9d32cdd68f709097d53d1500e89e1f36382358 +CT = e4a87a1397f24dfed173bc954d +AAD = fd7c4f90ed921ff51674ffa43edd24b9ee0088ec528c721b00eefde3f89d90fbeb5f49fa41ce17128809369512091cf7 +Tag = d60e365083ab36b8 +PT = 9eb57c5edc9b4ef057f41ee8d6 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 4721d76729c544359cdcb00a61a9abec +IV = 2da1350946d3c6e61ac082db1b372886235afb53e5a22db94b77e2ef8fa19b4a283024ca598a5502a55e24f8cacf402e9a849896f7a032c438e976faa1281fc0a99a6078410f3f3a79935892677ca784b7d4653e4c1f5b6d07e28122a36138fccb44c868346f45cc38816013e70d9d8935747fd24567439b40c87b6070fef18c +CT = de7a6825323dbf1517c974aa9c +AAD = d6f8e8ce8c2641bc9012e09031c2ba9dcf7ead906d783538153f8c847bdc15ca0f13fbfdc23c4dc9ec4fc17d77001df6 +Tag = 9b9c069d +PT = 65995284b2df49fb1961f753e2 + +Count = 1 +Key = 02c76205fc7699afb40b01637e297a5d +IV = 7b2b805d0edb1958c1eaf38711e38ce170301cdf332ef2b3619ed77fcb4b6ca772c3c1846ad9c6ea43a5df1637b429f7a6a192a4433b35c23a87a914799536b9e1726d7d83180b0a4a2db55f80bd913b9c4165285146605f75e353470f6e2c4318a58e67c88fa723a148b55f7466e8bf077a9e7ffbb482e92c664ef1ab84425d +CT = c6e5d5c68ba4f53042362b6bf3 +AAD = 5858a6481390602f6e9641be79986d4e35547beb029ee1c2a259179b40087a592bfe58639dcccc0ed426728caa654014 +Tag = 78a3f047 +FAIL + +Count = 2 +Key = fb2ef63d3183498759d476140a76978d +IV = 929b55813c30ab7de3b252c654b3f887370dc5e62b94494c2e783680a30e7a2b8f5e01770edb859de1df2142ce418377e079dac152ef24b79a7e36626e9cb46fd115f666f14755e20f3a1b299e56cd597ea677f7762552390754241fdbda51273bb33be75068edbbb0d1dfb50d7462c6e58ddea004556fa89a05fde4b8af72a0 +CT = 32a193a7f7f26f38ec4234748f +AAD = 4ae9351359f7da06ec9b61326da3f1f81c83826cf4bbbe049f4910e7fb352e68431d7f451816886146b229f8f45574fc +Tag = 82c47a5e +PT = b614239433bb21aa518de3f4c6 + +Count = 3 +Key = 2802533e21be2bdbf1c891eb6b24ff4f +IV = 1205780add4ed48cb73f47173692e1f5551e85eb903f08cc3d4981d14799428b5c1cafbfe75a2ed6168c0f90b29cb319539d4085ef20c91efcd6e612818754a3d985cd542a7a21cc336f6f34891492a1382f155d8b8b8c12a379e96aa6ad8386c35aedcc537ec1e711b3df06c9516ea9402f1b1b3030b838b71fa9d59f154b22 +CT = 994301cd5cd74b308cec2569f8 +AAD = 829cb37665d9e7d2a8002d7349a5d85f4af433243f5aaccd0940419a5f97793dad9bd865dfdc476ab62ca161dbad9355 +Tag = d6b1f3f7 +FAIL + +Count = 4 +Key = cc5ba8c8ffa3972fe7c47241b9c9346b +IV = 94d83de8d690d1a26e137c2e41072b58dd25df77758baada1cbeb29484beafb642363598a7027daaab4b0f9103709a7e92a33782e31981603eebe932347c78c7baa788163e042796196bdcefbe8f4dd468da0ce509d5481812d0ea9c4d2942725db1f4a7c56179b234358b24ed4b2000ac3d4268b039bc1dd351466e6aa34df3 +CT = f6a9b0c4cdcd5e16a4caabd28d +AAD = 87b5526e34940e30d8cf55cf6eb4a49c6977acf4a6dea140fe48bb069717f6c5c663b076917438f86123aa0f942655fb +Tag = 63b4b145 +FAIL + +Count = 5 +Key = b5e8e371c41bca1218d43646969cbead +IV = ddb3ec80cac6797bc5669df12d5260449a2a88acd675e661e5689aad0d40bf528ff7de7f6c1a16225286094d4c400a37c2d07760049f4f20a32392b3873ed94326329e0bbb6b78797651939ced6711f6deb61239acf6a1f0a448742f6e8b1d0d9150b707d878555bbd8684e8c2386683c60476080a8dfdbf35ae947bb7e82afc +CT = fbebd0cd7e75e313b9083de8eb +AAD = e3f9b6a350a1eb5f65b2cccb9a980d1c007ae69e2844f4f4b658d666823b75ebdd0ce1bbf4fc5bb9069e83470114db0e +Tag = 4899a25a +PT = 8f9ec6db06d91568b710546514 + +Count = 6 +Key = 59095cffef7421ed40bc7e2fee3b452c +IV = 4bd3d7e3a70e4a3c3028aafe55adba92903b43c75f5a7feeab4f10c83f20cf5f8c15948ac4be1a257683f8cf267c8675f2edea0afa3425c9671093a5f2367b1d731aff97b8ba72a7535d52acce1de6731f0886ff370b0aa9f1d7801cae5ccb0a6a83370d6e2ec8d72ec749a1be0e209593080b44e5b62a247bc5cdd65577512e +CT = 3ab328dcab75655407b32427be +AAD = db8dd4fa0b69d5a08a76015e65ae5a59281580aefd9c99a00454b69d85a249e8cb2c14c3b8bb9fa8abb6884f2c169cce +Tag = 88cd9289 +PT = 07d3bb2b7e7e3075d786dcf01b + +Count = 7 +Key = 8f5714962c760319c2ad7c694bbf83db +IV = 586e6ab43ef1dc8ff078c4811fbb614aa420c357db74adfa460fdd5e7e7937d28532b206e601851d216d8ab86a37cb353b26377d9c04825c8fe8d6c860d3c28f47d927108cd29f1496ef89a8645107d53246333a7063f48960044d1f65cff84a2263849f9d50580a48ab7c434c97c75bf202464e11a64df20e1c26f2fd2cff24 +CT = a4f58db8b798e79d223920b330 +AAD = 015078cac104d0defb27da171970f2e4eb5b2fb6cb116ddd42a3ac976c5f73079822ce8a31632f4f9f44f2d5fd09fcd6 +Tag = 02e4bc7e +FAIL + +Count = 8 +Key = cc3d23a654848b85bbdb4c90171f9a12 +IV = ec9826665c45f18f0c6c475c6e3c272f7f3b2098f69fb825138eba7289ed192f35466de053eb18ce5d7b56c799c341492f8529628237381da2ae2af6cfad83a4930e14edf60829ae545ffe4b4a848ac97caba65de56bf088e754c63dd36e1e3f4f85a2fb1c6385c8efe35df680ce26c07fee0b90dbdc3487eb060fb29da99533 +CT = fe67ef9bbc5c2ef741945e98ab +AAD = a375baad0e77d89dac5b738dcd64d9b82efa9fcf4b71859f35ded9b05ba1f9efe71824decfffb5edce9c480624275b23 +Tag = 34c11f16 +PT = 5b3166c31a5a99a6221d6f6be7 + +Count = 9 +Key = d496a696fbd979274bfc643202840d8a +IV = 624e822a1354f3e9d81dddaaac23ffbc2b0f1ca9106f80cffba0d3c37e373ca57309ebc215541f6a137eb24f6f1b8e2e944731d0c28f05e13f6078e201879976e1da70068a34a39ee1dcd491b3d46f64205ad02a9ed572a37c414bed4b7ebfcee5d5b926eca8a23681a498bc69ff3f2105e528309ef219f712c3523f455a4bfc +CT = 58c52bc2e216c8380f83d389f1 +AAD = 66d069af152be55fed8d3a1ba18fe9faf7e4690fd26645bdf02a868550342b59172964e946289c4aecb177fbca3bd715 +Tag = f631477f +FAIL + +Count = 10 +Key = 15aa077e158659d879fd7791b7c61c4c +IV = d59dd76e89ea8f36ee590e0d2a80d846c23770b4566808d09db8b462d559cc608f4b51b4bb44f5147f46f1166d193a9f246a46b20d1dc087f2bf1100775a1171e46145a1da817dee4794d6f74dd8e38ff3f218545b78e13c29de050a5e9bdc12cde8c7b56ddd3ac9532364bdbdf2097d96bddfd3cca18537f8e655a17025f265 +CT = 84652d900971a931c5fb97a36f +AAD = 6df3c708ebea720f4fc9a8a3f8974075a9fc81a9ed3df38830aaa8bc34c306e04aab908da33d78638391b7dadd314d99 +Tag = eb2f5fea +PT = 82fe4dea74703e10f140a9dbc2 + +Count = 11 +Key = bee659556d9d47168d4f0c1152f0cd30 +IV = 4626477f6fea0f0e266d056541508b7405649a221d0cab0775ff210b7202f229428e3c3d0fa66978928fdf4944e81c4bfa865b9ad04e2829138345e6a75bd7ee6b19e10712e98160076c51eb8d77f74f055e7f9f8eb5575a588a0c3314f1b9b1875ad2c01e9036442c4aaa3c648efc791c699aeae55740b5d8b71332a4a0c4f1 +CT = f30b5bfa2b5f47132b1f279e90 +AAD = e16183dacb7ff22813552b0fbcc68d55966cf8912376996808bc17dc6ea24599c6b032c597f38ba098419135bc7befb3 +Tag = db44f0df +FAIL + +Count = 12 +Key = 39e36c69f1404ecb61721052e2f85ed0 +IV = ded6d74fa7b2ce1ac02c9023e1dbf1a045198f65ef6cf998d12b6e9c859cac244f206674b2a807aab2d19ca907a8641c50f9e3a795730d067e3604cb8d9517dac377b50bae6dfd71969c00878cc74038f4dacadbbf83f961492feca84cd9abe1b089821f2b18662207da500e88263a2a573873cb92f0666e225594c4f545c9e4 +CT = 4615c43005b3d1bc7b05eed3eb +AAD = 9366cdd807a6af0603b35eb74fb4c8b8e170df07fa00f0f03a48e4c9e1270cbdcffd4022d60ee7d89da347234dbc71d3 +Tag = 166437c7 +FAIL + +Count = 13 +Key = 22750b0ca743419f33280c57d75ca158 +IV = 2577216761f3455c8030771766125b97407ab7e165caff94254f3a2e557486d808cafa60e711e78acf1f2cb9665a54f0d35e0d85667c2f6ad1f232f063ed712a7e86bc37513921b42fc77b970e47175b13fade78e1f8c16c8ff1f28e33dc66fdd473a74e2c0a0f18c59031ad15781cadc89a93cd3595b6d53e25f9305335249b +CT = e70efde84ba8492cda3514ecb4 +AAD = 38b33f45f0bbe80517da7c23875585a44a195a9cfe1a74e880a043cbd72bd8213ed5543141e1e28ada124989a87dfc1c +Tag = d530bf96 +PT = 5599bde0bd44fead7afd1eb289 + +Count = 14 +Key = 82df2ecc8a4bdd5fdeabdf0f4b3267c2 +IV = 0c1403c2a23dd2acc849b50b39d2a0d7d66054d8b2e51440ecb68b914383a13d557fc38dfe8837d3c9f914b62df7c0712f769418accb102ff48f812173f8ebf54acf34270423591fd4b42beb969b76f49c51d82ab75f4a5dabac8f5d28cd5a261d3f97357b323ba04bc6ad27f062eae03de07112bce6dffd563f227f160582d7 +CT = 341f322c6396a5b9477c42ed3f +AAD = abe530efb6b33b524bd7c9e5705460932d935a1d9ab532636e60329509be013e92e19cb5954b70741f6d1a807e50db4d +Tag = 8359ad70 +PT = 5423190013490a913f494c849a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = ed1022a97541386191d7f497fc028afe +IV = ee42968bb03b625b46ea4519a0c793dce51f30f1f843b17dbf910c3bd5ac3935e18515e7c162ff5a7eda471469038bbe4ae597b5ac4e09dae2ad98b92b827ff2511427a38a1cf1ebe388bbd7ca9dd85c15fb464ae1d49babb1eb6577ed4210a77b37ba9a87d883721505222a37b0edd4c6f9a519da58becea04426dfb4ffd9de +CT = dc51cec91f803f73655c23e2b7 +AAD = 2fdff5599ff34063d25610098df45a8d69fcba22deabc28085355a4fa420ec2702daead93e3b8fcbad5867f8287973cef3e4a323968302021182b5e3fe5d77413e2e36202477a62f9a7e64e78beaeaef8e575511d5b25e409aeb +Tag = 502a4d8cdad446e96d7e5b4b04ac5bb7 +PT = d2720de7f3cc84f02e241b4e2d + +Count = 1 +Key = b4fb230481ade2a486061c93edc8e59b +IV = 68bd51d2808567936d7d7947390e12b607b3ed4d2500da4b34c76a087d07a00de7292fe01f7a4472e2813d41fe2aa5db22a4197c7826bdf1f524ecb22163f58e45023b1a83c7bb70f57d83bf0475a65a3f64bd65662a0b0bbabe649153746a5581970f3e6426bc794fbcdb89db594f3e67356136b3a18309ca3137951da56fee +CT = 26f7b519bd175f41bdbb78b3cb +AAD = 479a584aad752e7755f7df00476ca202f97cabf79244229a916fa3438c7d4e1a57adccd6ef909f5b60b1a54e979ed367296b056dc90d680d2b2adc90709e3da858afe0417765b51a132e85f53c78e5708cdcb8fd8f5e1d318df3 +Tag = afe604d281b86dcee49d6efc9ed1207f +FAIL + +Count = 2 +Key = e9eacf1f165246452c3ccf0c016c4177 +IV = dd8058a5ffbfddaec3197bcc5e78080b2222dafb1eeb7948bcf88126a55c4beb74cbbc947cf3ef251ba9385c884f96f090b5081345f0dc6c614c821fbd0ebb3563b1f6552a82d489f4c2317d2c6a0f906ca8a663c3cd0971bb8adc5de1a047b954ce8000947446c03f10641392de51b13e398fafef05ed593fd141fc19890332 +CT = d602b98f0342c84cfb82f295ae +AAD = 754b18967058c7e74a1580bfcb51c7ec015a787a0dc90bf51278339c6390496a7e3426ac3b1ac7589e33e2a59ebff056a8c0a4a68f5af9cf2d3ad1e1eb342487dc1c9eb155930ff771cb806c1d88f90a61341c1366c6f42fcb8f +Tag = 16b84ff1014e2084d7d8d18fb00a7273 +PT = a47f6eeef297ecc69e138274aa + +Count = 3 +Key = c237fbfe0720a0dd38ead4bbabae87f4 +IV = 948dd2002f4bb50dcc420870c272229c0a5a5924eb54f0af05e1324996cd7ee8d90867ef8f085100603f4e169a7d45330ccd712e918d16887c4a0bd2c7d4725d011ce27473811e2653a973675a4cb0d9b286cc403f665fb24773109b1e83743a910fc7332e526196dcb24099c9c16d1ac8db733797724007f96940babd78d866 +CT = c892d824b02d8262a851fff5c9 +AAD = d9b4f3e9f00ff616b519f0e04c7ecf7c6f49edac929163a93ab0ffefdc9949fdf1619c431b7144f826f37986fe44b1a57f1884ae1ba411fcd65116ecd2be2fd7a50805eedd87fa991da638de4ef474faed196da9d1eb4698dcee +Tag = 8c025b78dda37e4a9f1702eda800d9c3 +PT = bf3fe1f0fa1d7e8c6d18cf287d + +Count = 4 +Key = 4177face8125c21ea6da912796d25242 +IV = edeb403856aa16b109ea0097bb657f5e6cef2f9cbec0df5fd68dd7ece9911078b5374e4e11d19bad27821b06d0cd7d48670d5a601551bcffbe7e7e69781f078d4297e41b4478c6381353062d6ead0e97e8d6d5c7399067edfcff9d9d545eed63d4ffbbbbfc4ef386b9766e6a3b025d8b51bf636d5e550e87f43f0dbb7acfa75d +CT = c3527e4d3f4a6a1bd8ecd02ab2 +AAD = 410eef51590d1232ea0869f8732ed92c7294aeb54d8bea46351e5c8287f788c23884919721e5997f72e2453e321e373c32f5d0690c7e34dbb13fb7446cf4a602fc62d3d30d5b137a8fc65960e123f82012c4979252601ac7f56e +Tag = 96489c364c9be5ab709e04ca8ea09f35 +FAIL + +Count = 5 +Key = 521a92ddf19bb51514579e669bf881a8 +IV = b22801e296b95246adea40b0354f013c421d5b984aa38754a7a2f852f6ea4ba0fb8cecfc87d3860aa2b1ed8516a5c55b591212336366eccf4b4e1c37ec6340381b4655ed1f98b01bc2fed6d296854822169fc27a260fcf98ec9541a5bac81a2cd1f3e1b281dc2511812362966f81433a58525e74c5a96bc03d20f12f0dda3a87 +CT = 27b12c9122fbd1f73a30dd0523 +AAD = 9e9f171bb3350c449667aa7235aedf833eaa843ed71a9853f81a625621df762a07157a24ec0d8eb11f2dbd76e6558842093a9566daf41de6eefbf7de84fc5ce857139c58468327944bd6c5671b0c79eeabb51daac6a9427315a0 +Tag = 4a98d033ed7d3d1147f4e2371bad84cd +FAIL + +Count = 6 +Key = a4ed553ebbd99d6ccd9f850cf091d20b +IV = 171642b1a1c7cf2003a69145bc18352b9669392294db9d3735b168a8c165af3c37b993f8d40d7e53804a592c29ec9bb1051eca72094333603f070d3a296614771775d331902fb31759b9a648e5a872b5a446ae87ba01cc435f1ab176a616513e80dc89492ac93171305e59ebd62548d8b43fc24199e6669d730da645aacfb688 +CT = 28343cdca42fde0d8b1923b6f5 +AAD = 02505caa5e61959b88412fc3b714bc1bb85a9cd64ea804766a6f6702c99f8a60bd371e26524ef892203d183d4cdcb950fed49a5e49e130882f0435bc99cb4d4a7fa967c35f2e6e1474b38a13f6e87cb955f5997367221d2fdfc2 +Tag = c2c5348d0a945f15685391c6718f183a +PT = a157b56692eb805495dcfbcb3d + +Count = 7 +Key = f076451f83b2952c66d02e06a38b1550 +IV = 148b8e941d0f87270f913fb439fb60d8f9c915cd065c8acd98839f4f299a9d69eece77d0c3bbd8b8a334c3d58e1a8755f0ec1dec82c8e7e86e7f2ba8cec867f7cc9190349342d969dbd65657f8b49aabcde23fd66a4aa22dbc4b40b54bbf76bf742e0d4fcb2a2c2fe31631886e6ef7bf189fc0c078c121c548cad0c7a6a90f34 +CT = a2cd8d8a523459df713396025b +AAD = 4fa5de8389033e744d5b609f4cc2654a75269297c008a67dfc697e1747fdebf98d4cc4866003eb892ea41c6238fb010dd6aaf933df5bb23bcfab447b8d3c41fe12e2e4315e14318400fec7bfaf8fd6d382329fd99cffe602935f +Tag = 2b0aa620af7dddbf4f75305677e0ca46 +PT = c07dd1819afcbea7a8c97ac7b7 + +Count = 8 +Key = c2d4f0e3cd23329ee663e982b7b82fe5 +IV = b9ac267268f8b6a9f49bc6e51bb1694d5f56dc7abfa6babc3a1ac16a5d31bf6a3bcfd5da691c9d6c1c17a7f947bf11d6ed9e4fe424fc171bebfef7b52769ecf104a02fd1f98251d71fb2b076a82b8b9d03b5e49376e1dc0a1e7bca1d2708be6f1733692f0e4ac72dfea96b208355104dd7053b0470618d74f5e109f19f3788a0 +CT = 147b219544f432fbe809183f95 +AAD = 784f173bf85ff861af3effda852a93dd417903a1a4e3d39c58577be966a5b36024a3b852b5b0ba907bde3cfabf2a326b789a021a7799493f2c7b2fc2b024d16b0793756880e2ccf744127b75ea9604ba04d0b2d61f473f0fb75c +Tag = 29de9dde79303aac01f4f585556ed599 +PT = 229f1b9cbc4ca192ea77981479 + +Count = 9 +Key = 8806a074a585513abc5485ef3ae74259 +IV = 3d3d52854e1b3c07156ceaa36c3ccc8eddd97c08a22f5482a5fb527f1d6fde69309fadd1a5967e6c6c7e62eaa6ad362306d8226be27c4deaa0460b9af42ba422d1504b9eb1fdaf6121826ba78c79b54249e98bafb9b797478e2bc94f69ebb44bb9bc28d921b73d783bd3237cf86578d1d3ef973c19e0f1913ca07fe2ad880453 +CT = 3e0b1d5035587ff07fb2180797 +AAD = 56c785c77808bb467f87f36914c0026f3cb6f63cb2f210dfefc308fd6a0028e0b9754a5d820467007dca3a145adf5f42b96c17dfc4ff45c996cc8f993fa248fed64eaad3c8367fe3bc447ae709b5a026bb08acd6e8c1e0613c9c +Tag = 5decbf1e2bdc34a6adbe5b4c49811a77 +PT = 26ed0987f7827bc347aa7d813e + +Count = 10 +Key = 936d546f69c01ab35898a6819eb18657 +IV = ba4ade80da6eaaf81f8b0154138ec7c506345561db4c74853b1c5782528323211194f89b7ad3a397a6fc592a754a8c792980683785a6bf96873eaec7174c3ef9637daf029f3676f4447bd802f0cb1d8cf5f030d55a288c3d8d9217805aafa66ea393ce7b1293cdc78aefce38547f7cbfedc148dd0427bae3fef851ff352f1760 +CT = ed275a7e8fe3424ef018dbdd8a +AAD = 74f48d0a7a02efd4fcd3222689f0cca3b5b6645143b1c36b5f8ff05d760794c7b1f8953cb1b839b26fb5aebc66b05c8846f0a70058a34c4b8ccfb54f3f5a44c250cec99cc93d2c6e5d1d0cbaa67649c551e113eb6ec7f4edf0e7 +Tag = 2e4b36ffa6549d3bd00eab345f4799bf +FAIL + +Count = 11 +Key = 23876f9351b83b2f8ad16f3f75acead7 +IV = b3dd17e79607b78cf170b378ea99212a183d696b09ec852be1dfd827bfb3b30ae276465344ad7f8821279d00871927ef0973a668a6fef7762a19b6fb45d2980ce1b34e9e6692b902efdbf658683a17403ae734b9781537c98a78c0cd2a603852d600eae460f5c8a06534618efa1e22751aa745cd691c0058cc736363572cd57c +CT = 8bb7930764a0b9ba455fe02f80 +AAD = 210a794830a438852c9e6f60ee1520f7b4553eee130716432a9ec62cbf0082b5470a0408471d54d1e82d3cdcc7ec2035ad34f8ed09690571a4fe9a4539bc54fe5015332793a57df3da121218589a85e846d6a2a7a08b37ebd1eb +Tag = 00e70026ae3560a1f7807e04f96efca1 +FAIL + +Count = 12 +Key = 6c6f7a2044741e7dedc92f7b986d3c68 +IV = ea71ba4ac8ec97794567e6b4b262a0e5909051dc40dbaa26f1a631292d0a37a0b31736f66e0b979b43d2e5edee3d68791aeb2568443d76d3f9541229f79b3defea80de15637c69f5eff39a209176a06a676a9481c68976b9f436a6d0421b1426329895e25f8ee6c34b81469cb03209465775e3e673f2fdd3acafd9866f828615 +CT = 628602b67009ae195386962b99 +AAD = 84b19d9446594955d5054e809a29cbaf98ffd5ddce2f157fe1f6684f70d210e32109dc26e85a7d5ebea9de75ffa032f774da1dff0dc5b9f55d4b6bbea943cf2803e2bc8877fb917fdd1a5db66ae423eb8eaecd757836fae8653d +Tag = 111e99c90431f2b4eab5e47cbd7677d3 +PT = 9330afe963b73ac6c55a1ad998 + +Count = 13 +Key = 2ec777e4d3b7c64a560e74887a5284a0 +IV = c722fa55e09a3edb06a6b35a2bda6367da98fc40646cda3ef31a76c73422753598e4abbdcd1e87344df36cb734e50f5ceaef0c707449f24ebbf344839d4d0f2191e01d3e6860ab4ee1fffd9dd5c5a9669dd1e0a1dfdaa82c7561897d0a919877c2b1fa7035c4e525737b7089d2b33515510987063b46e3d8831aa0b24beec2d2 +CT = 047f968a6f49f39a5a343e3728 +AAD = 6049e29050f67f8affc5eb5529e9e19e488914e89fb361f52390ba1d5169ba3fdc6435c293c2ec70258550aa75764b7615ab5126b937f5653c39e05186f9bf4c3948231a1c1fe35def1ceb51271e83a7df44a673aebb36b7d9b8 +Tag = f6ce53be00c7cd509399449f0da3db7c +FAIL + +Count = 14 +Key = 817cce7789d38ce70599bb93bbc21ab4 +IV = bfd0e3f5458d3419facee435774b6f167edddf0742730c97ab923e8aa9af221450142898b338a77dc802a3d62687c04159e0eca1a308c2948442e1faa8d454aa3990ac572981b04c9c44137bff6de2d3c6ab9f296d02ab2cbbee1ce65c3330652d5f253072141941c1d0f1311b0ce4745009517c1288d3d9f5adbe1031112ff7 +CT = d0d5c95993aad6ebb0300ddd2e +AAD = f591060c3ccc27ef9a282cb03782375bb3274e59d6fc852cdd9c28a40524a854ba0b91bcc275f69f8cccb00403e1b0d6ecedac4c578abe6d0b713194e7b365c50ed0f965d8d1b7ad0cec1bc24d903a830e7b0cb9d319429f69a7 +Tag = b3f87992477a92574dd7b421fdf42e62 +PT = 6cc266c6ada14cce6a07e134e3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 88093be5e10d8c96da17d90f7b55d1b3 +IV = 3c850e09ccaa740b0eeff3968664dc822969b6609c9d97b74077f91ba0820ec13b3790f0add33775e6ede9feb719b84b0d7217c3a2613f97458c81c8e872d6935f0e3a33274ee3ee50a0c8f9cd3f1eeec9cc1f9e7a76dc4ed8f10956bc5858a4851db6aaf4451730933b8448ed78a3c2dd7e2e407adae60d8ee2a9ca970f49a0 +CT = 8dcbcd419c1f4c68de6bff9fd8 +AAD = f7e70eab144ba91e7b67e7135cd3dc4654ce5ea9c1151cfb7e69a18396a2521e220352c22d12703d4a1671f5bb416f8bbd654cbaca57e9a307d2f2f729aa72499ba6de76fafe12bddb97d78a82e14bfb2d785877d5c3afb07bb0 +Tag = 23edce057b9ee2d9d7bfa5b62db296 +PT = d86515428044a5276d62fd8f99 + +Count = 1 +Key = c31ec6b82376e8d7b9568a0ef99baea4 +IV = c12778b94e075c8e27cd01d3ba333fd3fe412626fb27ddac53a84820c846c585a30d912532018088076f7c456e601a05b6e2fb58f6b2f94cf0279fa88f9f505b1976fcb046984faf8e1faec85679481d4788a53c64a8d33b12b5ed618bcb928d30b6d47b957b558ccf334e3e8fa72cbcec8173a0f97c8e7cec0af000e7375bc5 +CT = 02d680de7bdd9791ec47fce4b7 +AAD = e67e9954730ab7191ed1ad5032419eac0836729980d62965e9436ef4b514085b68eb498b04b9f2259a10097e9619ef6ad122b3fb2d5492ede8b230d67f4d4d833a69f02db36e855fa9e28c660468190d75dfd7ebb8b47c2a76f0 +Tag = 0873502f6a2d15249623ffa28a38a7 +FAIL + +Count = 2 +Key = 1f20c5c0a418db94676783ecedd3af12 +IV = 7d16009fb6268a6846d130660bdfcc9c9ca3186083af4a57c383d0207da93b3eaa9efec1ef452064d2589ef93bee374ced26f10bc77f4509823e7f42c35723291d9f28013944b42efc3860ec7de610078f5ae6d69aeadfa42acb395294f99c98c72a770ba975f97d0345632af15c4efbfbf98b8b3a5312450d6384e3c719fe91 +CT = f9cf5d2da2e13ea79aae965f13 +AAD = e86afa982601cf2ac3cc26564dc1877391c249a9b28a6abb0c5d6eae2bb7f69a8b29b9bb48a0c7ebf2efd5ba1ba43c82d8793e4d2b8647bc83a1673fd137fc50bda461da011b6fff60c80f3099ff7ca19cdcfa0ab22cb52896bf +Tag = 791061b390eec8c99dd893527ea6a4 +PT = 3d6c06021cd3ab247cbe1c285c + +Count = 3 +Key = 15f5f252d3606fb4fb7589f496aa4a12 +IV = 5c825a57e8cb71fadd86356bf551564b7bbe89fd392930feca0009be936ebf9e1f16460db073c58c390b0e7e694e0a8b970ad62cd0d3bbf5fc530195c2553530c66f48df60e4c01883ba907d4c261e82d4f4cf39f95fbdec5b9f92449cfac17b867f23bbbe1b31f92ccf19335d7cdd7ba07ba40cadf7fed5b7e745d112717867 +CT = 6519db8aab7a052e500a75f657 +AAD = 1171d64ebc75ec93cb4395f718efff192d1f7e129e65dc78e26d1d386d9cd44c479164ba8dadf9c3436aee8b57633ada4b2414d8e04810bfa4b45e52641d3bf4563294171e3890f0a7845a300155144109348b32141e3814ab9a +Tag = cb332be97ba9438b4788b333458393 +FAIL + +Count = 4 +Key = 16e0d52b9b29859084801d8e37e07351 +IV = 205a4eced1d3f18194d3f3dc13a6189ec916c200ab7d3dcfae5feb3dfa5cfecf16d717cca60fd2f3d57a15a35c7d9f89070a6827c71374b4a1b05c6209d299ab2d64900112005ab3eb4aad7ceeaed08c3b3f19089ebde839eeef4dfbe739227c6eef94bd48f6e19b931effba9e489abfb3687ba7b0a120cf32b27ad31f3aaa0b +CT = 84c5b23d433ab9bc546493d608 +AAD = 28a70e9f8fc856811362485a04985c09cde0890be8d1f97f5ddd596adde5eef0589491371c853e7c5c285cc8b23f8608284af33ddc39551df6f7138398bc6f7b06e8e618ad052dbfc781e5a40c5ce66a7973cecc29737aadc593 +Tag = c5b2845824bb9a6cacb3fc0fbc2339 +FAIL + +Count = 5 +Key = bfd33f5653b32fc0a2ac50b515cf8751 +IV = 03c45dc27017f90a7ef116a426f6cff7f82797a7c78fcdfb8575f19b58aa0eed24c60ba2d0253328865eee36f2642edc934528b963b7ad811fc77f8516cf929457d55338950c5da1b43b5268969a5ca50f7c2df570b631ff5418c97f8032df6e0b81c051e4056f6de1965133f553b4f012365a4b4753e4d38470de87be3954b6 +CT = 73bda798e296875badaf27fd2a +AAD = fb85b31e79c61df6aa7e172326a452d944bca088ecac6a99bc1a12b8c05e4538e346e724d389ec1cf7496eb2f5dedb8e1a24e9252bd7acfe94814268c8c724b9451e2e02a6c3565a1c82c0fc584a0c780fc9d131010940824c92 +Tag = e63b844c9dfeba0902bb65ae609c82 +PT = 2be8f39907ec256f7f1eb063c0 + +Count = 6 +Key = c54d2565c14cd9ba702c7472c4b42ac5 +IV = f95e3499cbd5a4b0fce4f6d8937f20ccf8efdb10099a5e6302426e32f1d53421fa572f398fe7046b42f95499542e265f5baeb4bbf0cfb40e681165554a415ea72b84be7f952a2824895918f3136910fb4e86b7a2a170a890ce03455c4a6a7900d50b9d39ac33138be5ea713bae3c687ab7e53df69bd59594d54d1de702c2be22 +CT = 8a47988ba519492858107f74e1 +AAD = 6e5f0513cba9edb0e1399e5650c91f23113c01c5d63b8949121baab9867a50484203bc217e7cb9f55cd593b142aec43b9cd584c5dd24d5e394c90ef2fcef4e4fb89c207306e28ed95ac1af220a495b2f96dc46c2e215407a5135 +Tag = b09684882ea99bf521a5e9da14ba7e +PT = 601f0c12fc3d3e22d6470a58d7 + +Count = 7 +Key = c262ae081ccdd81e2bd4d49120d85712 +IV = 53a3083a819eea0457a2844779c75e072a161ebd63db8af94b667c6d623c492e557548a05424add5842bb2233abe37e33c02d8ba2eab7fa81e74eb0139d0eac29ce84e30f84fae615abc8565fff81c4f2a05946ec3017248529b901ca3641a015d1f89b7958435c0b9792359473ee7c5e18b4a3411aecf9d1c20b18013e4ba6a +CT = d852dffd1dbcb758f9f53b1b66 +AAD = 55bc20b62c0681aa65adb107bf3c01389019a8b4391b0f7ad8edb262bf9222c448023d090b29d13f13c3c187bd6e0e7e6af4cf6592b0de270dd2780e9221c40faa8d94bb8ecd516f1f483ecc93d1f3ee844c2a97c8182a1936e2 +Tag = a2e6c20c1d6651527571ac0f799feb +FAIL + +Count = 8 +Key = 8702bef888179056945563cef1e69a5c +IV = 19cc48780b3be8f6ff4a073c9d40481c8100e13274c724a7c7368723625c370650eb79663fa3edc5a00eadf7cce2767b859fc0417cce1bf1bd0a606166d9f7ce1b96c434073220cb881b666ca17d4ce80a432c5fbd9ed1bbe50ec7bbd4dc0eb6af8ddb66f43ab194906e0c12748d3a2d9987c8ae08e1db0b315c835ca067867e +CT = 35b00cc532229b69fd449c843a +AAD = e0f6637e977b2d4f159bbcf8152f844097674f8dd42b0c63a11a5fd41c843b43431c973ee5772fa153804f7490dd723420956aba51fb6c9e8333906a0045a9fd995b6c041157067c1a2fd2501c7a4daf84c61956242e9da03548 +Tag = b02860508dc6b335944bd9bdca5765 +FAIL + +Count = 9 +Key = 5a309a925a196bde927abb8478785143 +IV = 5f54e2bbc2c301b0402aca8b5f8c28716a7a2d4d59036ecf84d47fc2ff2eeb2db5115e8e9d2cb613d1672c533532dce92b8570bd4e8aceda740a4bbe84bdd50f6ebd12751cd36628ab92777021b4817eff5b2963bb4ea02d64dae696d0893c842878739f6f6c75e2280677134c887194828b8dcab4c7eb2b654eed12dc81e09a +CT = 026714af6c1ce444271233af2b +AAD = 93303e39ba39c3075c8756474a3c68e2efdc27edb4ed3cbcc6a4f9c05deaabd24e68a0a2b94e56dc48d0e1ae93a57f01b521baade24ed6895efb6b1c8ddde7b630c03d2825dc7266d0fb33b1febd263212decd829cd409380f2a +Tag = 03eef0f8b215291b5a0243d213a0c5 +PT = 699273126e30493a401ada50a4 + +Count = 10 +Key = bce8b56bc2ffdfb2a07e8ff013010330 +IV = 1d45f9637c75091b8dbf983b63b0840f2ace0929e7d12a01cc3ad8ada85091f0a74f4993b362a1f2f0fc4e9701eba7c44e80dc725a0308d9f4fbca67999c2e3b5c66f68abc739ecc01d2c7c8b1d26673e62c1a42eb7014c6f385d587460b5d6e411a490e4df8284b266a0ae666c1f06d280c1773fac9bd72955bb3b5dd257679 +CT = 7b1119fa22d11c18700e3d8353 +AAD = acf042de63de1e9a362ef2c5d09fae1f5be8001d39d23d82c60e3bc90b784d976b6a19aace98bcd646a2d86b17a525e4b21eb12a03265976c370efdb305ad18d68032ef10b130ce26301ec0d154f8b84763a5a4ac96a579d5e0b +Tag = 757e31d2dd5eb3c43652f8deed41c8 +FAIL + +Count = 11 +Key = 25d51dbfaa680a339d76e36ef1840a92 +IV = a452cb1057f180a95c6fa0673ce4047a56f04ec8f4147bea6d1776e248c7e7ab6455bb9adb269ec6c98e64008fddbfb8f6f3dd697aab511c19e19d4232dc1997f720faf39fe1da358caff99491ddbffa2b03e2c3987627fd815a14292879c4f9def58c7ee78631c1d40ff3577832756aafdad04a97ec0741d98ca11611818d1a +CT = 12493a6524dc459e641b03dd46 +AAD = b849a39fd9be7cce3b8e766ef0080c34ea3b0caf750787450bcee7f9f758090fdeddaba00d936c353cd6c4f48ae0eb0992ed5c50d34918b05c1c67de18abd4965d66c55dbedcdffeaa31f778861d0bb55bbe0c6a6b6d23803f4d +Tag = 2cc18cec1497910138e8d45d7241f0 +FAIL + +Count = 12 +Key = 0e3c18d760fa8eeaea04f5e9ca42263f +IV = 53234931dd204501abd57dcd5a7b27b09f0a80965e02823a6a540f81e37d76ace8714e65617b608d7bef2729794267b731b0d2107e869a6b6c4ad9a8613deea84002a70c2fd84de5b5026f664cf854287689413b8c45bbfd6c0f23fe4862dac911d0b9c3b982fc42f9d3ec81e78a7bd5a41a3be73d3537e63bc0e599e5f1cda2 +CT = e79b9467d1af0f203417c3f920 +AAD = 64c04c04f2fa0c4c453b990ade8f72265b7dbfbb6dbcef83db359160b495bd6b6b8c9868ed15e9926e5d5ca0281f9c408ba56479573829a73acd44ccfc8297cfc21ad464d2167e5b9387cf943c9ccf409cad0f8f5c014012447b +Tag = e3931e304c96d700164ec568eb5768 +PT = 62cfebb4ebb9df41b4f358a039 + +Count = 13 +Key = 073f6a5c2f1c6d6af38cd9edbba362c5 +IV = 9aa975018a54cf94cb582940811aab2e46e615afc9c7e2b07c9615f8c090dcb7ff2f214b0ef475dc58ad6915b48abfcdf00a7251bea978017a4fcf590381a97250bfdff244e4428e46748916a295328959c38a48a4c7bde7f3c0acabab0b0b9535dd5d64d31b722798ed45d2f47f937b2e2f882cb7068debc9cb5eb4bbca60d5 +CT = 6110d380f73f7d50d999ab8740 +AAD = ec4190cfc36ef8ca3ab23a74990c83c0174105784b27313677a34b5de83840daf51a75e647d6183d02c28af7d47c064aada6f0d1952e6fe81dd33e911637d66e3802acb5aba3814f7fa201d697648be2e3af164757056f537505 +Tag = 7079d04b8429eec91554cc380ab098 +PT = 6c6df8c16af026f6234f96681d + +Count = 14 +Key = 9db1f4d0a28a992ae8a8531e9702a5e2 +IV = 4ef167f3b04591aa104277947c2319a35f57758854d0f462dfd33d26f0420d1d12dfbad21f6940f207388f6c952ecc79d9682a9e21202c03a81e55327d3042018a934c5e6633f796eca12669823715dc060a0e2b66a56f51b6e46187151b92dd95cb63e439bdc3f3c7a608458ddea7e3f6acad93e5f7822742d1e6401cc61be5 +CT = fcfb48312e6b03613ad4e16951 +AAD = 8b9bda8447d703d722bffc8b9b120beab0bdf8e8be190c8af6fb752d3a945b1e589bd9853b029a323bafb38a0a556e0e79c9470f700b825125937c188f29f4d8ca95440cba320c22c800b18cbf78b438ab9919988e95bd021833 +Tag = 4e2d84a6f3b7c920a5dcf6a85333b2 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 5f45248ca72732c68df8f7f0c4ec2684 +IV = 23c865226bd2e0da5077657e397eb7f929e77150ff7b8705285d8a57ea70e8242cb597abb97d9c031c9d65ba79fb60591e1ae85a1bcb810ea1ac4655830dcedbb72afbd57322c0ffde4b8573f6d53c251f14724a262986719290b5476588d6d680556d373e815d513ed579974fdf9de4f747756322ed0f120ec3519097b3ab1d +CT = ef9842e03ba3c88cdfc03965ca +AAD = f43af58bee9fef5ed3aac3eb7cca32ce2edc132637ed0aad969a09c2fe03562d4407cf8333425054d09dd63689b9f8bd1029d611c226a37b29d1132771d47bd41aea1bd92bc4e97bd505dff65892686c871b2e6df3b742b122be +Tag = 8cc5c90cb08a8495c53a46d36cb8 +FAIL + +Count = 1 +Key = a64882a2c6d10ad3c67d3cad7c006344 +IV = b8e5996c06c1b7c03547a135aca0ad8bdc851b033ac86bcc4af0eab298239490d907468e3a80e61af847368f62f9088c434901bb3db3f3af73027824b5b02f0b66dc0c11d5179df3cd71e03ce9760bff5a5df9a24ed409fb5f213c56fa11d6d31a81e3b88f7aa7b093308d4d3e2f61d41428b0a29f9a28ed195eb9dd994bae00 +CT = f41f2aca6f35c2c9dbedf49064 +AAD = 9b0c6ff7317b36f7b18d41b9661be391f1267e4dc446302d117252ae66f05a64ce3685deb42d759ee8b7f4bc8eeea1b16df3611daae4ee766f3c9ed1107bf7807fe5ba923b666c9a6a14c003c80c9206ccf0d6b263a0179e0292 +Tag = b3aa50df2a9ce3abd0d2c0ce8252 +FAIL + +Count = 2 +Key = c22eb9e660ffbe6f6d1c3e70394d731a +IV = 14bbf7ffbe44bbf8c8aeabc167ae38faf0da592fde0dbf5e412abce6cefa9256efc803c41e5212d39ff7e08c440003d1c3db3b8a71fe5d2b792c8bf4481d53784165602498b6d2f837b5a8d404acf66681ec2804bde35ff693e29cf680641cd22dea61357aa668f3ff155c5ed50122055717dc9757d757df5c57f80009b0ad90 +CT = 505a4977509a92bc57b577ea9d +AAD = 6cba6adb42dabdf1a5d99b5da4e9496c7d1fb88ad853575b560658f264902dbf078f05c2519238cbfc061caf3a59a2557e84c4f51b7451e4adf043e321a8d86527530e83b2f7f32208686d850a466ce1f6cf6c37456e093aa08c +Tag = ee49046a795c949ae1de70569dc0 +PT = 129466c130faa8913120c90fa3 + +Count = 3 +Key = cf94b4a04eb1560a2b9f47145c6dd4d6 +IV = 2501bdbf62da5462baa450f6ec56a0b7f14eb345c044ab53b96898208aa6ab4f90694e5cd2ae431a431f58225efe1fb0c3e1505ce160823837e02fa29fda741839a67c831e2a5fd1988c8674c2dd3ec0560f7b04d0e02e3ef9ff63dc8e55d286b0755796851383d04eb9297a49afcab856590825673143647dc2e7620a1cfe85 +CT = 2a6c68674b4f7fc39c787c1063 +AAD = c94f597f1ac1340342faa25bcb438815b4571c2743b604666acdcb11ca8f896e5ea60ac3a15132fa3d1113d910381b48adeadaf0b77732de48d71e2a60abce019ea22d4f8baea04d29110554cb8f3cc0c441a8ed326ea286d0a9 +Tag = 680c6455ed2bbaa9db7ebadc5753 +PT = 2fcfab05e7ec5a0b74be007f1a + +Count = 4 +Key = 70236a40ba39e0bc73062e66706c1c92 +IV = 638d5fc4b5a06dac08aa059554b3109d8f492a46faf71dae32f45507f1e8f836cc085d2033befb8e569001e551e310c0b93368ab9b7ce858225d3084f9b13b177a349bb82465314bdd67e56b77d7fb8840e89dc2fe1616e2c92942ed8dc8aefbe67f0b628af41799d16c55aaa2df16ffa3ed0eec23b1c031c93174887832d4c8 +CT = 9e41b78459893292bc8b2b1838 +AAD = 664f0d98357dab2eb1a7dbfc7a4e5b4f5d10189a144a83fb4701d4fe45a76f3eaf47107acb2982a09d10390e6ff74349c800de74b1a0254e294398d3fa771a3a48a8c24f65d4b185cf958b6b8432022a6a37634695f4ab8a613e +Tag = 31545e877184536e3e306ce1a975 +PT = ebc7757a83c8607ea33ade61db + +Count = 5 +Key = 6b2de2b32b3a14d05be804fa26b185ff +IV = 33badb702e79464ff35d69f07c38099a824cd99ffe24e3acc452484abb421aab651d304462c816b7833a6914cb213cef8cba928a4922800ca7a58778e4fa4a959a455a5fc4bfa66ab7839064a252fca32486d91cef0b3eeebf9d2a0bdf7f27975dc35319b109a1088ab46bc33a717bf93db509f14c7e756a9b5b24e4a6925018 +CT = d01c54bc8dcc150ae1321a64b0 +AAD = e60e2fd3fe5cb2e735f7b1ce673d52e06fad3cf36c7c72711e3e263492df8309e5637e5d2cd27cf7712d20f445287037fbfe3178ec06086d5f47f9243354acfdef98cab42d702529cf5fdd6814fa6ea7b6b12d372fdbd41edd68 +Tag = 61b3248838e59274f23e8446280e +PT = 618d8ab06c5b492d0542bcc162 + +Count = 6 +Key = 3d38af4f76c316c3591afe895028a498 +IV = d411551e43b3a8e3c0975fad85259127b9adeaec2720f5e77a064702df5fc3da2d800ebe4a4d77e45cdd4201933a4d866f81c2913f0a987ca1f48642e9dfe180b6b47caf73d6265a3ef021fc06a50690cc11d04a875b7637145eb00047ce3e3db3acc64118e8041631dafaee5d5052da2b25c57d673a07acf1aa77267a384dfe +CT = ae9153394ed82c9f5c7d7d4dd5 +AAD = a2d1cd1051a1b1757d5d219ddb6fcd5b18aa6172b387d0991a5d1f16a4d244cf0ca3297e378a94ee74c8f976faa0e2336b7034185b3f36d01d6fb53509ecccd0606fae2e2d020c8e27f8c639eea3f2fed13108ae57df1e679678 +Tag = d77f94f31005737b1b882a709d2f +PT = ee40d5c3b340ba3d42416c5e9c + +Count = 7 +Key = b970d5a0bab682144828020a1c46d843 +IV = e32c1400eb85ce09abb9737b7cdd41bf7afb2b652a66efed581b3c2a0692983971894bc3fb48b8631bd64373b039d6b969a6f06bc6d69fa964176708db86b31a2ffca3aa7e6285d11eaaa1f952e2c25c0f84304c18773f09155dea165d6e441b26c9931f996be9c0c83a604beaa0fa0d91876bdcfd2dc8e5b97c9ec4128a6332 +CT = c36999e32c108a5a2c37dec16b +AAD = acdd454778b3256b72ee8a56f85ee9ada5e1abcb0ad577a2b5afc78d1b5deeb9f851b30275c038fe1f1cbe3a690cfe279089518ab72e7dc39a43b5409efaa7af7fc7acfebf207156e0fb6018f2fc942600fdd08474aef0305df5 +Tag = baef97374f0cee37a519fc6172bb +PT = ecf577917ada787156e503af3c + +Count = 8 +Key = b725233efe7b2f2c6b04379af597fdbb +IV = 00ece7995d9adb6995aabef2145e3752c315df3ee328f291d90aa456857bd407b75371fddc2be74d52c89e553587946f5a9da4d9f6dde10c8939d03a1d5aad1f43f1ff2637eacfbe929a38427653fbcea43582ec843fd0c8975b9663e468bfd6e807b84ca6f9bc2d38e0baa7bb2aa3a801bee744876dc7ea7b35ee64e19703bd +CT = f35687ddad7a25d35b85006923 +AAD = eb6f2c1d9880fc1743faca4a7067bbf6a574e410e5e0b227bbabffef5cac831a5aa93e56dd6840a1c10de975e4e1fe163474c986e904e55206f74da2facb50686b1eaf8c0febf889eb4fd1c4f5ab7fd9319598b6c545df0d1713 +Tag = d3a6faba902a54f90e79ceabf100 +PT = 87c1504eb6497706d754bf0c08 + +Count = 9 +Key = ef2b4ad82b7835baed47ecff1d5ef507 +IV = 0e8c3bc786f95ab971c4e84069b119c14853bba4b8e8ade580b20c4779e206ef98737bb60d13f232ca8e4d3a662363bbdd275423f0acf3845fb1d65077f90de367710a7f0dbf6dad1d192bbcc0d457f939479c01b0c0076da0288f3a93ba7044f0a72cdc7d040a7e0be7aa72f4b1f8a2a6b5354df026d018512744d30f875fc3 +CT = 8bc4a50f6142087318cb2aa370 +AAD = 1dd78847221d39772131fa52528a4933572f7a8721e470deffb9bd0494fe95895218ee60d18d56f8b6c71e26ce576995d70c851451031b130b0adf75d8a4322503437cb54f75043b1a4947a69cfed113d6022c23fa8c99b661aa +Tag = 475a0bd088aae48f48e82e431808 +FAIL + +Count = 10 +Key = 7d2f1ff972a5c1cb3cf85d8a71b1209f +IV = d19815f34942a5ab28e38ad79aa1b92b0fbf60f5997b5f1bca432c7c809266158cfbe755009678a4c398a5b3e4789ee5e9fb1504d2834a94016c82a533df4b7f904c6ead25e4acf3b3244910ca31397269690c8ee1e6bdff5cf9465d9f948e95db9dbedf1c782bfb4941f028e05b69755786f56da35e970cae7d0b9ab7b041d6 +CT = b0ec3f8d2a67859b4970ce3f99 +AAD = 6659b2f1935125c43ab2859c923c67bae8847100684ef91385cad4d55949e4621dcf2fcc69360cc7619c06a25aa8b920e39df2f60ef9383a4c77e193f682e8dde32ecb52f08cd90f18679ca214de9f9a525fbda8c2df8c596e5f +Tag = d543cb44ef0d6fbadb946ac869e5 +FAIL + +Count = 11 +Key = 4ec44ffda90fa2a93c5f20724e03ec37 +IV = 655cbbd6b3dd1d22e3b82193cb0de4674afb835add42e584cf2cf02a9eb5d5654a4336eb4cd41d0bc948864d522b7abef76156129f0852e11fd8148f1833cd181068a72062063f72517b611108b944557e857c57d20a0cb1b4459ef372dd99bc31fc1c4de92e95abdc24fad5e6bd400ac181d24db14bbd81147914932aa6cbbc +CT = 92e2355c8a3a957c59ff20f3a9 +AAD = e5b6b9aa727d4e9187858287e58e2f3dd1983a07c3a24ec8990bf72c939fce8552f3c75cd5630bfa0afc9accc2795492429558de5e97262b845f44c94037ed6c61cd7ab2f4a80835e23600b78ae0c63fef9c6255b7827b2730f6 +Tag = 8d83ba84f75f1d707c839d890a3e +FAIL + +Count = 12 +Key = f17aa597b3775b2dd97fac5df3fba6db +IV = 635b8d83ff2c4558dce457b03d575ad9f18ff7247bd07daac51b2789eb20fe24b4720d9099a51a208751a3a6d7fba3f5ed9436f649d41295587c51c9c8d75eab01cf3b3d6e0b65fe1af7f868fc8d6a394bf9d16a2c0db0ca913dbf4273524df77ea7fe27eac46c260e175d538525253bd4817df59e9cba32c9e9807ef5fdacb7 +CT = fdd40ef7dea87c63e485b64add +AAD = 67d43b0c4904917d99e74dd7aba56d7362d2e9cd63d8e282fc48645f59bafe9a84071dd2d96ffc5f1aaf3fad6e69aaabcfe24ea498c8de5ca47d3d50ef87e8dd54d6af19b27d6bf7c202017a74155d48a8b26dd9f265ca74c7c2 +Tag = 47d16e3cb48dcdbb9e8edf90a2eb +FAIL + +Count = 13 +Key = d611d73bd00c9691c69cc52b76bbc168 +IV = fd852b85dd2b1a4b7e7cc86decf53f4e15806424ccdca6b1dc047f5b6868f77b456408fa95d8d5b4a6ab982f2b4d31c56a3c70f5f1e1b018c4583ae97a8a4dfd037b88fe9066cfced8893c947af0d5a8968f2408a57f6edb44671fed79481726290bd459a09821f8e74c70674a4254fb326f0cfd8095ed73efe7ef6d86c4c0b4 +CT = e09aca86c8b4927ea07c8c4cf6 +AAD = c072cf09156a155a19e4e35164a307fa810fe6a97fbb827690a7adf41ea12702db09ff79569156ea08f953c44d8c8892cdb8a53ba0a6f59731cdcd43ce94ce708497393c88ccff66843d27eae136758a9937aea28d22aa635422 +Tag = 3ee0ef3aa54a935d019955de4037 +FAIL + +Count = 14 +Key = 299da2ee80fab451f4c62a8679495d1a +IV = bcd9dbe4a6d1c4b4261de970499de157fb0de9bb1402831feac01de60a839ad482742bc933c7c8064c75f74691403b4fb9437964f7eb1efc0285e880898dac36beffdc4704244e1bfeb3ce7b1eefe679d8457b8316d3709ba7f29b07e272df740dbf4384ccf22f55ad1a509904749264773873dd23c44a7a46d6280532ca373f +CT = ef1e1eb379d794d18c0b1c0932 +AAD = 71cd35b12cce7a147a3cac2a95b1629e8a365a50c761cd2b05794d0a2a3e4e2e2598e77f33eca8c97d991a821b43fe5cf85f1833f57ed0592c71ec3085b363cb7e7d3d075debb9265e4b50a13a72dc11b12e3562f22525e1a639 +Tag = 093336e5315fe40df041d953b34f +PT = a3825ec47003614f7212f23a40 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 13d7028d99dc169d2e07b1d0fd0a0f38 +IV = f6dad3f1223aba7f21f21834c006aece0353b2c23a2200df3601647ab8beb560fec664ee8df715325d2a453e6461ab2fdeccd267af683e2a3ce1b26b46649ccc2846236b29b66c7de15700aac3ec4d6477425c215c44896e92e7b8c9cb244a27bb2159736aeabd59e8b1c97b30a6761e58f2d73c2bb06c571dc068f1ebccb768 +CT = 456eb5ff1a7677629d8dfcfc0e +AAD = 19b68a07611d1d3d2495eeccfa63915109b6b2f67e0aa68b32f09ced42c5803848d5270806ad1991c15f8f40adc98abc99793a348898508b1e125098ceb967dbf9acc6ef28ca6322edcd34a8883c42277e08f2947e8fa2590f5f +Tag = 0236c356aec23c3ec0a96a7ffd +FAIL + +Count = 1 +Key = 23ec8643340f8e94adf3e3010b0d807e +IV = 51d49ed5c0e8dc634dc11c71f72ffcd56cb295b21be82e3fbbb6e8b503e431fcb73ce3ddf28c621ac9a4314d19cfb681c286d4fd7cff3a120716974d83157e1e757161e7e1b2dbdb4c8a23da4a7c7fd8dafd4b06d487291f6acb0ec1cecc4414f0fe3b44cd10003491843384e3a207f3574a62542b86a5474681c07ad444c386 +CT = 7b62e98c35678300db619cc699 +AAD = 833fc5b6bb9499b75b666b23dbb6fa89eb49eb64ea03abf2c8aba1b88d7009620aee0929395705bb204e089b097eb1371a980f7a5abe4ad5f95d4b7d84eb82670610d9d5b7617a06d70b78c32c363736de85f216d96fcf7198e3 +Tag = 54ebccb5065870924a230ea89b +PT = 8d00306861bce12519bcc74bf4 + +Count = 2 +Key = 781877bdad23865ddca45ce166621abf +IV = 7a1fac03c986b7150dd73da2dcd84284b95ad0ae8cdee6dfd87d620557d9bcc4b5a92642f09c55d183c835ed2627ded5b63c826b3f0f56a43592611324c9836d66bddceed9e99006c03400fb7cb9d0c652b5ec822d55f17e928096bf78cda63d6e137afbb62ac0af6872e06542709bfc8843f2bb4bb50900abee2879f1142eec +CT = 7732c97f3ddd9a0dd75c9b4aa5 +AAD = b78fef8b360070b518e73557df9940f25acdd77b20abd150bed19137a2912e20e7f1e096a16921827264a35b5fa436c98f49894b8021a0799912b40f9591a2dc9f7ccca55922185ad4842cdc78c5dddbb869403d635aea665a2f +Tag = f04d7124c108ea4928b7a4c779 +FAIL + +Count = 3 +Key = a4fc4f6732eb163b5d5e52cc4ea975c5 +IV = f588cdaa68f357f35d4847fecfd6d8fef309ec2898ee65b83a3acfb642d10350dc8d14296e17d772b4f06a0bedad33d921a4b05597d6d6a771f28248d290fa6f1059fe3cc77b61a45f410df7bef610be46fcd0bbd2254a25fc8a7ce5ddfc6b8b9e50b899082523a7a3bf1cf9bc989f6ccdcaf92e094109ea54ba8303b6d3b608 +CT = 6d81a850da7cf0cd8079bf6d5e +AAD = f32483200fdb7d351f932529b5842f68dff80e44628d537d2418c74eb5ff7b8e9acf672c40804aa52b988a81db5057a586f75d4fdb24ce9ad6e06d13f00ba18262f779f53ca6756f5508fdbb2bff3dd945b963febf134cd0de60 +Tag = fe1512314ffd688bd30782115e +PT = 99644aecaa7134ce58b741a0e8 + +Count = 4 +Key = 293c9bf35107b7a9088dac61334b6394 +IV = 289ac60c43274bf71345740c5770bff954fe749bc25d494f783aec409956de61cf5a65ed12278125a9566181a89e467a7c6637d6614a23b53e4f29f0aa905f8e104f347cb4000fab3662dd914f8d2fc47628a8b0b197571e93b3457393242674343a1517c4225967aa2d1f330be85ac8ea8fabf184653b650b382624f6f32c9d +CT = c2cb256551121de259ec4b520a +AAD = f124672a3edb329d53daf8d31189894a2bd1f64dc79fb44f56c6491abb7c792fc2a0236253c9b46007a8d60d27aa90222141c85aecd2ddbb7683ad4882a943a98659dee21029f57b1d8f88b9bbe67d15c93cb4f71623e21b2884 +Tag = 5b4cf5d43ae128ce561193ae6f +FAIL + +Count = 5 +Key = 8c64d81f48a6fabf49930ccf1e00176c +IV = 6b28cd7f4aa07f0826a31a51fb2809b00a028b5b2a3a52d55c64b56d6991930204d57c3876cd9605f0e39a94dd148ec064cfe3f0f0494c4abf14586fdd8747793a055730541f5b16e4990acd53f86ccdc12bb7575b442e88e7d2debf7ab62a9e771a23eb4465f2626d3eb3a01fad49b3c84102fc6427de73d9e591d6839b8a19 +CT = 1a97b436288de29f67216c9773 +AAD = 10a00f327002df99d911d9c9ad25efb407bbc1280483b5431bce794985d9058466df2c25daa90e5b05c0a4aced97bf121bc6859116293a9d1bf506a830fc0b4de6d7c9b4c52d296201bf6e8d45ccdb750f788b97c30642f08cc2 +Tag = 343e02f2086a7fbc0b8f97db33 +FAIL + +Count = 6 +Key = 495c8a4f3aa8dbb4c8ea7f17289ba69e +IV = 8f24001975d230ab4e4df71c5bec2c7cc2a9dbc85efe2ed391c342be0b11509c667e907cc1f3ea1afe5b42bff8df8b80e58e14a10b5cb8526cc9f238a5c2ad168b2eb2d53ba67c14d7450141a6f7aaf012c61c0a73e4c11f3a8b19ded8b0e76e2d9799e5dc4e37851c12fb74ba7088d6af8fd21976b6b69b7a58b711f88cf4df +CT = d2de0feaf052426b89e1f01cad +AAD = 07ccfff40bd73714f8cb553a1e6546782efcabe892e83f67482f163622208aaeedc15560e69e2ea54f3f0f51dddabd643cf24e9663bac0e64a137b4ee9ba8d1f94f9660365e8988b153ce1bcf2b8081b87d3f4012bf39730a803 +Tag = c18bf317cbe68c32930b864cd5 +PT = a6d9d44f6042b3b4f17cfd3c95 + +Count = 7 +Key = 31046cff6da44eecdb64a858e882264b +IV = afc1f48d5a6886e6fbb3083caf97343c5a99eb30fc164a35f42108b78e2f6555e8855b1ec229e02e617ea3c3cfee52d39b4870f09c43cce05fc0b1408085592fcfa8a1a237effc34b74aaca5fb51416930ad9aa6d58326abe560154d0443c2d59de3110cd257a7e06a756f99c647ed4dbdf2d1666af4b3d154555a6858efb3d1 +CT = 228e1fb42d1aca9c93311d35ad +AAD = 634b863077f72fefdc5a3b66117b0ab95988d614b621cebab4861f2e10419f353acb929f3b1d3142d6057d93010e62dcf06fcb1ad4df5a790a78d5df8ce00ac66c8fabdd1b48e1636d317be682d1fbfa33651ca080931146829c +Tag = 3792b9a3bf1bfbcae45776b0a7 +PT = c5820cf63170d60613e76fd280 + +Count = 8 +Key = 681f35d7f393a49bcfb1845c31ac3d17 +IV = 0439b6ae54b25115195ee96f55729ae02e69476590845c67b3ae37214f6c8e3a9c2632b45877d81cb180543d54518a8d22537d3829ffce197994e09646d5017448fbbca142b74a8c2acf5e628e3c361e45dc30e6da891055986b1c17bce2b50b33db1a86d4157cba89d2358f6abeb5076511c1f066d7a83e8bc9da275edbec9a +CT = ad3debfbd9bd4f6e3ce496c557 +AAD = d6e0a991f1bb436f5d7f02bb9d7c2a1fe01cac5a93ddbcec34339bfa55e321e0a4310da6f5a697cd3d6ba97c92b990addf8ac05113489e2fb357cccd6b5cf76e2b51542ae5262cf512f6a74aa29b8ba0fc3dc86eb4e433d62f55 +Tag = 3c2023613cb42e959904262646 +FAIL + +Count = 9 +Key = 1a97331515f687e38c6573edc8a062e6 +IV = 5fa36affe6327309ac80c817e6dbbd63b186adc7314117afe2d8d4b2814ae48fdd804255141f2d51175e5bdb2be42356dbd4dde00fbb8283d7562a50b9428a5e1bf7d9f4188ca4316fd96074f7be05890034d55bf7b760daf0dcdd16f0659e00e99f9c43f39e7de1e50f89becab929aa5483fe43416dc7d549eb9bc4105722fd +CT = 703c9016d89e79f696c1b16051 +AAD = 67ff2d80d12ea4b03d486fd7e8c2f09d92fb3bbfd2b9a97f9ee31526bb21341341e66ae363c3ec09c7502a759e8454f80b15e6ce138c9b4e7c8a28ad15049b9af9436c5542de6815c08b9617d34d2804c1428aad8075be31e68a +Tag = 5db515e8e2f5508d5177494101 +FAIL + +Count = 10 +Key = 79ae7c4fcf267d9ab4d6144bedf02365 +IV = d7968b4f2f797a1fc09e775411973a9d127078747d310a37601dd99a20e27bce2d6189fbb7dd982fa5484308d03167686daf02ec244c832c4bb3ed766b2c080a4c72c62f896cfe640d6a5aa100b8252e2c33f9ba60330376ebba98af3ee357b70ea2bd6f74dd678b7b2f231bffc272eeaac0a2443e970c2c1848649f84fa6654 +CT = a9041ad39a5c55fd9865570f7f +AAD = 6b8029544b5347e5f8fd24b1cea5151d3d6255f2c73a7473152afbd3164d7a40d72d3b500e27120ea3f5698be28885b0cb0bc614f11e9728677fc13cbe4953a52e725748d5d4764721030f0fb030f5766afa080f5c195db56e94 +Tag = bcdfcce75aff5ed613ec71368f +FAIL + +Count = 11 +Key = 647636499761a6559f06daf3b3e20da6 +IV = 06762973c3501abb7bb52d0b8f8df43eb597660cdaf872ed1734c4d62b759da84884db02a6927a321bb8152d8011e28f896a9df3e51aa22cda36438921a5e13c17dcd78da34f70462a184c427f6c431d977d4b9058da63069c23ad17e77f7a7c71fa024f8246f30d739a84a128f38aedf2a7069f5f10bcb72b9cb652feb8608b +CT = 0b0f4c826aa79fb296221e3468 +AAD = 674f085884cec38ea0a5cb458e04df352f3b475c19d07f158cb0f0761493c071d71a385a46fba3728fddc2c19bd1013af51c29cbebc30f74536b4a99de28fdb6536ee6d2abfa1139752b318b2314868849daea56b40c648a05dc +Tag = 9f3a10c8d1c60c0a1e38800003 +FAIL + +Count = 12 +Key = 70e1f5affff5a52fdc406cb026f02cd3 +IV = 24956e4a7e72a7c7a7c80e6f5705322f0935d62aa9e94f024fb5a30dc7b544b98c64d3276c812c5aab4cec978e1955fb5e560918e4b432fa88b1893006a2c3209532f3bec57f80a72faf999c854cc7abbe4aa8dc4b088b23591b078955b76089c5c449630bdb0c3eee97aa064b5b560ffe5c6e2d2202e330d20f59da17df469e +CT = 596876e1d1ac62ae40c11741ed +AAD = b8a748fc4c2a3387957106ac8c713622d7e2eba6a16639e4e3cfa81fb5ea97f365dab859dd5e84a713eab79705822814bfd1d199f1c683a9e789a9583ec338273e285133df0abcd72876493ab09277e1207dc832d34912ea66b4 +Tag = a205c13407b187290e4e7c0bbf +FAIL + +Count = 13 +Key = a0d6b0c20df544b72a92d7b0632e976c +IV = 31b51355482d9d8a8c16695065b471e8eb0047988f1be7219d8d851f2023c10381bab144c59da546bd5a1cd04d343485a39d6c21492a9f8ef602de12f4a2b56707aa867f9305e0116befba3caace4fdf0eed616327cef59c01ba9f27c01001dc2cfba1bd25c3ab52f465fc5884550fa09b7a6f27cd6d2f1ecbf4c4aa3e63d281 +CT = b6898a927f41da5a88d6ad812f +AAD = c4a52926f541f43b024af7300b49a8b8e1bb2ee159f25b6adf6a4c32ef02dc9ea2bfa33e2d27b9169c8abe64415e854f8e34ed8dc5f72c1dd44697fbaa9b9d1e38b08e9e40c65869efa069fe9ffb504f53c05ca23c4473b3c553 +Tag = 541b499edf3af95c394fbfb975 +FAIL + +Count = 14 +Key = 2aceba1f301e9acd4b1e88313835f275 +IV = c1fdf7cf809338849a56c4fa29ee3a13b606b1cb1f79b9f2872714fe8fd3da33620b012dd78aab51e6604f16a0b8b59e80c1bb3705dff90d68350838f7e56c4ec147a8358d26907f77af5a401c84a1f89dd3e720f42c1aa39e9742985096db95c3f32a12b331b997273ec392e8d4b13c012d902274007ed41fb616d75932ce44 +CT = d703153e3ddc0d596a7a1d9782 +AAD = e341c252a4e959e72302d016367d86d7d16c207a3b38896511bde9a6f76738d03538fa95b509b79452ce8ac2f28024a1d020a5414804381aaeb9b32e3a7e93b30b504467cd62157b67894c1260160513eb0968b4cfb1b5f72eed +Tag = 95d0f40bc417cc29e877de1647 +PT = b0859ebea4eeacdfe5588ab177 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 561e3bf46c3165a919f1505d229b3cd0 +IV = a767f94c56efae306bd1bd14f05f21963b7a643bd0cba88380d11f725e4e0ca45f1cf5e7ba710ac3bc1b8ba2d982d9007056f9ff59e0445148ce6c7e199a7996433f7c9758bde89ef2617f6979c83ef9afa6fa4f6198814f987ea010c9ff3aa792a27acace43e4bfbd3bd056a2aa9e66d95bc1e603bd9347c394384c8d878328 +CT = f89bf03b8c506e4fbf074c7a36 +AAD = 68277db43f4be6a2266ec8e4531c3a58bea4a183a869e4102826f97177756146db10cf36ca7987b1f93e4bed4bf5c794018ffc3b4e417da296c2b86a4da67fdf03998ec96fdfa289164fc56de0a00de3cd6488234f768ccab1b2 +Tag = 939226a74826e064e272071d +PT = 19d495ff77475b9fa7afbe93fa + +Count = 1 +Key = a61139dd7554906d7c57e5ed7dfeb158 +IV = 851e54bc56cd28f64319d8bd643613257e31517481962f5bf021c58672e4255db27b308f5cf273fb2e70c14cf73479d7809089600c9ff3be7a2d81fb1b94908db6413ae58eecc4b399561ddc280117c0a8ec13c2d2fc0f99fe2553dd1cb67616515e60224af353864ef33bda2a63bc2cdce9389bd05bbc996f879866cdad19ac +CT = b080e9fb5a6858d2e02ad4dc03 +AAD = 9c547e2d0bf65edd3136be3a7435a608c3e0ef64a809e8b2bd22088383f2b830530145b3d984822d18448b471b3a26c2963c008b6de4c6543a841d9ad94d53c6e657d2289823182ffcada496a5f02e831e4d4ea40dff2598ad0a +Tag = 7156a22a93cd10369008bfc2 +PT = ef59b510a9d348c5cc1ab74114 + +Count = 2 +Key = fa600a0f5ce1200c6324afbb5c2d9b32 +IV = 627325cc138a83c940528e56afbe8f2d47ddafc304cce0b5650ef24ffc1f37718de00fe9d3bd7ff015bf546ab67cffbca4db06668c51d2f15f1a759b9e126e2ea0baf36a75424a51e282b2e370c92f3265b9012668f1f32c0815e4bf0eeb286afc3c6450a2f881d6ae349df35a85794fc67c2ae45666d71738c3f7d65ed35e9b +CT = 55a6121152177feaedc18ccc7b +AAD = ac83250fb1d433d101f4c8ff7866ade3ef104ad8f3f300aca0372c3e38a85dd6d88dd78102f40e1bbe9e67158d56687deb1ad4019ce373323fd989e0c79ff1b1866b2602138d43b4ec3e7695c4a0923cc3a8a6bb7b0a81b4b72d +Tag = ccd5a21e0d52a6d7e4c4c28f +PT = 8bbced5d6c966e970537e9279a + +Count = 3 +Key = e6a70e9e3c7919ae22e74c9bd7c99190 +IV = d880942dcf6f1b5f3c18ca43baad2edee51268ae9bf94ce02dbeca65b2b6730cd9e54cf2d7616103133642aac0ebeda86a2ef0ba78f5bde6140d902a0e802d2facfd1eec413740425c4619f8962aa659c1b1cd672fc3a3625e314ee4cc80fa398ddaa3977ad98f412c8a03af6979b190f5c712c5d2a32c67255545547417d34c +CT = 88f6770241e2961c969461062f +AAD = 863e44f06cdafbcdc01ca495d97767ba0f8fa46cef8af1de2ff9afc415d7f3e61cb3c84e112cee2ea00359bbe27ccaf89982cd45bdc09923c05ae5d36916042745d4c89b2007c4062e2d73b3c1f620e444fb7be41549fb609e2f +Tag = 4a7b5bade4d9a511e8bf9222 +PT = ca3d1a6279d32c83b226976478 + +Count = 4 +Key = 70128d73bcf35de72c15f0b751249514 +IV = 97accff1725b4e0943db4ecd8c7924f527bdda0865ef0b201e8944fc6daa3c1db64d5e982e2ce9cff37a91093fc51c418b1e8870431f6b81593e589056b161de85b43527829414274da528938d7053ea460c230bc61244b06b6d4b358a6ae15510892e0b7ab3d76be94fbd194be257a06ac8ac55ec64a7f20f7ea81e506eb6fe +CT = 8a638cf8b91021ba348b4c390a +AAD = 6aad1ce97db1bdf09a014c12e6e310c4505535726f219f3f246f7532cbc68a0569d2950e8447e475cfbc582c6345edd7380b4de6285e6cfa73cd327dc2518ab09458c010d85e270fe068fff3f0961aae6a04249ebda205928e7c +Tag = c48e737208c457017fd05571 +PT = 9d8d0f725bcd7caaf8959e6be6 + +Count = 5 +Key = eece58b8c1de2efed4c6a560af307a2d +IV = 32eb6a3d6aed56845545c3981d96a529f2dfc587da58966786592091cd78a5651ce0fe047695d3433d670177a1fb72ec3862ef5b6eca46636a11892ef2531f17d4c1eb2f0c83caa88cc3676157b1f47470caadb3ec68a6bc522c9d835b60480d0d01186c5b4502c4648a6b67c65d65430689d293fdef1dbccbc9d6e73c2fecee +CT = 8b724b8268858da09c27236a7d +AAD = ca4b0779f7bd5c667a5c95700e5700d61df27abc0745cfbae1beac6ab47afee749e83cff7bb22342f4830d665024c85c8dfc557f15eebdbf44c8f6fcf8d559a954465514e40fc0334fb23ee6b39ca4982681d31d6f2d676f9532 +Tag = a43eaeb56ac47f19fa38e114 +FAIL + +Count = 6 +Key = 08e8ea3d9aaf0301593bcfd304f3c04b +IV = d7592888760fa69eb60d93738ad865468724067c6d327ba97040e8d6da06bc94a2af0ae22ab7e27d352ba5dfb1358bac9998cdc52f3cb6eb87a4df4b061e39266bcaa45bdd6bf3cfb9e90654854735fd971d11d241b10f7beb7527d00daa53503b2c2fa922d04ec95299780308a42218a97c96327905f3c05bee5fe9f3564cf3 +CT = fe9c02534b9e45c844f4ba520b +AAD = a75836b165d4d8cfcd60e86c6814c810eecad4776a950af369ba673231aaf78b6faaef9cd03603e24622cc420a4f1a298b9629a9d0257fded267fbca0e7cd856d4f42337d042a1d02ccd4623c4910bebe81e6b9d3387cdd48a7f +Tag = 942fa4cbba01b037ce7cd4c3 +PT = 66d670781524d3650b500d781f + +Count = 7 +Key = f21572c7311e1ac3c95a2c2c2b2b5f74 +IV = e8ca6b806643c0befc513dc02eab64d12cef331212d5d7263205d58a5938d8a1db3a989cf69f304b86e38e5402257d0c6d5b06d785a642ad07dff7548f1373feff8798c9e9c563f9fa486c20f5e1efeee8d5bc2dfeefaff50c8d7cca10a02f925b81235b7cd2a3085737131101a09ed223586b973890e530795fb5dfdf1d1247 +CT = f85428c9f7ebe5ce536dd858bd +AAD = 76d5ce910f46e1e724255c6a6a026a44f763f898f478c821f7b4b609a95e71d90b4b878f219a334dddc4290f8ea6b3ae4f03adc4cb4c7905eb2b354c9c1a4219409bc93cf2675d73fe23eba0831805711b7252d8fb8bd6b2f267 +Tag = 2cc6b305f0c568b61eac32c1 +FAIL + +Count = 8 +Key = 2a57c55e22ab74986cd3d9111e6a3457 +IV = c2723d630ee5f480dbcd1a0e1eccbcf7a031f8c84a7682700ef2c236fd3518cfd92092d7bfe401f6f5e0cd232ed4fc99399e132d25a08757873efc7871b3b3e686ab16d05ea2cc9f28bb4907ba040721124200261f7e2342349924e27c4a046d55fde197478ebf59f199f8039a38881c603ef74ae2179585b166c0ae5a2f2428 +CT = 28f7e684b27d995e737c3e84c9 +AAD = 8dd2a720bc656c7a73b7aa68f105f5eeb2d22785cb1d27f57c2bb0717fb370625cf48d3a01c406365cd017a7cf372dc5c57cf6af10dc6a410ab2e386030911f9079e32d72e131c674911c6e5f5cc265263c2339929cf424b1722 +Tag = 8bb878330ff9e54437ca8d55 +PT = 11062eaaaa305bcaf55afe522e + +Count = 9 +Key = d4ae5972c84fbe2bb16c0e9bddf2766f +IV = a25f30be53109dfacb24b0232df9a42fc5ce08b196102061feee2c6f158a573c06551151c6c00207d277bdcc1854af05c51b363a9f9e2fefc3f12dd587b9474c5f8373270fe290cfeaceaffdc2173cf8a2d13c730d7f7d21c879c278f3caeb3c3114eae3b9f5ac34521af7fdb2a521f460459cd4a86ec3db9444ab5e70d9ed16 +CT = 002ad74ba44cc61bb19a44b9b4 +AAD = 949112d87828c9bf86c1d11887b6dfe9b32a4643111302b1f10f5409bae1a41b77ba60d54961c1cbc5d52d70de089181fc265766b48a057bd11326910504c8982fa59f4e006b48ff9000ddcdd6c5d7663968440571a67d22577b +Tag = bfc779915b2b8d10daa56013 +FAIL + +Count = 10 +Key = 035d1e1600e273d99ab4ac7a630cbaf3 +IV = 17586ffc088405a31e51429be9fdc4035ba4f54189e928886ec37d86fd6ef86150e0c8cb026ad43b858d273e3d1d2e56b07ce5359452ba44e5c87def4d49947131e84c1ff28d8c2cd4564e28339eb30a53f9afcd05014442bb4f233d22e1dd615bb66400360c8974635bbd74daaafc5ff3820845b37b3530db46d7b7359cc305 +CT = 342b1e503ec6929f4a5f5791ea +AAD = 600c0b99a5c0155756472565a1b5a5156fbd6a82471a5c30ff8c6c023aa19d63bd02e887adb15a01266ef2da901c209c340b038eda17639ee7ead4b02973dd90928b638e0a44c5d02ddbc9ca141cee30ea4424fafbccff620ac5 +Tag = befed61ecbf64c63b89f2a22 +PT = 8377bb16a8303d2f29a04e5ba1 + +Count = 11 +Key = c472bd2416eae193a9342c746e29c8f8 +IV = 9a254929cb3070c60e592ea081f3210cd477208187b4fac53b4653b276244e54cbbb72c15a1e26a169333c840aa79236369a57a7f9d30892028169f42a01e4a28b9b28911294ad3786da5a6042be7703e6dc14c647129e88d35d7d464d680e501862e4ba5b4f04c7a2bd11c2a6e9a0f52bdbf4e89a72cbf25a01c1679575b05d +CT = a86a0e66c178b1110ef0847f50 +AAD = 88b4b2c3d87fd9739ca56cad61e33857aa9dab7cb0a6b9d9efaf5792081649018bcfcb7da5b69591b4c70eb1a550f26d3b12772e6ba275e3de073822af001fe82c2057cae2581c3321c20374fb2d313baed0def1b064fb0af81d +Tag = c57106831ed638f6bd126df7 +PT = 52c8e1e5b9186ab64b397644e0 + +Count = 12 +Key = 498ddbad37d5e1341d0f30e9c038bace +IV = 15bcc963f63854730c97892dbf41c09eb1238147a1baa8d0cc17d0897828ba6f148100ea9659b835df4f9ade49e8bebfe5691b45c098bf6a92f8dad51438f1914d0d2b4feada9dbce93bd94bbb8630fe31696f8f987ba3d94c189cfb389c88a6811761c54bc9ceb822a0779ae6421923a88755fe85db90ad82630a04a6ef60cb +CT = 64a6636069a015ae1fbac833e4 +AAD = 4d33f03af97f4376d7ea51d03e0b9440a87812535d15b04bd0f97868ac3e3f311de2c5f0e4780187f631d959edb975b61065ab2957d29db723c98b836209bca61ee029b3a1cf33fb040a8763cdeb1742162ba5673ef1105454c5 +Tag = 80a0f40f39d62bbfc169cb67 +PT = 735eed6439b917dd8cc09c3376 + +Count = 13 +Key = bcab073cb37817f57acce2b5048b78fa +IV = ddfa3cca685da896870183db5673f65b073c7b1134c092c774ae69e972d4c342fbb15e0bdf5c0c9c83b218442edb14e0b47b3462118904d3ce53a8e6cb1092e7f26109bdeeb43c79ef3bf75286fc7e7e8f122c8aa2caa4475645e0d7dfcde0df21faf09976afde47367be1c67f77a785a11e4cdbe0637c933f6fda8bad8cec7b +CT = 2f3a95c99bb1f8a77d2512169f +AAD = e00ed2c55a35fcd7d582833322a91383f484472bd573bd9402ee7c2cec6019ac7ae62e5d58c32b1d61dc0c0010b43e816ab4efb5b7455aca3c08e6805208a3346a77cedd707c6c78eff55d7e45a4843bee8c930597611e3bded9 +Tag = 95878ab46330cc52bb749a51 +FAIL + +Count = 14 +Key = 14496b1a1044851641828f9109ce5d03 +IV = 9d3a5d255c23c6bb7a82de2bd1a5a5897c266ee48072d1e3e124704ec01d553757dbabc9b74b14331a954e3fe1a8486c1f36ada14f62d40d0ccb95d0c337096a9d975010391b81e6034d9a8ca0cc08faa0d99a37fe3249d3a7793b053695a600f754b77caee3a18746eb12bb4087ee558c0f10e1553e15fe7e08b2ce8dde1b9a +CT = 52eaa2d2408c4054abfe2bef77 +AAD = 943966ee175e5a8e40cf23e1c2710daa11c9691ea765d43e71236cb894391ed4698a7d1edbb0590dffb1bff59c44a812618aab5d87f8a635c8a6cd45cbb2d9f21685aef2ad4f79d0f6de44bc047849b91f9c39272cae7571ad9f +Tag = 47aaeff14cd4cd37a38922ae +PT = 15311719f2f5fc25769ab57ef8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 7e750abb7f4f5c60fff44fec53bfd7ca +IV = d38e8dc7b881999a50bcdb14e528835a48ba6afbfb563ae53708a19be43149fa73365922ed97cd0292ed02849ed19aa64fb9e56078ea671cfe4612c7281e9a9c81cd9a6f12271cbd4a1ec74a57b85fc3d95221a60bc440cd4f9986933750dac337155d1bcaeae5d69def29fd7805e18d8494c70be7b752b9b5d27866c5084072 +CT = 8edb64b534a553e8c4efb7974a +AAD = 6cae0832d24b09a77e5f0cab6983cb14ac93c1466308b363fdfc4ee102f38a69b7932eb1c072c6ca00457abf9070b5d2205ec0868d4137f69b748ced153ab27b457b742b2b3c59241a3ee8f3231914931554505b1e5966448089 +Tag = 0bb28f533f9ff5b3 +FAIL + +Count = 1 +Key = 4bd90f28e4b2b8300413766c45ce00be +IV = 4ff6426e00eb5f293ba94a3ba1fa29f49cedbe853991f025568c1c1058a4a5ccd053877ffae017de9399192d0ebb503f6ae9c46605948ab4e904d9938ad8a7315446e6f245963a2ec08e4745a7e5e2e11d45114bca55f359856e0d5cc60fff028eab4f3d55bae89570f779dee87797babb60be7a11c385cccc7147b1e18fcb01 +CT = 2197130a2ed2c98ac185c4a9a2 +AAD = 3d3bf1598d5c0c00062b7292152cfe2ff8b9699d8217f39f17745e88e884d212a55a00a43c3d2b185ba51204e9b657a207a519409ef17766870a32e77090f13b5a93ebfbcdb43426afcdd73d5a0797a027e668bca375b2ea383c +Tag = ce46cbd16a868d6a +PT = b6ed2c00dbcebfbe2ba5a12ef6 + +Count = 2 +Key = 913efc6f63ae8536226d2877eadd2d5c +IV = 99068c17f3d96f08cf1222474478bfb53875f783c2d2f542820eee7b62e42367290a9d7b65200f8b79d232b8986e33a52bc5ad318aed77dad78b3eb027392ac98ab5106d10f69eacd9e10bd96472f2144f129204f381c595be9113edea22964c42fc3f30ee77487a46afa20ab5ba566b6ff26b9e4b7fda9bef98b0fee00fcdb2 +CT = f2e1b5b6d444da0b7bea94abaa +AAD = e1c8fd37b95508b88cf834dddde0cb4a08f7ba401983d2323be7a50619e817f6283e92d4906cb47a4e8458166f1a121bfcaa18d3ec39aa1fe1bf95e4c99f4d5af0fb81f2e2bc60b398ce44197aaf1d2fb872fce0f72ef387e2b8 +Tag = 8b9f3769e51b715c +PT = c6d1ca6632c28441cdc31b08e4 + +Count = 3 +Key = b43ca43977465937cfbe08822f1fe6a2 +IV = 6d249058cef47da47d8580d849d02f7c9b73e51fe3486c5d703d7bc86f2ed7c1e6c48aa5aba5b8ba0a90308ceddc4e1903deb58419798c318164be05a41a61809003b7f031234fb9a0e6b73c27b25b307e732497bc0c789d61430f56892ed0e03474e1bc22ca329e792fb2d21f49be3142ed4bc4d12454a6a5f67530354f3e33 +CT = d8811eedf7dac7bb13447b6b26 +AAD = d60f30247bc9788e247b57cf98334d1a9819960026284fe6810309b27ac5cecc7d0e5ae2b1c2845bd7c1222af40a39ed065cda73e27a18684f78959cc2c12585f5e3e26a16d69f98ed17584a811c1fe42e6b4c03c3eb206d86cf +Tag = df46a7dacaf4d798 +FAIL + +Count = 4 +Key = 3749d8339b995ec27edb414d35e07178 +IV = c81180805833041afab6eeda1959aa715216d180ffe88ac487a7112932ba5b800fdd2c6b925f55ef2291427b58a777e7001c48420eec6c4abf6e768f7fb2a51cb8f183018eb3e04eb9c3eadadeeb4fb43e5ac0bc9d6bb8134cb38fed109a0d6b256d096b9b6a86f1a66bea09dcafb9585621c0e22cd5bba02b4409e1298066bc +CT = 2321bc135421df4ed43739bcb3 +AAD = 1f5ed7149ca3c50b43958e3c190f35284143903bc099ece9295fb693646729c675866d980458b02f1821320bc11d098cff841006faf2b9673a569236b5c474ba776398054909b85837a477337f5da9fe622cf246114559d94a59 +Tag = 568d8d75fcb73f8e +FAIL + +Count = 5 +Key = f6b4a8da702a028151167a57117d4857 +IV = c6e57b03925e79e15f63ab50f2fbc3fa202748dcb98ac200d4ac85515584aff2f58abd85357c6aba660f73541db398d99006865edceaa0ceba1c04f4f9ff33ee6483f150554b06b6646c16e358d94c9c69cab9b2ff5336ee1435bf05028db8227031feacd79e067f41b307d287b26c317d3d59b0780919947d0cf6144d45b1b1 +CT = affc3ea17f4bcbc42550c95e7b +AAD = b3219821e79e7c978e083afe1543551eefde48e1aa73d5c7498c717e69a1bff50e8c9287088e114e2ec17c9332de34eb45e237972d613d38dcb6596b5716c656633e7b59e811222d5ff46264d34823bcb21e5c9231e6618590ad +Tag = 54339d6e579d03fd +PT = c12bb9220997892aac073acc29 + +Count = 6 +Key = 016063213f54ec3e390908b0508ee27e +IV = 8f14f5fc379b1d44453e2a74f42249aa300e0e54f76935e79b8398b0ca15409a610d122cc93a39b6a05884f77680c3f92a49a4ae640bc97bddb9fa63be78cac2ab47afec7465bed9e7713d1a3e75e8040e04a18b3f1c8fde50e8787daaa5b9a02302e4dcd794d6b1548a3753a18703afcc3da746f59c9ce2299362407b361bd8 +CT = b41ee3db34878d8b516f2b7260 +AAD = b70ee9d35defe461c2542d27cef6955642f052fcd16bfab471b20209acdc9314c544ed56495280ff890018b7d17c33e2a4738108be6a8e984ed5cb16fe18822d3573273159e36be8622344587bb74d9bc25fcddc241f6a817d7e +Tag = ecfd7cf13aabc431 +PT = 75b3100c864a433a7287c7afab + +Count = 7 +Key = 56a6ca93f2e7620eb2009f7bcdc2a303 +IV = 5f8db77db77713e34d4e2b6a326ab7a6c4f0d98da5360dbf8aef52112e0978f58a96a98438fdae369f1904abfdbd1a0bd03baa84e944e7f487dc4be82c39ee4637df6576068b249d07cd3f1d4d91341dd7b69a5eb787e33ef58b63500341087d0a0812a9ea7750ce2469f8c36379e07b7d1f37620b8e53544cf4eaa1137ef60b +CT = f2bde3058a236926e7700e9003 +AAD = 9009d63ba63d773f4c9f45845d5b453c11851011339bedaa0b03e6ffc4b868983d95699a4513590c7962d37b410172c6a685d2e64437f34f31790cc6d377f2e36b19b8a4277f930deeedab66cc7a201123dc796c38a9b8e42eb3 +Tag = 195bed8180bb37ff +FAIL + +Count = 8 +Key = 1772eba2579166667f0e45733ceb6430 +IV = a2b9b608df28daf8b6dd3d73369f654ac6b0c5a7e2e58dd4795eedd31154fe7137bb73050db934eaf916ad465e99d43b8cf5b656b05f4b975826967ab7d9776f57018a25c9061bbdfbe92e821326fd219e1cb04aba713b0780cc97c0de025c0a2b2cfe76e17cb546cbe6867d0f316edc6e1d69f0701a1090406b00a4271d2d14 +CT = b1aa352c55e1782fe60f3a109d +AAD = deea8535be2c82f568d3fcf4f4740ae9156760754533aedede938bf279918e4275303cd0d46475c33ef7ebc2fa11d08b8911ce4b84aeafe9a9452dcde05ac637b34cac37017a3eb47ea5f95ea85ffe9a5a224bf45294d984f3fc +Tag = 24a447de9050da89 +PT = fe4a19b5654a72c15b64d809aa + +Count = 9 +Key = 196bc619a377cbbba33f2e1d0d54ccf0 +IV = 450aba48755882ef7d7dfd5781238f74646f01ffcc8baa34accc3d4f67ea833512dc9e43a3e33c70d68bd20df3f624aead1570d9dbb2c08f2eb4a065c4937f825645903b84dbe8c484b9318b6d321b77229d077b3ed8774ddf016b7f975d58f3c317564fbaeaa2f9d55f0313a1740e2e1a428c0260f05733618c38478cd5914c +CT = 89a8eb626c177b1097dfa9d799 +AAD = 23540e61360a4eb749cd22bfd2268294c0501c04da43583cfb1d24d40b9485a4d08a81e42d9bd5ea7d3b842d5058c2af7c1cec47ead867288740209d4b35e89b04ed38fbb76e869968edb2daa8449c689673b8482768404a9f79 +Tag = 82908216cdc04730 +FAIL + +Count = 10 +Key = ebf278be4e04cd1f19faaf39d1f5cf60 +IV = fcd37caa6255eb2b6eb611c42b4cc72ffa58097ad21f22b9d708aee98653ec20b1763427ac7c6bf3d5c7d0057a118bf3ffc5cbb74e69419953b91ef2c586e37459ea3aac7f2ee97006b700b0af839ce6564209e46a1c58da2b3a431b42b3b0fc0bcfe79e6f5e5e854154ed0c5da9d5963fa4685796be94545dc17716d789dd6a +CT = 3874748f5e25f83489e1bd6151 +AAD = eee961acb14f38b9f88bc6c189ae344e95c67ef91eec0cc8ac1227ba9553a501d15cd098dd09beab22af1f226bd625647cbf09932ed2be51a9ca8a9c97ca616e0033e98546f2f0dce66e005ffd528d0c86422209022d2c90b652 +Tag = 67034ef095223c58 +FAIL + +Count = 11 +Key = c473853e632f1f7c25d2c57dd3b62bff +IV = 88e92cf306cfd076612fe94b472634d911d38e3d72b3e766fd96647ab719c0cda6695c3864922a39ff635ca50c6cc05b97a6e681c9f31976af282e1c4ccfacc2cdfed1e817162f9ceb25f7da6f883067c6f78c16ee412e4323b4f187f380092f1541010e529f60d1811e65c035bd75daab12cb3737b4ba20f337392fc8e8f701 +CT = 3247dbd8196c04cec3d514e03d +AAD = 1e1b656d958fb022232e4bc17dee54daf2e468cdb9e4ae42154a6475c9c73012332ea7a0d74eaf3a1a810fc3d94af051d141f3b59b0dbf7fd54d693c7b1bc2e473f14bad9f1ea930a3be80d2d96755ede5ff8b308db7c83c6a6c +Tag = 36ca9ed39d9235e8 +FAIL + +Count = 12 +Key = ab97769e47a55ed7a7a2d0a072dad109 +IV = 9163033cb5f71f1e79126de6fdf165aca26c60d535046ff914aa9a294e003fb76094b1d5d8cec405095ab1ffaf28d4ea2c4f9c9b4d4987f89c07a30cf41b4b8a9d11f96e1d6330f4c3d0b76acd5c1057c65d010a1656d1c81de3c5c696142d544546cd64482db8e08e5fcf34943f27d392dade93611de4a69bebbe54e6c69eed +CT = cc0c74eef8e00bad55ddc06b30 +AAD = d75f1cc2e824a09212c95c58b642e4642e93c4fdc61c02c43cbfef3f05e3b7660ed483072763e0d72442785dce310246c0e30ac73d1868e12f6168b7abc15466c69916d2b3448f98d41f8826fd911972437946bd2dcc35ea2933 +Tag = 877c64fe3d4a3781 +FAIL + +Count = 13 +Key = 13afdc09fb310c0b5e89473b244df0c4 +IV = 1073d165b2d1558e8a0b64849b3ec85d486435d47ce34890f95c51c343c44e25484f2d2cc0256aee8deaeada96799274c0c1962814723fd7b918a95f4c1aa278a0192972c87c5e4a81b36c4e3994f2af336cdf64076b0e0a1cf2cd1476f9994e9edcc241a3d293eb7b41b0230ae0bdaf7c0fe347bc343890d6b43afb2d4719b5 +CT = 76d682ff9efd96082e363ddc07 +AAD = bd189d1a629b63f988abd720fad9a49c383fa99830447b1dcc43c8131bf474e96e17fff152c6657e40edb32844777e13b2db4c27ada83ccaed510b2e32d9f0a843516118b109d69b3c2a5979d5611030e730671384948776d402 +Tag = 3147d8d99cf2dd0f +PT = 1912a2d8cf1e525f958b371ec1 + +Count = 14 +Key = 2f050932a93dcf7e4d364ec3d9043655 +IV = 990451e3761f546f9a696ee0e950bb5acab813959ec32a16ec5cc486854588c6ac16b31596a26f85078b37c2bd4bff508183c4d39fbccec726639197a4893c6c5705a25d15023a41cdcc815e93c53fabb0ad29dd4e74b8dc44068de5000d5eb2caa87e72fac9a2727c3bc10c43cdbc3ff35aa65770a6d338fc266afd5ad00938 +CT = 7e7a365cc249105185caab3c61 +AAD = f18c4b3a6c6980aff59347956c8aab3803fc6b3d939982c9c3cef7eb416ca7a51f1337cf66d48c9f8e4c636e6d870137d460ae3056d505e3c2a0c1a883654045dff2b90fc5b5d158ff0e34088c64f28ed5c28ac896db2493ac0c +Tag = 4d2d3084daaf5ea0 +PT = 4a622567d938dd69f4d45909ee + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 967f7fd0d434207f10fcc765ea8b9a01 +IV = 86dedda77cabe8250c2708186ab0f9d3082094e9dc39ae798fb5c2ad32581ba1af43b974ad2afb1a32ef986fc1ce1a1910248cb12b9d29047ebeb3eeeb0b63025658ad1907ed75d19be64907e1769a08e060fa21d6d33be993f25fdbe6911de61b8f6dd28413174c7e68af6b6b56a840f93a1873c349367aad28e9b179c552a8 +CT = 59529a625714ed823e8bac8c4e +AAD = 8ae2a9ee3913e28c7495ce16c7c6e9af8ee6cbd9c0c001e2680f24fef064ada91cef26c8191193913cc44f88540c785b3fa5087fd8dae2d9276f8a51e86a800a2a1673c1c6c0517b63c42399d93773f0016ce399eba00037eb27 +Tag = c2c52a19 +FAIL + +Count = 1 +Key = 2c03f04494dc0134fe0b98b1f76a98f7 +IV = d0b8cb34bbd0f8310ee41a40cab2c7bdc1f9c8842c57468a6c93000d03dab1448daa7d63dd85b9374de53fdd1c72a190d2d4ae16bd83629ddc5dd0feb0506571a5e73103d9bb0d038c0d895d99457bc5a1f3ea782550c5687027e95686d8e893d3cda60177a6615245209c586da0447f66a39244c10474b10662c46330223b0c +CT = a3cbaedf4486ea4c0f744cd949 +AAD = b5a7a8af5cce7ef750a6caa274bd568d3e1d2656b69489e35f55956b11ca9d6d5cdebbf2ec62fb80594661b38564454b1ce3a73d6b9bc46c0b2c942fa6497520b9bebcc537cadadeb23d528e6bf18102774cb8bd7812d447dfd6 +Tag = c3534f30 +FAIL + +Count = 2 +Key = e7dc65d8e7b3f24b7c002b78d4079cb1 +IV = fb24e2df4c2c6fb958b20a5f5abd644208616e68b0095a35456203a3a54eae8f7c8d6b00be56eaa69761c48cc9afa063577fdbd853c45a4622e8e0bdcc4e0a0a2ce123e7dbdfff42000646d6cfd05f9d87acb527a7bc809b9238d035ab9273f1a0a07fe9b4704a49a3a8b258c7abea56704dbc48e104f4a26255f668e66be414 +CT = 962b03c56810ebdb42eb782c8c +AAD = 9a7c0517ffa1828ef5d1d772ad4a888690e9c6d2f214aa3dfc4b7872abd4acd1cd8e2eb6af50714dbdb84636a4e2df9e50fcc10b0fab8a7e6f7261359ecbc398b9da9f0e559b9493370994ab0613f928888b14a2361e5efb8be0 +Tag = 7dfcfaf4 +FAIL + +Count = 3 +Key = 8bc95662b7fa551ec125424624c04b07 +IV = 09d6cbfd7280563f0b8b21359cad6c96ef3403ac9d5b6aa9343984d809d9840fd299ef08dceb5f67cbc3ab3ae20d94ca29b1b379636877d001496a79ef80c3f742f1249be4280108a209d63a4707345f47e913ca9dd9b820cb0d9168d1f278deac485b207a0cc1689e4f68a1bd63dbc674093cb36799a557b023b5252603e498 +CT = 65efb76cd2ab0f32d2511580da +AAD = f44ffa9bd6bd461d470c09d94f6dc6c942780b401a39b9104768c1e60c6c95db2b79919ac755410e84bc1e17345d4380789188105ceb23c5b00e2210f7145bbfd8c9ce0ed03fe8c8af224c99f86e4679a8acdcbcab600fc52a3a +Tag = dd367901 +PT = 332da46812f8a8a041f6dd37ff + +Count = 4 +Key = c4331a13d03dd48c2f9f6845af379128 +IV = 295eb2c448dde46b4da5defeb1dcb6756b7476376b6916dc520e9826da9c9ec99a7cf3b95dcdbd30f87fb2f615500a693b02ca1e7262214b80cd1db404b61801ffe0af5f2b3538ea386bd105c201b94ee4f752e8f1ea77d2618c154a152ee3c08d7fdcf19dae8af42a57270001d03fe003d9a590b95bf949b0f1fbae2e41c7bb +CT = 94c68d1d3a6a1027be58b33131 +AAD = e7ffa6cf87536ef91d411a7bdd8bafdde25fecced41de30887304aff7691b22163e43c2392c76ee9f1a75dc1d01d68fc7bf1ecff7771b2e21cf362430627439e70356ec59ee7b00de54acff558efb8e2762a92805bdbf85fa873 +Tag = a4166465 +PT = 55a68481637a8157a0720b788c + +Count = 5 +Key = 63dafe6b650ca94f11029127bd9152ad +IV = 53d1d5f6482caa5386e28c28d5a389d5cad64ff1ad87fbb60e0db22ce42c66a45b395936252acd2efa20b66be35c08057c4abc5d0ddc53c85f1b0efc87b045a83b34987bfc050089d834a9244df68ed6d07612b5e52eb86f77e1002606e5375e7f409a19cad60fcc381dcd5ecc741fd294eb15000962b2c3c8b16589e59c38ca +CT = 1b84e17198ff3b76a7e5842c9c +AAD = 2fa48a1f89f5abc1aa26df0ddd02608ed95edb7c04de2eab34606522652d5344b6fb9cbeaf30128b46cb456b1801ab119c9132a3f01d0cf568cd3f762fe744a2ecfbd48bf9fa7905785a811b860280532554495878fdcc420d59 +Tag = fccd314c +PT = b026cf9c8983f4524985d184bd + +Count = 6 +Key = 35a6b627035626920c89d9e5f3e14ffd +IV = 9d4a973903e17a1dc295fe31c727a40f19ff7dcf7b3f415a824fb15fea60fcf25a18a47286f258ae00dbe3f9be1cd8c11d83fde8cd9cf77232ae4e8fc9ce56ad9637f89b23070de830810b50995ab5c6284e76f6ad02daa6371999a7c4b12bf023d86a071e0ec23fd5082a4ee0d8297cf07ed36ad3a609ec847e7d7457ab6dec +CT = 94861c13a07327e42faaa2f76e +AAD = 5dbc60982035c4eb0beb2d65d254e98f1d7d299aadbea0dc155ff859800a71214ad73f55a1e255cf74971c97b2a3cea067029c1c992db0e87e8cf91c7db182d0beccceb7a41425a433d86b112fafc32c05c241ec3c0b30e3a6d3 +Tag = 149b9b68 +FAIL + +Count = 7 +Key = 80d7d35ad95361425262af9824ab58a8 +IV = 5f78ba9486ae833a37afa614987acd963d216ee1ca28f9463f9b20a209f14a3cf3e027003915fec4a4b1c9c9b8e014bb497c75fc001bae62a78b74d8a04916bb35003db9ca6a44f29228da11c0f903f1d8254622a81be318e8fb05b777e1ebb7d7cc2c4d736b81c9325a87597dc6e8b85d194c751781e18b10d9736362d84f33 +CT = 59831ead4af9d56ccd883b6e97 +AAD = 022803ce7ff5c1287814fb4dc092be65ccb2818a9dbdc5d7597c08cea19c90ff7084d105f8ad15ef21ee7fc722eff6c6e6a8e8a62c27bc12556d077da093f45da3d2db3e05157c63198395f90cca04ced061474779ad4418da1c +Tag = dbdf5c6a +PT = e56574f8beee1338da4c9fc5d1 + +Count = 8 +Key = 739bfb286d68899e2ceec84924091083 +IV = 9851e42919c53d3e0fe1596ff74896134e03aafd607b9ea9895b47ef4496ffdee9025c061d22d45d2c7194cf10024db1f554fde6a50cdbee50e94266e4fa4c7435264e58a592757b50a1030cd6222e63e2b47c0adf2514dac2ce531cb43f690a151fbb36a22eb47a323470b59c792441155c3559ac648d4995ba77cece75c35b +CT = 3318357b6b09d8c0845adab6d8 +AAD = f28c5db666cb1c665e1dd680be947eace4b7cdffb6fc5bf3eb84ba499ae09651667eeb869add1ea3ac2477e7d8fcefe16d654b416c83f6c0238375ba0d17f3451a438459a86ce58127b1d072a85cace230cfd07e40dba44a61f5 +Tag = 4f0d5cbe +PT = 09f8fcd8e4d21a3b789f88a6bd + +Count = 9 +Key = 68c9db70abae07458b797ebb49829941 +IV = 32fbbe38f9762df6b3d6ad59e60c66379248f21bbe349039bb640af8c70046207b8445111faf83c8ebd90b8c442fc31a718e3a7748acb9d0ee4e6173e0e56d03f7da34224a8e2cb4e3686ae464173a82d73cc0c59ac85183abfbac12d5950cf7d2910b7116b1bc6e349ae9cd2b39e8ca2a79be2cb72d0ca6a311824eac06e9c8 +CT = 6eb46917492dad439de4d4eade +AAD = e49270ff3bf434b74867ebf4b81aaa27aab286e86ff79af6093a4691637446650b82556384e856d30c397333ee127d2b4fae8c7febce22f7482c24756ad1dcd3a71f0fe9be4f4191bc2c1261ebb4020ae003c10f82f5f939be0c +Tag = a609e618 +PT = e72a296c9fdafab3b4ed691989 + +Count = 10 +Key = 456df5fbc864ae25d29ebaf8561bde47 +IV = e9abe9085422b367a37d8eddd4a97fef701d61f0dcd0a92d02b3f331899a86be45067d75b9d268c9da0c32f4e1e962137a3aaacdbc21a76e54f0a50da16c5ad3bbc9750b3d075f54bb9ddf899e8648b51ce3757f0dd8788a032f8aa9700811b4ff632cc37b70300095bec44ddb30e74f70cebfa68345281e0e0ddda524134a51 +CT = be4785fa4a6513f6c57a06ed3d +AAD = a987964c80d9539507f800041b3c78ca32dd4bc953bed4bee5c265e2e1d6014a5c0c9ff32cbcc184b5e53b44f4831b87de3c0a46143c5450f7adaa7e25c466c1c84909d503ab77cf81a255e2ded39a48aeab8e10cd30861645e9 +Tag = 90df887d +PT = a2f6a0917fc9d8bab33412de75 + +Count = 11 +Key = b254ef507db02f712d831098b3441099 +IV = a754ec3c3ec5c3afd39880ca2613f93000c79b0e6f62dfb32cb04dd72abbee107124bd98b5f5f3635f82cba0ec5c0efbebb4ec43a341d7a657665d8d5980363a58378c5e3fae5fd26deef585fe42ad41b7a6c850498746538db0084ce87f184e5ca89ed6b7bf80b254c7336f342a4602f76d9e4ea29b8ce0752cc68e9b94a2a8 +CT = 54ff91ef1cf9d2c05fd6147841 +AAD = 961208b6176bf831e2402254a9e4482f1d8384911ee4b9a973d4c5a1aed38cc0c435b1ad5d5ba4f3af207dcc631e878f1b32a14fb1d033ad0addd42f0922e7e9566c2f01c8277c34eb86408f0f41bf79b430934ca0e0a3a392ed +Tag = 1aea6811 +PT = aac8d150c7ec8fdd82b6645853 + +Count = 12 +Key = 82c0570148fa2e3d0226de70221f34b3 +IV = 0d0c9ebf79185a386efb3670c07bf4230f293644c4edb3817c1bd82f10ea5c80dce0ad120c45ca370ab787a831f348bbdc0f6abe5e1f3c5f78b2760cc7470b53354663fa446303953af7de93b591b41d6a4795259348af1c612b62f297955f14f0f04b5c3f95913bf7dffda949ea3db06faf001308fe7a72e5b9c237c766ded7 +CT = 32143016699f09e73a322bf34d +AAD = e7fe9eaa66a602409d21571a197363ebbf627208f3592b8cccb8f8092986699bcec37862ad3f056fa6747bbcb4b4993dea2407803d7e565e1117cf6b59035e9a819d34329f75a93ca87c9c674cdb0842b951faa32f0a529b83d6 +Tag = d0d22210 +FAIL + +Count = 13 +Key = e6b260f990234cbf80ad0f05dabb263e +IV = a5619c0a0901ee10b8e22247b25126bfd20417553d197afc7558e46169b5585092777cc8d672fbe918b09469b3c880157f75b063acfecf5e127ac9d215e1c0ee92dc4962eb808973f045af5941eeebcca115cfd7454f6014de3acdcc9d90657b2929c59b88e99ffcbfcc2f1c02769aab50c7a3f35ce48b2bfd84ac313388b60e +CT = 9142d96b2e639fc8704dea557e +AAD = 2ad22b46138944577dea8492c4f1a6c5e119eac7e4a5820da72bae6b53b8c42b1989c5176fa8137765750dd5587737dc40f777f278bd7edad5fa0f7dbb3cd8b9d180b5fca52781b3711d31e6ceb487b8f56a68cf743acf522c5e +Tag = ae391a5a +PT = d005baae87fbb9524a8cfd39e9 + +Count = 14 +Key = 7422effa7948985f078cd2fd0c699e48 +IV = e011ac30f3a63d071a96eb41c5589e8cbdb13e33c8ab2a9ad6a04fd7bba65ee066fd12d8018b5e434baec1ed53e8581c183ccf0cc0da0169cba194f3678de782b98e926ccfe03a7f16b34069f6c2ab02988c05a945dbff66073ba07681ba8564514654ae75a0f1f2593b01b71346c86cf9b4084d5251dd2f0eb2fe1a7f8eb52a +CT = 8c27fd0734ce57a72e5251a391 +AAD = 10e3a77b50bd3959230ab791ffbae65bfb49781390132b4c90a480736db9556dc6a2a6e23499bea2a0a83cfad9c92ce9895e4a57c72816b417f8a2b690b8ecd245d1ca56367dd3520adef2ff68b13161a8ef3f8297afff7844c4 +Tag = de3c2c8a +PT = d281c5196861676e8190ba345f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 074464981c19bdddf0cca0850bd86f12 +IV = f4d3cec171407b0d635ec1ddfd2f1794caaaa926ff2a2a3716180eb738c9bf330d378cb6ac041235157cf59eebe132f884192984c5a87de8db7626341f441bbee077e5c0226d87879e0f41af0043e56f41dc3d80d992214bddfbe95ad001cddf2c0bd9b7be7b72ac6e985b4ed70a6db95e81935db1d1c706838fa59d8f5f0b7d +CT = 752972bcd5f87ea23d0515e6bc775a3c24881387d674db1638d528275d6e5174 +AAD = +Tag = daa496ea67a9372ff665686387ad5024 +PT = f8310b5c3e6ad4d75f5c33d125116bef3b2c5f06da6d8751a44230e7e79f77ac + +Count = 1 +Key = 0403cee95868708e392751fe1ed03b7c +IV = 1f8f3c912a01f058624e8c70ace59d296ff33d5e8f55d416bca82220dc6fbab711892570bd7ed35b85e2124e81c322db65d0ad0858f7381cb94fd06df46dee3fca940696aa67b5aab6034d78787035df8d9c2f769ea5462252c498e9c65fa2fb397ec83cdfc0ff0c0e0b2686cd26d1f271bea86a58ce6e83e303fdc117010e3b +CT = 75b932c4f8b4e41b68fe0ce3f86922c837c66add144901ab92925904abf3fabb +AAD = +Tag = 5f4245e45d14825e5ae789c6a859aa77 +PT = da7865a3f5cb16c7dc2ad7073066df8774c25e42b3323ae24ce539752c960b96 + +Count = 2 +Key = b118b4b2e8c0a9bff7866a3e06f9635f +IV = 14ce80ea97ca36ce2a2e3afa9b66295cdf8e41b16e9033eaa2a2fca4fc9fca132b96a6ed891d65459649cd74ca2397e6673923227327a3f8bf346904bc1f8cdcbb52dcb34bd220fc644e6c8fe26abbdf506024102574161b068191e429af2846f9f6a98969984db577a43ec1aba56865e7c3282f351d713ed35540eb795b414f +CT = 983c282ea74cae9b5484d9a34e170a4fdd16a6715d9ee9b853f83d1fe5bbb6ac +AAD = +Tag = 58895fe500be15dd071395817ca2250a +FAIL + +Count = 3 +Key = 637b2328b5fb9922faa3aaf6214eb567 +IV = bef4c99b67d745f5ff0a79a9e79de872d5e93e16c273c30256cb6988299dfda1e33661648275689f476f033eb10f73fb1f20377924b7c0c5be65fb4755059af9994b3e56dfbd53af5153fe5979bb6c03f661b4b40a9f64fe9dc3b594281cb649e8ba18a75ef861765a1111c6837aaec58c59b202d917a8a06e89debe6b9e8d78 +CT = 0cfa1f2cbf8f1ddcd3a7bf1222735ac5ca8134d557f1c303e72cca575c5ac9f1 +AAD = +Tag = 9d57c14bc746a158d75181de1fb34f25 +PT = ad7e392d4722b16d8085ca85374ea45217053364431969371710c6acd2eee94d + +Count = 4 +Key = ca68f54acf65e2e56a64c90844c55bac +IV = 0839736b27687725a8a83d543896295c763a666614c0c7a7278fe412b237daeaac5c1d06b637bfae1e82a8fbca5b60ecafca482b809975a380e08eeac39157ab453487337b82c7c2821ed0b0cd781e365a1c944494ee59df77c31b844246c3d4cf5401d5f2bdf94a13517c8d19151aaf0a45969998ae1544e5c0f03c80a2117a +CT = 63f30d5f25b10219208bbde9f392bf1b505b5abf0cf2c453d53b99398272bb23 +AAD = +Tag = 82602b7f914f66b3c131d2ab47f0196d +FAIL + +Count = 5 +Key = a6b82bbf306300ad4c5acbfa5f165ee1 +IV = 963e3d5263b921f936ca71f444a58b3b35bc54b1f784820dd801eaf0d34c1f141abe3c8a118f21c3d77c0f9dd13d7432d20ffa9fa9450a0f04b9762b621c6a1da1fd6e77ca8bd87584659ef03a3d8135ed139a8c0075e685e395049fca264b197436aca27d238a70a811bf24d80d4547890f8a94efca480c4846bdfc565dd456 +CT = d2e2d6b6bb6162ab48f00ecf21be2b79a37d253e895f92c0dbc5ebea8dcc19fb +AAD = +Tag = f4d9b7d86f47e0facd10a2d7fccdfe35 +FAIL + +Count = 6 +Key = 3acd59f0595adcfae8a95a0bea33ea8a +IV = fc12fed39a7da3d5d708e53725d7892eebda50eed51c19f81bede26a569a70e8d28e461ca8b182f342534b99340ef9358f36af9622379db56f67fc726db21da29b360751020427836f12ad0732754bdf411d495a08e34a24fe2521c1dccb4134d26dbc374e609d23eef56c614c0a3939ec5181f64836985e45cf805669de06f2 +CT = 97fe74bb412a6c21523600ebb8a932d4ee265cfa64b1bc6c310c39e8eee75b1a +AAD = +Tag = 74cf263127a5eb782522e3af0b9e1960 +PT = 4b5a9322c225abe78fc49ffeb63cd450563274c94cdb28dd717e121e27ce9853 + +Count = 7 +Key = d1c8d94161affd1f158959a20142c2ce +IV = b4c31d9ae9ec55c61de8671521d99ae67b01d71cca13833b59bc06421ea623fda0d4cc2d58007d1e09ed0840838ebc5160dd140892ef22ee725da86d8db8e0893feee3b969001669b4727e130ec8e75c5889e075a2fc07ca5d2669e284515ce001e58b34dde488221caf4ffffea6b73c7debc58bcceeccd61b495cbccc2f444f +CT = a65386284febc7349cef048db39702f36596d4306acd7335f55a76459623cff2 +AAD = +Tag = 858b6538a597bb628e544f3dfbc7af9e +FAIL + +Count = 8 +Key = c1cbc9ba8651900c9671dc6aa2cf16c5 +IV = 87c11090cd8a0694d87ff55f2afe2e4289cedd10de36ca9c58048745858c4788000fb208bf12032c7ac90397b00c7c804f9b36ace946ba196375cbef1c62ae42a4fbe0e5e979d791b50ead1addcd73627ca4df7f334b7c4eba527d0ef0f14468cf67b7f1be4adfda258a0467f19a815760a407d5d626b3892e4443c8fc7894ae +CT = 6ae3e6c83afdcc2e165df5792d3561856dca40cffec1e0b984aaa955f3000fa8 +AAD = +Tag = 6cda50cb67f066ca32e2302f343af92e +FAIL + +Count = 9 +Key = d422a8691767c46dac4cbe0f46dce822 +IV = ee6cd882eab6e993b291994a17a8816a276d9deee3812c09590ba25c33b6275aa1d3e9a60b1ebb89cb3603864ecafc8440e98f03c759f52f38a8565ddde66dfa3415708ec371dc5edc3c378be4c63bd8f8936a36ac652dc17a9186b1a0e4b5da9a849019d1bc04de0ad347140cac2253cde29f1082bcf2ab49ce2aa0c54ec063 +CT = 9c9ebc47b7c44bbbe286fd0f079539a05a40984f685c701eab59eef4442ddfc5 +AAD = +Tag = c4a9343d07f3bf52c6e5c3a0fa9b1b3d +FAIL + +Count = 10 +Key = 8f785b4fd2751d14ee10270c4ff7071d +IV = 743201f3a7703ff3dc477c7a55641b95b81b93c5037c111a0303525329ad89becff2b47a97123b48c783994fff15eb6e356f7834dd0973650b8e1f21f8c8f821719d02a36c5723d504e657bb1306059e4da283eda8e8da12d748d1c15f5ff9d02e0ab4fb8f10bc0e7b028beceb7256f7618678fded28b7dbaddc5c5fa8ab537c +CT = f2bb66ea82e849d49d828858a6c6803eb3853582c052ad177dca2813b18b01ae +AAD = +Tag = 9dbccf12e0af424f83b34ad686054e5d +PT = ee5486f673699cb8549aae174bc450c64fa45acdc1c712e393d948dcbb10f474 + +Count = 11 +Key = 2195773ec4ff48c2c3b42127ff7d3d03 +IV = 339b499fed10ccb7bfe7147424536d8fb40ebda5071dd6a4181493c70bd165bf2a21a80f241787a1540def1bd3c1263f5002a4dcc6e8624bcd57a02e6fcd2cc1c3f4260cd7bebd3ae9cf3f9af28dd5fb1337fc5864fc29b9d7270316b43126426cd86a7653358539202f9755b38d474f30a29c24664c47dc5c005ce31a19d197 +CT = c02649cd86b2481149230e3e1c73b0407455946ab284531a4551c4bbc3492c26 +AAD = +Tag = 575e8713e0266a94e96bb5ad5942b421 +PT = e8588b941bbf8d21cf0c3885a9bed63c68e6640daf5543d58b15da0352686f15 + +Count = 12 +Key = da4a3a3db80e4f3d129ea9191ce3443d +IV = 13470bd5dfa3f672915677ec000b6d394a6155b6cee24a6da44a3177dd6239bf495add45b8abd95b702abe40bca52ddfdd6c28f939efb8e57d00267bbb7c467706a895f8e8d2f77d167087da02e6d82f44dd0fa417e266c873e8cca5c9d59d8fc63ab3410d2bd322aa31a092634f765379354315d759694e570e6a96ceafb59c +CT = 1418fabad22bdc76a9f6a47468043fcb0054a8a17789ff86b128e48e355fb137 +AAD = +Tag = e5c39a2b6f260f14c4e8edd52476ef69 +PT = 164839d6f82719e419f18f5fc0bd8512bae500d63cad9730a0e31924024ab3e3 + +Count = 13 +Key = 4f786028ba694d43b0464cfc92a41a2c +IV = 27d8f13ef2e1a05992db6f145cc306da265d3131ef1a323ca485079230e59214db85f011a0cdd1a35c9e9176af568495e803af99625cb2493c4782e9f93e1f48717ccd316b5dc2d4cf7120933ff26ccd521e1995c6f0da1c49879f025e8eb068d16bc0769e6a702306eda850521e49767dd796727ae0310252db33bd11046540 +CT = f8f7468fbd2791d8a8e919337519ff962935870dde406310c918b411061a3fab +AAD = +Tag = fea3cd0f3fc389566deb0db8d5988f23 +PT = e9adf36e523a16450a89b1301792b7a5034549fe52060f36d87c5ed8086d7a5d + +Count = 14 +Key = b274440e8b6cca23da7f4757b9b66b1a +IV = ae636a4d14a75426e33be70b5cffbb24d4f8eaf400bc958332abfe8c31784c257ef2ed2af48fb5dc9e3068837093cb79d14e6f4b5a43bccd03675004d966582fc7cf83b8f1d19889eda99975cae53734567287e0468bcc9512fa600abc4ee0b4d5287a7aa22ca6c757fe3d2559b4006d0cad23313d79c332dfd0644f714fe395 +CT = 8eeeb0b538d9f694df50e538a9108e1256803c566477cb14d43cc6a7983a0b35 +AAD = +Tag = 6385ee1143a007533d6aaf994649f871 +PT = 8b0a8be3c70bd1b9117516fcb3ff77eeb6c55487370de0e1a4878357c9c4af11 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = a4fcc7024ed5e5a841f9bd8c1f87c8df +IV = b1aa04e51fdb1825d1d85be2b926a5e2e8ab10e8c807a6f3874981a6d931f48fe5b7ec8e71e49e4562cc1a8553e497568fb54a59917e4d4535b01ac02e131326e20a9bd36d3a3fda48e79d3186e1946f8ef7d8788c42823294abd2d5cd6372cd01d84309decbc82effe9d90e67a1d7bcc85df9d1edf1190996651089ab810ad0 +CT = 1cd770c8ab59c9f86545138e5a52da51935fc1b02f187ca8a1f58ab5d566d149 +AAD = +Tag = 72c00dc9254dacef924588f131e4ca +PT = c278ccc23ab75d911d8be0416cccc23f4812759060c3dbb415b530ebdb2c9d40 + +Count = 1 +Key = f765f6f67c4a728885c14bf4166ad7d0 +IV = c03f8702c73cc658893e95fd4fd7de6d3b22a47a1360960bfce0ff0220b278d0fb8bcb26a2350a02999de9b061f65205da5d058bdc2b8a128000f520492ce66e6c5056b16e2764f6ace87f2a0345924d52b083734f2592d74b4e1f482298e89a6bd3934cf9d6de7f012f90f7ff157f0fd97c755824a9ed764bca5531590ac237 +CT = 3061d1077ef63a6bfa86afbc4ad69163519b675d88eea309a9731a74fcc79a11 +AAD = +Tag = dcec35746ac301984b048a433263be +PT = 9a3c93898b327ba5d3e3d4db884a76654372930030564a4412711797d2be3c7d + +Count = 2 +Key = 8a7c538989e9c554c77a7d372dff387c +IV = e0d637f01a77802231db0824ea847d761faeeb4b9deacc8c2f0ea6cdcc3f26dda918cbc7386dadbd4196095751e28e3c99558ffbc2e5a1ca8bf0a82cc112c531e88ff67baae6cd5d1efbeb83787905fc15e06b708a225ce903f77d4a219bef144052bd8238074a06e419d78b5fe48bd2f4c84be2fa318f64e868a49a9cef3d37 +CT = f84c4a5c1b2a2ab0d46bcda09f7a671a7970bad5542e10d823cebb21637d6ea4 +AAD = +Tag = bd9a7d2a92db53adf2632048f4afab +FAIL + +Count = 3 +Key = 98880f459049c443238d9bcbb50f0abf +IV = 76acd6bd0c3aeceddd98148a08007fef3deb1913e4a318f3bb2998657b2e0b5e3632f6afadbbd2ec2bd6f09e6d7fdeada52b9a67ff4672e17fbce425288a4051529bb29d7e97f898e7f83ece49103976dd541be5b6360985cd2f15ebeb2d2a72b2783115bba7d6d9395e0b90727fa4ba777ce78f2cbbd9136e08969f92c5515b +CT = 0176da15661d254b9f91931ad10a7b5420b5b8a0e9236484c4d107dd9df0b047 +AAD = +Tag = 0f7853ab68768e4b76c7ada882d2ca +FAIL + +Count = 4 +Key = 4b6bd433c64489c780ed93190cb6aa8b +IV = 6bf3a689c7f5def24be27a08255a9ed4cf4732ca814defd394b13e94daddfb672e0b7a62f4bf40fc9daebe33f38edc62cb7589392cd21cd0095978ba0e97516cd2f1c90bbced499f6bd51379363c07b7c6dd0eb4bc9119a643644b52390167fac2bf4ddf57279adb1f14b96c245d253258595a8b695cc3daebe921f12b3d6f31 +CT = 4fc6aef5bb145bb7494fa48109be518025826b0bb15d4b569221e6aaa7167b41 +AAD = +Tag = 46a1a2b76411dee7f214267f816856 +FAIL + +Count = 5 +Key = d5193cfc63e08e70b7a3cd44c74b5e66 +IV = 5f76bbc8eef3970049d89aafc12e0a52cc0d2459971e7819925a411d68db96dc96f796994c7d90138c30f60161e448e4f49dc21c57bcb3b68706541ebdc3b26919dcfc7529339b3f830914f2b27f739c03cd6700c490a201081e1725a2eeb5fc48b5ff5b258b6d56cc27a77f61ca5490d74a3c1d0cc8a0cbe9bcd46969b96695 +CT = 857d9e0dee643f16ce6e533352187a1b1f8b161e7d4033c65c96d66e3100d8b8 +AAD = +Tag = 88d6fde1fdd525e35876a73a36434a +FAIL + +Count = 6 +Key = 7547f63e5ad6aecf888bbe2fff6117a1 +IV = 412d3b00693124166eee17e3604e269fe986633f73203e17d29964ba0190e7c654cfba5e400b78d5adbd3d84b6e5fd111272fee2ecee8cdb1788ee206481257d91f6793a94d5f86a36370f7cf09983d2814dbb9ab0883bbca5d166d5546b980f7727446e8045f49bddc642c8784914577fa5f99ba629cc9898e057365ef8a155 +CT = 368305b5a6dc354b8d744e292ab6496262a050ca001647fcda5745ab9faf7862 +AAD = +Tag = bcf9242d6e25c2f8769db7f529264e +PT = 3dcb69c9f89fe5772a686199862f7ee492cd06d76c2c4fd6c9d3b59e06705ee7 + +Count = 7 +Key = b1ef408638ff73b7f0c0c60499fd720e +IV = e350d06c39209c575fec653450af8e9be611886f9e1bf3261cd26f2f42d8a4b02c73c67ffbd2ae48d4cc54b1d7b88c4cd68d956126596ff3f7519d876422b847e49eebb22e6c4f542a77786cfbdfe25e086fc7779c90ad81c13bffa823bb24e5ec71b9cd6a8b8b2d1a476116605db45e7087dfe736078765fb6d9ccb3b79a1cf +CT = c6aa1ddd0291db9432c39e69e22f52fbb40497a7787af80cde89994c5e3979be +AAD = +Tag = af93f6f9461f6b459555b84c5fc5d7 +PT = 260b740de46bcd03e55fbfdffee99d087bfc1ee89a9a16eacb6b13a081453a5c + +Count = 8 +Key = afd92aefbd552213b48fedb7319eb183 +IV = b92aeb2e2ad032ad01d849f7aaa7f5a9575a2d5d1691bbcf14cdd01f3e1e174ab1b7afc3fa787a74a606291f697db390ec304afb2d8f0ec9a28710bd13b93cae8eec2341031981b3c569a5d63a8f59c44b8c49778b9cdcdcb569b2a211577dbb9c2676d77a6a5f9be1b89f45dfa48a3e9d84f0abd7f445fd203224ef82ab0abb +CT = c6ef2568a70c92524744ae1829c00df3cb0f9910e1edc18f411a0c646a14fcc0 +AAD = +Tag = c4cfebd547a4c912934b2eba1f5921 +PT = a2b9d1a05d6baba9afb33c4ebedee990b0dc76f2bbdc19a501bf2ae5ba0e3801 + +Count = 9 +Key = fdd20cebe85407212bed4f340eca1d02 +IV = dcef72a4a28bf89d98d74919a0f7495c543eaeb2bcc6f559e682c14d3bc6e3bd7ce6b11f10ce72bec09d4fe8aa803242d6328cb6329519e9a301342d8c986183d2baff8016675633c310ed530b49182b2a1227a9904d2cc83e6e247d2c67aab6828ede475fc73b05a28645ed16357ba21e64b0fe684fad74d8bdb50a87b55dd4 +CT = 6005fee429d3569969ca6493c18304cd354e37b276168778e6df675714f6f02e +AAD = +Tag = 76185825e7dcdbc30e5da93971d031 +PT = 1a356fc16c426daa627bde9978c4bae2b025d818ed5bf10257cc8b42bba0d510 + +Count = 10 +Key = bae05807760176692031440dbad11065 +IV = f5f09070eccd13b6350f7498ab254d12abcc414cce5e51c89cf9a5e5754a2d24450230b48d6d060e1189c75200f071d5fef2c3f841742f308898633373ec091328fbeeb296dc13e712194fccf4da3bbe10345c75b4620bb2a49d5332fd1c63182e6324a0b9ecbcd9d95ebdf523b06c5fb8b69a18c1422287bacc31e7301e77d1 +CT = 640498313e499ae0e073264cdb459f32398115ff946c38b4aa689e6f68c679f5 +AAD = +Tag = 6e77b1973a513b6dfced5a2c7a3d56 +PT = dc8e0ab5ba8f66947ae2ef31f3f9814a3b2935e2daaf737155e1b095dfa79748 + +Count = 11 +Key = 223df080c91da7a902ac68315e1494fe +IV = 482b260e9941897e5ddb2c003fd143dcdda339f4a5cd2a8c32ea66aa9988fd238432b664e0ee5214e6a9228594bfab120c6063b632ca7658a263c860a859669fcb77726c989d315ede482981af0e9d769d917add43c73f02a72b2e09afb87f507c359cf75084dca9e5e8462969edc8532e36f316cea4fdff2506d3aed103c141 +CT = 3ef7c415a4546dd95337d92bd50a5ca1e9d38c0e5629ea3c933ec2c621268955 +AAD = +Tag = 197dde43bcbd6a4f8ba7b2ceb1154f +FAIL + +Count = 12 +Key = 2385f69940c49cb61967ad18fd336934 +IV = 43267195dbe6077110842fdc102def38afd6143ff8496fe13971080a4e5e5d1b42698b95bd9281a3d8ee25da4c0d4b853321b8a87d52324568dccf4128fd55ff0a9f3edd796d6454b0da6cd42fc22125e647570b226024d6dfe65cd15b525d77214fda3dd3d03dd38185ac0598e40b25d50a51161ed920fb6ae622fb30cf6be2 +CT = 9225e73a6d8f73ffbc2b98a28d3127007fb3513cb3639e560b3158b2bfd894e4 +AAD = +Tag = 8d9c1ff1c7dd0738cdfc92860d6e78 +FAIL + +Count = 13 +Key = 11a32ce3633852b796c83fee1b67c9b6 +IV = a943dc96a9bf6f6e234361d61dda95812f05c03c7d66e11c9f0c2a2fffb49e0639ba08c4bd3f18445bc4b1c3c4aca10cd49f3a21e4fc139d068cc108232f095f4d934e425ea05401d6f5fd29d760499e8fffeb52a5bd74f083279ddba009ba0ca0122723ca54e35fb9f089a4bc31898599b96559b6ff44ae5c10964bb485e265 +CT = 307a3b45c31eb0c9e3c32219cb2c73143160e530c2860f94b07e0f4705a579da +AAD = +Tag = f824c31dec46d53458d1b89dbf07c3 +FAIL + +Count = 14 +Key = e27f2b0f3295f424f71948b50969b9f6 +IV = 188fef50d2ad33b516e899535094b1c9cfe352792a38c2795f1bb19dbf5c0eee5d2c4ee96f1e437dcf244324044bece3ab8d3abebaae67ab1b27e0fbb64c9dcbaa78af4c53f41c12f403bc810c2154935ff7377da1e7da3561e7003170350ebf7ca21493f4894420131ff0b86e572bd332c0f56bc1628ea981be1ee9b600b3e7 +CT = 7576bde8c6f1e95a93db4d5ccb20432296f3ecc53254cff8b7ea08a6c9cb6bbd +AAD = +Tag = 90a4ff0e5e0c17e39918a3c3ab5752 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 865cbfa73bbaa40b121a7c7952e85a92 +IV = 98354993cd81a0170bc2a8fe482a6d97c6cfc21fbab61afbd23fbb7dcd660abbfa9fb61de05322084df2610f4f723e140d061cb21d8263bb7675a454ae562f0e2022633055883fcd4bb0925cbabc1c2e0f9ccc7f13a34468d945444ccb3d1ba1e01b8c5826f93ead74fca49c856af0dd9a5698467126c378a0cafb8675dae2a0 +CT = ba22e117c181f27cd564bb437954688d0c3fdb03acce20b1602785a73316610a +AAD = +Tag = 58a92016506eba850a1f4453cdca +FAIL + +Count = 1 +Key = 044b5b9a654e434036f6fe9377e7b35f +IV = 4a4b2e795a96776eeaa07c0a872d7a008067bb0b27c7152541e2c5812ffa2b5886a797d7ec13069a6bc2d9fb1109704d2b20b742e5d60741dc429b986f40782eebba9c3b4ecf4621a4a2b007ab25deee1b65b3cbb8bc9e22591f32cee4cda0e116ef94b44a8fd30ff0cdf48e5e47d78f41b040d16e6b75f21bb16c8f46d29871 +CT = 501caa38d84340584416d360a4fe09576039c9445c7dec1d2c87a91d19e728c5 +AAD = +Tag = 3f2cbe4031db41cbbb1a0476bf48 +PT = 0cf932118cf28f5813dd82bcfedfcacfb274a6b56b65231c1ed14d9c4d21c7f4 + +Count = 2 +Key = b86b8bcda308726b1954f917a5fe2cf5 +IV = 713b047edd891d54be56073702844a5c2f878972a42f609fb5c81f5433efd29ce4a13faacedce43dd09a20ce968cb37d28c29d6891bae79899276ce33264cdd10b10db9894e82e07d3341d99fa858f980dc567eef0da7a629c0bd4d22e7f96a2924a6566a051de73e3b7087543309cd9094b63da814aa3b6274255a35eb355df +CT = 8de35c4e0bbaab1bf29ffccb671150af1d757a72816d5b4ee6d110b2ebc288b6 +AAD = +Tag = bc7e2196006bb6c67edfa61f68ac +FAIL + +Count = 3 +Key = f6c19d40f9d5dd9a686712d1afc4af2f +IV = a9eb7b8c0638253736a62cd319ea2ee37226c9b07b1accef0b30915524eb29874faf24244299ac3a1e7fe3491b9d7c86c033611ae6109a803252b2b0dcf21382a402225df9a453323b4417dfd6be72ddea2439c073543dba181ef15c777ab1c03b14fa393a0bddb4154f728da44bda02691865e4df1c8c6a3a72ad25c239e632 +CT = 1837729c14937d6e770e4377cafc766fd53bfd172cda29cc7391e01763aaae0e +AAD = +Tag = c2cc5747277a7d27261a471d56c0 +PT = 36b0d0c051d3c3d6c83db27709f66106882e18c022de1960542dbf3294a71a10 + +Count = 4 +Key = b57349812a11a1273a4680d8696985a5 +IV = 9fe64bb7c2f35ff32919e20499ae206e8eb8a70f4910cc5401ccec63557ba0d646ca52b0ee9299089b09be0b376f12dec56848a14bdccad46b35c643bc5145794652054d2c83577d321770524fdef3b50f877c7fb5116820159238fae86a75b24d9b8f2c5992c55211f3a2c9b897babdf11557a8318c796990b9abe870cc112c +CT = 4b9695d7eb597feca5d5ce170e04924fc3bbceabe368a9ff2c52d9733deee414 +AAD = +Tag = 4e17cea4b8dc1c51788ebf5e9541 +FAIL + +Count = 5 +Key = 0f008b77b9cd209fadde5fe335233664 +IV = f4d90c3051c9539903add218e0ff13f82485977fff286d349a6fafd95f8451c13b95b64b71a15f942e838ade62d58ca7ad4cad6a4c3ce2d3330f33d1db01c1c637dd46c5ef932c97acac1e4a08ecacf2a5a66766f023bd87cd10be6e170a82b1a8cb5cd4b8cf0aa328ebad8630d46a1a8f9c894ae9a9d593be1f5d45d09dd5b7 +CT = 3a8212d6fd6293829cb25292652e3781874574f2f220bef2a7f063909fb35cbe +AAD = +Tag = 7d32be33f04df3572553f066bf8a +FAIL + +Count = 6 +Key = 23584323db60aa5133deb7da2a31fb3c +IV = fbd280dc5a4c7873725caa7f942bebcad85d8c055dba98e69eca315282bffd1a32a6d4c2a502b65b0f1c3c28954b7264883b860ba0d6848aba7802bc2f7e592ef2a918fbac61c13d62d6c1e54d97c542c40a61652a26c4600f24d6c85807d78166caa3ba3d008946520d7b78484626603c7751495ae800608300eac4015c91af +CT = 957dce4c1fe242f7b255d8c7638dd0014a31e5663b5f74c8afd0ee8221a7a2ed +AAD = +Tag = e634758b5c6b8ea1514f33d30f37 +PT = 31a966da8583490ac95035a1ed0c1df28a76963c66f8f2881f6ad5e4038c92b6 + +Count = 7 +Key = 16e9e20c8dd321aaf5dfb2ca24176852 +IV = c52bf6381aa01b3592e85445f07b342cd96d8aac09bac2d05e05e1678120607c9e0e59c742f29b3552dad2e9c42f00d79ad67e8214a80eb4e51fa8acdbccbe4405a0155beb6b1c74c7f6a116120b1ad3951259aea73096b2010013563c37650fe26875154faf01052490a5991236a4d28c2a2d666a8a004be6bbd5c2003dfa19 +CT = cc93beb6ae70337fbfa3c87ae46c4c24a5fe917f74be7b0b9ee6036942ffe8f6 +AAD = +Tag = bbddad2f4816458ff67b5fa4221a +FAIL + +Count = 8 +Key = c341a7c6a5463aef8693974023dec40f +IV = 815b6170748ec4755cfa283120cc8de41604169fb4f687092f7da43b4f05003aeb429e4ca462ae8f50dd1588718a5db100b4f425ea1e9b19286156b11d472a65b9e5af30f2b4e3cae9e69632404b0cc89040114eb12bea502b3af102122a5f045f16e0c025e3dd60c42819683f6d250e8a26fd6d673eeea7f6d1d490de92904d +CT = 57c02b9c5600bc66a12fcf6c77c5d8ec5e1805bb0649e1de7f34804a6929485b +AAD = +Tag = 35a1abbec6b166d3c2d9ff15aa59 +FAIL + +Count = 9 +Key = cf069fd5b0f3fb7ea9f0339524708b87 +IV = 4cb360ae2d2f0ea22fef228cfdebefe7aee79114243419d39e9e37d681e62b623c34fa4818995b1475e3092ab21c82353450c6d74bdc17ace1da1a79efacc32d68a9c52731926a3147d6c532467ab4691f2b837f970ea8b8a4ee9bd4e19deb312a64c34334f9c7d056afdb388987697e9f855a2a6d8df04280c89d03a0e023a9 +CT = a69529dcb3b63a5cc740e6fc5680d6db110f5d7beebf1ed54ea0b341aa5c6115 +AAD = +Tag = 5be61762a998ede4aba1a9d6e601 +PT = 6e8c858cb830724d32bb444dadb91122429d31dc96a4ada59ba82b2ecd58c65d + +Count = 10 +Key = 670a697e596739b2a240be33744ec187 +IV = 5e5c171dde7ac64d8bc4e8419ed64a3fc74f6b7a77dedcd62ed9b16b5c5cba14de6804a16cf2c289293d79fc6dc5903da61bcb0ab1338fcc0bcf82ab32cd281d452bb1a9eb51de725fe5f80ccc0d77e5f6324f0c597a5b0b140f4df9dfefd5712d95375e3ad3e7fed16658ce0ffde61c01ba703db75e80a617b6445f53f0cadf +CT = ab17e26cfb95e24867f87b5a92d0bf4b7a8a5261c34b2080db652ba40e020789 +AAD = +Tag = e7dd18f0ac5984aae0dfd41a6e82 +PT = e3a8fe302184769a79d3e5e6962a4d19b06fe06226fb0bc072a42b24c3a70be8 + +Count = 11 +Key = eff6b2a2ade5b6a81f8cfaecd8544e9d +IV = d850253222560d0ac8f6576c77e415e86915997ae602f1d3c4c5180620c6936ac125119d19e4033be58a724aa61584f1cf09bb6ca5f15827d49c2199d6300e874c49fb1882c0a3244e6a27e7b664673b9789fd21d8a7659ed9c9136e629e8f2712c3440b6acf5b1585709e0d921cb14f567b00599c7b1e4785006af87c1ac819 +CT = b68340cd7f2312cae5734a4c85988c3dee7cbeea5bd49d82ebd307385769e800 +AAD = +Tag = 4699b7aa3100c9a81fbe63d0e4a1 +FAIL + +Count = 12 +Key = 6e1affdbb64b111f5e586892ededf0d3 +IV = 4370122da0a71654664342a610ab26a06b4e8a8bd37b4dbd62e7be632d8b71474a7460f46157162be1ef5a358f79c2e6873cb580f80bf1b29f09449f60c649fce246acfcd60f7222479de7c1a9b29b314f4ddd2324872502e3b9a58c204628c226c054704900eafb8ba5fe7945439b95e5c70796a4a8d4a3006eca89456d6d4b +CT = 503d808a9436ba0e6961feb08c1674e1357519cccc18ca4e7856434e53a21c49 +AAD = +Tag = 4597c3505b4c574edae88712463f +PT = bc22b5d8be555d8e0d0881362cb31f4e54cfa6f567ee5af0f10d9744bda1aa56 + +Count = 13 +Key = f31131cf6c37b18e1daf27f55e024eb5 +IV = 968303fcbb13a333111ddbbec7cb185e3d0fcd888b1bba937bec6af2674c65d2942916cac7f6f61662fee311419826c122151ffb37ee52304b67d187d0593bc3ce2fe1f76e33b1c37c277aa831184b913861a91427957aebe24ce0f2be153512d606441fe3763689e8a4b9f08c7c0c80b47da48ff1b1283121d71878b761e650 +CT = ce84a575682bdb9089c41bdacfafa6043c39cd4de03526538c194e8784e0890e +AAD = +Tag = e7eab1dd7dfc0977588bc4c10a0b +FAIL + +Count = 14 +Key = a3c215e79246ca3ba5b4ec627aa0a91d +IV = 47021697b361eea3a5b1f7d39f0c1639028a9ae1cb2c5235e71009b697232bdf02c4d8bfcce231bde027271ab28cc0dc2d94408b5bf48a45a94f18fdb6df42e7a6d63642df41d4a0a12dcc3611ebaa5763e48d75a459a4779e733be56be5a2df907d87457e0f5a4835886e2cf63eca96b3d49e12ffb3da8f84f842792132ab79 +CT = 0a40f0cf00bdcec8dd3cd98910035c4fde32cfb93cd3f9651ea1901b1044ce7d +AAD = +Tag = 152add3afb85af9dc2bfab85d73f +PT = c06175181a2bb90a764e2284658f7b0c3742aa990e13c44ccf1c690fc2884ce0 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 68db4fb79e37894c075cf19937fb55fd +IV = bf429b23d8fa25e325b412f4385255f0503a63750e5754c9ed51f3970cc7866b106f90fdc13014318eeede92f7a0218070cba2b8d23eef48de31a6e349daf4ca728e7681b5dab05fd86738729ccab70bc8a63a401c491ec3e4910383841281d642fd8f3660cfdc8b3699ed66dcdbeddbafd1875010ca76784afaf743eb60e000 +CT = bb0507e2541ba2c752979b1355ece302df616a6091051a6167de98c9c3badbc3 +AAD = +Tag = 422a1ac3e7c5107ded53b1da45 +FAIL + +Count = 1 +Key = d848b831e183d2423035198cc0766b36 +IV = df3a429a06d13e781f0408a8d76c95f0615b74e7b1ac16d8d55e05672fd49b5979900ad5f5670128520ca717776346007a837eb40488ac1130c82fb2b3a25143bd95f6e40aa032d38cfddd9dc3b1eb1d2c69d882264c6903a4567eb2736acda75ef559c406163bc6bfa6d26c07b6c44afbf9f09091eda4485fcf62496f91f792 +CT = 7a6ffbd0bc0bee31a02312e123b7694671aabacbff70860408136e1d09e719f2 +AAD = +Tag = 06915f60cb08500ea903a025da +FAIL + +Count = 2 +Key = 7b6f4d61855d8aa490e258d695ef6843 +IV = 4cc91d5126d41ffacd55432839fa0a449d27520df2b6d8e22055c4d54b5ba229c2792ca712f93e4098a6ec558a8631b0635d628e14ed3b476a7b94e554019161e7d3f6217b4d983edeb779fd40c89e13f546824d58cdab6229f156e22cba768f33bd76fdf83510f175dbefd4b04734998a7b7f7ec8e439cb09c28ce167529f2a +CT = 14bbca2fb83bf734ea7bffa3a9be392e564e993170ba97170587292fb6ec6fdc +AAD = +Tag = 104fcf7130b7ea536bdad5e060 +FAIL + +Count = 3 +Key = e3de459989701150a578f0504ca21146 +IV = 88e5e962b4b956b3ecb8797fdaf369a67307b8a38f763d1a151e606d26bf032bdd32cb3bafc67c64e5f1beb1c6dd6566070c3b44429125f915e83c7c59af2eb4c522c318ae85d7a13d5beaa2d88e1cf6995ab673ebc1ba70cd97da614f1ce7ef2f561d76ce75fa8a91ea42c2deef66cb324c48a0b4ad59f7cc4af00ae8644d95 +CT = 8ff6c4aba376baadc6522ec6febf47b223fceff5608827b280b3a7608f5ef67a +AAD = +Tag = be5f9367e15e1e5192065a1153 +PT = c6ffe00250b7cd88d7d15a2f328be773912e70e223da24e5b90e08b8966c2dde + +Count = 4 +Key = b6d18a76a18d2000456e1cb726df1e05 +IV = 415cd67991ac57e501903b4faee453e21493975f8e10f2b824e2dce2d9cbbaeb97fbe605a77b1906c102444df129b2b2902ba09441d60f465001514f2d00633f1a7ff6a86bde905328876591d53385c46e519a31ac6bbbf3160e4b4ee1a9da363b149d9187ac1690106083e92cf6a42efbeb5ef95df8bc3a864034c291ccb105 +CT = 615be20a3c18f91d8f93f27f68e32e76bc09600a48dd69e780583261e9f6a381 +AAD = +Tag = c4a83f2e9dc25741c51c7b6870 +FAIL + +Count = 5 +Key = 950336fb5c8378bea464fb4463754404 +IV = 44a8aa150d947fbea50451004163df5e38e845ccce2b96b5e34c855d25f98baac9d9177b5f308db86f1fd2a1e1934574ca6e12fccd25677065c229ef63743512f4324dd3933b00370b9c0eb385006fb1612729c892e13c13b4441dc5a6c1e4555cc713169f6086a810144a4ca34a897a4e577d74708e4f2035354bd7f4b73532 +CT = 53d13706528bf61eec17ded11f0183f37cb92a73b42d4437815705fae801140a +AAD = +Tag = 2d3b3c34791792196211b91551 +PT = 648b32e374e036841c1cbf297d36c2cdc756ca8913de5b934467f29c583669c8 + +Count = 6 +Key = 6c47b7f3e99ea1c4a3483816c18f79a6 +IV = edf2cb4cd7a926ac2e2863dd44335c1ad5f578b1db5a9e869afc74721c04fe8c529f3e4651fe153608c460bffc1e98c6b6e42ee1a3e7a0b313100904d85d0fef210e0fbc80df3cc4beb1262736d0eade19a29d2713c476106ddf87082992ca19efce2b70f0207678e3b34ae3c4ca6ed20c0f0a2acd08c8d81df3d19c206785a8 +CT = 65030563f884db5c5e2da0bf8d3e40aa1cba3e07df43a33705a8fc43360a93f5 +AAD = +Tag = 902c126be6001c2212bb45f261 +FAIL + +Count = 7 +Key = a2ac867eee639d69fa1212334c382646 +IV = 6aba72f670ac74477353cf03b766723b24debedad5be8c113f5eb7dfcdb325d7ada42e595288ab48b6028962d7a2257f01efb3d6185647ecab0a4b8d985ceaf03c05c784fb8c24dec89df6758040fe2b8815987fadf9181645806bbfe714e4a83857427444ab34212ee77ce1bf54472feebef24fdfeb72e1bbf0c7e84fbcb88c +CT = 1ff706f7eacc222f6e36dfd05e49b35c0613f985f74866e5998c79a50ec6a89e +AAD = +Tag = 09da72ce71e251b3822a2f7cb5 +PT = 0ff6328aadbebc0d402eb7902455c790e2470e86b53ddff8d827b840a8912937 + +Count = 8 +Key = 6c25b3e6401ccaf020365a9de03d7fdb +IV = 5bc07a08ca03a0c0260b53c0d260b99513536d6095e002d18a9bd20cf7332c17cde361825a764d36dee564b47211f7af2d69fb3c4567710b6b1ac504c2f039db12e3cde578d26e6dd43f9ced525e5b262e75320f50e0cb03d81e4566ad53f38620534cb4a3b4077026815c2d537b9e05f6e45e7c6481b17e440c390f1eb9af6d +CT = 688a8f4d841c39ef7a0ac65fdb1e5d099a9a7e7ffa7d12570b4cc7ec2df2eea4 +AAD = +Tag = 1828fdfbaf20261b165faad5ca +FAIL + +Count = 9 +Key = 7193b6c5e944e4860fff449842b6044d +IV = 7e0ebb014083b09e6b9756db54fdee1b20327c0bb17a45bcbfa8449ed8f6b78824c8d7cd08d2d5a850d5913650c853b09499e30fd8e146489300a6cc5101e3a76adc61112ea2e715f4a01b2000c8788391f2cddfdb43c0baf0b8711c048b19fb6e757ffe577913d99de7f19bbc95be268976e2bc7781a6de1293a9dba4b9a8c2 +CT = e2b7d55ae543a70c67f9d45ddee1f8916d0de3875a4359736d96b13ffc0a9089 +AAD = +Tag = 3dc689e0e45eb790a99826ad96 +FAIL + +Count = 10 +Key = 0bfe0413d623f1fbc82f9b193dbafe9c +IV = 5d3258f6f0721b36d44b266edad7d6b37cef11c32a574762da9896945917afb4e781cda6abd82c59e14378edb932c462c1e190e24c5bfcca63e27ca820f507418744044086e5206320e633502c38e6ecef4642ffd0ede2d545658f4792744c4085d2c03272c6aa44fdab0e21a162f5cb5e8f8c840e5f029a8c7332c9c47eb08f +CT = 8d8a2df419d9464af1bd07952471a4d1eb9761438abf87d3285a33959a915b4d +AAD = +Tag = 641a19d9bc90208f94e51ed17a +FAIL + +Count = 11 +Key = 4d0c88ebb7cb8d40fc23b8b333b19a12 +IV = 90e59ddc9319f30c31643903532dee19f7f61a7041cfdf395854a65d1b57b8ba64ef7a4ac30160e5bc1e933c189acb83097b1fdfaf72929c792fe495bf981e9261b17b5be23aecea7dccfe5f9d43d2a55ccd51a9dda71ffc12495147794b62ccb53390fab62e87a586ce3f8e6424f282b0857191221face31b0bbaeeece972a6 +CT = 0d3aeca4456c0f7377afa7fb1f346546bf0443fc27b98ac81242713627489047 +AAD = +Tag = 52c88aa9d3f97435887dbd12ca +PT = 19b99d1ec9b6a976a4d089682bbe4bbb264d0e4f8db240e7901ab8e069e79555 + +Count = 12 +Key = de7cd836e23147f1cb1c17ac200ce14f +IV = ba6d37ee93257de6e15c35df4b048a97b10b9773042fde6091deb6ba8bc01a24fcf3191fb44de631b1ac318d20aa415d0a8b5c410d0641211a092fbb86f6595167cada029fb04d2aa5230d40625e7dc40c367a3183790b670d2d3ac4d90349a0a48570b8079515d62b443da134bd16561ce96f0f1edf04980bf9ef76784fd53d +CT = fe7cb72735a7c366d7acb9e08f26ce7f8b2c361bdb3b23449442e34dee898de4 +AAD = +Tag = ebd1849610f6213ca57a1b5d62 +FAIL + +Count = 13 +Key = ce6fe746f2f7d1d825f721a352297938 +IV = 016702038d7a9d360ab60fa4b332c9eee6b2ad42db228dbce832f46b187de9d0d6655e5104b834f550d39457dcd2ec516c2d5ee10ae78b6ceba5291f8ebeda070daad9a4f5a2f0a393594eb0af5f44ebea3f211f4939f65426298dd07b18b6aee7c7074c4102ba8de62c60ba0c13f7f265bed4b289a9df46de5aac289bda3a3c +CT = 0328361ef149dd7de13d9f1af71f2ebd5bff1ace9c6c52791e6a2fe88895d35a +AAD = +Tag = e92f75bc734c9873773d173327 +PT = 72a9d550ba9c9da745ac97b5c9461eed11c39069a1fecdac3073228f24715f00 + +Count = 14 +Key = 8ff3a36161d082f19a760b538d20b46d +IV = 853dc2b8962fdfc77bc680761470a56ad694590a4c0f7f4f5289c51af681ffe0b7e8b7970e32c65d0fe28b362e59e74c2f83fae99c4f39a9186bdb908eae64c4c57304b2179b2f8fd4bcad6a28eec8aa8ae879ce7f3abcffeaf7ea93ed5bcc0bc7f64dcdf98b660e6826b9476252ca39177b872177b1584f8b7f5cb082c16980 +CT = 823870e2735a06ecdc60d532f3ee59a3b9baf915e19fefa60cdfdaed7447a9aa +AAD = +Tag = de07acaef44871ca08a50de51f +PT = b1a6f35977ca87da92c0dfa0725429d1ce4dfcd727849a2b311194938ce3edb6 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 540c6791aec81b69f2f586d61dee7162 +IV = 3027e670c1827260f17c61cbd949a4751bf50acde066f3934c83848a2ad7ded55856d853471011b2d00de87638c481030b6e91999b111d8135b3fb72a900cc39bad8e8c8be30d40a9d64cf042e26e1401f3d3ecbcc63e06bf1eb2a0274f6c54e1ad18079943ffeeb9bde7f602ff52aafd13870b723b08192cc88a3a26b251f6f +CT = 2e19cd62ba0cffcc0cc293c948c3f01c1bf9c395b1a2b15e65f87be0058ff7cd +AAD = +Tag = 0870849ca72547fef6ad7110 +PT = 51c0f532d04e3671ed8136db8a3e20a320ce523c13b5f610f4f8a5b2c8d84013 + +Count = 1 +Key = 949ae6a171f1021e86e47499b886582c +IV = 2bf617a1a8d9e70c491dc16b7709d5baca85633326a3dbe30a73146de07229eec8807a44b1ddb349cca85a3857bac35ddf132dec32c7b37cccb31fc1e31bf1ebac8a930794a69856efca61839b48498e242ce5a8ee47620ef8ff8a42b68e6c684de38cdc43ad539cc198d83132bc08a3aedef63902c8ba741dc2d720a503948c +CT = ce1566d666212c27568bfc752df6f9a38166b9a45459a75d56912bb7ef4f7322 +AAD = +Tag = a126e2c1ebda8000eb89c1a4 +FAIL + +Count = 2 +Key = 196f6aaa96cf774f051ae098cb5f0236 +IV = ce0b7672fcf6015e17356701c2ecc70166264fab95297ccc09dbe8e35bf023545d184f091a030e114e57a8f067aac7f22bd400b49dbd1414103801289bea7c53b1a975b910311d1efc39850a110f6dd764e1922a9120e881764a785e2973c76093448de340ac147b0b4d32a84ebb785c478bfd42ffa2cece950c39a6eeea04b3 +CT = ab0a0b6fad4e184ec58d205d918b60b7f2aa8a4f15752e9bc5881514dccc062e +AAD = +Tag = d2ed513cff70a450bf9a315f +PT = 8e4b4b9caf3f1881d11571a281682ca297d3f007ee5956ce0a87a988c8d8fab6 + +Count = 3 +Key = 221f3c5fc083e8cdbee1d6787d601676 +IV = 880acca44dbeeb4ed6a5bab00189a55f115b0e10fcdd65f94be81b8d0425da46a46939443dd4951709196c31787105d6698575e25930a0a9ff06561c3a505da28ddf21ecbcac073f6fe57ade686afbf6b3eddf2c18f8f3c1136423db33fb5b1c2bb395b98aafddead54ca2179f19788c76399cb448a3e0e7967b6880a381c579 +CT = 25aac6d96786f9a2feef9f8e85c097e69b551ecc89fd3415c2803cbe77314b4e +AAD = +Tag = b66b4eb7b4c80a392bae20d9 +PT = bbf79e856ceeaa226512ae5f3307cf42f81e859609a342aa57e97f1c9c1e1eb1 + +Count = 4 +Key = a1283847a2b41b7a7b564505686b609c +IV = e8ca0d9ef444b5e569f04fb38393de9e615e6863a6698ca0a27d67e20f99021a3e57069dc2dfd465bcade535a8af6a7cdb52cc749068f12dce5e0996cceb12c3c56e4c42f14a9e3397c51afc5688a561ae70818e3d988083dd1f6fe11294719f89073b3fafec6b32424c1e918ac0b64291baae9cd39b95988b9893d8b6e3ec86 +CT = 0ac34cf17c9a81f3fead154fd887f9478d720a9b7f1e263d99f79ca8490351b7 +AAD = +Tag = c73a3b63b9097d9998aebce8 +FAIL + +Count = 5 +Key = 4ea2a04ebd26bc998e69d6addf9200db +IV = 7db0bc2734a13f730616cc95342c1f9d3dd8fbd1e8b2bd49cdb3104abbaefcd0f394e46b698e78a8f1143053e3a77b3ad147d6d908b9d35f3ff9e730702c78b7b079454d1e5b4a6a5759a557357712086a4a14ca6fa52037090b1f7a9a041bbb3274d2c5df4fc73b20d869415dfc520324c6de99ae08278fa1d9ac7ea4cd3a26 +CT = 7dc54b6104052656b9c8d00a4875c3b24e0e22c8a219f35e54c00100e18da14b +AAD = +Tag = 251266554d093b14e424d3f7 +FAIL + +Count = 6 +Key = ed74da64688db57ebf2c7fbbfb9bc641 +IV = bfa6aa8d5b3d0a20b0a22ed03175213ccaf757a3f0d3218f891785779b89c1acc0ad7bf4c940734516202dae1af8843920faeee66f61e527746e177256ffde2716e950e59f15ff2b1a1c2e659449933a0d17d3d469f81b03e120a1b1c5d778a39604f0e93abacc84d0474ac355e726b5e05448dfe82bcdcdf2c8a4dd98eb5daf +CT = 6e051de0cbe81b3b9559e75145ef8d2cc99b30865172008ea7e57746044d02f7 +AAD = +Tag = 8160b3398395d49390042fbc +FAIL + +Count = 7 +Key = 544edbc71e7b51b4087e8207a5d22f30 +IV = 4ac0af06ee332e5c41f6db60b6c5d16babcfb91749712a2aad4f642c0850b04d540bf74310818e42d1cd0c3b4fb72f12111be39750ef70e5f180848f947d5067828a4e4161eaa8f6c2258c7f19f4f2ad104e7c72a71de3105aed28ef6808ed03085da337b87914d322670f9696560d2dfaef811d9909954c6bf05c8baedf61c2 +CT = c1b9d47f739b8de82738d0a99109a9be7abfe9387d70102854262ee7c514bd9d +AAD = +Tag = a7f4e4fcd5d1a27e07a83277 +PT = da6c097d552cfef54aa14537239b5a384c6d589cac0c7a88276f6b81c28c9857 + +Count = 8 +Key = 11ecf35dfd8b56375140e8ed80a67fde +IV = c73c286c1fe95e65cdd3ecb363d094ffd68cbaaaa1c0fba0a37c323a3a10533a528d94c29d5a90c54dd6ecc1a8702c77736672a3fc992ac03fca73428ceec5cd7c8ef36a07de03ff188bb4ba35e2a5420e7d95e9bd7441f0e6ad94c5ccfdf7c97b5b85f4c5d819ce05044f2086a5dafee3d3b8de63b6e08919020f65570b0bc7 +CT = dd0403b64755a39a53d8eb716800f69679807b0186a0db2a93be6e20ff95f6b5 +AAD = +Tag = b983de21062b7e3ac89b75bd +PT = 0357f64e1dbac673aa582733a5b46d040ed145c9270d22f6475b5811408bb70f + +Count = 9 +Key = f309d997028d03e13556412eb11c1dec +IV = 22edd92cc86112e593241fb59c8859164c2352f885e3cecae635f8976a4d2937cd2e5f9fd577ed9778894cf9839b2ac7a6e410ed1af434a71a95ea9b34e3581945aea1b964c9ee94a4ebb7c4ead571563a0faa722ea3d608d848f06b7049c72989d8300eaca00da6516bcc72cab1def75b500a4ccde544f511fe5a8acde26696 +CT = 300bc525544bd45f1b3e0d75aadb139a9cc4255b4f3ce784c55afbe1538cd19a +AAD = +Tag = 5672224eb9c53a9170983a22 +PT = a574e171642be2163e7673a455ed2909f41188a8f419427000338cc8b195b3b8 + +Count = 10 +Key = 1342f83c2725ed4839a4ed1020ab7eb2 +IV = 63f3cb98653abe1321d29d5bca8799ed6a77e6598a3e76cb0b1e79d69ae37c0906af297d274a3fd01d15f020f289c1094e18c7aa3527a02e6440bd432e3a1a063bf675810b53f0b71bf44e4350106dc7dfe8b22b811ee4f5388525d9ec1a327cc4a94ba5ccc237d535dd6da6af7de29ce6b6ed079785ffd1a4312e53b147bad9 +CT = 62fb007894866a3edf83444675e1cf17f804c2bacee5ed109200ad3e667f4f0e +AAD = +Tag = b0b39e8988ccfd3a93a8e624 +PT = b4b3206a18b9b06756397ac11a602c2ef9ce40f06c754bce26902b54552cd3fb + +Count = 11 +Key = 675b7b81c42acca7c0686fa998f931d4 +IV = 2d76070574e8ecf74d8862e560a4ee6abac2759e2a2a769f3dbffc4f8096119e39d4d2f42db69dd4b5204b1eb5e673b0e396f19cf0c963bfb5c07951154a529a77220588dce662493971e954e90033f7380801822b5817b22db135dd74587b3e2b2487eb8771070ee5564d7c71c7f7bdb0cff479b89d53b5fbeaf4ead3199b7e +CT = 2270ae7718ddb106db6e732870bc7eb3db1ed0be2d5efff7ca6331e102377d35 +AAD = +Tag = 770f2a043b1abec56099e473 +FAIL + +Count = 12 +Key = 7c77c65f942424028b96f3cf8e649368 +IV = 704b54712252aa29ce3b5a92feba12e25522093efb534144a661f4a5730866f0ba6d72c89c04a9dfb6c135f82371623fcb4e262a843e57932aa057a6083808ee1188f7158e530521cd06de79e9883393a87c03ebabfd752ab257381a5870dd9bdf8b8a317050ad174f312c84a1c7ed1ec04ac951ec5ee8b5b3a4703063015960 +CT = d6312dfbf3fd2669ca1bb319d0906953244f6f650d5bfb69574c51a6763ba972 +AAD = +Tag = a8fd9dbebb43416cbec570ae +PT = 616d12a9267fdb538fc94e44ad33ccf29342bd763566461e57340f6b36e32cf8 + +Count = 13 +Key = def9aceaea01a2e72feae18c4aba62c6 +IV = 6f61a02d55526af1ccd099f92d14c7d6fc174d79ca927b75f9307a334cf9555d2fafdb05d14f1a74c84e637aa3f0443f378e7f0d6bff57607cefb0d60f66bdea42d9b64f576f59f4bb4634103dd469adffda5cc7f8a9e5553b30133aae9779dcf82cef307ddd0c9659821bd7511d959b5442281816b55f301d25c44f80ac9d4a +CT = 26530a62bdd2e3fd7681224fb9ee7e45c7de8f66cecdb076d6a1910be16c10cb +AAD = +Tag = a5817e56947b2f4bb6abc8a6 +FAIL + +Count = 14 +Key = 40e1488453a19a0088f29a10b8e2d673 +IV = 82d11f11f06f71265e74ca521c1e96628a7531272afd9d383ac85782e4ac1c18ded43124c86e4578646343c19e17000f4992cee2f34f3023502b3a4973f17efda1a736244cbd09a87645ed813ec80dbc256c0a11e458fb3584333cfebc293a6a39e353f0b218579971bbf08c3570f1aef17ce9cf69fb1a74a3f50c4fffd34214 +CT = 99567fefceedb37e9c1db459d0f263d261a2386ffeb12e52b50e2c323981c9b5 +AAD = +Tag = 3b0b627eb3ea937144cfcfd3 +PT = 28eba7128fa03c6bf0509b4bf1219c338f56d9f18b527e947844f70d970b6c4a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = bab1a473e3d4b41b0e3cb60e730ac4e6 +IV = 35d4514ae8e7ddbf2ecc0988607bd0c5f076459af731f131249f0b65e6a96cab5214448402cad0584738419c97535ce587e496998b060540ded682b80e56925ad17032d183ee579f353165bb37422fdf031790fe9143d56949088ee9073f6780b40fc040f5866f311804bce911b0e288736061f3fa4d4f153fb6336ee0094997 +CT = 414b36ea4bf5bed336c0d75c049d5af62ff8ec9218d655a49ae15dbc5af9b0d4 +AAD = +Tag = 8c86a0b855ab526b +PT = c8ce66a2783a54ee507d914c273573bf57c4ecf883d7ffbfbd12b46d370b444f + +Count = 1 +Key = 91d424adacc52790a91e8cc0f92c907f +IV = 4fde8a8e9ced72641d654b663f4835879ebc3d37f7ddb7c4265f7a74eceb124d1d4843183460b773023e2bceacaaec6d315f4cda5194966a83f80294618e2678576c85e0445d292196fe75dd8ac8994c706cdf33ab09478d86a540ab24228648a1a001f3f7e83efc46419ea5972329c5851f3079017c94e71344ca80b3f81e24 +CT = 257d9ce9d6cdf76bd2e8a066e6fc7c7c211df7a115de2749eb939e3981ca21af +AAD = +Tag = 362f549765c0f9b5 +PT = 30b4f001b7f129d3408645e4281f5deff4858297c84d23eb64ec6da4dae84dd9 + +Count = 2 +Key = 437bb0ba0019365f1974315919beb132 +IV = da808c19430f0691e09ecd4d2b7b532f60a8531ee991361cefa9753edab374f1fd08ac03de34566e974c27a18e8cc3fff7c423fcfeaac6e89fc1de8e98bdc4eea8eb8bdecd3afcdc454f599ded96f7d2b934fd10fd705c2eaa14a426daa50eb6860d7a9fe2fc70c1945bd71c2ef352afd9f424ab4d29bb20b5bc8c3544b835f0 +CT = 760cbde825a5c269f62d970e85e063f00a27a4da8f362b60a3a5df91425bb0dc +AAD = +Tag = 1a8023ac671c5305 +FAIL + +Count = 3 +Key = 2ac0403d85849acd1fa119a2d23fa3b7 +IV = 248da10d156bb867461752af9e1b3fe80581b1c381859950c29e3ff458e43e2a655f492bf1ffa59c14fb40093bd73e88ea26b7283ccb3a9a0ef1d0eeb3e88b9ca81617ed706f600fc4e99e82c7c614e0f38d00baa7318dd91a6cf4e27c21aafc57b6d200571078c991efde4a272bfe4d0b135c58952abd5bdc9901708749193f +CT = 5165e7acb50a50c4ac163fdf76880fc26397217082a47714d8f623203678cc62 +AAD = +Tag = c08980a0834c3448 +FAIL + +Count = 4 +Key = 94f97ca7c13cd04b94326d28f75cc59b +IV = f8df2208c61c7504dd8f1e2ca77fc4eb582e62af9de5b22c2b4470cd897e743372ee01947233f1b4168137afe75c192862c148a31fd7bd9e114266035c2b62458aa0e0d66eec28867542152908a39116f8b0bf10a89b9ec0437997a2c21871510d078e1ee8e5da951c4d9c4c9668d8ee206916996d8f223528748613e2d36b6e +CT = 261d6e876994b435db216cd4b96f0b52b02b14c94503ee45c559e573f516a983 +AAD = +Tag = 2b548f8c4462f28f +FAIL + +Count = 5 +Key = 3e544895117dabe2a3cb4696d970d1c4 +IV = f3022912d501957575a88045613010d796db55347f8bacee9970ea015a85a56b12fbeb8d07b9b80958a8d05183f18d3919dc987c416e3cfb446eb0f2fbba932b10ad160d9b6aa6cdf37773bcf3393c9ff6ea426e0104511ba8882a2a57a6897fb29eeb8d70e5a16339962e2ca70e37bc496483ab296a4e90514b0651275b8581 +CT = e7c9437d46938914a2070271768884b173888c27616bca13c78905226d948ff5 +AAD = +Tag = abcde08fd65fa249 +FAIL + +Count = 6 +Key = c25ba7ea17ed9d127ea5a93bedf884ec +IV = 8af9869929b2f9f8faa8460dc60a52cb614e4edcd19d1a81831e2ce370d43f462b393bad751cfe348cf2bfa5fbb4484c5643fb43fff51f62b594b208789f257960e6c517908cdbfa04e079ac8160c9d3cd9802562166cf4700d8529e44ab6b3440824181360d815bbc5783f5bc1bad82e4a7b50e12450e93e22d7073c290e2c9 +CT = a755ed13035a54a90e1d970a5eebaa3910d936df3add65daa61d560737e07dea +AAD = +Tag = 482ea7b2cdf12fd8 +FAIL + +Count = 7 +Key = 21bd3be90bdf2f463dd4b93f57994a4d +IV = 041829e68d6631aa0e3e63c1cce544d2c879257cd3240225d67c23b675e3064a3df0e930d14f2691e9b2e92088344ca6a9ecb524e3b335c44089bb80479adbebafffb01de7e78eae6ca21ca2039ed8c7fdfafd5d2bbb08c90ea39ee307a2855f514fcf172b5ea4e77d9e7eeddf4f0e18c0fa3a5d48ee08959db12a8b0a3d5c4f +CT = fa6b1df0a8525c4a027c16375da10f40fcd850b1478ade1cf00ee386e205ed75 +AAD = +Tag = b24d21c7186c07e2 +FAIL + +Count = 8 +Key = 30c82dc322ab5c06eb9a555648083178 +IV = de70e4f0e9a78a907c85dee2ea03fc26f13aded9a036796bd008f398710e253c4671c8d264ab19dc6cae2aa218311d5b0beab95475f8bef4f730df1da51e7e442bd3e75576f43768b9543132c3d0273ba411768661ebed8138b2d7c624226bc55d07e23c8f6777c062a166538610561f604ae319f1b1fcbf27d30a22aa4da8c3 +CT = 73d96981c342b77839cf5372e362f427628771e21c3fe6ab0a7fe2b3dec13b01 +AAD = +Tag = 75f87e3f7d3cbab3 +PT = b6043695d9e4ef0da6cdc41ad52c87e160e7c6e552e147697b27d6c0d362af6c + +Count = 9 +Key = 302edc49094dcf37d80d35406205368f +IV = f8cdbc910992b4a8e581eb57ef591339b548a1b01c989f056defdb35d871d4d7af83bb1fe75c137c255f5750d563e38abdc6cfa9acf9759f2804e998aa5e5138e0457407e6cd774e34c7b3c528a5fa99be6752d712836cb38a0aa7da0b62ae60dcaa0e3a7970fae31392d4b9836a6662f7fd6e1ac729038e8e82d6a7c1868eef +CT = 98540b16bea1ed19b63f9ef76cf4d68cdeee063fc3bc04dcd23e73d92a043cbc +AAD = +Tag = aae03ee8550ec98d +FAIL + +Count = 10 +Key = 9c747adf30fb8b7ec7e70d21650bcffb +IV = ea7407f62940a266522ccf9ad50c7b64e585d88ed9b29b1e44b33b4fb80525fe1b2b945753e7fb1e43c1abe7105c486a7f7816a27d097b32063c33064e805176bf2eeceafea5de7a5b796468283a3d2df4e882b52693291dcf7d83425a94078fe315c5ecccd18c4b0db466dd8e1dbd4e103deb24b61c2abf82ffd2748fa87c1c +CT = 8a8a63f88a47aa4883718f566e77db445b5c2aca79c3056f70f39eb8bccb9933 +AAD = +Tag = 5cefd3eb072bb390 +FAIL + +Count = 11 +Key = 02f36c8a88d88aa6ddabadee3ff3e1ee +IV = 0e80d1f6bf19decaa2b9c71bacf7de2a2a74bf502340f82690eb4486b657dc9cd4e8736645d3422cdc035f0f7ab768715b9e2b46136337cb379780a437a21420c518457b140305f65f2dc7aa537b8e889b7034784039fa4407eac6ba44d8896bc8a690d4ae1f0bd4e339c7e2dab9195092243459cb56fc6bcf2176f19153dfef +CT = fb60bf7f2a8c40b78af0c63b7943834b77f2be0c456135b7f42147a0f1544f4b +AAD = +Tag = 62d92acb6e0b01f9 +PT = 6409943eb117895607f1e7d98f3ad31bc466626af2b7f7760ab7ca66b71c0362 + +Count = 12 +Key = 40a66231a119cb99820ded41bdfea7ec +IV = 30347c52a08a6e6a620681b69e0cdf59ef6a72115ec8f9ab6384f49e799a46fd7d466d3ea2b0b0f300e343265ac8d9044e0814e33872b39828c6eef16da2165afdb5524a6bf11c4dcdbc71c77aa1af1e896a7c42baa641333f8b36f6511cbb1594d464c9e3c5b15a16c3de4b2e4dcbfa7deac2e52c1115735a265cf3b4b854c5 +CT = 4865d38c40b13879260baf8f3b603babdf30d4efa0726aabe9af7b5e1a5788c6 +AAD = +Tag = 61daaa993e8f4f89 +PT = 940988f3505572826c8e19d4fd52d32e53f46d370eb61c5d09787198cd8eb430 + +Count = 13 +Key = 15ec15e496696aec2be28a2ab4cb8142 +IV = c4c0c14a1279120050606c909bbce132f178e81ae3432ad94b0f4471788f1e526acaa5b690593c4f75c3d3957679aa451775caa9683bc22aaec46d165b32de9714155b8c34c3c6294d9e84c846e89347c1b447aee563150bfbcbad5fabed8d0332a0f90ba0b91eef0990a60eb888ff2a85d2c958efb5d83d6188e56f0bded9f9 +CT = 9e7110c0561cf7c748cc165cf58c50279bd2864f1e6196061544fe5f5820f072 +AAD = +Tag = 4f56ddb50c1373d6 +FAIL + +Count = 14 +Key = 1c382eac3d53adcc0d4ebd51b79c33e5 +IV = e020780fda1b23971f5db362cc67b5ff522d63b77bfc8d394dd2814dd8be8459a999a6897e99c6955028c572c2efcbb224080378a552743bd3853b6465f04220bf2d406d76fb5fa9f1b4e4868aa06075c73aa4cf6e6a17934a5dc2fbb5e3b73eaae51160b1511835d064a0250c572df6a0ab30b776bafcbb3299fcbf6007d1ab +CT = 85d9abe6f6a1c663408cc38db318402de1e7f5ed81ea546cb313b7d2bc643f00 +AAD = +Tag = d36a886d3f868842 +PT = b146b39970f7f72e03c878fe1bd8aa88d426eae8fe91ea6336fc817f74f82d48 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = bc85d38531fff5f7d907b9ce13c70dfd +IV = 4f3e8d493aca8eefb8dcdd9460250d4b6ef73acdc5e5cb901e0714d7c810e95c6794fc197a10b007bb3ba50910e707cb6a7b9838dbed9271d455b14ee295c1566d1e084cf2cb7bc2d0bbbd6ae2e12757cac82eb6b72de1eec2d69c66206b2948495f2bacca615d2d37c1d92c3956b7ec1dc5b48ee3120afb40c443688f36c6cc +CT = acd977d983a990d75ce3aa7de9f9a01cc14483fb2199452c5f87b4eec55e3a24 +AAD = +Tag = 6d43b392 +FAIL + +Count = 1 +Key = 8070d4979b6eaf1f208aa198ff99249c +IV = 61ec2cb7aebe45db9c804dc54e3e4d041ba90c904c85ee5cb78bc2f11a82ce6a2445252cdb317040c07c9343929e880231142b7ce3560d7a8a5affc135817ea87b887e5d20319041f8fc2114f6ed369832ceab94ebe03b7fdb6fc22221753aead856eef5cc57c0cede82a789baec46809169ceb75b8bea87747bd34754a82780 +CT = 8cf9969dfa13013db1d3684e04bf581404776c292efbe469defa59d9728a28d2 +AAD = +Tag = eb0b02a8 +PT = 27abd6e0cc072572a186ee75354e0a739aafa5136269a827ccb11e426832e20e + +Count = 2 +Key = 18f87ce905d1b766d196c0287f04ec99 +IV = 4ca8613fb1224a9f3600f8f4350f54124221301a530b513cf17ce07a8c8cf4ba6714d21f8a40b508b5c02c65127a2925ef67e24016de6aa518c197be0da269bcd8cf9b046102bf1e35bde6a909ea5ecf8e7ac10ffaf0d2e6d3041dc536476c438ff123662126c55d65bfccd8d924f4104980fd64e7e64bc9d2bb7b6efaf3e05f +CT = 69e6834295caac060b61244aac080091a61f81dad2a1fa2e75dc2a7875c5d6d1 +AAD = +Tag = 331cf7f1 +PT = 7b94680674bca85d47cc130347002e44c1c56f53ec95dd4e6395a428e026cb3b + +Count = 3 +Key = 44e5499e4d8b4ecf812631586cd3ef5e +IV = f2a53b868ea1270e374f97f5d22e4829b313b6cb256d7d361d5d03a09b0f73a2d2329cf3569ab8596d29f0ab1dad9acadadf5102d6919fdd8146d8944a77794731208c6287f1c402db94af4d6d85ac4d859bea909802720d75f0ff1945c4c5dd8c9ea5451adf44e44bbe96328f2958d0b922f635d9b38ece3f90c3706b29c281 +CT = 016160ce6e84187e0b39f905f72f68b21bab7c9610ee830b40e4dfc0e92b2993 +AAD = +Tag = 8458cc11 +FAIL + +Count = 4 +Key = 55ca9bd13cd12f79e9bcea976a15a754 +IV = 0dddd525d4a19c43298b7c776c131d014bef0134d8f31bcda956e17cdc7da154c33b796a241aba9c27dc0aba20cc30a881c22b252461ecd049a0121110167cb9fdaa18aaca7b1625abae247884a51eb6860c40c60ecb3d88e1fa592d40ad1322ae076bc35840f0c06f095f1b4e385d390cdefb896f6701adf2833070592a35c2 +CT = 90da6a296e6fad33a7af4b858bbab14c0caf309dc8b68ebe92fa1e7adfed8573 +AAD = +Tag = 02521918 +PT = ef397516c0b48f3376feaabf9a2658ada677b45c68a939aa4d08fc091b6627ec + +Count = 5 +Key = 3609a36b8ef78dd6c806f4545f5e7210 +IV = 8b38f072263ea1bd795dd50ae1a1d5fce311de5241461fc15bc0916fbfa173bc8133e9d98d9a1ee1582fb77d90ecc8fe805eb7a098d02aec59519753e335b474264aa6f2419be073234d0fb1b738a267e8e98bedb1faf7de4d3b5b6e0040bb159242680f2ae1c313a69f96b21309d6c478004b19bffe75a5f809711c132badcd +CT = 78273c92434f654e63eabc5bfd827322f7d9207e514be5de618f3ce707bbf21d +AAD = +Tag = 9224d221 +FAIL + +Count = 6 +Key = ed893257e4dc6e371c65edded4a12fb1 +IV = d38b8423a961e3e88c8121ee97ff6531c869841c766f498a80720aeccd304c481836c205b022e0b2a196268cb5fd0942d76fd149138a4f79c4622724d1685544d8a968daec875bd1b724743158194e1ed25e12dbc92902b7831beb4c268cda7f34b9a33619ee228250a9bfa818fadf3ef6e689c80f5b2aace649f8da346eab3a +CT = 8c512e08babcc36be6a3792cc47ce20bf9f20ce8e0fbd46d2b7e25f2aebe77fe +AAD = +Tag = c239549a +FAIL + +Count = 7 +Key = 3a7e301544dfccd79dd988eeb72299c9 +IV = 84e394483f8ae375af9f8941d2f92e91004fdf6c480881fa620eb1912306a0ea34b46eb2ace438339f42809ab4586eee809680720f3311955461d52c4ec24a162fdc908398f5fdd81912ef08e853ac769df7f3e62d66470a57bb8f62978dcc09778199225f6d60bad30013bc892be538b37eb7b8155d173d1652df5c61757cbd +CT = abc24c09ba2ebc3c51700a07b6afc56d26a0da333917c8918377b773ef822aeb +AAD = +Tag = 150f417d +FAIL + +Count = 8 +Key = 0b60ee7e41123323e9f244734909fafd +IV = c4a91fe9724abcc5ad6e0008e482fb78fe869309c113d8fc51727a2fdb5532fefdf6e873684ac89c1c087a41e97af0ca22600bd14ae0c5bf5843eafc532ccbeb65d9dcec8ea2f915332ea8652cb8b322859d4320b47bf97d4a4f8ea34fe49f7bad51e3a1121c0a9dc7f5c0bc4574b717b0e3380a5d818026d446ac3e3f95464c +CT = e8ab2cd7d1f44984ff97f50e6ad0a323546bef05f7a7746390a2f6c9b221d436 +AAD = +Tag = adb8d018 +PT = 82b381dd931543f04b44226d73021ec434dc9a9ce8a30426f7c9c2348f31f741 + +Count = 9 +Key = 40b55e04b50e379e03a8dd639a2ded8f +IV = a32a0fbe2d8bd7f5c2aad4b6fa0eda3f1fc45da5c49f98606bbe4aa56180ce8264cbdadffcd0f13131af8e7107484c3353ac223be5c8bbc0dd0572636f9a94a0f7df507f781a7554e913a797bde542a3b1fdafd63f520d1457ae5826207a4cca2022d94fff486d46dc69a18d41f5a1607fa9b2da93802d9dd35eb3db09e8806d +CT = 0e5f20d04a0fa2f9063ad07480ae9db092a19c330b5a214827696def79d08850 +AAD = +Tag = 28d3f715 +FAIL + +Count = 10 +Key = 972cafc2587b678b9d7315e1b078d9f5 +IV = 3b8e83dc7230ffcd72fe4750f2dbb8b268c268aa535192b9ac1009289924229d5cea8ba1f3be88a0ca58bc5c308ad18ef001c0205098c4250157ede0cbda8f5d69e593c45c64c3e8de0065ebd553db2f8291bf6640dcf630c55bae4ee3df19a7880b1984484928daf7c2ffb34a90f6faa1a4d67eaf24ee63479f48f1e3b404ef +CT = a0bc782b2def292ea79c0aa91221f03903fe20400f45141a6aa6b526da99b4a5 +AAD = +Tag = cc48cd1d +PT = c327cec7e0ad6847fc5ff5d6d8581a2f6e3c1ebb7aec13699142f8f137a7872e + +Count = 11 +Key = d12705f08182d0cb11906a0005bbfdb7 +IV = 41bb6497244cce3d99c646e7ae04bc28d1854c7d026a394b4b5b23fbdde1c990f2e1c05e3b16426bf10fdf9d86ba1348c3ebf0f78c18051c7b24169f3131c9fd76c766bff2625257f8e15816759839c3b1e8f53cbec8baa23ce7824effb415633dabe55ed083257c0b121381b52e1314a55403fb3b5c6f9e1d337dd0b74fe692 +CT = 772dc28a66b802c6b51048de198c98b100ff241ed4f08e0cd7bcf475027d819f +AAD = +Tag = a6a627c4 +FAIL + +Count = 12 +Key = c85357e07eaa21e41b9eb1c914f96a75 +IV = 682a0ee2258f85f053117571cd1c2e02802f14919aeeb9518a4ef288bd5d7f75a1106bf743072bedaf9f41e41c7ef5ea91de939314f0da7035d6093b5c664ca42ad9984b76496cf10c4703867fe757d48627476782b965a4b87e338bada1f3e40a7640b7851d5b205f19678347a181000f03937ee3fb4fa6c54e6d3a39d47ec6 +CT = cccc2036c7f2934f8f1fc814c0185fce44dc94f2ae291583f786d24b8f4cba57 +AAD = +Tag = 819c1114 +PT = cf73f656c4360a356687247e5e5edca9018bcc3d0116bae16fa7347a0606432a + +Count = 13 +Key = 7b0f5f264d9eeacd98fa13187b6ff358 +IV = 9857c5fa97fc36c284084d733e9b108788b48c54c04d27e10c9a2fd757c0b2862321e49c258d265896d4ab9150b31ba9ca6874b78e87ebabf6323d052610566a4239db431e76c7592f2653720e4e3475d21ad86488d93a96c7a0aa8b6f5272d322996ccf824120cfffff640e79523962fb50206bbec65a7c8d9c25d93b50511f +CT = be3bb95ed433547f3ccb1eb8552e6593bee4c743d468c5c49d0d984c2150bfac +AAD = +Tag = 64599260 +PT = fd559d8364bd3539ba01fda544d1d075f4b48278975281ee5cfe082fb2f112d7 + +Count = 14 +Key = 8c04e1db9f14b39c84fae7efe5b6fc20 +IV = c30ea56067822de9a09e170efc40951e7b8e8ba329c3c20e416151619a722474102030caabb7cbcfad5ddc6ba9ae45702b500d40a9db35241f982d89b06058e52eb6f207e6f063ae5b2885e00611ffa0aa2208bb5ead0ace3f4cc25e9fcb8bcd1c2b9a8ce8317f44ef058f1972253c8cfaef8876bda429e6c6909c2f7b99081f +CT = 45c7767c0676fa25232aa0d633eabb8518581fbf5f5fc2da8ffa415271c6c13e +AAD = +Tag = eda35fc9 +PT = 9048d471b2866482591b60c795b60f396ac9d0fc0ebae7661495a4f23bf65451 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 794274a070ff71f9295b8fd22b57f93b +IV = f63e67df0082d181898a6b0c126777eb5844e71412a9757a2c829ccd5e8d7ac4b7a82f352b554c903f4445786831dc5a6dddf4210adcda7189bfcd1d2e4dcc84cee4c4e75572e7307e5f557fcf823d75ac4f2953899d2d748c03b016c81dadd957d1a0dabe8a82b95e689c8649afb50b1257acd1bf25c6f57d5f4f958f07bb82 +CT = ac05370252fa7128442fbf3e395103c18484fde70919ed1382ac7e3df3066fef +AAD = 4304937c7404a02f6ab2356177d80729 +Tag = 63d6ba978e2fd2a5f7c5ecd276fcd29e +FAIL + +Count = 1 +Key = cb1b70b03980326494e67b1bc3ac9269 +IV = f4db87a3a23482eb50f10d78c7d11e1241556d03cda304ee29f51a14794250c4a25d06a75db651c3743ada3cb6c0663a9fce967e2fcc8fd571c869a5ff6b2807335472a2fc2f59cb05fd1c79f3b2d57b9488842e594e2a101771aba2129f95e8bdde4f2cbe71a7e0436ba9fec73f4e0f7820ece228c5e1188ceb30bfd851dc41 +CT = eda87543a1dccc347076ef5bfcce37ddf66fca6ebbede03ba86acdaacbb657a8 +AAD = 87ac1cd2d9228952a621cb3369f0d140 +Tag = 9ed53def0badb0af999ca8c75919447a +PT = db8098e6a759ba9ed123061134811f4342a14cc6c728720cc9efe4c565478a31 + +Count = 2 +Key = afbcd7d3f14bb26540cb6a33c1dff08b +IV = dcfa4c19c9542a47ef3f8b1d539b7ac53b814e827219afcd7408ec86a9f6150ad7e25f57835d27e416abc44d5c3c905fc7acde6153f519c273000192cc21fff806d8a7baddbcc8f5770cd039aea4753fa0888ecc7427ade0c55a369a47a60b1be1c3c992ca117bef8ec2d06d19b9825b44209b71bb284e1dadaefbf7952dd942 +CT = ab0d509055f8e63aec8f2f6d53f97105d2f6c9255f207295996fd05114f51007 +AAD = 53cee0b262cd4456954f69a95ef24db9 +Tag = 6e6acb0b28b5965c75b758c832c29693 +FAIL + +Count = 3 +Key = 2df4f46364d0ead86deb61a79da4c918 +IV = 3c4f599c34c22788c1886e85463a3883e14aeb543382ca68a3c8fbfd6b24315bdd2859cc042d49ef40c6d810bbe12b24ff82258a1a4ba08407bc9a3a03bd074692de7d5cd455fb1ed29e65924e22fcc62c5e54620e35df36fade9a80aa4ece7b278d7e1f53b4e2bd1067daf8723ce66a94d43416574b94e45afaaaa006db8820 +CT = 9ca528ad672d762342b819826e924775c4f342fb3e4ee61cb6639e9f47119c73 +AAD = be1c95fbe5739d9a021672212b5bdb41 +Tag = f1276721b899c44e8042682366d1c4b6 +PT = 33f33511bc8057cce457f17aeab499416113228e54ff3e5a9c627bff6203e47d + +Count = 4 +Key = 3ddb01412a0741137bc71d45ad1a492c +IV = b59c7fc0c56072c517ffb1d52ff435638f39778597e0eff55daf61f1dfa321f22acce1e700e888bc969e2ea7f533606044641228e94d7f67d76b7124b461334c9f637001e30f29a9deb38d46cdc46407be6603545957964e9ca40799a406cfc6c5f1781b7ee3c81c061ae6558111f32ebb62a57ad6b9a44de071a3b44acc78b7 +CT = 72c0cba9f20a848df3f2448402f58324f953a78e3ebf4826d5bdcba6f63a1fed +AAD = 4004829ec009957c933d0a1f0c5a0247 +Tag = 1a9a4af75f0266463babe4b0d43c3fb8 +FAIL + +Count = 5 +Key = 00a3b48cd6c34c338568bc49dc288682 +IV = 7bf4ab275d1ecebbc24d648bd15831797dbcb1613d902507fe2a0df819f5653c8100dcb81a22dd4fbeb251229be2eacabf4c360ce31f5b1aa3e3fa0eac0d223b66fa82d6fe84117288a47bfd94d285544af3ea1fd7d36a245847433c16b17a8b97906eacce5d8e51ab6b321d9f1acd451e7a216aa11a0b4062b462d0817d8bc4 +CT = 4523e4db870ed357a89c60fadcd885b002c9d79d3e41d70aae35a8dfdc66f654 +AAD = dd58d8cc462ca74302cb17372d109ae5 +Tag = c6b79475129e25fb699883f881f09cae +FAIL + +Count = 6 +Key = 3ba3016f21d960fe106a1e04c422dbba +IV = 70b8ec419b0b73c3d2216edc6b122b2742963688980e7313a8d213e293d578ebc36233dab5b79341fdafe6670ba406840280d4f2929f508e8f85fb286e37320cad3b82a8c62b5d91cba97d4202985573eedcfe53ad315efad3bee8a8a83b70dc28d172186ffc850843636fc013692bd29af20d3eb98091b753c977ce8427681c +CT = 9ab0fa2e557d79e0e6ed9eed6f0bec48857395c3c47c65b9398e9205ed98bb07 +AAD = 7c89237521a52a58ded93f122c5d6c46 +Tag = 3743599f5901bd01ff53911f32fce074 +FAIL + +Count = 7 +Key = 70d1f1a00b85ea4d53cec14b21228f73 +IV = b6ec2c3a752158eef79fff78ac51f5b3200dd62bd529f54c435d0a189d163305105d8cf20da3a49b80dc1d984e27d64cb260989a1fd7dfe26f2cc518e4c296ef308fc6d84135053f1922d9d335b23d659b49a3c76c70007c25e751a455356b210de733208dd123a06d8a5b9bb95862f66e6e8c8459f35182ee56442b4095fc02 +CT = 76543ce79272f7a8b77fa94529444ddaca2851b1be77419359246e8254f8b8f6 +AAD = 9f78a9f8a477c94ddee8b5bfde37bdf9 +Tag = 8aabdf39e429fe45cd7f5ff6c929f346 +PT = ef1d13f122533f1ccaae31caa5c3f4fec94c966cf7065f2530a0ad2c546cd219 + +Count = 8 +Key = bc4aff91f3af227c02e9bc2bec24ac07 +IV = 899fd084a61e8f105e9f7d4468f8b464ea142cf3f4b6ab23465f8169f2583e20876c54abfe2114233ba5f6962b2b736acdb5c97f83b31eee13fe8f62bfeeb4cf1350c330f3a11b31d60d79059fc8aca8cecc03c7a896382fc3f15e4698b42a8c363028482edbb8d76a6c290758933edae1ebc89147c839e3cc32a560024fc7f2 +CT = 1b36cbe0f8a42308d6d37b15ced0dbbb67b9d7207f90b80477deb7f459e258cd +AAD = f520a9387d9e934d98eed977c7ef467c +Tag = 9cd481a33268cb89de5ce681956b4743 +FAIL + +Count = 9 +Key = 66c514a770d9564c3789db271cdc1c3d +IV = 884f52df96bfda4fcfd812e1b2ee9e4c4ddef36ffe7001676b80ec3513219610505e389641c5b5ea7e849f3b3ee43733df0d89df991e09c7496ea2d87f0e4ed5ef81672c7e9c76c07ed80cdc99c467ced8254898b606b6eaea02cdec383c74c3ff6897f74e9073033c1eea2055ad43d37b94cc828caebaf9c07809d38f90a384 +CT = ab23281076921b2c198eb9825808783ea9ecb95fe2fdc1a3a8104a44fb765f34 +AAD = 8374a775b7b50eebc483476dab0fead1 +Tag = 1855d3e09ca8b29db7c42e511c21d0ad +PT = 7a98ff95288a919f07a95b3a66e75b9ea771430f176b59be2e14aa0b05e09eb5 + +Count = 10 +Key = a93c768503a578da1f75b55ece7f597b +IV = 27c51e0c7f5fb6d7d378732a3964d1dfa5c60e1deeef89b72564ce6a48f64b51cffb8e2fbc8274f25b7219d4ff3e3955dc72c48ee37cafb3d8a6be7cfcaeb9dceae28c5db43b13cb50532822f6069a3aecec410133b88cfbad3ad49be3c51c4a8ff09fb5dfd0c2ae952149aff0b5a3b91e881106f3722a7a771a9eb44ce3b32e +CT = 99a0d7e34331ff25edccc1fbe60d1a2fcee14a5119ebf0db82cb48f6060bbd0f +AAD = 6f0002543256e1f3585b6cf22518dac8 +Tag = 727208ca3f99e612d8fe1f8097168b5d +FAIL + +Count = 11 +Key = 8362a154711e13f3dcab71637e30341a +IV = 0c9222d1c871ff5004563cf6b79a2681d6266522111580b9c18cc3644b859193deeda76aa9a58717209663d81f718351ce209a8958cb255fdcf47544fde7870967b979a0ab2a744c95c1d92f0ba59f34ff389667e7eb4f4cb662f1c5b5944533e3c232b7a09595fdd1f2ba721e20813b7932bc0801996eb46e6443091f6a2722 +CT = b615eb22afcf047a08e90fd3f9bfc9fb3292b9fb99941ae688238549078fb690 +AAD = fdc37c5d7892302f312452e811b82e9d +Tag = 4f89ed3e8dbad3e8ec89f4a8b66dcbfe +PT = 0a34a30b57047610597df24ab2974be3eff258e45cbb0eacf9ec083ce9581df5 + +Count = 12 +Key = cc14e1f2bf0e319a859463c37b0504da +IV = aa08fe57b65df15b17011db1ec62dc3a86c502d16ff8d4ae20c4c9a193249c02969988c1f9a11919ad89ede8b38812591a842d0bdc064657c71fe3438d59e0c1be10da20629aa7f9f30e278b47d28bd1a45d38afe4ad5d1fc8c991fe138db17dad740264781b452c0dad04a04fdd33cbbed0b7939d66b52d54a57566d5d0671f +CT = ae8f0db217c2c6016cd0edd8a523d0da2ae17d6629c097c700ecf2bce23d64a6 +AAD = fb1b4318dc9b1aebe208610ed9299432 +Tag = fadcda8b8599751592e17a07f01e6d86 +FAIL + +Count = 13 +Key = 996e623a32b4fd1c6528c616fb25f780 +IV = b2884513d13958a9e8520ac502d275fb8bfbf97228e31471842f877ecd6c7720e5bb43397af35c9fa0d989ddd95fef670d8ad70f83c5607032fb7ca09f88820dad0d67a00d3dd647d350b5a9406d1578e582a71f6cb7d23ee05778c9897659ecb501ad3a052cad0ef0f66bf1896a77d901566d4e6cde252ebeb8282cf0a88c7d +CT = da36f9bc55251b08b7f628fd3c284de0f2bc4c7822ca75e4c6b8eeac5efc8aee +AAD = e3d2f212042754d14a77d9f4e717ddc0 +Tag = 25cbc6705f2c7f6fb05b7ce28f108b1c +FAIL + +Count = 14 +Key = 7b4bc310834242d689080dfff9f23d6c +IV = 0e507bee55040ae2394eb5e9053d8815216ca09780aaa9baa05a3c72ca1fa3d94e6d09d5195567deba070111ef904543a1cffb8f0aa70519e756b9a8bc964fecf0831f85f077fa6a9abdcaef12d0fa3922dc9caf2a57148e0787d8f242683562648161b75de01c9e77baf6fa67b5cff61919712425a61e78c5f7f81f0350c40c +CT = 3ee8879db601bae781d07e5a902ef02cce6eb60a339ffd1a3037f1ad3120075b +AAD = 65baad70ca3d2b2b381162b39d12a831 +Tag = 5713c28206691bd234777e8e3953e6e1 +PT = 611453fab9a6cf7bef256fb9f801b833d7a64a499cac28cfd6c46ebc661ff630 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 0a15cabfaa52cca163951aaf646c1bec +IV = 1936019bee024cebcb43d325b55d5f94f5fa495140a131a4d8ed6cf94753e3919ab6d877d3a3c21e611ca8d90ba5ce8088688b5b26eca6e31bcf42aa9d4ae21b01162fc7f62f56984e25670992bca563855e9ff8d22fefa51191a24236bfeea8b7f671d65b2313f734c13c557224c73065eafedcaa56d4c2021304f3b5d4c887 +CT = e10f227b6360d61f1efe3606ad8cc38326da4567586d4a7ebfd6a773487d72d0 +AAD = 8214e4972684cc96fae7b5e819036f09 +Tag = 39269603a8b76c8cd3d897308aad5b +PT = c2c84573b4ea2c2aca0995d707151ef3e28e528d83ebc1d4091b3ca0a0a0d4f9 + +Count = 1 +Key = 8af4c98a26be401053020139754fc0ab +IV = 01d98d91cda6f9b4e3213d5f79e4e03a4939f45b2f1a99c451bbe5dd9d82a96858cdbe74110bb1081eac0385b12ece564f9642257de22b81ba7879953a97a22630886bdb0a6f8ee3cfd9c0af2b8e670ff92aab8cfa58edb84c9c41a45a484db4e755f49bf9989e7f71c0ea0dda2cf9faecce4e9b9467299b4c78705d3d4d931e +CT = 624942e4f454475e75ce97fdff6a0fa822d7284fb826c12a18238b70c79675b5 +AAD = 1cf58295c64ff29bcb058995f2004834 +Tag = ecfece5385ee85cb9f7e6ad8644a4b +FAIL + +Count = 2 +Key = c380ceee4f130b45729bea7563ff05f5 +IV = 3ff54ca6047552ebcb2ef07f22adfc0f4dc3da86e2d53c4a7efd0f7d0281c2739aafbcf1bb1d95fb2847eb3816c75460bab07390a1db8cd9d1489bda0bfafdd537a607c5eef1fb84a39ad70479eafb3ad7396dab6d0ff6b7aa0b9488ee1b09bbb6271e554af53a188a423e8b6b18aa36fa768e57e6dd5aebe418a73b72004b88 +CT = 870ffe737e49d9d15eecb78dff1795158d609c7db233e45e16262d660e7f435e +AAD = 27a5d54f1f84b8f8c4557bb969fe3791 +Tag = 2fbc43199b1f7f5aa894c581f59389 +PT = 7f496b730520433c445759fff06e864e8fb6bfbb1d7f5a0f7a54d3c98e4f66b2 + +Count = 3 +Key = 423f7116862e0254080a7f7c509b236e +IV = b4d471721511fd8b1d7fe20e59e64292233e4c2e0a6094516ae07ed482e96de2db1313e9ad3b0f2d918ac581f93514399b8c83ace22894735624d0abd0aa1695cc9fd55f1489a593f332aed006f1e5b91887f543a8739d7136b47f5f79c417a13291f3037b63a5a8cc21e39cf5945bf41435ad5abd13390d92fafe5cc39769b2 +CT = 1c71a6431819e4cd2f75e8665987f84eb00ac9d1b194bd7a7a0d652b0c783050 +AAD = c0595154599cca1f2a7cb89bb2de470e +Tag = b200f87cedea6f520ec086fb767434 +PT = d46795951a2641e708c4b2e8b774e00e3c67e666b6569dc2ed18ab10f4d2ea88 + +Count = 4 +Key = 8960875122a6606abfe23debc1e30ccc +IV = 8c27ae07adc7639530d71ae551620f14c7c7547c5e5589c492dcd074383d5976750295487ac999324692a1b9fa6d5d79b8295ff31f14462b05e55c023bf7c15d9c752510982d36d6f0c6ef1fae3c0ac12a8aa33bdf8abbc3ee935aca290df730dd0b5ee53351c5ee46427efb43cc736641a51a0005a49e11c4e1a7af568a964c +CT = b8848ae8974b16a3fc417c4843417b65cec6647dc56204e7daf6314bddb9b66a +AAD = ebc331a406be085ac2ede1c1a602f527 +Tag = e0058f5527e59f97add65bc8d820c1 +PT = 5ffccc070f783c2d3090687bfb3d7354206b6fad7dbc4957bb2565e786cc84a6 + +Count = 5 +Key = d4e36c61381e56fe61601f47dab64881 +IV = 1806c6ab3c21e0b46c579db381c393a2643da06a7e5e46bd5f565b1bb192dddd100a84048e0dbdaba3f2db81c896dffbdf0031bbf3e3dd4ac0810a412139dd31ea01251764561364f6a3469b14d2ed8bbaacd0bb6cab7106a123c91b7d9bd6cb35abd85c20209e73a43ef083d682fee236bbb3556d619568c02cd69386bbfa0b +CT = e7955d35807c57054f129c86c28d5259fc16dfc0e7e24267deb777711c1ea3f9 +AAD = b0c6c8392a0b83e5e735e47892063302 +Tag = 896afd54dbbbdd1129848da3a2373d +PT = 8c4babaa10c9cbb03f5c9b4b1f5a40922c1366e303ca5588f20d6698a4d93fd8 + +Count = 6 +Key = 8914402f78673141ec7bdd7e9d1b7178 +IV = 0c479ca1d77b2148289b5e866e7a0b2d2c84bef3e5c6e55f58bc88f793a352e14874594ee7ec89fafdb828f068674a4ea0adb83365c509cc5c23b7f8567fd6f28690625eb14457c739e01cdd8bef3e6ed6ab128280d5bee965c53239c773f1e1adc877cde61ccfee10ed094f110dbe7af980fb9917d4cebe7b803dcdf519fea3 +CT = 623c39e97b4bf631410241ed7c1c72291395caffbeab1f490604a4eb5094e2f0 +AAD = e26c4c132d8b7775aebf1bae9a74ceee +Tag = 1aab0d0dd3b8bac2819b3ccd6cb566 +PT = bf1055cdc3d4236e6aa7b8efa1678938e50694599e528748206f854ba4b9b0ae + +Count = 7 +Key = 7b147f8cd8e4897239d0d87d04af8231 +IV = 73a2dd05a268f67905691ac60c739a37091ddfaf17c4727c9133e1c993b9076e0553e78e30f678878a6b0fb36fd1ec92554e7cbf8bcbaecef876c7ee0f8d4043aa8e409e17bb33ea8dc2217c42d43790aa47db6ca433f04989c47a61bfbe1a2f6be9de55d0abbf058e88f7948b31005f6d6325679eb684eb5395692c45d87ae0 +CT = b54ee5e412f79193a43cc83f7231ed5c4772a645cae8ac7ce2a6ec34ac4efa0c +AAD = d9ff95c0845c8cf74e7d6cf8e8c1c1d3 +Tag = a249d0744b50712e8d0987659c585d +PT = a4c49e9738233462cb40335dfe4cba992a63facf83c209eb901f2c002d0b06fe + +Count = 8 +Key = cba673b30db1cda8af843403e541edc4 +IV = 8340d263e900b6422c18c50fb87c23faa27f375e579de7dd7c932c9c716ba262f65a37507908e47a1d780684eae4b5d90d25b021516f5a23fa9478f74aa47e0180211d9f0dea0004bc332d27a372f16beef6055107ae7baaef5409c51603944ee117dccfa348111407d0ee42cf24b00489b9e4402a811441a0e52afd902d50e7 +CT = eba1c15a11cf44eee387fde1943202f8448b08ab90e383e1afc848d23f24d456 +AAD = 112176c37c84f35e845200d893b7fc34 +Tag = 420c1eeba45c7f9bc163c969b389b9 +FAIL + +Count = 9 +Key = 0e5465d07b66f55d58d07c278557efee +IV = 146fb14c5252e7e4fecc8885cfdcdb9a99bf71bef5d4498b3aa02bdc640e9d14f8839340667b2888a417c7cf3f648b1d043d8f3c217f3920d1df579e1225d3df2348fc8a6bedccbeb57c3ee4a323019a04d3ec25821b1ecd7262fa3113406af15039116403baec901a00543e9f48f9948a2cbfe09b338650d3016173425bf61b +CT = abbf87e2abb01b609269d97fcf1bfdb2547b214a8c509ac550faab28a9041c75 +AAD = 4a2d9c23ca3002ab13cb9555cf8ce6b5 +Tag = d92809045407f8b770e94c211c75f0 +PT = 1d7d84738d1365807c01b0588526b814d2695bd316f241d9eb12e1f5fa6eb2b0 + +Count = 10 +Key = 2cb389d8257feea629b2069a38189040 +IV = aea5005547beece63d0ed8cc41539e218a6c303039a6aae547d41485561d40b645ffe26ccc7f5d43732f36cd84a3d0f25e3cc9b724660679aab9d4dfb813261e43b71ba763a794f08c13418d81f59c687ec01514815d91af67f3a6bbf2adc1602c14b4fde43349a74452d11a0a135cb901b1e9cca83547e576b85dc7aceadf08 +CT = 464cb333df7a115bf1788a8131a73263bd960b5a7394a4092278cdc7d34558e1 +AAD = 1ef48e2c43f02905136da027baf74d77 +Tag = 4ba460c1ebe56b96b665adc95ee97a +PT = 0102d6f7c5df6b49cb7e20c7d93baff85f784f922dc78388fdeb7623010ac9d8 + +Count = 11 +Key = 49a3498d977501b5c6e08ef0da6341ba +IV = d11f4902abbec3a9a7325ac5fc37222e6188335a13cb0b2c499e9d9781bda0cb97b81b025a0dc6f22f04a86675ad760fcb47637df52aa21c618da006e7d245eaa2805a298cd13b001d479dbc14b4d249a2ae03ef8c9a3f78c57584b39657261a4e0728c00cc2180eaec5b6d2ae64ebd57e7c724ca634ec80552e2a213915bbea +CT = 67d2e72844145d8a590b27bed272a0a46f9bd6178330edce6d7a9326b9185f68 +AAD = a0564b16c42a42b0d14b42adac71870d +Tag = 9ab8a09f951ac92eedc3676d77c653 +PT = 362ddfdf5db334cac01c0a302838c9a1be75f71931f34ee0183b5f8e089d2e25 + +Count = 12 +Key = f2a4762a12fa4353514c94512941f45a +IV = 4ed48ffea7150d90e3355c5cc9d9b52ad766c0af3595c3474953d49bf57c370ead7376441073e89fa363982dae34a2eda0e87117db0e6c4696135c6c07beb67fe7c658f4e75f1efcccdad883eb35b365692e9b6a48aabf2397bd0cd6a82666c81b9195229ee579125413368e6134736852b4f4ca247d772988b7a4f8d9b4aa23 +CT = 215e2c0a896fe63eb947749786654fa2b284a506aebc8f3340b90c5bf7e1601b +AAD = 0a8fd262e4825b00658e8fc25bafe65f +Tag = b2038e2fa597e704f37a797599af24 +FAIL + +Count = 13 +Key = ba67d4ab5073690954cb9b78c25f8ccc +IV = 140229b08d88fb77a153cf17009d6f767a3844eac9980bc181eda98323932e8765fcb7a7c87e03eae738032cec1ddab5f0f6ec66bfed134e09dab5572427bcdf9fde552b87f77012d757edfa35bfb50559b2965e284644968fca10bd035a9385c405ab5b3cbc22a3bd68f850aeef61a7614f49bfbe527f0a82323d3e13ac3a4c +CT = 960db74194905fbc09cfd25753888d3a70143b9d42d0b439c877954b5ff099b2 +AAD = afea43758c1db55b190023dc3179c83a +Tag = 9944069f6f8efbdc7c0ba4b85ed4c0 +PT = 9937a42c21db521d3f7618a8fa2c71bc6eed9c33eb94a2ce58c8793487aec9af + +Count = 14 +Key = 0921414662175d5e4d4173af8d6f4dcc +IV = aae13f52ffc8025c8c5884b2979b3c7ec079081573f49089909638e98d4d6618e371018a68d68db0b84450f88b4525b8cc6aacb7d3a060e0c85708572c1e35bddd66937c6940065eef536f7ef5ebc3a27abc438597180ee66c43597b79a0181b7799c6c273e4631d63a5a62b5f18f46c68dde28e1d704f2d02cd1b32a4c4f4e9 +CT = 2df60b5e4908d4c29a82efe6ed135b2779cccb9ea9a359fc72bd1b1ea974b894 +AAD = 8deaaad09cc82e5b47dda81ab458db7b +Tag = 781ccd9530ae88621014b4ddfc7fde +PT = 57f421621a587e74fa454918747b6833e6530a61624adf22a47a5744852bad97 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = ad936459062e2e7a8e21415ee4e57ea2 +IV = 36c9df37d837cc45b490b3911404fd26601a2b90b61db627b6b382961416a90c63b7853254a1d7f96998206c6b6b9f82e6277cb833d8836ff18b13b7296e62f467c34a7cea60c94a90a2c9093fc591e3c75e0914d643c05ede545ae3919e2621ac963e804bc18d4e5168821951e18d86d450e509667be00b59a776944ea74d1f +CT = 29aba8aabe92e3eacb2fb8c13749e046556a147c7c7bcf94dd7ec51023a2a24a +AAD = f0479674ffd3d9ad2c962e2ec3c32fd6 +Tag = 3b727c53db28c37ad5d2c8069224 +PT = a98a8d1e6afc5b6ed47e8a2495feaac149df403de16dc7b6466d2c4aee2b104b + +Count = 1 +Key = ba206af9e735b98c52a31a39da702e5a +IV = a4cad0fc7318bc4f0eba9aea366fd45e41b1a32973099161966236dc9b97fc7b2902035d0ba4cbb9dc57829e9e59898172b3243dc96029f82b7619c41ced0edbbfad4101bc4d21f95dc560aba58ce1fd0a02ba7d49d39a0894cb45caa0ba0508cdf998450c118271a3eee891b81ac78f89853cdbe5dcea8608c1b2ce551eeb45 +CT = 2ded22aa18ca5795176f294e8abc9ea2a7c0b9d3be362180522295f989692589 +AAD = 9b0b9f3cd2c8d4775618c8176af7ca9f +Tag = b0d531ab7c1385f82bb5dad6e90c +FAIL + +Count = 2 +Key = 49ae9365e056117a567ff359cd5e662f +IV = 74ab263e1d498500a8bcd013d075658c3487333068cb13aafc69f063e7d20988dce678ecdb550e6a4bf416063fd51143d70934d1536fde18eae013cbf981b69792cb656c9f67e00712ff229dab3728b46630a455a4bb38fcecf610719a88a7ee0d9113697e8c3ef58add0af9de7595e13ebd1bae71ab81df550700fe267deabe +CT = c9539ce5057ddc73165281eab2861e787907e8249bfc573b83bdd41d1d0f678a +AAD = 38dcb6fc2581e93d12b7c5b9ed1b80ba +Tag = 857641a4d596c8d2faf2b44caa47 +FAIL + +Count = 3 +Key = da0e2c06f4c3c2c86f0e2ab87fc1f076 +IV = ac33aa57a621b6fdffc724e1b44f9b41fcb4114a2398e747f189189a9a7f7ecd7400f67a1b57ebfba679f4faf9b96ebd768ac1e9829ef42efb70e85f0ec37efd678821d23d06ca907dbc77965c0e3644392004d6d384f97d754ed7a71c1db8dc3a4ff5dae9fe464439c3e8b11da3402db6b7f5771712d795501873cedd461898 +CT = 840005291df4c924d585c6220ad81abccaee6c5a865788cc120b073763246b04 +AAD = 3883e42e94571066375b63f1b0c7d99e +Tag = c1957a62b27dd53b3b9c9ba86dba +PT = ce007d5b4d3f37051464be68e1362e8ffaf23d96add04ed812d05be5112e2eb1 + +Count = 4 +Key = bd4b5c91c832b4ab07b1b6464b6630ab +IV = e3dedaeaeb8cc40e8c05fbdc4911ad2d65791e9755be67e31f140261b872abe939c471b2d146290b8967c183534afa44f6cb4df800412abd4ce524f3112e43e7bebc6a4dafb5117ad0ab6d6057bc372080f03bd095820a74310963b58d8ca6f21d8c8a91bb19f9db1fd27214fbb779e3cc1ff4d1222ee6984aef1ad16fff7df2 +CT = 9e54aef5b5c6e42dcaa5e0ab476c39e9740de15d11425a77385f3dded2d3691d +AAD = 6fd78698397b92c0bb4e96b649c25d31 +Tag = 976e1af0454c49ae947426eb7c27 +PT = 20c8f4dc81b3a3abf7d3c372bfed1370925a644811bfa25fcc409903c1799c52 + +Count = 5 +Key = 5329e0fe8791e852f0f314a42abc5830 +IV = 60a31926146b31ef2c42bf8623f5569eb6bdec041d69f9c97d9fadb08e41db7ccc1c7a7b205ffa7431e5f102ac8cc5f465b6f7a81568ecfc484f9e5702ff5ab88979135b87b784b59fa6a789a27ba01522d774888641282e8efe9b4fa76979ad411b0cf04feed91605971ad9fc295ec3c587e8867ab37eaab8bf0b64d629ccc0 +CT = e4771434031475352e203e489051e9367541d51b23d504eea3a090050c7c1945 +AAD = eae16c22b7bd876a26d098cba1b61a34 +Tag = fa8f7e5dea3824239621215ea2d0 +PT = fc0e4b99ff06e62bf57c48612136dc8c3f79a644fd49ef0d53f95fbf55836811 + +Count = 6 +Key = 4fb243548d098ab124b01f17c34e9ddf +IV = f0fa95c04fbd089dddf1f4da3778ef05be1bf32450c9636b69f2f414ce9c30da2f623bdb618c227222bacb5dd44ebad04af7f9003d1ad2b2dd1b2ba53fe1ef25adfe4211350df48ee25a294e82e1de6f61052f4fd3e46d3f178cc24eb64792dd7edaca224fca7fbac2170c994fdffb2bfadea96ded832787b177be53550af4d0 +CT = d8ad2175ba7e6d789c51b0f3347c4a801bd9fef350aa99205be73337841a2582 +AAD = c3dcbe79b2ea30ae5380ce19e1f203eb +Tag = 4264e7ebd19f6d5de062dd53bd7e +FAIL + +Count = 7 +Key = 98258e50361fb1938e08af05431213af +IV = 52451e5e00f2cac3cc8b4be46c04208f411d33d2d95fc4b3f9fa3a64508ed32b674d0bf2aeecb4cafda9b98326f2b3f1bac4a0733f24ba4f56f4352a86e021e13385bad2da62ab069ac54ea450568e858439a04b0e65b7bdc37c668379d138e44cba3438146a036df4e060a687b1dbef734a3f35fdb8b6edf1ad15de23af7b0c +CT = 2ac48db47afe97dcf4281ddf278f9ca360a2ed217c254073810315128ec2b12f +AAD = 2517721623679f49a59d2424d16123c4 +Tag = a6f8c14122b22a980f643a3a8c9a +FAIL + +Count = 8 +Key = ac85db8a17b238168a3d845a85addd9f +IV = 4c8fed7d956ecc2c217d5818749f17094a7f20e29ddc780931824a5260f87740c93206649d04bd9c7e39a7c03930735d9a7c091bc7f1ac2e66aa9dfbe4d6d6690f6e42f002d735e719cf7125c4d51f9989c274f1b6e67499b05f29b8a124bbcca140f635393e9e5b6643f184ebe71ae326a432aa35392d30afd18ecd1e1c898b +CT = 492f4f4c75cdc97003e94eab6a1ad409b94da392af0e38a46816c322751ed581 +AAD = d9e028672c9efb103926a7f67b9860f4 +Tag = 992df630a162cc0df33de80251f7 +FAIL + +Count = 9 +Key = 49b07bfc451ccd4e83af87015e3a8248 +IV = 381ab2a1ec75d92b3837290d010703c16876096995897313d090444567fe377790768fce68120c07f058b00c850263d678a54b90be3e2ead780dbd5fcdf7d78d84ed57706a339671798a35d7c891d861661e73d3147c000915e27025610ad830d9df1ee5ac3bf4e16e7e4bfcba07fad18e9aa794ced28ef923dea8dceadac36a +CT = 3b4018fd7f3392868eabcf0b534bcaf17ea7bf3da3cbd0455e1730b9739545be +AAD = a5cec38407e99450f495f6836210858e +Tag = 06021a5926b05f8d8771d64d3a2a +PT = c65491879337bc369da4aac60507ccf8c3f45bc01a82d27ed59d4bf21b23ae59 + +Count = 10 +Key = f26296f96a1b199a0c1050b754a22185 +IV = 89def08e836f6e98475595588d5a4f32e9a916d9a736893f22fb387d9613e5fa1624b7705899d9250f2c086a3f7862dab1bd90fa350075257c7d9c11ee8193b0962789bd30645b7f09fa65b0557c4204c8f0f4d597b97a7521e0c1902e69c15288f6dda8606574e202016d030f9191c911f0b48092902db4e3e6ea69b78ac93a +CT = 9f302e5f658ea90c13fe50e6cfd674b17b58d2acc91b003bd7a2a566ae0a0437 +AAD = ebe9d46b20e393e48f8efe4d01598ce4 +Tag = 09601ccb5e1379fef822a78a0a23 +FAIL + +Count = 11 +Key = 0fcd4b2b59ed3e191fc0b11768d33ae2 +IV = d52398e2e7df7f5e9439cd79391dcf08d0b046e87f29b8669af2d4ccd0c844275bc2de0659adbded1d77faf2c0cdcb9ddcd97d578d123ad41a4423af19caa15ed6f8f856bcf849bedd62b8343d2521a8b8833a953383273aa160b10ad01e775d48c1e73fc55391df7a0af568aa9ef4e6bdc7b9d77894ad14275a06e59f6d7c6b +CT = c87258304569080c871cdf8e866286169793241e78a9087765df4a650cee0a7a +AAD = c9b9c8487aa1814d61f6bee2d002fd31 +Tag = 628e381556d1106c02275f1ab327 +FAIL + +Count = 12 +Key = 2c4937850dacb82cd7773ba5c4e51d00 +IV = 0306c70e931ace3e03b026dd65ac424bc49be4c0c187552272306e0bbbad811aea7b9213164fc725f200042efe489e32c6eb9f8393637d43bbca1d2f88ed65e4b8bd9528e635283a7bba47740ac6e3cb587d904280706728ede018b539ab662c8a98a3ea8a552757cb447e5bcb3e683bcf663bca8e88c8e331151139869b6615 +CT = 7dabae3dc721316dc92f3b7df744cbd8e55ad2060e59d49fd349c088a013ec83 +AAD = 34d5af6b469844977d660ecb3c7ed6f5 +Tag = 7ae62c770b89c1678ec221ac5192 +PT = e7b56c900876d618aa17fb56d9da33e4ffb4d23ee90ff3756fa9d1494ce82f3d + +Count = 13 +Key = 337f9aee32b0bcd81a1ef74393621c78 +IV = eb7d29bd43023975dc1ae7731dfce45452330e991f8acdfee0efec1c2341662d2a65481b09bd1b052eb8c7f144c552c8e807710f891d4908c84eb14fe5450cdf8c061b22bf95b05158f40e146b2037afbcabe24a432d964c59f911e28721b227334d5b9b68e6bff72e0d266b8357d7cfd8c63581a1eecb64b4cb535230d479a9 +CT = 8a6a548c73618ecaa448e57089edbdcb38dbcb83a0664ef71b97a5db739b0018 +AAD = 409b0094312f7f8fb7b531d844872e9f +Tag = 7126f9b3368a629215ee732c417b +PT = d55301cb9d7d283fc06801ae5e590260a75e8e3b5ce24bc55441ef2faa337578 + +Count = 14 +Key = 583cdfafc875bbc5fdc5141079120e63 +IV = 83b6b19100ac1a0323d4d8bf72e47e3e6f31db4a825b1dfc36cb4a4cde75258387fab246f0510d9c8089a75342fbba4ced05ff5f894a1c9b68e2a35473a086a33d38c10a8a80eba339555963593625679c41b5cb6d8984783826e11d7e8d9f1047f11f6a7c72a4317918c2a699ffae65d7e0234f92c5e9c3b18de81da516e6ed +CT = 551f752f9b59209c995964961569396f4b4d65ae7711943f2b49927252be78a2 +AAD = 9c860fcafc7149fecd12e205a71c28e9 +Tag = a358047caad76d5c097adf5fef7e +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = dc2e6cea6befc2c58fbed7a91108bb43 +IV = aefd0479f173c6152a4b5b25021da88c03ce4e9c4b98ce8bf1fdbc4870cea69991338595c377b6a52558d1bb6dcdbaaeaac54b8ff38c8ebcfdbec401442b001a16f8d9e6ce3feec7d517be195a5016a2159ba46d30062ae3b43c3decd8cf6550cd4a91b39d0aeb8cc6aa5de4af422d7b1834b19360e2f36831efcb05401b2dab +CT = ff3dedcfe0c5ce3472451c964b54dc71219ffff6c5cad5a9ba0c66c06e8b28d5 +AAD = 581feb748c29a3c2b50bda78fb8177ef +Tag = 765d57321b5474716a6132fc80 +FAIL + +Count = 1 +Key = 4efdeb1536f1e75fe56a04a958c92b4b +IV = 23ceba1bb9455c2473e20f77cd1f121a069fd2bf76289b93842d6c5c247f4b0bfb881a0c8128f244df9d3e5bc9ec82c79b65302850082ff8056ff27a5ae0685e219f1c7e994ffe59c7dedee03845b6ea80227d7da9169de08977768cb155b5d341f993f396c16725fd436c2a1e5904d5e6f72ce5e4f7675dd877982f1ff825c7 +CT = 9aef51c4fdb23ac69d53ca7d6b51bf375fbd8080a6b33ffe02d7dbb04b505c74 +AAD = c950bd5dd2f8c8b8d7fcde830d293a63 +Tag = 5affbba70aafb5908370fab0c8 +FAIL + +Count = 2 +Key = 8c3e55194685fb1538242b4e9641d9d6 +IV = 10635b41c7e3b60e86d969a51aa58831ab10a860669e23a8ace684e5de6aaa5cbc8dce354aa40b396cafe704cd0768a478dea0707cc335f93180e6b66dbf4b63d285a2cb6f54b472bfdbadaa3e66c919ba7c5e6691b294a5e29e586e522d5f7f641f84f89289d2001ab0913114303625a9a2a71f699b459d91532ccb9e9dae46 +CT = 8be60287fed22b624f2dfa709eb492b0dbd154604dddac3d1051dcc8e68b62a2 +AAD = 4fbc19c0239a4cc43183838abd9c7aa3 +Tag = 305a4fe080899b7b06d749e813 +FAIL + +Count = 3 +Key = 980214b0751c872af61ff62319d01156 +IV = 4fdac56a6fce8a609c77298f2f518774b8e3b23f5f3216165e7b0fbca962484d05c014d08ba52786e2df8f7df2b5e65cc833e4c264e7ec63941838d1cd5dbdf14a81d166b2664fff253c04f009bb43cfc75cff1e58461fdfae67af061b979f7f4b13eea80fb1b4602a3e6dfd2d25c0dc89460068bd3443dbcb0383ca4bfc69fd +CT = 50091f9ccb50636eead3471590f4f45b0bc8e428251b607f941466f268be1841 +AAD = 1408352b113124e17a481ae00cac8771 +Tag = 0e18c9cf88ed408ccda152281c +FAIL + +Count = 4 +Key = 2808b3d733776f542f97cf81f0e64cde +IV = 7754e0acac13bbd94b0b17aeffceb08f84cb87c9fd87ef46aade94a2150b15eec0b5dedb4e9d5508269cd98e9f93d1d35f6a235dd13f7821fefa39715a007a9475570ddf336808b3596172a224a9e497d0598d76fc5fe5d488014577c5158328b85d27cd57ae56f86ef688306e8b3b6b0b7907a9a035d08295df4ff50e39fe7a +CT = d41abcc347b1381692e8dab4fd204fdd4751c57a9e5d99a9d3b8ccd4db7bf7fb +AAD = 4b49c9b9380f7e1efb534f703de80702 +Tag = e69ff884c26f8acec05dbd10f8 +PT = 63c758fe431f6834dab7b29b7deea58807432999158cb2011259ae23b593ec31 + +Count = 5 +Key = c293ff1d3c6f6d2d2e53ba0267d43f48 +IV = 65078ad04096610acac4a3fe190374aa6163fc3db9f1529e27d7fc044388ab2cb33baf86ca75599fab533b2dd34dc39579234874224f790814e8ea5983fba6dc21807d9643859640ae19c05a63a2fdba5fb1ff17f232c7d2841d00794d6f47780a9fd144146234aabb90e5fe42c333ecb71a55103ae45dd7c7180b30f1e8b0d3 +CT = 264c9e2c245e286a0e356fb88a9ff43615c9fe43811b7b496fb1e0520ebd8963 +AAD = 6d3496e9d160fa66953e3dc601b44ba2 +Tag = 453ee2ce0365bb6826f1ea1a01 +PT = d6f79c70a4b53205c2a0f0e1f3b87095c5eb79e92c18feb6084e30e12915b924 + +Count = 6 +Key = bdd0c18b4ac8430e4ed2cb13088bf274 +IV = e6945193da84f2e90cbd1d9861e890c45884301ba24f6b6ee2bdf71f3a6a0cc6e1d9ec1118bc1c13cd9af34959d8d5daf686f90d5eed24fc011f1fa8cff41659ab94793f319eef347333cb50647fa2d4e1179c9f5d816b5f2ec0cebfd92bb37a9fdfeaf0cca96b7d3f2c0115dd2c77de1b465bc83a767ebf251bea21aaa9bc37 +CT = 8fbaf0378c3c3c54c5eebb34b971a686e451c77ded6dbeda01f96bf43d4c85b9 +AAD = 69f9512ddfb464c3fc1f92c1c490985a +Tag = a1151a5f40bd9d9ec0cb62acc7 +FAIL + +Count = 7 +Key = 0161bb36777b821f2663a9839a39e2d5 +IV = 3494b28a0bfef4079cbe677daeb2e5495aacff08c65c8cb1b0e0c56f3f26cd2c188eaaf69958672e1affabcc7b39e600a7a4bb34c4c947dc17d834e6a205645a34462ff64965f29c84829429d9a7ca3e69e3d58621c2063ed693a09452c58260a03169cae5b4d028b87511a9ea12eed5e3b419d12faa9e912dda02d574980133 +CT = 48e7324bf91bfbd0d16285ec1574897b667682be9add69b8812184c642ac3890 +AAD = 8206871804d15763b1a30cda20b2500c +Tag = bf0ccd52fc7b06aae501d3859f +FAIL + +Count = 8 +Key = c9db7d2b09241fac0bddb528ba27dbce +IV = af7a262e13d7f54c7d8b496ab059b064b985defd6b49883c39d2326541d8564a43262f3e7e52f098dccabf6d5f03cf3cf88d0e003ac35480f7183439bdd49420618174afa895b437579b1ffd98a6f93dd9b3cde88f4fd004b114d10ba3b20b6d5809ae93c41cf449667764e70c333d776e0cb694e51c1434d7538a3e5eeadc8b +CT = c9aee57a38a1cb3fa805e48017baee693bc1cabdb152968ce09d71b5bf97ef45 +AAD = 4b445a6df30c576668707018d7f47e66 +Tag = 1ad7e39355c3e1318f28aea4c8 +FAIL + +Count = 9 +Key = ba3d08237c36afa11a074eed6c49e621 +IV = 50a82a41746931979ae0a9814987e77bcedf33c78b206876f3c5566809f260567036b38a98c9febcfaa9bdbaadd1d3046f62ce9adc73f07fbc764762fe468bf5498c366d3b4393feee3860cab6ebb56dfb18633fd954c4008495bc07bd2667cc4c2c0a048e8e66476564a019f0cba6063c1b6e623adca7a857cdb3175259fb79 +CT = fbe70772f00a39fca25da84fe19f91971e7089fd0776ed260b642d0251aa81c6 +AAD = 8fd8adcf6c4358646f016f25b6eb58bb +Tag = ec602fe76e082e1eb10be180aa +PT = d39b6bdfc2ca783e6f936f95b0267b5c0a187f926a53736973f175207d3d694c + +Count = 10 +Key = 23acef2f44d51ba1e05633c5ac4d5a05 +IV = a4d7bb7cc564bdcb58ddacaa0f0405c4a618a93677bcfb560d128da1b71686169953ca78836965099fbe2cd3c3c958d0be33fe85d3b59efaa2e05a058d4a91fb75edbc2b1e08cf35171016ad9c6df0cc0f225ece29952164781efdf33585409d65731fcd2d1e240106ca0073eacb3aa079f067f8efc0c26a56ba15bf34a9bb45 +CT = 3393bf72da9ecb811773acc6381df12f56943e2c42b1cefa8e4fefaf25e800ab +AAD = caf76f1f5d08ce53fe953ebe0fab14c3 +Tag = ece6b8b28496daf89b473a404f +FAIL + +Count = 11 +Key = 48bbce252f78f843b4090ed27aeae78a +IV = 862f73d4ae5f353caee71788fbe4d93025324cb9b3a220f823b75bce97d465448a6a2ed40efc6fc1e05dd3396c51fee10c56223ceb1a3e6ef1b3387a38a7156fc5444900fe7fa3e08e1ad88ddafaabdac1f6fd55bfd13119b4317e7d17578669a1578f7ad95a036874f32d22372aaa9e3162b9c8c9c48f47d389b23555df485c +CT = 5573c5ea146f89ec7cdf2d9f7d2c36adad898b3c4ba96921ed1f31fcca5eef6b +AAD = c3329cbc6dfaf4018f7da409ebad1754 +Tag = 493bbd51d44db580abc4fb1330 +FAIL + +Count = 12 +Key = 931999aba6e40e34dce1828a2c0c9f5f +IV = 769e19a6f24e25228275f08f0134b342d7af0ead113ea111087247e83013ae51c2d2bdc0048c98c6cf8e779028424a1638fada0b372feb705eda5e825e7175506cbed82f575176b0b580a3882c76be579a30a07134d7a6dbc04fced9599ce465e5ff63fdce0e06a746e4458eb84041b0c345aaca4f0dd222373580bd39adf7f3 +CT = 16947ec5ac3c790867ae266adac2860b923ce708696809360ae98068f8a07662 +AAD = 16a63c632b11e418e3a169b5296606b7 +Tag = 98b273f161f6d1da75d79d45de +FAIL + +Count = 13 +Key = e910f8cb52810e1347953aff930af384 +IV = 445f0d70e41e7209763785ec794af564bf8cbe11d1efa9b9c2d02249547e9c131c49864e175a517fa6229d834b280368c01907a3b5a77735ace7594066e11315a14d9333a4476ceea9fce895caf06ea355af8e535bc2ec9489e015261de3901e71a71a18846709aec2b310173718a424cfe67aecc5081dafdb16999bb56fe823 +CT = dd5cb07829bc1047bc82feca6ab9252e0d7f89ef7b39278491b601f42e9a7201 +AAD = b3e5e88e29858e7f4b0818f004c97337 +Tag = f17c80c583da8dfb7fa2205dc2 +PT = b74a818ff488dc90bd0a3b28a36a595abf804fb4aed5bf6decbd2cbed827ec57 + +Count = 14 +Key = 29f7f58c97c01c35eca875007fe05b7e +IV = 77c8c1b528ce598d6b2e51169d578cc11af40585d2c150507ac5f92fbe8a1d3bcd4d7e66bf6b5efd32ea835e14640c33466be93765b3fb69e5c56ae28f49abf5614d7b03630da087c8cde904f64db86dd53221988406c0b3bed3018770e995ad774d0f5084f32ab830aec538e09eb1cedc02ceb87e4c3957bd8f6f51a3faa3ee +CT = 47a93be969284b266292302fc91357f8650d1e519e3b0159e19afe7835300951 +AAD = 384699bffacd3756c519c326a5a24f9a +Tag = dc8a6a6239e46274b78c29e1d2 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 872f2acb3fc74a59f1da8660a80e79d7 +IV = 285ec1c946c442e1d42416d6dc1ab332bfd124d5577279fc2e37cbe398d70f9288e39ee1b927fd4796cd03d7acbfc07c6d0ebc40b30cddac062b111ebc4ab9a01d614db39c45330fb2d3674faef98b9061c13787a92e461f5f9500f366aa4b947203b7278cb753f4f373c9d4cd9377ebb69b18bcc4b45edb03e9c72fd4e17ce2 +CT = f58698e90cf3e1417fb1f990dbdf1577d6dc7919529332ae79799453d17b8a6c +AAD = e22cf779ecb7857413da4a4c3cd6dc44 +Tag = a2d3d51380ae62c58859bb08 +FAIL + +Count = 1 +Key = 8ec08bdfb75b8516a68434cbc2907029 +IV = cd482f4a62d09d763e460e231dd72f9a91ac634fb194113f66011c452e10a9947210013d3589f3a48c8e489c27d83c832179af9bed00574615abbcf529a87036319898bcb1a02bf752e5e31d8973c10b5f73be83c1e38d1e211491d78ad9defd9512b14e9278883e5d187cd714401779e3997401062eca899d1bdbd8fc3e0453 +CT = 828dd5d2f178bb3db3b937bbc24adb6b081cd397693515a4f1b054fa516dd1e7 +AAD = 5b2f465b5d5dc24efa520199c06ebf91 +Tag = 09f0f367aea3e6c36b80c71e +PT = 6468f8e4d16ea803b9eb1ae5145ace3718f55f98e64a2d350076255dab74f43d + +Count = 2 +Key = c3de7e61415bb3a161e67181fca14b96 +IV = 20471a425d256f70537daad40791629f3af5523bfcbd611017152fe3ad8f781a5eb9e231e82e8292e7591e9d8cf2b3b60a794f00a9c1a93573333eade75c9b5b705120f7119bd110c84b68a72148c6f4362b3a5c85ea0cd561c695924cf78f40b689069a0b493fccfec5a72e578e5b5f54416c821353fe0b7a799feeaea16f82 +CT = d59b777cde6b2782638a1e19b91004721538fcfca2a937c388456c4f2aecdced +AAD = 46747a74b0eb669dbb4cd6a5feab0061 +Tag = 97eb30205b4493b2598e0425 +PT = 2402f0ab9cd69190e1981513ec6a876de862b9c8776998eed9e21583a469d510 + +Count = 3 +Key = 545cc02fd28aa19e7d494383e28bcf02 +IV = f93d5fa33070edf2e81ebe79007e5671658ecf7760ce250690ce35d842092401e5dbf7684772be9c6aa1dac07f7077fdb1b340e66822ad63679c3b40b2bf72f2a1895d494a52f89b87d2db329247275e971c31528b02fb67d5b8d102f37e58b514dc26c79dbebc576f903dc5ea8e65d06b3ba39aac0bb5ad2f9d699ba168347b +CT = ee676d7586a277daa5c7d9f9ea53bb7bfa21af06ba6ab81a1c95506ef61acb47 +AAD = 0e380d4fc4647f8b47d05df424c16080 +Tag = 30eb61bd854b8c91fdf36486 +FAIL + +Count = 4 +Key = be0aad89e9bd969b3f30fdf658952832 +IV = e08546d47904b5515709e7e4a7c3c3dc0e1e07bf567569b14629a696368194700a6522d0a2ae86b4371dfa313ada2cedbfe465009be87d0dceead52d94643c77f560cadc9daec34668a9ea235b6e09b4983bdc2fecb7ab794ba120894739a8b0cab9f694fad3b189b923580201c6a3eb4cc29694b571c7a1921bc404a188194c +CT = efe330c8175a8507d0927d2459b62c551a2de1321802727108f2a1243f272763 +AAD = 905240e2f638a17295c77db1832a7fe6 +Tag = a95e5ed8bdefb90f338da726 +PT = ce1d58e64368ca134a19fa42bb5a96384fd4b322a9b7b493d7ba5c6b3da5003e + +Count = 5 +Key = a345c0878fcd8fb9cf21caf2303168e5 +IV = 2e30b5c66429afc2822ae2bbbf996e881e409dd59aab0b2a17b92f2061be6dfec2f0a343db932bc6e4fc8f117f44684254e507e48386c5c8c53e77ddaa91f923b6072ed3c0c9a5e996aca802d7c2f0cdf81c3586374ec5dfd38f27f1ecee0e6bb16f869d10602f4351385ff523ebda733a554c7a9a030d1dee8032f14ac69a9d +CT = 7cd1b5e8a1de25b9133197cfdc01154385c3e13147503e3c0d5834290153b2ab +AAD = e652154cc8b40a2259adc9277e334ce5 +Tag = 46a431845f460ab0f80005a2 +FAIL + +Count = 6 +Key = 793b3b059f295b0a775deee968bd628f +IV = cbd4a7c7677525dfb9f72cdf05306057561a8e49747e7df7a131a647f6251203ace2e312ce603d0ba55659786414f9da4b91703d3bf718074e7f9ca224c0591cafe6968acfc15a56ea2d7517dd82d8211a818da5324562ca5b66750b1e8bcc063bdb6821ecebe84bb2835b2c4dceecb14463c3af53f2e5932a1a8e4958c04279 +CT = 3a232fffef39df951a533c351dd34f3d2b5caf6fb4c9c2a424a952acbe1ee040 +AAD = 721e9c3af6c8b44ed2f1a0ef62fecdfd +Tag = b88e8b55e2a9675f6bce68cf +FAIL + +Count = 7 +Key = aa8fd5d7fa47bfab474323df83c87f53 +IV = 4e500c16104cc6e281f2556be84033613ad8a29576130e6ef861272efe452fa8d0a4db9932dc3f63cd93584e8ac279b2f012f34424083649a05d174b346009aed2fcd8f68ffbb9ea12d0060e15dd07c84dcf6e718a2dd8ed0dc4f5407f07f037bba38a20b8b43f2b15be1eac777cf6228b3f0c968204cebd8acac6f5c4880657 +CT = 8696fda9f3ae0631ebae385ac0cdbd33e79fe63333b30c43ec7bb218ffebcda7 +AAD = ec5484863bff126be64feb393dc31766 +Tag = 0a41728f6c3de699a9a8692a +FAIL + +Count = 8 +Key = 87cb4e9d95a35745ba3e8a52f5f40f6b +IV = e87568390dd8a3b38de61e30e991a8759b5cec5850d08090ae0e1a7b6c1f762eb909de2e5d808667093b7947c15a7543216ec51c9d2f31e67b1c63d4c5280896fd5d9dd82f64a809fb405d367060becb5eaa8e61fa5c163300cb8203b291a59e2f92c0d1f70cd4e0818bdb2af1ac7773e9b2b7204e83d62361edee39957501f8 +CT = f6e2a7155c8d97335115758ee8f53e3069e50d4748848447580fb29c5520a4ae +AAD = 889aac51640d6cbd07b013085b931ea2 +Tag = 609989467968e08320f5c224 +PT = 470c19f433159b4a640a8487957773bc0489223aa4ff316ed5363ff816d5c0ca + +Count = 9 +Key = 5b6a59b28682127383f7204865f0d773 +IV = c325455ee54410f22a3408de0601321c0d86bd5d5d0980a8d5d76c90a9ed76f501ec205ea9c3874cbb5b598a53f02336b617c09e4a28fafea8a401c9cb410482234c4ca1e0ff94b140776910602dec272f95ea6a96db10bc64462ab7db22bd212b439b5dfe880b2aecdc65565c7ea9367f20c5fd4438596432075cb073ca3201 +CT = 911c0edbfacc0444df72828ad872892e5c096fc7b3a2bf58304d1c4378ae439a +AAD = 135f401a6a45b875adb447c2a252b527 +Tag = 42013ab0aa03787c89c4a5dd +PT = 7c26a89457274828b72a42fec4a89e1c93c173286ccfb320441df97f54755854 + +Count = 10 +Key = e56c9b788ec5e0b46e936b3d028c8ac1 +IV = c3c329e4430c4a1017c1b13f4f8b010c5275f42af86c98216552e939c080f2a642825996a383b018905428a4c950ff8660a45b403051abe22e782adc0db4b9a0bac7806619ef4a6167aa6091cad8a23cc200c4390771cd8dfaf2dd1086a67e35bfffc47cb91015ecf88ee8943993d871db9855139fee80617173d48009ac3b9f +CT = ef05c99bc8ec41f8ff51294c46479017d844707b10191a1995bf66a8ecd6c1be +AAD = 1b7fedabf5fd89845239f779ac83ddb7 +Tag = 861f3473cb6653a6146012d3 +PT = d189b534d1517a0f9037688ce5c78680690457e232f1eb3f4073b669b5b06116 + +Count = 11 +Key = b752e79c8a63188beab3328f9898e60a +IV = a8e4c6ab673ae17f44f21ba85ccdb05cac1b4abe532e8ec58f49383afb568dad1f669a77f38969fcf19c23e3865908791f69e417c162c5e2ed66aa52621a3f248b8a8b38293688b9306773c422fd88d99cabaa33b4314a987f3df0c0e62be9cc86847ab9b39a93dd065bbd0a6ec893f9bedfd7ec164b343df71c3b4748c5972c +CT = aae7d6c74920bba0385e7e0c25249af604cb274c447e20651c0cb523de47a264 +AAD = bcfef4b13a8b28b95c56bd3284432129 +Tag = 43ba994b8636af4a13e8b62a +FAIL + +Count = 12 +Key = a46171ab9096fd95b1405cef4ec48818 +IV = bc2c72c703defb6645e2016d389d88387c502fd4c7e1c3f15002fe2784fa47a3a6aec90941211986d8f51857e1c61b5fa4aac90b0bb5c2d5fae49400431221eb4388ff678f09a9e3251d032499a75962a295bdcee0bdbc6df6e9cc2483c6d519b24353e5f8dfb1f60e44b8015d4071feed082adbdee130862c8f090a8853c44d +CT = 9d144bd0cb1d98445d6832505286b4788a0c437548ea08d0768674b269547f95 +AAD = afa486b2a82bee9c4abff28cf2e700ee +Tag = 2c7bb4b96e0d7b1d415584d7 +FAIL + +Count = 13 +Key = 96d790cffa238412452475f46c1d08c5 +IV = 1d3abe610e779bb0dbe5fbd63a1cffd0d32b19c237cd376e81c1755bebbb8c82636ee4204e522bd46a8da6096d39af5cfe1d2431bcc21202eeb4f88af1bae298b10d071e6f90a2da1260e03d0736d1a226599756cfa08f85f0a627e5b1a65f69f4a7617cbb4558fbb3258b1c6577b638f4cf9a5927f0263fe0267e201404db99 +CT = 847474fb1d25ddda4cb11debc9000ceb66e74fae5464b48b0664bd305b8965f5 +AAD = d7fccb3443356c273f5bcb08f5806e3e +Tag = d5545d28835d4a2d50744497 +PT = 6afb063407749f47eb3650dce220564c759566168ee766ce7ab875ecf99a281d + +Count = 14 +Key = 8793ea95e4463e3d503172bb09accdaf +IV = fc8009baf853d57b1c4090763a6119eb666755d28d6c06b9d0863e6d2faae2d93c431eb550be966a6527fdcb38159693a842521fd428f177e4f2c1ec6fdb855fa7a47648bbb5b572f1dc950fef15a2d9a7b26af37d4c460e22c0bbe17411304231704ea5bdae4df7b84fb23fe9808fbbaff7eeb0ff99423a39dfad000be2b3ab +CT = 6390e825f11fec0a8d69a6a207899e4d381ade36e492922241c8a41b67177285 +AAD = 18c3515c11baf9e08ff16243a03a6d0d +Tag = de5eecfe6dc4a6f27f797a9b +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 51ed88e918238d40bd49fa8f20a2f322 +IV = b94d94afe590ea3feec0201b0bd8839595c2104886a2062cf30fd32adaf39ca3f3ab6875338b51c0f3747a05e29c4956fbf1be0c5b1124ff381aafd4c288f487064daf40b3377877fedb05b8a7ad9abf24a678fdf429fc5dd7b45a6ea796703782dfc9752a1163dbb4d1ad97ba7932b474601c944933dddd19e73766f9936198 +CT = 2889d8ecee5c8824f989f33b8a1449eb02d299d65333af5c567171b422c313bc +AAD = 4897833806ec56a8c0ffbb1657f4a2d2 +Tag = 9fa41f68be1bccdc +FAIL + +Count = 1 +Key = 769bac37d5462abc296d0b714fc3e879 +IV = 93eb487e7f3c2592b7317c7f8b6db2981c1220713349e6afaf53fcaad8c03254d7b01da61f8ecb1e5165be98dd421a64e38ec5cd934a15c6d37e939a71a784602d627653e9cf599cd8372d6a6db3bc24a4ce81a2c12021f24b21836f91354bf1a8988a6a15e4c5d95c4373b63d66d4714d518439f209adff83560bbad9bd5ff5 +CT = d5ff20d54dc1ff7cba17150aea4a76b3e8d875a80b2d0cc471f55fd0c39a7686 +AAD = 7e8b43d694996339713b991c9b8fa82a +Tag = 921eb8866ce0469d +PT = 6f116c17d1b0839fc1f825a20aa591d18451d27a6724b573c2e0c1faebaaf441 + +Count = 2 +Key = 167db31cda9aa1a5ab9259c5bbea956f +IV = 24ee577a79be8a0cf84d0d6eff37589bb6f72d8b4e14b512d274617912dde6549bc880f953716ba062f7aec4d2e6c98fad8cf6c857b972b58288f25b4e684efef1d7a61c55f1dab1a742e5accacd3c08d41ff00c16807107215e754573441fef2f004b870885b8ee2256914a4dbfa65f8336efec50e51547b4c5714a59f0cecd +CT = 941faa0e6bd677f46e467fa28b7da57a3a528dee32949e43cd36287dd4bce2c3 +AAD = 53d4bd5211adb40537da89a4298ee7b8 +Tag = 54ba20479ba2daca +FAIL + +Count = 3 +Key = 51bd4f4cc580aa05b23fc867c3aac008 +IV = 244740a385214d61d6e383d638a187aadb8a6be4253af66117e007818216bac0f8742d0c16e99986aaec29ac7d80da97cebda6bf012490a38f8d2d565f95261ba413737a3996446866c9f72cecc431e56f61ab9ba7f93147a42c2df4a10924474df54864ed5d66b4867e8359d90c581cfe27e0b601e5c6cba5643d1a595eb85d +CT = a89c4e74b0d2c9dbda76714540b42a5b5ada422fb37e17bc0791e1099a4609dd +AAD = e9324d5d950cd2a231c18b3b73c57cbe +Tag = c3b538d86661b6e2 +FAIL + +Count = 4 +Key = c0934a02b6dd9244cfb80babc34d7d18 +IV = d8dfe8382b2aac0990e4d73843f0d06228d52ef4be71d0b7135eefb64a810a6f98fcc021b5a13eea361ffe9d3e4ab74d6d038c758e9063bb732c34a9540b9bee56a443ded34e1e57cf76d9933f50249b4b950b80dbc9f214a488a296eed5bd22cac942350ad5e3ee028e0db5bd32016a8087d3b8b6395b1fe75a615f3f60af07 +CT = 510eb02afa5aaf627f1d7898050940fda9a705c0717993deb0250ef1eaecb7f7 +AAD = 33e9f0e84690487b9d3c76e72c66a97a +Tag = 395139bacaaf5f06 +PT = 7226b278f925868e863b2052ad766185fd7917b58f0bda16838cb156ffff23ff + +Count = 5 +Key = 3112ce66a43b7472579fe391d35fc9bf +IV = 834b3bfd5569e31f310768d5872c0879a4e975206df3d4dc12f6bc357a6ab1d86a642150becedad226cc983a0bd8aafb679b258a303060b30267eb0a55424d5ea606eee132961692b34825a2643100e14d5baf96af6ed92e5eb7d21301ef8fad02c4d0977ea5410b00396eaa33a900bc42ba3f01941ccc36eb7a8df5d6365c02 +CT = a7a780b22dbe5fe5fc9790cd861373f2d83098cb0ff36cea9468f291834e5028 +AAD = f40d989e9e1851b32dd4fea9b3338ecd +Tag = 4f5d81091cf5a92d +FAIL + +Count = 6 +Key = 38926dc8aadaa9f2df1d2a8beab5faea +IV = fb303b92c89346134623b8fc7e2fe1cad2d6630073ebe93f78eb16920b3c93553e4ec76fca5813a2c09d436fa6c6eeb9812441efc92200fc02108d185a55a949ed0fc78f920e6b671d51bab2634c706e2fe06e827e29c6e12507461da853447df9992cdb4ff0923e1f1e17647ca3b5c18276153fc53211c76c8daa09436ec48b +CT = e5fc4b84365f3bdddab8ec91996ef05a3d89c9fe1c93e1a7c4f7ae717c013605 +AAD = a77764514fe3b972a1d26cb37e248d9b +Tag = 85ef8a9185b14a7d +FAIL + +Count = 7 +Key = fa7381ce773018e2205c97cd6be29473 +IV = d37d5f273de627522595ae9bdeb569a0b5989a69db5905ffd01678f43e95acec1f17f3d97a8f0abb8f668c7f306305fa3a1cfc55613c1750c63438186fbd3e83174fa7afdf3ee5b33c6fe0ee03d99ad84473870cdcdfc648ae88f8f000bb2d4512aa005489ef84e65e1af080fb2f37e5c2a8c25fdfbe1d163329f72ea9960d44 +CT = 8269726931537b271f0faf88947456456e999f5aafb492013c32d6794634b839 +AAD = 1bc901f3599929ea28107b5d394553ff +Tag = 727aa3ca94f85e0c +FAIL + +Count = 8 +Key = c0fc01a77ea2bbc251e5a2973f76381d +IV = aeca381fb0def05c40674289f0cdf08bee2e83177daf55592cfa72b16d52d3cb3262157ed971ffda418afc3f2f0d19a123ca2de759c430be519ba3ed4a64dc9db5dd8fe74a8a18f1d212df2cd9efd062a710ac76cf6a80323f0bb5b4e801ff3b2a26bf906d88bc3035ab4ffccb75a447a4a1f3954d7e59ace23d17ded253260f +CT = 740c8c4c8e52f9be99f8de00e75c65d733a8787255c2cbf67f4c82bbdfd85247 +AAD = 6501bc0651b5abdb36278c67d1b8ba99 +Tag = a9f49706301cfc1e +FAIL + +Count = 9 +Key = d394d364877f07ea5a4ad35bc646c4be +IV = 0017020467dadf825fddb39d41093e3d0f397d94f7536018a4b30b57beb4ac0c3a34003f7b1d2bb34b578991e17e039d346fc3c26fa2ff190be98c3c11887f9d3efcf3d288e62f51b9808bc5df8f5a062a9086b0019ec8dca852892f1e2233e4f37b9d8c5c01f68b1a9b772f7eae45bde3275b884dbabd987fef8a049098ce01 +CT = 028e718de07faf55326b54aa05e64a5b734f37576f69702d2dbb24b720bf538b +AAD = 314f1679b3e146c0a1bc81b287117017 +Tag = 2217dcc09112e1ff +FAIL + +Count = 10 +Key = 6e23a124492fb53276af998e2dbf3c08 +IV = 8e86c7eefbb01544ffc3b3895b1a5d8c107ff33a6a3d22a4af9c2ba27c9a20c50aef15ee6d0518f7d841c44fa8dc8cb6f9ce5af0bb48aa5a625809ed6755191e6e28b2f81464c2ad522fb7dcd952827e30bc6698841767e3ea2ff0b7624f4d87ed5a8235a0fd835aacb8cf37d9fec9fc8cfb986cc878c053645b80b699bd0af4 +CT = a0fa0942ebb4207b7bf5725d5e97367e634b2c66f06a5951b11ba347c39bc510 +AAD = e6bcc7aab7b0044b542a776f0390d28a +Tag = fb906d700dd0a281 +PT = c28e6c3dc58687f8e4c06584221ab8feaa05de48bbd8d640430c69ad142bad65 + +Count = 11 +Key = 72e2dab412fe16b845e07c5434b991e6 +IV = 7a425939bfc2118d4fb0c2422147ff3dbd7c01ad02a05d291607a6947d6c2548110a584a2aaab02007a9e5550779bf356dd7661f82ed217320affacf46d39c37532edfe43a841d049172d13ea819a57cac603e110823e364b5fc5d05c03046bbadf45877a6d721432962f41957cdf1f5347b0234960e9eb1622921d1e8bcf1d1 +CT = fc117128542477935e87f4c1e72bbde3086448a9b78bd6fd4ba071d0b8af326c +AAD = f1a4e1dda43b2e4883c9321707799bc2 +Tag = a0d6826e72c845aa +PT = 8acbfb70161df415dd5582fd7527b74d896a693d973b543afb7581b6bb3f6f33 + +Count = 12 +Key = f280e29789dfd30b0de00cd8424ea88e +IV = 6fa2712e8856d75d9543cadd2bab6dc575ce4606b7c5411a745bb4682e860a7b3b8948b75021d8652a16882dbf524c3db886bb492765c7152448511f5ea22446bd0b6fe2c952a37a8d98187499531e2b67ba2f4355c638776ae6bd5f656e6e9babebb54c764fc3f9e0e73b9ad2ab35fe10fabd09b2f74b5e4432f3b957a15c9c +CT = 8ae91ad1f455c0601d9656de86c570b0150c2696ad90718c52b14640638148e0 +AAD = 171999bee5d0e1437292fd824251a7de +Tag = c165031057368b26 +FAIL + +Count = 13 +Key = b5c73f426eb91c863ce3cc609eb11ecf +IV = 583cea2f4076f65dffd6a133dd4e04e6d072524b55fb3a9e09f6eb0d2639fb6b48adcbcec0084d41b578c259fe8ba029d538a02f4ef69058209e3e7d4f6c41e0a33c5b759abf3ecf135e6e14aea8ded18ce5ab92fa6bc302ca3fcb31a359e95c07ea81da232aece95e4065621bbd028c14865aa08a587e49f4acbb634f6b2211 +CT = 494b9a70dce7d1195e425ce12b81eeefb3222c66d123a0a38124dc00be3e924a +AAD = 9bb9321c92507a999f9abd7198876885 +Tag = 31e9478f16b8d01f +FAIL + +Count = 14 +Key = d925a3cbaa8e8d3739977b26da549863 +IV = b9a8738f9a16f6586bc5b3b5fe9e0c2b10178a90d300d7a10718abf105ba61362643fdadfb99dee5484509e9798c70f720364d34d8bcd6508f0c5839ecb63b31a92d925b6758baade740c9bab36b09fd3a97eb3bf9cdf3501e976ab44add7608f2d574497869d0513e6822d042eb69f37ac5861bbda035c5fbae9ae415d869b8 +CT = 94c37e2b1713a30b7a44273328946a2e5c4e31b5b5bd578971863bd7beb664b0 +AAD = 7187b7c75dae193a0f28232f108d85c1 +Tag = 6dbf74ca7a50db60 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = f7634fe95882bbbb9d43d51cf6fc4ccc +IV = ded8c29be3c71156e7993c4bbdeb46661c5ca38808767414d622bc7836efe2b206071bd251d65486c07951573f68cbbc67da542a093093b8fd4d8b9f809c661072485b641e87576d7db2c2a41212ad95d08607698c9d0d225b436c780abdd04b6cbf3f665b1d5bcb282bfe5367c375702f37c5f6fdf361efb81606a0c014df24 +CT = 6fd360efa55b888aa8f3e8f2facc63570d870ab4936ff73b8c0b24328ee4ff4a +AAD = 45a3db3ebb7f68d12e697ec11b901037 +Tag = 38c2efdc +PT = d72f5fa85a9b578b808400dace700b9c36f8687c3d6de21ec9a9d8659a3110ff + +Count = 1 +Key = 7a1690527577ed80c32523068d9a598d +IV = 95e8a8c7cc4b00165392d4421588efdd51fd43afa58269f1f26ef4d13047fc9b863a55d2792b5256065112f7091c1e3b07d73be8b16da6d4ae7511967284204472cbe2227dd128f0ed6012ff32c3e2a608f4be02bad38a5285fc82a65f6c244311a918625df9a34a6dc5939645c30bbe9bce1d6b3f7a733c1beb7d36a2be7b9e +CT = cdd9be83a3db1937b1b0823909aa3ab2de4f832205e9ec9bd3ee260906820b16 +AAD = 1dece554da5b4a7a6bf6bd6116816207 +Tag = b32b15c0 +PT = fe7ac00a9a414ea53b0dd50a36346ec547dce76c7a3030ed1e79ac7c1eef239f + +Count = 2 +Key = 550cfd8bb7fd6892767b606374da58c4 +IV = 0588446e6c6374b5d69051f32d9bf42436e956594f4d1998d284e16dd6e24c3bdb21d9703cf1b6199a97ebf3b2424e83ef2a2f661c481884282fd18d0725ab2f0c0418950e66aa14d16d985e7071eea8fdbaacc8c81ccea4f48f262a2875f552d609c6caea7c91c75f6f654e62a6c977b658a16b409d106d6b5a56b4ec4d2508 +CT = 61c4f2324b0a22a35c1f93a1acbdcee9175227810b40f822011dfd1c2b600803 +AAD = 1cb504a32cffc64fc341e4a1566beb51 +Tag = 0cebf761 +FAIL + +Count = 3 +Key = 31d7cf86fe48ea65cbaf49be39ec6df1 +IV = 67e4829fed317baf9ab847fb36653fb4639e0766704496398b84f5871300d6f009b592ab48b1b7cbe60b47728f0ca5fdadff67dc03eee3c1fb31d7bdbf02f2ae79fd680e20a17523d3e9f60f7ee6138761acf0315616063b0b709d27fd45db9d90a89de2e6ef248d33bf8d2df62dd668e4b1f465bffac2debcfbf6d0bbe91698 +CT = 2ee4cc3a872bdd2a12660566510fc920889da5a4431728974533b44818314c23 +AAD = 23537a71e190c1aa57c4a1328d5db212 +Tag = e72ed9b3 +FAIL + +Count = 4 +Key = 16b5e5ebe1dd72606423c3cbea0c099f +IV = 9c98c21f3b7f51f1ced8b4aff2a294deea7880a12f453311eaa89865901eb1f0c5db56083e27ccab834e7492fe0480515834264e768b8d893f7bf8ca0d5ffa902ac63b589154a247b2735d5f8e3b4fa72f8842b40fc42158999536da1fd9d5d831d5c96ce9a6654766a6d0718647f58bd21a4ee377a888d59de54a0f1b6ecc0f +CT = c04b5fdf1e93b532028155891c5fa136a5156c033b23d54870286c784ddc936b +AAD = 279d46e9364009f0088a8f67c96ca675 +Tag = 1915cb18 +PT = 65d4b710cd1e4d236e61f07a598055ca2af64b67fd8f993bf30111cc9afa595e + +Count = 5 +Key = 354163f6f6df5782f9c0e5e2edff2e11 +IV = 02681cbbebaec0e524293ce304fc757d6c0f396dd4e9171fc40b13288e067bcdff71cb9447218beff8f042603fce1d710905328ec6d7aec8e1c908e4c251dcb185a8faebba5e327f8cc50f9efb5323a5963a2b5b0a95f86de79b3d16a8e25832476fde1674bf48d5993f11d7b410a96e574155b2940dadc29940cadb2eaa77e0 +CT = 170a3e04751e5d1c8da2feee031379f778d9d647d41294bea363a097cb0a57f4 +AAD = e4b2657c798c5896c7e2aeda8b8d0bad +Tag = ff28ac1d +FAIL + +Count = 6 +Key = 9b996fa441f58551db3684df8a62e1a8 +IV = 9392caeb6f204fcd2c64d5524a641e4e79437e838c2641588d1fb61a68528f42f51f9fb350cda7da70d761b7b2b543cab1ae95187ab534c7ca6e89ec29287adf7471f47217d0d41385615f8f911d3ee3e19fb854beeab2209a690d3fb9ef36afa44592ead1f22f9c7725169e8eef4b7a35eb2a92dfd21afb142efcc20e1f44ba +CT = 5abe10c295067cf77d402ed9fd3024f4d7498091bac8237986652ce7276566e0 +AAD = 3ebeff903bf4c7c273c64d751c9a0209 +Tag = 3bd098ae +PT = 389d7312ced4039bb4eb0f42730d544b7a717c30f103051cb51675fea3136856 + +Count = 7 +Key = 1d98744c1f7963d2fb769b58edb997fb +IV = 4efae3938a86735da07dbb0254bf649620d74c67f55a3ee0284175facac266d0aca42863627d6b3624936fbf40aeca41ed0a0ec1e27774b01a8ba025654b78fa138aa72e71b8f6a0d94718680601d390b775bbba5627d8068597cef341ed45181fbcde8e0283e45e7af2f062881d930b7464f6782a56316fd3997d33a23661a6 +CT = cf95b06cc384081877725231be490b0cb1b620906215a9d45041794fdb819656 +AAD = 0bcec5ceca12499f04893a520fe24cac +Tag = b55aa8bd +FAIL + +Count = 8 +Key = 5e5ca300374f219b312fc82e631be139 +IV = fbb0938ef8ad3812341b38295a6a670f522ffca83d70033a90580c0b0a455b87396f7d89289fec827fa060fcbf245fd150f645f2f673e20cf4bc40c0135046bf2903b22b552ae783bea1a9e60eb62fc03be0bfd893fae0ddafbaebb6100aa3c736ffd59a2a92c12cb5ace431983b9b090f8695d9de3fe1106cc5765912fa249d +CT = 48d7172eb80c6e69164ea96d3029cabbd8510771dca5ae7a9e8ae1ab2588dff2 +AAD = 9d0fecaa9f3c170ceae9bd14cda45b4b +Tag = 03fb63fb +PT = 8d713839cf4e465fd2657c1b0400f2da63c82744f56f64af486cd72d7db1e869 + +Count = 9 +Key = d5af5b22f033e555aae1a15971c0dc1c +IV = 12e430ad00ae69f503d05952ea1fdc5f5253047052935e46ad07485444046138fd6b04be3194f609924fa2dcaa351a9669c9b5175f58cede89b76ca2bd4cd2e65b8753027128938f6b969c35514ea7c401042220b4d2238f7600c38d72e671eda4c5e1b45983b446ebbdc8add9756691f4d41d580d04e88076fc573ea8f720c9 +CT = 93b0392a43463f4d37506f2322665e3def8b157df0b30f82a8613b85c5d5261c +AAD = 768bdd29487b58b5e581c52c765fe257 +Tag = b3589b75 +FAIL + +Count = 10 +Key = 93b2e9ee008597c2cadaf18ea5e30b3d +IV = bddaf5d71dfe4eb583eb08e7ff5d9f45159fd8344cb12c31cdc1590bc0b58670b11b71a04eeebdee2b9cc4a52277133b793ae498485c8a299030f45282a1cc66c688806aa07b6ebfd62b2a709e995b82b7e8d195fe5da23f06713f7842420c7e4d6ab8d664cba6588d3123093a6db10aad43b7778899b4bea7bbdd2bbbdab30f +CT = 4d6ef2c793917d587fd767c2014093f103d7f7cf80d4c8c6a12a75526500b65e +AAD = 2a54d3753046a99554009bf3bd5457b6 +Tag = 31491151 +PT = f668bb82ebde405a3115f0168577c5c8adf2ad00742c41323985a34c8b469b41 + +Count = 11 +Key = 6188b82db090179c24dff338bc337a09 +IV = 801a1f4eaa01b85a34a17c020f97377db607c928b8f03968d5b0e8c5a7db8943fa0d70aaa76ce1bd666a654d9d09eb799804cde3ecf6d721d5b27b46f720aaeb2bf6497b154f7b8f5b05be7802cfc292c915bb432cc7f8889ffa1b288ddeb72b8a3e23f649090e9a88c8b04bca6a72211e7b6464c4244ef89f65ad8665778f15 +CT = 244a1f68536184e54d989171294feec29f4dcde7d2ead9c951874e9b9182b206 +AAD = 3c831698adb1b39c9bad62d6f4e346e9 +Tag = 73fa3e83 +FAIL + +Count = 12 +Key = 2dcd6df9a3e386540b05edee977150c0 +IV = 496601d8e4e6def60bd4cee9c02c3d2762bc8d17e3f5313a725ea7821347cc9485b3de0f5c886aa5a8538c5896f778c306730baaf4f412639119285e0c286a8d810239b188ffe191705340ef65cc1f238582ceb9c9e5cd75930d303fc5ec2bd59b43accd5bdb06749e113a39268179d1a258b8157f1097fc10d56a677c6cf4ae +CT = 0ab0cc646d0bb29ab672230664be1073e3d5817b382b9906684b6282d51196e0 +AAD = 7e6354c3a38a30074be6a805c4ad21c1 +Tag = 18195cca +FAIL + +Count = 13 +Key = bb63046462a7446de3022cdf9298db9f +IV = 85de4dadd43ff012f689cb4bb2a369cb678608d592cdb1ede48b679adbc551ef9ecafacf3ce97f8551d02b603f9d30b4a288b66a48f475820b9defe2a05ea2e64af6c8acf3cacf61edaa683366d045a45b89e23af42383a1dc29e40ca03fd879d3434eed17825d9a65488e90852af01714f559288104533e67969d294f648bfb +CT = 9cce86c72faea2978feefc820a64d6b79a5ae942ace0c70149700f7f07307c1a +AAD = f3a5c48c6014cbe1d19734e0369348b2 +Tag = 51f6eede +PT = 3b2489fca9fd399337e2fb1416af52e6b54f36ef8a8e763613b9b70f529ca3a2 + +Count = 14 +Key = be624318b4daa8a85ca2e33899385ee5 +IV = 52d1dcacb2546ea12ff34b80389f142235936f23befbe647e9b145a42c4a2b3cc388b65a1b91c2504b519518089e16b1fb3f38c533907b2753634fb12bb4843d1e652ce0cdcf752279e1964fb66b50e660349e652f05751ff658b1ec7832e9a8e1de50f620ffb0ccad56b11bdc37adafdfb08cc8e4dece0708c08f11056bf61c +CT = 8ad5cc984876bae25443a0688b59443d3ec647faaf09b76fec2cce293db66981 +AAD = 244ac309ab4d8426834369f31ab355c8 +Tag = d6ec4743 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = f77c0a52984b31f839c2bdbc2cacbe2f +IV = fe91dbf9568e8dd4f175762e36b4a28c198d4f2ff59ee7ef2c6a681c5618cf23fee9a5eefd693b54d167ad17f78efd8cf87af63d725b10fe88e71eed77274d999afeb1441585aca35f42e960cacc77a9a0d7fec9b30eb50d7b71d3724306e1b29cb1926b0602b3934908ff322ca0ec12f590999af1646b27c3266362d3ad5d97 +CT = 11f8a917d77eb1d14c14e821dc52afd0b1321eaf70704c24646f457a5b7f4f8e +AAD = aa4ce8424831b72c15d21d857bae40c9400da2c0 +Tag = 670f962a59e390957cd944a43f287e46 +FAIL + +Count = 1 +Key = 9017d2c52253eb635452fcda24bf8e84 +IV = e8b24af11e7c39ecd0f8c5a523acba6f155782b0112fc91479f4dbec74406b7fe2d9eb974cba46be6afe57f53258cb98c44c26bdee22d97b9cc03fc6244f8aa183458f10f8707ca1e7f67c040394773006eef283fee4c6ca325c41f99a2f1fc06fb4b926b296084eb4f129ab197f78a36bb10dc446bff8262f95d9c940f569fa +CT = 4408458f6df032957c80bbade4aebc11a6dca45652bee57580084913b884735f +AAD = e5670d66b59cb7a03bbfe9b06674576c3639c876 +Tag = f7106b15615eecc5d436b56c9ef10bf0 +FAIL + +Count = 2 +Key = 2dc0ed46d45d6628c1b7c242b7ebc190 +IV = 071d32502f5315ceba7e0f9663112b16c9eb4dfbc063bdef55d2074adbd9bf4e4df64d52add08ea97fb78f2b49fa6e91dfe387ea6c046da677a30a1ecf11a4f422d732a484ae101946916de26595eeeb30e8a1c3bad3efc52e34017ac38a4026f85a7df30511e710726310a2c1dd247a58fd1c1bd7e6396d160dae5a8afdaf6e +CT = 4b160e27af60cce0c260f7aa93f7e4f8036706b30f449a09f39294cadf686cbe +AAD = b99715efd13ce1d8c6e399834c1c1582472a587a +Tag = 28b9d60347f5d026bf50049af15db5ef +FAIL + +Count = 3 +Key = cb29a225b14473a9bb6a7af2f83fe696 +IV = 140d42b87cba4db5f8fca27074db4e9b856a2eb63fc28fce0793804ff4c0162ba9e05c18dc0392b1aff4500fb035ef7e8bedd0f6d43d39c356bd468b479bf9158570897ff77e4a170b992d2eb8e5ec00bab04de96028cdbf97bf96385413965b32a95b1479bac1a305f806c5b6256cd73e1999418c0e85d054f5b76921ed7d19 +CT = 02f6c7c689b994ea477e1b12a1a01d66aebba6cae7110f830d4bde1dcf055818 +AAD = a030397773795602db7ecffc373a481a011eeff5 +Tag = 5c93df53f3f81b0cc7e0127fe04eb016 +PT = 44a6bbdfeed0e929d83d37f8c2ca1087f98c22662280bfbddaa73579ba8a89ae + +Count = 4 +Key = fca0bb2e9ee2fa10234864bc01b35b55 +IV = 7e1fac60b8628bf46685c7cf94b93ef657382f44a0a75b82cbdfc510eb70ec769da1f6c4fc62bb60bf736491f61aecead7b8f19463b6cd1004f2115ef1eb358b3fcf3396fd67282ee339754b83e9978f29ce2207ac3c9a3066fbea6f6ab03b1b93c58c39d257e5d965112616fa27198204dca3feb57d49abe17a3b59021ca3f8 +CT = a7ac7fc61bd02ab791bc5634cdc0aee4b9b60d33f8fc25ebca6bdc813ca8ab19 +AAD = 9e010d0f41b219012e3aededf4ae65a9b4e82dc3 +Tag = ec01667809536c6db2d894f3ee1154c7 +PT = cb9fd7221000cbf737c0da5c3f0b7f91f4208e6dac310ec3642b01714481ee0d + +Count = 5 +Key = b94119c9202455c7e9f585190ad9ddc6 +IV = e48d0077f870946c8d5b71779bba91fb123f9ecd380aae52d3b3706982553dbf056b67492cf7a95c463a92d7c04caec66571518da6aac049864dae68d9bd9d6243ea45abd69cc5872c9392b89302191e5efa6b7209d2a89c816132d95b6681dd282e7a49cdcc2c2d5e3df7058f02884fa09255c99d6a51c81b26890c24145cb5 +CT = a9bcc951d515c2f53db8f25c385da49fd69eafd91a7ef20e7b7f4044d05f585f +AAD = 2086c40598dd102015973cadc8b54db78ef3f54c +Tag = b8518587d93d07a288b598cc9ff81c65 +FAIL + +Count = 6 +Key = d5bb28610bc455f10aaf2c9d06419bb4 +IV = ae665a9f7b9548e6a85c51534cc0e7eea6686ee2580ed4b5b7ad39457ec73e092c4fb7c4be72d9faa4513bfa966696efa221badfdb4f40f7d6e5cb65d1e024388496dc3e5d6ef36f580d3d5d549817b4eac92410c2feb48fd75e823ef5255d6715e136f722cf52a0e5950cb3dffdd5022d596bca4c316da46955493c97ba9ee5 +CT = ae64ce6a56f5de1d741f1be9c04d839595595d77d8eb78138e339536a33c5836 +AAD = 8984d9b9ab6b36e13e22df12e139009fc0aebc08 +Tag = 1ea759f6218f0778c244d10d2e1360aa +PT = bdef18e2dc38e5477c6cbc963fba9ae50d1d6305602c76724832b08958b59466 + +Count = 7 +Key = fd7c6f0c89e49677c092b503f2b46d60 +IV = b0281e00963687ac3a33a36267f761df6957600f3e6e7201fc4425e3721c346231765a2e1b0508e278538299db59a427a0495768ee1c4d2a60974afb2cd9085ccc77bbc255ae30501da3c4abfc176d2725289b09d2107081b775a105aa614a12ec68716a5ec1c0b573ba6646beab1d24996d9b6f5a89ef12b6ce37251c289c44 +CT = d6f669dee81433bb8f98360814ca3295fe39fd14cdd23f5e5f8e184d8d4bf3de +AAD = 72316762593147051745100acfa2b1fd76847f9e +Tag = e267c372c65b3789a22f3f96164ee518 +FAIL + +Count = 8 +Key = 815c9f1750981e686cdb29070c45364b +IV = 2b10496e2e0120a0da11c9532d894eee293d8a8b10439ca16e6d1c8a1d87a28d22173eb0679a283f57d8861e18064a4a5ebc0f69ed87c75b3ba8dfda550e10f05736e3a3e6800ee121e4dfd3d834cff274573f2bd85a7ea47050cd11269f21db34b2dbfb2f2c9a6e9d261bd44eb04c8b48da3892a37f5863db953cefe07a9eb9 +CT = fb49883a14c899f9f117727281dc970d7cc90c0a35f01fe5f953f2ff9945d652 +AAD = d4e6650825fe58323cfa0c02ee0d56fe20ef2474 +Tag = 0592c89d16230b2f20734d4e6b255f31 +FAIL + +Count = 9 +Key = 80e8deec4d33a097eac7a13d6bc45d3c +IV = 8d22205b4768ae64548b58f7d1cc8bdcdc970df0a3b4cb35a98500353fb8300b2f938cf510556a82a05f3c5109e2edfea424e14555abba17c4ad88d8329d86eeb25d24884bde548c42d5a3dc9605920c10dcbfb9749bb4ecf91c67cadfabe388a6ec094c3857e7ffa81c268aa9c38773113f742598f0bc7982ebd4d50bfc7d8b +CT = 041fc7f1951dc29268d0cc91aa4b61494fa8465b060e78979268fb1d30a3ed4e +AAD = a9929aa1f07ac306ab43121492fafe75a2fe4154 +Tag = 9b228b72b4c3f43a9c6175ea398129c9 +PT = 65592088a84c8009222319a11963017a83c8006d39538345ca62f3e2f0953707 + +Count = 10 +Key = 8679ea0df1e066a6ea4520244b0559c1 +IV = 72a6b2ce55e73eab557d55ffd1178a2309ff245f49e3b397c9e4fed46a879a7745c4d334de13d7f1ac81eb2f3bf144513d5fe0e88f5bcad67d80ca3415260d7845fb414c62855520dffd988096af8ee023838c53345d977691c9b927a1f595c5b90b1f71c1f252d73255bfea7eafd57fe58429a2a1abb64d129d6d2638809a7b +CT = 88ca698b19a7dc3b061a09b9240215abe364efc3047038081329f08ab419ecc1 +AAD = cb5c8d0357437c646dd74d374c395cb88bb4df0c +Tag = 826d679ccc983f5a1846b5f6f982c9f7 +FAIL + +Count = 11 +Key = 33d9b710f65352f3246bb954bbbaad0b +IV = bc38a7f76c4fbb0485adf50ae29826c91e3ec467551720bf7aac07d76fe5d64a518dc0e95e9b32c1da6ccff94b3badfb42b0f93cdf88cf911ca344f29158da8d5f0f1db3071cb55182910eeaa77cb4fa4333fd9b694e9cf1dbcc82850b87dac6ce172212b7949f2892e6cafa5ee014c1b0ac623bb59862c58797a7288ce3271f +CT = c8ad3725e0c174b95936fada3594f221fb31e58b8414fcbc90735966d91009fa +AAD = feb1ed687dc1307e357f71329e26c206c6a481a4 +Tag = 30959949819c8a9131986e86ecb7f4dc +FAIL + +Count = 12 +Key = 520626f28cd0b5a1afa80c749fd6b456 +IV = f44cf7ec65dbecbd36edc228fc668b3e3d3b9ec7639a5c16024967ff9054e3ee72affe23849a107697fdb78d8da5c839be309f44e04f3144bd1761bf35b0caca294df0302b25c0301d0c154688ea945e8e31e06cbffb67fcd3b8c7ce22aad9a37ab40ef89b794ca399e94c9d5d7f92618beefdc44fbfbc5e0fdd2e282dace932 +CT = 72218609092d31abebe7d352f8abf0df0aac8924fe0bd3cc2e1122d1a80af814 +AAD = c1577b2931d8668b9e4a065e4b490a544afde198 +Tag = 24f65ad6ffe67425f0b320a10a934710 +FAIL + +Count = 13 +Key = a9bc8a0bb1fa23d90071fb25de08bfa0 +IV = 244914065216ba9eb8f27cad66b330e4df15f5a73b5c08515348c14c6db59cac0e35e851c0e9d5c20948a932e07e63a6effb6afdfaad774e06db78d1a4c1b4ebc9284cc978e7cf51f5ce069c77631fc991f25faf38f076e59081cfd39a4d9e98d96ecb6b3d56979199d9891b069ada5ebc4f53baee7c5b821c43a0d73becbaf8 +CT = 5fd1fff061a4864c22681d60a94d24f8d4efd632f582fc4da31a33ee175d6483 +AAD = 5bdc495830fb31fc54982c74d032ed2eca50b286 +Tag = 1552ff660e34c133cdcef663a6adf063 +FAIL + +Count = 14 +Key = 812ad1ee2d390c83be2f81570297ea27 +IV = 94ecd1dc0cf487297a932caa35b59c4d6097e014e4fb62f520cc48ac9f52b52527fc63ef668d6152d6da223f05242b2e76b0a3b0e0a73a5ccf2092e873e9071c99cf5d188d43d71fef781caba9a6890c6bd60be02b4fc6261efd2c832af2eb2e58eecb168ab7f49530a8d5ed1703a368c0bf2eee005936a3d0b8459fc9b8320c +CT = ed436941ebbab480e3814145648f10088c099edff7472b150738c4836f70feed +AAD = 3bc94cec43745d3f611afeae95e0d771d7e0cb32 +Tag = 67127f522e992f5fbe793ad58ef84263 +PT = 41861dab5b4c6c7b8d4d4632df30b92fa123a43af241beb6c9ad71221572e3dc + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 75a6123b8724c70f7e9fa56dd9ddf033 +IV = 3bcb08103cc51b8241d2ad5ef0af14a3dce7b7adad1b38ac424587f0ca4225d23265bf997c3924a6c2617eb0c010c087600c35905a599fbedaa10f0a0960f45008b3b3deaf115b730f63fa0b1f04df2210eae34926770c19d31934497d2bd6d1ed06d7ef57286c496ff28abf00e03be80fa65d1bbccc49d31eab083e5f1a00f6 +CT = c30d453a204d218ce77c6d9ad90a86f085b79910aeccde974dcaf8d82adfa8cf +AAD = 5c67026248172e95414f20aca3674130814fc9b3 +Tag = 8e643147866a432834b3dab2062337 +PT = ccd6df6c35b4ea22572a15e5db91578cc3e65227df2b2eb39216ac75ce4abb53 + +Count = 1 +Key = b1ce90783f094b30502a2ed7d4623dec +IV = 5fa51f2adc6b8e93cdb820a5fb79dbe7c3bd23a8508c3ef717ccd9ccf7a066729113bbf5f3f037d6c8b9889c471609077e6a9a61b844b527121bde960c0048bd72242196d3145bf230f1da2d45dd3c421ad4433812bb036aac91f417aaadd6733c7979de81839cc57e66c678f13e96d64734b60721322f1ea705d66d858708df +CT = 55bfb6ab37b17690dfa6177558fef39307c6146eac50ceb4104453a10e32a955 +AAD = 4a2fdaa474d232ebd27b7cfa154b5ad58db629d6 +Tag = 75c9791b2870ddc1f940c2c620fcfe +PT = 35751ff17ac022f3936f186146082bf094925c3ca463cc23ce5da9b1287f6b1f + +Count = 2 +Key = e988f47343a22ddb2eef74a110b4b7fe +IV = f9f3681d1f5c481094f16a8b57dfc8672fa914da2ee997518b1b956b8a1ef301059701706dfdd83163f2cb2d14f6097c4f919cf701d2f8309ff5cff2f2b690839bba244aa8ff52fbd4bf01f2a634fea78d565dc2b1dac10d1fcaf59564e55486aff7fcd5e4594a12ad7b3a5d08d4fe4505dc0d31fd8b04f9cf9e68079ef954d5 +CT = 8999be9c0e731b464e2e667a040430eace6c3c0d498fd493ff95868c1ac1b1e2 +AAD = efe12cf49f860db3f7398f491f14e9e0c0fe0f71 +Tag = a554d085d64b94b44aa1270dce639c +PT = 55bb8c77ea2efc4a49d3972160c1278eef33331d5499717b29f13d2417690c2f + +Count = 3 +Key = 9dc5119784c3bb20ec2446f621fd86bd +IV = 6beb62693d759d03700d7e900188e7b6ca8fb22a46e21877daba4d038eb778f89b46868b2969e0c331f3f405505f2eac0bbb6efc228e2067ad7ee153efeeff8520fb27eee67cc387d914a8022b4105cd295d3b470b56cfb5f2ff183bb79eb6243b3ed25bf387d7b62e2611fde5c016efee2198e977885b189d8f374f8b626903 +CT = 8f249762a6ffa388f1e97369e7ac6d10920959f5b53caea1edfdf2868264394c +AAD = 7f37f879c836a4e8d293b50d891607d6f0e5105b +Tag = be25342f36d4b19208c659b0142db4 +PT = 8d75d387fd99e60d7258f01551f3064448214521f53a03e9f6636985be91153c + +Count = 4 +Key = cede5a4193266c7c74769611c1614f36 +IV = 400d68ddda52fffa4ddc7e0523cace106ca7d65991445ae0517199f0b3a82d393346528a4fff3ca00b8841a6f9736247ba634abf59b8600c0603c66b5f5faafbdde5db311e1bc3c99b0a55410c77a567675d403e0f69b3623d73d486cf825f96c4ae7a118d4ab9f202f1f3fe262075e13d1de1faaa80cfc93260f6e0eb6c4422 +CT = 34bfcb4600a88808886f0912e0f28c67996c34d0821cc893eb05383009a9b181 +AAD = f98f489a600b69073dce20e71559cf47edcffd59 +Tag = bd29d802a66ac41dc63dac369a575e +FAIL + +Count = 5 +Key = c83c7f8c73327490684ae77e0065efed +IV = 0359412e14f69a634724c408738bdeac64ad173988b37322a115c31cfbf31544cd5fe23702ff5bc7e8b0f86ee364620c0f079d1577f14cfafb4b363eeb63faae4f13443ddb38839af7a1295c962c427767610f567feb638e4ac2ac0eeebd935c39dc0b27e2221d7d20fd10079a70b8863cbb3f05649e060fa6c2fed93d735f40 +CT = 0439bddc9f48d435de090115aeeccdea0a8942b3c3496ab0719b8f631300b738 +AAD = ff3161ee71055b444c85582cbf63465332c0a3bf +Tag = ba1eea7b10dd148c5537778d4056e6 +FAIL + +Count = 6 +Key = ff2e903a879fed24bed2b95105c90d25 +IV = 694b958c89ee13e52ddd0099fc90c4e308951d82cac4d73dc5b377f621f6ea6fbd8269857d6cc3ca1c4493db7dcf39bbf86dea8bb8987919c63cb03cdfc107c92b16d4ec5ca3d7981a55663df89bed2f0f2c3358027ffea544c76f1259c36c9f4ae9d38a8777392aed0865fe640dcc2440782e91a0fb0cf264e7b9e43f424f62 +CT = e102edfe325906ba448e1d0b041ef2984d0b515cde3a5e3f6aca31c77fa44abe +AAD = 7353c3de2ccd3029a424f7f88ffd8ba974cd2088 +Tag = 740379f198dcfdb8002323d7c984f6 +PT = 0033e52f315cf9bfc50504d908a2057f895b0a994ffec89a019b1a8289bacd02 + +Count = 7 +Key = e8ef783c1de013afbc33a060b023eb29 +IV = 697d4305b1e0fa526e03e0a0e9be3bd75bc19fa987dc6b845eeb4b5db2e54ffc8c47228ac432638254770f1ebb6e416ee8df9cf9cb8a8e6eb7a3897ba106f6ef5ca58b9d1544ed8a08cddeb45c051a576f829cd5c968f667c8d6c40aada908b38b93067f120a995b7a578c6109042cfc5c1bd748e8f1abff13ab587524fb8c05 +CT = dcd193175a2a24591787c8743a879c26360eed8aeddd78a17d42ede1912487bb +AAD = 2c9dc36082d5cb58400b18d0ba02a8308bf08372 +Tag = 03dbcbfa0f172024663e88d8404a9f +PT = 2546b3f2b46cf93f90d824aadbc5956ecd950a76b361a5f2250eab35c654df0d + +Count = 8 +Key = 62dfa14aa62bfa7acaebe73e6cd2ac5b +IV = 609fffe5ea13c682c933e6c5c7f7117de2a12a7bdf7af8507936c3914450ee863ee17dcd55addb4ed503396296a06afeaa10076bedc9c6c812ace7f43d58f925f2b98083eeeae2f36f75ec2df2ee9d77370763e6e3c12ed3d17681d67f6fb03f4e14e7d7c0b96318e2020f37d573c55a19f0f7811530ef61a9ada63d008b6c32 +CT = b415955128ff757904d78b5113d0376e8e13f6e6468e7af691e0a050964224a1 +AAD = d9898853c8ca4c478916cc6d5e54016295f7dde1 +Tag = 19bfe86dd29a95b6d9022e7e19ab07 +PT = d84deea24acd2367a8169e02f086e54f5239d5013f248231aa19bce34d71b359 + +Count = 9 +Key = ec284edaab2050d525a28838477b3841 +IV = b2e9eaa78300eb00682196b47bc89f151a2fb72bfcc11ffd1848ec5c1b0137b9d8d52800cc2b6a0e411a78da76b877a00b7091903a81c578b102efc50c6d546f85de2b5b75c8770e8c84b6c25532c3538f31d7dc84dee31d002900f46045f1ca806b24ec4e4b880b1d25850277b250aee188adeb78bb387f3d211d356f5ca54d +CT = d3b2e945138abcab79f04259a263390724aba4b091dacb15017a7651f9a975cb +AAD = 31dd9717b1480c65dc12085a5bcac62059cf5798 +Tag = c34612c3a022f4c0df2e2065a02380 +PT = e8c80b25815bf0337a36bb5173bdc128b252d1d771ca4b21f83826e6a186e967 + +Count = 10 +Key = 6cd7a8c6efaceda51671d20e07b3cbb7 +IV = 28169227a40afe78b76cace241b67ff55c9429937773250ca6b2faa08b34cc26b3e8bcb9a1bd39ba7d0fc4e3c8f083c48218375c11e329b02b527392dc7a977b881a3ded35141873f8fdc2316dbc6d9a65742ad6299b3102cc5cf19ed1ec174de5e45d3878e0609b9c2a6ae91286a1af0566197fbc0886a89056cdeae28d93fa +CT = fd781ad5384ddfee10aee74f1cc889b00dde3d85b4eed9f45c917364f3fb6821 +AAD = a84289fe36e68a419d0bb3023fd75c087e497394 +Tag = fd6125816370355ad7f5970a79854c +FAIL + +Count = 11 +Key = 2cad3b33a5df11acb51b7603410fe8b3 +IV = e2f5f59238a5ac8e953cefaa7b26667bc2f295d09112f29a11f6955eaa5ec9c75e0a7a01574069863ea3bed23f90c2662f6d84125dd323c62701d723dc9f38b6b49cd40f483246da02c1e31eedc4bb9bbd24240762e196d034cb3798c792f91a611c3078dbb4058416c6e08597cff500c8936a446e8d4c7cafb657998a1ea772 +CT = eecfe7ee471ca0e7f8ed5f2430fe180288a967e3c4ad0c7032f22aec5360aa31 +AAD = efe1d436c54f7fe3f6a73858820454aefbf37203 +Tag = e8a99650539244ee39434bd396f741 +PT = 0e215fb3526f5935c32ab8b8a828d0df799faccefdc74ad9ad13e95e7b134ea9 + +Count = 12 +Key = f74c68a88fda78e7673aa0e1152b492e +IV = 2971ae1175646ec8e2e03d5198367f9dfbc52965e02e7f3f9238572f4d92307dd99afefadfd995d1b2c2eadce6e2267a14d9fb8a331febe8232a4c7c8f9a72d5901a148e64b5a83c4228b207285c54dc85338c07d6360c240508534cba934e94dfd8212a9c84a2a18ea921128beb0534dab8f0ea07223f6ce112c9cbc002caed +CT = fce007f1effc2354d3db9f73363209b2f0d7fc6cc8b136cfc792ff6c2bcd0b39 +AAD = 06041e1d81ab261e61eb0271a360c90e6a69f05b +Tag = 0241fc0ee936ebed9c8920551df424 +PT = 7ee05498cbc3a9f837c33bbc1d8f740c3e51315243542442a4437d961c5a8571 + +Count = 13 +Key = b6d9aa4e3ff29efbda90c087a6233b3b +IV = 0f37e7dda5140aeb1f2f2d3ab68e6af01841b1bfcbfcf4bdc8b8b65b955c5e1fd49bb018c91a80b10e20c731f7d44bd42f5b3e69cd76c312a30d459e419c765b3cf69977129c26153e151a7baea2726e657413408c86e8826788fc1486337ef0e85a8c7e812de2a413669f26382cf0ad56e9b27c3f019b00faa1daaf07783aaa +CT = 69c100d4ddbc64b2ac61689b7cd6e764b9463301622811f546b2ccc353751c27 +AAD = be48fde5a94dd7f37ff2d50baafbee05206e6e74 +Tag = 92215f3dcbdb235193ad57989a1bd3 +PT = 2f098b435a9da2bf432fee7b0b88f0cde816c4a9a78ee574c89f54b6ab569d3e + +Count = 14 +Key = 6c29c9d39d73d4e274e91fe65bc79077 +IV = 6813b2bb5402e229e3576bec2383b977009a7ce8e116b774279dc4946023f24904a0c975ac9bd6fa07dea65ec9df88be62b89db651f8034c40d60870145e7cca9e2a13e36d5519c25acc610614398811c1df1553777633f966fc8adfdbc5b084cb7b7378dc7a70a4f18958fa6c2502ac6179a359d49af23161abea589e46455f +CT = 452882a293114b7ebaf868682964ab80d7d9b11f456e671b7e95e3a601615d46 +AAD = 0a64aa4f13f89de9cfad120d4c12fc95f9cdbae6 +Tag = 6771543cc1eb908bef83c257275c91 +PT = ce04139178cdcd4bbca843bd4b2ddcd4a78a57347afae7798ef5a86cefc0da8b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 10603361900a3c6b71ed9b75db2838e0 +IV = eb17306f8fc92ee34129c14ed0f661abb736a0744331b3d42836927379b11a2babf222f8b5a90d04756d108591f54d08c55f61b83d7162ddb0b15a98c961cdeca2bdc9b85bd8187952526df8eb1489e16097ab5cd3248d37347c83e02883a2cd91fc1d6588265492eb2f5edbe453941576e199fe3582a523b2d18972533cd202 +CT = 273549d364e186715eab507030e35ed732abfd7b2901177183ea5d24422285cf +AAD = a31ab14064254ac077cdd74c40cbef0e7333b684 +Tag = ac94d110ca70385cb6d6d0dc1450 +PT = d7793be0c31ed10763b1affaf1dc67987dd00207c3ca1f2651b327595e929b7e + +Count = 1 +Key = c6d6deb60d14fab954ade33d3d8b490c +IV = 7bf0b33754e06c582743582fe666d9f7807504718946c8c48391e9ea366b1d1eb3d516ef7f169597378e759aad611def5a1fc25eacd35ade579bb03297a6c404a201998ec8e37b046195fb8159b8b9aeaa116d2deb42373afe686146beda263b6471a5e2cc6eb2cb9d5256d9bfd1b70da02e7db12e384ca1420fd26ff576b7f8 +CT = 8d79a797dc71688a060405dd4f0ae3b2c9640b01bb7b2fc43e3fb787d3dda832 +AAD = 07ac4e1d2fb819fe06d0135b3ba25d045ca7b32f +Tag = 2621b32800b99a83c91143f2c0b2 +FAIL + +Count = 2 +Key = bb07008740930a054f879275a6e5638f +IV = 2ad7e228bbdeac58337696ff10efe52dd43a4621cd9143979fc1f313aaf160e9e90863955258557f39171d176435cdf78bb68ffe48981311ecb2d6d8057760f9d3ebe845897c8f2eb9d588a1d406b3a6ecc076c9f5e190c48616e997d4f90bdd4ce4ee227ff1af6818763fd7656ff3a4af6d4b7a7937ec49f5de79b34ebf1b12 +CT = 9fbadb6d5f99afde595f3d403f5bec3b44eddb0275c4620cfb515d1dc4ae9dd9 +AAD = f25348439a61db23f3c2f692a96d69abbf8958c6 +Tag = 264daa3504d61bbe861eb428726a +PT = 91d1af5725106a668e6ad238427d0e2ef03747e74a7235fc935ef950acf58e41 + +Count = 3 +Key = 4983cc4d2d06988e403864c0197ec673 +IV = fc07317814c6745de61d7bc58083d6652f514503cd108f5fd09fcab0b5b40d1c4d6ef8d82f6148962b190c45fb0930a705e7dbeb15f8ac0f8576a6de53af2587a6674dafbd2b57bca0c9eba8f7be0e4f59847596133525e1ff95a58b6c30af0c235f81e7026aa157a998fedc38bc28e9d96694e4138bd8cbfc2c0485d613d1ac +CT = e0e4a12cd52b6246307608cc4fb60744a5f1194ca78eb549dba1b3982740b360 +AAD = 7dcf86bb93febb6ff993338d6ae440db8fe927e1 +Tag = e888843d0988fb2a1b20835eddc8 +FAIL + +Count = 4 +Key = 37b48f067d672eae6f47ef5ba36a4921 +IV = 640e24e1930a2b74b09e90807192b318e71ecdb5f9f9089c3746fb2c8d85ba72db971e877f73691324d75fedf24ca4a9d8673644678e189d37764b6bf241e3028f9b9c66d87bacd6ba607d4e16172ddd424488cb3634db880603ef022e92f25870b6fc8115ef0278bd70865e3a645a0ea024faf520055cc40c12ebaf2b8836ea +CT = 576aa5ed42346fbc19a7c62fe30e3694de8eade4bcb2ee2b2792f206f92931e5 +AAD = 50395c125fd9e4493340c554827edaf93256f6ac +Tag = c7628cf633e40d8febf9a8cddc17 +FAIL + +Count = 5 +Key = abd7f636afea40ffb979328c2365a94b +IV = f23f9550c6806a4c28ef32e5c91cf9f04b71629f46facedf5ddacfad5266ac9822d1032ff76368dec2c32adab6972b34d7604c6ea136f031b63a8ec6df6d21dd21d5b7e91cbee0b50db31942e4f7cef20d798812e9db6d63925cf393f9921a1a219254398efc340923a66000efe7a9b37f64b0fc1366620690fde8c9798bbb64 +CT = 89d44c66c4d0f7f89115bfee04158c3d796d138a7adb00a6c825d37c858d22fa +AAD = a99f24e0b18d3297b5c6313f6df13ab3d88fec76 +Tag = 1e19977a977d384161dbe18d82a7 +PT = f2e212fd893f2de14e0f45a675435b122b20c4b398cac642b87ccb0840e270b9 + +Count = 6 +Key = a842b26328f9fed4477049d136f0fb67 +IV = 27523a2ed4327014c6489db553164dc4a32fe1788c65ab69571711e0392490b0c3edcd85e96a5f898dbb68703887e69d3621044d720b729c8f419340868e1432e7eb365c7113c4b0f321c4d68faa2fbfdd8dffdfa5325185a50d368c0954214553bc74b67404a6aa41faa692bc0f8ffa427d09e693ff446281c2f020eb20594d +CT = 17b2dae7acd4dfb616df8f8848f9b811ee506d96b12a6ecc72dee57d51adaa2c +AAD = b9ace7ede2a6f5bdd4524611e54c6be194705e12 +Tag = 5898e5890bff99eb7b961085bba8 +FAIL + +Count = 7 +Key = ab9a404428637d9532765d8f1c41d329 +IV = f100d712a03794d89b9857ef59c4175dcc0a4f535e59addd4d62918a884ca91422d272723e8a8a2e46ba2313dbdaeb623617a6790775197200e933a319d3b49b9ec99f7606513f1b8561b0d976dfb1f96a988d9368d9dbcc9b8a5ec2ee3d873697f27801406edebf42b4d36f590ffb08bd45cb01991b48bdef4438f3c0d5af79 +CT = 6e61d4b6fa47bee9adde0425ec362c30faf276f91d6d0658613ac4f25130d500 +AAD = 7013c653d4f915f7a7ebb889ec7a4a8be5fe66ae +Tag = 11c750e692958ed6c56811239068 +PT = cedc3d4afc15b4e4d6e99b53290407e3dc51abeef02d00677af434f5a634d09b + +Count = 8 +Key = 1cfdc3c5e014ee7562c3367b698c391c +IV = 09d0cdbaa9875835fcd1f21a674cdf56d76387688499b5ea38c28a5aaf7690523498212606d6c6384ff08a044ae22af07358be81b4cf820f727e518e22055ddbad145c3310fc6334b45b8c9d8c16a7df95de992e7c26e22e76dabd287c3cdbb4d5ad73d9c264e2a4c09c8ccca053817f2c4a0c1726bd877df09db68b88d285c2 +CT = f43642773d0416b0e9e303b2936053c678dfbce6141517ae356bc18f12e002f1 +AAD = 5a7cb4a8f27c48a6b2fecd49d3c4d500db600ffe +Tag = f51eb954de5dc6eac08e9a9019a3 +PT = d870080ae521238a2c3cd589e8fa4fc616aa6b982b30e70cd74a571a0a732039 + +Count = 9 +Key = 4908c109d81a0beecd4c94d263b6faa7 +IV = 4d446d0aa26e839eb2623746c1cc6a5c87a5d167b5aa75986aaf418980fcc564b188a8c8b26ea2ce798a55af78f9e0094674c353048effe449cad0130515b1f2150e44cf7b3c23dbff7e251c088eb70cd0949322e390040f85a49d4a30aaaff93f8b338c7b558da999948c59ac66ac214dfdf862b6c9198eff8ede7107cde1e0 +CT = e41edc0305793e0df1c8d2e3510bcd37ef9c87d5615553381a2be3f9b7428911 +AAD = 5f44a4783315ab02b9817b8db261451614fb6ca2 +Tag = 3a889121649e47ee24d18222c79f +PT = 1afff49f9bd1f70cc85641b5b73b9f2c77da64b197e6ac95c110da2bb4239901 + +Count = 10 +Key = 059b83a6f90b23ab1b6a5a7b538469bd +IV = 9d18f68b19e711f45a8f99da9712a82ee928eb1d283cd6ba5988b4895c6718c7f4edb93102390f80cff4de44a316368244d09cb6c1f486bc63007865f4de92be3e3a023fef30cc5fcc455b9411ef13275ee30d23e70f8b75c0a7a83ca4766c6720cd1eddc06013f880c1598c25fff504db7a3cec974188757acf590d3c47f199 +CT = a0e7cecf9b8c460e3734642f65e91a4c075109f6f4f27839b2180d0195bf9eb7 +AAD = fdf2b34f7654c25694e95452ba5cfe103ef0690a +Tag = 4025afd60f4c08229cff464bb3dc +PT = 4c926b2ce134c1f5221189b16391d8dda1f4cc0130a33cd70954f71491d22c48 + +Count = 11 +Key = 480ea26fab6f42e2395f451e372725d3 +IV = 8b00cc2046635fd1c029ba12a5ab0fdddb67df44da03832ea74cba0da87ae95b722dee96ee6e60dfe77ed538ffb49e02bd3d50ba4e9f8073e3d3b8997fc87606b3a8314c1f68276c3fb02656613b41568ab5939a37dc48d018110ebcbb7ad3fa6f2fba399f5cd4de3961fda88409c3599bfa743935aac693c5e9e2911c522c85 +CT = 28d58e41b95bafeabe316395ed259078edf9d32fcd6d29e864a981cf40173d08 +AAD = bc2b7fa1a1e01f3bbca56605b3c028d691b05e59 +Tag = 98f76b59f73da79658dcfe41b54e +FAIL + +Count = 12 +Key = 9692ab69732a5a80e1d9e018add0c871 +IV = fe6b2ac2b65a9881d958ef7daa876894a0192a3fb0b0f409edffe9741110f109ef021326cf9dba69a664275c73b7aa03d83cb30089e34288f0ef3264c4a435994439abb49f2a59a4c322c0bcabbe1523343e4525e374620ea10676904fddc958e6b3ae51a5375edd581e0b46a2f04a10fae2cbb42804c0ff409fb8a800eb1fbc +CT = 5676fac53725e3b305ddd351e21df9e1300a32df0e7be26f24ec2749b8a3a642 +AAD = 91fdd95e3531d0904dede5105e79a1dd0e7f2bf7 +Tag = c74a02a49d6472014ffeee4764b8 +PT = 8b2e3bac9ac8583cae85d8cd24655c7350c2a74fe0b34c09474025dc6a52f0e9 + +Count = 13 +Key = f644615fa5dfb95d9af2d85e15f8996c +IV = eb249acf03ef372afb827393fb6b7df2b8f55b8fc49d96bf9b42d23841a558ae61d0f2edf8ae7194165bfcbbdd0dd0f3486382a10c66614e7e20246c699be7641306e046fcefb2910a235f2120d0192ce5fbbbacc1e821113749bffc97cb4ddfbb5b8c3a3144c40cf678adf85b52c2225442eb0281487cb9cdbfa84a111aff46 +CT = b951fd7586a3063b7755e5f594f44975c34bb4a9678ac5f816cf3589699a5a2e +AAD = e39aaf718f70683b30ef0df7a83e818b1836b923 +Tag = b730a2439436a7a6dfec437b217d +PT = 19acc160d07922171ac2c8c9e7eb181cfa7e927582b80ef0271708749e1bf3ba + +Count = 14 +Key = 6e436e6a171dcd260f35c1698fe2bab6 +IV = a9a6f6d8b77554f7d3bbbb95bf9c4b058ed5ea0f6fe0d12d6e606bfbf26781dedf6fc2656d8891f4cbdafbe20f639570eb7993edbb269040fe8a2e3199f4826df2f7fe8c26d1c1745091ddf2cafb0e996bf02bd881ae0e930d643f41204e14e67f2d346bc36c7381d82b9a4e64012b72b6791b3f64deccb2dc69b46d8dcde588 +CT = 8f81b9618b1a08ab12355bf2b833896f0e9c0980ce19d27949ec461f3ebf740a +AAD = 70156e3c1a6909e39bf178d5857936d0e936d72f +Tag = 4e64b6aec832699eb52b5c3e3549 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = b005c47c3704bb0e74cba4f691e90102 +IV = bb8a256955029ee7f8d5e61859fe46fe1a25377e0fa93c3153459d3fc51615b4130ef034de11a190b3527938bfd0f1b5f9d304f37478fe8bef6146512b065c94b50df6ff12f28626c6e59909ad1a07e796f5b42ac18702f682b13aea550b0b5e8640bc6055164da0d12fb28688fcb25c5bb9314b91d6416cdb4551b385ccc276 +CT = b9fe0a6dd94a2103e99372129ed49ca507617949805d270c7dc284a443eb78b1 +AAD = b4de89dd99f6933233fac9f8ab673f1f1b7130b6 +Tag = fc991ba12c142416e21016c36b +PT = 404c05cee82de45d2a5441f60d8e38027769aa24f0d486753a37296c9a3dbc22 + +Count = 1 +Key = 48180a765e8d9a7a7432b02146d8d5e8 +IV = 3275ae79abaf074cf171d392212308d8729df0c2e44c8e01c5aac302ea3d14ca9fa5cb65e56f83f1c8241ff94f9fdc14426ec9f65aad7ea30395f97783149d35cb10492b3ef43691d97ef08b618b4afdd0d5ab0ac7f31828310e6f0d9863deedb66b5ae4e04ea92d03acf7afe62941f94c37f9458ab933ee69f5c8601af1eba7 +CT = 2f76650e51df3ca05a8b53e44bdfb8cf9747b04c2060ebcf3fa6b5196c3ad55b +AAD = f7338d9dfe722d4360435c2b61fb8bd7c664aa27 +Tag = abd4fc18793fb7b79bde5e4598 +PT = 7a29926b7f3eef15c63335cad987ade369dd6924300e9a0f17fada6d8b6bf105 + +Count = 2 +Key = 17beb2a7b8de9e59baeb1df4d7e59274 +IV = a1932cf16c4abae1a8c9340347631b7660df1c2ecdecfdfb9a46bf0ab164dd369a855bc9a2c0730154dc6a7c4c579b212f4f8746208b176a028859f79ccdec60a07cf3745202c7b508dba5353375d78996bef9e39d6bee85cb9410266d1d12b09297c57b777e519b13ded668a701e34b206ef48a199172613b3c0b62a35a509e +CT = 949a0ffd5565f00fd790f8c9d33bb64d2973a9a3bf1136851cc2ddfbf86a9589 +AAD = 95c6db410374bbec29535444ca8f4ab8d39dfb78 +Tag = 445acd95114db0b51956332074 +FAIL + +Count = 3 +Key = 33afea07f33ea70fed733a5cee8b7aeb +IV = b80dcd0188a512da0f2ce0200b093789bb8cd37d48d043a507fdbccc1f42c50e4f75e5a5b43ab7650d2fcac6a4e0ae19c54fa46e6c18e54fa7bad11dbc39061118369bea9e5a395e2322ab20acbf7648bdf9eec8ae47e87e621eeeb41ea2ec6341fccb30900550ebab6ab07ea9e12c5a798b5ef2661baf89f8399c127eb66163 +CT = 0a8c9644441b8cc6301a5b85d82ab2e084558eef8e40536533cdc76defc83202 +AAD = 8558472b9ca53bd09afd935fe672c7b86001e94c +Tag = d2f045848054e15bddda079470 +FAIL + +Count = 4 +Key = 336ea60772d0ce57dd20e560772b2a70 +IV = 99b83d3be1952591e2858f5d1f4485991b2acde9880fca0bbcc32ae98607b920f29d28d1a183685c7b8ff43bde09b3dce48e33b6367766cd1e8d57d08d325392e4f7a2e2eaa21acc2d9846b88d4c01bb53cdf54592e1f009a7e804b200c6f31fc8f8c29bc6253714fe3908bac927c0cdfd98d00c2674796a1a0250f2c3811147 +CT = 892815a124439bdb758240523239649ec7495543128bdbdf6004c75d4f3504d6 +AAD = 2803ed93db8aed667f4fa80c5559cf6289f3615c +Tag = aa05f3e51466edb269f001dc43 +FAIL + +Count = 5 +Key = 4847c4fc23122f24048a59df5b737c81 +IV = dca64e6898d7c7e43a7789ca8d474da765d2fa9a136f2f010aeb967947b15e94b29ce11161ceea4f1e2cd3306aeb14603ffa83f7708203574dd90c378a4820e1b793d291525c8b97fbc96a9e44847462fc4973aff3f52c55fe7fc0022a1eb654604a454401219ce8ec51dc2b2b8a43b4db4e724ece07a5acd95cd8b935520d00 +CT = 0641abf54cd7ee911c51d581d5ba4b09fa085ce6fd47e31bcbe1970d2d7ee9bc +AAD = 74094ea068df2f4c611caf0019755e64c2df70ef +Tag = a07404eb4ee215b29ccb5724ee +PT = af12d140fbd4d3547257b82605046402f8aa4883899e30b381b132e89432cff3 + +Count = 6 +Key = 41f62bb805e6f4b3d81fc2f1e80debb7 +IV = 0dc090023fe309149e14d5cd2a6829db40ec085c3731aec85488760c0a75c69f2954ccd1e20d0c2e53fbb6813a2336283eea953c36f8f373e13f63d006a86244fe8cac700bdd4ce197450b2358ba83d4d60e6bdfbe1c3992c0fee8d73f5175821cedc1edb8f6acc508e7537ee2a14b6f5ba2fe6756a526098c70b5ea905c1dab +CT = 2e09d2ee36af4e9bc2a97ede81dde7c8e8aadf24825ae2d22139e82b34083249 +AAD = b6429fc87c7e933ea68df7c11cac37a00630bc5e +Tag = 1caf88c50c169be00a4617ad62 +FAIL + +Count = 7 +Key = 5a6488c44e213fe26c4159f344035fcd +IV = ed7493308b068af4940a04164015e0c6db3e7198add51fe7858d4efee46274b23bc53d7ad12f4d96f7d182b6d023bb5c40fdf34d1b6e7790b86790ade19f6310599cf6644064915e04d276ca781b21619c61b7b7da317bc2c0ab43a950b930911564f4845e0260c099e59a450c3700ecd7428901a9e73fabbe22f55450568a3d +CT = 856d90b95e20c9929e4384dcf3abc67834e7e4d06c2e23c5ce8f5668ac9bde8e +AAD = 6423f5b121a3679140453c5d33cc9cc7d46411d9 +Tag = 8c8b4e3404f1a834701e18e9aa +PT = c36739cf99288a7997872bc8a2d85f015e88ea01a64a1ecf2a0b3aae0a2cfce6 + +Count = 8 +Key = d04e3f254c8204e6ea8deeb5e20367ac +IV = 3ffbffb2f111cf0b7b642c0dac071eb57d3a8c2f48cc2b858f2b9babcf6eeb08572e4d947783ba46bcdbcb5cd271f4a99778a3aeefc7dc005cf754727c0c3fd61acec3043f0c2df6faba97da6a2db6fde9b47f4865f2443b6efa45691f2a9fcf1f1c668e01208d925f213b36eff68f660933b3e8febb9815de57ad1386a18584 +CT = 711dd4c2a9bef83e5a8242965a7d160a76b5e14dd72b911189a8db90c806ba01 +AAD = 67cff7943c32b9fc23fcbe0b5ac2a43737d25c69 +Tag = 13bb6ce063f2a93ce7960858e8 +FAIL + +Count = 9 +Key = 6bbf4ad14ed1304cccae7e7745449f16 +IV = 65fdcba0c7053327fd0cd7028c973a3b9df31fa494f03754842f1b4ba4e86ac07cdd3decea5a9b212ae18c445936d41841d4b15249accd51d7b97ab50df2ecc8b173c70494ccc6bbbaa2caa2f1f4b90f5f4f1ede91c20ade4d036bda1ca47610bc8e5fd358af30398a41935e32ae28bf27d9026e965867888d7ac13cca0810fe +CT = f7bbfdbc1543dbca60df706704c00439a6078fa0e85510ca0eb8493f0a4049bc +AAD = 8801c5c17e4850bf763136431bef25418819cbb4 +Tag = 642c2984a534606b8db4a453e8 +PT = b9c3c01987c7effa797ab06cff634b80ba998595309ddc576cbf5b39571dff26 + +Count = 10 +Key = 1fa95950bf84223234853eba32474bfa +IV = 1ed862633cb552353fb982b65a8d95f8a0596191b5c5e1fcb6ac83bc35caf35440090b8dc565e53427a727bd01e75b7177af0ee6bfa69791f7965af7db92261c4aa197a2a6b839487fe64d2ef169937625a0e10d31d316f1217cb0703bdeea846e04ef0808a861fd37dd6bf7c516c9e5f5105866ef6ede011d58322bd24f44ef +CT = 31f6d2b9efa1a3575f4e78d66cf9996ce9231acb954f6cef21e79f1dda53b78e +AAD = 9f8f459babaf911c3188418c1392cea14bcd408e +Tag = 78d8bdf43c014d9c628e1bb77d +PT = 7a6f6ed573972885e2275ccf5c7c8b700f93a7341c7f341c3023f2edd7870d34 + +Count = 11 +Key = 8552cc51a007e51b2ba5a3051903b154 +IV = c4c8a1abc2f30fdc1ee6af7a7b8263549c505dc696d77e1a5e792ab748b0d3432f44597800046931d26d21a604048effa89d013fc92c0654953e899bdd5b1c70018513b58e0fbbe3f70cf86bbeb8d8cb46a8d782193da41fd29fb4a9a786703d1245c0e3bad530897aa53b526289487b0d72edf57f944ec6e01a17661ab8793a +CT = a192a82659f4aaa22d1fc648b41a4e87a713c555b27ab9528325da01fcd42046 +AAD = c5a22dd484f9df92ec94cb0cecce9c2b64311dc5 +Tag = c9f65cec12e0a57d50f6db8abc +PT = 4aedcbf9038df02a779a26a818ac695c39149c351b92e28f0a54fa7e5cecd44b + +Count = 12 +Key = 8f5ddfa677eabee96f7e49f6fbd38790 +IV = cf91b23f40da2ae8f80290043bdcdae843baaf08a3cd16bc8981abfcf2659f939a25ff4d283c1fffba171682ba5104697630c66393451c22ae7cce14edcfbb3a84d64384948657b11b158af381d046bbdbb69d03d0953e6afe74bd35055b6b7036b5cf89ea9d7b77148b5cb4d6638ff4bc58fddfb91bc9612b8ebf9d88ee364c +CT = 663ad76c199c4850ead6dfd83fed6a445694213e2d6d1f92cdbdb7f5e93cdace +AAD = ea7d7307a4b364570e438efc95b418a2d419d1e0 +Tag = 6c29da2443d88439cd44b700c8 +PT = 8735d079a497fd7e325c408c238894454dcfbc36ac85a1c3d12c96a26d32355d + +Count = 13 +Key = 45f54fe28e85e04a8075bb9f48339e79 +IV = 2de68f8efcc97c5c682019b0bcf813b80bc2e3f9d16e43f1b30dcda4074e404b6758c4a55a35f10d8240b0d94d228f1b38a610248d629efe5d6c9a952210a8f78ce0031f62a3884707048b53dd27f52ddc9f186e8b9353b8b4535386845d9e6a26c6610d53e5039c00577e7960504bff25eefeededa1f6ebf18afce3bac62070 +CT = bc13caad629b3494b7ec27ca4d9e95ad4afa53b022208877ee3891caa67d61d2 +AAD = aa4db0b099765969d694631ea8db875f53dd76c3 +Tag = 50970225bfa0a3fd48b2796e7a +FAIL + +Count = 14 +Key = 7709896c894d656defa2186b3ed29b5f +IV = cba4e8571435e11f5bdb9164a60f6f08204baf05df6b5d7e997c2f56a75fbb706894f9f44922e33d41129f0742f2d0c5019de0c4ee9799f3a71701395526110f2e5a421f13210fdeaceda6f16f0883aca1533c50cee0cd254321c97d814f2c87db583b42bf1c98d949698fd83f90f43822f1360dc1ca2ee027e13098f7678149 +CT = 91120f3fc8c9b5e9c47615aea93204cd3c2e7ebae34d8be56eda0a6b48d81b88 +AAD = b5da83a73f424cb13424cda4ff38ab62059d726d +Tag = 64efe3429117abf887cf579045 +PT = 425a81874c7aa7bbcf80c1c4a81931dffb1832c851a1e2d2b39751812e4c764a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = d11f75f30d5bffc0cb9c2777b8e0a063 +IV = 8621d6e0fab3bd6ae4cb990bc7b6e79c7f3cd0f26540d5fd8ba416bf2a7bf31f6e715493a40635c0bc360a4c34ef3d5bb9fad552244f205b4780a8e9475233813b34611c6c41a26cd519ea89e24b1fa38eaed74e40d5cdc8a8cb37a33163b108f009448bb29325c3231c1fe79464ee74e3ab52bab0e736d38df38984c78cff2f +CT = 9e96d1122881e720887c1a6b38a36d6c114c1c053c6ae0250c9cbd1b07096e9e +AAD = b43e16e8da6d8a9532df8dfec1f333c0dcce1df3 +Tag = 8aab945cc54339f5799181e4 +FAIL + +Count = 1 +Key = d1f35ffab57b0ec7dbef22facea8ca99 +IV = 722b405af49a318ba3a2af9fed51208cb998d2e571e811e3d68614edf62b584c48434ced5371e67eacde22fa2c605cfc9e9f6d5c1ea903c4ab627ea47e0979f046698224f21e6478ff20dfb4183c2c4e53376fe6131dfbb014b9f49460e9ffbd7326e09d469ef63b216db27911d81ac5519672b3dab52736bef87018698af9b3 +CT = 031a69f6efe747a4b805313abf13e4f0c9094793544df3a078656061740c9a82 +AAD = e01ebb5cfba0fc6ed01618929f1c34851f4b46b0 +Tag = 85afd6bd8ce46c892a2c921c +FAIL + +Count = 2 +Key = 557d058eb969285f716cc63f7187475d +IV = 0176c28201af6dced6f8139d48b705e6d7f046e5941fc81eeb310a6ee6949f4a1156c6a7b6988febabcc9224db9005a281b9887801732e503035994a1e406393aaad6bb067c72426112faa7aedbb9205208efd5344fe6a624f6bad18795c3ca01d7f3687e1e708d531dd8dbcfb77d233429a1774c0ce6fd1a165f6e9f78dd055 +CT = 017936a0943bc2e13e5c3d98792dbf51a7ce66f8224988d56c5f97e8585d4e75 +AAD = 4f00573bb88bcfaffe92ec2506774bdc2efc186c +Tag = 136228fe6a232d6462244cd8 +FAIL + +Count = 3 +Key = 22d369cd18142546468f5c7fc1e8646f +IV = 6e0ffd55eaa61d6e3e133e5d111ab3020e89a5564e07d88ee5c46b95c8296d620b05e8697ddc30d0d348a14cdd2bf39529baea9bc44e58ac9fbca01bcaa52b7c0cc966667f0eda3dcb77ffc6cb1a56fa2fdae6ccf809bfc83765f5cd7557775a04ca9a1f95167b2936445ce288edd4109d4dcb1d9264d3dd3a2af881d906677c +CT = 255531619b30f49f02675369b531aeb382dc590b05840bca94eaba9aa8908018 +AAD = 9f28344c613b421b746c0c47e207d5f5d3abe56f +Tag = e3c37d639626b6ec3de78556 +PT = b2a7c42bdc9ae24363f6be72dffb947387527e5e731e3c7d13b2a21bf9282ac4 + +Count = 4 +Key = 38bffafdb31f2298a5ad4ee34809a8ce +IV = e025ee0e761bdf473136e75a4d7a3fa7ae93082496466ae8e4771b8309121d2c768fe4811405c8cd3fe553d8621924ea431fd99388d1fbc89be1c31e1a03877d07d8add3b2570bc3172e263445fba3127fdd15067369b2fb69afa8fd4f5efa1158457ca1b12e79d956a68e851f79a686ff03560659f1003b8cd702b36f588974 +CT = 9c9d631fd202816cb59dc306a0a152be87fe64e111b6a47dc758996d823eff8e +AAD = 22a3ac2990f9e84b2cbdc7e58be4893507de2e83 +Tag = b4c08ee77ccdb322cd09f04c +FAIL + +Count = 5 +Key = 6d9e20d655345f4b50f6416b9c9e9d99 +IV = 306ff4083a4c8134451a9b65dacaf6245ff1dbf743a518db1a76e3eb20957f507801d479e486a89166f20d187556c7c6c668e2ca03680e65675c3c5bf2b3a068db174fc957b899edc9b8108f3daf26d925f2f93ca882f02b15dc6d4d3fb7aaf552caabac781236043f9d78e994ebdc22ed76f172efc56f1118fcef69a0849b35 +CT = 18cd825bcae1ad39ffbf5855efbf4a68e2c7d79841252bfaa1415e85b6af2f20 +AAD = c1f24a41aada43e4d77c512aa0abc66fe0f92bc0 +Tag = ce0277278ca085cd12b2b299 +FAIL + +Count = 6 +Key = 2c06b626fca9c7c0fe87c3472cf785d8 +IV = 2a5911d332937e7fd770644341ee3056b2ba2bf34039063fcbcb34ff91a53b88fdd4afc2d741ea0819117c5b3cddd5070a290ac2430604ca6c8ac9f2aff66b25239382f50e5bdfab216f2f535992fd1bedc1c8c037fe1d09cdfe02bfe5ff464ccf0ad9995fb52f006d580d58e209e17e2cc42d9bdea2e7446b1303879229c2cf +CT = b8eea4321fab9afa0c75a0fdb247e9696b46bd8bcd40b3b1a4831a77cf046bce +AAD = 0719f38f0186c0b542a24509b344cfa8607e852e +Tag = f3375ffd0239dc0bdaad1399 +FAIL + +Count = 7 +Key = a38a669e91b9006cd1d6a8e895d3eaf9 +IV = 0f9100ce257323362724ec6b32c5427d3a85ece8b65814a1d3f358fd8b36fab0e3bb72971a6e30284fb99982bd945a789b315ddc7b43c9bd6c87a7ad0c29d9a91ea115b0c7936bc999ede047054e430b3e2628d91f8a6ce7a015857f8a21a677ef7f53310e471c8f5ee8cf5e2b366c74cd63235b060e30a1e409d5834bf59242 +CT = e85cbb96daa361eb71674daf800149d149ee83779ed22ab157b97dc245f3f34e +AAD = da95e3fec201639cf6e212f25aec9c2683b2aa4b +Tag = 6bb2ba8b8e8ba4c2c5ebe380 +PT = de515cb53d79c35abe25ec56a460c2339c11526b513f9155159cc9b737d17c52 + +Count = 8 +Key = a4fd73f34a1544670513bc74e931b50c +IV = 00cf12dd383cde1c52382d0057b63e91a9eb1717ec2193f3825c94cef8e1204ba1145069edc03ab0960a5f81c4ad74e6ceb35e19b191cdac6d91e5a3fe3a38f32417fdc2bc0beb64d1940ac700f2ab27bfb23dd4a12a649e482da63a50b0df02ea7d369df5a519f5b7e4047aa8ae43dfe8e3456d878ee4814e959424672b5145 +CT = 4c045d7ec0dea99cd2f9f5d26e34b409b64c417e8e6f10076f34880142f2d821 +AAD = a5f0dba4706993603b2c0d8d48bc479609992f65 +Tag = 25bc0754dfed82d6a2e0fe54 +PT = 3e114b70d8a02ca42824e71a7ec3fd64752ebbea338d5f86feabc1465f8d9b08 + +Count = 9 +Key = e1475e61831e143031470204014df8bd +IV = 02cf3679e772bd21c8a59742e7ff641055658ced794e344ff3c415df813657951192742137a44d15b89e893d7df6dab605560aed70437bc5c5a21c9350942bd9e600073c6a569cf2caa4a66834b9abc169342328f7bc109fd903be21212d6d9050da4763a29cdc6fb5253b4e2250f1cccea268c09cc499566939bda2ad45553a +CT = 35931d226540ae0fc3a50902a5442a39f07d30fbd16439fd940a88cddf991878 +AAD = 3e8f6d35ab2cc4aa8b054105992cd1b5b09a054f +Tag = e39cee4a97a45d8a56c35907 +PT = 7f1244b92915e384b74da8dcf07e0555bec09ddb19aa0aba52d9cd3833a64732 + +Count = 10 +Key = 5cb56c8ba10814b923e3a666ee43352f +IV = 01edeff040395e3f7d454a218d4592f85253670a8743a37de8b94f839e9f606001211d578e636c72d38a1ee04445af725ed5f5382f76016a6df5d9e27545045c4ff252a82a55c37f29d7b8e1af6193409e3cadfad4a5fc5f5b22fc24be329816464723d7977062807a49971a8c9b93efe74976625f20cc73801e2e160aa4affd +CT = 77fe4a85586adf5fec438df3bb93ac9a3bb544fdd6ab0674d826b192f3e1ddd5 +AAD = 004131612c7bae232f22723eedbb685c5f83b70e +Tag = 389aef6d97a286770f2752c4 +FAIL + +Count = 11 +Key = b1ac807e4c0c03a812027e58bcd61b3d +IV = dae222ad044e62e7042c30be51d98d2b7665f2f4c848fb3338519509a4134339c6c8c7497259454ce0c4a2a44575ab0f8ae921f89431c39e81f82f88cd26e79b92fcaf95a4457942d3cc87ef72f1f93939a18dc7235b407dee8cc8bd19e817b94430f40185b274633d71c37b527aaac3ae4fed819f39853277393d358d849386 +CT = aa39b8f9b51c6d9267e3e8b9c84926fdf6242f0ed0a342e79365a8291c86c9ae +AAD = 8dcbd808db1e657ef1abf24b56c3fbce7185fddd +Tag = 2f131b8489e8983ae65f747a +PT = d9e092490e2cda35951877fd5e3b429850f5536c4691c3d247016b4d8c4d57fc + +Count = 12 +Key = 00dfa55630b04b3fd8664e29eb42ad4c +IV = 68cc06e08ac2ac6c5adafc8a72d83d39c5cdc7720cbb8864f08f405c10d4e51b532337183773d2198d10d55cffd2893efee064ad5517cfc23117f74466f07085527cbff4cc7fe9dcb5a3944569384e30b5fae7edfa7eeb674a49ee81ecc655f920803aaf8eedb24c812068715342e6fbc5a856a227c3ae638e0bac11a23e74f5 +CT = 768576a8b9670e919a0b589b1d34baf4a8bcbea78581149d10fcd7184cba1cb7 +AAD = 222104e2f9d333ed36d810c4dceee27c08a6ed09 +Tag = 9dc0a255512086aaa3491115 +PT = f09be1b1a830d27edd96778bfbeea36404894b103103be4be57d742f22cfb13a + +Count = 13 +Key = c0fa04b4d10ac9555ec59ad48b8880ad +IV = 8881ca0e3a553edb269b972906871898e4477264b57b4f68dffa42421e72d4de7366685dccbf09a0ded9db615d1c22017d385947483c3411dcaedb1c8a9ae44d24b164b80ecf3f504705eae9a3296d47043f5b1d3a9ad44a1664b8833e7d54a1729015f1c9c1329a838208e753f47cafaf97462aabfa3e2e567177b1acd27445 +CT = 331d78015099b95defbba5f2c05b0a6d9e2dabc524e160ea4a2a1d0049955554 +AAD = 86b3c2a0fa0bbe997718a52ce26fb9a426c41be8 +Tag = 6d86ab822e78723e105cd903 +PT = e12ec9731c44ab81ad6c9ccc3c880eddb22185978cf6308ae16d9b32e2f97ae6 + +Count = 14 +Key = 5984eb8552e8b190238bf7ee5904ea60 +IV = 3a4cf688ad26b751ee4fd48a1326ad8fd6b8a4af5eb56f83ca3cc2786fe14f12fd49baf1011d17f4dafbec28926d8a092da161c92e4a5d6b0e71a9dee2f7e642c9dd383c4bc5d1e3f22fe761b0c53aafbb24377b95b0304c259688c11350519f152ad875401270d31ffb96a62255d1bfa27cf558f3007fdea7771887bf23d4ba +CT = 84afe94c4001b1e1ebe40d7417fab5d529775c895a4e4c5d11ad6a358a19738e +AAD = 7828fd1bfefdbcb988a363cdca382f43b4ca115c +Tag = 1e6d703833dba513022b8099 +PT = f874f4077e566373e78cb3291498e5501d1e50853a19864495eb5ac039722c9e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 26584fced20086f8cf107dcb61d808f1 +IV = 194e4f2f5577e037a638c7b9f7ca8507c8533e37548feebda1b0bd4f20b18a664d9fb741cd3fae856c10c991d1514cb4b52e77d9a50d8c303d30a531de75ca2165264f736f31f560a4393d485672733e274b1eaa402c78ecc406c49f7bcbf7a429d78bd9ad0de9383dbcbbf74d15feef9a7002c1bca7c9306d12a70c81c680e7 +CT = ed3a97cacae052e11b8b6bf345a18e5909b875275377966ae66e3353b700418b +AAD = 7a322ed8372a85de6a132032bfc8ea594fcf49ef +Tag = 28a79801f919fe60 +FAIL + +Count = 1 +Key = 98943197c9daab85bfc3f53eb35882cc +IV = 3a64fe4bd73abc39cdd7ffc38b3b3b9f954013e731c5afc9b026e0179abb681504e57ce97c85ccca6d5e0abfd71a9e928cc4c6415f04f4d7cfa3310e03f0948aab2d8e603d99ff101e82e1d086db5f1bdec65202eff5e973f0acd7b1ac0f8c1699a4ccbd6693507042fa22909f5da2ba590640d32dea1c9aba991763a8391b77 +CT = 355e2f72c6db1add2d90e7a2a4d520c3cf792a52d6e2f427220c17d1b547942b +AAD = 6e322f88ac59c921eab291023daf322e1d15504c +Tag = 1f3c55305ae97421 +FAIL + +Count = 2 +Key = cf2d812bc1b918d74e8bac2c65c6f04f +IV = d535544525f0c0e044d3b53bf27424cf1df72390b25869843dd7633cfce0c111d1fc4af6722dd7dff16b0359711d80ed0ed2908ac7ead00e2272c9c5b7bba791465a7d4b4eed86c0a6e9e2e741fc7c5480f5a13f3795ec000b4eb2d1a0a6e56e94561131b3b02b5fea60cea43fc99aae0d802e5f4c7bff1115678932e4d39a8a +CT = a4164dfb4ca74e8a303ebe3afe2461fbff313a04c186d8f84a6f36fbfc51f647 +AAD = 0b5a767cead9b02ed9445996b4a66e057837a835 +Tag = ee057cfc1a36c2b0 +PT = 4def1c011bfb6fc2a29b3c47775bb39e6889b46af612e01bcd208252ed8bf509 + +Count = 3 +Key = eb8279587b0cf85afd2e7b105a5574ce +IV = 308827d39e026421fa4b1777c1fdcd855cbf2dcc277064180c2a5b0b79196a5acda4b05e0f01d3c1bed078b65a79a2e6f5cc0b0d0063efce9272aefec81e0dcd230b7722ec08327ccfc0a90071ceca6aaf9360a11bf8130455984a352d3504480d10097f5615771e9ea6514d5e686d2471bd1b3eccf2ad58f05724387bbad10a +CT = d6c026bb2922da681b84fb7be6a405485be1a1aa1d6d478e0d470e4665b1d523 +AAD = a5a504939a677dc78d21e77cfc84f93036a2792d +Tag = c8f60c259e28ab06 +FAIL + +Count = 4 +Key = dac6d14c04fec3fe7617ac29eca7ff59 +IV = 92e244da5c602a418609301ec552c903c842c399123194363e83b8de546eb5260695900d212645b509f88441ccaa77aba452b337cc7115582f86a29a049a454413255b474aafdcef1b6fc50bc38e6419994f83977bb4a6c87016a4b4c2aaf42e0ef55879132459cdd97734906cb3b73bf458bc3a8c6d5df860120b15dd4921b7 +CT = b37fd122d1d4c6878858224da212108d56fbda100876f92e83c53fc3dc89ef52 +AAD = e0dcc8ce29a601199bd85260151b0544d6969150 +Tag = 5bdad56aca241f15 +FAIL + +Count = 5 +Key = 3bdf2379a8c8eb10f54c5ad991b4ca31 +IV = 28e2140a0c7321022434133503dd070c74ae2dcbdf410f893bfc640891244a0d6d74ec987bb8b0c694dd943e77ad9f22943b16918e4df7f337228bfea3396feb22ba8c9beeb28ecf85293d762e981ce27c5da6cec5963dab61bf9be3ed491a4e9bc66470c1209d6e857a1e662cb0ebbd259c896a8192769f439716d9f401bf18 +CT = cfbf9ed13e5c09e54177bf8880207b27c0d734ede790a3ddd56c05f377a5fd3f +AAD = 7083566de2ca8911f5f98ab7c42825f471e76a80 +Tag = 7711487a6c98ddb6 +PT = ef81ffe4a1a6479989a9a696c2a788e202d98deca2cf983e943aab87db8d2cb9 + +Count = 6 +Key = fea179221970def66894a9c343f0df86 +IV = 9c950f050c3086f9410ef93b2840ad01b3c8122acddac285db8b4ed3bebe58b1c983f306d94d3bf4024c3d20b6e3ebe1d322e676bb59ffca035c07d5d12a5b602ae2362315af69fc5883582b6eff90b9b430011f856857fad86b216bba06e8f11061a36f0ea81aad36c057defe500502710ac6980524a3206abc77a64687ad96 +CT = 507a6a7bb50840420f30089e28e7cd1d055d691f26293a86a18a1b31a32d2341 +AAD = 1175bf6f385eb0346088c419d41ad098358b5db3 +Tag = 9701da7c10a2dfbb +PT = e6275fc7092f18060306ac2b134508c3906834b2aa6820b389cf250e4ec78cf1 + +Count = 7 +Key = 2ea6fdc9604febdbefd404929f24ff3e +IV = 261f41fe5026a8c2ed987a81897cb439ff04cab50a9f28249d4c21655e1cf427d52118565a69bd4721bba46a325d3b5d2e3a01f019c57145de728f86eb74eff5ffae8cbb81ed32c8a160affc68b01a5ef7ba93c7cc25df306d2b4f11b5d49d49cade2fdba367b8a28947f805169ed0794c5474592ba8680c87d1519e02b7acf1 +CT = 39d589baf3ac9460fe945aa512567f22f828de7218d05dd511a97264e7bd1032 +AAD = 84cd7f4e3ea7713d68b527746a24e56348837b0b +Tag = ae9ac2067bdf46e5 +FAIL + +Count = 8 +Key = 7ab150db5e9eba43e149345fa9bf3efb +IV = 4e1802bee8e1e95f5ab1f6c8e82b062982335718115499aa2f999102127d1edaae18e26851faf8a031a010b158ebc555c286e2f7f8420a149deabdb2ae529b57173c6af58c1db7577830f623c7c5555dd4b286ac6d5067cccf366f14a66c15aa799e76bc557083e60e9ae5b98effabba9a47d07c2283caed4dcccae41c1eb4fa +CT = f43e5cfbdde8919d9f5fc3d8a0a1fbb68efa8c3f3578711d73f7250c778fb80e +AAD = bfff6429ace1b4b4aad544949d142e9b118b204b +Tag = ae6288388bce73e2 +FAIL + +Count = 9 +Key = aafe32b3be742b6f20c365dabf3dc8ae +IV = 51254ebdd3700077859eb69e06248c5f3fae9e962e2a45dc2fdb72bea87d6a827d229abe613089f86555fa27d4bd6635b35acd95fb7259fd4f0d5aa82daa7cfee7774e220f1b701c552488bf4874c2b0ae0e59c1235bbe550272d6ce5d868e2311c3eb29b31877e84bf281b12b2e301c6c72cddb0f0047ab33acc1b8d6f76905 +CT = 5ffdf2038a6a03ef630385d90d057d9f0018199f6985163c40b4049b5f82ef3e +AAD = 4cd48a31766112c41d9f7afe2fd4c348b1b5420c +Tag = ca9892855059b465 +FAIL + +Count = 10 +Key = ced36a3645f4feefabe0cf3d3b6201de +IV = d1cdb23bb9df9339a27c0b94c9f46cced9536f5524c326e1d9aa6b6b68864b4e693d5d220d9ae522fe0baedbbd1cc081dd9c0e0a100ef209d25044c63dfa8c0d89483ce2d089f46bb9d9765e287ff593b240c0c31eb89f0f8ecd275f12d7a220e140f70163921711d77b1ac41edce6a1a25cef3d0fb0d714ecb306f5440878dd +CT = e439ec68501be3c93b4df9a845f9b535fca49d151d52aa4cea3029c77bd624e4 +AAD = 3c5c4757122fc50352be62ea8d0c90dbf2529232 +Tag = 0265fe64f245eb03 +FAIL + +Count = 11 +Key = 2a25f6dc747a2cfa38bedd602aed90cc +IV = bf4fa97933d16e3782eae5bb72ce982fae6f57872d06364ef9f0876dcb6d2917803a8a5d3170d47c8f65adbac3b5b3a139951f7e1d19b83223a7d6d890fac99853daf5fb1b48995dc7af3e3c4cebe32ed8103d7617d2e7278b332755211641b3603a703127597c84eb3e3a168bd3fc1952428de799277f5676071c6cc826614c +CT = 8a6dd8f6d0148aef050964fd27979313903a904f74b320bff638bdd07f3648b2 +AAD = 81b5dfe1cee0273bc0c36e17f988bedd8040efc0 +Tag = a1f7c0ebcf9f4911 +PT = 3036b7eb9b29e47a4dfe3a6200aa54dc6c9bf324152e914e86a819bf91675762 + +Count = 12 +Key = c9d23c25a3cb72094de30cc4e9ec9a21 +IV = 88f0a923b4725b117cc401660db10935db3eb5d2e9a8ad0e9118ade200662ec83ec1feabc2b3b16f3c03e11b3db118b7c4cfdca7bc75b27b249b9c1f62f0b01201e18fec72fda32c6525075effa05ff5bc692baf4f70cc357b6f2af908d2ad4d0aa954e329f710b252b4988819600294d0c458409012b68a39b6574f3243a032 +CT = e8b38b36bb458b5adf6b56b6ad13910ecdd29cc72cc78960e795455341a3779c +AAD = 830ca44c0d02095f5b58435f114ad73bb631429e +Tag = 4530ab21b771044a +FAIL + +Count = 13 +Key = bf88e04f608a5d9a04d72473aa0598e4 +IV = 565d45c10c30efead5c36a1a80112f88b1c09c366590fa21e0488b032ebb26ef9e474850af52007f2ea5668f5cf3b9b3ffa4d7e654d6b694a974ba2e3d09d5665501372d966fa8a8ca180eea0fba0144b10932c1f2c6121d1881822d0f950f5149c6beccfdf56634b8922c523eeb314970474747b303551b132bae5874977427 +CT = 03eb4176006a8d20e8f5d165b43f9bb4b674759782a49012d208b74176c6cd13 +AAD = 108720dc51ae60db49e0bc998aeeac1fc70ff337 +Tag = bc94629a3d9bc40e +PT = 4ee9abff613307f485486c9de5aa5bdf973d558f34142b4667fb151aedcfc52b + +Count = 14 +Key = 3efb6282c94de4afb0939c8d1d9c9c48 +IV = 2d5b750790d54d0eb469fd7d070f6bdb894ee7dbb9d830a9e2c777375c8a3537b9be582876f5ebd6835d0ec49c373bc3c54e25247a63aec823b637b5d822837a4f865fa2e1ac5e3d5d6101524ecc1d828a8d0922feba6870c3ee0a8a5a8597af568de00edf01cdfd84d18f2f5147a6a603dc0400f8b9d2b26dd7dfc2e2639655 +CT = 986546d8d24a675ef6af20a24b0c2c498fd283461dcb517ed8a01057b47cacd8 +AAD = edb5f2271986ae8b530cac40df8dbf79c032e007 +Tag = b8005406953697e5 +PT = 08e117e93827e46a5fb0ae97ec72eb9715576aa69fed5fe11b047106815fec4c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 5d6ffabb89d9491b9462657e53468c7e +IV = e061bfd472b4f6d81840032178f66bc0192ff450ebf6dccdd4879c637fe11743edec8657ee7824f1036a5127548af471587759912637b1b1ab5ea34eb3caa98ea3147e420f3723bad4411f2954da2f1dae1ea7cde993f3d68c910697dbd2125b7fd0f2a29309d348c04db6a3029f1d1f80630a0db9acbc87fa01622ac338a97c +CT = e0e4a70c812f972bb0e87be9e427e431136a3f2ee0a72f8295c121b554ff37ec +AAD = c9bc27325dc0fb521bd31b87358550cadd097b03 +Tag = a73f0e1d +PT = d31d4fdf67d644bfa54321d08c2430e591e0a18b937f190a38c7366086911a81 + +Count = 1 +Key = 431414f7e41a3175799add83b2feadde +IV = 5c4a91d6a0fea7216090ee06389a6fcca45333a1105f03ac3aafafe562a5d54dbe37faa2bac8fbb621a88d84c8cbaf6e5ff137f6ca4409eef517a5c378ae62eed29913611c4b088f90d48884526d6274d6e3f7fa61d8ae3294572b2c63b9188f5f58d88158968a3660626e7d9ae795da2f033c49c3994057e8c71752cb332889 +CT = 66a7c55f5975388d54711e41580da08df30a9125d8e0c87a7ad2e0cad8109651 +AAD = 6843c9136283f9106e41c72cc949eca56aa9b563 +Tag = 909f5ff3 +FAIL + +Count = 2 +Key = a2f00b4dc525bcfee62f14eea6b83f5d +IV = 41dfef88a118d0fd60c5599a89d8d031424a17018b633f8cfdf6d2c9831315b3c6606178be585b0cfd9482efcedc67eba47f9607a7f451f1faca8449c076ba7f778e0b4c60a22080a3a1e0b9763d1828d09790196e97b99a407bbcf911b199fa85b687d6eed6ac83c4e4a2a8d303d62cf5abbff0a1fd6e09e1fdf970a31e4a9e +CT = a1241f51c4c7dc10ba42d09252415d711e5c7867c264ba858ddd7bfd32179d96 +AAD = 8653c81d35c2879510a46f38fe1e4c67c14d7dcf +Tag = 77841af0 +FAIL + +Count = 3 +Key = c7a14336b96c14bc2890d626a4f9d290 +IV = 716ef4d4b28c1f00177c2f437a2fd86357ac12832e05d282a2e3345e354c7e16b05abdf34a2469af14b9fac4c4d85c0e3df02d084fd811deee3d8c4c0950e725f6335f54fa1394d391faba2b10417b75de9448124f3b44c3fadfd4fa36d9900fad7a1a5034f8812a02c9ec2f45d4ed65c645cc472045d52b9bbb6542bad6489b +CT = 1912abaa8f4303505e767ede4ded1a5b107e4b72404d7f5e6845ef7ac337e766 +AAD = 5c3b0b0eb5e3057b828efb9b8bbe18c2448bc112 +Tag = 265e682d +PT = c8ab5daa40f0ec5abe1f5c49800a96c6f035c95bb26988faf03ba6287132a3ef + +Count = 4 +Key = 3944a610c9e1190cb7dc8b4ec4d7dff1 +IV = 3bc1b054c18eedc3f6dccceefe1b6803e464c35530f14eac4a6f8ad8eee33f1b3ad48941c6f00ba7f22cd4aa56aeb6cdd42ef953bd3e2764b056dfb29314f7e4f40a848e918763541baf46133672cba9924c885f0ca17469ea4dadd62e4ea567cca06f6f75a379a443fb11267178dc3f20aa7f44c7cd917b184594ca4881bca4 +CT = 357c662a365e7c27e7c030e664213ae60d8ea4a7ac397693189e55db3f545116 +AAD = 462ba926662ab5376194674213faa05cda5de755 +Tag = e1371f82 +PT = c6e8c4899f84a718213b0ed5992a15b46d04af1939c3ccd7de493299c4f0ca55 + +Count = 5 +Key = 59bf5e326f2729521ee0ca7d8f494f8e +IV = 9de7f351b09686993679ddf7411ebfd23fddfec29ae0297eaf290616d6a3d5e886f7b3becf13916a26019220942de5c8abbc1e6fc9dc472fabb5c7c56e8d53ac44c6ac680dffcc1869fa2e7c76443ed32d750fb7d073192f15b4ad6317a79d3459e096a3f653662e74b8116f4763d266eae172027493402152a00f70ff33522e +CT = 657be510ef44a3cd27144860f5cedc3b00b1849980321b93ed08539400478378 +AAD = 6f346b5cf7a721df0ebaa0e722af95dc9642e9a6 +Tag = bf9f4b5c +PT = b9d8618769f80c4b4a8d72373d42ed163d44f0c74bbd46db5e8cbe23a0074941 + +Count = 6 +Key = 21ced7a35134e76bf29ff7880434f009 +IV = 4a74e4eb67a4b63c804db5e7c055f45197005b2fdb0ebdff805fe0562af9bf3bc3a8ca30aa5de78bca90f9be36ddcacb2454e262241ce2bd98b2d727aeefc519b6e66089c7bca5f4146536a6f2c01e532cd8339dbf5670c128b50ba7539fff37f5cac2329524b5a609bd149c4c80c84d8d4609e62b9ba3d90d323a6a6fd21694 +CT = 5d03ff97057d2f0990783818947080b6a3b1df30273d58d29520587fd8b2d67b +AAD = 535d2553b50b4301887dcd5659f01e4c86c0dc3b +Tag = a0b41a64 +FAIL + +Count = 7 +Key = 9f190909add02714af069ca934fd9df1 +IV = 467e29a081ccdb2047351665d8726d7dd0af12708709fd0424bcb3ffc31b25b95409a454fdc953461970637ed0542225f947cd9ddadd5a3b2ef3d415f874de4e4dc9b5b4c77917676496a8275560e226db1d52af31c00c74e7c623545143f804db5fb612f62d163862a183bf8b796ece880b6cc18861786cd334c8638158ba30 +CT = 1c56b4c1f91f97c59eb7305fe8580e0190b0b5e7db223d3ef32de10961232f73 +AAD = a4f5e6a7324a21ce19784127fdc85362822d127b +Tag = 1322a1f7 +PT = 3abbd892685717c8030a672c89069657a24825d319f29faa889ad05e723fe163 + +Count = 8 +Key = 422844b96b3f02983977ac7385b2ef2a +IV = 49bdcaa21485df1c769554fa0f818a11c7957e19c355626fd60afbf5ef70665a860ca5a18c24dd93010a58cb68bb1d4886b8ac8a45c6a90d6a5935f1d55679e0c9de8ef5e1d0a2f0f0369dddb5bb24fee170d18471d03c0b2e7800db8221021b80f50d5698a481777346363af3a8639c9726f50cfca059e8792539dfd11a7ca5 +CT = 67081255aabaa61b0b94960ca4c866adab810ad58822c1f68cf6ae1a27d8106e +AAD = cdd77a31b5df94db5d262fd0f59d5eb7f7598d0f +Tag = 48358fe3 +FAIL + +Count = 9 +Key = 7c2a9dc448b00fc4d803ddd4f6e9c595 +IV = 05d056573706180e5438c07b713eb862e0acb2df1891625a8ffec1ae400a991792637530b7cf1e3e11a0b1c9d527929adc4a1cc5bcb156ad74886695c38ffcf284797f65697597ba78261e3c6b1130dfb86807da1c50d419c0a68712e480388f561bf3e0f351c44c303a721eec35c9dc21bcdb7250a1279145ba8b49600a53a8 +CT = 1720c0b1ad4050e606dc09dc01cbcc26b27f463e7097f6206d3deedbbb150a78 +AAD = a7b714629c2457dd2bd78e5b13dd63b93e780c6e +Tag = 36acec48 +FAIL + +Count = 10 +Key = b1181fcd8a6dd66ff7bf91b686cc09d1 +IV = 1539c34ea766177a06e1fffefd92fab1dff0f1fbd28be4b9fd9a28d444df1e877a579c64c92ef73c3c96d02f792d5d9077ecd488bc17568ade1fdce152d09a7f641f96d08a1dd8fcf3c986a9e5d4e3e30fd83486c35811d26d763c9888d39df210c9e0262d06cf312abccf9976fbd49cd610182e5742fd260d46cceb120ce6b6 +CT = 416dd105878b95b15aa07b05775316929d1001405fad3a63bd7ad03ad456f730 +AAD = e440d75c4f7eada625be0e875bec4c43c397fef9 +Tag = 07a4be8a +PT = 971d3c7b65105a663561b0e5112cab49f94d0ad4aa21a3f4a0a2be0900f0d86c + +Count = 11 +Key = d420b94cbaa4ff88bf5bb04ef19d6fe0 +IV = 60cb7b0f14d5ac8eebdb59f95c956be96dfb199a04c4cd1fde2094113a8e2a69888f2d7dbe038c88bd95e43091dead5db0d5391975160d293ddd0d8c17fa05c8f6b9c7d0f8c74a9359ce2a1610f6136ec5ad80b566b8ca1a8652364463dd8c8a7141c6c0360ad93101bebddc8c2671710c57bc1b232da95404aa84e1ac6d3459 +CT = 3320480165f6c89d3914a2d5c8f5dd7c9e8c2a43e5b9b08ea848d2815b7de3ba +AAD = 4c50e4e61ed0c550cd73f60b2165967e1dcbc77f +Tag = 5a8579cb +FAIL + +Count = 12 +Key = f96e46bdceef97047799b2251eb645ab +IV = e5651d05b0e331de595ca0cbc3ca0ee3522e9d398fba4c72180ac638943245b7738d269680ecd7970ee35b843592ac56c3a42c0ef32ed75ec9406301e467e06b2a40b8da06d818f2c93722e735c21449d999382d14f7f687a2a7b17cda829395b6d9369483fce6bf5f717dceae9b1496509ce35fc01e45be8e7ea04d8974812f +CT = e578e504e7953c9286a6e0fa60f96fb1c032c3018402f0502ba367425579eada +AAD = 0895429cb35799ab25aadadbf9b7faebfe091abd +Tag = 1e83183a +PT = 5d9b3874a790c28deb58fa16d80da17f5fe7869b9526c0b92bbe60e753476b9c + +Count = 13 +Key = 568e5a97d8a7275b16846ebca190666c +IV = 27bcf28a744d85fa29d1f826f61c5a7431043707bb863a5776352fa5f543c44ffcc2a9d3068cb995bb7e926a7bdce920cb29dfc4cba2e2070c5807bfa6740f8cc48dca5357c4adf30f36196552ae7c0f6f09b12ed31d1ac7b966cb48764fc89d690e317f8e6d32e61e594c74e6a30d0bb9c4dcd0ced386ee7d6b55a849e2f709 +CT = afa865a429e83c6e68bd56163f3afaa8968dfbbab3818b2ef626e391f04424a8 +AAD = f002187535457cdef52588d026e32f585a1df839 +Tag = 73c1e8c5 +FAIL + +Count = 14 +Key = 25a1dd4cc6b78af9ec77ef7450b74d28 +IV = 5dbe34372f8c1e0520330e063c833630a5d6e06405fdaab069202d52e590445694432b7056187f0702a721183945df2c5094b85ad8249ee87454673276d05b7d510ea6b0513ebcada111d895b0e20a39aae15deb309bc0e2377e5969401eee68d76cc33615c4e7aac26b1d63ce6888b3261c1f637b1313f19b0c7c4df3edeb49 +CT = 6097226459d9ae11befa2b5eb596efe9b87e29bd9f886e1ddbbe600843dfccbf +AAD = 713b866323d729c36cb207de1ce34947ff1d56ee +Tag = 84748162 +PT = d8f752cb1dbcb4185cb89f3d505e739359c030ebe861d91eb89776e884aa4c01 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 7c21e677cef97e2ee88d4c656182780f +IV = 29e44ce368ca8613c1b108b71f230028cd65cf2f2331df18c05f6fc9fe0fa415cd93203989dd6c5e4883d1871be24f51e2e39db5cbc1e1e59ede0576bb302d0ddd31c06c4836691bf63121f7d9b7e0d17e7775c9c162246bdd00bab8ca5cab46d906457788a7e683cbe4ce76ed6aca0efd4fd3f9eef2e9d6d38315092d875334 +CT = 4e4b6ca8dab99078444db496cbfd79bdc39f7312661ab917838c738b638ea7da +AAD = 0025eb726497e84d3f130342bb52e347f01ffc87d8d8396164c1586d293320e27b0583949c9a5a5236c9fab47f063496 +Tag = b84ce4a31fd417618ce05e5a4a756676 +PT = 6de3339e93afbb15c1343ac2ff9cb75691d6cfd4fa067fbfb8584ab39a4a541f + +Count = 1 +Key = 0d67170f10acad86a527e8c0e8d0b116 +IV = 92e5250f0f1937c3290a58e60b7ae2a62caeffd4734d14ffbe3a0fbe13ccfe939bea3d6e663a54bf2dd0a03820b5d75eeb9a1a8c27c0151e6f4b455b0651803d56ce068454866a825f72599fefdf7a68f5c18d25518d7bb0bcbb134065959cb95c66946f1f88eb2642aa655a04113056492b10a5421411c47622ac5683fdc6f7 +CT = 5810bce12bcd9bf14f0401f0b02b90194972a2b405d494833c6745455574864c +AAD = 3cee8d896d7c50098a98369e889df5f29729d816dc5fed358c5ad388272b33d65593d7f9c23e37258e7e8c951e2be81c +Tag = 5628eeea17f4f6d9def1baf83e04fe6d +FAIL + +Count = 2 +Key = 48f1a933f251cae737af21978d7fea8d +IV = fce02ef20975f699a39adac160275ff864cd4f911dc05334dabb7090ab22d95178f11e763d195ef69f77592ff40cf63add51ed933a0698afd7c25ea9addae98b6102cf90e1d3cee91b1cd270698637f867197bbc9d992afc90e7ed0be4329d2f0263e7a073588084179595e49e20bcc3e34d4f08041ff7080db9cf29501550ae +CT = 97b88c52492b1c8a72fe57bcee55f1c5fb7c1e6fa87eb3068fc9cbdb4bbd9b6b +AAD = 6f3c7573d195e9c22f52dbe09cc77eec246fb2a08b1269c181756dec6bd15ff00a191ea837b74fa96e380be7266fb514 +Tag = 1a81948bf51609b1d8f40406455fb688 +PT = f80e05e4122fad9c8a1069f95f723d24b48cf1668cf35cee5509f2080cc1d032 + +Count = 3 +Key = c9b8f84228e149b0ca8110ce3e528a27 +IV = abe1010dae56e302afc7fa4b7d48a243b45cbc5a2e6234a8e64353d494c6619eb24ea9d5d2f6ee7dab23c0dd4325c716fae8648885408df787bc5a3b36089693f8753290a62e205057b840b683267342aa691ab4a6c45b74c82d9926d2e08c6945cf9bc2b0af64c748bef4a566b9107b7f069d55636c94da158b578ae764b285 +CT = 1d5d3fc6d7708ec1edac3d3daeb09198a71c916f7bfff5e8e9cd99bc4675b5b1 +AAD = 99434a42edafbdff05b22a00dda7c4f468dfd341795af2da06497df7513be0e3b946ca815996c3fb2db7327c73b52bfa +Tag = 2bd103e844e85d37b1e26f6c8237f51f +FAIL + +Count = 4 +Key = 16cc20239418a46631e5a51da56cfd19 +IV = e3b8ee32208ffb3888ec210b198d3d8afe3568f33dd1cc64e6902ea4278785d90853158a4620eacba91e24e8fa9fe4bac3976c0c6819d9cd8f22bc63dcf225406ae737b5816b7214892719218d87e7d1e3947e0e6528122fb55a2119a6d2b4291e09fe22f06ceea4f59f18cf84165d218b476e6edd764c422d217d0d239a5d15 +CT = 88f4919974789f2e513b6b678e2eda048d4d76a2cf09ee0ad437b93ea556ff52 +AAD = 3c2de889d6e3d6dc39c301f9d03c833b8fb117d347fcc9fa867c680fb5c56a4898e102bdefdb28926041a82982a61358 +Tag = c53ac75e53e923571c472c33570b6f27 +PT = 3d2272c222debe03a303760a10cd6e92fa754f75732eb0837ee29b15f43d8211 + +Count = 5 +Key = 0124e8e17cad402d4c9a8658fe8aa4a7 +IV = d3a3a6f004a51ea49a9176b8b05c9b2b4e4a0792d5eb38a62deacd91785743bd60f4f8cf5bc04a8f25eb950f8d08486b4eafaaefe28d829c372e24327cd9d6ea20c26a4a6893a7b598263734941820690043ef7ae9dc51b7228b1766ff681d1420d249f7c963c75a88cc8eb896ed551abebb53c60f19330d5aa6c220094ddf17 +CT = 2f3ba2e0ab2284c100e8023c37d4b545be9e04ac61ccc66ba0bbb7a880b1f5bd +AAD = 05a8530244c048b5fa6e874fb8a172a273416099e058793461581efba847bb8d62249e6896231c635419c2dfeddd5234 +Tag = 6492e31f959364b53f6d57b9e3fbef44 +PT = ab7eb8a0e80bbd984117e5b8797ea0344b29c1067f75821edb1b067b64a2eff4 + +Count = 6 +Key = fa5c60cbc29dd8e9261ad25a1e5503ed +IV = b3b46eb71bc33d8eaf173efe415991cb87390e6f31a8dd07fd9490fa2b0bc03e31f51223122c4c2d9e6db5e60dedd855ad0f20be8c308fdd49a16a0c962ce8cf0b222d1f225f7eeed9493660f572b7393cd8d7c1f7425d9e227d80e6ba2cb533452508d25faa85128545d6c34ced16e4cebb96a4e142ab838e04245b74ba0c35 +CT = aadf04c903ed1c98dcb05c4b77c1e0988f9d3150c801b128dd2029f8e4a44b0a +AAD = 5c5c850776bc1984b69326285f53988de56cd6e43fd0605cf03ded15492765934fdffb982c369a5026111fbfc170e1fc +Tag = b5fd6f581486c32b83e62cdd92f1e88c +PT = 39a9cc75a811239282a680c35dbe93407017a0e20567374d89a8c352aa8fae66 + +Count = 7 +Key = 6ed93ddd5562ea1ff34c4fd4b37c8f1f +IV = fc55d19e1bfdc4d5329780933b9f3935be955a648e403573e23bbe15cd3bbe4fd2bf81e600c0532ec717f747c109c2245e3e3ffd6b83accdd1e092c14bd1b32069152735c551620742560eb455406572d9fad59cdc3845e5612da0b6764a144a2e2d87e934e0ca20924cd2471d46b333581fd7897cdf458229cda44f4e4434c3 +CT = 998535879fbcb26dd2f18c9291cdb87693e74b805486fb4a86547ea5ac8ca0da +AAD = 83bcaf6d6ccf7fc1d4206a30626d9d8e979d487b36ceabcef476729a626783bd9e2b017adc6f7398aaf15be0cb83293b +Tag = d3a3942d1ad0e8e6701060264fdfd972 +FAIL + +Count = 8 +Key = eefd33e1a3eac35a33a369327014b8fe +IV = 46db36ae1800f7a7b83834fe2fa029d0559f0cd7cafb5cc887d8993d03391e81f2f6c1704d9e317521f1c637b181e62efbd16675277557f9b1a90b9db6fd36c9bc715a0fbe32a0d1745da6d701e147a65a5f36d87fc31e07746156c72dfcf06da172eefff387874bb7b93d0a1cb64ba4711747f4d4cbd85f2112d581a67163da +CT = 845f27c332680c696914cfcf40ceeb494a630d671ec048c42dfa31a72caadd6d +AAD = 90fd6b78f50000539903778e62ee96b8298d1c676ad014fd01a27903a5d2610adf82a93300495b9c019e09c6ed1342ae +Tag = 0b4dfeff7dd98ab7b837479f86853194 +FAIL + +Count = 9 +Key = 5cc216f07c58cc94762df06352e588b4 +IV = f7e40bd8a1a19a86975a2cebe18b4a9e696d4ca85482773c1c1cb7f7774c31561acf6f55727fbe9560a27185318097c1cd08f55f5545e87d7b93c9378b423141254d8674df8fcb3b356dca7bd9e389a57988bc45cf26a61cef38d0b698d8dfaac347798d3726ec230ba8a221eeb65812bfe6878f862e88a44bbb269dee995130 +CT = ed8cd67cb71f09dde35ba55c3edc61e2c5b55cbbb3814fb3bd34c76bf138eb4b +AAD = 56c693db368912496f021bb44d6e58117e90e0fd3f00b08be1298f7ce6c55b2567e8dba8ff77ed2bc9c6b92f257b6d5f +Tag = d9d9498eb867736185e851cf36f3272a +PT = b8bd9ebe1f697bbe88ebf12dcdcb0365dea5432d5736a305917467c661c5dfb6 + +Count = 10 +Key = 3e123766bcbd152737e190e4725d2f3c +IV = cb0ac7ed027605adecf4a683c413b4f40aa02b6c7ab23c8964cf072f9a10b7ba7b982359d24b782b04c2e1e46c3ec09c750066824e462eb729b1e026613170f89459a13e4268f5ff3a334ee92bba7a13fa69e359172cf9a407d8d20ce5fb09a9ab2574c3c1c4d162154adead993301a1ad8059fb969f0ab9a4cc3373733b23c8 +CT = 208c5bd60487b8eb1cdde91330dccfb8020cff0da392442946b74fda92d04ee6 +AAD = 475bdf3bedfd3b106bf89a1904193a58d09038ee1b161c0976cf65b20a738138c62d2fc59ca0fff1a0169bd926e381a0 +Tag = 3e0e605a73e99097d00db15c1d0d07b9 +PT = 90dde77bd43c487a4727e353dcf597cd81f5373c28e6aee58d931d0088671c40 + +Count = 11 +Key = 38c8abeb6c20cd886ac6c44873f9643b +IV = 0f8da26f9a2857ace2b9b38423ae1cfb95abfecc702a679cbc205a03148271c9d22a3f552779d614f59e9a02efb446d5b59c50a6a90b14d9508fdedc3a72beee6e9cf4f7fb109546aa7197a9742baed26b219fc85b0ef590518add87aaff5c01ad48f1d431c732a7b575bf4acbf58d845f5336a544dc895cbf83691094a6bfa9 +CT = b1f521cc15801e063b1d276b99298961535cabd751949d90ec29e5fcfe665a2b +AAD = b3f23372d57e185fe0976d2fa0df3f3fa9d1bd7e8fc35dae86a96339aaeb5429af7a1c49c045beaf080c7410ebcb24c1 +Tag = 0bbef392b6fe736d2a083d7ccc6fffa8 +FAIL + +Count = 12 +Key = c7dd8200877c249b67116a8242ec354a +IV = 0181c48f5a40d92d5a44c769b2f919752adaa1bf98a449e619553cf2a06b6f9ffeefbaaba366492fe7daf511fd2907f7a6160ed0df3d80a507eb44f157d84904e8534bfee37ed38ed50044a4875d5da1f60f28c410d1e06e43c6459c96f0dec583a375da6d4f2a372c42276d8b5489147790b5b1a97f4f545ce088e888414eee +CT = 3ec9c6a28782ba3727e4933c150e71b97ad7e0eaca95b296e8405092468a7b61 +AAD = ff955b7d2d17eb9d9038e8d939a35f09feed6a0c7ce8581e95cba04bd85113e87e9a637f3596446fa02a7b04eb58d2e3 +Tag = ec642bc38a0a637547b79e5c230bb40c +PT = 4582637e9a5b3485ee82a4aaf086583d8770f9f8f86a419cee17033e060d131f + +Count = 13 +Key = 1975bec42d37442fa725f00bb6b31d54 +IV = 8fb52e59f087b7ccd0bd491be3c23091dfba0278edacacd37bdcf2d0ba29486dda130f933a5fcc779f157fdf134f4a640b1feedc2cbbddbcc79cc7173ffa553a90cab8199d645c99c9e8ca11aafcad8834f56f47248ecf0f321163670d5a1bbd06fcfc5f2b29d13f3697e3bf6998da383935ddb179e158794960b7f872435e64 +CT = 44a6bdd182668c540707421542cb655448ecbbddb20e8fdd3ea1e1ce7ca3aa7e +AAD = 22c6d2c373ea3ecb4bef80def20ed9bb920c14e21dcac35264e89b02eb6e464b9a0d4aea177abe2c7d8857d9be8d082f +Tag = bee2420640fca77f93ba44ce6705f018 +FAIL + +Count = 14 +Key = a28540e936659420c82af45afbef50ee +IV = c34f030927c1e41998813e48777837b2a8dbb92619903e94c0059b01bbfdadcd7b843171d7e494f178aaffd59daf72ddbc3b235edeee709182abcf9c5746eadb9cb013e5424f60ff43eeb28ce670a832204679301c9fde711cbd9f100efdda40b85f157372da2b82b1ddade49b2746257d5e9d856c60aadca3cc48c852eb9aa9 +CT = 3fa00234bfb23207d1ef029110fb184af85519c51eb3a3e9d0c5dd1c59cd3143 +AAD = c0df11871b745a3cbbe0d7dc81608c2cf98b9834ba1258ed63aab62f13b3bc603a409fc7766e0c393c946356b63905fa +Tag = d9bd29bfcbc9de46403c3a07fdd66049 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 83b018fe858feed50da8b14e47718d4d +IV = d6163bbdce84df6c039560d5bf029ecf6c1e85e343f23c5b4df1e5ddd84f82b1677347b7ddeb5c6c8cee9843cf499cc423d574314e92d74a9085f4af7489a0a2705a4c2b82ff88b4715ce97af21e5d7c352cb0004bce9236eefc565b02ad6d5e6affdaec18e2d98fcd0f57a3b49342e83de0c672e28c04e2e0cacafac28b06d1 +CT = 974a57a9cd24bd9320e4d9f8526de0a7cae6cc50f487ef845afb0109c34a366d +AAD = 0b266b0f9e304df267e2136dc240e25e7047a31621dc41edf25d006bef83c20f7224e7698d9f6d6a6840537c14b52ca7 +Tag = 84b856f8dee3e737eacaef041975bb +PT = ab0b699588b5b9a9a35bc8e2de3532c89cf687f8c7ddd03f2a9c794749c1d4e9 + +Count = 1 +Key = 77fcfa90beff07fdce632af0424b217a +IV = 1ef75b54490b058926282234dbd04d4cff393dde248e1c2eb5dbc4379cc59ff9e3257bc74eab2d26c2c1de08bcfc06bf734bb393419df21818ac9f5308653096e7b55feebec4b791647177ec5b2d785c3b61f1667a04e704822fbf0db06a5960766a9ad69de23950478f279a64ca3064d6eebe0760298e6419bb474ffc41f37b +CT = 718cbee3931abddde84f5cb3396ec6267743f043c0a4ec3d5398e3d53c0715c6 +AAD = cf88c3243d699ee803e3245590d85c499ffa092d383c0adebfa5e43ed63b1a8e9c3fce4fad8af1c6d5e18574fa93bd2c +Tag = db01e8bd68561761352d863307898f +FAIL + +Count = 2 +Key = 691563720e43e41bce4130f835719e1f +IV = 0b03165610938470e2a555ec8a80b9b6b0c2b8e7e13dbeab83ea7d43ef1faa445afb2c0fc06d3f5d38502b4658b358d6d3dc2cbb5c6552ab2c437a926fa6519aede2f4ef4128795207a2eb41b9faabed6bfdfaa15af83230f261b93460da82ecd8e293d377f525ce525c0417776c9cc97e55af746b45e1bc2f0dedb976910ca0 +CT = 2c18b13104e24789b930dd2c0aeb6558d9148b1caf9c64b95977999e10e8cb90 +AAD = c99732bc265f793a75d82082779cd2d269c1e04b81a61ee40a03880c1b4acfac263183f55043ca127388c6f771e540a6 +Tag = fe7fc8a2adb5450ae525f884477de7 +FAIL + +Count = 3 +Key = 3eba3f791ccfc3ff66b397bfc3b8ea0a +IV = a551a700b3f47bd05adde3090c163f867a967d4fbb7eba7a034e30a4f85e1bc9a64caa7951edc35cf2852f8a6e7cb469530b39301d451ad33508a846eb68f64d62a73f785fde23be763fb96a21edcfd6363dfc818293db14015c0462800c99f929c3635ec74de0499f020c5a5c9c62925af17f8e19e4482203ea1b74ba916141 +CT = 6eaaf3f4b0211f6b0e3a806d29963dde173504ba95ad6d83f94ab1bff1225c59 +AAD = 89e0a686e1e559714d4ec168675584cc2ec6b74855b2ff4039e7075945e254551ad1d0b2fe31527c5f8ad71e569c0624 +Tag = 9a065fe3d67199f181c2f8a598f7f0 +PT = 95db9ce101cc7183582bdd8485bdbe3d99104026a380ae3f3008275f1c2e3264 + +Count = 4 +Key = 37ef622c8c69d9f41bfde985e8f1f0fb +IV = d9dc0678c0987bf4f4405822264caa299ab6150ccd2c4c7205530a7b42b1a4953c6040f815c4a7243473c17e85d02f241f41c48f303a2a223cddc9465b7ac4e5f67932c72eb4b1adc81117e038d8922b94fe2c282d6100fbee79aecd64381ec28e9dc17bb79ee91b95f0b8194576758e6719de75b0522ec3a0d0d8d2c200c0e4 +CT = d88da30c59526fb88042c4387c108685a15019164a63e47f08c5d61438df40a4 +AAD = 5a337e95e93be7273cf32de9c74655f15e1fa148b47cfa7400315898a9aa12a89ce4c7e8020b887d3d28dc13593f763e +Tag = a477756dc62d34c99b3de6b17ac4c1 +PT = fd3ee4dc7bfbdd436d4378c6a44b845d982d5ba3913d635cf305009c8bcebcee + +Count = 5 +Key = 0fc1851589d5aedf11ad1e40399f3546 +IV = da156985096d56372973cedf05f16852b2bca696ae78fd11324f9c64f2360619c5a66cb5e55383c42b0f2f3bc8d0f9cd57ba0a727f513da74d910bf6a3ea8e58515a9cc25d9289861665e80d5a18da65bd73fda2f175c85d6abb1f04878b40d811720ae3112c954bd22871a3c64395533c737e920ac4451e94659f90ce6fb6dd +CT = 2f9d8bd8a55465beedbe468f618d0987cbc25bc10cb872f7d09f7131945bf74b +AAD = 22bf0ceb0d0ca0705c569c8fdec51c47bbe94bf5bf6e5dc12186189890c098b2f4741b6cd109f211877583a0b9fbfe84 +Tag = 649768485b5f98a7b36074579f836f +PT = c91d49b7cc23ae85565a52266f761a6e8c90613ee36a2d0e27ea25cc353c0f43 + +Count = 6 +Key = cc1936d8f925b5d261cbdf5639e48f62 +IV = 6e3e346435dbd6b62c1b6f05ff95a987b10bfb54596e65ab07c60f908ed8eeb3a623867eff3a24390cdd26ae06f866072edd1c14258ab51b44d8251563051ecb16cf046edf660da406926c5b702f62eab06c655060d6bc30d4ca3e56da3a8ece3bc135de060d082c73b4df32bc106ed2df20cf35f6dbc4bfecaf970f012224ae +CT = e9a9b48a76180a1ac87e698045ea502ae5748f6edf13e0ed29cefdce04887386 +AAD = 7d6881339564628b320a0abbb75d504c3a5a0843e50474bceeec21a43427231aa4582fc3b148f6c0ada2f03bda321b04 +Tag = 504dbaf598b059856673e27259df30 +PT = 8e76dbcbc945c6764c6cc4226a1b6594c171f4596726f5541e851b7b5bff6633 + +Count = 7 +Key = 6874467a9cc3818ca65ab8de652b2fec +IV = e439539cb23107639330b70e34f9d98f87194ff645e2f00554f983b36e8f3ba95465e5aa99a90ca165b0507bcbaf4808609d11c9cdc65d169ef9a44bd31a3a955bedf74e7bb8ded81c6543c1f80f9144a03bb2cfa602be0a8b09fc4c51c7daac5d2d957671233a07c952776e076fb823cc597f97793bb6cc13e851869e5a79c6 +CT = c74beb09f10ed01e6e1e8f9952790d8a9727105dfa293cd04ebdc2133d449d36 +AAD = e8a4ce9ce8e317afa9f570fbe43065011fab3186822a391e208f43ffc3b3f30e5ee78e59ac650ba6805116ee369a99a8 +Tag = 467d422d30b11cbf2bb8f4ffd84f13 +PT = dfe0f89ce806fd0a05c305c149fca987bcc01f1d9e8c0ea1b0d7c1cc307f00bc + +Count = 8 +Key = 80c2d47df96e0d5b948ff7fcb7cbfab2 +IV = 713c7b74fb35328257b0c5eb2a118b370fbe49a7285f0bc723739d2cdd80ec1948923283847071a2ade9ae335e8ced8e87c38945b97deba01e0a60d166ebd3ad4d56ac8a445c3324285d91d9407bb5946493d7951b490f5e0198f5107a29c9d55e1c071c1a7361b6548402706b17dd809e9dbf9e2378f586789416abf8fae0dd +CT = 726ebd2ae27828340c3c8a413bc225cb6f8a889a297d3ba6c13381203459d35c +AAD = 21725c4a6ae7dc950239d8d2788484bde0c544c2be0a154f9b6f037f5725e63442904a121650af9ec5349fad7e40e600 +Tag = 74b7966021acf99736157d41b1a607 +PT = 14c3579237ed0dcc44a5daf375025eb83993633b9ac471df4c44f3e69b82ec92 + +Count = 9 +Key = d601a558cbafca87a87574ff4acfc14a +IV = a216139295342de9a2232911e13b5ac243d3bd1b4c0b6019802dbc65c39b52c927f40ecd68151905ba645266d8e34f3c50e98bd62a8cca7a899538ba78dfd76a4f9670f4071b254acc0547618832c94c230dfd12dd690c8bdeb8be26203d6fca420bd6a341f642e009c529b8effbe79bd23bd4d503f386b34be84191f410f614 +CT = 4a53cd51a03f71de25a4b99045a76f0839e721cb5ffc70126f96959202da0fa3 +AAD = adc548b51eaff0c12993ac8602284de6e9a1c161eed8458a9ce56223ff1acea01832595849c30890ed095856fd298e5b +Tag = 25f1e410b922ccc8f5e262e4fe3523 +FAIL + +Count = 10 +Key = 1bb2d4c6d2e9123b6315d32061a0e27e +IV = e4c2824fd27df316b2f41abac6ee599321b13f6b15cb262b6b8f99e9ff0febcba6f908d53dc10f9800aca44b1829c8d4e550f14a8aea78640e3d0f79633438f90e6a6584b8c00773b220228de62a6712cd60f4a9524de0cf26128b4f16a6eaeabe735fccd5a90ae9c23da7731284741ee6d11bc93ae9148def383bf792074ab5 +CT = c15f8497812acbdcfb410bab95787bea242cc717b26a72adb20859fa65153cf4 +AAD = 2656df4898a81de65ad6da26442ea153536f1c563448703336254a76f719302bc7b76ea3321843b0f8f75c3c2e1cf51c +Tag = 5a1ed228375895751f9ec620e6b0ae +PT = 8c7cae70075f243acd54b2df43ea9d3b21748a135a9c27fbec2722eece4c156f + +Count = 11 +Key = 3d9fa8f95025df59cfff0fea55446127 +IV = b5d0a7fd676ed9caaae387280da23075ecacebdf55a7e358343ae377f29dbac024c3dc63f9af0a6465586c81d9fe99185064f925f4f8508a5afd7e8e484bcce8d724945b86ebcfbe69ae7495eebc66df14005a1200a80bbfd6bee9ba23913ada20f371bb6c56044485975b734b4727289a57a49c94a6157ddc672f31cab030ea +CT = f353abc11c63c7e5e93cfe13681f9776cb819ad50a789e6c80ccb43fde6a62c1 +AAD = 857fad9d5d157df11325824bf5c0137fe8c2c12011ca108ed4d26164eda11673d4e0d6927a6f9a52500d429dce3ed3c4 +Tag = e88728c02aa40c7319b2ed780cffa4 +FAIL + +Count = 12 +Key = 458a2d2b95c0ba0a1c9837267f763dd1 +IV = 2f854bf8c7605f193806a7132fe0e5cb840817c1f687ca531d07e9a26b2131829fbd06b2daf9ab268971d84c1e579116ddd224171586a375135dbf958484754d4118a916c30bb0e2d75a47f657d10b633980a927447ca65c40cc5c806326552566d55e065c1ed40dbf34e3ab15085d56f87efecca41c776b14fd568606f2ab61 +CT = 3827e5c8a6de1c7e97fce96d0fd66ec4bff1a17e1f51770fb6e504c5efdd0267 +AAD = e9040e14632eacc6d4d278e45952cf33cc06cb51dc449161f57d011266a6d6bedd5fb9d444a5c4a0e081b4d67e8a0bcd +Tag = 19ade9e42cc9123a7cd5f7e54406ba +PT = ac06d7fea519853222bb3237cb747ae4bcd4052e18ea97e3808b53a4dc46a81f + +Count = 13 +Key = 4942605f77993ea06302c96a7858afe8 +IV = 73d0ad0f914d368db181a939cf2faac63b4cd0057a2e4cf131d534adf9fbf3245b6c6ba281ec765e781b45ebf90caf26305bcfac6c7bc23a22ccb943aa0b5414a943547d715424f1205312ff3a0f3dd0723fa091cda32fb9283e5504aab2682fad08921bd8cb09b2e5abf3dd3cf773fabc8a2ae5b88e56a030b04bea9c82c6e8 +CT = f817a17c4ff17a3c9731812de9c12fdc7c8281beb523f2809da73101efe88978 +AAD = a364d54b28fefa37223c6bae13ecc82635307571ab6d70fc14f69d57ddd89b74219b8944e9b8ada8a55a8db932742e6e +Tag = b95dd1b641cac6d3f5f5d5960eea5d +PT = 097f8e96f8c79f8d0ae4766b3d1184f2041eb76cd0f6f5a3de6aa360842081cc + +Count = 14 +Key = d97183b22ead7e9fdf122fe5f276c843 +IV = 42929c925332a2dc7e539adae2c92f6e8a3abb539fbe8e4765c69f2d0ce4313c1ce7381b1c08d6a85998cb61e42cfc8a9284e2952df9cc81e60ace799898b9c2dee8483349edba4ec77e42e4dbd40a118ae53a99530620698399c03bd0f34cc37f4c54a8244fd1f39ea6a58e4bebfd47358f114496e9da0fb34e2b39d99b395e +CT = 9daccc60b3da321803197e9a4b25d0827d5d2b85fada6adf43cdb6222c7d88e8 +AAD = 00c881973e491152144f2e21d430a7f50cd910fab9f2232f495c67d654c862bebc8ccec7dc0f4bffc3757f1ec47d05a9 +Tag = a59bc7be37fea3a684de9631c148bf +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = fa0dbe077b862b56315daddfe92a4aa2 +IV = 601d766d1ba94472b3b42d12220d6fcd7c5482ce8893c116467599e436c2fa71d5e19cb480317e9a6a5fa3fc4a00bcbb24bebabed740b27f393a228bce04bf54b77fd769635b27ceb89a57824b540de3d9d73787023ba21f94e16d84ac68f9a4d3c2b3211b8abd32e04e516cd86f067071e1cff9ef2d3e56862f80e48f590612 +CT = 2d7024292c5b4d618cc35886c83e89c845e32f5707369d9e4aef8223f20ba3e1 +AAD = b2cbebbd69c2c242301aa33b21593fa3f8373cadfc411807348898fb2b38cb74f23f782d63a08369868441f680b8e650 +Tag = a51052b80ed16fb1ac63bed27824 +PT = 9edbe594f2a6b75b02622f814ba7a7f6b8b3005fbdd3e6136003c5d754713e54 + +Count = 1 +Key = 1a542f886f4ba20ba4d946acc1650480 +IV = 608feea2c9fc3175665c29dc6eef12cafdfa9140c0b5d26f35f604103d805422137ae4558f86fedcb6a3e12e4447c9c5ae6f4dc6b9ef692adf2354c9a0f9ffa34573a357a16182c5dee0a96b67057d8c2b09dbcab899df193e240ef47c9fa8bebc3855287fadbf80913b2f2907a665f8349291f8b199ee3ad208e9536c11b7e3 +CT = b696b44f2fce4077a2e134faaada3830a95d96845a6d08c2153aac470a7d82fd +AAD = cbca3f52fcbe994d0dbae73ad2bcb3b3d58e7d9082e5a1c10699e4fcb1e0a7426806ba2389fdd3da4e3f7c9414d7c4f8 +Tag = 7ace755d99e9496a5276acd90477 +PT = 3ed991331914231760f92d35ab4343d9f003ba77ae4cf5e5c777f90daaceb013 + +Count = 2 +Key = 6b308dc15cab96a33d761201ddb74273 +IV = 5b7f45b8194ea3c40830697659eed13fdea57e7995e805cbdf597bf731b5c98074ee2bf019f0190f851f93248aaa3e683e4d86b3cb6308c31622d450bae6a84c49ffd6f661266434210c6b0ae88f7fce48c62e4b37f7b5dbce8a938d925ca408d045497acce5bc3813dd6680abf73e8064ad8f8f65a5c151f5cb685702960881 +CT = 0f6f29477d0249f7a49fb268e2bd461c42916da1de10e374c25e575245f8d771 +AAD = e0c2193986e6318c0935b541c5e528e4032c4af5b9289c516a7d2be5c787c3f03616284a07a84ce11d5384aa1393bb19 +Tag = 42b866b2411fe81487dac770d1cd +PT = e3fd53218bf6d3231063235ce2e7dd3394b84622c7e41ade16c1e4f9f962d46b + +Count = 3 +Key = 693f2163cff03cddc0f9c17d211c7f38 +IV = 9560f08293795d6cd7b3c031259825f30b836e2baee8fc328be3e56ec04dfb1cf0bc2da81ca31ab1bd17fa0efc1b33cbfff9a0a538f8f974597eb23c50d2cbc4b3db6498c53a8396fdab5945ad52f89b99a250b61528724de83b5a7e1c217126b51c8ad64a3f5a476d7388288371e9c3a38ad922cbef0ba9d992cc1d5819bbcb +CT = 3d515654ef3754c537be257ee221949e85a8bd0ae0abd5f33660e914a5752845 +AAD = e03c1091df7f42e5e772f44b1a6ced4d0ba41bebc2001aaead2407d13b2ee1ee2ca3a87ac009a79eb52f9f99d3f59d4c +Tag = 1e6c70824af71db58083d7f44724 +PT = c83653770c8902e11b0065ff695fd4e6e32fb6ff145f186848d3ca9e83c8f31f + +Count = 4 +Key = 32c8615435a3fc68b2b04b82b3d58178 +IV = fa86f2aed6c6a58ea39b0dda3e87e19276774aa970eb75912be3b7e4646342596e518789ac77ed512c2a0227ec07b3fda115ad039230cde24facc5392799c27add3099d4899274a85f8e88a58edb6e573cde3de20c8f6a8e76322fe4361c9b45066b425a751cac4b35e3c2ac0a3e71123994e35c7ba9c3b597cf3ce4ee6c78a8 +CT = 8484daa22893fae9db6b8811f743e014015596fd982cc4b8f8ee37f13e317d9b +AAD = 25dfae69972658e34d59fe1159968b6e3a893762352aa2b96fbf3b7da581f52cd4cea2cc143a438be1b0c6d372ea795a +Tag = 9b2ad328c6d423b9c14af55c9fb1 +PT = 623e24cee2760464103b8dd57465b5292a8177862cfc2ed908eaef7b68eaea6e + +Count = 5 +Key = cc14014e023ff728e9a2b6a7ab97c65d +IV = e0d85a5973e7627a24de5a38ae0cf56b406a6f753f2f9532eb6c96fd437e9242cc54344d09917de25667f8d36a5737cf8c3e6add8b9371b58e6aba640c5d9eb0f83bbb25772b120ef06858d4cc9314fb3a0844f7d166d3b48f2f024278b5756e15028255c9bffdc980bfbf249b7a7b27be3bf51b18cf59b8e61f891f3b656cf1 +CT = 7013362edd4c92a28c4218f83f1aa4cfdfbb8015415a8c416ede49162994edf3 +AAD = 75a28db4bbb9eeaebb21a52908810ef21b17de90d58c847832fd114807d5bf0faa11170eca970dc4d9000768cab425dd +Tag = 4fa6cc44e337f1b1a56a1877aa78 +FAIL + +Count = 6 +Key = ca9b679c2c28a0eec3514f40d4253bfb +IV = e386cb805db9516be639811aecbc41ba739d044fc9c62cea72d2c4ec79cb8392d4e11d85a5badfa186c9c6cb5b6d9b32d7ae9f5720158cc43d0567020f1d6aa3875d59118ccd3bfc2d14be3b3ec31402deae7c0b8f57543697f9f921662b63fdab2cb17e3ca01eba07e9f23bba92e79e400e826dbef2d93550c1638413d15383 +CT = 061f9154fc48d9c0b20b7a9c0faaad8c386a6337820b92b679fb3d24a72d635d +AAD = 92104e700098eae899bc810624353f1a9030707b16f26eec625700351fca5b133387dc85bdea755cdd85a412703c9167 +Tag = f8a4ea83b732250e424ccc9686b6 +PT = b563a7cc293c0e8759b216a9a27769bb9afdea178eb555737b9a7fa97b95bfa2 + +Count = 7 +Key = b80b6f012b1f9953728baf6226b33ee4 +IV = 178be58abb6f75380964bfb094ef9f4f1e6d67aae9cc872a8ee87d4e8a406154a113c83afd557b17585a7d41a6567a05f101f0a957c696b57ed082eab97818e7b90f5fd8459351df75cc89154b5edc8b4997333169b5a6906b81976296b3a2e726fa005c43973268545ca58fbb28d808a0a55a073e2a6f778d3588f1e150c7e8 +CT = 3e47ce857c8d096fca75b79338e7ba5426bbcac8b6da31dbe27410a23a9396dd +AAD = e91801ba2bddfdae3e8237cbae7d75cac2af24f67c5c5e006e241e52cc0f97f71edd67be4bd38a36fab50c7b5a4d8480 +Tag = b8c9afcc3556f672b0989eb31173 +PT = e2def6a33be9b86ac55e30ef0703a926637d435a174424d0764944af13a50ca4 + +Count = 8 +Key = a3382f6a8ca9a32e4cafd31e6e3a7a60 +IV = 6283e9184677f56a12f5e94c818e2eb302bb0f44e8e47e28c71d51add3b82355fb9296643f29ca1c3b2f1ef0bfb709a466614f4d7e802bf9542c2ec103c4e689148f3dd33a54f670594d76ccfc0bb998606a159debbaab725f73a1066d9fa9d9f1841e98bb6f7a6a4d4e26f5bf254d9e1461e0f1887f331a9f12e898ec9af81c +CT = 8dc14546e5887ec498f2e055c8139daaab748900866cacefbac4fa5bc9e61dd6 +AAD = dabeefc4824d7e6a2a34d7a87865961fc691c71e2f29ea5eb0f6b23a3d510708714e4a1a2d112719480719b2bb03de1b +Tag = 1f4810d169180306f58770e8570d +FAIL + +Count = 9 +Key = e3d47bcfca954751c971111bd29719de +IV = 0ac53687f64804aeffd944ea2bdaa1f37d86f3cf996de5242fba218d81d6e9f5473423add7551797f92bc4a479e61f19354ba6c7f5b1713f79ef5b718876e96a9bdccea63ea3fba7e4bf27197b64e5166047e70b46ed85befe5d427244300558f64d6edae44b146aa47350ec25b5bc2aa9e0ad4427259f7ef726ceb0b30d1912 +CT = d9084f46db09d71f3bc1df0b57f7f58a94bb07c8eb6c0aab07ca2d7e3552ec6a +AAD = 6be09d2fb494394bc0a4b73aef0380720078dd7c7fc822d6f77439ca39b0ec25d1348921c1e42f635935e7e02b810355 +Tag = ed21b9d6811e93d5c00c4bb287a2 +PT = 798fd06a9a9bd0490a547cd1427ffd156561a53afc5672214e0e0e5155f23b51 + +Count = 10 +Key = a2de863d4d45a049ac37e3d48838a1c8 +IV = eddbfd14fd01400442ee5197ba100c329fc74720d7601b1d32952ce0184c51939e7aab5a95c0e552b52eeffb44f8af37b2fc9cfa5c495046fe5b4be3e53bc2ba6be5ef348beb32e6c76f73ecbded1b75fa0fd8bd687d89de16ba05d753524070af4970491ec05cee0e34488a7fcb4c3904813e82b86e747479d1bf484cbc25b8 +CT = aa63b7452081ef949424ebbb8f08f8b74c37f0d7a77ecb6ef03e1942127ab5e6 +AAD = 87dff36de4a1699895600a2c6436040a230a6a46ad86cfe2e5563d550ed91166fbd91860f705a046cdac4585256d98e0 +Tag = 804c701eb67b5e97a3ed76f2472b +FAIL + +Count = 11 +Key = d698ddb2c06ac28484bef963732ff02d +IV = 058066120bc66909b10fd4702912a111b00ad156a6144aa2db52dedb7107fed78f35a8d8f4fa7b368bff2e5d2cc1591997808002dd8eabda20ae4978a7220165dc36744342ebaa33b0efb805ea38ab435c261084cdf8f4ab3b282f5d018d5d8fb4111e3fec49d7a1ff0b430e8d3db3faeaf57ec02dcffb260d8a110a144d5b0f +CT = 2e07bbddee525a5198b455cbd0c250b573f9574ab154416ecdf9a2ee30a63b73 +AAD = c08ecba281c14f591016e46a048feb44cddcf70298eb27faa66502a3487a7d0d83be8fc95b5dff82fa7f7ef3a4312f27 +Tag = f7989c39c02775c5519d69dc74c4 +FAIL + +Count = 12 +Key = c19aa97b91ae8790938af4255c179e5d +IV = 19d908561e404ec40266f0302c8d01658a6ea0e12f8d181a960f949b219db6eba92623c6a4bbac85bd51ef1eada9a787383637aa9381d0107a8a651f12ce49269e3d0c3ae3348b923d5f731d52629e12cd494eec5226adfcde7f3e749929745fe11a49683ccdc79b84568ccaad78752f27b7341467496ae4da85b0274e06ba24 +CT = 8b5305ab9d632bf289f2919f180d63bc60cc34915a531787ca2c2d7bfcb7639c +AAD = cc38989e8fd0b827f086b372948a176f1159dca3a749e358f8c130c0cb9e346923a88a57c1da8c7b9e746d48a176a4d1 +Tag = 1c50ae0e0a31b33c82bcf76e0f41 +FAIL + +Count = 13 +Key = f68fd273bf9f9316b4d515c03dcb7f74 +IV = 4ac1dfbab86919656a1f289720f049cd43426d8575358e35a0b7548f063413bf007897924900e1ad81c71881969e024edbd4dfa003f67719a4b5b87e776ebfdf26cd713c9684cffee0e85bd79ae89f73fb253496f6dcefd941552a8645c2365a5abb94a251b4154bf9a05189b126efa328666c632e96faba689922d6387bc72e +CT = 7bd65b980f14f4f075f3ad7c92cfe6af7d3a58ec27e56cdd0096364dc6109b12 +AAD = 36ec885f2e4bd2bf0c0e12ac6271952dc3917959f84cd0b97b67d6f14b92603625d595393973652f28dfacbc920c33e6 +Tag = 6c1164468168ab9244cd31ab996b +PT = 70c06e1042dfc315453625c62beafa78f8796d76bd6d5b4640079afe4cbac0ff + +Count = 14 +Key = 247f41f515f7cace63cecee9d5a40d4d +IV = c9232aa3782631f23580c25766e7d6cd697fa997696334746ad51f4639e21749f583c03010d31a18a790cd92191cc39550630477ca3b90992afb31a55ce21e73c0cba787593be1c2b98f0a7cb9b3d88e0338aa14d0ad7375b7f2354511ac9af95871bd06abeed6dde115e911a1064e4f8ab4b625b1a64970e2f08ee5a9c91e94 +CT = a2b8523bfbf55e0e0831462d24a93aa32224be3ec90d30f816ff21132280acf8 +AAD = 584ab30c3771a55e7f33f4cefe01729d305380682d515cec8f05dec3ec3aaee62478cda0c6210a3a4f7b9f45433460cc +Tag = 9bcf42c1a30552062f91b25d9f95 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 8781db8364e634cff97f7ad5d549665c +IV = bffba76f661fec9150810aa07c694ac3db44242002bde10f1580ee485cc0d200b0fb87a5950501286dea82850ecc0d0480b486f03a80f922f86b5c46ee9ccdf02e46d3e69966247f58100c66d971f88fabf90ced06dfc637075f1529d30905daab113a380892faaf68f67823628abe6c5d6d3b90b14baa5a72138bf85104d084 +CT = 491a70383e4ca897f2bca087ab897eb29809889e79603ac3fbbb7483a23f8777 +AAD = b4db6ec70428ec27426b54299c17e078e7597f2450677165975eccbd3520892de2e785964d421825f841771bb05158cd +Tag = 6f169e2e328a4f04c1b2e6c79a +PT = e3fb47ad6b8b1ebc82d7c1dc216aa764ff028c09cb7aeca274c4ed24805368ae + +Count = 1 +Key = dbe24884065ec0fec930084609564a41 +IV = e088e77a3cd59da9ec8247db35c71e51b76c72331935c65c470e2fb72b0289bb1ee24b8f4298e672d44a9b704836883c7874ec55a5b21a2e1d22de203aba7788d251b20fdc7dfc220ffce0ebf7ff709a4584594a9e474243f6ef179d2369436a2e60763102e47998f3ec743a1b94e46bb5a8f010843f7a39a93eed00a59116e2 +CT = f04f361d9c52add8cfaa518fece1ea34e9a2694c58140708ea6f5f35bc358c35 +AAD = 1a49855dfe0d9ddb6dfd91d892aab4a64cc7d0d9f2127925e70556c23f3bd0789be6b7134f2a5d03090c13729cbecbaf +Tag = db6d57087b7cdb128b0e4ab18b +PT = 19b3fa18a3b739236413cdf4d181373d1625aeb176f139bdad60edd144536858 + +Count = 2 +Key = 94389632f961885664b982742ced0e62 +IV = eea4492dc0185fbea13ec2daa7d420091a0cb9ecef001a8a29cc909c09b2477eaf7f97ae9eee05720bb82c6c6c43fa2406345d95acedc84440739508872ba84e0016223a078587c73ce79a9845d679ea2840a4d96c2a744b371dc2f3eafa750c0fc551f5fd41f92c47e4602eb29a53dd86f85f5c2022770c3342c22128e0c664 +CT = f089831c9aac6fe2aafd00aa66f2762370731d166891006bd3a02a910a22b56d +AAD = cbec50e4f85e53859e2ed2ba86ee002b3e5ea7b46d94ecb07cbaaf7e5a660a32044675fe82408d780bf807880c03fabf +Tag = 13444573bbe334a3239cceec74 +FAIL + +Count = 3 +Key = 2bb0a643960bedf87d582f109e0c600e +IV = be1626caf318d9e32ae5dd2b0b95e65972636232eff60b6cdaa9600a67c6fc876f689234a8bf87f90ff2f8af11d51ebcb1fcbf63a1397de188fbb04617b1d2188c99a5a4b2427c940afcfce7f2fccce0e10d57702eda37cb4dba6f08d889accd36aa55dff1524a4d81d473ea35cccd3fd9ae6f7294900feab9c72ad02c864eef +CT = 85e48b11292025db318bd4d5535786c5ee14d3293214a6ecb41b118b1e443095 +AAD = fc43ebd13faf8c74fa35789c7e303d51f1dba49ba0fcc2c8f2866c5ded71622de4d0c6aebf5d434119dd2e6d8ff29be8 +Tag = 4562fd3ef9a2a965eefe505e1f +PT = 5b46d8394f968c244a58c9c4a0d173da89782818ffcf46d40952bc15a7d14d8b + +Count = 4 +Key = 34e57deba4ff5a83311b189b1806ecfe +IV = 286e9644cca0ae9a19a6038e61f473c959c5393acf2168a363f45e3ecd72bb07a5589e1032e8dedadcb5d69aca3438bfecdca13b4265aea9829ffa925dcd4d42f703eb771bc866667cdf045f5bc0ee817607c301b28542fba982d8b2fbdcf8a13f4799fa792ea52b67da198faca0020426a68254b1008a2ce1b3eb54d0dd8c98 +CT = d3c4fd570a8dba1eb7f39ddbbcbb67ac6c38b58c66b2659eef6156bd0ec0aa35 +AAD = edde2c69ad0ccc25f9dd6a3c9bcc5cc471b2d11f33522679007bf902993b86ecb358acd5d6ac83a8a73791cef3b764b4 +Tag = 1048b73c6d5c3009057f78363a +FAIL + +Count = 5 +Key = 9427724a60f7b60d9df5d9259ce56602 +IV = f03995193ba9f6d02337c513dcd82451272c0415c7b4d47023c5c6f9a3d95d2355988c626bf34be14ceac21f919edfc9d2cce2a216bd69b750b4a2d73aeb90bdac9a096d0360b1aee2677deaa7160c6553a533f08d252d8775ad01837c6c9deab73c7f41d1deaf79b53c2a696258dfd275bc3f19fc02c1a901a481b222689fb9 +CT = fcf326871fc9a29e22b6e3f232938811facd0cf9eb05a0d2f80a3fa741a167da +AAD = ea8bc1cdd8503edcc347de589a7518d5970224d62626b90ceb621336f6472d0676d615380fe54a54b2b0a0bb55c43655 +Tag = 5363d3798ca807dee91d4f4a7a +PT = d7ad07e4a2d368f5817f378b54ff86d6ecbb0e9bd5ef684d6d3a76d18e31e1da + +Count = 6 +Key = 51f5e317b7040d3602db29a16ee41879 +IV = 8fec159efad863592e15d57dbb8dfcdbcaf6d908ff2d3aa9e960683157d13ee455a695319b3fb6cb399082d7deef580372764462e16dccd0c52e50941ade7f142cc1af616064a47788e3109d3589864c9b70e5062547acf3dc85412fcc861f608e18331b76875b3968d32036765c08d91ae6fb4101302b341e4abfd5dbcdb112 +CT = ac95af8ce2f8692c3cec26846657b75c147806b415483b42c71eac2816b72673 +AAD = 7c649be7aa2bc32ff1d0d3a530f642da93106654225b8f31073d1c85faf8e1f33b5ca351730cf134c0579541e2708317 +Tag = efb27ff368bcb4538a0e01547d +FAIL + +Count = 7 +Key = fb2aede8a48fa72343890befd0e27958 +IV = 9b22c95f77ce8d0650e3e329103e38789ad3905181408f9bf610bc67022fbac36bd671b0db53cbe11ae4b5b8bf71b6b77574934066c0cb85d88c6bc9a6bc3e3f37754dd334f18fa266d7bdc32ee739e097858f9a0f37352f1a9e71f80788107496987a82b2263c7d646bf61691b65cd57b581e7695e7f6e23096e7b76feba275 +CT = 306705698e33e413266f62ea6ac00657a65268ed89ad61b51f8260c708a504de +AAD = a35e15bfdede426d28c0f9a402cd16b4542f9cb7de90295494a012c40f1bc8fc20b7257fc07075379477ff7326ed784b +Tag = 315ee43657304be792924af939 +PT = ba5cef7ed2d7cdeb2a3d3b34ffd0a9fae897a0ad35d3053c072ddf0252f25348 + +Count = 8 +Key = 7e2b69e36d9097a05294786bdef77c4e +IV = ea56156b038f334e9e8475890fce657bf08c583df284a0cfea669c259ae23e9032164ca220020a7a728ff9ca0e59d04fcdc01cd372717a416b74c2f4eb254d9a8bfcce5c999d9604f7bbf08799d79783242f869c9d880ad367505d73050e1a956481ea81e5cd4d29b13673419a6257af473fd3a728096bf728291bc111fc3b23 +CT = ef5d0ad3555954f7db0b7bf5fd0d4464df30b1035bd327b4a4925522c45b20c6 +AAD = 27df9e092f8cc716ded2dec7132e045d996cd8407ec4d5032c83528a9917658f412f3d0f72ee4f04691789de30d7cf0d +Tag = ff7f31394152af978aec3b2546 +FAIL + +Count = 9 +Key = 1baf682d546e94d8e8fd106191e485f6 +IV = 387ca8e5956fb8e0e4308cb6a82adbcc9b2c349a2d93efaf1a61b4fd766999dd2aef85c512ecc38a17ece37efd81a0fd11ce2ff7ed815bdbb81ce32a43340a0162237ecee1244ae4551711bc7359d320abba642055c4812350974f4ee9094ff44744b0d3f3307579953ccf82b207477e1478d16e26a9ec7622a2420ef4b31ec7 +CT = 02098b7d119ef340ce8b934c7e0885fbd6da068c7768983f49b6f4e3c77d8e6a +AAD = a47ffc9e687f5407256703fa90178a9ce19e4c24010ff194682b8b4be6fa9a7c9effd2bcadbffd2cd8055978d2bce96e +Tag = 3ebb1868c4c09627a83c4cb2b4 +PT = 69e21635d4a46c052d5a31ac57c2a527b72126d8235a07c4a9b2494ee21b48c9 + +Count = 10 +Key = c71707b307f0eccdf02b01878aec294d +IV = 2f6bf9e90d603bc6c37ac1872da7a43b2ecd87f465678be5a9c7768657fa5bcb8fb6f769bf8df04e7775a9a8e2f5b0efcc07c25abc452ea700bd10d15bf23b3fe734c6789663e5f9a9425fa04f0d13b1948041acc83104f117198a2f6ca5913ec3630ade1ae87b563137fc7ddfd4f1c15b616c07b6af1ae609a440b37bf80585 +CT = 81cc07588954ebb1b29be40f9a41f013b987ce38f9aa58dc43103fc3acc0d737 +AAD = bd6942bf2a0b3e5786713bf2a6ad4c27ef42254734032dd3a17b6c26fd4a7b3c9255634ebfbff8acb662c4f3e7a0f1d5 +Tag = 22eb5e04ecd5d6556c94837b25 +PT = 212b0da710a0fde153ebfc25ed808b2c797d30b6feaadecc3d4e0fea18c3002c + +Count = 11 +Key = 68616388854dd40a10ea5886e2b44993 +IV = 954130cc137c2c7924a9f50546b2c3bbacdb9d425ce38f24bb51a3d135885ec6ef2ced0fb03ce9a8a4f6e945e72726ddf406a737ed3268dc31b3f82f8084d7975176a2cc355203509e58b96eb9042b5a4957a7fef19be4e28e539a505a9f93daf7466dc8236424e0ee3ecc1e64ae49aac1619241b879ced1ebf29d257a4987ff +CT = 9d8b67db2f8f479df950d5948b67e0dd0d49577eb1bd1bda5a1d25a14e136b92 +AAD = 81d4176d9010c578b83a7293487fd5ac62dd462c64d42d24609e200554f356cd3b6f93a27f1f87416a3f1e7cbeb59207 +Tag = 5e336e8bc904f8f25cba2a4558 +PT = 195c12cb3d0bbe30e40f349ffb75143ce5f51f800eb3321caf6fc648f28b6063 + +Count = 12 +Key = 184a59d4e5ce44b46df4d20f1b171fb3 +IV = 30ea7cf9d5284f0f6e8f6b833fe1d9a0673c50834aef66166af8aeef9ecc031fc04545b57a47f2adef2b5928f9c29a05dda58d14805eab64c4d16b99b7a0aca345d4926ebfbd1f08e63228f8d2a1aceeb1a5006ed0950dfb5b9c7163c5e95d71b6b1c08ee4c28c4fb97d9202386a9f3629369904bdfe96326fc2b81f2f420d31 +CT = 8702e1ec9ecd7b59d09d45495743a719c50629126c16d5f5e1b6fb6a67782bd6 +AAD = 511c424980337cac70faf23c8f3d213714c1522c5ba839659584065a709e9f219a514c3259eef2599668500f55f98b04 +Tag = d3ff10e547cdef18685f8944d5 +PT = f0ab72e66795ae874587b14cab63be64d4f0c19e6abd6a19af17ac43116dd400 + +Count = 13 +Key = 737a5266e3ef7dec16ebbc5b92fa6f70 +IV = 2d9425f27223d30a51ba8895ded3b51e060fa87065f0683ad53bf74dfaa4e62938f5d2bfff0d10bd5a58c41dfe1fd784069abe42f602c085e2bfe1a1d55f7a1da73d50d0520450cdacf6fcdb2652bddcad8cbda976c6ebcfc95186d40b9008bef7b1fed07fd1601f04b980a6f70187e03898cba3fb7e4ee9ba816cf56fcf541a +CT = 28475f1ad49fadced56eace72cdde1959ddba9748129b99750ecd34372c79a5e +AAD = 46b258dda44ebfb5b27638be5a456cbb081ce5e89311f8af53f6892dba9ac1599e6e039eaf92eaa5d73bfe4e4153ed1f +Tag = 7c74888f5790cfd7fbb361dd18 +FAIL + +Count = 14 +Key = a95c89bcd929376d7f28d7e266ee3af1 +IV = bc511f92024374dfed778b3f76d8dcd84299dc94162c445342dd8d7580ce96f583a3656e500f8c0ffb662a55779708f90c4f8ba9778f5f5937359cb0cceb542ce1112e122165682ff3b1480580af3ac8e08b2d2010574e06de38eb4eaec71e99d4cf85bed1b5e1e24455edd7d33d0ca570ba88aac2e95650e4be144e29b7a7d8 +CT = 9fa78113b808e7439d56491299d0138b494803430fc2fcbaed1586ef7ffcbc3e +AAD = 9cdf8478e3e28a195c5a7ba71cde6f4d01b90ef1ad08dd123f71fe147c4baa9aaf4486d397fdab312f8c80358e7dce05 +Tag = ddc78a729ca39f97e7fea28194 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = fc55072bb088354c119afdcc758030d9 +IV = 970af61fbd2bf107dfc978d085066fb0e79564f2afd2547745bc23e82e7c52c9e06ffaceb457a474a4b6d438fab942327216c6e3ce68ef60896fc1066123dd4afad6f801144a6ebe885bc6c956f5371631f3cf4bd98d13135af26c1129dc6aee3d88cf4822eb4f87fbd091819376169f46a0a0e8e64b62cdce6794a1ece707f6 +CT = f7f2ac3378c7171470b5aa4eb48b61a24d59cf72e5047d7bc7c750d21e19e372 +AAD = cad9b84a618ef2152891581088e3594b1b92d56ffd69e63440da333c3bdb6253ef5c80f52bd20a83c6bb8c40ca985cc1 +Tag = 3f761562b6675a982cd08c73 +PT = 3e5991d6ad471d5fc255e08ebe56d407dc0c076b09945fa75ea84954afe38f56 + +Count = 1 +Key = 401833219d5b105d8e7f51a3d2c7d160 +IV = 679cc74685e270182b1f8430282a8c12ce46e80822ead30d8ead5a09dd2cd98a7760f004faf0c59d6226ce77d5249569ac13ee3410f9bbff8ee1b9db827e18b4e2d5cdca65f93eef382bab47444bd5b8c9bc04b6e37626f226d804b048ad01b4313a5ef522fa6de80ed491eb49a323bca48b76c9272b2d459f7b958f2b3a78f2 +CT = 7af52158dc55532b2a18219206cda2a65c02b2b394653913b1bde5896308ee50 +AAD = 61b2f68f454276f51d9328ba6240be398bf2dcd40725e391eba77926c942bd209731dce98bc8c5a5f5bf543f3c8bafd9 +Tag = 22b423e82dad6d15a675bf75 +PT = 6623c2edcf46d55ce493aea88077f37aca5bdecb9253d3928e3fbd13217c0d30 + +Count = 2 +Key = d1ba59cee0de227682abbcde2a60a971 +IV = 2f50f57ad065c2a24f9ca4c9e7487377323b1542b79ab280df34413888a59196e866019877b055abef4cae26582e33b696f3ea7ce18bf5989d690f93a5187b2e442a5985b4edc9c65147d7b8a3568b003a0b654d5d780b07496a5e85a8773d78c245987476b344da7d4df3f9ac6de089979a165a399f0b38b1a092b85c3bc1cb +CT = 37e0d8b6aed57e4a2dcb1665d00263b971db0b4feb9097127322c87d02fc056c +AAD = 21e0f011a67feafa0bd255e8475109069a97ca4d945df982780e320a34809405a31cc8ae83c0cf1c2fde4604e707399a +Tag = fd3ee641daaf58b3fc4972f1 +FAIL + +Count = 3 +Key = d1e069ce90a3fdc1e0d705a730b8a655 +IV = a64ed254da8ec23685a803d38187ba3dff16ec3f04ef78897d9a3411557acb572703c2109edb492270d11d40108b0b15649eefaa0172d8e778cc577cd79b2162724c180cf60d996c23ab24759d47fe253b6ed9d0d127aae4d9b5b945a89ed7c314f018b9a5684c06acf6f9f96164fab1572131f232d9b625af73dee0f2033dab +CT = dfa1e8e3acd47d106a5b31009f5b6d2774c2c9aa175cf49908da1457ba6e9268 +AAD = ff4a8fc0a5589869b52860d41102be7328152cec99d3b4663db375e996684c38ee814e3b6a96200074166e96f45b5666 +Tag = 84a6770fba5530b86abdb263 +PT = 9bf4f1d354f5c50a6b8e0459ac92d5e6ecc3f3f5cbf7a09db2e3e11ee46e2a2d + +Count = 4 +Key = 97379f9fda2a9cc035cb8440508e1f52 +IV = 9fd8fbde46d62b8ab18ef01b8e8b495b144a0624203d2d948b294bd3ce484774caac010f3ba50602290633d024b07ac2dfbbe3ab0ea64520a226d3dbac4e31e196803d1f031cb072f84329554146c29a2c22e1c8717ed3ed74407ca322f7d1b3db1119b16e564c77b1d8eb86342a66f6d3764b01b142781b38eb2bca3eddeb46 +CT = 33746889bc8e986a309377d6610ecd2ab8b357276e331857435ec0cfb1ebd4dd +AAD = d95dcb3f49a9af68b23b4da1044c246c4944fdd1027872cdb38ab6c9684b5258ca83d5ea73ee854c2db5cd28b7f25b21 +Tag = d331328627354dd0bd20f9de +FAIL + +Count = 5 +Key = 539b55d89f676c595e3e558b84fb94cf +IV = 446ae70556b24d2b026c838538ef9f7d0fa071479335c1e4fe6ea7b5a6005bd393378f2e6cf8053957584d37ef19af75b2d47e365d84636b615dc8c9c4b7ba5e7febe94a7daa9a935623962189228bf9afb86f938927ecc4745771403eb37563c4f30278ca78cb9b853f9193b8875d325b41463ae47956c48ac618c014a7ed3e +CT = 3f033e28cd8b27a918d5070bf50643a20f531dfa51dbefbe28f4bdd97f050dd1 +AAD = 23ce505e4d70c55aca920ff4dc72e71e6e47ad9faee67a26c22c6c7257e29e13c6a6fdb2080978a4134de601a9d42e9a +Tag = 8ffeb7cba0384faa2ba00ff2 +FAIL + +Count = 6 +Key = c60026593632f8b39107d05ed1c18fa6 +IV = e8be722f2978b30a2a6d232f4cadb5471910a8358e19ea46f5de0629e018273685b469cec2d91b5d257273772ad7849fcb86a3ea1dfcb13ee9b2a04e6e8b0d67b12008e9acaffbe8ab6b278d118c8db00810f68af33ae584a2288fbf7896db9a3abd0d52a4cab8143845f746828715aa06fc976c901aab371c5c3b8e1b4b0e10 +CT = 9d58d7e80d8a176e1f2c28c7e35c8db5b366f2edfd3a1d7287d3ff063a96f2b2 +AAD = a80be031cc6d45e8baab6811aa53a57a1cc6a46f1ba1f787c0b9ab99dc21d10f1b79680e4455153433fee83fd2d5ba69 +Tag = 90a9c204cbc596d0d6519278 +FAIL + +Count = 7 +Key = 38e9d61b04d20692ec7b301df0acd204 +IV = fa7f041b26926967721cdb1b9e7af00a847a4fea7eacd18faa63675ee44582a72dc36fb249d2cbf780e63f6d74c1f28c1f6ada8cf49273c32366bd8773989117db77306f19c2c0b65f3a95e1b180e613abe1e20d0bdba033c96843ed8fc765569bd574310c7e6a999562bc7632477c9eeda9a115bf3b03e03d5ceb00ee3ae570 +CT = ae463700966732062e18e49d25d62834fddb4576feba9aa80972c55e6cce5034 +AAD = a6bca724d35c0e7fdfa224b25bb0f691831adc6c61a62ae21db64d09ba9f6c9c652ae1080153c472d5c5044e8a5df724 +Tag = a1beeb521e309b0c95cafb9d +PT = 7d4f60628e8441b5a7bc0747324cc775458f499a9a3c6e7939ecde75a7276f2c + +Count = 8 +Key = b1ff7648bc6e02128bdc317aa25dd92b +IV = 18157a1573223efadc7d4ac067cbd0fd1372c279f608d345aae144998ae784443021928059cc38d5c5d204f30bf3dddc87e371e10a8207200ecc279951812a6f359c3596711aa68ee310f4f246c59c3ede784c7efc4166735b212f2020367a399edc51e86e767d814c4f1308b0afe7b47a085ff9466e2be2a52caa910597db83 +CT = eadcb859562e36b0a7ab26ee156d6dde2419fff6f431550f85759583e8c68e5a +AAD = 05da1ad360fb40e8eca1f0aa8bb72466009588543f16b20d359c964502006c0b2aa70e78e4b3c043473747acd2b49b95 +Tag = 339fd9cfc03ba3efab9608da +FAIL + +Count = 9 +Key = bc435b479ee80137a48036f40e247e92 +IV = 680839493d540f915f6ca4cc3109bd706cb05d9626a131fa27961e7f4fb8cf120a2bc5d323ab76f25e53f36cc706856e43b75564c3b3da7f2368c2565f67aa0aa6f8c09321439699b973fa5fcc6d95bd2bee7cafc27525c48dc8ae160e829ee56f6701f9f75b63da395e45a781b0d1a2c85ee426d1b07303b8fe5856cfe4f0e4 +CT = 2f4fe4b56feb0e78ee60ab00a33177ff3b0b5133aa6a522ee1e0b94670d45951 +AAD = dbb14fb032641d136d4e4ef31ea8ebec275f53634d20d571835545e5674602645e437b52992eb2eac04ef7f04ffe216c +Tag = 324ff48ce14f95c0fa154e97 +PT = bdf4f48aef7d9858d7222163b14b76a3291262c8365eb1f7fc8797a6bb1c51ea + +Count = 10 +Key = 90d2abe0ee2f55f8ce51d821cb5b49a3 +IV = 6568261a8e29f0a4b9491e6b98f0e9eed7553b49f4ed6bc324069fc8eab402c4f67426a1487ceed4142c691eb9eb0596840c9f9cf451b24ee1992b45acab52075736bc3f405c9cee7544c5f3e0c846d6e5754e3d08f022ba4fd736af566e355d5b8a5234404539cf75e6ffffd0333f6e77c2be5d5e6853ca6a410e52689c0a9d +CT = c0250e88b20b2cd34a701c2656cf17bb93d3fe1e19de62b4c52eed7f0d0caa4f +AAD = 43ad1fab37200e43da7fd0dff3e2dec8a5db3f5bcd6a0099c147dc31df0559bebb02da954b7d36841d422195a088053f +Tag = 75e30f2c249f2f98e2e25f9b +PT = fcd902c35155d78dbe62d18b287f6a4da0eda6a555f484c79d5981c1ed08ea29 + +Count = 11 +Key = 621cd598b6f4201821d2de3765cd890a +IV = def4dafe5c68eb9c16a8bba0e54c698ed70fc282012de9c6ecb60a0f15be5b371b57db379615da2a26e1311bcd1599ae35f2e1cdc41158052de8759e55fe33b3917497f141ba7d63c8a1cf77439675142b7dac788c90782c05ca3286aa4c20507a953fc4264b7e1613f3710b4a44efb87f6478413327328212cba23a4b610f5f +CT = 501788584d783b2e35294d858eda648127c0b47da5dcc5bcaf089b28a481ce21 +AAD = 4dac379a8b7e20c373199233eea8e0939939707085e18af344af80925ce9e7ba82839ea3389ca0cd79d4fcb08fab9132 +Tag = 98f790e70421571cedfaef8c +FAIL + +Count = 12 +Key = 6c347f7456917ebeec816488baf72792 +IV = 0398af849148bf1760bfa59fb0ba12e353dbc0cc74be7a91ec33603698a0b48c34a1f6175b1ea098a2cbbf2e5c01497d2f75ee69228e72af87a00970a0fb88ab290da576305be4f8befd432ab50aa961104ebe73a4656c278e6d36c76a062135590aae872e2ba0ea863af211aa1c29889ee212a27614b1408891e0ed5b28ca9f +CT = 152def00160b07caac95bd3a768dd83b6c9969a9ea55dc450b8785d9e793a792 +AAD = 83652b876cd46ef09cdfd8db9e518674ce1007c809fd2e58748288218fec914765321a757a876dcffc82ba3d5544ef10 +Tag = 2295f1f15932cc07667abf59 +PT = 1390643b3f7ec772f6dee88a761ab2ab509f2059f8332e471b8dc8682f94f3c6 + +Count = 13 +Key = 52c25b26e2efe67db980c6e5c5a6eaad +IV = 7adc7c0a886f6bd319c4e767f71a4b9157ea8ddba01c8b5d20c44aa481f64cb0e4b6a02d4ab7d95358c9ec90750abcdee968eb07ffa907bf5f1177ed724379087ad62e169cfb51e73953801b53ef4ed40f930f3eef8228826acef2b075d1a68ffe7aed27ed2c33fa4e7e477610d9257ff9e7a8203d1f751dd1658b59ab9337d4 +CT = 5ed2039b7b3143858bf893323eb4c2bcda7fe9711c8ef325a8adcdd19584ce72 +AAD = f080ac3689c1491464a8a8c70b3dc1d640ae60729aa14e5f3b14a8a725eca294401fd2d220c1ee850f13409d38b8262e +Tag = cd6888f7aeb70e0e61d59ad6 +FAIL + +Count = 14 +Key = 9b7c1bfaa207066d603b61e573b1d030 +IV = c2959983541dbab6932dd017e77089e1a8a32dd5c6778e29af25c0654fc97e1d71248837d52d23b78447e057ade5b5de20bf3593e1369fee6b2e43a6acd39ba0a5156c5bc3bf331a5198f526e1aa0c0ee775acf6e1b59049a884ad90976902ca2f9bebcc7fbc4c325f46b474957fa06808bcc7fb94c38d879cf21bea99f19d48 +CT = 933079534d8dc74915cf13b5c283a8842046c6a2ed9eb95b6906ad7bef460bbe +AAD = 696666bb7310cdf5d3226672829c0f48f57aaf93241b2ff72d371e634a456828595014a2ede3a07dc09e056d497bc72b +Tag = 08ae352b7b7dcf50b20a93c2 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 36b1b3d24de98de2168b92e80e70520e +IV = 812449423bb411378d1ade094cb4c94c9ae730c929f0f7f235b143434b7ffc0b8d8e99a8f9bcb3b020dddc882aec9891638ffd6270b998f9c36b7998e8788266dab95c666a306b050d23a53cd080f71cf067c766d6657d990f909c71c79f6f147641b094bd596df5571bf94bef656da7bb39ae86834690aacaa0c82a3c15ec26 +CT = 2e21d5dff5bb20a72615f246bd280c5b47e8c6e1eb675aeea2c16fece99fed69 +AAD = f6aa492c96a99bed34ce7ba5d395bc45648840a508588d978ac8e01666dd86f2f94d9690ad6c4aefc3066a7bbb5d20ea +Tag = 640486b7b4343bf0 +FAIL + +Count = 1 +Key = f5a8110666e637266fe614567d6b08f2 +IV = 0fbba82cb0d447695326f27db9213f300f0d4ff863fca4e007c44cd4fe2b3bcbbfc288341e5a4b41290da51fd35feb2976ddfe96c480476920637e91ec9621a477e8a15e32389e4e601acc9e20d2a6df1359a723e60cb7324b8fbbc0f4b86b159e9ac6700c1c775d4fe75277b1967b4421e2643c76053b2c7e9c8e627b6110ea +CT = 547e1265ee3d0d7f85853f013ab93ad19d542020e0a50bbd9b8c157cc7013565 +AAD = be04d5fa1e6793946bce5ff7bc642f149ec91782c16a54b6aa61038db468670f53fc2d37bb77a2763580e4d5b087ed63 +Tag = a6202e109b9e4fc8 +FAIL + +Count = 2 +Key = 642c68c3eb905fd8f1417cdb6f02e88b +IV = 8c4e35fd743a0850e0d076917fabdd1cc471a18affb929f79dcc047481d8e62e79cb9e646f2a16438594fb80ba4fecd0085795105e59379a6b3b3489a711b41d60e50b70857faef0aaf96c31a933797889a462df91d9ec634819c032871a40021925720e27b3040fb511fc87374d9d1f0bcaf031a323b4c17e12fe2986afbdd8 +CT = 71ba67aee2d236a96d8660cff604a74167522320d461ea568ebd317655bc47cd +AAD = 0b4cf9816428285ffe2085d9845b7cde04217a565c41f8937e6aa0f3fbeaa42528a2fb8cbfab0eb4fb1452024ee65a80 +Tag = 4668c878583397d9 +FAIL + +Count = 3 +Key = 3ec5ba7d716083820b546fc1e799ad23 +IV = 4883c4b5a36817cd620c8aac513b106a71063889e4842dfe27853342619a65885fd55ef2e192d0987e9e26b81896cf06b580b846e001f34e8cedb890105fd4e6474ba8d72e4964e5a76785687559a0459160b27ade3535329c945f6247cad7fa2fbdc53cb12d402ad15ba35470850f2dc7f583023c48bb28251665be5a209ae0 +CT = f71f45af2b1f08d1f8c080d51b18654cc4f5a62b2372e2d6e3b0953275154309 +AAD = eca03829685ba7ba43fdd760bfaecc3ba06e900f4b7d99aaff9dc3a199eaf4ed9c0bc688948d4b127bfba3207641e4c0 +Tag = 066e37f77f76945e +PT = 6daed4da34bbed5e88576eb80a76c5c47216333f104a915e5cf65ac26e191545 + +Count = 4 +Key = 93da0248b8e8cc577417ef4c8640ab02 +IV = 8903a1af6b461f1fae404e2854aa953201d074797a003b0fb0d9702bee598e69ba128e923382308c3566c8959c17344706595f89fa88a99e2bf45469c064d3d9da34721a4b826dda1c4a0be8d824ac33cb1d7e5615b3dbf3aef4d23577c943a3a7e9e36868f1407430f5739eda072c5d31ca9902824cc2957dd35e53fe93c510 +CT = 5634db7840850d7a178baaef8cda3b354620c845f277b084206b82b33c7eb9aa +AAD = 954fd6e07217316ca0afe75d8ad62d0422ee1648b11df8a4dc8d2030777ffb496254b1b509a5dfd93d8394b48709c0be +Tag = 8367cd8b41f6a6c2 +PT = d12ffd61892891a2d13c1c11b7eda44a5e2bdb9408d9ca9a9fb80b160dd31877 + +Count = 5 +Key = bcf3cf5d4020752fa49e7fc5ce75ed60 +IV = fc0937470f194d323ed65626906aae2ca985bc0047f71b3e5730b932c1de5e632cecb939c7c230a6163175fb88026fb8dd3da3c85dd0b2bc92ab87cfbfa23da0469f15a638d28c866f80ee6efdc8c28d0cb298b75e22a06670dd60572f6f95af840f20c064a19e4877543b083eb5fd6fdbe63b599030e043be92cc49b38295b9 +CT = 19d2c862ffc55bdbd17e53f741cb1719952ed8c45f59660f6a8f46c50cf0955c +AAD = d7a4e1a5df60fb258ec06e5acaf07271a1a8ca2317af2d1051172b55a77093a015653684157d9d216cf55558fed1b497 +Tag = aac90dc715a84f6b +PT = 11f00ad71d09392f503f34a7492d348f64533939a4861b20d5a385b92b28d7d7 + +Count = 6 +Key = dc5f3671f7d8396cda228ca9491ea25d +IV = e7e2b4e34e123e013a794084b5c94f22f36de3a127ba32fb2d11ba9c52d98a5dd43c7f6aac578c8cab628c93eaf2dd558500836ef9516e7e4e18c7abcce08b222ad28fffd26e4491af1f86bac1399bb0da548f28549440cc2e018ebf59d517cff83d5f691cfd2d079dd9e487edc7b858be545129e3ef46880f8e3891f5053004 +CT = 70873736257e5deef8780936968f45adcad2e994d1cfebb424a0ee71ec196beb +AAD = 4fadc04cda91949f3a23873c57c83c0068e735ed595cf3bc7a97cb127792a379b28f5c06eb800bc35aa763d7cc0dd2de +Tag = 25de3d25f93e5843 +PT = c91aabe9b94ff3219fcb1e258126335928f50922df44a68be385496313e9f632 + +Count = 7 +Key = 644f4e8144e05a2e76ab0fa4c64b938a +IV = 28e5a9122d75bbd539302b1ca1b932791dc4e4c9aac93e18e4eac6e1e29ff3b8a0a8d87c786db586e2979625f3e5e057b606ef2857fc4ed3280a72c896eef6849a4513ae6d365551c876617d65705ab6f14dbb6181f04e7a3f8e9e912ea9dff6ba4c979671d3de177d641dace30032c0d05179b47eb090c7679b169140cc3849 +CT = 446ef4289cefad34dc509299dd66df036b2cede5fcb03e249bd3434a0db0c912 +AAD = eabf49c0c44d8c0086808caca49d4afb99e1af55c289c9ea70ddeff31aa1dbbb61de0fb2a7c220025ea3a6a258cba5de +Tag = 0a16bc7bce7f37e0 +PT = 506af48d28b07d04a0c92e2fb571f33672971cb0361e30653c87e764056aaa02 + +Count = 8 +Key = 19c5504d43a8393b6c77325493e53c38 +IV = 2c1546a4dd14cdf2cdcc430963199dce9b238c9f14e9cacc98e08e5fa13b90b9539153f136d88c7590d64f7f544ac84e32e84b34652c46d7acdd2383c4b659307c2d077863db92dc1203694748c1db62ddd38be168b3fd43ac53c3eac9f80631757d77ee56efe934ec89b487d5b131579c723843e9c99ac7328b7c8388a195ae +CT = f4606c1f42fac142583aab6d58f369ecec9b28d4fe2ae864fde590e70295ffff +AAD = 55ee7fc213cd3f5198d5650ee2d7cca5f3b3eee34f760867c12d96388718c7b8089b23e8ea2f12c1d45957270df2e59c +Tag = 642132d45cb854ff +FAIL + +Count = 9 +Key = a1c98a12325d6ac88841fb497d10d1d3 +IV = 67d7e434b48132c7ddc5bcf90a014a98fd29439b6e2ab3f35f9eacd15f3a9026d4d8489efad73797d2131ef5ec99e985fbc694ab609fc3ef52b075bc133fe0d890a5bbdd84144ef7c6054e39460d641bff9f6ffeea74d45757dd37daea6791ac63f61d45163366d22c660dfdc97fc96e0abee81faa8d6fd87e29b07ddc6c81d4 +CT = f93bf604e2fd19add74c41f6fd0230715278bcad14ecf7fbdd5f889c2d10be8c +AAD = 1b682ce86a0a51430a2d50ecf759a39562ec216d58204801c34ce93a39a64709808cbca35c9fef28d44ef3271e3e086f +Tag = b4c2539f38026ab2 +PT = 50880074e21b225bf56ca8612f6c529c25d13cfd30cb4096ee087500046af9d7 + +Count = 10 +Key = eec529cbb2f69ab82098ef678f190683 +IV = 6e81c0e672b9a63b912fbbc992ebaf62675bbe2dac8269c2c96aa388d853a9336a255a7de532248dabf042cc5a1b44a49e9cc78876f5de7dd7f0479307476a739e657c0b41111ddc01c837a330f96469d6e04b3adb6423d609aea90a1beba22a6ce9803334379b7597ea6e85e69e6f1dbd6351969b45a06e02d4b05331158a41 +CT = 9912eb7da370c615b76061326de70cf34555e8eae3cc18b90d61951baf932957 +AAD = c98bd08056cf73eed5f6bd0c7d6cefc62fa90f6c58f3ceda59068e823613e832365bc60d5105b2ae585bdf82fd685b84 +Tag = a3e757eb8e3ba16a +PT = aa6981fdfba7276c1526c7039cf7a3d31a008e9088ca71e0930098d44390d0e8 + +Count = 11 +Key = 2879b81a248ada4ae887958b2f7a8830 +IV = eec03c7189fad4de9100a884f2a8c5a7f31817b84cf7507c447d8a8a9386cea6c0a02aa7c062de2a63f70832ccbff699aa8ac6bd19b6576499895d89a7f2a07ee1379b9c1c52f9885cea08256ffba062859701cc3791e6e55896d214e9ff9d97fa7a9dd9d1331a02ced951e40f7bcc3b8a452257c9e1a77fa721e09b89af3918 +CT = e38b33e9d4f27a2605416b545f3488164367e1d92fc3730b61cb4e0ad690c896 +AAD = 31dcf24e9ed962bc634edc9d76e73e5ff5a0aa4a65ab9bba3710fc26df59bb9ca47c63efdc710cd757f8b70077e45971 +Tag = 7bc8b779c665c684 +FAIL + +Count = 12 +Key = 8cf39ed7d84a60b61fd93ffdfb0bde39 +IV = ca928897149d6274b350911c9c04ce3959c3f79f01cdb5a7d48f9c786a1c79ad7bb227b27b5ee3a1827e355307119bd47785c44ed00673fa61bc19d0603e0b302c7b7df2ca792d51bf46453a8b7baec365c19ca68d9367d4a1e147bfcaa126d8b561902f7b4c040b5e695950de961fc7ef1a61541a844356236646f5441b4383 +CT = 437280f7672d4be6e98b53643bab6b569438fb4283083fb0ea15b2b91c0b94cc +AAD = c8261f81c57a2000bb53738e1827c6ba69ffb142da4af099ed834e3cac4e71f19cdcfbf45ac36183a4d1bb713eb627e2 +Tag = 0a9608bb78d5a7d3 +PT = 2c11987be008e7e597b26606572f0f881e8b9b65192e28cba81d66c87573a096 + +Count = 13 +Key = dceb23fd12bae7d6bef87fac1a28ba48 +IV = e30bb2b9cb75bdc95615585e0230d838509b321b845d1668cc586bbd1484f39b196f8f703026e747bae493067121729a4aea11007a2c91ce1c70cd593ebc4f84c07d64661bd6defaa76756620f7d8c03008b3757a8147ff64708d1e1218c4edb6d9fc9501d2a6cff995154dfa1ac8b11d09910f5ebbf377d280599d11893709c +CT = f1af938dabdb85669de387e6d3cf080c3227fa98e3bcec44bac73e54a68420bf +AAD = eb224f2e1eec8dc68b445ca407b0ef428729bbf54a017a37fb72035b8e726ac796aff0920446aa7722aceeb1b7747090 +Tag = ff7923a390bd1fd5 +FAIL + +Count = 14 +Key = ec8f2f9396781f9e46176f0a4996339c +IV = 22076ac2184bceae5ab72a00b1f35a1fb70a4dc17057e6b796e4df24d3fefe895406126087643996654194ba0b80fb81602016918d833f40fce484a21d9bcaec8dd74d1b73df5b7ffbcf3f1cf75f45d424700ef39bc90633f51c72c64d3b13822ccf5eedcccc4ab0cfb59a1ec3d03acec272a486347e1fc268215697a72accd6 +CT = fa0d380f1e9cd6b8f2accee56e98304bbbeac910a502abe4b627b8c5e11294f5 +AAD = b51d0141ec4b53d267fa851336d8ae95a740b1190746960ee472b677ef750bc4d697a4eda57454a639a523e2a29db5e2 +Tag = e0a9284ff45fa553 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = b149772dae1ff51d639a06f24705ace6 +IV = 6eadf9d84e360c7dab03e4f994a0613908c0b2053a3377f0f64ea248fb8fdf87e70d3b3c7dc7ca196cec5e9e774f8574a63260af15966564b7d1ea1766398740b72a4ac468f7f98ea4915eabd4c85135dede83e6a4521b6ce863c1b756d5a853b31b64c4ec043f042a5d6c518f1c82b501c560ac6f4aa626b0cdecdc337f2de7 +CT = c43444e2ac070005d022878e59bd5b2e8ab20af386b518e11bfeb57386684b40 +AAD = 202b7f1cd8ca74fd14cff6406f64239780c4283d357ee16b5e904347e7cb21533f2fd79744eb6bfb529e75a5bea18b3c +Tag = 53f83c24 +PT = 10ba71662df70990c76a0a2f09520d845849c181752ebef51f7bf2a77665f751 + +Count = 1 +Key = 66bc049d64da446b8bdd1abea60a2191 +IV = 8a19095daf05ccbd2f6bc6eed565e0188f065d385234c9ff09d08f51c07662e17cfd92c282a82fc7e510aa1455421863e62d222f56558c9f925257abb1a70d0596d1ce039ee58e314212a3bfc6efdbe689996e09d73e320be71fa288b99c19a61f9e43cfa4a98fd8b9edcc4f5bb4ca4b82ade8bd686f11e75dd86ad2be76e05a +CT = efebd532bc0c2a43c45d9a2b74082be098b9c4d684609193a98e8e6a368dc62c +AAD = 15b1c376a254ee55b08557803a8bd40fac857a00c232a73a090fc3fe5b3341a7feff198c6f591772eeea5008e07c6eb2 +Tag = 0312111f +PT = 04009cfe622a12f0f80fe992e44bd99cd21fb09463f2011830682d3771ed7ccf + +Count = 2 +Key = 65e9f841417e692069984d26830fc479 +IV = 534709fa8ba0fe0d69a408896dab6aaa3808197a3acc48580fafceab631c84a31c523089934a55b2549ce9d9328b557e5a39945ae134a62542727f279a0c15de275d977b8cdb9e3060ee46e219585a1f63e56c6ecb62131382e3e1f3105ec4abe5c1a9673baf2e064389813b076af6654cc7f0e5f610b19fa9d09e68eb2eeea7 +CT = 203aea978a46621f8fd5260b11b3173be5d49a8732cd19e461c117b57fa097e8 +AAD = 377ddb0746a0d59bfa9f6f3424596252c92f86a4f2224a7773f8df1cee71d515d80efde64c355775e189a2927280ffa9 +Tag = 8e4c2457 +PT = ba6ad9c86b66edb24138d286e5b368e15624809f38aa7ac311c7fc1b15fdf85c + +Count = 3 +Key = 81ea1229dae9b445552477dd7682f890 +IV = e2e9a1cc177a7c43f876583afb3f9293d2c57b0bc1513437c77f93896880cc43aba7f61e166e352d575db861f1ef63514efd566b3c2c821da44efcb969040809ebb7b583027a8c14e07d437504d29cc5f2689ebfdc44cacd04fdc5894ef246688a701b1436cd496561099598d171b444d199928a110190102d34530c59398bdb +CT = bc24d6047c54a66a67ecce0bf3399b6c369516544bc114ef53ad903c77972662 +AAD = 389f96fd92cf8ed8410d26ac6be176b954981212e533a161e9f1f67e714b40b4df20666cfbac63bc8e3af3e2e69aaa83 +Tag = 2c1e7fe4 +PT = 22157b6a151bfc808965949a07ee4add57d8c6d7903b911eea92a48256eff3fe + +Count = 4 +Key = 3c8ff31e4df23a47a4dba9659a7b24bc +IV = 4437fc169b49f4e56a9e44d60c88e4a3e0a50bc20acf1625d7d80044046c3e4bb0c541513ae1bcaaa4ea4926ea307fde483222f2f96a241c4be13a891e038507c35f0b8dd7a82d2402c14fdd4995de5325a5e3dada55afa2c9cd5995091e875b1fc5b714e299d0a056c776ee794814cc8453852d8890f09937c8ae3eee3ae8d7 +CT = a0d77f7c5a23a344968315ed709f30c8f5d71fd68603ca91d660bede1422f796 +AAD = f22a1907850aa5bcc7b596246add69d7f683667debab6afdfcb12df7036336150e94f800e5a7c7a436e5d3ee24395bf4 +Tag = bb4cf081 +FAIL + +Count = 5 +Key = ac67af4e1f186d700aa93c0b8f301dd7 +IV = 16232ba2788b42a8c72df011bd9f2e72d4c03aaa3a532b70f1cdc332a55ccc67f9c541c96da7bba4610392cbe0c1703183f9a3897751fca7200eed234e7e90025f8613fb077b3629bf67089512b57b026377b7bc9e911ecf08a4cfaca78f97c1eab3e1fdc617737989f47b62e2c18c041599936bddf1e93611703d826b18c618 +CT = 725e3ef62e3acfd147fba46535f0c6a7c2f804fa24e156b3792e5e84cb0efef5 +AAD = 8ec4e96c393c41d2f42f2c39bc60c1b7089ac12b0ba4c2f9781e466dbfccf8b3f9d1293c5507398689a6e2e5d141d952 +Tag = 573d985e +PT = 3fadbad8bca73ed9a682f176c4fbf58d4ff6aae82f2e1a31e76c1a88007f22b9 + +Count = 6 +Key = 60e5cd5c2b68f7e013afedb58bc6726d +IV = c7fc26f920c1d4bf1411214f174f7b48ae21391bed5f7de9efa5ae559251cfc164964266083903ffadb33ae488c0e894350a95912d50687c5a352415a0b448b580397e1b06c4c1714c471ee0f73cd0e7350b2fa15c25af8599186a3ea9a84af4562ae7325683c8c63815b54fe248f2e16fb59fbd6a6741db6decaefeebf5e66a +CT = 90232d4676c5c244012c6f1798935be4be22c4fc48ecee58d4503f8660f388f8 +AAD = ffb115232b5db349b3c1b4217fe584b818e50a1f20405f79cfe63b06246907564acba1fd7029e83282730dd60b882461 +Tag = 21ae5baa +FAIL + +Count = 7 +Key = b3b399b85dfcf0d45ea8320bbe01ed45 +IV = cf20f5e0232655c20e768ba5209a861a8e16bb86d83e59bfdf9c6f47d239876704b443c13ef04ffd9421b6ff1f7329b16db982ab55bd0307b7e53e1cd5a1d53459545389273089dc1b36b3e1d5df3fdc5547f3100ed9ee5bddeb98aeab63a4ba99db773804e240cb1ebe5bd21b9dc7c3f47989bef0f0a98148a8731f83a489b5 +CT = f3ba212c366b62c8beec754424fdfe876e4a7122ba1f0a8288a0ff4f739dd9de +AAD = 3f471faf649b97e9553afd9b47e87e2611726a5eba6d792a824856ae758a17d0d3c4a77b0c82faca7631606602dfd94a +Tag = b8ce3a84 +PT = 1432ae9bcb7c2c09a88530fca121f488fbbd0986925ca0fdf44b3ef67e0240b8 + +Count = 8 +Key = 310cb462ee5479bf468cba07c76b1939 +IV = 8ce33c413e701e6391648edf455510e4210bb086cc6f5a2ff66708d7f0ae2c96ea1a4ee2b5ba9205f8bbed7456dfcf1e54a0cc4b51ae8bbdc4ecd6b4defecec0d2af653408ca4b54ba3dbd44a48913aa01399d0585a3f55e851be9801708dd8933940fa45287cfe7b25541a4098a2097800a7f8f67ff366f556689e1ab315674 +CT = d1c909ca481f4ead090fc5ff9a9ce02b78a2ae6240249e5b692269d7aa9db867 +AAD = f8516547a3fb1c24935515acd81d984ddf74cad8736b31fd3e95f6a89d073f8cfc52c659b902c8e1804db3ea95858a50 +Tag = a4a06d23 +PT = 09728a591c2fd0cf8dd6e72c446ec1d954f0df7e0a05a25dbf038fd8bed6aca8 + +Count = 9 +Key = cbda9afab4ff52076e62e8b60e830b95 +IV = ee2ef239af97203d4151d8af8ce9bcac4bad55126625fc4a52e461731ce0c818363999a9241d99ae48520510922ac585cc4b0b574dea0ee3f96efd3e724e9eb2925d1cce373da635edca7198cdb21c23fabfc926a096e2c7b94da43917235a9d33032402ce63613f84d4bdcb31070e2e09689492b6d04b1c83e9d101724f6d99 +CT = 042505f4d3d44a1e047ef3820aa5b46c3669d5929171bbef974975cf0938e6d4 +AAD = b7b96430de744f9dd542977bd1978fdec70356659219aab1dec74850353c23b1858f1b049dbfe8cec634076f3fadc7e7 +Tag = 5899935d +PT = 38b83bef892d9771b622f0f062a101bd4670cf8763b14e1d658a0dee63ea44a2 + +Count = 10 +Key = cbcf3fd3433bb06803418e5ef7e3fdea +IV = 55af2d7ceb4bc97e29470ff4479bef797edcaa6a1a31e4cc58eb404e014e0fcb7982a19befbc1d360ec1ca3d0a28d504e890fe679810eac8d65bdf4a4035ffd93bdef221d13a3f089ada9f7ad3d5a2a938f5a5f76aa6e881f6b9bce4eb97c4acf5ce3a727fbdd28e491f3cbfdf548ab8168fba8419d8cb4e3afbc9babfe624f0 +CT = 0093177ce71ef050edb2ca3d2ca40b5997cf4e8471b7bdc918d13160c24bd8d9 +AAD = 5656a7657dffaf4fb98ad67c2d624a3671abbf1f21fba6fbf1683db75c4f836f531c4d3577dbd96940ad4f40320ace10 +Tag = c5642ab0 +FAIL + +Count = 11 +Key = 23a8a1783d3af8f09c73a83e74a18e43 +IV = d0b077a7dc464689d8822c5335e9b51bd42e9fae819c9cacf148db6c33c5055f1291b82cbcb71fb666df15160c87421e4ec6718ee75fe38c0c938129f787d35652beffa198317c3a1bdac190f24d339585f8f2dd879aa79a65bf8981fdb4dee8a942bbc8f23e6359b2c76bedddb296fd107918a3f4673cfed1c59e38430e7d89 +CT = a7e626c65c68cd82d690b5b4a100dd272e35927bb8d6c21e0f9db8d4c3bc9365 +AAD = b3483ec0b45975531aef4c038283a142738295cd22430c91e455e41018555d20cfaf68807eee4870d95e828d8e65e8ed +Tag = 9892a170 +FAIL + +Count = 12 +Key = f1ea2672e81ce0702c5d242307db55dc +IV = 0057f138fa3a31e6842285e6bdfa39f55c5ddb36f8bb43be969fc9452e7267eff0a165363a67b11370694aae0932c7840b6067ce9af5eaa903f0341cb2973b97ec6a13afaa8b49c84367c4d36a00fac2b82e51b405c61a5ba59c4013af423d5018b7e1ba90b83fe4b22892ec48030050c07740c8846cadd5ccd89f9ca5a05469 +CT = 5815dd448f33247918e71b17be79c3a5b821601aa25836977935697e595f2c0b +AAD = 2eea7f427bbf24d45f03439ed9c782226eaa3b9b2be9d436e6349ab5456c94d7b240c89159d28608779c4f27a5bf2fb0 +Tag = 0d392939 +PT = fc38324aa93f0b958af5840875ab968730fd6dea67dd23aafd6ea3ccd3b1996b + +Count = 13 +Key = 0769e60474d6bb45524be25385c20e5c +IV = 53d0c506d005c8c9865287a381c0eb33dd5321cd0f4e713f74e50fb08fe494fe80cb7d4a2a051a23db83023fb40a0559fbc1bf882982f6a49ff0ef1a4eb1bcada192803c1f381f8be25b691954bf6c1368d1447796f48e66b422253a4dfd81129dcb7dfd196ac89b4c3f7208f5d7feda555120cb66359e1f65c3947a4a20a526 +CT = 34e705e57e9510d71962d6bf27e9cbff649169f031b05a8c567de35fa350dcba +AAD = 346299f2ac7242ddacf24323b37f914b98c51667651231e63928c3676980fc63ceb3e543824ba7b7cc25d3425a24b178 +Tag = a55f536c +PT = 0b33d570b96ac5ac2347f482d896f6600db511eea8f2e4169251c26d07144708 + +Count = 14 +Key = 53a072ea1ecb51f3415cf33fbc22d12b +IV = bb06209c9bc207447fabbb421de245d258f8622ce785acfdbbc11e7fcb0ea2b200518f9f82285dcc43bd2938625a9085465264fbc41a4a920c05d11dfb07de7bf88b88d11d36ae0e845abc1aa3f7914ab515d438064d9158e65ca794e765cb458be4e978ff001231f01620baecfd7171107faf567ebcd0ec844e85f67137350c +CT = bebb63f3d18eddce5f4167d7073e7ca0e9057decfd3216559b21f52f5b31cb0b +AAD = a66bf1473b0038fc8e271e4a81d6b5cb1498b3a17beb6f83dbeb5960dc231e1250a10c93bebdb934922b963e1b36ee7d +Tag = f65b237a +PT = 6c47156fbccf3c85cf104eb55769bc970cd90289b71385f2e50658ddbc9554db + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 43f8c5f2cfb69b52b637b91d4ada4eb5 +IV = b4472b80d8e7454a93485a0e50c62467b40821785d3f1db15ab36cde7e337431288f1d5fa703e309cdef0f0ff83731946c0aca6a1bff346dc3947218c4d88cfd6791d69528f04efda1f7a48d144b5221fc34042d6f910e83bf3d2ff0e2844a2c8060a72e04bef456237a354f57120cc6cdf52f6936cc9c4216ad526c45b29b8a +CT = 14b31e33d35277626e7aad7a2d64c484c56f409dc19c609d7a999594a144ec7c +AAD = bbf7a4705307d8886338024d1c5c12d4e72bd5d87a3c8e830175c443cf262f18718373ae94848463c7147a303d16d11e0be488d321b35caf1c84c23b136396400fac2f90bdf943ea8b1cffc70ba298cb52b68c925835a5ec44fa +Tag = 54008017fe1b7d8c5366fe1715abcf46 +FAIL + +Count = 1 +Key = 69168a3dc640dd9f4d36f9b87247d03e +IV = ecd446026474ee9f31e9b9b4ba818f42d38b4680a724bc1007df3f9142503a4e4a5254e3778f9ba992ea1b54e1818527c4f92cf8dc114dc8c7a88a1e6e22af9bd7cf8fb96b4a6cfa4049aa57cd15508075f143e252a0831db28f997879ba06a71da245ae99d8f1b0b75eb8810afe9792e085f002e7d66639670294307c32470e +CT = d9a1a13d2076f8c7c9b5dca386f51785fe8bf780c722db05817b7be201954528 +AAD = fb219d18ffc9ec9acd9a332bc7f812df046ccedd99300b1d0c01d8daa0047f322344accf0fac956d904d0f8a74c09ca431d93ee0aa662f71432904fbba3c113ead9f1d95c078cc431b7d43f3dab029022ad8f43fbc019afd0532 +Tag = 0c51bcc0328f472b663083815d7897b2 +PT = b385cb3171a8464fa74c32e182dbf0df3ef90e1963490414f1b4f25ac6b2e9a6 + +Count = 2 +Key = 26799d1429e67fbb450f454992395e29 +IV = 8a566cd99c1d00d25140198ed9b1352e7fb6c8e44a37c64c1ac3765f3b4a9ecd021217705f9f071b9c2ba568e07976713bf1834801e9f0d01c577f0f544b493b9bd67e92ae923e06b2472db4fdfa7e9e146d71158fa4f5cff5757e13b849de3ee314285e2d6b65f23fe133efd9f336868bfab930521cac78ffd35aa7e8dc6801 +CT = 97f5d40034caab57b6447f4d04b0a0e976901066211066c972b35412861a1f6b +AAD = 4698bf48bb6e9f97d7d0ae20a875c5e5ee093e55c6b0fbff1170e190a5bfd1a88d6bca2343127361007f45f9273e7fdb50a0a59af36b2ee972deee5de9d464996799a650aea4eb4bdfcce0f2f8352740bbbfdedba814fbbae044 +Tag = 7a92bc28732f710dde30be0cd5f7fc2c +FAIL + +Count = 3 +Key = 653396469a651428f7c02214a398b24b +IV = 983de428379d67cd3fb4cb3cbbc3f280fd901d41fd473eabde17ea6db147c58fba0af09571501fdccbde2110f95519e41c82f9c1e998319f85ccb6da172a84014018c3ac507169f03d19b1d31a7f22eaa0dfdf3adede659929dcb7a7f1c452eac34aba4dccb3ff019fb922a241223fa2a78dceb4f96ef08fc40b85d99afe5efc +CT = f602de398ea1e35617cb0ecf4a88ffa3e356a8e9767c5460e5a0ef49f6c6a305 +AAD = 482f636fda54b0d649d9a7c33d3786a58ef0e7ad6a9c8fda4098243293136956b8eaaef8e162e24cae853824b54c2d055e6380f8cfa811a6565a27b96796c6477f632f79db8120de9ca4fd9b1f338bf4b379614460bd220096e7 +Tag = 307dee3921d7d168071b0e933191d7b0 +PT = 14714d60e766c4deda7906ffe03d6b55c5ff53459a2c5f0ffb21d1460868ab61 + +Count = 4 +Key = 1e73abf695e4139722f0cb8b7deb7d97 +IV = 8418573568d894b0f60e2b8444a2f4cc488a56f74ead34bdb6c42fbb2f8334befc5ab6583b367b6e32668381bb8d6329e68e974f3f7c847a9ca3ba9eee3f57c213937efc8c217f9fe4b3481e3d59164ba852b8f5da9f63ee5256c3395ede3b1b90de46a77bbf9c774e5bf14e380c40faa8cebe0fe78cfa6a8436f12a8b8b9c00 +CT = 2bbd8561bb3e373215237597a82d60b99ea13830969eb1aeb913ffb994001ad7 +AAD = 6fd1a165bb8a34ccb7ceb895478336c5d6b0d591d05c21ba49e0f016e10f7b1d94d3fbe9d1d2c824eaf1a3605331cea9eebbab59cfa6ce73d35e99c5a30a93496436fd029dfbec41cfab5f3a4a9333a1103628bc8a4f1498bae7 +Tag = 5adf51340b2796435fc1b617f14a93f0 +PT = 2ac08383451098f4972396eaf11236bec131345d3711d17572f82073461226ff + +Count = 5 +Key = d922ad525033d0cf0a67e759fd1d9bc6 +IV = b6422002fef97139ae491d67ec04f7676981e1f0d9274c5f9900d0f4ad101c82af985e806665daeda06a08c75b47a29bcc481aa819a3d840294f965314d54d5f028f41b3246ab0d617032df0abacedb890265b1fb0007b6bee8dfaea28b6cb400ea4a57fd5a5a24860426ae813a5c89ca13ec778a9011aecc9c769a1a12cd817 +CT = 30da026efdcf6b036b5d90af5d13e978207d07233e28993fd136a13f03c2f3be +AAD = bf834d7cc3deaf909ad87bad77fae572db66bcb95441f160f579d3a2d03076f8eb8229c10250c89fa487e009ed5e6e1790e0b98c67783382bc49ae4f3a74587e978a00494450bc62aaad73d5143cd14e1bcad0c16b3c04bc81c3 +Tag = de7c51835d6adc4348225cebf470e9d8 +FAIL + +Count = 6 +Key = 02094f2305af57e0065af19494f02fa9 +IV = f063a16943a32b1ce80d099d3f001c95d00a00582605f86510444e63754265c691b29e2a42d5fea35491bdf016dd5a502ddb50802afcdb49c589ed4be7bb27287cae5c77341becf048e08cef44d7b658dfe13a0e5de0463816c99e6f675f19a8208c7a30413a6d3e9191a45d33b0e7f9f3b34fe16e8967405d399abb1fa8cfb0 +CT = ec2d1249dae0db24a063f344ce818eaf614d6793ccceb0a64a3fadba620b0a64 +AAD = e8fc66d7a8c8cbaf26ee69ef8f4b7931d3b0184163cf73581927d36fc3c772d7bbd7cd6dbc5bdf4d60169a632f99686baa5ebcf71875a6cb13f33608db677e29e5d0d41e9b7915bf517b5116f1ab4b45706fde6438364b01786c +Tag = 225dbd01298323e6b62e240c68913384 +PT = 49a52754233ae048928feabb83cfbabb1b295fba20b94e355da26739922020c8 + +Count = 7 +Key = 0014b529b5c82caf7d477656bd5738b6 +IV = 802bfb6e7557ca4d46b173b6857fc8ea5622ce43f82f11c95b570ad53d15affe794f0261cbcc760f8efb4a43ad8bac76aeb50268cdb26d48cbdb21af5dd557db8f4445b0a85e045e0941e484bc197f42267382cb8e6bf578319a5f847016bd3b893daf1a856a267053de2de18fb4a33f21f6292f358a222b7a0925c421388b27 +CT = 739aef2838cd0d593c4b55ba1ae7d1209940eb39b1cc0487cc4c80c8af959ad3 +AAD = d81e7e60e1c9290b6ce0a0ca598e3bd953e217431cc8eced945560454fb0fe524f81535869d1dd996fd01ab5a24d9d9d136a266f889099b9e2c7a882728e48966b54a8f2ae54c130aa5cb8cb5ed11593d2d469bec43eb2bdf82e +Tag = 19f8ddca2b217a673b73bd2a158bd952 +FAIL + +Count = 8 +Key = 80333b48e87b175ddf5c6bf244f5287a +IV = ed405d0c183623f43ac0a42cea0bd35b96509e555f6c296b7c12fb7e97101e2f05e077c2a209134506fc1da509d81a549bf8c16182660026d3ba3d992c2b0a83647577858fed639d7ae2ea99283fc26ed4322697742b2a9131e69cff6001929eb91aca5d3becf52a09c9155249e5db29ae4bb116bae8379d2404c3c955d01eb5 +CT = d7e7c69e2e920702df34fdfd00c9375f5f65c21e7f81fdba8d6f7a9d6a9084dd +AAD = e292773f70acbd60e3ea0a9711cc419a51c7504a0742079655b1a250822e7ccc6eba0f4afb982ec5fefc02466e2ac6dfb9ad86aeeb7759551494be37a67437323a0f186b0cfa48b0f562305061852885e84520a1f82911665487 +Tag = ce8940ca98655e127737549b28e9d96c +PT = 0b9a0067edd0353dea4e8a90603c68437fcdcb1c7d8f37971b7deb712b5cee3c + +Count = 9 +Key = c15c24b695fa1020512b840057fa0c87 +IV = a0598c0a1d5a7bf20dacfdbd37b80ba693be6045ba09f2b158c27fb904f9adfebbc5578ea7e3f4a64b6ac35ad9636167c8fb8b7f791a36f1f1537bf9cd64c4f6e6b3400ef29903921b20a1f123f4efd131f9828e7a801205079e60cea7081d5c7b3cb10e2d9e7bca2b0315e22f7b2c9993e95a42d0fb75ca91a484f1ea1f7870 +CT = ee1aade00713d6e62ec519378f8bb62ec8bdd2106c6de9903b2f40ad011fdaf6 +AAD = 2df9eafdfa31be3a35861833f87938e77d2e626f3fa3ba42659d7b8545f86b3e044826c569049c622612c9ff6f0cdf612f2af95aae38d17b8585cd6b67397a98fd661b874d71380ab1cf3522a8ec8cf12af25ee87d867e6c0c7e +Tag = f0f9b365932e7c2808402ff2d7b14163 +FAIL + +Count = 10 +Key = 6a1d3915c5981085c35dce3f7d955d54 +IV = cd371fe0ee69c57263db34efb853aaf094680f71559ade0e0b2d535a74024af5a0b53afb3ec772f7666cf2dacd2599dbec8aafa0be407e9b69db3e09916cc52fb8baa337e5f53a26a4fcf0cee3f8f4f852e460799c81213c38372d53bd9d40c39f529ab53664aee4bfc295d893254436904e8c5543d07264bb03887e7ff58c08 +CT = 6e72b54fca1e51e6a39164966ce9632ba64b9435d3cbfe08617cd548656ab02a +AAD = e9aaf03b80c3f3e11060542b6b6acaab780a0e5b78c643d5001a4a3a7a680bd1b9cb69c5b7fa9f4757d382ca79b8c908e96be1b56fe0aad0c2c13cadee99c36eefdd1a67c09189366d3170d7e3c8a20f7702de94a4e1b2ab9c18 +Tag = 9d706849917dd7eca0d55453119d93a5 +PT = 49b1ecb75e0a7641b6209d92b358d4315aa09252e48a9bafb735666a7b656114 + +Count = 11 +Key = c33d409a86e06e7c5efcd19e4004dded +IV = 388b66f45f69356bf1fb1bc9acfe01005d00567255b5f84af0d0b25de4a1012316ac756c74f0944e8a139dcc920bef6eb50f1cfef5a278e745288e0ed3a303926ac80d287527a9b36f039b625512cfb74b68e7d0cc29ea3a944642dee35b2e53cc8023ef06b7243fad1eb1f023bbd6b8ffaa20be6ab3e11bf9549d59e6460731 +CT = 9d739d6555d66bbaa7f27a04df6fe00caa2e7bf448110388d44ccd527cdb4126 +AAD = c311f07650d751227364096d29a5c1bb39170938128072bcfdd3a2bb3ecfdb00da448764b40c38ec23d852bea79f1f4e7b5ed744eeef5cf8c8d797fa8cdaacbc42a45c330cf8d401b54888396915ccc603dc34c9f81f7f9ac5d2 +Tag = eab66addb1db35509731afdf9d7ed66e +PT = 858cb9f281d0213c347a41b00bd740ef8c3e4d59f2360ab3b3e3c48d050f37a7 + +Count = 12 +Key = 7f72e829ff54449fa1577b878b94ee4b +IV = 5588a84026b5d8360bb4a7f8daf1d7312f1dae4960b3eb8aba733501c32fef9bf42d72e342dc5d8553aabb4f6e93216d0bc6fe57cfb11cfb924d8959e6ee1eb320608ff0cf725bd5830ab3a4e8e2679cf23612d415c71e9ebf010ded9f827a9d2e15ea971de3902a7641cbf98f4ab5939b4c122e5ed034e56b348e23e26f3ede +CT = d81ec60fc2ed052e3908fd632da634f987704edbae5f4e858f8ef7bc3ac54900 +AAD = 3421c4fc1aad9825eb2810b1306c00aad0a61ff976bf3e3fe60fa9ef5af482bc6c30ef79e0d431f743ad7188620ff30db25e06df25efefff4887bf6f24225ae28ad981929dd1e4dcf3e526fa479be62561ec5f4dcd3dc2302271 +Tag = e2fdf6db715680e3aa219a1beb28340d +PT = 3eda77f747ce3528fbeddcc1f75b17eba73128f2c3d136732d1c571c4aa04458 + +Count = 13 +Key = accaf65192867a2709825914214e6701 +IV = fe7fbb275da0ca0c76af867bb282d54eacb986215f70e5d059f4ccd9123a3c84263d40418ec79b43b12e35589791315f79ed8c8a4ccc996242d7ffc7812d700d6740bc4b4dfba94037f81178377c6c9d21e984809df5c69aa941667febf918991c6c13245e8841cc0696b9bd107b096e3fc66b1ac54fe4ab2d4b861475f22a18 +CT = c9f65266d21baec028a921be9b7967f7d96c8189e99a4ec6d8980d7e36385a6f +AAD = 61380a1580bddc74dbceccaaf8b94d16224b678b944bc250b8f32d1e365aa12d4e2aa862fcc7514cab54a6690ebf4716fc91e7c06a6f3e7652c939bc87265eb06322875cc81c7069a0cfb5aeeb669748d2ab2702a1469ef6a98f +Tag = 8a5caad213a46c552c159c6b6188c37d +FAIL + +Count = 14 +Key = 32bfaa393d10ae37aa4cc0a93f92390e +IV = eb0ccdd0295a29eec4d1b2e80013108d903734e45abbc6ecf8cd460f8dcdb3220f1a052509a608c012cf16069ea1959ae11b1e81a8ab6afb6d375983292e97e8d74a40b18aeb803986f1843a228d9d08799595170c8b1374ca367a29f1e7e9a66ebde4327a68d3553290b766f84ca3b1ef754b399e8469d6bd926dc37e266831 +CT = 8a68a722fc14c51fa3541f31df9cb999b0b85c5dec5d63f34b203edc2d075091 +AAD = a4a2b4b307205a7d749d1a1d3e4d1adb095bec5558e5fb655a55032c9fbd5c02e3db20e776e3cd1da077ec30a5eca3d2d3b719e5e310c2deeb4a0ab47f09fa96b0b10c2a8af4398fb82b8e8a77b334b276e6c91f9d8f5bfc4fcc +Tag = d327f7c76f0cb829732f86ec72c8b727 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 4052479c5790b62a8d0990d41403f282 +IV = 6638d82d55da738f63377279dde7469080a21f2350973eb57505a8c07a711c1b4c11eb224c21c5c526ed964e573bdc06d30562ea6bb66a2920f366501b2946f2c0274cd5cbe4aff0acdb2a7961252dcebb9b8bc1d0aea86e27d7784047018583f5624744cb135050e022a3c900a1833fc726f8d076d3a2a3c0912e02d863de0a +CT = 38c4da2f6b13c44d8e239a6f1b9d1c1f963b40f3ac09da4e117afd467a85b99f +AAD = e3aa39c7d115867522080afc8175574cf92a73b689e23916924a5f7d7b5525138ccbe8f6763483fe1e2e2f334d0073fe39264dc998cb428c374ad8480f43217c4bfe9e429845ded790fa83b41e7bca764a865de470b306d39322 +Tag = a46d14f9efd580c177f5cc05bf8e36 +FAIL + +Count = 1 +Key = 73241767fa450ce2827125f3a2089412 +IV = 04d4801005c1a55051736147ab9c0e5bd87eeaa06995217f49514c7e8a5191876664b3509b51c78754f286ea3be53364ed42e8c7f09de99a472ec1904c66b2fba22204710d6e483dfa7d48056da0af7959e126c874895fda640707218078587b97a0569d592cd95c70447f8597d1b2eacbc4a3ce763026f45eadcb10f3d1d466 +CT = 6af9fc7af88a82ac560839afec6074674635e974dc7cb5d473f166413ae035ea +AAD = d7bdc94520fcb2feb76a6c8a94af6e60ac4b08cd52afd119fe98232c3f37d23b523a0e820cd33d8576b525c6a120b33fea7874413c259136d4ca408123cfe614af8be91509372daafdd4b37b71f46a88a3425fe5446d80f4af6e +Tag = af46b4a12abf1d887deb99da39f801 +FAIL + +Count = 2 +Key = 653e75c2d7d1838ed4d7261d2560cd79 +IV = 701c7f792195708a5c1ad4ac4c10d67f27a6efc45a6375d0d752b4c7d8012523d77d91f1af96b3883b772d12ce7dda6b993c6d11411e05a1333a3bbbe14baac4c3b764b36d1566556860768f06e17c3aabf236685f889b5e8b5604ffe29d35ceb564f3be81753ea6443e250ea5cc13a37c1fed74055840c8b5e2bd33dd5193f1 +CT = 53e05c904607af68c8e6947e293ef25844ad12da6fc8fe01e41aeb6639ecf660 +AAD = 235b873461de92dfbe466f8c5c563e2082562edfb83a986a75fb026d7263e57a1fb10923aaddb5a1b0d3a9a4390cf540bb9563a38896382a0d1b99ca161a507a99133417fab63b73ce927ff9d83bb96bb25259cef05ac168254a +Tag = a9aba3765ff3ee483487a22ec7b06d +FAIL + +Count = 3 +Key = c6517b4b8e1bc9caa1f08d6d9c836107 +IV = e9c61fa5548c75e1f63d7e8fb984cfb9fb01014fa99b525d2ac64199455b3575e12913f3e5160a56859e20efb6e315511089376f9853b8ac766cec256015caba35f9d362f1a49979ae2161e5e98f5e10b078ca8c930f9bbdbf28750d8cc3b49fbe61e9f3acfc4d636fdc1ba633b78873882c81bda9f0228585e4ff9cc9f50d6e +CT = 48174b8122a9cbf429cbc7f8a554491b0aeb1e94cc245ba908bc0a6aacef6319 +AAD = 22143bf78e83ae04b6ef3a9ee7ad4268da9a85b88e3cfbe661d66af93e0b4f307ec307376f4d262a7bb2ab84d70d497014648eb35a882bfa3c21b06c600e3b01f4915a8180e9b975d06368f3e56e79ef90488b47ac1d98d02496 +Tag = 25ba136c34f2b7ff4600e6527254a5 +PT = ec62c9d59a578c47bf114814615c020e756523c99775ed0a55864abb9e3545a2 + +Count = 4 +Key = dba2859ffadff9ae9489fbbd735dbdae +IV = f782bad15601772c5c388ed10eb0d9a9b9cc9623bcf15031973cceccefbab800f1264b24c2e6fb8f1a6a586f40a5cca1ac83bf8e1ac9cd9b9996c9c5517affdd64871cc449d392b70ae99d6ed38eaf1c1bff4531329af68442b41d789d7cd92818a30ae64ffd7e465743b1b50cb5c0b45b4a5b0e53dd479ecda1cbe1af699ce9 +CT = 3263efc08c2a6dda25484569da3eeed5a756c8680a3aa9f4e1f4ad293f2a2d18 +AAD = acd5764a742a9e728a6476d11a674b69126ebe5d7b0abff7b93dce623a2a25e0fac64d58ad607a9b6ba5cc8ef06dd1ccfe846d29bef9c478520f927df0c3d09b9535eed03231f63227a832319b1221c3c41b7592c27b1f131c66 +Tag = 90e8e89b26af26b28967c4d5a870e2 +FAIL + +Count = 5 +Key = 6f3b2b2eaa75a3b879ebc59e319c1916 +IV = 08525caff4f3478a0086bde279eed6b636dc797101f7c2d3b6ddd54baf93ddd5022d4ab291d593b3458c889840e365b7d8f7b322eb48242947c8a5a7901199b037a469ef4e8ad6271f40044349b9252ec7157e3bda24689eb956b965b73653e4f449eee92a4e8f8b50ebe2f45c81aa61cde767e666849ca48665c3c20bff495c +CT = 299921c87e875dfb53c19b2dc57134b569824cc7d450a55af456534f093e0290 +AAD = 4a6678fd5bcaf3122fca49b2b9e4c201cec64ed1cd8f45a63efdf5b2805741ae4374473b4fcfc65313acdb5bf6f835127f127ef66a13adcfdf19de45d453e5596bd74518f8654e22e1fe6e6f7f8bc16bf47a6a7c570314618442 +Tag = a3c7736e7f2e8981052d09a2ef349a +PT = 694e7aba646eca0546478f24bf444b772c4a41d0658afbd0c183a0da38f93861 + +Count = 6 +Key = 9ae54761f2858705c31f61883164c4cb +IV = 8af8ee50d075a59869c8e44de77051d070b6693c5044803d812eb0f0a90132aa9703c2ee6d3b1421a789db8553e35cbb413685f48a8106a09b5d33f0ec9096f9cba5205c8455554e9dd7ad03b09d9a7097ec9e7e5a9e29104c4df3627e5aba7ee1018ac7d80df77998c0834be3de55b3c0f89b3d9d0e6134037b1dfeb2798892 +CT = 341296b52e6037b4c8da8cbf2f9628e2157ade3c6cbab9626c6d2d0908156b82 +AAD = f194d527f9ed1e4de7a364b213e7fa007be18e0e27cd0c2c6971fabea8f8da7c08117126f455c8e93935bfab1cbb6e37c01e4c8f90419d8a0cdcc02cd0464df10094fa60312d26bbdf98179068f3ae685ccdb1c3738dc7efe23e +Tag = e8e5b433c1235e1a078a9d8234a50b +PT = c2017d03d7379f9dce433ecfb82befe8c5469473c47587652bbebb3fa54d7ad7 + +Count = 7 +Key = e4dc85600ef0079184876c6135fbe08a +IV = e0359418167331c5303b21d9dccaf7bfbbe6aec3542635ff3fb56d99f24ec859f05fac90cb1ede5be482c08d43ad752571dfaa076ef56eb8afaec36c1f4bf64a5d3e9e406aabfb9e57f2ba4a6a3e90b5b80aea2d9a36cc5b69191d37555c51dd8b79e7bd1a29bdd8e263aa70e41f2bd56d93418c042e27e7ddb436c244c8c8bd +CT = 5519a28e7ece93cae472692d3a40d49c8b4c6ab0aaf358adb75fa97ca7b58a35 +AAD = bac35fb43b28a86ee4d62ebc184375e0b62fe54ca38d1551b61b787e2a1fd5dfc024b99bbab5549650d70f2f505ad77330273e5d3def40ddad4ecb7009cfd1985380648d6da3d5ae5dbc8e548cb60d082b156b7d96f4bc9d0e8f +Tag = 62ec66bd4cc86ab388a14f20470527 +PT = ab4c5a3c14091c35281bb3987f09cc65bbe85ad0da5b112ac074dbaf00f63afa + +Count = 8 +Key = dee7d52e788e4009e5dea6e5a6c6b059 +IV = 0a003fd28b80f216cbf4aa24fb42fa590a75128e9e77be62c4df22c74d53cd8b25eae61e8f2f7bf6e7aa04948fff74a8fc55b269a994df908d0709bbb75cd42d6fea3d1f0d154f0bb8b73855c4e526845f111c0f89ebae06d0b2074c568f404e8f162ba5c1e2cb1fa308f4cf2095993d76949db577fc940ec7d4bde82951f165 +CT = 9d9a2426fed0ca7b616af936ef5ed8523a521bcb04fbd31a0463681a604cb2f6 +AAD = 8bbc30c434f5f0780dbb6ba6de3063abd7d8a856284147cbd3548fc7e2e3bbb703d449de334758b7b84afc09d788d7b295c21b9e00f5dc704d8cd8dd892d796052b387b8f23c7cb21e2578d002ce6e318d8529ca2f1e0565e700 +Tag = d6830df1bedb22bdc8394ed1dcf90e +PT = 03273bdbd9489f822a15ec1c2c3bdcfcfd36aa8089e681d800d19bd0fc9a46d9 + +Count = 9 +Key = c12b25e0a244f2892a80e3b03bceab9d +IV = 20c58b2275afe219b46050be4f4c6a47c6df1f5f79b7d7625aeece4666a5926995c51dcb7c912b6f82cf7d7722faab69c284b6c1a233f3337ec4480abafb4ed30361793f994c98b834ffe83fac1288285ca69a1af8df4720c6da4fdd6d157c947e1c218cd72cb2af7641ea7a69173b626b3fee982fe3cb0cf06611fe0585e209 +CT = 8a7b60976f92098a6227667a0469114d9c88b2324eb3f74abf03a2e42e750ad1 +AAD = 219730215664d49357dda91e29a76188da4e0220f1571abf9a5c249d892637e3544a2da39791200271f71be16b2a6a17908923575c35da0910221c7da1e981b1f731aacba10b219e51bcd22509e6b2d63598feca0b76f7a5d1e2 +Tag = c70e326ba7218b8534507e97598214 +FAIL + +Count = 10 +Key = c572d310fa13db99f43d55a47bbb6dce +IV = 305cfeba71160b6390f2cd4cc5c23fef0f63f46abf57a883f9a4e6bcbba7e24d32a94105f6f07736ab18669300e1cdbf322e026485d869c2780dfbd72ab4806a3a62aba600c74f486aee6467943a67723efd4a80e7495777311c40a9e5c5dfb22760edf4529b786845cb7e2b4f0a5afad2e76ffcc6a64ae85612b183abbae054 +CT = a920accb0a4bf5b25b6431ae652e554c1fc9112f180969020b3954d35a468ad8 +AAD = 0b797dba663595fa486bf8f31227f18ee1a0256f1cbb7089d6d12d4f76575abc804013a95464229e0081cbc539ce0c7f3c1e022829f58a4d204b44aa17fdd5e0476626ef2b335f97130b08ad085b67ae1893b1fdd64e5fb4f3c7 +Tag = fa6e7c40926a96fe245a1e1856b3e3 +FAIL + +Count = 11 +Key = dad4910ac7d92e33324140977291daf8 +IV = 49287eb89440afdf595a7197cf36b58326360ecd9f4df3453a758967a7bcd019c1977037746e4d1c0ba5eee5a097e15bc3b1b7b2cc2eae840790355948244d633a51e62495cbbc1452def79beae7760fd1cf36c880ecc456df884e4eb7894e9e70655649643fe7068a3ad8ff168a431264b8064368736dc6d3de852fdb943261 +CT = 964c3a08b79cd6c057b64020d5ad6797db0e739c8ed2245755044dfd82dea8fb +AAD = 2ca403c2e178ef1ba0ead3291e14cf16eb159f0d44a474a11ca5e06d7423a1f43491a508dfb46a87821ae8eddccb8a84a363ee4383bf1e39bc55005c1359a6b71ad8761f6bbf2c2f15ae823f726149a204cf0ac4f58ece3011e9 +Tag = fffd5b81306dd2116a62737bc690d7 +PT = 84674cde1bf69aa1b35d5ea78a71eaddc97bd897334dab4e7402593ae5109e38 + +Count = 12 +Key = 5e1414f41983c399d53d1659626566b3 +IV = 721a21697d8165e3aa3afe3ca91710f4d20262678ca9bc5b5a545b4fe7d910decbd2b69c7441cde5c12a52075ca493d59672a80e45042308ccfd9cd36c76460ceceb8bbbf5c4354c7615c640065d1a02ff1974213923271b4d41f065391fea2972a019d0a53fd688e4d063477fff1e82a030b7384cfe2e4520fdb0f4eafa32bf +CT = d38e290d9429c45f19f33318c78066ba2c9b12cff09c10569aaadbe0786ddc48 +AAD = e568a6cf9b41d33432ba33418d559997235f050a037d1a44c673231c442f124afe9aad02b74e2c6b7479e8ef6f8b0ae2a320fd7cdcd1dbb49a4c274113df2a21e5388bd3976e2181f3d2a25b8e9bff3b65be6a6e0e5813badd06 +Tag = 1fac6b6479b42021a1ef964506f375 +PT = 575f46c14da51f81afbc7657dc0ae911fb56b7dcb6abef0d4d2716d485f44049 + +Count = 13 +Key = 4942fd435d6b546595b1afe76b7076d8 +IV = 9d033be2783513afa74b0c4f45c58ceaee35d9d4533e3d609ca5dbb19fe9e404e10146d168ec97791e01c292349b433b30bc81d85e5ef1f7551d7849b5dad2502349a0999e11ce6634230a3d4aa0f6eced000a3793062d4742016a785dd9a8159e1c5093d811ab1ab6ea71092de49f103f0684c395a055f30a5108c6b4a00322 +CT = bb422626b2c81af670ad7295fa113c550a98550b45771100bf2f4cd436b45e48 +AAD = 848f31bbecff8df9e554f14a587874a56e54a97f8af97a396e5c7ec7c3241788227d37c8f2833760963d9c05ee1434001ca5465cf3eb00c3d24038ece361e48e3e661123b948494f0e70af46fd3302aae095c44c64b07c2b8720 +Tag = afb8fdd26110afdfc39ed749db15fe +FAIL + +Count = 14 +Key = c22a60422cbeb829ed560e88e7a6ba4e +IV = ec0ffd72e18b03b44d1e7a62defb070fdf9f298b1b9ca40e6d35a52ea25a8d4f046ab75b2af5afdc4ee4e5ee7d1c06c7d8fd0418c5172580a481a39384165d03f9d4fe5381a1f5fd904300ab13a299c571f6e6f5541a69649b1a254c1ed84683921f3c5aff3139ed7d6754e58f7976baee853a1a99c5485040e31b20fdb1baed +CT = 030cdbd6dbecaf8d634ceae0c5bc3b103b765e28c2cb6cc0ac801802a598ff63 +AAD = 9ba4dba2f0ae7509c7404f905f7fc62ef046196b6e434f3962f2b8b67b2ceca30430cfdf68d784098d18b1b6ed58fd80669d1936fbd36c57bfd617a04da19a5431f829c542222465ead5e2fee16cd8b47197b232ce6a92349cf6 +Tag = 0d0623db7592dd58f2a925fdd5cdde +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 20df01d382bfe114a2299cf4b1929d0e +IV = 4d7c4c003d9dcd5d0e87419b5e9cf689d7b393a198e1e7d6607a7f53ae42ec5a1cc74fb938ea09f4d2962bfe9b14986bf7349c3e3f481d616a96beb62de3c73430283c597fcc0ada2e30b5ae49d602758d3a77de43dfdadd5c54efb06b70b5219045815ef87ba0864297a2f48e8030595bf1408e19e809bbdb4d6ff1fe780153 +CT = 5afd8d1a59dd7db23cac37d720e486c1cf88fe3f144c6d15f1bebd6099238530 +AAD = e9fcbf253910a272ebc8f67b27f586e56d058f68218b26370651577c5f5ab6b2b51e396c95c1836b871571f27ac63a7acc246182231f11feb0029f43c3406a6f23aeb071ddf47eeea6fa96e53edcbf75a17447ed4acead3ed6d7 +Tag = cbb46a1247b2b8ac55152e188ca4 +FAIL + +Count = 1 +Key = 6e21711147dce7cafc59bf364685db4b +IV = b2c89b954d2701d2b98a69509ef1525cfb9edb66d517404c62aed22a32efb14e87d5fc6dd6af0e7aba56fc4f82b04a67030ab63a5f9ac4f4c068297181e4e615e8f0acfc9e084d11b9e756619befc6c17f0749219c146963b488ded63c39bfd901ea4f17f6aa9dd0f687e5ace9875b5de7df07cda5bae242abd789741125a655 +CT = fce1866b3cbfdaeb757288856ffd958c4c3ad1b932f2ff879bf0d20b63b065a9 +AAD = e7344a0ea2898c30869389a88556fd4033b487495ee707c028c9ab3f5c0df9a0807f2d9388d327c55478f82e5ad6d1d85736173d32ed4e343eb7663998e6db2641acdaccd208b760eeb5269e85fdc7884f92a551eee3dda93a2a +Tag = 939484f462ef1babe4c7474d3472 +FAIL + +Count = 2 +Key = a882b131c327c2366048bb0a05f1ebe7 +IV = 1950bb55eb5852778d9481c14755d37c0a672c19d7d41850fb162a25fa0ec0a639729843fe9fe9244148fb6707e4bf0370dbc26e9e495450e060412bb8c9bac41bb24e4264182901266094d9d31857ba68b1f58f2cf1030399938c6efc2db9c68887abc8cbce3727da78c8a48a9fa9207b0cdf80fffee0ced23155bd5d710511 +CT = 186ab316603397125769839bd8e80d9d9f2c14a15882ad16af5680f8c3e934e9 +AAD = 8e5ef478cb80199e81bec70a670e8839ec2622a5e8da810ca9aa910a908ce47f04220ed464ed26b21b3cafb2d918d9c38697b0db85e58f159de8dd9f0d5cc464e1bf48f355008cd42f5d351094d8ef928a736807f112ee3e996f +Tag = f953d1fea518818730687d931f5e +FAIL + +Count = 3 +Key = eb8eef65e8b9c97316ecd9da472962fb +IV = a56a6a832352985be8fa0b0937cac29c013eb9233032db3f3977ca7d770739756bf57d42084f9a5667a0cc340b9861383f1176f676e75a543990e7530de43e46ccc860542cb254c277ef727e3a3d2f7b714ff345e634639385229b14994530e20cf586ac4e741c299c9741589a7b1ca3f0dd145f7404fc499b0242d01d099f26 +CT = c4f40cddddda683e14e36e68b6c9d102ff4a01937246f76add1c1aca2725d2cd +AAD = 10a8f2ac86914dced3e9ec93c6fd2cbbaf7487b7dce17940ccb5bbc8dd6b8f8717ea1ce660e5516b9e41a64e8067d58f541fd9cca20bf944dedd48ebb4e084a7234f6211858d3e2c8e136a2f613d3161e6c88fb6ad33fea1b92d +Tag = 01c8c9b3a07861fc2b74cea8d17d +FAIL + +Count = 4 +Key = 095f4614da9d34eec218aa0bd7185813 +IV = b1e3da2e1e7afc9cf1550b6e95fdb9282d89180fbda3f42070dddb5cdd730c37e4e6c2b8d0cab69ef9300c45fba4c7e96719d977e1d7fd0f36e9b5c69ee4b1eadb1779806ec5b36657118859580a37c9dc64570c7bea357559dc7581a7e93d45bb45e84a5b5d89e43320ca05ac32f61a1cfac52eb33dc22e2202f656bf18cfd4 +CT = 36735e171e8de3e7a30cdd70fb6a97dd3df999d1a0dd89f7126d20cb7bad6208 +AAD = 333b04d12773b1110b07f9ef7eb9be7c783e74dba3755843b3c14dfe7ee35ca334342ea6c075bd2c94f1bbece4a005eaf24a108d652889824c46da77c17b1dd25ebf9f25edb2bd5f34fec1dc73cbfc9e8412600ef91887017feb +Tag = 0b5e96fcf8e7ae2bbb5e60b9c9c4 +FAIL + +Count = 5 +Key = a6d3eb76b3a1bc42bd01ba21d2cddee1 +IV = a6eb0989beda9f867f0faee6aff6fa0b1e0e795be605a654eb280067b11a6f56fb620d7c1546cf37f9c091a058d92d1fc60f3867207d8debb69f353cc97b30123e1abc4c15e79179dcfd6d73529e982745385a1c0ffb2dfb1d32282786d9cc7f9e79bd411b806e028c6c906e2045f2a5f1ce2fb9b9eb4662689e553891947a4c +CT = 309836185d1be7f256444f7e0355e1ce3fc76a6fa3ffb3e8d6409e5d8326807f +AAD = a24c8e886fbfc5cde6926bf7ef611d1710c14ba2c0a335bda7f22052b4d53a6841fc807eb52c464cde272aec54e8042f8618c0de04bc399cc6d971d27fea8c7e7ead8bd0c6fcf6f8b2c7da17845ba8417f71316e5641a3bdd36e +Tag = 51aa46279287c2614937dfd690fe +PT = 33d83ddb0fd419098f400a55d94e33a13324ee022f24861db37654ff6a602e2a + +Count = 6 +Key = 5ff92b33fd58b7802127c4534993d95e +IV = 69fc34bf8f8ea9aab26b08c277ea95b56d0948d5fac04046da2d68640d1ee55b7c824a486a4dac02401b4774317a77ceffbbea82b4f79bb7c31f5bb85b8856d08af59ba7257d56592dea10ea932f082355bdfa5f8deaa68a1f697cdf7678a286feb198a68f586a29430d19df5ad6a9240bf0ca690e796ceb22d6db7a9201d719 +CT = 54399876e03cb34d4d9787805c4396ef9abb04b7bfd9ac3786ed8b1ec08c2529 +AAD = 4060221a63fca8c45f80f799ba085aab58af6453466743cccebc17c45c512736fcb8c1c99f91a392764632fe85e22bad080e9a56496d5e16cedc05791932d7f06768013f911dbad4a759bda1dc79a213fbc34f82d2da38fbf48a +Tag = 38b5ca350a2a671e52dae38803bd +PT = 851d2e8b677c93ee857842cd922ad6dd7a006e0f65dd1dc98ec3d6670bcb85b5 + +Count = 7 +Key = 187a19c36698924356f5a93a7da8c6d9 +IV = 411cac81e02d02d0fa8b7a59a66153a770b8c3d4dead75b2210b9a7d8d6331263e9c801bd6003d38427775af3ff762dcd5a6964b007f9be48cad72e9cc2dbf071077f2f6730251ebe1def2c1750f1517c7ab1c7bfe60c895424ae17e7261ee0b0a8a1dd0f23104381901ea5e696cb5c5b1b8b82fcadb015fbf7a28246bcfd290 +CT = eb50a7818d379f9407cce8efd21f77e8a2dd771968e5fb8f9a0d4dc4b732c82b +AAD = 57bfdca3e590d37bbf477e92dfb690194fe0f0f77725c5b7c8439c20fd3f6a12dfd14c37f826f9a1aec58a34a383af77148348024eebe722161bb6804a5d64bbd33b9eda957b8d287d73f5f5d24e45c9c5a8b8a5089c579bb4c5 +Tag = 6badaa6fa03bb3d3859be72d951e +FAIL + +Count = 8 +Key = a9b43b469d5e3aaff160fad3bd123b1b +IV = b9e0592b5c576e644e00d778d5d56a87835e1da4df876801f2653bc64169d5d7fa51c8699006140e07677c758a52740b0715e0d0da9656cc1a4e1fddb27784b681591cfc66c52d3d24a6efddac60e2d2b259df60672dd853997037302d5fb5c6664b819b1f2961a6b345f208972cb24bf59ecd0da31a38626550e77ccd807602 +CT = 0151926dbc368b07cedc1790c2870485fcad55e1e551d2f35c8ebdf02f199864 +AAD = dadf0957133e003cb330049b3a33114f761ab8eca4eeed510fc66626110e8957f0024dd76656917f767bb22a1037cf7ec42a83962b02ffce7636a9785ddc0dc54f46d3c1551097dd52a0ce873eb1b015be81bcdbcfdf464181c8 +Tag = e7e67c38eeffb04ca39c0421315b +PT = 0fab3eff24ab7ab663efe3fe896c8803ee52da3fe15191fda614f4d3a5418dce + +Count = 9 +Key = 5f26f6b518bcd364bad3a6722fceac4e +IV = 0f08e6dc895514b295a67fe135df3fd3e5cbb47b759969de9454d4f5846f3dc7506addd704cad06abb3d9baac1ad8c1de007980f86cfaae48008e62c9acf11035f9dec8f10420c841697bbc90b9bde2dee5e4da755551dc178f2f359dd6fdcf217ce8082659d5d990e6f7006cdf48e8663fd3547ce68640d39bf46e51967e300 +CT = 70b0d7f1ba2a07e83e2dc838b41290d8100d1cf3cffd23241557c26835e4ede5 +AAD = 1074cf9b58123dada8042fcca7b9dc09c5282304d03a4c2dd0d77f385ed0f77d299c79bc91acc44cb3331f1c6137b92ab61d7d25109a1793dc8f26f2e4ff779023680d378178cf1974ac0db62f94e4277cc941bb7ca0336761aa +Tag = 485eaa887a2887829a40775ee28c +PT = e2be7b908ffebb66e169620f56cad57451d53dbe49ed4fa3f27821e17f47c96e + +Count = 10 +Key = 1f765832956a6f0ebb117f61b6e7442b +IV = 0c94860b923c4909e2e3e8899f04d48b8dc845519af31f910ffe2c9dbc6d05a7cdc191a25e5d83657bbf5404fee2f248e81d625d7fd8a24f14dcefafd778d96af70becae4d2f36f4cfd446351e5e9e8f66221d7629698ea14683059ef975d37657cc5b57f0ebc062bcaacf7a756a6d182c5fd219ca0fb510a2e7de6e127f37a9 +CT = bfdc2ccad9257ce3436a0898b960e9261c28cc556a14a22b66bc05988435b5ba +AAD = d9757427b4c4ed94c170d405a78400624d4f55e3e04434a872e06c8add5417bdc3fd35c5ad6f23b09cbf10be200c1ef4bfefd634a61f8381761a6a5acb5873f5e4fce5de32421c0b88a2fc93bf96fbbb91e00f8805ea70ed7c16 +Tag = 50b3517051752efe3e7f8e45510e +PT = f67ddd0734fbd7f908707d05d2f3266d8b3c04292f8e0656587191ec97797056 + +Count = 11 +Key = 4265d00d86f2fe18d85c6c9113b15d2f +IV = 1d7b15dc0831511acbda1ec61e1d5e146e908847949c1c21338e06d9cc036f31227805543f218b509e1d98b842e45fc426e826887a71cf99860d7228f3631e5043305f28cc19a5a004a734a9eeb4cad999071eafd540d1c993424c1a15a959ad6a735ae294b17e2e2dc63da1f536bdca4bc986a9e9aa53ad252524066a270270 +CT = cfbccfb9da8c139db4a77efb53bd029cdf20a2bc4f569220838b0f414f386f77 +AAD = 4715ba7e12e87cfef741e61f7ae4a8c6f396957c9dc0ae8b5c54d917d61bca729113c009e7ee5c3689efd5983ec9a2beb0624254ca88e2947fd2520ed0a6ac61f6e44bf4c6ba624d5fdfc6180202c4aeb63ac2c2e95ec1d3a5a1 +Tag = dd6ffb92a0f19c7108dfd0be0514 +PT = 3539c3cdd720e49470cdf4fe4ea019b32de8012fd22e1a0f6c0f29ebf240130a + +Count = 12 +Key = e6c98503336229874ec77cdda1bae534 +IV = 806e953718ce925401d29edae58a67380a4f5f10ba0b09fbc27e60a45c416346801c37a67e70ea4bccd4399810041bb7976c70e550d4281aede89fecd48cfff9de52b1c42f25e37ed23b65dcfeaabce839210977f671260f4458f5b3ef3ecb7c8cf2b100232a5cd215b33d0b5f057c9a531c1eeb2a1189c298331e45a9ee2eb5 +CT = 58b8e9a7f857c30b424a2be5a42d4ea7e364df7e514b1b2bd77edee4d0093102 +AAD = 44758f3f9f9b1ee5c45b1518eb892f54e722324e21cb48df9f0b19841e95981871609e37bcaaade061469986b6201dc3b39a2d7735b13be9f7060605a4b05012b1857b42c76aba5a817652a59c3a485486ca4e2fb0a535baa93c +Tag = 2c1e1018ae5724bf8770036843b2 +FAIL + +Count = 13 +Key = 08406002c835a27184477d195af475c9 +IV = 082d454a0037616c3b9fddceec32b1a66be2a6044b7652060b8671fbd760c53d838e6d77c09ecca3c31331c5c1dd9b7ce06021440b15ec1862f69f1c1c0cc58d1c63d4f7a49d34b9e4a9d70abee22ef501ed7e14f02d9a56a84f7a7cf23a89e8c72ccb7a1ec67f880825bc5c5a97313c30e4f68df77d99af7d487379954ba6e4 +CT = 67b4a96060c76e01007eb0a3173dc2f244fa73f4ead52087bfa76c21fa98cdac +AAD = 36131403f9f1d531a370456933dcf5e17a646b34cde50810f6602b716b66edbab1127a1b7e333fd3480d834c02be3e1f8f4c1764b0bf13a75c66d53c26d1e6516d85cfb41c3cbe44d5771f68b8a9da1c050b81dd124a3e76e117 +Tag = a649620987ec44c5d781a0c367dd +PT = 86cd8b9c656ad296e2b8d06df013cfad8d8e36cb7b376bfc6f18ffb495c1ae29 + +Count = 14 +Key = a09bdc2dfbc09efc797b07c21da7ea00 +IV = 4b0ac77e37c40a265a2ca28277e9ec3aabff9db00e846ea05755379099aa2ee82a4acfc2451f5e02386ed1820aa157d27c0e8af81ffb1bb8ce8037684fdd5ae0701ff3073462dfe3af5e319e01cdbd07eac6fe3164409b57dfab834b008dce37f647e88436621735facbb6743e51244fd963f76391de16ee20a0f319ed25cb7b +CT = 6298503d49cbd45be55849f90ed7510ffce4119faa381c562567dacce5dafa10 +AAD = 8b84c3f283d2fc210c261c592dafe556a878bf5fb5ba62ca8007d49fd468d39fae64b4fa6adbfb4ddc8859fdf705f8dc5c40ea62e7da98fd9514402e498af727c7e5556add6feb2be5c504b63af39dea4cdc66c2fbe3ad5669f8 +Tag = ad91346087b3a3b1292ed5591bf7 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 4053c8c3dc3e815171308a55fe1a386f +IV = 1cc1f324fb49bce76bee045261a22ef8a98a1c9f7471fb0e50e5e36f295e7c79f1d4574fc35a628e9e4fdaf58299b11e8a42da94fb92e6b64df3d3a2ea05faacf32490d08909b27eada9a0701dcc061afda1b676351f5746d23f29f55f42a4b12c4874a2d0ada705604f7ca74838adddd905e336a036c620b41dd812309a8c4c +CT = 5198c0fe1f99f938d9b58425e094bbe4b7f9cb63338f49526a6b3087119fb7eb +AAD = 1d5054fbec60f43e4e3c46f735d6f9d965a379da654176b725d446a3a4f8e3965fca6f07ed2c9e37f327b6728f7cbaf5ac8168534987c4c97f5a8a3a9e5ff93f135722f5493305d53e38ee89ceb91a055a296de92a658ae2accf +Tag = c8cc6c998ceb765a399a0104aa +FAIL + +Count = 1 +Key = 923a2126d132a269e2684daf5caec9fe +IV = 9398ebb5bfe0c93b1af98c00175b1e2e262b03431fbbb66ebebad0b2c002159da66751cb9283b397b2f768818982c2fdb4a91349dd17d77c7c835d48b3d15126feee6195bcea5a5873b337dbcaf6586aaee8b8def22e59a68f9282acf4863dc4225d87720d17e7877b2b45322346ebc32d192a976ea59982b7b5787dd4c74b32 +CT = ad9fc499cfe6a4775458a5c13d73b3bf0f4f66143c009da949df1e3ae023eb10 +AAD = a58a3d11395ee4d527378b4b4efad3468f0c04432d86896ca764c21b0ff3cdeaba7ba7603c63a7b3d36ad782de8930b373572dcbdc1045e4f40dcd1352f910743380cf97149f0b94fe25e451244a40495b6b67fea6b2b1b1e135 +Tag = 3b9a0bf1fbf44ed3b493e5c0c2 +FAIL + +Count = 2 +Key = 62110f309c01dea7ada44f56d9d690ac +IV = bb736161df27fc70a1d3fa79d997fc239426385d2619e4aabfc00b6bd6c071a7f657e9f891331f8fb73fa1bdff28fcbe055fe15c9dcb39d62712401ccc6f60ca54d5ec7f11826ae6787e0aba1f7e261dfaf8cab80c38a0d9cc7eaee85df452f4dfeab59da6383ac17738be22c2e5bf52eaa600b80d138a1395eefe3e652c599c +CT = 261e12989243fd7388a45d58e50712ab8feccece47b3629b79d39a76f8d0f8f8 +AAD = 3aed06a6c1e01db4d00b0ae2f9e759c2c4b0998831370b1a9247a825f6c4486aea19856b1ff89e51a54df6b43f361f0163a972505393627fb373f386ab7cb52597eeeb9982d38f6289e5a45b57e25ed23f40cf1516f1762b3a9d +Tag = 4ca8d340dab2912cc98bf1c566 +FAIL + +Count = 3 +Key = 10c53f4c13b853cb53a0dcf0e49df8de +IV = 3a65d2a3379be62c307d5e5709486c8f381ca66c88503afec46b78ca7fa2ee83c9915116bb96e76cf281b96b762df265cf164b484216147080bddc90f609089c8653b8657707ab305123deef1b0cd5e357300da8f3b442242cd3ea92ef7bc52ce8422a9066ee0792a477f1cc4534ddd3427bfda303feb325a5125a53bf167a95 +CT = cb278d3991311a091d4dd5b575703da72f3d08971dfe56794ae9ac1804a8e864 +AAD = 0ce45877d905ba351808cffbd7e5ce14a71b22d2cc739ac75d10b98a58ab2b496e26b8c413c91ac6c2e3873f08be9640e60eeb178cdf9305c76b72a6f7c50ecba03ab50974093d86d5b93cd73e830b07ce7aa26fe5f3b002c28f +Tag = 2c43efb989a23bb273a82ba198 +FAIL + +Count = 4 +Key = cbf13908f78415cd6ef2aa82fc472328 +IV = 9a2bc53b1208eb7b12542320830a9a01b691f9589722c48e573c21c8c3d735251deac771ebb166ca437b80954884c35236e415be5b07be870e525860a95029fe258bcca496e254fa9f9b16a0d015318e6cbb5c1544f6959421af710d02a74cc87da2a3955b42fea88414cd3bbc6d77e9030a6a36b388019dc3fc6d469e96268a +CT = 41dd9f8e09703e6519c957bfbb88328bda6e6ea94961665c2ed29f8d3b6619c9 +AAD = ea8af4fa996cf32c5d5560bf72cf1d50fa4f3a97be62d1a29df216f1970304cfea8a2734ff976f2d2878a78410e90e418500b63f07a7bdcbef47a35908693e01e7b0ec2793162300103ffc236fd64d25eed9847ed109d0f96b37 +Tag = f7de72cd94ed8ac18d6250f1cb +FAIL + +Count = 5 +Key = f1587ebe96cb5288d5f3dd936b2977d3 +IV = bb61c8195a19ee638d065a445d89c509440c06247e7822165df4f19ec9b4e8d1cb434fc3a3907f0169747a443466091fe5e62360103dbcf66f7e2b41a6de54076d2f5ad8ad668b5e894abea2cc654460ce2e2aad00a4c1c7a5ef2f42138fd813180b875770e60ebf5083e16248985463efd862e0b55683841dd2ac0c511fdbd2 +CT = cb9f1cf18cd8341d5606f6b3f9873e486f9fc350d84a75f43c7c35e3742502a2 +AAD = a29813b747731d6f9dd59373e74fb552bf8f15c5471bb68cc8dfc213c8af200abfe7f265ec3592e88b5a697447e84ba8ef8c48ce3c6b894ea2e842ba83e0a1cd60414a4e6092bfa1889fa08204e67025d8fe6b5c0af5357feecb +Tag = d9cda475174edec2d9139a88c0 +FAIL + +Count = 6 +Key = 7ff35be3e85d363fd6f38ff5c67404a1 +IV = 2969a36b45d52443c5cb915e66ee4b77bcde0db2243b81c1997e8d972641baf94b6d3780461b97749cc806a95d29af5cca1c517d428d52e803b010cc65b772f9eb440a2358c6424b3380280c768f5d3bd2388094062f6224bf7a1bd1f7cfc3e5e73d54be8b2511b9e3e075928fe2d19bac94f748856cd2e9782df8397002cbde +CT = 0db4fcce68ad5578ce056154f155352d8f28635cbdb249a8d2cde989f7c59f68 +AAD = ee381494fc9db5c2d17f74f2f805653e428e5cf57b8afe77399be0be2f44373def93a6369c66761aaf2b3333d2becde0e510c78aea6793a35979522094876326577ea91538b7f74bfde5e13a15bcc9434a040c5e56e2431776e3 +Tag = e1f6a4528084c8062f8aaf5f2c +PT = 31baaf7742fd07f80a06eb7e8e23bd4221fce86a85b9ab7c90b83b8d4d413ccf + +Count = 7 +Key = 5c7f1973ab901c90c544b82393cc704e +IV = 781b80605395bf7b8387c357bdff089f1ff4407d6644ab2d88e36b02f4aae600787169c43f17cabc3d6b94877d2d4f0a5ef8519980e99a07d4653e8c336f012de42c3903e833d5be1cc6d5097fdd0cb1d664ba32eb9ee628f17fd9bca469b10768cb15fb89e712aa32aac2c8f32a541cc9033250781e1dd21c992c632ab05391 +CT = aa0526c49d7e19798e757d192315c2380acb577e850e2001b6b2ae503a783b0a +AAD = d2b9fa374f64128a8b16c22eee4ac3f49dc07e11db0918e974950f8fca59655ec6eba8e0cbe15986114246325043bde9c7ecdb98333e7b16c8f106a7587c2ade69020efb568a03ff6ab02860f4546e29c85f0ebd54a09631fc90 +Tag = 649d3d2a70aa5301ac53bec8fa +FAIL + +Count = 8 +Key = 679a0bcb91b5c7546fb8c6872441ab92 +IV = 5c2366aa5bb067e31de3d5ea303d151162c3a7d712daa98161bfc37eaf50db3c88e5fc56ca405cef98388e3891b192d23291cfbd20e5c27c46d57c2b8b0904ffc7201ebeb609822385609e817517be246380fbf131b41e4fc382f42f308af1ada42ba0a99ddf942fb07be08e00e6e637485f732ad843121c02cff0948956b881 +CT = 97992fdf2bff61bca4e2b7ed2940989378639817125b0d8e96760637abcd5f0a +AAD = 8f9249712b4e710b6060672cbc234f72eb1e24708ef6284dabc8d50e20a98d09c182dd5d32e2fd289c7020b8338ca077af16621fc36d6133d1c8f5fbad260fdc851ebbed4f7b511aabf6c439f8b03de33573e05c59653cebee35 +Tag = cf381f6d9a7a0e403f217faa4b +PT = b6f03a75aaec5d6492413d618522cfd5cd0d85a89a78a7db94c02bdd9a522f44 + +Count = 9 +Key = 592b9e4aca9f04278aa1b8627ead3b6b +IV = 9911f597e61cdfc12b9cd576a95f5e03c074083703c75a8740c2d396346551d3f3a600fe76c8dd396d5f6d0dedcd781ba7bd8b3e14ecf953a738b2959cc8f69670f50f5b60d67ffcb0ad37d210581567a3635e70d9e881865de332747e4324c5d37c1a2ee2e5ef405580452188f9c5bf7ad00cd5f201c69232fcaf5fc9ad7e0d +CT = c11eb228e529246aa154039ee0cc7468f881b20079f51b025f0aad2741afd31d +AAD = a08b79b4d3951959096b3ec4474a4167693713eb5d44d95a297ce2166bfc8341eb362ad10a510ecae7d693c2134946bdf35725c2661549dc4b95b09ec56a3a589212a8c1dc69d93baf4833442b04d4831c39a5ec80d9eb5a034c +Tag = 719be858c1f7c57e6512f6318d +FAIL + +Count = 10 +Key = 172b5505cddcab060d341a222aa55de9 +IV = d10dd0cfcaa583c3131bacdabf6befa189f308afbcb72cfb9f8396d0f4d7eb60d3fe40fcad910465837dc184a0ff6a06e522f95fe05ea63971a0b430973a558f4ee2b956c7be00bc4a51bd6dc929c24afcbce30d616a90358f115229591da80c900f17e1c4ddc41d26af04423951920c8ea8654ececae6cbcf8adcb4b82829a2 +CT = c94259f4f4c09109baffc1a9a22c43255ffc3f1470b6a8a543a1fd83e82d1be1 +AAD = 8499a504195c2268ad774a11fcc5a30fb6ce3a73b439df78354a5a5fa1436b02f712a63bb75c2d8a85c2c54f3342eef1551741b733b89183adb65df304e041245c64a4a1be01995ef442a32ea89c15fc46d1160b74cec24b997a +Tag = cc5c17bc2fc3c8c2a75c3ffae3 +FAIL + +Count = 11 +Key = ce4b70328de6bd2188aba68ccb04c91c +IV = 7072c2b2b45412839a77b7b235679e0c388ada92eae1807be156e1253e643cab6cbb7f67e11d66d5d0a68334949898d90dcb51799c18e818ceb92b40dd2c28b30169896ebffd7b260fb25e1991ab298155aeb563c017c9b6013706c8289ce024a954991b17f7b9b2619e7233883a396f893a2ed6586b89faf30b6fd395249591 +CT = 28ec5bcf823382b24e8be697b3df4aff3b17cb7789cba86872c209c162188f0f +AAD = b68487253b0b1ad1c1c4c32685857a9e75324d053b39b3298bea64640a0302f7b5a6543f2250e9e3a4fffa59278e6b59b56ed11b9055f77b23d14ff75756d76a23aa3b56fa1219b48a6b34c4b73358ef5a1dd502d956ab70e8c2 +Tag = 7bec1331cd6033b1594ea79441 +PT = 2d830913928926e198508898400d2cbc2af8152b420f8977670d7637af54f5db + +Count = 12 +Key = 3e5c8cad13dbdd176ee9c309049b5008 +IV = f2a89f389143176919431b367c035243bd81970876ad95d1794e402e63d1901bf4ff81eda5cca71521a2f6774c5f8654cc0878922116873c4ab634ce600205f7a009e9691b0a4f30a6c063882db7ab12bcf689ef71fc76437997055bf08e4f50d94afc0440492b8b0d048a03055b01d8df9c582cecd6086624b031b388b4bc73 +CT = 2d2c09b0363e8ac061beaa36587fc8e8934f1378bae853432b41db6bb298c8f4 +AAD = 504fa9cc8779afb8833ea19a6bcf016aba59ad5a98e29f2c15cf6c742d94c5a6449b4d40f2944c343d13fbec2914879945df492e864a88a4271e20d916bee71dbed4bbeb29f71285e1f3267d5de21bf93a530b3fced744b52e88 +Tag = 35a74902c330385c13bf4ebe9d +FAIL + +Count = 13 +Key = 0c0424393ef3c3b6dfe4cb50c7fa277c +IV = d894beabcc32c1440514d3122d51154f2484609ac0b5713ebaf095b8d16818fd822a3fa1812a36e8587760221f254de220f9abb690eb2d6330d3f8c8477d513085b406e99af4eb6b86e87d464b039eaac1d1bd2cbc21432deb9b6334faa10c7b473b2dbf214a1dd28fdc4f3d7345b4bfd9db22c8703c909ed3f050fa5c37ff51 +CT = 64bd95599123b0dbf73eb498cc6a4747d05b0539cda4fc1794776701eaaec41f +AAD = 7fcc9d5293013311956efe62340783dd9219bb9ce37dedbac1573659180e7e2001cc02c6b4ad1d83b51b2ccd844b6226e025f04cc25d866a4d2a05e72cd0a62221ecfb17f0c257465f99ee922a3b36bd9f0e118fc692057fc09a +Tag = 7bd1ba3d127848377c4dc9b084 +FAIL + +Count = 14 +Key = 78de9e1b7ea827109e00cbc4766a95dc +IV = c7db5646e31c412e9b93a3062bdce9eb34eefa509054e1b7927e76a20d97123b3d695d7badabd312b466703a94166f1ebd48ba97bcee9174105e75d221856037b12f75e894e2c78a21fb34bbc93e366b90d34d73dde0e7a2d4c3f9e98b23342d8f862c698f32d34efa248cc6144b4bb20c28aebf1224f4197003751842a14b31 +CT = d6372711e1a8bb2369ceb02854a5f6ec5c22ef55cec5d3fba6836e8fcec00981 +AAD = b5accad9d3f3d2d0a5a5ed2634dd6124b9bbf9b7ecc107b0b51a6a9cbac22695a73e5a71149bf671b8c7ebbb902e261e4813ecec0835d21b81dbfc9176995a91d6ea0d1af56d2d6421831698e5c5b6791f18e33b0933c3c3b7a5 +Tag = 3a65ecd1296b81bd61782cd4ea +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 8f97dd5876e762e628b45a64dd416567 +IV = d4e6c47f2407acbff8f667696c0d47e5da2f6e5ed416ec09cb8472bd9d0c11c6718155940bd6b79ebc4d403600c289378d2e99f11fa0d1e5ce0215df0893a65e27d6ad413d0681cb2e83fa0f03662831a79cf543a7e287ae172d9fb8e87c34ecbf6dae5cb327789280feb1577dbe4a0f79dce9341ed564f223fc2c60edf86524 +CT = 45dbd253b693251018a97b3b48512792df3cea70e12e2526956cbc1fe8ec6849 +AAD = 1a298a7f9e323552f4801be474726d54b4603d6262d111629a0fcdbc6fc46eb198847a3337cb5513effa160442a08f52526b5bc29e2d76d3c5b598e0b41768ba0e38426c00fbafe1a340e92c2836ceac5e36486d30195f094e9b +Tag = 3131ff0e43bdf592a3f86152 +FAIL + +Count = 1 +Key = 7cdb229839600f12dd2cf356afcf14ad +IV = 2b1c57678bad58616c37426a9b91a17896ca0a1f37fb925d9b3627e12753979abdd843db18dceef4da956a8c6104be8eab82d14904a9bc9ef0390486d97af14a4055ccc4f2a18720406269d2ef9593590ce0266249f3a2028343c45bf5061cd85ecffd115d7f380d02ab83be71a00893f093f4abf5e2f35621c794146bf485ee +CT = 78494788603ea256a6e850698b890875f63de95cf1d6c8de7c723faaf173bbef +AAD = 157055ea89272ceff4bef4dc600a5af60a0266fa8bb0afd47c7229492e53e662fad7d420540ab55eb00e8af5cab3df59f8655f54482b03a584ff51b7fe252b622469d138ce5c4be0593687ae1513dd4d7160e82a208f2a6a6f67 +Tag = 8085f1f1ec9bea8f51c10524 +PT = 3583977333794bb04ca3d50e7dfd640809a712ba5e0d3907f468ce67cae57336 + +Count = 2 +Key = c91bc234e941f2cb602b8285f03de228 +IV = 3f2ccb432f56320ae6e87c42227e2a2bdfb994e263f25be2028dc198013f19d57623e3c7920f62657c0d67dc3caf5447880040ad0f6d0e0b4b42d12dd2c9d0be3a96289463d8f8e7e70a8293bb377ed643935d77ffc5dc097b605ddd67eabf78561884b7a242428d244551a8f4dcd969d41f1ce13da3d91f832a875cedd0f74b +CT = b34480ceb54398fde5ae91a5e05643cf59c8967712d8bed79d61954438da059a +AAD = 6b8e55478f63d666e6ec7457b1ff398f8e51a981b26c4303c15497c60a5f8fd1ca9d815d9319f6e98c9c768d9f0d3d2081e7f9ee24b7b6b106c1bc96f09d78980f00226f2fed7b2a9ed5d67e3fa60f666951074e40488caaa36c +Tag = 83c83482652527a6e0fea33d +FAIL + +Count = 3 +Key = dac172fd5b90a26043b0a67124af88b6 +IV = 5d2a7229322121376e2de6e7237ffea0f70ab417f2f2ce7004fcf026ed4e5b34773b86dfe4654afe9c490def06c8092fd19268642cbe53ceed64fb8e564d5097871878fff07c924bcbc20897e1b8ad92caf205e0818ddfeecc137f4d796d0389e5ec8a36960d1fbce81f2c92f05cc4b3b590ad7f3658f07a4f0d14d45d195b2c +CT = 4c8331242702f51968e355a85fcf0ced04534b104cf71567b9af5d32258f95d1 +AAD = 32cf4f482047390931d98401af34a4f56784e01ff47931843d8a9b22836f2e198cf741dcacfeb5ef873379104607cf4239acd52818dc9681d1528d8620b73fd836cc7ee0206764695db4e19a8bf914035c9ccb66942dca3542a3 +Tag = b0c39f6207838ed785c6cd68 +FAIL + +Count = 4 +Key = 4df097f3637ccdbe2c1bb6e1337bfbdc +IV = 288bdcc0bb6c1e8118217842cca0460c7169943f2334dcc429c42fd3b58d60133f1d83f5ca49c172cd38ce68b5fabb238bfb6be8dc8e61ed049904871f5fb100acb218867870768d06300203acfc86556f3f5a7925fe99073eb83181eec587adaf569a99ab44d2312b1e802c9782892e38636e432d430e4b895ac43d5acaa365 +CT = 8299d8046ba5662775d7153abcfcaee08b4f47b259924b6d5787444b51e8c3e5 +AAD = 154dd15518925b8002e6f1be9531f453a905e95b7e559887511c2d9b1151e224773f5ba6188504111b317d5895ee073de2be6709718f657e92124cec9430339f18a5201ef198bd2e64c7ed82ce1c0cd6fc24f1c12db95ef70a1d +Tag = 095401be1e9404fdc9e0af36 +FAIL + +Count = 5 +Key = 0dbc6a9798d0b9bf0a16522e90d57d89 +IV = 7f113075dc65b330af4fc8b30aef09310b4eee1bb74174e29f7567a0b69f7e47492caf375f60e7cf1953a9f2dd4e3f908c2e81b7aafa5dc8a02623378aabdb65cb66805994633759e9e023985e0fad00eacd2bfc0c76fe8e682712b3edd02525dbd08bfb865074598be291d342b1c6413ca7ccd1a21b6ea141073d3f96d98e17 +CT = e6609c38f2b702c3b523e7cb28dce58c96479fec4f6913c9fc0ec0696efd11f4 +AAD = 86bf34fee438a92d4901a7b91078bfcf7387db411f5dc9a70b6cbe0b800fb656c7b773ba174d66378c4c35e98da728bd99bf64cf169b725493dbb38a2d707fd4a588ecea832e0fe13ba14eba7f53134649469226a5064f8d82e3 +Tag = d208c54ecf29e2c324dbae77 +PT = 21867a7ebfbc9a59845f195f9ce9ad43a4ee9a16d07e9b702c91cabdf90bf091 + +Count = 6 +Key = a4de410cbf2044d2d99373fc5b569a47 +IV = 139c89741e4675e25af6178996a50de06253b1e2f0fa19b4885a40402c82de8d5c18e86baf5a5c2a1f276027de31ba0beb9562aeec30b5ded2ee0790f68ec28d6b80b7c0944c31b7ef8a25ea1ec51e3b248888885049c50bc5fd9a5cd6fe56829071f5e85465da106599a431956b5e04297c24cc625f8813082b7f787ba9e3c5 +CT = 6e79bf4465fb566b0a3a6d10bcab14b04a2cef409fc3cf90b01acea3759ae599 +AAD = fce54646d0a4875fcbaecdc8b909299a0811561f7ac172d520dcd4be779e4e872cb46f3f0f17b1dbdd155ed618722f4307de5115f4597d6e853971a0b67bfdf587244d55c9c387cee562df2b7f69ecb50681eddca068d2742ea2 +Tag = 0fd399b6a2a083241db0b424 +PT = fc0cda013536d7595799ebe378a14503e0f6a662588f8f13a1dc3c6a8b51126e + +Count = 7 +Key = b57fc19589ef765109f6f2a0afc190b8 +IV = 77fe99bf981a750ed0e365ae84e8d05b68f9bb4166c9b9500be8a5d2cb7a345f4f8d52190cb8f8b3b06e7e950a704bd1f348d161e02aab47f96a95fb9944abfb7f33d7bbb5714b16d5df8c233cc11d3a9919abc6e0eae2bd17bd0695989de3c2d2434dcae8ccf8038b193c4ef13d6bad55758cc05368f6155ab58cc1841190d4 +CT = da6158789773a88cfabf0a31479b1594d4c2a77dc5afc70be4aea510504a9825 +AAD = c6c3d012a7239b3e4c8a2a11922506bca7040b225449b9a11aa4c2f8ff68205c209e608b0beb643c186a35da37d633c13cab4fbb72d990ac3b0f2415d497c1a3ae9779d84fe6e059141abc2a45560005c618f2fe0e9a4b1becb2 +Tag = be5227cd94bc939669918b82 +PT = 747f3ad633c494a70c5d3feebcbdce529b88f25b60c8bdcda6c341bd06ce0420 + +Count = 8 +Key = bf45260b66fdf38b70edf3ce6f792a96 +IV = 2776af0023a0a5fb4cf45fe348c772ea8fc625d37e07ab7de563cc53973e563a14daf0104a11a0fcba9ad67c2810cb8c60db74fa429c450988024ca1209d31caed6e555b843f06e560fc0ba68d258341ed20d18dc4d59d7f9dd465dd44649c54871b34388fc03b9d3f6aec5778187366a43210e35dbccb21408304246c52a9d6 +CT = dc0ebee29744af514c33a305df3eca6a04c826db738ed4b7c3d2fcba60cf7aec +AAD = 171c328014d12bcb40766a2ee9e5547aa9f3ed97606e8586f6d456d98f40d4527af7ccca481fc95483d961a8434382905fd2ce6ebc5e97cc7cdfb99e7fec0468c8011eeba2d7b950c3aef502eb5c47a52fc195342cbbfabf9925 +Tag = 420eb163b337d83f2ea5fe57 +FAIL + +Count = 9 +Key = c7cbbb4dfb099b5d285a58fa0fb6f9db +IV = 04b6789f40cba15f48298e5847d7b6164cc2e159e6e5414f25a84a9074d31e13267af11fccf68f944ae7e4857a599598e1e4a44f852e9ecf41fe138a4381c371ed08a9ad1229b92030c6c1e41aad2b0cd4ebd69e61bc59cee3330e2718910b5fae77cd3ccd124c42a5dc91833f5854742e220d8072495a7c52a1e78c72bb60b4 +CT = b03cfb6f1adcebe2a52845427efcb10ecf9a7c3d7b89116e33f8dc805f2533e5 +AAD = 47b187206320da6646b5fd9e93d25912de41da5cf081ba033b42d1a48e98b6f86b62a75d6e0286a5b4b134d923df130681f7c5610a8836d91df33cfc7d3c4cbe10c4de59442feb49dcf21dddb74c5561c30be69f2585120c93ee +Tag = 67d2cff5ce271593484bbbcf +PT = ab6f7b94506d595c6109190050cec5b9ff06ce8c25c256e213f74baed520bc93 + +Count = 10 +Key = 6b127176d6fa5730852eac499d0bb836 +IV = ec1104da252067cd6df9aaa64977cdb967e681ef680af54ee3267e88eadbed0adc6bac75fa3803bee5d8e9d81289cdc9e3b0c2d508cfa79c70eefaa0576228cb2f4692a76dbc9faa0090a9bc31b332638a71ab795c4c7a309dfea4c6f92b7cd538764c5f4814f3037bc7136e635b6e94a2db3ef263d73b196f0c9b99337c8622 +CT = 0864db09d6abfb68b0cd1e7b8fe1579cb128e87d62cc70ff0b0d072e42b4ac6b +AAD = fc1fa0543e448cc9ad51ce6ccadf95cbeb348fefe3c0c0e16b0f1bd1458d9da988716112555fff9ec34932afd70982bf506853e96ec9c336fd739c68103cf3a9223215dc78018671d814eea84c1d0de2a57976c0b83fbab39747 +Tag = eff69c3f20301e484a73feee +PT = deb610f491c2cdc8543a059a4ef7693472bf05df9186709a293f9dc3fac998d4 + +Count = 11 +Key = 669003a0c1f1e5ee2cdba337d5ae2778 +IV = 14355d6f2855f26cb58fbb06df59c4e87148fa697fb94d9437abeb45490f3e6d3b0bdee36959288e85e323a95a111f3be17b0c88ac0d54229490051d2b4563f1e58617e28bd5d1fbf68edf2f7785c5ed6d5db55150b1f2c9b57c816580680f162d16d54e73c02df7fc7f644c3f8ad9ec0ca35a761f88e67c74326efdd410b99c +CT = 8c37f49b748a0531d9217aaa31d12e42b60b18c9f696ab0cf074bf9bc04e785c +AAD = 8f0f80229b65f2766342f064e6f78bfc6e9f015f624a75f9b3c26ef8c20ae1ff6a572fca06b8601dfe0e9331c3834b63c59935f0b76569cc496608d9fd40dca9520e467cc52f924087fc090368a2405b12cb754526b1528270bc +Tag = ac3109a452cd040ffd48138f +FAIL + +Count = 12 +Key = 080942f81e010bc4e78272ce2b016f66 +IV = 30118feeb03d2991a97f1c9ab60714454b5a5bdbb7b9bfb8e1cef750415f5b453f8a37c42b3bd15daa8023accf29cc197411f31ba191d75159148c8cb9419a07ced1bafca71dce1c9e040bfd3ad1a9b986dde4a26b36c467dec29043f8a011a07c012a204e34a72a06a8d498bdaf0796f2b9f08f40e8791de97565b99beb3747 +CT = e1dc185e7f5fa01ceaaddb0b1591aa4c70b4a8e6b20e4e00e439d4c782af2e05 +AAD = 618c83ae1d56a5cc2ee0a34ac739b1f5a7004f2bb78c3c84a3cb9010ec78555da489b17f6c9774b816411b0891875fc14faf8f2fa34102f77df2c5e3a6352339565c85c471232e566ae9dac5f219e9f6137cf43daf44a37a4b23 +Tag = d963fca2345f61612ca4da0a +PT = 2a5d92fb7db673a236f09ce241f311485fd1d46568fb12e6937680a4ab02cb15 + +Count = 13 +Key = 222defb8391c2a86c2af82e6e69c2623 +IV = 6f69766eead4d0f694921d9b145e49f8cab3cb8908dd1163af7dc88b22976a4ed83108a65ffc31eb3071cf4c77bd1bf2d6ce9c8b9ec78ae5bc00b145f607b4a214f778831cc3aae27e9532f11e490a2ac82fb19b1f61e911a7832f022e146e9dd5ca2ed52ad619839bbb80f2d12599f37ad1984404a04784b3bc6f5cd5ada827 +CT = dfc62b1856cdddc523fe679a2a10dcba721e746236376df015f7d80f6028aad4 +AAD = 98fffdba9c3a3225e66285668f8d5ed3058325eca523a1bd5deb7bc6338fe9f073e75dfdf34318b6ff8c3a13d4c912d0bef52a01f3c0668c8b9b2824c5b5bcd76d3afb93789590269dcfdab8290df96917bb10298c8fdc1d381b +Tag = 9b3395fc94e5952cfb9c4160 +PT = 2ecfd4a642f6a9bb3aea60d36bbc7caf7dfaf9547b6dd2cdc06d8ec5e09627a2 + +Count = 14 +Key = b7c36e9153b3318d3c562da634e9aeb1 +IV = 090448f5e15d58a35ea2e160d10acd52e8d764fd1138e1ab56ea9891d3284dee3398902da2b8f902ec228ac0e1ee8c2adb229430d987660160b2cb38a5eadae659e51813b843e6b521d1a8e1620a362ee7a9a79a6ac053364be9f9c8bfc9dbb4639d3fc5d595e880c7792bcd9009c1c4f392405fccea234d02f95915e447d338 +CT = c6b51faef373998e612024c810e97201aa77ab0657deadaed1f7132763d99566 +AAD = 36a6d4b11962824964960beb50e143e8973af378851bb0a56292d3394783534e13797a486d6e721c730cd6419adff165a1a8e6d72ad2db99039dd1994ca39a926e345d51d9aff08a860a5ed0f1cbe74dda99f28ba57137d292d6 +Tag = b566f73e99e039a6be76f1f5 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 70122a169b99293956461c021876fc12 +IV = a4930168d75f7929bc6c9848ed994a447c17ecaee7ff2080e3be672993b1edd619f31201355ed08be2f5b5dcb2666e50f0a431aa19e26e389fd6b2c2a1c02619f30984ef01333513051efd6f6796ac31343c736c46134211460eea94fce2dff07223ff0098773f065749c427c289d9e8c9890205da8779bef842a8a1a7d87bfb +CT = 4f52178800c81043b55a86268386bdced8d3df2e8d4ed92472f6bea7f6e32c2d +AAD = da6a40fbd02175c7572c20188fc13f8d2798e0afd0bbf2c7576c9628a446e68493edd60a7eb71fe8e098e5440e246c624d584bfd89d33fdfd5e2d088055a1b2e489d59c5855e69a89467ac6aaeaad2fc6f1badca4185f9fd0f56 +Tag = f745e008e97ab4f8 +FAIL + +Count = 1 +Key = e8d075760a3d263b1ef94afd9473b353 +IV = c6b878fe2dd6790685f6c9e55b26adad2ae0c8a0b4d5c3c652d1e27ee2636ffb56ecdbbcaf777a530e572c3e146cd43aefd282e7ee841c8184ce360e451574de3470cb9d79177950d506b2ab4e2addc9e7eb29bc770fa5ee04d1c25a5c425810c38cff51ef79cd3830fa8753d24bf87bfefad865aa117d523fc59ea5b25008fb +CT = 9af5e3ba2b8560537ed1a10d9c770acbc5475a54a0ed80614e9458726df06bb8 +AAD = ff32c8c1b056333303043668d8de8d2ddfa16029ee5b4b56bdc396fc4dbbd8c85e311d6a3fab6affaf71682173f02578573b4b3c5f786d0042e60d41d7009438bf4d8c105995a528f06aa60e40124ca0c45bd1ab8e6dbe0c4142 +Tag = 3ded6c4ecc94bea3 +PT = a8c3fe60ffca1c7efad1c24b1fc904873982d034f9c077115b7bc9659949179d + +Count = 2 +Key = 85aad85a4e6d342f96a6c62337218682 +IV = c8cb6a78c33651277acb3e59d19631137522679d7a6c110ca44cb10f3797676809ea08ccefda31dfb15228fd8e83b5f24fd304a1ef93cc81fc78e4799acd3a913961852b6b922870feed56d3ebfead52f5a31d66b7b99e14c24044cc23feb96a2e6b746c7f1465bbc44757c1165eaf9cdb1a46a38e3146ef752725f3ce8f39f8 +CT = 424024c3c87f817ded17ff8efe895b11b0a63fecaa9bfca69fe60f26cb964dd0 +AAD = 40f2316cb3027035a146074ff40048d0b06df3979a56c71261b93673eebffc3011405df84402b27e43758a151ad3926696ddebf634f5653b869eb779ee844e3fbfdea4d9a6717ccb069cba14077c558d268c63d872924d8fe200 +Tag = d8756dcb3001aa6b +PT = 295e6e89ecbe6f98e4101083f04e7bb1c0bc7af048a704040b917f6e9dfb3b39 + +Count = 3 +Key = ef0064b6bed85f1e508cc2718e790999 +IV = a58b5db2900ba64365dc71330d76ffb63b2ad60065b16b26ffd6e6c80c55ca6d31926dbd39537f3a5ab5e490a4525cb74bd31bf5b959db2cb0cde3589ac91e8ede9f17913bdafc30b350328adb864acd1d4ec9bb3b6fa906555e71c5b1e18f327f4f1f8fa891e765cd3f2b86fae69db3ac3a632e56f618c706deeeb66fd41c7e +CT = f5dbe214538b143afb92abd8d553b4dcfada920ae31d88539081b32334f02b43 +AAD = fdadd0bff53695abecf959484c70016aff5745a1ed4a787bd69565c8b0e7e4ba87eccbbd733fc2902f5f7ee7795d8eedd50bba08a179e113d78f4af74c237f42f54361a540d39ca5e1516ef7ef0da565bef129acb1fcede484f6 +Tag = bde86ba00f873e88 +FAIL + +Count = 4 +Key = c08577e93246e78289994150bf689dc4 +IV = bff48698fd321d9c7243d8e3282f8f7df478e84ed55f6678eadff48df318345f550315f54869a44b4f96148fea5b0d92e375037f1fa7ff0d743665bed53421f32c6919fc362fcf533d0fd746110165df08b4e760b3f16a0bfced2390a4867c402a9e423e3dbc4c150cdd2501b1fab0b119fcf5f1016ab1243a9e8f5d9f4a1dd3 +CT = 6087285bfea0b260351c79c7a325fc8bacbe99150c0bb2bac89bbf47d875d72a +AAD = c1a8b167fc506de548a0f6e9bfbce54e37c25d1a3db46528c0b44439db70bf180ba61cdda4b07e6cd5bc94b13f6ca18f4eb62ad7387aa708fbfafe7894d60e173af01f2502d8bf9a05836e19c5bc17a768ec1b3185bd2b2bc2da +Tag = 4da474ebb479e4cc +FAIL + +Count = 5 +Key = c7ad44bcf5cf381800eecb08985e18d7 +IV = 0a6c59789e9ac97ba1e84a1344fd9f0cf550439b4b5ce17e3df38f5615e730387011b96dc919b4ea5db7cd5739e2883fb63235bd81dd7367446802ccae650982c90ff449d1086b24a79ce6b2d41026646c0c9cdf8899a1e78267aaf7c33a6b0aabd812191759c22f55e850a089ca4241648d42c4158244aadd99f36330143a10 +CT = 3827ddda3f6f1e2e32ff26c9f626631f5c6ca01726a5f5863793cdd386105f66 +AAD = 3d6b5c5cee04692fe038bc4a20ae33068108ee686cc8b31172a266a025211e7d29ba96ea26500a06ab058b42138d766d53572856296418d45c465b32c283546d8f3b3c96e6feaea20ec3537e86bdb820a0cfe2ddf85f73895b73 +Tag = 5ec6a4e9fda028c9 +FAIL + +Count = 6 +Key = a2f731837d6e37a7c64f04908e9d51bb +IV = a78870bdd5e49cdc24dcb32d40f49ab2dc6c92d0cabf0b7bdc6556a36f8e6b4f1847c9eb8192ecc421845f16ec9ed65afdecc4c9267cdc49ccef4c3da0429ff9a9b4eb79de6ee8025756340ccb8f44bbf2c789ff0a79b56ad24ac1ab398b56cf54740ef73922c670f0e6b1b732ce1ff343ddba9a3f610a3922e59f317e320843 +CT = 4e182c8e120c0e156c5193e46411a950a8a22a39bbdcee2304f32330e5d3b7b6 +AAD = b2300b6b723e6e293060377e3f70230272d0bc0b0211d247c74ba281ee3efff4a0908d36dd2e8f1fb084682e9d43bbb38977d91240b3d56b5f941231cb9a55c88bc3241181c9de5a052c4c5b44d40666d7ade20d109f16237e1b +Tag = 28bc4bb8e2e7ad90 +FAIL + +Count = 7 +Key = 9a039d54ab7eb4a77c187f7847300c78 +IV = 838a3f5eb2c316b1df3a5a46da35b13c3333cb68555aea32f3af8c574b05b4c29ee92c93e0c06f701cdd5f8f9c8e91c46270548e599d3890ec9a0af5ab309f16e4e7a769290cdeb2263410c726889dac77017ee2a1ffcebf610d5bc77e41905a843c7f02d6d2900ec97e5ad3fe94ebe09a658ee1b0989af5d2a2e5ed4bacfdb8 +CT = 42c9c432d9b47f27e53b035c7dec1bda8a46827bb75ffe0dee04b90b2a2f5f19 +AAD = aa231b66167c90a7eaea35b6463274b99caf2e8e556691702ea585094c3300e9e6ed669206d1ab74e43250b0a7734f8fc1a2e1a5547c285015e4bcacbd14d3a542a02a41291975c9e78e44055bfc6bf0b962bf3001e4987aeb78 +Tag = a05a68ce541a95af +PT = 3cdb21ea123ad26a23d8e3856ef6cf10d55d4200c8f27b13970bbf20276b0a08 + +Count = 8 +Key = fd5fc694857cfc59c5d9d45f0e057135 +IV = 4d11df368717f0d892c3d47d2e35baeb0c756b1cb85d04db6e28d5ac4f3fb453a83a036c0158c357f622272e0fddf9d06bf671904856191ae596bda6ce11197fea0f83f2462bcf03310fbe02ffad72ae65b10b098df0731cd27cb7ae0e613c8de69a357d4acabac3f35731ceb9daeca1803847627198eadd44400005f71889c5 +CT = baf0c7443df5e21d89ab5aa3f25f11afc873d6a1ac25d37243ff67abde218268 +AAD = af3caa469acad88976cbb5dfe75e21f757dd77ce95eb0ebaa985c160af8028f5084274a164cc8222428325e5376db616c9c6d287e8e4a8852cd5e1da5be73a4fc97f1bd34fb73ad3acf25bd0c2cc756c7b2568811fd2cff2b9e6 +Tag = e0e65c4dca90fc15 +FAIL + +Count = 9 +Key = 85313130c78167643b7745a57ffd678a +IV = 8788793632800221058c6eb9123fb5836269d5206d35c35944972b26dd430dc17fc2d939de9952bb894505c7b94cf139323e363908a5e6eaaa3a228474ec7f44021d46b6579b098784b6bc3a1b3ff082233f2ddada0aceb1bc5d5d6a9b56ed35b0cf2d5dfcc9e25a7fd7a69e95052fccae2239c2d3fee265d198ffc1a7cac406 +CT = afddce09813d55ad1e7a4886d24e5b69851f2e083388bc6297cccf208a42287a +AAD = fbd647992e4d623eea775310a81395a68a39f2b7c7189b4d2b8ea28c9e9b992e10a864e76fc2a791bbe9b1444edb6ac42bd43b20a7818c271c01252f9c96692d812a72bd06ea9171530b310ca5f2ab7b935251266e50ec0a3257 +Tag = 912c2ac81698d014 +PT = 36c22b135d5ac46bb95c1d5876e4b936dcdd6cb5e1a7d4cc82c8986ea6c8f826 + +Count = 10 +Key = 8dd55e091888c61b3b749fbbf29de933 +IV = c23639af26d10a4a9792232008634be95b4b0410047f500937515d8902755cfd902515d14c99c0e841de9d410ca6e9c04189f9c3aaf49838552c20b788ca133bbd312e5011a7bbb1dd2e4ad83163c38bb6ddd60395e0cd17b1f41ea53bfa5305b2d648e4c669103c487a67a0cb737f9fc4bbe5cf0631513ac123891339f9e895 +CT = 1a82cf58ae8764ef04340200b4a49727b7652549073b0c7f754a903ccc175214 +AAD = 9bf6d57d60e779a063f0b506916066bf79ca8cd3a2d2a5235964440c37df7421dae94e0e69889881fcd7651a0bb431282f916d9ce542048f5a1fc965e2f353146e4d860174e6d08790231bde0147ffa62b25eb663338a5d60d9c +Tag = 5a5cd663fe4039c1 +FAIL + +Count = 11 +Key = b3c105a93e74b11a2e07ee244450af83 +IV = 0bba5b07f0a14d5720493f8e31243275a00cb8e0b37c7920330be74161199326407354e74ccb19a4783a49bcb59cbca32a8a041bddf4b6487e2eb30d7a231fdb50b4ec4af30706fc8d1b6f394e660a144232d4fd81369d07c62fdd28c1e7a5d3bfa856c2bb0c53b951203336411261bbbb4a46d0b435baa21352aa38f957700a +CT = 0f8276dcae6b00046ebd437c332ae923577bfa0ac56742efdb01f302b8baa4f3 +AAD = 6d67e81574784c0812f43716c1d7fede67a1fbd871e7cfe4e4f8d4b852d85023a52360505883903b132f1aa7fb5afcbba187e17b66cdb2f5934ecabc407f64b6a2bbcba42fef1e5af92e0b4790740dbc072ae5044d449607bb1c +Tag = 5a4d3c850da2096e +FAIL + +Count = 12 +Key = 669a65dca4f44536e4cd7b3e2f6cf8ee +IV = d2bc082e483eb400f8a01af14792ccb7f09f7d1707cea0c7f6a6e1f46003c4f74b9bd5a96062d259fae9e087b7de9ba465e96d38d54bdd3cd9a6806b24cf933342a916ef912de8b3e412da0d896e8480ff711f737c0e2fad07173902314a97e5430af15eff173bcfcee758907326ceb16dd9100ee9b613dc5fc3bb847ae0469c +CT = 079324c14778c2225db34884a7a1b1e3ef640da4ce750b5395a3185a5b669c64 +AAD = 74b431fb208cbcddf607a7c88566254b36fdf253a9a0da9ae562f797c2f0584320815a73e010d61ec3c5d0f612dd65674465db68b49b38606bf458aa4bf9c161d5eee03714f00b759f1758b00019e12a3911d9d7f1132636de1d +Tag = 92f84e2b9e36f075 +PT = 72a1f5e59e16489ae167c035554ddf83f6606d4c212b13fdd62023cab98d5c97 + +Count = 13 +Key = dc21c10a5627c26e86f5281fa5cea5d0 +IV = f84a6f4fac8da723be2bdea49e4b2fdd87d70ed071eb0fc27b3ac0664a914e0f70905a516df764db0ee3ffac2bd5366f9e3bd0d5d6d6c9b63e5ebdb35b2a9dd07b3650e0ccf5e2b427e28d60dfb7fead93407b8f7fc4e6af7eb04b9c5d5876cbdfc22933271c8782181a9c5b7b55bbcb2a02343093defd0b43b240e0034c0c1d +CT = 303a798d78999cc75743075cf192c03c4a1c5c2c7d3ca649e61953f53fcb88a3 +AAD = 5b058c1dc5b1f508cb268611c7017a140dc16dcf2a21620afdaac0c6c0ba75efc0d7cc71a5e8d2f050f6d1104183f22dbba5154d90bb0714b8bd1f6de3713fb4d3e5de3cf5d27d6dc907c9c7d6956e65222d6be85b988631f324 +Tag = c9ffa287e13884ca +PT = e8a86529a3d1325578b0c839b97fce65a54d71252f1dbcddbe1704fce5e15d72 + +Count = 14 +Key = 21fc9b8125d68973928b27b12c68fe5c +IV = eb22e366e19954b9a153029b02a35581891847f4263442226278cb346a8cc3bb263a857f27345d29cbfc9a61205d04c365349ee36470e750f7d7ef05f41e707ebff3be76f40c10364b8345c20120fa004105a77803ace0703bb171ad8bae8e4cce250e1f88dca8f936fe29ee0a899674c8afbb274a3d79d803f653b7e20f5b14 +CT = ef4cdae37428e8c8adaa5f114aa20ded3ad876a30d867d7004bef1793d9ed6e4 +AAD = e8a982a459c14a40477f07a234134d59d62c1e731ddc5df2efe99aed11b061c4a41a22cd1ef087b73c3ee77021c91a65c5600e3092d1e7cfda715b3fecada5c251489f5dceb91412aaa4a607d69bcb78e70b2be3144e2f53f6fb +Tag = ffdfb63d11da571a +PT = 6f25526b3a78ffc011f97ce61776253d48277bb88d53a159bfd871b3ab7c0a12 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 85adeb889ce9fa2e90442b63fa483c3c +IV = 549adc3c885a03975a010a08071cc34827767382e9e14aa6288a5892d7448c9486af68ced0bc576e3581314bac0a43b737870ea6cd7cecae50ae91aeba6374647f56741a33fdf5c91ad3e27809a808e0b638fc7a1feae4ec138608f75c99036bda567ecc1c21973551d5d0d47aa25648766748dc87e4b64807ef3e8ac0643a74 +CT = efdfc60142f20f1ad4565974fb15e97de58f5b4900cceee492777b7eba61c877 +AAD = 111ddfda08967c24a4483e77a4e0aae2049ef4553fcd6c453f559645851d5f602a11f3c40905c587df45f1220bba1bc69f59df618f20239f4abec2f0ca6068e3e7cb2fe44952109e490060bf6cfa5128f2f06e3f47398b79adf1 +Tag = e8922b0f +FAIL + +Count = 1 +Key = a6e2f665701343a97d10f28b4cfbd87b +IV = 08f8b3768116f5b16b2f4fdce915a42de343df50231065f3bda1175027eab3a4853c4d0c6e01e2a43934c9e26a75961e2588d843e6e5f6c08418396c3061860b433afbbc4d9f5068abaa1ad362d81c804aed550a9b2939a412219e7020ad6339ac8ba9aeb36ace7dd6abfb119e3bfc217bc54669ca317d43107a319891693852 +CT = 9afeccf2e2fe1d244447a199af3edeb824dcd7cb32ff09eff6dbd32e949e653a +AAD = 4526a1e205fa5508f6b749a990480440185fa37f7693992d7a7523222c4f7992eb286088f6b9e57afea286381e3dc6ca92345b7a91a8f4224bc18ac1083c77b21bda85be696c55335a689ac5eb96e1c89a4250f627ebb5904011 +Tag = 83def51c +FAIL + +Count = 2 +Key = 8146c4fe711fa97b5b857658c1dff9fd +IV = 29e4ce2ab1e432d53aaf2c6f7a4eff2087573da0e8c2970c45bf8861a9e5ee2190444b48275707876e87c5264218ca45ab388d072b705f93d03b306d839dd0f4be2cc236aaaad7e59cff9ab588580c3b7583d57b073907673f426bd47047ff06f663e32ae85d5a7f4d2c23ae8b8477a2105203a09ea2330a0ea1e97ccc84d242 +CT = a6cc604400bedc0ac32ca3fec10c7560f36fd0fc9553b9373c7d5996c11582fc +AAD = a71b728e2ded6635b1461f9717f77f3f4c944698b32adfaae8f1338c618e39ebed5a0b88116f68cbeaad530df6807a7853d5b96c7901f44e5fc468b71bb5e1f7546c8da06be3042b407e2478541c161dd853a18c6dce3ea6cf8a +Tag = e46e9acc +FAIL + +Count = 3 +Key = bef9475416f9c17b72466612c53195ef +IV = e39ed30876af90712c674c781412f1d5899cb774a6ab02863d8430e757afea84167494a31fb5fbc5b39ca2b1f229baaab6dc90f820fbccbecd77ea2c2a3c92ad6618842d5abb1daca2fe721fcc0694eef1cc418859a2ea5113d2530afda86a5e60d4a0edda731392dc7d99ba99c02383656bc37a9f24649b00b0d390b9a05c8c +CT = ff92f8c499144c626c1d7cba3136dcfc4aca506b89394719920b62a370f7679f +AAD = 4b6bec9dd2f59cc02f3d719be9579652ce584ebea1222edba18640e405a0e158e7188cc74a0a4839240fa037513e265a4b423c9adc7e41cc6ae856a840330fadc57cc045c6dcb4a3241dc4e7d4779686263cecbb91ee135e2906 +Tag = 1eda0448 +FAIL + +Count = 4 +Key = 67c34be49eb7abf5e222be7fd36bee55 +IV = 85de57ac3754257d81780d66e45a1872f37df76620e8b79163e1e23b4625dac1a54c6627ae5c9eb589b64bf5a33464c8e87cc21928ad3ce6e302686c64e557b4f710abe4bb99bbe921e67bf5387454e1d9625e7abb3079216d70f8f339569cd9517e3068557661f1d02f14f381ee816f1d9406962c0e2f69b172a17a0cb2c321 +CT = 81f7bff9940fded6cd6285d79597fdfff0fa8daf2c5590ccb4bac93faea378fb +AAD = 64fe30a42488dab258d9ce16510f29f04a745f01a14483b0807d0ba4fa31ce711f28c931c63e05826d017a5b516af8d7af93b47730281dcffc7262058bdb7e7f949d41d94d382a80909c774a1414cec0820a51e32fb8556cda20 +Tag = b5043805 +PT = 1683530baa3c809d945a0ff19e0c3d290aa672a5bcb7cfdb4add983092e750ba + +Count = 5 +Key = 672940694f3ea3bbeac3c1ac8a35761d +IV = 073d062d16c4674cafcbb3bcf27b8ff2763b367c77b392ce68a03e90c65b935688aad30105b65abdb68730d1ccffa6bb8af20a5475108e73875db42359ca30afe692976e093412e7f0a8aee47258781da7d5e24cd9e0389b9cb42c7db99875ec0fe9c3eac4ee3af059712cc7c7debe9150bbbe7fc3654f1b3298907167fe1434 +CT = b68ddd8557343579df9f792dfa134bc5c1f54ffb88ee952d55f3c1971360dc6c +AAD = 05547ea9c27f7334cfb4196ba7e832d4aab7f6153e06eb376f646bb2fdc577ef49b49f745c90036b4bc7f84b84801f362488f740268379022fe07fe7458ef32f0b0877a74fdcae75ad5f06abdad500f97d5c8f6ec661690d7086 +Tag = ee256ba2 +PT = 95cea8e9f86291329179b3123ed19aef77c070c7a281f8fb196ce28ca06c0f3e + +Count = 6 +Key = b180ac5dbedc31ea1b0103e32688b2f1 +IV = 3219e99dfd935600e5e535afca9c187284cf5770b2b5704a1557cf5b6ce5b1d193a5a997ab22e1bc639ceb6c920b74a976897f666023cb1f6d7478c253ca899884166b9f21ea98658ea5e46f57740bc3293200ec73aeffac85419031f69e095ed551ecb8ed42ee72786151746c254842c362f094e4a55cd13c8f080a93b36caf +CT = 1402d4a24112f8af717ce2b77ef7665d61f85e2e2a62bcbd67e1a640c6175fdc +AAD = 00db43f7bc251e3a86d0c5dd1e1755f58a41df04b368633d1f02cce643bc5fa977cb8b69e7481e869ec3b5ef66ef3bc9a168953c4d0203d9766042f7045887a1d3b9861b2c27b8b74b258c5aaa59c74c03eb1b7f174275add467 +Tag = 153f6ac6 +FAIL + +Count = 7 +Key = 3752653c027b7324079c261f5a0dd20d +IV = 49dcfba72da2c87aacf5f22c6c48c86715242b16ac421a35856f629a42350a4a2157eac71bab04217f5fd8e2a0516d27e8d74e67a11a88b183f296441c4f656e34c6b73bc06f00085e05f22b29c8e305c7c931fe6aa3a30d5eb6a9b4f14163c873c64a7eb2d1e9a32d2a009b463a4866ebdfa51ba954c4f44ab7e728a096c8da +CT = 9a9bcaf9ecc340a761803dc23e438ea5b2ef7952612e5e32998e667cf729466f +AAD = 8960ede116d7451c1f089a9e3a05f7455f52cf8b879e3093b0a550446458e9f9432bab2f3f2e98139c500e40e5983b4da6bd4ef5a0f8c7f6adfe4654ed284eb7168cb15ace6b423ee662b36cbc8f1530d461a760ee3d2f049f45 +Tag = 4052e23d +PT = 9b6665ca7bd91bf0a7ce6e180fbb712acc9c8aa74db5bde716baa9a229b77225 + +Count = 8 +Key = be2ef13b40a110959c8d3dc7fe5ef6a9 +IV = c78f96a73223261585b7061945d67687b01eda02ebad1fa8d555d680983b5adf339d675e5bef898b742df8f85cb0cdb292182655eea6f053e1e43ce992d00492fe10271b3175811ac7853e0ce3b16a9a2622264a1d2d1c87fe959f3220b850788d0d5fa545825a122d512ff8ad387d489d8fc39db59084c4d1e6d278c9372ef8 +CT = b14bb3afebe6e87a8bfe8ed54c3f4d0546994b1528689c480cd52e6ef26a1bbd +AAD = c02b8a4e15483d22972a23e43684425f5664a9816da8f71ad5185388ca73af6fb364db8842b7679fb45e05960ce428c37a7b89b8a2cd1a2481100225e6cb156c3cc2901efae451a481d4b4a86c1f9fa1f62151b810ef02be78c0 +Tag = edfeebb1 +FAIL + +Count = 9 +Key = ca50d7647b8593ef1fbfed0ba5f74192 +IV = bc64be073c0c08124ce4fa2071fcdb4c32fb84685995b2a55edde7e6c6a1b0f9129746fbf02f8335076ac2c5f2854a30fd886cce1f109c0cdfe0bfe66fb69feffffbb9a78636214282baa9cf4e3c0b1108a6fd00b29b2dac7d1c239b2655050002706c87b3208b47298b480846c9fc9504eb97e432cfd2ee3ff7edfa2f554e30 +CT = 011df045ade8bb75a963b9163c9781b982422b05ac6bab19cb13d39264823927 +AAD = 4c7b70c15c913e208871a90d4a5587a2888b8e60b6bd0d8cbe66ac3516c7eb70422bafa9d880114977f3a42a6affa62788168537d264a8e74f90acc8ce39929c4750bb0456055413cf276d7ebc85751829359c91c7ece69a40a1 +Tag = 3d9b9505 +PT = 0b976a65173526205500df532834fc27028075d8990ebf8edf00c228daaf0d10 + +Count = 10 +Key = d6289163e33b0f1b6145a0f7c2a37d8b +IV = 88b10b1143cdd733e76dfc62b616a17a0d8885925cdaccc01d7721ff13b93e0eb1beaa41fd9893df9ce225a0b41948804c768afb159cca9cd128b2cd1efa47b944cca452048cf081563c8a393daf263ef1fc817785bf13c92bba209034be18074fc7c4f94636281999e7d57c01fb1986c396eb6a803707992312687979f2f71f +CT = 8f78b0cc1721bbd2bb6ba72c00be838b30c158d2b9d10da1c56d6e14ec7ba52b +AAD = 82bccc1b3554e7ce1a1c9c56894fd34d6018e28437398c95cedff9c3596c1c7e8c3720146eac7e2a6dbf8a4617611f582cf2c4b80f7ad63c033c371e2ba8daf0d0bd909070f6a77af938f3eb9db1cdfe3df78ce89d54bbce5305 +Tag = 2c43233c +FAIL + +Count = 11 +Key = 3094cbbaacce7a6f6d94fb2f70a2b91a +IV = abac3f6c5d7624f7669f90af2fea0cb42340e846fb2eb01b10c679d96acfa8f45973abee507a3db6e86db5c76b27b68bd239f136f31373952e17ec3fc4ed0120f0d8bb2f1a8024818b4cd0a75740f2090673c5bb57f2b434844649707f6afe3c088f4e80ef3436b67d83ad08d33db3b0cc641291e7d95da9e1a441ae31815847 +CT = 1af81bf2c300bd5baad9cd141b7cc6649c73ef7fde215bbafb2b2e4f292d7116 +AAD = 0f628ede7ed12d53fba6c6c14f0e1226138c5efe1fbaeef4bae4870cf50ed4cc3420632ec9dbdcf28aa6d14ad9c965de899787adf3f641de6959c0432879420fd9b42e937a38e5090f02bb17365bafa5471236456ecfa1e7b157 +Tag = 8bf601f7 +PT = 5d05831673953ec6b93a0f9732a47a767fcfadd39c9fa9ec772e498fc64125ae + +Count = 12 +Key = 313564251a2815cf52175a69a5335551 +IV = f0943f47f7c357e8649a3d29d84a96fc64e9a15d4c00a490eecc33df4c6e9b80da79ed8bcfba67129515270d35f6e98026b4eab4035cd0928d063b8370c85042ec1a1728716cafe70224bc393e22ff938682317b45c4577e58b4f666334f3e1a0bc748b99750e97c122106950b79e1f4b57ab4c81cb4d9132e314f9734303e07 +CT = 07c08cff984b37dd06faaf77de0fb489029e442314da7ee6593b62a44c11e71b +AAD = 1d5f5093c4e727e0e8322c20c7b391b4f14c7ac2014977d29f50c722b87766b8eb8bd1c9065274ce83bb94ef7f4a6cf95de775233f581cf1f84b6d1e5b705cebac8c88dff5740de35083ecd8d3574477c41653f2921b23003c9c +Tag = 27af17d0 +FAIL + +Count = 13 +Key = 510f56d48c7b82029ca4d3e3e02b493f +IV = 82d38b18cc410cb19bb190e3ec428178c559ffdffdcece965a6d262623635e2b4dcc1dde3381a252edd5bfa9928a3f2df10e49e45cfacdc703ca222933d608d76bc9307a216d67aa418fba6f3afa5de3bde98428bcaf771f52a0de69376d6e9048d53851bac4aa59397e1bdd5d941f7195e0361ecbd93fc795123d72262e7698 +CT = 8ab9998c128ee9751322d58983ae63c1eecc2d3c76f6ca415af4d2b990467c00 +AAD = 8ae7e19dcd9ae3020b77c0ce8030a59ef70d02c029c49a8a95f0a8c1184e0d5af9a7e15c2390fc39291e6827b33f3d89fa00a2026fc6028b43127a94953578f326b511186ee9fe8d41b97acf7ebabf6d9c4fc59f330f5971d84a +Tag = 9f4c6b9b +PT = 6b94aeaa6b4e10dd145996c2d8b4d1c11d47d9886a7b1f4b8e1278d64b6790d0 + +Count = 14 +Key = 819290daadda696d542073babdd9b076 +IV = 6eb8fe051e9e8682fb5a4584774c303da06684324a3a889b89ba4fdeef4d2bda930881ea523cfa49b3653d82a5c641e25155c63f68211fcc7e94084b96c456f22f0af4eae6b3e069660060c9bc1dc2ad558db1ad63642f7a8e5959a0bbfc47ba287975c3a494e6cb2faaf2b46d255cc6ff2426641d8e053f6b256ffda32f06df +CT = 49eaa1376861c0cb758fff0ad5b693a4b744c98f5b3d0331faf9aae26021b6df +AAD = 22dc0e1aa7e8d12f9d65bc9bd456657e5b7baf6e138382a06cc0763b83e2705c782ff91faf5e05863e938fd4fe2f302c6dbafff375e0c304ef0748d0880038ff05867701efdfbd252e362c661735cc9bcbdb511081970cd3832b +Tag = b8635a5e +PT = 1468baebfad295f0024edeeddd32d2dec577a6eda9147c726ac16a71de54ef4d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 24168b48b45759c8d4f9b061f0cbc16a +IV = b8e5ede75254cc4542191c7e7b0319ad81651451b639caf81c81c98301a4a0af70e291a4e35b448917be1e400fc64a22edf32913162558c2591ee3e80f397d73dfbc68b82da49bda9bcbb6aaf26919e21c1773cf51f6c5b71784f47978cc0d593b4be0259ab22b0b48de733a884c50a8c148c495973a8f5f84f2e93755666bf5 +CT = be19c7e3d3e63f73d833c967d8d62f388ab9617a2adebe5abd99b5ec64599c46bc28bc62770e08995b0bbf27089e3e17b80424 +AAD = +Tag = 4aec633d4daed9ce76d697c11f66f34e +PT = cb7f10bda7da8a2569ed1f3b667127a1e0fb197283aa16ab8cddd43186bd126b118e671cab3e325877fe0e79f1863f89122c8f + +Count = 1 +Key = 123e6d0e7a13ef97da011db953ec8675 +IV = e863681a4a672bdfefcd6689f9cab2eddee4d729ada28090a87ab2d9125e65e19cefbed73c7c2b1c81dd44e90a39ea0f17a498f89b50e3b305da66bcc4cb92433953f4e56a07d5cf866d850992fb6bc86af1e24cf292ca815e30272df7db7c64273fcf5be652b627271685a7ce6940e24f80f459132e4abbf1f17232f9b1bd1c +CT = a76ce6b5feb1173f585117fea7988d51c71bcae1b19d9d083e67db988ac581a3a28db7ffc243719b73796d7c76a3efd75b16c8 +AAD = +Tag = 96e6f800457221aefb0764635c090c75 +FAIL + +Count = 2 +Key = 1e56d8d5659828a67a2f30b2d2d9f116 +IV = f78b96d125548ca78a10686551159417106603b2393d2e724c54de8b389bc8abc5ec8ff31fa3a301355c991a4d6fab4d78484b53259479c750dd21ced50f0f819805367f1c7a3bfdb5c9e05579fdc9faba68f34ea9b4504e05d883b60692ad1672c29da2806289318efefec921bd733bdf3ad4fcd5962a1f73854d89833754fb +CT = 2601b487b028ec463e976817229cf92829535d1a806b95035d800b27da979fb43b83ae8c955d2931d474ee74c76d2ef155f646 +AAD = +Tag = f2eff628d0dbca1a549dfa5303b3ea3c +PT = a978ef33c74dc072cf9f2f44c6304921ad65bdfb09e97abb70bfed0e69f31d020d48102694c9768a3fbf260d0da6d8c789c0fc + +Count = 3 +Key = 246a2c464b8b01eab0c0572c8c35ec3b +IV = acbde0c22201c75a21de5244f48928012569fede8655ee6cc4931b973a69c31b86585bafb801414c5f69ddf7c9e71c723e0df945ffacc8bc107f9849897db4b5fe8a02caa506a10ab09a347ece07d7e23a1c8619343672b0b4639c8337c3c43c0d11812bbd3fe12878f060d3beebcc1ff3fbe6c909d328981de6c25c82e6e2c6 +CT = 3e89f8658c01315a211724e6b216a65ca8d770c37a833186ee595de1d5e99885b85d6c259295a3a9803e00a819d283b38999b3 +AAD = +Tag = d80ad5ffce1ebe6a70c2e4309ddd5e18 +PT = d24112338e3504a0034bf183ddd743c1edd648debd92a98fb4f0f64c55f03ff95e592bdc80c67ecef3f4faa34c6234284a3e92 + +Count = 4 +Key = ae7d409367f71358db93a0c7f2e30979 +IV = 958cfe945f50aa1e5ba723c6ebf03d845d21253373871e9dd0af58cfd2298795ef53ac0078521889c5507a304ca4b377c821c6f46b8263f895df1f6ccea7aa7c6dc5c37045edb53dd7526fc0ee30478aa4da95bfa920f764746d035f74a7e317f722e2c7690de69d3032ebcc53e5d6b2e756e4c72369f6ce7270c06290ad3a0e +CT = 961ab2042751c5af3fe8c8c84a0a648afccd7538158d781e2f419731b1963b4289d902e697399d345a9f963a036fa09b7b4c5a +AAD = +Tag = d0d248517780892789e56952b2439fea +PT = ce8ca0891f941c8e72e53990048aaa54dba3aec6167c0101dfb80879402f0cd246fdfd8426fe61a686b394aef3e7fef12e25da + +Count = 5 +Key = 111e37be62fc19b2ddfadceb39e29655 +IV = 20c6689c8acc72539cc1132ee35b3cd980b13b27a4304d6db3358d4817de7d0d27894d01ab72026bab35c6f2a417fbf5afdfdb7311ae8a97eeb3d1ade9ab9b3cd41580c1b831c4ab6def370131ff55341598c934d67d31fb5e105141d74dafe42ad9b8320ad19af1012dd803d9562b4ccb952e065770365a55361332e180244c +CT = c84c5c4d7522cfb74df8a0f80d91245801ef483c6f6616c6bc1932d6c74b8d3aa6c0f9c285f3bae02c58fc40fcefdd1e775b5b +AAD = +Tag = 8e87b1b2b92fa398bb44fac97a8b8fc6 +FAIL + +Count = 6 +Key = c49919b85e45533423978aa4a45b4cec +IV = 236cd690ed7eddaa68ba408c2c51815828b93f155e41499de49a9c788baf0009eff6a19cc5f32659ea8d63742cc81ba67528434fcf1fe5ee45fcd1a42027a7724d607b51472c87750e99515ca570c75546c813c6fcf19a14afc1d0a967e79ca7f92530fa1dbf06b32f6769ec4cb7daa9c318216834eb2433e1fd59b8021aeaf9 +CT = d2c3b3e7200cd2fad990dd0c952e9a5bc3bc49b2535b89d04cd834a92f0f06ffd398baab33cee1b5bd7b0a430c5c69768a24e1 +AAD = +Tag = 933b3fe6ebebbd3bb5a45796f5c6a94b +FAIL + +Count = 7 +Key = 8bd1e4efeb9942556b91c484eedfb9b8 +IV = 282b852993efb25d520aac227a953bf7decc99822c5c39be1cb40b6368418bb3d65bec4fe66af1a9f3408cebb4c61275b341aab00bbd7b9427366243887cd228c8eb4a856fd1e631d2cab93fc5f1df1e0a8e10b58b546a7df895a2aac89b88022d358351f1e6d6482dba2f63f571b8eeeb6a90c3ca9340017601cbef539f3edd +CT = fc18fe9ed8345a091594061dfacf8a93b193e726dc783de89928b962aa5e7200c144561a1cbc9214e1596f6566cb3510a23351 +AAD = +Tag = fa67d254189b546683c19688f478ff02 +FAIL + +Count = 8 +Key = 6661378d912cbce139e96e29e5175727 +IV = 8f36d327d71fb6e44a095b2944f05c612f5968f23f31bdeddc638572a0c24eac2bce87797e903767e4f467750bc7447cc9def07b8ec4dccf36e585bf1043849a645ff7e556ca25a0061576719d080021164b20b9924b27afac6cd1f600bdb2acd08949182c22d4ece379a3a7ac5d56b9d56ab0a8fe7d99acf157c63f57019e87 +CT = 2f731fc2bc4ff22f51f28cefb5401f9eb8f02551d5210e9560b5bbddd97c081f6e7f9822c3326148bc197655cfe5ff35826b50 +AAD = +Tag = 3c18ebb8bf9394beb57862c66ffa2596 +PT = 224c2f46faeae337bd7b1c71b1deaebe119508199d4320bde3185032a689ad591a7fc2d652e030eb9af62583cabe2780b70f47 + +Count = 9 +Key = 17c4b2e5057625c8065563f814f1b05a +IV = 3b440b2811e4c23ec197f6c7548960984350a2e890421bf68c11e032af81654f9f4d6bcf2c215cfbea3c13a9cb41b0dddb24dcb0ad1240da0096fea824a4e3347242f0277bc3e966e48ac451d2505b71e08b8b48bf20e1a89e7861925404e60f535b6d56e5495ad1b85b52bac1ad796b701d6f9de575ae481130b1b6b1474be3 +CT = 1deee67ce4bc4470d8b4d0e56feb92cdc7370e1a7427c3b6a78370ba07e817c9c3e7a2ed45ba806c901c5dceea91d0b0672ca0 +AAD = +Tag = 7f7170dd48fe18d630b8be8211bd96b7 +PT = 594b1dc3b7c528bc39f84ae3f759e439883642620078ca2f34f2ea3aad83788365e7844e6436db9ddd946ed877a034a50a798d + +Count = 10 +Key = 437b35fbd5c08614baba728179418d59 +IV = 5a2ffb247862807b91c06fd9359be1f40b6730eecee0f89f55110246abcc4706c391c027013b6bf40247df9d25758dc840c9d0aa30910cad8ff093bad8efa7f1245d89bd92209d1a2185d62be74f2542cfc56714214200c3c74fea5ec898867afad825ebfaafb843f87ee803c166ad99a0b9d610a29771bf6c6ba36991b74031 +CT = 10a895e986825c21bde6108611b0821574790f2e1b1996c03f87f018d49ca8aa52f7c6e2d08072e42367bb5041ead93a7555d2 +AAD = +Tag = 7062d080fe6e5a4911d778520caba6a2 +PT = 4e78f022190b938ad3bb986a41f5f1cc802d4bf4bc825c00892d02417d1704b32d99cae4a1f9abc78e9504b76c90504a835ab9 + +Count = 11 +Key = 33914c812cd23a7d7a88a9981e5c9fd0 +IV = 3a9207b40db40642a8bd10574019fd848ce07ecb6f9d14544a8e1ab290e0bbdbff859bd91b6e77873883bdc9ecc40050020644f0e01f7990b22bee85d63f49121cfa1132fc07202b2ec8d76dc9ab0863811afcc5b54290a9ccff02ede8749a101859f94750d59395a35c3de9dc42950c5fce64218030e9d6647e07889663a98b +CT = de0b309a638165a9c40d5cfb10199fd989bab2d4083424c223b98a32deb1c12bc6d01bc8172379dbf3bdf92241db98d7b1f4b1 +AAD = +Tag = febf03c442d8b5d5013a9d2d5a056ca9 +FAIL + +Count = 12 +Key = 7b8404cc718decd105d3f08822c83193 +IV = 359977edb9fa1fef82451c3d6623d407847708a7b175a49a52fb4a4a2f506a5ff75f16243371fbfc586c7295d2587033a2a8d7df9c47ad01fb81b64617e9f91a019fee2bacf1c0cef616198b9b61ae8b25ae1ffc5a4a8020e5dd278d4a9fe4522a729598efcd450e874cea62fd13c4c7a21d511237f7a11541ecd1787ec43ae5 +CT = 53c3a69064c175655b1e8f25066ca64ef1d5a3790ce43b28ff9afbca588a7168ebe11952c1f8cf602401bedcc842267b327950 +AAD = +Tag = 5d2146a4bd9326785ce1f62aa3b4d815 +FAIL + +Count = 13 +Key = 9dde4f2c26e0a8c96903cd6f099c4328 +IV = 8e82d0071a2d473dc1a14c30fa9c3ca03a21b873a13d9e80a00584a6e62869cbe4a1ecc64bccd32d781054704db360de22329f8ecaf9b650349e9d92df1ae285f8b402db4cbf9555796bca0c98968aa6c1cec35e5b975250dd310db8c2bee523833f810395db0f7058e78f3db63b11a5be4c1d6133448a16127ec77687beb4f8 +CT = 05cc431cc15c7c6d85e61166e47a1322f46dbd0a0bb5b985fecc72e82e5ef29fca77a3ba6ff9ecca6a46d95fcbd0faffd97341 +AAD = +Tag = ab07910c64017e407eed0b0bf20e86c8 +PT = c4dc2df1b811c912b94052e450951af8229cef15b770cd8a853b594834ae04db2f705a618719918fc07ad5f60ecbb2011bd1a0 + +Count = 14 +Key = 29702f7eabb7ba65a5fa47aa98f62ddd +IV = 9054c4cc2e4febe56975f7cb8b10d353b1e6a57374ae9fbe6016293cde38288ecef1c273273ee96b9af4d7e6bbcffd47ab234501daca68d59af8e70041b7cd84dc796054ef60549f27821807b4bc7da4eecdae9b7537c2a6fb6889343c21bb78ad84acf8c13cd41914dc643f2d2bc4c5517ccc75675b66132c821e556f506312 +CT = 89506fdd6fb52e6312f94e0944871074750ab021da131d1398eb8d837f25b7c2b931bb44e5df12c9519cab9a0798245b15dad5 +AAD = +Tag = 428eed870e8568eae8205a24c97fe1ff +PT = 985f85a6693f3a12d877c7a6adbbcb8c0ee667569086f9ba6c895d885980343cc42a7793843a94a879886bfb769a7d93723b65 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 38183401bb8f9aa47eb1ab069917deed +IV = 9def2461c7468f5c4a87c81af82c58f77eba8c61b534a164bbe17f3f4e45564686741eaf85922e245e197aaf02c0e37e85c7b20650735547cf28b21f2b5ea4766fe6f4b28c34d22620cb8d18babbdbad824a505826c53e4df0024212042d3f838cab499367a8e6f020d785be50de4753682192e7b5a2dc581c67359e424b8f5f +CT = 9ea26c7699c30b0719b30fb49276ba1f32cb3d2c8e151e160c05b66a065af2ff64d4e4647be7463ad23f35ce03ef0e47c89483 +AAD = +Tag = 400bed42f42dbee769b07877915e1d +PT = 2d22ea0100d0f015c67b7409818d69fd47c3761ff611f09707cc7c3592e68e05a9bd93b937d6adc325099dce5b20aac632d88e + +Count = 1 +Key = cdd309f0a21ab12c19d2eba91b5f9373 +IV = 8142f387eb9eea918465110f8f0bd3f7b47430424892cfa1ff7007c04f1521d7d3297cf9008115f663a7a3b4f9bf7054bdc85b0328293b51b03378dfbdc9f88430686702d1da129a963274ac3b9da7fd51671c911b2f1219fbcb93d8392d94587d88245dabb4d8f1f1173a1bc3486149e547dae1051b9cc03e94b575f624aaed +CT = 571b77c1244f10ea99124b40d7aa745cda87bc3e8c88e671cfc33ec2dc2b9ea92e4f63229152ca89fc7e012d5296f9a6d83f21 +AAD = +Tag = 2a5dd199863443bede7724f3c79847 +FAIL + +Count = 2 +Key = d51c9b4e8a98fc7fb0d26b7fcd8c9165 +IV = 998c511580ecd3dea8a3b0f18c9dab63c49e641b33e8ce160565661658fca5abd0cccda3e3d4d4cb8fcf65657d8143ebb9128c5bfc249db925101ac3551ae7eb4e56e9422eaeeddcd274da06dce86ea45ab0d8bce9b6a64914de3db9eda4e31768a0e0e7735e2ac14293da32353f49f0f43d81d9ee43ddf26c661692b92d831a +CT = ecdf64911e0d14e67799be324a21d2e78a51280efcd5cdd81ba9e33eb41d7feccea063f98c178752cf8428882319271553f115 +AAD = +Tag = 7ab5afb71588a1b14832a7b12fada3 +FAIL + +Count = 3 +Key = 2ec5a8bfddbdd68ffb695fb97c23a630 +IV = 6d4de4a98bd1396cc20a651e8ba4e47d7e05c5e1602a46dcbbc96d85243275d0496ee79ca0caac7ec1331009fac8699fed6f8837f03c91c05438555a01d7324b985fbed76fab2dedfe57ea3b38de5e391766ae919652bf56fadf86bfb0db45ec3bbb9f8f0d441670bf9221c8e8921e32089c26bd93e0e198bdccf74e908cd9f2 +CT = b403dcb265ca80d6b52610d74ef73349285f24c41be4a665ea3327ce6d40ca2717d069eb0e98316ee9c147811433147c9b869d +AAD = +Tag = b3c381691743d095233bcd328c8344 +PT = 66e364040be3a6d9d193be6e102839ea525dc60cb0c7fb99a9ed0424668d7075f8ce64702418e1b76a5e7ec6eba648912224a1 + +Count = 4 +Key = f9eea6f2b878a20304e2cd9ade81a9e4 +IV = 4e5b47c71b723258e0d7551cc23516d5678c169679786637e4e6abbe7d598353de11eb88c9418396eef1e364e8f82000173174dfc7a64ee7c763c0a856a73bc571bac338db7711d80432281842aceb620f3bce192e71cc97643c1d45a281ad43f35cfa3891ce2ea3878afe260efc1f4854d6bc9dc3762f34df2fe3ffed6d5391 +CT = c969e4f7f82aa442c92b6ae4ebfab2d9af800e2dc74e8b6008984f3487d1c94a718d7331bb42c1f52962c0d6081809ab6036fe +AAD = +Tag = 1e8895dd909d54f4a63ae4d3c9197c +PT = d66b9e6ca9ba5297038807e4f1af3152ea7e270a191daa3726db0f0db218aea470ca11ae0a955a47ced091791ed8627f6c07e7 + +Count = 5 +Key = 0cc0507e1a49357e8dc2350e65182adc +IV = 53565cf7335c89435e07fa44a994ed0d9d20ecac8921db95e549ec6e59deecf7346c4840ab9923d56736c349d242be0fab2bf9eb3a53ea359ca1b246d4d4949e76be02af525de6477af1502958b51da2a9f94ff5618f13a7ba9ad190b51ce262d1623435d89128467e17d87a642e803896f19c670d1dae40f8e42b7a95d35d09 +CT = 489e3f328eb063a26dab3bf962b65911493a05303d8a03123a40b5a97fa037e83c4a91a7ad689179d8bbab6c797ec3516e1ed3 +AAD = +Tag = b8c5208721ea8e143e307b1d3adf9f +PT = defe3c87a8f475cb8b0363f8adc8a2b9ded735c0f96800397eb72aa283e779124baa435cd40aeac9593517d0203ba452e2e149 + +Count = 6 +Key = 716e590ef455721efbc5d4a0187d63d5 +IV = ee0ef441f2a6bab0cccfd2db94b3d0c6265e1791552a58e63dada41de9df7e943e8b471b4c49d2194bbdfd5c975d13cae430193bbc7d03fb557df2de745cd82054f6399fbf2954b904da689f661c701701909a913c125d3f75b54180228c5a6840503acbe3636672532e8595fa6c91a9195d6cd039c80712474725c4d34a4cfd +CT = 94022523d7fca82c0e634ae0497f8a845003e98a7b0287296a299347c7eff5001b490e36aa853713ae432cba37e2dc2779d19b +AAD = +Tag = 2d4dfb08bb37f65bd05fe36ac80dbe +PT = e06d30b7145ef4c978838d046384fc90bcacec5191683df1c232b17f9a4ee1af885301f50923050187ca8cb0c40c7b1c41f41e + +Count = 7 +Key = a2fcce3d348e06a7d1f8eaec4151666d +IV = 971cd5c0d959d6a9391a3ec1eafcbbe3d050fadbe5bc33a69ca7e8239229dc2707906f9c3dd6fd34f2b92cd1764608b6b144de857ea23103117c0b4d5290bceb377517df7b8107a1cd407580330befe53a43e3eb428ef64bef9cadfe30cf66567a7a97cbad397205c3832c77aa53cdcb5690b94e5d6bbfc69fffc7b953095b2a +CT = 70b71da2ea9ed5e354651478f7e6e4b9ae415d3bd1bf3d010d682a8b6d21880e8c87b6ec01f62039e72d3be672779cdb3bd093 +AAD = +Tag = 476681b54ce5257453da761548c80b +FAIL + +Count = 8 +Key = 7c5d37c578465fb2b15c35417ece80f5 +IV = e2ff538205a6de25dcc04b5b542ca5f274510529359909c3438fb9e690c0c2236119e48662a64f975c95a2df4069aabdc81e70c2fae0ae1adb327b600d3fed2c83e22ec969e5384b0c5e24ddf793370034cd17c94bacafd79035f00620b8b144bed6f094ffb36edd4a8942382d587e6d8c74fcce8f68816081d032c68ba00b02 +CT = 1a384e31bd2f77bd113ddaac264761d65b07f0bc36fc471063eec37e6a0f11d31e48cbe9dcc5c8113648c0740f145739f9256b +AAD = +Tag = 584eddda6ffc21334ea6cb640289bd +FAIL + +Count = 9 +Key = 51c8a21560b02806b3da1290d6b4107d +IV = e84b5eea5bc68e09ef425f1237754a6d917d1b22071e5b5a07839a35474a970fe3feb7c54a23b97fbd1cd017df4074f7153ee97af5c5c3f21c8482981ce50ecf64a74109e642703b564fdb6884f621485185520db2d21e375426c935c34a27dc06819c86d423e95ba9ad7a78270c405253f8d501d632510ab8ef5f7b35d7189c +CT = 24cc1deb79ff7049dedf09c486c9db30819b7f5a0f6fdd4dbcedc8bedb9e32a61de6f9c53403eddcad1018d5e7cfefa336c9dd +AAD = +Tag = eb82e36e8d701c270f9f002b5693d5 +FAIL + +Count = 10 +Key = 96d8518962620fb7a7653f1a68e894ed +IV = e54315c692e606727223ee2398a517d0d162561d0eabb8bddaff9fabdee87c692d6a96060f5b4241c5de1367791687b41a03654a44873dee01ae88fbe986a597420a0dc6dd53c3962d6e30b139056e854e7c65a7e13d879fdec51f43b7dc8de68abfdab5910893769c06898545c5ec7eff6e40b93fef13e41b30349f8459dfaf +CT = 87de7fccb6b914897d9e22e251a838d0c358466275f077c5fe033075981a62050786a82fa3a84f39dfd8c1d1c158bfe3a1406d +AAD = +Tag = 448d612a85fa087102703f7ad75c02 +PT = 70a2078bfe7cddd5e6911ab42f5b720d2ec3942067a1beb4c200ae8a0a0b00e024004fc86edeec665452bf598cae7daf4f0d78 + +Count = 11 +Key = e40f576d620ffc0375f4df5ad0f35436 +IV = ee202218a5e49034c30ce7d7a7392b47e610f58b93452951483934d851b4a912c4dbc2fd26d67fd9e02ae6654b480aa32bf8843c815a662015b4a7eba8376dd0c3df32d3ff6f96d0c17f818fccf4e304e6ca2091606cb5688989231d072dc547ae6ca4d33f7fc84d9c8d71b7485e9cde8f8dfd13824186b35849f10eb536aea2 +CT = a72d46d1de7f91b22120408b2cc323e53062e6c17a9ffbe5af560327cb8966cd54dd5ab632ee6424a4577ddbb2092a025e3c47 +AAD = +Tag = b3148ac9af2da0777a91a55276c102 +PT = c2885b540d19659955d7fdd71ad129b61160ee6a204b69797225d3f2bcd558a62361ab635ee699d93d34cf0f1883473cfbbf35 + +Count = 12 +Key = 0b195dbb8975ac9e61d4c902d24844ee +IV = cc4b458d102614702607e627bcf501ca141ed6c3d4a6fc9d057f6e1decd368f7b0a4f19b80d2426209c0dad8bf982edb1de5dee9308f1f52198884857297de5543d2856b7bdfbebbfef67f7475582e9480493756ee10bdb8b43260763c038445289d82bf64834311653ce0360eb9edf543e3c2ef0535190a313e6038de7ea623 +CT = b1f88940b05a2cfc4293a3c7edf1cc5b264605644e8fad7058bf87d8ca6810341ff8e0d1131f1c7362026703594b80abf78270 +AAD = +Tag = 91a1beb1b74376c3b59712bba4360e +PT = a39570306bf8aa5db174a1cc788aa566fc8668d2c7bb9abbbee949b6d557c668ff38399daef415c83793ead97c8f96ef58b262 + +Count = 13 +Key = e5568bd67ec36f4dd6cb1c6375568cb0 +IV = ec26cd53e549e416d1e67747716470436eb1f2c114e6f265d8a782c676f4671d2c2c59e8c2c63fb5c192240b7273830306c1d45753eb94ed5763bd205a762829cd100ca1cc64dd91ede93d855034ceefe5d2ced78a93892f968cbe01da584193cb557add84e85cc2acb7eb25b3aa24f930e7c624889adfff1f12a2568de284f7 +CT = f4a190e44ff44af60f4f70b199e84a741021be3a40fba457b90db502be743fc4e8d6318842361c79189e1a8ec8798d0bbef4c5 +AAD = +Tag = 73e9a389a2c80a7e851af22433e7e0 +FAIL + +Count = 14 +Key = 432f7e2175a523a42c036a60150d922c +IV = 1f268c555b2c606d868d872d7c0a1f9010b9c9882b3e3233bc3953b72572e77b296011eda9ec9aee4b2c8ab47fb427371bbc56c66814c39ba2e3cbdce875a8a4d9e1c100614dba3ebdfd6bd0ea8838e0a36ea3d601b5c3b489ee8c79c0e005f9bdfe09b485acb718723be8c1de9a35ad2af2bebe52ed0ae4fdf78216816b1a0c +CT = 754c9a028a8217c0c7f157dcb083e8fe4fcf67865010a955a5e665fa3ae8fa8694d75613d45253f5d56cf6d749f44d7d8c44c6 +AAD = +Tag = 10620dc66b1e2faae569bf010ecf20 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 51e17292925390d7e2c7245453a47ff3 +IV = 06b19c277cee3233b03e8ef388fc6602c758330f1f9264e51c7330df373e5c9dab2b246c57f35853d1fc19af8ccf0bad077f4fc062e10bdc528c68a2ac2184a1b1bd0b30ea5074e690c836614f18adf8254b24e2edaf413e8df269a5888db1223ddcc3813f487cd2f2841f9be2361f77f3a8b866a9b86510a67b9c610e363e1d +CT = 3cbc4034dd961ecad20b2457915d959c11cdf0a34d9c8fc9c6247141dc02fd588a5ad01ede594bfe357b0a11668390637fdc9c +AAD = +Tag = 523dec25cd322420509d0931c316 +FAIL + +Count = 1 +Key = 923b1c8ab7b098fd8a4e11c8cc48b192 +IV = 27781e075d9daa1b83b83dcab6d14d8cf1e27b30f73c808b11fb4dda3a071379f7396be7d5b5b55314e93384d3f15cd7a81331b6f1b769b251484ae1bedb3270b7f11e44be7e5c2b2caca7ee127132302128f01591fbcb8e6ea857660984afbaad55fb3ae058a941e5d718d3351a99e834b888c436b5fd4acbd1f69ba484f1c0 +CT = a5686facf4f72d7544a06b97f8b9dea89030eea1938a97e949567c8543266b7d55edcdd9e86114bbfd6d6a763b6f6354be7820 +AAD = +Tag = ec4d0c018825e0829bf76a5549e6 +PT = c177a2f0bf1303c795ca8ad47c7b4d294dc2dd6d2195ab5a1d83870cf5b4aacefed70e282313d5e498e103031ebf2df0019d39 + +Count = 2 +Key = a9a1b8b34d2b028258dfa169f34047b1 +IV = 4022f18179e154e7c042f2315c053cfdd3f250bd9f30c6f742aebb5319db85bb0246555ab33e38a526a75414b335fb9bb007b8922473bf077e3a2fb6916626df4a6210d5f3b3ca747fe7c66a598052f292f380cfa1af50e7ae544e52768aece3419d96b73e63f499c5f683b961e090fe35e508959b2b46ea889a66c5ed788cfd +CT = 71755e05730fedbc25ad378a6e6a138c000182800a710b8f2e1ed4fedd146ec696b55398d9ec188d24e4276057f8b52cbb40a7 +AAD = +Tag = b202eabbf4184dc7f06230c3aeb0 +FAIL + +Count = 3 +Key = 2c2b1e6be9795bde224bb15e10e67733 +IV = 9b7d5ecaa5a6e98156691221e711ba491c9be9f8096f8a44b6e69e27b7b0f37204fd1d62930be1cf1e3b32c0eca1dfbf4f200026108d667eee4a0816eaf0bc16c7ae24faf311c8dd84a4c0828d7f40adf31c7859004714ec5e36b087fc53701dcc0037165610becbe78edc838e486533d5469b93718513a77011ac01fe22cd0c +CT = 76d9a91decef71a01b1d5bba2380b9fd3867b3f098c655f717680895d39024fc923b0ae30d73cddeb91370b72106bd5d82ad54 +AAD = +Tag = a88b3cd2f0b42ff93e6ca352d77c +PT = 0329f2f50eff3df4d5fd37d5fc5c4c9be331aae345f4ccc0be2cd0bd1331103358ca6e7fcc8ab0b9c4111a4a5b47161ea96e14 + +Count = 4 +Key = eacf18994a2dca81dd6c3e7a3d9bfe98 +IV = 9d24d03d7a479829d5a504662d3af5a2d8cbd25fada9637a04a6fcb5186b4b042c6d25efd05c7ad71175c36b141be82bc5b1a7558735746219d6bfe7af5b5650fc5a6f914fbaae0f8f34434738eb5de495a95a277aa653a796c3c2172aa8252d69b31f517a5f2b6b084b8f35c91ac835f3be33e3916cb204283c99c0313b6456 +CT = 2edad6e196a718ca4b00e075b2092343031f8d899d7e96bd4908865a1c03bcfbd207ef096b79f1319fea482654683ca075ede8 +AAD = +Tag = 63df654f785f4e1f3bb7047147c0 +FAIL + +Count = 5 +Key = 517f0f165caf086e0c5a2e940955d1fd +IV = a900031cf72adf3b2ce35699b3721a3e4b3f26dfc67ada81bf983cdabed1d719322bf9d90c4eb8121bf4b5eb4336aa0dd72245466117ccd915b28ae6883e92b42938e1fc735a6c0b39a91803952f88578b47ebe1b3502651e9fa5ca8bdec48d03862a243fa3c7228acb54c389beda193f233f1a50c47552b792a6c5fde09d630 +CT = 26f1435f0220f937f9439a285401df2d1231b186dd0afb3424f7f99cb4d5f7b975b701d6346e45b2062edcc691cda9d801ad3c +AAD = +Tag = 8de58ac72292af18259fc404aa15 +PT = 79eb93249fde880bd8b8e06d64deded3fcdbc51a721074e7b84be1f516d2514bf22e14da1f28d73bd7577d14e9091472f24280 + +Count = 6 +Key = f75df7bc3c8c1ceeca2831049c1695ca +IV = a7286ff60973fda8d05b6f4be3cd1a42a26eb43aa1678b064677063c5c169cf970f3338bd6a1b635fe8801f53b6705e5529f4607ae353755ab19adb464bfb8b1afb16749462ce06d0d0d95bdbcc786fcb01c6f7eb7663638f988d0f9412e16e2dfec1c9a38e679cec89400ebb88c9bb5d87d525337af1ef5ac2741c9c91913a4 +CT = bce4612d681d92638a4656fb84599454070a86edf8824a869578affac2de802fed11fffdb67bfa790fa3d8e674b1ee811fca1a +AAD = +Tag = 994399c0120f7d9bb48d155484f0 +FAIL + +Count = 7 +Key = 6b5e031ee83029493a932941b9361341 +IV = b196da1a44a21a35cdf04f120e4dd788bbff19234280f663e14c0d03301c93eab62b82e7ef1d25a5bb040950c56f912450d3ac6f22ad173e174157346bf00b3349861fb8a1c4aa4248a8198dc3cbcc5e22570b8e7b4af2427f061440d9a262c2b76a8489b4b9e33268dd0d438dafedebc0a23e4eff97b72baed32b6927c21c7d +CT = b665ed574eb0ce5f8fecb2af8d06c9c8226138ed4b1bb5462b88aaafd87b88ee0448e37fe12ad8ffd3e3b46a63c9d4e4fea99e +AAD = +Tag = 1ed02906a9c606b6f9d4a3448541 +PT = 2428ac157dd1477618fec76e9d4ecbe342d06e6543df2f7ca9f1d98b2c0d14781b4140931185d3e8f72a3250b469fec3d4e4f1 + +Count = 8 +Key = 950739d6547a25aa9b3859af0a78645e +IV = 824f6a2cbf93382661cd800dd5dfa673ce978ba9b56cfb878054b54ba10c37322af821a72b252c9d8836ee5b1414eff3d24fc37c5da92e3e302470110dab1665479d2e414b6a94dd9474755c78c2969591f5a4da79c7a0785914b33e6368c42e11f655c2160b944445d23f49f7e44f2087ce168b5354ba491a2cf83a666374ed +CT = fcf2be883a7655914703e33b3d007b97315576e209b9430b566bbc5cabee08ea6e95cc493320879bd03100d6287e2de58bb1be +AAD = +Tag = 91cfe861a2d38f27768dcfc68e88 +PT = be587d2a32ca6f49c46a35bd05873b75c0d09c3e746f304f2dde66dfe0c7f86a8395a33b1886d5ee61b87bcfe11cf69e648e30 + +Count = 9 +Key = ee00b01e063b9e804efd75df99071dda +IV = a97da464a1c8689939eac5ea7bff1e3e1a50c5be6611b1dd6a6547507c7cb03017d65916b76b6e87b3684ba81af1ac1f768ecf8b0672e4c8c264da4b3efb8ebc627310d072610cba61e7b17f8b4e668ee7de12999bf96144497311cf4ea44747cd1123efd8ab4faa099b5e4f05b97e10c87cd573917782735f1cbc353dc6d279 +CT = 634a9396c843221c11e5da3445beab302176078e8197f3e5a03efd0f76c164df63dbb38c1ff97163d3601cd8b334eba0136245 +AAD = +Tag = 75384f0236857db553f9fc3d4d72 +PT = e6bcc02197c69ed9ff0cbfefcf2a9ad21a6b4b8cd2aef5660540caa171fb01cc1334ecafe9848bd45f12f4c4c047196db1642c + +Count = 10 +Key = de88af363d53f016e71306b46bedbb28 +IV = 200314c2b5ea11091c64987c24194e124a27990c9372f8a9b348c43ebc373962806f672f74a41af6a838a355bb4690428ace06e137dcd4a81770d2051a83b4b15536a7bbca00ed0336173b60bede4b33ee1f43aac455ddba3e429c5432df013c10a5928de193aa13a557626b39e3b3abdad719c0e5726e8cf1ef7370546580c0 +CT = e5a92702ab445890e44f80524d6c46ce7c1bb61355b8a068ce75f70c454e3d32ee0e8f43972805cdfd22d39f0f857f31e5bc8c +AAD = +Tag = 26ffd5143c206e1f5c5ddd788d8a +PT = 121292ee6dc6e83cbe1e7e9a2ec6f612d0ce42588f858a128b616f7c05fa556af4fe9b9be37151db12404bdc8dd1964b366797 + +Count = 11 +Key = 3c8b379ee653a79374ec27ccb03d8f84 +IV = 88a0059b7d87881ced5aa2a19b951221438fc4c0e15002d5e27ebffc6ba63f2fbed40686f84f485c0e1bd154b93a80de25d14b75f04eef72d3a363349c0b8d6165f5a7c4a7c9e5e6b60be89adf021a2d1746954cbcbe046dbdcba40f6183255a90323665201bdbc038219e628391f970c17b85c16f18d95f8116832a5361c0c7 +CT = e65770cabcd368ba9b5ce9da664646c6c80b881ea8cc88c4b4bd5ef0e685c06f250709a06c68849c4d897a6e85f8d5d5794e40 +AAD = +Tag = 8da6b85910d75a292fd0bb1aae50 +PT = bfd563aa7949e8942ba3a39196eccd573e48484e618b542463385848bbe19b986ae56ffc3ae0178b3ab4b1c8ad562fd3949790 + +Count = 12 +Key = f134b4e57c8382e467a3e6247d8cbae5 +IV = b0bcf20eb8091acbba55bcef783ec19149f425ec7a924cea998d17890638e5060efb276145cb56101b2ff628470bd77ac4645ca690fae0011c503d7802bdcb2cc87c4ffb307be7e7bfd7df84110367fddf732934b7a9ca076edc0c8db65273e0f87e14372c59fc7f852d536727ba2ef1da0cea053a591df76855d9bec2120b34 +CT = 68c9907e5d5a5c95803291b61de095b893e7470e7efa6db3fd919dc7d0bcdb49926765de96cc8a99dc6d4204237b9e0c4a0e99 +AAD = +Tag = 1ceed5da8ccb1951ff6601b7e676 +FAIL + +Count = 13 +Key = e1e32be23aeb715de802b74593fb3e64 +IV = 006e324f06ad1b19811efead30de6e36a34569a8e7c91f5fb096193140d1cc63fe21c9e6583034bc418ea0ba94832526630ce806ad030bb0569d2b45cf9b7c1f3330fc0e764419af844465dead04002b6e0fc617699034b9b02b74f2007d5773393011aad9eaaf441a60fd4c96a88a6a2bbc79e025a1a6962ce36ce57941bd23 +CT = 27914b72c403ae995b0808fb2284f152db3ece4da0981e7a9b20996d1e8ed08123664542a248ea3ed709106a2fb19eaa93f1b1 +AAD = +Tag = 1d9ebace32cb58b95ee50d04f8d2 +FAIL + +Count = 14 +Key = e433cf8ee6eca5f7b609e5bb97f0159e +IV = 8fc1dfdbeba1d7e4a1f3724a612cd17302df35ca90c4f2f7a95ee49b83442f46296cbabe5768bd9e1eb242a4c7cb65c7efbb590db3481761ca0cb400fe1c5df505d26266736cec5aba3ecad57eae975427cea4a1f96c9a0b5acbe2cc3352aa6b7025573040048b537716da1098ba55d5c0e35fda667e25c0250c1fc6da8d5d83 +CT = 02d795a5d9355b287423bb51410067da3f6e2c5525a17f4eb820e354167ecf47144b98d7dccac349d1c15f9d1074e874c8279a +AAD = +Tag = b663411c06a402ce1095f2e65dd3 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = a4d9941cf021c4a73fe69bf7ee9e294c +IV = 3aa8805b7194bc72e2e07ec25a7915191ce0300e412399e71eb16957fc2b8570674092a93346225d6569068dcbc1742db4354c12bffc5c247e9c9ad9eb17e67ad4c6f7bab203f8c65b4a45de72fce3fa2c328ddf32c78d29de4835f99fa260776f87ec2e5e0ad282812f6cefccfab9b0e0faeabfefcafdcf6b2c3b082fa7ef33 +CT = a8146df53f1013aee5ecaa881cf5749c204eb0ad916ef3bd32314a78733f1680898e72ba9e94a439667fced88e77bdbd27a35a +AAD = +Tag = 96634c60c74b31984cb0f92cef +PT = 52f4852bf6858f5495e38cd843e46721bd7b584ebda1820bd1994c5883d2f6b2760bab3490116568a942852d2c0e4e608231d4 + +Count = 1 +Key = 44b4a8225a2d3b870a80ef5eec4d2780 +IV = 4a412d3adffd228d786d6eff8ba78401d4fdb5fde2d6d320fd3f19ed75fc55c017fb6f0694ad7e77795553177db11842f7812ce98fcbf1997b182ccb4b6f7a00523f18506c5de934f49c3d1ad4140014d0d057733cd1bfa9766331866624c8e4b88b4cfecffafe3c019aac6b8b96c4611bb00b8aac322fb4f54accf995d39fcc +CT = c5afda1071659e2e435c78d42ae6fb85bcc02ca3dddbedff0b2f45f8c689254a3ecbb849c6cd09f94472de251052cfc72da8b6 +AAD = +Tag = 99185e1b7b1d6ab940840d9f57 +PT = 9d30184f879f6ad5a550fa2cb2a1dabd2e656a1472c830a5179088905f7f2e2b0f1770a61a3dfddebb8cd031673f9e7a962fb9 + +Count = 2 +Key = fa39b9e97b319d97981db3ed01f5ab4a +IV = 9f8f5533ce1fd0be26e24231e764dd873ae60c962071cbdd778885da2679f0e501e9500c3eb8b90c9b1a22f6dfae99d76d08b73bfee88aad65243bf0b9283bb147bebaf2080a04bd65409b74026e082243e21297b7314f70f4733dea58e42ede053df966bf1f71881f8d70199e067795b5e3a8f3865f9e769f528e438cb755e7 +CT = 416482186864ca389c69be7d04a61ca094d4b3bd39591daf173c5c4dfedf401c793c64878ff6cd74f5b1964651df62bfb04798 +AAD = +Tag = ce321b09eda586c336cf6d0e30 +FAIL + +Count = 3 +Key = 4cf1976996da54cf0339b118d3f6a18d +IV = 37e90a07e9b793bda60426e8cd334bf775f7816223f527ecebfe9977ee3c6fdd21937d2168564c475a380491198d09d4fc8d968981e099dc40b478a4d0e934c475ab26b21f04cb31c1589c154a51ba4876467869531384190b33bb94e80f4b68fce07a016d86baa58afbd9a632b256e4d1166de09860c5e904f56ee03cb19e1b +CT = a49277f65bf0d0d14dd93600d956e8bc9571a78d6104863844d37621310eea1d14a6f282e7b66803f1ba773024e45b800bd74f +AAD = +Tag = 9f19895e10fbe95df32d502838 +PT = 78d6d503645ba4fad146d1372aa2799127ee39b9d76d6a4e4fdf013dffad020878505fe4049b26a840bc581e34c764fe471f91 + +Count = 4 +Key = a522e062ed10c7865a9757f12e344b95 +IV = a88023a34aeb4db82ff5a3962f453d1870961bff5c056e92fba6d1d02d76d62f563c9ec7e786ade0b5b543c1ddaddc406bb34412831ae5ad3201582a7218f85bd349f72ed9374f1934fe017b15c28ae2ef8c92d97ce95aaa195b04357d05cac8ce144eae08658b5b9311be32f6851cbd65d7fc46e057ae59515a4ab0f0262d2c +CT = 53cc0ea64d54f1b40558713bc29efef3ec5e33a4860c8f43ac124acf0764c70fbb4e492f902bc11c6c74c929add483c07b7347 +AAD = +Tag = 76d94ed70b4e815110f6ca8197 +FAIL + +Count = 5 +Key = d5f7a0e93f5bc3f359f153c1a76799b5 +IV = b59566aa95450a3244c847167fcb893683572e6666b554977935c3981192b4df010f5c335cb3b66640951579d10f12982c2f647d583de4b420ec0762604cf20ef6c3ba199af33222ad871a2e7d2d660c0058390c81c3dccdf9e65608f82cf7db1bc379c1cf0b026565a3b60f4a0ad32efa3b6c278e7773657c36cdac301e3335 +CT = f4262c0bebcfd6ce303130f9115e63917d952e59cf41d5e3c8eb2c9a5ccaec2e0973a9083e7580a9b057b7d9d0fe71f7d1dce1 +AAD = +Tag = 010ddd0432a39f9218d790c2c7 +PT = 22b9a889e3ad27d0144ba9ffe45247a247a7c4aa5ae16612f92fe54854d64888f640987514513c9d0f3b1dda61f57c6134e4b3 + +Count = 6 +Key = eef20fe181a10f42d890d201c9956405 +IV = 2a5c39f34407c43bf3cbbc9f5b01bb03cd54e29c041a98bfab514e66c18fbc25aa1b69d30fdef13dc5e30e2212de868b3c8a8a3bbbad791c3ccffbd05d27ab91558caa9b2259cceb0dff7ec0069c12abb2f9b4c2a886f3da9b35b0e87ef121e40c6c040bfc0d133f33574ea40e7220c80fcee2bd7566c0b9f551f7172db48ad6 +CT = 0deb080c164c45bbd2d67dd8163cab26d7338420da84201e71a4022f1c7e057aca844865e94c699e38d8df43c648931abb3e1e +AAD = +Tag = 005413368aad55c549e061bb97 +FAIL + +Count = 7 +Key = f23b74320e9c92d7024d416e8c4539bf +IV = c888dfe3ad9c471ac578dd0bc5772de6b1cfdfc3c044f68b7a7e6ca04b0ca6c82932930547e63f3ef2e8aa03952b14a24806542072431d4dfb4e5371c76974e9ea233b6a2a33749a8cd7a5f793bc7a34a04d2d9bfd484477b97c9f6d6544261174565af47edc4eac4add51923bcabce70a3c097573e7c2f382cbef09e6a86615 +CT = 3e95a038763d4da1a9dd46a6c30a08164ec9a6d53182445b8ef8d2666ac7a8612ea590da3ff64ac3d9b64c8a938552579b1379 +AAD = +Tag = dac1cb44ada7fa0807da564c0b +FAIL + +Count = 8 +Key = 1c7240f7cb45a97bf6612f382957a473 +IV = 72424a6003faa6f1202d7f326bf92cf394ea0ba87e38912ad80a6be7ac97a760b3bf3f5de96a95e7ef6b5eaa2464dea24c8995f99cd9d39dff4da81ce171e7bac87d2566d1b0ac80e05ab3f9be1b8e78ed6d1c7b72e67fd6539d2464d1fcd7d380e7e77dff0fefa46164198ac8a2e04d198f58c3f0ae9867f385f21a290b0527 +CT = f89b522c5a8b2980fe55442da9f9d2d7862d950f9425583e6414e6b58b04c52fbf7fcc03a723498fc3a3d11aa292195b870a90 +AAD = +Tag = 743c76b6739f8d6781a9fd1f08 +PT = 6b1ce91539653744295ff14175b0902345b7652850cdb41df1ee732e07141a529b16facf1d4b7521db4bf5bc2f3e608f32395f + +Count = 9 +Key = 626680cbcd95430b7756c06aa1956596 +IV = c2825fcb8bf3c93d79a197b7badb0c09b4d6824b340c4bb479897061bdea529552554ad81e4d17aaaedd0020ce9d40b6a3ffe3273490d1a5a81ebe646ad45f1ffb95fb082f46738c9bf913fd420f6fe7e1c3a295429739455f49cd48ca2b936ea061a2991b3adc43fb5d902caf852f0f7cb6ae843747f844160a904aabf96ce7 +CT = 89845e390837886439cdea0223b8af537f28c2630e6f97868d40f1540d15a2ecfb0bc013c824b03e23d3075737b2ac0f39c6a6 +AAD = +Tag = 7d3ff3fb797781eb6927138be1 +PT = e641fd56d4fcf5594590064e877f14bcf86897248d0ca539ee04108bf68a7b6fb6a92877c3fd27fe053341129d376f3df10388 + +Count = 10 +Key = 7e55dc6a20e5208a19e1b00c1dd2ca62 +IV = 65425bd8ef9c416d875d4268bd8f6365de393aa11c1a9c40d2ce46b33fd98d20eca42e285e1f51b0251f5aaf3c68b4905af184b2c1ac0b0e9a637fc9f34507eed5642ea6effc6519241cdfaee24d2a516a74c43ecc5e497ac60d5689562f8af3e756a6f271fadfbd233642b1226b0c3ecd1450871e491eace47847a5c0e5ca33 +CT = ba9b31928ab0b42e915b7234fafa89d154835dc00ba8cc0e6846d6bb22262134b36a10ab617ff3edb1afc3921893f21b1c22c8 +AAD = +Tag = 3f18e4530873d2ffd319b7ead6 +PT = 7f6ffbd8b7876557b5d583e0fd76b44d7628b905941bf2c8762ef92162d91b30a5422c597a5048a05735590d0b2bee40791563 + +Count = 11 +Key = ed704be500cfd82cccacf91d351e51cc +IV = 18c59ee64f651949eb2b93c01d67c126fa52748d26fe42cd04eb9660546cb9a2c90d76eb9ada002a51ecedfa8217152f2d265cd688dcc4fe18cfd3c6b45992c1d96935f0eaf97e3f1b01d15afcb2a831832c182cf8702ddbb4ee713ed54b41b11f8963b3dbca70d60f57c0aa4141d14415a8090983da272ff7115b37e7f85d91 +CT = 019eebf7ca90b0aded732e35ddece21eaf56438f138e19fb9ad46137d39e8cde68690f5bd4d0de8ef9270170f48b20ea55d47b +AAD = +Tag = a2c89decfaf7757df07c9941b7 +PT = 78a1fa2e836f304626a9609f8ea01d5c15c20fc4043376966d4d9e44a233560ba7b45752d12c4d8c7ed7a2cb3f406ebef7d129 + +Count = 12 +Key = 6cfdec5f0256e84486ab578d8735e118 +IV = c4d272960ff7f637359d2f28e5050538ba572580915368d654772f169efbb9ea282f7fa7a5deb5d82f15688919e9091813b2b05747dcad87cc9084402590150467657e9ce88a153d79c94207b18b548eb623dadceed2f690ebe4494d6b9215f329f7f7acfc7f304e6544d992d20c62db6d4c571a24ca11870550df1f5d242a0d +CT = 576d0666ae6fc730b2ac23e969c48b45cc673301c4764c5832c9131ad0d36a304f5801b8735722decfd2fbd0196f23a26a1543 +AAD = +Tag = 5c1e066d9caad193907fa5a799 +PT = 94b6d192a69bc17bf578fd2d19184ee16cdca34aff2c1998d66490afeb1ae3f7097102b5bf5a15d26ed8e46c327f6a45127e2d + +Count = 13 +Key = 9c74214b9b686bcdbf5ac3a3d04f2350 +IV = 12dc620925eb1d19ba2fa008d7f742087fb067c67f3b965cbd8c5a30397c873ec8f50f8c961d727753d0dc553cd7468b3a72e1152055c46dc80ab37bcb6d798b5aa643f561906c00bf326eaeb37c164bbf469eac4b74fd82b26c33f80586c9701aee3ff4fec7018f64c2535e9f755fafafbf30c7a443be2633f6fab7482bf982 +CT = 6620073b11a8150b79fc382bbd371e70c8b31e7f065280ad91b05376f257eed3e8a82fc3f520ba22577e6a41f4fece343f5fde +AAD = +Tag = f76d4bee6e9385dd065a1d8b2f +FAIL + +Count = 14 +Key = b7c03c8e51f2cb101587bc58d70f21c8 +IV = 1b6e685240aa24da2ed19c1986943efb971d37a8b99f4eec1908ea0631c8e17b9c14d90b90044926343e6ffef2c9a2fb0f3f1dfa0d9de77cef5dd912c1437c7a28021d944dd9c5653981d2d7ee858c6054f2635776dabd26e7ffcd3d76eaf2fe33d801514651e9ccde35ae3db31716126ca8a2c4d415d94e7694692476f235bb +CT = 999e75f2c9416ec4c5d2e7b472418c691f09cb3d914b5a9dee35f6eebc260b521df3327379c738be084dff4313142e4a7cd872 +AAD = +Tag = 46997f7cc28363d0787a2c9730 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 5d5a6980aba78c4c0197e2420ac58a9a +IV = b83e10baa5c23984c861bdc60e53dd26c99a63d6c1a19a15fb2de3423f62d2c75577727859982c7d92a19e69f419f3a6247c719818254c7620793366d1b4b38fcbdd7f2546e3f281c5433c89a506eb4f2fabfdacfc801dbfc733ca3d161fd27a3da5a7c84da4e10282b14240266dccb4cfece933521385900bc4778c8a5ccc2e +CT = 8788b68ed5b601fee7fd6f7ed16b31953ef5a7ec2505282707374ec9de8f9b388e35ad2c6ad987c62dc4ccca5fc134844e2aff +AAD = +Tag = 93de86c6c80df02f09b19eeb +FAIL + +Count = 1 +Key = e3a9aab8735f784cdc12d4a41aa7be4f +IV = 3bb213adc907e2c7a71c6767380ad43a7257273f26c4c9887a2869dcfab5cc8bbd7b39bb2589fefba8afcec16266fa43b38bc4813f95bd613e1e7625b49e8fdb1929fd45cce41cf504a8e66cac81c80c8f1090a2dd09a02218df3756687efc2e594f0c30842ecd645cbb36e6c9a2e0b0414adf0bcfdc6bf7b6a7899b0a544eff +CT = c0c1ea9364957655a2e555656ba36cb021289221d14ae8b1e65ff2535cae684143093653fc61825b31f4f286af47e8b1adcfd2 +AAD = +Tag = f516d379dbfc772dab40346e +PT = feb05b4566a6be307f8373483492da1cc5c5486c08b19f0e34ace45e9bcc00a97f17d357cdcf5faedf53b4167ad4247e04308e + +Count = 2 +Key = 8af4469d4312d5ed8276f26f33dbcc19 +IV = 1f44cef340e102ce73d1deb216d00f951b6600ba1241747c95f0ee671d064f8be258552478f21f747ca9d551719045c59e08314465a0a4348a432448bafdfde979c10a7db2dc2f7a2c3892dcea6bcb181700d29f43a5980efc0d2eef6d02792f00d6c4c1daf03f502069921f4d9d23eb704ca4387b01171b3bbc58d73361a44c +CT = 220b2a65f54da36449c6b11b2dc9bbda185e62210e18345c4716f3cd6d694dedce1f5c902930356a78617038c357b3378a1b4b +AAD = +Tag = 6f1c67d37c1feb1ffc98aa71 +PT = 1364081f760926cdfa72e4d30d72d15e8e2da40766dbbad8c04b3a5703ce6025a3e8a9d3466b3a6d9962244d94323a4221cf14 + +Count = 3 +Key = 684ae19be839caa727bde1c7c351a723 +IV = 883b919f55483c6ecf623a9f589f9e88743e6fe041f20d9b5219afecc4963cf15ec127394b798db419856a8254e0ceaf6ffa354352932197feee147b65bb7956e4fa87d8dba4631e0355a3c3b5be1e4215fb84607ec153b5ef8794345586590ec4b00c229d8253bf912f7515f5964e798c8798cab7acf8fb93ed508eb608e796 +CT = e7897322bb28458c419fa79643bd09685ad6b2ab8ff4387393f3af75187f56092c30f0be2d9c61ad3a9ccf4940e3b0659b239b +AAD = +Tag = 3235b5e514785f09fa6a7d6a +PT = 2d45c4a529d5a3bf3b8c06dc3f22d6c3aa8873e8565366d19a5c4fb1c6ddf03e6f121753c5f5281b19cdb5867590c62cd335b4 + +Count = 4 +Key = 406a4353489cc9987203869c0e4b3865 +IV = 28646146fedba58cf6f20b540c704b3d1b667a3144656ca1975960d594ad4f448e6859442c4278a5359d7b281499302e116ae220a84b39a1097e7303dbf3d2173770ead2e0595d64a148323a8d0f3f3d36311faae931ac69266a007454e956498657ba4f527c54515e3bc5c764f653f4e1cd7eb27241bf398d34e0feb103bfb9 +CT = 8b9db9539230f61449e25d1ad11c515461df94b596c2a4cbaa3147a45ad06339a32e911d4f11fc30dcecc41775b9d8147ce857 +AAD = +Tag = a6e1cdc29327e325b73cd660 +PT = 0a929cb370c35d7cb70ba6e621944bf0c3987d94c7ce9faf87c324e8efef6017a02f9624a73791310847b66a2164ec6f203417 + +Count = 5 +Key = 6d253e7a1d0186572eb5be2549686467 +IV = 05beb0cae86b64bf1e1f9eab6222fa8bfa4631318eaff20bd673bc0e3a4fe116172b435a09a1af3e48a96f8705db5b61a652daa27edd4b78e23623fa90fb73f577ad4a2c5b1b0ac2e74480dc7b74abb7c4c108c7703b526c35be921996a96e2db32d6bbb2003a61e6d3d149db5a25b2b496fc0da219f874207e9b8a79e3a4d75 +CT = fc78cc2246153dfe88a6576b292dbb2768e4dc88edc52db546a2e64ffcb6c1cc2a058f6d87f249ad493afd04f09b9b24af9fd1 +AAD = +Tag = 4384f0bd17a59a43b5d9b4a8 +FAIL + +Count = 6 +Key = dc0d38c32a373bcaeac9d89c496b4b3f +IV = ebb81a832657edc552b11a9a8a0cee79a669285d3f548efa04b0b84fff67674cf06f8d0086c116d2e0e724ef30bc59adad1cb41e9853af3e8c853dd1a968762b233e4c10a62940436b79b61008f8c8eb04afa9842f9cb7f9d9b2ce40bc253be30cc7886edc3cbd2ef4547052e5c505610759979e814204c3d80cc34ec8c30f95 +CT = f6b0fa1547e65659df0e114139307cfd67fe1fbd51f4289ff86450393d6c4c57301df0eb9a75992cb4ee289a47e98de0e0e624 +AAD = +Tag = 1938165f8943a2531256252c +PT = 9fd76a7516e2fe30281d57d6d82f2a4bc6497d4ec86b2b7ef627050e500207f5f70ae078fb76c0b31b59f4ed675dd53e755220 + +Count = 7 +Key = 4b43bab9c016e1ccee7696c377b4d717 +IV = a7463cd492a550aa86d48fcdf8f9706b385acfa735805dd56d3831c6f53eaf519f95b79054bde60a0d0104cda325e2289c4da7eae44154726516fd6c2166142af45afedac1ffdcd512516270e14f11da26ad785fe0d0a60b268d6464ebf7e3df1a8d7b416d09189811f017bac2681244b3877260e9919497e2f2cd41a6014eef +CT = 78d1c68e0042e4a71ce23121c81c3a2459767e167fb12cf3251317d17ab6ddb80eb173807baeaf90a2b3c36fc48be8875e3ee9 +AAD = +Tag = 438a4a839d1a765bd4b2d488 +PT = 9306e6ea2f3ade74d86c4d17150b1cb548816da7b0e54f1d47dedc6e2a9a317268a09e4b1260e7c6c4ea75b9ef8b179b402387 + +Count = 8 +Key = 3d78bbfafba2b372870947d5c63ab9b5 +IV = 9924ff45bd00625e6cd71f4d0cbcb604183d05b23e11ed8d1c0629de41e7670bd4d119c0503179a05c2bb207d3c0919cc05bb63244010909f8ca3c65f59fab0480a0ca583da570331b8fdf3c34e6ce600ccd1d09f85b583d94b3450e0f592bca9f6d10ecc7e10be0be319b3f215513e0dfbf341ffd818da631c5f4c70e1154ac +CT = c73f726c3809cb208bd203ca0a0aacb6b1165fcb90ce70a38eeac74fed3c28f8ea909ab799bd6cfe7b72132e87efc7a20518e5 +AAD = +Tag = 8b3a985e5fe98eb67bee1271 +FAIL + +Count = 9 +Key = 654bf777f97b2ba798cf4dca00ae94b8 +IV = cbf2b259d5f38e470243f615f992d1bb76864284a07ab2bc395a8178def2fc04d99d03c676610d8836e6bec5836b03b9f8bd750b0d03dd2d9659e1a77929354538703f42dcde0ebef5844fadac5aae8198f061f66aeb4c0d1b665d8acbad3c45d2e642da09dc76f381d6e0b6e4fa722c44bce44503db4218d799e1d7745ee3e3 +CT = 44d3eb95a6617a19bffcd7dfb6bb1e528970db5b5bb37272ce4595151bb7b98f1e8b0d99711d9539ee9276444165a8ada29a4e +AAD = +Tag = 42a71929922296075e964eea +PT = ab7966da3e220dfcb5c2c1878086ebe942430b7c8ca3dbde24ca70b0ddbdaaf6d5ad54b1a44147c936b080714a3045f7bcf9b1 + +Count = 10 +Key = 727ea22dfd5ca8555cd9efe3c5f0176c +IV = 892b80559399b226da8c1bf857e5865a9f6ce8e4a48ca8f6a6938db680aa3b14e1f6be42301649993a7316c6c5a40295e3212142ffe33f53aa3f35b104bd28aa62817f59fe1a2c5e21986f05d13214501c8c7dac8c29fb5923f232ff7a81e635c2eae73fabf8e71eb3e0aff3a684eb099d18af050d21961bf1d25b1d8800bb12 +CT = 73b8a239672de02e6a7635e8c44734da9053d59e35492da8f4d73af9d9e660fb2c7957e81aea037200bf7f9c0ed389c6b130d3 +AAD = +Tag = 7017ecbaddccd99c8276d46c +FAIL + +Count = 11 +Key = 0c31eab9b47778d1a1b9f5efb2d2b624 +IV = 94612b084588e1928772c6e374a00d90c1f2969d19d3dbbe97ed7e09741bc56106f76b7ff7f4597cf3e761d64fa71e5c8003aecd8b8a94c02039138b9896b40fc08f5c275fcf077c8929d7825921c58049e639d812c06f176f9b5a409502614e13b8f72bb7a1d098b825f82d01fd93a16de4d0f93a3dc2fd56e85701717e64cb +CT = a2cef3f02c48201a1f32242a9309488359f704af73edfdaba761cac06d8085535edfe5ea3769bb2fa20571ee957bf4f05ccb4d +AAD = +Tag = e5f3cb8c38083e2776d3989c +PT = 6e90e0829e48bb995aeee1f0396d37f98b17875c80a98bd2b51be49fd6f5e8af569b69c2fdaa611c593b4b5421cd5977d2ed19 + +Count = 12 +Key = f3fc229dc07b1d4960b4f3dda200fc54 +IV = 33a036407c3b4b284ffd54300ffb3a566eea329ca4bdec7cbf0a711c47d66647bea25b15a4d035bf73001cdd7b9fe8fb8e641df313e2ead2c3e130657b21f146481767f339275cc01ea2f53f3f5affbdbaa88147d1b5c362c8281f4483e25ba8b19bebb0cfe8158ef33f035d6cc490064f3d5453c8ba9a62ae3a2c096f60624c +CT = 3a93486ea8fc68b787d53d29869372e7e9c558985a63cd99940b029c46a8419128e4fdf33d8fec1aa262e4be2341d1d41c7fe0 +AAD = +Tag = 11185f41becaf696d5a21143 +FAIL + +Count = 13 +Key = 12cbf7c00d848083dc3173f569deb5b1 +IV = 1e49a31dfb077f636bffa91d4afab737c263b71ccc462ba9482f57c263aa89fc4ef579638f2876c4485423a2c37a1c67d45143c1bb280bdca3e2a692d080c4b38f25908f7e21eb2e7f3f35a0fa07490883d0921bbb8ae2294b77e149e972f8567288b41e94c647242c593af95dd8ac7dae06c2fdf3d1a0a5ae5c718bf998fe1d +CT = 3cf14af5b4eb8e2ddb8c005bf8c2c294b931a697989e01f64114c0e91c4d22cafba92e3b63ce7d7b1605bce34f127f24583701 +AAD = +Tag = cfec6093830143b07dec8810 +FAIL + +Count = 14 +Key = e8ea8d088ef5697223759eaa5d354a76 +IV = 5ffd75166e2a4f1ef66079619b227abc9c0c63a4151cf9607c60978d907d56caaa423adf1e508a0effa975fde2876ba13d11a192581b05823c6a43bab49b1cb8154d0421a2b4c66d8496bd87ccfa0c55959a8a056b4f883388fd52bd4732a8ef982a9a14bfce1eb6766bf1713bc0c7946574f8eb13e0b0e91af69cde397005f1 +CT = 0d652d74d1b4036936e348db698c83e5daa4427034f5067c74807d888833e8cdaa57a9ae2a3833562b6271a7fabbb48543e74a +AAD = +Tag = 7dc4627d47b99f09a197a480 +PT = a7adeb3e0708e7136f4d75c0eccc93cd30189c7886373138341cdeec91d2f038bc532f6020c0d0a7e3361a48dedb176ee26d46 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 931683603dabfad1b5b5b997efb46442 +IV = 2b8004bc6cb935a140365b46a45adaf7c481fa6661dc94920e2ee1a9afc1e60b551504ad5518a6a415c5fa51b684fa1ba95ad61c53c441cb0df0e3718ffe969e8c922ee5df56cf24e329c8b5a19b96dc56e1eae3216767e6978c6fd9cc9bccc4ff29ac55da02b2e0761aedb786db4b160af3ea750ec620681396745b8f9b1f18 +CT = b78250dc479c83a9b8bf9b0968df79efffae488389860497bc31a54be459e0a842b445aa6f06d9fe5ba74a1173f1ca6cfb8185 +AAD = +Tag = f44402dace7c1e52 +FAIL + +Count = 1 +Key = 5a41dbc804fc233e66f87114decdb38d +IV = e06f3b0bc3376943b8df14a2fa586b5fd11d2f6b25030498a221cb23c6e77e6b797cd542f3533473fce9179b1724d566701dcf30667d12b555b4a496702502daf1e2660eb3a9f0b15b150a3fea973c6fc6095f06746128233f76a57f36d9e79f94057c4e58253b56ac3ae7bc65c0da9989775713712c599d548d62d9c22712a9 +CT = bf205c897585e79af0bccaa16ffb962d45e5c018c10e93c947f55aede0c4b5bee13d66f066386dd09cc9c036c84a57b792ce59 +AAD = +Tag = eb3a25200cffe5d4 +FAIL + +Count = 2 +Key = 41ec12026a1a4534f71009147fbd33a5 +IV = 0a1e1a5cd9e881b9d1d155170d5e55ceb91ec7a4d1a2c36a03a5959ce7936b849fa7cea47bc82dceff7902011dcab56b825d6cb57782dc7fa480b5c0665086aedf2c28723c96bccf0672dda34c3945e2eb930a4e9605f7cd2c7509853f6cd7aff1b567c6b1e74cbeae61d9c60e114af35963f79ca0f01d8b70c9a3742844415a +CT = b92191088ea51145d23e9f8576c466f44c523749ccf35ca35842c4921dd7db5f51e7c7bbdfb9af18933c2d4d2cd3ce68c5fa73 +AAD = +Tag = 23121452d7459ab9 +FAIL + +Count = 3 +Key = 185119c2ad705cd2e4c798128144ad4b +IV = 37d0c63938c3b617470e76f63f8272a6b1071dd272991aab760c004c6e3f84b049748e74133e1cc436389966346f3ad106fa6d3fc71f09153f5c01226750545d7cb218429006f79ca4ea625c80fa2db88abe83828dd5ce849a13e47fdd455932639f67d7117803b09bbcb2c27bc4a315a08a4c620a34448b44c5dc4d4d3dd058 +CT = 521c3574dbc0a3345f74589e95a4e0b817fbff8643ea945cad19dfe31c3ad6af19601bec721abfdebf12dc4547c0c0010c29ab +AAD = +Tag = b6fce84cc69e5ab8 +PT = 0e8a4e10bc01e7f077d603ec4b20ff36f1044cd9a540498a223b6e8892eb57574aaa8bce2b4557ea84edeb09f292221296fbd6 + +Count = 4 +Key = e9c7b25e3784f5190cab422a787d73d7 +IV = c48af91bef58f24204a08f49cc791704fa29ff706346d38921c6184e150759cc1e28c36aeca43f73ff8ea611e0ee97abcca5156e2b577a33a07515265ee79fc811b6af4c413f3d3a2fb3d6d65ea57338f4a6c1b2c43e9ad80dc65f4d1d0a04fdf62f274096bafa3b0b30fcea3640275db60084acda780afb368b17cef91685a6 +CT = ac69afeb72c7e9ff276f4527dda0d9d1cf299dcb0ba1e2e04a3af7d2ca74db38fc2ec9a9c5ed07b866d9333f4c35d0677eed3b +AAD = +Tag = fc2002c5c528e91e +FAIL + +Count = 5 +Key = a9522451fa36a962b4dae1b4cdb1189c +IV = 7f7bac6423b1d215a59f88657b78d2ba52622532fdfd7cbf9d084ad87f2322f03bdf2cb00e448a6c379880891b07df27771756bc555cef46f7992e6d075aa5cf02b5fd5760828b4139a3476150d0c8306ee4dbed1868f88291385ef4b783b5c7d52fcc37ebc91fa76cf4ab0d4d238997a37d50b359aca826c59aa6940eeec075 +CT = a4fbbe354f91c563875cebe44e91c8a3b544b5512438ac3efe3778a6b679bfcacb9bc1ddfbdd04b9fe9b144729283d8faae110 +AAD = +Tag = 2126370669013f7c +PT = 9156328d58a28e0953c50fa250becea246e6f8736924f3680353eb20ab411a884ab059bca37ec9ea9c12d0a86e57e8ca0a2ba9 + +Count = 6 +Key = 56adfbf9b2c65938f235473e8b696186 +IV = c7e4ae792fcea5fd74a8bb80343a5693faddb0ee6710a60001b3fd00866791458ba6f5d4bac50575bab09ee5a46d6c5cc5cc2cf27629bac5a4460351ffe901a51d9a8e8b85810a3207b1026e4b8e80571492987b159d524b53238019576769998d49bf945b3b4144870d9baaf6f280fdadd821a5b5181699f3bdc468545dd68b +CT = bda48c7d61ccdcef75e0b683a74c22d8070af9636ba4818f83645c98ab5c3060394d36c5db37610961d19e55d66d1eb4b0c4da +AAD = +Tag = 57624a913ce6e903 +FAIL + +Count = 7 +Key = dfe98c696dc6f333ee5bf7d409e19909 +IV = 5e58e27bf80a2811ef51bb2f4f769983b68ed28b16819a6c0e9a9a9e954d4d5f411bf76313e9ac6657907686882735cf9ddb0282bf2601053c504a33e9a500ae8d74d9bcf672f339ea5e12457c5c08133af8ed25e8adc9ec99892f2501e0a522e0afe7fc9a128dc4fec3e6825d10f0fb44b14121b9ed7a3079922a74ac4f7263 +CT = 60e9c7d2d3f07d36c76c5f71b64cc1c9f72a217d52ff663a5aeb1ca13e91aa5c0121ec6e0ccc1d0e786775eaba4dc386a91fc6 +AAD = +Tag = afb106c403025998 +PT = 7bddb00c52364c26606399ac444c4d8c94a17c60db382897e4139e3dd8f0a19135735fc43bf56948ebec617cd5059c0dda5d8e + +Count = 8 +Key = 6a2f532314a95cb66d931a59bed9e577 +IV = 57e905ac005ba0b6d4d212917236f1f3383aef1e5f6e2b85c065418154a3e1f839a6d58b7d1f10c9b9854689f58f985ad433927150c5450d992dff68efd074be0d9aacc7fe403161265804e118e66aed4524ef140bfb5d3a43a5e25a07804a625864b085bdbbea8c3f564e9b3a2d516def1cc1a7aeab8bac0808257eab4ec1a7 +CT = 52a07d06d4c2f16f61956a158aff1a7585d728ccbfbec72511b71434c520eab0038f8c027e52b07af765965f31792df3af681c +AAD = +Tag = 5c4dada13721f098 +PT = f7c2be9d90b54c604f3af734db2e1dfdd59c21ce5b6f155cc36b50a7a520b86095cd5e4c939f84a94a3162219bf4a1d9573837 + +Count = 9 +Key = 46f0ea2c7bffa842754efe8510fca245 +IV = 34848b33e331a2859c3c1c1800d2448fcc20d7434069f9515eab640bb2f610a2b50055f8f1e28f96d3e87647541b1c8ec3ae200ea00666c69b68ca0bf165f551f1dd36414ac19a9145c4bc03eb5dbd7f40d7c1adf242cd00080514513604fe6a6374f855a03884a5fd614d629fcf10b64e2f1a60b2200111e7c1620aa23242f6 +CT = 75f73dd51c760701a61bf70b6a3d478c21cbd5eeacd70e8a007098cd69b1c5de0366ff0fc6edaf775171a278abe4c32895ea74 +AAD = +Tag = 23dcadb7de97be9b +PT = 63c24f65717e0b9c93a0c3ecf4b9b2398a7c77b576ac8ac26803ef81952a8d831ee3da7ae3dff618642a2ca11a463603c244aa + +Count = 10 +Key = 41035637e1244898922c337f8a0d564c +IV = 0a3b424cba2c2e7e3155186bcde6519a5282b76bbf3a182bbb40846c9a8b80ea31114b7b509e2e083ab10aedb6f36e29331b90e9026542ede117b687f53d034502b3dcf3066e96f18229a0214c35c8275018b053f8512a5ce1cacb00a24f22bafda3cbb9e8197d6b153a21d5048dc31c9e29b3ef2800e06a41e20cc783e99368 +CT = be665645bd188f8535fce9b887e19ad836d2375817b8eb4074af70776425c214513bddb525bdd2cb0f46c0c0b9221dabd69cd5 +AAD = +Tag = 3a34b9453e96d13a +PT = 0bebf9f98cd34a77a95b2ba9d02d0aecb4d7e2ef21046ad777bd56a3eb1d7f5cb8c46503204889c7073cad842ee20ebc7a20f0 + +Count = 11 +Key = 2cad517679a6fc6c28dedbd07626e50d +IV = 8292c8c8083e8090ebfed76a83886df4dd2c194c6b34ccc94d80b66c7cfdc7d19666cfb6800764f2d9b4faabb6b9da95f8a448e369b780e9900e1eca8ab083e922994baf68199a8c855bc8cab4f5da1775e9829f83895615460a954ccc1db2ee5ce47841ddb8c65993ebbb828f7b3278f43e70fce85df74cb0301e872e843e72 +CT = 3eefdb3a92a37a26a6c2f7acb1df64cb8fd41c8baef7460f0152a5c3784ba655e0ce32344e2bc841311d297094e50b06dcdaed +AAD = +Tag = 70fd90b93e6c676b +PT = 801a96380df7be6d80008dbc3488fba95db0dc26354e9f3ae34851bead0e364ab53b8bfb7c259aefcf242b96f1144ff9be41c8 + +Count = 12 +Key = b9b930c363a060b5e93771cd2d40097d +IV = 2f738ee7c192bf9a94143461ab207c0cf117f09151db17914ef60ca35aaff6cc5670b7a13dcab84fee57ccbe318efeaf2b0f2499dc1a5e92371fd6585b6f344bfcd99d51ae0fa0068395453a802783e9b04e536a36df9827cda069b38318bacd2bb5f413d61823161ca971a45aa4e917e9bcfacf45b2b311a13ee595db03d634 +CT = 94f0e794beb1d67db54fc511a467876d26f4161a18e45b5086969a8f789dbd8fa3f6fcd794163fc2f03bb91577bcff8e9b8619 +AAD = +Tag = d957ebe55d2815e8 +PT = 1bacfe32de46b2c1fba4cbb76beff77be921130a57314d9c44d0dfce0dcb84670dfc46236580e2de9292dcc9ec99813f5cbb04 + +Count = 13 +Key = 16517fd2354d73bcb80ac2c41dcc7782 +IV = c74a40a29ec36e82a514cdc1b5c3ad5f8e7670257783a56b00dde8146a6d1684f26e96b8ff13de04e2e343999bddaca34031569da30dbdd020ea032f2db3fbd657d3811682e83b8b311e79ea5e39ac0f027ed3ccbea375bce936e5cb6fc7fa0cc7e7d6a582cb148225bb2cfe923e0c19bec6b0376a016837c256a56a1a7d0e2a +CT = 2c322d247e8454ad41628f4435ca2bb83efc541210a5378538344b9daa6cb912ba53887f280f3bcb11a7cce422b7e2008a74f5 +AAD = +Tag = f9b28bb1ed7e7b73 +PT = 8a48cfbefc8f585720ca6d59890e72a133e50b9f59b9849013d2259f3eebaa3768529d8c6226fede9fa6ba44cf398eabba0a2f + +Count = 14 +Key = cac4865a0490421d2e562835d462e927 +IV = ec8a84808889c899a24271fdd0f782442ee27ebfad392e1208b8094fead6137beaa45063c9dd4f7d8976bb988195a52180a3fc62a2069a6c2153dfcbf751cc917a649a9413e748f27ae5fb50d09e498800e4c510a7a2b32e8ba4e7644a0b93a0052b7eacefd9ef0bc8c21b2679f07f40f8ce09eb3858b5828d1407da2dd0b729 +CT = 544ba4a86a954e75d613d144f4fee00419e0d4b2a21111b9fcfb3bf41404e6ebf669554c37ff5e071f67697f83cbb7bb3345ba +AAD = +Tag = 778340f4f76aee3c +PT = daeb521ce0bb4f0319407b9be08e7359df27060c66023e3176125666d426bdf81bd45a0a0a085def927a2d75f5ef793c77e569 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 137f40bc82b01b34047a407f40d5c434 +IV = 1f3de3a272227db8a88ba0cf7b23f7e57f84ce370b289e2f774a0c6184f44f9df9b3e645ae506e3d18cdc819fdc3b31f77d2dae7ee295ba2c776e6f1fefecec740021c4aa1118a6ed3813720411f27ace5c11437a78b3d626b5f421e2f3ffcd0677930e7878110a0cad535c057261c63f0531b538d8bf04f491c16e871f071ac +CT = f6336f2001a5edc519aa64071fabec2fbe4654ff334871e9cb8b12c24ffb7ec9f0d316e43bbdb568b65608f937f24f64eab19b +AAD = +Tag = ea3d8cad +PT = 60881890126afdf881dba4c1a7bd0f9d8c240073517b21c622bfa70c1f05d59544b9dccdd908bd924ca60d23697fe64aab927c + +Count = 1 +Key = 5e49fac6608ee4157a9f0ffde503893c +IV = 53d854bba28eb9d9db71e68b5916f9e73964a0f95c6524411fb18f64977d012d611a15fe8d46ec49bcabf060cfc7989c4a8272567c660c0881f944066b88311992b5d52cd644bf07e9f01d2249e5f9b00ae1af9f2739da627b3a8838e28116b02e7d171d1938edc6dd5d7da3dac63ed148b367961b809bf423510f0a3f44a8d5 +CT = 23bff066410784e0999a3d0fe742ee28ce8095fe822fae0f50b0b17d70c8cdcd705c83e108fcef2d64c5b4db110e9a72d3c4e2 +AAD = +Tag = 01aaf4e6 +FAIL + +Count = 2 +Key = 174b47de82c64196af18214d9d6dce2f +IV = db9653e9ca4ff27f8180f45eaf4861541d30b3b147d2b9b64709983dd08312b5fa709a7bc6afc591fbdd08fa0f21f06a25758ee199a6c6415cffdd9777280e620d7bfaa6d551875c069f5672a730aa68137cf33f86d46cbd548248e68f589c2e699c554ae4680417e9440e5514c1cee03205324f789d953d63518b023f65abe6 +CT = f8b0c1317c5f3550363762dc7fcc847376a7917e1505cddafeb5451ecf4464ef52afd797697f1b0b1e8d3a2376600d6acc1c88 +AAD = +Tag = f6fa70c6 +PT = 523986d433fbcca153af7765d177e2bad72ba52743440250db451e2da643913cb25b33fa364011a8f8d5cb563b461d46952923 + +Count = 3 +Key = 5194e88020a501ddf21a7ba5525bff70 +IV = 444b0037fba6cb9d4f4e33df32289d44f262d8f535564a1921e6a4315611b98a4e1074b37114758b421ca44efda91a48ba8674c695c259649c0bd3c11bcdc8363d3d113a534bd790988a44e72559fa70a5e2deeb9da187e2fa89c7b636a000a38d7bfec2edf2831ddfc9326f0c54956c149e5ffba3f556c8f2a749dc6ed5407a +CT = 31398e58d6e27c50e85c87a4dbfd73134f456ff042c9f869b47a41e3c10db7b24cffc103a2185a696fdc1f2d389cbf41379f04 +AAD = +Tag = 2d28343a +FAIL + +Count = 4 +Key = de250ebe0ea1212480f7193934d1ae84 +IV = 255f658334f1c5258d613ef92da7242079795e9c04c5c4e800aa1c03b6abe77f4dc28cf614278900b52f1de23550fc9c0ace8e8dd91a25d0240281dcd684dcb786839f376496692f3e35a5946bbf7b39cabf7d782f4e77eec53a875d2a5e3106238dae0d048e8b9ec7b05961d9d68489bcbe2805ab0f9cd42b5f8f62b4b28b00 +CT = 6eace8c7c10c713870c676e557c6b49134af26011af157de1e2c6ce0769fab666b9a7844756d6b948ccdf1df77fa98119c83a0 +AAD = +Tag = 87b81d39 +FAIL + +Count = 5 +Key = d0d9c4aa70e5bcad8dd9d72d14c21c54 +IV = da20388ed0709e5af5a52a5293bc4060f02ed6d05d96f9ac3a05c14118a3613ff790b721ff2c888d63c04b9b28a7138ca00d0ebbfcb11b70868f5b90c0dce79c7220fb90d5f3b6e22c6ae3640e7dfaca72ec12813820debdb69f90c8393645d7e96cc36bdf62ecc4c0ec181c64593c65c8f707d6db61b16c6a5c2f05f8851692 +CT = 2f08e5a8027a88f0e223429e6749dbdf91ff9742c7c6130962ae837a434a7247600df8e2004fcf3e81f8ef64e6a23bda002f3e +AAD = +Tag = ef6c0d39 +FAIL + +Count = 6 +Key = 464609f485abe0bf4930102f9637fdee +IV = d0a788fa1494d47bd1cddd55f88515229de5c1a2ca7dca054e08bf35d3c0aba677671d5290c3375fabe40de14e15465138d298edea5efe1ac62452dfee86920fec8e46577bae1c0b43d77cb6b8d1de6ba4557d7410796bede796b8b87b5771e30e05a8bfa55ed92194d506892c33f8ad6038ee8896b98772d1a88a7a40ceb650 +CT = 5e81bd883fbedb3e074ba273751081752c3aeb7a62b08091b768f8f8e6c0913cf633358fc26885150adf65bd1d708d9e45eff2 +AAD = +Tag = 7e715546 +FAIL + +Count = 7 +Key = 018319ad18e5d877dbdd871316fa6610 +IV = 941f8715bbba7b1fdfa98c8c05546a50f86cd02b654862af6c1a70cf4d79618b37abd1f06b7a29bbed74e728a8c78a0ec8ef8312f2552fc4571f48024ec5c6d44c21d69311cb1ba390cda615f246cb175a9e8a522a20b671e6df973b8924fd003c5dab7e59af63f20edf56e9dbc9f98fcac25cc692cd87a3d8fbf8d4b5f150cf +CT = c5a681b2b2e5f68e0cb698150aab9d13e93e900e0e6fb20170a4104839a7e0a5775bb3f20ae814edd109530552ee2b41cf5986 +AAD = +Tag = 75a966e1 +FAIL + +Count = 8 +Key = 3556566a1cdec721469cc86412ade697 +IV = 731a29cc083422da193724a57c8126b587c3817fbc6b76bee106abb3ac48722bfd0cc15deb573ca73f2bc10ad7b60024f297bc52c31a7021bda91c5246c781a95d5d18978c685f096e9310d6f5ed151122262f7d3f5a2b265321683cd72e0693ff608e378199264eea876df44659817997b323e43457e70809c74737d015cf26 +CT = 753174df0aff575fcea79e54e5b8347e69175070a00d58720529b173e9dc64677fdf459ad72385b03244d90810670304129f2e +AAD = +Tag = 41147153 +PT = 7588b757f08b75fc799fc825034ac60585e24c56db94920b6982bbae86030e7a021ddc89a5131e5371e9295e414d3503ec11e3 + +Count = 9 +Key = 2ec96059d1313923fe522bed1e942491 +IV = aafb096a63195cfc959bf93785a48cb7a78b98c60f861c9646129222643d249e50d46f706d670662f60c12a7f0a6ad65b908ede9a56b27c46f07d427754c11549154632e9b5ffa25c9306add4c0b13c7191abd59430a65ccc42c5420ec98093ad6ec6ad1c4d3bb895ca3546236c2c78cd075b4b1f44a6a03d115b91df02b96b9 +CT = 61c6b8bd44c9c6eb075fa9bba7ac0156bc64a6326d32afedb51f35daf232dfd068dbfd0505933519a753bce6de4560b79b31f1 +AAD = +Tag = 26f53f5c +PT = e4b86f8b7684d6a300cdca848ee8185c41fcfe061e61af6f3a563ceccab58751f1884b322019983d99150db217a1e92a8f15bb + +Count = 10 +Key = 48cbb46539dca9faa97b69b32015886f +IV = 1d3152ccf3ff05a81837ac7c55f791c78aba8c95149c80de8724b1126dda847b983a1bfe54ac5206d5915dd0796944e4daf432b14a72c5fcf81822ce1e3e7ade345528641b94a2fdc90afac098b9e4b0b5ad159ba275dcbcc11fec04bba0f12db9b3d1473ea0ed7825d293fd0b5d2d07795b3de922bba5660778adbdb2cf8539 +CT = b2658e897b85d9acf437f9e895189954134c543aaa91fa82c586cb5bb1d96e04b189df64df5bfcb63a567e444f4653aee3fdbf +AAD = +Tag = 48d21620 +PT = ef58f7ad664e36dce523408e497acb871e9a579fe4688be6425adf41c4c41db85e905e9279b93a037648802dfc273b387e7216 + +Count = 11 +Key = c5c2e83c4e5b336e30257c95c8f7f75d +IV = 269c29118eb9cb4ae8fd8ff5b3a5d61f4a63a719416bf2cc5225544cabdae24741239ba7910d1a32364c341169a215264ae62964322b6ac64002d09455f11d9658a9454cc6bafa82dba5b5365b2243e854470dbe74a3043b5f5f82ebefadaca4d468317c83076691c188af6e800dc296cdd941fc1aaed8840874f8cbbf96827e +CT = 891da6e799429c772edfe93d9fc3ad20c25fd5a172d272d0ee6b7063b59b611e4a2805923f182abf99373fbe4a1759339bb13d +AAD = +Tag = 6759d819 +PT = 474a2e7aa4a5422bf17f257b584059fc7abe2d25e7243b434a6f936f5a0eaed692616a43a2aef8b427d83ddf1bece29d96c581 + +Count = 12 +Key = f4d7a0e84b7f024988f0507098415616 +IV = 9d58c03fe45a97d4c556bafa4292766c55bd84d0e467c6c26b0e42162015f3f506c9fa06caac63a3ef6a3f0ea62ca4e122bf453a767b2b00d6277a990329b76073c64ef260421d887eaf89b6deb488a0528608ee8c38faa5f5976b2b71d7e29a08ccbeb2342ec15c46232f3c8867ada7cb8cc8aed0728dc59d706913ba62124a +CT = 11358bd3ea694574c0bde99aafc2621732fcd978626d3a3ef124e98a2c3dcb8261580306b51ffa9557d379952ee31bffd9ade0 +AAD = +Tag = cc46943b +PT = 4a289261f4ced6fbe544fa27d430f04c72ccfdbbe0f93e881fcc1b29a19e706a579a98304cb2b03cfb3aacbe187dc69f923ee5 + +Count = 13 +Key = 31237ffe81db56b9541133156fd0e7d8 +IV = feea389ed83bddb360f42351cfd56321bdd0a8fbbdcc8787725a236365eafe5dbc9c6e9ec8e9ea0f74e623c33a574ea4223a43b1550add0c75d8348315add72ee9561e1750b69defd46214bcc507d4db4c66c6da23612aabc2ebc9b0e6d5aeee270c013a553ddbc7d7d7ac62ecb33a5a6e3db859471ca3d3686203c0c96eed2e +CT = b965d7bb29a8811872c894d535e001d534a7d6e99eea5bd14ebf39c5e79c623a67d549bafbd0dcee1494245c04854f34de677e +AAD = +Tag = e6fac1d4 +FAIL + +Count = 14 +Key = b0e576fd7cc85f7c92d44e4b8c149b3c +IV = 3855af97c5b740baebda1532c196d187b8af0da761489ee9e267fcbeb720bf6f73cd743b69d942f3f44893d68a5c70174a1863dfb831ced0ffbee668a03e1066e8b3dc03dc1471c3a848b3787c0645b20add2fc0cc37e5e0aa57ef08fc69c53897030fcb5579a831ee53c76df2f75d2de5bea93e9ddd8e4e1383bfa1a7c7aa77 +CT = 624aad7fd047a61c09638b8dd5065d7c00960035440303a03ff1b19caac02baa3b6835581f2b66c2381006798c9d5d63d65684 +AAD = +Tag = e6142617 +PT = 0fb24ea93a14e3d76c4d7a991cb55e6bde4083504ac9f3a00d4b0ef53d3929953b53f5ce820c41b9aa75a985e09986d3f4baee + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 927b11faee9391a137a79e6f16301b6b +IV = 265a8e0afe1316734ceeb84d318db837a14b6357f83383112f10eb5bec19b864236268aa016cbfefbd58a993b40306832065f2fb7a08bc39aaecc3d8f2739b0b1afb5bfaa56e731bd91b391e8051df5168c1375b66e51094bf168cce31f266e3e066eee67f5316b3ab988cb14caa842c16f3aadfcc76005dd7cd7267fa904f70 +CT = 5a92ca7a66f0d6e6c1f186b4c88ae15700fe7791a8494a695369890ff21996235eda9f8e5d91f79c740aef925911ad2abd2da7 +AAD = 70fd34e8305aa4c22c02c58fb71ef7f5 +Tag = ccff88e80cf8c2dc62dab34fb793c859 +FAIL + +Count = 1 +Key = 8071734b43b83c08bede6eb6448c76b8 +IV = d6c9ea90fbc5aa88a29f4d007a157fc6cee0fa98f9f799b51c1827ff2fdde6d4f9a3ae93d0c4e24d5cec8a23eadf7987eb2f96ac1f6ea08cec220d8a1074756a1a893917fb0a70ee6f6c1f3c5737e07129dd4f85636dcd6986707b919067ad17a88a818772fee20d4bd83b82371baa3ddb8ecf69628165e9b699132bbc468e44 +CT = dce60becd62e1ea27292f1eb57d84898dfce45dfa2fbbe8257594813094d179ce8844ee7a6d8b15ab061b4f9cfe0a4b1a86b1f +AAD = 52b05be397e2fbb1d50a49b5d9d39010 +Tag = 67f540e85c3cb7c68282e602a54d361b +FAIL + +Count = 2 +Key = 85bf53f2b64ff9c023cfae23e26a5ae9 +IV = 505d7134c576c212d5d224829ff87fd795b1be96140ac51013f77fe18bc5c06d039e9bb93e88ded0ff61b5d8c83ec12a8b771e6ad89ca047c136567b60c588275bebecee58f160c2d3b4a6e45b157d771c39ad76fd91a7a875033e7ca41ec077c48ed377397707c42496f55d6485c0cf73c3c8104661f37f3443e745682d121f +CT = e1da41115a8ddfa19b0cbd2c293da56707eb21b78881944a37971413afca2000abe6524dc0f75633a579a658eba1a30eaf30ee +AAD = b4af2a8916642a272cb2411f7f45e4fe +Tag = 438fecb7472b0871b1df3088e59c9b21 +FAIL + +Count = 3 +Key = 84d5c51bb0703f93c6a573ebb0c8fd00 +IV = bcd57058a9a7f43285d60cdae7883c4ab4e0dc10b8a14493c046c50f975ee5d097e2efc4fc95fefcbd59151e0fb88d34f676cf9555f95067596d80b32e2df085549590f2c34bb84fdf561169f975c170ebe92502e08fb4ad4b51d8519641e32c3e1c93fc52597f0bff68b2082502d25436ad6b01801e1a08fb1b196f9e00b020 +CT = b5c3fad6fbc819fc8fb39f546093a9f2ee3e733b0ac38784e4248f1c1fc4dbaa4fc033e3bdd5289256910f8d42e24e2268f28a +AAD = 5f7f4cc06d9ccb8f811900362b51ab68 +Tag = 42e3bf74d787f151fdb824fc4f8f257d +PT = 51a1827b6a6b9d97ad10f1f5102865e673c21721d5d8fd0934355943aed42a760b119430ede596e5b87585f838f0fc3231ff66 + +Count = 4 +Key = 2cb2ec939b1e958f3341f9778d35bba6 +IV = 4fc4866542b4af4feb9fa56d4169c63e2f0a9b38425311449d2ddc9b435067ae0f5d24df1a7cfc8a388dd67d3536c6ccc640263d99d2097562a7e7bc09aa07992a30a68c62398d460f515bb08091628328da761916171c3a60d95fe89a3ccd9d07138a643004a2d876977614262033b6330dabb62d2be73f5a17bfd3201ed697 +CT = 607990815ef8ff3aaffb59eb9dbedf6d653a923079e606397bbe946a0db92fab888db98c8bfc7ee1e72517e991874e8ba72833 +AAD = ea0b0c51d5a8a42e425d905aae44c966 +Tag = 3ef873730548651f843150896e22b756 +FAIL + +Count = 5 +Key = ddda0c444ef1a7ccd4b5473478ff2fc7 +IV = a56c65e41665beae482062ebb6db5be776b490ea8b8fce4ded632680119e624388bd4ad908ead3f0e639f45e9a8104d01efe260f9e3c05bddcef85d8d55922e8cc0672e05d337ba17162ad3e12b77296daa4cc7b7986fcd170fa4f0da11f2380e8e6ebd707fb9e64d25e69110ad8c3bac61c66c0b0931e1da407629e1236cc9e +CT = 022edd74cee23692a0882c2d2244a07216958a4b826cab142df5897bc38feaa6fb4ddc155e106cddcd47b63ed7802f7ad3a5d3 +AAD = 132f89b6ffd7ce49f231b370e6f9c135 +Tag = 515bd1e051f77d877a7a030b814d9006 +FAIL + +Count = 6 +Key = 98306dc6d7e48c0d5a7bd427e86e1de3 +IV = 81d0d9c12e4e9e6b05981b708661129a0573a511b9672ed054d60daf0f2a8d4e9b4257f6fa31f19b083f31e12b7773602008875d0b59ff41a3bff63a517fe50c84d176fcdffe9cf99ea2ed1dbdf5552cd10c1764dc2df34d97ba715fe0dc29b2a85e90b54e44bbd115565df4e7526a023f0b80527654202ab9cc02085b9ef58c +CT = d50ff00f849b1556b4d240144cbfe900c0bb49dce1ceb0373075c9e3b7bcdce04e5559a7e96ba7fd07f0e156d260fdf5c14938 +AAD = 48891a76f8f90fb296a5dceaa94f8023 +Tag = e6f98af1fcc0c7a9e8a2df30d67e0e1f +PT = e87d80185efca49db0e892b7371f139195143779c0da6827bc855d8b5db4f6c6f975eb472c65114047f2a7a262b82fbbb49134 + +Count = 7 +Key = e228061ff21c75f96c47c29543e5e82b +IV = 5abdb036c0532abb2727dbfafeff47239f81e98349dd1eb69749a61f8fce53c02641e4ef1cb660c8bb430c2879ec7c7291a0cfa6854393350f27dd171d5ec67ea78912e3212cd847c571da46db9ec04307c5eebbe8e948595664d0bf139d860850d30c884558aa6a17da327a5050ab0e2a3e12e7413699be9bc0154b6384a00f +CT = 8960aafa1167eddbfec8b90805e9e5975e48bca3ca10d6410a63879f1ffa7606d8c7809596b5e9f141b7eb76cfad0179301da9 +AAD = 0949956fb3c95c004cdfdb5900e2f976 +Tag = bbbe33e41cf25f5b02a0ed346cd1c104 +PT = 19c858dc86ae9d94acc1417d79911c06f4d47a1b035938c892fa22ccf351b0ed22fe25634f7c29482fad1250d572e02ac957f5 + +Count = 8 +Key = 8fb417f75e834ec6fcbfe0de9b3c5d55 +IV = 063afeac36b09c1b50e8ec6fab18168a08250b0b02f72c1579920b9eadf1a62011130f04ae31863aed41af766a1a27a8067bcd0b2a51a699751fbbb378fa2fb14a4b132cde3e336305ec0a7d1f74e4649b05c92f95f763aee9fda0600e5c51b6c781a83cb651a315e38e82cfd857f642c3fa407927b651e295c3fba93a629141 +CT = c9e3ebdec650b5c0acec2de7aa9e8f77f5fd547d7e1f59140e98b08bea7a8f9bbd038f7eafe970d6cf8ee2bb04b2bd1762fc6d +AAD = 666f06b417a0b3e15f0ca779280812ce +Tag = 48bbc7b6a37aac61b7e8d186e3f951e2 +FAIL + +Count = 9 +Key = 08da5301793ac7f55cf2be92582a5fd5 +IV = 37d462eb5380559027065ccf953b2e1e04442ffff36085ebb22a4302cd888c0945238f1a9948eef57543f640a11c80f1d286825cfb8cc4077e335f7ec98409b99d4a09df43965b9449ab69c3bb40521aafbbaf4c44b186ed26b5bc591911c31def0d89a221c3863e0aaeb2ee57dd0bc0590e619eb7725c9cc9e8ac17ede8b63e +CT = a6f4fc12cc156afbdd6f0062f15a1968c9e3db8c9e40df01d288c67113d4ecee728b635a74cf31c79a9b8d1bc0301451b97b8f +AAD = 1e9cfcfbc1fa7538bde23505bf441b2b +Tag = e36b1999d336b6f94b7f78cfa478f9b0 +PT = 8b443d3684da650d157fb882e8cb170c7ea37cfad2dc803e0a385fac904301dd23fcefb57aa7dc99e9ff3e70e4aa34dfa665d7 + +Count = 10 +Key = fe0ca445a9a826f5be872b2ba2f627a9 +IV = 794fe66aa9b9c549205154993adc7d54257390fe95e0ffd1ac57d3c269cb2fce221f1d24299b6c42f2c975580994a46776ce274cb4230b99a1004ceb40ab45dddd94b64469bfaa50c9b4ff087c382affa5327fa03fdae3173428794dd8e4512070e13e4f12dd2b20a7a81f0699d8c3cc663910f7613006a598cd99ad4522e3b5 +CT = 71eadd8c57bbe92a24019647c2c99c794cd63968b44a08d1fbb257fe4c286d5d565e98e59f52d08caa272b8ce3c6aa29a02f7f +AAD = 4884856f112af1f3bcc282c6189a11a5 +Tag = 10a3804ca5f359343be643773dc855a2 +PT = 391952f59dc5b15aaab975fc7b6fcf092dc171afe1612c70a1e140a330a540a3850a708999063fc26835d51f2adebbb0ed5dd4 + +Count = 11 +Key = 879257aa8dc405a260f66e625e6ad9d3 +IV = 7add0e5d89dc7aac2f23cef15120ca97d232994e2b5c9c180fc2620399b0dd2ed9efac95cecfff69326d2dfe070c5933d408621b45f67db106d6930213fcb071003d470506baff70125699da65582dcd84e336149691e832a032b6718e2ca575f07ecf062c972289b548fe43eb646246aca03f66a83244f29cec09b38eed630e +CT = 64d8984e762affaa4ebcb32640b90d9ad44ba0a394570287d795f3419bfd22a8e965975d85d5f600b0e4ab11eae87dd628ea19 +AAD = 79fddc129c32217603829f87c48cbda8 +Tag = bb9a6b233d948cc11052aebe6d48a0eb +FAIL + +Count = 12 +Key = f1907c613eb95608db972a19c7476dd4 +IV = eafced08158aa1b1c4b861f2208cbde448a3ab5548ba0053f9a85421976c45327da4139cf3420d109b440a464188894a0925a104145710eab57782fcab4387ea53d7657bf1cd01765486f3e1bdefa205e016c9466a70d5e0b561971abcc2a1c5a55c746be1800004dddbf048cffca705118b2eee7e01b15d0fadb84cb9510d73 +CT = 6e62f16cda84de71f6286aee534f135d5b0121527f25cc491f299897b08862b531d1a91adecc15705c8fb478b7410c5f7fb5ba +AAD = cc40bae7ff4a7ca9902a4579c9bbeefc +Tag = 345685c817e97cb57322aa10cb61ffb5 +FAIL + +Count = 13 +Key = f6b60d00673c8f07210cf5b6f0a5c609 +IV = dae4e6ffb9e5512ebcc7dca42e3ddfb7cb4c45a445e434b22b9622e31140e4deb079812b5df8229e206b983aa50020aec49d9239b63ae5dbb40292bc0bf3afbb3dd4a26c54a6b3c4875f7a1b1d52583cc0a97ea306671714c2622584d3d2efd611a09c094a67b0b338aab24c6d21400d74ba358b4853a9a81139c9eda7eb26c2 +CT = 1d1de817bfed416c3a450450e404b34c3b963bda3a0128f850548a71fff44e76c78877c74b1b73c1afb7f3a1b485e824d7c820 +AAD = a877e4750f67c123aca95f138b246fd4 +Tag = 78ceba447b148ea367c16a86d41f3185 +PT = 43cbfc111af73ece379b7d03532f64f0083f9f7e5e2fbfda98215e4ea502fe0ddecfd7ae7c9fc0a200f13e323a5b821f1a562b + +Count = 14 +Key = d1af895662262bb72487c870579ae416 +IV = e3ba7b7fe8beb530ce1d55dd06b4f7f7112bbb1dc89751ce317b28db02d7f12b0209fd672b012135b867b794e46f6bdfd6cd8825f0d6cf51fffc76b8eb580a1d2175ed8b1017c4b40a37e37223a54d61385b58e4a92d35b272ebb1ea66cb4a40f8e253597d771743198b9d328a6fa0d5466923864ebed575dcbe4359a2af5ff6 +CT = 09c195a92cb1e52265155b1ab25de4a1b96319c59eb73c647bb03cabd0834d13b5e5d404e0d808dbf4dcd5d833922be9a5b550 +AAD = 1c73dbb59c834ccc3458246827a9d6c2 +Tag = c4f03d2ff953876cdd04dcb865f950bb +PT = f0d15c37769ed1153e3f8373f004fd2116c290331c97f1e92ec75722111fbb2df097b14864048adfc981226d4ddbc51b74d6c6 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 6216db9bec1e3f4edd03f2a81c39a195 +IV = 6bbdf179def43971efc6f455cbf2ad41c9ec16651800d4642197567351d64089e5067e3a4102402c45b8e55c9e94d02970df2f2364b85651f11ee46392c37d1abc4c6d13e6fe9466c71d686f8e36731d8ae1ce46935f3c94fda9b4061f0c177cfd606fed67dc6060ad0028202cbc3a81614d0cb208f6eb2d97c1cf21dcdc2d49 +CT = cb7ece3f6dec629bf4e1eb40c3e8351a7f2c1db2a2ef56c72b71e1fa6b639c81e952bd4179dcf3c8843f186bf87158f382a6db +AAD = 5849b951b547bc63a2dbe7746e5af21e +Tag = bf6b02ad3401ca29c3f73dd0aabf11 +PT = 8034eaac667de7166358a342f21c911473fdcfca22659a81367068652d8bcbef6c6e42581b6da9c68437d31e29d7a47d4a9c80 + +Count = 1 +Key = 639abc23566e180832382c1ffc474e08 +IV = b53819af5c5d4f2b684c51f15b1a40798869116d355359e7f8ddb11ebf49bb42c4a172b3ea4fbe5fef3ec1bbf93fb73b49a96b3ed5c6b1784dfbedb0e56a1dc0e048c953c54023f65d7d26d64dbbd3998acb033c19e03e8ee1a96557cacec143b5d9a184f309d9cac620a8ebffa42122ca6d711c0d2c0155a81843770bedbda4 +CT = a1e94754ec6e5dd8e9ba3b0cba28a41fd57cfcedd19a1ad5f5a93dec2b6ee9a0420b980fa6b260149d4e8b672e178920c15910 +AAD = 353fb4be1f360c0a1de4b867f110a81d +Tag = 08e27853ee022b6d7e08afff86d453 +FAIL + +Count = 2 +Key = 3ed371c795322e25a89158193bca4f29 +IV = 8fc49afcfe9640870db28b085c84e44a2bf9cdba804d3b280c8ae33d92003588f3dac776b250291124daaea9fc788e616a11a267f9ae326d32a18aaa18fe3e500f1e2db6932c48141b3417300feb7618cd13cbe254184dbebb0a7e83d3b25f7d498211354c1daf5aa3e4e6500209908a4cf066125b4684b32b13bcef32e7aeac +CT = 803b781233a4610d8b1fe52a6527d780490066b27ace63d416128a07a4add42570a6700a5384d4cf56a2fc65ec97695bcc63f4 +AAD = db58cd34e321f3c50bde23aa8829f7eb +Tag = fcdec37fd609d891fb2fd60cffb653 +FAIL + +Count = 3 +Key = ad26c5217aed6224ce276d4e979cd384 +IV = 225d4b9105c2a511915319e3957cd64aafc6426e5f657c20330ca9087beff1f035f025ede8f3f607251b4818a5b9dbd90aacc75bafeb1865066abf8c406b282a0d4f93cb7bcfef9a81dd340300fd32fc2eece9e37be5fd9dd548335e07c6aca2437ae0e406fbfe625f5c8217854315e18c7edb00ba219b40ae7a64325db20b6a +CT = 83ae3405149a9a43f0f5b7322ba8f2549c3cd501b75dc632f45c7cf422be1d0849849d0d9d6983a61ec0607749c2746b4dd1ec +AAD = 1aa8aed517efcfd466e215c9acc9f6f4 +Tag = 6b547a1ed540b702a03a1701c063b4 +FAIL + +Count = 4 +Key = 2995ea6608445dfcc093ce1233075492 +IV = e586eb92a48000a26b8566b3a47c2bf0994eb8b193141c78262d332e75b2850b883be980b650b6b06fa1545cf9f65d4c6dcccb31ebdb89697ad2733d3ed19e2fed8f5f424cd5dfa0f7426d71b3ccfd4d7ed1fc6d5b6d97f89d5e7a16983814425a6d2a546b8812db349cc1c60949dcc4ee60e01f436d0154e1d23ce5bd29945b +CT = 6ed76d1ca7893693a01ce0a8ce02878f43ac115358649230f5fa16b72041fce8d3dfe9d2ad4844fa11b273c2c3175607e9bed9 +AAD = b58b6ccdf2f95f8a8a1f5c78880c6a9f +Tag = 3666411f566e93c527f80788793463 +PT = 5df8d27c17cbd4c427b1e66e9c2ce1cf4fb82c51b0f29caf1140125e120088a261e130d2dfd62aba5dd245400f69868cf216b4 + +Count = 5 +Key = b36cd68f48357d046d60fe948b89ad2d +IV = 5a945ad26444ba62e1af5844c4aad79cfe761f52ed785c2dbc3dc203db2396e683eaa2f07b455db5957663c5f98920d6fe906d7c74449e8af6a3790f8a35dc0faccdc123315064c21eb7896aa6fb593ea5c9d969fcccb6ef574ecad1989c1082ebbf9970bf24e1544240d8dc9c6066f74d1c87f3f4b919e965bf6652a881b2bc +CT = b5aebe9bc19a400e8e6b91e24637424cc2199899a6c9383ca877afa4bfc44f721cf434463a4a38cb640d086e42bd05b9a9d31a +AAD = eae992bad713d7562499325fb31cf51c +Tag = 2b13bde5f4f7cb5ab9f30e50d45063 +PT = 555df52f00f3a46bba525aaf86f74585be8c3bbef03fa29bfdef837a049af3ac10233a773ffb7ce66923a6053658101db8ceab + +Count = 6 +Key = fd37a2da38a6897985736007cffec208 +IV = 16adf5ffe2592246c42c15b9a102a8c5379636085393768f00a10be60aab7715a9c039b4c22898a3537158b74c33d517804bf03dc27368b1a636c2ebadfd7a3f95acf4d3873099f36cee2e6f647b85da189b89c3c3c65488b97e68cb9c0bbd17615c91f17b2951695ea543cc30c3da28bab2adcf27ad2ab89f73971c379e08d0 +CT = 90c3b4c38e6c6ac328ca8290b5daa2daf60461a3c36efa954613d0be2f67bf85c22c745d5ced52ec8a7219550d2c142904b41e +AAD = baa6e6be12ba30f819d17f8a0ca9360a +Tag = 7a3a549db5b8f2e253727c8a3a9627 +FAIL + +Count = 7 +Key = bfad4756e9adaee0a5497c9476b99ea8 +IV = 627e01853516c06ec929c5729972dd466ba3ab29ac7e55005b5317e1913d68f5c9711c6659780558961ae67fd164fb3a80c17242760d8195979c0d69f138d4af6db9194812969666895a7b77a5f26960c24f25f633f0ade532ad429e147821dda54a602f72dbd6b21836dfaadd8b749754cb4373d1f5659ef490b5fdfa11cbed +CT = 2b091befaf2dade4b719aaccacda26ca5a91d2ce5f7ec81c5c3b125dc7c065701aa97f108014df99926e6410564f309edd9219 +AAD = a2c27edc791824d10ba5815ca092a4cd +Tag = f74bd641271cf944b1040b104ba148 +PT = f6a36f4181e1bd75232dd58a9896818eeeec2e7ba4be385514b75361b3ed250cf7a93513e7534f2618aa31e967960a8cac0599 + +Count = 8 +Key = 37754c97e7d1c69716a5bf06aadab911 +IV = f9fab7fb24ab2500934b7a4d0a3fdc89a945cb9d03794974c0674d975f097c9760157288999154daeea688dd16acfcadc8c54af1ba0215fa9233c78430c79c0d8a98ebcb5a818a727b1926172d6384b7c4337c7c0ec361007ea4c961b3a7a7feb977081c38acfcf5d085e9f09eaaf0cfdbed0cec33ae27d5fd3e2b547283e478 +CT = 7582383ec2eb862b1cdbcbf37e10b218959268707e989ede95c828d9c3a5912cc009106ae09c2e0f49a35227e5bdf2b69ef5c1 +AAD = 6a62d83839ea75420322c11c3e90a663 +Tag = d91eb43ee733329e65624740096f78 +FAIL + +Count = 9 +Key = e24f7623f5c897d8148f7d3a530fc758 +IV = ba0255707b0734aa8ab4ebe996c8e52c817286870427d66126b7e9d0c2c1c70933159101815d50fc0700be3c4dd9981b38537307f62651b69c309f8baf3c63d6141fcedadc6059e80e85f8bf3b804ff7422803c2fdd4e5edfb9810b9b8fde71b8f6c9804b2076692e4a120fd96f3292814ef717fa705b3481da137ae73d2d19b +CT = e1e3249472cb45ec91ed23ccc61014c927c71397674dfa044546d160e5a70f5c23d4e5667688d7516fbc481e68505074915b35 +AAD = 70d56f37040f7dea61e3f8df27bcc748 +Tag = 13d9c6bf0cda56f46fd7e85436d1b1 +PT = 80a929f755c137248a4b6a34dcc07d6a9ffad259ca9b80c2b0831ba24f29ce7a4d72e315970ee01024ed348e87ee33a0c31b9f + +Count = 10 +Key = 8dfa4a35d989fc1d8e96ab532884e57b +IV = 1cfaab6d43f7d8577a20243824c59cb9b9ebde8fd2da99efccf2deb501797c70494c4549549c7a47038e82bc292848b33ba2a599245949daecb31c53412015ec9046621621717e2bad8f11583435dc9531a9fe335f37cd8d9f7374a7e4f9394be311424d847be8ecc0124052f3c92943b9a0bb168235792187ebf644235cbbae +CT = 0a77ae82fd74f7ba2a775f065896ea79a67ba91281db2f0c32248e02337255268c409baabaaa0d135f5635164ea1cd8b41c759 +AAD = ec97a3300dac4290eb4903072400a86a +Tag = fde2a90eeb842560fc45dd28513040 +PT = 2b0c72aa6dd220403cc61159d7413401d6a6c3641d0e590da154723c84ae2bd73e438672f430a94dc0ee2d6da22c5344d707fc + +Count = 11 +Key = 77548fbd5f1793c395b796c8e44f9bf0 +IV = 8fd12d2fc897854a7c16104f6877dd6c260d5a36830ddd038dffe789b816c19802d7c57982bac5c08387f83142c479fdbaf89f5baf7a1ca0b16ae2ca37389c7114db1023c2e5c5ec75824baf01b5e6dbe311d805c6201fb024c8db9c6274b847d51f5a5f63f1e11e07b2503a6565a7f456de47dbd25ec9c2d38fdda91d45c340 +CT = f7db7267477a94e2d68b64b7d6772cd9c89dd8f3c1ec91afb00032e6298d2dcc2c10080fa4e13967b2d9d89bf605e0b1336354 +AAD = 13c8be6ea3e22d0abc7826c3457fbe9e +Tag = b2d9ce7ed186cf04e0a213e577a7f0 +PT = 0e9e364ad060fb4894f1071035c47a57cbd22008ccff3e4bc5c8b71dbcce16291a6d880ff4f16157886b5d131d8146b55643cb + +Count = 12 +Key = 16fbedcaf84833db79730233f636e763 +IV = dcd764c2062f2a05360807483be1cdad0214c14249f9a09b3ed30edf76191c5b1e2139d9d1d6ffbcbec727904ed0cf326e3a391504c97c1c04d0d5c0cb6bbb7d20724f03f6585b194f48110e70cecd83474443ab245d752062186c4c1711488f9ea00f3d60381085ac6b6eace551e1bb5b4de1d4bd9a1be417f583245d74af03 +CT = 9ac6377c58e0065dd6984b07fecf3ba8e9b8a7e334b287ce41879ee3aa1133dc8bff8100fcc66ba7b6bcaff7142b695166af2b +AAD = b795e3a51394c5f9d3a57d65912f2c9f +Tag = 87237bd2907b6bbd6f6243b1045eb7 +PT = dce5b9d30b16a391cbacf797792176a7225d2865be49fdf3aa611a8a01b36d0e7bcd042c709f4471059c400b2411fab6ece94e + +Count = 13 +Key = 151712fd9976f74d6e16ca5998c07798 +IV = 33c65256754ace6edf622fb80e63fa91557cccef4afabd12651f1c13afab919467fd7c41766a9ef0f08d2595e357455e7b246c06dddfcbedeee2ea171c3fc38f49cbc7631188ab9f34b8e865534425db5b3a05f4c0a8b09993e9dd46f39514bbc68cecc016c8f09427268cc478b3ffe44510eee382ee99c9dadb1454830c35bf +CT = d4b52f1d2dc1c90a9c3ecdf7685b2c90a484c27694ba95a9039c7aea0e3a68993d65c7303b66ca62da87302578d9d848b8c8e3 +AAD = cad03ac0db53c712e43ad8e806ed3da3 +Tag = 3be60bb7e94d1b244cdddeeb2ff169 +FAIL + +Count = 14 +Key = 606cbe88725d6637a1947d836d20f3e1 +IV = e3f65a1cc3b4eebc5618bed150682b5afd80e178de08f1f25d5f7f0357469945b5005854ea0812eda26958b7ebd3da8241aa637716831b864bc3834b6546b033bbb71f6486c202790aabeaabd4ce8cfc8091fe960a32188c03b86c8a57676d7992f2ddcd2b5cfdc991d7a761a0b8e5b556fe33949b19a19976212d65b80b4eeb +CT = 4d4d22461f9e72633d4b9eb788d2cf9104131030c0dcdbb55a2799b0f9f1f017ad73a0574b9ad02c0a45eed0790f3e6f16fd21 +AAD = 4d6eb2edeb0e3dd8c0001a30826b5bed +Tag = 5271f30a91ba81a414b167b8a4889e +PT = 94a06112a314ded294bbc98e47d13935d241a5eee493d7064ffa8e4c03396e8e3229447259b6e7b0205067c7d16e1afc707ebd + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 49a4f60cb3f43ff377c343642479d64b +IV = cb3864df26b166da4d1a325d91b1c834f7e78ff5448568dfdc966dab49e9f77397bfb4c83cefaa9caa64be4dce610b26cae6e03d6cdce0345b6bd4cca22793b4894be950024af422a485dbb099e5bb3f792d8aed9c87ba9f0ea3750062cf9a8d7b884e1f8e880974343d7f7d03267484861572590b2f96906f0e7634a647cb79 +CT = 08c1e9196a22ed4790a6595c3feb95e7d48cb35c0c1e579514837beccaaff5529d9f805fe57225f9818890d9fbc982f94d2648 +AAD = b7470707bd7ae9dc181bb9d8afb95960 +Tag = 4dbe3cb545583145e08966e91090 +PT = eeda6c7c500561e6adcf94b84551d9bbca36d70a54949f3f96c9b3931de60407130dfab102cc26117e9ead800c5509184fc9cf + +Count = 1 +Key = 780bdc4edda2f5fd5bb08adc55acbf26 +IV = 5842d5384f95e5a72b5a958e282d5085095ae01bc1588aa1c0b4980360171ddc9650db37b3604e10ab20dd40f3b3f7a4590979cede38b7a9da6fe6acc039c07793de188f7bd9ca7c383db942eade533bad144078a6ea5f07f1f545ff6d3c7f0ecdc2a2bdc49c51bd1600b565baf2a32c9fe8ec5e7edeca50718ed432318b83c3 +CT = 9c58e9243474906a3eb5d77eecffe50cf67cd9228c494348d38e2dceac636010cb4f88c054369518fa3859231392b2bb95e1c2 +AAD = a56d97df48b1abd8fcc56af1b2a66b67 +Tag = 40f0d0a082cad693a548dff870c1 +FAIL + +Count = 2 +Key = 33e30f07571adbbd13034675445f355b +IV = abba77324aa42056cc319f98d44d88f60dad21c1e50ad653db22fbc33cc5421b9a918134d210547ac1eec7cde62c8bc62cf4cf0821701b078d1c2be4cf7a92cf1c594a7ad6e22f22481ac4195a4cb12b69dcd072c4f7df1737792d03246c740cd8e87c9b9a5ea2e847e1db9c7c9016c0ab8df17fe97c85fa052ed09ad1ff8523 +CT = 5cbf92d824cd68f1992b57bd8cc9bc42a69e5ad76c1eaf486ba6fd3cff4b84009dd9a117e9668f1171a0001dfaf290563bc936 +AAD = fbcf3eb4dfc762bd6c3c26f204b425cf +Tag = 5fb932c8ec45b9b505ad70b60644 +FAIL + +Count = 3 +Key = 0344633bc9ddc07ec76e86b5673c76a2 +IV = bede3563de6fe10514c5e14a6f16278ce4d60230daea3fa429043a8bdc4d20c8a29077015b6c28cd433798b67d47db926aa0ffa5884cb2d392e52127413c05f5814a5d39967df5c3c00ee70008860a9924f3a2d59ac5a52f110f30619a92ec46715d1be9743389a84c97f2062b656e2933c2fe016305f7766df1edf16c204a98 +CT = 26a432726c07cd2c7906a3aa9a094fd592ccafdc6fb55536e625a9e8f1d4f4608a7e5659c37ed06ecee486ec41542f2b10db52 +AAD = 6cb093a47c0ed9331864e482daced5d5 +Tag = d517a3d9878d7453fd256277d9ec +PT = 9fdf040d95f918e396f59b2a11b9e9b114084036cb5cfb1e4f31373305a8032e50e5727f4ef7bfa9cabc2fdc4ab58ffda84bd1 + +Count = 4 +Key = 645b345ba5d73ed409adea70e2488022 +IV = 4374f502fddf2704fe3dc4f64eff4ca6b7a2eda59e625171ef16c867c251539f54e79c86abcfa41f3e40a5b278d2d05d18ef51e6eddb04c0d8e72641e33734354c3d8185aa4646d78c8588eb0bd19619f465cf3eaed899e8bb7e993e77bc15763a509e8260d4eca1a29e90c7912059d453a4b8b018c17a32a9d2f36e02c7a48e +CT = 154a33110dbd2ebb2a15a49815c15f72b9bcf4bc02b903c4bb26f4eb30e776e4d968f6ec7f10c5b4619d9477fb2723be649e84 +AAD = 974c8ba4ad1ff74c07722f7fece78136 +Tag = 1aad00306136b8bac33d4d74b78e +PT = dd7c31ea57c7ad2b05fbe7e49627e56febb9fedf45a11ea53b2fb9828271ca434177d4ff98d301b4773346f389c1b23fe86600 + +Count = 5 +Key = e521659e079be4c9abcc1a6e11fe1886 +IV = 835112a7c0b92209af35fb4a5e584b103ea9d28fd562f7f42ae79189d4826a4ced48fec7174769ac32977bcb5bd4d414e535b6aad474b304f14c8ca27c13948d759ca9d22a81c21b728a68f44bdfdb7b6cd41daaef8e7c1b95072b67564cebc5ba8be3de0ecccbef42b0e88ba33812021984c75f52f0ffcd2dcbdfd3eeb09c72 +CT = f8cebf0757a566efda0be9d607d33c9fb9c7fad3cadb8c8b6976195ed8566f9d72c1e5ddf32e3fd37b045d08323818f563f246 +AAD = ca89314843c7dc8cab0f454da4d0e5b1 +Tag = 7bc4b2abfa9303e4e6ee0a48fc91 +PT = 806b2a34164d17b960e286ce3b1c9e3de7d714c2073f0b0af0a7e089af2a92e9ace763bc8f42e4d1f1d0956573677fbdbd431a + +Count = 6 +Key = 61ee201ce0815632623e2a7d2298186b +IV = 095fccfcf34748fb5b87acdd9e2a7a08674e761ad717cecefa641661e3fdabbc6460c528fb719e961a7e3d633692e774dc735e850bc6ace49d6db99fb30787373b81077df5a71147d00933b4e3a66162c6e0ad216d28f334b22a7fb636ed1e1dd1f4254368aedfb3a3b71fa6fb70ed42cade31aa9b9a5a6dc85db53ebc8b05e1 +CT = a40c8f36f684b8a35a715ac123a13a60aa1c8ec0a3b77ca23771f6154fcfb0ec1b978053a0f4191a27ee2d4c5684f1543c0ebf +AAD = e104fb78341c9eea4127cda8ee077e6e +Tag = e1385c5763c0349f48f5d2060769 +PT = 7c26c890d423ec0bfdfa3874e46bbc672a28708ffd8bb281d7d951fd92c637d3764953438d893362c63546f658ac106cc35073 + +Count = 7 +Key = d33217d1715f29ef7190458214197bfc +IV = 6506bce7d22bab683b0130fe1748876bba4af48bbf823b0d8cfe29fbbb3e68dafb2842af5d93b772d2cbb3922f2ed03a220e42da0899770ce3b50db0d51c89fbc9b413ce57ed71932d4c5ae19c024d36389164dc7937a6880403bf8521ea84a52d43517ecd0d4fad78253f34bd1d7033650ac69cf7b0f3d625c2308d7fd94f09 +CT = 99b277adabbc0f1dd352e7fe2222cff9aa7ea9205f0d27417cf28e86c77c2b774d14e137045aec14eaacfce944e7bbfe9038bf +AAD = 80b84600ae4f6be000a1951d659c3915 +Tag = ec56799d58f6cbc228fe5c238417 +FAIL + +Count = 8 +Key = ca52dbd4e5bc921bfaf6209dc454ccc8 +IV = 9c01aa252648fca2cedb441c9522aa21b3e495bbe35a4a71c22c62236a370d2b039f227f2787e50886631789ea99cf3968fb807ad6d7769034d73a8ff3dc05a0b38c2e51543391f2074bbd224c6ebf4b3247bc01fa3c7376f2d503a289044ca01ed15011e1353e7b44448460c5e4db8c7213012171f295ff9d014fd560e9dd32 +CT = fb1693886fddde6a34f894fb8932fd3ab936043aa516a4e1c21f36d0978d81846397b9985d288a478f197a9550a05f047d4beb +AAD = 946fd2a808e11b91b3b46755c161a3ee +Tag = 694a65499a19aff80c757d2a54a9 +PT = 9ec4f0e3c8825ad83f1cfe6446e4096847bf204a964b6e100786ce9e3aab3fd4dd206e06b5e403bac1ba03c3a33a20adc174f7 + +Count = 9 +Key = ea7723c190a3426d32ad33a12dae696f +IV = 0510429804734aa0f384ca61fffb05872e0350eac01c1b3ca8b1837437f59d6675c0cdaf3da5b52f3bcab2cf6a8ea26acb581332105b4b110363ae71a449784e619f645dffea827976f55a253db09027c951454871a01a8b6470147194a76c7056c82f78246fe1d54e7dc280a422e1ec4e39a5acea2f96e89ae5fd5b8db473cc +CT = 76701d3805f8320c56bc3e98f5494dedf8e4612e5c905ab317a0aa85fc765b84c15d27b8e33126353b102b202f330d559f4aba +AAD = 3262b4bb3cbcd81a1d1c154c6e273791 +Tag = 3ebe7be588b4d328fdce15c65de1 +FAIL + +Count = 10 +Key = 1a65a95229f8cae544b5b000cc910613 +IV = fdd37e9c94e10ca6cbb2336546f1299ad9fcfe21ca82706ea2d0e1281a4e8f37cc22210c15c4fda8a7595b66df9bf7d282dbb483a3386824f509f50378b7a28e8863cfff50a6e09a49484d535a193c6c7b0d25ca49bf1ca40aab7ef3a00d1386987222747d47803a7d050b6eb07df7d11fa7e47fd04c15e82cad443ec027cc8a +CT = 6895969be4a0d11a6df837642486632eacd89000d68f63772d1d44632fe543b300207a839b57ebc16cab51524c8df94f60a631 +AAD = 83ee363b52088829b2b86dfcc457bbf1 +Tag = 2ba8bf89d65fb0ea75dadd75ab45 +FAIL + +Count = 11 +Key = 7ebd353c8a8e8c835cec2364d3f4b13c +IV = 04a8862d4c5edb88a3eadd896f248fb7a7dcd73104b30bba4f399bcb575608a80fbe7a2b41bb95235ce58f86f599a55fcbf1f6df2ca40db2689d36a3ef8fcda07e2d46a7970777e2d674791fdd310c0dc2c1aba2454630110427d4babe8871c601b2ef558f452776a339d118af029f38f2cf9b41f4a861296146fe1e57d5d080 +CT = d286446ed5ea2ffaf623ae7d86b56d7715c86a91030d1a674df41e00e8cc270065ed72dfcac201ea9ecee088d6c1dc39466023 +AAD = 19aec815e75fce3dd9acccf9a79970c1 +Tag = 4f0c04eefeebead932671e7ed137 +PT = 5150c6190d7be965f69c909a81f7b4ba70a013153b193ea1834f1808cd480634f0267c2fbea3726becd388bcea6a945cb8efe5 + +Count = 12 +Key = caf87ef6f656362a802ef30839a26ffc +IV = 8f45689673191486a27c5d9bcfd400ab52b4421966fcc70ac35fc1fbd4a8569ef13ab4ac798eb96f44845a51a127beb0a75b70058ced37a65f6ff999e5a14163d650fa3edf0e8600e3b8dc647655f832006780b2a4938d88223ffff763ffe55f5d06e574ffd21b199bf9cc0c8b2796080eeec4dfeccd92a3bd9101e28911ab60 +CT = d6a96d941e517abf9031241c161edff548f4167e5902ede4debdd6a598347e370322108dc385ac74ffc263dfd1d6f8fac0145f +AAD = a341c723ad5514782bd068c5e01763e3 +Tag = 994382cc63fb3e9756d284d6dc72 +PT = 4b44780a2ac3637b402577331603c6a258495f4a8f95c43a4977dcd272f48cf87f182556bafd651fe9b0461d14c04ec0683ed1 + +Count = 13 +Key = 8885a25cef0eb8058f7c7620afe8bcbd +IV = c5cc48464060e550fb210f920cc647159c3f7447886554dbe9398f52cbea164c3fc26f0ee324ac2f1f3e8db2cc85cd3f87f9cb6ab1fda3f5bbb9906ae652e57d7eec50c23d09bc133f359f78834171282f96c0155d15a6f4560f662f49ca38bb6a0d88e02fcc8b8050ab96b909d3e4fea0cd12624b9a1fb2cde4c93c89fc1d33 +CT = e88406b70c5ba5a8b6f9d99adc0371155b356430cc90ce934a39ccf81b1bcd2ed9d3373e8559ccf445480a24df0a2d357e78ed +AAD = 61538a0394e047ebbcc0017feabd3096 +Tag = c6ded97083b100dfd24fe69b2c04 +PT = 6036af48ddee91be5e6202be6c0d619ce3f386cb610a1ceaca454d34d60cf14f5a5c0db8c5e93cd29e3ab533d25eaf04f4c4d0 + +Count = 14 +Key = 991501c1ca4c6c15a0a3c9b3289e3400 +IV = 709792c165a1158f15bbf1c39b97425eb5be96ff46211335ff86cb463bb8b68ec304360ab2fbc9d6d7fb743685259246e0a75dbf5e661bc29d1de99889cb8d8423e3c1190ac11ca5b872da7027ad35051f7af4e3c01ce790357040720a6ec1577de14233e7ae09993f8b3e3963bbc59486d57f4dd165f1c7a0aa5b2fff03ca10 +CT = 4bfd10449aee92281174e4a7901d1ee7c6c46a13b09aa59cc7c77601be886d12b9a39291b6f594425398fa4e022dae6ccbc995 +AAD = 9cb7c4357a447d01f5a12ffa3ed8775b +Tag = c158469b59ab3828ee3e4fb459fa +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = c92f4f6c5802bf610896ca96cc38bf6a +IV = 15cb46067062fdde4384cdb444c5df61d739fe34d2efc2d7a89734b5fc54ce8e0bf0502ae43c1546136b289afa4103bf8851225cae565185faa0cf5b61370b3160ad0b16dab9d411b3bb7b27c0524265b3afacc99935146c20366d4b92a05aaab08ee55731d712158ac4e56a603c34823f3389434e0cbf455c2f3a5a808f9eb3 +CT = 74c90c5ccec5e0b9796132bb067c57f7556f5a60d68765adb6565ab65d94906b653eaffd4f538ab4558653371c5ce0f0662819 +AAD = 2bf2028b29bc55d6d682dec577e9bb32 +Tag = 03c83a8c3b0a707d1d87aea7f4 +PT = e61385fe44037a3ea4507907fd4ed39203a598e9b5e80ab821a1100392136c04c202f19e5de0998c0ddeee5958a933f697ce38 + +Count = 1 +Key = bb5ac05e1db9de4ba24f3ce85aa020ad +IV = 3428ba8c54fb1fdeb65acd993e8e7fd582617398b518e569c86704857182e1596c0259d44e974afb6a96d26ecb042c0992cf60cf9a27cf1d26cca3e553afc37c0150d7afe1c6231c7c0a195ecdae39bd3d8395dbfd073a2b2ff762f6b9ee22c86dbfc6ad999196cd2bb7923754c34db539050530069b6df22250a5954c2500b4 +CT = f22f0ac85757d5d837fd0fcaf3c63bc0dae157aa13f681ba866a05641cd2cc60db94874c3979da26850631772d4718bcb9d4e4 +AAD = 80d533812d870ba693be090e76b91120 +Tag = 9b8a4069e8cfd8bf88766270dc +PT = aa4376a5f7246dfebf1c07929d8d0e3a68c3906fefdce3a1936e1bc7709eccd7228313be77f2d592413079a11720a5db0f3157 + +Count = 2 +Key = cdd271ec3356ad4fd5192d10ffb1dc72 +IV = 4f1965d0fb208695ca8ec5701ca40a52aa2393e4bfaaf8b1a6539378017631a1d357957226749fed5440f2a2031daee6a0e87719d9e36056dcba70c207c997602b4d3d0b6fc346c056ed85a4af9a806abb25eb28f5d34dd51ea57db07af52bf816a43fa411fa91d60fac61961a8c1ede192632b1fa93237bb3766775eb02e584 +CT = 0a6aff124196950ebb4ce10cf325653223646a720344d95e892af96919415caf5bafab5bcd8860d13d568275fbae1126e13b07 +AAD = e85d7dbcaeee50edd44dbf488ac2e68e +Tag = cd216c23ef25ab1dd9f4b42ce6 +FAIL + +Count = 3 +Key = 8af19c3a4903d73914a7e034b4fc60dd +IV = 9b981ac9da50b334c142c19d1c4d6ca4c5dc1756265b47737fac6ac8af672dbe58bd8b4f8dbea475b37743546b7d9b1155d790e0efcaf203f169c715253b7a339d2b095e2654bb9bf2e8ddc3a00d8fb787121195ace8a9b554f9184eb335a21d661b782d4ca10ef0baf4747cffcd26d82fca7e16146499e38b98d3cef947e084 +CT = 1947ca95e91a94e06a4a7105e0cbedb23ff393585a2cf2fb16eb074cad268ae27920dacd1a3c55bdd9b726b0be32be88abf0af +AAD = 7ac4ee6c2ed1428ea4192d321af6f39c +Tag = 0855da3e53410ddb2feae356fa +PT = 782f8d9156a021f71496939582370c530b2c7819131823ce12628a2091cac9605babd0fb6047ca09357802ae1beb538676fe34 + +Count = 4 +Key = a400226836a9df3f2828912083da2d47 +IV = dc7197f4cea22d3e12d1e66f6f5f9e0e7e605d6fa1d7afa4366af1baec3b0baf1f2fd654fd598c589dc13ceb1548ac6be25235792ea95862b7f34cddf931aa367edfd75c08a1fc425c67996e05ea2a502bec5fcc976081988f778b01927c2dd9be4f5499e4bdbffc9a6f2203b346ebf377ce1ae719e8600ea3e2de5c4b926c0a +CT = 0569ac41f1d4b78d249c1f46531fca469d512d80c12a240d6c2e2583a65917d733f54ecd851284e0ba214f8f3c4f66ca97a3fc +AAD = 5a93a9e225fc374e33e9ff648eea8acf +Tag = aaa6cbc35e7386ee6f4a78e3aa +PT = 7b57f41523be87709a9a5ac2e77710071c1a40de884c46047c52135ca7c2b9a46c988d448a8b7a010980c47094c3e8140a7e68 + +Count = 5 +Key = da093076109be8282c701aeefa8402c1 +IV = 6de957e9b4d81e4d49e303c7ae5d962e170a94cdfc9a038f4bef6f961cc0add169b3b864eac7ed7204b39a37f867df77cfefa8477faced1487a10a19671747afbf366539dd8af754ad967c3684f66b2d3902da76676c5cd93313c7b0be59b274867ab9bd1f016b1890c67be9e1547f2b2f2fa29d6888b9ba705c03e6c83a8d7a +CT = 5cf859b8c9249e34220db4aef22060b7962361f9b6cdcb90f6642f29d577e6255fd5f4330cb854b24c9c20f400186f232514b1 +AAD = 3eab70a44764a6dba84697d03e0124ff +Tag = 371264857da5ef2d98064e4faa +FAIL + +Count = 6 +Key = 106bb7f8aff529b5bf7f95870ea9328b +IV = 499d0b79228c73f715c949bcdab2e3aab07a7e0295084660035ca38258d365dcb044914ebcd352ca94f4d4445592c490704c6f01d6c21156f994e2a7f8c44b5474fb2daf236481625e8f84602388b6d70e7f6d6cf2d3b9528dbe647bbeecef95d45e325bbf639b42698271304d1b3a04687471f3e50dbbf22e5603629819092b +CT = 15e1493d6d34885373556328d83acc8655d3adc041ae44411cd6d0b680045cd580dfe7886bf9441e3f5ea3cba16ea8348dfa10 +AAD = 7ca0c24d1912d4a736a9f874d8bcf2a2 +Tag = 4e0de79d674c2d5f1b5cf1d782 +PT = 8722bb0d2dd297ea5cb91bae36090e7cbacd53c036d03c639c22a339f9eba635d22c9ec29227fb5268524e62dbd1796ff4f2c3 + +Count = 7 +Key = 1922f04a891d7aa1decb43b4e8683579 +IV = 62fb6c97b8df47055ff702240d7efc6b03de44e3ad08f1fa19ad9d8b819b916d1d86cf8fc8dd27e81caa4bc200236a54cf32417bb5755407a8c02ddaa2e97e627c791fdf3a40a39f60c22ca66d7ef4560f31880b51061550cb54d69a67786781128b6bf73747efd878d8a337781624c2ee486b1f95758f2756b7e5f4cfdbd343 +CT = 84e8b35794e10219c16c44a3503c567be6eed6ebd59322af07f99742ff611985e7273e75f8e8c62868a683160c37d6c6140c99 +AAD = df62447f889c478c98c9a5659e9ad92c +Tag = c5b4ad865c15482a8420cb564b +PT = cce36cf20c12a3eae320d339cad44d131ebcf4dc24a7239fe62dc756abb4c77d9539228555200d4f1151f9a6f1aa409fb02395 + +Count = 8 +Key = afef7aec2a59224a5194b65cd1bdd96c +IV = a00b2e90e49ddd8a4300dd56cf6f3ffdc933d666716a31a89a2aef65c1223f0395d90ea3dbe34fbf5e194c5e1578ce937418331a22ddbc8c3857119b2d0c244dc2bc18e5b5997391b7398211dc9a2beaa3e6bb8e1410a7a569160c78e75c4a201b35816b9a4cc2b6359093df70da2bba9cf8fe87b765cb245d4223b7729a683c +CT = 9e6d05aeb0c1893fdd4f8f9a6f3df1be528a4f83143393bc3d5152d2d3b15ea20f8881d44d3b56a2347c46e6aac48419e8054a +AAD = 300d57440cb06b0e1e332beb6ef57a79 +Tag = dea4d4a4bcaa5ac67e39d7ffbb +FAIL + +Count = 9 +Key = 18d7d0fc607f7f6c963396b082555628 +IV = 5d65fdc19ea56337c80d090235f15249a0fc8feeb3f8092bfbc5c62cfecfbaf1e42242a8de1c4127f351576be9563fad6b9b2e0298061686c37325aab3cab28585dddedc286c6a856664d17c21fe6c692321756bd4056dff5492bca313e600d59f425725d204a825f9ac3e1a6d9ea28c763148383d281f508f5cdf32552a5a51 +CT = 7ded117e1afb740c5c4033cc704933a6f112f97c07c1cc2832dfd0dd296b5d4e5b4ee9ce405abe321b2c47b1eb708bc70c7208 +AAD = bad764c881fa4aff844f7740dbd08ff6 +Tag = fe5ec2d68bfa732cd3a57f81ea +FAIL + +Count = 10 +Key = 1361993634f73f20e91136fe4620421a +IV = e62f4a96541d4a6ca29dce94918b844d24e9c2b637eab1e9fccef61180d69e029db23e7a712c2349d43fd95e7262fda1ea2c7347464e795cf35568f18b8e3d9d94063055bc8c246970868494ff7082fdd2580083406f309ae6ca661db0ddf65e9d3d05eda1129d89824d9a3b19c9fce0acc3a9d9f37523a7ffc51202f377c51b +CT = 290f38ff777f4eeb2d9e9ee063d2d92a61b3e9cb7d5510301eb0e94d6f52a2191ebe48f41b8022799a377c3a700c0f7604ef5c +AAD = 48fee290459c5fd0e0db3a4570895481 +Tag = ee48635953899510dbc0e31520 +PT = 8710a8cd8795c242790fb3aa7d9a24bbf948d0135fca707fe3c8e65a4e4bf65b2964ad1973e68253593eaef685e377d7ac07ec + +Count = 11 +Key = e4c2af2b7f5db55354c085c213b9ebb3 +IV = c9ccde9f3fa0e71e522d80af4b14299d1f2edc4575760d6df6146f90cbd1cae7cc9ba2ac4f611e9c3525acee463512e040a531830b4fcb8b838c10821bb12e6ca2045ea07f8257849d128330b767386d45fbc2532b2f5e903c3c28fefd8ee59e83ed834a7bd3a42b1a471bb852058060c71b542dec7ebe78cffda574f78974f8 +CT = 3a3c9844e7a1dbdb7788950582a7f7a4b0086916b814cfcd0d5a1e2fe5022c11ac4a7f6597d243105c48e4531abdc716c927e9 +AAD = a57b0a1c567c3cbe377229740e0c94af +Tag = 3e5caa2129b9bc5072e1e38f5b +FAIL + +Count = 12 +Key = 9f832fbb835ef20394579d592a9ce0c1 +IV = 2cdf02c13780b6fabe779ae96f31717d678e3797e1ce0ebb96fffd62a1e30165641786e2b7411ad9d1a60fe7322e842c3ca0a16ecf80ccfe63bc943536eb3c8381f840e835bf803be8b690908698df1c65b0e31e420ed3fb1258e7e6aaa5875f056bfd2e9e1c74adbab3eabfd4377cefce3ea99affd2bf85929bfffa93107b00 +CT = 2f2b90600777714e772a2f0563dfb936ccbc99569184446673dc7dacffca82f9fb902baa2394544fa406c3350f86832512300d +AAD = ccd6e9e1b563ad4fc3cc5782ccfdddf3 +Tag = cfcdd523a68448586e7c5c1a38 +PT = bbaa841b78e9a22ddfc37fe073da7e33133ae5945017aeac074e41894ad85258816e349cc3238fa7ea41aaedadd6b0f750dc91 + +Count = 13 +Key = 2dc4733c55afb0ca7f357702f2ca76b5 +IV = 9d04b2233678f5c116d9301fc78265197e3a4db7e92e1c5ff09c9aa93834103c7378834e2428283afb416644ff768daea51379d1dd455d2fbc24bbc74ffe4b8a7e3bbca7b6cba165940302589be7a5c504480ecb880d6d20ed289ffb73f9ca662528a861352f128cfccdad451024e0efbf603c2e7880ad73907e41e4034c3a1d +CT = 2fba047d9489ca247ba5b113aaca32d2cc97cbee3e3d2c1f052656dbbb614e937fd15079ba4fc7c4cb826c3331fe286ae69c6e +AAD = 091c65c3852c8ab9d4811e48406a0619 +Tag = 71c52058f54bc2c511d6fc471f +FAIL + +Count = 14 +Key = 0c226c62cfcf704b3870e12ef69cc0b3 +IV = c432394b71b926bf63999684cef8b55bbe82674b1511807ecc490c7e8374fff53ee59b593333da5ecc4b6c327fa08ac1002fb6618702ffffb0c983120057a56cdffa299ba4884c866983fb59580aaadd376a9b633681e0c47f06c4d144c02b8efaeceb903e39aa031ead56f8c074cbd007119af1b42eff9d87d34636600816fa +CT = 7f988a740f73bc8c16a69a6c7c389d2a349f835c2ce21fd0a48d19411cf2e4ccfc2914bbe485eb332a4fffe3ed0414a9db4950 +AAD = e61046db4dec873da58ba56fe275ece6 +Tag = 1bc2250a17103ca59a3699b60b +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = fca7cadcffde7d4575d8fc5c9b6ed331 +IV = bdca4e93b2ffa3614c7a1e136750e2e0125ad15c9550ab474f879a9b5da55a03c654454989a9f6e7706f9ebadb518b26efde22c17766a997b4e3994f7dcc07413be3b7e839d81caf0d9870b4d50490de557d563a4c6359ba7dcdcf2b2a019fa55930e16c7f9bdaa35baf8992eb4c6ad8de34c10f5050bd7616ec9ea2e12c1050 +CT = f9aa533ac18132bbffc5c3943eba70b960c3a570aed8ac40b44f2b5fca6df0c698e148e61345cc37a4c9e8a568eaaa7f25ea47 +AAD = c6aac5754ee3fa17f54e03ff5bc35023 +Tag = 290b6b6927d86bda3e9897a3 +FAIL + +Count = 1 +Key = 4ad3ebca6ea17065c205d3562a966642 +IV = 547a6dc289ca8730d02a5db1d91ce3a3bf7a604de1b21b77c9b35d7f113d7b3f8f18c82bd9ddbbba129265b62db45562315243cab83f3b597fed83a0e8813193aa72d5915b1e29cc7ed72066d0ec86c2e85ced946f894ba292b987218662212c8da65383fc64e5da54427d9e8d38249f70bb113b7a315773edce2cf510738f38 +CT = 1410139e7feb151299645afeddc89d43baddfa83ea47d68ae17ed832cced85babe652134c69d5bf0b9a6fb0f379ad67f933c6c +AAD = 48cef805af91be09ccb0a4e6f752c0e2 +Tag = bd5a69374e927f7a4dbe5ba9 +PT = ba8b67cfd5a69f83cc289816c08c03071274c6c7d6817000d5d649a878b209a4dffcecb6291a743155a3a60d817ebc7c6aba3e + +Count = 2 +Key = 6bd890f53ed08a3241af9483b36cdd0c +IV = 7adf883edad21011700090e61f842355b172860db44d5d181b524f129372157846d9ca52b6fb528e8452e5094d813b5f4b87fa05dbab9d20360313adcbd5bc6160c520a9df95262d5c24db41b0adcee4c5af0a91c7ac19f59440d7ff10c09453653d281459407e182fbfb495abe064951d2cb5362740cf8adee1d6717d627ecc +CT = ce81d55137066b5b4f8fb35757d10e4113895fa091f3c10d9e3544cc3fc6b8eddf13e8c50c928ea9e644cf2437ebd22f7f5292 +AAD = a2b4fe946a5bbe62f17c848fd8dfd787 +Tag = edb18b951d39e3fa886175f6 +FAIL + +Count = 3 +Key = 83e7473e95e8e66cc2049ac383798a54 +IV = 67382425eaed21c0e8e354d907fcc1c8fee9fb67eb3a9bf4f168d1ff218f8a066d2d6832162df6cc4c9ca1970a90d71a4cc67278230cfbcb92d23f0cef2e9a4c0f0832c7431ea860bb0e7e8ff7bba44b59eb77be509ac08e166abc96d6bdeb25e10128ca4397da7eb984f558c2d3f4069faffd8a63eb9c6da157e6ddf03d1c78 +CT = 2a501598d3c92a93557b9db69a44659622f0d96b8b09c5ea46975118933869603cad13ff79d83dee851e4065630277175cc33d +AAD = d35b8d0f7022d3d3eb9f24b821c42cb8 +Tag = 15461e3439e4ca3462466781 +PT = fb67bb40e547c6660f373843e324c40db09e6f5d0b67e01e4886104921d52066fbc9261b70b02db7ba220ff494e409a295acfc + +Count = 4 +Key = 76c060fa08a3b08930cd9caa597ddba9 +IV = 3405e71587eeaacf6b9373eb0bf841486796eff9c0cb2558d1a5261079e3535b306692670fcd4f28a92977a695753b4bbd3657910a2721d5c51dd9d12fa918930fcb68f5b7ea702191879171f8212e6ec511547ef74848ee425dcd3def0083bd180bfbd0e262b8555d49d9376201753cfc3955fef1f1a5cc5a87e72404d63264 +CT = 3b748772856203107f3fab74a7cbc187a7674847a5434235bde217db78fa4117f475d83f3dbc8dcba0d2c594c4a903ae1308e2 +AAD = 39c1d35d41e8ab6b432d2b5a8f91ce1f +Tag = 9346aa9d69bdc318684af691 +PT = 1d9d7f94790b86436f20fe5915fba48e2202aae80a4686dbf299a6f1c62ceba4ad3d1413f09cdbb96b5dc2fa7b90acf744b4bc + +Count = 5 +Key = c16e958bf38d23ea9c19005c81852a4f +IV = a7e020ab0d16b66f2c0e624b6d35fbcb5ed22602c72b0c03b1bc00278912d24bac44e08fe78ad1c29ed947f0b585006104c359b898244e97bf246e861488326477697f3f8b950dbc6f9de47b3d3ef4a2f66a1c412fdf64a62b06b5af933d90242207e89b81c744c636d0d28422b272ba731778fad05dd3ce1d3b6a80a115ee17 +CT = ea06b6c56b936d6697b2ddef9bd0b306a3c376cbd62df7e20f563c42d1c2118facaa3bde1533fdefbd66768657c7a8a1e1ade7 +AAD = f3940e7b93af62c1790bb7060bc8af86 +Tag = 7634a4076adc88a0a7cfccb6 +PT = 8bda5bb37f4c9bffc2e7a9d543f9f03e813a85c2bedad2d517b445ea162b4a0b03e38cfa8867031a34fe5d25a39c82e1612f31 + +Count = 6 +Key = b9718d1c1c556165908e6a7954d78cc6 +IV = 7cc27beac49531e2a478d9f7a0a35de7011f89cd62ab24fe09407bba796694418b8dde1deeb4606dd54923a805795a81591f985f1492342472611f8fdf04ee8c3c771a5c0d9b96e83b0b78f2dc1b08b19a546d5f22072f987ab858cd0b58d74c0b23f8bcb72e343a2325fb9a411f68f14b04b88782f7c49b02fdeaf9a2be6878 +CT = 388f13b6a46f3424f9bfd01a3d9f87086358097550e2b529c653485969c237d0538efbac374e1298449ff3df334966cd6c282e +AAD = 1c12ac9e859d5afa150b63de9c1d301e +Tag = d267ceea9227614ef6fcf080 +FAIL + +Count = 7 +Key = 57436cd180a7fcb86a0700fa119919f2 +IV = 38a26126d6bd6d62ff00a6132a19e35db7325831be2afff10761fd4e51e5eb2ea131720ecb82c932f69dfc739924dccf6d4bc4f36e2eaac687bc9ec51d386beea8a1d6d46ed1f32deccf329cee027039e577e7f57e8c3cdc25256ef37f451171fb59fcb886467a64dc17a49bc59f813625359ea33890dcefdaac3ccf8a9a8b06 +CT = 85c144530af589c44f64ec473887a15f5af20652b706db5aec09ebe0499c2676ecade936ed507ffe0924c5aa427eeb63b2c795 +AAD = b5d4bc7ffc84e1e8d965eefd608c3705 +Tag = bc42de38545e887f5d7d082f +FAIL + +Count = 8 +Key = e591a15fd46083ea83d5238048c7c2ca +IV = c9c5f5e5376c16b2cd6e39416d650c9abcb33eaaace8b6b0d4e49d87ca2554e748e4f0c98644d844bf617802e5fc77aacae049db61a76d9417a2f3437991bd3164326370034532da88a1e1a42518199e9411f296ddb99cac7b67bfc6767fbc380642c84e031b4f39442f53dfb91443f94f1bcd22d04d8f5e870dded5e84c856d +CT = c73cffb8994375d7f311be846d7013ee03c90ad03c01fc9b423a913f91a03b57322a90312abd21b7172aaefe64ce704e0d51c2 +AAD = e502c62528524b1eac5e9fe40cc9be15 +Tag = 528992571f857dcc26137617 +FAIL + +Count = 9 +Key = 8cdb75b3bb6cb9213f627759656ddae2 +IV = afd9c2c3f84d35d427873863edf96f8aa6906d73feaa103c3c257730ad48ab980e8ca54147604f13329f8eb1fbb01e66b9fcabc65a973ab0c9e260d7c75c2ee6491c556e469d9cf0332e34ed60c95d699b8192215653ab3bde0764e0e2a5ccc6f2bea8724135290ea037b08de3016432098f6603e9376846b3f915b1e5f0cc6e +CT = cc56f03f0361741002cef07d1054ede45eb409599b65a8fb1f92fe51241150a846b7640c63d9c12a6bb01fdff73786bd338ab3 +AAD = dd47ced9c155fd4cffe42352b9d2a5ed +Tag = 2513be5e951f44d3c6750ccb +FAIL + +Count = 10 +Key = 33f6249530e2ede2f11b2f80d9fa3f22 +IV = 7041aaa783f6cfb78de36cc52386424fa8a8c688e2e60f2bac41a228f836e10e66e436e68d4c8481450cb3a0ef41bff8d3f9b06c655792a740c2ef9a21476fbd7ad03cc42ab013fd86e9ff234471f03b4897cc0410742a2d306230a9827213abcfd41a1e4cf4bbd77792d4e4cf3aaf104232d3a21c91a049b1d2be0eac95c11c +CT = 9eb5efa22ebc10faa3b669c5308db97b021e8754874f599c7db5de05a57d0e271281008e5ae1cc018fabda97453e1ce8a4ad7e +AAD = 7286b50c1e848d8c0986ca025432ce3e +Tag = 77f6f98c8c4c6573b51e16c5 +FAIL + +Count = 11 +Key = adcc978407ca70156c3c28ac71362641 +IV = acbdc6fa7cd34478d225aba8bc53d175283d3e55a2895b9a44f8a93c236a3ed97577861a8700899927a4f3bed6dd93beada036e70151591a747d24a25c6db7c7b6e91718233bd8072fcb7046327017053893f656b390342a7b60bd9af50db883742360e9f5c82dbdf9adaa1f6940bced3b9821c4b1b41d8d6cc671d6eaab73d8 +CT = f91f5de5652bc195f576eaa0900fa9dbbd42cbd3c9237b5a54ac53800771da681e0730f2f8621a8afea1cc2ddd84ea69608c1e +AAD = cb86a91ca34cc453cea66b83908e5740 +Tag = 6a4455207be4f90a17426967 +PT = 373d73c406a1f5b67080be0799d5909fe281d2c528713f6b55bd908e7508222fab96e30441b9c6a68f4b0c2b1d978a95783435 + +Count = 12 +Key = 80ca81f663fe4b8fc0077a345dd1141b +IV = bfaff68c9a52354bde9282fd43305fb839d24e9d3f53f00e85b419284cce1ba9c0dc5cc2f8a9d7d04ef7b35bdedcfd38f39608eeec80dc3b2086d4051a547f7bfd92238cdbe479964e7d53533a355b0f36abb1a152ead760e746355a054af38a86c5b0ae80c84fdcfbdbefa2deccd14e7a3e79964e2c2c876772337fca5fe4ad +CT = c3e4d59989b0c13968f82915587ade1e4ec07bfbf2c24ce570e90624f75adfa8fcdee2fe03c3dbc25a2894509da63056f968ab +AAD = 3ffb7077589d99f935b093859a0dc455 +Tag = 735321be63cc5abc25a5eaab +PT = db7779411b66644cad4264b53122ed77cdf4a59e4c940b5c5d7a2acd9274a275ad0058e9032080010ff68c0639649d43c8e34b + +Count = 13 +Key = 84272b084b3caf8401817697cc6860f0 +IV = fe785e3c1177584d16738a9d7962006efbebdde31f3b8d6b48c8104d30f56bb3d31e10430a78b69e7e356a2531439e61f4da0398cf8fc1777f4747802a70fd9ae2107dbb1a30e14b77f1a9adbae28925130d3a86b51923a753e2026c7d62eac4118fc54e4bb1b20a5a09c611cf8422780b284f63c16e9f2ae6820e12b227629b +CT = ddcc70e486d5f59a306c875845841304a4affe8fdaca21a259c310b6ea797594e2ad429ec6ad47a735a8f51c55e51aa128305d +AAD = e3a8902fbbaf62e0d4496978e471d64b +Tag = 956573f334675835587c2c40 +FAIL + +Count = 14 +Key = f0b3475557d0538de5bb89a8dd230f29 +IV = 057f4dc059bb13102540034426c096d1c098b8253151f5cf1c7520b702e543ab4d231aedea5beab08c6ed6b3f58731250bfef8867882ba2d37de7ba0513b31b36d52d7336bbd0c3819464c499530e46b0878c219c68351e28c56b9a621e5d927ae1d31b4b5dbb53df6046ae16648c97f8af437146dd1bc8a4c9356d200cb9ce5 +CT = de907c729b2c09ca827a5e5871292533a0a451c2bc20cb0195e86ab4da3fd12d82d1f397798918722844b98e0b8b304a69894f +AAD = 08e58fba785b6f79220c715ac2041c50 +Tag = f40185c1099ee0dc30fec2f5 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 741d89350f7fe6f13f4e9377765b8623 +IV = 5260ca4643584b15c168f2add99f5999a277ecd2be703ac534fcb08e8b31ab274a798d887accf2a0b9a733c0d2f99ef350d739099d778f08d337acbe39fbb73f61ceca18b62849e7eecf5f8dd90d7db49d08905f66e4103c42338327741c51cf21d00f7c728d4f388937e28781e683315bfe4a7ccf562f064e24585abbf7285c +CT = 4bf02762aeff5786326d32a3eab2f09569ae618ad9ecfcbe78c48da0a98e83a3762ff062c11000d1983c421c9ad208b594b61a +AAD = 2ea4481bc917f2a26184562b4582a77e +Tag = 331a8fe65d579d1e +FAIL + +Count = 1 +Key = f957f888e74a820dc5bbc67d8d8c85c9 +IV = 4a1c929e067667b9f9db1ee53a05a058c7387677b0b623d12fd709e9cb7f8c29c0dde053b9ba41bf6903f9c8838bed2852392382a726cb0df5dd55f222af517a6f73c2fafd7d78a3cd77cd1c9bd648a606885f9934a6c039fa1fde47985ea1fdcf5a94d0aeec95c755b6b79adfe4a6b2e19541ef90cb0c08c1cbe5dc322e60e3 +CT = 7917e349661bc047e1075040c4c460596e87be4c1a2f521886d46b5f3094034eb7b4a3be39b1cc8121d21ac146070cd706be58 +AAD = 2f8e7c174109c19fa18a18e3b2b4cb39 +Tag = f845d2849252e87b +PT = 6331630f32f6468fd7a44664822dab682db7523d7e64da06a5f48ed01091cc5b9df9a54fccf261d72e9bc94cbf84faa160427b + +Count = 2 +Key = 4a3d4b53920285c56c72a48657721cde +IV = 6ac6902b8267c39f2a13ff4235353d0eac2f4f5dfe4766021dfb018bb6c06c71fafe43fcc0fd5448cc6f5344f15d072f206323076d6f94f7d874429e46f4bc8ce8ea283c5461484cb02a7936249aa97a481df8ed37d40336c62791daaa3ebd1640db4ba55ebf96e3f2b5049afa78991ab956a0d9ef1a1379da2feccfb189f65d +CT = 29356028a8b5595076dd3db378dc5eb0bc10cebe429cf66950cc7cff11e58360a4d2f5af8343d4cef719e82b9f571eb33d3ec2 +AAD = 2d3eab556d64d589aa1b96b9e102742c +Tag = dbb75a3578e3a011 +FAIL + +Count = 3 +Key = e6850ad777343f320179bf500e4a2364 +IV = 6d34378cbfdbafaef6fe7bbf51726c5c40800dc32e858445487a0e38c14de387c03df7807abde79d66df94f9d638ef2dce88229cfe0b828815b9fb88ba2f509b2c0bcc48ad8e7ca3064d719e921c3ed5b8442e3b2263528bf4c1c39159471c0721828267dfb864d6e6cf5ad5e10e954dbc4e826c05ba054ce5d62d0f2abc15ad +CT = d86cfec05ca02799c5d500101462f869084ba87baf5f176a15e7224392209762d9491e8c3a2df132aecd44f4703ccd44ec8d03 +AAD = 168cc7779b77c752adc45a67aaa483e7 +Tag = 3813a889d02e3dfc +PT = c7b255893a1cedc1e5ebb7d0307edfaba44a98aab7a3fdc32cfe56cc285ddc9d12d00a6edce2967b93330b4bffc3770d6accb7 + +Count = 4 +Key = a41bd4996e2103268948520c114ea5d7 +IV = 0ade5d39050ad4c4a89a273a645fb98ab8334e194c8bc2154e25c847409ada4957dd790394f4f6b064c337acb6fdeaf32eadf27aff28069e1ba71220ebc1b609235c3fe320070322846cda01d7e18b3c5e7167ca3b1b4f87f23e4916792b797d5b79546c23d8d94ad167569eff7432adddef0b4729d8d3bcc913ca8469a42de7 +CT = 72e1eed38c3d7675e9db6d9bfdcca3626e096b23415c084cc4b7a5b91b38cb0bf296a4ad6db120826383d6fa94ed6a5ba0e895 +AAD = 8a66b99f8bbcf54b2ba8ebecaa9de68e +Tag = 9272e8ebe7626299 +PT = e9c37de244a28ae045fdec34db61a31e6deaa08bcc1d31c6a31833cc0b936488a6e3f1c2e3ff3cb592e1459491410e3b3ff1ec + +Count = 5 +Key = e071949165aab435fe78c6d72f17cb09 +IV = 5a8977efa6694e4544502e397413de5bce83c54553d247bd3cd3ccdc63d41b51baa11c86870cbdeec1377aec160c2970545526edd9a00c6f00382b22248089beb6f7bce062ce494228eb809ed53fb59fc510a2ef1a442a30c8a8ba8af46a0f7b48d6a194771faa59de306a853f574c18ccb51fe4256d4fe6ef097d6cc8ad5af5 +CT = a849ead47a45fb6c70163826434721aecc05694885bb5e5221736f9f488277c5b5d54e3a44100c53f6ed12a0263b7b6c09c274 +AAD = 85d70d93d6502c4fb337312f05814820 +Tag = 8b5b9fd1354f48f9 +FAIL + +Count = 6 +Key = 3c0303998a7c99a725de96e8a94e3a15 +IV = d9aa43d6c72208859c3ece822bdae4710957186ead085c2a736713a3e7f23ef9417f3e3391de6bc13cb82ca2357a8b878a36773b9e344e68d584d1efb9f97942c4bb04f659c12ac75d42b4ad58d48536139a342431a6283d7b6b4ac54dddc0be9122711404c3746f1239744527af4e7ec91fa1c89b3c95f271db3ec888026155 +CT = 142919fe54fcc4cbf86b0840719cec5ece1c3cc8fc5e86e78b5f31546c39c9e34d907b176fe0cf2157b163a35d774a43f234b3 +AAD = 0293f979d348e6a6265a3503ceb39bcc +Tag = a7bd84cd57e805f7 +PT = 755f8c8b15e393c9188d29ccfbd8fcb8cce44a1a3d69bf1bf3b89cd2e23b902419031816ad1f4399001d73b52ecb2350f3d5ff + +Count = 7 +Key = 322f7c6e189e650d72b647afc7536f46 +IV = 1e9d36d01b7c2d885b32b8474f58f9edee4481f8d17016e4ae567202f742328499bdbb3074f8f2cb8f780f5b0f398527aeb1102ea06553858e8d9408c33375b0633c16982a700601e3ca691cc32a69b5a3aef09b84d8d0afc848c9f5cb098f4081474233c393da4aa7202a70f47bc950a3db5cb9aa4b58b9b2789ffe6367f474 +CT = e4494a459f02b13d0eb0d39e2072d70ff47f8095fda8b8ee8cfc90ddb6da58ead82f965d0d25fb9dea4281591989118c46be92 +AAD = 29c95540f326ee521d27f9560ee96643 +Tag = b3eedbb26ed4dc4e +PT = 9c2b460d499178301861ab24061e6bcc8fb321c0b1ea2c2351c8f6c119e829ee41aa7f073a4f04c784e9d0d1c08074ac97fb06 + +Count = 8 +Key = 6099ef43a45de00b82527cd75e02977e +IV = 43cb5958cd1c5d23a4610099046fe2f758fe7f4873731517b822936bfb6c1822cc28ea999dcb05998ec8d1fed13e7a33b669b6f8faf4ef043b5519c9b25dc3daa476c726433a4a1d4ef6867b3e20b80c65c7c44b86b43e15c9a0eae97fb255e471851f3f956bb5f9b5b0f947b41259cdc7b79356a15e26869b73d932db557efd +CT = 0c8639f4d7a254d7145ea852c668b7d333f1b06465ee3dfce0d8a11042fedcb7c2611060d5c8658e908f579b1e0c64c01dd76e +AAD = 44abbfed03a79fcfc7f04ec8cf53b5c3 +Tag = 910a831ed5be7f88 +PT = 4e8928758525acaeb86341a58f7ad47e2a41df92ffcf2bb65f5ac47b2f88251d82c765c00c2dcfce243ec125ea416d7aaeab61 + +Count = 9 +Key = 845ed9916ed0b7998739fac5ae93d0d3 +IV = 17d68588c4610967d6987fa23a2b1285c3003f57b980170677ce1f28ea1829af3980bcddaf4e61dc31d9779f466dbdd01cc00a9aac27bf906648261be45732345a43d8ba897ee65c3172c2f6d0cfbc56a19ff25270587e2d0b74a86ca819d9ac4e49c9ed9ce1692b5e22d94c7baf87ea79376d99affa501132d2c2f603c53965 +CT = 808f1ae749d3e2688eef15c5fecfeee63ed68b780434361e5904fa43de6af6734f4c927085d2431cdca1249650883652a9e168 +AAD = c6e495f2af4d76186230d7040b26efb4 +Tag = e612b4a3ccf1cf99 +PT = 62a344fa2af282df576c8a1c76a0e47b40663cbd7dd7ac8234445b328a5022e535684e74f4bbdbd1cba9897c02b408c4a85af9 + +Count = 10 +Key = 62f31c79f77789e1913f9638d7c0164c +IV = e514480a2bba07c503997d9504bf5b305c226cc1b808c39a1d26a29759212a6c4e1c0746e20589cdb89c0e678f50268008b6613643142e8eeaf1403cb11dc85bc356111cf154be9481f86bc9b577a0004f1633a3641f519d6339daf778f8fbff1e2c123df20bfe10bf7465e2fcab641364b9ef85a457d96550bf7e526b7cc5fa +CT = 1894b71278883028850801b0fab398ecbce353120fe7ccde370c7147eb9e04b991777eed33f42cbd3992c45206218a18d038ec +AAD = 1b1cd0e53cf044bf7e0087efc9bb7a21 +Tag = 0ccefc5c4462fe60 +PT = 756cb80b5ba3b334dca8caa124077d6a0830be96f3e335c8fffc99d283d9f216db8f05bdeb104fffbce58b63665bd064f77932 + +Count = 11 +Key = 64af13e62342bfbb0bf6a16524f0955d +IV = e7d7036dbe1ac363c945fba8352c446ab1f13212ffc0f137a74c8f53d0f200a45d7e9bccd0e889aa6ca3cbd1a044798c6454d3523501b6df23b42eceba509a06677ba5160a1e5e61aae33818feb8324a8dd46416697be4fc8a2305539b56c5e7cc774e55fc2dfbc825b8987ba44b0629e49b927542a1da1e964e4075ac1cf9be +CT = c83e6cd70ba6f5194387e343fa47607245ba0e4907fafeffe1a77b9e794c14437a06932f459363c057adea8caf67da6c0f9640 +AAD = c81a6d9a4293642d5fbb2b2ceef65c9e +Tag = 485c4b7aecb7a72d +PT = 17f65f7dc103dd2eb5113390c4f3011c0659a663341419e9ecadc644918d7f3d946a7b8ff0e89545daca685651b4c4b56ca0ad + +Count = 12 +Key = 43d90037ce64c45027e00a9768fe7e47 +IV = 1f8f222b7ffb68e7a6a3544c9fc5c1f2415128158dc227fb11dc36190a4d4324a0aa91583bfda352b0bca0a158e0a5fc1de169e5a1dd1f1de4f9511e174b33b0a6515145af915f70814f577fecd60c51a405ebc374d72aa29e29134274268d4d8356f37c4d165b8a7d87dd15dfeb35484c93f0b2e4738a498d9b6c476749e614 +CT = dc1d7bbd5e846559676d94469ae3a5033b82af5535da2089685689d3ce8a482c52f75bb3973ecab32e050cf3152c0d214387a0 +AAD = a47b27873a79099702feeb891cbe2dd9 +Tag = 06a4169b36766285 +FAIL + +Count = 13 +Key = e02acfc7eaa8f367fcb2c889245f1624 +IV = 0abf597f1cdaa117ce67c50efe4727245b8420856c9113693ce589d7e0621994437bbde6a68ae063588dfc3fc051a637f37c8932bcc5353a4d211ec393fa696eef8cf47e93f0d5375e003bc07bf76fbba980c44972578cf4f927cc3722ab84bd0c4031fb62299fb15ab5734b1d221415ee774e690e11273d6aded93df46e2b38 +CT = 1babc1e5f1e6cde6f4dc36838f9e53ddacc01fb91fa1a610ab3366047dc9570aaad0c6613356bbe2aedadc427d86d8d4b6043b +AAD = ac5cebff68aa0896e692ae3267da963a +Tag = ea1707fe3764e2ff +FAIL + +Count = 14 +Key = fed37a1dde2f874fb3caac81d72d7126 +IV = b6fa3ab960758dab4b27daa0b552767108a32c634d43fc737f8651459d5c4350b83468b1a5ca46438f8080a9493f750e118e3fae63ad19e15334f3196965422ad4f796bccb7658d675961c7eb259edf6e7d24822adcf9aa2c297d7e959ceb7b6a56aabd1206c37e2569a0ef162cd01f100ee5e15454ed1bb99dc533914a3a12c +CT = 6eb534dc79600528621040ed4cf0a5dafa70802180aad4544f8d4b60d3ebb9be2374d1472408f541783571dd3fa70bc37bd47e +AAD = 01bfe7b5ac12953ad08e05d839d10c81 +Tag = 2ee1b807df83b8ef +PT = 9ce4273886675eacc6d834df51fe5b54758ae98f1383259fdf1e6c44be6a65773ac8ecd83359224f9ea7dad60e68d1671ece1b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 978c0e7a12fdb4645124448995b60390 +IV = ea4695b70f1385bd32ac7bb00ecb570acb1b864acf5d8b6acc40ef2de72b901136905397f0939b9f3cbe9e6905653c8d3e4f4afc153440ce92aa052603cbbe7c7e707fbefacb6424668bdc1e462bc932a78e77fbed11911509cf390b1e211e284a706053a353e350506af99ec5cad97803c8208d3f024c6bbfc8defb5858380b +CT = da492994437ff702581904856068b3f156d86e029bde83e27e949565ee0d345eacf737c2884dff5e1e77a733cb3e55fdf2422f +AAD = 6a88d522f20082833b396d10420dadf5 +Tag = 35c55377 +FAIL + +Count = 1 +Key = ea0ec7773fbb03d16e8bdbac7cef2f74 +IV = b1beffb66fcce0bfda50b7cdf94d48ebe089c13aa9728c02ddc95ecbc45c673231ae9505b85f51b520df64a073bb1a06ecc14c1f5eddb825840015789d21a82453533d6705530f43083fb88b919cde973415de5b6f3aa888579ed88feaab021726ec9fbc5df351f66f213ac22cdf9569f7132070aa4bfb7a4fdbe70b455ca49f +CT = ecd63c31e070a668f6b8f5a1b71b507f464c244c02bf87b27494c7f5316ae8c679d7c646e0ea254b022bf301cd7323659cf4d5 +AAD = c78fe660e168421029e4da5be099b928 +Tag = f8c14879 +PT = 3f818fbfcc7d5574341e0eedfddb2e4d5965aa44757ef5140191afc531d62c523cbef3717d72183942c40797c5045e76a12b58 + +Count = 2 +Key = fd455219dcf51700581249c205258344 +IV = 6f1eec8de4e6a293ba74a89435cc251ae0b5b6b8fdd8006288588a76914b8139875830c7aa7c5d8212086456c99fb16c7cfc1c3342201212d16da45f601b678bc6add56806d96e4389b29d69eafd1a0da4f86f91ab418705fbdd85c6ad8002cd5d88e975f1a520ddad3d2f7a8bbc42a2257646515f0c8fd0502a8445cfbdc9f0 +CT = 713b21b6be7a461721912b24bc5f2facf03f243a98cfb79d7346d161fd40ed99baaf9bbda0a03e6bd6a3c886c292f4797c0d71 +AAD = 2c4d8a725c68c073793efabacf556462 +Tag = 7d1f88f1 +PT = dbbd2927eedb448a89ae79c75fbd10bb3c7f47c49805c864252a2677ef90a8117c78966755db22fa709897a407f3ab8f99110b + +Count = 3 +Key = 6b483eed51814107d4619a32ae16c4f2 +IV = 038ef56d7fb014ba9e06290f64e4f4bfc160b806bb75329f292c9ee15980cfdaadc98934fa31ba75e89fb852437668b5b80956785836d2747fdd47c6ea744f26182fb142b51c72470ef69d35dab70b6fbe40049330dac90231494419b3203b54d884e079fed052dce5715579d8fdad41a7208dbdbd4c9fc4c08379e7e0f8201d +CT = b77fa60bd57f38800588cda59d1f5eaf2ab5676747be0faa682c61844a953e663e294dc21d67c5eb8e50aa18172cc8a20711c5 +AAD = 8c3f87240610c73f2b2a6a6f5f52b513 +Tag = c581521e +PT = e84cf0dcb21698684aa301675e7638837254153fe62b9aefaf82c6df9b1be02f9a6b3a21ec646b438821f1e776e3d65e035271 + +Count = 4 +Key = b2d333ded8c761ea6022b9f66212c720 +IV = 75f9f38a664e9350570f556f5b55eb91e45aa8d1c9efd2485e58f9651eddf5cf235c7f6220bf9c24179878577bce4b12281e15e5a327d40db41051cd5424664b1e52fc636c147884e3461c7fba42a4b3412e9354ef5b50b5d81a573dd1f1840087f866755f1f69fe85cecd76c6674d18064c221b8afc3f2147207cdf4775e478 +CT = 96794a09078ae61512ad448273a267dabe1dda2122e232f6322229f3dbb1c5a944456b0df4955dfd4028f91f32f770518f0d04 +AAD = 88306338c1fd12f9f5bd0093ba04f712 +Tag = 7e08231b +PT = 77c9ffa7726ec83a6b6fc13ec464af6d664bbc9bfb62bef945f680e32b582ae51df374f18a5d11aa3a122b2cc5b6738f516ad0 + +Count = 5 +Key = c8c3c90451a5a5022ba474c1fcee0e67 +IV = 04522e485827fbe599c027f30ee412fd44fe7fdfd2b15d2826da5490952c11ee5539d229f92281a3abd7c5e4af8750bb972125f809fe5b918532bac2cdf8395a9b57b4872f9b88bbbc2be737210eb45f826ca0a693bd4de9d8156369a7253fe0d0602dfe6f9f394fc7723b90476929c54fe8b1a3c630cb0d2146cb8fbff4cded +CT = f9a205cb82ab63e1014dd1b2bb30acd151a926f9edb418f7c7ca44ab70269027a69c711d48c34277b07fdb197cb1081aaccfe5 +AAD = 90ed3ef8bfa3bddbb8e1b973e0bbc498 +Tag = b1aae8ae +PT = 54a34a4489a7e17cd82f0cf8314b76a99cd9d5e71ed22e9f52561ebae0ff7d97fc9f630868d1f38ffd8c990915a3f035b611ac + +Count = 6 +Key = 29a4583e57fd9be449cfd9b4f59197e3 +IV = beb1a75b9f998416a4608bb0d0e44bc67ad34d0575125fb408450509cca2d85abbeb3b4ba9d6c487213b049a18378fe8efa54bfd13d78a38fb578517b1d9962ad5dba760472b3464ca674f8213b820389d03b4dc487c6aae8459beb588b14369bcf0f15df9ee456932edd2a2bb5a7d7c33d5feca3fb3e75b8f8f742cfb88ec16 +CT = 0912b934aa01cad3f5abb31c8e01950ebe80e88f19af02bdd366079b9d1ce02c972e795e29f6ef1788652243e63bca5e30e60a +AAD = cfa132b506f85896d31b919da9e4f857 +Tag = c5b41463 +FAIL + +Count = 7 +Key = 2dde156335532a14f8b88e4b4ac38b19 +IV = fbf1a154c774c35aab9d419086d9636eea5a502c42fbcc3dd8f255ebb94f11b8bb053906158de6591f6bfdd3ef35b8ba1c52ef64208ec406db83f9529d080ee379a62558d7da85dccff7efd6725794981a1cff0c3a2bcb95a6989b8a86513255ff79be16919d3a79294396bac2bf03b955dfd5b35993e03f104b2fc8a5cf0158 +CT = 6c21f5d1f23a69b22132a25b000603dbfaeb361aedd3ab4b7a6cc7581b041c4034ec28bfd235b99be249afd3b35b0d49a6d453 +AAD = 65d7327aa5ea0143104b69117c5c2e38 +Tag = 32faed71 +FAIL + +Count = 8 +Key = 8dcab37ee01cfe13dc31e23ac6a8be6c +IV = 647c83f4d258204f4a75469dde23239d2480b1eea58f958b24bcc379d142ba0aee811275f5b0e29cefc948a07fe68accb778b1bcdf22524a95a0973bd24a87533d1b777393d12e0092eefcc1a33854696fb1156cea1b3cdec4c09261172cbc6b87166412a5f4cf4be89b9afea2cddf8fbe18eff5ba703d77c147bff4ab50bd63 +CT = 4fd866ced9e2bff5c62d268c1e9dda1cfa4b54f821a43066a84c5e57a61a6e8d84cd4103ce9b95632c77d4af3e54d3fcba0e4d +AAD = 0dabd0051ad7ef645e05cd188f678e1d +Tag = 71f896d3 +PT = a6d14fe2dd21ed5ea0a3641636c11cea62dd2a675723c88e5974d8c049a143d97dccff1aede8c60b9def64e02f95a975d4ff8e + +Count = 9 +Key = 3e4ce297a533b35b59fae5556d2899bb +IV = 53d1956c896d664e6b56f41b9808cfa675e44cb07f4821c54a2c58e386bfbd341a8defc9d28bfd3f3e2b75baa79f7003a8de142d5ad4fe3dddf5b80356d50abd7feae3295725257ef152f704e061907b847213f0a3e6bbfcc49c34b3c682942b1f3f22548e074667bf68fa99a0375734eaf9980965bbc45953c04bbf75bc3e93 +CT = 62929da64f0768535b14c950a4ae83d63c4d335ca1a823c62de5142d45ae4ec09473e168e26de705d35fa89d8f3183515f0cd0 +AAD = ac2be763c8a3b8c217dde5eb48d692f0 +Tag = 857714bc +PT = aad4bb21e7b841bbdba59d08413ffe1c3edc2f25131b67b533fd8a013764c027b244e38d08ea295a8d1e92eeb788a5d6082dc6 + +Count = 10 +Key = b0c6905ad44971ff26bb92cd929c0bf7 +IV = f49ddaf01637300c88d93a47868874e1c26ab698c9174a1749a5e66ccb8e900d33735b171f0737349303245fad018bc3a00db843587b12f9b0013afe561098ab630a0e70041b055ef2bf5d9f35987b82c649acc24666cc269fd4044d459c15bf5f28b208c770c1bd55099fb6077d18e9629cf8d4c46cead6fd8b26888ef9a8c5 +CT = 2cc20b4be94000a9dbfb8d02fe9ddca29e2bdce6fee7af691bbb5fb37e414391375c9b5a51dfc983b6ddbce3c4d50ea994ab63 +AAD = 0acbe74dfe38a530cbc5238dd584875a +Tag = b29b1e74 +PT = a3909dc2476c467dffde3c23805fa41150da6e0539bbb3796a8070082feec662c2843637b16994aeaefa40d83417cf1985e88a + +Count = 11 +Key = 816c242a34616885f674a52c605186a7 +IV = 4b918a80037690080a4b6b4487700e018fdfd64d3c3af21e43bc614375f06b5004f1b25e0e63bd6300987b0797100847f668f02928c715cde43c8b4b55954b0d11f3b4bbd0f2673f50857e9a076717d61ca977d23092df85af9ab75cf4d8d0c0aac426afc0e7669d52a744c2d9a5f764d27772411253db67b16bc96d5e6e98e9 +CT = f3dca1da65556bd597c6d5aca7e6b7dac7307ab6027cd5594111cdb23150c7bf838c3983f8cf0a1a4a16412f01a3ab049cb9c9 +AAD = a70315949c6161f41c48a3850420ce67 +Tag = d71bf8a3 +PT = ebb460aaaf982fd9453367954a5b0b177f55d3c1574bda94f59fdc1a6c22669dabb5aabd8cffbd0522e224dedef07819039f8a + +Count = 12 +Key = 0c45e7fe6ee99bde343e4c43b01a7f11 +IV = ff45ed89c4313fbf5c2104bcdf9c3816da80013dcd238e5b07910a5d156820c2487dbc8f901641c48bb4d6b3fdc0ca4e7824eb644093496c964435d49cb67376a428b819d1535e44745355ed45b3e9c2c208eb11773f3e53f52533cae55d5cad79c6d64c667a62b518968954a3a6c5dad422ef88b2d4afca1de267c12f515ecb +CT = 26a8308adfb3e37df7db322d5034ffcfd8dc09a9aa9f6f90726f9ae429a8f2ce45cb7bbe4b0f7b2282914b800624d4a0bb8412 +AAD = 58db5a590afe34ce4d4c8f35b4b63a33 +Tag = 3f856521 +FAIL + +Count = 13 +Key = 31e2f465d07a91502c62ac40befe2c45 +IV = d49ad5b53a10da22cf23e952f65f7df2f3984a706d5e1da60ace3ebe26947943c15773aee1881c3b21c5183f2e0e66a343de5085806c1666eb20848166bc3858b423888e61de6ea2f2e9eb5666e48c277b2d6eab4d5aeed786c302b70d22fc8c48a7b1b5f9a9b1edd50bd415ee4767921705bfe6caebb717e6f327119e69770f +CT = 4e46918cff52bbfcd8d7c15788ffcea7d22ffea0d81f155356c5987b8f6fe6659002031a8977f1ce97f327a5ba91e117d9364c +AAD = 342401c27e1b9ae9eeda548fa370dc02 +Tag = 0a3a3221 +PT = 238c6cd7085cbe034ef5c3eac9879bb89acef6704a9f94c5d3f64f921ed9bf78fbd2874e7ee1c64141db4bc15d54a7e454d551 + +Count = 14 +Key = fa4b107b34ebc6d21684e329f7390c07 +IV = 32af08ba5fef82df31ceaac1656cf47a689d675f6d5ab85e1e9988580a0408c2c0c7a55a53e4ef77207459b43ebdbcd2057057cd5461f2264428ffab6f27c72450604c2915df343a33bc4b98c700106a6dacf617bbddf7c43cc326c251c47f00081a1f7cc3367db64d3fc54d31acc17491eb48cc97cdc821ee95a13bf60be996 +CT = 3d8f63bb3f699e4795e359807ae59b1dd93e1440fe87e5ad4d759a091db8c5a94600eb29223f5e3f5b310229264583f33f2277 +AAD = 38731a09dca62c9b06154c13a773f6c6 +Tag = 5632047c +PT = e01b06299a6a23bf985650c8dab46e2daae2e6109582ee644b0bf0b24106d183f0209afda0759153b19046f6538934714562f3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 6ee340aa16b716b8f1a9c4cfcc124b96 +IV = b3eb7fca59ab1646116df1d05f3406d0b623c08e06b3dc1c7a263d0f2fe1e772d6cc1ee8eea6212b44bcd25171e8c0609369c354ea96c0077da96c117b5ce384b63c71eb20a8b6a22b504d601b656445e4cdf1fab21a470f8f96c3592da38a98f2a25aceabc4294a83b4a133156005679c18b63426fcec5cbe1058461e463cfe +CT = b64102f01a2f0f727fce74ad5cc470d57fd94c27a882eba91b2ee06bf7810eaacc142fad1e1de5d09dc1ae6a889e52da1f2e14 +AAD = 41153460d7e55d37d8eb954e810a3046ddbc89ce +Tag = db733a8e64c11fd4cf5b6b58d10cc506 +PT = d4fc1cda1a231913bb71c64b6cd6fdfb24f71c10a830617de35acff15b46f8e039140556219f049cdab40e92fc6ca72006e2fe + +Count = 1 +Key = 3183720974591ba4b3a157a13adc9c63 +IV = 73d1c5bbbf30683ed151b4653434bdcb440a9eb734def6b22a961efc60f2f29221f157f49ca6c26a89dd616f81cdb9d3390a895c3a4df3c1ecd56b119724d6f380be50f34ba1762356eeb79d092891cd5c0e461e876cc27737e148a8458e8b414fe90a6e42e542fdc538ccea5cafebabee00a7ce62f57d85941e9ccecb810eaf +CT = 1ad68f4a81baaf431b191f9fc0ec83a1eaf630bc49a01d69b82aa2d7d3ffc41da1852dc95d7bbcc8c65c6a87268a6d1b5bfef0 +AAD = a3824252d368aac0f550e069417d635dd810ddfd +Tag = d79beb17dac56ecf2e9bf3ffcd709ecc +FAIL + +Count = 2 +Key = e9a534d0a9f25a5e3693c42e7bc6b800 +IV = 23a6d65f3abda7ef59c376a680c388608a1620d59b434e2c56cc1cbad34d9f3d75ccc155559d804d8a646cdfe16153c0060a08cdbd8b0338871d1ce4e69f136534992870fede331cfb84678015d214417c3c9218c260892621a10a5708b70feab4c27f8626286d02cb0aacb71ee4aebd7e0950a7a0cbdd22e3e8c9c056b185ce +CT = 466204fd1db4a353814b4e91d30a7107ca21c975b74a417e2b400de0d5e851d741a18742c3a0d125888b04e72640f154bf43a8 +AAD = 4185722bacd38dba7efd58f9c4b7f88ad6b7ea9b +Tag = cb46ed625dd0c6a13c8d43ef4dc338a3 +PT = 980e5ce79a78f48e1fea5715ef32e676dac0a1ac8772990f19afaa3b080369f5738407f1f90f04cfabbc92303ebae6931ffe09 + +Count = 3 +Key = a1860e3b32c0e6addef7920b1e84642a +IV = 3686f2104753f95dd700c48ad7078e5bb8ed05c63623daafd5654da22c2aaa1a595fc612dd67f98605be3d1fdbe07a79eb8ff98a527ae88691173d529ec7ade8c1587cd68579ac9e0f9d37940ac75ad3f2302de15a543cadfb8c14216e9e382fecded7695f99598b125f2f1cfb608ce9181f765ad760dac49bfa2a9355d60208 +CT = e96bbd219925c8b4d8d45dbb5ad51d0e5a41a46cde589a6f8a3210c8a817ceb4b121cee2a0ff6a3470f3d9d226720fe4aa1546 +AAD = e10a1d305248157d3f8ce24fa8192d1430bf2f54 +Tag = 87e25f8eccd901e2ae6e345aae2f20e3 +PT = da07fbce1249219fd8e5d42d5e842b24093a3261df21f93fafa0fb5ac6ba3a4c134e56bc9ee096a1e3f30c34c82ae38ecbe490 + +Count = 4 +Key = 7e7c69ba840906bdfff0ddf948df898d +IV = 4785e06a308baea20200a4df46ec37d4c3d8c5874efbef3b4f19cac3c9bf46bb24ca979d11acf74ed8535946254f718bffbbe906fcc54affc484f2704beb8df40c6d61f2bb1ba4fc7ca998c5afd11aadb7329527e61bd23ac291f673994be2b2065eba5cad8f9b4f510de2b5a0fac96916e37c6e5cda1e5032491a6420723f8c +CT = 7bf1d7b86a29520bd39a825e309e8a6501b0b20f4b10e07ac46b28d22b577b1713b3bc55c85cfe55d8699368f712de15d8e0f2 +AAD = 1910d9dce10016e928c8d0f888208354f1333aa2 +Tag = 2b857410fbb322d59d63f8b8036549e5 +PT = 9cb2c93a65f115f51b26f7ed6a3c36ac73d57b92194e6ecb24bd0bafa511b204da048be54f933791dd1b19943b4b2e8cf4a4fb + +Count = 5 +Key = 643ac5e722d998cfd58fbb91a22fd417 +IV = c6cd62a2d12c6f68bf7f849809f82251cc4b4e2d3a349e728e51cf66eee4ab1cd4535990e45d452f53c2344f274aa80ddbf467fee1fd00d006c41416f3fb3e2bdfd962666ad91e8b4595c18bcc4bd378640b761a3e322c2220f9cc92be61ab54f8c1a3a7286c8bac60a8a05609dfcbe22dd1bd46b6ac70f35f92fd8ca4eb5d20 +CT = 3b16556e507df1c87f2c32ae56472eda484f283046724102c59ba44198f6935b8e65dcd036afe87036367acc44ab25e2c78a7c +AAD = a9f33d4f67092c5a65d60bff80b018032b8da43e +Tag = 5f5391ae037f39768d954d75b72328aa +FAIL + +Count = 6 +Key = 035a38b437e61f98ca66cf0c22c6a0c6 +IV = e52a825a60642c7f5c9fc9a70696d8b2919394037afb154477bc0caaf4ef9bd4444d5f8ae83732b1f6e01de93d307ab35c7bb3d6ccdc135ce3b95e10adccc3865cdf38bfee49e383728854b83dc20405d81a5ff37e797a84bf5a3c425b944e8f0a2be14f27531699b3b165624272ce71a84fb1135214297dabbb3bbff2b25f7d +CT = 205479156a081d76313f138889fc49107147830c4b1ca02da40030b829082d201f81822f58ecfacc25a9ad9313b5e09f48f6dd +AAD = 1655b7166cfbf48b6fb681edb2d82bd51ddbbdde +Tag = 1ed0a1452b51acb7157d4488b47596db +PT = ac24e28b0199ddb50cf72f508cebef79b52f1021466b3ff877cde686ba43a72e2f39cbe0674b7a89fad7052fa8b252d4cfd8c5 + +Count = 7 +Key = 8e84c49d087fb320034bff8210b5b415 +IV = cc8ec98b64868f451f5cb765c26fadbe55be77d36708be5f75e00176080523da7e6f3bd1a0a9369d6484de5e1c1882bdc6ba758b5da4fc57f538673afbea765698dca8fe79e9e35f0924eaf0e0a99907757173d42431edd8483d8a7e3c76b51b249330a456029653eda901e4729578a7dd5f19b3eee51f7837c68f6387586a54 +CT = 43616c849b1a015b3d69dd352fd60960d537fe94925b7457dcc14a42e6620ecd708b7b9ad9218b91bf0a29bb04a4743c1a4105 +AAD = 29913269dd7fc61ce1204db0e4fcecb7c2bb893b +Tag = 293ea6e96b6dad90c40f3e41cdd62230 +FAIL + +Count = 8 +Key = 13c7c8d94d047eb6e59c46cb062b29fb +IV = d5ce7fe59e7a9998d0ad3222f0376a19d82cefd615dba9d7c7160e26125399a2f2a8d170296afe79bae1a9abf0023db62561d5214bbf157547320467743518d8dc1ff44b709356fc2462bed4777f6eafe93b90740df28835fcf8944dc83c135d3588cc7e8682bf74a136ef2c8ab3f69c7dc795d24c0d89caa7a4add1d2cad1bf +CT = 1823c3f2cd14af67d56f36dec3506e0422d9e6065f9f066dcfcca80002aa403f59f6864ac67834a5a52d0df0a1ad647f8e3a6e +AAD = 5ae038221c7a53c4e65f7f260334f600bb5d811e +Tag = c3b2bd29a59511a5acfa9f3556253aa2 +PT = 9444276676898fe045df7510bbc10bf4b44bd7e1ce4c2f35cc5439787069a2449287a564f53780bf423d5c164e9e561a65240d + +Count = 9 +Key = 59935ef7ac9655ead673e72dced440e5 +IV = 280c83b28bbc6314ef0a8156631a4defb6ad259c50128f4d4e2602309bba77904d835cd9572f8ad3339a0ef7057e26b0ca51d72c43036550c2751cafadadbca540881c866d2f6519505808398d4f1a70a1d2b93365b5b33587235f57fc4c10875283b5ce4f4e61113e598b83c505688daefc167f205bd90217b94e0209844cbd +CT = 8f0867055571a55da5c26b48572421c02474037bc2d7864670c654d3bbe55c8a56466352c14af8d88872fee2ca171ab479b953 +AAD = c9d806bc685d9f978a6e4e198b8c2ce975cb4b00 +Tag = dd7af1c7cbf0706711a0ba0373e310e7 +FAIL + +Count = 10 +Key = 366c16a207d78c89a102b8f0fbda1d52 +IV = c3d7174c01225d32a029a018f6c12dc4bd50840b2800c55b2216436154d4f1e08f9c965376d4b2e3c7d85449184c2c7b4e6a36027879b213f1b9e9f880525c3ccf86567e218a9077cbf8aa5a4df49d5a4300e0b7f5449c34fb2fcefa7ed8cf2d37fa976047ac46863f5ff842dd8eff726c85f0265059be3c330c1f90a21add2f +CT = 92342688be85fc13e4fcd326477c56da447df14f09e298cb7edf34c7553cb8f58fa3ac89e2d40c9a6d21b32e178b1ee153f640 +AAD = d9a12e7babf8ee3e1988504edcde0a87b9f8f451 +Tag = 044c222b7946444a0f26a6117deb74de +FAIL + +Count = 11 +Key = 61c3ea7e31c2398d43c2f56a092a98ea +IV = 53d6e5c9d805fff7d1479c5bb275c4acaa79f208f1d0e106499e357cbbe51e27d0870a6fe294028f4ce0a2f6a28b787c06fce457084ecd8c4bc5df2962614ab70e829ccdbb00163966b6ae77a79eb3fb1493aba4bdb38c410a297d7ca88512c7bebf6433633c4fbffaacbe8ba4d562b71db40bba12438338752ce7273db22874 +CT = 894e2007b241e1495da8d8d8d3438c1112e558af35019dadb70c940c1689cecb84b5d1fcac0dee17f5c754fe8a7af4df83a5df +AAD = 9ad524845078bdc633863ec01898d6ff83b06985 +Tag = 22f01a216c475975c966d64ba3f59400 +PT = 2dc64155e6535693862b20ee91b7c47aac349b8fdbb7a2bae5753f3e66aa1c601d87c0fedf06751b9e58b84c1f9909f4777ee1 + +Count = 12 +Key = 2a53176cf1666cfdd855308787111169 +IV = cd9f7743007f525d7445a928a368ec2205a844d147a378f1fe18712233d9c35b2e1e6d8ffe5f4753ab392701d543634effb752a8fa45a542cdeb3a5eed88e6d238f0f1c2438ad7fbb5aafd70dc4a692a4e71bb99e3f22e43778c04a5c1ead153882a83ecb1adfb44e1a87e2f893de4f85e441a19b4161b84cb7120c8f4bf7559 +CT = 417fd1a32109df9c562f112b9b44c190de7b68466e8c1a82c67643eafa0bde06daf029154a782b11a4d83e0c5056f1f96257d9 +AAD = 41ebf35c9702d4878a14d42f011adf4611c37b56 +Tag = 3d2e2e1a525fa7472c251a41b81cb576 +PT = c04e4e5f8a1248bed11c55c0eaf40a9e882dd78cf495f2e339222b8ba683928040d09ce63afa2ca09b18194b3b5f8e060fe079 + +Count = 13 +Key = 905587435985e66ebaf071c660c3ec95 +IV = a52aeef824b1182b7d32e5d9a7b91e84bdaa9551c3a662164b65a0742e1fe707ac6a1478832dfa4eaa4a9ef9368ca6053d457ad047f3a28e5ea1c87fb81b3bbc435f9fe1f062ebed888a2d9a465d2dfcf4b574bd9b3d1ca2ecd86845e1077c8bf7a21cf0f71f407433409f091e5eecdf06751791a81770d3207e68a531690cf2 +CT = 255069ef90e2c628e49afd44b45616c5593cd1770a3af4855180d7e37d0e56a57ece34030ff19987d8efa58ead71147ca39dfd +AAD = bda66a4fde79949f4af5c0d09a76a3afa73ea725 +Tag = 7e9ad9fb008c3b3e7ab0f3fc1b35dd12 +FAIL + +Count = 14 +Key = ccb92ed9416001191090631b1c4c79e9 +IV = 1855af0e0405bad1e6921bf53500b39eb71557789157b2a546c18cd107f9ddab1519e3ad6e3a9d992f22b511e445faf09b4d6d232402fd7b074c6ff0f82bcd33c2b37a7370575ddbb2688d319b05de353688191a68df0ad39e999d89b7c522865a7e5da7c5825b61e953278c5c9412359f14511aa1fbb4548ade1c06f6f79021 +CT = 04aa8404ad3c27504108249d9f5cdd8e613a739da6ba757e98315ff2f59f37cbe8c003b8befbffcc8d5efda84900d2b8898494 +AAD = dcfc2964c22de92729bdfc1800a2e3ae58032fad +Tag = 67e3cc8f10f149ea83f4b113e7cf39fb +PT = e827bb0c628ddaac7294c50a51c069277ccf527f8357b1a98b794ce4ba70ac679303c1fd4c45e93459750e2044f8817176f655 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = d4ee8976729e4e66307e6822d1e791e2 +IV = cc6c8524ec4d0362a8650266da9c87675955b81bacca3124e5108ade1a660d23e81055c77a5e88e7b7766b3d8656f1e41d62a8877561c45deef0115548c84f3ad916e2a05293c4ed905a527ea9d922924b9e9d722e0663c794621886161a61fd433ece369dee03899d799d3ccad4bf2f2fe31ae8be8c9525bceb6b1eeb99ce7a +CT = 8525f0a6e3f9365c142dde5f512669ae3f6ef7ec69aa135cd0485c9790c3f38597ae276f3d32d83b64452094013c116fe4ddc9 +AAD = d0d8c90bd7c79e8ff18428ab7d8114a78e09bc37 +Tag = 16d8ad0a9673e2c03b9d4a427d1660 +FAIL + +Count = 1 +Key = 9fa7391388989b5e1b5ba2c54940e82d +IV = bb55b541d6f4f44b21f33cb794da34f17c6daca57354afbd999e09c710ac8b5bd764fe27341b10b5a62e782e69eee0aa1f51eb12718ab7147d8178f1100b68758891c2cab8644b64f4b1fab813940c221fd1131fd38948c484a89af0635b5e8521d20c87bae170c2464e7d5a971aef5ee3d8ef668fe614cb6383526b166b9ae4 +CT = 87005986e30f3f44af2c63cd971d5769fcaf4e4c0536f3dd612f0962752423752346292665008b1e7822825e3158b2108b9870 +AAD = dd0d5f7a83183d25a9f7a8726d87cf2e1b43902d +Tag = 63ef608f175ef6ad007dc96de2f03b +PT = 835b032b9b2ee1113a279f3f1846a12605c44370fd545668f2f0dbbd98f0c44f360bb8561dafaf4e0ff9363dffd9f54e761a9b + +Count = 2 +Key = 2e076b8613bc140822baa4f6e478ba18 +IV = 24b544ac6db175ed90971d1daaba65f90788a04635d5e671e522ac6711cea69ab71bc70181be45a33d7462aa053218516587d19f0b6790f5e3b36e5a63044d2bd6565a4c69bb8cd7be706f6a8fc1e213a9bb3781406beb7a04c541e84fe36bb5b6b998518be42a874fc7d77ff136d55d48e6cdc367b49d089561283ba5bb1b35 +CT = 51a9bfbf5ab788598c9b73994b10246c09d7563a4650dc73b4adbdeafbdfc30faf5de85780c4ed52f188adf8f7aeffb33adc9f +AAD = 4195db098a19f2fc04de5e95a21f7c9889fbd193 +Tag = ea00983dc823e1f06b0cafee6dbd6f +PT = f67c013e45e6d716723750dbf84a2d09fd177be9b4ecfa4ee5aae4a02b81a139cb9da53ae03fff7e65b86072a4235d098007a1 + +Count = 3 +Key = 33fe63e53535bd58b927247254d52899 +IV = e895452730ac302ab77469238c4f9d99b84c23188274fd6f978a441befc102cb3bfba6719a005539b1304b9a9ffec0fb5f6ba580017592e41a7fdfb12e89fba5324f7a310862cd3e905054d4c819759333fa99d6261023e3dbf5b76fac1ec00c5b4bee548fbd1ce69fd89ae5c403fe82fe49203cf67a9a69e7f6710768588c89 +CT = 361d7dbcc36340a667750512382173456622c19a5b359f5b444a2a2eaa20df6bc9b5178a7a804ef172c6d33341ee0df3e911fb +AAD = fcc982158e9393c8f0811cb708dd3f0a3f13791f +Tag = 0417f4c774cf3bb2e4579709cd1b54 +PT = 7b78cf0dd5c3453eaca0ce386359c6f814628708648ba04a1592f4cdbfb5ca05b95748443e91a85d7de20987c03d5510de8c9a + +Count = 4 +Key = 08062dd02a958359cea6784086b6d272 +IV = 9d906bccc959cb640a247037c94e409a7a1dd2f3a86f56284fd61fe53f521aa06d10350fd1b932183016f9c9717d379c2ecf8f9fd93193590eb4e46bda853ffaea2e850ed07160ec224d085246a72f684288f4ee4b48552fb865f3f12f09ddc433763f3f8ed2ce10f49afc0554dfb9c98f36168ec0dc9b6007cee4e94b66d52d +CT = 40701cc71995c3d1989c51bf8c10bab9257c4e5b1b825ba699c3b535afd5744e28ec5b5f4c7cdf8a2d37c29cfa40ff7bd5174b +AAD = 81ef6f1465e4d5b4170405fa53334fb8c797c20a +Tag = 4c657e79fafd255e9d8401140b369b +FAIL + +Count = 5 +Key = 4be8fd766772ebcea587a6d5998e9aba +IV = 0bc15faeaf8fe76e4a354f73ac9d1317d7f879d9b08c21252f4e647fb3a1ce6834904ebae5207c12c869402d3fcc8ee01ac3bc12c81c96652b3eb18ac0f681fa3d740961c8b9316ea322bab3f08320c6e3b1fef6fcbb7c9fc97026fdd2a95eccc7ffcc52c407c7a472e18fa612f92ca87d1daca783c730042a391ee07a18ceae +CT = 63f870289003ba58f9249b4abab696fa7558feda699d60cf1372cfb374f022121911a87980dda939678631f54467b821c01cc6 +AAD = 3cba9a2ecfe2289d9a4067b2b3515e959ad5031c +Tag = fbc8100fc979e714087297432719ba +PT = 2f30146d77ec48a2688f37a89d05c95e5a78b6fd205572d63f28d06080b28e29c065406f25601b7679b1a4e90fcb7fcc77fd6c + +Count = 6 +Key = 56405a3d6db3f61a9dab5ed2fee368c5 +IV = c3c380d81467e20b124affa576435c8d1f2d428c538b74ffd01bbc9029f11a074a2764ff863f0075d5ce34c12fb8197e2e9869d2d8d270fda7b0aaf286e922ddf15dc4405e44899be14f50fe4b191fb8d89b6517c7fb1d73834dba882feb03b10c67470df6cdf1812204e6934fa383db7b9344e88c114dfc767efae9b88a1269 +CT = 9a85262160ec89f98cfc84bec4456bfdb25ce50da37f2ce8e7564ab9a08cda78ace0bc5997ababf503ef4def29e39509155df0 +AAD = b5389294113c29985a102e9feefe2d30f98995f4 +Tag = 7634568820d66b3408ddaf86b34d50 +PT = c7cc46200b98d33a510c70a6612361ae974f13c888ad04698e2839b4a728a4b56e36e545d51f8f562fd0dced52e0c30ea2005f + +Count = 7 +Key = 95a2f173438e7091a782ffd0a191218f +IV = 8b1a933717ae6c97304ce2435105c4ccfbb09b2f6b830ea7baf428774e2749d37994d3b6a2e04bdf8fff2b4fab6a93290dfdd63a42240fa9a2f31b8227dfcfda535350f92100cf903e6ffc94d53c5f9135e2ad0091b8e6e48d7d3bcb57551b38258fb009beb1b2e37543347422ab144f59c8ebe33bfdb86338d83bc42f137acd +CT = a934fb75a27671ecefefdebd7ef429451ea8f9ef1a77b7010d30274919a91f3ca17ae059b88aa35dc9cd291cf475d6126a514f +AAD = 5636d80a7cd626f206295ffa08cdb92499490b24 +Tag = 634f9fdd0aca30913d01b69b27e64e +FAIL + +Count = 8 +Key = 59337d887fe443aff97482bcab3cb840 +IV = 3eaa9898b320e3ae4f41bf28b247be5ac978d7f27d2567e09dd18f2cee10f1cdb258de68e6fdf0f083a09419a6d9220258845d94bf8186462cdc08c42290deefb001df274c099b5c3e9338dcb171d1a32f51196a2abad1711d253f67852263b31214c9113ca24644d2abaf2c50a5ee23b4fe5ea72ea4756d5a806a42cb0f7daf +CT = 40b3b39412388864a1c0971a3aa62f4f6dae1afc06d7703205a8bff38c9a1102e005f338749ca818e68fe16c9122f0f39f7822 +AAD = fde5c49c0b5d82d950af7b319efab9b47706e144 +Tag = 44f117bc0ff3a196c295dbfb79d809 +FAIL + +Count = 9 +Key = 59d1595cc88a9a1b099ce74f566e5eb1 +IV = f4ee235b0552ea89a3b1a1a485d46508d294eb1e5562d6ab051733f2c5a8cb86ff4b7b8360b70495d28dc06e69b08e6483f9d425b0dc14a6a4032bdff7cccfd0c55ee1d5f043d02596cfd11c244bdb309f194edd1937807a6dd00a8692c8a2bf515df07a2bfc2f6a7d592750eb9691f2f48a9195a068bc61887ae9c88e5efdcd +CT = 8fbb4a0debf34ddb738a7e690917708037a2fffb110b989ced2bf89f565a8f570ae09618b525495fbf51fae87670bacfd234a8 +AAD = 9389761f723dbf602bdc8a07b48d9bec4340c1ea +Tag = c55b3debf84f87e22e334cad0a5897 +FAIL + +Count = 10 +Key = 8d77d724db182974521edf00608057a8 +IV = 9de42802a320a5ddf4415fdbb094db8d34572625d49bd4baf8daef384dd473d2b1000cb2716d9d091f0bb1a750f31175a8e37064e43f85d220a416ffe12c50c613abe1d477eb68a55732392a05fd649b4433012831232a70667c08bdc4b8663bee40b2d9f33fcd78ef80f5069b656507b0ba3ab8752a57666f3fdfdc2865434b +CT = 99d235eef32ae0111c1b6f03099eb3c30d43981edb7037c8c1aa62e564826ae876b27e7929f21644c8ecb7c249578905847e55 +AAD = bc5df697109d7b4799bcd3f3acb48cae1f626fda +Tag = 1f6ff17616a40f14f12a78130d2353 +PT = 446d2be2b9132942a27b5b06d6ff21c4cc57a6c0c1c5e8637ca11f3d8c193a6faea26d5b19cfdf7d84abffa4c833e872d34a8d + +Count = 11 +Key = ea757832237168afda36cc1a36cac2d6 +IV = ccde6b2ecaf42b3399112037e5bfa7827c7734bb2f23ad4fba80797b94d161b7455069a118b858de23b893c5ea62fdc2c98964d8cb802e90eb87104d398dfaea6296208aedd068c45b90f7617c30e983dbab0608633cff521bf61bdc112166ff993f93f9411d0fec7dc3d7200bef40ebdd7456f8906bea822eea2902b684540c +CT = 8e2c1462b3f73b69fa3c55f64fa1b51c5e91cce274cb4e298b8208f5cb9bd31fc7d9f75b9381e7917890f2f737410cbd203857 +AAD = 144b50a2d13e9a92ed34b8851f57929e81f9de27 +Tag = 8e15a4618ab0d6479f09e16774ce6b +FAIL + +Count = 12 +Key = 0ae23d7849f9109cca52a688b951e1b2 +IV = 900b8970d9b2d9dc9694023c781342f5d44c814a8020a9553880793eb5afdcdaef647a6b68fb0dbf8cf640f6adc965616a2080b4d9d1d380ad6fa084c29b71a79748bfc5b6b8043f3d9c4cc83183f6dae52d92121941e2bf64d5af358eb04694d2b0de362fb53a32db69d286d145c3482e3a0d718b054c444e008f194f76d58a +CT = 67284783f27a493c10d8847abde91b02bdfb43a9889f1bb9418b2b520f5a6431778a89f581f7eddd2372e3688519f62cd3d66a +AAD = 6495f0ac9e265b6dd96f2929198570ce0b89a1de +Tag = 56e543263366072449cf72b3ac0164 +FAIL + +Count = 13 +Key = c1d299cc43eebb9b49e1f2da20988c76 +IV = a8456bd3b87d0fcc46651d18ea790b750cb2c7c2973ed366325010992c235b22c4f00cbfbe22fb59f8a8727fd8695c214f9e7e4bdf60dc14a6f15a01a96a66ea52158857b48ebf7e2a943bcb9b809f7fa9dac5e8b9eca048300c232ed785782a4d968e3c53eba3c8943e29dff7a8c7cac7897da8a24c663df4f05ce07c20dbdf +CT = 99a12a235e8826ed47cb0578014b698a5245fa408c6cf1eb85ddedc427b64c4cfc56b3df1d0ae09ad0f3ed8283ec203d9debef +AAD = d92b9531e913ecc67f0c29d9126b480c38333540 +Tag = c4d792ef16d73c3a5db9dad55bb330 +PT = 6b29a3252e500ac7632b15ce56a8136a8646fc272e30eac22908b638d375cd6c15229462d0651810a645a54c7bd2b0ccc5d03f + +Count = 14 +Key = aff578bb557036569c45a35d7518981f +IV = 263653df6073538309cbb24a433a17515ba68c2d43589bd4e32c6c79d3d34167b3c09709a8495e0b2a519f21211f0ebb818e8ecf2bd36d52927216e8072eff89837b19dc87f1e0f4c4ce70ee1843be0ae59edc5e5a9f7880b8adc9b1c0a8f283b6c34b5bd54c61ec47d4eb381dcca630d3c01c02d8123480711730429d151d54 +CT = b870ff585ee6ed2c3b701ed7dd660d3e77d2c5aba15c6227e8bf64368581b3e9d9fc3acbc2eb972fab547395ac46223395827b +AAD = 057a08e043fffcb97a000775fb60e70b22688a68 +Tag = ceb790b2fb2ee350dea764e9f95c2f +PT = a7fadfce8c421b1ef9698f26d366073810b11b4f364493a7ec8d2001436046390b4322c3d39918c49f46e16031598f8a6e4a73 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 236c5c0e9413c185df9cde0ef8c1bf2e +IV = 46ec8b3f1af1ec427565bec9809d0df566553fc24dd6dc97a557b180e1d0f90bea38717ce51f8f052d90095dfcd469b4d4f2d689ade777542a4cecf78af50a4e4e3dcc3cf7b15c9e7eba06ba1068f3f1597f1574ab81c369916e02998f827927c176acdf6658ef9314c60875b3a205cc9576c0fff6d0989635d363d367ba4480 +CT = aa82ea4a605ae33c955e415d03ef64ce347a4a25c0b09dd987e93f499e3d992a2579f21e8baba8a52f6e4e658a0476c42691d0 +AAD = c5126453b2aec7af22b7c7ae3ee6781b392cd9c2 +Tag = 593cf15d91a0e8c94bfb0a4f1871 +PT = 949bc261840cdb6ea451fa276666b44a2aa2eea761524aecf76da04a48f1e2a287a9210bbab386e3ef32bf0ad655a255044f35 + +Count = 1 +Key = af72758255c4a107f0f98ab2169be179 +IV = 0372444e6fe757b5e0a15b13eb9f00fc56eea210d6a983e47a90c88849b7536cdfb2f4f518fd8897f6f8c3c002486f62ba03f7e9c66b4f941aa6d0b0319663e92b1c326624234a5e99cd6f5ea3ff0e7646adba839d93cb3553aee6988b971ddff42a6d6b49d3e490952e7bae12b43b4ed524a8a5a938a2d5c40a4dd3859aca39 +CT = b5aac152adba4aa9541a983759f5932f4f27606c696d4a8ffa386f3dffb570faf76e3bb157c1f45c3a106f7fcf4c627b6da63e +AAD = 794f8be5d3e1994aa483c181035d48e3b573853b +Tag = 86d319ff3ac74bcd0957772302a5 +PT = 94bb8acb0e63af7d5aa94f27571f9c3f838c97508c02f26efb335f16f53f64b15491593aee821c63749598cb572042da562bb5 + +Count = 2 +Key = 29ffc2888955ec66007db8811225769d +IV = d94607e516602d632bf5ef6aed0570f9e2c903efe438ed4b25aa0e882d03f14eeceb8eb4e5cd06a4ea30ac8c9d5e02428f9b3a40d4ec02bb6cfb4104a1d725a5845b8855c8930a8ac17ed5857465090d3f85e60f9f9d368664f92091fcfceec2eea46cfc3f839ac55545f90d2e9255b86f054840c9ce98d31934e7795d0034c2 +CT = 5f10289a99b93fba22ff669696e65ae14c6e2287e8df7ec455837e772db7f65d3741904c7a272d6bb913d80bbf8da6413d5c0c +AAD = 66d4d395fa05527d13cc16d82f358945e77ce84a +Tag = 6e25d9c41543d0f8fca66e3b9cbc +FAIL + +Count = 3 +Key = 1e06a77116e3d1e7cabc90a072cbe4c0 +IV = 9b08701b80579d2b2f1a98618903f579fa30eca28d09e5ddc159217370de29b6ab6056861447c3bd0b5820183ed6088d09acf4afac3133d30e3ac381e78c2b98db8c9e9154aaebf4d48d3924c0bcaef7a8528d2f8e969fae90b4a07d70532fb5bbcc029d52e0f82ee8aae475cb754ca3031bd0255d98159bce69977abb9ffc84 +CT = 6ae81d8d65aff98c773208c099e115bbdaf63016f2e71791554615f3282785f613849416c7d21cc281f548dc05031a08df87c7 +AAD = d3b4bcf2e9ce749d76b735dc57c84a34112daa2a +Tag = ec6c1cd3315c9c935e39ca5d88a7 +FAIL + +Count = 4 +Key = 3c68bf67865803d1cd071fe5e2337aea +IV = ff7d773d696302f2eadc80d4936fc369bcac7f98f765341cb4916f257978f42a97866359aea42599f72049e49e1be7e226aae14a50bb4fd5181cbf230b90f9451f79775cdbd994cde97c1207876b3621ff6c41a504aaffd30ed0ab54c0ed29603d6137898cb675134f129c9b61f8964cc82a7848682251ec007c148e497ca0bf +CT = 988c3716367501b07b62ddb883073f0e99ccac4be953b943c787ba3cfa38a9fff57986ef857efb79666e5c6f515f9cfef230cc +AAD = f394099f2113787815ea3146cdaba2804711500b +Tag = 4fc7bdbe842b75a35e1236328751 +PT = 36d3852cd6db48092a36a999370352d42a775762684aabdad808ab6c52d9feaf672f14ee58b6b2c1976c0d0fdf5c38dc0f98d7 + +Count = 5 +Key = 69fffb1e12a775add98a732e1f572b21 +IV = 3a48f06c5b1a4aac0f409baea4de6ce621ce68a4112fa6128add57c8b3a41896c8a0bf8bbe4dccf478f06f03f80bcacef3fb306958e96a11a62e39fdd63e9c8b86589e2317aa1ed41737d8c3c780813ee2a33bf6ddcebff47fb9b32ef98d4a1baf9f0adcbc829064eebed8bb547b03d0fb24e38f8c61ca8b17a771c9be7f8054 +CT = 4259eab52f8960eedbbfb2d17d408fdbed9101a3fdfb03f3c874c6147ca71ade4ebd9b5c1bc0537fe320e832c0860d0327c05e +AAD = 4c28288d3f86bba6dace53cd5f4608c64ac5efa8 +Tag = 95357c2f031fe3f5d97c93ed0f4e +PT = e83591e2e8aec19e7711e8370bfd41e416d4fe58b2824bf56177cc611c153791411316a3c46d54d3db7828f93dc51da9c59b8d + +Count = 6 +Key = 11c5609df4345fd1bbad7fc621aa188c +IV = 4dfdabc9f777977ca96df9b1f632b44b1ce08be99250b5d18c64626c2ea8e8528dbb25a511ade2ce1b534044b80cf561bd206bd9bb2c03441c9e135cdfdc42185b8f2412337c9c66ad18a6e52dbc86caef543801412ca94e9a94befcca4c7ce4e17016f40b90923d1c2ef1efd47d93d7397e02fc185138f9de2f0610eec6478c +CT = e7472357ec09470cc179b50b6fbe65223aaf304274eeec6e6364bcdd1682b3c5ac4e35989ee301fe83d7331eb4c6d81bb54b6b +AAD = 539247ea3995fbb049687f82a81b513261d1e062 +Tag = 50e2dfe748dd74fb4b9960a93eac +FAIL + +Count = 7 +Key = 96b40e17cc4533d2e96ec8f269d5c3d5 +IV = b6db3891a7f934718bdfaac8ee285dc5e296a5ea92116a0cc69e6506200a2a66d37321209b2060f989f306cc719f0c3bb93e6458902a94d2b4ae4f2737837673926f3b111b525500b3ed5a0cd187c7ad7de25bcb58b7365feb34e5f14ab00364e808c8c403391152114016e66aca1d939179e7b37237ff01f30b533d164642ef +CT = 9491ddb25ca448f3b543c4dcc652434f82089358a0c70a2a58d1903031cd0d343b6ada63a9ddd4b8bb6f2a684202ed6fece6e1 +AAD = db5d9cd5423f6d486b15d1ae73b6a2741374eb55 +Tag = 4c406f440daf13f9ec6803326255 +FAIL + +Count = 8 +Key = d115d38a338892200311f5a188e0a50c +IV = bd6e89b81832cf46c6609649485be42b57d4f4eb16c59aeac6c4fad9488306de74672eae00f5c2fe717d8ab24dc8ca00438b6934ae4ee874da6b32646d83c3c9832325edfc88c5d9b1bb2111656471fd1ed97168a1b3daf7c5f4c53f080787c9113a3406adec824a9d1011e5a80c8bd8976ac868c23f2e49f1691b202a23fcd6 +CT = db1da6e1c2f3d232339165aeaa6f323ca7a6832805870f557430fb946953be2219b4ed6bea396f2488ad5fe7a841843d4c5dda +AAD = 02e1abcdcde6996d7f6b5b7d30a3512867b9bea5 +Tag = 7550feaea674a0387bcb0ad7b1a0 +PT = da71b6891566645747b49a1a7ded6c35c5a626de48ec65b6e832d2ae1535c735b3aa40a3b8a16b91e1cc63d843bad5b22ad484 + +Count = 9 +Key = f316915a284522548f3d7d8d8fc64705 +IV = 3e45acab0c1bb2f5ee243a3037d7c6ab4d02a18c740d17ec793bf4a4ef0eff39e1a4f2229bcdf009b6240293222f2446cd3bb9e87c935d598965498f0c458a9225570612a6707bc12bf4b7222ed816379d3524687aa85182c67d48f12f1311a7c8be4e366754729ce8198b3a7aa46e547bfd9a41f3d73c8e40f722cbcdf60577 +CT = 949b6f76548882340e0afdb31ebf81f42c4d10b1043e8d97b9ffb9f62611e2699a213712031fd80f7eba466f4c5e8100e82af5 +AAD = 06f6a54b0b75aaac1c10733b23ee06eb60acfc3f +Tag = a8d0a481c53efc49235d726dda2c +PT = 059be0dd1faa08ab3d0540b5b95b1c1b2a02deffbe389fc9edacac604f4cce1344dff9a1bb76ac34c544a5fcf6179e4d6acf79 + +Count = 10 +Key = b67a0d45d624cce0dd94bab753030ca5 +IV = c5f3ea87ed542046af50b7cdfed2a5ea05729f49f34ea13183096a6a2782995c67822e2eaaccb9e674cd31b20256fe9e7a39e1ec04023be528cf6e11d6d06c5bf10a8d2601740d2fb151368ee8c0bb0d484595b4b820e05d53d1661b99a0839a405c201633bb886d2f0cd84d7759b8047f402ccd4bc4c28ff999aa06b1b53cdd +CT = 51634f11601a02794eb6004709471818c4ba72c98d1f976d716f27a3e8b9d6265411435e86569bd5072d1799e6d67dd8d47d24 +AAD = d088f61dec75a40a16eb6d04107047f080ef1e08 +Tag = 893ca064ec656daaf4eef1075213 +PT = cf024eaa8f089686ed80c124675412cfa0c7089f919802a0420978fe38d19e4f76d7a3128f8a5cea4295f82f73cef30e4e02b8 + +Count = 11 +Key = 173ba6857afd9016e06f30edd64e851f +IV = 0ed9476a79db5b092cfd940553e45904e132e2a8d9f87068ca6d0d00ce0c421c4cf9d7262dd15425b8cb455e270d7675c548cbce8654e7943be981d92379f48764268c45d9e0b80af28428ca42781cbc008b9a623b0ae20e1b624f95fd35faeb9997ba2b2610520447c29d1353c03a3b5ee81b417a7960683e60653d97a7c3cb +CT = 079867b17d1c82c158d82599f81117c19da5ecf88011b6ca1dd005fecf3405950c68897a7144e652cdee6beec2d01bdb30251b +AAD = 8594dda7e8e15131e43373bd37cbcbd3898bed02 +Tag = eef934eaba53cb031d55f9f9db4e +PT = 84333f49b7ba59ac7272bfb1ee2ea9bd3d6fa58dfa73d662ce5c4d97cb770245803a71a986cab2aca76738b8da1845255a7179 + +Count = 12 +Key = 03bad533a31feb307b806c331b1dad8a +IV = 27cb163344eb35720af92ad16a656b18edd862859cbbb00feacf5be53901e59d340417907fc2fadfb88ecbc061873bbad3a80bb1aa445ac6a744550ad837ef6246317791d96964d2aca1706ba398be2aeef6e91946a0dfb79a51e7f80e4542f6202d4dea15a1daf56dc4ec73a2a2357861f05903327e20e397442ad8fd17a0d1 +CT = b5c6767f41203e40eb9cb348a3edc67273932ae8d04f86166757ed3d9a734c779b86760c85560223c600878e9b72f22e5ed7eb +AAD = 9b736807f57fd64819169982c6febd944ae529e3 +Tag = 1df17cc56c1d6d5cfad3aa4c4c38 +FAIL + +Count = 13 +Key = f9eb832441627d1169ca157110d53235 +IV = 8734a74154d2bb0eb51ac5f4732ca65a4033525b25fa076f52ce1824772630a518fd0911a755745108db563e7d4bd6c07f248d3b415261882221047df89c1907743a30f6bacc347abf4e367797d0b56d04f46a5eb33f939d835f16e8914ec3d3d184a5321228103438bf9d4efc5edb55b18575d24ebff03b6d0e953e5e6b0cd1 +CT = 294e2e1a17e8188666ca8638a523410adbfd37705ad1e8773d207f661df116aa687e63c6f14f5a54dadbeb8c687f46c9860ec8 +AAD = dab76073b686e2324ee34b90925baa5a65a32616 +Tag = 9932f61f7013f162f7e6103fd9ca +PT = 6c618f3d952ef2765b93c5cc927acdeb4046ddf1940b40f298e5eb9ad6780e0944a303e1035ed2481106fcd11b282e73e654b9 + +Count = 14 +Key = 0e818eb53b7ff6f23f2de238a346c634 +IV = 4a2fa2e8af1026e1d9631dfe223ff86a14ae55573a779dbb9d7842fef5af39c77c4f235ed510f9f886d1783fa6509db76dae10d6df51579edf4bc957ed2266189fc86afe4055593dc162f7be4f77cdf91325b4e750cfa1de7febc8743133949a2b1c11303b6387a7eb2f42fb727ce867e9dc2a9cf1c2b16d2a2a00ef645296ac +CT = 6c2ce796ec25e5861b3daff810b4bef4f015786cd7be3849059659bde6ff72213f4083cb8df020e0e047eb85c28d09438ab39d +AAD = c7780f3f569dd9d82522579f0589b92331a644cd +Tag = f4394e638d989be7c0ccd3177f34 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = a00420ee4b12ea768c60486fc407be10 +IV = 684102db7742ff7002976504b3abc5461668789f4e3d9a9b6bb51aa3ac6be693f4628ce8e0506bdb0bf3796fe48031dba4c773f85b6c69496edf73633408d0623cfa9095120a2f4beecb457861872e0970ca209f0cff7b4e9e095de7e27b700816d0e219c3ed907b9dadbb772c5146897a422f1444e545e886332c84488bcff2 +CT = a60898eb28f695655aa6b902ba891bf23d0d9056f380900697dd23f0f4aae7201758821ddbd9add25fa1396a3de74e6d2d611b +AAD = 6fc0979e54e8c46c501ffe6a25a3f97dc4506cdd +Tag = 68e9a8e5c878753068fc63c947 +PT = 40c2cafeb45add8fc40108ff49586b74c8870dfce50bb6b001734f04e4b5de2e70b624b1dc1ccf346539fd5cbca723a41ac9fa + +Count = 1 +Key = f7e8d281c483274446990f652554d36d +IV = 9d9fb55f4bc0dee13838141f7621f50d2cf5f1d22cf85a88178961a08f6a35259e968b224052432520cae86868e2ca31f553c283fa2578099bfcc00a6a95b11e647173e3f2ff0cd803b6c834524e336f9f3a057511caf66ac4eeac58d824e0de48619fff602d81d6992c8d84efbc69e71fe2a030b50608acde531e4447ee110d +CT = 31dd448901d3097e08630ef7e0cde71f364c3d2901c8448268fb588f5927bec47e0f13d7b3626e60ab6587f706503034e34631 +AAD = 2cee731478c2cf5be55416cb2bda7ef855bdd5ac +Tag = 7d514e84169c19e9969d231bed +PT = 55b8d83f7e92e7ac2089ec9a9bf56d63c7b674e90fc0a2cec6150da99b612b4b9babf6c58858a5139ab71fed6227fb18248dfa + +Count = 2 +Key = c51997cefcbc5fb96919a24f8b02a249 +IV = d8c55c13215528a755f2aff4b174f8d07e566fb333df440375c651fd0f6dd05791cbc29a4153299b2eea806ec933102cdc8c7d2691cc239c2b60c4ce1f10f289c2aa9e047016cfb776911f679150f82ebca4b54151eaed673464e6c2e75a87143774917a2b29794e26db6cfb0119cfb64b19b721e688c54c67777dad2adc17fd +CT = 31965928861fa878b990e9fdce27d82fb3e23005fe451c27701847cd59a507885d13b9989b2c14b7117ae0800f28d07ec4e1f3 +AAD = 03e9b0d9facd272a919f76141030d097384d2786 +Tag = 59ecf45014b0374bd22309915b +PT = 82bcb4306e9cddca7a628075be90332ef987e23e9493069483a47bb222d762d55aabca20e419bb250d2ca2c67ab24b335eece7 + +Count = 3 +Key = d580f724910e469bf727035827da9136 +IV = ffd99af1c43204f70a21480b8637e51e403599207a6c4b454b5a5144cf7ec19eee1723fc85579913a435852d5d64ee20cd89a9fbc4f6a7750aa07b3cf4ebe5912a0ed06ce926be2017943d6a143ec226b1a085f7f6ca00fcc0fab612f9408885af514da171254b660de6d306b03d6ab129666515171065b6683e3c7e5cdd0f68 +CT = 704081a6db43e771d76c877a932876939b6f003383f44bab3c40e9601185fdce81e80672400420512608f1c3c9d67a1684f8fb +AAD = 55b7260acd56f76e8f58734b682dbe71d6efe662 +Tag = 9e7b0f1b908b8f74ae9d06d935 +FAIL + +Count = 4 +Key = 2949cc6370aac959a9ec6d01356f7718 +IV = 9cacb37dafd3582b12b10496c259b5a2b1723b1cdb822a547842c4657a49911d29a9f465b38b985105c29fd1f16e6ff09802527989e6c6c434d4d62dee9aa887cb0ccc114259e76ab52d1f0374383c7f9cffa5cd14466d887635592901a1435b04bfb1c37153e56d8dd2389e0d2a2afeb09d9d6387056e91a38d263d745c18e9 +CT = d917cbb987c414669424c733235c1ba2d5f80f87a529e48b46976e529a81aaafdb08eafca5e95531497423e156342773aa637c +AAD = 3cccdbc76c00f5839857518567fbe8966d2e4c70 +Tag = e3ecac95d6e2975927f6470c63 +FAIL + +Count = 5 +Key = 9d6a2469c24791b05d88427f87636839 +IV = 63be0edbd8ca8a30a55b8ef58bd2b51e3b0368111069adece3c8d81e586cfaf41aae694505ed8a363b7874201e0db881ce6c1d9f8a04c6eebb426c3b3b06242da2c1567ed7b4bcd911758b84f0f6a2b6c5d264bc16c95c18453f20ccf050d86a8dc5fadde31ae02c5b04379469d8ca68a178d37163c186bbbe4bc0065cd5744c +CT = 470f577c9cc8603b63448b4bf4f065436a745b59c812f286968ec919b59c48022cf392860241ab54a50a331eb317a89072be22 +AAD = 73be1ae8d4756946b0556eba002b98d71b66e391 +Tag = 6e11c6d3299e576a98b568d3d9 +FAIL + +Count = 6 +Key = 88b21cd3997d2a60250445fd6d05df58 +IV = a6f3e1eb6850a00a652acdb93e8f7384dd269a3e93624b9874d7e7c4a69cf5fc1cde578f166eac9cbbf6e2152b1b421159ec23b1095dff19c1b623942b39e296b6534f00abf5924c8efc59ac44ba1edcd158277326c16149f50d651111c36d4f6d9fb829306dd0e194acbba12ea2057e8d1841f0c34cb7c2b2d45588bc98443e +CT = debde7d0d736e16ce63cb608edc8c7e980df45bc4661e3dbb945e7046012839a288a585732848235375b1b2cd8bb2cebfe0860 +AAD = 1433b66cd545e59875d55d82a03342d696bf52cb +Tag = 1f7b126cc78eca36c1f789803f +FAIL + +Count = 7 +Key = 1b5c60da1b1a862917645bd605a4dd01 +IV = df6fbc290d59e32a0b2d6f94376ff006117a420d98177c3a9545e4620910c6a007098bc928e52eb89a8694275783fd70391eb875162a5b2a7cb48d3532bc347b8517dcf54ce799db407726629b0adaf0f8dd504ee58235699771757b742e9c07bffef567960d5f7d1c558af294bec3b305a36fa41017f6dcd5278f75bbcc197c +CT = 8c7d0c351d03eb4b6a69323f401ce58aa43dae602fa4930dab7d0b3174d6782e79b18e8429c9b0dd4e088694268570ccf8f6c8 +AAD = 7f73facdb143868743b69aaee45c6106aa48de12 +Tag = 1e00033aa1e0067ed72f59c3c6 +FAIL + +Count = 8 +Key = b2dcb9d08542fcade2a8b3d3fc1c4300 +IV = c5401c6c51e8f8a53cdb9db4a96ea83f8b22c8a95585bf8bf60b0c0ea4507f7ecaccea31b55ff5fcf198ac7a33ced3b93c3159e365734258bdd92c495a10612bd900f9dec3e33129a219689b3009618dd8d774be6cc810c99b212f1bfd1c839d930e50f1fd6b444687fe5cb3f4893c58a219afa5d4745592d24df035ea312e62 +CT = 26b53193a6040b4dbea6c3f55f38617b0892f7902eae249d2d7a5d8f802042c94f7e7c295b26102f8d2ec164f31062f9920f88 +AAD = 7a895507cd6624fa7ada18971b26b99f8d94604e +Tag = 9ec02d2ba171a48972b6453478 +FAIL + +Count = 9 +Key = 01409f8a806640ce42045df66907c58c +IV = 0ceff8a1c9191128789856f319f9deec271a688761e42c089c6c402241dcbe20baed4aa1cd19021a6f87ffbdb5e2cadca98a2cc6d580b67f709c253bb9fd3c7137e9b3a735f6ddad9a255bbad8c49aa3be73bf2e02cfcd83c7b419a37cb492140834625667a9c8a823009383314526a8efd3a4b6ffe77333173bd7ab391fb022 +CT = 05ed109eb24dd759fa9f9aa73015d23b5d3d9a046b48116caa2540c51a037c893210efd7f90b5b20ac7acaaee47bc1b915f472 +AAD = 4bf392a988e1dcfce5ca54eab0474849e07b2ae1 +Tag = 4a2d9815238a3c3c1ec415ba30 +PT = f31bbc488d97cdeecb45a43689018e004002b0199ee1bb6e31c1a5b31bc1bbbac23441385fb210113bdd44e51e8cc994f04749 + +Count = 10 +Key = 77a0d3ace0427b8e8eb848b72c409c7a +IV = d2b6b761c179e09066ca6a9cc23eaef4e78ceed946aa85728983a06b30c58b2ff0f9b2b696a49e893abe6dd979c9e35a5d5824da9d6c8be18f14c87008b31d0ba3df379b6b276b536e0a116ea0e25ff7fc6d0705504740bdde668409185fc44fef465b050d51d93e2410f1764c1e22e9e6b8a5c06f585d241844976b67b47815 +CT = 7cfe8329d9ec9d9da7cf87a4ba13e59438f8ebc745bd41c96c9ae1e0443c2f3f31dc0905f81c26a35a4f66b42e72e4bb47a313 +AAD = e784e6f2dcf30e03177c2cf080d7478ab450a21c +Tag = b5f68b84f7b61adb1421361264 +FAIL + +Count = 11 +Key = c57ed7a9b9ff2d5b7aca6fcdb8c44341 +IV = 34ff8c29b21b708ff3c0398a79cf9f7ce045df2399e9c204e4af39aec100265bc4fa4cd121f2efc7e0dfe85b896045a0def0f7d9b60d9b41678f935c44994a70a06c920471685c943b79f625529920b9a4b1cba2426bc0a15f6111d3917a13e4efc06154c9bac693767c18fe5c410ef1d1e43202d0048e324977d3ddad8c415e +CT = b3d594a5f10af3870b05330ad7b352cf21c9f9deb35c4c21fa7e06e156b23ca2cd719ec82b7d5c21397abcdffeea9d5fa372fd +AAD = 22114af8e3265a958dd31cbf318d21115509f009 +Tag = 03be73fe186fd6819b7dd2607c +FAIL + +Count = 12 +Key = 98bf70a40fbedb04dbcee8d000731931 +IV = c311ff6adda124882f2d6342c0d2cf5ece7807be2548189bb8affc0136ad3629cdf15b16d391e8d28b8c3de984dfec235acd37798ec73b4df72761a18c2d18295d575597a47629e0e8b4168037fbe2c517e8f71843c33ec8bb9face1db35390a441e9c28a7586065669e7c410b835614df22ab690ff00f748b6a43a992cefd96 +CT = 95158f9c8f985269dcd3f5e0085aa088e141320912a967530dcc7d6f479676feda95923e5152dd6211a64a74e7ae197b4c149a +AAD = 2dd40541d6e11aa5bbceba015300d99b93443aac +Tag = ee57e60e5641f274f46dca5438 +PT = 3bc5c7688efb52e27c40f012209615cf94b9861d383730dc070ebb4bb6c9a8dc4202a6a44ba8801e98b75ff58fe9fbf15aba69 + +Count = 13 +Key = d932e59af99eaad339cd86b33ca35ac7 +IV = eac0be2d290269fdab093ca2fe916a076f6ea1952b303e751ec04ec8c9a349ecf501e7647c185445868469f74ed3984d9fa7bb1dc963427e728f36e05b97303f2044479b1734734407cd7bb475cd9945804d95534fa77ddd4cce4be9fb82a0541897f6395dd30a4ff34a74b331bacb776d4ef96dae44cdc7da045fda2acba057 +CT = aaa5b2a415e3cf2b52417f8a94f436d558b058733ae91fee28e4cdcd1cc080a9fc4c014c0cd26506b5ca21407618cb049f7f45 +AAD = 2379557bc28db7e67c8c4eda50a6dbe8ca33006e +Tag = 1692811b9d5f51688cdef5be12 +FAIL + +Count = 14 +Key = f74184dbcd1da7c3bcaf78e67517ea4c +IV = 08c42a4c11862e5a0699267af1527912094d0624825a490f12630d54d640fb274c5a6e4d5c13642f6a5909d53704a43d3ce13c9fca9de828a972a3455400d3b3f5ea06b47733a35287fa6b5196604d435b46ed3d2d6894c2fc88a3072f99ea132ec9b87fb8806bebc74c3444efd968b2b724d3aa3d98f3b9764daa9ffaf85189 +CT = af1f0031ed2e3b148179e662902f83bfb0846e76899b4bd03d4741138e113ef7526dd27a038cf470474f7a958f392c0b1055eb +AAD = 09eccc9507f903727e45e4fff4730f6237fd602b +Tag = 27f501cb3d411baf027983c798 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 81ff983b447f42ae5291e49c946d26ba +IV = 22a48116b60043c9e4aeac847f49a8598467db52448fb5e3560aee2d3ebce5384cb26b35a14801ea32cfbcd7fad753690cd6a10c6cd91bfc15470c626e1d18ba89a7e74ab76a75c4c989a693cf1edfbfa24b31a3956baab198d0a4de64899aa0d79979276a8fdccde915e76ddb1c16d4aca3aa22c6d1d80a6bf0e6071753db0a +CT = af9a4bd4d22b858c5fa34a1e57172345b074f4211e6c75b26f37550c6720f8b86c4d90b844eb537d3429122ef5958d530b0308 +AAD = a309b974f41907def6397022cb5f742db1425b38 +Tag = f616e06f089cdb75c76eea13 +FAIL + +Count = 1 +Key = b16a28e1a9002ad89f8d4f1720689ba7 +IV = ddb48d2ccebb85a8d23d66e09e566ec39a34830f2fa9094749ac7e7d6a39ce05658b277afa1eb9404a1fd1b55e1a25e0e720246ffd4910577862dce7917076534e37d778c43d31d3d7336b197f8369181663e401dc4b8036ad8b52b9f77f5fe8fe829dc3c5727897ac00edb70285728f3eb8b13fc944a21388d296dc4db59947 +CT = c05abd5039b4e3c40e6a3bc2a61e56c7cb4fb84622ef64133d8b85741e47d34ffbaf9c0fca5ab039aaab494e429a7c5b44a750 +AAD = 8017e212754de60a85468e7b317586af43b0085e +Tag = 9712a7e10dd24d16cea5ca7a +FAIL + +Count = 2 +Key = 39c02314f794b6e26863d73524908022 +IV = 0e552e09038e21c50d22604645fd9bdb9e3bbed33f26706df5300057796998ba2efe40139610983b573193be182aff2d5f64763fcd67c66aee1aca84d4ef56982fd3ef0ca14714c863013fb376712d642fd24cb908b7d77e6c4ef79f94e6a92bd66f476b7c98a978b04df7d9ce7febd14c5365ad4177ae938e0eff1adfb7ca4e +CT = bd256665243bdea7754771e0c06ae7934b3ac7d69a9adf61b688676b0f94f6f947bd12aadf8371d39e7af8e122aca42e24f96c +AAD = e91934b85a2ecf6524ec49473443981a9fdca47f +Tag = 5cb0ffc532a7deef8dd6309c +FAIL + +Count = 3 +Key = eb377aa780469319f7ea4265d58b462a +IV = c4902cb4253c743c3aa16288b42e6f1439c76fd81b53d471f51c4e57b9abd7c77b87cb06d47a7cd172c109937c94dd7bbc194d18d30de949495867f1e49e9a9b8dcbcce65c1e39b0413e36234f229c25ec104f9fad767fda67ed5c71f1c27fcb592f38ab651af9bcbcd580bdc382b9c1d4d65cf717247a53260691711d0b1704 +CT = c7e367969d73667ece58fd727d5541b189bf07a0783212b91d3036df422a42f5dc501d5b7dc0f1eb4f4020d647a1ca08af7a05 +AAD = 7fa5cdc6b4cc371130486baf914dc27c78369a9b +Tag = 21001f11245fa90357a58796 +FAIL + +Count = 4 +Key = f3b15b73f6fad759c37c3afe0df44c7c +IV = 031d81004391c8466d3659c08671529c038ade358dd1baa2e7fb10e560ca3b65682958a6d6e1dd42b34f2f3e1500d216563666a4b5db5c95ab76872b1a31352fbed2e2c724f8f52e40d32df62a3ed9859e32cf36fb6bf3fea3934deb3dbdea53f4eebb8636656249ee9c04ed64c1a1a43c5a460b0520d45463c12f4f1ec94daa +CT = 6a511f66dfd33c8296d27d7e7d0212713da92521fbbc267a5d3aa0ad748605603270a7959d79a9391f6371ee0be5fb5ec6bc58 +AAD = b502562a584faaf407442c74ef4e69996bb1fa60 +Tag = 447e0a4eacc8d5a1c60bba2c +PT = 6a58d93ea96f1d25e803c067c1b299f8b7ff925700f4a1bb54ce45cd18056189a4182603380813c39622abe1392b48c0a2c4c0 + +Count = 5 +Key = 8f230d06c41c9712f541d88723b55a39 +IV = 50449512cb64c983c778fc26f5b4445c122883ed1368e06522a4a1c16d70993c31c85ba8b1f1b314edbcabb81b0b95a28ba493af991d8174cc3543515535d246628962aafd01e2e07f9a395f3e02e8ced626f359da004f86974d5c75243488f79c5adf396ec08dfa566d36853b1d51df7b05e154f107dead47d0a4a50d25d38f +CT = 56073efe27f1d7010cc6237b7bf07a82da4d85232ceaaaec4e2c81366c5ff5b1f5814c6a206cf7639e59535cd790f69b47b37a +AAD = b6fac14daa53bb94bdff545ed6f60aae052c52db +Tag = 2e6b32fce644eeab88611494 +PT = 030b2e386eca93cc7fd4be3b10327ab5f603fc4f275fad27ce846da3284fcbdca403e93d333e769becc3413fad547ddf72152a + +Count = 6 +Key = 049e788d0fcc679bfd211c22fd8304fe +IV = d0ae097c02e19df960eb7a2b07c7c8f1f93e85dfb544127a0b6eb57eeed5c4d963e94c863fdd4b6e32504f4b7a77f4602a0a063030df5d2aa519a88a9b18d472ce85e593e4e3c0642f7ee4a6a483a7be82417dd87bc4783cc48bec7ba7c0fd14489a3550eb0d027e5d2ec0601dac87ffae294f77e78a67a821ca9b397076fc5a +CT = 5366f4f1ce9ea518e099077532e49101436cca835b9569d130c0b83a8a23e8f5a28c1da69b047b09450b5dad0f7a237b0034e4 +AAD = 3d3f7b9a2badafa3d8b9e03e2926d0bfbf98accb +Tag = b5d05f3c38063d420e581e19 +FAIL + +Count = 7 +Key = d6f70da25baeb01c0313e0688bf7a4d0 +IV = 0a9386bdfea77640bdc02cd8fcb3e5e661a6906d8218bece753bd582f7a2360cbf02af3ee379f681ff9be55452970ae27c70d1286be4997490f6ac71d6c7b62a14a973a7c740523b8754d410640fe61a070ccd7d0607061d206626a18f017ae1d2eab479e9d522d0feaebcfdb6149dbf6e5d2a9c69df21e01665861120e41ad0 +CT = 3c333e558d272ed490771e3e0388c48a88fad18379d6c3fe158478e52f2cb7bc2784f3f6c59b53661a1f6e2cb6dfb7a19428da +AAD = 723cc460944c3656395982a6dcb06a533a958b6c +Tag = 277cb2ded5227d497fc5971d +PT = bdeb51ec55ba7be033b6e44f5a9eb0067b43430f4c607556c60a7a6d59325144dda44e5e416a1b61b1006d71f5259ae9e99c4f + +Count = 8 +Key = 161f179ebb872fc2d3ff8ef7505acfde +IV = d6573d371e1c744224e76b6f5595d121f1859daaa8c80ddb2493af60059c0643ce5073dcf28c8e9ad6b5a3895e00c5996606872ee444e8c9e33da55e89b2f15bbda86a8c756f06a8749070d1b870b487eff4bde8f929c6cbbfb8ccc90634a751c7dfcef8c432546156bb4c45c15b3fa6132e3746642c458e5d992bdf7c604f2c +CT = feefe5ce5aadb23b49fbc7ae5a569983bb72259e24d7a4ff043763607b8bd147d7476c47a33eac4677131903ceacbbc697a086 +AAD = bdc41f357f17453cdf39e17f8c84a900701cf956 +Tag = 752868057e207fb5ed06bf47 +PT = 34dbb19db5db949116b7928d5c8da187c63796ede2df58627dd45a8015e1b46cdcc8fb754fc5b430e464c524486a163d9544b7 + +Count = 9 +Key = a9405a34da9076dedf97741c0e031050 +IV = a23627704b0b798c15212b9a1666a86f83950fc15abcd39d34771c2a3cbe128a0b302e42575ea099420b69b30f5c7a7286692baa99f19320b90d15cf377c47761fa053b5ea0e902ebcd282eb5a5ef78b0abe00f174cd23c043d424cdfd1df5db7a6e97d2d92e1818738ef989ee9d734220f836815a569ca3a5427cf3006c25a4 +CT = fd24e9c384eb8e4df4fb08741bbe49e3258c9c7b51dafacc33037dc3ac4c49e173a32e7385fa5d27335b6af9c7c6c6ed2ad42f +AAD = 9525374dabf718a8a52e53aeffec9c3dd874f925 +Tag = b1807ed8a91e38e3ca663f48 +PT = 9eb947e2caab915b395ba33efda00ea3a8f1ab5acbc236e30c6cd2cccaf36c5783ec172a738a9e60b6736c498629d60fa1aca2 + +Count = 10 +Key = 1ca9b6076ef748b9278628935d8cccaa +IV = 9d82da6738facdd6fdde6019bef9133e6d12973865a964fb5d318747a5ce24f4e8ce28d3a880042be14572ec9081842322363a7fef8a7b28928dd39f59d45a1a863928bc79d48d14f7dc5264ad0c8a403171ea036a3c36ab73ea285552ae0805ae11b9985493b6260b7c9aa7a96025c70eb83cea78e99660245102051ef524cf +CT = c6a7ac77df6616a1c8c39d7b1b92231b90e95c76f64804793597e5f1978cf096de6d72da1ea93f730dd2448d1a90ffad6ceda7 +AAD = 9040071a499cfeb890a3b74629c6a69adb520478 +Tag = c4cfdd950b3dfb8fec791814 +FAIL + +Count = 11 +Key = b4b35e5d27f84e3ff49566191fa9f9ba +IV = cd3b46e4dffdc6f6113524622b85e857dd02edb35a357206e81488c0e4e0dcef6c571a017a4b8296d058b3eb88f9ed854868902f6c0544bb83204d9d0012d0852effec6a77e87b372077bb672287b75d72517b2bace48615c83a99cfdf5854750311fe5679ba17ee7eff380302b65bb16af9852b8f146a3156cfdec5a102dc7a +CT = c0003b9266a5111baf38c3f68468509f2f0af2ddfd2cdd611417dbe09bf6238f5fe48bd8eb87d10beb10cf5de2b877911f2721 +AAD = b80ced7b23ac7aaa690f2ed2d3f22fb510c044c8 +Tag = 51027ae877ca593737cca2ce +PT = 99b61693737be2cf046c93354807bde49cf35bb3390e1b9c81fce6fbfd35ce3ea10397256a7488d78c7ee60f8e1fbefef029c5 + +Count = 12 +Key = 0ffc1b53b43843d62681296a9679d779 +IV = 2a54b5debb5fc11d0b543ca16ebb3c43c40c514123f071cbe78e16da2b3bd1e8ceeb3ec1104cb7f7924071b798c028a7e84f72e1e06bc9532f5ab868159f5ec7729ca9990cd030ba0bc78e7f6aef2a825c5cf4b0042681e2d66771c45167939528f718d6ee12d1271333d229aa62912dc8edca94542bf150f5e36e8fb5824af2 +CT = 28dba14245d854142c852052b5d829facd7269b99bb5f3302034f042d90f9c8cd1d875c943aa876b2198391bcf8dfc7ebd0657 +AAD = 401fe1149380ced901e2554849b796ac4611c1bd +Tag = 220ce58d1339b33d1e4d3474 +PT = c7491557d90124bb4396d4cdd0d09679756bf9009e9ee7b4caff9a49c5ee735c1491828089282fe235071a8245c8d65a3330ad + +Count = 13 +Key = 3e3798cc763ae288d1fabbef36704ad3 +IV = 5e68de2eedca23ff8dbc4718be6985a591d0f118bc14021048ddd6dc2fb1127dacae79dc1d0df2a6a664f2d5cf778590b7602d2d71d083bde30becfeee17b488f8936b6f4d9e690ee0a0a08650a02d8563259f8f72852568fb5a7fb9e647d5a74cff57fbb7c3deba9a92e96f6ba472561a6bd84b72eaca45ad444a31b074887b +CT = 515dc94a8c5ce49d7a4f9162aa884ad228e9ab0e8d4173a645972d18b9b9badbfc10e0b622e0a3df5c7e3ae7a51fcd756ee4e0 +AAD = 1fe185673a2ea9fbfc0882267e348d727e10074e +Tag = 75c2dd531a2b776bc4f17f73 +PT = f695e9c4323c0ffbba804d2abc7f2cd2f2ec73131a01d1241631da0eb5c3733f00758b7c7225c2c075953b7bfe75f9918c4e9b + +Count = 14 +Key = a8c9e4b8f23b3ed9012d369f5e83c078 +IV = a0a4af3e75fd71d38c6e82cf03dc674147dd0468dbfc9081d8aec12dd3fc0ce3218e97c4f7325809912978b602ceed0802297f60002a593441c3a1114a5c826f591a4d608e364a942c8d04fc6bed8b5b6f8d484a61ee68ccbdf5446fc6ef19e2aaa8d767ad3c959cda5b8f6da74bfb1fb72567ec919ba58df332d2f6b75388a3 +CT = b3a3010b26b417ece650a4867087d51854aecefd948214e75ebb37b06f02585c2c78d4d25313f4f32281dd1d4550e8c76e2d2a +AAD = 2bd498bb0d325ca2d15947cdb39f1e7536f2a1f2 +Tag = 4dd50276ca3c0aff919f9656 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 053df1b7fe87544a719fb4c16bd82648 +IV = 165f7a5fc8223018b14c57cd33ab22352b866b14baf616a16ae65d69169f4041b98c621809f07c1456b9daba611831216481688b6bf90529eb384955a88d876944b8d25b59a21f1075b4f46b5367bfb018d870a54411693178b55d3ff7562d971d7e54c7ce7cbd4b84b80096fc772c90cb7c384edd528fcbb664e4e4786034bc +CT = b35a569d1dcb272edf3ea44dc937d7fd9aa668cf96cfe9eaffff1aabd0552cc3bb8ce20e8a9f237984dd8edfcd5a64b695d3f5 +AAD = 826c2a24fd461828786da3c4364ea08e77e8bb26 +Tag = 4d96b4ee7c2e6685 +FAIL + +Count = 1 +Key = 4904f49b63066de9bc7d93ba6acdb602 +IV = 43d0eb657cf628b856a95dd39c58cb56b56bf5e7faaea0ffd98c552521d7e56b8cb1327a63eedb54c9d1410d4a945977e25bb1757cbd23ce31d8e169dd8c71fc54f9d4365060c8c202ead26add5a02dcbebd7d101c267969ee6bba27e0fc93156514b02671665cdc57580618b1d5c8c665e2501ee0d44adad8ede14b6fe3d933 +CT = 38d4761caf0e0e0ad25ed348a96854dc4771e0c268c3d23dd0188f1a4e2d664c424a38c2e3fa47b97f8be4d27277f12e40f833 +AAD = d7f41d688a335a965736ea0a96a7b027089edd67 +Tag = 66ce7f524c62ec2d +FAIL + +Count = 2 +Key = addda6ffc6574bbad1f4ce1711a7f691 +IV = 3e47e6c37e72f68cdfd414f092d3444c2cb48685de828d963c096db05c77a4e35e1ebc49f0b3d48aed65e549f06027d1916ee7bb280b790eadf87f78594b294b18fe5573e7fa66294b8601e325b6474547823bf00a71c675e0c29c4ccad963bad0bfc4678d978557842446f957c27d99acd96b3a1540d39dc7e6ae4fb3339bce +CT = f58fae63cc37e76c1e0c0d4ffdbe35856c14cb430ea94f175f518a519d2a0d925509a78eabe4a64a089cef4af077f9dfcaf135 +AAD = 36503ee3e05c1483c2e3a75285388bef1639893b +Tag = 3f6be442f2e54cec +PT = 08e309f9ef74ab6a443bfae83f440c2f437abbee0682459cdb36d21db019c6ad8eef7dc5f9f0f36027589f7731799e6ebe7816 + +Count = 3 +Key = de52f0101c48f3c94e0e69a6a85ef659 +IV = 0511bdd7cadc670a3a5c9885cc6bfc0d63e61889dee0b16b9abf09f6c903b257af7d1051ce88eb7b679be15f6372d5964eb16550909d77bf4a5ad9bfdf12a1025e6e952b529d0bdd6cad9457f228afd5d709a3fe42467120bb1965364d400d547b64cf272b16135369dc72f531fe3fab7b0d456d9ef96e6bb3f484a61620eb4e +CT = 542b551f2c9e8799ccb73dedc03c1928a42424fc97cb598a9a80e8568f0fb77d9c86835403c0bcc8ecee78f28e19a1c67c9f62 +AAD = 1c37752dbd4dac9d47ef8a4d26ea9ad0c1a3bf60 +Tag = 17e89a1f3f59709f +FAIL + +Count = 4 +Key = 6b7ab07bb84b31fc1e9aa2474d4fcc0f +IV = bfc0a069b933d6f892a39458c8b8f1ba5eb9f03dbff4acf7a0631ba9c84c1cfae7a89c5afdc42ac70387de8d099e4071c1ad79d828a49763d11b7f5f2b7b1258f7525890510d80128c91fe58837f95225e08e5f95c41e076ad02883e6ba5b77716d6a4d3b17e031c5b71bd2cbd9ed497cea30d9b8fd3e15e9ff495f3415dc2bf +CT = 5c1cfd1184778b818955ccbf14ce2e7a928242cb93fb86b24eee9e0cbea8651503b78476e99a175d89f0b4a39d04f4bb51f8ff +AAD = 37317028c07f42957efbb5e7bd789eaa3406e1c5 +Tag = 0129975d99814d1c +PT = 935355baad02ba664d2ad618e382ce8b17fdd74aaf0b8982150ba56f34563f0ad159d01289fd8e3071cccc24c7af6fc03acd89 + +Count = 5 +Key = bc2fac4225178bc937bc90a4d4e8186d +IV = cb5d13137e1de11fcf3b05cb83d23212eec08b820fe1c4be85a7f268546c737f77dc55ca739b12a9420a0f3b1fc11ac3d562dfc44caaae196c7e9a5d6da92c3701e4a026dc2e098c4ae387dfc6988fdefdc9a6536864f477f3b8d4e5d6cb88ca02054882fd3ebc4004418ef0be9506e1759414f903093da0c119d6c0ff6e7c81 +CT = 1b60457a5a7cc81869dd3bdb3a6ba5d18069fa62cb6839d4ad3ddfa75d2b68963e93589407b33f4722355ec054e4d2bec27325 +AAD = a41a3cf6b496766af022938a87b119d071099542 +Tag = 7c9334ef8da66f03 +PT = eef4d1df930cf431670f1f01734be8b749371ede865ad911cd9286ff3672cb4ff00706676f7ff0a226301118533bd6ee99019c + +Count = 6 +Key = 35b29774f6528740ff86e780f1e27d40 +IV = ed4ed91f900b78d3cddbb88375d9d31bc9747de4b48f321240e542e9c6242a00cb04d76369b13348384a2923297cdbbd191dcdbbaa508c2496f6fe158cc51050d8a0f3dcaeafd0db3336cfdf76119843e9980f2ba32ba40b9629f13bbce12e3adb9b6ef17c58294afe2d76679bbfa491acc8e79469ec7e3ce57ccf1e81b6b4b5 +CT = 662d934f48b26670633fc0e98c874c8a13a91f2d66cad2b87ff8a66ce3478ddba61ebd41c57a01f3753712ca4a2ac5bf0faaaa +AAD = 3f5d20faa333fe6d89de2156c1a0a6c7de83bfca +Tag = 89cbf44dfb688478 +FAIL + +Count = 7 +Key = 3045c23cbd532a46b8bc10052338df4a +IV = e32e4a1b3b68684965928edf710f9f91451183569d39a55396048a2b6ca5f8a01adf9740a1c93da2d673d8bade0cb36541084a52044e438ac2ec79b01de8b5b1542178f7bc20f190af9e524e84a798a6fdfc0a701c6810b164b84719e8326d4b2c03e08ba465410ebc5ef828bb3fdb2f8346d8600293d00785eb664b79cd2401 +CT = 4c26d1a3b38f0959349d596b7dad16fe59b4fe72c3f10350d7b667baeff975a395520646fb7d6d6f791ba289bb8c6060256ef2 +AAD = 9dcd4099a4cea65eb00f920a1bbf0f584c80d653 +Tag = 145edecde4595713 +PT = 94ee0e168fae0f2d36d620de2934a676794350f92e8e84309fc9434661b8ddb6511e7971160df9c73bab2708ca08f92b32fbed + +Count = 8 +Key = 0346e3a9d5cc4992cd4f92c25eb6a80b +IV = 3419ab107db4e7acb81188ef246b4059f9088d59853556050a15213a4063590006340a59a035b93af6297a07f4e90130973354ade420f48ddeb1319eeb00ca14206aefb8f840216098c394bcaeaeb750fe4ad79a62fdd949965fe84d43986c517603ae519ca5416a2918600e4f5c9a8dc807529425fc13986a20cbe854ea1927 +CT = 8f3b304a3d8860abb7d72c673e9cd3c8ccacc9d986fe944e2a4e395d715fae76f9040f5501e9ec136892bf6b9cd4c90ed5702a +AAD = ec55307bc238c014fb65a326552795d2d18c1d38 +Tag = 153c908c6baae463 +PT = 0cd985109f79db3afc69adfc0656252245a2a44a61cb3304031043534d99bd8db844f9017bf046605f3021b251fd5eac6881de + +Count = 9 +Key = a26f40712536296bf245251095c7d6a1 +IV = 735b2ea89ca24af10696d21b8945727953cbb39818282997a57a9a03c71dcd3008619653fa04ae569c4f9252a157dcd96f355501d69e0208eb91cae460ac128685eddea857809e1cde691ed373d8d75b750a1a5d5e16bee49324bf459eaf7c9d8e58079d5b8f74c45227379e55d0e9915c410b5e85875b52e985b54ad0e65197 +CT = cbf1f7910f065f1f1d94fc8462d24006b654ef70e95350f2b7b37f8f4824ddf28548991917753d3150582556e1072b58c31e65 +AAD = 0621dc0c9746930bf67df984f1a7905817978f9f +Tag = 4160c021d96348fd +PT = bb8f69385f0be8648405491ab09a25507d7bf39d01a10481f845169c64e89468e7c4ad4edaa59ca0a21c99a4df95aea9a61eb5 + +Count = 10 +Key = 02b4ef39bfbf2682a2eb06a199746a77 +IV = e56890b09c62b3f8b57f429717421289cc6dda9a0a92a51b06a29954e1dd0a8aaa5425145f966bfc4942847a63abc0ec7a35beb09771d01a937b7342b0c189480bf4807c7e88983078d8e4cd7e41a8525608b4fff3cc660d1ad46d1e99c13fef4a0c085a51e83b612bbd30f8724903c9eca7e13f24224addb7feb58dd0106d3b +CT = 1f2d23cf4323e1849a1c34aa911b7f342568ffe7f3dff29d24c0ea4ee8737898747a8136fcb516aa558a482104b92946e6bc58 +AAD = 65376fd1e82f8ebc9968954959ac48e3ce30013d +Tag = 6cfac2eb02bb4a90 +FAIL + +Count = 11 +Key = a5e28903f14bd7c4979854b521b58958 +IV = 4a17791cdbe6e701805917b1145ff126343186a985afead87d171c6fe0e3e4c5adc33b9b0ee2851e51d3a83aaea011fc075c9746cf3066578c06c8acb6f19d54b26112240bdc9eea511023cd5b7c3aa2a0c34c28cf34d1f94eaca666d27c68641f41a5541703d6dfa37aaf1f49833f9db8f9393acc3af28e9e1b6a37a0de2f7a +CT = 1b5ac78d6fafc88288859bd68e19d1c7085720ec3f95c6f0fd2b345d971b60b66c89fb8011125e6570e3faa9c5f76f872c7a18 +AAD = b10b2a31e9717844e068f22642e92a33c1b12db5 +Tag = 80d9486238b5bb50 +PT = 4734371520221174c7372af143a8e8833b6f0061aaf63cd0d031a91e6c33c8d62f5afacd1df6d1562ff36cf8427597d36e3658 + +Count = 12 +Key = 2414618ac0a282f7d3392541c75a5abd +IV = f15ba77182166cb7774a62d9811f205ca13fab4c440b8e91b7f8638e2d8d6db38b8ca06fe4f0eefb3c83c9d3f2177b976b0f7a6fa1e90e7023e22ff5f66afae2385f16df5edf330e86f1f92d46a413225c4e1f44b4a0cf63c22b58ef4a719e6c58ba720e6c8904e104ba952977829aa7041e2e0e0eaf93ff0841e31c8f0a7b0a +CT = aa17591865374d894a43aeaf577e81651bbb21f5779b115cb26b4e82c004e2e651a01f05f32c864a5bb90158b54bef5957faeb +AAD = 408ead3e63e71963d2e0e945c2c4dc7b7ecbff38 +Tag = ee8d26123ea84897 +FAIL + +Count = 13 +Key = dc0b39a414ee1c2c8a77b8a93d5a48d5 +IV = aa81c4eff63a98f0215e14aebe496575863d365fb64292e031f4b4b3d5d84142233fd6325a55a5242821130ac7fe14d9c09698393f9ffc45bb750fa02b957354808ec921facd04ca27353ab6bfe63a77763057eb944c7970e3b334bced0e34f04d9e86e92fed8996f337d8850d07036a9e90103323fe04f7e3a642d8c0b47030 +CT = 922d64535f060fd46d048769bcbe099347262d3fe35463dddd541769d560cdd0517c544aef0fa73217ff721b407514b0732b23 +AAD = 540c1d8ad687a8cc566445aff28cd47b4dfaa2f2 +Tag = 81e62134ae68ea66 +PT = e59c641c21d16b942449e2341ab434506b9695163a9dfaf1e7ff30eb444076f042ddf1951e2646695735ed2f1b10eb87475c37 + +Count = 14 +Key = 0100c224457a3c66230020a9c4fd5149 +IV = ffefe0b3dc1e8465d1fccda5d83e7485fcf1a25bec0de0d7f2152ce80965789176cd02bc445b3bcb28b5a2d30062500c26562bd12683503009f266918d91beb6e6a1f28c3a2f688c08a063601864bec0b45ff1fa1255a492d4accd1830dc2974ca4dec86c4d4c09561017def805aa60273c2e0688c819b604c0856a4d06db01a +CT = 2f2ac735fc845ad5306e53188fd54212c28bde945da9fb667d3010a0acd1a983b35df6b9b37b03bf8937c9e8486e1625d0d120 +AAD = d257795764a45df80d4111b0d165be226f40fb6f +Tag = 84bbcb25bdde1785 +PT = a68284b75904f9c65cd0dd0dc423a5667c98dd6b6721e0e8fd782ba2302b0147382cf14f66630b1d902043cecdfc61d15fd64c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = fd36de532c4728852a1ec4b5508a9027 +IV = 65f7a3195ba9e921334de0575172536eb2c8b0c3927f3c9b1bb493386dd43fcd02a7f4c9c25d65ff5eca5cad25c22c40fc34074f989242050c2e2302a932f27335a086cc56e9994477c880f904576b8aa8340fad457a55050daa2a363c0c5492002a94872756df97aeab8a9d3f9ed5ca6c30fbf3145cf8ef11005abdcfc8df10 +CT = aaa0149a2378e517ddea61970c2dc565fc4d08c9f5a94edbcf17847c9cba607ef0ff72e928948984d0d75cefd637450270886e +AAD = 5d52d24cf6a4187afa1f8441cf7b66066fc7f681 +Tag = 7c23e2ea +FAIL + +Count = 1 +Key = 805766affae43f8480b2cb84bd41652f +IV = 9bca7c27dc98b53dcdbc338d3d38025198e134de54dd8e39352db4acfb5ff2f52ac52af0bd52e68a10ac455e023934e52c531675ccb5842970e65738e1e56dc26d96d15cd115b8af9246729589c86caab5a3b18112e9f36a2fd30b6583f85ef84283870c136aac4566d09a01ae5528f086b5725bc5acef8e2d5694a941a62987 +CT = ee0a510ee0ad66395098d215f28bac79c10b0e9f85938d6cc969e404403b6926f0ded0fc3bcbf8c12aa94fae9d42cd2bed43a4 +AAD = b28bc20f239378654cdac0186c18e7b451040a58 +Tag = 311bb149 +PT = f44f0900a35d4de0a604ff80d26786697e027041bddca76f977f03de64771ca7a4eef807c89654304697de567a8f81fdfdc7d3 + +Count = 2 +Key = 82f843f4b718b958d59ea92d6ce2f238 +IV = 08e47fe3923f1d7dbabd018e5d9aca9e25b3ff2367053fa133b8ebd3c893d8b8a594edf3c4b6b6eace8f4fd0daa4efc43a574421037427fdaf8cbb0a594b9735ec3ebdba8b1baf231d21d16105309ec214a56190a3e7c271053da4b2cbb14190b08500a909a4e4bfe258339866bd503c1158fae596118dc85494c3e58e15dfef +CT = bc9ab5912ca5a97a5d1382bf69417c135f574f946fd8d317d3a6b3db788a09268dc76065739eb979aa6bf5cb0502d1c49393ad +AAD = 9a7027db58edbf3dd502784beae850e4ae4a6f18 +Tag = 41f5054c +PT = a2204500b4ad8b85b32ca1dc27f90a82007a5a0a78cb2cc9d56e9be0fba0ef08d7f5e09be417f1a66f5028e738eaee85b52255 + +Count = 3 +Key = 1173515e888a07a0029484498c18e392 +IV = ceb5225c8ef6e9f6ac93e90b221f0f4e79cb8850dc6a9ff2f2153b26931f3e081cae9e02b577e44904731b613f530b4cece7d7f5893a9c35b1956469ab81fc61ef990df5c5e74d6021db9efff66a133a5684b9e8c58b13f669b0d3c58bed4ac76e2920a451552c69786e24b631e668c1e1bad730bc8ce6ee0e401bb941163674 +CT = 1eb1c7467d0720017debe45fb33e4df1d0b75f6559fa866ceb2346e029e6557e500a74983f74e7468e4542fd84a7768a0fc31a +AAD = 7e2061cb1f31aa6abffaaa2b8c29d850c202635b +Tag = 8fac5d3e +PT = 47c850162000be7c4f573227894e4d543505b1eb804908bddbcff134885711a8b5fb02c2845c3220b95418b53cbbc24cf5532e + +Count = 4 +Key = 0b9e44354bbc8e3a2fe0c106f7238a96 +IV = d32818711408e76a6ee1377ae9c0e55d303d8ceef76e3f79f5482ab6520284dc9922822dfcd4e2b32d441037f2b519bb3b423e50fc2059bd4e95941befe0c712a219af2a3b414d8d0037d97403a277209d96a0846eb7d418f434121be2a479320b2e32c43b75c46d2b62ef60a3f04bb57df4b333868e5cca62e8e1ea7179a105 +CT = 80c0e8d1fe8634d8e93adeeaba8dc1d570762be7916fc60eb089e8260a3b81a2877f728ce4a277241bec8a22fecb8b9bf26aae +AAD = d0d0f3a8611a428851055125f2b0686169a8ecf7 +Tag = f979de4c +PT = 99ef13ab529d7535bc33e48e4ae311bf3d741c43bafb82240aa3d2222b4d015bdc2c27785ec31a541e262d68a3ef48d09404a6 + +Count = 5 +Key = eff9a4fb6a0789c74f94f4f1b6c5dae0 +IV = 5279c248e90372d59485c8fb22afcbf310ec673e2df6e138a23a65f36574cc855d50f77403d2950bdda9ea7fbb09f1524a29b41ddfa31872a3fe62449749db94e27994277deb8e582d39cbd209d47d85b2857842918577df1d71405c272e8c86fc3d20a25fdd6c918e397d6ce98432962d4f960156a561ac46367cc0f3fd8ffe +CT = 2a63d09e0889ffcc5deefce48e5693d6fa87d9b4fbdf0a29ff6dfb2676abf38488d2f7d97059ad03c828869e7a97d0f2f979d1 +AAD = f0b5f50c421f18903f45e101a82e1b1a10496ea3 +Tag = da5e0312 +PT = 90884cef0586cb2d9c954e1e8c666dfb9c2c6c256ce9c7dd792bcdbd8b58b479a434ef44947064e667514e43e4be21efe9b661 + +Count = 6 +Key = 04acc8e848652ae1caea1dc52571b8a5 +IV = 59e615f6f32f94096d9de9946ae2ef1ed035af9df04917c8417bfa299a0051302d10f3b075322a17772f37b9276a95f1a66ea774c7e91c732f42be2653654759e89c719178a75d604bf26057b7e3fc61846b8d56bb8d4ae2ae5e1c82111fb0cd2b27a22ce0397cd530046c9960719b27caa80d71ed5a5ed3b25de03e5cc568aa +CT = ba7546f978e125e1d2904410853daff6ca10b43449a5e116d25814a31702f3e5736203052e2df02a4ca31aa434b78840046560 +AAD = 5d7e9a6cff5e7f0d2e220e4e4752f054604d2332 +Tag = fd474a8c +FAIL + +Count = 7 +Key = 7b48e2a557fda42240b09dffd2451ad1 +IV = f1ba2212dc11c3d6d5e0dcdc87ca8eaaba6729557bc7cd19758c367aa4e170b5ae39624502af86d697cc613ff48c584a7f2438c50484b87ec575fbde485e54b246d1a4bb2d89aaf7a775e796816fac26e9481a0469b0f1a067608f12e69f38abb02986d58151aa1a2d23c992d162d879aeb81d645931be8a13deab19cb0c4172 +CT = 8dc902a1f427b919b46eadfcba049eb33ef6c18520fe23e1cc2961ea45f72ae6c7f7f59fc00dabdfbdbe175e4a137d4ce7a675 +AAD = a03fe254c4f48fe3c14e88775d382204f96655a1 +Tag = 74cd6f1f +PT = 3a7f3d104dd79bc80895deaaba13ff3b8396496fe4c0364df5ddc5df3c9976f010d425a117b8b3669d1c26392a16e8b59ac1f6 + +Count = 8 +Key = be718d18c7038446948e9ff72208b476 +IV = f5744b17733aedf5ad9c4b62a2e2ff9ba7ec70731378821b2d66ec608c70a0ee2eedca479a0921c1fbc4bbe910f4a8ca69ea027b4662431790ad91fe604c7bd1e15a81a30fe14214d68f67774dca561b47f482e810014c872f78d6d4f8c27f1a67d175d227c5dca64059c0f667f05d1f7ec5788b40532e342326bf5b3c7082fa +CT = e891465e7f552041878351bd56debc1429fed771810bc18f5879bff6c31d0d5f00f46b7e6f35328058b619e8f7187b58a7a05d +AAD = 39ff33c4e91d435abf2ab4f34274e2e765aa96b6 +Tag = 59d1a05f +PT = 1d6c1d4da2eb21b97380a44e2ac8fd3d326268f110c828e6ad2a5d290228d27bb7b0a582bae92dfac12a6cae179e470800b92b + +Count = 9 +Key = 8956b83263c4a04d5e6d2bbb710d0aad +IV = 8994b6641391ed4967105ba00c2defde3e5a33e7c209efc1ea3dbb2be99f48c5e52c399fd032691be3c376124e28ca050378f0437e94038e6c247af8c8e7ad11bc5864d33edde9bd16b2bea860b8811ebd9325cae2733ee225aeb770e1c5978e27dd5a8d201d1d46aeadef4fa1f7b7737ef67787ad2132933fd8aad21e007458 +CT = 1dbd89f737c2120df924e4246efe0373a1d97b95489900ecac57538ce10caa29f50969380d910dbb63c9095951575b53c054e9 +AAD = bad4b8f4e37dc91dc1fcb2e632060cfed3cfe12a +Tag = 5bf75d92 +FAIL + +Count = 10 +Key = f4c082970743d70a0e680e4daf100043 +IV = e688a1a460c5d284fd029e97390e13b36a3a5356e0a0d7807f7d8e5b6382f142ff4d0397e7581f03df00a99af67e69c190779f4917f4470865fd58d97bddbaff0b13a5732bafefc5506a74a0b8e8c40793403b739acd015e106c663355d659d7584ed7d10c5f7f31fc35262c4cb80e2f884fd1014c774f6d69c3be1248b60d3c +CT = eb8eec30e74838c7dc2802d3d3f59fe34ae4abfb12318c362eacd11a49a405c1793ad7030c6a535c22cc08c2a38b80ec254319 +AAD = eb3257b7e615dc92673e8699a2b333496746cf51 +Tag = 3a6bbf06 +PT = 6419b8b29552d27eacd8ed24e4b8c1fd0e020abe229f4ce39f74b31ae268a33f07751d5f31c06977fb0bc0876454e0884e4861 + +Count = 11 +Key = d08aeb64a8066667d683e7690fa3988a +IV = bb16fa285f772ddc728c9383b5fc4d8f7b8e3c6c44f2c9de44e7fb5f39939aea000aa615b8fe1572f3d4a08082cbedb3ddd06fe2bf98c629fbd84ebd73600cb5e82718a947451e013826ca9b5e43a53b084c7c35128b98591e2a81b9470643ba1c7d2d6ed5d6cc715a15d8ee45d1aae488e7aa6d552eb7cd219f2d28c9b94c54 +CT = 893684b4413d810b188dba3a10a059d79ab315236a599a03432d5d4af692fcb4498250e231b26b4af58d3b767e5b7211a2e936 +AAD = 4aadeb0d7c10e7d859adb65af4d9498c8f995f52 +Tag = 46f3b2ac +PT = d4233ef222cbd69aeeb008729573d57a28aca88603c6bdb479bbc0be7cfc334def35bf9147b7acc0425e8aca8017d42e38d119 + +Count = 12 +Key = faa931d9bcb63d2f2e424ba5beab4835 +IV = d55e8a7cf287f5703730fb0649746ef9926dce5294d0c770082c8ce5ed14f524178f2b7aaf553165477b1afaf95cc66223102a60fb685b3b871b44f3a907bb1b1b2ea304749b2bb181aa7c8f9c08930297f30c310f9660feb429b672f5b7f98b18d584ff37136048b069fe8ef9e4d0fb967a16fd80b9d3321591d4e78d64c277 +CT = 07db763de448f0eae62ea63c71d2406e5742c9362ed76cdb3cd69d96caf44150b16f230de8b6beaef8e4a9db59566fe44fe903 +AAD = 06b81dcbc1b80823cb46712c98ff78e9664d1c6f +Tag = 2fd0151e +FAIL + +Count = 13 +Key = 149eaf8948a29b410261a288bb0d84eb +IV = 3d267f8a052ab5bf79f588fcdfda9684015a295e0ef7a008f478c9a358d40ef15e03efc50ec2c552243f0965db530fdb79054f8b948a7c054b5cd8b923b43e7af575523e11e56faca69382e8bf9f0e16a8cba1ec838180c7f078c7268657d953bd0c4afd73ed016f035d1dc7462d2ad0b8c02dc3b8d7faac2651e3d30275f58a +CT = bab6578801f3bfd4e03276b735a52f78c62755b3d8d38f5d7db801b8356b19d70dae76952baf45a3472e59a8c94eb3f3d53de4 +AAD = 87d809afe98c69c192b6fb85362f088de0d4e08e +Tag = 785b898e +FAIL + +Count = 14 +Key = 0db812fc4e33c04280fa3b9a2f6a70d4 +IV = cb68604fdee7419143c03a96915476d4ad68efe947d41385caa4cd65170721b2c8b66a13fa2f8b0855091f064c14bd4e546d4966115c86eabd4f52493f68c4aeddbe503672efcdac6822b2caacdf0d9e765143880a68673fc0fa82aeff8aa1ebb7a2cc9482aa1939f4052f9823c01ef0be30b42ab9ac5b8951710dd29d708da5 +CT = b315b96438152251b4439575558b19a9a43c1affbc04e91eefd0513c69f6d8515d3f6e57bd67907f6b1311d0e0b8169bb71385 +AAD = 971fa176fff04d41f889496c977cd1a3815f642b +Tag = 2e9c29ca +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 1101dbcdb2e7be6a850c1095295192b7 +IV = 4869df4ef2921d616df92a9443cce1a75671239913fa43e266b1a9900732001e450055953719974010c7d28807f7391b156515fefb54516138862523509cdd705946614400fa4b6979cd5c07909288576d42f1a47d247349971f21f8cd94e1b9c757ecc25f3207ec6af8554e8da28da2437982fac1ba8458cac97baf2cadb3d0 +CT = a9ec4258119e7a549a330d816b87ea37cc386aee14edd6f68fe7c7b10552d71c26bf60a6430a97d88713e87659d135bd3f812c +AAD = d8df3fe710824a182a7810d78aa7dcecec7df57dffdd453badb019f4ecbc16d01b9718a1a576df72a3bc8bf3a7145064 +Tag = 070c01b426772db71771ee9baef29465 +PT = de52fabdb60be9873bfe3ee789989686c7dc409ed8ef396d60ff3109dd8a59195250bed5d91d69074ec474d647b591cda7f480 + +Count = 1 +Key = 210083c793b648e3e967dbfe873f29aa +IV = 8b27ae583bad2119bd9523456414f27960b7582b9917f9c433d07c49e149ea6c530d1a1b52ce1cbfca92b2b05015b7b7e598bd93d2c179b2adc984adb498a9e38dbdb1f8c459f70a1e73c827d65d2d6801e56c85e55c9e91ccb5d2ebe49b0e841fdedc5cb32164dab5b1751ef15c830bc99c25a4db01a0064e87e9986c49a04d +CT = 48a763b39b8b9049f1c2131b8fcdb940bf72aa0eeaaa6dc3ecc31cb1ddfa3abfbd7ca4df3fd2cd19b094dd83146fcbac4eb08d +AAD = bb31c9300ee491a88be2c5af23d35562fe65243a4feff261678ca4aa20f3ac46a2e26b45417105c37fffd3ba5caa77d3 +Tag = 824cc40f336b824faab30230bc190a25 +FAIL + +Count = 2 +Key = 4ad70b2a4cd6eae6b9f106a1bee84f09 +IV = 4651eece8c5db2daed42129fd685c7f18b237b62689616013d93fd550b23fa8c2140c3134087342e6cd72a633cd6ec4ca62a41bb854a81c07cba3730d7a9a10e2ba3a6803d7f8f21c7c4b4ac1ddc6d941ede0ddc739a9db82e8bc4e82cbb132b11dff1095aef850ddfd0b9155114a3332f8f1907264f09c04311dc225a4beee3 +CT = 2ac7cc76e8437cc82ec98041dde540a1322ce9666c7879b837606243703c838705bb0884c7092d98e2fbd8c7c02c2575d70693 +AAD = a6f200727eabac2543376c1ff44388eeb0ae0c566e80557ee49a93e935ae5ffd5a424f51fba7d2275f79242ace4ea71f +Tag = b32f00db28aae0e27f74dbf23ea44bc4 +FAIL + +Count = 3 +Key = 955efefd89bb6743cbcf04e7fc38f30e +IV = e55c6da4e2b0b04e48fbdadacd545a84820092dd73bb7d9ef38ea4396f84b7b3d3601b3878c92da1af35430397d8176d7e5f0c629ba466fda4b7b89d8529281855687dbaa901fef7b1810ab0d99f62368f272fbd0e8b02ceac237359ae3ba7c9ddb75a0f3c53b859a25bfe7df7f4218ef5e3a2eaa872dcd073cadb0dcbca72eb +CT = 8ddecfa9c4e91dc46e5ca27c16dbd310383b93b5779e14f5f2f9536810f7e2b02f3671a1a01471846e57ee99361ac3129682ff +AAD = 0818c5c5107976ab176f7c7a09ff14b535c593e6d0457473f81065e531138e0833c2a9eefb094eeae2b3b295e363947f +Tag = a835a7f02c0079c22a0ae773cb4364fc +FAIL + +Count = 4 +Key = 688eb2e33f9f01dbfae13e37745f8403 +IV = 8141bd40ecf2c396be6d712850e94126f702495109eb40f4621e6b5bc410bff2fb9cdd50640fb3b0af7d13a3dff7d70132ee2bdf3deffabdb9751eb2dc75129be36961dec065a72b7462ad428d108566ed54e8b26eda8203b774b393be993106c6f278b9afa5da2018d982e08644bad29a6fe68c8a28fe0a5963183d2b1974d2 +CT = 85aabfdd46492fe00a00733e500d9251189da16b4cb131766019cca5643724e93c05127f427316c58967fff42d3ff682ddb1bd +AAD = db014bdcdd64c2662179c4b1bf9f02bde33d1c81ea5a6f7a0c83ebcca55a85eaf19bf99cec97faaa51159e219db13823 +Tag = 566a28728ef9a7d0060b19fb66c90a27 +PT = a5831afbed431187c6296e0de93d71926da91edca59873a3b37d89665005922508b1418fb0201e687059bdbbc3989f801b7ceb + +Count = 5 +Key = 7508621c4b3b9c85ec3862526e2cf9f2 +IV = 2d243fd74e67fe296fc92b4c57a21585401b2834dbdb6837ae70ac91c93137d523e893162294cadf13c3b719ead344571b9d5f886248f9bbcfe48c28972a741adb77639134aac650fc26086240e14fe1ff23014973c22557b3dafa9ed02ba9c6b44dddedee5e52d3fd0c9455b61723de63de9e29542db538303f6e1771c4b153 +CT = 38a75a7a0cae62491826cd5cc3b7b25ce6c940c6b4dc9744deb6a688a0e21ede7224f6d517a34bd45a3242d72c442177be2aa8 +AAD = 502559e2903ddc2308e3df946d77e04b2554af549ee933182912f9f0d54fea646f62795c08a954f18eb19ca519a592dd +Tag = 8e64b7fa828eb40e7b5bfea9105feabf +PT = 68919d1598bef06c58dee681347ab5d584265bb48600101454c0dbeb6d754e639e5bfd58b968bfde1e897a1790814b270e8545 + +Count = 6 +Key = 405b66e3ee9db0a8bed6d8e7dc5952e7 +IV = 1264dd70a33be5795fb8a39c0161b8e2fc80eacfe4dc0b3afa00b812392aa037d05f5e924bc4b4ffbd4990039bc20d70aebfb1cd609354cccba754c849b7e581757eba4921bcb6b5b85c115e0468ff7aafc209cf6feb3968a13d2facba35be2c63197316a1681a0c486c8ba1cdf4862cb715df63c914009ef0cde471e745404b +CT = a865e8b27361abb51e19c731b68c78eab0c8106539055d9934c4262896f2787f115c9cbe50bec8c4049f8729af07341f894ca9 +AAD = 15363e3c4847560251fade9b26d4e172e0ea94ffab03ec5eb18b3e2451ddbb55989a6aa219364c9a38cf1548570119c9 +Tag = 177e167200af9cda79c6cec45788f7d8 +PT = 6bb72526e7c73b4d511d04efc85a445c67a95a9305a4d07bed78d2980d7fdd76c9ffafa2643fad94554ecec8c515f8c62195cb + +Count = 7 +Key = 1acce02b812a2c9b6eddadf1833bd009 +IV = 82e18f105a9de87a63aa9283698750d837466371f3181eb37d3e5d7e9cee192425e23ad5e998abd951bf6757061aa9717d2332614a69fea3f60c7f26012c7aab794d0932f4eade63f84d8ecd9e847c3ba283953c35bb42dc36a9dfb037cd3e801856689e849e1ff74f7a1fb7bc6c94dc08686b0168ab06a9f1a55a2eea442e9e +CT = 256224ea09c9f7f3acb120e06ca0c654ced2e7626223758faf442ce1097dad6c60b405114d0676ec6a76c9b8127a7d46a7d8d4 +AAD = 1e6a5fe9e67dd8d9d61b39b60862817c9bb7715274d9a8905593f22da4f892647ed0d17879277303703e44a50d9b2457 +Tag = ee220981235344b874bf0e969de73e4e +FAIL + +Count = 8 +Key = 7adf1eac423b7c8ef6d1cc6328d101bb +IV = 4e6a066dbb353134d516692b1071342f22c742ec6389ec9b594c4aed64e1b9f5ae4df43caafa69c6a6da7a60534381cac439e7c445314e805e64ee8e007d6809d5d05822d2a867d60ff478acb4119cb3f1ab90b5e8bce996909b27cf5951e261bd30081f8c78abb8fe34c1d4074684ef4725f93d2a90045226f5ba4d4f96028b +CT = 2865459446a913a2fec723ba4218cc22257c094ef02ae1109e74a908419d63be49d5c2557653b050b1ebcecb4f07cd4ad18338 +AAD = 77eff8c4264f154bf870f7242bcd5b8bdd9a5c0df5d76a05a463c1f10cc1686aadf7d9e3285aa7ed528cd9d0af1a8b2d +Tag = e933ddcd4e9ba618aed98979eb7415fa +FAIL + +Count = 9 +Key = 798fef67c24d8fb44edb0a597d4bb7df +IV = 6d9c392ef99b79a8ae62fbf23ab1ed0df069a328913e65ec49553cf752ffc830bb030e5a655bb073071389db711b4d5e852a53c6e7c9c48981362952e411f776a78594781ed0d657b59f4a1fd136abf2fd80c6145a8d77406bbf802bb211c1e1b6ae99d00152cb81366494fa2f2f06698a680e78bb29171c7f3a2dc1849f87c0 +CT = 48151c83c2f9b95c189e8a9785c8ff0bc6c2405bc0ec7aeda49cfef8b3e6a1e777c370c5d74c783cc9aa9664038442c1b71038 +AAD = b86c16003c189e0ed5819094f89065c3926de4bf991714c7cb5120e85a90b56c20e1ba236a4c430636376d68ef9682a9 +Tag = 3c4a9c87865a91e6e4b0533c86f30c74 +PT = cfa2c046940a982a8e198009f4aaeb2fed67763cc9f2f9a2755bb973573d380819d720dd18b6a5ef1d9795cb6c6cf79c996bbc + +Count = 10 +Key = 0133c5c35e6081fea0872151d06443c7 +IV = ca0bcc6d782f04525a7662305b044875181deaec107240d826294105ea3eddd06b5cff5cfa3a1dda62dfe31637c64d259e1eba116739834ea76ae8564135982c1da81249bf954403872ec32c83e40731f0a9436ee601551a9c10fabe8246d39e9092c4fb433de6f35424e44d786aaba6dd7aa272b2d2fad9cce96a29375f2e49 +CT = c0e6b892c84ed32d9fa5fe9fa63b293d64608b0b2122cb3252edddaf8812203eeb23ae742d921d5abf1a9120ca5d569af5b295 +AAD = 237937b613034c7240323b36bc744cc9698fa0297b22ae8c1e4267fb647e92f22b55797d593aad513a2d4f9e74a5b71a +Tag = 60b1a84f9eb689f835aa82888175939b +FAIL + +Count = 11 +Key = b89dbdb3b72b8c5253d06794f8d8588c +IV = fa43a7333e68d855a41908c158f0a824991b5f5ca7b2670f302f8d073cde801c046057fabec7ad3bc2cd148376446e21b419b3abf00a85d0d1fc6c4f41a5de6f1e3f7602110cc7d091e8b7621f8beb546202e40e5f7795a2ae71f7ef106dc9efe7dd74ceaac6609729b49334fa1c59d27ee58570e07fc8d2aded7badf36a3916 +CT = d2a0767658801b2953b3b622275d707d3481cd8d226124421b1ced8868c264aa73b6a5628a9afcc2e90e92cc235bb26fd57d63 +AAD = d9072480161484a6eedab898771b5fe02ebed2048bec5eaf4e346bb9d0175e859a7ede237478e7e40cf1c8beca42e7fb +Tag = a35f4f01c7047fc6a32186585f3e0652 +FAIL + +Count = 12 +Key = cb04064f8f8912cc2b80ae775cbce02a +IV = 726bb54c838b1da75fd42bceba1504a06e51af1dee58f7c32641ea5dd373dedad0e92e1a4fba9aaa6c94ee8dd2b4d8c2b5a3a9db950ccec9dbc1b4538a051665c5e739a08b01c505360b9ebd25218fab310662524d6dbe46a7fdba4b401a4f53e0e3a93d1fe1a0772ad36defc8c8912fe228f4f5ff5fa9a6fe98bfe6571661bd +CT = f48787cf20cc74b9a9a274bb44926493092bb9a0fc6052e0deaa63024c1fef23ca50c5ebb6443d7e66091ba913e111dcd5ba0d +AAD = 61b9b298a0e3e9b7f396178acecba9a043cb2d435e344dd808632f98fd04ca41dbc0552fab34ec4dfdef510f7551188b +Tag = 353769ac0dbcb2888d13ac85370fc23b +FAIL + +Count = 13 +Key = 7e73900f96f04c0eab13efa80946f82a +IV = ab28096add605852dd2d55d1a4338b114ac3de6b0f3e7b265f7e5c0c2513fd45337237eaa73fd37fee0a8511e44b4b0386f66c5acdf160c101e1c28852321b462c8d84afbdd9574c7bff0fa8cf20f2629b04aa627a07300209cd0ce550e86319b97c9e0fca244d2a519a24de1b209be93d80d6c55603dd496883ba0e73d48a21 +CT = a2a020865c7908f6e43bfe071f0dac27343d52f3e9bb42b73ba9bf8789029220fd5097177369f05d3e8299e8b62b78b7e0fa2a +AAD = d42e4cfb59e8185ecdc6219499678e88905e592c318d1682c11b952c9a814b27757e3f60d71cdb4672bc94418f2a3ffc +Tag = 9c2ac05f8429067e0244e3fa86389c8f +PT = 8cf2109d7003a6c4caa76576909f312fa4e901479fdf84c4ef361ac186e63ef782e74107d5559e22916052f90922cf0901ca96 + +Count = 14 +Key = 5c2fd655cf29555041a51538b4b52ba7 +IV = 63bdf1c4ade81f7d22dc830b02e9a051e7c2b21f363b6364d45e03f4faba31dca185af39d003bf72775ce574d2655a95bf86131f7169ae16db76649b0410469c020e6e2aca458b09dd345f7d82bf4e358538192b26a9f0465db1a6f5bd20b2865e05fa2c5e6eb3556e91236f9ca3d462fd7acdbc84956303c97003ca60050af6 +CT = ef2c9ec5a60340b1f475c289bd251fe026ecda9bf29842115660db77b3f6d85ba391e39d52a4dcd4970418e007002ac5eafbf6 +AAD = 64ccb520827483cdcfdd0d7968821edf94e8d6fa57eb163b75a39e97877d004884b47907010335a170c852ec784a8a16 +Tag = 40853b6016ff9cbbccecc23976f4955e +PT = b87a144af7d067f415d691bbd2eb724aaf95cc7d1122b9ff5a5a0bbfe7ca24d90d721228c7aeb5a53827d3d95dfecc3e2f0ecf + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 0beb270cf37cc6ac00cf7f095b38b566 +IV = 2f92aa4ef29aaca73333574d11899d21d80a920782722a3ee8d0b23f9786691e7397bcfbac2adcc32d863af9022475addd36afd3668f71b5eddf9069cf5360744f21fa0b24d801a41072f77601e8cc57cc3af3de8b8397846f89c1874ca5bbf167e35fb3cec6b823203c1ec9a82d1253c7e1150b130d6b8d038c1d93142a46ba +CT = 9f68da4db0506d64eddac18d079ca3898aa58cc20c5c5da5a92dbcd44977cac5711c3cea1f5945690c1aa5218cfe171bcb6fca +AAD = 640a8861d187280723d1d26981af87407dca72470e9f90ceecc86b75b18185d6ff033704622eaaf562e3da47d7b34e7c +Tag = 048464c427b2ee6d5df83ea3c93624 +PT = 29ff39dd7887e4553cdf6b19dc7ff1ff1ad37c723e28504a92c432327beeba6f660d01c32ea5b4fdaaff2f9628a78ff15f2b9e + +Count = 1 +Key = 9c140b3b37bf50406f1b3b41774c67c8 +IV = b054c638483eb651ad82eb80c4422cf5e929d87bee56d78028f0b4d445cd5ef388d381e8833ef3911d359ce08683dc3cea25dbcb4449fc8be52ae985f2218a4fe54f174f6b5a3f1a938a0809493d12c9f3e6894080cfaff5a2f2e641f20109f14d0db39e6fdf98020e039d3da898ec642c0a34181779fc467f6e4288fdd11644 +CT = b02ccc29f7c8fde2dd9f9e52ec8e65e262334c4fe4f326e24a7f5419b0787072c2e3343e0aa12bf8917783e713109b57099f4b +AAD = 50150478e878dc63679919d9a4da50b4b8e4bdae022a938add59986fa6cb0ac63601a05f10e2286ebcb3d00336b7e918 +Tag = e7932373a301e81cfdc359b1c5d3f8 +FAIL + +Count = 2 +Key = 7da7fa2eaaa07d4df118c220dacd775d +IV = 3c6c982a893cff6705e1855f34c288794ccc06901d27cd03ec5d6b54725ef54af78eefb2f15fa8c2ae1bcbc9fc80f7b527983ebdc55157b8ebbb072a006d5eb79db0fe6b6cf38af87dbf2d9d0a1af3a9132dd6c9c1f5d66c21e44b3ea0f3b833fe842a11b3b87812abf9e379a23c2f8148a68275a88ca984fc77a9dbf0832e06 +CT = 901d31c32097ab75502b404df4851bd3285aef9944c7acdb3462638131cca7f47214cf65e6acb018cd22a59e2153de702effa9 +AAD = 4abb8ac0822558f87b2490c070d3098792d91fffe3768fb5a1dd1f8031f99641bb5f23f82cc1d88f7cba514167ab1e66 +Tag = 764332071ba8d5f2bc1c4abcf69254 +FAIL + +Count = 3 +Key = f8117491c6361e2741221b44128b86f5 +IV = f4c54ed536c7a81c46e5443726dddc08c7d0585d8d5a811d045d68f5ac3e492937b0c373d58d00edfd04d2e35f03462e1da9b38d1ee2d87727aaaf4f1f7d07c898a77611a1820c7acb41832e50b18215ae8f75ee07d6c1256150fbd24756169d975254d1beebb0648f05aec1b35af9910c3ec4488a2d932638cbb36f069291b2 +CT = 261d60115a8dc8f35cc493b7d455fa7259104e511286ca62c5efdbe6cd7b2743381f643e7cf05b2245d25dd4c482cbb4124020 +AAD = 5e9a7945aa5e560ea9a9b4d8e569bdcfad81b8a71b68c71e37a44d7b3aece6552ea261db0fc9d6c83648058ac492deb1 +Tag = 6ca32338f8707d73533875cf4bd6b8 +FAIL + +Count = 4 +Key = 5ca28133bf9bf827cff1a9f6d0985946 +IV = ab2b9d19a3392d7701510909a052770532500b1c2d540247b25ca31e94ecd7579192af5f618b228d19eac3e64dd389626ea42d1156658fe0d8f4351ec599ac59a5bbf957082382ab19a942286f2887eb7b1d359aca4443462b755f0d4834e5bd5754e3b9257ad70c1c761bcc403dbf326ee70abb46b9b5319f2939351fb6f438 +CT = 6898c89294545e29b536b46481ae867680892a8133c808be6b9098937b91fdb773e32184ec1e7e674514251cc465ff040ab7cc +AAD = 26e2da144fb3d354ce7f9f442ceaa19ddffe4d43332f128e2849192b5e9678fe4d7f6e283ee354a429670ebaff17539e +Tag = f5ef4e59438ca5c857e8ba1c68d449 +PT = 3a6cd8339443bf91a274afaf339c0f433e8de50dbb127c19b859d350baabdcb88c0ebe06f3ee44535dcb9ded6e7181c6a0296e + +Count = 5 +Key = 5bab781d12259309b91b046d139bb6fd +IV = 1c5b7b0746fcd65af1124856e66c03bd78d04156f2ac517a763e8e42d665a880b78f630dc8c392afe735e9d635403b00a1c4eeafd280b2cd850c20c7bcb978b2924bf3073af7e94685e69d0107c9c27295d70f38abc48eedee3ed3556156d1f824896b9a36cbfb198f8271643b75c1838b0db96936ce60cda345a202142b572d +CT = 68244a59dd6194a6cb06c10d867dacb7ca65844f4fc1fd9f4789d678d8a484871ac836882c7f12ef30656ebb9210c9a3fb436c +AAD = 1ddb4083f88f758d3920d1cb51347db177d7d2279123a04e5f0a97d6744c566c75bfef417bb683851ea9d506b71785d8 +Tag = dccd04dab13c52d576f23f2384756f +FAIL + +Count = 6 +Key = ef092298bc0423a18e511e097bb3b3ac +IV = 75edc3cd9833a85c1d4096c68519872d08d64ddc30e62d280b4e4f976c7e350d3557b5a5fd997db1e56c230a5a0e08c09c461079dd011bd24d66d4b2177c10069783e6ded790e425afb1188755a4242a8a11b735e23f1f5b75bcc28f105db0f92d4e0d0a0ee3e002178205cbfd383b5c4daa7146621f7272efa719fc12108c9c +CT = cb8e4567b3fe77fb9ed1d714e9f3123a9bc79f599b368d00539b5e0c1480810fdd32cfaa4e5fd7c0d1176c60eaae596787d76d +AAD = d3e7afed19ba63d59dbf01c00edba00c0575e9c3b4e52526a2e56dd2d1a8d2e17dbb25eef475ad2a5cc79139a928b3c0 +Tag = 67728eef95456a212ae8b143421df3 +FAIL + +Count = 7 +Key = 917dbc85ed54441071e1583f8f11f4bc +IV = 311e947cc1a4821d99b9abb81136caa40e71eb66e806d7fadbbce97800df915a59b82da27781daa78e5d0f574ebdb4a41f2a9e939e8ef16f64986d6a2a10e9ea4fc40f08a7a74ccb9ed2cf599b31aad6255610530112da4a13235b17cfde79d885783442db7c36102364c1a5f51da910f64507e6e34af4d8a81ac1e8d26990a3 +CT = bf7da472b4a1cbbf1f6b3c0e5bfb63c10a38859678f1a595f7044cf9d1901781a8d333486653731a1cc0e601706012a4a0b8b7 +AAD = 50d0cae4fbe6023d24b8eabd83fe43984a568ed8401dd22bff61fb343b9506ca178c1054adcddeaa923fd5a763165b46 +Tag = 1b76b9150230edf8284902c99f6518 +PT = 7864abf1dc3420ff612719867101c37607f6f20844b7eccb5215bcc34c2abc483c12f0d5cdc3a1838510d911ef26f2947d7098 + +Count = 8 +Key = a902b6f35da10d04b0803f55c7b11e6b +IV = f240b8caccdc7563bc9d893fabca9778601038c12472e630ceaf6f48783a9ccf2a54bd76194420bdf4dbba5d6af786f00d5af14a1c2ea1a2a6c7fa59c07e0c8b2b5d06e6827efaf0f32f5fd68f16536d7e1971f3478138daa3e36bb56b18b31d60ee03c26bde09276d1ae552f1e0549226b07d5c54fce6cb8758584cdb130f9a +CT = 1bbb0cd09c4b9689cb928da8ba54b5c5bb192cfbbfcf288d36f840f4a6c71bddd3361afc454016cf9ac2b6def5cf99ccfcb8b7 +AAD = a7f9d5a8044d46011c10f454a4870db0e717f06390b6253e2ae768c6d3598007cad27c5a40d89f2e983d220bc484ea6d +Tag = 89b24ca38dd4b6546e1ea389542493 +FAIL + +Count = 9 +Key = 763fd203ab3a1e4dac78f27f06b6b572 +IV = 89cd627c0135be56c3cc2b9ccad31db2c709028842bf03ac27b999e2435a4fac27a7eb86c1a116bf0318222b8589f7d7c6e3640dc34c5d475847e0c572aed0dedb86b7f1dd9920e802aa28238b9dcc7a3b497d0d479c6e4beb3186832eceab8fd84f46df87a917e4f8947ecf3ca6d76e6ccdbf89a6ccef768051415362de3259 +CT = 4b0ee2262f079802f2bd90628f4969e128ca4390ea19a6549083d8472937605d077d13efc314eb573aa733313189ff40bbed16 +AAD = d5bfc0522c07b23bb6dbdf7cd5b7bfa7b2dfbb20d553af7cd9d9004db72fc1b8798ea28926edb2733fb905888d6f7aa2 +Tag = 2474dc76549eaf0f2d5283e9c9afc1 +PT = 981cf42a7c8c3ca282a8e85bd7c700af13b705aafb9d5e19d618b2b4bbb0817243e2bb47ff05582af0299ccab75dde045871a8 + +Count = 10 +Key = dba6684a94e18bc8c310094965c2037c +IV = a4e259797cb4556f1003679aeb8587327541a0b3879c4d7c6539b6ea3e1e93c76e8b9b59ca4301b6f6fa9167517ae366450acd025f7f6b183a37a82414b3d80773ce039b3600d9bbd66c042a764695091373e957e90114eff41feb044f2353aa094239cc3127683c5452b6c39e180c6c190b59ffda6ca1bf35b9c8dd9e1d3e64 +CT = c3f7ff83a7f51d58fffe88c684eae02047ac9de0414a297e65ef952f2eade1c2820a58bcf9181076b063db840d69284c81ea69 +AAD = 362f41befd06f24d11b9dd9fd218106797d2eb7c26c3c9ba04a5b6fe6cae9542eb76f7d743ff3b4267491f9a15cdbb22 +Tag = dea1c9ec6337e2a2693dd1cd1967e6 +FAIL + +Count = 11 +Key = f0686a4a5affa027953dae580a3254ab +IV = fdebfb163edde84b8055b740f04f5a2059f6a87855cc2f8fa1426d5d4f6d39ecffbf60158d50acca3230f07c0eda6bf6bc406ff91564c91c1e006dfa17e4e98dbc1963adaa8e1fec102deb58e73761d97f5d6cb013b46fac34d13ead9219401a892032676c6b85acfe382dc8d4ff7e4ad230e3e7c2bb6c0ffb42a1f5d2b3c40c +CT = 994f85dce00f8dfca91b5e828175efa65f04870fa7aa981703ab701eb7408af3457f2d6ffc81aa47fd1eab28cea40e7d901427 +AAD = a120184c149cf833d15778ffc2f09598b4cb21e7004a4c5fe1a1416c5204b890a8167f58f43995fc6ba101a66160a6ce +Tag = 5b6813aedadda7e2dba43348d6fad6 +FAIL + +Count = 12 +Key = ce1bf370809d4528d7589b714e284bfe +IV = 5971f90c694c3c37e5fc068142eeecf1b63b0b2c8e192574c94b769bff92e28c17fefe7c5efd3ffb632c576e0ea0c92dc1e60582969350ec04ac78a4f23abb70c5f6c0b3e0d08a8482f2232e314d07b8a7a1757e51dde1ed81e51efa4a065b50ad3445fdbf6a8fc60516ca842c98662515aef5ec54bd230aea7afb3d3e16f983 +CT = d310d0673f8d5e0a4d1482f74db41996005c5fcd895d92c758a87e5947ac5c7d53295b1bbcc36c1cd0e79d4b1ae15c974f8df5 +AAD = 2c804f816630f34b24a6b62ae29cc4caabd3d4812e930a3812cf18d7fc7a10d85ba7f0196c598049f2dbfd6c8cb28949 +Tag = fc2e033bc6013c6effb68716570945 +PT = fe008043b193937d8722ad154395a0ceeab43869b4c51805035c00dbcd1fde2e14d624e4c28d2ba7cf97af65930026db359e1f + +Count = 13 +Key = c794790f7ec1c10dc6f18097296033fe +IV = cfebbf21f2d495b6a166d53970efda5e3f3c126e099ee54e56f5f39188aa0153671f5bb51c9ebd763624e06a77c5d017dc1b4205ac942813b5e968ec7d2cdf8e68c04524e6b5b9289f691def60dda08f51d613feae2b515f79bb41cc88a225c1791696979314537dd8b1059521b70e4d1ca116493d6425cbf4f7f62fbeb25ae2 +CT = c537d85dbfa2f9cbc9ce9a3d613b02abfcb746f9066107cdc9f802774d13b5c6ac8089fefa9a12c4082f239cb705ecf6ef17e7 +AAD = 874fff02682b60df14680ac6f193a038d319f44b5a2f9a9d994ff96972383e8491e6e66d77b92d49809d25c0c4270010 +Tag = d29beb197ffb49c4c42a9bc17242e6 +PT = a3afd051b7f2c4646db45499544e7c38916c48375d2c4db6f5cd7c763a000a1ed4285d6b6539e69c3dcecbef3d3c6e678f954f + +Count = 14 +Key = d0c9e2182300f81c53bffe20466c3815 +IV = 691e7055385b6a72d8ac6c059d3471fc3965eef329206a4b5b833d20de938b17a4425a8369b9bee8aacbce26d284319f3b618b512c22fee1c29a1fdc77d12e5e23085ad934c75b5e839c4eabb203597af1f15bdb07d071a600f51383a0dfe1e96b0d0e5bfc40caf79db4122e10698dfd5da703d39fd8e611cdca0a9533f3cc30 +CT = badf906b7039afdadbafc1a3c73a83a9cc2b18a5cace67424ed74ae437ae061a2f35f15a86d6960f6c8c6d818252aaf93bc387 +AAD = 3a0a849af05ebfef64d2d0442fb87ff5588aa50eca013ba0b28bd1175e1ef400650ebef6070eaf5fdcd105dadf68f43c +Tag = 400dc5a693383a13ab64263da09b11 +PT = a8ad281b3d2af6b54c089697471d5246e7c4c52115b5bf2c49afe95fd367e9038de36e3e6e006921a05768ba2f9d0be5c86dde + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = facb797e6e872e7c8142f29ea34997d4 +IV = 344a71c0e32f81c64c338348d77225868b18738842cfbfbfb676787355d3dcc5ec0c61a4995b879cec2af009e1964d60ff10e48fbabedcddce37b51ed1b241f955993000745d32e57742e78f4b67a49d24c351d2d448ab6d0dc28ee799fb2b402b4a5175351172c1caf2043422ecd0d9932eb3523f88ecf1eee43765bb9b0d0f +CT = ab5d5c10fbcb5245ed1060175f0c801e472a196f1ce10c4201ca0b93b3b799ca67473ab4aeadb7b5902d478ccf7c6e0c2620ef +AAD = e81ad75adf9bcefb1a25ac9c5278b60afd241393e864616405bd9ffa84e60cc84adb88af1e5d437671c0161db883765a +Tag = ea8bfa1fb0c53c3d7860c5cb99fc +FAIL + +Count = 1 +Key = b6651631f542362f07acbf6d5a5f764a +IV = 9ba67e864558e7b82a51740bc6cb087cc1d7f46e5d4f41f999318e61a44c51265d24df5f9c72bd5248b06f0739450f8148f4ffeac4a3b8eeb6e981bb12a390024cc408108cd3567b3c56dac2161892a3a8abbc57cdab06109cc8e9f84e05daecb5ff17c611401805cc20cf3bd4c8e7e805977a3a4d6e0d44d5ddbb9eeb071bcd +CT = e4e1116cbe6bac036fd3d77b389494755ae1c0cb2399f5c3d66e038d7908e2ef89284d9d337a36a544cf1d07c17cac189bb290 +AAD = 3db3a6a6a7cbc3068f3271830fe91828dba4b4bb8532d986dfe0ccf5c83d3361f77b5746758619d20b1739310a364391 +Tag = 99251a75a64e2b0ceaa58946d839 +FAIL + +Count = 2 +Key = 07467c7404679d271a3eac82d812090a +IV = d075a27015554770662e7a91199968e57fb6f6e722fa7ac37dcd02c904725e81cc90623e186d65d3f1546265648a94f094d06139c9026d3035a5704107d49a20e7d4f5989252199f4d93d4faa779ced8249cf26ca7d83ef4ba0f4f017d3848653dc5d2556e831af3ae9e8063cfbeeef3767397bccccabf2e545055f6ec0d817b +CT = d6c05b3bf7ded1f0b261a8edea054a744296edc818c13e1622942402ed6198cf055ae47494ff646120f6412293c9793169e3b9 +AAD = 9d78b5be55e5954aa1526b4e29f70b6fa2e4f99dbcabcff543f6f95f7662bb0c4bf63c2deb26e39c5306fac0dce86521 +Tag = 39c61255c86e7c564658cbd07ef1 +PT = bcefa704f848c82aeee2054a6706d879487672f726e7460bf52e1a023a7442ac62b28e8e93a0c1ce375d3c30aa5ad85d6863e3 + +Count = 3 +Key = 44de641c6aa524bd747810fbe5d37795 +IV = 0704a6cf7809a64afadb2704c4b015984b8cd81d8dd0f4c93fa51b700b06fdf52e1df8b29e35f9d976806b5b457b9ee144e2f6bdde067831d1b3f30aae8a936131c7699966d7b27552ba2429ba0525842916550ceb09565ded7ace79d6f5f2eade9dfb4cba3bde210c4b28e39a9731615226d86b760327eee81b045740103fe4 +CT = 0b4f4bbc8cd9a9d699153f8f22011ea3a5229352e86023833ff465feebfa386af2f64558f08cb1c80744716d757cb290d72767 +AAD = 009845862bf5b51ec15e99c123d66371a5ea7c3948c500e2f9b2c3a98856f8273efa0e6f73f1148c0f1a628861d13ff1 +Tag = ee5c43b4ab9aaa07fea699a91ef4 +FAIL + +Count = 4 +Key = 26e2f4c6b239ddecc85c03b146485b6c +IV = d5aa7dbeb9f59c028efa718f359ea2f0e58213d518cc2518ae9cb3ae634976aba92f653aa5e0f2593e833b011b905e1b4c1e9f78ac148d292c4c07f59e33da0157981a2f85994c3747dbf57ee003872d68d97ea23417a3d9c3db2d0f576a457fe46a4bd3b0290f76504a381c36899a0a3f92fa361101d06190a97091744d6378 +CT = 3e4fad671e04ba1f64a00248cfe3cadf688a5f0a6212c3b057f4d3ee507ce116fc1fe6d098acb3efb11a79c943804b724acd54 +AAD = 3e76cce4e4028a02d7f8eedc6e93214e1b9cdf305c337eb64ed5e4338f788dd1a6afb4ded1cb4973e1971d445945c5a2 +Tag = 54b1b4d66f5d1817b8bbf52ae0e4 +PT = a8e4ac9ebd001d22f321c15e51f8627bc2ba3517d6b2677066f9ddcbd997d4ced580234634ef0292a9ce66e2d88d1861e38573 + +Count = 5 +Key = cd867fb985649d99af29db3b463ca8fc +IV = 2ea7681f4d81932f4cf3d5c73effd1de3a47b3ab87d8820f845f41032e2a31add0429bf3a1763d5e2c5e652824bdcf3c3cb504c33f97d7f4fa4bbc0d4528a3903693703be2c0e4d6667ac335e803367bbe26418d01ccee8c84e4628d8d8d62635aa85d4259c90b20202a4a8214964a96f61ec6d1f7bcfc9392888e5e2c9d387b +CT = 6fd2b8327cbc08a1b971f55275829d9927e8ad12cde59da39abacc9cdac2bd974b5d1a85d24474302e6d3280ac1acd33adf7a8 +AAD = cfc0c0018b49fb92051324cf303db7c6338a28930198eea583bba39bebc84fa9f3da5bb693ac06ad1bd138f4c9d20ffa +Tag = 0470ab197dfcca746161f0692f4b +PT = 2bbb9b32d07f416acdd400af03bd3c5fcc710267001e778747aa055cd30ee3d5f8e217303cf0154f4f202184fae2e618046bba + +Count = 6 +Key = 6096829a333e56e560d84d8b7fb60ade +IV = 0ec96c2a45c7747b0393f93a20d5848e7e85e09cc96f18fcb5b09f0750fa28a06c564c8fffb89298cb7bb853ce945a2d178caacbe263b4f046b621b7bcaea9451235acae98005eb82e0a144a467fe5c0169b09d430657c3808b04f6c673ad8e54c7df05cc12ab6406611acbc30a17dea92a5f9a4cfe6eea044d0d14ea69e2c03 +CT = a792d4171a35a8ef24bf75daa9136c9da5cb36953de6d85edc42aa533df1a15cdfdbc6edd0483a468f01b48dfec6e8e1e3b576 +AAD = c8ad894a01b7ae94cf819d8be6862546c0485825dd770eb4fbf42fa0a16efb330b979cd45a7fb1cac1af7d5c6b3fa870 +Tag = 40ac1f82d77f520e4a78588b3b45 +PT = 5bfe02ccf25f7771d3ad4d25436ad614e86836d61724bce1e3eff7e9cdca54d53e10808cd144d9ea7dcc7a8f1f3f86c79ec092 + +Count = 7 +Key = 7b937da065aa4e0465223719ffae2efe +IV = 3da09bcb1354041c69e91770c99aec9f5e1ea31085af157e4415defd2a29357140069572cf44c147d7ad1b7a0c412b6a365156438c5d7525f03239033470692dbe177a90369ad3866f8922ec36d7667add50ad1e9ff60353b62a42d0cc24655f2df2b7de9b507d0c03455ac3ae0850ab01b0636309b2690ced0ec45993b605fd +CT = 683911a465dd5e57bf6b91fca32bd7a6cad57995dbf65f54f5d7d52dc9fbb38060d54c65e267e0628f38d32e1e57da991596b1 +AAD = caef91a1d4e543a3022d96f88af6f4a1cb29b28ce5d913f7a516a69389fd7c48811794b9249ee376070ecd35c45c5dbc +Tag = b75f10fecc8b8187bf152925f773 +FAIL + +Count = 8 +Key = 39a0b59cab5377d5e506959ab5f970cd +IV = 9df1583978d9d8f1c554ea9ca15a742e25061a45254d1e4e5692725b39af1ae158dbf6a2e5aa69027b089fb0d9e2f919b51024769a15a9f0e42162fc22a847efee4a3c74e15101adf19512645ce19dacae96864c3cace93747ec1a1342c9a8a3c57603d539d04899c27875ae43ead987aad545ec3aac049efa620be1594cfbd4 +CT = b0e8ede3bab54e67c4e03e012493653f0ac9ab5653bc6e5d4ae583c6f0bbb67dfce951d785f2061ad969249c17d92091c452af +AAD = 8fec496ebcbf17fd88cb153e5ff9d611818826bd0fab3a9251c437f40df8040364f66ab22b1befe2bea8fb0ba5b7e7c7 +Tag = 37fed7b0b0dac9c357720237dcf0 +FAIL + +Count = 9 +Key = 150581cbcb59f874bbe8ae209a99096d +IV = bbce9aa0889f2f59a5c83addb73539b67313f2f432add1036c8b1905f0da506451400c130ed4fbd80285ab8587079298fb5fc92b94f51e9d5670541554a5ac3f3ca63e7156c8938101f03c768b1f28f835c512c36ec602d421e6d8de263296adfa51fee93b53586c059722c0f34339bbf1e62f88bf43a31655d55a41776be9b7 +CT = 3c2ee4cc4107ab01d6c5e8db693bd1b0893fd7c8fb5dc5dfc1942aab8efc131940774a878d1fae237e0f5e54f41a9766a56495 +AAD = 10940a90f160d9f10b186e2c050315359cf91d897327eb35f74f210d0f698e721716ce912489a72fae0a4af2571e5b69 +Tag = 24b9cbbfabe95e27666c558d256e +PT = 26a8f0fc874a83b6db6e1d9432bfc0b7423bc2306f4ffcb92b0e5954eda0569638c641e85755cd9fcfe4672a73802d57fd8eb6 + +Count = 10 +Key = 54c593be769f61733dd24612531f822d +IV = 085f70a8c3014902fce3977a021f0271ec5f6845cc2ccb30ace61a96900609202fd08962052e1ce0115b07a457178e3bc89ab6dac5d22ac06d2c723810c2ab5674ee458d0298df568b9a8f4035354e9779c3281befcf8f27b6d91d7cd58d9ff4c0172c05ced9b8b04009e7d86edf69f03bef927585d2a80a1d25681d4a664d35 +CT = 6ce6422c2074a1a9ef0a5dfcf29bbbb40966ee43530cabb117f3a401124cd3673512c8abecadc6b074686841331cbf18805d38 +AAD = 87ac42fb73a0f8ea876f7e32ccad5a0e099a5d2456cea0b0957e5f829862c1e32027f721c5140ba30c082dd89687e600 +Tag = 03c250d90964768f89ee4edbabd5 +FAIL + +Count = 11 +Key = bd73bee56398e02b75905a1ef3d26bf2 +IV = d754e024e0745b107499dd3058734ac8e13afce6f162e9cad27585b409d3fb22bf59afe304b4358b93360d89fee19e8c9e7b16a6712f7b6fca97ff56b198ca2d0d2a0e1ec8a28b5fa9193afd0a2e88f16e87e2fca33c7a823236957ad4baf89e0f45bf3b8f3ef61a1d1af5253295705f0838f16be985708ceab318da0878dd1e +CT = 5a470db517cdd534ff98812eff1c314897e48978a11c4342a1d1ddc69798fb415dd170a29a554d25160c4eeaad1eff0073c82d +AAD = 1e0be39f289ff18235d01a6f67983ac6b3e6ae22a961cd9d68644b4078cdcb1fde5ad45cd52e4655b13a797c505540af +Tag = e8c1b41c7459ae6a6a00991f0375 +FAIL + +Count = 12 +Key = d71ed586ea211d4e735b0de917ac0016 +IV = cb093797d3e7a9dae167d6d060df5570812dbcaf049ff2c536ff4b5777fe1e06fa7c38dc8387a409883ca36423092acf6479105f765526bede96cac099442fb845b465360d52370aac1f40026a3136a10a45cfb668f8345caa4fb3caa70301021b093fd92fee8748fbb1140c039f4f46df966f87ff0af98a072f5d1bfcc02ebc +CT = eff3e4994976b4b690435ad12d5b86ea096e72be45a95a6112181594efdd9db106fe18ad27f8f21ff8979d6c5499522d7f98d5 +AAD = c45494ee1559a2473665005505860b91227e54e7a6f81fe34e422a19b36b0e69d792fe28dd17cd0ce00b8c959bf21cc4 +Tag = 1f71a54c6b3f4f3e9a44ec14c0e5 +PT = a38fccd88cfa2d49fa639aeb3748adf69b41343b5c11a61a621b0a67dcd70f41ec6ebcffaa75e71d270da5ad95ff4234df3cf9 + +Count = 13 +Key = c63675a01e0acf4e8c7e7dd2d8381193 +IV = d60427350f742d67e230c7b9b558b994f9e1b3ae4ff0ac82dd20cdcc002721f2876311997784ef7c1d2ccf0de7817af3e86daf5dd759a449ab8936878fdd17fe90d39f57ee763943825a232f52d84ca82183efb7b37c3dfd765d746f35e59a22e846932bc25f0420a66c8cd0231a744a10e46cb8a9e09f670bc66cb7c4505e49 +CT = e82f33da778113473639883e23b1c634b39d108495508577a17f6b242e0619974da7b53e7b1f902adf77b06debf6842f60ce48 +AAD = 03db9bb3f0e312ce5188b0e3a2bb989e105b3669f5a4fe3045fc77eaebdcfc12fa174e5be3c35ea532ab820edc21058c +Tag = 46aa6833d2078e4845f44fb34dba +FAIL + +Count = 14 +Key = 882c0bdf7cbb9cdb188494abb0d8bb21 +IV = fbf1d20bfa78b00712bf17980ac1591e5159f6ffe7646d4f6382bd1216c5bc88998db49c1619ed811ccd47236422787eb62e68e49eabf106cf9a3d9edcfa1da58adb5665a0ff0083cf3601ad802919ddb8741b7b2ad114720ca3f77245406260f1a873ee98e45e1b587af75329b3dfadd5e03fd807a1b0799341a315b2b9f455 +CT = 09094f7213ba28a3540ac7ce2a379dae82c6387583fbe84286e72578eeaaa14971522d9a732d30d4b3fd4a4367648c2cb112a2 +AAD = b8eec2193abc1ad6546c3a283da609198b5cb507986943cfb84397cb547220238ced52e243adce1ef8c77518aca3e5f6 +Tag = 92a7dd054afb6fd58a8b59fcc615 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 3bf4bbec33b45a81650dfb213faa1e96 +IV = 3ed52bdbbaa709105a2b0dada7ed50f829f6c5c0a5ffc12f7afa21cc5455c1cfab66b42085e8d568f57169bfc1c0b36c30d98fab5899840ce42dd369c7148d56d0fdacb4ae0826235b27e8ffd467d3ec179d3fffa8924199c3d2ad422f6694fb0ba962a0d45213677d4c57ed0a1f9f9a6e5b1cc6440892ce437459adc3b03aa9 +CT = 59a35f5c2ec815a5afdd6fb125adca880021322eb8f530a38d8802cc013c94135f88a55bdb585137e9e1cc89b03128048b7b8e +AAD = 077cd84ad393f8ee5a03442d5ccdf0ded7bcfe45c8da358298eac872d65772f2a35fe57540ab1c2679d5fb79e9a408c0 +Tag = 82fbf6124979b334f7ed271b37 +FAIL + +Count = 1 +Key = 3389e011f0349ef79ec62933c39c5789 +IV = dcfe4e791060231cd5297efb631ae7ccb5113c3a4dbdd26fcb5af261dd34315baa4208eaec05e1fad32317bb5326cbb32bdfdbcd7523df9271b132b92c8cc2d15f7a9b88921da9dc9f150526efc8e6a6d9223fa2f329e02559b459341684bd2d3e940f94dd67f60c34fffa7168369aee10df0587820de38d1fe4777501f8771d +CT = f34417edb4ccd2ce9e0b9de9c0f430bd1c9a3b2c7e466b19bfbf8727852e7176e579b6359ed10afe8057046091a03b40ea3192 +AAD = 1187aa2cb300ab52d2e004d38ecfb094bbec45714c175871eb1af8f5f12b9b77b51b48c73bb8b9ac552764c7f90df89c +Tag = 7294e27fe179047b4b8378fe00 +FAIL + +Count = 2 +Key = 88550033209e17dd43797b283c500c28 +IV = 7de09ecd011c09d142987a6757cf9834fe238ec2f6dcf8369d8bb666009222fcdf869c9431ba99d5ad4abe3c85a73772ddab4ec9393a10bdf282d0c48ef1c49563c211854ab25d734fb7788861b78746cbd8cc5a4a602436775f3caa34cedb50d4806a1f9175db23e963d1d9078bad6aff56c82b5f3e6030e6a821e2c085af99 +CT = a6ecc52ce071ddecd61d540d7d667bc2dd4192b77638c66d8de9fa6d782b3fa5134bee591031df5b6be30b8d7bf0e38132889f +AAD = 19eb2d9b50c27ae3b653c008fbbead98bbb1c3e1a6ec6414f15e75ea07823da60b07f4cae4949eaa1e69fcf94c257eb2 +Tag = 9ebe4f55b0ad819fcf84c70ae1 +FAIL + +Count = 3 +Key = eec428a440e23b805ec991f5ffdfd373 +IV = d99c0917b0749e64a350743f21fa73167e6c87f4781db3cd616879e45933c34be3533685f99d1d7597849498a237ab87a62057486a285e2a1627b452fd44e94eeecc320d9bfa9208422b2c85fd032d3032c226276f69bc4b4266630f6a6fbdecda535feb70a322855eb2022b2896389d9ae0fef627d4c26f6a628a5831f3b70a +CT = 01a809211d27cc8adaeeed227a899a78ce3370e330c6495568c0ad684b82576cc917661ab4bd92526b5c1972f27e9288c3ff11 +AAD = ef189604dca14d3779b5b62beffc6db2d681d12829104f6608afdc886bda840764eb11bf311e67106cb1f615f5969ade +Tag = 762e019651ec3bc1b42c0e9aac +PT = 437deb9cd56dc1a04259a33d13695a7878e8086b74691a46ef9474577d488a568b077091c4f160c139809ccbb66acda6f6a5ac + +Count = 4 +Key = 4f3e10704f6bd9e9b4c3a6ab3ba2d3a5 +IV = dad693db6b129e57a53e9592f1922fee1420a62fa0c7be0c9695af5f050ba5786a2b13802283446017e75710aa788c5435c7fc486c37dc19e5a8728815a333159e899581661454fdae2cfdcba3ffa4fd6fe274c79012e0e234e56f6e4f7e49faf3b6455295752a17def169f3989267da0c1b29a0a90e25a7019c4845a7a4b6f8 +CT = d738b731e16d9592c0abc5a4f3ea0c19972906d3df5eb56cb4aa4884c996b398f2bb8e711ac05bb686431952fd479f8a40bf63 +AAD = 3fca6bd3473bc1047f9347e41fbe5af7ac34eb80f0086ea92fa71c494612790d00a1bbd1473b1fa4a65c984d3627777d +Tag = db9c5c6b3cf08496e2f739742a +PT = 6fc9df0370cb266974d0d07cab69beb97059aa781db128d7df0fc4f51f6e8682aaed1c856310a8b0056d16a73359627fe77db6 + +Count = 5 +Key = d39d27c3b2e93928fe7dee332390a625 +IV = a3e161b33490978df5b34c89bee7da51ca41db53badb11a6638e246bae02398d19e5fe2cc1b47a1e084b7f283b74ef36734542d47158a83775fbf666a0b52d3084780e3ba1462e3234f24be28d3ba3ac4a0c8c17a89528df58ecca1b1e61b452481a0fb0516254e461bfb91cd40f56deb96f0f10538fc4d4e1b1344ce3e53983 +CT = 69cde59d78006523e07a23298c73bbb4e47db67265a69b8a2e5233c63afd2512f28fcbfc4e162382d783a0b1d30bcaa86e7302 +AAD = 81ed67167de5e658e9e62159b0724e56d40cb5a97f78afcc318504fe2d015e3e6460bd45f7812ad164bea8cb6abc31fa +Tag = c679bc180043be92ca2e2e1212 +PT = c45ac59db1f7ecdb838eece78dc37bbf5d1e641eec80af7dd9d479dd6b647b6d351f48d59b2a0a711117dafd10e6e6c61e3b2e + +Count = 6 +Key = 97035da67531682e14130465e5f243e2 +IV = 602722ff2040642350065742de5697b233446c3bd31e74bc4a9679c82f0510f7236e84abd33f50d5dd87a47863ea6a8d4a99cd7d39a20cce37d00432d9cb8741155f66a422f56b0f1d820422d112092337188238a71c3814a69a458672915be3ff588492b995e3037c310e6fda3f2ad9ef0de20feb5bc0f6587216e8d85d6366 +CT = 79253a9e6af2415ee02df307d2d58587cb310384c32775ec725ecdf4158d0f684da790fd573221c9c6177e945c3a8e69fc2bda +AAD = fbf302e082cc83a6141678aabb7b4dcbbc62f808e569fed427374e60d0181bea58b0b499d11df3fbc0ff5c4f263f0d33 +Tag = 92f17a2d70bd0b9b5e6fecda73 +FAIL + +Count = 7 +Key = a062e21c795575bd6343fcc56ce145bb +IV = c3c2cde48be6ff739693afe4123e6c93addff44a7b2a0027a801851a16eda543540a08753feb7e1bb775363b7b4fc3d748b78ba804e73a418869e28dcb81a3fa7a11edd019bb633b768c43733aca5d1c6966309ae2ab2d1e1349f8205c29af28bd5c383e1a5635e7a59eaf4cc989c100859d95e8d4d9b6cf6835f492a029fd1d +CT = eff2b11c7a175dc00a649684bfd8c05e27979a8f064db5892a76dc4c6560a5782b392bd90973be068f9c0f4ea3c7a375dd11ff +AAD = 3103ded58bd45c5e961c6d781fa9dc9dcc4c3e1d516ae28bc047e124c464504f4780db61e0cd77bdf086905d395855c1 +Tag = 1d4e9601d8bc1a3272d64674b0 +FAIL + +Count = 8 +Key = 6293da7c219e357e6559440571d1ad81 +IV = 6e249f8a740b503e89adaa51d3c471a6ad7defe28e96b2191b649de5218d9d92a9c716e6e6226b2c6d05bfc14142aa6061e8ffbb0891f261d653d18e69f5ca739debe6ee5818105de19fcc669bde1dce4cc402f0f950f4f34091c6f376682b221001c3dc0c0a7c6935d1a4ed581e5d26538a1a1c7e7e247aae426e230852f650 +CT = 9e777a73c580416788cfb991f4a619872843bed398d2857e49a6161fb1534334e8e6ff7a86ab036c4886fc30bc711d465c6a48 +AAD = e6cf1e968f3ec7849d914faf6926d8ddbcb8f7db2a05d071884f7851a5b5ffd6a61828b89842f475dd48b75c0b4a7312 +Tag = ffcf62070497aef2154676275a +FAIL + +Count = 9 +Key = 11607f0c8c62579dd4ec29a1d3140f30 +IV = 919f3aace600d42488f5a614e1733e9e64286c86bfdffa69b2640dc4a56803097ad74d1f462e9d24c8db7fa5162cf7df86306cd351904fef56be0855c5b8bacb3d5763d4a8ea96ef8f9a11f7bbcfcc52ab3d3769aac5a5f33697189119fc0e4c4923e371cc865930767a0f98fc4a1a2dfbbae65fd8f85302d3042eb03603e9fd +CT = edfd0cdfa4e33e4d7ef1253103cc377526f77649f62ae8242d4555a8dfb11e89cbeb6577ce07d6b378f753c3115580cba74cf7 +AAD = eeed5d2d274ce3e7da2ccb56581414c631a0ee74d5ae2f41254e7ca75f00f5811dd68a714bbfeb52df8e518c0f638064 +Tag = bbad6ec36e2047171c6248fd3f +FAIL + +Count = 10 +Key = 93dd183e93e33d29557130d329d7f3b3 +IV = 7fd3059bd17a7e3232fc546a56e206d33fa56bdd535115a24a36ba8dc5652ea42a1baa31f254b17c2408c989d946b110da2b2676be2652c7f229b391e9e802a2dc80fcc950084d76ad7f6cde4de0283986dc1c99e9d9f42a7994b25c097198829dcc3fd5dd85ecbce6c69b123c76d02a661cfc2988d23a212e0700c3fb7060f2 +CT = 52dc53278cb9fa86342ecc7fb85a9b394892c8a9d6d0be0eb56ef00071bc185d6d957168370b338ffc49f6dcd34f31c0ac92f2 +AAD = 43af9de50e45e0556e0e4e76dab7828ae059dbd513fd84bf3dea277f6656258a82cea17cec4b51eb62edae2465e6b94e +Tag = b8b8715fbb715c88ba8d9f7ac5 +FAIL + +Count = 11 +Key = e88191d7d1c347aa8df7dcf3ba1dd147 +IV = ffa12e247e8b880812e3b67db47594a677aab4ca159a6177c4d845e3ce7bb6e1845b99c4a9cd0af4c22cfb1e70a30b35d7e052c865eacf3906e59bab34ed44ff3abdf74c1dfa886c493e7e2193ad668e47ea3bf65a22a2c886d852c1b3c83d9ffd62569193b0945b24c711a2193b549368f274839e775a40ced9c7ddc55fb0c2 +CT = 5233ec03261a339db34dcbf0c27b8e58a9b06c13db73fe172851ffa35c4375eaa8ba61226d43e989035b574f2aa0b97cc9bf65 +AAD = 5738e3132098c00eea922ef58f15d88a885a5505469f87ed38d664a1390e455b0d96c066c739f25c731ab1f5d77a36d3 +Tag = 98b7ef45389c8557fe5134d9d0 +FAIL + +Count = 12 +Key = eabcfbed7b07cdbde3c25e131fb3d355 +IV = 80f1a01f18c9edb2ab98026290d2073d0be8e84a48188a638f9882368b49a28d4cde5c6197245e1ef15a9cf6b32cd79c0865663954c3a7256dacf6d523d5671a6e8aa76bbbb2f4e4d2d1a28c469590751391944d1369bc461b8ac8a281d53c41718b46be409a2303d72d3a2f0a777713280b9c00512c42f19f1ce490dc17758f +CT = bfebf588f0b5e5ee3dce00dc33bbe42eca06d60fa35269fe9623fab663f625804376cb2bb12e61e8c07d19e0622d64d8f233d4 +AAD = 35a4aece5d553e6714d01e2ad8af8c7e8832f089290bc777e25c5a9270610e5c5279af412750804304ab3a2d412eed20 +Tag = 1875958f42b706f8855268ff0f +FAIL + +Count = 13 +Key = cc22e3ce62e205f023f85144470e3427 +IV = 776420eeced5631a5374d8eaf68faa1d9347ecd8e607f2d8e8ffd12ba87157774d6c5f456d934b2f0a6a318810b6dba838e765c86c9a854b81d6087b0df7cc0ce2bd93e00adc92ad271be9e00353d989deaffe27ac8b7603bc30d5bcfbf63c49f6609d7d2c0f5a733a8e15d3f0fa138be1aef8fc117c5e2207b7904c54cfa2bd +CT = c3ed661767b5dbe2078fd156089ef9e1c0a111d033ce4049a79279f793360369d9abb0ebe96b7b5b61523af5c37e70b84594e2 +AAD = e0e52098eb19db1a16af217152fb967866d81f955db2f7de6e5743b5bc6a15a24ed5f8e8d536063a522704b0c4dbbba1 +Tag = 93dd4338d000a3fcc77b123c4e +PT = 7cd3b9d926debce6c63a510c18ebdab7701153c7ab39dddb87b2a2b532145468328682f0a54d70c29890a0a87de71ad95d2958 + +Count = 14 +Key = 444a9387b9facbcf5a1ee0814b803b60 +IV = 4fd2e1ee1daeda11d43e76377e5af15615c915c005b0f3d245ad7ca59cfa78f55c9e278a0338519b3d537d519d03100922cdc9c9c7e6f8e60fdb5b90aa5e597678a1554b6a66571538e5ccd6173a23a76017c7fd0ac99d2cfd0af9bd9ca0f5957a555b0d616df796f993f3081554d29d493441c029fb21461b347b13f9c9253f +CT = c3b14ad6dbde851f820a819fffcd8b7eab407696c88a74c4fe6d8866039e6ff846035c4948d5e4273ee6a687b3e253a57d46a5 +AAD = 4e0d56231d6ab3d13318ee2666909b5176ad348aad59f00fad80fbae3d25254849c4790dc9f12783503d8ac5e138c697 +Tag = c15c0e1bcb61dff7a7bcb2b0b2 +PT = 226cb4bebbefaa104036148b191a11770aa05dc24812176e6857db8ebe4572aba0ec6ab207942883ae7a9c84f533a8c8bbaed5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 0ffdf17751d0a7c017b983211495bf34 +IV = 33e5d83cb8e8f6bf7152430a64d3c374b2f7f38725806b8ede452bae09d60cb2ff693341ec6f7baee8dce27f2068f3cdc66088a51fe1af2ae3389d9baa2324af4b37e00cff199ba8c9ac2b37b096ad938df039cca5d6bef55aeb583add93e49e0c30c262e2f1543a7155870f5d237f2b4a643a0b95470bbcf8999a70842d88f6 +CT = 729dcb59bae1f278e32b6d5a7427ecf425eb489edc48428d0694bedab488b16047a741ccaa8127b24ecfd22d94ccaa017df31a +AAD = 319fbaddb5b8e51565c0e38f0fa1521a98e89a9a10f1431f6085f80fc1abd633a9aa215ed2bdc1579b237be065401a39 +Tag = d1f8dba20d67b22214926d67 +PT = 88de3b52abc8d99366279668a6cef38d4bd1cd81d600ff5ba89fa74cbe1443cc01b813c4caeab136ffe7fefdc5405adfb9745a + +Count = 1 +Key = 34c6f9ade285d28c6cbae6097db59e41 +IV = a40c61496a45f15ff81580b37e7db2870c94a518f76173c8b96a34d6bf382f4a4c5c015a73c19c3f1626c15bf0b626dbc1e9bf0a2c08318d9427f8840d20bdcad6bfc232f52d1d2189453c9cc8536c5e8762e43af4a3a91b5a148084a1ced57b325d27e5ec205cf3a45ba804c4c0379ebfc5928af2d409a18e38ad69809aa399 +CT = 9abcbb497ceb6b578482e6f96a7404b64f3e33215ab4075ce8fa61575b1d142c1a005ebbc37d3fcc85716ef18b26f7e394048f +AAD = e3f93e9abd3b83d35b89cff7a7b7f81d78e38f8be7ea07b1d0da871351b7791f3af3dedf4ca28ac0c2a5cfbeed987379 +Tag = 1f0334367db2c81aa0f5cca2 +FAIL + +Count = 2 +Key = 2a2fc2ffa16951fd3a473f91e2d09b82 +IV = b9e378a5eba8d4c94dcf07529ac9e8fc65090bf170160b48810d1cb6f88ad24d80755319fd47d80f86f94effab62cb1c5fd7ac99f4d3f6da5d4b49478685e63baffed59a643e02ca573a2f43a8a12ba8ba9d69a9a3552f41dcd87ab16bada055a3708f1d5a44b8cff5227ddf29d500daf76310a639cb2b92497c164a2b4a73bd +CT = 4c209db0ee84e0269d97ad0193a833447b2f126e715f1dd7fd0d24757b3f16086936c145a3a073ea6a79e9fae1605650e27731 +AAD = 53779b3fb4b1963bb1b1d9dbf6c4abaa921f57a90257015e435edae6a2d3f03d497cd89b006727e064a169952fe8f762 +Tag = 212b8f46c47971393bcef13f +FAIL + +Count = 3 +Key = 54272ef314ca786171e9c3efa40ed892 +IV = 85b1fcb88fd0cf5d7c3c6a1d334c52736d193a1c3a8f75676a1dc2d79bd8269044b53c21d1f020497a8bbb3c3b5df78ccf3634e2aa13cbb3a692345987ba5ef75be29826a63167bdcc13a02040a2d051b3c0345a6c3226ffe34ffdbed3cdeca3b892ffa59c3e24cf4bc074d32f2f8d0a394164d6837dce292d8e6aa640aebf7b +CT = 61d3c555171e8bf8eec567e40c7e9ff82162ebce7afc0d8116b9d474c18f867d242c8e650e7316dbb2e7639c1f34edd3c703f8 +AAD = 8cabe0c6e6825317001bbcfd4ee542c6fa12455fb7c42b9073af333e251f846fe9ce976381435afde0d094cddf18ccba +Tag = baf985bc621c1a20aef9ad16 +PT = 23ac5c647f9c1849a3e3e1a2455acde7707d9eeb0d3221ada4ce2e372db5dc2775e79b9597c2a761761f179ac50271eed7fdc4 + +Count = 4 +Key = 288a4b8a457b1673177cd9de06c41482 +IV = bb504bae81d2be922e1a72d9e1d5bd7e225f27647029e83e2482dcc0df250f617a77809dd1c9eaa6ddeb9480b1e42c4d6979e6002d54af6a3d91921717811c6a5048acab2a8ab865900d77836bb8a038d5b17075bfb5c8168d511c251f85f75af8da81d6c40dd498cad5a2ccb34615645a3b5490c7763cca1ce9653c40c4c8f2 +CT = cc79ca7e7eaf170c6a56603f4ba2e25e86fe167598174efd116113278af39101d0014c0c701d7e213f1555445b2fcf60105104 +AAD = 431a96d88f72e107ef0a24564f729dd8ac149877ad31edb01f096ad99e28c24cf205563a2f4a7e62ad3a153a5bcb03be +Tag = ef64312070e24f8d59d6112c +FAIL + +Count = 5 +Key = 69822999a7d2d22642ea7706ec53c381 +IV = 17741e8f6f368f9fa124c9cf9dceb885022410f85b9e0c19178c20d2f3ef41f9113e81c6a02cf879352c09bfd34de5fbe1773dc2023f54beb6544d41fc46a512d330145436c81125d6a4c26178e1ff9ededf1e8601e09df03316b01b599af92ca64bf8fbe1c207bd143f3143f7e63fcbfa9fab057774713e8cf602b7a9f8f262 +CT = 3b873224645c5bbe056269d612681fe3008b9d8a5084fb687ce50c99c69c31fe6ae893ac5bcb0f5eda083d1ed3b283ea0f4965 +AAD = 9aba360fb84bb9576bea170a6f0c4e447917b9e80eae7cd8714d8b47394e2d1a2fbb38ccf225d34cc28b106fb927d400 +Tag = be4b5b36af01cb02f0a8e61d +FAIL + +Count = 6 +Key = 50a7883d173b116ca6da86e5c2f92d94 +IV = e32f9a55a368f8a80f6393643e2830dfaef440265299d28e2eb96fab5a74a0091acd603172d7f6f243a7a13b0437013769df690d2914954289646cd5c638bc29da53859c26bc9647dae0d97d92b5dbfb63f3509dcd4ba8d74d8532a3d63e13fd491fc89eb0a3966333fcf446ee4377f59c0b0b3fbb50576f259f9ac6550b3c47 +CT = e45953d0dc78237131ace7b12d0e65fccc5e11f65da8c50c5c38684f94b3b6aaeef706914a54925666bf24084f16e80b519c4f +AAD = 4ed44a225ab2a932cad42f881761b44c122075ccbd5c4fe713fb62b0f58f1a9989290881c52e6e0b13465d4c7e336904 +Tag = ec1594f9257201e1840f0065 +PT = 2ff1f9e6c81c3e58cd179386448a5fb40a81fdab240a99d53ecb0abd0eb931bd6e2c693a928c6e853a7ffa95c58778773cfe38 + +Count = 7 +Key = d1fb71f32321892d77ecd52a8f539cb7 +IV = 7de8a534a7966df27ed9018fffe19e99033050f9e16d01ff43f86e6422811aca330ddfe49b1508c70d66cfbb8598cad80bb2775a91697b0f3c22f011e242080e98873be8beaf5fc7dc5a37e21afc48e60a1b2c193dbe8530cf88cc8ba1202d2750207cc4c2a7e4958c31f5cd6d2ab03ca84a5e7247b25e0e55513239b87850f1 +CT = 4714fdbfda2d01c068910c739fec1ca7c14234c35775f4d4d290322be9613657ffcd4203ab24b70774ec3c415bc5ef2c0cb3bd +AAD = 25e3ac675046e5f25f2f2139cf622d066ec64e9453e72a27722631eabcae66e035709b01ebba75c8ead8342aaacc1748 +Tag = 1bcfd1dccaf34452a78ea607 +FAIL + +Count = 8 +Key = 6c17a8a2a7c592f031e7e60a3636175b +IV = 62fc4e35d31cd156cf6019a99a73e3c79f0db34c17cd512a424e1cd7fa7f6d69cde58ba2a798ae0dbce1fce3b73d94dfe052810b72065ec9807bec2ae3d42eb60a23875f2ef7d3823e836aede7c38c781a7daab6c6c0e0266a079271b5024a582c3aa84f17d3bd466a908c5b046bbc5b251c5c6727a3ac3500b5059b7b9b95c1 +CT = a785d99b1895b5c8c33ddb719fd0b1c9f0db80a2ad1d59fe0fcedfa635ab2273426c3a169b5ebb729ce978a62a54f02f9a3dad +AAD = f7e4e9391ef48d0b905090533c6dd5973722cbcfc15dfcd68234a7d042ee11170d561ca985fdcca27777dc7f7b546c3b +Tag = e2e63888e8d22ee95640d361 +PT = dbf9c39ae08a1b352c276f61d5ef5820b0df4e6ceba19c8b3ab607f895ad6a2a912b3df0b042bbf7bb0e60a30bbed35bb3e2b7 + +Count = 9 +Key = d16cde61e4eb1bad1858feca694490c0 +IV = 0223331e4e2feb9170d9bda7afcf18c712231368b0b58eeafdf96f0a502b86c242a70264ce62ff7b5bc1f8ba1ab19c89b7af5720c3ffa573ad18d1d2848102ae57971f953e571dd42e9516710d709952139a09871e84c5ccbac1224b0059a4c005ad55c22d5204914edeb26da2dbdf8edcf0e1f98c3c3a3625aebb47b2cb8282 +CT = a4160816166b239f8ff8830ebe78b977503374032313133f8349a306bbe1de9d1f1bcd71ed206be370a778df6f098a1abc51eb +AAD = 62eb3622f8da6b6293507d13d0b7aa1306305d258e4ef083bd22a902c8fe033dd3bc141b42c6e383081a851510662a19 +Tag = 272b78c426705d1f9d6bb326 +FAIL + +Count = 10 +Key = cb0a0d7ca6f607ea8089a9274cfeab23 +IV = 6dbd66de72e21a201ec9855786513cb2551546bfed13593b779f58df3a6258cb93c28b5d50dffd2ed16e4870657ef8e772edd160c4b96e6f0568681f833d6f005af1f44e10495d0ebf640a7726feedd5c2333865b16e26f0e5ca7631c163d10c93093171bf70304696efde929ab3883e160f7300a5903819c389e0c83cf4fbc0 +CT = ab78c633db5dacec9326f2b164ac9188a7e56541bd2b7a8d72797ddd4ab773e78226e5ff233164d583d85ad8994c90f36c7eef +AAD = 27306a93e682102669e3a1d0f350d46fbef061c507b43102a3ab51c51714f61ff5e6946e5619e77fc72a7e4424b70746 +Tag = ef6a159db1bedc057c406927 +FAIL + +Count = 11 +Key = f9f7fa60d4fb011885100f173343ca46 +IV = 0a6607f6695e179905322246fd3b95420473afcf9bfdc8b3808290cddd991bc932f6d2cb937e98910b23958b19c3e1753a802fd5eccb32d98a2487913e31aa5ce26e44bb0db25bf8a14a399b27809efa001f50b11c92364478417ef7b737265d694a2930d3816bb22b13db837fe42d6636f856447820ad961ccd8f1826160c00 +CT = 01cacb50b37ad5679d59ad5b1ef7da45547add8852b1f806f1324c834843989eaa93d695472f790645092e1722e4d8afbaa316 +AAD = 61a939492c342d5bd7f1b93a29693f85a5a74465ce70b3b1d2753c92668f1125da4c6b7105ab344678bbf54abe4ac767 +Tag = d02615e68ec0f0b4f601abf9 +PT = 008c15a73f765e47d9b873a72c2c07f11b329fc82a92e2ce1eee37dc649a108454a3c45397025adf5bc71e15945c6df28aec3c + +Count = 12 +Key = d1115a23b60719c029e3a2a0928d7c92 +IV = 3498a99f2d9d3e9681e19720241d49db7fd49669397f23d3207a6331a1a8b8c83c69a9efb45a1912beede271c8810b029641ad9eadbaeb4618a5e43d9675d9af297a92bbce20dcc6d5d7dc4da0f9494c39f064608da3e0df7c40b8388352ccaccb703c1efcd0d213f0b525d877e3a20e15745c2e2cfb26df2485d39e71a9190f +CT = 13b3ab59fdcd8ab22c4e417706744f7728aaa447a514cfac0f240f6f56916bc29b97642a922ae65f5ef77fde2e0baf83033323 +AAD = 55b531bb06bdb5211c16b1cfa4f1462b4ec1687a692d4bb7098bda147dbd56a84e0be9bf1a6478cca5e999a794c0bbf7 +Tag = 0ffd2b5464de4bb0c0da9fc2 +PT = 1f42d4e962a38e518c4d4e859b849e2c7e9856da4055bc9d91f22c518db26efdcb29b80225b920755c1e296db379e7e40260cd + +Count = 13 +Key = 42f0a825e2b5e4f1980f57a17056d022 +IV = 76785e544c0f8ba49d30ee0f8116f70af02c270984f0fda77c0656f902f3f382be12af5329bae25c1083d79a1ca8f13ea1452156b204825f57e743ac7e714bcf45e77c10ad3dfa1487318004013b457ac0e973895df3077c70bdcf9711321cf899a9abce8e1c306d63fc7d4f9d89def6bbab3c2bae40b431c3afc7995f5363e1 +CT = 7cf725bd83d34728b10d00165de41a6cb29c4c317374f99e4d6968d95402d995f3cab029aafd10e54aaaa34816e69c2fce792e +AAD = f625be4164a8a937225ab0ccb900f3354daae910682862091a1a45b1e8de68d0dfbca692cc9147a9c6a78fe0c9b86fc9 +Tag = 68a5d2c9ad2c73751099c825 +PT = 2e20abcdff4aec97bb429a1895b3dc307791f875b2ab598af78519a4b730804bdf8a9b7319c31bea47955f2b99e1f41dc0679c + +Count = 14 +Key = 2689d232d1d9c6fd322fb0900b3d88bb +IV = b8e40761c3d050b2c5e13b9b3e97d06b46626559048dad34b91b3a79e4f0028cb5138a8d444f7891dbc7c76dfa5f72ff610b0b00b07d69aaf84bf5b9e94a31b710d95cdda4331a735bc2f7fac09e70c57ab86312fb8abf6d2015d8020a329291b26c4fc55bf1e5537113d3f0703e0b6ceb39cbf677851f36298779ed8b8d4eb7 +CT = 93ce243ec11568c266afa291dff8b1fdb5181eb03ca4cb7e5b9ad39d0f41f6b49b45390c56745fb92dad5d621857b08ee9daf7 +AAD = defd3297f8d7cd231494f6c23ab1b260ce8ceeaf21247038550fd2002d9b7a9a7a6c43149ff9e859c17822fe53acfe91 +Tag = 12684bda4b65e1908abecefa +PT = e12cba9202565457648e1a27d2269ee459dd0265f16fa12de7612dc2023b66bf62b3941f84bef73b0868a9d9d13cf3b86710f5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = daef021440d1377e5d1edfb8906fbff5 +IV = a9d9b6a9e748ef1c768a9960757add06407de6b816dfcd9c01bdd2fcaf582d0d1e102960e4e2b6b86e6488034ae7ab80929c881203e76f2e5b0c25ead74e0515357e7025cb1e9cb21d68b4eea9c9140bedebc8fdf024bbc7886aa02e6cf31a319e066227984bccb3085d621150022119f6ca9bd5ae7abe5c6784a1a8283bb443 +CT = 72d32910af1f77792c6ad9f705631fe5c697ab613dcc10547640d798267265964f7197557eb3dcb30b4075bcb64f2019bdcf1d +AAD = 65a6f480e1feb3f12b1b23769bfc12c5c94b3ed34b2993c84117743d7d6f0b28632cdc8d43415d4690f6b0d84fb30eb3 +Tag = 14d6aace80e8fc27 +FAIL + +Count = 1 +Key = 056f0397114d89e2786652bb5fa7952f +IV = ec400d60b2360d2b660c49dd1a1af8af6505dbe50880dbe2b9914e88efdfa6a0ccb988c2dafa79498cc2e309b099e07abd8591dd616e9e2e0c744e47946221aa81da4ce64038ada851f3a37df99945f2bf0054fd681fae6cd7565d00cf8e53a760ead3f152a20494ca37581dd1531c82c592b66bd3f8d43a28baf0207e853504 +CT = 95817f47ae94913d2bb8cc40f1ba169ff996b305b34036c562c241912de95a42d63768d098724c15a989b16bd0a82499561196 +AAD = e86b953ac20f76c58a854269385d6222408577e54c1e642b2f3f88b067169980e727451544f17860ee6eb9024c2a000a +Tag = 07d852bba347acc3 +FAIL + +Count = 2 +Key = 377ff5c478744629c97f5613684a67f2 +IV = 567cdab8efcdbeb889ef9a1c04d33f7a7a5f9bc1a4b41ebfb5600f9a9f8bc86d6d8d1ed77de8bfc05bc0099f62aad4448dfc410383e246545221a756b74197c4dd3af7400c22eb38de770f7fe7068c3c190336d82f755fe6eed00c1ff989e531249cc133163639c8a9e8b8fdcaf7608fcda864066b04521aec6d22a1f3cfec16 +CT = 80ff730303f88c46ae6910224e06545d46818c23eea75a9d1f62a806b73acddb950844392e8ba1263a5fd854c5de23287f34d6 +AAD = dbf7696e0e3209501b09d8c6fecc6bf92c2d985adf231039a7edf371ef5742367bbe25cade82ea15240d84db4c9d9b81 +Tag = 882e25b491b027b8 +PT = 868b8ac3e886f95f40ee745c6963a21828ecca5b06b30918da1ae13dad5ca1b3a11197633584bc68065b280ea7b2af3919305d + +Count = 3 +Key = 6176a311998f5da6764acedd22ea93d0 +IV = 5ea5ceaa0154d54b47a93b92a3c4343a7513ccdb015ef52678623e8c2501a75fedeec660db544b933512a0ed438f09e5774921c2d5e552bc13384defefcce657e89719823ec937ad39fd508732eead2855f2ec06a1b44c72451ed63d2dd085700dfa0cc0dfd8b44061cca9bfad825aad3a8a36fb7e58c131d93b91b2090232e6 +CT = 5427b952bfb63cceac4106f66169101b2d105ebd52a536936f8f5f0e05a8828c422dc538c13cede135517cc95c9f3dbde55272 +AAD = cdae55cb8c16180d363ef73246e03e4da51570236dbf176ca85a9ecbb3b77be5f09c65a0e51e77336a76aec3ead7d2f2 +Tag = 172c49d8bdea5c13 +PT = 40c691028a26b956259a001d3d96ed9ec82d3b7a207ef2b7aab94833ebb48a508079d716fd4b666d5dddebd11a4bf57b1f15ae + +Count = 4 +Key = c3f5611d3665ee61025db8615b31ba2a +IV = e9ca21d9a2c2a128c1b1d6574d8077b19db10b1b29d42b88bbcb93123ac692d7c156c1a20bb1a437b17db11a593c5478f4953959ac183550b7ee4133bb385aa30a196146fc66ac425ee111b735f15e1d9f88befe6ee72105b3141d541e60cd43516c95a825139d4a8f758dc4ba844da8383ccd7604371a9db5c1d5590a45e18f +CT = ddd940df77245dfe9fec0dcce5a5e667c4dac3d3479f029e2309dccf40dafec3fba13bea73a19fc452cca58e8a227386a4f138 +AAD = d3a3c97f685ae5a71fa6c8337a75c164a5420af15885580621f93a036876e486ba46c3dd89809a75758a3689a32a1e07 +Tag = 3bd20c0085058766 +FAIL + +Count = 5 +Key = e16999c03de657ba44456e517393ee1c +IV = 6ccb95666f555506d4c2d210678a2a5505d1a5f7cedee420357dd57c4f9e69030ede3b84a1bb3c62149002b43e86330e07001a2aaad3e19888810bd29286902d2194f0afb09c1c307babdcdc04e6b0359e851cf8ad79dc9a5f32aab4f1fa746856b262db8a3da8b7ad9c67cdcdbb509fdbe0d13991bc922587fd1ea4c4ca22bb +CT = f9ef1ec9109c2563a9be9e6d2c931134755a9ca3b43e68b2b4ec3c2482318d511176adeff0095f39320f14b1057a5245bfe3bb +AAD = fdefc366905ba8063aa11e768455eb53d540111da87b74ea58c55331dd5b7a4a7fa34ce099c3f0382c23476bdcdea8d2 +Tag = 4f47ff0d2ed1471a +FAIL + +Count = 6 +Key = 8676fe60f5c2bd9ff910df405ec8dff3 +IV = b56b30be9a3cbb8141ec08214674547318bbd4a723034bf25e3715e130d6c6169c7825f00987d35b0a49f9465c893e0225b5a95fa5677daf9e232b37739461fed4f3c60bda0d153964376a49309d3bba72b3645ae996702e2b527163ed0ee3442c96458bc378927c4637df05e5b5880c4fb2dc5b8fbeae425c17cdb3cd1704ed +CT = 6ab95f0588f1feb3cc237ef0cd6e76b1b839251b6f627812e6f393209bd248974df7b49ff4e5e1885eafc7623fa78a86b00ad1 +AAD = 4953a25a951f3b236fd1c0d7cd021322cc50b603b12e4a00df90babb311d0498e3a5d88657967edb4f2621eaf85c54d2 +Tag = 95bc98953e508bcf +FAIL + +Count = 7 +Key = 9ff6305a853ed54731fa10f0e621c374 +IV = e2476537a44387d38109d3f833873641040447c214cc16e23eba43b1d62b24f9efd8001432be5ffe895ac845a3966fdf9b03c8c6cde2dd0289abb24030a68856c0be1b2f103a89c6e083c02cecd2db47923eeb4bd274ec8b262ffbc29d5bb15eced8e3d011b79d37591ee9ea731af88d36209b603ed3b31a9716423e06754a3c +CT = 2fc71fc15ff3759e852f1437c377b5aee967a124d1becb3458f8b6d95c7e8a117f213a88796599512aed958b53f7bcce9e2ec0 +AAD = 96e036359d1a2c7f143d225e76271861eee321622b8f52fa7df4f4ce53504dac6607e657e3bb658347ea4a1575dceda0 +Tag = b2e6ad55d4cd6cd9 +FAIL + +Count = 8 +Key = 29fedd767532f1a4d6a651ef65ec8a20 +IV = 71138aa96ddc92fd6c662fface6c16a8de87305431c44e9a7bf32dac0ea2434174e26aa6b4a85972cc9fec68a4f85c3f344f636bece3663f7f01cf3177bb3438a5a68795f34088312ecf345c46f0847a366c8a625506beaa1bd7624620ebf04da106d3693b0249c6e7b85fccbbd42216afc74e9d89322604a3f4862e564343c5 +CT = 45633f762c3b690c02528dd3949946ea5ba52fa839d003c421ed8f87b4d9515b8e0aa164ffb1ed929666d6c98ac9d2933cda58 +AAD = 29a5cc60b156d0b50a4b4f46e6501a892bc21bc9c3a5ee450bf06f35032595e5ee7368a05698e08682b4d2f1c1e3fadf +Tag = f07f3cab7081bac7 +PT = 274841adfd899943e5e0f0a898c19670e28d9f12d069202ea5de77ad37d0324c3f54f11fe50d7d2a9bf37bd7580b8d6724a369 + +Count = 9 +Key = 9c51ffe26d74c3f96ffee19a663110fc +IV = 4f6ff146b245f1554888c6f074ae48303c5f167d4bdb0e3b61809b7ed943c92ae13461967927fb01f6bff71ac1c1666496c96617227369891cbe4a2e169ab91eb657783137799ccd10a4f76be32d03acd1b440919986792ee0b0726857cf9c8d41723a7402570fbe010e7823f5b5d8936ffaa0c631a16f943c3d0347502b84a1 +CT = 2953be78d3c94ef1c4e2641d51fb382396c5008b05b7e65cdbef6e0a68519dd9f41f10aa650d3bbd1ec34de282154f53072f6b +AAD = 56b9dbd6705072cf91d0acb5a9fbcc483d21096d38089a7946a9f9beb5617cee4da91abb7e659f22cf320e5312377ac7 +Tag = 6f5f09f58c515cea +PT = 6c257ab112edb098ea388d400058b2ae9c5ed05cd7e1c866d93c3bc1a96fef9a52dbb44da25c53878edd7fc98763a0504e6f82 + +Count = 10 +Key = 6c683406284dc4b82395f597ade6eb02 +IV = 25b0046f21b239ade1a27f0c5290fadf8d8ed80d70677b6474d985194423693f84af1eba5e59528d06f805a5832ef283ae7b9e2e836bbfea62d056a2b1f6aacd7be92bac8e9b3ed6b52bbba0374eccbce2abe9c8842dce925fad9b242ef4f4376fe845921bc756b6716611c975cb023336d24c07877df6313a9f744238d878c3 +CT = a84fe2dbb048ed052b5d62503a9c5f1cb42eaa1a3f155cef740a9e4ded6250f549127928cad14e1663dcc54e2a1a740f207c06 +AAD = eb6ded42b28af33fc89fe55a10057b334d05e3d543f286dd5a3946a532b68dcd08a17063b9a2ee1a0ac7f35ab8605422 +Tag = 1b278eee29465aad +PT = a5112ff7d8127a5a345fc5d98f7e481becd38325f0b628de51a828412fa15e4ad463a5a6b242b55c2489661f14f1156b5ba3ec + +Count = 11 +Key = 0579f2e7d26277c955baf5502425ce50 +IV = 5598ed374fb2014e553369917e3a1013c995c250675f030bc958e838b5897660f20f2053eb96eae7589af094df803d36c978a80d75a6a1d366c4b57f0581479fc73d8314585a0c0cf943c20037ed8e072e9e25728dfc847be9b7742c4c4bfbae580d2cff7dd98f41ebc6a0ff4a90c467cbe352589b52747b18168608069e2b46 +CT = e4a2a0dab959bc0a10ca450ddd8fb70854a6125bcaf407052146d9ddff0c8ea1f48e5c39a4cb18229025ca76bfb15db0210f46 +AAD = 949a1eb175d236b6648d52d24033e2334c046383d6a4b137cb64009d403da3e854d2a603cc13bb3b3838b5ab8c9309f2 +Tag = bbc8d15a57722c5a +PT = b4c8aceaa5ecf1bde6b27f3f7975170630a00fb941fae5c4ca6c66161e4773087048143e49f86eeb15429d05809e57619073b0 + +Count = 12 +Key = 6d165363bf40ecc0b5565707d9e372f6 +IV = a45190546a481ee90457a1b01f099884b043241ef3d9e43afc6ab98a6a84927549678b59e5035485af79cc55a56a057d0fa9a51e6163dacbeb6f4ca5b28f23010c73517996b15e4fa43915d4a67473f8fe8eaeabe812dcaa48a4ffd70e6f8357a52eb4e4c70c61bd99fec26dd57ae83b8ec6cda7b3b6084d9dc56a37e80c47c3 +CT = e57acecdd0b8d772e303e34ea0c7bb75c46293a51fd953bb69c3fe8760b7cd78352915382017184a0bb644b9fb9e841b532c17 +AAD = 588133da1a3c7e12993b2db98b190379466d3106c508b98083b343143dd4324f0ca283725be8f0acb9fa7e1c03ef7f1b +Tag = ffe6d85a640f73f3 +FAIL + +Count = 13 +Key = 5fc520d9fbaadda84229cfa237f85f27 +IV = de9200e5a961ea20f49aaa486776089bdfa4d0391eff153b4a7c01a1b35579fa05785d28c71766e8cfbdc54c8fa7e4dc74364dcb7962475633333a745eca464d7c5af259a6edab8fce115fee1dd23bf754a9c0bb6b1b3a04203068ac4e8568fb5a6b5fd8960b961f3e4aae832aa19a698a50da9db3e4c8bd509410655fdc8f2e +CT = a80cf88566108c2b06586577380871d0bbf1fc513b8f8e5965b8470a24b5ceb24b9419ae724f1570994f715491b26e4a64222d +AAD = 8a621c4c1a63d18e4ed67c8ee960eac8f679eb589cdf1082f63dc8cb3752e7c33d842dd939a09393d76bcea396647e9e +Tag = e927d6c567aa0c2f +FAIL + +Count = 14 +Key = 38a88ce30f60ff3455aa1e713ebdbaee +IV = d94c5ce7bc4a7bb46265ba34a0bb5323e2a1860da4cd3319f635eca7097cd46d61bcfcb12dbc17a0c8ccb0efae56b18cdbc5f63dc578ebe1ae288b41b903cbf67dd1a97aa8772208bac60841b4a317e737aab912a17d6b551f8bda010b0d7f8c13cae68ad38558462bc385dbf6837d20dface79e88fe431c1b2361ce1aa96f50 +CT = 14c4240e49f45efe57bd7b8c286c01ae215d7f524e84f880982612c7274c5fa5c2c8e74858d7bbe60d5ab0487511d513290259 +AAD = 20dbb6133b2f1a96d7363fb273ea36c823aa623fae0b30fd1482701139c3081e89525c2d5b647280de64664df666f2a0 +Tag = e075bdcc96e8d93e +PT = 6fcf3e921d31708a16d3e97580196b7af268474ea38609973f1e10a9426d48d7b39d29acbfd4244a6dcd1bc8466788f4ac90ff + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 7285c087a6f625160f2df72cbf7b1a51 +IV = 51263c80153035b1a88387076018fb8b943efba905ecb9aec70c46e5aa9c7455e2df8a83fea324e168439ff6f47fa6b04af2f4900ee72b32158bff20476f9fcc0f3299e8a64450cf053e1290723a8ff028dfcab8548a2bdc096279f25f4736b92a530ef04eccb5f51868557806d7aa0c8c508e0d3877fc1ef66d10a7de441f71 +CT = 9206e7a0a69c1c26b9fbf98bd79961ecce013e0ea209183abfe10bf955e2cee5a4e3ab49447a363a5e4992bc879b032301164e +AAD = 822e5e886371efd2b039314fcda95be845b69291391d7369ec23385398679505c21ea133c497ff77fa01622f93286d57 +Tag = 7a87133a +FAIL + +Count = 1 +Key = 58467fed09795871500ecc0d616987fe +IV = 62e0bf79bcd046a342604c26ec969507ef87c4efb0219871a9812a4becf94f4213f94687fb866a8e14f2728776501ef9f869248cd5654e9935b6a5e4cca93669f7344f44bcf97875d52c18424e142d70884b3a391cbb117a4033eb3e01be6187b79ec64febd5ea7c0eb1c55c6bf4d96920012a566c6cd626cd056fb6885ef415 +CT = fbee62e9204a631e3965f06a9547fae404fcc6647ba046637697d7bb8d6ec04466a2714069f70fea3c7bc3a221ff968fc2a4fa +AAD = 495d3c6e2200b29bb24e61d905351d17398fc7a836a47b47f0105ef8812cc300e3357223cd46d5f8250b1637010296dd +Tag = f1d3bb9e +PT = 16be54fadc2085b861062de8079bf0d328ff5e10e5c35fa53962d4dc4183e837a6b6ab4f5b30a0f8a75a203303bb0966a3b35b + +Count = 2 +Key = d77051d820aef8e9930371e1655a65f4 +IV = b588d7d76506b662f4b615a221f7f25c9114bfa0eb9674514b1feb1d3b1ae298c35470610c57d650b6bd9dc477f954c9ec9293b70eb96bcde761430349f13773dfe6dc83031fe50100459ebfc3a7c199e7e2efc7c857294ac1dff008e555c584b6dece2c22e3f7b56fb3c6a5ab424e48f1017336642350d63d449e0a408b71dd +CT = 1795e898454135cd251bd15b3b155f69ef181f7cbccee60b23ba54c642c84c58b1dd5e93bdc4cab1e89d6b93be5ca784703d15 +AAD = 2a25dcb6474cd8af648ccbb846a23903b9f3c42c65de246989a3701d94cfd89c2fb352a93e00ad8b20d565a6af85e104 +Tag = 746f7b95 +PT = 1d6af754206d189a8c400861fddbdf55025ff5162908fc5db4a472b602620dbc74b041999bda389adc9ad99a8f3173fa919f7b + +Count = 3 +Key = edd71305bd52c90c415bb522dd2994ce +IV = d720527e0e6583bbdbc66bfc9a4f4a63657ebbbe1d6e3b8a75ffc43655f06928e9ddb687dd8a8da089f140ad46b8e232094a5b80b3bd52402d403bd3656bac95efda0eef4b6ec762770d2d995dbcb1f2e314b1275f11bf7a253e15fa1d74434af18764ef08f69a54604ed7855e15448bb6dbf3479edbf67fbbf50f4b0e1cbaa7 +CT = f6bd4a768182df4e860ebfa487e00b468d9a5b03ead8d826c5edb08488a073ed410f31c16b15a44997d61721773768878c1724 +AAD = 7e38c556736d45ea8f416f3bcb8f32736ed194714eea2ba926d2f1c7642c3cec089aaf1d5cd48fab97535a7505b3bfd0 +Tag = 2e2fcbac +PT = 97bebb63cf2f96560106cb3fcd24d1f57189451ac0f4a9763fc6bcb8252ff278f99bd1c10c9e6cf3886df90be6a0b605d28041 + +Count = 4 +Key = 841dc652559663ef341a9c59f8805803 +IV = 2bd7973ab71f1e5ef53414520ab040d0c6f7da81913056217e624531750e794daf429f4fa52a6b5e05e2e8a82223376ec796e1b909fbc1c040dd7c1d97675004e342ec6e81a7622cb4c2cfeb92b8bd64c1b113620bc1a17cda6b53b06c8c5c916bbf960d0154568374ef66b7b3e85c740e51686c0fe41044467978d33aed7a10 +CT = 5349cbd8943b351dfd960e1a7f2c1dba8e5ce8d1e52de8316c37ddd6ea0865e71683f6d31ad3b5ab005a2bfb991899205bee43 +AAD = 9a8babfacba274f9f49747b3979afa22c1039a4bcff0578e78067baabe3763531cb3e0e3ae9318ff4668bf9451b06f3b +Tag = f56314ec +FAIL + +Count = 5 +Key = 91562d7b7f327b6542874844386d2583 +IV = 9aec93497e70ee651786ea85969d8076d44ac7832a5df32703e120bd05d6eb61f736ecb1c32eee3a04ba771a6424873ebdd4eda030d52298a48cc50e32c7ef2bc38e1450753ef4210e6896f075209075387359f61c04c2b5bec6caeb158de5a3c1f2dac8dfeaa3429d39407c2ae478d4f5d2e1052991e3eb89c9e2b2f8cc38d2 +CT = e9111d730fd1bceab795f41c77a7dd908f3a9be9bdf01c8dd3c85103816630fab18f0bf0e1c5ec7ac8ec97595f9dd37cb9d7b9 +AAD = bbcfa77b86dc716d825efa546c22a8825e6122fa579657444bf2b43aac2063b8a1a355aaf64ac65c823c3fda856792f7 +Tag = 1ea0cf93 +FAIL + +Count = 6 +Key = e27b4771249eeb6b63b11c6f1c4f94cc +IV = 64d699fb22492262943f577b53d42db2208d156a89050ddbf28ce871a9c334cc946789eff707ac8a6e9686f88987b31f6f3ce86a042f0a6c6f29eb63a8dc60930efffb42a0db03f329af883fe53ddaa7f65fe265c3c697bfe6a7a1f02d9106c34bc663b6c078cf067a410b5c0b901f2252473924196edbc356bac752c445fca2 +CT = 01c70e885096ddb20bedf303b8d38490d53b147a960b561c9f355a5c5f0e6a67552add2fd23ff74c00d7e27fe87a9c2e469ff7 +AAD = 500827b9d30d9890e9d9582fa3429073264e44f239d68e3f3b5ca11f0d3b1b1342bb21431dae21afc245dd0433ebd480 +Tag = 3ab42e54 +PT = f4d10ff996694ca16dd06d68f03b554226dc2ce122f48935aa7fdb4dba3af942cfc97c8de13afe0913616af8f86265a8b32841 + +Count = 7 +Key = 62dcafe1a118711a33504b5633db2f42 +IV = 940ba9686d2903444674f632fcbad595e821fb592cc0ae1029a75416ede85ed7cacc689edbd5268bdcbe67bf6cc25617d51359f1b8e76005301b44eab64a7a033db436d69e386e448ce8b313ac2a94bf9f3b85e85a4ff6aa203584d627bd68560bb6536031a0f8e78483a1bf42ef2ec05902a898d6aff6036fe58b2235e0b42a +CT = 36d92c6be880fbf1e330c28b3fb41cfd8fe0af2a72d88c23d77cdc02315ecceeb1062a9da0f6b9fe4484822e4546cb829c8126 +AAD = 998c26f7ca575baddaff08a3f52564b0ab7e428ccb7d51b7598b3f3ff16582ad927a502da13de6153985a476e51e34b5 +Tag = 944fa347 +PT = 53cc9f0cb25b62f3b491c5cd57d9905809b022ef481d7108b90e87d2da412b58011679524b653b890f4e1ae1cead7642a494a3 + +Count = 8 +Key = 63bef271a9c06a96841a72e1a7249755 +IV = 8df391255157976ba161c41c0b3489cae65cc956149937cebca795bbedca86e49422cbdade9993ef403b7031b9a8186148f91546cf2e77f5575aabc02c999800a381aabeffed961ba62f8b2f552124a472fa84c39b70c4672b1a08718e322e87dbcea3b7d0e7f9def61697d38dc21ae2739b654ffc24d5e8cde6bfd74f42ef29 +CT = 5ee9edc671b3de7aa081b321bc51bca73d992f38d08d2dda0a104233cc595ec35ef1d11998e2f7520bb1dddce292e6d0631c7d +AAD = 0a738b024d021384d9cbd05cda64c67d6ec8dbcaaf7a03f3514e89bb40f53fb03154eb75e130b370adda203664947a6c +Tag = e259ab0b +FAIL + +Count = 9 +Key = c5e42e35281aecb24c3e5ec39910ba2e +IV = cd154789b2a47f176e806dd6d7056d2e50b1451a35a80bad7cc6b879eafe0b6192627897b91f07f62bb4c0b3c45082275309d98a19f4de299b6bd8cfa03e409ffcbd129ecc2dd973c9b4a2c66e7015316458f2701ad73ddb7f3b2db3b535236bd6814b845bbe6254b76f15aa00bc51168bc0a5a7042d3484dcb159accbda7055 +CT = d5354b143613dd9b238d7c849b5b30faaec0429b71bade8fa8790b9a141502db53259957d244dc7bc2f1e542161523832ed214 +AAD = 5b89c99833b53e65ec5d762b898a355b3866f67274f6216e26b259139496ceba100f097d559102bc9bb57b422e6b6fc3 +Tag = ca7e7b6e +PT = 159a38a8d66ee095dd7e77d2f6c29a9f2dac4022b4505ff685c4a4436fdd68e2ce2ce2b8db0b85257ccf9753eae480f1055679 + +Count = 10 +Key = 333cf25fb5f4b8d25c42a078b9f66757 +IV = 315e2f5864f8a8555dfc4ce0818b21bcfc4aa80e8c265f1aa4b235b96037fa5e17d2b46cf7571d5d7e21d649d091a6bf5d62e824e079e19326aa7bc0213e7e754e06c6b17d88a45edb75245aa7ce55e4085ed5baaff0e875c137183fc493935cc5ef957348f20eba224c20c80d40a08bba81b160851118c575c941033e4e0017 +CT = b97f24449bc07bc224227053c00fb4916414477a466bd0e317aa7963e4be441a69d7f758c9dc6ec7c6f2de4be9db0af86f6264 +AAD = 90ad26b65fb06695872315dd9d124e347a19113bc70205280e2765091f7eb9aae6efe3585a88aebfe6c804b3bfded155 +Tag = 4a3e5012 +PT = 79db8429fc325313b6b5346408a7b908307eec3db455ec9f206055857e821bd8e57cf36837ce9d79778e7718385f48344b9ad1 + +Count = 11 +Key = b0cb172cb2a48c5956756af1bc4b239f +IV = 2dd0cac55b084ded3be709b5dc33f67253e1d7579fb176f2e6d5c6c4c13383b166db2332bab30d227fb34664316adad896910c015c5c42755e5eaf31d0f4a8fa68cf30ca1251520b635183cc825f00324a48ecf0dedba8c43cc25a3605317d645bbe1bf4714108616af37430b0d1685d5c881b2527777fc9f590fa3d086f28b1 +CT = 3848fd9ec3ee8ebdb1ede9826d9e1e1f81b8002b3dcfa483c2bec03d701360392eb5581a78e45a851eeb84ecdb3a1b4675164c +AAD = b753a53c410e2eaa585e5ff339f771552a74c004c14c8766e96879059de507b7869a48e0dda4fb1f2ec7748e32bacc49 +Tag = 0673369b +FAIL + +Count = 12 +Key = 6305a574b24f90f6b291cdc1404991b3 +IV = 0873bedc7e16b9dea1293d7d46e4ab4581d7063a018342495e1365d9f432afa06430d0d2b7da47f282ac5eeb860cb3664fe9ca63db02acb2012f94c9f372f3c1bc2b6759516dc0542620ea0377aff3af3c82ee17fd2270270c08fdbaca07280838b6e831ba4e903dddf1d2397c9de5833921a5d29725efa76770aee1eb8129fe +CT = 12256c05274bec97a37aebc45161f0548d3951157e4bccbafc474dc2c46268d7150f06188918903e30ad659d48115b266945cc +AAD = ae5186b6cf9b0e2cc45fbbbff18908cd35423815f7fba506f998e79cca9a280c244aaa3a245cea063203593606af2fc9 +Tag = 37e4a5e4 +FAIL + +Count = 13 +Key = d88119cbe5714321c0a885861f637f3d +IV = fb2a900869084077a5fd2538c953aa01e39b56ecd4e5587939c91d90c94e8791462e828d841c1eb44c63f772df61e86d4c906dd9dbf4b9abfd50ec0fc4936c753ee72819af7aa781eb9be8a679be3b305adb07c24dbc1c08831787c72db0b86acd1abf4a225a507d9d0bb4a8af6cdfdb407e7dd31988ce3d034f7baf580099cd +CT = ccbaf4cbf7498cd2a35138f2ccacc908d92554e2b644d73cadcfaaf31f62cf26ef039c2fa3409ad30d3f01a81aaf1e9a98a2d0 +AAD = d100aaecc13e107a74f5036f5d158041e454828d16e6bbe1d3d38a1d5c5cf61b4e40d6236d1beb31dd6d050a3e489a59 +Tag = e3df32b5 +FAIL + +Count = 14 +Key = ef2329b772d3f8f65337501f233077c8 +IV = 069296ca1142113d585c0fd474a8a15e00f7104fd792a60f015b66a1395d54d5d88b3ea23137fa80b4a67fb03c47fd5ee1998a4df8562892bab367ea34ae8513a9f4f35554357307d30a46686f1420074c4acdc950bdf649717bbe8bc1b1affa42897dc1544ab0f83aa2946a0319f939c6f38c6ff8475984b52d0ee6f4702e8a +CT = 244da4eefdbac30ab66beebd39f93c6765eecdb5765b2cde0d215a627f65b20877f10fbf53c2460f6e594e68669f8598570466 +AAD = 919dfa5f39170d145a2f0ca2a3cde02079cabd648d3c7f35f1ec6374f94c824f073272e667eaa5ab6afbeb3afa759023 +Tag = 3bc76451 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = e9b0139be8b50b85dab4fc69186c520d +IV = 047fa684f5e40b795d77aa204eba377ea6150165298252c953f48f010b7735691fcba74e7d9614f5d77741213300790303be2894d936b2a92cd3cc61b0e9d06cac3ef999e0aecad451fb7eb41a4cdcc757fb756fe8846598b699aed8aa067ba01c8d8dae91d4d8414f73ff8311a3e5255facba2f28a2fa2cf3a5340a2f1bd2b7 +CT = b31815639dc0f31436cd86434edb3fb38a831a5defc961279f3a423ab88908cced42c7e7231f79eafaadd8602aa6ba262dd645 +AAD = 7307226192d65dd58d17a000dfe6ed31a3c3463d444799e85569e6d0a8375f739e279c1f3e138a2eec64808a4beaa8e4cf6757a4091f34b6619fb4220c6d95770a21bb46ad9a32799453d36012b293d96ccb990fecff7bf5d326 +Tag = 4912ca9aa5b64c28918a4873eafc4925 +FAIL + +Count = 1 +Key = bc4c6e73acaad3efa1ee296fd11bacf5 +IV = 451d09540aee27418bf5c5e50c09c4fa4175ba73c51381ba70bc9ef4bae6571d6d5a73dfb348449192f7e470adbe11967164aa9d786e241852d90867ad38dac02e314046d57846ac3d1eba25d9f2c15a6640b942a8eedb135241c96e05851709feace5432494c6da5b79346ca3ebf0daf7b1a3d7555722add362447538d2a708 +CT = f16ca460f87fd066482f08b5e97e6aaba3b26bc0f105c5e1fe7fe2eb6709fb4f2b435a3a3c7e8f8e9546c1150f0c517ef47e90 +AAD = 943c196e89253832d90531aaafb7f14bf79332b8b1537d98e7bec893c75f21707994d0289265132228d88c9ef4be167e2ede50b6761c793ba10ddafc736c3c9ca82c3e3d02b3bcf04fdf63335d49f773d3892aa879eed14c2ec7 +Tag = fb03752c5fab7379fcb7d92054700fa0 +FAIL + +Count = 2 +Key = 0691f5dca95589d3e41b9d97aeaf308a +IV = dc042e9f3fd042103b3083ce71347dea6619596259df9d12dd91c0bfa0fbd79f7217f7ee3325e6cceb7f120671838f59420655d867eda15cf9b6d3a265c59ba207b75a1292aa708cc820df7805e45d99b0f722cb1549451dd41849eac8ffae0775bd4b65a6304634cfe988415bc9176fe1b032a4dd62d0c823658f23321b15fa +CT = 6e8298afa44b360f71321174b178715521ff97c605eb8334348ef367809bcf2df225d21cbff3ca0180a6d9c238df2685319021 +AAD = 250c6f1d66c7f950eba535a393f245032a858238df40c4b50bd5a671685927669b2c34b7ededbded9962dd3c3c2415269fd5d1805fb2abbebfc4b1394b5dcad571d22be86ba88a19f3eb33aa326e5701f10c7bc13e54a438ff8a +Tag = d3c54c361363f9caefbf90f656423559 +FAIL + +Count = 3 +Key = fbfa99ad9aeeb3e5edf593a42acebabc +IV = b0fb8a76c33dd4361b091ea6470b22d77b7bc7ff9adbe5399896725f91fc34ff43609601b419429e02547fa1cb091ece5d12ca768431476a18907333bba3e8054474c942c33db420ac74e1ad362303e88708d983215031d7cb6bde2cc7ef9a44d9f7431dad0f8c69825b7ad955f2b1738aa227faf4e49ec46084550ef5b71ef1 +CT = 180ad08923602efcf18c1a15a6a9d0c8cf4c66932759754ea6ffeb9be2281a0db024973100f38e10416653d91501ad7db4a1bf +AAD = caa9b127d64326ec6001508aad7d06b9ffe0709a729ff474c05b42d9b9dcfe052c5b103304224b173d2433fb17d026a3e156f969b623d8224b23e444476d665fb0c27149ba09fdad84d0028376c6efcf0a5f6d3329b744ad68b6 +Tag = 6056a1782ab84dbcd19ca83d47e73233 +PT = a6c8bf3ad497af4242e92b3bf429820ea73da4dd3aff1dfcbe374b575ceb638d47b6d88860a4916011c50c95b48199cf49cda2 + +Count = 4 +Key = e544743714ef0eb3635b4705fd6c5a8d +IV = 6a111d8a55cc45e04dce77d50f9d049c7ca58c5d9642c90c2fa7c8488c585bc8e42a4aee7017ad6b09cfc29f395ceb874de574aa851726442405d282dd3f43465e1769de9c4dfbc99f521309dbfe7ba583b8e51b69dafd67d3f32f00fde88224b8a70807e49e7612118a646a6afc2f8504d59c771a0333c0c0006f75fbd5172d +CT = 38ff992f6a03fa9998259742db34706a959ca59d10056424db3ab649028229626ed9dc7476a632ecfa6a4a2bfee5827f3f4d61 +AAD = e0ed5dfb25f3379bce5709668aed0a6fc315ebedc63febdc45f3d1414cf164f7aa026ed339415a3495493716553a32b483a035892070a35c447b7410a26f94e16b4964a61f6d8c722b50c5c0426ef9a8e2104870aeb5da210c05 +Tag = c025d3a0414bc505eff8b68a9db0450a +PT = 5780ca9bf9cda4ee42e01d615a1629d244b24442e1e3b99af9a0448e8432bb36cc159436589c6d00d6be30f3ec857dcb1e07b6 + +Count = 5 +Key = 8f7eb7b696cb76f37609a935835db588 +IV = 1c87b5d056b0f550cd38a3349c4e11842a6d98a10242a79b6ecd6e42ba3424870d3357f535a0736462a23551c44f25281437c015d73e75b85a90bb921e6a4929bc00eb07d7b33e4d0c2cf4812e8aceea15e06b11498638c0940b5259714a089c00a3405ec748b286514f3800844f43fc2c8a16ae92c401fadef534b5b5fff202 +CT = 4823aafb5832557257da5332d9da5f587b6023ad29be882f5e5c375b7779eafbbe037c333ae099aa12e724de671f903e61fb0d +AAD = d71fb9c0e4343e34c733b6bbb7bc0ed8dfa847b1d2db33376c0003533ab8d9033bcfb2e15d2a170b5f301f6dac244165426490ea217109e8ba36ec473eae8d6e71064e9eeccf015f6c1b832c169650493b6347961fbd84c8d062 +Tag = b99370fc7b5891480496b4bca027368b +PT = 3620b936385b0b17fd6599f1cebd848e06b8c3b3f10f19bf41ca17e67cbe7e2dff16b6ef39e8929d94d8f2c0cb8a9994f6a94f + +Count = 6 +Key = 4d9c6a13044b8a85a6ee0e283a25f92e +IV = 79d70bab283b199b77d87966671adef7f5e32bdf8a6c7182142bac02bd3a824f19d1b8d372def80149784881bc286829ff0e8c62a8fd051137b903566d1f05aa6d33aca998ec48fd4d3ea7d3b5de20857206853ff6679b41991ef3f4e86d7ba297a5e260e2ce84574a58cb92408a099f27290d14a2397344846dd6c3c47bea3f +CT = 29230a010b69c468cfdaa5b13bcd23319bc5c8653996f80b605f00e3396875cff00037f71bee8f8aaa10a2b90afa47d775cbfb +AAD = d170babeb8abc4aaa85535f6bd18c2390a450dcc0fb9f042176098cb26ae865e189c11ca5ae8a39dde44945f3ced78fef29e7ad4c7105cf38a8d8b2ba8418b8551941aad543e45f1c6be15afbd96db605bf2cd435e224bceb3db +Tag = c5d6957d3e1ebfc578617569c26fe6d5 +FAIL + +Count = 7 +Key = 6b0a58004a93d965d2e1c3e5d330b2c6 +IV = 488635d264e888520bcc444d696310f46c5aed02f32015c0e3c83bd251dfe02a604aa818a99086dff7ef2bc01830c75e33528d6b3678a7da512009a101b7983e6b5dd11d35b76d77984700e0383f9a06adda9b99a90af99e32d34daecc419b4a081b14cced73aec26af9f6cc4a244271f2af0ee2c04d261923ffbc33055accac +CT = f18ad9a37191e75deb07999b33ccf8e1ecbb902ea6f3f76155df7376dfc42cbaa8772c51b2108671d241e51e49d238281dc87a +AAD = 95e7a2402b9ddde429f7d74e226974e4badf08ce4c60051d49428465865db3002fce4f1766291796eaf6e3e4996f1ac6c80c7e7b11d54d0f534c95d6db3f9cb0c37e12360e99cf768dfa39da487cde7a769b284af4e049806a31 +Tag = 77d9a2ace5f03102c297d71c4b7c3808 +FAIL + +Count = 8 +Key = dcd25a38b4d6b718511fa71afa8d4bf5 +IV = 78a2e493fda176678b4141bbea48782cf70dacf1aedb21a3b393dd59fa533a0a541fe0690668eac2e47b0107f59ac844bf400420854350579a389b0617b0f8f5bcb191a79e2d6c05aea055f0364037e2b4ef7b7c1ce9fac60e9f8d6d3b3d41a47217e7ca81a381f16ce8b4053b68d8cd8fd2244cf086ca2b0020256c07ff9577 +CT = 93a4b52319759f232f0b6d355e2027d843cfc56d25b73e900c462fce4446420721695431909ef37a4c1fc5964669a394ec20a4 +AAD = 8b9b734f391b5c788523b8ab3595f786a68b7de2e584297a66e33ce3c52aa55d9cc5f0b2f0e451596012bb3e69fd47e8b2dcae74b3edf7419865e5253202c6c57c72744983cf935c44b3e581c540e6d3a4fe59b45036b1db8f54 +Tag = d02ba96e8e0008392ca9a9203f1ca186 +PT = bead5efdf71bff03a4ca53477f161cf756021cee9ea3b112c7824ba33bc94517aecac3b75d8e54d7c08044c65b804a32ccec3a + +Count = 9 +Key = f16e84d6e5dcce30f4a0168836a5baa8 +IV = b6e430259aff664fac00eb7639922e8fd772a2e0ac93a2ef53c94a845b64fdf0eba62e85dc41dc7d63702bbd96ed0cafcbc800130200031d3e1e8c053be14c145141640c7cbc2c296412bf0ae5eeabdd996d475d66a24fdf5260b3f2303542954581228c801a968b7bc87caaf919253ebc6d7eb6d748931727002069b4f1219b +CT = 79d5cdf0e1945f64bbad8b5e98f759cecf64a66738963fbe9c2f8b917669a775d17dadfef81261aa57163af3961f773bc38681 +AAD = 4f235f37193b2bdf6b251e3fe3ccc1ccdbf1063a9442815801e4c6bdb1bb8bda8b4c1a1c15856bf258470d6fb82373ba5954ead4e675df7c3cb5b8161ffa161c2e9c0b06db38220b575a3b63b191a826bc1def8950ed0a1ad323 +Tag = 608096d0ba1fdb3d5711ea4c289813dc +PT = 277788e5c17573526f71db9eafa60cbd3a8c61f7f042374e0bd358346f7fb5fe3641812d94093f79f93ddc33aa7d6d6f86637e + +Count = 10 +Key = 2a13e67fd5948fd06d2e2788424f76c8 +IV = 03fb8fb0eb8c45e427d3b4c422116e4f948a4e7d99215c71949afc95a057f3c805b97fe04913b83958c37e034b951c6374e3e91cfc413400bee2b28922511c93ada94a2f731645709c88f707925694e3ac1581ae76566591f65d859d01258465c87671b72ee8861291734547d72cf8fc2de75fe440fb4300ff5ecd75d736abab +CT = b2494809edd273d883e3d15b153a5e1baf30d75f82253e4c0f2a41904a8b4e021278c407cd552d871a86caf2251b9e59ba61aa +AAD = 64cac5178574631d2e9c1f47efe2c55f4871571b28e977e93ce74fef285c741e75d1bfbd0f50b7968f8d163ece725274f4bbc8f78d35e7fd51cccee6faa36be115509466c15886a01388bbf794e1e6f06a6d87f5643592871649 +Tag = 8a9a5952b2523f8e8097ab32e8af966e +PT = 02f14d1f6c3cd628b0451e79a6256a8bb33d2daade659888b88b7183687defb174c2964c0a675134c4657f1e4f3321d373a147 + +Count = 11 +Key = eedce0c542cbd9a81e8c2df048d13934 +IV = fddca97991b47858f9fc46659a01c2cf790c0b04423fec8586e62f8c3be31c68e83c450e2cc49f8f5d421f34f0cad38d8865fc624316ebbcc35a58a3339a57638e1d9e045eab720b4e081eb0701c099578fc0f7c5b5f1d2f950eb89c2a8097703ca5775ad908e44a4993104aabcad1a77a04fd78c484c54e677d85470c3b19f8 +CT = 21cd322ed70ca49b39a2e3961be400ec49d2e09207eb535214a966646a1bd4c54007edf6df89638cb95c90061960a05049e8d6 +AAD = e28a89382c51b34cb56456ab7f3b563552155a8c38d9013130cb497460d63b90b4950b22ef0df4724f8fe883fc3090cb0f57232a829dd4b13857ceaca64c1f130c1429f42dad1d082fc0333acc970c84d3a14fd590dc69e64ea7 +Tag = 920fee3b7b9ddf8d2d65f21034bd9aad +PT = e378e5242f90d99c99c4dc364fe5b0b65309b5c9cdb515050ec3f8a422abab472c3aa81bface110c80a24d24892b7f820ed8b5 + +Count = 12 +Key = d8f9af3290ade75b2376c7c0c919760b +IV = 2d785733e349974f4aeebae06f24687f19077ecc83326c4ae8d249f24a647adfafd0db2d491aa2d8f893d62bb7c30c0957f38b6e399e0a4929cf4e0d4efe626b814ea5a4b28166f6fc2116af554458636a55d5769767b1fcb0708236faffb0f6219466780c2c849ada1fed2fbdef1eaf6f4ce675d26f467cf3c1257d614535a5 +CT = 19e44cad683087c8479dd31122dfee6607bac287d6aedbd94335ed188c05b90612c7104ea89e0440b69a26df0ba918e86da23d +AAD = dba3cdb7d8fa60436bc8bf8f6f529e5f01497f03503b6c545b12272176557dfdeb48c5450e0b9ceb6169d1f87c30b0619b503a70ad24846e128a9ad3fae72be8d6768fdffc186a7c550c1b53f8c21061e29de8d6263efb22734b +Tag = c6055fce2446595e5d8eda4ceb1be432 +FAIL + +Count = 13 +Key = f4268f374821ab4d5fa3660776e64042 +IV = 8916b6d97a331bbbd173f07f16dacc6cce9695fe59b6f042098abc182e12e2d276cb9f452b1ab640b0dee8a218e70a8a2339336afb4651c8fc7030fa22a65120d02ee6a81135ffcaa30ce36e161ab903495383b23cde00cc858ae4a3c2cf2025a859181072ca648bb6b337b7337b747fa22a8eca856bd1048dd92da0e4dd7e87 +CT = 40115137bd69da3998b50d968e174c203a7b5887f1ccf50670d3f3fcc304d9d98d53a4ae5a133e439be91f9889fd75033206e9 +AAD = eb38f5c05376c395ef56393ac814a412050ea690d791d0ddf6f1d50eb3e064664e6c73caf48652b34c99b87cc422e44a6d333faf52bb9e3d7942388e2ae67fc73bbde0ecab0edd5258e38fdb93c2c46b4e67861fc6cb5c4fa8a5 +Tag = a012804a165820355bc48d7aa84d9b14 +PT = 13d74f180762a95fb7dc35ad46c1fb84f9f0d551d4c14db2c09f978bc9830c84f80e77888a46daa5c714d47e82477220506c6b + +Count = 14 +Key = 02abc9c2bcebe4a89d16a7185a7a4f2e +IV = 49f2d74d9f85cc27f18b11e1f63f5e6313370795443ee0a681835481f2ae053936ff1996eb0a867947cada7a29e2e0774027768e3c1d2534195ca8d7280df3ed253defac6a6eadc7cc6099e81247e7b176b8345cc46a09931757b31d78fc0fe58b112b30def7cba078e1e77b74533dc938de126cb7753ca90f25d8e69147318b +CT = af1c41128d6762444e91b456f3c825d7f298744177ea9bde63709289d99bd949df5df50ae896f4fbeb47efa683389686509dd5 +AAD = 42ecdf9eae9836a4c181367ac856d8459846ea09888310b4750215e3b0647ae43d69f15d2fdf4db27e14ab362ad42ed4749d4400e827fc53b4384235c4469690fbfeda21ecd6f60bd8be7664a46231eb99de8d08ccdecd461867 +Tag = c7d26bc1cbf27fbf323b25e63a68ca1a +PT = 05856214b7f966b34f8eca6050fc7467834c209e51be01d1e5e5b714cffa1a6653befb9defdfc13238cffdde73e9f8d3295bc0 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 591243673d6d051e48c82cd867783e00 +IV = a238e80adb7a8398b55728f83f2212f1835da22e3edc68b3ef695062bd6bdfac265a119d20f4ad099b0c933b2f8eaf5fd464154b811723063559533a62b3b3d34794b46cfd77e398dc10e5851d12ad86b399c3b44a78bf9db54f6587e9ff7f9fb877db183021c9b62a82cd88b8b710b7c16da3a34e11550943b97185debd5488 +CT = 155a94dba797baf0f13582734a59481d550fc78cd745b3782ffee199e81e7f60f403e333187bf90d4c11b55efc018113689629 +AAD = 32a7776cbb97c67cebe9dd00faf8372e2f7f4ce79fc712fd785875e9e6ee2e06fd3094fe545bf711e51e1e60d3905454a1812ea95bd267baa05884743cfac67ab96838b306bc866719b82499a399ee9dd2c74800430981bc1401 +Tag = f546e22412cad575fde7d3b402a905 +FAIL + +Count = 1 +Key = c759cbf82006678d1a625ca9651ee8cd +IV = 59b0c73e7b7e6bdbaf46726df7550b964e875eaa6676eff2d6c2d8cd8b77b5e873ace33e831595c961c627fcdb070a675ee0a55f02372e60ec99b2ccf96884fb4cce62ec95c7222fb76f2d5e49fa5ec787cecefd8d136f32c2c601bfd9285c1f17e52ea5c59931b5647b88be0c48f79b0b8a6cdc3fe3a8606e7e9197a8092390 +CT = 159ae9b621fb72cfe65c7e0f174f9f69b4df67793989652a1d4d2d5a8bb40f75a9036742f4ed3790a66b2c4890691ae429ec47 +AAD = a7c1104567b26a6dfae374fb97fce02f4acd0a8b9176b92883be79e01236d22f170ebf6f4f103cb95abc829298859f95095a185a8b51b359f4f31ffd4e497ae37ecd4d832ea8f6373ae61e9bc90cd70486b88e63a5a55c0066d8 +Tag = e55ad4fe8540ca205cdbb0c8681423 +FAIL + +Count = 2 +Key = beb84722f55c70a006989680dc7215ec +IV = 6a958339f15f7203d2eb509452d0e4b1a7762467b3d776c0451e7c1bfbf0c002d298f4e7414a70eafc69affb2d43521918af25f4bc02c0a01c79b3605ca74962bc842636e6f1c03525781c64d0de8b0ecb1769869e96399f03a501f5d5fec6a314031692be64c70522acc9c97e40a48e581a74a259ab9ce85b675b2e86a59d47 +CT = 72f94e5ee3539a911ebbfe26b2c0a4ff30567a353312ee01074f2d3d7265ef54e2e63c6c53956cd5944160df069a6c090a49d0 +AAD = 471fabb91ee4ff89ebb2ce5140bd6eebcf7a2a924a8c877b61dfde30c672c06952b2dbf1d8798a211f41321c2a60150b475f103ea70b1c9458d75192ae5a0ef9a892c624bb9efa3c2b6a7a498fa18734c4e6fb6828262fe9545b +Tag = 7676f7468167602ce1d4bc79d46869 +PT = 2aa9d47f00f5481214ff92bc9a7212d0631d542cfaeeffb6567ea3033b940a5683ed01bee774ab48884af04bbc19f250e62adb + +Count = 3 +Key = 4ac2b713c3b97b6c005812bf1e4f1f05 +IV = 73f7df9410eb9b80c9218e12bbde2e9b4e6d22489c399b250154d9086d9420a38abfd6aee321cf9fe4359fd5a6e2a35e0cc19896acf02012c123075856540039fa8e2ccd286e75658931f2cfbea93eec2a773f7bb8805e502251bdd94e5bafe30f36cc12da7434f7ce6c11c01b50b5012eeaf89aee35c5b46b55e457f737d716 +CT = c8b2f338307770028ba198d608dc2274347d82608d5faa34ea84a17a205a1ecd4853e83c0a6d309f51dfeaca490fe2e1f96260 +AAD = 916577bf3531449df4ba4973994374fbd912417ed934c7e1741be55b0a6bd7dc25cbef598003819348c309090a21aaf6f0b8d999bcd7922c77fee7a459e2809436aca86f99b977a8c41fe01fb4b253ab33c7471fe318580d970c +Tag = 67aceed6873e931cc44817bd293f2d +FAIL + +Count = 4 +Key = ad117362fb9a960256b95531042af731 +IV = ac3a0647cd02a4bee8f5a205788046f2a0d4cc88c87c06378ce9a4971c97fabdb1f3696f3eefa92ecd3dd2b5ceba8b849eed8cba66b44df6ac03643838c05f232d346229d61de091e6dbb1d80ea8c7ff02cb77b7ad95f1c09d6a47a6426cc1ef167ac1b3576aa41ea72099ed4fd6750604faebdd50eb9caad168829a7f503d3e +CT = 41cd1f574dd686705b5862a0a0e9a17a7659f9bbed94d38b6cf023ddd2474a05312d6e912a855336da8a158f3bb9b888395b82 +AAD = 5fdeb7d0e1939a30146282f9dc7b70ab57d4cb47e0b7d65b6e765e66bf71eeaf129e9dc7dd987b7bcf5eb1fe80911eab6cc0c837ddc15c8d3c2ea4cf3a57392b96a11907e45bcd80084a476978622298aa89770b0def24709fb0 +Tag = cb2377430c7fed2a0a83d4324e7c28 +FAIL + +Count = 5 +Key = abd404329b8e6e8d7b1924030ae16ac3 +IV = 1e70fd7fcf788d560d5eea749e1041eeb3a6847e5b9e0e4cf8ddcf87299cb92b3dc82cbaedc4ddc694c1288732960477661c0de6da3efdbe53d1b03dac525267fd9a456462d993c570247c3abae09e764bc215f3e73792cc6de9f73bea5e7cda69e29a57dd6e4bd168d0e9aa14a6bfc1bcb174a360df49f257d3fe60b69301d0 +CT = 3e360ab8aaa861478cbea78d8db6f2a42c5d1b20ac3aebbfcf97fa685e0f409c9dda26d29d103e292e3660724858ee907d2bbb +AAD = 67834ba630e69d5e7d07af61cbb09b938fb4dc717a3980bcae181f9a3324c17b6067c72400d290c9fa6a2d45497fdd0552dcaf8aa501087f39cce02084f637c62b5f70adb156d60bbf04f2cbe419af93216fb0294570a2d4f866 +Tag = 834f6284412862ff29c9597ea37404 +FAIL + +Count = 6 +Key = 5a1c84f38dc940f0382ef1cf535478b6 +IV = aea7e84e192b3e128d0c7ebed5627c5b2e826eed1a40daf0e41695f199080034ee731ca1daa87696f1f7fbecb400f82998e5de2d14a51c4769cbd2f3ca36ca0e9a02b92a9d6c495aca5bf0ce0b1e5b9b642e60ad34a8e9ca32037b0b33a4c212766ecc55f54d2627c6d9e874b107f7aa7e73024a68fda44f0ae9715c69f9f776 +CT = 5a1e742db5cc50ee53f96800b0a8549d7d8e87e7f136a79cec46c63fed21b997ce2645964c06dc16e4f800624849706b309bce +AAD = b50d4fba17a5f45d859864c2d7b061df05fb77e5195e098836e8aafe09c692df644a64cd4de39413f4c77cc0e93a6fcbcb0a9279d14012923bb81e45c154991d0dbeb3b879eda5874eeb4ac98cd4b9ab35198fab6fe85b3692e3 +Tag = 2d9d480b530d70d2461646867b10ae +PT = cf5e993edcc6af175e1c1472a87f9659943f4f80d8694af29ecef063f1ab3cc8e3a74d2a91cbc3f0bb3dd4e5456ef24dd9542d + +Count = 7 +Key = df18e24cbaf48b6948d0a2f6fd11d918 +IV = 6850bafc767d7b32ebc20ea639722df3b9571bfa9081ed5a3ec7fae48f8a222887d55b69723291fcee1d70e12e28d829bc4440316e6642de84e9adf4a029c62794d5bd4da479eaf0db36645a39373e21fab361c392a1223ba2202ebbb2dcf9cbfeb8c41f18c05d5a992efcc17a1aa55885c56afbe37e2b28e2ddf862f15fae60 +CT = 336302cca92e85efcbc1908ba918b680d20ea9864c05cb3b808b2d8d706bc6b57a2e47f3ab70116b7ff0a48f07227b508c95b1 +AAD = 6433a2d59761325a7ae6f7c018b0a3865d51643630787754c84886597a2ee25c12bee5ae4fe45c3fce958a71ac2a6f4268ad462bf489cbcfc924e79d6bb9aa4dd69adf091d8bb309c27a4359d54f31653cf8974cd1d00d8b2224 +Tag = ff71ba5bd1acffe0ecb1e940c5a8aa +PT = 77480e46b4f8f42645d43eb656a5cded6a804fb330593a14a84e444b15cbf6e1bd8855de5d94b271c001ee40a7b0a6e2e6cb97 + +Count = 8 +Key = 555b24b706c27d7904d1e62d52f126b0 +IV = 6bd77ad73dbdf3c22f89cc18ed32ec3b351403c9bcc05603e2999c644aa12780b613a784c10fd1c9b68798d3d9b2069c3e50ea94cf17638f3d7038c667883134d4f9aa12d6b645b930bc17243c34199a43cb43900cdfeb95cc474a846ba02e76e004a6811875c5fec4b7639482fe758ca6cc533da4d8b939031d320f699fc0db +CT = 94d144f903f81c2d4c57261985d395650c307ff337dc3cba7d3f9216469e97d13e3055944b2631e9da41f79d4571e890eb39a7 +AAD = bde1b73cafcd91e2793f11bdcebcbf96908454e9080df89adcda68155b1bafd8e0257d5f97389e4361d999991d3ada0e2c8e2600f066f45c4cb3aa553fca6adb3527f3e51b3f74a62c5f57f674fb6baeef0ab835a88b4110708b +Tag = 0f41bfcc98cef0508fd78897d66449 +PT = 53dfe91726503d89f84b7ecd86d073a97699742f21e82a32970933dd51e177583996898f7d02018a1f5622f7e703d4387102de + +Count = 9 +Key = 7ef06f35d2e2bdf79c9634b642dd8c5b +IV = 4928944cc3082bab827db491e34574780c55d3107e8a7b21433b169def3b6687657a9a615d3a96c9719725a36b5306a9f66077317cf6f0a0f1469c264ac62de796fdd64e28e21e3a2777b96ff618b27dc347bec60be9a4754320dabbc933c029b387ede2f4428053741e93ac49e92c214c04c85b11d25708e00254ac367407ed +CT = 21207291da40febda3d3d081683ab10bfbfb1e7fb8881e6f6b752cec9374f1a4627386f045244ab031c905cc7fc6c64165e168 +AAD = 20dfa00ce8f8fc2c8888eb1bef60c34d19775a8ebff9a20a5c280bd7657434f690ac556ce606d739403e7e319c5a127431b42d68b4db59d4629644c26c7b7dd1f60de356c13d3a53f4fecc2b37203abd079b482bd329570453f7 +Tag = 1f52e2f28158039f2ead708c732018 +FAIL + +Count = 10 +Key = 4f1460a8f3f6edcac072d0647e0552f5 +IV = 8f56b1ba4b5c179cf168476aad4fb1fa6ccb6cfcf8f27fd25ea28b6556f7f056774a0d9f46039c8345cc89b3ef1d7090ca6ce3900a82e52d7fb2e434ee38d87f5482d02b396b69af8326967dd6a34d356aba7f61384b6a1f7b0a4be72c0fee4ab6b924e9169679c898942007e39271b16693cc9d90fd395bf6b0a1b72b477cc5 +CT = b505086f2b61eb3aa7da9feba1b6e27822be61fdf37059746f2948b2aee65f5d5999e50fa1ab8257c9eab2cc5615678a9bc06b +AAD = 8bd2dd4b8728f445e8bf462299a237091b826c42f4e79e6e04bfad727f99c9eb4bdfa5e9447e2ddf670a70514deb955c7e06a580d35cfe53d733fc0bb0263951c8ea6c0a7f72c2b38f09db7577ffc82331e7b970baef32df2735 +Tag = bb269d53d6f91278888722af40ee1f +FAIL + +Count = 11 +Key = c22e7eeaf52074c2d69e9d1b0cef5f13 +IV = 187561abb75c864e9d8f5378abcca4c812c49d6ea04574fc55a90960d59465d3e6f3ca12704b14e10b1f7c1039d77bd4a6308e6e7b961dd15b9c84885bdd7c00232abe66580baf8a9bb191f368d2b6d59ab5b55065b6999abba068c2cbcd603d75fa157be7c8f07373ef3b57e5f66387e052c8d2dfe836a74025fac9a5fee506 +CT = e47d42457fa960a1deae4ca56f1241481b040da7560e9e290bafcb2ac556183a887ecac63367ebf950922e63a04c380d7c2804 +AAD = 9d64111d313cc00fb8e1c7c95795df88734ce2cd0db88b7acef7ab2ae96432a92c55e992afb9b207fd13bc21cd6078d50c7d755ba9ec199fb686b6d13bd75df8ccada1c5ada00cd54d8ef5f8f2a76d6d58d61689bec2997c6f47 +Tag = 84e783a65d3269c61a6d1308802104 +FAIL + +Count = 12 +Key = fe6ce192df3f90f4a99e584eaaa54914 +IV = fedb919a39c3476c36ee894d9c5b548c28f25e02603059aa5cca865ccf7a03971e159530c0306f523b73d34569628ec7d8bf985dbfe0cd1547731082561dbbee642997703ac27479fced3137da6b33ec70993118a0dde9305504683ab582d8309a08d9a687d33a137f897b9e63860005346830c32ab5d91983f5bd2ed8208fc6 +CT = 256cc8559d51fe325cc81c9cad2cdd565751f913b003a7b4850feca8c582394a5f6ac7161e8d1c62a0bc981a00ad5b7d5cfd48 +AAD = 33618edaffa2514c2cf6876dac58cff65c8cf859e384339208b2bc81dd6bc162c566004468b924720d774b1f474e60febcefb6f94068a1cca129f734d85020e7360d1c0d5d6ca212e17312110d3d1ac8bfc67bfa53bb020a2f0f +Tag = e437e603d4bb1719f189752806d31e +PT = b8b71027bc96ca73d965232951c095f7c0db412fb21b166ace2b0af3a2aabae527b9fef46ac542e27b5e21d8299bcaac7b4611 + +Count = 13 +Key = 7b0893f6cb18e65669bcfa4886d23e00 +IV = a4011c47265ebc57e188833cbbcc6c271bc9630b0f9d6478103ac8a78e832fef385e558dca9c39dab06d3bbb4b3070d31056884f9b819376f51e851a5837faddeda7c4d161cc44b6e1c2f3365f75e94a32bd438e96061a22cc26f424ee217c52abbe1906448feb99a16b32f1e08ccef6cb8afd80f23298c0a31b018e2bb561a9 +CT = 249d854119c1e2c612dae01cb55e111f77c7e2cb0301eea22e3bd08177f96d6d235fef398df6947d5e6267031e6f8606b543b1 +AAD = a40911c8ddd77bdf5f1acbabcd18ab6201fc962c52c87b8ee25dec6a0a80a579d977d916ebc38b37a8a6fe83f9fb8f0878d76238062403a8461fa99c20cd91ef398da624efb66c457cc030357c5a685a79f8e396b42fbf05acdf +Tag = 91b8e2b999feab43b036065b374a56 +PT = 34956fed902d488c259281483c857e5854a9d3087bb50dedeba242a039922f204a2cedc443f4634259c47c0ef4211c4b2e27b7 + +Count = 14 +Key = 52788e259ddc0430868db185b15b27d9 +IV = 5cf6a6fabf681691b5553a2c8c45ebd32752679c65e00360e23bb894a317fcdc6d9725840f12dfe4d5203b4cf5c377a5761000950fd7f7d2d56c70481955b4850c57055ae023a25f5e985afd36ef00b5ca387af2e8047c2aec1d80a177ff0697cc61510d9e41378d6433158dcc579026b804e4d9eaf7b20056562618d7dcd12b +CT = 802467d7c5b398ac958d10a2bd6745b8a38f041c272deeb4b87c501557b7435f3f6a2689ae14c2bbc49bb98ce34aef0fe4273d +AAD = b792796a5844232986dd424eb46556b7eedcf484b60ecb4fd78e42aa85925ad78d2b1c8a300eb25085f56ed4836a8d8afe0ab374c842cd34809b4aaebc5cbb47fc98f3e55b0f53a20297814f8f134ba7360a8d203f9616bd6cb6 +Tag = 865e959ed485a368258e432aee6bb7 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = bfdf7d372b7cdd5ffde4c702f9696414 +IV = 0216ff97ad369072b0c48b6094a8b01f2b5698efe7291aa469de57b2da364ae63983c8d3b6128f889417493b624e010c6ab48b6cbd7b2caf1265f07b582330eb7a75c4530d1b3cadb058f4d7784e94e66add18d4eb26085bad7e72a6d63ffd04b928bf7d1c09999f692110dc7101e508a02113d39be0e52bda882afd09b746d5 +CT = fb5b84d3c53e3133dcce75c92cd57bccaca71dd28ebf93c8699697e1eb112a20a5a7e9dd02e9042207092900508617fb3cc84c +AAD = 42473bbf953f43f3258a34efc1a6249f586e3459517f3fdedc373d61ce6a5d145559440f3ae1d266a61bdc0abd74816bbd5d194777ea0b7df6ae990133643afe1980fee2b767346055769a332d5d3c6b8564640445f2c3188415 +Tag = c25bfb574e520df6fcf90dd79825 +FAIL + +Count = 1 +Key = 42cb9c2c1a610996926044376aa428cb +IV = f8450130394197f7ab5e578a1c3d0aa5f1fa8405b1097412e56fc6860cd49ec8054cee850ccd20e45092d9502b514a9842e330d0df2f66097e942bd3f5246dfd628f314070de469d17c179f5e39fd0e2f51267cc50f802fa9825f9e908fd219df91b4c9da621206fd4e2518a9b39d78eccfe2c7ada425edc539e8f55d291a6b0 +CT = 26292ac629112060761a47da96f5c518e39583869fa11dffabe66253f65c6bb75a7a3775c18e06ff38e1b01d39afc423514861 +AAD = 74f1d372fd517cab623a923361403880e6b91dabab71232cfa88cd72f6a81dd239c39e5cc69e4b1505b8d25762afe3834558eebf24b24d557ae6f2ca669c725951bfbba8b598818ba89600d9da28b9592321efa2494ef220a677 +Tag = 081e9045dd4f7dd10aac4fe671bd +PT = 2cea5094ed494c9df5b62cafc18f8d6b7a8b65df3d72220ad30ddd7a69f7519b61018cde4fd4fab70ea3529f6c1b8e3d43d300 + +Count = 2 +Key = ba846ddb749da4b5e2053c75aacfaafc +IV = 30bfee7268554fcb49062c9be5f6ebb00342995c078652858e460031f251c70cb79f199edc93c00e1f22ad7c322d7c648e353a8334aeb8ab330f7756b8568cfd50e0b33e35ee841a916f0fe544b72e7bf6e7c5964a3e8e5a1051a59a9abfd77fcad394e85d6432d50fc2eb497e931f4513db1a5d7dcccf079156c1bd0c0900f9 +CT = 13e1dcefb2c614aba7080bcdf54fdc5c7de4d66908293c361d39ca0fb67cf51dc2c8c1003db1ad9318e0f29dc0b227ea2591b7 +AAD = 90637c3a52ca54a0e0b08086b480664610e1c9482dc994a679903693c821d31f3103bf396b6ed7198eb47122c12965cd968e365151b3fc3caa78c35c797fe90b73cca5fc01254e4e484f66c49342fc8a782b38db51bc1055960a +Tag = 61c677a7c7d9330a2a741344f2e3 +PT = 8bb5bc0b317318db00ae26e3a420f6abf2bc70ae6f136fb0caba2d9a89660600a2937410b35e16fe09a991262db82a160f3ed4 + +Count = 3 +Key = 7963a9d58c6688f453017a527e62e915 +IV = f8839d3adddaef874acde1e3d1fc3c07a277bd3a1f74b696b2377b0198d08855a9e27e8c9aec3367fb78c7ddd3da3eaae1f94a4b8fdceb3070a48580a16f6b3e143d147969dcb26b38899b2f4dc588d0f83ee783715963fc2c8e0290c629cb3ca54c21b00851b40fe629cd371a74788ce2fec36deda4d981a35a0e2cf39f456d +CT = 342c83ea37be28e314014487388a03e7409b6592b7d9979e35273c53d816a8e90c4a84b63ffa60d810e843658761803c0466da +AAD = 22e8cc858ba7013385bb01ce1d838af08a585bcbd0045fd7b2923f4195401fd17ca287b049e322db9d129bdc32fcc859a180bcb938d1beb7a06afb044e51580ddb281f28d78d92e2dd831819dfd20a32751d14eb54383f3c31f7 +Tag = b760477e839d1c03871952b3d9b1 +PT = 2981a3f4a66a8a65d179de68c5514cd3416b7633a56566372a057c35c9540318e6a7c30c6d9e3821938813f9c4c399586dbf4e + +Count = 4 +Key = 795ad610f0effa8d08989f03263fc178 +IV = afb2a9545eb5c487adf5778b070437b4774503cda4041620716a8e9af5d85ab45e8d83914c478bfe6bb3ba798c4c690954837b57f22d2197074a894e8eaf13c8854cc45e88f2e4d6b4e11d3168a6e07f0d993108b05f51904cc7448a561ba079ea81354f79764334581a9bc9134531d1116982da9b02a011a856a53b5a7c7f33 +CT = 20a6ec6fc3d83caa1000857f1e86704207699ea7f8905ddc6744eb49688d68547cd9e21e5abdd2e59c8e23fb910690fb5bb154 +AAD = e50ac90df69e62e7fcba654c22f9efedc71f2293bdab6fcd50d52f680dced6ce42a1375477cb6961175229532c69e246280a4d9cf614b9719408fca9cd57db4a1070bd3c599b39f524faecb1756d898b784d3356a3f9499c87b5 +Tag = d76b12c7067a03a65ac93ad90f02 +FAIL + +Count = 5 +Key = 8ebdf0ae82faefe305135467e6e3fbea +IV = 1e4522b61c9de4ed9482771d11f9415a670d4f0f2c82559a2792617c0e831830121ac87d7007f5b0f94af8fa6aef3a9178adb2a036ed5ae0e4ab38297773e75c3fdcf525598b86f75d7953a4f57d91a0f5698026924e079d4f182330555db6ebd62e045ef35212857dba9c93b2bbefc075100486f112c649cfb356d1bf2e784c +CT = 0cfbe3bdac213f9a32d842e026b72ed29252a1ec2a4509a57506fdd82f3012bcb9e8d5517801e5c3b9ba0486e61e2e05060741 +AAD = a56c717459321893c37470203ba260cacdf0948b02992ed26d9990f0e75cd50787e2651ed81ff5f92928bdb7685f537488349f991814c1843f456dfd12fbcb04f0f29c216dd790899317a3e1cfc844a8f5d68f4e8425f859d0f4 +Tag = c22bb229ff258f5939c32c181986 +PT = 43ec468cde304446fde9c8cd8685e107df62087f7361e55ea49a6d31352e413e912eaa6268678dc3a60f62288144b142a86335 + +Count = 6 +Key = 6b2b1526fecb4b2faf4d4f7fa05e3d0b +IV = 23d8e9fedf67ff16f653114feb0feba9aa6b2a416a3faa10146d4c6d87d15e84a02dcf6d0b12cf5158d5c54bfd630b3d145bd64b5f7cbaf49c4f1a83fab84ab1e5f520c66a88ef2e6ab78dcb7eda08bd61c5a0d82cbb9aae193dd4914b51be3fd043eeabaecfb73f171507d1b1fb89a61c800db2b76f718b1a8dc41cd6344cf6 +CT = 54956d155427f442cd2fa483c0f1a18fd09241ed49af1b031d6d835e547ab935f04ae6b8897719b98b10eff2d58c79d23dd468 +AAD = b0769f0667cbd802ca4c858c54027863ecddd269770812ac1b03b638137279239f27853aac38692657e5922614a66f6f9c9107a9d5635171361368d3ab544b4cc709a40f0cae8a305432a98ec69b588663a65faf3e0380324fe0 +Tag = a2e2ac9f35e051a2e3ce4f0a4a12 +PT = 993f7b30e4ea033cfeb3ae586062449c353c9b818fade973bf4639aea4e6eab0e5f9945d324d5be4e3c48db592923ab481f242 + +Count = 7 +Key = cdc11baf50b89ef37f2648402008a1bc +IV = 5e5cb94c2acb401bc49abfeb2c8485be8aef3030abc5fc3b70df1d64c535fbc7633f341077b645ad059568cdd941778d9bf4bad79414f98110c95658c879f8db320ec51f623683926586669190d3343610fad14d0998296d8402fe486e37a5ecc5b5a7a71262df567836dfc079017dcde62f1c43773251f2742501bf407929a5 +CT = 748084f5dd59f3610a8506cf583b98418f14e22ac1e78e3849ac647e4acfe3a9207c554bd2a40d3448983ce381faf71a9c88b3 +AAD = 6ed5c7a5cc17ee1c5906d20338c730850c1bead84076383067abb003440e9b9210413ea15bf028a37c24ae6deffb3236e229399cb12622c326cffc17bb30c788026fed87b1ba8850a9c77588de893401f4625452291b4476c895 +Tag = 1a778ffec1ce0b04341752b301b2 +FAIL + +Count = 8 +Key = 969365b0a0d33396b99b66a6f52a197f +IV = 4a834c42550b4a78452310e94c76196a3e659b989b5803ddad9ed38254e5da7f2d55598aa0f2a66f513455e95d3ece157d0446d24776584138d40bd95b4843c356a6a9a5166772b7d979f775c2369da43902823207dfadf846edc357b03e89d97ea2175faa5c5465392ec850d9325f2b385d04a82db5a81069c6bddc75e60646 +CT = 05bb656a08185eb28289b488e878e96b0b6b597d8585dd9bf2792ad9432e240bc4272da8c16f75c736c30e0e140a93f67d900c +AAD = 127bed0cd4523ab2c3e9d70ecadb2f3f8b55d94a97c1df29322cb4a15a0910ddfcc16a2200849ba4d24ace3db69c3dccb1a3202b10089fd7b96d34e2288ba940dec16a73e6e4490fcf2d0df1c0787cfea6e5bb606d2b80d99e09 +Tag = 2d476f6007cd2212d0b0003dad4b +PT = 9a4e442efcb38b5150413bc12812ef0c7c70518a25956240c27b72c8e8e31461fd1c8c03d526df2e9fd26ee211f0b52636ec6a + +Count = 9 +Key = 0c3efc05cca08b0624d66afeff9042fb +IV = 243cda2c7754d36157afa99c4e10e59abb6c6d37e5399d54a73d49feac36950a4f6fd802c0956a08533331aca4c3cba226eac06395c08598375d4f18f844115b117c55672c0768f6704acdfba51f0159a9f11d5532e7f80d2a7222d06d17fd7b0d707b28bf8de3f348c76afc3b5bef3c80b20ce31358fcb7b2a5c82654118430 +CT = 7d2398b0af014b5f6145b90f9316ead5d940c2b9e9fb049c3df19887937dd60edd8f72b65e2363b797f643472e7c3d7f22e378 +AAD = fb7a061f0ab59414aa6b50f3eeeb20e262369e23041946f31a365f7dfc39793e849013f338563d9225a8b8201845f4f8e612473c57694d4b6cf481e05d6fd796cc5d26b765b8e7a7d3f869887ed93b8d9c046882455b32fad396 +Tag = d6c4e2050724d9a6efe7cf89cb87 +FAIL + +Count = 10 +Key = 555657586631b93611731f6f460bf653 +IV = b52abf4745749c0b3418e0a338b0b6298390a4987f73ebd38fcbe4ffeb6ff950b96a6ab1969bfa6bd5d6133107b0f587cbc6130e0744b4a8a4b86f73349e2edb57659d2a9a24451b0a1beb74813de188436c16dc2cba39d2257e56f59c897f194c5551f98d035b1ff76cf7a0e12ca903e083f3df2334f384f8936c88491eec64 +CT = 3d25625ef16e52c97b07f6752e39b30945ac7ca915eaa6ca2a9ce3ac6b1685dd07198469610b1a2fed1d17d3fcb4262b6bd242 +AAD = 95fe346fa9bb4cb29f98c549fd52c57757fc7c08c1a36698d822bd5eb019871b8c603dd24202ed0b49bdff5f06b5c51acb7dc3c093b0939eae82bc2a7d4c2a3c4f4d1b2834c5e0122aa7d0a24064fcc822796ef29d916cf6de5b +Tag = 4c01a58c901ca27bc5afebfe5457 +FAIL + +Count = 11 +Key = 1aad74a72a6ce045edefde1c5ac41f77 +IV = e821050faa1ea38f1ccfd3908a5c945542e7c8dfe30c18edebc2bf375e8007d6333861209a2a80736f5e067cd8e4d59f743949b5d475748341c7e36c73ce389cb9a4004f6cac7194d18c4d1597d3a3ce9914779a0ac9298c7add4030d0479a2133fc78b1a85d0e71b7c7c68f22abaf7b81a615e7b4519432a7a3e96c1ec1c46b +CT = 36c94358bc6d1558b046de07919d5389f805d2d311dcf3d51e97c01a94842cee98dff7c565d391776a7798b09540641d3491ef +AAD = 1837c9534e943233b4a5d242cb2f5e258d5b4745f85c9b96cb9d10ca510ec4521b9b8a8273046a4a4823e596e56c22bb314971db1c525e5f55f24f932da632f12e937ed5ceeac885595187b9aa0cfb719158aaba4a22b0e08afa +Tag = 3d16ec4fe80ba137a97bbb084d99 +PT = e71724cbd4e26ead2a87e0683a21560b3728bd2af60651aea59758951ac4bbcd2191d1354f3920e2a153abffe42508b4e24b0b + +Count = 12 +Key = 6141b6e3f68b8f69f2ef976b306202df +IV = 47e3fa0a71351e9dad840e77af4855eda7e5937a5dcddf102d5f55846468e433ac38b55affe79d3547f4a1186271f20cc62d9851c76c7a58260dcc3d333313811b80eb6fd549388be9f0284888be545c1478aa58e94d577a2bb01600fbcf57daf537f2c6b469e0c49dbe81d6c558c23dc2237c159264169646a6cb6675a368a9 +CT = 1cc7c0ea1e0874d7728aa4798684d87fab025e32625835d257eac4b6ef65d438460b997796d1e093021402098b20ea38881bf0 +AAD = 133192b3ec4490ab64dc3737f361b9e05b8df4db5c52039f932b2864d9fe84905fda828fb68363a2d6200d5fee740c8e562b3b506ddf8279533046f6081b0f67e8ce9d200bb238df15d1becc8809936f2cf6d97fea4f98ea12c3 +Tag = 64829d2ff057501d11c9401e7016 +FAIL + +Count = 13 +Key = 5fa10c12fa4a1148296981f2e188eeaa +IV = 8b92c7accf30bb870ce0cd46cde589eb6deb0435415ecd1f3b728221b155427fbdba489223de1f643755f5350c98a789ba9d4312c62df476036d4bb0fc431f46a4f6a84d3fdf204ae301db90a7893cf8fa79cbfd173fc132a8d6e5a6eec12bc3c1632f792471560bd7c498f9d654929e444f9bab2c4965e923bcd9698440d189 +CT = bfe9166f0d23740b9443dc65a37f4395f0686a33500f483f51ffc771900b8eabc18f810a6d0402e1728defd2946ac489a8ff34 +AAD = 89d377ea24fc5d3f500aebc9257aa0a5c824db11e3ef11992dd7a5b7f67524b09d6667d850bc3c680d519e71ede40a1d137e57f13cd5d5430cb8ab01f79ea33489f6fd3c4298a6c8162c5f90d446fbacd9e01be34fdfd28146b6 +Tag = 142bdca2cfe3cd8c185b0a76d22a +PT = 4cd82eeb01136d0a1a4aefa7cc2d3f88dc8b2553fe9b62e54ce5aff83fb06171d4058cd9d34e4417887f7e558b9c98ab439b41 + +Count = 14 +Key = 57ddeb36bb55036e02c3dfa34d546c11 +IV = 0ea094061a96a892d84be57fdce86eecde1dc80fbd540a961aabec3bda672083180a05baf000401f0ed083324c7b83e5b651f54883af1c1e7fd7f1e569817c8d68d5ce35d76712026bce1acde0fc49851e679d2f4fc039204977a1a1c54d9f3c139282a265e77bf1e26f32d44d2f20242ff973a4531a915c64be01d2d65e8d55 +CT = 1ab370097837b21313dec2a8181555f56970ce7d461f04a76d2299da61ec5dae34526e02770253404da3010de938af7ebadce3 +AAD = c25e1ede8586a2cf71378061748974fec4f794dafc381ab5523ca7e1bf99502d8eb0de6581500fe413648e5dbaaecd943b9844b759bb7fdd3482521a1c42c61b735c584e1b94e2c517c32731cc7ddb64d8f8c555cf75d6d49167 +Tag = 850404d3bc38790fe210a5465ff9 +PT = edce8d4127625945054d1849e2a3db6e93a87305a71a0818288ef474c45217b51393d32537f26bd834e6cf77c5f79e5b11f2c5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 9436c9945eec01bcc7e3bdf7350cfb67 +IV = 3924961fb6e0bd1f066005d4e742a9f804cbdba3857bdc065a0e1adb941a6a26543cec976cd05bdb34fe6e1b8ef5d59a96ebaa1a994f695f7027c9756dc12122a49ea85ecf4f1a3865c0d29e0fa8a750bc68b8f280c37b4a90edfdabfffac5fba2056c70e4df8298ac7fe9e484983d680a1d16be768e7ade59bff37a89bd7d38 +CT = 2d51ec514c1fc4bafd5ddd052d58ce547adf6f9d6f519860545384ea5a57dc1d802422ecec1f8d379255adfe8db49001c71268 +AAD = 08ea043ebbe7524b0a91939339ca37d2159a5933c84254098c3e9247925b82c73ba34f78d2e22fae173b32c17fc31da4feae42230250f3eefdcc8f800db4cf7a332107f7a231ec814214da6db628913d38f298069b8d243de6fa +Tag = 11be56125607c473ea8423be7e +PT = 038a37e766625c36384ba3c1e5d74227ad2ac03a1c6ee1147fb574e75628ce770828224fa0dbeb8e8e45d4bb35c3b93a120d0e + +Count = 1 +Key = 008af4d5a8f8ec2907eb67b64d1d472d +IV = 08044170ce0bab0105320068b05f612462f7960c66f85d1da1f6415a6e5ad8ba473a48b037b0fc8d9a1d69f99a636c1189e922ee46ca4aecaa8b18c4affdfc57600b22fdefd505ada095c1d1cb591b1f9881734a42f18264112af2f4b8ecf3bbd2781bc57321fb79ba4fef6145a1160efe56733cbc70ab865f7232b21c0b9963 +CT = ce14d346f0b4f6b633834838fd57491a69efe75013bfc3cda695a2027e236525f90a64c8dc37918841c37289005a16450e9b7b +AAD = 237c273a73e02f22a7038757f27781a54528d358cbf5ef6c6543e851e75d7ee4fc8529ca17db975e4e9ace16753b05df391b4fa4882418b598a7cf8d7c04350f543e5ceb394e4504ab3ac50f39f84666552697a2be1854c15508 +Tag = f562606bbe2da4ae9940e9bf07 +PT = fb92bcfee7a638101b71143cd1f371e4d4d7a70961c2b276929d353260c3268199de0145d52786ef048a26fbe5d13ab2f8333f + +Count = 2 +Key = e81727b55bd62103e31e21ce3eb570a3 +IV = 89d0552476513edb5b0a8150accd876f062825277c5003057d6d4625b5fafd531f0cdd9bf54546138de85b7d8b5db48f663fa7c834bbab1560c3c561a4a930a0ad2ab52c2ad829cbb6fd1e42decdd6ccaf42da389a8651dff1c6ee1cf11dcf8623613e5d01320a8fa9556ec040139624526b4d1987335e0a39e36d0bc61142e3 +CT = 24a30f9accb167ae5cf2c781fc1c76d6279368151b35ec59e6e16d88606e32a991346d23720e0b339b1c7c77dbb8ab2a3f19ca +AAD = 9ae6c8976734adc54f43c156cad6caef10eba69047694f9b19163d7e07145265be17734f6959bc52b599cc3feef703c110b33286379a88b7fab86618cd450499a93273c51a977acaeef94727e9e7a88ba836c9dd74a8a6da3fbd +Tag = fd7760d6fc2094501ec3eedc8c +PT = 1284c91c45b2302d87a860706f2a11f50f3681e1e40ed5e75c485c483386f30cdd887a8195ddde2fff78967ab688fba84b5615 + +Count = 3 +Key = 72a20ab0436258f6fedb49a9f39fb3d6 +IV = 41f41f17618d72e334ccfbe118de9f97b957b73d543fdb8dd9f99b29ebc48ba3a579ee94fffd75bbc99b7440dc386663a17f4a4fdc3405e07a9a4c6fea3a2c5b8aec0a1cfb8b2dda6a2ff9ab9b4f389d7bd549d5ea18ffc854a59ef4b3c658de0095e184c0916d188ed36313d99eb7e0a41f0ca201a41049dc087e2881be83b6 +CT = 902b732e3891111389928631f34f392fa32cdfecb8b5667817c740ef5acbc1d182a5b707efb7d3189a9ce8a651bd1217c9668a +AAD = 70e3481c45be7d8a3e8a700f1325c95196a868308d5e154f235dd6a2e9a51501fa4d454d79a8ac3990df52715ebbca5f8af8314b127a74b18f5afb9867b4f4d774a4866f13daf3c9ae062d6579e542b114f25c469c4c8e7c5d4c +Tag = aecc716be2aae632f3f553f2a1 +FAIL + +Count = 4 +Key = 1d7c2e4d35728584c9b6dc641f296584 +IV = 0d5474ade6d9d92c789a835f7c462b5d7f73fe30ba38ede648448940f61f9f4688c404a9f3c05e94b7acd5a9b3f7f76beb1490e840fed0190de31fdc0a12158dbc8a780d4961ac6d85091f36062e524ed712b68356da65a6774ca15d174702e3783469db32783c91c47acf2c6852d6ad22e2c1df6f56177e775c2c0241c0666a +CT = ad793c149356cfd8e077a91abb0d3d41b5409d90087e9feac86a72873f75087b3871ba15029e556316329a334ff91de42bdb0a +AAD = c15ddeffd445de8c2f00de44faf8412ef85ad1f61ec5d1c8064e1b9eb26ebe07f41ac37933023909225bde48c4968d6d9456358e5011624bc93a623bc69f62844905a39078f3490d1fe74f94d05069baedee1c772445948dcb3e +Tag = 370d7c774db5f92ccd4fb63d12 +FAIL + +Count = 5 +Key = b913cac7f04e0b3134eca6be187a6665 +IV = 8bbaa0f77a8420cd51a108430d4ba28ba85c5d7bb99977506e1eeb31848073f77fb2a510206f17264c7008008d55e265875eee96d0433b8575c3c944579df31b9d8d395d5a92f595df4f1f7f054867ad86bf69a3ba9792a69ae54c2b58be0ab460d965eef30ffc0bbda9a377bd0e046a49ecf220bfde077bf40959a23ed5757d +CT = bdd73d047ec7b7b0496ee07f1315b125a5265a7be550ff0c426186bbd25b22ef3b4b4d223dab0cc82ad44024bb1f1e07f247db +AAD = cde74c79bab737b0778dd6657ffb4e15df085e07c5fd585394194f273c8f8230f2d0b7d0b878bff40173dcb0b72e0e1a6cb676d4e8372a478201a4720dd95b395a42a0236d4fa55c074c2e849999b1ff37588c784096739afc97 +Tag = 11a234f77bff49b5c9ec46f4e8 +PT = 03e27a2405d73e94cdb18a70aefa7c0475bcc23c9bd0f0cfd235e4404841da8a100066dae2fd795a4372b8d736c50e1ab2ca50 + +Count = 6 +Key = f168562be8815fc55a0978f3624582cc +IV = b4552e16ff57c9154b94a389fa5c52f2ce7f11a5e40e3df17e0759950fb48a9392e95266a39860a5943882312e110e5491404aeb52f4bcfb40331db8f1acd4aa162cf540cdee1942e366055b4411dc994b41bf7f4f2d2e7639e40458860d7e1976fad5909da0793a39a16c47824892c373fc32cfa448347d935d9a0529e538a4 +CT = 93d72751e191c2cc129ca21ca2e4d65b8ef8d182dd66c707ab5fef43aeb199e60912a92fe115b700b1a9e7cacbd2c6da1a781c +AAD = cd690df3fb64af87c909f28eee4627f350a7e55aad03aca98bc3044c3bd02800a15be7234c41be45985b569cb3f3da73c8824e3deec540ad9e895b28f8b68f5113c9081972ac6426af9dc1d9374a13bd466511ca1bc101c14c28 +Tag = 8068d50bbffb2cfd346e6a79e9 +FAIL + +Count = 7 +Key = e5ff6edfe5897325a25068db57b48f3c +IV = 8533cb3921faaf23495dd7b4760184ee8e936d8d280ac73699865ddfbd09e11a3f4bbef792796bdddce7aaf6632f06ee92975c2e98720c27de550a25a730019e09ada145854392113b77b0990da2abafd647234f7d5bf53774d51333909f61b01bd63ae7a2419db399611e69f8f803b46820d01741fd5e405760d633120c534d +CT = 500e1c8188af35975b41c8cbf4a6e2bc0c1cf3bd6c909e137886f42a21c484f2d8acdaceac4f0b2ef6804b59cbcd2425ec21ce +AAD = 669e4e197358ac0022c2b463e35d2191236e3211d77db1a140ecf1dbbc1eb879f304ca379b4847ad7b5b2472b8039983530693d8ec98dbcc08c46ab23aec9a8db5252ca8348d1049a04f751d0d56d3854214908d96326e1b1e3d +Tag = 3fa8daaa6259dbc0ed89466ca2 +FAIL + +Count = 8 +Key = 93ef17c072ccdcbda40510750637eba0 +IV = 470855ebd3764930b601fe5b25e73a4f5d8e30316275d01ff70fe55b0444d63ded6c75837454666d316d1b02b1b2f988bdbc5ed4c5802dc956276d2a111a993b8e9a39e5ccf8655ad4769224c8d2ea1974c836804618e96ea24005e761ebcaee3037f2a97c1b590393920c73097df4d8eb9c08b3f4eeb683cb3758cea9203346 +CT = 11838564f91bb0b93023e97b7b27ad6d6206d716ef9b91c7ab08c822881e5ace339186faf54a4b613b1ea3d07bbce08d2a249e +AAD = d15435db9daf7d7daee2c81e172aaac7bc4593fd14bedf5f483da1dced825797e5c96e4b21ed55604019db923921cfbec820c7867f8e76b703d8b08d8a8b6c6c1eae74330fed2e63191d6bc645b60414a6a2009a60fe84499602 +Tag = 6e754e1597289c87bca8f6aa67 +FAIL + +Count = 9 +Key = db3d6e7971932d1dbd68216a2c616cea +IV = 858e50b798e383aefa7f7bd8b1403d816845429c87fd9ba78acae74eec590bea9222458d0a69510e29299c0f1356a3e3aa43026058a3ba2edac43161ff7f9fa52a261154486224abe10ec839043ec51fe2402345485881e43302c3dd531d72bd2f1d40cfbdc09279a68b904fcc1c54add8146223248b0303de6dc1744c1c8a2f +CT = a9edcec5830f50fb2b069055e8ea3d2d319cf625be9caf167752a711e4839644114ca502cec538d4fbb3324e9fce371a104c23 +AAD = 0bbdd205400507720a923da2e72db155f79fcee17303ad9c151a7680b28d8e788fbe657d6f4cc381b29692682cc0562daf6138575728606cc2b23b812bb77f6c393d257122c80aed439b8a64534fea0c010c698129497a60f6ae +Tag = f01e726ba423ac4dd4274e3bd7 +FAIL + +Count = 10 +Key = 1f32a9b1829096f1891bbb5beb8f6212 +IV = 201d4d4fcd9f18d9872571f372b140f83ffe3b85bb194a8403ead168016c599cd48f4f389d04e1786c7780ce5c2870e549242d78c1575688e0bd665e6fadbc672abba53dade450ed4120be3e881dfb478fcb2812365bf94aa3c540f1946cead772854702dd68c65a23fc4ad8450ebf0672d5c3e9f825e69a456f16287f61202e +CT = 2c7842addfc0cdbe971a64e9116a08d1ccaf74548ab9a50f10ae2e74831439de0ce1ebc006b1104af52e25cb4c49fb3a750a3e +AAD = 20d34c7b039ded85e4bd1da1db803039621dfb004027da88daca8dddc11491b8b0cb8012589a0791c77b4871995fa3d702faadd7164344736a63e6e73b2f404b93825a6c12bbe260c9a7e15f2ce5e5294d9220b789bedb0e01aa +Tag = 109bf0c00e34a2ff6e93cf7d89 +FAIL + +Count = 11 +Key = b8796e127877a9338bf89d33567be203 +IV = c249e828b8928a39f4ac941dc84b94cbc18b5e1105e224992272dfa42383e4f11c04361a088c7add77b13dbff08597f866913a10532e526273741efd5d827f20820545923f1521bb2602e6bd39ce04ad5454cdf204ff6b6b3675e4d747e9f09c357558b9b7ed58727e8c226f65ff46b3ce35fd19b98323f0d7c48bdc8cbe3921 +CT = f2eae9c86cfa33f599ba8676ac06c4a6931ce1694612c14e6e56f3774e1ee546c2f941458ca0c3581cb1f76a057a932fad44a7 +AAD = a93d399603170055b36b82ee43b7a69a6285007d982d213b34f1faae4d69fb0d32eba279907ae1938a260521988161dd96d55c838d3b57ac07dc0aa0c65390f8b91ecbcad884d054ee65b3c51cd86509df43a16e61792a952bae +Tag = 94c1de506371c3b6e915bb8a40 +PT = 45c431111c445f8430cae0454f1b4dfcee96eaf225013cf262faeca2f6015adbfc7f6e62e94d149c8fac347037ce6d83f00620 + +Count = 12 +Key = 84115cd303689481d56fce71403f6e50 +IV = 25e5514a89223cdcf1ce3a0d10f4ec316e74afc1fab88f7095951471cf1a7ac239f33cb1b79cf6961bd94ae6f8cb2c0c3757041cda194475301d4ff76a531f3bc3bf4323f3ae359a415b71998d34e0020ec47487775efeb239d912de0071cb6113c807dabddbebe7505b7d4037874e57ebf8653819d4ca5937aa821791c55a9c +CT = 561acf283ff0675df15545cbbf152af309c7a681f8b99c274e3def7259d624aba4b38abf1a9eeea05443f86986c8c421ad6e80 +AAD = 4a2f08fd32a0fba93c0f00ef48853d797f2cf5b1562a0797b62bd00a9eb8a01274a8d87386c8a4848c2f2dcc42113688b273e60f20a0396c4532e06437265afa868e070f63c4e4f52474bb62c83af593f4a050ca2f15ebd39785 +Tag = fcaf7a556bb5c0341dee24c7c0 +PT = c2f4204214e9464fd3a3d7048d55eb9a2407f77635552461e654361ef000538b83f905215044fdabe202380aa149a1fe6d5d1d + +Count = 13 +Key = 4c87d202bb6c0c0db3a48822e2285ea2 +IV = 43445ea595fddfaee3618784be857acf6fe3ff6f9a9ef9cd7c13defb277e200811e25214ed824753d476f3f678f32e13a26ed45be26a4735b264a30763e85051b194d3b9b7ed2a47c063b07dc973b59e5e62a6c70289b4ef00d06c3b8ce352f66afeaf887fae5b7e00d2cc47c6b8954928a60104feb6d07e5522d13e1641998e +CT = 0d9ecd3e77fd59cdb8d39613b502086aa4c1aa734d27039733174afe99bb31e368fabf1ffd6b9ec135adcb5e8d416a14f0f150 +AAD = 253ebf8d739149a9a51fbbb2939855ce37420ffb9f1221752585cc437ba037584da967e91573ed2acf865475cbadff9ec19f025c37380c5c1259aabb427ea0d9ef97a34c457e5175835ddd47b4ae7b9e38c666ef0ce14b85d17f +Tag = 7bed568f06453163026838214c +PT = 05a982eb0a07a93b18384e427390fabd116d2f0480d2325f5074edf05123f7b50746834f395b0bfd0f5922449bf6a307c0d9eb + +Count = 14 +Key = 639a568f83ccb92b5af5ad3f925d1b54 +IV = 77c5c08aafbc73f5ebf21192d620f0e4e7a4992618fdd8a7e7efd5b8a8882446c5480934e665348a5fa1cb02dc876f55e10226e6d6d69d392f701e427429dc6241e729fb1afda0c788eb55f6bb35731fd612a9661f9ff4c5a5da1de0254c4879ec6fdc36723802c5caad4ca2bbf0c057221513f6592b8914e942ef01fe109c7e +CT = a5ff042c3519b6f546e11c9d84e18ea255de5fc5045717099cc3ad91ea948483c9fd71908742f8a13e432890bdb0550dd9744a +AAD = 4dfd6216b4d0501051ed62feff44f5511ce762a201554a9b66370bc2dc4b7b979d5b04b340eaf88a4c693938e84f9639fd5b5a1891b78cc5eeb545db2c41fc5809af71365722692df520cd31ff507347e3eb429dfe5fe6440216 +Tag = 847ac1dbaf0bfc3aaf65c738f1 +PT = dafd405e1177c703782df7266d57623a9e06cf4a2597861b3fec96ec2f6005ee0ae481662df846058d4986eda9bd09dc9603bc + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 3826b8a041da1bcf36f8cc3e04699f38 +IV = 998d1aa03f08fafb987984c04bd4ab38bd018aacf520fa1d78e9b450b2abf8aed2cea6894f64f5ac55fa9f1831a00197ec72b09eb339bf2b427d14b99c6ec7ae35188aae6067cee43393b3b8683cbcf835d5821c48b3d121073038160ef7a40a97ee397a16993e5236be48de74634091022ac0550f3e647bea9aa578d6c53d70 +CT = c15477cf0e1c4c6eef6b64063e891cded0c736985b4b01957156da9c32f394b9371ead2fc86622f6f7d4ba5b5a5e01dfcc3e4d +AAD = c7314b536efb7f8a9e1063f4ea574a2640d2a60bb1a711ef0b41d7ecb977dc7eab9f8cefa12a07050778c3df84e6f95c02a6461ace36b8e5d6153f17cfb9d6399c2528ab0b71902dddabeb03c2cfce122c01f2587db5988c9180 +Tag = e54937deb8b547426515b608 +FAIL + +Count = 1 +Key = 0ee3d77868dfc10fb9d683a6c70ae47c +IV = 08ef5026d810526a274f6f3c6668f6dc535789888b49a5605627a26dc8c1fb6fc196d0a75128b85b15a3e7fd5aba13c81368026d4123b1fa190791cb014efbc1cf1e8b60aa1e897a8b13645cb4b8fbf7c9b223487ceb10b406fc2e7fcc1916b75e8e616da6f8e424915d876e9824f6a1c365ba8cac39d426ad4d22c451086c3f +CT = 1b06f30d2f87225a3d819521b03455437ce4986251866a5f85f5772e70694c0e4b60e1b672bc3ce9001ae38f5538f37a66350d +AAD = 18bf637f94688d9cd3b96174d8bbcb6628eb3c04dbcbab53eeff7c618733a015eddcfe38dc4d2c6df7c7898bdd1ecabec3b78d5013bd3fe796155c61e1960d3871bde8ea7648f60d2aefbf012e8b1da124abb871e96aa0c8ca0a +Tag = 427721503327ba2a08f4da89 +PT = 2463c81cdf2f265689310aad786870e0898458da3f214430eb09bef5abdf00a9eed5f46c3d245c916bbb8b5f29fff3746badbd + +Count = 2 +Key = 677917a3e5ae31da5b91e5c8ede90196 +IV = 78b15a05a937f86ae060c66ea972d91773319432f526f6a4acf55ab26cc834adcca54948d69b517363411f1ec6489463528222df9ee9d00eac53d709270c1e8f8ad23c8e1ab3059d8d646c09bd3a9b9c9407c2f1477baa2383269a0fe98f7a1db8750f71422537f5a47b3c69ea3ec600ed116705bb984e00a0afcb0a9f6e5740 +CT = aaa83b2e15e3b16b39d8c9f7499aa1e4e977060a88a74f8029eb4718d10669a40c85393ee403bfd1f7a13f2fd9acf73dc83728 +AAD = e3487553758afa6c29a203d118705de5751e3086448ba5c3f445610fd57809f03ac5f1011ab46bc0c1f39b08627d25c4103d2940ea202e2957344810ecac60d36811dbed66b7f73d06016a5470dea6a57a6c0379ab56cc3d8231 +Tag = cb42d92603ccbd8b4d4087f5 +FAIL + +Count = 3 +Key = f37a8e87684256cd235ad113b1a973c0 +IV = cb9d9f14bc773b42336673d4e79365599e23ec3192c68a8a153a913d1e93036b3fe275ed4be401762b3047357d912bcbce3f4181f153813783a4b104e53cb41d0e9c330d0bb5de2e3bf0b7247ccb67e3b5ca523abe42c08653d2c54ba9aaa63240bea020ef38533c254f985a45e5ec815631105d6f42f3ee89d1feda3490f9ff +CT = ff0bd1a5ea14a51116a71ff2c50ae201a8065a7adab546c3208377c85ff0dcb871c2c4a39c11185e9a0d93c22d6ef8ddf8efca +AAD = 9b92c046b60218d2699ee40d16fc6075ef1a12bf9b0b6a267bc8af1099b065a9426cbeabc3aded3d568ee45daae9158cc88530b00b779fd8a5ea53ffa3e70ea3f94dd9abd5d9b44f868a2122bbeaaf5b820b03619849c7f414ce +Tag = 77680455fd14dfdff123a113 +PT = 00b215738ddcee95d23b42945d817588608a74c37207819dfd68388009ba2b02b342d05e6306df790c06b1959eefc4edcb37c8 + +Count = 4 +Key = a40d105cb82308c9ad1de7b33fc94867 +IV = 39d5d9007fb62129263f66ed53b6dcc5e21dcd6cf0214699589e9c14f207c36925ba9815f9046a59753ccfc40872db0979a91552713390df9d84fbe3c43af3693f9966bd02d037021965a514c7904758072b3619f62dee4a52bab33b5faf2aa755e78505a9cb2d161c73d24edf0e920c44f814cd26a29795dda3c08e8bdb372a +CT = 2a34d52f0b4602a6e02385fe4ed223119d45075d765f14875f46bf06fa155087da47e53f70acc0cfb6640dc4013937c65249f6 +AAD = 7bc0eb6490682be52f90b1fbf4fc44805597702fd59594ed39ec61d09ac745a6458e16839208d9077209654dae34284a3e1a1122797e04a38127118527c4eb1d4fba4530a9cc0c3aa783626b1cc120e1ffc8dbbbbc0e067e83cc +Tag = bd9d6d545b46c67ec174c8f9 +FAIL + +Count = 5 +Key = c2708a7da0cb89d78e9e79d0ae3781b7 +IV = b75c1b27b4f293b3092fd3f1ff22603449455e1c4efebaf7a21b005c97492845d225f0dc58c822db72323ca14f606eb05d4ff59a755b68cd440e156c62bf92679f87b260a0d52fabded827c3f5ed05c1bfdc6c464ce94194aaeab3795ec54ff93d4a4c514d1a211402629f8ef29168e0ec18db1ca9ab290621751ef65f30a897 +CT = 9f8e315ab78bdda896782c25621ed8ac555f4079c3af0d98655e5dceb7895db7fd04ed3cecbcf2a95d8e3af879aff7227642e4 +AAD = 9275b0d0c2c15a0cf0f10269708273a37f6a265cadc2d74ba9b06ad78fe4a84c9dca0e0ad423bb13ea3be856531d31cb4f9164e9eca7f048b6d2e755892de6847129e3ccfa558c292e6a77ea3cf114b0c9fce588b4af92463abe +Tag = e0813ae58ca975b8cd9e2aef +PT = b2dda3574ebe235a4063e039aed7b78d2f2e7ad7fd075c9f11890f6631bb88b0d86e5290882ed19444263c8698cd2522ddba12 + +Count = 6 +Key = 3a947fe1b470b1de01f6b205c67b99db +IV = be05d7dc973f70db0718bec1113fa82021d0a09e8136506ff1e1333f653528042fdeabe013e47ab8feb9e7eb8109dcaf364033d345bc496418262fae8a8f8763559e331c1a4931f98323e9e35fc821144452d93ec2182688c2744ab8c903077a00d85ee74c2967cb3c59398ea45e7b34e9904851a2b959d9c98b8794d14e0b6e +CT = 81e6f541848fa5e12e1f26747f6fb937a5f1efca50be0fc1d7ba85e91d975ab359d1d6a341c8885015223f2500fe0044764c27 +AAD = f993800d8eebc427229f21546040e3333ea90a83371a572575b91449c532a2cf62df3513c1d49b3595507d868969427385c3ab64e8fd8c63dc76f0ef0b4612702858b0c7449a25f3cd2ffe431fa4d165f591b2c9c46403314973 +Tag = 4d18661c75fcf5d8f247f268 +PT = 6e75b43dc6ea10f63e929c7c60aae8444cf03cc9975665f90fbad532d9c4b97eaf8a29cf41c74a831b796fda1b3a0a53e56388 + +Count = 7 +Key = c5c09f970080c3d84d3068d888cff2f4 +IV = b13a6cd3e283b3c215381764f24712c73e781bcc02d035c6f5d50d314debb1bd15cf759642a7f302ef72f33f17daa865f046bf4375398775919d3030f252ca4e413bd3f496acc0130d8b67d05bb71c7b8edf99e24230fb4fa9fb287a47d4511095ef31abac60172bd389c521740e3a33fcb386be61f96143c810f21ed4fe6ea3 +CT = 9b22e5ba433b9ceb90546f8574c220e884f41ca55bd20f120067faccd0211fe029cba0eafdaab17ab67a16435da3c26416363d +AAD = 87c6fa46d6b7f435368df619e98b9a65d19a21d725ef2b32d8a75f0600a454c1772eba9baaef0d548d819b69cfb5afd0cb74b6343d6c634aec3dbca224138c9d9f0521cf4e32d44271846392dc66f8f5f8d777c351b324691b1d +Tag = fa4270ad5e6a72679cf49280 +FAIL + +Count = 8 +Key = 6ffb386d336ebc3074afe1aba967b216 +IV = 30e1753968c9af987ac262177f6b2c96823fb7974ab758cf13c076dfb0ce5a832056e24c88c499370fda83d931f1357559ebe8a0190de7c8ca961440fd915838053c3d9484c8e78cff6c36fdbae4f7183f921a3d498a3caf887c6dc4a7e3fbe951a2c3f7f9ab4f57c0ee81694f8059c9405da06e95262a7b9fbb775311ccafc2 +CT = 31d3efe3599e88e461b75ccfef667e449e8af2a355311053bc331333c2327891a99255c292b6242762047880a960cf6e6b7f76 +AAD = 913d55c7e088a76784d491a47f717a616787560a1ad10af29abb7687a47a78623c310ac791e22ebb7becd743aadc4f0813adf5ae412f6e3b0ab1e01460c23b3c79066fb74841971f14b06c1465eca72e3dab1b38607656df2a88 +Tag = 77c012f3b4c7703ed78c5fe0 +FAIL + +Count = 9 +Key = 8cf1d601a2ed5595904a39ca33c2e020 +IV = 4964bc7e01dff3f9aaf85e65b202eeeb3781c56c1f24ad3f56292ef436c149ae434bff8ff0f8dccbccb2168b930cb8c759851e81debf629ad06bfdd2cd58c8e2a7cf2d3cb66c5a4ba2f5bd86a82b30cd2e12763fc411407dfe0490fac8b24e514126d259e035c12b722f180d03efaddaf05ae06d094fc816b4c350a35a9c92f4 +CT = 1de3456912d743df79ed4547208a6c12081ab952a321488fe2d5f95ed480e5ef30c770f1d278070bcf6a8ce7c91fd0f3cc8e0b +AAD = 9d89b7628a0810c3c20ddb94121de25e013ffc1dd267c709087b145d7e178e7d97cf438c036da03d3ed7e8b1c15e0632fdbe11984ac4f5b138165697e19e0674b4603746556222a1e661b25b69f9e00eea7fe8992224b68d1bca +Tag = 9031a2692af591e585c84773 +PT = 3fc848d867247f689c1892e151d1f66c45b78ba42be80e17801cdd3b7b83ef3dfca5df1ed1bb67355d3eba34e9b0d72e8762c3 + +Count = 10 +Key = 7c45848c3ba5f49b151b53aecf840ae7 +IV = ca931dbce91035d90723f046c582e36c62267c7f17faeedcc6a74139af7b27ea6f2fcfc2f8e3e6096646932afc6819688e0b360c758aae30c3353508a974b129373d876de7b53067112481e5bde8000a3e6115770d76140715b54a5baf353fff3783e42344a2b6af223c1ff027882c08507f7dd52397e35fc70305311e66a94c +CT = b4decaa9a7928fade2753dadfe9c4490840c744b76943c84f732c38fb14def3f5a0e7ad56ee547779e350cf5e2f21b7058a4c2 +AAD = 26b59bd45e411b5feef01d654c71029b76973167eb1f58ddb39636d0882f8d2e89de8aa12e5bbddd05ec4ea85ab323230aedfc082e05cff1d1a96446342821c605a59840d3126b775646e2ebf6452eae7b00da3b4e63ede8a435 +Tag = 2288a8b1410fafd350d66793 +PT = 8a76838f37392d420371101064661f498290b574e514a66219d426bfc2105ba13e5cfdf06379bb52ce0c008b54d9f5071cba24 + +Count = 11 +Key = df4c2b5a3a16c8a1eb36dca8c9408735 +IV = 7515a2d6b178d2169eb368e0ba466ed036ee97c467ff5f60a1470258842f0c2e8945af077193b8fcb020bc4a4c48d06de4e95d0d3d5d745235f7a07f27a3af6f80d139b0022e5fce262b97f46d5c427cf975834a4f36173bf6fde1004961f39e57994fb3ae820d8d6c27621ec329626917ce1feac763e5e1b964cf550825a396 +CT = fd5b4d4d4ccdf59e016a4876a698d9e21db71896d51b10cc58f17333a7fad3b3fac9a4a5409bd3f727034a1b0db574faba1d7e +AAD = 8c582d68aabb25e1644522545a83d8864371e8ae0fa2add74ece71a23c5714fb819bc0f85f3439ed056cec86f9a093bf85274556f036b2abde9054ec67bd1729dfae31d42e75a40a791d548681a31fa5dd1020dddd0755833caf +Tag = 8c72df1b9104c2ba56e61b57 +PT = 4848b7dfd78aca014d863c8a893a6a1c7d861dbe8520f1c64840ca4a08cd5747b51c775607dc1062174261020edaaceb8403f0 + +Count = 12 +Key = a45348ea0841b6bf063c5efe4c610273 +IV = 2e537f8f0375abaf991f8fe4b4fe9f19f7606f26420223161a6788b1dd2415803d39929654b2f8e18e19ef6736980118610c2b40cbc2a1e658f926f9c7c4161390e174a1d6513bf8c67188ef66338d354d2d44b12e73199c939f1f4a00eee0c903e700a90a8956aac78a54c07fae67536332ce341527e37ab7bbf6c0f022e6aa +CT = 1ccd3d1b0d3b5f6979d3d81c40bfa36e1cd0a265ddf9955c11df86d86684bb332fe33387bfc1caf251800a8f8f0cb014844875 +AAD = a4749cab4e8a9645103fe5cc6ec656ffb64d15831db2a4d4d60085fb8cc31fbd634ad5a64c997627c804d95da5a6b31215fe9078d20233d60a52cf5063c5e022d9fa1ad5b6db9f0b85cf5d13f61fc8f19cf3fb08bfd0296bce95 +Tag = 5df0ec8f4594458c4631ce4e +PT = 77ace22da11c55269c2950b3f1f505b5163114c038d9c18f27a7a225a140450a5e6af09de53bfe452ac70b956c37e000698c92 + +Count = 13 +Key = d7d72b56ff93f22676bb505d3517d450 +IV = b781ae7709adf538bef1bf11e3c35263f789d705f8ee137ebc3924affd88340a9678a0ddf33520fa57148c928c5affec3294d2176b9a8e032b17c6aaa71d8db333361ca9bdd7b3269afae78fce58152c5526faad7a4aedc71fe3e09665a04e8441d384da2d2334297db7a914a2fc1fcd32cf09c4c4d4ba31f62891dcdfc33e2b +CT = dcef0299024ff9b2bf6187f82c35e2105069b9ba3b283eb80ccbe96cea32d9c0ffcf6a329be95cedef6a8c27f888acd5557507 +AAD = abb0bab07026b7ae0ac239e9a79ca28d9bb91a4954325b35412c3945e0eef915cddc6720dd832dff2da6e038834777ea1ec8856afb20095d5a0d81c97a61a632a63fc5b3b5532954914a5d82e366a22051156d60e4dbecc1bd8a +Tag = ee33b922513bd9c7a7282989 +FAIL + +Count = 14 +Key = 1f054d4e1725073dfdebf9737eb90a46 +IV = da205038e70b0d2aee64a203d69c29626c66eb4086e42a3928e1dd5a49ef2a4ec3f6f067c6b5df87bd3e26adaa33fa580360eed0221940ad0ed945e1007d7ef675913ddc15b44ce16d9ffd89333011a2bb3913ff6f867a929ff2cdcfbee33d6fa11306d1099791bdb46c9dca714a77fbbd91cf736edb511da75604ec18fe108b +CT = 5f584cf0120a38f66919e519db976abd506e991eb789b80385834d2baf63e87f9cd8ad0fa945293e8f839db50c2a875ce04dd5 +AAD = a253efd5449ee8df9764be9a28f93d24f349bffa9678c04441453c979a453dee657cdb4d64adf17f9b210a272cd8ca6b0a9dfaec879c86d72b21da74226d9f8f4a646803fb3932dda78ad14bc1486aa8c19166e6283191f30622 +Tag = 4f301c7683e038bb64ba1023 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 064257754b80fe0901f939a8e1768302 +IV = 6b79058afb6968c6ecea4141f704b5a7b5f991ecfae444501635c131e81e0b94349b99445d90edc4137d32bec96a9d1d50b955a99040daa6bbadc8be1e054677619bfdf7c07d99d3a9ba80be81d4ae766d7525f53014207ab3c309962d39646809740189a5dd41b26edba068b9232bb17c4857943e2db9c8d2727c1b702dd3c2 +CT = 3ba78131f4e8f03b612a961ff24293906493a580ace4d7c23654478e321654a543ea2bb9f4b1df593cf1ebc68e0aff8773772f +AAD = b1faaa5b90d5a280d315aac3d2074ec6941d863eb7e7b8edf997547afb510e07f456a2001225709f03e4de7006b797907ee87dfb943877d73240221bafbeea1c1f555e7cb8bb90504e3161e4dffc326d207df350bf75a2b7a720 +Tag = 0b749f2077e23d26 +PT = d017ec4b4f7dbdde1fb887291a6eb0129f421f3af06f086875fc15499d4e5c4c1f6188ad39fba7d3c1a5e7d1b1645467b77805 + +Count = 1 +Key = a3f82a86957e62f904b491cf2ab7bc84 +IV = d1fb57e25134fe76f2f4601c8f6c87981ef106dd2395f6b98e5b0f85f5ff4596f4171f6583936ce61d1373a9d351b1b6434153af02f84dc596195c2abcfb252002d510aca50d1ac04b0f30f8413e51d2e320016835db8c6adf7e4fa2e14c07698896fda4010c3f0a2ee93bdb2f72787a7b286507dde707e001e39ee17abe6d43 +CT = 0dd90a1deb15a05613a2b8e13f0a04f048ea01e307144bab120d72092b9f923c754aff3e458af33fd946ab87fedf17aac57647 +AAD = f4b0eecdafbf60b2091a60e8db429d4bff6a52daf3b8b36efc74af32653a37dc813eeff01a96ba58a08270536f898b2449934b64e7ff846310d9645a76b53dfd14ede62b60d9aab20a5ffcd851e49ef50a0179d026f3f66f0eb8 +Tag = d8da23b56ceed26b +PT = 9b7753e7b04f06912174acac32f2473074b0cd165f060ea06e8f133cd5a4ecd85327ad7579493574b97774ae1052eb91c52866 + +Count = 2 +Key = 3d2e54e28a3396f512972f6fada0dc01 +IV = 737d5f5da98a7b0c33fd6d7ce2f0f96ec3d4f172064c9fc5facc7f8831318d19a3c4eef8ba9a3d9540d0042148bbdf2210317020668f6594e97bf39195c97b478ea236b03c6f298d798effbdb4ee69fe9ada06ec14f825ed5557755c10da89aa1a26be2633d3d9a25e68e343eaf89fa21c894923e41d36ea3d81b7d8fe2cf027 +CT = c581c42d238dd49f118faf82d0314cda8961394d8cbddef0f6866df2ec72b536e96b07b4bd17b1d3067c31eac85877842ffd88 +AAD = d154cc0766e8e73bc320d7cde0e55d31c0f57a1b857a167569c5f7a535777b629b49458fb11558ea43c9a7966f22047c26f21bb50c6af071360157f3cdf96d964b31ef484374fff0e184711e51b2043cee8a99d561222d546449 +Tag = 09d0fea22e3c7524 +FAIL + +Count = 3 +Key = 4fe802f4de71c462473fe4a43b7b4f81 +IV = 82ac543eade4672780dc18c8f210fafd37ff00d3fdeb207e975b511eceff465fe06c4afba8f69a8a40f482fc0ca9badd8a7c1dcde948c6961cdcb8422497aaa7627230b0269e8f40b25d4dfa4332b204f796ae1aecdecf8568cbcc5f15c2c2181d7877e5aeb1fec95b346c38b1c7d4c8c6452b128239871b317cb3ba77a20a09 +CT = 0409d663f913f94f3090b7b700f1050c148144c771f1dd37eda4bf67d7adee7cb81cb8879cdc73ce39948883b378c091a3355a +AAD = 8d326d37e09b2bc98d75bca7e546f4eccaa25d09c5a67b9bcb6c1d2b824060c0a1d0eb947838a04e406c0674825e00c7dfdfb1c466c14e9465cba90c4351b5ae615ef07c3e2ed5abfe259f528159158a23cb9de7307177f6570d +Tag = 2cbbb6da9ac674f5 +FAIL + +Count = 4 +Key = 5cf4b2b00f3e749e81a6ca28c9902586 +IV = e90502eee765fd2d43c70f38bc05073d1823ca3c1e70dcc73c24d799a47daae007ea61f35317c94ac5337089219c31b8d72b11fe4e2a9f0d2d0d0623a38b3a14079cd87b4c59b038c6b880844ec0cd7959220138ab9906a35367f2663b8403af96023f4c7516f082b64947d3e443dd1a59159bfa0c85cbe6cfb1e3c0979985ee +CT = ad4c99e5a9d4b385a0193a7fa83763bfa0a664363a8b586e0341688e1fc71c06d9c6427f44fb30b2e9feb43d466b923dd1919c +AAD = 1787679237c8eceec306d140571843e46b0f3d600e7283f588f012af234e191e31d24134026ced91cd1c5735ed075c81027aceb3957641d7aea5fc36745c63986d4b805c8773dca1ebea522a3f38f3e7645ba8a5b6c884ce842f +Tag = de89f65f383df75c +PT = c40025009f43d612f2e884f832deaeed13d9bb6c47e01ffe5df6a99125e81ffe2ac51bd7e7a6768b715d6cf9c1761352a40f11 + +Count = 5 +Key = 8bb616d8ef65bb1bbdf44e0420390d89 +IV = c83fcd636f8389df531e79488cf55637819311f4ebbafae459dbc1d861f8d13bf320aaeb672d2a97d537686383b76120fc361afa4f8c812be84cfb2ba85f2f968b72005677d0c4d76954e5d2957d65f19c7f3229837e2ced405311104a634be1eb81b0549a43285ee42d977f1e3c9dde92838c0a28c0fd0bd7fc2008d89d2242 +CT = 8d1ba2772175fd433bb11785e095d893923b213973b3901448b267d208cc86b145ac28a0bf07395f13a4d5d4bde94b8d79ed49 +AAD = 2193f73bf8071e59ca03900fa223bdb5e4e12aae8bfe6951c1bb8295f4fa096d5223e51e6dc16b65223a8a6a07ffa9d564595c25cec88f32c53341dce97598746f627fe641a01b1a17c8a69fb8b960beeabf2212f9c5fa1d7bc4 +Tag = 85f1c84ad1fa9423 +PT = 4cc13582df9ea8abf565efe840b49320651f9ea53dddf30f7d8e7feb3bcc851b6f2205bd84fc4ce4dcd0b9da4dd37e6843bc92 + +Count = 6 +Key = b3d72707104d4440a434da68df501dd2 +IV = b089258187c8c4d93c86d28fb0202f725d601c3b8665e0624ba21bae0f5092e26c2ec4a6b88989f2eb8959c67a272b7c6134728750b6c518b4013939df7e737fcec9e41e93efe08a738a9e36767b492da43283d04e1105e8915d2640e336f9d8af3bec5292fce57f982ad50e66ddfc928b9a9ec0a981cfe6f507cdc777554a08 +CT = 6e53fff7c00f086befb87f6fb86876a7c6621288aaa157e1a87e167e4f1b1cefc20169007d76fc40225b6d768c68e3a6b0ffcc +AAD = c47acfb0d8703a0b2a6d6adb19f68960d81bc761863efa78f8c45479360093a3651f0f49dc2721d5e11928019584548d397dd22842df2464cffdd6111538d8423b783e1f966fe543387612a0015466881a349f67bd2f8adced24 +Tag = cffe9e2102b03eb5 +PT = b3b974618df80932c739352d92de11c364845769d09465fa8e6b7ab2e1a791e8aac272f6e892389acc79835d488609497a42a6 + +Count = 7 +Key = b5cc677aee32caad2c5969f0610607fd +IV = 7b101c1595abd7a6049e937d67bf3a37e5ea466fb5d3f8e8a6d3267d4cdbda5b7abd0f3716bf52c3c9dce997488f64f744eac62ca9f13c2ff41ebf0cf59fe9dc1c552222decc8654335d3cf25213df01bc30df1c1890b77dd667f5059de4a8c9b7b34e7b4d3ab2117ab9a1cbacba3312f397e79fe0a771afb60181f5b8931242 +CT = 0ca09de675b088a0723e88f9d26a0d12803d06bc4c2fc3693e91d3b3b9aa378b0aabfc3b3f73e475767221ff3d6ccebebd8367 +AAD = 4b4df82d1ca110b3869161ab28132a0f77b108404336bb8de85606f97b4e7e40389f066c02f9955399b04f3abc5a8a66a4c29a4687e12571f7adf27e8e30b113e1906547fd175bc931d2055af7d6ce7acaf891261ddea2835af5 +Tag = c91e8214d5889de8 +PT = 33f7c91b2372431f2cf70e3fe665094c3f75f341e4af0419b2cae9efb9dd07cb8452331b2bac6c37636205c0a55351ecdf35e1 + +Count = 8 +Key = fe574d6b8009942e3e424975afc83c2e +IV = e026a234a3633d74b1b9d8fe9cc25edee116b4f649a404d1bd22a67506876298662ba5cd98c66bed032b8e2c0f5e580c1c80901747279b79be2ae169f9ec6d54dca5895a188310cf9c53c6b4d7b95ce1f9416513786fd38293f059a639f8189cca95d25b0958bff2ecf35ea8dd19a9b4341d18cf59f4dc774ece5a2004e5cdf4 +CT = da58422260329defb02afb17e8ea999f424269168c6fd095024d93fe4aff08f63b830f2eebd10c8105e7aa3293541427a0f017 +AAD = 190db05b365b277e48b04ca2f3362da9d697adb1182b9abd4672f3e279593d9b06bf4d2b2c37e61cd2188ea0882ed548c42eb5c850f6d6c1a060613fb262eef8a070154e26b1c37482b15ec944c7bd33fbf62221829117c18374 +Tag = 4bce32479ecc9c56 +PT = 94bf5a758a423729ef6797810b6f21a69d5c6e010a431c1fb242b55eda8c53dfea196b254ca2f2e27f5ee67c903406b3aa2885 + +Count = 9 +Key = db6b9ad8f0451f0a22628fc7dbe26178 +IV = 5a89f8ca64b7d42296c0dd0b8761c3457223fb5acc1c2dc2b46314439104266421dd7e1eddc633f0c10b94f470ad2bd0f39e296865b535a7ee70901b5bc4917e1f700a450e54a78492fda70e1ee08c09cf38dcae9219a8a34d9c52f3e4d3b04bdee53f2f7583787fca69224638f0d0615e27ebaaa34b4a47a6f1cf6df5a69031 +CT = 25322594f17cd0c594025c0372ac92e95610cbb6bb70151a114c17720e7894bf60f5d2abd5e0722e7adabc6e0bcbc1aaa4c2ca +AAD = 7ad9f467cb49ee88f542306af49af4ea5b4dee74e8454563582c61c9b97b2dd28aea06eebe760bfa92a83941d2b026a593126f02cd3510a178f298adf892a21ad1f3b2794d94139fe5cf135670877965e92a3f018ff8cc2c5bb9 +Tag = 2508c7f7ac728b5a +PT = 62f9f97adaf92ed09f80ef202e723ed2b575d2d5170d3a1a552fae71f6ab3feff70036c184d2555db162cbaf9b78daf30ce2b7 + +Count = 10 +Key = 5dcaa48a204da5f72fcbe6a2b807685b +IV = 7b7575d280f69028855cd6652974ecb4693198d6a8b05f8c2a57f987c3b235e7251913a9fd42192aad55a54c55e4d0d8104a92b240d20e155b744bfeea5a3c1890b33b51be69ed2e2dce40507d3e749bce834c467c75dea360f11451217ab71a668f350b3d29150001c2b627ab2319ab69cd5819d5b76f49bbfc9bb2478e7994 +CT = e1893a8b50fceaef474f95099dfc072dab90e506d75c650923110cd2d5dff891baed8c95c90134e2f8e1fa9748b1929e3116eb +AAD = bcceb0421733b794a5195b1196b4e44dee95cf68b7d9fc9578627785ecea81b863446fa5d0ffa648c284f78cdeab6590b92576d36a188913c3387d618d9ecbe9535df24ac2620d908e1176402bb7624192319f9a33a929805599 +Tag = d1c789b85e496542 +PT = 569717265a47262bb4e2e5095a680769d5d0a70d171d3f7deeee737e8c5893d0ad6e35613440b5f7add2d677d5f242b821725e + +Count = 11 +Key = 2a2a2b77db4d58770d2a3b937b67e340 +IV = 4fe4d342ff45e6f871afb261ba580b90f16574f1144050e1da88464e3416be7d804f7855588bfe4757f435bcbf6a460808168e157bb73428edd9153d5af1bc34dffcee36f08fc32e862a9738f1f2b3fd789b7141a9d8924aff6c0292a38420dd24f449890bdef07417857de76f98337340cb12eb96e88916661a97407ce65741 +CT = f511a461476ca973825aff29b24416fad92ec53fe0d1cd46a268d9f3f5dad82253b6fe12ce9b688d956f4545c5b0aaecb573d2 +AAD = c80a32654344f5f6b1b39d9710a46e5f8df30543d8eb6df6e63ac8de4feac6035229b7bf55504e5d551905439c8f40efe572c597841beb10fe42193cfd000732e9a0b133fb18b0c9f0f42f886c6640174470e685f827dd8cd556 +Tag = 946549f6fc3cb58a +PT = 87e615905fde01d2da45d12ccd1d9f56222d1e2751d026dfebff585a59aed69f0b2f66eac2b57232e04ce0e189c8cb2a60b54c + +Count = 12 +Key = 7baf75534111ffe6a4c6639a68b8eb94 +IV = 36d86076914c9f728204a6ba7a63e3eac69a518ce7d98b945d0e08aaebd092bed4d047ecb075a7819e79118a5c3530334fbd53e880d1dffc97649bfb97d0810c95313d3201b8ef1751551783f3e6fafa14c67009a8c51def5a8ec8df7a3fd9f511b1f7e340735279e427163b80ddf811ec37864c3b2e3b2be809ac2bee4aa2c9 +CT = 85424018e8c510200cb3af51b665bf7be34bde72628d680b5d4db2baa8b9e0b0ee51cbc67af2c963b897bcf66d6cc85e4d1e16 +AAD = 1227233ec746b5932fc46f73ecd898d76ebff4ee6a8d7d35036fee88b1c068e43208e5d76b3750257655e18655c149e93ae85c8b1a05fd90bdce34488a8c51d970fdbff6fb2446ac9928338a38a4eef71fe45619a2be1f169e11 +Tag = 4650f91a3e755bbf +PT = 65e0df14f6629603a7853b60901411ba2cc5e814d4c473c3aae40173c5b559f866149575ccf7e22d46066c945b9dcadf9828fd + +Count = 13 +Key = 11dfb1e04a9d339758126709306e0c35 +IV = 3a4cfba06d9ec67e444d4595b52e22f35e32caf73a6b238539342716b22b086fc2ee81dc4e3dcb75c300a5f5c9e89826c00189a5ea42071c7daec8aff66b0e98ac337aa0dc45969b76e87498b0c61d78ef55fa0f0b2df4f70fb7231fda98d77d1ace1e93de51e9f3cf3dc6f62125804503221f26e822bfb259fd1ff992446f03 +CT = 72387782860427efd4201f171e52148abb6b8c77b7022e2cb42e0e4db4bb3cebe0c5b0bd2177a969ddc8200998bed10d519f51 +AAD = f91d3c7f568a59edbb9321bc733bd63faf87ce9df2dc3c450d15972d72153d237b0e6a3f6773b39251ba03cfa265389f29aaae44319e52b7a846645f17e6a3be1b829c7bcb176d314552dbdf261b66bc974ef81702e3d7676255 +Tag = 56d97726cf66db53 +FAIL + +Count = 14 +Key = 3b27ad3d48306891b96c97a388bc83f6 +IV = 5ae60c0d5d7b7b57f58ec12a6ed4164dca526ed73b0dd81cc30dc275154bb2a8b7dc11eb7352a2d9db75fce4b212efd8f154d305bbf3a2cb72e32f4a8aa925efacbf2009380b7956d8157721b7cb6c42396e1c60cc7c49816e84ce5e0bd42f975f9bd55ff124a5f203ad383faece32464bbccd45a2921b816b85c3d92996ac4f +CT = 996779153d2c52cd2ac13a6091e50b4ae3e90fcbb20701f70beff0db2a2a0c501f74d5e9e01177fbdba533e095ee241c29edf2 +AAD = 3ada3e0b40b0cc1e6287dc3e8ee7e424c87a4bf82eb9c9111cea77c734422569fc2d5c87ddc2ecaf09936a9719dddc69518ba09016304d7c0d05185d653ee92a2df0bd54c3db5b5206734d92bafaacfc19a695ca01e9b7ae0204 +Tag = 3bbfa6f753c02d66 +FAIL + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = bc9c44516b9c290f739ebe20e3759d87 +IV = 16d40747d608339d3125463f9e944e345d53dd5cb5c0f1bda2b8d4ccbe2b4d4c8f1831612e7fe24076c4d49e12a1791e6938706c6957439a9a295f473ff1b8351710f355226fac3274fbcbce8a87b07b9f2ab491b1478ce39861047f18ea2407f877f81ef6287262d5919b44f2f22c5849c733e83213eb4cbc938f7b53dc8721 +CT = 3193fd87a42ea49a581358d3f5311944f3519685b1f1e439b3262357152b19f88dd180038b33661a787808a02b751960b7ea8d +AAD = 4e784f8302c9b358a02ecc1909c1800baa16a8d5f92b481d20dccc4d5369c0750003b0393516e87495836c07f191b85afec4678778fbe78a3e0cbb86689a34ef1928e0af90692feba1b6543e0f46ba3be83b190dcfff071e4b0b +Tag = 5fb7cdbb +FAIL + +Count = 1 +Key = a05f91101e754c77e71059b532e06fc8 +IV = 5fc8508d3c62e2f8212d04c539918a075aca82d9305c2fcb75716629b4306afcf0ff6b188020833af26989d14f12a0364fbe0bd330950b08114a46494b3fed631cc125e99586f094f0696da8e02fe6c95e73da185d17812b0c0e4f4365b82b6289fe5e459b2a4a63fde75cd7186d7e3c9eeea11101e8818e9186df048a7b2303 +CT = b87f37a0bf0dfd8b63e5fe739dcd067f9d6957574de311b240adbc6ea3cb5a0da73466db34a00c70f9b7cf045b2604ed3bb99d +AAD = 2f053cbeeb5241ee116ecf98475d5a3d09a24db7f03cc1e7703c1fd94e7f15b603fae7fb226461a0414c5680340074e194576bd7481ad6e9c68e6457d663ae6c62a3c8e40c01ab3e671d0f2457711d5be9e770e4d089b7df01d8 +Tag = 94c613ea +FAIL + +Count = 2 +Key = 42f868114e897bd8728f3f93d128a585 +IV = 06fd204acb62da1357e7c39c32cdaf6986da0698e95307575bac1b98108690b8b259a0ada4f2e3b53b702880c88159e45a903c174fe623087360835c84dc4c29b67352c7ac3c21540245df4a2821214efa326227be496f677f6b02f012dd1c20d16e69761ad252c1e8352eb702228168c2b33d0ab83ef09538d0479d070895d8 +CT = ae8a55f1b0528520066a339b0edf9759a40bc89ec5a0fd5f0d6cce9f6b8553e8833d5041c589d07d826dae1e7c503accc0cd29 +AAD = 395af446904140645a1366185a38b0e0b86e581b81bd50c8c25cdb66f0f98392f5d72bf95f964712a612ade5a5881df8ffeffba61118e03faa6400d295dbc626c868a708cc3082abe7499e4f6c8fc69162ea9e61956061d86073 +Tag = 755b9e77 +PT = 0aecf75156a20865d0328cd9b647352de3c5fd032f36fcf3471567063959eca4f30b8f9462722f0bc94b737da01167a065a84b + +Count = 3 +Key = 6bb471b1400882024439b37c63f423cb +IV = f4ae73d973e1611fff94476afb244e761740f6240b3a9214f62558d28c487a81ecfd44760bb186cb2a0d3cd6deb35f6f1d70a8f7c898a0ef8fdb9e112f26a449774752295eb21e3b671a1709f6914a36252b2ab260ed681dbc4c43576da10e3d0c9539e3c49b30fa513d5bfbe2f1837930876a9a9a935847f539f7e624afc69f +CT = 47bd281d621f2c2e41c88699af47eac4c8176cbc897b5438844813fb69ca81d12c02300a6d42d161b05a159077c1d35dc21f02 +AAD = d8d3344a3b13ca119a9aaa5f9cdd16c2b6352009004f136e8157f9a06ecd8824a9af00cfa404a1a7c1abb96f8cf5c4223bf3e636305f7a80e0785a33519baaa2ac4648b7ea247c018b5753079431656cb083dd24f7e8fdd32284 +Tag = 7485bb10 +PT = def3764b4eb33bfe68b9630f9dec195b5e15eac61d960cc8a624e03908b2e86b0ccb3970ab7281199266df2982e0deb5cf23bc + +Count = 4 +Key = cd549e081d3e25c54d773eb0a4abc7da +IV = f51ef523d756de346dda4c9d6587f4715e54853c5b26d2398fcf580cb1988679d9c53e39633f40977e8a79c8fb1e42103f643e620b1263b0bd7a88e8cc2cbb9c05b06fbc70750f5b27723a95b86f1cefc8bb0bd9d19c71e36bd2acb1cb58c6e44707d5f8c26566a362133786838e8e1f4b3f2f3daaece0d2f8c3101a6bc82481 +CT = fe5cad86fda0999a36aa82f36d416336bd34bdaa17c364f499c21e608687f5ff709581a8a07eba3d901103cbaa3de2a658b61e +AAD = 0441314a2e883be4cdbc1778437d7f8689a5df06414576d9ca3449d1bbcc3281bf050893c5ab1738465531ddc3e41fb2dda847a40685c6e967d3ea8c495e99bbc4ac1271c571198c70322eb7de07223d5a869909f975f781a1c9 +Tag = c9a2d778 +PT = da7cd3bdf0abb2b3fa6104230704758ff46f43ffd60b278b8417e96a9db1719d134714bf0cbbe01791a91c942e070b4ad80512 + +Count = 5 +Key = 2c3a99bf62aeaad703a19f4a08a95e4a +IV = 66aaa66b75d2f749171c08ee58c5445c036505099dbdb9aeb0dc3330b40b8850ddb428c484709039c6a6eeb4d3de38a0fac2f44233bb839f084e5811ef3488b43815c068c3ff926b48d7780b2e0326eac9839551a5adbf68bd7b7469100769a443e68b1bb133f4ae1b6b6487217dfb6d3b8b886c038a44ba4771fb1b0896db2e +CT = 94b8182776a86fac3bd31b84b9fb112ed0e4df6683c15416d9174dd0ccf8b77da81bea836bbfd7b409a4c19a50ed317060cdc4 +AAD = 82e23cf8f8e5abaf651a43d2d7f068c3d19cf86d1a34d14877d744978243ccab892ca451ff588774f4d743cae8e5386419e1dff1daff5921d4638abf79d7c9d3122b194bed852d677f533bfe160e88bc821ed3389676f11b1b54 +Tag = 01ccd356 +PT = 44526fc35922a3db8f509a8eefbb8391d3303aa68a9af0ca2cc1feb8a0f40636b0b9e2a120b0b85ae340d8167bd836ab8f37c1 + +Count = 6 +Key = d4725db357e14d22ff77be5bfcb40605 +IV = 6a6367f68f29e529b049cf2ad5801ed980c62e7581e7a40b31a02c1d975f5546ee7548ad1521ffab9461177bdb3a7cff851be795c4fde63810511323b17f91ea84929be809bfcb0e41fd1e2bd7260d3d86e898a2c3f5e701937353ed41842ec91f3a3538246ae9f22c5908fbf8488bd4e892d42845b162bbf8ec64ddff4af233 +CT = 9b1a9358515ca17daa4ba283081785fde79c027478cc435c5791d550450d1df1191936c22a42a03a374c2f0464b118eca774b7 +AAD = d1fb53da15b43f7e5ef79432d51d0119294ed6f266aee02cad45238bd20c1a10948815371908f1aa6e0a16c52e123b541ded85558a786ea7b87a5e130380638379d32a83ceb9d2890bbbe58a7fd0c843ab4572318b550cb0f987 +Tag = 305eb84d +PT = ef1777fcfb0fd60fb3c34bd3a2255178aa584128b92e5f31619cb31e0b3c0c683ebbf3d9419ee1ea748e7e9e4f3dcff2dff084 + +Count = 7 +Key = 0c406b3bcd459061bfcf63d6fa2918e6 +IV = 0483e1c734e862520e15579e1a5b243628cdb335175b076042d523290e16f30b5354a079a247be842db16fc18462235d93856b2e44c788c291cafb4b7ce5a61cd097adfd15316907fc9d2ef571764eaef7feebbd37eed05a8aa749a314012d59601a1a7695d186606c10029bcf177ff40a1007e51777a06863e8f239e08a791d +CT = 5457c676d4afd92d0587136b71ff08530aa6db0ce3d405e14bd85462a82b5766e8b02e2141c59fd0d9cd7432a9610929364803 +AAD = 173192dbc5e6429e6d1ab6ed9da6898e1b4d7227200c8583f3cfa3458b5c331e563c04c52a4b76c807bcc60f5c4b87320240fc3857366e3342636201b4da27287e8ec57088b9245d9d321c5f6883fd9567a764bf3f4a5bd5553a +Tag = e3ed1fd9 +FAIL + +Count = 8 +Key = 16d44a2ab269b186e2686fb8656cdbc9 +IV = 63b404e341ac66bd39050a5477b33f25d99f6d5c1568113f3275779913a1e46a67b4d5ba603f656f4efbb502b1e9157b9b310a9519420214e00eb4936f464bb9d2e0b569ebcf422efcebb63724b7a8734bccd42265981dc0434638fe8631a05ef26d44ea4e182d196fc6e8103cbcafd3cc44d076f749be223c561baf8efcb9b7 +CT = 35b08a2dc6d3fedfe7de011ada744c2c575fcb6ac50000545587a94a803a89b73db774751b55f9a04909e5e523a6dd25503341 +AAD = a8f771d6ed087b6e09c9c19ccc53ca89586d4c19c837bfe7d681b1fb14040dcb7eec05f2f5a577443c71282705f9ae984b1dcb65aae280f1e528c47906e677b9885064ba048122792b1bf5e7eeea4b92ccd84d08fc437a01d33d +Tag = eb951162 +FAIL + +Count = 9 +Key = 8ca170aa3246957c948fed9f42bde61b +IV = e09df44fd654c23cc356d7a46e2182d941e167143d14186f9b262171ea54e5aa5d2fc5249486c8fd17397fd3e96c24d04258c1e56e19298bb1d8485c617e90119cc0695b1793f67ec1690e3686f110352337092acbc5a192d9eba57b4fc63e38f9758c269adb086b03f42aa002a8f667cb9b5f852e4e1a164bab89ad60cb4843 +CT = 3c476730fb44770a54b967af10e1780491b92f1a4f50760b25dc8f05ffd6b36a56fd540f11b5925e1ad2d0d1c094ee90e9bb67 +AAD = d5f36153f056847077f6bf7fddc42a592e471078f7003494e170984ef4ba15c08ef6bd14b1ff188e5759fe9329d3200761cddb296b9c630cd471bc7f0395eafb92c090589cf3c9bc7dac7059ccf9a512192a68fdf13267f2dd81 +Tag = 7e68b4e7 +FAIL + +Count = 10 +Key = 5f65d0253e45e3f940d33a3a96beec95 +IV = 4a0b0be391ac5e8f557b62ca3d2e4e36c0d2024cd870de7afeb0bf8b0aafa46d83560d0916fed02b9d01464ffabf2dd8063168b96e5abf2695d5f1a5b532c0b2e04f143ac0756611f45689ef63088eb747f3d7bf3e9b8be09f70dd08e7701e20650f1ca1daf3bff1ebaf0fb09ecb9f0fdaa503d8d775ce99edcea7d1b7cb32de +CT = 8fc8f8fafb8dfb21d9d69fa07fc827c6f2d1177760aaa2255d6166d894043c1a51885efefd178a1fcc7236dba31639a10b8313 +AAD = 48b1410d5d19e819ead085f942d9aad694c97cfa23af55d325735187c599431a4c6abd544130b7254459ede8560a1219c3d1d9aa205b341765c159414b815a5ad084fe923f7f6ebf88d3a67b903f50e287754a6bcc3620ac88ec +Tag = 2f2a4307 +PT = aac9a4583aab2380ae98e1979fa72905e75990e9f3591e76a8cf269c80553954514eb585ddbfbff25e1d0cf27fedadf2390d5d + +Count = 11 +Key = 91b90d2125cea8e5f73e861ca925dda6 +IV = b08b8651e23bd33a1eed88b082a8b9179393a75522b6b5b7c60be6d31df780674e710672bcafce5ef4e0bb3ba0e2a923eb848354301c3e9ec6cae894a3b2a2e5a1f576eafaa9b6175582ce1ee2ec4cec765d1fc84cf5843a1612ddaa525a38e2402d1986841130c74e9c648cd1ebc70072e95b7047e9dd3a3e0b43feaa8dfaa8 +CT = 998408f58ad325d1cb86d060cd7fe5e9509683f675ecde7e3633b0d3ffe0cef46966d9a4c84cc7560d78c458e823b4266a7eec +AAD = 1765ecd25dd6e13aec0b46029e0b6762b140330f237083299aa42025921b7d310757d2bd0c0b097628049b64f520a577090185cf74592fa7b4eb99121a46babe2debc8f272621fc5ee92d2e879b088d1ed4e69173a924f86d14a +Tag = da556c64 +FAIL + +Count = 12 +Key = 91f3826799f2fd534110eec6acc420f8 +IV = e9272b98937d588897b82d704ebee4920a1dff30bd5173d1b28040474d8b718e04c48e5e4a4c33ee49e08353ca4f3bc42f5e8c7d326f924d1a955c1ec44081844187c93c6e52563b62279007f94b9de56dbac4ca3a7b754d0fddbe9141d4bd53a338aa30e837c5181cc0f44d16226cb2947a7970dabcc2767b0f002b658386e0 +CT = ca7ac23e8a84c37a6b645b7705434a75702d4764b8ff7a09ab5f2709705d6420e6d0166c6c402af0adef67857c0ad25dc57fb2 +AAD = 06f5c93f0620e4d093e6bc454d1c1bc5145c9956f4eb8cd6709d9718d4971b88981963e6ceb45c25220e64e9bc024f743ae6934fa6fb90cb25217a5c72af77579abd4639d128848969c986f6416869e346b18c80e71ba742cbd8 +Tag = 5212ef8d +FAIL + +Count = 13 +Key = 39e0f6f4218c548171fab272dfe06503 +IV = e3906e2483911fc34df859ed4570e67c2bf61583a9d3beb7571daa78d25f26d1dae0adfe47b4ad156b73292ce904c5aba42231ec6bad864a513286accdac7aaaea2cc56b8f35d7910c5ca80e0db9d5ca578878208865287f7b6061c11d146d95232804ca35d56ead4da5dd950a16daf4cc2213e25fe0144a2aa93573ce22e16b +CT = 3caf65e4b9773cee60bb85f6c5a44beb7dd3dcb33512d55248184d6b72c98038b3bcae17be58d14928e6bba9bf929d34f10ffe +AAD = bfb9370739dc3d0c5cc16825a8d99d0369c34c4bf0461833e34df81ab3ffa0bf3f8ff8b5bcd34c3ac8b6f1ff354428241ad7032534a3761e05aeb68c2ba00ff63f27e640f001b6e74ec946c560f2cb1714bb3ac98bffc992d6a2 +Tag = 362e237d +PT = 4d81764479424bb7ff0b361f2fef8d0ecc47e7eddc4b98e7b3b6581926939c5cea8f58a6175774d47edfe4b8f3a6c0b93b5653 + +Count = 14 +Key = 73a0f9c5d270f6cf41ae231c4f5a8c66 +IV = f732de5ecb7690d725ad2add4c6d22c67974fd3b735a58f85c2a4e03106df24e80aa853f7c12bdaae27380b34455b0fd149863b6b062cce57b9baf74951a10a35aec7e00f5c381fe1873df48e6726e1185e3c906b542f13d609dab9cc4fcf9fcfbb073113dcda0375dc59b2c92888c801a348a797287ca13ca73fc8827da0e39 +CT = db7c4e606db6e3bc147a9eecfc76182e66ddaa8edb215a979d582cfcc8b0286b73db6cbb18281cb4a762d032ad1c8016cea92a +AAD = 287a84adae0617de9df7552fd118de056b17f5e575203948f8ae110ece97b21b09fdf082ba3023637e2997302908d8830af58c4dd09dc07678c1c0de3116738c20864fb20cb3aee1fc657d94fcda10a247e89f98992657b6eedf +Tag = 739ff569 +FAIL + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/gcmEncryptExtIV128.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/gcmEncryptExtIV128.rsp new file mode 100644 index 000000000..c2249c2ff --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/AES/gcmEncryptExtIV128.rsp @@ -0,0 +1,66156 @@ +# CAVS 14.0 +# GCM Encrypt with keysize 128 test information +# Generated on Fri Aug 31 11:23:06 2012 + + + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 11754cd72aec309bf52f7687212e8957 +IV = 3c819d9a9bed087615030b65 +PT = +AAD = +CT = +Tag = 250327c674aaf477aef2675748cf6971 + +Count = 1 +Key = ca47248ac0b6f8372a97ac43508308ed +IV = ffd2b598feabc9019262d2be +PT = +AAD = +CT = +Tag = 60d20404af527d248d893ae495707d1a + +Count = 2 +Key = db1ad0bd1cf6db0b5d86efdd8914b218 +IV = 36fad6acb3c98e0138aeb9b1 +PT = +AAD = +CT = +Tag = 5ee2ba737d3f2a944b335a81f6653cce + +Count = 3 +Key = 1c7135af627c04c32957f33f9ac08590 +IV = 355c094fa09c8e9281178d34 +PT = +AAD = +CT = +Tag = b6ab2c7d906c9d9ec4c1498d2cbb5029 + +Count = 4 +Key = 6ca2c11205a6e55ab504dbf3491f8bdc +IV = b1008b650a2fee642175c60d +PT = +AAD = +CT = +Tag = 7a9a225d5f9a0ebfe0e69f371871a672 + +Count = 5 +Key = 69f2ca78bb5690acc6587302628828d5 +IV = 701da282cb6b6018dabd00d3 +PT = +AAD = +CT = +Tag = ab1d40dda1798d56687892e2159decfd + +Count = 6 +Key = dcf4e339c487b6797aaca931725f7bbd +IV = 2c1d955e35366760ead8817c +PT = +AAD = +CT = +Tag = 32b542c5f344cceceb460a02938d6b0c + +Count = 7 +Key = 7658cdbb81572a23a78ee4596f844ee9 +IV = 1c3baae9b9065961842cbe52 +PT = +AAD = +CT = +Tag = 70c7123fc819aa060ed2d3c159b6ea41 + +Count = 8 +Key = 281a570b1e8f265ee09303ecae0cc46d +IV = 8c2941f73cf8713ad5bc13df +PT = +AAD = +CT = +Tag = a42e5e5f6fb00a9f1206b302edbfd87c + +Count = 9 +Key = cd332a986f82d98c215278131ad387b7 +IV = 1d12b259f44b873d3942bc11 +PT = +AAD = +CT = +Tag = 34238023648185d7ef0cfcf5836e93cc + +Count = 10 +Key = 80e1d98d10b27237386f029189ec0448 +IV = 239ebab2f524fd62c554a190 +PT = +AAD = +CT = +Tag = 4c0f29d963f0ed68dccf34496cf43d00 + +Count = 11 +Key = 40650cdb61e3e19a1a98fb4e05377d35 +IV = 69f0a81aaf6bb8486282f1b9 +PT = +AAD = +CT = +Tag = 2657e12dec21c3ecf071af6179529fb4 + +Count = 12 +Key = 1e89a6cd7528cce1e2b2b5f7fd2b6b52 +IV = e11fd427a782d543f78efc60 +PT = +AAD = +CT = +Tag = eeedff874c8edeea53e8be2a13afd81b + +Count = 13 +Key = 2a7ad6146676057db777dea4683d0d45 +IV = ed721ea67456d4594aafbd51 +PT = +AAD = +CT = +Tag = ee3cab5778888439d90fa718b75738ad + +Count = 14 +Key = a364f494a4cd0147c34731074dc1a85b +IV = 4aa8470dd404e4054b30093a +PT = +AAD = +CT = +Tag = d8a7bba3a451902e3adc01060c3c91a7 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 272f16edb81a7abbea887357a58c1917 +IV = 794ec588176c703d3d2a7a07 +PT = +AAD = +CT = +Tag = b6e6f197168f5049aeda32dafbdaeb + +Count = 1 +Key = a3efc33605d227cd35ae04fe4378f852 +IV = 5ae351cfcac892f5c7bfd1f2 +PT = +AAD = +CT = +Tag = e07b4152a7cdd6ae4fa57a2d1df4d3 + +Count = 2 +Key = 721c1ccdb8172bdb8d6b7bb4c476cd4d +IV = 6227ff9b2f453e7c2c00b2e9 +PT = +AAD = +CT = +Tag = af7a112dc31b35fdf340cd0227050e + +Count = 3 +Key = 791260e42615281d6b1e143522947c8e +IV = 6b5cbb98a3037c1991b0662d +PT = +AAD = +CT = +Tag = 378993de2eb1bb0abc4724f14012b4 + +Count = 4 +Key = baa9dc5ddd21b40dee52541f23bdc2fe +IV = ad5732063f4bd95a8cc29598 +PT = +AAD = +CT = +Tag = 8832ddc37988cd2d48a071572841ed + +Count = 5 +Key = 195bbb608d788a25e8459df7373b70c9 +IV = d1c959828f713cbc89254ff5 +PT = +AAD = +CT = +Tag = 74ba8629651f53ca8439b7df41e8e3 + +Count = 6 +Key = 8ec3d3bf21b48472c6e16350e596d844 +IV = a983fe15f1249a049046f3c8 +PT = +AAD = +CT = +Tag = a3e2d75461dd435e31a0af56d73f35 + +Count = 7 +Key = eeab403e5ee02734a2b7da361068b330 +IV = 863fc81e7f23ec43d92fbe39 +PT = +AAD = +CT = +Tag = 587d94b049e4b4008a53e8af2a6817 + +Count = 8 +Key = 21c22e01c726666e59cb96abfb9e62f9 +IV = 296f5824651ab5357fc984ba +PT = +AAD = +CT = +Tag = 25106ecc51326730d66034eba007ba + +Count = 9 +Key = aaa6b23213a36c2ad58b987f396612d8 +IV = a592c4bf465a77a4d48be6af +PT = +AAD = +CT = +Tag = 3bdcfd954049333d6a048b6515b8ec + +Count = 10 +Key = c5c68726119ca2ef7c6bda1e6003ea1b +IV = bc5cc1548d9f84c8557dafd4 +PT = +AAD = +CT = +Tag = a7261355d0413fdc781f81867041e9 + +Count = 11 +Key = 7a30f13b306e7916ffd2bfbe5a5c157b +IV = 09937103d4c99ad67fc64fbb +PT = +AAD = +CT = +Tag = 772a2478e9784b1c7aef068cf16811 + +Count = 12 +Key = 499dbbb617bad0c47939c7d70bede7f7 +IV = e1faab97925cb394c7a6c615 +PT = +AAD = +CT = +Tag = 69b51b263e7ceea05684a2c95d4b41 + +Count = 13 +Key = 8f395da1813389aea2f5610a946ca775 +IV = 3da24744a75133eab04ae98b +PT = +AAD = +CT = +Tag = 628bf4bf0c1236292302e8828e84af + +Count = 14 +Key = 248039f4c852bae62433d5fba4181326 +IV = 010897711abcd222564fdb54 +PT = +AAD = +CT = +Tag = 3e39b30ad239ca2da3bb540e66e153 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 81b6844aab6a568c4556a2eb7eae752f +IV = ce600f59618315a6829bef4d +PT = +AAD = +CT = +Tag = 89b43e9dbc1b4f597dbbc7655bb5 + +Count = 1 +Key = 33868a53a9cc4f4abae0d0c70e597969 +IV = 87944c8304f3a69a3f449b01 +PT = +AAD = +CT = +Tag = 3fe7fec8ee7c15659b6bd5faf090 + +Count = 2 +Key = 69d1cb05fa4875c30b006bca615ac19b +IV = 940ad039f490a42a69c65814 +PT = +AAD = +CT = +Tag = 84cf50a37858b49f4d58a04aed2a + +Count = 3 +Key = 8d421a83d92923725b868d4be574e8bf +IV = b4d3b047b23a5a619bf5ce73 +PT = +AAD = +CT = +Tag = ae1aa4d33194995634846f4afc56 + +Count = 4 +Key = 4d3a9d5c03ec801c1fe587e2f3fa9f53 +IV = c06690973887898a758737a2 +PT = +AAD = +CT = +Tag = 26a7a8ce9748eac470d484fc88a4 + +Count = 5 +Key = 1169f196bcea67fddf415a60e387ec33 +IV = 053b8e5ab174c4cc9aa998a1 +PT = +AAD = +CT = +Tag = 8a6e1f14ab62ef3c1a1b83079844 + +Count = 6 +Key = c1dc8b440e76c2454cef42609b6b63ca +IV = ab7dd370ce33df040a1bf724 +PT = +AAD = +CT = +Tag = b4e55699599b0969b612d7976a52 + +Count = 7 +Key = 4f878782dab271adccc07f05305ab1ff +IV = bec03c31f624cdcb6f34e376 +PT = +AAD = +CT = +Tag = cd7fe0ad70f4beb5a9e1fa536875 + +Count = 8 +Key = 8d1b4b84594070ae62a230ff3be0b507 +IV = 73df812801581602c9b4aa95 +PT = +AAD = +CT = +Tag = b3756929917e026a692e45165003 + +Count = 9 +Key = ac8c06b9ac8dd3f42da48ce134d56031 +IV = 162088571d7995ac038feba3 +PT = +AAD = +CT = +Tag = 5191a6d4ca7858b181cb47857e5e + +Count = 10 +Key = f6ff4f7c6a3b162b2e947064bd4205b4 +IV = d34dd6dcf58ee64a6d538cc2 +PT = +AAD = +CT = +Tag = 13741b5776fd9bfb503247c76157 + +Count = 11 +Key = 71aa800d0cf68382c18c93d921ff0389 +IV = d95244c568fb80989ad281d7 +PT = +AAD = +CT = +Tag = 6207a758268d043eacac37b354aa + +Count = 12 +Key = 8c4d225dc2d1b3f67a6c962ccdafbefa +IV = 52cdb32c0bdd552d9bd60059 +PT = +AAD = +CT = +Tag = 12373c29702d10a5f294e0fc8661 + +Count = 13 +Key = 7a9ecdc3775b50dbe4f55af7f67b567e +IV = 601fc5721c5c473761b49af9 +PT = +AAD = +CT = +Tag = 29c2b71cc7f01c2639e65d39bc29 + +Count = 14 +Key = 62853db3ad761d78597de81e14073774 +IV = a3e02969b6f2e607c084e869 +PT = +AAD = +CT = +Tag = 1660e7fb4b64c17728444b6b94c9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = cde2f9a9b1a004165ef9dc981f18651b +IV = 29512c29566c7322e1e33e8e +PT = +AAD = +CT = +Tag = 2e58ce7dabd107c82759c66a75 + +Count = 1 +Key = 94ca18cf83f43c36ac3b66ad1608b211 +IV = f20f406f68ac5eaebe9f4faf +PT = +AAD = +CT = +Tag = 28aab196649ed373457c8a9209 + +Count = 2 +Key = d6d905cb881d4314a34737e37a045e5d +IV = d26484a557e90c78b9168d5b +PT = +AAD = +CT = +Tag = 5cea9c7da9b9194631fc024e04 + +Count = 3 +Key = 81feefc065e1ff451a0611e7a475c0ef +IV = 86471f7a240a625b48bea8bb +PT = +AAD = +CT = +Tag = adb5e4f72559d25f07726e27b8 + +Count = 4 +Key = 1cba68d2e85cddef96cbd094da4dbffe +IV = 51cfef988b5784c131d66284 +PT = +AAD = +CT = +Tag = 6fd8149385fbfc931bfea76f42 + +Count = 5 +Key = 2a5085aee7113e122a4856174dde2188 +IV = b0a14323afab7248e62b1178 +PT = +AAD = +CT = +Tag = 7227eb69a2a3e6f2dc1c774c92 + +Count = 6 +Key = 0e9576dd17dba0abb6024e8a4c3e1cae +IV = 661ec09caed7c5eb74411424 +PT = +AAD = +CT = +Tag = 3b208eaed00846e91c0980a350 + +Count = 7 +Key = 4978166d928d010078e1478589f3e93a +IV = 5913ca0ef5522e7bef5ffda0 +PT = +AAD = +CT = +Tag = 57b1413d00ada2b75a3de430f3 + +Count = 8 +Key = 00081c7a8eaa11b1acf7f8f2f0a2600c +IV = 241197bdf3748b6c2c9ed73a +PT = +AAD = +CT = +Tag = f8e14638afa3c800f6ca6c9cdd + +Count = 9 +Key = 195214fb0f8d15ad35e9928b4d4da6ad +IV = d029c892ff1ac7aa7b71a4c1 +PT = +AAD = +CT = +Tag = d58a50eef5005d62d4e4554009 + +Count = 10 +Key = 70144dd3313a05bc28c68268916e8a5a +IV = 7959877f9aa72b63585acc88 +PT = +AAD = +CT = +Tag = 35deb828401aaabc66b49e0f80 + +Count = 11 +Key = e310246f9facb46ba77311c3ad0f5bbd +IV = cbf263342a8c1ffe435afdce +PT = +AAD = +CT = +Tag = 4b179bbe6fea3e7dbc39b376f6 + +Count = 12 +Key = 47f06ae3f7fa3eea425d07b324e3150f +IV = 39533454d255c70fd0c93a91 +PT = +AAD = +CT = +Tag = 508c82e2cf5ef18b6de0a0137e + +Count = 13 +Key = 5ef11d5baf55626a3c4ec0fc90c34db4 +IV = b9bda03299aabe5f9e00f8ba +PT = +AAD = +CT = +Tag = 6dd48f8c344d034a82188371ea + +Count = 14 +Key = e346294fd8aa622a67fffd648dd83ea4 +IV = 496f914073a5aca1cdfe6136 +PT = +AAD = +CT = +Tag = d3ce3f09a5146498e4bf6facde + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = b01e45cc3088aaba9fa43d81d481823f +IV = 5a2c4a66468713456a4bd5e1 +PT = +AAD = +CT = +Tag = 014280f944f53c681164b2ff + +Count = 1 +Key = 6bc071acca8545c4f9e033e328bc1534 +IV = 068757f06776662b59afaf35 +PT = +AAD = +CT = +Tag = 9f44db9be016de5138534d32 + +Count = 2 +Key = b6748bc536964d2538ac70da0c353ec6 +IV = 540fb2b70bc09c84446d827a +PT = +AAD = +CT = +Tag = 6c7f64d410f9cadfd150077b + +Count = 3 +Key = 97e1511bcfa669121e7bc6f638592044 +IV = 576b8fc56f7824279d6a3e31 +PT = +AAD = +CT = +Tag = 0d75ebb86c079bce12e069cd + +Count = 4 +Key = db22845821b592f94c3d268891643ceb +IV = 6ea96d7081eb545c5925a21d +PT = +AAD = +CT = +Tag = e78a9ea51f4282a7ba8d8e01 + +Count = 5 +Key = acf1a1f2ad8f0ad5982a38a7dadf5b9c +IV = 62c44219476000223c87912b +PT = +AAD = +CT = +Tag = b52b83a1b32f8109c2a159b9 + +Count = 6 +Key = 6b3aa6085ada582fca1eb02f29a8109b +IV = 12e7ab355cd470c02cc300c0 +PT = +AAD = +CT = +Tag = 82103bf777477dafe23c3751 + +Count = 7 +Key = 8c1c81c7104858c69890b3f71f9f5bec +IV = c9936dbbc9a3dad40e6f962d +PT = +AAD = +CT = +Tag = 1f088712240c66dd1c61a7c0 + +Count = 8 +Key = a3cd7f4e287c0177477e2c77b6ecc36e +IV = c61b273be58ec78b33d0bd60 +PT = +AAD = +CT = +Tag = a2c4a1cad4ef718365d96563 + +Count = 9 +Key = 13f2d5a0616ea5cc10c4c7dcdfa42741 +IV = 425552cfe13d4e5f122d2aeb +PT = +AAD = +CT = +Tag = 21a5f5e9a66ef2c6ade149f7 + +Count = 10 +Key = 74e9de51d2255d8737d7c5f051d9f5c3 +IV = f8d97ee4e1ae7ac5a1509c99 +PT = +AAD = +CT = +Tag = d92c8d9fcdfdd9d136292ecd + +Count = 11 +Key = 08118c795434d7c4cb91816a44099ee5 +IV = 5738fd206aca110bc7d8c221 +PT = +AAD = +CT = +Tag = 9ee5fa854e2e981f6d3ee452 + +Count = 12 +Key = c251a6957483f3228c724b431a805a89 +IV = ce13299c3f888960e5ed3b0c +PT = +AAD = +CT = +Tag = d58b8f3b9383bbc0343e2bae + +Count = 13 +Key = 0f2b45495d0bbe72c6f134a52479e8d0 +IV = 17d430418c9b717b17827e42 +PT = +AAD = +CT = +Tag = dbf981fb658356f06efa1c85 + +Count = 14 +Key = 28411f1c139885772cdc2c0a46b3ee9f +IV = eb879455a6f720ee783e9951 +PT = +AAD = +CT = +Tag = 99a09b7a5d6a8faa699fde7c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 37537a1046d71481796f25f407d5bbf1 +IV = 7471c076847d67cc16e9b0f6 +PT = +AAD = +CT = +Tag = b5c76f188b101250 + +Count = 1 +Key = 36a6687613379cb50fbc08c3cb6ca914 +IV = 10f13666eb3d9c5838b1336c +PT = +AAD = +CT = +Tag = 4689c8cf484461ff + +Count = 2 +Key = 00780ddd283e2719fafa72eeaf953f2c +IV = b9dceacbe575e49bc01c051a +PT = +AAD = +CT = +Tag = 69da43ca8d31b6dd + +Count = 3 +Key = 2e437f63760cc0d588de460fb54a06e9 +IV = 7f79fe138162be1f062be1ea +PT = +AAD = +CT = +Tag = a70525025d934aa7 + +Count = 4 +Key = 2ad4e9b5d0546757465fb144574128ba +IV = 19cbc3796fb796e51b345322 +PT = +AAD = +CT = +Tag = 9fbc06a0e4a3b4b9 + +Count = 5 +Key = 87a6b7b2214dc3ccbf229beb65e1b5c4 +IV = b71ebd24479f1d056ae9c621 +PT = +AAD = +CT = +Tag = da9b3d85843b1010 + +Count = 6 +Key = bf7dfb65b5fd8b0ad440eeb961478485 +IV = 9a1d64fc58a2a7e400e823af +PT = +AAD = +CT = +Tag = 98c776adf98ae3f5 + +Count = 7 +Key = 7f5624c3435bc40696e14bd67cda00af +IV = b89e1087ed2e06e6adedfdcc +PT = +AAD = +CT = +Tag = f62383147e4fa536 + +Count = 8 +Key = 7f865865825c9dfd8e58420d7c34ec50 +IV = 5a7acfe232abce448cc2b1a9 +PT = +AAD = +CT = +Tag = 96fa72afedb3ceee + +Count = 9 +Key = 5df691598a3fd09325fc978cf83268a0 +IV = 33c5bb3756601c7755a77ba6 +PT = +AAD = +CT = +Tag = fe51b3efbda0ae8d + +Count = 10 +Key = 82ba059d8bf9d7f0a220f960f851641f +IV = 11ca3d116f5c299207c2152e +PT = +AAD = +CT = +Tag = 0539851164df5b75 + +Count = 11 +Key = 899d2df312193153f63be6107f221541 +IV = c1370bb585e92d0b2f526694 +PT = +AAD = +CT = +Tag = 1c34572b93df5656 + +Count = 12 +Key = 906f8396bfa7e45a792a47065229f013 +IV = f704d5bbdb3daf775070566e +PT = +AAD = +CT = +Tag = 9af0fdb376749600 + +Count = 13 +Key = 7a9f7eec6fe4f4d778e8935a6f39f9a0 +IV = e9261bd541a17ef8b115f040 +PT = +AAD = +CT = +Tag = 511608ca25c05a54 + +Count = 14 +Key = 23bdae040300791a79a13d014bd72e2b +IV = 49d31c7a42160d801a0b4bec +PT = +AAD = +CT = +Tag = 6f7a532401b08928 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 884eb636a277ecc4c34a43cc59075ca9 +IV = 44e8019f4026ff0c1f8b3e2f +PT = +AAD = +CT = +Tag = 054d063f + +Count = 1 +Key = f007ba7ce0e68d285213ed2fb2cba634 +IV = 4f1fc5693db405b86256d375 +PT = +AAD = +CT = +Tag = e8b7bab3 + +Count = 2 +Key = 1517fa3569aa40211e7fd028946cefad +IV = 38efc93f6ff32d094d26adef +PT = +AAD = +CT = +Tag = 10c1cc7a + +Count = 3 +Key = 25f13e514e2d5502efdc7668f6310ed3 +IV = 6c4a1bf23a75b7a7d0b07ab9 +PT = +AAD = +CT = +Tag = c882dfe7 + +Count = 4 +Key = 9cac80d68176f2068f8ffc347d8418c6 +IV = 09f308a0ca2e0cc178e22abb +PT = +AAD = +CT = +Tag = 749d86aa + +Count = 5 +Key = 42d1efa91e931c66706335bab729207d +IV = 0697d3ed3b22b2413acf940f +PT = +AAD = +CT = +Tag = f1276ac1 + +Count = 6 +Key = 75dda6dae53c8b124a57d38a4669c690 +IV = e1ecd11eb92b8a25a8695e23 +PT = +AAD = +CT = +Tag = a74ed606 + +Count = 7 +Key = 919134056cdababe692a2fdd0ee0c30f +IV = a952082329230002c3261f1b +PT = +AAD = +CT = +Tag = 01eaee77 + +Count = 8 +Key = 09dc161766e7fadd5202a661745a7dde +IV = 9b9d586fc84a525cbef2750c +PT = +AAD = +CT = +Tag = 15963536 + +Count = 9 +Key = f6814505e28527374cad6b90ef638a09 +IV = 68f8ce421247b9f1330a37fe +PT = +AAD = +CT = +Tag = e133d34f + +Count = 10 +Key = 3ea67ec91ed9a552c9d146147d6e870e +IV = 3bd91263777217456e300c39 +PT = +AAD = +CT = +Tag = 2a42312a + +Count = 11 +Key = 915e2c7c77283c9696c24cd86ea23846 +IV = 56a1e21aa9eda035e880bf4c +PT = +AAD = +CT = +Tag = 4864d939 + +Count = 12 +Key = 597b59fbfe4ce3ac7fd1c255dee91e5e +IV = 2f85684c340277f1a5b32226 +PT = +AAD = +CT = +Tag = 22971855 + +Count = 13 +Key = bfa3c84eebd868ef79e820c9d7e3619b +IV = 4506c00893cb68027fd49c78 +PT = +AAD = +CT = +Tag = 7af08d3d + +Count = 14 +Key = 1253c14c9b2e743892a80f0b303d67dd +IV = f0d45ed95a0aa413ea902051 +PT = +AAD = +CT = +Tag = 18435986 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 77be63708971c4e240d1cb79e8d77feb +IV = e0e00f19fed7ba0136a797f3 +PT = +AAD = 7a43ec1d9c0a5a78a0b16533a6213cab +CT = +Tag = 209fcc8d3675ed938e9c7166709dd946 + +Count = 1 +Key = 7680c5d3ca6154758e510f4d25b98820 +IV = f8f105f9c3df4965780321f8 +PT = +AAD = c94c410194c765e3dcc7964379758ed3 +CT = +Tag = 94dca8edfcf90bb74b153c8d48a17930 + +Count = 2 +Key = a82bb1edc7c01a3689006f34bfed783e +IV = 963836b67b188becf9ba1411 +PT = +AAD = 9d115bb9bbd119fb777b6316065a9ac8 +CT = +Tag = c491889fa3eca4544ba0d51b8e0f3837 + +Count = 3 +Key = b9782d0a5986c63f352d3bc4c7ecc96d +IV = 4541e15b92edea44eceb1f2a +PT = +AAD = f1a9f0723429c5b26185ac3ea7e13d7a +CT = +Tag = 74d0d36949f0276670f9ddc579e94f3a + +Count = 4 +Key = 59b95785b30f205679fc4f3f9a90102f +IV = 1908787cc1e1880a6ef5dd17 +PT = +AAD = 39852d3182944a5177db277b63910702 +CT = +Tag = 8f9a96c013992485b43e2b62745ad173 + +Count = 5 +Key = 34dd7926ab13d4078160d87de2e3c724 +IV = c11ccdaf798ab03af2d97ef9 +PT = +AAD = af698717a6d790b3bfc39195857bb5ff +CT = +Tag = 48116050bbd9118270d0be252d29d5d4 + +Count = 6 +Key = 8ec86fab55aaab0e77455e9cd3dbc78e +IV = 15fd90a9867e14f0d63b53b9 +PT = +AAD = e7509e276209a6d3ecfabb53ccdcd236 +CT = +Tag = d96d6ac0d309cebedeba2af9f262132f + +Count = 7 +Key = 66b2473d9e0121666d47633f7008eb1c +IV = c1716c68a24d57770b867e51 +PT = +AAD = c20f686317d67e53dd79bae5c46dc111 +CT = +Tag = 9a08616809cf15247dfeb9756ba4f609 + +Count = 8 +Key = 5b262a9d00904d30a2587caade091381 +IV = f7bc154ca562e8f2c1845598 +PT = +AAD = 23112d078c9914fa3dfe5218cd191016 +CT = +Tag = 98854d193a06dbe32ce4497eec5c9a8b + +Count = 9 +Key = 2e4fb9cc320188a6f1fa89a7a252273a +IV = 7a6d4ee69c7256c14fba8f5e +PT = +AAD = 80ba4a202a68c3590d6557912c6f878e +CT = +Tag = 9280313273befb8afa0bceca5a966d85 + +Count = 10 +Key = 5ea94973d8616dafa7f31db0716d1729 +IV = a05b62669d250e61b077d28a +PT = +AAD = 9620baf2f58d013f8a4c4871989c1b17 +CT = +Tag = 7e550398dee728256d6928cdaac43b73 + +Count = 11 +Key = 910385f6f07f9e57e483c47dd5206bcc +IV = 518f56e33658df311d42d9fe +PT = +AAD = 5d157909a2a4607117e77da0e4493b88 +CT = +Tag = a7041ea4a1d74d9e66b9571b59b6a1d8 + +Count = 12 +Key = cab3af7a15b430e034e793bb30db8ab2 +IV = 963a56e2e12f387062e18498 +PT = +AAD = a094a1dd1121d3aa52c81e8f10bf9f0c +CT = +Tag = 1a31d295601eb3c82a54b234984ffdf5 + +Count = 13 +Key = 89c949e9c804af014d5604b39459f2c8 +IV = d1b104c815bf1e94e28c8f16 +PT = +AAD = 82adcd638d3fa9d9f3e84100d61e0777 +CT = +Tag = 88db9d62172ed043aa10f16d227dc41b + +Count = 14 +Key = a4d994c4ac5ac0f02913245714fbe235 +IV = a9472dadcca8d7e0e3b8084d +PT = +AAD = eb318b9e17575203dd29ebed20ec82f9 +CT = +Tag = 323df7f33694106f56739de0973216a3 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = da0b615656135194ba6d3c851099bc48 +IV = d39d4b4d3cc927885090e6c3 +PT = +AAD = e7e5e6f8dac913036cb2ff29e8625e0e +CT = +Tag = ab967711a5770461724460b07237e2 + +Count = 1 +Key = 4f16e6db1381f175e0ba758ae289309e +IV = ad7fea23ea9e322df7f0db31 +PT = +AAD = 2888d18b7eeeaf110636c59c3ca650a1 +CT = +Tag = 75fa584800c7d25ccab5d778b73169 + +Count = 2 +Key = aa09ff707aed65795e199c92bb5c0e45 +IV = fbda440304812c9f23e65ec8 +PT = +AAD = 80da3c697c1546b1fe5aa0163325d4f5 +CT = +Tag = 3c51383d29b2013113c855a149e849 + +Count = 3 +Key = 1880fc65d88dcc6027901ca7ec84622b +IV = 86de892684703803f462e145 +PT = +AAD = 4a5e812e997ed236829b2b9c6aa8afef +CT = +Tag = 648ef2320a05fab2abf8b62a95ddd4 + +Count = 4 +Key = 27f93101ffb0d0f5c6e0472871c657a5 +IV = 1f99a823005eb21d2cb87d4b +PT = +AAD = bae74cbf0e5d170186692d4c1b7e0705 +CT = +Tag = fd0aeda834f738783c944e3015eced + +Count = 5 +Key = b17b8b8df0f6cbe0ed7a7be5fcd9f3fb +IV = fb7c4b92a1ad27e7a262d8ee +PT = +AAD = ea6a3dfaedab984262ea385599a76f25 +CT = +Tag = 232b1900cdd16b832ec3c1954c0cfb + +Count = 6 +Key = 3849dc0a55a55decfd5fc5f44a180601 +IV = d243066846ad6a92f65b5e31 +PT = +AAD = 60032312e2c7220eab498b27b0015191 +CT = +Tag = a4948cd495bbd666a32483af059d53 + +Count = 7 +Key = 5d0746261dc75c67ee4f0c92b77d6763 +IV = e39f9f8b115a74ad1424fa60 +PT = +AAD = d64862c1c2f536b58080cfe1f43540e9 +CT = +Tag = 00cf1aebea5f5266c3c3b586054ec5 + +Count = 8 +Key = 9575e5e9d3932f5581110d8d906e87fa +IV = b8a3bd04866f474cb9e35279 +PT = +AAD = 11f10e16157a35c853febdd7e91ff4d8 +CT = +Tag = d67bd130107972bca1591ae0f104e0 + +Count = 9 +Key = f37886f90e45c3797f647d7adbe6fbc8 +IV = d4c73bb5d2a704d7b779fcc6 +PT = +AAD = cd4077fa5118d77ffe917d4df6e36c87 +CT = +Tag = d56756510bb1866a3fb6a5a0ea19de + +Count = 10 +Key = aed2c7f6e7058aaa085e50fb9a7700b1 +IV = 2fd8695699c664dc6cc79c8f +PT = +AAD = bf9bd0c22640557a70e0923e4d715fdd +CT = +Tag = 67e3fe12fe891cff28a63964c161ad + +Count = 11 +Key = df9d3d2185b6ba13ae60df3760cd7a23 +IV = b4555a37b2d2351c0e063438 +PT = +AAD = 4e130ce53fe89ca4f8206b50f69dbc54 +CT = +Tag = 7f6cc173f2edd6a3c5975b404b1c19 + +Count = 12 +Key = e115af826002784735a24ae32081376c +IV = dc76d047891eed463733f0a7 +PT = +AAD = 64434a01f589d18ce8b6c6cc5532d38e +CT = +Tag = 07e24c871c1f33b27dbb36a994ab3c + +Count = 13 +Key = 40f7ecb2526daad474251df4889ef65b +IV = ee9c6e06154545031a6024a7 +PT = +AAD = 94812c87074e151834b835af1ca57e56 +CT = +Tag = c681798e3ddab09f8d83b0bb14b691 + +Count = 14 +Key = 3defdc37c2726ca09676ead3d5e47d52 +IV = 5db309a7e1c4305b1d0d8a2e +PT = +AAD = d68892719085123a4bf2704d829ed7c6 +CT = +Tag = 13e0c8b85e21acae1030731af32a3b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 7e0986937a88eef894235aba4a2f43b2 +IV = 92c4a631695907166b422d60 +PT = +AAD = 85c185f8518f9f2cd597a8f9208fc76b +CT = +Tag = 3bb916b728df94fe9d1916736be1 + +Count = 1 +Key = 0f379be1228cee5ac86e2c4deaf6ed38 +IV = ac5edd579ed0d810027c5392 +PT = +AAD = 85c2fcdd9913f2baab951d0f3073a6a0 +CT = +Tag = da0397e9323699a6d3bdbc748303 + +Count = 2 +Key = f90ef755912331eda07e47b75af3d5bc +IV = c758b66e14db1296d9b32065 +PT = +AAD = 7ec2c71386bf59e9f41492b89bd4a611 +CT = +Tag = 83a9647baf6024b443c126f631a6 + +Count = 3 +Key = 2c68dc4ae7e9caea513567c1b375c2f6 +IV = 631bb9b3e4d351ef739174a1 +PT = +AAD = aa44e67e696b213a3469d34d46be0d76 +CT = +Tag = 262a3601514358f2e275a42d124a + +Count = 4 +Key = 787cbf1c8fbccd48f2e8bb2d5a60e696 +IV = be096d6b0e3a7ccc646caf8d +PT = +AAD = 62180896b1245df166e657485a8ee438 +CT = +Tag = 80ad6dfc0ed236d28e4f3329e656 + +Count = 5 +Key = 2f1f7db4ba885d1d078b5b149e4e6e58 +IV = be990a28be9013ff60b77576 +PT = +AAD = a4544a8fc3ce44ca8dbde0fe952ede1e +CT = +Tag = fdaf7ea8190fd25adc0187910a2b + +Count = 6 +Key = ef3f09c3e5746c501f69622307e996e4 +IV = 6ae99e89a10bdbc7cdeb8ca8 +PT = +AAD = 9e23757a59e23b612b45fd3a4d58d781 +CT = +Tag = f53a41f3483d095f40c9e543db58 + +Count = 7 +Key = 63fc8ec688ecd4546bb2e2ba758e1298 +IV = a53242f44a537b2b35ee1779 +PT = +AAD = c5d33cc2ed4eb759c3f84b854f515f87 +CT = +Tag = 94ed39b115382559344eca298c41 + +Count = 8 +Key = 0a8dedb54726113f171f74625e8ba68e +IV = 2620713ae459338a78d23611 +PT = +AAD = 5ec8ec533b5c4f4767a88bc0e0eb3c8c +CT = +Tag = 8d5232c1188cc4d63b7049bac50f + +Count = 9 +Key = cfa6639c9a3bcfb7c636a2cb776969ae +IV = 9c6632a380b509d11ce4ecd6 +PT = +AAD = e63d40599dc2ddcf3a6e825f73d118dd +CT = +Tag = 9227fc1d47c7116808ae6750252a + +Count = 10 +Key = 78201221374a79a7d83f61bcf5ec6c95 +IV = 12ab9cbc253fb5b42681ea95 +PT = +AAD = 458aa5013620bb6ed376f79bd2349743 +CT = +Tag = b3a9030aeb76565242d84b562c06 + +Count = 11 +Key = d97264aafbcdddbbc56cbd4ee8fdcb75 +IV = 172f9f6af76e07e41fc443b1 +PT = +AAD = cb73d69824062edb311b3d10461de55d +CT = +Tag = 70288e6f78638080c2b0f80f0341 + +Count = 12 +Key = 4ad18ecb7273debae4e7300642f9ce15 +IV = f4ecc6d3b9ca7add9c973627 +PT = +AAD = 0af52ac54f701d15b6e2bb3daddae065 +CT = +Tag = f038432c9cbd243316a449eae894 + +Count = 13 +Key = fecb53f1ddc60b1de3589c5fcdf23018 +IV = 2bb8a51b2bcf28d0f931e95e +PT = +AAD = 711c9eb212b30b110d3b36cde1a1b534 +CT = +Tag = e9beb028e234bb0227f5ef6328d5 + +Count = 14 +Key = ff3d0fed8fa3f6b791cea6c9e67481f1 +IV = d446077f14cf200e31ef4d9d +PT = +AAD = e6ba2ddea106aff8d3c8afd72beb1e6b +CT = +Tag = 681da182c4c6aaef2f538ebcebd4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = c3db570d7f0c21e86b028f11465d1dc9 +IV = f86970f58ceef89fc7cb679e +PT = +AAD = c095240708c0f57c288d86090ae34ee1 +CT = +Tag = e043c52160d652e82c7262fcf4 + +Count = 1 +Key = 53c6ccd373ce168595ce211b6eda56bd +IV = f6bcd1ed5c611a702c9fe887 +PT = +AAD = bec559502f49324b7ae80734d4f360fd +CT = +Tag = 5934803a1ef61263f9d696938c + +Count = 2 +Key = 5cc0a67d564c45d08a2a126423167634 +IV = ef8bad47ed20b433a9d306e2 +PT = +AAD = c5865faeb3081ac232161dda44d639fc +CT = +Tag = 552ca841e1ae13d9dc64e6ec71 + +Count = 3 +Key = 6149b6eceb3600bede93a2b3888c56f1 +IV = 7a61879cf7b2dcf61fb4ead5 +PT = +AAD = 46a1b9bf9ba0d4c8d2a321b68f0fdb00 +CT = +Tag = b9fca84b0c33a979bcbcc4957c + +Count = 4 +Key = 3851c1dcc2810f201f6892f3f836755d +IV = a0545974c222c51301ed21bb +PT = +AAD = 38478121382fa63019addebab4a121c4 +CT = +Tag = 9d55d83597ae0ba79bfedf7ac3 + +Count = 5 +Key = ddd53bd717250d090499dfeac79c1ecf +IV = ae9a3fd825cdb90f34d4c5e6 +PT = +AAD = 6e05ba2831c9980efc38b8f13c17a6b1 +CT = +Tag = 3af341d8b4affe37b939e7b252 + +Count = 6 +Key = 003a3c0c14a28f1201d6a8983675f46a +IV = a9658d4734f48800222ac0c1 +PT = +AAD = 4b0d68dff73c19001f494b120a751180 +CT = +Tag = 46fcd49e8a20d5d518c6c03af2 + +Count = 7 +Key = 91ea56956135c88ea6df18f1c2f881f9 +IV = 1c2b38974071e694643a684d +PT = +AAD = c0946a0fbfcec3344354880ffce2dc4d +CT = +Tag = 110a3e1ea60d8c5e5ffb1e8224 + +Count = 8 +Key = 09812df7ffa09349dae332cc2cf793d3 +IV = 71250e6222643098c9add0fe +PT = +AAD = 3b23e8dc8791e5cd1a9af70f222c29b9 +CT = +Tag = afa93ea4530027833978a2b067 + +Count = 9 +Key = 4b90393e108e69b82d2c8af159f51f5d +IV = 6708c068343990f02022a21d +PT = +AAD = 085998c8d9582e7535a335b299f7c888 +CT = +Tag = c6da20cb2c1434a1d9841e3fd4 + +Count = 10 +Key = 40f98b30d1ac737ee1a685a55d6cc855 +IV = 1e0d3e7532fc1975676d9b26 +PT = +AAD = 37d5a019eef38492cb7146a803c9d310 +CT = +Tag = ec3e71cdaae596c60d8735e6ea + +Count = 11 +Key = a3447c9fa1852df12399f8f408cf5084 +IV = d0fbd90ebec38838501b8505 +PT = +AAD = 0e502b5dbddeb8213b43f27aaa949dd9 +CT = +Tag = a0f584e0c6e69d21e5462378af + +Count = 12 +Key = aabadd11d59f7782a73be3c2ee3afbdb +IV = 946a80d5666a66874a5331a3 +PT = +AAD = f8f28a6084693ffdc1ce23bd845f00f5 +CT = +Tag = f99d35cb48c06cbe3854e15bd7 + +Count = 13 +Key = b8072181e65a6d738dafeee989447f18 +IV = bef7e9013da37a3643c1a98d +PT = +AAD = bef7d07a72f5ffefdc6a18182102eed9 +CT = +Tag = 725f58cd800c69ee2be289ab0a + +Count = 14 +Key = ec9dcf0c295821acfd668ec29e918ccc +IV = b970513ba53b0ad0ec24f654 +PT = +AAD = 396535642394c0ba1c66ef1af5f838bb +CT = +Tag = f3bf09e541cc58b7d36378d87c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = bea48ae4980d27f357611014d4486625 +IV = 32bddb5c3aa998a08556454c +PT = +AAD = 8a50b0b8c7654bced884f7f3afda2ead +CT = +Tag = 8e0f6d8bf05ffebe6f500eb1 + +Count = 1 +Key = 5cec462e952744e81077ca8587bf32e1 +IV = 92b82fe955e5191c4341c275 +PT = +AAD = de1058c232ea393427c8b1bdaa35549d +CT = +Tag = 4d8256e1ce0c165a74338649 + +Count = 2 +Key = d02bc1b960ab390052ed27b355562774 +IV = a8e34ddc08768acb91fac716 +PT = +AAD = d4ac81635ec35caf85db8617d4a0cf6a +CT = +Tag = 21ad74890d6496f6f039077f + +Count = 3 +Key = ad396284f60aca0b43940e8b1cbf7f7e +IV = 5da140611013f806dca9ad72 +PT = +AAD = 23191d72bfec91a6860c2a04ff16a4a0 +CT = +Tag = 4d2caa267706b4b0b559ff02 + +Count = 4 +Key = 9c192c14815e12487006537bfcc879ed +IV = 5a9f7f7adf08905022d84306 +PT = +AAD = d4e73d62b5d37136044be248a51d718e +CT = +Tag = d51a9c8952494a09426b3dc0 + +Count = 5 +Key = a0abe7e6b1818c88340825989398d6f1 +IV = f1853f68a9a4f0e5a57426e3 +PT = +AAD = cd03a3e2547e2a1a49a8f546a0212d62 +CT = +Tag = 8b6c631c797e3c4ac70d6c9b + +Count = 6 +Key = eb67564f51d4adfb704ae3c1fe4969d8 +IV = c49a4426769f792223cf5602 +PT = +AAD = bba079f9c2c3a7f826cac5f6e5894a76 +CT = +Tag = 76319f0f9818a741adf5166f + +Count = 7 +Key = f38bf80b930804a8237e4a9d97b2fb96 +IV = 83802c9778e314a29cc87b03 +PT = +AAD = b95a9d07302aa8c5a8b5d400c5cca9a1 +CT = +Tag = 5526ca904c8b4e761a0a6668 + +Count = 8 +Key = 010004d09653ac96d602982fd9991649 +IV = 3b36c289ad9b00aaf89f9951 +PT = +AAD = f062e2648de876a21840f37d55551883 +CT = +Tag = 726c1ba3e4f5992ee5408456 + +Count = 9 +Key = faf8c09725c1ea11b3e7f6d4f6a29a33 +IV = 63ceef03ebef843de287fbeb +PT = +AAD = eaf8863014698310b677cb57194c6b20 +CT = +Tag = 9a76c563e07d8a64dbf7b007 + +Count = 10 +Key = 83cd2288cbe184ccb15503041a2963bb +IV = 97d6b95d1415d9524188ab9a +PT = +AAD = bf6b7e22016ff17ef3ec5de5eb451337 +CT = +Tag = 7c93e462a9463129bc5e63ab + +Count = 11 +Key = 1d6c60248947556f2d4998dec6848909 +IV = ab8c3f6d1973c405c32f8a8a +PT = +AAD = a6e1a625662d61aa2fca4d267ad328bb +CT = +Tag = 953dc71cf5c4de62f03d550a + +Count = 12 +Key = ffd5671ac46faf7b76fd63156ccf89ff +IV = 281de672bd84825f2a24d9bc +PT = +AAD = ee7f664adde7b0d6472075103c4e16ca +CT = +Tag = 45cd25ae3b4828a740131266 + +Count = 13 +Key = bbd2f58ce3e933b047993f056a4bdeba +IV = a2b5e6fe506fd2b025626e72 +PT = +AAD = b5b707c8dfbd82a747d5472c24d7c0c8 +CT = +Tag = 30c8e14a9cb3427e449670d3 + +Count = 14 +Key = f06126e4a7305188e84382cd574466b3 +IV = 694048fa392c3dd9065b3639 +PT = +AAD = f4cc5826ac3e2461840370c77b4830af +CT = +Tag = e342d5a3c1645acb7b7052ac + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = f106707b6feaf55ff3716682babb153c +IV = a8fe0334b48d9315d900e7c9 +PT = +AAD = c37b8f27d53ac3df1b8e6f705d0a24f4 +CT = +Tag = 6da65b0b5be02142 + +Count = 1 +Key = 1fd686ee2738f7bef0684726af8fa6de +IV = 9af568bab456b8db14b67eaa +PT = +AAD = 3c5ffe7207984ff3d61525a473c33161 +CT = +Tag = bf84cbde57b5a41c + +Count = 2 +Key = 417be3ae0a0fa63a7fa97e957a5a116c +IV = b370ffd811c0ff53979dbd39 +PT = +AAD = dfe131fb993be995b920a99d5344b7eb +CT = +Tag = cba4942faebe6a58 + +Count = 3 +Key = 40f8bd93727a2b763ad8f5afbe3f021b +IV = d0ab90c7e14855a347d0eac3 +PT = +AAD = f9871edbc5bf8ea7a94ccc3b0ad702d9 +CT = +Tag = f469eb3d22bb51e6 + +Count = 4 +Key = 158aaee16db9351d8806a0796f334325 +IV = 0433ce2f1e88cdffe1dbed1d +PT = +AAD = 0e62922dc0b58d70534213b1f3b050f9 +CT = +Tag = 9ef2657de3cf4bce + +Count = 5 +Key = 2955ebf56e1310a309c8c2ed49e2bf26 +IV = 82c4f52740829745a416baed +PT = +AAD = 2f456b43a670474da515f14056f2d030 +CT = +Tag = 407a7369a5a94288 + +Count = 6 +Key = 13d7b6ed593d7edd82871a85cf645812 +IV = 54695be8fff4c304f4337b15 +PT = +AAD = 4f3a340075ad5cbbefa329d9f0851ea6 +CT = +Tag = 896b97b4e9151400 + +Count = 7 +Key = 001bf5c1a1d8c0bfa72e9306945076ef +IV = f731b74e86c7cdef562198ea +PT = +AAD = 54308427521b7f3072640c1dda7a4fe2 +CT = +Tag = abdea0e9335e8c6d + +Count = 8 +Key = 6de4e59bcc76b510283103973fc95901 +IV = 33238309761fe31994475b4f +PT = +AAD = 632772628e2b9ed0d902f27dc5696dae +CT = +Tag = a80bc40f52aa6584 + +Count = 9 +Key = f336e404f8ca1e8b4c790cd12520cd21 +IV = 3c5f2516da902bb8296f3598 +PT = +AAD = b90e5cfd9adbb9c079dba1c7b483ba98 +CT = +Tag = 28cbbfe779d93880 + +Count = 10 +Key = bca734dc3f61510c223de9e1c329bff1 +IV = f0c6aaddbdfbc0d41935f75d +PT = +AAD = 3afd0f1a68b7a89a0b9bde15a64481a8 +CT = +Tag = 25f26f7cb3984794 + +Count = 11 +Key = a9a82cb82dbf14f247ffbbf6b6c65981 +IV = da9a787ffa555e0e7c9444ca +PT = +AAD = c0f1242a44bf4c7488e1a28bacd7c24e +CT = +Tag = d14bc74f940867fa + +Count = 12 +Key = c15d1611510c0cade65ac6d259ea75be +IV = 49412adc86a5a7dd08c36f83 +PT = +AAD = 43a68927e3605081fe2233b8a7c6b615 +CT = +Tag = eeb2348098ff23c4 + +Count = 13 +Key = b8e49a5e37f9982bb96dd0c9b6ab26ac +IV = e44a42188cae94926a9c26b0 +PT = +AAD = 9db96168a6767a31f829e47261683f8a +CT = +Tag = 23e29f66e4c65248 + +Count = 14 +Key = 6c35028bab8b12514a784383f6d2641d +IV = 56b40386b72d7c57adc18e69 +PT = +AAD = 57368f2728b01327ca0d47337e17d5f6 +CT = +Tag = dedb50f5d88396b4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 13dcd21d1c1430de6774067f6ad5f473 +IV = fd71056931d8d4ef3c2613a7 +PT = +AAD = 40582c192ee0c3256cf0c12ec8abe39a +CT = +Tag = b20e0bf6 + +Count = 1 +Key = 2955834f667fa5bb7d6178ff7d3b313a +IV = a14a0cbb03bcb4f6296c3aaf +PT = +AAD = 6c6b6b72d34aaced30acc6a03b59430e +CT = +Tag = 96ed4e4b + +Count = 2 +Key = 183aa33c3d5e0a33f79ce6b3dc75215e +IV = 6f83a294e0d52cc1315488de +PT = +AAD = ae73f1e18297256f15cf14a240976244 +CT = +Tag = dde53390 + +Count = 3 +Key = 4c72d44f9728849c9675c99002d5d71c +IV = e2a1058cc5df93dd79564e26 +PT = +AAD = 6fc63a2979ad06718e73eb3b76f7a83c +CT = +Tag = 7ffc7cbd + +Count = 4 +Key = 1e0447c3be308ac90c6581ed0290d451 +IV = e05601dc60864e6c7628d0b6 +PT = +AAD = eccdc3540829edc97d21850a02fa705b +CT = +Tag = f743030d + +Count = 5 +Key = 5dda3633fed52d0afef8238addb43293 +IV = 07eadc4909fb4fe8fe0800fe +PT = +AAD = 992c6a63235e3eedfd86ef6ba1b0a743 +CT = +Tag = 68b0d0f2 + +Count = 6 +Key = 950e9eee9574a1a4d2492960e9720cb4 +IV = 3e0203949a60d1bbccc213c3 +PT = +AAD = 28cae8c907b547132166c7e264e1c502 +CT = +Tag = 685eef3f + +Count = 7 +Key = 0f7632e73c9793f67126dc4ace27d21d +IV = 74b356341b1a229537781786 +PT = +AAD = 8097f81af339764b7905e2cacba7eedc +CT = +Tag = 15955d8d + +Count = 8 +Key = 386955f98aa7cf2484bb2256a796d66d +IV = a431dd7d13cb093d229df2cb +PT = +AAD = 882bca3abe8c90df5e6d8a094bcc11b0 +CT = +Tag = 9b48dd1e + +Count = 9 +Key = f6e2116d5cdbfc53876c6fbacfda654f +IV = 605b4d39996108bfd01fe7ce +PT = +AAD = a991e5ad8167ca7285a00ea0c7683897 +CT = +Tag = 91ca77a7 + +Count = 10 +Key = 41a46d5f9f6f54a2eb399652a16e9184 +IV = 5e4f82103d128c34388f8b1d +PT = +AAD = d5f95088fc77a057735bdbc2f23737f0 +CT = +Tag = cdb22995 + +Count = 11 +Key = 55796998b90a4471d6a2a602108a8f73 +IV = ebdfa47ddf0fcb098c99d59e +PT = +AAD = 958d7d1d0e7e3fca29f38b3303b6090f +CT = +Tag = 069593e0 + +Count = 12 +Key = 275e78c05dbfb61a20cab68bc1f25abf +IV = fdb78e23fb4b0c61b6b741bc +PT = +AAD = f43ca6023d6ae3e2f3eb3f7a53dac6d3 +CT = +Tag = 0fd334d8 + +Count = 13 +Key = ea86948dd87eb786f59d06d5e6406f37 +IV = 995e989bfc0b460968cb9104 +PT = +AAD = 990d0a5b33704f4e678642c7d2a56bc3 +CT = +Tag = 6943c422 + +Count = 14 +Key = c8949cba518d7afca60a2baba551baa1 +IV = a803bedcdb3bca130a21a757 +PT = +AAD = 5307068eaee8a98bde4e9b69a5d4e4d6 +CT = +Tag = 42100bca + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 2fb45e5b8f993a2bfebc4b15b533e0b4 +IV = 5b05755f984d2b90f94b8027 +PT = +AAD = e85491b2202caf1d7dce03b97e09331c32473941 +CT = +Tag = c75b7832b2a2d9bd827412b6ef5769db + +Count = 1 +Key = 952117048f77e276c2ef6580537c1403 +IV = 070b8fb46a7ad52885be1b26 +PT = +AAD = 34b088f982818b5f07dabe2b62f9547f4ed09912 +CT = +Tag = bedd4cf30fd7a4abc49bdcc3f3b248b1 + +Count = 2 +Key = 7f6453b39bde018560a16a2704217543 +IV = 0f3eecf48d68353226a77fe4 +PT = +AAD = 11e4ecb256ebff56453fa2e75e43eb9d641049e6 +CT = +Tag = b512623a12d5492b7d76d39be0df5777 + +Count = 3 +Key = 9332e433bf6100c6cc23b08710627c40 +IV = aab3db3015b29d24f329beb4 +PT = +AAD = bd843a08f0a822f8f4f76c3648380aab7622e719 +CT = +Tag = e54f1d18c61d8be15484727605b5a5dc + +Count = 4 +Key = 5773750a493096a99d84c0563fc293e9 +IV = c390ed70dc9497234413ad52 +PT = +AAD = 6012517258716c1f0035efa60a0f36b5c65e7379 +CT = +Tag = b011b264610e58082705476f040b8c86 + +Count = 5 +Key = 41b0d0fce5d31359cfd5db4064e2d46b +IV = b903e9d0cea25795a82e73e3 +PT = +AAD = 4cba501876f33e1fda9cd456e3180683e3863bd9 +CT = +Tag = 18bc39d0b95cf059cd8c25004f5e507c + +Count = 6 +Key = 4748b782e3fe5e4effeb7c67232d2b07 +IV = c5e4dcf18f86076b88a5d5e9 +PT = +AAD = 3b2fcad8739ed87e1d02e80845f120e249ea92b1 +CT = +Tag = b8ae718e2879c9cb658d5d1122e69bb7 + +Count = 7 +Key = e30cc22077d5951216d07f37c51b58f9 +IV = fc583ad159b52e0b6378157e +PT = +AAD = c3cb7be8888ef44ca5aa93dde26d2751288e1f5a +CT = +Tag = a8ce25b5dc8f84e2f5dae5f085aaccd4 + +Count = 8 +Key = 7c8b10ba75ee6ab4a997d3f598b79d40 +IV = 6fb55188ddf00dde09596587 +PT = +AAD = 2ddc0acf9705f8d18f905b8f9d472e7dbf6b91e3 +CT = +Tag = 5791d3805109c5e18adff4e80906a018 + +Count = 9 +Key = 72c7db6ca29f83641c3fff5b71c4bc30 +IV = f2000742e249ac56d5b2f65f +PT = +AAD = cd994d2d08232770927d854ef2b6ca2f087370cf +CT = +Tag = a5966df39feeba0336f0b9a3f4ffe6c3 + +Count = 10 +Key = 2833cc10195030e4a1155532666cb049 +IV = ad802b9a5c9409fa3e7dcfcc +PT = +AAD = b3ecbea2797d006c07b8ce621be3b0eccd37c3ec +CT = +Tag = 81deab8bdee0d391495eed4029a6d205 + +Count = 11 +Key = d8985bb5ac0258adad86660ebbc6d19f +IV = b5ee26f8c463bbfc27115b0a +PT = +AAD = 613f51f832fbf434b8e3fe9454ae46a862d831f0 +CT = +Tag = fe9f0b1bdc68dee6e8dc2ce12665d336 + +Count = 12 +Key = 9b8f6924dc22f1073c1a38448a2f0447 +IV = 09cdabf87d82828eca1c0c7f +PT = +AAD = 69210e4e0a1cfd5038756652790b9a8cfbbd943d +CT = +Tag = a60c104a6fb4638427a88a86c04923bd + +Count = 13 +Key = 72132213d5d95309bf7e10f8318d7c20 +IV = fb90bf283c5411230355d7a1 +PT = +AAD = a30bb17c8089c6f5f61b250a94cbbbfdf5f2a3e6 +CT = +Tag = 09191af418949fe6be8dbf13e006527a + +Count = 14 +Key = 652ffbad4e1fcbe75564395e6c1c3924 +IV = 111349636d106fd5f6a1e088 +PT = +AAD = 5f52aa85dc3ac042647e32ada050d67e59b519aa +CT = +Tag = 28d980d7bfd878c227c140de3482765b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 9bf406339fcef9675bbcf156aa1a0661 +IV = 8be4a9543d40f542abacac95 +PT = +AAD = 7167cbf56971793186333a6685bbd58d47d379b3 +CT = +Tag = 5e7968d7bbd5ba58cfcc750e2ef8f1 + +Count = 1 +Key = 2979730b3a673a9d0bd0dc63bd15d692 +IV = 1f0e3700196f35c3f473ddca +PT = +AAD = c7db483727482a0e3fb8a99d8882b80c079d7f9d +CT = +Tag = 08e0f8f0aedef811e9a97917853fca + +Count = 2 +Key = 02b41e169f57aefdb6e7e7e03531dd06 +IV = 1cbcfc1638c95c166a353c78 +PT = +AAD = c6af29f639ca82759fb3193155c1b36b2b29bd93 +CT = +Tag = 4ec609e3b351793b456bbbaf395a34 + +Count = 3 +Key = 9e23fdd84939158bcbfd59172c8c7d26 +IV = 2d7459414a28025b11527114 +PT = +AAD = 1cc6a5c51c37e13372ff87a527040d75ac1d8a1b +CT = +Tag = 9297386ca42a03653a1e91ef225a3e + +Count = 4 +Key = 1f75d2661206cd5fac0cb0402262612c +IV = 5a9b9f072b6d2c58d394e1d2 +PT = +AAD = fe52516b6acd422b4e2e7713ceeef5b28cde763c +CT = +Tag = b38f66983e885d2a49ae48be564002 + +Count = 5 +Key = 09c8628b9bc71eae19fc3c91e732491a +IV = 72442a03f4aaadc6a5ff980f +PT = +AAD = 6275edea9d48652f226d185ea5bdf1f4a6af3ff2 +CT = +Tag = 1f6c8062627c58c2840bdd484c49cc + +Count = 6 +Key = 43d9e833b4094cecf2c51813165a794b +IV = 8dd201212c16d695fdc98f4d +PT = +AAD = 8ba7dabaf272201fae8b9ef83eaf49bd267736d4 +CT = +Tag = ebcb1016c34631ac944c916594f899 + +Count = 7 +Key = 9613ecc996fb07fa8219b1502631ae65 +IV = ed385697cb0222b0ef0f7b68 +PT = +AAD = f829be525c04c5a931df4fa30e38c14daabbba9c +CT = +Tag = f97fe4ba21b1b57f723d3c052bf450 + +Count = 8 +Key = 908b192dcfe3d223a06b009f5338994a +IV = e4709b56fbbc6eb56823bea0 +PT = +AAD = 0a1e3f740733d1dd153184f2a098a460bd5f0f85 +CT = +Tag = e44b27c59f79ad622caa091101c700 + +Count = 9 +Key = 1102e09072e93f636f98b7208ef07b1e +IV = 57185640f2726565c67b30d8 +PT = +AAD = dd5f01c08da8315290fbbe270911d268fcf72fc4 +CT = +Tag = 4fefea5fa1f5dd2b0de82d3787ceca + +Count = 10 +Key = 2f43e48554ea6410d2c45fc99c777457 +IV = ea3d0ef40ef8ef8bcb9c6aec +PT = +AAD = f9eb13e525a71adebf86ce0132fd94dc1e3e59a7 +CT = +Tag = 18e91ac21b261df103d3283683a2f8 + +Count = 11 +Key = c96a1dcff7f8e0d77629377a768cc7e4 +IV = e17cab26d857cb7456928d2a +PT = +AAD = 1264444c8db773c1454b927b9392746d288f456f +CT = +Tag = bda8399f3d92d00cd34d350898020e + +Count = 12 +Key = 6986aedd2f26eb81b60cf10d49a683d9 +IV = 265c7b2020c25175102edd58 +PT = +AAD = b96315db0b70631f5561479a550e287e58f9e7ac +CT = +Tag = c6e282113d2547ad33bd33de6e88bf + +Count = 13 +Key = f3359253750f69a3cd296e7f193b8f1e +IV = e889a8f764380768404c658a +PT = +AAD = 43642007b9088fa2a3f30e22b310fdef229da945 +CT = +Tag = 1f32b83167da553a2df8534c22e91a + +Count = 14 +Key = 6772ca7e421247189b2b212c5d918105 +IV = 5376dbd9c5bf0f0d951452ad +PT = +AAD = 2323f5977a69137715dc4edf2f91579d178ddd1c +CT = +Tag = 5a7d36991a9b012a55bd6d464c26e9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = a2e962fff70fd0f4d63be728b80556fc +IV = 1fa7103483de43d09bc23db4 +PT = +AAD = 2a58edf1d53f46e4e7ee5e77ee7aeb60fc360658 +CT = +Tag = fa37f2dbbefab1451eae1d0d74ca + +Count = 1 +Key = 03ff391da4b63ffa68ada2fa31c1d9f9 +IV = d672f2b5472934d635caf657 +PT = +AAD = a9decaf6f5587aa11597e64400072889ff86c449 +CT = +Tag = 4bdf06b7698c2937ba3c79e181b6 + +Count = 2 +Key = 3e189c92e8d789c45a887cf704f9a49c +IV = af5d235d73c21525aa154a3d +PT = +AAD = cf9ea562e91f2c4ce765ac1e52287b921ad137a0 +CT = +Tag = 2788149737c6409c16a168cc959a + +Count = 3 +Key = dbdac7210fa5a811b4dcc74df272475e +IV = fa1ae0cbf7a7f4166ab53305 +PT = +AAD = 1e06b17e5be4adc99670ef110cb9bae7332ecdd5 +CT = +Tag = a66b2abb29a86c53dcaa0762363a + +Count = 4 +Key = 3c7de17a433a34e0c8513ea1155007c3 +IV = fee399fedc610d6a475391b7 +PT = +AAD = 6695bb7f89b519ae0d41bce5ec987bf0cbf488aa +CT = +Tag = 59ba2b786ece4e58796abaa75cfd + +Count = 5 +Key = 839593043b690b9faf3f22416b8ab268 +IV = 825c63b34082fdd56253777c +PT = +AAD = 3cbec3db7247823bcc63afb568297cf8081f6847 +CT = +Tag = fa3222c1d373c4617bf4015f3aa8 + +Count = 6 +Key = 5ff4fa025ddd897039382485cbbd9d0e +IV = 7dc935c7cbadd2f092e98d26 +PT = +AAD = 553919c162c1599e5f2f44a1215bfb9445555552 +CT = +Tag = 2dfefdcd22de0e0586909c117e51 + +Count = 7 +Key = c2ed21788743ee10b87e6821a3ddf2bf +IV = abbf0a9f21097d25490651a8 +PT = +AAD = 22fd27a514d8816728b46ff93208aa06a53314ad +CT = +Tag = 836ec832d61e68fa5a8ea3bf845c + +Count = 8 +Key = 8a87327919f131c3a597219c9d61db60 +IV = 38c8e41e356f9b85db7554d1 +PT = +AAD = 38e6ee0a7373280b569446074b0d41eaf8b6a9ea +CT = +Tag = 83438d594fa75735c310dad55419 + +Count = 9 +Key = 0eb77da07dfd13f51e8af68b399c86fb +IV = 6a27cbb80e228c2cd98f04ee +PT = +AAD = 651a4ab0a964bc5210b2eb40aa6a1e79a1e3c3a5 +CT = +Tag = f074add3dc2d72807c7eb0c75ddb + +Count = 10 +Key = b8bf7aa0955b116816d6e5c2e029a727 +IV = 5ac35398b202f87db7297cdc +PT = +AAD = e60e121bd979654cb387e7460033bd515c77d02e +CT = +Tag = 9cb2f29a3f394279fa8f38df097c + +Count = 11 +Key = c88f2bc6cbfee92482902fa27b4db0a8 +IV = 4482c5b445eb07166ad8c40f +PT = +AAD = 0c357c1c91b825bf536c19fa9a9fabd69cbc003a +CT = +Tag = fb4519dc1a92c4b6c059e728123d + +Count = 12 +Key = 4e5559831b9a0265889eb36ce166226e +IV = 55a892e348834190749176d4 +PT = +AAD = c489b50bed33c560bfc353c2c090125c111d8c8c +CT = +Tag = a0fecd6907875c3806abe78a488a + +Count = 13 +Key = ff34ee7584b8ce04644ce1c7c4870890 +IV = 68222f04326f6e207e62422d +PT = +AAD = b6c80177f0badf1ec17b43d8d41b2e8976819757 +CT = +Tag = fc7b491378fe927b3d15d24552ad + +Count = 14 +Key = 754c823705fa24b5d8034f5e5091c16d +IV = 5a4021b09728e18a5dce287b +PT = +AAD = 929b3314403a6b4200496b7665c454abb657bad4 +CT = +Tag = 5b56847f27212c421050149a2df6 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 6bf4fdce82926dcdfc52616ed5f23695 +IV = cc0f5899a10615567e1193ed +PT = +AAD = 3340655592374c1da2f05aac3ee111014986107f +CT = +Tag = 8ad3385cce3b5e7c985908192c + +Count = 1 +Key = ad944d45db10ccab4bb8869b8ec37449 +IV = 079c501cd5b086729776fbab +PT = +AAD = ce0e78c16533d5667bc3863b09c2839653dafc9d +CT = +Tag = cab5d1ecfb0340c94a2588b334 + +Count = 2 +Key = a26fd985e5806222945525c064fe8044 +IV = e2f2126e87665fc32aafa272 +PT = +AAD = d44d513531afe34a3d46034b0c4aa8a32b88f7a3 +CT = +Tag = e1a17e037190ff1a27cfcef78f + +Count = 3 +Key = 4b75697707af2b35dea37b6417bb52b1 +IV = 2fa783e9f72badad465afb07 +PT = +AAD = 9e041a365a8b2e229a230c21f17e64f379178c51 +CT = +Tag = c494826e5d823b17f7570389ad + +Count = 4 +Key = 7d94512e1730cbe1e982a28d4d1008a4 +IV = cb3f9fd6b6a8f4e3d892f7fb +PT = +AAD = 8955d82ce3c65d37bd519e064a5e1692ea4cd458 +CT = +Tag = d3dbb5bd7b0e3a51e8697c09a3 + +Count = 5 +Key = 00e321c04f51c15dae1556fd563a7520 +IV = 37094b9c438f8d186b59d9ba +PT = +AAD = 82de2c096bed45d7b632062813333af11660811e +CT = +Tag = b5e227e3b93c7a314362d6971e + +Count = 6 +Key = f418d45852cd11e3c6d950128933b5fa +IV = 1ab242dbab05a4d9f06d83d5 +PT = +AAD = cf973324691d6535a9aa9c68ddb5458e339c2b2d +CT = +Tag = 406ffed5f944ed492f6477a792 + +Count = 7 +Key = d8b4c53fcec9403598a3ab38dae4f524 +IV = ed6d26ee86a8dcaef1ca3ad1 +PT = +AAD = 470bfa5addc117dbc85908d075c42ddaf5072ae5 +CT = +Tag = 8b089c4ab4e441c61d90ee4404 + +Count = 8 +Key = 9e769a20006702a3b6e22d405e2d3336 +IV = 05536386e9d00db7b8afeb41 +PT = +AAD = cd82a1d481ac5f90b25cd5586cf30db9ab2c6d4d +CT = +Tag = c348b65d5fee16eed18057e963 + +Count = 9 +Key = fcdc70156485ef1fe2cf7c5fa53e22c4 +IV = df2a027b3a2a50c7fd92702a +PT = +AAD = 4bf8b2e84591f4782b36a133de59a1783dda39cb +CT = +Tag = fb18eedf08b765db5ec85a671f + +Count = 10 +Key = b000928d01eef8314594eb4c61d8bb4b +IV = 9d25808459a37a36eb7301c0 +PT = +AAD = 2cf4a336b881ce4debd0a104098ef3f5c65e3113 +CT = +Tag = ca3af69d019f657c6560bfcedf + +Count = 11 +Key = 651de254e0f171cca6414c5a64607352 +IV = f8ec83c5ee6b70ca79183a64 +PT = +AAD = ffe6b9475a39f3536df98828c9b4393b3f0cd29c +CT = +Tag = 4386958998c4c173c9dd2cd58a + +Count = 12 +Key = 4d56e90aa09415d311245b8ae39ea72f +IV = 07b9ba31cfd841df20dfb9fe +PT = +AAD = 466183fa0232cce7d967f80d5392e9f49b01b92e +CT = +Tag = 66fe328cec944776cf0817e67a + +Count = 13 +Key = 3a5b3a474774629c88602a7268ad81e4 +IV = 8903e597887d082d8fd02068 +PT = +AAD = 089b03e65c4eeda4a585d3eab852525c6d1a8a18 +CT = +Tag = ea75330d5a1629ab44e88fb481 + +Count = 14 +Key = e2f10b745a13681e81a5d54256c689d8 +IV = f8b88a1278ed9f1a950d226f +PT = +AAD = 86c7c99769f60298a04039e4c4596af1b1050dff +CT = +Tag = ed41c4b8757a93e3b0b56865e1 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 4df7a13e43c3d7b66b1a72fac5ba398e +IV = 97179a3a2d417908dcf0fb28 +PT = +AAD = cbb7fc0010c255661e23b07dbd804b1e06ae70ac +CT = +Tag = 37791edae6c137ea946cfb40 + +Count = 1 +Key = 7d0fb801feb1f7994a7c1a4fff3f7fce +IV = 2a028db6096d8f7e6fe751ca +PT = +AAD = 98dd4fa2912faa62f7f77656344598ff91008abe +CT = +Tag = 87722e975b563e177ed56aaa + +Count = 2 +Key = 2543a0eae7d2639f7fb01549cff6704c +IV = fa78a44a929413ab96dfb0f2 +PT = +AAD = 83165af5e5fbbb95716cf4e24ac6abb238cda181 +CT = +Tag = b5e3ea1b6282e48be0264865 + +Count = 3 +Key = 63b744fadf33b589f158e5326bc513d9 +IV = 1dfb4934bf16632b11bb2ed7 +PT = +AAD = 6d83f01968702885d7055100505a9c8bfbad2550 +CT = +Tag = cf26b6352967a0b55c8bfdbc + +Count = 4 +Key = 98a3104ed87f7daa2dd3fca924fa28e8 +IV = 8fbe7fb4b5261e036125052b +PT = +AAD = 6cfd3a7f02ecaf043510163ed820bf608c7c7164 +CT = +Tag = 745924a23a7659d5dc4cd50f + +Count = 5 +Key = 90d0fedb1e2530532383b621abe31836 +IV = 32416b7d4c1274f991ae3750 +PT = +AAD = b874cf9d8d3d7cd584ae8a43cd303ec0e004d49a +CT = +Tag = e86b4439b0cafe13e2b9760d + +Count = 6 +Key = cd3bf44ce80a0a59819c4749a6d8a393 +IV = 414ac7edb0a5451341d155bc +PT = +AAD = 96586c0b91b137b3b19933db89bf7b0ce6f0febc +CT = +Tag = ebf14f23e535b97a24c9ab72 + +Count = 7 +Key = 229af8a44400f8e40b0b8441759605d1 +IV = 7d923ee8580a321cea7243c8 +PT = +AAD = 71ecc3f47938ee7465e40a675fc41ca4d6a735c4 +CT = +Tag = ef3cfcb3db18c850039618d2 + +Count = 8 +Key = 21abca9f07051ca8e1b251b2c4b35482 +IV = 4e99b94e1bbd1ca834cd72af +PT = +AAD = dcadf69ad72f594e79b32c47372153fc9b231ef4 +CT = +Tag = 02ca66bd323a0185ed93f9a2 + +Count = 9 +Key = 30bbabd0cd93933f5b5dd53bb9ede129 +IV = 1b43dc6b525bf58710e8737e +PT = +AAD = 48d8eabb163cf9039072f4b1b4946a5be029166e +CT = +Tag = 9b1291affcb4c30db2dd244f + +Count = 10 +Key = 64ee9c01ffe3c099f95086b10674559e +IV = 7c93dcc236561368bfade43f +PT = +AAD = 7a3e133067d8e26dbd0d12f2df77226d6d2bf8e3 +CT = +Tag = e9fc9923853703bedd45ab5a + +Count = 11 +Key = e58de3bdacf747de755875f1d635bcfd +IV = b36dae08532cb08755274692 +PT = +AAD = 7d210a05c49e63159d64ba2760949f8489e5917d +CT = +Tag = 18c1a682a7f932b09e51ff11 + +Count = 12 +Key = 4faa474faea207c1c3efc1f977f876c4 +IV = 8559334bc460ae3ced885d4f +PT = +AAD = cdde674facec5b8dce8fe3fc5a9e464da13605b6 +CT = +Tag = 7d9df18cc01aa1ea3310b998 + +Count = 13 +Key = 4a5c2011a25b67b0c16cfad9892bd174 +IV = aaff7b3915f96228c47acc4d +PT = +AAD = 825ded8c7a8448f36dca8ac9a0dc20bccd9255a8 +CT = +Tag = cd4a277c4bcb618da7a7c5dc + +Count = 14 +Key = 6893937eae77efc03b5c4d490a4b3835 +IV = 6438fff8ff4410836c6be104 +PT = +AAD = d2fad17db06364e95b5a2a8dd080dcf65576f7a1 +CT = +Tag = db607294799e843ddc35838b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 3f8777b7c6a4d0962da25da68363f84d +IV = 73f30f2b5aa317f9fcff5482 +PT = +AAD = e12756b90bac548fb300756668dbd0e395ecd5ca +CT = +Tag = cb8e9900c2dfe6a6 + +Count = 1 +Key = 5cd31d2ceb77c3f529be2de19fb88af4 +IV = d175f29f7c8b50799e3527a2 +PT = +AAD = 097ff0b4d2ddf6a2dacc1d2f37cca49db9ecf6b4 +CT = +Tag = 316a3ff18f1094c1 + +Count = 2 +Key = 61cf20f95abbb988e50218c5bfda9991 +IV = 3dd687e0da8f917920c9a66f +PT = +AAD = 0746f6302aa8dedf9118a492ca9c21a2e2a26189 +CT = +Tag = d7b79f83ed6c77e6 + +Count = 3 +Key = 5a6a65890684bda9556ac969a6e83643 +IV = e4a9a1b9c25b1037bf2c0ac3 +PT = +AAD = f694826ee159ede001d63455fe9db2d69b1d6830 +CT = +Tag = 02b544590a8c7fa2 + +Count = 4 +Key = 8cd380c94b29bad8c67b0c411c06cefb +IV = 420321d8d9ba4798e9fd0ec6 +PT = +AAD = 565b4a1ace9cc747ca9c8b0857d3c61efc7bcda6 +CT = +Tag = 7e127b0988a70a67 + +Count = 5 +Key = 445658697b871089a4c608a57bb924c8 +IV = e667d1099fbe4bd2dfd18f20 +PT = +AAD = b31d20a4612184f109b217ab286335a056b66cf5 +CT = +Tag = 71e83dc62bc8e824 + +Count = 6 +Key = e0142f6118095a924b4ef1db1757aa72 +IV = 9bc84c9cad8ab71a45a3e825 +PT = +AAD = 34492d7a69d4a3dc0bddca7a4986db603221746e +CT = +Tag = c31d128a2c327eaa + +Count = 7 +Key = 154132c639d0f7ebe6dc60f966bbc8ab +IV = d68a3c4c537d6eb2ea7f1954 +PT = +AAD = 117310afbd9e7a58c90438cbd5e562003b72af11 +CT = +Tag = 59789ab02ac58b7e + +Count = 8 +Key = 1dba2244c84e5ca3d5ec80de2896bcbb +IV = 43a4959c45b739a187c77522 +PT = +AAD = d78c7609b18ce4abb8efe3781338b8bffcb48742 +CT = +Tag = ae1e86d0aa2d91cb + +Count = 9 +Key = 8d1c021dd19c9f499c7ac86a8ca0b316 +IV = a00629b3a8e961a852acc3f5 +PT = +AAD = 159a436588a601cd2915f4eacd35518f33c2dd8f +CT = +Tag = adb7169b77899f30 + +Count = 10 +Key = 69985acef9c7ddf6bec2d190d61026c9 +IV = 01e8084a571ac08280998516 +PT = +AAD = 33ee001b3a92278f59dcc632630d42c15caad86a +CT = +Tag = 9696f29179aa49a3 + +Count = 11 +Key = 2bb2a351eac99e4f49ea0c785f31e1b7 +IV = 041aa1d48f22a03400dd0867 +PT = +AAD = 42bf75995c21ca18748093ba83735975534ae0fc +CT = +Tag = 25b5488a69cf2a4c + +Count = 12 +Key = 22c9a15298d3a13893c5f6ba35c28462 +IV = 62cb20b63062018f17a99b1b +PT = +AAD = 3bf1679f22f0ac063f948474bdfd11a9082bd1ca +CT = +Tag = 8bfa1bb64d428d8e + +Count = 13 +Key = 18b466842ff36ad0ad92db6ebb7fe17c +IV = 4a887f6d553ff5b6b35578b9 +PT = +AAD = 7a765f3319d05a08d0c3f5861cfdd06826cccaff +CT = +Tag = ff6ca3e1fb6e90db + +Count = 14 +Key = 511ca8a61311242b87b762d10329b1e8 +IV = 21f459bbf6d4bffd5ef7c78d +PT = +AAD = 20d509bb7eae14a52b630aa41a4b30236af35287 +CT = +Tag = 7e0a5d9c5137c019 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 1ea8bc7bc395877342e911d476ae32e2 +IV = 3333c4f484aa2f906a8e7c28 +PT = +AAD = 30a5a9270a017047eab5bf10effc5055532b874b +CT = +Tag = bd514ad3 + +Count = 1 +Key = c8249ff7ee4f313652162f7b473d0e41 +IV = ed6a73551f7866c0c6303dde +PT = +AAD = 796cefdc03dc959372d5ae3e8bdacdefc45deea4 +CT = +Tag = 0f8583b3 + +Count = 2 +Key = 257e4e6227d3473bae390d92c48a87da +IV = c5604735e783b4a7ad9a15b9 +PT = +AAD = a760be9b788eba9c8761192688f05b584f2c3e49 +CT = +Tag = 7bcb3f7c + +Count = 3 +Key = 89ed6e044ab2fdfc18951856bae20d0e +IV = 5b024a5aa669d9a18d5d9272 +PT = +AAD = 3b234c8a8d64c55116723779d2f534821645dbb8 +CT = +Tag = 8f696bca + +Count = 4 +Key = 10aba583a426d4f2a5bbe9f6e2b40d43 +IV = 9e4382453a92742a5040b4c4 +PT = +AAD = e9fc09dba29442804205f156760dbc0935ee2843 +CT = +Tag = c321b7d4 + +Count = 5 +Key = 13799574c68cc34460e0b8f999df1569 +IV = 328821d487d98dfcf862f5f3 +PT = +AAD = 333f86cbcbf1f6db76443cf165fc40bef2899b76 +CT = +Tag = 318ac837 + +Count = 6 +Key = 8f94eee3f318c2a7e28d9c77074607f0 +IV = 15dafa325c1c5e36dd472911 +PT = +AAD = 19fd41991afe491e1bde2333e5e217b06975fef8 +CT = +Tag = f2514110 + +Count = 7 +Key = 51271ba2eadf19731a6c721c991a29cb +IV = 858506bf334007e7321a7b01 +PT = +AAD = e0c07af6c80b8b15d148c6c33e9622b9bf3c8e9b +CT = +Tag = f1ee2386 + +Count = 8 +Key = de23a487683aa5caec7e447f271d6afb +IV = 142d53b80c49957da1a997df +PT = +AAD = 6ac87953c4d354b6a68fea63d28005106f065d1a +CT = +Tag = 7d9d3de6 + +Count = 9 +Key = d10a4b830da38da587bff8dd4621b72d +IV = 35c875e96e47c62c2b4739bc +PT = +AAD = e4ae98ea98a4550d26de35ac42a4fee2c7ed8f96 +CT = +Tag = 3e10ecb6 + +Count = 10 +Key = d3a1fe1f1f13cf7594b882620d45e9ff +IV = 4f15c8f8900ebf32eef021bb +PT = +AAD = d664ac47248b39a9874d005396fb58a8a465477a +CT = +Tag = 11dcb40a + +Count = 11 +Key = 096461bceff6e8d7010fff838865761c +IV = 022addd0d56aa5166134783c +PT = +AAD = 043884965dc4dfbfc1a16f05b29b4697c7b75640 +CT = +Tag = 39ad5b55 + +Count = 12 +Key = 1e2eac615655602fa603bc47bc8ded58 +IV = fe3bd90d23912d33742f5601 +PT = +AAD = ba419492fc9bca5a2ee9c9203c5070a7edb64526 +CT = +Tag = dbe44ce4 + +Count = 13 +Key = eb318a01e492c05dbcd9c3713da525a8 +IV = 607653b07e1106eeb5eb00eb +PT = +AAD = d29a1fd553e54491f8280314facc6d8469fdd714 +CT = +Tag = e50be32f + +Count = 14 +Key = ca21edc92eea68054cbb1a0ff5a5d6c6 +IV = 4bc6a554d350ef5d4e0dea81 +PT = +AAD = 64cb339ab9fe6e8a09912256965a779c554fcc57 +CT = +Tag = e949c727 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 99e3e8793e686e571d8285c564f75e2b +IV = c2dd0ab868da6aa8ad9c0d23 +PT = +AAD = b668e42d4e444ca8b23cfdd95a9fedd5178aa521144890b093733cf5cf22526c5917ee476541809ac6867a8c399309fc +CT = +Tag = 3f4fba100eaf1f34b0baadaae9995d85 + +Count = 1 +Key = f8e29efd00a423c4ea9456863f83c54f +IV = 2d3cf67cbce69d639bd1c092 +PT = +AAD = 02c70fc8a2544619c1c3e9fce6b3c6c3bc24643e0f140e6b48ac505ea666cd9a2010c3a8e2f5f10437887fe803b54db3 +CT = +Tag = 963cb50aca3e09dd0d9a013c8734155f + +Count = 2 +Key = 00e3491dfcf3bec39c89ccfd80a5a896 +IV = 29f6ff4edc4ac3e97ffb1680 +PT = +AAD = 73813351b39f5e4000a9ee8d2b85f131634acaede0dd25d691a2b829ad4fe9ea699f12242519847cb083b0b4d3d8b3bc +CT = +Tag = 01b2e9ba719ad77c753b364ecc5aabeb + +Count = 3 +Key = 0ad06f4c19af1d5f602b38f86e56291c +IV = 0b235c6a75cecdfcba9001ce +PT = +AAD = 7d4f26f7895b2ef3da2e4f93e411cdb74025c7759c038d872344a45ce56d92a581862c3bace039090a2ccfa43b623dcb +CT = +Tag = b4bc9ce1475d0c93dfd5a5d8d45bd8e5 + +Count = 4 +Key = eeeb33e0c8a406ea236a075cdbe9d6f9 +IV = b935e8eed66227836ede189a +PT = +AAD = 9a4291acb9924bba4241b0c9c3c2e1262b25a7c7f02c92adeadf92254d618ab59388aa30b47eafa58899c357cf281e31 +CT = +Tag = 143d6954eb6fe70aff70da978ccd4509 + +Count = 5 +Key = 600b5442a0b550a38f85d2fb0acc9c96 +IV = 5e65dd6e8b20d6b2931fe6c2 +PT = +AAD = 461e54a092f8392466849fb0370ae30c14c1bf3987ab2ebbe98e18d13f041d09d043f7aea78bfcc42f864a9fb40f0031 +CT = +Tag = 2cd626f9a0686300cf23c0bc597c63b4 + +Count = 6 +Key = ce8d1103100fa290f953fbb439efdee4 +IV = 4874c6f8082366fc7e49b933 +PT = +AAD = d69d033c32029789263c689e11ff7e9e8eefc48ddbc4e10eeae1c9edbb44f04e7cc6471501eadda3940ab433d0a8c210 +CT = +Tag = a5964b77af0b8aecd844d6adec8b7b1c + +Count = 7 +Key = ae7114c09ffa04298834412f6a8de453 +IV = f380c2d860be2af41e1be5c6 +PT = +AAD = 7e16082f689c63e8adddd5cb2da610bbfb88d073cf8b204384a937aab0376523a50d3d5f1392978f79609f12df8fc288 +CT = +Tag = 40d3a36358a6f6caaa6af92cfd874a22 + +Count = 8 +Key = d8f520b6f3cf6b835ce4cce48f4cb033 +IV = 019a55c98615c022afff9644 +PT = +AAD = c3fb518ddb2d73417e243359a0ed8c126750eb163e7bd845637159397075e3db1db72fe2f0e13b599c333c473feb2245 +CT = +Tag = 467cfad5af11852d6eca289c86f967ad + +Count = 9 +Key = 13ba95606b01af035bf961e39852e34b +IV = 9ec9cf3b002cfed9e761934f +PT = +AAD = bb9de563836d1f1b1de964514ecebb8ad10501db562280b7bd98804814735817908b2856cafadecd40b04832fbde2bfb +CT = +Tag = 172a3bcbc5001dfd3815175a88f7056c + +Count = 10 +Key = 1c97da5fc5a9640f289622842408cba2 +IV = 6d765a988e934588163e29b7 +PT = +AAD = 1026a590816d2e1aa67aa0d13d50a8413af4d8ee9b1fa5ceb8deacc9f41e8e764b3ac15f98295e8800adf6a7175448cd +CT = +Tag = 4945a79d5edbb934c5cf94395c359deb + +Count = 11 +Key = 8dd46f271a201cc21ca0823248157e6b +IV = 1821b310ce2dba999cdf7576 +PT = +AAD = 34ba409997ceba065f4a5457078a9e232a84f594011aecfdbfbd24a802ca129e01cb1327e265b4a9004fb4c5003fffd3 +CT = +Tag = 304cc2cd2fcdd4abc844bc9c1cbe0241 + +Count = 12 +Key = 0c545d95333b6acf8b2928f3efd083de +IV = 31de89d07e7577956fa95ef3 +PT = +AAD = 5574d65f5afffb2d31cca8f58cf5945b83553cd45d2dba0e05fa54e42aa3f5a051e1624de16d4b93cbab7988c6d95f8c +CT = +Tag = 4ed91cfe90a49900e0565697bc82b659 + +Count = 13 +Key = 790b39f301383a82b377f585d3bf0f26 +IV = 2fd9c142b5fc62e87efff1fd +PT = +AAD = 45634e0afc59ae9f6e30f7f5fe43cf5a4e1f78d0aebb9e5a7ad9d86f25278e521f4845d49d6cb533cac6439839647fd0 +CT = +Tag = 69637c3f9233da23f8df7b09e8cfb252 + +Count = 14 +Key = 8f63652632d07b2a4a83c26dedd32657 +IV = 747bee0e1d462a9016f1468d +PT = +AAD = 9c00ff969b55a497dc523fa0cedaa339dc3c6ce18e61c7bf800c361201351bc49728c3bb15067e906162ee791b8d333a +CT = +Tag = bd5a0cbf859a6133a7f2d504d97cae05 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = e9f33caaf7deacf43be45407c0784554 +IV = f66aaec224fcb05c5c5f891e +PT = +AAD = 32971e5f1daa18803f2ed2fd37c459d77395623e1b348aadfffad908e862c8baf87673fef5d616e9a427b285d3d4cbc5 +CT = +Tag = ed41a470a31b549c38fb87cbfe9dd8 + +Count = 1 +Key = 5cc9c1291bcb6ff62dd0713385fec91e +IV = a2f0cda1d477d8d3c6567c53 +PT = +AAD = 7f9e59f2dbe9eb254b33b3ec9d28a711cbbe34e730d757d2cf8b55971dfc738fae9b05d2f928d28d559b19ae19bd7ed9 +CT = +Tag = b93160897cc08a3ae2a15ae4d50748 + +Count = 2 +Key = 4fe3fbc44c77993ff3a8647165725d24 +IV = f50e98bbba884e7c57267ba2 +PT = +AAD = 8ea615ab3c67330cd87018f5f2149804d262c5997787c1063758c9dea428358005db1b80e6f79fa54c41576b84c81c2e +CT = +Tag = 583800d6dc7309f2205088a3ffea60 + +Count = 3 +Key = 4fedd84c9495e7ff81db48d367305d80 +IV = d82bfb016a35b5efa5e3438a +PT = +AAD = 0c80e282e64aeac2fba241686a9b33a6bdbac1230442e79fc5c0b6926158b0bf9b8562b570d784e749b69d64ed17f45e +CT = +Tag = aad8933fdce92b9a24c2a9c2cc3672 + +Count = 4 +Key = 82a3106f45fe4cb14fd762544ab1016c +IV = 6481dc484e47b776c2879f24 +PT = +AAD = 2d756b89d5cd8d074db6c40f916bfb14e0781ee0ad2eb0ca9ec9f0e4cb91fe450b8d276b3c974377c9c3023fcb3bd516 +CT = +Tag = cb4442219324f78ed77d42f2a3c6e9 + +Count = 5 +Key = 7238e6f356efa01e825c85c1d596b717 +IV = 89dde594e74df73f9a818de7 +PT = +AAD = ad5b1a1242c776c3ccbf5a3e21c6991efc0d8a3b924fd4f2fcd2123d275d8dc83d69b94440065e7c98697f00ad2358cf +CT = +Tag = 72275c4097e40d3dbef0de7cc14211 + +Count = 6 +Key = 11df4b54c4e62515547fd0cdc4344e96 +IV = cdbb26e941f2b507a59d6177 +PT = +AAD = 8ad6424a7a34c31cc82ae1cdf2e750e16f24f6bea7c83930e45419ef946f3634ba7478c0804a161de829321b70668728 +CT = +Tag = a3bf677821cc8c6a36da1bf8bb4d95 + +Count = 7 +Key = 4d45f5bbfb1899002182df7cffcd6f66 +IV = f8315fe9363d4286174ffeee +PT = +AAD = 2893f3d6769de76b5aae99b7d4859672f927b45abaeff87f3460f001a20721238e514806a3c24a7c203aab2e7692baa5 +CT = +Tag = 0da775bccac8a351ae0be634ff40da + +Count = 8 +Key = c0a3233b7209e16137c9ae5120d764a1 +IV = 15a4e3a02fff689eeeda4fbf +PT = +AAD = 666f4fb76f8c28a664593f594118656b16d3f6089dd00c7b9e505a0a154abb4b67153a986d2ae40b207b6ab3c6ece701 +CT = +Tag = d1252484c22136b0342e0be973884d + +Count = 9 +Key = a5b38ad4d4f6d31363633cfb35c350a0 +IV = 5c2457eec80b8ac5354757a5 +PT = +AAD = 924d44e85b506144a47917ac643f697109fc9ecf38889676377e61b9101e37689a9a856a4b1379d7b65bc0b3abc10fee +CT = +Tag = 75b7be17f2742527061836ae1f69ce + +Count = 10 +Key = 053ee736ced526b47cca4570497b660a +IV = 22a0e87e73e9cc6a854c5909 +PT = +AAD = 8480e769c492ed004b22ddc990c6e2b22950bf090f23720c63b580cedf9ac4775e04aa603373fd6fc2fdeeee7bd630ba +CT = +Tag = 735a40c7fb57c25bab18202fe0e340 + +Count = 11 +Key = 32ea17b3f2c28b4b6cb081be12fc4f50 +IV = 0bcdd8d26804ebfb723487b0 +PT = +AAD = 1b09a4d859ec8f9b09eb5d6252aa901709c4a470e44d8642680ff60c8dd2a6d29076ede83c23af5122f40b9ce5be7515 +CT = +Tag = 746dae26feeda03364ad1819cb14df + +Count = 12 +Key = a52d6639b2b8cfe81706fa248eacb981 +IV = 16372e639b7b5c5d72fd0b32 +PT = +AAD = 93a9c29b98ebe899052e5ad7b77b467962f18889d5ce4aafcb6737490b6fafdb91547005677d86adc8adadac9e3b9469 +CT = +Tag = 95650ba479667909b2a65750f16939 + +Count = 13 +Key = 5988539086fdee0ccbfcf0ee19d4c887 +IV = 5b7df68803e090de799b415d +PT = +AAD = a8d94c88af3ab36ae254b447647ebc23f5de234a22f30ba447f6f6b019e925de4f320fa0fe176f60857b4167deec42fc +CT = +Tag = 3bd3f826599256f8495732c3b50027 + +Count = 14 +Key = 6ac321d3dd2e858d786f9488d2e4bed4 +IV = d67e8f696e963e865fa9aa3b +PT = +AAD = 0e7e728d51efcba3a05c44242edb1d28fca701933298c2162ff0d312f8155bde77fe15c510b6f685689e4935f072f815 +CT = +Tag = d911904578fa14b5167dd250a8aa1b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 1e6c5c5f0f383b3d5c25886646bfa4c2 +IV = a9ccce95354c3987337453f9 +PT = +AAD = 66cd9ddfce6905dc4bb8948ededeedbc30a190ce5ee26440708982335cc408da66453368570cb53d7c6e82c918f45e61 +CT = +Tag = 38432ddb259e0ab9ee702fcedd11 + +Count = 1 +Key = 7f2833b8eea314c0255a3f3c032ec89c +IV = f863f49d8fff1edb9518dd8a +PT = +AAD = 32ba4a88d37b3e232ecbcab5f15fad222f8cd64ccf80dc46520d2ce8667aa2da83facf7ee8017ecceec25c3fda1a9a1c +CT = +Tag = d0e77f8544545a6f4e95e6562438 + +Count = 2 +Key = 4bf428b965b37dd2549d43b406eb5ea7 +IV = d1f39e670faeff802a4b621b +PT = +AAD = d406c8a495ccb1f01d9a77f05409eac4501c865fa0792f1c521625725d3c1befaada0b8223cefe7555463142faa44f33 +CT = +Tag = 19695a5e20a248eb002ee62fbb4b + +Count = 3 +Key = 27d542325608747172d5b50b3f8197e1 +IV = 3483310833aede73947870af +PT = +AAD = e2aa8289d78a451c4c4efcdac2f7bbb223ec219c5e8456b0e9f64baac74f206eca0246856fc184952f284c6f4353fe40 +CT = +Tag = 54784bf4feb8b0c671398bdc91ba + +Count = 4 +Key = 828ce7dc9d19da9f23b13184b34ed65a +IV = 968aa044d69be81816d437df +PT = +AAD = 2eba7e784c226b2665c74e18c3dd47095da22c4f6036c3c6d4990ca47ddfda4c3b2c5b91d7a57eb925467ca19a97c5fa +CT = +Tag = 77716c8b9e344498b7dfe7f8ec9c + +Count = 5 +Key = ee4485cb0be9e70fb9b7c5ab2428ab6d +IV = 6cb094b7269c348fa60e5763 +PT = +AAD = c4fa93209b91ef14b6d0466bb5c3122f8d6fe8c021ff2969f1287130cf1bfdc88ce643c46aa17b40160079c2effed571 +CT = +Tag = cf92482baf63568c1e967a9923ee + +Count = 6 +Key = 61b095e8d293fcb0bb11fc732aff6849 +IV = e7b7d9bd368c99a7914c0531 +PT = +AAD = e6c68b5e80c6d4707f613e80e1cb2bdf649c7d63b098cafecfdf2c96e10e2b1182ef8b4f0003d42037bac08457ced496 +CT = +Tag = 8c4944d1b751af5f9b95f13755e7 + +Count = 7 +Key = bb7fec9685389e430838d5f3b39152f2 +IV = 0cae9a638481460bb75d9da2 +PT = +AAD = 9b7bb1c198dd1d66e1bd41231e8ff18246df5d61aff6ce452b69446f72aad2096cc6ae3c0e864470688bab78a76a92b4 +CT = +Tag = 301cc4108ba21707d20ba7bed33d + +Count = 8 +Key = bef19a3f0fd30958765186094fc44b16 +IV = 2035bbc6aa1c81b89925fc77 +PT = +AAD = 6c9ae95b39917755a3262d1d75f28e79f412c5b2175ec1aaaee0424513f32512dd7f93d1313503dcb0466427a0326abb +CT = +Tag = 6523b67ce5341ec23acc82f3ea92 + +Count = 9 +Key = 3dedce24fc990ec6fee6c7d90f2fa483 +IV = fd140d5f9e241adc9d4c0fd4 +PT = +AAD = acbbae77bb2ff756f26ccde56317623539270bff076d8e9e586c22d9c6b361a2fac0d8624657787a8c922e5d0eeae3fe +CT = +Tag = c04cc88d598d06e561dbfd86a862 + +Count = 10 +Key = 5d8f4aaf18cb2d39dbde09c48fd3ff15 +IV = c1e8241466d128ad082cc066 +PT = +AAD = 746b04854c727eeff6dbe135ff2171f4fdca4880c13eabd9c7ae80cdb1b75829f1bad5407baf38096395eb713fcc6519 +CT = +Tag = 46ddd251018f33fcd280358be63d + +Count = 11 +Key = 01903475a9e6e386bdd1c250f0117f85 +IV = 895c511701747bd44e19a6fe +PT = +AAD = 7d3c863e884033d13f11215d1cc10343c6967624dec02db229eb35ea29df31e8210fd67fcc89d16ccf56e6dc014d8b2e +CT = +Tag = 3dda6b86e9c6468a9f44fca41419 + +Count = 12 +Key = 65d0c6f2d4a1bb38753140c6a9461323 +IV = f5ae21b35be4baffe5f48717 +PT = +AAD = 5528a9d105055999510edaba828b5bd67c3e6f74302e6e72af1a584b6f3e072e947ddbeed21a1a881e77965ac4911d18 +CT = +Tag = 371337ddbcfc4b3f62e56c0aaf72 + +Count = 13 +Key = cb24706dc22d5d99f212c1a34f09f566 +IV = cc0283ff8c0ea4feef84b18d +PT = +AAD = 0170fbde3fc92b2541e05a09210805cc026a9dbd1d11ed882e9ec931a32737f7fed3f5702488ee6189aee07dcb4a38b3 +CT = +Tag = aedd30b2f5af4fc82ab0bb70d4a2 + +Count = 14 +Key = aae1e342893754172cc9890a9e363dca +IV = 0ecec8ac165902717d506574 +PT = +AAD = 8da38e93b5512fb0d85755eb948e7e39fb5548fcfed7dce98109471544bf844ba26cde03eb0569de3002d71f7015a5b9 +CT = +Tag = 6e733724b5716db5029fc5fb9b63 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 6aae9dd3d7543531cc6ca35bbe89dccc +IV = 695eddc2d843c8081f94794f +PT = +AAD = 4de3c5b86642bbb35e584b5c3bd802e7d28d58a919be232b72ebdd4cecee982d7053247fda1b1433ee37325b725327f3 +CT = +Tag = 29a4aadc562c6879ac2b6d314b + +Count = 1 +Key = bef09825be2a1b10c7bc226f00223d0f +IV = 189d8b5b6fdbef94121f7b67 +PT = +AAD = 191112b146a234d332f89ee4cb60791141d4644d8b33e51b7872c8065775cc8df6bb60d05182b12999aee45caf5f1004 +CT = +Tag = c828874735f4cce0644d7c9864 + +Count = 2 +Key = fb71708d02103960e8d7430263fef519 +IV = 6552a864b5f35d11cdb10ebd +PT = +AAD = 2e5b815820d935ffb558738adb8d6567b9cb81843faf8784a0acdd5f4d7cd88d9c927ec7cfce75463ae664a2db79c8cf +CT = +Tag = 6c2ab56d66aadaaabb4b915fa7 + +Count = 3 +Key = 87f0f00a2e4f6713c4df55199810c927 +IV = 05da47792b61f68c8199da0d +PT = +AAD = f12192eb3eb43df61920d535b8311b5b6e1a3d36a61196a5b9dfa4bb528c5ffcdb8200337dd434adbc47f8c3e6b6c716 +CT = +Tag = 0374617651fa6340a7ab48425e + +Count = 4 +Key = f581e4cee527709856ee623a55f95b46 +IV = 4967d5652963d0b6cececa93 +PT = +AAD = 7e54624c7e2a28ad1a93573948f47f75f2bb91d12836747488f29212758e721e0e39408f259a6223b263d23e5d8c76f7 +CT = +Tag = 20690d7c4c54ec9c593efc71c2 + +Count = 5 +Key = a6850fa28b0cfba2d86c9f8195be279e +IV = a6b4df8816364b6474386eaa +PT = +AAD = f5424641bd931a5dcf3e886276a48cf09811d7832235e7d97484fe1eefed9efc24ceeedf87e62df4510c170c1d700446 +CT = +Tag = 53c34df68df7a7709b688dbdbc + +Count = 6 +Key = d09c8e67a84019863e83157c4860eddc +IV = 0ff65d47df43da281719778d +PT = +AAD = ea65c2597c079b0dd0195be2469627b40d0b602df7473edaf3ebc35012fef32a35b226226595b119afbc7b5b3162f304 +CT = +Tag = 52c369bbdcbd012c027ba523e6 + +Count = 7 +Key = 9ecff011f912f4a6d66f5e72de7dbd5f +IV = 1a833e83ddafb37ce18ce849 +PT = +AAD = aadaeadfb58ff0d58b399fb2b4ff47474c5f45108b2c1ea3d2ebaf48d1f72c21513ba360cbfabeb8490106c1716bb049 +CT = +Tag = a8610b959831aae57c84765496 + +Count = 8 +Key = e5d017d52747f60d1b4bc45d54e7a165 +IV = 92c2de0fe4352deb16f826c8 +PT = +AAD = ddd55ed8a36d255491a127bf324aa40178f37f07088aedd814f796ce046d895084e4b8c4bc0ad3cb302a5a11dd3b0bd8 +CT = +Tag = 8d6b5ca578f7fba6dc549e6eea + +Count = 9 +Key = 42c2c2ca4ee5a0dde1df5c44704f9029 +IV = 695aef2d3e105db869555cb2 +PT = +AAD = 3afeb407e3b1a45c1a0c23d1677c05f3190173e441a3cf025801531a83bc133ff66d10dbd035c1dbeaabd190b61fa243 +CT = +Tag = ee79f099410c2d4757a9f5fe3b + +Count = 10 +Key = 94fcb4f20dd5a6e0e5cbc70181e6c97a +IV = 241982ead725198891b8c8df +PT = +AAD = 8922b9e5e02bcd2e012c42fa9bd71e8d43676aee13cce30ef80e950d756ae430edcf58a4b8b45ad71b4670741aa18ff7 +CT = +Tag = fb2a083e96cfaf965f092b49d2 + +Count = 11 +Key = 47b97d67a0d02d69a54daef929cad98f +IV = 19a50b379308fa332b7b183a +PT = +AAD = dad2182ba567d75dd2ac24ce1eb0f1e93aba45c93732812754e9361fd6cf6c99f55f8a88abe89d407b0b7ef6ec6413a6 +CT = +Tag = c4aee95f2e1554af24a2a82840 + +Count = 12 +Key = 38fb660e83084de4c7e59f68a6b9a599 +IV = b7fa541395a9fda7830876be +PT = +AAD = 3cd55dcbfc55e625492d0f8ca19c3f58364de734c90564c1b38448c8cfe07b6f6a31da5a7af6b25b2a5304d1af4e4b29 +CT = +Tag = 0ddb90ad122a721b21c0af55a7 + +Count = 13 +Key = 12cd531d1adbea0e76e965a2fb18f816 +IV = 0aa2402e831d68b4c1ae95bc +PT = +AAD = 530d05ac752707730e3c5dd56e173e282428fb1d479c0eec44e73beb535aa22b80469a6335603ed500d3d4c6a6c6b73d +CT = +Tag = 15c784743187f79c79e3ab59e7 + +Count = 14 +Key = d6f4cc23ec93ae4248186f5f9009af55 +IV = 58f631d1b5439b280bb212ea +PT = +AAD = 1bd9411aba6ffb1b9b5bda902c7bde69d0fc3c83732a056b61d2e9e0bef1ea4e447eaff271ad34b410c972d403c67dda +CT = +Tag = 0b42c919df0a02ae24ddb79788 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = c77acd1b0918e87053cb3e51651e7013 +IV = 39ff857a81745d10f718ac00 +PT = +AAD = 407992f82ea23b56875d9a3cb843ceb83fd27cb954f7c5534d58539fe96fb534502a1b38ea4fac134db0a42de4be1137 +CT = +Tag = 2a5dc173285375dc82835876 + +Count = 1 +Key = b128eb21527486fd987de24650c7634a +IV = c6cbdb7dd1c17e289c173792 +PT = +AAD = 9dbf8348fe3972a06ec006ab3bcfdfc39f30fd92160b08c8d01a60a3569138d310e65a17a73744ba2c1e1d05cc7dce96 +CT = +Tag = a2aeacb2294cff6859875db4 + +Count = 2 +Key = 02d8f011ae24e8f4ca4d0c00f0e491fd +IV = 9eab587cb8cb7160459b1783 +PT = +AAD = 3b9750e40a8a35ec89523176859458de3536b482e32c871a798086da483f073cf13a597e397c04b06109635be5c838de +CT = +Tag = 4fa7e46e01357560c775498b + +Count = 3 +Key = ad83f1da15575836383bd8d653347338 +IV = 1238b5ff4223856fcc6f68ac +PT = +AAD = 92a47de3894161ce50cf2585b4120042dbbd5b22e84f097b07703727f6c29fac0a44e2210af034ec14e009598595f459 +CT = +Tag = e0913b6c8e8c10c13e3a224d + +Count = 4 +Key = edc571287c2e7e398eb6b4b5b82d7f67 +IV = 687cab7df8250e8f543e795c +PT = +AAD = 4c79936fc4502f19fbfcd124ed56c6f0b3a0e965d30eb8f90719c0ae67d06868f39f8de0c5562de18e3cf3259a8cdd8d +CT = +Tag = c623aea0e70cd3e7082aba58 + +Count = 5 +Key = 16120193bc083d719610f36b678d6226 +IV = 53e1a28973774733e3e4027a +PT = +AAD = b9eaa396053621a7ac28df5e5dbdda5c1685ecee28730d5c8f7e44363f41957850ec4db4d3b76115f20766280e200331 +CT = +Tag = 4e7a7616a62c8b671218909d + +Count = 6 +Key = 5d63edbc9b3352d052600a204cf39ca9 +IV = 96f59df13e2f8f5307282ef5 +PT = +AAD = 79139fc1db724fb36ac477ee9447450e13b68f1a8b94aa22e8e7e98bb7a8f3b8108be02913b7c9b8cc07e92a2bd3536c +CT = +Tag = 0530e33e34ea338a17ff014c + +Count = 7 +Key = 1395022648599abdfa5f79993e676652 +IV = e2bd10b51923340e7ad9748f +PT = +AAD = e929ce24e63796d161890fdc85e3196a8df14368942848e08e37eeba378a33afda1c3efde886bf307fa9d5d5479f372b +CT = +Tag = ff05b9c19be433e275c16f71 + +Count = 8 +Key = 7cef5ec4b16678bf8d655b07519c6d9b +IV = 1de85d14c6d6651a015bdad1 +PT = +AAD = 3c5d0681bc5eb14c161022239450eda3f702b890d16b89effb285aef4eb2fc1244dd36f4870a0743304f6820dbd3a0de +CT = +Tag = f81d69d2de12ff1d12dff2a7 + +Count = 9 +Key = f6ccb2a3ea8cb9d2493f6d05e5b743b8 +IV = 3af767ac78e8d642c94bdfcc +PT = +AAD = 750e5186c4f28f67db3a7084464cc59b23098aa79e06d96d07695b28081f2d91d13fe757bd0c1c1342500d7d6b020698 +CT = +Tag = 87ac8a9c3e1b0a74c3698e78 + +Count = 10 +Key = ddfb64989a4d7abbd9ef5982c3e6a002 +IV = 1b14d13aea50e78b02cb2c2e +PT = +AAD = 89257a6ae1c65b6e448b693279442764de363b76ff73ae399f6abaa4378baf037033cee5d1dee29c981bf846788a36bb +CT = +Tag = bc294e9359c10a04f452b248 + +Count = 11 +Key = 506e665d2b5a3d328bef990137d638a5 +IV = efa5bdaee0a5570230570a0c +PT = +AAD = f476c32e38811ee60d310b316b0710328ae95f8ca59d149ba6f9137b388af647e41ec9f4ad657e6549c6e890f03685b0 +CT = +Tag = c1dbc90bc232c245a8f61b0b + +Count = 12 +Key = ca1a2c3a538c223aed0ca4f033e277e9 +IV = 0b908f62519135bbae275ac0 +PT = +AAD = 683b818105af0d14c8a73a9120694437e42cb6cdb0673fb91dd2f2b1a54034f52eef2de2ecd996716c787ee5f65df73c +CT = +Tag = a65fbd6e9fa230909e578248 + +Count = 13 +Key = 1dd2f0fb1371688557e480b9a4d78c40 +IV = cd57bc33c91d74b63568c1b6 +PT = +AAD = 30d57a5ad4fe998d2fe54badb3d5359029538557ffa69d4cdd5e6ffbd96249a030b5e781baaed669a935a8af434662eb +CT = +Tag = 00aca8f6a60c31f4c88d569d + +Count = 14 +Key = 073d9ea0bfcf210d37310dd3495478e9 +IV = 3e0c1e81a41b6bc9b57fcd20 +PT = +AAD = be4010cc0f27f082e262fc48f07685086230beb6b445b85bd12a111aa9fe86e71121bcf8eeca36f9e7859c0afd674f64 +CT = +Tag = aec101de7b38a40ffe159fff + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = a05943f605470563043528153c07c4ee +IV = 0c4ac1e4df5437ff40a7417e +PT = +AAD = cdb7eaed8ee623767b42011c4e4d4cd62b348a8ab68ce7c7f848f3b6b828f92ccfb6e27bd4fdcb892ed1fe701f91f0ec +CT = +Tag = d024e82511880474 + +Count = 1 +Key = e24f7aca18ae3abc8b74c3e22b8b6583 +IV = 6762f4167d21444de6d60bad +PT = +AAD = 5a4a31918847aa8b5c80a37be1181830ce815188914bd5bf24b7edb237fef760bf39f343c9cea65f5a253f1b82b7a042 +CT = +Tag = bf0b8979377271e2 + +Count = 2 +Key = 63f722659bdcffd20a251097c7145baf +IV = e3f1c1740a31c41d8efb239c +PT = +AAD = be274c09e151ec74a2d8480019f0c6fc05ee5b79a78e18ca0ff7b5da49f21c690d0ed521fc3aaabf9036e6999caf1784 +CT = +Tag = e29b1c3e7b63ca72 + +Count = 3 +Key = d6d4086154dcc7dd2351c3d0b46311e3 +IV = aea55275dce0abcf8ac1caad +PT = +AAD = 8c35fa1d3633f284cb9dbe33087612566427175c306a7cf299c831b8ea6fed7d4e11bb36d127078bff56222ec80096c8 +CT = +Tag = bb934ac83b53708e + +Count = 4 +Key = c9dd738af45203aae0c6da1cd8f8861c +IV = 4ba25b0ec7ac2ab7d2aa04a3 +PT = +AAD = 628f817a462313cb0aa51983c90a5cc4c315924a398bf05445ffaaca3dab193ad07506d41d43d5dfa8dbe971bd931b69 +CT = +Tag = 4f685b59237d3c20 + +Count = 5 +Key = ac99595e0346f3e06e9022a09a807e44 +IV = 03eacc664a1a0984a6f7b331 +PT = +AAD = 6fb594ba27def2168073b4fd466a7d3574dcbd4f9a3c5a577a554a45f9332fafd75fa75f976deb6cfd6aa2f3807731c5 +CT = +Tag = 8cde6aae8a95f78b + +Count = 6 +Key = d08d2d1123dca4f976504d74c58be5d9 +IV = 2567d34dd85754132a7f92b2 +PT = +AAD = 7382a4ba425b523326a51f4ecb2880bc95de9e12fa2851cf94994d9cf65080efbe2237ab942756ca40d6f71a2bd92365 +CT = +Tag = dc5c696187ea9240 + +Count = 7 +Key = d78e16b941b60e31cb102800b962819c +IV = be6af97e1cb12a1673fd6f7b +PT = +AAD = bd40b317157d0b5b4e931e8ba0f60293b4a5a7d1a1f0ea3c60531af8b575bfab5b5713b3243e24630949ea36ca2fe31e +CT = +Tag = a19cba682565cfe2 + +Count = 8 +Key = 6ccd1b5417e4c83ccb511b1653ae04ae +IV = ecc8dc638a086bc5245783c6 +PT = +AAD = e18c81fbaa01ca0edb4c065964cc3f2becb5fb812b55041298bad2947f029a37a4f3e4f4d457b6bde43e0dc8b8954cda +CT = +Tag = fa3bba98aa8bf5eb + +Count = 9 +Key = 3e0bf4d599907c50758aafaadab535fd +IV = 85a211417038804f0a9661a8 +PT = +AAD = 9210c87489256f0880c8c6b29d9eed8d5d30552338a0eefe40fb579dbbd71ad3e80ee6758d7a86b0fd478356e405e83b +CT = +Tag = ced14590bfe06a5e + +Count = 10 +Key = be7c57b4f5b0a7f047cde413a285c43c +IV = 33bfcc3fccd56d203f98aead +PT = +AAD = 3aef7d2204e54653deaa400243a012391ba04a8c23efeeda2331214987d1874879ee94da689a4148756fffbab9a23a5b +CT = +Tag = 2854368f02406d60 + +Count = 11 +Key = 985fced12e13c13c02272df16f3330f0 +IV = 18fd2fa2a20b6d2d9b39458e +PT = +AAD = 9d24997eaa838853d3aee3efc650ed641d5cd061f3e030ef78770871cdadd875b9f93a225c22de95d42653abfc523e09 +CT = +Tag = 2a532936a04781a2 + +Count = 12 +Key = 5d9a148c6365c45e3ce90eeae071c287 +IV = 041448dad7f01fe8c9dd47c2 +PT = +AAD = a92b755727ba2c4b7390e705078090f3afbe59090b57ded7c60fec93a5be53b07263f7055ea5e6ddcff73b5847ea3350 +CT = +Tag = b88fc387c99f2952 + +Count = 13 +Key = e0f30e07b4dde660cfc1414ce49c64b7 +IV = c8536c6ad2970d40938e2f05 +PT = +AAD = 14c459bebecb4ce6ee921f2fa9575f1252ba670aa4a76a29450c35ae93fa36a771368e730f5aed90823cc1b3dc0a1e96 +CT = +Tag = df68eb9ec66f95c3 + +Count = 14 +Key = ce65cb9163708192b052f618df943746 +IV = 47fe7585978401545f88533c +PT = +AAD = 64bc023cde4dc191fc50494ce77809eafc17d93a08ebec41600cdcd9372f120444969ab822d3e437bce9a151d0576fb3 +CT = +Tag = 39b937d0c1db31e2 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 31f3db349138c53719a04269153dbbbd +IV = 857918200b71b95353336161 +PT = +AAD = 7080c306e1563b2be2d767bc00d7b4b89f7a23ac5b94d2a45c9551b8a5539f2028b256f2e4073c6c894b220ce0034ba2 +CT = +Tag = 59ece7bb + +Count = 1 +Key = accaa07e13da3b379faba121165eda0c +IV = 89db8266d99e50e537d6f579 +PT = +AAD = a926d0b11f4f4ad4b2bb11adf0379c56c1843b5362b057bb89968e406ef5fc91ae890711ca5fe1146918416de75db087 +CT = +Tag = c0ad2999 + +Count = 2 +Key = a860098c460d0073238427c5809d6651 +IV = e3e69c58a5d28ceaf878c94c +PT = +AAD = f8c0e72323c35d4fc079846ea3fb22c3731e796130e02f666d02bfebc536acc5d621dbfb90057725f877d2a3b48105e5 +CT = +Tag = ee68b2d7 + +Count = 3 +Key = 1174844b8a14ba9d2c119309394c2dcc +IV = ccf5e459046d1778bcc1c32d +PT = +AAD = 7907f807e008a5c8d04e414af4b14b61ec554534fee5a7349e6fda56033da4c30413550e946a0804a8b93474f065f54f +CT = +Tag = 2aad091e + +Count = 4 +Key = 65925f0d36483e706937c535d71621b9 +IV = aceda84795b945191d245c8f +PT = +AAD = 6a0260cdace6dc2528f503599b269581365cac87a4c9dfd258aa1dea31ffd18af8722f0c6641276756c28c19cbbaf642 +CT = +Tag = 5627a626 + +Count = 5 +Key = 2ea146effacaedec5f534604cdb0a7fa +IV = 31bf8cd4e17e4d1f3b49f0ab +PT = +AAD = c1fef0b6cfc27effecfbe3048a60ddc0e31e23eb23d7f76dba07b2ea03bbf2249fcd3128702a11bcd287b83ec0d768ae +CT = +Tag = a1786caa + +Count = 6 +Key = 9e33bba905780a86704abb4b801b2cf2 +IV = 67ac060b0c8ff05305daedcc +PT = +AAD = 5a6c2bf749e742fb9596b113b0fb7ecd209e488549f816cb0ede4dd3f3f190b6f6157076deee07ff640cc05214ce04d2 +CT = +Tag = d05fd3c8 + +Count = 7 +Key = 8b702f30aff281cffc5aab17d87e31da +IV = 0fc9286cc4fa7e4b37172ca1 +PT = +AAD = aef97bc15f4eaba124efe91fad0697371add11cfc56a30fa057669f5f7500d0e9686b5d0224e66aa13a0a68ab3e0fd71 +CT = +Tag = 7b69c930 + +Count = 8 +Key = 379331e271351bcc95edb582ac18ceab +IV = 0e1280ca8b514fc43a3801d8 +PT = +AAD = 452eaf76e0f0f76f1dfe4a758762ac38e3cdcf709fe2661c975b563a8d2cc46da7510f6c5b6176dbf6ffe542783f5e59 +CT = +Tag = d85de566 + +Count = 9 +Key = 97bebb036e524b1e88fabf729aa3ea2f +IV = 46f4f8b94e0227eb85c5fba6 +PT = +AAD = 9a7daaada3219ad547046e88c6e62721d53072d1228bfb8c318fbec2e49329dabb8dea91641e45552fbb9529770652d4 +CT = +Tag = ecc56c44 + +Count = 10 +Key = c2d1547b3a70631f60a282032e09d996 +IV = 2076a9a462d8771b911da503 +PT = +AAD = fbd729fe7326fda456c304ce9891d1328374830f806f66b143f2c920f676d32f86a807d497f52dbab09ac541e2158fcc +CT = +Tag = 12fa22f0 + +Count = 11 +Key = dc6aee4556f9073664f59cadf9e36211 +IV = ee9ecc6c0f15b9cbf9632d79 +PT = +AAD = 353caca9c22022b0e193d34ee5cd59739c4041d1f63d6378951e938a72dacb025b1b6bbd7460fd58f69d909fa857cb94 +CT = +Tag = 20b76b19 + +Count = 12 +Key = 4dbff9ebe04cf90dd0efd346b01f0acf +IV = 39871cbfd7ab9706af61e8a1 +PT = +AAD = 4a71409e4345fb4dc84021688b142e98eaa9fe55bc21a4050d1be1df03017777ecf6f51810e73d375eeb2195251db8ee +CT = +Tag = bdf7eb35 + +Count = 13 +Key = f61368cb37abd90956c1e56522eddeeb +IV = f0c39e1d12584f839a4925f4 +PT = +AAD = 50c5072e11502b0c9d649e744023dcb3c694690ce13f082c79f4ec97f02cc1861e2d9933c7bcfc7cfaac5e1ee3e5e2a6 +CT = +Tag = 9d240060 + +Count = 14 +Key = c51bc093ac848ef759496beedc995189 +IV = 9c5a6d09fac0cf5bc0211e95 +PT = +AAD = 94a868f412c6742bb329579400e0d62c2b6025fe872c5f50416df1149a74a2992cb6441b58a3099648c4936f0959aa13 +CT = +Tag = 6c751aa6 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 20b5b6b854e187b058a84d57bc1538b6 +IV = 94c1935afc061cbf254b936f +PT = +AAD = ca418e71dbf810038174eaa3719b3fcb80531c7110ad9192d105eeaafa15b819ac005668752b344ed1b22faf77048baf03dbddb3b47d6b00e95c4f005e0cc9b7627ccafd3f21b3312aa8d91d3fa0893fe5bff7d44ca46f23afe0 +CT = +Tag = b37286ebaf4a54e0ffc2a1deafc9f6db + +Count = 1 +Key = 7aa53188a9c597126a10d248603ebb62 +IV = aa45ca5dac41a825c45d36bf +PT = +AAD = 417fd5147d56de0c74329597824ec2788a344fb60b403edf0187afa12e72a05009bb70f83ccad11efa487c1965cf84feac067c1ffdbf531fca97c554f875c4a1a1d3ab3c53c8a74ef3ee9415a87e231699c82d764debeda18132 +CT = +Tag = 997bf84654bb9616c0cc9b45f82c7673 + +Count = 2 +Key = 72b5848ed1d2badbd427e16fc3b3e44d +IV = a84c7e928dc6e6379a513a20 +PT = +AAD = 1c0dfcecbd7bb0e680ce042d08b2d9a741267bd1da768df2ba08379233a9973f14928e9da6353768b9b2601c033fd964b16a16daaa3ea35ad7cef7e31eb1f7340aa34e8bfc08b0a6e6205292570ced43316876d0d499d9192e6b +CT = +Tag = 270cd786b95e6820cdb65a231b7530ed + +Count = 3 +Key = 6d0512ebf2e73d63f42849c57f073fd0 +IV = c1c46927c74c03f19342c33a +PT = +AAD = 28bf8903b2dfb7e69f1a735121c7efe9a4c42b6a295327bceb0246c85d782ce62bf075dbdf6e8ec6589c26d30696ccceef03870bd0abfd26d30600eafc65613740b54d777d379e8aacf241ecfba11b060186ac065db171aab099 +CT = +Tag = a686f5941ceb510e126a6316e3404dc0 + +Count = 4 +Key = 6438bc79520def5db58e49639774687a +IV = d682b47418ceb5bc09c713c2 +PT = +AAD = d252b164ae559ed155c8417b96652529df151f24ccf1ce98d0c7ddf293f4f1236630a19b24dc23978d3377a099065d0ba71d4bb8a7dc0cb76760ca7c4a0e12c8cb56c6102646323c08c4f4f56226fd5b71a84590913ad20da287 +CT = +Tag = 04e78796dbf42e9ffa6bb9e346581f13 + +Count = 5 +Key = 117a0aa592fff17ae36c94917db16c65 +IV = c3537be6029d54ffefab2730 +PT = +AAD = 29e959b96817547ae06bf85fe164e82a2693f82a7aeb66d535f0d2c3bffd1ba18e94ef457939f0c0733eda4738d136380fc876075c4943220237a5929b01b32da2bc2a6afd6ae1d89fd470093835962ff6708bb39ba365202f56 +CT = +Tag = b87fcc4d5c484e68ea52c01b55ffa438 + +Count = 6 +Key = 5d995a338ed60f8ab0b59da6c9a40c52 +IV = 2723c54e31c5c57f0236e816 +PT = +AAD = 239c80683feb6afd38f8759a27cb5f350fbc2f757838c40858c9d08f699cc56c4236f4a77bd80df0e8e41d5f9ba732db2e0a3a5e952ede7bfdd5fcbebd23d07271134db5b82461537c47e2ca51b348b0830f5ee575ad4b4414dc +CT = +Tag = 94356a3bfaf07f2ef0ebe3a507076b16 + +Count = 7 +Key = c8a863a1ebaf10c0fc0e80df12444e6e +IV = c3e8cdf086827fee7095d0ea +PT = +AAD = 9927da88c5d336256699c76845e946dc53c87bf0e11e4bec9450981602b32010d2b52bfc91283a6329d455598998ede2e61e352e553110154b4da5ce668d664b83f671c010bf220b7d32b34f4ca69b66cc87233d792337cb2bff +CT = +Tag = 098837de27707ea3593e31ceb8276732 + +Count = 8 +Key = 69cc28b161f214a580e6ba4bc2e3de9d +IV = f2a566f9cf83fd280c8fe08e +PT = +AAD = f8c5263a4e06b49e184589a1e071978643c353aa27b4817fe39e45abc442e22ab5d683bcee5dbbd589fa583f171bb59536addd2b6cefd49823413005efb2a665e26a6029c927d3891cb0d4f23e8ccc60cfd02ce8978c451ddc11 +CT = +Tag = c9c806cb8b1a889809695c2ec5a7a86e + +Count = 9 +Key = bbf35920fcab2cedaafdf3f00321f544 +IV = 2c7ee3ff1df84f3650bc9298 +PT = +AAD = a75f50ba9a50f48799594b6195b3125ed92df73144bfcb624ce67323d834ba1afaf0df4c6c022c11d48bd75c86675a5927ac1250030f720f97498d4fe0787bae655dc5537ac1bcac198a893f9af7c2ef9b971dd64f7e7b62603e +CT = +Tag = c7cd3f938f4ab18642d86234edfc17ed + +Count = 10 +Key = 9690de669702ba72aeb934f5ac50e03c +IV = da8713fe2b2058c438aff260 +PT = +AAD = f30ee950da37c7224b5c93e9a29cafdbf8e2070f65c226244b1a683459e0c5c11c9b77c8fc286d4298a5b9cd1fee3e13d4690a88780d35b558b5d9e52b1a67fc8857076691dca7f5fe8ef22065cc5d9c003ffd25ebe23e61440e +CT = +Tag = 7f92914518ddbe842b06771f64c40f59 + +Count = 11 +Key = e5d8c6e2ac6935c85e81ee0ef723eacf +IV = c73140ee90cc1dcf88457da2 +PT = +AAD = f6c267a6ae5ce3cf4bcdf59cfd1f777c66133e0ec4772785f33e5fa800d310b24b5773bc603a76b30fc32328a8e40f02f823a813a9e4b4fac726e992c183bd0815111c1d3a35884a4eff32027ba60dba679b469af31bc50c0591 +CT = +Tag = f938fd0d8c148d81765109df66dac9aa + +Count = 12 +Key = e23458f6b304c2d8feb3dedd3741bc24 +IV = 4619036b50ba012fe50be1d7 +PT = +AAD = 74bfdc6bc4bfc38d666b985cfe043c67798b2db98f149268dba24436cab83e9a91f244ffc5748c93f8df339ae24ba4318c50da011ab368d3167c16e503309b01351a11f14d067cc6769b9989c7d952e3315011ee2ea034db8cb8 +CT = +Tag = 6053ab80c746821ec50c97e5a1424a85 + +Count = 13 +Key = 5372ac5d3b08d860919110bdeb7f31df +IV = 06ca979d8c250d9b7be45573 +PT = +AAD = e1f958834e63c75c8c758bafaa2f257ea5689d0d55b877b4d67b8b73c25ce24e9b094b976db920a159968da9d33c511aa8999aba42b8bb886e6545dd108693150af357496bb5898b4e8f725d50ef474afb836a3358da2217bb93 +CT = +Tag = 9338e14fe0b08a969a104c828528a6a4 + +Count = 14 +Key = bf1cb49e980cec0b153fe3573875ac6c +IV = 5426669d25524036fbe81e89 +PT = +AAD = b336949766e9948a7e6f36a2d377b84a25c4b4988794f3deab7af4b14a12dac641e25fe2ae9ff53450ace1513acd0b284a490b455f04f40af94418c8792ec1a0983fb1d9a31d93dc3ed2c75e6a6ce092111eabad039bac2a49f6 +CT = +Tag = e2996a2b3b6bf52217cfc4d0f5bb351b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = c34b23cff0d158d64042b104acd03753 +IV = c05f0a54a224a652b82efd29 +PT = +AAD = 94a009421c6889deb233b727cfd333bcda46bd2c9fb5ed60e2807a24c9a5146ba024d8d8525221583d02924bfca32213694169a121091c7c2ee0c3427a5c16a8210ea70c6b8ee0bcc7d782f0607a75e40a8d788a9ec469e05eee +CT = +Tag = 1f8da8c6e25ff2f2116dad939428dd + +Count = 1 +Key = b4d4f7b337e0eedf524b0324f992a614 +IV = 1502e37f091fdc9800b1b0db +PT = +AAD = debe04ba58f11798c72f206c0d3ec42afe03e61b2927a8144ccf7927e62fbc9095be3e34ffd01e93756d3c3aa82c03f5dc17eb9fae3653cdc27c3917a23b4ec7542e66dc3b94334154390ccec8bfbb8c30b90fd7a610440cfc12 +CT = +Tag = c8540b757ff76288bec2da29598d8e + +Count = 2 +Key = 94c618e2deeeab686b5024c0d3253197 +IV = 1e0ab27d30a2f51cc199ce63 +PT = +AAD = e8649951966eaf9d0776229042cde639b75f0bad43335c5114a3748f20f91fc33ec845d904476f34265c2738db2f0468bec235c9a9a0e41be4fe3ad1873eb13b17069b4a4221243a38ab425e28644ec541ba3fb33b1c9a07702d +CT = +Tag = b27b08cd5fd42ba97a1381bf4defaa + +Count = 3 +Key = 144d1c9ed54c8d0194f5c01153c11c48 +IV = 73c446b6679cba48bdbd997d +PT = +AAD = 25999666fbfcd1c44a969252940762997f1a75273342e64111830bcb51fc6e3fdeebc4068ed3dacb7662f50ec10cb14b71f488512ce5a7fbdacc06cf5f0d7df4125d440ef7c237a52edd2a3b414a71577682ccbae4d2fe0d2249 +CT = +Tag = 8c269b88b47bfdeab69cbb401379ad + +Count = 4 +Key = e78cdd7009abddc249c687712aa002ba +IV = 3c1b4ddd66f7cc53faf62e0c +PT = +AAD = cd2843d2e9395ca1b9d41287a1165768630997df07451326e8e0182f85631b42a982ac48f2b42398f6150d269b086bffb5b9339e53d729e527f9bd79cf7d3ad2583ad97d7bab74deb6a40a075e120cb13c942359a4559052f74e +CT = +Tag = d3298392b46f668e49ed1c03a32dfd + +Count = 5 +Key = 9ed5d50c887f8b8e6b4bf7ef6884abc9 +IV = 17b33384f0ed6938c50da7c0 +PT = +AAD = cd09ae65bb70cc80604c75b83e3f4d2be5f1c9384559a23572e1510a0d6011d4ff142b0f1accb42ba5285a1b2cc986e60a5d504be7d560085b2eab657100339d7a2f426eddc9ca5fd7d40da601056fcb16c39b54b9c8f9dcce64 +CT = +Tag = 45ad36a659fdbbddb6025e98230f7e + +Count = 6 +Key = 10ce2a6db8a52f901ac3d80bfa12af66 +IV = 95abd6043f90dd1128f8ffdf +PT = +AAD = 1e6fbe82485ddc004e1263dae4b4d60a26462b60cbc6de3994e86b1a7491fb10c610feb6bd50c404f551899b27638e2535048d49270c3fef4023d444a0b22f758bfe86f9f296136cd6c9250ea94bad92c93c988091c1744d58c7 +CT = +Tag = 5c3b00ace43c3e3b6590592286cf05 + +Count = 7 +Key = 3f1761da3da96fd0ffb6206e9db02b74 +IV = 5247076281c8b5beeefb9f36 +PT = +AAD = 583a82040ee3f023da1f35534f70c26fae9990a20c4fdbcc239a68e736e6f26d1521b52e24f37c729bde9bca2cc43a538bc39f1fd5ccf648271cb57fba71e4d52ad673566733d42bbea1ab06087f3e5b518f2bfc7b8a65b28cdc +CT = +Tag = 634252468bcf33ecd6ce8f27a5353e + +Count = 8 +Key = 4f330d15ea2eb5096458dba10311ed55 +IV = e58a10a9d02539eeeb468721 +PT = +AAD = d34135de82fc60a4973b538cf0cf1fe46740a844a3650190afeabdae37da3dc9f34332e1f2df2754dd0e6c53c22b0d99d2485bb464166862cb627b6118db461f486294a820f306beae35f5d5f89fd9dd7e8f5b0f5da088871da5 +CT = +Tag = 46192cda572fd54af47e615df039f3 + +Count = 9 +Key = 5c440171dcdc8cc7b20af0e4020d1b5a +IV = 9ec3342dafd5b0922f2a642d +PT = +AAD = 00f8bcb695aebc08bbc7186b5f6168f17fb4ca7dc22e0aba2280de179a598faef041852a56d1f29142abf88cac054bd245ca09f43a49c6289a68ef419e52a21220b9f835f0366475dcbedd850af3603c0fe1be7c8093bdaa41bd +CT = +Tag = 8a2949f4df5e2b5eae0dc06f61e5c9 + +Count = 10 +Key = b631429f1f8d9e438d8a1287aed13ef5 +IV = a6fe572e0cc22aaff07705de +PT = +AAD = ad6c6a36dce167f989465fb8cbdb3f87c00dbc957df24a0fa8c21b7b19aa92e4b4e78dcc6d14fe45a5dcc38a0f0af9d176927d47e7fa5f6ff10249b586d24d17f22e817543207289c7d4a51c3657b610f9c0416af38b1d859b8f +CT = +Tag = fbbbdb299653736bfb028111a68803 + +Count = 11 +Key = d8042fb7e4704304670a6a23e4fd60fa +IV = 8354308c0fc4a964c64be969 +PT = +AAD = 12c3c9baad89c6b93dcb404e06c3cc50f88219fdba6f24133672ae14bf3828025d17c8629c32e617bcc330d76fd61713ca6dd97d706c4938661215258f71cb10eb3be63d26ad368367d635fee6b1b58baa8d791ccb987c8eca81 +CT = +Tag = e89f2ec897e2746273c4d5ebb83cea + +Count = 12 +Key = 1f2719de422fb3eb896e43e7d0a7ddc3 +IV = 03e94701be6ece0ff2256450 +PT = +AAD = 97ca88832c97330088e1c2461e1252f0902c647a5385fadcac5bb73b6c810a470d4c542b9432b21f699083ffa4886db6a8c0749ea421648d183218866f6bd54115f88b32f5db1bac7103981e24a9aa0f40e76c6a1f81537e8c53 +CT = +Tag = edaa7818862431535dbb7f00e27e89 + +Count = 13 +Key = 115cfc4e081c70b43542fa69fea7a4de +IV = 43327ec1a0a1c9f2c3271ad5 +PT = +AAD = 5e9b450b8a82058410776d3eb1d8b353400e01df6bab04528ef1af3dbb9391802e0b3abb71f4530dcccd8b6523afc1db6b8b68b37293f7ed3cab8d3a7913b385d62bb3e89506ba5f015ff9e270e942da182fa74229787e253cba +CT = +Tag = ab594285c026d878e28edd22bf993e + +Count = 14 +Key = f7ac1106763c5843ea5a34482b6c4867 +IV = 3acd3396c3e169ee7d55f6b4 +PT = +AAD = bff0ef57d417840fa485b088d3ee3ed45e32e27bee3cc0cfeaab9f0733913825cb226bf29d5adbc89c66d4e4715ce0ec8846e12e7bf534e0bde3d1095fe51e65d9dcb62b41f75bae5066146c384fd1352941e3d7528fceacf1b4 +CT = +Tag = f2df2fbcc0ebae0846b6db32be2e41 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 21474dc6523587a077ea361bece2e9bc +IV = cae71485a5bc18f0c59cf35f +PT = +AAD = 327c02ac3cc55f29a91198938eb8fa2656246bf04d79783d34243db36991bcdbf8ed863fed4293bccddf577a0f81b130b96dc02ed51181ec89a052e58c60c1d68c28efc1dbb51e2613c5864af85402f18ac1b1d5cf4d3070afd0 +CT = +Tag = 78b0309b6595e0beb8b877a0cf51 + +Count = 1 +Key = 1e128c84d7acb6f30179e2463b6dca13 +IV = c2c64b9a2608d7b6fce91731 +PT = +AAD = 0b71a907c963ca34a4a46b32c3b46687dcd3d17e8ed81901d34fbc47a0e9056b001b371788fbea0c0ace9fd7b62b754a7b39a0b066702c69bab701ce23a9d9068457455fb72ed83ccec6223aaf86614b013f6567e7dccb7c2694 +CT = +Tag = d19c75e0c8a87fb6d4ba582997a5 + +Count = 2 +Key = 42efcbe6997e2ecb6bcf0a7a8cf21956 +IV = 701e5e53555354b17bd1ae8d +PT = +AAD = 9e3d50c7ad15c433de217031516ed2d6a725afe6a34edf1c8da464acdf1773ed578d999050e02bdb8fea9fb645a0c5f119542b379fc914fc3e1f5fc7c1ea4d2bf2a69355d329f474c83ea182ddeb62910a67e7124f543f0fe66a +CT = +Tag = 36b849804a81cc7920cf158bedd8 + +Count = 3 +Key = 0967b2d01066a712e9ef9e18e22d86b8 +IV = e5b19309661acac9ea1e96ba +PT = +AAD = bd40e38b4ea158aa14c5c2963230fb57a0c121dbe0ad2c7303cea895c07bcd60970684c12f046b7bd69afa1f0a04d0ff4344c63a27ddebe1d3c7e08b14078bdd8012465fbe6d6554f707fa0aeaf1af8a0322ff442ffa2bb5b141 +CT = +Tag = 7a788924884eaa04443aa85c3d11 + +Count = 4 +Key = e5688b46b09b209d241dd43c72e6b706 +IV = 42d8863c79b8b02bba187009 +PT = +AAD = d23e4bfccce1b4b618042abb487ed0e5b67be04addc9e69ecb3efafc0afe546348c8452db0b4dadb6102000b4840ce442c46195ffe028c9fbcbc6721ae78aea4ad478abb381e390c737a48dd9891fb172ac83f7edaae17c706fc +CT = +Tag = d10e585d807ac72b130d9c100cc2 + +Count = 5 +Key = cc9c798459a116d61ce778be9a78f3f1 +IV = 79213d7386980ee378cf21da +PT = +AAD = 1a08de0a419f6473c3c446541192e7883a48a9b1bc026502feebd56a87562b7a02dc686fa493b2ec54efd9ef32e19f25ed4e08a139aef7b452a615d457eecb31d3c10112aa98316f1748a948b5baa141034308c4800c25ffec71 +CT = +Tag = 1a754e18b1a38fea004b1bc364b7 + +Count = 6 +Key = 798fc467e7828536a311588fb1301cb7 +IV = b40f6b240272b0023cceed4c +PT = +AAD = 9735c65ee74950f8b2dbbdbe6de4eb980fe782db31a188a123e417fac4c38a136ab00bd33e333c0efe1deba402940eb3f41a40df962356eb0238fd4fb3d0913d6ce05a7c61ef45644f87d721e80c6e5930e78447e1a7e15126ba +CT = +Tag = 5c782c1a644129332daa988617be + +Count = 7 +Key = 836354da6edaaf69a140c26b4e2d03b2 +IV = 0e5d6eeb8e6bc4d63ab3ff9f +PT = +AAD = 348da53be5d4382d211b3c4f07ca3a2edd063ab222ef89df2254d117b27295c12230c2eade812103c0fb7e25715c8cadae50ebbcb16f8b21342305445b51b96e9c70e0e27967f26a4282841134e6c5291a2fae85397f8254c284 +CT = +Tag = 31499af510037c14a6e51dc22122 + +Count = 8 +Key = d57c980b7c2670e2710f508e883631b3 +IV = 8786fe8072003738a1a1f21d +PT = +AAD = 7ea3dff2402d541942f6eb71694e1dce5493dc8ce8f7dd8ba278d3f749b89fba36f835c40c3349fa91e1bb5af889931d0c597ace663420b6e3e71ee2e6bbb68c14ecaa7af1543b401dc5c7e48dea0c06abdbcf35629787d984a2 +CT = +Tag = 8a27b2637e66cd8d5206196fe976 + +Count = 9 +Key = 260d945f1bd7c2fe581f5f97f3685658 +IV = ba19c11d3a2f8676762e41fc +PT = +AAD = 4413ef51796446f696dc11560384b48e20a4b90a93967af36a2821cb835bb90ea74530aca5b1b95cbb5b97200239b9737c38cbd5f5cacc00a614130f8206da9794bdbca74179918326c60dc5e8d79bcb393fb0f21339cd0b1df0 +CT = +Tag = 61748f31f764e6e3ffcc6adbd6d8 + +Count = 10 +Key = 1a614c944a5c47d12dab45f3ccd2174d +IV = 025273969645c568d76497fb +PT = +AAD = b33988779c856563f22862622677b66644b1de0b217d434e197fc1e688077c0a0934fbcd897b07a1405c3f562303e5a29fb0f5a8e8fe63abc8a868c2e4947d76fe88f6d7bcbe5439a954bb65d89044e2e7226e3a8d38c0321cce +CT = +Tag = 3386711966c7310a0bfd2a5c5902 + +Count = 11 +Key = 36f60aab28dfd65f420bd038e1494cd3 +IV = 1f32a3f98c347bd178cdbf25 +PT = +AAD = 9414c0ea0125fe288e9693fb538aa55ee42146f3ca6895d4aaa7872d3dfc70ae6911fde91a9c5ce19472ad78326892da39e15bfb45e7339bb5f8f355f9ab5226f252a39e33711bae25a10b0a524893f8fa5d8098de57c8dc1acb +CT = +Tag = 90351907b791bace0b6b79894f29 + +Count = 12 +Key = 26730f1ad24b76d66f7ab8459ddcd117 +IV = 1ffb3e7571cb70145ea51653 +PT = +AAD = bfc3a808c060cdfd2ab7691b324ab35929e80f262bf3b94cc2f45c62bb0f32bc4e4b967369110a7b4c47827e93a9ecd7fcda5e6a9739a0d1786d6dc7a45c9c1e8ecc8f90dc70bc5a5ae1a0313fd6ef87d7b36e3d48c4448f703e +CT = +Tag = 45a9be4c849ecb2585421a1f08e6 + +Count = 13 +Key = e1b2ef84ed61df433b0a7965474bcb0b +IV = 2395c429a9d42e7388c54f99 +PT = +AAD = 44c4c6f2d0d2e38f95e52c881417a7e0da37db9e9f1a25dae6adc3ec488be46a3f0f2aad95b91a984aa14b5db66706131855a0d7873b05b9d492043caa2a6cbd31485750bfa61895863442797a0608bb1dc69c04c6b00eea7b2a +CT = +Tag = f4da78a409c7ad7160489fd4d954 + +Count = 14 +Key = 2d1c83823b6ed96fafaf9cb41e52e55a +IV = 8432528929d0caa5eb346a21 +PT = +AAD = b461ba09a0e2336d22a03363c792155d35be56e49030b668c30cedf36567f239c92f7d29821d7cc872716a85b33211a8618361ba15b2a59eb1f57ff041da7dac749f4c3f279d8a3cca777ad3c3b73fb5b85a1571c8078baef653 +CT = +Tag = 1ed5292221fc168354c73f0ee654 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 7674e09a02011df80cb66abf646c4448 +IV = c9191abd553ca614e09b3784 +PT = +AAD = 3911e9620a863cb435a74305be2d104d569a6e4ef796de23e8ec3b79b013244713dd4a2b1d3310de6ca74ecf51c44a2c3de573c8dfb6cf8c3c2763aa0add823b4426374591869ab5a5c08252d81dad73384d8965eb4a810be4e1 +CT = +Tag = 92cf1e6b89d22b456bd8e1d63d + +Count = 1 +Key = b3155ad92a5daa8b6ee8925b00a77a08 +IV = afae9e45bb7ed8dc0e27e1bf +PT = +AAD = 837674129bdab97ed34f650f2511fee7f62afd4e720015e6d41e9f26f803f259efbfaffef9bcd68415bf1911c257d07c1541e9186b4a3242cfc9bc5fa1cb8e36ebefddcca086a7299f341b452933a0c9da8a5f812d95f0b811a1 +CT = +Tag = 7a92649c1a2967270a36e0322d + +Count = 2 +Key = 8c4044a182c94aff2f53eecd09cf8f1d +IV = ff077199ff92f17edb72aba6 +PT = +AAD = beaf92721ae5083e8a0a40bb8a7b2ace3ed88217b49114964b5c20b3d5d0745bfcc106c8def5a11bb4ac7a2608508fc576df800cd2577a78b647a689dc8bf24528c66707e9b4028563c94322c0e5e17d51e04b6ccb3a38b99f36 +CT = +Tag = d4a87aaefbcf1d3317c08551eb + +Count = 3 +Key = ae275479d2d59d10dbdb99bd34dbd5ab +IV = a51c5c4714487c5e1731fce8 +PT = +AAD = d95bf9587fd5c6095b815f3934af69bf1b32794d38719772e0e7f199995d3e896b1574ca9be3f4176e4caaa00c1fa9ca77b59831922f35cdddeec5640518f60767493186b3133338eb6d2330b1e315c596439bbf615ebd51a477 +CT = +Tag = 0d5347b6de2796f6dd785802ee + +Count = 4 +Key = d60e601e20cee6df2fb6ea1996979775 +IV = 5ff2bcb7def2a1711fcd4a71 +PT = +AAD = 951c3fd7e11da355c13add3e31f05f9779dec3f860721f2cc661cfb27a50cd80fd5aec26d25be5f4294ac2b2fd62bd19acbccd06331e3c574108e07f60677dbc5f5e360dd0f8c73355022112cf4e0f14381ca226dc6159c6cd03 +CT = +Tag = 242f8e6eb6b56f93c2177088bd + +Count = 5 +Key = 77495f18e61de7c9f25b192b6c0230ad +IV = 229b31b90b22f8de7f03d31f +PT = +AAD = a850391f5a33a8038748b7468a7c5d74b40bd8471310a097fe7820d2979a2f104c00c423bfc592285ceb63507f873f196d6a738cd6f086cd4593e12ce129037643260967ca7427a8a7ca712b61e71acfe710677aa72b28b3453d +CT = +Tag = 93eae2b5f051c8d3d30eba525d + +Count = 6 +Key = 281f2dd94f672f3dbff4e9149a2f7a2d +IV = abe1c7b7f349ead5794ed3a0 +PT = +AAD = cae82bf090c526b761c405540cb6f31b387b5e1a50f248cdda21fd7fc9712064cd8626334ff514b1688104949f8c7ebf8cf068336edf57234df1a8b3fa9c951f3cd323d2cda0df15ae03cfc66100cb2f9821456ef02cf529fc78 +CT = +Tag = 5a6886a934b23b49f6b18c6d95 + +Count = 7 +Key = 2a4aca489e26642ed2e94807f50a5738 +IV = acb42dc5da38b7ae6d23ede6 +PT = +AAD = 947f8212590e5034599181d13ace8a017c78b841832be5dc5f9118a2667082f46627c8e2576dc81c9b9ed679bd3e3466e16fd374e1b14667358e86f6cb4e4af813fad760ab5bc74633f530c24ee9767afe27d5b749362f466faa +CT = +Tag = 91d985e9fba30bc034af98721f + +Count = 8 +Key = 5083bb24b75f717634653c278d313eba +IV = 51dda72233b656d0ae598e31 +PT = +AAD = cb5a5bb8937e909af1f841beecc4dbe2fb9704a541f6204243b9be5a25f89ec572d5b81cb01ea5d8228f4ea923216ee73a39926a5d87f3336d5ae81ce6b264697c8a878122b47078a353c73c9fbcf4574e872700b4778c2b3472 +CT = +Tag = 64d5f61c7e29c8fa20a7819214 + +Count = 9 +Key = ae49961958016f1eecde861aece785d0 +IV = 645e282ede9a7f5d89e23cb5 +PT = +AAD = 66b7e16bc47f27a3151c2067c6b52d1b6d726c7b303682bc050b8274386bd14ae0a7c64bb8891bff6690f38979a64a1823d2c2b144e500bc0b976ddb505a7d4cc5cecd68007cc494e07b8b0f3089fcb97e1bb7c1d97660cadf0f +CT = +Tag = 8642103c25f5b727f5145fce74 + +Count = 10 +Key = ae6fd5e4ad9cbbbda95ca031ab269392 +IV = abbd3369e39dd33eb641e9d1 +PT = +AAD = 6e6f350de537381984da7bcba93d160bb4fe19ff53bc25c98290cb8b5f88423bc683222dc0d18fcfd1ec80a64a65adefe89ff162b4b2ca9bc7496cecfa6fdffe8ed9754d6dd9b10dc54fb4950d0520e4798254398bb96182a0c4 +CT = +Tag = 9c2759013a1105734fe1206b07 + +Count = 11 +Key = 09be734fbe2f6e32b5810a7e71b9f8a1 +IV = c209295977a867cc5d210dcb +PT = +AAD = bc3d21bd6a368457daf9dcd5e5e1cea2d9acde3311d41c1621e769d4bc9e50d6eadb942ab211bf6c3bcdd696e914ae99c5001faf1c77cb4cfcec9a1b04ce39973f8c49d8b06430049cd54890e3948949e2c78ca5a21e7cd8d21b +CT = +Tag = 5a8f12bee8db8c7184171d676e + +Count = 12 +Key = 6a6ff6afe3087866f71aa3563bdcf665 +IV = 6d1268dc89a0d29e57d9c178 +PT = +AAD = 42666967a23c4f246eaf807dbe92c0dd998c751a4f579beedc88cb8e8e0b0aea17270a6f568608ee672788eefe03707f2cc532260fbc0c747888bac6912186ca3d8dca6c778602e00d6d7afe5c5701193ca89cc837cf630db69c +CT = +Tag = 2de7fe0b01d9da98b99c6a96ef + +Count = 13 +Key = 5833313b19b44912ad55710e870fd1bf +IV = 1f883d9336b884fe80092918 +PT = +AAD = c2dc69166ebb99997c5646e579659ac36b7a8ff3b8ecbcc2f2281ef487ed08a6d5d78988e5bcc5b8fe94607632c16f22cdfda745c9784b7c4051657daf710e3327f94a4d8d9d94ab95297252f4a754beea3caa9a14fa50b523c8 +CT = +Tag = 41b3ed7bc4b23152ab11bd6d62 + +Count = 14 +Key = d8f5c5281cbb5148b755d3bfbcf81f4f +IV = 9ff21e7c98d1f4a4e8693c69 +PT = +AAD = fa5977a35be747ea798b3969588c9594c6725e38819b870d98a2819b8c87dc40619aa9f2c074859ec95edf064c21a26ba4ad4a2ffc54f42145e0ebc15cb5cd80fafcdef9d21cee4682ab475d5c96e2ef129f2602a5d591f017c3 +CT = +Tag = 21607589c2ad7b0e785cd79cbf + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = d3da4c1b8a0da47207ee9384ce85d123 +IV = 02e07988f6e899465e64413a +PT = +AAD = 5ac3c5f477a5486ade9619937c0b94b4567a6810f37481f08070cc7f6c6b83887b3f3b67511ecb01e94833648f9afcc7be1d30e75733f158e34611c95fa735678e3e20ddbef118375d25ac8f5abcf14329289ca5b8be04e051e7 +CT = +Tag = 0463ea5b69c9029fa48de21a + +Count = 1 +Key = bfe5bee51771729a8d947bd26bcfeb30 +IV = d9960803dca431e61bb10a5c +PT = +AAD = 6a958607ed379337eb88689b31b24d2d2981dfd020f8d5c4e264aa79137bda9d393e5b520ccb658d5c77478a87e343cdbc0f4b5561331427758eec6d186016a901b047e0640978e8433313a856d00680f77398faf4300a26a769 +CT = +Tag = 84bf81b96e54321df209250a + +Count = 2 +Key = 2f15bc814683c8ce27919d617a478256 +IV = 03db5368fc3f4cd2a4edd86b +PT = +AAD = a2002f721bcd4aebc9e4a3f26e449ce3a91f4508be1ccc50d28f827485025d1fb22385342c25673d02aa1baceb58182f42264e2c707d1fdfd309c58c68cc2d0342da192e951e808eb27008b59d6004a25eafb07e51367e75add3 +CT = +Tag = f0af96c130fccbe5aab4f692 + +Count = 3 +Key = 45eb12aff6a58ea8310be404ec7c369c +IV = f1849946e52a4f3930f91eb2 +PT = +AAD = 481ef5f9f40826680e8fd05564d0882f76b55a03fd67b42696a8aecd0b12b303f74c55f7d191c1d8f2c8edbafae05245162e7db865603e23967174d2176425232f22e09b78f3a76d36899e33b0a60afd8dc589d0c13c6fe9d31c +CT = +Tag = 0ee014f73f1f6988a0be587b + +Count = 4 +Key = 64796ca2cf19b4611c69920ff37ca587 +IV = f20e485ab9ef4e94df674ff8 +PT = +AAD = 8f2cedb49e81efd2d19ecddc2313007206103852fb8eb2816725805b52bd8f20927da656caee8cd31db62258f177ff5ea7ef4c2ee8e16097907f3675cc6f60187c045ed5470cfb18e2ce8cdfdb2a218ac1128a3d8d7e8249a3f6 +CT = +Tag = 6e7a8e7aaa563df6b79a7b30 + +Count = 5 +Key = 91ffa2c99d6d29da62b999479f0f9bf6 +IV = 5bc1ebc7cf64a5f01583fa24 +PT = +AAD = 71e93496ea80ac6eb8e3268c52a0d3ba16ce53886dc2428a08e8cc4d934fa0b4fe03c086fbd7ed354fdaf64908f4a58f5f39a53f6d92df391d3a6e66d9c82311f2bcb782b4c0fa9b5b532b9a64c85e651f373113e8ae9cb56fee +CT = +Tag = 6935d7ff6c08c3822e3a7ac2 + +Count = 6 +Key = f5ff58f9110dc06ae3e9058b847caac8 +IV = cb8fd34706b70230e6ef1a49 +PT = +AAD = 2927a6dae162cd2107d6ae54161446206f65744daedeea51c4f8db7833dcba6826d3fbcd4ef255b72838b60d6c253f9c0f7414bdb24d5af0c3cf438a29e5390fdfbe175f1b2dfcdcfe4cfa681642568bbee55b71c32469207040 +CT = +Tag = 99ef66f604892ae947923f4d + +Count = 7 +Key = 3b607e6a7cbf3b8a778b7370c5f22e3f +IV = 7609995a5ef722724f67cd73 +PT = +AAD = 54f40346c8560c03c62712bf3f5b2bd829220e790da5b5f21acf5b2f24855f8067bdf78ad77ad9ea6a07dcd34579d363f976a84f25318e1dc1d1e5a27b545c59e295bcc8c081ee4002f532166533f795810809258e1cb0057136 +CT = +Tag = fea1344cf0d79c5fd3c5c723 + +Count = 8 +Key = bac822efde70cc2e05c75b7e2c9c3ae6 +IV = edc44c57bd30a39d9fcd76f1 +PT = +AAD = cc8d2886299e12a2e603871e96b6181755bdbb6b9afe720ec58094d875d6f99e3ce2b639d4fe2ee49e6b6309009f2d3cf14d3db842a5303f49dbb6a9eba089127a35653570cdca8e9a93aaab4097d3723d1fec65f372d1c2ff02 +CT = +Tag = 31b25c132ac62e259b9bb61b + +Count = 9 +Key = efee6ddb2901739107898e1ac02565b8 +IV = 71ccc64ff6a8a177e6ce2991 +PT = +AAD = a9b7c47e4f444c6597340a700ee23e0ef8308ace8cef4527530146baff093d54aaf9add07be3400b4092b8df19470c822ee53c418fdeac016bcb4c03193777faac01ce29d03d753160af217245f444315521504865974060db40 +CT = +Tag = ed6cf48560411e73698a0d32 + +Count = 10 +Key = 9aa38dba5779c7f2f294780830cad278 +IV = a69e885f3b9f48df81750088 +PT = +AAD = edcc269f3c610012105990e02842fbdf6992df997ec16875e2c2ba29f37d0199ec3f54a15e1b089407c117da94b3e03b28e4a38b094970c84c6fc39ed5555e505bfeaca1b88ffe4279a54d4bceb46d17b6133e958129c8d06e1d +CT = +Tag = bcc52f48b340a3102517935b + +Count = 11 +Key = 52e7848a6086e2d7bcba39a19e757ef6 +IV = 1ba967d9f8d89ce76e6355c9 +PT = +AAD = ff4f1f1ffe62c5ffd89165bee2681a67074e4ea8f42b14bcfddb9e1d9253e30ccc48267adb9de089e43f6783f43482241b3172d9c289d45338c7282a27920d889745ccb1e24790669e27d40d086aeac99f111dda111d130bbb7a +CT = +Tag = 9f223ea497307644a802c883 + +Count = 12 +Key = ee3e4d2197b7a3ba9c3e213bceca1095 +IV = 4056c8076887d183acfbf89f +PT = +AAD = d8c436e0b94cd13943dceccb9003c922f4e3132f84062edeeb7b7a576766a6f7e1cd08c9218fa72f4207ab5ad9ad73adf5112c5c6512c3f57695da0c79142f49dbca79fa4d90bfdc7a2122816045045e2f70f9787523823ce1f7 +CT = +Tag = f1f27676267807998b0838f7 + +Count = 13 +Key = dd2b5f01b109d7b11793fdc5ba8cead1 +IV = f4c71ced79b61d8d72ba341a +PT = +AAD = d8191af4707fab810a7647c993e2c4956055f5b5db32a73f1d335a26b78d2d0ebf823b2fa2136135db9f69ce28115a8c2a2808127dd14c1fb206ec0783a2f831758bb63f756543322b05be547868ebae3c33e2ab239e55e848af +CT = +Tag = 2f15d48ed62423051ecfaa04 + +Count = 14 +Key = 9767bce2011b6b59403e2bffe1719786 +IV = 944d416cc54e34a47be9d463 +PT = +AAD = 17744bc0d7dc3367e724c5438ee896c69547ad02477c6dd3c9542bbd9bda7dcd5d6bcca3e4d549d261567582a0fdde76097b302adff6f11fccdb0d2ba7eb466d7f18fb55fbbe41969a94d45bd174ab5130c1bcb0f4c194537c79 +CT = +Tag = 9735de694a7709a8f5829c16 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 338c8bc1b1bdc40b58f26024b1370d3a +IV = 3b1856853f945c3301af1891 +PT = +AAD = 69f72d74c4877db4a7da6137a24f8fed5c2c72f800b5dc01ebaef34ce3a4367412506bd33a4177a355d875aba6ed1134104512976a9580e4f86863054d03c47a0b82f55f8ed73bfef83f565422db63e086b30926cde208f83141 +CT = +Tag = 742efac14fcb01f3 + +Count = 1 +Key = 3b301123ca2b15081c0daa143877c3ca +IV = 48543a16645b0e32b87c7e56 +PT = +AAD = c5f0dfdd0466fba6b70cbaf4ffdb5f16f1d077f3efdd252539b21b40ac7e2de6c70a72b7611d4ded21a0d9b23e477985d643d5e4fb1baeb3ac4c5924a74dbc12f089dfb47eb7934d43c11c92a7c094e566704a50275c6fdae6c0 +CT = +Tag = 5aa32720493c1dbd + +Count = 2 +Key = 0cd14633e2828d02324c391bf0bfbb6f +IV = 7728a6d0cf6b7ee8254411de +PT = +AAD = 1b40259d492ac8d1fe2db57dd88cd928cf3f467b461b6a79de1a2b70d5a724f93d99ee361e4f755cd959e29ced092dd7013c8be8a9ce4c2d9182e50c003536b2b4782ba9ed9ebdae4b831f747d813779b1a7e7315884497f8851 +CT = +Tag = a165b339d2357b08 + +Count = 3 +Key = 8ea0db08f4adad48722203b252af3196 +IV = 04e40b1a74038ad87ccdc709 +PT = +AAD = e5955147047e4bfc2c0588d549d16f1cf8b7bd9813562e0a03d85251316878e5b12e01b1271f53d647f30b912655e266f676bb4a6fef265cbc9bd0802e466033fba51041f43d5f29701f2f76d9f0f0087a18ba5d9f4afbbf5380 +CT = +Tag = 3afa3b6ec98d20a5 + +Count = 4 +Key = e3f7fbbbd9830d1440a1edbeb5d1f38e +IV = a3f85177fdceae4b5c1a6b98 +PT = +AAD = dec80f177a5e0435389e8f6bbd4bb50c4b95f1750956aef72142b1badb8cdb9533d95d45dab301e9d3bd00b5205c06bb87114ce1a018006f1f3141aca087f8a14cd5229b924251896ebca427610f6884d1fbc47314951fd132cf +CT = +Tag = 56722782e2af0f2b + +Count = 5 +Key = 7d3b6782c8e989a1177d86851d4f2207 +IV = a527f4ff715d3861857f9d8d +PT = +AAD = 89157780294c6e1a0b56b178be1f8e904b33c22d4b5a06eb6b8b2edb68e0641712f8232a799fd0afc4444d4a909de51cd09f6c0a9ea0808806163ad14794a500e83da3a8803c0173e332742ef2a678762a2fb6698ebce3e7f516 +CT = +Tag = 9f70251e433a938f + +Count = 6 +Key = 9d2e63fe4e190ccac6b073cefbb8e009 +IV = 6a49a7d3c234bf49d9fb1e74 +PT = +AAD = 7032215424b80558ad18d25906fc9e4d18f0348496247cb0594185240bf9a3ff1a1af2643062d1fd4394618b2752c6e5c451d89e0d4ebc755749facd16eef405a89f9585b4aeaecefd0bd265095d8dae8039842b727b6babeb81 +CT = +Tag = 2d8e5f82432df1c7 + +Count = 7 +Key = dda970237000c6d20935fc0f9052394f +IV = eaf7cfb7d77f569a404773bf +PT = +AAD = 540a7d7f87cd00b00757d2b8e6863c6416541880079f639553bb0a7d21340e73b3b3fb81643fb3628c63130cbff4b6c879d5dbacead98b23d8519701af2034220d06bd3a950b3ce7502589fdec5aaca67f7604f453a382fbd000 +CT = +Tag = 7834dfdf42c008ec + +Count = 8 +Key = 3f05c43aee49bc38cb3928bf1c70d55e +IV = 3881a886249de137b2307671 +PT = +AAD = e6efb0fbd0cc52e2e7b9c726e7fd4b60acc7dcf81509cb24242f3a1655b64a5ece884247840a7a5343de2cab3ad98d018ebc72b6f7f4adce0db75b0a391c4f5d90f8a314833654e8e8aa195fd2025288cd5518a08a4882d23b9c +CT = +Tag = ee4f82ca9720e107 + +Count = 9 +Key = 743427b04345ac62e613c3a6d41687b2 +IV = 0d24cfa6e771741e90c28c8d +PT = +AAD = 769190a43240476327b78390117b740dafd3cf9e251fbb62f6fe567ff10be805169f4e16d2eafd98ee7c2f37eac5574f19caeb5b65c3b210ed04037bb38dbffb35a67334b28613be5c567e7edfacadac08ffa6af2dca222140a7 +CT = +Tag = 7b2f7e8ab5dfe320 + +Count = 10 +Key = 6ea5779d491cce5fc32b2024c7a57bfb +IV = 20c013aaaa5265e41391c84e +PT = +AAD = 24b817bccae31419c3911a32d8e686aa7294e549bfd875d42987d386f3cc1641a2f990f5cbef6943f55a4de8d501bb0cad4867a8dc8de9d2efd5d4497b35ef58c74a16c2593ed741e724b6a38b3d59ab433fef7d190cc7197bb4 +CT = +Tag = e1cd52ba9556078b + +Count = 11 +Key = e4f78ee529ee2e189c3438f99bc06f0c +IV = a25ca75377d6fa64110b3868 +PT = +AAD = 24fc716bfb86844f10ea6bffbe4a38b340380facb0712c37d373d47868d17bc25f7f1ed5bae15359aa7297ee509837b579503446f9466e72b2ef39f9c885a4760ea51f6f379c808ac4956a8b0ea808ff778cc4f0e9f3333d139f +CT = +Tag = e73cf53ce8ffdd24 + +Count = 12 +Key = 262ccf788cc7fd3faa2ab3c67182236b +IV = 3bc53ce1701ae9d29c8bd3f3 +PT = +AAD = d1cd05df1cca58499c86cf6ed96f47f0e2a1a3b513d241ea69312f295a108f50e830c69a4ac2d20a80e7eb08984380401ee6c1ed23308532a2b469177789e144b36004a3c6391b30443440d7232eaf37cb1eaebe70bb24356ea2 +CT = +Tag = 1530312335a8ba83 + +Count = 13 +Key = d73fee8d18298d809e9907020d50494c +IV = 7b8fde77ae4eedf94f106b1a +PT = +AAD = a3f737038eddbb462d9ade7d01474821f42c7c824942545d86bdaf2a65bfa7ccbba39bc8ed0b6fe98469d499c04c6999c9923aa941c2b698cb9729725bf6a6a82295d6d0a4effd768ebbe1fbd8ad2cc1bde3621671850b864d36 +CT = +Tag = 1175cc3175618d71 + +Count = 14 +Key = d8749beb2da44984967268fd011d9730 +IV = 3c79f826628c6ad0a1b77dcd +PT = +AAD = 487d4283e9bc628fdbf560547d489358ad224e76e6325baf89fab697fc863125f274528ffdd070fa00ab0ce51ab2cc242fa7479cc2f16c28f61276849c0f3a18934e169296c7001b116820590395409068dbdd46e6c00c407905 +CT = +Tag = b051f348cce43c67 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = fec14f1c775ec5dc2976be559d4fb689 +IV = 3b23453a96c86f192042b60c +PT = +AAD = 6deddbe4c4caf59abcd3058b63b86798b89542afd586e4bccdec8f8c57d174385d9a6072cbde979bedb90f7052140f09e25b3a5052531488e4bb20c543a74112ba4c524e04fcb1d43dcf05731b41fd38a06cf4835d69e08f482c +CT = +Tag = 4fdff79e + +Count = 1 +Key = 35d7b111d560dbb35809fd4da71da966 +IV = ce5198c89b81032b2c591dc0 +PT = +AAD = 3c666e06c92f30cb09ad511ec8b7f78d7eee28dddd987d4b93ab80b034ed1658905c4a978b0c3afb6974d059d005158880cdcdbc211a36e1d70ffd0d74610a30ca13a82f429e3158c25e6fdb93d1fe2a7f072ce5ede400f6e12f +CT = +Tag = 131df396 + +Count = 2 +Key = 2703e380c82508ec7f960e87c8790674 +IV = 5b940885bd7f9cc1187ec57c +PT = +AAD = 75de0f2235926a57acdc0b908a49466a97f0fa371f8ce74403f1ebd42aaae6f702bb37ba0f7938b2107ff8a0da94cadeda3c42cf0cdb5e7b1e7a7677cbd383006af81afa57e91bfa8ba7a4f93318ce9383d88a6f2ffcfabde387 +CT = +Tag = ff26ab09 + +Count = 3 +Key = 1da0d33933b97f3ae82d2fd9517f659c +IV = 67cf2c8a59fa70cfe8c9ad7c +PT = +AAD = a8e013f25aa70cc85afa2493c621de900f65c67ef38b625bd8017b27e2ac63a58fa61c95b84857dc7baef7a37d759936802897a96ece562fe57aa6294aab78172d08f9d98a588ce6f6e9e0c6e9f9fe33166c9680d9cc62c3a7c1 +CT = +Tag = 8ebc2a0a + +Count = 4 +Key = 2aec0c35f97e8348ebc5043bdf0f3652 +IV = 7c78f98b7c5858c0736a7dba +PT = +AAD = 9b8d398c32c0dc33776542d9b01ab2e2029722dec4b70eb36931b5bb1a94093058a15126929c768f6647d3987d8ace7eb5e8e7749da08310f0ad5dafb6c15ec4cdf175764e0822751fd27fb56b6eadf1b16ae85569ae431c12ee +CT = +Tag = d25927fd + +Count = 5 +Key = 0ecd43c8dcaf7599358cc617f6f3e528 +IV = e5ea19a9ce713a9ac0871b5f +PT = +AAD = 082d176d1c1ba59be2d049442764745ee1e3c8923f7b2d953432138c39de4cfa6030a456888734f229967dc04f2aa59a8eff5c273807fd61a14f655feb76e4d195128174ce781cc229ab003fae1a68be67c88bd30c4e24404feb +CT = +Tag = 6edeafef + +Count = 6 +Key = 525901567629efa7e23e06e2efef28bc +IV = f71556df6af8b2e8f46dddd0 +PT = +AAD = dd887a7e9b03c4f6bcb4bbbf119c459da97b90f32e9ffe1ed139e2eeb601ba205b9377c96b3b6fe71abbcb3cf9b3189ffd76a0a47d9c1ec04b822546dce77486c54da70f3215381a6c2e92538ee1f876e1f2936b6d11e081508f +CT = +Tag = 30c1b8c2 + +Count = 7 +Key = 9c1b6b6cf1d89286c96182fe303c344f +IV = 540cb0056739464aef5ef3cc +PT = +AAD = 72e8bdaa69c643b8db8f2ec0ac41dbe5331da78c01541f4b32ba2565ffbe7d2bef15ba888d0c126ac25307c2c4ef2b646aad5e6e58be6618176a01f8b6bc9efd9f49ef5d693134f1df06afc33640930fe9e721a8892b4607235b +CT = +Tag = 369fc8a9 + +Count = 8 +Key = e81034a9ce6b9ed05a56017c0fe51ba6 +IV = ad2f49291050ee2d956a6b77 +PT = +AAD = 5b26c5fe401b3195cc01f8c667e63ab83fb4daf43e828db2e473232910a9946374ebeb880c097f3465a2908edef1564b149288886c595e87b3b099eae95bc56f058307b12c53622adac66eb012acda0472f62e88d89cdf9b70cf +CT = +Tag = 96eeb619 + +Count = 9 +Key = 464945d0f1e5d5b292e6962681fa9657 +IV = 2de98102006117c433442f5e +PT = +AAD = 66b3366381b06a6a34f31e4dbe1ec39f9f53d97de606228771a883239ced0ea21931fd38c2398bf20988d6c2e8b86daaa8cf38630c3a528381a4222489bcabab2a9b6c6c8e751929cb2bd47c3f416fb186c5be433043a13c0f99 +CT = +Tag = b6f0e5ce + +Count = 10 +Key = 096d1b40268fe9403e055574c821a542 +IV = 2cabd235998e47179e50979f +PT = +AAD = 5b1587b8831adc6567c7005bc98c8d5ee1cae1bbd575368253440c363e202f58db7c0dcb25df7be331a75852022e4500bc1fcc2e5bce7c27332fab46c200d6e46dbf0345a22872633b7ce0b478bd2b9ed12b3711c3e195a91588 +CT = +Tag = 1ac32a25 + +Count = 11 +Key = a309aafd31fd88793ae90b915fd66b5a +IV = 35e90f3072c7c0977a7ae55d +PT = +AAD = de9bfab5972e9128232a5027045e386e9423b5f305d8c4f24e6b4e692326485fb8e93024759f0c543e02e71e7e637dd3135d88ca76d526de973903b3d7ba458f179459b0a46a335eb0668b57157659930a2052d191a33441dc63 +CT = +Tag = 43331a27 + +Count = 12 +Key = 44b66cfaefb79d99b8f1a25e151c46d5 +IV = bc1eacdf1110d6dbcd2447f7 +PT = +AAD = 3b66f7308a18b86b6e6627122203582b15d799c532816eacfcead305ce2e73facdf1bce9d0533aa0bf14306a482941c3a1df0df55351bca9388bbf9bdc280ac16edab0eaee285cf307563caa751ec6d4e981109708412dcc1eeb +CT = +Tag = 202b9500 + +Count = 13 +Key = 13473348b216bfc97b8da233ba0c6375 +IV = 0359be42dae8f308e12f4c98 +PT = +AAD = 73dd9535b8c1936b2d83ba8e785498b9a6a30be0e54659e3a8e7d98e7093dd637b6cfc9a9fd6f08aa6fdaab0f69013a2280f35b30b6926521909fae0cc7cdc8f6ac3a875e5036775eb2021fbad847b63d5118fe33420b6b933ca +CT = +Tag = c3378269 + +Count = 14 +Key = f149d4ae5da9f3b2c66baf3feffb709c +IV = 6f55f1a3f2fd70d5896cb156 +PT = +AAD = 33bb5060ff060cde70a322459e6170e84837c4cdd0108b52f6de0a2c2d40ee953133a31e8f9799aa58fa0c46c83e78820dc933d42281600edeec9b3bd662cf1163bd5da240ff99c461a44421ddf3d764ca5c08453ff4e033b3df +CT = +Tag = 6e1476a3 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 7fddb57453c241d03efbed3ac44e371c +IV = ee283a3fc75575e33efd4887 +PT = d5de42b461646c255c87bd2962d3b9a2 +AAD = +CT = 2ccda4a5415cb91e135c2a0f78c9b2fd +Tag = b36d1df9b9d5e596f83e8b7f52971cb3 + +Count = 1 +Key = ab72c77b97cb5fe9a382d9fe81ffdbed +IV = 54cc7dc2c37ec006bcc6d1da +PT = 007c5e5b3e59df24a7c355584fc1518d +AAD = +CT = 0e1bde206a07a9c2c1b65300f8c64997 +Tag = 2b4401346697138c7a4891ee59867d0c + +Count = 2 +Key = 77b0a58a1e60541e5ea3d4d42007940e +IV = ae7a27904d95fe800e83b345 +PT = 6931a3ea07a9e95207334f0274a454dd +AAD = +CT = 76e39fad4000a07d35d879b785bd7fca +Tag = 5cb3724712f129f86b7927f13b45c835 + +Count = 3 +Key = caaa3f6fd31822ed2d2125f225b0169f +IV = 7f6d9041483e8c1412fa552a +PT = 84c907b11ae3b79fc4451d1bf17f4a99 +AAD = +CT = fdb4aafa3519d3c055be8b347764ea33 +Tag = 89e43bfead01692c4ebe656586e3fbe3 + +Count = 4 +Key = 02c8e81debc563e99cd262bfc64b0e11 +IV = b49057c9778d8c02fe00d029 +PT = ca2a51e9d05e96e6f1d14ced36811c5c +AAD = +CT = 5db602fb31bb9268d233bee0dd6b87ae +Tag = 789d2be2cc70b7c389b31912e1c0a041 + +Count = 5 +Key = 4e625a3edc61f0cb2f002da8f8a70245 +IV = 66d632dd5ca10b08d4d8f97b +PT = 0b76d498add6e09c96d7694e5d620bd5 +AAD = +CT = 17bdc7ef5649bec9cf6c565ce33cf889 +Tag = 3f7944bad062605f937ff6d6598a7651 + +Count = 6 +Key = 41ab3fc488f8d4a820e65b9d41a87de3 +IV = 9b5d27d75a0571e93f581885 +PT = 5ed0836e0a52777599800d4fe754ccbe +AAD = +CT = 88c0eb8c33a10a22e7561866566b191f +Tag = 83e885802a594a8b008a94aa7ef06907 + +Count = 7 +Key = 0047184240a5948ed55701eac2c4c26c +IV = a3ab8da22648c2453cdef55b +PT = 89ee9502871be15ee4a8c47ab123bfc9 +AAD = +CT = 8b5cb59e7ad2e15c40d5fbcde28a0d17 +Tag = 538e79f880e2f65c72148f5ade4080a1 + +Count = 8 +Key = 735c5a4ff2438852df3530c23590ac28 +IV = 7bee7c6938f1ae59671e2ddb +PT = 479e8d3bf0de4ce7cd4377d2ed3925cd +AAD = +CT = 2ca09b58178fbbfb82556599b92329a3 +Tag = 2e3cf2895f111ec2a86508c36a24e45d + +Count = 9 +Key = 016dbb38daa76dfe7da384ebf1240364 +IV = 0793ef3ada782f78c98affe3 +PT = 4b34a9ec5763524b191d5616c547f6b7 +AAD = +CT = 609aa3f4541bc0fe9931daad2ee15d0c +Tag = 33afec59c45baf689a5e1b13ae423619 + +Count = 10 +Key = 2d176607883aface75011d14818f1be6 +IV = 02162c3635bf6d543e1cc148 +PT = 71905ad5df601d056effd80dd7333662 +AAD = +CT = 1b68598e1676d2cfd37aa00396fa9676 +Tag = 5d060aa8a729774da001aa9fdef2b3d2 + +Count = 11 +Key = 94fd0269a0ce813133626f93c4af7e6f +IV = 11fc3928028dfa34db06a1bc +PT = a1aefec976cd87cf8a4c21bbe902f7b4 +AAD = +CT = b1baf8c58cdec88238b1b0ab0b40337d +Tag = 882f865df7da529f768d4944e8387f69 + +Count = 12 +Key = a7bec5e24f0db2629a257d02fdfaea02 +IV = 9d2ec94b927327793583b818 +PT = a17bc5d428700f94c641e74aaacf2c5d +AAD = +CT = d460fda5b24425b5caa8176c8c67b3a9 +Tag = 0df724340b8ca56e8dea6bbeb4b55c35 + +Count = 13 +Key = 39d945a00e05d70a16e61334d2010209 +IV = 1f931448e9013ec4ec61af0c +PT = 9dd90ebfc054da214cbb30db7f75c692 +AAD = +CT = e4cb765408697cf85917a7a9264086e4 +Tag = fe9a1fe7a58d66e3b922693a163c1ff4 + +Count = 14 +Key = 6620ca65f72de7b865de731928a4723e +IV = e6428b6b77e9b6993b809aef +PT = 7044f7c27d776f6a7d43abea35908de4 +AAD = +CT = a1c5634a07d05ca909dba87bf02228e4 +Tag = d8b40a60a65237337db05b045de8074c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = a10c0047bc237c96caf74c9676d6ff1f +IV = c81820692baad8837f0112e7 +PT = b65c3e50f9852b745f66b13e8d4f66cf +AAD = +CT = f2f03455ec73027b27042be0e66e4b8e +Tag = 368be4de43c27e8466cf2da86e3215 + +Count = 1 +Key = bc946b46d8cf6d68656c926ff25c4d31 +IV = bfdf27b2c3afa0c70161aaa6 +PT = 00911980e4516be9b46ab0068712fd35 +AAD = +CT = 492c01a6cdc0cfeb594e849bc01bbe59 +Tag = 444cc36675f03631705226a5dca3c7 + +Count = 2 +Key = 77538171968d11e3ba20c2e13fdad038 +IV = b5211355ca356f38a0691907 +PT = 2004070ab456558b92b3d7edae46630d +AAD = +CT = 6ef97d3b2a1fe15f0397f23ee31e1893 +Tag = 869c20862bfa322748dbed0835d2ba + +Count = 3 +Key = 97852f4aa9c4e94bc8822e2c84bf860d +IV = 22ddadd0c648bc2119bd56e0 +PT = ce279cea9181c5dce053287c370b21f1 +AAD = +CT = 5ae839eb359f32c579c7c6e4cc3c2e29 +Tag = b6c3d5dedfc253d675fc385c0d40c6 + +Count = 4 +Key = 8d9dd2ae630485b5605a20d0d0984d8f +IV = fb1ec13c6d4d17f3fc4456ef +PT = c132ea57b5ab4d25cfd9cad8726291f1 +AAD = +CT = 6954f8abe05fe00bdacafce6f183d859 +Tag = faf2bc8822eda0389532133b2f7de7 + +Count = 5 +Key = 7034dc6aa705a6d96d610e4cee8bb277 +IV = 335263b2a595f766f00fd466 +PT = 19570bd894893c8d1f5c7c4e21b618b8 +AAD = +CT = e8109ac099fadca07737fb9f6ea0a556 +Tag = 4f1cac38c6baad90134392823eb57f + +Count = 6 +Key = c8f6492e83b0f4cb8510cccccc814eed +IV = c565b5eada83200e249a6982 +PT = 1b1305000c340579fec84fd31336dc14 +AAD = +CT = ff1a4e33a00dddcbc9028ef626b950fe +Tag = 7763b4adf6451820af1616792e79ab + +Count = 7 +Key = f109db0a8025d07a6a0a7b5dd64fc411 +IV = a9f8ec294266ee2a8eaefef8 +PT = d9e63f2a8feff384a420b6c5ba518293 +AAD = +CT = aa31522f9c5dee101df24bee9aac0e7c +Tag = b2d46aacab596bbc48b26708c42899 + +Count = 8 +Key = 15fe48abebecb417ea7ccf30570960c5 +IV = e86f2a2a816c7eaea624cd5f +PT = 8a78f9d325564cdf7e722a84642b34c4 +AAD = +CT = 8fadef47a392a953d6efc50ee7938caa +Tag = 9b995ab70a138824b77eb34a292637 + +Count = 9 +Key = 81779146bd8d6d4a0d4c96b4e96bc3bc +IV = 78aadb2534da89735a691b96 +PT = bdcd1da3d76c9c4a521480ed79ec2ada +AAD = +CT = 045d56c96c3646f914c7890574331b6d +Tag = a2f5925b21425e95c14108c6ff46fe + +Count = 10 +Key = 2e150ebc280a129680f617392b33d26d +IV = 54bac37012c96e624ca262e7 +PT = daefd5df86cd7bba3f6bfa278d439013 +AAD = +CT = 6873beee8a9bed14501129ce709f2b39 +Tag = a8f179b7314c7909afe2e4e8e91ffd + +Count = 11 +Key = 21508b20bac0fc5fcbc9bdf5ea11deaf +IV = 9ff94630fa4d4cb1f844a494 +PT = 107f5eee03bedbf2c7b52b6f87279317 +AAD = +CT = 9f867c9786b95e7f4e987a97678a2ed5 +Tag = dd0485e36c35191fccb9331299d8d6 + +Count = 12 +Key = 86b4dd2dc3fd5e56fe82899261072903 +IV = 38bc0369f7cc12d94930332c +PT = 7211881925d5944067b6fa0520502a0a +AAD = +CT = 7a2ba7cd4e609aa92987944c83086b6f +Tag = f395015b3ab8ef00e2d5a87f3e28a8 + +Count = 13 +Key = f93a4a8aa14e75df62b0bc6898ed37c3 +IV = b8fb42ece77d2d727d0db4b2 +PT = 4ea5f5f67245b4f08a263b9870acc8b6 +AAD = +CT = dfd64fee2365964bb7ab46c4cd80ce73 +Tag = 81650adc36876a9ad1f758904f0727 + +Count = 14 +Key = b96470bbe0c8be05abbbd1e8cd71af90 +IV = ed378d173ded2c451a1e640d +PT = e3dc185bb3bc0b2e88193d96bf20e952 +AAD = +CT = 71f71552a12dff8bf83359d79dd46af5 +Tag = 6e6641fe56efa5e179ec0bc685e5f5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 4a93d060e5840ea1a316a93833a3d7ae +IV = c1e53efb263be5a3991aa67f +PT = 9b50e6860424b1991d4e2096e054e650 +AAD = +CT = 9bd752f9e2a66a084bcae54ca49fe379 +Tag = 172793bee6cfefd22542a20ad246 + +Count = 1 +Key = d54f44c400b0ed3f2a6941b3abe5bbe7 +IV = 70199c7f775a82cb07ef5fdb +PT = fac2adf78e6be9c46f933b200c68af61 +AAD = +CT = 0cba3ca4f9e1aa148051c6109959495c +Tag = d2aa30692261c63d0861869e0348 + +Count = 2 +Key = ebce0c363e520dc92a145ab4e0ba67f1 +IV = 396d33c1a5bef28f4588508b +PT = 6d6c420d999f76c019123bb556744d48 +AAD = +CT = b6881e174f06b724f295a2b5a269461f +Tag = b38c5c919f4f1a8e6fc38a337bc1 + +Count = 3 +Key = 6243c76957703f2f86502da2e1459799 +IV = 22e7acedd99374828f29cdde +PT = 250c1e97d159fa37ec9bb7032ec4d93d +AAD = +CT = a96403bd7ebf9b0f664451fe18b6fe84 +Tag = 4eb256b0d211dfc36c71b5674d50 + +Count = 4 +Key = 5132af0961430cc9fc87096c8c5d91bf +IV = 6629fafbc6d9c614749dc2d8 +PT = 98d97323122d368b031fe6258b28ffc0 +AAD = +CT = 91e0b326e47ce16677062b4903836f9a +Tag = 549a8c2ab4bfdaecce231cb30c3e + +Count = 5 +Key = f7eb08f62b813dcb890fd1da7d49be9f +IV = 0bd5e5ccd5dd3edf0befb0b2 +PT = b05945cd2ef72ecad93192b5689c3f4d +AAD = +CT = fa68c2acf0ce06e274ad097ca216afbd +Tag = 371b729a16823956d4f1e08637cb + +Count = 6 +Key = c4bc63e67927c0510649d850cc76df96 +IV = cb0dc10eb2b74b6d9c4b8b31 +PT = 30e44c7abb5b1271e2273a545e6aa9e7 +AAD = +CT = 51ec4ba797aafcbdbc300712a552e5e3 +Tag = 8cc114a5a85a5b4b256558c73b9e + +Count = 7 +Key = 0ae0050085df7d8a1320c5000ddf1968 +IV = 8d19937602cd85434abb097c +PT = 94fd628c5921d50cfc56aec34bba2ce6 +AAD = +CT = 0e0277ad112a4260811856340ef37d36 +Tag = 30a1343d9824a2483447e2491424 + +Count = 8 +Key = 27f4738cfa2673ff652db8a718f51d88 +IV = 487472e57544c9fcb3ff7f46 +PT = f5a02afebd2abf46619a0687607ce5c1 +AAD = +CT = ffd71804a0f01465d30f2a4c3c50bd14 +Tag = 379b9e525850b511250baf28e461 + +Count = 9 +Key = 6f3c5e12bc3da8228bd7ac4c338a9f06 +IV = 2f43f1b82df57f3640e2a5c5 +PT = 88b4a430e3e6c5e94bb00ba626c2e179 +AAD = +CT = 2961df5841a0c3270974b6520bb476e0 +Tag = a8b29450aecc1ba94ad2d2deb4b3 + +Count = 10 +Key = 0ec7d1b8f5456fbc4a0af1f215269295 +IV = 84907b50bf067a847e42f433 +PT = 17e8cc8b5a3f4717f49ecc1a9d94cb04 +AAD = +CT = 965cf3b94b8f533abfd31b29ff4042ac +Tag = f1e03ae0714a9dc823d76c855567 + +Count = 11 +Key = 4d3467dca2e62241f820f517bb0132d2 +IV = fbccbbbb039a914312d455b2 +PT = c4838635d72f34525e3af94d016d9d5b +AAD = +CT = 9d2fb213422b6253ef75dbe9e1aa4449 +Tag = 25cb1ef496c5702bbf8a796ee813 + +Count = 12 +Key = 136bb3ca74005f2b77b943231f09b5a2 +IV = 24e9dfd6a3eb11a09beb22b1 +PT = 19e25ac7c85f4650731d088ec7454f03 +AAD = +CT = 8c3c116d45c2684f59f1e1cf2fb11977 +Tag = be793b8635922cbd9307391dbb74 + +Count = 13 +Key = 07e493f269f88d53e1b49d2f336c8ee6 +IV = 37290463a848f68b061b8c46 +PT = 2b4a0a1512dc6f1c8f891b699b9f5195 +AAD = +CT = b2627afe50add2dfe7ff22680ae1f8cb +Tag = aeaa80ddfd1b499f8e98b4d77fda + +Count = 14 +Key = 483af624c24e3e1211f0b2cb42de6a9e +IV = e54d8643476068f7173feb67 +PT = 039e4a799bf34b256a13b7ff3001f095 +AAD = +CT = 5d201741d3bc8439b4f945a899ced9d5 +Tag = 71328dd062f48a0c5f92417cb280 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 0cecc3a1ccc9f703c1fc494f18fb19c9 +IV = 54bff4beb52b953987ddd632 +PT = 086d474358211f0ff5bc289e0a897c15 +AAD = +CT = 3d9989937f68818a67804b29099ba1f6 +Tag = 2b38ad12cafc1ce95283e633a6 + +Count = 1 +Key = 8b323f2342b84422ec6dd0c1f2007fda +IV = 798d1fb740bbfeeb889011fb +PT = cba6bc6564ae8317fff8d96ca9f36ff1 +AAD = +CT = 9c5b7527f2250817dcf013ba8a61a392 +Tag = cfadea59143dfed0e798e15acd + +Count = 2 +Key = 7f03c217e46335fac7bd045a71b99a27 +IV = caa4b9ee637204c622cb206c +PT = 9053b47acdb001656da5e9b6f7615d62 +AAD = +CT = 23a0cdf7bb99c59f304fc6027d33076f +Tag = 48e6933abca6d22648efd7b239 + +Count = 3 +Key = 7d87b3276f47c54bbb0771e55e9bea7c +IV = 08c1f4503fef5faa1d520ce8 +PT = cf18f579a4f72f810f1b8810090d95d7 +AAD = +CT = 684804d25d940a8bbadc8c53f09aa26c +Tag = 836dee3de388ea8a18fd395a3d + +Count = 4 +Key = 4d44756a9ec41ffab01237e9be85f708 +IV = fb920ba30f7151562195a008 +PT = c720febc3a10631b11f4c424cd22495f +AAD = +CT = b3c728848aa61943f6ad9c9f2ab413da +Tag = 1d5a068b373dd0275ca64fc15c + +Count = 5 +Key = cedf5d7189dac7a35c2b0f3d00c2f757 +IV = 1c202c1b0f2b17c5e8c98670 +PT = 72d5b6470092a706d5473cb35e577fab +AAD = +CT = de4efb8250d34c78f425d9042949f402 +Tag = 274fca094065388ebc0b2bb5df + +Count = 6 +Key = 580cc9d0b5f6f1e40f7f1134e3a2b4e5 +IV = ebdc22514a02627a6c00aa86 +PT = 21c2be250ebb553decb169e96518dec4 +AAD = +CT = 122cc47c747fc06a652a7df56aa353f8 +Tag = 0b084a9b3bb37194695dad6841 + +Count = 7 +Key = 4055fe4d46ec176e1686a0bc6aa7dcd7 +IV = 202e520247db9f06fa765ea8 +PT = 36c160f418912967b7a576c2d07cbe70 +AAD = +CT = a91bec08907c7cdb758607c1d87fd284 +Tag = 20771d185c20e824435dd3db67 + +Count = 8 +Key = 250d2ec1ebabbe78adc33e8b33c0fdba +IV = ff482d3021c0e47bb9230d96 +PT = 16ef598dadfbfd0eb082dee73f3da978 +AAD = +CT = 036e0d20bc948115738205f3b0607b7e +Tag = 7fae49681c2f09d7ae3120313b + +Count = 9 +Key = 6950b8a7f7b4b810a6e2ad4ff0b3a131 +IV = a841bf88258c383a83b10360 +PT = 61e9af337a6a4f6cd5b44a39b1e05e6b +AAD = +CT = a0b348468e358d5c03d0b496957fd048 +Tag = 3bbd5e7c87fa3da613da73faa8 + +Count = 10 +Key = c2dd1a5a477bbf2c66567d5f7464fd6f +IV = 368c0ecfda73e8a9467f4ccb +PT = 5fae2c1ec5cd4c609a813a27657260a5 +AAD = +CT = 15acffe70135c6c1d40b504c7c370177 +Tag = 0772f8620924944e5a49d60f51 + +Count = 11 +Key = 3a422ad95edcb470d0524c12ddc5415e +IV = 02f338926aa8cc00ccd8ea05 +PT = 80da029efbbe3fd1f553aa48f78edffd +AAD = +CT = 0cd0921a851b26436e83e5dd7e1df26c +Tag = 21a2926d5341e566a465785d8f + +Count = 12 +Key = a6eecf615a8583a1f3f230980b6003f4 +IV = 19b26ea23602e6f5c809b8a3 +PT = 7fb3a4ea62de8961d5e9f50cfa594c1d +AAD = +CT = 98b6a0f27895538e99f94ff0596e226b +Tag = 625609061910158b5d1816130a + +Count = 13 +Key = b2713469a7b7eaaff45f1a46d560ca25 +IV = 37192c4360256b214f9e15dd +PT = c0ccc47a1d70af1835840bd9b2032bdd +AAD = +CT = bb7bcbb36435202061a3f999c62a9559 +Tag = df1551a10e04ab24abb0947804 + +Count = 14 +Key = 26557c993d8a8043ad610f28e93de75d +IV = 43e5cd54636b170290bce475 +PT = 8eb5fdb1031a8bb7e39ac478758f955c +AAD = +CT = 8c7e991750cbaf5278b8c5e83128c8b6 +Tag = a955980ac3a23377f97b3ef51c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = f00fdd018c02e03576008b516ea971ad +IV = 3b3e276f9e98b1ecb7ce6d28 +PT = 2853e66b7b1b3e1fa3d1f37279ac82be +AAD = +CT = 55d2da7a3fb773b8a073db499e24bf62 +Tag = cba06bb4f6e097199250b0d1 + +Count = 1 +Key = bc8fb606bc51571912ad8732ca4ee7af +IV = fd4c8432015c5a5def1561c5 +PT = bcf430dc33aa27c6b31c377c2d6b0133 +AAD = +CT = 3b864d7c12e8dca51a65b0be202cb8d0 +Tag = c90cd06a5fffa615291c2f3b + +Count = 2 +Key = c3c233edd16d7d7555961c7ab7373b00 +IV = a77212227c0d544224406f4b +PT = b19d9314095b865bfdc92f2b892e9687 +AAD = +CT = d539aeb4f3547a40ee808ba8486ef951 +Tag = 51806bd1186765f12b59a076 + +Count = 3 +Key = b46d9db4c850c1aea7616c1076eb1bf4 +IV = 05256b66de9203abdccec555 +PT = 228bafc17326768b50bb9856e8c9b087 +AAD = +CT = 8c723a081063f0bdacc5735da46db72c +Tag = 01acef15be0baf87132a6ade + +Count = 4 +Key = 8c0c7b2030775f76f8ac27815b668453 +IV = d0b91d31f504d7c5acfc1664 +PT = 9a2637cc4f911074508b00d161c27555 +AAD = +CT = ab27bac6cf7c39dc12afbe65c991f3a6 +Tag = d64d975f459392ca38345fba + +Count = 5 +Key = 815ca8969c69ba801df2b8eec7cb19da +IV = c08f2bbd9110b4922a64d238 +PT = 81aa6eff4d531534e979d141d47671dd +AAD = +CT = 7856592fc7969515fbc4b7f66cf5478f +Tag = c1c1d534fea7a12986287cd5 + +Count = 6 +Key = 3875e33e5cd59930af83749d30939401 +IV = 93a9e6b3e26b2da979f16b10 +PT = 331df647b72ed820bd25569c63a1073e +AAD = +CT = 0ef2e33d8c5137ad1021ea7620f7ee2b +Tag = 7c69be3153902d5690b5bbaa + +Count = 7 +Key = 53d29ae5b2cd4882f2d4a341f7bfb552 +IV = 1892bc5be067acf8876c132e +PT = 5b0c6a974bc8898a026b4077367326a4 +AAD = +CT = 24668aff80c67a5236a90e76776d067d +Tag = f5aa4042968b094e3ff79726 + +Count = 8 +Key = 151066a3509ab01c9d8ae7ae338b8e8b +IV = 7dd456c28dd1b1c5211534ef +PT = a07a86ad230c5b29bf27c3ae57cc73ab +AAD = +CT = 933cf306e1ce04704225f1ddb4e9ce72 +Tag = 7c597e74467f5d02cf800a2d + +Count = 9 +Key = 30f559371831f36bdc685942192ea554 +IV = e8873e7ad8b6e1d24b771852 +PT = 4a449ec846305b46b3e8c64ff5c84e60 +AAD = +CT = 7eff1b0985abdbdbb9b41cd383843bc4 +Tag = b0f9875391f428143e503fa3 + +Count = 10 +Key = 9c8b760031900fc350f0017a08ceb43b +IV = 5664a5be6700a18aadc3f611 +PT = 0ce21891c926e938a84dd12ffe8592cb +AAD = +CT = a0ac1822420da2bb125b31311c1e67ae +Tag = 3e973d0f7e008f8847a46571 + +Count = 11 +Key = 5e2a22b8458a55bde5abb3e1a4c34a31 +IV = 5c104bc3e83ffb3ee249f0e5 +PT = 895aa21e24ebb5c1a1356d048bedfc18 +AAD = +CT = ba1a49b5f572261db84a27fde47e5013 +Tag = b6c42f368a22e4f8d5ea874f + +Count = 12 +Key = 7377bb05592db42159c9b30bdd8d09ad +IV = 92a5d7df99dc8f997c4349bd +PT = ef1639b981060f53428b8ee720343794 +AAD = +CT = ee3c548f3fd0c997354856eaf5ba0422 +Tag = 07aed0b6480858df3fb9848e + +Count = 13 +Key = 4a1a12615ab528d9a2cf5107f8f3ac63 +IV = b4ec4852212221d3e92b50bd +PT = 9d7b56bd3011d976dc74faec3e7409bb +AAD = +CT = ede8a3da7f0ac0aaa2673db3a0ce6bc4 +Tag = 88acda4b8b6f56918b41e6aa + +Count = 14 +Key = 8e75f94f092fe5c986d77b7b2d768f4c +IV = 0f0e33a5da1d0f0b797833f5 +PT = 50e742d8e420a7dc82a010e454a54032 +AAD = +CT = 335f1c50c3bef7e7754f6da13070618b +Tag = 994f49415c3447b0f7ad9de7 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 9d6380d680247607ab2ab360d5b755dc +IV = f9b1df61d9f40419e93835b1 +PT = 56a65181f0bc6eb8139898ee5c8dba43 +AAD = +CT = be80cd6d41fec4d891e0bbd34232d85e +Tag = 33e5ed3a94b45de1 + +Count = 1 +Key = ea489888e57197a4c80d5072fbdc0472 +IV = 70a35ddabf771181b209a27f +PT = 6801b14b20e835a84732e87380743662 +AAD = +CT = b985e4efdafd14d35e466be4acd8dc85 +Tag = 29fd15c4681bbe22 + +Count = 2 +Key = 752cce13bce12e658b31e94ebb85caa5 +IV = 5dac5a18ccb563494c526537 +PT = feacb6376629d397ce516b1b72a7bf32 +AAD = +CT = c60d504406456992b276000d4665e0ef +Tag = 992c83ccab0475d5 + +Count = 3 +Key = 66e2b119e1b3c1ef6d4f5d2fe0d92167 +IV = 6b818351cef0e556be0d372b +PT = a11d256705a9bf47f2a6eaabbbf31110 +AAD = +CT = 0b6f1d29578e9d9739c12d7a9d0c4700 +Tag = cdaa6a19ee750872 + +Count = 4 +Key = 6db746b08535364d0ea2ade1cee59b19 +IV = 6fae58b676f9a4ac1919234c +PT = 56d6bf5413047fc745b4585b394244df +AAD = +CT = 50b8ce1ca4f049f77735c8583638343d +Tag = f3f40cc6fd2e61b7 + +Count = 5 +Key = 96eb7fcc28d8adae2c7d2316d6ac8f88 +IV = 65ac754f091a36c13358388c +PT = 679e16698017b8fc1fba25466a026233 +AAD = +CT = ccc32675bf01cc6cb831a70bff1e2309 +Tag = 0a27149c44470075 + +Count = 6 +Key = 88a2043777539ea6dc0d62de1439f049 +IV = 9673e74c679fbcd9a65221d4 +PT = de1c6629929671db19ff309e2ed9bc4f +AAD = +CT = 79f9c4da6f11890048a5be8821da42bb +Tag = 7d946903f228bd62 + +Count = 7 +Key = e57cdce08a7e5050686c7651d1c46ac5 +IV = 65b8dda5f5d57510a3ecac98 +PT = 8a9965de9c606ed3c2aced8d33d1a77c +AAD = +CT = 93480db25def9e53022948c2b25b69b4 +Tag = 3967337eeb9e83da + +Count = 8 +Key = 17fccd8e6cb0f3bdffb5d1f22d94c4ed +IV = 5a32ad29c03b33cdde5db2c6 +PT = 46b7ea5fe71c4d4433d2bbc8b718bbe1 +AAD = +CT = 0d989be52916078819e5881f14745285 +Tag = ee23127c47f03b39 + +Count = 9 +Key = afa7e1e2d6b6871edc00078656ef251b +IV = fd9e4d8739a6cca07f9b25ef +PT = 12eea72b36e4f65fc13e0c43846d10b5 +AAD = +CT = 0bb726368b10df54231a0e7250f29cec +Tag = 85317ac8b9341f69 + +Count = 10 +Key = e0ed6a57b73aeff942872cec611ee661 +IV = 7dc379d31f1a084def12fc27 +PT = 447b8970443e329906858dff513b5c2b +AAD = +CT = 982b12023ef885415f1f47e6fd573d4f +Tag = 916a85203fdb0794 + +Count = 11 +Key = 27146258c86f512528512e9fe54afd76 +IV = 2eaf2dc4bec253354be767b0 +PT = cdefef7d13151f0a4597465aabdfdfbc +AAD = +CT = f41d0717723a99e19bb892490e5d4e34 +Tag = 501ace7559f07eff + +Count = 12 +Key = 944f43ad73fff4873c20d661ef61382f +IV = 6a6e5cf74842cd0624ae1a7d +PT = e824b18bf11a043270093dbbaae98b5e +AAD = +CT = 94271aa5a7a8da48de852136268c5503 +Tag = 57363c3173a546fb + +Count = 13 +Key = 93ef8dda24bf46ba2daf58ad69469857 +IV = 93233064f0452609a0eaa2d2 +PT = b2f8f6f8352ae242b7fb9de0a2f3d738 +AAD = +CT = ddcc807ad695d64916808c0d1a245c8e +Tag = 921dfbb48839befb + +Count = 14 +Key = 541b76bd595e94f0ffabb07896f55b2f +IV = 4682fcd3d5f58ca3cafaf149 +PT = 2dfe7c1ab696cbd94f9d45ca05ed280b +AAD = +CT = acc11c5b8142a43d54edf2b7caa93d5a +Tag = 0506fc36cf48827d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 69a6bff9f9eccb3a0ed6260e67785df6 +IV = 1cf93bab893917f844f62653 +PT = ad5265f5feb4e437ff6556394ae768fe +AAD = +CT = 8f25ab02e2a20be2e5a90901f21baac8 +Tag = 32d17b9f + +Count = 1 +Key = 9ba442618050f449544dc450e7fb528d +IV = 1572188d86933c5d1e2062dd +PT = d1bcf155812edf58faa8282162a19c14 +AAD = +CT = 4faada43509b014397cf941b17ad5d48 +Tag = 451d0a67 + +Count = 2 +Key = f971387f0f8cbb9e2abbe994d836bbcf +IV = 5b489aad21963b04317b3491 +PT = 26f840d2e8ababc56540b5df22cd3de9 +AAD = +CT = 2ca6320085324f819a7d18e4cf804d3b +Tag = adbe7169 + +Count = 3 +Key = 83929592a959287c94d840110302396b +IV = 3fb036f31594dad40fef75cc +PT = 7334c194ee1527d83bf244bd4104892f +AAD = +CT = dd4cc4eaebaed6167e0990efddd3740a +Tag = e18532c2 + +Count = 4 +Key = c0953bdafbe17df90a78dec3e545e7ad +IV = 78f4890dac996c82f5a22048 +PT = 12d67ee66d364700567abcf2ba6fa1d1 +AAD = +CT = 9f9560e4eda8450fbfc88f4d709199f1 +Tag = fcdb7b20 + +Count = 5 +Key = 68fa9733d2e9ec63effdda84aee9176d +IV = 7cca24231142c9dc4154b6dc +PT = 1b3b7fa5de98f3344d604f21e84030af +AAD = +CT = 417d757f7f3b2195e1d0a2495a01ab5b +Tag = dabef617 + +Count = 6 +Key = b638c24a85da5fd565eed70777371dbd +IV = 37d30ff7f59e3f874a7983d8 +PT = 6541727cdfdc0bad9b97acf286989d88 +AAD = +CT = 20c5210ba516dceb0337a2481ce0bf83 +Tag = e0ea73e7 + +Count = 7 +Key = 50c7289235e10c8ace0a032847d2ac67 +IV = 2ef5d3499a1c361fafbb6fd0 +PT = 72184e963e72436b8c7fe39eeaf6d00e +AAD = +CT = e27735e8b91901e73ec26d16e0a4d136 +Tag = e7f5c4ba + +Count = 8 +Key = 505ac16d907d5f71256bccbff3b36904 +IV = f2dc9e69b5b9094d64e80dc6 +PT = 04c94b31d67c7b6fabf93791d12da507 +AAD = +CT = dca491cf030c1b3ebaed525bb41506a5 +Tag = 4d0328f7 + +Count = 9 +Key = b07698596f062c681c05146bea1bbed1 +IV = fbe90146f61302e5ecd1fbd1 +PT = 4b7c4be588e945cbf22bb3598f6bd08b +AAD = +CT = c6200dce0bc548c5ad5d82b566c47df1 +Tag = ce239889 + +Count = 10 +Key = 41cab30394347dcb1e3fa1bafe5d1b3d +IV = 3956f99d54e5e992f3b79e1b +PT = a57cdb091f8e7969e9387c6a3708daf5 +AAD = +CT = 9dd072f727e8191c34411346db90f1d1 +Tag = 38b024f3 + +Count = 11 +Key = dd10fbb46b2fbba46a19e4021f125c7f +IV = 631635d8d8424d2cbe95433a +PT = 564c9f8abb57a2a5898309f47b3e635c +AAD = +CT = d3780f707553b13dcaa66b2d56b67909 +Tag = 9f7c892f + +Count = 12 +Key = 2ace903bfe45f14839fc7ba4736c7350 +IV = dcd18b7fb8f556eb9b56834c +PT = 5c9523a2cc3dcad99e3a5c1d07d56f57 +AAD = +CT = 98e60b4c742b33b845b11050d61473f2 +Tag = f8a30698 + +Count = 13 +Key = 39da978bc6333a1e732c131431efbdff +IV = d0ed34233ee671dc46bd4469 +PT = 67a31056b6c0a115dfaeee60cf562d98 +AAD = +CT = 7b2c74495132da8688490e53f8a963ed +Tag = e1996f0d + +Count = 14 +Key = b62d24412d6ae2c99a6fc0be53e5dc3c +IV = 24437ff34f47a72e5aab2761 +PT = 2bbcb2618d2f4f6a06f0e18602e7a706 +AAD = +CT = e8550e6d9bcb048446d0358225e30103 +Tag = 24dd8ad9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = c939cc13397c1d37de6ae0e1cb7c423c +IV = b3d8cc017cbb89b39e0f67e2 +PT = c3b3c41f113a31b73d9a5cd432103069 +AAD = 24825602bd12a984e0092d3e448eda5f +CT = 93fe7d9e9bfd10348a5606e5cafa7354 +Tag = 0032a1dc85f1c9786925a2e71d8272dd + +Count = 1 +Key = 599eb65e6b2a2a7fcc40e51c4f6e3257 +IV = d407301cfa29af8525981c17 +PT = a6c9e0f248f07a3046ece12125666921 +AAD = 10e72efe048648d40139477a2016f8ce +CT = 1be9359a543fd7ec3c4bc6f3c9395e89 +Tag = e2e9c07d4c3c10a6137ca433da42f9a8 + +Count = 2 +Key = 2d265491712fe6d7087a5545852f4f44 +IV = c59868b8701fbf88e6343262 +PT = 301873be69f05a84f22408aa0862d19a +AAD = 67105634ac9fbf849970dc416de7ad30 +CT = 98b03c77a67831bcf16b1dd96c324e1c +Tag = 39152e26bdc4d17e8c00493fa0be92f2 + +Count = 3 +Key = 1fd1e536a1c39c75fd583bc8e3372029 +IV = 281f2552f8c34fb9b3ec85aa +PT = f801e0839619d2c1465f0245869360da +AAD = bf12a140d86727f67b860bcf6f34e55f +CT = 35371f2779f4140dfdb1afe79d563ed9 +Tag = cc2b0b0f1f8b3db5dc1b41ce73f5c221 + +Count = 4 +Key = 7b0345f6dcf469ecf9b17efa39de5359 +IV = b15d6fcde5e6cf1fa99ba145 +PT = 822ae01a0372b6aa46c2e5bf19db92f2 +AAD = 72e9cb26885154d4629e7bc91279bb19 +CT = 382e440694b0c93be8dd438e37635194 +Tag = 2fa042bff9a9cd35e343b520017841bb + +Count = 5 +Key = 9db91a40020cdb07f88769309a6ac40b +IV = f89e1b7e598cc2535a5c8659 +PT = f4a5003db4a4ebbc2fdb8c6756830391 +AAD = 70910598e7abd4f0503ecd9e21bdafb5 +CT = 40d7fc4ccc8147581f40655a07f23ee9 +Tag = 243331b48404859c66af4d7b2ee44109 + +Count = 6 +Key = e2f483989b349efb59ae0a7cadc74b7a +IV = 3338343f9b97ebb784e75027 +PT = 14d80ad66e8f5f2e6c43c3109e023a93 +AAD = 8b12987e600ff58df54f1f5e62e59e61 +CT = 43c2d68384d486e9788950bbb8cd8fd1 +Tag = 47d7e9144ff0ed4aa3300a944a007882 + +Count = 7 +Key = 5c1155084cc0ede76b3bc22e9f7574ef +IV = 9549e4ba69a61cad7856efc1 +PT = d1448fa852b84408e2dad8381f363de7 +AAD = e98e9d9c618e46fef32660976f854ee3 +CT = f78b60ca125218493bea1c50a2e12ef4 +Tag = d72da7f5c6cf0bca7242c71835809449 + +Count = 8 +Key = 2352503740a4e1b22dcc9c002f53bd11 +IV = 474ecccc3182e03c80a7be74 +PT = dc1c35bc78b985f2d2b1a13ce635dd69 +AAD = a1bc98dacec4b6aa7fee6dfa0802f21a +CT = 3f6f4daf6d07743b9bd2a069d3710834 +Tag = b9c2b319adbd743f5e4ffd44304a1b5f + +Count = 9 +Key = fc1f971b514a167865341b828a4295d6 +IV = 8851ea68d20ce0beff1e3a98 +PT = 2fec17b1a9570f6651bbe9a657d82bce +AAD = ece8d5f63aebda80ebde4b750637f654 +CT = 2d27e5fa08e218f02b2e36dfad87a50e +Tag = eb9966774c588a31b71c4d8daa495e9e + +Count = 10 +Key = 00ef3c6762be3fbab38154d902ff43b5 +IV = c3c1c3079cda49a75a53b3cc +PT = be425e008e9b0c083b19a2d945c2ede9 +AAD = 714fa1d6904187b3c5c08a30dffc86e8 +CT = c961a1758dcf91e539658372db18968e +Tag = eaf9bda9b3322f501f7329cb61c1c428 + +Count = 11 +Key = 2d70b9569943cc49cdef8495bdb6f0e6 +IV = b401d0f50880a6211fde9d9c +PT = 47a87a387944f739bd3cb03e0e8be499 +AAD = 592e7276bda066327f2b3cd8cc39f571 +CT = c1b2af4d273231e71e7e066c206bf567 +Tag = c68d8d3cf8b89e6b15f623d60fef60bd + +Count = 12 +Key = 775cb7f8dc73f04fe4f9d22126bb7b57 +IV = 81ceb17deee19b8153ff927c +PT = 8242c6c0eed6d5d1ab69cd11dbe361d0 +AAD = 97e07cd65065d1edc863192de98bc62c +CT = 580f063ab1a4801d279e4ee773200abe +Tag = 29e4d7e054a6b0a4e01133573fbe632b + +Count = 13 +Key = 58ba3cb7c0a0cf5775002bf3b112d051 +IV = bb923c93ddca303ab131238d +PT = 6b93d2d92de05b53769ec398ab8097dc +AAD = 0898ea55c0ca0594806e2dc78be15c27 +CT = d0564006b1897bf21922fef4f6386fd4 +Tag = 3a92f3c9e3ae6b0c69dcb8868d4de27c + +Count = 14 +Key = 955b761de8e98f37acb41259fa308442 +IV = a103db8a0825e606b70427fc +PT = d18344c86caffc4237d2daae47817b13 +AAD = c2d0d8b77a6fd03ced080e0f89de8a4b +CT = 065d228c1289007a682aa847a36b6f30 +Tag = fb367f47922d67c84bf47aabb2b98421 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 89c54b0d3bc3c397d5039058c220685f +IV = bc7f45c00868758d62d4bb4d +PT = 582670b0baf5540a3775b6615605bd05 +AAD = 48d16cda0337105a50e2ed76fd18e114 +CT = fc2d4c4eee2209ddbba6663c02765e69 +Tag = 55e783b00156f5da0446e2970b877f + +Count = 1 +Key = e0d6cbd0dacdf38ebb992fc00f17af34 +IV = 7291492e46397782fa426753 +PT = 72e2780f055f49ee89e00b9b0b2a6745 +AAD = 480442680d46b7cd550b5d382aac435f +CT = 2ddf07f41a279bc5e01009ea386a1a93 +Tag = f1a893cc6622e094011fb70dac0b81 + +Count = 2 +Key = cab7b8d04a8ba2eaa7535e8e4b9606cc +IV = 058c340f3f6ada41c3bbf9ec +PT = b3cdbe19bf518d33799bc070c7565688 +AAD = 43582ec0e99ec0b1e80330eb2b84e65b +CT = b53e8272fd0da20342293bd9a28e03b4 +Tag = 9c89be35aee9b9db1b9d96e06fdd6f + +Count = 3 +Key = 3c536f320aaa2be169238c36ae780a7a +IV = 3cc0340a0fe42c5fcba5a2b8 +PT = 13eb206064df238dd3148f886be3933c +AAD = 5a62b99d95487f7f81d57f23ab9d9a04 +CT = ed06df79a8d7356e46acf64d4f0a6ddf +Tag = 7b59e7a014d4f2f0dbdb2893a68d41 + +Count = 4 +Key = 9da0222f671780a012abe7ca05216022 +IV = 1007be6ecc12812d5a0dbde7 +PT = d1861f7524cf6cfee10efe7939c9d8b2 +AAD = b7706bc7bd81c2f5fe2327c95a10806c +CT = 1b59bddb771c39432823aa323e68d7df +Tag = ae19c0e62b81039beaa1221d59c093 + +Count = 5 +Key = 53126c482a0716fbe8778f4f07274067 +IV = 751d5f7e9fb8d5a97ca75000 +PT = f2ad2b4361d584dfb0f7fc10bc6e78b7 +AAD = 4c6e65f77b2aae96de6a59bc49746b36 +CT = f6f02a38d7f7c519c2b1714b31778c80 +Tag = 99fdcc2b222a0943f8e50e3afb24e1 + +Count = 6 +Key = 2424cb295f272d703493f14bc9d60736 +IV = 5944844aed6049741b563171 +PT = 76fa97c3c55873eec6651eae40c0fc83 +AAD = 5b5cac3ada97bb18684eea0a288e1471 +CT = 27fce4df1d53d47385f741a62f9db9bb +Tag = d1ddf5e6ab4fd39815ce53b982e16d + +Count = 7 +Key = f4f0098a453f184ba8ac0de17103e911 +IV = a9cf080f617600740ba8a98b +PT = 5b982b50e8683240ebb9ec69a3ba61fe +AAD = e9a29a40e80eb480ca12fcb1135b56f0 +CT = f2622c0dceb7b70a0c6fd78f640c78c1 +Tag = 01bcfde648e40bed7d69ad86b8e8d0 + +Count = 8 +Key = 51806dd3948264c672b67f667d082bc0 +IV = b6bc227d52f7d7e6e27e4f93 +PT = 09ff820364e663268454b84023a5e72a +AAD = 085ca084df88dd3e72a76afe2f8c171a +CT = bef6f4fabe0f58f2010882fbef8493be +Tag = a79b4f7bd74ffa10aa9f9e57f67f57 + +Count = 9 +Key = 89be13a020fa189722bc8c2e371bd363 +IV = 9accf3af62aa227075813ab2 +PT = 259f08d2cd2a81f041248155336d9583 +AAD = 6b7eb4592b537dcef179fb66e29774ee +CT = 88fba23da0ce1fdcbe494f86be858f4b +Tag = ae532ca89b6023efc8ed5e37b1d422 + +Count = 10 +Key = a84a3bd5e82dd882509189a009b008e0 +IV = 31fbbc8cf620ebec1116c593 +PT = 952215dd336cf7ae1955d27b135757cc +AAD = 2cc531d6713535c7dd738ac3a0a1707c +CT = fb743f34044fe257398ff1dcb0dd0cc7 +Tag = 01541c1dca7a6030f51e9d75821efc + +Count = 11 +Key = edc0b7314a14e74593e066f1f69982d9 +IV = 317264708288c84c2bef9b87 +PT = fe739fb245579bf9a4bf0a8b3b33f17b +AAD = b8ac86ff97576ac03ea34f3771fdf038 +CT = ef5b946096a4a2d6146f2f0548a4fc25 +Tag = a70b8a71ca0f04c483c7acc1cdce4c + +Count = 12 +Key = 068b85aba8ec1fd31c930ae157aa9846 +IV = 2038a327ba37f4d1304ec423 +PT = 54a54cd48a2bf0a417c7b333b110aa5c +AAD = 201a1f21c43932b2ee6f81a38928d3c7 +CT = 0a9c80dd44194f2e6976c47b18d0320e +Tag = 25d73c2e12bceae3f2101e3dbc1f35 + +Count = 13 +Key = daa0000a0592b7fd59113db675c745ed +IV = 816e4e2be670c6291739825a +PT = 85e1e7945f6e9ae0b28e397ad943ddc9 +AAD = 5a7621015d0486d4817eeebc25e395ef +CT = 27f0e4e24f669f9c084099bafd602b0c +Tag = fc1506959125f1e1a302ee29cd9d5f + +Count = 14 +Key = d8fb3f860a3ef2357b1673cdfbd0ff8b +IV = f17fcb1419e265c978ace155 +PT = 5910816574d1cd1be37423970de39f46 +AAD = bd395aa25b23f72ee8ab08c262767e05 +CT = 7e4d39b2a77c5c28da399d5f15951fb0 +Tag = e206cc81f365d861c45fee23e1444a + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = bad6049678bf75c9087b3e3ae7e72c13 +IV = a0a017b83a67d8f1b883e561 +PT = a1be93012f05a1958440f74a5311f4a1 +AAD = f7c27b51d5367161dc2ff1e9e3edc6f2 +CT = 36f032f7e3dc3275ca22aedcdc68436b +Tag = 99a2227f8bb69d45ea5d8842cd08 + +Count = 1 +Key = fe95fdd9dbcfcfe8f994a0e11d2b8562 +IV = d75937f8bb955122b44654d1 +PT = fa77d807471e22279e1eaaccc76dd2bf +AAD = 2c407f5e837053378a80b4c973d152b0 +CT = 2dbfa8e44e111e8764421a9dc129b6ed +Tag = c2b1b4b8ad06cd24906bc9a7de68 + +Count = 2 +Key = da1db26dc3c5357e5f1c12de7c0de0a5 +IV = 1000b0acc65c165746ba1fed +PT = dfba2ff17540fc3dfcf2c45d6eab159e +AAD = 074e6e62592281c303ef46d545204066 +CT = 988e900627109f497e32474768342714 +Tag = a1ce2253fce0256d16509a33f52b + +Count = 3 +Key = 562f9c9a11d9ea6bc478a1dee0dd19ac +IV = 624f34b1cf97b75247408ae0 +PT = 1ca91866e97fb824d61ae0fac0ddca9c +AAD = 98c14c557e62ab2d4360f235b28e6813 +CT = a2c854861c50f1d16992b2f91ec20a5e +Tag = 3d725f3d09981cc6f1aa4c365665 + +Count = 4 +Key = 7100ef22b9646a99e8d30d74fb65c754 +IV = a31edf743fff7ac5398e6bd8 +PT = 6f6b277cd1e33e082ba6ce30e09a7f27 +AAD = 06b0cb24b7ff377a16a53a0bf1bef21e +CT = 8c001997a75f7c6aeb9a736a7415910a +Tag = f54471f1563da0c1d5d5122e2888 + +Count = 5 +Key = c757b942e9e7f8dfcd993a8f8cc73384 +IV = c0b8cbc8f3d48a914eb6c932 +PT = 7ab42b5ffc6d3eb0b3ace9ba44d06b50 +AAD = f1571364973fd107f7b36ceab43c3e98 +CT = 902091a9cea7ea5a0da91cbf88e1bee0 +Tag = 011fbd9e246d03ed8c1c592fc876 + +Count = 6 +Key = 5083918797b5d1da001c03c54bb3f07b +IV = 4c27cc8ad98e1fe63a4520fd +PT = c3cbf880ad665e7aae2a8381301f055e +AAD = 71e80947f7117a66f9513b0cf46f1301 +CT = 6c726655e97636b99f90f36cf290fc1b +Tag = 63725b4bf7cf40c8cae21cb75ebb + +Count = 7 +Key = acf5b613db4cc387dea254d501494002 +IV = c14232fc9c5a4fa4ae5d9450 +PT = b65dbc64441ee970a4e13c3fe5308335 +AAD = cf04ad289c8fa751f45e988a0ea3e3d3 +CT = 74944bf1b5e3bb8206d5946f2a2d8f8c +Tag = 4f568fe3a98e6667447ad19eacff + +Count = 8 +Key = 2886d976440ed260fc641201be507602 +IV = f94899851d37ac5468d0b853 +PT = 93613ff41c80295b187c3b057f0acc71 +AAD = 3c736cb0f4d60b5b8df50e41f0ce3456 +CT = f74ea389c6b102a55fc7a8d7b0d77f13 +Tag = 03f0bd12209751668e7b35468014 + +Count = 9 +Key = cda835e471550c6d2ee7ba9b55df2b7c +IV = 80e0bfc44c5eb9f15affb3af +PT = 476acc5640f072b7b4e52dc054b3c4b5 +AAD = 4661e5d2d81383e0f482ca54b0819112 +CT = 3fa8dd8bf2bff71693a3099963ea07dc +Tag = 4d2cf61dc191a0d45ce2b855a95e + +Count = 10 +Key = 16a7671cf277ca6b1a10695710411a16 +IV = 914d863615c32f219d0b5f7e +PT = 3d3dbbb57fb0924efa94b153f2cb8ede +AAD = 660571ccbbad2604ee7c88ecb8d9a1bd +CT = 186824c3b7e658cce7dfcb01856565cd +Tag = a24dc0a3845c3728bd82785c4efc + +Count = 11 +Key = 5d86f346e272bb641132a2c5acad7d2c +IV = e70ea37ed788c1dc6e3d9d81 +PT = 08063cfd8d5026d66012588f4b5946fe +AAD = 2665b7db90f476ddd13ec3f70ade3e74 +CT = 148633e17d4fba1e220be5c4a62702a9 +Tag = eb5cc7785d40626fdfa7b962524e + +Count = 12 +Key = f0fa236d5be2c35399613abfc9ee1b0f +IV = a7d5fe70a859889eec6dfb09 +PT = 323ebb6d3b3bbd652a11961c6fd871bf +AAD = b846ab404e940460930d162814f52069 +CT = 328e6160533b8d286d7b00c885c3ad7a +Tag = acb2de46b1d270ca8a88fcce4bdd + +Count = 13 +Key = f46a062b40dc9b8fede642ce14b88c5d +IV = 67f6f0178bde98df78c9d615 +PT = 8957f85431722aaab186fd34edbfd69e +AAD = 5a508d9e85b112c1f924a0bf593c76d6 +CT = 6f8e920dbda03121a0ee7e7746956dc5 +Tag = c75cf08614aa408f295cbed83fa4 + +Count = 14 +Key = 200e443d5c48cddf940c035089de1ff7 +IV = 4ea59353f7b745c4348e465a +PT = 1c965148662ba64558b9aff496e25ab5 +AAD = b6b66039d3d5f8fa9ade2ff2f538f88f +CT = dc95fcf185fb330409d89d611fd0a118 +Tag = 5c6044e9800c87843063106f875f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 66a3c722ccf9709525650973ecc100a9 +IV = 1621d42d3a6d42a2d2bf9494 +PT = 61fa9dbbed2190fbc2ffabf5d2ea4ff8 +AAD = d7a9b6523b8827068a6354a6d166c6b9 +CT = fef3b20f40e08a49637cc82f4c89b860 +Tag = 3fd5c0132acfab97b5fff651c4 + +Count = 1 +Key = d9821b713dae03c8f246ff3fd65454d7 +IV = 6e34f3ffc9a602dda2764c56 +PT = 6fca787a081b5517d6c887147a2ef097 +AAD = f76d8fd6ab2e4ce3e3316b3523fc24a7 +CT = 17ad843de0ff22f0c6a96c7cb6eaeadb +Tag = e6f91e55ad30c74b9f94577375 + +Count = 2 +Key = 1b0bb487e42f8e850e44dcad7ef28390 +IV = d5865927aca30983da09a52f +PT = da3088272016161725004f8cba50f913 +AAD = e5b8299c9b8ce353f98c7ae565cdb491 +CT = 96f784202baa52eb598353055140200d +Tag = cc1681cd80dc6614777420b83e + +Count = 3 +Key = cc586a0946665139b0f1f70d71a66f63 +IV = 619d43d06532d184629d6af0 +PT = b7b97c2dd1f0121d85b7fbf67c5c2bfe +AAD = ee0a0d88101165a06de8b494f5dfc1cc +CT = 314c8de9f8c9a06a749891cd6e4f302f +Tag = fb7b4a9a80d2d89a6131856336 + +Count = 4 +Key = 60dcd74b36c07eddb0826562bc19a47e +IV = 32ee3b07893e2535487775df +PT = fe74f489e2bd7f7e736ca3e37a525c50 +AAD = aa2e598c99282894c32ad8ba2dec9723 +CT = dbfad762724286f558395c116d6e170c +Tag = c3cfb394e19a5ac079333932d6 + +Count = 5 +Key = 99375b6b3d8e75cca69691a350b0b9a5 +IV = f943cd80759bb594b97f1744 +PT = 3ee0a4e05eb35f8c36f3e2f6c7450011 +AAD = 0b658830478ce6ea31dffc3e257b4dee +CT = 4faff331a66c96e14313b47df4c306a2 +Tag = d8e8e40ce36ab6a1440488beca + +Count = 6 +Key = 9050494a6721518e8143b587726ddc8c +IV = 6a2ff30163529004a9283636 +PT = 3a0d23bb59aae9acc93f70cd2753f812 +AAD = 96da0276645b5b4b0f283793b5e0a0fc +CT = dffa394f8b2e4dfd9792317bc39bfd92 +Tag = 9c9243b9528dc70d7644894de7 + +Count = 7 +Key = 978b8fef40fdcbc5ea328cb28cc23fe1 +IV = d6df6325c0d6f94a5b2b590a +PT = 593fc1eda28d62641178f235536950e9 +AAD = 01c368aeb2d45f825929812ccf73d84c +CT = 55c0a7ca11b5d5aeb9ec691b3aeadd3a +Tag = 67415c7a94cbd1107489fe1ac8 + +Count = 8 +Key = 62ed9851635b3b0592af21ec18aee5b3 +IV = d4fe93cdc912aefc49655b29 +PT = a13e9aaa3fd083b86567ca811274685a +AAD = 88c9215c75267e077e454ec81a521f96 +CT = 7b2beaf1d3b491904d99f14543698cf3 +Tag = 692ea12ddda820d6db6d7f472d + +Count = 9 +Key = 068b6a05fd16c1cc4cacce3133c2c5e9 +IV = 8ab7c07db65f59943f68dc62 +PT = 12bf71d81330b8b0e3b0fdc3bca08c10 +AAD = 250fdd7a00a8dc99f875d3438fb97a95 +CT = e526a3c6fd2ca026bc07f05089c569a1 +Tag = 9541f6d801f0c12e47b6184210 + +Count = 10 +Key = 28fa7e331c0f6e7051cd31c9fc672d4f +IV = e2a10a0b0054277a91fc456b +PT = 781155b671c23053ca8069eef83c50f6 +AAD = fb09d8c268357f071e849345d3aea296 +CT = 6f69c918ec8c18829361459e8d64a329 +Tag = ec34a9e22334f0f760e5716a30 + +Count = 11 +Key = 95f1c5fa8bfaee3b1f396bfc75226ef1 +IV = 4992fab9bf3520594cc198d4 +PT = b023945f49853610c33bbb39bbe9ce66 +AAD = 9ecd565cdf99e87e9d4df1a84ecc0466 +CT = a25d89d82afaf951ec26233d2ca46d47 +Tag = bc65163a4c8811b0b5bc78609a + +Count = 12 +Key = 317448f54fb73d90bf5166f3791613b4 +IV = f34c7c1d2c6596cbab4ff6e2 +PT = 591450f231e002021f97f10d82e6a3a1 +AAD = 94fb0ed2201ea9a7d79716531ec4d0a1 +CT = 8772c52102c6a96ea2988cde93a43583 +Tag = 949867ecb153a851092bac2567 + +Count = 13 +Key = 28c13a9d76e3be0c10e59c74172721df +IV = 39bb1c540b096737cbeb41b4 +PT = 74167ff90676df6d9c0dcead8d571b87 +AAD = af03ee6c930e9d812f0e41b190d234d4 +CT = f2c625902f13c6f362183f4295f7111f +Tag = 6fd8c62ec785a1e5c495f63d7a + +Count = 14 +Key = f42c74bcf473f6e923119946a89a0079 +IV = 14852791065b66ccfa0b2d80 +PT = 819abf03a7a6b72892a5ac85604035c2 +AAD = 297007ac9419553a292b0fee3a7ac3c9 +CT = 48371bd7af4235c4f11c458f1789192a +Tag = 4f44e0aff49a5a20ab2c69c834 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 562ae8aadb8d23e0f271a99a7d1bd4d1 +IV = f7a5e2399413b89b6ad31aff +PT = bbdc3504d803682aa08a773cde5f231a +AAD = 2b9680b886b3efb7c6354b38c63b5373 +CT = e2b7e5ed5ff27fc8664148f5a628a46d +Tag = cbf2015184fffb82f2651c36 + +Count = 1 +Key = fd1f0a6bb5943cea2f46480658dc17b8 +IV = 9827b9793a5ba77fc5ec8f3e +PT = 70cce28e3fc10164a67a219145458a1f +AAD = 93193555c87609a2a85bdefa07a4219a +CT = 4c0a296427861a52d1e65a9b30ab3f8a +Tag = 11126303391ac2e42f560bee + +Count = 2 +Key = fdc0c67f52b6ee1c59605c99ee7e80b1 +IV = c3255acbb12874031d8383f5 +PT = 5dc43d91fdad612eb9b379587bea7f67 +AAD = bffbd915d1b73373a4a1b387725e180a +CT = f4eee8387390d8de16ca15c5b01b7281 +Tag = 5492b764846a4428a2e3f4eb + +Count = 3 +Key = 1fae5efccdbf7dce0deb2664ffeab74e +IV = 93d2be6686d3cc4f6c5e6552 +PT = dae0237045f89960a640adca19a3cede +AAD = 7e40504876db29d3b7a36f6ffab6e460 +CT = 1d89acc8689a6d2ad441687e617b2925 +Tag = 678998baec3a0632554b9164 + +Count = 4 +Key = 5d098b17a4955b6f2c7db8abc13743d1 +IV = 96465043c315e20c8ae08b6c +PT = 5a4451f396e03cdd4dbf6bb8c94c631e +AAD = 4a11b8b2896c70cce848af874db3cd1b +CT = 4314ac161bb0f8a35f077f2a99c5d666 +Tag = 9614d08774675a6d92a6b28b + +Count = 5 +Key = 9f40d23a1787eeeeac14a52c22a66ecd +IV = f318d81bc75b037f4b311108 +PT = 661404cb1737b379245c703dc5ae3187 +AAD = 62949f3e84277c6d4f7370c6ad6def56 +CT = 6151dca066eea3c449290d7fec8e160c +Tag = bf2ad5edf8de345555e184cf + +Count = 6 +Key = 5581a7dcfc807db616640c06053b49a1 +IV = 44cc8a42555b1db0c943f27f +PT = e8cf8baefe7429f9ac33eeb99990f11f +AAD = 0392489a1d9f625c3b4e437082e4282b +CT = 5adac06e2982c8b03497164bc46fd89e +Tag = cfed11cb5153d17ccf5a8dda + +Count = 7 +Key = 75620957269a33cbe9b3fbaa773205dd +IV = 7585be144e496f444aff43df +PT = 5bc863059e15be7de58e95e643c6e569 +AAD = 0d34d2817236898af71735579b7f6a9d +CT = 07b093a35d65b1cb9b1979c880b382fc +Tag = dfc7b060a0f13e8437c6e1b4 + +Count = 8 +Key = fde468f2acb90c5077a63716a6124bde +IV = f29ae54c1e176838a5b4dadc +PT = 5488418a9a01167e0b3fb07912b3df1d +AAD = d3cc39f0b925427ad0a5ffe0c46fd01c +CT = 678ecffee64902e40dc98cdfd1236683 +Tag = 79dae88bbf201a21368208c7 + +Count = 9 +Key = c17c6530b2887ed5647a8742b4fd84fb +IV = d400a0706920b3f40d35c180 +PT = 7f36306416425f1c375e8cec3a671ad0 +AAD = a1345c67b3b87e9f01a30991ff07958f +CT = 302518d401b3f965b1c6f6d302e4b799 +Tag = 4d63fdaa4175fe177090590f + +Count = 10 +Key = 867157b8df2b8a158829df0eb37fa300 +IV = 6b098e9424b36d41e53ed2d9 +PT = 32270c2c5efb02be4dbb8c655e0ff3a4 +AAD = b08637707f14086b918529dd26949a90 +CT = a90afb46f36714a0c5026d7fc3e9fe7f +Tag = 4d9416d38df888ef253086ca + +Count = 11 +Key = c6067c6e214de21b3f25a32a99b852d2 +IV = 1ce7ad9f9d499f7a1664138d +PT = 76ed012a5bb5784365c7a5787bcab964 +AAD = 800b6d2324f5e359f64fa2b78eb2d5c3 +CT = 1c921fff04d0c956cf1b1755ac19aac4 +Tag = ffa9a533c358c480fbd38663 + +Count = 12 +Key = 0a919c672b1cc097bac0b60b01f3fa3b +IV = fd87eacd19269c96b9744dd8 +PT = 7833a0563fbc7d59127046d4f46cb384 +AAD = 51cc920130b178e2af8d22380d66063a +CT = 9a5a51d239c2ff77800397de9cd72162 +Tag = 98762813e73749134c751cb1 + +Count = 13 +Key = fe7a6b9108ec64e3ea2f9a2b8791ab44 +IV = 70414de6f6f2157c36dc6379 +PT = 4e441e355c72e82a1e642cf13f84701c +AAD = 0586a78150c83dddbf732034ef1a449e +CT = 06350f8dd9fba3d27e2bb253e3f7278c +Tag = a4ee2b078fac1edcbb415b80 + +Count = 14 +Key = 1051ffbc826767bed82086cf23968cfd +IV = 5451aa13a8d27bbd710e0ef9 +PT = 55e83f87b6b652049608162c6b1b5a95 +AAD = 98e06f47988a6a3991bc4435d6de7551 +CT = 92b3c97fa0727380821c4e257ae52716 +Tag = a7de86f5012ae896a30f470f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = af2904e234458af8ce0d616866c981fc +IV = ef6381fdeb7877845f46edcd +PT = 13836338abcfc03b89dd93f1dd691b01 +AAD = 41946f4a8304875ab3db0dec08d6c990 +CT = b13b49e06b9e615a86d4c17ac10da212 +Tag = ac8af4dc584da9a6 + +Count = 1 +Key = 65a142738ac72760a10d60c13cdb0de2 +IV = 3bb2dda03371caf1d8a30af3 +PT = 85ae8bd8cb76bf469084e84602fa80d6 +AAD = 9c4e4d98d39f096840355d997209ea45 +CT = b876fe300167c8b59f530d238e28d417 +Tag = 876a0ef30397b12c + +Count = 2 +Key = 718ddca12c12a5c623ec53eaa612592e +IV = a3bfd5fa827fdeb863df54ad +PT = a68b2d4acebecacd5e87dd1a93e6c8dd +AAD = 91aeae86be41c7336003d3005b5826fc +CT = 3a914d5c51eda1f88c75b398afd4a533 +Tag = 69da3f1912381584 + +Count = 3 +Key = b93c605e59661be4240979ddcbbd16b9 +IV = 7ee13e4c667eeeb5659ac392 +PT = fefb852fdf123f364adc424cf5a6d961 +AAD = 5a43645106c88fbb1754cb9c9b50b69a +CT = 98fcdfd3623d91069007790c07caefd7 +Tag = 8b1281bd56a98f12 + +Count = 4 +Key = 32a9ba11befe3a4ccf31c6dfff65dfdc +IV = 6da60b02487c14a6ff12eed1 +PT = 8e1b074e66d829f26bf97cb34c07fdf5 +AAD = e1aafcaa9ae8948194b01858f22b4939 +CT = 111e055d8e128021440eb827ffbda79e +Tag = 707f5421fd8188a8 + +Count = 5 +Key = e36324a3bf993da31c2e2aa867883a59 +IV = e79c397c46d36560c450b8d8 +PT = de24838e3dd0656c6c86dc3625a5ca6c +AAD = 8909770dc9b43beea05ce526c4b91454 +CT = eb48e7816ae299df45f8b8fee93d68e5 +Tag = 89c2e77023c9e602 + +Count = 6 +Key = 3a9cd4e689fe06ed3b15159657ee5bb2 +IV = 8473c55d881ee62621ebd4c0 +PT = 5c907086f229fb0386adacdf77e2cd87 +AAD = cf759e41d3c7f12550da0e70971ca4f8 +CT = 04f0d4a4654eb8f182a65291159268ec +Tag = b2f6c722613e8795 + +Count = 7 +Key = 0ad79c0ef3a94a62d9af85bb93865ec7 +IV = 8bcb1900f968ee73d1eaf4e9 +PT = f1e04d6caa6be73cdd763546a9c626b3 +AAD = c4e979171d25d9428b309298ec7049a6 +CT = 92d4b403e024cb8208891787125cfebe +Tag = 00f1df72f5655a6a + +Count = 8 +Key = 65269c6669f6fa0434023660ec6d005e +IV = f3303a8b20c4649923453177 +PT = 4cb30e3dbb92bb56e64fe70b161da8c8 +AAD = 7d3aa7654e6819b73a619264f81d3825 +CT = b3f69e79253e3659730edcaf5f6213cc +Tag = 141c1721682119db + +Count = 9 +Key = cc45cb1b49f736dcf62a863859f2f99c +IV = bc7e43fe6620994c34f9ed5b +PT = 5d1c1520f3cf039db61658b977c84fa3 +AAD = bdce2ec1c66de5ca3f66ddf752b5e079 +CT = dca6d32d6a3289878d730e86187cb80e +Tag = c1e19d4cbdfe0837 + +Count = 10 +Key = d4d58b29d9170a8f1680e37ff781b871 +IV = 16a3dd92d9a05db30d8005b8 +PT = 35e18bcf3523f043ec94a0f6b3c80a4a +AAD = e92bf1684d530e21ac611d1b7e38aa3b +CT = 202548581a59e4ffec3f418f472da187 +Tag = b65c3035336922a9 + +Count = 11 +Key = 68cd248d6ac7f4f1a08e61a493422e71 +IV = d5271fb54b09cad481360777 +PT = ec820c8eb27a14fc85bf7352d822f06b +AAD = f92f1809d84d120631cbe964c3311773 +CT = e209e043b6bafdf0047b79880a09960b +Tag = b24b6ee43cea0925 + +Count = 12 +Key = 0b1a778a61ded09e1a61977cba216d0f +IV = 3c63fd087141c724b16946fe +PT = 6be784aeb447b4b96e671442e7c80130 +AAD = 3d5a375a450e6cbe1fb11c102c3e49f4 +CT = 4d714bc6c92c885a50690e54f590d8cf +Tag = a398125af4e4d4ad + +Count = 13 +Key = 7c05599262bd17046839d49a61e91cbe +IV = f2f2cb1b6850b6508d80941b +PT = d9896dae2ac79fb30768e12927f1ea07 +AAD = eea956bcef83e4e3ba2d12c1281e5dd5 +CT = 098c0124791ed4a6e79d53d28369f1e0 +Tag = 7fd0e6309b8bbffc + +Count = 14 +Key = 0e6e88e28b66d976e94f150d8836669d +IV = 299f27eeab52fcf2de9370e7 +PT = 7f8ff0191c280a3f0c74efd628fb5ec6 +AAD = d9917afcbea4050231bd4536a9392a9c +CT = 32f8d35c6c89a48c9ef15487d13310a2 +Tag = 2a49132fe9e30c5b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 6dfb5dc68af6ae2f3242e9184f100918 +IV = 37d36f5c54d53479d4745dd1 +PT = 47809d16c2c6ec685962c90e53fe1bba +AAD = dd0fa6e494031139d71ee45f00d56fa4 +CT = 418d6c132a4f5bbe245133936ada9c73 +Tag = 9ae38ddb + +Count = 1 +Key = e15719467c4878c8c08fc349126384d9 +IV = d6f3c097630bedd77f04ab3d +PT = 44ac2affbbde86db6e0d50a1394c5f57 +AAD = 7eda50b5ce44c4709aaf1681fd866940 +CT = 26dc27c0398d0502527a77af585aa304 +Tag = 79e4f58c + +Count = 2 +Key = c2063b61dc6d1f78159784c3a581bfd5 +IV = ca1150e0d7514a62889e24b0 +PT = d4d8e8d67380e46746a86cee097a7539 +AAD = f3ede90ef25deb7f8c0292c060088651 +CT = 527d98f8069a7ed3525549c53290f7b4 +Tag = 160c0765 + +Count = 3 +Key = 8a72037e3c31bd70c1421c0e1e807f59 +IV = 760f78b504ef732f734945ca +PT = b38f5d79d33a2af310ca27314a594bae +AAD = 5406209b31bb47c63aec435137b973ac +CT = 89e297145bd6442db6676c2fe7c49454 +Tag = 59ca06b6 + +Count = 4 +Key = 5e3d4a03d3e1dfbed79dcd143a625451 +IV = c758426856fa17ac251d8933 +PT = e94b4acf7e68735e4523990ddff06b34 +AAD = bca8fc9797c9a6a06bb5792eaa0b75f1 +CT = cbb2da8a140fc18c31dc2e55829ba063 +Tag = f769f0ab + +Count = 5 +Key = bbd92d73d2e88d22501ccebac5739225 +IV = ee995193df294369a3968ced +PT = 001eb9dd5ccf6925a8eed87e3d8fe271 +AAD = e2c2d55b6b37f1cb459bfb4a1683b142 +CT = 1cd8b366b235702014234c611f60cf2c +Tag = 0aaff977 + +Count = 6 +Key = 41425dc4036371322fe936ef34358962 +IV = 35bb6ebadcaf99e2a4514ecc +PT = afcbf05cdc8cecb01fc590d617dadede +AAD = 9adaf20137150c3188c84779fcffd303 +CT = ab5ce80602dc130f2eefd48e77981c19 +Tag = 3c03532a + +Count = 7 +Key = c64e1e91ae979cd46386e5ed8bdf275e +IV = c2bbe35db2f1c29cfb6a764c +PT = e6cb688c15595c93b279d7387eb46d62 +AAD = 41257d093a52a4ae021aad3ab7dfe6ac +CT = 25fc31bf9970e0695631ea842bdd7918 +Tag = a398d263 + +Count = 8 +Key = 4e84f9baed0ecf75067c7bd4f5930503 +IV = ac3af95fdb0a4082f6eae99d +PT = 7ac236b7c173ec935f54fbac918fa559 +AAD = e2d698613d81b6555b904d5b2a2ee031 +CT = 631f6dd7f6f5fad9c4627143287a8a99 +Tag = adf35138 + +Count = 9 +Key = fa7fb76ec7c21119e18dda127256b2ae +IV = 106d4057519f8daac7308727 +PT = 85fddbd2a9f2db32abcff4c7a93a4567 +AAD = d763a2947d6c6bc140267fdb616c6baf +CT = 0470a74708aa37f399799741efe8569b +Tag = 3bcd44c9 + +Count = 10 +Key = 06707386c4615c6b33baa3cf1ac6c849 +IV = af649715ce53c50d798ecbcb +PT = 7ebd1eaea298b14aaab8f8c915efeedf +AAD = 6cc20a0e2bd99a02e5d589238ecc4edd +CT = fbae0fd08160b3887d212a7a6dfbadf8 +Tag = 2d7a6d62 + +Count = 11 +Key = 0d32ba11808ec4f9c0a7da115f9cd3ba +IV = 41f8ecfee98aaf479f8bdc1a +PT = 5cc160d09180cfc970e72148f17b2c3e +AAD = 3c3dfa2a18c636fe2017b75791319579 +CT = 41176e266e4c7f28985e9f920ca868ee +Tag = 81d81029 + +Count = 12 +Key = 7f994d59a17ebe61f0106fce11340101 +IV = 855e235cbd2d4831e79c3d82 +PT = 73b53072af1201f007d6715b468178d0 +AAD = fb438f79bb5a26fad43aa010ed7d8ae4 +CT = b48d769ef4dbe3ccb84575d60f0bd8e2 +Tag = f97b71d3 + +Count = 13 +Key = 6d329c7425fab14cf0798d24985770a0 +IV = ff4440d6e43d3a9d5165d00f +PT = 463fe213af674dbd76265d01a11bca90 +AAD = f8346e040d5090686872b27a87a30119 +CT = 2feb5607361f64288b84a7bc9eb769f8 +Tag = 07bc4436 + +Count = 14 +Key = f1c44738429752b585a4e76a5795dc63 +IV = a2538fc01d85e11055f4e75a +PT = 2b4fc3eb18681c2950ebf0472cc7b0b1 +AAD = 4a49e56916dcb5d48a38b0cacccc6ceb +CT = 3f0fd213bb367c19e463416e801787f8 +Tag = 0937d1b2 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = d4a22488f8dd1d5c6c19a7d6ca17964c +IV = f3d5837f22ac1a0425e0d1d5 +PT = 7b43016a16896497fb457be6d2a54122 +AAD = f1c5d424b83f96c6ad8cb28ca0d20e475e023b5a +CT = c2bd67eef5e95cac27e3b06e3031d0a8 +Tag = f23eacf9d1cdf8737726c58648826e9c + +Count = 1 +Key = e8899345e4d89b76f7695ddf2a24bb3c +IV = 9dfaeb5d73372ceb06ca7bbe +PT = c2807e403e9babf645268c92bc9d1de6 +AAD = fed0b45a9a7b07c6da5474907f5890e317e74a42 +CT = 8e44bf07454255aa9e36eb34cdfd0036 +Tag = 2f501e5249aa595a53e1985e90346a22 + +Count = 2 +Key = c1629d6320b9da80a23c81be53f0ef57 +IV = b8615f6ffa30668947556cd8 +PT = 65771ab52532c9cdfcb3a9eb7b8193df +AAD = 5f2955e4301852a70684f978f89e7a61531f0861 +CT = c2a72d693181c819f69b42b52088d3a2 +Tag = cadaee305d8bb6d70259a6503280d99a + +Count = 3 +Key = 196ed78281bb7543d60e68cca2aaa941 +IV = 6e7d2c8f135715532a075c50 +PT = 15b42e7ea21a8ad5dcd7a9bba0253d44 +AAD = d6fc98c632d2e2641041ff7384d92a8358ae9abe +CT = 06e5cc81c2d022cb2b5de5a881c62d09 +Tag = 28e8cad3346ce583d5eebaa796e50974 + +Count = 4 +Key = 55fe8a1bdc6806ed2f4a84891db943a0 +IV = af4d0ba0a90f1e713d71ae94 +PT = 81315972f0b1aeaa005363e9eca09d7a +AAD = 677cd4e6c0a67913085dba4cc2a778b894e174ad +CT = c47bcb27c5a8d9beb19fee38b90861b7 +Tag = e061ee4868edf2d969e875b8685ca8a9 + +Count = 5 +Key = 6d86a855508657f804091be2290a17e0 +IV = 65dce18a4461afd83f1480f5 +PT = 0423bd1c8aea943637c7c3b0ca61d54b +AAD = e0ef8f0e1f442a2c090568d2af336ec59f57c896 +CT = 53505d449369c9bcd8a138740ea6602e +Tag = 86f928b4532825af9cac3820234afe73 + +Count = 6 +Key = 66bd7b5dfd0aaaed8bb8890eee9b9c9a +IV = 6e92bf7e8fd0fb932451fdf2 +PT = 8005865c8794b79612447f5ef33397d0 +AAD = 60459c681bda631ece1aacca4a7b1b369c56d2bb +CT = 83b99253de05625aa8e68490bb368bb9 +Tag = 65d444b02a23e854a85423217562d07f + +Count = 7 +Key = e7e825707c5b7ccf6cfc009dd134f166 +IV = dd0c7a9c68d14e073f16a7a0 +PT = 88b1b11e47dfe2f81096c360cf1e30e7 +AAD = 11c69ed187f165160683e7f0103038b77512460b +CT = 550fa499a7cb4783c1957288a5cc557f +Tag = 5d2c2f71a2e6ad9b3001bdbf04690093 + +Count = 8 +Key = 92591b15e28ce471316c575f3963103a +IV = 2c30d215e5c950f1fe9184f6 +PT = dc8842b3c146678627600742126ea714 +AAD = 46e1bd5fa646e4605e2fbec700fa592a714bc7ef +CT = a541d3d8f079bfe053ba8835e02b349d +Tag = d322a924bf44809cb8cfe8c4b972a307 + +Count = 9 +Key = 74f08353d4139ddad46691da888ee897 +IV = e2619217dc8b093e2c7c5b78 +PT = 1690d6c8f95ef5ac35c56e3129717b44 +AAD = 92277cf78abe24720ce219bba3a7a339a2e011b2 +CT = b413557c0df29e3072bb1b326e2002dc +Tag = 3bb6273687ec6a3f4a0366f1b54bd318 + +Count = 10 +Key = 5c951cd038a3c65cd65325bfdde86964 +IV = 3bf5623fd1155f1036ea893f +PT = b609ec6673e394176dd982b981a5436b +AAD = dc34014513fd0eede8e9ca44a16e400a5f89cdd0 +CT = 009cf623e57a3129626a30489b730607 +Tag = 1d202825db813c0fc521c284dd543fff + +Count = 11 +Key = 72301c093ba804671c44a6bf52839d9c +IV = 87cc7e6579cc92822f5744f6 +PT = d59bbae4ff3e3755c0a61a9b6d3e234c +AAD = f461946c4feba79c18366555d85311248d269c87 +CT = ee743d29dcbaa084fda91eb48b3be961 +Tag = 07934a5372d41928f2ee7d4bb8c18982 + +Count = 12 +Key = 39b4f826b520830941b3b1bcd57e41d5 +IV = ca32ac523fe7dfefe415cba1 +PT = aa2b7a6c918ed6715441d046858b525f +AAD = c586cd939b27821695b4ee4dd799fb0e3449a80e +CT = 8b64f5ea9a8cb521c66df9c74d4b7ecd +Tag = 3db56a792b67ac6d0c4001e17f446111 + +Count = 13 +Key = 79449e5f670d55ee2d91ca994a267a8c +IV = c779da00d672811d8a5124f1 +PT = 767e120debd8a1dc8d2db8b7f4750741 +AAD = 54780846dc3df77c8d90c9f2decb0738da36fbda +CT = eb864412add08abb4f89d72d412d0085 +Tag = 494a547f617840267d3fed5280e3eb30 + +Count = 14 +Key = cc90c2f37f970f97ac97e3e3b88e8ae3 +IV = 67bcc08f223f12107e4d9122 +PT = b0fe0dcdcd526017f551da1f73ef9fe1 +AAD = 065acdc19233af4be7c067744aabab024c677c5e +CT = 501cda2c954f830e8922c3d7405b5ee1 +Tag = 9deee5d0e4778a9f770367f19c74daef + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = bcf1ca1448301114f636fedeadb159fe +IV = 66c0b0f6f7ec37d0c54bdd5b +PT = 835fcca70ff1dc9a97e7d84006494ef1 +AAD = 4baba64bc9b6d4d1b3391f3ed984a59bb3070880 +CT = 074e9b20745027a796afc3eeb675cb1c +Tag = 39e2fc37b85e1fbd6c6ff575955aee + +Count = 1 +Key = c2138d48ace12680aea84219a19e473f +IV = 5607d5b45ef199207ca99374 +PT = 66a1fb028f6b50b6416b22fe6e22ac59 +AAD = 827ab55f1fdf8aaf1533f5a696f295d8b303ff44 +CT = 450ae489b10a4a5ce2867e039959dc60 +Tag = e3b90ef619f9516ea0ab49d7d0c6e5 + +Count = 2 +Key = 88bce8253b1ae03d91755b251829251f +IV = d4c8f74d01b912f1b2a21a23 +PT = b44065daf6145e68993732e443a67742 +AAD = 2e2d862e8baefedbb6866e89d6afa76e0a96d76e +CT = a37d3b8d93461e63ca6485251ead3806 +Tag = fa192fc223e9dc5230d9bb65b87b3d + +Count = 3 +Key = 74a9759ad33fc033ca8506bcc4c0b5c2 +IV = 12a776aedc5fe8235ddcfd92 +PT = 9bc8aa601d189fc001152337e4287948 +AAD = 0f0b4f5a3dca56e884b6ad694167e275bddc0109 +CT = b076194f939621bebd58c598dc784cb7 +Tag = d671d53472324b484d200690e65641 + +Count = 4 +Key = b13cadafc68fb6d42e0091d020e65c0c +IV = faee9192bcfa65680a0ff47b +PT = 8d795c7ef682ada62e959eb130cf867b +AAD = f159d4fc4525aed3bcb09948e3d6a8dcfd9948d8 +CT = dc16e96d091649a21e7764f9a6cf77c2 +Tag = b39083e0aac72509eca15fae8c2258 + +Count = 5 +Key = 1db0c0f84197c22b774c6e2512caa3d4 +IV = b590d36e72ebc2e773c4c259 +PT = b115bb2c5df537e879c82b26c99bca31 +AAD = 67f52ee4ac0e741d291a1e7a50e539acd239e404 +CT = 4b7c9e026938aec859e80e62175059fe +Tag = 7923c6053060dc2c3fb75b204f4973 + +Count = 6 +Key = 80a2e8e6dda65a4d906ca8244085c8e4 +IV = d84941ea3efef3321b63bd8d +PT = 9ac24a211e2e98902e7df46e28f85b95 +AAD = c4a245f3e3b909cb8697daf55944d15077a47d1a +CT = 25d602940b2796dfc9ea4682a4fd6503 +Tag = 05df5e81f9524c114a9a19f63b7fc3 + +Count = 7 +Key = fc9d86315384e1a6f5bd92165c7a1d8f +IV = 97bbd4271f8b2489ca7d772b +PT = e7a4d93ebedb40690ab0055617414e13 +AAD = af26b71f2863e1e88e03cb42426cbe9f4fac6332 +CT = 9dcb30469b1d199ff85fdb58d72ec0db +Tag = 4f28dca72e767893ecf5cc2640cb12 + +Count = 8 +Key = e3001dcf0464adb7cef813341535e99a +IV = fa8bad8c5c688b84e1533c92 +PT = c55852fbbdef5651725f39359c1e8f04 +AAD = 2f12c96bd6c17ef3e7c00284301053e25dcbe9b4 +CT = a56dc710e6dc12dd333204519c79b545 +Tag = e61297bfbde2423751a413dc55dca4 + +Count = 9 +Key = b805f48b5995dad7011596f8bb030405 +IV = 400073492bb7bb2aeb66d901 +PT = f7e4d2bcde6f61fc57d8898028811594 +AAD = 2543453bf14dbfca391ea6920d0befe09c074b8f +CT = 8fa6b5e6f8402ff29bc82e5bc0568b27 +Tag = 96eb7264a0d40a859941b0c17fe04a + +Count = 10 +Key = 3c262c106968ca249c04906510807f4f +IV = c940f2ec8699cfe56b017f52 +PT = c1446e999ad9aaad85c93e246e882cbb +AAD = 2e8f685cefd78023f424923088312b6cac0be030 +CT = 882475d8812240ba2629f57f0e7024bf +Tag = 61a50f4358870c07ea081e5cb1a2c3 + +Count = 11 +Key = 6f4e4dec1c4581bc1f894c895cd6ef56 +IV = 59e7c46b12346d47438078c9 +PT = 2f0b26126050b37a9f0fb46ac576ef9b +AAD = 9c015ebc9d8767bc07cb934aece97a0e6682b64a +CT = d204e93848ba63563cc3b145f290b16b +Tag = 31d777be918fee2b068cd18aed8395 + +Count = 12 +Key = c1a928cac557b8227850d46ddb40f3f3 +IV = 661bbeec5d94a1d28d32e415 +PT = d4a6a15eb4e0baefe155836bc7f6cb3a +AAD = 5214c3ab2bb1e3a00224db49ae84c5363854afe1 +CT = 4a8150645b6ee24a013e55b889c962c9 +Tag = f35eed0b31b5ad3905c29b28a1f5d2 + +Count = 13 +Key = 6689ee6033293206deff5cdf69f6ca23 +IV = 2f66e4aa430d686cadfd807d +PT = 757e91d262471f0999e4d83f30a27ab0 +AAD = a72e9fb1530e9616dcfb7ac4231f9eaf8e3be560 +CT = ea3c0a412d33eecff4dd8cfef0658cbd +Tag = 1befe5f74bf5b7bb99d05beb542215 + +Count = 14 +Key = 45fa7440af8fecd3f447d0acfe5be7c9 +IV = 2879f2dbc4ecaa484dfbf293 +PT = dd2cd7ced09505f236798e691d2f91e9 +AAD = 5741b18671336da4f5acd7b82109e56ba181f3c5 +CT = 9ae67bf866c9c77486b744331a895205 +Tag = 46b836909010f6865506a52e841de9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 87f96a86404a2c793b26d7e12c5aaffa +IV = 5c6699381a9360ec83dd98dc +PT = 43b2b8c81cfcc1e5a27b171e80dcf74f +AAD = f89016b26cea39ea38a038a0f18af53f72f7fd17 +CT = 4f3112a81a3531261ce900d92b43faf2 +Tag = c3a2481fc31a33b46c6b64041d5d + +Count = 1 +Key = 5abd8313d59f98e950d6bd8ef52a07d2 +IV = 6f5f8e55757b28cb6a6c59e4 +PT = 614c91acde002ace174a25c2f9c3f8ad +AAD = 746b4e66b490cc01e8ec7e0b98ed0f9dfe930f3c +CT = f8fd735e4322902b5d6cc10f30f3b904 +Tag = 7fa56a93c29c7de30352593f0a89 + +Count = 2 +Key = 549e311f14b25ef1ebc1f37c6046f99b +IV = 98a6baac65796b899760a92b +PT = 3b4e36e92d2525fb9a0476d137d3f5e6 +AAD = f115fa51e8afdcd641dfaeb2e6fada15ecddcd16 +CT = eb1ffcb929e745f9c99da81da3986145 +Tag = cf9bee942688535a46e1d1556ccd + +Count = 3 +Key = a508eb30950f273581dc5390259b031b +IV = 888e6f775d1c56a1f9f4d59c +PT = 522fc5372f1010b27f60ab699418331b +AAD = 6e32abb71d9c79537f3adb914a9060f7a8176728 +CT = 991d65e7e6f25fd684ddcce029ce7af2 +Tag = e25a802b329bb33dfb0ef634a9e9 + +Count = 4 +Key = 966b20a8e01d5ad96375b151fa12fdd1 +IV = c7d8d7418cbaf00f47ddc1fa +PT = a0316abf0ba9d1f9d99a416a851ce4b5 +AAD = e1fd22b95059e46d98a89d0596aed07eb6b7abd1 +CT = 4667719c767ff6a5f93281f1ef17cb16 +Tag = 3c0cfa6456a472f05d65627cf03e + +Count = 5 +Key = c826ba3f8650e387ecdb3521cf584b1c +IV = 26ef8b2bcfb56cde496caee7 +PT = e7cfcd5e75b56c44a26adb8bbe70f76c +AAD = 4fde0bafc199a1f72a95474831684f6517b64dbb +CT = 56b1f8e57a31f1e93e81955d8647f290 +Tag = 80a737bf25f37f6f5efff80f1e96 + +Count = 6 +Key = 9011aef5f9c624006d89f8177aa9c24a +IV = 77939f6f2360a72df5c92523 +PT = 7f54f4cbb86e5f76db575f0aead003b0 +AAD = e6282a74c3f556783f03eca35e12cf893790fcfb +CT = 896ec4bae2e5ae5c858916439256d5b1 +Tag = 66dcececf74ac39a613ac60733ee + +Count = 7 +Key = def57e8b8e1fe0c2e707e25964b0ad73 +IV = a059273982ebe62d5488a485 +PT = 98e1cb83805e59ad9cdf47f1152ba953 +AAD = cd22b4666de135594af62dccc3c5061cdf0a4b33 +CT = 451e8dabb2ed2661748c5bae8455ff4a +Tag = 8d3799acc45d561e6a6e2ae14716 + +Count = 8 +Key = d302ef556d33fcd700857035eb915841 +IV = 62435e5bfb5f86d49c6f6c4e +PT = d25c9f88589756302e03775de1416b46 +AAD = f3ed733452ec2e6566dd6df0228e8c0da9d4e249 +CT = 9dc5c2b572ca0ff396cf974f3b443b26 +Tag = b7effbe92df8ca04baa44a0d8f62 + +Count = 9 +Key = b816d035792b159cf6beca6560536f1c +IV = 628c8c55b33f77f813dee016 +PT = afecd4b4ddccec4d360562cbbfc0cd62 +AAD = 1eadd16fe008b15dcb7ea21dddf1637e59c0e539 +CT = 14e6cc8ab858e7025d0975c0cd5b8c09 +Tag = f367a8194c68c0a572eb42154f62 + +Count = 10 +Key = a0c43c351086cfa2f71c7ae9836d0822 +IV = 54ee29660ad74b3cfeb41b42 +PT = 9721f795c2622dd3a1af0cd231423962 +AAD = 8fe6cd5a4aa6e5568ceebf8258041dfde270d793 +CT = 655b6cb01ba3b3bee4c9bfe774cfdd92 +Tag = 3d140e961c2c02bdab318d57cdb9 + +Count = 11 +Key = 2f02956f85f9f792f4f61d0ce5f8578d +IV = c194664c2e59ff3d2aafe4be +PT = ed6776dcbd36eef8cb172209511e3cd0 +AAD = 5029b3fda2b13e4dd7ed69f2435eaafeaabeb1dc +CT = 9d6e2ed2976a518c7ab6118bb68a44f1 +Tag = c9afb3279733422299775d09c720 + +Count = 12 +Key = 50fe9e6e22be19e7328a768a8162e5c4 +IV = 0878c140dca5cedca9f7ffe0 +PT = a814d734b8f4bd15dc1707b9b397a7d2 +AAD = 68302c24d6b5acfcc97bfd187fa3a45652dfa017 +CT = bb7e0a66cd258b6a18d254ab2a65839e +Tag = ffd8763a8b2bc22013e0588f9fee + +Count = 13 +Key = 04d125f106c8eb1e02be24849e654e90 +IV = 9802efee6a840471d5169076 +PT = e213aec6e3293a6cf77e111b120f1874 +AAD = fd4c749f456d09bad343df9f6e483518b775a406 +CT = 8eae517c6e2b4b0faed510cfb4d7ef4b +Tag = 3f8999a7be89bb44c8780f04d6bf + +Count = 14 +Key = 41dac0e56982daa144c8a3c4e478c143 +IV = f477938cfd53de9c6e426018 +PT = 4f0b912b370b252aa1761495c8ebf64c +AAD = bb728d5b0cfdc7eaeb69d3d215386ed64af7b2c2 +CT = 801724b4d396a798c3b43e4a8df2af1d +Tag = d8a2941725e2493cb7094d3b0421 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = c97913d36714ac704c2d5ebea527127a +IV = 3a69cfb6794b7bb46879d06b +PT = 8bb70d751a272feb663154f0ee898a17 +AAD = 41184b06da9113f756aa85c03cf47b8dd44c7eea +CT = 40d11ff798c0ee7dc7a3143bde884fd8 +Tag = 853a4f70ab0e8919dbc0e7de32 + +Count = 1 +Key = 46d06c5e74398cb6841da4572e80e804 +IV = 143ca591ae4cf782e706e01e +PT = 7d9b65ce000ba57e52b4968789a5b9d8 +AAD = 24903b58e2cc4b597d0f1735fc1f2a6e835355d9 +CT = 78c30b5e7ea0248045c0a0005078bcc6 +Tag = 0df5817ac84e7ec10b15df3568 + +Count = 2 +Key = 631b886626b44a5321e0af3cdcf3adb8 +IV = 2d30c1b04536511670cee34c +PT = 2fd8023134ffd5265003fd1be6f91efe +AAD = 3501ac31f5986e219abc379d129b27eaf478e5d5 +CT = ece6c82b578fa0b76d509ea37c2e2b59 +Tag = 75ceaf629cb47b6255941353ea + +Count = 3 +Key = 2c20118d92c67655514424c08104174a +IV = abf3e6cdecdd719180f94c74 +PT = d49a9bc7e604ba3c74e9583339f6da6c +AAD = 31d48093f5c630b6daa8c16157c1be81a1d74ed1 +CT = 5d573f4b40db2336cbfca07a4bd1e81f +Tag = fcb0ba49c66b2daf788533a3b1 + +Count = 4 +Key = b6cbae14e0516d98a46a1fb8c54b979e +IV = 71f0f7a8bce3930438bdd74b +PT = e5878cc7e6f3b952d039aa7c884ebb1f +AAD = 0d685227cfca8c82f1295da8d1751d2b8f0411fb +CT = 926bbc54ff08a671722cce64feab744e +Tag = 6c3154b6743dd5aac2e1c9de1b + +Count = 5 +Key = e40ea14dc29d18f67b131a9a4ee31d45 +IV = 6bbba3af8ec59fdec55c19d2 +PT = bc293ec8afb619e7f8d80b5ccf5798f6 +AAD = 29c4c2e4b926c678a6f4e8d4d8fa900ebb973897 +CT = 5a61067b36c32d4839636e2040c3be08 +Tag = d5c5f77b9dc3ec223cf0e589d3 + +Count = 6 +Key = fa96d52a9f1243b49c4a0ff6da9fcbd5 +IV = 70990c9c28d87455f06a6fef +PT = a486f90295f47aedebf4b9f7eea41d33 +AAD = 17584205336ef979c6547f203eb8886c55c62052 +CT = dc39611f600c0d5ebf8cacdee87821ea +Tag = cb74dedfc66224edbb07d7d4d0 + +Count = 7 +Key = 66622c66062b55217981b7ac48848cd6 +IV = 3448abce1713e1c96e5e2b1d +PT = ca95c7df0cc64e33d9f3e59548e79a89 +AAD = 0d4543cc5c1738898070b540be437285b78542f4 +CT = 670f808d51e73a53ea4dffd4090e69e8 +Tag = bd9e61a0b0992e1833baa43d24 + +Count = 8 +Key = c8df2b2547eb2ca6a88fa22efeddb3b2 +IV = a1962120bd8de7cb32003862 +PT = c95fbcb656c6102cd3a574867b95e38b +AAD = 573fd2a4eca233e29906aa1448082a13a10dc8c8 +CT = 42b4e88c9d22fecf65ba5b1fd47c85b2 +Tag = 624b83658b195b67d0a522f4a0 + +Count = 9 +Key = 0274ad8be00b78066bdc4c01c0d4a68c +IV = 4dad4e3478e1fbb1bfeeb00e +PT = 1c546a6091f8feb2dcc762d56e4ad79f +AAD = 818cde9feaf40e9acfaf693ec2c6a97df7ae4639 +CT = 0951f6f783dd3dce77e449c65d2ba6ee +Tag = 93610d7f5aed4178c7522fdf45 + +Count = 10 +Key = f713d159f8145455b4467340a84deaec +IV = 072d43914645604bc6046f91 +PT = 3c4ed114923ad3e662a17677d7004046 +AAD = 92236280f32b56864dd11fa943947350b0a7f696 +CT = d082eb7b5fad96efc96f9163c46e4ce9 +Tag = 8c0c6bf56e989e0620aa775d93 + +Count = 11 +Key = cc95726bf765506f47935f8c90d821fd +IV = 0c11cd595153c9e85faaa755 +PT = 14a5b8a877909be5b5704c4a4a2760d9 +AAD = 285066c952a6814ec101011c3faf992e4e93baaa +CT = 765b5b237ae6677985b41f30f78e0cb9 +Tag = 9b002d10abf42e099335bca56f + +Count = 12 +Key = 751e72b899391756b813e299a4ca1d68 +IV = 1565dc5f96eb6a676c43dbe0 +PT = 547dd89e0bab55936a07ae40e745bc82 +AAD = c5cd2506db593b4748868e0ae67bba2c2305b363 +CT = 4f6e2866f68ac31231505adbc21f7969 +Tag = 7105611929abe72ebfb3c48f88 + +Count = 13 +Key = 211f1b7fb5034275bc176558701931b6 +IV = 1a74e557bfc8e2f261057a2d +PT = afa8500f1e5dd1b40631044979f00056 +AAD = df0ba5ae61edac54c775a5b64bf75080b3652d5c +CT = b031a396f86f6b935eb24546db5cfb08 +Tag = 7fe93b6f85507acffbb0b6ec72 + +Count = 14 +Key = 7e8fe94183c4249aff5394455e567631 +IV = c2d8800c2a745c9615a484b0 +PT = 920342a16d2ff4396a8af86221ec532e +AAD = 7a9a98a5f9d006744dec31b2c3eb878ebab25543 +CT = 1d9ca9a8541fc242141f2803556d7b82 +Tag = a6dce2322486899f1a266af522 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 90bf5dc928e91cc2f05f8c55dc1ffbc0 +IV = db658c4362e7d6a03faa8492 +PT = 99eac872b13b623f255bcdc0eeb1c529 +AAD = ee192a6b71e57f3f2b27efc9b1cb385d6c1be0c4 +CT = 93d95389595d76131b8b763e50a5fe79 +Tag = 0c37dd797b78bdecceb9c2a7 + +Count = 1 +Key = 2c71838088181a6e222bd24da34d812d +IV = 2fff9e8249fec06b9540653b +PT = 559af4c059e9f676b2c7374328783d09 +AAD = a8306774375070242d5dae26c8af46a82dea2320 +CT = 3072e185e4b18114c8b7ff2f0c61daf8 +Tag = 128bc57c445789b46d93ee59 + +Count = 2 +Key = 8bc1ce071ea2e8e95ce1b9eed7c05ac6 +IV = 7397d214f2d78f859ad4814d +PT = 3043e655601017f5c6350f8a09fc1159 +AAD = 384fc6165b63ee6f8a8e81e32910add2eedad44e +CT = c12be22c3e180fd1e734489155e903d3 +Tag = 7f04eedae95e322e4804e831 + +Count = 3 +Key = a8ef5b2a21fdab65baf6732242df7a29 +IV = 049e91d928fb3265fa6f40c4 +PT = 02d9a4d14819e2188617f7f29b56df61 +AAD = 42e73fb7b484755b05e0d2545473e730d9a1eb8a +CT = 160d1cb6dd4fd5dd59343ffa1ac0a4d1 +Tag = aac09ea56601b0eb74a91811 + +Count = 4 +Key = 4e3dcb2ab11942a873b2810bf0326ac8 +IV = 3acd9af45ff103f7814cf864 +PT = 8c7aab9dbe618ba0383d544e33a2c0fd +AAD = b4ccebe3420f898f49af86d7f681024acb2b297a +CT = a4a9e50e76e5d73b7a2d483b8090c7fa +Tag = 867fe071af36c922bba86944 + +Count = 5 +Key = 70fb02388301f16c4193b0fc70683f3f +IV = aec612be7c1ddb659a4b315c +PT = 68e6bc0b08b8adbdc00005ae44723c8e +AAD = 3859b3c9d0b42d45c43e8ebd4c8cbde1b6eb2106 +CT = a7c52a23b09062a1fb77d47ff83a114f +Tag = 79f91fa572220432ee3a6495 + +Count = 6 +Key = e7fd21b6526e0299e82bebd5770d37d3 +IV = 74c478ca8200f4fdd25a30e8 +PT = 699f99bb7e59e7d2ec9fdc446e7a7349 +AAD = caf94840f7a872f06ed5467706f3a00d2b257bde +CT = f90c64d0bb2cd7313d1036512aa72d81 +Tag = ce6a8c14fa67f032817962bd + +Count = 7 +Key = fef9fe903726f12d63122b0a85d3abf3 +IV = 0c5dc487298b815c8bc58402 +PT = 2fff2773f08d07987f67ab55f3597452 +AAD = 841550e6b4a4faf3ac2510e853cc963a4c51f95b +CT = 6bf742a6cc4ecc01ebde14012fcdd295 +Tag = d0ea6c5a97ff92532c3a155d + +Count = 8 +Key = b3b48fa8758767cb7efa32708cabba2a +IV = 64824bc43251e0f2406ecc55 +PT = 43c6e60f01698abb79c1146baa1fde7a +AAD = 2562d0bdb59c0d418f25eaa8b7fdd2f0ddd47f52 +CT = 048f3382050d510e65ea14e8c2eb06c7 +Tag = 5a4031fda3f88ba01e0617a9 + +Count = 9 +Key = b3a72f75a193c48d606521efc639fe24 +IV = 4cf6b046176d648ce7ed45ff +PT = c19f8cfca5ac921ecf09aa1baa114838 +AAD = c66408f9ee9576455fc6672bf83d83fb72e57c52 +CT = c87d0c8a7fe1414d17adec793abf2cad +Tag = eacb56ae2bbdd8eda8e7cd70 + +Count = 10 +Key = 30c60780aeba4bebf93b915593794a02 +IV = 042278d88194ebd14ff3c732 +PT = 977a4b34556923502b5867d8842474b3 +AAD = 50f614bbe6a3ebcd756946080bc36d5307defb44 +CT = 17db4e3ec82e8904938b050140d9fe4d +Tag = 0802a6a4f8cef9845fc42893 + +Count = 11 +Key = 83354c478ba306660c19caa6f5c89b2b +IV = ee27abc6134610ad03bcc70f +PT = 1910981a864395336c5b814a8303cf7b +AAD = 0aacf5ea619e0439b1dc400bf290f21db9d02568 +CT = 0db53978b198649ada1a34045a002e70 +Tag = 3596e4029acc52020dec134a + +Count = 12 +Key = 4ad53be63fa77bc2c1da11cb522157ae +IV = 6e8f11c226b0d56fb1e8cb4f +PT = b62ef34a9abfd760beeb9ca8412b774b +AAD = 30a0539cab56c3f47c062c5b117618f21798ff4d +CT = 5936186fb07a05b0db1384c4ac77a512 +Tag = c9095209c8d7b84053958ccd + +Count = 13 +Key = dc3dcfbdff8567eef7dc429fb5890b2e +IV = afcc69e8901d5621e9e7f891 +PT = 10b5ede93cf33c3c869d5fdd676a8845 +AAD = ad2302c9e1cccf8a2671840e51583d817de3a152 +CT = 3d80b745874a3598b6e9ada3b48678a1 +Tag = d0038ed3320fb24b3efd5a6a + +Count = 14 +Key = ad28564fdfff3a39f171ef56a5a76c30 +IV = 1b8bbdf7bd19e113d5a993dc +PT = 3c77e18fa55a8d6f80f287f566ad4684 +AAD = 009f1d3d263fc696489b64a6b3682ef38085c7ee +CT = 6dbe260a68b654a80cd22866240c37ad +Tag = 173ce9985777c299ebd5963b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = e9ac1e944502a2a76768872d5f994c21 +IV = abd6886bd16151d08d86fe70 +PT = cd1f675f713866b209ecbf9c6bc819cb +AAD = 347e12e6e8ffe41286dd35ef6a3618ae25d9be73 +CT = 816f73be161083f525d1aae1c12c0484 +Tag = 5f7224f6af05e7f1 + +Count = 1 +Key = 932d51d497848b80ec77bc9e58f6fb49 +IV = f0588e940790516587646da1 +PT = e5ceb01b079ccee74854cfec796b6d30 +AAD = 8cff434a7920a868a300c9601afd6ebae4a1eadd +CT = 84670be8c9841710ef3637bad600ddcf +Tag = 627ce2dcb259f546 + +Count = 2 +Key = 87edebc5417a2badb8948e2425790812 +IV = 73fe64c5b35c9f6ec586d1dc +PT = cb654ada1a2994ad15071e3e39f024c5 +AAD = 5e83ea175aa02865ce5d599b020eb241a4ceb7d6 +CT = 5ae1515499b9c989d977fcf99188f216 +Tag = a951142040fc5636 + +Count = 3 +Key = 8a490cc45dc60398be1609d450144a1b +IV = 2d2e7cdcac070f5b4ab62549 +PT = b71e8cd3b66074176b42954b0001d8a4 +AAD = 9061820a789fed33a06ce8255e5dc35f3749a186 +CT = df5de79344be67940d99d48c6bdc8f96 +Tag = b119e9d72a0e6156 + +Count = 4 +Key = 3da3407950209255557ad034cd4b42af +IV = aa512e69dbc36f50ac4c276b +PT = 6513340c5680d6691d051b51fe31ea75 +AAD = 208dc9b12a41316f3df7250a7f14ac81b85ae508 +CT = 5fd01933ff938bdf0109df1a6dbadbd4 +Tag = 7464368b2e803a36 + +Count = 5 +Key = 68729ef00e17c1c223e2eac4b8203dda +IV = 65211b5d3dfe7d43bd19c72d +PT = b3ca1b9018609124d3647398fd274315 +AAD = 0a4be0b1ed5e2a987331ce7d9f962870f7d33a92 +CT = ec48293a533e09eba35de61e08f011fe +Tag = b4e7c8e0db80a73e + +Count = 6 +Key = 7746c87b67622a22c1fdabe7582934ce +IV = 33335ff7478b42cf47090f67 +PT = b46a90053453aa34de32764e02087eec +AAD = cee1d0ab9a40dd4454966d059ff69254cdab8217 +CT = 1706b3f26b2355ebc7f5c3821ae4a6e0 +Tag = 063af7dda0e5ff42 + +Count = 7 +Key = acdff6fc6e8f188ac47bca251586cdce +IV = 00a456d4e50bfa30b653a976 +PT = 5cc3b86c20e8802a1ff068fcfc88908a +AAD = c1adb9b69c344f9626887182beada0b1143b49d0 +CT = 37cd3127ae9f435c6a5c83ebda893b1e +Tag = 88d8a685d8266298 + +Count = 8 +Key = d360b36bfb6da52df3cc0ba9c8af8b56 +IV = 9dac65499e42b53e4a331afa +PT = 266cde0193bea786b9c2b16f33ef4d70 +AAD = 25752203c5f1a7a19842750f0ad380f6336a51b7 +CT = ca8d65da46544f52fb9a8658a1175c36 +Tag = 3b4a2562836877f8 + +Count = 9 +Key = 5408868b167bd33aa8029bfb20ade7db +IV = 114f72358889fefebbf48f20 +PT = 4b9a6cbd7c2f5152916c810297d36c83 +AAD = 40e208fb872e3ed582621f825f26bb71f555f71a +CT = 437749e5cb946e2e06f11932106d15a6 +Tag = ec2f553925faa80b + +Count = 10 +Key = 7a08411e1e1bfaba9325871998e73dae +IV = afd6fea153875b3920a60d04 +PT = 98492620e6b7f5000ddd9b2dd32edcc0 +AAD = aa09c0a207ac697555bcef7d61b29ff060260684 +CT = a22d0862ac0f62210696bf216b826d0c +Tag = 14142cb53a13becf + +Count = 11 +Key = ac265369cfe9c4bfde438c50b1937b04 +IV = 5a10e457f26cc31802f805c1 +PT = c09abe86fc6a74c44e8004020d5e290c +AAD = f6c6ae648b1f62dbae63cd75635255b3f9aa3de0 +CT = 0baa47b4e4ccf76eb70fd5bb86319f56 +Tag = 71b0e04cfbed4a62 + +Count = 12 +Key = 629f99efb9fc99ed039a91fabcecb2be +IV = 2cb13892bed02badd7a094cf +PT = b10c2909ed8ccd5c4279fbe219f3bc4f +AAD = 191b8e3bd6ab222de9508cb052097852204d1fe1 +CT = 65b8de5e55e2a3c31d30636314641b94 +Tag = df0f0877fe039fb0 + +Count = 13 +Key = f4a414ae1f3b9c1ed5a9cfe627470740 +IV = e2f414a9dd47ae960a5561e3 +PT = 98f4ad269f5ea1dde886e318161dbe8b +AAD = 602b0365deb42b4dae2b94b600812ea51166872e +CT = c95b30c6eaddd62ccb75e2cb09389faa +Tag = 17d49cee918edfa4 + +Count = 14 +Key = ff7c2834e7e28759d34b45ff4d0b1710 +IV = 84f3e9d3e7cb0500ef7fc0d5 +PT = d8e69be17e01321a4a42b53513bff443 +AAD = 528d1c1efb19592ac6121d39ad47038f6582335d +CT = 0b923fb3e80bddc15ab591dc7c1e8125 +Tag = fa24f4138458c348 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 3b1ae3fe807438ac41d55c502a328d0c +IV = f5c78a5a51858eb5d52c85d4 +PT = 4730889c1132fae9af1c6ce572060902 +AAD = ca3ecf694a9846352c6eae137f66e62eff812b51 +CT = 444465fb35d98855326c377deccda908 +Tag = 05a58716 + +Count = 1 +Key = c2a65f6c06df9c9e4129756ae7b0b829 +IV = 7bc43de08c003a5e3d030115 +PT = 3cc9d53cf3b4ce02da04498b125ff4dd +AAD = c2b258d6eaa7361f80102b757a423934e1e6b2ea +CT = 588bb419cf078c1d842a817e051878f8 +Tag = 0bed1c30 + +Count = 2 +Key = a7c4927d2c6ef6acaf032df9f6b2d005 +IV = 096bfaf813469ad119ab22a3 +PT = eb542158ba2336bf8409522eb2ab0967 +AAD = 4baaf6a606190f1504936aad36cde58d2e03cb7e +CT = 6fff60bf1ff488fa2a04fc2e0ede73ff +Tag = 734b68e2 + +Count = 3 +Key = 2c9d3abdb625f4d678c90e0b23f548d5 +IV = 09ecbae84d791d556b398e36 +PT = 2dd0ceb3b56d1e96e34da2d99d15d74a +AAD = 09faf613f887ea4617c261c7e466ed3f13981401 +CT = 99bb39ec95f265b4871afcb5bffd5663 +Tag = a1a24d1b + +Count = 4 +Key = a668c12006c811628a4ea039943d256f +IV = 8629a519c834b961f7faf8a7 +PT = 7a5beb5b4fae0e50c85833b95222ec70 +AAD = 5a74dd4f7a7642c1b5b2021ecfb1730dcb6f77e0 +CT = 244f3470778e253cd4be2e397810a2e0 +Tag = b11cefef + +Count = 5 +Key = 5e8d7fc316a2ba8e4692f6ee5feeb6b1 +IV = 3d094213860d307ee6dcdfe4 +PT = befe383a1bc01a17a80a1b330f3d97a1 +AAD = 99127f762bb2ebd077b39f89422a43c2b46afd11 +CT = c59462f8a47ba6dd96663692c80e4b02 +Tag = 76a5d285 + +Count = 6 +Key = 7002b22b0f0bb81eb4ae0b8773e5a08d +IV = b45e9ede5c7ab95d6407783e +PT = 17d3cba4eaa9382da238f1be0268bf0e +AAD = 85c05e053d7a5a4e51d0c3bdb14fa3ab5acb132c +CT = 0269b18483ead0d32c74828c2865f075 +Tag = af64a0c1 + +Count = 7 +Key = 2c66d9b1ff6056889a38a54e4ef2775c +IV = 812d9ed1240e1cc4cb77eff4 +PT = 9aaabe1550a0550d408777d3971c7ee2 +AAD = 949840055c64e2b1a51679e0706153f29e778cfe +CT = a9323850e4d16a75d9a88c914764a4a5 +Tag = c2dcf87b + +Count = 8 +Key = 4dbc9bcad216c8204edb411024a7a158 +IV = 309520bb3d616823f288be3b +PT = ba03739d3cb97dcab6ffdb0aab1a6a8a +AAD = b6532725b4a53d5384ed615966ae4f7316371acf +CT = c84d42a26a2e3006b66e386ab65b2d12 +Tag = fde49dfe + +Count = 9 +Key = ff0be872ee1748aba68344af43977af8 +IV = 56638b18c6d89aa874ca5701 +PT = 5c3c090e71da1c0ecdcefec72b3525df +AAD = c8d97217c4430a6b49f47d940fea4cc0e5c6c5b3 +CT = 0dfcee51cdb917ce27f85b27e3ab579c +Tag = 9006092b + +Count = 10 +Key = 1f094ddff7c50fad028ed5bdef185f96 +IV = 480812a7baaa121119b2ed61 +PT = 9660ede85f8f194b9e55ddfda299407c +AAD = 394206936b87f41cd8eefa40430c8387e020fbf2 +CT = 58610ef17905f6360805c4178959d70f +Tag = 25a6b9da + +Count = 11 +Key = c21f6c62c429b315e8879c5f617a0870 +IV = 8386343a1d3d5a2edc1b0529 +PT = ebe85204085aaf7073ca76dbdc3f5890 +AAD = 75e9a030bf4f944f2589b559e0bd90dd0a784450 +CT = bfd83db66c3f5168de6de3c41fad34a7 +Tag = 8dc2c4cf + +Count = 12 +Key = 32cef669866bb20daf17730c012157df +IV = 26bc8d98e0ba5bd265941e07 +PT = 9483161cbfb0b880536c599f66bca4c7 +AAD = 4d36903a2a6e884ece066b3ae3217cacc45d9b46 +CT = 73080f573edf0adeae4e2da45221126c +Tag = 7e917eb5 + +Count = 13 +Key = 4c0955ee4ef0373532b96455b0394a98 +IV = cac0b4dc6b5af036e953476c +PT = 14fa3ccb32414e0a06323158e1176b0c +AAD = a51fb99203a07198336c10d40107a9630cbf322f +CT = 3220e83b9389fc4d1197218edde21a1e +Tag = 12dde2da + +Count = 14 +Key = e6393aceb7efd14a7688f31019db4a8f +IV = be4ceb6177072bd4afada02a +PT = 653146b9008d2cb7c60c47193f930bff +AAD = 6dd013c5c0908a77c4c8d1bc18390e1401b3bd9d +CT = 3243eb60eddf61eaa3f2e4f77c328f63 +Tag = 3413f8ce + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 89850dd398e1f1e28443a33d40162664 +IV = e462c58482fe8264aeeb7231 +PT = 2805cdefb3ef6cc35cd1f169f98da81a +AAD = d74e99d1bdaa712864eec422ac507bddbe2b0d4633cd3dff29ce5059b49fe868526c59a2a3a604457bc2afea866e7606 +CT = ba80e244b7fc9025cd031d0f63677e06 +Tag = d84a8c3eac57d1bb0e890a8f461d1065 + +Count = 1 +Key = cdb850da94d3b56563897c5961ef3ad8 +IV = 841587b7174fb38fb7b3626e +PT = c16837cb486c04bd30dcae4bcd0bc098 +AAD = de33e6d20c14796484293dff48caffc784367f4bd7b957512ec026c0abc4a39217af0db35be154c45833b97a0b6454df +CT = f41a9ba9ff296ebdbe3fdd8b1c27dcdb +Tag = 506cc2136c15238b0f24f61b520fb5e6 + +Count = 2 +Key = 45551710464a9ea105a30e056167cfb0 +IV = 5727688c9e74bcd23c14a345 +PT = 6adeaaa151b58c337471653c99affbdc +AAD = 3eebcdc5c5e9970b3fca94bd0d28ead70d1f36a94f27780472bc3cc9ff39dd7b7e3a76ebce967d6ae5724ad904dc5548 +CT = ec18f1d675dd056baeb374829ce45a33 +Tag = 378bdc4c34753a1284b654af049b853a + +Count = 3 +Key = c8650e8695396b84a3fdeea8f95c8215 +IV = 5a1c26d3848910137df9f76c +PT = 88aecd97435d97e2dff8763f640a5640 +AAD = 3dace39b7284ea2786a6bc670ced1c7cc0c28c4ae4e7494a6d834eb09260b68898b914d5a6b0b5334eff9669f233aeb8 +CT = 49a9398c70a89c0e43ce7a7bd7a90c58 +Tag = 8509ef5fa8046a48a5f081e5215db2eb + +Count = 4 +Key = 76470ff92aaeeeb24172b823fce630b1 +IV = c70088e92633688bebe3265b +PT = ff4f74af151c292a0b35ba7049c9a5ad +AAD = a262fc02a3d0db113493d4179cc9ec806825f20f5864bb105c6116ea72f0284950ecc8a05dc548023853a657b67ce01e +CT = 2404868e6bfee5ffe6ec851785618aab +Tag = b338a9ccf10d45dfd4e0ccb8a87b3c1a + +Count = 5 +Key = 247b0330aa35a8a855142f933d182581 +IV = 6df7990b60e41f1fac5f283f +PT = fa979c20be9f7f7e802fd5ca55c14618 +AAD = 0cec69d6f6532bf781f5b0fe70e33e1cd68f8b2019aa73951baf978bc1141b51083a8e5c785c994b12ffeca01b6c94f4 +CT = ca4b66a09606caae8a100ce994da9452 +Tag = 534188f439b929183d21109d962145ea + +Count = 6 +Key = 1ea5cdfe206130596b655bc6fb935fad +IV = 0ec93072e726ec58352d5a90 +PT = 1ac044b5f8b693fa236986ad1621edd8 +AAD = d9da4741fda4821eb391a23f7f6b377bed923260b6f8c8ac9bbca4edef1bc2a48a45c8676cb598a668e28fe1103efa23 +CT = 33d387a3b73a590bfd78320ddad8c169 +Tag = ef36d6c01b5a54bf06ba218aa237fa54 + +Count = 7 +Key = d5a707d2e3163fbd9fba2f12e8dd980c +IV = 4a4ed3d33e5a1dd6befdb382 +PT = 639331ff4efaadc93e92e58de9e886ee +AAD = f5392e014cbe2d33cd0a0497cf0398883338748491a8543991990f9958e4a827e190e6f5ce89baac5f3bef91dcb5858b +CT = c986c4c805092a51103176b56507dd95 +Tag = 5da4fe4e281e995d0c75587b4945ca85 + +Count = 8 +Key = 3d2c604398c247e3ae7d90cc1e11f6cf +IV = 5dfafa52cbb52f57ac304381 +PT = 9c12cb73902608e7b2ea30da7397b66a +AAD = 53e050b559308705376a23ee2b22b7642f06ab77a00259bf7bf28cf6665912af4b8901f8af76e982a8bcbafe5ea1aaf6 +CT = 7fe6b5a881c8a6b8e3e29f1a3819383b +Tag = c528fddf8166a5c0ec3f0295b2c3d7a6 + +Count = 9 +Key = a335f0577c876e61d94522d526159f57 +IV = 6ea85a74513f664a907fef80 +PT = db38cf3bb14825a6c11ac978fb516647 +AAD = 038af270aece9687e34c55ec30494e9f72b6a90ac43280a9b8e958353d8c02a83ed163c6924b7201759615779cd5661e +CT = 7e81df8bf0b671e89a639d6432d44952 +Tag = 2180e6c8fe8fbb3394f9dfdc1c439d80 + +Count = 10 +Key = afb3ab51cf05e0cfa2ccc2c3c8f4b67f +IV = 26a5d1667feae062c14663bc +PT = 26821b2fe21c26d20843af266fce1f16 +AAD = 130b15bde79749d0577bff6c98ab50f035abae041b0d5f666db27c262c0ed2a801c24feffcfe248cf3af5afcb6b0dd1a +CT = c5317ad695606124662453dbfb96a26d +Tag = 2ace2fa75daa31fe4f2020cea9e71ec6 + +Count = 11 +Key = 0b4d033bf0182bb06f8b9714d525ee74 +IV = f0807dcca355aa339febada2 +PT = 7c90709d6ea3e586bbf11913bb2b5261 +AAD = 9cb373a8b7cc61eb382dfe1ea17d78877e9366207c3a5161a1f34b75ac503dc20e4af9d9962b7d4fb0f39ac9666c660c +CT = bfdde06e311240348f04277504fd75fb +Tag = 1dc5898c49e2dab4ae1a599547a76ab1 + +Count = 12 +Key = d32b7c3cb327780d1422116c40470ab0 +IV = fcc79573051011685ee0d9e1 +PT = f015f4ab3bc159db9cf6b4bb6750db46 +AAD = cdaae988d8bf01e24a4baf489893ee329b7d0dcfdef684fe3e382b200cbd5a7ea3e46be281b0c6cc00417d67f4d3db02 +CT = 48bec210f66942f877993e9486a678e7 +Tag = e4a3821709626cc3006c805a75f067cc + +Count = 13 +Key = 086a0cdd8d520a8a695d17e869e03efc +IV = f0a463c0d1e28633da98b1e2 +PT = ad6fbcf714ab893455eddb3c5fb406dc +AAD = aa7ebac61f7e0b9da0d941e801730a393b2728476dfd065e2f6ef4b343bc2ba6e17c59a2e5381597948a73ff25493f8e +CT = f0b1a368b832ed35d54c80067a06a2ae +Tag = e3c80910db9ce1f3ad2519fe1ee2dfd7 + +Count = 14 +Key = e47e1e3a95627418ed659452a3c92d45 +IV = 78adcf3f732dd3787cb5490b +PT = 801efcab1e329a536a7b506c4a7509ec +AAD = 41913a6c5c4dddae06f3c0f68e8ece139ca902fe340a820e7c40d895b35e8f4cba7809c7eed0b2b7ad45c6d152ec3053 +CT = 6751a4a5e0cc3c0f46cb5540937efde8 +Tag = 7b07d21a4cbadeedcadce817d9ab81be + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 34d0b595ad6bbc3a2247653b92281044 +IV = c50560b00fcede78f8b2301a +PT = aa3c338ff8bbe59579d1fd8088e3b34f +AAD = 20ee0faa94305c3fce1bf2497ab7b0bafbf7e8f367041efa0b83978a841d823cba074229b4db5b6edfa87afabdf1719d +CT = 80cfafbf7a5dfb73fff636b9c908e8ec +Tag = 3676053eec80f914982f2a59e05805 + +Count = 1 +Key = 676f58d5cfaa8e78cafee04388b3c591 +IV = a712f3d02e59626cc3f84382 +PT = a1b8b94655e596f1e449f11ac56adbed +AAD = 86f4982fc37e7013537a8119d881c2e68dce2e3bd3c65fb38a2c5a71ff908f1ce8207b31725ffc87ed721a382931ef48 +CT = ef8453a8f0b0abe8be3fe2f7f13b8688 +Tag = 9fff510af3ceb0f092834d4116c5a6 + +Count = 2 +Key = 22c86a26e9de2db685fec444dba0d248 +IV = c974440a5cf0991892f14425 +PT = 0dca00d95355ea79937a95daf8fc8e2d +AAD = a4cc3db340a6b33cec5956f6b08a52e169e8ba7399ef09fdab0bdbd1e6f2795274ef6c51c950ee93bb675d2895b421ff +CT = 67ba5e96a1b9cdc1c981bfa049940f54 +Tag = d6c06c6acd8971cb63c5d529c3d301 + +Count = 3 +Key = cb370297223f0ae335a68eb07a22f340 +IV = 110cd8903d83153816bd6d6c +PT = aaae374bcd3783146351563ed9f9e374 +AAD = a7c500e4bec01d2e2331809dde56824d7bf30d18e4de8c9f9fcc4f6bd7c9e01fa93a9000f3bcd509c312905295407d8c +CT = 7724770b4de7ca10bce879524cca1086 +Tag = c3ad60375e198b6007e1441fb83a42 + +Count = 4 +Key = 55fbb38d57c46203e4f1cd96fb634441 +IV = ff3de1db46587681f4d7254f +PT = 839001a4f23238e85ba27389f5c81ca0 +AAD = 93e7f250daf41d8878fe5b7a33e2a111b3f74f9a558c87505359cd0e8b8d0d626de56cd4d51d4b7298fdc4e2f415bba5 +CT = d685b6b57c5292e9914754a854948b71 +Tag = 27da39e1065987d5b46ae5be6eb6e4 + +Count = 5 +Key = d618d1bac0bf5a4152f7636029261d65 +IV = 518a4898768e90dfd9151317 +PT = baa533d953954b308743120a79960afb +AAD = 8349de812a31ee685c5ef79de7f5e30b73405d826335ceb58d9ca37c20bde01b0f1dd26ead1f8d47089eed95a1d110cc +CT = d799fec1222ec53a83d12ce0c3bfcf8a +Tag = 2d5f37251e6c625200afb48521677f + +Count = 6 +Key = b1f3073f1c951b6a33c1f99e3e3852b0 +IV = 6c11ae6ea7b45fc409c40849 +PT = 7446d9e8f228b2561f0413b84b7a3f55 +AAD = 85e68da59a97d353b109e9817073f7b7ae058a4cc9c81a2873570efc68d04ff6594790d76d129afd58671a6c0eedf537 +CT = ef3aca1687c3b273cbdc8b6f20f93d05 +Tag = 45731001f58883ef4ca465d6bd3934 + +Count = 7 +Key = 2330906829950d8050dc7d4aa2951322 +IV = 2212c301b251ccbade173ab7 +PT = bead60248fe6594e05276417956e6302 +AAD = d7a1f325d8aac2fac4bc88e1a753ed02781ac67d2347fba5a4463415c9a7723aac93227237fecf5db371a9ec78bd1268 +CT = b245cd5c4ee0636bd90abcdea1268b97 +Tag = bf62863cfe93ecdfd1717178bcae2b + +Count = 8 +Key = ad84b783f771200c88777623f66e162e +IV = a06cd960000fcfbecd488fd9 +PT = 0d160abe363cdad9b732ec77d0f5dd72 +AAD = 4578185ccb273e0283d0c622aa5336bd9c0fe459942d2f10c0702aae6e7de8c4961b4af77a424853b6339e59cf79baae +CT = 711c8a90e3906076e4ee17b40271d669 +Tag = cdfb8b75376c0806cdf321e0ff4199 + +Count = 9 +Key = 8aa16c26cd618f52be55175bb1129243 +IV = ee6186851031bd743e41c20f +PT = 337148ab3310b34ad111cc60431bfe65 +AAD = fa883a29551ff53b98d465dc4c94ac203e0b217ed19b7b24df6e7cde374211ca4c9e996b5ee2186e980d08b10c2d68d9 +CT = 24c2c21444c0c9326142e821f97733fa +Tag = 10f1ca363f3cb81394a70a35f49556 + +Count = 10 +Key = 4ce287a2bb59bc6680d3258accf90f1e +IV = 52f95230cd3a24e252dde985 +PT = d2a1877e823090a8c6f614994ab6b864 +AAD = b17688d63330e23d341fd936c7d214e40cfca882c1a7914e2ef419719e0f0a176565b9552ef8e5376285fd49eeaa9123 +CT = 14c731822acf2bc64c8b7e12f1224cdb +Tag = 7fda82d0b0712b91941b08217effbc + +Count = 11 +Key = cd1c3baa20009bc0144217c6988a91c3 +IV = ab2929e3d363afbeaed9aa98 +PT = 263a4610632ff0c987230d50567f7eb5 +AAD = a12d93267ffe3570601a0aa79569be71a8c9d20f065fa8f28521bea3fd203ed1f857afd327033467680a73ced708baec +CT = 6c5622a08fce592654931af917beaeec +Tag = c1e9545081731e0fb97872fc8f4f14 + +Count = 12 +Key = 9c01a9f7e1d32e1dead86887f371853c +IV = 8d29df0124a9edf1ca7a1420 +PT = f10bae99140a7ab71a6db9c418faa1ce +AAD = dbb71b7ddd80e7b0cd4815489d49a9d7be63a9c245b2a4e062ad9354ef073cf924db78771e984328914aabd04a892cff +CT = 835f3638909350bf898458058e4c00d9 +Tag = 654b41911a377846ae2fdf4ef78daf + +Count = 13 +Key = 2625bf14392e3dc1bf7415b91fa724bf +IV = df47a275a48d522c0390aa8f +PT = 28f5aff8609329d16c822ee861e165a2 +AAD = 4e1a3a9bf77fd270ae76b5239fe7bf5f6d7c078fb0f14a819d1fbd04fac70e7fabd340003345a079d19f734c24aec4eb +CT = 9431c99e06e9230412a13516cb2c9015 +Tag = 5d99bfe1638c6c97dd849ef41d2194 + +Count = 14 +Key = ed27a44e307e7133f5872f6e9074867d +IV = 1228d359c1fed235a0d1819b +PT = 3c788e10292a85f91ef4751687547033 +AAD = 3ddd8b55299a02f885a2eafc88f4f89c1c1b8ed71acc7f0794260e81d946ef74333e33c497aa28e3dce2520f347ffcbd +CT = 152fd0f973d7ebe3115d1d0bb544cf87 +Tag = 2c04f56301f4e6396001025965f66b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = c860d3dbf4a7322f0c0aaf56fe5e7a49 +IV = b99f8052213c2cbe0ffbc8d9 +PT = 9fbba3208fca54b63c21d6888018b8d6 +AAD = f0f5e40ee9e7551110a2975a37e1ad913c8e79dcd49520fc4cf40923723253a27887400fd0be7bc10cd11bb9496c0c77 +CT = 4ba78481e792de13bd799d878fa2d1b3 +Tag = 3f43176f1618ca7874bde73c92ee + +Count = 1 +Key = 8825cba040164ce0d513e7df189babae +IV = de4e7cfcfef2ade18b466df0 +PT = 2d819c8a91cd82509902e3a8922f39ed +AAD = 9efdd61a3d189ceb7121b006319b16140d06eb53b7cbd184e6ee066bb84e463c24e4d96a96b93e57e5a8ef6fda720fdf +CT = 665d09d8911439aeda57b8d6a24b783f +Tag = f00c07da1141e48a28a70fcdf0b2 + +Count = 2 +Key = 8ab5451b790b0dcc4c7ce7482702a9fa +IV = 10f73243a4bc0760ac59796f +PT = 4c8ca9ac6b2fe0424abfe255cf44f6d4 +AAD = f5b83ce8d27b3ba07957dc04f279a1dd19e055e5c7363b694c014ca41e8871b44efdf9c18a9bc6468fed76c4057f59e8 +CT = 624707bdeee819cea5ab496086307b20 +Tag = f5b8ea840e2b7f28659fc1af711f + +Count = 3 +Key = d3bfb15549608f3a9f4ef875df11ba43 +IV = 899d907d88f9f379cf0ea7dd +PT = 7b12f910fea1b33bc85d1601d6142800 +AAD = 36a65da5bcce5083e82ce3050938fbb4e81fd0c187688fd14c958dc098163a0fced64a7d5af7418a0a074967a12b0cc7 +CT = 1ce3388624e3a23593b072034ff7b76f +Tag = 086911ecaa76fa0fd736abcc20a6 + +Count = 4 +Key = 3707c55271b8c9c2d3db5594d0f63b15 +IV = aea72d2d866a8b2ea38dffd5 +PT = 5cc2b3241a769028f45039b1edb8dcab +AAD = 62434ac560d14218302ef0943d8db0af75428c48cb0e745c5170021121c63a17aadf720d9e547fdc34c58dda668d5aff +CT = b90848bbca29dc99a454163d2e06258c +Tag = dc322e684991d8e191180fb23cb4 + +Count = 5 +Key = 07381b8d40d1fc523d425d8100aad94a +IV = 63e1faaba76ee8c857e5f779 +PT = dc4533eac424b2c7cd35d0c2d83b3645 +AAD = b6e197a18883a3ee0f97ceeba73e8c5c5c0e40f5c6ea0af3e60d4ebf00d3c424cd0071d153ca51c34765ea74153d3b87 +CT = d903f8a6ee4f87a880f501b2707b8794 +Tag = 890ebc71362355eb13f52c90a19f + +Count = 6 +Key = 8f51368e0d2b16fc83b7b513ed57a416 +IV = f6f230238b956fe418efd596 +PT = f685b587883b18ba110f5afad78cf7a7 +AAD = 594b94c013d39b4ba1bda2f22d1280e5e50e51bb30e23f4445d461a4d9a4efd14938e20456abb965b80a879fd0163c99 +CT = 50affb0fc809dbd4f86a255f95b48c9a +Tag = 22f19b39b40f53fff0d712ff24bb + +Count = 7 +Key = 97075249323f5790a4938e459c2d5991 +IV = 272b5a34a350479843b547cc +PT = bfb745594710fcfe931cffb720d73178 +AAD = afbbd8ae55c7eb3e9ddf4094dce6394bfcb6aad66f90db027ea553144616a6f545edfb1dd4da83ef65508aa9f79d2e8f +CT = 414e35f09c608ebc1b037823fb73b20e +Tag = 5fb3b3d35d2a6d7d7342a9ec8c05 + +Count = 8 +Key = 78e71fdd0db14e440590d27440bdff56 +IV = 048c252677b49604e72bb059 +PT = 6ab3cfe63d45a3a13a6e38b14640f495 +AAD = 8a13a767674d27d7dcac87b08830524722533593d07588dc06e982333017ae2e88414f6c06fd3df7e9a8741fdba1bf46 +CT = 635dd88e2f1685322a6d774c16a760fc +Tag = 5150c5a47e0d381da9f77a6d5cf6 + +Count = 9 +Key = b4bae53e88eff957af83ef5f3e3b2541 +IV = 373335bea8aee4304ec6c7c2 +PT = 9a12af6b03a478f9deeca87574b49318 +AAD = fbfa506a4e8f4a077c58ebb2aca80ee90171818b5854795b93a4baf313487e89d82e180b3b6f90ce156a8fb2d3a74ac7 +CT = ed3474eda8c5e589702da039f84a6b7c +Tag = 2d15d5d1a35b3d56053767cbe6b1 + +Count = 10 +Key = 6ca6cbc37e51353a6279da5b3298a4d7 +IV = e0d0cf64f9c6e6fda2581cd3 +PT = 2cf330db8bcdfcd753d0dddff4b33e7d +AAD = d18e60becddc762914f637cc74f0f98cd91e981c167f8f5b84e86cc225d9920a8126df391c83d9efa03d3952f19e3864 +CT = ce48be36a1688b77c3aee74ad86f287d +Tag = a95b46fb0c5c2010da6f8f02e29c + +Count = 11 +Key = d2ff441975adebb42fe4ed79fa3e8b5f +IV = 264e7219449ec33882061575 +PT = 8361b5405a0e729fc2d24d379e4bc768 +AAD = c560095a215a4184c92baae186218e7c2f3ac3ab72f30665117bfcf1fd96c73f5dbb26d1e3072c8924ac1665994aebf3 +CT = b36a7c784e5d7e897f89124e79776245 +Tag = 0b08f3293dabbacd4ec17c645290 + +Count = 12 +Key = 16084cb18e324bd3c127347edce555d2 +IV = cbb93ba51a992db2299c9d72 +PT = 62c44923a47a2d58e9f9df03fa859b7c +AAD = ff66b788323b52ab19b91585d22f0f6c5b8f80dadd8eaadecec936bb8d81ebcf6c23d69ee296837ff19403ce86836f6c +CT = bc77badf5adfd950afcbf2f3fd1f0aad +Tag = 47c6884d14aecbab0cf7aa5fc7d0 + +Count = 13 +Key = c6ee0fee097437195c2350d9cc5a6827 +IV = 43123eb844824f5af522b0b7 +PT = 1fdc13332ae21fd0e97c81a22ef23427 +AAD = 37bf3f51149adb3913864e1d1c1ddee16d96a6cf02195136615f3233e9fbbf6d62130a92a6b7dd1e748a7f9ae1fcdaad +CT = e09112704eaa4e51876674f2accd3a22 +Tag = cce5eeeec3a339fa733bf3751be5 + +Count = 14 +Key = 4dc293f6f7cee0f8fa72ca1b3b5a8222 +IV = 7373d244b2848c70a31192fe +PT = 770c779c14e7b48d102d468313f88145 +AAD = 56af9afea66b60eb156cee53ac4bf2e4ae508b0cfe7f874afd079c815b2cc17b1bf8b5a6132dff30378982db38b21821 +CT = 150ee30d0522fb6e850ab6bea5348caf +Tag = 20901ee1680a2ea464d504727b07 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 370dde28752229e955beeba5146a1575 +IV = c7417274d97ff4d8a5d22223 +PT = d52756ca1f2eb44f33748ed3da033d60 +AAD = bcb1ac1bdaca8c9e40875acd1447fa3369b4b9b2d890460f544d8b53311777cdcc9f81c3a4b9b0dbdc17adf474fcd7cc +CT = f6bdc3698b07507f55c7812ee5106a67 +Tag = 3369e6348ae0114e95ecc23848 + +Count = 1 +Key = d10ac22389ca0a5fe2dd8eed483f3225 +IV = a9580f3a553f719ffbf16fcd +PT = 74d77bcc7d892c63c3c214aba015668b +AAD = 3775f8dc1f27badd4d19f23f0a3b3a31937473fbff2878ffd5da382f7856bed563cf3c0aa8ee2369e40259a67da6edc9 +CT = 58ad0eb6092a162ff41424b1f25a57b8 +Tag = 9cdddd733f90f15206522453e4 + +Count = 2 +Key = a462cb57f2a29a7a036036becb10223e +IV = a1e9bde423d8e63f14006559 +PT = 100c8c898b861a9d64cc290d0912068e +AAD = f2630f4c97f400def61d01346ee986be56ab80abc692f162a2b5d535610c094c5e77859e0f688c5904cac917ad6cd61b +CT = 1f991cb82293e826ae65e564c72477f6 +Tag = e6bc80557726a37587c8665053 + +Count = 3 +Key = e7d1c486c602e76aaeb018ba9be8bbc3 +IV = dbfdd7ee0e18bc6d6630ab01 +PT = 9aff2836650a2047b872950063ede1b0 +AAD = 73a97e1422bac03b35d6b57341d7f91bf02e60ab148415f3b4663c280940e53847f4314b11a550c3993eacabda7961f3 +CT = d5f8bff6365475bd71f1a36adac4e0d5 +Tag = b0d142b922d1661842aa7cac6f + +Count = 4 +Key = d3a8345c572023ca9bdc94641ff201a1 +IV = 180bd185a5ed15e731d3f388 +PT = dff19c6af6684ed1f6f6e478d42564ac +AAD = e4db3122dd3e4b9874ae296f9d9dc4e16da01ec6fd9278e8f4f8c2cfab00a8291fe7f4ae30e87244a78a010684adf8ae +CT = 3cbbbd725fdb28ead07d35aca52e9e21 +Tag = 9046680683ce1faf7a932a314b + +Count = 5 +Key = 4886d83c5e022668ce504c804fb4c149 +IV = fa4cc13a51ef7e920f92d3c4 +PT = 1ac28492f7d6cc31e4c8c5d023c20fbb +AAD = 0ab83c57500d90a093fff407f96f1eecbad8ac606e088feec74707351301b75a28b87d4305887b76b0af1ae43212e2bc +CT = a2d2caa75449c86e5bc71e8d43616bd0 +Tag = 2b5740a1f089ab184f0154a14b + +Count = 6 +Key = 123e12797d6dccc8a0c6caecc22827ec +IV = b6a8d1920cb0c20a1085c2d7 +PT = 002fd1c94bfd2802e8426f1100652f29 +AAD = 49c91b945abba5cc12cf40914569f5ebd084e0aca607288a8f63f549c6b4e7f850d27cbf286833c66efdc3e0f62734d8 +CT = c240cf404754a5b5d166eee65a579daa +Tag = 3be22880d38f9fb5484ece4ede + +Count = 7 +Key = 420b5fc18b738f4bd2012137a207382a +IV = 5e0658ea43ade0d8b168b383 +PT = 0447ce4abce8673717e7cb1fa70b039a +AAD = 903b334f3ca1e943ffda373e2e964cdf28dfb9ff473d5f66b741eecb4d98c8d135330f2f080356a00f8c9ef3436d501f +CT = d2087e87d2b3058067c44e4242fe195d +Tag = 1959803e36b444a299a5177100 + +Count = 8 +Key = d17097b9aed853ad1f0dbf62ed936ac7 +IV = 56c6535f95d43ec1d4791cdb +PT = 35480189e0e285968992f9d8bac14b6b +AAD = 0d8b542ed7d349af3f24e7febadf62b95a88dc857123120499dea6a2f69632a326cfd9aebc5d67755ccc43b7f43487ce +CT = 81694b41b94dc4eda7b6281d01cd4464 +Tag = b9686178fc6f985470c65360a1 + +Count = 9 +Key = 8d0fd5ae28fba8e0c90b49d48cb03ebf +IV = 4d4159b56b86e491396d2eac +PT = c8cad4510db8b258efb71fee41db9598 +AAD = cef57b7bb81f41e5d84c4cf4f1d58514ad39f2872ff2eebdba659ec79ec5a95fbf4e79b155018405f6b1e4c3f924d2b2 +CT = 11a030e863c377553747135dc6d69d9f +Tag = 014de03ac44c76c8485695de53 + +Count = 10 +Key = d4063d0bc9c49d56f39dacca863180d8 +IV = c8c6d5e87cf49f1b7a29bbfb +PT = f4b4ca9b0206c7d4f7902bf86c82bcca +AAD = 9a6defcd179d406c198bffeff86a6eedb0423d290993e66ea3cce57add2fb448b764fc59b5bc71342a55504e54a17d6e +CT = 7cfadfe560873ebba52299085f2d54ea +Tag = 5021755c4fce721a51cbf7c218 + +Count = 11 +Key = 5663454e702b82d861fb2efc4f7ed718 +IV = a7e8c6119f6980f7b4ccc1e8 +PT = f76da9bbd4f80e3c87a041c5a485b1a0 +AAD = a3327652d631f5d4514eb90966f1d5fb45adad9d2fdd74bffd1c2e7e4a872c74e487ef6f52e605a1089f24c92e68176c +CT = 88c11fa61b160cefbbedb05ec7d9d9c7 +Tag = 789c195658e970869ef2e3ce37 + +Count = 12 +Key = 40876e176f5765c8646912ba5e35e7a3 +IV = b3d9f086f9755bcd1319874c +PT = 96c879b6603c97d17530028904d3bebb +AAD = fcd0aa316cf1aefcd2d68b3407419c88b660fc142fb1bc5c3920dcf6a0de82d8828387a1e95187588008b203572ce811 +CT = 6840e739d57e8676090e20ec46a139ae +Tag = 814e04b278cfcca93017bc81f2 + +Count = 13 +Key = 992ea855a1ad6234fce0efd17d0555d7 +IV = 1fee68074454644ea0e006fc +PT = ab8ef50a8aa551b41430815c8c5d5719 +AAD = a176bec91393a1caf4a14214fb9809d588056a2ce60d902b1ec9d1354de92438da5024363247d0437a3373f7435751b5 +CT = d15e729a768bda0f2bb7d21aa339edcf +Tag = 7f2fa02736e7cd52cea22c5360 + +Count = 14 +Key = af2e9f02ad8e9316535b20a2f88afabd +IV = dec7949e9184ca4257c1604e +PT = 283a78b31d48207912cfd4f1d2ffa6d8 +AAD = e31e961d295b71e1f30ed3586fa518017742f5e095df9a8bfbe9b53241f9c41c224e417ce0f63cc99bb2d7d70a579e87 +CT = aca257f17c84ad75c1bf6308ed459182 +Tag = c6d814de2c3c75eff2a513ec66 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 3bb66ab4c77c70c399d4988cf1130606 +IV = fd5fe227d3d1bff3d1b23b76 +PT = 6b63c187ff5e0fa0ffffc6493b5de747 +AAD = 6b84fa6489858a474d4196959193d115adc4bf255077412abb6ec8bf7449bcc0365ca092ddfa287a3b747a2ab9e17138 +CT = 0a41ac0d07f1e2064950701995dea905 +Tag = 20d2cd594bad3a31df8f2d75 + +Count = 1 +Key = 1bd50fd2bd6bce0fa90105b49d38440b +IV = 38771d9c3b6a4b07714341fa +PT = 8258746bc1ff1bb47b283682b425e6a9 +AAD = f6c4c5c7f71cb947b13f344b2b2733d52cdc2e4694ac91f32efec47ed46e20910403a067172cc961e6291c34b5df6881 +CT = 58a384a53140d3c73234911067ea1c3f +Tag = e2bcc0cf737eb974b9fc08dd + +Count = 2 +Key = 2f50467da5915150da2e106ee16365c3 +IV = c2d4c2a0eb78fe01b85ebce1 +PT = 4b554ed967d72a31378872a1264d7921 +AAD = feb317f18f439ad37ecac26073867470ba1e0623c1a4e447a7874d655cefd53158fd8fb2539884402815163f7adf6b31 +CT = 0bbd409db802206e55dc7d192cc35a17 +Tag = e7b815c6aea8a8d9d121420b + +Count = 3 +Key = b4239e7d30cda3ae829733d5c86327f9 +IV = 288c7b642d762214af195828 +PT = 9858901e1cc1af2cd385fbf448d7adb5 +AAD = 75d6995dca06bc82e4e97213d86da1e293d21fda8436d7b68f21819994d791a7e2f4f7a8d4754b20f23e993a96a94f35 +CT = 561c52681a84a4232d6913240e5c7bef +Tag = cfc79008418d3679e1768890 + +Count = 4 +Key = db7f55ffbc3cc6c0b83320528b85e73f +IV = fc5c270938be43b867298969 +PT = 06e8038f0734fa43550e408d089521f1 +AAD = b8750e307a31d3ad92fc803285cb4598887147a92979fd5eba8fa5c1b8bfdb5b54db3232ad1e2cba15fffea0ff29efac +CT = 08bc838354d6a7b3f6f33ff9b5f1c0e6 +Tag = 21e45f94e22ca87d3045e39c + +Count = 5 +Key = 773242c7d195def0cdab4ab61e9a006b +IV = 710bd25b763f23c72cd2fa93 +PT = 8d7104aae1d4d2151e163e554d43360a +AAD = 2116c0d4c084ee59cd3dd1d0344d45593aab0bb48523f36c1088546228e205e63ae4d092964d3b5f2b9d591472cc5ea2 +CT = 2e0146877785603882553e2a7273405c +Tag = 38a43387108d8efbb86f9791 + +Count = 6 +Key = f14b30076938b4349ca079b742a8ec71 +IV = 076082e310894ecd7e42a8a6 +PT = 5a5d9176ff01db7f113c64058b64cc75 +AAD = 822ceb0e22b8222d6a3fa8a418891576a1c6cb9dc990c9e03f6876d34e9b377cbf885bcf4095419926cbcf7c8159f549 +CT = 4c9aa8a2d2d7b18f584a0815a3311d7c +Tag = 0ab7ea04d68ad4e972aba8b6 + +Count = 7 +Key = 6a6b52a47470955fa6f12d2b9a1c6ce5 +IV = d0f58706fd1df09bb41aad2f +PT = 19ec188cacb91f6f93f116d6e6524b91 +AAD = 79a43d4f6e0f7af6ebe691b5babcd425d338b712f23767eba91c2d64160cf7b6779a59c85005ad6f3829c2e8d4733cb4 +CT = bf895adf181384790d44c7f3deaf912c +Tag = 264c03dc14e3505268dc17ac + +Count = 8 +Key = 660b181deb4b8b7a6000b249d14b9087 +IV = 63c518735eaf16a56fd4d8de +PT = 6678a1637f8f2763db2cf773e38e034f +AAD = 669a370a08299b7c5885b84d66159aaf8413d57d2bc16fe588c2e9fbd3fe830144f2efcf89eae00b8cbc37e6aafcfbbd +CT = 5e5ee9415207c4505fca8887d3b141dd +Tag = 754e76534fe04a85650b2953 + +Count = 9 +Key = e7870bdc37a12cb693f15b2daf2877ba +IV = 026243627ac34154ddd239d1 +PT = 04bc5e527ad60a3bd360b8a3ab5a24d8 +AAD = 74dd05d358d7a0b57af410ca3f46117394954db72067ce3a30e9ad6d1c7022404fc923c75a192083495c5fe46d7e2257 +CT = 6290fd0532aea3fc2f6065dd5c5c8cb9 +Tag = 206dad0ef321297b26dd5147 + +Count = 10 +Key = 380ab9355349f883158962b66a140fe0 +IV = 99b6351c2c34574828157033 +PT = d38e040186776e4a6c68491f7ed77da9 +AAD = 2da5003b94d1d85f3b6b29b47e9192fe948a22bca806cfd6d1b40a933a834aa22707e4d683d0999a13ccc63d34603708 +CT = 31669d74888b2b77206a2d7d292eb614 +Tag = ac59e006524eb77999d633ee + +Count = 11 +Key = eb3d66f5c6570aa428a9ccb67ca4cb59 +IV = 1969bc70f04756dc887ffbf5 +PT = cf4ca136ec8ce44c8225ee2d517061a7 +AAD = a9fbcec8aa43de393714dbbba8ca1ce4a277fc9713688e0e60645a3514c7feca00c7a1286a08b31d093d25105d6cc7d5 +CT = 6059a3ab8495e6a513f6e54297d01ef3 +Tag = aaf847b48fb796eebef69174 + +Count = 12 +Key = ac492c40e1c5e405c44cd864688bc362 +IV = 75f51a69cb52c178d5597a7e +PT = 4e25eb2e79531c62b6722d0d8d9c3da1 +AAD = 2b8ea0ed4c19770b944946cece92a7aee5f488bffc3b78c1eb72ddecf5aab4ca67c33eac6aac874bbbf435868853699c +CT = b8eb2f83f258b19d0c46a3b58deab0cb +Tag = 69a6dffc93c967e0ac3ea496 + +Count = 13 +Key = 98ff1a4eb0d5f198fc51da579f921cf4 +IV = d3c04604b5c5ec9652344537 +PT = c3daa2d25805e2a07a0119ba192743f3 +AAD = e423cacb35ec05bbe045c578e84e1f617d37f9a4c2f4655d1ae358abf9a19295f8a41f313f79d75de806eaa364d15ad1 +CT = c6b00cff60745d71304d33bd94eca433 +Tag = 882e596226ed9f10900de594 + +Count = 14 +Key = 4dc854453a7dd40480dd29fdc69b9738 +IV = 2dfe62246d3d1796f043bf4b +PT = e2f056988f18bae2d81155f07df80191 +AAD = d4d3e2f447e80af43a623a83b6457e6df6931c4af618f3e412b42aefd5fef186cc85d44452a15e7d6fd4f35cfc051b38 +CT = 4fc45ac078e19fb36042f8eb7a6acd0f +Tag = ce2e07f7afceea9ad6cefb6c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = da702d199f311acbd48565e1e4b30afa +IV = 5a12239ac5f37c01b98861a0 +PT = 20f1434b9c8577a85065697a7d012298 +AAD = 3e2ac3f351f88ddd44d43af8351661951f72aa5dfb78a6890de4d1b87678d7f92e5425829c7d9359e7ce5459af37578f +CT = 9e9ebe5ff58d80c30fe1c00984f973d3 +Tag = 935dc2279dd0af1e + +Count = 1 +Key = ee9dfef09a9d6e7d0dfb3fcb1bb82b11 +IV = 3b037829ba9863b6b5c3321c +PT = 874e663602670c54dea945c7d7fe2568 +AAD = d839d1e6e8ae005970de5a14bd4fa2d2d5b15d5b29a6c0416d032851d2ab0fafbee5d111c5eb9806ab1aa5aa322ab18b +CT = deb7894dd6cc23a23859ce010a187adc +Tag = 7fa1a66830b77278 + +Count = 2 +Key = 432405f1825a711659e30007565f5910 +IV = e04b05003978b48f74a877bf +PT = 18a5f2b88e5d4a9e758ea428735778d2 +AAD = a35b47fc4a84ac360071bd87629018bbef5587b21b540b541340b3bdbd876d1df20093e291ebe99649c3cd87d2b1874e +CT = 8ac004d78886fb002b50cde88e2bda7e +Tag = 6abcb796e9296c8d + +Count = 3 +Key = cd6d819c00c62def41b40ba9e13fdd93 +IV = b3719f8d4cd278277517b7a4 +PT = e44e7b75cfb7f9d78172d6ecdb1093a0 +AAD = 8aa250b9cc24963bdb5c9d1f9d1c2ce76125611adba1b9bd3fb010bb95fe2a14e67a3f9b0d9c3ce7d24555ed4ae9f981 +CT = f83a9de5e545b60732587fd8ad32d471 +Tag = 01ce6784413769ef + +Count = 4 +Key = 8d4cb62db1195c38b040aeb7bc38cc8f +IV = 8d5227ad92b7c6a217c80b2e +PT = 5dd6988df80dd81664343ff2c89c961e +AAD = efa72025989ddacd8ab51ebcd05e09856d653ca71dfb6c852a90563557ae4f79f2255df2fbe7a17bba9dcea03c23e907 +CT = 8e57696fc1918ace3f386498d677e365 +Tag = 2fad9eb862571022 + +Count = 5 +Key = 04a84ac1bee027e9fc6407bd12afd3a7 +IV = 3c3e09203b98e8147ff76220 +PT = 8e5b635d04c885cbe74f598825249f15 +AAD = d1356b78628acfe035e944a0835d86fff8ce5878df39f7361a89c1e0e7d8f78ff5da39085e6bc809323ae7e118d257bf +CT = cab4f1db68cf148011d849928d456e1b +Tag = 75e58096f6c8cd78 + +Count = 6 +Key = 1f12f59f18e45e1070d01be8ede09c10 +IV = 98ae04b727c6b27433a15207 +PT = eb29fa48a098cf7df876071abb633eb6 +AAD = 2521053969c113b8a9de7a8aa658361d5d6e37af33ee360e7aac30c25e6af3c1abba686086185342b5890e857b489c83 +CT = e67c6b7fdeb385adb0ef6b9508245d7a +Tag = 64472f6f7c0399cf + +Count = 7 +Key = 6ff54ed46534178d0e58d3d9a27a6481 +IV = caa8dd6af2f35de4d74d3923 +PT = 05560ddf67bbc4752c1af61adb9103fb +AAD = 0699b4be67788da625c28620986295b45f965f113f36c8f2d1f5179a9ba4dd45c0055cd8a7ccaee28977c1bbd4dddf29 +CT = 09a9de98595535cf4be5c3ce4522acce +Tag = 10203452d6ef452d + +Count = 8 +Key = a86f3c1fd9c4ac1a336fa55961758612 +IV = 930282f0a32b3022f7bfac28 +PT = bd7238bcbd55ba8ee1caab84ecc4e5cf +AAD = e3bfdf3a4925b047d76a71e73797fd8b29d5053a6be786fc635c262eececd25137a5954a05c453148dff1d9314df652b +CT = f24adc25aa791d2d31669bdd803841c0 +Tag = 95ede3e2043167dc + +Count = 9 +Key = 2ca2a0ccd9fc8f65a2ccf6e1d144e240 +IV = d433f4508d197d1984d2fa7d +PT = 33cd4f0ae24ef56634da41284fc50c25 +AAD = cff09dfdded7901d35ccfa7aeac11561b3a9021f67dc921820a0d844d185d37147e8a76dd7a757adfaad61ba3b10e8f9 +CT = 34adb00208c7d716d806db9f3c8da373 +Tag = 9a6f9e68dd220939 + +Count = 10 +Key = 8569cbe2daddc6378827a8bcaec94d4c +IV = 76f5f19573af8d6a7921bea4 +PT = e7ad962c5ac4da5bc3438880ad2eeb77 +AAD = 15fb6f5ddb5039dfb81255ed803d49b7f796d9fbb88b92db8857f122f94222fce351a6d656961b790e40c1c90c88501e +CT = 8ad7af6b7eec8227af3cfc41488f4d82 +Tag = 18ebc9f3e995fdc4 + +Count = 11 +Key = 9d3016fea81e68dc106d2c6cfe59a22b +IV = cef13793bfd1348568c7950f +PT = 2ed9cd02421bd2cbfe99e7d8fbdb00d9 +AAD = d65b9afe8c1619b1f11091ba133428243f6b5df8d1d24fc0fcb1ac6b84cc4ca09d21b44e806088f30f7443ec400cd089 +CT = d5a33d403e6f67b4d32af76561bddc7a +Tag = 0e8634b73048c4c4 + +Count = 12 +Key = 9db2cdeac524ee764de7af13da58362b +IV = 83b5a91c1405b1e4d90effb9 +PT = 394ac89da01d7c4d1427ac3a1e613678 +AAD = c90c8606bb751c4944bf2c58ea1dcb26624fc2d867f9290f2812a65be610b13734b7cdbe694324e2498a4cee23841430 +CT = b86fb94326d4bc20433e8967282b65a5 +Tag = 31c03caa81a5fca7 + +Count = 13 +Key = 1879719a8f25629930bf9762973205f3 +IV = da6e14b280c0cdfdc99578e8 +PT = 508998ac19a1dc438d43b82161dbb942 +AAD = c5c78481c75a9bc6e4f5551e437f7d620fb4b799086eb5f62af7f837316c7e34edf6d50cf29f5125609b4a097477cba4 +CT = 50d0e82d4c82baa447c9cdd1869028d7 +Tag = af2b986d12b40ae3 + +Count = 14 +Key = 915ffeba62a8cada639229cb1a030f2d +IV = fe6e2ef7927d064f2d31bcd4 +PT = a610b3e70c34bc3d2345a6bd32814444 +AAD = a8075d5b831c1a0135fd60e1185075873b0ff5d2913205fbf699c36f595ca81dc7f58449524a0631454579a6236d2ba6 +CT = 53917757061e255cf05ba60053bf09b0 +Tag = c4c9d80e1ff7c17c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 99e8e1861e55cf4e853a910c70901f2d +IV = 437b73e624906652956bd2fb +PT = fd239ba3aeef41608fc7013c472b581d +AAD = 41e328808d081b677d8f51bdaedf0aa7b42e4de88c1a9004196d7ca5e0e4f9aab3a78f26cf01d60deec62dad8f9fd62b +CT = 8ccc27bca436f983c761d5c5ef28138a +Tag = a2f11ce5 + +Count = 1 +Key = 0d5e91bce80da604f24abb81302eb411 +IV = 4f87fd1f235f30f27e63e720 +PT = ebd9ca95c4bc3017aef9848b6f3683c4 +AAD = bd157a23141b344085c53edbc7debd9b5cb1edcdb8eff4095491b4e7fdba316a3b0e20750d36478ce75e5df665a06ee6 +CT = d3c13c8f9a1cd387f2950ef58b4c1620 +Tag = 4e7cc26b + +Count = 2 +Key = 4b0ebe4f1ddb8495ebae6630e2e65c88 +IV = 52af08ea21eb76833c2ccc0d +PT = c2dd69e2e02d368feed192419e14d35d +AAD = d1bdb122b114a92b60a32258f6dba70d9bbcd42ab60ea69dacdd4037dd204db21c8f04f92ca6afdbb1259441cc73a9e0 +CT = a7b137e96fd35bf0bec94aa958360b77 +Tag = 77541b6b + +Count = 3 +Key = 2f6f1be6bcc4945efd7aaadd2add8aad +IV = 0db3d0a69719e4f729540d0d +PT = 00d4491e09cde24100ae9d7c8107f8a5 +AAD = e3f7589d13f8bc3b38f4f26bada18d945819ad841f201413918c63fbaa4de7a0e8be9d590decc1ee705a5e1182fa2286 +CT = f2f5bce79ebf20c25f81acfe9f8df7d6 +Tag = 59a161d3 + +Count = 4 +Key = 0a14046ca7b4988f897ae21460492d07 +IV = 8110c5cb0ccbf32af7c2e556 +PT = 1fb36705d77ebcb6dcf9f822713a4e6b +AAD = b3fd7a2e5694e83f72878245e255db504d6ad7c03448330fdc63b79cd0b98293e6c70ceabcb7c65235438e7ef6711c70 +CT = ec78423308194f27f2bfe61e99f7bd2f +Tag = 2d310827 + +Count = 5 +Key = f7b8be94e815aefd8d27dfe69f8853b1 +IV = c1748859d4729018e198e30c +PT = 0e75473f450d74eb4c651ef2fa98fa5d +AAD = 8f924c8c9e77cb1cd5592d923fc098b25e8b8ad434a7acddd9b95599198c9d46369f9647825253a0b0d1b5952d85afc1 +CT = 41b937a3058add70c05271d46bea2bb6 +Tag = 01aae3ff + +Count = 6 +Key = fbaa51a41ecb9bebeb02cedd696c0ece +IV = 9d977ea8392d734194a82b78 +PT = 82cfc18dace2f09615e92d34c4bac428 +AAD = 90e8672fdaea1251bbe683af526332e505337d4ed0b6a481fee840055b15e7029e4a1af71863f4983f2a5e8f2a58f686 +CT = ac09bf611616572743e2fc87acfdb471 +Tag = 9d454505 + +Count = 7 +Key = 38b773f3ee311563d6c397f21c24c75d +IV = 3660e7c5c0389af1cd575c87 +PT = a2754dbbabb055d3a58c2d8aaa495f90 +AAD = 19b980ab5457538ea759ffa3d00a5216c4e56016fad7026a907d56b8ca91c138d34b7b9483d693100d7218db7b11999a +CT = c2ac277f4430d5a64a4936028ee2478a +Tag = 4f5e1b0b + +Count = 8 +Key = 112d34d2e9c69287398b3598a37de478 +IV = f7b6556a7aaa608363ab19f8 +PT = bbfcc86eee262a380db1b868a6712cae +AAD = 415d82c303c18944e5c4db988618ec395edae57fbb29b0d1da3a8460df9b80fdb5adca40eccc3d3df8a0302b07300191 +CT = 372bfad860d47dd82f35e9d8361dc528 +Tag = 9e7253ee + +Count = 9 +Key = ca154dd4771837f7aec708efde1ee67a +IV = 96878101c01ca6aedb4b2094 +PT = c14f0b7ba94442600610d6b45be69fb0 +AAD = 5704bc1e52822a7c8b3aabbe83e6f281641bccae9ad9dad3dd3b62eddf17c6b6c6d8cd1a12cb79c1046c369d6db397aa +CT = 575dbaaffcf8f85e35af90d82a59e69a +Tag = e0adf0bb + +Count = 10 +Key = 4dc028a80b709cc0995297b9a4fd386e +IV = 5edded3c036582071f77b6d8 +PT = 299a1713a997471d49f0a9553f750f92 +AAD = 98e1dc8585cabb32ae9c585ebeeecab692843132ba3a54028cc673ae73bc853a77059f462eec7aa8f15f06e35e18d933 +CT = 5ee21089393ab15b6dd9c8320b8f54c8 +Tag = 38fd38ce + +Count = 11 +Key = 320ae49a58a49b9e90c31d502443e489 +IV = 6290d663a3a8dc4b9f3f70a2 +PT = 0a5f39083d42a53425fdf50900db31ba +AAD = 146ad1e4e08d832f4df39c7b7f51ecc96c3ad9c20d2733e8b2c6917eee4d6a001d3dbbbbd286eda4f07642e0351dda59 +CT = cf5ea562d06b23c7e636f2c4d4b2c1b1 +Tag = 8952c585 + +Count = 12 +Key = 5c40bb5792e4d04dfdee8bfb74556c7a +IV = 2178fa803f5ac51a5faa86b7 +PT = 04c1852fccbecf20e2630637019ff327 +AAD = da68acc963f50f53c8b3d24c73fb5fb8c0068100fcc948146e8a813691bda75ce1c9549e199a37267ec8a25b461df779 +CT = 0f24fadcad26dfb51f3ca9f7a58c2477 +Tag = 3b85fe9c + +Count = 13 +Key = 2491f3c45ae73b9bc07093d7faa7b5ca +IV = 4104b83a7a6e885a9c3256f2 +PT = f92447f4a19e517a39dc2cbdb945ab9e +AAD = 31870d534019b19cb0501793ed36af72b21afb805fe7607d32ef9a952cbd099649a219367ccb42aa5bc32411a5c7a91c +CT = ea68fd6149901be9325b1e2d7ddf3555 +Tag = 4ff0c1c8 + +Count = 14 +Key = 71865b981f335f61b78335d93f152ac4 +IV = 7a9714bb999840b6f889349a +PT = 038f537513f66fe1e6771fc42b041417 +AAD = 9421b05d7efb07ba98d97d2182ba69cf909639ea4d9be14739687ca4d12edc89a1e91b84cdcd261d9e77263c154fa9bc +CT = 1b23dbb52b248afed92f46dd5cff3a34 +Tag = 62807dcc + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = bd7c5c63b7542b56a00ebe71336a1588 +IV = 87721f23ba9c3c8ea5571abc +PT = de15ddbb1e202161e8a79af6a55ac6f3 +AAD = a6ec8075a0d3370eb7598918f3b93e48444751624997b899a87fa6a9939f844e008aa8b70e9f4c3b1a19d3286bf543e7127bfecba1ad17a5ec53fccc26faecacc4c75369498eaa7d706aef634d0009279b11e4ba6c993e5e9ed9 +CT = 41eb28c0fee4d762de972361c863bc80 +Tag = 9cb567220d0b252eb97bff46e4b00ff8 + +Count = 1 +Key = 11f47551416154006bf89e7594ea2082 +IV = d546fcd3ff2a6a17461e9e94 +PT = d3783a3d7a1e091f9cb647bf45604457 +AAD = 49efdce48e821eb14eca5f1dd661f8b6b9a5a6917b08ec9486c29124ef1e7a9af2217494eecad3d8eef9fc22d29ce18d92006de1588c3b06f8db9fe809bede40908cef4f46d2c4b6f92ff5a8304362749143dab266de45bf5b4a +CT = e97988a6645b93a32e8296bb1dbcb8f9 +Tag = 399345f974a82a2a75007c84aa08dc1a + +Count = 2 +Key = 0736a1f074919dfe23bf2a828eac2b26 +IV = 5b2105166bcb15efc07f1c03 +PT = 402b5b45dbbef7f1d955423e95cda404 +AAD = f331a6f6d31de69f116b27fcd7f914aa0b2c3a09490360e7863417a2346030cc99b6ba389e65e0f10fe0815d383e6f98dd8bb97d29908560ce98e4bf177e42e14a7137cfd30b7dcb4d8655b3c03514e95adf698645584475865a +CT = 6e9e79e29f3085183e0a7ac7f6ba1d67 +Tag = 84434e0c82b858ec27e61c54ecf6cd94 + +Count = 3 +Key = a3929d753fe45a6f326a85bb9f1e777f +IV = aed85f89844f061113004d2c +PT = f024e796f449712b70d5c7fe5be5fe14 +AAD = ecef72a7ae9e6bd15e63c8e9fb2a3a7c53eb9a88bc05296ff6f25544f681fff5289a099d38abb68316eed8215ead9ca0462065bee79fdb63b4405384053fdc68fe4124a883f50a2b4bc4df6e29383c2ceea424e4ac539b26c9ce +CT = 349e770a7f7dc2fb41fa089bf723f6b6 +Tag = 26f12bc8777d724fe59ad4fe2b9757f4 + +Count = 4 +Key = 85abd6c7b90314b29bbd293ff113637e +IV = f48f4ed2eb7b7aaeb017ee72 +PT = 542c6fa7e7cdaf21e6f6b34517f26ab5 +AAD = 2b825d477eb96e0d8d787ee4f284eca567fb5214b47e26705389cf9fce4b8dbc49a152df5e4accb0adaa19b37c90fe7d6eb456a067f1c2b63b61f6d596209f7ee96c85aa48f1870e9338743edff1d8ffb61dbdab88b6755fa135 +CT = 8374f96f03780724a8e8d1f11768d44f +Tag = b41b53c46ae76eff505cfee47a8daaa3 + +Count = 5 +Key = 0a2f29710feb7c86175a37c41e32fadd +IV = b190fdb91061a08ef82100b8 +PT = dfb6284ffd6cc195ed75db0c9faf5559 +AAD = 0af4d5c1ec517a1fc104aea7d513b591b603634fc558007e06d6cd22997407eb8281a742aef6e88ba08f10c64b423121d898bcd04c1f1d6c7c12d673aa1abb004a8525f1d7abc23c8724885179e292c0565a39d9f5c6d2369e37 +CT = fb6cb6527b92dc2ef6a227e8067879aa +Tag = e01037f6e9d62c18b163a714f85a92cc + +Count = 6 +Key = 470d577137c5014b78137dc6b24efa6d +IV = 4afa7f5766f8345a1b12042b +PT = 4745cb9a3ee3a76ae166dad5a1b62b1c +AAD = cfdd5d42e0d0127a1c0d3c4bad302ef23ab63d879fad71109f4792e5b21156dafdcec022fc323028a9fbcafe0c3606ed61b582bfa00ba6e5c9a1b13b976d67c14c79905a769399d967b0dd45f0e74967b67d7bb67d9466618fa1 +CT = ca58ced863696bf80ae0191de1252333 +Tag = 246d451faab88511467e38b60c5b46c7 + +Count = 7 +Key = 5cf9cfa4d367752f1354037e132bc948 +IV = 13e6a286a6c7b189974d7ea3 +PT = c7ef33e7abc8f298b2f224cf5218661d +AAD = 65da4dbd6cef7fc8a09a766a6f5b474e9711a2d40faf841c467a8838e5c8cada3f1cca74ed3b4cdda6d5d334c91763e798b9c7891b291dbf46d89ddc728d72f93c95e081bc340448519aeccc6d105bf1696b7ff9c0b7c006444c +CT = ad88f4e7b980be05b3df0fc05a49d1eb +Tag = 0ad15378f18f4338966e8e17951d8dad + +Count = 8 +Key = d1dafd9e07ab0f903a9b00d6e353d67f +IV = 8a96a0fe88f0c7e3077c38f4 +PT = bbe4ccbd26522d35ca0d483341385e2b +AAD = d3e1ecd06f79e6839767d957c4d715b4228f4cbca7afa429d860c5db2a6bf4a3ade2d00b91875fedbf9b09e9ee5e69182f326fb36fcc35475efb32e5eada3a6fa6046c8d0c0ee933b0e7f37c87b3eb8b9c0c2b457f8695d25875 +CT = 9d016cd94933c07c10b92af40eafac7d +Tag = 022e2dd58ac862962e7fa0536bad87cb + +Count = 9 +Key = da5236b254ee2ff5d7e73d7a09574177 +IV = d2d91f5c302212557fd62bce +PT = 3aaa2a7b2605686c3444bb16df8c57a5 +AAD = 9ddfa05290e228e5eceb7e96de3a097afaa96d8d3e0d5ffc0e0116f43814f5b0947919267c2dbf0e5f52a97296e7826f2891dd4a043c845046c9ab9ae8327346c7695a72875b9062dd5578be8985edf9faa4917981aacc6f112f +CT = 202a8e67d7f22ff83757fc9ef9b20a0f +Tag = a55bab242a4ebe73b52cc7202f5cdd57 + +Count = 10 +Key = c3e577da2a2b7fdd05c99dc6fc81ccdd +IV = dfa747b08f536915345766f0 +PT = b863120426d4cbd5c73124c7b0342fa7 +AAD = 872a6d0e3a0a3b32f4c92a4e5baf7efb7270a9ab9cfcd3c1173a2fcb2c155a923f9d8b8e35a965b11d15e2e0cc591e953da81c172b8882344cff7b40eeaa30d4793900dd85cb65fbeae9d1d3b2a62c66cb932dac1e6806ab6150 +CT = 43da888047cb1cfc7dd42329310c8234 +Tag = f8267635aa7b51b89c80fa979861eb3f + +Count = 11 +Key = 69e1c0917ca8d49aa69f38cf9c66eb4d +IV = 0c55672336d219e64c60e15d +PT = 7dac3e31269dd79399c94798f4bbc640 +AAD = c1b423f27d794e947bc56aace3995065279221f5b8bef6568b5b2882209bf0dd7776e9ae6eb1a1eda0b768aeaaed9e3884cc3968b6d179e9e5abf08df8261c3ee54f8b0eaf2646cb221288a879c5ea4e9183805dc1da8a636a58 +CT = 37d215a13362bf087bcba8f95901eb05 +Tag = 1b3eecb7ae9386dbc1409e70f5827f58 + +Count = 12 +Key = 08818d516558631161e49eebd621f78d +IV = f1f855eb8aeccc9ddf7aa80e +PT = 1a89c9c9623a26b7c8062c5f6a5f7f98 +AAD = 68fedf6a42b780eeb011aa0b242636668e5c8941d6045b05c948f82c5db3977831435ab4049895b607e854f710e3d8b7a26afaa2e7913093313e93c3e106a8356d6c44579398ce4341aacb3b726e7f42fab75934920df230cb4b +CT = 9e12e3842ff7f5c25a171cc4c5a3dfa8 +Tag = 01cd4980d92df6739bedf22201a2cc12 + +Count = 13 +Key = bfa4a12b357605b11e65fa92b90d22fc +IV = 9aeb721b698db40dc9080e23 +PT = 9383358a4065f3e365924f7fa664012b +AAD = 53bc66164811866e12ebcd64447c999777378119a257fe00d45b5c9392d5618f2c2c784696f5a9fea85d0f8c9cb5438b15b3f5661d49e0b0980ff61aeee0cdf650ab4fa82bcb0d0390f99daf02d8561bf5bca5627e3b194951ae +CT = df469d986744c33244682184912cdd68 +Tag = 8c12f8338ffb7840e085fdedaa6ab3cc + +Count = 14 +Key = e16a57c83f230c368a0f599a7ebf3f5e +IV = 2631b811ea57cb7d58fa232a +PT = 2a37e380f575e4365116fe89a58ee8dc +AAD = d5bc101ad26f7d03999eac122f4e060f20a402ff8a2a0324a77754e1eb8b7a65f78743ac2ee34b5429ec9fd6120fe6d17e71f738cebf0ae39a5be5a4dde85384d98cd90d218785b08daa662f24187156118fba981b9691cf12f8 +CT = 9278d1eab07dc7fa68742059d9fdbe60 +Tag = 27a474294ff811db4f6e0c88b1a86b0c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = ce14817d05dcda036ec4434ba92e53a1 +IV = d775bd3b5462d0f19a861c9b +PT = b682b34158056ef8bd2a1bc7f9ea5434 +AAD = 776f926da43f8777aef22940017986e3be3cb49c3c7e31911ec998d12781bf9a20f95b05b3f0c9f208f03b115c4eff2f44d8396192ee57d33d76aed87646730856da5ef4de4d714cb6d00f832382ebc3da680114970d27b3f1ea +CT = 6b8325b2814d951e6996b46d67d53658 +Tag = dbe02d070ff9ab6ad7a9b66a6af9cb + +Count = 1 +Key = f2e7cb0c6d8d43f4e052549e97d154b1 +IV = baeb6ffd9062c6935c076219 +PT = 58318476d5193cc8e8339c954c119678 +AAD = f9b1588bb2d38472d14355eeae8e2ee59b175e08d94140bf2227b89211683bb31ee7c547c99e8e11eb10a06c1c9cd7bd4df43b0cae84dd7fd0039ded00121fe429895e395772d04cabdfac6d04bdcf3b3ee19616b579ba2c09d7 +CT = 07cc9f05be316772ba19a6d3651d84c5 +Tag = 070639089d7640b03ae6854c39c465 + +Count = 2 +Key = f0a897f723c831e495982cac26904c75 +IV = 71fea52f37b23e56dfbbfe82 +PT = a1013483c717e366ae7379655687e355 +AAD = 3dab81e3aadc6bbd893312410381741108e58984ae9e978984909efa96f859492e7104b4a3d634213b2d40f3b93ce8c0dc350ee4637b26d28c4d6d7bd809553f94502622e62c2db817a497b0423775ddd95d70a2417b945c7a3e +CT = 4aaf4c19fa18a8419070cae57b682ae9 +Tag = 886a551a51c9ba986c95eb08bfdd23 + +Count = 3 +Key = 1742d7a32ab7b774120aaa5ece6a09a3 +IV = ac805a87dd34f15b5a8c66f0 +PT = 11ba7fc467a4a9ae64eb2452e2109723 +AAD = 5e3862c0f53e255b49f34a953d62a1da4d21d09f10b41693ce57bdf347100fcad6a13f58b00cb920610357ca6c73487c8448b4b94593b2b1806b19b57926f9642d53425b09cb26486f0ca5176590fe6b3a37419f5c064eed7bb9 +CT = 0668660dcdc404c18ae951f1f431a3f5 +Tag = e99d8ef04a4527451f940ddf1bc6b9 + +Count = 4 +Key = c6063f98f36a3bf12eaf10cd88d17b14 +IV = ec15cffbcd7c525cbbae65b9 +PT = bc040e31b347fae60ab5992294ca415e +AAD = 14f797a3fea5b8363e646d87deea5092da84c2ddebd237820b1128ec2e59b1c6fa6bc7879395139bdc6fe835944980c394153bd927648f06992394889969de547877fecbdf74dfb8c060fed251259576b65635f5ab7bbb7d7a71 +CT = bd5f30bd05ccff13ed4e568017a71ae1 +Tag = 04b227f3ccb259bf9537e0eda1e5e4 + +Count = 5 +Key = b75e46b5670705f954ca5e6f67031141 +IV = b93f728f459894de43822bce +PT = c843e77f76649d46ae6204300e8545df +AAD = ec80f582681754cdbbdc6e20e51bfe83696baffd87eb2782c82f803f774c074f774b3089dc918279a21e0d4b5a9b9074eaf2b973ace11a3569e8c88ba13c1b480b9f9f02305f08ea9f47e3cd1790429c0eb19ef17e0e5de27279 +CT = 236cd9ca0f7a9a08ce834f97b9785278 +Tag = 35b001199ad89f39963811cde86222 + +Count = 6 +Key = ecb2677241e455db48dbd27961dce55b +IV = e0aef96ca917c7583ba51779 +PT = 1ad0f2ac7781b2f9a911ab4286c12ff4 +AAD = 25ed99cbdb213ac349b5992af6b5221fb4a0e83770893575d4b4fcfe5baec257db1d2d0ca5232fa913805ada598d2e08da5d145701651ff41b282dd550ee0672eab6042c500dd8e887678498e23ffcbb47cb15303446fe9067ae +CT = 18736b6194ef99539febf9bf0ec22fa2 +Tag = 276ba83f74110144b4b76209f0db81 + +Count = 7 +Key = 2f14368634a3185fe0330051086ddfd6 +IV = 297474b902a98612c998997e +PT = ffa4e2f66020a1c0d70dad1f7357506c +AAD = dfffc7a57df586f6d97960ced290c730992ad3ff0187e53c4ed9da2d0d8438c6e4832e2842a6629565c1fb6f3163886545c28f919b54cecf51c3e06919f43eb71e64eb8fd7cb0369df47f0897095e6fbf2405894af48a364ce2a +CT = 218d0f525c9cad573c43e24c81dc8164 +Tag = aa688ca5d86e3d5eb341a86979264c + +Count = 8 +Key = abbdd32ba06e021424909353470d1195 +IV = 4262e7f4002c4d4c0e1bc578 +PT = b9ddc8b2f64950cc2d423299767ece9d +AAD = b744500596d9db989e37168f9c71a3adde40e646767f954fdb7561dd87b720c7b2e630cf6f60b0b86f580b6cc2a6fdacca26b1e4266f2d883a0ed366046f5a54daf70cf2bd4a4c21f6b96c0a8a332c0149943e934f3d49d93d32 +CT = da75eee7bca7e1e8266b27c1d94bc28f +Tag = 001d5fe35feb66a761da9e2454fe65 + +Count = 9 +Key = 9d6593f611c8206c4cda7cc7c1ad06ba +IV = 05aba7c037982cf7e4d4e4ba +PT = c64e7be15af929e13e061557249fc550 +AAD = fb982c08c4e00baac56344d46d3009e7cd6827e95a6bb545c839839d34ecdae73ffbc40212cb1a63f2ba2105c1187961d165ec4545947d5770012b7fdc4166e9b9e110d337d1e930ad2cc77a374f5da8428415eb0a6136854061 +CT = 593e6a07defff769f1629b4e3c93bbe7 +Tag = 08f4c3861e206637ccb80bb9310871 + +Count = 10 +Key = d5d08d8e40e673372e59a91596cf054c +IV = f50017932d0def96dcc24272 +PT = 63114bb450094f11f0c1665566cb30f3 +AAD = a3417654cf0f6d24c6fd2d2a9eea9041f000bd69f24df196141d259375c6b91f934fa517929c3e13bdc5a7192441a76e53728105b4aa6ef5727732907bbfd7417c563ec1f2da29e804ed8e9361191a74e97a9f908e31d5654f51 +CT = ce97ab218f69391cdd14cfc901f3ac6e +Tag = 2ef4c1aa3f677f5eb2cb883d70b9b1 + +Count = 11 +Key = 2733b813154d16b15be0fb9394ad1a57 +IV = 2df6899b085da71fb6ff679f +PT = a039bbab3f14261cb3de73539d12c524 +AAD = 60134b8662162aac6771462adbbbe981bf7e13afd7a9ba3b1ebf9c0d5af2ee08439e9a1a13b8ab3acda7cb294148a22d2a1eef3989a644262197eb9f929641c946d928790757e4b91421e135fb91ccffe9c65c3678b15ef2b3c4 +CT = 2265af0fee9588c4b783500190141cd7 +Tag = b179957aab4f3c05237ee733c15dba + +Count = 12 +Key = 48a8f97f205a2c8ad4109146fcf2c6b3 +IV = 7f0463b93343a12405f3d0e3 +PT = 61b2aaa7c3ca39f000cba193c8d06eb6 +AAD = 84ab4c4be82a4dc8f1849c7a6be24e234cd853ffe04ce8f604372dbfedcce80d5161fbed9ed13e31da2ecc2b68e5f733e20482ea09407f97a3a64bafac6425b052ed2615ad57f8f215f9b26ac7159f3065eebc6e6540c4dfcd7e +CT = 8b5386423b0c95d2022455eb4a156ece +Tag = 7c9ebec246978f5b79fbb8988b0074 + +Count = 13 +Key = dfdda607716855a4fc59541217944e18 +IV = 7701359fe211fd7ba3f2396f +PT = 2f2902dfb7c3cd2d1eace195878b5101 +AAD = d4d24eb230c7770c3ccda9b1a7ea69c47d8153c47959a8ea4caca61940c6b697b27e2888b60e1892785cf0e2b8e10bd9836c9f23ea2a283b0f5af9a9bd8aad0e28b264c0a5530fc0b804160c8c7999e342e86684fb77772c1b3e +CT = 1a4400f7d319c4dfc920b515b39bc250 +Tag = 6e2c75cf5584013669c6a455fe0fe0 + +Count = 14 +Key = 52c100463813c971059b0f50f57c5022 +IV = 9bd18685e955152b0328288b +PT = 87992a2c229fa2f3029b437350e85a25 +AAD = de7279aec59227b4a3451b3fa53ac5ac3f2cdefdd8b80ed2e9902a914045af7a86179af3f2de64477571d9bf48d537562998f4a42bb43784c6a0cab759a907a6d35ccce34cc9886af5c159e8b0609458b5998b8070f119ce1d61 +CT = 78eec6807a22d87df0d56c82e27f3025 +Tag = 64ec87cf305f4c3d12f8b09cbf8f0a + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = c2f41b514bae75244cda812c89b55437 +IV = 0a2417b62034e8db6374b4a2 +PT = 95b40a6ba83c0a4783a7f928bafe1f10 +AAD = 334bc8cb6575fc7643ff07bdc50c7b4d4a968aea21d6fdaa5574634fdcb459cb0e6aa6614bb749e968cfd1af76a3558ce2a98287d94c5b6db879d663d2de92040f089edc44c74c05a22f957aeea160fa816ec27f472bd532559a +CT = 59a7f7c84664cbf1315265a3dd1506ed +Tag = aa62c95f0607f3254a0859a6f727 + +Count = 1 +Key = 225781a9a045f8b690749748254562d2 +IV = 344a4eac5e508c725ba1aa5f +PT = a7edb6475ea42c50da61702b68282e0a +AAD = 91d33d0e865d2f189c6e85507cc9dc39d0a676b8db1f09d63a7ec40f37e1d75c98e98d74baf3a42e4011984dfd9dff79974132abd23f6ead21ba26d4afed62462849a7b1346089220fdab3a6c572c2e638d97adeb7cb91b63597 +CT = 6e4986d1ebb758aa9d43172be8e9b613 +Tag = 94b5c6108a29752cf45e7fa5c608 + +Count = 2 +Key = 410375b4760ec6432c75502e90870d6c +IV = bacdbe98a4f6d40fc5d22dad +PT = 268eb7b26db9a1d4740d1535b9c523d8 +AAD = f28c01bf84cc9a5533582402ed2f578b1a1a165787388c0f75748dbd5c3ba242bd485e7fc246fcc9898f68c2199b1f365a276ee78b1045520f1f377ec9f5b51208371d2f78ed3e04969df321c07c51243e9a5514fcaae0ccfdb9 +CT = 12de5ae8e9e8e0a60c35151adc58fea4 +Tag = ccdc898df731a82cee8db296b854 + +Count = 3 +Key = 8da9bca5878752b62dfaf29056e30c97 +IV = cf5021837c1840b3229daf53 +PT = 243a99c34e918aa7bb155bcf70d86e06 +AAD = 89281ee2fa385b8337ec520ffe64e53b97650e5d16fbc9cc1c373269be3c2806f24251a737bda9cd6a150bc6b85d51971a6901033da1952e4f649a3a252967257e62a7a00fd8330317f4345afe568308dd63dedeea6adc618e57 +CT = 760a18dc959e3453c051e90a27acf424 +Tag = f7ba8e4d758f6fa9783b71384706 + +Count = 4 +Key = 5ef9600e03654b88bd9d78dd4587b4db +IV = 6b148bd92f456850a3e51ad9 +PT = fbe23e8206b9993006adafbb99c3faff +AAD = 48570e32ee206e6c80081cb3f81e4609454e526d60e34d0a58ef8dfd404307b220b0d79eaba42f3d47111de62aa8ae2ee50ea927974efd1c97a5efd7f4c06e4d39a48dd59925bf90e5faedad7bccf41c922635b436d578c3ffd0 +CT = c9e95f7ebe22b7c00b1691d5bda913b5 +Tag = 6565495aaf59e89905429399259b + +Count = 5 +Key = 18aa2252b55bf0bb19b379ddecbece72 +IV = d8dd18e82692e72db9ebc911 +PT = c1eb155e2f6a38690395b1589ca5bf23 +AAD = afeb5c44bba9e53363d16a1970194bef9f4d5edd3cafba3c5d53594d86b08b57ff67c4327f3f1c5bd6d3eb2168ca497a314e4286dd996853057cc6237a35a34644f689809a2b397f177ce9b511dd4b2e82333dca9f375607be5d +CT = b61904f111acd1e098d32745e70c3ab3 +Tag = 14ee09b4b356c5923b6bfb5a1c75 + +Count = 6 +Key = 75163620664fb8c7acc3981942199f46 +IV = 4e9c1f268acd5d41e3730eb9 +PT = 713b8ed6da23f677d106fa0ec37ce7ed +AAD = 94fb518167a0756ad1f56f96d77d32d4d95add174e0ce581e8b024292f3eafedb056694326653a6e435120091d3e2a0532baa8fcf8a040a6a99e9dafc657a720d98112c063ef4a9035b554628fd3c4a7ca9a472392452d221d4a +CT = e5e846bf3cd56e12be38c0aa6c5b92f8 +Tag = 44bcd5d1a1b1488ed6f3c31528a7 + +Count = 7 +Key = 3f62c929c36275755ff96a844210fa24 +IV = e0d761662718ee4af1985def +PT = fab2077c5b399fd96e440ed7e5e4273f +AAD = 708ba2666506e3b170c734d0c34fc534331fd473f677e0fc085378c24c8aa7b81f92b144d941015eac44958bbc014cf6fd290a593655aca6620b4b98d9355b9d01417fc1a8eff13a86e6ed7e1ecf49d8a474933707919c148050 +CT = 12b06eacabd5af802d6389845c8281c3 +Tag = fe17363bf5308af39241389ae4e1 + +Count = 8 +Key = 54d22a0de914d1a127f8517ccb4ac699 +IV = dc8de27cbd5e78a8c6ecda55 +PT = 37fe4e33691c96b44df8b16f100e60b3 +AAD = e4f512d5ec30f98a8aaa885d498c205e1d78a8d55032aaab9b5794aabc98ffeab19911968106eeb13882b73b4678b9cfd06c5f4111ba4cf722cda65e1a8de1cd1857e703bf3ff6c69eec1dfd493571bc48196ce3165048d1d887 +CT = b7923d44700ebc19787dfbc22411c965 +Tag = 7847adcabed63c535c9466eeb547 + +Count = 9 +Key = ca4fa545400186bbcc6a32400efa3a4c +IV = c21aecb725ae5fa4c6f235d7 +PT = 64ef4a527aff3ae1761b28a262e39dbb +AAD = 648fd4cc130107a9d0f73de59ddae02b584fdbbad798640fe4120c4afaeb9c21f329f3586386ccdcb957db8bc0b1a8b243e8f9e9af5f7dac41bbb1c0dce5ce492c1004af27e4f07812202ec6f98af0b41f54f224c4132c40c470 +CT = afbfff59f838e611766180cd1f2ff143 +Tag = c02cd6311ba9f7014097fcedfed5 + +Count = 10 +Key = 22a68bc2098253f261e7b75bf7d49902 +IV = 30ddf8771fd65d66cac07008 +PT = 087ef06a4c59efe3f37ba24a438898e3 +AAD = eba178c4f165d8264008b76e40f736d86d9b726692431879688efa919d99a9f6c91a442e4048aa78d109846060e1bc7a62382d4fb95c2bde259cd99f0fc359d2184686650d42c7c45472c195441f5056cc1da11611484b56eb39 +CT = b3a4f352b3b33b54a32436b43faee73c +Tag = a01a42f96203dbea6cbd06fc98d7 + +Count = 11 +Key = 8539d16d838069ec9c06b13991d40b8a +IV = 428cc6f2d0f46e3a20410bb4 +PT = bbf97387c3b41105a85e7aadd5298ee8 +AAD = 18f92476b7357066099daed8a61d11a49ce02e05411049ad345a45a5e2fa34cb2ebfabd67f8b1135fa5e3b289695e5da44837cd3829de8349f1339641a7087d0f564ba2d4c743fb128585537796f8e56b6727a609dda5e39d5f5 +CT = bc94c28589c36b4f22d335001cd3488b +Tag = 0b070ec1dcc93dd453f889124b21 + +Count = 12 +Key = 16a8d404035e19c517e86005408cc6e8 +IV = 1a17afbc481d1beb8bd52254 +PT = 607e3b721179a77ad6f592f64322621a +AAD = ac446b1bb50d7507d181ac5f1bc39a3bbfad169019e9a39885a0439c6cbb7d6f2cf0763216b3c597ee1c3f2bfd241379f242e04389c3c8adc8ba14a005bdf7094a89d355ba15304b7749c2f61a930e5b72734920b7ca981a7988 +CT = 11db9e10160097e199c4e583d840f7b6 +Tag = 4bb205746f2fbc685d5fb0de2c16 + +Count = 13 +Key = fa254d244a21f6955dcdb7397f820a25 +IV = c6de46d653f9c22abbef4023 +PT = db1afeb63b173bb2af340babe7ca65bb +AAD = e6a4aaa9e673a2e68650842f28d42c83ef439ef133e7d087de6c391dec67cfd786e85308a95eb485ec8f1dee6069490d4cf9efc295bb3ffc6f2364b2f5a70fe283fb2d7567dc043c51d4fad14b15f491de62455a554dc76a227e +CT = bfaa069124851c26182790ae5a6a33ab +Tag = 956faafeabd1922d531ddff4f475 + +Count = 14 +Key = cb5131e0a173746fa18a15b8e7837996 +IV = 65104840d0c60522cb60db07 +PT = 32da036e7791a463d7c709621b9bcd3b +AAD = 99793651ce37e4c6bab2dda39abf4daea77ec5b614c5f76379c127ec14a3928be47e666bdf5efdfa815ab9b7fdda442a22b814bc2571fb19ceecc4ab2edf2ea175b038a614ac919005c9717760dfd51e47e906f0e4b59f5156bd +CT = 68d9355502c247e86699b3dc970aa8b3 +Tag = 4a5afc1c473c695cdfbc986a4208 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 721650a90c883f594620dbbe757b7be1 +IV = b9f4d10deb5f0d47985363f5 +PT = 6c41cdb0fe5682554c9e500bb288ff5a +AAD = 9ca1de950eb2a50167918632021583fd6f4c96785484697f51ac6ccabdb010553fa063e0378a04d3d686d571e22fd69583a15cb6bfec0b15de16d7a705e5124bdc1b7c57d66fe9352c60345eaea22e3ec9ee44f4aedd35007cf2 +CT = 935b347caa07d8b6a2c838bd3bff6252 +Tag = 408f7a09caf7f45ae4ba531e05 + +Count = 1 +Key = 925f3e02ded758fb7abb1a33a66991d9 +IV = b28fe14151200e206cbf4ffa +PT = 0f6b3a0e7277e1c4098de6d4f59ff83d +AAD = e40cd55fd49ccf609e6c4f923090ba194a26a0b52cfe7cc26380c33e45fded06ceb082be60d78665f247ac2620b59571e92e6cef8d47b9effb8f7c847b08e3505432972febea96291258314408b34d22acde2f059890e4712591 +CT = c9777746ed1a0a95c8dbda3c1845f4b7 +Tag = 3a66c8492ec8a32150520475bd + +Count = 2 +Key = 20cdd432e7556506675d7870e6dfdab9 +IV = 3bb7925ef6915a6e06e84bba +PT = 9387dcc590e523891551ce4e8043d9e3 +AAD = b2360ea7e11eeedf50544dfe68fd5d89d450316218344498d4e461f269a313059459f2ac8c464d750aefdaae0676450cf127e5f0000b8befbdd2f656442aba47d9f2962a06b525701d022d4181dd31d8ea7d38fa75de40fa4164 +CT = d2655cbb22df4e6ac6fa58ce3364321b +Tag = 999e786ee8964627f0898d3a3c + +Count = 3 +Key = caa7bd4b0fb3c1b49d2847d3ae7b8bae +IV = 9a965a5cd4e528448f6b0b1e +PT = 344f1b3d75e4526799c893ab03438dea +AAD = fae984488ca720644fc2dffbb49f6732975e66b8d3fef5ab258a6592bcb996ce8608abeb0fd9f32f9b7017198ed65b4ead6ee9a04934003e04d6f8d964cb5703275c7b0ff8f7bb2a3c6e9187391efab979241a193b41972b0928 +CT = ef374cacb497057d040ae1141aa59e43 +Tag = 3d21b75dadc3c2d690dfcfff03 + +Count = 4 +Key = ede1f71f401e200181bf84eeeb42dd80 +IV = 849df19a90a1c104a5a79ba2 +PT = 2d45776277a5c9e03282ecb09e9e8bf5 +AAD = 40c5134c3ebf017504df74d0b385a645cde2e012ddd48b4acdc8773fd9e72b1b8e78623729cbac2b2fee4b6387c659598e8d06b0a273bf7ab8e260fa6fdc395182517fd9cd4437594444b0b7a7d687af746cb39a48f83b846303 +CT = ed794167a9fbca1388696da783e8f5d4 +Tag = 3597c3917b6f2c1e551ddbae84 + +Count = 5 +Key = 6fd36d5ba98aed9178a34bac63986f89 +IV = 9ca6de5ee76dcbea5cab7158 +PT = 2eef86b8a915bdd2564b8171ae2208ca +AAD = 65157905af4d2da339805562a8912fc6e8a832cbdb8ef0c1855121acfbbcadaf185e4ee639a2d4df42fd849568f7a4131868e3523994c5088401fe40fce37d57c6d628f27a19dcc0e9c49975f90550e9587f63240a2e8ac0f26d +CT = af2b9e9ea3985df1c50ae5f088b69eea +Tag = 83da51a03421062757054abba9 + +Count = 6 +Key = 6a3c3267c35dc831ca08b6cb62ffb3cc +IV = 269503620a021d28809e5178 +PT = 9865a083bf8bcd602d4fd730d3a38377 +AAD = 082c10249de810e2f845c7542dd40f1b2433ee079c6ff05f04ea4d643599962f029c9172b6abc0c12bb73db890302f86aaffa9c4bafe20ac68f2196bee808e85a1a91ad1f33c5e02c902f1a70a67c8fe5a85547cd9c7ae783b7b +CT = 859403f01f9612f8d79eb76d3806e0a1 +Tag = f070f00accb208fe8b9635516b + +Count = 7 +Key = b3644282d2779683449b07515e8617ec +IV = a199a0e496c5b90580b66cec +PT = 74f67b189d6986d3fb53b4b252178c32 +AAD = f850c4e12aaa3d4e3c65cc8218b1fe0176d09baa57f321ef749ffeb8a977366e555fbf68e1143d5c6bea48317f4235b90a3b62b685589f038f90553e6c1776c03452ed864877dc1a75d7821a1fd484684aca2f4d048a0e8f5e57 +CT = e536d8d0578b880b4b8d7013240ab342 +Tag = b00a7c933f4268450f98e37747 + +Count = 8 +Key = 47f2c8988115bdca40fef9c284182b64 +IV = 67d642291519e222ceec8733 +PT = d62f727e9d66080c82c94c3cc4df665a +AAD = bde053b86c0e1f4449b21ef52813ca8e0465a317156ece4b2390576d336b7a1fd31d7cfde2fcd5624725f26326b36242c3fc4a2a2b99bbf499b93d3f03984fb7db41a93dc187ecfa87b82152dc3efdf0d5bf885eb759845dca4b +CT = 7fb3e5ddf390fb6750948c2a9b46b6fa +Tag = f2e4e866e8f68b10ef0d35cc0d + +Count = 9 +Key = 059d41861ef7da32227bb9b06f59aaa5 +IV = b0e753145d9a340d982f94be +PT = f7e0f558d303e93d3c0661fb283331f4 +AAD = 9b21bb1a58bede82c9ff926da11f04ae39430dd7cfde6b008840b65bc1c627403af3adaa94624c6a4d2d6ca03d7575249d18d904334599af021782771c9a3b2a84f1d60bb7adc410c4233e33a231fa4289de0fe571b61e4d77c2 +CT = 6b30261ae2ecf1348926087633441318 +Tag = 2b18af99865af220ebdd64ae9f + +Count = 10 +Key = f6c96303653dd2ee59377c8aa293be8c +IV = 8e1c13d9fcad46c53d18b7a3 +PT = a16419527ba3dd244d594f1d5a880238 +AAD = 29c2607cae0585bac6299b4a5e3a5e58da79468de11b3d8808b31543c0ea5554e07a875711e94b33a9ef97c1c4b3a61f79ea5c6b1f3ed6201085835d5495600061d12eded05f954f531fd993e5cedccf0874b2c2967753986914 +CT = e1aa484fd10ec804842bbf717cb79290 +Tag = e574a22beb8efe7d0a01934c42 + +Count = 11 +Key = 73a498e8912845ee02765a45f3e450d9 +IV = dd51ecdefc222f3c76cedb81 +PT = d4aa617cdf875bbc8bb9e28912c208eb +AAD = ac486a94ad6a880553511600002973a9975e1a8812ccde7cf1ce4d94d8ffdc7a4e8ac8804f6be3b537ff8d1d3e91c5bb207ce5cc2759c407ee7c8fdca16228ab36131769a4b789f07ab41946496c55b236b498d9091dc352092c +CT = 2cf50ed90bbd999212bcffbc7378b923 +Tag = 25415e95d8d9fe4fcce0d84afd + +Count = 12 +Key = a395f6edc453f6502c79d7b95806df1b +IV = 29c96d4d5ac1a6f9372db6d0 +PT = d35992d10e3da70870a98873a4db466d +AAD = aac11550d2f1f3228e85dc4405ffbec339a43c89c329d125396cece5941de609ae684878614b801bbf4a559271b296dba96242930661183816663f4674fb1980128cdadc30893edcc1863abf950d0137fd96a86df8cd8f7891de +CT = 037007f6bed130ce5347339252352d19 +Tag = 2159719a1e9d2a2ece6e8c1694 + +Count = 13 +Key = 311de668bd89530f130be7b8e7dd553e +IV = 0022c581ceb85c247372a5ec +PT = 1f93fcaabc6f982dafa23ad5e1254574 +AAD = 84583a10a472d68122bd0fdf03036150c6e45056c17ced732e40d6965deb3823a936115eb5dff9ca3ca2e2787c47baba74c5f8d8b781f032d949e4fa3c8e89728973ea6e0a4137d296595d886950726cf292c52e9f2a7fabb339 +CT = 09fc88e01fede08845defbcd2234bfd1 +Tag = ac75cb9924aad536afc92d9c59 + +Count = 14 +Key = a5d4b5a54ac98c5ba943eafcc019a509 +IV = 06f1d1dfb83d4133050900b4 +PT = 683903774612229db9ca16fe1e7a663f +AAD = e36f2ac35447aff7a8fc9a7c03ab222bc5ea8946d96d5a9a0f09c9ddf5a8d45c5aa6286eec47628325d76f0a49b18ffa96d62be3d91cf5c9f6f5bd5b93e0a2902f4caf6bf7fd3e8d0ed11196332caad243047dbaa61f7e062dfd +CT = 2ab612890a9ac921ef0f86e8e8602337 +Tag = 4573d7b742941f3a0c544bb632 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 6eb218a824c247d6f6b46513910c1ef6 +IV = 2e05f3e91e9859187becbc61 +PT = 2879cb688023c90643b2731e5325f092 +AAD = 61bd8e1ea9483b688ca3d7351c73667e63937a6025d976d4f8145373e702a8c77d198cd0faae516c940cf3703deef5eec6cadb913acea5e9d8b8b6071dd81c78cda11498d7c7a3f69e58453464920deb3d7353e0f72492576202 +CT = f743864b8438ecf74498395cd5ce25ae +Tag = 549d3804f614aff3075f7a3c + +Count = 1 +Key = 003d9f71abbca1751d716e0fd1010f72 +IV = f6c6e2cdebf8929d0b5ca45a +PT = 2cb90550a6a84fb9efa56cb7b9485e6d +AAD = bfcd2be31a51a8978124b3c89f7297213edf861cf0d8676cd94499ced7a04dcd6122aacc6203406d090a7fc23376b1d33d62ed586ddb8ba92d19eeb2de63203fae074a3108e5e0a5694f8baae1469b1bf8f1db248500f65862af +CT = a70466ea66a67273b8a06542f135b6b5 +Tag = 57d0c0a56a404b3d0d69f6a7 + +Count = 2 +Key = f73e96da21b356e422fa9840d0bb983f +IV = 79dc4934cb479c32d94f2182 +PT = 310f0bc476c3154b3a8d254446f2e2ac +AAD = 9231caa853ae06f9563d5c09723e89b4d6efbc455e5c0cd7a0215d7f4a8a40b3d26dd8e1d821969dbda365e28ccb9550307c37ad7b490327a93658a7d654aed5799c52561e38d46e0492fcd04a1e7aa65019ceeaf808c7166725 +CT = 3b7fc6c54f85d2df0421e5e7bcd3ae23 +Tag = 15e495d668516eeaf31cea73 + +Count = 3 +Key = f959f9f06ec6c9c8853c0c66e863c903 +IV = 2be4c7e833f55918d45b1fb2 +PT = 1bf6701f77b597bd5245e7f5b632f94e +AAD = aeabfba6f64821ff36883ba3631dc76de0667363eeee2fbae6b9adea4fc35d68686faab31de4bcfae450606602560db77fb3cd3bbf998165532b23f2f8723f7eafb8eea65f87bfeaa6e68bf80b3759caeb6db9d886225ef05b56 +CT = 6ecb8c4a3521e5d02fd1a2cffb3101a5 +Tag = 7605d0cefab41a76b92d93e8 + +Count = 4 +Key = 201c0fc2f92b00446abcd999b9636dbb +IV = 58fed637ecf453d130322a3f +PT = 58c449f35258ac0e76fcb9bc09a16c05 +AAD = 6ef29b997c6e6372dc5d63636ce295ea7de1413fdf04fd0c9b521004fe5ce192d0be80b6ec7651688a551511ca286a364a5685bcddfe59f5107eb01d5ee2632ed2d51521bba8bfd8922401322466b8e073ef5acaf2aa4ca3c6ef +CT = 25fb6513a5fd3fdf911625f4a03218dd +Tag = ca972af7b42d7f189f3d796d + +Count = 5 +Key = 273f86aa300228086d94506c3dc23856 +IV = fe38f46ba17a11cde058e378 +PT = 095ab13f0215e4e9d290ab291696a6ba +AAD = e824aacc12b374ffaad5d0935465c2f414d6a7895a79d62fe62968a87d3a7255ae9af11669c4c341aecc581daea3e4caf7d14af953d11d5a780e2c0c0215bbe5705fad6034f433de023c9d1388f34e668602e5cbb0cea8f20815 +CT = 027c01d52bef52909bfeff8dd4534f3a +Tag = baf1dc84361e321d67d37597 + +Count = 6 +Key = 5f08f555fb3b979b35aff30cf9e7cfc4 +IV = 8b2abd10c052d846bb4ad6f2 +PT = f73e295062d7ccef4df7584a8e1203cf +AAD = 9cc5465d1517dbe35f3462840b2c598f6af485bef500535daff78fd4f95b422a92ca867263ce4b49d34f98951cef0e02ed9a33e1df266f2616a42aee61f3a39e6f508a9809c87a509e082fa02937bc484c106fdcb83803ec6f34 +CT = 203c6727b7fa27b4bbbe8b75173554c3 +Tag = 59d1c2b015d307a5c6668c02 + +Count = 7 +Key = f8b3a86a53c6268945de0e54500dde92 +IV = 901d248632c96331acd2b688 +PT = 3713e6b1f627cec52dd3e750ae4325fc +AAD = 1f77655291b04a9d6a89cc40cfd9c90defa09565edac7dc362a6fa96ebd93a7ded923c2f354c849994ae18b272a3243fa600969f9c64cd7b84cef0c793db5f0eb7efb74a5f91efad3d97412b4ba4849a5b3a1387f4675ec2fe68 +CT = 296a79497aa5a2d70e6b09e21d3b477d +Tag = 5edb12776f7bdea975d3379d + +Count = 8 +Key = 2cd0caf924337aa65707587790e317b0 +IV = b190aca72dca879071d2f5c6 +PT = c7d8b1fe1faa92876a13a4950b3d6fa4 +AAD = 33ec442a057857983c9c18975d206c4c2e8512c8128016b2dd6f2f884f298d70bf4edefcac6fb31621893e17c3d2ea27f006869d03180af6f71a278012b161055cfef7e29c8c743094cc9897e5fb22422b6a8707f055c4b274d2 +CT = 6f928b68ba4078d15cff16d510c99d70 +Tag = 5d79fb046004057c2bec47ee + +Count = 9 +Key = e2c5fc02daa10e6c74724c4dec1679df +IV = 3531fa03881a184ee75cc813 +PT = 33d8773e32f196abc2399fcbf7deb394 +AAD = c7785b6ca13c2b61384d6b8d5983063d99a0db2f779c44daab662d7af77461bf76a91d7451b2c6cfdacbf66de7373d4812e9a8f3d13d8dfc8f3efebbe43db17fadbcbe68f874b3cc42787c4e4aca94f97fa6682a6129f94e8de2 +CT = 1e11137a4ccd439f288391524fc4121d +Tag = bba71cea57c37ec00eb01b6e + +Count = 10 +Key = 43e7d66545dea7385aff7bfa08e441d6 +IV = 6ed275898e49ffebac2799db +PT = 26dea1f5db78da5f92f5b0013671f0cb +AAD = bb1061f325321cdb313a53c59410afb30d10febe752bae2b36cd02f01bb671c514331cadddad2aee9429b976d5f3910c39a5cf22249e2ffdae5bc9625438a4c2800596d8b0327480ccee5cdbcfe7602a5925264eb6c7ca9d7267 +CT = 1fbee6991e7e38f1cf394777a6cfb331 +Tag = 38b05aebcae2748e7a380297 + +Count = 11 +Key = 0442e8f8de64df758b7213310e769273 +IV = 2c22cd6d0246cc23d903b5de +PT = 6fe8af3eec865b398b29cf54e27d5cd8 +AAD = b2b98f932be92ca1676741b44d4416020d6afcfb205ad34019d821bbb4106a4f741d56ea5c4b726d60973441a47842ffba7708d958662508a83b75d0e0b7afa034490a7e947593e87e3b3c53e1b6d6093868c6ca7f1aeb34e75f +CT = ff7ee9470cea598735c77a8acf025c96 +Tag = 8bdea16acddbf8c11caac4f2 + +Count = 12 +Key = ea2f91f81d5d5b0dec4a120d5636c8a2 +IV = 6f0af7304970fe3f97df99b1 +PT = ff26c71ad0c653ad88bbdf7752b1c9c6 +AAD = 65f2a3e5d471fd183a7463d05e368760c289ef3a9dcfa2cc6497d918171d8955df8a013e752b35b7267a43c262199321d8c17cc631c7347dbf6c64d8b7474f6fede728cc0d93aa14a0220fc51a966f1862873fcb3bdffb809086 +CT = c8030222f77b3bbc963b7d379363ee76 +Tag = 396d95cf898409aaeba067b3 + +Count = 13 +Key = ed71596bcf89bbb63226732082777f71 +IV = c51fcd5f344762b33e6df848 +PT = 3f93079910c2582a27fafe3f76f63759 +AAD = 9b5e55db77aa95238714d587641ca075e51580558898554d6aa951999bb9038764b36cd9fbe898af334abd0229b7b9cbd1906e212408534576f1531d6e9f541bb896e11ba3661b6ee19a7a9a62aadbe1e9b3409d3428250d9b2e +CT = 41652ff5f7eb8e03d33375c48fb2d9e1 +Tag = 05d5b69ff92c94ba2b46238b + +Count = 14 +Key = 2375ca0ac21a4f9a87e83cbe055b70c2 +IV = cf940228a0d1e07fcdf32489 +PT = 928135b38e4b54c221e00dc53a3d4e4e +AAD = 9b3142da16128f01e14bc53d5cd53cc2bec4f4e48b48c5daa0e9036a5131f6d3d63967116df67e7b1e0ba1f8dcf12463e1e3ba2ff6a75ac803ba006ca346c732c89a5bbf0f73e9f41a338528f83a9b0032e1975c570587fedd16 +CT = 1a25fb304b02169592f5bf1afed50cc4 +Tag = 3a0f0d5d9766af2b4a4dfc29 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 0cbd055597abb14bd88470cb8c829b95 +IV = 5d45ce2fe7818efb884b109e +PT = a5ed9ecd416e546b393d682907ebfea0 +AAD = 5c3230fb8f8ca4467d73574ed8501cd2f97f62f611f1692161321c3ac793fb9e98e993bb187c4452469057aaf7ae1ed880ff84fd03390c4ae4b75aced0693ed13625db910e96d940c23ad912d387f89ebef42a0d762a4b7d3fa8 +CT = a05017dc1015bc7a510283900973f59f +Tag = b434504ae5ac7735 + +Count = 1 +Key = 88549f9ef892af25276ad1df6b8bb6c7 +IV = 2e245832093417a23ca0ac34 +PT = 39ac195d65b5c2ea6a99dc20b72aa10b +AAD = e5a265c75782eb93538ca0233b209a0111987d2f8cc217651fb4324303e3f5db3a0ca673b0b718338515f3a6c673777efc4eee9abc9a31d6e5c79196dcd34b9ca5290c92f16b8e15adebd68201076dc7c22831a5e0785e5572da +CT = 4231bc02ebc3869262296639f7025114 +Tag = bb90b747567b0345 + +Count = 2 +Key = 55c8c912b3ac669ee2d32e7def488a8b +IV = 85b36e3820952a9da8c26168 +PT = 0aa273d8fe8048f388f7f0de02767c7a +AAD = afedaab6cdef14221af7bc04016a74a8a84beaddd846d3c71cba3faf6d16647113b76e7526f6560252c5636dc10c6929d69f0a070edee1c1b40e6edef7cfe93332253ed4476c53d411c98fd566c895e08e17245bf4481ef57beb +CT = 61ed16e15e457237d920fc84db1faafe +Tag = 2756193e5abaed9b + +Count = 3 +Key = 3a6cc1019c4b1bb28e2a442774911349 +IV = 011bf15fd9d7339da6338b2f +PT = 55220ed21d0d3e18718128bbe811f864 +AAD = 611f068ea7ad1846cd8f928b4a0ad7f5b9763e03594ebe1f215fca1b58b1e761ad7de0cac9efd772f01f471d0a0b6f0646f1735c971266f9e0003121c61eb6b596fb2cd5704fb313d5028f5f59d58b39178a47ba50902b853904 +CT = 5e17785fe493eb1c1a7289484bb83cd9 +Tag = 7a534cb1de53f093 + +Count = 4 +Key = 96ebe54f6c68f2abcdbe031aba8c7195 +IV = 53b7cb9e0129b6a96976fb73 +PT = 7f1c6b727c8280e57c650711b1b357bd +AAD = 3faaa2f808721036a6833e48b8d37bdcf15266fc9c10a802b8459f1f9ec4faa53aaee466201c6110eb7ae0dea8ea89d050394f6fcc39119fe087abf075462e2c88a6d7a5ed52b79c50edcee201a776fee8f6d165d4c014e146b6 +CT = 760eed09b65f4b8b5dcd2c914b2a6a5d +Tag = 62e8d1bf2901f5b4 + +Count = 5 +Key = 70bc42c00da97dd80365607657fe38b2 +IV = 159b484b0f4f325cf9b7d9ba +PT = a65f92c36459169a0aa95e6360410e02 +AAD = 9e9197732fd4350a7398540d3937cc78ea108cd47a7f654beb6ae62d756eb1f0d1d73b844d82b815bf1fbd16be91de4ca0ecaefe8d9d9c00d2a9ad241a1da24bbb1f0ebde64660c1792e5ba1a195beb0b1e5cad34df49d0e0c0e +CT = b9b7e3380c8fdcc301658f03c6c0566b +Tag = 5dfdf28d5635e9fa + +Count = 6 +Key = a3f502aacdc1a622c129a29c6969ff41 +IV = 5abe7251da5df19c7ebb835e +PT = 6ca5dd87cc0f10e43f778c26d2092782 +AAD = d46dafdbe81ef8125fbba762f37958f6301e27a22d00263a9ceda97655bdea9ed140865eeb17bdbe77abccbc7587062fc1b0b310a790098068aa6abe18e9c0f5b41c1502ad7e18f25d47b90b7e854a092862d3ec072bb84e3cc9 +CT = 79d40570be0f5574ec842a9bb130708b +Tag = 3147bd70732d3442 + +Count = 7 +Key = 26d0e6e6df3931afd50a94641b40caaa +IV = fef4e403dd52be1f2fc1f25c +PT = e7bd1ee94b2ea92cd3b6d088084ae8cd +AAD = 6bfddf8f38234f38de30ab2438bdc1c61c88f86420b0ce93f485461e8379f849b4e2dc2d5efedd65e545b136995ec61946001955d37389e4ad8203aec571c434b7b9e010642dff61c1543966343c8b7c4d1b1af1e4afef1a84f9 +CT = 4eb76cece2af4aa53700fac52a3b4ec2 +Tag = 249281e16217d6eb + +Count = 8 +Key = 4333a2de6fcb9f4b366e4cd191d42421 +IV = c7d3b61749b41c1e18fc470a +PT = b477dba14000a3977eb87b972815fc1e +AAD = ca88c8881e2df51efa04722616c8e15cc247019d9bd33707ff443e4483d35c58e9f91b7fab997d33a18897e9d032a8a21ca51e0e8d6c797cdf1974feeab7d8cc55430f79ede86811550b2dacb0625faa5b4f5cffa10d10f92cc2 +CT = d7427c67fa97cbf0ac7a1befd96c850a +Tag = c673795bdd3b9186 + +Count = 9 +Key = 50c494eaf689645a90e74df9652db720 +IV = 042f7195b0dd55555e6c1b88 +PT = 30dc3c1a3c25a064e3aa75bdd3ade91c +AAD = 8ad38ac7d1a82a3376506371aeae27e12514841061b3fe7c93fcf177ca69a03f925b2a8ee749912800ccf142fb22147c88801bacdcbf56d822092d1a8e8797971f71290488a11e13fa26fcbdda885f0bbdf06258a4cf499c69db +CT = d8e569da2f4ca70f202994520929613a +Tag = e5679d4c6e59b6ca + +Count = 10 +Key = 268260671ad5cf31425a06b49a6c3a7a +IV = c6c0ca8d3afacdd8f9c7bf18 +PT = d02354679fb598145867340f97581fb2 +AAD = 3e169c6d2e7767fd95901b1c73848a014f9735c31bf408ff340ec877381fa7a9a1f5dd0d8f381267e413a27abd69c3fa11c65c18fac38ebf618782a068b9c931786b9e033928aa0e7daf966374edec2474cdedfeb84ee1de3987 +CT = 2832675a9c0e431b1fb8db1877233494 +Tag = ec5838f0d3647f0f + +Count = 11 +Key = 4291ac561e58f2ace7248c864f9f3f42 +IV = 919447303a116ad86f6bb6c4 +PT = 9234574b0207a6964902f72e7618bc2c +AAD = 73ec96775a581faf838ec290da3b5b7b841eddf58d3ef059a493b3506e7213586d38b27f766cfd3286252a2d2509b8f2891f8a1414cb6c4803c15f4bae1f289ecf27de2fd84ee464ac649c5af24739b31e3f388de7b535feeef7 +CT = 0933aed4c52c6478f4a3760e18350108 +Tag = 35ec130a24eeee41 + +Count = 12 +Key = c9b6615c3ec1b06a87f853fb91de52be +IV = baf3353b4ad96d2816d21929 +PT = 51cc06e412d467348b522f65fe1efcef +AAD = 989cf3de9ac4eccecdb8d9980ee416cc8546bd903661d4f0f6a86ac7b0dd0ce38dcbe61d41b0e0c4d607680a21a103d41525312499000bcb2271d4647c64da83a49a04a8fe16c5bb20a7035d992701cb02d076e5f78f6e098869 +CT = 379bf3d4350d68f5e595fb5622168b69 +Tag = ba8564404e902a9d + +Count = 13 +Key = 24f27ce6d05f9ec3f307f67e47686140 +IV = 92ce55491c67f98904eaba7a +PT = b35de55d509c833a39d5e05c3fa1c42a +AAD = 82205bc8b8b208e421c95864a7a1c8089c3ccb0454fabe4d03bf9d9192eb5f02e67061b3b261ff0abfd6811c9aef0608cbaa10f223342813820cef3e20574c7e07ed561b8e8f941d98f113593afa6bb1b74cce2e420c19e24d0e +CT = a81fc8fb08a477a0f45936b995559b6c +Tag = 8ee8db648d48394d + +Count = 14 +Key = c1c42e771cb07b659ac720e1268cad25 +IV = ff714cb097bace817366e269 +PT = 421428f98e3dc98bf162aa602ec01faf +AAD = f895320e31c7571375f1ad96b004e061057524e758d0bc2f19f31b6fb1d58992a884919d7fffc6fb4dc284fa247701ec4156a581acb01985f3029309693894571424e966da9579914022074208f2e2a2e9a5890bdc68d04eca1e +CT = 289cd47a235faf830193eaa856330f42 +Tag = c48498ad16b595c0 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = a7508078717b11f06c876ea8f8d78f7b +IV = e570bfd3bf034c20583190f5 +PT = ebe0519af8f154eb778c59aefe00e65f +AAD = 523a4475f9fb83670dd087f3459c2396aa9b833f93770a686ada376619ffa8b5a028d95e1b6098c5ac9931df4d9207ba2a509432a5509d7d385ce96b94a3c005b2432bb0e57e18be45833ed60ad9eefce15ee2974121f2188053 +CT = 3de746ff0795a1c7ae63581372a3816d +Tag = dd431451 + +Count = 1 +Key = 875f010cc9f9595800183473ece0509e +IV = bcb5a0531c3130d67f10e446 +PT = 8932686e72a9c32f03c1a1c96659e1ac +AAD = 4fefabe190ecdf950be508f2c2919707f4f26f5c869c8278679fab07da6528b5fb424a2e9ac311ad449fd9dbb0194f09d1e3bb4c47b8a3658c998165d1133b25fe0449796b0e4f43ca8ffe405b0529b2ba17f80d72f7ac1cc216 +CT = 3b448034ffcdeee93017aa570afd1d36 +Tag = 4e0ef32e + +Count = 2 +Key = 21bcf3667b2f022a6063d14522e9a89b +IV = f22ef9acc3b439c07bf481d2 +PT = 3ab5b989cf426a9d596ea3da028c129c +AAD = 0abbf5f885b58150cdf1231b0462e2182b6a218fd4bc76970b113ce1ca3d474ae57e97a59956ddcd6368c8c4d6dea131258429d81ff5fe1ac67f0335eeec341b37d45ce091bff2ac7f9f8cd12b1bb94f26b97a810113f3eed531 +CT = ee7aca4e1ebb7ac97cf4bb829bb94913 +Tag = 52926ea9 + +Count = 3 +Key = e54f59ff550d14a71666407d971e1fd3 +IV = f2ccfd4610377bf5ae3b96a1 +PT = 4a6542a1c99b081052548b836c6691d0 +AAD = 7aa5c8ca96bf2282e5c65ea1fad15510de1801b83422c5738514d40bb3bf88cbcfc0a6ee9dc214ffb0bccf79d49bc9b3d08e81042106ef41df92b4cd924efbdc7f7c5444db3d5fe34c84e29f37f046b243d84a593e15fb995f00 +CT = 7cbdb7b717f6de2113de55fbbf593e77 +Tag = c6289bd7 + +Count = 4 +Key = 7eefdd65ccf735236a8dd7f462a53b00 +IV = d9fad78305e5aeafd408989c +PT = 92ef486d91c531da5f72688522e79ea3 +AAD = b473c56144ba951275e1acc1976ea81a3c055149ecf9513b17650701f1fc4e2824785dd73c79f7e294714f24b5403d39669952fdf3abceb8059f2a46ce90eed06ea8436844dbf70b754ff0cc8cb854a21564ebd925138686c2e9 +CT = 569c5257b0dbe0e81e8c259dbf412a8f +Tag = ba1d8492 + +Count = 5 +Key = 3ab096c97a1ecaa0e4d9d95c0c0f9c7a +IV = 3fc00503da12be6c3bb9d3e4 +PT = a060111225f1f604c61692885d88979d +AAD = a848c8eac052d8b7ad93e61df3234bfa33f46ccafb36726bdde32618f10e38e2792c3ab55db90c1a6d863f3186dceba8389137cf598ffcbed38b07de1d2254bc278f147f268dfe95cea928e11983a7e18b5494857938439ec231 +CT = 753b1cf068d863ad914fdea9ebad5184 +Tag = 5b7ad4af + +Count = 6 +Key = b619981113d2391f948aee29180063b4 +IV = 5045bfa98b99779fd328a7d2 +PT = d904e8662502c80363eac91708b9eaf6 +AAD = f9e1ed0db2a5e8f1eb07a896a95f8e1120fb464b03ef348bcf533359dd952ae220f1408fa67a673893fa981077da5db52a0d3f60f73873b3efa17a8406ec98ae449b159ee9349ab10f8ab168429258d48524c936871afc2a3854 +CT = b04d1fc88f4d0c9b9b7cb9d4a98add4d +Tag = ed7c0b54 + +Count = 7 +Key = 047b402a3a390da978ab54f435ef6603 +IV = 4b449fab34656b5bccf3be95 +PT = 2b86feb6f49fbbbbf283b42a485fb4c0 +AAD = 0409246561115f2dc8961123c7076f82a856a12e4dccf3e0bf2182e2daaaf89580edd6099500438d8f04ee96d4daef739982735e8e6b866f432ce2947139875aca9272e8ff8f5002e463a3cbe13351693da282b990d5c9498ffa +CT = 309400d10893ad588e33399af9024199 +Tag = 5d5a56dd + +Count = 8 +Key = 05fb1916ef9b4c07fda03088ce3f8d18 +IV = 997e8e8f297d13821646a349 +PT = 574d7c65af02ff26a2b801fec3171119 +AAD = 271f50d10d44a47ad91c766d71561949645dfadc76a67edcdc1b0699b231bc36a94a53519e3904152620020ad82ebae9188e64b4bc7ca8577e13bda31e200fd3c8e40861328bb6eef03ac98fee4a8db869f37f62815a0557d9d9 +CT = cf93d144f291ad3728deb26846acb443 +Tag = b512ec24 + +Count = 9 +Key = 4982bf78cbff6a05285d997940917a5d +IV = a565fd485ec74d10576444d7 +PT = 33abca92b24542392bac7a4f13fefb42 +AAD = b92a95915baf8ecdbde4b0a4e47d217555ed5a79ecd1fe937891ab7f18c4ccdfa5faf1fafd0a654522996de9a8347266676d6f85652fcad8704f844c5aebca8356248fae20254643f3027928ac614a904ab80a9077c9a94e016c +CT = 32352df933b7e733ceab20743190b359 +Tag = 0699a22d + +Count = 10 +Key = ef053fb0ed59c89f5046dd93aed19f68 +IV = 5dbbf33d12f622158ddd7d5a +PT = 19d01e038bb6bddb23c097c1ed2d89ba +AAD = 5565365e481cea7e6209e9dc5835f404f0938d0119b7b56cfd98a8fdf33f4d15775067d5087346b583a29e76c973157737367e1655d6e36b747776478a294c453cba3b613979165c7fdb2a07e1b2dae6f035b5f95b8119ec9f9e +CT = aa1504b4fa0c32bdd8523fa4a7e41a64 +Tag = ccffe11d + +Count = 11 +Key = 38b1e1ee188a3901c2ab84f742666ed8 +IV = f1ba1b61380844e3faf5c60f +PT = 807dc8787659fefa4acbda78d3471033 +AAD = 1936bc3dcd12674d9bd4e498aa65002d30329134e89fa528f8ba241a42ba6ecf593961dcba4d3b0b291dad1eef28de678812fa126313a4ee1313d32e453ab6f6bf0e73a613f71f7eca8646114e5b659d16dc442f80ed3db20ee8 +CT = 2a92b0c1f2c07893c9070458a664a714 +Tag = b91dd8eb + +Count = 12 +Key = 1c9b494930cfb34f6130665e82ba16cf +IV = 9ef53cc5a21f94b368d6faee +PT = f42eecac7ce459426d3d752fa176ac2f +AAD = 096656947ad4278ea4569b8d2d68d4216b391ff13700985d0e25c3cf1c0b9d374abcac549babb56cbdee6a6b9afc9eab2ce5172ba7015a8f7c580ca6b01ada921fca5010055de63606ac194d453356d512c48645184dc60ce53f +CT = 799dab08fae96fef162abed491b98d08 +Tag = 70de6596 + +Count = 13 +Key = 019ffe8d94aced0ebd5427b0dd20b354 +IV = 5eb168fe02d6dac589a3be38 +PT = de1361a6c17203b1cb03a87663b1dc40 +AAD = c337d7a9f69666b80c2d06c0feed3e4dc9bf0a0865f3ba3d0c81d111a5501db9e9a3526dc8e7af7c0da418104889297201428c475b6b254ea4d24e25c433950aa121676a13adf09d008a37bfa64c2142f8ffbcfe4d0305e2f794 +CT = 98e4ce47844c423ea06535491f800ac6 +Tag = 41987bdb + +Count = 14 +Key = 8203a8b72c13729029e1a192a7fbd7bc +IV = 733efb0adca5ecacc6a87d3f +PT = b65a0e247b55c45342a9b14c996bf4cd +AAD = 81037d72b92cb3ed05ecbb12f9b9e736daf9fc7f2f0e94494ce8d7a6f106e19287753732030cfc79b0bd5b31de37482ef39545fc07f4471c17e478568e282124e9b9052c27ee93112ff0310ab1e503096859e80651f149d2ce08 +CT = 803bfc01903557f503f2a2a92386caa8 +Tag = e35451ba + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = fe9bb47deb3a61e423c2231841cfd1fb +IV = 4d328eb776f500a2f7fb47aa +PT = f1cc3818e421876bb6b8bbd6c9 +AAD = +CT = b88c5c1977b35b517b0aeae967 +Tag = 43fd4727fe5cdb4b5b42818dea7ef8c9 + +Count = 1 +Key = 6703df3701a7f54911ca72e24dca046a +IV = 12823ab601c350ea4bc2488c +PT = 793cd125b0b84a043e3ac67717 +AAD = +CT = b2051c80014f42f08735a7b0cd +Tag = 38e6bcd29962e5f2c13626b85a877101 + +Count = 2 +Key = 5bd7362f38bafd33ff4068860eb35c27 +IV = 6064368166c48633b090cb9a +PT = 634852a6b68543ead889aa19ef +AAD = +CT = 3a44f911376c371e6d597539d3 +Tag = 452b67e9d36a9ec5a893272b4d2f2103 + +Count = 3 +Key = 2591360228dd945aae8fba95dc2725c5 +IV = 2adabc15c16e5c5954c8ab01 +PT = c580b051600dd902b273e26677 +AAD = +CT = 9ac66aa93d7547bc0a45baf5ac +Tag = a609413c9c13817287f39cfcf4da2e6e + +Count = 4 +Key = 3c85f64e35953f2caded63f987592611 +IV = 7ad13cb40e21ee633251968f +PT = 7bddb4037c2be00f4ef6f85ccd +AAD = +CT = 9c2030e3e19e490c309610d889 +Tag = b0e4080a8dae54a6770f4e21d5324e90 + +Count = 5 +Key = 7b8d32382d29c00198f1d41fc6b52b8c +IV = bd65d7281a9a6aa9fc268f61 +PT = 10f27dabb9c9e9facbd21b13cd +AAD = +CT = 707efbd54aabbecc22ee6b5304 +Tag = ca35f5dea869508653ce556c9c05d32e + +Count = 6 +Key = dd95a8ca25883353aff5c414ad9ac5c0 +IV = be2ed3a4d38fa65cf341e5ee +PT = 5b0c29c8bef219d52932b33041 +AAD = +CT = 4918ace25961fae06dbd891d16 +Tag = ae6f069accfacba61a38323dd65f4c02 + +Count = 7 +Key = 4db01983f6ad9e39385070b810c26c80 +IV = 2342dc3fb660e3925509b6ed +PT = 5cef6c4f05073ae39e05356dc5 +AAD = +CT = 12e41f4373f1e5dcfcf758e2c8 +Tag = 36fe1b8981946fd16cf12ad80f04d59e + +Count = 8 +Key = 8d59f931d4cf8a2683e269008ee86062 +IV = 7ac862a09c3408b667e8cd38 +PT = 2c47413a8256f25677b1de8ef1 +AAD = +CT = 284ff4dfe4255f56b4a56585a7 +Tag = 16c0a4a5826e291d4b3f7ead6892c392 + +Count = 9 +Key = 01c681e2cf1d7c8484c3811201376187 +IV = 56a8f48a3198b977f5064d02 +PT = 37dc0f572c9e51c6fc18642d7f +AAD = +CT = 54922c65023605c1eba146d448 +Tag = dddbf654030e73be0dd6d26b67efd0e6 + +Count = 10 +Key = dae6cfda8979801d9399006797a2366b +IV = 1cb41dac13ffa72e72a405d0 +PT = 9f43ac53d4cec80dd29a902d86 +AAD = +CT = e156a5f0711096cadd489937a7 +Tag = dfa2d2a342b78ac6e7276365f2fa6dc0 + +Count = 11 +Key = 5146ebe3d1fdf166ffa4099b638c5b64 +IV = 10014449817d881328c2b882 +PT = 700af6989527eb16ffab6634d2 +AAD = +CT = 8ab35c288f09084da3c0cbd240 +Tag = eec8232f2907b2e1cb2c940622530d25 + +Count = 12 +Key = cd70f86fc0a1780740fefef5742e4398 +IV = c2abd119f22d310b34f41c5c +PT = 39fb497a2691264f02fcba4887 +AAD = +CT = 01339a3a9119836f6b038a1a50 +Tag = e45a0a12c84ebaaf1885f457507b9a5e + +Count = 13 +Key = 8828454ceefd9004e30ae8a03d71f9d1 +IV = 8d9e3c61aa687a8f2b9ee30a +PT = a94b020f4724178a3f4f9137c5 +AAD = +CT = c4a94f89e03305aa415c7b350c +Tag = 1acc1c75b9fc826af2e950cc7be6cf64 + +Count = 14 +Key = 47982f133cb72342dd642f3475bde634 +IV = 8304304acea2def778f2bf9e +PT = 2c97a5fb6df85153a5c3bf414c +AAD = +CT = 37e0962960edcf0a09a8538cac +Tag = 07459fa438e1f159a6649a8ed6f934b8 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 44d7adbd92bc0127b8affa4bcc28e2b1 +IV = 2665e67e19eacfc7c9935486 +PT = 251e20dcaf91b5cc15d84d50d4 +AAD = +CT = 7a2b46903ed1feac05d6245162 +Tag = 28753d2ffa06bc17f2f6c0d3196618 + +Count = 1 +Key = 8fa3a38846acd855bc952ca60b3eb418 +IV = bdd38bd34fa016fe8cf6d7ac +PT = 1bf15d11e3fb9ee371abd72b19 +AAD = +CT = da09388477b985b4984fdbc37c +Tag = ef0c6d29e6556369040f3f067bb43c + +Count = 2 +Key = 625db9ff3bdbdb4cc585f03ad0d1e809 +IV = 585f9a0f72579adbdb68491e +PT = 672e00e446a05e8199dc696cb7 +AAD = +CT = 120e0eb2c2c13abbd522391e72 +Tag = 9e2b50ee591cd9d3bbdd33e33d9f15 + +Count = 3 +Key = 7a1918242ab529225e3cba6a8b770868 +IV = dc4cad1ffef1e5028c8c9849 +PT = 754c048dfbe6ecad93c27bd1f8 +AAD = +CT = 9002e4e756b5cd988108ef26bc +Tag = 3db783c109471ff04112dd6e002e41 + +Count = 4 +Key = 70c9a29b142b743061f55c4830a11c6d +IV = 9b3430c328a1ae8d62466578 +PT = e0fa340ac7e8793ffff22c4aad +AAD = +CT = fe542550da64c69ef78375070c +Tag = 3231d90b3e75900832133077f31a3e + +Count = 5 +Key = f6d0a532473e445bfeafacd70a2daa19 +IV = 3c80062757c9fd11607b8275 +PT = a752cf6487a986df700c0dccae +AAD = +CT = 3ad0502804421e90b319d03e54 +Tag = 9a066eefb43a11db87dc37cd5560e3 + +Count = 6 +Key = e9aad20243cda9f443dde27ff7d6f48f +IV = 11f1b6a98c619f9544ed2c02 +PT = a3b0cd2262fc52efaaf237a123 +AAD = +CT = 0dd98ec2fbf25b95c6e4f79086 +Tag = e8ef76d8a605c665fabdf3a64a329c + +Count = 7 +Key = c779b5818dc9cb9f546f4b8111500128 +IV = 134092827f02329f79511e0a +PT = 1991b7d4d021b7ed0e3834233a +AAD = +CT = fa7df0b409c9ea4347dfdad9b8 +Tag = d332018900c81915a992945fa3bb43 + +Count = 8 +Key = 72a2507b7e6c777c16f5524fc12f6c95 +IV = bbb0cd8a524719f21c263163 +PT = 3d12091fe00309ec8d0723f1da +AAD = +CT = e3b2fa3cacc2e435f7bc227207 +Tag = 3dbc4b37b017b02411afa3daeabfc5 + +Count = 9 +Key = dad2ccbc5631adfc9be5327a013b5656 +IV = 914d516a39f9e2ccc26a36f9 +PT = 1db5332844441d4f77cf76b153 +AAD = +CT = 375a03462b6898e2ce410700d8 +Tag = b0739bb09240336d7e9329805c3bd4 + +Count = 10 +Key = 8a398e0b0c437466a82511b322f93ade +IV = f9bc140414d83b2f352db6fe +PT = 48068715c83c42a7877b74a00d +AAD = +CT = 4105529fb3f506a5d8d6a43d32 +Tag = d59c167b41435dd5dbc9d916b865ee + +Count = 11 +Key = 6371dff3aabb22292d76f521727df926 +IV = eebd811c1037c1602ba14829 +PT = cc9783409ec9c052625362d1cf +AAD = +CT = 57cf49e0378eb561dfcb9997db +Tag = 58f776af01edc25ae32c9610c18b74 + +Count = 12 +Key = 0f8c661e62eaee0446fbb6d770fd71bc +IV = 44b20abf2de19fddba4ef5b7 +PT = 47be6240148691162c3b55f00d +AAD = +CT = 16ff5161ebe9d5c14db479d92f +Tag = e6ba6767fc48e91b75cfc4ae74e553 + +Count = 13 +Key = b20a83847b104a9dc9afbdb0e1ddbcd7 +IV = aa4f5b0b10c5557f72e9a2ef +PT = 98b8a390026e1dccd8c7ddc63f +AAD = +CT = aba0b351c2efe59916baa6bd9a +Tag = cd0195e1317bf27580426b5e9c04ae + +Count = 14 +Key = 027fb278bdb2186f1ad3618fe9156d23 +IV = ebd0857db611e2aa85504855 +PT = 348886ca7249890d7dce3b9f4b +AAD = +CT = 4e537b465cf2d5846a3d085851 +Tag = c10d499fd22927a61bbbb5d8164412 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 692ab3ccdadfd4aabc53d60c77f08bdd +IV = 15d732dc9de8e1b1a8d63596 +PT = f58e22112b42074dcbb5b9248d +AAD = +CT = de4e7d7f6d4f190584372f6180 +Tag = eb95ea5576108cf136d9d71374d0 + +Count = 1 +Key = 1604d614870e15c54eca8360d8d72686 +IV = ef63f2be342cd57de1a64f0b +PT = 2b9be749247d2858bdc6d7b1f4 +AAD = +CT = ad3d9bb5dd98c7f09c58e8d7b6 +Tag = 019ebe44fb66f44ac29c50c68624 + +Count = 2 +Key = 980166aff3eef8e8f1e2f667c77d6207 +IV = 907bd56568da7d784e0936df +PT = a6f3ed92cb7c7d55e4288735a8 +AAD = +CT = 02f03f2ffb2bbc2fb5be700995 +Tag = 61e7b6e1c3beb615c6d0e0423380 + +Count = 3 +Key = b7cf67bb2a64df6a19ea1b237cd1176b +IV = 99152c19075e4ef52f58604a +PT = 8e23a44c432bc723048b88d45c +AAD = +CT = a1f6633870b0ca9309426a4e74 +Tag = 4678be620f292bd7a24aa87bed77 + +Count = 4 +Key = 095920c2e37f766a5c02050f744c9f02 +IV = 3f22e1b0fc3c1151f98ce714 +PT = 815b9cf2b0fec8dd8afc721638 +AAD = +CT = 00ab6478f5855562f753466ce8 +Tag = 819fa5dedb6692fb0d2504d70c3e + +Count = 5 +Key = 3251ef99f082d91a4d47db5132eba50d +IV = 86714e04a413555794252208 +PT = 24c3c9eac283ad267f20f702ee +AAD = +CT = 7cff14a7e9e0c7a7b3a5d076e7 +Tag = 2a4266fbc01670e2e27b02554b60 + +Count = 6 +Key = 8c6203325f382e05901d7a51c7f25caa +IV = 333da13d711ba150c5ea89b9 +PT = cdbe3399739c2ec6775249fc4f +AAD = +CT = 6fcacb60ac4b6229f54f05b5be +Tag = 7619865eadc325fdaddf85642c6b + +Count = 7 +Key = c80f3e775a599ab94abc767abc0072ab +IV = a1a8933efe5ced5213cf2f23 +PT = f762b1abe8d06704b8a3be4262 +AAD = +CT = b7acea936f0d1c992137b42e46 +Tag = f91dc1ed092327f1ce6e31d1b7a7 + +Count = 8 +Key = 078b072a5a973a1e3efba68b8a39a6ba +IV = c313cc0878e1f0de208559a7 +PT = da2d8d5fd43a53e405e79111a8 +AAD = +CT = 98f32d2861b629054d30dba557 +Tag = b6c1090072c0e7501d7dbf6705cf + +Count = 9 +Key = 47b30131596ad6fd8c33945636855367 +IV = 95592f8c9c1fb4c026f72ac2 +PT = 8aa58d6dc97b2eb2ec1e88dd8c +AAD = +CT = e04fa77467f421601b19f33208 +Tag = 8acf304e30e592174f6d9e7039e3 + +Count = 10 +Key = b39300c31bb84adab6fa557eb141990f +IV = a04908954700dee4092061b2 +PT = b930ef3b005a03e32bb70b0c54 +AAD = +CT = dd5c47e4e89a5d5535ee3849ca +Tag = 3e9a2e987e6f2e73641b6d270cca + +Count = 11 +Key = 4856efda57e99bd9f9a05e3b04fec939 +IV = b3ff2f24af8c81dae5e5c427 +PT = 8a35cfcc5b5b247b949fed721a +AAD = +CT = 524d67d1c4b26116094500da2c +Tag = 28f326e1948eaff7f43bb16b1329 + +Count = 12 +Key = b460d21f4f6037a2692d492984bb47db +IV = 4b217d8b11814afea2ee406c +PT = 0de987236e9b9c91fdbfe0ff56 +AAD = +CT = 7266d942a2cfc6ad3002bc7e90 +Tag = ebdea028da9362cb9b6e09cbd067 + +Count = 13 +Key = ac09bab36a349249850e73275146b948 +IV = a64b4ee0916b0efaa9727726 +PT = dd576454fa779a20c8f69b3572 +AAD = +CT = f37f23c70a66c7e4a3b6d79940 +Tag = 4916c30dc710ea95541b5888aea2 + +Count = 14 +Key = bc6d1a45aaa3f73ab9a5b99e817fc032 +IV = d9f88ff68eafa6eedd32ad0a +PT = 1039fe839289fb60049c32f706 +AAD = +CT = 958c62632491c488eb47d44b4a +Tag = 304c15d0d3f01ef76998f067b24f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 55e06f02d0edfb2fb996495520ac3700 +IV = efe5d8e8602d9bdaa4db2334 +PT = 0327609765c6edabc79ec25caf +AAD = +CT = f3e8e133cfcfd6c2923ff45940 +Tag = d2e96f9a3c6688946bf3469f66 + +Count = 1 +Key = e32d2003e87a517cfc6d3414305d4f58 +IV = 96611e56901331155bc67bb5 +PT = 694b5a2786f9e7d7a86fde007b +AAD = +CT = 91555a5daf37c95a00aace5793 +Tag = c495dd896df5974854ba09d617 + +Count = 2 +Key = de4f0010f4e37646cc2b8016c9622fd5 +IV = 35f9f1878526085895070432 +PT = 1e73091cb8e40f923811f3a512 +AAD = +CT = 9672657a8dad73f03ee16875be +Tag = e21b07230d3e3e7eb11c628b9c + +Count = 3 +Key = 727918235e81731ec67fc5ee897542d8 +IV = 918753e73bbe97fefb1044cd +PT = 7ed96b3d67bf0d8c507d811928 +AAD = +CT = a7bbbb1e439d17a00804e970f8 +Tag = 23b7fd2531e86bbacd97fcc097 + +Count = 4 +Key = be30b093053c020bf6184e2bb1c6c101 +IV = a834006f5677e97fc3f1fe6e +PT = fa731ec927bbc701bbd5f8e615 +AAD = +CT = c6c20807887022ff00715d6d1c +Tag = cf5f6a459f547f31e3f29d80f7 + +Count = 5 +Key = ecb709d5e0f546c8287d689aaab45dec +IV = 212c8c43f16d79b2cfdbc41f +PT = cc17ec850f4ffbbf722612179d +AAD = +CT = 90565192a706126fd5d9211f99 +Tag = cfd2178cdec3717002afef6f96 + +Count = 6 +Key = 535dd2893745d99abf8291afd743d320 +IV = bd70b69e4aa10fcad6c3ee1e +PT = b9aa40b70c3dfc1086316d1dd6 +AAD = +CT = 28810f402d81db88c529b78186 +Tag = 3deea9e8d7ae022a666ead4ab2 + +Count = 7 +Key = f7e17c57d287f1fc631961320bac1181 +IV = b46ea532d190a5438f845702 +PT = 41b27dac69c259666cadb64e63 +AAD = +CT = 85ece70daa3998b50917037ff7 +Tag = 6ba23ba012077872b3a25db1fc + +Count = 8 +Key = 23b92d54221a1262bd9d4f9ba3dc1cec +IV = 48a67710a7f74017dcc89e5f +PT = 0105ef0a7107e103b48dfc6fea +AAD = +CT = f7c9dacebbe1eba0f1f096353a +Tag = 455ae75b873942cc72bd85bc04 + +Count = 9 +Key = 1aa7f38c8cbef48c983ab81d62537ce4 +IV = e637fa83b5976650d6e96cd7 +PT = 39636edd6ab902a19ee22f1d6c +AAD = +CT = 4bf7d3a47a3e7644bce62a4a8d +Tag = 08b20c00da9d672f911423f5d5 + +Count = 10 +Key = ca367ac330223a9c56a6841fe1b43d47 +IV = 004bff50db7f53f696713d9c +PT = ca4eb0d422e8251763c799e897 +AAD = +CT = a3f0d1897e1683ae4df7ac0761 +Tag = 7f7a96b099eee43e61d28f01e1 + +Count = 11 +Key = 1a07ea432680ef59129cdd0cdce6b9ae +IV = 2ce4228b56786505fe7c182a +PT = 11967487a619bfc2aa5860e202 +AAD = +CT = 35ba39f2d7d2762781df14f371 +Tag = 7cadd101b83421253ce3edeced + +Count = 12 +Key = 8056c770ac0bd0a14dc1bbcb64e14dee +IV = 5687cb5f1a88a93ad6491a57 +PT = 8cc94cbd46bb1e3f842a832ba8 +AAD = +CT = f477e58bc2306b3680b0b72925 +Tag = 4197062092b49643a5893ffcd5 + +Count = 13 +Key = 3a4f41db01ca529ba49c4022c270224a +IV = cd21ccfd026a0ad7d581041c +PT = f5c309880bb0dd4674630e1fda +AAD = +CT = ec07ca162e1e5487daeec073fb +Tag = b2db7bf41baa24725298f68aff + +Count = 14 +Key = 35c3e230bc654175b1c6c89f2859d3f6 +IV = e4e3545f8b7b42d996765594 +PT = bafd503416158b22203e05d68e +AAD = +CT = 2b04e70ad46d7c197864bb152a +Tag = 767e16adfa1bd5006875c0391e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 60f2c7ebe9d736763e58b4a33411bd1b +IV = 75528a49a96a2e889d18d2fe +PT = d64aeb92c924c4621577e0ae7c +AAD = +CT = 441ff603ae77d1d6147aabf179 +Tag = 934b415f82e8b80bc83a9d8a + +Count = 1 +Key = 73777be1bb0e5af52c05aaa1244f3ffa +IV = 43ca61d808da919290b1db88 +PT = 28879adf3396b98615c1e9d993 +AAD = +CT = be519fd784b7374e811be76bc4 +Tag = 1904a842b644425ee3d96a55 + +Count = 2 +Key = ec7b377427bef7567c7327bb311696d2 +IV = c0842c96d525cfcf92b6388b +PT = 97c4b5d567c84d86576c6670b8 +AAD = +CT = 159028fab02f5c1a76c93601f6 +Tag = c3536e9609b1c105d3777417 + +Count = 3 +Key = 982dfe0de9824a025c20ba8f98b61bb8 +IV = 0b0e6402372e57cec04365ef +PT = db25c17a9ff67d29899ce393d5 +AAD = +CT = efea3a81d4c418d44e4976ec5a +Tag = 22f6a0777acbae3a7cf1e373 + +Count = 4 +Key = c10fbb17d1ef35f0df71c404f171a416 +IV = 5b46324363ad32a55fa04ee9 +PT = 04271ba8678e79bf7ba3512a76 +AAD = +CT = 1f1392efd461fcc8ab924cae76 +Tag = 02bc90e05ccafab1fe22cd99 + +Count = 5 +Key = 9370a1de0c115ed8a8479e8664e9f936 +IV = 72e41c8a6e5f1566eced1706 +PT = e0acd57300e530e46219c43ff1 +AAD = +CT = f6143ad66a439fbf86556be5db +Tag = 9b3c19bd22be7157b1d539d6 + +Count = 6 +Key = 0b2a66d3179b1c5df729a92f61b51611 +IV = c37907541917eb27711a774f +PT = a41f46c55a195160168ca9371f +AAD = +CT = 45a4ab1b210631fcd470b768f3 +Tag = 07ae6cfb311f7de3aa7569b1 + +Count = 7 +Key = 1ddd3c3cf0a054bc3d3672e6851f4bcd +IV = feee4edc888d33a4b50b0609 +PT = 6092867072137cb1728f924895 +AAD = +CT = 6417e78458207b724e79256d33 +Tag = 8d7bf7189dc135452d99c269 + +Count = 8 +Key = e87bc5c82f846acda83ef69fb9260e17 +IV = 4710f6c6dc1c8e61264bf0fa +PT = 8e03167ba7c077df0d89f2c37f +AAD = +CT = 6394eff15c1e7de840e636ca9f +Tag = ffda48e730fbaee3794dacbf + +Count = 9 +Key = 0d1b258038450d31b1e0e2d7e0cbfa48 +IV = e265478e6be3828079a0d56c +PT = 3506e3d25cd7e2e7dd2b75fbd0 +AAD = +CT = 428e19a7846740a8bb27e5fc9c +Tag = e74c64cba84017f82638d191 + +Count = 10 +Key = 16ebbcb30a04b7915c484bfe95f4a11c +IV = 65d4018054e9fb912e22a91a +PT = eae02e29d53c0c21b1578a155f +AAD = +CT = c480e9ff76d61177f641aa2d0e +Tag = ccb9f47d3b2cfdcf5d89eac0 + +Count = 11 +Key = d9be528a34c03136d56b46ec4b12fa35 +IV = a0e44ef2b82e9cd8bb6638b5 +PT = 935939215c3586c898e9f454f4 +AAD = +CT = 82f950a53a5f0a59be83a109ae +Tag = fd3cf7f25901ab74e563ee23 + +Count = 12 +Key = 0886f23409455d179894282c29df3142 +IV = 00438a583e41043c5eefe5de +PT = 37360930393607e67e44a02ea3 +AAD = +CT = 8a4577c040699f173be94a81b5 +Tag = b3dbf1ca13b47044d93fa95c + +Count = 13 +Key = f90b090e6858559763cd165d1c864fdb +IV = 0133104e7e2a0f4ea4dbc27c +PT = 52875cf0181158d08c2cc30c82 +AAD = +CT = 8e991866ace2c809d9862e92fb +Tag = cde4b4ae3dd253616c750d42 + +Count = 14 +Key = 73b7dce6eac1e2027f226ea5d7047828 +IV = ed82eecb243ef011bcd6d3b5 +PT = dc1b1dac1a71725ca4f6eabe0f +AAD = +CT = ad8ef57e4eb8daae081cf4154b +Tag = f914146e3229ddc3e14ace0e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 9baf422360487605d1c1dc40cc37cd32 +IV = 1468e805df0be0a94fc19904 +PT = b9bd3f50613aab4c01ba3d0cfd +AAD = +CT = 8cb980eb90c8fbc0cfc1f96a70 +Tag = ee50c620d73efb3b + +Count = 1 +Key = 2baf8f48ae614f28a6f9b2818cc3b26c +IV = ace6711525fa8bb8100a6d69 +PT = dfc97ae1c9c20c64ac91631d04 +AAD = +CT = 79cad4b0204d617232be5f082c +Tag = 8a22d8fd08a02ac4 + +Count = 2 +Key = b75a3698292a75d244ffcca8d447f90c +IV = be9a3fe6bb485a1801bbbed2 +PT = 19f3df9f888250ed4a4b2e4653 +AAD = +CT = 0d839acd27d5cae340bf885570 +Tag = 76357f5be4e5cde0 + +Count = 3 +Key = 0e7787b7454f831da4e7379effdfc022 +IV = e8ed4cf36ec9c2c44d953f2c +PT = 2d3b282134e11dbf7a6e6a9acb +AAD = +CT = f4edda32bcdc7c86f97ddfeb4e +Tag = 6343bd11ab95a2cc + +Count = 4 +Key = 469cf285d01f7122e719618d093e4e23 +IV = 6199d454182d3b71bd9406ff +PT = 2460fc46a70abd5133d5b55d81 +AAD = +CT = 8d2e59c9edb1420e33744d8d60 +Tag = b0f6fe9ee3caf324 + +Count = 5 +Key = b0c9177757d45d6e929aff5b21d2b24e +IV = 0ff2a99964c3e6c107986e74 +PT = 1e4fc494eb8f4d8d5a1f4633ea +AAD = +CT = ae7428df63679d4f3afca2f724 +Tag = 31feb6283ebf6adf + +Count = 6 +Key = e1d4900ebf07e7d48df30d71159c6345 +IV = 4fd95c510729a8130631d947 +PT = 6e09028907eceaad21e99cb04a +AAD = +CT = 987ab9e783509319f14b5a0131 +Tag = 30f4a712bff57aed + +Count = 7 +Key = 33ee10c20121a00df8edf88579df7d91 +IV = 992a563e706cdebd1527f982 +PT = 1bb4cfc4383928e70944d6996e +AAD = +CT = 1ceed1019188c006320b22d326 +Tag = 122ba48653b2bd1b + +Count = 8 +Key = 3e5eea4d1cbd21222c5b946c699de9e7 +IV = 7233540bc0b3ca381cd08441 +PT = 4414ff58b717c98a5d9bf24fdb +AAD = +CT = c1eddf43cee507abb304aadc59 +Tag = 73c009983e6e98dc + +Count = 9 +Key = ca20940713da14e67d80de7a38f7998c +IV = b762d820c5eb27dafdb1e1e3 +PT = 90a3e9cd418fdc0569a89582f6 +AAD = +CT = c718202b80ca3969a8e6f7d33d +Tag = 56e05ac50d57d404 + +Count = 10 +Key = 0a34e7059a07df294b3b25abb6a6823c +IV = 2b64d774f1d2740c53c4ffe6 +PT = c235c917a9b86d883bf224b530 +AAD = +CT = 394528bab5fd179d53e4c222cf +Tag = 1eb70c04a287ba03 + +Count = 11 +Key = 4374cc116a2cef27ee29499aa84c07ef +IV = 6b45621ecc9f698fe214dcfb +PT = 69997db180ed0ece089afdd59c +AAD = +CT = 2ed172cc58030fc1d61b0a1733 +Tag = d71044518ae30d87 + +Count = 12 +Key = 68c5b5c089a5c5ca426e77b54c329ec5 +IV = daf00a1d7deeef223c95ce9d +PT = 4e1514a67b484e92aea05b72da +AAD = +CT = 356dec9af333074f13929f8201 +Tag = 7ef7d9bd2e4118dd + +Count = 13 +Key = f93199629a1b139a102d358f42ea7de3 +IV = dfddc9d53ba839552bedd535 +PT = 9cce645a511d93baca21a64776 +AAD = +CT = 093b4329c36f80c022070f8772 +Tag = 39d74689c587728d + +Count = 14 +Key = 02fb8830dcc4974a4601e2b500d27d64 +IV = 8f9beb043024a1bb3853dc0c +PT = 145a899910cf0f9785ee5299bc +AAD = +CT = 79a284e2fa5fe5d88e61be0c2f +Tag = 896cc0bc1f34fec2 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 62e609df44c681bff6a6ed8e8f48ba10 +IV = 08abe642eea52d46186cb82b +PT = ff05ba2788b2177071bea1c6be +AAD = +CT = 5926f7d3e01ad6ef87291b096a +Tag = 5c8937f8 + +Count = 1 +Key = 49e2b264336f461de81435802ee6d8ac +IV = f614c7c787f707b20a3b98c6 +PT = e0959f8fe938028d3f362efcda +AAD = +CT = 994b55b5e34aadb6c6ec381b37 +Tag = fb4f52d9 + +Count = 2 +Key = 1646c63a113717e57faf041b3d613135 +IV = fddec573e88766ef17fcdf24 +PT = 74f039c9abb25b05aeb58efed3 +AAD = +CT = 663a25c40ac59bace1f180e103 +Tag = 8fbf602a + +Count = 3 +Key = d19bfdb3ec138ea98e62748c51810fe7 +IV = 14c7f526670ca80f5dd3c48b +PT = 0c33cf91eb48af4f25725d427a +AAD = +CT = 68cbad8218958363f5158af1bc +Tag = de085fb4 + +Count = 4 +Key = e6eeca2bea9ec8fa877c578ee1459482 +IV = fc5e7e6e3cb6e1e468e32f53 +PT = 5338ff156744b89d842c5cbab6 +AAD = +CT = 2d64ab0ea073e2414cdc658124 +Tag = 4544f2b2 + +Count = 5 +Key = dd107baadad92aa28666a134d9c030c9 +IV = b7f8b8f4c1971f1fa73541e1 +PT = 59a16575d9bd5480b4773440f5 +AAD = +CT = 8fd7c30952f9eef83e5a45a399 +Tag = 4f001abf + +Count = 6 +Key = 8e06aad68b5de51b39e9dd23ec2ec69c +IV = 5ef5bf580ebadea3484fa9e3 +PT = 672d4e3a5ca43fe7fa34c78bdd +AAD = +CT = 26852ed4e8896b2ef66107aa69 +Tag = eb9f4314 + +Count = 7 +Key = 6e7d38e0487d14b6a9c331872d5073ae +IV = d1a9f3e86aab00c0ebadec90 +PT = b47a5a0fb627235b13f8f2ffb8 +AAD = +CT = 9b0b876f46af2c98173d08ba0f +Tag = 1cbe05eb + +Count = 8 +Key = 37f64b0766caa90a20165ac889a2fb72 +IV = 0957aa36c1a4015ae59c873f +PT = b88587960a9470d59692f02b04 +AAD = +CT = e906d6367b21ab2e53d2a665cd +Tag = 0d06d668 + +Count = 9 +Key = 401ec66038c008930f362dcded9d62d5 +IV = 47de7cedc98a23b168c6d53f +PT = 46dd0b4939f2adcc0955696209 +AAD = +CT = c25a5a7e3626134e99382224f8 +Tag = 1a6c66d1 + +Count = 10 +Key = 72ae9f7adad0c027e9ee39dcfcecc603 +IV = 0bd0e430860c5bf3fdf7ac49 +PT = a9db0d0d0ea76d8e0b0b8f7893 +AAD = +CT = 14951c0943747c253f4c91157a +Tag = df79a728 + +Count = 11 +Key = 40e10136112ca87a0bc16e05ef3ef7b2 +IV = e5a0455d7dc26d8f4be3ca7b +PT = 3afffeb07cd18bb53c34a24d87 +AAD = +CT = bd0716b82c769af9d896689a42 +Tag = 08463666 + +Count = 12 +Key = ec490c46d583da63096841b4f7c2e72b +IV = 6170e8f56a41b73a15308468 +PT = d8c2fcf9cfc79d74eb0119b978 +AAD = +CT = 13300f25434d663c3466d4dfc4 +Tag = c7dec478 + +Count = 13 +Key = 4fe6e7596df43b392f536f71a7cf143b +IV = 537076258136825d11ef7218 +PT = 59c42ef905e55743515c783509 +AAD = +CT = beb9fb20e1d4e02bc882911c8f +Tag = cf6a80fc + +Count = 14 +Key = 8be0f1d963a58f717a6b6cf3acafd514 +IV = 67d0abc58b7860371350d2d9 +PT = dbad0770b2bce2d586fa59e433 +AAD = +CT = 1d3098f26deec2b57b6b2cfadb +Tag = 1abf6ca5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = dfefde23c6122bf0370ab5890e804b73 +IV = 92d6a8029990670f16de79e2 +PT = 64260a8c287de978e96c7521d0 +AAD = a2b16d78251de6c191ce350e5c5ef242 +CT = bf78de948a847c173649d4b4d0 +Tag = 9da3829968cdc50794d1c30d41cd4515 + +Count = 1 +Key = 3016620015db1d85eef09bbce50ae294 +IV = eb481db3a52201173e2d4ad7 +PT = 38b57c0d4151d7ee57e032829f +AAD = fa3d95b81a619638cea3f68dfbc02133 +CT = 7738601ab14748223164d1f69d +Tag = 63ca9e8c27d9fa837ca4a0bb7039e390 + +Count = 2 +Key = b3ba382909e94ef5d318ee32cb54a33e +IV = 3cf10b1700711486119cfd9e +PT = 4a90ad3f97c9c7e82efcbb318b +AAD = d1e17c0189b04561699bd2f791d69491 +CT = bdf6a8a11288e83126932cd946 +Tag = ca7ff7458c3adf388eef7e0e32d6b2c4 + +Count = 3 +Key = 0a8fc9e07eb50b092cd9fccb3db2373e +IV = 371d0af80bb20f2ead09dc22 +PT = 7826bf01e962a201f5c8e7f742 +AAD = 9f42976847531ddfe428694f61260b2a +CT = 665cdb3e2568ee1157d877dd25 +Tag = c66fc129ecb30ea0d54b6d6932d9d7a8 + +Count = 4 +Key = 3d1fc93233e86cb882e4cd754df63754 +IV = 1ede8cadc78bb4733c341bac +PT = 74232bfedc377efd5a63ab77cc +AAD = 5807c856944fee1e6c2e70ad9a08de00 +CT = ff3e09311d59bf1f3dff474fd4 +Tag = 7dbaf75ab6084504e080460ebfd255af + +Count = 5 +Key = 936ba9fc715c6e2d70a7986b14b82ce6 +IV = 45b3239d045bd56ea5a0e77f +PT = 941255369704ec192bab1cf039 +AAD = a2570d9548bd6c05f824577871784ee4 +CT = b3ead079446053a8206f4a37a6 +Tag = fa5d98f053e8520f45e1597ee38b3751 + +Count = 6 +Key = 96a05889a7591c1918472fd26977451a +IV = 7d80492afefce80da6689ffc +PT = b09b2dc5c5463a03dd5c9b0ecf +AAD = f4ffa36a478c795e0d28d37fa9e6fcc2 +CT = f7cb053d447dddcb6e3a2d891f +Tag = 2a38f63a1b7cdccec426683b34a44ff5 + +Count = 7 +Key = 7c98567fb5ae9601fca412e72dc9fe2f +IV = 1218ce69073eefd25a7944e6 +PT = 0df75d39d8facc3accbdefc87c +AAD = df4203c3402d2b328bcb44e7683e08ab +CT = 7e5ca0d1c1ff83bc3633f2301c +Tag = 7ea717458ca93d8844da5df7ef74005a + +Count = 8 +Key = 4e1b199c12f12b591c051c7edc608d11 +IV = a4bd3af7f35d0fa21f73641e +PT = 051ed5d700a7e59990f0358928 +AAD = dae2cd749195bcfb67a663789e85995e +CT = ae50359f104ba2089ae98eb45a +Tag = c08a7cce7c38626604032d2be9bd519c + +Count = 9 +Key = 9491cb5d4f2b94cc5a50dc67bfedd074 +IV = 8377399607418e8d51dac5ea +PT = 2a1e50ccb5a52be3d338e8f0a6 +AAD = 972d9c486961334afc104765c2863253 +CT = afe759b51318f67d872a1dfdae +Tag = 77a4493aed7e3a6e014d0a1a314c3f86 + +Count = 10 +Key = 0993571183089c4a7bd8e8789854c265 +IV = d72ce6db33b33e2a2d430d2e +PT = daf7f3ec2e2592c65847734f40 +AAD = e47252d2a8ef5190faf328176588609b +CT = c6fadec0c7520f717144f0104a +Tag = 6670c8cbf7e9eb431e899f61acccf456 + +Count = 11 +Key = d45b6c85293d609310eb3179cfbac4fb +IV = b02328302cc469cda1c7eb48 +PT = 70f5af8c1da987f6ab5dea31de +AAD = 74ca5b46ab31a11b4b4c253666844b32 +CT = da6b359072accf5f036c85600d +Tag = d8e496c53797b124e356967ee525c0ca + +Count = 12 +Key = 9326155a9b81013c1edb143f9f5ae9d2 +IV = c95383eb3050ebea4deb80e9 +PT = aa80cbebfb01b035a4e1e50e35 +AAD = 64a73f0497746436ac94c3c18e1ef6e1 +CT = 45ec8de633c7bb585c0a7fea1f +Tag = 537b6103b0f7c5dce82bfa37c2734877 + +Count = 13 +Key = 9192ce4d383752e9d9c66b93ef7f05ab +IV = adabd3baa4374697c53b4289 +PT = c55b5d16e3cee22bad1f5420ba +AAD = 14cad0cb1736ccde73f86897ea017570 +CT = 3aa22a57646229fd33bbfae6ce +Tag = 5ce7cd439823538fbc194886348ff029 + +Count = 14 +Key = 3dd104297e803dc22b8f11f1951c8508 +IV = 8abd1fd8cd88ef848e8ce082 +PT = e1eb53704ccd5d7992f1c91097 +AAD = 96f6c82aa93ccca47056efc3ac971613 +CT = 8e4125514870003f0b0e8044a8 +Tag = d951047cd8d50ca5f7ffdebf78725c56 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 6792da189a2240ab853c8b6c05b94658 +IV = a6159f26e5d09d9c8472ce01 +PT = ec4ef2dda99b33b109dbb042bf +AAD = 1d76fc16940bc77c772b8fb871327de1 +CT = 1137ad31d6ce148486042be48d +Tag = d3d391799be08fd499e448377b40ce + +Count = 1 +Key = b29c029df8bc32702a1a900dc4807ea0 +IV = 5b74705c04353db04f2fc0aa +PT = ab37f2233d5e6d5677c93802cd +AAD = 43abef7332ba8e1185050cc6a3e8b7fb +CT = f5f789defe0b78761b8e450837 +Tag = 67bf49a3017e9a4ff7a0a5bdc135db + +Count = 2 +Key = 93f6a292b763b168b1cbc5bd50a3a27f +IV = b4be0daf3fb1526bdbb56873 +PT = c53151128d709d7970d8f604a8 +AAD = d7c9ce015e723edf4805c3e85406e4da +CT = e2c657f4993ec9c53cd2a4fb52 +Tag = 1f41bf78880213e1f463b7d855f8b3 + +Count = 3 +Key = 259bbe0b9aa6302930885ec5400ed29e +IV = 6da162b49246ed5f593cdea3 +PT = cf48efc8b4e4fc6d3f6432145f +AAD = 45687d1cf1af582fc60d8ac8a229befd +CT = f669d2ec6cf1b00bd24e86f685 +Tag = e320dc20a9b7ea0999655c20ccc420 + +Count = 4 +Key = bfe8daeebd649d21e259210eb4003b5a +IV = db7480fa485d851e693f0e7c +PT = 4204de13c4f2d1f144bba8a2f0 +AAD = fcf7a6df0c0948241e5be4e467840c28 +CT = 0fcd3864a5555ed7343565f1f0 +Tag = 84593e355b856f74ff9e000dd853f0 + +Count = 5 +Key = a3c093a78dbf3ae61a673d7a5a2d9351 +IV = 96973aa950ca3f45d91ea80b +PT = 26b67145ee6d2e33815365b20d +AAD = acc3914092a7974fafef1760a5919d5b +CT = 735972a1028f87644293667253 +Tag = 87a5a8cdef1fda155c8177b5edc177 + +Count = 6 +Key = a2d7f7d8cf0ccaaf9da35e7728d11693 +IV = 504484cb885d7c271796036f +PT = af4ef4247776fe778b104a63a9 +AAD = 75549ec546fdeb811d7cefc21abe2c29 +CT = dcef9e6ea0f6e2927c08b02fad +Tag = 18746bd2bd14ad59f01529b86b5cb1 + +Count = 7 +Key = f0e1d0b7d3622e45e1b768d011b98c0d +IV = 2da3583560c095f71a66a391 +PT = 46ecb0da9c08d7260f9af5c4b6 +AAD = 47e7019f39332c9a1f61c770f040ec7f +CT = 0b221f30d6de1e47303cab5d32 +Tag = 38c2e347e485a75d5658acbd166e45 + +Count = 8 +Key = be418090ed8721d5c0831200826a9054 +IV = 5253119ed02efbece754d684 +PT = 6c3c264d552798639e978861f5 +AAD = 54e9c871633ba219ee84314437675670 +CT = 885a3d3986e5930b9944168bf3 +Tag = 76a330b33999d69b0e8a3d8b2ba120 + +Count = 9 +Key = 73ce4af6a90b0ae878318cf3858d9863 +IV = 69ac08cad8b79787b601b0f0 +PT = 0c8e8b1aa4c2b27209ed1fe90e +AAD = 297c3767fa80c2151b3c7069f0d92e21 +CT = 2929c98d7c056a623047a44371 +Tag = c9a78626096e4c2aa01bca7234601c + +Count = 10 +Key = 287a4d7763cb679dfc439325927bf6b9 +IV = deab9c9e3d77cf7387ec8be9 +PT = c1095db667eed792ecd7df2593 +AAD = fff054cef82926336a9dc225107fe6ae +CT = 7cd9a6d437dabbeaf5ad71233c +Tag = 7740aaec40383b42cc4bdba6235c54 + +Count = 11 +Key = 9aa89902ab3f8013198cc060456e828d +IV = e5cbd7219eae5bf3cbb4af7c +PT = f4efc17614ff35afea8e777d24 +AAD = be38dc4f38f53e41b16ba375c61a3567 +CT = a9a594d53362d31b03ffaf5cc1 +Tag = 415330df33d68bd8be0f2702e49676 + +Count = 12 +Key = cbbc51540ecc5928c29d80002d0822c9 +IV = bc30e5d1e12a8c287843dd6e +PT = ec4cc6c3b0d6f6fb3052096097 +AAD = 702b4b09c787c04ae23b17bc6f93873f +CT = 98b80d393ab8c16811175fd71d +Tag = 357bec253314fed2bb6dab53cdcbb8 + +Count = 13 +Key = aa1ed29f100849c9c79584394a62b1f4 +IV = b66bf63a56b27d58a1f96ffb +PT = b28913826e756a97c2c9256a99 +AAD = d22895705944b525e1bf125e247b2409 +CT = 003c52b40ed5e644622c39b201 +Tag = 70ef7d74f8d953951095452656d034 + +Count = 14 +Key = 94e913310ddb03717cad6078e0e1aa19 +IV = b34bf5733cf79d2d4de6007d +PT = 65be48739eaedecff137725720 +AAD = fde3257fde689fc8f0ebc3487ac8f87a +CT = 63e2c03ad10c69c64715c751e2 +Tag = 93a775a917e6010eeda674b620a96e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = aa0e62fd07409c542f540909d06f1e01 +IV = da1b9f26fff5fc32a12b5069 +PT = af937f3c93a7197f20a59524ea +AAD = f4c009f26bfb3692fc05dc21cce7ff82 +CT = 2eceb8036386dffac21f108814 +Tag = 9aa5f8c7154030c73fca616d1c16 + +Count = 1 +Key = d5c013355f9bcea21885c72c92caed81 +IV = 6e9394a26ec531548431fe09 +PT = 5cb10e1c8ad9c027629aec82a2 +AAD = c5899c6a449a794a723a7a53da85dc0b +CT = 8001015b2fc32521d36009aa23 +Tag = 02aa49c49b1a7cd0f11a44c6ce7c + +Count = 2 +Key = bb01b26bfa9d14abfda45dedfc2922e8 +IV = a8d807ee955d2683015a6465 +PT = 391c682b3e01e8e08231254172 +AAD = 287e37d4b550ff4fc6e61481571ca92c +CT = 0a55965d39110a49bda86c9f65 +Tag = 9da634c98d0d5eebf4e453e83320 + +Count = 3 +Key = 9fe5a492e2383e1e92e64a9c0d67d2c5 +IV = 8b0a9246addb53ba2698220e +PT = fe72ab8a74bd7a89d6cdabdb88 +AAD = ab05f058c6e767a6b50c8a2b2ee35654 +CT = 8525a5c079682b87a176367574 +Tag = 8a10e29d27fd28cd8fc59708a1b2 + +Count = 4 +Key = 709309983849b757739cc5b0761cf00b +IV = de2ef9c1ac3a657e299aa9be +PT = f244e87299965853a41dc74132 +AAD = 913f2d5d42b846ebc372699066c000ad +CT = 9e6d8760245d6c6aa759335e97 +Tag = fe781b190d77f87f281915e75413 + +Count = 5 +Key = d843135229d4f7a613a72b57123ab641 +IV = 8c0e3e983480b11c133aa3fe +PT = bdb0d4473d0c45f1dfeb85f727 +AAD = f637b1f417c7ecffb28b14ae5b79e81f +CT = f4b5941b71fa4915a51512c3a8 +Tag = 8d3b74be182d5bc48f61326a18a3 + +Count = 6 +Key = 17ede21ecd585a45d759dcaf572b3d33 +IV = 9e586706887afd506022a6af +PT = b73667fc0cfdf1e3a6b0b63fb4 +AAD = 71ce836f28669cdb702196da57583a0c +CT = ec13ee4afcaefabfaac4589057 +Tag = b9a8f14173fcb668be0ee7e48ffb + +Count = 7 +Key = e11b23f0e5667e7a9c2f89ae9ab81391 +IV = d24c1578eeb5de8acfab5448 +PT = 3c93f9ea7fd26029dfa01033ef +AAD = 127a5a610161fd23ce027bd889f42161 +CT = 4b5f9291885c48f8feb7de07fb +Tag = b006681c82bb219c2b5b30b5135a + +Count = 8 +Key = 0339e8bf0ffad0da7be21f50e0324210 +IV = 11e4329c697c4cf3d9f7a822 +PT = 6d5edfda0c28d999ac1f11f08e +AAD = d756635600de5b9c3c57a4547e09d796 +CT = 96deccff9375532491cda4ace6 +Tag = c56e5c2a260f3511f33f17850911 + +Count = 9 +Key = 6d049811bbd247756969342c927bea27 +IV = 2944e580c379abe724b791df +PT = d0716e2a134ce4ac61c432cf67 +AAD = c6ea05669bcbc0c0273ead4ca2ab5b99 +CT = b82b3d985bc1ffe50eaeb4bb72 +Tag = 2aa6bcf163976a31fbafd3fd9993 + +Count = 10 +Key = f221f87c8306467c14968bffd0042cc8 +IV = ff12fab8426d9c2072ff1557 +PT = 79a4de06e4d1ad709d67f7f4da +AAD = 0f552c5eb6fb1bd82acc3d5de5a3d7e2 +CT = 90c9387593dff64a2f6dd31290 +Tag = 5a406c557fe64f5468bc80abef83 + +Count = 11 +Key = 1463494c44a79c30fa555772e656134e +IV = 91b5c933df25d9e90bb0cf3e +PT = 490c2aba935873445ffadb496e +AAD = c6baa1ab29cd9596849cc1e2de054cb6 +CT = 4645b3e707d9aa769b387b9eef +Tag = cdd31cc9ed261baec115eb7be45f + +Count = 12 +Key = 1960aa2a70b0977f9148066edee1d017 +IV = 0572ba2642daf58b4ec8ac71 +PT = 196af4460837b66774e8f4ffa0 +AAD = f251bd5e7a8abe22040ffe9d9082b32a +CT = 3cd7b9b168ce2fb86e7cbfc648 +Tag = 95c00b74cb0f7c23d2bee4fa3c00 + +Count = 13 +Key = 7303edd85013e19238a05bb2c1982939 +IV = e9ef818ccd8d521d0e9699e8 +PT = d378feafcf919124df4952294d +AAD = 76497c3867ccacb23f64e35a77f57aed +CT = 235e7ab75f2ce62f6e7a8db5e8 +Tag = fbe476f89c23d57ad92bd0b2b9ef + +Count = 14 +Key = cd48f9701e19ac537295850590276f01 +IV = cdd4120ae707399e1ae95dec +PT = cf07052f43f886b0587d1cd7d2 +AAD = 3c69c656402b8f1b5ca8f61434589666 +CT = 37e7c5a734f3474e576ff83656 +Tag = 934bdbfc74d0dee77e4705508634 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 27e3626a8347f252519f3a391712f65a +IV = e50b6bbe4ac7307f75421a71 +PT = bf386209503082f15ed8461ddd +AAD = 96fe6e72597f596ae93907a820ba79a8 +CT = 34d347fa1b56d2cf691f1ce062 +Tag = cb083ec9d63075bea3bba1c0d4 + +Count = 1 +Key = a651737e5458c9adb27655870a907aad +IV = 477c6f12c046496469370fc5 +PT = 53c7db0791941a295f358eb8bf +AAD = d9dfcd936bf2392d212b9c84cca7a393 +CT = b23a6371fb60797b4893ce56bf +Tag = f14a08899dc9efeb4362960c34 + +Count = 2 +Key = df513b3a3812999b899a88bd7d8af6cf +IV = a5b36b321f07443f39d056a5 +PT = 8a977bc1dd60612a7b922abc43 +AAD = 9abe3d30bffa01415b0e7f1effd5cd96 +CT = 58ededf20dd27698588a9c8010 +Tag = 88abf228d2bae8ae834548c206 + +Count = 3 +Key = fd70d9d5a04219fce8351fb1c2592ce9 +IV = 73680a538adcb70b18ea23a8 +PT = 7d0fa6ec5ddb6fd72e50d53b9f +AAD = 29e987fa09287cf08ffeb77d5f28f322 +CT = 75022fee7e40aa0a5a8f39685a +Tag = af9d372cdd8ebbc2c176bc7b6d + +Count = 4 +Key = df61f228bf90e08093967d50bf3f8b12 +IV = e2129accef17d77d1e55a3f7 +PT = 02e2c8fef2e610dbe0b586f004 +AAD = e973f0c31b5bb97a2fa77f817de49277 +CT = 97f74644122a0abb07b125c3f6 +Tag = c10ba663f5e9c5f6574e171045 + +Count = 5 +Key = 9ac44b8b309169987cede2b3f7dae65f +IV = 39aa579a23f3b2baa0b12078 +PT = 8963e8c0a8f304c63d97580d84 +AAD = f983eb3cb6a89c5655e8bb1e4fb811aa +CT = 863fbff17e8e9f50ed37f15fe3 +Tag = b2eddf58e250052cf0df80cc05 + +Count = 6 +Key = 7dc76da2f7ac28b4212717aaead97add +IV = f4845062022b497df648c883 +PT = 81e6816e0fba8faf0a23dc7086 +AAD = 1a70b055cdddce76236313372640d2ce +CT = bd9902804c0743b32cbf475d89 +Tag = 3991989026bac7c643dccdad23 + +Count = 7 +Key = 132326c0392340b9342f37352b26f526 +IV = 6436afd8128c2e3829237e81 +PT = 03ba6ea5a3714e725e623d7f96 +AAD = 7cf6c6b3dc80ca589fc63f4f78a38c7c +CT = bc62e7f7e868c112fb7523a146 +Tag = 6db8182d734f6e8a58e50ff9c6 + +Count = 8 +Key = a2469ccd126bce59f06f5a8fa9c1e047 +IV = e253c4512aa5fca5aafb8a90 +PT = fd2024212b02148f6c5410075f +AAD = 11ccf5b699ec4940fd41cdeffd6a31a6 +CT = 6135a4191b3e52b1f71543de03 +Tag = a431ddd79164c85c9cbcdfd278 + +Count = 9 +Key = 7ecdde91e25f918bace36ec727ddeb4c +IV = ccb1e9c43d8ccf78b4e78b3f +PT = 0ca3ad6db3d804f017e5ec2d9e +AAD = 94b4177e8f6251841cc86256d03f30c2 +CT = f1476df6bea0c2aa086f75c17a +Tag = f4edc2a891d4697061f50d8fad + +Count = 10 +Key = 644453aa1756bc975e99d5156896dd66 +IV = f49ce539b6ec0f0d26efc810 +PT = 4339736e5efe56a3c664d8561b +AAD = 8e6b2814c36c9f68c5726d8daa4052c1 +CT = 81d1521d0d570299da315c6412 +Tag = 19e13aa53a6bab778f09fbcf10 + +Count = 11 +Key = 2422978ad7d5351f2b2d40b2dd61be63 +IV = 0ba42188106b0993783fdcd1 +PT = 16d0615742ada50e1fe2f25611 +AAD = 0cec6df0fdcde62ac3813e4dd97e34a1 +CT = a371c4596a0f939832b84f1cbf +Tag = ba38ed888dd49f3f818af634c9 + +Count = 12 +Key = 3fd6a583354d9d1b0c0680daf908f8db +IV = f21abc7953f96e8a384136ae +PT = 4a58e0c5c286d4fcd00a08d3b8 +AAD = 35c633eeb084728c9c27d8c13de41641 +CT = 1d1e7a70382f0641580bf65e9f +Tag = aec4df457479add01d56d57233 + +Count = 13 +Key = 302975ea7539bd632f2f67f589833fb1 +IV = 5790355850f3e3ba419f6a46 +PT = 101b1a7ef7936b90d187dbcc80 +AAD = 0974d7148ec90cb9228b5a760d1ca332 +CT = 91ba23fe1039aff5f690ab352e +Tag = 129c57d09ae23475f5d44e6a0e + +Count = 14 +Key = 2035b3e31f8496fdf825bd742df4ae09 +IV = fcd33c9704b4a8329bc5d473 +PT = 95b1f5e618503d3b92be962ec7 +AAD = 15429bcea85332e26e0d2f4437d8b6ee +CT = f70328833f3293887125fb3dd3 +Tag = 982ad13dd7d2118e27e0bb4f50 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 1efb999a6e6321c473bddc598838a93b +IV = 1571c934050479cb19743c6c +PT = 9da0445b68a66bd98b80ab178b +AAD = 78ebc32a9e8ecbf0805c55a63b791b2f +CT = c10c4eba4857af5856e531f1a0 +Tag = e2e20d097a3e6fe7a2a7fe89 + +Count = 1 +Key = b14f9950c9a23bb1012756e952c6eac4 +IV = 6ece9a6f347d6e85dbec08da +PT = a656771d229605600a947987e5 +AAD = 89b7ae22bc4de9388f3747f73f2d7418 +CT = 31c8f11872a3b29c38d334067e +Tag = bb0b9c896a44f36b76014251 + +Count = 2 +Key = 0f4b821cc9356e7c3a22e28d268d1ef6 +IV = 4e1993e705ef1aa50e5763df +PT = e0c38c248b3eb4f04a1238d3f9 +AAD = df5aa8998919a2847eed89741608c119 +CT = 0dd424ff00848413577cee97cf +Tag = 745976a2e3de25919a88643a + +Count = 3 +Key = 26b7a94cd62a99bdf5649d8a2840c542 +IV = 94ad398a256f375bd6b37ca4 +PT = f536cbc735e7f5ee3525fa986b +AAD = 64e7c4b20c33299e044cd81237f4cc7f +CT = 2780193699dbdb42de24c60636 +Tag = e59715885cc8e8022559314a + +Count = 4 +Key = 0fdcbb1ac1473da0b5e73195537d349f +IV = df6e4a22f9976eb0294ed918 +PT = b1d9b3a5869d5fa87682248f19 +AAD = eb8dbcfeae7aea7c3d0ba1f0340e2378 +CT = ac0a3cd3a7b1d0ff7350c1e7ba +Tag = de681584045278cbcde359ba + +Count = 5 +Key = 2634d303518639bf5eddc72ad0a094a4 +IV = 4c40d9fe4e1069a05e8ae3e6 +PT = 993fd3535215b38a0efbf5b2ec +AAD = c2f9d53718e6c37573c2ef7f2d9d8cf5 +CT = 36e3d04a3da3c8809fdef75e2f +Tag = 43946eeb52c9b4aa28b3e41a + +Count = 6 +Key = 9715053612bd4c2a9a7f3ef955f90310 +IV = c7cabae90b04d9aaaedadfb9 +PT = 833764e8f2f7a668e295c0dc30 +AAD = 2408334038ce2c3e08fa70c64b951ba7 +CT = a349bdad13b1a248d1ee8b8dfc +Tag = 3c56c928114fd774dbed20f9 + +Count = 7 +Key = 7b21e483657c584dca11aeae1bbfb05d +IV = a7e165241e611706b489bd81 +PT = fc9c0d14ceb5b354c7ce070612 +AAD = 6468beb11ccbd6826c9c58f51094b69c +CT = c4f9662bc7cd41af929e420dc6 +Tag = 94ccd043af8f4196ad2653ba + +Count = 8 +Key = 8c97bc1d4f7dba051351245db32e5a45 +IV = e103e6496332f8376cc04522 +PT = fc6ef19358df5d9c31da3d1a10 +AAD = a11d891a91b698f06bae57e67fb7a670 +CT = 6eabe6f1e6d6081207c4d632d3 +Tag = 0881a22ac70e428bcfd06869 + +Count = 9 +Key = 71d747d016abe054b5bc54af30794386 +IV = 41d3556a6e6edec94376a2c6 +PT = 11001ca0beaebf1f48ba4d81f5 +AAD = a1a91753bde4faaf690a5f74bc562d8c +CT = 8ef147d54866133e829442bd40 +Tag = af5e7877a856c67946ef49bd + +Count = 10 +Key = b830f9ee56c8252a27dd09389e23e8cf +IV = 4d038ef7b2234bedfcd59d5d +PT = 22ee6699f5a3e2f98830e565fb +AAD = ef43f3ce87f1d8cca998becffc4e716e +CT = 58bab1b7c47b8563592c9f00d4 +Tag = 991847dc8e5551498c4268ae + +Count = 11 +Key = 548cdb2be6c87ee85edd20a5a3b75093 +IV = f4a695bb9eacbd167a2c467d +PT = bae30ec29392868093a27acfe7 +AAD = 666b76280f4186f8b15276a1847e8637 +CT = a6737b64dc489dc77e00f791bf +Tag = 46760f3ead818c58d4dfda96 + +Count = 12 +Key = e8e7cd9be1e666a4f22ea87396309473 +IV = f72ee1421d6183d8ffcbcbb2 +PT = fa2e4c28cdeb0b2176b408e483 +AAD = 0dcf08dc2c04ea24cf6ce152bd80547e +CT = 482f8f7682fc65568eaf29bc78 +Tag = 7419c1b327b8e27e46f831be + +Count = 13 +Key = eda9fab7ee5ff1b8e418dfea553dd145 +IV = ef3b652f674c2b34493b995d +PT = efb92db6227c1599430510ffa1 +AAD = c0e12cc7a7ecf1b8fec6b898bf3f2aee +CT = 25e60361d1f0bc101698b36f3b +Tag = d2f32a529511824b8245fcd2 + +Count = 14 +Key = f521d6baa2e36100f71e1522633191b2 +IV = ae97de414045bb0860c784e7 +PT = 34e491305d4bb08ca77bdca544 +AAD = e89e87908659968125104333bb317f9d +CT = 40eae6c735f5b3c0ed1d8d6da4 +Tag = 933bccb666a7f530acd15eb2 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = f9844de997835781b9ff71752a96a539 +IV = 0614849226f61da4111f63ce +PT = 8e8678d6f5ec116360f67980c0 +AAD = 46af9fdc3266745be4629e866945ce69 +CT = 256e4169994a9d9d6f67a05f80 +Tag = aad3a268c2470495 + +Count = 1 +Key = 1bd089597157445eaee5c3001732915b +IV = 136263676ccb1b83d48739ad +PT = 3fa9b524331fd7943ae6816fca +AAD = 96fea9cdae0cade9721e8f8b7c858d94 +CT = 0f56c3e52a5f8a61096b07ff4c +Tag = 550825c65ddcf845 + +Count = 2 +Key = e340c5974f49711832e547b0082ec045 +IV = ada1a320985c0b71e54354db +PT = 3a87bbaf63dd2b2c362df3b57a +AAD = b5c8c517325460d8fd54ff4af33c1a11 +CT = a2324768d746faeb4abd859eb5 +Tag = 87d309fc6e77904d + +Count = 3 +Key = e2de878248c60af2e21ac92fa43fadd0 +IV = a351cb178ad4f9c882743125 +PT = d53f4df34b8cd914616f69cc28 +AAD = c0522cf7385c90698d9f2b61d7ce4a8a +CT = bc2f0b243c10ba034d3f86ae48 +Tag = 262a1d68c92c9da6 + +Count = 4 +Key = 7d6b249802432af529dad6e024951bf1 +IV = 3669367039d7ead4970d2e4b +PT = 0d4a0772736bd45888ef5aee9d +AAD = e1978a2432a0fc834a6b2d36d1f32bf2 +CT = fd4dec6a10a9c6a3f5694145ea +Tag = bf7eff2065a1a11a + +Count = 5 +Key = f46041d4c31e7f71d005e67cb9752726 +IV = ba2b02ce8b78ced83c9557d4 +PT = 4392e7f292cb6813327e56c65d +AAD = f36f1849e85b67c6ad70ec11c9310d90 +CT = 463660a45c98d8f28a39b64a56 +Tag = 4eef9d7c903d9851 + +Count = 6 +Key = 9188aff4ed1c47984da633635d0dbc0c +IV = 77ec9e9aca4898e49f43044e +PT = c797b13fbbb2e410733b065cce +AAD = ec95d25cb49e5c2a6e6dba5482018665 +CT = 193f3de73926ab4a96a8b50a96 +Tag = 3dc0e160f3495d6b + +Count = 7 +Key = 43ad09885333e89ba3815fe34d6b0a65 +IV = a686868380b3b05ef7258267 +PT = 80118758d4563575c449a23f30 +AAD = 7df5e0e293acc8d56689355b2a731820 +CT = 7d0221ed803b9649427ea92155 +Tag = 18245a15718f091b + +Count = 8 +Key = 85eb8508eb91d7725deb4216e3fa2050 +IV = f30bf4fcb7f2b12e10d7251e +PT = 89e5c9331961d67097a2de4099 +AAD = cd1ed15788f6582c53e41aab7dce4f7e +CT = 3fdfab710d669cc0afd22fccc3 +Tag = d547a2b3cb1d0c51 + +Count = 9 +Key = c445e15bb785b190cffc730a156d3ce2 +IV = 05a412c84f6fcf2f1f6b5335 +PT = 46d6f4e6f5e3a320056e795e63 +AAD = b3573d4c5937729074c30e6f3a5d5f10 +CT = fd9ca4eec60aed222a03b8c844 +Tag = b12e5f29576f7817 + +Count = 10 +Key = 7b8aebcc7e9c3211f4f898a675f779d9 +IV = 98e0da75a893438ee7acdac5 +PT = 14082cfd2c4664f207211932b4 +AAD = 7608c23fac302ae2521bc3fb95ed1e7b +CT = d073131ba5137ec489b14ba081 +Tag = a63eab1e4b9e9b12 + +Count = 11 +Key = ccda5e2887c1f7086531ded371993f31 +IV = 76403a82144eb4dcc82eb8cb +PT = 1b3a33e67437ef872080cdec79 +AAD = 73a3e646d40038e4621e6a866d55396a +CT = 8e9aadd50ae1fcd49dd7ecb9c2 +Tag = bf4ed612c89a548a + +Count = 12 +Key = fb74e1745a6f1b4925a2d452cd5ed2f9 +IV = 5ea4e4a78ae11ad51b2271a2 +PT = c56e02613720a0c6fcc8d7c146 +AAD = dfd3c487f0affe7f7c0c559d8c449690 +CT = 144ecdac60b59934c76b9573bb +Tag = fcb6cec5feacf454 + +Count = 13 +Key = aef1d390726cf5b880b5f3c1482c12d4 +IV = 0f2c6be076109bbe6f0f1682 +PT = fe7e093cedcb78fd8114f602f9 +AAD = 368809a7039bc00fda5ed7fb1e82a9b9 +CT = 00e1cecef4fc07e6ab28f60851 +Tag = 37983287d47d159e + +Count = 14 +Key = 2b2c2b7f4cacc889fef4bb1f9a151f4b +IV = 00ae00f03b407605385d3c41 +PT = c8ed68b3e0a372f84fc5c892cd +AAD = f3e87eeed0c1922ef3f36c8de446a4c3 +CT = 7a5d9ddb6549163e98b2e8f6b6 +Tag = 88d401dbb12ae578 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = cc0282d06b3c6a805dc676dbcd077506 +IV = 5596781b0c103ca601e5bd05 +PT = 9ba8c0e5284fc002a4ca830031 +AAD = fb6aee4838f634cbaff8e0d53336a3f3 +CT = bdb075cd7919a9600348d5a38b +Tag = b89861a0 + +Count = 1 +Key = e35a360b822a834feb4a7f32ad18e722 +IV = 4e04a358fa8a118c296bbea6 +PT = dbc1295e06a091c1b0680d26f8 +AAD = acb9c8c4d309ed670976eded64c29470 +CT = c29af1ad19298f4a8ffa6da3c2 +Tag = 1aa34f9f + +Count = 2 +Key = fbde415875a00ce1c6f02fa18c9562df +IV = a8fa06faa1db850c081db026 +PT = 573f5d4eb619cace7356ab20f9 +AAD = 1bd97398b916c728c20629de1c44af67 +CT = 9b4a15ed0ae602a8b0d66f82d8 +Tag = 015acc66 + +Count = 3 +Key = 9f4c879c9adf9b210c61632452fe0fcd +IV = a395f4bd107c7808c2033d57 +PT = c8fda30312f2b2845f5dd11e89 +AAD = ca37597648619578bc2d490ae15151a0 +CT = 87d7c8a8011a459ba6593bb4a1 +Tag = a2aa99b4 + +Count = 4 +Key = 273cd07d60c565afa56489a0e5521983 +IV = d851914f9c854971e2586150 +PT = 7edee17ff9443d868827ee2651 +AAD = 32dc48b3f87595388ee81db32ee523e6 +CT = 9f485488eba4de97a7f8a1901a +Tag = 715b45cd + +Count = 5 +Key = 77423ad4e98a49120324093d23817a9d +IV = 87b39a40e9c684f7b4454c98 +PT = 640b6685cdbf5dcc419c7c9aac +AAD = 9d60abf0179227b7a9bc0f16793b9719 +CT = 5c62c9c53e40aafd11f7c61b97 +Tag = 8af4b189 + +Count = 6 +Key = 1d2b2ac8267c6bb8b89f89c87056e3c4 +IV = ed303065e6abdde56eaa6c01 +PT = 5712a79a9f945fed295b6500f7 +AAD = 359028e79091d28d4f46348f796b454d +CT = 65f9a909baa3ecf46e812d37a1 +Tag = 32d1785a + +Count = 7 +Key = 71fc2ea1012a22543524ebc6df5e6013 +IV = 537f59d48e63a5527b00eeff +PT = 4d71a60a67214613748f92785a +AAD = 5d48a08d4e4f92152afc97e60e4e750e +CT = c7f3e200db6dce343df9f5c88b +Tag = 08ecafcb + +Count = 8 +Key = b376a32570d5b0c7b98fa845f6c0fbeb +IV = f8b8121ee1655351321e4431 +PT = 1f7ce3a651fa658f457f62af40 +AAD = e9004ae6f5e5e84153548e2a3296b9cf +CT = ba129ed06feebe10c620c0da19 +Tag = 86237d87 + +Count = 9 +Key = 4ff500c0f764810b613bc9369ea62677 +IV = 666f05881745ec08472feae9 +PT = 9d98cf8a314c60390c42fe6479 +AAD = ec58b60b4428145c7d771e5929e68889 +CT = ac606c7714d250afcd5d72ca52 +Tag = 189ce3fa + +Count = 10 +Key = 48cd219bc7e113570576316da63a455b +IV = ec1c182c618e0573ae212315 +PT = 273bd652241a7bb5576a34a5bd +AAD = 476b45e9d23b9ada6e20425d204f1599 +CT = 9f782dc25f01e4e79115d961d3 +Tag = f429d127 + +Count = 11 +Key = beaa9bceaeb0a0b93463e7f8db8f2953 +IV = 69cc790902736de907b02a29 +PT = e82b8dc64ebd48a5cb957078e9 +AAD = 8f44596250a0b704ddc0fb69a53e7a89 +CT = 43cc7ff170ff0f2bfd8a86b7bc +Tag = 1fb4a810 + +Count = 12 +Key = 4c8b8e30b2eb0d894372fb95429fda21 +IV = 319601bc052c6437586f2bcd +PT = 605da0242d09eb1c3d5f59e536 +AAD = aec444ad2a2699363be0995c5f3c080e +CT = 22866fc3e49d8456a42e30d356 +Tag = 066f57a1 + +Count = 13 +Key = ce0003483e7fcc9275d7956e5e8455d8 +IV = f142da9b265a698005153918 +PT = 348435af2177cf5e45456b40be +AAD = 4ba3d8db5b346af3b1d2eafe19d0658f +CT = 62cc75e8bd3f2d87e64ac7e4bf +Tag = 9fcc1f2f + +Count = 14 +Key = d5f46e0218e0a5905ee05d33d2da4c5f +IV = e9f1b58fd8620c7eed25ad7e +PT = 2916221078b0f9759267fa6a35 +AAD = 440e090af49bbc2976378d00fa6342fe +CT = aae50e598c2a1ceef3909c32af +Tag = 36516d19 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = fe0121f42e599f88ff02a985403e19bb +IV = 3bb9eb7724cbe1943d43de21 +PT = fd331ca8646091c29f21e5f0a1 +AAD = 2662d895035b6519f3510eae0faa3900ad23cfdf +CT = 59fe29b07b0de8d869efbbd9b4 +Tag = d24c3e9c1c73c0af1097e26061c857de + +Count = 1 +Key = 544ec82f837fbe561f371b266cc52ed5 +IV = b756952a0e98cf4cb024a499 +PT = a2e81f78b8e3e39e6cdf2f2982 +AAD = cd0a24fd0f6a693a1578b9dfd2a212e990aa662b +CT = a4f08997e2d93c3c622137f9a8 +Tag = 059cf266240236fd3f41a3f4fabb36bf + +Count = 2 +Key = 91b73e2061b02b1e5e4c150ce1df4d27 +IV = 8b15597c84db62e2d8b03857 +PT = 21e1b4b405050408b08e5e2a97 +AAD = eba7f1a060e81f4ae7a77346d74dae9263ec284c +CT = 0f819b25fc683c182533503ad8 +Tag = 5a1da6290fef801f2131614f7cd2d0bf + +Count = 3 +Key = e6a1e4260efb2bb3073a1ab475e901b9 +IV = be445fbabc3866d702965b08 +PT = 2897d77c7f20679cbf27181aca +AAD = 9452137225de644f94556b382ac13915e8261913 +CT = d56e2d6d52923205291fffa50a +Tag = a6acf19c5434f95e333827ed9c7b88ec + +Count = 4 +Key = 49c18bed9412346a8ef02351cd4680d6 +IV = 7b5a7e9beec5b627f78bfd1d +PT = bafe851c800f6df67e941fb496 +AAD = 251b9e935d72c1ed05795c74c88b6d4a03bd729b +CT = 6f0c2eeb0a37d51d78314c3414 +Tag = 1a75d962d34205d60f79e4de87381046 + +Count = 5 +Key = ed0334239eb6f1ee1d686df163d219b7 +IV = 6146338e40fcd8bf264bc83b +PT = 954ddf553bf66473657110a028 +AAD = cdba8eb5713075497eb5abf1434045a010f81832 +CT = 3eb76dfd40c5ebc840951d1b28 +Tag = 5d5aa1dc4a663eeb847e540f9a468155 + +Count = 6 +Key = 14ab4d3a91e8f8320edba5b045b9474a +IV = 83c6ac97704afdd24fbe3eba +PT = de5f1521ce9423526932917863 +AAD = e3981ea2e7468973a6a998deb7676d06630bad47 +CT = 19936ae7d6620899649a5c7887 +Tag = 66a805353bde0b1315f772d49eeaf8f2 + +Count = 7 +Key = f822c39eaba3ebb3d8b58cff3845ac59 +IV = 1f5d11c469e9fb74f19d8581 +PT = c0fac87ca518ab22853c8fa02b +AAD = b33871f65233bb2ba773cd8fedb517179a2a24a5 +CT = a072381956210925148e3bc55d +Tag = f716ec012f7f9be988a9e450da7aa2fe + +Count = 8 +Key = c566e9995c03a777f9999446382ef2fc +IV = 4f343477387f48b9c6d15e69 +PT = a9eafd8903c71862c7c99cf068 +AAD = c2b73bf0d1abd6d484df725a760f184bc315e0ba +CT = 9f9551a3ad017c3fa518964704 +Tag = 15383fb8ace2e001c194474031c14e87 + +Count = 9 +Key = fa2fe01b7cb4ca24aba5880da268398a +IV = 93f19d0a8edf1f29364743f2 +PT = 006c3b0681f21ad705cf94d070 +AAD = e80f337eb56c336d1e928db3b7eeee968e2f75bd +CT = a73b314c7f0bbd79ee56bd77bb +Tag = d2f9ecc80a5ae2e1d2735b9fbf01be25 + +Count = 10 +Key = 77b34970d4300069e0092cd64ad17305 +IV = d88e76814f3cf7a2f887e371 +PT = 4e65a46a4579f08130272e5c83 +AAD = 7c772010e83befec22f6aebe8e18a0437f50a573 +CT = d2d8ffd3f841e6039f1d551905 +Tag = ee2c73c455081d84a631b18a7fe5f789 + +Count = 11 +Key = 3c1c2aae3954d6f645ce2a697a4f3af8 +IV = 04b54f6447ebbcfbda57445a +PT = f73e226b50a75558a389ccd738 +AAD = e7a9d5c8328278311dca3e84da2bf0f573198d4f +CT = 770e4b798b91850ec4e90136ca +Tag = 8cb9ce2c90417f1c49a235de9b2ada2d + +Count = 12 +Key = 15ca2910df4e43c44a7c01d485b99157 +IV = 4a65ca77dde14bbf131dd597 +PT = 786744b394e40bfe5db938c0ad +AAD = f9011e2cfb9c82d37f6b3f2af730a2e28c036f2c +CT = 43c00fac7c11c3273078f09fe2 +Tag = 955beaa87737d3094bacc42a15986d83 + +Count = 13 +Key = 998990fe4a9a6c56efdf1deac41a1ef5 +IV = 1b7a766436f4a674b5ed86ab +PT = e53a9954c3943691dee5b17991 +AAD = 2eba6f2c61704917434507f4a2db16c4906bb4e5 +CT = e5682045f438f4a96ac870690b +Tag = 1afddc03809e565321ea66d8c83a324a + +Count = 14 +Key = 268ba76816d00e20997da268bd8faa18 +IV = 21cd5d21ed193612fd6db854 +PT = 16339986d092027e7cbece0fb6 +AAD = 1971b90da0554ee7b6b0a5e9a782f05d511c1b99 +CT = 7cfd53b8c3c834c213d9860499 +Tag = 1f8522bfab97bec436d768332ae37c20 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = c774933843e3cc8f616d4a0157fc2b71 +IV = d2360ebd3f0bf83a1171a19d +PT = 3dd02d4b4671f509c2222a720f +AAD = beaa525dd2c1032f41b92b8434d033e33af3aad8 +CT = 4bf7ec0ec2f14a66445c4e24d2 +Tag = 1a04a0a879691419ebf678bb005a52 + +Count = 1 +Key = 5ae381db0af6f0d558fe61de0b621c01 +IV = 94f11264d46a9dbdc05173e5 +PT = 2aaa5607e94d82bd6f678780f4 +AAD = 58daf88a3431314cc9f2d8eaa6df81306cae2ec2 +CT = d8c0ef8b5a96998fa0457695c1 +Tag = 631a7e7a15d4ad36b7954cf4987880 + +Count = 2 +Key = 02e5912cd8b2ccb9a8c015e564f00b60 +IV = b5ba357ff51777a33aff85f2 +PT = 1d67c7870c0a13e88c0fb4157e +AAD = 15b1499eb76d7af77ab124509c2e897401bda734 +CT = e1bb9ed7a49efc0044f48c3f79 +Tag = 9cfeadfdf1149c01e0252737df8f7f + +Count = 3 +Key = 861e589e546f3b8337310a7622d64c3e +IV = 7937428f8c7dbe2f7e145d45 +PT = 495f1d49e6f23736f742e04f28 +AAD = 9348c3226635f23c8955b3d52947e9e6e23d4a11 +CT = 06a6ad383b716751e910f7e9d3 +Tag = fabf76245278c544067e012379808a + +Count = 4 +Key = 2e0f94cc7bd3712a2260569b37521e5d +IV = f4b312e56273b86c7322e3ac +PT = 49fdddc9a11afe29d20a6ad250 +AAD = e9231ecfbb975c4cecfaa254bbf03ceec1b78fe0 +CT = b44899ae9c54732d3c00fcab7d +Tag = d11cdff8658f5b4d3539288ea1cc1c + +Count = 5 +Key = 843d5e3abddafd77c3c890bee7ff2af4 +IV = 5c3601bb90e88346fb56cabc +PT = b5505d4218180b52ab01ac53af +AAD = c1c3ee8c01f5dc1128551a7f3ba40abcd5ef8636 +CT = fab220f47678da0e4af9a51191 +Tag = a816d1ee8291fcc256e6137c7f9bf4 + +Count = 6 +Key = 1676e830d463654bc1308093b5d3677a +IV = 523bc801202854dd934625ef +PT = ff2e82684fdd92e9787d13bef3 +AAD = 2c5305ba838849e79752c68c0061aa8080050b11 +CT = efb94280fa8bf289ca1e1b913c +Tag = d4b7b3bbc69abc0997eceaa05a015c + +Count = 7 +Key = 080ba5d3115ea068d53d7c2a5fb59e8b +IV = fd35e49fafeff30dc808f32c +PT = 05fb5836b18cc8c675a1950a9f +AAD = 73478f8c97ba606cebff1e8d37fe5151900aba22 +CT = f300f0a26c84a7cf1dfa4118b5 +Tag = a247cda4de3adfe227104b4c524d78 + +Count = 8 +Key = 3bbbd25f38d00ac5eef2e36c5de6f940 +IV = d71928a60a660a8a979dca1e +PT = 6322fd4162af5d38909ef18668 +AAD = 3e7fd4bb3ca25e0bb83580b2c9d3c448d5934ef1 +CT = 0dc6b49a5a73f74beaa1973976 +Tag = 49c861b3f60ef0a6c15eea3b289c23 + +Count = 9 +Key = c2fc69cc129eb253db355221fa38dcfd +IV = 2b4142fb6310af6ba8f6a9c3 +PT = 5942c6de63385445b2e611c132 +AAD = be2fe7e341e3320cc2ed1a722a40815f093b227d +CT = c1fdd76746a8f0ee528ec1fdff +Tag = c2068dffa17bf99a0458d5a1548a91 + +Count = 10 +Key = c63a5472e0a97e5ea535bd0c9667a8e7 +IV = b71902698892b9dfece00d16 +PT = c680d828f220759770662835e3 +AAD = 07ec44851d9f752986c1a3aa28f018222249dc21 +CT = 9a2e1cbedce4b246fc160f3166 +Tag = 2270b29dc7588d4d9ceaff985216b1 + +Count = 11 +Key = 5b1023577c39f3545495dea06295b936 +IV = 2c13a5ae626ed1144af0deec +PT = c00f47106549c388e81f7e7fb4 +AAD = 60c4d86784f70be62fc8811af5e48b077e4e6ae7 +CT = b7b902739fec5cfb8ad231bab7 +Tag = 749177a53ce673511c6790c50bcb7f + +Count = 12 +Key = ea2792e5efda214b81e3c8b9d3be5be9 +IV = 6a2b2cfe00a646ebb40fb60d +PT = ea33f027b2b77c4b91cfcdc856 +AAD = 0156b89223860ee2bf220473cb8cb1696c847294 +CT = 318b8c3e306a0fd8b726752075 +Tag = 52b542c5c4767560e9e1e4f677caf5 + +Count = 13 +Key = 58f98af1e3a151d9ad4cbd320ec0b689 +IV = b01238491104029268cc3c24 +PT = d5aed0c49843dfac7eafd3da89 +AAD = 842836ea57cb157b2b95081e47f860b34b9f4ff4 +CT = c5d536d766d0e44863cdfb5a39 +Tag = 80b015808e5a08c4ad70bd8da72384 + +Count = 14 +Key = 157d74807ce70f313b1b745530b8a771 +IV = 73d9e1a7f36051cf173f9553 +PT = 4b0869f22a7ca9dde95066f369 +AAD = ebb9b75fd6e9bfceaa25396f11ae3bd7d7128412 +CT = 4fb710bc2a7488184ed01089ef +Tag = 1912b6cf03685f6dfb3b3140fc3db9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 4e8f1ec2b72534a87f3b4a41f48b030c +IV = 7347b3d1adac9fe8da4a593e +PT = 5eae3fcfc8b1e44d8be5166a4c +AAD = 8659334c6e63743b9421659747a50ca840f8beae +CT = e8a04fb01a2c3d83209f06bd7a +Tag = c0b434e14e2c56f1d36114df4308 + +Count = 1 +Key = aa83d945527d8043040dd64e4290afa6 +IV = 1f4dcf3d2da967530e7c2822 +PT = 0bcc9a7b662acf3789145d0d9d +AAD = f417c40bedd2c5a1f49cdd01844348ec7e7cbe6a +CT = c811df5e8bcc57ca49b2baea5e +Tag = 72c014bc7c4e5fe4c0c88bc749ba + +Count = 2 +Key = 3472c9ddfca29138139484fdf2d37571 +IV = dfe6ce28f92b8c2cf892a618 +PT = 70b8ce766eff613cf930d13ca7 +AAD = 0d26abebc722dad7c9930da3f7ef074fdee947f4 +CT = 390b275284978daef71e302b3e +Tag = 79b8058abca2301245b8315f7d98 + +Count = 3 +Key = 44fef9bec039c8ef0946ee44d04788f6 +IV = 3745d22daf2cab1cc1bdc4b6 +PT = 733ef64fea136f78f42ff764df +AAD = 4b7af749c4e168c306f30519573b8fcc80aa73af +CT = c9131099f0a867dde9c04a1de4 +Tag = bd2997b9b700f4240227e174982a + +Count = 4 +Key = 28a9511fce3617689119cb8a9011c0ab +IV = 14770f2215ccc4a4ff6a0f00 +PT = 45edf195b7a022eb84a4bde14e +AAD = e3f3d6cc7ab03344eaf15c7d830aae52fcc8d7a6 +CT = fe879cfd38465b482c4a50146b +Tag = 93fb42583fe04c2bb8a3821b0145 + +Count = 5 +Key = e5e33baad0cb27583779cd31d9e71c40 +IV = b9dc72332dcc44026a9c224e +PT = 36291ef52294cd43ca4d9cb4ac +AAD = 0e0dbb7c746ccaf8e0d38cdf1812bca1ea6aec4c +CT = 92fee3ef93c08d40ba35bf1a51 +Tag = 8a3be46e0156c7a6ebc485fcf2bc + +Count = 6 +Key = 1b0c7ece128aab228e7e6326df900c7c +IV = 1b15ceeec8ef24092d5038cf +PT = a4863a83fcf1b9d2138f81782c +AAD = 385a092bb681767e6bfce77c07dd30905809d447 +CT = 3bf1987d5581a26f7c07306e53 +Tag = d4a160cbde23e43bc5f0adaae404 + +Count = 7 +Key = 79c06ff97dd8afcc742dcca64024c1bd +IV = eb53cbc4de6a19ee974194e8 +PT = ecd23b63f48dae3925ccb30afa +AAD = 5b84d2d23a9dad98fd75b7efc98d41f8294edb6f +CT = d48ca5f4fa6c5236476d005eb3 +Tag = fbbfaa69a41dbd1cc65845d8fa09 + +Count = 8 +Key = 3335ba85bb8b3231fb7d6507e21d8264 +IV = 2d8b32f1aac2699a43b25882 +PT = 866c44474f2eed4f2c44f942f3 +AAD = 03f4362c97cb407f78674fcd0eec7e91459c512d +CT = caf1934b69211ca4963c511373 +Tag = 87808fb1cf1fe596b7e7206bd187 + +Count = 9 +Key = e59985423c5cb40388e5b5e4bf7bf47a +IV = c0999409802c5ed3e29e4be0 +PT = 87a9f29b71c6f6229c4d73042b +AAD = d24ea69044e64bac3b0c98a941f2aa5211c84425 +CT = 023c661db281c8271301ff9062 +Tag = a7026fc3445646228703472fd65e + +Count = 10 +Key = 13dcfc831db9a9ab53e761fb4763d63a +IV = 1482d79a1b741bd144d7c434 +PT = 51c279aefb0c51764419c4a9dd +AAD = b976489ffcd6c0057a36e41979f3b1cd6bbf3327 +CT = af10f590a3bf6b8e73027a6d6b +Tag = 9489c103985e3269be5b941ccdbd + +Count = 11 +Key = 349078eef8d8d355b250f654d16f961e +IV = 6b00b2c670818f02b0a530a0 +PT = 86477bed04fba8a94510896a43 +AAD = c4dd1efa474d7be07e82bbb50395e46b98028609 +CT = 70434cb364047112184562cbfa +Tag = 2884a5096caa29d790819187f638 + +Count = 12 +Key = cb67f1377d692954e766d8b7a81e0727 +IV = 2821e71b40ddea789d79e90f +PT = 0e205c9ceedf041c79c194455c +AAD = 66cb8855bade4eb52c243242829e311ef7f64489 +CT = 9acda8ad6a40a7a2e00b00749a +Tag = ab734dbb0488d2f188f5fc869ed6 + +Count = 13 +Key = fcd1a247adfbbd85c97588302d589688 +IV = 2a56f65aacd442b8d30de8da +PT = e306926dc3d014c4de412a19d7 +AAD = 924a80a1e59290b7da776e6ecacb3ff880893e85 +CT = 2a15829d1ac3976acdc6176232 +Tag = d59490a3d86327a54c56b2b75207 + +Count = 14 +Key = 5fa0ed080a4e80441ce8fab2b810901a +IV = d2c996b96d6776db4ea0cff6 +PT = f64635d32d9848e48f9cada28c +AAD = d3762547a4950139d3cc5c48bf6b150a6e8d30d9 +CT = 5821c4a9dd7eb585cb24ea4fd9 +Tag = 4ab43a33edbce9c06dd2583515fd + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 7cf80b0693638c6a13b8f4a976a2eebe +IV = 0e37f699124a02ef49ae1cf8 +PT = 49e7a9b084057fbd5bf5265d58 +AAD = c875e4c1f5daa3fb32a5f17730836fc09aa81eb7 +CT = e30f4476e4813fc652620c3779 +Tag = 8d3a7280e588b3d2edb596f0a2 + +Count = 1 +Key = 44c70d835623867d453d59eb7bb931ed +IV = 0b004fce3a0ad27bb93a44a0 +PT = b877ae097303fa9f87f4d33952 +AAD = f3284a6fee1403817facd9dda1ce648b3aa19cbc +CT = fa1266dba4f9390aaeec45aa3b +Tag = be818c72412edef9f9ffbae520 + +Count = 2 +Key = 398e38542e582eb3166b8d821bea30b1 +IV = c19be5e44f797de1da7a7e81 +PT = 72bb218c0347040c598471b64d +AAD = 3cb38ec0c52f11afafe7701b60a16b322d37a75d +CT = 30156b54766314f4de66376a6c +Tag = 93d772a2869ad163796266c7b7 + +Count = 3 +Key = 997cdefb3b24afa2b9111f37178fffc2 +IV = 1ee1c10fbb3738385d06e26e +PT = 474807bbab693ce50b235c0489 +AAD = 891c2272e06c917da94973b3257f048842aef8f9 +CT = 42ee36845c57b580850d93ac34 +Tag = 8732472f9c5c04fdfe314d8a1a + +Count = 4 +Key = c815699ec0b69b06cdf91a3f4b021837 +IV = 553b6ef020cc823ab2393e48 +PT = e52d9976a0809a9e26bbfeba83 +AAD = f3ad868e7ced6aa7e6a07009c5cb0cb001a364b8 +CT = 643bcbe9363424ae6b8474f45b +Tag = b8692972bd36bfabda116ff498 + +Count = 5 +Key = 64c59818bca2cfd9ce4c093eb491dc25 +IV = 72ae617ad7304e31832cc6fe +PT = fb0ac65ece7d038f3dc21347f4 +AAD = e584b2ae94d026a9ce6bd1b2d00c13d473d09480 +CT = 398bf4307ec68f5ea28d248921 +Tag = 25370257857925b8b5633602ae + +Count = 6 +Key = 119df0bdb289beb66416c6118fa405df +IV = 2678290de02e75d19b030bac +PT = 5df2dbe57ca94a1372989b1b40 +AAD = d0d63699bff2aa1c1fedcfeb7136f51b66859783 +CT = ac06298edcfde1c2b9e0e99ab9 +Tag = 10c590fd9a8109c33a9e3fdd93 + +Count = 7 +Key = 229fe1daf50dea81007f208470597f14 +IV = 98f63cd23dcc94db10cb804a +PT = a4e632d630187fa31795cfc424 +AAD = 2c9a2fc22ad7149b596684ae478a9b37936ff22f +CT = ee33ef673abd0fbb10e3f43fe0 +Tag = 3852cc59eba0e81c9205b52594 + +Count = 8 +Key = ff22f1a489d56792cd3d6ccbacf137fa +IV = d2db386cddc1ba8651c79129 +PT = b149fb33b31244e33c4e04b33a +AAD = 934cf046203066215b1576521252e7a450e2be39 +CT = dafbf7acde2a77126f4d0b3aa8 +Tag = 48407a2af850c2fa000d18a0e3 + +Count = 9 +Key = 255517b8acdb7ba3f5191d12b4e47467 +IV = 505149069e97f55c5084b013 +PT = 6ffac0ed689b7be1a5c4c976bc +AAD = bcc7a52bb0369fcdfe5b49d28f47e99d2bee646e +CT = fd7abb52295d4e79c59df54fe9 +Tag = d21e795fd9823aef2d62f06e58 + +Count = 10 +Key = 67e5f65f12e2921302cad0769ce35a65 +IV = 1c15f28b6128b4f9954801fc +PT = ab3924b06350480a6aaa0ed264 +AAD = b85138fd2aa3431342e4b06f17b3cf07ba7f9e03 +CT = 4bc17f89af0f079cbe92606cd0 +Tag = 9bec9a981cb8a67c004b80a382 + +Count = 11 +Key = fc7d4f40cc4cdabd7c69a00a172fb135 +IV = 56c016eb85b580cce4743b92 +PT = 09f991e3bd950de36f0b8ee65e +AAD = bb72f24fff7bc17da64d74ea1ceca68cc26371d6 +CT = c782b65005dd3f61c19e1f97d6 +Tag = a6af05481cb5414e0cb03e4ed3 + +Count = 12 +Key = b1fe76c14b8cf24b0cea4f696c48dab5 +IV = 03d9c52d3f89f29212619915 +PT = 21b3e9169d6f2b71be566690a1 +AAD = bdf8f21375b60f3df7aa20a201162def9388ed98 +CT = 45e6242ec9c0720244e3c8063f +Tag = 667454d257a804a48b6bf3bea3 + +Count = 13 +Key = 55292fdd4b3bedf523ab9692c6e9f673 +IV = 119a08747edb176ea1c6ecd5 +PT = 6d643fa300885b185675d8dd30 +AAD = 6869dd236b9f8e091e69501c45bf124729c679dd +CT = e7efac68a3d0e37d59a36e4c49 +Tag = c93d5ce2e545629dcbc6f565bb + +Count = 14 +Key = e98b2f076792fdc1f3dc68ffe479c405 +IV = c8ba6e202b47e6fcf992dddc +PT = 2b80b258b2e12dcc73ead97c32 +AAD = b3ef28e5f4a21d6acb1a9ea7dc36e747e52fb1db +CT = 4fa9b7687f4bd503deb3cbb762 +Tag = ce8549623a3dc2d939fcb128ac + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 71ab626ec43877507b8839d0459b9617 +IV = 3c510743b4d0eac01b11d277 +PT = 0a70bf6813a8a93c2a020fdb6b +AAD = dd81936292cdd2fbe0dfad9df6a8ab3ae604b1b4 +CT = b157ddb284c349e4e7210ba988 +Tag = ff3e52ce299484f4aa3981a4 + +Count = 1 +Key = 76597d493e81d2c3a0a929c39d60a33a +IV = 3ac49e3fb5a27139843dc35a +PT = 2d30a8c0a810fd6bc3a8762536 +AAD = 99a1361482c86dac96fc7120e92b3709db3a269f +CT = b1c680e0663172f44c6331abfc +Tag = dff69159a6cb3cb76babf773 + +Count = 2 +Key = 5fa86730e5081a317bd75f681298b571 +IV = 475471cbca8b166a7290086f +PT = 42534e0768f433530e78f4cfe6 +AAD = 565301b6af6a364d5885e40525778ff736df517d +CT = d9aa9702016352e0ef47d9a857 +Tag = e99acb2f821b99a54fb6f389 + +Count = 3 +Key = 38f312c8400c05cc08e087d44671d9cb +IV = 0530fd5480bc09cd863cf366 +PT = f5b5077ff0ca07ee64ce853805 +AAD = de682e6e37546f3b64d2f5a90a1312a40f01667b +CT = c58a4233e19996c7f7d11a8b69 +Tag = 94df10ff0b50d914b20ee8ee + +Count = 4 +Key = 4e95c302ba97862e91604406ff3e9624 +IV = fc2159d358fe1e8e798f1373 +PT = fc0ee84ebcddf92be6752aab95 +AAD = b459bd7aabc6eed9a4a0101725a9b480416753d8 +CT = ee4ddb26b32bde1262ff05f43f +Tag = 90f78889be5fae4a60d3f422 + +Count = 5 +Key = b85d97c055537460292a72958e620105 +IV = 8da08ed263f8b8b806007260 +PT = f476025539b612175f00781bfe +AAD = cda80cbbea6822da71e1cb4a8389c9bc284fd973 +CT = 4d653e350339f86972e2489383 +Tag = bea9133cc43e4e36e8b7a9a7 + +Count = 6 +Key = 96e89feaf6aeaccc212f851c4383fc8f +IV = 0f39a0fb5773d0e4361d35f7 +PT = 9fe8098a8daf46e0398d53f896 +AAD = 33970325047204617a369824781487ec20aba82a +CT = 58a6a5080e1d68dbf4b42cd004 +Tag = 34a4f92b1e3e93382f74df82 + +Count = 7 +Key = 2d899115693ba5d9f6c3cd6920e8940a +IV = ca5841dab812b76d4fdb19a1 +PT = 77852a483fa06c558adcdf59a7 +AAD = 888f3864d067e78337ff99fc6226a33cae088437 +CT = 38a8ec5b891a5eded0cb92d42b +Tag = 3adc738b35b6f4b0636e8211 + +Count = 8 +Key = 9b84ef5fba42624473630a497dfbad80 +IV = e577123ce9923bb126141a43 +PT = 1ad28f36ed597a4886160fe098 +AAD = 31a9d84b88ca9c72590fafd45f5c84528ee851c9 +CT = 1eea9b30b027f7f2e414d99874 +Tag = dcb2d87ccf29f2f05363fb34 + +Count = 9 +Key = 6dc1697d0584966fac1b9976a6017724 +IV = b7531ec6990596b3b589fdff +PT = b5381a42aabaf04f8990bdba9f +AAD = 7a1b87fbc3ffbb192636dd88556571a52343faf0 +CT = 8efdf238cdf7f7b9a355586d65 +Tag = dd4c1c96be78380388d3aac6 + +Count = 10 +Key = 780fb7f0886024963b81b6320ef7e033 +IV = 835cf040f9883caf4db0fce9 +PT = 43a6dbb13cf25fce994d003fce +AAD = 366aad84c05a43fefbb61fa11a982144f89523c9 +CT = 7a295536ec11bc09e3c055376a +Tag = 23ba90dfe51316ccc4a8db5f + +Count = 11 +Key = 265b80db0c3fd0ea0385ac1a2952a810 +IV = b230f9661155b4688258b7a2 +PT = 336eb06e25e1430b77d1ce7f81 +AAD = 98974fcf838d5cb7f5482301e821fc949a2ef890 +CT = d64dca424998d18d2545326018 +Tag = b90eca1696d6dbc24050e665 + +Count = 12 +Key = 24d62a6f38c00ae1fe2e6bb9dc9b23cb +IV = e71eadbc77e923e7b1703620 +PT = 77d32fb1c4d84045fa1d9589f0 +AAD = 9ff1aadd87225319b1a17062b196c53fdcfb1e52 +CT = d72ac8c78eeaf730c28f560203 +Tag = 53282cdbf4d8168c16997087 + +Count = 13 +Key = b35130aa9699eb9fea56f871f71db117 +IV = 3fc7abde78b2f6a748c5989b +PT = f6b6bc06e388d8f43b1a62a169 +AAD = f7b99c9db52e5e9d355818b241b54ee81b38e954 +CT = 3897ed4419dd3dd96c7303ec58 +Tag = d0a727203b053b630d08f452 + +Count = 14 +Key = 57710ae63c230230fcd85a544bb628b2 +IV = 5c7102ea85fc2576e40432ec +PT = 339b1a1287b5c5dfea28923eb7 +AAD = 4a0b2dbaeb764cb1c902bd1068b9e4b87b6db0ca +CT = 15c7040edd04be86a6f661c6de +Tag = 1e1db695c0b35930bdf59d00 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 5ad5c4db9e8d612d55652064f42924b3 +IV = 64090a91461aaa4772bc1c9a +PT = 42ed864375e49cae4f50a66814 +AAD = 303ddf7f4b9ece773046034e494d5901e295a91b +CT = 8e2e864f544afa2e5638142274 +Tag = b1875f70291649f7 + +Count = 1 +Key = 9a5593996b083badde3ca926777d8c4d +IV = 26e2f57ea242bc09a6cdda3a +PT = a4a9ceb486b9596b8497f92d07 +AAD = 61b9b37b4a57ed288bb97e92ae6cbe3d0b500fd8 +CT = a0762ed0ab5f26bc2ee57c03b4 +Tag = b9a651b6abc75084 + +Count = 2 +Key = 012f7585eae001f2816d0f0e54712e56 +IV = d41ba482090b09b60c477f8e +PT = f9868dbf261a2009ffe02eb42b +AAD = 37c76568e218b1256efff99a9a620fba8526f2c6 +CT = 8c369b96b22ad19232661cc98f +Tag = 768b135f19997055 + +Count = 3 +Key = f97d780af76c065669b564f45b7a22a8 +IV = b5e322a045ea0098f455f099 +PT = aebeb889c4dd29dc5df72fdde3 +AAD = 69609ff5e74fec1c54bbc9cb770907e31ddffedd +CT = 98772ecf94370e1a2418c1abcc +Tag = c6c2a102d1ada2b4 + +Count = 4 +Key = 21298a5c78e44d5497e1115f51564c5e +IV = 79d5239acc959e319400e422 +PT = b4ede14f99ccc2c53cfa144c78 +AAD = 8e71ba1b3d674b14800ed06ee258dcb574d9fbb1 +CT = dcf41e53a05c6a039df7855517 +Tag = 617bb2a0ea849b49 + +Count = 5 +Key = c351e77ffaf0b1300f81bbe0a4f42ea5 +IV = c2c24cb1775a95a63d63ec49 +PT = 465f08916688a58e6ff4ad0860 +AAD = bc42a1ca3e69cd02190d4a14b9d9309de6c8b767 +CT = 5c9f2c8e55028742b58170e29c +Tag = 983b5ba27831e83e + +Count = 6 +Key = 00b403c2220b3edeff807fc908ef3385 +IV = ed6af878a554a81b8bfbfc79 +PT = fbb7d558fb34e90108d0ebb8e8 +AAD = a9a4c2545e6d692db03190f6334db66067991587 +CT = 758b66f39dc53ecb90b4ef122d +Tag = 5536b7d38cbe1b72 + +Count = 7 +Key = 0bee8ba5412e837eeceb7ab74f217675 +IV = 1f4e186928550c57909d875a +PT = 600cf6c1135a5d6f0b88bf17ac +AAD = c7c30bbee3238c3f7beb28880a7c5a2c0306d0e8 +CT = 44d630f26aaa32243429513954 +Tag = 114d4adc4560a764 + +Count = 8 +Key = a0fa3698df28b1936bed78eb68fb08a0 +IV = add97d1aaae7584ddfd3c23b +PT = ea3d057484559976b168f5aabd +AAD = 903dac01fb56a899767a0f993c31d7dd0bbdee15 +CT = cb81953ce1fae7e2f8a55482ee +Tag = 4c6e929fa8c38f50 + +Count = 9 +Key = 5ee31dfd66627202887f2da8d37b6712 +IV = a49b61e4aa7a04bbe62dd5e6 +PT = 627c27643db5cff01d7c95586d +AAD = 3a3c5a67a079b9bef8ba98d124f69b024b417271 +CT = 8449a1b5356c08171c071203a1 +Tag = e844d9c6c1b16de2 + +Count = 10 +Key = 5a14d93b3d133d0014ddff09f8a57fd1 +IV = 0af91f20d23efa3dfc973601 +PT = 9753d23486249eb38d93b6dabc +AAD = 4cbea8c041195592abe47f3d6fb663e365847507 +CT = ec3492011b67e7070804dd2f71 +Tag = 6026b20da72b0e21 + +Count = 11 +Key = 0212e66fc118a3dddd1a606742e4b3d5 +IV = ed6c35822998b1c205ca55f1 +PT = 8d8d1499b2fc92daadab2aa4c4 +AAD = 036acd7d1a11bf38d852711c6d8b3aab81978b7d +CT = 7220d0923339e310fda6f8ccdf +Tag = 0d50883798b2134e + +Count = 12 +Key = 48a7763a0897fdab3f386e287aa73b15 +IV = c3da096fd5d28b45221b05bf +PT = a40c25bd596757f572a7d55b5a +AAD = b41fbb94d4268f107f7cd35cd997f774a62bee07 +CT = 33e74418d335f3e158137ebaf9 +Tag = 7c06661543ec4263 + +Count = 13 +Key = 94ce5dd2a43f520bd657352455577ccb +IV = b3215ebb04d84bf87881a842 +PT = 1d4e421c48c5823405e82e6b1d +AAD = 5372494e90fcc635c501211ff24f569a1ea89ba7 +CT = fe83b86bc3ac01f11b6e4df766 +Tag = 58f77aec26da34b6 + +Count = 14 +Key = b8f40e0eab51091f0efa04282c1d2413 +IV = 15e3b240f9fdcaaff67925bf +PT = 532cc60b0fabe7caf76a546e03 +AAD = 9ae1e0a096e4c4cc0434e25b6e880fea8495340d +CT = 92e1654be09f766a95b37f877b +Tag = a852c38a8e20bd90 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 778d7ca9a46412b44ac70233140b9c0d +IV = 9191ba713297216a6ed05f74 +PT = b8a2ed29143a11fa1a1148ef01 +AAD = 73808b7ca1cadee1e8f9561134a0feece329a7bf +CT = 2a6cf485d30dacb9a1445bfc22 +Tag = 08d1d193 + +Count = 1 +Key = 4acc8b1b0ff02cdd52489bd678ac398f +IV = af14627c6cb416eb5a9ddf55 +PT = 66e8d6c8dbace62ebcc4368ad4 +AAD = 3cf204a66936878ee07175e23a404b03da124f71 +CT = 05c5ff8d61d52fb9c11bb8ac2d +Tag = 49366cdc + +Count = 2 +Key = 6a272e34cd7d7ecaba07cff37325a075 +IV = adf9339c9cf839fdaec11a4c +PT = 1a0e5f9f92c9ae653b0e306ea0 +AAD = efddcfb174807dd221dc1b6bf9cfc28feb6363dc +CT = 5eebcab789214a46ad6b0c7847 +Tag = 9f789ffb + +Count = 3 +Key = 4a964511d3a09face63320a00e133176 +IV = 48bca79f0fdf9e8afdecb3a7 +PT = fe144518758fd81cf06e60d617 +AAD = e9838041f380a1fb05b0d94515d4503fd435b0d0 +CT = 88d5e34e882ef90c885a5fac13 +Tag = 98a7bd3d + +Count = 4 +Key = 9343bc6a4f138f3b3e421e6e6f706acd +IV = cf4865a9b16e4b1c7cefef17 +PT = 39522ad377f1265ed6ba92e828 +AAD = 338ea210655f948cd83f2afebff82c6f614a1c9c +CT = c6d2aa9ab7aa23b73687dc0c29 +Tag = 153768b2 + +Count = 5 +Key = 2c6d0287a7c51dcd1b20bfae35a2aea1 +IV = 0e0cfa90e7ed799253ce0a59 +PT = 3b29c0824de582dddcbea16110 +AAD = e455b40181321c825b70355b5b4af7a781e6b5e2 +CT = 7e23630a36c3170bf63fd0ea13 +Tag = 7c4305fe + +Count = 6 +Key = 4483b32b9cc0d2227e6aed0d1bcdaafe +IV = c3568cf072c303daf12af9e6 +PT = e8d403c7af73ef602ed4e319c6 +AAD = f72c7f432e790170978bc789850a9325b5b1f2f7 +CT = 4826bdfd02e8a99d2e3b6497b1 +Tag = f173b0a6 + +Count = 7 +Key = 626a305943e62c443b5f46c9c5765c69 +IV = 19be1d219290cec193473468 +PT = 02b12f69a304aedc874d47b149 +AAD = b06f3e37bf6fd2e072286b52a2182abfe05157fe +CT = 8c1c34050cd3df4f0fb60a4f25 +Tag = e91b3642 + +Count = 8 +Key = 60a36ccee852b32eb417107da1d05364 +IV = 14b7496bd726b4b1eddde887 +PT = a4144ecb5daeb3945597d35b7d +AAD = 4df8fc36de8d5d159671fb365b74c83ceadcaef7 +CT = d83b8eb92fcc8d67124841607e +Tag = c4a5ed9d + +Count = 9 +Key = 4492c4b5e5a4b393f1a54fa9278363df +IV = 9dbae1a9e6d7924a906eb5a9 +PT = b76290f5a24359740ab8886f39 +AAD = b55c03719b4a1092c07063368500be9dac52ccf9 +CT = 04ca01d833adbfb31415babb2a +Tag = 70e03235 + +Count = 10 +Key = 4a53bb5d49a019aa05ebcc51781dc564 +IV = 4313054259b73aca3d974c79 +PT = 31f6d9b187fac45d1b8ff5c28f +AAD = 1675f5ec72db9790add1ae2818fed0507b31105a +CT = 801371e77df167c8e54bbbe942 +Tag = 85580e04 + +Count = 11 +Key = 8083f3be28e33b9d7d0a3085a7144fd0 +IV = 4565213249f207c8d407eacf +PT = 75a6769cf2b2b0395b983d970c +AAD = 00c53876c83872b617e275cd729b7d67199c96ca +CT = 4783485e1d36f71792330a6059 +Tag = 77032eaf + +Count = 12 +Key = 9d91b96787d3d7eed998cac3036aee4f +IV = 6206c115a67db9c164800a61 +PT = 8e977d065295b33fad4514e5cb +AAD = c6191a16ec9a2ada0ddd6ec4fdcb206731975ef2 +CT = 372d54f4e961458d6adbc62331 +Tag = e9b573cb + +Count = 13 +Key = 8b3e241178aeb527e7df4d9143e75701 +IV = 28b29735882c42dbda6d3f52 +PT = a5dd4b080432e36104db6172d9 +AAD = f4e75fe9e78244b91962b63e6f278820bb0962b2 +CT = a71a188e8d66656d9e00fbe8b3 +Tag = d7d36f0a + +Count = 14 +Key = 62e2e4b348a246d55d2131baf18318f7 +IV = eea62c43ba59bdf58c7d2aaa +PT = 4afb860dd6383e520d53c7828c +AAD = 7d027a7d79dcdab4f36111b3aa6f2b0b2e42fce7 +CT = 7479193a82a9abf94b95413c3f +Tag = df72eb62 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = cbd3b8dbfcfb11ce345706e6cd73881a +IV = dc62bb68d0ec9a5d759d6741 +PT = 85f83bf598dfd55bc8bfde2a64 +AAD = 0944b661fe6294f3c92abb087ec1b259b032dc4e0c5f28681cbe6e63c2178f474326f35ad3ca80c28e3485e7e5b252c8 +CT = 206f6b3bb032dfecd39f8340b1 +Tag = 425a21b2ea90580c889134032b914bb5 + +Count = 1 +Key = a78f34cd0cac70aab64acae18e3cbeee +IV = 3c88570498da96e7b52c7929 +PT = bf61b1fb3b24506cc8c730d399 +AAD = 36b66ff81ec23a28944c98d2834cc764bb70703f0b26e079b6eb008ec11ccfb54a189ad393878f0824436ae69e7e2d8c +CT = f72057f873ad12b5e19ce433e0 +Tag = 1fea5b4176464b1f5dce11558a75ec21 + +Count = 2 +Key = 0e038a1368999e2e70b6e350e01684bd +IV = a58952b8135420cd0f61be18 +PT = 801bbabf908ff04d5856cadc2b +AAD = 765203b3d61537be2883fba9899c3f3eff60cb9714e54de3a78a96dbf29cf53d82112e19b10141f13b11627a8fa55026 +CT = 7f0f35cb15fb4e7e3820d9ab1f +Tag = 8dce643720d9d6f90f13a155e0be5936 + +Count = 3 +Key = b69d82e78b22a473af6234066b891778 +IV = 0415ab2f32d2a15006c3bdd5 +PT = d4ab346edaca5c84d45b45c6fe +AAD = f0be65105e1cd4fd1a272f7f6db958040b44edd0608b2225789cf34217cfcd6a5879b8e79dfa7d24345ad20f0c4f9a1c +CT = ad77c91c6ba6cb29eb5e4f6071 +Tag = f67061dbded1a8df55fe9fcd68f61168 + +Count = 4 +Key = 78faf937758f34b6d314e2fa30f60c2e +IV = 85c9ef0e17ebcbb7227ba4c1 +PT = 0ad91a8be4ccd6ee0ce75413a3 +AAD = 70fec6e608b6264228b822e7490e5e76398494c6489de5e839fb80513442cd0dfcf883000995185213e283f49234280b +CT = 4298d0a1ea4c54950021d91921 +Tag = 19893b83fd24a8c21bb4ff14612cdb27 + +Count = 5 +Key = f812627cb6dc5921d3567dd17f1f3b9a +IV = 37beb9c060f240d9ff78c844 +PT = dbce5235bccd0bc6249b30e9b1 +AAD = a27fd811330efa672bbfa1cb2a221fa45bab88c5183eed6383e34c7e7450fd577f6c783c75d9ecaf74bb2ad2b2e8c143 +CT = 100ab04960a762db73174666b4 +Tag = 122172ee3093b8cb238a7c991da3b94f + +Count = 6 +Key = a495f82751bf7781fee36d265607aa6b +IV = 729a513baf1ccd1c97311700 +PT = 0ac413fa533b01be459e95d784 +AAD = 3a44a7ea6d3ed13005d46c19f5ec7d2f7e50e8a268fc49e3c6fe15b41b6f6ea7245d88cb358e53cdba82cf297ea0ea97 +CT = d05f52a875f56d3a6971495b7b +Tag = 14ae378a5f75b386202194c677377803 + +Count = 7 +Key = 63eed2623c80ea1c5d06a0003c4b3065 +IV = 3a276f4361cc6d7bdb340986 +PT = 65067b281d5aafc0146d206fe2 +AAD = d484646fdca9f5d3d4fa2c85ed145f99e3c73f4d81f6c08eadf318694bd7cc94382cc73a5610f9cbfd9987dc167d670c +CT = 4cf2ff71e44a39eb6a9611e150 +Tag = 113e7d239946d784c331bccd5e098194 + +Count = 8 +Key = 3ad85304b4267dd603070c1a999eb658 +IV = 2a02a6220d395dc91fa0d220 +PT = e0620a9e28ad8dba32b601c662 +AAD = 7a1511cab8aa9f7277f7b26cdee602e4a608b5565a20eedd66d70507a90e79da6521cae1e2ca810771392567af51d883 +CT = cf38f7abaf4f92414ecb7021a8 +Tag = 8bebb0b62c81a4a3ae765dbc7c8747a8 + +Count = 9 +Key = 63010b75ada3ccd0c1338613d57e3f53 +IV = 9898b912da0a2f169c3bf907 +PT = fc10d85cb5485be263374aaadf +AAD = 565e1e581089098451ccaf1d594d1b4edbdcd5cb00ba4b2e08e4db780ce8258df41d01dbdd50521b75a72a8259f70321 +CT = 8f2390e88bc6f18ecdc1a1b9d2 +Tag = 15c40e98b6bd5b07d4757727ad6b7b71 + +Count = 10 +Key = d2a18188bb88312ec18916431b6dd880 +IV = aedf2efb80b633d7afbe5a51 +PT = 343f8363662077fb0ab50ba284 +AAD = 52492921f6b76e888baa5a4cb391af04faeb31bf00e8ed4363482fa95148f573b9adbebabf48d3ad33cb5ed3c0d6df61 +CT = 97a6f44a04055850779bc70842 +Tag = 5ffb75b58b4572366fb006455f692f93 + +Count = 11 +Key = 7b3b81fa87f6fc20795e5fe33fe0d1e8 +IV = b858127e11ea0d5ba523f7ce +PT = e574920cdba3524bac8c2294bf +AAD = c23d4cf74bd76adee0973e4b3ac31a96fdeb0f2455e044d2d1b82ebd1937e09623921c81b6a1b9698b5b097b7c5c483d +CT = 016a7b57db778fd019628016f6 +Tag = e8035022b05e4c10792321d195b75854 + +Count = 12 +Key = 852c34591e7ffef09259a9edf25020e1 +IV = 9e4243f5356d48f853cc3acb +PT = c991389c242c48e31a9ae00d59 +AAD = 8a4514a5e7d4e2e036490b541206bfe6471c14bb50af6fc869048bae954b5dd813429359ee5eef23ee42ea35e0c36bb8 +CT = 5c319983e5e276658f10a58edb +Tag = 5343086d4ac0e45e4adc6dc27d566296 + +Count = 13 +Key = b9840f1c04f7c9e9b2c9bec0c6176738 +IV = 7af462cc891270fe78566890 +PT = c9171685284b205bf4fd9d3f45 +AAD = 493ef83c18389c1e52050d2569f0d6f955cf8e76cf0a1697ffcb1665e285fe6e3595f456cff7f32feb7bde4cc82d4ebb +CT = 988c2c3df37c68fc8bc7a29b11 +Tag = d81b0bc3543fef4a929867bff63a1c17 + +Count = 14 +Key = 9449043071de904f5e6e7922b263f122 +IV = 39f0713e60cbc8e41e4d7328 +PT = 869a917e056f4460d6c2076d10 +AAD = 0b7a25e3e3027095772f3f8b8336813b607031eddd6f354a171e4b585504952cb51326c3edf4c48e41498da441cc090f +CT = cc878c8f760961e4ad08ad09a5 +Tag = c303c9680b673c049e9b7bec8c28428b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = f2d198bb5546f0873af09f71ef2abf96 +IV = 57fd7b26e925b451be6b32a9 +PT = 2cb2e93c3008c7402b5c596efb +AAD = 452baa6b0fea849940a60ac080e237bfa54154daf3cf77877e74820d99d92bb2c72773d6e584a54339efaa8cd11b992b +CT = aa2cdd644730402838505200b7 +Tag = d14dff1e33b14529adb4f3473a2d5f + +Count = 1 +Key = 81fc196dee6d76307179ba6159011e6a +IV = a2c96bbe5918c30af12a7ca6 +PT = e762c36c54d844acdf031f4e56 +AAD = 242e4c7e7779cb5765848a40ad1b125502d8ba5f20fc953b4b552d2baf707c295a8296504e1444dcb989dec50ac64101 +CT = 794473a1f4990d4a9d5debc28d +Tag = 727b9e0e8c9225053382d57f68cdfa + +Count = 2 +Key = 70cf7d2a16d3a916b4bffd3f509eb893 +IV = a51290749877bc8376e7a1e8 +PT = e56ae65e555871aba965b6e5fe +AAD = 1e021a7072d12c0e3d7159b8acf0e50a10ba3e22c952b575332553cf461bdb09e1cb7d2d62060d0e42a19a4890b60233 +CT = 43f7f01799b745b860fd42956e +Tag = 6c93293a97507b5e91a6f906ece0d5 + +Count = 3 +Key = 1402d7461152c21717b2e46353619b27 +IV = 24ce2bec7e5a9adf362ae8f8 +PT = 3f92f9a789ead9fbec50382cb9 +AAD = 680a9e31846221fe422041639e9fb19be67a3b40b292a28b0b894f56f2e9d6871777a97b37de089ba9c201b56f4acb71 +CT = d82f9fb9223af5dd0eaed3db1e +Tag = d3ac5ec6bd0d7a48cab9d64fdd92f6 + +Count = 4 +Key = a5f19ff82bc324b5c0015f6ef36ea0af +IV = c0ed3f2cc63607014a52629d +PT = 70485892c050f867d614d58ef9 +AAD = 8bb0f3b999ae92a5fe3ce403379f0cc1e1068f2893794454379133023ddc2268963e05f1ca00f1900a7e0669dd7cbb78 +CT = 465fbdaed2dac885b71ea157a2 +Tag = 1069590f8d6055fb87a33d7beb545b + +Count = 5 +Key = 48a6922645bb741bc398ca6ca3208a0a +IV = b9a53287dc26dbe9500220cf +PT = b7b0f5a2992631a9202e6b2c4b +AAD = a357cd80c6d9501bee20ecc254feb5ab6d11a99cebaf4773db2864c9e0499224f0ef5ccde54545ea43e25606fa8da8ca +CT = 5ed769d7b0ca44eab18c191bb3 +Tag = fbfd1926889a1cf091573dcb1003d1 + +Count = 6 +Key = 5ac42fca21254a2220726ae8fcbad51e +IV = de399ce44de484c5a446303c +PT = 614aac53c3ac605262467bdb33 +AAD = 48ed3e4a625322316dcdf5d86d9064bd13a40d621b7a0bcdb3ef1e0e2fc178e42f9045fce76e3543b2cc940ec37cbc10 +CT = 6ffdda15f9760c03abd4474b76 +Tag = 7b60d96414ebf1c85a59aa47162d1b + +Count = 7 +Key = 8b00a846545ddcc9cc612e40a807b822 +IV = 52a279672afcd1817f8960eb +PT = 7cfd196c1176841239eb47def5 +AAD = 6c858afd552fdd4ebd33bcaaa43a50d548c70f88b5b1d62be87a17ebac6549921c053224ca648ef36f0118df389a49a2 +CT = 4806daba859f8eb40150eb491f +Tag = c96950d1237af0af9434f88ea866d2 + +Count = 8 +Key = ce9f2f3b61eeca9e6327f540aa30d802 +IV = 429b7b4cadb04a68f93cfdcf +PT = 54bfe13dc905b61cec0e8565ff +AAD = 677531e2bf7795e719d7b6a276c176b5d0c31414d4d3c80306e5adbafd5e938ae3b9b53edb53f7ff448499b05a77ce25 +CT = 7786354a162434e245fbfce3a2 +Tag = 61f39f771cb34dfd63c2e58566a126 + +Count = 9 +Key = 0e5302bc3d14ada2d50412ce34c7f7d3 +IV = e3f89977344eeb78cca81468 +PT = af3c6a10f263995bbfe05e28da +AAD = 22e9b8d08957f239dd80ecb98ca907a310d521042732849ae8cea39dc493f370b36814cbd0fc123340ea638e38127a95 +CT = 36b6f36088719a35d47e942523 +Tag = 41c1b0daa731c19b3d60121c5dc13e + +Count = 10 +Key = a6abd91ad2cdb3a1c5a0b4f410b006bc +IV = b088b208ded5bc48415421ea +PT = 6324da9c42c069b24acbe032fc +AAD = 7964413b7f1e58e2890ec9e9eebea985e1dda32beb7126e529f94317c11232e83289c49706f4a2ab43866a882baf0910 +CT = 87fe55a26acd12b008594bff79 +Tag = 0102291634a940075c1fa7f25a3be6 + +Count = 11 +Key = 6d670abb603b8e309456bf3586492fe0 +IV = f3828940baad2608029668d4 +PT = 7f8dc46cd3358c8e512f7b0331 +AAD = f9d29d37bb5c106db9a84c94cfbcf20538da9ead1345ebccff87f963ef620e898ec8f9bd85b2fd2dc7c9651523a6d2d9 +CT = 311f662b8d97b94328b9a1b251 +Tag = e11cdd84a83465b5a7d2f95f6904d3 + +Count = 12 +Key = 4a39566d2f8a75cc6ec14073099ea64c +IV = 214e8f1a4692f27ccb0cfca7 +PT = 63cee79491bc2b3893dc89fd4b +AAD = df2f5a96a6f6d4e029ab1db381dbcbfa0c35fcfb2426d609e4a5bf574847c33037c33b9bbd847b8151741ba78eeecf90 +CT = b6ea10084712cb5e2e09553f61 +Tag = 03333f87a297ee7884c9306c320c80 + +Count = 13 +Key = 94aa282ffae5d3a890de89f69f24738f +IV = f9b8b3eb31dec9b48f7acb9f +PT = 97910bfa5e513541799dca07e2 +AAD = 79ffacf523fac808a39227d1689697b94849c8afaf447b4d00b6c59d412ea7cddc77fc8565419b44f0c07b52e7021e2e +CT = 5ff9559124f46402134b27cce0 +Tag = 45cfe6f9180f41cc96bc3fdca6a8d7 + +Count = 14 +Key = d928dc3bc47aa721450c48d930ed44f5 +IV = 16d39d3d5ca4bf25499099fb +PT = 2c02e549d0a1587c1379b557f5 +AAD = a7fee7d387a4003ea910f09de4b8706b3722fec0485f53602e58f7e38229a49d043485c308005ea2cdbe6fb5a5318b7a +CT = b79ffa6609228defec134b1273 +Tag = 13d7792ededfb5c20d8f5e67e31e09 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = b24146f4dbc8641b3094b7573d3e3a39 +IV = acdf22c477d5c96a803c4623 +PT = e5ef27d8d3364542f2a119ca23 +AAD = 89f7e0fe41afcf6a08e4fb26c3409327464e271a33fa0db4d6af6f3f9928ea803db288293a502b77af6cdb112e774e5a +CT = 25ae62ff6b0dd42e1f972ff4db +Tag = 3761810fb1b370defdf24cb3d30a + +Count = 1 +Key = 02b2de6a93c991582566b11ab4339e17 +IV = 609b73bef1dcc73996bdd3d9 +PT = 81001b93f2f67b3ae6cbfe00e3 +AAD = 0599fd52654dd84954fc26423b0d41deb895160b17b4e8a4f79dbce1d7a129a679b66a6549d6ffd06cc2aa8eca389a27 +CT = b30e1bd4efb89e1d7fdcb15502 +Tag = f26a60437cfc3274856a7989b5d4 + +Count = 2 +Key = d464facc5b1a7e5a17885f267dc5c451 +IV = 45187c6cb1209a738b5f6bbc +PT = 6caf69a700d4e8803eb45c0a89 +AAD = 904d62f2bd146c6abe6bcc60da5540a70008fabcfc6c40070611ab9a86c19ede7a4e806552351c71fe402b88da40a077 +CT = 72e705a069317c9717fc2de899 +Tag = 4b303f05482cb54557fcb19ba563 + +Count = 3 +Key = 2ef00e7dd5e3172dfd64f51b0e424f73 +IV = ae269b3e87f153668c8f864f +PT = 3f4a011e6f82d9d9566c8c67d1 +AAD = 760209942e98dcb8ec0e7c090a759933314604bb4d0dab2421e2a4e21439dd9f16f79138f89b09fbe593f1b6473c88dd +CT = a05de5b1b3345eeb1689b8f3f2 +Tag = 1c50978683e773d9c8f721268431 + +Count = 4 +Key = 5669609d751509ad92e79b89d340b9dc +IV = de4f306f1071e68ed8918367 +PT = 7ece7d6217ab97c6bd585df4f3 +AAD = 7b7f0bc125e3efbdc34bb214dec9b39a26809b30aa75ed386357197beff5bb9575698a5c8f3cf20fdadce7e1a8d9a899 +CT = d9be88634063affeac86910389 +Tag = 06e6510aefdddd4aa450e22a19f8 + +Count = 5 +Key = ed4e4751bebb5b7b70909a0945acb292 +IV = 0154f9c23994a3f81841ca51 +PT = cbabff97973ac5f7d2dc51e475 +AAD = ad3fec4cfc4d17ae74be344d79f3503794bb0bea41d890038e0c19277fc4774c1109a8d243c89f82fd4d89b38d93ed67 +CT = 832772e4fd2c54ea2eee893a10 +Tag = 498c846b2cc6dc5097432052a9c0 + +Count = 6 +Key = c64bb2db218eef7f4a213587e51e97ab +IV = 557cbcd95d0ec79274b77aff +PT = 4e8ef7c0cc8cdd41bb7fbd1057 +AAD = a8f88217a23151afcdd147205c2b0c28b3da315ce07e0f74ac8ec72f904d1e7caa4b67f29f5fa935d0fb8e429ed2da5c +CT = cb03296947677792d0816b6b96 +Tag = 435954c09288d4029a50c150e260 + +Count = 7 +Key = e61b219af13ee3592ec5858ee1e61bbe +IV = 344e4b53207142f383a5ca38 +PT = 269fbf32215d399c2a816c036b +AAD = 42eb7f6130a57b31d206261f03f2c93d8517b5069ae0248454482a49a18fd1dc375fddf041d7ed05d57a2d86854173ea +CT = 94058c7d404a7f36f5221abac2 +Tag = 7f10d2118884475500fc44dee778 + +Count = 8 +Key = 9c0d9e23bde2008d22b8736a8152ad7f +IV = 8180f641e00e741a003b99c7 +PT = 718add4890a71922e344936d6f +AAD = 43c73e8ef4097557d9d07acd6fce2f7c8414caafb6bc1e9a324ea7f43b26c75c4f5c11faf28aae519e1ab22eb401601b +CT = 878b65599390e584521b57c326 +Tag = f6f760ccc261d5baa9154140400b + +Count = 9 +Key = 6a02eacbd3dc2e8c26be29d9a5ff0a2d +IV = c35475a1968695af612b2e13 +PT = fd49fbd7b3f964d5442bf22e4f +AAD = a63ade984e05584444b6db4adeba847ce9b879d9be2a9341b4e754c975f00eb1d7488d916a25eb0cd6fbda4cfd803571 +CT = e35c460d9a6a0ec3bd181862aa +Tag = bebfacc527170874c11c8a7d40ac + +Count = 10 +Key = 959d00854ec6b9bd0c39f8c07e61592d +IV = 5b08040d0350e90985ae28e4 +PT = ffe4aa7627247505d6bb575ce8 +AAD = 4c4d74f44929c27544aa1ff406c4c76468c1712d6325f69d170eebca14b317a8e741fdf74b04d9b39d23b91d638c11b8 +CT = 5509fde87a992536371ee00ab3 +Tag = 0bc831b9f9d72866ed5049c3296b + +Count = 11 +Key = 67cd7e738a876bd39fd0147ce9918185 +IV = 7cead2f6390d2e07e0d93e4f +PT = 03ddb955761a3acf87c2c415cc +AAD = 9c344a3ab06042e60bfc90e864fd9c48f015e105851cd72587910a02edf468c33fbcff2b3fff1046a0291986bb070db1 +CT = b0c72445a2d5282f294f7609b0 +Tag = 990ed0e7e5f873ec71bcbb2eac98 + +Count = 12 +Key = fada17c3c3eb99aac72543a31029282c +IV = bc47cde0986277523514097f +PT = 0beed3b4af0e333940719ba309 +AAD = 9546db791d3492939ab53c54f7505012a81c7d6412abc68967c7fee4684ba09723ce2d1ca42662e2eed2c316bba4edc3 +CT = ec60e791aa86eaebeb8e741acb +Tag = 63b22168e787bad831780d038ddd + +Count = 13 +Key = b01f961e106bcbf621ad57952b85d51b +IV = c245d6b51d16ee774c219306 +PT = 23b34626369045d19cf0ecb040 +AAD = 4467ab45985186f262f90d1c911cd63246c01baf43400a2bd370b146daf2b7a1e1c4457e5a50d74c3780306deb35565d +CT = 01a3e843465d904cbff8a64b51 +Tag = cbb4a6eb9260b5cfbd1ae0ff2e34 + +Count = 14 +Key = 50fc7480e49b0acc1e1d69b982c494f4 +IV = 2e9f589c09e515a2f0a43a26 +PT = 0132a1d00cf3d488dae5e0712a +AAD = 792e99f58318aa0e31cd881eac11b9d9972ca4a32c745d508e9b4d0f14a2d77a27bc1d7a060131f11d51abeeb6d904df +CT = 9755a658bfc0c1f4e018b9cfe7 +Tag = bcec39dadf559b8ad71523345fc9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 4104e13d5d779c0e8f945e495aed3b65 +IV = b59cc853b6b82615c004f40b +PT = e3af068c1d000a704d01678a2c +AAD = 2c6845909de74064bf0d367fc88924e8c1dae3d64d2cecd34c89c606353c4704a21f3cf0c1319620d309883e23f31552 +CT = 495a205acfb5c611567a27e8ed +Tag = 7c6fdcf8e0cee3387dec06a792 + +Count = 1 +Key = 8340fce01f6ba2b6c3f98dc19cd85f85 +IV = 64533b9fa20f5f90ac2f7676 +PT = 7c2695a23045c00b334f0f7a9e +AAD = c2326d168ef6f87fcd1fcc0851d5b2365c0609d8bfb76d38531b0889d9fb216987a7937fa32bc5c18051932f67c8e483 +CT = 17c848b71b03835f95b2100570 +Tag = 42509618fa7c78798b50eeed42 + +Count = 2 +Key = fe40073edc1685c37753a61d99ae03c4 +IV = 285971094cd7314a2ce6595f +PT = efb1f17a5ab35186d812636714 +AAD = 6fa881eb649908532ce0f09f6e0baefed28c574825bb6cd9dc714ae5542c9e97a1819b7bbb7992e2532c77783844ac48 +CT = 87dfc3592e49ba9f6acfd9d20f +Tag = 0439c1dd2a3a3986fea5bfd0eb + +Count = 3 +Key = 2d355fa1090610cfda9081a03a674b9e +IV = 800e31f60f513e79c0ed1f1c +PT = a7138b8f3e364180255b2490ca +AAD = 398d7e9828db6801c7f6a4c30b22453d5315e8288ee051f0bb1519e17b91c89a64679aa722d6fdb7e4e25a754c549573 +CT = 000eb57f5f71d171bbb13be090 +Tag = c848083bf7a0ace01fb576ac84 + +Count = 4 +Key = 0ea1c14a895d8129d1e5d45d07649159 +IV = 4efd70747ace4c6e5033e42d +PT = 039eeca4b6f8de9f38d80823c7 +AAD = f9f021ae73a897086c2fc0d22dbe385f989488233acd91e2c1d06df2fd75f99b697e3f442ebe697c9456bc27309c8766 +CT = 5612af2895b1bd26171d1690c2 +Tag = f380b45408c7ac7c249defbc7b + +Count = 5 +Key = 06ceb25afd51d1fa94ca3bad773ad0fd +IV = 5a71932029ebe70c927529c5 +PT = 9c25da8c04ccecd11c421b1956 +AAD = dc6a4524ddc10f4684505fc6158f4a4492ff4f55cf915442b43ab1c494b4be0288d1212fb068b7fbeb6b676e8522bdbf +CT = 60c524107df2cf1e657b57a8d1 +Tag = 568f6502013bf2aabaff7504c4 + +Count = 6 +Key = aa50ed373b951889b1eb62d49b318015 +IV = 3e5c7cedef6b08d6c16eefd7 +PT = 50e1ec2836839eec32b0f7a86f +AAD = 00f147552666391ee2f3d39d108bacc7c2018ecbe34df05761af378e8f8f6e7411fe382a5997887fb000d4fe97d64293 +CT = aa8ca82515f747a71ac0498645 +Tag = 5f03462df98a4586b7550f6632 + +Count = 7 +Key = 7fe70f2292090a55473141f3da2d57de +IV = ce8a388a5d2c3fded1aadd78 +PT = 3ae3f522bcd0d880c97aa830ac +AAD = 379917b4fc852180bcf1979507d83e36094789971f74f68eebfdb4ca5d759e78de4ad35d7111579935fa9435a50bee72 +CT = b3523e81ae7ebd1c85b4e26b6f +Tag = 3f588d96f326f396a5c9f2ac7f + +Count = 8 +Key = e9bce281d7f20d7c9a45ad82dab2d4f7 +IV = 68f98272bd6c592696e7e80e +PT = afecc1ffe3df68740952b63e13 +AAD = 8bf46fd477031e36642915455133213bbd1251cd4bfc569b1ac1cfdcfd9be4ec4cf8cde4a433f654e5c0652c07dd8d4e +CT = 8f1ad472e434469cd96f0ba494 +Tag = de76925b66fda2500a77585076 + +Count = 9 +Key = 3d774b08bbbce005675e6a73deef3698 +IV = 1064b17002575b605aa5df6a +PT = b7d4d2e248264281d590db61f2 +AAD = 82f970cb676ae2d8156e19c2f663d89914f3b4d1cd175a0823bee5b99381cb906f3bd5d987f8fe5879bb3dc3fb9b02c8 +CT = f462a47c96e533bb506b0cdf39 +Tag = 45ef73cb53decb9b3e56d46c56 + +Count = 10 +Key = 460a0a033aaadf2dc2ed85babf25b79f +IV = 55dd422cccd80025f842db83 +PT = 4d1d727b79cab03632b8eca1ea +AAD = 21e1c1e1cc08f0b4f01f02d61a9aeed14477bf15f28938ff940678351a590ad0bbe9ed313722efc9e43cbf87d51365a5 +CT = c01f87194832df71878cea6633 +Tag = 618df704e40fc61c21de7920dc + +Count = 11 +Key = caf82300a768d023fd1ee3f110b70438 +IV = 73a6f417359dfd44442e320c +PT = 1ddf91d96fda4978302d422b2c +AAD = c4cbf7227cb4d4048cb0ed002caf0dac298dbf2ac843417109646339e12ad288854bc9d8c7d15512b9b1b03172658b89 +CT = f564c14748c4ed7346369773a2 +Tag = f64532aa250028f898f9d8715e + +Count = 12 +Key = 5fb356fe7d6d822090851a72e4e8296e +IV = c9d241fcaa6f785d6771e48b +PT = adf70d5c15b0c2899159fcaa3f +AAD = 583431c4507f39618e529170518e0db022e5e6915bf9910a05a3396e9ca023c44e52c7de1bd8b4278c41a6c4fe0cff24 +CT = 5d17a6dabe229b7af4c53c02dc +Tag = 6fc935019f861b5a47cf246e1f + +Count = 13 +Key = d70371a69a8066c00d5196db14a9773f +IV = 643e389a026921a0f70c5697 +PT = 075ca891f64a96b33ddef2684f +AAD = e232e46c0f3b3aa6c1281dff9f12420c9bff081fac3fd175fbca5b3fa7655ab814740045b21b6baa46b873d5cb76431a +CT = 9304a01de12177024e668e1743 +Tag = 35b6770a7e4ae16122f8ccc110 + +Count = 14 +Key = 7f148824df8169e8e82f5b0c17226fb9 +IV = e59d1980ac0c7f36bf4bd45e +PT = 26338959a788d445cf399dadd3 +AAD = 437102419e2bb6962564457b6b58b8ff2716960887ede885f95b316bbb16fc05a0d5e84509717d1e859d9acf1c872f1d +CT = 6e926abfa0d18d1003a1b60141 +Tag = 6bd2350b4a496a0f32bb93d433 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 537c1b656172a652e0d86ccf2e028b4c +IV = 9a26588437ab984a2a6eebe0 +PT = 3719e5b980689cfa97a5e5e158 +AAD = 7d75e3ccd50408d8045a5c48f24ab78c8a1857abb39f9a636f3b6617f98b0d8add34f7a41c07d9b63f4308e7c890d5e4 +CT = 5b6263a72df97d5557536029ef +Tag = e41d027fd28e8b4ef9803c46 + +Count = 1 +Key = 17bca3c50d5a807d058e20e977b8d1e1 +IV = 4fa1c3d818f60dd4571fff25 +PT = b05128704f1ed87e110826acfa +AAD = 3907b441e5965f8fffba3268278390f5a955c33a6bd58dcf1661b30debcbcccd75dc652518be2da6766fc73e5b6a33f9 +CT = 15d8d1ecc1bfcedec96e0df739 +Tag = 4f7cf37c053ba6c1e0e326a1 + +Count = 2 +Key = e492c3cfc85daf6743e443210cbcea59 +IV = 6245039649ea9aaba2bbc4c9 +PT = 4df08eba966038ecf0545fc984 +AAD = 5e77489ba0d2057f86d8f084e2d689e960d5c5566f843950cea1f2c3c252a866dacb0599b630b2da56961a145db72db9 +CT = 2e78dc8623883fdc48c1cc13dd +Tag = 92aa474598ce9fc6588fa4e1 + +Count = 3 +Key = 697387e75296cd9c06b4d028c0ca6ca8 +IV = cf2f827fcdb6ac7a43c88a83 +PT = 00e441b51adab93a8a5357bb04 +AAD = f77431f4ab9a1f67c6648405d9141a519d01c65a4047f7947126c4b7a17f86691ec33f770580899c940d9e31894e776b +CT = 42d0781437347d550fab5d7195 +Tag = 91da4e01f96b1e278ab00558 + +Count = 4 +Key = 53b93d9348bb9d338b5bc08d33ef035f +IV = 48514120aa4ec4a29b24f847 +PT = fb367c11a0a0ead0837130da15 +AAD = f062af02d96f1c0f55941e61f988c48b8b14340862342b23b674aeeffcb35c981baf7d8fd7e3a809a3e60ccfaa27662b +CT = 41f8eee970edb8a855acd34334 +Tag = bae86102aa3eb40b39cd67f0 + +Count = 5 +Key = c70fd87f7e929d23ea103cf88dc50c2e +IV = a1a713a9c6e62678109f80cb +PT = 18dbf39bd4b637ea0da65a23a8 +AAD = 75cc657bf62a24aaedd67d706f41621375d34d6037b82113f7d7aa5fb7b8dba441bf750e46d00dbea66545bb212d2735 +CT = e760ffa5eb85957a348157854d +Tag = c13e212fa00ddc45244f7afe + +Count = 6 +Key = 35de0d0f752c438fe1cd94b1582a72cd +IV = 8add8af02dee89307cd4efe4 +PT = cfa66ce5de05b9ddada04d7c70 +AAD = f1c85fbf3213df56e1ef720f9c3682a044cdedc0746d0cf18f1bb54c03e805893d2c1cc3346ae2150f1598986bee3233 +CT = 4216d42a8e0be62228afdad1e0 +Tag = 6612a7d10477a4e319f84aab + +Count = 7 +Key = 8bb2e758297ec7e1e845df7eb8a876b8 +IV = a70b562e0cf9dfe117e2e817 +PT = a93bd0daeb583d9491e36a5cf3 +AAD = e4f790034900aac586082d407677b6dcffa2723a0ba42eb83bf79599208d09042794d8e129a8346efe8f1e9f7ae36b30 +CT = 48c77e08aa97fc044a5face09e +Tag = 47cb51b9d29841931dba3713 + +Count = 8 +Key = caec7208b0ba7129b50735965d35c108 +IV = 207c0beb12a15862167b9068 +PT = dc8d50c637accb10582af56928 +AAD = d80242508deed3a00f69b4a2a0db5c477263b62c0a26883d1a4af56e13936f877e9da942a30a813dd017a2d0451a6a8c +CT = dc53100901c6f5fdb2fd63aefe +Tag = 753d3388037be2481e75ef3d + +Count = 9 +Key = 58e8ad9f8a64197de230a0bb291a1f56 +IV = 0c6db239dcd6e3ba9f0c8c49 +PT = 75547df5d3749a2d489369c115 +AAD = 386ea1185cea5866c00d920816f0d81534c166e9b4587eebde841a5f9a5c2882067b188664ac38787b50f683176938c0 +CT = 07b093c3d649e2e52dd0fe63fb +Tag = d928ee7201e058cab96fd86e + +Count = 10 +Key = 18da36387a77a0424cbaf5da95581642 +IV = bdb24fa4bcfd151f37e717f5 +PT = d05bc566c4ae2c5c56fbd3e24d +AAD = c9bfec9f33776a8b623096f2883cf89df572e65bb83cfef318cbdf85cf4fd4981ebc6454200b1c87c8cf1122b70a19c0 +CT = 044a1494ed18a57ebce5d219b9 +Tag = b1d119f14f58dbd320eb64ba + +Count = 11 +Key = f6013b33332369e962ae03de2b3c08de +IV = a470d0a03468b6498093c01c +PT = f429b3c7f71e074477f3cda028 +AAD = 5512ee88ce5fe2f117c496ff6b7d0f12623477cdd576d171db4f863955bebb2e4f3466a4c881de621e30255ebad6df99 +CT = e092cd62d13f1b5e4cd8f46092 +Tag = 205b1701421537cd5fb7145c + +Count = 12 +Key = 44ee88258c8588d894a81f5f33fba2d0 +IV = 252e72051eac89a93bc2b071 +PT = 1ec7a394ede79aa031979102f4 +AAD = c66501f08573a49b83228d928044d4a2512e38d650eb58a134634e361b917c6d7da375349d2502bf5a4f206ef6141c4e +CT = f3758b8ce2a73f8a10bd249e0b +Tag = fcab29bbe5b42cc24abab917 + +Count = 13 +Key = 3afe92c4a2f0b0df224778668f56b228 +IV = 7c9af1fd2f579ff8037f6399 +PT = 0a3e24a26eb4a784ac07c89053 +AAD = bee27b708d12deb32ed0ba7458390a79cd8aeed9a424298564aabac97d636edc93a462c779298c51925b734dd52e6df3 +CT = bbc021b220f00718a7fb83876f +Tag = 4e51b99512e423aa96946898 + +Count = 14 +Key = d7f6413ded75ddb4fcfbea22d31012ef +IV = e64c9f859ff836e9175d16e3 +PT = 126b291984498d38b0d6553950 +AAD = c00026b383ac93ab7bde8b9b0129e1e155db01d5ab945c4058a12282a0fa02908046b3a0b7a651144a0764b2385b02f0 +CT = 626b579ef3904e9e13554612a2 +Tag = 02a408b9aaa0d3237fd440f9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 6705d6b018fe88215d73b35a24d68673 +IV = cd54e94cad7d113fbaa894e3 +PT = 5a11e1aca6721a142ae451dbae +AAD = 665ef5dbeb6d059fbd502af8acb05c99c75aa21dddaf89edf51ae95debac9d263168601e125c238fc0ad873933f41702 +CT = 872b7058804db52f51a966ce6b +Tag = 75161d0d4801a3cf + +Count = 1 +Key = 39c02c218d95a22b2473c58e6d700f2f +IV = 2c9bcb78613dac3c66795497 +PT = 21624f0b5553fc8e9f626ce502 +AAD = 4b40f088acece6f772d17be1aea5b08c26c38afbdd6c6208118a93c7821e0504e2898873ce4001850c2cc933043614e7 +CT = 5a15d6f5f90cb10fe32c954bfa +Tag = a594be61770e7385 + +Count = 2 +Key = 29b03a2407c3d2f477fb2fa21fc994ec +IV = 29e163bc2f9d02c846e7286c +PT = b54ea4fc3512af300561b8e471 +AAD = e13269a4ecee1558082e13cde9c9dac712b0d192bd8a7e07665d0afe733eb4e6018bd046e6134ec5df6f59744de453eb +CT = 42b4e76b4cbcd768069ea38485 +Tag = 214964273cc8b520 + +Count = 3 +Key = 3546b0933a4706aa834e0471239e84be +IV = e10be08a51eb71462ff31a87 +PT = 5b28b4fcfc9e2c92e09c96f4fd +AAD = b44ff3a0b51e6f5e25ae729eddd19483e3f9cced83e206afa29d88e23eee4bea5ec51843f4ed549d14b41b03f6e9779a +CT = 4d56928af7565ccad8bf9764ed +Tag = 9db0fa749bec2dbb + +Count = 4 +Key = b46ebe86a7a8b945d5e70efd665c9333 +IV = 2277346135c501f5d30d67c9 +PT = 1561338a2f0709ef64d637cc03 +AAD = 075d47c04dfc9605a3a54b974cbca4c06bb2cf566be64f2bf290ce9f83effa9ab059ca125734d316e7cc42a366102942 +CT = 2ebe000d108e55843ecd87cb56 +Tag = 2199b93b8f008074 + +Count = 5 +Key = 7a8d4e513be31002547dfd1f9c196fc1 +IV = 43a30cd754945c375b211fcc +PT = a73d4cfcf4f96b78076c5fec2e +AAD = b365462d8930c56ec14a791a1aaafa11fea1d5b1387679822a3ab6dcd4a5b42f0ed5ae28e29fd74e28250d41eec32b56 +CT = 5d2a7fa9ae3726b1530f834001 +Tag = f75f03c9dbdc9ca5 + +Count = 6 +Key = e35b0df54ee2b52ee3d257b8d21d8ae3 +IV = 4f99f34ad9c90af964c109e7 +PT = f3b37f54babcfdf180c04ea77a +AAD = f7296f6f13a0b06f5be40cbadee8056a4e8a6f7200eb2e4c508ca32c307cf0a428a6174c5074bddff417bfefb65e55d4 +CT = ca9af9106025e8fcfbe90d66a4 +Tag = 141b3bcbb7b6f52d + +Count = 7 +Key = d4d2a1a1d3ad5ea259c235c6c4af31fb +IV = 1d2389bd8edf859e4c4940f7 +PT = a36ef5956d226c9c0ee97b7a29 +AAD = 442cab5a10eb5d5485206531142857b9ec3db1e00c7ba9f03d8807b73ee83b92457bde3c74eaa6684196a0d825422435 +CT = b3a7d5857d47e63c5261b40e8b +Tag = 4621d7242a99a23b + +Count = 8 +Key = 01815f987f20227412067924f0033b46 +IV = 9d1ed04830c6c49fd3b0ab62 +PT = e7bf8b6c574bea72267ec51082 +AAD = ab496a6649a67ab881f647342e88b5a7450273e07f2ee0a7902fbd3685643394975b33ef5d80496cb331e530979c7d37 +CT = 252a452bf53eeaa475f5f26a6f +Tag = 64086c10167b5a50 + +Count = 9 +Key = 6185ec38f27608467cc1c6061cb9c896 +IV = a752dd0e00d2a8fac600e201 +PT = 57197d25ee382bbdac51b490a8 +AAD = fba0aec401a60990c86e4bcbe22bc99a5f7a7aea8f4c0a9f01c072317f1a651ebfc61a039795b8b8dd572b70012e54b6 +CT = b3abea0bc8e5ee1b820b9aca05 +Tag = d8273b95770b0bf1 + +Count = 10 +Key = 01089700a748c8f2a03bd2f62a8e5fec +IV = 534da6aeec14857b8381bbae +PT = 8dee390527bd13861c33f0ec30 +AAD = 971abd25cbdc9aba565f2db013521e07f54d8c37744ab17806e17072abeb76d9bdac347f021fcafad23045a3e80eccb9 +CT = 1208ec6d1158d12cccc27b5bec +Tag = ce1a4a64be3790ba + +Count = 11 +Key = a3c7e814923a11324236a44bd90ff804 +IV = 0e1926ffc80b04c960c87e46 +PT = 8f541ed8c1ef32275219ede3f0 +AAD = 6d48c98ef93395867f02f23a154f3165a92229cefcdc6263b0e81db3cf3923c8f5d77d3e9e7aea01888ac21c1e41c200 +CT = 5471da0592f58388c199cbe838 +Tag = bd9d969349bd1226 + +Count = 12 +Key = b25423fa83a9068c591e68d11a671c7a +IV = 0525087b8deb05c390f55a82 +PT = 0f2cfeb7c6b73bc1612557f997 +AAD = bcd0ad6a7b8689c98f95b292600fe9de6113b4e09c869a81eb47916346318bbc81edb5a0baed794c10330b47a3c7dd66 +CT = d8903a5aa0c9ae860a48c714a4 +Tag = 917226f231a67544 + +Count = 13 +Key = cdb5dbb4e1d633d53276afa426c0ff9b +IV = 9694cb4fb26a1866b6e6f230 +PT = 87c22a9151a944463f2f24a496 +AAD = ddc572a52f82118533ca80b3fa2acf8784e72a5198a475b7dec476b3b25b885e2836b057737c324a6d04c94c8fe2eab6 +CT = 5c5865aa939f1150c5978b58df +Tag = 841d37848dc1df58 + +Count = 14 +Key = 00ea93b3d4d82f40161ca03b51e6e388 +IV = f4f579ba21f8af274dfe3369 +PT = 8aef1768450a59a472d971c1bd +AAD = 540a8037b98470b2c37f9b1ae032514b479fe3c554fe29a2669a7225a369c0426157a4eb1e4fe3587857b33df98f80d9 +CT = e80ceb110201112d97b931c587 +Tag = ff280be7d601311f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = aa6e9a7cf708f19de082eebc28d63343 +IV = 539d2492b706cdf5e03b4468 +PT = c5838fe240d4f90276fbdb65ad +AAD = b44f259fa13d100a2caa43858e7bf3811dbb85002d613ce4f7baa3f73c72dad00ac5e84023c1af776b6920161aaee8ee +CT = f83227f67ec8b2bf7acd6d3afd +Tag = f75bfed4 + +Count = 1 +Key = f3d169d063e48d724f1629a166da4069 +IV = a8df232e9ddd1dd55c00f702 +PT = d5e627349907661d28ab43cde0 +AAD = 45c8f0d1857a8caafd7435366ebdc5fbc6757162e7d80d7da9ae14b0b00a68be5778b18912c8295d06e524c87838eafb +CT = 136e4e2435b10cbbb0aed4dd06 +Tag = 71a4f4ad + +Count = 2 +Key = 6c10e78312617145589153884108bad9 +IV = b3731cebeb51cb15f4e4999d +PT = 2f65ce1166dab5ec0e6054e9ba +AAD = 68b6de8607ad92eeaceaa9ffe85039afbd3dd808a21c43513cf150ea09da6b48f867dc2335901f2b551e40e24ff3b280 +CT = 6c31a1698aafc9fed9eb90bf22 +Tag = 9e5b19c0 + +Count = 3 +Key = 065d5e9ca0239296d353c5f2ba54b1bf +IV = fc3ce08f55dd449cbaa24ece +PT = f41ea43f4103646dadbf7aff68 +AAD = 8838b6c990cefd0292f9b1bf6ab4a4f58cec83790fdfe4e24281ad08bbc0828ca0e92ab04ea550cfa8744c897b578e86 +CT = 47d392e124a1ff4643cb7738b1 +Tag = bd61927c + +Count = 4 +Key = 455a5de1c1d7f04be37e58065a6f28b2 +IV = 97593f1b4682bf478578bdb9 +PT = 2d5e36319844937774e826fbe3 +AAD = e88206248cb8ed4860fb68c4d1cdc6deaf5fcbbc5a1ba197c0aac05085bc661d70d6151fb5fbe21c0f6356b126328e69 +CT = e9864a277f23923b0d36a44dfd +Tag = 8892bd3d + +Count = 5 +Key = 709a043b466a3b7494e93316ad347bfc +IV = 68ccfdb594a36471c9d1677a +PT = 7e9cf459273bb38a115f8075c0 +AAD = 446bc63d10e99ee94c882d10b40df5393137fbde1bd387ed8611abc8af260cd3a5a4ae2f72f2476c2fdf307863ad0513 +CT = 1cd8ec2e1c1c91a3399699ebfb +Tag = 82d46013 + +Count = 6 +Key = fe85da0bc76faf68a28345a575ff0849 +IV = f088d79d17d19293eb39d96d +PT = 2bec1085b258f7ae27de8fd388 +AAD = 777875d84f89dd7006e15d5f83a4e3ca3b8d0e618727d8a193c82026694e7d57d4367d8e0a342f0ccb8dee7b1d680598 +CT = ae0dddd8fdcf55fd61f5122a7a +Tag = 38c40b3d + +Count = 7 +Key = 78a8465f76618290b47052ade2283e2a +IV = 93787b3987a92eaf408813b1 +PT = 8d870d201633bcaf1716765e4e +AAD = 32e5513a01b5db358add2b0d11efa192a6878a46984ac629f7e5027de9f770929234767ea2b16b173aa3ef9d03e24ff2 +CT = 433557494f48d9a47995cb58c3 +Tag = 37e7dbfb + +Count = 8 +Key = 4e9e226dab4b7e42140950ef863d89a1 +IV = ea700adf07df8aac8b64a5d4 +PT = ec03176c88f161054421368f65 +AAD = fae6c172251c8bb181745e1bf4283f92ff80c1141015f8f9785ca8a6dbf7eb003106017bfd42b459300ae24fcc96c214 +CT = 4557097893fd3f0d0fcc50b854 +Tag = 1fbd85f2 + +Count = 9 +Key = f612113f312d0bb9b4afdef2360e9ec6 +IV = da5759915fa43d9c0df1d756 +PT = 08bee9c4ae288d77b4448ffa21 +AAD = 8675c6888c8b76b6385f696ec951838e586e51b45d0164101942b23dd0575771bf5fd9c04ed6d4511bb1e817e96a9be1 +CT = 9b2b04cb92da30775f461ad93d +Tag = 0b830e7f + +Count = 10 +Key = 80835d34bccb7fbce6ab7b7d03eda5fb +IV = 9dd6833a65416fa6b3737f92 +PT = d256a00ae4ab230ed0cf99a1c9 +AAD = faa68cfc15443e42098dd88b33c1f2821f096b74ae22c8aad3e3191b04098586b95733784ca52a2bc7e6d988aa84e2b0 +CT = 2b2ac3c58fafe72fedb258e2a2 +Tag = 03604aaa + +Count = 11 +Key = d675df0e23e0c6c4068182923c0a15e2 +IV = 601415d80219708db7a1c140 +PT = 233ee6bc30ef23bdf8188c5dc1 +AAD = 0cb86c3b333683c1d7331072bfb018f56191d0f2b526092781bb1d3855de57e31341183a4414c06946ce61669cc7abd3 +CT = 026c691e81768313818258f32d +Tag = 3f30d044 + +Count = 12 +Key = ee53bca66fab0a1f52b5c47c82f3423c +IV = 88732f011beb46d82d16a9c2 +PT = 33ebea0df1a66a9dc7ae9f1846 +AAD = 8d7b5b5192b01305de26ebc66eb5e57b79315f1b9027e0a6104067bc5c7509eeec413bae2775e2bc66fde736ee5b4da1 +CT = cabf961f7a955723ddc0a63884 +Tag = 2c854bdf + +Count = 13 +Key = 1c72afc5222bf8a81de52c9b80a09c90 +IV = 5650f8011d7e2d554d53f284 +PT = 5daf568f2d600a9b391d076cd8 +AAD = bdc096f977f8782a18dc04f61cba0684e987cd485e5b270a78fa37dda59e9521eb7d072833db04483ce224bfe3c4a423 +CT = 36d145b9cfa2c79cbe6f313b00 +Tag = 0fe70bc2 + +Count = 14 +Key = cc3f3a9c2631128549ad9ccfd4d5b65d +IV = 715252f5cbdb9b6a03722659 +PT = 21d1dece8649951bfbb26a7d5f +AAD = c0d9b2b1df7ceb1d80d2e5c82ee7ae50e8c9efadb211f9c4cbe2f542a84cda28075d722a31a58af8d8687a33b0277152 +CT = 67254d93e244f5d3311ceea996 +Tag = 7aa4d55c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = e5b1e7a94e9e1fda0873571eec713429 +IV = 5ddde829a81713346af8e5b7 +PT = 850069e5ed768b5dc9ed7ad485 +AAD = b0ce75da427fba93da6d3455b2b440a877599a6d8d6d2d66ee90b5cf9a33baaa8329a9ffaac290e8e33f2af2548c2a8a181b3d4d9f8fac860cc26b0d26b9cc53bc9f405afa73605ebeb376f2d1d7fcb065bab92f20f295556ade +CT = c211d9079d5562659db01e17d1 +Tag = 884893fb035d3d7237d47c363de62bb3 + +Count = 1 +Key = 1b96a8699f84058591f28590a5e63c0e +IV = d437b28673240ddc63d22d2b +PT = 802192b9c2d78e1df9ac223598 +AAD = 0f985a66d350c153a4882d0a4fc6e1b8b8450cd0825182358521b1be5fc734338af72a48170fde7512a8a92ac81d12e3a7fdcf7d98933732a9893d92d9435fcaee6033b726d28f73c5f76fd6b93d13bc8904d11cd4a713cd353f +CT = 8c13cded61d08c1f2db878378e +Tag = 43ee877c121d4a329e81e51d68a9d845 + +Count = 2 +Key = 94874b6f3738d963577553a19155f4fa +IV = 8e9f61edc853db24fb162062 +PT = ab5fa8933bf8b4b6eb8fd4a0f6 +AAD = d30b11456b68d89dfecc00930c5102cabdb207abadfc7e26286e822a14c6e723ea5492ef53cc2206dbe9860583e2fd2a8ed26fcf5dba8914cae4829ff83745bcf203c2c9729ec5f635d368f8697139b18f1c39ea4e3e849f4b3f +CT = e359459af9418493dd8af46d27 +Tag = 4dd94f3b128f34ddd4036886fa084506 + +Count = 3 +Key = 7434e4ec0aa26aa89f7a025b7cabee6b +IV = ed9fa99d2a22cb4fcb2d25ee +PT = fd53183688a51d4bcbe52f6d37 +AAD = ec9bad331852febf4ee1928c65d57df5eea95caf852fbb821c022978d33d07fec1ced606caed13624bb6d08a22da7e23e39298e10395b29d91a46220f64ca4d7d333d93ddec412322b67d5e101784e0a65088779b8c44f7cd05d +CT = 97f74cd6ff2ea7d43262fe6f19 +Tag = 7ed5bcf0ce0448fa661d0c0fbcd36578 + +Count = 4 +Key = 72a565d3b3b6814bea37db7f659ba1d2 +IV = 6f975cfb8f0973eba7cff602 +PT = 46a9956585a9c06507ec073e2c +AAD = bac017084cdd4c035a1917de4abc453e875d1ec9f7d603683cccdd64e6273eaf11619acbef407fed03ff3e76373132c5bd680f7645e4fcdb09ccc60ce65584f607a090426f660df5bf4daba95e7cfb3f30e4197218f8decf0dca +CT = a657482d12377846ebe3ca6f66 +Tag = 0f10964e776b25ae079b357e199c8cd0 + +Count = 5 +Key = a85a8e0f16c7af9e7f32c817611a0249 +IV = 12b4a1c1bed206c426c1d977 +PT = 4544079578dc90631c616a89cb +AAD = 40741eac93ba6f3b60fdf1ac1b17fa3dd70d1ad4755f5a6bbd59c9c5aa99bb65bf7e077e5863b1d0b93104dea7b8e455d7bc149668822dc788b46980b2b439c33e10cc7c17415529c942e9eaf33eaeb627bc4cffc35cae4d37c9 +CT = b0be95166bf557bae6152b360b +Tag = 46391f35d73901732a7b9c7eb976aed9 + +Count = 6 +Key = 96c837ca5294446d389a6f06cb42e737 +IV = b37ce0928e17982ef783b2b8 +PT = 8b77fe7aac6a70fcae1ee74157 +AAD = 8f67abbb7a9394821c7196349262c589d5e1c156d6126fb3da0562bf403e733508f1f1926d6c9045350cad3d1243504dc70aa17a4de748e4a1fd804ae262c8ad557adaf799466434266b91d2c083f96218473adfc9dd2e8c3700 +CT = d950ab8631a66c313d6801977d +Tag = 31e109753cbb651ed194369f00840323 + +Count = 7 +Key = fad699fe2dfb8a2b955708ff97b15892 +IV = 61d9979bb5dd655e826abf68 +PT = ca88d99b2c88b078a9878fcfde +AAD = 7c02b7f2e7be357843a86596d7ba3a87e922bb0a982c32a20e809491c6343cfee2ee92fa2b6f898ee5b77a9ec5719de356c5e7507b1cac49b06e6fd5311eb9cf7a0c42b5252ca90632296d12ff5316a56253cc6666fb4d0a38f2 +CT = bfa286323d4904de8cd21389c0 +Tag = cf3af80df6bde595d6b5a28d6b7112f1 + +Count = 8 +Key = ca83a1109cf5bfb7d24d6ba72c6c1a74 +IV = ee40762d9a5fcdb41438ce05 +PT = 53c7fa9eba69541113c1998c46 +AAD = f54c4418df498c782ed61ccba4e657c8de9032231fd6a98c718063600d96f0e5f17fa73b9492faa264b5b9706e0d096386983694fb41b904c109b32b67c4e472e2a416fdd8f2a41fbfb1c5ecdf5be97fcd347c2541c1e50cfe18 +CT = 8cedd6149a203beb47d78489ff +Tag = 00906817785539306d07775e215bfb4b + +Count = 9 +Key = 65a467d5e8d503a0916e5ccaaf240b20 +IV = 0cc6f2f2a5cf96ce6adc2c5e +PT = b619af43215d41b1b0650bbe0d +AAD = ae98d8e675bca2cd4bf8f0860d46bd2c18f2d15dd431c51fe63c878cc9b1cf47a3b84cf1e9a02a4f0a8940008b72f4f1ed9cb5aae670899705573a8045008cad1284cddd1532791d38c8067694669d8b7d06a46969c413e6e35c +CT = 6c24bd0ecc97873f0f7c8802c5 +Tag = 03168a06b495f3f31d46f0de87d5471a + +Count = 10 +Key = 4cf328e1f2f180c2dd9e6d703cae188f +IV = 35b7cfe65331e520265d6657 +PT = 9c1a195735a84e6491a8ac07ff +AAD = 72a6a4f43598b91169a834d906cbe4cb40da1a41502a7f4bc80265a239330a9102de94a7fe8d57d28dc125aa5e6d061e7d2a90cdad8406ee899687d02f780f0c1ae8e944b300b61cd3489852d61eb2349a447be85d25d3cdde0e +CT = eb4d38c23be97445c25e8bf2f4 +Tag = b005f424f77a81f4a965aa7a1bf8cfe5 + +Count = 11 +Key = 7d62b16a551c12ac2102472492a4d3af +IV = d464c988013cfee4bafd7a9b +PT = 6de52d4b0878c26b0d8a6ff127 +AAD = 12a9155e72f6c19a9f00a651fe52d6dac331cac06b3ba594e24021900cdaa7d73a75a0968dd5d7d2f16ebab2197c620a1768bbc0839e21c8a37203af4c2ba146fdcac2b48701cc4bb5863f514c6562e01e807cd5308c9274ad9e +CT = a6dd42b752cacb47f1de9adaa1 +Tag = c6472e722a39ae44be5e4242cc58e046 + +Count = 12 +Key = ef6c85fa490919d342734357fe3656bd +IV = 7790d3a8deb8712c68ddae80 +PT = bf45d58e3cf0cd47bfe90814ea +AAD = fb04ccc1d78523c9aef6e8285fa991026c5aa4cbc8c37f9e0969d74c571e2409775d116c4a55b03f029842d7e3a53df8f7ceb9469b4461649dfb4183e57ebea8971bd967ee95d5f656873368a83313fa31cf6ab11d7b2c77d20d +CT = 7cf1afa60d3428c8fd25d9479b +Tag = 63e3a5eebcd72468e8ffab55e3caefe7 + +Count = 13 +Key = ac5b4ad09c73ed0b80931b920ceb0fad +IV = 1c0ab2941025ce7f084b8509 +PT = bf64de420133b29d1d50f4757d +AAD = e8cb8547ac67dccb3cb88e0443f9566944a79adaed7680b9e174080751d91e4d83357f28802a576e0fb53fb32e8d4d879d55aa9e79e201be363f4ddb16dad35e058a7d69e262c359c036f0d72151aa0bf04fbef5c4c3f7e91d05 +CT = 3761f611ec3ff853c915e61ef6 +Tag = bf906c3dabd785968ba5c7abd4a1eceb + +Count = 14 +Key = 35818c93c54a321f2ccc28e967d22ce1 +IV = 18dfcc73829a3c13287a6112 +PT = 6f32f25bfc511e8a7c60854944 +AAD = 09be731cd52fe4f7c6dd9aef978f8f117c358997842ffbb2df96727625669b58513e2bc97ef9c7119afa6b088a4f9312bebebfa6e71080a6e7f369207f3396f9c240a13143d7bfc5cad5049cb067ce4f57876d883bc8283fed87 +CT = 9553eb0378229fdb213fd46002 +Tag = ec228ec0fc273b67d922c2ba3dde5bdf + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 5cc91adc381f4ed2ca75d7ed3357add0 +IV = b6c657cdabb285153a3f893b +PT = 358bffedf8f6faad58344c436c +AAD = a865d813a49cbe43a3bedec387e6c44ea3c6eac734022eaa6ef90a295fcb82c1bad8411641271c8859a73fbebde470fcef6dbdab212b2e9a2107b2490dfbee268855eed4743193f3c576dca6816c5e0e8350de2488cf6ae385d7 +CT = 4468c3bfa889fff6c8857ab9e8 +Tag = 47bcc825c92fb7853bcc61b741ebea + +Count = 1 +Key = 5e14117b9181644b5b49c00099abf913 +IV = 34997f7f7c9f2d47038db726 +PT = 6cb49ff410bfe0007eb3eea302 +AAD = c7f2bd9feb6c24fef4d3d06380977a1eedc22bca5dfff2bcc1b5a4d4a3f5e374d06fa70a73567974fa0a99fb298267bbfe9b4813545d69a8a3e0eebe9695b199d70b2c365cd80dc62552dba98e10d9699798ca8c214720d57e55 +CT = a562394e08009beefa79612cbe +Tag = f24531d3947ee5771a5a8cd40c23ae + +Count = 2 +Key = 6cb0d2a5632db82805e247fc3db1aac8 +IV = 5058ca95ae519df532a94f78 +PT = 8c85bbf4e576384bd3d385da2d +AAD = 1389d1f52fb43823f1da174d1f5320202e67acd284d10c41f93b9649273edf08751f2eef48955874b92b8ff813aad4c748975cc0368cef74f7455b932ac9e9ba69f0f9235ef16f341471f7bd3bff77d67cc648b815e8da7608b5 +CT = f5cae62c37affd041f4080ed63 +Tag = cc3514df7fbb8244adf5dc4efc4cc8 + +Count = 3 +Key = 607b55b625a5ac7b9591820c2ea3abc8 +IV = 8c81a961f1cc3bd7accfb330 +PT = 05ddb9e6a5e71d2adf4107ebed +AAD = 8e04e1f40edf757beef49f5eb04209d3ba2dfa931b759d005bf13cc8c84c50edc46cfd9d955450de7af2b922a9b8a4fed8ed5c469136dfd41a51939e889057eddc66e53fbd5842e6f980d357f867cd3b67c6616e277bbd7d2e37 +CT = a61becf9b77ab5fbd0eab959b8 +Tag = 593ccae76cc181b5356daef9b0da34 + +Count = 4 +Key = a5c9dd6c1ce1820fcbea0ad1bb6a3cf3 +IV = 37db1600bae2537f0cc8d01d +PT = b0f329d13c6b4c72aadf04bb3d +AAD = c375686b80995a1af962c959cf14c44ba1a7bbf1f3fa32457c19d6778b9bfacaec9e9dbaf9c2ecaf6a65685feae6733b05bea8dff76a66d28e523a6b6ff256da71dd4552f3a2f837744d443391653ab4884b60b15c193e90c4aa +CT = 51ff7b35cdf1cc57db83284ad1 +Tag = f95187fb55dfd8db428390969c892d + +Count = 5 +Key = 8af98b4ee089f1dabc98103faa95cd6e +IV = 3a745e1b00e03ab6a01e038a +PT = 78d37d8d8740783e1d3ff09846 +AAD = 1973da0e2498c35c4a1e466c100050c1d48c543a7e6abde895df2ac7508b46b97b62da23008daed293cd8261bef3d222386e80d6ac05d07894188aa83283bf3fdea5eb6c83fd4c3019fa8a3cdb51b796c50cd49265b937f7b04e +CT = 60a5f4cdef648906bfa4a3c0dd +Tag = 393478913ac64c63eb1ee04538ac86 + +Count = 6 +Key = 4a5f3bbce460bedfc78c092a5ceee1e8 +IV = 81f0b95d5073ace49054345b +PT = 15ae004edcd831646593bba22e +AAD = bf11c91dadfced04ffeda49db2733bae3fc680489d68aa65dc4def62f67fce59b71608ef7fc167fefef36165a0502573b4abdaf980bcc0d6ca0ddb7be4c446481bcf0e45c6397feb33942439e8b0fad9145e24e9eadc1050f08e +CT = c1ce871f1246b2eef84334f0ca +Tag = 14cc914eeac24e68bb3326a7dd40c0 + +Count = 7 +Key = dd1beff7e26e5a125ff308aaebb1b1c0 +IV = 335e15f3ee4cc288bfdae018 +PT = 98ea85aab9fc7194cb321bbe17 +AAD = 9e6402281328167131c424ff3cfbef800d8ec30365802d971fcfc6cceabaa9d308151507b66e9e9003acbe01930583e926a6ce49f3148201407b80fc25878803bb6ab8de47261958832db6f9f828beb63d8d30f296345251f471 +CT = 411d67a4869864270c18390a9a +Tag = 5d68da4bc904b1e496e77a2f6c24d1 + +Count = 8 +Key = be80ae6f3d3590d9a2162e97bbe458bd +IV = 444470463c35ce9b20bb0efa +PT = f75e0a4e83af97b348c673c869 +AAD = e840500230060ba2de12ec57f0105315b0c83da68911532b854c7817f479a92f3dfc03805c9007e7b98acd44619afae0f523fdea8a524c489b72cfc6ab622d9c265dfe29fa27ec9da62d6d86dc462aa36d78812e82a5fad3b166 +CT = 5d472d34aa627daa236c2e001b +Tag = 29c3df385a4bc19ac38276db09380d + +Count = 9 +Key = a04ebe5a7f8853a5afb8f9b465bb7282 +IV = 13e7f99480637503ea5739db +PT = e3dfe56c2658e3a586fff5b34e +AAD = 9bfc85fa63c3dc4b9e4cbac942ebe0e36e110989064444515f9da73734a0fd2e8d0e12fa742c418fb52f25ed81a5961691813f9c027f5c51e24f7eb7c5ae90d4beafef795c9b9a2137a3574f58937d161caa1836e80ff20198df +CT = c298c589774b93f06d018e8a01 +Tag = affa61325dcd1bea62c7cd35e00ce6 + +Count = 10 +Key = 75be238b6b0202327ecc7696457da7a0 +IV = ece28815feafd56ac8f54d07 +PT = 0f8819682a6f6db08844fb6ccd +AAD = fc3546ec0a0749bbd61df7bc714b2518b6ce4c6210bee04893d7a4f09f37599c1e8eb73fb193a651efb5b36fe01ea57a0b789d237e9e6d4706abd50567ba2236c84d3a468a82b48be66d7b59db325e560a3a78c3d634dd27d4ed +CT = 1c028850c3e75007d303b606ef +Tag = b520217ced19d74ab339600fb0572e + +Count = 11 +Key = cce54cd63a5a84e4822c17711176f60c +IV = 8f7b829a92c6cfa0e630a3c6 +PT = 1decfc1b2822121f24cb466c2d +AAD = 15011d84fa05cef7a74fda8a267a0210b2b069846f9423e8f3c85b3a556dd0d55716ae921d449828d3cb4e034eaf568bb379f4d5a83567badd86ad7d2e26de70f32fbecc888e8eef094673502738060b690dba6dd14ff2af83de +CT = df5ca86e1c63931fac947ea89a +Tag = e0ba75070931ef3acf8ac2a40b574d + +Count = 12 +Key = 505d0ab0909180d9a53970f40f738b7f +IV = bfac60db37e13067d7f3f847 +PT = 0302ce9d88318422476f430776 +AAD = f201ae2187250f8ec7fe983971c75fde394533bd7d48fdb2a80e8206a143e652d6ed9bf820a1432e985653133bb5e41456961ea62fe413529d030cb7f22361a2b97ce3ce57b127b86d4300f6d855f778c8a640733ba771eb6c0d +CT = a136eb73cc9e15aa5a8a6c8b30 +Tag = e1d2319fd639f08d193c42c2099668 + +Count = 13 +Key = 748ea0860d9342a6c8baf15d98ca6ebc +IV = 897820558ea80085e9e927ed +PT = a9286ef306ddaaf70e56b3e3f9 +AAD = b1e8f8f5de26a9a8407cabd3db5576cb180b08667efa1dd9cca21c6b5c12059d32cf43b9608892e51b2ff4c312810f8cffa5ffbe18c220390092a51ecf20e4a747407d28947c57dc1ad371bb2324e85182a2e9295971a34ba15d +CT = 9e436b626d631746b6534165c2 +Tag = a0dd86a6e0632a00bf02bb4a00b12a + +Count = 14 +Key = 20f826f94ac523f85bada36c3a3cb1f9 +IV = e3ad59aabb229c4caba76a7b +PT = 045d0d9f50ad30780b68cc0015 +AAD = 3c0870134a36dde9a216817baefce1d98e9450ce04412ad6a166b68a8c7cbb2691a230010a3f0f897495e811f781348d1467ac5a7fc9bd98af5766206966c6cb1034dee657169fe749306a18d054444070261500f3dff2b44735 +CT = 894c0b42661793dc76dbe7610e +Tag = a8179f84c0566ef47db5ee786cb7f6 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 7d8e80316b593db8302bfbb9a94ae134 +IV = a7ce7f21e2cb4fc8d1831f9a +PT = 52206404d281e856db6a50af36 +AAD = 6213de090af2b553e4d54fa9efd802820b44e2489bd5eb76fdd151ecc931707e27db5242e5b4f68c8b41dd5a5adef116b818bc48be12dcc5be1c558a98aedb95f5a9c6822b14f9a2fee15120a08dae07027509a33a5df4c606a2 +CT = b6ca3791764ca5202949a2b39f +Tag = e1cc7b2a622c08da0594c7b61443 + +Count = 1 +Key = e42bca4e306ed63a1d03124a6079789c +IV = b18d3441aec7cd895477fcfb +PT = e743a1e1d9cb199597bb560150 +AAD = 25142240416be0cf92e58a69598e2449f5a9c4b6f4c2338fffbc2416639ccb5b6b75d763dc73b1ad2ac5b386755a968de4b2fe3467a9b5194408398b4e80b33204afb4d00be2226ac79e3cd5dcbd2014a0b7a836484671a8a398 +CT = a9574a660624ff461794160b58 +Tag = 9d43ab00ffab9f4ec59a571bf1e9 + +Count = 2 +Key = 5afd93b7b9425f3596ac62f327e41423 +IV = 0104b2ce32ba6c2f68be123c +PT = e56b841a0b32ac3bff765ddd4f +AAD = 2892dd2a5b1f43875b59cc9bfb564b02a65e1f5e7f4aee62d9e1a23389ad292d795c3f38871dd97cedef8e2f8bccedb8b14524907a1460e6bfa23bf6eb86479dac0bf23e2f90362001dbdf222845dbbabd471488d78946aa9ce0 +CT = c89892c8ba9d752e427dde207c +Tag = d4dd96d0f0c91170b5946e357e83 + +Count = 3 +Key = 8146847196a45712e8bde2caaabee309 +IV = b05bba1f32c5cc9019920d23 +PT = 7fe407cc8fa57ad29f66c4be30 +AAD = 09ecf71d50a92be1c7974c34e42976c331bf130045453c29ba5225f820f43b65dda80faf4b4024416031eabe26cc1567c00e387e4a8297c9b17fb82b6890574dc157d23ceec607320ee8d4016e51508e47dfc4f4e48f25761cfd +CT = 9b37ce51bd64d2c2b162441ac6 +Tag = d6e5d74493955e49f7d94d58b98c + +Count = 4 +Key = 7c30e22e662ad9216472b983204e0a99 +IV = 8fea1213cbedfa2b93bc70a5 +PT = fe5e39e48bd41fc01b011ae1bb +AAD = b2bf8a5c5f6eca74f6e863f2350c51b0c997f56846d3c08ef05e554a67fce0b0927cad1a864bca079b19e9835e7dc0c4437fd4dfce0254cd932e65d8c9e97ec42f0daba15aa9c067bc94844463449f6f01f408d16bca5fda4928 +CT = 346d283ffe35a881942bff6c70 +Tag = a94320a77fd31e6474820995573d + +Count = 5 +Key = cab8f021b397fae7c9b1685195847854 +IV = 43c7c9c592696ecf4a8383a8 +PT = f75d0f31fcdadf1a3ca54b9feb +AAD = 3e2e8d1343caa1d8156164b3a1871d921bbd49df471ef03cfa898c05a29e0a678301d100fc3493f56d5bfaad22dbdc19cb9e4424888be316c7f1b32dc0fae875850b781c2fff1852cfd871bdf164ba2d3b8b05ccb4e5565136ff +CT = c9b841f74ce4b754b1fcf282d0 +Tag = 5666f5ee1e6f63ce39cfac0a5aca + +Count = 6 +Key = 57f01e798c922300d63ddbdaea3d6571 +IV = d66cee3b4fd62e5217188c81 +PT = e3e9c28309d2cb8c7b576384e8 +AAD = cad797b6198a6b67cd97cb774dc773afae4571bf1e89aba99e731e6cf266c602e2955b2e98e47d6e1afc599b5b08153376f7de514e18620599a1af6d9e1a1500255922370ddede3b2af449bf55407b03d4f097ba3c27f7b0df62 +CT = 3e293f07f09b1b3e547f45569a +Tag = 64ac7158c0bb5cd143b402b8e0b8 + +Count = 7 +Key = 20094f38f3f7112e264853786a20f924 +IV = 18650af3f46a33808aac18e4 +PT = a297d9e8743361e6364bdcb217 +AAD = 8be08bea1a20eea2fb6fda244935baa313dde12d98cd095978e46fc17bf54ef9b23f8be1906a7649c9a57d2cc45931ec398f4be63aa172a0faa82ed612c02dc4d745fed354b9587f05bf9711c9d17082d3d0199c100f78935ea9 +CT = ea7bb9ba9497ea0f0234ef2148 +Tag = 3906748a64e938fb87534c755e12 + +Count = 8 +Key = 91ed5c4a758052bf0793ece11f764723 +IV = 04e2390f38b1c2bfe6cb569a +PT = df38d394aec80547bf7352ee97 +AAD = 4276a1551f7cd18e96dde84e07b33576555e2e2178d18eac6b89c2e75bd479dd798d5ca033dab3913bf427e752f989c8f5813aa38288c98ee441b94f79f8a014a7d971dfb807fc9171bcb9d198532342acbb18667561c1ab91e9 +CT = fb16fe01aa4ecdf3a8f95ba0e1 +Tag = cdeb33fbdd9ff9308dbac1bcf36d + +Count = 9 +Key = c7b43be4b328679579b739c5352654a3 +IV = cbe4231c5d2c7842e924318a +PT = 3f22d8f72bee1aaaf939746b03 +AAD = c5b8fd72a6d3d60f73063bb1ea7f3305e30cc74e1dd752ac94174252744ce6525e6b1f573615602c8560d1886e1dc6486a9db52183552448338821d2206a5bbeb17081cd7fbdc23c4864c59f3c8c00428147f11e07730af8ca0c +CT = d70c8f14bb023d9cc13d31fdab +Tag = bfd58df0539279db6446b238989c + +Count = 10 +Key = 80eb0eccb35c762f5bf0f56118ae25a0 +IV = ccbd4628d263737f6e35c877 +PT = f8795beab1d2ec4a55adea8f32 +AAD = 35ca19c9122440fe0a4c3695b2869da431f2710f759a165faedbe5232276bfe9469cee5f2878c33c8ab38301998bc1b30d1ca5f5c3cdd45544190710509932e66337d856baaeba5428d18e5c1094ffa33eb4f39b04c29212f24e +CT = 0fa09b56808db7971859acabe0 +Tag = c54a3eb460d806885c7f2675b375 + +Count = 11 +Key = d8b3cd911c72fc2b5d528818ac8878dc +IV = 0d538289f76d68f41ed09b16 +PT = 691ed6a9b08354e4a67f98e924 +AAD = 32ca3fe2f8e72e2910d91883dc8253ee3a4688e84c2d7719dfa07521a3ca17a51f7bd36862b198e2787fb1946798efb0fe4d1861d2740e6304a2387aede2517323436cd3f28d2b2a0c7015cb41648547fe9b66bf710d3edc29ad +CT = b5a608079686e6f362c156a232 +Tag = 3b97a0bb5e5cbeed0db039c71af3 + +Count = 12 +Key = a609af2417eca61a16625725ea2c0689 +IV = 328d20f379652e8d5f0eceb0 +PT = b8db6ac2477e169acaf969274b +AAD = 725988db4f9b52fd125a0b981c93cba1cf2268f94b8531125c8345bcbfab9e0f6975f2cc0ab1a9d5a318aa2c83124f06682adca750947472f299dc41a29bb17f6b5aeeb06c01e1f9b5896c9fa8fd884f962338a2796c6c649167 +CT = 46bf2a5db321cd3bb11ac18d7f +Tag = c0f877eb811eb803cbef3e3846d1 + +Count = 13 +Key = 50c811e88145f36e913bcb37f232dea9 +IV = c4872eb5092086b9e7c2ea97 +PT = a8c59979ffe949ee5a54b3b5b3 +AAD = d06289c698bc0560e1db2e8f08137106b8729c5934b0f6e88f94dfe5934462711ce9b895c88c31bcb98a4783a5ab0af95940aaba468f08acec9ba9a202a75f3c6a82f5f801835f74ab38990f7d40f52ad9b216522c573d33fc9a +CT = 31cb695c1624233c763103a5d5 +Tag = 627cd2e455b970952b4f836f5470 + +Count = 14 +Key = c79484846effb08cf2e572263d50e7b6 +IV = b65d62494af278af6037e3e0 +PT = 99bbd4a58ea290074d02bacc58 +AAD = fbf9f7b99c51b7a61223d918babc963cb75f3d20b5facbe6d5348566b7a83fdbd5be7d9a7f41c5b02d656906400193521f74ddb59ed0a07b2b08623217ba3243fa3a98f8a61e56fe45fef16274a3f89e1fced7b107ca87223fcd +CT = 0de395aed4f31fed1634fc7eb7 +Tag = 6a9bfca1b8c4bc27a6e5cef0fb37 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 3e59188306249ecc7fadf0670c22ee89 +IV = 55c2abe3cb84956ddd080059 +PT = c702bf46ccce1ce2b5ba48902b +AAD = b9460aaabbaee85fe1901d36c73950f55776c412339599ed894d46189d38901f46c61b1118c8623c6be804e89210946477a3f8b0784f243199978668a8e4eb9217f06bedc7e020d9992cf3c4056c18b1a55d348872ce1a30b972 +CT = f47fdbbaa09ed29334c19750d2 +Tag = df12c1e5eb040a5df440c1d6e6 + +Count = 1 +Key = 486f8474fd24788e478cb92b8cbf2cf4 +IV = 85d0df1299d852ae3a174533 +PT = 7f69c7e3b1351dec436832b826 +AAD = c7cb4d1b9e070024d56a9de53cf7ab476219d3cef65a40ac3e33c592d8ce443503de3e5d96c0f784fb1ceeb64b6e12c2a133d733a933343d8c14f4742ac0a843938361d4dfae01a382afa11225ff128d5cce7ab4bf2d78bc1551 +CT = 5e3c15c1a1718dbea2c780be29 +Tag = 31b8f19bd42e7019526d582403 + +Count = 2 +Key = d94225a9b91f2d7e17ffe49540979904 +IV = 53bd298e7f5457377306522f +PT = a4579de563392248d5beabc883 +AAD = 10b416ff6df95804e4767313c6a1b9d53f91d17fd825085eb443e0e5f53067eae9c6d635be5edd286af14f4b034052b5489420451348339ae3ac0690a3f17429cbf15ff124037929c740804d9035a5f9b7069fb1327c1845f4f5 +CT = ada0ead20e0913d4015c13ffb4 +Tag = 8f721b4f9fadd24cee1bcf0d75 + +Count = 3 +Key = 47dd6d5bd928e1803480077596af1257 +IV = d13542b6ec9624eac8250f0f +PT = 342818d4b1d22ad9fb72bf6032 +AAD = 1b5e9b72b952694d8ec936a6e9e8aeeb225f41f12d64b92f6b9caad530376587dc51ef56d84664c3dbd1b6e5a6c95d299b9204e8967f81b86720962429c401e8e5f4ed4ff4aa562fcddbf7fb1981daff828112c41cad8e50ad06 +CT = 7ac41c29c4b67d1bc89d99216c +Tag = 46abede86967e80669222fac54 + +Count = 4 +Key = 8ab1f30d017dffb3a896a6dbe3544bb3 +IV = 476aed1f7d410db2732e3152 +PT = c3fa9fe865a524c4ae5663a613 +AAD = bac7037fbf0401c41a517f927f0c920ce900776d34998a205ff8dd742dfc90b9da1796a1e1600951d9b8ead93934972c35d9e21214f988fbf2ba1f56d4c26caa2c436889143162bd3a9e53722c9b53ea0a4f53bb5852b70698e3 +CT = bf8bc6c9498b0914cec1463073 +Tag = 504aa53876d666864d53abe706 + +Count = 5 +Key = 364711abfad769ea681bbf4b5756cf66 +IV = 013681685668b75ea9027d10 +PT = 14bebfeb1af22d25453118d224 +AAD = 75c6d1f96dfd820ae139c8180afc2206b00e6e091414cc01466865a9d6bb61933de10646baa667a8f37c093718a729ddfaa695541ec76a7d19077cbc3e79dddc15f36c4ea91823527214b6eb1de5cfa026497b694cbf79266695 +CT = 2432cdcbe90ba599c63fadb990 +Tag = 50a62d3f86017978201aeab856 + +Count = 6 +Key = c3701931589588f009e35b12d293e4f0 +IV = 2683391a6982f636259c6c83 +PT = b28e5cbd8119d402e13471c173 +AAD = 8e9747710e3eddfb6e59c71a425d5a7ce0f2f816cce8583af0175c9fe4b289d35298a7083f508ab016f29dc4c24876426e973e13e8571a27bff5f1e0367a6ecfc9423c6bae50df73f088d186ac87c6d1c63d10b1e7c9885d7c55 +CT = 0eaaad659ac2f3222bf1ece84a +Tag = c7d7c3bd1174e73df1a4064a9c + +Count = 7 +Key = 1d937a11eb6167ba6c3c47a82520ffb9 +IV = c5dc040f1a624114b1f5d6a5 +PT = 6fe12b075ef80b69215ff4dbf6 +AAD = 85ad7fefe66a9175e18684addcb49a193f1ff6d61f81ed14d366ade3823dfd10cf6582f8a31627fe0c628ae7452aabc341d624a2ef66db15496e0264fe9c494c62519792c19acbbd94ff6f7b341402e4b225f535c80e7a86b1a2 +CT = b6ca94467eed7e9cf7bb54c3de +Tag = 5e0d8e6d7a2c798ec401b8ce0c + +Count = 8 +Key = 76a8f41a0be2802082d68b46e4764fa6 +IV = 99abab6fa29e216caa40f9c7 +PT = 402235ab5b1b237f7b7422a15d +AAD = d9e6e92d122456f1cdb7de5e368c37b48b36559d03e6947f619785a7d51bfd3c1280a38b40359fd0ac2f9527b3388f8f330d55e7744e42cb2bbb99a16d925d912e798b3780827dcd8bbcbac43a8faa655bede0a557d963101df0 +CT = 5a23cfc209160526d0ab929571 +Tag = 91a52f738a53e78f14c036663c + +Count = 9 +Key = 67dd69df61db5a46aefacab33dd4a031 +IV = 8d774e4db49d2209432b8ac2 +PT = caae84b8c8768fdbd30d19b6c0 +AAD = 106b67474730f0f67d8398c86299fcd8dfbdaaa6272e06eb4f7f607f060e5f176a561855d550a1587d4743bd645eaf6e5befd3fecee347875f484205ece32ca51d280809681ec7fa89c23f15f3c76e7da7cb3bfb3e2ad42dbcdb +CT = 2cf795cdebd16fc283b67f9c89 +Tag = 6a9b760f8e11f319bcfaba684a + +Count = 10 +Key = f127c1ae6315e2fbd6fc020e49ce01d5 +IV = 01265591f92751912580508c +PT = 8fa4d9e06d4747415d7d1526d7 +AAD = 1a58428e8b1a5a92b5626ad8ebe754183adbdaa6618ce5d9206ccf77eb8f6a3c9fe339259588dc150bfb2e0cbebd8a9b0f9375810ba2f642fa54bff13c3d7f6bd86de86504ea0095a57fdeda21563ac64453c2d6acb4d1482b8e +CT = 9d509ed9642dfcb9586c26e1fe +Tag = 7175f1c069e812327d853b0d12 + +Count = 11 +Key = 6cb0aae4d0d1516f578c5575ac7802cd +IV = bb9052a33a704202cc1ddb46 +PT = 4b127e25963a77178cf52280d3 +AAD = 557ef8d3e27cc701eb8cd3034b9b33a2161644424853b4acdb4016393a2447a1aff6497ee37746983f85498315d9e030ce98f6093c3a8ef66971c6330aecc9644696d581b713007f208412fbdddd1e7b65f2551352ce90375d34 +CT = 2db315d87840f20e94a49218da +Tag = 2ebb17407fd93def48e5f712f2 + +Count = 12 +Key = 0168ec31082da7612fc9225d76173cd7 +IV = cfcec28fb48a3400402d5f57 +PT = 50baa21004ca78b3b56e44a962 +AAD = 936be023d2e6f7be17add2305e0e89e51ae5ecb6be7e75450437761e3fa8781bcf911e7cbb12dfd0170945007ff5a6183b00dd59975b8fea90c4b688fdee32c0c4cff852677866404ccb7046a925391073878fd117b3425a3426 +CT = c0ede56bca3ebf6b2b6a884d2f +Tag = b3cc9ce5606f1febb204f554f7 + +Count = 13 +Key = 1a883f19f6ae4b8859bff07bdcc5cba7 +IV = 320afe106adfc065b6b7bc09 +PT = dcbd9b5d34d13fdb865ba4053c +AAD = 6e4429884d02eef99966f37575bf78cb2ae76fbc52a1dfc380f4941cea4edeff4c150accdb1959cbf8eab8ce171f4e3091fdd90a5dfb54d98ee9d960da5f56128a64c940e39558a6d0d20b5cf669efea83711020339beccf4420 +CT = 41b3cad4a30f3a14c7cdae416c +Tag = e1be21f84745bff0429d756372 + +Count = 14 +Key = 5078d790ec90ca64ba5f90c5281efb12 +IV = e1cb7e3bec7f3e03182df292 +PT = a65e7bcfcdc375f53483702397 +AAD = b8ba001686dd6f45fbba99aa62725380f7a2cce4688c202f71e32aa738d12ec2e13b988d6c59fa7d6eb3e80652148eb25230b583ba71935a3b50bc9ca9acd31f73e5e70ceda10cffcf26ea5fad1d547e981b4dff628892a0dc56 +CT = 37e65801e27f5cfd37d96d1237 +Tag = 14627b881b5d852cefa2d09596 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 0ef21489e942ae5240e41749346a86a2 +IV = 431ae3f1a702cc34b55b90bf +PT = 882deb960fd0f8c98c707ade59 +AAD = d6d20f982bdad4b70213bbc5f3921f068e7784c30070ffe5c06f0daa8019b6ed95b95ba294630c21008d749eb71e83e847fb6ca797aaa3035e714cdb13a867ad90b2ebaa652d50a5b6adc84e34afc1985449f45eed08cac3cb34 +CT = ec8fdf5f4afb96ebe0e845dc3b +Tag = 45d4b03158be4e07953767ee + +Count = 1 +Key = 5aede6f412af376fa8f7772b478f8832 +IV = 1fc118659cf45fb2d175fd92 +PT = 3a27c27f50574f46816c518235 +AAD = 3a06bd01e85343e5951c5168dd69a741c736778da474adbc2709fa140b934ada6493b2c649778ae5bdf23507e5f2f55ae15c2906331cd94eba9811439920fc6298d3011a465083a6e96e411393f368cacee553cdeee8770120db +CT = e9436a5dfff5c79044a68106dc +Tag = 8e989c4b567fb918928b75ad + +Count = 2 +Key = 964380e0fd4fee89a1c3d608fb3725a1 +IV = 54afe84780f3fc42f6a8cc65 +PT = dd8cf3bc58685079b64fdcdfd3 +AAD = a58c5f2dfdef29544a54250ff8c6b95bd0b54f6fedeb83de76188cd91fcd18a1ad77e0cc731bba084c2d67f273a0421e11c84b2836fbf4572075cf9737410cb49da038ce9a3aa676b9e805b12c6b59822f7e41ab078f39c9ecca +CT = 1afc31ffd5022d43275679ef3b +Tag = 743e9da66958c47559318749 + +Count = 3 +Key = 9ae0957f4c6df5cec1f23c4c9faa808d +IV = 03f388f5f9be2cb67dea2ddd +PT = 044fc878d7c8eca187c26933ca +AAD = 1c9b735c7f77caa11c5e45947850c61ab9e53c79ed4f1627529e07b853431f7fdbf6ac9597b16f02ba89ff695c86f16b1a90c39dad0f5805f169d3de80eaf48723c3888c565926f3f64777776102cf93cb02c7875f6a82218978 +CT = 7d45e385c47ac04a68042b7f44 +Tag = 34f17cd7ea7e8f52d16796c4 + +Count = 4 +Key = 694a6e2bc6adeffc4fe517e807dbb420 +IV = 2ee2092fa7c5865ce71aaa0e +PT = 3403dc1c973dbe9300c4145fbe +AAD = ac6c5aae4ff872c70b9ec51ac3f2448539057c1fa5a13405c27e689ccdcd85d4af1157cc370dc50ea9ffa4b214ed05d2865b1725a85b1568fbc6ba85c12a43bc399b7db472a5bd00c291c8fd33e7afd289e03a25b5193f3f1e27 +CT = f2a7fa1e1c8c8bccccc6ad8b94 +Tag = fc285dded3502c56dcab52e8 + +Count = 5 +Key = e170cf4b36fd7a5a8e66ea64e5f67eda +IV = 0a5b76c8768751418acfca51 +PT = c89c0fc296316ac007e8692de5 +AAD = 140d015524d0418ae4bcff308a9e1a5256685e42c9275d77632e3e3b8a7b84c3695ed19b0eb0e8e37ee0588a7b23a2051564388c2eda4b2450694df1b909afdd581c8be483921576c23ab8f98da4dc52065e847f6b0c5fb48b01 +CT = 399eee908db3d58a08bec02597 +Tag = ba5507ae5146ecd7c6a25b54 + +Count = 6 +Key = d3792a351ad2178882ab05d2251733b8 +IV = 74ca392807965aed436e42f2 +PT = 08a58b08a644a5a429aa5ed5c8 +AAD = a10b546f6affb65bc52c2a7d0f925009df14d801d26004e3edab72b4b8256db8177b9fe932b1ca8c9adc4bdf1644ed582ac5837a6da3d0305bbc8b12b735b89abc8fbb0e1d5063756ba35889aea80b69281d93937aaf46b19012 +CT = 7064f505e354fa19bdd495287d +Tag = 8062027c59e02ec2dd28cbec + +Count = 7 +Key = 4752af39f07df596f053b6058f265d37 +IV = a8b685cd1fbda104d1088d55 +PT = 7f00e69a6169c01c84ebe4f80a +AAD = ffbf3a5b6cfb0bf2f41276b76777e510bd09dd1f37bfc2296734c3b11ece9c146dedfef843f386c818fe306bcc556eb9897b4f310b0cea1e1a2fcaa38f9201f36b06c3c7cf874ede7726f14bbd867771aa51db75a89e3cdbf87e +CT = c581ee98541189272de3c7bcee +Tag = c71b1ba30db86e797c9b53c7 + +Count = 8 +Key = 9c4c7716cab8d8023a16acb54ea87f60 +IV = 5934f664a23be46d2178b02f +PT = e708291f0247fed98f046b362d +AAD = e7ee2f7c67a38a5da785dfef297bcbe9ddebac6e68870c899408b5cdf1db517862787ba4b1f549d9318d6351abf2d045586a0d17d4de7cf3294c71a5061e4a1d4c7fe3034819bc7773181410ce938d9bd9a7d21958eeb445014e +CT = 66399c5704e150d47e0fbe4512 +Tag = a3798bdd64006a7042a67c22 + +Count = 9 +Key = 18a5baf836aa71ffa81a93522eb2ab0b +IV = 1ef3801fbefc9aff97d13d0c +PT = 4df13eef5ffe62c0b153439311 +AAD = 7757ae0d29d001ce4a5b618ea8a20f4b6d9e7d5fc712d27b48f35a26802cf42d669e7f0c3e711410dcb217dd6a53b34b573e6a162ef85867f39f627ef8da030a9c668d36f7a8e4ff2bd0bfa2d306e50727ae9b2fc135efc063c2 +CT = cddf013bf82e83ca570578197a +Tag = 1adbab7fa6be11af0dbeb468 + +Count = 10 +Key = 65d34265bfcc3e89100642f8593b602c +IV = c13412b9820f9556c78adecb +PT = dca184ecd5a1b4d432cf7ed860 +AAD = da4daf72fa3da8ce6d74e3af3590a22900693269a9583c325204c5840336adfa0de0fad9db101e4e72ec1fcf713013665a0d73440fc08b538f8d264bbbf41a6a875fbb5caeef6118000cd9354af6cc1832fd74b89f30649e77fe +CT = a3194077ad39b855ccb512f096 +Tag = 4545f71da1fe46d04f9ff821 + +Count = 11 +Key = a53d8a20aad82876428be8756dcef157 +IV = 0d88a1e362c4223d693729b9 +PT = 6c61cec2fedfab164a2676dcc6 +AAD = 19e572a09b200e8ed89d43c78cb63e84cc6dc6d8a43ef16635c682f60a0e309375630add0b68a7a4e7a96cc2f5b05d76c9c217c7253fa72e0024a489068665286d1873d8349f51d47c4d7c17f54c7439e396047977f5bd82bb34 +CT = 1eb08c39a3226a7a3eb501af1d +Tag = 6f64b093f7522f37c69da95c + +Count = 12 +Key = a083296674a9db91d4aa09615ea32303 +IV = fb0f6d8f5033ae6e498ec536 +PT = 89ff2165d7865554ddd67ffebb +AAD = ea37b4e9a2a8d5d1bda2a1fae2b44b8eb2a868a80bb68cadb7efc74cbf903383961c4bb8f1de7bbafdd8bdc78f130c3746f02fd2072c2f2cb732c9b34a88bc9dc339fcdd8b994b3c75e05750ee43631accd75d435f34f21f132f +CT = ea19f44c53cdf2c31b6807aa75 +Tag = 24ee7c82ea1e7e85659788f2 + +Count = 13 +Key = 312069325b4b6ec08888ecae4d95b84d +IV = 70657e70178e122a935933ca +PT = c4247a4c534a7a237561b90cc2 +AAD = 69d792924ebb1d44f6b372f5e62997d3527a543212598abda7c7150c55665f580aebbb14f657f6b45562d5d7ec8805354a1338e68af57c40ecd80f8db2dc22e2a4c0dd4f47c81860b2e8706e4fed922b3cf98c3aee3db384f173 +CT = 4434e12c7a3553072fc0ee9863 +Tag = 747ee8bffb0be294d6547a84 + +Count = 14 +Key = 409a94d8043beb8686eb29d19dc3de3e +IV = fde886cd6abf9f3118f9dbf4 +PT = 5989f29e23c36c79758ffe693f +AAD = 8f51cd4abacaaa18c6602c5b7def0810afa42db80bd45aefb1fb13ce27272706c798eb4611cba4922de8ec1c62f5ab2c98184aec904bb312e5bf01381c877721fd3f953778786656aad695a73b2476929b1c91d21c42c2416760 +CT = 27acdc0cbc04faa224663c07d5 +Tag = 77e5d7639ea2c844e13e4060 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 62bc26ef01a81185b11b4cbd8ff6241c +IV = 0515b732ad0f3993701dca2d +PT = 2810be0ebb5e06c039d42ad304 +AAD = 04001ce914c93440bfd91510340d2d4c8a0cb0827314057f54d670ea9cb80b5280ce38e002afe3c31bbd06e89918ee616b7f62b56f274c2f6752e4fbfa67841ea48351103cace2d3b99a52e2ed2e6ca1a229ee85db6e6f425923 +CT = ca2e42a14386ad9cc6a18d8172 +Tag = 0db4670ca6f3f03c + +Count = 1 +Key = b42a258c49363fc2ba0588ac21c53bfc +IV = 8a9cf3e4e748580fa38ca638 +PT = b7bdba4e0f739c6b73e01d956d +AAD = 372c4458f4f0796aeba8fb7b581b24055b33c7b4446e82d519c2752005b9561bb7dee617d8f6e13b1fa3d893420036d5c24a0b0b2b4fd678fa685f0bb2a57bc4e8e2adba5ebda350f55af1c4530c3c0e4200ec7209629b181701 +CT = 1aaf5100ff757ab59048aa2874 +Tag = 9a22ba528c4b9379 + +Count = 2 +Key = 03b282b33b912ddd87973c1823c42db6 +IV = 12dc0f127f8e0394b4cb7941 +PT = 7ebbc57d5bd591bd99d92911e1 +AAD = 27eb170a2ce5cf67d68ae666237764fb917ecac7772acc0675b275177d1ba1141f7a88d5dce1eaf09410cc05db0f1b971a4d7196a9457f6f7e49be713d3b8566357e13df1813a64bdbf3af228376ded2613fbe31c37db9a48632 +CT = 3343b99c7c73ace50f4fae4608 +Tag = 99040f2160f2dbc4 + +Count = 3 +Key = 71b18ff9a8403e3a7e8be9733b9a5e95 +IV = ab049c437a2b28f896e9a4fa +PT = 7a0ee3f5a8bc6a806e7c079524 +AAD = dc01ab231eccabb22e55bc6de68d0c0c273bf2f52f33c382362eae1d7b4f5d4b5200548d0a1c3bf6da160da44294ebac1fa6fab5ba55f748df2b9a5040649b001646e222fb330f7cdd661cdf9a7d2cf82834be458b98488d07c3 +CT = 3fc21f08d71cb8b3a7bf812a72 +Tag = 3cade525d500d5f9 + +Count = 4 +Key = 8e94756da1a0de1436e0b9cc4eb595d6 +IV = a4bcede505cd2b2b50f667a4 +PT = 8bb2a1be07e143c9d688b05b16 +AAD = c456379cc3a4572feb158799307fbb35503dd4585bb16e73f154db46232d22b76e4bb56152a19700c93bd13720ad1029fdc18b1c142b55c108f27638df937dfd06e2fabf7ca7312ac1bd90f62aa0a11694af3dc38e705cf50f0c +CT = f8cc7caa6b83c6a1afed29a119 +Tag = bff1054990263b08 + +Count = 5 +Key = 5c12dbbe40a21df03b598e2f28e4cc4a +IV = 44a29239d9dfa47394f2577f +PT = 4a8fcd93eb1bd592fd359f34dd +AAD = c8593a17c2d48a377bdda5fe0752c5fe7750c3923856bf7e8170eee35cb236aa7c66d3f6ad0deba5d4062fbf3b5ac9e447dc48cb6c595dd381a8fb09c8de706dd28f342cc5935518acedc37b0e36b3742b84fadb64a9d3bdf4d4 +CT = ab2671f9ce334e73ef83ffa132 +Tag = 585bc4cf403d92ab + +Count = 6 +Key = e1c71efc646b96bb53112ebcea1e314a +IV = a97fd2a3b62d72ebb123d06c +PT = f2aa02f22068d6dad0e806a184 +AAD = ae17df171e56f8ec72d763d8980001fd9090d93f1e5325b232d497356e56a1e01527d2e299ae78b1de9f43611caf17b97d5167351019f80ff93386f0b9a129d99106594827be79bd7deeffe59683aa3643644bf5f1b4a51c95a8 +CT = 76f5d72c6a96ca2fa9b5cb5bf9 +Tag = 1f134133669b2a61 + +Count = 7 +Key = 6eab384c99615f3a39f81d20558f39cf +IV = 34dc8ece9ab0aa5d97da350d +PT = 984cd142ea0f7c97303cc3093c +AAD = 59cba430d1dd83551483821d4094dcc4e93d33363be857d0d5ca76e5fa73aa3d0c9157037bbadc0b93442a682d920fc5084f420735b2bfb619e5b764f9b87333549d12fa9f15c5b6fd661952e94fd23eb1a1dce45773782c56fe +CT = 5885002e1dce3dfd48113b4ed3 +Tag = 91cd9b3949a3c6a1 + +Count = 8 +Key = 726a3a4c6dc679f104b7ec532e0f3fd6 +IV = 0f7cccd34f39b80bb72b58e5 +PT = 1a455512a28fc288cb7d8f24cb +AAD = f67c9be37ef3c412d14322433f1fd638334c3946b0c9857fadbb73c132b2f72d55e5befbbcf8f068c63593ad1b93359521435548de5da76c49bb08b8743cd277875dd9b89daabee1f0372d342769be5e379fd58445151cb2162b +CT = 5cd0f0af9378855c3fbbd87e63 +Tag = 784d3a0df81d7c92 + +Count = 9 +Key = 19f1cc81730b732a086f743124a52fea +IV = 02941596fb177faca1bb9a2d +PT = c23f687459e65a894a32870434 +AAD = 5fd6c317150e3fdc003dd76eb89af32409d3f33a61ad4c40ebb869468f9e293a79e6c8641ba4f7c41bf0feeee7218db6374f4d87a2a45b8af7a157eaede2cafd4f05d50efbfa44d91b1ec37eeab22615f6f4cb86dcaf07dbe258 +CT = f253f8c2bf81feaf341bb80e74 +Tag = d9f6449c67d96020 + +Count = 10 +Key = 2a1b3760470d00ea5306fa3b40e59bf7 +IV = d0594101242f5840cdb6775c +PT = 5e96ccf85750120bd49caf1b00 +AAD = cbb9ade8a80db1da1820e1a24a1b9a108e094ebad4a1c1c90a0216a8ee30b3bf93519524f5871ca3a28520c24f890a01f00c9ef867c5dd4fb5a43d660a27d3d95d80a27f208575dcc415c4a51f9a6187dab50278327d1c5e8bde +CT = 0d6db3cfc9f8a34b48884c40a8 +Tag = 9e99a6e7e2ccbf1f + +Count = 11 +Key = 3be1d5fe92f786d0eee2d830e3507c22 +IV = 00cabd0cc8b34bf45d3dd403 +PT = d2e398f74ce4c02f36c65507ac +AAD = 48bd18b8aeb88d3e90786bf17ef7d7e23362d5cddb9d2d5d2aeedfd637d88973ad1bb80ee0e27b3cb460adb68b767fc354574fa17cabcff7326fc9f1693344c68ed242517687ca204b11d800c3f4e60265b82d99e43d021b5d6b +CT = bc628d92c7961ce62a7d78c60a +Tag = 080828887ee53e27 + +Count = 12 +Key = b4e54e943734fe0548135cb30a661de2 +IV = b98cbf298928eac412b721b6 +PT = b502572cc4840102916be29f39 +AAD = eb6e4a26982ab0af9a882bdf46abf9f9d1e87a1eb1d5f6b78df8fdebbce791942902659b54b9f03420b9291ec307020e4860f40ebf1e994b81242beff566e0bf15bff92aa7891f0fa480692a9e57870aa641a9101e95c0bbf3fe +CT = 0fafa969b8283f9e51f0f23c97 +Tag = 2e18131e1953d48a + +Count = 13 +Key = c3c85d59e172e7d819d22dd4915b4b29 +IV = 60bf18815c4f80c34151948a +PT = 458da7b7054011f69347f4fd66 +AAD = 17bf064bc2773337551f3976ad1d91d165582549d48110fb7344fc3f028c5573ad49a41b8ebf36c2cc1578447f0f4864551ad8b5aa616f9ae9bf194c920a6584060ec7fb011e401554b311ad4534eb74775b5cb33cdf36f209c2 +CT = 3fdedb1424529dfea4d40098f2 +Tag = 380d535e3f919891 + +Count = 14 +Key = 260598a80edab965d0b0c31611a6aaa5 +IV = 88c09a155c517b09c396e5da +PT = 67f691219bd38c989e3b144800 +AAD = 0bf5e2ff2c89e0255dc27a25b10013b1077939ce9a45d248450d91b64c915f5d062ec303c666fb5cb8ddeb19ecf8ccdfbb5e03b81d209266ce8a64cbc8b102a4495759eb7930e977819fb6ab229de5566c6d8e2213dabd5119c2 +CT = af0b4bb3b7b76eac857f30bbce +Tag = 27ca3a52143b62ff + +[Keylen = 128] +[IVlen = 96] +[PTlen = 104] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 49de16bff05831355cef99f9d8b91256 +IV = 9d2498e2ac3f8a2094ca41d3 +PT = b3c20c8b0f4198568c1338ca57 +AAD = 1fffcbb9ac79abdeb186eb220b76673401658b3ba2aa284ea8c5cb2dc6986a42a7039c3cca64106e80c015ac16c0b5a51b8d6ee3144d8127190890d69b39c8f395239ebefd69a1b9b52ae096d6c2a64917673d5b40e2718a37c8 +CT = 0f01c15de1a3c210f78a9f4887 +Tag = 1b39418e + +Count = 1 +Key = 93ec5806940eac48a01a3032d3f3f208 +IV = effd80abafbb2289dadaa6ae +PT = eafe29e5bb9c13ccff1ccae7a0 +AAD = 0b7133359ba55f6a11bfc7ef4296387286995cb6417c43858f7f14792d0fd1b15fd872c898d5bda16ea419bbc8a3937357b3ba276ba9a4b47eaeee6a0ed943aad549d8334a432a23e8034ec72a9f54109168cc902eb17a3dda64 +CT = 799c0433aca9ad5efd3d04062c +Tag = 4b87cc43 + +Count = 2 +Key = c61f2b57c33931994842598f175febde +IV = 5f6c50a4b95f7892641fa44d +PT = 0021837d51e87f261d95f8c341 +AAD = 5d801eb6e58dc342ab93456c32646f9324315b4b0619ee11b1e41ac3afb55f106664b6f9a89592bbfeec23b3c440c834fe39637f60832fe8f27a0fe37eeb0ed319dd2d31adb2f4f2564a601982ca42305c5d8e8e33280e7f3a57 +CT = 4f9d00a7624fa4859d82410847 +Tag = 3b580c11 + +Count = 3 +Key = 156030afd1ed85243499fc47cae21cc2 +IV = 409f185fd4fd97ee36c2c6bc +PT = d81cb8f4dedddb458d80e906af +AAD = fb6859cab475a736e475a4f1cf4d360933ec21bbb0ef615b3d1d400595c5af4c8912b74d7afe20d7d744faa04696032fff66b298fc2761013d1a38c0cbcb1271b2402566ef3424d1670305faf2cebcadb184fda242c8a7cfa75b +CT = 6473a7905f7183a0795840aec7 +Tag = ed839b60 + +Count = 4 +Key = 79a713d0b8ef3503d0a52cf17db4be3d +IV = ad8739cecab2a4f0e1a947c6 +PT = 22e6052293a2ce132b42e5cdba +AAD = f4ffeea374b45ad6459d9a8e82c12d21c31f625b01329344e5c70fc20ccab25d24d21920dcbfacce19eda0e7cbb75b76bbd9d48d13e2b00657f88701ddddb5ddf586bc73cdb68f1a286f3e64c7b682f313a636ef1524d93577c3 +CT = 12533c789debbb37ff01db7494 +Tag = 45c98c23 + +Count = 5 +Key = b4595113ecf591f276570334da07834f +IV = 42b2a8d5385c73f82d69244a +PT = 65f3936d0035a0795bc64e7353 +AAD = e95f6c8aa28f47bd7ecfede223c0e9f0ffae46ead6d2b6d33e8001f308cf49309dca7e28cf9af611479a0a5f7f7dcd93045a08c27eeee4285b567f988e4723d972e7d9f8d68c8bfacaec2ba3c5d940d239f0414eb2e3d1bdd6ed +CT = 7b57a5296bb568a49847beb672 +Tag = ec0e03ca + +Count = 6 +Key = 87cfa4bbb779fc2e4e9e65aeca27c055 +IV = 08eb50f8461ef08fafc2ab4d +PT = 7862e8896d110bdb68b714063b +AAD = cc7c6dc0e22707ac1358579297cfd09c6e8886cf9102d5d8080f3d27bdc3e89591312a806f68d3ca26595c77fb499e1edf007d856d91d06de2309d2ad73b28ad307fa915b897e9b9d45e099200aeb4305803c1f46e19f57a20c2 +CT = cbdf450dfef9b224a615a12fc2 +Tag = 0427fb25 + +Count = 7 +Key = c0bdc4142e79cc0b89bc4aeef743eb1e +IV = abd2a7dc447c8dc2a36cac3f +PT = 515bb62d062e0e9813399533d5 +AAD = f07f73b8ba4ca86be47d94a8e1639169ff20c4301f2a8b5acbc1031b72bbdfe8b3bb877a886b08e0810d1522829db5c469d435e99567b682cc65e1c5088aff0e3f649f9642b32190a7539f0521c7377052ddac264a4f9f593c20 +CT = ec7f14b4b4ae2e6956a5d7f376 +Tag = 203e2909 + +Count = 8 +Key = 5ca98d15ba30a24ec34f69cc037d4eac +IV = 0d4497e723f25dfaf49b4656 +PT = 404dfff2a0cdc9d1440bac0e6f +AAD = 0fb2878c90e068409536ea1aeb6063c1f6162f944377d9157b402eedbce7690856182a88b348b0f227853440a3cc60c4d07fddbdbbb1fcfc172a432a543a6c1cb296350b01cf109ed11dfd4bf83cc0c0ad6066893d98003b5681 +CT = 01b690815363303c522f865498 +Tag = 178c795d + +Count = 9 +Key = a2774ec11978e90fa8e2a0c4ee2af76b +IV = 02216c029e7c2e6b1154e1b1 +PT = 98b2bdc48b6697aebaf25bb768 +AAD = 42d4a8d5e407854d22bc2f85eb9b126a2d4d982e077bf1fdfb27db9fe4a7fc7b17d4d6e6975c5a9a2ef5570b72746099c3125aff27699226c5e500f8f0b684cf993bba2873cc0ad5e2fdc653050013dacf622c87b81afb356ced +CT = 879fafb7bbae82d07f307ba7ce +Tag = c499af03 + +Count = 10 +Key = c36e189e690cd8bfbcccd6c37e76fe92 +IV = 54ad43fb4d48964039702a28 +PT = 9bb6acce1dda910c0fcfe7a38f +AAD = 06798ca86176681545ad1c979510677e8a8fa87f8e2f4158f21985bf3b66e43de7613fe91f111f8766ce3b436689deb454d4c5d895d41f43cc9dcd0c3442b2425d776a0a12a1c26777f13bdc1aec663b85e803e06e624f9e7ec6 +CT = 57f4761bb7464eea97fdc164bb +Tag = 9d929b95 + +Count = 11 +Key = 002ac2b8546870e3d25122cb2015b5a7 +IV = 4a5973d74e11d747175db093 +PT = b72eeb3ef3235d294f1c51adf2 +AAD = ace855de75d20cb961624ecc58f7bee95a144dfa69227042af097495e2dab65b75abad38eff4cb7e01fe80065f0dbc752a5e51cc6580af0c46a91690769b37f1b5c8394c0dbfa606ede6e4a52e2e9c72c6814c351e5da8dc2000 +CT = 4855468317de808a625fcf460d +Tag = d584d2b6 + +Count = 12 +Key = b9bd2a01d272e669052304601c7a1926 +IV = c1e6f375efab715ff6321ef7 +PT = eb53a9d5c4b619480da2fb85d6 +AAD = afa67a2567a7946141ae03f2738a10a0c6d18a738715b5e00937448446f2ccb43ca8d4e39b63244f72cd3cff96d4771b91ac1a737351a169e46fdc3213df77adb8091c887fe9009f230fb6d5de3af0f1209af9271cbd9c57a080 +CT = 63e70bb61164bf0aec39ac640e +Tag = b5fb735d + +Count = 13 +Key = ae5e512098fa783b556202250834d84d +IV = 5ffae96b2e0e8d05c6e7533c +PT = 79a75ab4cdcfeb60699e363f65 +AAD = 768e6bd56747261c928b95c8771e0cec32279ae59b4fd14fa9a02517891b65f3cac4b6e35151cafd6dd984dc2defcfe9aa0a0c740e7a7b6b3e30fd71883ca680c4ffe8301dcd8c4f0aa6c448c52da8e0befab164c2d6da845392 +CT = 924de1067e5334af8b0e65be99 +Tag = 24178b67 + +Count = 14 +Key = 5882768ce350bb38d1a8b810372ebc6f +IV = dfd8d0907ceaca80ac81264f +PT = 179f866b8e5bc934f8a5028bc9 +AAD = cfa3e1db00303e3085c3291f8c01b7e8e299638cbf44492850388d120559ace1f1a25f3581bb37d12f47628ea965ca9d39f53d8403f9837eaaa4c301b8b1244c08b04c1c82907c9dcd1b4683e394907919c8c0a3dce0e29cdea6 +CT = f53b140a3e945c7fb9f886bfe5 +Tag = 57e9d540 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 9971071059abc009e4f2bd69869db338 +IV = 07a9a95ea3821e9c13c63251 +PT = f54bc3501fed4f6f6dfb5ea80106df0bd836e6826225b75c0222f6e859b35983 +AAD = +CT = 0556c159f84ef36cb1602b4526b12009c775611bffb64dc0d9ca9297cd2c6a01 +Tag = 7870d9117f54811a346970f1de090c41 + +Count = 1 +Key = f0a551c56973e1cfdfe2d353aad66c2a +IV = 94e95e0544ab0b0b9997aee3 +PT = 734c0907ef49a1d86bc665bb9da9cedeeecd2abfed7f591c201ac360ca42f941 +AAD = +CT = f2c2f0c35e0bf6c5f5c24d8aadba19ed35848959b9c586604c396428493418d0 +Tag = 8855aecbe9604a839fa5d481f8760ffc + +Count = 2 +Key = c635775fa1416abe375c792ea7a486ac +IV = 5b9f038596f55115986a3109 +PT = 54172156fcb2c40392009807bd3ec4a11c2c1b6d69ad20c773df3d9e7cf35e3d +AAD = +CT = 73a9d9de0a3dcdc52dd9745fdf12353f4d63d0c7646443f5206883f6b7da2b94 +Tag = 11970a60855b0fe890d4f5988f6cafae + +Count = 3 +Key = 43d0651aa5d06f2846fed833fbb72241 +IV = 2ae626772b73c7cd25dab014 +PT = cec1607ccdc6332e5371766190cc7b03a09fb814b3d2afc52edc747d70b7fff4 +AAD = +CT = ea742cc41afac5ffbfa81e89bad82f1f8a07eca281fc253b533cc157eceec4e0 +Tag = db1e19fb545ae218f4ad3c9a6da64997 + +Count = 4 +Key = defa2f0eba651799c6041e6f28a0db3b +IV = 102158d6ed54ecc7efdeba7a +PT = 67844577a198b456fa410afcede8fc24fb970459096ebae03bfe1dd32a6b9665 +AAD = +CT = 4d87782c99ea2b18c58393eef975007b9019f42667b98098404137dc085d631b +Tag = fbdf857c1bff89bd725b8ca90d643e5b + +Count = 5 +Key = f098deb1e8149b3c88320efbfea087e2 +IV = 8146393ed0dd09d89d1ae7e5 +PT = 8ee6f4c01e98b501a9914f57239bda7d5831ac147c320651863e06db60c1a02d +AAD = +CT = 122309ab94c98901104bda0488efb563959da64979653ee4f8e658a3ea8a3c9c +Tag = 93e3d93d0580c5567ecfac274da211e2 + +Count = 6 +Key = 63b28aec8f7dd44af269e48e35294a34 +IV = 4c3d88500f6a483b63ba1139 +PT = 5b86eb718b3917537d4ef51b6c74a85cc9a90002410d8f346cbe56c86ac72d4d +AAD = +CT = d0281117e29fbf9676f7887811b010a19a34475ad9e4516cd8424d0b9e5a2c3c +Tag = 904ba928205fdda9e2674805be07e93e + +Count = 7 +Key = 765ed884a7554c792cc671e93c02433f +IV = 667467b168db56adf48a26e2 +PT = b941bb1f73980b0d76324a49a6c33623d4a1063b05c82cb43e4b0cdd4f913860 +AAD = +CT = 84906e78ac79df67a0fb4ccf4c8da439094339adc92d98abbe032cdf4f5d92ec +Tag = 750a89a842a6dd7d1317f561b9038402 + +Count = 8 +Key = 816ed7edadca9e8fa2b2b9f9ebd14d51 +IV = 7da514e274b5b812722b5c3f +PT = c76908234954ff939ba2293fa1ac654a4bee41a574f2694d090980481a08083f +AAD = +CT = b59a50e4414b4903c195ff47e8f9028d77b7e73a9a54e1ced9ebb1636b123864 +Tag = 007af223e7ac139eafd78d0a2c87ca25 + +Count = 9 +Key = f7b38d0d340373b98b89725fd889be49 +IV = bc2b87a883af1c0bff8388fb +PT = 0a8de4df6e01bc7b2a36e4a123af8ce6240bec42cd4e4f09aa92520c1658103c +AAD = +CT = 65ee08ab751bef3720db313491fca20a87cdfd6b8b028f53bf352304da504911 +Tag = abbc81ca718fcbc6a75c85ada74e466f + +Count = 10 +Key = dc662c77a2d520a067cbd6bd7e119696 +IV = 23aa76d1e8c3a72be862a5eb +PT = 5fb66e144d2564e096832065647dae768659d6dcd10a1dbe00858ce4f5148912 +AAD = +CT = 612713f9e6bd8017f61410c10ba1bd21adc87565bafbd1839d9572e270e94210 +Tag = 9d7616c3b486107cc74a8a2aa9c65209 + +Count = 11 +Key = 5c5b3799a19098b9c5737783ef0c80e9 +IV = 34fb9e101915639def30f40e +PT = 05f15cd45a82f36bc4e5e3d6db7a60640faa0e929c00f0354e913bcb02d83118 +AAD = +CT = ad60f53d51b6b00fc3366a4b4bc16b678ecd12473e8bd55c363bc0d94a844b70 +Tag = 1a528398ee2c9f436743d1a08602c5b4 + +Count = 12 +Key = 3a541317198a2fb1b90470e90d6d7f38 +IV = dfa6eb2b53177ff5d0924295 +PT = 3ac18af46d3fb15d477b849fe1ead087840742cbd8b2ec31b45b8ac2e4a53975 +AAD = +CT = 66755e7ec710a8ed7c776521f214ceb54e550220177eb89fe3949c9e74e2e108 +Tag = 20425ac5f07868b49edf9896af64396a + +Count = 13 +Key = 8f85d36616a95fc10586c316b3053770 +IV = d320b500269609ace1be67ce +PT = 3a758ee072fc70a64275b56e72cb23a15904589cefbeeb5848ec53ffc06c7a5d +AAD = +CT = fb2fe3eb40edfbd22a516bec359d4bb4238a0700a46fee1136a0618540229c41 +Tag = 42269316cece7d882cc68c3ed9d2f0ae + +Count = 14 +Key = 5fe2650c0598d918e49bb33e3c31d5b4 +IV = dd9501aa9c0e452f6786ebef +PT = 5a6b60ec0ac23f6d63ff2b1919ba6382927ef6de693a855f3e3efd49bd4453d8 +AAD = +CT = f0ac2d9153f00be3fce82d24fd3df3ea49f8265137417468724ae1342c6d9f00 +Tag = 6bab3332c8d370fa31634c6908a4b080 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 7966794bf87eb327cb769d976ab8253d +IV = 3b1f7a03e6889ba91d9d47e8 +PT = cc5746fdcb1b9c7dd1e8afaf5c2d80c18a3cfaa8f7dbf73cd5553c55b0fbf2dc +AAD = +CT = 65871636ebb9900cf028e3780829b7499703f98ce32dbcd565c8693dcd295bfd +Tag = 9b92bfcaadb9c5f77035bfa3fb73fe + +Count = 1 +Key = 53c33536a4158c2632f2150fc49004b2 +IV = 4428c1b95644ebaf52c49375 +PT = 69c1787c086d0831d778275d7301a689e20dd416548901d26ba97c0c98609ae0 +AAD = +CT = a66cf5795f60096a82aff8b796c5758d2e58840c4b722f25aac441a94825cdce +Tag = 79bc0a74b6453b7bc118c0554dd273 + +Count = 2 +Key = 42abe8044fbe3e6a5e9aeed070aeeed2 +IV = 302d5f37dac98f45c82d22ce +PT = 0158f63c5b50833e08180cf6dc90b3cbefc687a2075e5b31ab9cd5cdb5f69856 +AAD = +CT = a3983160d6b59e5a1e3c3e17a7b6df691ca8bdc59bdceacf9e78c6d7b3e659a8 +Tag = 63b3a4381edceebbd176d7f1ef9fbf + +Count = 3 +Key = f8d046165f5633e5241026da2c6202e8 +IV = dcaaba21912102390a17c7ba +PT = 0e870bb608dda77ab7952a7850cbeeb477e072562604c9f87198239b0c63b93d +AAD = +CT = c553f13427e938c3af507750c33e7ba0f67eec4bda9ce43b61ff3827fd556138 +Tag = 59ceee7c35504d5459b0c2237c8958 + +Count = 4 +Key = f34654531f31e9f4ca10876e41ddc578 +IV = e5ca037aa3c293305f94539f +PT = 8c0008698e76cfc5e6f3ca4bf91eee966c0f96be21f0ac3f890370c4d4a1fe2e +AAD = +CT = 731035e2f332b4a822150e5d1169b64a90692dd7110a3e4884456def945a5934 +Tag = 4fbcd942555884be247ce24f701b41 + +Count = 5 +Key = 8d54cd569a4e93f60fe02763785679a2 +IV = d2e8a751f5ee6b0804f4aca0 +PT = 7a29c0c3843e0340c348353172f08fded4225d05fbb9178d900cbf6ac6ee57b5 +AAD = +CT = 881460341c9203d8f1a4e5e8ba7749c48fa40d8bd5ee374babe2484e89e5566c +Tag = 4d00d8ffd44f7ccd1fc91b9e85dd34 + +Count = 6 +Key = 289dd6db995ed8c3d492de14464c04b6 +IV = b5257fc9a9b1ad6d3ba943e4 +PT = 131899eef4fa4270f6efb87531245abd9b9c211ca7de956d74fd570bacb71f8a +AAD = +CT = 16c82ce856c09fdc7d45496b582be0b2745351c9a1cf7a330cab3148384b83a4 +Tag = a11a7e47fdaf03cf2f476939688f85 + +Count = 7 +Key = dc6d4b582d11b3a857211149c01fdbd7 +IV = a377246f16f77a1dc415c25e +PT = 1d496808d48cbe081fd944ea070c8ecfda235aba0c1d3469be824761530473a9 +AAD = +CT = 04d3b5e52f1c49c701daf85130c5fcb2fe0278519e36faf86daa8e7764a58204 +Tag = b164ef71f25af9dfb3d6c3c0de8c1d + +Count = 8 +Key = 825725164f05cc2a4497a070e36cc364 +IV = 2d4432001339eb74a7f320e1 +PT = f12b6331124b7966accfc340685e27f4b7f640a9f5f832ae63aca6d9c1d91ec9 +AAD = +CT = e82508cc5f2005c132f53f3fc46421adf5cc6a59e4a61eed4ae26447549b1a82 +Tag = 3482b95f28f1fc17cb9d877d1d3d3e + +Count = 9 +Key = 36d8ca9c3a83f7acd98a242ab2c16159 +IV = f589fb9d1ecd1c04f9c843c6 +PT = 18cdf1a5576f3b41e0c5ee134e24aadf8f28ce71f7b5edc13e969dcd39575dc1 +AAD = +CT = 0e36067c873e1f017b23f0a4b52a6bac10240e82315b5c15f621394f9a983dad +Tag = c39ada27ce688247ad6b35c7010ce2 + +Count = 10 +Key = 67368ee3ba7ba48787e80f3f441c2bd1 +IV = 86c945c695ae1fd24d089284 +PT = 11dd0e3f9b7568654d3a9ca40ae1adb75d34760d0765441525ae29081f7d9e7c +AAD = +CT = 7f773dca9a3580e16f92f801136e5accc85f7ee2e06fb89e9aee5859293e6759 +Tag = b1b99611b869b738281335690d717c + +Count = 11 +Key = c92e2d698b46552976d4c87b9fc69b84 +IV = 5e8ce0453ed49f5207475025 +PT = f803d60c0c01e5be1e91013a624b0e791888dd004bb544308e1ffc3aa7e3741c +AAD = +CT = 5294a9d8899239542f9b5fbdb50bd77b1918b2b34a6d81d2e0abf127aa67ca00 +Tag = aa2ff0d4c67c23d4d192793d7c2056 + +Count = 12 +Key = ee0225e7a4322cd3abfc7f326ad8f357 +IV = ac888fc97da032d413a2c462 +PT = 99f751985996e61ef0067d847d02c6601481cda37a7d63f1756157d9369041bd +AAD = +CT = c7fed160f259d5738561289f6565eabd0a4a3a81e859264a21e0f4b01df91ce3 +Tag = 54146377882f95ff58b8846d78266e + +Count = 13 +Key = 71885cdc2c001fe12d8f7bb21c8a760b +IV = 8bd050945ccfff393d09b78e +PT = 94e68991a5929f68051f1889468a86279adb88c625296bedfa626fd9dacc48e5 +AAD = +CT = a3f69330675016f80427f8cbdb42c4fac266fa30a26aaabf252bdd51c5f7ee89 +Tag = bd2dd9b8ee3c505fbe3d486de9c11c + +Count = 14 +Key = 94833258b98e986c74db98e6f9ddadcf +IV = 22065fb18e9d7949a4b74357 +PT = 2f7b098750bd3144d786a5314b184d6ba0354c06a88f957405339783658ccdcb +AAD = +CT = 8df9b5fb9f31b6e6cf7cdb5927aad43e3c1748338e7f70143039c9aad3e5cfcb +Tag = 60ef1f5826498aadc40d301f3ab044 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = c75116c19f5ea4ed1b10bf0eaaebe5a1 +IV = 48a53fc17d4300f4a23a5a39 +PT = 4569944fcde5b3f4ae4d50eb7a0e3ef88dab44b684c737b90aa88cf579bf0558 +AAD = +CT = d58b89300c62e0b0ea729d6de39545ea35ddc5a04e22b709f45af532bc67d90d +Tag = c428abd4bf85468d57236ed16d36 + +Count = 1 +Key = a8e8be3a1e379cc699db9904874c0f65 +IV = db1f2fcba4e852b564501747 +PT = 1e06756a08f33a154fb614feab6adb74a531f695c877fd2cd180c801172b21d3 +AAD = +CT = 7a713a7f3129bd7a699a5ebb0890b1404d869c668f9b541df62c13bbda392fdb +Tag = bb453eba9c31da64d8df3fb859f8 + +Count = 2 +Key = a45252d27f5b2857f7083643c45b32ae +IV = 0265791b108830fe35b60be3 +PT = 0399c27c7a31f03147c22a8257999b84b75aecf26ac85b9454018638426aba2b +AAD = +CT = 6c8f598d52d828b8176429461d60b91df26ad4fd556c5796bee39dbb5ed1a865 +Tag = 9768ee4bee566b3d5a9fec4c70fc + +Count = 3 +Key = 62d07431fdb4417b5bef78c5b151ee58 +IV = 7dea642d85eaf9f6279917b2 +PT = 8731cd5c0b0e1c89b9d88ceeddf47eddbb3dd883a5a357be8983c6a55a0e6616 +AAD = +CT = a522c616b7870c6b4081828a68133092a16aea1cb7e5ddabf78324c4cc66ad00 +Tag = a8e77d67fa52a484b0448bca0a00 + +Count = 4 +Key = 05b280a3e917b75702dfcb15674715b9 +IV = df3dac87feee792f7d75d48b +PT = a13eef456c7d57d0c6359571079f07d31aaf653ebdf95df543bf43087398d7d1 +AAD = +CT = 102aabfa9b468846204f3a27af16aba76bda16aacad2ddcee628683a3bc88a1f +Tag = 0999881da33533a361ac777a3bc6 + +Count = 5 +Key = 46402d9c49ee91ce88c7d9defc696a96 +IV = ad3443581581c3e95e0d2177 +PT = e13c623d68ad42d189bbbf4b07f6eef55800abf880a6c12b33a16495b1c02a66 +AAD = +CT = 9dbf974569d120dbe5c0bf26caec37d74022bb35836c228134b4c8dcdb218355 +Tag = 03326c3e7a8bc49cea90b4922652 + +Count = 6 +Key = 6ffc6e087c9355db865f92e783cc43bb +IV = e2df8455c5eea633d5f049df +PT = a65ffd58e21c7e9d72026906a3078b338b1b6ac8cec2fb9b18db68edae85af8c +AAD = +CT = 184b87d82227da4b642cb8acb2fffaff1ae19c259be90bf79c870f9970cd91df +Tag = 9d9c6a35f74dbd0814ad7c2bca6f + +Count = 7 +Key = c03874ab56c32bd3e852636b7cb9c614 +IV = 55697e74cc8307641dd51630 +PT = 017ee97d67eed14921f7471d18aff6815135b330463e9d551d642b0f8f86f3ac +AAD = +CT = dc525b257abf61b1c1873417ba9f42f968173659fbb0fc5a957e73a907de1a76 +Tag = 55b84d2517eacbec03336878faa0 + +Count = 8 +Key = 7bb24f3c2fb1f7dd5e6959cbb4502450 +IV = 12f6a754adbe600ac72c2f02 +PT = f6e49ff52f69bbdc6f259601a1d618d5520a05f04afabfc9c5c35a7c1e1c1573 +AAD = +CT = 889691f1d6be21f46d86da6d931bfb4e0dae43727f2e361ed25a3e6278a94bb9 +Tag = 74de78f1258c8b8a75e1a0670c18 + +Count = 9 +Key = 9147d2797526c61960a0abd315b1ca27 +IV = 85a5a55da99caa96551b4256 +PT = 96df604c5878ea74b1dac7d2c06c325350974a6b9260553e792bbbc8c16ee879 +AAD = +CT = f35b0ac8612b9ad12f939afd627efa27d047f474cdfba75adb61f1f26846835c +Tag = c27eac0376c7022b2c0a22ed77c3 + +Count = 10 +Key = e0c5c20430e3fa57fcca5c5751a5d1fc +IV = 9c343400335d398263c037cd +PT = 6caf25ee1ea519733d43eb542c7bac99a9a9ab6d7d0cbac7cbe5446856f57e39 +AAD = +CT = 9656bd97ac296d43fb649300fc59cf2e7c3298bd8d19cbe8c7fef62c84f5201b +Tag = 080b50b3a68ea7d4760d42e280ef + +Count = 11 +Key = dede04fdce5ff9fc95320af910628a1d +IV = 927bf04cb35b47aeacce205c +PT = 94fc7570097b88dc2d78b91c7d8e1397c33d997321cc52231f368c66645ada4c +AAD = +CT = c31529decb523033cce66ec93e51984deb2d07fb72e7e1af1d14115de9b0d8b8 +Tag = 6b6063a6211b7018ed8914e996f7 + +Count = 12 +Key = c3a772d3ce95ba371c2acc46fcbbaaff +IV = f86c6c215c151021806b646a +PT = 430314b4616984bf7684912e303482d09a82a38387ade5c81e5c0125b219301d +AAD = +CT = b02c082062df6ff209d5d86124b14893abc879f4f13ea5e203cc090f077a776c +Tag = ad4e4cf29c1873c69b0ab431adc1 + +Count = 13 +Key = 6d1ef4a5024ccebc292a66f7f06ec60c +IV = 23f196f15016975c6f7834f3 +PT = 2aab45baa53656bbeb674a9b3607e30a0b0fe6e2bb355d6b8f591a6e065d1fc4 +AAD = +CT = 9fef67b313412cdd52cd21dcd24454f18ec0d8914dc6451cf519e8353a3156ba +Tag = 0d93c9e25d2c98a1a62873a16327 + +Count = 14 +Key = 2d731d730507bb8cf265066ec5ed307b +IV = 13a5714a4dbc5380c08d12fc +PT = 763bb7790bed4c70581c577df4353d6b43385341915088df06dad92494ea0307 +AAD = +CT = e78a1b22cd7b0c2b6938564cd52ac139a8f1aab6a5b0f376176b64997be66c0c +Tag = f6a6e6dca1005ce75f2eedec46e1 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = e3e0bcf46f565a13a1ca1e8f208f0704 +IV = 91cc27784f7e7a896d69a72d +PT = e46a3ecea28397c65ff156b257e1d5d8d4ae60a4204e0b7cbd796d5f461e89f4 +AAD = +CT = d8fa8d604423f43e63017ff30a14647f4882ae7a84d7148825220fe7f7525b23 +Tag = 8209485226c374609498dcd43e + +Count = 1 +Key = 36279101197869fd91a61881ece0aee3 +IV = 72394b6275043f282906614c +PT = 8d70dc076d7319e48f98d9b34ab1da1cfb9092f5ac800a1d16a89d297573b818 +AAD = +CT = ef3781807f604810837d0b7e69caa73aae76cf287679fe1fd8d745e8631bea3f +Tag = 87c00b5f43ab2151e705802479 + +Count = 2 +Key = eeea0381ad681641f7f88fe5bd6f5a82 +IV = d3db99acf296acbee57cee67 +PT = 56f2f9ca56c4deeca087936cd9cc71f0ade93a7443f95eac068e126ab7bf74c6 +AAD = +CT = 79aa553a2b527e28589a36aba0c53ba7f97ea14f544207964c86a0c3cd5fa303 +Tag = e5d7c24c8d82d09a7842fbbcb9 + +Count = 3 +Key = eea01961c07da34b8259474b012334b5 +IV = ae458ec7d117f76f426dd2f1 +PT = 48beecfe131eb14b62a6129c3143089a28cfa8aac16e9099f9b96e6318dfeb0e +AAD = +CT = c58ae5295b8979fdddea3e90f52a7c89ada74f3c555f655611924231f4399b90 +Tag = 11f119504d09d4ef8230988cf8 + +Count = 4 +Key = 21551acd52a89db4e6ad245c314e4074 +IV = 3dacdbb0a1febdbf113765cd +PT = 17a9d354442587b11e090fac6d0c812e035f011a4a24bf2a0c53bfddbbf7030a +AAD = +CT = 9aa719c5eb614df58dbd9fd47b206162f9a639ec02e9fb016a1f3430a64ad517 +Tag = d770a385795bc265a50b390d58 + +Count = 5 +Key = ea960dabc69bb96468e6208f60a1b47f +IV = 1a0218c5071534964ce89bbb +PT = 74553a18e29d00c2098239c88666f0eb986b7e032a9bba21664046800c0bd39e +AAD = +CT = 7e3444f7e3cef3ffeb21baea274f70d7236e22e8c07ecd63fdfd4e3bf2cd9e73 +Tag = d8a72e89982859933dcdaf51cb + +Count = 6 +Key = dceb0083041ce48596e86c65ec6bca9e +IV = 239102bb77e53c7f271a57ca +PT = e442a6b91aba6109b0b5e2cf6338633021839d69b6e35ca50f2873e57d66637c +AAD = +CT = 116d4d16418db1a4e95f016c8b28b454283bad17432efa2b548aeaba031e6aaf +Tag = 815cda5775db38cd379c1e31e9 + +Count = 7 +Key = 22a84a7a654bae6c71e50fbc3227e7e8 +IV = b23202a415835becd22dba49 +PT = 754e9a143434cf105e3022b219f0dc9b56eb2e6a8b399ec165b8bf7f59fa5427 +AAD = +CT = 3d3b6ce2e4b7d9cec2878b271c0832fb8eaba8e03e9a22044697b58d230758b8 +Tag = 119cbf7da2904f5c92ac37a233 + +Count = 8 +Key = f79f38870adeb1cce503105ca6042108 +IV = 2c1e52506fcf2021b640030c +PT = d0f038c5eff76fe335028eae20b5197b5d48f9b071db4fd2b9419c14df2cf954 +AAD = +CT = b1eb1613b67c5adfe8362a299d2c43119dfd4584fe4dc573f5b17332958819ea +Tag = 20cad53d958dabeb17e8252bbe + +Count = 9 +Key = b166ed3c990c37d4355e56345052d730 +IV = 0a83263ea610241044e2575b +PT = 54cc00cc944fcd1c11e78243cf0e10cbcee6ef5f5aed96b5266439a9b8c94051 +AAD = +CT = 126854a8a0b390139b48f9bce8f2541691c019d76729c1f4ccbb28ea00729303 +Tag = f043294cfdc66c3bb11b876e20 + +Count = 10 +Key = 89d0ec764cb0a22095b171ea19a3102e +IV = 57a8e5e5d7dbc8f23b182d78 +PT = 42a4d19a10c11f089d04178bbc589f0bba9b5aa9466183e7e134ff344c001a20 +AAD = +CT = accf93dddeb78da696eb764a7606beb4b01beb4b735d10c4b13c0d1b38e8b2b3 +Tag = 071dc6778087af501b73b6d123 + +Count = 11 +Key = 596b9097b714594228857b7bbe30430e +IV = e4a0ed156b9455972f9c6b46 +PT = 3b745bc04295f006818f66cb96e82060ba11360c9047c8176ea73e7e18db49f2 +AAD = +CT = 6f4bd9a9b383dbbe3e0c94fab263a430c4dbac86423a5c731b1d390ddf004cf7 +Tag = f41e1bfd53ec70834adce3e51b + +Count = 12 +Key = 30e3d7a4e978ee85aee8eeae17029209 +IV = bf28a51466e7fd95f431f9a1 +PT = f5a30083d8c29e7db0f3918cd986b106900690f1eb4713cfe470ae4b93a612e2 +AAD = +CT = c050180fbbd2dbd410cc98143ffae11d79f9a0b7564bcbeede52cdd3e3474ff3 +Tag = ea993336b2d802734607e6c9e9 + +Count = 13 +Key = 16dc5939c67d9d9d0f12c648fbacd889 +IV = c9dded94225944bb423ca2d7 +PT = 5408c9ba60026f62fa21b5212edd4c0d89aa876e4f12b5a986aee00b7eea9fed +AAD = +CT = 51d5456abc09df0167d0198132676a4842ae53add25fa71f94ccf2f06ed5d2f2 +Tag = e1815460ba7bb263cffc370f1a + +Count = 14 +Key = bc720964b24ca5d64d65b4ed0e416e5b +IV = 0a58e46190a0d43981bd3372 +PT = b74892cf89c3e30484240fa06a9fd2a858f326e3b09f27d5fca5e1cc911b0a31 +AAD = +CT = 43720da3601f235154273af8c6c8b689ebed4e2ac41679b5e8ff26cb870ce585 +Tag = fd37afc9538005ae6be8f0b66a + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 82ba8dc240bc3e5ea1c98ae5c8bc58a3 +IV = a016b0b2ab3e259f738ba228 +PT = 42f6d57361d1afc1558ff23bd333b6adfa7fd622c436b27513c6391174a72473 +AAD = +CT = b7ea8f84d5b05f23d71678c4e546306d53703a25043cd7102579bac8cdd9bc4e +Tag = 796964243c22d258fa4fc4f4 + +Count = 1 +Key = 6d9af34ac72681ad2caeaa1142679d7b +IV = cfd316c6a53aff98623d637e +PT = 73b03fad8d5d392a612515f6175369218aef5c78e059e943c6359da1e8b74575 +AAD = +CT = 67e46bf351e9498b0a98ef4f393ba4744caa4addb4992889b9bd9efc863ee55d +Tag = f6ee8db3d521ad97c6bf1f9e + +Count = 2 +Key = c834c14f778492aad757cf9b886ab27b +IV = adabe2dfe6f27ffa737889a6 +PT = 1b4beefcaeb82dc1a5f8f90fa1af53a13375e21bde65d9ace8d693584635afac +AAD = +CT = 6f1e4bee0f443bb62d61295e3f59f77040843a5dad074572b8e473cc9187f421 +Tag = dc7965b81f2f1aa179b452d2 + +Count = 3 +Key = 1d2db9c7f2225e0b8243ea2dc9ccf552 +IV = 44aea8a676e13d48091c20b4 +PT = 2dfd85cc838ee8452d9ff5fcc62f759cf1d0d429de162c96ebc432a7e1c50785 +AAD = +CT = ddb67e7b9240a5093ce75e0dc7fb1aad32eb4821614a158f4c5c4cd735929bb1 +Tag = 32d019e346238dcea7c143cc + +Count = 4 +Key = 67f4a150669b91db73d3c32e1fd629f3 +IV = 80055946969277b764bff0b7 +PT = 94afa34c9a8c87e5f4f6cc8621faf800bc25ec084643b82f1f6fabbddfaead96 +AAD = +CT = 57755275552ee18bbb719e3f5fcbf4988922c58ae9d0173dc9d9600187491794 +Tag = d6cf142462926adfefe5e89b + +Count = 5 +Key = f8cbe07e940906eb78ce71a46a19083d +IV = ef4e5aceb3a2ce4ce59b2eae +PT = fc6fe0597278d56908b7040a11366c02f552a95b6bb45b9a7ccf033c1beefbda +AAD = +CT = 8770c6f184935bbcf5d31f3fdc0f9a1df19975a98d13992f3c2dd103ce6aef7c +Tag = 86eeb45eee570a012aa401bb + +Count = 6 +Key = d6c3cfbbf107532de685d91bf0d57b6b +IV = cf2695764cee2f5f18dc4419 +PT = ae1408c06961ca7519c5cf02f5a493ffd409921764aa1c2228b88342b6f36e58 +AAD = +CT = 5956f0ccf103de8113d69248a7d0e8bbcfe1dab8a79778cb2f6503a07e317e93 +Tag = d8946994b945b01c1f37f210 + +Count = 7 +Key = 6b7a23bc4f12fc0fa836a390e4611e67 +IV = 55f7c984a4d8aaea31ea7b63 +PT = 2fde72d1e8ecc3f835370b6e4163a50f0e4127905209e4a8f0cca55b55a1e2b8 +AAD = +CT = b5aef1e0f7a638e9584e791b0e6a04c87d16835da2ef5758f6ab3e2a696f1bab +Tag = e0f5e6ad2bce717fe805c6fa + +Count = 8 +Key = 5c66634033ce106a2741e8ff246be3fc +IV = d8ef8f0a828c183fed095102 +PT = f53bafed3bbd42da83c74f3f45f0aee1cf789df4afd889230e2dd33955d2f338 +AAD = +CT = a1ba36393a0d57dcee0494c6a9e5c1decc496506286becc171c50e2c731dca41 +Tag = 743d33bcbfda251bd10bfb93 + +Count = 9 +Key = 988174098fee9f979cb3bea7a66f9151 +IV = 2df24f4e32feb1b593027b29 +PT = f476b437ef68b9ca5f16a81e2442dae9f75f4ede3559305c95d3c7bcc6dc81b7 +AAD = +CT = a2032a869ea1abdcf36fb43a8592d6a71f1f49c65ba7c7c5f126bbca5052ec09 +Tag = d900e62c230c7b62635dcbc8 + +Count = 10 +Key = 9664acaf76a046fc9e3f0062ea507ec3 +IV = 2b9400a7422e21f35260104c +PT = 3f8365ee43d4169b21040d74a9d34768f0de710f03acd8bcb016dfe3efb6b0b0 +AAD = +CT = 13a3cc13ff4e9af5e9c141b53c672cc03c00756ef44c394528b3cbc6a2ecc6a4 +Tag = 62b5eede4f1f91cf522ed33f + +Count = 11 +Key = 2091690b5ab0542b7a3c725a275bd570 +IV = c91b60c963ee6a7252b10da1 +PT = 926a5ab4530ae3634fda33e7a5c20ee166c397f69575d37ba34e0e737b08273b +AAD = +CT = e4f961fe28dc7c3eba9830dc3088313d7b78d9c89dffae42ca972bcd66ab6edf +Tag = 1a03101d9a30d4a6030d65ba + +Count = 12 +Key = ee2fed2c2e6cbd767937d1ef382668f1 +IV = 6528d9e7d2306545f1b12678 +PT = a3d514768515ed590b2c2f536a376b80bae7841673d09e6b0c556b91886507ad +AAD = +CT = 1fb44ca3a880ad1bbe3815b3754eb27f3a8e5adcdff265092439992d671e18ee +Tag = 611c952a6446c00cabf26a41 + +Count = 13 +Key = 311dd5af92a7994031ce6c28a9c9177b +IV = a605d4441e8ebe8bed0f77bb +PT = 149a162b623b85a52a39307c2fcb9b430db18eb6280a2fc6fba882a25bb0b1e0 +AAD = +CT = 1ac2f5b90493ca011c7dc332c5fdd26534e1258cd244df560a32595165d00653 +Tag = f2a29436e5304c52679d65e0 + +Count = 14 +Key = c33238b21225c88eed4951545b4125b7 +IV = e0a315814f852cef04ceee26 +PT = 2b6e05e1aaa49cbaaa49e5406ae5726646b39aa2af0c0d13020b44da88b0ac07 +AAD = +CT = 039d92e1e29aa4eabd9afd203cd29415c53d09f47e1b43bd6c191c0d16cec0ab +Tag = d12b104f1bfb1f72b1f1c429 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = ffbb6a934d2237ff63679d7aac96b8c8 +IV = a6f4fc59f3e27c93c7f3f2f0 +PT = 652d173aecf0c6772a7aab8c492688eb5d1b374379c4f2924a7b2498d7d430b6 +AAD = +CT = c0a1b31ee17337e09e69a9a414a0ec420d92edd1013cac9251ef5b126f934195 +Tag = 03c15d84a5ae94e6 + +Count = 1 +Key = 53c2f4e76b92ea05918ae55eabe6a131 +IV = 0f258000ba7f69f386081d34 +PT = ee871b313e62a19fac6cd46052b4cd831494586b8adda6afea8496b084b881c4 +AAD = +CT = cd2b69b5a40d89a951820f3f9af6053d6f901a3a5cad0bbc27728614a5267605 +Tag = 85bb73fcab160178 + +Count = 2 +Key = 570a4e6cce99a58429a45d5f5cd42b11 +IV = 403b4fa1887009e433417a8d +PT = 7daed99af9c7519691a9f6655be7a6dc496d49e296413634b5a968affc8542fa +AAD = +CT = 0be858a29cad7605218cdf68921eebf35e11c63f57f5436e3004f1d0998d7c21 +Tag = b1eb71487251e271 + +Count = 3 +Key = 287bfec39824d3ae4122c55c15331fcd +IV = 0344f58db3a1d7acd6166c1a +PT = 5a42bf29e1a975088c3e4d64c911ce771218bb62797f754595a7cc4b2da81839 +AAD = +CT = cedb94ceb48cc21c3821068f282688fe6953a9cc580232bd2537efbf6c0f02b7 +Tag = 62dc7d8e310fae06 + +Count = 4 +Key = 8c9a24bebe220e87e2343dc9a9ac14ad +IV = 1d9f303bc9e59dc1b142a811 +PT = 942def6ed95bf70143f8284e1f913e217ff697a0ba13563f28bea50557f3bbb3 +AAD = +CT = aeb83e110ec7fdbe6441346ad25f878f3462b5305dbe1671bb40d917310c19da +Tag = 1f24a18e766ed760 + +Count = 5 +Key = 7fce73359f92e6e156fcef3610d5fdaa +IV = d5f71cea5d40bec5ac29acf1 +PT = 07792d6a0e02c14220617d58b1570819424fd768efefc57caac660e3ffd9d4eb +AAD = +CT = 489fa6101b78599bcc1b349df8b9583a3015cfa1181d56ebb2d928f9fc8e7c96 +Tag = 066a565c3e110d6c + +Count = 6 +Key = 8cfd323b2b12228f33ea551fc2ea6f64 +IV = 95aca275b5abd4aa519acf68 +PT = b0adf5b6123f565e765a2fbce53a4618d7bbe5d8000817595655ea792fd0517a +AAD = +CT = 4058513cd8a8ca827d4442b51c7d0146213a9d1d8b2a4b6515333b23bbffdfc2 +Tag = 08e536cc61187e62 + +Count = 7 +Key = 3e8c1658004384935707a697cf1d697c +IV = 99b9cff2b84507fb60a26210 +PT = ff0d1bec308fd860ae3ae6cb584f6f7223d83c2d56fec2edcb7e407de38d3d17 +AAD = +CT = ac1f8e7b0d4a9bf71569f3f9ca3abce4b81e0003a25bb1e478d9227e51d014e2 +Tag = d86fed1d237ac443 + +Count = 8 +Key = 578e0168932b63f9587ffd56b0934d8a +IV = 487d0a70cfdec1f35b3bfb48 +PT = 9f16aae6e4f84deadebb9f1d85d571a7248d8c9995425ee6aa78ad42d4635e42 +AAD = +CT = 8e055d75140a1d6e35ea7cf99351683846bffa61901eb351b54281195d2ee4a1 +Tag = 0c31e0926edeb755 + +Count = 9 +Key = ee1e67accfe1d498ac2efd7a04773fbc +IV = 86ace17b1f6ea5f45233d51b +PT = 483e1a06ac44bc0d0107b79d411d38091e39348aa9c540bd9cebe534efe51207 +AAD = +CT = 0187e71192b6d44db93f9e69873829b356ba2936b4a7e59ca8eb628fb1a62803 +Tag = 69d61b7c853806d1 + +Count = 10 +Key = 9f49f516c2e3bdcaf099cacb91448f4f +IV = b225566f59d9fb57432d4267 +PT = a18aa94e4eaa6aca00c2b5f73eb90bc2f89d22ed6719d6385b26a89b05661dc4 +AAD = +CT = 688e09c69cd7f5ab3cb70768c55128818d98839516c388de994ef47b875b6611 +Tag = c17e0bcf11de397d + +Count = 11 +Key = f88a4d0eb38a4953a80790f5dc98f387 +IV = db34e598e282603b87351f29 +PT = d68dedbf67930d252dc527b61e2b5509841fabcc94f900a4d0aec0497cdc5647 +AAD = +CT = 09ef2b5dbc3193af96e44fce25a379b7527c9ecbce7121b1dc57f19eb18af632 +Tag = d93f7a9bf4fdb5dd + +Count = 12 +Key = 298dea3ffc24dd14b1802b8d1f276fe7 +IV = eb6fcc9fed69c75b213bb377 +PT = ae58209be2bb71bda690888099b02e5a95f25f3713375c40785d156b43815722 +AAD = +CT = 242fd54f53b1e7d817e321433b3e9b4c55b63ce5c7af52db570f11a107160e11 +Tag = 12e4859d1658cf93 + +Count = 13 +Key = ef302874129fc425f31d54ba91841906 +IV = d5e93cae35b7c3d60a7d8305 +PT = 79c1993f70c8e8aee7041eec7701f5209648ab824a1b7e6f3a1781fc867e4548 +AAD = +CT = e5ac55ffb20047f144504e04e833c407e5fd2b8bcaf05975eda7a665357544e6 +Tag = b70c97bb546810ac + +Count = 14 +Key = 51a7d96847ff36db3e5227ed2a629ce8 +IV = 6e4001e0f4ce387cacf9b29a +PT = bb5894bb37850b43823b3a7832415f25d7e56e7a85446da957865510dc2dc277 +AAD = +CT = 18020b6fd600a3de21f6ecfe16d280f675c97e18a414c9e22dc0c3fab9358eef +Tag = a587ae76021dde8d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 433c8242818ec61cebc9166be03a884a +IV = e3bdb99eef0d5a27ebe9b243 +PT = 800317b4295d8a92c083e8dbc841ed94d39f4d9ba88a75b7faca5a82928a35c0 +AAD = +CT = 4bb2d805a18b03a7f8f4530669647e38f729f6ffcb68d60598cc51e30569bf93 +Tag = 8c61a6b1 + +Count = 1 +Key = c404f4182ba5863bb951edbc940e4268 +IV = f7110488dfbcfd6e2fdfad11 +PT = d0f2b70e1599e7f822cecb8dcc9fa7ed003bf64a720a526cf6c7de78dc89332b +AAD = +CT = 9e50d864467242eea752fb93af0c1870fe951d43a5bedcf7f720dad9bca445d1 +Tag = 179b60d1 + +Count = 2 +Key = 29e68e85e7fd98c5c146b3f463dcc083 +IV = 7e35d012129fd88d7d5b256e +PT = c23231373809d0801e9d45a81c0c716920c318aa1083e1f8f0f9ff4712f8ddef +AAD = +CT = a058e82f3a9bd2ceb285d636d3934102a33e5c9b14075d4e82138b0c5ea698ba +Tag = ed4ee014 + +Count = 3 +Key = 0161ae84ac5bfa5a14bd015e084274f3 +IV = e9ac6a85eb0e9e040d488288 +PT = 1ee4360dca6ab8481586add7f7829710135ec43066b008cd70a98b57afc8d304 +AAD = +CT = 56e30178a7b69618f3bfc12dca92e4038a45db017577753fe0c86498ab4e4522 +Tag = 8f5744ae + +Count = 4 +Key = 0bc4f0267791a39f464cf85f926e68cd +IV = eea8a5f0f6be3cb7803a10f9 +PT = bb9693fa5a163d6ee6be29cb2b1b9d5e5aba3b4c8df6e4230851a118d015dc0c +AAD = +CT = 12151dfd648a363941e6cbb35dfde99844d7cc764eb0e546c4d2f0d2e61c5125 +Tag = 210dffed + +Count = 5 +Key = 0cbe865a18dfde64f2eed0c52b7320ef +IV = 7853815ce39587fdc34203fd +PT = 7faaa9c02adeb24ace4c86574808f1832f93bba8b9863da55cc6800c4f3f53b6 +AAD = +CT = f9f8b84be6642c02e8dbe106d07245cee5ab9056792631b31f4f2656b02e01bf +Tag = 680df0db + +Count = 6 +Key = be642f7f81b15fcb502f754f1866870c +IV = 6a31d11208ff4730976270bb +PT = 0c8d9bb2f2250f42cbfe33de27cad59267a109140918280430ef3309714904d2 +AAD = +CT = 298b29f7947dc9daa519dc092ffe5e699a63769ee4ea6cddab797ed2f207f0dd +Tag = 208b9a55 + +Count = 7 +Key = ebe0df9e6f2daf379cf146af5e8e8a4b +IV = a6ffbe143b78b6c14f4f85c1 +PT = 37857c6775a54ced45649cb63626206d4fbd0335561d4e997a293a133edd1542 +AAD = +CT = 41d36a0797baa342b5d6125be964523ca0a366b1fd1ef5d3b4b03a11abeb2c6f +Tag = a56885d1 + +Count = 8 +Key = 3aca4b43319fe350745c1fd155eb621d +IV = 9e73710219da07a0152c0c6a +PT = 6686a70ded79de52d8f6f5893d27f91daf2dfebd2e1dc6cca3d7aa8b8880b4c8 +AAD = +CT = 9c553f9683037470f56275a2ed2dd90bcd37764e85508a18d58c29b63f87162a +Tag = b2940f2f + +Count = 9 +Key = 6f372f9509444fb72d05a8480bf49af9 +IV = 4c0e44884fcade0ad109c9c8 +PT = 5d01c52edf6598facc4bd6376abd277d4d630fb67fc42e3018af810c360b049d +AAD = +CT = 67210851d633eda6a393f1360c758c6671727a8c6fc70e4bf5c88a9e2285c2c2 +Tag = 5c19e477 + +Count = 10 +Key = d38bb381590f7a30f0fe9fac77369c8b +IV = 1139fcbc58af68ad3870d59c +PT = 5bbe99736c1635a012e748ee546c094b9b9a6a163711c3b4e6ac90350fad7d6a +AAD = +CT = 06db18b767f8c479c5eda1022e4436b363c0d4ec35c7bce4143461af352bd857 +Tag = b541a502 + +Count = 11 +Key = 5ae17dc69d25abb5365f9fcce10c752c +IV = b97852fc9bbce1c0a6a16636 +PT = 7e5c5afac84cff50594b8d2f44e1c1bf4ff4326aed2e9490da7ceae0098901ef +AAD = +CT = abaf98ed3551e5dfdc2bf0ce1b6ddf1af01ce279ad6c1624f9748147093bb795 +Tag = 8a11e16e + +Count = 12 +Key = 76f4587aecf659a4adad07525ba61cc3 +IV = c41f0e7003980be0589fb35c +PT = 831485988e8b1c6f5a047a4bee6b5808b85302201e5ec854434a1a095f924e7a +AAD = +CT = 808eb0720de705f58540c1660a9c1719c3410f575f7bd7af8ef8fcc2cbc899bc +Tag = aba1a871 + +Count = 13 +Key = bba98c07e79ad4adfcf17a10b9fec01d +IV = 1670c1321e116f70629111bf +PT = ac8e72da6a93bf56bb818de8a4a4ff0b89877c7b2c3dfed778b6b373e5b0b646 +AAD = +CT = f8d66952a832d3e30e1774fa76d148ad0cec558964b27188c28284606db5ee8a +Tag = 2322ae1b + +Count = 14 +Key = d52f7eed697b7b170210af69b8ebda6b +IV = fdf57f6d40158daec1fa66b8 +PT = 98f10ac30baa83831a6b8fb81e1e428eacca2ccd82c88e6dfa71b361727326fa +AAD = +CT = 664fc0a7d8b77a50583337f8296911e63731fdef29b7e42be327037b58933c5f +Tag = df63d4c0 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 298efa1ccf29cf62ae6824bfc19557fc +IV = 6f58a93fe1d207fae4ed2f6d +PT = cc38bccd6bc536ad919b1395f5d63801f99f8068d65ca5ac63872daf16b93901 +AAD = 021fafd238463973ffe80256e5b1c6b1 +CT = dfce4e9cd291103d7fe4e63351d9e79d3dfd391e3267104658212da96521b7db +Tag = 542465ef599316f73a7a560509a2d9f2 + +Count = 1 +Key = 9b2ddd1af666b91e052d624b04e6b042 +IV = 4ee12e62899c61f9520a13c1 +PT = 01e5dc87a242782ca3156a27446f386bd9a060ffef1f63c3bc11a93ce305175d +AAD = e591e6ee094981b0e383429a31cceaaa +CT = 87b976488ac07750aa529e1602290db36f4d38d5c5ccb41292b66c3139617ebe +Tag = c4e7ea53efd59354ec6b4b8d9f8b237c + +Count = 2 +Key = 8737490bdc02e3543c312e081e2785cd +IV = cf3460b8010d410fd5524720 +PT = aa0acbbf2b847910d56ee4da8a9f40973f85d6cce1d6326a777eff01173e66d0 +AAD = eba8c1ca49e977cf26eb52325e59afa8 +CT = 893902594834c3a72da17bd73ccd53238a581a3e33edf8b9b901662b5f7e1d3a +Tag = 36a3a106d3c10a65da7d81942c98b349 + +Count = 3 +Key = f7fc73fc1c428e56af92e6b2870845e3 +IV = 375b1a84fefaaa807ffeba18 +PT = f871a9a695b74f9501942f99a3489d4befec6768d7c17d1c38f51fd6cd16adc4 +AAD = 0d668901163a08a338c427342d31e799 +CT = ef65290d220227147154f66a12004ce292507527f17c5119c69fa4f81e56d0a1 +Tag = 2d48c8b198610cdea73965f6ab1d9a12 + +Count = 4 +Key = e522d6715bb408401c5a7af3ef190caa +IV = 1a3b2a313418ed26de8ddf57 +PT = d3f10233505f524ffb8d961d8321be88c975704bdd9df958f3795adf0085aaa7 +AAD = b993eb193e9d59382919ebbc9e3ad829 +CT = e1519156cc27905b8da24d29fb502d54042eb6fab10c5f6a99d1ef54c92c555d +Tag = 7fd04f637b748db17da7ee34099a112a + +Count = 5 +Key = 55190de13cfbbedf4a0787f9ecc34e45 +IV = 87803bcf6a69962abae929e5 +PT = ee5da0026ce103140873226149b75fa734888b00518aeac0224466bbb0d23d0c +AAD = 067c3857cc240c6bb5f628bcc7cf5559 +CT = 06362d236e9618037d31d4f1ea0df6064e0bf06b6c5904530e1002e8479c16fb +Tag = 342a27aea0ef0aa26ad92ea3a92afa37 + +Count = 6 +Key = 65f7a5ff7feaa8d50736dce3c8524cf9 +IV = dfa0822065b1ed4987685217 +PT = a32d3aed1371cfcddf5e735a9d95b96d1ac59c3ab784be8364cc1cf3b71bf70e +AAD = cc4fd4d82584059b5a165d632d56fe1e +CT = bdf356a54a5cfa281edbe7e35966b5b8a68894f282cd7a734d502dfee6dcb1f5 +Tag = 4ff05b2898df6edc27574a2eb395ffc8 + +Count = 7 +Key = df0ceb73dfbd06782f69cd51cc4fc1fb +IV = c5fb4bf0b40477e10e5d15d4 +PT = fa9da35d8d812585322fa1c0cf4633b06424272cfac1c5a51138b0b9b91d443d +AAD = f292c4c2a2356e70feb0003a28708ed8 +CT = e81cd00a96dcb719fc2c3af7b5420cb5667fed53af8f561dc216fc7215ab16a1 +Tag = 60848116706be55b4ea939ba899eb2b7 + +Count = 8 +Key = 72205e651f03e2c16eea7689af43bc4a +IV = 42c47b2f95b0ec02652f1fff +PT = 7fbe781650c396ca8cdc6b2efddae0007cb008c4fc7310fa17ec5ae060171391 +AAD = 7f978fc1f1b2f9f37b88b96b8c14ebec +CT = b3f3a8bfe2906ac1bbc93ddc701a5529c2cb156354cedf85928f605ed6005bdc +Tag = 9151c8000dc25eba4a57908b238afb21 + +Count = 9 +Key = a2c96c0b051c633ec10b2fccb43f4517 +IV = c4c13fc9f15f482bf6bd8d0b +PT = 5f0a50d976eb2048bc481d7bca9b3e7367c3b12c9e98ac8521f45c715ae3bfff +AAD = 94afc74a7040c47705722627e05f159c +CT = 2bde225ca63b40ce64500c40c00fa5c50086c431e95d1f99678cb9a90bda2502 +Tag = 6a296aa47e52737304eaafec0c3d0c65 + +Count = 10 +Key = 108146de148bd4dba69c4ad2c11a35c0 +IV = 9dfbe2fa46a46c3ebaf31c48 +PT = 0104c3da4cbe50f31ccfcc426d634d8d39686444a3b75bfb54d67349fb7e7017 +AAD = bc83808f9e884967c84d28ce981dfd1b +CT = 3f4424912dfaafd8f8b08ba7baea95effb3e4571720a2626b92ad8f7a69d4477 +Tag = eedec85ed9e14a5fcc2cd0ce50ff00a4 + +Count = 11 +Key = 37b9352444bcaa9624b267566a59095a +IV = d7a72473b99b2890ef7c4928 +PT = 93037b2b4814541f425ea0bcc88ce1486632919cef443a5374d9944edc7e42ed +AAD = f7751af2dcbf5a7eb81d6bd73ced1220 +CT = 491e0893a652a5975d3db72868b5619311a9cddad11c5522e95893c42e3b63a9 +Tag = fcd8120512eb3f14295efd3b045b0868 + +Count = 12 +Key = dd1332f17e62b2be889e9a399fb0d3fe +IV = 3f0028cb7cb8f1091a4e2f4a +PT = 9c2e07683c6ca06d012708ad6dae95082eebd36261ccc874226ad354cc8ba82e +AAD = 2f33c5f85f976811ef67533f488917fa +CT = a4fa9311e3c02c3b068a3f11ae7657efc3a3e69991251280503940ac4a7e8950 +Tag = 0e5e77baa0f36db11cc5bfc27ffc7a49 + +Count = 13 +Key = 39e215f1a2572257efd939ac0365ec97 +IV = e1f4da712c4c1eb31027352c +PT = 21f7d62bb2918dde6acf9b6c9b7afed4be7d623c3e2070444b087fb40de7e6f1 +AAD = 9368e8d525e77707d316542dcd735c6e +CT = 3c93eb8df00556e3f42d54acfd635fbffc0f77f868a68f738ec2918213ba9a22 +Tag = 0dd8352d507e5253ee0849688d2ee86d + +Count = 14 +Key = 06f36f4939473b540e71db35f398a53d +IV = 13efe211cb6ef3a374f4da85 +PT = a5aafedc4c1ddb7f6b38f7974d16a1c88cf7ef1ebe5027ea4fb55db16101fc20 +AAD = 8cbe3e3eb19818db197901bd4ee42de2 +CT = 7d21fb06002d19f40741b275b72cdbabbe032460ecf13d98f1cafcb30f704af0 +Tag = dd4beca1670cf437372aba77bc3e9261 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 9ef362289bf33f7da3b9b4f7ab29f33b +IV = 0909451a28a7fa31d52ae092 +PT = 00de8cb9b946977f03b1a2c0bb40ac6a8269f11fb5a4d52d64b0c7722871d167 +AAD = 5f3a7c466f2f52dd757886a145aa58c7 +CT = 46e2291a45589cc6560e49da5142e3e2544f1e784d10cfc4c33d7a6b83531f9a +Tag = 8c2f35869d4072a29fc28a0e4fab46 + +Count = 1 +Key = b025ea9b9959f132af8c64b0259c2a84 +IV = ec5e9c472fed922e982aaa95 +PT = 8ed8168a0dcb42d98532783b51d70bbda7cab94044d165d9ffc6dcfcc2d62f36 +AAD = d852b8be8665daa61aa3cde9adf2ec26 +CT = fdcfc88edf4968434b266d358195e49e038f0eaae6e3f542349be7e880cace8c +Tag = 658f55478b3093ea549baea807b140 + +Count = 2 +Key = cdf3cd9acfa44e896244faded24daf25 +IV = b895182c3edabb23a97aaae3 +PT = 5ff5621d6833be38699306c1eafda60b05c68f4e807d3854fadefe24ef22e030 +AAD = edd788ebe0d28a4b3162c7f7f7c1a945 +CT = 1744e2f811c004d22516da6d00356eb772cad6a6bcc351d5ccdcf999190e483c +Tag = 70b76432b952686aca13291b30e8b6 + +Count = 3 +Key = 09b3ffcce899544af16729d0a3589869 +IV = 11d5074b442826ec68625520 +PT = e2be7c6c8fd2e781ae7f5a93018117427817de95fba396366b058e25214ba949 +AAD = 38101116bbe762d8c45de724f357a25b +CT = 5113d7a0bcc43896050a07f644c7c4d9c452c816f5960e065a00faf86f1b9003 +Tag = 97866e527da1a8ddd666348e739d98 + +Count = 4 +Key = b6605828aa93ce563640dbbb6254945d +IV = b088f3579b7ccfd466e269bc +PT = 1cd5fabfaae6d609b34bd7b3d75ecc4fdc1303b47a2aef7f1fc4e30bb8e69682 +AAD = 44e64912896654762d2e60f79b1d7dcf +CT = 2e9b17c9a6c10f71b4ad0543cc0665ca0354122b62100e9e89da44cf6eaa38d6 +Tag = fccc446dfcaa0b76c7761d8fcbc155 + +Count = 5 +Key = b8164b2b79bbba735904ada2a665e480 +IV = 98c0eae522af79c564405ae7 +PT = fe6bb470b3670c6695775b77dc63846856a30a5921ecd8c480cd6d1c22291a9b +AAD = 582e0112526340b744a72663ec8ec1aa +CT = 807b817510b4fe7b886c46077c6482f2b07eaf7b2174847315be46b11fafbd06 +Tag = c607dbc5cb34548f11363d80c4f0bc + +Count = 6 +Key = fb81d4c3e84a28a6f3bf9ecfe20947e5 +IV = df3e647c82c2796a3501ebc2 +PT = 3b40b03d17467d1baf933c3ed76ddf511df304c6ec7d07bbf27911c3b3225db3 +AAD = 21c71921e6938288a666d92641e1d57b +CT = 4674ac431c7bf6431a69c8f8e1cf3d9b3638d57005f103b69d16292e87eee33a +Tag = 358449b4c76e3c1af67d6bebd986a0 + +Count = 7 +Key = 2cfe7e95ee7ac14feca70f8144115e29 +IV = d2eb3aba47af013a568e41cb +PT = a22b078ad1bb3297db24d2cb4eb8eadbc9cc5b7eef661afe21e87e4569a41a1a +AAD = 5c93bbcb98c4346fb229d9c212fd667d +CT = cd8b4ea927fbc5cb4ad1c86466c93ca79c6a79f14ca8378b34adb744a472f330 +Tag = e1c4f51f39134a38452eed52aad45e + +Count = 8 +Key = 5950e2c0bba9d9378aca7ae4313e757d +IV = db3e023fb2ddf43cd1bdf550 +PT = 5e24e17127282f9edb8ce0b8c595860a5d640bdeff9626f5d96de908822e6bce +AAD = 3bb40a5566301ba06b5c49bacb5778f3 +CT = 636ee8807bce6c1a192bf9f3fb41d211c9e7068aaa7d9947c5361b1372f76e68 +Tag = 7199993aa4590474a7630b0012496d + +Count = 9 +Key = d6005685750e478222759a567a2dc586 +IV = 84bb257c73daf1b992af32bc +PT = 55d2884dcb34c0e240385a47c6565446876adf77114b85a8db63ad8a5f3b9306 +AAD = 7f0793ac783362572a387da39a4428d3 +CT = 8ab66d843f8a79271927ea0951dc8196d28af67d0f3022cf534c1cc7c2f25faa +Tag = 4f47661bee62194a5d1fb64a3dbae1 + +Count = 10 +Key = a03cbfe9671588f915223b598a81b0bd +IV = 7f3c82a8f98e71103204dfbe +PT = de436e95f6fe501eb4ef51251f639ce68ed9c0db79419200084210a7f608fa44 +AAD = d7a8ea6abf175f2059d2c3b737708eaa +CT = db17b641adee4b6620827081d801ad5e8d5f798378f6c7cae40b5db0874ab68a +Tag = 18db14b6b3cc56815bbb6357e38202 + +Count = 11 +Key = d41b2974f9bbfc5d6bc0a462074dfd4b +IV = df0d4a5697562eb133e52444 +PT = 693c8a0393e99561095e9ee85735fce6cf79c16eb5d8c978d97e471cf5c1661a +AAD = f87169093394d63d84609c21bcd8aa63 +CT = c0e563e839f3ca971302294a7103364ae3ff9b4c9227b949d84412b8f329f327 +Tag = f060289d0f48e1eb4c7f0324e2909d + +Count = 12 +Key = 31c3402aacf3ec122680b580d0fe798d +IV = ceb1e5a535ce967d846e6919 +PT = b1cb04641b940a9e1e8ace2dbadba1b5fa9ca531bc4f720898731833f1b4d450 +AAD = 9aabe6a669c9f9554b723877a87eed4e +CT = 7f733edb4d5400ab19d013727100d58956f2824e76b3eb704b24b450dd47faaf +Tag = a81ec6bafa1c8282755b20d28e9086 + +Count = 13 +Key = 65e0683c217b154e73d800bd4cd913f5 +IV = de643960ed47d0d80995cbb1 +PT = f4738581c883cfc51525bf84cbb85de4f0af144abf74b30233c864d43c1d2770 +AAD = d3fa2c3cd59210053c26b6f36da9889d +CT = eeef4a22f06d641effe142f8d8cf71eb366a61b6864bc02917fb2c4ae4535c96 +Tag = 024b542fb8591fc88bb22a8c11691e + +Count = 14 +Key = b00007c4b09142beb85a1c27408ce25f +IV = f747f99dc6172c6cdafae538 +PT = 9be2978721a410d66f51f271ecec0e3f4035133b05e7191c603c33231517df76 +AAD = 3e675dcea191f90bb3dfd26db80f7f5d +CT = f09b51dca4de5f27238a933ffaecbee5b8021cdafdfed7ea2ebace77a572a54b +Tag = 76e975342aa0658d5881f6615c9f91 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = eadbc13f80921a64a1d137b58ba14146 +IV = 9bc0c1f65281a0868396a6e5 +PT = b37d2482be592493f53d91074a91d58378b8409878fc9c3f93c2c2594001a821 +AAD = c5e8358ea0cc11abe3ebbf6d59b19e8c +CT = 2b29fe2e7722721cba732167f6c328893b972bfe6e1153b576e2f5e335d64289 +Tag = 3e4f7c4001d0cd23a17f2211399f + +Count = 1 +Key = d1a7090077c60f2804a4866e762ef436 +IV = adcf7aa5911201801b3e39a2 +PT = 73fbd3ba2fc9999ea910b932198e6a94e9b8c223c81519ee9a36776ab059be46 +AAD = e126a6f2fe727010d374921b1b011a93 +CT = 968036132d3205b953383b9c235fc1ba00f114748a951b028f5f23f849ce7524 +Tag = f9509fe98d3dd3f20f8607c27acd + +Count = 2 +Key = 1327aca30d8d881f732fdc143601970b +IV = 4098b232ed500282c3b08012 +PT = 54ea2e7bf67970c005816613f2c0161d77aa6a464648a6c715ef7c9ebae121ee +AAD = b47b9c3cbbabc00fbbe06ee60737f063 +CT = 6c5468d7a5b4f16c3fb9ea819ecf39c4f055f04c4b029567e383d704eaf90613 +Tag = f63c719d7961edc851697e42f7e2 + +Count = 3 +Key = 49a379d3dcfaeab43c4981badba9970d +IV = 064251c977bb8ec40bd66560 +PT = ce9fb378bbf277028c3ce428562fd21948f2381be41f97a5d05a5e54afcea787 +AAD = f6492445330000efedd6354e39c41e21 +CT = 1f343472ac558db6d54e6b3f6887c9b55b95daee309198466c5cde5d3502d14b +Tag = e21f789bfae0e6795057620b7d25 + +Count = 4 +Key = ee79c0cfe176e013e37c5b2068a9a179 +IV = 22ec734967980f220586e3f0 +PT = 1fae6918d747cf18a00a952f0a31c566321c569df493db8be5269ef7d16c43f8 +AAD = 1534f03cd2620ef52a2bd7f3a0d1868c +CT = 88652a183e1ea0d3f83b408f71f1c6229a82fd57645249919863c36877736bef +Tag = e1a9f31b1b2279b91a7c0b69835f + +Count = 5 +Key = 31d35459743dea72b47d97b4e186a90f +IV = 4c0f326abf31e32870799073 +PT = 11d6b58e88a0d3b1541828aa98c8aa06cd2d41a6837c0874eb847dc9ebb38392 +AAD = b48cdea335cb53c92cc3d09d2fc02e39 +CT = bf622c90cf931f53f7f144189c1ff49d798f7b2f533a031ce996fe4a74237a45 +Tag = 9bd30990e1c7c7c449636d966d6c + +Count = 6 +Key = 82c5f0cdecb82c9f86a3c80329142e60 +IV = f5a27eefe30915ad31b3837e +PT = 765dc141c83960e6d8257060d26c60cc0025452049ab8d264dd67ff767da83ee +AAD = 51cd02a72867371581f57a36c64454bf +CT = 3ac4980ddd3071824874941292b51646baabe20dc1f4f31cecebf8f0bc7eb98d +Tag = dfb4a7338df2ddd224ddbec231d4 + +Count = 7 +Key = f7c122fa7302202c070f1e8be0873129 +IV = 6c20cf49e15dc288db2f5ee9 +PT = 32406075d6c83bd5a852d5533f3249ba460dc2b9ab1885213727c2e9b33e7a8b +AAD = f189294f6b8f766fe39199a7e751ef9b +CT = 3fd3704e8dd6b3f34db23d66c381dccd66dcf715ff550ba5f5d04cacb4741bb1 +Tag = 8b3fc7eadb6657070c09a801f92a + +Count = 8 +Key = 95718d92be84e68f0dd5c0e4695d48e4 +IV = 68e552682d45f28440a19769 +PT = 1a7953670d0affb00621360da9525ef31ef8054abded165bb8b48180cca88bf9 +AAD = e999dd43fb1c556684de5dfe4a1ce0f1 +CT = 543cd9c12c769307ca2d4f9be24fbffcd1bc9e0f9b0c992b224230c76273753f +Tag = 2718cd18b5d2177caa2f28ff30be + +Count = 9 +Key = 70c9b0e5f80e4da64968822a6964c53b +IV = f53a493f6c2aa79274f99978 +PT = 9cf5bce9d02279ea1b1f31933c1a9751ed6a5e9966dbd4f20d4dd071dc96bffe +AAD = 4774cdfff65822595982ff8e93ebac48 +CT = 406b7de0f5347a5b3f2d36029a3fbabe6c4dafaa3fa0b668f78c0e77f6daf9d4 +Tag = c09317d9c4c6bb862bccea4fbd6b + +Count = 10 +Key = 0796baf111e41c1da8effbc99a2772a1 +IV = 8d3e9b8cb693d5c78ca72636 +PT = 8d5debe4e027ccd3c244542e11b3f92e42b8080f82eb45a1730cb1f75ded2d2e +AAD = 4e072b3f819e020c1c14f041707b0699 +CT = b535c890a66b010b8e7f1aed40a2251ac1c17acfb3ddd931ac3030bab25b6bf0 +Tag = abfd35a50bad22a3fb1b07479b3e + +Count = 11 +Key = a8068e6b53b2c9ca213d526d825fa932 +IV = 859a9c9dd368dc7ef22dbf4f +PT = 32c4b41fa751cf5aadd41c02dee983a3c502f2a22c0dfa0c2da320fadaf7568d +AAD = 335fae4da43096d6322a7274131c316a +CT = 38c8f209a6fdc22200225ada51c7dc3bdf84b0a0f1a1361225a0f79ddeeb2304 +Tag = d4d00fe2188f97e52c400e7a4f51 + +Count = 12 +Key = 3486f0045ead251d317e1fb0a8adf154 +IV = 5e309275ae7f31d78355cb81 +PT = b7a1dd211897137fa255e1d29158e6c24142b89deb614365a9e129b4d1cbd448 +AAD = f361e998bbcae3bffcdab82ed49813af +CT = 357d2c414e1177136ef730066650bf90721df481ebf506ba9910e4db243cbe2d +Tag = 4c3910c26374fb2e3d64f781b2a3 + +Count = 13 +Key = 5d94d9652b782e34a9bc0428a2a6c1cb +IV = d743319e9b26763c4664bb6b +PT = 85e9cc9ff789dadf9fd8e4224de5f4c896d92431ed7f11579f4c139366cf3079 +AAD = 17cdf40976ca4517ab2bc18f6987054d +CT = 7917a5b133bf743a473a67624dd8c2e32e4d4ee5f29c4b9bb6007430bbf0d402 +Tag = 64ebfae567d5825ea3145e2a084c + +Count = 14 +Key = a2fec90079de2b2a8a925f8f93332ef4 +IV = 44e231df481519d5e0af9c59 +PT = 01c9508976a54d2fd30e6745a9bfe53548d50319c69f32745ac61093898a40be +AAD = d7dd382ab4bc0af0ba1156dd6cbbd693 +CT = 10bd098f21e398cedf74b2ccf43a20cd8a214177aeb58a8de4778ca51f999c58 +Tag = 8035a3c3740aa1c1c2150d125f6b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 61756f683efc346a41eaea8b784d7b31 +IV = 495f8a3a9c9decac4d6c26f9 +PT = 23465acb9276259d00de9eca1be55633b03847e8bfba2781263af5a4620e9577 +AAD = 077cef6673b92afd2d03d37acf1aa55a +CT = b1d27b42487e54ceec0674a3322a48adee52a5fd4407bb88e323c426643ef17c +Tag = 7815392e78c44305309fcc6906 + +Count = 1 +Key = d066d5b2fb5eb4162c6f493295ad5555 +IV = 0801dc1945bda83cc9290b4f +PT = e2637bd0a2d2341c7304615a2ff3c90c2f35d2feec2909449e3681e9bf845a62 +AAD = 42813e2208d6943058b1ababdf4d1d2d +CT = 895e79724a59608223b61709ad1b44bc95aac44c2a7ffce5f67878cacefae99d +Tag = aaa4a64e62dcf0032ac0815452 + +Count = 2 +Key = a8fd9b086e0a296e83224bdd70e9390c +IV = 8d0f08d0b1d3f80dbaee6d19 +PT = 7a96b02873ba8f79bc03b3780fdd0fd7baba5dcf05bf003bd58eb477faac8c61 +AAD = 105f9b5beca5c7a72fb947fc900611d7 +CT = ff67eb95a0257ebb356189be7b50b51903a7e1bfc47519247041efa8343baa8d +Tag = 8b46073db2bc11a939f9e971cd + +Count = 3 +Key = 9bd9bec2f8894c83641be76ea43decc9 +IV = a9e620410f142df1f21f1b5e +PT = 23063c76e180cc6b5e23b59b912665d467ff8bfe6551d25cc1dcbc36bec7b196 +AAD = 5a349886ec84effc5b99c9b527b863bf +CT = b1bbaece120883f8bf6107f4e01475a8f428258d962e72c61cedaa3e69a36587 +Tag = 614d96ca30fcd12bd91a8130a7 + +Count = 4 +Key = 51c263a6880b6842b97d4c4971c08df6 +IV = 99f7be4a3d5858cabff4ac90 +PT = da23be2d728c146132630f3b0372f53af5c5d41282a58ecd3c0a660dfa63b655 +AAD = 2359d4d1182baee1573fd86e6c609f78 +CT = 89b08df8718e2136ed04c0b2b3cb5721c18cdf5f1e88a9701c88d118980b7ff6 +Tag = 717e169f5b09c57f15803722b3 + +Count = 5 +Key = 7669b800bfa0a0424e450142d8ed17b1 +IV = 5fe00037b884678136373f94 +PT = 9ac4f098547b3ce8b77dda2948c34bd4736a8c45b9347a55bd180e1c5c166324 +AAD = 583eba3262f1b2376f7f67a5f623a160 +CT = e7bea1356861d56b36818bc8ddb927c9875b3a198f7b8fc02d712aae1af96bfe +Tag = 16a8e04dfc55299917c9a7c5d4 + +Count = 6 +Key = 5b4649bd68275ee29df42a2e45bf43de +IV = 1cf74509e81edd8fcffd476b +PT = d8982a78d086a068f0068940639de83d126ec50dda9a368a84a81564bdc5c0f8 +AAD = 8b2733f4cda208e06f96b98c21d2bcd7 +CT = 7d25889f781ab1a6c721cfd3167ccf179f0d5e40e31a5e8f5b64a904fceff677 +Tag = 2691585209d25d77785f19c14e + +Count = 7 +Key = b1b2696c3ef02a1f7b9f8682646d5473 +IV = 3bdfca6efd36be66aa9503ec +PT = b122cfb8373c0e27a46ee5619f54bcaf58ce929df11dc9748a0c41d1cf22cf82 +AAD = e4b588b93dc241178efe12a6f040fa03 +CT = 3d708992ea110509ae3b6f9ce25979f7a9f43e326e7b5a534398d367d928c984 +Tag = edf6ed2831c90df2a869b09198 + +Count = 8 +Key = 98e4bf62e8e1984a8ddec6b7f9fd6150 +IV = f88c850c17edc9608563eb44 +PT = f85b86e0f79470500123d6ec099db07f418371a81817191a4f5c49a0348b514e +AAD = 6ec6f9180def3a5c72500c9669aa735f +CT = 4d2866c67aeb36f902d8c9af485805733c86600d789c12788a21742cca10a647 +Tag = f2a6c872b65374dcb47d769dc9 + +Count = 9 +Key = 694cbe52ca3a2e96ed6cddb58eef44e5 +IV = 8d86237489be10e2f878c3ab +PT = ee4a8e8cad074c44f73fe8e84ca10f23880726edfb74fe91eee79dd64e719cec +AAD = 1a10f302caa60df4404e2d4f4c898f30 +CT = 2bfef976cd034d17a55ca4e6ed228e2c9cd63c28a9af4c359d3ed90c94a06543 +Tag = 1cd88f28836e2847d8bb232e6d + +Count = 10 +Key = a6a12364dbe2323da5b47b6ba45cbc65 +IV = d5ac72fa18b5bd35278a4af2 +PT = 14997c5b037f4640d2c45c2e786a7d1096aa4955e0df7313d04b697a007bb9a2 +AAD = 9d7a79c8cb74bc6820ed19f57890a455 +CT = 127fb9c32673d51318abb981e13606bd1055d4aecb1fc7ef11f2f83298c36b8e +Tag = 517fa549ad41fcfe11a75bac49 + +Count = 11 +Key = 05aace83c2f01b7ef15e15bf5c1b7c88 +IV = f3a7201b50c0b7a865f4a27d +PT = d76d94c3ac7c2d5ecaeb30a0716c30954123dbe39bd63309c907106d4ef39d45 +AAD = b193a41642046c18fbd4282816cf42ca +CT = a358e6e5397679ff836d52c4909b9e663e00cf525c73ac9da94ab020d0a2408c +Tag = fed62beea57acc1ff88e1d7638 + +Count = 12 +Key = 3f8041a19cc62b75e9322afff55035ee +IV = e9fbb32ffd52ff9c505d51e3 +PT = d160d927d854b225d61a3dd8046c31faada3433471dfe0048d39b3c77d521bb8 +AAD = bd5d22cd42c0a828f6a85f28e77a222a +CT = bf2592bdc5eb6d75e26dd1ed4d9072593ba54b0d08b49e3abe0df8ad9e0601aa +Tag = 8a9b35a626b743d9b9cdf1a98e + +Count = 13 +Key = e918b98809af8e83759fa0ce3e949abe +IV = 2394194fa40ebb2a9cd8b6af +PT = ee1124826a8fbea197ea75d0fba8fc34ffd579b2e4f595e92b5889fce9d49216 +AAD = a42361699c0b3eead7f4cafafdcdd785 +CT = 32172e322174ba4f766420240ba5d59f59ad0d1e6b4ca23a38346411426eb149 +Tag = cf458a0bdc0d64cf120554ad07 + +Count = 14 +Key = 81bd9e7a70357a02ff98c0bfd10acb38 +IV = 5bb2b030368390decb7969a6 +PT = 3bf0d828143d47510377b61361fcedf3b06d5117df2037cda52c1cf09bea97fa +AAD = 8802c304da449c9e8c655f58b01107a3 +CT = d3e43375144cd10dbd54ff1ea4985f5848664e72cd3e02a008394d4f23301742 +Tag = 858556fa970606d6dec4dd8de5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 051ac3c43bd191a647ef60e2d6e2af40 +IV = 658214a110a0b36fe1638f56 +PT = 21d8a0ff8a7699e5758d3c9bad81f5dd65cb1e72e9d41b8b1d9288fa73024b9c +AAD = a5386e231dfe0c36d3c581da89b58d0d +CT = a48b87d8044081aefdbc878098f0c3fe510e3d3fed0d9318605b168d5d63cf0c +Tag = f2c704c667ce2007dba3c2ff + +Count = 1 +Key = d473f43b839653d31a6c9cc29de48848 +IV = 5582b99e1d16449c7df2643f +PT = ab9a10553a0bbfb31822399c1f8991c3b2f193241a12d251a03e0ca37187a4f5 +AAD = e88ea254325ab95f8ee96b7038cb00e7 +CT = 12f8af5a4b16b9b50c37e18be82915e70f058dfd0735088a2e9b32d26c500f8b +Tag = 300c1b9a251ff8fce4ee1cb8 + +Count = 2 +Key = 8c4ee1f1d1a7c57124926a00ff6f202c +IV = e2079203fd47f5d0b8fd21d6 +PT = ae5d4fe5bfc7a6f38d8ae55321193e65242af90218f1b2161b16a90ef2180808 +AAD = 95158d755d88ec819ecdd22faa3af7bc +CT = 8f0fe437d161d267a953dc63f04750dc9ce6ca571f284b37da74f9649e5eb1aa +Tag = e70096dcfa196a1a1f3e6efa + +Count = 3 +Key = 6015108096288268eec0afe18c654be9 +IV = 6e3b541473d8d1ac1ecf23c4 +PT = b427087cb9490d7f97d8c1336a680de761c9f601b194671b18e7127ea7b3cc35 +AAD = d6773672ebfc4a7e3ef1b503f81d045b +CT = b57761cb9483adbd63d07e6ca31e9a05b77d74e5a31bc446ecb1de5d47c2f7b4 +Tag = a113a0bbac433da70769fb22 + +Count = 4 +Key = 33fad13347804e891e27db9922cdf48c +IV = cd26724f7336ca1bea379903 +PT = 654e0ebda30a6f97e1c3b833722cb4efabf90e05ac87abee375a4e0884b73173 +AAD = c49b5b30203e988ac5f92e9262c229d0 +CT = ed410c8e7a250f9802efc6acad04c10dee31e6777080eda5afef1e064e1d5820 +Tag = 63c0abace735cde734794a75 + +Count = 5 +Key = f0b7a53a2f1f4add3dc80b1a519f9eea +IV = 29f91a37e8198cfa76cc84b7 +PT = b8d36aa2f8b01b9dda98610c7e242c404f5fec6338879528ed04f61f3d39a94b +AAD = a03eec16fc582c7a88762e19431ffead +CT = f507b9e90512da5b62ae0a169905f933b9dcb70478152c0bd691e120bf82ea69 +Tag = c4e6a2df7e0fdd78b261af90 + +Count = 6 +Key = ec92fb17895b7cf44823e38c27af94d1 +IV = 1d190f5429fb8935069c0d33 +PT = 78dc8cbef69155b8c76ee4836335ffdcba6792877281ecbba178cc1c060311b9 +AAD = a52d5e03c8cd1ed17c9d5ecca2b60e47 +CT = a7b8587cf82349956b431b3986fdef6adff093b8c60587cab75d5730fb559e08 +Tag = c9924d9d586177c5aeec2eff + +Count = 7 +Key = 25ae86ed3333c9a350cad747ec241f32 +IV = f4c41adc59fcbd225dc9bf49 +PT = 70534b57f4ad15288871e5d50f10d6808284c1f0185adf780fb2dff9a58872fb +AAD = fce525be3b6ae54c4a0448496dc8275d +CT = 8c1e84bbae59e8a19c717af3ae87634cf959543da6bc0a37aabaee806232b106 +Tag = 4b897720e33ac0f50d3cbf28 + +Count = 8 +Key = 3803bc00f27c3f4e8449d91723b769e2 +IV = a1285c5ca69552d98f8d389c +PT = ab881fa39a2ab98a21e4e49b1760fcf3598ae5786996d51b2a7ad9c0c29ff879 +AAD = 17ac04457f1f0b1e32af7fc239b9de70 +CT = 19866e35434f5fcdaff4908d01164a8125c196a5bb82bc24e0625e30f184b3e4 +Tag = 23cbb796c8152e6fcb1efcfe + +Count = 9 +Key = 13c3f6eefb71b719bd36cccb62aae3b8 +IV = a5aef4f7ee24e99b117b64ed +PT = 4455615d18a17cd6d66877824887ef7e65ca6b3b7bb308e710353aa841612733 +AAD = 4eae33a3a9b183c424a4fe694217a09a +CT = fd16fe6228aaa548448e668a36a9b31c64a23b6666a124bef697310ebce75427 +Tag = efa4c0fe28dd4fca72daec06 + +Count = 10 +Key = 16611787201f1b25714115b0cae0c9fe +IV = 9606db2ed985adbd294052cb +PT = ef21fcf83d190844d08648f6a280cb55ac4fa1670229171c85cae15b415ece71 +AAD = 9630e1e8b31777837f074cbebdf535f4 +CT = 4d707c02d63ac9c23d6a68c6ef840e44ac4c25293fc3ff38b39c87aa43262316 +Tag = d681b5516cdad5160c9d6ac2 + +Count = 11 +Key = 9dd5aab5785a271d542204b139cc88ed +IV = d39fd468f87491c40a908fb5 +PT = 52afef77d258cc8c7592f3548fada918d3bdc135d6e19fbfa541d03b5c34b852 +AAD = 181eea4d363bb839cd09adb1b80d298e +CT = 0264bf3d4886483125b6e852d55d9b4383e6c6182f1d6b19b721dbc3eabd69b1 +Tag = b66d8d82e95975a455e3ef72 + +Count = 12 +Key = bfd5d7f107f545435ea554db23b2995f +IV = 02302041ad2721d44b133927 +PT = 3549cddfbad1cd0d2a51396192118394280770e29aff43d9b6f5ff62c15ded4e +AAD = 3317aaaf698b491d668f6bde612c9269 +CT = e3547471f2687df60c03b44189a6eae02014a21fff68bd9595526206f7e9f46a +Tag = ff704626a12004de39b94d8c + +Count = 13 +Key = 512de0c90b9278b24e65d984c788e21f +IV = b5002022549b850fda314b53 +PT = 4fddf7d97546d29881601fe1327a801f4bcdaa77733b704f30510966361b6284 +AAD = 7de183c60ce574019fcdf0d01cd6bfd0 +CT = 49284a907d714d1110486187b88866a5279387e673b00e8473e777566006ba87 +Tag = c1368a47af4017aad6857d1d + +Count = 14 +Key = 2a5da6712aebf660fedf2bfc7d3c2f95 +IV = 1af9949e73022b1377d762ab +PT = 4f308db5401aa85cb2b1c4a7f694dfd7068e0b5c592ebad53fa79d4a5469f400 +AAD = 0bdbcba2774d065dfe25864d2d26d3b6 +CT = d8f619dbac2d8ef2b342b4041748197a4adb93697e9d4f97e535ba6f97b43474 +Tag = c99b40c5ce0ccfce319b5f9e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 76faaf2bfbd103b5fae725f4990b8282 +IV = 4f32472c588fcbae5012ce70 +PT = 58be7470b3b0de22a8f902fda1100215b56831805920be92a7e57d81c150acba +AAD = 6e4141d7f79d4e2682cd605e3e39033c +CT = 11e3c43c549d277e42feb0d2ef39715ac8d86bd925ed7e64f17b97688daeef8b +Tag = 37d7c65a03635f8d + +Count = 1 +Key = 2dd2949d24237b6ec9f788859395e962 +IV = 02bb147f5f5a423277f24cf7 +PT = b12b8feefca8dfb33f49f31bd905725c19625ecb08fedfe54e231ea8318d21fe +AAD = 67b69faeff6c553ca2caa99913a4488d +CT = 4242de02b0b1e7a53cf8475a1838737dc4b49e22fc092b1d1da8e8c18fb1635a +Tag = d2018e24ac30837b + +Count = 2 +Key = 0d177ae486783d9fcdc4a846efd56072 +IV = 6b20745875acb4faac954564 +PT = 6c673353cc157269e9f93b1894eb7b1ce56447d6628e2d52d3fc37f5637d4641 +AAD = ede7b0f4b7f86bf6b34def2817744587 +CT = 793d3e24a0a2f40b1ae0ef7115f8bf1f26010d4817cdf37fdf945e1fb1b9de7f +Tag = 03fa9c62edd23004 + +Count = 3 +Key = 14d02e0a48c885bf43d5e3bce81d9e88 +IV = 574f054141092f68350fe039 +PT = dc7381f2f7673c412996c318ea4d55388100584e75ba04ccbb5a33cffeabb07b +AAD = 84c05d88b28d1b36093d5330a96334c2 +CT = 1f3f479284ec000085036f140235d891c9d7e5c282554bc57f55507ff62623d0 +Tag = 8057065a8a5f647c + +Count = 4 +Key = cbf0b774f391ba97ad429426e5e28b10 +IV = 3975e81aba8697daa4327c76 +PT = 33ae54eb77d96ba034b46b763ee52c71e883911da724d3758fdb9812ba68aed4 +AAD = ce706b043ceaed2136c0c44c92c8508e +CT = 2649f913897d86164b522b89b341dc16cf8d6917e068460ede449408e9b0007e +Tag = 4b3e6cef82c88ef4 + +Count = 5 +Key = 2aaa7ab1ac716965ccb64d4fbe77b83c +IV = a5aa8b282d99011360420566 +PT = 5eb8b7bf565b98050591a76c8b8ea0f5270103f27ff2813b1d9180c29e78b9f2 +AAD = 88d3b905648b09ff50ee2f1d0f3738ed +CT = ef7f08dfd09b837f232cf60b08807702d8bfa10d7ebb4a77679bc021f73111a3 +Tag = 3cd2b0fd0a5488e3 + +Count = 6 +Key = c269fddf2e8b3115df7fd4f98b135e9e +IV = 6cb162673c57bf83bbf56518 +PT = 746dbdcd604e85544e3a352ba4f29619759ba77669f63c7b61ba5aa36631fd81 +AAD = 8314178bd17e6c6c1d20e52667046c6f +CT = 2a0192010bdec99b8f8675943e0caaf51b5b8098eed3d8bbbd4d7acfa32b4500 +Tag = bcebfce98896c4dc + +Count = 7 +Key = 5a31d28d200dd4e8e4eeac009abfdfc8 +IV = 9023fd1caad9f70fcc57408c +PT = c6bf96e9533d5b11bbd6b4b9ae9787e4c6b4ce6cbb2707a52df7ce1601b50595 +AAD = 6326043877ece94fed97d4189a89e6e7 +CT = b4ad835669330ae49c99bd4282548c597c7cddabb0c559a51c16f4f2f9feb0d0 +Tag = 083ffb080b47418a + +Count = 8 +Key = 6464865806bcd2a853a5eeba29a6b807 +IV = 7d8a215e2cb7eea38fafcef9 +PT = 2b61b2a9a92dcd2cda379fd671a09bba9f690daa3182a2991693098ce8b5db92 +AAD = f7666a099d2669ef20a5426898b2770e +CT = 56afa66dbd021d6d8dd82a71263b5c1c48fabddd57b2edab59a967d7326a1eb6 +Tag = a3fe6ff493a12ad7 + +Count = 9 +Key = 2e403ef8b2392bf66e559a0e6a145d4d +IV = e60e1489c8f0754af1180c4b +PT = ef04b3266f9c1d9ea12addc0d7e446b54eee345f2bdae2e42c0e7a6fa0dd61ac +AAD = 395620561039d321854ef36743b6b33b +CT = fd08acb529e178ab62ba9e6e1d5539116dfc241c2b516d04686cfc73095d4ec2 +Tag = 935fe3d994406876 + +Count = 10 +Key = ebb3268eba8c8b5f3b0765366b2479aa +IV = b413b73886ce78a1844fdd1e +PT = 82ae0ae27f80bb78b733adb1a1f4f6f10a76c4123866f1b928bce5de8af86f72 +AAD = f7ed88d30ee38812e20bb4910681d418 +CT = 322972ffd29edd65102a8850c444081e667aeadfd2d30ecac376765ad80f7aab +Tag = ba96fc75a8bb28ea + +Count = 11 +Key = efad2d412a0a1f7bbb67616753da71b8 +IV = 6947579d353f0bebc07eb7da +PT = 658ff55e4f2868f5d511aaedc7a31cc1966e6e0e5f4107a6ef153870757a8db9 +AAD = 9b55882eef96ee8f5601e516596bf9e6 +CT = 0b9b27f5d709bec4821cf5f879568ff50a6425c9049f1277da53ad39572c05aa +Tag = b5abc6f448de9c55 + +Count = 12 +Key = 5c12fbaf0b5df1e773b1ff6ce6c8240a +IV = 264a2b70798deaa4aabf5f03 +PT = ae479f1f0e7acd6e5f6659a55bb0aadd9e206bea8fa26d5a7af8b5a4a6cca682 +AAD = 0951a4c531bf6f29e052b968a4816ed7 +CT = 71a2a5296b6481ec54c7c994ff400d28173aab11a0124f3796a1370d9af4eda9 +Tag = 344c89afafcbb40e + +Count = 13 +Key = 4fe0ad5d660c5406ef5d7271e70f3c82 +IV = 1ae7af876b23fa9e72e54e63 +PT = dba62173ac2ca2e6e1463fe171a7ecc1fb9a08f85704057be888c414f4f1daec +AAD = 8b73ebd0ccf87c153480f83ff1a4592f +CT = df87fb85099a9bb70d244ae513e944a5f4cf5d38abcc64d25174b9fa9374893d +Tag = 6d7208848abe173f + +Count = 14 +Key = 635a0f7eab3c71e3ad48e5c4506f7742 +IV = 994861fcc7ef50645b3aac55 +PT = 830954b9e4f4fcdbaeb0f5bc2a52004d649923e980cc9c94e341856c8331312e +AAD = 3b2e26969bf03f21e1280f4e82a83fe1 +CT = da59b59985f8c60ee12f3e26efa733a4bece1779a93178bbb6ac72aaaa86afb5 +Tag = 359dc33fa9d449b2 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = a3e0991188de2b06d820a889a7bc6aa2 +IV = bed30dda59bbcdbb139f564a +PT = 7fe6ee7564a5777e6a5262788d5cc4e0f3d5a1eefee5609b808dfea541a225da +AAD = bb3a20cf1104ad8344fc0118b4ab1bee +CT = fd99483c1de9e8ed2fcb49c5a10ffbdad4d8de29567dbe3f256fb5dbeb728d55 +Tag = 17834856 + +Count = 1 +Key = 9c401d589cbe885b0becd7ca55b8954a +IV = 21e28b1e9d5c47c008e97c8a +PT = 0aa0f31be1196c4cd817cfc1a2fccbd994305d0071c8c6fc9ccfaa1891c003ff +AAD = 5bbba31dd23ab577b82c78340d0eaedc +CT = 6d774326408414e1d177658725b4e20fb26827d0bed6195915a2adf4dc2bbe03 +Tag = b75258fe + +Count = 2 +Key = 84b6a58589366b65e1e0260b5e1fdd40 +IV = 366611c3606e0706b2718a96 +PT = f9db3af2aa8a71052285a6b7402601866c3aa996e9e908c98d93af7f3e2d4d6f +AAD = a2fdce589345299d2924e8533bffdb8f +CT = 102a9389633fc2048273ac7e856717d1b185e7c7cfeba345fd54f3ccff7f702e +Tag = 248cc46a + +Count = 3 +Key = 0fb9b359b13599d3b513d8efa7b12153 +IV = f8d21476039d28001c049c9d +PT = fd69d4284a23b0749e7194bf3f9a4ccde384f2ddbca7d846cbf81b9468da35d5 +AAD = 34df774a034d40c606a90d4b7eea0fcf +CT = 1297751f4af17023fabf47db65e20cbf0f6e6ca965cd5994763a15b35582ed2a +Tag = 513c5b59 + +Count = 4 +Key = 219c15057bbe7d98ec99bcbcb74a6eb4 +IV = 003ef0c843be06bff893f962 +PT = 551f53f07e003224dc9abf39ce7c88afe6447bccbce9c847e34d9ecfb822d921 +AAD = 863391f31b94683af6fdf61b4e79ba47 +CT = 9b83e4797309ecda62ad245295c46618b8dc549deacaeaadf15c17d20ec9d60f +Tag = 178864a7 + +Count = 5 +Key = 5cba54460b99517fc15c367ef71b8319 +IV = beb8fea31a8146cd9249bfb0 +PT = cbf35f7bbca6f89fe59851255f852155f6e9ca2deafa1ce485b1c47ab29eae2d +AAD = 303d1fe15c9e4af1c0b370863db7fae8 +CT = 797080fb2fd3b89403007cd437ada96622c02d38344fc9d81fd765c4d2256085 +Tag = 29152a65 + +Count = 6 +Key = 9eecfbbc96a6b7714198acc8e3552ca6 +IV = c9a9e65ec7e3e97a8703b9ae +PT = 8e14d8f1043e758a729b26a73f3c91783241e86b8566619e4774cc68629ea063 +AAD = 55db7c0f956f195f1ceeb8718eafe814 +CT = 2cbfb1e294c6cda1755a95935dd0c1018ed5a41657327def97b340f7f05e6403 +Tag = d8cc1616 + +Count = 7 +Key = 320920a8a1e3a045a03dbd0c62cc9ea5 +IV = 0d0fbcf07a55f6fd0e8b1bf0 +PT = f21f5e8fd82846d4b03ad27ea76d553e1bb8a9c346668e5877813a4f3c7d3f70 +AAD = 04691a64dde74438dd9d57485d03a6c2 +CT = 261c619df53d667cc512ffef94ce3cc687160eccb1d4e6f196dffb88b740dee0 +Tag = e5907ca1 + +Count = 8 +Key = 939667d9af7eab5cd5be9001b8bec88b +IV = b2cbb0550095361fb514fad4 +PT = 8ed091ddf823a364617c9aaeb71d1bd78dfdbaf8889ea3f09d150ce333c48772 +AAD = 309694f9872d7ba0ef5f61ff061cf1df +CT = 83ac901c39121a57e67d7eee0c76678ef0dc3d2ac0030ed3e6a37c403ec9ffa5 +Tag = ecc4cc25 + +Count = 9 +Key = 8db8e8c6a57071494c760c43c76d1a84 +IV = 49c84c56f3d6f87e3ddcc093 +PT = e1e25e1c5f3dcfa39b832d898a86f72f449bdc7e8c31d62eb14142f4d8fa3249 +AAD = 1948935a3e68f0f7a5f52750e7e1ee42 +CT = d1bcbcf902f120b5e93601ba00e5a3b1ad7e054ab10574074d48c2bca3dbf810 +Tag = 0a2a4314 + +Count = 10 +Key = 4fe369b217ef4224bf9aeaf12dff41fe +IV = e54820adabcbf69d37239364 +PT = f87eb08b288cda178acb66d1bd5674e16c37bd14e28b8a0a9cdfa1caf603a387 +AAD = e981de59593976c39db6961914869af6 +CT = 07f32441f40bdfaf3c673b28ba70d860a934aeea97d76f7d06d82640b31de386 +Tag = 1e1e3bb1 + +Count = 11 +Key = c5c2cbd442decfe95dbf4c81122216d7 +IV = 5e1cf90ff5562f7c4d3f1c06 +PT = 34df861fc9482a33a79ee72fcd18f8e2cb69240a1c9e9490348ed5e7124cacd0 +AAD = 9c6f75dc6cb91537b4d6aea9975588ec +CT = 3bdeab6679d00d4b18c4a28f655d86ed49e2a04776940a5f04dfcc0c58f443eb +Tag = 6030d807 + +Count = 12 +Key = 50a749865d57147787fc0e6baa41ee31 +IV = 6a82a815c3944e1cfecbd42c +PT = 196977321d2046a52b7cf070e857878b23e0616b73549152f6b6b3872357e6a4 +AAD = 12cf6b216a7b9e15cb6f7183a48ee8ad +CT = efb33bfe6d4312f14d198786aeaa87abd425d356b6f718bd52924412e2e22612 +Tag = 60cc7760 + +Count = 13 +Key = 16fc75e363bd497e8a63bb2511095a1e +IV = e746bbca112fb0b670495f30 +PT = bf224c096c19974c5e5275d3ca8347e2ac8125a085721d64f064790977d55027 +AAD = e48c038978898386630c678164d431b3 +CT = 92e5beef15d8b6f64aee6fd467f2096472bc37102cc9ceb4e1b877c62a5d5f6f +Tag = 6b474950 + +Count = 14 +Key = 673cdc24d3814d79c13d83b4f733986e +IV = cb2286982a109eaad7c9a5c7 +PT = 96cb5a817bcb700f56160cbddbdfa724384ecffcb526d36a4f69a64a4c773e6c +AAD = 59f4992498d54b4a696288a8dde56e0f +CT = f28119b2506439bac43017bdeafe6785c2e919b3a7890d38cbaca8b759047f59 +Tag = 2d0049d3 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = fedc7155192d00b23cdd98750db9ebba +IV = a76b74f55c1a1756a08338b1 +PT = 6831435b8857daf1c513b148820d13b5a72cc490bda79a98a6f520d8763c39d1 +AAD = 2ad206c4176e7e552aa08836886816fafa77e759 +CT = 15823805da89a1923bfc1d6f87784d56bad1128b4dffdbdeefbb2fa562c35e68 +Tag = d23dc455ced49887c717e8eabeec2984 + +Count = 1 +Key = 8bdec458a733c52cd994b7c2a37947d9 +IV = bf8d954df5f1ee51fc3f1890 +PT = 9d5f1c905df900111f2052a60913d8a9d83cd40e43ba88203b05e3dbf0e37fbe +AAD = ffe26874a54bd38a026c5c729e2852a748457412 +CT = f056cf8ea6c4f353f08d54c27a8ef3324ab927a641563f9f5dc5f02c3b2204b1 +Tag = 2f8b9351426363f09f5d17f634a381a9 + +Count = 2 +Key = 0a651f95b6fe5d9442fd311cee245229 +IV = b7b2349b60ac5cf09885ef4e +PT = 1cd7be7611d8f7c9d75fdf3f53d28172ae4d462c06da56cb386687f2c098e28b +AAD = 725a089a37ba50e53143722140ce5c37bc0a48e7 +CT = e2926f34c30883a3b7eb0dc47627aad090111654a4980fc4fc952fe7a7b6b60a +Tag = 617345dab8973c21ad711c2a51885f83 + +Count = 3 +Key = fec2452d0883a54c0e33fccc092ddcf6 +IV = 9e3e354d30c2c77cd0d9a0fe +PT = 95b9c5e6adb7fcce212abf535095bd955c3aa0f7ac2428841f4de9035263446a +AAD = 6c12b112110ebf36930910f1bfc9ed49e14440b1 +CT = a85754f451b40f3ab576327b4b99fa09adc95380299f61c5c7a8e28188d2a40b +Tag = 94b979f7718ec13412e03f3461440100 + +Count = 4 +Key = e5f6d9f2c8ad08a1500157e027b92219 +IV = 94358eeb6829f1be4de3abfc +PT = 3204856040edd9401a890769875cc252e5dcb4a77e951e6eaef6d7318a06bcf4 +AAD = b3b860929cdc3fb0e393f21287f3dddc4a1c927a +CT = b1ba514ae4c41270d7beafaa1bac2fa993cf5af3607a008c6bb4aee2a1212dd4 +Tag = 7e0f5aa40553128f2c15cb9567c950e1 + +Count = 5 +Key = aeccfc65063c3fccfc5a0b29193d1ef4 +IV = 70649c9d2848d21c575d6914 +PT = 46ac375da56527c3c6fd5f28f33c63b1ffaf06c33b8f329eae37f8579a62291b +AAD = 637dc392cfe3a8e2fe5e871799a46dbe38f59610 +CT = 7f8841d3c82907596c4aa6ed433b9eb33b24d66f0a0cdd846d5ea51668975d9d +Tag = dfbab7a42d60cda73b03189034e44ff5 + +Count = 6 +Key = 1dbaf0bdd974b48ae373f686a961aeba +IV = a3a6454d17ac622248ae9857 +PT = 83a131f7737b4e881fb255ab9225f7faba96476626ed27168d6342ccca8d3e75 +AAD = 393843360c388a6e2f83c7202e8da6fa7041a6be +CT = 2471d23957d6305a86520b757c54890a57f665a44a19af2f8d55e6833659e730 +Tag = 4693b10c8998580e986be0bb26a22e3f + +Count = 7 +Key = 540f40fe8ac2e506b69bb2ba356ff8db +IV = 0502e51ac42f641d7a0176b0 +PT = 910a000c5e99245870f08dd658b648f944d04426a70d6d46d8e88ec8eddfb324 +AAD = 9b1f2b2fd7265792852628df926abc5609aaa762 +CT = 9381d4b72d740b58c3f27f8dff01d8bef45e769b834539a439173c88a6d18e62 +Tag = 7c678893a122a50f777dfcebf514f81d + +Count = 8 +Key = 55d0e0560a2027bb873d84a39ff87046 +IV = 616d61ba94216c9c7c0903b0 +PT = 1610431777c01136c0a0073f5c114c357f0216d5eaa31cd40b8cd605ac56dfab +AAD = a0203e1f31f66bfdc819d086a48b705d1eb7721b +CT = 5d846a8dfe02cf2454e11075a236b2a6acc59819e9ca6af580690664c195edd3 +Tag = 24cd0dd950859ab9d1ae654ef7174f98 + +Count = 9 +Key = b7ff8402f1325d945c98662003323db7 +IV = 6b6163fb2d1641bce33459e6 +PT = a2a653ee98df41fe873bc036a5fa7ddfea8d63ff0949ae8e1489cdb0c3a80c7f +AAD = 50a7649f5ac25f110f9408ecf3289d978a55620a +CT = 820a373f446a8341c8d928d223a5aea854b643ff07902b0c5bd0c6319b42d855 +Tag = 764c69deed533ab29bd85dd35d4dcf9a + +Count = 10 +Key = 48c901ba4e905bd68afdaec739ae00c2 +IV = 5bbe3dede5ebbd8cb845a9b6 +PT = 80b845888bd2f25defcd62b72b6bdeebd6152b3aa6b006891b0d69769fcc06d3 +AAD = 0c0cbcdcdbb35a35116b12b62715df4b647d78c5 +CT = 512779582d1fe1831f333bb563634acef8021c3c76b06beb6c7da98daac4c229 +Tag = 15fd32f96a4b9505bc1373525d40eeb7 + +Count = 11 +Key = c82cc4d9ff0681968839991afd0dfc2a +IV = 26a95931946fd2118ccd01cb +PT = 7516c4a781be02cafc36df4a07d2c9ffb978fdecf5217240097d5c26ff1e77bd +AAD = 8bbe80d4f4cd6c61b4fe3d24e98853acd4dd83fc +CT = f98436fe4bf6e5993adab0f0001bebfb449735eb365b9e7ce4b151f82005c5c7 +Tag = c83be461e1fedbb4ddf3ee72b9debe20 + +Count = 12 +Key = 748a88bf4e264a1180bfd665072aba65 +IV = b0a768b62de3cbbc1bcfe93f +PT = 1e1df61a9f10c7b4057d684ccef74e09f2a87f7e4aed393a451461d574c8ddbc +AAD = f4b102d885495fb893189aa216d8ab653bb97b99 +CT = 5e1af9511989069a615a6850402547ef4788197452461f1241e24be674c60074 +Tag = 734e1cc937ca384e282410fd9fc4bff2 + +Count = 13 +Key = 2393180bb81320965a58424b287c9b3e +IV = 480053c69ac54b93f5e81338 +PT = d46fcbf950bfcfca3906769f922821473d3005d5a1d81278622d4d3cd9721a33 +AAD = f6a2a3ac8e462fb01bbedcc9b0f8686ad4477929 +CT = 125874ff5a7f8936a76b11587bbebd461e27638bff5a1e993465c9cde82f2bd4 +Tag = 9b625b4c2f66cf2fc88043b9b4c6f2fa + +Count = 14 +Key = d651166baf42b75adb26e370b76016e5 +IV = 4af70e3be1357501cbb16bca +PT = 21d76d04488d4c33a7e8822797f785b43540bd374206966c9ef7832c51cc009f +AAD = 2c1072d5df5306e20d323a9897abac120bfb4d04 +CT = bc557572490f4d63811f8d83e58214ba4d8d24290264381838328a2962f010b2 +Tag = 8bd1f65c551c4affa517a8b03b6337e2 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 64583c24068cd6c17434ab6d9e29259c +IV = 980bcaff2f91b23480c938aa +PT = f803fb0d5c545b4bb59ace26cc5961f372fe7d351853d963582a8943f598977a +AAD = 5e96a6449b4ed3fcf825b27ab010c2821461a05a +CT = 957d6cc5ff84f4fed5981a01d299e8a0c43f457086f5ca773b8cc7ba09cb5ac3 +Tag = 13acc4ce9c5df7f6ca80893f977672 + +Count = 1 +Key = dc2fc7ec84201902594c427785f39d0e +IV = 87afc19e9eae8d89536d19db +PT = 8d0eec9a121f16f127156da97eb42a94c9e79431d332432fb1c9f753400e389c +AAD = 5e712489caea263397f719bfc2e38911ac079db0 +CT = ac65fe70ce7942db85259601a0fb2bc06fe15d888e13bb580b751d16fe346491 +Tag = fa1716e307fd1368eae57924576e45 + +Count = 2 +Key = d29a9279d985494ae954105c7ccb7d3f +IV = 4f48fba602c1489222f6d9ea +PT = a98ccf31543b0370a9a7751d461401f5cc850ac7cc34ae64b14b74a1803cd7c9 +AAD = 6be527572a91aaf5ba335ef1a8521619d585d9fc +CT = 820eba9325ec59ed16cf5f84d3e6fb13237023e351bc640368bd571758f29509 +Tag = 49f32413f137471890fb00979902b2 + +Count = 3 +Key = 54c36cc39bbbee01a2ff561a0d33fd27 +IV = 25882f6e9a2b42110e463127 +PT = 40628ae01331556e10d23778a15714dbaa5127b2ca5294464eb2ac7a6e83c4b2 +AAD = b5cac862047c6c82ba9e9332b749a9e51de6f385 +CT = 3e84e32d1e0a7c5afd50b2281f074da16ea10f17df42aeade0220282b933900d +Tag = acbc0a99a82a24091b5673d5d6d2bf + +Count = 4 +Key = 0eb4769aa96c9ebdc0fcacfa73fb8905 +IV = 1fdb789666a3e4588563da8e +PT = 00c87c9747c81d4a066fba82a925296bf64e681d9971db5ad6f3c97705101cbe +AAD = fb814ead9abb1568b87c38648ee80a9a89097fda +CT = 505761a21382fdce7ce7cca3d712c781bd2ab1b34bcc3d82032c581a3f6e276b +Tag = a33fca9a75f221f68185cb3a088f26 + +Count = 5 +Key = 5f44e0bcf31af2eb93aaecc0649feefa +IV = 06c5139f56d7b8bbf6948425 +PT = 94d223206c8c08692b0363c5b9794576c16a423824b5742564ce0eea91134cb1 +AAD = 796a2f451c9e629c2072355e7a162c4404a06eff +CT = 06604a02f6ff685a69ffca6aa75e4d9fe3e45c673076c1b2093c85dc7f250b67 +Tag = a34c8caf9220734404967994a30a88 + +Count = 6 +Key = 90b93b1dcd7bb284700692e8ce661255 +IV = ccf8d8b665b1bd4592811a83 +PT = f97c231d4ebd7313477a3358176b44140fbe8ebf456af05fcf5effc675dbe394 +AAD = d7fa29910900d6ddfdc516e57b23a0455693394b +CT = 1b296f80a85ae04d5bb5d5298df3ba362672b8c356c790e311f87fb4467ef66e +Tag = 2a95b11e4cd176d7afe6141a3d6b74 + +Count = 7 +Key = 9cd8fe94ad17742b992b895e572c9fa9 +IV = 4336bd23ba425593f4708dfa +PT = eaf0243310c0df715e0d793d0e3f1be99c2753c412724ef3b1f5d02713f9a962 +AAD = 52b5e2178dae1399460b4c4ee4a761e43e81e218 +CT = 9fe7b171b7afab372fc7a9ab3284c81f6290d992096379bbb704792612346e2f +Tag = 7a01fcd270a358ad5bb362a12eb0b8 + +Count = 8 +Key = fd28b4b16f9e3d13c5cdae897a5be67b +IV = cd38f37760d26774ee9f13e8 +PT = ec5c6c01bb4b6a8e92086e20bb03a06c25cb2fc9132375c4f7faf137a4dac236 +AAD = a8940a9e0dcd558babbb8412a4cb9329e5d47428 +CT = 7082e9bc273dcc09d88eff3da13768c7b1003c694400eb3bccdc86ebe9f5bec7 +Tag = 4cc69e3c6541ddb37a3daf6f562e09 + +Count = 9 +Key = aaf677c607a124cbfd70f3af8e64aa73 +IV = 22d3a6b1480e1c2df4f6b999 +PT = 813790ed4f3c0affcdb7c8eb21a94f7789b91aad9ab208d0dd8243d2f6e27593 +AAD = 86efca68874d558f148bb94b4a3a4acd7785c8eb +CT = e0f0a0afa2b045da561b7d3e957b9b09e27a9ca86e50f85fa3e4fb5caf3ea05e +Tag = 5a2ac64353732a0d50cd37d37feef6 + +Count = 10 +Key = 79b021c22dfba37b8fc328c99c9332ab +IV = dc99b1d95b20e937995c4e25 +PT = 336edbc0e09a8c1e6e4887974ff092b4e1d4dfcdbd3cb63559739c374807e30d +AAD = 045ab4e67db3f19d56645be37cb0b05161a79676 +CT = a03ff80bb8a3bcd3eacda3e995c3dae9429cc23e5a8cb6b34cff41cfa74fc913 +Tag = 0f206460079f1e7ef816c0c3f475f2 + +Count = 11 +Key = 8a6374fdf0ee6db93fc6fc7dbf2a9fd3 +IV = 4fc67846120eed1bdf1bce78 +PT = cda17e3803d63851b935e821ea278f9e45e3277c46b1de0b98efa495f47429ca +AAD = 191c75726c5f4c745cb2551560bfcc94a776cac8 +CT = a5711c41b166a59662ea4f51904e7725f4abc3979888bb9261efc1ba4b4dc03c +Tag = 740359593503aaf09f276ea59f0123 + +Count = 12 +Key = 421f5d5d280e4ef3eefad4555ab267b6 +IV = 2d2a63713e890cfb76644ca7 +PT = 810dd78346af80485c637b3d3ff9002cc51f51e3b99ac3da0d32a2992ee739ab +AAD = 1441ef29ff249fffc31a5f715e6a359e95ebf169 +CT = 07a91e42440f19618f9b744b107df88a0b19e9c5e0870ee7f3a73a572509b483 +Tag = 10d2dd74596c61966fcb0a65c240a7 + +Count = 13 +Key = 90495bd6e48187426858ba21228fa337 +IV = d2a8c20cc36f4dbb56511120 +PT = bb6bc99a914f1ea32cdbe32622a5e31450f75b47d0ffe2ba3f0d9bd22bee04fd +AAD = f38f45a3bab3dbdb3971bb9dce6324418787c27c +CT = 85eccc54fb9cc7352f0b65b2bc340f8c58a097094650fc3e92b85c33a47009ec +Tag = 401511fdea19bd2762370227d13e6f + +Count = 14 +Key = ba1575af289d4579b02a67d3acda5e62 +IV = 2dfbebd61237a82311d54dd0 +PT = ddc6a3e2e2b8d34647318f8d3024d267459cdf111b200b70ce3ced1e6cec9fb5 +AAD = ae57f47a3b91596261408b5692a2d522b897c5fc +CT = 8a79ceff40eb85e0f0330fb854f118daeff97d30a5ef2fd4c6c6b18c49571f4c +Tag = eaa51462722f99255ef3ffec9f7b96 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = dd66d45fb5f20cf57569d19c760892e3 +IV = 9891a99d8a5aad157f9f5fc8 +PT = a704df78893fb7a6c9f9f8210e40f88c406a8ce662cf78d79e7d609bce088b80 +AAD = 20f4d5aa96113741a58a363f3ee6fabddaad6e4f +CT = a16a06e2e75c3d10cfda5b2a7c03c5a8cfa8e53787300c104bf48499f17f3976 +Tag = 40c4d702758c467c55a38d8204d0 + +Count = 1 +Key = 7eef5834c73a51eb856837055d205305 +IV = 339b74b80e75756ede704c4d +PT = ea2b256fdc53a74fee56d8c4c8dec1f41951367346939fb47320e3b96d9982ea +AAD = de9283278bf92a35a570c7ba3ac51e882fad4610 +CT = 6ccacc77ea44af0a28d94f7bb006d3fe680c660108894255cbe54679f9894ee2 +Tag = 71cb09aa77e710d4698e7e8a9a58 + +Count = 2 +Key = e653e55ee49a9386f574ad692d673e8c +IV = 2b6143ae4123872c4a499283 +PT = 5dafb5ae4d7aec07006d22103e4fc296812152a28847bd66d4d23491e284c72f +AAD = c0c8733abfc75d23bb35e8eaab759ef3e8112cb0 +CT = aaf4056225e908ff96137eb392942946d778170426057b26f03730d8d0e372a0 +Tag = 7edafeb2dd71d9eca0eec3562073 + +Count = 3 +Key = 84ee40194c50c5e5e89d1d38a3b38206 +IV = bb8e5f70e83824a91ae2e0b4 +PT = a1d4006231c36321f0b1181a2176a3ec47d6abca9cb723085f8281506f8d9bf2 +AAD = 95f6aac9e2f8252754bec8cc5d3343c1f5226da4 +CT = e6a16cc03fce57a1c0c713b65b95a17990f0940ff181a1e61f1b2e6710ffcfd1 +Tag = 34833d35253a10fba04dae35268f + +Count = 4 +Key = 42567507c37046a5ada81f818c78519c +IV = d77e55401d802fba85a4e618 +PT = 0a73b5131a38f79bf0f531711254d5fac16008fa6c139579317144ee4d9fa3c5 +AAD = bd3457418e066858c0a4d04f66dbeccec2c6c635 +CT = b831f851bafeb5dfc54c1e80ccc584dd65f36d3121a319d16b4d4fa8c581b3ab +Tag = 0573b9e9c6652df0ef6aa8d11515 + +Count = 5 +Key = e6a1d8763154895eeec3025fd6b02a11 +IV = 030f7159fe935beb6a55ca69 +PT = 2284f1dec91d919813414587b93430639d5ed1519a169343d4fb4c0aeddea6a1 +AAD = 1b0bab1ed470401ef9564e2a6fa15eb881c84a25 +CT = 084cad9b4e422e1d72b69975e311e4a4794ce45997d52e0dea2dde2d36c346b2 +Tag = 5a0203907e3a8e3d8f5b568f4a3b + +Count = 6 +Key = f0aa5debfbc2b792e4e2db75aaaf584e +IV = b2d3f8d56d4f6a9e39536e40 +PT = 523100e8c827cd4d56703763de8e0dd40da6022336ba3906481d85929a9c13ca +AAD = f384383f3dd26de890c9c0eadfc95010fd7554d3 +CT = 7aac43c76be77fbd8dd4f03d7c32a8b99951af498931cec9061a6b8cfaf47572 +Tag = 0c4194f73343f4b9ac606a7da34f + +Count = 7 +Key = 457f6ecae3983d701eb0a31df7ed5e3b +IV = cc266bee73b44766dd4322ed +PT = 7902144bba248ec36b639796b19852bf61c5ea05a70ead5600214546d88fcc6e +AAD = 6858a4296448e281ca193ffd334e121add5be516 +CT = c5659301cac80921e65712a997266717b76d06ac75c0d1ebae02eccf6f470ac3 +Tag = a549000d5ff119bafbd3db958b4a + +Count = 8 +Key = a41b978fd22e32a9669b967d1ff1e456 +IV = 6869e8ddc49b0b8ad9b5bf37 +PT = 8d75c3982dd7d849579656f8b6eaedebe0efc044370f1a76614fca1f4f0b3c87 +AAD = 5f7e8f253e5a4359f1b9936a1a5f6f4b90418169 +CT = b566a9639c5fa1d68fa41c16611ac0e8cea8ff5b3495aff57046aa6d7bf52939 +Tag = 08bcb3a5065bc6d99912e486a1e1 + +Count = 9 +Key = a7bb4098b6c3995db4495ec302f560e3 +IV = 3b020aa64aa0737543ba0fe1 +PT = d73c2a7c3906a5e517288173155054903beb5f2ef40769dc4bab3b0e78dcbf8a +AAD = 6c1521190b65737803ff6f43bf9d7f7e0b80329b +CT = 9547b09fb6a13803ad8f40bdd8424943d25f7a48076d921d3b7e9460cc9c5e8e +Tag = fca407278afc754ad08be7533851 + +Count = 10 +Key = f4c50bc3f74ab9686e04bf8aa02e1cca +IV = 9089d8ebf209956fa983b79f +PT = 105ba0bbd4b8485481e276d2e3c15c5502374ce93dcbf90b5c0c93f3c6ef224d +AAD = 9f9e981839be31aa7e7a29d275e1cf79cb916aa4 +CT = 39fbf7ec88d6a24df8d01cd9992ef4f66b1ce0c6e5534c5221c445bee9ea2ef5 +Tag = 0d383f2412c7dd3a6c93c6ee0a1f + +Count = 11 +Key = 2c4a9b9de0f1bac901c5a5d8a23a5586 +IV = 8451d5aafb64cb3f2bc31c59 +PT = 1bbd3ab1687bba9a203fd150ca76f5507f587621349e144f8fec5374b4bbdca7 +AAD = 395de7f4fb1af2bc1aafec2ec3eb6edc4deca274 +CT = 396c8a90ef947ff069ef1cf417bb6499462b3cfbe8b9d87315594d432eff5449 +Tag = ea39b6a88aeea63cbc019f3b0668 + +Count = 12 +Key = 358e8c38adfbab3e6284cd6b9114200a +IV = 000aec59ad0b3ffac00e510c +PT = 70a45f853b73b95faa4e402a44f8a96c25376dd6f82ba6862fa3c8103ad0a9a0 +AAD = 92fedf0b2f8733a07e6d0296424baf41824f02ff +CT = c5bfb178b92a6ca3a55ec716f554648ad4163fe5d700e8465c525efa14f29032 +Tag = c03a52c2df6a6a1411ff4e64e0c4 + +Count = 13 +Key = 17593bf089be25ad8af0d00bff44373c +IV = 94cfc652eff2b873d623a345 +PT = 7f95eb16564087227bd79d14c269663ec181266205472c73c790369a4d411165 +AAD = 2519497fa0f85f7db15139c5805867624c087c90 +CT = 43188896c517530d5f2d9041b2ec9c65ddc7d89bda8f4325de0bb6f72d8c507e +Tag = f5e9b14e7f610b20770e94f82d5c + +Count = 14 +Key = 1671b54fa7fc3664d3d07df447878520 +IV = 7d1cb79791139d8c83836204 +PT = 2ea1864a908cecd53a2d85b61e4d95818066aca2b5903fbddd3eb76f8b7699f2 +AAD = 547d8b16d95f00418c1cedd1be34a58dd5cf13ce +CT = a8183f0b9db24d6d02a12c4c54d7e0607c1155fbc250f28d9f635c74f70f3846 +Tag = fc79bf5a5a9a1daabcf2dd537c1f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 8cc1089455f87eb8839cb93f41399e9c +IV = 147eddce8b9ad6a3658ddf32 +PT = b54533da68342aa5d5799b42916d77e8b7d8149090ac1144cd41940098f57c4e +AAD = f062a37a1d6726bd8111be3e488de3a676c18559 +CT = 5e5aee9805c6b02ae0c4de42cba36cfdf332afcabfac19c5ea407f970f47706e +Tag = 346786aedcc23d63df6bdde590 + +Count = 1 +Key = d43743420c495cbca0f6cbef00ef9b15 +IV = f49ed3fcd2b839651ff6d861 +PT = 79a3de1f95eeafba37a8c4c1cbccc5df496016c1361fff2e9b17fcf98da99c8d +AAD = 78f23b3e6348893e759019f49519351623b898d5 +CT = c1e0c0f9c73912d45136f71d714e9f5239b00838f0d0c141b1d15a253db0b32f +Tag = a93d5e7d7873264e44e4472273 + +Count = 2 +Key = 9780642a2f4a0b8cb3b5ad62d858f929 +IV = 439ea3fd0f1a5eb7ce7c6098 +PT = a6e15043b228da6113d2a63d75c3c1e39d41e1592b543c6051ab76ad6e36a556 +AAD = 95376ba7521b16a3d5fe9f36385f3fb57a2d8bd5 +CT = afcaecb6e96bcbf30d6d7c9bf88ead33aa4c8ae7962c1d1cc51290401d2b2ddd +Tag = d55da21ec3fb26b9c7188819b4 + +Count = 3 +Key = c59c854f4772186200c20b9acccc0131 +IV = 3590921d87c7f0b36096d555 +PT = 9fe9d008da89f7ff7d6d90f3a7bcf01abf03b6d180aa9f823f8b33dc124cf016 +AAD = 3ab60bee9dd300e3b927ea494d4917da41d27a05 +CT = cb9fa87ee4bebbcb52e54cdfcc6104f84a66c3399bd930ead314f83705ef1be3 +Tag = 2059c606f4eda2f94616063921 + +Count = 4 +Key = 2536fbf3b92e75af5eb9d0bc1247437d +IV = 452def343dcbc08a272661bd +PT = 793881dc3f6aeb7701be3374f48401eca571f19d9c60f1c2667f0c77198e891f +AAD = 4517ad0aba012917f5dbe0dae8ba60b3a42717e5 +CT = 1c70515456c78a9cefee9adad6b9e5d91cd013e4026ccfcc077a5578ca8da93f +Tag = f0adfde01a4af0dfdd4213c44b + +Count = 5 +Key = 0fc0441b8fec3b9ef637e6905221fa52 +IV = 4d85db0ac58abaffd10e4a6e +PT = 7857b5c8c0d9f9c08eeb898c4fc6e212b37e87ba5ae92ae98db67a147e8a8d46 +AAD = 678656e7cc3b65d5560296a05ccbc05e64349e88 +CT = 6f8692dd6f76abb409ccb263ae3ce47e951188783cc7dcdc786b5d6d4aec39ed +Tag = faea482ba93fe78b5467c69aec + +Count = 6 +Key = 13b59bb1ed3f04d27fbbd860c8b2e1de +IV = f3d78b1a48b7611173c72b5c +PT = fcd82b60764f651ce38a5a80bb8451040c755f0426ffb820b8edba30d4d97cdb +AAD = aabd70c6ebcc4efd90b245140eb1970efe62e529 +CT = 515fd4b09ffd125b186f16f5b7a0208ff7d11f68390fdc39b54fdf5582bc3a72 +Tag = 6d4f84888782ceca7790373649 + +Count = 7 +Key = a9e2ba36f226eec033cdf7b866342fee +IV = d82744e97c4b4cca74611ecd +PT = 99b58e44627584a578887285a4dfe85380257ddd9af97c42b2b24197168b912b +AAD = 7b2ea99fda0b0875bb52979c944df50c38666d43 +CT = 5d18905f25050cf016caf15cbfb8dc550aa8599e551bf8009b2e78b47c910003 +Tag = 78538735566307383df53c7aa0 + +Count = 8 +Key = 287b6a194156604e81fea6fe70b75d48 +IV = d46d0d013dc0f476b97c766c +PT = 3499938b8203ec648cf305dee931e680996efc0123c0beaf4184d546a28d2022 +AAD = c3f2ec64227334331c3e7150850c92ad10e8c088 +CT = 022494f9f1a27ace23637634a0eeea7ea71af60ec96f1a66885cc7c0e6845922 +Tag = 0e67bba11026a106163c2b62c4 + +Count = 9 +Key = de9593e3d24fc959b433e2f5ef30061f +IV = 5dc76d0c309719bd47603d61 +PT = 9c8164f42faf6a4b46fda32479c5cee369f5e9743dba79aea0306d71f87e4dd8 +AAD = 4e1e198c40e2c0292a903730743bdb8c98925c2f +CT = 7d162f5c1463ca5097a603843daa92123937fb8725a313f990da532501ce33b9 +Tag = c5646438bcf917060c4e77737d + +Count = 10 +Key = 5ef0d82182397b65517c1a269575d43a +IV = 99235aba9fe7940a0bc851f4 +PT = 8b1b052bc83330232b35251d270c934e084ee1664b21ba76c067a155239a1ac8 +AAD = 5120b56e58038479a0181ae25b193be6f804c72f +CT = 8b5d664c28f7263cf1e6d1768b31867c4f8e69a00705b4a12d79d8aacac48186 +Tag = a69116479dc744f46eb6988311 + +Count = 11 +Key = 46266a763607cde74841b4cec0d7ee5a +IV = b221dc85fc6825bffe1c8146 +PT = 64401b8a94f4fa18b0aa555c096b6f407ec1ae0ecee47e92d5f2ac5bbbaf14ed +AAD = c45cf2d3521bae20814055b883f19b365ff0a1f3 +CT = ae49075ce8221431e0a52516d4d44114edce9b4b4167ecc49e65bd8205e119ad +Tag = 0a1171fa9803f1cb5b0d7e0406 + +Count = 12 +Key = e4a4ba9d461073a8d41ffd811691c1dc +IV = df80dda638d812dd6ce154ce +PT = fd875429a460d67bea5e035f98510ff079fa62851feca6080730ad346aac2f81 +AAD = d031eccbbba1e8049daea6ac068880ff88fd8fe6 +CT = bc5262abdbc256b2e6b1c1d0af277d9af42928d46bffde10312022fb08c8d4f0 +Tag = 11acdd3b3e3b0114ea09427264 + +Count = 13 +Key = 235812c5212462f88a355a6763570de8 +IV = b4a82c25fa2c7c76351c4d47 +PT = 2a0d7d8cbed30661fbb394b879146e0d832b4dcba808e551f54867f611e23d8f +AAD = aae073e819d45a16d47b04f918a031bf73255bf1 +CT = 96abb0eb989b6c46b70dd7aa68ffe03921055b999ea2ff84ffc36e359073ff00 +Tag = 05ead0f6af39d57f5345c3627c + +Count = 14 +Key = 4f71f22036d3fc13c9f474fd10307763 +IV = 05dcf730394f7e668618ee40 +PT = 8cd42418411908c3943661959df3467f4404c97707ad31be7fc4b6c0df28589e +AAD = cc387ff2ceeff46356845f16185744ed4782dd92 +CT = f9e3662e7f000ef136565a98e7b029c93cc4c9c184a5640ba26d42e7c5cef45b +Tag = 65e6b0601ffa6a9f079bde96dd + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = b4ad9a826ac50d244102f1f8ca9142c2 +IV = d7dd062d0981faf163f5e1e1 +PT = 06dbb7f7e3162f1014d1f63e02fd0240c87d7735229e5e4ca21d26335254ad2f +AAD = bdbee42acbbc5efc021dbea63f7df5271763a75a +CT = 3fdb1e150bcfaefdf74a30713d0842eadeab1e80149313fcc5ffda703c1ed4cf +Tag = 5b1cf40cd64ea5a49893f7ff + +Count = 1 +Key = 53fc4bb58a5be78e3f4e13542b9fc757 +IV = 6a3a5ab3c572ee0ba1891971 +PT = caf1792e54e89a103c2504ad99340ac945a5e9166a959751e7663bcab590633d +AAD = bac7adf6b4e8271aa7f870b06b1b46443ec01df0 +CT = 522ab5f721045cbc65a6523f766aee97090bf7020ca3c269e79353ea15b04732 +Tag = 62a00bc0b2ef3a17884a44af + +Count = 2 +Key = 5f102819f17bb01354cfa402cda13b5e +IV = 75fb49f3228712b6d3a4b00a +PT = d39645d68070ceb44bdf751b63bdbf855e751b3ac8964ebc09ca3e71342c0299 +AAD = 02e5b021e4607156f837e0a853c2ab1aadbe7b3f +CT = f0502202423f7ac77b0eae81c4f1ddef5b75a2f78d94170ea4d882c400b0e5c7 +Tag = 6e1e1679fbbf838b75af1a62 + +Count = 3 +Key = 75b8c0ac8189c10e92b83cf7483b5932 +IV = 1999614698fd0eec47a5c1f7 +PT = f42ae68f6474cd55907c063f8741bf87952160cedca222cb9319108172f22bec +AAD = 0a588ae59f64cb9b527239e392f1ae7c3c6fe26f +CT = 0283b786fd20c67489f2c02e48f63d3c4b05083e79a3ef7581dab0902dcb47ab +Tag = 77fb4e23475b51b7dfcf26ce + +Count = 4 +Key = b69335719fc1e6b957c5dc83ccf4752b +IV = ba89a407245bf4bb36a4b3aa +PT = ae63559354f2e4e1e8714e679635990d3bc3146d9ce1cd3060c5e3aa916e75fd +AAD = b1a25cc6c1600b2e067f45317a74e2428b124a17 +CT = 705a5716ec3a82893b226e19620e8c4726a26121e7cd91a6db74cb2b62938132 +Tag = 203c4da43660aeacdf16a3f8 + +Count = 5 +Key = 63b8bae2ff4e5c7558c9817e5bcbe5ba +IV = dd02da01af773dc5b15089c5 +PT = 0e2026df692c8e714046df01e4d605a31979e949318089c270a5fc0b535a02a4 +AAD = b1b0aca87ae738ec03cce4c0cac224a9c40c36e5 +CT = c0c4a85d14645b888af6e3a29c65b69ec21cd4e79dd619c430137cd7bd57d38b +Tag = e76ddcd6f546ae8cb3ce4c9b + +Count = 6 +Key = 66c03727e2eebcdd3e9f82b90e8f0eaa +IV = 0b13839424ccb13678a0d312 +PT = 3938fa5649846b9328ceba65aa1039c3431d6c625019e3b71217146732137727 +AAD = 62b3d92ae605df4a5ec13b514a6f97ce92812e76 +CT = ae6bd89a98d6e49c89afb9d27bc9d39aab9a67ad1d162a5ff2bef118eb790d83 +Tag = 3835e13c4ec8c780c775e855 + +Count = 7 +Key = bb112b5a2626860de57bdfb244edc2fc +IV = fe14e6e9d155966964b0a5a0 +PT = 1a818e39a0b82afb3e363502f559f7d6c7fa2c6a8d6a2cc1bb62058e7e947ea0 +AAD = 26c82741400cfa9053fd78dc1354a5f11e82353e +CT = da8649e0f74bc54cf6ff6da0a1c7ff759653f3313012726f3f8289698a7d0c9f +Tag = 281641a052eb1515680c8783 + +Count = 8 +Key = fe4216caa8b457dbedf761463813ad5a +IV = 2d28966eacf53a72855b9fc7 +PT = 1a9ee28bee13ee020f28d0130aab6bddc6933c0f8c92db45b6f147f87fa72ddf +AAD = a454ce8a29d756e88963bebf1d08f0f308b21743 +CT = 15008191af8951d68e67cc1bf3a513f4161d7c7e7852fb2d78edd47f4d1e763d +Tag = c011429a4655f3683db09757 + +Count = 9 +Key = 3d27c9e38f96ea079c2813f5ede4fa89 +IV = 3f6c1f97fa0160c1e75ff749 +PT = 48729d430e1c9e034f5be8fe1815f2b8bd92648d178cc4ae7b87c39e3554c91d +AAD = aed4c45f3df28e4ac04417340fe66aea16f20f39 +CT = 35ce089f0728cd4ea6902f2f06ce358507bb1a8d66464b20bbc2fcbc9f5aba98 +Tag = f773ea824908f11a0cf4b693 + +Count = 10 +Key = 80441210737811c301c2f87ab44a59dd +IV = e3da1051b5365d156f223606 +PT = 657912739bc7337f68c0f2d0b3088286786f85c3062972d20858df671cee4ebf +AAD = 5fbd31ef460584acf9c98fd17fc87593d13049a5 +CT = e395e216ac7e9eeb98b448fa252709c6775110e110e0672ebc1ad59e7c856769 +Tag = 54a25de5754752f045079d38 + +Count = 11 +Key = e547ea19237ab9481d18b8f4da1edcda +IV = 586650d5878065a78479d711 +PT = 6cd73164010150a0b4ae57d215d223eeaf2fdf3df8c16ec1db76b46041d7f389 +AAD = 150b3b055b80cd7b7f316b6e20cdd808a11d5a7d +CT = ce5d5ae33ff6d2cc404bf19d8ec323e38a676cdb78758fdcac496d5269bb5207 +Tag = ce8c12f919db14fa047c8c07 + +Count = 12 +Key = f48da48e18041b4de9da8272606106dd +IV = 048c76134c72b0230b34b8aa +PT = 27cc0d88a50509d861ba4df70a82aceab2d5baaa49023f5b2fc1581e2257ebf7 +AAD = 18d5d2890d3804d7294e6090efe17da68222c3b0 +CT = 899a965718f6722ca062bbee64be3c507007f41e6328e695e55320f0ef20e770 +Tag = 11dcc9d9c00d71918c05ac1c + +Count = 13 +Key = acecea814e1cef17a44e46bca637cc11 +IV = cf848b04a1ad004228463e50 +PT = b7125292a7eed8fe065cafaba30be09958458f1243ebe5ffc134a0654f76007e +AAD = 5f191ccdc549ed5cd056ea84402392d85d56ffed +CT = 0c45cd6decc5acd6a9024346b29bc912da3686c6d6fefaf1016174edc09c8040 +Tag = 522c6a026bab4fb40d20fd7b + +Count = 14 +Key = 2fd360f8732ae775077065243fb628ab +IV = 9052f9b3feba0cefa04a45b4 +PT = c10cd5fc12b582f811b61e445b749ad8d871137e798fa67cffde5c460501861e +AAD = 6a502004006a0bd8ac1b095b34eae35f96d58139 +CT = 148b66dd0ad3886b29aa8c9aa6bec5f276dd68aaaefd869cb35829e83b80a93b +Tag = c40c6998b4b46ee272e9d2c3 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 653a6208c95313be1c279379eeeb9a37 +IV = eaf78603d2dcc894e61c20f6 +PT = b51b7d7b43c6f3f5b6a5005e23d76fde51e466af52ee7d50172bc8325f242c97 +AAD = b494bdab6bba3c4286a6d8924b40910c562d9e99 +CT = 7996fe1a4881fb2616d82e93b1e4370d374537c6b14325b9fe90fd60df393c77 +Tag = 76b30c4df67057d2 + +Count = 1 +Key = e583ef7cecb59ecf5b981a8400b6914d +IV = 82fc57aa24543f6ff040334d +PT = 4937bcc1d87d47d0a0c3943e1438a60d1ed8dfa0a3e55099aa098283107cb3b5 +AAD = 76afc4fb88aa7179c5dfc6e0e35d148532d0be6c +CT = db88da533ddaa6f096878b29ecb8f82ede38d198985af7e5b5f41a71894cf7c7 +Tag = 37a9c22237e1ac3e + +Count = 2 +Key = d34ffcce3acbb3b6c50654174b5fc988 +IV = 74cd9d2f8649e794c632c7be +PT = ac15a88d885224c7c8dfe050d43f3f418f01378da6ce6d848064028bb4f33006 +AAD = 983336f5debc306b7e5114693e1133d96e9cb14f +CT = e9f3fc7ca5612f81ca69eadea0a23a3ddb956aa4fa0e374b7cb5f6231f433997 +Tag = e6b741942f4eeba7 + +Count = 3 +Key = 8f20aab708d3fff93c9f361229327e47 +IV = 62f83605c9f26cf7859d663e +PT = 1853015046207cff2de1ffceea80402a91565960fd09bd8123ce06d992cde1f9 +AAD = e6cf71ad9779d9a1a72422aad88ffabac5319e60 +CT = d911f7e49662886a63be6e3501989c8e433b9f62d497008fab938dd2b0157fe0 +Tag = 60c414f104ec2427 + +Count = 4 +Key = c6ca38e644ed81ad5fcca56938ae7df7 +IV = 3d9df2bf20c1735753da395a +PT = 667371b8ec440b912f7883bbae9f7bb071da8b097bb95431340f93d8a692d6d2 +AAD = 8e7d73084bbba705b9ec68c818f569069fe3bfff +CT = 9a3da9d5f00908a1f3d8525c60d2b38bb07a7296617aa458f22bf0c6cf0a3a17 +Tag = c64bc88cbea122f6 + +Count = 5 +Key = 16431c49f84ba8b9503f69f202da8e5f +IV = d798d923c85196fe4e660f81 +PT = 6f8e4cab8110ab98b67ad102695bafe9af08a04e87152da39df76db638128b0f +AAD = 7c23354edc8f277f963e86a577ddd0aa1da78559 +CT = 040e8db2e6b5c8c8eb008ddf842b4a46f32b3ae6706c58157ee678b765fa2784 +Tag = 5ebbb46f8afc4313 + +Count = 6 +Key = ee4a3adbd1669fe74e29ecb3983c9920 +IV = c5858a9521b52c8a910655fb +PT = 5eeac576fc720d68ba8b75c9d2d972816bcec66f793e4a25ef1feb87431207f6 +AAD = 34e9248530736a168cfe8381ca78eb3b69ffc9d2 +CT = c439a8ac17f0d295592a4701e2a210c24f62435defac96c014f15e59f1330446 +Tag = 1458effef3c109a5 + +Count = 7 +Key = b3c0c42c3deccf25ac6132010016a6c5 +IV = dfb7ab7b6ee3fc23a4b834b4 +PT = 6195b477bd55b4c1bc25d5b247f037e6a4e461af4698e76a1ec1521a55758cae +AAD = c45b9fe735f6f9f24ea0bd04508c7e62b90af5d3 +CT = dd4e7f67844973bbdf5097f362b83a0a82e015ab8731dd03236d58113b35e9e7 +Tag = b7ff7793946c0808 + +Count = 8 +Key = 4b9173a98744a3af875a88d68bf8aa56 +IV = bd039e34d64f4f40b962af70 +PT = 44e61df5180393a22b0f791c8ec4128ffda465610bef7867a9974809d6b93973 +AAD = 4e398ea12bcde9466fa40e1418c6b7f161c78f3b +CT = 3deb1ecbf73940bc014e30b02c4a2a015b1c5d21e876883e6d30ad331853f057 +Tag = 4b7335c69c8ddda9 + +Count = 9 +Key = 3b81e6dec18492c701e4c060fb104a68 +IV = e1731bb8fa9ed7aa0f80951d +PT = bb572ab419fce53423d6eb9c3a505df40e1ef3dd8e1ae123c51fddf071de5873 +AAD = fdabe50a93d709fde85f604af7827335d2e49481 +CT = 261bd26cb27e1e0deb81ab50bcad89a07fe48d4017b6d7869626feddf1e85520 +Tag = 68c4f1a9d7e14c47 + +Count = 10 +Key = cd8c82a9aad768eba62c325ae51e4e8c +IV = 98d3172f4d7a04f440f3f3ac +PT = f1baeab6dd8341b41601756bb6ce956f0827582c2e93439e65c55f1a6473ce37 +AAD = e91d34b48adaa323c7ce36d0628ba27257015dff +CT = 4daf1a87756d932fd1db7958db7fe30c10e472eecd98fd7608e18b32ce0bc2ff +Tag = 4a6986f94bdf8d33 + +Count = 11 +Key = e93209ccf5058430359f5fbf198ca957 +IV = 38a930f76d886fe276aabd38 +PT = 651be6fbecb5d9c622ca18e5b8f1c054acc3c1ef6b189871a6741bd996376001 +AAD = 193e20a645922e9b390b6923871adcc7b7345b2e +CT = 69553c1c839f7b88ef1b8940986ce6106dbb89e24eafdd0367e40f79140a79dd +Tag = 26fb9a54d71cc738 + +Count = 12 +Key = 553a0084d2e474f73aeaf2cd6737f33e +IV = 518ad569b0b6fe92e18d7909 +PT = 4336f020a4c1b2ce5963601f831d12c6bd7f0d96a9f5b224a44e83abc8515a74 +AAD = a57b3998f79addb06cf136a1caaafb7ee53f63fd +CT = 71d69a684d0269acccfff09397007b8c639cf949fbd4f6ff597b87e663122d0d +Tag = a37f4d30c8bcc22e + +Count = 13 +Key = 6b40b74d37268762de5f9bdbad392cb2 +IV = 942c0b2937984cac2387a97f +PT = aafece44c39b19f58023b603d9ff4e744022172e0236df92ee4ab1b003263be3 +AAD = 97b2b6d71faada517616b9120d85dac1a49539da +CT = 41779a0c4791013269381cdb5fe1c1243e43db14a253231c6904e13fa6299e08 +Tag = 51e2b4654e16d265 + +Count = 14 +Key = 0b50ca7d3c81eb73c3e05055ea24c40a +IV = f2da7ec8ec5a40987c13e99e +PT = 3f30b0b036e8b2301c0f7f1e66861b1f95f0449dbf9d911eb2fbebed9575890b +AAD = f95ba9445adce9167c8feb350489fad31bbfde1f +CT = 6e445cffb17a87d531512fe548ecccf6d59e845dc106d0023065565b8819fe49 +Tag = 31ea6dcd15db0082 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = fb5a677263c01a7117a8232c074596b4 +IV = 5e4ad8a21be0c7666fc17781 +PT = 5a68fed78f5ee1bb5cb6ca1a9cbe8f9464a102429de84b8fcb095a01d06c32dc +AAD = bfe2c12dd3625cdbb5adaea28e44420d02bd7456 +CT = 655809e72a8a5ebc270129f4b089cdcba4d364584eb8d32c497413b51d187002 +Tag = a7dcd629 + +Count = 1 +Key = 6337b01ab9dcde70bab6158f4fad8c7a +IV = a28bfb75d13313b151934d04 +PT = 4e6341d5426797fe2459648da9a103d8fd3a870d097dc840374e3ce6ed546dae +AAD = 35685543492e95c3c5e85b14310a43ae24d0e93c +CT = 5f78c01ef16eb02967250af38113ed40a633926cb41a77915b799f747b197076 +Tag = c4efc841 + +Count = 2 +Key = ae0862b82e27506a7906d46ec9456a90 +IV = 0052ba4f6d12ddf10a6a0d6f +PT = 7f9651c53c88215eedbe75529ca855df3d87534a101f7afe7948846d5d0638c3 +AAD = 5ec134f751ad16b28b3f5ee1bb0743cd065509b3 +CT = 5916e72bb4c2fcfe3a3258ad9c2a56b11030535a5810f1f0e1092b7d2eb966bb +Tag = 80162874 + +Count = 3 +Key = c7ce8e457d7e615d0b65d739eaa0cb76 +IV = a6971d9b64616b3468a7d2ae +PT = 7702b642a722e77748dfd2fa650c94523931dee1e34e1d8c04a18c6898e2ca65 +AAD = 9fd1ae7cbb75159787ca122e3bcb49d83dc3b124 +CT = b45a3f59319f9ac75fef5b2175d1f5b9a9f45c3ec1b31e5981b43384db7e8d8d +Tag = 47d2a172 + +Count = 4 +Key = e0a879e1bc964abca9ba80d23b7bae28 +IV = 6740f7e44cf33a4dcd889f5f +PT = 3130ada489be4bf97895e8005c61cf60145b792f41c1ed17d57ec13f6b67baa9 +AAD = 0490c8ce6593b4d2db33433b00e5c2034cce808b +CT = 009073b61b985e4fa9ca866d794fb7662c6bf5b1ee511e9e72e4d4f42a632b4c +Tag = 90464bb8 + +Count = 5 +Key = eb37ccbd0d712e47eaef5e7cad2d6568 +IV = a2f9eedc545ff4c8e824c124 +PT = 4129ae44f8e1ffa1a33a5bc69badac196b8751eca76635561aac9aa1187bcf6b +AAD = 7f614de6cd5931b215ded2ae70b6322ce695fe0d +CT = 904f39212ee93990c250b7b17a847aff6579dd9bb3d45f2f564a76d6b1954054 +Tag = 63dae401 + +Count = 6 +Key = 07ec5fa2bf95c80a680578002db206c3 +IV = 0e635968a58789a7adb158ec +PT = 3fe94a86510f92b335a774937a835796762c0200c8477d74fd1141ef020edfa4 +AAD = 724d8554cb6cc350359161a11fbd4890f812f814 +CT = b288fcefbaa59bc883380925fcf015222d506c69580889b567e1cefe4babea59 +Tag = e4835300 + +Count = 7 +Key = 0ea4c2bba3ee03bc780dc4f4faa3d338 +IV = 27e153ba439d7f866e978460 +PT = 0613214c81c0c6f5f372256efce4d9c0afa41acf7ed0c10248027edde256734c +AAD = 3e2f6d57f07a0e6c26a748776dccc5448c9381bb +CT = f71d953cdff7a61de51ccdf43c1178e10cde954dc1be55bf00338ad62747db54 +Tag = fc347724 + +Count = 8 +Key = bf19e626a47662e95166db950e1da7e3 +IV = c2d0f5399950ab99bd10510c +PT = b7186e34ca3d2718b41fba337c3a283dfc49ac1c46a6e7398b763e1e1777a16a +AAD = ff728631fe9ff1c7a4a06d2e38c1f3cccc2244fe +CT = bde293258b3878c0361dfec6fdd8e225e2d5cff4d2fb005af33f76d733d2b999 +Tag = a83567ec + +Count = 9 +Key = 5a8d633b7c85fa2e6d1e620a30864163 +IV = 748b4bf06f3033ca7d04a130 +PT = af55888d9483513012e16637272e3847c08e7056a5c42248c666d4ebf398651f +AAD = c6c55da09d0635aabf881c6696006de20bbc649b +CT = cb19eaa94eaaa1b66b9804c9f5b8021d99e918babf0055afa9bc6eef8bb4df5d +Tag = d5a22eb6 + +Count = 10 +Key = 4ccf4c2a4c73de09cbbc0479b21d1e5c +IV = 77d33757c458be41822ea7c9 +PT = 083cfa82db5bf93ab7b81d3a8a2869b7d632007808d2a6e47cf0bc6dda016024 +AAD = 27f93f62ecb9a416564ad997326b1b23cd890c2b +CT = efab24f2e91674171ce0b7ba7dd10731d7d57be0b72c6295369f8460ae7c3166 +Tag = c198f039 + +Count = 11 +Key = 2006b5a98d2afca96a220ac0e89b0205 +IV = bdecb65ff3ae5d975a02c7fc +PT = 92193b9b652ca99667aa50936ea326988498b62fdffd999db592f81790b97dc4 +AAD = c778daacf8493410557fb7eb44fc9d42bf80949d +CT = a1c588b4ac091df5a5669d3c5093b8f9d6b8e3e98a9b69937351a5808d545304 +Tag = e01402ae + +Count = 12 +Key = ba4f330c11ae63e051e2922d3e81e8f9 +IV = 40435e31a8bbd9adb94a7bd9 +PT = 44748e3c06a2c1a0596ee8186d85cc58f3b59003b34ebd8cfdecad12210a597e +AAD = 6c631894006361880219f677c3accd0e28c9f876 +CT = b23ff3535575c15870b9d0e11437cbf6b1c8c49174016bbcd5c7ec7e7cd0d6bd +Tag = ebdc9481 + +Count = 13 +Key = 6deaa355dec3a21d641e6b10d271b33c +IV = 5c26f22f29a371503efc9914 +PT = dd4972907aff8b6348de35121da2e24026c04f52c3f53e2a29e335474de5f262 +AAD = 2a3a54ebd14ac849a3a395fb83287b9166f51030 +CT = 56c3849396dcdaee948f5e25251eb70912b1e1289b222f1bd1a13afc3b6c45df +Tag = c7fb71e9 + +Count = 14 +Key = edf457bb0d8d9ccb6302f800a5cea6f3 +IV = e21d0a4846c70fc2209c8447 +PT = 7a877539bf7930d97d2fe655cccbb2ca6f85359091bcd1b86311eaf9c7c4c9a5 +AAD = 5c7086565670db2aa962fcdd713af9aebb667c17 +CT = b06b058fca84a309b36285530bbe2238178eedf7c1a98cc3ded21e5352c16c4e +Tag = 79cf157e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 48b7f337cdf9252687ecc760bd8ec184 +IV = 3e894ebb16ce82a53c3e05b2 +PT = bb2bac67a4709430c39c2eb9acfabc0d456c80d30aa1734e57997d548a8f0603 +AAD = 7d924cfd37b3d046a96eb5e132042405c8731e06509787bbeb41f258275746495e884d69871f77634c584bb007312234 +CT = d263228b8ce051f67e9baf1ce7df97d10cd5f3bc972362055130c7d13c3ab2e7 +Tag = 71446737ca1fa92e6d026d7d2ed1aa9c + +Count = 1 +Key = 35a7eabe7de2d176e97cdb905c0b7f17 +IV = 2fa0cfef89fd9849df559c98 +PT = 08f23fc6fde45fe044cc2c397390bb362524bb16cfab7c548de89faf3ad98947 +AAD = 314e0423ac429f43ed90d731fcb5bdc7849595ee16553a1b7f91412bf98ac4cb052ca91c62a33b3928ee2887ebc273b7 +CT = cf040174f8e280d10aa65eb59db8bf3e4e2a8aa01b1f320564314946b3749af2 +Tag = 94f78c8ab96107437826050e1a89b9e2 + +Count = 2 +Key = 23c31e0e50ed44fae7e6df38abf0b16a +IV = 779034aee3e3b1942ef3e713 +PT = 681d498d7e85684c5996ce27270fe8065089e58617cc6deae49cceb27dc1e967 +AAD = 6a7877001fb018519c7f660d77cae7bd892af075ae2d68940071f9156bda7010eb25d57885913544d4922a21347c808e +CT = 7b14a15674755b66af08d581ee6f8b98691927cb1f5c43e5589de61c1b3883c9 +Tag = 2fa40d9c65eed28a99f95af468293006 + +Count = 3 +Key = 4b4f9155d8db85e0e2b36bf3aa981e6c +IV = 7c8d933778e1414e7338d934 +PT = f8a26c7a9a614a17151fcd54406891adf34e31a0d55046e1b413195b44113bb7 +AAD = 43b6c54526318efaa8f0a4979ccfa0f299f5d9889433b19971f60a663e359d1f2c1af393928c9b4165c07d7536c910de +CT = 3f9bdea3c3561ad417c205887aea6ca1ee070057388dc80226f331ffb0017de5 +Tag = e8ea1d3077df2c3d20f02a5046fdae73 + +Count = 4 +Key = 4148dd87bc6aaa908a0dbe1e5d2f6cc7 +IV = d01ffa7787117f8cb0b4014b +PT = bf1968a91d5da5c9e42ffb5cdf11e0d31b69935b22958c149c005d52576b262b +AAD = fdeceb385ed6de0d2d15453f022dd455b8db3bd9f13e44f085722a6935ea6631058e0cb5fcbd3b9e97db339b529de123 +CT = bfc9ecbbaf49371107cec37f80171f94141e25a486e1b42d8258208a6038fa34 +Tag = f2dad0b16bb728cb957ad9ab0716d195 + +Count = 5 +Key = 5d50961aa7fad7cae9a8d043e191c9c6 +IV = 263f4dc6464e89110a77f24f +PT = 0fed89fa86e5fbc4bf2e352caf8e1e8910f106db7b5092feec9fff5f4f768ae4 +AAD = e74cd8621c2db03d6b47cda4ae0671dfe8bb62f26715bd4397adc679c987016bf305a1e555ebc91a048e2a7bdc7cb8b9 +CT = 2190380bee10ade973aea0db269835649f4e53e4724598e1a935704a40411b16 +Tag = 0aa3d68d90ef3d329ff394451db0a2c2 + +Count = 6 +Key = c2428b54a781242f896bbc8816e8176b +IV = 715d8c8397ee55eb53f86a2a +PT = 0088129bb514a66d5a208838e20c7978ea6389cbd56e85de87e0db0608d8c1a4 +AAD = 435bb2a96fae0ab64c0a499d6e50bf2e5560643338aadabaa795f82d6503588d6522a70e4e475297aa9c5bbca7138b05 +CT = a9fb750c009ffd7fe76703e3588f747fa58cef68b1d9dd2f953bbf3ab6da2b59 +Tag = 613bb91239aafdced8fb87b6ba0f9e5d + +Count = 7 +Key = 6a3408481a54a1d9231142ffb9fd354f +IV = bb2fdedd1a33321ace0a5c66 +PT = 63c934eeea0dca9732734d800034e57616f4d339aedefd515a829300937e6d5f +AAD = 448f17c604cb976cb527b3b1f8d40350420c94545d73ab72a3dc10a32cec537d78a17d32fe073b329e25bb2d538b5bc1 +CT = b413a9c842fa51001b8949aa81dfc10408391892eda84785e725745378536d24 +Tag = 1e323d12856a644a86f394f96185a07a + +Count = 8 +Key = c5a7ef970a7f42b83194bfaa62dc092c +IV = 9505924d0b11200db3c40529 +PT = 84ba18d1e1503d1c512e0956380811bc70f2d97f65269712431a3720ddac91b3 +AAD = c2b989d3d56d6dc0c3e846631e11f096a1c3f016984a2a60f593f5b45acd28319ac9828773c6d1e043c6213ce970e749 +CT = b07c02dabffaa8f7b11f644e547f887f78bdc9babbaa0ca66e350e2b5a293b35 +Tag = 11393df432636dc7d7a3f183f531166a + +Count = 9 +Key = 3f45c5c7d042ee34e8257bf83a46144e +IV = 0c732f208ec1f8e0e0de0eb0 +PT = d46fafdf04468e91b9b87a84f71261bcd44b438e3a943590c6d1990786909ec1 +AAD = 991c82c9e48dc887f054bc0b45979dd8d244954ea910e30139da9dad476843691f32c7b494114e058d2b27284ea13a62 +CT = 54cbb18328682037bdddb8c585b731b18b5cfc495d9b899c9b8db8a11d9e46e9 +Tag = 289349ea094839dc6e9570c1d7d62a91 + +Count = 10 +Key = 10f0569b4e6c441858f8053a646b775f +IV = 863dbdc9eb8a9c1ac1af6ac9 +PT = f99eead51bb2a17f370a50079d93167179af5c49965af2d3f06d211fd96d6ba0 +AAD = 41d372deba9b25bb982d8c4662f063f95d1859640550ee6177862644b028f42c435636cdc0cdc57509a5fcb75657e581 +CT = 566f59cf4fe7b14dca35575743867351f18b1fa7e39417f8e7fe4e8bf1052ca4 +Tag = df39c291b26f8ca2557abc6074694070 + +Count = 11 +Key = 66f958e09896ab2b21eb36fc36fbfcad +IV = 371a4dbdf80e6d46508a9621 +PT = c0458f59bac039a4349e39c259edf6cf62fbd87910064409c64d8f6ef55d96ef +AAD = 19f19eafb6191fb0452807ba2ba6ae4ac36b37138f092cba1a63be58e4f8b994f2f6958799446b5d226fd23a95fe793b +CT = 192474ad795e3e3e36abcef2d42c038d39ece8119fb058a752b7959fe46703f5 +Tag = d17dc61d1513fc1cc2df45283afeb556 + +Count = 12 +Key = 0f46ef6999a3cbcc2e539a8952a7fbcc +IV = ff8829c2fb56cdf74914ad2d +PT = 37401d56052412f91aa9398f3ab3afe68ae500aaf40f7941c8a82ae56379fd5d +AAD = fc9a1c16b0f4cf133843a7664a17e97c02e7aa360153f5b4b881ed3825f7b2a414adae94c9a6479a9eeaaa206f99c3db +CT = 6866aa7699a8ce2c747880001987c28393fea80acb7b24a9e6e61086df68f5b6 +Tag = c996fc3e44887ad4d703b72dc2ecb1b8 + +Count = 13 +Key = 90838209bbc8d07846127667564dd696 +IV = febfb4dd04eb313933b9c278 +PT = cec0527329847a7eece6afa65c7f50ff2d7df4bc4e8d2990c41bf42aa9bda615 +AAD = 01cbb3a7a70001027b064c337260ddde8cd07fc786d71e293fe0bd44c794dbf7b054114bcd259e115e3acc98cd2ed7b1 +CT = e6275470454a9e0b6f6ea2a4d64cb93462a6cddc69e80f338098fe8b1d4bc364 +Tag = 50ddc254d7504590c938a503048cc8fe + +Count = 14 +Key = f94e9d80b48dc5bdca82f14daa46be16 +IV = 29bf1931f0dc4fe3c807e234 +PT = 64971fdf74f93f8aae32a998e5acf2b09623795a77cb9ad888abe6c7756b0a9d +AAD = 449e68d78fcaa2e0f2811a87a9c48a3cd18e4d644eb88ef05b91f4528e35c713f4df2ff97de251bc5b04a177d2e29299 +CT = f317607d97ed51fcc2f6ff7b394470758df772abb33b7ba049c6748b39fc4005 +Tag = 6c473bbc8881239f85eddc79f5daa0b9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 98fff67e64e46be5ee2e05cc9af6d012 +IV = 2dfb429a48697c34006da886 +PT = 29b91b4a68a99f97c41c7508f17a5c7a7afc9e1aca83e129b085bd637ff67c01 +AAD = a0ca5861c0226c5b5a6514c82b77815a9e0eb359d0d46d0333c3f2bae14da0c40330c00216b4aa64b7c1edb871c328f6 +CT = c22feeb3e27dc3299345030139ee816719a8a89939037895d74965fa0240af5b +Tag = f196ec546c4c0af08be088bab97191 + +Count = 1 +Key = 045f2450f5c30d689da54acea920c737 +IV = 38780136f60553946b00f6b1 +PT = 964f8315dc97ece9d6ec07a3cde65c6b578806902c98b29de0bebb4d884e9f39 +AAD = 6ad3ebba3207e2d89f1c25f6d1b1beee25a33c3d5649a25c8c08099e969d0329b1870e35b6c6261e2dac6e341c596eec +CT = a324c31dd2c9ee3c05c88686bc4314c23b6019e913e9cde4d6fb3b8ee6d8d0aa +Tag = d5e1d85b6c9e2d38faa569ba155f75 + +Count = 2 +Key = d6da5b6d075b87abf7ba98ddd4b1b840 +IV = e71c5a88b752e72d46d9af0e +PT = 7567290cec83f87685a8b70b78f72b6ddf061b734d2aab6ebeb3e4a95c71f583 +AAD = add4e35e8ae8f5cfeb3512085d566b122d88d52420e884750112b825a3fd6fa7a803c20eab76bf7d29e7b321a43fa366 +CT = df09d1673b9345046db76caad5ac17cd9790b558eac4a5f163cec8d95e10cb72 +Tag = 1ab89c6647e39a6b884cdf797dead2 + +Count = 3 +Key = 8573ff18e7e2447b8834e2b2ef884177 +IV = c1164c9980035679bcd1bbd8 +PT = 4019bfa2088eb51ab948ab79572608d94df0a404c49c7555b2fe6d5d8cfd9f26 +AAD = 433d51d627f51d68b15ea25054051567b21021006fc9f73df1faaafc6b0bd7cce5121cfd59a8fb4592cc848e851a35bc +CT = 4ab4328da1bedbc684478c07aefd1da80a7af4ceec12797965d0f1048483f5bb +Tag = 59a418ede477bf60d224356d1b5bb5 + +Count = 4 +Key = 30a81f7523918bcc78cd293f1ed853fc +IV = a0e5718210016e724a766c55 +PT = 83d0b1a95648a1e173319f74cf60c17739a08ea117b5f0d6a548baa1bb850da9 +AAD = d582f1e4bb639591f1cb609dbd3ad7e868cf6fb28ef6a91c6f5bae5ac402c6599094d8ed5c5d6e9e66b2b84d51b06bc1 +CT = 0971fdd6e83e6893ff330e459308df3f799169971c71b7ed8d253e16b9f6b41b +Tag = de6909aa581fa2a5ab66f6715d2f68 + +Count = 5 +Key = 5dcf21ff47eec310f81ab02d1250a201 +IV = 80a9217efe6e5bd338379777 +PT = 10a0e93fa4c51ab086241f5cf3d3ff2d92309bc292b3342e42eee0a6048af9e3 +AAD = 9d80270fb109b4be4e59c3fdd703e4daf9a17d1be76c5cf7e3daecc8718fbed24536fcef190ff9b85808f18f5ac0caca +CT = 81c75fadc624e3ec6a205bd827b238be764c5c127749a7db2d1eb08f836e3d75 +Tag = ef8454a6a746656c0c760fdf665af5 + +Count = 6 +Key = f61f645d299cde8f07fafb6779ca701b +IV = d94a3813c500000c151e19a4 +PT = 7ad58717d9558b75a4b1cfad93382bf62301618c61e09732160d9dee2c9f20c7 +AAD = 40d5eb1e337be1ba8160035af1b3e499302a7a84e50448c1417f8a2d25a61c824f3c5cb49e152ce62d94a1dd0ce2ebe9 +CT = 7b09185b25af3c55600686c917d73e6b1d937aaa3e5e5851d6ea516cfd5e7c9b +Tag = 9fcf3f10056ee64f35dbea3d956ab9 + +Count = 7 +Key = 5f1376e774f162d82a459e5b8ca96ca0 +IV = 102e6414c20eae51a720ced0 +PT = f71a94d2daf12561cc40ad7816886eb3274e8d90b04077c4328bf148faef8dc1 +AAD = 3edf2bbe2e24829e45767ae4896bd2d3548927a3ef4e80f0fefe62f5d991e78e7e0801b4a4c0dbd47527fb597e0f710b +CT = da30c3861c3b91af81ae36d1a605b31301480fa574ffaeb40d69197026d42d47 +Tag = 78110c81f07c498424b5125f269c19 + +Count = 8 +Key = 2dd9a8eb32791feaa7c26492fd22d62a +IV = 59e1dbfa2dce9ac3030633e6 +PT = 4adc67469864606359ef4ebc28ddcb0da506a4ba0d609ae118b1a8495d1ffc4d +AAD = b0c65eecbee6a4ad1def0a28ff98be2e4124fc1537e837af2858363db748e00fb7638c663538c2e96cc8a1073200e59f +CT = f6466722d36e02810d064495f1d636af449093016e1e94e75cc59fd881419a07 +Tag = 933afc336dbc0e878ff3dde6cde0b2 + +Count = 9 +Key = 08cb1019c07f10d92456ec9d619edc26 +IV = bb46f1c0ce9046f57e977316 +PT = 59ed4a442623d7dfe094fac0333c7a2d13ebc219fcc16ffaa86b6cd9cc09fddd +AAD = 36162bacb911d2af698536f54d07f25723c2e0085c66214f293b92dd16f37384077c2f674652fbe60984aae7aaecf585 +CT = 2aedd2837d5039218b40b01b6f0cafa032c55f96061c01acf188191a84f0e609 +Tag = 7bd3389d426633bbd197bef04ae14f + +Count = 10 +Key = 24a3dd5f51dbc7ac5c74c266db6aa1b7 +IV = 3bc2d06c88e7cfb8d6fc40bb +PT = 24b6ad9aaf4fa3937e776234bd335b57d65ec09f6f167d16e39bb514d2ef2e62 +AAD = 6d61607bf2ec4e6b34697666800203e10b82f9aea835b871a77eaa261d30d828e392a90c1b621c4b3528c239bd70d784 +CT = cccf1c7c9755c1bb0143f38d8e68dcaaf4cd740fdbaa043ab68ce4f0a982c1ab +Tag = 1761efae46346bb1d6da8ece07b850 + +Count = 11 +Key = 78db445b5367cbbd54fb40f76a31e7e0 +IV = 97cc51f30564378b3283d0db +PT = 90f411a994438bb99e3132e7586fc159cc2ea2cec8b5f0f2d4d1492c8cb68829 +AAD = f91fd7a90505d9ceb58f4e3dbd74406541c06d4b2b3e45cb3d01a2f77667de68707a1f606f693a13ab2276631ccec795 +CT = f5f5bc9b53ec3a8ee6f0458427636fa1cc80252c4dea03cab9e0521b74e8095c +Tag = 6da15761e5fe47250b5d375290bc3a + +Count = 12 +Key = 7448fb1f3440cddefd4f8f826a4cc396 +IV = ecd98446d8153c9509c87eef +PT = 587d9f6b42685e3b1b2318d916b0ae2f6bf8b952cbd4a56a19742908f5209f7e +AAD = d7fb1d78bb79f01043b27d859e8ad6e4714e45f22d0ec402ab376ea51f34a5f755e1a47e1c19bc3412a3be3a6b79af6f +CT = a5c05aef26c75e659e9094065e4fa2eabfa0220177f483227da63cb03a18e1ef +Tag = 7da67efb23c6504c7c592949ea7877 + +Count = 13 +Key = 652d1d1d8a8b44f028597546eeb61648 +IV = 8b2dfa3bbaa5b2abb024c549 +PT = be091ead27fd45e144d5057d16a893484a51da4d9c18f4bb73a28987574074b1 +AAD = 058cc30181b551ee78e0c9a03c542940ed21e419239124c3108bb2f1a01909c0e883fdaf414bdf95f88ebd0b2b5932bb +CT = 6386b9faded9b50872c97df33b70afab64be7bfbe71689bd634aaddfd8fd287f +Tag = eeb9a7c9682501bf056d7d234ccb89 + +Count = 14 +Key = 2a7980403aed3182ef9192d2328f9f44 +IV = 737b795c21601c01ba7c2b49 +PT = 30792c17821d876ce6b4dd7fd9dde2aa0bafbcc979f615b1e0f8b6492d0a5dbc +AAD = 580e1fcfb4e868d1cd744963217c0fe8ed5aa1bac7c3c16afd0bac383d167fbb1108a9c85cff465fa8c960a0c34bc764 +CT = a87ac267c27b8831314d2a80c439f0e17c3960c43453309d1751f6642ab99f29 +Tag = c352e158bb308a586c706f4fd1d543 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 8216be94211913b43aeeb83440079dd6 +IV = 96cca3507bce2d2611f9ed4f +PT = d8c2fd266e893f1875e68ce3fc5f66b8680ef119dc13c419db5535e7768856a6 +AAD = f965027c6fd8e08d6db6aca51849f199ff3490ef49e3e760a5799723c413850692592782e14c2f2ab1437378be37f96d +CT = 5de9cf04a453db8ed1d8ec50f97214fd80a2d28ab34b4a77e94573533f27cf9e +Tag = 2537db24b8a49702ed2bf5d980a3 + +Count = 1 +Key = ea00b570e0d7fbce8196d3fcdcb5f138 +IV = b586152b523cf6ae59fbaba7 +PT = ac6bb3ee321cc07df6d10dc5e8f5f2430fadeb79f9c33b0cea24057ed4c7c099 +AAD = b138e7db5d3c67b883686c212725b8aa82bd5a8bbab8b05e4bf3dadd000903138708c7ae799102bd260f76af7067728b +CT = b0f6ab4f3d8a635c9670629aea5817a438a3e120f8807d018b989013052425d5 +Tag = 099b3d7c84abb747289628582c09 + +Count = 2 +Key = 1c915cca828aa7ac014151d887948f81 +IV = fb3f7255b85257c6d9ee6417 +PT = 4e9d012f51d4e832f5a601088638c7479bf952451dae8108ab73b684a5099d07 +AAD = 9da35305ed3a055b1ceda1cd330320c19f10830c72c2f6f8fc461fa4c4963c36101696266a86a06d080955b8ab5030c0 +CT = 464115284d0e08cded19f9721ded1dbfd755dfdd01e9fbcdfc3f867fe6fe1113 +Tag = daed516c6e15e6469e480ee2c33b + +Count = 3 +Key = e6774e03eb78ad6faa1ade769f4528be +IV = 2c3475d6de316364d2db4c1e +PT = 4d6be7c2ed6f8c2bd336146aa901cedc11eb90e03c8ec9a86a5787690d0df789 +AAD = 5e0d8dfa0f3f77480b4ae5d08031c3bd38f6ff923a2342e2b2ea05d0a15f1e1709bfa50f2007516a56cbd3f68fe76965 +CT = cab52ba7462d671e2c6bdd6cf4592c8038b2a7a3c38a85ecedc9dc3658d8782f +Tag = 303c643afc4854440578a2adeaea + +Count = 4 +Key = 919ab7632069c566719206f88974383b +IV = 37780c5a644932e8c5e9d37d +PT = 1845b91f61116963cfc3cd5dee0b877ca6fb29e99c69bc3891ec3e9d3f867da7 +AAD = fe25126bcfae0de902638d6d98fdaf720aed783a1b19e356daea149d2c0908b331f9a378c6cd718a02efa540ee69e892 +CT = 0cd7f33134cd859753ac5f8ec467bdf77e813de4aed67875077b3bdeff88c385 +Tag = ebae5520b8a74d115c2ee595dffc + +Count = 5 +Key = 1d80304514477bbd93112f6190f751cb +IV = c3fe15c574d4d512b997d6f9 +PT = 14453aa4655e40e8b151918d0a521275549360a627d2432fbf22cb92f18cebc2 +AAD = f423fd4bd535b5a39e23e94a618b6a2a83a4b91b6a8b7ffe7db2ea17feb2ad5e301679bd08d3a6e299816adc269fbfae +CT = 8b3d2819aec70a8e24425572101160dd60922029ee2254852a9564c174203077 +Tag = 8444743c16f6a3515ccd032e33ec + +Count = 6 +Key = 9bdb914846f394fedb3e8aa2d4f1d2e2 +IV = c33a6e5eec4119c6f45b68bb +PT = d25b873b60a3f3438f42d3b1847a9c238964e4c715a1e8e93aad7ac03d529f32 +AAD = 137f871a96b987d686d92b37ebca5175b26e85593068e63d25a615ed32dfaad48840609e3e69407da6d0ca2c441df7dc +CT = 84bd0d19115cd9d4d843c3533fa4732108d987e746c81e0f719b9edcd2b656d0 +Tag = 03ecd5780f115fdf759938240a71 + +Count = 7 +Key = d670f5a5d41804647641fc267d38cab3 +IV = 40ff2ac58053cbe6965ca543 +PT = 077b350169366d8ab7d02b01bb3d6d681e1d5ce38ceb9a798b96b83f97f23ffd +AAD = 4d1e612fa32bb2c9674cd816fd8bdb7c8fb1688e10632999d367c5e8e552cfd775677139e9a15f2ae55cdb7b6c85469e +CT = 92968cd7a8296d1f7f2c5478407e3688f1e6f31a07abbb2cc6416aef8504e2a2 +Tag = a1ecce09e41c07278d7ecb8a2388 + +Count = 8 +Key = 5077b5d64f23dd80f20bccc80b48e32c +IV = d74caef210b9d1d0a0b33393 +PT = 9c342e0c20150c9d498603ed2a8b36d2b13bad12b29cc7efcbdda3b24562109f +AAD = b04ced75d431dfb6796537fb3261c181699cf4df9178cdca8c997df11339e453c3dede4dce1eeade522e1740459ba1d7 +CT = 18888ca0870e28fbb989571fcc89941fd276127a97ddcb48afb70620cb59b99a +Tag = 422d44eb02c3476d2193a0b1bb96 + +Count = 9 +Key = 577eedd8d0b8b9aeed972424621fe90a +IV = 848aebbd10070810eb7b7597 +PT = 0745436dd0b3479dcc221902ebe16259bcd84d7d23ebfa94c1330695802fd9f7 +AAD = 991d8de99317023af42f3eb631cd7b6773fe43fc48d5937a81fcbe6c79c51c388045b4f19ea5c5a9490207197ec00734 +CT = d7879c95d4e4be3bf116156f74cd0f8cc20010f12f0b4c9cd42301e6a3b6eb0e +Tag = 8dfe749441e9c8fdc81a11894224 + +Count = 10 +Key = ad900387ea5ed20a5bb57a2df25bb667 +IV = 38d61f3bf54f44c296078514 +PT = 2fc1ea0c2656b6ab7d7d9a65cd70346f9da008551cc28cba1796e178c84b5d65 +AAD = af4dfd404d3500987ca7ed23f14c32df67d91bfcc83e37f9422c7931eb45bebab6c102eb841c6b6b1e5b580abd499b94 +CT = 4b8f158593f431179518acbf0a79493d3f47a7b95313d24edc319798f8c449ba +Tag = 96e1cf15707a28531dd2dfc2f929 + +Count = 11 +Key = cf2802dbc50a67d71074a3d118a24095 +IV = fdc785ab1efd3f773605e36b +PT = c7e1fbd61964c22c5f9f1d881cc11aa6213dc619bd7a81b184087a1e1066a5a6 +AAD = ae27aa8e6cea1529374b58a9fa7b2d02780602ae9127180f14c7398c99fe804751d0ffa8386c42ea033b6ae3cab7835b +CT = 5894589baa352c446174d83cd392a2f25703442bb797fdc287888f734fcea98c +Tag = 8d57b9cc955c8a9e5ba44e192e63 + +Count = 12 +Key = 445201669d05fa87b7841102ec523f07 +IV = 1d273639f01bc4fe199b4ffa +PT = 756a82fdc7c91be0e4649ef51024cb6be01ecb0a452f40d75be7d9affa0ec8b4 +AAD = 7e53ec2dfe6a761121140e32a98103648b338442c4217300703d648494ccedd1a504c40f3ac5428f69b52148db85db85 +CT = 0900073d21265246eb213cf9f35f02e9bb9b4003e10f7cc32c2ee31d42711d28 +Tag = abf42bfeccef5a6ee489ec009fec + +Count = 13 +Key = 0ca4153a0e664bf4f8690ec824145825 +IV = 9af1e68777f12ffe24d1a151 +PT = 30e7ed8ab251142a2721a8dad18cc756613d62d2a6220c801fc41df6f019c314 +AAD = 26685dba537a0af28df1f50a9e97dad9863ac4f3bfea945cc520e4d82336835bfa2b16ea17ffc8a917d0b64c4a9dea83 +CT = 5212309a8009eae3fcbdef8f59b413aa93048b0866d34ef601117ce5fa7ec66f +Tag = 57a4c88fb6fe68c03f29216caeea + +Count = 14 +Key = d6897894476430fca4e0b2c9dbd183db +IV = 024b6196e3cc0375a06c17ea +PT = 94f6d6ab57f7f6139651241936871d0cd119d53bc39baf0963cf74d1fb0bec10 +AAD = a8024835ccb6fff95ab3ca16e1685bd452854fcc909ac0dc64160bf07480a28a57987b69b129a3eb87c9cb3d09926f41 +CT = 5d246381d1ee814af37a17a31c40dcdb1583c7c7e1e671084e2f98a4121d8db9 +Tag = 296a941c3ea1835f2d761dda88b8 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = e66839168f8cbad64b536771ae5ae404 +IV = 30d846e3fe468e63d34da233 +PT = 50e717086768e79217d1b557c5690cdf1de78913eacb9782b9bfb4d7a0ce28bc +AAD = cd3c92a126ea368c8f80bfeb15be2746ba19bc43f01cf490251bbb0222545b484802e47c4745a8c8ddfa89e77aaa735f +CT = ae1256294b1a9f1a8fe279d2c4a347a7c75fdf04844a65d065f7db7097dad39a +Tag = 8a95aa4fe5e192a604529b174c + +Count = 1 +Key = 9a371796bff677ab5497ae013ff24f57 +IV = 376b884c32c6a12193a719b9 +PT = 71f140ce0c7e8d646468484d46e1e964409d6f08ae20ae228b261257e78082d0 +AAD = c459b2ee41468ac78250661b5fd6ef60bf09c1863673d2ee7f22b81ed62255c304df09a7d82878a2668820fdbd83c66f +CT = bd3b45726c25559f354cc55efe6afd2277cdd2cf83b9abec24b138a1878bae13 +Tag = 58911ee309b73a1669bd29ffcc + +Count = 2 +Key = f7adf6640ed9d1f1a1f76e366da7dd65 +IV = b9a5fd4973756cf4b5220614 +PT = c1d384e01afe57d756de9ace1732361303e190a1b1009836ef2425f46b3c7b8a +AAD = 9b69bbe8db94dc9ce47d00711d60b7c1c3b99bae242c72d13c2588118ebe54cc7da784e00b2867df3eb4ce4101e172ec +CT = 216f9f1860f83847b23b4459b3c76e3772b451141b2ed391a52628c30883c338 +Tag = bf3376f6fa156c74c28a95f8ae + +Count = 3 +Key = 9e812c497773d80477edfe00cd089248 +IV = 48bd1e5cfbb8d1eb0a67d7cc +PT = 483b7f9e2760c39ce32444b3f1652d7e4e7b4d7432dac3dc8758341c2d457408 +AAD = db7bd88b5f404903329e71cbcc85ee47bfeb532515c255987db5524da98b1c5756b6bd757e950c7316482f696fa1f261 +CT = b41d130dd255c8701b41def838e5bdbb2be8d08cc01407f2c94d6c6889280a65 +Tag = 9533f8b6296a76d71ee23e9569 + +Count = 4 +Key = 2d572411d2540b79702a4076e0d70e3a +IV = f2dd170326822990bd1c305e +PT = d7b3955b46a5a2269176980cd125813ce4386b3832f81b1d0ce9e660af9dba5b +AAD = e63812e3c5919bf8d253765d566d02b9dddffe291d4ca78f82da53959e7b613cd90a68e58b41301e9785f3bb6f7bc953 +CT = c049ff3cc3fdbd63b7a2b01d9f5cf4a5abb9e3a63cac64e39c5838695db39f4b +Tag = 52e9e6a734361d6d27cd2c7995 + +Count = 5 +Key = 8ffc2e25d57ace769e3cbfcd65305eff +IV = 932382744de623d42a78e3ae +PT = a177508f6b3795346455122b90be35f0b5ddf014b5e1dbd8ace200fa1b86920e +AAD = 361942f811c1600f0a0ce08fd6958bb93531e6e6fc372b882e22bf24d595e5ceeff6612f7983551f49f5cbc6f1cc7180 +CT = 8ab478096b07215b37d368c3dd0d6ba76cc18ad6fc53d0ecf258a7b968560613 +Tag = 15a68e5c25c110fd8c52bcc85f + +Count = 6 +Key = 2224ebe9a9bfd9a5dfca66528945e57f +IV = b158151fa4b4c23120c2f195 +PT = 452bb8cbaed315dbb18e9ab0480236f090c09c889d8b001fc1d4315eeb64ec7d +AAD = f5f19097f6be434d142e43cb979c8307f041e3060af2cc0ab3244f3e11ee33d8973a608f15912855ecf8de1f31fc1756 +CT = a1bab709d5084defba11ca05f75fd922d738b7151044876715940640a658d6b5 +Tag = 2700a131ba02c14ee917ea387b + +Count = 7 +Key = 771c9bd8273b67450da527f35af9a530 +IV = 58d4326502c223d0e78398a6 +PT = 816961bfdf6b2c9f0afcbb2d352dda259e7dace86ae4f69770945b89848e8e50 +AAD = 6ccbf0c668ee6d86d4fbfdbab32ec8e1b9a751348d5464f155bdc50eb1ca77efe76cc2503302ead889344885ae71f9d2 +CT = 0b8ef8bb2701967b35e28735fc81c79c826a276f9c9ba7894301ca89558c8a3c +Tag = 3ae601804db345d99b46b9e08d + +Count = 8 +Key = 81b8a9813295064a35536e3dadba66fc +IV = c6391269aa9d22ee707a5914 +PT = ccec9ac8a24349f01ba0578e005d5d6f5ee430d10e19006cf042d81eed153539 +AAD = 951912493fec83fa5a1a2054f72fc8349923daa5cd3685da97069e24c94aad7a7fe57c3f271fdf4a57ad80fbc7d5e7be +CT = d794a472141dc78a4fed4004cef7391731315c31d4bff9fe9a618c32f7c86d5a +Tag = df8385d35307e7516b7ca1b25f + +Count = 9 +Key = dd79dc69d8ff192a4902775d44d83e23 +IV = c76edfb8e8f25f81f586f490 +PT = 51035edf3f633ba61bc047d6b7081af534a9ef939922f6b15dc21b80f7d2ef68 +AAD = 8ded28c22d6bc52c9317dcb9aecea869c6cba396e92e434fcbd0ce9f68908b2757dd4477ae1cbed151c1cc549d505fb7 +CT = f4183c7e2e8c7b08d21bf28bb5c3a8cc6c8340e4560f7c28519e586af24a5b85 +Tag = c44872c3e13d4a1323cd9ab931 + +Count = 10 +Key = 4d0704e1f3d443e3e9cbd31e3d166818 +IV = fed04eac58d1c78094eb8174 +PT = f592f2e0213269ce7e46ce55ad6b3b5e01acd07ddc1553654175ae2b554ca93b +AAD = a2917aa1185ef4fd783426747e255beaf8e6f693c8d72da07644e8813d232c72002a0e20028ab6707a39d436f3e43b70 +CT = 87fda93970ee18712dde3eee1c6dc237938c4c63de5451d5c62a835fa768ad57 +Tag = 0cf0dfe7b0477a5d118cda6ced + +Count = 11 +Key = bfd16ee2863eb2d9be408be35e29e8b2 +IV = 7400bb753413360fde15e305 +PT = 8e1e320859bfda32056e02e0ba65ab9048c3a5e158b62b5bb163b42f6564d895 +AAD = 6054f67509d951256d7e1c2981b6f68adc1d62ebfe0a6355f9ce99c485b4f8ae3f5f5ec1a6cf581f50c9e0c6e2f636fb +CT = 0641d2a210e25f86bc80c48f0ac73b39c80455e4dbe4d1b3cebc254c6883ff79 +Tag = d7d55faccf8ae68b84a605b8f3 + +Count = 12 +Key = 006175011a005aa6deab1b31924835d5 +IV = 0569d156dc25e9259cd0ccc0 +PT = 8b667b0c15263feea45a0591e6db0acac67a30fd0acc4d0f14af98cb8a6fbacd +AAD = 9f96612cd37486ab7fb4eeef3007f76d973cf3b40687073c45a975d6e9c2dca7a35d4e0b99f1e0baf139e0015fbdf710 +CT = 179ba777a25b4c287ed6801746b0f6161dd6b9311116295c240645110c2d5047 +Tag = 4137c1fff60748ddd46863c151 + +Count = 13 +Key = d299583ff82ce041bc782bffb6c76b10 +IV = 2993700fec8035e74254a764 +PT = f124e81f7811645cbc1bd330545a14b743c1b6cb51a8997168f684a7081eca2d +AAD = 56f240b3091dc3ce29b026eb83b84b225f1fdd955d375996b61a8118d0a749df1c8327267df1c8cf18bfd65ed482d442 +CT = 638f6be4ba1393515e2b804c65699543e7902f39382c3554fa67ecd7904d655a +Tag = 72e33a1509124b95adbfc91bca + +Count = 14 +Key = c22d022cd0b7ff722c4f64d9ca85a661 +IV = 870c1fc1b4a19e1a7e25fe98 +PT = 79650fb08d4500f474962eff56a1d2739509b6acbfe027e6ba7bdb85f0e8a617 +AAD = 49f973fb7533d161cadc28ca98a9c7041cf8a70a08fc7458a47630d718fa290283043797567bdec7e57103ed3088a23c +CT = 8beb1174cfeb723ae0753e8c6398b51ac9d1201c0d0c80599f2bf17b5ecd083a +Tag = fc8b8bcbba45b0bf75aaaf6523 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 5e957c5fb001b8bc54882e2041bc7ac7 +IV = f4a52123d6c57baa83cdf241 +PT = ca3ae33e9cba1349aa55ed4a1479ec5577430c1148e92816851b7a7eb88f0732 +AAD = c92a43cf9ad7286b092efec106de66791aec01db22f898cc44d18cd81c89cbe60ab81965e77ebdbcbbe7c753a320d9ca +CT = 55a08444c1324e5ad3f7110cf2d3bd1c4a2a6dd7bc860569169640a3b46123fc +Tag = d3a627e90ecbb1e79f331ebe + +Count = 1 +Key = e199c746a2b6f3cf3d91fcc19146425d +IV = 87af34394119657d2287a40a +PT = 13ec8f3472fd58ba89ea4b8a8f860408076f81504fbe01072d847e380dd78960 +AAD = efb0d6251264253ffc3c563b7f16a6fb3cfb556c73f43d4b3f04bb001a48ac62f916b7cc143a40ffd1cb87ea18a316c3 +CT = 30c043e81fdfd8c3186987a23068bdbec3a9efad602075b85307604fd3c99559 +Tag = 8cccc3600bda522aa3eff895 + +Count = 2 +Key = 36e044421e04efbaab91fdb4ec28f7c3 +IV = afe5584cc36771bcb73165f5 +PT = 73bd3ae8de499f40c8ef1f29ab080c0a7d52f26e97d435156b8bd8573cee2de3 +AAD = 9d45cedbd8125ae865094bfc1d36b04686b067f5d77bd61967193022e6bea0bd2cbd14e7fb6b71d87f06650455631f8c +CT = a2faf7f58ece0b3dca538bc7eb22e416787b89c498cac50f4c0de5def422aff8 +Tag = 2d7c8dfd34c470bc2dcb594b + +Count = 3 +Key = eb514d0688fc102f72a5f3a7ddb3f411 +IV = f8238fb88de4df651226a5e1 +PT = ce227ed1c67057679982c2951ef88f79a07ef966fac48697408a9455f423205e +AAD = d999d2bee09e33257b2d4fa8606a1c40b76256c8f7c5a8b40bc18ec9cd3e523cc1df8858a7ef2588ee2e4445adcc11f8 +CT = 56bdcc43ff20ef59068927ca50212328a1c7f0e4bb6104cba54e01d879bd3603 +Tag = 30a7778fc11bd7198ee0495d + +Count = 4 +Key = ce29ff3469a9d2c0fbfebe93941a531f +IV = 481938aa12c6e39d14267b39 +PT = cbaef4c0fccc26382d0691485e1d61d88879d82a2d2abac15b66b807d2369686 +AAD = ca6f0ae04102dbdd464a4303f64b9d3a3fad9030befb6b2997e629e8ab4ba151f08a1b6edbda7b7e8884547d04f17250 +CT = 2f7eaeb8dd9709ad74a96bde4436ce14313ae27ee6262b045fcb41d2c337b881 +Tag = 3ebc787219e3d55899471140 + +Count = 5 +Key = 02066005f64ea8433dbfd95e847a9e07 +IV = 734c69e4a7b249fd5e1551aa +PT = d8b0f8b2e1d77ea9fc55f8284f5409c7b6c48b88a906f3a10d7ed3599aad1ea2 +AAD = 8ac5fc6150184ff9cbcb9f68de88228779683099839ec14ae9ac2f0f139ddce7c041a9a97bb9792a348fd1ee7a399e5a +CT = 57e633e966cb71d4645a9a66de70baf93ad8177726681f0c2675214803c3ab9d +Tag = c1b26c9d3bd0142908d6db99 + +Count = 6 +Key = a8f7b0fa22e4acbbd7a5c02c3a8c7b0b +IV = be8166994ead8af2641a24e1 +PT = 4cedc1036717f000c56e06d578d4af4251a1dcb9f098562771e7c3fec7b059ce +AAD = e871133c6d887ff5a736f9491e51ae5f2f98c7e1d4210e0eab52b2dee70a8fceb24c01c8db0b10c9a03f5932c81229df +CT = 0ea61336cabba9a717cf2482a7280e6f82282a35e623ed46c2a3d3fe00ffe850 +Tag = e13a3e940d5152f110000e0b + +Count = 7 +Key = 4b4c37bfeae270146aa4841fcb9751f2 +IV = 7bfc9e04b5ac29e680851d79 +PT = b2e0fae197067992a32ad84c581b70b9faed6ac9e192f5559295e18b317f6225 +AAD = e9800fab9ff3269b7f59ab111aefc2f7c0c045d47a1fd1f0b640de750b1f2ce552d53537d98f9592109d4fe35138de63 +CT = dd4c17ab23c39d4bfd28b3aa81b10060d5f42e67dea1df12e102dcc46c66997b +Tag = 72985c20f156db4d0a674557 + +Count = 8 +Key = e7d48135e7c57b3575a3ba4606a1f649 +IV = 281108392f44b3b2d97a7688 +PT = bed90a08218f5c2fc3829602a61d686d1b95b61c9166d958bd06b2cd59aaa3e6 +AAD = 3ac9737ecd2706328f4c3da78fdada1671acbf097f66042ca8ae8d0f9261d1d0ba4f1e59b07031d0d8ee3d26f344c322 +CT = d8d5c95a78d4c51058b89e0ae2acf18a9f165a8db94207a61db9d5a8ef4c2ca9 +Tag = c21f6b3abf4db1c73ad3bcb1 + +Count = 9 +Key = defdf1fc7f8f23a3ca7b90bae3c8f7e3 +IV = e692b5f72082f3642e9c8861 +PT = b1994053b9c4cfcd33067212f32c38071ccb308ff572e2ba3e19e7bff5c5c414 +AAD = ec512bffdd45e9828e5b29218cd2636928d0b382b9ea07be4f0fbdb5f4227583c5c66f44b5f6ad39c37ad45ca3dfc453 +CT = 1f2e6630e25c4391d6eef158ecb95fc5342e1b4ce495274585c6ded6a1a5adeb +Tag = 2b9b1b8c855a1188b7c516d9 + +Count = 10 +Key = 3332342fdc3d6d1d9f59979376276aaf +IV = 1d6d2fed3c261d9265445dab +PT = dc1113d363a3e788a212e95fee2bd8ee9e1ea2ad5989005d0ebb50a2a16f9bce +AAD = c67038b31b26688b38442c7e87427a8eb64190c3f9cd7ad9b14555260636ce35200bccb03d205af704f2876c43a3a503 +CT = aafa8d050feacd6f8570a660d1962b3425b32d2cd96fb13aeca802cf2d6b89ce +Tag = 8f5079e4534d2aa2606566bd + +Count = 11 +Key = f9aae1331be1c58ace50fb978f235d03 +IV = 8ea6443f038d1c9b36b4f075 +PT = 2c9a958f6827e4462d2bfc5859fef78a21a558270c2f14fda2ad05b53657a417 +AAD = 0d50901eeb7399d1fd5886f43efc4ba4feb26331c4bf3c4ee055e40bb8233d7cd036729923cfd132fbb2605f052114e5 +CT = fc0c5556aaaad1a2d21e1cb86ecdb6faedbf333681b2ead503d03cc107313907 +Tag = d57265cd043746b7bc605616 + +Count = 12 +Key = 3eb6e528ea1224a18e7f7a1ce2c6e3cb +IV = d0fe6fa21c16742338e17b10 +PT = 545e5ac48f14d4034ef01fd7a65c6d7a246e147dfd449c8919b6564a21b73388 +AAD = edc679418246b9a292cf47b1b6a6bc9cc002d248977a7cfb2770b48892107800f9feff10293226c4cf3aa14278f3181e +CT = f2bf41a2408adaa7313632f298cc84f8ce1344e63946c4ef2c5d7e3bc7eb133f +Tag = 7d0cda73bd70fa4878625701 + +Count = 13 +Key = f8638a787d3771627f2bd1f8d46433c7 +IV = a49db70dbb9fa7280a3746f3 +PT = af83b7e7a52ae8dd39c595ed36f7d1f7b37f54cbacd50a688b21613d31623988 +AAD = d650ae19dd70da59d7f2f854e8cbe372a20e49342e2eb47a2203180e7e66dc2cd60b1edc1ce15b42ce40e3130a4af0f2 +CT = 9c0a5528b4c0568bc55cf37dcaf9307ffe6a67e4b1e1d302d39c50125df3d707 +Tag = d9f00e1b3fa174cda3e7fad0 + +Count = 14 +Key = 21b5f5f39806e197d6bf36b3dfeaedee +IV = 97c26d2d54aca98059b3033f +PT = 0bafe171a4b5600600a62a4bdba6666677f4c9652e52f742d0cf49a9032d7747 +AAD = 31d58d46b5493d0ee594a442e5582d1e47fbe4aa138adf62200fc8785940e5e1c114590422feed19a8e5d7469ff0c3e4 +CT = 02c1c40af207aa4b1ace061fc3546592237960214b4f1dea3076542709ed02ba +Tag = 738c6c56021aedebc06f7bcd + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 0f5d56f73a1e20768f2ca4041c971289 +IV = a959bceaba0db45e69f6c61c +PT = ad63ed6013730a621d5e021b1a0039fe64d89b80a47b298ab97399559322a8ef +AAD = fdc7513cb14cb5813eea7455c80f606d4d464a2f7b1f095d674c58fb9cc490314baf3640141b35cf4cbe3f32db0c011c +CT = d97a31669a706d2cb9b6acea8290bbd3665f89073c1680b809e9ca6799cdea2b +Tag = 37528da2f535013b + +Count = 1 +Key = 7f411954666221ed311f98d19f92a3fe +IV = 0b8dd76563dc06322b7a39db +PT = 286c92c890c7716cd220673710a305e1be1071cf61122098cdf4b75fc9513a4c +AAD = da5d9bd64adb0aa6e932fa99e20ad66ea016fa1f75e32ac3ac00df320d0ba9503a9c1b9b67434ef49eae6a5757245b39 +CT = da612b02b6f3051f3a1d6f277a8d5faf8a8171fd703d132a0db1fa3e8cf125cf +Tag = 16167931030e0771 + +Count = 2 +Key = b40914945d27fd1e0556109c97f2bb12 +IV = 31a111305d7682a4c9ffe338 +PT = 0c52d684424bd7a3be950d9a34eee142de08df9a3246f2bd558121e32ef305d1 +AAD = 035b038c41879d6f31e3eefaa8a4eeeb9d54eb6938cd68a27fe9b54d334154addd20a784c890686c68c458f2ca09d191 +CT = 456c9d20512196093397c8a6d5ec07477fb3609b8ae8bc2543877fe3e8758c77 +Tag = f6dca8c781ac2c69 + +Count = 3 +Key = 17383e84388db87af4d7f4a46055bae6 +IV = ae7d4c99fcde0b8f7943f51d +PT = 50ea0ae8661b97aa70a12f5fde159524919a8a44d335f41a9c54f2b1f174b0bf +AAD = 9ccb9af22eb6079ee0e246c2bc05c2ef5dfb711a2579840814dd9aa6b07361215ebf8de9e0cfe5dace11742e59a2bdf7 +CT = d28bf6e0b39951a3ad8544be8d8ab0bd37b3582b1ca08975b224a25573d21344 +Tag = 8060cd30b5b5173f + +Count = 4 +Key = 5344423bd3684c73e42ea02b7aab5fed +IV = 5cb2273a5d95bba3d2e3b399 +PT = 595588a520e1719b406c7b3a934d20cb031e377a19dc9aad254b3a5eb48e6416 +AAD = 7523671e5cf9313ed3432115e6a68db0ab7fd8d356ece0a908b9c13e08d48840433bf3b718847238095b8aa86c64ae93 +CT = 073169eb09b6bea7ee76744dc81f37a78a3e4d39accecef219a4f22a59bf1019 +Tag = db3cfac370985c42 + +Count = 5 +Key = de5babe5abe16fa96fade9b40a86a13d +IV = d93b5f29135a18b101cd52c3 +PT = c015ad6bbbce9478dfa7f16b88a2e497a2ef607b6e6b04c930239e66fc38a8d6 +AAD = 64643fc64e75c3da8935ae7a847837bf5107f73776a5639c044697fd68ffc2e4bbc977aa5c7c4f6465f00d4f2019e6a6 +CT = 326f8eba781c59556a2c362140db85c493f82a7bc3a9cf361b519d32f232b90f +Tag = 87029f640a6a5989 + +Count = 6 +Key = c8d53ae166698e4cd19ced932938fef4 +IV = afe67cf14ef375b882dd36e5 +PT = e751e64dce6160cad189fb6ae06dd069258c94fae311001a727e0d25877f1d10 +AAD = b40afa55b2a977cd706890895cb8f2a95d7cfd0e894a369a3c9918e42152ae6473e2574f829e9d59c1ddad3047022664 +CT = b0c0a9dee724028c14271e9127f1ea2159497c5cec11e93370a261d062f1b6dd +Tag = 82b786c1b9510a61 + +Count = 7 +Key = 9414499634e0869db58488fb8d3c9961 +IV = 1fabc02876f259b6f31423b5 +PT = ad99efab318dcecad864ecac5c7ac63777bf5d3ccac4647e04bc32e9e33a269b +AAD = d9bd50466249e10d2c7fa8f5058d4578e48a7d302ba49eed552b67963a29b7162d2dbcdc83a312ed6f5c0d79390f721a +CT = 4b89d6f1bdb48dd8a625ed4f7d20d35557b4766c516539e11f170bff0d6cc088 +Tag = c5af678f41e432f6 + +Count = 8 +Key = 15916087c9653b4ac1a61446b4b7e8b3 +IV = cfd0272c63f5dbc0d8065f6e +PT = b2ad1b09b595401ef2f2b8d15d0051e3b69b396bc6911340b7385c0f3a027322 +AAD = dc6d9d211ce1cff82a6fe8b5a29d7e6d9a8ff8c98c8bc3906da853ce7f91e5da80c168060a9e5a1ff4daf65d94a8e5a1 +CT = ffad288324629e678b305a0403848f6508e53b1d7db7ec044c2c748eaa302b7d +Tag = ba67a23b2e76cfc4 + +Count = 9 +Key = b78d201d859dc38b7112e963352d5067 +IV = 8e92f655e87664129bf4bde4 +PT = fa2a26e0a53512268a0d5761bfff488f2e729099a1fea4fdd9c0444b7d548d3a +AAD = 2268d85ac0915ac7e21485a20a8fd19f1770f6ecda2bccd715db82cf2ec0532f146f2e653dafa663e8cfa7369cfc7981 +CT = c188d12590f5fc1db7051f843074844888b84778f69fc10fcc0d7e5f53eccfd8 +Tag = d67fe61c64a17d1f + +Count = 10 +Key = 038c89db96143f95396314029f719bce +IV = 5baa630e8435ccc2a76da0a2 +PT = dafee2ca663e8f16416fac5973583aaaffbb0de0c4091fdd4894a45051cc7dd1 +AAD = 7f7418431b0dc714329509316584b5b4e12e0741569a8c788d6909a9f650cc655a589b4c8f12f990a9ceb105172eec55 +CT = a23cbe81b5c4d9064fa5cc0db69a11289cbb0273f07e7ade51582e5d3fe35bd7 +Tag = ec7031781bbb8be5 + +Count = 11 +Key = 90ce0d1414c02f194b2d3656d7a059cf +IV = 7b4fd7fbf27cfdc7f0d4bd56 +PT = cc7410d677614b8abbd9ff67bfc548e19b7ce6c283bc876ae388caaee7075428 +AAD = cd641e0a7f209fdffb3119becf9f4bb7e8cf74b476f3529fd0b848bbdd3e21afc34f88e6b74f2a14640a4e8bb087f5a3 +CT = 717a9ba0a79616551dd6b8ffe6524309f1ade83bdf0094a443f0639e8a840cc6 +Tag = d219c1d76155d9b1 + +Count = 12 +Key = 6e8925c0be83469929b42810a122194c +IV = fe806a5afb2f883052c27f90 +PT = bbcd664a68b09d2a6f30bc477cbfb4734181827582227caa0f754ed575233906 +AAD = 13b019984329ac75464cc5e41c33e91b12c2a4f2c52d64486b1964f4ae633c4ffac4a3d621ed10095442aca31aca253e +CT = 60d8bec5dbec8ba70b74ebd4da060281ba4d530c527f859dd16f90899c4a1815 +Tag = 0d9ac4d22e29d14a + +Count = 13 +Key = b3c26600d2b9def48b995d0c4a27fefb +IV = 4b3bf6ecec831e073f03f36c +PT = 0ca69d037144257314703993b86cb221d6c1822fda4821df60999cdd0f756212 +AAD = 7977c86ef661301b721e18d88a55797a591614cdbd58a21b2df241cea9bd8f19d70321a6d09893c82600ac42eb94a9db +CT = b6638d585766b85ff317879fd16f5fce8eaa5c785ae82594ace39857b30da0fe +Tag = d4c3c99ac3e009df + +Count = 14 +Key = b3a264a55790c3f9208efc0bc688c2d2 +IV = f99b9439551e6ecd8ff7502f +PT = 59c43694adf4e7a14f4f921b11140f0dc88d1ef8953eaed97b41f99fa30b6cc7 +AAD = 9918f79985b79b747434932e3759a163dfe397f088d66ed0817724bf688e5de225bc9fc0ad4103082ffd199604c31141 +CT = 557a075d8ab38d0f90ce08504fac2c24de66f36f2ba41578d00697eca1c6cc28 +Tag = 3d93d419add1e966 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 0a43d0a4eb14fb15d62948035f30f6f7 +IV = 43a2807bd0f94ad1ddbbdaf7 +PT = 2e07b6c297315073df344777267697b650377a2dc9a532d908bf9edcfc5f135f +AAD = 829439cbfeac7f93ba3cbaaa86f0c8b5d18004a9cb6f2715f1754d9646e8ee309d8a7acc66faee703b70bc19cdb73e81 +CT = 85a2bd384cd3966cdb50460703367c66d4c5fc94017001b3713e786880b6eac5 +Tag = 4afdd716 + +Count = 1 +Key = 78e53db38afc7f1799b16f4b67d091e2 +IV = 3c72ce9ee87cc1b6f5fbeb9c +PT = 7829c1e50e26bafa7f70d53387002bbf2b7c95b49d47ad3fa59661c1b8c4e9cc +AAD = 9dde04f506b76d861ceb4cb6883fae4cfe5fbe92ea98321dc46ba0b244628bf21bc0bd1be176eae0ea7af25d3f3e0961 +CT = 0d4ac4ab75b0ad1c6653ce84dfe7f103d20afffe3f7a17403cc05be710c38ccd +Tag = 44490397 + +Count = 2 +Key = a8b3baef8cc3a10fbf6b138713805ad9 +IV = 560e7db0184a74febd1bc4b0 +PT = 4a40e6d3e55b56c563e8e520dbcc4a165b1216c98186227cf4156c633c5049ab +AAD = ae17b9febc3788fc747f68f664e79b92c65c2af9bb2efec27aeb610f02de3df248f74ddbb720d31ad51a65890b483189 +CT = a36928b2e206e383eebc99969ef33234980676027e5901734858987341f2f53a +Tag = 67254187 + +Count = 3 +Key = a6d4aea78439ba7a68a4ef91dafa34d5 +IV = a179972bf87bb0cd935167d8 +PT = 53bbcd03fcada676166dfaa0d22a39816d198beeb7dbbd0677ea11d7fb752dc1 +AAD = 9affc837d85146d786d9e9fb640b4deb21d304036d9c0de6cbefb4b4708e3b594f4b5e2180f5311c3fb5a31ecda78ab7 +CT = 4d00dfa5566863502734dcb38642d2f387a7ded14e2231d1d29d0a5feeeae2fa +Tag = 15ceb2d5 + +Count = 4 +Key = a4be78160be7c134e737ebba21092c90 +IV = acf82da1f5fd863c0111dcb7 +PT = c1022298e55b9e62e6d07bce96d2db6c66c2c362f3ea9bd46cfb8d8f5690a390 +AAD = dcf9f88a9db11503c7d0963e431361a7614276de26e15ae0d6b332046c19eb9789a9d5fc03c1ad079ef0531c12b3dd8b +CT = 63dbac98ca0f2df663f2ef824c9c188a31a2e6a354aa5546c5d8812212852f6c +Tag = c659c79e + +Count = 5 +Key = 7d7cfd0390673157205ecd64a2acd4cd +IV = c38f1b7a862eb6bec86fbd78 +PT = c0bb5afdf4a169787c4ea9bdaa725adae1fb1ba6e52c7b6a15d2481c8af638b6 +AAD = 42e5be8709f74748353064ea8f999924fad23944c9c41727f701c46e95d2beb80dee90a5e77b66e8f60aa9ec1f455a20 +CT = e072c683afe6cd25d35621ae47b0f58910052c060e0d4d937db2ea0159011d56 +Tag = 693e5c0e + +Count = 6 +Key = e7553ce89483a942adef61873c571cf0 +IV = 3cf9ed8cd5c31aea692da675 +PT = 6c7b4e9711dda1213b544d9c35815251b8d79588e7f6e3a6f71b89f9fa315873 +AAD = 90a08d4086402aeb6b6aa4094bbdec376657bc3725eeb63bf672b65d7b507a20b60037e9bab6d69753331047028fd7e6 +CT = 6b18a5bfc7fc8aeddb3edbcf7e24cba86d1fa3d8abc8248dc408b667fc9fcfc9 +Tag = 1f58d5e2 + +Count = 7 +Key = 601bc8867a84819a74e2f63279f539d1 +IV = fa25ca537c23f85a6b5382de +PT = 5ab8ae959f8e22928085c10b9731268a7ec385b77fbcda62dd4598416827451c +AAD = a152bd0396fb055c677b03812e2a48be84c11485d40a9b2ff57784170eb04f37d6fa402aa78184ece01f45b606a6451a +CT = e9573e9b39e417d8fab9c16675eb8d9c8a7764173cadd2fb649d1e5e537591f8 +Tag = fd8beeb3 + +Count = 8 +Key = a585b259e778fe71031814aa25089a9d +IV = c31c8a3145c201911f707d15 +PT = 95b334a75204cd30b7e465b6e46ada17d937f966d9b294fb31cc9dd851adbd97 +AAD = deef7cd80505d8513ca150900ff59908e7994994cd2505c3d811a84379899d019306511f6daf457fa09c90486b567217 +CT = 319908b89b2ba8e7e081169505b2059b48a5adf782046890bbe1024a3a615c28 +Tag = 34c6b844 + +Count = 9 +Key = 7575690d0b04599eb56b6f3e47702ad0 +IV = 78c4728db27d8a7e184740bc +PT = 70c13bd7fe7f5e6f0873dc62f9e15720a6bc325a555dacbcf507bf2ccabc1d8f +AAD = e54fbd15819b02cb2c3fe78a1e5391b23d390cb855fec5bddc661cb739e4825d0b1dcbe9c33451558616605bc22ec20c +CT = e810017567fe928401b63820a3e1a88c939299539361d2178a789c87a19ddbf8 +Tag = 00287120 + +Count = 10 +Key = 4651139ef7f2fa14d6d751b1587b1399 +IV = c24b320600ac8051474cfcad +PT = f675c012b42b5f9a3fd1306d7f30a01029c82b9dce1059512eda11a59395422c +AAD = 080de8fd2d15cf65749ab7df9841fc05e358b0e3dd969388f0c08a3e1fe305cee79a2f27399d4739de5f70ac3cd9f374 +CT = 1ec3f74691cf945ee5f7c3003ee00674b2a6561a93eb61129cf775c98e676e6e +Tag = 60470282 + +Count = 11 +Key = 201c15e80638ec94dd6ee92f8c62cf0e +IV = 97b08f3ebdf11ecfe5c10855 +PT = 7f46697e95bc48ead4d715c78d330457e03a2bd4f4405d70e88bd739405e0808 +AAD = f7435f486408c47c0e733a163bbf25f8076da0af21971c3ec8f2f5a89d90512e1df8b668a037f96046ef9a8ded3942c2 +CT = c81036bf9754a157beb56828de8341ffd563310fdd6fe49d0f1f547d32cbcb89 +Tag = 1c823576 + +Count = 12 +Key = a9f6ded39a6102e0c0420a5e061300d5 +IV = d6339b6acb944633667e1781 +PT = 39bc496f5ae54cb65935994b0201133567a3dd8d764364e9cd0a2ade8a4edb54 +AAD = 56d15c199743579c458bf998c5bf4962755768bd5493eb966fd4739174c80b953782e2071dfb11170a7f390b7a4bec0d +CT = c282689eed67c6c87219807eb6bfec94d74dd9c9f6da9d360f95ba767f0f3edc +Tag = 12ccd91a + +Count = 13 +Key = f07109a64ffae5f47f374b8693e7372e +IV = a09dd4259f9beaabd5eac39a +PT = 4aea0989dd885184d8832b396bd383b96ccf2a7b0d1ddf9987c98589b6709a3e +AAD = 1e2f183e7b41003dcff64702cbd4a0763e1a41cb1bc9dda11dc076ccab2b1722c14ad84890a973d521cd7c932618b24d +CT = 7619dd9c8846d78f75850d1eea8fd7a3dd1e75233f7f6332a1ecae0177e19457 +Tag = 9467bd46 + +Count = 14 +Key = a33bd25aa422f6c0ab3993ad0837444e +IV = 65a5832aaad2c247c38b9a38 +PT = 89c13fca9f666280dfffed93c596db758ebddade65c43e50757ebb150c6803c5 +AAD = e5473b5c3eb3cb02267a16d975b977457d2e8d808e242e8ec8775366c52924af4f98110689aa35005862fe693eb09a59 +CT = 261897c7ab69eb5414f4dd29c5d92f48d8c3b568f2514aa36728ae7a169dd64d +Tag = e686d2c1 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 8fbf7ca12fd525dde91e625873fe51c2 +IV = 200bea517b9790a1cfadaf5e +PT = 39d3e6277c4b4963840d1642e6faae0a5be2da97f61c4e55bb57ce021903d4c4 +AAD = a414c07fe2e60bec9ccc409e9e899c6fe60580bb2607c861f7f08523e69cda1b9c3a711d1d9c35091771e4c950b9996d0ad04f2e00d1b3105853542a96e09ffffc2ec80f8cf88728f594f0aeb14f98a688234e8bfbf70327b364 +CT = fe678ef76f69ac95db553b6dadd5a07a9dc8e151fe6a9fa3a1cd621636b87868 +Tag = 7c860774f88332b9a7ce6bbd0272a727 + +Count = 1 +Key = 93a45b16f2c06a487218d761eabf1873 +IV = f658ed7ce508e710d5815f18 +PT = b6a2afb916a235c7fac5cd6a8e9057c2fff437b7544532a296a3c80c35f47c99 +AAD = 33156a775586e8c92c7e99c467a840281abc19483b9a320e707bf1ffe856ff1c473bb52f5b940e44df2c2f766cbe9ed360d844283f8daa3ef68def4bf5f2c3aae3028c2d348ca1963e9227cdfa6f6205dbd9f3832e46a4f552ec +CT = 6564e15287e995886395353c65c830e6fdd295c7ec2633c7f8d280f2340cdd15 +Tag = e4f4dfef764270a068a9095b9618ffef + +Count = 2 +Key = 5015f6b267f7ba8f83b46ef9440a0083 +IV = b66dd42e69f8a614516ab6cf +PT = d1207549cc831a4afc7e82415776a5a42664bc33833d061da409fbe1fb1e84df +AAD = f06fe187ad55df4c1575043afb490c117c66e631b6a026ac8b3663d65f4e605b57f467ed6c0a3fde03db61f82d98a238955a3e0f51bac78d14b94a0b75057a432ff375a09b0a41def3c887fcb103ee99f4b9f4474a64600b87eb +CT = 9600b7aa6f5d8e30d3bbca6800643ee764b59bcb83de3dfd03364bbc9a48252e +Tag = 49a0ad2dfbb49e8acc6ad1de4d9311d7 + +Count = 3 +Key = 408722e80d9cae213180efc0f2675f32 +IV = e9ed15b1942f1ab5e9cf9421 +PT = 39ed45bdd73f72aa16ae833d05c6d9ab1fca2b5ea478db553027787857fc9fcd +AAD = 19fb7034ac4f57035cf19f68d76c4581054edbabe884e076a0498542d42f0412f5eb87c2cafbe13b9936c6fcee4c7bb46df2274306fb1a86bae4660290c13eddeb8cfe8de585e415563bc1a6ca9823b66c8f2da5da5df8f41677 +CT = 9241526c638c2f0a2d1e52bb049f71039565bba5c59876eb136f92ac68ac7f6c +Tag = a6a9b62c36b156ad4024e705c1d78360 + +Count = 4 +Key = 678c4bf414452f1c5a659669646d4161 +IV = 295d2762261d1a536e1c057c +PT = 53f4ab78c16a20c07095afa50f7e96d66bdb5da90e7e3a8a49fac34652726edd +AAD = bc84743a0c42bb3423032a89857de5a9355ed7821980bf18379ae503b69da35601608f62bbfcb2e2ad9eff7e03fcb4b6d1768ad3a4d92831c5b2e3fc0eea3ab7b874f64e84c376a8f9e15b9aeb5392de10122605699f7d03a999 +CT = 2c821a0eb61cbdb09f84f086f69652b38ac9d07a90985f3ef36482a9ef8edbb2 +Tag = e6e042fe0894df45b7d9898e96e9b906 + +Count = 5 +Key = 8df843ad9376d7326114143899b4ca6f +IV = cdf3b88613e485fe6886e720 +PT = c1fcfda327533d17e1a6ac7e25cca02546c66635a115cf3f6d008eba55947d60 +AAD = e5bd7fa8a56f3c155120f3bccb0fa557063e7bb9517cd04d9996533ef3924ee6197ee7512c6ef09d2177e75b4909c6cff0e86cdadce20e279a0503956f4c2196391a8ffec2d17a1d6614be7847cd114df70b93959f1765826592 +CT = 71b822b6d39c9a801a4c2a2c9173b0f3d9b50cf18e8e95291136527a9778edc2 +Tag = b584a7e51d40ab28732c11ed602730a5 + +Count = 6 +Key = 64b43dfcdcf30dfb97373d75d09ab733 +IV = 9359d85361a3e4c110d715f4 +PT = 7c5c94ac7b138273de768d2bda16bef0774799df333fdd1a756e344ec35f2844 +AAD = 01acee6296478134999280ed47a5bc65dd5122c5d35092df54718900d04cfb81457ba9ec9d01e55dd8a65d6b3865fa0e7a45382f287c688c51ffcc951945e3e9c87b03c5545cec0d966926b8ee0453b69f25ce9fdf0a3065c81e +CT = 5f9aa615e13b7b585bdc2d4c3a83d1304d6f78ebba0d5b329d86ca730a515702 +Tag = 3cbf9fa530b049e067868433307425db + +Count = 7 +Key = 93a951295d4428902a5cce8fe2068763 +IV = 8aed35ae4ae714cf756e686b +PT = 0029b749b4db477dcf47d0296eb88806ef0b56060d598e48c9b5a6f9d046404d +AAD = 8186788a93a764a866944a2056279ad7f1d2083a96ce224fe6de60e70b17db18022a1504e1bf45c326c6d6992d8c005b675715016e00ec965b398b2ea4ab09cca2ac4ac312e6840ce00a36f6467028328fa30d4086e5bcb677ba +CT = 792cd1a143304fc737d0739be52b2e61841a908963832cff06ab6ec585be6467 +Tag = e1bb3eac7f570055fc2d2f0588c4935e + +Count = 8 +Key = 4f3114710c0e7f393b91c982beb3cfcc +IV = 03994d0b244f94d13cedce90 +PT = 36831744fd1c17a5df65a63d6642502075a0109f0f0c093ff33505140371136c +AAD = d294f939361af1bff5674a5235ba3e79bf30a5341b8634b5dac613e9a567ccce01b0596282ea584e579719206b2313f6675e7834f8a6d941e164169e97648ce77968ab4ecdfb3d639898468a1e8d285a9327dc958093eb33f8b1 +CT = 557e78350ebe53d1b7c1652669621db7a71a8fe2c0a84e61badf2dd9f034b91b +Tag = bc6c1f1322064eab75737067973d56a7 + +Count = 9 +Key = f00a034ea2f732863f9030257c8dcbf9 +IV = 2bd288fc2fabba6c44a04705 +PT = 85472091a37ec5f37d50fc09fb6b9d803577227b4c079ae64a9264e7a784c4fc +AAD = 312de02725a53b8a3dca7f02876dd9a4665de7a3f3dab7e4ac37b71d9d02478829ca38d3ec76d7792eb32478b92552e90154cf5608dcad4f33496061161af933d066e146888d1b7fa9b0c5255d59a8fdd88da638d06ee6d16d93 +CT = 9aa27810c3761ae175560340144610c7d263ad35234ecc55feed1c5dd3a4dadf +Tag = 02724d14a7dcb5ef81ce8aa937f1419d + +Count = 10 +Key = 49dfbd368a541721d6cd5b2513ec6087 +IV = 8b0214ec3a6a6af65be84ceb +PT = ef6cff08cbcb63a72e841340513f4e289ad34e89733731456cbfbc9a87b20f9b +AAD = 6d3dc86af4bb9e92af0dec8cea981481341f37be457093d98a818d8cb4b68b9f7197b1fa310147701f047949af41d0b226af4a3b0b92e5342224766dab7830e1687aa3918a89d4d3b50d69595944f492d3d68b3609ca594e7f26 +CT = e0802e60f73aa2fd669cf5870e963b1f33707ad4cc551f658b18bb72fd7cd9e3 +Tag = cd6d9a33458ac709385acfbcffa457e5 + +Count = 11 +Key = 3c0f57982449fad339c7ac5f6501b9ec +IV = 4db6301b638bab6a833001eb +PT = d1d5e1f3d8b491b2345d4a020add93e31596a5a204045f75fad53305d6b5aab5 +AAD = ea3872b0d48dad649a876a6b3672e9c7ffcd69695a4d2eb1853ed5c26eca0e8f21385563d42dfef2e1430e06561b8e0b73b5f62ba51a4aca78c56c06c479961c3d21c1fa3823cf80145f7b24e4740127e9e9960fa2480e36e4c4 +CT = 32c508251494d05ed9413b0011a028a1bb9bf7e18f72de4b750cc7ab96ec034d +Tag = 27c994680810f7b538c37b551b2f17df + +Count = 12 +Key = 8bb2aa3219c604544b4187d491586d9f +IV = 341d76da6e3094fc3570ae78 +PT = 274a2097708c53fd2a81444e13285691eec192c223b84dc9824c67ed3a050ba9 +AAD = 69c5e98cad9aa3327444b9625eabcd086367e64170d35c4586fa385a396b159425f8dd3969446529d651ce5a3b6432529487f91d193d05d2e345a28b50dffccc0396f76e418086e1fe2768e340c1fcffdb29e9514829548823f3 +CT = ed8775001f33bafdb1ef577698116e9ae656085fca8b969740c7c697450f9879 +Tag = 6c8936c42dc46321695d3af2a33ada14 + +Count = 13 +Key = 4d8154426d1b12eaf98d09ac05b1f9e4 +IV = 23e3916b9d64f98d122e6be6 +PT = d8a69c57969c6551c328675f7d772faad6c2c6843bf4b209e483fbdfc5efcaa4 +AAD = 2355631b9d487f4a7ec98d497f251cb79acfc58c0517d5e7b92a1abbae6ae7353b874d02faaf6410438539e02710e4d7cdada686871fef7582d562f384a571ce1edc68effdb932462e648c712b4e1d4e2e46718abd3cc5973aa0 +CT = 2fa53c6fd1846db81002e9c14da634480b352225e9190ab03d2598ef49a3b2b8 +Tag = a4023fd8d0f076eed5992f680b154433 + +Count = 14 +Key = 2c14b55dc1f8e3acf85258a12360053f +IV = 5b5930a7f63b1a8ec445dfa0 +PT = 41a7569d5f3f39ae06547d0ed681e8922382cfc940bc7e55da200ebf905bf476 +AAD = dc8fb70d3afd3c67c9a86b3467ddfa23298c6523ebe7ef17b7bcdb2ef130c61bd5adca2eebc897fd4126470e0a9088e8ee4a60939024b9abc7ed551d0e79214edea566ca4d970198f9b3a20b6822f4e30fc2cbe76596a01817ff +CT = f64364ee15acf049d8bf90aaa914bffae9ac6073b8d56122276efe04b202d0f9 +Tag = fa09390c1ce9ec97fc10c55ef2da2425 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 460590642579c79ec4c4a4246d924948 +IV = 22187cf94c9ef081342bcf05 +PT = d29b60e1adebe5a5fc548d6b906b8987d4ec7a76719f6ce6f7a0501eaaef9b0c +AAD = 93d76cb023627ecbd9a88c99a7081658447c28167340071038f3f5593efb802265440db85214f6dfb6883106958e8e86814aa1f66ede379c90d00471406bdc16ad95d1945fc322475eae81a4971e4a0f2ac258b1702c37efdb0f +CT = f0e61dce702959e4eb450c110ba928bfc9642d59e14f4ac6da5ac3ab0e20dd43 +Tag = 68d1386f475cc2bed90af1674527d9 + +Count = 1 +Key = c62d8de11966be5b8d598227e3562d3e +IV = b4685fa40cc1bb52a0d4439b +PT = 2c7a4ebbdbbb1b9c3b6a6fdb6e4bb9f7cb01e776d9adbadd5c4bd325df92f082 +AAD = d5aa836242a46ea97add41ae05e225bd430e480e3092aee16fb14010784e90f3525b96eee35c78fe2f6ece0c2c0087576c8c8282c0e99aa87f378f3a92c476e38e2a5c152ca412e72efe41c817c00c1ecc2b7fa8d0a964fbf99e +CT = 5f41bace59dea282d914f9a2353e04905b692334bec343dd8901446f35e97e1f +Tag = 8596a6a559a8b0e1256e1a438045e7 + +Count = 2 +Key = 78e9fa0addfed30975ff14989a02070a +IV = 784571b840777e97a2c8b54a +PT = c61337cfbf97bb0340b13fceaa187c5f0dd7f41ea423fe327d9aff66c8994e3c +AAD = 8548529dfbcbc2849e5cf2013a9adc53b0cc88d6c269641984a9d189522befcee2c7a1af2cf813a1ab38a7d73f33fbca306fba526720594083ab214686b36d0a63e84ae2c6ebedb55f676654626aa3197f2ce2f907eed8c34085 +CT = 0d153822ab1d1e86087a991a606971af5fabebe21b0e1c27896641c43c680cc6 +Tag = 508eb810a6932f4d2399e69f01dad0 + +Count = 3 +Key = 9c7361332aab441d08576e4d43f87d43 +IV = 090b4741cd1a772ad26940c5 +PT = 05ee7806ff6b50cb567c7cc4358840afccddba23721681d2b66ed794a24ec5fc +AAD = b0cb5610af3be443f723e45fd7bbb1062c56fde06d3b71eadb732ccab529a5ceae21f8fc85cece6f787bcf1e20c5109fc1f15d2f0c7171b6f1640268ff7d0c92369a5c30b24842760a39e3380bf1fd4169d67a56ca27657980fd +CT = 9d8e6649d7ce3568dbc84bc4cdbe3f897d69fbe2e9fa63474a0eb0f2ef1ed558 +Tag = 3af822548aaf994acc3ddfbefb3fe4 + +Count = 4 +Key = 49473db7235b127d527a8b18d9f79c1c +IV = a4761e79aa77dca48ef3aa81 +PT = b8f1a19e123551d422b3467431cbd7d241c540b01c0950d050062aff490b865d +AAD = d5eaf494a458974edbc547df55bfd19987bf1d190971d671eed665c391be3b6ec598157a37fbff6ff7b71a8e488712a5629fbb3e222af5476c21bb77bdf302ff16ad5493766fc530ea1f77ee35a36f105fdc3015352f56d34302 +CT = ce3c80e110cb637a9f813deba1ab9aa9f98dd5fc74330315b12c991962b920b3 +Tag = 9b7ff50b32e8f6c43dad4f187a5040 + +Count = 5 +Key = 5ef3de7dd9120ae8a45ba0cde0cf4776 +IV = 44deab116c0b51a8dc6ed55c +PT = 69869774c8ea3513b1cf83c5003139ec59c1b464f27c4437f2dc4738166a0f93 +AAD = 3b53c277b1fc74a67ab3fb7d5a78ba37ff221a06ce640c47b840b880ce55ce07bd80eed7e453a43bf2002c9372a98291ae3540e22819cd52b3da208b8b21115c2c936978b5e3adf45b10e6f9a23f51e9b37f8f75754e7e6450f1 +CT = 5bbb443545944c1d31247f35191bde6cdc13346d2a285ce9a57842bce5d62465 +Tag = c266c53a06650cb1a87fdee727e1c1 + +Count = 6 +Key = d235ca499692a00798fb60bc6460a022 +IV = a208acb886e7f6bc4eca830d +PT = b1ce1d9be8f226e084e820a595e8367d6c3d60729bcfd5d040b11902364c99aa +AAD = c4a24d7a9bf413b511150c0ae6d38817c6f4a901a12eaa4913638dbef51a801a2695753b972b285085fb68331c0eb553b9767b6d1d58f73862c330335919c8b3d25ea5d7e854f4a445db05dddd003a9086d902c5f0de2a914bff +CT = ad9e2b7aab4fa5dd5872362b0101f79c696d9aa6cf4d078546605d8e557fb87b +Tag = c41a66768f6c0285b5ddfdb0273e36 + +Count = 7 +Key = 72fa12b6c12b392775eac2c777f1b856 +IV = 602f313f1bfdb2aa06e54a90 +PT = afe24942b55434b17ad0b2dd0a75f3bd1e2ca00aa52ec617b907b5f6b89b8687 +AAD = a01f24e58a4f5be1ddea1e7eafddbc15912e69036bb5ebec208200cc7177fa606f1002e41a3a872d08497579ea261c51fa976f51127c9f23c4689ff16e63075fd296df8e9416af82f42f087c588f91afd524d7a9540e52e66a26 +CT = f6af9ced08edd3dd1fde9e14cd9c7d49c962332dbf54400267eba764879af77a +Tag = 86979a19fb5a3cdc9ba6c1095a3cfb + +Count = 8 +Key = 476215ee1b8d2dd4d819f2db522a84e9 +IV = c548f0a1fa3d9f5fca821c5c +PT = 0804da878df6a00d5e0b5d80f8ad604401c01148e787a8a564010d265b5469c6 +AAD = d4c7cc9d22c50e37b7fa6c9c33bf9c25f24e782e265f8eb87f214e76ecea167fec22810c1e1fe5cb4baa400ed618d4dd15587ca5098af302487d9672030d68d73fc82349390b956d2110eced6fedccf5d391a909a3c4049fbb36 +CT = 3e2221848040335cd585c4c27e270b57285aa54436d2912289240bd28a5b6a92 +Tag = 7dfc26cdb15d3a3a05a8eaed1b647c + +Count = 9 +Key = b194ba60cc674e30c4171791fd778c31 +IV = 2c09eddf57e5b5f14aaef57f +PT = 5a3f7c59a02c3d5b8faf37b549d4901faa9be83c51f8a1e4cfc816ff03032c09 +AAD = 8187abe214df45ce8fca33546f3d9810e4b7e5da3ce3b93effe0ef3075333b08041454f73f5e1f02786c0c9af2317a6dbc55ebf11f9c54e04277daf371087a0996704ad3ddeadc7b76c0e95e662a2abcdb916b2e4d92f710ffc4 +CT = ea1f22ffb7e2ddd82a1c00757e67d5d90d55d641d1cab0acb85151f17631c560 +Tag = 20db1d23fbb9b8442e2d1ca59afa42 + +Count = 10 +Key = b9e2540dfe8abc31dc2cd8b3eb0a9e26 +IV = 9c52533291ba9d99fe417c5b +PT = a86419f0973615a002eaed451539ff32d26878901c665d963e11c5a91e5dc322 +AAD = 4ad93e7b77124966d0e9329c68f5f5116a1ee5a6ffc40489b4ac71175ac0a4f2f66e4a2c97608675ee4822d55c032553a879eadef930cab35c2de3853858cd863ea7b06fb34b9b219de69813b6fe0dbbfeae27026a04bec169ce +CT = 7d80eab82537afd634617364f915382337406598f61c198eac96b5712c510090 +Tag = b948062fa0e393512f76032726ca2f + +Count = 11 +Key = ae4504ebe109543fe0526ef3d51a0695 +IV = 5668347fe455476e7f1d9d5a +PT = f555b2cec31ec77c55f133e509a600a4f958b0492859cf3c7159952933e8a4b7 +AAD = 9c97fcab9a1f431bd033d0e294d3f795bd9b47d63d994eed5a083b93f706c264e9aa20fddbe9364f70152a7bccb3697a4167e079898bfe4bd2e492ebaf5589d1e869bfe1833ae250ac1b78669eb332172d86590ac762da8a849e +CT = c05008645c4195275fea44b3684596e04bbcd11cb899df0218c3cfaeeed2b3d4 +Tag = 49a5b429c81f14d33009242b8eaf96 + +Count = 12 +Key = 3ba18a5c7df217a419d023ab3d2eedeb +IV = b007b123cf739d272ecfe7ff +PT = 4fb1a62a778720069898952a11230f2ec3e87b9c9d60c5d52ca06ab5b167a298 +AAD = 5d3f2ac1512d891e313cd1f30e13de11b8055632d527cd917956d71fd3c0812d519665d572655960f5290fb3a8add3842f2b5c37307ee770dd5026fd0f40308c78bb4893a6ff6f27b0c44f5edf197b6a9ee9975d1109ab09a4c4 +CT = be25b156b75f7d5f0340d59727e1f3d1b4b4e4eeca99e56bc91225e10b5a2925 +Tag = 9fa9773b4a0b10b5f1f58ef7da40a0 + +Count = 13 +Key = 3ad204c66a1bd7fde40a778269af61da +IV = ed39c717e184be118a7b2492 +PT = c8d64ede1ae8ddb9780c5d6eefe46ea439bd558898e900797c7248ef29c3dc7a +AAD = d52478a523ff7da4ca09e37cca9cbf5ffea04d924c408acd03baf7d0ebbd7bdfb788f7a87d85d9adbdf5329598d11dd0daa9f66c989bfbffa15e55200fefa7a19554e7b4485445ed19846a11a0c888b23d55ec6c2fc1dc4363c1 +CT = 6d7d6d605edd114a3896a39e1a3ffcd84b82d8e0ec24d45b3df92747bf21083f +Tag = ca4dd6f9d60f3ff9904e85ec4633cc + +Count = 14 +Key = 0f6bcb7ca68b9c563ed7673a18cfccc9 +IV = 1ada88bf29745060d3778729 +PT = 9efb38cefe1275d70719035933cd3fbc8934bf962054e028afc743fff3876ce9 +AAD = edd317d873837c4f49dd35fffebcac99ba424f1059cd1843940ece5e3d57f6e4c27da08b774fbb4f150ad30d854ac656188fb88cac793ddaba0a2ffbc064a7a01fab953a78fd94aba2b66b2461fbdffa31db9e7f97fdc8102232 +CT = 1bafdcfaf97f01d9a9d69c4b03c7007233fa44c981ff7e5224fbe6c30108a87a +Tag = 0ad18a82046a09a3463c8a003d7ca6 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = a590c9f1c4f4c00542f0d66494684611 +IV = f47547d364c74829ad9ac5a7 +PT = b96763d9b91897d2d5573d8626365877dc8be783628afcfbd8b1557240b93557 +AAD = bb840a2badd089c9b81b388d4d1a50bebffcc817ac02e478b043e597bf6b75956f51cdf27b3f4fece4038e2195e3df0097c2179917ceb981a5171d3e410f3cab62d4998e813ced9be7bd5114f96f3e483c2fbfb5eff2714eab20 +CT = 033ad67289768b90a836908a25379737dba4281515547f3bbe18fa1647ff9f71 +Tag = 1b9da421dd613da7fc1a08feb37b + +Count = 1 +Key = 54e3175df107ea0608d727d40a4a7e5a +IV = 15e3a72d6c03c24f2b6bba90 +PT = fbb7f9ea6b3c73bdd1c00d7f6a7f403e24294d3e0c357a1da14e8b7a379e5dca +AAD = 551cb2d1992625dd6f92311e48817574e08f18d5f4dd234aba0fb2452047465ad4cd0988753102170af7e1408ecd5be9694f62a174151d75da2a74f72db31ed987f39630f1e7114f027e21fcfbcde49b00d47d77445092e5151d +CT = af83c756516be4bc1ea5d9287c4bfc45b8d65bec0ca291341bf426c85b4f89ea +Tag = 668565821d87387b76dc8e446163 + +Count = 2 +Key = 79293e4fd8c625669c17fbd33273f1ba +IV = 7e06cfbce9a2c0ef4befc6f6 +PT = f9788db3e47377e409cee18b18010f10961b2052fb9854b929e58f04bb68e876 +AAD = ac13a2b583ff8df8a25c7e49a9a209dd3964ae18b3f61682bc0d2e8e5a0097bf389f0548e2cfb4e9085dde6d445e09e2499b0f4d0b2495e9d0824219c770c93398089528ff1edee81f4cb9a07356c0f443079c28931bf49ed54a +CT = f5e6d5ae2534f3578d8846aa6bd733a0a4c8ab3ee693071f6a30ca3c98a9af1d +Tag = 603d6ee129d3d1112ffc192db5ea + +Count = 3 +Key = 04f18b82c311859a4723943aeedc1209 +IV = a86427cdd41b55c267df0121 +PT = 913aecce298d22e3773ad9f477824af733f42387dc5ace95d48f3a43bfeed4f6 +AAD = 46618e2780188d581bb0d407af748e5c3ad1f372aa422fbb63debe9a865838fcd817602c012c0dc0e2cb9f6a83a5fc288b49248840f8bd9be6d97ded3b838069ed7aaea33e8825b854f4f3ec327e10656ea358b372013c9b2183 +CT = 51ec8a50d57f9002fc8b8c3557ec2234f711b9228352f022033f2851c9f13068 +Tag = c6acf8fe58fe7d466ad6b6e7baef + +Count = 4 +Key = 4107950b71208031966c2430851772ec +IV = bc09605fec58f4914f9f58a3 +PT = 9e7ae326c2ab6fea2968467f9aca2a9a9a08957b265e7161d6e34486becc52b7 +AAD = a9cd7f737012b470ceb0e04c348f3e57f81e50a178f1a83ec87163ef77f38c6583376e05229de8fecd7c01f7c4db0b7c995258118ebb1d2d855dff4a8938f505337bb949a1511d75e6415dfc40ea7ba5085cfb48eb9266b4be51 +CT = a94a724c8d6a57b6241d6012ea72814f4ced43663b38699dc8f9f94b9aeeeb56 +Tag = 637b162582c527624e61b7a3f18c + +Count = 5 +Key = 284024bdd1081d3fccaeef84d50157fe +IV = f88a012f78b8d156e2a36135 +PT = 276e699affe0263450b27d350ceb468cead5e38d76ded8940f5a0601a114bdf2 +AAD = 73e64b66d56737c25b4defae80b7a37ef73417b5ead236a7f73f7fbc607dd0909b5165d1e888d4536a8ccd0a53591839c3b9f6880c0b6b0b8e9b5e2f5eca5ccb3241b777bc196b00c0394e6124bd03ded3a97b0f29046d8691e4 +CT = 20beef790fecaa55aa3b6f585382ea13e3ba10324813b38895b511bdb475c8cf +Tag = 5b56d738d6de061b40a9e02acae4 + +Count = 6 +Key = 04b0ffae320d044c64fcfe80db77325c +IV = 6d48d367a6f9ecf1ece5dac6 +PT = 86e61f58f2cc7786f680a9ecae0ba61eacbec996d2ef583414996b9586deae46 +AAD = 32665f634c41095d6323314b18ab36e8f94f5c1b4aaa3d49f8585a252167e96c91833ee4c4ef90f0a751893b5f6658a043616f5408ad9374a6d5b9a1b5238074ff7c8add497788f0e606735a1b533b70a80efa2910ae8b64cb52 +CT = cc2869e841abccba162c7bd25de30aaf9de92aa8ddc6b9372ea5912605561b90 +Tag = ed5d84fbf2598fb68cecc02d0f38 + +Count = 7 +Key = 268f7b5ced41ff53efc7e67c2ed126ab +IV = 2962acfccd227cdb562e2886 +PT = 468a07f6617a3910b534641e8bade8b4e1944875bcd90099b84fcf05b6676098 +AAD = 3f16dffeaf08f0ec61dd9b955ef0b534123fdf93fa1a75b5402c75e4bf81e9d91695abae1ba3cfe78870ae9203a4e1052227e3b6f1b74c0c35638fdbbbb3117e8d7413d21729bde9e85aadb38a58ee554c0f1880b7bdaba02af4 +CT = c29ca668341d1c615f8fbefd7630f993bce982fe65436a9d9ddf989677cc9642 +Tag = b4bac0e39fcb40fb5381d68de464 + +Count = 8 +Key = 226ce97ee7bd9aa3f96482b31b36118b +IV = 1d4468ed4f28e93f54927703 +PT = e36df83e223f4d1f5d9bd58e100c4c1130a142797792b8fadbe9e02f31cf4b58 +AAD = 232aa832d257b806e4b8b95d3d8aff0b6da00c46870136c33d2b2a531621b3448ad53a7bbfc365a57c12a77199c3912bd9f4582216ec5eae47e343f3ff28dfe65f9389dbe611428882c2a66eca08a649cb001d82b47626ee715f +CT = dc9249dd7450db73e9082487ff93a1b2eec0010d2f6380d877d24f24efe585e2 +Tag = 1dbc89d457c6a5aadc0729235a0c + +Count = 9 +Key = 5eb66e188982c3859381bf22bbd7bac9 +IV = 9487dd41ad2a61b9a6b57cba +PT = 4579628cb3d79c84abc6e209b977dea2a9ef5cffba3ffa6125abb9dd5e52ff43 +AAD = 5c3da6daf96e5ab04374bb72239ee8cb0769326cc58c85c378997f1a8daa53de874d7f2c2c3c02ab81aac6cd95dfe5b0d45d60d87a5a4f3790501503af954e938217f0e029550029af817f63cf59ae97dc6edf0398268cc1f5b4 +CT = c7e9c3d7fc1b1995fbb8a190bc5bb1867cdce96615acd3b774de089e9aca8190 +Tag = 62b8e55e70c3cae993e3b68b462e + +Count = 10 +Key = 601cc36d2ff185fe8aa79f28630c5632 +IV = 76ba50d959147893e9ba41b3 +PT = b1eb8a92f2a951c881b287ffd0c2bff68cb52d81b35735d54305422d5d531bc5 +AAD = d2e1c8810a733c01e39c94e43f8f0b58d34bd7ccb07dab0d67cf34622f7d089c839c297491ee5962864bcb94a17b07c135f169bfd0ddd50dfeeebddd87de0800b1aa2524a72646082040e2619503d9f339ac4db4ab1f8a15f725 +CT = a73926875938e2f9caae6fc8b10f96b3a530223d89598d52beff9dfebc345570 +Tag = a47b4d1763b5788c0db010198c13 + +Count = 11 +Key = 9ab8ea46566ecccb1b714edf87dc6227 +IV = a5adf1317f9db718fc723fb3 +PT = 9355aee5ae9e0f5ddc46d83d5c2045a160d952df6d622a703b25797e2c9c3c0e +AAD = b49eeebdd4dafa315334b7526f3f422d141c17954f250da672b4262a4a6536927f5d0c3000139a63b479e1fd7ff62fb884f964823cd8898ac2d6742bd51a8b6f64058c837a76b8e719c04600347b67976cbc676b05b906154e87 +CT = f28702bd8946b4823312df490abf377748c51e27bdc3df5f6ad737cad0d7e336 +Tag = 2e4add2035b071a1adcd3243acb1 + +Count = 12 +Key = 84af2e8e7b23a9d8a1ff39031dd673a6 +IV = bcdf4e41ff42a43c1eddbabb +PT = 5fc630b117c6c4a3c10293c20b1317f90369a22a87afb09b243491a112cb5e0a +AAD = 04c1c30dfc99ffa7f88d21b0fcd2272e51c5873a086576ff4e92926087f484f35a07dac9db9a77567279ab9aff18129ef063b9b19707cf21054aad9938d06abcb75b87adf3ae57d8c7485c9d510bf8598730ac0e3cb1cab341b8 +CT = d22fd049e0ff06d711d89e817ee890c196fa87d3a5bc616a45c2a0c3877862c9 +Tag = b2d5f5b3721b451227845002fd27 + +Count = 13 +Key = 2f727c1c348b6fd7ef26bf2c93c0ecf0 +IV = fd8efb49a106e8f986951124 +PT = 9c0a932ae71536e495a017266873ddd57f73a0659e74982408f81e8fbe1e1e27 +AAD = 5583dffd09c1023e59f77dab4b62e6cea8d9daad1f3835649cffe8fa4bc0b089d86a6414126e04ee1af1520e9d9172a693644ad30adbb934591b2a757800c612c2c060042cec238f3f8fd16854e862905d8608f3891e1ddb0bd2 +CT = cdf055e2acc1efe583a381609526b5e2761f551060eb6f825019b16ee78ef913 +Tag = 7d8ececf654f4b0e5d1b6102d9ac + +Count = 14 +Key = 6276b5beb8db16b98bd77e9f2336d7e9 +IV = 833e2734ddd85c4eece60272 +PT = 3b97ced14d892240df4475a72c01c25a575f277a06c56df45def9b80126dc794 +AAD = fd32358614893e634bf7132c0acf2aebf57d0553e1ef4e4f81f277006cbb3c3ff4062c4ce650ae394dbdfb6569b4301cb624bdebb43684124f86bb3b4aa0773d42965baf4f16577d754aa82b06d4ed8cab79cc5ec8bb43aa8a49 +CT = c4b9f3b606eb9477df8e9df19c179c438898d4daa1a239e8539c606df62b329a +Tag = 89bc66308ddac8168f45dde0d3ed + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = d5784e69a09ec11456e98dfafaf7d83a +IV = ce3604a1ffefcacc6f13f077 +PT = 9efc582135762272f409f69993f582fca56132329742da221f65ba409ee3ad72 +AAD = da474b2160cd8eb908f9408830269b5099026b7157f8d5cf0c9a7730e1b167f868c5eb38424ec48ae90b794f81002148e8c03e20be1663c4d5e2048ef8657f0803d9232aebebb8e524e5db1abaff9874067e3aa7b6e7e995d070 +CT = 6d5404db2cd37e66178598ef8ce0f866b8669b5c1b6c4fe4b33e3144fc92e9d2 +Tag = 5c7777d91d32c850eba64a1e72 + +Count = 1 +Key = 687831625382b5747ea212ff59e07ad4 +IV = 8439c224d04d9d6316e5a93c +PT = d8fdb9861c786ae7e9f620d651790e79935984ba823a2242ece0b89a66f6cdea +AAD = 122838eb44964e360b928ece57ca2d872d83e4fbc329baf7afc68e10f6a831120e109754edfc2ccae9e912d61a5a28aa5fba48ac0b835aada9d2f8759f07930609f919d2678ac7817724a00c76353f2269961e08df86489f0bb2 +CT = b5aba2febf4f30360f2c1c8897deb4a185585dac1bf0b7f1100d29ea89ecb4b6 +Tag = 241ca16e098bac2fdd083206e0 + +Count = 2 +Key = 1c215373a5b0178585be6e7de08fcb9c +IV = ee972af067b549cc3101543f +PT = fb378d048fc9ec431d8db3e03453a15ea22cf7c3a7f841e7ae0c8d074e38ea83 +AAD = da1e753500378b5bdb434c704bdb7051c2d712cd1291c43e761f2a461a6b6307b6f4b57c49722562c2ceeae783dd1652295b01b9c45c915a5af8f1e1e186acd585683b5f214b82b0b834f127f3ac45e646ab6778c1534026685f +CT = 5ce3b391ae3fc2fc09aced1bc0c8ced29e90e093cdf4ac2b1fee6f4055212882 +Tag = 2aae07f2706ed1e0056044c8cb + +Count = 3 +Key = 38d667302012d6f86d74a23a7ffcef77 +IV = 358e20350f53bc3b2d61e254 +PT = 6a052fdfde3e91c12cfe2782762cec4e31de9471fc839e8c4a61d2a6b9b3fd24 +AAD = e6529422f9554846ac17ba38870673914f981a282d5e2e24a166f2e85bf3d632015ee4c3c99bb74547141ee36e8c13ecb57a259114353f03bd72747dac6c8e55291331957d20986eadb704fb48caff897119bcca17865a10c136 +CT = 72856aa37b68bc1e624b56cf8d3e4c3f41f68f6b1801ced8103fd17975dee822 +Tag = 6bc44d839d0d6d861a0e1cbfca + +Count = 4 +Key = 097f4c6f04fc7db1d1f3d8d9c414824a +IV = e59c965072f65493f68e0da3 +PT = 33a0b5e4236b2dd4864c5b304fc484b5f02df519b2416e13a2c2be0a02ebf729 +AAD = 3add901d03b55dc3e67db3f3a79a9fb572e8be62d09f3ab48df63164d05f46a9a776f0ca550f536c014d2bfbf5326af895e27975bffc3d76d6ab3590d9ea92aae765fd1ed54c9224b94120b171084d1af6458508b007d2191654 +CT = e83ec4f2300d834acad30c747ed125488387c4ec81fe7bbe9cafbfa1ee20de9d +Tag = e23b43c5693123d0952a986933 + +Count = 5 +Key = 3d4e84b96505cb9d84082a54eb7c1c61 +IV = 24604f1faef6303fde5809d1 +PT = 286583321c896953020e73cd357b3d4618fff5f68bff334674bfe8a6782e7f71 +AAD = 774d70d2010ecda309f172af5f5d2b1ed6707759cf5cb07ef6aea118314c58fb66f917c892d2f0a3d1ebc37158d8eb13e6268f024d4a922f121f868c82e93bec0832bae7661f06c18bc37a5f4e733aa6902d074a755ea3fd3a8e +CT = dd4b5fb9f1912e177076e15efde1aac38e3325b6cb56ef3bde5fd5a499cd242d +Tag = 6bd0b6c6bcd7883fbb65abda98 + +Count = 6 +Key = 2e9a10bd6b1310a64c0089d284fe387c +IV = 891dd63c1505344f1c28994a +PT = da3d439fa5af72198014edd2a1d95aa1fab01941bc0314b098e48fda6d96ee89 +AAD = f41ab1373c7ab3fe1c5aede60ac39377daf9a2e86180ca6371cd5c01bf1a82cb34deb168c54fb697c5a618a1d25241d0b619c3e1e1aaab5b7c5f566267e730b564b891d6592406480b113f26cb97cbfa50991ca790f68bb84ce1 +CT = d615049f09faeaa7d5ca166c263ac8a49da39eac1d59b04889f404d6d6a5c394 +Tag = 7a5a3d8afbab0d8fa66ef8ecf5 + +Count = 7 +Key = 40226cf5524427c5b3ddfdb2bf77c2dd +IV = cd08004f23082b2dcd13376d +PT = 47604d6eb70aa560e19e0168315d6588231f1549c49983a0e83ade145a697b9f +AAD = 6a4ae08c3415f57d5bfbfb079d6295efaebf22dfa5d8b82419923a3d175f4269183a3d11843815f2440878492e5d0fea179b1ab12a672b064ace6fb0728e09958adc92df0f179738e099cf88d29760d708f220ff8c3b2733778e +CT = cf58c7acca094b8d17771ff7c78d175d90f4ce4b396d61506ac7456cccd7fbf5 +Tag = 45bc64d92a73e58849f3579cf0 + +Count = 8 +Key = 5af3dc999d7ddbaf94e341281000fa13 +IV = 9395fbf3e14011564a927c1a +PT = 7c4e811cdf9e6ff890cae8ca7a4935b181f45abb3482f7eae92e3eeaff1afd84 +AAD = 4a804925044de9959e7b72969c67a227b8c19584dc34f2feb5fe840731f30db628d230fa15dcdd80f96865401211df4131160075d77dde8fc1528c44ff66eb619f30c57272f149d503a5fa1210a0267fe77c542e2d5dc388363b +CT = 7d7bb8242cd7efd46dab1a10184c3f90efaf926dcc7df04f8b44f334224c6de3 +Tag = 423e26099941fd0cc3aabd318b + +Count = 9 +Key = c480d6aeca770d33d9b7d4a4f54e6436 +IV = 2a5fe16b99802152826ff943 +PT = 37d3e38b31ad0f3da4fa4bd7309522fbd0b4c2cb62f7a3fdadd60972453478a1 +AAD = 8f56af4adc2c989ef12b6cbc71516d7ab17a5917c4ea219e62490699043fd0536ff7c2a6059aa6deb61d86248a2f7958d9ef19285db0177d9163eb62340bb89087819e451ebb92931a2cdaa7eb61300c01a5d27746f87abb16fe +CT = 919b2c720059b95cc975571b4de3551b6db91975d427f1e7333023c4b9af8405 +Tag = b923ede7d46ca81e208a2c422a + +Count = 10 +Key = 83877a8358f2558779231c8b4b339162 +IV = e9bb8da3130d8fd329df26d4 +PT = b064bb7422736b8458a87f77b7a33eacdfa09e2a761e22ddce0baef5d2bc5ac6 +AAD = c659e65ceab290ca3a2b62c0c6c487e11462c3ff1c6cb6caa5fb9e83f03a7d4d4ef8b4a1343e3925b7b0dd3f0700469735fcd234d65d21bd21d7c7bf4f8a49fc09db6a8826b7d00fdead82ffe02f9930b8adb3b37778bf75c5f7 +CT = ee6d75f5d5ccaa2221242793db023909cb0e779611b43af3acba9653c46bc0c6 +Tag = 7945381ca2720835c6ca4a41d5 + +Count = 11 +Key = 9b0a5ec4bef3090f07672e7c02d512b0 +IV = b1aac180181d19300fe46a0a +PT = a1e5d118de4483acdbbe441ab9b40c90ae57504600ffd0a5e3961127f44ae2f6 +AAD = fd39652e5e42d4768e40c9ad7e4093f5fdbe7d9907d7778c94fca7794d4813f7d74b942bbf902b95c2beee643400f455772df99af3acd8c79b61de341e5ddf8881d40ce374e0b32ef162aede0fdf0bf2b57a841c2eb9f8393e4b +CT = 054357edf730de442189f4254b8fd77c69cfc7f6beb4296541a534b28633cf31 +Tag = 00b823a99bdc305ae85066a97a + +Count = 12 +Key = 5ea279d9c20fa1a619091102771ade32 +IV = 11126d78e84501f889d9a222 +PT = c8795aa0e25ecdcc1c29c2fc314f912a86e6de94e53265d83c5bea7d167ad95a +AAD = ba85edd71473feee5d545a1ac7a4e979df259eacf4bb77953530300850dc6e887dd737e39379b3e832322f994f73c1c61eee041d981762ad2420fa23fa958bdb2ae43a460c2fcb78dbf4b837b4c62629944a7064acba51231883 +CT = 213a49085d30db550bbcd4207a1601371fc45c877d13d946576fba225bef1d27 +Tag = d6718779997756a11f097acd51 + +Count = 13 +Key = 79dfa9e5a09dc3174367b351878b7590 +IV = da7272677012854b7b99045e +PT = 7ccbef02445287cb6f87f7a78bf0d67201091361f5672888c3df030458fcc347 +AAD = 009898087a1482050b97380bf7c1f4afec2b58f4b0831508fecd5c7694228193b8e9543c5243fc20cdfe7d896eb86f06701c534b8bb82e2d2eb3a0ba1ac2ea2ff137942b81ef02b67d1a70dcfaf1909c053ca7a6341c844367f0 +CT = 3e41457e3be9c109f6533b7bb32cbd4b8b363d6139fde09c95ac648dda857200 +Tag = 8e9dc67dfe3129fced03fc330a + +Count = 14 +Key = 5dfea9f36f5da456deb35586aeaa5ddb +IV = e3fc97677dce220b5f7c77ee +PT = 2f14cc2fa248a0f361410fa10642e415bd86b3801a46a56b577b69650657cd4f +AAD = 09a95a277bd6a42c563690918eaafdaba64fbb91d9bed9960552344aeec18bf416417130f3e85450c11ea528b79afc27a487089e426a21ed5d919123c56c462ee69c8b5de54a24400c0be8afa1ef0baf6a9ca3097ae6bc9c25a1 +CT = d61913e3a31735a86ab6a3e49cecbfd66d6d45556b2c6ccab6a6016aa1b7c778 +Tag = c3d62aa0df97d3723177f17f80 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 47ba09bfa8c132db16b2113fd96a92c2 +IV = bf0b72698674a73eaf06e767 +PT = a653571928bec89842315f21a59ed165cbefb5fb6d92c3fda5a2feab18d45cbe +AAD = 0da0428d16687f5ea1b6e51cbabe54bc1b2b7692c6564760ffbac875d75103ca1f74db6e0f2b5c93e7060e742462449072f5c86bf138326f68289c7d0f3dfbcb7bad8280c96b044927a12d0e19e669ff11ca20a29438e709f111 +CT = c81f251657da4a75cd1fd5b195a17b50916105bcdc8630bb167bc901c5c78d55 +Tag = 70c87fbb472396754e69dbbd + +Count = 1 +Key = bacc45f8d01b1d88d0004c58205eb4c4 +IV = 91e7f805d6c9552d5dfb02ef +PT = 84422b31b6924741dff1521cace22cd775abee7150b1612ee7a70916dafe9b81 +AAD = 93cbe9a45e3ac569ad83f86108234727c5faa0c4cedf873f558c6c174ae4ea5c6d6b378090d87745fd2d1c60e1bfe9db91bde1e63ae637ca6be0fa1d6ce213f8d9c3406b67c8ef988b977fdfb8b65ca858c98da286a2e1afe5f5 +CT = 6d1cf10c760cd7561796c982699ff84e06b30f0cf8842c3657adff0ce31e72a3 +Tag = 8926835c6c0b1801fcfe2157 + +Count = 2 +Key = c2529d47fd32fc7fefa81f02106d2e55 +IV = 60c38931f2fc414f73c0a544 +PT = 60c1972d2931010e8f41306cb195721a497a21e549fada6c53474d5889f1b92b +AAD = 576e79fc428457c94d216707edfb6b7f15631bae7d15c6019acea737cf78cbd7791aa206789f76e5409f2c9fddddb941446da81fb2e1da1d927299963a0378b930d4638e11ff339b3ec8cb09d540070300bf610d20f110bef350 +CT = 3a1f2f8bc12a45ef3e36ec30d890d65db62aacd4606083eef78a915b1ee3eb98 +Tag = b1b4d23e055eb39bb83a323d + +Count = 3 +Key = a661bbe5bf0b87f31b1cefc0dd3e9524 +IV = b789de8a33f7c31227dd53e9 +PT = 9c9809d7543086729d020d7a175c6a5cf5875b85e18c3a5af74cfe42a47434fc +AAD = 03ca327be3a8ac29a9b5ee1ebd7138691b02e3903eb56a0147e1afdd2e3941632a9b0e9639d4e9f7eea76f190ac59f9ca42f0782fdfd81cd3e24e5ad46f7fc90f0095c3b3a892b4fe01769374957ad984cda5f08f1629c292aef +CT = a52fd896f39b71f9879143789cfaccbad8f4543731282af3f39b75bc3bd30f75 +Tag = f711f6823c71fdb5e507edce + +Count = 4 +Key = 168a1e88237a259478a931dea4d85d0c +IV = 19b4ba6cc7866ab0161dfe11 +PT = 186b98632f0e56db58ea2c96d51a6f6ca0a461201600478b627a4c154576a0e5 +AAD = e23b2572481805165b944ebd9a4124047e8c9a2592e99fe7670ff14cfb853dc2c058406809e035f57a4f7a735ce21ef2e721dda7ff8b12b598c37d7057e4db9cefba63190478297ec8618ff4806a3cd4fc9bcbe44280c0d1a1bb +CT = e069a8ad05343130c3e5cfa1619c449967cbe9851e033b89f54ff2f399af165b +Tag = 9771f52f22453129388938eb + +Count = 5 +Key = 5b1b9c0d52e7d54e96e146ecb0e3cdb4 +IV = 266e9c6f7ef3e65c65aada1d +PT = efa42b4aa0b47055b296834e1d25027439ad93956320110bd6e84c4801209bea +AAD = c6d627e605f622584515dba4821655e122bec58e07dd7396bf580c6b0c33b1b17802e7219c459161f11567cfd0228fc00b72eef3f5daa93bc8874cc952b04682086fc3adbcc778b92871c86fd5d99f3163c193bbc454670d70b6 +CT = 66d6ef6ff0ae211eccfd64666fae8106269dfb23ad2abb8128c51e834448a788 +Tag = 7f4c9a8a024a5c53cb09c0b8 + +Count = 6 +Key = fb20953f6f27b52429acdc3c6cd7f959 +IV = 490673e392d9bdfd86118e8a +PT = c95d06f517c20eb7deaf8e283a3eb4aa2146bdf5e960f0730400d34ec9775fcb +AAD = 44eb644c38e8bc67302e6cdba7267db54c01b1ee4bdf68be65ec60d7ccb5dbb0137d9769db99495261a75a419bbcc3190ce6474765e46423a12d0d16988a42f7649fb89e5a17ef31e97ebbdadc087d4631b03142c3c352c2b701 +CT = 5fcb815eb5e64cd5cf630d07d09f5643d85e7a95806775b438064b8018ebc8e8 +Tag = f5ba77df4e72d3435e1bcd20 + +Count = 7 +Key = 4c63e6c93094b0fd7773a570fd484230 +IV = ca3017a1a83bc103b2b34800 +PT = 76bb8664f46b7a170676f60ac249d132bdabcabb1f61ac8d12ed55509b525c58 +AAD = 5a7cdcb563d81e27393367c3a98d682e28c928641b76de38b2a93c3a16d0e36eb64ab04b62c70f3f83cd6556d551d85c8a783b9c69f467c1ecfae1763486385af7ffd62ddc6d9ea771b66afe85c1b76842362ee04da943297ac8 +CT = 0f550f159a60152869aa3acd2df904ab59d56dcaf06e754fecec1213d511ce5f +Tag = 816b83c6431cfbe43cd725fa + +Count = 8 +Key = e379a4083223cd412d53ae41bfd65b99 +IV = c15f4cf14dfef253169cd545 +PT = 46f4c8e99cc48bfe08550fdb489be2c179378081a1e91d4d6cab0e371dae2139 +AAD = 5f01e0678b71bf8880d27211ed0f5e6ef49c7daa2f0699f6552f70ca0570332befd6922c7e1baf9e764b695d99eb5f9421db7932507c59ba168018209bdf7639980c2a557bcf60b2559991cc460a9b1b85d1cb82df44a1da4d45 +CT = f47435e3a040b3d9b3d5c1a3eb16cadce34108ee6a6405ef665cdac5353806f1 +Tag = 66f3ad3b21569487bce7ed7b + +Count = 9 +Key = 205f1da0df7857f137c959727b1ae33c +IV = 90a4bb7f1bc81dddb9e43be7 +PT = 13badb50aea7e1c36bce3b83b4254f4a4aa1d8b4b46290a5d36208b508a8e7b6 +AAD = 4f7e2cd23831f66b8d506be63ca8c8304858cebbbd18f066780f9d9ae98ad783dcd8f3e1aa27552fcd20596a0df80dac6b489885ec70e8f169f7e0bc44179b2bc28eb7bb5db9891e1c8aff07f8d2e5e2586a894f85a6f2a7510c +CT = 0205f1a4365d4c7fa61243f4b3c1d323fde9280bbffca00efc4c51c4e9ff4df7 +Tag = 3a8148e8f0d8584caa0f2750 + +Count = 10 +Key = 8978c8d97d0b38d517c61faec96c2aa1 +IV = 9bf6c2596ad3a1b65fae3ac7 +PT = b92ff25d85266cc70d2d484c3baf934f4b344c28f4d68064658e59bc0847ed94 +AAD = a9d1983400ebbb9c8b9e2d65cfb723096f242259620e9715b9416651dddb6baab02a1eedd3dd757a0c9c8cb0190633ec6984fc0474a0cd9232fe507555f4ec56030f7c1647735e6eba37f8fc30c7f3fb8598d142e6743021fc67 +CT = ab2b6a588143d04d5226bbc4e86293bf21e47d7bc9936c8ba7904ee76b8bdc86 +Tag = e3388afd4fb09f3171765047 + +Count = 11 +Key = 34d455eb1b60240d5835c83ab74537f3 +IV = 2827049b25e66a7b54678e0c +PT = 244ba64c244f6f98f00ae751b76337415e802d60f0e39ce00ef77e4244dc8a60 +AAD = 6b079da76728cac3392d06e6f7be46bfd061dd96bc1dafb62ee61c7651b5fafda35cec683c04afa27b314386965e5226795b82b514f79740b3dbc4b8d829f5d3b5d79729373c166d4aa88097a450761c9c15cdf129a55bf8ebce +CT = 54ae6bee4df8960e16240e163dcea83b93dab6b518b3a69818c8c4990a58055a +Tag = 94427bc1dbfcf0c530971109 + +Count = 12 +Key = c28ca3bdb8590ed582557b60d6297ad2 +IV = 1246f9a79ce0b27343da48aa +PT = 5938b88f5dfc7a0d71878f8947419c7995b594e928bdafad5b83cbf3d78dd8f6 +AAD = b28c69c6e96dea8e7c0bfd7e521c54144a7d400ec509020db11a100fbbc590b1d3f5915d7c2fba1039c862ff0a895ecce1da29ae52b0d3cd62e045f7243acb0adc8dde7b492c6c1553bfceecd6640c264891c454355eadf8dbc6 +CT = f2743114477e4e3c8db67215a08fd55d866e53885d188b45f37d4f95bf4eb3c9 +Tag = f9526af3bc7639fef09d1692 + +Count = 13 +Key = d72b62e47ae39468a72457a1db072087 +IV = c7e42e6c3fe43be206c2f58a +PT = 9e73d2f1eeef554b31ac3bd348923ba22b02e9e3fc8c3f59dea958f9acea5f10 +AAD = dd8a3b74bfd602c59038869a14ee2d94e392f840ebeb96cdcfd7ba97e2b1556218a0ccda0646bd437770d3f1a5c9d9f06a1f4ed6ca64a18dfb76aa79fb9b599b7b640e6582a99de9c39e4ca07412653cf1556f0423f023381443 +CT = 77a329e63e97891e3147a8ce5421d8c148501a38f34314d4e91f682e28110388 +Tag = d35df813b7ca04e8deb9311b + +Count = 14 +Key = 525cb75be0877a2ab1791cf33860a3f1 +IV = 1b2b7c3a0937ad7b5b51b89b +PT = 9bd9c6c9f9f597abb0debeacc3484bfe41613b72359294546d6c4102115163ad +AAD = 4d09d43944a2ed68cf8c00908d8ee63f5fcf2438aff31e4ac997d552982278fb36771398a2405f5783f81859ce858fc868d05b8fc074a7764e8bd74970186c089754bd2529beff4df5451b16e2149c59212025cab9ee663454aa +CT = 632e6e43e6005df6ae606bdfff6adad4b94acd381f519f7f0903133381f5308d +Tag = c155192b5c21076767aa1fbe + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = b78d31d1a7c54552b2ecfd5fc6c569c9 +IV = f37442ae882a2cbef8e77355 +PT = e535a8e2d991e5e36b7812264663ce2f53a34c63b6a20ac70a643b3ec3a5b65d +AAD = a255e3ab3ceef8b33f943d0e04730ddf95eb3075ffb5e350b8bdf34a428e360b8427d01130d01b3c25c263795fb4c246c456a2c8e4fe59c3cd17a5004f1fc0ce5870b39fbd785ae14d5b359602a5d0edb75a2b6c0b39e9eb94c1 +CT = fdeb9d412b102150c2eb2f13cf858951c311d1ef51b38874842b5deaf8d2563b +Tag = d646caeba209b018 + +Count = 1 +Key = 9fa67f90682881cbf31661676ed9f63f +IV = 17e60f83e271184d7a70b696 +PT = 4ec6c1161da24969c211c44f2634776e7922feb5417dd1f5963f545f1eeef2e5 +AAD = d51250b64b096ca5f1713de8c7138f6cc0ad864a9d46dd96bdddd9eb5db69c27cd2f3a727fb0eeb06ce88f3a24fd8ad8e5b879745c1972865b507339e99258904542cb26c5b834d9f5f2049c23c22d70bbf0ce2fbc3a4f65fd8f +CT = c1324e923380f9d0ffa17cc53c004d326fe26cc1d6b15306032e2be705ab38e5 +Tag = b2c4e04c2774510f + +Count = 2 +Key = be6019e016afb8a20206f95973b0406f +IV = f15e808dcf54ee5e1e6b2616 +PT = 14e8e296a11e03f17922b626da029a91eb870c3da7b25ad4713061246fc097e6 +AAD = 8d8875cc9db85b7a48c4aa31e988fbe359dbe96ecb8b51a1fe460c3a5213d67ae5890470eb78ed89288e418293f60611b05c34ec53f24417bc2e45c8649671189be70762674545d5b91cb237a2f1e38854525141932930300b31 +CT = 257010abb10579c3d37ce566d084e708090aa51fc07f47bc9559538e02f0e5f0 +Tag = f1b0182fe1fab302 + +Count = 3 +Key = 0f6f24eec0217c007efd37748c5ec2f5 +IV = 40eead17c3a1ae079b8dcd17 +PT = 1eb6dc37257ba570bb81571f99bc28d282fe5874bd45e68b430e53504ee93184 +AAD = 487e5f5aa57532d245cdf4668cb137d830d01a64e7766a3bb993fcaeeeffe5c6c3306e70e1607dafa70ca08f60161448b74473a6ec4ec4796a5b24136265bfd8c9000175e70d6bb21d42b1dc78c0631dd92884be5c03fd03ae65 +CT = 2d1e7ec94e4f68ec1ad3f0ee88f33d2bbb65a72f33f572072d5a78f88539fc00 +Tag = 079091890cef1594 + +Count = 4 +Key = 62e4dbff200d570f3a93bacc0a5fdae8 +IV = 401a2867a03a9e59b9f004be +PT = 55d76b8708a399d2aa3e1e2ff03ccf889270f4c81bee079d2618d8f2f84d5222 +AAD = b7222c89b4f285cf3a30e3c75b0099f0bddd37ec3b64f617c657bc901bb1261607819e23aeed3d1cd08c54b7815d9267906877f0e3fa08417215431e5a86265fa0fcfc458641990e783e73bace31d3458fb40298dbdb9965ef63 +CT = 6748d685dbdad9b46f103e0efda5d1d355aa3873a52ee7658bc289bbb230c7af +Tag = 62762987e139533c + +Count = 5 +Key = 0b80cd9a4a9327e15ad89f6c29e1b97f +IV = f1f3cf4200af6d8d4d0a9a4b +PT = ec506e5c1839817149c2a40c793f1178b14ce628b99ad029f2c4febcd01e1a96 +AAD = 2f334d356a0dd37e8843ca91e2e5be6e5e109b7e11af9801761f84d8b067ce78e51369045a7fa87babff12eb7cf26a3d4d2a21a4a5511b3cd70af1985e71618306f161ead6c85833973e99a3d21568c1803293fbcd4884e14995 +CT = 46f11b667906bc9e2fc00e40c98bedd72dc319fc23c069f805132d49eef7192a +Tag = 397dcadecff55e3f + +Count = 6 +Key = d1c4f569127a96e3a8c66b6d8bc3e530 +IV = a27b56188fa88af8414aef84 +PT = 7c809637426fe14cf5098cbd3092c8d0d27773f539d16b5ad5bd0c5aefa3d9c4 +AAD = 0d4bce896853522929fd4b4bb8ee0ebb1388a8be195562e719fe4b39036df62adaf3c46522ae55328df46ff3d11a8eb0d6df5bd45b5911cda8d658a4198abd4ec74b2ffebc714f972e5d591c0fd577a35eb773f8f0cd78f39e65 +CT = 79ae2884f4ca70410f0dd7c07a69c700b3cca963dafecc5562111c04dae40005 +Tag = bf242f5b67172943 + +Count = 7 +Key = 5fa62189069629037a4f9c555d84f6a5 +IV = bea776e3866c9e79a95055db +PT = b6c01d3a3c0696ebe3c8a4b3a8c369ee8770eb58563a1ab1c64ef1cb9d14c78b +AAD = e21453cdb17a09d621de0acacae643d149b1f70c137af8190935d6f2832d2c74746a519564140ee1fa2a6addbf1178d86f28f7538fe1c539131a2ba9ea3c4b77d68cc97d1661ac9952f8fd17c0b6b2ab0b13dfb53faf80e8d48a +CT = 8b2bd0ed1d33177c357f06d28c902572c31018ecde6c91c32aa739d909440dc6 +Tag = 23b2f36ed31b3b67 + +Count = 8 +Key = 8b8118048bd770011881d4ea18ba0e73 +IV = 974b99593ec66ab1815418a8 +PT = 9c25b1cbd7f5a8af0f84cd5fcf2c950e5eda1639fcaaf69c5e63e0be231681fc +AAD = 3205f1dfc44caa8800a5e601ba176ed0cd2f73dc17da655d55a0974e4488dcc96fe890faa791cb5ca32ee3720aaff1458d7b0890b565a39a99f4c89fffd6a82ec31a681e50ff25dd1ae47e75f7e59f4ffbacd6a1f959d8a7392f +CT = e369a06eb7c2461f287a066a482a305903f28f1fb73f759e0d60a8d8a7227dc9 +Tag = 2feee7ca586dee64 + +Count = 9 +Key = 3dab92bb092c2e2241f1c22b67ce31ac +IV = 7e1b89e85ce6f33395cf59ad +PT = 0dc575de7f82fc82794a636a0fd04c59c03cb0b6b7837f527c7098138b22a566 +AAD = 998ad5c9abecbe5fef7f4b10162b7e619dd3ed66f660c1d8b5c6f841ef83cde1d68a393ab180678db3a9e0471326938f2de3c62910334d08652df2a1133e434db2d38130d02d2af05c6f0813e7df6b7c17a0e739784ca564f5ae +CT = a7bda4c4643ff0ee259d25e5c4b532430f6a346e5bbb2f6566ad246d08670890 +Tag = 1a19206a5c40381a + +Count = 10 +Key = 32e3cbc0efe09a383947e1c125941c64 +IV = 8dd7025554a896e58d09fcbb +PT = 1cca43819524af0fcecabeefa1b918dc7e1aab019332f99a5e6f67aec80d2aa0 +AAD = 4594ff9a8b28c86922a48044545e0bad1f855aea17558aa72010e6ca3ff6fdc4718688714512e53c93ba602ae46c618629c8906afad1b778c4e0dbfdf098bc60a12d37ca84a5c172a1032cbb187c61d8bfac4a5634cab0f24018 +CT = 3ca9213e94606488481bbdcb7e1adf1c629b11c241997d415c27c2d0daf96c6e +Tag = 3ccd63eb0bc62530 + +Count = 11 +Key = d759d4bbf1cd9128aa5a4a90371bcfe2 +IV = 56c8c0cb8c90588220c82126 +PT = 3751b2885c23fb9d7ee4e02f789cd5e46f2a3a6dc1ac91a2a770ed5d198a39f1 +AAD = 1ebc95b276932a6ec5455acb6b5a4fc1516fb2e81969ded2513b1bd83676305a27c99b1e7f28e7c80dff8bc75578ac15bc7e71ca92c9400ed979b2f1fab014342ab9ff47465814a805771337f094b33f7aece69e8f9966b88a36 +CT = 3a40443b6c042ed183518c716a195a420f6549a68117776015eb08046b453212 +Tag = e480ca9f9550339b + +Count = 12 +Key = 566b6de57c185d4bdfe051e5789657fd +IV = 685db093fc1c9efe395602bc +PT = 80eb70216903e5fe1378ae44f776c890a64632b297fa532be42aa58bd553f8cf +AAD = 8b95730599f807a6f57cb6f17938835a6a69a1a293fa3c62ef02955f65d9bf82e301e19221ef732b5c7fc679d8b5a3d3b443fd6661f5605bd59531aee2c0fe779a3cf622d8e53dbc9d62734742043790816949a04f13d83017f9 +CT = 011501c26ee572e4a7051a9f46322f04d81f644a2e1e4bc57411f2a17fbaca4d +Tag = 4d5eb29f43a142ae + +Count = 13 +Key = 2c8bc1fd3005fd20fa91bce68839f8ba +IV = 9f1f093412f55e49634d03c4 +PT = 1bd88d067685098b7c8030cb310e6cdd0fa7f78b5c1c4f67fb6869de1c5ccd12 +AAD = 2524a525176464db961bd5b1318dcff3e89fd9b1beca65e81b5e41ce4413cca53f966cd27a4005a092a91900a066937a09475e5ba0d38b680170b2e77fcf2d5084578b05b72b806135cb6ef3cc75afd63b5b82dfe85daa256603 +CT = a9bd5f29b68db5d8984e975044fef34cc29201c6448996fdf10b19247e60b224 +Tag = 4a5435357ffb7bad + +Count = 14 +Key = c9cc27420859fff985281624fed269c3 +IV = 36ac33035e86230434f9ba77 +PT = 599233c7464d4da65491251d57b20ec43853761e44e9e03e4073e253d3bbf8b2 +AAD = 8b34f63d6271336ad4ba0393c37a1a4031d039998cec99160429b9e47e2e668ddf640ab03d38f18d5aea91eb9e5c3aab3d104c84c54766cbf4ac2a0a7197e541b1f9fd644b4c04ae35e8660c2aca0c1d9b6ee6d6a61e494933f7 +CT = 93bd88e7fb49ead7f7a1cc86afefda9b6c887cf6110b95fdc8aab34b74658236 +Tag = c05f9941bb3cc868 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 256] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 23dc8d23d95b6fd1251741a64f7d4f41 +IV = f416f48ad44d9efa1179e167 +PT = 6cb9b71dd0ccd42cdf87e8e396fc581fd8e0d700e360f590593b748e105390de +AAD = 45074844c97d515c65bbe37c210a5a4b08c21c588efe5c5f73c4d9c17d34dacddc0bb6a8a53f7bf477b9780c1c2a928660df87016b2873fe876b2b887fb5886bfd63216b7eaecc046372a82c047eb043f0b063226ee52a12c69b +CT = 8ad20486778e87387efb3f2574e509951c0626816722018129e578b2787969d3 +Tag = 91e1bc09 + +Count = 1 +Key = 01d1b2700392a9ade73a3aaa2e9288c1 +IV = c6bac0d0ce4be7666a044003 +PT = 13f7381affbe0ec1f2304f02c1740afb1395bccf8ad78a63e15d5d3cbeeab650 +AAD = 5ab2a98c1f065705e08f3214271e9891797d2f603de67196ad9e135d738ac7e07fa2a2ead10fae828f84c67778f1d7fdc930fb46cecff616f9f90b4761528b598c7c0f19705021b17281aa0f44a10d3ce9b13bde298cc8bb8162 +CT = ffeaf945971a1c7ca63f25e9b479ccf1bf212f2281ee619a4ca6a5e37b4025eb +Tag = 5b3a5747 + +Count = 2 +Key = 207ce715f8627cfaa8118de573bbb425 +IV = 72019607e8bd314a8b9b18d1 +PT = bb720632020ac70e37251a69a0baaad70e6a779aa277ede1aabb9be38343d358 +AAD = 989cbc99e11368351d4af36202a83448178526043e05ab22f5d24470a1c1ee4aaf24ddd84648535ce795bc61e20a3df6caa114a8f293216b964b74f6344524e0703824c73566dd3d6374e9ce81e6da19e4da6f5990a447681c14 +CT = c1b7169b5cb842d571d5a06d259909fde4d05cd64313213cd23ee71b8c79aef3 +Tag = b9715f5c + +Count = 3 +Key = b4cfea0b3255ffb1b504af6edaba102c +IV = c4b2e6aec2a1579331f01aef +PT = 5046ece0795a5a78f05b7f00305748af83a47f509b403d5a57a9b81abcdba30f +AAD = 0396d4dfe9fd64954e5655f9f44bea317a00fe45a29042d3327e24f5e440ce389af819571ad1d12f8c0bc6fd1dd9f6f5732e3b805242da40f661809a4f7f00a9222b635669b2c88962aa6f09eee0e12ce5d5be6ad5bfe063b45c +CT = e88aea51c3588f4542d3fe6b15b0617ce195b891fdcc7672cdbe70ac82e60255 +Tag = 02c9d1a0 + +Count = 4 +Key = 44142edfda6d8fbcb2e2f89c838afddd +IV = bc9b71758a41034baeca0625 +PT = 04cec10a87dcf74e1e063e76153e095dd6097f293d2307d4f2421f812e951288 +AAD = a0dc5372397d0af6527c47217d075ae1f6aa5c3d1b7a2acd7d31e3605f272da8fd69952b7623a46fff387bb62ca1851b93003e7da1161a5abaed8aa73eac290d5b80f1ca345a38ec60cbede12cd7a63e47f625e1e1608887f13a +CT = cb20674b2c8b3536d897a3fe85e67fcf02ea8ade05513eeb6894d42400053b8a +Tag = 7f4255c1 + +Count = 5 +Key = af1ef69f37e6239f79de36c6d158adde +IV = 3d62a0fbac9f7027cd0dffdc +PT = 008e3edc6af096fff2da1ab9d2aae1640b4b5bb6b929a9ab435771dc760df67c +AAD = e23a049294206931cf17cf0e6fabf7149660b5c82897379a4b4696df3e37836132fb6b4f6c48003b66f34715bb78b7db241c6f96b4949dacaa42ca5533d30b02816a5e3ffc37a699dd7ef8ec35d652d6a597f3e3e63fd5eae5e6 +CT = 9ae22d9a366781acd87e5f1d739ec17f6eda9aa6f77a351e4e00578607f699f8 +Tag = 61c283f6 + +Count = 6 +Key = 064d6dc5a7039d314c8631428b5685a0 +IV = 91d72f49683b2b0d8b114fa3 +PT = 1c1e981154396141de39e2691c89648e425261eb4694f693a0a6bac41262d279 +AAD = 89f6d67ce2194742dcfd35ceeb662ea64642002c83a7efb1d5bba8a8b60fe5bd993c6126e42b7748b08ab39acad69a9211945316ccdb312db85189852e232c4788d4d09e5c59babd1b6c165b678c678a2ba0961cd9945c9922ab +CT = 5307ab9fd2df6702c0bbb2b20ec84399fa2936a5583944b85b0e9e5079da2344 +Tag = 710aaa74 + +Count = 7 +Key = 9a0b36d725a1b0815de900b482cc204c +IV = 44e49a0622b062f326919cd0 +PT = b8a38c9e9cd8740fab2d783f1e4045962723babdc7aa744105ea5abf7b7414b9 +AAD = ba01bc3bf5dd01756a3a42799a26dfe71b061e49f59ea2ed6798f4516a73dc7f3c7579605c3fc7efa63dab0e10a7e164cf8f62b1f35eb3dbbb78c9684bf48456dfd53ba5045aed340855adb6fd77d369a7546cd5e4434c59995d +CT = 7352f1241e00dc57e7e9060e294a1de522c68fbd13b460ab24c360caf8c35d6d +Tag = 976dc0d7 + +Count = 8 +Key = 569183add05fb993e3321260f6c2b8d4 +IV = 0e8beb0d843e7c56b9216d77 +PT = 30939852676e41aba2e54fcd65a4749fe5d90533a38894b48d2aa251b4c631c0 +AAD = 9da24f58a10f2e93a67ed43cf988094104faa470dec7a965a2a5044fc1c5d9c08d07825ea4dccc43087c66c86c4b83f7d91b8ef261aca1deb19fb19a14cabb7f381fd3bd426fd008e515af13e918f206a49068a00fcc3c557e29 +CT = 32f7ed38cd2283c7c93cf47ba57617dbe2004098e48ecf661a8f19399338c4c4 +Tag = fa2bdefd + +Count = 9 +Key = ff0117e0cecbea7362ef9afeeeed973d +IV = a5b2d02b83509da55650d40c +PT = 4b77bf98e331eba920f02fb07c18fd4e9214b7ab0bfdf0aa40f3fb9306969261 +AAD = 85d528db5bc2737c3e6d9115c403ce0eb1c75a14d02507c41f35e7679a84ddb60540a8635dd773da275481e59cf5a795a6451afd4d9fb2d819a47d380781d5f0e9cc010fc3bd7ec11ea41f17364ce177c4683fd9cb3fc15bb203 +CT = adb231b93a0a160100c50bd96cacdece2f6f670e2b24029989af91aecf607aaf +Tag = 2a980ef7 + +Count = 10 +Key = 584b8f6540ea6732ca462af33632440a +IV = e56a498df90ca373c7cf80f1 +PT = 479be2cf2411df39c579421b14aaa87b6324c45bc9657f7236def1d9f60629dd +AAD = 5ac9988ea0e085823d8b7d0a960ced88f3e26c8283335bbf242f373be18dc0781144d11aed42c0db210a9e1602675a0f837ed4324f9b549455a74c5106a037f4154fa9ddb3bb3072ecf752eee5d959c4c55d069030fefe622f32 +CT = 957a56795771ac126e6c5bcb68937899a199023d741e2105113b86eb7da99f15 +Tag = 3ceeb897 + +Count = 11 +Key = 1789eec42b821cbc1b176adddd7cdfaf +IV = a38e8e3eab0caadeffe3d82d +PT = 9f1992ab83bfe15310e6d411aebc55ee4dcec60cf6d71a52c9201ccf48dd04aa +AAD = b5a77234b227dda1a8c1e0f1abe97b4aaa00bff030fdfc572c4c7f3be2292f8a2d0f826cf4f19b2d1976e87f85e2e23cf7d9a059204f65197506872232be2c3ab15cc481146c5f0e563beb1466f5e031c341b1e6a56def146e30 +CT = a7e57bfe34259d2dbab4a71ce482a95e70cd3f9d681fea16e982df73603a1a69 +Tag = e307d05d + +Count = 12 +Key = 9cb9d676d07ec0c2c70ef5725b877456 +IV = d814a2ba6a6db12c8a77b96e +PT = 41ac7381ca31fdb546963baae402931524a7ddf7e668cfba820ed8cc90e0bab9 +AAD = 74030abb723cf2011fee0c3cae846016fac79601b716bd6bc39ab04de075270b7f187fc01a4b19da42de80144b87ae8dd9c1cb7ba020eb23c4f440335fe982a1de02b7a89a160dd9e1a7a4ac4808c7e72957777e846f7f85ba5b +CT = 8e6f03f8fea288f91e1267adc50694ce9b0ae3516f539a5c144d3fed78aca436 +Tag = aae10248 + +Count = 13 +Key = 9b3cef990269f084e15fdd14a252c2c0 +IV = 9fbf0a685fea5abe9f8064f5 +PT = 9effdcec1f74f32f8a007b5528f102f9ef1210c5399d09ba4bac27cb3ba80408 +AAD = de14ede4386047269582f7c5e435a13f18131bb969b60903469eb33977a65ac02d89c4729c482dd045390fac0b88ca65fc5b9a205542560701d7bd2df0c77a2136686e539fb8e149843ea0434ec9b92976c14fe1c07f296c0719 +CT = 007662625ad9f50d74c4b5186d760d8fbb28151dcd462074bb5ee618cf34d5ce +Tag = b60ad4a9 + +Count = 14 +Key = 0b9d1c28ed9e54042265dc3ec21eb6d4 +IV = 0f2f846c80621033313a4a77 +PT = 0e23cd02b6761ca0151c17bc12031c745131bb3b50f47d1cfa41b76f7ab6518f +AAD = 978f43e652f7297b043330b97e415da6754027d1895e9934e5cb767864cf8c6839a4d254e592e4a54aafbc77e63c52cd3e2681d5b2d8212b566eccec60e9881209f2611545bedd7516e3f03985b31f2d8fcfa453e557461787e6 +CT = 8956c39c387eb010f459f0fe2e53496cd898f6b4270c5ec87b14e634933dcb95 +Tag = 40e0d3e5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 594157ec4693202b030f33798b07176d +IV = 49b12054082660803a1df3df +PT = 3feef98a976a1bd634f364ac428bb59cd51fb159ec1789946918dbd50ea6c9d594a3a31a5269b0da6936c29d063a5fa2cc8a1c +AAD = +CT = c1b7a46a335f23d65b8db4008a49796906e225474f4fe7d39e55bf2efd97fd82d4167de082ae30fa01e465a601235d8d68bc69 +Tag = ba92d3661ce8b04687e8788d55417dc2 + +Count = 1 +Key = 7e6a5b6d296ac7a7494b72c93bad15ce +IV = 5225c255bc82949a1cdb86c8 +PT = 8bd452633f9dae0639fe0e67e36401adf65b3edf6799ff9eec80d85c13c85e0ee09491d4f5acaf8ae920281801a2f5d12c9370 +AAD = +CT = 2348f512a3a8501be9eaa41d8a127fcd8f0368d5053981a5626f85405363d218af7ba52a2bdb87a1ff07329f21792f4c64fc39 +Tag = 8753cee020ac668e9e1a37f63231543e + +Count = 2 +Key = 0d54e78be0eba65446682721368567f2 +IV = aefce9f80307fbff0965881b +PT = 5b335be97a86c8c1a29b7408833f752c8c5d4c912e7f26c73b909239e1222fc851b4e3c0accc5148cc60af2f019f9ee0060131 +AAD = +CT = 7277aebd1beb239a3a610587b0d7cd71640291a4e4d6dca73a5d0e05f058e7a0e151a0d087ff256d08876e1fc3e0e5e69c72b0 +Tag = bda879404fc226cfad834a3e85e04415 + +Count = 3 +Key = 0bdbb7986a6026d17a9ded7700831f59 +IV = e3bdba2fe3b5cad727071202 +PT = 77ec68b51f5eb0f2d80d3af696627f365b6e83e69f105c7bad8e4869b228a0c496aa05c96e97a6bfcb33aa172f22c6bf3d5116 +AAD = +CT = e7a5a701e950ca26987e1c40c889b475dba50cea13f09e9d3bc3cf4c84382c15bde4c34ff05eb278b4b745e51cbf4f12c12689 +Tag = b794991a8a4a9f3d59d9987e9fb7ac30 + +Count = 4 +Key = 823e852ef0b9551b2700bed65edcc808 +IV = 85798ee5fd33ef752a363d85 +PT = c1ebd968d861fddffab41857de7049bdee73acfea5564cf44ce40d75b960ca5453cda093a55c5527687f25433bd6dcde443030 +AAD = +CT = e8e976e8175a41ec6a629a225cf277a1a7e2b839b2f581c88698a39300e4a54ef381f7b433e0ea9acffe59801d516cd4c61135 +Tag = ccfdc010bd16ddd651d0a189255a7035 + +Count = 5 +Key = 99c0001a7c12f331e7b3b164daf4616f +IV = 383e8df9db398c5e9842257c +PT = 9d8ab6774cbf486fc4378a05a7aabba7ba7ff4a0f5eeb51c54c2ae9a5dd829d2735089955d5ae240d28da8b79994cd72234ee6 +AAD = +CT = 23c5e30b40b0946cf5b4df15407ff2d973397a10e94a303b71a4a5de074644006a10fcab198f86c4156c59e28900b958efcb8a +Tag = 8ecd6196137905263729dafc06860720 + +Count = 6 +Key = 6fa5f5b79f6f2fa7c1051d2a374db822 +IV = d466bfcf72789143eade1e84 +PT = d9528856db087849264ac811689420ef2beea9c6767644f3ca8bfc6345a3e2e5c49e7e0fd9b1c2e1671bd1b6275b0bd43306c5 +AAD = +CT = 1128b1da86b71d3c0cb9904f2513d2329c033754fc0d40f87cdfc7ee53dbe3ab565719c8d1dc5d3314123bc9e096fc8509b85d +Tag = 19092b9776c4a1f6e30354fa5115dc04 + +Count = 7 +Key = bce7d033f24ba8fbc237f06f40c6ae25 +IV = c0d68906e987fe22344cae52 +PT = e533180c0c73d75799025303d660e43d5795ad46b84a05741b441f855eeea299a6484c17f39e884aee28b7d384afb49c134c73 +AAD = +CT = 4723daa516b920ec039dd8c0704a37f0bbad9340a7e987888db120459c39cc069554638ab6b32cff585ed58e2d7c1808229776 +Tag = 1ae612e476f5beb99f65aa9b5f02b3db + +Count = 8 +Key = f78a05cd2621e9385ca111f3a168fdab +IV = a16aef83dbbd5f69c2569103 +PT = 9e761d4b7bdce2b851e508f77faf447ff83505755494f1bb5169dc23bb02d9ba8fb8b4878c8a47dfd14ea0dcef3e83c688e597 +AAD = +CT = 7ead6bde964c35fcf5de23f19725387601f705ac11c5fe1fc531746bf2d871fda54264a623c70e72b5b5ecadc4434f9e696ffc +Tag = 2f13e4bd9883c747f0c79c91e661aa8f + +Count = 9 +Key = dc1b8569a8046e3f294c3cca018f6613 +IV = 5b3cbbe0e948db8efe42062e +PT = 6a3a1a9815690106d1908bc7e63e25bfd801900e94a9fbc28b6d52b8f9b4de7003b066bbb18bba33da83c67809e3bcf98b5cbc +AAD = +CT = b02a253a17fb9248277cae0305473870c19e70b7930a0be9be905423479413dbe3702f42024d69476415290b1422f2c030e99e +Tag = f0fb85e3d6b3a5ddc5da3ec797f758dd + +Count = 10 +Key = cebef154b3ca2167230daf3b8205f11e +IV = e0dc23aa50a52cae644874b0 +PT = b8cb070ebf5b27a51f14f22c6b38fc29d04c431c484c117ad250ec4f97fc4df44b0ec847b69a363963d419ce9ad11a321686b0 +AAD = +CT = 4c0918e86b152be2c4dfe36c78b8a559c2c7f83fa7776d0341318a065c2a2f1b2678aaaff76cad30ccaa1dcd03a5bb16d00f3f +Tag = 79267bdf70e74eaa011e889369f5831d + +Count = 11 +Key = d7e95109127e83b4d43c81d7ef6d5972 +IV = 43ac0d8895ed785e2cb69d48 +PT = b2601f216b5e6f60c518dc817c38be940ac03babf2e6f5ddca0874e819f9aabe046460e3ccf6511566bbde2d9b191fc16ac4b6 +AAD = +CT = 957e712dc34ad891cdb3adcce62b0454eae9c792e64eb4e08624de103089cc19499749e8ae6d8c92e2c04c5cb36ef097bb00dd +Tag = f569562cb94828fe71fbddcfd984bae5 + +Count = 12 +Key = 39ab7819dbf944cccd2648445337158f +IV = 4594840e05c33bdbc0187174 +PT = 834cb05681e9a7876bca891eb7824392c7ac29d4ff4c9a8ad96447d2cc5f0ff218043d3510201452ba5c789ba2a667bcf79b9c +AAD = +CT = 362acf79df28c3c858e92c0c5f0a323b3ea2e81be67cfd903a627ed163c06393287b73fe33a435b96672b9bf1a5a2c2cff4a15 +Tag = e58a30e2c91e6d25f423abde987cf2f7 + +Count = 13 +Key = 73388f83e409ea236129e46dc9a9b20b +IV = a9069b00e1cd29a2b07b8db6 +PT = a2e138d5611c5043214f7d9f9c87aab94e0b8e99b311d0cae90829078c3898c8fffa7de9789af0a6c05f375b2f710dd4ba2610 +AAD = +CT = 77e0fa6b2765428ae418b57ecf5a392230fa2a9bd1686b91df69845cfa0a2dd9add219229e65ff6a2f887b78ebe8c0c5d1be21 +Tag = 32385ced195a16dad5eea5a19fd0fa43 + +Count = 14 +Key = d590e53b695315cc0b917d9fa0aac643 +IV = 102de7df461a5578e75c4975 +PT = 7ee631fb685d4a94563e01480ec5526d04a4035d1f615fdbad6656e2495fe5d7f0d6c40dff659fc85f4ccd78433a192313c3d4 +AAD = +CT = e1322d0c9265cd774d2e9d9b6771799600b79ba38374ee1756aa6871e204e5f6871cd50db15225ded64a9c8899bab37288a792 +Tag = 13e606a9a4c786b65e2260cdda4b1843 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = f734040c4ac1cda0b67b174a1488208b +IV = 42f294eff8259b1389f337b2 +PT = 8f19aa5fa3394532c48eb78f9346f4d9b6a8f7fd0f794aeb77b2ada2f6742b5ffe632ce37d40c1163e42055098a4e7a237a2c9 +AAD = +CT = cb8e9966ce21617e2d16ec5e4cb94ee4af87b9e4443cc777c2a453bf0eba19ed7b753dc95ffaee151e7c95874d361a05849c68 +Tag = 135d8eba41dac874ba69e1b7f462e9 + +Count = 1 +Key = 2c4e93f9e0c9eca98d1974f6306174a5 +IV = f200ac4932023b3bca9f6529 +PT = 3e0c9ca442184a7d034cc6f23d3fdc234a8baccbca283fb936b9774f706bf5d4bfa1eaea8a0665d175b2662068181a0cd96d02 +AAD = +CT = 2f9d69a686b81a6d7f8808e48dd31eb394aee06f6425d02925499d162914c9eb0096069fa9c5dc4b87ba6552e9d2948b15efb7 +Tag = 1532e8c4bbb370a95acbd79a52ae29 + +Count = 2 +Key = 0da11f8640d8319ec5175aa364091314 +IV = 9feba2f59e7a7c693758a63f +PT = bef4f66a73af48deb645c5c6930cc2a1036bf525fb89575aa9b1c0d4104413ea3c689b5b0f65f1bf16cb8d5f74283d85bb40b9 +AAD = +CT = 1ed89898f3718b4967cd3ec9b11e21524389607c45973d5502ff6a11987d16adf6118e744f432575772a1ae6540833201aefb4 +Tag = 0fc0d1d63d86d08e932b608e731f83 + +Count = 3 +Key = a46f8f8d4392f7964118763f3ce2c468 +IV = ac3ef35b96cee68a8443ccad +PT = 4c037f754943c8d3f6f097d9f93749b9ddf570c608bc5b7edfd0bd74a8799e665c46e19eecc180e175758941aa7689a1aef97c +AAD = +CT = c34de8bb1bd86cc3f9305def9062f8dc29725b3376e9705d9529c8792b76548f3506966d7e9a4794fbcbaee185dacb29c46085 +Tag = 51abbfe33e6e514d759c8f64109a12 + +Count = 4 +Key = fc2fb51e84d70868ee8431413bc1a6a3 +IV = ced9f8e2882c0e30b83581db +PT = 0a6e7ceba2656a843f997d4273e7149ece5117feb969f25bd0292957ab6cbf9209f34d447f221875d54f2a88d3600f50e566b6 +AAD = +CT = 53509535eeff7f475ff6557b3557cc316469ab3e8340c3a4a3d49dc215efd6190e520f14fb0fc4e3ac4a47901e05f2202e23f1 +Tag = 81a5e9db556366890eb365a5672ecd + +Count = 5 +Key = d4ad8ef4e5f10123b64fbe2fbfe98b19 +IV = ddcff28ba9b2e7011cfa0855 +PT = 47652ae2c9121551ab90a313418bd8227b53625a32d454d4630cc31be8893a9ad9fa4fc6c396a825dca3b498569e9c6bd496f8 +AAD = +CT = 3467f9fbb764665f86c627698298b89a02b1ea0b4d8139ccce44d15540011ec27913d683ff5238756e0179446e5583edf7a295 +Tag = ef88253186590f7865db2046a77a13 + +Count = 6 +Key = 917051cf260e6186393b62f0142a9f30 +IV = b895290ed34e9d253f9d80a2 +PT = 97415953fc1588f9d1da5f7baa18c099a8e57598fecf25fa0721ee25ce1ad3351dbe4d4fec79027350203000bd7cd153074fca +AAD = +CT = 6b4f23cc162f0d2942886734d5e94f83ab5f953a86e678f7e55737dcdd732dbe54542b4fea0f61ef6df092568b909e0636e938 +Tag = a0cbf1e39529319716b3e5563d2533 + +Count = 7 +Key = 6a270844b9003a6cd31bd45b445df446 +IV = 143051ebf07cc18683665386 +PT = 00fd032c2a37c8bbca34c2c0ba3e46ed5b47425ddfd57ee5761fab35887a9a3e0f6e5c66bec094342c9da2d6423d2f0050ca4f +AAD = +CT = 6f777aa9f11d1f25f02265a70099f4a0c6c8129586f18551e7ebff4a5a04164ceb30e0b09d9b208bec8a5caaaaa094f6a525e2 +Tag = 2bdf71c0367851c388fd77b309a748 + +Count = 8 +Key = 2bb5e80f8af6a4e96f9f3c1a6c9cb24b +IV = 5957a8d64693bbbf350944bc +PT = f7a992459f22591c9b8ce1ebb8f3a68d941a81ad0f4d41a20153da73caa9afe4e45dc7eee64687d43ae2c3b827676c5a0b4ae9 +AAD = +CT = 213b285ea899a598221203388215f30c0cc1c0bcce1a781484d84eea4b23d796ae0f04d05d0750f0aceb6a815454e9fadc17f8 +Tag = c4967dfbdbfa9ddc56e8d107ee5d7f + +Count = 9 +Key = 446fa37faa66c8925cb27172f2148f68 +IV = e1100e8c643e0d97eb8b0f1b +PT = 93bde0fc93a4bcc49557c9e69a632ec837d6ed1c9f02acbb8f73c249dca07d605a0684d4ee487a990aae92e9dffe691ab72f5c +AAD = +CT = befd5eaf284d5bc6b5ef891358a3da8f1905eed64bf92deb8316ba6c03b4d840a1b5c7410880302960262fc2f6d1e4592a9b74 +Tag = 73555bb41e00845b3b57c3663ef5ac + +Count = 10 +Key = a719e8e2e45c5867af781d86a2951903 +IV = 0c83e40c9a30ece5159a06f3 +PT = 29ed2ea3e7d1b9d2c9dcbb3e16d3b2e562d2cf1ac6ef39e1f74e4162cef62fa2667725fbbafcf796f92f8022d421135dde7dec +AAD = +CT = 60b03e888cd9463eb7902ce8563cd0c8f3255ffc183fbf9699d08a640d5308747a80e3057e6f07ec5ca35f61231653a6020352 +Tag = 8495c6211b84d91a94f0e4345d008b + +Count = 11 +Key = b2675642b076f28bbecd17ff1e367a90 +IV = dceecbbbd9a6b831c4414d7b +PT = eddf1c3e87727629db1818fc1307ab3febfc40a923d4a98a3be745428126d50ad1a6e62b99c173f01063b9bbd55499ee69b722 +AAD = +CT = f6a39e9092f7f66045df8c94a50396f2368d9210ee8b71b0a65a6eaa9cc9898c75e312fb970c599120f88a347a9770f40e8463 +Tag = 084646cfcadc74991e876a85c5164f + +Count = 12 +Key = 71366eb796985c89c2d9cb2c96444aa6 +IV = 47edb848774c16a8d8469209 +PT = 171e96fde93803a43c3f99ecc2448291c05972f785689e33ab82359c6a53f235ebc7fcdf2d70454be2d9261071564511dca3ef +AAD = +CT = 8fbd39d6bb19da0660b1be6966ddd5172e22cdbdfbf5d361bd54ce5d37e2f9c729921608d89664d699340b752b230f60ce67c3 +Tag = 42c10d70bdefa981fadfe2dece4c62 + +Count = 13 +Key = 25f7df470da88267817e2c4afdfce10c +IV = 36bf63d8de344c2515eb830f +PT = a4eca6dbac54b057bf534c05960164cccc3b80d7b1396da2dbd4a25d17e9e1dbdb386f32af97cbd2056ba258a04d6783f74afe +AAD = +CT = 9dc068e1aaaa6b5fe5945a0b2296e91574239313e3bfd29361ab2df9bebe1eb956802d4abf2eec314dd9c5731f7eaca83aa313 +Tag = 40487dad40bcbe040ca140a03608a2 + +Count = 14 +Key = 0509fde79e075e6b8abd1a8485266b31 +IV = c6309cc1ef6bba045058dd11 +PT = 61d1d92de5f973d4e4a48da95359cf2bb49b667dbb9a2e553349fe754bac6b77ceb055ef18f72d69f8da24f91388cb68e139ef +AAD = +CT = bd21e5509ce6d98af8b8368b40c74ef3f7acfd7d4fb0089bb063e25a90c1e450abede70357e7d25c2a614ff0052218d2d9738e +Tag = d87838f413f82108bed44ea1984195 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = c5e15665689d356f659afed4e8396012 +IV = 1e8aa807c2209cd3b47013a4 +PT = 5abe38b6060ed4094a81bc5baedb3445036912ed1c764bd4ea61a0c06c0af94a5c7b5f115d239264efda1b99ed652314265621 +AAD = +CT = 9af1aceab7e891cc32aee982b857b4c9a80d0bd0901de1a5f66b7ed7d84a013972f6cf3892b6061adaad686ff5ba46175f5181 +Tag = 2b800be8a4c7df943596709e2103 + +Count = 1 +Key = f94f9c5d9e7bd283506cafd2105294ad +IV = 321a20adb69d3a611a4a04db +PT = 63872212ae6330d7a577eab1f650297aa8597e4393fd2e0d4f1fbd3d5d201783d04ad3b2e7940e9ac5689684d4be0615d6e2a7 +AAD = +CT = 0fd08773db6a6a4408bfa771faa19a75804e655b6945b9cedad0b5565ec706dc9d359e32ad73ac02ae798f401984c516e1d559 +Tag = 100f8245e71350b48505f46f440c + +Count = 2 +Key = 6792e6b23143a52e4dbd2d44e9102309 +IV = 3560139d57b4a97ac54b65b7 +PT = 39d841a1602b08f60420e266044572edc00bfefa885fc4a9185bfbce5865a2e0f8f84d3b16d877a94da9b041a6b82d7ea30b49 +AAD = +CT = 855244ac71fbcd947f3e6c583de93ffc47c9fc5fdc8b660affdc7b83c34b86075d17e8cf7a195cde913505247e0e7af0668dbd +Tag = fe4d1709610729dc243868eb2f3c + +Count = 3 +Key = 7cc0304c10afeebc60c290e449d08be3 +IV = aaaf18ef8d19b42280ac5270 +PT = 040bc4eff66e28e664413aab7a66600b36daf72d99c472927d1fe5b0f15e835395793ab7f49c90a67ffddbd7b0f6e891c80b14 +AAD = +CT = 02add393686a8f6bbeab27b1e755d50705690aa51ba4f300be3352232bb11577acdcd886ae897b27e4f5d9818d721967439309 +Tag = d94ae531887b29a4a0ce1ec52edc + +Count = 4 +Key = f9d6d21ed3ab59e44548fd5922f16907 +IV = ccdd82948d5f48184ac0dd67 +PT = 28c5a3bb25f5032be0dd8e020f0bf2a369c38aa37d4007e0ff3b6c1ba4b428d5ea5af7c04db02b1b2104ef6e914c44f4df3171 +AAD = +CT = e4cf49cb010d66d3694a61734ab67248890c80bf86003eea9008a8777b2c6c9a3d3af6a29dbf7633c73f2457ff13b3e4de84d8 +Tag = 470f40fc65ff31129e3910516612 + +Count = 5 +Key = a57147ad0611dcbaa60a4df7605b694a +IV = dfb56d17a0e586d1ffe57d69 +PT = 62d33fb0418d39e7d068dfed0ed8e268fed9f2e816a22a54cbc7a82c503408e398d9af3eedaba6f105cad09dc31ebdd59fbfd9 +AAD = +CT = 2db481d318159d9c65139966a907204c61ed9355e5a915437fb51a2fe8796d12e976fad56352cc750dabda2cac0d85c07c4188 +Tag = fe954cf650b5006de3e1fae131b0 + +Count = 6 +Key = f3d6e74dc97bdd43127a86b2b069c9bf +IV = 51df4a40f128410d7602ca78 +PT = 93bfd49a00bf82592c0daab3d3f1050f706ced53b6521a4099d83082ce279f93027c0263731874701d5f448a3adc2d6bec6b02 +AAD = +CT = 63f041522beeac1206d3e74b669b1ccd4b2b79509ae5e17203e018514e3d294688276616b4e3b4607d224022244c3a61692bd6 +Tag = 89c67477a1165d1955207fbd295d + +Count = 7 +Key = a9c094bfe13f53329fd7522df4a901d0 +IV = 0a3f3213f74df0ec5388f75c +PT = b2f33980def361d700dc82430440046a35e9ac31d8e5891bfb9f894835ecd13c0d96a0a3123dd795405a04e28a186093dcac75 +AAD = +CT = 1edf1ed3f0b6d407dcff352d0ab835cd9ba65fd1931dd463c83906b97d4a49beb955bb3cc6c128f5a1db67368a526d35830135 +Tag = de5c8ec80c32680f635be4574a72 + +Count = 8 +Key = d03d4bba976275275c2e9b17a1c59c7a +IV = 6ddc92d81618e9c926d42d5a +PT = 224c85bd2e4bf73329f95251d4606506905877665d4a54294b3ebd75716fd76dab71cd555f91f228117612513ea110ca18f8a3 +AAD = +CT = abbfc1c25ff6fc6cde80362e37b5f0222772e110a5b0ef95ad52a6d92f3cc433ce76440a01eb0c29a28974be0a5885b480953f +Tag = 733bd1191763828bc5bbeec4dedc + +Count = 9 +Key = f3559a249e82206a3c7d416a60a1b06d +IV = 2d079524aa64dd8b7f33691e +PT = b11046bac08671595f03f47f425d992b5816300dafc52ba44b0b756aba777c2a0f50fda46d7bff77d43be7d5869755c3df9f64 +AAD = +CT = 47aae8a0ffde5d6b62ec4bf35d60da72d83280bf0d5a9162cc0c054b501a05fb9b9ecca8aef72a5c10a5ac25ab2d209060203c +Tag = fee00459da4d9f6b3d6c5d6b8024 + +Count = 10 +Key = 26b2750e7221834e36bdf0bea51afcee +IV = df274b307e5a8a18a177591d +PT = f104339e1ea03a0253a2da041f4ec3dbcae21f2effa757474886a7751bcc0c75ce1aa9f66daf91ddb641d26d078af36c6cc23e +AAD = +CT = 00796f048bdd200edf3a63ba137681ef3a87f198626470d53719bf740b83bd9808846cd3250a24bc26c37f5305540e6de9ab99 +Tag = 12499d7ee17c14a9dc98bd0b52a5 + +Count = 11 +Key = 5d01765d4068f1c131860e248b3a877a +IV = 81aee54c40ffb3e780313e50 +PT = d5d56074b391a23b0f477e00106629cdbb6d3413458c2c53b1e07ca48876f7238f5acfa1912cd0e5af8c690c91de17ff0fb6e4 +AAD = +CT = f9aa6e5f9b934fdc24060ec3c27a59cf0978e1da00beb2c2a42075db792720673a49564ad341b4bb8429d99de338f5482380d7 +Tag = 4038570e9007b063a7a04042037b + +Count = 12 +Key = fb2b2dc35d3d02e04d5f85ee94f6f91b +IV = 4f545e2481a4a93b2b5ddd5a +PT = ca7aed3de738fedb18efd08bb7968cb5fbdd550be250c0057ed9957d6ee48794fd5a08c313d62133d24cb3a26f902cd5c6bae7 +AAD = +CT = b515e08341a7abb91a181c6fad1f6d187e17d3a5158fdf42788f055c88efc16a13e0dfdcccedb36488b073b9062a7d3289626b +Tag = b93aa1f270c7c439539a4b84a051 + +Count = 13 +Key = 4307afd02a875e49d284a53485749c1d +IV = b12b8ab0d4e4d62799b61469 +PT = bdd148b12813dbeb7ce1e1336ed0d99329230120cd8f9ad6e207c55ea3cfdf610ace1f0c973f9adbcbdf5110d2e38ead0cab49 +AAD = +CT = f54d6d60661e8cd6c4de01823071a3a46ef4f14d8162c56e7d97b5e9f151e0296b72d17d62a02deb6d8791661e6af9dedaa406 +Tag = 05d56f9bf18d6c101c7489d10d96 + +Count = 14 +Key = bb8398a7ec29ad4a289afa9b28d7abba +IV = 766f043a7bba6f5c385c92da +PT = 5657fddce4ad6f042eca8cbca81e7282e2b0a9faf725436f430eafff7f3e2ead18e2668c12c7932dde334b5345b7899774d092 +AAD = +CT = f59abe3cde0963c41ed99dd28351aca22e2564486351fb8b5c02db809302c4ecc2cb5859bc4e480bba04f7f9d3b1fb28ae9a84 +Tag = d7dc6fd92b2f0e1ee21992e8a8af + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = d9525d15f82f2be670141008d014e534 +IV = a1197ba5328d0c4fca81fec4 +PT = 83b8f9b774577a5a691bb29f47a005f1dbb0966f9cf072d163082a5b71bee05547de8eff7271674c168b9933a0176dd8c73901 +AAD = +CT = 527c7ced38dc93f952d504f8adf9b5ee002f15dbd80537ef28d97c6f2e1fdee13db30f94d99242759dc32d6f1b2a229d57fb15 +Tag = 2299e70813dc93f83028a81be3 + +Count = 1 +Key = fde202c6d9ab31defd1df9bff79aef6f +IV = d176b5fe115e7a72e000eaf7 +PT = 756fe91bdf71dfdab3605a1e2a6538d2ae8e2255a23325eaff1dccc11b5d7881ef42d6a11e476d911bc7cecfd17031491b18d8 +AAD = +CT = 964b837588c8ca297740e16749645676f2b34f2dce04fbdbdb1f525f6194ceaead15dd1844acae5816f76c7fd4431b3e02dc9c +Tag = dc5aaf1c2a462ac8bbc847c00d + +Count = 2 +Key = 35fe19067664829f4d3c1c04bc493475 +IV = 654e35b3409d9b34942b228c +PT = cd72c9bd56d1e5e0bf0b902ecd83a29ed755032a2f8e4dd8a12d004d418337496fc6065e78beac471d4d3d8bff097f24ab54b0 +AAD = +CT = a855c055645ea8b4a38fad31f94a232114882a51babeb8d86dac8e63d9ea1e5dda5b9b351ea55877812022f64747ba0e63bdcc +Tag = dcba8c80dff83b918f490a21d1 + +Count = 3 +Key = 3506e9bb450a007cd3109cd00bce8e4c +IV = 35be1cc58adb721604f4b135 +PT = e70b4905b1059ccda4ff14cadeb33aab93676650a3ffbb17c09962df34ba32dd67eef45fc2467168a184cab1cf89e285c5209a +AAD = +CT = 0c1616097e8124ae49d35737868a1fc4b1861873bda1e1bc99352be4a08666e6939793fd10ab80a1c53084f7529d031f42fba3 +Tag = d4adeb18b9bf1fe386e99821b0 + +Count = 4 +Key = aba9f0599cf1b3ca6046bb00b5e52728 +IV = a55a1bef5b762188103430c8 +PT = cc707142639dbc671bb3ff4099b55d871ef8387b3df7f83f75aba145f99d741ba23a150b3c952a2a940e3d7b1eae00b92cfdf6 +AAD = +CT = f9d18630fa3d63668a04d3d8ccc27d6fe2af39a771f1a69364252e909986c02f802532d270ff5fbfaf9b8359a501d9abc86839 +Tag = 27c56282d1dff3b8502ceaa390 + +Count = 5 +Key = d3660fa74628541c9e716f8ea17a9cb4 +IV = d8918d9377fd329ca7e3a297 +PT = 72d75188da9358dcec33b7bb44b3651da791e5bf433b744c3c05058e7f02e5614b8717b7a357d4782b836e38207f564556f27d +AAD = +CT = 03c28e9e4d83fdca21bc9a945ee596b5d6d7ead1dc5ea1ed4cf81ba08c5d86b8032c8b66e4b1603a83288246789024adad458b +Tag = 56712bfcb69714e185b3a945e9 + +Count = 6 +Key = 0e844d5ced6522093ccbecfa04b343d0 +IV = e1b5a334201d5e3e3b482122 +PT = c6b99ae06316234f44a44a2d8f9a843097ec7e8a6d110976c1c03eeddf7aaff5d45b0d1e84084f9b8b00761e75d8ea2266e0b8 +AAD = +CT = 53d4cf059640af722d34bfa0a39f4693ab1bfe06ed91d50adaa58448580df161a3472df4eb076480eaef22d866d326d2e184c0 +Tag = f6fae6354f5f7836928328918d + +Count = 7 +Key = dc216b4a20ee01cc5747c44edf8ec225 +IV = b2a196a585b0f0141f2f529e +PT = f44b1a06032c902c0546c77c756002c8dab1b3864c8d476236027a9f627417dc9690a9e97b0f279a1e0ac15a4bf6b7a933942c +AAD = +CT = c369fc8ccf3c958ce3fdc67b9ca22db963a0a31b87dd6793214aa12c56cba47583c36c064bb7a795b5ab573834189a6c6e9d17 +Tag = 349706e705aba7dd4ab1d4657a + +Count = 8 +Key = c18ea5f53afedb435b796e2e7a4c1d5e +IV = 40953bf58439705966597caf +PT = e953b2af498106780394a2bec5b939ae12c09d96257748d964e8de21a5c466d1ec6928728ec984d9a137806ed5d745e7d312d7 +AAD = +CT = 31d5fe5b62475edee2a961ac996eed75108d48fad18bdddce1797f130f0c89a1d935d2218d71391490c1ff9c3acb42c78f83b0 +Tag = c0ca96e6435b0d7e1b6927c526 + +Count = 9 +Key = 0be1450d2671c89f710f1ac320e2b9e4 +IV = 2dfb5ac911f9988a6bed7af8 +PT = 4bcdb25d00271d9a7f2ecd153750ad981dc3a2a837050c28f1a821272560afe388f9000947c1df3aa6ee78036e9da37229724f +AAD = +CT = b0d37108b112da7bb8b41d37ae0307a25f2067133b71bc118b5df2c9d31add5defff1fcd51223e5981be2446355013e97d9608 +Tag = fd0a779af61cea4ddf9f25f797 + +Count = 10 +Key = f26038c8880081cc739129efa1ed0509 +IV = 6762d4e806847dc08f43ae70 +PT = eaf578041a299d199d97092ee7cacca75fe4ac3c97b8856498143d4fa797b714b7a171587fad10765c89e225519fe0e50f4a01 +AAD = +CT = 878b05f0ee05330b98b613450d1496775d16af406097d93a851a8b0794f4c63845e4e4de316d3e7be24989b089c0474acbd842 +Tag = 5a133ae566a8864ef91e50daac + +Count = 11 +Key = b6016d1cbedd3bf24d2d6f1494f0c1a2 +IV = 17651a1b5db2a0bb46fecde0 +PT = 3c2e688790f8b7a66a1bb1ea09437ca4f402f58e361a1ee602769c4047bd32365c3a9caa8fb8f16efc718080a0c4474ece9557 +AAD = +CT = eb3d499bc20422ae5db3783597eec02232c7a48cc46953e29c1841222ec97630b21ee81bd0d25aff9d6970fbe8d6e054e4c01e +Tag = bae66d4c2f307659b2160ed51d + +Count = 12 +Key = b4f3a02e47d23646da782c7d9a666788 +IV = eb7dea824aeec7a71f62e4fe +PT = 298196cb5a257f86d2b7b2bb31ed26b77c2509d95e9bb215bd32b46c510f314e9809fa54640f1e8ad18a1e5b32668bdf5d6bd5 +AAD = +CT = bc9156e94bb53dbc148d47eafe29ccf5c0634cfd539f836cbe5ed7a17b2210fcdcf622dd918f1872861aa21634ce3c25465989 +Tag = 39b6ed813156c0d4868749c51d + +Count = 13 +Key = a5ea17d47ff63a247958aea328c493f9 +IV = 0b00d656e52b70bcd6514161 +PT = a597f043d989230e01d8d7e66605be601b85812606e60001af3070e8b30f160074228b84fd1f38e5cbecf150a355d7731b9cd1 +AAD = +CT = 242e91904602f84bc4539119a1082c9a58e463217df54b3fef26c3f153d7ea6eede92a238c957df605c1cbde20ca45cb833d2e +Tag = 1d2e8e707dbff4547991effab0 + +Count = 14 +Key = ad601e0208c666d1fae457df745b4451 +IV = 7796584c79635cdcd3df0fac +PT = 6f6511e7302b681ba1d4e885cfcda83c4d95adcdac257dce0136297620e6e11c08a5951088577cd80af61d13e39fb0b37cc31e +AAD = +CT = bda7d763398c7fd015afdc6f32e67446ca66422133d8c454dbecc8a9e7817b833ab316f7d7a19538be569c44b44233c3ac14e3 +Tag = 10d7c2bdee61b37cad6ffabfae + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 9aa701eaf1146ae9a8aa14f36294e8e0 +IV = fd78280e023ff4cdcaab5e67 +PT = 806f21e96bcd6c8ec1b7f688978c0ffd24492cd38eb62361fd73eeffbee4d9f9d7ad32d408ffc6706647bc723c620c83020f06 +AAD = +CT = 010428fc5b03162f7e001fd2f4f2d1a8ab13ce97063c82cfe62e7cd5b26551b03a55358857159959ab021e7015f370b6fc1f16 +Tag = 87b981bdd2c37fcc6ff734a9 + +Count = 1 +Key = cd02e8d9a48ff796b463ab3e770d2b25 +IV = 53704bfc548f3615141d7320 +PT = 90ba42f27c1aa89b07fc59788e13ab813c9d85c9232c1c68b486b9862db8111c2517e546218a259497866722ee818ce813ca6e +AAD = +CT = fd956ba6be92cad86a7cddc5f9633a50baf53a53f6674e578dc36a8dc5bcbf2e32e28f7aa83b4f9a59b1dea60ad8796b37f460 +Tag = 77c940abfd23724fa816015b + +Count = 2 +Key = a851ee501bbf6467de72474647b8b56e +IV = 06c61ad9b477932f8cc4d3bd +PT = 5b839fbef756ecb7ca762ec94e3db692e99d1681fac0e8c5669a405c7021849dc9a8bfcd6d96b0f0e394091345fa41563a6893 +AAD = +CT = 8d3fa44a362b6796d30ff7caf36418f9fc862c5aee8b96e712c994ecd00d4d3de08622d79bf808f1a39f10293b6666a89f5db3 +Tag = 5eecfeeaeb34ecc1174beb9d + +Count = 3 +Key = d31ed187bf6f053845e35f0c7b7662c9 +IV = e5f9acc2734e19e1ae976866 +PT = 7c193ccaab332ebcc7e129950d4460bd36c231c455009892656eabf5fb673dcedabb17a7555327eb63016dbc301933a4bebf31 +AAD = +CT = 1c4e97192f98dc07a99d722fdb4be5d690aec3e17d188a6c84b550e1a457ebfceb38bb956ba34a291d335e58cc0baad84400ae +Tag = 42cb220e3c8f3fac7228f7f3 + +Count = 4 +Key = 1457726fdac0c18dc54653a58bb3387e +IV = f7fb3491b70ab060a6d17e57 +PT = a7dc12dd084f37b6633c7c58b3c3f86c26b6ee1d9c49baa2065ee603e55d7b79627fcf21b8d414b9a3dbab11c48d0313e50da4 +AAD = +CT = 30105abf82849c15e8494a9e2cd1b1b4fa4303b159dc62e510efe0700e269eb2a179b210b9c384d06a0c611451adbf17370c3b +Tag = c3bcde5f57a0c6ad3f2c598c + +Count = 5 +Key = 2c03d4c5b498f1123bf681210f775243 +IV = 89107982e6a504d3207c02e6 +PT = 251d2f33f38cf84dd21e6f2de8132f4f6ee70796ff19d422718a4263d791e823455a62aee80991d718aef59e7223aea705f35a +AAD = +CT = 8b8a8cbd130c54a6a363be5229cda21229c1a18b52c915d212d5b151dbc721d4cea8627bff30288d36d71a470ee87a22bbb4a0 +Tag = 59a6a5144e4ce5c576a84184 + +Count = 6 +Key = b370bd8ec682b16dca441f3d35c1cb50 +IV = 672e646fdb37d5a3f9a59b15 +PT = 807029bb0bcf766ad142d7b745d3e14056173b17309e47b79642126a02bf1af02e9808e3dfcb9bc5054bf49c361ec550225b98 +AAD = +CT = 8016a37057c9fd26c1b2c6ccd9965404df371373eb5fe0342ae9a016b7ea2d490e780eeb60c54cc2d45b19f8f42a5bf9d8a5a6 +Tag = ad0848b3e30f0485db954a3f + +Count = 7 +Key = fce78097289bcea0651532afea679978 +IV = fa46129b3eb5a7b7649b2a1b +PT = fcbf770e6791609ad7fcdb6b4bbea1f4e226e42d5dbbbc9004a9f4b1d17a08369a34a89058b394ea50182d7761adc8f47362d8 +AAD = +CT = 0dce8b60788c783cd7d06e914e7a4b7213ef6bc417ecdeaefe3ac900f6728be99e14b96667b0bed85cffc139fd6d19863ea36f +Tag = fe0183b924d0503b6356c009 + +Count = 8 +Key = 4414bf0e65200b3d872e101620087ed4 +IV = 240090e3b1b8dad0edd4d095 +PT = 0dc232bbf0b4c2c63eb95426b409cd357be006ae1e30306d369681a510aa8f2faccb6262bbcb568daf857530eabe094b32911a +AAD = +CT = 9c408a8970b5bf5f2eb1681e124bb76898f5673bca3f67f6758c07ed3d24018f58177c66a274c50dab9c82f0f39c7982d6b0cd +Tag = 7f2e8042f082fd1dc2862be5 + +Count = 9 +Key = 3d0fc184d98b28e585e9f7c3af2fe11b +IV = bb8619fb3f7d18564a65cdd3 +PT = e765ceb7eb40e59266c037133f7644e8619c6f76301b48f6bb03490eddd37075993576436c20d15467ac71c9bfcb389e1857ae +AAD = +CT = 92c6796f5a9638b24baced8f3f70830cafaabc6bfffb7d340333f37fd4b8cb49e4c39a2374ea138666972dab2ca28c42eecdcd +Tag = ca6cfd5b5e84d1e88b152b17 + +Count = 10 +Key = 25e5c25024dc85f840a44e09e3df0548 +IV = 28c58f91eab54c6124a8f2f6 +PT = de1224bdb70066c5b3e01b501760aec07c08b4f531c01678fe1ef08d1c3b9262512c9a7f091b92a3584db173426d2a9e4bcf2b +AAD = +CT = 6899b8883bf45862d645d0f9fc5d294fd7f9b60d3f6abca0685c109ae5ae740eae304b5dd3db7b205e470e4f6150ade599caa9 +Tag = 298aa0ac1a1b51c3f28f1291 + +Count = 11 +Key = b5f35ca76ad037bebf202a62f02826ef +IV = f1290e9475c5b0720e481687 +PT = a37ff0d91cac2c28609c768e7f4f60fbd2643c6a7bde208740a527f58e1c6b62fe8faa037768fc0fb6c356e820dee5627fec24 +AAD = +CT = 9f46927b8aeb5492da04e82f0e0f5dd6bf2cd212cf37e89606cb308d587534f28bab5d5a8fdc2e79305bd013cf3b7bcd9a8a6c +Tag = 6e0c85ed42594b9f78b6e47f + +Count = 12 +Key = abb304c3d8268873a085ff51fea4515a +IV = 1685f67c42418834d5d430d4 +PT = cbb48f016ce7b3361d88fb51094d18944f4643a6f571704349f04b1c3f72f26825d1ca5eb794a404c6f765f88cb56102b649a3 +AAD = +CT = 95a8f5cbe23d46cbc479604506809b750d0c5367b92a16a7757037885c31d18ba44f8b522aac1a4b8d61a549c1c3d57ce96a77 +Tag = 9d9ecd2ad2a36a8a08756fe3 + +Count = 13 +Key = 779e143e9c23730f8a58a0f27505fa72 +IV = bb52b2d2da3517f664dd2af1 +PT = 4a1ea2d331333d9516794b9e9dc1c3c12d80824248bd18496daf3dafc46f5009980ba8c52219f169436f0a05b9210761eb1f58 +AAD = +CT = 2de8e55e3156dddf1b9fa4961d1e3318ea7dc41e5dd6149acad032004d408268c4c2f922d1d898e3585a56f6aa64cdab4b843a +Tag = c0dbc56eb3ab9d625bd8391e + +Count = 14 +Key = 16211968ef7a0d3bc137394e73887ee3 +IV = e1694d40445c13ff7011eb20 +PT = 6c1e4a6421efe045abb67cb4b4a770403b36b3cbd31be3d8cdeb3d205495fc594eb1a04a1b367ca7a3f7319822b58c8b5d4c49 +AAD = +CT = 105e8813b257398dd19f2643be7a487c01042f8463014fb5baef2a20ae180be46f57b38beb4bb0c6e8f419c07529af91464a82 +Tag = 2ae71a22051137ff26cd2ed7 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 45dc36ca3d5b8883d1d4239e7f2b7810 +IV = e389a874ff22bff067176428 +PT = 30e1c2f3c2aeb369598ef64845aca159e7f540370d476cad02795fd42088bbaa682ed01bd855ae828103047634eda8a4e73f37 +AAD = +CT = 39d0eaa03c45e06718e11e0a1260d48a3b358b70e26b155ce8bfba2be03be64dc2146ea206b3ec6be77591ae6a08efb825cf2e +Tag = fe5f5a574a9b5fac + +Count = 1 +Key = e71bf50544fc45bb94eb18d16c4f402b +IV = be18799654ff7fbd9fe11019 +PT = 66635b728a1e2d30adb50ee7a9055663ed76f5a3279733b319a45a7628894d497533dd01f7bac1a5285b9a43ef4ae4ecbc94c7 +AAD = +CT = 3d89e422f0493e200e0e58fe4dd9d05c58539b05b8b6399fb1e770be27c881bd316f51fae570c8592a3110a3d21c68e314c198 +Tag = 84e23f10dade4f11 + +Count = 2 +Key = 7c1273dd1a51fc3189887f80282f562f +IV = 2f2fc3589594b2e12927d8b6 +PT = 2566b98b9f1b4ce557dd364b9ed31e574bf6b517764ce03da8358d32125c036c85321bcba7821d34a29278c7c803f213c4b710 +AAD = +CT = 69ffab58dd56ee489062f658d273d9a24423638eac4c85a93a956a803251970e3690d2aa5a850db05cf7a800bb41dcfba76bd4 +Tag = 9cc4f86d11746467 + +Count = 3 +Key = 495df7d0af69f0431d8e9644ca1a7bb9 +IV = dfc23b7800b444c07df3ffae +PT = 14df078fb12777e68f1b1037dc720457914ed39ad758e73d0ca390e64f4a11ec181692bcf997d6ea56e39e4644e7fdf18781ad +AAD = +CT = 22a13aea2f8b841ffe8eb3dc62908c4884696b0a8e78245ee7dc7cb96973f070d1f39179358662e85abc4457c3618da418c2c8 +Tag = a7d76bc009fe486a + +Count = 4 +Key = e279d192f0fb066571b6af537a394d44 +IV = d794c57f3951f09fe411e299 +PT = 19fa97b024d0c2d8ffd4974a2191759ee0608d13dc6d723188dd694e80fe60e0fc463f2f43913df0f8bac886a34236c6bb5215 +AAD = +CT = 0f998fc9a82fffe8dfad8287194dc0ddddd5934f4c4dd0bfbde85c0d907541a5319a3ba4affe69c85c47cdaddf9e14028f5041 +Tag = 63e30cb9b4c3ba5e + +Count = 5 +Key = 9344f98e200064287aedcfd993423132 +IV = 31d254dd8581d20bb8396ce7 +PT = 21cc0bfc0bd6106a70a80ac5de4d735ada68db4706385168469345356bfe6c0104c115750621358d1a4fab0b0a8c747b8b3352 +AAD = +CT = 209a68174d76b624b17e50bf3fcc4994fa827c6d5d58f4e6e9542beac5f75fdeb067d46d33c9ae79623b292687d633ac1a7808 +Tag = 2b3cb548b8568436 + +Count = 6 +Key = 4731ce4d628acb4bd281027e47d667f8 +IV = 66641a5a0a65ebc3c131a28e +PT = 949661d52a832b92e147d6bd2b7968c760346ba90f13c610bb552c1e36b06db87702b5adf1da45111dbcdb9cf5d96057a80043 +AAD = +CT = 936372c8ffafb2bbadf000a788843ac9b9a9be61fc6ecc7c9ab49dd51468a3a15c1239fc0073d2704455c974ca4cdd99988bdd +Tag = f41a04cceceecc1a + +Count = 7 +Key = 0fb53f3ecca444ea016ff5be81ce853c +IV = 2e7ab087950db25f8bcc67f7 +PT = 22756c535f0d960d26f4fb11e887018ca061a03f57b9ad7003117c83c5d7563c49d1b351665db27477b1a6e3bce19a3f3ebd0d +AAD = +CT = 8005dbbf4b54c7ff310b90c8704e2b6f6fcb0afcaf32f61ab43b36300fd640800ccf2f9a5f891fe3ef4e06fef6fc3e937b0799 +Tag = 20725ebb5f84ae54 + +Count = 8 +Key = 2599e171c5833ab735bfb08ba3f2bdff +IV = 74b2fc641f8cacbb5e0a6f4a +PT = 23fd1e6356c61861b43d91977e25db6917f8224ff85e53dc9319955bbc217daf9411f00fd262e570d1cfeea822d84565641dba +AAD = +CT = 2670f77a0e908334d615a273b9a7580f03632f3c26c7d8f0faf2ce56f7b68fd5e7d6be9d591f71100aaec2ab103ac5aa81c386 +Tag = dad119347f3df8fd + +Count = 9 +Key = a8f025ac5367dbfcb8a3826781f3a27a +IV = ccd1273086b122a98880b81e +PT = b36f2be8e93d534b11e46b896624b33e11d3517f6c81221b958ceb74e5b91021bb30a80887f050e8a2728dfdece5f6008d76dd +AAD = +CT = b25a4fb80e8a441fd0e6e1eee4de88410d3e472ef69660eafa010a15a7340357ed97ab3bef43d9d1014f6b50a7541a6bdc792f +Tag = 9de458374349ecb1 + +Count = 10 +Key = a64aee04cbd634d8f3d682c9479080fc +IV = 0107410cdd0422ce2f191aa4 +PT = 7638d4361e7b2fbb5695389df677e257388e9e228b9dd55e53f9859414401050eaa7a8c4cb18e2967fb27cb0c6887e8c6177cf +AAD = +CT = 50c8d7facedeadb337065718c94ce85bc15a2bfee9f9d008df42c5b1c3b0a2f5ec7b707ac4721706399547d51716af2bcaa04c +Tag = 1668ed9db0b1f43c + +Count = 11 +Key = 5b45491b12d9a8975e3a406da44bf07d +IV = f01de9b19d68045fff3fc8d4 +PT = 9d38e76de67e27c09aa8b306b24a4e981d705b754c194eaf7e52a363eb2bd1a0615e2da7dcf342519fd9756bf350a6bc883b65 +AAD = +CT = fffa0b0b33eaf5caae4de7f7d0c76a301d6899441e34d2b58e04ef5f2e9d2d603cc54d67c1879f408337cecb091b070472d3b1 +Tag = 2869dc7d5944f9c9 + +Count = 12 +Key = d8977a990959fafc2b7ad1875459c67c +IV = 5075d1f6baa179a707a9b02b +PT = 999511da46d902fe53cddb2600ebc32d03541d8a8353756e1e8eb5f97498749ac1ec9c03b2a09e6edbccc21e32bda952ca0c9f +AAD = +CT = 980e96ebf506dd47119af5ee40d6f9208172256f2414cb11e286a75d9430d30c6ef14bce8222b3e02fc85452135cc3ff32d345 +Tag = a1caef52d2639507 + +Count = 13 +Key = e78cbd6904ae275867cf7db860b7cc75 +IV = e50b5f3cb0d01a6c23efc264 +PT = b69fe0fd99812fdf85f0cf1d6c94bbd7cda279ed5c10baad059b21962774683dd9e5f5b9c72fc62504d3506ab1d1f629233363 +AAD = +CT = 27430baf50eeed78aa06fc249417d89beb0856c9b5d8649adde6d2976a704a6e3ced3b2cbd2b4f754e1329e4feb0f25562b647 +Tag = 69800aec1bea5529 + +Count = 14 +Key = aa37afbbdb76eeb2878efefc395ff7f7 +IV = ae9036376c7c47367aeb4156 +PT = df16aa2af9541362b9ec1f2156e5c69fcd188bb85f602fe11e0083c04847e21946a563872f5ab200daf20cb2b7a646035fc049 +AAD = +CT = 479573ed5f771b42666d04d7605991d52409cb0d754a679e5fa45256e7e69139242ec1d205a449a9b386ae2a3a2d24df369875 +Tag = c7a1090148ed7aee + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 6ed971b85e07a5ec4757f2ac31802e84 +IV = 277d38cd09c4a542862d0255 +PT = af2d72ee8687b6c497a5ea5b1599b4820aedafbcd48567286bc999e13788c00b7199517f31740297752523fe301579dea781c2 +AAD = +CT = 62e0218ff3c817f1181e27c4102e8e0e69b9acdaec47020ad8968c97642b06ea289e54a9fda40942f4f0763adf9cc4aed2c075 +Tag = 4812d1f8 + +Count = 1 +Key = 3228488934c03cf2e72f8e661944f761 +IV = 51d51b066f269e8f0b622d98 +PT = 9d2e0a7b587c15ee6e0a9429db50f26ce68ef6c3af10ae5697c072d353478808880b89d3ef065adbc3ba59f3252cf450c1ef42 +AAD = +CT = 7494dbfd8f09ec56c3ef677b336c3bdf3a7d977d81e2fc8bae191c852086137393b98fcc24626e3fc5a1f19e56f511f77fafea +Tag = b6cab086 + +Count = 2 +Key = 8cb70aee301d019b53205c40a42553a1 +IV = f0c36eead21ec6f8a943b87c +PT = 2f4a7840200718b0478630d491229e105489c5ffbba2463b8e3f6a573a92de4ffdd41f15e350eb1fb7bc59c79451191f192497 +AAD = +CT = fef4f172af7e910a2d76bc6fdc38a70455d664304d33c31fa30165e81bc3bd1b65cf7048ffbe1f36ff070d151d0bc4f96d43ca +Tag = f116b79e + +Count = 3 +Key = cd2e44aaab2787b18c5773ff4597bbbd +IV = b4a012e727b647a4924e2acb +PT = 0a325b069612cbd8ad4663f0804f3c3d47970b29c7e63edc514bde6bdd8f2ad0532388f988beab117889c24916365a196b0750 +AAD = +CT = 68e54785bf628037a32c3a46d11de2b45ee31ded74667cef16f59d3b3d273fd9e66e9f7d8aa4e4b0d406b2788d9e34bb35276d +Tag = b035c886 + +Count = 4 +Key = f2e6ac306f1e3477ef3eba70938b3658 +IV = e63de8db28b664716abe3bed +PT = a653ff8f8c441ce422b7270f4ec52adf197d56b3793cbe47b22e6f92a2c6eaf00f15a3b2d7a0171302f96d0ed3fb086168d338 +AAD = +CT = fab334c4a7de2b0c62233e1178175cb4034b9bea9b70bfbb4e46762f75111d5f888d0810042f2bda29971c3a7f8b59ba17b66d +Tag = 70be5b86 + +Count = 5 +Key = cdedc7cacc66f37f3820868f6d111f78 +IV = 94790a35b4c8b052ba850caf +PT = 1cc6d89f9dcd5291fb05db1f53036c303c53446071078d28409c1cd38fd62a52482cb0f9a10e475fa8eecf7f12ef73aaf1b75e +AAD = +CT = 73e604b938c3b089922d2942d9a567253c8c27fe1dbd185b67c684e634f260acb1e20784e402a1d6ea3a11af39506695c8dc01 +Tag = 3b986d4d + +Count = 6 +Key = 046d05cc040d5170c536eaeb28bab1ef +IV = d59eef453029495e1b47b9f4 +PT = 1d154181dd9a936f08ef016685495b8268fa9a9512b43e72cd5c72aa25283c2be8fcdc762e8e844e1ca7e0216b5b33255ba30e +AAD = +CT = 5f2277939be44f4ce12d4fba8e0e875bfd23a2a7de5221b79e82f97abe4a4af9f109beac4340c79938f033ea1539b42b043e11 +Tag = 827c3b0b + +Count = 7 +Key = abe900d9b2a73d28b831917c19f847cb +IV = 7f4f36673e00a7436aa62bf8 +PT = a801bb5cee2c6732bcee9a9d2d173ee1abeb173191d2f29d1abe23e30d79f3c1e31fe07d5326618e006e9ed73e9cb2e8805c69 +AAD = +CT = 36071452f9470e4b3c7dba91f36eb820d11a59d4b2426254641c47f49f2f96b78913ddcbfb8899368003856d1915ae5e715888 +Tag = 90febd78 + +Count = 8 +Key = 3061c40ef55ed8ae7efe32ef4e6b3c1b +IV = 6d8f79a6d47cd61a2f2743a1 +PT = c045c90512a164e12c5f21a24de077bfb0f183c7c7e6b3c99be2cddabd4879dbccb0b663e27446160a33e526bf6c6c862f3536 +AAD = +CT = 77b655ad417c4231aa4d4bf8eec29def77c5248a75253b21a5fcb09b8bb6893f8f47976131d91386f0595cae4a8fb3edca072f +Tag = c8c5a4c6 + +Count = 9 +Key = 8501d8cf360dfec404c1ecf8a8786c60 +IV = ccd6b67a2650f691556f421e +PT = c2293b48f9e5d5a2c1d9721f392f5beddd8569463a925fb32b31cb8ba73e4a90f4358cfdb2474b5dca470519111755177b5d0c +AAD = +CT = fd59302d7bad8923ef7614b1abed5277bacefe11fd91019b70f419593633dfcdabf9b82a892b538b727bc8b60b1b1fb7cb7369 +Tag = 22070f43 + +Count = 10 +Key = ce29269f416c0f24469dbf7ccc264c3d +IV = 0c9ea84530e59b45d5fd0361 +PT = 837b3c7570061b92fb64f03d8ef8efe1779a027749d58b3ef4d8afdeafc049b299bb6ac82b49f9d9d9e85f3d92b71d60714cf1 +AAD = +CT = 6ab2cb1f760e2f2ea68f4f02d5a7848445c6cd2e2734a454425b01913575003cf10feb0f93ef1b26b0e09bd422ce49f789f667 +Tag = c1633f47 + +Count = 11 +Key = 863b1ddda3e0cca340744ad3e238ec0d +IV = b4a23df3b63c52ba99365fff +PT = 6ea7f0e5eef964fa2d6f3060f45aa78a0458fb24a130cd7705d124df03889c91f0f5ae76a1fb37e01d3ed1659dade3b3c92495 +AAD = +CT = b01bf9ecef8a277ea1a305762c84503e7bf13e3e2bb602fca9b25b9228c68e670f924027e68e08574cbd783fffbd2c450861fe +Tag = 54542866 + +Count = 12 +Key = 4c3b0d65a93cfbb3e573326f494c4e42 +IV = 1f9d0857e4a89de9db959a8c +PT = bbde7026ea7f7fac6d88ae83738eded197e989c12c7efcd6bc98ff4a0163d681df8d4aff1e71d629a52e9fa78a33d48cea1b93 +AAD = +CT = 3706551a5d7eda3772ff6b084a2274e7fe2f4346884a6ac7bd451db6f3d74c14f7fb16ca43bf4a2b735d95cd4bf6808a68ede5 +Tag = d3dd5818 + +Count = 13 +Key = f003ad337d6d6a16ef804a4075da74f4 +IV = af33091ae552ccdf0992a57b +PT = bdfb3407d4f81df055e2d1db2b9252110fa97f6eb4e4634e06227e346a4cd1edead44284863a7689987be61c6ce73cdc9295a4 +AAD = +CT = d0c59d13b309ee929651fbefe8b8afa0ee3f7df8399666e30d43a752a533c400702ca6e770fcf2e321fe0f639f0e9f31647626 +Tag = 8b3cca59 + +Count = 14 +Key = 9b414e99beae742278d78923e4590b0a +IV = 5d75b9ef7f6df02e94d87a07 +PT = 781e6ec30034d99c9bca582e85f5451e82ca4c5aa7c9c7ed07aa2a27c57b69243205a774a4466d1a1437571aaa47646ddab90c +AAD = +CT = ce27c879a04f7ac703aefe6c5881af12a882d0288da47e6459a944717775596c786836a68e273dac91268110023902e44664f5 +Tag = 59d6befb + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = b61553bb854895b929751cd0c5f80384 +IV = 8863f999ae64e55d0bbd7457 +PT = 9b1b113217d0c4ea7943cf123c69c6ad2e3c97368c51c9754145d155dde1ee8640c8cafff17a5c9737d26a137eee4bf369096d +AAD = d914b5f2d1b08ce53ea59cb310587245 +CT = acfab4632b8a25805112f13d85e082bc89dc49bd92164fa8a2dad242c3a1b2f2696f2fdff579025f3f146ea97da3e47dc34b65 +Tag = 5d9b5f4a9868c1c69cbd6fd851f01340 + +Count = 1 +Key = 4324c97ba8c9f2a1bd447bde5e75938d +IV = bcac68106a3fc22048462bc9 +PT = 789fc14b7d4ec83ec783c0ef38faa6706031ade4e65ae91f0e1c579b8c8652e94e04c4ee5d85d23d0525c133a93a9539448ca1 +AAD = 2a893eec2eeef4c2e9c305428b9e3293 +CT = 2ba721de1aa7afba69cd0fa492fcad5fe639d855c1f280802b9cd5dff37f4bf54a117b8f400cb63906a3c78cdc1ae98b0c30d1 +Tag = 171df263a72252f2c44f5a63f089adb1 + +Count = 2 +Key = 51e42ceb83175d1df09b8385a84fbdef +IV = ec6b7f21db6eb16ce87f89b0 +PT = 4c5a34b0acc8745f45c04d6c82716b83ec6be5146d1272835ea642b49f55353fbc72a3acd16624e5377cbab54e356e3af6be01 +AAD = 3a081b5734537305222f314ef39a8d20 +CT = 1b4bb70f3ed38f378e29edb7e65081f794725a0340daec5708a163a3a81272ac2bd4b3e3db8f8ad57d571b5eb24af652e3c87e +Tag = 6a9f2a4b73290fc566f37c286887eded + +Count = 3 +Key = 9280e05a614d452f407aab696afad52f +IV = 099ef02922592254e44517cd +PT = db91108d47f266dd9371698b194b3a183f2936782be417cf1a048c6504162d37e11a41e3bbfeb98f995ec8e35de94bffe0a363 +AAD = 12dc4da623d082c767a3f7efe9a6ebc9 +CT = 8ac070ab975218af0c22435174abcab01af5db9917095e67140b31feeb78b7d5be3186b4fc41f106303a519b5a32399d2de77b +Tag = 7811b48513d9bcf1999b52304492b0ad + +Count = 4 +Key = 89be3c09ae7e2eff5b63f913aa8b575c +IV = 449d852d65585185bc4298f2 +PT = 93ccf5d907dea9b0fed5507f8a26400d0a568c0ef53b9fa6bf9d6802b20fe672c9a9536fc75b85f08e4d2c45cf032422f30ea9 +AAD = d232713c2b024b5affd4a15050dcba41 +CT = 5b38069d695b76a609318e93cde6e239465ac52264017c3e5169bddbda0d2ac76ef0451a3a39d07e8e8da3b0cd2ee808912b4c +Tag = e316e6032fff56e5242caa1b4ef2bb6e + +Count = 5 +Key = 04cbf7dbeba906e1d0e8a98d796e8613 +IV = b58059139429a6a6a38ccb07 +PT = 8890c63ab730d9135e19ca3ada35b34a2d5bd9f4968d60e8c65bf43f0d6def7de472c26b89af9e5d6e48c125d84b0fef7d194e +AAD = 7532c6237ba1da8b99c4a091c5159eb4 +CT = 52bc0be1920a4f1fb3ba3f9fc3e7969c75e40fade163897428f49fc52b6feffb61b65344ab3ac995e07dd5f615c24b447df9a7 +Tag = 239b60518f3c35b24c2557549179fd36 + +Count = 6 +Key = 8f1c70136852dc27ae5162b8743c90ea +IV = d372f92b0cf030aab042a6fa +PT = 0b6446af88c455d7f1ff5116c7af949803cc50bcf1ecfc81c6627141a42b363f7eb7fc628503bb6f037dae843fd2d319b61118 +AAD = 7eeff5d17e79f00d68e26cb7e6bee76c +CT = 4f235f6cc2c0474ab50557e2cf612ab09ffc85975de082b9cb9649a522b8a47f24e1b2c48f3cd57dce49542bd3560fe5e44bca +Tag = c541b78244efd2b9e61e75296f164aad + +Count = 7 +Key = 1ac69a35f749c65d5d27ec109b58f336 +IV = f0b9c6e8cfc7ba4c880d99a8 +PT = 9695507b944865587f27395c74468af6a845716b34db61e437b77d0107387b3fda581c466b6df40948da35906b77ff8ed09402 +AAD = 251d75d69ab64f1363efeaa771f3dc01 +CT = f41dc7402768705dbe3bf7cdbeb4fc672d3a6c3d65520dab3082727dff084b6e0bab17f96c2b137a4bd564a13f77ee37347383 +Tag = 022edf7437b41653db3bf2479a9e74a1 + +Count = 8 +Key = 16cbfdc8f9900f6702a430b0d8b624cf +IV = 28dd5c46e03680f2c01a7bba +PT = e1562d6e6a469cfd9f0a6a15be9a033cd454959ef8b37b2da58164fff1d8dbd3fac2b97bf1b503046fd9cc68bc942d0f727a3c +AAD = b1bcbdd27c0ef4de462fce0be8855a36 +CT = 10915ff87b80e42d548950e53ff6642ad44afa695175d24c9b5197f64c15570ebe0bc969c0251be940b42889464cf562c3e1a4 +Tag = f9606f7a0e41153a1b45c25f1784cace + +Count = 9 +Key = 4c12a54aa7bb7a0c0c798834f39b3fa8 +IV = e5854fac9adca3bb1bc549b7 +PT = 7e7fe58f9f13907a694b47f053c9270c2e4d73b52642a71446943a5c5f3e2fcd554b376dd2f549aa7e0737b62c6414f542bba2 +AAD = 7f42a7791e705345888f00573be98980 +CT = df46d7519910899b7c3d9e7d0dab82c93b7d8ee03f4f5aa82ecf64cacf3c9fb58f17a021536028744e412770e57562249e5f09 +Tag = 2823d4b59cf8f8837bebd5efdfb92929 + +Count = 10 +Key = 32aced5414e267cf77844c0acbb8872c +IV = 3d108e912d53b88e0dff9d6c +PT = c7fcf53c93a521c6e244f203cfc40b80bd8ab1e4e54cdb581fc14c31dc6a93805edbba32a729acf1a7c04c8b0366c2035c65b3 +AAD = 7be4c5df7935453d50f1c6c79ae6c13a +CT = 80beec8c20c7e9514c38ac6e3775de206754433cb1d7c89bbefb33b1b41245e0d1baf7cc870b1f1ec387f2dded3e0f479ef160 +Tag = d97f7d82b3ff97f2f6c652194c004748 + +Count = 11 +Key = 6275270952263f5f008b16f2456c7ddc +IV = 1d1837ea4cb3732a6ea6487d +PT = fd4de28a18a3de3b9660acf08eeac40e192b77c5264c80651c28628e61c3916f7ac03d849ae39c981a2808866a8292746a4793 +AAD = 6ee8ed2ed241f1d7cee55ca67001729b +CT = d69490708893f1638ad594c3a0ad8eb4f17da3203b18aced930976ee1abf4df1ae8a768ddc9df6ccdca2d579165023e52bb9d7 +Tag = aa47cda3928f7a2ea42feae4dfb0800f + +Count = 12 +Key = 7796d479bcb213f19e2ed73ef1069fe6 +IV = f0ebb6fb1df60069b00a34c7 +PT = f72603b6e74bafc20f423bea2a1036ab44461b5e5a5631b013573d953e1fb073b855511860d1782c1f3b146b5c41eb946e2fca +AAD = 87563b4d72e2f2c0094bff678e3b7975 +CT = 44c4d7ba2af1be22daa6352b58bf8cda28999bc33c420f8881001719fe639a9e9e5c48df120f7cbe73af4c1513a637b9de33e8 +Tag = 8b7002219f586318150132e0e5cbf2e9 + +Count = 13 +Key = f7c50f29479ff0f9945ab9df56872eaa +IV = 1bb94d7b399eb7a9a0efaf6e +PT = fa86691b746424b3426dd9ce8cf0f132de5c575e001701324ca7ce474d5813a19904591055fc7f343e20d0f4c92118b14ce774 +AAD = 88a9f81078d6a0820c56c582a30333b9 +CT = 55024fc5e95e5f7c33bf948c167b13382236b2cf187cc09e37dce043f6293fe457a1dde728cf407c702d75a670397ffe28e8ba +Tag = 645ca60cfc8046a0253f438e69b8e47c + +Count = 14 +Key = f3e302a1568a5340b5745ae87f5a5bea +IV = ce41f436f2e84643f673603e +PT = e4abaa66875bd8d45b6ed5e7671b03e09423ea41b7d89039da92728151bd690ccdef4fa16392a7f85efc0bc2b1664bd3f15e77 +AAD = 87ba36d234ec508b308ff258c6bd427b +CT = 123b69b2d0f10934da3fdb5c1b96b4ffc8ffc1446088b634b38e145e6dd98e8fea17214b5c9136f039577d4493b8bcf935ae19 +Tag = 97ca8cf064a408c7b764cf32d3b79c0a + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = b2fd772487a547221e55aaabd4750949 +IV = b1a10e8336561d4d771d3edd +PT = 8c168466c3d0b8fa99fc5cce529c3ee760f871dbbda8af23112e68907b748d63cf01677b7a12700f0e00ce6bf5256e58a559f9 +AAD = 476706104ddf000bf141fa13dfa1e1f6 +CT = 5e7b9545df2f794f0f94a06f329b1025d8999f467227d36a4428955750dbe2060ebeae418fcb1763e326a2dd0af59eb5c6cbc6 +Tag = 5c41524a5bc303813e6b669198de8f + +Count = 1 +Key = a9da3ea8ddd97ccbdbfa3a8e040409f5 +IV = bb353c714a79293d96b72575 +PT = aaa85ef7ac769d5a45644c1e6d1e46ebdc1f424dd293ecfc4868bb5ef0828d9b3bb96decec545f77a26dff35c998c4c693ee4e +AAD = 7f36c9d0404142f9c4a8728003ac312c +CT = 15a0ed27f48e14f36cc0793b616ef1ee40648336309bbd9e90aa3f9707f4e93a46a760d0bbf56390304acec9032a0c87271450 +Tag = b29e5f8476377ba5469b5ee7639250 + +Count = 2 +Key = 2578424e13a109497db5a88920a9a184 +IV = 4296ac81e2515327bf0a2453 +PT = b2e97e7fbd2b4bad2463c8afd93f34ec4bf27d81727d01d43670da80bf6cec261a04c3563fc86416ea72ed35d4926ad81f5e20 +AAD = c194e255bfa4401d0c9d50866b401947 +CT = 4a32fc1f841ef46e5c5575526c4e1cd4b8709aa7a68e4df47ecb344528911eff47624a3ebb80f0ce14fa2b1eee8924553651e7 +Tag = d369a6fea709d006c81c8fca08420d + +Count = 3 +Key = 960bb887ac3301239394f18b1844b039 +IV = 3f5eb75d5cbc38a0f0bc9f85 +PT = e158979539133229b3b79607b4df3e1177c4e6df12fb0a0c83d755617849e9032d79a664eae88611665ea90585ebc01f85eb18 +AAD = 02e66c03177d9e60e36658e917205acf +CT = 1302fada42175c4ef10b4a310e15eef475f14c6c63f374409e4122b0be4baa4c366dc46808bc7f4d0844fafad3e6a70c2d69f1 +Tag = e68f2ed2ee0342961ab0ab00717ea7 + +Count = 4 +Key = ed731ea335782c9fdb044d62191203bf +IV = 00f6b67bfe98e9620b1b9d98 +PT = 6e78197c035f3b2adcd3b33b92622e3f12ee36e753f4089fb96e614e1c68621affe592c0639fe4d54233b9ea27eecc5380f95a +AAD = c80e071f80dfe0de93bfb55509f36333 +CT = 4223fabc5f3d0c87739a97edeb7e8e6b23580386ebbbb204087e9eba8900b25f1deb3cec66ef3248166817d2c38bb2be6758d3 +Tag = 31606d21fb772b6c09b632f16c35ce + +Count = 5 +Key = 474b537fb68e5337b2fc564648bdad79 +IV = 7134544e41321f4026707298 +PT = 55ad268faee4a03156a8c9b0de15e04a4a2e4a42226da111b3904f41ef22a4789a591702e44977424886c342700d33b60724a0 +AAD = 8842daec6b2457ff1c58d899d19c52bd +CT = 17ddb129eb960cc13ea1b0b33f3d7964d15e7c439d1ad6786755e1d2952ef1bd759191ac3dd262c6e249377ca137fd1a9a6252 +Tag = 72d45936829c807d1dfe5c6cd50fb5 + +Count = 6 +Key = c0ff351317a08ac04b1f925e416b5c0f +IV = b1c8cc5d64c9199a34da1db6 +PT = be1e3ad747afa026a37fdcffea185cd3aa6b6cc55c6bb4542155af1ac03fd94425573902914426f2979217d513369e2ea97347 +AAD = b7537509c762449b29e589947b2be7c1 +CT = 53ab8587aac7fa4d2b0d9c2ed09c644b2b90accf8aa4c478161c364dda9d0924bf78b40e9d072b41830bd529441d9a82cb2150 +Tag = 192275948364b24c436901402a05a8 + +Count = 7 +Key = 249d4a293208ed40719585424a55f847 +IV = 9ec9b4764b6e662535b74b43 +PT = a3082a21d7a8f2d10a96d7d100ac08c689728f3adb41d5422629b140bad0858f64420ab36cb9e78ede185509c436e6a177ea9a +AAD = dd4ecca9e119422efa29fad51152d5f5 +CT = 07dd0c8ab416959863f6a79f876039c01a7b60443e40be3c7fce334f59f85fa40112cdc7545048f652861bda7f559d00a31af4 +Tag = 15a351f130a9bc46faab6e712b201b + +Count = 8 +Key = 7ad87122ef0efdf78a9ddcbbdcceb970 +IV = 6d35f5ab5043965a5f88f6de +PT = 4ffebd1a8feaa8a2218851cfc10e27094bf379db574de5da59b1ecb32ba246a3a45eeade8951cfa20816001de9a770cf3c792f +AAD = 3971e219bb41ce2c9ab541deb7ae2568 +CT = 1336cad90fc2fc8b090b366a37aa19892f15a90b07e35ae8e0f1e18db46f47cbe629c2fa4c14a124a8efd8f07db020773adbfb +Tag = 66d6e5feb5168b6141a7f296090cd3 + +Count = 9 +Key = 02f4ecf5fd34c1c809aeb6bf89fdc854 +IV = 604fd7150dab208356842a52 +PT = 5c4e496bae20c0c56054ed7cff3f81e5a550e1a32035033cdab62353b1f624b23ad57ab8ef0c3d74e4d3fddceabf7180e88e15 +AAD = e4b76c7274e732cd3c422c909150a056 +CT = a024576d47748eca6ad23668652896d75948a5e7120d544746efb30ffbc9a264a460c0296cb290513f0788c6892cbf69193a6d +Tag = 03ab31b8d0095bd0fa389b4de0a087 + +Count = 10 +Key = 82f01a04cfcccb7401e28cf938841cfb +IV = 77c3c1302436d2a3c5483f7e +PT = 30d06659e73e15092525bdc3f8fea7c8dc50f6e7d3e8270b7ada54a4c9f16d82f48b0517028a094837aed220eccb64a2eee749 +AAD = dc0a9435c5b20f21a56055e7525fb97a +CT = 69bc0173c9c895b225e19c899bf3f846f8f58c550446f0cf3902090db2660bb39c35b5459510d5d4bdb7654e51ceb5dfcca237 +Tag = 97aa8eb35e28fd39485f2feab30a6b + +Count = 11 +Key = ad559ad0dc02087796a214d5130d30a5 +IV = cc05a4e37bf775f4c7b232c5 +PT = d5ac67a2b49e3ecb53ff45adbee8be896d6b5649d7db089040b6becf4b9f808df2e669e01fc205e72caa1a9d0783f03e709cd9 +AAD = 513c72ef3ed916cbdcb0b7128837bcaf +CT = 4334c0a75c3402951a97987d433a32fd19eba43c89d1eafce4f55673af53cbe6cdc2ca3e536cf7f64bb13e095688373e402889 +Tag = d47cae10ba6a3f26b58a24826bffd5 + +Count = 12 +Key = 72e66776a516aa17c61b9233f66ed598 +IV = 1119fd299b305f04431ee5a5 +PT = 1d284dd811120f69b9a049231a0e69190f539f2875f30dcf3fe7bea5ea3b2b30a50497ffdbd3189651b7e28aede144942f466f +AAD = 113aaf12f529b72450d12423ed4a1ccf +CT = 21284509058106fab887edacb71b35105d075468d24357278baccc7703010e0cf86fe6490c551354bcaee7c944334d502a8aac +Tag = 310cd067833cee6386b3d3512cf599 + +Count = 13 +Key = dac9dc211ae3d650b8778010bc8201b4 +IV = ba3137defaccee64a7455b66 +PT = 7daaeca6fe0f1dcb55c3f88217614bd690a54abb58252394c97da153e5ad9fec48d3dacac97b96031ab9096528fbf05fd395cf +AAD = dd3bd90afe0599167b42f4bd52bade58 +CT = a531d7c67a26bd14a5e16b22964017d8bd9afcd0078d8a91f7abb4ba674efb37e7b734af579e371ec03d96c3b0e611a45c7515 +Tag = 57dedf545ed20b41c80bd1897a3924 + +Count = 14 +Key = 09d11ad7565449f7036230bad7208276 +IV = 683fd2aa05e481fa230406d9 +PT = da4c1d4fc9120d81661aec3f7768d97e299b174c3aea152f19a348a90876a60d573fb24fabe1eb1176545bd1e6fe833567cdf8 +AAD = b5b748d0a641545644c234cb856816f9 +CT = a3e70be9167936c099e170805d2e689c5c8029fc261ea86df4a3159d053947545ae0baffc2097a5be7517f4269532ecda0f9e2 +Tag = c2085a72bd4254decd9807326c8f4b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 4981931fe54c0ceb12ad9a900f754e2e +IV = 42bce935be8b534537ba9811 +PT = 83f30548afbcd03f09600763dff95d9797ed4684b2292accd738cef418863962fb5e08140bc6207eced3884230ee677379609f +AAD = d2d91e639fe30a02ee3f968c452b2995 +CT = 1e989f33f03dcda1e42ef5797c6705f86236e3342688133b7158780756c87e84fd1a31cdc4be0d1ee3e0f948d631436cb60ae7 +Tag = 1be225d442daab0195aa27acbb92 + +Count = 1 +Key = 983af9b0a6622634a51bf0fc976ba32d +IV = cc108c07bf1f5cb424cebd70 +PT = 16761b4bac5228874086cff879ee351a18ec1f857e0d80a7c3c797697e127f57d325de2903b7dd23632b7dee1323d70b582d29 +AAD = 8d2a6ea3a9da9c17fdb04095fcbd8bb5 +CT = 09dae0775067ec5f710aa092458740bd8556fbedc0e14b452d9417a92b2ba0e16ecae29d7fff6ecbb87afc6524a685c093674c +Tag = 8e9b89b95f7df9dcbc2f0ee148b0 + +Count = 2 +Key = ee06d9f195bf5b253a6430a425fcd426 +IV = 713c4babfcf2d180c3466809 +PT = 4a26cbfb180160c98e8ad524801337462c709c9c56f6767e97a7f49c65481e900cfe78f53ed7f4868c7eb5cee70ac3769645d5 +AAD = 1fcfa6345280a9b366112ba0f041b886 +CT = 7f2001993a4b53114800a5260acd4a0eda5265415557b3250de6154e527ba93e26a321a504b3286c4eed4a59f5c99ab805f2c4 +Tag = e24e4bf659abf045b4d52f9ae3b6 + +Count = 3 +Key = 24ab9ffdc3529469c18b6b1f440f8bf4 +IV = 8a3546948594679aacaf66c2 +PT = 2c584412a1a3b23c11a27eddc1df41943231671ac5826b40544e9d721c8879f3ea99da379940fe59173af0f1239603a2c72c4a +AAD = 512a09ece8624c329fda5edefc97de6c +CT = 8a60a8348b01987a50e9f2fc8bf32404a3603a5d7a23e11fc7a9d71243442c60191f36c8b6c32b675b8f344d534b275a67f58b +Tag = 82680070e194e2c0b54e3187301c + +Count = 4 +Key = fb18636a6f8feba986faf7222c731ab4 +IV = aa7ac5497a2c02bb58f94b7f +PT = 3d6b19ecf2d1a3d4036737c072d206e7188b146b29ba52179371c7fad715d806bd96728dc32ce1b714af8cb6cc07c52b2ae4da +AAD = 7f7030a36a12031148d0406bc648bb3a +CT = 3b1b697874829072b44202df0917baf11953a6c200d2ae789f03ad63a68b27165b24dbf9b212a0a68a251c2248c4d0ab36c638 +Tag = 5306d447e1cbd91ad413e0261066 + +Count = 5 +Key = 00ad07d28a82fd0d896f4157cf5131ab +IV = b7da54f991428024a80e2e05 +PT = 7231e5aa413e06ba3ba549b502c4c84126fc10092c0e4d70790bf20fb7fd22be2078d787c1371a753653af06812a0c75e6cc6f +AAD = b4c5b76286bf1a9b8ff0485b85e1394b +CT = 7bdfc6dd3b3f08c12b05bf0703f75a741d9fbecf5a562ee9a204975a527a6976f32aee22026c568f8225cc71aeb5edb1105a4e +Tag = e5344e3f78870614fe2477ddc1bb + +Count = 6 +Key = 9c93c47cc47128cbdaef21973a88eaeb +IV = edcce54e80612868b0ea99bc +PT = a42e4eecb6a582162bf7eac38d49082549f027d466cfb29cdfbbcadbf1d0c44f36aace5adf46b9808b8803cea9f915bba2ad28 +AAD = de024928a8922117a68e4b52c58d9448 +CT = 78225f20d90affefbecbe679443c0af39197a2ac5f05223e9017d416362fa7e582ac8e551cf8f9aedfa41ad1e2a448ccd1f801 +Tag = 929e9f6882333a0118612040a4f4 + +Count = 7 +Key = 8cd90757b7f25aabf4ff7b49cac2552b +IV = 0d32b4d5d234ca11721da785 +PT = 4ac50211eb72b2f461e652ba0829f9542217b1b1ee3a74eae841d7076a738883a0936dbee5e539cf24785f8513b7441bbf3381 +AAD = 80e980c554eedd53924ef01bdab16b86 +CT = 74e1926a05e7270394913cb60e96bf5cccebe1d738c1a6983af2768ead4b4522c8e14810a7889bee59a397db740457066b142a +Tag = 1b262df318a1e11fe826f5a43e4a + +Count = 8 +Key = a66339bed2cc46a98c5801356bf2219f +IV = e953a7cd0f9dcde52d62e4dc +PT = 53e204f6d7cd1c9ce3c9536152da8e638cdc9ee9dc9c048561c6fad097673e05d3f766499c48c99f2a718582890ed7fa382bf8 +AAD = e7353f372e585d6c5a0b9aaa5d1e30e2 +CT = 8e7ce401f645b4b63256ffac072a0d3571c1db85f8500b0760882cdb6f86d46f7591c7ecdbd0e0185a5b84a672da8b0ad06913 +Tag = 4285ee56933d97c4c10d9834af75 + +Count = 9 +Key = 2f71defe14abbd0569a73441227fb93b +IV = 2e5c8ddffa0971ee1fa567c9 +PT = b100ac79df8753c4f2f6059360c603a6839ddac5c984a84f45f90e99a102b6e7864af7c929ad088f73e50409185d68a558ba23 +AAD = d36413af12aa7ad52be09e6db83dadcf +CT = eee79b738fc5b5606ac18aab5eb67cae053aeb986d5b053a6f11960874740a975fe9e91cd70132bfc14dfb7312e9ead9a233f4 +Tag = 00be8668f3b072c6d4b1587e81df + +Count = 10 +Key = 182560626d8f6ea891977aa2b03e0cbf +IV = ef418fe46c4b39392e7b84bb +PT = dac2337d60510a583149e573b3973821dd904e13a21dffec1f2c6f7aa249f23a2ae37ec1f3a1d388be55f812625578a9c3091f +AAD = b53ee26ffee07f5fd19c3c01af887c62 +CT = 3033a1fe367bb2565b4d9e78c76ba5c5f5f99d8e3a0a5df7994abd9e5ca141c11bb7057225cb0a03d0fb8baf134fe4b76df791 +Tag = 4b08b60c2d8539fa024a57f13420 + +Count = 11 +Key = ed90b913927b851e2b8e2645ab12c046 +IV = 3e0078a11dcf902b1335aba2 +PT = 2a7456bb64327135be8cc89bcf23f9c58c4caba148c1855d31f68ad457645a68bc4bd3a0cb3d0edc17c0116ab3973aa78b8c2a +AAD = b85d8cd8185deb1f2939b34da528192c +CT = 2bb7944a79da08337e11910fdd5096d9f6bac8a6b7650a08a8f90a08e83babf85d06d7306612648162e77160f711640bfc1255 +Tag = b5cf8755ed17bdb4ebb135796bd8 + +Count = 12 +Key = 792ec63db9c9950cfcfa56a529f856ca +IV = 566b5285aca32ded6ec03b55 +PT = 0b03963c963e03d12042f215576d8b5766b8f72475d21417c80bf452bbea1a5d832cb1d311b462b38c11281882534a7b8a35b9 +AAD = 83e62ecd016eb9d4435189b0bf39e5d8 +CT = 3cb0d5514b96477758418134eb2be0dccc1b3509c4cd5d6f789eae4019f1f525768f7c8fde259e4e68eea9fa361e7dc431f0b8 +Tag = edfa64ff31e199c1624d28edf99f + +Count = 13 +Key = 39d4caba02cf85023f61c222c4d04efb +IV = e9c4b81110fe04245e6e4ebf +PT = 106bc66a1a23d87961cd08dfa60cfb5d595a4e9d91b1be34bdee1fcf74853d4859122b0b5b8e6bb6a740f4ee8d45c5ac75b0c1 +AAD = 9aa36c71a690ad2aa565c2fab2cb3108 +CT = ee8e7b6c9de59a716c31d32a26665730a1a3f3fe6af07bb2f1172357075754aae88275afe2074e3398557ee54c86b2db90e394 +Tag = ef0587378c5dba0cbf703e9d9bb5 + +Count = 14 +Key = 5962f97fb8f81a9efbcffd43447bea35 +IV = d321208d1ade365fceebb285 +PT = 373e830a9e1013bcad3593e4f0d2739b4975ff962e1a2ecdbf1fe1e13a3c3cd3aed1f1db10215744efadd3295ecebd0ee4c70b +AAD = 1cdc96b9bd3f44eb99f660b1d1d57c56 +CT = b74a4bda7922be2da08ef466a1a041cf83a4279c5f5ce0de3950c272c7b9fbf72dea82e9ed6a151dcf0756d74f266e7998de16 +Tag = 76e7fe62fbfd991356a24482e151 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 3c6665500085a438ecefc3359440bd66 +IV = def31891e5a1208e369bf13d +PT = 3c9b052cf0e0e1e6468eed05ed0dcff4860d76e2dd2c756c87d51ad5e3e18e13560ebee71e292afffa87f701573457faf389c4 +AAD = 7968d89440c0564953ad72ca2c5f3f39 +CT = 2d207d1648189e9dd9f55fc497ce291efea160814c75a1bd749c0e46ea7b3db0c2e8612f8816653912807247154c92ba2fc91d +Tag = fec0b7447e1721736de46be115 + +Count = 1 +Key = 9ebfb743c9b3ad9e42c2a9f730871837 +IV = 14b8f9aea8b3476fbde0707e +PT = 1b57ed58cbe5b6311d5a166f034533c321b068c7fef5c0e5dec20dee2e915e7866eded6968104b11477ad65fbbde27e8de76f0 +AAD = c7ca0a75d9d50b9925c9874a8a41295b +CT = 3b4cecf133b0d1b1307e60c2b924733f7572ebdbd71863c8eeb76c61d4c69cd3aae07f2a8c9a98711cf9612d9ebbaa2fbf46c5 +Tag = 8fb14259f351e721d619118781 + +Count = 2 +Key = ae2d75f84f78ac2c65c2aaee7049dcbe +IV = 5777049da6ca50fb82decafd +PT = e5e2e44159514151bc916bc5ad06c45ea8ada2f61637fe753aac3679cefe4221decaf32bdfc78ade3532f979cdf6f1876f7dd9 +AAD = 728c04454b48a285c57f0be0cded5e2e +CT = 709f7f0cb354f7795c9c87d57654a42823ce7fdc98f86e2d50ac3128950ba5752df3e509c20833fdbb69f49a7bf62f3002bd4f +Tag = ba5bf0ef8327b2e735d78882fe + +Count = 3 +Key = 473af2bf5739081ffbba625f3965e62a +IV = 5bbc19c08f90c4ad4a935ab3 +PT = ceaa0b066f5e7a43c7f80fbbcc03dd5e7acef399e65f833e308960cedce7af6629b000bcf38d696ef1da6f9a82b36243e9eb99 +AAD = c818d0961ac03fab889ed46b10044893 +CT = 49f38cb6f477fac7c08156a8c282a3bf0c9c29642fa9a82c6b5b41bbe587fe7480072753cf5e0aa76bc729ab53ac15e88b3e5c +Tag = 1e36c4b042f0a98c1703dc13d1 + +Count = 4 +Key = c629d1e83e282c20947e7da11839e01f +IV = 6761f9d167a4fd047e13167e +PT = b6231c6dbc1cf32434970ba37c9b822eff698351d6ca7ada0bb49a573146df09daa94115246f4c2a843e9a560e9a33611094c6 +AAD = 7b4f111d4bd5950e96b825292d1ec78d +CT = 1846bdd78dd587d3a47ef785b7d29358408ebaab8fa40fc108a8a64722114329f4778904d48fc9e89029e9df00a385baea62fe +Tag = ca88b33c57413518e1f4a6f822 + +Count = 5 +Key = d0cd653d786e2d3bc720844ed9a3ea2f +IV = 699eba5ad745890db7943d1a +PT = b0c4debf8ea35ac8f9d918521b5e460d385c594fef71380ff500461fa4712bcbfe99d84e7bb84b1e934ed169fb08853a87837a +AAD = 09bc1deec819f328097f5bab11b88485 +CT = b4f2d0da1da9b8b02c8b9b39f3a21bee8ca74e8d184cf3cbafc53c2bc30f19263c225c68ddcb877d0080aa932451f0efb9b585 +Tag = ebc6392edb127dbd19bb57c5fe + +Count = 6 +Key = 9d9e3bf396ff9c298531ac8ae1c55035 +IV = bcddb3ca0ea94cabc2b9461a +PT = e626e17ead8984cdbd6d424a98628954318077b2545ffeaa5e092b5da630e4ffcbb45b2ffd0c97eadaf28d55b2f80a539a75d7 +AAD = eadee3e39a5ed558891ab911830733e6 +CT = 8dce485a977289a4612a3d3ab7fa14736167936139686326177575d1b8f851dc5ec2374fb985268c4da76eedeff971f113ba2a +Tag = 73a81af35829763bd440687b53 + +Count = 7 +Key = 04f67f014c00be6154c17109aea2210f +IV = f6125290d4fd2e65a2ff3c61 +PT = 607ed95ff0a75bd6e35a111cf48adb5a914b20e56623169222e8e839f8354d74ddd7887b46ff3eb6f484cd421dc893150f3b93 +AAD = cde2e310afb2376fbe809ec66f81f717 +CT = 89be80f82f843a79a7e27f7d9eea05b34c6ee931da565cda1290a8164ea16ec649bee2f9564018478c5fc962ecc5364dde7c2f +Tag = e360c19dc0a3b144b905a7bde2 + +Count = 8 +Key = 558628f99f34c5e444b625ec731fa90d +IV = 6edf109d9dc6eb8c3579ee6b +PT = 39e19e2135b72a1b18281b22cc0999dbe04d352b6c5333292733b54bc3d905cc935fda94c93400076e2a2097cd72fc58f68f22 +AAD = e5df0595835a30e486a42b404a8f6c0d +CT = ff6c3c1d215608e51f0d4d61b9c4e78a27adb0decbda99277234306d769e63a231e51c44c6315c4481e883a313a4da3398fa9e +Tag = d67f15d19266c5d1b2fdf60ed3 + +Count = 9 +Key = e119e338fb20dd4b2a9c5efb49636a0d +IV = d5e892b03a786509dfc9e87e +PT = 9bf14a470fcf2615e0c8a4287193910892b60333fbb9552ec862fec2166619d31818bdfd52b98cf0e87b8f16d9e0ad9ffc2071 +AAD = 8a6c0ffef2a5e00f716a18dc3f8401a3 +CT = 9e7f089fd0f9ec6252560946cdada13daa30670756edb9adb1a19d5f524df3e28cec3418a4507eab895f961c0cf4554c7c6ae9 +Tag = 9efabb55246769757b584a1c9b + +Count = 10 +Key = d3ac341621c5acbd05e4cd57769d8df3 +IV = 9e745727bed3747c0cf9cfe7 +PT = 0c31edfa2c7481afe9266e181764e2b42764922afd4fc64a5d9387e1f12b4a776701cd653e55ed62643f4f8cb838b528b8b804 +AAD = 619adfaad92b3bbd35d39a52adbc41b1 +CT = 92e8af0e7082672465a54a9d3f12a2e6d3c23ff7e7decc11b0ebb8639f1efed868ccc4f9d4d812908e50d5c055ea6f9a7d447c +Tag = cbce1aa7df0286da03fb3ed81b + +Count = 11 +Key = 3c8a576dbcd7399532a2eeea4bdd77c6 +IV = 4100d1da07b370f23b4a2c14 +PT = c7a956f93a473659cb27dc832b144441334e262f007786c053b56a45095a7985b4363e2edb5d296ab479a472e4d28cc3eba010 +AAD = 43566425b49759ca265e596aa06e21ca +CT = fe1507b37403d6389752f0b0b0bffbaf7166a816c17d62b6c12f1d31b9c2b201b6eea620c4c94082e89050d901f004af94398e +Tag = 3d690d3b01af38cb88db84d74d + +Count = 12 +Key = bcca105f954a949d0f9b1011a50e58e4 +IV = 3e2822120be2a7a0c10f7f23 +PT = f4160f2d356896c99f4b972078152d1df2e167ffac25637ef0016e05750e32b32320684b3a8a518cc416d8985bb1b976804863 +AAD = 792aebc49a2912f8aa197e6dcc7270a9 +CT = 9c0752ea2faf7a909eeb9344855a6ce72499802621f04bee8664bc0baa4854860a1a7a796ea7b008db6ba78a1a6923140740de +Tag = 612eeffa552b15b6d52f1fa1ec + +Count = 13 +Key = 2fa2504079ddf4680d4d091b18ca36ff +IV = 76375b6e752490639206b192 +PT = 4852f7ef22318be8eecc6356148953d71fe83a74a73d7573689f772ed78e60f190531043f5a8c6068e1367667c98bc508a7628 +AAD = 8201135aae5cc7557c83bfe61f1b2aa1 +CT = 1e0b4af37e80cf2b32f31ba6411035e981320fd6641291d46fdcee4409b1cda2b0700aa1e5565cbc7a2d7ed4fd387466ee7fe3 +Tag = 7f7b3fe53dea916c6a6018383a + +Count = 14 +Key = c749b32971ef885d02ea562f8f0d720f +IV = 3ccd31698f97054dd6221aaa +PT = cd85fcf3a01dc7ff6691f72c8540b770f9f6df1dab8890d8df57a181bf6c7d07430f8f8f8495f1f8119eaa1f873ab58de3770f +AAD = 29615554ebee4a71edc02962639f0773 +CT = 8cee488b6a8fb1370d057870799a2fd7ae57c09e8d85e5353909446b1ec869e860d521c4599377be60e7ac42dd2ce7d6ebcfc0 +Tag = 0d5f7cad0f544156762264837d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 0493024bab2833edef571ce7224750ab +IV = ab8dedbcdc57f283493fe7b3 +PT = 5f6691c5813169d128e7af7678281085af09fb1ddacfc89e1a14cf14372d74eda6298a0772a594eb5a80a4c56b65744c2347d2 +AAD = 8aca2645dd27195855b62f7d39ace11e +CT = b5d0733ade2203f5095bff60c9f5abef7770e38a56a9699e9608a69969141a912a0b186f7cabe2dc187cb77331c625832510e2 +Tag = d34a843edbf8234abffeb7de + +Count = 1 +Key = 88d435810ea526e8841d51e8f2090a23 +IV = aeb0b37e91450f96dec65ce8 +PT = b2921e350b370e192bb93b40044f205883b8a7cb35efe30d984442295dbe1a644961100dbe63f1dbc89571aa10de425076d128 +AAD = a66b2c65214e6ca697833fa0c3ddbde6 +CT = aaa36cc42a935b46f89802ebe5a1c6193153d5b78726ae5e6124158f06c5fa4d0fdd0073e45e34b896d89e61d8647be800e24c +Tag = a1db4721eecebe6b2e3031bd + +Count = 2 +Key = c905fe82d3031bfecb421b2f32f88c2d +IV = de2560d34c098fa0b20a0cfb +PT = d307d0a552b9de1ec226bbc8bd0dca0748806e6b7012c197e0a1021651ab8e17aa013a2ca7d2beae78f5e0a20b8ef71964ee67 +AAD = 199a1a97769b6c5fd5128849986f7353 +CT = d99119897c546990813132bf49fcc80f6beee1c7a81ac3a619392f86b1f25eef1075d9e5ee0867360540cbc08f8ed98e8351f7 +Tag = 4b6c78ded52eed7083a61dab + +Count = 3 +Key = 0d879cf222ebd32b6fa9174058f52943 +IV = 5793510682b4c78b6634522f +PT = 93403da56486d56f067e2952186dfdf1eb0dc09c7eeb58526fd26a95fcae519188e7c92e57cf5da0e2c7881cc5fafbe0f1b906 +AAD = 55ac0ca93d836a052c4f3975416410dd +CT = f22f87f6acc13eebda67a89fb0e4db8573e6df28683372859fdd7007fe0eac78a77cbb053625e21850bc460d93cf7e64db3bdc +Tag = 8f63b7accbeece4212153085 + +Count = 4 +Key = 794fb050cdf24a7bf10b23e0aa8fa75e +IV = 56ee50c10b346f39c7140253 +PT = fde589691bd6f168342bdf015bfd0e428f7b91a7e0741e19b0edc31919945b391d175a1deaa24968cb47dcbda0ead766c86fc3 +AAD = 9004e0f8f1e980298d7eaa1c090275bc +CT = a75ea31fd97ed6bd9228fe1fa8d8a00440711dc30ab59d6d7733ee3f4f558db7ebca80a39513ad2ac094c81c32336adafc2f76 +Tag = 83719f834b2a8cb2a0f76330 + +Count = 5 +Key = 576c86f75b37f64f53a8a37aa77613c6 +IV = e389bf0f2cb64ad0c64c7eea +PT = b570496f00fa656d37d0ff711289483a6e531fb5963abdd45cd277d395562e1f4232cc225b1535bc40f273fcfca5158116fc4e +AAD = 643c454786fc31a70f27bdf1c3f2f53c +CT = 873cbc3b6b3e10d44469c09d6295e24947c780fa155ac19432cdfe894cba8f4d9d60e8bb8942e38e5e230b4c5f1a4e19a15624 +Tag = ccd224156dfbbb85eb922d5e + +Count = 6 +Key = 78964dd75995a61de53481dbe55dae9a +IV = 51d12b036d5334889f938eee +PT = dc5ce50a3cf070ba17b3087d2c75764d8423a48763d95948c5662dedc9e9fe8273839bda874cdae311838ab5d58eda1936beb9 +AAD = bc06bb8cee117f08792894da8e6248ee +CT = 888d9d827f907424bfc9796feeb661788603b103cb753e48070cbb1d44b6600d2ec10d4c3997f241ea15c36bd263b167146c21 +Tag = 7b2c1d5c3e1c979b18097627 + +Count = 7 +Key = 8259004a342f5d31b55dba1cfca0d5d3 +IV = 3b85df3dcc0aa758f18eb754 +PT = cc3e81e0e72219987e808bdeda7ffccbb1b92bfc1f656635b48caa7cda6a6cd3b7a539a4a3816de2382ea6300ef11b72fee9ab +AAD = 944760d626a8621d385456acb892fa9f +CT = c7cd95426fff65c837e686af029e3f972ae69c2492a00cb808882edd203443214da2fe56034ca21e17bc9c4d3ffb954330d8bf +Tag = 1f00410cca4a3e24925205e9 + +Count = 8 +Key = 09dea89da95fb0e8fce2172729bd6fbd +IV = 82bacf51e87fbec34d0f0a15 +PT = 29cff5d3a42574251ff2e64de47b8fa13798ff53d378cd510f6959e711d395348e43a305415d8d809d3f830938cd649eb19813 +AAD = a095f5b691df17b955f42e83ce0a37da +CT = 55375ed509d39c9d0dc32107342a520a22223cafa871406b25fa430fbcadb8e78abe7efde14b2db15723a23fe3e41ec92f48a5 +Tag = 158bdb3aa2baa9d2ef88a0f7 + +Count = 9 +Key = 6ead11f4b606e4f049a08b5bcd5e5b5d +IV = 5e1f11c3551ea7ce26f59505 +PT = 7d2def907718ac4ba17df6d8c3bb0649e800100351fc646cfd5b235d8cde6bbca8384e8969adb10d9ee5261de4de5d9ba299db +AAD = 88ea065ad3f9940f2842c4df1086e789 +CT = 26d7501d2b4c202b7ad40c33211af28aacdf59aa22ba899c7fc2e6ab212566ecec710854b84033d4c954259f6e578a38d01e04 +Tag = 9b88ffff2f142f01f71493da + +Count = 10 +Key = 862e31090a8abb1a7fb0d6d7c0f5f83f +IV = f935ee6710725b0dd64d4add +PT = 7365c8f1068e43ec5e5f7d5b5e347a07f9e2b895d6696554c9384d159eb3f6e7c3ebc1f409f7176a3bac137c957567b12657c8 +AAD = d1ffb2a9e2544da86a12bd9b7b23819f +CT = 770e38c77c65ceb62fcbf6fec9fdad044d20eb036e2bbfb9c7f7dc5292b74486b481616150a8ee6ff4c3ded236c7c5e558fed1 +Tag = a403af4b8a686257e7555dec + +Count = 11 +Key = 5ebc78f30518d958e586a7f05a67152d +IV = c1fcbaaf40f4b137d77aafa0 +PT = 33c43575f49613363d6e65bb8fed5494fb364a6eba972c5932022bc1f856b86fbd03fdac7865b15f1e355c55dac688e92030b3 +AAD = a86543af9b52684a390ddbf5b1f3c7e2 +CT = ed47ffcc23e47368db2ce3a22770bd4f81301c0550096a0de4efc15c1e2faac94f4d96595511edc5fb4b4df24285646c5399fd +Tag = 50ecba3af36840b851b3b799 + +Count = 12 +Key = a1d3a2e4d3cf09dc3b6c64c444f14290 +IV = 033c8fd4cab280327b4df65e +PT = 521c1b4a437cc45efffe328b863b9d49f70b54ef6cde7dade0a26501ee863e69cf266081aad2614dd00bbff7ee22e1079d59e8 +AAD = e2fedfec0400084dbf50d69644b081a4 +CT = 45004dae2eaffe703fd1de3660b11c378d74dc36e6338aa7a0a58dd554b18f36a77c789c6e146255beee0b7e1de028e768d0cb +Tag = 77c0bcb94e72530ac0b93852 + +Count = 13 +Key = 22e13cf07468b35dd63546b48af3282b +IV = c24aeb53896f8d9b24bd2298 +PT = fdfac25be0b7d91703497352117aa9419a2e08fe1daf753d3637ccfeab6030c5a1c8511d345910dc72737f3d4ffae3fbd7aa22 +AAD = 06377542c08847d040bd570d9846090a +CT = 965f02652a76e62e70767ab3667440709c820cd8fdba6e1ab0cb4cccdf993c141e9603e25829f1f8f3fbb01472b07bf2816deb +Tag = aa9555a3afca3301aa374bfd + +Count = 14 +Key = 6272bd69fcefe4105019a92193a04d6c +IV = c7a1690093323d5fb5ff60c6 +PT = 6834c6dde2e1d77df58ca0816f68735773be39d1ee63a7f2d3f2d3922d76ab6d9b6b69f8a01e3f43ec15bc8b13b88dcfe0aa80 +AAD = 51e09223204f5ec6a9d21656334683a6 +CT = 6f331c7966c95e275a9fe52eba56326ecf5f94f55bce90314de7e5f2a3854ef58145be712a49fc00bed60c15131d44904202c8 +Tag = a99e5aed07885dfbcfbd167f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 03da36ff01156bc69ef862b6ab797db0 +IV = 83a9ae8af0ced78058e2c235 +PT = d093d2cbff629a0dd6a597b4b6125a44dd771103f79201575e6df535790c2f8c29cce5c090f055354a2f0b4f0289657f851097 +AAD = fc8ebec58d67f769c8b0948896f510ed +CT = be4d0ebacf3a45f4ff71c58d8c2515044d0cf4154db8c635c830e016c44ce498bedfeaaf0c87c83adc08065d7d3231a657641a +Tag = 497f06fa6d7ebdea + +Count = 1 +Key = 28e490de07b47322a4a0b5c7d2694e00 +IV = 4de31d8ddb7ac8bba9296467 +PT = c9a9d57b83e08fa06cfb3bb7d4b8f4db1ff5586dd66c288fe8dd2024de1c5b13299ca5f1905289fb92511f9f97cc878b231bad +AAD = 15d48fa8f05e359edc99dbcc0983fc58 +CT = b525fbfdf5d16bca2511d0fcf9d63e6f5acd9620419e851ed3e3f93d19db296d7cc5baa82bddde21bdc31ac232158371d1f393 +Tag = 2a8573247aab302f + +Count = 2 +Key = ba831deec89adf05bd902e8223d12007 +IV = 4b1d5a7183ed54cec14955d5 +PT = a8e75ffd1f2f77fbe2b4e676fddd91cb40ad6991c364514ec8efcaf667926872eec7b59edef96f4eae12d053404547c09bd752 +AAD = 30257a95cb66b821f716dae32d63519d +CT = 5f6868bd16db7c14941255f31d108582c0d10839722b68b7d7010ba7f45d2a62c2eb2a30b8f4c5d135aee1ab96a36a3ac64acf +Tag = 6affe261c9e9de34 + +Count = 3 +Key = ec6b2893128a4768b1547ceb053ef6fd +IV = daddbf6bc82203cd34493d89 +PT = 2b508f816c4adce1046f8d34cdf9f863af9bceda3bb2210710edc4af6054f94aeeb3503daf7414613111599db17e30ee556cd6 +AAD = 3c29df819b6219fee290f69a9ec11f5c +CT = 8ca49c7645f61223d670297968b5e1d1cb51f5e03ed6d3fd271d5e4fcbf33e4f5d5dd79e09e97ba9f606dc531272ef37f64998 +Tag = 0f6433cd40d09ebe + +Count = 4 +Key = f38ee6b3d86524e97da7fa61b2f45710 +IV = 7d2879578edb2ddf9c8a02dd +PT = d0ec423fe764b4acd710746a483cbcff2085636995157f0d2361b863f5fba420081d87aff89bedc6d2cf7a41fa9e4d04923146 +AAD = 74665aa72111fdc3e66873a9284152dd +CT = 3d7c59542e1031fdf541e4234e670f55aeccb28d7323741e3fed49e75fb9b91b54a53c5667171469ada51d20fdf2a228a04030 +Tag = c52e6c7e3f180463 + +Count = 5 +Key = c6625e91e207d6d5378f5aaa0fc2b6df +IV = 868a5c2b8ef6e6491e5d8be7 +PT = ce471f97cd0a83925cd6075d8c7836de19729bb5a1cb62821e1504e09d4668874d3b3b7a4b1c1d2a9f0ec9a1d3e7c08def56b0 +AAD = c0fbb1ac3d6d805d7bb8aa8aa22c2068 +CT = 8b797fb67fb5ae87a4f649bd1c72a068f242abc5d207ec05040784b137fcb567b1b310cb7f37c18cc661e63fcf48ce3ece994b +Tag = b8299fe734ad7a5c + +Count = 6 +Key = 39c23d4fe2e64b14e95099d4376c33e2 +IV = 9d9b3e0a30d591f4a923d4ff +PT = 7290a0c3c2f041d1ddea9aa5c3b5c8146ed4063269d7aa487b76d332d9d3c11fa2aa0dd815a5d750a913a62f6f8300fc6a414f +AAD = ce5059887380a39b76d8d2d8eae20d20 +CT = e0bf0eb56aae6d976766d69af2a9b293dbd315bff532436c00d22ef0c2997e1872d4cdc879b6a731bd1154e27ee5fbf86788a9 +Tag = b0a75d24b85ab319 + +Count = 7 +Key = 4c2c40271ff9bda95d5d4f087333c1f0 +IV = 88c49dc97647fdf9475271fd +PT = ca43e72bf6acc9a673b6c609704872126ae06fc047c8a9f73a7287ee0377a8a883f38943b72084e495516e8449fc9d0b8106d5 +AAD = 4e45dc5bf06f2a7f0832a943e5dc81ef +CT = 887f62f6e633ebef5225b86435b59778750f414c41bc3ecc27921e681396a01dba84c890a60f54c875fa1f738f126e36ef397d +Tag = 42eafe448e46136f + +Count = 8 +Key = 96e0e8eaa8f8bf309cf04960b6e18f40 +IV = 9a477435532dac8419e79233 +PT = 13b32c341c0fade35d83ab5ea7d5c5a321f9ce3299d5ed78bc071e2e8255095fb5b596db4853e09b383b792605926b2740e44c +AAD = 1f81c36afd256065a7d68345ab603e71 +CT = 7f66aaa3c5659bfdc09983367fe51d9319ac0e667999a670f64c732500391ff7e4406c0371f0617027666bee91fe9cf7872222 +Tag = 87a589850799acc6 + +Count = 9 +Key = 10f15781837e142ce391e619b00b8d29 +IV = d12efc5331f0a2463a6f2581 +PT = b87be67a8d70e067a241df9e48ce1355ced03309b2b35048948fb47b4437df4b7988a9abf7ca8562dcd52e6dfd60bd5d28ced6 +AAD = 508c357f4a1dac590738bc800735cba2 +CT = 78d5f5f2ef0661dfad77839d455ba9a39aedb02dcbaeefbd1e3a4a182781508f490ab8ced4b2332c5c57745565edb8a1696b36 +Tag = 4961c940f728406a + +Count = 10 +Key = a714132b8a23955444b1c01f291d5da3 +IV = db35d7757c101356658d6bf4 +PT = 95e058d817c9feea52fc0bb2256c7ec2cd19d5264d4bcb93be1b55b359502f3a8fb4a79623d7791794b3c6e902dae2c43f4e80 +AAD = ddf64a5d83600d33b77aa34caa08d933 +CT = b4b369aa6563780cb625dcf93f909f5270ebe13d52a27adaed4ee2abd829e28458595ee0db024fe9682a2e695d2b8a314ea211 +Tag = fda4f2743ae71775 + +Count = 11 +Key = f1b3863dc0d9f396cf098fd9b402bcee +IV = d281fccc735e93abd361fdd4 +PT = 8532dcfa2ce8ebcd922cf36e4cc92f810747dae72eea8e55a983f652fdc314635bbdf919fa0df2eba5a957f3f60455ac02dc1d +AAD = fc253e9a585071e46225306e6fed59ce +CT = 3894b51d3f9777a2c68025cede60a1f311d3cd7792c8b376782368fa616c61a9c3cde3f4874265f11525debd2959aed2bc899a +Tag = 0bed77aa5649dde0 + +Count = 12 +Key = fc21127e194c83b1df7931dec0663fc6 +IV = e4f8ce346e90ea8e8887d4e4 +PT = 86d9e1b8457c8ca4c1f07be65f13f25fc799b6831dd61433cb7bd0510f952ac2acdf1a147bff0302007a2f397e5ea240500eec +AAD = 52ad0937dbb26a75f131b63b291f822b +CT = bb9bc8aa67454f8a6ed9b83a3a020850cbd50bcd09a9a9c201ae4851cf2233ef61b8847e788777b8d4d7b426ad3ba6a42d0d58 +Tag = c42f787bd72b3d7c + +Count = 13 +Key = 2685f299f900aa79af9bb3a36ca63444 +IV = 9b86cfcb9b634c5e2a1b6a4d +PT = c298cbd545b7beca7187069eff780af6e90af600bb49b01d4db650cf4434e3b6af3d11b8f3aa0aa93849ed8dbbb11a7455f978 +AAD = 7187d37f147c559b871a4255b80d26b7 +CT = b75c449b0b1b01aebf2bcc6e923d8ffa6457b26df284825160f0df6a88ebda7e6af87ef13d5a73f03a04f39626ff794aa85163 +Tag = 0bef5c24bec382e3 + +Count = 14 +Key = 3ce73feae5a548d3f785604c9ac1b07f +IV = 26b7809f85db3b26a323c43f +PT = 7d4c962c336b9ae42f647ae8702bc529e5867a375d1ccdc1c3f3fec636fb8924637287d2b0e8244ef11b7d59f60cc123aa3867 +AAD = 611a6abaab0ff58d722dcb936a1c8eb7 +CT = 09ec1316038a1141437de4ae02a00705d63de2f999aaa3df42082024e9eeead5652389aeb4df230bfc5d2ae901537aa5a7c259 +Tag = 16cd64f31c8ea14d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = c692470a8a7d3fefea6901db64f2904e +IV = de3f853639e495eedb58e267 +PT = 99132df39de42d3fab3f3291ed9a78b963b5efc70f5da13e05a8de9069763542ca66848e521fc8e27b0bff4c51a55ca5247740 +AAD = 28423be900993a0b594e5ad71c6fff18 +CT = 4e7eeb7853c2588d8a3af3283698c70ce2f360f3ad587145cf68ae8b3601d2ced5bf04c2807c7fd5222344883fd08e64b89d51 +Tag = 668fb277 + +Count = 1 +Key = f47c4d5989fa7e2a5804f6568c8400ed +IV = 5ce962728e63d9634a6bc4f7 +PT = e76207fd3979bd19c439bfe0841d44c8229ffe92f5fb2e21847f49a34c2fc3e689469d5ff06bf17765923bfef827fb4c559116 +AAD = 495ee4a53557157a3a90946b6ff0b953 +CT = 210623444da5cffdfba9dbfca46e179c5a595aa3b6c8b0c4172f6a81897aee6811542278bd979c8be732317e6512d561907c8f +Tag = 8dd68250 + +Count = 2 +Key = 5e9637fcb4962d15e9365b6a78f84f88 +IV = 4a6054182bf99b7103415b10 +PT = 2fe619473cfa201bac302cda24b5ebd6037764936d88faacb9b02959ea6c1821efdc6e807ac5248e985748b6bd142141fb6680 +AAD = 39824d41fbe17fe8bcd3fe3d632858f1 +CT = e7b8712de7bea631a00ec16375b1a8e845dc67452b0443bffa816db41158c259816216181890a45739eda6b12acc9c7c88e08d +Tag = edc6f5e9 + +Count = 3 +Key = a991854029af16361a621621a3c30b1a +IV = 99f52ab453f7fe5f085c7fb9 +PT = ba4189212f25b0198be5c4beb5e1a6d9c6d694d2bd09c7b6e2ca13c82ff46a5045432e6703e11a23fbccb25bd83bc0d70beba8 +AAD = b94b70960c45144118e5bb52b97f887c +CT = 8a8f55252ac892849c42ce6335828a35b14103b0f86804a911680e2c4f664cc0627018c86993846355579691982cb14705a47c +Tag = a19bf927 + +Count = 4 +Key = 9affedcbdaa0c1c46f0590201c67b636 +IV = 27b400215760f750e091ec05 +PT = 4ea087e9a2918812d669fe25189bd0f01bad4fd3aa536d6ca7c47713ae749dfb99abf0cf2be21dfe48dd3b0a920476e1a48529 +AAD = c7edbe8421507875c0867fe63ab5b486 +CT = 895a1fa0debaf4dcc04457259102107436f48eabefde2be5ae67795de73b51e659cc2a684bcb5b7ecbf9b66490271b48622948 +Tag = 70b15a36 + +Count = 5 +Key = dea2e777d3a16a00ea4a3ad8aac224f6 +IV = bed3b07a53b9bdf5d6b385ec +PT = d7bf8fcae6709cee7591a7a0d945335d567102b687e03008df4d167bf77dc6400cf916a89d7d5e4b5f384e7a10897654de1746 +AAD = f8b8bf89c8a8a56a5d983885e8a58f91 +CT = d3fb93f9d324efaa19fcd4d16963f58f84554cdf5a63215addb2c840b019d8f06d996e6ffaaa3cecb8f8ddcdb6f1c2042934af +Tag = f0b2a8cf + +Count = 6 +Key = fa02e6c51e463393c1aa725394b28fc4 +IV = 2da70c91ed629591aeaeb528 +PT = 012e82013f3491fee4d9c63e93c398d2ec6f3af7c06543b4bb01802c7c788cae121a5b2c35581898afba5d5165ce65891f67e9 +AAD = 10d2361df3153e5de99da2ffc585d6a5 +CT = 31073c97e73277726d83b4cce821b58d467feb706bacd6e049452d921b89c73cc40236da985b048002bb06dfd861fa125c61e6 +Tag = 2e023522 + +Count = 7 +Key = 3d41dc36cde13f179ce215e3a2f52b5f +IV = 61039a5be79e91903d187361 +PT = c0e5da028f2547a572889ddc09310ce44b7243b00580c29fee9378efccd169852290b9df0f4c5b6ca445dbad8853b4a2aa76b0 +AAD = 5b6801f3611b1b6cc71396f694b790e0 +CT = cd046122fe0f2f90dd558a31fad92dbf78ec7c6b5d3a25e227aba19d74721ec184583562fd626b94c66ab45f3962b736104252 +Tag = cd10dd4a + +Count = 8 +Key = 7f41b913f0d947af7815bc4cbc57b3b0 +IV = 65e79b9a71ecaf3e179a33a3 +PT = 7cc7477da381bc3d076202bde67887bee2500d06446cbb3bc20db5167a3b9a5771cf2af3779fb32e0959d4db90c2b886c89051 +AAD = 4899917726e5cb069ad12f087b631d9e +CT = 09b856ebf4f176b381a09b531bbb7f40a1263f93bab77280f96c3009ee0dae206097da19196c06aaf1b7d87e072f99f339e71e +Tag = 25fe638f + +Count = 9 +Key = 50c2241cf9742eb4372b2c65627b56f1 +IV = baf0998808e555be925f0d95 +PT = 877adf056a5d1e9b539e0825cff5e8469bc4dc449fa8a010fefa2d161dfa15834e11b6826c5f7bba874d479262beabd16bfb17 +AAD = 5a513d1f8a36d06eb074d9c96c41063d +CT = 7eaad3252568e09e00ea3174abc51d1a6b8d77a3193a29aa22d06881effe17678923b07c8e178beea7612221683aa33aff03b1 +Tag = c0234779 + +Count = 10 +Key = 7859c8cf73131e6dc41e5d0798f39773 +IV = 17f2f7f4212964b4886ceb28 +PT = 3229aaf39646e2ce7dae0d8d3d57f2e405964b1c951cc0dab237fa3650eb7543897e69931167fa5d5bae5d71180580c339ff67 +AAD = 0bfec069a12e6b912f1fe612297827ae +CT = 7f1c00af7068e21e80f57bdef2050ee178f04feaeb0656f97bcb749bbea8e6144c5d936f3dae545a0e652b455e1d78e254e831 +Tag = ccc101ff + +Count = 11 +Key = 734149498bac57e5ff7061e3b5c983e7 +IV = eecc5c085b54c0c835034d15 +PT = a9cb92a761750f6c93d121202a6e8764ab958830b086ea2ed1477b8c68739623c8b860221fee81aaa2e879ac8df3355c2c17d5 +AAD = d77f77006150409c65dd4f483fbf8367 +CT = 729764d60ef874074e0e1c6adf77df518aa8aa9a590c5caede57f1e1bc10d0438b1615a3644aa77938c5c52b62c322d57260ed +Tag = 86112c46 + +Count = 12 +Key = 86ae5c63f6cb79a7f80b1c42f012b51a +IV = d40651a6ce4e6316801fb6e2 +PT = 18043f390fee44e40057b5aa1e138da673da12cc5fd54e6917dfe99fa0631750588e8b4dd36d1a33ad6c4913a8358111691e70 +AAD = 75772c760bde14766054ee7cf8fb5ae4 +CT = a60fdf3e40938a98b1843eb553dcc80bab53710469582c1b5c71fb7b8608608b12e68067551a380a47b79a32428caab5100c8e +Tag = 24d5a36b + +Count = 13 +Key = 1c37c541785df89bdcfc4fb61280a750 +IV = 1d113963a67cf70e204b163c +PT = 87cf8bc14df093b4c683ea286374f5ea2670e041d362b64f893d60d2636b86a35fca71ad8cd8beced7c1f0a1723599b4ff4a5c +AAD = e47b4970a695dee86a9f606c39d04b48 +CT = 45abcc16c16bc1c844b91f3e9391eb04967b7f3b34cccc750929d9d702b3fc3e1406a6ac1806692eb12be12093cd4330d5fe62 +Tag = eccb1eee + +Count = 14 +Key = f34b270fc811b03cc07cf4b0b9b8b6eb +IV = c62720f5176ddfa63ba3b075 +PT = a22bb62cedf815075f9e9ccf434dfd5b3e8a8ce1f2ba8e8f011272ac5f1fe1973c18000ff0f2aae2152822160566cc7153cfb4 +AAD = 9c482c219bd59e4de0b3edfe8e1ec311 +CT = 57ef941f61df817318783bc624c38ae6fbee9e1e339390628352bed66626c91a6c18ebb56a468616e1a44b067bce816d289f69 +Tag = c32f10d9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = fe47fcce5fc32665d2ae399e4eec72ba +IV = 5adb9609dbaeb58cbd6e7275 +PT = 7c0e88c88899a779228465074797cd4c2e1498d259b54390b85e3eef1c02df60e743f1b840382c4bccaf3bafb4ca8429bea063 +AAD = 88319d6e1d3ffa5f987199166c8a9b56c2aeba5a +CT = 98f4826f05a265e6dd2be82db241c0fbbbf9ffb1c173aa83964b7cf5393043736365253ddbc5db8778371495da76d269e5db3e +Tag = 291ef1982e4defedaa2249f898556b47 + +Count = 1 +Key = ec0c2ba17aa95cd6afffe949da9cc3a8 +IV = 296bce5b50b7d66096d627ef +PT = b85b3753535b825cbe5f632c0b843c741351f18aa484281aebec2f45bb9eea2d79d987b764b9611f6c0f8641843d5d58f3a242 +AAD = f8d00f05d22bf68599bcdeb131292ad6e2df5d14 +CT = a7443d31c26bdf2a1c945e29ee4bd344a99cfaf3aa71f8b3f191f83c2adfc7a07162995506fde6309ffc19e716eddf1a828c5a +Tag = 890147971946b627c40016da1ecf3e77 + +Count = 2 +Key = d441280905a33bcf02ac16f8cabe97cc +IV = 53294f8b440c82dbd9bd7543 +PT = 5cd42b150db7d0bd6556e37e386dfafafabe2aefed2823be932f9daf1234aa0402bead485ebda3a0a6e392d5b0e603ae2dfca5 +AAD = aecd49cb8890806d47a950c8e92ab294f325961d +CT = 3ae74193c94ebb96fbb1bc5ecd180b2c0efa1ef4a9ecb6959631f8554f0eb237893476cc0d4fb55fa1880989c1616dd32b964f +Tag = 0eae01a8473a8f603c6ae6b637e4aeba + +Count = 3 +Key = 4f66f21817d1865c2fb62d4de344e085 +IV = 4c780a2707f56747b24a4aa0 +PT = 04eade2d68dc3c5d83f2d3f1c44240bf86127c9f6b3966085ef41ef50107d042b18bbe80bd43cdd1585fc5a99df8271b9b8767 +AAD = 4c0ec2531542bc801b3ddf593c2e1ba4afeb603e +CT = dcdf8d2b0d388072ce273ad3502dea5122bac0020a7ae3b97705d3a2bb49a5cb4f95e6cbd74183758c2eabc9ea38155c7ef647 +Tag = 2558c59cc7d71a2fcedd13f1c6659a63 + +Count = 4 +Key = 638276070f70a48dfdd3074905f4dd8b +IV = 08aa05eee9be39f28f61299c +PT = bca63b1fd480b7c682f992b3ac40712cd412e5bd5141126311ea3c5cd91ff8d75b7ad7be0ac7f61d41292e673177e55e148b8c +AAD = 7e3ef6f9d9d33a6bc5904b1317d235ce1a99ffb3 +CT = fab16aaf8cce26586b50e794e889839e0edb63f14f927f353569cac1694604de593d72c52977bf7fe2b6fcecb2d8918d0de8e9 +Tag = bd97aacdb02b80a01487d690b5e905bb + +Count = 5 +Key = dc7fa9348b7fe1b3befa5a09b2dc0f7a +IV = 51e208cfa9b9d990013f50f3 +PT = 0b65800b4dc2aaafbc837f9ece7a9111f3ba0309196babaa6b63ef0fedab779e0d352933536520e4ff1c7f079505ead882adf0 +AAD = b7219b5b1801457d71cfbe342148849622592c40 +CT = 2caae5923cad79802d682172f58191349240a24e25891461ae65394b95413b34e03f3551baf1a055d22a53a8a38f8ef78f6d40 +Tag = 10769ae854f8298cd94c28c3e28e94e3 + +Count = 6 +Key = eaf1659e08d0f22a7042358ab0ee0f0d +IV = d6911b68856038ef9dec1215 +PT = 0e71b3765f17e016c3024be23d0af6cf50ce98d86943b38cbbe8f3dcb540dda64b77bf73c7cda108e1a5c4bdb590a7f747ecfd +AAD = 433ae638214c48207fe9cdc76ef99e28913d6a8c +CT = bf4aff65fb7df0858962474bee9fbf95b0f06637c7d72bb1cbabe46662f455d3813665477b4badfb206a4d8f01346119e559ec +Tag = 866f204b04a309d45e65ea890a17ed0d + +Count = 7 +Key = 382697fc2ca220a5d6a700f7fadbaae5 +IV = 3fe9d400d10dc33545d6cc5c +PT = 7d187a1fd4d518197c1e843d613797d4a9fa9da6fe9f773b947dcc0023c43e917df575baadea90237d95f88c54692ef8be672e +AAD = a3cd4b0216378918a46252ca16f2ac9775e993f9 +CT = 8e640b879d473d7ce6689175808b925b6ba1177ad8b0c53208e1b7c6303844f52c8cae5791d0aeceea028dac107fad5e80866c +Tag = 3849e4fefcecb108f83ddc039a21dd91 + +Count = 8 +Key = 186f6a73ac82e33f69c5b158c7ee1cbe +IV = bad41bfe8b67151131e85b2b +PT = cc4d9dc2df86165343aada60cb5c1d9f991331d530d860dbf9166907d394721b2a22b53a6b070c5cb32ba3788ff55bc6a0d5f3 +AAD = dab496ae14125af2fef47ee3b226a6c92e99b9e0 +CT = 41a17c3b18e67d84bfab344bff1429a87c3076879ea42383d1e622e710a60612eecf2fae8a56a95a08c958a52f873ecb303785 +Tag = 335015e14d2cd8eb9813799c5c703a89 + +Count = 9 +Key = 14ba3901daf9db40d5dfbd828a361ab8 +IV = af37192707a3804beb57c836 +PT = 85f016f83ceba76a068e5def3ed5ebac85e203c69e32676550c6ed864edfd2ccb2c8da415a42cc6ead791e869296091efe7ca0 +AAD = 1ac4a38e83649004727d2b2b71075264cfcade09 +CT = 2a682e5579d7f801fdbdddb2b5f8564c9e91c39cde47c48ac1dffdf7ef1674ed937e77215691110ab730af97349f84128eed56 +Tag = b1b50298f48b96e679c3d71f3d17d623 + +Count = 10 +Key = c0552b2f54f4e8292119dbf61285fecd +IV = b5a580ec23753690d6c7392f +PT = 88c04f3421de415f9ee9b47e033666c0d182d04f38e6faff5fee5ec89d1bd391079e90fb22c537efe4561718588eab313cfd5c +AAD = 46cad83fbea4c47b9374bacb072472edcece9acf +CT = 2ca83a4a63de404ad2306a4918420fe3105cf7f9a52d16aa610e3b69a0fed246da41768c801c19d7502ccccd5ba0a1bc0b50f6 +Tag = 8c03304e8a74dd52d4e3baec89cd397d + +Count = 11 +Key = c6efbeedca979cb2c4fa5d6454a77dc1 +IV = 4e57df4988d93d13dc512487 +PT = a52077491b20ac65eff89bd0bdb6150ca755cf469c42ebbc5c95bbcf3aba91a9002bf386fc9a126fae73dbb2daa7ceb79d0b5f +AAD = 9e65d0542711fe57abfda27587ef4161eb3fe32e +CT = 4dd803cf6c99d2ce3ee8a1996f52837e52c3bb386cfc2792318e1ba64c35b638c9508b2e21d1da6e635e59e37c02c0b0a2529d +Tag = af847ce419fa54045a8bf31062f6d349 + +Count = 12 +Key = 3d68401d7c5f5c0a2529ede00724be14 +IV = 3f3eaf76e786e8af54baa56f +PT = 8bfeae1dadfc55baca191a6a3f54ab721862c51ce684e4aea6e9a3e2f3d2aac14af1cb0252f29a4c8c0984ce867acebc7596c7 +AAD = 6a6e3ea815e01cda78a76b0fb8bdafb8a25a6b7e +CT = 8a62b81a69e6e104dc075cc32730ffcb419b9f41711e06d7c2d9e891a88dc6e88817cf5bc2b87e95c4678daf0ca4b8f1e03927 +Tag = 9eebbcee46565fd4c34b8f47bcd94b31 + +Count = 13 +Key = 0657bb596cc28eafd51cc09a3e6ec1f6 +IV = 8e11a0625fba51698614f8f9 +PT = 435f16f56aa71734dc6571e2714207f7ff85c7eeaa1879901f2ffa00ea45038db54329f0a2e78ac58a5d76314788d8351777fa +AAD = cf73715474e49d71f4f5ad08e209ff9774ae9639 +CT = d876339f0db3bff022cb4504fe0a8ae26040102f575ecd4e4583b04959976254d07384141ba5748d3579815e3b5e1d1e8fddaa +Tag = 7e6f7096e425911fe739ac90cca05fda + +Count = 14 +Key = b2c645e0f2dd0d21e9511364f9355919 +IV = 91f6f089f5e828d6fdf12510 +PT = 3c01159e4787a74a707b4ead3be126b819831296821f1add394762ac97599cc810bd97205d0743548e7150bfbe6d9c1ba5d581 +AAD = e6781ff89032df5e5398108f1d569d7f8327b25c +CT = 1a06dec18eb4c9b361f1f2ec6391daf275f15d97a7f1a73fbe1d144bc1e1018200f725d52400c693a438edb595fd4558c4227a +Tag = 451783874f9d925328208bc4c56eed33 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 818764b6b4b09a3ff683d1fcfaad0ed6 +IV = b7d89cb6313e845c79b5a26e +PT = f34ab4e0ffb13daed82bbeb8af5f5fb03f4e67251b4529c2ae3d3d90ce645eca4d961299c584075916d71ae114d3a6efa7e425 +AAD = 2f0190fb6d7c1992533c4726428cb88565fcf43a +CT = 88af11a5fa1994e6c2bb7f68f9621c532340dc3bc452f0e88c87b19acb1cb52496da9c99fb1e38f540695eb2071295c80ed3f9 +Tag = 1bef6a307e9c90699c3334be062dfe + +Count = 1 +Key = 3dc6ba807a6fc0e24d1568da356948b1 +IV = 1d072172ba38e4e2817219ec +PT = 23952efb6508775af487d2dbdc8be8e6cb1cc2a5343cfe234d6a5d3c0a26bcfc66b44e983242fad6de369d7b7253f5a2d03306 +AAD = d380f7f6bd033e2f318f89935a07f3a376faf9a7 +CT = 79293b6d8008f1927564466298c0c7b62ebdc1e5bfdf685cdb8bc0101281ebb38e71d4a5201aa806e967aca25b125a28945860 +Tag = d99aee7351ab67a4dad06793a9af99 + +Count = 2 +Key = 4a2af9c0981ef6543a4a8077da20b9b9 +IV = 71037ad10f2040ac03a322e3 +PT = 54829fc6c93cdbf4c642ebca42e6e3626673fb3e5e5ee987b8adef5c582bc91ef8cc45ef9d109f8e9efa05a550c91c6c515464 +AAD = 597ad8ca613aaf651bd1a84ad7444b3f9a52e149 +CT = 0775a3c474cc0138ae47581cf6179c7e0bb4901a106ec364857ac1feeaa5d36f3e03c04bff46cbc1a30af73ce778d782a36bc0 +Tag = 379c7d840247bee3ea307ad591bb39 + +Count = 3 +Key = 02484d6317b96b2975cc9aab24960212 +IV = 32b5b7a31e19dd9171988a6c +PT = 9eee208494486704ad3b43961e4918995c595ed356e413a68a87317cf1ad501b2e240ca156c91b78218a67dc443be9943b66c7 +AAD = a282f51fe6dd7360b92a432c5b856e5e32ad00d6 +CT = 54758eb19afa94e13558700877b0ebc5fb73696adf192a59a978df00e70ec659839f9761adbb9f721cf09085ea4302121ae82c +Tag = 2259ac525fe11a6c0fc68e86b64526 + +Count = 4 +Key = 6ff2078e1f91a756460817b36a514a5b +IV = c00c07a4b37ba06981c4cf4f +PT = 1dae37436d5d629d4bf6949e85bc079851f079ef6a4893d176322cef91a279a21273f69b5d1ffaf2ae70ab191c301290f0f7f1 +AAD = fc0b968dec7f971b2e4dd273be78eea3a74e7bbc +CT = 37c747412f67e793dfe79dfc546db99d9d55eb103f9de1ade8c6f829391c62c28852bb4909e65f4dda71a8fa0360cf58e341ef +Tag = 3eb1867e15d015375fccc075447dfe + +Count = 5 +Key = 1cd40726864487cba60d29d6698b8971 +IV = ec8e7efd4b8cf863a8290b5a +PT = c8f4131be314b244641aa973e4ad9b8547de278ec02ac37f16aeb292721dcf34fb833866bf646941f3b78c7d99ae6efd5cd47d +AAD = 02e118d7614296b50c2f4f70f6e69ca7e57ef811 +CT = ab205ea0414ed9760829a6b8b79015a195ef12375a254ed83d71fdb4caaf2d8fcd123e30f5742ddeb1c32add699bd54c2e45fa +Tag = 19b0d8bc6e367c290626c135062ed1 + +Count = 6 +Key = cb3d6dbe5d6458708df2018da1d72d80 +IV = 5af1e74267ce705b3f0baebd +PT = 121b805daf663b8d8c2ef63a1b699d626c89736f771feb3cef27cf70dab4c7da56fa70c0612c03ad42688559e23651583f96bd +AAD = fbc120137f06af0f18a0881166779f3bef776448 +CT = 757a55f7bb15a34314034c3666ea821f63a86d1cfb4df31aa135315cd06f76c0dd4c5d43d675372d7de36fc31e1191640a3b98 +Tag = 3599c32c1db57fc0b8bf238aff6b97 + +Count = 7 +Key = bd544fae38f59c5bf67ec47b0afe3fb0 +IV = c4522518c0fe639cc419aeeb +PT = be6e93130f46d3bb79a43cf0289afb785c39d08ae61b569d8a1b74da34110f7eb9e0c2bca9af607569902c4b8620050beeae21 +AAD = cc932997c6ffc4f21f430a024da02f2ac8c408d8 +CT = fbbd6c8bfb42e61cd6fd57efa3dc660111d6edc33c5c872f0903bd19add7aea2c7f6b86e0c3a032aa12104ac40a118c86112ef +Tag = b24333047f439ae9ea18953540adeb + +Count = 8 +Key = 2b855dfd65170a1d9a5f39b74bc03e20 +IV = c5e247bb0c4a27b0ca07b58a +PT = ea1936ca33ad1ea0676c6be81681e658a0de40b713fddbf1f4f58b4bb8c3ea6a2e22112342d225cb6ab93cfaa066a19a1c4ec3 +AAD = f78a2a8006ecb3752f6092d858b7bdca0e3a489a +CT = 2134b2b1722bdc7600b87eecf820bb1b6d8405077e39556f848914ac9d04585ea58658edc9ed73da1fbc2ff1993a1768f337d3 +Tag = bb532785b0eb9132b76e1938da8c6a + +Count = 9 +Key = 09d75b3bdae2feca2dfb526c679c8715 +IV = baaa203579e183904e13a17c +PT = e34cd452d2868e47f8ed72994228a1787427df598b5fa9ff0932d391b5ff5066c064c73a884e95cd2d617b90c370dafb5a61bf +AAD = 221f2757a94eb212450e48ff43e62121c0e115b9 +CT = 464b7a0a282feeafba7d91f41b9090dc5b44f3d22e95e0e44bd786553408638ae178f91459509a777777c67ba8fea6b903dd0e +Tag = 3bd5ed743219b970ad283910a8d68c + +Count = 10 +Key = 02b477fcbf370087d7ee0e3bb776cb06 +IV = c916d7a06df82c0627cfd5c8 +PT = 5d6439afe62e7635058aa81915f9c6eddc15fc5b4966b57ed9d54bce191bdfff21187a6db15baa7d1cf72aab854e31a0db1e3c +AAD = a48a7a33f50724baf4254dbbfe911963b7aeab6a +CT = 515f528e5362c4490694d3bc286431728bb798dbb9463b5fc1bf7c4d56f8418b4c2a42b27e7b0f85153e6aaa92f2d090a0d108 +Tag = 170ffabcefaeca7c9a2a1784427a2a + +Count = 11 +Key = 3ffa2b4c541f0e6d04685adc6aaee1fe +IV = 53d13b76f372b1bd8d84c7eb +PT = cedb14516a0f5816931cd203261616443a52c759205620da28804b5a3cf371ef215f2ec08dd18df022dd42e8a3452944c452a1 +AAD = cc485c4a990dedfb4481fd1faec55f830ed0c352 +CT = 3a60e6840dbb6d770810ce22d34f3c5119f6ab0d489f22234d61314b22bc2013d21fe2e456434cabb5869743ef573027a9898a +Tag = 985a3f496c158eb5892079e2fd4055 + +Count = 12 +Key = 2d23a4ebfe22fe48151577fb8e700192 +IV = b61a3d9586b8e12c9f9eea59 +PT = 19f34cd38e5f34fde16308933c4a1e79811b969efeb72e7d40a9a6e0444fdf820122dba68fcd3149b944af1fa1ff8f983c28e7 +AAD = 5c6b7921fe7ee61179105d0e78ef99ab117071f3 +CT = 03d9ef2d2e9cefd8f2f31ce094e702263b2cd3666f194850f97b7f932d8c4eaddda1f84e8f554096926c120d7b19f553f8adc6 +Tag = c3689b3fe69666471c28cf7e9e3cae + +Count = 13 +Key = b5fb508985f35a00f03e88346ba395fc +IV = 4ff9defff0ecdf4030b11c1a +PT = a5b1f1d4954604e0b299b605e3e3f6828eaa6ec622b7db04bf8e34fcf81f490adf428b459607319f63e3d6dee1fbad517d0dab +AAD = aa22679bd1d414d61d436636097ecddc5034a498 +CT = ab624deb392f7dfb1a0654c8997984b8e3f30737b98c0cc167e1865345a78070832c4e5cf450336630472a90a4629012ffc2bd +Tag = c2c79ef2edcefacaf4b523a3a94f96 + +Count = 14 +Key = 74e6fd5281f92934012aca4b2cd35b3d +IV = 74cfeba41dfbc7a55e0845f9 +PT = 3e2f7bcd6600b66f680ac59537508321beb0aa25a8e6d9f069a6d0a54b805174a0595c00e3f6b988ed4c6d2e9b04ba9b7b65b6 +AAD = aa337bc53008e0589aa9b8772e3798e7ecc4df15 +CT = 21c857baca0b4a8534665ee6695ce9ae601934cf4f65d2e953ed5e0b9720783f5b3059b283972f6f2a9957d6dfd4c8bdcee36a +Tag = be436d3e8cac3258a2e72f0b60ad82 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 1310738642a9d807d543898c7fef4d78 +IV = 3da7eed04415e72417ba05bc +PT = 7ce446a8112b42422d955b1a19acf1ea492efdf810a621bc109cfc2137a853a92c06186c04d5040901a7244653100679637042 +AAD = f8e36a113a9a576bd7622cedbd1862fa5c2f3cda +CT = b28ccab1bbb42b6af91ca1a94d1f16ba380041c9adf58bc4835e32c784e3fc03057ed537fbe9b95e0f640f44521b696f985294 +Tag = 179b820b7c92d72cdcdcd908d994 + +Count = 1 +Key = b893aab05f74b0a15a180b20f609e688 +IV = bd0575f6cc852b921cb18f4b +PT = 6549c10bc219817ba65427a9ed601c45fc04060f61e74de3e4c96d4ed1d47ed45e5426b6f2466d0f9523f38e80eb46df67aea8 +AAD = 2471a2afb3b2599cc483c6b09d4feda0cc04e3a6 +CT = 0db919b12cdfb2b8c4221f41b20c31f46cd9bb6b9ab59de6fda76ba520cfad3c3f42f24c189b4ee2dea1c1f86196e9e964d5b2 +Tag = f4264a37a3224fd00dd9e66c193c + +Count = 2 +Key = 6a304505a099a29a032333dfd1b94fe8 +IV = 80501388f8fa05ae2b2189a3 +PT = af2a97b4fd87016427f59b48d44f43665c4bf696d41ca2e799ffb7462cd96a3b1a2d8863d9ca3260abd6a071ae96a6ddfcf288 +AAD = 1b1e5c3259aae63ddbbe02c0b49afb0b3739b925 +CT = 47a7d9018ebdcf2f5c866f852219f9fcb773c608eab3ac8d6490cb6320836b53f3f1320eb4b02ba61adf093e87402f73f45ffe +Tag = 662effd47b4a6bd622bfe2cd77c6 + +Count = 3 +Key = 58d9f7da98e2fadb6c3502a14d84f399 +IV = d773aa763bdd760e471ab0a9 +PT = 15a9e48b4378c8501934f17c889f93588a14fc7fa6df10ca5ce343a17c04eb88cf9d8b923a5c4862ac98a593d0e4be7184d9dc +AAD = b1db893f086d7dd212d1efac1d513092d43cba88 +CT = 10258d841446191e65632a43b29786398702a01dea47904159fbb964fd86b8ac0ddb6b81a50ab0544dad0a60c14a6b7bf4b230 +Tag = 9618b12c7d82f1ee2b03927f02d5 + +Count = 4 +Key = cf822d4d7d8d5af6d432f8d7d5cfa198 +IV = 97e3e0379c8afc6a45ade2d1 +PT = 51316387d793e2535a9185276b87e47ade0dba106b3427a9d376649929219bd47ffc7bed81e29cabd439376c56777387316a50 +AAD = 018c51eaea3f6c8b29a755bed81fc284373fa80f +CT = 0f406c0e2265cd3d9825a44f6a2874516236a4e50c6f6752b0a7154d5ec3e78877ed1b53c9ee3907925e435129cd1c97e59a42 +Tag = 482ac7eaa276c5063325ea24f730 + +Count = 5 +Key = 1fc91b3826958be9fb72737d954646f0 +IV = 46ddb4c4cb5d7dd72e752792 +PT = 1fdef2d729b0552b83ca6a4ae6b4eb8e6a161c5238b0e0446f6d7f8962d227c19e5eda0b9bab1f1c9cfa29f3c82653bedc5acb +AAD = bb5f40b1839d5cd69e123e5067b92d041f90ed62 +CT = 66ddb0caba0242b508bcf88ea72cbe28d98315ddf1a648982d31e4d1326f2bd8321d4a7d1ba3f0eb8ea397dbc4e884d6d74a9a +Tag = a1c23ba00a89c27f125a9a190bab + +Count = 6 +Key = edaa8e1561f27ad1103b3d72cf111b80 +IV = 4081efa032c2a51fb48cb0d3 +PT = ce0500816dd8edf9684bbae6307cf3bec93b08d388b70264b88b8f7c91b65664320c9a32a1d97dcf46662c362dc387436d57d6 +AAD = cba6d108dc74309841a21799629ccbfa6c116a84 +CT = 8f82bf32cddbaab22caea6a9374e97dc0edb47cf93c1e51cd044b15944aff6aa703dbd50bde1fd8bfaa8c1ba37edd1e5881c36 +Tag = b3f531e714e7ab304da35dd50835 + +Count = 7 +Key = fc9f5f3446f0311b1e6bf7f9fe2661e0 +IV = cb12282a13c7c42fac27b9a6 +PT = e136c3ca85016993694cea836530efdde822cc29448da45a17bf28c041b4c0ba8752b1cc288943635a3ae696ec7aef20b43398 +AAD = 6d5c17ba5f22d511235e50ccb42173ba1c9c3b76 +CT = c6ce97eed85f8b1959151d970bcb8666a71451cf6f615282a05275a4ba43322c5d99da14df34f09bf110a90047990aa4717023 +Tag = 9444b8b35612b11a15a2a4891a40 + +Count = 8 +Key = dc7d4526c68c3b4b3cac428a946e3b1b +IV = 1a90f4286e460a8bc70ed061 +PT = a7184352857552efdf2b8d3686c22800976e569728ef82364f5ce4337fded04e6c7d1cb6edabd58c85e5efb2de8120b3835918 +AAD = 711493ddc8f1d10ecefb70a7702b0c22fe6365a3 +CT = 2640baa354b9adcc0b75ca6180bc056310b3abecaf583ef59875e958b036a7741d2c991fe8c94902ad6afb95fde03805c4a3c1 +Tag = 1ae5706ebbfdf5daf93b20cea85b + +Count = 9 +Key = c06a84e91c4e0c9bdb14709f1a8e1891 +IV = 9be8907d2cd5702b058e6e1c +PT = dd6e16f5fe0a6e7fe996a59f4a7efab5e3768f25a448ddff740f7653aea91ffd0d1ae9834231a9ba3b620b768160efa114f778 +AAD = 92e7f8a989b20db7dd4b3ec8fc827e501e97795e +CT = 52eb94c47e00179c1b81abcc71c2691f7bfa5e5e953f952e034246809620a6c8f40fc9fbacf085fbf7ba6414c24d75af5a3006 +Tag = 8d202e0d1c4aaa1e49d57f3a2166 + +Count = 10 +Key = 1433f969697afa2481ed6a64b970d92b +IV = 602b84adff80370cf0f73e10 +PT = 209dc4e451ef0f9bac36b4b32544a5e8e7b768415a4960fda406e77ae38758c248b16c53b473cc11d3ab04ae64be66802e9dd9 +AAD = b5cf4d5e84d99be72c7c37141d3f51685bf11d67 +CT = 8a910e4e2383056d183b1d456d15ec34bb47ace2c8e1f989dfe32b389e998e1668da8820cbe51715428548ee6ac51eefcea8ba +Tag = 78ca95645134961db41d23b2eb8a + +Count = 11 +Key = 446b972b8ddd3a692010fcd215951260 +IV = d6c608e6d39c0310a68296ec +PT = 2e99fa25e348ec7b752be2ef8ad8068faee0a971b3b8a724c4970f3440e182a1c0880d609d8641fa83c932f33ebba45fbfca36 +AAD = b8d117913307d6add9d16c3955b099907cbffcef +CT = 5881b52f3b1c335fa8e76cd2f64d6ae87386f224b23bf29b04ceb1ed053cf488ca0d41b0df69e560a214691b637c30253f2a9d +Tag = 9ee48213a61a171de26feb0592f8 + +Count = 12 +Key = d0a74c8e117bf0b7e46475274ad97683 +IV = 57a8632cf1efec1138908964 +PT = 9a9d5a732a482b49a1cebbec08ad38e663d7477f21dd4ec15b002fe8be23dc9e1a972c1831808145241dc0da7d81b5ea86b7bb +AAD = 9c73dcb978718a3c46b5a6bd14defe2046734ad2 +CT = 721ed437157e6f8d7cfd2438f9f0d08d661df1f448d96e253736f81290dd78aee2e2193527ea6fb866bbf6a45f4b619eca866a +Tag = 1a6bec337cdd1d976b40297f9888 + +Count = 13 +Key = c776347739fe43b58b2aaecd365d01b4 +IV = a9fe9ced4c994daf105eb295 +PT = 9e3e419e9196cb64cb842092e125c0c3185345456c990051ece091479b4557d0d6870d62326b1916d751e7f59adc06c3201b26 +AAD = a1c1193b30ba94c4f0bb0804641a366154f11e21 +CT = f714cca805f304b4f719b0e05204154e5ac8f30d049f403977ac3e98a33729773f18717d77ff5efe42165ac15f63da17afd541 +Tag = c8a399d9c914ae42c9cc6acd01da + +Count = 14 +Key = 2aed794b4a8dd170eb27545b96a03e7b +IV = 8d6ee5e75a81c54b3d8f2a88 +PT = cd678ecb01a6727dd5ea1d73e71a68d933db1825d1917a565949d9113372a690ec407e463fc38094f38adf5797eb4ccf4f95af +AAD = 66210ab1a8d56b855c2d0c2083cf52c39f5e7377 +CT = be527e0feb2ee75ee55d12cbfa288240478ebba37808fc4102704ae48257242636bdb9f055b93ed282a54cf74a44cd7385956e +Tag = 004ed6092b18c20d53607bd821ba + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 544e01f1a4ef48ee8dbd40e02180a225 +IV = 148bbdeb2e4d90cdae56cbf1 +PT = 63644b700f4122c06622fcba09a1887c35c0cc41c53c66f810d25d917d65b527dafed943e3bc1865c30b1a14817251fab8b2b5 +AAD = 29ffea1b5c3048ff15651b0616a7b42403ecf6ec +CT = 05e32f659199ab2065e35f75d6ee96c703ed31e40a3bbb0db40ab5dc2ff6ae9cb2b8642c2f966fb8a26769c3a6cb66c561dcef +Tag = 1cfa2fc5b217cb36a687128dbd + +Count = 1 +Key = 9cb8ca58b94c585513aa86cad567fddd +IV = 53b15eccf8fd88320592c425 +PT = 412f496252bfc888a7d997289234782a49f9404353c3e81b12f94e168c3d750b2424ad4b42056165b4f8f66f6fabad6777b6d2 +AAD = 4fb156708792e6b5aec3b1cb1c39d5eed99599f1 +CT = ad89ed4b68263619c494b4e007fdd0e48b52e20d9ff5476fe286f1e5a34c39f4437b56e5796289470445a526bfd08d15080083 +Tag = a41de6645db7ed8ea47b297a0c + +Count = 2 +Key = 67c06dda24b728cf1ab43e1ecdb7c733 +IV = 8082bb0a231e930d15e37775 +PT = 18ba96eec51290d80eefd29f70bc364027cdecd267c378488c52f6a0e219c0d797a052fa8acbe7c5d97784b76cbaf8277c2e03 +AAD = f85c1ce52b79d94bdbad8a3d1576077293facbc1 +CT = f19e9db805fc265f741faaac26a691629aa695def520524c3fa752765b98f1864bc6d1b47b4c5d917fa89682890dcaeda2a8fe +Tag = 1b893301108ac44a394299acbf + +Count = 3 +Key = ae557ca44fafac76be9e0d8be58a4a8c +IV = 69c0dfecb13176098b2a43d4 +PT = 0750741cce3a91ff332e8e0874eb18ce2197b890238da7086d59ea43c82b6cf473dfbccf8b3d627d36a4456758e23fbf8dbbf7 +AAD = 0edf265bd7677fdcf2836cef8d13a6dab98f96ac +CT = fff18eff055ca00c6f24d636164b1acb421a0488264a11b878ce29efd280a57b0ba9ace3778435a86bfe350da54391edbc424e +Tag = 2469f00d9a680b8d5d311a86eb + +Count = 4 +Key = 90148735a7ae18af4f4d40d3ef6cf1e2 +IV = fca30cc0daf01db269408abe +PT = 82e2b5e60dd152fdad9a563e35c9e7b2ea6029228a10de4a6b2a663a29dd1a3e3820cbdbf84e94a04899534804e336fe6e9f15 +AAD = 16edc2a73422e5daa0f8f9545e4908b099c9e592 +CT = 8e0e8710c5895dcad9eb2a8d659da966386e06332751f4ad9a7e97c13d0fc1ea0a6ac3dfc387bad0c3519e1456debd82c6999d +Tag = b62f74e9a3a389ea2d5f53f8fe + +Count = 5 +Key = 941620c096d2483092ad51655ecb6e91 +IV = fa54abd7658edeaef4929459 +PT = 5f622008d848ac681ff1f78e72cc479057470af333b57cf0e55882146f64ae8539e6878cb401ed4f6a4af7de66c61c0d091d9e +AAD = 08514bdae48deec0b6cbcb432ca307829aa0dd14 +CT = cc84fc43ee211cb9be876949e891a77a7bcd02c9310e855958bb1f1f8f7b5cc43461cc5f1689cae5995526dd008c1edcc87110 +Tag = d7a2c873d5918018cd4f6801dd + +Count = 6 +Key = 6bab53d3dd95721deeefb0f77ed730ba +IV = da91a63d24f511be1df2042f +PT = 62228f486cd64a27e5d6b8ebb9cd089756c880c7236309be39a49408b7dcdf872d780231b218781283fa1f8ce4951dda159b08 +AAD = 6f219d4bf91898ec6ddc9db69ba4f7e81b6188a7 +CT = a215773ccb0ab262e905a66c43b643e9e9b383b451e2b395b691b9a630847f98c197a2afb5d94e553397620fda6afabf9fedd5 +Tag = 1b16c15d956533894142f8e453 + +Count = 7 +Key = 26d987403708aae87d09eacffc419328 +IV = d3bd243ac6d9fb2950bbef62 +PT = 1986174811624883bf6f2f7e7caed33ef2edc9dd07d9b87fa0a17aec064ded483a5b291ac3b8510d307ff95509e2e71539dc79 +AAD = b95c7c958db7e7e7f55670b25de1eaf2de5502d9 +CT = de33a119db1044f2bd832fb61cc86d8dbebd05eddabb4749fc4f2da82fe419011fdab6d1890792876e58b6a30b2f072dd2c91c +Tag = 63210fbb04f3e13481a3b51230 + +Count = 8 +Key = ada564846fe486a8a20c41411dbc2cb0 +IV = 7e5f4da83c6aa82e1161df0e +PT = cb95c0d2c252ff1cac4d2cc4ab2e64a8de0d6adc8e3934cb062be505f9f057ce4be979f1dca2d81c7186044125bef95b6484f6 +AAD = 0af8cc653d9918c5fcfc8d40b685ea838c8cea6d +CT = 927c944862e30a80229d12fd423d78983980efc8d0be6e64846eb71e9f4ab1d99a268f4ae78989ab3fd9b14cf21770e110e06b +Tag = 6d419eebfcf2226dff9ae4153d + +Count = 9 +Key = 49b29ed2c6b03aad19cc9933a950369d +IV = 997e1406671d56aa4a5e1558 +PT = 27d62b5719aee3aab537fe31774919758e4497ed4dcd33771f6695ee846e3cc20ba45884a69cdad6f7b045b0ac16546a1ae4f1 +AAD = 6ebace1b53fa905281294d7f562e320e3755dae0 +CT = 94a6e63f8d81697d81650317e483e4aabbdae626cd1dafad310b80e4c11a2c92cfdc4e4f6936516a7b50468aa6e28463cb8712 +Tag = 54c4c18a7eed865ab757e6e22e + +Count = 10 +Key = 843f3364d5bd38f2493b34c597f2c9f9 +IV = df82f85abf69a4e7909a4442 +PT = a90fc532c35db70011e9214b593c61065c514ea7e0d377c787e1f173f275bb5ecdb1f813241bd191f53d0c8067e2a45f86c883 +AAD = 97ca50443720e2cd89ccb55a76e5129b4f574a84 +CT = 04e99441d94c28690e272294bf52853d50c5adb66dadd3f97f70a4e956074225e5cd03916670b2dbb04ae8857e8e3e1f55e7d8 +Tag = f23d6819a420b52a8bdb789c96 + +Count = 11 +Key = aa5c84f93a047451e3ed58bdf93b80a5 +IV = 2bab3fef9098a82d095f50c0 +PT = af0d40140c3f81a75d5cd9e6412cb809906e451c6d806ffe4bda49ff04be2bedce2659e4f0edb75cce9d4cfd52a7ee894d9948 +AAD = bc1af8570f7afc1b45b8ccc56faeb33c194b2e65 +CT = 5447273916d4c0d854a619a5a4c24cc49b06fa40c453cc9c2df38f60e2b1bbbcf63f73d6e36afab9f7241879a60a1cb71e59f1 +Tag = a19f109bdf713e98354d64e087 + +Count = 12 +Key = d752b38f0e21fca508cb5a0ad3e58f00 +IV = ce32cc7e3f34607cf513e205 +PT = c7a5156cdf915c3fa03b89dcb8a9b5741af580edb1793c813acd1f78858ca3d9ff26c6b32d2901d96aaa3f3829d07a5ce1d01d +AAD = 7d67ec0157855275f8f7e35bf4d190b5e91d5e91 +CT = f9f362112bf09dc7e1334e559a6c894291bfae4b78677a0ec2ad05d4cd54b2a2c09c22233aa56eb3593f2f5271adb32088af5d +Tag = a1bbdf77044791a7697b757d54 + +Count = 13 +Key = 582c3daa1341a25e04cf0ff001898aaa +IV = 31a7485fe015e2de95b70b11 +PT = a44e7b3cd87e80ea5be49d82d529f5f1149810374bd196499a7d70f29782d0434d52c5d7e9bcf23426908551ae9983ef6ea7d4 +AAD = e12297fa6841c313123d37f785a48fc869c8c31f +CT = a41bf07141a50604e20c95b56862e9b99270921e366a405bf0e349ea3f0ee1da34c6ab6d5f65fc4753ff8edf0766568c345ab9 +Tag = 115d1f1a8d4177e7cdb07fbe01 + +Count = 14 +Key = 1316fef2cf6564738fc1ca5af0c37840 +IV = e0af1108a51273a31b44a8a8 +PT = 995a7fa324c6a2d29316fc23f0ed80d0debf89c340be63b4f5a8749fae06c6b0553f8bbe816352e3570bc217b8862b7a30d569 +AAD = 352e4bd17f5cd19e6f27f946ef781fee999b590d +CT = 81473db9916b85910c262a4c899553e41f5311a954ffe46c07f2e2c92f7db121b5f6126a3551af07de830567efa3ee6477bed9 +Tag = 01d3ec5f043fc15b201b3b0515 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = c476bd4e3ecff8c2f8a8fee734526574 +IV = 1e46088fbabc814f69655c02 +PT = 99fd4cfd8f44659f18d8fe70ddfa5d3d069ddc0059a3328c442d09d08554ac39233cd700c4820007b5091e57220ee1da1db301 +AAD = f74f0a8b09ea6dcf92aae8fe1de010da392e62cd +CT = ab538de082910ad59ab524643f497cc1920e1c4ffcb13861f931583b4bd92d01b4ceecb8684ffef8221dcdf3836c761a9cfe36 +Tag = f813dc70f36471c543e20d68 + +Count = 1 +Key = b3466c6e2c281b52ced5b96b85037e9a +IV = f3f56ccc3fe2f6de60dfcaea +PT = 8e7dc507edc9f8838d4dde9bdeddb3f5c0c03304b0e2f9b14ad94112a6331938a798b918c6b2a6375d9281304e6dc595a7ceb4 +AAD = f27676200c2b50e9d77ec2357866797ed2fd758a +CT = f3c739a7c13a0e646e6201ba725307fffd0397add75c6e78a21d729f00acef6c8199727b9bf3ea5f71265bd0e69b11796ca609 +Tag = 68d113913dfdf0108fcab036 + +Count = 2 +Key = 180bd73b6bfbf465ad21adf96c61021b +IV = 80f12ad9f3599eb4eddb875c +PT = bd762224d51cb613e5dc81a5e4f83658cd4058bcb8391266577bb8ec264343391373340a5510c15ddcb10d1b627e9222934d87 +AAD = 9e275e77380a0cb0ca3f7896e3b36304fc14d57e +CT = e6cd7f17af95a93aa66edc546b76f26661c867cf55cfaaedcd8bbeb8e8b8e7eb7005bdaecc55da7f3b647fdad7c8a90179f072 +Tag = 9814e460efd3dceddc28528a + +Count = 3 +Key = 4327e7d4a4c5a69b75176f30b9281468 +IV = 2b6e1e248d3fdc29c0b9f0eb +PT = 4b473df993c463d56d81311d7b14b455f3b1b8c88d5a07ce61b58fd213796959ad53bbac6b5fe3f995a5367df3b270bfe52e77 +AAD = 2a6725af7315d0dab0b7c632a1308fc2fd5a91d3 +CT = d57fb49d7b1829a2f3cdd8fbe086dffa60975c8acd1b0b14b28f941b08cf84df7d49fc76a4bd1d9b3c8b505cea47a10fccca68 +Tag = f1e3e5dead0c85ea9d4fd7c9 + +Count = 4 +Key = 28d9c4231a226183661672bdbadda5e5 +IV = 9219ca635fd519f9557f03ee +PT = f0d74289dd5ff15557e972db729d7a1c661ed5f6fc6e03f298c5deca23000d535b63976c312461a40d8e7ba6f4c26acb0a2cce +AAD = 7d76a114aaa5f3bc0c25b935a8f0602b90cee3f3 +CT = 6710ab6616491feb14bf75c02d8a51832bacec78d92d60b080b4dd7270b13f76a38c76f18c008c83f097469f9a7866bcc15ec2 +Tag = 826bf632d188365d61908bd6 + +Count = 5 +Key = 114d43f1deed2c9656b0b347d1b2e201 +IV = 6ab60ffff22b7dbc281684fd +PT = 1b945b85429e9eb1d750b581ed1fd1e0abbbdaf16fe5f991c6568dabd7ac31bc625b9a37c39a3d57a0a6e5c490e38737f15040 +AAD = a4c83cda10d10a7fd3f0626d54176f02e8681dbb +CT = deba44a7c7b01048d93f5d854fa32abfc156d2824d7d1e3a9db6699939f0ed23e06a5fa33d49af22c40126ac170dd072a8cde2 +Tag = 9a1ac2d0c28f228fa96bf32b + +Count = 6 +Key = 84a5217af84089b61acd438afd2cde30 +IV = ac080ca3e4f987e997939666 +PT = eee2828bdc51f9dc67db0dab173fc18c29cf828319fc8f58ec67e04e7b9e0dfe6613f9d30266884bcaed9fd1fae6af391ba208 +AAD = c863db35d8ab592ec6521547612526034ea57f2f +CT = 3d2f40796ebb06818dafb99bbf7f546a686f2a18bc31f28c98a4a9780852d6b3dac44e0ac817681a995fd25b0d94b02be2244f +Tag = 5f771a6e743c16b5cdb44683 + +Count = 7 +Key = dfa794f8e513bd581bcbc1f6dc2663b2 +IV = 6746724a76f0722160553c46 +PT = c60ddd212bb5548eb245e64a2b60d41d3128153501709e97fd7ec019b616c57cdebab9ac1468edbce33fe253df508d16adfb14 +AAD = 7d6625e38435281634748ac0c95cb09f7e61d367 +CT = e5e6d4fe903893292444cea5d8f3a70dbaa03ead22baef90937cc76d2b171e27e0a20749d560b692da2c7a3582a143f8d28a8d +Tag = ef5b9f7efb967560945d3dc1 + +Count = 8 +Key = d1196aae89308e882fa9607023ae8593 +IV = 2f25703c61bf32dac65822fd +PT = 8e76a3f06c6f43980b316624152d54f1041b51ab469dfde3fe77b3e6f7cb90fdf4f961bc4e9e877b2465806fe6af94eaaf82ff +AAD = 57459d9273c161708067a5d3dc465f2a5feb5c9f +CT = 6f032ef7359cff87e1c556022669ee418730369ae0f6c08f04490632ee5dff247493129767a56c6a581556f5285636d89c6c19 +Tag = 5e45a2294b4ddc01c418ec97 + +Count = 9 +Key = 7c8d008e4687ba2ea0c5be0efcc3354f +IV = 4a282f668c8be4a90e3afd3c +PT = f9f9213ccee935d3989cbedcf0574f98364a662eeb17d1aa78100475e56bef00169ee3459d84173f6ffde034c0eceac22b079b +AAD = 69ac6f1da8cf679bf173f898b6e9b2d0dc322e9d +CT = 14e9d7a496d8f78f79ca49695f514c6f62f9f5bb3e9ef815d14c6eae73996dc23f43fc9748f9ee7e768292d1d52fd6fe76ad4a +Tag = 338e83ee075052e3564969d3 + +Count = 10 +Key = 21eb8b2a1f6b38ddbeaad53a5dc3b5e7 +IV = f92c641843c01498f3ec0a1b +PT = 2f3e66f8a58526ed1720827c62fbe58f1c3968284d829e3bee597ee2ad16e3cc17f1471531f7dc28757cc473f2ad903fee6bfe +AAD = 9ece422d9cc1d300918e65ced4ac9ffee48741b4 +CT = bb037a26de8bc8a64a3cf2fb20ac70405692189888d0d4f57602f34e363448ca8e0c58557422ae2725b70102e9bb6356ce7b4f +Tag = d56d381b9f4ead35159c6897 + +Count = 11 +Key = cab682f696b51bb52e7f85eb4593a723 +IV = 0af1794868ac882b1d3b0d0e +PT = b248e6f8d9ba12925a42b92559af9e5a97f728690b9a9c25dcc09b37c775f6efb0b6e4997255628d7f8639508adf6ac0a01b88 +AAD = 54ff1a60cc8dc19ef02265785984f959439e6e61 +CT = 766edefe9353906017e464d7f7f4067edba928fa6c0f096415f60dc96788010610e448341026341768c9f40407b7b5806c1219 +Tag = fcbb510929af88cd18418d10 + +Count = 12 +Key = f0d3690eb1587da320c21d4726cac8ce +IV = 487e0bfb15340f2aacc9b051 +PT = f3b596ea2b02f63d71a2b1bfd620c08fd55db0df955100422be330b6a2a3f822af407528a214e6f83e2aaf4cce9fce5c8ea0e9 +AAD = d704f7e044c22afb084f670cf7c33a395f2f0784 +CT = 074547e28bbe61618d120e9d4e88cd5544cfe4bc3c0226c0bed285df848f52b401821b2baa9e2059defaa86462f0ad19c0613f +Tag = a7d083654682fa20f873dbeb + +Count = 13 +Key = df7a2813385743e395a45a2069e79b6e +IV = 7134ea7cea66db464f497edd +PT = a416ca4c7ee3f3da951fae8d6e38e8cc3b3e5ba4773d58c8a6e77f0c4fdba29227c053f30e2c87e881ed33dba113b962fe3159 +AAD = e16acad1b72fd1c76e5fc2fc4fb2d313e0c87449 +CT = 5a5fbcd10a331d3b067bc4c01a8332b696b40d7285ea391a750dd301bbb4c831375e3ff6f0d49fb99696ba9bd3475c66549051 +Tag = 01db9b6f2565276e8143ce58 + +Count = 14 +Key = 5d6196c243d0a31d52f23c7052f361f7 +IV = 1f423908838887c0024e2bc0 +PT = 579944af964a4a707fc992fded2916291817a2959f6024dd3c2c29a4fdd70f1628157f6b15e1d8d38870f5ae8d086dddadeca1 +AAD = f04c4ff55163fb6c4f0e7b1f8fd3e8b2b5aaf913 +CT = 681146f862f2f3b2f02d77df23b186190febc7dfb16a568c864db5240abb9c93166eaca71c377abe3f1ffe0e3eb93081f2889e +Tag = 6abd85be5e37ef48196d6e1f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = a23fa086472b1e881e5f31d05db3450a +IV = 903110cea4b8b4ec66eedd08 +PT = b8d92413ca9a7c219280c3bf0d65356b682ce5737d216c314fa973812e37d565db716f51f10c3fdb109f2c3683c2130e7df35b +AAD = 0659b0ed2203a803d3102f049ced636f18da4614 +CT = efde6f2a64f0f593993f42a6d023eda00e10a7ed2ab33a633739a570163cfd1f1b252b50e7cbe486cf198e234854c7d240bb2f +Tag = ef1c6117eeb86e09 + +Count = 1 +Key = 297c4dd2d2604caaf5914d9d1cce60e0 +IV = a2b525671f6d566667cfb812 +PT = de9b0b4a48055cde09c9c2460d3dad23e0d9b6cb7e7709c88392417995d1cb1082c4b6873c9d50e0dced546dfdd48f868ea098 +AAD = b0b0e830253ca7ebecbf9b82c3df3ec61fde0c5d +CT = bbd436f5c397335e479c1bc4964b9b9e98caa339a58de50ae5ea6d55327ffc36362c8e1a4a04565543a09c5b0baeb7031c5c33 +Tag = 9eec0c1e50e00878 + +Count = 2 +Key = 3b67adadae55506ff59cb2370a190f16 +IV = 7b07f967133fc8fa7f494c5e +PT = 94dabf78b11a078f49683373de161f799482ece358c57dc15291fb0aafb590551c35899dcc1b4b9e670960847a672804828fb3 +AAD = 16d0fbd8bb9b7246f7782b94aade81e6940509f1 +CT = 09aeb3bfd69343ed421d413ec6486997602720853f2c18dd0c22f910e796a148497efeec517274e600e565a30f499b402f44a9 +Tag = 2db101a87de54a55 + +Count = 3 +Key = 6ff992b728dcacac7e3297550acac89c +IV = 7a7b8789655abf3ea9edcbff +PT = c4de011a3f0437495b1eae67db06f3d96fe7894cb7e87333bbb3cfce8dfd28d6d36555de45ca731bce0e06110e12b2238fa1c0 +AAD = aeb089f516a908204c8569072a06d951632c4f72 +CT = 87c3593df4cb27df66285f8449d2e65164ebbd7184ca7bf030d04d990396811577e8edc583eb30abd95f2d11c8f3af14464bf8 +Tag = 3454d021e2346b19 + +Count = 4 +Key = f97df94eb6598136004e6c217ca6c406 +IV = 8627c40c9640b5d5f221f8c8 +PT = d00b87b67604ec2d5f4b87270733c34475282a43427973e37c148fae72d82723d911a40a91c7d77fe691c088030b13babd78bf +AAD = f9f6ecaa5ca65e1ab19112b2bbf7c3a87f9643c4 +CT = 6d9e05705cd7af7889eda80768c328505045030f6856414f8240d85bb2ac8d82b32de6adb61df5f7e2f01d01351231dfb275cf +Tag = d777a0a7330c95db + +Count = 5 +Key = b47e8d3dad3e39b16a03e17a5536cbae +IV = be00e11f743d439a8b5e17c2 +PT = 05afcc9f8cc12c8dca745e53efaae09941f205fa2273558b2937ab2d1a52d6a22656465fca12244bc479d9221221ddfda72ec5 +AAD = 86d552fdcbdd43d22cc91b511e8b303d246b4c28 +CT = e134dfde093224647c034d990137ead4ec0816157dd854105484eb847b96f70c6ec72edd2ed59db46cff635bb5706805c30c86 +Tag = e1af7468f8575e0e + +Count = 6 +Key = ab0eb9dd319cbedd237241026327292d +IV = e17d53bc3baf1c9471c5c0ad +PT = df3e2867ff18bca421bcae8413a8697f34efc14ddcc923f04f241b54799f32f63e02e1f0599e6ac568bdef35fdbbc8019537ed +AAD = e22cd8e803fde9df3c9b52a531958f946278b803 +CT = c858f02446cf5b0be3d38756c2e8a7873cc075023db3f8ea6282b6593142bdc1de00d5edfc37d1c9643a6438be0bff0f1bba1f +Tag = 0601fa1fbdc76117 + +Count = 7 +Key = fabf1d41fe93093bffc339b1a7015270 +IV = 7f8ace5da957f0e7c62fe880 +PT = 8a16776fb8b9406a6122ff6f30ca28499c0d634aff2ab337fe5a93299ffd55f9d56b7da4020b28889be9e1a3a0b852c3145006 +AAD = 4ac1ea91e1a703648ec6a13461cbffeb2793de42 +CT = c90c8f7582f3ba8ddc6f6f1832d08a36130d4a73666433752b46c281d89ee6f8815b960aaa640e9ee8944b41cd4c383eca1390 +Tag = c7255ae2e35f7ac4 + +Count = 8 +Key = 8c607ef0b472fb0f7d31194d9c8c2c89 +IV = 9a85c4e899afe3fcb1f439ba +PT = b5d825f103a23398d3ba6ee01de28e63176d8b92479722cac2ac0e7698bf937155687115a6262a0ed08a4420c209ed50b23551 +AAD = de7d075426679a20415307b452dc813d07274471 +CT = 0bfca01f9f35883f87f02764b2676c5ff346a1cf3fddf77c796210c51795656b4181671aec3e842e022a8910dace8bb55f0d7b +Tag = 6a6229ae2faade67 + +Count = 9 +Key = 36abd870c1331e15f33e5a8e7a959e92 +IV = 3bcb3217b7c9d70cd3424aa7 +PT = 7b2f4be717282fae4c86f04b8b34c19cfb9ceb43af7cde7d2dd986d7bcbe91e106e1640d9c1c8ad8fb29f3efed89bafc2b856a +AAD = 4e1fe8614110f4970b53489e8d2c51a253b70c52 +CT = 7faee022b6d4b861ae3a255dbac35c54ba6fd6615b13376b5da88dd2cf759eda972837e7b60a6d89cab5c428dcd256a32026f0 +Tag = 77c1ec50419a3ec5 + +Count = 10 +Key = aa68718082889682b94ef1b2d9afee26 +IV = cf00522d96a541ffacbf2aa8 +PT = 7f4c9e270812f74dbc1c3a3f4708efda65cf7b22abe559fe107eca9760438f53f7cdbe32565d2109969020949581781d45d7e4 +AAD = 34d091e3fdd225277ba5fff5a95d6adb423cec60 +CT = ee4d090d353e9774a69d1dc62801e3e2f90547479812aa2cfa6548b482bbc5e891896167072e8313b81779bda7552e142f6cc5 +Tag = a81aa53f886335bc + +Count = 11 +Key = 04132a929de92612f01098d168012b00 +IV = f9a2258fd28f5a5b5f3881e1 +PT = e035cebdb35208f54c223250c8e7cb4854fc585e0535d3f90b1e449a74203c615a2b0cf9c673127fdc44126f09c87cc2278238 +AAD = 8211eee2d549f2a98f04a76b663c3c1f9f42c2e3 +CT = ebc5322c2af081eb72f135b9976dd0a86355bc2e4d588bcf3dfc093b9ba74931ad1c28ecf39be5b19b81c952690300bad5b14a +Tag = 4a60f3082c0dbed4 + +Count = 12 +Key = e6c3b8a14eff030f76a90930a17ee9ca +IV = 6f4c4d14779a0fa754fe0f84 +PT = fb8cd44992153c4a717780c17a57ebad221a0f4e134282952082e240fed5c029e37e4fe84e06e4e8346ff8c3459729d80b22b6 +AAD = 3b7e57f55891fa2e17bb253dea2e76357b24fa31 +CT = 7b5f8bfffa7652ce7cd4fd7f800a9f2c59a2bbd80281a918b4ad9bdedbcc9bd9b7b7ae492126fb9d1887c28c4f11ec0bbf0aed +Tag = 420e188c7c6644a5 + +Count = 13 +Key = d6935c733baef7f6881b109bc9628425 +IV = bff013abbeb5968a5e5f2a0d +PT = 03d1a4999798721231f427ec1b80136fc4dcdb052f9b0af00f420c5c57cad56a7bdf19eec541d4e27718d31644c7cbef66a207 +AAD = 01991494f5dd6dbbe510be457e3f648db68ed955 +CT = 1e128cde7440197cf5bdd095b0a41fd88c54fabfcfe2a8fdcce6ce8b6ebb74b1f8bbc3219ca7fd332488ae185a1807b041e239 +Tag = 1de0fcc0954c3172 + +Count = 14 +Key = 5cfeabd911b26f0891ae95830c7f8dba +IV = df306c5e077ac7652af0b686 +PT = 24c671e3a4515cf5a747a0edecb5edc6f3ecdb17aa7bc4ce2457560491438879161fd5b9495336134a0f30c18f151f1a606820 +AAD = 327e1d92cb1d20fb7fa130da03239faf2b8dc201 +CT = afecb52e31a67218bf03970f03470661bd40cbf27a7cf2060781cbf7d3633449896cec0483c4eb3f9a6977bd327c698a4bc048 +Tag = bcda177699e17474 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = e64903a77d2c8f54e5741354895f9f25 +IV = 75bfc0f3c6ac071af0434318 +PT = 19561f57d57d9a961bbc6ac5634556d005fa6010d90bd218c6277537a43f8d3fa8f29a16e4cc495b49b8af195d917cb760c34f +AAD = 416b40f14bdb9f0acef996c963d23bcf10b72518 +CT = 898abb3d7069c05919046fe48ca9a443a5d2bd2d28503fd0a2716b2ef5a175f74868f7917f5542144b6704df8a42cc11c965c3 +Tag = 5c526f9d + +Count = 1 +Key = 45dd60025c54323c1bd0a38c4a84c508 +IV = 1de838e975249f8e17a25708 +PT = 6986c267eda48c8a68e13b3b7b6f18338544b5491cd7449f25d5741409cf111176653f215a6b1bead397894224987b3225d07a +AAD = b53f5ae75cf694ac68422047fc497d2b8c561308 +CT = 70024ba889c805b3598bac816d128617e23f7783f0c0d25bce7f5e5e31f827c0b1914526bf245ff7c280bb699274373008cda0 +Tag = 6c8500ee + +Count = 2 +Key = 255d256f15aa3482d9a7165d62baa386 +IV = 3883067d6412a92fcd0d91b4 +PT = 4d28d8f710bc5b6bef99ae1fe6e354d432c67e43885008b076a93f343297287e17af4cb96b95c800b7005c3bbe91ae32a37d8f +AAD = c4c450344b22db67d6c01813f62b6ec2df98c4ac +CT = d06a720ca49d4b3a67044474b70c8f2544683ccfcc18f84aac864184bdd16c70b07a018abdba2dc31ef16f101c624f4f76bd2e +Tag = 677b0c42 + +Count = 3 +Key = 55637a4e77ee23f4c3c791b8674860c4 +IV = 4f9514a70659544799e6f4fc +PT = 3e97564fc17b6e0710ac7cd8f0681e64299ed9565760f586d3774ac1612d7e5ce657800be283891a843b51238280678286347d +AAD = 7261af425a0e590c7ffa50e2b564a71877cb813d +CT = 224bf4829f1809723d066f59ab2787cd0d5b1f5fc1ed6672726724b632faa392cea7e620fb11b573bba053dce1c4a49e1f474f +Tag = 5b2246e8 + +Count = 4 +Key = d2d262e860a7647fff73d812f74f80ca +IV = 1c2dafd0254a40d23db7a94a +PT = c81164e388f641dadf26a3b6301f6732065a70d454601327d650a59fbeaf77ed3260da25823f1948d7b085df2ab42a4a9e4ef9 +AAD = 54919bee54c64d2fede9733be672424be20e41ef +CT = a94a3005ee799f02821609148fd8f70870a8cf25f7b9e7314c140b7330d2f11b0d9bed76b53292a5f70a90c03646fce9eced3e +Tag = 72eac2a2 + +Count = 5 +Key = 9648c3a7d8fd9becca05db4b0109ca4b +IV = 381be5dbf2753ab19b070df9 +PT = 44659557b1cedf4571373ab4be6e13e20d65482de6d02a60479314f2fed7786d5adbdec093e30e205f80493391ad4f743821a5 +AAD = 601edbc8be45a662e94b1effdd9256f79a43bdb5 +CT = ca899483430553078e2ea8f26313ef373f098a34c3db73aa581f7a33ac5c100371126df12a3a60acc842f806b2b1818567176f +Tag = 64d4cf2c + +Count = 6 +Key = 0ad73e8b4e1184019fdf64fd5443ed61 +IV = 5cccb1c3072bee9d44f05fa7 +PT = 133e755f8bc413ab53a9739a8c7a1c4454e752070182e09e58c63ed3a0498f9eb7a10e5cd3aac089b0f1ede3af519a899dea2e +AAD = 1f999a02ba7092d0e76ec7aad08a37da91151561 +CT = af550d3783f218d7677fc4a3e62e79a6555cdbcbc64441d02d457510bbe034f4dfc0761632a0d997a38d2cf0162a4f870f29af +Tag = 416d48be + +Count = 7 +Key = 31b6061ac6a2081c3b2185b7421ee210 +IV = f1034c33d709a9c5a676122e +PT = 8e7ae7cf8f7738e85eb1590ef17a78f115c84b012b77906037ff7c16aa78466e6769b33a978a8b274d46c2c2f76384212698cb +AAD = b8339972a9b99593eb54e589b1547d5fcf85f6f5 +CT = b92dc5b2abb63b3212fed009ec7b1a07e5e0b87ce17d1c384f7ce65e629d2cdc1fe931cf6d7310d9c87af0f56a789c1a41177d +Tag = ae55a957 + +Count = 8 +Key = c88db40ee5437be9b144d9f2042f118e +IV = 5011953d58cf1fe9893c2bfe +PT = a201a8abded7f131df3af4ed37ef881cd57aecfae67b3cde1dd8fab30a1a66a00c8096c81f856e86b704ebcd2d4e0d15d93498 +AAD = ae917e3ba9ec55d6962d115e9c056a0552b995f9 +CT = 2f215155efac6df21e5d820d82292ff7bb8acc562bc00f9a0e45a42824805a09cc4665eb040732037cad95c3e2c2c052114653 +Tag = aa5d062c + +Count = 9 +Key = 54415f6d9e0e736590cfd4796b1e18e3 +IV = 8b8b82ce67348ead71e469d9 +PT = 8872ff2e75a896a6438df7b11759083f5c915898ddd82d1d63414cd379c697397a070a0b72d1ca101bbaf8a8b51d9a88e8c359 +AAD = b0070c2e1f67b9d8be86c065493c95b0ccf87950 +CT = de7ff6e5d3768ec7e0291acbd2d2cafdf2c7979f9b7ad9e9b9a2abc315285624ae227033e18082e08b85552d71becf3cdf10b3 +Tag = f7cf9628 + +Count = 10 +Key = 91b0da86ca7e089344558471ef5e9cf5 +IV = a7744626c936f7cbf03eb69b +PT = a30b6a3b3a0d8c049d6b5e22bfc9fda4158b8a9001014f2cd7b140874993b7bffad29373c42716e8026789f0023b92b6a5df66 +AAD = 1fb856fa3a222c0e82ad6d419ce62c027c9620fd +CT = 78b9c21df1f64b75392e32a9e4a5d04cc47f546a639344f4054b16ba4c52e9077e726d16634e4c5451fa27f1bada35691064aa +Tag = cacd500c + +Count = 11 +Key = ea73fdb92042ff5cfb2852f9ecea6ddc +IV = 9e88c0b825919cf41ba66493 +PT = 8470e645ffc04dc6ad822ea074afd2e8106b4f54f2d892562c205685bd0f967e6f374d6846e639e6ba11a37e412e5270750058 +AAD = 68eaa950ce80b25a53035cd598849d916631c3d6 +CT = 597c820932a6f47c39dfd4872590162aeb5cebb33b774000e6581cf1d9bd2c4d66d190c071094e86d0b59dd0268bec9c7e7238 +Tag = f3e3196f + +Count = 12 +Key = 74dea9c12de22e534449d12ff558b968 +IV = b2c3226ab495982cbaf31ba6 +PT = 8ef73eaa0a19467017212a11f0c21898dcfea356fe484c0d6ea6b7375a8f802ae78bd1d54fe00e211daee623652303d1458b4d +AAD = b672bf9768f1d12e831e9c88a02b75dcc3db5d65 +CT = 9dae989665d365f1b7665dd72e25075fd1f4c580c4ceb9127c748a2217efc069e6bc01049a9a3866574719589bfcacf200d729 +Tag = 3be56015 + +Count = 13 +Key = 5074a1afd0f08182346aeaee925c2295 +IV = d9e30ddc84b0ff5cc8bfad46 +PT = 301ab24649172f7ea8f6c1ef01c3a60f4bc9e0ef5678423ffaec36a49a03458f89ca2553835e8a89f4dee5987ebc5b9a8f59ed +AAD = e96e5081366e785ca8821a9590644e50eee7b6a0 +CT = b430ae6f7c68bddd7d56b8e855c1aa0336de80142e9068f9122e0615bcc1291e7d0a5db2c7cade4d11e010ed1a59a9a3080c26 +Tag = 384076ce + +Count = 14 +Key = 06b72ee8fe953a1cf593c783a36372ee +IV = 5b2cfe04dc516e8a19f1d0c5 +PT = 132e1257c398ebc233c0af1299f0d6c2c1f8432033775f9597601a1c2761553a6a524d144c528606dade57281138855a85469d +AAD = e7d4abde57a03ad40ea62f62a07f2ec27eb8a061 +CT = 8995a9e33e175a0402df7f6b9cb6a0cd6a3eb4d506ecadc329bbcde0e4166cc572fb2f0393f448d3782d6f9983e72edda46dac +Tag = 93c0aaac + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 3c50622868f450aa0928990c15e1eb36 +IV = 811d5290768d57e7d87bb6c7 +PT = edd0a8f82833e919740fe2bf9edecf4ac86c72dc89490cef7b6983aaaf99fc856c5cc87d63f98a7c861bf3271fea6da86a15ab +AAD = dae2c7e0a3d3fd2bc04eca19b15178a003b5cf84890c28c2a615f20f8adb427f70698c12b2ef87780c1193fbb8cd1674 +CT = a51425b0608d3b4b46d4ec05ca1ddaf02bdd2089ae0554ecfb2a1c84c63d82dc71ddb9ab1b1f0b49de2ad27c2b5173e7000aa6 +Tag = bd9b5efca48008cd973a4f7d2c723844 + +Count = 1 +Key = a7268c7ef7bbc2be4a3ffc282019fba6 +IV = df2c5bd03f2cc45a07173144 +PT = f88beae931a68ed813a35bef54bd9999fd23ce4a1d258e34fac184ba799132a408bde4ced23748db5b35ea9692f4e1561d4cdc +AAD = 445b4ec6c505f132d3b012df624fe8f6e9cda0d8ec5e1ef7cde8b89259e167d68c1fb4dc4a78e5c59377f32ef5cea4b9 +CT = ea53e264e1b0f67ee37c81234d3b9c253ab1a94a4ad17779efcbeef0526129b0fd224b5884eb8b38e35ce0bdda222e30f576f3 +Tag = 38b5ef8d660f856d495db50f702bb462 + +Count = 2 +Key = 183dc6bc9a497304011e5aa41dc575b4 +IV = 0f4e2961d8ac4f81f559de7c +PT = aaad38b847c7a6fce801ff4ba62639592c487382e7e3ab0f29d0dde432f31028c0b14c67c15cc3664c660c197b4792433924d4 +AAD = 8ade36c0d68fa431838beb9f1d6a422365024bd5019979fa9b09b7c44b785e051dded5c9e21f342cf376e72cdae95207 +CT = 38e09d7612a536a80d2e32a46b0e1e4ab1e1022e854461aa7e695d7aa4a003e379c0e270face29e19d74d40a60fb2e8c726aca +Tag = 4004e9763f4a7d0fcb0ba57c7611f281 + +Count = 3 +Key = 047dcb88c16bd0d32d9a6272b079e379 +IV = d174ed8d60c0d5c814dad4f6 +PT = f957104f1fd87e9e1d6d35171a1cbe8fb22cb4ea7aba31e763e77c6f291db81c63c910cf9b8d37bf93fa28fd4e2808480b5836 +AAD = c6567022bdb5f2f3a1e3d78e0202a5f6b457c0ebf46a4b0620afa2b5ba706f1a37f932058afdb8cf4eb9a3815ecad445 +CT = b7f83cb77ef93895a6721dfafde8930090d2a9f39a1d605bbb8d7fe0f0fa838fc6d1f0e5e532592d0c688231e24139e635b502 +Tag = 452368d42f8a1211b4a018ad1acf837d + +Count = 4 +Key = 7286fe98ac0c03252f3ab7eabb8988eb +IV = e32e708c6302ce26902bd599 +PT = 58fad037e6efa65630ca14698725538c686ced497c584afad218fa3b753beaa7a72fab9c4c108ad14bf5f024613f91a1155679 +AAD = 4b9003a0259ed70aebfabc90abe750b888e9db453d9f95790d752d4ab9f208ee478046abaa9b2bf24564216071613297 +CT = ead0bc4e5902600598f9ca9e91cf4543420cd64e281a710fe890e0cffefa803d8c046390da6f50fd44b7e87861ac4088b5266d +Tag = 970659d5170d654b55ca5f79a9e06957 + +Count = 5 +Key = 0dc3090d2786eff167b291e895ac2261 +IV = 6ac8f3a8a61448e1fec06d6d +PT = 3017261d20002fafdae4252dcc9b1214e9a9ee959533d34aab136249ca4ef52ab205ea69efe6fd21ed3c90f8933593fc63454c +AAD = a85588d465b1ec2d935ce1ba5d6397bd57055915329830b1aa4a934f2080ecf48ab5f6269ccaaed8a10f398be64cdb8b +CT = 1fd7efc41a54374048e5d2a196bbb5b78452639db232c4c106fa8da6b1471ac14aaf2328e959a9c55f201d7271451151bfb48d +Tag = be7ff0322d4d42009dadf48e5aa939d5 + +Count = 6 +Key = d169282809ddae3384a10b908b8526c3 +IV = c9448a902e05f8ab10ad92e8 +PT = 490b469f84939d62e00fdef53430232e5b0ef130d586bbfa8a3d3ba30d91614b64e0da092f16b83a46c9386ebed0bf9e863950 +AAD = 71b1efec4e50041d0446e03b07ffdff05c6259d90aa7b33189e95360bfeba23afe914d0f17db6ba47ea165cc06d501e7 +CT = ca693b2350d23808840870c2371f49eda453f2e189c70b975af2531b9e8b0d8c262829e61f8990804844ac941b2fe47399a88d +Tag = 8bc9e25a568987b427cfc5b42e412d7a + +Count = 7 +Key = 93814839da20b560268ad8fe257a9372 +IV = f157ac4a83a7b73b8085085d +PT = bbad922de6dea7153724a333554e1aaf2e37aecd182b45885d04f3d11c3763fe59c26828d30c9da95adb75fbd5fbd2e6ece12c +AAD = 9b422e74f2109925264c1c0dda2b68c979afdac110e42b81afd2c59e2df3ff3f93832552b626b3821212a3e20c401949 +CT = be069b414d93d4f641b053f1ee7a61e23bf287a63b1d06c05393e8faa5856d22724bfc511a306ae4ba12c0a051b479e35c229a +Tag = 53a62f9431b8e6124c9bf6298f1b2880 + +Count = 8 +Key = 3262f2442b89a3641456cfa3d4d186fc +IV = d0fc4f8f7bb74a1763862407 +PT = fcdd7cd83a366f94289d8b470345fccea2aff778edd9f60c6d8273b3277a843965f0d4ff8be1e61ee82caae8754b87e747b2d5 +AAD = bee1c8ed52bf347431babccac2a64275224045d5c1122eb8c2ac3d8791a5a9c37abf050c406ebeb947428bb60d58d062 +CT = d0e5cecf32ef65035546cf8a99dc7e6f4320376f8e16a51958dc796c9b9a37a0d74e7b9979a0ab5b88ad92988dc184b964a11f +Tag = 37c52cd41ee2d519aa8363b186aadcc4 + +Count = 9 +Key = fc937348a4468afaa629f158dcff5a6e +IV = 783aa881ba0938ed8fe8ea30 +PT = 0db6285ed23143762d6e9b708f0c84ed3f48d51e8b3da549f1ce130bd434d0c38238d0e2c6e2b7f6a35eba2cd84d28781dff19 +AAD = 31b2892a669cce974c2b467d84c45189b335a5943d43b2f158d5c173be4fe31f8142f1b697c772f175a65dd87ae5fb52 +CT = 29d665791fac09a72dd2178d69de16a5ea3432bf70acfaa174ec4cc93df7efff5f3c057c1ffacc80eb2991b1c79ab565c1f97a +Tag = 113a2dd0be60dd45ea4f3d8b90c1122c + +Count = 10 +Key = a9a33b71eb81d091ac1d15e48a19a067 +IV = bb86b999753142de6573e863 +PT = 910246d2435786fdc8f950a0e3a79d081ea1c41eebb875de2eee9daaa8250850f636522cc953419767ad24982bf14427243971 +AAD = 7a4ba8b30eeee2f457b74699d2ff77d8f9912f09757972bf8e5e8ec37684a8e1523b0afec0aeb5fababdd945fb55eac4 +CT = a4cb039956e398846bac343db72b72ded486f64fc58c8b3c3d8fbf1f91b00f4c7c2a560f88f73b7eda4bf2bcc9d4f7a6c62f9f +Tag = dd594f34a29fa02af3accf567d7c5206 + +Count = 11 +Key = 7cb2f97b5609e76040712a95bfe84fad +IV = 1c2398ea67c1246540c469ab +PT = ede4b5732c8fa7bebc87f72da2e243dd4173ddad700bef65adeeaa0c570392fc477b3d2b7d404bea40074a6d58a00f2466c1bc +AAD = add3e89872e09f64d828463d5df7519de1a9db7639229b67901bd27ac3c3ea61ac1612067d72037adadd2e14475584a8 +CT = 6c6dd8a691eb22294818e61e33afea9e49353d1bb6f645e821d7c4c31fb440dd8cc2651450a764a22038978651ffd33d4be108 +Tag = ea246bb5e2ab3282c27927cd983a7297 + +Count = 12 +Key = 402fc879126ff144792af40975f0a24c +IV = bdbf6e81feff5a11df17e205 +PT = 8c60dce80b0a5ef578d680d1c811967265cc7664c751faf4d1472dac5b96e26e3be439b19e3da83b1a19dc82ba00d435e03342 +AAD = de8443df44d93b3734d8820b9a26010d6ce09c1bb9a02260235a40299d38330f67792d0f54c0c0fb35ef9febcbccd02b +CT = 8753e01ee5c088bcae1309b2e4269d9fb15491831a1e17140808f30aee4fa528020a7fc7df8627cda9b7401c44b15aa1e7c644 +Tag = 0f457c92a99ac1eba1b6105d6d23ce53 + +Count = 13 +Key = ca5549614dc0324564002139fd6a360e +IV = 8a4de31b0ddc6d2a3570fac0 +PT = 37610c187d287982e9afc15a9250aeb91933369dedc5910e4de584d70c27b7e4e0a7b02869299100fd8ef75bc66ae4bed2a853 +AAD = 6b88709627c28825569d60772b6642a9dadbf3ea9904b290dc632a837d579d2e81284bf4350923c1863e0e8d5894a34b +CT = 29505af512768c89d84054cce8f8889e9b4a095098b9cec7e26a6afcf7aee5132fb43caf7edc068fb6aea3570ad9310a5c3329 +Tag = d0918033b6db5f999f26bed94d352af6 + +Count = 14 +Key = a68b64267d0d1bc2d94b9f691ff8e9e4 +IV = a27706bd8eae8bb3dc95a1b9 +PT = 4a99ab41c604d7210069d9228dd3223b6f7da215ddda16cf93bf6658784cbbfe08ef6a0152cef368415dff9f8d1d05ead043f9 +AAD = 8734fa3cecb5793b2b7bcb4fcde7808303c27c2c002a27e0dbaa378b3df4909e37c238a24faf49b6cd134419948bdec6 +CT = 43aa0432a1b468bec64de45b66b5fb3e8b2bd9277801ef53a1cd6757bfd45aab9c6b23f0a1f4b30fa33fe52fabe7bb86281964 +Tag = fd39ef2e94707a1aba57ff2de7c17927 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 12fce9eb72ba01b134c0f23e0a3a3580 +IV = b3f0d404c9dd36d8b34393d8 +PT = adddebd5a611adbb807e817836e78421cdc263a8ba4d29f9fbab3015027d1bcbe69b0f4b287fab093da00842e26caa716b9d7d +AAD = 6b6a855df51746b97b5b78198e8e5780c2f2ffb324dfaa52b7e2aab2fcd7cd9f67001c234110d4724a529a5ad7c8468a +CT = 0ef6554f0a7ad45cdef373e2e2a86669e7503345c5d4cdd91cb57001326684344a9ecbd20830efe24742d1d1cfbe08023f8f25 +Tag = 572409bdf9a6bf3edf7e05ef08f7a1 + +Count = 1 +Key = 1e5f2bff467e21482ad5c586d2163bef +IV = 3bde73477d026025884b15c9 +PT = 0d40d9a770284e5aeef117a437ce158051c6be9b529b81be90665a6286a12d526a1eeb22fe1ff6fd04dfcc65d7b27d7d5ea89e +AAD = e55450cea6c6edcde958e464b2ee83d0d001e99b3a3ba4e9e9cb35a296ab0d67db78c1d8225eaa175cf5f102d5cbdd77 +CT = 24cda88c2d86f313da82cde6135ec699169179b4ae45f1b739610ee4a563364c03e61e61c1185356ad5df676a4b742fab79447 +Tag = ec89f43b14e2bea1fe033433f76e2c + +Count = 2 +Key = 5b3c29ed806e45be6c50755988e69018 +IV = 1b3bdcbfe21bfac6cacce472 +PT = 0bd875c5d97d7fe4675451f27cf55149ccbf2d0c4907e8857202ed995d4068d7935e50c3a22e44b2736b0d63fa2317c94728d2 +AAD = ff88a3b1df07af71debce0ecdb11099fdde606b44856b38b9455c3aa99bb2d340ff902670c6d88805b32e917e58b8a2a +CT = 63af0252e862471d1137d3e5e0e70c42d0bf5d1e6646360fada6552ec1ffedb9b843b685cd1db047f05e0245cd45e58156160b +Tag = 29651583403b4936e9bb6bfef4ed53 + +Count = 3 +Key = d9b129232d6a7941c4f8b99205945823 +IV = 843e1362b26918601978d16d +PT = d0f868e69d06d0240fa0c3d1cc81eff5f3374feccb75a6902b5ae565de1ae691d6492ccdc0689a4da3a51ee5e457d568581045 +AAD = 291cbebea9a5e460a855ab249e79e20b71a8935961565d6c3fd1987612ca9e4cb746589c6594fd7698f41efefda1b147 +CT = 40551a5cf9b3406efc40f858defa4500251c4e7debf3cdc5409ca3daabf3751b02f36baa86ed9481fbce2436b68501766c966e +Tag = ff9cf1b5432fab9cec47e99aa5c380 + +Count = 4 +Key = 26a2bacb93702446a28e1600271e3bdb +IV = 4e433f372a22b2b8f0e6289e +PT = 9cdafbc6cd69a932aea56660f71496b38dc2e72cf0664d5f847ddd43b2df36ab10e830595850910c18c2959b9bcf81740e3343 +AAD = 8e93a7bc1a2c38ef2211e0393587a7021a6362f6c9d54096b41ff0ae7b1a95e9b0eee7b4c00253b2fa779837b1d70421 +CT = a942b318007a721677dd562eaeeecd471b2b30a3fec8e4ddab143d4cf3f616547e51d1e52f96a6085763b76b88ae63a8322c8f +Tag = d4e1b4c8ce3e1d1c26f111aab49143 + +Count = 5 +Key = ed0c6b4dadb03f2d129936508261ff4d +IV = 8dc8b8fd5d1bc6a153b7f7b8 +PT = d5d9b3d53298c961bbf656e0ad10dd2227ff7d929b6b3692c5e8f186a2d3c0ec3c17232141d1da3da2a8896f6cc02b09b443a5 +AAD = ac44b14bbd2eeb530b2ef725e4104eb654a72e00785743d519322a89b16c61d33685b65a0adeeafe24360dddc9ff17c0 +CT = 3eb2f2fa50a2db074588425046a4c3a2bbc1b1763b599c8467cd5dc8c556a15f76cf07be46c14822684a6a80c5dbe0e21795fa +Tag = ca37353c46f75144ff9558d6cdfb85 + +Count = 6 +Key = b9f35e75a7ec8d50446dd6487451275b +IV = 4909c07374689a999ff8fc3a +PT = 90572f5fe2bc1b2f90308a1bcc22068cbdecead8c01e807bbcfd8bf98efbdb552b0ffdf7ddf0816f3cd107acc3858b54df3223 +AAD = cf5962e306f8a129048ad7d50c3978f604acc75bcf73e3a29bf3cca2ee74521f303ac898b9e8cc476743af4ce71cbcf6 +CT = 6e4a139c9c45d61a7a79ccc7ad16880ed7f3d43aad6e0cbea8508605e441e75f6cf02c437eee735a35dea5275daea27c23dfc8 +Tag = dc4e698054a14d6cfa064e61bb4669 + +Count = 7 +Key = 06d14404905598d31c721f1184b337ee +IV = b1a184952080b35911feab56 +PT = 5f88e89440ae9647fef5ce81497c39a750bc5b8d1dc826b1edacb8a970091b144b6d91b86e09d912138b48d17bee46f6dc7401 +AAD = 5e3da426d56e2e91f738e49938046b3f3325e3b7d6f20f8d10b85d378962c27544bea9323387c72e19a5377519322fcd +CT = c01be2595654fc0a26d36428022858808052814c05a58efa48b4fb9cce5321684670b3a44ca8453eaee3e8f25d67398a178515 +Tag = c489807d62b9ce1808f7e107458446 + +Count = 8 +Key = 6fb3109df78efcce266bf47bf5f8c5d7 +IV = dc530d6fd333078635df736e +PT = b210e08ee249c7e40499e2a2ea3e7473720f1400353d35c24e569b794f07764fd84c33f93826af82760d1d9b901fbd8b71a133 +AAD = 55e52d45496524e2e447b53f6bd8777f7715f80d3d3c5413ab968072b346300ea0a8c771085b3af4354321bc81008dd7 +CT = f3479abd7c734bf35f83ac467ac447b3b76cdcb828f675b1af9fda20bfa2204f8b3213922df5eb0508ba156bcb2b2a5a84c5a9 +Tag = e8c355d5ea890ab6ba7cd8e2fb652a + +Count = 9 +Key = 87e78b3c4c7e5878ca235a956e9085fd +IV = 69261104eb2c9ed23b282738 +PT = 48999e5da25f89c475fcce7eb1a5c7037fb7abd2f7ad1811bde3c0d11dcd5058c52c920839020fb57d79c517117d5708344754 +AAD = 4b16dd93bb3d1f1a6c5c116c71ed7c21330cd3647a508d160c3091d0a239c39bcfea8f86b084f8af90cf1f2b80f854d1 +CT = 707b7164c12fe4eb6b137c98af67c36625d774ec9fa1fe115a13839c1976ab318849d0f2d3443ac9c19cd60c1895419efb3f21 +Tag = c76cf7a815481dc8aaf75627e89372 + +Count = 10 +Key = 9b61d4c84dd66fe1c00c87f8cd6bf772 +IV = c567617d29a17a45227904b6 +PT = 45814d4c383538ab9b02483802b4d2ded2ce19833bdd4c2debd5a5136d84d731180adf1af832d0d7b0aa2de4bd73382a64d4e7 +AAD = 2afcf315cb899dd7a0d336120c140ae158b1c599dd90828c713a7f67c5eb0663d03a55900db62e8ca618323e62227749 +CT = 266356a3c8200d84a33651d139e5bd135d8d40fcca579928fd652d4026ee5dfff3b8729f34057947b9d317ae0d6fe8dac677be +Tag = 5de4d67144a2ef25989d094afdd987 + +Count = 11 +Key = 2270327670c4c912f069b7067ca3deab +IV = f0ff6596c1b5b666268e4a72 +PT = d1c5cebbcf20c1dbe285520cd4c168251d97c855186653e922734d3595ea2de34e68e63aece77e64df0b835fea2aa92443219c +AAD = 44025e62f778cb38e695dc9c1925b4e9f47751bdcb0d90d4fe0dc6ec104e084212218828abc13a9d0d81c253dd7d7769 +CT = d57d88851036db50b6426d404a55234812404fe4eda60a6dd33adc3519f575da8467a0c4a2d9fd0192bdc216d6adb10a2c2d01 +Tag = 1844505f86d858971aa7cc944ea7f2 + +Count = 12 +Key = bedae7a76e09e592b05f1f12d02956d2 +IV = 0088b2795f03efc2e4ca6f39 +PT = 38c046020d3f9c138fd731d78af20df4eddfd2a93535a6e4c1165c2d444b79e32e8a0452b15887793562c4bdc87a961653e39c +AAD = b1b80a0731be37d189313d16544770a178b20c3b36e10f1e32c7f5ffc8ab6253e55262b6bb9a93425f6e2dad23125021 +CT = 73d31c602ef4ea8670cd49e61c1ed0dd6e23b00d073cdc00a50925aa419797d4fc736529ae991db5c9bf1f929ff514a6d4218f +Tag = 69a5331d7d663ff12b8590c26434b9 + +Count = 13 +Key = 4e538c7c508ce087b6b946eea1eab028 +IV = d3d83a4a7dbda22cc487368b +PT = 6bcafc454ecc10045e45540cb7826951c74977485cab7b7b4ab8fa632f045f8a3e2fc5b8c8473b9d895c43b9abb17ba3151f9b +AAD = fc142e5581308181f27c6da3944a93ceb1c31285ee0625663c56a4cf914d56822be1a89d33f47abb9d2b535a9057d1ba +CT = 0b574a0563554e9bdfcfa90ced1be66b908fb1f4b39fefe6c712b390869ded71d636d967f38588ca6eb11e387654bef87d9dc7 +Tag = d1bd61770fc5b6e16f7de05e49f71b + +Count = 14 +Key = 30a4c84ea46a331a35ad0aa1fbbeddde +IV = aae8262fb590ade8683f2dbf +PT = 11851bdb10861507ed4658a5ae01cc857fea284471991e2c23a4162894d61fcdd741f09727536d1bec30bd6d2e1b0e4cbf44db +AAD = 9b2ce3c57e18f00384cf647bb23dbc47750b86bf8a7a59b361076555d098d8717e37996c77c64fd79a9c1532e240e0fb +CT = 35eeaaca929bce6fa57ca155f02c81bd5023b73fb87c2dbdfc8a34c6b3c4ea810df653d814e4a58e752594eab9b24f4b04ef91 +Tag = a076f637f4a8b73527c4e9b06c3f34 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 8adf79d97bf600f2661a388f5e983f34 +IV = 5308ed747cd7f02283a57797 +PT = c8e23a6c8b256856439c3e9c01383812e3842f2c93bb4cea965fda454f285cfb1547b6b26114bbf9289e1c184c526faba5dcec +AAD = 77b341f83c71d048d9a422d70fb635e3d2dc14b03cc089917540cfd84cced9a0bd3a200af36a97c205380e7f0483d058 +CT = e2e99c720427c27c0e2075fc9a57453d8c5de7f9e9d66694418026da8f598c1aa8815748c547fea937194df16743aec3d940c6 +Tag = 46018aac9a5ec9dc05029d0c663c + +Count = 1 +Key = 1562c5acd4d16a253dbff294aaa429c3 +IV = 7f73eb617f6d78178dfccce1 +PT = 6648d9cb5a28f68654605b036573239eaa626a086f583e5e677572638f73b49db4c72ff20a2962f7c5be71137818e0f82f7da2 +AAD = 2564054e5da59661c56334e2833d7215c9954d7c0083260ff3f85c01afc3ae4ae7b6bc0052b94ff9360a92bc3d5816e2 +CT = 9b4c7c589840bb47aefc0944f77c63c4228547ed6986a919fc9ee5fc8a6aa87a25fa4cd4bef2b0bb415e5449b9ca09263b4af6 +Tag = 1fc926d39915f8770a7b71bdbd88 + +Count = 2 +Key = a259f51524bbdbdcdfd131f9660f94d9 +IV = 6be3b0eea84fe77a36b1b3fc +PT = ae61712f40b7e3101868dd29c513d260adc38846da5ec21e1bad8fbe2eef19fda0629cac2a3625421261b4af7520bbf56b3d52 +AAD = 4e3a248581cea0d7b86fabe1ab2d24bf8b74f5959d27edf693e7a040d855587a0d2321ceaa4afdc36b25250418d19c61 +CT = a438200da9dc9b53735c1a5dc3a33b7bc13bf6dafc34bb6cb7bcc904fa0ee4247797142a795623ad481d037bc846a25c095de3 +Tag = 556cabd646df9d3759f64f659716 + +Count = 3 +Key = 5722c9207141c6b57cc6cb3f96e15f05 +IV = fbe0fff958e94344e746a374 +PT = 7579378103f9f1e5df3912908d3f9420676dd05099d3bcb3b051b1a52f8497caa78f5cbd2df8808c41d360ac647a2e17aec81e +AAD = 6fecbdf02ce99c13f418891bf84f8a43f41cf6954c03e45b327a0b4702971bf384b62c274f9077469d98ea76dd52231f +CT = 55345d2ce59cfe0f8777867b4aea597feba1a8f6bd04ab6bc40b9f9e23dad4a87136274909fc9f1c68ee4a652fcf3ae16cc881 +Tag = 699cea8e87214086be5c3d6872fd + +Count = 4 +Key = 6479f7ee6594a4a444e730629dd3648a +IV = d9a892e65b46036e30e92ba9 +PT = c2e5ff8c59347e1c166cbacb4e9c2c3a8d43436f6cc9c1862cb29acec463d2ed91522a40ab8ccfcfac4a47471fe35f7bb4d005 +AAD = cc24a52e82e7b61c8ccf8ce67551f251c9901ba6a0123e4fe2d7aae75bed730971e2f7d4f398e4459828286b04d61b3b +CT = 74186fedc179d12a9b4e72875413009134193e9b3f22a608f8cf59e29f4f7f24f457c2c53313d41ebcf0490238093884be491c +Tag = db7b1c0f0f0c635ea002d640fee5 + +Count = 5 +Key = daaf45e745f200f72b4e668e480273dc +IV = 4ff241f6990e047f0a4ae35d +PT = c5492e8f5a930643498814576ce87dde7797c9971570f397f5b7260e141e015d5ef0341f4460b5b7a1cfffb193bf9a32253663 +AAD = 39302fc1632045fae01fa62946f941c6ca87a7e34c6b675d7ae9ed7f817c45198710608ee7f9edd773f288beb5735dbd +CT = 8709bdb165bca12091f1d61106df0808b0426a6c73f8454945c8bb148f12b320cfe1070d379e0362a61aea14f0a4b6ad2210da +Tag = f43373fb4e4ba7678deb1baef238 + +Count = 6 +Key = 848cfcf5bbf017d53de8138e3a5273da +IV = 2d1bbe898283dee234e804ba +PT = d80f960e61fd41afca7943441a01cb8befc211e8fa66110a78601824dd282f1df609c893273799174037316b0cd0278c68df59 +AAD = b4df39ee831ef0822a63349f9d704b05c57d4b71b7751dba880b264d07ac94566c32a6641b7f76a3d4517ce46cae675d +CT = 0906558f4bfdb5d68395aa4ea70fdd6cc85f0ba87457142002aeb38b8ef94d649969e6ee5f34b3b9b454cffdad4575f2d0a0c1 +Tag = 77e82d82a9484a253367535ba29b + +Count = 7 +Key = af6d258d30d23b0c1201076faa7226ef +IV = a259eb7caf2d4b039e32d68e +PT = 8940de40a322482c926c93f8459acdc34fea4147fc88569371d4a243dd0d7d509789fe8edbab78375dadf0abbdd418920e63cd +AAD = ec39eddf4f2825c36f610e1c7c84b273a39ff6a984b43765d5b92aeb518de1c14c05a91fbb33fc338755e23fc11d96da +CT = 23e9e6c28cc174dd8541ad4e3696961f7837e914dcf2282885e519c67dea3f443f3def48c927ffa68372e93e1ba4c8e4f80a75 +Tag = 7a1d4ace3feefd4a26fafea50610 + +Count = 8 +Key = 528fb54831d22bc5d8134dbdc9e41cd7 +IV = ddec5254e2c51de4420ddf2e +PT = b66ad6ea2817cdc1e7c25c3f7a63354a7239f4a8023959f313b1031d798771876179ac2938bc7900395c0f8c973d0aab79f4e4 +AAD = 2fea0e8d522e075dc270b9ca85e6aa96bad607e674ca3d2123bab18690c6d83aeaba472519be4fc288b48735b5b524f3 +CT = 37eb2ba724c474dfab798941790b7e31d1b3537176ff799605fb471b4ace21fe0c6d5a8cd5182213ece64feecf2d6068d7cbf3 +Tag = 28d715e332a820bf658a8456b824 + +Count = 9 +Key = f1a6f7d65e3a97ce0fde36b71da2a3d7 +IV = 67f7d8e897ca763807434e09 +PT = 283d1861c4ba3ec88da4caaf9c79d5337d3eea1e9995efabb4054190d77d6248ac660c2b977d7213034a2f2c3b63a90a61a7ff +AAD = b25da186405a7a0b533eaa54b317560144303ee114922da65a9ff4a9e416e85145c6a3dc313b2721ec1694ebcc0ab96d +CT = 40ef00360deaf70f7ed4e0c69fab7e207509ee015dc5f9e7ed946fdc47080c86b095ead830f135f69ad7ab7a2c1e8e45311694 +Tag = b942166ad2e648bb609b28b2f1a1 + +Count = 10 +Key = 119ca0d553f2e093f0317d2c16d9fcb8 +IV = 3b6dfca4af55b0272372b0c3 +PT = 18e49197c4271b2cda9e1e527701a2e512ee20569c56c303f5993240585b1eed6faecf930c8f3ce1268247549518646b7fea53 +AAD = 09e860884925a61b6e134eda4229b68605eefe908863d0817532ca9fb581af3a634d8a01fb2e63a54b6a94463459dbd0 +CT = b3adf75d6afbf88b144bd70d8b9f6473fa349419718b60507aa8b30dc12fdb68b29eb9aaf0dc399c937f539f3a0ce86055f500 +Tag = d3610162c02c31bb8e673399a71f + +Count = 11 +Key = 9d2b9c2e1f2a3033bbb532696e72d54c +IV = b4efb08c61088b73589af584 +PT = e0ba98a1f0fc0179ec417774ec55c44723b28aaf0489077d5053842229669ad270b918c89da836dfda1e0d2b2b289ad33c68e8 +AAD = 59495ae925a81725f6db61cdd46400d54c1563082d6e827a525b869d2b2fdd6e75bd09452bf19750669f47da11c1331c +CT = 37290fae43fcc1fae3aa65351eb0a55dbe2f94fee782395543468249fff9611ed00eb101d2eb62dfbbd3845f320efd8cbaf8d2 +Tag = d76da01eeb23def34f2b39e1ca8e + +Count = 12 +Key = 2fe486d409f948cce08fea7258a5e441 +IV = 7b905cde9cac95386f88ad92 +PT = f4546ad333b530c88f1c3ad7c8f280496d2a66cbdd495ff1b12a6a6b13cbf29e012f063c5da9b126bff214686666220ce84ea6 +AAD = fcf95ec8ae88aab2aa9dc2d144b36a2cc73a9956e3aeae510b52cce3638718ecf9ba6911dd84717823db8bc2c261020a +CT = 4993271264e18b9b16ebd7f286920ded120fc3817b3336b290a34142c0ceac5fe887f797927201bb067acf5b7cb0681fee0477 +Tag = 5669af2503992e3cc6fb56f7de53 + +Count = 13 +Key = f796cb80d8372213ce222f248c02e9b8 +IV = 55adbe2b6639f785f0506c02 +PT = 797280cb9bfa774279144356b205a4393f896ccdb3ee4a3fb0f16ae6b703bc703c463d2ba1e1b3b682a9f8713d591665a0594f +AAD = 2d1e4caac4519f1512b9e8f930327a02b8de81cee98d7257f11905c28cf4d75cf51960aab2df1e1a10e5de68142a9148 +CT = 4b37f885c9222e8be1dd6acd027feb64a37aa87780e7669f1343be4ed982229d3f171c5fef9a2f892cda49e76a282b73dcb48d +Tag = 0d69830f7e3e005ed315168bee03 + +Count = 14 +Key = c96d6da9f5af4f67fa61a7bfce7b23fe +IV = 5d9d77a12c40b962e9e0dace +PT = 3d5e6534d036caf26ca3739acbfe8b684e780bc6fdf37b3db76b71cba0df105f039b738bd0cd4ada8ee6a27b46f4090e15b289 +AAD = 4f91837486d058d0f77bcadea96974b9a467c2d06350d49fec7ae15e6e45ea337d32a90143c1102fb7c611b1a044da68 +CT = cac4d0653eefa565c437483157bc3fc897c1d0de23248db4c47e88fd4ee1a3924010ad952547090c80d5acdcb3a6b7b8b0e503 +Tag = 1cc022ab2cea606862c08a095f16 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = c7c5c3dda325672ae0b04a958879658c +IV = 22748aea07f28d4f91ad1c83 +PT = 7bc7616f0a6ef6d4d7acd4222bd499f7455dca5126a4d2d10a14c0ac7776e44297fb4c6e5c15a3546b86771d6348179d063887 +AAD = be947b822bf527eb60e93bca0eccce5fd8d04ce666b6da8a64215b368be806e4a908224d122e680cb10f682e253ed828 +CT = 713a624918e06fdcbb3a0c415a55088055dd10104f21bc3a8a82783dfdea8571602b225e57892904cf7c267ef91050f83d41dd +Tag = dc116c691f682217c708a3fa07 + +Count = 1 +Key = 6ef105e3867d6842158d810af5d4cfed +IV = 3682a3461b962d6384b56ea9 +PT = a4474672cf495c1b428d9a6eb535b982bd9f11748fa240aca1b633425b4b9163f52de70c99b58c8c17152a6de7708e36805755 +AAD = 37fe86be14ee5f6da2768315a1421d14ce559a3fc805af4ec8efbbd4fae5f9f384b100adda693fa543203c211304a230 +CT = a16014e578f625f7652d0d67a49edd131ed64adee65fce9fa5796febeee715f3e717c0d19c1fdfa9ab14b1959d2199d49a2831 +Tag = 24bf6fb6f078801e14d9f57d13 + +Count = 2 +Key = a3895bb7f071a49500b703456f3ad640 +IV = 0cad6b5431819aaf08300ce1 +PT = d1e137ab961d2a21434be7f0d1778f6aa15d982a40481c988e91bd3c75f1c710e6b44fb0d33fac0a8bb5e902345528b71cbea1 +AAD = dbac283d3594656c23ba9e40ec856e67e922cbc7dce9fe089327b4c0e0bc91ee679ba730f4b22a9ba0d483e036932f96 +CT = a8bbec94eebd1551a0aa3b571f525a5ef460beb921f58872ee2c9cdab2c8ceface3e1e9951c8a2cbaee66b41aefb05e9d9aa8b +Tag = 29d6e06f449ab7e719a6e710f3 + +Count = 3 +Key = 1fef58b4068a872b1cf882840f211dad +IV = 045766be95049e176f960066 +PT = eace5b6fe850ca502ab1c5c6d1605a8334eb3f4784d93078ec32ff8fa5eb5e45226a9ea536dd80e1380beacb3b422ceb241226 +AAD = 3c279089b8a3697b3c06130430c6e09893ab90a29df1b5d6326ff933e06d4b93570ecf5a4c6e64891b8f5df9f6ad0be1 +CT = 92ef1eebec422bbeb2f539a50ec64a004ef86cd0329eddd2ebd4715bb48af7384716f8b846232c9484925e2a174124e0d2691c +Tag = 088effcd9d11056c0ac5fe3b85 + +Count = 4 +Key = ea409a748a46dcd1cbd3f6e49af472c0 +IV = de18ae98180b62611664eaf8 +PT = 5f1681ce3160a4631818d77bed0a25f282dd45e59c86ae2b7bcf77e0957de5fff7e92c1f8744dc036b2e891fe801aa190d33f3 +AAD = ecb9a4b526a5bf33a6df4c8a7f72b2def07e6a2df18b6f5791ca3c152db03519447c89c2ed1fcf97ed24e74b12b9ef02 +CT = ffa5e1e62863e245f7d428054acbbf2c1c6d955cffde6939c950a3dc6c1312ef509774d94fc6b8921b26d020078b499dd8fe16 +Tag = fccaf0e286f059cb9ad024b537 + +Count = 5 +Key = 66075455841b843bf1746f40a55e3beb +IV = a939aebac2c084695e224505 +PT = 935fe8fd41415f9c4d060cfa350d18769ad50f2cb714688dccdc2a19fab1423553767e5ad78dbfef5b713428fd0cb3acd4c474 +AAD = 6408b64716fd0608029ff581e925bd904c1231528507caf646573396f48581dc5aa8b303036f0a34b6cf7e2454f72c46 +CT = fd3347aefacbbb8efad0759d479be642fabe54dd15a691ab737b91b87585c35d6b2f87a8188943e2beabe39c463e1397e5224a +Tag = a0f98701e9b8df2ddae440e802 + +Count = 6 +Key = b8be52e38c76006ed7418aefef08d684 +IV = 9c2dd793eaf7a6c915d534de +PT = ead3f29adeedfaa65139afb22a5c70734340d2f6673d9e46683d94da6849b7778077243463a298f0de65b3a3a1832bbcde51e9 +AAD = af763b5f02bf11f69ad1eb3626d02b302c9b198b6d0c5eb6c283f9918cd04acb34c0b922dea3793cbbf6f497bd311397 +CT = 23825c4a756a17df801ce5cd8194f96322e33e7f7f827828f8796a860591b3a367a99a8e3b42939acca7139564b388f22c7b75 +Tag = e065fb4bc22a67d6fb8255ae95 + +Count = 7 +Key = 086ea615190dbba14d855a7df1ba352e +IV = f322e790d86b846605725336 +PT = 377fde92d98f3a9446baec9df1376db01039a4939c4c374602323a701f445f217fd28cb91e4ca44aa6ca612b938c3d725f2cf4 +AAD = 0ff265accbc485f650ee62a8211452d0fa0501ca878dd999d4b5b7944aac7c5cd7ccd6fee942f0d4424c4b35c9ccd3f0 +CT = 5e62d0ceefd561621eef0635264f807d8cdb9f13b96e57136f36c6f3ad69c561eddaa65e9783ce569028daf1d254b1638c4a0f +Tag = 177998051d6ec73505ea8b660d + +Count = 8 +Key = 0138ce3efb352d34e63e4f1b02d6ac78 +IV = d38386ba1ce80b4dcdc63d6f +PT = a2663eda607e8c8faaae1ef5a68b083b6e7dc67f8a63524a76ca627c41794b3d30192f5e9bd2aa0930407f36972bdf5fb8c8da +AAD = 9c509f83723ea6f71efc5b24ab70c4c75b3803e5130604f3b89c82129e10a443c6cd35c32865828e0e6b2a9b11a72105 +CT = a7557709c5bd3962436fa75c4a75e018b389495d5510d8b4afceaace7c364ca1ca3f7943c22dfc707adf19263b215c9d5f2cf6 +Tag = 213f29d71c87983c7f4c7a3761 + +Count = 9 +Key = 97ce4787676af4db143941f6884b0b50 +IV = 447fa4965194c9d044d8e2ac +PT = e5d471eb260758907eb5eeba517588f504312513db5c3ffa24385f65745b8ba0dd6c3b70b272ccf4cfdc35d3c1323a50fcc06b +AAD = 690f1a1aed1a684bbab5a0a488a393ec0e0651e0748106b8c531803f31932d243f38a90270ba46ba681b9d68cb2740ee +CT = 955d5deb06a0efd1f93f55675dcc1fff8f1cf4e910d767f9c7eac89a52cd05e8a32de10c9c06f259363b57f5838648e97b906d +Tag = 24e93de7a47d8b3569564bbee2 + +Count = 10 +Key = 2385cbd03571bceccda30eb2b97c7837 +IV = 7cbf4f601715beff8afe4c0d +PT = e66cd07c618308bddd23c1ba21d7da530cb38552a6cf6831ac77244890f04bc22e43d2e89149cbce8407c094dd62b13015f642 +AAD = f186e87438a4b341d7094df4af230235a727d0a5c760f10e590c3bd2774e544415da602376a94c29ccf9d8ff2503b42d +CT = 2d6732d56ecc654e4c2678eb87823ab23efb5952f58cdcef506258eaba255bf85e31cf172e0bbb1a81da8e0e42588a88f05cf0 +Tag = 497b321f8538cebee127971d60 + +Count = 11 +Key = 53694b6e38066089936c8975e7213708 +IV = ebbd07a76a4b282c59dfc534 +PT = f191c7edf45507973dc8f5d9cf361eec7020fce79e787803e275203eb86ba65359e8eff14949231ec21e4866963da554cbc43c +AAD = f9e83cec3860abf0a0d9fe7d6bcff7c665381de61a9c9c9875cdb1d923f3b723c24e223a7ccac6acc0ab248cefa84bce +CT = 413cb6e2835081bcc0942f272460f267452b4ae17397da5256eb09cd5dc9b9ca3b2b9cee8992c836bf528e100ad8f4f9b76f20 +Tag = 9c9465e439540d4d7b7c0e4f8c + +Count = 12 +Key = ae820d9d797b61d969daaa59db72e7bc +IV = 8250f560dff76ffd64641ddd +PT = 481c8c700924e65ae71f2da650aa6bdd755d90371f25882cda75105b8e862c9f13a34891ecf7b612382424562c741e42620092 +AAD = 1a6ad16c0bdf0c8d26432e42658fb2f16a7fcae8d5cf616552c48f7300a25047c4fa97e82b8dd32686b8ea0cce391af3 +CT = 241b77fc5420dba9a778b8adc3dec645a82ec06ab604624a2464bbf90aa7f210babd9a1bcd121efdbab8c12e16a6d42e495ddf +Tag = 61920621ae62ebbe322691439c + +Count = 13 +Key = 9ce67bdeb561d5ae436cbc75682ce7dd +IV = 98dd21aaab3b70edd957b9b8 +PT = d25998e733f7b71de2c1cce95b70f3785c995f4de54ed84e499c3d7d068311da1d473d367145349cac99d430361d9f8407cefb +AAD = 8df94251c3bbd43b97606bce2a7821891fe8ff477e5103b3414ef2b87a18709f721fd1ff1e1d3aca74335d1913f2ea3d +CT = 66e26eaec90c20819ae3851b79b93ee9926e1c737e4a8ad7ecfacd90f4f44438333db27f8d803ac718212fe4f68ede87c1110b +Tag = fd8b96a2be3e2760054ce0e4de + +Count = 14 +Key = 1428f91be56f9764d5039edd396bec4a +IV = 804a1150df7342d442b468ee +PT = 0ba6c37c128b86908cbf1376a54cad42996c392171a2adbe6eb460c2e26911224a04a75b82daf8b67a227901510c84220458a7 +AAD = 90c5d02866de647eada198026e10334e1ffa4df9706e3e981878497f9f73e67691fa5dca36ee4c0555f080cbfda91204 +CT = 19ad5558761539ef8ee6fd64392aa59426759256f013b1c73a18887d149d5941908835757001dbf5f235852c8336a80560ef77 +Tag = 56b4fd97701c1a25492ecb80e5 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 0424cc645b91c1bafe23b06c934ab387 +IV = 667c46eec15c4a6776a1ff09 +PT = d8e5b9d65b9aadff16efdf9cf75317911575b8b617906db1ff421edc3c7c9b926307eec15f02e7a343b31b8383fee9b14cf1b3 +AAD = 06dbf32f862b398b442857e4790c5e6bf20eeb3d8d22f0c2a752aad1bdad6d80ac3657cf854543a344ec5ce3eed9fc38 +CT = 7d92d014ccb9a1d07b05efdcd371ae5b51f0587db5d0ae881909f9712e8c817a63b6b04ae99b3f71e31863fdb0e3fe6a0dcdad +Tag = 59e82ed490e719de0ab2b162 + +Count = 1 +Key = 73518a190bf8df36fd96616c94dc8ead +IV = b3857d6a67d02a512b7a7f9f +PT = ee4cb062ea9e00a9d568250499fbaa8461be07a516f286b88e0ff82fd093be74a8c5d4269ad1bdc1659a383e2e6eb483c7c6f0 +AAD = 6b8589100b2a454dada34edb802fe6ea2378f052efc7395757b7146f12a03e13afa0f596e7b2fd241e1c4cf5b0667c38 +CT = b44c549ee7a69db880011343f162feaed05b119ae666fe0bbf4f192b34a3355ab870f0e0366dde2dc7b9661fdf5f8cc3d349a3 +Tag = e09344e6f4d033a215d7380b + +Count = 2 +Key = 68bf351a08a629ae3c6f8351584d44f0 +IV = febf0b408abd8214414f51e9 +PT = 3c32778b3caf1120a14b4d61a61d2f09f2dee04567c82c722a26717446ba626829d116e9a24d772322f69fbde2bbc0c0debde2 +AAD = e13c71290d60cec4c46398e48b165046b4f6532ecdce614c119159b67163302ae0e99ce599de3e83da16b6cb3a1435f0 +CT = 92124798b541d6b35dd3127a7f85a1e6448ee075ce0528343a2aa2f1c22e3bae8a30bff8445fead6a3e231ace3e395c77ed049 +Tag = 4cafc842b5b74a84a092ea4e + +Count = 3 +Key = 59e547537864cd867a33a70c492ca1ee +IV = 64e976b6a7522610dc162404 +PT = c3399ce9e3437ad448eed19b90d2ed6b7cb5fd312bead50ae4b110c2d3d1e036516b310f2fffb99567b42ebfe94b40f58c2eb3 +AAD = dd308e4e34e6d0b89faab1e91c8b04e22235e50bcd71ce8a713ab16f7e7a87e21aff60ceb7799a4f5b42c50302d2d9c6 +CT = dbe70e198ab5137d36cc8f4820181ef6011c63a9077c69cd555a98f731e590963d2bdfb06c95bdbc9a7746d4534a97e0a18114 +Tag = c26959a770d8912f34083e0c + +Count = 4 +Key = f833eb7d2a43405110fe9a655d1342af +IV = 9a7a74ad446f07199c6d7de3 +PT = 67f40c7af3922447cfe8afb34bf79f64e3443d93ae1c502fbccde986f27664d64efc034fc171083d7e3bb85b14c2f1bb328eb2 +AAD = 4b62c1aee43479d4565b46db9db6757b3745f9a8134078ea94e61c032b9d34ca770cac12e5083ffef902e0770e191cbf +CT = 5fa17be3bedd870884a02d7bd283d8326fa8f7f2845f8b9418ee97f30100f03799b63fb3642553f2fd856937c1412ebba77b35 +Tag = 75e8922def3b5cab8e94a88b + +Count = 5 +Key = f8bbb1bf911d6f6443eeb8394c9d1049 +IV = eecd41d719211d20c709873a +PT = a3b65c8c4c5bd15199b2f20aaa64c4d6ce22c81b6b9f6a4458e1f69d6e14e30dc3cf491c54ec3d737e4b3155b2c27b1c7dbdfa +AAD = a90e43adc9f5b617766df2e840d295333b2914a17750ee5480e98c683113dfaa575785acb7ff247f808694549d12a3ca +CT = 94c144bc63c33611c2a7c2db0fee5b50b1ad8c48c80e53da231a7d5c190015279f64e4c9a65b85756b2788e792822a7a5fb67c +Tag = 32a9c0320b4dc7cd560cd6f0 + +Count = 6 +Key = b640a4b38376ad22a43299d689b47c12 +IV = 27ee49c811e35a4c5ff1a26f +PT = a177bf7b7cf21e52b9dae1ceeafed83db2d7aac1106d4a55e0ac2ce4dd8986cf24e6839b44d6ab535eb3ca8af58e399f116174 +AAD = 203a218c8c29f86568a1d2f2c55ac723658b8b44c6895bb75bbdb95cf8e23c42e785b4ebdd9b6d603bf5629010f25995 +CT = f5812d6f7c0231c9685ea82faa9e8842448b7c779fb09c775170b2cc58bbb766694427edf40975274fe9336692bce9d62a2bce +Tag = b8df9f3a6f3ad3a7d783b64a + +Count = 7 +Key = 98b2f0995e0597685a664346a1367390 +IV = 72c34c9ccf9a9630d4782613 +PT = 9536e494b239f1f3ab4f86bbe59646086dba4b2df82721753c3ba1d999ffcf087f9904d57e01f1a2fbc29be0a357f483c338a0 +AAD = e8a32acf8e6c8597aa235da989b0c02a45055fd987a7a68c0e490655e78bad717fbbcfa1410f29ab302fdebf6dd1c7ee +CT = b030d6de1d2fb79188ed691056294586dc0b7a73ed48f0a95c6896f7dcc5e044906a6c19f19be4db6c769a19e8396bb9d673b8 +Tag = 86f2d769ad492caa829ed2bf + +Count = 8 +Key = aff976e5c5b829504ec796abcb795956 +IV = a46ead892594d5ce7d338c5a +PT = 8eabbbfebf732d39a000459ef11808243da39e9185766952bec961ffbcdb273c2bdd0fc35742fe3f91f38304404485e998e1a9 +AAD = 1658205d0fabf4bbbb40a3cfafbbb2a3a12651a25b8c734d59c458b7095b0fe9f86067ace03996e04bab9576121d9ad9 +CT = dd0f95b0753799eff00f0f298c905dc470740534567e470fb7b0c5598534e7294c1590e94755c85436cbc40676331e7de5404f +Tag = 89bafb36796e2c5e26cd0cc3 + +Count = 9 +Key = c9ce68d375ad3f0f501b0ddb29be7966 +IV = 35de9ebcdc03b2c571e58adb +PT = e9f7cc2463a68a44655d583860294d48003352c50cadf5b31aa9a8d8a5b9d37201f02fdf51f9d4412b545b786f77e7f4da7931 +AAD = 9c3ed27f9e671d4ec9b718a13e81783c16842780fa2cbd69d0c986a557fac8df88512f772cf1c76340cce35b639665fd +CT = 998bfbcc658066b03cf46ce33c7a14dd80a1dd4a0bd67cf3d4c1c3cc6b6580f5860fb0033e6c4a8b921d821b827cf2ba091928 +Tag = 3e9013dbae92d8b6ec7552da + +Count = 10 +Key = 57e38ebf8efbf2e8e5749bd9ba94b767 +IV = 0456a3edab84e5edf98b47fa +PT = 9ececb749773b9ee66b697ede6c7ba76b520f35873bdb081acae3a3662651e4bf1f566dade854589c5a57067923bde53fb3913 +AAD = 49af741e91c837c45f9f87579797b7bed4a4c0e088a9fbc1ef75c288622b49c71a2d2f6299bd830789954c3ba2a98285 +CT = 61b33ad7757648bd211af970ae3ae1d7974710fa047a3ad850a0c92cefa5592d92b046060f08dd7f58af0b9ade9e14d3e4c569 +Tag = 806f9a2fba0f3743e59bfc63 + +Count = 11 +Key = 8929135b73b3311962ec2604578a0d34 +IV = 82818d4399fd0ef24842acaa +PT = 6b05ce06aeb455afd4bd48574468a0110769b73f99368ef1426e03ff48bf5b92475fedd66a6d7e908c0e2cdd3cbbfc4cd6a46f +AAD = 1b2451bbdc59b2c9f7cb235b0f3d2cb506e2ba86d9154ef866098e11492a00c60a98d009b577f7ab63dcb0252932b3f7 +CT = 008df997b00635c8ff569f59f99ae1b9b4eb185bd25ec63c747c5750796103e0b2e693194d144fe611e56f5532ff435da2182a +Tag = ccaa1d9e68d7f4ef8118caea + +Count = 12 +Key = 68a4582dd20214a272f21fb44eef28d9 +IV = d39d0e9654e4c322b5eb02e9 +PT = a45189edafc8e46effbfe0614850581c5bfe617ecf00e2e859e0291f42aa25feca3ac000cad3cb6c0d23a0c64c94732c22d583 +AAD = 15e42f9cbc1f38e8d2997a3685d0f4f4190989fc4a3623a97260e75dd5ad0e560426d4591cb4d0a7c7eb47693b433dcb +CT = d71e84bfe2df5b240be133a0a3314ab88c290ea831ad9ad2a4d3ce2b8ec28ff580656ed67af0f50b93b30a0c2de9e2a03db110 +Tag = 20daf53084255a1ab8cb3353 + +Count = 13 +Key = f05d5d3003278fe857287ac3f169b829 +IV = 7158dda2d7c4b24c37fda011 +PT = 856a18f95e3f198c111c2f43ffc23968869fcc198fa7fc661414d34eebedc2059d3aa556eb8d08b6622471636773717598f48d +AAD = 5e8518b143deb301da903db02b30d99b2c747ba7404601f451b9a98702fec2312732acf302ae8d9e40375224f812b676 +CT = 3d69a006bcf593b9d4de32409c8cf76e5ca23f269eab272450ad17d9f8cd972c637c77dc42f1490d29c7f80f7da3eb1d658514 +Tag = 456169b7b19e9fff038cca0f + +Count = 14 +Key = 26970d40c27613c3af4d24daa5ff537a +IV = c6617aa7b7dc7dc08535402d +PT = a4903b997dff2d9b3f821faf46562d0e86f6b85c7f92029dde05ebb9d2fa7a7bbd2a2373166774524b9dd7c09f73e1486abc78 +AAD = f80703aafc7198069ae7b91a2fc9f27efd3173904bf23d5080fcda4336bcdb1dab67001cd3b9b2eb2b2531d14b3d47d8 +CT = 03e3687e004ac0337c4e80f0cb8a7a94f5e296d34663f8943ff9677de211ca149628d08a4f491978fbdb95259b3564edb3c9a7 +Tag = 3f1484c7cb64e4f6158fb130 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = f752d1bdb95154752c366a1f4525ed25 +IV = 4e230addf7ed336b94703cf1 +PT = dd217405caab42f41ef94cc20a4fbf028a935e5f18ef8c503e3cdec38b6e083f16d0b91a3afd6cb43274d212a713f355f5b7b5 +AAD = eae5df571a62e89c64b51303bcc07d854a3955eac9ee545d3f97040338905c2352e273d198b19a111f9478bb28c03348 +CT = f0f4b9b8b05572fe7a27845bccaaadff3bb300467882991e48c89ed407ba1bd07b4d5f4f73a67d5034e80437b66c7fb022df78 +Tag = 10e4ac3eb6344ae8 + +Count = 1 +Key = 816add987c660cedc2145ba92d559116 +IV = 6c455aa73f8dc8cfd9d36594 +PT = 12a7e1af2faea8b73e44c487d80ca77c5ad46b946990c7a60590f41505046272fbdec03c84592bcc4a433cf3634ab7e4f1fc8c +AAD = 1a51f5781c360db2426ad13acaa89fc44d44929d7e05406322df3f63604d0d49a85dbfd66f3e809f407070176455e6d1 +CT = 0d89ba19f09816df7fe00da54c96554805712f3808591e28e4976d2a809f15be51a3961618b0236c99e0b7ce48249fa3e38938 +Tag = 18bcc101b28846ab + +Count = 2 +Key = 505e3cad6e49e24ef675efdf89f1f92c +IV = b1c940e41903b2dd93bc92d5 +PT = 1dd7f97e73fcb7f62042dfdf655783c1858d3c79823b599484e86c93d62974ca7a6c20ed9dc35407710bde88b3d0f6a590ac9f +AAD = b67803b74b4c540f4612b180433e184bc49dcded9feec6ae37e93e18b531aa0fc657cc89108d1e7915281166a2701a7f +CT = 23e5590ca8d9a50c0bfa298a3b42d96838806e4908b9bf7f7f162f23b9b91ccf7245bb8abfd1f0111968551706bcf7f705a55b +Tag = 07fe0787cb9c9979 + +Count = 3 +Key = 4925595301dcaed3e3fa1029416fa5c8 +IV = f62f09af695a9aa01ba230b4 +PT = 9c4c7ecc8da245419679a32dc854a857b426f9102b14906751f81a07de843f6baecfa402315c5b6cafa67471b363b75cb4c64b +AAD = 749b0a2b3404e75eadf9fbdf39a8bb725c875fe0ec321f1a51ede69547ed0f824600cdf7e41c832af9a7001f268e806f +CT = 4db76af2a3082d0c1a6f68700aa0649a62054556dce989896ae5121600252bd0ab065c70a41b7d1ba01aada0c2e39d6e032f20 +Tag = 23e5c07366b4cfbd + +Count = 4 +Key = f260bce4cfbd2852e9b4192369c7d20f +IV = f765087ecfd373e926e3b9b3 +PT = 1b9ee69b1b9f589590f68181f770abe0ca5edee18c7c25bb2acd8cc71705f0a234bea57c7b02c5a69baca5475bc03572a78a08 +AAD = 9dbc7c4ead435c76ac61f20a022eb8537544c3f4c4a73c44fb622fbdad49a3955aca5288f62a24dc2d7250a9ad76b8a3 +CT = c2bd8becc7da11c0bef7b4da4c58e6bedc2c4200407400c98182cb7b43540766595f76ee4de761d543556ab78b09727dc26fcb +Tag = e54aa15c0b0a31d3 + +Count = 5 +Key = b79b70ed0e05ff1cf6e5a16c6e3d316f +IV = b71866ef39e4d71f5e271083 +PT = 0ba350beebfa5ec28437eb4ae5fe2b746308bb8236c4d59595310c63395e1c738bf98fee8035c77d866ac2751c8b9f87118b4b +AAD = 93d204cf3f3784d8d3e99378f4e288a780b02c758871cb13b929bdbec630147caba7ce934c71d2626283997fba6d5e20 +CT = 17b25fcd8ba7faf7d8f62659564c95a8ee48989fc94e303d9ff6f10ff4cddb6329c65b1b5cce4505c85d7eb7b77e38edc0c64d +Tag = 1d7fc6ab63b48319 + +Count = 6 +Key = 458e63dc2669d365408cf40ef25e1052 +IV = c0e40b2bb5ca280199a149b6 +PT = 7d6ef58b978254bc371dec1f736b135939ad3d701918e02dffc989b30a8604fceb95fda7d4f34e918483150c86bee0a5b7f5ba +AAD = 2d4aa5767d39d451c9737fc79155307be0f78c3ece556e67bb2ebc26a46f42e3e51287dc4f35ec9dd211b4f10adb1e85 +CT = 9f5e4881c551440c6fc83b0f3a7bfbfb993f2bf82fa8bc0a511119a1164112cf4e77532d77c9a67e12f93ad6820653159180f0 +Tag = e33ec0abd2cf7ad9 + +Count = 7 +Key = 52cf5bde5428ded9b51a3944f4652767 +IV = ecfa3475e495119871634956 +PT = 32b02f509148a25fb6fdfffb0974aaef4d59f5380c09ef9fea97db37de7a8b02ecffd9070889fbc280d5dd16db7bb364de0b31 +AAD = 6585825e150548be775a6d209d40a9c04c531a80151bb925ec1fd1195f9c58be51f189ee1fc1a3611717ffc59f23e7f2 +CT = eb69eba2cb7ed0822fbdf1cd2ce9cb4b3f8d73375942b5823fa8ac4e36d015a3ab0c3f8d1c0934643f071d2e307221865073d2 +Tag = e893a0fa9ceff1f6 + +Count = 8 +Key = ba1e0c3d408897283c29eae9a36ef155 +IV = cb4678793263173aa5d248fe +PT = 8a4c468a54dfc939e97c32c9826b28c67cca387ed57a9711be3fb4aef4957fedf103cfa5564c3aa4a6af972cf49c7842c0bbd2 +AAD = f711d07fe2aa05f179356e6856ae507326a5be3a14f1c74ced6dd8511a7646bc429b40df08b6b8b2a5c9a492c6a33f18 +CT = 573d941882590159c8b1238e025b7fda85f5cd1571b2698a3362da01a11ee3842e852a35bb718d20580a5633b66e240ca1f59a +Tag = 127ea2f200d046c4 + +Count = 9 +Key = 6200dca167dc3e6672cc445513d26fb4 +IV = ae13c3838c0a2ad829d93801 +PT = 450b3770cfc4521b2ff9bfe11ed267d93a29895a77facb3b86c59b31fc7fe76bcde28956a7644dc8653398bd2f0469679a48d8 +AAD = 132b47612c8cde5ece8534da0c272c0848b16fc7b2c0a26b5739aa61f06e85cdc41f053d0250d7eba9eaadfd5dea95ad +CT = 8178f5994be03be95cf9f13a02baee09822e1e725cabe01235966e42d396ec2aa3a4e1adae7721685222966ac380f7831fec9b +Tag = dc60626b455ff5da + +Count = 10 +Key = 704422e454274fbcebac267a2ac8204e +IV = 1b79b29a4a85bc803a1211d4 +PT = 77d431e09d5b020708823d088571dce2d6b12f282dce97c04fe2452b90dbd2f60425915df50c7d382faf560f46db2992925621 +AAD = 96792c29783ff333abde93c6a507090eeeb8064d1053c92bd132d599ffc074933c58615b2ca52163fdeddf1218395754 +CT = 174b2253d7db99cd919db53693698e67e2891733f8daf059bea4b7a74beae0893303ae7438a64b488ce83e2ecc5082079a5774 +Tag = 5ca33b3108d615ff + +Count = 11 +Key = 2009e3c1198092e28fbfb932fa40039d +IV = 093b61a82da94f5b67e18594 +PT = 06016b28d49474c87d0605d51f1de1c78ac6937de1e82aafed5610e90dc9a2c2ae6348e9f0d3b7d49a3d846584278b74410281 +AAD = f58f8d16620a3f4c98f5e132a07da2714f9f76a3990246ace1c9c9edf6730a1ad765248759aeebfb87df459ab518036a +CT = 4b28116014cace06df4899925834e0645bf61775b961be1aea2c7fbd49a57135e9c2f736478204fae5217d28c873a309a74fbc +Tag = 762194ee911e1f4a + +Count = 12 +Key = d0389e865d658eb357e1a8073da10520 +IV = 2905f97f0a9d74a7541e31ad +PT = 8fd418c3e50694eae670de4c1d18f97eac1b12ea5d7cacfb6cb46f6d988200655c51ab47155882ece1c841c8a1bce743ff0afc +AAD = ea615330aaa6e47c2c35702dea9924fcc5f9b2075076713d7687c6539600b24c464ceef3d21726195ee3be22262fbb22 +CT = b0b6f6a6986dbf0071c3be96bac62f8e7b99f8ce4aeb1f2c903d2b5588ef2209a976ce9541fdeaa26396d0fba79dd2d3993962 +Tag = e079750fda1c8d61 + +Count = 13 +Key = 346252efbe60199e5c483602499db84a +IV = 77f710ccdda389f9dc2fdecf +PT = 4c3d7d2868f38324f6c591f559fa5e436b12a56151e8287f7ac0416c1bf80afd7c637c909ab77de6c9bb1edfedc0aa28f3fc62 +AAD = b4144fce71b728ceb7e96172da61cbd6d3c6d592e4c7acdc2e3da1b0bc8147fac3484060dcfe2e1b3d312c0a517d8619 +CT = 7f8a5311801441a3bdd5fbb0d534cab8d2c8c9c16af613ae923b4b8c22fc8de1c4c5e57825dd1406f52a7bc5a9ee3b6455743d +Tag = 56d9b8eb143d1edd + +Count = 14 +Key = 56dd98335d15febb0f55829e5258f711 +IV = 9a2ed3d75e0719753a924b0e +PT = 5cc0123c699d45bc138d76ea9425d9b957ba8dba4403e9329ae1423d867c7c2c1f841380b45e1f0d5189add87b2af48add0b27 +AAD = 22f9fc52fdbe0319b2e4c6dadb1db02868571cbda80d8dcd5660b6781202b3d9290fd38a3b766527acde4ac28b006af7 +CT = a25f8569cda498452f12ae8662e3ab8880384203f2a4ee1c786ab5cfe25c2d080ed94eba98d16ddd453f4f14608423878de820 +Tag = 1ab944692cd7d82b + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 0e075ccd0d77ee7c23560aab460c8e54 +IV = 5401e390ea5cc8df1a155fbd +PT = 805556fbe21f927d0cb2ddd19f535b057f6d0bb94fbd912537c82b1276991a9e41fdae0df96efe7356e45e8b74325792f81675 +AAD = 306092a0c1f3919cd572aabc660964005a9351ed3f57b558fd6770e74c0acf5d6c3ee4396e7d578af391020760249059 +CT = f39c8f9a44c576863efbe6e76663cc2ffbad17cfe7ee342f3ee97f72c4f449dd8db4f38cfbc433a6cf53dcc56b72bc5b0057e6 +Tag = b0e40d1a + +Count = 1 +Key = d113686e043697b5b969cd4e2d0e100c +IV = 71c9fb9960b26c9971580fba +PT = 7fe0a2e9d623fcdc88136b83a277ce11224d05d9af19d17855e9eb845f0071e61f85b4a859aa0712f42328b57f88694fd2f1e8 +AAD = b2cb984cdb3de4b94fa1896e927a476453411d71d721ea87a00b211edee785468d11aae22d19b375d253c8a2fa9e135d +CT = e72456ab9ed5145c741ea5ed05048b13c518c2b8520f8275cdcb3c43a9be68d709feab6416fe26d433e0eda0e7a3909b23a858 +Tag = f3da9e92 + +Count = 2 +Key = c826e9dcdc644c4dca08cff23452a348 +IV = c3ff65eeb393ed1d4f624692 +PT = 2a7cfd1ad08888154dce21a91aecbba5066f61c583b6360f9dbb8d6e927323f277494d3b95867688f7dbc292a55fcd6457d401 +AAD = 1691d6544a7fefe8c42d3307b5c2d936c1ff46e024d190820e730751aace52d18035e6b778708179fd8a8c97027aade5 +CT = 1009fb8fe43e58517ce19ab2e20a7b5cb4fc48581380acb224218383b44f3f14ae5a8be8f6f06d5112f70a2a8f9473656872f3 +Tag = 1be61b8f + +Count = 3 +Key = 09d0f29ac7cb41a9198235d9bdd9875f +IV = 62c2bf4242812b6a2cf46144 +PT = 4cc2cf8da62b12dd9d01610616fdb861e19c1c8c38c0359149cd6afa785c7253e7bef6cd80e62dd50f5e18ab2f8e387feed5cd +AAD = 3a5de20e40096a08ad2d9a46ecf89a372a94d2cc9e04692662cfa0555c1e27e9f2f6a681e1a6e147c02292d387323929 +CT = a6747b5d70d5febcec9f6efb43321e58a1051e0e820ca0e77031607837dae3f9c596ac96a5e411646359122161cee5ecfffbef +Tag = 06269050 + +Count = 4 +Key = 13ec03b4d5cc35ba1f1d430df35570ad +IV = 8374b8b81b06f1830360c262 +PT = 09ed4da050be718deeebbd2573d9e74bcc2daf15128fd08b8cdffa20e709a713e2416e3fc75dc068d74490283a82152047cff5 +AAD = aacad64c225b86222d8934ad6b77c33ed92f33e01ff44e310d4bb2972cccc3559445ad7efcb33b359e996a0f9a9b407b +CT = 646b15c7d3eafda01ee7189916e97b3d8ae14cd7bfd1c202e4b34a4313c8220d599f65b9960cf4c0b8be5c097e5f6a7023dfaa +Tag = 999f32e9 + +Count = 5 +Key = 750e4b52dfc450c1fca371fce43ecbae +IV = 4ab955a6c7653b2e90644bc8 +PT = 1ed75cb6755f290aba4b7ba9c47266b0f5a01612bfeb3a09effc3e06725953720d07866edc826aa04a96cb2c38ba5153b09150 +AAD = 9b332fd09c8dcfcd67cf5b035649c8112c8eb1b1d3a1242df383c80050fbec0ad77e54ee085c98015ffc94372a14d50b +CT = e24932a6de8143383d35532626c36d136e5161e9d524ea8d0fe0d6cb5709849fefa31b2742f437be134a8e4dd328b2b0f79236 +Tag = d4ce3cc6 + +Count = 6 +Key = 61156c476d1de9e30fe780a0bc322184 +IV = 8c31d27afd7a5e4761b09482 +PT = f7866d8daa2f14c35717c2b021a9a5218cd2f8569dd0dd7c632733e8392fc27d71c6a71244f21e1ee670507229fd93daaf889f +AAD = c7149332aa558918c9d7965591d3f5cdefc7a6b5f34d2f5cffa7318ceeeb6e3ecd6d7628bfad7607d7472170833cbf67 +CT = f10a69a029d9c51cf93cb6084f1f741f05b5fd08b8cee83a1cc88115e57e0c631723753763a4ddcf9a7e4a2d811d6b3d685ba8 +Tag = a6326414 + +Count = 7 +Key = f3d1f6bed241d332d8e55749b2cc3e65 +IV = f7f4b38a40563968ab561f2a +PT = 7e8888b0ed6584e595d4c4e3b933b0e5ec811a91fd70031ded5a9bf5cd936edc2eb36cd10aa51bfb8c5f4d3bf630a169019cd7 +AAD = 451301efd5600fa1aa815af77326a7db82d9f23ed73ab2964d3c2a0a68c8e35e7090c97e8aedd6dbecba438c2e587a7f +CT = b7df5473d548d5432c76f82d69eadac17d3a3ebe1b7d1b4911d781e091c22c0aceea4e0cbb50fd2e30377ee1fa0942032fdcda +Tag = 1cdb7cd4 + +Count = 8 +Key = 74857d216204135efb09654db7f04ad2 +IV = d03ff4192aa6c3891d20e076 +PT = 3065ce05a005bf3470d268497e8b0d738745b7dfd55249b4dcd8b61e1c5315e38cce2a56e0bceeb834b0b8650893b16b5b2111 +AAD = e18aa04129b97ff4aa884bc1c1c194f6fa628c77d1f33297b1f25f98c5f683355d5c94b7f17669266bc4a9144cd4596e +CT = c267e52e4f33ca2b15c94066704f6c90e81d48d6de110d864932da18195cac102c56dd7b04fbc195d60e49379bd004b06dbe5f +Tag = bd605864 + +Count = 9 +Key = 2259ede66209d145a573e3beb2be21c4 +IV = 6eb967414ec5c8b3bec4aa00 +PT = ff6a5128f5dd96d8d61b485bfa1ad212153e94a01ebedfcba34cdaf1270dc24572dfe870d35fa5e1271550d44b112cd3df3fc7 +AAD = 08e726b138306c91a6c81ccf76f8046623dc3e58ed7b2beb0b193ba6a46df922029010379614198a38677750683fe8a2 +CT = f13d94c27c66c3e49f8ca3261aacb1fc6c984f4360bf560805abb75542bde306259e185b17d1e688f3a984b06021095ece740f +Tag = 6431630d + +Count = 10 +Key = 200dac4dbd2e893c2ab40b7523df75d0 +IV = 84858d06ee0db770303183f0 +PT = 93c2ae19ffbd68ec1a1de305b13c385a9be1ed609d0a47549a3f58c239cab02727fb1382fb875380c34005ef5d4beb849a3dd0 +AAD = 1a9aadb302eb99681690cbdb0601733e0cc458b87b466e7566d184d75c6349b8725787e1acf6b49bf84a3df4efb302d3 +CT = 270ce977276989435b64925b17c0b2acc3c0bb0725824d5f3c3d429535b4ebd515c47a3d01b85435e6090ee8ff4636cb4fa0ee +Tag = d6a3781f + +Count = 11 +Key = c334e8241055367cd3b3f3b79a2e9269 +IV = e9dbc25bc7f47b5ba0b69a67 +PT = 3036f0eb23a050db3ef1e046f262b52d4dab5f6e95a8a64e7c86c37c4d102318229ed65959b230c2b27f6d970ad78fddba999f +AAD = f10f5c8d30cde5f02589e584f0164f753c75ed7b6bc3d52bc911f9ec903507146ea1232c5e87174eba3001ae3834e402 +CT = 71169ea01f545f5a13157805c4169d0157bf8854664f8fdf5a3400d1a64f250221389acf8b51bba158d79fa51eae7f6fb02d28 +Tag = 7a74d890 + +Count = 12 +Key = e128bc479e01369da03f9debb82a30ff +IV = f6a3afbf16bc0f7a7c2f306f +PT = 026710c381d2c36a322d71c72f8598bacba8893bd5f0ecdd04dc3ce794b3d8edea851f3749b7b9c3b5b9a89daac465f8ecc22d +AAD = 26baf167dfc42a95f1e143403399bf312ee2bc574ea0f37c4cd25eb8307ce242c513fead24ce037083ff5542212561f4 +CT = 5358368924373e34a0cd50db95265ff83c987807503897e0ed64b087641cbf6b4ca6ea4f9b3169cb0905d061aa7ce2f22513e3 +Tag = 2650d649 + +Count = 13 +Key = 2949f4eeb110117567fabe2412bae3b3 +IV = a874615f94ab0027cff6d9a1 +PT = 17e5c2347f205596c29ed7b1565b765612e7f0705246943f889e51ccfb9134f4258468c56f961e80173af8f39d04d524d48101 +AAD = 43f655d2be62a3f42e3407158e39ce3c5e6854ae06adcc8d4540b7dece2b9d5c15ff7aa248891b1b893ed0dde8074590 +CT = 33d860f1ad3b6384a46768b4c6180d569cc4049d59f6996f1f867fabe14047174a07e4356ccb757c76515bd237ac997efc5489 +Tag = e3cdd449 + +Count = 14 +Key = 927fab76d6f7515da8277cd7c25fcb97 +IV = e71592d4a3c9077ebe8b691a +PT = 2edce119e04b1370ca406ddfee76eb82a524de3ed5cc8dba0d642b7f1d8553db49edd0da7e1adfc27639d440d7d67ab918ef9d +AAD = ed58db99de99b4ac9020b7fd9fbad8343185ffc5003e61badc8a0a7ffa8aa021bb215a29a29f1f9931add1b567fbf1b8 +CT = aa77b1a730810b8cb4060cc4eee0c1ee5b2f1b84ad6f53dbdf89579421c4bc34fea1eb7997450b1ff3f5b1630b504a85b3dc72 +Tag = 00c80d4d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 2c1f21cf0f6fb3661943155c3e3d8492 +IV = 23cb5ff362e22426984d1907 +PT = 42f758836986954db44bf37c6ef5e4ac0adaf38f27252a1b82d02ea949c8a1a2dbc0d68b5615ba7c1220ff6510e259f06655d8 +AAD = 5d3624879d35e46849953e45a32a624d6a6c536ed9857c613b572b0333e701557a713e3f010ecdf9a6bd6c9e3e44b065208645aff4aabee611b391528514170084ccf587177f4488f33cfb5e979e42b6e1cfc0a60238982a7aec +CT = 81824f0e0d523db30d3da369fdc0d60894c7a0a20646dd015073ad2732bd989b14a222b6ad57af43e1895df9dca2a5344a62cc +Tag = 57a3ee28136e94c74838997ae9823f3a + +Count = 1 +Key = d9f7d2411091f947b4d6f1e2d1f0fb2e +IV = e1934f5db57cc983e6b180e7 +PT = 73ed042327f70fe9c572a61545eda8b2a0c6e1d6c291ef19248e973aee6c312012f490c2c6f6166f4a59431e182663fcaea05a +AAD = 0a8a18a7150e940c3d87b38e73baee9a5c049ee21795663e264b694a949822b639092d0e67015e86363583fcf0ca645af9f43375f05fdb4ce84f411dcbca73c2220dea03a20115d2e51398344b16bee1ed7c499b353d6c597af8 +CT = aaadbd5c92e9151ce3db7210b8714126b73e43436d242677afa50384f2149b831f1d573c7891c2a91fbc48db29967ec9542b23 +Tag = 21b51ca862cb637cdd03b99a0f93b134 + +Count = 2 +Key = b818752aa4452120808c3d211d57c224 +IV = d679a0be22c2daf619b11463 +PT = 7ccdecf13130c20f67dd6f47adec33dfb52bc84a7700431b7fd398d652a123f086ae197328cfaed127a91866c95bdfdb4849ce +AAD = bb853b60b5fd8bd24acc9db9dd3de48b775d4a5cb2a879c1dd78bde94cafee06db12a1574eade205dfd3a8c6f68599e120ec73b6b4559cd03d3118b2b1bbe340bb15320c6bf8d8a1c3c1247b4023ba2949ba6a5ab13f2d85b93b +CT = bc1a886c9e5accc34f0c237f7ed996e940e4b0ec882638e69866ed24d86467f5433aee23448df39565a0ecfff2c40e6857f725 +Tag = 5ff9c449d0bfa870ebefe78d519a8d12 + +Count = 3 +Key = 528b8948b534d5f780ae3f1e23a47a25 +IV = fec5eaf0a6d6f5c4adec9618 +PT = 9c5280591311dc212d6ee2ad8b83dedf03b91e244d8a42690c9a5821ab971453c8b4f63e15bb8af96aeb4a3e35515b651bc68d +AAD = d5134d84a96921537a17869c3ed08c55c29e0a67a30943cb248849843794c1c6fefc98659da9b0f505bdefc2e4ebe9523d2a165b63b5e3b2ba9535821d62aaf95b9c7e6ff1f8807a13e79b9fe589c0d9febbabf9372b01ac2051 +CT = bdf0b752160e64b626d5c543954570169e28b033f77b6ef8a37bcbae2a294a9e7060c3235b290f79c69c39a66b0d5ecc81d02a +Tag = f93768c97781ad0486f2f9e8210f2a22 + +Count = 4 +Key = 824ca85e2e4b2a6c6e6a65ef8616c57b +IV = d2bf92e7dc53676aac4e6d1d +PT = cd4828e5977d7fc5bbf7f6d1870bf6333c204087639a3b494a4037170b73fc6b32c4555d1a02a8837441734d6835a54bf35a44 +AAD = 465afd08d7260308d8d21025f31570e5dcd6bcbd6520ecb6ff85de58378d5af6eaf7cb2f1242c0c47b759c58dbc6e4b45c8b993514f14b82eda3fcb6a0df2075a0ab76fa0c5b6cb37d1d28f773dac591790887d2d72f03bcc5ae +CT = 4da02474ef189de863d53323ff6737c12efb3d60a890a8d53991de57ffc6cafd44c429a762a2154c5a937120db2161f2cf2ea1 +Tag = 949d399a7e2567b275c6f842de602605 + +Count = 5 +Key = 4f60b753a36b4b1f2e4d8300ddc667a5 +IV = 35fa2551581f8592134bba45 +PT = 83807c042900611f50fd42557b7cf66315872225143d2cdf8c05ccf688ff21da8f6a2556b0051285b8e7cb8aee05b72816abd5 +AAD = 9a006b7cea27f3b4a305ffb0c5bec7e3582c6a3be028ebf44bb2496dae1f492f765cc66c82d3a2212abd6142524e0727dab8ae506e6d5b9dd361e3a37df3bec95b14f1174e7f25c656aabb42981b91950755281c5ef8f52e57bf +CT = cd2291ac182ab6d0f7b6b93e67abc4228ab63a4c1b214caa11698d40d2a8aa10164b48624d39dd967f4c35eebf09acdfe59f45 +Tag = b231bb4e63dda90a11700f204dc2b175 + +Count = 6 +Key = 07b122a618bb54b8c39d579fe5518a5c +IV = 26fa33d4c5b37f0c5d07e2d0 +PT = 06cf2fa1c9057d4974ae9048b4878d75b0b4720ed2d7c340e6d983a7cf08d20013abeef881cc3213fe25b3f6ac1e17fe1c2e11 +AAD = 20966308f57d3a3e7a4ea149cc1f3edeaef11e8af780a16534472d8df7f706152ee376614426094fd745d77cdca28682d0d2e689d28a50610168d638b23cb4dffa95dd260bc72e0098722cd00126a07fd23ffba1d10a3ce46b85 +CT = 61a69d35967c85dd5e0741a9b88152c3b04b1824930cf6c03f1cb44c1258b71fa3f5233d2f4ee256353c0b8f6d470b53d7811a +Tag = e98a7a33748de95e22b520ba2254bce3 + +Count = 7 +Key = 288e7efe62b93b990f2398c2460e415d +IV = c7ebc0cd756d9501faf71a7d +PT = 5fafe873b9d30771f2ef8dad397a8b42af3fc8f7ebbea80d0132e1af14269a463dbd87e3e01a58c2d991eb3badcf156fe8260d +AAD = fcb20124c58b29ef7e39800d1e11c4063774dd2c462dd9e07d140d9f4b5ebe4cba7bb8cc03bf357b22096c9897cdcdf112b7a5f7d1e38d5c74c16924522cbe2443c157cc93146c12bae4da2b2f1df07f334aa1cc99fd7f7e2899 +CT = e5e69100c77d57e05a41b28be74b1c8542fd1f15e73fc589535ea1fac2d263fd92cdaa9908eab6ffd9194586aa3fed5fcd109f +Tag = 537516fb827cbf6ce0500c6feff4db34 + +Count = 8 +Key = f66c5b44e7a9dade5765c3f64fb2bab9 +IV = 3482a46c8d4f173e62ce1dc5 +PT = 80501408e23e2a656720b32b9f41f542fc64e9e8d824af115ece88d551a5f5d5f7fdb67e2339fc263dfdb18a78d423fd868caf +AAD = 1e77645efa4419b2c9696b8f989051929ad6a01fe2223ae68325f8176cc467fffbd198e008904b82af6469a3bbb095c4d00cfed143723ed6cf6ba4198c40eabd05c03e0260f8b2f55038e5c382690886280f6989357c50f74fe5 +CT = e778a946529444e2656505e4f5f6519d3ecad5458f8f1a04f31a8af97ca185ff717764bca6e99258a24dc97c322ac1c7f54fba +Tag = c5b2cb532cd05b162b47e94f6d79cb8e + +Count = 9 +Key = 41e8af55426edbe8f0339d0fba400497 +IV = 07eb87d42e90a075d4b34911 +PT = adc5504d0a9735d7b73fc53bd0ff60f2c881394fdecfcce3483efe126bf148e48db9c0fd356f82e62d743ec09f8906431eb5e0 +AAD = bb2e5c52f2eacc9b7706a2efe4b607858922fd6914a1e22dfbecab2a06464942f769a9c544f046b88a7570e2cf6fd8146c86b2b4decb934f04a81e6d48affbce1f5381ab31a9736b63f5a4e744731726a36357e858c0980d3732 +CT = 040d99698b2a5e0169f6f94e61159c135fb19c5917c015aaf8ebb4a451ffd8347428ebfdd80c83841d299318084c779dc91b0c +Tag = a16d6267efaeec13d6bc281316ab8be7 + +Count = 10 +Key = bbf947c0e805ac0641d540b471eb9d26 +IV = b57daf0004f43821f1ba86de +PT = 1211e9224ebb862f2d27de692362324942da12da441176c4742a228d7928d3c1fb3e83c66d68c619a10911fc2ed90226d4ae48 +AAD = e18d861dc9bb35a9efa63c7c1deaf53910256809a477f1c3db893b2389f1d137659033a5841b888cd6491bb574b782dec2c840f6350825406387d71340d275e62af3cc070c1389375d81ce98ad37c7afcadcd79f1c520a462e7d +CT = a6f6aa1750118b402ee1b5f025d29007e3cb162ad9e363efb9ef2d24c850f62db925bbb7e9a83ca6cd6f74251db72622857b29 +Tag = a72dcc29d358f794361f84202c9832f9 + +Count = 11 +Key = a56f4de6772b1242f1dff344ec9b512d +IV = 94d228087e821e301409f305 +PT = af537682c419eb7ca3fed65bcc364b01efc2455ff65128dedc88f2224603ef3d7246622269a12b269bbf6ac9d2d3b81abd366f +AAD = 6a9c61dbbfaa20a13320a5f1dead28bfbe5dcbe84fe0a3617c348bd702fbe746f439dfcabdad22ac2fa629793f545bc68459f1c0462453b5b31b747c3d29614f0ccd0745fbaa4b204d47d5cc7db35d6bc44bfcecdfae910faa72 +CT = 55b60587eb879105ce4a36555d8f799618238bf1f7fd4df622662bd07f450a18375ab7eef02a8036470428c4834f881bf05cd4 +Tag = 8cbe48d46b5c1296b05b2b6f4b24f7c6 + +Count = 12 +Key = 766067fa8f0dc348b77d55ab5317a609 +IV = 8716219953becc2d8918f3aa +PT = ab910f7300ec6bf57d7baf2b4474a26a7d7dfcd6b1044cd0b0b32995029a70627f8d2554429e13d14d78950fb1c79ed1f48c32 +AAD = 8106f9cacb894dc2f0c93c67cc06cd54af6c6d94193bd0bd9673fc702fc6b995941476f2dc584ff753cdf24517c2153f1e1c6e37fe6d86c1e4fc63bceb25749f9372d62a1932749dd21ef6010b2942bd0464bd64171063a778a0 +CT = 8bc822183f9e42f05429e064934d9f84dfe1713d71690e68981f94256fa4a60736607c5864e3b05e3730caed80004a9bb3adb6 +Tag = 439b0bcdd24a87429a4098fd8a05514c + +Count = 13 +Key = 557ef21e91f108f6ab451980837cf029 +IV = ac1010f6dcec713cba17cb13 +PT = a2ae838532cebfc9ff8fb62242b84df706ad1777a62f54c64d9b1777bdc0819438d34aa4c1906e0fae1e845b32d8fb65763dc6 +AAD = 5d09aa2a302e3ec2bd71b25d52053463c9c38a3b460f7b980aad6c91d5011570be8c23b4db518701f4c5a157882695ba4ac140f94bda13d9824a8976d436492baaae6c4f8367683199695a1f6bcda2f645b188aa5c286fb91c8a +CT = 94c1941887ff94f34cb96cff2b6a25f660ce9b3ac54963960e70ee49500dae6a20d3307393f37d3a4a35c13b58f7bff0f5de7b +Tag = 95e574f70f5efa14b8ee21961972ee3c + +Count = 14 +Key = 55c8bcb0021090e4b2c785c79cb966b8 +IV = 5e9f1313282f73d7ffb92837 +PT = 2d7c1b689189bbfa2be26ad5c1f296dee4c0f61456ffc94cf8e70aad0f09d0608c4115aa6ed5eba93ed5820b3f3426bbf4d64a +AAD = f7e14a57e3bb6b99866b90573d7bc355baeb7ac347e43d0b65d97ecc2eb9c772401a8e3c7e9e2871c2b79579d44c139e62c33b42a9e0c87686960009d659d5e3874e168c334b6650c6d36168633757a7c20764232ce94a0de1a5 +CT = ba59002df3394c5b80983519dc163eca5c44df80f8c4c4e15d3ff73f13c170c80a59d87a2165a7b450be01031a8e41c505c89f +Tag = 28418c564731bddf3d504d8ed32e66ee + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = c342dda0ac2c411dd0dfa4cd65d89ea5 +IV = 4e95096d01f0164573d6dddf +PT = f4afe07c8fbf9667f244e535a8b76fcf20f72eb37523368791f134a9a77a9e6251d0c3e597d74ba0b4991e7304545b8b8f0cda +AAD = 755644ab24c3a1a42fd109cd401016312b7f17382aa85ac2d6d70f46efd6a1ffa30705afff11145c179d01e0237953fb61a60e5da28f465747d88b56e283c8df1ec5a0845eeac51ad0ffc6a2ba4badf6142ad5c8df54f0fb909b +CT = 3c2827d95cb961f0bb69f5d31cc183d6ce58b834917edc5515594a5d83a1da3e2d82b52406a030f3d14e4b5dc3c2d4a39b8e4d +Tag = c964306b449d08dd836205ec9fce62 + +Count = 1 +Key = f8f0fb4b9a8ad8445684b3b26b5935e3 +IV = f695c64a35930f6ae5600b63 +PT = 77db77a2612214769849d8c99d174b31bdda513dde2a9a5960822689eba5ebbc793f1c8b8363ee60d96221b767c9012dc5143d +AAD = 9398addf87dd95f2e6871463c2b91c75beede4e12852d288d8f2d6f7ed35c6e772d4f77c65bdda60b46adac41ad2552cd93f8dfd94e0bd2638291f1f1f1197cf419cadd0ca6275bf8bc284f295fb1b11d1b97f9261c951b6ab89 +CT = 1d44e92d390292546d4f8ce3827f25f87b3d7a08f500312dc0b34d296c8c3983c4d8213a26eaaf792856d81ce5ba6cd949b0e7 +Tag = 16c045993306aca179b344a44f4439 + +Count = 2 +Key = 93f15d4dc77973ab4bd83902a0a14d2f +IV = 4e24f3392310091f1c1ccef6 +PT = fbb6e0700334d1ca593beea2236c928a1aff0425f5fc6fbe2782e2fab8b9efbde2780af4eaebbc58a76eb5cbc249a3758ef087 +AAD = 9a6302d83ef3be47c1067e8695475cf019c55b71dad18896ec6884913a54347e2e98a6fc40067165a9f9173915a30788edcb9d0587792f70adf5b2cf1660146d1614dd6f99e738f4f6ab2fc53f57871e616b5f4d6d985143d278 +CT = 9463c409d2060d3b2157a8d66c301fd4f93f91c715c40eedf42bac9d2d1f77ca0b2acd559e42d4d02023c859f694e820df683f +Tag = d9231d76166cb2684a4a38a5b552a0 + +Count = 3 +Key = d1c014291797b14908cec5e491651a74 +IV = 069b4dcedb340d99876cd518 +PT = fe48510322bf49e7f57fc9dc12ba8f7d92a58b5d12a62102d7863a3c385f9eebbce903591877e2219a5ce73ef39f925e82c4e0 +AAD = 8842a14ba33e791a4a77ad1a0c3aa75459b1fbe3f2274a5feeea074a1812c78314226b775034e4fa7393675a79e506e6fc648543811c958f6ff885ad9308b1c909339f8dca382ff282441a5acde4be007c432e612ba5d90872fc +CT = fefa0640ba53d2b3c341aef90c089eb25f67b6cadffff753bdd89a1330a793a9c1eb0035886953d4dc3331c1b036584f4cee2f +Tag = 3c221b9a781e38697de565e466d71f + +Count = 4 +Key = b3c334f587515fdad11dd6b88aa9f950 +IV = 9f99428f2c31858bd8d22d09 +PT = 40861741a3fb046a8143b6f88286be3e9dee7af068f6bc77b58110fbf531f8ef34cba4aed28fdb2826dbace9077b33a3a2d05f +AAD = 6b9ae1f5357755373ac4d3c54aa6a07c1286cf46ba773e6e26447e034e9fb2896f872e889efff8747a1824793731edb5beda89cb1b407b9f556ee9477bf3835fc49980105b0029a36e9aa7d856845afb7dc09b048ad37d0b088e +CT = 65a64e91849fb83bbe42a9fe8fc9038bbe58c83ab44ff5e53673f35033ce1cc1d732f3aa279a9e81b69289b316f6ae5da95104 +Tag = 418d0fd60e179f3968898fff42fffa + +Count = 5 +Key = 428a36f84b008c93d0b38473413d6da0 +IV = 7d929a7b8cf950d8756a2881 +PT = 521a97d12d72853deee63e5807179e06f68784450a5b3bf1daa6281279b4a1de1d409327390aaea26ec62b7a3e05f845314cbc +AAD = ae15c29f394112e6afec80f82d9a0ddf2d2b89b741ed379c5580c4ed8de7f753ebb04e43421853012fabcd8c6017654df19b3a725baf6fe976a798ea9170224bcf63c6004e9a708b5e91ea9619abc11d0fbe922e0c17a9b72a96 +CT = 86df6728183f9c30e57c7cbcf316ac19c76d433dd2db8eb28a454e4aa474730df9c805cbc5678af1e197cab56a09738ebe8223 +Tag = c70951e18313d0e36d286df8cb9e28 + +Count = 6 +Key = 1dc740fe0145a4e049c8cb4c919acec0 +IV = 3e6102ec84b00a617e89054e +PT = 841cf894878e346d28c85111babb8aab236054b7a57a2fc4ec45c9b7998d0ed90904ecec23a123cc02cea61a199626df5772f9 +AAD = b59bd85bcf8ec96ccd72a905c29621447d4606d7a5a1892a556668244e756548ee528396529d372d1871b271ea063bba44bab62adc528332c09cb5da921e674e5c99b08c3510dcd9c427cb5e65d0482b1ea1fbdc605edaf7f12b +CT = 929f42ca5cb8d5355481e1c014be361cedc403f0eb7dac772274017be5c1808325573d220690f704ae23d72ec9b7cfe7b7cdff +Tag = dbe93322875bd375bf6bc6d5e77a2e + +Count = 7 +Key = 98c082c842faed4dedcd8025933cedbe +IV = cebfabe5026fb1f2a70e8a4d +PT = 98da68ed63ee39d613f47e2857b4790295d142a99f3767b9e0afadf0e8c605ca8760888de46c8af171531cb5762854197bc3a5 +AAD = dd33b03db7c5076f0119bb016aa8b608aef6c48bc001787e3641ea51111aa03cc6399cbcf809b732058075530c9c4b3748c0131d9db6941484d6998e4b0db262328ff9f5b7ac39232fa7cd901564f3b8c75e424479033411218f +CT = 118447f099de1bbc767ba766d06915a537ddaf441e72f77d67e8ad838e188b4283d300b56466d997180067f884cd215e848467 +Tag = 50e8016d5d1c47f1314e8aae185376 + +Count = 8 +Key = 41262ff0d50c1ce2caec31c0a4d764f0 +IV = 7c9aa0ae125b08d6cdf304b5 +PT = 6e42e9e06cd1d8df058209d9ee56dcd20a7bece8b156228a5d58873f1e8acede6b89a750338f488de6f72aa61a77c9b5917f36 +AAD = 403eec260344262a38cbab5919bf1c130e3c37ca419dddc4e6e2d6071a49e1658e58ea30816a1929ef2fc587eb43e1e3f4e0bf4f29b2b5d60d838845ac47b46c5ca0121625fd5ece19a8990915c2f714ff1d22c91d12f1505ddd +CT = 628b2a5b7ae23e5b6d5f9d75698f5c748cd17c8b63e9d3653f259308c274c074f81a2556407741101f3331250707b29f969178 +Tag = 593f19dfb60c43c58999dfa89b881a + +Count = 9 +Key = d1d2b8e70fa93c95e7ba330543689c3a +IV = 72a5db6b56fb7c8755bba9f9 +PT = 011187ea3ed707c45ac54f6d284b1b4379e64101c05fd4239f6fdc5cd385aa4dd268d1e5c71dc946ff4077d5022cc0c3785160 +AAD = 5f88052a0cd69369855c49ad30c4d32eaa8519cdc1c0dadbff4565a5566be9e596f673f87dde5935438ee1d3e617473e543a6b4f89843404cf0f9d13e28e1cb41c04df89bc0dbce745069ab8293cdff6a8b842609d923e8fa8cb +CT = 5277b649192a3cdc80786cdc997a06afd1b5ca399c8f21391b4318b5309e2f92fe2dd001a42f862d9a899b23ec4445ae46908a +Tag = be846e53b2cebb90fcd98801266443 + +Count = 10 +Key = 13d8bf22fa4c0132976ecc67a6b462df +IV = c6fdbb447c84912f783335cf +PT = 7bac1bf8f102ef05c1070333d21b6d0a6ca8b85006e0d435388eb35042627b5266ef8f8b36f782aad1214dfdbd5541cb6eafb6 +AAD = c8f34b2ed6c4bce61b507fcfc3459c330754e887ba1686709c8a0cec85de7a1acb4c462707237f88a0d6570027017a3dd861cd405cf4193a4bc55291f149a4c2c50d5802a63f204c89a1ae8d2f03ed5b4fc0bd7fb62d1ae77cb8 +CT = e48e8c90ef3c63a2aeb8f0aa8c99ecdc3f4a23082170e026f9b5bc6253450afe95ac993e09fa5d275833a55eafeef4bede6f69 +Tag = 1eb754c4828370a68d65357c7c86cb + +Count = 11 +Key = ea7a978f4f4aa9dbb831e91f1d4ba092 +IV = 68699d669448b6b33a5eb3fb +PT = fae909ec8ed14e0c5b866c164cc6c97f4685301cd7623ef69554e081765e4494da33b6aa42e52e3d05f6e5bcbf97b0bef2f289 +AAD = 89b63f743fec2007390dd0d7127dffe8ecd8086ed5b78d9993faa245d5363cc6f6e6697eddc266b2c88ec0c39c8bbbe9c9c4bff699ba95c517a8e764f4e8db62a10d043e838ac87d77cf3b82a2eb59ab1a7a2ce5880eeee9b35e +CT = 6dfe5b759d4c2ac6c67fd70b4379c4cfb544617d69fa0d579aedbc33175eb7d70aaea678badd6b1cc9430660b9de3aab113869 +Tag = fb27fa107214efeaad5e33d9df0187 + +Count = 12 +Key = 6cb4df013c7c3526f5d25c4b6ff1235f +IV = d90d0be7a64b6ee12c814f60 +PT = 6cfab67d633a8369937d6acf4d84c981dc1c3040b344ff261a156b328ef2d84e3a51125a84c42fdd5313472bfe49b06c9f2d2c +AAD = 62b0762e134e6ee00ef27fab6ee287322462b354abd1e9f7ad2088f6745a4327edb0f3dfd59e1d96bda3cee302ad3646423438c7b67640c53121d3df3cdd8ef99381a4e71afb98e96571b90812d7c4873b2f8a1c2ad974205f7e +CT = 98ba3c3ab6e833528d2cdbda490ff12666effff765455fbc826f1831b29eca5843bfe738c1e51684a3d93eed8a7cca9a858ffa +Tag = acb376fa10982ee708bcef7443aa96 + +Count = 13 +Key = 198cd2943e0f6a2fbb1666b7e343df28 +IV = 8bf276ad4e3e1f38034d0f4d +PT = f34e29b0747013f03ff921bc7edb2d62afe80828bff091316a2b635754e35fbdccc39fa250792870564bf233c7b846d28882b3 +AAD = 77e59d88d6cc9c82b1b38e97da3ac2f9faec654b6193bd8326429657a9bf625f8a168f4e52b406fba3deef44e5339fbe3365afb50f0cdec87a5d2fee475c99c902905a733306adb84d799c87a141b584467368136c97ce5ec644 +CT = 04cc7e0bec687d40cf0f005512defa9ee0b8f6b5279c9c3aeeac0b81179bd001ad19781ad8bf598f13061ee1e93c2c59841f39 +Tag = 721bcf286953d66f7dee447b6ccfdb + +Count = 14 +Key = 0d45bc5ccfc3038b5f8a36b07aa8c41d +IV = a64a01668e12ef4103d9a219 +PT = 0eefbe95a4c3c2e075b1949abbf965387bcf2a56df07cfd4372425b42f4b3ec87a743eb606edab3926aa5f712b1074c6cfc79e +AAD = 2faff36811b9291ef9663346e929ebfee989c1b210c27a1e721c79157d68acc1f7119ac6e4e64b6391e594a78383b926c4b23c43c09c7e58f0cd64047e7684d85a6b08f6f478722817d0d66080cbb8966faae1ae8c7dc71bace0 +CT = 3c7cda25d594dcb3143e5cbfbd2e8090d522b973c6a96200f663cf5a45e924c30f58961add159384dcc3307e2e9054535cdeef +Tag = 323fbfecb67236d7ca801aa88757e8 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = a15ae1307fcab019e4e9a61ca136822c +IV = ac8eb642f7333ec21a3c5437 +PT = 9d705c52918a7d4d2343b509c8083cea976584c1bf8818e86c8a2443b75bdae9eeb6b51b77bf5c636300afc10f8cd8c819d470 +AAD = 101b3076cb04789cb544bd2a8e1f3f175da6d5d5dde40d18620e1f4c147549e60505ef29ea356159c045c3d1fb3c462e7ce15a72ac550731f0cfd7377c8a9123fd06fda0f14c85a19df970538fd53eb4094427deb9e959748c00 +CT = 5ff7683f7d7fc0bf127e286010e8673ff00bd12cf12b8e38fed548eed8fa0f359e06c1dd7e8612542a01353f63aa8b6f38706b +Tag = 893e2ba8cf43684f2db506b5021b + +Count = 1 +Key = 11d77c2d0100e1d42b936dda3c4a9e77 +IV = 8ca507fc0e3541804c01ee46 +PT = acf95fa1fdbad703a7ff45ae99b744355916ee2a0341eda1fe59673e0893e76e4889c2f6e7d528fa43f941225ca4e5997b5864 +AAD = b4f6fa717fda6a0d2b7350a885e123b6880757833b65b0d63035ab2d8238a565ae2d4e0fe4a4adaaa67c218c04753ee07448bb411ee32069a1d23b1ba5773eca4a3c7ec9ee38169770dc3cc93a8296e780b25ca80670753bbe89 +CT = aa5210c258f48867cbf3824161502e899d0bcd492cead1ab1f2fbad0c7d3567e95a0f668ecbfcd00c65dde1d7b0be2fb02f12d +Tag = 9b051d62838674f12b2f4dbee738 + +Count = 2 +Key = 5623da769bc7fd1cefff897671e73e6d +IV = 90fda0dfd9b941ac8b14d1a8 +PT = 1e4c9b71176bb0015ea0b856c18645efcbddc852e481ce3bb27fe531bec9801d860abde1c9e2d12f4152ece8d00f25f6979db6 +AAD = 0ce0fc26ed47c6754bb30963c49c436ef701aa17bed3aeb4a587731223d655d6175dc94ddcbecb95b5fb396654433ef1c58fa5870f5f18a21c479b904be1aea4a35b3f270ff8a09c2f13b3fe45ca77b99f8a59b6a6b6a29b9fda +CT = bc0d6270c3caa72e5384e1c283d5f6bfb1e4dea00986e59a63974d809b537b688b3b274b49189e00fd8ca011546d3f38eb9c22 +Tag = aa60f0ef32c6afdfa90fa2521f2c + +Count = 3 +Key = d3df7a1b69556a358fdf53f5dccbefe9 +IV = 76b95b42657fe0a30af89eb6 +PT = ce702d9ec69b1d79e07a447cfa463f0dc9718ba4fb390def16ce68637d9f9572e6e512ec11e313fa8fb9350059cab4654875c6 +AAD = 89f9a4760ca166fa9b83a6540af1be89918ef93d8a489c7d6cee2b26dff6ec0faa5d7e321cb7118d1143dafdd8e3d1e8da0faf6c6d9c009e938095a5201c0810390107094f563b5e98b9021b5b40ff28b56be2f6f0bc788681ab +CT = 73f0270b9f258f41087b40c17f7cc7c9bac41bc87fd9d183e580ad5cc3e388bd2a360f4aa84b58b0f233053ea7252f652ba3e6 +Tag = b491925e663c48174b1e37b3257a + +Count = 4 +Key = 0624e7db9760cb456a23ba8765fc18b4 +IV = fd589e09d2d094d8d39b3c62 +PT = 1820cce1343fcbdbac9fcaf0546dfb6781f104d039909add382922b2df63ec9d79567afdc9c449951d1542d954b382c76709f9 +AAD = e408cf86fa3bc162e1c10f960fe0322ea8ccbc515cdd241fa7963777ac9a51d4b4ba98f8475632e2712c16f2792980529a12b3b0e4ed2c58bf1baa2d6158e6a34824b68a4a5c7c68895552cf984c04051aca2e15d4ef14364b79 +CT = 7203c22769a809a61bd0053ce7b922883add9b76701a49335922cbad86b3155b9d5347472fd6294d6c13c9d447a15d0c533d74 +Tag = 4e01673c03091ec1b7c1b28e4a7c + +Count = 5 +Key = 57c03abb88c682e56923108432ba22da +IV = 3062f0b9f8759f39ff0796e8 +PT = 6a555b0c5970a9b03aafffaa8154e08fff95c687d97ee895f35a8bfefdb9ac800c0625691b9dfb624ca507ffeb90e1cac9cff0 +AAD = d698431e8d721801fd02692aedf6e1dd87020cb8130c4211773e665891e754894f51fbbf4d21feb78bead16971778445c3a75fa3d008044cfc1a35b1b6a7a31eee8c2f44490a31d0c6100acca8d93fbd31c9d8151b215c87c010 +CT = 38c910cd93db3fa51df872e54de6383aeed5f442885404501c4093015c32f0c22126fa410502979cdfb28b069118727dc42695 +Tag = a243037a97029afda689bda504fd + +Count = 6 +Key = a84087cf8793aab359bdf0e8bb6dcb02 +IV = 94a98bd14cbeef1bc5a3f6b0 +PT = a4de670ecf09926d8623953ffacd6eb96922ee33de558d2f8cee92e87463b43454d5e7287a13b2bdc47343147bc2438153300e +AAD = 5facc2ba8cc99c788e45d42ba74d48159e63fceb258c24610a70af699be21ed94c91955734171a714802a95cc9261a5ec5ce7aa45ba6bbb791f7ee9f06e34d4b86f727eb95a02b0c378bdcad9d946f62f88c2d2b8baaf08dcc50 +CT = f4f170e321e41650d20e9eea7a02990aca7e2abbf4c88d122c46612c8ea12cdf2004416ab38f4b5b9771d9a433d947c588440c +Tag = 65296a9b85c85b35d6b95cd51a3f + +Count = 7 +Key = 105736781b951728e31bf961d2d4d892 +IV = 964b07c86e9054b8b92a450b +PT = 2b0317128a30d8d342ff61f73ddd8d3216fef94406b74638203e54243040f5ca568be9709dc1a493e60a94476cd6ca43fd73af +AAD = fc4036dfa213e840f1e8b1bf02ac0b99f267ebba32d835debc11ce15bb7f0af6247b3aeddc552ac930e646bc91e83f4310ceeeebdf14d6328551149ce5c44697cfcb38447aca18031a6457c063a7b0c96b45f9badbbe6a8ade50 +CT = 0d3c4ffe8ea5638c7d300c6802fd48be1aa7df95979375c8a485e211c40423d4e5f1198b0f70fdc1905ce90639e9a568d9c159 +Tag = 9839c58a98057413d3e6c0e7f183 + +Count = 8 +Key = 5987dbea6cb51dd1174f2cd5d76df68e +IV = fd27f69635863f251cda125b +PT = c2e5998e298ddf7cced813014b4fa6966a3a64145669e97eee57a19ead1192fac161ba7192534876de6ed175a0cfb5933ad938 +AAD = ea155fbf0a11391cb4ddece83545e2de3ea4de2cce2758e07155365504cf208e6fe3e14a54aad162a6ee1ab0e94577e67ffd0aff73ef70ce5460171a078f2a2b87998e8651da6433fc4b50873b456b27bd3926f8c729203635c7 +CT = 90f9dd316d7dbf98edc449204090afb1c877eb2e5c5d8733511afb6e857a64ef93b7bed035bfb7a6c597c975471bc2f8c4956c +Tag = 4a4c155cc710b8b511569637eaf7 + +Count = 9 +Key = d4e8d09b43e4e4bb1b909756e42dfd01 +IV = 8fc6ed9596803628c72276ae +PT = db7b504d2091b492d27ab489ee221e00fa6a34fd3139bd24530a4d536b4f9422ae60b62ae1ccb8ff95540df4f7aa703e33ed3d +AAD = 44b5c649e13da8f8827ff8470c32739011eaa221ed21f9cf803205c6fa41938924f4422e4665083b7f1fae23396128f00bc33d096f11a4ca8183bd81f9fc237e11d79c866d043442ebcbe64de59d334cf9adf635756457293209 +CT = c8dfc3eea4677a8bc7e18e801ef9f7b4c5dfc93ee0d92562a3cc6a7d679342609bb8c5fdb16f98db74a472bd23f0380ff8cac7 +Tag = 62d610a927605fd76a88d58e3901 + +Count = 10 +Key = 5f0c1bafe4b1a32c3ac0b92f864002b7 +IV = 71dc9170121fd016cf52c569 +PT = 4e1d292309820e3cca861866678a31707151fcffd1dea6eb614950b83449a0c22d34c57b36cc7643324664e0758275ab77290d +AAD = 3d88d29163feb0187dc88b3e6aa6dbc3f1b06dcd0cacd897f4039ce131478edf8ab6d1e5d57316e064923f70ffefce07c8cf539eafbfd7e458e2069d1ea0a8b1b0b690bd307001adc6eac1463ad706af575dc6187fc34c5af1c3 +CT = 0d85e2da7a3b5bedd7df885d0fe67d71a0084c8559067ebdd48004ea50b64a3a253615daa7667a6f87e337413be5bcc40a4ae4 +Tag = 1b9236105600f8e9c460cd2e1c5b + +Count = 11 +Key = 45802e6246400c4e0f010e1261718599 +IV = abe50d604fcaca4ff6109d95 +PT = bd073abfed781bea5c5ec14515f4534426dec0cba4e9c03a32d10ad1d56ca2bb5f91591bfe8f203dbfcdb942dfc746eff27b47 +AAD = 50f092899f95e28761148862f105574047105af7ff65d62ed9e3b8b97f16ea10ad75d8af5f061cc19f3fd5cbe432d70da7b6f40f6f5d89001c2a3409e7645687d2016e2cc8a82d0b27794285494b36733327a623ecc26b719a7c +CT = ae5c120510ae370d3f3ce01ec05cbb6f75d35bb5293d50a2d6d3d96af3398f70b713cdeb577b8f2e93a4c0f41ec07d386f6e74 +Tag = 8d777529d69cf8a7dfbed6622fcb + +Count = 12 +Key = 1332cc75fb06d051734afdf8f74771e0 +IV = 1b4697b2a00c4598f40da47b +PT = eed85588655b46860e987edaa52079dededd1eed826cb9028c867dbf42ae39ab1f6968c33c1d79c6c3951f5b5d3f44ff6e858f +AAD = ef12b2e3a84ee9665f7c4e1f26fd80d272fa321f2224cb0d21f01c71cf07444b6966c91188dec94255a653134bfd284cec09f54e4b2fd47a12af8d5693d392b7d7ebbc362a59807ae85bc2da3f2afd341c562da3e275fa397669 +CT = 75b6de320c178d4d00b2b50e5b5b47aed1146235c44bb1777de179631a71ecabd0179194f21fbff9004933420b9196a5c6af95 +Tag = fe6940c673acd705321ffa8f1567 + +Count = 13 +Key = 385c6b45b3208aff0b492ef5ba24c656 +IV = 0811fab336be75a1e2ae79c1 +PT = fb05a05bdf7e1e0054da480349888e5461753a199b788f0c8cf799c078151a13c000bacf66ed67794249a7c0b43e607a5c822d +AAD = 69825ff37bc5515085f9e37b486f2ddfb62cc65cd8cd9ae80698699ed357277f03a30c3e734d193478a89489436f701ab1b21f8dee4a4cc884e1808806448c7e85910519be5771902e7335fd13baf38e104c68245c96929d3f6e +CT = 22a487095f1eb019c27bf1c0701f2f233b747c4aec6c357b88445aeb607a786f40c4b8247030bd8725624ad4530950ab4cb365 +Tag = 6bddbb2934a7f4ecc317bb3eca20 + +Count = 14 +Key = 5515b8233de465d9d67b8f566e2023a5 +IV = 5b3138b95dc93011473ef6fb +PT = 8cc0533a7871cf9118b2cb9a9f1c40d1e711b93baf4e81624f4d91195719139c177d778dcda8570c855be2954d438c8eb6000f +AAD = ca313155d0c7b420c7bd9873cc5b78bb8c5113460527c27862beeab59488ebe4cad2aad286eae69ea2d803211be3d4a0cac5d5fe6f19a9fdf08c66787783c5351fa80549d0c67d4fb05b458e1aae86faf9cbc8fbd07e5b525567 +CT = 3fb4c6016d4ad5e6e33ae7e754eca6ff1d19ffd7c54be146be9f493828e66b019c89af957e77df7506b23feff91f058323f41f +Tag = 16db0356b5204acbafa0079a13cf + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = fc7035da45b885e570f2b5d1386b1bd7 +IV = d4351b09fc5fbeb169ed25f2 +PT = cc747415646493b5102b83bced2c595407b1cc61acd677e412e0ba97570d5494003bc0988d0fd22e65739f9979befbca7a8365 +AAD = 534cdf4f215f1653167a3da2e3fb8053cb636da1a9085c1fc662a489e0f023d102309b725a35b82437e9d420426f9be620656d6685919cebfe45b4849eff872dd3a67beeec95d2ffc3cfeee9adde882e2f83633ee5bd1c0deea5 +CT = 6c0522a774c9888c1cf51b241864eb5929403918de9d795a9e4461ef9609831aa156d358943235733f75eb50527e4dc55107f1 +Tag = 978cc715d885abf08db8d787b7 + +Count = 1 +Key = 26e7aa97b276b95d807daec50e4ad59b +IV = f033e67677331f6ba36ccda4 +PT = 7dc57edafb3d0f104bae9db8bfa493a02ba9b57f2539e0af0bcd7438b9e9e9b35145b1f7c720b02e644bedeaa57685f2f1dcb9 +AAD = 0e11051d7326f60df62d7d28e32882169bfa602c2486b3f7eeddf3da3def355829f29e217e889ba11c675e6cab2e200b8841e243cc9493a3dd0d70367cd7b053469f0e9fa5a9a75157e19ad29c25876715f807f28644aa6d5a5a +CT = 05ba4d8a93768a228056b9e6a79fba321b4dcbb5f3e5fc8b6628f039b345e51fbe5c16a9d42eb72e9c1783623d7fce088edccb +Tag = 5aad2bdedd6188776caeb71383 + +Count = 2 +Key = 95e7a55ac6a019ca5307a1385b13baf0 +IV = 57f7a367a3ef3dbee46e5f3b +PT = a2b7482b3171a5f0d894149faa696925b733d603c7b5f84d09597db8ba113e0184cda831c74ed7cb4f42f731129fd074de2ee9 +AAD = dcdcddc907f0650bf80056b97241ec1ca4e159be4952374224a7f2f03f44e465d85c89eb37b8eb408f438485fcf4b6c585fb799e45e677cf9ca9f09394dbd4184821db9d8f4d1af4e845787a482aaeb821df7cac558f49defeff +CT = 0ec224da441ad773981a14f788e724e5c6371455558587857058266f59719c6f550ebe5a64c96e41f670039c419cf327aace16 +Tag = 7e1fa2a7db0850de092e7569c8 + +Count = 3 +Key = a8c29a9465622dfa18e9fe5644e5ada5 +IV = af8b2310c4252938c6cfd1b0 +PT = 6e6cb61e387b08848acfceaca0c63d70a2f842cccfa3aadb6f473d3c0a8a7c02ca7dd6422ea3550e82db443a8d5166a59b2e85 +AAD = f74e84129c1a57112df5b08c004a3e5e3e1fcb6254c98a543e2db954753c508f970228f2eb53e2b71fcb5a6e958c8807f9f64ebfd090df3e7afde038ec8d0c558900a37f39cb795d30b26f511c3d24163ede72da43139b566ca6 +CT = 4f219c2f754c9bf7cc328bd119adb61cb198a25df058fd44a2122c22c4ad68befaf0af58fbbd94a1a9fa75373956452ddddfab +Tag = 13d7ba53bd8bebf8e4ca01afbd + +Count = 4 +Key = 052424d04333015812e37004168735d4 +IV = 7a421ba531b84ee7a110cb7f +PT = c2709a8d423204077d449558f75116f32066cb5ae09993f281109346605e3081f1888743b0f8897eee646ca86a41a68d9fe49f +AAD = 1df9ab2140f5556899ef57bed17083ad97ffbbb4e69cd827ea25b6c526ac6a3293c2b35be98eee78beb55bef88d4f67d032719bd1b7251e5211aa06fd9220be0ae83ee30ed91184c5b6fff0192ee695dc930754e82bedc43a478 +CT = f5b7d0e0846bc3433bef1c352fc566a118b2e0feeb5e9d6af3f203b57a2b883d1b8319976b69a379bff9ea7d9026bcc7dbe41d +Tag = fb5a45b940609bd8881a320688 + +Count = 5 +Key = 0c0f839b9a4ade6c4f7d13f397ad6c9e +IV = 54325af5f7f627e7cb93a631 +PT = f2610f9bb6ca0168241d94c695d455ce9accbb23a9b6f7b3affd7fb4864ac63b19769b446848a6e6ceb12c89c3ebe9dee6ca15 +AAD = 08c5af96c6b9eb1b0946029a2e1865a09520e0d45fcc12908148379066cecedf9f42d6e177eec0067545ec709a8b190459fac6eaab17adb6e613bd9b5cef9e4cd387039b511cbaf38fdcf3f5e6f4762d86a3dc7ce70c3a96c7c4 +CT = 1e7cbf6f26287e6e0077fd7a9e122a67ec6e5b3d185dcc18647d1371f2eb501b8f3cec551bccd84df2db03b1d1acaa6da74a90 +Tag = 60a1eccabc6475e15a7759bae1 + +Count = 6 +Key = 7b455c7abde9dd62a099a4d3f9c50a2e +IV = 4cf193863947a3ec776d36e1 +PT = a460994d10f001643aa477e497f0a24ea843879454241f9c94614a1bcc23cf6a300335658b36be40ff3636d0c9768f80fb99fe +AAD = 64a1fe318470abf7d75591856fe81b7e35726117bcba6994f78daac2a7d58fa9a8162e10e9f383ada7486138cb6c37ae9f4f37491d041fcd0726bb2eb64dec5a9c82f10422763809a42b22cb7e0e7cd1a82d28523d95025a4c92 +CT = c849963e934b394348ac13e41ba9f7e3a49c2ed3baffc8e824083a5a89217aa5df7cc1c462de986a7561de657ed4680a4d34a9 +Tag = d28fadcf20e7f6ca526859c6f9 + +Count = 7 +Key = 0d169a9909e5c7d0bbaddfdd38fcf7f3 +IV = 4ae078ac1bfb3e9e8cc796e2 +PT = f63aa0e68d6710d3d1d541f019910a76cf10397345485ff6ff8f85246c637daeaea3bc9b104fbdfba151f3c324a8ae01cd9195 +AAD = c33a2569b807df6d38d7df792a7efc471136a04ace98c093ac2720c511e85ec9c6f7cc702f7c30a1b57e52aa552ff0928fdf4e81437b047c399a6ef9396bbc3362852ce2339492e40427319c0495546637ff9dae837ad0bad9bb +CT = cb0f890d85293fdfd8301b0d07350fe3c3a838654eea83f040b648148ea8c2955dbe7c27acb8b3314234be20edcb63efe912fa +Tag = c6a1a5557ed921a9c8a8fd9cd0 + +Count = 8 +Key = c752bb3a83d765af767632f5ac7d6897 +IV = e9c0aef10b9b5be0316e9b70 +PT = a891903d1a069ce307ed06700f74480ca83d20624a3f5d49ea26eb03851275ca2c7f3a3939ed681389e1cd6f8dfe9ad3055da2 +AAD = c52f7442652b122b24b84f5ce2e609f0a85caf80873d4b9c0657e84af4c48cd51858aa12c75f95369e2ccad32d8f70b78e157e405128ab08f16340aac57bc52883d0ad86ad55c89f998644829a70aa3f38b33b4f5d47e37374d8 +CT = 85ac18ac57a22ca930d76e65a02583f293f9fba1f57da45eb49282c7c6c5e04256de8f8a8bdb798e40d95b94a17aeb20fde384 +Tag = 8d251cafe520e37c4523c659de + +Count = 9 +Key = 02012ba783785ce0e4580e49d61dd9fa +IV = 779c613b87a05fb2be7681bb +PT = dda09c5231a56f221b628960c44588c129253e22572382c278df3798ded39ed128de29903729246d2b78b4253cdc7f1fc28954 +AAD = 7e9afef2d8ff686c63d01bba494cad30ccd53c7df042ec6d6bf4bf7c71a232e8ba5f4a5ab25e1aa99e263d264b5f5746ff32a35cb799f336a36ef75527475ccb61d50d126bcc0c8dd6558f6be4d4ae19005897deaba3b961e6f8 +CT = 38cd0354cf64006e0f32172903b0d0bc43ef4621c4dbbefb0898a604e757696f8d3ec5c626f6c408299cf006d8d984dc17ca02 +Tag = 223a76888fe88f5a631fdd7f35 + +Count = 10 +Key = 22c1311f55d8c1ca6decd5ab27093a95 +IV = 3925513fed1db3e992cfcf94 +PT = 74e9a49a2cf211386ba42c2e98fb6a56a7e68b6dd9cf0e43f3dfb22969a4fc1769bdcf1d41eaff20de204c5bffa8580d5aeea4 +AAD = 4f93ce5c6295780d5b26036b4683f1e638bf158224d403fdbe8177914146820d2a79a50a87b05bc706b568228f4d32d94a4d07dd3ee122a2a461035d22562cdd3e0e4897eb27796742939dba0a0c077f86dffac9417bb3f3ab14 +CT = 554c2f7a94871bef54e42c4283e2e40ccf0f3dd7aa18259a47947e3ee2d2ca1fb2e9a3369a99b43e42e2c5c363e3a7df4566ce +Tag = 67d22bc32796f941d07f603e31 + +Count = 11 +Key = 997399ba9edf8e7ce49f5e083c692891 +IV = 9a485122e6f1d7ddca474519 +PT = 15d958d0ed9efe2ac42dd91146d01abe8b2c450cbc4db53e8644cb1d152204d8e94bded7b31fb2039c3c02c01a1e1123924395 +AAD = c8fb6a1cec4bd579268b876adf663471ab129ab59965df924b3455d460331bf989fa41b1e8a229c902567bbe1bf82cf9d992edef0782203fe775368366489d33f73369e6e8e004adeb1c674c6ca18f77f9661cb01175afd822d8 +CT = bd73763b35f214eaf052f66a53789601441c2f8125ed46b99d97f2758cc8110e5a6aa086d051583dfdfa2502a4389ebf5bd348 +Tag = e581ea7ff2a8feb92f260a8ae7 + +Count = 12 +Key = a8353d9a3bd5ef4f4537cf33a54e9a61 +IV = 8dcc45bfdca53bc34c0b4606 +PT = c53e8dbf699720f3728bf3f02ee9ea195b97756b4ac64c0867e2d34bde507b23ffa2d99cabfcd6dc37c4600847a7f96c4d7508 +AAD = ff055c20851bfa3a0bb7862e3d3441df89c535a4e7de8c930b1d3458fc4e26d4adccc06098b83500931d612e2b525bd3c10858e0137ef5ca698d770374741e960b5cb23c8464ecaa3a7e0ab1d875f40037f37941adf301c11f36 +CT = 1bf784667692077fb22d2c98878eca1feae4f1e44506079292bc721a5742541522af08c5713554cb5697fd353220bc2952802a +Tag = e6abbdc1d800c13de277737201 + +Count = 13 +Key = 6ca75e50f71f6243895512e1ead9017e +IV = 842648f5e743bf86638c3223 +PT = bbe981a51a7134f1eb785a31bbcd3e30c4a05bc67e0e423ce5d753ce8412aec09be7aaf843349dd1e001fc662043633bb51402 +AAD = 3c69fe94b408d042d6ec73675e6d1def0030fc3c4a2f3bfcab934d94d5617d4ed3e7627e8b19834b182f58ae9aa6be6e4e16257ae2a096a509a625d853e2567b4a735d655246b5fff8201e22e3af951a5fddf7097b1e503822c9 +CT = 99509a91ca917d0ec1db7ddca374bd401860961221199f78e232cba6d164df47cbdfa7e404daec10191e8763e2520cb1c7a2fa +Tag = f0d25dd871bae92ac04f2fac54 + +Count = 14 +Key = 9ad457c226e796ceef2c7ade5a1d33bb +IV = 7053ff0921aa71373c898ade +PT = d4ca01b10e566471a5466a04d0416937f3514ced10b79044ffc03748d6f074c822b0b40d0d955a5bc02b5df71c618711817e53 +AAD = 77608221497fac9e45b7de170b4a61ad46f4b7e486ba36efa4ec5f1298e920388a996c3007dc9251cb666176c780ea64588a591e53c611ad5c40f5788f795dd3cb5cd1f864632929fa9f8efda29946dccbd59dfb7721fea339b8 +CT = 7f7fa69695fd53bc6e12bce29f919dbea4f55fda757fc1dc487e16b49ccb1f1937d7c3071df9b3ed12b5992119335c0edf57b0 +Tag = ec640224e83f9de4f412d482c4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = ba607083a97b28d010e125bf11fd8222 +IV = a0613a75204fb40e36857f06 +PT = 27d87b349fa6c97c2658bb9f6ede0c6a5daa04f792546a27b25db925dae3cbb063fd937bad99c4d3ac36f44b5719019b9001b7 +AAD = 978420ddb8a95a2327e8af9243663f76e1f71badcd0b08a4bc6d05d2cb8c3c5aac500cc058dc134d58d2e2c979d769c43c092fadbb0a04291bf73f5507cfd7c981d821c57fdd208e9eacdacf85a63a04cf32446f899d18257df4 +CT = b31b1dee3aaf30d835ed50c10a64226f3cf97cdb4e4be4424fdb4455dd0684842558bc05cdfe8b9ba1ea2862014741605f0f1f +Tag = a71bb977f4ff23034dbf7a62 + +Count = 1 +Key = 8e2185b535c7290d176f942d75880695 +IV = db10a0a2d0bd6ec4f16ea4fd +PT = 9e768023dbe0c02633aac2f4cc5d9126a717bb89d9679d0b6e108fc3e2efe8a5f6fe9227e9c879e8e9ff56f3c5fa3618de9be9 +AAD = 4b3e0cfd3064aca2d16d722abdab83bdb3538300af0a25bca6f8969ac2f30163938948d2c0ea47142c88ef1ed4fe6a459837c1d0f059c7c59e3ddeb8fa34709ee97ef24712297daa84c9e13f9af631cee5943831c3453c8a2dc9 +CT = 65ea620ba97f92d05cfed7ea3adc38f8c0205afcf6734045237c3ff0f915cbe8be325e07f0839d5e929a54b7ff2d66aa418d97 +Tag = 17653f1431298150cc3dc26a + +Count = 2 +Key = d494f6ca308bf9bdc0159303d98a84b1 +IV = 3d62241cfc1fa2f6e2413ef8 +PT = 799076f68540c54a41523f54c0163023abaec90ac1cd6e87d98aacd302bc82cf4bd66c9b30134262cdc1e6b18dafa195be7e7a +AAD = a17488b737f003c9920c7f2d1338c73aaa3272e4215ef7bc36dbd42530bb24139abc2b3caa28188c6ae64072b02259631cbd7be176fa4d990d7a54037eb25e234ffc89ab6729e9505e434e4441f950f77e271dacd74843d2fef7 +CT = 39346bfb1d4813354851c0fb4d524b928bf730ae2ef86a6a370d90ac3b4cb35bcec7ecb53f51a3ac6cfeaf66af0cd9c25297a4 +Tag = 0f67ea137e8b46e6b6c926ab + +Count = 3 +Key = ea2fabd7ff20f02f50f0c68ea77f51a8 +IV = ffe338a771d0e312847f8aeb +PT = 30f1fb314f331539ca526cf70e06c1928465cc48150d4a977406791a6b8829262ca7e7a9795e86a25154c319a7b47a84817eaf +AAD = 2d4193a2b6c1044c0ff899288e5d650f8b631914501d2f36735b7e666cb233acb44406f13ac7a7002a2cfece21197c335c7ddec22cecc6c67ae8e32ddac9fd2c1c5e57da20c5b2aa067a242eac72260ec6c011a9e357cd1a1988 +CT = 49dd2e10c6d0e5722fac4a40bee0337df4e5beeac13acabaffd3474f28978fa88142045353366cc7b036a5925e4aac29e212e3 +Tag = d07b243df54a55fb86a4e337 + +Count = 4 +Key = 86e7976f1157a452ab7601ba201a26d1 +IV = e2fdda432de2e3b832779680 +PT = dee432fd9227dae41c7aad224bcc1fb064c68af8a585b962c028438f6003095fa709f8c2862b1a9d70f2465a07eb5d2a3f7909 +AAD = b91106cf010df3790818e5b1c9e2cf6f54d46ed29794c93285d41693d33df1e3b117549a2f51d655d0e3ac1f26d10744a7e5c8f3e8e1662a2b2c218709d6389b27ef1d94221974928a0f7dee4b490fdb44b4b2237515052292e7 +CT = 7ae49f7e325a89be733e7de038cd68d360b39f7dc423865695d2979e32ef0ca08427134d5b6b36ee86d283c955ff48fb036f35 +Tag = 59356852d8aac29a138e8de2 + +Count = 5 +Key = 021da85d3d5838a87b04484c82ece2ba +IV = 449ee90eae01e045c8f7a034 +PT = 40cfe009d5cdde5e279e89e7e16f473bee2349f5a19ddb5482c6959e019b5d4386762506c43b7972e1a5996f6a9a3240f998df +AAD = f2e31405392c0034851a470724ff251448447463214d75d9dbd8e4373e24512ac2d9693f69beab8c86fb00b01388d1539097aeb3e7d42ed7d2257325eafbaf0677b6ec413f4e6a131422a4413406a66dbb3a6e023abae3a810f4 +CT = 05ef1722702d96a992b50dfd8394629a2f5e8ff59eeef14f5c1fd6db5da0a96f2804d56958848368b4d7a092b6d30375b9509f +Tag = 5f54bb91f4d949a67adbd3a3 + +Count = 6 +Key = 1e026d819acfd09c6aeea2ebcafd62a4 +IV = 5171f3e2f671d0adda16953c +PT = 164fa72b11b9acdaf2d6910f58f552e79ab600c1dbcf14328cd065cfc5c0c7d8f4854b16b5d3ed60dcd2b3c3492f61b882b0a2 +AAD = 74197bba1e91b5101b4312c153e0f488f1c34265cb13e6751e81737d37918e7903005516a3458ea0e539fadca6d7c6fd94810c140d41ed9ad0951cb9e011b29f0f10790492f8407e32630be6d9d237677e259036aeb60bafdd95 +CT = 12146d833555abe79e5c3b2247848506c5f52c36d0b3c1ab2a62b1527d865d5ebfc7f6177bcc7cc71237990d9f507bd31b0b39 +Tag = cca7d878f8d20aa4b3fc2cd4 + +Count = 7 +Key = 520a80e69aca03e39dc84c602887bdf1 +IV = 632775d9715febf38bd4272b +PT = b29a4a1110b360c9cef4170ac910294aa3a3957773314e6b6b1ff7c37846fd9c9b2ba34d9e749574b8232096673713b2bb92d8 +AAD = a33e00bdc74d8eab62104e69e544dee3925011beec940ba4459aa91489a659d52c15d13db8a6306ed8a583774ba703ea56d4047721285ee78e596c6d057e3945f37ede023861bd27286b0a0de026fcd9942f596c560cc1914e55 +CT = 47ca39dbc4dfc9607c7df5f328c4adfcbaae9034c55da3d23b538b340fda14dc191686640ec67f045a3111fe0df33d4390cd51 +Tag = 87a7390856e670db4f1e3cae + +Count = 8 +Key = 79da4febb5b42b7f73c52dfa117513dc +IV = b9f41ac2062f5aef04f388b5 +PT = 980043788512b2b703c8e857ed2a26946404fd785d01b4d52eef614269b263ea0368273b72f464aa88ebc28fb77a62e9c49806 +AAD = c199187f92a33986a39be7cdb91579c5575ad0d3c8d035479bc9a9b56e2edbbc157420bc31f8335785acb062009d8390b91e93e673443c88989adcd56f135e5a76929d06e8b79af294d49b1c8110c00d835a2909f2f88863a6ef +CT = c26b3b21e426c0e80195c0c3121aa76bf9a1721e26dd2e840361c5012eb1e538cd8e34b03d3a737b92a07b69e5256f05b40d82 +Tag = 9faca8533c7f057a0f070d16 + +Count = 9 +Key = b6216c21aa3afa47cac5c1372b91dfd9 +IV = 5c2f826e046c455deccf17ba +PT = 71fa66b72d81779bbd34c2de1130493d2c669f87fb8d3bb465716126d9d9393afacf6e949ad3e110e1b52edfac036a5e09e468 +AAD = 99594e5d1d5a519987caa62e5f84dd523bb59716814a1f083f3fae6f1134825da0b059201ca51966123013ba9cf8fa3696b8966d1b61bac8588957edbbf5e1f02f15e04b1c837d484a776ba91ed6e98234a661a8f63c6eb29b4e +CT = 8f7255f5b37be0b56e6b0a43e9fe549bfbe372bc19cf52830f9ebd50d33cc3cbefadc7c8d206471bf3ae339fcdd9158b9b3fd7 +Tag = ead42e6b7e52308f9ca86dba + +Count = 10 +Key = cfeced659d277de40c90540f5eb9895b +IV = bdf987448e5ed8568ebaa9fb +PT = e3018e33a77ba39aa2cba2e15a5b6bce0dd03af857af7a8f1e4625caa1c0dccda18e515ad6d75ddb04521c375e89bf0846047b +AAD = 31f89be1009cff5cfba57382f19cd5bf18a7c438337cafbd2167c1dad298dc6b9ab704186075afd2acc9f8b422001d06a6043d417f0146d08cbac05f1750f6818be4912b437e6628c79df900629c8ee2905343a1f35755028fd2 +CT = b03f4eb3939164b81413b1d1561db5e2c255b2b6f366b2fdebd8538c9e6887a26bbe2d35d0f617631ab8f009675dd84cc98f2e +Tag = 1bdb17a3d31f21f5f303ebbd + +Count = 11 +Key = 782087d83c8147ece5c86044181365c3 +IV = 8b7b2b84fbbb3cad8a050db6 +PT = b80fdb99964cb62bf23c476ed05eed548ccc5319d189dda9ee6f85449788822e37828260c88e8f5b2af57b36da159ac19df98d +AAD = 05514dd9c93dea916bd1770339de960c0611b695b00c826d7b1fa87a9fb00c78d0d3aedb0c79b88aeaec9f9edc03401bfc82ab9e6c7d51cd8ade24efa7e75cdc8792aebc3adabf249b1c28ab4180f2c4c3c387166e5dc4d35e96 +CT = f7d05cbf6d56145311d1d53ebca657702095a92a64fd35148438c0969e5dca9c4ac44d6c121c227b8232e0a97b81099f8c7133 +Tag = 02803702a5b87e31b6f20e81 + +Count = 12 +Key = 127836f58bebafd93ce96a66c2e8e20d +IV = 9e579096673b3b81fc61b420 +PT = 6501f6252ce62c3069646e152f932e77cb4a63bf5de23a351a8b90576269e386a8037a05879f426a3d5612aa3e243ba2c2c8ed +AAD = 177e23f763abbb49a52d58f46ebecd043f67217cbfc68f0819c4d1cd9039dd8ee931301ee9055786c7aaa04e08be6b56bac0392854111571bf913dfa7316f3ac7f1114345d5483256ba87b9a93b560c28d4eb8c75f81361fc085 +CT = 1e59244719fc5c588947e70e8caa6fa52f3a95d2bd80698d513d778985bc83a0f78b723c748ce7a4ee678641866b22a2e8ab2f +Tag = e8dee50e79db0a5ddaa3aad6 + +Count = 13 +Key = 5469652b9e1413e8380ee90c9c08ce36 +IV = a46f05625979845dd82951ec +PT = f21368a8b7a93926eb52868ee03f64d0cae29d8ab547bb9a3fe847942d43c280c9296bcbb8291152e4e8b84ac6e928e1841b27 +AAD = 533a696eb26d2cdf0edef5cacdac13ce2efbddefa047908f06cbffaa0a76703ecc9e57b076fd36831895a13f31c0efaf4810134d9b37b7e2d902ed4e6a284faaef6f85d642be84dccb582acb008067aea855372149a91b2c25d1 +CT = 1a6c569728f2a35df288347e092cfad5b36be0c32fabb6a04cdeb0eaa7295ab175064cddc0b0c8126c144baab33911496f71e0 +Tag = d63ccb52c710a75bd63cd79f + +Count = 14 +Key = 833bdac7e86e5c6c6d4251da37b0f790 +IV = 6deaf4f6b193a593f17daecd +PT = bfd564d36ddd140929abf73ce7fa7b38f9e7390cab1474794fad257b606e7e4dc29df146ea6827229967e79bafb3300fb28a5b +AAD = 867646753e1c4277403b33cd39588c8663917855f136acdf7cb789cddfd3654001bfaa9b3e65db697b8357aad3bbaf0713f17bf25f1e23b0e50dd7a2a32f628c5b8738e9b00431c478289b00edc37a1cb298672b044230d64d57 +CT = c794f1d8b250067432a1e2508a9d9d3acc3b26a97d10bb1516dea003a84d56f4f89c9f2487d18626305a6d1cb3a96c73bb9b3a +Tag = 73ad700bf458bdaf1a765aaf + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = c10890e2e18b4cc10f816461f6069da5 +IV = 175ea348f505887d37042535 +PT = 8e0fb3e32941e92d59a21a3f42430afefb569a09184045b033d0a6e6cfcde670e3c974a0c4ce40105948a5c13188297b72d7ee +AAD = cde6fd0a1ab3e3c0078a0b913e69ca4aeac759b333e963555369df4e710023f9cdfa5e0afdec6651632baaf30886800bcc368e2d22410c7a00f72341b97bbb63f5444a670d65447ba729a42c900b017257b64972cb32b0e66420 +CT = 109c285a4fb0794494808939e346725681628e482a9b1b6f0ed7e0c39f8ee4d3d5cab10fea2a59a50dc7a7b089be3976f6695f +Tag = 24c297ac6013a07b + +Count = 1 +Key = 53043b2f9968d0cdbec152778e3f51c1 +IV = 582ec59fcad23303e2745ffd +PT = 4143430d4a46d99470216928939b0dd7f5853ac647d7373d559fbd4b32c284bf11787411d063aae5722bda2769b8e508221262 +AAD = e2752bff3855a987e196ce4ded5c462949f3e3da55b0e858c623d88e1bb6a88155f05dace16af06860fdb54e2eb99dd5593a346a627e232346c7a84b3a64ed5cb248d9feae46728f52931749fc9a95f66e96d677f522cf1a455d +CT = 341ca874f6ba32a6cf1605aae5990f7abe8f30c279f73169bb4360f06401b92220807ed728d10cf1002ca890bf61d4fae758d5 +Tag = 9b945a801ed8cf31 + +Count = 2 +Key = 09cc016816ac8e5e0148dca6b011434d +IV = e9f7921bbcac5f9451419dce +PT = bd7d44d42b2478f6edd3780d1c2c03a7cd82b6628ac75ab45532954b4e9f5986eaa0564fc50fed0c4bb591d977259244682fbb +AAD = aeccb2a3e48ca2d44bde1616d9bc871cc562dbb3e8fda283fe8ca0d74db8d13c8e7797b5ab95cdecfc989047c43aee2952602a11bc6b9491e00520b07d1ef97e3892a45e7bb7c1c8c7261073af07dbe2ff6b0dfbd6f25343aef5 +CT = f0feaf3087c08a7f0d5c8f4bc771c752f05fbbccb738d97ad7563b13ff791df056c4639ebf8d5a6989fb120acf477304445168 +Tag = 73063587b3794f32 + +Count = 3 +Key = 35c6c5544ffedf3fe10fe5a492af979f +IV = b8578da45b540c78242a7499 +PT = eeeba662aea19bf69efa27e11493f22f73437628634974cfd9dcbc89540e0e250a0743baf8f20d37d44c21e7a0b0686728f29f +AAD = a621c37a6d1cb4c255d25d73c97abbbc296db39ad47205edaee4837b8ec94dba6a9b69027ca60a4fbf4e253f5f0b99a696fec01a3008b03816be4b472605c3dbfad0615e59ae9fe96c1360145b2d8272be26c978d2730909a868 +CT = 8e5a8690066410a68eb01e3ea1b90bd61abf1317bbf4253c673d451f8871385e0de2d9acbd6173eac81e826f21c6c35c3f7ae3 +Tag = cd299fd58822af48 + +Count = 4 +Key = d5749c1316ca12c2cef8e19bcecc12d8 +IV = cdc89452fdce860a81d26155 +PT = cbf9f4363c6aeeb27c5d72f6871b0a20949e3dbcd8faef01954d8a7ffb0143bbd74978e5e9fa46923be5c1eec53334886673a7 +AAD = 2fdb91e26edea789fcc6736b12ba81f9e3e454c578fb25517920d426cf3ee50d63d89bd9e5a257f7fdaeb76a40b5c0e1ee16e101279e3b011c857fba0e42e401c878a05b74e87f8b52d35abf72e4d86893e49ef4be0c7bbac9ef +CT = b691868aeb8e6f38bc7275dcb8c955c3abdda9ffae158ba1e9cae067b6ca49fa8b1f36fef05ba422e1668dc098fc54c0604ad6 +Tag = 0f569be5225275e2 + +Count = 5 +Key = 438955a434421d1093f01e6c9d77ad61 +IV = 1182ba0cbe522eb04bc5e46b +PT = 460a8f47c7012e6cad38971e8fe0f68765f29b3a72bbe63fd735ea6d61fa65279166f59662cad497afcbdffc5421e58e28b5ca +AAD = 037ec4632604136299093ecc40733e485c419224860c9bd14ac25c1bcc86740f0be4e9dd5c03a3c5d8e1ce132e7278a79e958d714a15479d347e3ae9142eaf0a014c4698b788a39e115f6b5c4160f08962bc5d71b45e8ae16f8c +CT = 9ed0fb9dec39f547d4363a2f74c0cd55d9f042ee864996f086c6e8a9d6d042cb9b44c0d7e4f58e33c063b11df64eaeaf39d7ad +Tag = 5ad36e25898a511e + +Count = 6 +Key = 98f9c3dee1e4ac004ea479fdd16558de +IV = e65881cbf9266cf9c23d55c8 +PT = d38f1b40b45f2820e0637abc86e254962558109d8ba2cd782b03b9f4d3a2f772fa6c3f34f319f0daea5e4b6de18469ac32e6c3 +AAD = 7a341af2e22224ff68837951f67290feb512a2bc7d128a3a4c6fc94700767bc1c901438c059dfa18672f9d283b4f29ead05b09e0ef710a6bb340104657ea0f041fa5fb7e40da369a404710f5793c572f87c5baf687638b16840a +CT = da1df5948b6fe3cd95d84a5821b75a86291d617235f046adacd57c1fd533146548a751145a4ec23f4c6e6f463d4316b3062b78 +Tag = 8894f1e20bed2b7a + +Count = 7 +Key = ebc8cc8373c01fef2144fe9bcb0d3a34 +IV = ce8aca1139687db5548e49f6 +PT = dcc4f7d9073497f8dd6570d0d490cba7abbb155b8947730103db0f6106e2cea9b6345389f61128940573912eb26be74239c643 +AAD = 8567bf6603ec94e133e5f5e7f07150d52310e28fbdadc68ae1135f2f01c15245e0eb049a3a54d74c89343bd2c3f52596c0f2caa35b84054b6c37cd489684dddf18d737f7096c59bed45cbca6cf4ffdc61f7b480354fca4e9b1a3 +CT = 00e03f780a51fde888acd8f25c95199b46067da07f132aa9b4d6649c9c43efc6ae64a910c2d42febd4bcca690d34e8a556124a +Tag = 7b802905a5912414 + +Count = 8 +Key = 5cef6b4931b1600611e85ee50a5a38ea +IV = 894a850ac313abffee96a3e4 +PT = cf53b72a212e153c3dc2bc3277c0de65014d8627b02fb5976aa69c3ca3b0cf89759ca3aaca290314881789f112babfc902b6b3 +AAD = 49cff2e8821dfc908e55de9dd9348f3b7f18ee88b82d9dbfa08499d2d12eb850a7a9979f3c1f7bacd9e62219f5113445927aa77f86e05c34459bf7cc6c8badef201d53b6d9d73d6be0a69ca3cddbf721c2da17a223b2f098be4a +CT = bf936a0bcd90d43dd592771a1c3a8ddbaeba2d3de81491fb9f588de7b668299e0d9f0a8ec8e94be09f17d2a53a984b4b1d3352 +Tag = df27dbc50ca105c8 + +Count = 9 +Key = af125f72b69b01e1d77218a4cd5c4ae9 +IV = 61fed08458005d9fccd730eb +PT = 109a14412e23c6159e6cf3286426385706f480aca7a7aa832816428d669b9f0cb8f4f29c25adca5b648305eb5cfa93d99e878c +AAD = 1e5ef19622bfdc375b52251ed24799840dd38f1d42718832ccde05ae1bdf23d407349605bd8360322f6062cf2c79c73879c76c7472668743f84027affd7d129bc68578fe6106844b92853fe1441759bccd8c908f40dd5a728cfe +CT = aa3e5d286dadb50f8d5eb9ea1bc76612a8ef318182afbfa83805a2aff691fb02943563feeeaaa1fcd67c91dfa51affac9b5f28 +Tag = 896b81764457368a + +Count = 10 +Key = 632e6d6ff0e17b2223eb7a4a16a31007 +IV = deb1137bbfe1284c59f7934f +PT = 4db0471bd5022af7f7fccaba0acac43fa61b30fc257f67ee237ab13d367174d709143a87852f7ddf76d2b1fd6fc4318f7a089f +AAD = 2af75cd8275c9b6161f361c344743912c645679c3fccb63193fc2d094074134172bb4937dfaffadf52e734984ccc190236e321a22824156e838f4e4bfed8c63cf0f2aafa8a7c74b157b6c39706af70bb6d0b0ae94bc58d23010e +CT = 425e525ce0c0c70183af44bd93ecc79ca9bf18ea11f4be6dc0ab304258f4b8830139edb023a0c6575fadf0f2ee90d1a92efd0e +Tag = 5fa346ef819575f9 + +Count = 11 +Key = 1348708284882ce6bb0293c4a35645f2 +IV = 35c2902a3fc79a4b76d8c904 +PT = 4b0079742980c44ef19cf9028b0b71aad15f2bf8d522f68c442f2df11623a38b98481296afc9641481a6fd62b17e48f475bee5 +AAD = d0266dbde85533b8296edb57f971105e232275c4c7faa2ac186df8b72e245f1b80e5733b850ac696f4e60430046ac58ea961c7f2715fa3c92b99480aebef4fea36318c6b99932f49c53c5f2679b9087e94ea87083158b282e93d +CT = 1a5a1862c7415d958be7e5571ac92ab379f6f5ad2fef5edca460dec1ab5bd31ad74eef2e09fdb9093ca62115b77add09c5fbf4 +Tag = 658cfbef426a2455 + +Count = 12 +Key = 1b6348a1e3888ff1dd7a1d3326f8057d +IV = 1e2167cacbf8a137a4e0dd0d +PT = e5a199a86d1a0c0322aac3dbb032f06394cc0e92849d4656516337a3500e12e7f7d628faabf64ca519c4663d3355b13f15a333 +AAD = 0eec4765fc46a8af356f41144f8ed6874f7cf80c4c37073ffa1ca6316d5298744348abedc208cb0f4d8d7d10fa1552900660c589d8ba0053e3b6047cbf8d4c91d4d8126232eb16c5316aa9c07f586346ec3bdc83fa7c7a7920e6 +CT = e3da41167245733a90a030fe81f19674c30f25a49dc20f82d269c95c6f216fedd78b9bdbe2c0af107244d9b1f843c42365a3ad +Tag = ec9de52e3755b3af + +Count = 13 +Key = ed83cf8c68999b06e03dd1d986fc7eeb +IV = c61089ff77f4818a597e1b36 +PT = 0925b1369da2ea35e65b5a7ebddee3cbc8f90954774e83bc53c9f35b8903fcc5bc559ffb64c7f6c71fbf9afdbc523f2fcb39c4 +AAD = 1b05b55112bf22a42a77cd3744d6a43079b2d1efd50b218e0f54b2f0e375819477d98f8c3f1b6bba9b736a42fbe9957a02d635e7242e39e0c6c3be5c64545c16b27e88a7fd139a7a5eae7f95438287010786583273f947643d7a +CT = 2d307c5f96fe3c63c71fb3b73607c889c6a6aa15d1eae97a8b96246ceeb82621f409c3fd5cf5e4951f6b80f2f162b81bbee6c1 +Tag = 76e4d80a902db97a + +Count = 14 +Key = 4212377f3a75c454e96d5db1d7179f5a +IV = dd6600f42a1bc4db4df4a213 +PT = 4215d9530f1dae82c980374b9a8e47b9edf893e6cba889b3289769e9dcf5c20ab817ace230cd65d318cf72c392389299fbc8d2 +AAD = 0cea7af617af02cbcf5d6fc5cb3477b0d03a20dda531178455318d4f36ba9d716e56c5f31bdbbc08c209c1b8ccaa168bdaf8aabee1c0c75f98080655ccafab99190c91a6bc773d435e5712decf876d73e7d1d8ab964cb7a0788e +CT = 857824015124ea068a482e72f1eebd3fba28045ad86b39abf0ff3150a7012626bb42b0070f5e223d9a268c84f232e8be4dc512 +Tag = 2f9eb5c5b93bb424 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 408] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 9c0a76be7069251f9f960af2c4df42d4 +IV = d8d9897641ecd9e6ef250ac7 +PT = be65081bb605840e88c5612670338b253240f88bb9e10077b188a924bf056c268ca6586934486a53876e449664f8fb5b66bdba +AAD = 8cef51d28c793eea1773b5d8f826ae62a5763ab1a40368d4abac76cf4aeffb3fce7d488a589ca741f7d415001050b00bf783bc8f3d46d5d3ab6fdbd7247980896fd24019b3e1973cc49a5282c1e733f9edec9951951444ccf935 +CT = 07fd9fce64e0650b77c261f2a9ab35c59c05f1c162bc3ab86bd4ee7e2203e0f0229cd1392c98ae78286b1218789428707c3733 +Tag = 414d0d29 + +Count = 1 +Key = e13ad071498f009e3c052bbc05d5d7a1 +IV = 815628815891dc035f80790a +PT = 2e8effffb8a8c6ff65242e236c002444d42c6c47556e52536269f7311deb249c1066b15d730ec768f1352ae9bb85fc3b154742 +AAD = 232a9026568e7c367bad4eb14b24e860dc7607e998f3858a3ea00d50f88e0f7451885b84704010a34f4c90483b47f316562e48aa7f412ead00f8ae3654a905bd020efc27a096dcc777eef9f14bbacbf770b8e91bdcf7bf919259 +CT = 28ca441a1ee71fc9700d8b711549cf4f5f67f6e9d6e47d6fcc6719c6ea1e21c582d5dfd146a2b036efb05c31047aba1b474dc0 +Tag = c7b100ee + +Count = 2 +Key = 7388ac8589560b6ccf72743cfee335e2 +IV = 2e1ea56374e0104ca2325a12 +PT = f9d1ff365b1a3118ccb228f3fb8b6331b12de69fc00a3d65746d4226f93e648a2d5523536e887b855ac72fcd10fdb7e5e46a07 +AAD = 00f2a60cb24f604b2f232aa117c64ad96113b356167ec766e4958a1ec00f32f2fa0a05fa91361a4e4779f35e93c9e16f2523bad3df61c4239d36ebc5d494ff2c121c99ca8d24ce05e45aab1d159213e20332ce3d08803bd3fba2 +CT = e06d1ce292b07f27454783c99146e8c4293d447df4ffba79a94f69c19cdadec3bca4d9156d7a98a0120df3f722983a13813d9a +Tag = 9aaf9c37 + +Count = 3 +Key = b2707dac5d74679b4293574b5824bd4b +IV = a50434a6e5d450149eb5533e +PT = 28ae56f833d51f2e064e60513f267ff25a190d135b892704b73c3d10d835e199e19d86ef04087245e95ca6d0832531316ebb27 +AAD = f00fa821792ea9175c826473816dc5fd861cdc213d2562f68560363ca05ccad9716d967d143b58b911720c119d3f726a4210e4a664215ede8d8df07e4fe8dbc02790c87410bb043ab594efc9898577933c11f5f19e1381a3aeda +CT = a8b30d7f421f959bdb9e13f32d66c803b90f8b06a9d0f20ae7efa73770091002b8cd606bac84bad5a665c8866f7970907595bd +Tag = 138e751d + +Count = 4 +Key = 286bed2a35b238ceca8bc9a443f23d15 +IV = 4ef09954276d119c81e50337 +PT = bdd4c93cc01afba692304fb89c41b3a96cfd096fa498e32507e66d3abd0bb7031b6d8f59cec65f79f3bb5ccec5d5778c723e27 +AAD = 703dfdb0fc4c89576adc3bab08ecef4e411fc52bd2e0402dd8aea245fab8488c49c4c8aa83ea14955c37fc43b20c9ebb577b81a26754be29918ea6cce8e7cac1d5dd5a09141005f1987cb6d95533cc9afceb7127d638e2c15ebb +CT = fd6025b80dde42504d80ea4a80cba68f589f01fda515fcbb31fcdfcc86c9b3f19ac28db9690e8295225c84a8e7d6615754d5cf +Tag = 14ddd8ad + +Count = 5 +Key = 23fd08c69e62ded90615bb7e0820af47 +IV = 14d5a84322a089f916c58180 +PT = 0421b7aedf4b4b60f455c9c7830ca8dcd4c552686ae3acd1d566899e6b8d089bb49907e9c01f6e5b1a27694f00218f635e9904 +AAD = 67034d0f1dbe4fe5d7e4cacad43435bad37846889f9d00e952e4963f987bf62c6435af5461c61fd6e6c60e0210f877b4f3d4546fd39a0ce3f569abaa02ace57eff3d406196aa416ee42362947b0090d2099d5e4d1af03249476b +CT = fcac7f942c4d2c1a9305415fcba2f93b76adf7686e4bead5873c7eda9425d2c2963f5d5c109e0ff3d56b9191ca0f4e2d753425 +Tag = 9d75ff6d + +Count = 6 +Key = 0f890ea0d0e10bdaf1555673ea4d8903 +IV = 6cbc3a40b3b4d54b7e5a4830 +PT = 90f199de832bd0b44cfea7cddcf6815c1e27c41d7d7acec7b4080703fc6564fd81a4b848503664d8ab38a62980cabd1ccf0ff8 +AAD = b4f4fb33d16d8df083fd8b0784d6201c7f7e368eb8fd3127a1e78fa2342e2762c07fd7bd32500cc0900c2ace193a7e119d7428e4d3d48f19ca145b14c77dfc953a22c8e942f9471fa98148da81e144817af06182ddded539f4e4 +CT = 411f332bdbb34b02e6b7cb0a525d3ffd42ee7da7b9b2d2f704d2d035cb5afd138381ef3cc4720a9baba7f6bac9a3db5555a55c +Tag = a0e32dd1 + +Count = 7 +Key = 3d3062b9faa24ec44303a6a956ee5e62 +IV = 03c2779985bacaef6f8678ba +PT = 26fe5ea1191198277ccb5c039bc26bd221759bf0148d05306cf3aa06b4d26c5275ed711e446eb9074385003d028cbe97e97d49 +AAD = e1aeaaabbc9a14546082cce6ae1a61cd1c1793d198756a91f64e60d77d8a389314e43767c14e19e834624fe262b181a2c813059d4199223a108bf22d0e42da626bb380ab9b31ed248ef23e276ad130d74248bd618845ba9ce194 +CT = ed855bc2dd01456dec7c3a80132c7dcb71323e4dd19d02fda47a56d14798cda9ccddeca0af2f232a14e0fa1ac177d6a42ad85d +Tag = 5e7b6b57 + +Count = 8 +Key = 49ecb229a8c1dccaacc0c5ea839ade09 +IV = cffd6fa9b8e863391e1ac75f +PT = 2a3162d882a6bd8e85ad2153d38cf8a73a7c2cc39f63a2628a3560ced14791f64f827a3ce5688c52fe5c9f9fe3208537155058 +AAD = 4f498aa1e5218c9635ada485d47a21f0731b4a072ef18269697a3ca4fe2ac5855d400081a5f230025c2ce02f256669a2d90091339056c7cd148b036ffc02145a5a595c09778c76ea1595822159b89685afa3585dddbb838a8685 +CT = f929052b5d5a39bdeb8c2a726cc9d3d6c8e0065fb40cb51647421544dfe17f00f639a1a4165ed7e54cd189c5e4fdefdca58f1d +Tag = 6c67dab9 + +Count = 9 +Key = 01d5fab4f25b28047bc7db412fe2da86 +IV = 1b8d0ad8029841c3dba8a597 +PT = ac450d64b51e0331469e8ff0c97f5fe0119cb1da834c97d0a2f211341276bdcc3068a506e26ac7ea5109bf73d83b340f8a395b +AAD = ea3b52ef7bf9a1137556c3cbf4dc81fd2e48459571447a8648a6206af27a04f90e67c6d38d21810fce643d3390a47be162ab336a6b9a55c8e86f4cbee151947dc8d81f655a367f3a66596673654cc5f96a28f9ebed2057d7ebec +CT = 74b638216de82889ad3e3d0147ca647ae7723d6ed0c4e32fd544a0f402d466ac67e6c67481d99326e827d261f3ea8b23349f31 +Tag = c9de03bf + +Count = 10 +Key = 2341241b388e057d2dbf171ceb0fe90b +IV = ac96c6f790518e06f3c1f113 +PT = 3aeb3440ff2f7e43df87a592de663e002a03d00ac5cfe340d2953ff6a307715af259d086532f54793da6aafd47a5b9a82c6e6c +AAD = ef6c92a479360fb208ddc3166261eea3d22e4fb0f4a142e58086f897e34aefe96e8faa755dcfb790dbb6ea6bcac28032911400431509682e9d43a692e03774539d316ac47907ccc88540550ba24e76bb263ffd17e08e6a68765a +CT = f40365a9e34ac38a56e1f54a67ce3a9c5a2f41c9d68e9ac338d58a65061dd4a7089fc09652d77dad6cf4a31a8a1bdc302b2697 +Tag = df01f7cd + +Count = 11 +Key = 0c2109cc43e42746624dc87dafe2624f +IV = 4cacec67ab142c3fb281a57e +PT = 11f60f5ceef244309423bbdf73b9cfde9c400e82bde793139708341e189be9f022f04177f067e6930c292da4b16fc17be7815c +AAD = d394d4536568ecfc0f59d7b5c8051aa44b36f03e47db7a78c5332537083ae44d3d08cc78dfe41594d162928b1ed6fccb52854b6ecb20af7c112aeddb1cc298bd8b58f4eb5a32b054415a69a1b0fdfb38f58f4934facf9633d216 +CT = 50640c77c3969149cfeccd541403b79c3ae5d26cdc32d0161ab1c6cf340a73d3a8f76bb5aa7deb6497a5dae162477e1ee0fcd1 +Tag = 2ad70c71 + +Count = 12 +Key = 2c23d0684c07ed2f8ba7ddffd5044b5e +IV = 5faf18ebb36026aed4cfaec4 +PT = d94073da254eacf055a4c2252b26c54b44061b3e9786f346817ff22d1627e31c1a9191bbd9c4e4e3d1903c4ca05f5afd0dfd17 +AAD = b23beecffe38a8e22449da953a926b4c372b666d5f6e9d9793b60782fa4fc950aed9814aade36c5ad67107fb18b65d5bc385bb3ce60f6f098d9b75e885b897f2e0e620d53f402afab33ffab792d8c0feffffd9e026bbdd002d72 +CT = de59a633ccb2cbe55b3d362fa9e85c0c1b3841e025893051b9d8da34855bee2ff269a0df04bdaf0c6e273e81fc9cf72527d7b3 +Tag = 5e29b149 + +Count = 13 +Key = 03b57fa2ed6e289c53c9667e3f095a02 +IV = e8b9d299fcc4ca9c14759fcb +PT = 5f1032ff153baab064409524b070e8741cad415f5ec6853703c4412ab6ffbf57ec76139c6961c3dc90fe323ef20a5ae5278bf5 +AAD = 89133379451f0dd2ffd2e2190a964b4ac60802e337047aa57bf7a2dc5aeb7052f55d3d302f8c5d9d2c635e944219c529d6f8ec1e850b86e439933785c0149edfeebbe3c110c6064b727b90fa282f02dd109411ac2048ca3d6112 +CT = 59c5d4b03562cbec6beb2416cc2caf3c95b508af7987e920b4644ba6e7f4da62b69053870000066b79b5a9543feca54af50f02 +Tag = 0df76cd6 + +Count = 14 +Key = be67f05a1c62b6e0366157fa2e8b1d77 +IV = ccc9f43be1824ba35b0fe141 +PT = 006e1e411eb9ec88c64a8cc3d4b5e19f2f1f4e56394cf04801dd849f729e9667e139bac5e264ec9efed608dbfefc21d6a61595 +AAD = 0b043ef77302726920663c3c002db8d42d07f7fb55eb223f0f4e7059286f78f91bb6b678139ac8a3718989d9e5ac0153b470a5fb2653263d387dbb2fdd83c9598020c9f2a77eedd3edc7d15b44218f69845ab543092658772340 +CT = 6c716705e8aac3d40c8fa78efbf2c67620f10a260428683d3b455be45fbf21602b4d77d79ed6ff3542997bffb379d4ea7ddaf5 +Tag = dcd05b49 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 1672c3537afa82004c6b8a46f6f0d026 +IV = 05 +PT = +AAD = +CT = +Tag = 8e2ad721f9455f74d8b53d3141f27e8e + +Count = 1 +Key = b52a836c7bd7729360727e438f08e590 +IV = 32 +PT = +AAD = +CT = +Tag = 7c875d19739f139471d4b1421e2a0b5b + +Count = 2 +Key = bec9d506bffa40c1d348fcd260b97c00 +IV = fa +PT = +AAD = +CT = +Tag = fdf0f354702fb3a3334fe431ca0445fe + +Count = 3 +Key = ff3c6d091a0eaa80b49a9ed18e8e140e +IV = 50 +PT = +AAD = +CT = +Tag = 04e4bc9b7ea39fd5433041663b06cf77 + +Count = 4 +Key = 878d37c59cebd2ef93a473f1b21eca2f +IV = 4f +PT = +AAD = +CT = +Tag = ef125fa7ab7324d2e7fd31b655fc1627 + +Count = 5 +Key = 1cd7e45b54dc2967de9f756321356a3a +IV = 7f +PT = +AAD = +CT = +Tag = e953f25cf6b0d35c4ad08cc596746c9d + +Count = 6 +Key = 2b2ec92d6612cf96ade63dd5fd6032c6 +IV = 19 +PT = +AAD = +CT = +Tag = 3f30855a1e60ca0326a61496ba8ce923 + +Count = 7 +Key = d0130ce305f7460356686f5825ff02fe +IV = 47 +PT = +AAD = +CT = +Tag = 2ddad504b1479602adb36028b7f123e8 + +Count = 8 +Key = 983d123f9a62ce7e40e1fead07f1c74e +IV = 72 +PT = +AAD = +CT = +Tag = 4fde5ca103f6e821ec575741d82dfa51 + +Count = 9 +Key = dda59aed7a4ac477a934d5aac995f26f +IV = 43 +PT = +AAD = +CT = +Tag = 3caa4efc194e899a6a54a95b2484d9e1 + +Count = 10 +Key = 25b49a48fc90dac6438bc6516d1a506e +IV = 1f +PT = +AAD = +CT = +Tag = cf535e4dc23688de775d1a0c432f45f5 + +Count = 11 +Key = d8ecc3977c5bae2c2135ece74892dbd1 +IV = 84 +PT = +AAD = +CT = +Tag = 687c52643af83d6599add66c6af9eddd + +Count = 12 +Key = 41dfa8f85ce259580f9e4e8283d61176 +IV = c5 +PT = +AAD = +CT = +Tag = 28e5da003db32ff45d0f1c482e8b6c24 + +Count = 13 +Key = 66a664de68ca4e70132d160911334c63 +IV = 2a +PT = +AAD = +CT = +Tag = fe42d432c736c60596ae0b7b9c55556a + +Count = 14 +Key = bb4ac12fab3eb207eb5cac90918e4ec0 +IV = 0c +PT = +AAD = +CT = +Tag = 34af827ef84cd4da7611ca929fe4f2a4 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 48dd76fb5ec23fe1107d52236d3964b7 +IV = 1e +PT = +AAD = +CT = +Tag = 7e8bc669d753d3eedd63ebf769e7d2 + +Count = 1 +Key = d954adeccd0aab9e02b963843dd41308 +IV = fa +PT = +AAD = +CT = +Tag = 2f6d8976587323b2d98e382599c6e9 + +Count = 2 +Key = 280dd4debeaaa6d20f70757c6205e999 +IV = bb +PT = +AAD = +CT = +Tag = dc8870448dda7ac6d57e9bdaa74689 + +Count = 3 +Key = b33396ba82387bf2efd19fe12e802e1f +IV = 1f +PT = +AAD = +CT = +Tag = b0f1f8bbc706e9e99de3a03cd6b169 + +Count = 4 +Key = 1a7d11c429f4c387ab6f7e0d2da92280 +IV = 74 +PT = +AAD = +CT = +Tag = 9be5d2ff65e93e6795518b608b437d + +Count = 5 +Key = 527283918c0c1eabaf807f3bf2c8c986 +IV = 1b +PT = +AAD = +CT = +Tag = 8d9b5190bee7d1bdc1fab1bf76965c + +Count = 6 +Key = 1c7d285fb796dd75bf42e631fc0a1b61 +IV = 93 +PT = +AAD = +CT = +Tag = bdafff52b3c6821df712610a3949cc + +Count = 7 +Key = 0a5ffde23af117c3f51017d508740641 +IV = a5 +PT = +AAD = +CT = +Tag = 79854367f59398943037de515bfa0c + +Count = 8 +Key = 2d56960696e9cbdf34b4161f0a9dbefb +IV = 6c +PT = +AAD = +CT = +Tag = 7c08df58534b89778e388680f2ec75 + +Count = 9 +Key = bad3633017e3d631913c838827007c49 +IV = cb +PT = +AAD = +CT = +Tag = 3809104df215e819c493c71a653bbe + +Count = 10 +Key = d395296cf53ecb24e82422b4567d7a0e +IV = aa +PT = +AAD = +CT = +Tag = 650ef9eeef0ef1a985ff1243932664 + +Count = 11 +Key = fe266ea7e44a3dda1d4d0390cb6e9d0d +IV = 98 +PT = +AAD = +CT = +Tag = 08baf6a04f8d465d878e85b370141e + +Count = 12 +Key = ce3e3906b6b0f5b8ce3073308a20702b +IV = 27 +PT = +AAD = +CT = +Tag = 48ff74ec2e7b24a08f87997ebc57fc + +Count = 13 +Key = 1fb3337af7a2143982757982fbbaa1ff +IV = 8c +PT = +AAD = +CT = +Tag = ae08103e469674abb13fadb81af957 + +Count = 14 +Key = 91f423293dfbb6353a2a64c522786a47 +IV = 2c +PT = +AAD = +CT = +Tag = 265c929cf554f6165c042c00c277d1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = a582f44d6cb42350c2f2b9484b7df4d0 +IV = 2e +PT = +AAD = +CT = +Tag = 4ac234eaf6e139746071a9f00249 + +Count = 1 +Key = b2b43cc27bcbb5ce9061610ebfca2876 +IV = 06 +PT = +AAD = +CT = +Tag = 47e1a4e23a9d3ed060cf4f8a897f + +Count = 2 +Key = 88298f3f6e84321eaa182852bb384ad8 +IV = 44 +PT = +AAD = +CT = +Tag = 37473ffc9d21eda167d10b4a0a02 + +Count = 3 +Key = da312a0b6485b58f93d54fa6e8231b99 +IV = 20 +PT = +AAD = +CT = +Tag = 27e88d4edd2378ec080088995c18 + +Count = 4 +Key = c211363b40cd99d1d859718b78f33c65 +IV = 51 +PT = +AAD = +CT = +Tag = 89c23f2d55a56480ed5304d3a4e0 + +Count = 5 +Key = 338ff3aa8b097d93c011a70f1f0711ef +IV = 11 +PT = +AAD = +CT = +Tag = de6bd9f280a1959c7cb2703a3e88 + +Count = 6 +Key = af939336b91350951a4130dfd5498ebe +IV = 48 +PT = +AAD = +CT = +Tag = 36e6326d7c4fbd6d660bc58b360b + +Count = 7 +Key = 2ccd342cc757f70a6f0016344a945f32 +IV = ad +PT = +AAD = +CT = +Tag = 3e81e88a42c2eae27e14f49dd49c + +Count = 8 +Key = 1c77e981cd86bb521995d4990112b222 +IV = 1e +PT = +AAD = +CT = +Tag = bcdf14c36a1cb7c154d3408a5fcd + +Count = 9 +Key = d1efd9790fe193a04bedc76909d0fcbb +IV = ec +PT = +AAD = +CT = +Tag = a891a9e8376b84775517c67381f8 + +Count = 10 +Key = 2faab3e18cef81e8d62d1ecc8753eeb3 +IV = 3e +PT = +AAD = +CT = +Tag = 71b6f7f6f9d791cddd34818b1e89 + +Count = 11 +Key = bb0006eca4bd229278309258d8c1d022 +IV = 99 +PT = +AAD = +CT = +Tag = d7bf261d33d7cea43311448b2c27 + +Count = 12 +Key = 4a9fedb6e6a09ac199de980e4bff078e +IV = 3a +PT = +AAD = +CT = +Tag = 6bb8baab40512f055e4ac0f08340 + +Count = 13 +Key = 8690139072215f2514263ceaeb590724 +IV = ec +PT = +AAD = +CT = +Tag = 2bb9bd73c85b52f690d292b7f79f + +Count = 14 +Key = b7f423182f429ebf9f6c0ed4e83fbc11 +IV = d3 +PT = +AAD = +CT = +Tag = ddd4d87f13f6d77b6c8dc0968eb6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = f46f82c4810f2beac96c30a4943500ab +IV = 78 +PT = +AAD = +CT = +Tag = 9866a7ac0edaaacfe8392a93b6 + +Count = 1 +Key = 7a723e78e4e0723396c41d2cdd85038c +IV = 43 +PT = +AAD = +CT = +Tag = 4ca1c0ee73207746ae8d64ceb9 + +Count = 2 +Key = 5b97385238e67baac1f10858c3541a90 +IV = ba +PT = +AAD = +CT = +Tag = 6d714c3ddd868c5106642d7bda + +Count = 3 +Key = fc9d365685286b7285790dbd2f17b1f3 +IV = 7e +PT = +AAD = +CT = +Tag = 1ab2a51ba75481e18c2c4fb9fc + +Count = 4 +Key = d2f3b78dc10bd06a0daedafd909325c5 +IV = 19 +PT = +AAD = +CT = +Tag = b42302dce26a10af9e7fadf425 + +Count = 5 +Key = 5956eab56db3a33b9b79f60c25963ae7 +IV = 4b +PT = +AAD = +CT = +Tag = 26ea27f4a6da40c48106519cb5 + +Count = 6 +Key = 16b87c9ab51b5abe9a54e1535c612e86 +IV = 5c +PT = +AAD = +CT = +Tag = 336bfcfd8b3fec1e64b583e210 + +Count = 7 +Key = d4132f932d36efd4a0b305f71d71660f +IV = bd +PT = +AAD = +CT = +Tag = 2498f2d74bde5e4ee95dcec5af + +Count = 8 +Key = 225486d84312d48b9babcdac06e58055 +IV = 5d +PT = +AAD = +CT = +Tag = fab7f36c79c209c68fe85125c6 + +Count = 9 +Key = 044578b4f3ea2d89fdea2fec0f90c9c8 +IV = 0d +PT = +AAD = +CT = +Tag = 1974b8da392938b5e3d78b2741 + +Count = 10 +Key = 400435491b8ae139045ca0254c0049b8 +IV = 81 +PT = +AAD = +CT = +Tag = 95c60db4b19998b0e839b0067d + +Count = 11 +Key = 95b06578fe9c45168ed494ba7958f583 +IV = 61 +PT = +AAD = +CT = +Tag = 306f4c85ae9ff842f16b5b7eae + +Count = 12 +Key = 47fa86813429c2be89dad407c1fe1954 +IV = 70 +PT = +AAD = +CT = +Tag = ca18070e1151eb5a4577afefa6 + +Count = 13 +Key = 74a61cace69275ea651e867a99327eee +IV = e0 +PT = +AAD = +CT = +Tag = 08fe2c2118f029a25d93acaf5d + +Count = 14 +Key = f228c834a8c6fafeac7deb4e14408b65 +IV = 8d +PT = +AAD = +CT = +Tag = a413cc9b114727c89585f92887 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 3275cab187425ec9f607215ba3e2f780 +IV = 81 +PT = +AAD = +CT = +Tag = 86cc4cc6111d10254244e84d + +Count = 1 +Key = 329dd5bb7f28ae160595e954dce88d2b +IV = 90 +PT = +AAD = +CT = +Tag = 36b7949d0672f1facb10943d + +Count = 2 +Key = c5b9d379ce25c5c10e872e21716e40a1 +IV = f9 +PT = +AAD = +CT = +Tag = 16be22b1c635cbe664891cd2 + +Count = 3 +Key = f700e67b7b78f2b952fef74bcbfea16d +IV = 75 +PT = +AAD = +CT = +Tag = 22ca4a87eb277fc274747ef6 + +Count = 4 +Key = 1c0295e696264b67a7a7061090c39874 +IV = 31 +PT = +AAD = +CT = +Tag = 4541878ac1edf8ece14592a1 + +Count = 5 +Key = 6d4fa2ce050bdec63b14e3a21cf0ffc1 +IV = 6a +PT = +AAD = +CT = +Tag = c2af036a5720f0568ff79314 + +Count = 6 +Key = 0565f4ac986d08903902a85de7760595 +IV = eb +PT = +AAD = +CT = +Tag = 3d80ff36af77a24b762e91eb + +Count = 7 +Key = 5fb06fb8dbf4ab337915d1c19ee7189d +IV = b8 +PT = +AAD = +CT = +Tag = 046c5650fbde606c1ecd9bc6 + +Count = 8 +Key = 2a3e915201368b0c8382cb20f0e8cf08 +IV = ca +PT = +AAD = +CT = +Tag = c2e9bfdec54e25c7ec7c2630 + +Count = 9 +Key = fc712a63cfc002e538c03bddd8ccdd33 +IV = da +PT = +AAD = +CT = +Tag = dd87b25b1c502d5cb3d7a2a8 + +Count = 10 +Key = b5d3011f86f8cb21a07fdeb2333fe532 +IV = 36 +PT = +AAD = +CT = +Tag = 1110f4093cf614e955881f39 + +Count = 11 +Key = e5c147f9613ab9a3c278acd0df5d2986 +IV = 18 +PT = +AAD = +CT = +Tag = 893eff11c5471e8007523532 + +Count = 12 +Key = 8d3f3aa9de1314d404c0cecf681f68e0 +IV = ec +PT = +AAD = +CT = +Tag = de11c0d5f06a8e83742027df + +Count = 13 +Key = 04169d44cb5b21c9b5d188981f4ce664 +IV = 9b +PT = +AAD = +CT = +Tag = c21cca2028fc003473fdb742 + +Count = 14 +Key = f20655f1c6c822290062f63a36f86efc +IV = 26 +PT = +AAD = +CT = +Tag = 481568920d15e0e2e41248c6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 8107732eba81658ce8400113ce9dca84 +IV = 07 +PT = +AAD = +CT = +Tag = 7278c975ed675286 + +Count = 1 +Key = 1ed64d36529af71412ee6575adbebb54 +IV = e0 +PT = +AAD = +CT = +Tag = 1d225415dfae1ea6 + +Count = 2 +Key = a2aafc0b5858fcaf316f5035f80ddb47 +IV = 57 +PT = +AAD = +CT = +Tag = da29c51945d05004 + +Count = 3 +Key = 19c3baffa40e0e6994ea7abde57e143e +IV = 66 +PT = +AAD = +CT = +Tag = 42aed8458b203c88 + +Count = 4 +Key = 0589564fc275528354ce966b56bcc7a1 +IV = cf +PT = +AAD = +CT = +Tag = 297f6a5d9fc3a85e + +Count = 5 +Key = e5a65f5e120c944cb60458d0f42accc2 +IV = 10 +PT = +AAD = +CT = +Tag = 2633df904ca8b24f + +Count = 6 +Key = 21f409a28d9278d9d8649c225333c270 +IV = c5 +PT = +AAD = +CT = +Tag = 0f6636de2dcbfa07 + +Count = 7 +Key = 6a267edfede073583a6cdf349724ae6a +IV = 8a +PT = +AAD = +CT = +Tag = 92fccd6f06758155 + +Count = 8 +Key = 22aa54f9b37628ad90e3ac21e0751abf +IV = a8 +PT = +AAD = +CT = +Tag = 7260d17ec323b868 + +Count = 9 +Key = 37a6b65dfd35048a8cc1c567dbefb4ea +IV = 5c +PT = +AAD = +CT = +Tag = 7a2cd52d922547d2 + +Count = 10 +Key = d495b440b61fdd4d7d0fcdffc3559cf2 +IV = ed +PT = +AAD = +CT = +Tag = 106daca7baef1c94 + +Count = 11 +Key = 494697b0e5f9c8cf176a1f692457ea41 +IV = 40 +PT = +AAD = +CT = +Tag = f022027ccfb8917b + +Count = 12 +Key = bec10d9aa0767fc1665719924f4b3f1c +IV = 16 +PT = +AAD = +CT = +Tag = 4ffd2e57a5953b03 + +Count = 13 +Key = ef7936be3ea87bc152e666469377688d +IV = ae +PT = +AAD = +CT = +Tag = 334f61d88b3999c8 + +Count = 14 +Key = 5301002e801f385c2d22304df75f501d +IV = b2 +PT = +AAD = +CT = +Tag = f954a77330bf50c6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 5e0bf9c4e9f15a5dbbcd738b1158aa28 +IV = 17 +PT = +AAD = +CT = +Tag = 8439b7da + +Count = 1 +Key = a868b98adf3d617a8529ee694e7f2fcc +IV = 86 +PT = +AAD = +CT = +Tag = 260f2233 + +Count = 2 +Key = 408b3d9edf17b1916425f6f4723115a1 +IV = b0 +PT = +AAD = +CT = +Tag = d0890908 + +Count = 3 +Key = b3328a11c60678427b594eb7768b0cba +IV = 26 +PT = +AAD = +CT = +Tag = ac0fe93f + +Count = 4 +Key = 37c262f8f62d319e2f83cc48251c613c +IV = aa +PT = +AAD = +CT = +Tag = 64cb03d2 + +Count = 5 +Key = 61b294fcd7bbce547aaa1a20be9c5958 +IV = f9 +PT = +AAD = +CT = +Tag = 4316d5e5 + +Count = 6 +Key = 1dc669527dba22c5e0baa4df8958a00d +IV = 16 +PT = +AAD = +CT = +Tag = 38e91bba + +Count = 7 +Key = 80948768307954c7fb4cb0f74c450bbc +IV = a9 +PT = +AAD = +CT = +Tag = d710d91e + +Count = 8 +Key = 90929f9737321a351ea7069152dd9ef2 +IV = fb +PT = +AAD = +CT = +Tag = 609d620e + +Count = 9 +Key = 5aea048f27ca6b90c20da6884a5566d1 +IV = 91 +PT = +AAD = +CT = +Tag = 810629c5 + +Count = 10 +Key = 462588a0b504646dda27a9eaf1d7939e +IV = e7 +PT = +AAD = +CT = +Tag = b1b1874a + +Count = 11 +Key = f2f00c5f700d28eca368be4c985b7032 +IV = 18 +PT = +AAD = +CT = +Tag = ac3bfc07 + +Count = 12 +Key = 5588ada2227236ea0444268888d5107c +IV = 23 +PT = +AAD = +CT = +Tag = 6e1ae174 + +Count = 13 +Key = 3222b66b2cb467d3791193a115c48192 +IV = f2 +PT = +AAD = +CT = +Tag = 40266c37 + +Count = 14 +Key = a41f50f34505efc433c97b566ec20401 +IV = bd +PT = +AAD = +CT = +Tag = 8b23b36e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 0bf79b6712d27951b712239ee6698eca +IV = e9 +PT = +AAD = 86ffca2e414e9f1fff80c3decf95a5ae +CT = +Tag = a00003e30d07ce07b45ce19420596e1a + +Count = 1 +Key = 07133dc2b3a59819674b9f2c8a907672 +IV = b6 +PT = +AAD = 549e310ef87b2101e6536933555e89f6 +CT = +Tag = b4a0d4ae81eaeb323d4782c1d8096a76 + +Count = 2 +Key = ec10b4517e3b8cbade6efd5e8ebb6f13 +IV = ec +PT = +AAD = 538b21670797dd791e5cbd7543673651 +CT = +Tag = 5a778f02343521a3f182cb5d11e184bf + +Count = 3 +Key = be95e8ff9688979356aff9b7262c6f82 +IV = ba +PT = +AAD = 1ce96fcb4b0d73ef0e2274b629e9ea66 +CT = +Tag = 5936e5d6b0c39e56fb5dc14b5be8dc4b + +Count = 4 +Key = 5d511ee879bf16d78dff3daeec50a8b4 +IV = 67 +PT = +AAD = 9fae5a19d759ec2a5c650cc914203f37 +CT = +Tag = 07461f59c489b3c800d8ba3a8c18eb31 + +Count = 5 +Key = ba86e856e7bf696c1edd3fc1003d08ab +IV = 06 +PT = +AAD = df78ed8e3291de5c59196e526816799a +CT = +Tag = ad85eb46b72d58cfbdae0e70d7804ab0 + +Count = 6 +Key = 8977a14ea23a23a46c64cc80c1c46f73 +IV = 4a +PT = +AAD = 47aa2b478a027096ac9ca46c0fc2f636 +CT = +Tag = 330e739f14e4cf73072f73f1688cb648 + +Count = 7 +Key = a9f737d5b0a329d03c2766a6fd3f8550 +IV = 68 +PT = +AAD = d381dcbf123e13eea47e11d9d288a1d4 +CT = +Tag = cf6dc5731a7df52c58baf0054523e36f + +Count = 8 +Key = 2db3d1c349394505ceca8d499872c825 +IV = e5 +PT = +AAD = cd1a563f9d3be792096480a5363b92d7 +CT = +Tag = 7580cfe9fa92c803e9f83854544066e9 + +Count = 9 +Key = 47bd463b56841357d8fce84a717bca45 +IV = 90 +PT = +AAD = 64cb90f62139d97529ddffde257de0a6 +CT = +Tag = 5082edd2b3d7462ace723667969446fa + +Count = 10 +Key = 12b4244731aa12a8bb944b6d5245947c +IV = a1 +PT = +AAD = da24d793f39f474d70b91836304879da +CT = +Tag = 7734de9961faa5e2e3727aaa3ead1230 + +Count = 11 +Key = bf577d2529ed1a767454b79cfb19ebde +IV = 00 +PT = +AAD = f5cfb28335d1466ddf54628261cc80e2 +CT = +Tag = d163bd2bb378de730aaca55e10f7c1d5 + +Count = 12 +Key = a2e4556170ce679f24098eb480a0b307 +IV = 46 +PT = +AAD = f86b7eefa3887126b32a9630f76615ec +CT = +Tag = 18fdedab96cc96995c0964b1e29df369 + +Count = 13 +Key = e0cbd20d6748f16603ae1fa936b7b854 +IV = fb +PT = +AAD = 13df70b71b4a7026e918c8e124b6fa56 +CT = +Tag = 9adb67d03c8525f91eaf4ceeead4cfaa + +Count = 14 +Key = a5c252b819634cbecb2b676da0e8572e +IV = 26 +PT = +AAD = c2d0ad3f6bc17aca28012c6e841b6555 +CT = +Tag = b306379671013049be1c089e56511601 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 1719bb14e18995c502cf8a9827493a42 +IV = 9c +PT = +AAD = ce05750faf31c680f39f4ee1872a95be +CT = +Tag = 6a5a1e6fca82ab3f1b29c42ade1d66 + +Count = 1 +Key = b5c1f46bde16a3a955c921dd47a26034 +IV = 8d +PT = +AAD = 83c61f5eac754529f9e11af353fc43a5 +CT = +Tag = 34bc5cbbe10863c89ae03efbbb35fb + +Count = 2 +Key = a8c733c2b290ff7347f04f6eaabc43e8 +IV = 09 +PT = +AAD = ebc605cc382b7fbfa9fa8fefa6c0dca5 +CT = +Tag = 9ab35b6065d421d902fe2aab82310a + +Count = 3 +Key = 94e4fcb449045037a86b2eb2e886a99a +IV = cc +PT = +AAD = 0e8168ac026c7f80be215ae35da46b76 +CT = +Tag = 71584fd67aa63924eff44654e703dd + +Count = 4 +Key = 029ddcb5663d1b64f394b34ccd5a51ca +IV = f0 +PT = +AAD = 7ec0e70d5c9d6bc04dc6cb7e3136b232 +CT = +Tag = 7fafe5557e8b83aca550209ed25bc5 + +Count = 5 +Key = f8c16acf7eb3bdab0922b111c4b85212 +IV = 36 +PT = +AAD = 9711c2c1275ad347ee4cbb447475916d +CT = +Tag = d9da1c90d6393683877354527911bb + +Count = 6 +Key = 12e94bf59b0b259c37d1159e448cd0b2 +IV = 93 +PT = +AAD = f4c8d632506dd32ea3279ea80337212b +CT = +Tag = 795b93c6c875de715db590bf276b3f + +Count = 7 +Key = 269abdc96a1f05348d22b7837fc1a4eb +IV = 0e +PT = +AAD = 806d9631cec3646cd26eeeb35f725a61 +CT = +Tag = 7bb6b0c13fbd7f27a4fe8a1862b106 + +Count = 8 +Key = ce014fcf3e319bafa573266268af9bf5 +IV = 6e +PT = +AAD = 377ca7ddc227e178c2286e90a522100e +CT = +Tag = 5e0142901820966e1f4bcea42af98d + +Count = 9 +Key = 7c570f3eb202304ed80b782fa49e565e +IV = 31 +PT = +AAD = 4239c04db6a019188d80819850ef80a7 +CT = +Tag = e16aa8df4584d71a6875c7f553bc89 + +Count = 10 +Key = 93f70d3ea3588dbc5a9e38eaaf4e7ba0 +IV = 72 +PT = +AAD = 8a3555c8a93052c1caa946225ebc801c +CT = +Tag = 7c3f6236adb8525c3f995dfd656283 + +Count = 11 +Key = 2fc729aa893c340c51bb457dbb04baf0 +IV = 92 +PT = +AAD = 1eaeb1bd856765924909b311e15d2769 +CT = +Tag = 065fd3b46d712bd71597a6a175b2cc + +Count = 12 +Key = ce5adc7aabb38f65fb0d4933597b42ef +IV = be +PT = +AAD = af6e470e13a5d4387cc38f05cb28f67e +CT = +Tag = 9b66b977850369cf52fadc34f7403a + +Count = 13 +Key = 1319d115fb01706e430602da40369786 +IV = 0b +PT = +AAD = 79bb1085556e9282505e0bdcba1cf842 +CT = +Tag = 9717374e344831bc5d4e553ad22153 + +Count = 14 +Key = fd44feaa44b4f75ee4d9ce9734d9433b +IV = 52 +PT = +AAD = d0948f0912840af2acf03ad336226be6 +CT = +Tag = 4ff7a9f5e8548f37d301554f2059a1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = a243996b8a4c81119c14fe759de7c86b +IV = dc +PT = +AAD = 0b183714e0aa184913b6f680cd0494e0 +CT = +Tag = a1530866ef401278e4d53bf9dc8a + +Count = 1 +Key = ebe49d9025595685054db96bc52773f5 +IV = 3f +PT = +AAD = 7860d9b6cd3c5d4ea9d848783832a824 +CT = +Tag = 3a0642d6c404a65676521a1236cf + +Count = 2 +Key = 1fe3cba2b2d15840682d846b621584fd +IV = 9a +PT = +AAD = fdf6004d646928c13a84a84dd0ef8c99 +CT = +Tag = 769d0a98656e7d26fda9bac82ed6 + +Count = 3 +Key = e94091379f6861c4be2cf09cb464a47c +IV = b0 +PT = +AAD = 52cb571ff1242592c11d7cc9e7b57645 +CT = +Tag = 330cb2974fbfba3dc8706df8d27d + +Count = 4 +Key = d6134003b21076b9bb1ae107b80a4144 +IV = a7 +PT = +AAD = 564231ed8ad9c69fe8e2c8f52be490b1 +CT = +Tag = 99d11c6fff45a79e624bd174b971 + +Count = 5 +Key = 7260c538cb2c1186976db3416a0b5ddc +IV = c6 +PT = +AAD = 6fb61578357ba529a12851e071c8e54a +CT = +Tag = 625daab1311f2f7d55747dcbdc6a + +Count = 6 +Key = f320375e9b0c6825c1976fdaa57b1d69 +IV = 56 +PT = +AAD = 65c476c992a91fda99495998f0a71941 +CT = +Tag = 6b6fe3e613d4d492e74c60afbb42 + +Count = 7 +Key = c2e363d437a7147bba05986cf9c548e3 +IV = ef +PT = +AAD = 30c02d217c3941f456daf8eea2423b56 +CT = +Tag = 7bb3c4f9f8cf39c839ad99a79af0 + +Count = 8 +Key = 5e9cd37919693a6afb9358ba782748c6 +IV = 20 +PT = +AAD = fa91574e4a5687182d4b32147f7d61d6 +CT = +Tag = d1742b84f917815a0e9655f68938 + +Count = 9 +Key = 837f3a0003b3f6c54be5239ebe52ebcf +IV = a0 +PT = +AAD = 955a8d11799b3a69ced64904dabd1468 +CT = +Tag = 596a34cf487cde0e73b03a8a7a6b + +Count = 10 +Key = 55fb5ea6b2315d696aef8b1f3cf8df78 +IV = 5f +PT = +AAD = 7b9bdc99f8877cd5b27fd06eac3bc28d +CT = +Tag = 6f208a977e98dbe540b4ecee1911 + +Count = 11 +Key = 12eda9a5f770b18af8e6db18cff6f6e5 +IV = b4 +PT = +AAD = b4933df86c8860d561d233c97dd5a14a +CT = +Tag = a020d23672a2bd5269398703b1b5 + +Count = 12 +Key = a875fdbf6de1ffd5af3da61e968254dd +IV = 61 +PT = +AAD = 4e46f9814a06038b3423cea1e4aa64b0 +CT = +Tag = 37535a794c615d7daa481095ed2d + +Count = 13 +Key = 35c0918b27bf09a10d4029e0a3ab9422 +IV = d9 +PT = +AAD = d061ca28470e9dd03647fb3514e30ccb +CT = +Tag = ef75af19990a88654b6de4e6dca4 + +Count = 14 +Key = 6dc7682a1eb1ffd0d2b3b6dca193bf5c +IV = 06 +PT = +AAD = 544983349da2f26cac6f0f72b5b72018 +CT = +Tag = 6bb29826567b7b2a0d234cbd7503 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = fc025efcfd04930daf56ed9d5d5396ab +IV = ab +PT = +AAD = 695051caf8ca0754064f42db63801c47 +CT = +Tag = 55a69709bf684a68ebb56b2e29 + +Count = 1 +Key = 1be654cbdee44133196628a2ceefa6c1 +IV = b9 +PT = +AAD = 8804d822e96b2b6863fda50697b5e90e +CT = +Tag = 2ba13e9838d6d4aed43fa984ea + +Count = 2 +Key = 061aefaa53061511203c8e32f3014f7d +IV = 62 +PT = +AAD = 36a0ecb574b68c586990eba47510a4a1 +CT = +Tag = 9216f72f3b3431a8dc882747c8 + +Count = 3 +Key = 660a2f89acc5d594f8e44de44763feaf +IV = 1b +PT = +AAD = 9b5d7a9628541d630d8a873a5bb6d4b0 +CT = +Tag = aa0bceef48d6712c14f7341a5a + +Count = 4 +Key = 8430f962704f3273b16347edb425dba3 +IV = a0 +PT = +AAD = f206f230fecd335b7c259b948754e1ff +CT = +Tag = 2e3e4b1feb4d533480b7161bc9 + +Count = 5 +Key = 876527998c9faf7c38654893e821ffde +IV = 44 +PT = +AAD = c164f26970ee9d3b26b630f99e0676f2 +CT = +Tag = 47623413008d3538879bff6343 + +Count = 6 +Key = 3971ec4462cdfe81acf4ca33f4c10e65 +IV = ed +PT = +AAD = d7a31683bb93db283620d8eef9a1bb52 +CT = +Tag = 5f82266f6db5e5d8f6e866c535 + +Count = 7 +Key = 88e2014692afc027fb4e8d565d4c70e2 +IV = 98 +PT = +AAD = 879b79b67709cbddff4c7f34619dde2c +CT = +Tag = f0157f815b1612e7af803b680a + +Count = 8 +Key = 18232efcb7f865a26fd0ba79ab1a2b14 +IV = c6 +PT = +AAD = 01e46a5b36e17039cb6929b507fa8a84 +CT = +Tag = b284af7b5b860e399599e58dc6 + +Count = 9 +Key = 67f001775085e5796301cb5887aa6621 +IV = af +PT = +AAD = 4829bf08e858b0221f85f0a8c99c3f9e +CT = +Tag = 86a2e70e4c9683e226b11f84ce + +Count = 10 +Key = 8e47eca1a596aa5341a72bd6fffa7f7b +IV = 19 +PT = +AAD = 6ae1461afa22078af9bfb0810fb90807 +CT = +Tag = 4eff5e1ccc42d93c43684534cf + +Count = 11 +Key = 7b90be5d821e5521a6620609ad5e6a7f +IV = 4a +PT = +AAD = 721195eb4ebf8900331fe3a06a2692af +CT = +Tag = 08f03386aab65d6a2b5d4e4530 + +Count = 12 +Key = 829bb48c605800e817186d83575f80e9 +IV = 79 +PT = +AAD = a151b0d4ef7b1ada702142f6a38f3152 +CT = +Tag = 26d7aa03255206a7f1a7218a37 + +Count = 13 +Key = 45ad65e902255e1e99182db0d2c4ce96 +IV = 52 +PT = +AAD = a4f88640a11b06e281a0a0414919d8e5 +CT = +Tag = 8bba88e67250f0882edf658aa2 + +Count = 14 +Key = 8bfaf229ab7071fa068b209d844be99b +IV = 42 +PT = +AAD = d4c86925332b315cc96c7d99170b3d22 +CT = +Tag = b7818942fea44b1859eb2f1121 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 553b17055a29da863d83575213c012c9 +IV = 72 +PT = +AAD = 5ca5f3756fb3738666d28bda57361b00 +CT = +Tag = a93b0dc04086da302d84d1f3 + +Count = 1 +Key = 1b083325eba7dce4de323786d8265c98 +IV = fc +PT = +AAD = 0b6fce28dd5e88e92393ce017ff7894f +CT = +Tag = 6dfdf588ff6faaea725ee2d1 + +Count = 2 +Key = 25547d363f3739cbf1c6983fff224f63 +IV = a2 +PT = +AAD = a082589d81c3e51774c57c6438716728 +CT = +Tag = 8c58639e20644d82185529c1 + +Count = 3 +Key = 229e54b180ba12e97fd3645b21641481 +IV = f5 +PT = +AAD = 8dab897e0f7c17daabd6b17650d9780b +CT = +Tag = 027250603d9b490f3175bb97 + +Count = 4 +Key = 23e55c5e6050e8ca2125beba0f31c354 +IV = 91 +PT = +AAD = 8ffc138bb5084f3f839646690dfa5ec4 +CT = +Tag = e7dcbfe431aa90b34c39e295 + +Count = 5 +Key = aa15b2fc63b1c4f262957472993656af +IV = b2 +PT = +AAD = 1324329b4dbaea8ed8490642ef4a2b3f +CT = +Tag = e29d6eba02acaf11c308a050 + +Count = 6 +Key = 3b8411fce69c55049e3e0df371b7e1eb +IV = d2 +PT = +AAD = b34fe90fdc6b42300f892b1d4d9050f3 +CT = +Tag = a34d5dcfe7548caf41d2159d + +Count = 7 +Key = ef782932c5530765b35ae0e3a745446d +IV = 6b +PT = +AAD = e87d89026d85903239c096455bf0405b +CT = +Tag = 5943b5ed4f14f6afec3eabf5 + +Count = 8 +Key = f6ac225094af224a4f85220ccb575a17 +IV = a3 +PT = +AAD = cec0ee194d348c9999abc95989290bb3 +CT = +Tag = af030a70ccfcd5ee5b0adf9f + +Count = 9 +Key = 00dbbdd4101272ceb387d63e992ea7ad +IV = fd +PT = +AAD = 0748a0a4347e662b636ad071c53d1b38 +CT = +Tag = f94485d06129e713c2f4a8e6 + +Count = 10 +Key = 796feca6939e577167ac5df85195d9be +IV = a0 +PT = +AAD = 656b2131948daa908b125ee55047c54e +CT = +Tag = abb852ea0fe975924e40fe09 + +Count = 11 +Key = 779845cfd35e912e0d675386b6fbb912 +IV = 2e +PT = +AAD = 85357517eb390929cb1d6ea8239d1171 +CT = +Tag = 7348be8861bcd5f45b3f8087 + +Count = 12 +Key = baa2e19d0911a3668eb52a9b3a0e89a4 +IV = cb +PT = +AAD = a6dbae2aa6c7b398faedf47c79a2fb39 +CT = +Tag = 16beb31412521ae1affd7c51 + +Count = 13 +Key = f9c083f9dcecf71eb5bebab54cd23520 +IV = fd +PT = +AAD = ee7f66b2d373ea5ddf7c4e6104ef823b +CT = +Tag = bbdeecc6ad82acde2965bd0e + +Count = 14 +Key = b0fbfdb8d5b44d626841e8b89b3667b6 +IV = 14 +PT = +AAD = 391cd1ef2bf10d57b08e85b36b44a0e1 +CT = +Tag = 2f722fec2d15a6535f1575c6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = ef055acc74a54e17f7a360673d36a0eb +IV = 42 +PT = +AAD = 6772699b4d8493ca2ef13459d20cc969 +CT = +Tag = 373cfc407fcb3605 + +Count = 1 +Key = 96bdef349bff4c4fc1f7bf7199c812e3 +IV = 76 +PT = +AAD = 122ecd0dd85be61ba3bca9716bca44c4 +CT = +Tag = df23b97eb8efd6f9 + +Count = 2 +Key = a610fedcd9875665be70c0081c116fee +IV = ff +PT = +AAD = c701a46ac2cff5e9345f593c07d74aaf +CT = +Tag = 567030498097ec09 + +Count = 3 +Key = 312f78c40b74f49cbf0f17d40cb6a71d +IV = 21 +PT = +AAD = d63682281c64e67c10cac8c75e7d8ff6 +CT = +Tag = 36dc667bd9328e85 + +Count = 4 +Key = 8d7053e260170dc3fe14a5e2e18500e5 +IV = 43 +PT = +AAD = abc993e36ac4eb04b9734b306f508860 +CT = +Tag = 36f0487ca88805dc + +Count = 5 +Key = 051e29021d4f79f7b4a5b6d0c794f6d6 +IV = 83 +PT = +AAD = cc4ba4212800ea0ac30d948581e6d700 +CT = +Tag = 0cc0b27a212919c4 + +Count = 6 +Key = 3c3acfe10f687a51b86e9d614e081a01 +IV = 43 +PT = +AAD = 638a0e7b4a44b04e97bbde8b978342ea +CT = +Tag = 6b23ff8f24981371 + +Count = 7 +Key = 7789e76382f871b76a17217a2a9ca4e1 +IV = 13 +PT = +AAD = 36fa081e9791095f627f2ede3998610c +CT = +Tag = 468ba0b14692c450 + +Count = 8 +Key = 0eee5206de25b010810128d3188c708e +IV = 54 +PT = +AAD = 8ca80d4716c91a4498cb08d43c1322e1 +CT = +Tag = 2700b35b71d9a054 + +Count = 9 +Key = 4606d8212b3931ab876b5732e83fe52d +IV = e8 +PT = +AAD = 55f23ab051bcb4470754cd38228719fc +CT = +Tag = 8baf1aec4ef5ee76 + +Count = 10 +Key = dc0a38659bb8b247800b8e11e2ae2ea7 +IV = cb +PT = +AAD = 8f4e95732fa7b0a181e6a25b77028b7e +CT = +Tag = 22851a0c82c4f119 + +Count = 11 +Key = 24be6f8b124d69b492cfee3c2ea4dd6e +IV = f9 +PT = +AAD = f53471bf3c2a5a70ce6c4184a2daf8c0 +CT = +Tag = dc01cd9c3201de09 + +Count = 12 +Key = a646ab3964969b398bfc9b7a309d6694 +IV = 2e +PT = +AAD = d00d02381bda97fff352f1a52caaf63e +CT = +Tag = 98ba33b9f741ec45 + +Count = 13 +Key = 9c8b719fa151080315ef05a976bc0218 +IV = 96 +PT = +AAD = 58d44f7bf4e19857ab28c895904a888a +CT = +Tag = bce40a8360a0b6e7 + +Count = 14 +Key = 0ac184f06d82aaa3833dd8c677330a67 +IV = 8b +PT = +AAD = d5e5245e94cffa380e64252340087852 +CT = +Tag = 570e485b4eb72ff6 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 68656f8f13b3570445886df01167b197 +IV = 71 +PT = +AAD = a9b2e0efe774850b2aec7c7d465a1b59 +CT = +Tag = e62a7df6 + +Count = 1 +Key = da24de9548b42ddf91001c3014b61e75 +IV = 70 +PT = +AAD = bf477ea9a869761c289f279e4ce4c360 +CT = +Tag = 2a41f950 + +Count = 2 +Key = f10aa7036cf2a2a88ac11b0d33a24ed7 +IV = 32 +PT = +AAD = c6994379272aba49c934c10857dd868f +CT = +Tag = 8e20c0b9 + +Count = 3 +Key = ed226a2e5f8d399bf41e587057434c3b +IV = aa +PT = +AAD = e1043c9f9c984d3209687a1b9bcc5609 +CT = +Tag = c6078728 + +Count = 4 +Key = 64a2594d5ccd0e4fa9561a680c28977f +IV = 3f +PT = +AAD = 192a18de39d26b0b5c4f6cf05087123f +CT = +Tag = c8e450cb + +Count = 5 +Key = 1826839393edf79eaa53e444d856c95b +IV = c0 +PT = +AAD = 040a21d05d9381007143310fd3913c17 +CT = +Tag = 58134221 + +Count = 6 +Key = 291bee203583545c7269c4b44425971e +IV = 78 +PT = +AAD = 3ba3e95dcf8b4d3ce8ade90d1c075ed0 +CT = +Tag = c30f7bc6 + +Count = 7 +Key = ad4d7ab5c0a9e5e89d0c5d0b9f79b84a +IV = 9b +PT = +AAD = 3a5b8a55638c7ee9fea47712da46c03e +CT = +Tag = d043c847 + +Count = 8 +Key = 205c8f55ed39d7d5e6f3350df5cf17c2 +IV = a0 +PT = +AAD = e993b223ee105db3e6530154545f7bb3 +CT = +Tag = c1dfa661 + +Count = 9 +Key = 28dc9e99f06314594ecb7e0a65641442 +IV = 7b +PT = +AAD = 36018512b7ec467e9ff4d28d401317a9 +CT = +Tag = 942256be + +Count = 10 +Key = a6938a31b188828a1b285b58167e79fa +IV = 52 +PT = +AAD = 60178e40702c4c0b7125d69a9e67bf00 +CT = +Tag = d6a635f9 + +Count = 11 +Key = 6ceddf85b10fb81dcea0fb05e4380e69 +IV = a6 +PT = +AAD = ee706e30c518e77c8971ff44e3737b1a +CT = +Tag = 37abfe96 + +Count = 12 +Key = d2dab5ad008a5c2d7a18abc9efffc901 +IV = 5b +PT = +AAD = 72aa6d5f367d083209e367c9a632f50b +CT = +Tag = 82ec9a4f + +Count = 13 +Key = 4ee14f8a149031cf97b89a8e331f7258 +IV = 9c +PT = +AAD = 151e0a7e93e310678b6f0e9ae2a194b3 +CT = +Tag = 05ffd63f + +Count = 14 +Key = 71ba3a10c5e4b0b4feefc20ef6c6a53c +IV = 5e +PT = +AAD = 726674ca995573c386e6d06cd11aa9e2 +CT = +Tag = 3a4bcc1e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 3a087944c5803b9153c6646aa9a8a8c8 +IV = c3 +PT = +AAD = 55fe72708217df916429f1412c65e1f7b0613c10 +CT = +Tag = de5397caefb946bae7371ef46e7409d6 + +Count = 1 +Key = 1f78771bd4b1dbc28f4f58ac9029e895 +IV = 3e +PT = +AAD = 088d63f29fd4796714d43b720b35ad5b98a6f8f7 +CT = +Tag = dd3f1a398af192f6a614ea01880103dc + +Count = 2 +Key = a144644f00eedc3d16febc8b7cac83cd +IV = 2a +PT = +AAD = 27f6bf82c3a3550623883c2cb1e184f74f4a9c21 +CT = +Tag = cb671ee5c30ccdd67d761e422a20a6b8 + +Count = 3 +Key = bc13921a5bc35db4d8083789ab4bc901 +IV = 3a +PT = +AAD = 9768755bb32912cf28c75642e2811fb67e66e7cb +CT = +Tag = e6dba5bf5f32684ffb54b928794c83ff + +Count = 4 +Key = 00d4fdae7d6469ec20c5f66d907b73f3 +IV = f3 +PT = +AAD = 022074d43fe01d8f27e59fbf177f737e78514490 +CT = +Tag = 9d69350e27aa0e1e864a218c7f1ca6e7 + +Count = 5 +Key = f0ba2d1c512a201d6f6b86c94fee4819 +IV = 56 +PT = +AAD = eb9e2ed4c88430a01234fe1b78dc976993c28dfc +CT = +Tag = c50378aee3dc98866950133cfb8b9e80 + +Count = 6 +Key = 48fd869810b5605a247cf52a818042dc +IV = 61 +PT = +AAD = c39c6471f6f2573d2959b783475588486fa337b6 +CT = +Tag = 3537f31a93973518678b1d18e1603144 + +Count = 7 +Key = 38ffb329a72467411954382d22f7838e +IV = 34 +PT = +AAD = c772240514405d04080284403daf9a6db47d82c3 +CT = +Tag = bb2c3f8265dcf65d7656b55f77bbf2d5 + +Count = 8 +Key = 0881fb32cf5dc7bf8b0c93be0739fc22 +IV = e3 +PT = +AAD = 6092d47feb258629a1c6c9fffb77b40e1a2d5a6e +CT = +Tag = 59ace4defb8950a48e16ee10d00724df + +Count = 9 +Key = 4394512bd6694d2319bc7cc096392d07 +IV = e6 +PT = +AAD = 9dfd3c6c685bc7b3f1f0e049907b29bf0304a5b8 +CT = +Tag = c842fc94828fc232d484a62d87c636f2 + +Count = 10 +Key = ad02bef68786aaf947a84642148ce780 +IV = 25 +PT = +AAD = 921f91ff0564ace670941ced7bd5178049da0e1e +CT = +Tag = 560e0e78d718661d986256b3c431d533 + +Count = 11 +Key = 1465aa294aa53b0d03f5c8225ea51154 +IV = 93 +PT = +AAD = 6ff7eb9dc2b9b2983f05f2cc89256d204937e783 +CT = +Tag = d14991e1777fc89a90a284f617a77da6 + +Count = 12 +Key = d882bb6bda900d77467a4beb68c715e5 +IV = 59 +PT = +AAD = da66b47a098b53ade8d6d15151f5f2aade1caead +CT = +Tag = 36c903e81f6df9cc93d121d0187a0efb + +Count = 13 +Key = e1edded3dd94297f19ee3fd1e8774682 +IV = 41 +PT = +AAD = 94a4b4f898987781876d6521495a6c77f0d7eeda +CT = +Tag = a7181c5f3c8d2ab6b01d85f3a6d5d80f + +Count = 14 +Key = cbbed19450716e10ada4fcdd8c14ea8f +IV = 90 +PT = +AAD = 31e23e2cf675815fc1b6490f5e3ff034bd4b0c0d +CT = +Tag = 69aadddc3393e6ddfa1d6055f03c9111 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = dcee093edc5724d30c8f46dc3f8dccfd +IV = 69 +PT = +AAD = 0b1df0fd5c5ea793d8d5ad9427c316704e77f9bd +CT = +Tag = 29be0d2f94ab5aec58f3d6e47784ee + +Count = 1 +Key = 4c02f43d33ac7e8fe507919fa8492eb9 +IV = c4 +PT = +AAD = 10a7e207cdadf6292f06a0e8dcf3456420ca08fc +CT = +Tag = e5eb5ec6a1280eb4cc4550bf3e7e18 + +Count = 2 +Key = 92e79eb0927d50ab1b74e3e2ff0fb527 +IV = 7d +PT = +AAD = b40e4fb29b6ee57b70ff6383d193df53ded89567 +CT = +Tag = 81f42dd9501c6892a5a81b912a989d + +Count = 3 +Key = 750b85c3ff959c56ceec5ca89afb158a +IV = ba +PT = +AAD = baa21671bb8d56bc4c774346fef4d65e50ab04b6 +CT = +Tag = b1c51b32bc52d14d60a34fb7088bab + +Count = 4 +Key = 0b31c5c34dc6143f6e866ba48f6b6a1f +IV = 14 +PT = +AAD = 0deaa4d89ae63d478a3d2f183a341013aa0bba52 +CT = +Tag = d72526581b672d5357c3dfb31586e6 + +Count = 5 +Key = 4f02e092ddeb89e5035952377ef10387 +IV = 88 +PT = +AAD = 44aee9edecd83bed3615a3c4fd015c61bf546fee +CT = +Tag = c6d363b8c4c5618e09f4ede3fcc760 + +Count = 6 +Key = e8f0a3b8e3cf09e292bbc8deba8f34aa +IV = 70 +PT = +AAD = 528cd6896c06b3939aacefbcb228637eda32dad5 +CT = +Tag = 1a66e152c5eeb9212e608e3cfea169 + +Count = 7 +Key = a41de713906c714096a33016902eac6f +IV = bd +PT = +AAD = 856a91a4275b7658506fa7d2b3c1cd4d66542017 +CT = +Tag = 099a876513c24f4ccde5c00d314e37 + +Count = 8 +Key = 2df168c9a0b42b82b46c467b559ca9e9 +IV = f6 +PT = +AAD = d89ab68d29b5d7598c78b1e1cd115f34c29d8410 +CT = +Tag = d009ba7a239e929a7aa564b3d67662 + +Count = 9 +Key = ae4bf51208df84a0e629d51b8a0162c1 +IV = 86 +PT = +AAD = a1c7a7f69126e9c16ad9068443ae9b61cfa4ecb2 +CT = +Tag = 01c66ae8bb4b3b797dd84a972b4965 + +Count = 10 +Key = b30335880759256c0bbde2e211f73395 +IV = 14 +PT = +AAD = 4d6957fcf8bc2a86ee60d2f3c1be4747af1abced +CT = +Tag = 97364a401bd1280765649886a61ec0 + +Count = 11 +Key = 7f3f292fb2422dca81be5161e0707664 +IV = a0 +PT = +AAD = 5b38b3361f9866b2cb5430eb5470380b5c0ba564 +CT = +Tag = d3898cd6d2bada3e43d697cc2a1286 + +Count = 12 +Key = f0738bc1c9aee49b4d457db8f3d0f80c +IV = 7b +PT = +AAD = ae6f83cbe0acb2cb5a8d81110e330c71632a7002 +CT = +Tag = b547e781f87df2ac2a2637b2bcfbbf + +Count = 13 +Key = 4d352e61a7a55aaaab12c4f5239d4764 +IV = 70 +PT = +AAD = e3cdc0552bde517e92e14b308042aa5dbe510264 +CT = +Tag = 9d224794cccf11aa6a43960623c502 + +Count = 14 +Key = e78f6211012a21d422029c32b5e16dae +IV = 94 +PT = +AAD = b2e83f52dec1415f8de01f70cc76e835b32096c7 +CT = +Tag = 372a2f54992985e958b6ed30e9c5fb + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = bdaf7967ab6a68395e418223ac817afd +IV = fb +PT = +AAD = 21a801dcae7a48c5453cf2ba7d90a37f0df06328 +CT = +Tag = f7c530b2a843dbde5467673524f6 + +Count = 1 +Key = 4b87c0695a6224b83b69368e95a8161f +IV = 88 +PT = +AAD = d576d3715d2def0f786d3cb80255197fb9189506 +CT = +Tag = cf2dfc6d43b5f0038c7b5e003895 + +Count = 2 +Key = df0b8254ba6c88f29d2f700ec13d50aa +IV = d3 +PT = +AAD = 597044c3903fada6fa9d01b4217701fa63b8b771 +CT = +Tag = 29c29455d21d55ddcc96d7b8ce21 + +Count = 3 +Key = 8edd403721c7788be3dff00ba9fc2f44 +IV = b2 +PT = +AAD = 3ce9905e2849f6097ada16aca2af64ff877d7dbb +CT = +Tag = 33d6e7614aab6fc2ebb38684cb23 + +Count = 4 +Key = 4cab2142ebd9d91d8582d10c0a34df22 +IV = 15 +PT = +AAD = fb98dc89db0a736beedf08a7d713282477243616 +CT = +Tag = fdb2acfbd763107d4ef9fae5ebef + +Count = 5 +Key = 79c222559182cdba8c16e8b200fb4b28 +IV = b8 +PT = +AAD = 610f7ff2e5376c6e364b965aa026076542657a6f +CT = +Tag = 59994d8346aa43d279effd6b69db + +Count = 6 +Key = bf063dd3688633e7a42c7552ac7abc35 +IV = be +PT = +AAD = 79d4d393ed1b7e881ebf3f4a07a1697606c7cf83 +CT = +Tag = 49c43295f8a2123697443da63f9a + +Count = 7 +Key = 4ff3e19ce439314f34ab9efbc49a4db8 +IV = 65 +PT = +AAD = d3a1a1b7c3475657b1b8a018a2fc5c3d3fc70bc2 +CT = +Tag = 07ff089c52cef21e89e7fee18766 + +Count = 8 +Key = 0f4c8eacd18ffb5ede1a796319ce6db2 +IV = 84 +PT = +AAD = 681351056febbbc97cbf97f54e1aafd56b29d002 +CT = +Tag = 3ad6fb1f989ee4db14bdfdf06d90 + +Count = 9 +Key = 004848e38b0fccdbdea3faae1114d2fb +IV = 99 +PT = +AAD = 36d718e08823adfc2fe3a38df8134c86969ed450 +CT = +Tag = 8c071072051a1af179546fca711e + +Count = 10 +Key = 1d19fad1691ee79b358eaeabe72c27f8 +IV = 5d +PT = +AAD = 8c4bcf5d419503b63ace5893acb89cb0513ca0a2 +CT = +Tag = eea5f25afcc36cf7e75b123cdce4 + +Count = 11 +Key = 778743b98c4a879a3cc6508aad65e8ae +IV = c4 +PT = +AAD = dd3119974269eebe0b78c08078bf7b25abcffc5b +CT = +Tag = 6cf081fb2dc3559eb3946898f084 + +Count = 12 +Key = 8f6bcc179567fe148d0cfb5fce52609b +IV = 82 +PT = +AAD = 8b22f3c0bb4eb0c3d0d4c64c9fe16d099d0f0ede +CT = +Tag = 720741c2d8c23a21d26f50dca064 + +Count = 13 +Key = 0069f5f1ce45567d5c788ebc431e6e78 +IV = bd +PT = +AAD = 00534bdcf1ef80fa6c76b00489692f3ee8d234f6 +CT = +Tag = bb3b3635686972fc8846d4a74ba3 + +Count = 14 +Key = 79cf0aae601e2b2863c74920525e5ce4 +IV = c4 +PT = +AAD = 819fbb349e6c74dd6d0bb54f9ca60222c71729f5 +CT = +Tag = 61407c353d197344548c6be50e84 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = f8413d624e64c2081bc7c24237ed8a8d +IV = 53 +PT = +AAD = 9a24f2b8ede825e7d313d3923d217134e204648e +CT = +Tag = bf0d4182f12e33999e8f0ef4d4 + +Count = 1 +Key = fd469123d0ab4c6ee4ba8c66ba77fe1c +IV = d4 +PT = +AAD = 89441e8b8063133c4925d7604bdaa18c3ed75349 +CT = +Tag = 4f71c562ded1bcbb34e277c1c0 + +Count = 2 +Key = d57d7289532ba068c2418c9a05d28535 +IV = 22 +PT = +AAD = 0dd0b93c3e39ac8d39f838db02417e4be865c302 +CT = +Tag = dfb76b75ec4d5d8e700851d88e + +Count = 3 +Key = e35112c01eaab26b9bab9c51086e8a98 +IV = 2e +PT = +AAD = 6f1c9f47840b95c4dfc319642aa8547d9a10f328 +CT = +Tag = 3becb871a0f96ad230439a3a75 + +Count = 4 +Key = a53b0966fb60d8b11f5d257d5eb68716 +IV = b3 +PT = +AAD = d98cd0a312406f7e53f733d606933f0a921375a8 +CT = +Tag = 0743fec0abe6e00cbafb603f73 + +Count = 5 +Key = f355e46c9ec16e793f1f011edc5a27ee +IV = b1 +PT = +AAD = 8ad78c8c9a48b0c573ec9f92f96d1c97e0faa062 +CT = +Tag = 595bae0bb55ae2b37f4d82a186 + +Count = 6 +Key = 6377aa9fb1c1803685f2491c8657e762 +IV = 5d +PT = +AAD = 7e87019920d5dbe3ab68fcccfcea975a5e68ccd8 +CT = +Tag = 84a7cc460f52207591b82ed813 + +Count = 7 +Key = 96a070e22e7753a0017a3fb4d7d0ec7b +IV = 7a +PT = +AAD = 33ebc915ff821284c7e8c5b263c00e316e03eb08 +CT = +Tag = b562bfa969be2ed253af2c2c73 + +Count = 8 +Key = 597dbdb95060fe52a693a0d2f5d8af4f +IV = c6 +PT = +AAD = 5849836bb89384343f01b806691b60693112e2fc +CT = +Tag = b2a0349602ed1e2a68fab4e643 + +Count = 9 +Key = eab78194ac8e1476f31bfb3a4c9e2828 +IV = d4 +PT = +AAD = a941694d274f0557c0d44adf1999b07a6bca49ba +CT = +Tag = c182dcd819e2201adf9d5d5497 + +Count = 10 +Key = 268b6d94afeebc4b799dba543c888a73 +IV = da +PT = +AAD = 4962f31d1d6722f44025cc91211549b2046bf510 +CT = +Tag = c33e095bd92342da6130153294 + +Count = 11 +Key = c41adf192c9af9a24f381af04e4aa1b3 +IV = 44 +PT = +AAD = 250868abc3f490362a39a89cb9cac6c3ed8b4697 +CT = +Tag = 0935aeb141dbf58dfc400bc764 + +Count = 12 +Key = dcb7f96d9c965d5be0fdc637106f0145 +IV = 7f +PT = +AAD = ecd494b001d07eb8e1cdfea2b453b0103e584b9d +CT = +Tag = 88caa0a35d2a41155811c49ffb + +Count = 13 +Key = f608f988cfab147d609c26259351bcc2 +IV = 6a +PT = +AAD = 7be277298197eb7054906bb2a5d4417ac9d4b626 +CT = +Tag = aa51d2c0c177c1bcebbb8771d9 + +Count = 14 +Key = 04c0a112102afbb3811e1bb2733a02e0 +IV = a7 +PT = +AAD = c6312e479a4c695251181f0cdc93d7d7aa9bea7f +CT = +Tag = 2fd9b25c5533e929e264d1c216 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 1e6d615b0ec87aa56ebadee379f1f91d +IV = 9a +PT = +AAD = e461e797e255a51cf95dd8590aed9750cddf2bc0 +CT = +Tag = c97be0d79341ef6588961def + +Count = 1 +Key = 364c60fe22affbc7bf300eb28c2cea3f +IV = 6d +PT = +AAD = 1ad485e28ae31ef5eb7c28abac7224dcf4499787 +CT = +Tag = 2e74623478a42efa95d504ef + +Count = 2 +Key = 51c6f47c4d79c325078df39255477107 +IV = ee +PT = +AAD = c08bdc79369f254213c390ed57db6ce036e6602b +CT = +Tag = 618d10b697f6d1d5ee9e9192 + +Count = 3 +Key = 3794389ae3e2e2908211abb13aeaef60 +IV = ae +PT = +AAD = da5296ec24f405aa5e86227faff238a89f86d20b +CT = +Tag = 20433345ee7d90bd29e15f88 + +Count = 4 +Key = 5b3cf3d92bdbdf71fa94a6f99c8f170f +IV = 91 +PT = +AAD = 2c9096513ce8902f1622334cb58e423b1275fc52 +CT = +Tag = 1db96d3ea5ce49a158397630 + +Count = 5 +Key = 32877c8d2d8e7a89ec3b6107dde7f9e9 +IV = 14 +PT = +AAD = 2ce4d881d89624dcb69cc25df67cae358d489333 +CT = +Tag = 1432ce4a3bd207ccd77dee6d + +Count = 6 +Key = e33dc1d7dd333283fe5d17dd3a163b46 +IV = 44 +PT = +AAD = 2c5e29b1bd513ac98c8d560a4c8772b8043e5a83 +CT = +Tag = b27792f13c5f37a12ac5348b + +Count = 7 +Key = 6bd68cb01b3200db10e66277a7bc6c64 +IV = 42 +PT = +AAD = 733bfbceaf0877d11c442d36b6be58d894557d0b +CT = +Tag = bff719cc4d14546e950e3c3f + +Count = 8 +Key = cb945526d64e5b069da288d44e54ddde +IV = cd +PT = +AAD = fb43e80f72292dfa4ec0b4606d356c7441a990ad +CT = +Tag = a1d636456f7e0cf34c9538f2 + +Count = 9 +Key = ad83484d5a64ab20d86c9988f1ed6c08 +IV = b4 +PT = +AAD = 4e3f446871ac1a36551ce7ff2f467b988f83daec +CT = +Tag = 5006589598d85c00eda08cfb + +Count = 10 +Key = b9dabd11f0cd30d722c2b487237f5a13 +IV = 7d +PT = +AAD = abc404d67e32c1488f42b5ddb6ccaec02489ea5b +CT = +Tag = 60403d97ccecc0745059fb7e + +Count = 11 +Key = c7f5bde50e521ce90aa18349059885e4 +IV = e4 +PT = +AAD = 12e8318d55b434ea1840ba4ccf19c4fb36cb1095 +CT = +Tag = 3c4f26f9af5cd36aa68e9694 + +Count = 12 +Key = ac3b40366a12b0e5e1784a965f497c77 +IV = 9b +PT = +AAD = 2a488ecdba794542bc8d4df129e97f708ea0480e +CT = +Tag = 1d26a2e8656cd4ed50aaa9cb + +Count = 13 +Key = a9edc7ac6a4eaa9e5196cc6702a95288 +IV = 8b +PT = +AAD = b2652c359e06bdb1c7c0a4a49087e724c4752e32 +CT = +Tag = 467669b35b7c59218fdf025c + +Count = 14 +Key = 6471e11b5a559f84d196160c64ced95a +IV = 1a +PT = +AAD = 147c70bd944ae51289717bdbdac86511fa3a43a2 +CT = +Tag = b7b80d314024261bafd7d218 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 41d0e604d7be7bc069bcc725e6b9ac1d +IV = 99 +PT = +AAD = f14ec0d5cdd1cb1aa902f9f9d48ffc770269f186 +CT = +Tag = 81c928129992ba8d + +Count = 1 +Key = 2060789659ee37dedd78704eb07d4b50 +IV = 16 +PT = +AAD = 8546c6ecef042efba48772de6d1b23c9140709be +CT = +Tag = 486c41d9992d5d4c + +Count = 2 +Key = 7b6e76b9585fa420d62f4c59836a6b84 +IV = 4f +PT = +AAD = 36cd2fdd8929bb7af5829d7e0e7058cf0095f72d +CT = +Tag = d89978eab5288471 + +Count = 3 +Key = ae75de4846b144ea46efa89a2bea7c8c +IV = 59 +PT = +AAD = 23896c2fde29615fe6ce11c5882a0be3ec4dcfba +CT = +Tag = 1c9900c8fc896e23 + +Count = 4 +Key = 535a4841c9e93057d23d60e1be50ded3 +IV = 8d +PT = +AAD = 53ae7d2c2d29467ea4bd440ba678f47651a9663c +CT = +Tag = a4ef77c144303cea + +Count = 5 +Key = 198d8ff3d342c0ee1557c66e24517c6f +IV = 09 +PT = +AAD = f0758e6ddd356a21fc576953a5ccc2b8f53d4d3d +CT = +Tag = 368fa413b9d8d4aa + +Count = 6 +Key = 833e89cb38a5b43f8f9f3a4cb6d8d376 +IV = a6 +PT = +AAD = 2432741defb80f5f12601b4d4107a2fbf04b2c2a +CT = +Tag = 2188bfdb6bd40e80 + +Count = 7 +Key = 33a78aa10a5f473bb9217b8b3113569a +IV = 38 +PT = +AAD = 745a16d2c98ba5c13950f17efa469dd33eccac08 +CT = +Tag = 74d2bdf1a7873b0a + +Count = 8 +Key = cbbee015584b151e420819966ef9ce61 +IV = 7f +PT = +AAD = d2842c104267566a9723f6bb8600e6c4957e9130 +CT = +Tag = 3eda867db274eafd + +Count = 9 +Key = 762a2491ea608e252c18578120cbe71c +IV = 7d +PT = +AAD = 2b7bbbcc552b94e6c561a7fd567b46f09240f1f0 +CT = +Tag = 47c3ed2742a24138 + +Count = 10 +Key = 13818daf77b405ca72315eb843096dc9 +IV = a9 +PT = +AAD = e4f2d31ffcd696840dd64210b334c8864008f514 +CT = +Tag = ccb091788e87e32d + +Count = 11 +Key = d005aa17ae12332b5937084a80606e49 +IV = 09 +PT = +AAD = 8ddd48725df74a245d85fc1a449782d5ce08af42 +CT = +Tag = 8db14535421e24aa + +Count = 12 +Key = fc1f7be584fca68f305da906d137a99f +IV = 63 +PT = +AAD = f749d8c27bd723bc0a4e50bfc541441681c4464c +CT = +Tag = d4d3a9986d35917d + +Count = 13 +Key = b1de5f550730fe85ebdb17bb3b9ce6ce +IV = 8c +PT = +AAD = 295fd2dca55cdf75e1609b88e4e65bd7dbf58666 +CT = +Tag = 4bcaaa62fb2fc28d + +Count = 14 +Key = d39e4cd6a5d872542da409664bc26bdf +IV = 5e +PT = +AAD = 5e226de94a4b943949d98a5a853667dac06edf19 +CT = +Tag = e41c8b8a20193f14 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 6f38f14acc98561617f9c93a9f7d5db9 +IV = dd +PT = +AAD = 87bcea199cacbe316138bad62e785c41d48d920e +CT = +Tag = 4106352b + +Count = 1 +Key = e0a59100160823de38ed86889500e351 +IV = 51 +PT = +AAD = 8509e6fdf7e0fe2d07a8ccbd599f904e197c96da +CT = +Tag = 8827799c + +Count = 2 +Key = 0e6e3b92b71322d1677d488317902c1a +IV = 5f +PT = +AAD = 5956375c548c55a1776da8ee38cd4f7957a4ad84 +CT = +Tag = 3de72a05 + +Count = 3 +Key = 6e1e06c9eded33d69daccd43a4e7d70a +IV = d0 +PT = +AAD = 0b4c833b00631e71587db1edcea98fdb3c5a280a +CT = +Tag = 563d7714 + +Count = 4 +Key = 8ea63fa7b99973a317c636e485f77c6d +IV = 77 +PT = +AAD = e413a0e4a635937f6bd790e1509b0607a1adb770 +CT = +Tag = 134fc58c + +Count = 5 +Key = 4191e3c3812f14e929c3a12208e0f606 +IV = b6 +PT = +AAD = 095a78b1eabfb693af63dd15a0e790a055213447 +CT = +Tag = 17094073 + +Count = 6 +Key = f406635eda202fde3ae1fc370685bc64 +IV = 53 +PT = +AAD = 2a28ca216f875bb2bf4397294fdae42069a2074f +CT = +Tag = fc308df3 + +Count = 7 +Key = 0fdfd464a324398a3550fc7fa72d004f +IV = 3d +PT = +AAD = 9fe9f3426faaf908db8b4eb4f1beaa108c72af51 +CT = +Tag = f9d5c86a + +Count = 8 +Key = c9e9c0831b98cd88c1c80f399dc3684c +IV = 5a +PT = +AAD = 91571a41d40b2ce3ff853712934fd186f589a832 +CT = +Tag = 1bcff366 + +Count = 9 +Key = 771e90d08f33c4ca155ead6e927e2823 +IV = a0 +PT = +AAD = 7e3a2cae194b23814faf966b1b64a01c1b8f1d3f +CT = +Tag = 4045ad37 + +Count = 10 +Key = 5017fa321145a988587cca52ba6afbf0 +IV = 61 +PT = +AAD = f6b18b474d98331a9b206b32fd5836c4c013d303 +CT = +Tag = 6fd6575a + +Count = 11 +Key = 19ea3be4c1943b0cd0045f48cd5587d7 +IV = 6b +PT = +AAD = 08fcf8055458b58c189b53371f4df82e022d5a85 +CT = +Tag = b71f3124 + +Count = 12 +Key = 176ef6c6b8a818a0c48802087eb83867 +IV = 1c +PT = +AAD = d6050a41259c2b7f06326a92b570163926df755f +CT = +Tag = 21036adf + +Count = 13 +Key = f8861857f9c952c4bb858a4c0fca1d69 +IV = b0 +PT = +AAD = d2053158bad4c1b4a483c4fde9911edee0282d39 +CT = +Tag = ccb9b75d + +Count = 14 +Key = 04f0c3c69d3afe8f904548c04b032f75 +IV = a3 +PT = +AAD = edc60d67d409189098c648c1153aa35cd5f80af5 +CT = +Tag = 29572226 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = b325b6be22fcb1e9123d8273b50af264 +IV = 8b +PT = +AAD = eadb98e5db850954e90fa3d4998f7385442c0b94a2b0348a9d63fddef78cbe9117306d5514c0fb551b4e839660c06d6f +CT = +Tag = 5a527c760275be8fd11583717992beeb + +Count = 1 +Key = f8c9e5a522217584b98ca2fe29157ea3 +IV = f4 +PT = +AAD = 3cc209f28aa1a3dd21fd18c7a2ce18269a9d288123c6e0ef24de6a50d72decf9806f2783ac80457501cde895b36dfea5 +CT = +Tag = 1374bdd0b84f8d295096fdb7bb612fd8 + +Count = 2 +Key = d0011f937650d55afb91e9f75e035087 +IV = 69 +PT = +AAD = 23e520b6fd2fd4a5fb68d40ee850bb1fef38d813b1e3457e44dd938ba69e8aebf5308858eb7f7f4fae5e8e5973cfbc72 +CT = +Tag = e11e67e19934ce8cb7f774ad97c63f8f + +Count = 3 +Key = 4d816219ac1c23380609e5c63e39a52b +IV = 82 +PT = +AAD = 4a8730344cace8f0a7eee678c1d4e2e042b947ed3ea88d478611c4cceb34689b68a3ee4755eb31a68930ad9e4a865022 +CT = +Tag = b901036238d65d2123240cc13dab53a7 + +Count = 4 +Key = 9cf94c3d3a02a07dbe4e6fc4009d86d7 +IV = dc +PT = +AAD = 0aa2bf9faf6a49fb8d4fae3b66a96f44ca431865a2cd7a8c6529117a5bd5bd71aa29314686eef1d661a85b5650e6b525 +CT = +Tag = 8e5ff5d807a60fa2e0412328cbaf079f + +Count = 5 +Key = 22865886f2855c12844ef0ce5da8d5b7 +IV = 1e +PT = +AAD = 008e410db7e81dea6bc472512f06837c2504d7c16953abce085af605a075a5b90b57379a2f96155eb4167a4db28f1cec +CT = +Tag = 2dae94de1dd8bc3f8a5faf8224ce7310 + +Count = 6 +Key = 28387dad747a8ee2badf48ce2d41458e +IV = 13 +PT = +AAD = 986668b73c6802990983688cd5aa897cb7f65486762820fc123f29e014671259b87982e4a0fe5e58fabd4ad48be87fb2 +CT = +Tag = 4251960f1ebba480543bad3a971e5f82 + +Count = 7 +Key = 3ec5bfedd8c7cc01f0969fedeb268514 +IV = 9f +PT = +AAD = d5f7dcbf775d15ec47d61bfbb91e3a6caac54852c9272a9b504f6ce57066d2e5f918b7ecb8338d6f564e896637d19f6b +CT = +Tag = 381f89236d338047359ea89564d9723f + +Count = 8 +Key = d6de21c4d876fbb693939e7e8ebe9259 +IV = 8d +PT = +AAD = 7ef90bb90edcd265dff11a6d7ff97d32c18720d3b386b409a6b55344a23b8b0fa0f909fb490294ddf52d61b88dffc599 +CT = +Tag = 980e013ad516e01f1e9469982ac48fba + +Count = 9 +Key = 26de2198bfc5ab854c6b6182d6205134 +IV = a0 +PT = +AAD = 5a23d71e4c6b2b002b63349216692c570ed035e589c420c650a0c98d4da1b19665b80aecb4daa39a516036c7a696614a +CT = +Tag = 3f190313012870dddecba04dd82f64c8 + +Count = 10 +Key = 5dddf18f2db817e2d2bd4b22ce84575c +IV = fc +PT = +AAD = 3685c4d38a2c327cd067bc4630c242bc2f8c74072840624c2ad100b5f2d037dbb62f8c59e58cd73e64f0d1d3a757c818 +CT = +Tag = 807338b70e1b01919058b82f40fe01a6 + +Count = 11 +Key = c133d3f109dac50158119e72738820a0 +IV = 7e +PT = +AAD = 0d9437b49902ead09ab45204d3433e7748837ff7aae5c7ce1736835ac6e4a1c41ec75df26660a84cd5f544c2699b8724 +CT = +Tag = 4a1851debc414718c36314328bdc3e1b + +Count = 12 +Key = 3136b3af8296177e17f2557663a2626d +IV = 5d +PT = +AAD = 74f602d41e3780b3ac2251a64e826c53ee9963f4af4d458f08d154ebed61642bf5d7b08feecda8f649b997cc980dc6d5 +CT = +Tag = 3c9063d145fb74ff9914c9a06d5f2ec6 + +Count = 13 +Key = fb90dc4819110f95c634ebd25bf258df +IV = 4a +PT = +AAD = 2cbf7f24ee5f0281362a806938d5d7e1d79a214527600f520933ebd6f08f5ecdb2adbbe6703b293cf27cccfa3ea57127 +CT = +Tag = 6bad15f34bb8db31d110f062ab0166cc + +Count = 14 +Key = 34e97642d2363ee7d9541d90dac0bdb3 +IV = a1 +PT = +AAD = 06fa356cfa3bc37c8648a3be6d6afc8b5fdd8a39e50643ca9919da393b72b9aabe1e69becbe7a1c97233fc7c071d55e1 +CT = +Tag = 4280941c84b779f68f717cd56c6d9b07 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = aef25ed00ebe09ae74728976ddab654d +IV = 8a +PT = +AAD = 4ade98bd3b33f4afc4cbe7eec9e63cbd05b5f4f47fbb70879e9307b0a06b7f990474094620d059235b277b1c0be6da5c +CT = +Tag = 2b6ce54bdbc3f14c21b41f278499fb + +Count = 1 +Key = a745e88ec832586980d4cd735c7d232c +IV = 98 +PT = +AAD = 5d311835bd76c2b5d11ce225e454993b285d6cc6ec705cdc976fbb656e0e9d72be05dbb0241f23b64e09b2b23bb49dce +CT = +Tag = 864d0322f4dff911c0d24a80eba55e + +Count = 2 +Key = f42b7058beb0e9d8f447f02009ebf010 +IV = bc +PT = +AAD = b3add2ad96f10a5a79e1a8c38ffdf2342734f04ccbf131f0115b20fcf2bc3589a11af7b86e4cae8b79007101f6323421 +CT = +Tag = 57d22e9767020d88c5d42e3ac61e6e + +Count = 3 +Key = e693cc6a58b10aec13c10434ef60483c +IV = 54 +PT = +AAD = 386640d9cdfd54d08440b831a3dd27dd77d29f3d680d38556db28ec17c6ec64f919c697851c8bbf6d64f28d7a0877c28 +CT = +Tag = d0356efbc98776f6f1b513b901afa9 + +Count = 4 +Key = 953fde3afb6fb31ec92be0d148728070 +IV = 66 +PT = +AAD = b7471788c865aea554776fab605b42390dac67a3e9ba9f64ee8fde55fb988d16d5095c985fcfdac9168a698aff7e6b57 +CT = +Tag = 7d1253dedc2745f3f44dc5c43451af + +Count = 5 +Key = 05ce80f8ce08e48136a9d8968a602661 +IV = bb +PT = +AAD = 2db7690a5f48fd96cc4b53f98c7c59ce0b8f71f4150c04a0718fbbf0af7ea30d9f103ddec1089a9a5f7417ab2c5e5508 +CT = +Tag = 2d74cc936eaa0e95e34356ad4e49b4 + +Count = 6 +Key = d12adc69d1c389b3821dca9d135bd24a +IV = 8a +PT = +AAD = 65c5383e52d2020d33ba94cb46ea769298c3298eca1ffb5c7030f82f24dbafa510b79dd36a386c9fcccd99a1377d47d5 +CT = +Tag = bbe8c3fcc90cf5c7503696c009ac27 + +Count = 7 +Key = 5a643e7a477a657e4a9020269ab14b12 +IV = 44 +PT = +AAD = ef32f9e22a43ab4505971db14a92974c0576284c8b382fefe77554ba6029e33dbdf5d66aab600b2cfd1110036150f48b +CT = +Tag = 468309cabd8470bfbbf90808243504 + +Count = 8 +Key = e6ff581892dde32478a8f1c68b8575a6 +IV = be +PT = +AAD = a074fb854ad18d255434e34fd1d289adaea9e3d9d115e0be52460c7f3c301d85dae53c23b57e1bf6fcfb799e6ff3c3f4 +CT = +Tag = 216a271e4dd2d2a976de9c0e86d9ce + +Count = 9 +Key = 820f8dde50e523f44fc83c09c019fee0 +IV = 0d +PT = +AAD = b969571bcd3c7ceb58ec3455c8042d4328a2721fcba6cd97bebb314e514ebf4c0f0cebaa8b4c2d661795f1cceab9e4c4 +CT = +Tag = e329a2f5d88e65d9b69853159e3fca + +Count = 10 +Key = ea6a08ce134d41cab0ce50f436d8cbeb +IV = c8 +PT = +AAD = cd39faba6546fc64b81b64e25ff23adda717dd6776af3ba9fd634b6a2d93f944bcadbeaf57843498b46fb28a76656d59 +CT = +Tag = 731c5d1cfb26ed6521705c88afd7f4 + +Count = 11 +Key = 89878998ab22f1164e31d60f6d0605f1 +IV = 62 +PT = +AAD = f1af2a0502a41bd9b55db7f6dc03e397f4794fb6160c508d6b5ba23df2fc39f9d3bcb9d8d5649be85d8767df02f75507 +CT = +Tag = f0cdc4b7f9f6753c10fb8aaa3b3d4b + +Count = 12 +Key = f7e19c1bb6ab139b9d2f2212a468a704 +IV = cb +PT = +AAD = d78d56528a89f7cd91098c3c0faf77b8300e0343cd9d209b31a21718dcdc4e8a6123850a12ba0e4a05c488e11df80d90 +CT = +Tag = def0556fe672ed84608a6f27a9cf5c + +Count = 13 +Key = 91d5c20b506c081128dc96ef0873b71c +IV = a3 +PT = +AAD = 013f1be1534791900b7bf349f341c802790a0df2a260ee2bcaa4d2cdea596fce6a43c7fd7afa4d4d3a14298caf6de1cf +CT = +Tag = 280c1c05055a5b5691f79b3433b035 + +Count = 14 +Key = 591e1be6efd6e84fde648710f2f9a5ab +IV = 1d +PT = +AAD = af62c4ec73359c01305b37b4e9d102cfa895a1a7e16798b9a999ad649e359d17c6d2f9a654722539cc6abad1722dcbfb +CT = +Tag = 85b095a2ddc05e32d96179a83b700d + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = bf18dbbe1232fb36cf2dbd70ee78c1df +IV = db +PT = +AAD = dbafc5e0c2fed3c07b3dd2765356dd9c91c2fc1d7319b2d20493e0fc66b22c65e8e61a39150f095a8538cfe5a8a7fe17 +CT = +Tag = ad09def3c9750b77f1713522b1a5 + +Count = 1 +Key = fc907cfee9be2ee1317e08beb0d13107 +IV = a5 +PT = +AAD = 43fe3d4ac1e90c9ae37b7d2af97380545d398d0e038493fc400b293873bd5acc885ba34919676c8f12ba8ad9898951ae +CT = +Tag = 0315ab40f4de5221d8a3e9a2c732 + +Count = 2 +Key = db3015b2cfa17fed63d27a058b4c17b1 +IV = 6b +PT = +AAD = 317f8b4549ebe21de4a90e1f3c9e466f13db68013131091a89b72380f6220dbdbc10365eb74693135e0ff63c3fdb4717 +CT = +Tag = 4e87868c66663c9ee81be6cc1030 + +Count = 3 +Key = f1b44f67c322f377572a6e002ca0fe44 +IV = 17 +PT = +AAD = b5dd802e1846ec8cbc80c0b9ab00b6ff4c2d1f0e5c0ced1510cf726d0bb08c37791edd45ff1a0ef64893c00e19eabbae +CT = +Tag = ab3df5fab6de64c8a23bb34757b2 + +Count = 4 +Key = f6d0bda201db7c02b26636beed72568a +IV = 49 +PT = +AAD = 2cdfd2998698df54ca3a80bcef1fafd83085dac02d488e34c78301e670613e99b78fdda81856c945701ec6a6256dd4fa +CT = +Tag = 610cac39da143405c35183af70d8 + +Count = 5 +Key = 5a23693db44f82e09550d9f5df5ccd4b +IV = cc +PT = +AAD = 0ce4eeee1081ec25b002bba359f326b9e10f9ba1229c6d8416c3c46cf4d3eb8ba6431d4a63e4bb444db02c9f79555a9d +CT = +Tag = b2a1069901f112a44367e933daba + +Count = 6 +Key = 3d3bd59143d25aab037254247c1805ce +IV = 06 +PT = +AAD = 51d9f5010ca03c3602f88f56b4bfcaf122e72608d095ba141aa07c34d2183a9cb5629df97507124db2310e806102798f +CT = +Tag = f018637d615568671e4fc37e0923 + +Count = 7 +Key = c59499c7a8e3bd34a3a82e966a746c41 +IV = 04 +PT = +AAD = bb9a217424b374bf4d15fe26aec8db2a3e436899bdbb082b127e9ccdc9b41244d5e61b3aaa8db7d90924bc3d727f75aa +CT = +Tag = d2c84014bca8625539d925dd4d52 + +Count = 8 +Key = a5be966d7aba9642f1d8ab5d13395264 +IV = a8 +PT = +AAD = 5c9a6620c1dce5cc78936a67b80216d6c67f156362d1ffe9812f83c67b5ee5739ed39315b9e28d4ef9bc99c20649365c +CT = +Tag = 6ef6c64b2fa91ad0b39abb08d7f0 + +Count = 9 +Key = f78225b5079723250a50c0a19de0fcb3 +IV = 88 +PT = +AAD = 30291d26a35905c00e5cc6f03b178419dd776d4b28fa456afe3c79671c7ef4407a3cd54b00976bb1e75369a46fb17add +CT = +Tag = fb67510bd1da2a39f02afaf14bd3 + +Count = 10 +Key = fb84ce425fea880d6cd0ab8bdf7a7d2d +IV = 9b +PT = +AAD = 4ef0b00ced5f9dfa37e1475cc75c276d27222e6e88b94626f4ef41b99768fc7574b373b6d55961f40cd26efdea2039e5 +CT = +Tag = d320f363eb9fd60108ca6a4cff58 + +Count = 11 +Key = 775d7536a3143b9f082dee7ec599a07b +IV = 75 +PT = +AAD = 311b6d549b1fd19c92c291ae7e579f684f248a57908eddd40ad5a2b66962b894da8d74ebe4f7e99094564a4b30a5d833 +CT = +Tag = 54b45f0fe5ded786a67b60f22c3d + +Count = 12 +Key = 5d016c7ed1c5a0ec154bb7631abc51e6 +IV = 26 +PT = +AAD = 4b592942996aaadfa354251576f621945ee0e423fe12168ee02a46c8dd4a3dcb8bdfbf76bbf9a6cb332ed5adddaab8cf +CT = +Tag = de82625428fc247422099f18cbfa + +Count = 13 +Key = 83f28876eab8ca025e0123ea74b9bbe5 +IV = 15 +PT = +AAD = 249a483c0e54bb773478efeeadd136ea460d38beb946596b1b0de813da5d34c11235efaa0bd5abd75fb0ca34e97c1e05 +CT = +Tag = 04d1fb3c537f771381a672212161 + +Count = 14 +Key = d396f5fa5d22e05f01c6e3059a3fed40 +IV = bd +PT = +AAD = 79a48cd6af9050bb6d54569f3a68d68ccae8ad32753135df60889b8691dec527bbb711353d3bf801e81a3704a9b98456 +CT = +Tag = 8f6dd8bea41c523b466ca5fe4ff0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = d676f8e8d5ddcd5d55a696d979eb2914 +IV = 20 +PT = +AAD = a64fb901d3c69fbe3bbb577143cd29e9ad7c310b39a1e63419bf1853d7042425b4539189e96753676c16fca82a3ddbfa +CT = +Tag = e87f91456c2816cb4ef6d1700d + +Count = 1 +Key = 3709f28c9a9281ee7d247b5b72ef023e +IV = a7 +PT = +AAD = 7c43ecf37119fc6a5a5f71277a9bf16c5a1883aec14d28684dcc8626666ad8b024b27168d0d8eabfa8fd4dec69799809 +CT = +Tag = 02384f4270a4073289957cdf7c + +Count = 2 +Key = 76f23019859465dcae284eb0436d4b84 +IV = 64 +PT = +AAD = da9eb50f720eae1f2b0fec3ed8c770c697ba89cabf364899e2ee6fae441e5b4255f3a9d4ce78a4ac9241570bff7df852 +CT = +Tag = abc9194ac882a9dded1569e3ee + +Count = 3 +Key = 206d520ffeeae1968b280fa19ff57a5d +IV = 42 +PT = +AAD = c096523905c1606fe6249c14a76cf30c74bd31cb0c1fc27764e74302fb6083b618851b92afd4eedb5c9b79b2cf2a46d2 +CT = +Tag = 231ef0b30546a73914d9b0f0cf + +Count = 4 +Key = 35f42b1017399cb5435b0f53b4fda11d +IV = f7 +PT = +AAD = 193946e1827b41f2dee6940d8d5cd73d0e8e21647428d77bc66164fa89a88c9da76e1c2999882ac849522b8e30e07019 +CT = +Tag = 45e536825495b793072d755a84 + +Count = 5 +Key = cc174804ffd0ab93558afd411b33037f +IV = 96 +PT = +AAD = fb2cdf9e0bd60f533c0de500dd75358014b99b46cf99318c6a664016532deead0c14e4a0d8a31dc7be1be8092a011aec +CT = +Tag = 2e0b0a62711d17b1e09ef08fcd + +Count = 6 +Key = 87891bad726b4f10e1989d597b3a935f +IV = 22 +PT = +AAD = 57c6212baada94f50b12364a5197a575acd03468054489411aea5bf3fcdc0b985554409d174fa4ed335250634c226cb3 +CT = +Tag = 4f5cc6c2ef2f7863f57bbdae28 + +Count = 7 +Key = 8eef610d80236c8d99ccc4fcd626f3da +IV = 51 +PT = +AAD = 19102f1f493c06aaba7332e7d6867ccd2b3b65abe4c1f7c0d47f8df765781298b5b0f522d17bd293be903ef6664ae7c7 +CT = +Tag = 7457eae4cc68d6eab70f4a545c + +Count = 8 +Key = 3039b13fcb82ac180da81eee537520c0 +IV = bd +PT = +AAD = 5cba38fc706788b5cd8504e1ae4b4e7d65092a721cc3544f20c0e65828195f38b07759f3bee491c11b53ae41baec80d9 +CT = +Tag = 6de7d52f2b38ce69eed09293d5 + +Count = 9 +Key = 88f29e5c46ffb975477905699d83fb2b +IV = a8 +PT = +AAD = c84f220f378a9dabcb6f7b7160f881f4c3d4d55cfa9e3e026dc0611c393b5f5b06f5a30dfc8a9a392baa155100d9eba4 +CT = +Tag = 9d62709eccc113a1b53aca67d0 + +Count = 10 +Key = 20e43fe45d6bf6e3c25f46502899d5ca +IV = 58 +PT = +AAD = 34fe212ee89ab014690d4479d3f89b2d797d5fc886c3839e8715da246249aa32f994bdd375e59ea0d0b556fe9a98bbf8 +CT = +Tag = ca60524bd716611f5dad4e2635 + +Count = 11 +Key = 201f6df2d15fcf0ce6e6e2ce127af011 +IV = 41 +PT = +AAD = 293782f533f359dc2333d99e3aef92e56f717c05715692760e1f741f4bd5ebb76e8fcc39b2fcb9a3be10c361977f5fe9 +CT = +Tag = b4471d9c7844814ade6e5e5c9d + +Count = 12 +Key = 86b1449c4c8ecdf644a4774b61123782 +IV = d6 +PT = +AAD = c18d41ca947ddb98de58f496fb58ad75b97aa8d5305f430364ea478aa18edf0ee832e186a3f8c3b80228b4b257b269f7 +CT = +Tag = 594ce11deae5cbb98a255ff315 + +Count = 13 +Key = efeb78f39e28b16ef9863118e8f651c6 +IV = 1b +PT = +AAD = dd35bb2c1e63d46322b594bd96ad8df574a15aa1eb8d522c84d837f47ac97593980c638eeb791bb0a833f91e1a16053e +CT = +Tag = 7a2903e80eda26c7adb711c967 + +Count = 14 +Key = 796d74f2d97ea545d5dcd6b6adb4f22e +IV = 93 +PT = +AAD = be1ba80de140b773f474f8999238f76cdb8d87b5b60e23bfc7606058da1ec36aa160550760f15f02134a5d1358742402 +CT = +Tag = 67a649b89708348c55735fc3d3 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 9a877c98da094ad1d4d2c48fbdc262b5 +IV = a6 +PT = +AAD = e55e906383101335acda0e593432f0e3c58c51156b0cbf257393d6243808a8e89de22640766fb714973750b1fe407f35 +CT = +Tag = 102ca033a35484861f330931 + +Count = 1 +Key = 0806b41daf423b5985222420d75d82c3 +IV = fd +PT = +AAD = ef00c0dc38a190d9d294e3f93dfb02b771819422cc781f0cabb33a5d97cf09c176c17401f6abbb01cdae78485c2cb363 +CT = +Tag = 89a4f13499ee6575423d6542 + +Count = 2 +Key = fa9c5dccae64b26cb0a0681bc03f5bec +IV = 74 +PT = +AAD = 204f88dac75782ac93ca5053b7d69c73c50ab498970e463ff9b58b7e52b9ee62dce7b2a987e94d72df7a15d1566e1fe2 +CT = +Tag = 42b4e783674ca3934ab7021d + +Count = 3 +Key = 273d5d2993f007e27c323b163ca25a46 +IV = b4 +PT = +AAD = addde79adc94a68a6b78ea37741eeccf4b1601c9db03a136c463def5bf7ee8f4975ab7a78e5d0114cda693461244acbd +CT = +Tag = ba6ab55ba53848bf19e58e1f + +Count = 4 +Key = c9a866193794e3a40cd4b9c8619a8fe0 +IV = c4 +PT = +AAD = 70cc0c420a4be2629b9719eea96a94e6e8ccb2fd7569236ed6897ddba3f7cf60d05bd0bb39acfca6fbc00b96f7cbc7f5 +CT = +Tag = 9250cdc605e3bfab8e5f6c26 + +Count = 5 +Key = f7727736433f24f9d041190aee0a9f2d +IV = 14 +PT = +AAD = 4f945e7283c85716b8784c27922769498016f116421a75ff21fd49d9871019be9067f9842d8ecf247263bd1141967d0a +CT = +Tag = d460656d00524126ba042fd5 + +Count = 6 +Key = 88ddee8af93418f20ff0a6abfbbad8e4 +IV = 75 +PT = +AAD = 8d155737e06d8283b254dc914530ad1f55d53ecce5576eb7cefaaea7ec9cd32c874e118317fe04d9b4efbcf1e9a8bed1 +CT = +Tag = 433c6c3bb157f7e8d40b92a7 + +Count = 7 +Key = f505812f9bab5984df5268a4ef6c875d +IV = 9f +PT = +AAD = 5a879a6a4fd6c1beb65a9427863ae3e16e43957e2c44152c6c534d20fbe9a67e7051423f48c922240c67a2362af939d4 +CT = +Tag = 22049758f9bace17d41d73b9 + +Count = 8 +Key = 7429ad54c2ccb15b9c37681d7a30e69b +IV = 85 +PT = +AAD = c0f142b2fca3b9f901cb20646e9feececa233222bbe612c9660e39f801b0e788dd935ab433477482920aeb85b915559a +CT = +Tag = e7eb8f9c49fc9acb4862ec46 + +Count = 9 +Key = fc605a91115beb396c6a5444cb86b781 +IV = 84 +PT = +AAD = af61efd112afbcb26bca8c4e127cd05913dcc93deba5b6035e70e2eae2797d454ba15731efba8fc51f7bd669d138611c +CT = +Tag = 624a012fc274edc430a62099 + +Count = 10 +Key = 5a5aa16482d018061a375ae40d57a9c0 +IV = 31 +PT = +AAD = 8c0205e28c0b9705f6ecfa7a4edaa364deff0793765b650c6398bc6f4a1bfebeb24dff0951c3988aeb87c1a1813928ac +CT = +Tag = e9b4c4d77dca61cd6d416cd3 + +Count = 11 +Key = 5e0a97e318635743fece8cad34219f8a +IV = 26 +PT = +AAD = 0c9009a987752078eb9eab09836df68b6d46bda6ee62dbff160446516fd814d6daa7dd5eab0457065342eb9385db123d +CT = +Tag = 6acda32483648e7c806ed337 + +Count = 12 +Key = 2420cdd60f9d148c6855a34081647604 +IV = 5b +PT = +AAD = d8ab7186502a32a7c08ebcd7d2ce9306cd378ac82fc52c78a4e63f71c11fdc784af0e5e6c533ddad75d249958e52b59b +CT = +Tag = 76a98f7a2a207595076eff21 + +Count = 13 +Key = d3547dd3e1cc0b8fb830c953936becf9 +IV = 2c +PT = +AAD = 333e7f2e510523c7d25cc932cc660e498fe2355b9a9387377bcc31b5ceb7683f93219ebe60f531f015b7c77bab9b53de +CT = +Tag = 5bdb66a569e578d12a5ebd66 + +Count = 14 +Key = 995226be59ee43cbe4e9adea23604b50 +IV = bb +PT = +AAD = dc0f6f0bf3b725d5a11d32e8470a533755c77bc44359787accd7c2b9938108c91cb27bd64abd32511085b2ac62d3aeab +CT = +Tag = 0effbedeadac9755b9da9d4a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 34a3446e43c37842b68ff85114c00dfb +IV = 83 +PT = +AAD = 7f11af44d3d0f20752eb03727dc045653a57a0944762fd8c770da6b6bd1f91ea504ff77c7521d2672e34db6b2476ab53 +CT = +Tag = a632bb21185076bc + +Count = 1 +Key = c7177f5a01b99281abdb40c301291c87 +IV = 11 +PT = +AAD = aa04fa4860a2649dce60f6e70818c0234969a7fd3cff18e6e5568ea55b5f8c95c4902327a8ee5d98bb48721ecacee04d +CT = +Tag = f2c8a74ccb671d1e + +Count = 2 +Key = 48580799e2808441418980aeabb5ce54 +IV = 76 +PT = +AAD = e0dc2b983d5d18c611b083473e2674c919f4140d9be0672259de2fadda58dbe4f8ac00bbe361db87acc34d615e856868 +CT = +Tag = 737c4942070d3dbc + +Count = 3 +Key = 8b38af1a1d2fe5df81e2b7b57d95936f +IV = 91 +PT = +AAD = 0eccdab813bfb42a83d724d029b8fa238459e3a4ccf391284705699a093e542c5d8c6d38c88834128a3181c08d25020a +CT = +Tag = f5f230341309a5df + +Count = 4 +Key = 4366461b5b4bb714f651555b355472e5 +IV = 10 +PT = +AAD = bf5e767fa01d716207be84cf96f2f80e3327560936b90782eddd8e8527c82b1dc74ebda4684b99edc08ee7d669f91344 +CT = +Tag = bdc9f5763dc04223 + +Count = 5 +Key = e857464a3446ddb4d3b60aa47b4ef9b3 +IV = 54 +PT = +AAD = 1b573ae76f507a7493cd65a6281bd1755deb6f5186998e644af46b4868e7e7b830e8b1d67e7e14323d9b335033c53bee +CT = +Tag = 1e918d57e5bc43c4 + +Count = 6 +Key = cc58f385c5a2c886e4bc6392cf7dc2a5 +IV = c9 +PT = +AAD = 4b6407198ad85a11494a14e1211a0cbd1c7b2d760d8bc8a48c7c04a4d58f47d5af1468f0221afb3a2ebb8585828f7048 +CT = +Tag = 0c3c5ea51451bdef + +Count = 7 +Key = 4ffe0913254cb756c59dc1fab67bc8e4 +IV = b5 +PT = +AAD = 8b79b99592bf81720f2b0e5b226d0fd253535b6721600d3e6146ff4cd92ffa0c873c530edade63c3a18c62596db78bed +CT = +Tag = 53bb5a5f315eccc4 + +Count = 8 +Key = 40f412d9cf3499c7cf059e7cc2339e0c +IV = e2 +PT = +AAD = f28fdeca57dfb517901f17e3a586c9a528e79e9bb6569e5833a9a66fbc2b813a14e28b6e8a4f58d2c15c6b28e546fb27 +CT = +Tag = cfd42be516da128a + +Count = 9 +Key = fe0bf8bc46741ad56a151543d99c3bd4 +IV = 50 +PT = +AAD = 6ff0071205097c046c7b98ee66f07d45bbef7a1a92dcb118f2a7f8af4befb5561d54c91f8ec15cca07cefbffc0ac1d11 +CT = +Tag = 2340fb5992600a47 + +Count = 10 +Key = 5311636a2df87b2a7ea4f90c8aa5dee0 +IV = cb +PT = +AAD = 35200e42d16d84d9b1828fcfa3bbef4db7aa955f2b3ed8798670b660ef8e488edf5d59b9f988d3154cf670e50c5b6bfd +CT = +Tag = c4583364895ad957 + +Count = 11 +Key = 697f58c3cd3177b221b1fc5c9a3c6b9d +IV = 54 +PT = +AAD = 3187bf2c2f3f5f5191734f4fbca5ce372c1659111b262b5e18d373209685adb3f623cd6d041eba237362e28142193454 +CT = +Tag = 879a6b5ee76aa749 + +Count = 12 +Key = a5e032fae01623319dbf89b37da2953b +IV = e1 +PT = +AAD = fe9797972fd7a6c8d482ca353aa05b3df2179089f01c3730e0a517fe9d86d9e04f835a14216fb41b78d7ff3a2345b2a4 +CT = +Tag = 5c7b712e444859f8 + +Count = 13 +Key = 48ea783aa052ea60115fcd83846de671 +IV = 70 +PT = +AAD = a5adc32b097a80abe8101bc4cc0994ca5d5c86bf879ffa4fb678eef11948848a8a1da5fa45dcd5c424ca808310865a80 +CT = +Tag = 4bf499373c540d93 + +Count = 14 +Key = 29345c345b94d65dc0862b5c1e579f52 +IV = 38 +PT = +AAD = 8d4fcfdd22c13a959d2d8eed64714ed602a90ad934c4ac24f3d19310b1771dab279cd959c0f29058bfe350979c2f5701 +CT = +Tag = 3f3e12cfba923260 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 5c0a3abf19bf986c5ea5c14aabadb169 +IV = dd +PT = +AAD = 2f376464c8a012e61d1f1621cea5b4d159c89674491248f137de07aab64a4e2fec0f1552630e1b0e7a8ce49ead87ccf6 +CT = +Tag = e1fe27bb + +Count = 1 +Key = 642d538c5189019a2b53dc6ec4a2b4bd +IV = a0 +PT = +AAD = ba0208203bd5ac9820a657c9ae191b8a503143a22cc74fa77113fb1a5767ac2b28b7f4ed259187393ea145e371fbe5cf +CT = +Tag = 45042937 + +Count = 2 +Key = bd2638142598d1438e65a409238f9be5 +IV = 7e +PT = +AAD = b96954370f05bf4090679bd50b569740175fdf5608bc1dfb45917750db41841f7093c1eb4dbe56a845dea8cfde66bdad +CT = +Tag = 51b20e14 + +Count = 3 +Key = 941a64ade55a0d8df2ee196623f0e6f6 +IV = 5c +PT = +AAD = d0d6f05e4da46cb961055c9e79d88ce50daff3606c11fb5c2da41901d8619c409e25c7d897d2bc75fcc1effd04e1fca5 +CT = +Tag = 01f7349d + +Count = 4 +Key = 76bf0c4db63674a601d62072026fdb56 +IV = 7c +PT = +AAD = 75e45f9543a016aef3705fc25ef1a42593d3bad85893b65664b523eb14917f844d60efcb871df1b52a0a735bb636914c +CT = +Tag = c5c29b49 + +Count = 5 +Key = ed149c79c7761c831a51a32535a0a3f3 +IV = 1d +PT = +AAD = 387b122a2e149b04319507335e701da2b2c4a8f8fbd2fcfe9e08b6bcd5d90c469119cd22ee3971109be4a1fdcdd64ffb +CT = +Tag = 5cbb889b + +Count = 6 +Key = 77144513dec6756af76147e4ea8d98c3 +IV = e0 +PT = +AAD = 90c9372e7c4856deca9a3a0b0f3d65bf7fcd6d281db738a8b5be6c17aca18e55e4902c8605de93974b3bce65fa9a98a0 +CT = +Tag = ba4a89fa + +Count = 7 +Key = f7081c9d519a05bbfc3ccc6726d154ec +IV = bc +PT = +AAD = d9420b80b7d0ec9c7143f996cb61ea3b8d8725587744105aa8df10b22c76cf1d72eef8b36864cbee60b8d328a45e0a77 +CT = +Tag = 3e07a3ba + +Count = 8 +Key = 3ebae65163e444f534ba39d7c2f71c7a +IV = a4 +PT = +AAD = 52cfecc8ff2f70318229821f13facbf43c3b1ce81fbcd311a1431c9562bd25f1587d4abcd568fa38d584dd6ddbb758b3 +CT = +Tag = 73e8bff5 + +Count = 9 +Key = bc01761dc594ddd21ef1f46b29bb9de1 +IV = a5 +PT = +AAD = a6924d714385332d47d227ecfcffa232036eaa46e6211b3bd2805cf7ae0adaa883df296c7b16961779ec2ab1093380eb +CT = +Tag = 9f45e851 + +Count = 10 +Key = bf0d019b6b76a1ff1cb5835c9c8e8135 +IV = b2 +PT = +AAD = c3b44dd6f1569367b17f45cc568645315af0c02a53193646a3a162133080f583a2c3281e810ad4a591c3087a0dc01043 +CT = +Tag = 6de7bc65 + +Count = 11 +Key = 1a0fd2018b312fee35d7086dd4ed8dd6 +IV = 14 +PT = +AAD = c3afdf0417f21d02942068e1763c545862fe37d429eb5d8d04142b374cbd78c534f1956c5b9fae5c6efbb26ae8855532 +CT = +Tag = 9a36a1f8 + +Count = 12 +Key = 7acbc4badda571bd96c590f0aeb434e1 +IV = 35 +PT = +AAD = 0c7c9c9d9bbba4c93094edf8214f2bf78df198d6a284260a42808807851dfbb344bb889db9bad402921e61bfe0dc8675 +CT = +Tag = 3a9942cb + +Count = 13 +Key = 301c2c6ae40c62a8f5dc05e8c2df7b1d +IV = d3 +PT = +AAD = 9cb9b2401f9b82a4bc31fb62076712fb2ec97ebb57229c4e079a34b655e5ffae60c790fde0926ec6936545545d071d8a +CT = +Tag = 945f9c20 + +Count = 14 +Key = 6165ba8d8f4d835c9e9d18cb41063a4c +IV = a5 +PT = +AAD = a338f643ec1c8398c4e010b8141f056fe1a718bb34029c2c5b1757e5b3b0f8a618736d2ee511375d74da3dd6c02d0f59 +CT = +Tag = f1167be2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = ef2d34aac1379529c46246464fe45060 +IV = e6 +PT = +AAD = f5067660484bc84f90b02bd112936144c06a1310178533d4ab1b0a4d8e99574fbd54b136f7e806acbb6225b03c0a972c64ad1a9797c802fbab13ae580c9aaac28405bb16ff0dc22ec331127c5d0080c5adc09bcc972984b53432 +CT = +Tag = 82213b4c67cb04351fb1af1f051f6360 + +Count = 1 +Key = ce38135282c01438dedacc8bacaa7ba6 +IV = 42 +PT = +AAD = 2131a58f4aa1287a5bd43a072a8320b87dd916b7beeccb754ee1516a7029d21c78cf3c8261f1f9327319316b40f053000c4cb20cf9f3cfdd4f25fbeee703ef11765d617bf307cdbf4299aef0a921bc5a84f57fddd926b161ba7e +CT = +Tag = afe35ac7549c62be52a65e4f3a50fba7 + +Count = 2 +Key = 1bba03f0f74209bb08fd950037305168 +IV = 0a +PT = +AAD = 5e7664cf1b509ffe84eb71e9e136ea9d205b93db309c9126bf6fea7ab9a518ee5840d7c2a94c90537d9f1c42eb2982015766c348a4ccfa0e2ece86284188df9c6501e630acaee0f80a4ae7722f809df029d5b538b7cb49f0de3d +CT = +Tag = 42d14cb29884044af933e750a0fc36f8 + +Count = 3 +Key = b8c70a302e0674664a598fc7defbd4a4 +IV = c7 +PT = +AAD = 8864a722350ad51ab49398154140ba97f1183f426dd1348d91b7088ac5f46b495ef8ad85f7877502ac722da82da51121d0363ae6d6a37260a20aeec70d46647c486cfffd18679912d63f2775c90e57bcac4886e002bb1d502183 +CT = +Tag = d2840e25d135d3f8aa01acf60b058bee + +Count = 4 +Key = be455e8f159d585e794ef9c13e9bbcb9 +IV = df +PT = +AAD = 3e0f7ed0c381184d51a40b6976b8c5e91e95f07f9b5188d0945d5fed4fc936673fbc1a654550057c8e68643941cc4b550988635461a506864d4a382e1886662c2be7968d10729db52ad92c2339003afdb2dc63adb12b57f5b8e3 +CT = +Tag = ab2b1a61ba85e776b71d22c24ce272ac + +Count = 5 +Key = 3b45d6c2da11194dce63e5e05ffadfe7 +IV = af +PT = +AAD = 1b76edbbfad8ad12b8572a04c6cd6283c58a30dfaf5813bd4d0095124eb1da1f5d39888f853630a0d5ef7651d0191ffdea5eca4b502e53c94080a0819cd8f3d009de6f8a421c3021297ca1c9650d69e5dec18f9f229d264db5e0 +CT = +Tag = ab142a871b3b4c078af4180c0cc87fde + +Count = 6 +Key = a845bc25e2370a1622b900eb4c764bbd +IV = 15 +PT = +AAD = 870d7bc40614c49a4dea65bf3b6f2c7a41ecdd4f7d1e2eacaa7ff23cc0b02c0db5f49b44e0db9929e0040b2023d47205eb6110cb97cc79f53d307e2feb56d9ceaad69e4b45dada491ab23498ddabf1da464cea61334fa1bc0995 +CT = +Tag = 098e16bdbbf9b04ad06cb65a7d43ac47 + +Count = 7 +Key = b633d3143c513b7f7651a4671d0a958a +IV = 60 +PT = +AAD = 2f9aef154fdb4718465d1fed3dac5e603f43c125db2a60fdfcd008b6ecfe7d2bc2eba3db7ff19d714a1430238b960d20241f91b55740949bcdcc99c405664bbb9765c8acc8e3065376a261d76e970132c02c56f6e7127803c770 +CT = +Tag = 5d855e86f9d853b9a683778052a73d4f + +Count = 8 +Key = e4b5f77fb7a806ea96f4dc17e4f97603 +IV = f5 +PT = +AAD = 497d71dadf7268c0439b8c7c83b61d4f3f78880a181993607f65e364e0370f71add8dc91fee63928e5dd222079547982723ae7a6d1d4edd8e837bb13d1a5ae0821b5f209555d2590b4301f3c9ba6a374e819f0d3acf7f338ed25 +CT = +Tag = 087a2c4f43aab8577ece772170e7822f + +Count = 9 +Key = 82ffbc1229c2f285fb19477f1b47ad61 +IV = 1c +PT = +AAD = 418b5aff1e85637806b68e888ee25dc011cc9ad396180e0bc428665612fabdbfdc0fbaf988d682024f51a925bdd8d7c2c9b9c0a0472ddd669df20efefc0776739457bce3495f1e01c6812dbc3f8b65c9885fc83cfdfd771ac317 +CT = +Tag = 4bf7f977d65fd24a6d95dbbd60015a69 + +Count = 10 +Key = 40eee89696f1453786f10b453c255e60 +IV = 9e +PT = +AAD = c71562e99f13f3dcab7d549ba2c106c20711626e2130060e74a35c0ee06ae13721ffbf79b72abcf74f979d1d9a4c26c441e3256efec2b6ccb8df8d2dbb471829c2b1bcfc00ea42eeb7b49fbcda3c64acb8fed54ef8c0c2a3036d +CT = +Tag = c8ec65d08aaae9e1dcdc60576df04ec1 + +Count = 11 +Key = e8a221c93d9d0f56dc0f7880a410b4d4 +IV = 81 +PT = +AAD = 32c05c4cc84096904b587c2725a8610d69a5f012eb41add56422fdb49daa178477ea8df380a15390b2bfe913e443488f1873e5dd64307a949d72fe70bcb7621786d05d303adb66578cba918553a9c409f0a5bae297dd350594ea +CT = +Tag = c615edb822f8017c9a48de9073acc954 + +Count = 12 +Key = 69c54d746b5c0088491d3dbdb86a698e +IV = ef +PT = +AAD = b3677bae53e7ef9964624c6f4d8de6a55b3908363a35eb1790fc7cd121505057d8adfd6de5d8d04fc3f75e23768d4464e8fc443efb1dc2d7bb0fbc6eb87d8d43b1dd244175549f147f9836e5de34071e30dbba358d235505adbd +CT = +Tag = b9459cd89701374a6ef3df6757cb86e3 + +Count = 13 +Key = 3b7172d91b27af362577682ccae25a84 +IV = d6 +PT = +AAD = 37e803721995ae886f7d94f84ea3e801e850ca28bea2b6c3179c6bc0b6d8272f72850ae760d2154786eebfd3ca6c108b682708998c3cbe6e80701f414f151fc8dbab913b3e273313918715ec4c75f0d3fb02d22b99fb0682ea34 +CT = +Tag = 5fd7c550e55bb968dbc2bfbbf19cfcba + +Count = 14 +Key = dec0ac310a6d6182e2cbdae84a60f2c0 +IV = c5 +PT = +AAD = 61d17296646b41b9429f1269ff73525327a26e685bc520e9ab6e6ee34ef7f5d4ce644cbde4d7f8ed2d1138973e707fa063150a4f2e1048fe4e48b26977ac99e273251b5b677f9237ec8d44e9d0fa8fc32840a787984bfc758eb8 +CT = +Tag = a736f0c7fd88b0700934c69d95963127 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 9adb3c1f69a9e66159a04dc14450ce21 +IV = 52 +PT = +AAD = 5fe9822a78cf289f0f48c90805afc9c54055f90b6887e2627576db00ab5d4c48518402bbe995514d08c139fcd8406504f2df9f3b9ecf2157a1fed58f50c550be6f0c0d911a486328c54af18198c53b37b8bd52c5f90e0ccd4253 +CT = +Tag = 944934d048298809bcc2301937bc15 + +Count = 1 +Key = c583dcfc237d966612af0dcdc0aa40a6 +IV = 03 +PT = +AAD = 37e14af5b4df5da6b488b06d3d65ea82d436d46e98d6409e437f1c6c9ada3ab41fc17af190de1943084e19fe87d47e5fd4e34f2f8f3cd7acc8e91527e92cc831c8e4118d01f5d53f2b6ec37b842c232f8923d08bdd82e77f2429 +CT = +Tag = b9fcabb4ba531a4f1296a4df215179 + +Count = 2 +Key = b8a9e630112e6686681fe4dbddee78f3 +IV = c1 +PT = +AAD = 4bfae1a48af80b5bd843f9a6ac314e6e50c7fb3758b91c4a8a844b61d5f75d48b7e862144e320bcbe7bb27de4751080121fd69082a660b23342e4c8e9d92586cf9393b2e2a6df9c01593e58efbe914bcfc8a8f2aaddb1836326d +CT = +Tag = b0db8c4e8290bf68b5cf36cd868f01 + +Count = 3 +Key = 0c364df56a0f158843a03f1b35915062 +IV = 34 +PT = +AAD = 11dd3216e93615f6c5da90be85fb6f0a8c1313509272748fc8ddce2b75e00ea83d6e8fe3f5a94d81532bbad589962347873751eaef3d145765d8c7d24153da9eb185f13fcf158d737b025ac875750e48b82ff301125b51017d56 +CT = +Tag = 45961740e4c176b2b0be5d7c18446a + +Count = 4 +Key = 03e8e5139f387cda6f59976e35378972 +IV = 44 +PT = +AAD = fa0b6a7975164ca009b636aa5a73682ad5f0f3f17c531177fb64ed9d5f5b92e371a677daa937236398dd6e2945d8191c8d4557aef45e3bd59a9d7e7d2b73544b2ad45d5182c204017cb9f10233db7322770ee3fcda4ff479623d +CT = +Tag = a6ddd696305bee1bf68e175d68f6fd + +Count = 5 +Key = 748062098886042a04f2d6d2faec731e +IV = 4f +PT = +AAD = 62387c794c52d96445b177392943eccfcfd5413dbb8429481265e8e7c7f7b99e4155ae816de40969e78157db25e204df6de1361b49e2928b8a5bc8408bd0c832240f1b09e4e4f09e6ea0164d5322ac606b894ee8ea509067c4ee +CT = +Tag = 3d50f90093002cfc44e2bb840cb0bc + +Count = 6 +Key = d2058df23b23b92292f7ccaf9ae657f6 +IV = 7b +PT = +AAD = 66039c91881ce8d4572e5aa1d1bbb9c06496c86a66aaebfd08c7bdb3f4a06eba68a62325c083a487ef965d321c8f100ca6c5f43640062564b9551950b36fbbbf717222b24875b5e18b47c404b02d3b6f0ac0fc0be3ee970a3e65 +CT = +Tag = 701c92e78b570b6625983e79186e9e + +Count = 7 +Key = b535f172de8005d78a2b2ca80528f443 +IV = 22 +PT = +AAD = 16b34d05f09a6af931b59e4fc1d700025c87ec2f2113e11f06a505408044772bd11341c51a62974c7d7c0a999bc2be953af390e0049a4c3b1edc57ff2fa9890eb6e4dde8e3b81ccebdd272515d6e098e5767211341103e4a6e32 +CT = +Tag = 0e9a9dd25a3bcaf35e0fcbaa105cc9 + +Count = 8 +Key = 4fa21b4b416c557d84a15d693c408a4b +IV = 0a +PT = +AAD = 58777dec3a4dad898b7e552d67e14da257f44faaa5f49a5d6aa6272234741a2468291204dd7366a000dac451a45e89393eedaeb7cb797ff06a11a5a82cdc3c9d0c20148452412846a12b4d5c1e21fef5ea66f71ae84fca168b97 +CT = +Tag = 12fa052c2deabc7971fb5407ab5ccb + +Count = 9 +Key = 879becef70a1db7051b0daf1df02aabc +IV = 37 +PT = +AAD = a1c276e37d1a8d5093b98bcfbe32a140164eea642d76ac6b80395804c3a799e8a7105d3dac082abbfdd6a9556d3c9db7ba148d22076dfaa5eadba4137599332d2e58d1475a9a4da99cd69adbd7d533b1404a9f9599af9b360399 +CT = +Tag = 8d7298f6dea1d35ef503f1ac02f175 + +Count = 10 +Key = 6a2cb4b56b25632f3caf22f8f77cbeba +IV = e7 +PT = +AAD = a56bc343806cff85f5046bb6296160087954241c199125e6acf668db73771f67389a67384b06fad1db344e6746a1193470d77c2e53ad513b587ac669463525537036c4e3e23efde02d10364afafbca34c8de58bfbca3856a4be4 +CT = +Tag = 39119a140eb74b24778e3d60a59813 + +Count = 11 +Key = 40ed20e199aa4a8503c3ac776755e19b +IV = 1c +PT = +AAD = 77415abb1f6c1004ee3fb9a27f4088b2d8f2f93a543c9f4e7def5224410d3e428d42b6283fdc0c5f74f7044ffa92e49ac6311b1eaeb16d7b16f79470e9a9709369c03c7eecb1cdf83a9ca6f1f298089d8d6bd93962a9556484a9 +CT = +Tag = f007b674494243f58eedcdcd804ef2 + +Count = 12 +Key = 6fd5937f3ac73961d8343704969017cc +IV = aa +PT = +AAD = 84bdf1a5e30900238b5d4f4450e61e5d3f6df93677bf100adaddcf425bc3fdacaa77a691b4860023340a49a4f59f893a09e29c392e1ad73b22e6ebec07b3124bfb6652e79f35ba261eb85057c5c3d8db2f43e61434d53c2b12a1 +CT = +Tag = cba35ab4e196d54b5dd8dc11480f4f + +Count = 13 +Key = 50c110fcd3e166a24e2984b99bb2b083 +IV = e0 +PT = +AAD = 85308f959ea819dcbbf803b06705e6a42a87ef8ef0f3691b8b33e643e86507b2a1c7a69aafeb8488c95fc4a840dda68ed019ed5752096dff58c435eb93c8bfc465dfdbc7f8dff21141b061afa486611fd5837df75abee3ac45d0 +CT = +Tag = 588f925807b69526b522e7fc6a58ac + +Count = 14 +Key = cfccc6f16e4f4ab0e8b53029ebb58ed5 +IV = 62 +PT = +AAD = 00c009601ce84a5cd477c9e488d38a82afbb0d6976340d7b5c9e27388638c8bd7f396fa628fc4e94cc48870e44400848bb08a8f29243ee7f0211ce60ebfc0804a77948ca333fc0f791a88dc31a004e08371c776ae2d7834f410d +CT = +Tag = f2c79f02b4821494f5354507f9f00f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 90b54f34d80edbde60207578ba3a8542 +IV = bf +PT = +AAD = ec70ee1cbd82c4c4281dfa686778a6ed67d6f6287ce40c58513f44591234237074e4fa3413154b4f06a0649bacfc96fc9d3a752343562c782228dfa0db97d3b53ad7ef0ea5896a91fad7e0082f7920c11e527c85327a12ee17a9 +CT = +Tag = 8d0f3d76e5cd2d0f285e9bb47e13 + +Count = 1 +Key = 41bf1d6612b6b57cd4f1571d5e8203b7 +IV = f8 +PT = +AAD = 8dfe7b438a7be44b666d51cf1dbde446047d3104de8bf655610b13b67d749f2e46ee5b6268e01595280d16181aef484aaf5a9461ce7055d5dd1c1678b28fa33a05e5299b29e032ff94d1427b2fe6e41e708538e0387faca8e8c4 +CT = +Tag = 5a301f2c580a3e7b1295895332ee + +Count = 2 +Key = 1808949c14463355fdc2e257a112b47a +IV = 89 +PT = +AAD = 2b8c6fe936aee27014ed3ed43bdde022240a4c7da2db45942396d149efda4ef9a4ac95c1bb76c9848b880addcd43d2a419dc6574cd5702e7124a9045a21cf6354e57867ecb66f68b7e6da680afb18fd0913419114d1aeb2b4c9b +CT = +Tag = b391710f03ecd5cc5894a670c778 + +Count = 3 +Key = ea8e3cb2e81a56957dc094ad0ef063f8 +IV = 64 +PT = +AAD = 1ba15a483aa3adeece82869208a6a4f60e88b827d2e133463aa5e003d015cd8a6f1635b80e03f51564d9b6ede89acda2c198ca7f3d1b98500ad5f9c69e2ea0286e6aa3d5f34c235663c67dae2ba9bb7a490513ce3e2b50d73979 +CT = +Tag = e2ce9c13cb0f68a6fbdc520a15d1 + +Count = 4 +Key = 72cd0fbf5ef0e80ddb8b2eb267cea2ac +IV = 67 +PT = +AAD = e3b8d69c62d36560e18deb15b2c16f82da28490e3a74a3d1a924e9a3fdd58778521ca32a532090f069d732b970b429d5bfd9ba73228a43e03ea1f041f542e38c623280a30b43224eee861a4fbc6d21930960d50df10016fca200 +CT = +Tag = 6c3b5e6e9cc8fcc22ab0e5ac02e8 + +Count = 5 +Key = a94288b37a30d0f06b2a64a9ec64deb5 +IV = 80 +PT = +AAD = a361b4193e162653626c428a0a537628708a58692f2527c4392de7bf8823307eab3f55e0e817558296836efc26da95954b9e06de909698038936109b40884c5028dd904fd89d5d24e466e792c551a39af7b9c5f6b0df56b7af92 +CT = +Tag = 1acec8d94130c0d653c632f4269b + +Count = 6 +Key = d87c555008a09af03b3bdb94b18d2154 +IV = b3 +PT = +AAD = aa63032b9ad43212f707adb0bc1a9a5390cdfa33973142d6387ecb3c9723b45a2ec4e9f0c762bc8b5cdd53bba2b060bf4204c0012f6f1ec84ed4bfdabd06a285e5b21274f02d84f99e35ac08de1f21b7e84ab39baee10b80c1c8 +CT = +Tag = 6399d1638f801b57b2c08a7199ff + +Count = 7 +Key = 400df4cfbbbebe23dc1af02811272006 +IV = 75 +PT = +AAD = 01dd585173b19bc511e8dbaa522ea32528c244920d7aa0d1db7e7939e81af0ac18ff57598cde1d74478e16ec15203e685a8b4b47c50f39c2a6c5638054c971f5f59cf03ab96fe5f697854d8f4eb6cb3c775efd6d0d8b7709a0d3 +CT = +Tag = aaa4b65daf99d6e60afa1ef86192 + +Count = 8 +Key = e4a6029679728ee788985c5cd612648c +IV = 72 +PT = +AAD = 8665a7f0f3bc6ddb60aa90209c5d3dc586abcb054ef3ef5498da06c385657aa3a683c32a8e6e17bfa81d7f3ba72bb8b85c3bf146732139d366d67318db58ea3a907fc105159ec9907dde10d9de82d782396ef745436c2833daaa +CT = +Tag = bb35456803ec1f403345fa2745ca + +Count = 9 +Key = d7079c62ae6476edff2699c35f5189b7 +IV = 1c +PT = +AAD = 8979c22dc4df0c4f1f2540e43d98a24aee1fd293e2d2e9c29c212c702f517081f7d0a7e2a6e73a93a2991500a8162a43581fa2d5322a337f86b17458a72fe9864f86d92c7424302481af96b9293562e7676e2e0aa2d941cdcf7e +CT = +Tag = 028eac8dc1dd018fe613e35ba509 + +Count = 10 +Key = f9d68071db0253ab86fbf91b304fbab7 +IV = 95 +PT = +AAD = 2cd88ccbaa8f7c3b2fe2f903d06bf4387f30b13b44f089056e0419d047b27a1a3b1c0ca8cff02b907d8219fb18f2e043c9665bff959a6d158664ff139b91da2e5e06c481f55376427d7718c3930c041cad25a89b2bd52d903c28 +CT = +Tag = 76bf59a18e41a455874641042e39 + +Count = 11 +Key = 7c25fe2ee31d946d20bd1d2b33060708 +IV = 54 +PT = +AAD = efe3903d604027887aa27e8fdc15699babb0747f7363f5b642c8bbfb08628ff0f062c598afac8fa930c0122295a955d3ea80e28e3e48ab0db83ed21de8496783a14b4a82e45c568a37839e6af4e9f3430bcbbf638a09caa5c2cd +CT = +Tag = c0fb9172ccdf0efc58bc03af07fc + +Count = 12 +Key = 60bd772fabd28d1fe37b5c73c078bdd8 +IV = 51 +PT = +AAD = 20d427c0da6d67bdbe15a3ec6097410096b5a03913388135831e58a5f6f9282e0615f8b45be5e3d7350c28184fc6c0c55b7e7743661ac6a307def67888a0b7ea32950b1f902b7b03a08bf4e7973e74ca67cb88c19edac474912f +CT = +Tag = 43b0ca6ef91c8dcdff71d12051c3 + +Count = 13 +Key = bf00a897fa50a704a67d37962bb4c13c +IV = 5a +PT = +AAD = 5909c954bcc8fdab6306920eb2f13575ad849131112c21f41d06f7c8f3518c5927c8f4502b6a40a062a0afa506277c8ac4b39c9480f18a1f67c6f13a8fb22d149903ac2bee97ac2d46124467aee7c16bc14b9ba49d5e5868fc64 +CT = +Tag = 5761c978c068ad766c6018f477a6 + +Count = 14 +Key = 8d2b5e43b3223e81f8885fabfe545bc8 +IV = 08 +PT = +AAD = c33644df47f6af3de8c1e53bea3307fa6b97eca6432af3c7d870b0f72049b25cb4a36aea03f06342bdad8b8db96b4ad5de5fe014fbf7c47c3c220e3a95b319b0de41831e140aafa304bfdadaf371274dc28d96c01f6f60b5f9e8 +CT = +Tag = 74a3494a3f649347c0263d025b35 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 847b39e12e7ffb8dcd7150040d52fd94 +IV = 50 +PT = +AAD = 042ce98a9b5ee2a3c2bbc25926bd2195557ff792261e9ca0017da07eeb0c45c6ade84a4ce7f481a3f66e7e01b890d34cefe30efb2bf64fa84057722e62c65d323e4e2d6c5b826991d2eeee690f4deae628bfd7c6be48723dfdf8 +CT = +Tag = 12d9e15f0c719aa1d1a10ff53d + +Count = 1 +Key = 23a8734db44849a6c1695187f05bea54 +IV = 96 +PT = +AAD = ddd5b4447804008a53c89c62af9c205b549ce95139f2d8b33635238eb30d7c5d42c141faea74cd63853d29457127170efa9864986a86b184cb8ce4b9ba6a5494afa56de88abab76b603d68bb03e870d765df454a27a4fda68d84 +CT = +Tag = bcb4d848a521d6c80454610fe5 + +Count = 2 +Key = 23757115f8790d73521f16551bdbf8bd +IV = 8d +PT = +AAD = 43b5a402bdf8f55bacd3b5fb29d52e64130edd2e6b1dcc187ed23897c124ce69dd5eff262b41e04659349a7f3370463d6a4e47d7fe3b53acb2f34cec321e56ed450c8f01fb82a76e99ac98f2d12be4bf468e033eeba76947802a +CT = +Tag = 8df898d57b173452684d729ef7 + +Count = 3 +Key = 2885998dcae666818355ee05ac3e4e80 +IV = a1 +PT = +AAD = ed619ba1e2879a7939ee80685d74f4c42814e128a4c2695ab6eeaae7059e4b61011465d11eda5b4476bfdd42f9c3d0396a4d8e1b4308c20ff8edbc7dcf97a9ceedc980385f71d5be5444ebcbb4b920c96d1ea5f7e981ecb7d3aa +CT = +Tag = b456b7dd5d3b315879bbb64ca1 + +Count = 4 +Key = 2254d880a7bb604f936abd01e502b3da +IV = 7c +PT = +AAD = 930388a9b1d1cff4568e3aef38637e5aa79f340c10e475ab1078bf887ecb3d908cbbd4b96e081d23d9061b47ae2af5bde1d7417977e84344c22f1e7c9c9ca125ce4899f44cc297992236ddb15b8f293c68ea1890006483d502c0 +CT = +Tag = a6cd0f30a5c534c362db01ace9 + +Count = 5 +Key = 589c6d05237bf854e2c682f1ec29e101 +IV = ef +PT = +AAD = bcbd9caaa177b60636d4ca028d317a97fe34fb041a1b54165be6b1f298adb9eeadf999f48f16a7d6fec9fb7e1e757b73e458c22be192aa7f8025b2ea343ee1e5348c1c82b811ef1b0a01aac2d7ef665a0ee37b0ab17f0edb206e +CT = +Tag = 1a8fa9844335d0f266278d2bfa + +Count = 6 +Key = 41e00259b34654ccf0203dbe7bc17747 +IV = 09 +PT = +AAD = f8ba1328cfe79e90a3653c06e99485ae40c629eb1449b1cbdf4cb70bb50bb804bf2a4e6f5ac471c1d1882ac2ade3cc8dcfb232174ad71fa7b46f43a2cd477d21574cbca84d4db109e6c6da9766d332bbef1544013d9d830eebd3 +CT = +Tag = 26164065e1ae8497e626ce39ee + +Count = 7 +Key = c50dcc6ea99511df997da312d285043b +IV = 74 +PT = +AAD = 15e8d738b5a4aeaa75723c58c7600b82dee94cb6be14dc5135129e9ce7801b343f8dfd4d563b2940572d8bffb34cf8979e9c6185056c3851a85e7adabec077726a63e226ecc57681a4b2cdac0f1f732a15a4ba78bb62fc866515 +CT = +Tag = 7125a51fa69fc4366a4504fb65 + +Count = 8 +Key = f02b9ac0674dbbfb7f3fe25735a278b7 +IV = 4b +PT = +AAD = 0e956efacfcd5b0506fd06cde6f425b5858ff411ed69310c9b373602064ed28e0bc10b259332f4b6b99c0937b2ddc3a02160acdc3fa23900b5e0c2761202765133ed1d938614299ce83fe2dab28fcf86ccda985a7eab3244db3f +CT = +Tag = 9043a3b8d5f6ff386b819825de + +Count = 9 +Key = 98c10f90de8449bb1cde4ef516c581f2 +IV = 93 +PT = +AAD = c26475c30181d5150bd538fe24f4c91dc777a513a403cd20437f75e55fae17ca03d8c5ccf11020f37747afaefb516d9884413babab2adf06e991b12bd493c60797cf1ed5e4199d2db7d3db7d8a044bda57779f9f3685885ef4da +CT = +Tag = 16d6765cf880e238e61f700288 + +Count = 10 +Key = 6946e291b0053a964df0ac1b00ed7688 +IV = 87 +PT = +AAD = 0f2cc8144c5d005ef9c60f43e77f516c39dace3479ba5d8d33a011de6fcbffd89c393aa0d02e1360c7216d2ffd9c4d046fc096a66b4a517ec8e64766487b3c3253ffd850b76b90e2b3706bbcc0be0c99dde83b793a0f9439228d +CT = +Tag = e0bccdb317fa0fbf1cc5d1c667 + +Count = 11 +Key = 11f8cc939907d6c5e3a32e12624ca6ef +IV = b4 +PT = +AAD = 2a4d452a73b8ff523a8b94c38f7d46aa561324506d9ff544b80678285439cda83f18e2a220448e2104b99097ad047fbaee4d4fa79f9c11c5208376e79c45de2a9216cf921229946c949ce2e108a21b5b6a391d07a84fe4e78b3a +CT = +Tag = 22902eec3a8a3afc346c82aa69 + +Count = 12 +Key = c64334572b71811dbb159a65b2ec2768 +IV = cc +PT = +AAD = cec8a4c717be4daae5dd95aac2cf0abc1c394b99ac7923a3d4cb97da3eac6dbab14b2cc3832066de9aa1458a2efcca0833817dabdb47ce169a9ca33e7fc34a3670abcd6d9bb1fa6ee279440004fda6b2416f84906f66e2fd8838 +CT = +Tag = 8374a0a2f3f27880df55027965 + +Count = 13 +Key = 2e669739202cb021f6fb6a6d6f70f7f9 +IV = 5c +PT = +AAD = 705e5edf621f68cf9eb73eaed955700041248940e715d00872c6d4e4c951bacd5ee2b62102b957891221aede2bc39231a4e951888a54b2a0ae778c914b6f505e7a3f5ec70e840da2f6c463f15bc1d5e82bb712a4ddee44b97fd6 +CT = +Tag = 50c1d0c109cf78d03fdacc760e + +Count = 14 +Key = 9ff954e7c732f78b862a09da832a5535 +IV = 2b +PT = +AAD = 9b0f16107403323fbb124d4f21e6a758b73757c35693e1944e5dcd3606c4dcb98831e23fa38c3812e1043882d0762ca42ccf5cfecf277abefc8ee3e678ff51763a76479538598d5325e1c0785c1f594e76bde8acad0011a34a51 +CT = +Tag = 8115d3b364c02c65937e18de1d + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 641373a91fe75043ec21e5674908d56d +IV = 12 +PT = +AAD = 7ecd3240ac265d36fccc4a74f3dd8803dc9ded197a41cc56a6354e7c2e5f0e419555b5cf33c2980f2340756f198e593aed5403c79c25a9c27e59788782670ebb2c56743c2f181cebad3bbf5893526a3fe06f34bc4e76a10a90d0 +CT = +Tag = f8cd867ba47ac266bfbd6490 + +Count = 1 +Key = 806ac98bbfe23a6a04bf1860b92faf4c +IV = 61 +PT = +AAD = 39ff5cf8e7fb026c6b881e6ae7995c8b495e9fcbfc3f24f3bdf1995af76cb36c5dcf72a2922a91976533e852e450e7efa589bc2a3bba64b2d0fb91bc6eef92497ec2a182e12fa7e658650704c5e1a217d778cb77968087387606 +CT = +Tag = 16a835eae8990e60ca10b2e3 + +Count = 2 +Key = cd7b2cb0ac9587ab6fa8bce8c85ac1b3 +IV = 70 +PT = +AAD = dbda01894dfc19ab8281f534b967afa752ae25764d4faf0cf9feb9f4b34a8ce90e0846f47e6c90e9377a7f0d25c2ff06ba873f95cb4f5aac99fcd3b5106359a2ffb13180a8e4f1fe496ac0893645880126007c44867f508b94b8 +CT = +Tag = 169517c2744ad80f6f0128a3 + +Count = 3 +Key = 7e6cabb0d56c51da6d2dacca0f4fd952 +IV = 6c +PT = +AAD = fff58936a096c44d4cda0e41196c7106842887721c4ec4c412a19931a1a96a6b3a14b4785dfaac1eab4df0a4dd091d98070677a67f372b16d9fd8203a8e8358cf255e4d953abcaf8bcabf517eb5cd839263170a846c9484e7e0a +CT = +Tag = 5e20378e1ff7703f6c6a39b3 + +Count = 4 +Key = 4f15431cd7e2d0e5f26e9afad251fe02 +IV = 95 +PT = +AAD = 856190a0e62b9c4329ef7913daab1638dc7aafb07263ca18720050383950264caac64688b3d8583c520b559986347b5f9a4231f117869d985ff46bac2ca1a120264a596cad205fd781c88d2ddf0059b3cc1c6261a1bd26506cab +CT = +Tag = 91dbd0378f47bfe3991ff6ca + +Count = 5 +Key = 1494f0bbceaaf129e166477e149ec537 +IV = 75 +PT = +AAD = 8a9b8a0e6b6a79a88272548d6758302bc800a144d3c89190b2279e4d31e09df236639cd8ff1d9a098c3ef99aed6747637c820f2daa275450523eeb375b2b9660abac664b9a4561964bbfd415fc1a6523b30587a77249d23d7acc +CT = +Tag = eab0f54d22cb053fbba2e132 + +Count = 6 +Key = 88db532df7a96ee2957195eb934c00fd +IV = cb +PT = +AAD = 952e2e37698f8f6b605c619d79e90885565ec2062a73d3287a4875b1c06a5d19f4af5594f5405697038ed3cb2ff8f3b37d138f1ae2af54b18e1089853cc4bc1c85054e7aa754c363c503b1a6ea58feb4d47c0b20397f5f97070f +CT = +Tag = 4a6d103c0c60de847b04c561 + +Count = 7 +Key = e87a9918b0550f86875fc5efd7f8d3a6 +IV = 50 +PT = +AAD = d66642443468d8b406ca2e8b6ee078266a67cb43ec3e8242f8873bfe64ac744b7f568b6c2633b2056ca07d4982675976f3f4f9a9d72b9d0f7da6e7c7152bff7997488b4a61c54035a29d5d72277921f8cb41907762f30b6bd32d +CT = +Tag = b6c9e21fe818bc7420a1738d + +Count = 8 +Key = f94f09b7fa836a59c249cf575faa1655 +IV = d1 +PT = +AAD = 1083548abe9072f4bb8ea9dc07c525d4447e09396de58ce937fbbb0d8e9c5719ffbd1736e527daf4d814f5eafcdfb2d9398fb2079484f94ea39e04e80dd5b4e4a12f82fcec7b17f104ea2ebf357ec67da2bf7360d9a6998c38af +CT = +Tag = 77249c8c311aae390667c11e + +Count = 9 +Key = decfbde0a18d25780625e98bd4b6b752 +IV = ef +PT = +AAD = 09b1cff4757545667086d07f20de8d640d47cb4f2329d2b0c18ed8dd15594b2a34a0cdf3d0e8ee9e3e4255ee482ea3df5b1d125742684e817a8e19600b8b24c09f2338f7090a4195a3e783165e87dd352062b9cbc85afa0e3847 +CT = +Tag = b8cf2bb25407ec06a243a7c0 + +Count = 10 +Key = 5e56b0fee8a6b5046b093ac280443360 +IV = 41 +PT = +AAD = 71406a0034460f8ec57b9ee51469f33780311fadd669e39af4d4d39b5aa047b5b227a803d94be685b0ea23ec79d984654527282e8a747069850ed86115b007442584e41954d07b447b6e5f0eea1fc6fe4ed5e203d9083a3f94bb +CT = +Tag = 97c5c543a6389fe5864bf454 + +Count = 11 +Key = 1a2675639c50948e0ee3bc4d510903bd +IV = a5 +PT = +AAD = a5139c0818819328b1570ecc63d97b5689c7ab1f4db10775a29b3dc6f7a320acf54adf100c18f618f7576e66c872ec53fa813e35c0ebe6610e8d6c4ef7a422229065718fd6fe5181b9dc38e989c7fbdabffc7aabd98484fa8447 +CT = +Tag = e59bbc732e70be7c5f60ef41 + +Count = 12 +Key = 16ece71b5435ee7951d4af9955dbd39f +IV = ec +PT = +AAD = bd40b75397770c9ffd0636671950c5d26b0a4da92b41238fee600d8fddbc125870afc4b5fc4faff46101a887f8643732a36d7e588fe9182deb187a22bd9ef79bf766af16d6d7f00577b0dad4ad8cd88c80a6ae01467fae3c181c +CT = +Tag = 834b2459453d8dd03685538f + +Count = 13 +Key = 81e46bd47d9a9591144016b1a9a95608 +IV = 3d +PT = +AAD = e72e6159e72b85f540c88a020b1c2cfe330b14a03e32fd1d96bc5d7844056520b3ebb341780100fe2d51ff0cfe477727d9e12f131dde3ef29679af8ecc9e9292e752e53421272ac9eaa41f26efe855479cf4409b966bfeaf3b14 +CT = +Tag = 1d9ea2522e3565e73cf62df9 + +Count = 14 +Key = dafa163c75386af115c58757c8f465ff +IV = 71 +PT = +AAD = edf8e89cd359c751e07f385af8dcbd889fc03868ffea0ad22d0fd9d2ee8d8467d713c772b6b5ba96317a0d372825875898c2bcea1494a02c2dce30e92ce477af59f576707ee849c8fbd3d67b51c9ced8626c87e10202a2ff9241 +CT = +Tag = c89ac2b6050b21c7cb7eae9f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 9f4fbbcd1282483e1e70f66e642b8a47 +IV = 51 +PT = +AAD = a7bfbc0037079bec781c1e048c831f3938a6f9e323ce7a562cd13329648ba4140cc04a42aaceb5d40255a6038bc6f5d9f0962de7fc6bb1bb8ab9d270805bbd426f3210c3ce0689513fdf3a050acb55c351fc129cafcea0624082 +CT = +Tag = e9a5591e4554cd6b + +Count = 1 +Key = a4c14e98f3ac6e6fae3e23132b4b54c8 +IV = 7e +PT = +AAD = 51ce42f496d0ab9fb43c55c7c2fd76fdc88985aef9bb4d4be865aa4b0903e1fb2f848c1935331f7b5aeec77229dbf9a166b1a8b788cba574f1e2d962fcde4b6f36451f09ddb5237dbd75ddfc9ac5730c6dd62bfc7c782121a85f +CT = +Tag = 4af7499b29bf6441 + +Count = 2 +Key = c46ecde731bd0b488cd40dd340e13107 +IV = 3c +PT = +AAD = 39613f8248813e4c751d0ca648716e6c037ee88db2814addd03d47c4f2c2f5b731f1ac05e44b626ee4aadc1abdff422378997f65752c66fea4029b0378abd68e766bf5ca00784e8495c92078c67cf0bb66a7016e03fb94e05d39 +CT = +Tag = 33cb084fbcd9ad8e + +Count = 3 +Key = f894a7d22eca88b34fda57c42f593f48 +IV = 0c +PT = +AAD = 204300c4e7ef9f3ec3b2842c7fdc65aa0e0534289acf6823eb3e845f656cdae57b9645eccd16e8230fa80af54f28c36b4fee3f9639bf8b823663efb3781730e1788d23b8b9fd674789f6849ddfa8020cbd46bdfc47623c0e88b0 +CT = +Tag = 79ee7aabb16c54f8 + +Count = 4 +Key = e68bb77b57a548dcbe36dea85ed6e0c6 +IV = 8b +PT = +AAD = 44ccff4d72113cae30b33ff3a25c27d264c30e901809bb9553768ee47d6a3790493d02475b328aed399f3592465319a65bae7747d88cfb0f0c0b755452c29af4656e80f7e70a11743bb336c069aa8c5d51b4b30f962d994eda0f +CT = +Tag = c2aa83d9a9c1447c + +Count = 5 +Key = 8dc5ea8585151f74892b8a6bd026b050 +IV = 2a +PT = +AAD = 7840bee0c80ec9cfc4bb284decf984ad730aaf6e3e6aafc1f2813ae50fda32fe7f173fdf62674b1ec796b73c430fd621c8cceb3383bdf966cbbb933d54d9836b889eb622550760a9f92b07acecfb2814202132566d5eaa26b568 +CT = +Tag = f1fb4d931ba97ba1 + +Count = 6 +Key = 1c6681b762b4caa1bda7a50de9d81973 +IV = 34 +PT = +AAD = 01741fabb5b6a60576636eefa45b0cd305cd2771a864457d8b733fed9c8e9bbdb7a0c73164988ed470ca64ad57a1784c36265060db00ff489c87a36f8d5fb6758311f7692a26c964fae966d610bd58b6e94c1fe42ee9a15c2a7b +CT = +Tag = 2a2a529c92bb97f9 + +Count = 7 +Key = 01088de9870a853c4b12b125b0dadf9a +IV = 16 +PT = +AAD = 660c83902976b197d0ec0fed89f641b81c67d9d0821cf29e46a96e34ebe8f0686ebc24b7972a2c3754fe743850146c380baefde763c158649302694af96aa7b0436a1e6a26c0edc420bf0c425676e96b9c1f7b101ae0c7e02a56 +CT = +Tag = 92a80b13bdb98a0c + +Count = 8 +Key = d4ac543463fcc28e3d63ea410f4da684 +IV = 02 +PT = +AAD = a9dfb6163b74323712871fab7dcd4365f5175f539c3eea32b1fb4ccccb53adce7879b1a5af58f67958861ebf36e2360b81525d19b8d57e142c0e4ce294a0552c1a6e7405e11e822c0faaf184e48c5243475b16c7e39c0e6ec5cc +CT = +Tag = 46344bb895c3e0b7 + +Count = 9 +Key = 3e680c63c4f61ba4b48bcd0e1b7617fd +IV = f2 +PT = +AAD = 3db761df40e2a9708a7065e0f4e1ff5ca3b65e4cf76631b3b99d2fd76a3b44d48886301bbb63d2e0e1f6ce78e3286c7617ae64cc67d67cfad3bef0a3d13ae114b16d0114d472efc4ca6efc00fa23388733774b73c909556b1660 +CT = +Tag = 8903913262582917 + +Count = 10 +Key = 9c7836aee2ac55e1d7985f73690146ef +IV = 1f +PT = +AAD = a89e524876b4d05d9940a1b8f032b74e2791c18717dfa67e93df4dd4296a26452b8d48443d9bff38590f57eef91b084f8b717d290b8a16990044adc535961aa7915cf9806fbb0572f90aa8a4904bdedf3e03c57a22577cb410d3 +CT = +Tag = b30c5e2d971c785c + +Count = 11 +Key = 01c0da53e438ce93be33781181280a68 +IV = 61 +PT = +AAD = 5190cba9288c501d424a04e8cd6cb807d65662a46ce73aaba35effa65b8ef657e6979872006e7f18a6aa07677ca13dd64338d9271dce6a47ddc9e0b30df907f9a855c32fb233553b9e0068a7ccc3d7f28395b458a92864265562 +CT = +Tag = e9b56b1bfde17d31 + +Count = 12 +Key = 35c062b96bca043690ce79ace3edca3d +IV = 75 +PT = +AAD = 35332b42130e459fa93315ffbe946401a48bb6aba3c82acb15a45b219d34768078e40d897c4fe7c834f04e6d680b0348805361d3b14a1f4e4132b9dc9087fd32bc39777a2905a6d3cf359ff24ef53b3a16db0202f685f18b2821 +CT = +Tag = d23a2fe86f297784 + +Count = 13 +Key = d19bb6a4365b2241dcf40c693c40e5a6 +IV = d3 +PT = +AAD = d12c700d03f977ee5b8a65126445fe8f84c570dc2e941d91e3677722248ed2e8262f60044c639791523e407abd1447d9df4485c293ff7c81e53b493b7902974065bd0de7442aa5fdabcaa6f2f1c4aecf2a56623aaf2b91193ec5 +CT = +Tag = 6fcf0630e7b6a61b + +Count = 14 +Key = 826acccf8148241f91606485494d12f6 +IV = 79 +PT = +AAD = 3e310b6b7a2c45b30f58e228cff9ae0992944803ce3b3bf2ab0453b616841e8524e17841a10dbb27bc182c88711ea47ff0f0e293efa364a566b69a4e7fe8c47810871e9bbaf28894b68d29347b7476efcf27383f0e908988ed26 +CT = +Tag = 2c5c59e05117a614 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 0] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 780014f7dacf399f2153fef515557953 +IV = b2 +PT = +AAD = f4a8c7ac15ff452c05200a72fa39ad1d91d92a61699da548786bc8ab884e9b0a1bf2a4ecbd5531c8ef9b856822188f8dd4c4bae03f04ab1551b8ca7a295d10b70e9113a7d1b95e9a6a09198dfe2c995bb61c3e74ea3635c976e9 +CT = +Tag = 723f8cc9 + +Count = 1 +Key = a8b855568abc4081d6d70d38a6ee3db9 +IV = aa +PT = +AAD = 2091185255945b18efa5ada0d47b0d4021cc3cc33abdf6fc02850f2b6aa887eaa2717c2c2e0ab53a1e776df4a868b93e336eb7b9b04bb1333dcef6655540ba3cac65f4ad83455e1ee17f99e6ba83f4ea6018a592ab5b12584ee2 +CT = +Tag = 6a60e6f2 + +Count = 2 +Key = 2a74cb40982bb184034250ac9d680cdf +IV = 20 +PT = +AAD = ada1943756ad9d74eb2e7a93a006b7a260b464e756e4f418bd6d8387bd3321135037a63b0e30e1eddd848727a8bb944934fe35ab2dd16161aca9b4907d7740a20d19a250a82e632c201e109a4b4eef4d26bab34f715664f91d7c +CT = +Tag = 9b5c49a0 + +Count = 3 +Key = a7b0f6f11fc38d247e6547d591de5ccd +IV = eb +PT = +AAD = cc7c6a15b043ba6f1db16d3219cc7a4c2b6dda5a170a2d7daacb31f38b0ca3ca0b62b153f5f405fbbdbab972bf6f3ca216a0e20ad0e07bcaf3dc3f8565405faf2e72e6fa46aeb9b3994ebe98fc12b2af2bca92f923a9bb739da1 +CT = +Tag = 409b43c7 + +Count = 4 +Key = 246334a94e1c296b5b33127cc5350e5b +IV = d5 +PT = +AAD = 43fa19425f4c8183cebb12b03d9aa1bc3efef778e9fa7da7627b17089c487b51cc91d782197bd73d94bfca3bb283fd82cd701b28c83baaddf159e9c0b47b1c8aa84214293992a8c419989c9812bd04db9e8d40268eb495194a39 +CT = +Tag = 36b8d71b + +Count = 5 +Key = eef655b99257baf538e713877f7f918f +IV = d5 +PT = +AAD = 908267e8a62d291507b6447fb69fe9ae731593980805bf85e8e353ed6c3765e29cc8ed8b030c3185a0a3745d3c9592fb922ba41623f330443460e4d7e788c97ea0e549e1f649f415f771ef52ce3c5f88117a22c1a0d2a9d9b664 +CT = +Tag = 676c6f65 + +Count = 6 +Key = bd30be2c90557d4c3cb033aaff73e2b6 +IV = 72 +PT = +AAD = cb56ebdd9019a7ca0322f2935247ec7986f0bf969db94f2529b2e792ecb8d2a904a88d9faf8a45394bce4d5ec0c9f204bd1a1b60e314eca0f96b7cd44dac5aabc525dbb236dfe3de01301bab2feebc75dfb37710fdcd7ffa8ec4 +CT = +Tag = be9c0871 + +Count = 7 +Key = 723b30dc596186a3ff25f1f3afd56efa +IV = 8f +PT = +AAD = 89a2daf7338fd88e70ac623db1751e80ce2cb5ce612c5b60ffd84695fb2327d4cc62cdb5ab5e67cb7e092382f45320595e1ecbf29aa82de1e1e2848e9ae7d92e67acb934372405aee69d8c5b5412dcc701ece93df3be85d45093 +CT = +Tag = 731c3a6b + +Count = 8 +Key = 4500d2b708fba932d3b2e87e88a373bb +IV = 4e +PT = +AAD = 8bb98b95b1b30dc83c19a80eba399acf831a14054fc72b5c4860388337317ed183ef83afc1f40e5b9842230fb9db2025706c2dd0b946e40662bc04928bc4ee8a0d4dee97029fa9645fc0398e60815331f9df8185a40370c70cde +CT = +Tag = ce2aa748 + +Count = 9 +Key = 82256da14d7d8c365090d1aa1224a34b +IV = 2d +PT = +AAD = 9f722a1dde31ee37fe4a69830bcf8458c17add75418aa2e0d0440b3b7a5b0c6edb6d1beb8ba4f92e6610b93d26059ba7b0c7e83b3ef77adbbdc138b0200ee2e270a7b07ade069b03145064c5540859537689ced3ac9d7bf43897 +CT = +Tag = 1f1aa41e + +Count = 10 +Key = fab6cc34e9c14c2a86888f6e786746c4 +IV = 69 +PT = +AAD = 001866a9344f335fd51a7aab2a764e167d56c631b8f41fe26bfb5bfd8500135002194829e914363bb441fee2fdfd578379cfca532f2545b3d5570e5c57b50bb25c12437e76245fed25c488ddaff376a0697b7eff6bce1482016b +CT = +Tag = 149f997e + +Count = 11 +Key = fddb9c12229f53c0cea1af03e9a204c1 +IV = 8a +PT = +AAD = 7ea7d50b95353f902191233b0baca8966e880d5a11059d41cf869bd7336fd1de6ad123d7e6dc4feaa3462164b5bb088fdfaba9e13b053896f32d5ef36d6d35b18c716f8c661b6e7eef189c6a51b2882319afb7374fd61228abe7 +CT = +Tag = 9f8e388e + +Count = 12 +Key = 1c0888410054dce2cbaab8f0ee042fdd +IV = 33 +PT = +AAD = 20a438f039c4328527c42025a7bafdad534decc756902cf5eb77309fac9a63626d146709e2f14172b034d37c86ac81ddea527550ce765fe82d73c7ebeadd10b4362832cf50244a42eb3c1661a3f2e7fa18ef4e9e6094b18d6e59 +CT = +Tag = 5f22d615 + +Count = 13 +Key = a603186711ad7383a0b1d44c62db895d +IV = 15 +PT = +AAD = 6f791d30d2dbbe75e31f83d1de2ed2eaea52ada39d9e33c48c308638594df98f90cacfb197365a5fec17b988f630ba0980710904d411d9425ae3987452aa5b6b7b2793eae228b5367cedeaabe2799e153642e13ba1d9cef1b225 +CT = +Tag = 8d793192 + +Count = 14 +Key = e34ece9412f147b1630b322e7a80bcf0 +IV = 70 +PT = +AAD = 3e97556bc857eee3eec4ce8ac1a47a109f0976228fa445e4970a5852e5db1fbac510753eec77aff8b29e8a4ac8fc44e8e81800c1c6ba6490b68c0ea50c35b7c69c8d9e0ddc9f3c03aa4f1f3d6a389de6c3b75c115abe89d08bce +CT = +Tag = b865e00a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 15b2d414826453f9e1c7dd0b69d8d1eb +IV = b6 +PT = 8cfa255530c6fbc19d51bd4aeb39c91b +AAD = +CT = 4822cb98bd5f5d921ee19285c9032375 +Tag = 8a40670ebac98cf4e9cc1bf8f803167d + +Count = 1 +Key = 681587d2e2760cc7d3f1a1043a8ba2f2 +IV = 1d +PT = 9e04a8f52e8d5c41c890a9cdaf7ec304 +AAD = +CT = 59b4e8151db527408d0c8494e86738ea +Tag = 17295fcdc04abc7b68a6f2bf3a8d92f1 + +Count = 2 +Key = 14d180509e6294b6734613725e240923 +IV = 9b +PT = 4edf637ede22007565e086e13f6ee692 +AAD = +CT = 945e8eb1f5c1fb22b6b849ca4460e965 +Tag = 59098fc7400f337db33cbe4a280b0739 + +Count = 3 +Key = ced47484ce3614ccf9ee673e4f5fcec4 +IV = cd +PT = 526606bb5a17af08572d45e713e059d6 +AAD = +CT = 13f2810b327323c0c801c06e3ea943a6 +Tag = 5bc4f30dca6d7717fa058ce64d368a8c + +Count = 4 +Key = c91ee6e2ccc0cdcab41808f5c91a3d8c +IV = 22 +PT = 4b9422ab9895e9eb142d93b7734431df +AAD = +CT = 45ee703bf4a6a86f478172f1f9285dab +Tag = 903b4b6ad2decfc0391e8d1db95e90de + +Count = 5 +Key = 1fe9357738b4aec49c26cc1a7af32f09 +IV = 8a +PT = a64667cf3ff109c36b5d5e79225107bf +AAD = +CT = c32bee8d8e94ec9d8534a97aab58cdf4 +Tag = 756ba80da7fe45b1d6e01762732851a1 + +Count = 6 +Key = 0f7775020865ed0d4359f89cb8988689 +IV = 69 +PT = f7233ebd0d9272468eac9f8a9817b73e +AAD = +CT = 3b07493962c1acc382a34dfa48f08b20 +Tag = 9f9aed78b6f3da7adcacddb69c1eed95 + +Count = 7 +Key = eb870e3373d91d9fe5dd364f5f59eca8 +IV = fa +PT = cb7a497241eb8366cdd130bf539be1bf +AAD = +CT = 08ea5f96bd894c6510f1370856ee145e +Tag = 3a680d627ef43b32945f58e0caa30aec + +Count = 8 +Key = acf28c4136d0c8919ed8b7fa1ba2c10a +IV = 16 +PT = c5b561c65bec254a6cdcaa3be7f7c925 +AAD = +CT = 575a0f7701cf35169d19c3f3edff9613 +Tag = e6e289a0de6ef8f42eebb44bd05717b0 + +Count = 9 +Key = 2d4e6274df83b030601bb8ecbed1d9ed +IV = 77 +PT = 6be60d84882677f6675708cad0b112c5 +AAD = +CT = 70452f7b75a98984ee81d95dea8d1689 +Tag = 2bd52848469a32ce8f342af5d669f268 + +Count = 10 +Key = 8a3842e10f429f5bfabd3af585a194fa +IV = 87 +PT = 7a83197164f255ed6b80f8fc8d97bd4b +AAD = +CT = f83b3d6e1316fab382297d675773a4f5 +Tag = d09ccf4b4fe21311930ba7373040736b + +Count = 11 +Key = 0ebb2609be634e502536b79b0f833a98 +IV = 59 +PT = 3c6661ab8a990eed815a0e2fbe333c1f +AAD = +CT = 013b511b22ef841a85551f9b462f66b5 +Tag = 4cf586bc158e74699236e809df304925 + +Count = 12 +Key = 91a47fbfe50fd83e8af33a1a1290576b +IV = 8f +PT = 6aff1768f3f5230fe398212ac82875a1 +AAD = +CT = 3b6c1259f16837db37c8c456905b806b +Tag = c4ac527966500eb5f24f3ecf8cf99468 + +Count = 13 +Key = e6f0b9bef50e10829ead3ea25b435355 +IV = 49 +PT = 075acaa225cce6354deb1050cae7f354 +AAD = +CT = 5425599a990383043ed3c7ed93ce769f +Tag = 4f58d892498303c688bd3ce8f97f7d75 + +Count = 14 +Key = 998358d1ba5f9779d062d2d8cb8cb4bd +IV = 7e +PT = 0f8e2927228c35762e63e8d28016fafa +AAD = +CT = 825b5b9ab590e751451064bf6df4d41f +Tag = 6f0cfa26212902f58c4279eabb91d151 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 70f18829e0c0be64a9f0a944349bbc36 +IV = 86 +PT = 000ef2560532f279ff1cd76810667ee5 +AAD = +CT = 5a5f2cb06ca974b52cec0557cbf7c3f9 +Tag = 9e02fca78f960b74739a1283f9119d + +Count = 1 +Key = 848c99fd372133238de4b73ebb1cb0bb +IV = 72 +PT = 92449dc43e49b36dd68dbe5f2ff546a5 +AAD = +CT = 96256a8465216fcf06333d2a606e78f0 +Tag = df39be02ec1afa7d35606e0715c16c + +Count = 2 +Key = 23a625b4ffe815964cc787b71a0fc184 +IV = 76 +PT = b9bb86d261dbf3104cde646ceb4e65d3 +AAD = +CT = 620c8c33b3eca40303cb3bbe4ba9d0d3 +Tag = 39351bf29d8d69d61af590d4e07854 + +Count = 3 +Key = 8fd134e96673e794fc5f932000d7773e +IV = f4 +PT = ff9389bdbc7435a8d1649a36d7bde7c6 +AAD = +CT = 63b2896ac912d0bb7530ae0c2fd4165d +Tag = 361be0a15c59f4064f4721e4875cef + +Count = 4 +Key = 97f22f13f93356ec85a33408615354d3 +IV = 27 +PT = 578da7cd4505e1da95f7b50960c712a8 +AAD = +CT = 1eb5bcc002f124f29890d3af5336a60b +Tag = 60aab877c798257a90f65c77693d72 + +Count = 5 +Key = e1fea098521ba0bae7de286852bd2e74 +IV = e9 +PT = 847d137254fdad71fc3be8e21717ba76 +AAD = +CT = 271823325e42b455d46c69fb4d3bec00 +Tag = 88a7efb0e6fc7eebb4e2dae04df905 + +Count = 6 +Key = 9b8ddacbce9a1a1aad3d6e9d485cb035 +IV = 4b +PT = 8c3003ce21ecc2fc93c319580017b6a5 +AAD = +CT = caad3703c34b4d9256ac7212a5a6f1db +Tag = 18f1f3ba41f786f564f74c163554ee + +Count = 7 +Key = 4fa075fb7d8fbdfe131381347a56358f +IV = 86 +PT = 7a7b552e86e989bb832e8d4f4bb8fa26 +AAD = +CT = 32d49dca4b219dc364fb9d356d8828a5 +Tag = 2a39bf39b4de48c90324ccc3974ad1 + +Count = 8 +Key = 11cb9b8ccd0dc83fafbb1b4a0522f05e +IV = 47 +PT = 7a919055cae8c364b513bd6b4580d602 +AAD = +CT = 272e35df956ef0f1e94443c551c44c1f +Tag = ae6fe34894529305f467691cb665e6 + +Count = 9 +Key = dbc8eec20db230ba39cb40ef40642dee +IV = e4 +PT = d5cf38ba79ff45ca60001afc468178e4 +AAD = +CT = 469212af3d3c7f0ad6ec91aa0b24174c +Tag = 9a0af5ad161a96008d809a6ee0d4ea + +Count = 10 +Key = 7fccfa29bad1f03ed7bb657ae468ec3e +IV = 56 +PT = d93218726a47e7d33397cdb0435d11c8 +AAD = +CT = c854f58ec5ef83dec4c1f2eee7905b42 +Tag = b74dffb73eb04ecb61d6e48a34c34c + +Count = 11 +Key = d0951e25bfbfc053ef5ad1cd9c2d078f +IV = 03 +PT = 29f847d690e9db202b6e8fe87aac9e22 +AAD = +CT = 90864850ba40a5c9b28605440aec66a4 +Tag = f1be27af439c250b09f886f1e23936 + +Count = 12 +Key = c0eaf3793829937d4fafc47049b582b6 +IV = ce +PT = 238eea95bd90a096206ff9f5118d5abc +AAD = +CT = ff602b5e76d98f508be04933dd470a36 +Tag = 287059cb7609987333811cd730002e + +Count = 13 +Key = 66a26b4fea998de38d706c256bbb9a7b +IV = cc +PT = 3f9d3f38da59acc64eedc697bff6c200 +AAD = +CT = 27b4baffaa27cb4710bd632a8d97374e +Tag = 2849f70d8b98e9431d78ab31d1131c + +Count = 14 +Key = a2c1173b7b338c619eee20c4a0a341b3 +IV = 28 +PT = 92ff0140ceb00b08c7d63ba6e24347a1 +AAD = +CT = 6b40705c93d5d3f27bf568a19e01831e +Tag = b29f8c03ec13ab8100e89fb225f9d9 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 4f1dc3dae83a3890dba8f8241d28b0b2 +IV = 1a +PT = 0594ee267814db70240c77fc530e194d +AAD = +CT = ad84fbb4261433d490191dec751d9e0e +Tag = 4f495300f8b0eb1596adfbd371b0 + +Count = 1 +Key = 3f4d78ecab10719f23b6fa4a89553947 +IV = 6b +PT = 41f708bb8c317c75f281bde98e2afb07 +AAD = +CT = d5c081bda9dabacd93ed5c3088abca75 +Tag = 99034abdf835976cb7eb3a4e9e46 + +Count = 2 +Key = 12031f658f0447b2b9eae17e58ef12c2 +IV = db +PT = 2a27f109e9a113780986361f190e9137 +AAD = +CT = aa05334c391e651ff7f39914cf5e1b18 +Tag = 711aea4b9ed1fee9a40e30ea24dd + +Count = 3 +Key = b42ad828af02009fdddc2b6d9b7d12bc +IV = 02 +PT = ae67ef44d842b91983d716f9f454a169 +AAD = +CT = 63d1f3411461a90cadbb569b7e736bb4 +Tag = 7d32dcb54690dda3d98cfc0018be + +Count = 4 +Key = eb28f348c3c4aafda1d7116ae9d8212e +IV = dc +PT = bcdfd973e8378edccabaf596a5898671 +AAD = +CT = 6695cf462341b3e70cece66e86565c50 +Tag = bc9aba32654b59caa844fb62e4a3 + +Count = 5 +Key = 34f45b693c2a7d59f6b2091f7f0a2d30 +IV = 1a +PT = 8f0607556070a440f054c685aaedae0e +AAD = +CT = 7b16c8821b5e024c253c7646a03efd31 +Tag = 98b982e86fa4c707f54bed0eae67 + +Count = 6 +Key = 8f1436547f6818d9ccd29fff8e6be987 +IV = da +PT = aa2c0e168ee172bcc25eb3d8ce1001f8 +AAD = +CT = b3cace27c4937411ef35d560c77f886f +Tag = f3275b2ade6516abfba5ee3a68ae + +Count = 7 +Key = e23fb1ecfeed94cef9eb9e0b166ea753 +IV = 1a +PT = 626bbf7599ceefa2ad6bea860abf5b37 +AAD = +CT = 38ba0465aa8fe82716ebbbcb2fec30b0 +Tag = 3d3a176fbfc86951bd8e4cb82dc8 + +Count = 8 +Key = 6a493ac1557f5c4659bab8b6932fdb56 +IV = 73 +PT = 59e86786f3220e248fc03aecdb43c241 +AAD = +CT = 9b4d30f9ebcc18909d2cc5cf6ad25d48 +Tag = 0adc4eb9683021fd87bf9167a46c + +Count = 9 +Key = b6fd688ec392e4a8688318f4455e17dc +IV = c6 +PT = c94ff47083471cc79a001242dcb9d1fd +AAD = +CT = fbde981f264a8c75eac984e546cad758 +Tag = 273320dd46b852e84ecac119c14b + +Count = 10 +Key = b21296cae3f9b1567058119b75020276 +IV = 27 +PT = 33ca23bbb933909290432411c253a0cc +AAD = +CT = 4234cc140e8f295ce1b85d206dddc6f3 +Tag = f3de5f7cc04ba37cd2f95bd2c536 + +Count = 11 +Key = 19a68613b5651f24c46bfead4bc480c9 +IV = f2 +PT = 8ea96e7bf1083cee4f533e07449a8660 +AAD = +CT = d35f411dd78240828dd2a8f70d3b133b +Tag = 436fa3bae6699cc2f810354679f7 + +Count = 12 +Key = 3fb025c82ec7f0a87317cab0c9e321bd +IV = 54 +PT = 4d8a94cc33a509a86f267a385caaef4b +AAD = +CT = 9886b7625e712f9002412dc9750c597b +Tag = a765b574af35aa9389963123699e + +Count = 13 +Key = e3806e5b618fdf4966bafa974b0a1c1a +IV = 11 +PT = b54bcf022177b3aa05758cebd57dfbf9 +AAD = +CT = 05c423d9429f7679fd65f206cf9a444b +Tag = a6ae6ff16a87fed6969965155bdc + +Count = 14 +Key = 23908495ac30315b3090cbc8eeb03f59 +IV = 80 +PT = 65401f435bca8f26df7a0a1e48c9d397 +AAD = +CT = d71847e6bddf6ed018e705c1edea3822 +Tag = 723802cde49efef67827361a74cd + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = f0d44d3c8c8ff4d2aab5c315e77a5cff +IV = 3e +PT = ecb7e9263c3080cb8861ffc5afdf3fe8 +AAD = +CT = b5cfd9141ea43d5c16e28666c3840805 +Tag = fe0c50de4c5443e4c9380a7df0 + +Count = 1 +Key = 116ab1b9a4ac9a43986745d9c50ed45d +IV = 7f +PT = d3864d8687ed63d1ede42f672f596cf2 +AAD = +CT = 6f895a5c6df0705c5e8be76d7668cc11 +Tag = 209fd87090c957ea5611d077d4 + +Count = 2 +Key = 061209cd48ee364d6ace49e5bc294ca2 +IV = 62 +PT = d743f560c0111e6d747a19859cfa2fb9 +AAD = +CT = 4b5369de1d7d55ed85eec1371351985c +Tag = dfb8bfeee6ed78a6881e6a98f9 + +Count = 3 +Key = c1e7dca7ad1fbcedaba1eaddaf429dd2 +IV = 14 +PT = 4e6ef495a7c6da6829fd3c452349dde7 +AAD = +CT = 6efcfa6b20a22ee95fbac488dffa463b +Tag = fcc58f33ac6796f01852a47105 + +Count = 4 +Key = 4351eb4c5961b2559b5a93c125f38ae8 +IV = ed +PT = e8e793923fae963e16b30fc8eba89c1c +AAD = +CT = 41af940e7abdb85974b3ee9e7b01858f +Tag = 9c3e511678d3ae17824c6aff7e + +Count = 5 +Key = a3b660336da7959b2a9baf9d571afc1a +IV = 08 +PT = 863020a6820096c62480b18e760584b1 +AAD = +CT = 65926e12168c8c224002645a044712e5 +Tag = 73d83e3f6d30149c93f4dff824 + +Count = 6 +Key = ba1ee5adf1cbecd008ff2d6d3aa0a490 +IV = 6a +PT = 0e6df49aca3b5a93e9ffac5e20225e22 +AAD = +CT = f9135f3b71fb547d6009301280037d35 +Tag = 84bcf83b583848b65be9674abf + +Count = 7 +Key = cc8e15df1f04103eab8e5b03175c8c42 +IV = 48 +PT = 1dc577bc7e85a29a19364dc6f980ed21 +AAD = +CT = c95418d68a8c902f34480a87d9ebfdfa +Tag = 8ed8505a7344e5fb4246f80b81 + +Count = 8 +Key = e81611abb816625851179193d0740747 +IV = 1b +PT = 5aeb5a590e39d667600aee5e172e3e11 +AAD = +CT = 3aaaf021eb2eb4541539f35446eecbb8 +Tag = 661fb3eef88ebc972a20334105 + +Count = 9 +Key = 5aa63b88a59b31c58363db78cf8d64df +IV = 20 +PT = 373299174abd2ae27e40abcba0a096e8 +AAD = +CT = ea7537e4f15e45ddb0100ad3b9f03189 +Tag = a8baf5a231cdd4edca84c78cd9 + +Count = 10 +Key = f1829b2a9d2e119603d7b44f8b96552e +IV = cb +PT = 28e1fcacbf740c09c2ff3ea469b1f748 +AAD = +CT = e338f4016997e56caf0402b941dfaeec +Tag = 7bda7f76e870a5818b19a1b151 + +Count = 11 +Key = 48174ed3c6dd28bd6b04ed2653f357bf +IV = 27 +PT = f4e90fa29ab0b39e71388125350c6d12 +AAD = +CT = 61afb451676400e973e7a31dd5a0efec +Tag = 0e934e377722e05f6618f608fa + +Count = 12 +Key = 6fda8c45277cfc06c8b6ed1b5e0bb6c5 +IV = 96 +PT = 8637c2b34fb6bb4a5ecc226ef0135e9a +AAD = +CT = cf16b4b975f949835fae2cb060060c3a +Tag = adaeb83e01305e1a9482d580db + +Count = 13 +Key = e919c092bfb671bdfba1f17c35ad1984 +IV = 78 +PT = 0cb258dffe49df0d6550fbe73fdd65a9 +AAD = +CT = 08130a5173c7f1c3d0d6fa87d5067684 +Tag = e6138cb18fbf8f7d4b2c404538 + +Count = 14 +Key = 5fa203730ce429c6627f9ffeeca6841d +IV = 03 +PT = 0794bab746d839cbbfe36ab214674487 +AAD = +CT = e1c767272d4962bd4e041fb7da99268f +Tag = 8127306b75761df00d54aea03a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 09664b34329537736de91b5038cb3494 +IV = 82 +PT = 5cdb11d15b927c59b9ee09bde8a08187 +AAD = +CT = ca7dda0ccb04c810833c5223e8596603 +Tag = fd35a123e31985065a49f256 + +Count = 1 +Key = 79d93a6c7055d1c07c342ceae57a980b +IV = 2a +PT = eb7f45604e045b5fec5ac95f2b7c1bf3 +AAD = +CT = 784864b425c3eda0d816ab905238b77f +Tag = 324eb3b291fcd29e54c06c9c + +Count = 2 +Key = 6fee929c14218d1aa8e0dd918e918c65 +IV = fb +PT = 4391a2313a634de53447a2397703adb7 +AAD = +CT = 837b69c06f0c588159456b70da561c65 +Tag = 1f9e96a71a7228c0a665a560 + +Count = 3 +Key = 0d52d98c0a6c193f0c09f52324c2e9f0 +IV = 1f +PT = 1f3b66f75fd0c67e911b4325540ccbce +AAD = +CT = 029a22d7fd9e5b3add26f3fce918371c +Tag = 177dd1bf41ba55c8774fe070 + +Count = 4 +Key = 1184fce922fda17ae7f67941f28cc98a +IV = d8 +PT = 59b27a6f0fb4c9fc3d9b8957c4577b8c +AAD = +CT = 2d5c3cf9b9bb7eccb1d2f0ebe3e8764d +Tag = 12d00b36baae5c15328a647d + +Count = 5 +Key = 420961ffaac8e69542643adbd8d3b36e +IV = c2 +PT = 215ea181524e1079ecce614c96eeedb4 +AAD = +CT = 59731711c2fdb68ed1df332bbbbce1ea +Tag = 887a489cd61aa61bff978cdd + +Count = 6 +Key = 2eac28f47c07126240ee52555c3fdb9b +IV = bd +PT = 85a79820bafd0b14a9bd3db2c71b5966 +AAD = +CT = 2e2c5cc10f0b16eb9196c421fe1b6ccb +Tag = 35184908e335a308a3b7c54c + +Count = 7 +Key = 6088b5367689dfb495066d950371e788 +IV = 05 +PT = 29f0f0df78fe43ae28073dc4d0247f41 +AAD = +CT = ee5bd2e173ad9d567a8638271048b787 +Tag = 6939da88ee15315c863ef6fd + +Count = 8 +Key = f84cf9d004eb71700f29798053dafa2d +IV = 7c +PT = da57dc4c2af647895630a8233d5df12f +AAD = +CT = 918015d8310b4e8d1dee0700dada4397 +Tag = 05f68f2d35690664312f2dbf + +Count = 9 +Key = a0053e2789b25b91f1c61d54c7525604 +IV = 9d +PT = b83f92402f6012df754c5112cae14333 +AAD = +CT = cef1cbfc7fe32dd3889dfd572b6a78e6 +Tag = f2d41b83139d32a035420647 + +Count = 10 +Key = 7bd37feec7a1e8bee3c67524b3445075 +IV = 37 +PT = 8d715b6de296b38e464afa25ddde267e +AAD = +CT = 4b3af4ad25ba6717f413ba546faef573 +Tag = 84bf1bf23caea256adba0e37 + +Count = 11 +Key = 6a3740bdb1cb9d26f6e1a86273df1fb8 +IV = f9 +PT = 596985645c351c42de91a267c5a1644c +AAD = +CT = 53202e3ba2f25a65e6f6b640aa5e5e68 +Tag = 6baecd5809d362136cbc55d1 + +Count = 12 +Key = 1261827d732d5fea9a1be06c446176cd +IV = e3 +PT = 62a5ed1db26942f9c3e261d38e0ae474 +AAD = +CT = 0daf276f8fb02bb9e1877c901cce05b1 +Tag = 65950dd93c93db28d56ab701 + +Count = 13 +Key = 28279bf095e77c784afad88c3e99e4f5 +IV = 05 +PT = 440429124c1199b3fccfd4688da9a3c6 +AAD = +CT = 3e1580c7926848620fe23825c1120282 +Tag = eece64a361a7a253031106b3 + +Count = 14 +Key = d6e6dd3532f91253eeff75f8f5d9a06e +IV = 1c +PT = 836a32dc0f1547f2477b452c6e8ae449 +AAD = +CT = 9f32e4a8bd70d5ad1091dfa64f8e8173 +Tag = c7fe8551038bf3952c7c1788 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 94acd23137dd32a52f2ffc6adfbb9d65 +IV = dc +PT = df8727d69e7e932311dff868e87727a4 +AAD = +CT = ee6a703df8c000b0d53d60e6250cdad9 +Tag = b07bca0c9f262bc3 + +Count = 1 +Key = 0ac798b820ec998fb1d5c15ef9f0fd0f +IV = 15 +PT = 362719d7c2589e42fb4b4971d7c14de1 +AAD = +CT = c0b74e4ff8b8b91237a5cf3a479d497f +Tag = c08a4f488b9df52a + +Count = 2 +Key = 52023d973123ce953d6def9701388451 +IV = 60 +PT = b6565d9474c1289e718460939b8f72a1 +AAD = +CT = 03d25ac03228cedf4e28dfd8029aa100 +Tag = 95a5ca1c391382be + +Count = 3 +Key = 5a98ab8d057c1d8fdd7853ca75a450ed +IV = d4 +PT = ccf9ba740a048fe68151354f8b74ab11 +AAD = +CT = b195ea228cb280ab94f9f9ad222037a8 +Tag = 35c8305ad874e58c + +Count = 4 +Key = 7338084ea82acb240780fd6fa95dd2ff +IV = 43 +PT = c3686c1ea6435ba0c9d40f017137ea06 +AAD = +CT = 6e2c75a3028d9abede4692138667c946 +Tag = 4004edec90a18caa + +Count = 5 +Key = bc2bae6baa1a9d87614faa0aa79f11f5 +IV = 8a +PT = 41de3c5d0f25a405b70ea64af63d4ee0 +AAD = +CT = 99f40f0ded5d2b04ea5f1a6acbf684d6 +Tag = 1f6bb3652e7032ab + +Count = 6 +Key = b7f3f71914174f63c77264f3a5dbdd5a +IV = 49 +PT = 4bc929bfb78a210780026d47ab4c75e9 +AAD = +CT = 32af9bbae111c9d10c062b8ccb3a8912 +Tag = 8d1d0153209d391c + +Count = 7 +Key = 8c2fb7941a8d090aa8520995f74ac048 +IV = f6 +PT = 4d4be4f207d0da0da4d9c289b0dcc5d4 +AAD = +CT = 00abcd6303f8caad833672d13c5c27f7 +Tag = 8e9ba89973ec9965 + +Count = 8 +Key = d628fad63c44aa0a3e047932298cba3b +IV = 04 +PT = 3c12e8fb6ab9ec4d911e65f3e4bad7d8 +AAD = +CT = 577c179439f4ed8c9ec39ee7b2d47c43 +Tag = 6f3eb1649769e95b + +Count = 9 +Key = f44a6874c66ad61a505d5ae75beb446d +IV = 87 +PT = 00fec3e955d2aec8fae65f46d05a71c6 +AAD = +CT = a7f42cd8ac344a4b46574a5d45e83a55 +Tag = 5096a93e9b4cf78a + +Count = 10 +Key = 3d5068cc8b3215ef793c083d22b418ad +IV = 4a +PT = 4d1ed0f2a020e8dbb69c41e64b3c3c9a +AAD = +CT = 473622811aae4139d929533973bf21fd +Tag = bf26bfde44568a42 + +Count = 11 +Key = a5681bf4d82bc4d7a024a620649dfc1a +IV = 6a +PT = 2f59bdcab9c8b12948c93152fa1666c5 +AAD = +CT = 002c6aaffb68ac189ce0fe86abea37e1 +Tag = e820a4f93440639d + +Count = 12 +Key = 4a3679ddc2527b7b06069a00c04015b8 +IV = 08 +PT = 6a40e62e73a24d83af7d0aeeaacdd5dc +AAD = +CT = 5e4dcff3e9948033be6d02aeea34b2d8 +Tag = 002c5a40f2edc1fc + +Count = 13 +Key = 03dc1f4fa12a6984baa97347f053a673 +IV = c3 +PT = 3ae1f91ea5ca9138dfcf6d995adfd039 +AAD = +CT = 60d433350da8302f76d3e8f966be4191 +Tag = bb32ceffa7cc03ff + +Count = 14 +Key = d26e707c800afcec8b07b7369e0a8e0e +IV = 3e +PT = 172312ab5a7aa673c6c94b4bc7f256ff +AAD = +CT = 36638a6ea1ecb0d8cf8ff07387a17f58 +Tag = 54d9a569a954e339 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = f4dfe23ed730d356dbb152ca9fa6c884 +IV = d6 +PT = 98d13268728d1df617c111db86331be4 +AAD = +CT = b981a23efbd7acf05664bb52c6aaeda2 +Tag = e9eadc96 + +Count = 1 +Key = 3d2c3bf3f2223408478f12fbd3250716 +IV = 34 +PT = f1917aa4568c26de716ab468888416bf +AAD = +CT = e9cd567d48ef12f7ffe557a52848d053 +Tag = b5ae01af + +Count = 2 +Key = 8c7ea167a3278c0e0854c0dfb6dc9f54 +IV = c7 +PT = 23105c4dc8bdd68d133e3747bf8a242d +AAD = +CT = 2ffc0a1b49a08fa7ea28356d37a0bd31 +Tag = 89985037 + +Count = 3 +Key = 8c8e8d6bbdcf7356c100c60b8e4b46dd +IV = 77 +PT = fe1a2956c68e9ea95fc7661effd15543 +AAD = +CT = d66313754d0dbb7c4a5f02165582906d +Tag = dcf4acce + +Count = 4 +Key = 8026ee03ad93dbad62b42166c0dfd518 +IV = 33 +PT = 46a33192bfe9596ce2f73536266d7064 +AAD = +CT = ebaa1d45747a7451bd247782b8b66124 +Tag = 7204011e + +Count = 5 +Key = 57579ddfa62fb87db71856485e99897d +IV = 9f +PT = cf7ceb7565e22b8c285e24f9425ba562 +AAD = +CT = d191c35c7b498c0ce71c645613e29b36 +Tag = cfd6dbd3 + +Count = 6 +Key = 6f380f43bf53693da686ba7a8d8b7090 +IV = 8b +PT = 9c15d06a0ab6dcfb7c89f74609de56a3 +AAD = +CT = 5653967eec13bd70ae27b5edd751d45c +Tag = ef0b3285 + +Count = 7 +Key = a9fdc5c3fbb6c5a79b9e6be1cd28290d +IV = 53 +PT = a8bc504d7757f096fef6eb11ef2741a3 +AAD = +CT = 8665e9472c9e6d54028c9fc068e21766 +Tag = 02d73cf7 + +Count = 8 +Key = 6a89a377a5b9e8aad370046f9556d727 +IV = 98 +PT = a6bb4d4a99303d056d06297cbc959c6f +AAD = +CT = 2037cc594d28706ec3e4384ae83d72f8 +Tag = edbd7dda + +Count = 9 +Key = ddeef74ae4c51d648c3da46579e51aac +IV = 3a +PT = d8f468a6aff7c1f72d2796b7099b1edb +AAD = +CT = a19679328c93072f38cf345a2e91243c +Tag = 00e6a965 + +Count = 10 +Key = 67edf5f70d73105f86ef7189db651bd6 +IV = b9 +PT = d2403013d7ab49e7d0e6bd5eeb1adf13 +AAD = +CT = 40bd91d84aa947beffabd2ca0137f275 +Tag = c003ee52 + +Count = 11 +Key = da5efb11cb2bbea4c51999ba15a4c783 +IV = 9a +PT = 23e859d947e33fa19418ac9db2edbdbc +AAD = +CT = 490c0b8395094e33bbf4829b1f41b08e +Tag = 3fe1cf6f + +Count = 12 +Key = e897c3ab30f7ce9fb6028f3e2e6a20cc +IV = 8a +PT = 55add48c6ed9cfb0858ded69c3d41f46 +AAD = +CT = 6a4d025a37b97b547ffdf4dd10511db4 +Tag = d69da053 + +Count = 13 +Key = ad074ae2730045b6690374ebdf4b75b8 +IV = 8f +PT = d24d352006f2e1fd42fd9549fc004c13 +AAD = +CT = 5cfe8496a31059c3754f0f8628d62bd9 +Tag = 8e82b573 + +Count = 14 +Key = 0ed8f3229228090d67c23c3de0050e79 +IV = fb +PT = 0da571a33eb7db6ef509515bf9dcd724 +AAD = +CT = d5389ce2330e5849a8bb2b8c02c60143 +Tag = b7175249 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 83f9d97d4ab759fddcc3ef54a0e2a8ec +IV = cf +PT = 77e6329cf9424f71c808df9170bfd298 +AAD = 6dd49eaeb4103dac8f97e3234946dd2d +CT = 50de86a7a92a8a5ea33db5696b96cd77 +Tag = aa181e84bc8b4bf5a68927c409d422cb + +Count = 1 +Key = 5dfc8a45f7531ca9a1d1145b333ba49c +IV = 73 +PT = abf37de1ddffe3b6db6381279ae4fd3e +AAD = c0685a55c8379d43e393da0cfc81d1a7 +CT = 50e14d76167fa88591c269e2f52ad4c8 +Tag = 321f975b408ec5f2c2c354147334c140 + +Count = 2 +Key = 53dbca8df067caa9e5deb2a2d7d61503 +IV = c8 +PT = cc8e30e6d4068cdf6f34c6e8227c1226 +AAD = cd9056670383e4972f12176563570493 +CT = 83144076b56a0dc590a5959f10c6892b +Tag = 9901b36fd734251a56d0d0dc9d42c219 + +Count = 3 +Key = c8a17065f738b3ffd2e67ca84c5766cc +IV = f7 +PT = a585ba29ec5494385f9120cdd0d662b2 +AAD = 54d74304e63211fed975799039fd7369 +CT = d8dfc6a3e22041ad239e1aea0deedacc +Tag = 2b9eedc15596563d40ea16aa98bf3019 + +Count = 4 +Key = d9b386a4c89f8724d2b04a6427a22b10 +IV = 02 +PT = c0df9214fb5a0138fab27f85bfabae7c +AAD = 62a8ac9406e13361290599c3f33097b3 +CT = efcd742d3fb3a92416eb861f1689a12e +Tag = 6b3570f1ac29133bb2d0d3914345d75c + +Count = 5 +Key = 9ae2d3eb74487ccef2c3c88ccc939db5 +IV = a9 +PT = 3115bac4435b59cf8b6ade74c8a50315 +AAD = 636d00444b9e810ec88260fee267a931 +CT = a453f194fa2d8ef18afca29c26dd5556 +Tag = 166bdd4834c7e6cb78eaa9a83a92d9f9 + +Count = 6 +Key = d4c3592364bd2f771ff3a9a05125ec19 +IV = 87 +PT = e68114efd826e2b0f2d39cc349782084 +AAD = a7bd58a238cdde80be3b661bf2205bf9 +CT = d5c276af62fb6d390589c3873dd55862 +Tag = c99cbd69772c4bbb6287d28163e36915 + +Count = 7 +Key = d19263ab069fd04c003ab69c80d5e5f1 +IV = 2e +PT = 2abaf0307e3bbeb4012ea73f2fd18dc8 +AAD = 262400ca5360e162c1b250becbd1ca14 +CT = 49b3df329053e929e58f887ed498b911 +Tag = d9431235eba58c58398e4fd5c763097f + +Count = 8 +Key = 4c2b727027cd75dcd21ee339723f15b8 +IV = 80 +PT = 8ddefbeb98d041ea788a698ddeab6cc4 +AAD = 458d2c1641be18571fbc4d1a51c99d54 +CT = f8d4f72503cdb7dac18c17ec2711899e +Tag = 4d863a549812002c632bb24403259a9e + +Count = 9 +Key = b4bf2d98b4a0b27a3846a616c7c82336 +IV = 1f +PT = 7df37feb453e3305cbe17fca5a096cb6 +AAD = f988119abb47b24c3484615b8e479d8b +CT = c1b1231dd3ea71f090c085586fae1532 +Tag = f44a7e989b1e2513f1c27768a13706e5 + +Count = 10 +Key = 6ee26006f04f2ab4c55552bf4bf1d2a7 +IV = 08 +PT = 9811333cc20949c7d15e9802b7fd81aa +AAD = d7f5329a216dfcc37746a4d2b9dd49cd +CT = 6a4caedc2ec8701c3f0f992a394f7d5e +Tag = b553f9e04fb450f3581fab551b4f025f + +Count = 11 +Key = 10054a3aa8d0927ca40995ad664e299c +IV = e7 +PT = 29bcb48618ad0dbcbece764b534c2a6e +AAD = 826dbbda4eb3ff2cc3f23847c4a6ed8b +CT = d09a116fb45aa72491ee919594006c02 +Tag = d47a02da533e542335c8f42406ca9d66 + +Count = 12 +Key = 5524795cb41cca9919f11e4c9aafa78f +IV = 45 +PT = b6b014d092943dd9515c3f3f56c685e1 +AAD = c6208978f975861cf001f671b12ee50e +CT = b05addd447f1c44e49a4c57763f335d0 +Tag = cd6fe0e0e709402453b9eae67369336c + +Count = 13 +Key = 6f29fc51ea43562d1b2bfebb3962d4ad +IV = f9 +PT = 50c8ee4a7842b5a274b8ee02c8e2b44c +AAD = e7227f19bf0c86627b22ab2a77499169 +CT = 24dddb6387e2fcf1f2fd612db8bf73ce +Tag = 478b7715514b4595f50e7850d60d9d1c + +Count = 14 +Key = 0df8aabea3e8287b26bd1ae24c8a75c3 +IV = 11 +PT = a3b0184accff60e175c650851432bbec +AAD = 746ab2a8135805999fe1b0b55c36bb4d +CT = fe8e421b4324d1c280870ea730c9f7f2 +Tag = c513421378f9dfd88f54d41c2ff5c680 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 78d69c4ac075b4e70c7fa0bdd0172424 +IV = 54 +PT = 6f4836b6ffb1911f6e7a0bfc26078786 +AAD = 186b405e5ddfb3417211625ce7b9559f +CT = 38bc7dbfa23cf75da8ba705263dd0136 +Tag = 26ee95cc01af994a9b11f6b6900591 + +Count = 1 +Key = 7d25394a277c07e0288dcaa31c4256e4 +IV = 58 +PT = 59d3e5f4dc20b86f80b24be33365ca64 +AAD = 37c7968097ad6ae578ab402a42402653 +CT = 421f074a5c42929c8fd34d5b95aad601 +Tag = 55fd6d736aa30753c11175156cd1e0 + +Count = 2 +Key = 89583ab386a7ac861a8c98c67e3e3f39 +IV = c1 +PT = 0eed4a821992bfb558e59c9a0495a816 +AAD = a18730e60475041797634066a3cd353f +CT = 7502ec2c3b63e20b75a0c6fe9750c005 +Tag = d6606bda5a097793bdb8b4e7c0fea1 + +Count = 3 +Key = 3e56d5cc7e7632b46dd546fd69306f82 +IV = fa +PT = 261ed1f84ec223bfa7759311c7caf4c0 +AAD = 9996ade18f8a22d65c14c5f053ce3bb9 +CT = bf50bc0f25834c79c4df0a92787a014d +Tag = baeaf6058f0dcd73dcf195767893b5 + +Count = 4 +Key = 5f673e52689a4871b658d2dce2d54907 +IV = 82 +PT = e5aba1b8e85f200c03b28aa203a16644 +AAD = 89870f4f45ab84d808179ccee4000843 +CT = 48597338aeee32c7c90a2ee61d3f7b4f +Tag = 83857483d0b3676f30bf079dee037c + +Count = 5 +Key = 9ad21c94cb99a2a161aad0d7eb0a5ca2 +IV = ef +PT = 6394505be0c79639b0747e0ef8ffd597 +AAD = 1a9c36881508acfe8cbef5c3d99896e9 +CT = aaaaba990c5327bd1cd6a166bdfaa9f2 +Tag = 8fad2d3272acbd193022c8bf0c34dd + +Count = 6 +Key = b442741768fbf9c84a05a82366b15a39 +IV = 96 +PT = 6e29270f056a903aacd1695186a4f8f8 +AAD = eef0decca4c3a362ae5bdad484aafd80 +CT = 0c25750d657928434a06ffa9330af3b6 +Tag = 14577ce7990e949d99da67b9aaf1a7 + +Count = 7 +Key = 4ac3ecc978c12e240b2c90072569950e +IV = b5 +PT = b738f3bc28792078aa4c90990698c78f +AAD = bb02ed88d71e07b391c6f46545433b69 +CT = 489c3e9146612fbe92987cc482a6d984 +Tag = 815132cf60c81369581599095e6080 + +Count = 8 +Key = ec726e8bb441ddc258651487ad956118 +IV = 6c +PT = bdfccea9859f73951b2c402981b07204 +AAD = 1e0e4b887af76f066ed91958a079dc5f +CT = cdcf18aec1b074f4ebb68bb7150b7db1 +Tag = a7c2a3181f15d6d9a3f7fdd1e28db5 + +Count = 9 +Key = 9fb0b7a37b971c4332c31ff866701f43 +IV = 20 +PT = 9aff076f1d16883725535c4f119a8081 +AAD = 4d4b48e1a97db2658613f4c3b2b3fbc5 +CT = b2c4945ed0575c70f1de3c7c59e9523a +Tag = f04f14d9f07e14c012e1a7a81c04d3 + +Count = 10 +Key = d386b3c7219a6e9ffd7498a2a22e50b5 +IV = 80 +PT = a65c860c2535f642c2150500ae70f3f4 +AAD = a79b6f884b7dbc7e39fa4cdd68ccc4b8 +CT = 9ec87b04494a23df981ac65f76214efc +Tag = bc42c90addc4d0ecc8119f4b8a3ec2 + +Count = 11 +Key = 0f3b18d71649b2f8b4ad0e236d739ec3 +IV = 0c +PT = 3cc5dea1c76e7122fefad2e9ea0f2a99 +AAD = c94a79de07be9a6cb24bed8ab0f8dc4a +CT = 3407167f5149f7535f6fe91d93da87e9 +Tag = 00ee6b4f29bdc876b09620aca7c890 + +Count = 12 +Key = 62db6d90457c06e4fa228674ad9408db +IV = 6b +PT = 8f09df9ee5689b3e99370c6be5584c5b +AAD = 1f5bc029a1e4e75895384e610427bd0f +CT = 15805daec1ac33588d1f7c95aa5a6910 +Tag = 0504333dd780ae62c40bd8a0b6560a + +Count = 13 +Key = 891d31dea4b3eae0a30b02d269a66a08 +IV = a3 +PT = 511001ade29b9c3d3d5849655e38b909 +AAD = 190bd1aefdf2e15152598c1b3b5acbe5 +CT = 3db6336f03456312b1decf0deec7267b +Tag = 9c03c944a74e92e23d3c0f1877225c + +Count = 14 +Key = 638f2155e7fa2aafbffd56b8815732f5 +IV = a2 +PT = 8d047269c4580a889d92b1c327e8cc88 +AAD = fe15e900b3522c9a4887f950ca0c4877 +CT = 5e79c1454f1fdf734868fd339cd69ce0 +Tag = 547900f5063a656e78d2cdd311e28e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 95318563a771c28c8b7a62f218715bbd +IV = 2f +PT = 5722af75b03d1f742e03f67c5ff543af +AAD = 7998c957cb6dc1b130a5a035d1523370 +CT = e3f5e6f5082f344da10ca0b5838b95b7 +Tag = 89e3f1158cc9b54828f1f0dfe7ca + +Count = 1 +Key = b12e0a83d592e02cd8d658c4e9f381ce +IV = e6 +PT = fc3319f67b2d5c0f40d04b4312637ff0 +AAD = a423ed58b62d0479d883582f70d6d2d7 +CT = d45b6aed938983c4ed4687f27979a488 +Tag = 7f5110338df0bc76f6aebd7f7336 + +Count = 2 +Key = 4fd450877cf2a29f78e40efb87cc2c0b +IV = ca +PT = 3728562d3c03b38e1856ed4625e75198 +AAD = be7a133483345998faad4d1b4f11e036 +CT = 6dbdf59308bd5e5b1d6f615765dd2c0a +Tag = 4b8d82326e2dda426dd1be2b91e1 + +Count = 3 +Key = 5ae9a3bb7e978d7791c1ce9523d1abf0 +IV = 8e +PT = 724dce5866a06eb15b31bde919c83557 +AAD = 8866653c6ca10d5b58eb8af97e224786 +CT = 6a56c94c837c3440015c453319fe56b2 +Tag = 01afbc755b4cf006b043acd10b22 + +Count = 4 +Key = 656e9cc7bc8ca039e4f160028b2877ec +IV = fa +PT = 966b5b6e5dcae688283c90efa0ab6f40 +AAD = f70d49586182626f4473f311fd05d881 +CT = 4ee39ab2c92c8fb0ad0bfd2a72e6b38f +Tag = 6419f6c31bc0d4ad449881161a3b + +Count = 5 +Key = 79bf56925ba27f07048a75b843dca526 +IV = 33 +PT = 3cb4f99a656888844b74f46c2b9c08d4 +AAD = 48fea19a12805f5b1e9c4b2f391b5183 +CT = cb9d27421989ed42408052f21c43c5c8 +Tag = 38cd6794d1f30445eb7d0d5d7a0e + +Count = 6 +Key = 53a09aaa6a358f4331fc2c5227639125 +IV = 6e +PT = e619ef58af785e9c928fa87682a5e19f +AAD = b9dcd19b37b1c68fce938621094c067d +CT = ce712a2cba73eead20c6bebbfa0ad5ca +Tag = ba5c5d492671734e6a303b6d6bba + +Count = 7 +Key = e402a6162f9da4321044da76d1221b52 +IV = 7f +PT = 1fb5657211a455cb4a74408c54e6fc34 +AAD = ed17972bc83fc48c3e5e74046a226655 +CT = a10573206972a601734b207ae48d3d90 +Tag = 47c3c7ea8c191eb4e0787e9ac5e4 + +Count = 8 +Key = 8c8d67f52a8f84c44f1f6764057bbfe2 +IV = d1 +PT = 8ddca50fd0ce017110c8cd2d72f7f1d5 +AAD = cc5030bdd864783188033ceaeeded45e +CT = 3f97d836f605470eea7eb96c8a2468b4 +Tag = 02d2a19756b880c0fb18c9d39da4 + +Count = 9 +Key = 3d6ea75b4521d82bb79b7a22437a44b8 +IV = a7 +PT = de9ba11be5e032c95b70188a7d21a507 +AAD = 6a9bf80df109604010b88976ad94998e +CT = 6a0799ac19eb680616370ef5624078c8 +Tag = a38297323bf33c741e7a04ea51f4 + +Count = 10 +Key = a9f9c119dc5a4c72b98a282164bdf041 +IV = c0 +PT = 6622ac3cd99a53122643e1d18e34fef2 +AAD = 335f8ad94d2f19616c0dd6b3f5b3c770 +CT = ccbe0c1bd99080252ed1f4fedccc2e4f +Tag = 6c36fb216a918aa7c5a64fe258eb + +Count = 11 +Key = 7a526db7b4ad0199f4b12b541b09db39 +IV = 3b +PT = b34b7f145e9c4a8fdc0a9a6cb957ba9b +AAD = 36dde36c930dd36b4208705cef3c2652 +CT = f69c5b7d488636126694d0f89ea553a5 +Tag = bd73bcec200af97fa7a271c2b0eb + +Count = 12 +Key = 12c2d42cb1e04699af70c7b35493f12f +IV = 6d +PT = 663fe74b9deac9c83b98a2137e2d40cb +AAD = 551877aa79f9b3cc72cffa24c97ea966 +CT = cf2ddca75f485cce3a71668abfa54561 +Tag = 1de518d92a7ea25283695b8c1438 + +Count = 13 +Key = 3020c738465886e611e2f019b1d5d324 +IV = f6 +PT = 5814c0d1b45686a89e4bc544e68ca17d +AAD = c48a7cde596b51d09b0c17686891681c +CT = 3f2f2f4d7e0bfbca54608cb12f6faa48 +Tag = 8cc9866cfc3f6ea3bc70acc145e3 + +Count = 14 +Key = 7ef8ef94adb96b13aedb1b4819e3ac0e +IV = 57 +PT = 9335a2cf38de25ec4357c28ef322644a +AAD = ce9ca549b4cfaf5a3da6c553de695cfa +CT = 53b29122257e3fee284f62718f238700 +Tag = 35563e6774904e25740eb0a51221 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 1f0a1bcfc63c6cffd6d574405c684c67 +IV = f5 +PT = 2255dbb69c33c5d0b2a3a619d4a666c3 +AAD = d4c41c382c894904f79a58ede9198bca +CT = 25e6eb69109125e6b3a85e3a5618a70b +Tag = a863e3e51f2f4ee9b08fbbddc7 + +Count = 1 +Key = edad929ccb69e430142eb3acc2976b06 +IV = a3 +PT = cd9bb6859f64d60ada70d62423d9f8e4 +AAD = 175ace262aeb34633115dc6738e26585 +CT = af447488395ffa19972ecccb4adfe3a7 +Tag = 1a9b1c0c9eca6518cf5ed4e2f5 + +Count = 2 +Key = 904c8059c27b7b4d91c9f18bab8ae419 +IV = 1e +PT = f8c1f6bf6b7ce3ad848c8bfff8f27571 +AAD = ce6cd84be52e7032282d865adda94035 +CT = a9e100c5c2e19fd59c7fd5415f54a5e7 +Tag = 1581d898751ab9d844ad01a7a9 + +Count = 3 +Key = e64b0864c422d05bed66b9cd26cbb0e3 +IV = b9 +PT = 39b23e0aaf1432271b3eee87428a22a8 +AAD = ee6668a994cc155076e413dc23c1734f +CT = 71f73808e16ddfe2eeacb4184a99ed91 +Tag = c5a77602c8c0046bb85a9d09bb + +Count = 4 +Key = 22bfd496962e198bc506d25081d949e8 +IV = f0 +PT = 269a5ec45faf75432c081edc11401c88 +AAD = d5e1a87dfa94607b3697630b764fd526 +CT = ab8dc4e37543c910e65ed2c29a2f503a +Tag = f900523aa32fb55b83df4e9838 + +Count = 5 +Key = f692a18284a5eb59322728ac003cdbb9 +IV = 94 +PT = 7032ea39a14c88c68b743cda85667d76 +AAD = d0b35d698a85631f84076ac05f1cbd7d +CT = ee3873b2a616a25ac2b8fa13ef935a9d +Tag = 8faee2d3368999aca9e49182f5 + +Count = 6 +Key = ce027c6310ace681986cb2f4b336a83c +IV = 2f +PT = b516d274867eb683240e9bfca9d704fe +AAD = a40c56ce86ee77be3ef2d6182f4b03b7 +CT = 7db052d5da1b52411902e23679968db6 +Tag = c03e5dc77ee83e14ddb75f8188 + +Count = 7 +Key = b4548cba0ea323b0ac63155c946f1af7 +IV = f9 +PT = 617586237e8909e5822e0c251916ff20 +AAD = 329220e8e18ebb9368400dd384081c55 +CT = 5ef7a74e9f8c2a52a5c5ce53739bd5c3 +Tag = 525fee83605210f3dd06d29bad + +Count = 8 +Key = 3d15bd035e23a55dbaae41d3e356fdb4 +IV = 99 +PT = b0711589283975fa73770f11385d256c +AAD = 9e53b484a12e82f1d05ca2aa6afc8c4c +CT = 46fb62ea768a7de31cd5d5551a233be0 +Tag = 435e006021b499b8546d437429 + +Count = 9 +Key = 4dca50ad129b73e814ed141ee789442f +IV = 4a +PT = 2b32f93cdb289ad7a7b42d17bde49830 +AAD = 8d84fab8073c6ea5895eeeac6b83ec1d +CT = 1f1c9094f4d14351c7766d3e41f1db48 +Tag = 0251ff233bee8789d8373d261d + +Count = 10 +Key = 718e434061efa45f71c39846fe949e4e +IV = c3 +PT = ad2cd88d6e79ecfdf04b952e503ac2d3 +AAD = 94eb2c577d9511853563e87e0924a928 +CT = 9fdc52300664cec47d66b861e8140ca9 +Tag = c5d43281658fd43f72847479a6 + +Count = 11 +Key = 34ea5a356b08ca6c79f6d1e562f9f16e +IV = 5a +PT = 810b4fdfbdb749b66bae2ef3ad1ce21c +AAD = c581ba7766c9d44756937d3ec82d484a +CT = 8500258488ac47a5e59712a4117fc6c1 +Tag = c349b8c698a042b7af1da30df1 + +Count = 12 +Key = 44e1df804697ac7436e27950529779f1 +IV = 68 +PT = 9fc1960a1e73a2924a4d746f2bcb973f +AAD = 0c1477035708dab09975ccce8525c68e +CT = d45aad49bac27cd1f59cf2f7ea2fbbf2 +Tag = d77c714d480d36eeeea527b6ee + +Count = 13 +Key = 6c6baef8bb16b022f264ae60791abf17 +IV = db +PT = 3a69269f1de57ca6cce3eb628e7bd72d +AAD = 82f7779c14c0617775d7572692058a70 +CT = c02012a32afc608acfdde6da81dc5954 +Tag = 83f3dd1c0be9f83bf5ac4e8c35 + +Count = 14 +Key = 3a4c0a5525218708a070dd43a26eb72a +IV = 13 +PT = dd5acf937b36482690cdfbffa592df75 +AAD = de897faba3147a3ea9630faa06286735 +CT = a65ca88901f8e8124b330dfe3ea27cc8 +Tag = e487db53b44cd5dc1c4ada19ea + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 47719e640e9f47c35b06ab03ed4c2b6d +IV = 74 +PT = a310c73aed65be31f49644844a4abf6c +AAD = 698fe7f39be80fe9fdc699b3e02d760a +CT = 778f71ac1b1809202493db5caa9a8a73 +Tag = 75ceae43b4b666890e7c30e7 + +Count = 1 +Key = 0c80c6bdb7107cf22da8ab6dbb5e1117 +IV = a0 +PT = 245d7f6f28649d6f4ab96dba731a9356 +AAD = 5915ec8d37d775d7310c4de5850fad3c +CT = 37fc03f939a1bf1a1c8892c96d166001 +Tag = c7afb5fb943bfd2ddbc2f9da + +Count = 2 +Key = ac77371af9f14febc5d097fbea383fc1 +IV = 60 +PT = f3b016dd9ac659edc3a44cb3b8673966 +AAD = 25248ee475e522c3282d06408c57f140 +CT = cce70f5fe4aba07062c0e1cf026a60e7 +Tag = bb4bab5838a3886c2a1ff7ac + +Count = 3 +Key = 0650923611139ff183093956e778bd86 +IV = 6a +PT = 0aa3b270e1ec5f90c755ce9ec06cf328 +AAD = a349bb3d3d73533f06378d833fa30eb3 +CT = 50e988ce1032ffce99db23f43d2ac348 +Tag = cce3177e569a2a1efc24ec80 + +Count = 4 +Key = 8a11b1c1dedf6883882e22a0e8ce8336 +IV = e6 +PT = 6477706d6792d3c2e78487de630b12f5 +AAD = f3e8ca9b7a8add1bcf7be0e0912862fa +CT = 78fba5e89e37e5e253d5a7f27b654523 +Tag = 305c03145935fb79543dc64d + +Count = 5 +Key = b1555dd7696f5c09d45a695327336fd3 +IV = cc +PT = d509ebd7d872bbd8265766d477ab00a2 +AAD = 539a55f98ce8093ae68928a9d549080f +CT = 11ac4c6e49955af01ae13f33412075e0 +Tag = dceef4a0da1810051b54001e + +Count = 6 +Key = 5d85eac4cce78d7a120dce36aa2baae8 +IV = 17 +PT = cd603259ced9a7487ffa3d4c0ac6c869 +AAD = 5b41a73bb7c701c96cd7a9cb29e27dac +CT = 5174b0ce1fdabad51761245d733eec5f +Tag = 2dabae7f6b0b542526c0eed3 + +Count = 7 +Key = c3f34f96772ca40e59d384cc5a92ed59 +IV = 42 +PT = 352ea69ec6bbc0e83eb9474c4e9ecfd5 +AAD = aee74a4953abc80e41059205a53414a6 +CT = 30f619ff9f5fbab9dd6e2549af5e9f2d +Tag = a88fcb2427a228005ca308bf + +Count = 8 +Key = 00bd485f5492bf9d4fd375c6d9b10fbe +IV = 01 +PT = fc02ac70df8f350a3fe0ddc411ce62fb +AAD = 378b55f052d396392e74805dbdd83be4 +CT = 321d28f6a94c926d3ab56d00a22ca7dc +Tag = ec0d6b879eb7bc09d531e71c + +Count = 9 +Key = 72fc1a77d9daf34dacc77e1d952cebd8 +IV = 05 +PT = 8e050dcbbefa2eb883b4d912976218e2 +AAD = a5d3267dcb19ee1ce39d6b0c67f9a003 +CT = e6802f301fff2feee7329ac82affdc67 +Tag = 086d6bb8d074319b1627ec39 + +Count = 10 +Key = 28f24816ea97fbc2eb064f267e86a601 +IV = 98 +PT = 2b5ece6fe7e54cecc76e5003cd8dbe62 +AAD = 8ee0bf99310db3334b0a1678a9b7d8e4 +CT = 300fb6c64352351f73e39b237c2f893e +Tag = 42a8ed2ab629272f1542d57c + +Count = 11 +Key = 3b8edcfc6f0bb977425c93481e9d8fc9 +IV = d5 +PT = 1fb4ce0aa5c1a88b3cbd63b71754da0f +AAD = ca829a70dae58c107c5824f1683f5503 +CT = ac91ac351b514478cba0e7ca06e381e8 +Tag = 8980377cf2b6945ca2adcf96 + +Count = 12 +Key = 79e57257640a3875e9366488df5570c8 +IV = 04 +PT = cc4e2622c586c2131526dc92e7e2cd4e +AAD = 700491042ba76eb4e25102cc980f6c90 +CT = 3ffa3014d937075176a948c3bad65291 +Tag = 7494cddab07132abfceacba0 + +Count = 13 +Key = dac3aacab412f0c00ec745ddc33df1d6 +IV = 33 +PT = 7821912e1392d8d01664483b648f09f9 +AAD = 71983640ba7bd8565d226ff512f1a0d2 +CT = 2c6218bbc58978a06c61a5387ed7f6d8 +Tag = 8dd3949aebe6513c41b1928b + +Count = 14 +Key = 3567de3ebf7211415b47f3d1276293c9 +IV = 57 +PT = 5876b483bbc225ca09bff7f3960e3aa6 +AAD = b34ad0ea662fd8b0fdd24bb2adee08f1 +CT = 5c2d6bdf1768000d8a522d4a7ffa50e1 +Tag = 84f7a9d3bd6bd32bd1f96caf + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 3c43f6c95b78241029e92922176f1132 +IV = 3e +PT = 54d02a484eca3504244a96ecba8da1e7 +AAD = c07dc8d52af569d3c82c571173dca44b +CT = d2b51a63843015a2f611164e34446d28 +Tag = 8816996ad8de7833 + +Count = 1 +Key = 450c03dba24a368eb361a52c4014a6a7 +IV = 93 +PT = 558e48c51f29cabda2586ebe52654ba3 +AAD = 5269614fdd27b6e3a6b5c7765b2d4b3b +CT = b154b2dde2fe98c41271eacfd06c87be +Tag = 32fc025e721a1bfd + +Count = 2 +Key = cb335c66cff8edd66fd64b936504aff6 +IV = 59 +PT = 4ceaa1d7b659826f7139cb23813a277d +AAD = 9d5e420b281b22134c0ea472b881ecac +CT = 85e839970a8f2b4f5491679674986e9a +Tag = 35a27999fff4dbb5 + +Count = 3 +Key = 0388ee5679d4229ddd935ddfc7399178 +IV = 6f +PT = b960ad967fad9ebc437a167e52bb5a68 +AAD = 11790fd85c9ac4581ec0c0183fba902e +CT = e4ce51e84ffd2ae6a58400beac7c17af +Tag = ae0004bcb462c5b8 + +Count = 4 +Key = a09aada2d1b7f962b701e7092e4e2fd7 +IV = 59 +PT = a42a83efe7f3fd62853c4c071763887a +AAD = f8895f9518ff723de120e1f2cdc886d6 +CT = 621297634b3ba5cc64e9415c6ed7b1fb +Tag = 1d3a19352dd2545e + +Count = 5 +Key = 047339dc6c0ddb74228b2d1a6f8a17ea +IV = e9 +PT = 1ed8850c0e63500c65f474b48bed1d69 +AAD = d310126b557a0ddf37c95d06e844cd3e +CT = 1d6889e25653731abc1a1472076a5bd6 +Tag = 31e2e3b7ff3aba36 + +Count = 6 +Key = 360ef3ca38e1cedc7180c0b2ffde8acb +IV = 4e +PT = 0a74cc6a13d2916caa6087bd6795c755 +AAD = 39f11b84cc117900ed63590640fa036f +CT = 7db0639d7d8b209307b644e728efb145 +Tag = 4f6366f17afd5081 + +Count = 7 +Key = 77c12ce67f3c1fb0dc4c19e74153f539 +IV = 28 +PT = af618dfe16b3d47e5866fa76c6fdf922 +AAD = 5740b2531a33e94748297694cf7d5e0d +CT = f076950a2a6d7d79f114d8b683dfa2dc +Tag = 6c980e24947944c2 + +Count = 8 +Key = 71d403665e1a955e75637aa15521b595 +IV = 7b +PT = 35b2b266e54b5c629801373a694e19b7 +AAD = e9dc4fc63d113e4e3ff7068d3427aafa +CT = 27351a848e1974c43c6de72d94bc1276 +Tag = 933353d41cb5088f + +Count = 9 +Key = 5e528b254dfa362f0ae4a475fa2093c8 +IV = d1 +PT = ac6f1bbb65e506eed05a244f91186fa0 +AAD = f9d9c0d7df004d934eb86ceb56da84aa +CT = 131c6a5ca361125c8593bb862baa13d2 +Tag = 04069928e494282e + +Count = 10 +Key = e87d10927c70daafd0a35ecdf12980c1 +IV = 22 +PT = 75132aa04ec9519b16bfd5da9841fc92 +AAD = a2ecedcea1542bbf3806c9865fb17806 +CT = 818a8dca58306de19f0c2ce186fff03e +Tag = 56178bffa98d0f2c + +Count = 11 +Key = 747ba7e1c7d8b8d92bf53ae5c5123e75 +IV = 0c +PT = 94b11bcee19514e0a5075a07d074f02d +AAD = 68e9bd80b3c2a85b7cb677dba239a033 +CT = b2fbcc83e70bebfcec4c4f2c1e2a93bc +Tag = 4cc0d9728b75e592 + +Count = 12 +Key = ce1898f1f6c78ee6847b893c24387ebb +IV = dc +PT = 0d2e2b2151bb2e4ab3a111d426b54cc9 +AAD = 7d13d26659eb40a88ae584a541e21ff4 +CT = 419e2032c4a12bd541518350df47860b +Tag = 470202dfc6581669 + +Count = 13 +Key = 0e1995da12283a895f82903e2576a862 +IV = 01 +PT = 032fd780b947ecabf7162808686ae35f +AAD = e8287d3d6032da5cfbd5db2d2fb1c00a +CT = 2ed3a7d97dbe569dbf326700461afd55 +Tag = 79b71d1d4c8a99f1 + +Count = 14 +Key = 712acddacb09aecff76c463852e729c4 +IV = 18 +PT = 1e45d876abb3d9e07fceb0729ab17cd7 +AAD = ea2fc3d7699e9680520749f029091b2b +CT = 682c1fc41acfa8da9a306faabe15a6a4 +Tag = ed68145290d95460 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 0803729675be5bb94a4e9cd54aec105d +IV = 57 +PT = a48dd8e94587ee0c78b5a3cba9777cdd +AAD = da040589951ef360e7d4c9f10a9dcc48 +CT = 35eac9607b441bcc8e0dd5abe626bff5 +Tag = 6a638499 + +Count = 1 +Key = 8867e7070d49a7c5d2fc890d51960103 +IV = b0 +PT = 98dbe0be75569b9f53e174d9d23bfa01 +AAD = 493ab3b0d3572766455d444d9f6a9ed3 +CT = 757984f06c1c4c77bed380588f1c8ff0 +Tag = aea52939 + +Count = 2 +Key = 584b14a337d0ef8091e5f381d3806dfb +IV = 80 +PT = d47d12cc5c23d5d8daf1e842e78e0ddb +AAD = 767e78db52b87fd06741343f6b63ee4b +CT = cf4d1a67194826ecd4f57b5a36929faa +Tag = 512cef05 + +Count = 3 +Key = ca185b1976bb29deac497ac0424be643 +IV = 90 +PT = 9b0544b0eb2879a18b4de9476ebaca55 +AAD = 76ad863209f2f9a1e5c03acf216848ec +CT = 5e66ee24eab6ca67aafef5160d07b0ce +Tag = faa80798 + +Count = 4 +Key = 6685f0d1a62a4fb295a551b699b3c090 +IV = df +PT = b3ebe34fb7af1817f94dac752a751936 +AAD = 0a8fde0cbe200521f0cdc60d81f64ea6 +CT = b83a81f1658441f7ea262689fa36ec6f +Tag = c6e0925b + +Count = 5 +Key = 221f51bdf845eb2c1d0e24284c6bd332 +IV = 32 +PT = 748ae09be57fdb9f025ff2a2834ff3e6 +AAD = cc8fb455e413854ea02685c574d55674 +CT = 18d467529676e0d6aa417cba19bd24cb +Tag = d31984af + +Count = 6 +Key = b2465869090448125d3c044fb58a8ff4 +IV = 88 +PT = 1efc0dd567cee77388be46db4dcad11a +AAD = 781e68779d49a4b5302d6c2df780f1d4 +CT = 04c8731c05212daf89db2b56c52a564e +Tag = 97e0c951 + +Count = 7 +Key = 2904ce9e8dd066a2bb5d5d4427bbd4c0 +IV = c3 +PT = 04261e814ce4f3fb853ed62fb80e40ef +AAD = 8ff9805c20393803e241f5b123b73907 +CT = 9db3c89fb997692c92ad205c19c774d2 +Tag = 54701627 + +Count = 8 +Key = f07f4c318361d24510146c21bbc1a106 +IV = a9 +PT = f2535d23781e5a01394795eb1d05c999 +AAD = eefe27119e823cae3e17d4ceafce5dcd +CT = 25869685dd8776e7bdc5939e4139358b +Tag = fd9a8c98 + +Count = 9 +Key = 1091eb7321d05cade9e302fbddad7ed8 +IV = ce +PT = 0f324c8eae8aefe234c70ba4495c3b05 +AAD = 0b0f0c476b5d7760f6f707008ba6c8e0 +CT = c83435256b520563598cdbcb1b960457 +Tag = 4b05147a + +Count = 10 +Key = f0fdb2a7be4d79b0b61ea65c1d59bb3f +IV = 76 +PT = 8fe563aa52d08ea767ed7c875b6abb76 +AAD = 7ab2711ae1b65360fd1c6f3a6b0b9ebe +CT = 19a2d3ab6d0f41bf0a0af65160b24486 +Tag = 005a40e8 + +Count = 11 +Key = 38c98362aa013b3ff21bdad379ebbf68 +IV = b3 +PT = 2894313a09e3a79f28fab1dedac120fd +AAD = 7d7cc2b56432e5a1c4b10ec4f74437bc +CT = a1c487eb44eceac770ee340725d61a54 +Tag = 6213c987 + +Count = 12 +Key = bc890089c1fcbc3b8f18c12444b3bf39 +IV = 90 +PT = 4acc9f84c164cd62bdafe60e9d3b848d +AAD = aa68578caede57b896dd7420eacb1f42 +CT = 683e4085528a1c4bdd293340e2fa68df +Tag = 7b5e7c15 + +Count = 13 +Key = 1d2010362f349aa8046ad27da9787da9 +IV = c3 +PT = c9d70ebda9e80cba6df772caa8aab962 +AAD = e926895698b57149b778e0e7bbec3a43 +CT = 93da260d3e4fc4c587727fcd908699a0 +Tag = 2a02128b + +Count = 14 +Key = 59fa670ca00e3fbf03298201fe8ceb69 +IV = 49 +PT = e21c9c8a446746078315856a60d56249 +AAD = ae3547fc09838627b59e8b706a78cf18 +CT = a201791f034a42660533d4a09f3b8a78 +Tag = b5f7cb7a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 6dba65dba3312e9b907a49bc46902317 +IV = 39 +PT = ef7e921f46624c693e0f8d908b8b980a +AAD = 4ef6b550ad8682873ad29b5304d348d30a3623b0 +CT = b7618956d40f9abc28e83504402a4a76 +Tag = c0a45a7b3984d9b9a512091ad74d2d8a + +Count = 1 +Key = fbaafb739a15115e1be603d9a64ef045 +IV = ad +PT = 04c7cbf45766b200ad0f3f514f0491b8 +AAD = 69d0767a89d13442abd729fb7b84d5fa699ef90e +CT = e031826e2a7e93ef8001dd20e1582112 +Tag = 9fd676cd0077787a6fdd1b997a56214c + +Count = 2 +Key = 0bc2822441c185d7439c2f55792bd56e +IV = 68 +PT = cce20c39c5490682f0dbae1ddd76fd8c +AAD = ffd2aa0e82aeffcd326819b173c912a6be399a39 +CT = 037414cd4a794dbfef7b4caf487e478b +Tag = 0b93840655340ee6387ce4489c88f69d + +Count = 3 +Key = e467ad4c9b7ca179a498f3c9a2c9a851 +IV = 7e +PT = 6afe65803124d6b95f97d8566c69065c +AAD = 4003f29a037230d6760abef81acef9f0071dd0c2 +CT = 3a1fecd369a288f6834afb367008967a +Tag = 5eea1c1a0aad7f7e5157b9041963108a + +Count = 4 +Key = 71653c03c5717919f360e51ee5e222c2 +IV = 57 +PT = 96e4e1e4a7828c67866ef733d7292df6 +AAD = 516a61d11b349afd5cf9e571617a02054b886048 +CT = d7e623e9aae540bf1ecf97fb6f47b9df +Tag = 7a46f0a655df0ef3ea7bb8308ff6dd9f + +Count = 5 +Key = de2833d18edabce1923fc2f98fee9afd +IV = e8 +PT = e9a4fd572110401aae130ca76e9f6920 +AAD = c746c793013033125e58a029a5cc92d04ee1c03e +CT = bd3b95a197de598a765e575987cec2e0 +Tag = f28982f251e30c0859446cb5c9b34bd7 + +Count = 6 +Key = 839be2ae9cbce8c00e2ec39a48bdd92a +IV = 60 +PT = 0401969728f7f98371f90e7b385906d3 +AAD = 4cf57a7692a87de08572ff70679cb663ccc3c7be +CT = ed36e1bf9063ba5d51ffc02ac257275b +Tag = 3a33e68a103eeb8cb9ea981b2dd78e32 + +Count = 7 +Key = 098053bd337028e0934429b6b08e92af +IV = dd +PT = f365ce496c21f7eb4616a1327a38f7e5 +AAD = c443c4113f7290f9e1a6ca2f74fe4fde0e70c2e2 +CT = 98695bb10ad06034086949bc1ab3dc8f +Tag = e685b8d4c52338bccc46695b754107b8 + +Count = 8 +Key = 092f0a4e43c679589b99f6b23c4f279a +IV = 94 +PT = b49874a5c673a09a7fef37446c5d46ff +AAD = b89cd73ecb3a13876f8325cbd573d62536fbe67e +CT = 7c0571ffa2a0c0f8b1036037be1fa6aa +Tag = 299c1b83c0ad81fee296c1bfd216c89f + +Count = 9 +Key = ba9f4134909d65cd4656d469feac9719 +IV = 70 +PT = ffb7e66f73b709a9046e9e55ea41b56a +AAD = a7f927751e73b733d219bf23d69cb03902fcabaf +CT = 9235345a26a558f89b6b2316b72af5b3 +Tag = e86b1227defb5787776eeeb0784703bc + +Count = 10 +Key = fbdf4da9da95b7fb7ae51af026d0702b +IV = 0e +PT = 85c45ad3a85781b6fd39c8722ad26c53 +AAD = 47d1163b6f1cb2b418ae43720d1fa91793969dc7 +CT = c48cb4b360dacfd3df9854da7dd43dd6 +Tag = 79d50006b5c9d4e445d133ca861b3ee5 + +Count = 11 +Key = 1a9c71e1e1f3796d45ac0722f153c1f9 +IV = a6 +PT = 0f4372953a65b4eae47fcc5382ad1bac +AAD = b3c28dd870d5c064f1298f206136dba888c53fc1 +CT = 1578c8d608dd1abeba15b1c8614113ac +Tag = cd49e0da77ea030b9b43becaeaddcf60 + +Count = 12 +Key = 18f6d817262bd40a696f7da48795b5c1 +IV = 7b +PT = c7a816175742a9b7e03f56a8aafc46bd +AAD = 0fac5808e1832ce5651948ef9246ee1f3f207929 +CT = 8d9e4ceab3bfd830f7f91d8334df092b +Tag = f3faabbdee8548ab933158fab20a5b80 + +Count = 13 +Key = 189acd7b7da151ceee56069d9bb46c63 +IV = c1 +PT = 88d60be44f26758ca309a269ebc7e495 +AAD = 97aaad394394c250cb3cc9b4b9345c617ff93a22 +CT = b3b0de73f8e53260b3e1f5fa51cbba88 +Tag = ad32636eeca98719d5b25ae2efcae690 + +Count = 14 +Key = 715c1bc82e4347ce99426a29bd4769e0 +IV = 0d +PT = 4e1f044b7b36290e4963d302ef57bb60 +AAD = d73c0ee2c7a0ddc60aab7de4b1525ff6d874148b +CT = b447f8157db38eb0bc1ae3cef9431f17 +Tag = 99b4389ab6305c213db6fc32a7da1d5f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = eb860e76987b14f7194512e3f14ce13f +IV = 45 +PT = 8f906dc1ca1501d4ab6e91f1657f6114 +AAD = 90cfc60b8596578f1b68f1d88963722a855391eb +CT = a38cba64f8b4710e07ef9451e6713a6e +Tag = 5ed0e7d91551d715be176ae7438334 + +Count = 1 +Key = 46f3de93e91b7ae3cb3903536e451679 +IV = 96 +PT = 0f6a9723b5449f9f3e0070e52026f74c +AAD = eab1f80bab3ee91dd1742e60077ffff76dbabe54 +CT = b1c3f9088d6953f3751126192dcab26d +Tag = 3c9927b8266540b4d7c750bb8b654d + +Count = 2 +Key = f755f2d085e40787fc363256c53d164f +IV = 16 +PT = 90b3704df517f421052eec4ecf833597 +AAD = 794a381a50c16ffb863ae835143a9b96b1ab25bd +CT = 469e48b74faad4216e1826a49a95ee56 +Tag = e5982ecbf27f43cb8234201f00f0f7 + +Count = 3 +Key = fbd7f46a97c1945db37acf1f13a16022 +IV = 1c +PT = 8b38fb9b39f590b7476de3952787392a +AAD = 702dee5f77fa3caa6a2e6778a6fc0f6d76e38487 +CT = d363d9eec38d9fe443fa8808a99172b0 +Tag = 9964eef3f215477d7d73dd68dfcf0e + +Count = 4 +Key = de510d2ec2300c3c3a33d6b0d13d2940 +IV = 3a +PT = e622d1637f5e6fc9589ed378816342b3 +AAD = c576026cc79da00be5799ae0de19c5d0a4cf079e +CT = fe050dc815d9ff6d36cdbc72f9c7ed01 +Tag = 850bead70ed64f4f05c28f657cd4ba + +Count = 5 +Key = b2ce173a11092c45bd68447554364487 +IV = 89 +PT = 7f752f029a9a064958809359f0fca93d +AAD = 856f0da1b73218aebcba52ae396fb513bbe204d9 +CT = aa191b3f41f27daae0267b974eb0f55c +Tag = 8a11c88be6c5dc6210378fc33d1f98 + +Count = 6 +Key = 8591a1c0ea0414f7fd299891d840ef6d +IV = de +PT = b66fdedcd1951d29cfd715f83a7a5cda +AAD = 2475c17df6150f04d6c27f838db7e7dda97cd93d +CT = 0360946e4c5d7d29f19bf163bf99e03b +Tag = 4eaba5e0bfd6278d3a70298e27e54c + +Count = 7 +Key = 0a26178944df4f6e7598803787614ec6 +IV = 71 +PT = 8c6f9918721cb575978646dcdc4f9337 +AAD = 19ab4968ad54afad59647156aeee60fecba2f8a3 +CT = 6aa0d5514af98b691bacaa450043bf14 +Tag = 1ad936b811c5dda0f45a9991bd1210 + +Count = 8 +Key = f13ec6ef5e2b49e9745eda805feb10ee +IV = 41 +PT = 397af1ea0bad50eadbd5d648b11925cf +AAD = 0a59becef3fe31bf41b55e24ec5b885298f03345 +CT = b323d6fb743b9520e66525505418dc84 +Tag = 0414ee2b7674bb7de7aae6185a693c + +Count = 9 +Key = 927471787dfbfdff913eb1bbb78a4e98 +IV = 61 +PT = a51df64bbdff3aad8080b4b02487beb9 +AAD = b362552e51eb5401e01576dfbdf7e599f758d069 +CT = 9b1a6b295c8805bb89b2c98ebb6e65ac +Tag = 2e2a69e373697002360d02a17978d1 + +Count = 10 +Key = df8f33987e09574f06033da208eeb09c +IV = 40 +PT = 4fad91d14f3c9aae69dad2157baccc27 +AAD = 146c10af821c3af630872a6e2d99b9203c1a6da1 +CT = 4a6cc04d01e08eeb39d9536df1d9feff +Tag = 3cd709d96c1ffb78744bf00fdc431e + +Count = 11 +Key = 34e7e9be1b44e37753db0a68aac0f8e3 +IV = 67 +PT = e3e256638c54cf77b9fcfaf45269b08a +AAD = dfab864356a37ca4ea9abed07368c5b3b083d3c1 +CT = 33c1ff9b82dee5f515d7b9b3afd54a0c +Tag = 9c74b5e3d5b23caa6d2571525271a2 + +Count = 12 +Key = 814b4aec2e40f8bb608979b420591654 +IV = 9f +PT = 1d99127b1a625b4c0705215d02f7a6f2 +AAD = 7a1a03b584676fe83c0ba9885316975670629bbb +CT = 5719c7da2825846a2a1156e8df43cb80 +Tag = 592136bb1469a9502e01fab9f67c39 + +Count = 13 +Key = ba32a3ce679fc006b95ef3234782987a +IV = 08 +PT = 3cc03518b17903375db447b055ff5d68 +AAD = 15a267ea5d466fca486dec4c39eced2026f349ef +CT = a9dc527836444fe47fbd3be65cd6ae6f +Tag = 2191124cf0c6c36a09698a2ad6a1e6 + +Count = 14 +Key = 1b3248f5a826629907f9b7b93de8c13e +IV = ee +PT = c6595569574f276325de7d620816b797 +AAD = bebfe353acf5380e7e2964c6d4a27ef7917f48ad +CT = 1918e14e44e3ece2f76555325ef5c8c0 +Tag = 5c72bdc16338154cc478c5854aa861 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 49dfa52e7f36881dedbb63f2dfc6cc30 +IV = cf +PT = e1a137cc7479419a161ef69850e5b142 +AAD = da7334a7fb3eb1b654415874be1e45b4a9cbd128 +CT = 146496e3be3407bdc55ddb671c1a4c9d +Tag = 229b0e6f996851a4db2a900a19bc + +Count = 1 +Key = 2115ba70af248f8cbc0b13088e531690 +IV = 3c +PT = b5d6ce54e7aa520cec02f6c48c663194 +AAD = a9302851525827b77063450a65aeb907a3c332f8 +CT = 176814167f807fa9eb0ca8896c3d58b4 +Tag = 74ba7497f499847718f0fad66974 + +Count = 2 +Key = c0b6221f9ad332eaa099817b8b50c8e7 +IV = 15 +PT = 0b901cf0299922772477392ece2ca5fd +AAD = e8fe4a239f45c96c8eb95a4beddf28d53c1c6e6a +CT = 0c392f828794bb5ee02847c14fef71c5 +Tag = a2780adf1f41e29ba0417289b811 + +Count = 3 +Key = 40063f0d95a3661ae424651ce365f2e7 +IV = a4 +PT = 8948d6bbc155feef8d650b0ade32bd70 +AAD = 7a2bbd84245471d280e62781cbc0595e1e7ea3f7 +CT = e5392bfdfd62a522c09139dfd27f98d1 +Tag = b4990322ae9acac9408614fee2be + +Count = 4 +Key = 65c7a12dbed727e68391e450be5f1b12 +IV = 04 +PT = dc48f4a315132025bfd940993c09ea8b +AAD = 2449ec8056756d3b6d8e6caf63a45aeea639d17b +CT = b78579983387e8c95d959a4425d8559f +Tag = d5802dd5ea8abe2ffa9ab2845e33 + +Count = 5 +Key = 246d294536d51613e58951d25200b3cf +IV = 42 +PT = 6313a0211f016af30fc1bbb805c7bec0 +AAD = 91764323aa683897d2921f9cfb5a3e18a79c4199 +CT = 914f73f8cb4da42e018edc2e176577d4 +Tag = 50952215fbe90f22b013d5351f3e + +Count = 6 +Key = 9a8e236a7630632e7f3d0c8cf3e2b114 +IV = 67 +PT = 3d39f79d371fb1c2efeee41e78dec1c6 +AAD = 6ed7be235eaa90bb27b596bfe9935a146e1ed6a1 +CT = d0f5e0f2e35f2b7f2f5814702689b9bf +Tag = a9632328ea2189b90fbfdc10fc9a + +Count = 7 +Key = b4395be01ccee97bffd3e8fbfb0dc332 +IV = 13 +PT = 5fcb6abf4e5a33a1c483c4874691cf05 +AAD = f4c503f8bab8bcbc8275b9add84f5a82fbe6fbfc +CT = e1d9fb960929e5ea7deb0d4605f59705 +Tag = e82d8f2ffe5384b0abe7b3d5a544 + +Count = 8 +Key = df7c2bcdd1a02624c00cc3cfc3aede48 +IV = 67 +PT = e6efb963ec524ef037088c99c79054fa +AAD = 90f0c60c89d5b65d9bc0010d96cd16d0aae1c3f2 +CT = 230022562b71cbccb07f441ad8d4f1bb +Tag = 8c3a4dfa9d18801336cf545cf527 + +Count = 9 +Key = d220c86f45c9167b7c19dec25c3f251a +IV = ed +PT = 8564be743710f03de89645a63785deb8 +AAD = ab230333b4af58c1c508ed92ade48477814d0fbf +CT = 013b89e1d3fa7d3e955124f19791ac8a +Tag = 39bd17a48dbab912414880a1487a + +Count = 10 +Key = 7d83009096fbd857c60b81253e67aa6f +IV = 32 +PT = 7793f8ade5fde3a9224a418b44b6a6bb +AAD = b95fd5c9fedf1cf978b6abd7ba12ea3c2bad80b7 +CT = 5c97e176156d9587a98175bd35f12462 +Tag = 8c24eaf0b1ea1bc81f12bb1da691 + +Count = 11 +Key = 1cab351a0143b072e90b2353869ae264 +IV = af +PT = 353c54d2060b02d2b54b342bc9957c45 +AAD = 53d69ef9d0e69316542d2f10915b5bd2aea86c82 +CT = 81c8e042ba28adefa84dc1a2d932d95f +Tag = 19b0bb57488e351a1c450eb60591 + +Count = 12 +Key = 0502ad268ed9dd9010b7f33fe1969be3 +IV = 1c +PT = 8ea67576a1eb8d4ebf60f144fa7fac7e +AAD = 162e0b59f9a90fe20c4aeb1a7579c445795d01bd +CT = c08a02df7323318c393b392d9e619b7f +Tag = a83e936431d203b44b3f1b2306e1 + +Count = 13 +Key = 34fa70ab927886de251d538feba0bc6a +IV = 4d +PT = 174d9d9793d352bf16722046d78c18e5 +AAD = 10b2c81249959ddb8009356989638e6b6aa3642c +CT = b084ca644b5d32113d95717e7fe7ad96 +Tag = 7d2a3271dee295314392559a649a + +Count = 14 +Key = 6e0c3342ee13bc58cc21feba6be68f07 +IV = 2d +PT = 86c599885f24036e3ffac48a22b4397e +AAD = 4131233028ee7f87318a1a0e4a922cdcfdda3673 +CT = 9014aaa43d01f765b8e642fc019351d0 +Tag = 265967f9c27a3f4789c39048b8d2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = e7c131c08f4175eabe9e8f88f7798b4c +IV = ad +PT = 54f7e0470cc335e76314158a9714a91c +AAD = f7634f671a4500a4c6f7ec8c70cbe2170c1721fc +CT = 84506ea8f14c239446568276c02144a3 +Tag = cf217247ec7a7e4e781097259e + +Count = 1 +Key = 37793437bd77558610ec2560129265b3 +IV = 30 +PT = 2c034d8873db84fa94448e6a45e99063 +AAD = 7c15903eb9d3ec086549b79eed5f660c27f168d0 +CT = 688dda49857d02bc34d4e499a4c2c37d +Tag = eec402d5904739661b20cb9d92 + +Count = 2 +Key = 2c0c4f9dbae944e0a90c0b7bcba3144b +IV = 20 +PT = eded777d2e7c6d8f09b43fa94616e377 +AAD = bd3111e53671f8226b33272f83a0ba69e3c6fb14 +CT = 9b85a65bc719e64e4daa561107660499 +Tag = 5f2812fa08048dc2598b3e422e + +Count = 3 +Key = 13d8803820017c78fcf1857ade9df1d5 +IV = 4f +PT = 079988803f7e12891357f4258c4c4cd0 +AAD = 64347044f638f9b2c97aab2b5a2b33a7f7a728e6 +CT = 0eaf88d7dd34f849401c2dd416dcef10 +Tag = a67c51442111d55c82960ca2c9 + +Count = 4 +Key = 24745d3d7e47bf14c057f8ff5f2933e1 +IV = 44 +PT = e0b3d164963aed8b1f5a7e6c8da142cb +AAD = 8fb2bb1faf4ce1709e80941017d0648dab4b34da +CT = 03cd667383f1a7d91e0a1eeec7b0e609 +Tag = 0501ce5d730bbc8a7dab325fe4 + +Count = 5 +Key = b24d9d23e15da57cc3b491ba1dd0ff25 +IV = d3 +PT = 5cbb6f1ab1183e846c37b91d1c675ce6 +AAD = 0e64ef25d94086be15e4be8a3c15e1a73cacbec8 +CT = c64281b387c8af1caeadd41722ab6843 +Tag = a467a6513ffe697d66195d1e35 + +Count = 6 +Key = 4a21d55b7f37bf5e0dc45a3bd18335f5 +IV = d9 +PT = 8573be73d78ebd6418581b0d4c891ae1 +AAD = 4e31aeac75a73902cf346d54638d61c8ec3a555e +CT = 439cf3b696bfd3d17dca78bc4800ca45 +Tag = 134d241e8320984abf82319082 + +Count = 7 +Key = 2ed0619fd23bf04420d6a862afe9b24b +IV = 25 +PT = 1dbe61ed01606834851e4a9e0e87cd63 +AAD = 97350a00637dcaec7dd2f1aa1dd32d5f8222a64f +CT = 556587fc7e7377f50c1331fd31a8cde1 +Tag = 5e516b13f3c90560756b13967a + +Count = 8 +Key = e31a12e41a98ccaef5eb1144d68ff0a1 +IV = 35 +PT = 559d822605dd3bdd981e78ae4d84663c +AAD = 7df8d3ffe02cbfc11af38b3bc04801e4a1e453d8 +CT = 92e73b40d79dff96f1c771acdd0f2acd +Tag = fcd634cbb4ff237dc6806d4797 + +Count = 9 +Key = a2556ba0f4f0c31523f76c0ef5bce12b +IV = 1b +PT = b39b4527df2c242455caa76c76969396 +AAD = e17b30ca08b0cd87d884711b78c730c2c47e78f3 +CT = ddb6a27aec4dfa07423dd66e24264b3f +Tag = 85b8122b3f2dad670d89d657e4 + +Count = 10 +Key = dbac64c1b911fa677d744ccfac9c8e0b +IV = a4 +PT = c02c937b19481c327d5b91a8cd8c0b90 +AAD = ecee8cb87317da5e51aa52a7de562862cd19528e +CT = f250fe0c786dc7043f20bf69531502b4 +Tag = c7cb9a7d2cc95f4d1e4d5f3552 + +Count = 11 +Key = a88f6d514375f6613aab736e1e9b07b9 +IV = 0f +PT = ae1e9a7fb6eb50adb7a00a9b4ab8dd15 +AAD = f264029d62c32b01625d0a83c209b3355b95d074 +CT = 91751976a5fb79f366d97d5fe62fcf18 +Tag = fe2f01127f57b35748dd74e149 + +Count = 12 +Key = e2f67d0ab622c047a17c48216c94a46a +IV = 77 +PT = bd356b848c94defd6baa28abdbb4c4f8 +AAD = da7f83516a48ab0c362386936fef1fa12d04858d +CT = f2d00a94a8b541e4e135d083dc07a3a8 +Tag = 05e69dce73d0307f781809377b + +Count = 13 +Key = 551469fc5807e30da0b2a15f7e45bf3e +IV = 33 +PT = df9e46858b617c3f801bdcea8fe2656f +AAD = da0b3ebabddc3b180414bfea99f4cdda14612d37 +CT = b4ad509b48c3ea863d8bd5d6342ca701 +Tag = 90af3ad3365306474bc7f2c5d7 + +Count = 14 +Key = 122c5db76b8ea57d394278bf12f7c4a4 +IV = d2 +PT = 1d01ed92b36bc1575ff9426880e42034 +AAD = cd5c833a2f2277214299357003c6356858bc235c +CT = ceb53f1c86081e77b0960e08dc0e9bcf +Tag = 7b91f13ea55dc957c320648bd7 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = bddb9629fb46646ef777298602ce0c61 +IV = 81 +PT = 2f717197a125bf3f4e232a78ecc52240 +AAD = ab90ec5f9359f8da7a3da3ba8e6c5b1e329383e8 +CT = 75751f7da0939ab4901accec64cad3ce +Tag = 93d7ce8a9ffb4df426b534d5 + +Count = 1 +Key = 6d902519130912c938b6317154ecffa9 +IV = 6a +PT = 62b80a32c10ea9ef07539cdd5a7ef8f8 +AAD = a6c9968aa2e2e3e5de03398dd7b212a3d20152f9 +CT = 45a93cbea276ab1f10e5a43a27ee7159 +Tag = 8432bd9f5e6360655515d62b + +Count = 2 +Key = b6bd0884503999905db72f844ae9a37b +IV = 1a +PT = 3bef7ce04db8164e40ddb9f43aaddc1a +AAD = 5d4935660e8130159988acde99496b528a32e097 +CT = 31598ccc6fa6854069fd02246d41787b +Tag = 8af0a0b4441b4af593b01be3 + +Count = 3 +Key = 24e8cf3d079e10b93d5da7615b0b82b3 +IV = 41 +PT = b8599c1e82c5e45bf89730914b172427 +AAD = b8918f70c247e57784869af89762d8e4944a0aca +CT = c5507021ba545f5814e9d7a5029fe7f5 +Tag = 9d4a342592ae1ee2ca5e1f80 + +Count = 4 +Key = e08c960e5b452d1aa1678a3d8d3c9223 +IV = 31 +PT = 084433f7be16dcf0b7862889bc466ce0 +AAD = 43923471709961fd7a1a2e316abeb653a78ff70d +CT = 2c30a7ae361c3ef0624f59a4f3a94845 +Tag = 895e9cd7b55c1d730628d09a + +Count = 5 +Key = 0484b212bd7aa1f2c9af617d5e1b4983 +IV = 5d +PT = 7c1f0f173b366dc29047841219c63758 +AAD = a620ea179cf3bb15c2f77823b37e2e8a7b8c1784 +CT = 3b73faed712d688d6189e5c27f87eecf +Tag = 36a4a6702193a81cc503245a + +Count = 6 +Key = 2e813266e037bafb7b9aef3e498c18c3 +IV = c9 +PT = 523861cf56b2fd669cc9810b813571f9 +AAD = bb9b1878f9fcf3bcb51053eb9406e4cc2b51e775 +CT = fd7150759068d68c99951a0706fb3eeb +Tag = 5eceb764769e972b1def425c + +Count = 7 +Key = c1947440cc01b8604d786744af818db8 +IV = 59 +PT = 141561347972ef881ed3d0fb246f8205 +AAD = 0d3981335929e31ad8983d4191459b3f2d1db816 +CT = 48d3cd376fba2a37cb1e73a2b4b70afd +Tag = 5da5538ca0249132360189ef + +Count = 8 +Key = 1cb68a1a2547ee3061dab9958a342812 +IV = 68 +PT = b4d3a11494005760c9f56125508999e5 +AAD = 0a2c04048d352b40a749a7089f4edb088d65af6c +CT = 5b76618a30919e9bece287434d2b1599 +Tag = 13b5ee51808af6d932a3f1ec + +Count = 9 +Key = 3771f8b598019a839bb1298fb228075a +IV = d3 +PT = 30dba3e9369778f134c3f74718fe4043 +AAD = e5b59f73bb138528ac774cf2a438da33ee60241a +CT = 4d045d4ea9ae56f1fa1ad2c4ca46345c +Tag = 1ccb4026c74731e54022f9f0 + +Count = 10 +Key = 19398fd3f3b53895c814a08c2c7d38ff +IV = 72 +PT = 727c5c9f9d4eb68e7e34a7ac203efe42 +AAD = 7fffaf3c857080c1095fe12bd0d2b8343cd0ee11 +CT = c520af2200a5c689bdab8f8253a5320f +Tag = 2428ac65c452a6bbc1adec45 + +Count = 11 +Key = 96f5c84f2df5a0bbc71a0bee18ed483e +IV = 70 +PT = 53822e8e309597ed1d55b29661a3f30d +AAD = 138f0f15be1fedf07d28ab7da9e2b479ffdcd79e +CT = b986f9925677d811738bf5885bff7f99 +Tag = 6eb74da17c1893d4aeced56d + +Count = 12 +Key = 1d18636a2050ebc3ce3d0e746987a755 +IV = a7 +PT = 4122dcf02eed23d86f9e6b13fca2a996 +AAD = 411a9c8eceef6139979f103f1a2e5632547879d7 +CT = cc41e609b86c0de61d8076dc3f9a9214 +Tag = 88f43f7b2822eb8d436ca48e + +Count = 13 +Key = eb6ea48d534aec3df3bb38bcb36d2655 +IV = 49 +PT = 654b117c6387439adcb3c44abbafe037 +AAD = 232db7a86e6da9d25c2ff611ec9c2ada9334d1c8 +CT = 6a102eb8643f8d2acf0805e602c5f8f8 +Tag = df2ac8c0a9262cb0487a9e41 + +Count = 14 +Key = 640cf8d77520112610ea97392d956281 +IV = 9d +PT = 8bec875a8ed740bff5123bc8bdc4c6f0 +AAD = 2c20bd17b4ce9f50a46a86072453a7acec6bbd43 +CT = d0949b0f54a2cc18390dbe7cad34172b +Tag = 1b736d5ee6078b8022cc4a16 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 90e625f18f04122c3e0657a2dfe0e1b8 +IV = d9 +PT = e2d381298318a2135ca6d01a24d0dfab +AAD = a7f88b0e07672401f86f515404fe5af3e53edcca +CT = 87cbfc064d5584ac1c2b385adc02fde5 +Tag = f0260a089fdaaa12 + +Count = 1 +Key = d2004a06660747186c4aeb3ac3386e96 +IV = ac +PT = 44480da6dde73c7594cc6c1fb7f96de1 +AAD = 41e245ba18a9535872751b158cab42580b6c5b31 +CT = ffaace6cc07a4600349cd584c37cb8f9 +Tag = d4a8e643b24950d9 + +Count = 2 +Key = d57790e35d4bab3908736a940ce036eb +IV = b0 +PT = 6268c3e90646d2d26a0a5595017c578c +AAD = 3139e04b0037147c8bb1570cb4ab94cc81176ca1 +CT = 45ae3b491d6cf3cf3c20f99b90d53a24 +Tag = 5e25d0d970e11963 + +Count = 3 +Key = f3400b3925571e061ac46a530fa25d18 +IV = a5 +PT = 562a47c1c12b00bed346ae63c73bef2c +AAD = 4db4fce9f36305ea3fffcf49ed38c5b27e80b3b1 +CT = c403599905d273ddced49791da6047f8 +Tag = 5fce9e4edfa8252a + +Count = 4 +Key = 0c42caff2f3027676ea932dca4f80316 +IV = bc +PT = 0f647befd5b29286a749cdcd5e1a27e3 +AAD = 9df14aa164780f7786a3d51ff26dbc74ba2658b3 +CT = ea60f6eec12678e8edbd0418a4ddb4ca +Tag = 5e9ac7974fa5f78f + +Count = 5 +Key = 63b8c73de8e5e71f4900fd9244dff603 +IV = bd +PT = fdc9032b31c90f1e120187a96e24b05d +AAD = 063847062ac0ee2b328941495ed464714cf89022 +CT = 9698f7f9bd779c3098d588b2865435b6 +Tag = 6bf1c35acf77b70e + +Count = 6 +Key = 5ab0f6723a5e726f70524bd86c338a27 +IV = 15 +PT = c0554e4605a87f52c5978525f8601d18 +AAD = 84366c13c37e7dddb587dee72439e545ef2e8363 +CT = ac4eef9fbb87dd9901971346211d5fbe +Tag = af85e95d322e0c62 + +Count = 7 +Key = 3c8ded47ded9bc7b2c24742ba7874587 +IV = 5e +PT = 17e96e8ebec66055dfad096ba84e9451 +AAD = ccf8d160cc602ada7cf44d7613aacc5f2f9b97d3 +CT = c39f5f43b3c5356d69e83b9c24130903 +Tag = e2089172dd70a446 + +Count = 8 +Key = 0637a9c4c5947de2615490c82147b5b1 +IV = b5 +PT = 1a4f664d852bdf8b88ef9985a2aa0340 +AAD = 1de8c66a2a51110d26a3c0a83c62c1feb1ca9226 +CT = 02ea2e4d3ab09c1b5250c07a26619cde +Tag = 7f27a91589b192f4 + +Count = 9 +Key = 31895ba83d01e8d6420875e7d1075b3f +IV = cc +PT = 389c1b2206e6cc408aa7eaea07203a4b +AAD = 4a4ca5d6ada9a883b972dd6470eb340cf9405c41 +CT = 0adbc757bbdcd1f04fde85924fb7db07 +Tag = 1ab3d59376f91041 + +Count = 10 +Key = da3aa53961e8925a44acc6ce51cd6061 +IV = 2f +PT = f88c17dc40ab5a84542911cd59170e2d +AAD = cc0489066aad0c995bd6b6c13d18ef870e515401 +CT = 5f4232cbd6f67574d7d301d1192b9dc4 +Tag = 45d6831efe558fa1 + +Count = 11 +Key = 5e075dcaaedf4056a6e9ea5beb932d85 +IV = 75 +PT = 6d2cab367482ff0aef00a4d2123eb566 +AAD = 291230c5551b59f2bbe82e6d25fc2044deede7bc +CT = 6e358d66067849611de093cab090cf32 +Tag = 692fd9f06055aa59 + +Count = 12 +Key = 864c36d5b9b75a5436d80d8c02879f6e +IV = d0 +PT = b34cb858ae5960082495900370980f58 +AAD = 77e29a3b3f2e14824d858dbffc7b2442887dc80e +CT = 59054d51514dfc244b1fb004edcaf1d7 +Tag = ad207a192f0e1a14 + +Count = 13 +Key = 76254ea9d8525b9a9b8ca307050d9922 +IV = b7 +PT = 6c1316bb726a7310f5001546abe2d910 +AAD = f05d57c4ff81b05e5b818b27f6b496e8d6e1f6b4 +CT = a5da4a04e138d5bfaa3d498a0f07fb04 +Tag = 0c35c7a727bed568 + +Count = 14 +Key = efe74bf2b5c18f97d847c88b150b2054 +IV = 33 +PT = 600460aea74ab8919aec92a4352d614a +AAD = 5f09d3f7f5e494b06317a831178244305a1e6704 +CT = b0165b7fe3e34664e427fee1abebc74d +Tag = c33c77d8f0ed20df + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 338abc6b33ecbfc5209796577a0fe631 +IV = 33 +PT = 9b9fd16cb89770d8e2f8ba5758591826 +AAD = 19a2425b62b5ea5078e5d7bde67bb754b023df89 +CT = ecf24661b847fc286722657dc18d3d20 +Tag = 54a80936 + +Count = 1 +Key = 5e9208dcedebe88ccb33e46a6e83bc14 +IV = 23 +PT = 48a76732aee5b5bd53b4da1beb326998 +AAD = 80fc1edecc9cfa2517bec8d7273a76e2a00e3492 +CT = c63523201a473b8f155637fd02d8c210 +Tag = b18ad3bc + +Count = 2 +Key = e06190451139dc34ed390a694752081a +IV = c4 +PT = e79c05febb7b1a27c6dfe89b178a9dd3 +AAD = bbf4702cc59052e4b1dd3a90ff511829a511f08c +CT = f216213e8385a75e0e1e7913e0449c59 +Tag = 38a0721d + +Count = 3 +Key = a6e429991397008b20ba2735dd2a3aa5 +IV = 1b +PT = 2e154cc70366f264c7257a44d6a89353 +AAD = 997ce829d7e2d66a100c058c224eef8b195092ec +CT = bdd3ce686a818ea79cb78fbf0f323603 +Tag = d039acb4 + +Count = 4 +Key = 0ee4822a3193ef7171c7314ccfc3f848 +IV = d0 +PT = 3dd5eeab212aefca53c2fe3c0968ae5d +AAD = e049f21071faa28b1e4be0da93ea231228b3b563 +CT = 29aba77606798e8203203ed65210252d +Tag = 6bbec488 + +Count = 5 +Key = 84d3fd6f867f08362a4c2d6620467853 +IV = d2 +PT = 70e939ac3a071bcfbe62227b59f939d2 +AAD = ffd5826c17d003143a667d55c37b0a95fd13e8dc +CT = ef8cd3481a939b2539f5d0c0d7575ada +Tag = 784de38f + +Count = 6 +Key = fe997bff34dbc7af1cc820bf83365435 +IV = ea +PT = 2402e1203ac92c3b768918b15a387fdf +AAD = af90f4a853ef2a526fb0686d47ed60259f41f4b4 +CT = 4b8f8f934da0a0f7613cf437f4a90efb +Tag = f94ef478 + +Count = 7 +Key = 924a0e2c2b86a4b6ac0e9a4fc44152f3 +IV = e7 +PT = 5623506cc8c5b5132a2ca8ca45a8a56e +AAD = d5dbe8143c73a08b57e8544904646ecff3c57bf1 +CT = 97594152560f24eaf8e4fa704bd3dd41 +Tag = 01036e4c + +Count = 8 +Key = 7302dc1e7fe1c5b8ddeb84348cedc477 +IV = 0e +PT = 930ce26496787319229fda5822f09f13 +AAD = 5919a5d7a6140b4a31a704aeca92bb401ef0f988 +CT = 6bfe19d6f9b2da1b5b7609e3c617d17d +Tag = 3b53a521 + +Count = 9 +Key = d87a5d1054136b7b09403a83c291f120 +IV = f4 +PT = d0a6c8920f1556cc9fae1184cea01d7d +AAD = c57c39caf67584a6b02df416bef20d46ff8be082 +CT = 0206b348eec0f3957cdf72a1a2708bd1 +Tag = 00a08e8a + +Count = 10 +Key = 87ecf730b26a3a3d78ad135d83440041 +IV = 3b +PT = 6acc89cc28cfc03d9c5ab7c35f860dba +AAD = 803eb5f20b21913cc481e5e5aafedd5331f39d71 +CT = a809e1d640db2c9aa4b58b7089579dc3 +Tag = 0b03733b + +Count = 11 +Key = f770e2c119e1a3a14d147fe06946a32c +IV = 63 +PT = 8b8cb83b7c678811a1ece86a11bbc991 +AAD = b2f81a67c73e99f12c928b7fd4da12b43f7aca99 +CT = 016bb5f7af1be9ef89d90f3c50068529 +Tag = 7254040b + +Count = 12 +Key = bc34075782758fc326cdcd0189054cb9 +IV = b2 +PT = bb1959dce5ba3d8fde2a3753c16e7e5a +AAD = 031fe5ae3a7e186e38590aab10f8dfc2d4c9d954 +CT = 46251c0a790d381de1e4c02f9c5f6c91 +Tag = 7a398815 + +Count = 13 +Key = c20ae6b0d0c8f27bdab8d53e27fded24 +IV = 50 +PT = a55af51aca716384fbf5e08127235a3e +AAD = 61c8a5ee8d22210c79785b3c215f95303807d267 +CT = 406677b715325d25eb4728b2be0a910a +Tag = c285711d + +Count = 14 +Key = 06716661943d7b4b41d0f41e856d0e24 +IV = f9 +PT = 16565647e6f9019cc79c806b0ab97e1e +AAD = 32c24c7823b73c697f4b6eafb4ba9812d6927220 +CT = cc01fdaa2b5fd643567b7f752591b5b2 +Tag = 73cadc49 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 9a65c2160b7cc5623e0440343099af3c +IV = 9f +PT = 5023dee83c0cd76a564bf040e67a3a9f +AAD = d984d8d9733b32ff4b24a118e27652fc5eae299f96391fb7401583b1c5bbd7fc596ae747653abf2d832f1c2a58eecdf4 +CT = 98cf22940d78d3906780ad990350116b +Tag = e425fa2f0b86daefa350a13e841ce5e5 + +Count = 1 +Key = c695b8ab08d7edf5f24698d480d2bc85 +IV = f9 +PT = 04fd2fe1ba049499e7332c4a7f55cf2a +AAD = 5a3b61c091c10011a50418d4f177f5a7534f25ddc90ccf681f993f504646df571a2b630359860061135079ef502693a9 +CT = 0019f73155062e5e0a6c15fa91a38f1b +Tag = 14a8e777f5f9c9abaa5f816f62360fe7 + +Count = 2 +Key = 9354e3671f246e78adbb2a29bb7ce0d1 +IV = 49 +PT = 9aa697a09e89ac0391d6a7e3cb9240e2 +AAD = 084594970dc45f8255aad767d75feaca0750afbf36752b1ec9c78c72c756066db0e23455eb6e4bb573f567c2ed73119e +CT = 8464fb692b51bd0a90c3d38d3725f629 +Tag = 3e0d0b5f4d4429b4ad28edb998f8310b + +Count = 3 +Key = 681cb37e9cfb1f7599bd8ae4e33e5b0b +IV = c5 +PT = 4c6ea1fa812471e2e9618504c59a1095 +AAD = eba0a85b8b8a43be23bf5bd3533488c3c07a360a33936863e281967cafaa7555cabb58d914c1d99644412e69c865c807 +CT = 547f303076aee7af7e6d28a5a57c1c6c +Tag = f8dc1b50b8995ba1ba2ca1d0575ab8d6 + +Count = 4 +Key = 080c326c74a1365c5eafcbd8e2bf741e +IV = 52 +PT = aedf833a9d17fa628393cf0785003f0b +AAD = a6a7309a438b12305cf7e291ddf2cf1eadeff01510a37ac7aeee637044f4ccb56b59ff5ac834377ce514d7693adec282 +CT = 6724909aa0818511979230b11768fb95 +Tag = ec78322927a03e31f3249a532be0805b + +Count = 5 +Key = 40bdb9a4e3f6283407339dc6ff065560 +IV = 5e +PT = 8d9bfdcc5a66263018e660ca05c5efa7 +AAD = 6a86a7f19446abdd9b15772fde7160ef4dc84f3800e5a6ab238faf5b2ae434588e46d44376e018c6a0b8cfefcf5e00a7 +CT = 63cad251189a43a3c8ce940e34d52521 +Tag = 263e94f4cd86b485c11f23ae7ecb7845 + +Count = 6 +Key = 1b10cc640fab802009d9d92758f8e1f5 +IV = b6 +PT = 659270dc6fb735bee74eaab326f8751c +AAD = 4fc15fe3743007d3c55265925e888e317d4a7fd3d9f9936cfbeef3830d025576409cb0b21a3c2de8ad7fe387f85df44e +CT = 0e5ae4b4560bcbbc0830bfb85b07b665 +Tag = 2a68a4efcab54771455c3b668df20476 + +Count = 7 +Key = a2642af393cdc18969e5dfdecbd558d0 +IV = 21 +PT = 954eae11680d457d4ba2ba2b33b5765b +AAD = 0fc1298e776c608b84079fc2c25ba5a0cdc987b90c3dc8df7fc8371584cb2f0dfc9d92709c87d3e45c491d6a3ce71c96 +CT = 59d9b2dff83896bfae2a41fb481444ae +Tag = 71064f43f36aaab7f0d4c4cad9f17f04 + +Count = 8 +Key = c99f00828bcb0ddfe0d930f1fea7ed28 +IV = f3 +PT = e3cc87c8550b89fa42bec5c68a21fcc5 +AAD = 918b0156fcd301c72dfb4011f9b16ab6f62639c94785b087fa708b47f55e40d94718a4c4034e1b0c0be196a12a676069 +CT = 4b75142897c92523c387783a15f5a9e6 +Tag = 3b150a27f149d67bb62ae33414c51606 + +Count = 9 +Key = d6f7a6fc7b910e7ed8f4aec6cf2fb0c4 +IV = fd +PT = b4413cf2e63dff93bab1feb34663fd48 +AAD = 737c2a36010e3ced5b4426571747706f2ef379bb1d1a75d16d75de20ee943ab18952b4d4b0f0dfa7dae1f5965bc6dd33 +CT = d7b1ef9e40fa69351f0724517ba187c1 +Tag = a717e78affa036877e51b7a009e9911f + +Count = 10 +Key = dde7f7c4e5c7eda1c5dc6f814fa30135 +IV = 95 +PT = ed6750453b194afde21cb384350120d3 +AAD = 352dc9630200d02620daf2a46e6e76cbbc2a5e3570a64986f6a4649c75c526bca184f8a7e3e994abe29da6c085892306 +CT = 0b168ebfa964ccb7bacd8fbaca1f7473 +Tag = b5188c55344b7b83184d739ecfeea3cf + +Count = 11 +Key = 2a287eb6e6aa9fe38ec8a5c6e2b4ec17 +IV = 5b +PT = 567c9dc1630b3ab339c45381a93e0d97 +AAD = 5de60dd3c96e7b5a63087571ea076bba7f658a8a2e9156316b0e8f334c4a0c3efabae6e1678fd9d27d6e79cca116ec85 +CT = 6eb7e6f3b293233a9c0a50d07821e00f +Tag = 2546d038924a2d422b0199d4d06824ec + +Count = 12 +Key = 7d9a1b91a1839e5024d78f0b9fdce4b7 +IV = d4 +PT = 2987be230a72b0f26383618b8abfaca6 +AAD = 7fc7034865c70e57b4cf7da0ce170a8a9d6e83bd1a7a7eb33aa6ad08a39d3145d30e3115ceb410179f372db1ccad13da +CT = 3c9730b693ab4a539fd8bd233954e808 +Tag = 6726a07462f41cbfd7811454aa5f8315 + +Count = 13 +Key = 5e55a20a8cd90d36dd13eb1bfb76ae25 +IV = d5 +PT = 29ab3283d9f1655c2374572b0b4c053f +AAD = 6cba49f97db371e3824d3984ed2467931b159ba350038c50557d64fcd842f76d9a8c124a56c6d212d20df195676f4158 +CT = 1b7073d5c6a65c717ed201af200dd201 +Tag = f2878e1c87e2f0f7e7d49d1e1871a7a2 + +Count = 14 +Key = ff49f886123949e015705e0f634d6541 +IV = c9 +PT = 543ffe63f16e3e43e7fbcc0fb38d10d6 +AAD = b841e4c5a982ceb9f79c38c776fe264704d5da1bec889a635746d71995ebcdaa743702a1f172ddc04a5285b8e5ed63c9 +CT = 4cc8713324065625aaf2ea823fc2035b +Tag = d0f2525debbd03f8bcb7c2c3245243bb + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 18703fc7517d89facf6672e8e738f66c +IV = bc +PT = 289b08e794235987d89fe2def2b317ab +AAD = 529ad98234799715f1a9802d2b6df890223882c11876162055fcf5e94e65994c33460d04b397a36bbfe6ae4779028581 +CT = 1ccae28d495ce4bb86ebfa3ea5816895 +Tag = 4d057f0abb66235bae5592d6173f3d + +Count = 1 +Key = a55765f80320a80ab35d9377cc5acb67 +IV = ab +PT = 8ca24ffb3de51a547578fd1da8086428 +AAD = 0368c17021af66f1fb07b05207780a83279ddf3d4fd4f8d66ac1e344ddbcaa2e4d8441e72965cac5ee77b1bf312ebc4d +CT = 270e751bc5257006155bcac23012ec08 +Tag = e24861dfa2de899acd47e1a4d3692b + +Count = 2 +Key = fd7f902b5681979dda3bc7c7538e4dd2 +IV = 25 +PT = 195f7b9007ddace519cfab94bf99cc36 +AAD = f6690910b6c0c1c1c555da4ecbc4839b208b37bdc998ecaf6eaf76e8a08354895a1bf89c88cc70f256133673c971dd14 +CT = 6c2a85fd3cd799569eeba5079183dba0 +Tag = 407e02826a3bc87f28e478ff581b1d + +Count = 3 +Key = 5d99ff5110429382e5a7b2475ec3ee4c +IV = f0 +PT = 732b78c368b60cd2829153a5eba4a505 +AAD = 6990c8d5b392b5fc15fbbdc43acda720709579f2dd92fa4829cfc706648aa1a92bd71d0c4fdc3f16adddc3489196ab9c +CT = 648ea839c74f6953a4027fc6178fce96 +Tag = e9288a28d42ced34106b40294d8425 + +Count = 4 +Key = aafe19f1853f1a40aadd1e393e29b225 +IV = 01 +PT = 79de8f909521af72c47060fef5ca7252 +AAD = 889585251b3726b43805c573945e02ed44cccc74829ce48bd7d6abe4faf47757f0a0e76f19014ba07b0f3febbc0a1777 +CT = cfea9a70dd4fb779c229d7605a49814f +Tag = 71b2184769db9c989976ba5d1a379c + +Count = 5 +Key = b805a085a8880298206d717822567565 +IV = cd +PT = 6c38ca51a7d301dc70959f81e61c2b53 +AAD = c5d99f565b418d1476f9e51dd234cea8859dc79978160c3e957f1b6fed0438ca10d49b24dd881e1807437b041681dc4a +CT = 683e7da212cd2ad815a03989d61a7537 +Tag = 85180d0146a33cd8600b0e5a372615 + +Count = 6 +Key = bf5df8fffda9f4fd995df86e666a922d +IV = 70 +PT = 4bc52b7a62867eae81a52bb9828a1f02 +AAD = 2df43688803f34e691c1182aec2d9afa4cc9ce6acd1ca2d519e87bc2e4c69351b2c40784eb37f89bb00eb9865354b435 +CT = 8555921b54e861eb40d057c6d5c8cd52 +Tag = 8797c16f37077d62eb3f52f80e869e + +Count = 7 +Key = c20fd534baaad94355ca2f76c4835ee8 +IV = 3d +PT = 2f576f815d3aaace254cc29dffaa876b +AAD = 36667d452da5dccdc373d5a918c1a2fa324a941e605be165dadc76a5e754dd0b47b3c8dfbc57cc5b5c43a1883c1bff6f +CT = 4097219f0304f309873d2f19b91884dd +Tag = 6d970d258922b702725facb38fffe0 + +Count = 8 +Key = a5bfbeb4fb0ca15f792429826fb34f90 +IV = 96 +PT = 874b9fec482491d6423ddb237152c724 +AAD = b979f40078a2305749362a83baeb68b6c9954552e5dfc817bbd0a068d9ac002a2fa9805248d015b95b1229300b34e42c +CT = b75ddc710f6108d86efbb047f74e6f10 +Tag = a80bd4fe2e9a605a3cd2eb4091957e + +Count = 9 +Key = fb9e7003d89b0f4921491dc11813470d +IV = 67 +PT = 0b804447ebe7bf06f1621d375845c6b0 +AAD = 182b7ddd1e85192248de5f612c0654e248fc1a7f9208938f890b817a913a2038d6734969db4aeee8d3dd915d70dab58e +CT = 59aee18c3a7a58679b25a3296e80e25b +Tag = 98533dde88036d00e06f6f4a0abcdf + +Count = 10 +Key = 0fc945381267235913e8f91bf6b8ce5a +IV = e6 +PT = 00efaef80c92e9913473aeb228e8b173 +AAD = a709f5b294445159383eb1d6626d3c6b55857555c0ba501aa9dfce4249d1d9eedb07c604da07259474bed06f0e98e197 +CT = e75c19d226712d84f1fc1fe26b1d1ddb +Tag = 4b48b1740687bd886c114bdd943c48 + +Count = 11 +Key = 0b9dd48ff5028f4b3a9d5a572e22383c +IV = 60 +PT = f1cc8d28ebce5e65eeb5a2ae53c870fe +AAD = 23a0456e0a23d4ae21cad3775303750c304339ab02e6d3d33eede888ae9194979b7619ed1735900ed91d76cbb3f04ba3 +CT = b24f8e9931b71dee37fe9e4ccc802e83 +Tag = 380bd49349499920821101844d222b + +Count = 12 +Key = c9844d9da5b59566019dc80bcbe48ccb +IV = 8b +PT = 3ff42d1ad8ad8ae960b307d03726e82c +AAD = 7026d14dc65c0fd3bbf7b606e32962168b97d6d9d18be32a14b6138c7890426b4dfe76185d59fc12006947b33b5e2aa4 +CT = 379606f5be5ba09a9974836cb913df02 +Tag = 83a1521d31a8a2bd395c7c7ea22784 + +Count = 13 +Key = b2e2d7996a317dd626c008cc0294fcde +IV = cc +PT = 261cf15da0b0b2235a52566b52e5f002 +AAD = ac58f4711684a0b74bb18d6e3b6e00c65124be4fe077050aa60c726381833e07af776d353359bb6b488b19ab896c1cac +CT = 4646229e5090d10a9ec778083281c4d1 +Tag = 00eac448494f54905f2c253d6f2868 + +Count = 14 +Key = b5dcc2a38527ef109860856f540b1f6c +IV = 25 +PT = d2018b73288ad3ca180d4e8516759a47 +AAD = 4b2b08879e71a40001f119c63189a4fcc3844620cb21e41b89052e3b7051e13463e5b9e0b3f9b5ed2e1f73709fe0cb59 +CT = b0442789a986fc5367c0e7f29ef99748 +Tag = 23310dcaed308624a4eb56ac8cb2e1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 65f3538d1d96517d7ae222fa6fab1438 +IV = 1d +PT = 0e5665e95e848f1251087275faafc076 +AAD = 49532024bb041a017a14a5f882661f049c9b14c7a12bae1509086f8ba2a0dea468770c4af7070485a995ea12734ea502 +CT = dd883bb2f85793c7ec1f3b4b56bfabba +Tag = b85c1d1ad85717722e06ed375530 + +Count = 1 +Key = 54de340587e14a7cf8f9406283a39daf +IV = 82 +PT = ca8a917da50ed582476d018b89022f8b +AAD = a02853be014e5e33b2c591efcb25477be81f25061b261ca5b90eaa2d1a8a1474373cb59392b092303a5d5a755acd2626 +CT = 4ad7d11be8dda970f52e90143a5c924f +Tag = cf87f68ca3a06a5b49e12ea5a5f5 + +Count = 2 +Key = 25b300c7858bda0904307d81c88404f5 +IV = 73 +PT = 7d60ff7e0007836a1763e1b3b9475dea +AAD = 8a24f668a45073cdcc115385fec77c1f41e537fd54af15810a6833e0c8bece698d7f80c58c79f803c09c4d1eab2c78de +CT = 4bcf96eab838e56a69295e0e33146c9d +Tag = 0ccc8f79ac529022d05762652035 + +Count = 3 +Key = 427b41e86c7de4e42de50f81401cec72 +IV = 15 +PT = 17d59b23ed5f86d0d4991aff7358fc39 +AAD = 09cec44ba8b4845c80aa41c4c5c9df1b037f28bc14913f60fee7c98609bd69940cc8c62de08d31c7bf36c2aada1c875c +CT = e16e1a88fcccc4e81b66951d096d1a3a +Tag = 46b9ecc4c87d82b27b58076b0dd6 + +Count = 4 +Key = 7f13cd9c599ab533c48056568d1bbb04 +IV = 97 +PT = d309dddd45b45b172868245b74e86b5f +AAD = 5cb76debdcd77943c71e10272d3fd43aa24ff22772aed3c8717bf056d92d656a6690813935b705aa3e00cb65827e9fb0 +CT = c0b00554753d790c5015daaa94a0ff9a +Tag = db33d5e79e02c891ae1499b5408a + +Count = 5 +Key = 3db359f84eae60293ba3467c043783c4 +IV = 1a +PT = a01d463b97c67850de2ffdb6e54570ed +AAD = 5d7f5e6faa4ce085986c445d278fcca24ece9211a3cc607f31ad73e89d2acee76eba7677ac1d47ce9bd155e5e4dd7b59 +CT = 162c55dff6babd5f110af21047a72478 +Tag = 1c90741b224058aa1eb56548b2fc + +Count = 6 +Key = d8b46054999483b50a48c98aaa849d11 +IV = 12 +PT = 61fa4d3473bc14925bbbffc6c1a897c5 +AAD = cbc6aa71da8595e91a4b741c7bd578d12fd3c5e3cda23638a8450fa4c0bc2d940abeaa439757d1dab8e23866187ccbf6 +CT = 06b981ffc266dfabc893fe8092240bdd +Tag = c4d75fa46b5fb3baa34e878e5224 + +Count = 7 +Key = e55b69a8323a5817bfbb6af96a097bba +IV = 7a +PT = 97da3d759825053d51b7845708fdc667 +AAD = 9d199249219ec398dcd1ff260ccbaf1d084c4f968ca6abc79ec128a4b0432fdc420d4d85bef3ed9e8a3dc9d273e1118e +CT = 20e14617e5e5ae3d77f6ac167d900387 +Tag = 76d371188fc3c061727dd1286946 + +Count = 8 +Key = d0f00daeaca1290091a55c7ef5f1a1a5 +IV = cd +PT = b08449604115f6589c9cc4a078a272a7 +AAD = 6dac12a1dc8b516daf352c903d350114426bdd45596eb7c1555754f8a5186163a279c5cfc82546209ac386191eccfae7 +CT = df95a5fc0df6eab73d8d8fffa9a68beb +Tag = c8078b13538e5cbfdf1a1361c59e + +Count = 9 +Key = 92a5671cb28edba610fb68c4f2e0f48f +IV = c3 +PT = 6621ae257322cb95d8135c459c5a5ced +AAD = 2aa576eaa5c774c4a8df00a3c23413e2e00ff15a0063951f7a67ea55cd77a50fa1a778e1e0424bbc4c22882168a9cd82 +CT = 5363513a4f58c205fc76df474b519220 +Tag = 25e46da0ac897eb48954639759c6 + +Count = 10 +Key = f680105f50abba68574303a7dfd74846 +IV = 86 +PT = 72ae409ec3b753459863db639fd1a53c +AAD = 9d59fd8f5ed6551c9c47670e498141c029a2a5633d7b359e8a3455d95b378ce15819204596010dce9d27654b92631936 +CT = c772681faa4ba64bcdcaaeec58e41a61 +Tag = 11110a2f6befbed62fc0780b0d40 + +Count = 11 +Key = d14288dad23213498277d68337b0e43f +IV = 54 +PT = 9f133965c203edeb1c504d4bb30763ff +AAD = 63cffc6606990b42cbc471e64368f507c5a8dfcfdee6d9cae022869b64d6dd47a31a85a1b7203fe01fc6c5e350657a2c +CT = 09e728bf362320b6c99487db9e2c2108 +Tag = 936cec059a1ee1c3becf53b20999 + +Count = 12 +Key = bf3bd78d0407132be0fbef863e9dd44f +IV = 17 +PT = 14688d937bd94afa5c5d370be953fdda +AAD = 4d8e4a340891d7ab393b425e392785c6d23e3ce7efc4aae64961dbf447e3d2097c2aeadf8b1ff5af4dc1663a5f47b7b7 +CT = 36aa7df9f5e5d0a9e6e8b007049747bc +Tag = 890c3ae72ee214ce5121588edc16 + +Count = 13 +Key = bba0ee9de97a7eaf429ffa21b8c7b594 +IV = c0 +PT = 97067024fb5397d8a4676cca12a2e629 +AAD = b2cfeb54aa96c47c7edb9bef2f622c288971780ac1e3bffd15473f8241384f9639ebf95f5ad80297f0edac8933a667d9 +CT = b7ee7330601cb74182e63d44ac8a8278 +Tag = 8d78cfbc4b749179323aeed638ad + +Count = 14 +Key = d501f441bf83ae6de9c5187139f9254c +IV = bb +PT = f9ed14e4cb556fe2ad42da559c24c1d0 +AAD = e48c5baf5dbeb39cacc32869a3506e4592c7c6ecbdaf1a6fca43d64f586afe048aaa9e4067a90d7a5141e02b2f27dfa6 +CT = 2df732ecc48907f560d9a6ce74a4a97f +Tag = e1245c26fddb55c4d76173b9996c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 93e8441b44b89e60910754d0e7e89829 +IV = 30 +PT = 8446dfa57728babceac397b96b250315 +AAD = 29f9c11873302ed2d7ad9bde630a1caf61237a961fe16103e7df7e2bff89dc2fb8612ec323f6d2ed83892e0863189a73 +CT = c64aa7eceeeba5d1e67507343939c41b +Tag = 2c0a9dbe384fa52a1f2655d44c + +Count = 1 +Key = bf73ca92eb3362b69d7733b6b081758e +IV = ac +PT = 8bd8ded8145ff545626d970f47fa357a +AAD = 931bf73bf690c6e28f669b74a192bb532be193c71bd6c33a69727aad263a98d9d30848bfcde192087641cdc21fcc4628 +CT = 94e1fe706f01a42500d031e4672ea193 +Tag = 58bd3faf4a900530f791c36759 + +Count = 2 +Key = 87622a8c525f9afbb9ba8d67d8637178 +IV = eb +PT = bbf146051145d351287af1fbcb4606c6 +AAD = 807271fe938279c66b69279037827bed2022fc543fde768349451edc840598abfdf713c8d0f8102f437758ddb3ea83a9 +CT = f53f195f8920ff6424ebebb09d8b357b +Tag = fbe9d2a38133fda4ebe73b6b15 + +Count = 3 +Key = f7f71c3163b83f210f965a9d336e4c33 +IV = b2 +PT = 7ede7cca374a82410696d3d42329ed04 +AAD = 21369e1ecff79f4523ffdbc9f172b14ef40dad77ac8250c802bdbff8b06feae71ce5d6bb9bb5a44b073107b5e17d893e +CT = 537a54bdfc2fe949fcddf79232b9691c +Tag = 466ca41659cbd924d5b1339438 + +Count = 4 +Key = da7889863ec5b7c49543434e1cf4d570 +IV = 75 +PT = b33551c2feff9c511c2b83d08022ed99 +AAD = 0ac47e8ed6740af3f4f7a136e20bccc2bbcdb06a2be67492d5cfc724261f1082ebd964dd18e061a0167b3dbf3f12844e +CT = c18526afa970b8e41a8df43d216e03c0 +Tag = 7bb8fc8b6793a76caf2b0214ad + +Count = 5 +Key = cd0270c07fa329c119b4e85defbf2e9d +IV = 6d +PT = 9a42d59e3c66cdf606403a558b1d94b6 +AAD = e8fe02a27143e153887797140bb034ff5bda669688659ad3545dd13c3f3d61d9443d7bea76b8ff290f0251aaf2a6b556 +CT = 66a9457b597e2b3f1471057f25bf50e3 +Tag = e7d3a3f47da2a06ad9f369a495 + +Count = 6 +Key = c01f9350c1ebf8a76f96cab241d72689 +IV = 38 +PT = 8bb6cd19b8d29f7440644ed280f658d2 +AAD = ce44934179c144e6832e984291685d22f57296c57b3f847253787ab735e6ac1758223f24b92add34d7aeff8ce28f3172 +CT = 8501f00866a3e4bd1bda30613fd903f0 +Tag = 172d23b4afa679a3cecf261190 + +Count = 7 +Key = c8e48f40e8246546ffdbec8ffdd07e89 +IV = ca +PT = aa94e62a46c1e0c9c4adfce210b9d30a +AAD = e121f4c2c997d8e1762bbb62a6567254b9053bdd3c71bd0475978b83c0bdc2ef5314a55ac3cc18e7b353590a71a54113 +CT = 26fa24d64a17d2194016b5dc9dce4eb4 +Tag = fca0753c37b65999a7c741a615 + +Count = 8 +Key = cd742bcf7ca3b328f671256f9da10a58 +IV = c0 +PT = ee30db9dd450e7c7fecd2a1bcf52cf73 +AAD = 706017343b3607df0374f5658f88101a4f0e378c32c93c686e901450c3c9ce549d89f9f6469de82bf001afb76b091030 +CT = 1ceab09600367addde3b83017596f688 +Tag = 36dc2cd48a2416e67a80ff18a3 + +Count = 9 +Key = 5f7a40acb08e67135904a530c818e1bb +IV = 13 +PT = b78c2eb6e79bf4b7ba2054bd47f6f164 +AAD = 044ea49f59ffabc87287e99fffa38592c2151af063d3b511ba5a95d1ab1bc39e8cba39c437553fcfd0fc1ef553658182 +CT = 2766cf0085116a1801a977e493cfb295 +Tag = d9380c1389b4ffa6496d183e38 + +Count = 10 +Key = fcbc3bca14538ca0851f57a3a08474cb +IV = 72 +PT = 8644243df13da4c236d0e653ce3c2917 +AAD = ae50fce249028c769a0428f9c703ca55b54319c96dd83ee2f05cf9849d93bf78f8f1a96a5e4c89658f32fc726bfe3387 +CT = 53350d20f149f67ba90a279d0566c47e +Tag = 47765e7b76fc02ddeca0fa1187 + +Count = 11 +Key = 652bc6242b46a722a42a361594f694c7 +IV = df +PT = 478207c4655547dac58058b1d7011c0b +AAD = 0df63a42d6f55fc1aadf9c734c88991822e857402b83378ca45c67a10b9842cc67135bb570bf949c6158e95f857d8b01 +CT = e9b43d51703525ec6454265c03e94714 +Tag = 9939469f0be85610a3c777e1e9 + +Count = 12 +Key = 83b04466f9e0db2d9a383e4c52b0ce61 +IV = 53 +PT = 826d2a9581ef6747a06d59ced86bdf7e +AAD = 154a40d3fd500b69e56fdec18755151a216f0278af14e0278b6a786b4d0f6633cf06099d37f53e6626db4a3043b124dd +CT = 4c191b5708607030fd5151c91aaf200e +Tag = c45bca19ee9216806c784b9330 + +Count = 13 +Key = 19461520255a0bb321efa014851a2329 +IV = e4 +PT = 4a971ff96d2df7b5dc4ecd2db4786167 +AAD = 7f6dd5e2715fdb13d6d1aea19b4c9ca00530135d54c0de40d91782fa860cd73291a6272057de5ff9e6ef570eee37207c +CT = 7ed33fec9875436594ac7a17cc5f0104 +Tag = e3df4abb8dd4422be39ba82cdb + +Count = 14 +Key = 26468bd1135ec1b88a71bacfa2820b97 +IV = b9 +PT = 78b9ff3cf9fbcd45c755a2a0e3f39fa9 +AAD = 8af36c0a10a42edad427e30a932fbd6b91fb2dfcfc29257a6707b8ba442f859c2d08b28ffd94e5def6995cabc8da040d +CT = a630aee11bba3a176d275c4812c903ca +Tag = bcbe3a99d868a0e9def6761928 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 1008c021e51df66bcd3ef5a156135e65 +IV = 14 +PT = 9f888deaf7128fc0624a527d6263b25e +AAD = b31a9611d794c05dffe40927d798da07a0e5bf1447b00a1e95bdbd047b5813151e683b861296f6978fe918f8a603a6e0 +CT = 88da8dd77a3527ac79af3dccdca16ded +Tag = 6d820c756447602236f6d3af + +Count = 1 +Key = 94f1ede0e3711dd577c92ed99ae5a3cc +IV = 4b +PT = efc85db2b7d967d833a23d53d5c25c46 +AAD = e148e4b5153b2720e1b631fa03ecbbb84429087eb83153e15d41f7e6884c3bb709435f3a2d5c0dc7c159fab692b6889a +CT = 2dd56d6dbc499cbf5440e0f857ff00bd +Tag = d8aa6ae2501077a2653b1c91 + +Count = 2 +Key = 1e88de69fdbb4f14d506f87b99ff4caa +IV = 3a +PT = 15ebb970f9c7c9751fbcecf43dc6b19d +AAD = c259eb04545a893cc0931e48b9b91b09e177dc8488ddade620ac0d097ab4f6a14d68506aed815fa7cede4084a132bc0e +CT = cad5d3ac03c0c3e76b3870bd0a476ed2 +Tag = af7bb44f35cd46fb951ac789 + +Count = 3 +Key = 0046bc10d0481ffd3be2aca16d85d4f9 +IV = 63 +PT = 69ed097791e8d83a33fa126eccc128f4 +AAD = 646666de56556d7b7a8adf0c05b62e92057c1692d48d1faa2b8a4aa0b8bba934ca91750430f0bb975b13de6a5144df02 +CT = 477145397a823cfcb0f8fdcabaf58c9e +Tag = 172256f66008198a037692c5 + +Count = 4 +Key = 2a1e12227e663dbd2b9f3e64bdd83a05 +IV = 70 +PT = 57ebd61022a818aac119b057de5a7efb +AAD = 063c4124a1e647e38ff09bd5c629f7ab2c8f776c8a8614c41a5ecc226b6cc4281ba1681211f0f412e003836b542d71da +CT = a6dec8c2e2b81082d185bc509a5fe8da +Tag = e3792e6144eb47547587be9c + +Count = 5 +Key = 826d53a3df0fb01fc35a1051938e7d5e +IV = 6f +PT = d055a0b9e49c45a681bf5c7877f144d9 +AAD = 17ca79994cd324ad9d6a01cb91b55d95c6c328cc9bd90d82c9f757c4a167d74d85f962c2913bd423e31adfe6632c20ff +CT = 3aa9cfe71c953806ce0bfa7886a19fd1 +Tag = 0b5049544c86e49f7c6aa39f + +Count = 6 +Key = 0e2b8e287127d9cdd5812e761e782f95 +IV = 05 +PT = a7cbbd952739d6e613132916e45d3dce +AAD = 525ce6468d2bd4485342dab92f3b95e0e0c060a8881730c879081b8004a0366c63b94d73e0af277d546cbfd2e6555f40 +CT = 3df6e3606c28bfc6a43c73b1d5cdf6f2 +Tag = 65e069fdad906336a0ae42c1 + +Count = 7 +Key = e7dd3bd2e5ef1086abe0d6f49a87e367 +IV = 74 +PT = b627a13b827bf87770d8f26594aac8ee +AAD = 35b5c6863f04c2407bdf5ad35771da0ca7708b4ff341787595a197bcf434496a2fd4c714352e8aa214dfdbbf791ff754 +CT = a82252ae38fd9b6538c6f022cd2e9e32 +Tag = 081e52dc8136296ca561ffdb + +Count = 8 +Key = 3bedf33035f4bc5ecc72eff48b8cdb89 +IV = 02 +PT = 81d76d78eb4ca092d33401b0dc84b2cb +AAD = 85e9efc2393399281a3f72c03702be7fcf7cd7bd2137e03078789b88177e484c641b599fed7bc42b238caee02707ad86 +CT = 5b987ea975ed0b91f9ea5f9f8bb66513 +Tag = 7f9ecd979ee9fb9779865229 + +Count = 9 +Key = 4e53a01a912b5785cce26054efb343cd +IV = f0 +PT = 5b0aac2b7d854cf36ba068cfbb064735 +AAD = 9b5a36e3d95d7774ae601fa7ebdf32173f17357ca0c9d9384ef0ab96d20a49a2920094ac2528ae4dc97933075b2e6a63 +CT = 2fb1af3d96ea6211c35301cf409bf271 +Tag = 769595568566b03cee836d7c + +Count = 10 +Key = 4ff1b7f765ab4ae13084023f431df64f +IV = 21 +PT = c36528a04de6ad775e6d1114a30e4dbe +AAD = ee41b195cde511067b5bb713b88a0c8be6165586b73998d220388dff9ef7312251d1f1f718bfb8e1fe26629fecfae313 +CT = e0c7a3adc821fd8caf2dfc0791ed7e2f +Tag = ea8b41b75a3fb6f2bd61b52e + +Count = 11 +Key = 5e84a64fe774c46bd99d97c3ede235c9 +IV = 57 +PT = f7ed306782405a203fc4d19e7c6e63f1 +AAD = 8182d287352edc76407d9a8e10e0cfe20dc1f8730c92c5bdd91a3731feb2c3add4fc3fad40095da334f2b79d807680ea +CT = a6480e5ef6ba7c2d8e3b180c4e20f6fd +Tag = 8896976b51cc975b2bc5c755 + +Count = 12 +Key = 2fa05fd6b1d8c69de5ed59d608a175c6 +IV = a1 +PT = 621886ab81d478893f00703e86cfb935 +AAD = 607e9f854f8fe8382f61799bac46f2ef7b446bc9344058b777f70a3d9e7d73c9dfc6f238a538cfcf2c23679d94301aab +CT = 6834d7cfeb6db836142d53b19d83f9d6 +Tag = 43eee273b0087ab9da2ee810 + +Count = 13 +Key = 6f092dd8af576e75e65f9ffec51bbfd0 +IV = 90 +PT = 19ab65482ca5cad08d33785463aaecf9 +AAD = 744eafb1fadca9c499b6169fab8cd68d982a7cddc17f664af70abbf226d9ca76a729b37967a49da5fe61483a1da2b6c6 +CT = 34216002d04b76e6708d60e04f84f43e +Tag = 4695ed2a4973bc5db69c9188 + +Count = 14 +Key = 8a36a2f321dbe9329977ff3c8dc94bf1 +IV = da +PT = 4f20c62a1dada5bb41fb91739d544349 +AAD = 72a05b6b2c97a804552cab1208a4750e8d89429daea2f2c6265ec761ce0acf8bcdc9ee417a3219b40c0f318879479c9d +CT = fa18b43ce64234c29e04cda9ac22f676 +Tag = 30e34d706b838762a590ba81 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 29b2a6845976ab6f7374ef88cb819a1b +IV = a9 +PT = 7d06ed9519313ad724a8a9ad3b54bd2a +AAD = 97dd56780d2831dce87b88a8afc4732fad4b21e233b9f013d10d7efcb0f86091b368105f6fab0735c7ed5312babc499c +CT = c5c7280b3c2437b28c2adbcbeeccc8f2 +Tag = 0b777e281accc874 + +Count = 1 +Key = 163f3416a8bdfeeb27a53cf929d2d69e +IV = 96 +PT = ebd637f95c4acfddcdc7e8e3a32f9ab4 +AAD = a6d7256a184afe52bd5b6a0c59d2fd1246b3c405908c735a42f212266f23737a73a15394f065d41beb35dd2658413680 +CT = 8a163f98e8ae4ec0840f0645c8c378b0 +Tag = dc1f2dd26a80ff32 + +Count = 2 +Key = 52a7c81e19e53edc381eed1e62ab5e6e +IV = 0e +PT = 2df1ac5af6f4d12a235beb6bed899861 +AAD = 54df0e01252a33d4b69f12b20ff21239951eebf0838b29327c69258ebfb51e9dc2a16be2a9d9aa471f3be0eaa7857259 +CT = c969540a8a9a3ca4556ac142e3819af7 +Tag = 7d72df110ee74f8b + +Count = 3 +Key = 20b36c4b27158bc67c95aeed790a3ed4 +IV = 28 +PT = 19d79917470e9589b5690218de7c22c7 +AAD = 90b326559dd9f83a83122d3f39ff313180a0ec5c131978db31a0adf3f75df480def8e2731444776253eed168e07c1e8a +CT = a3cd84e7a3acca5a6d58846e032c7453 +Tag = d818db57585bb4af + +Count = 4 +Key = a64536166506e44d9c0410a9f7073b87 +IV = e6 +PT = 4f3164d6852ae53afa7b33f9d187ba02 +AAD = 426016279b235a1476a05ca6ff4cdeac9923a87090b45e3633771437c5856e817201c28062120fbd32eb002ca6ebc9f7 +CT = 8babfc764aa4bc3013a2bc1ed1dfedca +Tag = 842a34190fe71184 + +Count = 5 +Key = b3f18d248a58ca42eeaa2afb782d95b7 +IV = 3b +PT = 81f64b86775516c4929fd45db60db1e3 +AAD = 89ebd89d707369204339ade5c837e464c8f52e50a421df5186e622986e1f724fdc756e1e0f196c858988db43beda4c06 +CT = d9df1e8c7786e89ef9c6107e54ed41da +Tag = 2253e7d5c331e913 + +Count = 6 +Key = 398cf10e0adef1d3a33f9908d66613ff +IV = 80 +PT = a9489a49a5caca32711e0b0f46794a71 +AAD = 332e58325477e000d4118ab9e9da300aaa7b4142d4199d4426c0bf0008dc6ed1ed6ce08da8d89a9b36e5d42291303fc4 +CT = fbf127ddd34d2db0a3b0f03f3be30f3b +Tag = bad0036c9df8fd65 + +Count = 7 +Key = a2525a5dd47520433d4cad555ade9c00 +IV = ee +PT = 602c5fb0a2c2e4a8d7429448260c6c35 +AAD = f1a3cca03df3e02471cfdad252491d694ecb0e4b48b4265584a5e082f391c3aff3987dd37204be99c609ef84636faca7 +CT = 0b8a38efb87888911784351fab3e598d +Tag = 1a6fcc1edaac58a0 + +Count = 8 +Key = d9a94c2bb32be89241b50b3865fbdd5a +IV = 1c +PT = 738256d8210e6ecdece9728f82dba7c7 +AAD = bb89cd592740f839f5f51c4b197de1f1f37526a27b6ee92edd56899dc04fb662f1ed7a13e3d21b1e83bd7587c8f83f8b +CT = 36704cb421ccbb7cd53e8e8b89abfce0 +Tag = e972db95d836d086 + +Count = 9 +Key = 875bb3d7f9fcb9806b1b8f7c29fe9145 +IV = f8 +PT = 996daa9e6f55aa58502b9a8b69416b3f +AAD = 905cfaa86ce159504d4b190d1444894a080e3c39378d506efb5f8f9d2dc4da55361ddaf6ce76e86a247a713d8d9003ee +CT = 544d9f1f41531c0c0e8f6f06f61c160f +Tag = 8c71e79a60219873 + +Count = 10 +Key = bcb72698641e01726b977c79eb4fc522 +IV = 83 +PT = 2bf8ea5c36873c1af3447237695c6322 +AAD = 19d771db2bbbf781ade5b8e9619aea55b123896d272fc77cde0f9d2db3864cdb046f9b11e1cbc0bbcf31fb0041731452 +CT = bde7a3f805bae64a04298decd35ea0c3 +Tag = c0b2c877de26e760 + +Count = 11 +Key = ab2578fd923669f21c4e3a32261f9e11 +IV = fa +PT = d2ce52c9d71a222869725348f9c927d4 +AAD = 8c5998bf21e6595463202efb14798b24897e18d618c2b2be9434dbe1b96ab99bfb7221655b86fbe37d790dd211a255e9 +CT = 07507c6956785d23a017f3fe50e4b59e +Tag = 3d8c89a8a6e6d34d + +Count = 12 +Key = 5a1db55df915b63b8a82220aa29c948f +IV = 41 +PT = 3bcecacd70bb7f770642e1a5c2c832c3 +AAD = 9acfd30eaad01afffcd19e89766bb05150142fc8c0ba9230445b3d726ab2c975f195ad456b004040691f1c41df2bedcf +CT = 160ed7d42e7b8f6380b0278c3dd1e469 +Tag = faa1ac560a0da2b0 + +Count = 13 +Key = 5208aef7edd3a568acdaaa7eee1d52d5 +IV = 82 +PT = ec605b315f8e5fcf759a955479ed05ec +AAD = c5a95e1188974c19b1bda48e7ec283e0aad9205f982f86b524420a38f3641337f0f2f07be0bc51c41ee92a49e0c40fbe +CT = 946de22687f15e2256c77235fa1e6b15 +Tag = e6c59e7ed06e3c9c + +Count = 14 +Key = 1c1b983a5b4711a496c42014259185b1 +IV = 7f +PT = ec1c4b93cf624545e681084ad3494bef +AAD = 5240d8a33da5b7263c6607f14fcbdf9159ae8568753f8f6ec4f6dfff71968b6c15381e313d971f88a9b1eabd908b9eec +CT = be624f85de5ffdb72ced003eef98aa55 +Tag = c4b371f26857c47a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 1d4fecfc744839f3cf4926f78d5c79e9 +IV = 06 +PT = e22f78862aa3f7a55a6d5120e7e87736 +AAD = 810add38b4551793538ba8eb92c21fea79f85a083d2184595680ab936eee5d9c259b98d003ba9851c7c3c391e4572680 +CT = 84ebd63d578b4275defb95c5e4666c54 +Tag = 303af5a2 + +Count = 1 +Key = 32fa8afd15319f1b820db81abb45e374 +IV = ef +PT = 05e76afee97126431f3b47ca6ace35c6 +AAD = e22d4a6901e3f8dc14dea72e669e3a1a7dfaa8d587856b2ee5f78430e907919ddadf0418deaeb9c3023b06859ca051bf +CT = f29ad6c9838cfe2e8d06c19bd743bb33 +Tag = 8315de69 + +Count = 2 +Key = 62f37bded1c6ecb59c5e4cf5e3486558 +IV = 5d +PT = d7bb41307dd0209d2749058c4e2b2191 +AAD = b14073229fc7ddcc1b31c9c6d518ea2049b2f5d324586b470ef8554f884a886df37d28cacd6fecd92acb82c76cabf241 +CT = bf01cc26d76e52d00efd248b65e97173 +Tag = 8f51499e + +Count = 3 +Key = 7345422739b0d9b01b74be909881547e +IV = a8 +PT = e19044b52ed22da89b67b3c62d76f8e2 +AAD = d1594a6488f7b9dc82b18bab6831b107f57164b8c307e692f9970fcede05da35902f86fbdc13429493a9325ba66c8097 +CT = abeff35fcb5cc696145a5160da805484 +Tag = 00a1a488 + +Count = 4 +Key = ad29d9c1d7d018271c7dca25d242a778 +IV = c4 +PT = 6dbdc98fa542cbde988f60ab14b7baf1 +AAD = 640968871212eca1da05c71a6c6dedd75a85d4597dc233f6a47eed2d3389c9136465d1ffbb6bd95fd03b732e195b658a +CT = 3fd4c4d1df4844987273d6dabcfd7e4d +Tag = 0ae29576 + +Count = 5 +Key = c8fe2a6f2aef458c3b40d19d4ee6d189 +IV = 95 +PT = f5c3942a701572932260ece2c5af4563 +AAD = a86c59b8f1a370eacc785459bb33352c1baa4cb2e19f45cc4e1bae527a91a6dab221c89e90cccd4ffdb160867ec90cff +CT = be371c29182462300317e419a0546070 +Tag = f7e657d6 + +Count = 6 +Key = 286a346fde5b21b1af72fa2a39f30ae8 +IV = 85 +PT = 784bcda8fe9312ae61a498972064f63e +AAD = 44b18847350294fcaf9f024ec0a46650c015c99a5045e347a802cb73766137662756a298160c382559c18c2fa931c475 +CT = 4770c1385dd0217295ed14aa9c5d6202 +Tag = 6dc8dbec + +Count = 7 +Key = 00c2215fbdef8edc53e9d603577d5fb9 +IV = b0 +PT = d50907e3899c3c5bd42b5f8889dcb1ad +AAD = a88454f58351f772a85a7cca65c4e770138cb7645c4c61664dff57a7f68ba2b5e6c5c114c576161c5b459c7c50e789d3 +CT = fa49dd12a675f6b558f7433c6b4ea5f2 +Tag = f1c4b65b + +Count = 8 +Key = fadfcc7dc1a29ed5416b6ec2d1e158db +IV = cb +PT = 5be6d72662634b7f1823ab3b0ac61879 +AAD = 144663b50bf4de1f8aee4c2678bf9d43571261d9eb63b0a52a19b1d8ec6aaa27b5659355cbf1295be88373db7b52f26a +CT = bf63d66ab2dd30ca026ce3b62ac35940 +Tag = f01f657c + +Count = 9 +Key = b08c31ddee3184b2f8e2e3769d84f897 +IV = 7d +PT = 4a8f660eb1f5db60f04aac3b571ebbb6 +AAD = c09b9d601f367d943d55ee2f484342c1568ba55d7a0f4aba7d7296926190843e80edfe0545eca79d8e90ec9b336c7c06 +CT = 0a09645a23902773e5a72744cf8f1c41 +Tag = 72216850 + +Count = 10 +Key = f7f3e0be0acfa9160ed786c048d10b3f +IV = 5b +PT = 548a30c4c8dabeca9d74d452c9ce8e0d +AAD = 64b7bead241c8c2dad83fe8b1b14b403421008ee01d1476389385332ff759a9d83c270b5b5acb650a353ed60ed321553 +CT = d6625f244ac83c1e38e5a40957226fe4 +Tag = 05a98e76 + +Count = 11 +Key = 213853a4fa4ae178600cfea741d4e4b3 +IV = 34 +PT = f7c980526f11dffeeb6f6016c23cf986 +AAD = b5ab2dd5dce21735b69254b5c6861c87010d7440d07133d6afc496922e54aead147ffaff6be70443eaf742906e773993 +CT = b8835b29d5375fc0bcfa0d998c4dafb3 +Tag = 8c002e06 + +Count = 12 +Key = 655cf0ea9db9a5fdfddedf1b925f04b9 +IV = e1 +PT = 1806b114cfd329d8604c694acf09fc78 +AAD = f2cc0c9f133678200460deca43310d156488f41d545dcb8bd846b685a1afe2c750dd9c642ad577ee9e902b6efcf1bc43 +CT = b7a5456181e2f3895223bd757fa362c1 +Tag = c7919fbf + +Count = 13 +Key = 8694d3c3df109dc67a50f5317055ed2e +IV = 01 +PT = bb0e896aac6166b17f5f38a0da5b7e2e +AAD = 6b55d3851726d05d01acd4de413e4dcc5d3269f902bad1ae35ea4d34ef2872203b1a63ec6cf1d1e921ed3fc594c4b547 +CT = f729fe79f4e7d671bd7c1dd0b985db16 +Tag = 2d247ab5 + +Count = 14 +Key = f300a5e3c149fdf35801318cddd29ace +IV = 89 +PT = b64180815d15b3dd9b997c5045cac1f1 +AAD = e1b115008674232ea9392b6957d8dde1932887b21a780a91764f9f22c7754dad96fb2f5dbfbfa18922336a876a59ab73 +CT = edfc3bfafc659eb80beafcdf48e3f0f5 +Tag = 3c26d7fc + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = fa8c946ca8194795f4c41675f8711a6f +IV = d8 +PT = 204fdb9e281a7032bf059ef8fb0a812c +AAD = 01a35f9018178feb6979d68c8b156a9df8b66bb9f8e2ae1a3d8bedbcecbda35f28b46a05c1de802d4f8516494af23af710bc41d916d527d019a0ab72b542e12d7ae1636a70d3ca0f98f78c1acd490a6fb51d1ceb0c9c7210b687 +CT = c5cbab590a3bf2109609c5bb82271ef5 +Tag = fa40b8a8e5752498c63a4a59fd491c08 + +Count = 1 +Key = 43675d215370c3f2c5da0aa58a41a92c +IV = 31 +PT = 24c25202dfe9c4650d2ea34f789d975a +AAD = 3aa2d547bb035bb412a493008853d4969c905f052dc0eea9a722936d5d37b5aa6378db0b77829e131b3546fee253eb36c22ae97e65f541f8a94d2decb1cf1a587a1b23beee95bcdf5617ce8712f4bf820a7bf1372f80f1987dd9 +CT = 1f4723cad96d3ffc09bd209e2bc54cd5 +Tag = 09856700b811f31bb9b3f65177d3e9bb + +Count = 2 +Key = 05740cae43485a7325d9297c698ce29c +IV = dc +PT = d973bf4346e75bd5886419b18ee44019 +AAD = df8d03a729f46a813c70b82926bf3e1d6d1fc4738bede99daaeecd042ca321ded8f90f717e4fa4ab6ac01fa32100671e75594f4545f1a1896b4aa6169051b95cb3921556cadba543a79f78dd1e547a0debd4c3ed9e4c0a991657 +CT = dbd6da69b271802154ffdeefdccd093d +Tag = fda35092adaebdb6e1fc14f5608fb503 + +Count = 3 +Key = 3bc60ede1e77cc82523a6c6849c0f5c4 +IV = d1 +PT = ad666f4ac6a8bd092ec26a5d50c3309f +AAD = 205ccec96eaf67f7beeef6bd10603c010e259529b1614d12c5fd654273d6130e8c295e7580973b5a3fbc4bbc2134f7311ba11b85ff51daa500dcfb5c6216cee20b58e3b1c82797025ee4fb3466b860533d4db5fb60d9f86c4ebb +CT = 3c191a307a5eec47f92f6acaa192d050 +Tag = 843ae7b01e565975bb79a0bcc0a4bc94 + +Count = 4 +Key = 88ca5f3649e6c9bfda17101ad59ace19 +IV = a0 +PT = 3217df9673c84d81922ba2ba228402a8 +AAD = 5d7d8e075620b512ae42d2fa5284ca4af8e7125bcc3aa9efb875f8dce40f786a582ddbc6124e5f9a5f0c8193fde49dd25e1dcc6310393046d167b0141a5fe0c70a63e92b9ef542378c58c51197219e0ad207135e9aca171d5086 +CT = 6581134f8461ee86dd38dc2bb2f9d052 +Tag = a5b426070c69221306d6ced29819af24 + +Count = 5 +Key = 7c7a07b3e79d44d558d4ca5d3f8de87a +IV = e9 +PT = 2b6e070ca78cb9702a3f40224a8cc775 +AAD = 18402743e17a1ac96e0a78ba43b7873b9700a3eb758143993a29ddddc526b3143e45550687407b54a43e2eb685b3ad4b4e6919be3483508ae563f3d8ca72d50a516d699080426c38e2e056b20d2e8b15fbb84efcf81135b4cd92 +CT = 79a1a33fdd8d1aa96adfcb51c1e89fbb +Tag = c50be964cd9e78f28eec24b5ea315f11 + +Count = 6 +Key = 827a45469e176d5a4f90964a12861d9b +IV = c1 +PT = 515ae3ed00c9684893de1386ced71899 +AAD = d2853287da7507dad12faf7579a796bef2a5cb0300b75a41b209da6066ece1faa44979ad8ed0ece6455642ff31285aa57a6f1756cab164495c344995a7460d027c2c5f8a53dcefa91c718a58af2ef1bb1e8ef1a607db5730cf09 +CT = 1af324d08a77d663ec63c673a6ebb98a +Tag = 2624e820ec8a73a7384fc03fd4278ae0 + +Count = 7 +Key = c2ba0f5f3ba0b41d716ca0ba7ce8a511 +IV = 1c +PT = 0d9447b98b4efd814eee9430b807e12d +AAD = c7c46dec6267fabf835ee6118774e3993d905ae986b2f21524db7e6b32010e891b419d5ebaf63ab930b614e032d182b2c35485955fd8c2a0ad9845500a7a193d6b8252ccc69ddf61b2cbd62950822380c4c3f6ddda13fb87bf54 +CT = 140c2fb15c00745f51547248334fbcf0 +Tag = 766f0030a70b1d6443ab246d9811cf96 + +Count = 8 +Key = 0c04f087b148fce9d421997331c6d719 +IV = 19 +PT = b7e1d3818b1dbeb088286ce6b36de910 +AAD = e8463afb611ab24b18d7fe208e2626876f2306379a3d27045d40de81b0a8e9ac79e96c26086bc935af2d819d121ab8f18e312f1bc584c508ec229e2d2a21c1cdaab08e1713e9c13c8938021ec4888c96ea5bd461f756d4f6201b +CT = 6c5d3fc156dbcf77dc8705f80e45c74d +Tag = 54797c7c81940e2679e5e27af2e0c2da + +Count = 9 +Key = 4f3dec21eb25c69dfe2f017dd441cf3b +IV = 23 +PT = 740e8bbc85c2fc6953824247c1535f1b +AAD = 59ccae8b63370390dea4482b589b5fccc6258fc68bbc66740b221860e61559df0effce1097b99086b09d156ab53c65f96a0e29925c988e515370c6fb6d3d0a9641e60ca8f456d330b77fc7e63311dd573842cc9fd9eb4a47bc70 +CT = 244704a3bcb46492b58dfa1f563ddfa4 +Tag = 2a6525849e000bfba8234ac9506b4b03 + +Count = 10 +Key = 267560342f447932117da8cb83c3c6cf +IV = 50 +PT = aecc4e6a36ee191451920b6e9a715e3b +AAD = fa2d5ea2c7b1d51cd578d48b5aa5ff75f6f59e254fc372ad9855bfe28f8c6c273e4a365cdfe28b0ca1e473e9a1e58a5e9827a75383cf601369dfa4e5de70800449a2765ef2bd46d5c67f4e247c039ae81224aac725896a87b5c4 +CT = 00f738a99a0d22d6bbbe58f3858a3bb5 +Tag = 14257278f94dd7bc87d327817f82b5aa + +Count = 11 +Key = a7a0a0959289eecd4af2a78b9be24a33 +IV = 09 +PT = f1870698c23412053be39f6e4537253a +AAD = f961398e9cf254f53fb2992c2cb0b66f88687ddc0731febb7cc8c7de1a8def5ab692ba1f18ff6b1017029dc497136c8b2f50c276b49b83cd1c8e1403318cb8f4f99c113ede960a314906820412f93f4e6cc3fab02d0675dfc655 +CT = 9cb91a1fa785e19ab2a5ed9e32351937 +Tag = 0e1bac571f609b796b45cc03ec0beb03 + +Count = 12 +Key = 487fc2837b56122362a693eb6235d8a9 +IV = 51 +PT = cbd0eadc04e1664f7c4d40bffa474659 +AAD = c937b9a8922c67d9a43e603009f9fa53a27fe19ad41b7cce46769065d7350a1c20aca26fc91c7f2598a06c106cb6da82a4c10dcba6cd6adc80aa1c6e6b6cf6836879aabcd9d1ceba4f2ff8bcacd899806a443978e352c8e6ad3a +CT = 95522fdf56bea4ab2a5ecd0f741d8e10 +Tag = 45ab61e88c12a1032ad0c5b651dfb831 + +Count = 13 +Key = 93e0720f074bdce675dd99ec32517a22 +IV = 66 +PT = 37a9df2f91d99dfd7380b57e9ea86ae8 +AAD = 8b64e6d4cae0f44b0bd8545ae9eeba542f031a9c8f8644e0c0c772191eb3274e1b356ebf53a6d42c90b39cdd4db0c4ee842df4bf37f3bf7ead3b3c1348dc20f929cf853cc125cf11126bd78c2149ec48985bd19e4d41d56bdd0d +CT = 94b70a74669a7bed66b11e9f8b1ff2b0 +Tag = 04a3d863bc6b2f0fc35d3e644cd67132 + +Count = 14 +Key = 66ddd9476cdc165d45384a4e8532f5c2 +IV = d0 +PT = 0d9b1a62200422c1bbcea1dd9d6ab1d0 +AAD = fefedc0bb451c09c27874cab3850eaeb05b125851d336bb2eeef471fe23cab12a50d5b9c0aa4df48425611071c49013354af9f7f9eb43a2d3633d6348fbefc1ad2227c3c5f1f8e1032faea1b3803b61bc1d2c8a72b5378e39ccd +CT = 7caf822e114ca19d1e348167526d394c +Tag = 63928e3f6f82575fe5aaf52b0a9c120f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 30e6835c3f05e44c98b2a6a29b8be816 +IV = c7 +PT = 0cd4926fc723c8e642872bd8a1f0d258 +AAD = e9d943e12e18977c116a1b078edeca50361c1fd59555e60c41505c25c3b847f1b3b6ffe3f3f8c31bd6d254309041556893d4edffd3975c3993d21f276176836828d60eb74ac36019c6f5e45cd3cf2d8e0858ad127c487d776c3a +CT = c9a8a84805ebe3eb6a69e2e431dbd1d4 +Tag = a0c1ad5896650135b065f94cfb60cb + +Count = 1 +Key = 44d42eca0549ab7e68ba46781f7984ea +IV = bd +PT = f0d3e4f985ce499ba043be96f87e8f13 +AAD = f6000d14e0a31f54a515303b415ad63374641f7ee131e60ae8b8f9f43f766f00c7cb74cb318110b6cc3ecd7be5315684d4651fe2fda4144a6eabc2691fd3245485311cc58a7cbdfcbda25fb2d1eb0c54595cd920c32003eede89 +CT = bc3c2ca6b5a459bb66f8506af6613e17 +Tag = 6af875995b97b9a648af02959dea82 + +Count = 2 +Key = 4ee90e0ab638240c335af8cf2f986cf0 +IV = 35 +PT = 896d8cc42d4b1ae14e026a9dcfc596f9 +AAD = 20c48c0a6d86abb784619d92b89c77b9564adbbaf080f3af079a009845a087956ec6e164dfd37ffefaf549b8fb18dc370076264649ce0a38c793455f8b4806301ee5ed029ec8a0c1d33a51ec62be74a60eb742aa4b631ab9ca4e +CT = f4cf0bdf1db45d9643beb6231bc83894 +Tag = 1fcdd1171a2b3226d7c02714a81d5b + +Count = 3 +Key = e6077b82e5b6a6d2be6440b0cd017fdb +IV = 13 +PT = 07afc57ab4098f1a4770fc983dd6b20b +AAD = bb416133a4caea769884aabd651c863f0174b3373c00f435d39f937e5d417ca0d4ac33a50cd555419b30ba179931cbd7b31bf0d5ba397456ab11bd13fc44ade246dd7aaf40fc091178966646fef56182b7782f6ccab92243b3fc +CT = 74b5f244d054e4e5125eddd93f29bbbf +Tag = a364fcf4eb5e6ba4990347daa94e53 + +Count = 4 +Key = b5e5db144f4e3f91b07359ba7847688c +IV = 76 +PT = 016bfec7aaff3211ef96c9aa2a2f9a91 +AAD = 35475e5c1fb810302d9fa911d50931fbeb81b163158dc8ceb6496dacd03c39128f7be5b5330834956d08cdff74b4f77901af144d025467af9d2b307f9bb0df2fa52ff57610d4a7e1822ecba873f3b1f8d0bf178ac5295b0a0cab +CT = e48f6c9fed675b619aab35f605bd7e04 +Tag = 3e25911b6a77079db87808a29e4ebe + +Count = 5 +Key = 5277687cbfbfba01e5e882d562fb0f07 +IV = 8a +PT = 412d202f1c018ec797781d457d928aa0 +AAD = fae4da69cdc90b1db2e68c630758a3939414862f875d649394adaa10b809ac587664a888965a896ea567839220fd1204e38e159172d2de3239aa34b7ff18abc8863168c181fb37b8a25ee053568ba8d3f207657d041340e591d3 +CT = 9ad91ba6a6a68851ad821fc04297b518 +Tag = 24c1e1e17188d6c3d0949048218982 + +Count = 6 +Key = cdd64ae67b8262ead639d9b14a6ba635 +IV = 67 +PT = 050e8b6d492fb9c7a769213542a8173c +AAD = c5ab70b9e542a4a673b4034ac2741e98e4ad6ec5d12633c45138c2758473d2ec60d8a7973a71378adaaf0235927c17882e6afd62a9e955579e00d6f4efd891eb715d9a42d045afc6fa3e4a471d545c5ef9fca6ac2ec60455ce6d +CT = d86634c667c88903515deb6aeb7f365c +Tag = eeea5ba8cb6f56efc3d1652bd0d10d + +Count = 7 +Key = a32dc8da0768a6bc0944d4f9aa259497 +IV = b6 +PT = 381d1abb1f75cf34bd63943016fdac7e +AAD = 6a34704e5c500b323e44acd490a5a297971dacb85bf39ad7fb7a16240a45d4d49091041babb9807627927ba5fae656271e697efb15b892fd108a24c554bb6e4bd6a123d2055535b4d63e9bad4e49964a78d0ec4f2770908a5f8c +CT = 49b4524db65efdd72e4a1d5778f3c329 +Tag = 0e974fd474c15402164e5ca0975a85 + +Count = 8 +Key = 554139b3b6794096c0f2c0a15a60d11b +IV = 47 +PT = 8c3a3f45fea84a782c6163698933854b +AAD = 9633a230c64c8c1275dbd3ea7688345acba4de5b8bc5a43b5aa6ccb2f55ba8ae32fb70b5ec985cb511651e0cb08d24b9babb5c9f34bbd5c95756a59f1d18f3c0b42e7a7e470f76f1b50beeca10696e6c1aaca31e33057059eb38 +CT = 80468c99d0ac1660c9dd48da8238f4f1 +Tag = 2d4016eece8c344fbf115770e55209 + +Count = 9 +Key = 93b6f0c309221163b5f5fbf96022bc73 +IV = a6 +PT = 0a649dea322852d40e1099af2e11f850 +AAD = 8b27edb6ced361e60fc7fee6185bc6dbba24f7b9c859365e64af1ccea228d3f9ebcae3c04c45b1b8fa74bd197c39656767ecb92bf19db0a35284721b2c6aa578f1b33d6c91e5222a287643e6e840667e781e38de074e95f0eaa5 +CT = 2c2f89a453b072fa44eb5c663dfc3a8a +Tag = 811b1f0e75039a5b714e93e66ac0da + +Count = 10 +Key = 73b2726d5d1c6e5283185719cfbdb504 +IV = bf +PT = dc92ae797cf69aace8028d6f1ac0cab9 +AAD = db1e454815cafdf9a176824ea7f196ff90ce205653805dc97c32f9cde7ff36498f4e9df8e2b907bc3213c1abf3abdf0b111232ce4fbd6e65c6588787a4f1603d5ca5c632e14801bc431ddd8fbf21f721bf3e34eb4a867208d990 +CT = eb1f7265ff08922cf3542131bd14a291 +Tag = 4fe5ea22417d34959d7bf8dcde15b2 + +Count = 11 +Key = d67aff48b615e0f3ad345850fa58087c +IV = c4 +PT = 05149d26f0e17fa8026d91422b03dc3b +AAD = 3eb562e0acea3c4e1cbb80e68130f990e26d13d1f0e8a4d7b76844937ba995495ce147b31c06fc2b538422113b52b0c14979bad9fd6d1f307997a392f4dde2f8b2c184c5f744231195ede53350d4542495ddc8408dca1cc6f3f0 +CT = 0422792a26f5f38219cbce6c5dd3c47c +Tag = e52c4b0e1dc61bf36ccc7be66d4ca9 + +Count = 12 +Key = 492992faf8d23e721d28f9cba46ecb5b +IV = 98 +PT = fdd480e9ff6ec78ccb62168ddd726da0 +AAD = 3e8d5a3a64927937824f2a9ade66552f9d08b929006ea8ef8404ff9e0afa79731b6eb2d9d281c644bccdc6572e803b73561505887725e5a37b32e7db05732d088dd6afdd96a97f48a79d2507395f9c9c6d7e600489530d526e3f +CT = 15dfacecad46b8140bd387982bb07fc2 +Tag = f3b5b2683fc95deaa5008202c61c16 + +Count = 13 +Key = c27de567f438127dcd082fd1ae04a0d9 +IV = 88 +PT = 52e5bf849a7ce70464698f428f4b87ff +AAD = 3d4cc17f75ad14a2cfc00e72020d41cc9e04ef3045c65fdcb0e187b716d34088d2afe82427d859de07955a160ad55472bd6218c6310b633f0492a3a1e6d43c63f522d843534e38ac559ae0288f55cf07bee61bd89162538bf589 +CT = 38bf50515af85eadcc74742c20490871 +Tag = 0c2ebe1319b386b5d06b3eb2f1f327 + +Count = 14 +Key = dc0d9d970d6ba438b7fe370eea226d27 +IV = 9c +PT = 526e486696f8725816af593f2bd53aa7 +AAD = 124ec6806a76146294f9aa56c00d4de70a4c9ff5383d357ce23e5cf2798900b6c9f49b48373bcc7157d15669d216a6d6694fa0bdccdb409d72a6424739cec59bc1ae785015517b548bbd7d31ccad6e52fe2b6feb3cdc853f506b +CT = 15b75d3fe5754af4f1df216ca0ad98ca +Tag = 5cf905e033d4736479b70a63986bd8 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 357c1d67f8e549e4a43e756ad5e1b6b6 +IV = c4 +PT = aea0f38baf0f1139c81ce7eb63274255 +AAD = fd18bb7800ea61ec2c968c9ce1e46df83e48771eadf4eb0473c9166b921684c6d8673d0b52d2af858fbcbabe0d0c8e9848afbcc18d678198935a48093ef19564e28c1b670e91f1a995d72284a6ae76cfaaa8bfd320cda3be507d +CT = 10711ef07b4b55dfc266160acaa2282b +Tag = 055110c95aa05d1dc82f4d92c352 + +Count = 1 +Key = 007c63863c6d473c4a344f24f2163be0 +IV = 36 +PT = 511d1ba0930713f5f40f42480d695354 +AAD = 3eb2fdc31b1b0ece300dba6458e2ff07f7cc86e4f1173d2e921b028891da6d94f328ad697dfd7d2bc8b8e72e887cf058c7df0f8b497d91aac4b8cc6433f44e94534ab1f14737724b1ecfa5b90b96ebc2c5d88de0ca628ba8700b +CT = 5a802acdf926099d7128ae2ce7a2bbb1 +Tag = cc4f0be80ce39ed3ef871e01d6a2 + +Count = 2 +Key = 46e83cedfb5411883f5479c01c0f014f +IV = cc +PT = 211eb0f7c71fc9450cdb7627337bebc5 +AAD = 0c4341ee8b3f25dc57921680004889661f073a1dfa3f7416b18baf5dc4bb6585c8905539975fe57a4905c9140d6e63839da1409297dc0e48668f73680bdfee00e4f7df81334630661ea6aefebafb9d60f58cdd372867ee9b00ca +CT = 25f98bd082c934a651c33df5cdd86a8b +Tag = a6b17dd9296f3e3ace7c39b96c2a + +Count = 3 +Key = 37495abb9133deb3fed1c29c713364bd +IV = 23 +PT = f49ba75fa91bc00d25928939247a24b9 +AAD = 3baf6b9ea623a4d881a984c3e6dfeb9ffe6d4fe66d37ef577832b52e0892fac415a2695dd04e5dc5328f60945e8ae93c63bdf60469b634f1ca75593abc87e69c2d0670643319581bcbe7b72e75a7ec1a8eb4b8916eb0d2f1cf88 +CT = f686b17fc839c247690121f507a35bf8 +Tag = 30c931d79cc25b58c151858ba392 + +Count = 4 +Key = 62bc4084dbec3d5787156f3cc36c9f5e +IV = 80 +PT = b4f63bdb625449b854143ed4fcfb4a33 +AAD = 016eadc8e8b240cc57ab1b5d639e95bcdb57840a215fa7f187d35f2433316ce4859c67e50f8436ff84b5573f9ce90c714100add5977b83379db2ec8458478e0e38cfeea59f60c1bb7f0382c955e76d4185bf30af30a38bb60457 +CT = d75a548588f23edbe72498e27b37a2da +Tag = c03faca81c87b4a20228b2dd821f + +Count = 5 +Key = 4423bc485bcd545107a4cb70e1407ed4 +IV = 26 +PT = 26335b0404d359a25202aecdcde63e6f +AAD = 21b870485f82a39a70dddb10feac4a662ee536f4be93cc2552e08a3b5cf8f8cbfbeec3437ba6120592c8db706f6e170b0f31088ad8ebb718e77626fdff87c1d83ab0b47ed537adce5a408b9b771b5c785c54e56e87b60b4cda6e +CT = 8786aa2f602832c01bafc8c2f060a30a +Tag = d3f4631dbca1baf06620cce0f58d + +Count = 6 +Key = e2f06f0bf5f6a89bbbea3fef2a50ab89 +IV = 5c +PT = 758e3dcc8920370206f71e684161cfae +AAD = 0de169970a3a1e3465d5b7ba264cb8c2a0d8951a212e93277399d12f491566b2702459d61653a1c632de7991c200ff6bda1ca1fc3140e85e6edcab2f7c1cd35a39bff2479522254092901c04920f261ab9d1ae67c5fd36c937ac +CT = e2cf44c84fd7fbe21010df62244c0f50 +Tag = 0eb7f4466130c632a4b457d47024 + +Count = 7 +Key = baf920269164a2ce505be5d8509c69db +IV = dd +PT = cfbefa9172e3f691e70008f95f144275 +AAD = 43652935399ad33cff239f88097d5edc3d0c861a21e0cf90bd5db0cf23aac897306604676c56593d241ae0ebb6d003373257fae279a9521749afdb13a7766236fbe339b2fa68e6e2a0cbd49d363bc2714e51e6347bd249b56d44 +CT = c0a60eeb1344ec4533e8da88844596e4 +Tag = 6f61ba9e88de539699e0ca169c74 + +Count = 8 +Key = 4c9b6cb79bb074bad2b84fc497de707e +IV = 17 +PT = 2c098491fc7514f0d001bfb356c85e06 +AAD = 6157ca65a85d96c2df81339dd6f300e1764c779f866e78d80548a95e81fbeb90bb66581abc263331b2b10ad36daac930ba99390ccc7d53dab991f3fd72f5ca1da6a38e6123ebd1f7ac882f0744138ba6e308b9499a1916aa8836 +CT = 93e2a8dc5a5722654bbe3a18c5e35fdd +Tag = 3f66b95151055c11f90693c41d88 + +Count = 9 +Key = c889b262de1ff38fcb23a532be490605 +IV = 44 +PT = 7061a2c1766cb084db6b13d4219467c6 +AAD = 1f12a30b41cf1f27bb65f6e87a5f2a71d3c8686047caf44b050177437aacdbc551082bb30869f4f9c78ce0423edd3e6173ccfa3268f3c1afd926fc82de1c070ee5b398bff2e30c675a0de2c881b64faef5e1996b03fd39476dfa +CT = 1127a99d248eef840463ec97919e76d6 +Tag = 73b36f6833ba0333964779a99868 + +Count = 10 +Key = 48a8bb5b658d4d86395ccc99ffb2c7b5 +IV = 6a +PT = 91ef22096b65b15f8b58f328c5ee52f4 +AAD = cd8cb206292400de6e2f2cd7e16182d11ef5a9ba4f877fe9e687b521fb7a36e0d247da2791c6fa9d7d230e917aee7c9ca64c056cdccc639ef504505ccb3a20261e81d760f7174f7cc5295ad93e22d9f11dcd257c2e3d88f25066 +CT = 7344c934a295b4a473e25a84afc757de +Tag = 4c785c2541ee4970374983321222 + +Count = 11 +Key = 69e7c70eb919abe9c5d41ed6e22b5e77 +IV = e3 +PT = 384302663c2714334c622469e8089783 +AAD = bea1c94d1174850cbd78bdcbaee408733704a49c725f1a1ccdfcbbb630c63c941385372f279cf7b272dc51dec578018d0f2219a8996e37fbe687db9c652dc60f8792ceb0a9c0598a22a7297179a76ce8cfb6e338be91ec664ae2 +CT = e0af18fadccec0820efa6262b50ae03f +Tag = cfb240c6af8341ccbd657341b22f + +Count = 12 +Key = 1e8ebf3bedbbe06c7727f2276c244792 +IV = 50 +PT = 9ff29bd0141e14f7defda59e887a8888 +AAD = f0e365328376ee3faea7cbeaa38e6604446c2539bc2407405726afea548e86b9dfd37483631cb37e76650f3b5261803d3434714511b1c854237f77a9fa881fc67a7c4e900f92c8a3860d317343e3fe725c7b5b4718c98e83350d +CT = 803046ddfb4a8a757752a3c6f00bd3d4 +Tag = 504c08d7d8518643142f80d59d48 + +Count = 13 +Key = f449769f54298cbc5836daf47ae00da7 +IV = 67 +PT = 09a74d32064d17551becfd67d38af8c3 +AAD = ded17f5a4c86b32994dfa88282c1cddc3a380447cd5a80515a1c7c3ca86b9312726fa7b6087c50ec7a6399cf7e56f9ea638c1d271384da3c3f430ba658a5654a990f15962ced89600cc0a21118a658fe23e3f661c6de5af636ac +CT = 5883d12d278c6d86f96724c0d0f640c2 +Tag = 5328e966fb1ce0ce44eb052484a9 + +Count = 14 +Key = 344c5987458318f60ec01251f0c9d147 +IV = be +PT = 5328928d6d058bff7ce4e1f614ed47f8 +AAD = 641975540d2c895259247f72c4b885c5d66783fb7ae8cb6032444f95b33ea22239f7663f97a638036b5f8f380aeca0605c586f57598ecc5409831b31346fc86689c0e8d199cbacb9e2d3f0571e430b5b474433a3b58d28d0ae70 +CT = 251e057ccbf620224a4f163c0850908a +Tag = 6a674651e2254be4f714da188d3e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 0fe26c2a8825137f6d07bd85f3f2bc53 +IV = 6f +PT = 2f472938603505fa13f3b6c043d76e38 +AAD = c126bb1aa3af13ff481c49a80b4daf3adb7886c9808732f186d58fe93886b3351f75f1743d2c67c384ef9eadf815a3137023309577dcdf0cd18878aa1451c2510ddff42ef78fca82c824ed5a7dcfcd50a7aa0994c05e5f6b32d8 +CT = cbbd2b4c9f9b7cb65a2aa83b422a2d71 +Tag = 4fac1188b0ffc4d45881f41e3f + +Count = 1 +Key = d501340dec0a078a5370862a2475a548 +IV = 42 +PT = 79790d2f91664781c40072a2d7dd38ff +AAD = c0b2e134c2c853ddfcdd23c18989fb56d2f7fe4084054c0193208ccf84ae74e0e95cd4583b8356108b3d9c99962e242e1b08df60da0bd3b0b88c2c86a9b0ad2cfdb917fde69c6e926c77931b2dad08d526a5c0ec2f855e5bfea5 +CT = 4f60ffc9ca7da816cbccf7267e0e6a36 +Tag = f5c7e266aba0adaa70d4253f3d + +Count = 2 +Key = ff2072273a11d0a5dda0a35049a3c851 +IV = c6 +PT = 14afbbcd4a8bbd309cf13d6e9c900e09 +AAD = bac41c3ad09ae8349b8dde5a1a737d1529884b96f6f4b19cc9896aded6fe357730f40feaea5cb8fb18a3cb2a9951991f0391187be182d9c2ff066973b1590a23e267206524bd87906a0f5973b9a8541d5b1d8ce4d80cadad387d +CT = f36a8bfaa5cc1b44e29233beb82a57b2 +Tag = 80330983c906372897b8e4a36d + +Count = 3 +Key = e98816a76ed9976a4fe51bddb405d2e7 +IV = 2e +PT = b3261a09dff77142f38affec92118d6a +AAD = 754d04c9765b284ccf439abbd2ff70bd6e6940ab46a4916fc2c20fb91b8e7852c767a35be19c3158c708f780042ceb5028fa3c2734b19bfc944a989defe4919c17806ccfe62b1d125cd4abe24c5a0100123e02109d6b11fbfdd9 +CT = 1b0003f53760097f268b948484fc8676 +Tag = 699228b0ddfedb4707bf0ded62 + +Count = 4 +Key = 403cef1f38326d2e441cb8eb44082212 +IV = 6f +PT = 8d7ed710fddbb3c6101692db064409c1 +AAD = 3f585b3aa6e7d1f56185e17fe2f6174a06a6377407532642566a17504cdeabb689cea7f643c3b4949beb095dd5308e25ab4d723e1a3df9a370c0547db7029414935101b7c0981364064356d30ce73026342af8e6de804c1f0418 +CT = 863e661c1e768a07b124d15469f8fd54 +Tag = f32699d3ce96f03852f58475cc + +Count = 5 +Key = 6cef7e382c418473d5dc58190e402a27 +IV = dd +PT = 7b32a32e922059389a571a014698120e +AAD = ce1c1ab6ed6704b9a2df1e924bd9b74806c8f54e8da4789465e1f83372c1b26ac7d64c4381d5f6de38758bc56b0f5de0be2c2bff479afdd87914de8411d55a2a6ccaa80799457bdfed4dfd96ce74cab23176b2b7a5bda49f4b45 +CT = 405c304d43651075ec808a202d519ec0 +Tag = 5198283f81aceb82f92f4304b3 + +Count = 6 +Key = bc7d8b747fd11266233d55565cb15439 +IV = cf +PT = 27ba9cfa3640f5af9b22f16b2cf2a593 +AAD = 2467663edda6eb4df9d52e98518f6ce6825f4230dca51dc8e4305c06614d4dc8586e59180bedbad186870b167a7a6ddb9563c812a95b9afcc164f5998b1c4ff9cf694a6388e0ef5472f9f61d2b9f735f41e8773f0e568e942b36 +CT = 8cdef626398d0e74215c422eeb5bcaef +Tag = f896c0e89f95dd3d516540ed18 + +Count = 7 +Key = 8c386231edf2a3145a72f712b6db0c3f +IV = 1e +PT = 5bae0677548fd3f15653f13df0b5935b +AAD = 9ef5b384b483e4eb4259eb553108b2951b8c35e86f978dbb78b5aaef28fc7ab2528b0f4e6c6b5b0214c1584f62bd814c65444a9f1d2269afcc799595072cefa24ac11192b176d8933a1e04278657b9d35cc9450556d332f8619a +CT = a2cad3793ce0402ea3b6cf7016724ead +Tag = 29ea400e1d2054cf132ce2399b + +Count = 8 +Key = 0937877ada23a0ed0e9657e3241dbaca +IV = 04 +PT = 1d36afdb949c015cd2ee2c4e005e74b7 +AAD = 8965a66243000c73e48086c2121fd62709ab6f004ba1bdea4a5c1221db930d766ae5da18d36677d5de7cb3c7b224b387ccbcf6dc8068dcd01eaabe34af637e0bbfde2faa714d7c48b7a9fc34839c9ae66e19f6edc1fe0fc2a75f +CT = 7fa4970990976b75c8389243478e5e0d +Tag = 4f1233e54bad13a967c44861d9 + +Count = 9 +Key = ee9845a0e04625f265229e9d6f92ea9e +IV = 45 +PT = c99fb34d38dba274636e8895cb0f96e7 +AAD = 3df93e50c3849f990d57ec0356b47820bb5e1c0168ea068daf27c762e176c042940822f915a30b34e9ca3c4b82d87f7e8fa8313a15bc3c7a9e365335849aaea117f7b508c139623d8719cfe61fefe3cc3d6f0781673034769515 +CT = b178b90ee169fafde60acf655fd4b576 +Tag = 689470153173bd4e2e370ad473 + +Count = 10 +Key = f67ef3f3ea54fc3f6287573c533c6a76 +IV = 5e +PT = 08ca6b382d3fc750647a468f9d05b24b +AAD = a664e6bdc4d5497d1382e63be012af87ff087bab950a432e6f91f2aee19f66f09e9d3676f58232a48a3e859e9eeaf7a19519fb0a45c5232c48ef40fdfbff6aa4e2549d8b81fd7f6f5c323c4053a4d76f06e083735c7e713563a7 +CT = 72a0b5bcdbd6597785cda7f015ededbc +Tag = bd4b83f3372a2980035a3dcefb + +Count = 11 +Key = 5bcc078b93604220344695dd91895f40 +IV = 75 +PT = 87a7d5aff1eb3643da8046753f58e1b7 +AAD = d7a4506d6e738eaa70632e1b0b97b441b459c0e9cdba7cc4f7995d929957ab97bc4614f9fce379b8af122ccae87df6e85c2142e30b3632ffee83c8aefb344ef4f913a788db6534cb198344f8187b87ae505aa602bbdbbf8768dc +CT = 2806178199aa2a8e1507a97c890e51d0 +Tag = bceccfa1b48b02468f703fa954 + +Count = 12 +Key = 64b706644096f7492d7c92b087315a48 +IV = 81 +PT = ed89de43a56a4017490341b10e6b3aa5 +AAD = 8289c4602d8c90926286ad45de818a340efa7bc883b0ee94c63a8d3e3553cf1d07d0f507e32f458121f4fc15037ef1f613958a5e5135acd1eb5e84c85bbf010c178526274940bd628dd8ff23cffea2592a501c6978bd84280bda +CT = cb21e835d89736e39fe1e41e0f12fdac +Tag = 7269351b9740036efdadd82efb + +Count = 13 +Key = 866fdf3b644cba5541a4fe4362816e63 +IV = 08 +PT = db3bbbe2be0fc9b8fa122304c36cdc15 +AAD = 7e6a36f055b39b421fc1b0ac09b9ad08750be92d1a2d63c37a6b633ee99cdc16ed2375527a80bbe404271366058ec2d4ef228933aa7b47609f537ddfbabda9d1328404f6137c73e20838dc16507a96c8979b5ba5af42d7ce8f0c +CT = 5cee318ac871b472e18511e07de49a8b +Tag = 012ef9cc1148169739e934f8e8 + +Count = 14 +Key = 69192f60a200e1d910241b10029830c2 +IV = 75 +PT = 812a2287a216ab079aed9e3d97948e2e +AAD = d7695e748ea870754e9c5ccf93918009f648b15af2f8aeffb9307ba05eaf8259bdbeef267ad3f1703a224ea1f2ffd6099cea3fea0322cfff08473d2a0a85098bf971e6c9cabead055a1d966951b15a48535bd0bf5d91cfa3522b +CT = ba926291d0e793873f963d0fe5e2ad94 +Tag = 8d0a0bba21af50083d067df47b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = bc365f9fc37cf63e3675b3ed3d1d5fc4 +IV = a6 +PT = 40c0cd7b5ae0ce1b6bba336c95870075 +AAD = 57df4a58c3f626950148634e6e11e298615df621052aff83e0b4591d5205d0beeebbfb25ed297e6544036dace11429b1a7eaec6d6142922162f969fc2c7725b564d87c427e138fa8776dc4e1ff26ab0a90c04aa2fe7e6a133784 +CT = b70dba50eba7e400c68a7f78d07208e4 +Tag = 97093a1ee915b6764db72de7 + +Count = 1 +Key = ae009a6de56ecdcede5f473e4ea8930d +IV = 17 +PT = d1308a6109a1a2b33d9a6832c60ec5ed +AAD = 2ebc327df0c552b73992aa392e9c848a10da1b60487e06fd00834baa4e91c1ae8f144ecdcb31d85239ac0ea2bdfa4f8364b926e70404ff079688ed1e7bace25f4761d84e31765321a190f7a71ca66c3d3b6dc4939ea103199ed3 +CT = 4aeef2c2b9c0bd3bf05c32a8415550fc +Tag = 66b702fb4019f4a2a67db354 + +Count = 2 +Key = da5d5882a84810368493cb2b56f0445b +IV = b7 +PT = d6cbbcd6010713458925c322a243d8d0 +AAD = 5aa3d3c0b2a2fc11434ae5b2c4014031bb2844be00d63e761dff538311f130856422baa87891e00b6b24d3614875ec0456003325b0cf117bf7e2b6f230a1047896e6f7beae24750847aef4d6603fe57bcdd169932213e4ca4e46 +CT = 5545a84ca0b110fe7bccc448bdef15ab +Tag = f8d954cd915ee86d456a0854 + +Count = 3 +Key = 5e73d0f5501d79610f160590f65fe729 +IV = 2f +PT = edf4b31737d24de9d912c208530cb29f +AAD = 7e5becb9d513c40197eeaf73ce5ebabd54401cce267537553371a2ba41bee1b2b3130787a4febff66285a67426065d798013a5f262da350ee33184a04de68e280f5503533bcaf2c6e24ec3e2fc119206db057c97a2d3ee5d8573 +CT = bf1469a57c7b10ae8ce28b71c93d7e33 +Tag = d0419dc9426f7b2e1d1681ac + +Count = 4 +Key = 7173cd0fda6d5d3064cba459fc9beb47 +IV = f6 +PT = 4b4a5274c0bd25dfb4f5463f570c5c92 +AAD = 90eac35175296ba867943da698910138c6905b497aa7cacccc4f28f8aec638f55c911d505cceef788e76f77de10b42d464aa5ebab7937367011eb74d44445f1aebb3406151339025d30341db7b8f24c2b22e0440fe27eb48b999 +CT = b4b96eac2384d3b1b171707d167f6427 +Tag = 058e3f8da928be0ef590a5ae + +Count = 5 +Key = c7335167f3dc167060d2e1badf20ce9d +IV = 91 +PT = bbc6ca6082ee44f5035afe3dcf12e624 +AAD = 649dd86426417648a6173ff01117a0de6755199e98ec867b015f20a24c915f2c0f89d16ddd9689164ce86adf778f53568c3882cd06bd68b46de666edfbcdc94979120a677ab29df7ed87c10c483bb9dc85d7c77041e5532c4634 +CT = 1f093d627958da83d76fa3807c0b1b01 +Tag = 1c80d09dbc57161f34ae28fd + +Count = 6 +Key = 0020ee774f52ee34f0ec45372a15e6a8 +IV = 9a +PT = 0fc308f312041def974b3534dc7cc0f5 +AAD = 1ce212a13ff0a8bcee5bf77410b44f63cc69d0dc0e0826997eb95735bc209bd3fa6e5a1d9610daafb847828934f02ee64c3c8faa7b2da8bfd34b80078277eaa5f4cdaf069e40bd1406bf8be0897ee8d1d81eafc7f70954cddeed +CT = fc3c9f1206e9fdc311198c98823b9816 +Tag = 8f9e3ba5419c53be53dfa927 + +Count = 7 +Key = 9ca87250e6212cba55273c83aa88fcba +IV = 8b +PT = 0b607dd59e80495a902218ddc41aee43 +AAD = 49cb2e6a907d7d52675ce53a49a6032bc1bced1e77f642597fb021d37099e689a3fcf690042cf98bbdb6fb52017dc3b19fbccd0d79d30d9b3d70ae74b24ca76228d2bccbeae6fab17674f55ae8e486d72f5f0759a1d00e12f821 +CT = b7826d1b123bf21ed2a59b5ad9b5b37d +Tag = 186e0c892a2e688b3797c311 + +Count = 8 +Key = cce6c52384488e1be34b225ca6f583df +IV = 60 +PT = b8a8c7afbe206022835c066c4c140607 +AAD = 243f148b39f21fa8a8bb6c8090fb684a5c5440e30ec816081be0047d1797432e52d5820d420c293efdd08e926f1c6ae2d363d1d1d45ff5232e13042f6b316d7cd7be27195fc5edc744aed25dfa4b121faaa17d0ee3c62f609657 +CT = d9a651a8ccb27389b920d2dafbf43176 +Tag = 6912d44921bcc89915b77a2e + +Count = 9 +Key = 2529dd04438853c24e94031b787d394e +IV = 53 +PT = cdd8af84b242a8a6f074d0ef8b5e08b5 +AAD = 90ddf376acc6ea7d88d6d9de3fc2e9e2e2ec224477fe4b9355166d114a0cb3ed36c0caae003c3e0e8d14dcb7af60e91a8185232d9e9b1828c562f99da912132bc6d177019042b9dc39f5397ba532d4c8e38703674f0700de7b7f +CT = 37e858d99f9b20ddccf5305ab1780181 +Tag = ee367436aac8aba3c0a330ac + +Count = 10 +Key = 2de0ce8d25ee0197bc9b69f47a8b1e47 +IV = 0a +PT = b3cfee5a88e41a08d31f77f8f6af5d31 +AAD = 01da4d5297992bc8f63d8819664af4d1408caa2d02543a742b8fdc634126236f207ea11bb37094806696d31b72a7f5989fa0f8135c70aefbdf5ff85d3390f132b0b206ab1ec8aa48c066e1e2dff4f6ec29ea8409cd8d4e923230 +CT = 61a760678f88a27322f6d350db8f207b +Tag = 2c774e08cca81afa5b89e50c + +Count = 11 +Key = 965f8bca70022d40df1b0a798709f3f3 +IV = 4e +PT = 62e5c9c82d8109d86fe2b7aa0ef976c6 +AAD = 7d8d3481f15be5fe2a39679713367f275f0d4f4ca040e37d805bee0950b2349c825a1c4926c698dc77931abc8c8a3f84580f049811077ef32e65f4bc3e75020f59318e0caf30bba177f08537ed94ce9ae9c98199fe960a500f83 +CT = ef197f2fa1e5a685c0edf4bbe6b7c190 +Tag = d4b20f84fcd61e837aadb456 + +Count = 12 +Key = 5bfde37a75cbaa9ee1ea4049a38de7f5 +IV = 13 +PT = 4beea10b2b0c94955ffad8a055b96146 +AAD = cb37a4034796ae29c981c7ac471cc3bc8fd1d9081c2fa1fda0b3c5b32e6e2341956ba0eb7e1f0df2465607f96b00187ab3d9c9e02b1d02314e725a27d066cddb00248a0ceef4801fa218bb39e5f1126bb5d1bbfbcaa2b346e402 +CT = da0976473987e12219da6a5488623e68 +Tag = b25fa71fbfde370fb3c26614 + +Count = 13 +Key = 81b5d11988e1f586ebec53a48fa59c29 +IV = d9 +PT = 5b3a870ef3f2e99dc04bc7434ef2a372 +AAD = f028d070c6385ed0040376710864d073fbed1dd8080789f656ff6f403a7a5074664090c2871ad5a8351e03bc7aca2aff585eff3dc5aa2c6b894f5dc9ecee3e48186bf6950b05308be0de5d3d9f682e99d34a48ada04032a986cb +CT = 1c8d4dbb857d490f6e27803eeab5b201 +Tag = d3a2360c53fabd8cd39181dd + +Count = 14 +Key = 38cb0d017241926b8bb12bbb20562410 +IV = 17 +PT = c41197848800a72bb195b51c4df3a52c +AAD = cd6886b02da600985878fa0928f26358fbf7417c68d93d219b891a9243af9991f50f42021659951750b334768ebc4a19f5e24c67d44b5d734044564d2d40b6c95cbb3d2f76169f7ec7962955a96258a2d9529681259822f41f1c +CT = a2acd72b05e4e818a39ac8d4a63d8d8c +Tag = 3ba72a921721707f33722fc0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 66e38cfaaa73009cc8c37fe8b9c5e35d +IV = b7 +PT = 6d617f2709fe280b3cf72bfc137c7b40 +AAD = b91053f0633d79079c11fabb5611ba2e76603140f1240627975a3a4ab761ba8c3493469e3c1039c181547104cfab9027dff5e6b391cf5c64c2aa5c2152cf4062f250ab01b9ec2b9dba6cf821d7fa9d0ebb1c5026b16a10842932 +CT = 2abfbd01b0ff95f0aa9f46d40234c77f +Tag = fe48c6c6999b2d57 + +Count = 1 +Key = 523ff1ccfa66b54d662e328a8553bc3c +IV = 40 +PT = d76ce737d1e4e179cb233b845ce66bd4 +AAD = 6ed5945a0ff7c5700c966d38309191ef6e29f0f2f461d9662bce7d713a09f35f2093094aa7fcb78e423461924f3432787500c41b78930083d1a55b76d55e6120e00e5942546e24c91ae61c982e71176f4a115bbb6e1aebc5add4 +CT = b6f76a7daf49fb6200230b581980c6a1 +Tag = 7e012be8d3bd135d + +Count = 2 +Key = ba48ee3f05075480578429b75bfb6584 +IV = 54 +PT = 9082c48f26595b4e816e9299bcaab4cd +AAD = 2fd03026f71432fee0970605e21b8fbd31915d127e3969041eefbb64b21e1929bdd671150379e10acaba33d476d6ce27e33b2097d85f7a395eafe0e4acd84f0ec3254a9567fa04ba91be7f0231184ab17b0b4c1e6cc0bf6ad331 +CT = 20727ae9a283342241f39d2ae636b022 +Tag = 20250f6e0a76a4b2 + +Count = 3 +Key = 835aa6944427ba8456a98714fa19eb3e +IV = 45 +PT = f72a40dcb37879abeeb7df9715804c3a +AAD = afa9b2d420a7b123fd0ead40f99a09f5d1a5405827167b556fe04a6add16a4f0acbec3f3153c715b0dff0a981083d37e67aff6ddef127a88c5f201a2353bc76fe4148b67e03ecbf3a4c05793488f5a0eea6cc40ebc425a563bf7 +CT = 6e425ea610bbf5aab881bebe92b2b65f +Tag = b4a89fc9c6c94f45 + +Count = 4 +Key = a9a218aa1481b0a0218d85ebb12ad43c +IV = a6 +PT = 2f128f1990f84db27fef3fcdd04c5c3a +AAD = 77b401b2b07ea002cc16ac90b5e023c14c62f1a6fb6c85b2c84d1023e306778324d56bd32bc80258657c8c56a397ce95c45c1762bfa30e7707a8a020af67263aa5d4661472b0c10213eafb2f96e1f6a84c1f554ba7766b8c941f +CT = 9fa823917f718c863b40069cae0e2866 +Tag = fd7e0fd58992fd27 + +Count = 5 +Key = e8f9a905cd17fc34b0c52c05f618df71 +IV = 46 +PT = 89efdcdaaf89e16eecbf49a8e2a5c87f +AAD = ba6e66948c1a9e981b7de310e75ab02ea975ef8a9e9f614117c97d6446765e8b14609c8d91da8aeba5e17d0ea93aa98c24d7087d3a546209be2229c28b7f166055e116146577e12902cf3e438cd938502746dcdcc0434f0e95c4 +CT = 2f7c7482a5472fdb2ef20dc65a0211a0 +Tag = 22628642a6df9050 + +Count = 6 +Key = ba559372fc5e4878cf619f24a5fdcd63 +IV = f7 +PT = d8cafd9befdf3dc59f3be3f69f0b3302 +AAD = c7c4a2a70c7ac0c15a30846a9ae37a86c694e58d4662b917fe62c52da670904a8cbdf0604aaace0bd3196e613bf6f48b9b218abf6b63b20e00a83e520cb3c5b1ce68460ec3d18e9cc23057468fbc1dcba2a7e897b2cf535ac33c +CT = 38d1ae8370eb22758de40188003f10c6 +Tag = 62651bd6f0f1a3d2 + +Count = 7 +Key = 3b79a0440a371eb2042c69ba6ce22e56 +IV = 82 +PT = 123d05722d64d4299c419e397eb7e732 +AAD = b194593ddeb86c170e8987093fe7ae8617682c00c039093a882978f45a5ebe64a709c0e02cbd4f5dd6ab8b4cfcbe6500cbfd8d28be3fb3ef05f0d118628a8bb4d6e7f306e92f9df79ea3b516cf599abf67dcd90889c6bb9ebec8 +CT = e2afbfe60d446e7bf5dd4ec6f1bc590d +Tag = 302e55bd9846d696 + +Count = 8 +Key = a99fe42aa3bfe2ddae43b88d5423c8fb +IV = be +PT = e3fced522259ce9fa3b3eb6f7af6dfb4 +AAD = a758cfeaca6b2b34e13b5ab08f874142e8881afdb4114b7e37caeca6bbe5f277136918a9073746c0a3de954b78e634416cdcf7ef5a22cac15a5780f0855f65e2bb9e4f612bca804e93b3c4f68528b62775ca1ccb9b7888055552 +CT = 7b55d9add47fbdb050eb94bab08f174f +Tag = 34a5fb6244edaa30 + +Count = 9 +Key = 81ca7e930fbf52f9c6055f94d9564367 +IV = 9d +PT = 609ec3e4ba59d830f1937be0810c0a92 +AAD = b4df0102b2ee9d47e714c455f21a5e9491a0999daba7b4f058d65b26b01f22a2011c68bf7823952319edb7950f8fb2fd7091c310e615c9b78fe1bba01af29b9a8f8f5d2fae582274c44a03c4eda81313f6af604f225793ae2647 +CT = 4116a72320770517447c498bc8703304 +Tag = 0e98436da2b47f18 + +Count = 10 +Key = 18c3fc1569cded84288375288095b167 +IV = da +PT = cecb3f0b129ed1d7ff61647890697d42 +AAD = 2a8720eafe1d73bb2f2f8119c94d4bd1688157fea63d4ca2db4fb2cd4783194651d95f6d549beab7bbb706e14f96a9fe13d0cbb8bacab03366107abdd0ffcda54bd9a51a9f4ef50519b715aacb8e4793c4713fb305236d8f38b6 +CT = 8ff077b6f05e1e8cb03ad2855515a716 +Tag = bdedc1213e28bd00 + +Count = 11 +Key = f7f99307fb63847c5f6f2a41fc721e36 +IV = 3e +PT = 3508cf4c0494f5dfe9f4982a4b0749d4 +AAD = 96524aac5789d5a24fa2b93efd06cc0c506d31e44bbb85474dd73e10f06aa9a98e27fc3b5b67c9748872b580c2770021f21315115b5aba24cbbc253abd23d78facb893920a7f52db6a0112c8bc7139381d8c4077ebbeb2488435 +CT = 9c1bd571d5b2a8c426be2f841980af02 +Tag = 3d98980cb9aa8e39 + +Count = 12 +Key = 63f889e017b0406f22e55c9333c72fb6 +IV = 33 +PT = ce39ebf4795f87c65a3ecb9b1dc55e17 +AAD = 47f3037bcfcf7dea7f28afd33f5240010a5d6e4721161420acbb4b5dd6956bfc96aeed24692067e057ac79bc442801f795e243023856fa3d8fd29ddbc984f2816e400083f7693f82eb707efe5143ed42ea62efb3378ee2e18891 +CT = 3627ced4feadf447ccd57ef82b652edb +Tag = 144984dbf31dabf1 + +Count = 13 +Key = 615b158fd21510696b95bef4099f347c +IV = a2 +PT = dedce24cb6fdcd2c451b97de98387a03 +AAD = 8797338f5f759258c7450868bfa3aba3cff0a0a7174d028a2b679e2e6a837cdfea281e322f49f80a108288df6f0f5a6af77f86943ba6681114cfeffc48ab9472a74e57c6dfd65a6a2f4ef1c743e1d14d09fec4044a9045fb93a5 +CT = a0a70164cdbc725f16bf3f8c9c7eab3f +Tag = 446f4e45df07f840 + +Count = 14 +Key = 20f61d2046f8cd0f454c780c004d3a76 +IV = a4 +PT = 07c83673bcb56548ae4fc56e8b59b64d +AAD = 03861d2b105ba2d623897b6806ca9ed3c1c6be61d9b823b6096deb6f5d45e15ec4936ab24a35bc0d4717a0b4e2a4566f5c10e50767b3825a3494bd48a15135683fd2ac751c8e1b51fa46efc0a6e390ebcaad9d863769c8f17fb0 +CT = 478a4fa791aeb516282a000c843c8465 +Tag = ec8120e9bf0cdd93 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 128] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 3fae86784c239eef4a4bc0d82e856c4c +IV = f3 +PT = dca5121339576ba711d8d72948f5963b +AAD = 11cd7e7170f250a35e7599ab449fde28e32fb88287f48477bd877ddd1de07df4e7e435bb4d4a4b2a3a67af6cd8e983df463421c0d7e5f45db3b9affe13b418a268bbf6355032c6efff9bdc29f020f583c1b6d7265483cf444619 +CT = c4c278a7494334a3ee31ae80f98a7819 +Tag = 87531ebc + +Count = 1 +Key = 48ef9af2de6839423ca2bad8c610c9ed +IV = 4d +PT = e52b3ed4a1e7a32dd6aa1ffb4dfc8336 +AAD = 1fdc9e30294ef9c3ad6692d3f08d75200e6bf75ea4724d21473e0d123a1e9f03a9447f9b90b230c336192d940222911f28869f22ee3c6f187196ea54305c5c850522f3d9bebc280800d8cea688756f789c1ca6eee418d96d6434 +CT = e1ccc37b34a86fa59c53333615f9f2dd +Tag = ad128cb0 + +Count = 2 +Key = d242d23ae1f2297f21624e32f1feb5f9 +IV = a7 +PT = 43b4b7b2469a289dbc8cdda199d8e7ba +AAD = 81fbf2ee6b7735b73975e6a860ca02790da8524743568356cf97af5d069bc83b15d376e24d5c9296d45d44edd9fc8f72077a81a0428e3e02301c50dd4d7a460afb22aa4e124289001008d6afff43c008e532150652ac4de8f498 +CT = 65493ae05df47efb87afa56331314eab +Tag = cde417fd + +Count = 3 +Key = 8f386c19eae5392d171d3634266d745f +IV = 1f +PT = 035f7ef46e2c8c2461e6768776520b8c +AAD = abcf3dd708084a94d3757c77a86390a98c2184d9c278b0b7322ad36a15a3811837d166b896359e1a05f8439fd55c73b77f5a54e3399a0003eecbd69043e6cbed8178b344b0b08509a0c161ac12d2071c5781baedd299992ca662 +CT = 6d21d80de7773d1440aff836b06a27fc +Tag = 041eee49 + +Count = 4 +Key = 877671a2d5b6b1487ce2eb5346bf101d +IV = e5 +PT = 74f2b8fbae0b365ed897bf74daed0720 +AAD = eb4b7c6097c525ede55fbaf41e8773764ecb5169d07c15179a01bde169c851f09e4087902fbc44932a4576780bf640fb7ac4ff0c98cc44405f7953632ce40f32ca9ae1b2ae6f18254441912ce7cd75ec69c811e92680ba069197 +CT = 2d0f8ca2b3ea3a10e73ef4710813df69 +Tag = 8aa4c7bd + +Count = 5 +Key = 09a3d821d2293e660c8e5314252952f5 +IV = 1b +PT = d372d2d59ec8f61b9e7a140bc52b0172 +AAD = 84b747b813a601de5187d991257f7ecf7cdaf94abe9fd61c372cb84ca8acbbf0227017c300f9f7dfe7b87c843a45d61dfe50866fb3dfa9c0b3ca569545fa4246ba9f2f8354ec95255ca3353fa9a60fb10f1011e25840f576ebb8 +CT = 98b8bc9bef26d9299799c4b9c9aca368 +Tag = 4c78bece + +Count = 6 +Key = ae7d05c302ad1dbf2bb313cfba5ce022 +IV = b4 +PT = 9313061a8aa531ef7c3f6dec2a4ef85f +AAD = 40d184f5bc83f7a83774c7ce0ed2a1026f992b3b9354839a7ec362d97c4a87ce91d0147e510ad1214f7bf1ab5075bb2cd3d91e87b6a3f03f971737f64c81633bbdd117907f3f6d8fe53d0c3772d46c55c7ad54793abac66f6183 +CT = d1b128b5af80c4094be2da15ba6ae0c4 +Tag = 7401d360 + +Count = 7 +Key = bb091c9c8e369bf6b17c04ee2f4b524b +IV = d7 +PT = a0bbb4a39dd98d308c443b31adbfc278 +AAD = ac93ce25d6425ead73c9b0551d3834e12a865979adcb0d235f7a3c4a9a997a9d91298b0b9910b0353ad937930b90090ac1a4a5acfe615f7ac6ceb151c6ad6895d1458e5be02cf30532d7a4d1177c99fabe9bf28f72a562197106 +CT = 614ebd071b436a83129945aef19ebb82 +Tag = 7901a758 + +Count = 8 +Key = 604703ece61f9b8e0861ea763d5f4d7b +IV = 62 +PT = 15875c0c6259ac65f347dc8c4d915ce5 +AAD = 7047a6f37d48a65aeeb6823fcce35b3c802115cc83d972ada7420fec1d41029044b3a03957b125a5639567559d7271823ebfd067d8a8b92d4e73fa9f09c04380fa89ea0c9412f6b5e8fbea84a68e3c138627386c56d5d8056498 +CT = 28f7da67644ff587c4a3baeabdaff74e +Tag = bbffa317 + +Count = 9 +Key = 4ac07a64c18cc5ebb8bfc945aeac0406 +IV = e0 +PT = 1962b7e9410d4f3e15fede02f1512022 +AAD = 3cdb7c60cc2beab3be872962569a79b9145d15f088c4cdf11f946e9096b13426bb52578696cf9f17bf7a67dac04d98f800ba911e590c2e5fea8e251ba5fc407298033b1d715fcbdff02ea4fa6fb26afb914ef32148befed97194 +CT = ec0881136655408a0aacc48f2f383d9b +Tag = 9be92556 + +Count = 10 +Key = aebd181748c2d7353160e30b7dd239d3 +IV = 00 +PT = b1b9e2a1217d96075f65ab4ede7c5a59 +AAD = 9f0fabe74ca18615201ab54e0f75b5acb279af53ea48908dbee4c1c6447d176796ea620130b0b71d6dbfb95df1f3236dbe6afdeb7f633535d2fb4f3b8eb70baf0d4675b42b8f7ce35d13652fea19f145d8fa8a0f714f4f7dfa05 +CT = 00b372ba8c969cace6e44e6cb76a336f +Tag = 0097f220 + +Count = 11 +Key = cf12109d423fc6089a9f7e832452dcd6 +IV = 52 +PT = 58304e3219863b64d245986cbbd6b2c8 +AAD = d24469077bfb6b0d4d2d5ed603d58f0c38547f130b74f9dc97be3ce0c83e154e13280063209f2bcb3231a3ffa67bb96344c4de3e357fa95383136958c11b0505ab3288c82847db654d5bebe69f5ae9ded1e9b80968d445ce2815 +CT = 3a8aef4fb8cedfc9233f186277b00b9f +Tag = 32132e1f + +Count = 12 +Key = b261d909d277e8e1a5079a62f8368b01 +IV = d8 +PT = 2b99a83a945579f9c691bce0f56640ae +AAD = 22745d1e66491bae04570b42431a14cb38bc38257b5a73881bdf640b8b48de446ad029bf0633a4ea4ca561152feebc9501fcf15d5e0483e3ed7389021a7cfabb3deb5dc08a1aa24a0cc53f8a4b709a6cfed9d1a517f366ebf6e3 +CT = 96be7d166cadb8affb9fe9f0db07e333 +Tag = 0f03c91b + +Count = 13 +Key = ec7007cae7b701408f496cd81092051d +IV = 5a +PT = 28e10b17721f2f1b46b9a7516ba7b256 +AAD = bffbd0485c9e1362de93a95638baf765e73f455a73b0295d4a8ad45d2b31559e6c8e0b2da378c580fc698cf13dd6cf55172ca145c0391666cf0242d22586c2f7e039e7ee0bb19a02a529a2d9528e5e0a5764340a22db1b90ac84 +CT = 05696294d7f8a5a2012cf4a870be6655 +Tag = 26d93131 + +Count = 14 +Key = ab0f619be1290a2b61c715bca27a3e3a +IV = 61 +PT = 1205c00ebc5f1fe1ca1b9d06f00d6cb7 +AAD = 6b4ecf678442cd3f55201f3d4283700dfcc66560ff7c561590863d9afe9b133507557051f7a20e1ff8ca607d9ebbdbaf8b09963133d3698a3598998961250a15c0174b77a5b290402e590655bf906e9e56b66b2301b0b8d61909 +CT = ebba485da6202a79d809805542dc87af +Tag = 5b22e73f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 82a0f8f40ca814a2f09e2ae733a584d1 +IV = 9e +PT = a08b16565d3092abfac4374d84 +AAD = +CT = a2ae9041f9c5e738e5250e32c9 +Tag = 062c67c023745657b8063f8450ebedb3 + +Count = 1 +Key = b590beab55054b43ba8f24fe352f71c8 +IV = 64 +PT = 917051a1eaa7b6f647566d3761 +AAD = +CT = bb97db25626b44ebdfc04bce80 +Tag = 2bc9efe50c231ed6efd1c9d1159dd202 + +Count = 2 +Key = ec70efd219c24a9f23d05863ab4b915a +IV = c6 +PT = c88faf3a77657bb0ba8044692c +AAD = +CT = c915bc2a82af82fd81df8f1031 +Tag = d616760edeb15f7ed6e26350138925a3 + +Count = 3 +Key = f2c6fcc5c4b77228d0c68a8512d3f292 +IV = 9e +PT = 7f0f2d33ce32116ad7b1d95cad +AAD = +CT = eed23ee2973831bffe76f9b8ae +Tag = 8503b0a259535bf644b299452b5f9822 + +Count = 4 +Key = 21681a39d18c39d24cd30eb2efeedb56 +IV = 62 +PT = 9690eb783fcc83a7e9da522b89 +AAD = +CT = 441c1c631a00dda57c89b2701b +Tag = 4ee8a5f8506bf8ad995e72813821a423 + +Count = 5 +Key = 752888a9139a574596f2814a84b2a28b +IV = 19 +PT = 6106654c0169530d0d7d7cbd5f +AAD = +CT = ca8941478a1496be58cb702382 +Tag = f625bc05cd60174cc202c11fc37d428c + +Count = 6 +Key = e3da7159a4a768d098687ba94ba0edf1 +IV = 32 +PT = 2a4750625d90601268a56858b0 +AAD = +CT = b10d1a297f16876bcce6817cc6 +Tag = 055884f34b10f37875b655a741cb884e + +Count = 7 +Key = 84e4f27113a557b4c8a590831c44ca7a +IV = c2 +PT = d7896f0515c26bb04580a03cb4 +AAD = +CT = 0d858df0b6f9fc221d7bb50772 +Tag = e27e8660e2041a2291b61bb118744c32 + +Count = 8 +Key = f2611426aa1d4d42ff42159136148059 +IV = 00 +PT = 419967760dc312059c25f5d516 +AAD = +CT = 72c2ce34292343e748fcd269e5 +Tag = a471e24045fe7c7e78757b2820aa0f6f + +Count = 9 +Key = e99fe92562494a6ed5f7799a650f11bc +IV = f5 +PT = 6354260926a06bfaff3986eb84 +AAD = +CT = a330866c607f7dd97128b166ba +Tag = 54acf9f30e0b008533533e8aa54a0eda + +Count = 10 +Key = 4f7a7a175f5ced7354e9337249fc8e99 +IV = 46 +PT = ff8a0c139a98d95e1671a5b09a +AAD = +CT = ec5bbcd9e73e15fe295349b644 +Tag = 8407037f1e391c4a25255dfb705f1123 + +Count = 11 +Key = 9ac8a938c481e8a2a6afa55bead07cad +IV = de +PT = 286ef28c153520bca89b898998 +AAD = +CT = 992c6aa1d3c9019f111c0d73ba +Tag = ce6d37ffb87508246bb1a9b851d3ce0e + +Count = 12 +Key = 3e6903c8713e53f790e8df706a430059 +IV = a0 +PT = 287749604c2ebbc7ff14e012b9 +AAD = +CT = 8984a2e72e9c0689fc64450e25 +Tag = 635c6a7eea542d9aaec8efd40dd124df + +Count = 13 +Key = f253d1fdbfb559eb17fdae1b886723e5 +IV = 63 +PT = b07d22a155a5b01b62372b28ab +AAD = +CT = d6176712272c43ab581db3927c +Tag = d74999e009e63022f29cb0c7669eb954 + +Count = 14 +Key = 7249717c3598a22c3752db0a706b9ffe +IV = 78 +PT = c9b71ac6cd0a4eff5f31939e8d +AAD = +CT = 9e9bce1eaf1535eb7ae1fc5392 +Tag = d616451bd9c53ea2dce468e2807b4ec9 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = aaf53d40856886f04b5751801685c36c +IV = 98 +PT = 73369a1affbf04e4f2a82c3b05 +AAD = +CT = 4cda16ac3edee968f3a8218cd0 +Tag = a6a1d6c11a7935e71358f63790b5c7 + +Count = 1 +Key = 7bc0e713b2bc7b1061bcd19a80e08f0b +IV = 1b +PT = f958a676bb795afe0bec13492a +AAD = +CT = 21193c69445205a6e9b300c584 +Tag = 2cdfed70d2ee78db725fc85b365b0d + +Count = 2 +Key = 9e4b0daa89d41760f5bf2891bf664a5c +IV = f2 +PT = 61a05de38ad145c32b1934f726 +AAD = +CT = 520e005a3723ea13b4101fc48e +Tag = 7fd3c9e54bb4e32b3c7bce48fb26e2 + +Count = 3 +Key = e1519bab92db8cf5a6c53020d8343b6a +IV = d3 +PT = 6d2050f9a789c19adf6378d487 +AAD = +CT = e6b1ec1c2826ecdc97af6e90a5 +Tag = a0529e6b3c5aca0442b331baf7c899 + +Count = 4 +Key = f4af7b270f7c5942102ac3bebc4a7e26 +IV = 0f +PT = b3ff920476cdac49a13e1c961f +AAD = +CT = 38d909dd34b7e3f12654d185b3 +Tag = d9b4c17910a9945dad47bc01c5fcc4 + +Count = 5 +Key = 595fb9e85ad74f72e8228c22a227a56e +IV = 60 +PT = 657122c8154b040bb211c1adf8 +AAD = +CT = 80601d231f3e967d069fc80ba9 +Tag = 82c6296f2f2a93c3fb8c49231f00fe + +Count = 6 +Key = 1e1090e365c0b34fba8c9bc3bd42d205 +IV = 2c +PT = b43d68edb7ed4b06141c2bf57e +AAD = +CT = 77e1f7c65339d1f915e3928654 +Tag = 5bd5fb4ca90d033cb730020df66afc + +Count = 7 +Key = 78c74bca5bfa6c2149a222e541bd5428 +IV = 60 +PT = 53e38e6cd38caebc1e78180218 +AAD = +CT = c30e4772a8b61b92e1fb3b5fcf +Tag = 8643f27d53fe716b4750f01376076c + +Count = 8 +Key = e70f5bdd9cdb084a0861315e9aca3e5c +IV = 0c +PT = 2cc1dfe5f3b99bb088f287460f +AAD = +CT = e684d27d3c93df313330f475f7 +Tag = a97d567b21cb10758cd2f8df9917cd + +Count = 9 +Key = 85f5a4b59ddfa00743b3e9afadcc528d +IV = 6a +PT = 1cf55924465e12abf2958dd6f6 +AAD = +CT = 71bc6cf58b3f2bad71c5e8b13a +Tag = 0df4aa834d124c4eeb03a21752c4e4 + +Count = 10 +Key = fe14af8dbf9fe6536fa5c6aa6a3af5b4 +IV = 95 +PT = 30b75eb709e6a24a2d808645f1 +AAD = +CT = 9efa7a7727d5cb069d671220b1 +Tag = c9955e69ae783b74afa994e3921d8f + +Count = 11 +Key = 249b1d747e643525e4eb4bdf0253ca9e +IV = 2f +PT = 4812b6c1d5e932050c94fa44ad +AAD = +CT = bdd9aabd6a9bf52ba1cb6026dc +Tag = 65d010b62130fc0610f4bc2b6d6de2 + +Count = 12 +Key = 20a7cdf9965e85c55b101957b6ff4ec9 +IV = e0 +PT = e8ba265e650fd7d24d5ab69963 +AAD = +CT = 1a24e1463e27c66af8afa15ae0 +Tag = dcbfaf93b003a40fc2ccecff30fa1a + +Count = 13 +Key = d62bd6faa1047da52a02326d2feec2ae +IV = 73 +PT = 3a45ad643784fcab2fb59d7191 +AAD = +CT = c6fabd670b7c1854d30451a6a2 +Tag = a7d252b3a00600fbfa928b39aeef25 + +Count = 14 +Key = dbca1102d1fed0711503d92dfab462a1 +IV = 9a +PT = 0e6351735f6207308ca7d4ec37 +AAD = +CT = 1401fbf70b87a0310e6571cd2a +Tag = ad9ba9e40d88acf15b83cc5a50ce05 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 9bdf1f35bc5152402ca52a6a13af4d3f +IV = 41 +PT = c864af6a04f6d6d02bb3dccc5c +AAD = +CT = b8c31c719bf44e341f0430b556 +Tag = 9954e94ff2b581685d21e3b6222f + +Count = 1 +Key = f6f7bfb78d33b44eab1cfc73057c2fa3 +IV = 36 +PT = 7597285c83ac04d5ca5e5941ee +AAD = +CT = 85cc4cca0da0d54c5e318f2f99 +Tag = 97e46b0b60d36a566d678c1650bc + +Count = 2 +Key = 10b6f07f8b0669016799d101b954959c +IV = 0e +PT = 0b8ecdc3fce4e09b1545e11c66 +AAD = +CT = 2dc21278fc07b0ebaf878531af +Tag = 3dd89f6def8cde98fd6b9bf98cb4 + +Count = 3 +Key = 14ff90cd04e7266b3045fe955521dd79 +IV = 43 +PT = 81734e76749b2469d6d56ef9e7 +AAD = +CT = 58a2437046eaec3164f78b0680 +Tag = c731e0adf67f6b3d2d4b571f4644 + +Count = 4 +Key = c300018ae918a9feefdfa5c5c08ccc0f +IV = 69 +PT = a488b78708515d2be10f256a7a +AAD = +CT = 4ee695943e417ee6e8f25d6131 +Tag = c03a927717118a038be236521649 + +Count = 5 +Key = c15bb072f4f315852126c9c3c94a81e6 +IV = c8 +PT = 6419d37b26158c7c6f93a56e8e +AAD = +CT = 7366bc3c985b5d3c5460d1f287 +Tag = c767820a6fea2e9a3c948fc78ae4 + +Count = 6 +Key = c327dd18b76b71d5d4b8cee05df2e1f7 +IV = a1 +PT = bbd728d6d0ae73ae4ab462dcaf +AAD = +CT = af3c61a62b054768d602f35b8e +Tag = 43fe9b2afa49510f792e2ed2a2f9 + +Count = 7 +Key = 0e5c222498d3d397d0c8d4b5428b9ab5 +IV = 47 +PT = 29eeaf2cd17b8db8c857de19d5 +AAD = +CT = 295fe178380a60ef97eee7f96d +Tag = 53a287408cd9d198b56db74216a2 + +Count = 8 +Key = c8874f22a44669086cf3099619be8d3f +IV = 9b +PT = 9a94a02c55922804d4f37b536d +AAD = +CT = 38bd0e6b0ed794971c0bdf0e2d +Tag = 423260a280ed553af09ef04f6e09 + +Count = 9 +Key = 82937323b553e98b17f676f049dfe214 +IV = fb +PT = e024c91e6f2106f4f7d420a6e2 +AAD = +CT = 19fc98f5e7978bfb9cb766a519 +Tag = c7b01481325b76664119a1e3cd8f + +Count = 10 +Key = 4423331a8d7c36ec6ba8d70a2071132c +IV = 2a +PT = 971b0df644d16082f181ce684d +AAD = +CT = c7983bd00f03d6076a206298dd +Tag = 910e2442618f413d93e6cda55770 + +Count = 11 +Key = 80d45e0259fa3b2d5b399cb507ad93a7 +IV = d5 +PT = 1d601fd0a3a640ae94fe016f92 +AAD = +CT = fa6b5785b6a7f3595bc07988dd +Tag = fef4a97f2e7924929b65b495f670 + +Count = 12 +Key = 7486065bc90f9cb13f58e516a59c59a7 +IV = 91 +PT = 6f9d6451cf047910dc3cc827b3 +AAD = +CT = d6a5f45b689eeea4fc7fc4a7f2 +Tag = 5d9c39acf9f2032b787decb889fb + +Count = 13 +Key = 022f4b3343b60d3d9d683f9f09902b86 +IV = 5b +PT = aaa1e6760516c943a5a17f6b41 +AAD = +CT = 91423ac86612f7454161245c6b +Tag = 702ba8615b962087153c2e9bcb6b + +Count = 14 +Key = 6488932dce1be493a090f7ec43422d48 +IV = 06 +PT = c9f3b254eeb8d303b663bed952 +AAD = +CT = d4db5c768ce723afa272e5004a +Tag = 43dda1d10265cc488b84a4ef1919 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 1a7e896a6243f791c44987ed4b797d3d +IV = f7 +PT = 77334e5855686c80c6a1007d7e +AAD = +CT = 0ea3c1efddaa9c91aff972b956 +Tag = 6bc7281c8bc5a5c3761be98984 + +Count = 1 +Key = 7ae4ca59ad9f01a1aaa68735d4382373 +IV = e7 +PT = 058741736a0e8c440b9806f627 +AAD = +CT = e3971566d9cdd724e6adca4b29 +Tag = 3e08b0941db68cdb107f7cf889 + +Count = 2 +Key = 6861a77c7b31048a5ce6531a1e2b9b00 +IV = 76 +PT = 1fa11e85d5bad161810af6495f +AAD = +CT = 7e1e3b957a550b8ad46ca806dc +Tag = 2a15ea6e6ae1ac29bc7e9bf2d7 + +Count = 3 +Key = 9e58336019c7cff32123beeacb860d9f +IV = 06 +PT = 415c11eac14e78a4d94135b05d +AAD = +CT = a477a0b7d48d67f72dbf0e8647 +Tag = 096e07491d0a0a24cd45ca8416 + +Count = 4 +Key = f73b8e5e9377f2e4250ddb8ec9a591a1 +IV = a8 +PT = 81251e2b3f6b6555d7650753da +AAD = +CT = 47569be08733a80a16663876c9 +Tag = 0cb0ab0192b488f1af5a8ccf2f + +Count = 5 +Key = 3613194ef6cbfed5e8888871779fbcef +IV = bb +PT = 641ae61822401fa6e12af4cb6c +AAD = +CT = fc48b4a79165e6614a50de5077 +Tag = 9567734bd08c168429dc5c0976 + +Count = 6 +Key = 3dfa26d4be05d74cfa899b62f0dd187d +IV = 0f +PT = 51d5f85621662b9ae91e054845 +AAD = +CT = fa370ef19d83cda4c8d05513e5 +Tag = 6fe927986c522d317f80ca23f5 + +Count = 7 +Key = 0fc7d0820b9f6c36ed8dd80dd7155c21 +IV = 41 +PT = 4c827d89ee64fb63303a46f887 +AAD = +CT = 54740057b4d86b8d110b455077 +Tag = 429efba9f6903312ca79446110 + +Count = 8 +Key = 4f16a0ced2d6d55dc166e7fbc62bc765 +IV = 37 +PT = 428fdc721de7ed5a8726ba81be +AAD = +CT = 46f935f14751633bf4f6739042 +Tag = 6e3da1d9cc83c4989cc0e68ac7 + +Count = 9 +Key = 66897adf7a8f688ba993fe0957b5bdd3 +IV = 07 +PT = ae1ed7b4ff5872d2892a8a270d +AAD = +CT = 624a8c894062060065be072e3f +Tag = 6b5efecc22b20cdd23bc0aafdc + +Count = 10 +Key = 4197276caac1e27f63e12162188e60ff +IV = 84 +PT = e136dc246c0c2833d316ac885c +AAD = +CT = 875f06f79e1b3fce0785e44293 +Tag = 85f7705122dbbe242c82b0af47 + +Count = 11 +Key = df7f797dc40454515a472b249b939624 +IV = 47 +PT = a3c0c36ca7e0e4d5fa3814348d +AAD = +CT = d2d89e1429d9ea0449b0833232 +Tag = a155516357a790cad8d06ca8c9 + +Count = 12 +Key = a11daacc0b3377ab9011eaa112ec3905 +IV = e5 +PT = d8c11ced2f50cccfe19345152e +AAD = +CT = 54fc1952b21a6bf4db3ba87eda +Tag = 39c5a45a17f4961c53ada8081d + +Count = 13 +Key = 63dfbabc7573c611efe7a9aaa0ea4688 +IV = bd +PT = 084ac3ffcb6e57a83604f6cd5f +AAD = +CT = 7258c0ddd309c6cc3807f2f6e3 +Tag = 521df3fea48857dbc64faea28b + +Count = 14 +Key = 16c51c89e38f343068941ceed2b6f62f +IV = 76 +PT = cb531fac69f77f4e87299c02b9 +AAD = +CT = 80c727d9e98cf4a57450a14ff1 +Tag = 521b79df92238143d13d1db87b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = a5824ee7acfafb3b74b7181a4c31d0fc +IV = 1f +PT = 171ace0b8adecd6f4e1a31f420 +AAD = +CT = 14f95602314ebf2add2a2ab3c2 +Tag = 17b31906097250159871eca4 + +Count = 1 +Key = d8b3fd0ecb89839da3b869dc27af9dc8 +IV = da +PT = a353e8d94e4767709fe1216b57 +AAD = +CT = 54d1c607c5efba40ba59327c06 +Tag = 1ead3492870f669c6784ec2c + +Count = 2 +Key = 78cc607e9a5434d3637ee09956c76dae +IV = ef +PT = e411821052bd09bc344e92bc9f +AAD = +CT = 6dfa7d8bda79831f5aa785a3c0 +Tag = 6168579599158cefe39873ea + +Count = 3 +Key = dabff48ebb97e3e3d7cf39717d611108 +IV = a4 +PT = db32731cdcf5b7a03dd0e62e86 +AAD = +CT = 7eff752bc7a21aec3c989b46ef +Tag = 0171db57ea502155f4afb842 + +Count = 4 +Key = 98f2c6cf1e397303812fb74900deb043 +IV = bb +PT = 91f9a7f5b9b1f64ab5ac8a8edf +AAD = +CT = 90736e913e2e7b9dbe84bc000a +Tag = 9caeafb4fde27bccefb77a80 + +Count = 5 +Key = 59239a9f2c6cb99feada04b901a7bb59 +IV = 50 +PT = 8cf86d40f6e829c284f4a5be10 +AAD = +CT = afa6a7e18d4dd631d29e35f062 +Tag = 3ca1fc8043ca2f13b7823715 + +Count = 6 +Key = 5a48099b2d4da8416f8398d1681237fb +IV = cf +PT = 779a13478f174a89f0405e3e87 +AAD = +CT = 1e5fd27da3057885a055d9a455 +Tag = cb973844861eadbc73d62e2d + +Count = 7 +Key = 148e8140d747773d20505c704d606819 +IV = bb +PT = 1db0e1cc2d3023da44eeddd77f +AAD = +CT = b80b1c9b70657ab6f83fce31dd +Tag = f69a3550a1095a85309fd689 + +Count = 8 +Key = 86ba9525b2baf5071e066c57e46ea886 +IV = f2 +PT = 118e45252fee89dcdf9682c9dd +AAD = +CT = 932f21f283e41d6201d3ccc6fb +Tag = 4197a59b2b071c1bf12ffb3a + +Count = 9 +Key = 865f47f37723e59a4d51d592e045de9d +IV = dc +PT = 51e643f33517303dfad741dca3 +AAD = +CT = 1077e193becf664888c8231e10 +Tag = f1bb95da0843e9b57fda9040 + +Count = 10 +Key = fe329c310e16b11066deaba1e1003221 +IV = c6 +PT = 3157f7df11e0a0bdfed7b51276 +AAD = +CT = 702504b06fb34ec15235f0ba6a +Tag = 6625ce4fabeb5abe441a33de + +Count = 11 +Key = d8f6142e5d3e04396c2f3cc4ea067267 +IV = af +PT = 803d388240e4c4579713aafae0 +AAD = +CT = 04bda53e02cc2a71125e6100ca +Tag = 5bede2f6af4eb3d409417bae + +Count = 12 +Key = 20258c10795b5b1516ebfa29838da63d +IV = b5 +PT = 3b40f0fdd858106318f02edac1 +AAD = +CT = d6c59b8c60b31ef6422a606741 +Tag = fda7626d0a5b93ef29972518 + +Count = 13 +Key = 50c86e133d7ac872eaca0bb51262e95d +IV = 50 +PT = 10367341cfa7f36b6c8a7b00d2 +AAD = +CT = d25d68d2900fc5d370d216e1bf +Tag = 55f675934352c8684a1bff9f + +Count = 14 +Key = ef9fe904a20bbeb81c76a68c4458cc2a +IV = c1 +PT = 8c7b73f83e1e1b8b02cd6eceaa +AAD = +CT = 84050f8c0e4c112a293a99b96e +Tag = 14680983d2ec2ddd389b5437 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = c8ed6f0c45a9cbff8d447602a07c53cb +IV = b5 +PT = c0afd5cae55df1d34c5fccb2a4 +AAD = +CT = f22c8772af42179ec1b3fe0869 +Tag = 9bc78d50937a3857 + +Count = 1 +Key = 620496c7cbb5e7da31abd3bf7cebb348 +IV = 72 +PT = 7aeb285f43fb950833bc2963d4 +AAD = +CT = 74dcaf7c501d1244e2fd6b2d17 +Tag = 2f507784e0d75ca8 + +Count = 2 +Key = 51abf7134e4e4b0eec85296a2ab7fd47 +IV = 8c +PT = a2a1f4d8495e17e2a6e23026e9 +AAD = +CT = 6a4c02d83bfc3445b8b6980235 +Tag = e85f4d3882641713 + +Count = 3 +Key = 27f74d5d232edac079dd23aac2c2fa75 +IV = 6c +PT = d702de71472a284097de226677 +AAD = +CT = 739b8208132dca400ab407af9e +Tag = f836964bf2f227fa + +Count = 4 +Key = 0b5ebdf6a341dd82ee20bc797bebfcd6 +IV = e0 +PT = 7c160c7d4f092152487af2b255 +AAD = +CT = 36b7e8f2ac3921b42b73f4f8c4 +Tag = 65b8806668ea433c + +Count = 5 +Key = 2b38ef5388b1b555b9af2cabaa540d99 +IV = b2 +PT = 4315801d790f3498672cc31e70 +AAD = +CT = 3f961098d186e54f6517d7b772 +Tag = 3e265bd781877df6 + +Count = 6 +Key = 003d956dd4bc5856566e1cc01dcfbb3f +IV = db +PT = 81f932d6758ef44a0daf063ded +AAD = +CT = 9540bb3ef74d224a6df36c3ad2 +Tag = 9110e2d9ae3f3134 + +Count = 7 +Key = 4ba9a5161f6f772002d6a8fa8c9b0480 +IV = e5 +PT = 12c040c86487e1684f6042312b +AAD = +CT = b546cd595a021a67a9e4ee25c1 +Tag = fed0eab2ccb56053 + +Count = 8 +Key = 60f64aa663e055fdbbdb310ec50767ab +IV = 42 +PT = 19aad229039356471cdfc00c9c +AAD = +CT = 8701c4b9e272d52783af031fff +Tag = ab4716f887417411 + +Count = 9 +Key = a2947901b3ebe0282ad959b9919d477d +IV = 32 +PT = 409fa34b52c49a48459b40fe41 +AAD = +CT = 058e3624ccfbd91f3d57e94308 +Tag = 3002caa55af3a336 + +Count = 10 +Key = 96c50df01e520b9a724f490d7cbd41f3 +IV = c2 +PT = 36b969d664209e653b61844923 +AAD = +CT = 378e2adbbd2f97dcb510c8775e +Tag = 829d956340acca64 + +Count = 11 +Key = 83ff495287480c92fa2ddc56de9c4d1e +IV = ce +PT = ab5049f6c69c06e96cedf00b57 +AAD = +CT = f08c118aec725595c9cf95fcd9 +Tag = 4a59b7c2ea9db500 + +Count = 12 +Key = 0f6c4074bc20116e157b913492db6ac1 +IV = 71 +PT = 54c595c366a1b3f3ec0be55346 +AAD = +CT = 83195fe067aefefa57f9217864 +Tag = def29105b896e5b4 + +Count = 13 +Key = 293c41b308820f2a6fb17973217c08b8 +IV = 7f +PT = c55ce4dc6af20a7ea636cbc4a9 +AAD = +CT = 0f2c8ae6220c1e5bd6487aaf13 +Tag = c46701f9fbef5742 + +Count = 14 +Key = b5d75a4b4ed3a424eefd893e837dd2ed +IV = 67 +PT = 82e9b4fc7401688530088b4e51 +AAD = +CT = 483aacd77b8b2a92f12da40a5a +Tag = 42ad29564724b0bf + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = ab629d7e756563c366be7eb2bec79db0 +IV = 08 +PT = 901e5a492b94dbf7a0610810f0 +AAD = +CT = 06c25c49f662c43dccd2fe893f +Tag = c7fdd22e + +Count = 1 +Key = 52a6094a762a3443cf3bcb5647e28039 +IV = 1c +PT = ed46a7e6f62901d2e2123d8185 +AAD = +CT = a1e49f6fa5a22a6fb926f188b2 +Tag = 57a35989 + +Count = 2 +Key = 888de5d3bdad6a3c7453b19fabaa216b +IV = 49 +PT = 26ffb3188964f48faac4743946 +AAD = +CT = b296ccacd8186af15f866e6f83 +Tag = aa3dccc0 + +Count = 3 +Key = ca35c2a1d91dc80a9fb751c277037569 +IV = 9f +PT = 34715342b79a06a1fa233674a2 +AAD = +CT = 63d156587752bb558ee0e0e501 +Tag = b61d9acb + +Count = 4 +Key = 9ec4d033408cfeae4edf6a2917f63f7b +IV = b4 +PT = 138b11466eee26dab2ec7300b4 +AAD = +CT = 8da40f17388b1b28d3ac75c31c +Tag = dac5b96c + +Count = 5 +Key = 7ccb654b9b25c87166416d396a9c6500 +IV = 68 +PT = 32745db6b07f5e884f8206453e +AAD = +CT = 89c00d9c40987b11f923f33d7f +Tag = a0d5c947 + +Count = 6 +Key = da15e5119b06c4ae7fe57544165c53c7 +IV = ab +PT = d0e8f81bf8b510735c2be05a7a +AAD = +CT = 5da1acc396aaa6be7be8a46fe6 +Tag = 1c2e93c6 + +Count = 7 +Key = 3824bc3d54b03560730a40ce33c2401f +IV = e7 +PT = 6424c80e4550c46d64c15db9b5 +AAD = +CT = 35d896c433684a9d5536b36af6 +Tag = a8705fcf + +Count = 8 +Key = d090ebf3392546feee19523c567232cb +IV = 00 +PT = a05244aa288e47d154550cd7f2 +AAD = +CT = 1a5e0007e5a7816ba29ba25586 +Tag = 3dcaaf19 + +Count = 9 +Key = 0935d8290dd0d97374475d1ab0a5e2f6 +IV = b3 +PT = 084d0399da3bf22f3ae6085877 +AAD = +CT = 65a2b1e3e9a255c9f48fe14813 +Tag = 87d74cc5 + +Count = 10 +Key = e78539a390fe4a1087450aef39628d2e +IV = c9 +PT = 3ff6a542429f54cd2b7221be8c +AAD = +CT = 1a9bf4d5855d7d61b50d9911b0 +Tag = e52564d8 + +Count = 11 +Key = 360c54b5b7dd49d07418f6b1fa5552dc +IV = 43 +PT = 82abea54b615d486ba2342ccab +AAD = +CT = 617032b5088fcf84cec94bfe68 +Tag = 1971667b + +Count = 12 +Key = 85fc50eaaba9053b000abafca5fb3c13 +IV = 42 +PT = 76a73863621646c20ec2cb4c91 +AAD = +CT = ec53c0be604ae255e2a880fee9 +Tag = ece2145e + +Count = 13 +Key = 736f2cb2e1da925859ba4206c4fd7f97 +IV = 9c +PT = 7fa48d4cf7b68c2e51b8fb556a +AAD = +CT = b587af22ee8de739b63f438d24 +Tag = 5cecca81 + +Count = 14 +Key = ab0ff80486ca87357ed6d5ec373c4829 +IV = e8 +PT = 979397b8fa4858c4fed0294c28 +AAD = +CT = 6ec2ea4146cf1dcfedbf09ae14 +Tag = a11544fc + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = b0bf1fbff0006793781e08f4edbbbf18 +IV = d7 +PT = afb4dab4310dd94e9c69725dfb +AAD = 2510573bcdcdd8da5c573a5580c26d0a +CT = 329ed915f9ccad9fddf7b54f9d +Tag = f0987d96afc8f0924109325cefa59866 + +Count = 1 +Key = e83737adf020d187b3433b81e7b6e0cf +IV = bc +PT = d752e7a3bab119597908a13455 +AAD = f5cae11ff681b9bacbf19c35086d72de +CT = 01d30be0e92b3c812e5530882f +Tag = b31ccf7161b55040171ef2a088567d6a + +Count = 2 +Key = fc93e4da05ec7bffab2bd37a1a85b945 +IV = 77 +PT = e087825449f99d57186e522dfa +AAD = e25da3ee4722ff36eac9d28db795f6d0 +CT = 9fc3c1f3715f335860ea293fa8 +Tag = 522d54824b3c6b4e76955fcf680891c0 + +Count = 3 +Key = cf86fe69bbd8acf8314d31bbd0c934be +IV = 5b +PT = bdc73105facb02077af349c428 +AAD = c30d298e22afe4e9c9d2b897ee2380d2 +CT = 037b0d767b1a03ccec3161e78a +Tag = b87177c5cdc3db26f5deb0199ac92a1b + +Count = 4 +Key = 7a5f037d2cd6c24d675080e4f7b885a5 +IV = 19 +PT = f34e833319b9031d8a4af12a2a +AAD = 1f8d4d6d6de060131b79774e784f5c86 +CT = afe926d4f1e3fb1f40173857ae +Tag = 2cffb05f50788b12f34746a85c006fea + +Count = 5 +Key = 3e9c2bf000e37ac207fdc1223d01e743 +IV = 81 +PT = 84ae99008f6b200ec3d5ffd3f5 +AAD = 215973bc789d4f332ba051e7fda217cb +CT = 3b7f4ca711bb1f84ce2ee9bd0e +Tag = f00fa35472464e8385470add8eac463d + +Count = 6 +Key = eeaa73387f5b1ea16c679af468b1e0ee +IV = 91 +PT = bb26b50e8092e23f626b066b68 +AAD = 3c3fb02ee23fd8db604768b995ba3972 +CT = c6ec14ebff58e5e032babcbcdd +Tag = e5896b305ac14c121e7abd7e49631f66 + +Count = 7 +Key = fc717d24210cd49065d54e48e040b789 +IV = 94 +PT = 8070f087a0807a0042a87a9b80 +AAD = a277dc2fdb1f3b6ebf47fd6cf0c150dc +CT = f08912047363dc2542f681329a +Tag = a68a36fff8ef87dc2f009eb6acb6c917 + +Count = 8 +Key = 79ce32bacbb6cc4f53c0248c561f0bdc +IV = 94 +PT = e4f3998dbd678187a8b60aab1c +AAD = b026bee3f3bf2a758a25c82f9f011df5 +CT = 5c625dd9951fc9123ce201f438 +Tag = d7536b50c7dcadbea2dfb31e9b068719 + +Count = 9 +Key = d9587556ee190dcb55e5183fb2db8917 +IV = 4f +PT = 908fd19d8bac0507e395f29ec9 +AAD = 51b660a8575de21c1bbbaf4ad6284e8c +CT = eb86a5eadde908c3d0a4193204 +Tag = 902d4d2c9c8f10beb066f34f170c0e77 + +Count = 10 +Key = 03590dd413499eb9f68e0abccc7b8c37 +IV = 71 +PT = a40c0d5977b7ea522034fbc29b +AAD = 665622c9f74d108bef51a4443ec2e57a +CT = 56f019a36537b33c9bb031f7b4 +Tag = d2ddc6807c5e25fab0efd6c7da3db158 + +Count = 11 +Key = 07fc6b802cfda82575d3d48d5d7ec851 +IV = 56 +PT = 8d5ff0afcd4299d574e1268f51 +AAD = c56333983cc7f2776d4b6e4f20a8b607 +CT = 496ca7f49f94921ad98acd30a8 +Tag = fd682981c8620fed4cf3a10e9bffa984 + +Count = 12 +Key = d134bb4d23467e4d0910fba14c588929 +IV = 93 +PT = a4dc84cfc5319aee8dc1cca1af +AAD = 2f7d0bd3e06f44bb6cb9284059e0b6c0 +CT = 6ff5a192d2169a5703d5ef0dfc +Tag = c9f30272f9fed885ee66af98a8dc4f61 + +Count = 13 +Key = 98cbf2f385fb9acf62c95af4e2afa705 +IV = c7 +PT = e938488c7b575f61cc7c1c9bb7 +AAD = 15927b229ef33a549f756f6cfabe5eae +CT = faa22443abd03c822a3018b0cf +Tag = e8501fcfdf6fa03e3423c62e0ca999b7 + +Count = 14 +Key = fa6ba60a3f904a6e14f37f55374d5fdf +IV = 68 +PT = fb58ab70d47f0f9d45dbc58d3d +AAD = 065590b8024b3079e51226645ea4d155 +CT = 2b21820303b2c2eb1b7988a79f +Tag = 24bccd6a56c014a986bba33e81986217 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = e66b1dc8453407defeb2706eac501eef +IV = cd +PT = c917987287eb952480482450ad +AAD = 194b600166c144dbd821e128e6340dc4 +CT = 61273ccc2b329f005e48230c59 +Tag = 415f0eb81ddcf0f33126435d86e0b7 + +Count = 1 +Key = 62e19289b5c6e9a8b5da0861b011ff41 +IV = 39 +PT = 569c410121e6e4d948c6349c87 +AAD = 636cc98e2b7f862fc8af9171dd77714b +CT = dcccddf90aec9b9b78beaef20a +Tag = 1d21066c5c250155622acddeabe939 + +Count = 2 +Key = 958ce2be2d510934187b9eb30f1e458e +IV = 91 +PT = bee81339c1fd4206d0bd92e7b4 +AAD = c28dd50bc241232bf530a16bb939ff9b +CT = 04efa364f9b49602611fb8737f +Tag = b052166001a80112c8e8a051e25388 + +Count = 3 +Key = e913b49e22997de2a965582852b2e276 +IV = 4b +PT = 603b3930d736001f9575abc74f +AAD = 1fcb1c824d1460938492f91bdcac53a2 +CT = 316ed6a0dae9a2009b4f000d14 +Tag = 7a14ab7a65c41f9396e242b8c04246 + +Count = 4 +Key = faa72ae58b0ba0df900433f5cff7ea11 +IV = 6b +PT = 688f570ccdae6d14ca9fdd6def +AAD = 96c338449490fe9d0e92207abe980dcd +CT = 27444d8a23897f9d45ac85dd20 +Tag = 7496507459d67a07b042837738ee7d + +Count = 5 +Key = c4944dc7ccb8eef9b3bc8dcd6aa7613e +IV = 70 +PT = c31606237df0260cc28bbfa80a +AAD = b506a5a3c65bd94d7c2a8a0ddf8391a1 +CT = adada33f992d6359ba352150e8 +Tag = 5ab6ee612f1669f14fbb07c3c70227 + +Count = 6 +Key = 4cbffb64bf8c990865c0ad200687c859 +IV = d0 +PT = 0cd488af79d7be09d230bfa90c +AAD = 46c649b1a80c2c28b28a864d89d719ac +CT = 11e7935b81a659e8caa09c950b +Tag = 0092c2f1d6c0b5630943329190f7ab + +Count = 7 +Key = fff62f81d83513fd2dbe2489069e5a37 +IV = 5a +PT = 0578877918a8c8db0782e301d5 +AAD = ff1c57d8492e357ceebed214de8f5c8e +CT = 1337ba16de8503fd7b79df7429 +Tag = 89aa412734557489fea02beabbbfbb + +Count = 8 +Key = 518946a2ccc71f9c7b465b5fff077d91 +IV = a7 +PT = 611c83ecc3895aeee4e6cbeb2e +AAD = 042ea3395dbd820e6c389ef29db8719f +CT = b97f430409c0ce38df505b6f40 +Tag = 5eed852c4a72423608ac39af1289e2 + +Count = 9 +Key = 8ebd689a8ad136dbce43226764594f27 +IV = 96 +PT = 8455d8ec37b191e80f99ee4467 +AAD = e9827e4aa678ec82aaa3379aa2a08f52 +CT = d1396715ff17c58dfb39f793be +Tag = cbd1e84b392485c1e03a1b3a56c668 + +Count = 10 +Key = 377d0261b485bf4cb64c69afdeef9efe +IV = 66 +PT = 5905455dc011df52e938a90335 +AAD = e8ddafb7b18f121fae0f4cf5d24b2782 +CT = 5463418c72bf71fc46618f7595 +Tag = 6d32cd0a2aca0ee2771008e7d66016 + +Count = 11 +Key = b4309b076d587cf5cd945d9c20f2a8d5 +IV = af +PT = ac0a0017f84c7678f882122c75 +AAD = 29ed8f3933fc05ae3ded864184ef7281 +CT = db5a6c6272b1c179e25bf13b08 +Tag = aa9bf1993a0eb2687724c126b664f5 + +Count = 12 +Key = 3e2f3431c69bfc17bd6b4d79134b871d +IV = 79 +PT = e0d969b7ccba28ce11310ff885 +AAD = 5762d056fed529077c1d55349bc99bf7 +CT = 1ece452195aefdbe856d45966e +Tag = e7dfde2faa696f26775fb3bbd44622 + +Count = 13 +Key = bf096d2e7b17677d66245d1163ee5242 +IV = 5e +PT = ed00e22917e5b8e049af382e63 +AAD = 5d6f1e893e37c5502787b368d2e5fe19 +CT = 496f66cbf5dc58d566b27255ef +Tag = 09cfa72d92ec2ac689f09c5932945e + +Count = 14 +Key = 3522ed0263bc4b5b918498d02bf69450 +IV = 39 +PT = 67c5df2b14d2c8cc39d98dfb69 +AAD = 8ae3111213ec731642320eb889c41703 +CT = fd954ce73ac34ac4cc546b60a9 +Tag = fac3ef88718a41c8f2871bc0c63f87 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 63d32f5e710e1efcb64771ec824ac675 +IV = 4f +PT = 79d31699f7a9ca80d9674f7f8e +AAD = ccc9f9449bc359e60121d083d49779b3 +CT = 19bd8019fd061541ac98be0aa0 +Tag = b0404f4a5543ad3f668241e037a9 + +Count = 1 +Key = 9a8ff1fcc03f5e56d1b425f113c4ae50 +IV = d8 +PT = de3c7453aa05998624c14e1014 +AAD = 5496473e73b7e21f76cbb4a0a4fa938f +CT = ed1089342ed4af022a6962f570 +Tag = 6b6d24e2db82e703e3985df7e751 + +Count = 2 +Key = dcab9f200720c9095c3c6469029d2a2b +IV = 4e +PT = 888c14f6f242bc7d26efa40f38 +AAD = 8f0e0d7e791378d07c7b559e1f48274c +CT = 4db1ed46ca12e9f0b2d47dc333 +Tag = ae238050bd7458ffb2ca8a6728d4 + +Count = 3 +Key = 29fafc9ad57c1345b26fa265dd2ab6e1 +IV = d9 +PT = 709f4b37626ae8ec90f05875f3 +AAD = 19d59bf34cb8f62d4fd3044ccecaf07d +CT = fdeff8d4c97a47aabe6fa1f6fd +Tag = 88640f181d2a42c2f9133a1dfe5d + +Count = 4 +Key = 44a09d1f7d391cc3586cef2307db2456 +IV = f3 +PT = 8078ab2f04839260d12484cc28 +AAD = 844b4fcce056758073ab8a2c325e82a7 +CT = ad571f85cf165f499a0ad8a23d +Tag = e8b2370363be4003e708664fbecd + +Count = 5 +Key = d241ac41cf95d70c25726c1368cb0ac1 +IV = 54 +PT = d871a9d040fd1b6b0d68a990ce +AAD = 3e1fc995458ae3feb1a7101c92216fcd +CT = 96009126d5697daf2240c3c374 +Tag = b98162a7eb684bbe608095c9b7b0 + +Count = 6 +Key = 61aefe35233eaf2b7c63ec6f6ed170c3 +IV = 9d +PT = b01322e8ec0ebd53157db89ecb +AAD = 2fa9624e7c4f9d4668c6e3c96ac4556f +CT = 8f9bb20ab85e813f2a845b5810 +Tag = 99c0d6141041d8d54171a55b0f80 + +Count = 7 +Key = 80ca244091f794ba6116c56a1cde4662 +IV = b6 +PT = 6b7bca6188938d9f0de7a0a5a0 +AAD = f734dcef7b657f05d5ab1df1f40f23ed +CT = 14378f031ac5e8b1d564086ef5 +Tag = f754f646c191b0e078a058c3e684 + +Count = 8 +Key = 60ecfb36ca57fb37b2c05738b7a03bc9 +IV = 4a +PT = 52b2028e2fb3d1859f31864f7a +AAD = 9613f18d24b117dd8722475c2e3c7829 +CT = 6043fd112d3be0a5dc6a429e5a +Tag = 24bc179e1c1c56bd9b9f86921f5d + +Count = 9 +Key = 0e01a7d22f7316b50ae5a43f9e62410a +IV = 7d +PT = b2c22ef97600743dff9cd8f462 +AAD = f792a1be51189a33bbae75e3b333c8c4 +CT = ac7528635b5e0b200d3d40a837 +Tag = d5f1e63ca4b90c711f8bfde1cd9e + +Count = 10 +Key = 97f7cd37634a9715df037e7a2a77e611 +IV = 66 +PT = 14bbbc320a552a5d88cbe67bbc +AAD = 311b6b332ca90960bd0b8459aed30884 +CT = a43cd1a61f588e233b212aaea7 +Tag = 49505ad966fe33292013b6d71709 + +Count = 11 +Key = 8619dd1db5d264798faba2fc18ee947a +IV = 00 +PT = 9199d462ff6f5b37b7c592db32 +AAD = cb65cfd7a3e3f444638d5fbca53890a3 +CT = f99935e0f41c9aeb10990ee6fe +Tag = 0453d240a2bdf5a8e3a4b1ec2180 + +Count = 12 +Key = 2cf32684d02471ac95109f54675d3871 +IV = f7 +PT = a873055a78f4f20b17b72138b1 +AAD = b2e050c2e7224e7450f3661f4935bb4a +CT = a7b0c6b7343ad9e17963e738b2 +Tag = 4c8b3c35964dd60f9fbcd74fde94 + +Count = 13 +Key = 1a32768213636e21b2d7590ecbf1c50f +IV = 66 +PT = 74dd87356d637e1315f272ea4f +AAD = 8958a2601b16b43bebc82653a2ac2ef7 +CT = 50a586ab9eabbf1a4fbfee66da +Tag = 75e0c2dd5a259f36af73607a5695 + +Count = 14 +Key = 8deb069bb98490813048b634756d9e1f +IV = 9e +PT = c8eec1896e9e616fe2a63268ee +AAD = 4c4e2518b94bc4104acf68b68401313e +CT = aabe134f3069618db20963695b +Tag = 55afeca8d0f1a95b28a294e0b974 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = e8b09ceb0893924f97df90baa2955cf4 +IV = d4 +PT = aafe6098da62adc4bf35a7c63e +AAD = 74b8b16f9254521d52ae7a0b2d7d91e4 +CT = 4145b6c2871fd13bb2518bf5c5 +Tag = adb559f15829ff59ac7ee6e57e + +Count = 1 +Key = cf072c071f09b90913d3862f5cc81339 +IV = f2 +PT = 3e9c02ce6d5bb68bfbba71bc38 +AAD = abd21e91826d77adfe4a06154ebf34e0 +CT = ac7e0861cea40e5c6be48e6a6c +Tag = 9e62daac7312466f39120efa67 + +Count = 2 +Key = f897d2111843c5a6381fb0e1193910c9 +IV = d8 +PT = 31b689b70c0a75d4a335c27860 +AAD = 35a8aa605ae935cea24acc808d7277a1 +CT = 4fd94454601ccc71038feedf86 +Tag = 2f3c03451d889b8591a8b26dfb + +Count = 3 +Key = ace920f90e7a287a9b11fb9c09b5dfc4 +IV = 18 +PT = c95e658a845f058e21a9b8189a +AAD = dffe90e84ef91b72e7a4500c6352e44f +CT = ddf502073a4bf3f4db8012f54e +Tag = 4387e10e02449b6f4cf1444630 + +Count = 4 +Key = e4dade7227047e05e71f923913908266 +IV = 52 +PT = e2609ac3a9d86c7a958b7f0bd3 +AAD = 278a69936f06e10bda1c5f88bed1e560 +CT = 1b28e19c3008a5d5a33fa87cea +Tag = 70c90333ee2e4c3cda2bb0bc9d + +Count = 5 +Key = 26da195fb22b687b12276a6b6817a96a +IV = 48 +PT = 3e0784514214a0dfae6378a89e +AAD = d091de163a7b624955c29e078613ce94 +CT = ca344dda2cabf257dbaaf7f2ac +Tag = f6ce9e1c1f44199e712067623c + +Count = 6 +Key = b656b596f250f22f1f34103162958502 +IV = f5 +PT = 6d7d5a0a8947abd1cace03e9c3 +AAD = fb7b024f3c23128677a179e464b1c021 +CT = 77cf87de65a783eec82736aa19 +Tag = d2bce24dbc5e3c1cd8e65936d4 + +Count = 7 +Key = 4321e5c404414b45e4326f6af1add1a3 +IV = 97 +PT = 6fbcd6c7a4b9c797da5aa98458 +AAD = 4822ffea7cc0670583a118bee6c0988d +CT = 93af64903bbf3549e8b8ff0d82 +Tag = fd37c26153a4181c77e6b79a85 + +Count = 8 +Key = e87bf563cc668d85c9f68712834177c9 +IV = f1 +PT = e65b1b8d8bb53f1c6ce0048756 +AAD = 003af3c4aa3481612fe355a0986c5a7f +CT = b9df598db059f1fd60875ed702 +Tag = 3d8998814364ea88e597526cda + +Count = 9 +Key = eeeea77990eb48b4f089833be0ae58cb +IV = 34 +PT = e5c4bfc6d71013369a1463de1a +AAD = b5546577ee6a20f3e43339d06f20e574 +CT = d1d2f8a0d27821f7b76b08d115 +Tag = 76e463086aa3a97786d65626b4 + +Count = 10 +Key = 78d96ba9991acb66ce8c3abbfef844c1 +IV = 38 +PT = d9d8ffc922c566494a204ce664 +AAD = 7ce41a2f24cd03e2e7f2638cd47bbef9 +CT = 6e5cd53da1f7da1ea04cfc9189 +Tag = 5af68dc87074b3be2fd173b0e8 + +Count = 11 +Key = f1c92f5c8c58164761d2bdeebbf87298 +IV = d4 +PT = 9a96dd2e6669138c03944cbd45 +AAD = 5fd8f2f2b4d3272faeae32c2b9a8a8dd +CT = f3be4af81c5d0a33fbdb634853 +Tag = 7c1ca1121eeab38d3544896c4e + +Count = 12 +Key = 1066d53ced2cf1ae440cb79487e28fa5 +IV = 77 +PT = ed258811733b92e716d8dee21c +AAD = 374b444c7541c796155c63873a0ae666 +CT = 1d4dd61617df6fa15320c389c6 +Tag = f3735c2aa88e4bb7acf6a6b89e + +Count = 13 +Key = 71b327ca1f4a7e0fff4fa1a603be3e42 +IV = 23 +PT = 97ad5d12be269dc702cabd4d95 +AAD = cb3b5f36b7a06b2001693ff301eb7058 +CT = debc830fa582b22690b6f24e46 +Tag = 438cbc272e9f6023194a5bb797 + +Count = 14 +Key = f5b6b017e84f0db0187a60852ef6787d +IV = 59 +PT = 6d072750e0cdf75c1a62b78282 +AAD = 31688742950ba538a6ddbaa572d1b5ff +CT = 6617df1f0db7b095f2d34bedf9 +Tag = 493ab5332e767d5a4c8f9bf6d1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 3aef19f118eee3b22d0f7d6287a7582a +IV = 34 +PT = 816b8d9ff0233ba3566634d8c3 +AAD = 395c8086b6ed69ac40193c36af62fa14 +CT = d96ae6917eb271050dfa174458 +Tag = 1fc65e1f40644d9ca470d8c7 + +Count = 1 +Key = f55224db2bb5e3e80457740896e3673e +IV = fc +PT = 600de85e2d532d501f1fbf26ec +AAD = 2774cfab65f041dee9814de43435fff2 +CT = a8c215474538504f3dc2a758fe +Tag = 3b1716925f5dca7c4d109972 + +Count = 2 +Key = d622aa2190493c8b3729722960e56a95 +IV = da +PT = 7e2cfc9b9c15430227a13e20c0 +AAD = 93855502493bd51cf1d79dbe5aee6be7 +CT = 1eb8b062a56ae17bb6c91cbee1 +Tag = bbf04499dc9f97286d0434cf + +Count = 3 +Key = c3ac75b32894675114b1872c2a5868dd +IV = 06 +PT = 558dd366d8a558bff0bac0969d +AAD = eaa15319a4d1553054bd799bac779ab9 +CT = 2712788faccbdcb4b8cb18a2ec +Tag = d656f7259dab367f6628c2c2 + +Count = 4 +Key = 5020c0850feacbfbecbca285effe97be +IV = 5c +PT = c9ed71053d0d522772defc6e84 +AAD = a0e8abbb9a0436108ba3fd25a0f93f99 +CT = a2cd34a7ab3ed414c05c173b34 +Tag = c5e32b8388fe55160bd991b1 + +Count = 5 +Key = 2b220e2990fb94289bb31b541458d8ab +IV = b4 +PT = bf79c579a41d98e0b5e375ceef +AAD = 3b5b9dc7e5592d85f39c95a2d8426839 +CT = 26be24c581416d87b2e6f817fd +Tag = 441e604195b554f27a973de4 + +Count = 6 +Key = c92e62a2f7f0fb7eb064da929d4ff274 +IV = a1 +PT = 036c2cdadd91baca5764273327 +AAD = 8f4369127c17a631f831820c83bfd2ea +CT = 9f372eff8c7ba4e6d17e78be02 +Tag = 503f56298d16c196c3709996 + +Count = 7 +Key = 9bf6019c15750bf596f99ad663ba945e +IV = c7 +PT = e8f0ed7732d5f45bd7063f0428 +AAD = 994fefa314d401eef9c265306632a39b +CT = 49a936702a2f4e5bd71dc8da65 +Tag = d26a52cc9656cb8ed4831249 + +Count = 8 +Key = a7061c62ecd7c55e0ae343e2c752ca7a +IV = 85 +PT = b8a667c5fbe3afef7de8ea00c4 +AAD = 0e66294c789992df4190e472f790ea5b +CT = cd19b56a16871b092224bdf3d4 +Tag = c37ec7b52fcf75e49df3d73a + +Count = 9 +Key = 79792d377abf6159e0536a8df5cb4691 +IV = 7d +PT = 76a00ffe4ed19f78c895b01d8e +AAD = 4373ef70cffba29070ef152d6e0a05aa +CT = 4ab99b040d0dd862ae0ac32600 +Tag = 028ecd8b7e523cee906aa95e + +Count = 10 +Key = b9d71f83ba8b61953e1ad3a143fbefed +IV = c1 +PT = 95eab2929e15dbc78a28a7e106 +AAD = 164c4d0498efa5fa357fc3e9df449abb +CT = bbdd746d688836a950b55c427d +Tag = 417da3712eb37410cb2d7302 + +Count = 11 +Key = 42eeeeacb4134de2a1fff6e5681262f8 +IV = 22 +PT = 6495996ce4c8651a89c3f4b76f +AAD = da9a092ecb90045d94c5e39211c4f7d4 +CT = d4c2426d7fb347334859881000 +Tag = edd19e845a3b3b0cd2b3d3e0 + +Count = 12 +Key = 1a8b70e404fc1b789b4cf7d05657a697 +IV = 68 +PT = 6912e00f88943c47b8c5bd200f +AAD = caecfbe683ebb8e78c75357eda5d1930 +CT = 0a02dfd190ac7f5e9916aefcbf +Tag = df1fdf2ef6bcab7831342bb9 + +Count = 13 +Key = 2a4bf8f42b13528bd5560c7e08959d18 +IV = aa +PT = b1a306e4b6c8f06944d4e190c1 +AAD = 33d522bb6d0084d2e439931787625ba4 +CT = 4cf3557c749996e09dd55b05a1 +Tag = d560f394f8b872bdeef020df + +Count = 14 +Key = 2511827a574db100299d171970498c5f +IV = 5b +PT = 951b7535b94cf2fad1b00fbaf9 +AAD = eb5f00ea138f7b95991b03ee57ff32a2 +CT = 096ee17381b6e0c229e7907edb +Tag = c2bb517959555000bad043ca + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 0d18de44c13aa1926697b7ffc317a06c +IV = d9 +PT = e10716def67442e67bca3eea3d +AAD = f9836cb9c9d30714c4bf91e3392fd4e1 +CT = b97ce0a1955d97dae88387671b +Tag = 4c3ed0b148e1a10f + +Count = 1 +Key = bd2a459fa41b5da29b476aea433f2c8b +IV = f3 +PT = c04e33f021e2d06446098a2fd9 +AAD = e3fe9f23edb0176d5c60e82c14e5e0bd +CT = 5404a792cba1bdf759493e2845 +Tag = ab8870a1a66121a0 + +Count = 2 +Key = d325d2b8c490b76dc541d57d32324247 +IV = d4 +PT = 0613b016dbf17ede19baaedb54 +AAD = 49c1756eda9dd0ee4608194dd2ceee21 +CT = 85a2cf6f51c5327d30c0a1961a +Tag = eb5eb7e9a80cad04 + +Count = 3 +Key = 2c07d65a6d2095d435f7db1d847d06d5 +IV = 57 +PT = b28f04147cd3971a2f22eb1efb +AAD = 2d66358e2aaa08c7c6e49069e5f39625 +CT = 16fceebabca3fa7340fca4e677 +Tag = ce7daa954271179e + +Count = 4 +Key = af2f8dcc14971fc3a273584911d72107 +IV = 3a +PT = 68cf13006b5f71b510caafdb4a +AAD = 5796461f2f006c27adefcfdcaaed41d0 +CT = 35213e90333a5b1c2f189d9176 +Tag = 62bf2c7d627f59d8 + +Count = 5 +Key = 4353be0e95465a8601c9e2be590c8761 +IV = f9 +PT = e6a03b960131143da1867eb6ef +AAD = a3687039a985154dfe9ccc12ce09c659 +CT = a4b211ece3e3b917c52b6e1e29 +Tag = 5ee53ee0925c789a + +Count = 6 +Key = fba3d9db98b4278ccc489f41147e6044 +IV = f2 +PT = bd73d5f1845da7d75d5c300c25 +AAD = 8e87354e4c247e0b52b815bdd6312ff0 +CT = 958c8d72806c1b710b121b2c19 +Tag = 7868dfcf5f8e9a89 + +Count = 7 +Key = 3d8838fe50cc9b888177941518eb4403 +IV = d8 +PT = fccf0c14b38ce15c5941851424 +AAD = 3303ce08c8a21bf45a1b5e96c95b8beb +CT = 535de6b1e32c9164bbbfb51e6e +Tag = 0144577a7284c7e3 + +Count = 8 +Key = 8457d3e5fe91567836b4b884188d37c5 +IV = 34 +PT = 92271b959684f45212afa23dee +AAD = 6daff3ec276a0d8f8b519fa5e6584b57 +CT = 844edc156eae7ab606834a71bc +Tag = 3736b180701f8086 + +Count = 9 +Key = e850d07809300952100b1106b49dfc18 +IV = 79 +PT = fec31af007a6164bf2e2f6e2f3 +AAD = 54d6442be41d77c0afb22cf6d6d07dd6 +CT = 1deaa5e5cc0297802f0b678423 +Tag = 413368a2ac86d292 + +Count = 10 +Key = d2bdb9e76d13949ea0b60429d767f2cd +IV = 9e +PT = 9a7b9609e7113f300f71fc68ef +AAD = dba1014a0d1234a922dc079e3dcd8b13 +CT = 20046ee8a3f4a9953d8c72af5b +Tag = 8331641eccf09dac + +Count = 11 +Key = 8008613bd8e228b5c11acf346de38f3c +IV = 3b +PT = 0285e3ac56a30e7d889c50de63 +AAD = 600bf1d30b111f836615bab9c0eb3e8a +CT = 277b3bf78838bc01afb5399839 +Tag = 649be80664151a5d + +Count = 12 +Key = f56f6c0e70f04cb85f7784c7d008dbbb +IV = 6f +PT = 2b97b10b6a231671aa5668aea7 +AAD = e2ea102b91d545bd545b567adb38b1da +CT = 0365a7ca55a9c3476c2866f66a +Tag = fea5150338b7ec1e + +Count = 13 +Key = 94689dbad962f37ff4be4161a54a620f +IV = aa +PT = c23e6b7dd63b0bfe86c5203d8a +AAD = 9355b4f7cc87113d156ef0ca3ac3b086 +CT = 62a84bc7d97c23242db1bc434f +Tag = 90e041dd4e945978 + +Count = 14 +Key = 9728c1eda1a93c442cc04d34e759a008 +IV = 25 +PT = 68749a76cafd186c65c991c4be +AAD = 861125b8ed54543def94607a8af9a4e6 +CT = c0455805d69c47f567bf24389d +Tag = 14de4ec635ca4de3 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 3873fdf920d0deb05421830f96762e6f +IV = 4e +PT = 1088027bee22fbb083be0d319a +AAD = e8d73f130d5a6d401d9d6d45b38cd419 +CT = b263c631913d0fdb9f78553298 +Tag = d41720c0 + +Count = 1 +Key = bd0d5731c37dbae64c4ae2e40a33c75a +IV = 7f +PT = 776343cf044345d5e0df6a5770 +AAD = 0e968eae0f32b4fca21ece7aab8afd86 +CT = f48d24a587645d7bb6bea792d9 +Tag = f4b8728c + +Count = 2 +Key = d18d85aa0a8cb9302920fc4f6802e90c +IV = 82 +PT = f288345f092e682e56ec8d0332 +AAD = 8ff2e8caf3e3ff7fbdd1bbc613952c6b +CT = 01660f81bd12bae28a54d511bb +Tag = 2e3e7c45 + +Count = 3 +Key = 351fdb0be542ed712ddd335cf26da3c0 +IV = 51 +PT = e5eb3d35e4213c96ff16dbeff6 +AAD = c26751eaca93d49b33073c45ac2df8db +CT = bdaf62c706900070795466b150 +Tag = 49b726dd + +Count = 4 +Key = f407a7442d909a004f0df7da23745fdb +IV = 9f +PT = 7b99ba20e258cdde458f6e0fe7 +AAD = 090ef2e87ae48df648356560e1af1ab2 +CT = cdcd1bfa53db5dccf1d908c627 +Tag = 4b55fb85 + +Count = 5 +Key = 65a1d36bcdb01f25385068dbcc3bf970 +IV = d2 +PT = 248cdb968b0d345d2978e3744a +AAD = 531736ade8c67090418863181aa3fd37 +CT = a056c598375bf2becedaceca2d +Tag = 6679385a + +Count = 6 +Key = e42362da35c656196e5d8a0e0766dad6 +IV = a4 +PT = de461d5e3da8b85e549b5810f4 +AAD = a9f90ba08c5c9dd584087d842d13719a +CT = 930191d6087b185bcf0fa209fd +Tag = aed7701b + +Count = 7 +Key = be1002f4b9511ecb23ac4a47b2654115 +IV = b1 +PT = a8f4425c759966ee9254d056dd +AAD = fef1cfdbeceec51085822b5bea62e03c +CT = 4b9aa2c4e953cde3fa3f756e6f +Tag = 6a529dbe + +Count = 8 +Key = f421037a73047da9116ed479dbde2c01 +IV = d4 +PT = 8a84e10b477f66472c287b14c3 +AAD = e4104e95879ca5e9dbaa64623bfdb2a9 +CT = 1559b58929b8387451ddc14662 +Tag = f265a079 + +Count = 9 +Key = 48ea9230be20a2ca1151fd33c697f447 +IV = d4 +PT = f4e49b79c66932c98a30f2866f +AAD = fc300e32877321860c4a9fd86f780d01 +CT = d5be462b4dd1cadd86a2fdae3b +Tag = 561e70d7 + +Count = 10 +Key = e6c022e5ec6147e8e9f5b02ddd43ffab +IV = ac +PT = fe423bf4900ffa2db3d7deb9a7 +AAD = 5bd60c91a6946393de61a6773838645d +CT = d6b0527d67d8dd04c03b0d5e18 +Tag = 0989519c + +Count = 11 +Key = 5a82b7f9bfdabd024c6727635e2f02ff +IV = d5 +PT = 1b137e7ace99bc129e27a2b7d0 +AAD = 418bc44ee72817a4e8219bf764c4517c +CT = 40c162b90f016858cd02f42c2c +Tag = 71ebbcc4 + +Count = 12 +Key = b0d5a9746ba26366006ed878d826ee85 +IV = f8 +PT = 1beffac939b00884f16853546d +AAD = 75650516d84121f200d73763af6f14d6 +CT = 97880482c4da68e194fd95de02 +Tag = 0e42b93d + +Count = 13 +Key = 269bb2ab598e3106305ef93a749b865a +IV = 82 +PT = 60cbdac20f8e229e4703b450d3 +AAD = 07b7fdfdb2c0b5615c72c4642c32f77a +CT = 3b529dc8895c269a61182223e6 +Tag = 7bbbe3fe + +Count = 14 +Key = 74b2eec3e47857b798f32849ad06e26f +IV = c8 +PT = 57f931d048551e8ebcbb7d5faa +AAD = fdd5411cabd8c6028ea16f7983457e8c +CT = 08a89aa217804716c07de64b4c +Tag = 0772cb51 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = a5a10d0f6d323ca2b39596036afcdf7d +IV = 52 +PT = f85be0138fb4c19717633a5f37 +AAD = 1b5f6c949cc5be523ae4732d12bb189ffaeadd91 +CT = 4ed45067f32cc97836908c6925 +Tag = 80359250836667494cd27631de910bfa + +Count = 1 +Key = af9778662beb8d2e0e24353f874c6701 +IV = d6 +PT = 1b09e2e181e856a1614eb30c85 +AAD = e6974ff9fb6ffae4ddb9d2e2431931f227b3980a +CT = 765ba42925df6463ead7f0b8bf +Tag = ab192e9d7ce36dd10979f367840f7b1e + +Count = 2 +Key = ec43f4ad905006a33f58b2fa63bf42f1 +IV = 2a +PT = d5a83f532054d7f6fd69c45da9 +AAD = 71030575042cb569ee627fd95e7c9caff479ebe9 +CT = 5e15f31094a1864a7c21207686 +Tag = 8e0009fa13cd29d6aa9a7586f8ee364e + +Count = 3 +Key = 9b0402593184edb88c68f2be8271a022 +IV = d1 +PT = 0f884a7a144b5f95db607a562d +AAD = ff3fa5097ec55443b1cad96a1b0311fb8ca5525d +CT = 08b6643ef559dbb0706ea1c4da +Tag = 2537a458f18c5a17f3952036f805a791 + +Count = 4 +Key = 8f46654ab9c66f1b70bcb03d61b92199 +IV = c5 +PT = 23c806ba72bddce96811940a52 +AAD = 8b17d38c4f0c3f678402ef08a59ef582539d1509 +CT = e9110111ca019fc7b36db9f91b +Tag = e3f38cea4fc55b11d2500599ecf03d42 + +Count = 5 +Key = e6ce794c66fc9efaeea6e74ac07293de +IV = d2 +PT = e33bc31c366ef61df6ebfada55 +AAD = 196031e3910b1159677fb2eda65a40905aa8341e +CT = 0fca51e9071ad1f3ea5bbddc1f +Tag = e0e6ca80158072eb0509081cccdbb53b + +Count = 6 +Key = 7425e15b2144cfb44e7febdfd98c15e6 +IV = 5f +PT = 1b5ac8d2e073f4f2cc4c720857 +AAD = 84af865f7e3946bcb2654e3fe374df752a568c2e +CT = b223469bf9aff3ccfd6e983eea +Tag = 4c01af8084c01b2571f7b8af291818ea + +Count = 7 +Key = 5391962025817408835255dda9be503e +IV = 53 +PT = 3f32a5451808782f2499790aa8 +AAD = 8fcb76b8758ccb2cee4118bdba2eb36a868618bb +CT = 10ea6138f2c4696809b6abc70f +Tag = 9f7794591a1071ada7f0322d08083936 + +Count = 8 +Key = d77e26be8dabffd99943528d924c22e8 +IV = eb +PT = a4c9852ebe60a218eedb9d0f37 +AAD = 5808875ea084f4e03115bafc100795af12ed5e4d +CT = cde9e7d22a46f406f89c7580be +Tag = e7632d8b4f557a2eae308bed8c063d84 + +Count = 9 +Key = 717e31eabf691fa0ead4e772cac7c968 +IV = ac +PT = 6d7742c4b2398ddad917b998b6 +AAD = b623f5718a64747da992d04ce45a55de5b2c6375 +CT = b20d11ad451ea33649e8b502bb +Tag = 4ba120fddc4f89c9a1443a354d302d65 + +Count = 10 +Key = babd431f665a5bf7775341702d9103ac +IV = 79 +PT = 7cd35ceeff6b9bb38371418732 +AAD = 8aa2e7be208663fee00e79e7b1c7fe1837ce71d4 +CT = bb09b25ac2d1fa1f270dd11c67 +Tag = 276a0489b221c3e9b3aa83261056b412 + +Count = 11 +Key = 3aae9a3c7e64a8afed78106f83e741cd +IV = f4 +PT = ec1d86209a048c387cb382bc59 +AAD = 41bd7dfdf47ebae98726defc5e78bcd68053a97e +CT = 1f5efde9a849dcaf0e8604ebef +Tag = 1f4fd604c0456ed817211697d3c0989d + +Count = 12 +Key = ed35485409aaa2552107b816d60e148e +IV = 1a +PT = e669ee1ed1b744e7979e5c01e8 +AAD = 609a2095426d903cea7e4e27dd749aff88631653 +CT = ff296f723a237923c9249b21aa +Tag = 98b7ec8d8b154f8c3dc13d7c9f92ecc5 + +Count = 13 +Key = d6533a010167ef58dd10184b3971f7f3 +IV = 5a +PT = 518d10a0a7792542caac74195e +AAD = d4116e24584889a8962b0791fb2caed2c4fb190f +CT = a93c0ebc58284f5e20f0ba3645 +Tag = 2bd7cbab94e334ef77c7d8afbec49ef0 + +Count = 14 +Key = 84bc0690bcd4634e159bcb0bcd822419 +IV = 2c +PT = 1e1ada7e310472a8782193be1c +AAD = 23fff2b60d3595dd74810b5f22a09f748e5bae75 +CT = b2492755526fe62ab806328c38 +Tag = b44dd18cb3cf3a656e1daeabffc65416 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = a2a7a3c67f5a347ad33e2fd96b432059 +IV = 89 +PT = f6e502e97ee770abe842789668 +AAD = f657583d1b86c7ba7753e31e61ac7ec6cd4693c3 +CT = 79e23040e9e1b65d013fab38a8 +Tag = 5f48c5bdc41e78302ad777715e690b + +Count = 1 +Key = ac8168f0693f786b395a855b33a2ea25 +IV = bf +PT = 5886270200d43316e83c30f686 +AAD = f39afc25626af581289ee942be45e765f403f4b5 +CT = 2de5c56bf423f8f3286d28670a +Tag = 7bcfdda00c92bf1d9d37dfcda3b953 + +Count = 2 +Key = b895572782c9aa3e74501fa17bb6b1ad +IV = 93 +PT = b9e79c2cda556d08034c67ca14 +AAD = 317fdd9bc840492b159a904d8614baae08ae309c +CT = f63fff96671c8de2abbc611e18 +Tag = ffab30848b2b66f4cd4c7b17ea67a0 + +Count = 3 +Key = adfa6fffd13e1edf914b8b1ef6077797 +IV = 2d +PT = 89d60f8549af314d88c4f65a2f +AAD = cb7e3a491721b037ba32fabc59aad4ec2b611183 +CT = 4ccbbae5f6a7cb037480d37782 +Tag = 0294191047c564d6622738ea8cd529 + +Count = 4 +Key = 5fcc032bd4cd37cf8cfe1404b1024759 +IV = 3b +PT = 69d4200dfad084af3c81176137 +AAD = df3c241e2ab913ddacc1dfdd5cce228865f045da +CT = 215e6da265f96c2076a443ca32 +Tag = c0222c55893594a38b50ff120ec4d0 + +Count = 5 +Key = e814b4cd8860dcfb934e925eda6d43dc +IV = a1 +PT = 790702534bc97e9bdcfd50e58a +AAD = 916de6c0edac52d53653e4203566c383a79aaec5 +CT = 9b651d571c0210b85ec09ea0a3 +Tag = 18d5a45ff8149ce48020b45ab284d8 + +Count = 6 +Key = 01222d9cc1073f83da20ea69e3e657a0 +IV = c3 +PT = 6a6bd81a935284c061832f5776 +AAD = 73c73449519dafb0be86f146d901b19f099b2308 +CT = 5c0048aaf5d79d0277c11c24ea +Tag = 257ab3b69857776586f715e01390cc + +Count = 7 +Key = bf9626408347b676a68b3dea927525d8 +IV = 23 +PT = e4455f2289b8809051ea016631 +AAD = 74526fafd52e66ee98f7fd4105ba1d8746cc7049 +CT = bedc4c03fb2dd4b0fc2a4e40ca +Tag = 89a862f676803034590858ebe8b7d0 + +Count = 8 +Key = 7a2b5fdb693de7474bfe9d6bd136c1cd +IV = b5 +PT = d57c55d92bb1856738493bf329 +AAD = 0f1767407017cee93bff42c843d0b033149d317f +CT = 1328e8496d3a311a3da61d6906 +Tag = 92f9f085f4a9dcdd262d085d895abd + +Count = 9 +Key = 0318401c9859ad89e09d94f6a31c742e +IV = b3 +PT = 4884280f00a11eea6222227095 +AAD = 49284354d78ba95f13042487704c5aa8b0a14ca0 +CT = f6c930dabaad2a46b36b774c09 +Tag = d8c4db2591b83d59447fc13fc47002 + +Count = 10 +Key = e3c2e76a5105de9b3f53c313fab7041f +IV = 23 +PT = 31bfb122f8e1365808bf67398e +AAD = 14ef8b9dd075af01e3f7a26310441a3694d0c812 +CT = 8c4015ba3bba20edf72c4ab557 +Tag = b0404d627b11d2d33d8efc4b46f4f6 + +Count = 11 +Key = 0775c765fabf65cf82d85e2f6ea5250b +IV = 40 +PT = 224cda4d2e52ea17826cce26cb +AAD = a302d447dfc9c1564a6d1443ffbba5223e07fcc4 +CT = fc75c6067c938d3881a72a9091 +Tag = e8abd37f9ae34c02d44d84d96dba1d + +Count = 12 +Key = 3f5a762bb45e4a43023ececfc32c55e0 +IV = 74 +PT = b2ff5d051a03a5106cfea488d3 +AAD = 745cc5a15fcc6ee2099d84675a6e3c8437ff1184 +CT = 0f4bf6ea12e8ad32a079400e40 +Tag = 5ace1d7df1f2a7cd7cdcc6f3cfe439 + +Count = 13 +Key = 6e928c0ac7035c52d632a05483ac5c96 +IV = 80 +PT = 86ed570847f604660c5214b5ac +AAD = f4d56b996077593442642f97b5b6dd264079d65e +CT = d183c57b2eae2db9da45efa314 +Tag = 6663bd7aeddbdf8cd67cc58d43f4ff + +Count = 14 +Key = 9a33b85e6e89e91e00e5a4a87844ab0d +IV = 44 +PT = 1003a06c4461b4a5b8b2932716 +AAD = 45ccbe9086def300fe0e953bf10a6194ada40f3f +CT = bf70906bceb607f8c48937ed20 +Tag = 8d6fc2c1352c17a812b82e1124a34d + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = ccb4772fb1f99919f6a18fe0b72078b4 +IV = 53 +PT = 9f5f69ce9f6759b80dbd654d03 +AAD = 017f672c7d73b15e2b04b5541505254265cc7298 +CT = 0999014213a59c0fb986ca18fe +Tag = 1284d91e7562b01c1e1ec19b1e3d + +Count = 1 +Key = df92f67a2c29fc6e414297882ffbc980 +IV = bc +PT = 8769acf599d1fce9f1f8026988 +AAD = 66f49dfd9f4da04242a81a03e2ca90c8ee17243f +CT = 34025700d144af5fe30df881a6 +Tag = 019e1a4e4415e63a23f867daa559 + +Count = 2 +Key = 3ad35379b166ac79ba07d948eb6abe9a +IV = b8 +PT = b105b71f638a9ff5b4f8b2f1ff +AAD = df015067b75b2483e9fe50b3b7512521dee4febd +CT = 7d4dfbe3cda734c3625a989caa +Tag = 15e9ce1a4c6acd362faec8976357 + +Count = 3 +Key = fda474662b846d628dc0c5e278e548d6 +IV = 50 +PT = 8cf55b1bbf76e0e72abf91c515 +AAD = 9cff5d204df61f4b123041fa8c3c04f415ad7ead +CT = 13348883884018642cb69b3984 +Tag = 7988cbc6d3c9ca8f02dce595979e + +Count = 4 +Key = 890a15c44b414a8940ae8e8614ed0e54 +IV = 28 +PT = ae4b8e69bee389aca3c97c6882 +AAD = c3c15a81885f239d2bef07f05af56a2a93b725bd +CT = 54cd663e59e8dc23e1bd0a8708 +Tag = e98fc61f0b5eec3dbcfbe0387d56 + +Count = 5 +Key = 1132245101461d2d1379293eb09a868e +IV = 0f +PT = ea23bc82ebcea70e2945a16038 +AAD = de25c8325c2c2d73112ab1fc0afe86ac6767f5f7 +CT = 2636677d65677c6d032e843a5b +Tag = 73fb58717adbc323cb7748b0519a + +Count = 6 +Key = 0bd8baa30b89f4881b85fa4cd0101727 +IV = 94 +PT = c49554d9a7b10d43b602cf057a +AAD = 0425ae484e5c3f50dbc3cf4c7318d1c6d9936b13 +CT = e42a80a0665ecdc25ab12abfe2 +Tag = 5d252a3499a53bb8ef804c291c1f + +Count = 7 +Key = 6b14ce54e61ad5ee47a5013c62bd2649 +IV = 2d +PT = a0e72f850aa462777f7aee0632 +AAD = 6261e0fac55b0e5739e0b20c467f0327467d33b9 +CT = e8e0aa652f1b2fb2c743bc2ab5 +Tag = 728fd1d3df866f84cd8d785d7a08 + +Count = 8 +Key = d9604304cf81f5e6f2c58721afacaffd +IV = 85 +PT = 715feeac06916fd3f9a72898f7 +AAD = ba106d9028c31db018cf2a812e8820bb9e98f9f5 +CT = 0e3ed98c85b61d4af131bea9b4 +Tag = 20d7f6d8d127fe791a94800e3dea + +Count = 9 +Key = 2cfda15db3b4a58f7c0833b5abb15840 +IV = 71 +PT = 5a35d3d5019d3d02c60ae91f94 +AAD = 227a6846efe954e8d1488af156327b17d032e339 +CT = c26be4c3e9c4c892a8a1cd1a3a +Tag = 141be7c92f2c8364e00d7857acbb + +Count = 10 +Key = a4a008645ad38ec9a0a760075ebc7a28 +IV = 27 +PT = df92892313fccd2b689a35dd83 +AAD = b7c9f4602c336c7c9351497698af09aa4417c8d3 +CT = 9c8be7c77eaffe7ac79ed942ae +Tag = cf036e6e70254f2ee87ec532f3e3 + +Count = 11 +Key = 3d5270080fd63dfd20c9636fc94e83b0 +IV = aa +PT = c8b452e16bcb611df1bb30ee47 +AAD = e1f41aaeeab0dfa313fd459b3737a23d9284cf4c +CT = d782406a4ccacc86cc195b1e1c +Tag = 1332dfe296a1a7e0668d69ad3eab + +Count = 12 +Key = e6a70100b3df8703cb5916964268fd1c +IV = 58 +PT = 8db329d960ae44241e21192836 +AAD = 364eef4d42a52aa3972cf6b1739f10fa9f69ba5f +CT = e888ae22c93b1947c0c0282adf +Tag = b7e6021e32de94f405cc3d5d5b98 + +Count = 13 +Key = 0bc9632939633bae230d3360aef49f07 +IV = d5 +PT = eb3b6e180e4fdb354e8b778d43 +AAD = 2c6617817fc652198a73400971d1438c330f8866 +CT = 14c7f6c97992fac5e104b0ad90 +Tag = aef0eea44471cf832fe7fd0596fe + +Count = 14 +Key = ed08db1a7dac428281a42a4567742c2d +IV = 7c +PT = 335727cbcf4411cd751ad65ffd +AAD = 3e92cd5ba2f9b3408fdd48da90ee50efd832aebe +CT = 0c2ff280274115216d478e3f67 +Tag = 058dd25500bae8093a4c52dbb829 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = c562bc8376a7b1e0db3f6d4d418b6f73 +IV = f4 +PT = 1f438410c97f980efedc69d6d7 +AAD = 0db0013f9dc33bb72f85f0179dd9a9a65eac28cc +CT = 9cbc4d5b650c64a1f40174e7fb +Tag = 1444c6de0c4ed1b10575c5a26c + +Count = 1 +Key = d0e9666b0f252fb132752b71aebdc704 +IV = dc +PT = fe2683edd3f6bbddfb44ac7098 +AAD = 0cd109682babcc1cd2ba9577652fb3d40436d0c5 +CT = 39236acc97b41fe886a7b593a5 +Tag = c4eaed0eb7dc70455d66dd9395 + +Count = 2 +Key = 4c474344fb8f0422f666dca2b2b4cfb8 +IV = 9f +PT = 1b3317210564ff8174eefd0c2b +AAD = 1d0294e4fb3c8912310d1be65e225da572a9513c +CT = 9a167cab6e2722e5be03b909f0 +Tag = d6653af87b077cb3a2d570cd5c + +Count = 3 +Key = 1ea0c3c964326a697e601d61e16f4810 +IV = c9 +PT = c1ef4435880ea3c69c0b5b9e17 +AAD = 4e0eb67d113f80b3fe38b2ad6b2f716bbe129c74 +CT = ece60314d581773d3298016e73 +Tag = 51079309431d74d5b34bf87f66 + +Count = 4 +Key = ea848b49bd7f0da6931904557a639c64 +IV = 58 +PT = 785e8611d13a733630be319f86 +AAD = a2f062083d4875d8788b98a1ccfd3bd8953b5f0c +CT = a3f793d368003129c45ff30b92 +Tag = 0a864e61362a0bfed2bc52853d + +Count = 5 +Key = cf0eda03328af31f48fbdbf4ccd71e06 +IV = 2b +PT = a19ab22285f4b2637a9af32a37 +AAD = 19c501b12ddafff718724355b54e7da1deda01b4 +CT = 29d1f71d688bdc6fa1d7baacc4 +Tag = d888e40ee3d2e03ac18e979005 + +Count = 6 +Key = fe9eb58741fc34645e08df9318304d0c +IV = 6b +PT = 8db92810a900197bbc25b88312 +AAD = 4540746a963778dd83913ba03d054a08ed00362d +CT = 4ed8db47c8aca109cf9293df40 +Tag = 0affe344b2b06edb70a2087cfe + +Count = 7 +Key = 80a39b60dfcdf31b32c4bad09d80cd79 +IV = e8 +PT = dbdb8c599e66cc848cf7e6fb8f +AAD = 7de62a508b809ff206c8114aae1caf82f0b55ad4 +CT = e3bdc8d7ea9c2d03b248fa97fe +Tag = 8a2a3ec41de283216d6d6081bf + +Count = 8 +Key = abe8346f16ac4c9468578fcfa3a5008c +IV = 85 +PT = e0770ca339dea913808cae71fd +AAD = 3db34d15c31b5f3f2feb29b033113c9446dde8d6 +CT = 3700048a9e04d73a6c07a12a19 +Tag = 9664f8d2445eefce626a03d46f + +Count = 9 +Key = 8f816b48c055a5defaa75174f2e405de +IV = 9b +PT = 5994585013c6c45ea41b575d70 +AAD = daa3e26cc7129de58dddad760b9289de9ca6b356 +CT = 8b13447b5770a7641ba0f2d66b +Tag = ba47e79924a3b92d38644c1c00 + +Count = 10 +Key = f413b9e8a89ea4911c498cb6d46792c1 +IV = 64 +PT = 210a5ebd2a3d3486287deef028 +AAD = d5d4ea338f5b2dac369465a00acfe5775c5bab49 +CT = 8671bc6f27fe25395b1305883f +Tag = 08f3e05d525f2396d73cd2f538 + +Count = 11 +Key = 4f60b5ba311ed79d8f6b32a724255882 +IV = 32 +PT = 486296afc19ec8c2dfde2ba2c6 +AAD = 3e1648a64b1d49e7a89f86ccbeabd95ea1d1dd35 +CT = 2c59b3a23f462be75d8fb5aa5a +Tag = a8f488c979104f6a05c2661f2d + +Count = 12 +Key = 66d2a2d5877e0154a89552e13175efd5 +IV = 8e +PT = d09acdb9601b551c01d3fd9565 +AAD = 925afe8333bcfb618de9b4bbd6418569d04d53c0 +CT = 9d48fb82c45df32a20c712e3a6 +Tag = cf507e32762d4214f8d2544104 + +Count = 13 +Key = 3d659ddc24fe798a88fdfda851128fff +IV = 2a +PT = c488e035189ce39a2af878c03d +AAD = 182148315f201bd94238c105cee42663bcd6d88c +CT = 5265d429fcc271009da80a540e +Tag = ffba7db0e3aa4c9e122a41a80e + +Count = 14 +Key = 87245338b8d8d176f5ede3257404d980 +IV = 44 +PT = 589bf696f68e2aea34f13d76cd +AAD = 34697c648bd927ebca613de18289af860d7cdb6f +CT = f2d0a4a79634bc8ee67b1a60c1 +Tag = bab208e774cc6cf3b9d3fdae09 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 857796ea4e589a9d3997ac369e0ccf77 +IV = 02 +PT = f7c2847119291b513ea4ad02d7 +AAD = 2649e6a7a7c0e34ab3e255f44ffd422af9e97ae7 +CT = 2fe17d995b0a1e151421cbe585 +Tag = df685996f0cf4ae8c57ecadc + +Count = 1 +Key = e1a2c198812132a881afe9084a34429e +IV = a6 +PT = 181f2dd4511caf61389e89f0e9 +AAD = 21b0a3688ad96c636f7b1f0f016b7dbed87610b5 +CT = 116081788ad021d1ab87959944 +Tag = 49f2fce7163e7babd64eefa7 + +Count = 2 +Key = d6974aa9d6dc4f33bdfcfaf93ebf46c4 +IV = 79 +PT = f8ab2278f29d84cd24cde61ad7 +AAD = 6c82114fb82e5125a61b9cf6b3305d881707e520 +CT = 21432f9e837ea7ebab40a89fac +Tag = 5a96414605c5dbd12d21fe65 + +Count = 3 +Key = bdb12ebce592d0fb684355da13108bd0 +IV = b4 +PT = 62f3e7a78cd6b5f5cd262afbdc +AAD = 1a337c2262133dfecad67bcd0d2c944ea821f8fe +CT = ee8a57642b87c8fea5537efced +Tag = bba2be12e3baecefa5ef9135 + +Count = 4 +Key = e6c8bce8e08a26ea13209d8428fab791 +IV = 32 +PT = 3700d7fd74e7ce3087e4a30d7e +AAD = 1625f779e877b919d8646d163619a7191ffc4db3 +CT = e2e39cd00dee93ecd544777e6f +Tag = 7ca7c95911c1322f9f9574ab + +Count = 5 +Key = 087921c2b3d71cfb680909b821e0ee6e +IV = 07 +PT = 45bf956ce691bfb3539189a18c +AAD = 9c3d4f0684f26b15d919eabf75fdc7d166f033f0 +CT = 97cd01c461d7888a4e23328027 +Tag = 4d43c45186bba693a1b6d3e4 + +Count = 6 +Key = e2f07f6a14a1aff43cd2b63528e46903 +IV = 1b +PT = 7686d743e40127582c9c9da940 +AAD = 1a92a3ac023ed322e8b3fda43b462b8575a2c9e6 +CT = e9e3ab1efe4e805856d4f41552 +Tag = 06a2b6674c388e6d11b03f6e + +Count = 7 +Key = c7d71106e6b057c09026ce4d0027ea45 +IV = 48 +PT = b59b5ad31da44d2bf591094580 +AAD = 4e122a8692a05e511dc6970643c9b36b010e5d6c +CT = 255bfed7f6f11cfd663a25ad48 +Tag = 0cebf37685a93e38eadecdc1 + +Count = 8 +Key = cdda02b5c93aeb222ecc0432d20c3983 +IV = 66 +PT = f346af21a06204be8bc4dd2ec1 +AAD = bc3d87a6de0165a38861d64a372458576fc170ca +CT = 210c6832ea9e047646db4dd8a4 +Tag = e247e618fd907853e75b8ad4 + +Count = 9 +Key = 27edf2fe0f7ad9fa383f9fdf95ae688f +IV = a8 +PT = fdccf2adb7ef7d254b4ce07ddb +AAD = efd22b97262986ff172bd0ed2ea761d946e68fb5 +CT = 340e5c6da0b930af13fab2c125 +Tag = 6d74ac9d71cd9fcfb501462c + +Count = 10 +Key = 406044da99414a622ea9d6b11d70fc30 +IV = cf +PT = 6378b536dc569da7d28aef06e0 +AAD = a243e58db351df9c208e7b1d52ec9c3abd68801e +CT = 6f2b5c531e2bd19885b7d47204 +Tag = dae480d4b109bbec98215bca + +Count = 11 +Key = 65742552840bd7e6bee6230ab211b116 +IV = bb +PT = 55a342fbdb46cb76817e6ba91f +AAD = 3b2500700ffdcc41d58c43016391e4cf3431f9bb +CT = 8cd9b446e286acb79f4a4e9199 +Tag = 8a1e3bec0972087c1b799227 + +Count = 12 +Key = 0f35026a9eb2d8a17e035eee675ff1a5 +IV = df +PT = a76000dd9b56de5ea043d5672d +AAD = 2c39e5bcef7e95c9920e22af2cda71927374ecb5 +CT = 76bf06e8dfbcf162073e2f73fd +Tag = 54a07f7ccaa25d64cb797b1f + +Count = 13 +Key = 085023eb1ecf8fe22b7990178b757319 +IV = 9a +PT = e1e6880b53bceb4fb9c433c163 +AAD = 9e87ab87b7158c2cced4f484a1d599b95998108d +CT = c1f90a10e9845a794905e2fc99 +Tag = 8b5badff264257506227ada4 + +Count = 14 +Key = c889ea7827adcff8054a699cb00242f2 +IV = 6f +PT = b2ab0b9909030a9cf22778da49 +AAD = 768fe25a20376c61143f2a09e3eb2285593f9ed2 +CT = 1a3692e46f03ca7de5ac6e04b5 +Tag = c57c78089cc497f25947c139 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 4507ee8becbba245121b3fdb7b243816 +IV = d7 +PT = f48ea588cd7a14bc32cf37807c +AAD = b9868c59178da3dbb351ca20249d91f4c260160f +CT = eb2bbeddd28ddee99438c95b99 +Tag = 4f36753172d2ac11 + +Count = 1 +Key = 0f6a27bdd770d61b161228c1ccc525df +IV = 11 +PT = 90e29a3748a584e3960277f2b7 +AAD = 1169d7cf338c33a0098dfbe6ec30f0f46615b420 +CT = b097c9bbd9beff9e4a937cfbc0 +Tag = 7e97852896bf9ccd + +Count = 2 +Key = df255e9a66883d08570a47ee8ebdb801 +IV = 35 +PT = 08b3c1a4359a226174b3c94437 +AAD = d33c02b1df7cff94ed03eca7f475abbe12342e78 +CT = 97584fb3d61d57ecba8848c68c +Tag = 0e598ba43b5c38f2 + +Count = 3 +Key = 155bb319d7d94d2a2b7a25f67e92d2d0 +IV = e7 +PT = e76e78d86e144acf9c35b27eaa +AAD = fd5423400fa103505628fec99caa492cf1401197 +CT = e9e7fd386757ac1f0670510656 +Tag = e23ac9c1f5e10a16 + +Count = 4 +Key = 1ff39e18a380a13ce9c066651d133ef9 +IV = 5c +PT = d0b72bb7200c6b119a1117b846 +AAD = 113ab2aabd5107b295f1294db1c674d29b6c0537 +CT = 681efcef20f722706f0fc20ad2 +Tag = 5ec5501525362451 + +Count = 5 +Key = f2c4f808412cc00b60a3036bb1f48919 +IV = 44 +PT = 42e2d0d756356f496198bc4a53 +AAD = 39c28cedeec8ec5d37567a2b259b986c2ff30ae4 +CT = e2ebec0b8b177c2feb868adc50 +Tag = ac1f26a117a15269 + +Count = 6 +Key = 105593aa7d9f7220498edf36b4f213b7 +IV = 9e +PT = bd5d66cba5dcdc29e6ff4ae119 +AAD = ee989c45ad97f3949bc1903a9995c19a77f48d77 +CT = 15032acc8dd827837e404da18e +Tag = 7291c2e08a52c253 + +Count = 7 +Key = b25d5a0d1d394325174b55842ef1106c +IV = ae +PT = 016c1202e61b3da5c9eca8ab34 +AAD = 9e263a1e88a6d876eb9d9124070072e6e2c7cd8d +CT = 7abb62ddbe642cf6fe0fa89fab +Tag = 30193357db0508e5 + +Count = 8 +Key = dd9dc8a1775950a45d61a130b118d274 +IV = 05 +PT = dc14597f1d484af9563f06914d +AAD = 2c67508f21b3ed441834babe12849e75aded45dd +CT = ba198970eeb259d47e2e9afa85 +Tag = beda884a83125dc1 + +Count = 9 +Key = cfe13e0b6676c6346e601f0318b0e305 +IV = 33 +PT = fe9caab447e6accc059114e54f +AAD = b4f96a30cae076e81babc6b37aff9c20825864fb +CT = 1490730afbc329c97fcb148e22 +Tag = d5862be4bfa6a48d + +Count = 10 +Key = 11f98a7cdc7d80899c4b54d27ec30b41 +IV = 6b +PT = 27af5ec05937bca51e1b6cad01 +AAD = fa64269ee37f4ab737017fe2f7d1a905e3fc0737 +CT = 31be947aaf705ce751980be40e +Tag = fec64e2a3ed23993 + +Count = 11 +Key = 0872f6851962dd0d55b2a904eb3234d3 +IV = 17 +PT = 44add964bdadc36e70d6fe7b3f +AAD = 8588cbe3e7a893899ad9df6e7571a195ae1f68ab +CT = 464d2d3c8ed8482238e45495c6 +Tag = 8b27ab7f819a0afa + +Count = 12 +Key = c7e2e5b9c2f08abd46374543951cf901 +IV = e5 +PT = c3f34c6ea549da499db422df56 +AAD = 692c8c5d9e00f31c2ebc32e391cb342fd13c8364 +CT = 314c270dde570640fc479b3788 +Tag = 7bb2bcfc2889e929 + +Count = 13 +Key = 1d2b490c83aa0aba8d0c8a7cf017a6e3 +IV = 71 +PT = cc48519ef63d86de88248f5c22 +AAD = 3273aee2f5869d957e9c1c21957484b04a737a89 +CT = 1d22a0c6f86dc6101e41cfef78 +Tag = e42269fbfd94ae2a + +Count = 14 +Key = f93828936e97f03e0e689f3efdd20398 +IV = 1f +PT = 3e8a6ce47bbd200f20501412ac +AAD = 40b9ed3880510cb09145f1d16498bb176f0fa4ce +CT = 9254b17f4a57ac9304ca6e91ee +Tag = 638485e658a6e630 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 9ec6291568ed97d6da3e7588da360aa7 +IV = 83 +PT = d322ca861c5363a2970ce2bdd7 +AAD = 29d34b9d57cbfcf0e23d8670844b79fb8f1e8920 +CT = b196bb8d00a181f59d3847fb69 +Tag = 886488b5 + +Count = 1 +Key = 5a467a92ac5bb623e6616749f7ca7ae5 +IV = 9f +PT = d771a709a0eba98c218fed719f +AAD = add22b66b84e270506afb2866abc5f46bca7727f +CT = ea88f1420d9609e27335da3b3e +Tag = 4107f7cf + +Count = 2 +Key = 9102595af63548aec9819628022e481f +IV = 39 +PT = 5892c8c3a5e5826c6424db825a +AAD = cd7e0d0f0a5f69d113701c891425d3bd2d7425f4 +CT = 7744d49a48e87da2c32063a0f2 +Tag = 690dc2c2 + +Count = 3 +Key = bf4555c9fdd9f0b36a549541763fe07a +IV = 19 +PT = 022403c06d1f35cdb050e3c9c8 +AAD = 45ea94196be8d20bbe263ec2af1ae9f7dcc79173 +CT = 9d0c2f1373371dca72f8380f66 +Tag = 86230ea7 + +Count = 4 +Key = f20cf8963309b0bd2967fe119007f531 +IV = 93 +PT = 6bb5df56b6f4ff05f47348c28c +AAD = 2b6c07d65ec5c6930b2d5f647269503746ed2655 +CT = 1119729948ef71f65bd76369ee +Tag = e6fe4e92 + +Count = 5 +Key = 86a2016d6eb95b0f09f0cd6d4bfc7f3e +IV = 90 +PT = 695eb50c1bc3ebfc75da362887 +AAD = 5eb560cddaa7c0bc22ec427e3e0fb3d68d3d8f44 +CT = 907a42975640610f05677be717 +Tag = 70b0d276 + +Count = 6 +Key = 080d1f3444699f2bc5650eee2ccf330b +IV = 96 +PT = 001a640f39b0c435bf7746f290 +AAD = 37dd53740a2396a28cdb7a211885f75a20730b44 +CT = 90d0286624ca9d0341c3711368 +Tag = de0b1675 + +Count = 7 +Key = 174e73258f6dac24baed3ea9efd22f3c +IV = 35 +PT = 2109845797da34bf911452cec6 +AAD = 2b5a2cd6e9d3e5726e639489ae2186bcafc89fbb +CT = 4e11c126b839ea9c0993b8996b +Tag = 9a7f52ab + +Count = 8 +Key = 10577048ed7d21fd335d79bdf3840e5a +IV = 8e +PT = bc6d8d342bb9d887e2011bf55c +AAD = 3351be9632484e472c25a23b02377c9bd27ace5a +CT = 776335eefeca3ee6b0a0c1ade7 +Tag = c327da9a + +Count = 9 +Key = 41890a38be8fab6c7d3162fef978d857 +IV = 75 +PT = 7157dcbc0628cfe6fae876fd7d +AAD = 2382813ecfe5c03017f08928f459e771342ee8de +CT = 8c8e3a84be0abc2adfd4c64846 +Tag = d1844ab0 + +Count = 10 +Key = 06d3cef52e56b1252d99059f44ad8abc +IV = 32 +PT = 1bd201c7a882c1977ac19a8d9f +AAD = b1982846b731cca164ad26f5584cc010432ec5e0 +CT = 653673952f333d9aad2fd1d215 +Tag = f443aac7 + +Count = 11 +Key = 8ba270c20509d316591b96b991b205e1 +IV = 71 +PT = 7f041a3e7d7818033f9a84ecce +AAD = 3d7f26095b1db93edf36ee3a8048d9527b739468 +CT = b9f3cb1b5ca930389168e59076 +Tag = c0df08ff + +Count = 12 +Key = 0d270e68f73597ec489d65c39f54b841 +IV = 70 +PT = 822e1c6562cbe810f06a8ac1e3 +AAD = 7f19faaba364d6190c4f78eb39bae59255c602cf +CT = 78e188383a4f7fe9cfd33fbc8a +Tag = de9414df + +Count = 13 +Key = 9f716d7a40d9707b7927ce4654a31938 +IV = 05 +PT = 33994109d58f203ecff57b881f +AAD = 38850e28d495b20e8ad9ff8356e8042a5e8c243f +CT = 9e13e9d12b2ec1ee2c60503b8b +Tag = 247e2e9f + +Count = 14 +Key = 9271d27d0c91697e9aec9e3701ad17a2 +IV = 1c +PT = 84eb8533c594ca255d963bda80 +AAD = 487837af94a2697fe4cb428386e4fc88a83846c2 +CT = 9c0de94ae30d1dfe36e2d281c0 +Tag = 9c1ef4c0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 8524ebe1ef4aa9aa8c51a1dfdea5b028 +IV = ba +PT = cf638c6f90bea30f6b7e7d6f96 +AAD = babb862a2ea791978e48398f4a373cd8f32da709859587bc4953c0b2f993f23793ae569db39faae5c4e7380c1c646243 +CT = 420d6da6aa35984eb929b89a76 +Tag = e7d5155703bc275faad08018927945a5 + +Count = 1 +Key = 71403b1e9c0cbb611961b44005fab9d5 +IV = 83 +PT = c6935b7542150c71ddec4fefc5 +AAD = 4fb4460a56177a78fcf29d0c54505c2874bac15a27ae8090bb2a5d1debfaa78a149d533597f47309b005c961161c1871 +CT = 90884c8d0e3b3fcea15ad8d761 +Tag = dea368c587de601d5fe4b5c291b8be33 + +Count = 2 +Key = 838073bdb503dcbaec2fb0eff6d07bf7 +IV = e4 +PT = 3519cdce14ffd66c12712ca950 +AAD = afc55d530b80e786ed3afdecbf4ba0fa16ac039e4d3375a662d1e0f013496be31ed3abe5933152cf070736f7821076e2 +CT = 3a7d63563007cc66ca3f6fc43e +Tag = 90a38505e2f8a168c4fd6066dcb4117c + +Count = 3 +Key = e50682bd8c5e7efbd40f537096111831 +IV = 54 +PT = 9da75348c169d9afa64a118b93 +AAD = aad6c102c79d22d085d05c106e1a6c65a20c9d531491efbde01a4c79ab1514483c9153ce7e75b49c211ead8273d31238 +CT = 31d1662f74f5284d0243ccd1ed +Tag = b49252941029f9956d4be60f3e25e772 + +Count = 4 +Key = 2bbb6f5e928d82f6bff53801b40f1540 +IV = 1b +PT = d9b4143799a7f471bb5738fb44 +AAD = 04a31342c5d000d9d566c0809acdc0af37ce60f1fc5395bc3d7a314dc8a17e7529bb91c40f6ec2691fcc45ae9a30c688 +CT = 9c74c113e4ca9e7a6c208196ce +Tag = 46b54ac6b0d1538baeb00640d2ef245d + +Count = 5 +Key = 47475afdca20459985148091b13a9872 +IV = aa +PT = 63c9ac921d3f52806c021ba8f7 +AAD = 909e93e108071968a77ec3608ebaff4d758d5ad6de5a55c35e4d33252a583c33335460b48925f62d1d250f05ed680b5a +CT = 3eb52e40fad0d5023b2b16c31b +Tag = b13d24f76da67b0167f2c74b741ffe4f + +Count = 6 +Key = 6971dc07b71d0857b11eaa541a7ef9bb +IV = 34 +PT = 7a6633ea0a3e3e928e2a49ef78 +AAD = b5cc2d54aae59058d1c7d9a15078b210aa1a5004b744fe92b76d3a468e744d8ef2a091919a5c6cb88c4b9934b184550a +CT = cd7ca9b8a6a41141afbb41ff3c +Tag = c4f44e6ea7170584d29819ea0c4495cf + +Count = 7 +Key = 1bc5e7bb5e153d832b69ca0f4d92cfb3 +IV = 43 +PT = ec0864cdf97b898d1fea5486c8 +AAD = 265693f080343a7489022dc2c66b83b8104e9e62d77c5baa1374aade0086fb030e4a3f83050d293d975bca10617560de +CT = d888ad5bccdd50fe34cf51baa8 +Tag = 0db6aa4a37fa64b7957b59047f0a904a + +Count = 8 +Key = cef6618d5a7ad888814fb1ef49e65492 +IV = 85 +PT = c066ff8cd54e2fe2ab6bfa7e36 +AAD = 80d56beb46ebe9d2f3939e5ab39fc97567160616723feffad0c6f59d52e09723f23334ce6dd988decddfe2c0ed694923 +CT = 1d7b1991ccf1cd23a6751a7ac8 +Tag = ea76a54a8d1d7a1f6121314ffb6ea8f7 + +Count = 9 +Key = 789793fcb2c8bc6c902e97c9c5450046 +IV = ed +PT = 68a4300d91a3c06abe08ee643f +AAD = 98c1d04cc56ffa95d6b708ecfec8f5c761354626984e4245832d6c0498323221ed834d13102d0efb18c665dff486ae26 +CT = 5b37d48331d9bb68d025684983 +Tag = b2645816934e4873da44c7566db6dd98 + +Count = 10 +Key = 80054cb0bcf4d4d507277178e4cedc9a +IV = 1b +PT = c4769a85a30d04d52b81fe278b +AAD = 5cea3692f8a41eba8375e56bd527d4fb76a73798ea42b184e41a588776383321f846890bf637219251d445b2e8831ee6 +CT = 7852f061e49e3398cc2be5730d +Tag = 6b0ab3a988563854adb16d3bdf96b753 + +Count = 11 +Key = b24d4d3cf572512b67bc949b08e34ce8 +IV = f2 +PT = 5a0682de68b017c35a2ac8abb9 +AAD = 6cb768cc0cb61fb168bf071dee6a896fa536c6eefdcad4d0fc2e213280cb6be025331a888bda70d189788a2c1c7718b4 +CT = 0aa207c14a9864f4c5a5ce8f18 +Tag = ad19eebd61635b2874bf0b36aa4a0ec5 + +Count = 12 +Key = 940f52461ece018c6aa68b0f4ad8f435 +IV = 23 +PT = da7c549f3c715df4035d3207c6 +AAD = 07e469a4ffcd15e1f41213a686b7e3435c86fb0a866643e43ad7ad9ed3710e13f8b166e912e531727f15987a52e05dc9 +CT = 1474f47e538d2119a3369ff7fb +Tag = c0ada58828e98c63417d728f1ea5687f + +Count = 13 +Key = a3fd5d1f614d84933b76258190b7a42a +IV = 70 +PT = 68421313b3037a9e391ccc7224 +AAD = 1dfa90d68cc0164163d2cecb385879069c4a2062b4d753140c3a89f61af7c22ca741f5ef589e37d06a12f0b852457b89 +CT = 89db4d305308b3dac2e0f0a180 +Tag = f22226f8d199f14da8c8d8af77589717 + +Count = 14 +Key = a29054d33f7605b9085f5e13714ea67c +IV = 94 +PT = 7ade71439a389caa6ca29a0fea +AAD = 059d3d9056bc3534c6167a537d5e649aef02761c1428d4d84a355bf4adfae0900b5f68275e79f34546dfe2d93bd04565 +CT = 495b6782dceb7ed385a5d81985 +Tag = 8befaf90644b45bb07e700df0952c20c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 47c36d59111195d8b2c71c1eab436862 +IV = 6b +PT = ac72faf7732304bd5d62509eda +AAD = 071c6f047f2513de6f1164bafad2687b9711b4b9eead94e6e9bfd6b730adb035ec8c54689f8616ec5924948f58e58b17 +CT = c3c3ae8699a5303f8be0237f79 +Tag = d00f04d56258d927705199575fa66c + +Count = 1 +Key = dc68e67bdb2032d45b9fbba601e75d91 +IV = a2 +PT = 02f22592cb09d400741a50c6a5 +AAD = cd724bf028e281ebbfd00e8532ec25ec4b4a1952119cfd5442d15528ae590073d4300e1f164e3db866658b35ded57f49 +CT = 8b9ce40719389ddfab88f5e84c +Tag = f964240b3efd6ad48deadf0b1c2045 + +Count = 2 +Key = 7cb376093f7c3cd82af292e7f07eaf36 +IV = c0 +PT = ef29a1cf26b1d9c8d93fcce6a7 +AAD = b189038477e3c1c5ae3983fe5cdbf579213972ec37ef73b5ef5f86ade9bca30592ec2cf5d020371be55cb27b83f1bc62 +CT = 661064697017a88de97ba57b5f +Tag = aa1e5b5d6a4e1753d1083644d3bef9 + +Count = 3 +Key = 9730c2eaec375a5b420034793cdb3c3e +IV = 44 +PT = 552eb0c1a33ff7a27ef484ef7f +AAD = faf095b986ca607436a44e494f1e5b47c58681e6c41e27d8e7584149a667dc01bdd191a6e3c704465babd6cde72a9488 +CT = 31a8b809499195b30f29b2b5d7 +Tag = f08f594c2e608eb055dcef48c83c69 + +Count = 4 +Key = adaecab8ce5beaf7868ad94fe8dba7dd +IV = e5 +PT = ed1b6adf44a433da6c59fe1ce0 +AAD = 89ba41b632b233101000e3904779545a46cb06950597c2126d8493bcc58b409af05dd31fedf74f5c1e6e99692ad3b4fa +CT = 71cd038cb633d4e3f22252221f +Tag = 67188aef319d4260c16b0e0c79673d + +Count = 5 +Key = 6f07f389184a2cf357d88088ae98198e +IV = bd +PT = 2db20b3c603fa612930e6d4a7f +AAD = 2c19a9bfaa33cad8489bcbb7ecce9fae241a364de14626755d66479cf03c39c99bd707cc61202c8c246a45dacc7c29fd +CT = 92f902123630f48dcbf17c6f74 +Tag = 1503fe4bcc0e5572382ab476a1d9ba + +Count = 6 +Key = c4558ac1e0a77f1b3b24e4d46a63c99a +IV = 39 +PT = 45c167f43ac5aaecff48a04d9d +AAD = 95637d4769ba3c37425fa3c8e68a724d615694430921a30a420d4418066124d57e8fd01935d9b82f3489f013643a90f1 +CT = 293786b9f8499bc53afc987739 +Tag = 8aa3aa9c37e690f4f92571f6fdc674 + +Count = 7 +Key = 818d6796c108d797b08ad90c43b9409b +IV = 7c +PT = 24e59f13f50f70d94e7dc9e9de +AAD = ee3fde6a8cc95240b5d7ce19f3656d694ea94a6fc704daad0777c44aaeb670041b79202e790fdaa9579a3a94987da591 +CT = db4b122e10b1a5eaa0c9ab384f +Tag = 09e7206be939a3de8fbcfb7261ce61 + +Count = 8 +Key = 8b4012daec19b7431dd90e433a78d087 +IV = bb +PT = 9737a314284bfc627ad8b55aa1 +AAD = 152df122ed388f71001f00ab01552315d8c444f21c1eebef37ea3f6bc9ed9beeb405986b167e0d1c63dbd77aca46989e +CT = 671d935764cd2af2345fb801d8 +Tag = 64b1cee4977744221e13d5cb38619e + +Count = 9 +Key = 635bced1eb0c99949f81e944d8a7334c +IV = 2c +PT = 4228ad75c0bf994fe2f2d511c7 +AAD = 618812075e331c2d35c4b2f8659e100664c49c5e4121fab629859565aac872d1a5ec65db81a802814e05acf97f98b42f +CT = b8befcaaa2f4a2dbb6bc4bef8e +Tag = a19bc97110146c2eafa74a2397ebb7 + +Count = 10 +Key = 29a99e6470ed5cdf2f314d208a99a089 +IV = f7 +PT = 4fd531039adad5ae5e060bac08 +AAD = cd8e53203d0d3e96441356e3bf463af6d4e58fc471dec4c1b3fa7247e6c6a1e1d63fcbe179ecc20291ccfd7242883447 +CT = 1c924cb70854e66015718daf1c +Tag = 3cc0395a9b488c65bd5d18c310af1e + +Count = 11 +Key = d803ef5a57adcf31ed14e92595d25d2d +IV = be +PT = c000dceae4fed92be8012a6f06 +AAD = d627b40129457dfce814da124f4880f6707dd51e0389d663dae53e48c16cf187fa34c817ec04871bfd9c529b5db3b0a6 +CT = cc995bc365f787b0a20ed1ebab +Tag = 1a6f09acec0f103d6210e3395fa2f6 + +Count = 12 +Key = c30d2db019a67c1b50c4d9eca7fbe352 +IV = b5 +PT = eb0a9bf1b4a7a3f147ee31092a +AAD = 78e2525c307ebf274a0f0294d68781ac6c70f91c7f2b5b910f49832a677c42f89536e7d0a0e80d8a4ad264a3aa53faed +CT = a6a16835537573eb969310bc07 +Tag = 94319b52ff4117c199174d7a04bd6f + +Count = 13 +Key = 9ed7ddad1a57fd64fe2c394394ba026f +IV = 7f +PT = 00a947ec67dd095d9451a77bb9 +AAD = 16d1f745b17507bd35a8508a5e83ca0be0bc1d56143a1c8a2fb1f35f0a25ef25d80a9d2a5c1d6339a106ad19c8057654 +CT = 10a20ee9c53920277b231a66f3 +Tag = 71b839aa84c0b7122a37513637b3df + +Count = 14 +Key = c59b82174945544cb7deb2b40da3efd2 +IV = d5 +PT = 637049bab581576d565494bf2d +AAD = b3f8c2f856f93e8a86eb8eac713a9b4105df4af79ce9783893631d8ae7633bdd0c002a2d12db3db7364f722a501a076e +CT = d709680e50432a1259e569cd2a +Tag = f0c8b856722e3f2de03af5fe0beff4 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = f1baf0b2e6d1edeec007dcdaeea46a4a +IV = fa +PT = 72d69d2586e09bdd87af97cdad +AAD = e65a614557b40609b149f1645e1d15b72de7742520827abc585c73224dc2ddf800f37b0f76874968e9cb28da7ada3c65 +CT = 9597d24732baa0971f8129e5c8 +Tag = db3a55597b5c9a7eb320ac9edac7 + +Count = 1 +Key = b03b280095d59d03da5ef54c387506bc +IV = 65 +PT = 211c7868b049f422369ab8a04a +AAD = 2d019f255b4ef7aa27ed73feede52bcee0d3f69e548cdc63108dbc67b39533de00df988cf6f948cb0b4b6dc8c64bdd49 +CT = 5bab5c836051e56b918dd0958e +Tag = e25f13768329d8f2f0a40ca5ca03 + +Count = 2 +Key = 7b32d5e72eb5cb2622f4ea2598f95e34 +IV = 75 +PT = 94c0acc67c4eb5f2e0e023ad5f +AAD = 76ff85470bc2955d289ef90b61598f775c65044e657ccc735e7e278bace56929acbef280ace7db089007b56f323e9a1c +CT = bb9456fd659b4def0e048d06b2 +Tag = 9f3f3a4f129ec64a63c7051351de + +Count = 3 +Key = cebb0c72c218a2844c6933ed17d7cd4a +IV = fd +PT = 176317efc9c0b084ff920c0ec1 +AAD = 83775b9c9e17577724654b1bc97a424a827491c1022c6edc1e38d1c8399c42f03270af0511e9c2c100dde7a62c5a4508 +CT = fa099b08a9267d11f60ac3d9a1 +Tag = bd424911a2a7a91353b4f208ae6c + +Count = 4 +Key = 871bedca29e42cf3aa53411fd34c5d4f +IV = 7c +PT = 4de051cb18767e1d8ca006fda6 +AAD = 8d7c4bb5eada007fe3a9d9e31a91a2df1d14bbb17cc9513da0bb572483d3cd575c1ed677dca10c2e0c0d7e9559342a85 +CT = 4929c4576142096bc3383199b3 +Tag = 7aeaa862e1a9ff28c10986002efe + +Count = 5 +Key = 161e469c68735ffa4b50abbfc11601d0 +IV = f5 +PT = 5b47a126dcdee297cbc3b40cbe +AAD = 137379eb1387ec8f50a5f0ae512098ff9365e675a2264142d6f6efcbef1c948f00f53d9f79b0f271d8e2870a9490f08b +CT = 9ba7281d3e7fac4f90888f664b +Tag = b62b9ceb07c9a145839ca6bccdfb + +Count = 6 +Key = 7e5e7a97a938d740d4db13f204b0aa93 +IV = 60 +PT = 5a79d3d45a5af0cf75e916b55f +AAD = 5e9118ea4ad489457c8d22f1ba3bc7a75a99059fd1b0ff8c49d6dbc678605ef31d4cde562a11bc2231b9e1ff02330cab +CT = 555ec1682524b8217ff41d24ea +Tag = 21bc2f04c2d2aa5cdf60d3f90c16 + +Count = 7 +Key = f0cfa9c593ac7773d9f893afe015e034 +IV = c1 +PT = b04f1960a1bb78ad61c581ee06 +AAD = ccefc70724632ec12fe1c41464af1fb4b3a35ba648ee990e25385359494ccf31aa2f2170012c31696368077bb617112d +CT = d0850ff4ae98207bbc8121bd0a +Tag = 588a738872f24a2f6911f1f0d88d + +Count = 8 +Key = f836f7ceab4428294e428926398cff75 +IV = b4 +PT = 699d386877e0fe5ca5299d6670 +AAD = 321b8b63b956ad103ec58d29d16b649a65a249dffd012c8ad2affb97ec9897fcfa89b114d674db8bc0d1ace2cc077bec +CT = 4261fe6e7d56ea7c0b7ed09eec +Tag = cf7c45545ed62f6c6aeb84bbb39e + +Count = 9 +Key = 352d3a7363644b3f756779d60a136f94 +IV = 9d +PT = cbcd348b7002fb6c885c0a6c10 +AAD = 0ef24b4c6c44c8002d4733303dd310169a037ffe4905fd1499e6e8d9848a8e08d9286216dbeae787975f17c22f394f09 +CT = a5670a8b5ddaee642366da9b6a +Tag = 97c5d166b984abb0821debf8a34b + +Count = 10 +Key = 7955d84bb64b76094dd679477a2d4f9c +IV = c8 +PT = 3761022a44f8868bde49e0f15d +AAD = bb005274ac28b9fcdd1c5e23b5e2911b2b4c684563d33e777873d004e90c06a134fbfd1bd7b2422690a1ce991bb47f6c +CT = 4e6f8b1fd58e23716d87277953 +Tag = 7665771c9e6bccdb7330f7af4a14 + +Count = 11 +Key = d0ac2892fbbbfe20483c963517fca32d +IV = 66 +PT = 72a8cb2f0e0c5b530826b80298 +AAD = eec46d27a07ebfa57a8a898ee8baed2e4fb7efaa3c2ef7aff45a9452528b44268890e3759a444baf2e5e9ebe467ca73e +CT = 10e2557bcadb42928b40204104 +Tag = 6ff153823beff16fc4b8a93c7877 + +Count = 12 +Key = 282cec13e327f7de1301e9c29c048a12 +IV = 1b +PT = 8dd0adb51c65e85b1628fa4b14 +AAD = 539b7096b12638716e4a335ffd264e31cb9cd0b6bd5cfc56801d709ef9eb279a78c862a573a3a1924173c437a1f0068c +CT = 8ff1a60ed1b221836e6f23a1e9 +Tag = 278fb3b8fe4ce5791b1cc5b5d8ed + +Count = 13 +Key = fc3b2aeb5667084d84a9616cb85a888e +IV = 74 +PT = d7ced0b0fdb286e899756cda63 +AAD = f53a9dbf909ea361a1e1b433d3d3c9dd7e71c965e451884ce61d60bab5f816abbc449bceda3343556155b73cc26279a1 +CT = 74f0799b8a2b1eea3c8915dbb0 +Tag = 362a3ac6fb8b94e58a89f7e31128 + +Count = 14 +Key = 942817e76df7efeab2d1d25fccc5778e +IV = 03 +PT = 097771885da8fb9dc3ad85da8b +AAD = 2b78112ffd49daf85ca6a90526b6464211bc74b1d7a6255286f3cd1496ff3e510d9226fcf5882d22011237cb5020b561 +CT = ddd8838cc548b8ea48355bc393 +Tag = 2edf2393a29ddf63fecdec6641a0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 6f48b688bdd1d73496b22fbce18cab33 +IV = 4b +PT = 1fa56bcbbec8f3c4c00c6494f5 +AAD = 36eac032deb78292ee7c6e279b1ee4c53a93844bda41a1183734689be640fbc2cd4954cc020cbb004e91b5ab891f20fc +CT = 74fb7fda4b84980fcf5ae646a0 +Tag = 56cb2d01fdb70e97b43e9e4a28 + +Count = 1 +Key = e93c757442f2cc3188b48b34d67095a6 +IV = 93 +PT = 3a9ae65e920770166b9bd3bf57 +AAD = 6bb685f1ea6163256ffb2c74b93965ab0163666aa9d1b16ac8a5fba3c3da98f1b0a611e35573e30a84143e4f8629c241 +CT = cd5b02fdbff2db2b904e6eafea +Tag = 6a017a9d80a81439cd83537de5 + +Count = 2 +Key = d20da63801f980cf87dea6403c19a398 +IV = 90 +PT = e92f7096b11d7c826acee0e1f3 +AAD = bd12cca2e947f3f8d5e0ee9c22fbf204f7452ad94c191da2401560fc4168eae1253f804a282f84a13f4aec00230fe7d9 +CT = 91b1b8ca6fb8d3621220252b11 +Tag = 5428ad02755fbbe292786311d2 + +Count = 3 +Key = 91ead2cd37b2cdb1b6bbe47721070eb3 +IV = ec +PT = 0f29019218757628a3203e7ece +AAD = aa8069a4e017a12401796bdb07dd309ab95766ab9b5bb496c4e5c23d759e3755f34fe06dc79311c51805da9c91971803 +CT = f2c9fd62077b93249cf97459cc +Tag = a4ff73cf484c4e6560131fba6c + +Count = 4 +Key = 8949648da73d0f92fc332588e1e16e1c +IV = d9 +PT = 3baba2a3738e28316a89fa0cc5 +AAD = 8e66ae08694131616ad49626a40075986cf97afef23d6ebcd2d41e4e18bc4b6f76a2d81227952f063acaf1be974c99f6 +CT = 28d32c8be24b436328d68578f5 +Tag = 269229e9fae5894f659e5b7b5d + +Count = 5 +Key = 656b70893bf1f40c7c4ad176a51b51d0 +IV = f5 +PT = 4e9bc27535b08a34c4aa1e4dc9 +AAD = ba578417bc0b5c9dc2b3924e4b2b2960d6aa3dcdf12673d6efbebab3021853a029d32bc67af26bb40732ad4417f5e8a5 +CT = 48f6cbc7c85c5bebf7a325ee8c +Tag = 39ecf7177ec638e604532c668a + +Count = 6 +Key = 666a2c05827be189d6e4b9e6344828fc +IV = e2 +PT = 54e0136236414c63504d8d8bc6 +AAD = 6b6d59838e2fe6b853be5ed2816dae6391459932b4245927c2227490562ef45de81202bd15b7eda1767366a416ae8b86 +CT = 0a76c68549fd4e578d67f1b99c +Tag = f08f6acc844fe546d427bb9b58 + +Count = 7 +Key = 62af944670ea692dc8afe3d65b412ae6 +IV = 23 +PT = af7ee077de870a162510944876 +AAD = cee58a2cd2646c73e2e2857c2b27fd2f5d72bf52580ae4b66bc9e912c9d926eadffd2fea2334593188b8b555c54a7689 +CT = edd7cab52b8eb9d943a5749b43 +Tag = a619b483abff30dc1c491517be + +Count = 8 +Key = 53aefc2e60858eb3d0b9df111cd5c357 +IV = b1 +PT = 1fec4deb8fdf19864f97384859 +AAD = 574e026d9406ab00767e626f8aa8e1ed4e4e094c403c5b9eb98f68a113e48981d09c27da91e64e878ccd84af7e4f1d07 +CT = ce365368cbff2c473321ece5e1 +Tag = be6e46ce63db404456aa952a7d + +Count = 9 +Key = c4b9a1007a70426b34b4148d58c05ab9 +IV = 72 +PT = a02128cf0bf3ca8734f662d0d4 +AAD = e80c0ed302e37188d029aaa8b82f3a5665a97048a79cc4d9f22faf2ac23d872791c034d9daa1121dc665957103831d42 +CT = df4eaf791a6e3c56acbdea30f3 +Tag = 94fde97196002aa183b8422107 + +Count = 10 +Key = f975d893a86dc9798fa95871d2bae270 +IV = 03 +PT = 5052ea3f49009236b26fe8596f +AAD = dbda982b5d6bfd4dd42140c3e153e0b56ec52b1aa4f284617ae9e3ec15c01cc54906d99396537aa24a953111e3461238 +CT = 1837e4a9fca8decc0a1e86da00 +Tag = ff8bbaf04248409d1d3b28fa28 + +Count = 11 +Key = e98be66c212d8aef42b90e5b8f754909 +IV = 9e +PT = c19a9efbbda3672da0bdfbbaf1 +AAD = 8e4d7de16dfbd504c365d4a5af72b8c7ac101d546a6664329c7f0fd04fa5813eb5d8f2aa1951878132a94a3b2a0876b8 +CT = b23b9addd8e740df7f948072a9 +Tag = b5d675c45c4449c423385b97dc + +Count = 12 +Key = 6376f302b9f97a71f0cbf7eaa7d8773c +IV = f2 +PT = 72b4b72ed28f1cbae24199180d +AAD = b4b65bbf011c4dd2a801f52fbc4a49756f3cd2266c891705c6d7c734dfb344ffbaf43014be9de71b11af28f88fca0543 +CT = 8d733fc7031602f9434a0c4af9 +Tag = 89f0ca72709a28a55a051f554f + +Count = 13 +Key = c644ddae893a12b4973babcae240a7b8 +IV = 06 +PT = e998c25e5ea0a6923c04ba7df5 +AAD = 8accefeae35c140775b644d1571dab1c3122f862adbba967638c4a5eecc447c88cf88667ec8bbfc596475275465fbe83 +CT = 1d4d1db1009371ee9e744ccbff +Tag = 4d9cbe5ef05ca605e949d36f91 + +Count = 14 +Key = 7e90bff6100b353b12e1614d75a3e099 +IV = 75 +PT = 1852efd3b3062233b464804bc5 +AAD = 5418c366fd25d37e32647dce75813fd4f8b12fc9c84e23d2d53a964b40794003c6cab478047cad9f09001170a383632d +CT = 433bfb362ce5c861691e03f818 +Tag = 5969b781d5358a72b190bddcbb + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = f081ef4ca1a2700a212ec29fa5f8e9be +IV = a0 +PT = 16a40766c41deca07e7dae5b7e +AAD = acbfde0cd541bbb0a95876ded3aa64afb969615f7fcd8ff681d88f32f30775e05bfb5c2b3ce270054e808bd9c11a049f +CT = 42f343b6e1f821b0a6a7378468 +Tag = 3713b1360fa2a60818c7e23d + +Count = 1 +Key = 63883a89bf7695aabb533772c04d66ca +IV = db +PT = b0e87c11c81889c3c84c89e59c +AAD = 2b53a3d83b5b54e60254a4115f80be7ed83cc84965e3e6e993307f29b3b85ef4d04ef1bb69ea3afa83fc076d6328e683 +CT = 53c3734eaf2fc77f20e6d20f92 +Tag = 0898ef6eac4ca9146c9955aa + +Count = 2 +Key = 5c55df78ba5a1df01827d0d32dc1f381 +IV = df +PT = 8544149b92152d5812f6b58f3b +AAD = ce8e8c71947f3e093b7519647e1fed9b1e2da326b99fcc322352e91fbb35cf189c88c3f04ea67feeceeb1c16b8ffbba2 +CT = 9303c233e04a6fc365315ebc81 +Tag = e0587fc4a8ea2630219f426d + +Count = 3 +Key = 472013526e185bc68797f2a7da06382c +IV = d7 +PT = 7ad7e443315e26e34a7d267e99 +AAD = 32b22216010e1c537c114a75d4229dad309ef1869bcf8b8f7746e3cf0df35c9b1b2156017c15e6844e4140b9d8a7e6fa +CT = 76977e0b5d6bba097f1b2f6576 +Tag = edd6a2a3a91ebf486ec51678 + +Count = 4 +Key = a0d9aea6d4cb42b18d5502aabbff2bf3 +IV = de +PT = cf7d38614327f675e8af8cc078 +AAD = ecbd4d61e56110b093ec6bf989a9ae2ae5421d052366d90b6f0499c72097f1869698393bc43a859297e26c2c0892cf1d +CT = 99df85c517afb03669ddb24418 +Tag = 1c55d5b6f1c37aae40e6a9ab + +Count = 5 +Key = 121761e011f9dc131dc63898e549af76 +IV = ec +PT = 16890e00306e3c04b475df68e3 +AAD = 8ee9d86e1319e58a749507bf9537de4edd61cb2b4c929bbf9ce8818b48b75b1880858bc5c3672330ce5f08d62d2b85fb +CT = b86f6f48c33a9fb5a391feb5c6 +Tag = 8b4a2703ad511b349d39f4f9 + +Count = 6 +Key = 0ece143f5dd7f9f20bd3d05a6b5c2c39 +IV = e9 +PT = 354c5aedeb42ba5cd6a2f54d52 +AAD = 690b86f668a4a5285ae44f8042b0e13d82886397245e8c689b41d7212981eb9ca2b2a8aef8a9131ce7f5a9b4d1ebaba4 +CT = 9d549fd20ca641f099a7c8e54f +Tag = 08bdc29df30c4897569d0a49 + +Count = 7 +Key = c2630f42676cffd200eb8ce189d0d316 +IV = 77 +PT = c0ff45050ac01de243f1e5e283 +AAD = fa341fdca558edaf6e19bd7d38e24d933eceb664830d1a32873642d07ad3c42efb720702c6ab62bc57c8a955c0cfb330 +CT = c27cb9ec960652417a14eeb9a5 +Tag = 12cd6dc720eabfae65baa0e6 + +Count = 8 +Key = cd06c4015618eb76fed024d01882d26d +IV = e0 +PT = f140b18bee8cb21e498720c36e +AAD = 640018ffc68fc561bd5e9562ff7b1143916c58cfbf1717befb04c8b03338be63c568233f8f5d887aec545b033ddfaff5 +CT = 72fe4ce4ab51714910e9970116 +Tag = 334a3a672e3c206184a1ae5f + +Count = 9 +Key = 2c5454c7ccdaf506474f6a735cc8760c +IV = 17 +PT = 599ffb18fb7dca1c62efdebdf6 +AAD = e2f4b5b141ce5d8b6b44124fa2a06418611a7f3a0f7ec406006ef1740b8e3c6e258ee1243089d00575a4aacc6f2373c4 +CT = 22094e5ef018b35c2a54ff26fc +Tag = 5b3da9fb260a90f6b9e68cea + +Count = 10 +Key = 1be3f06934e69f35040e6b32011bbd7d +IV = 8c +PT = bd3158a4c6deb3883949e5a7af +AAD = 27e1f7438e74dec5cc6429b735f31e96c9321d812d7d4f64fde4a7020c579315a2e75dc1273e503af8f0684f18933ba4 +CT = 49c0d1b3dec5cc4eb1dee612eb +Tag = 35dd06dd11714c9ac4ab002a + +Count = 11 +Key = b743b5ce368382eae1a0fa48f03f7dd1 +IV = cc +PT = 37db5b08e0a215742d43475adb +AAD = 99dc2ddb590699536cf826a55f3dcc1e8099049b3a2afb9207ab8b97b27cae46eb5c8e35649ffa3f950742a261059b05 +CT = 388e0515760435891a15171b30 +Tag = d8cbc2c9a15afb4c30e7e226 + +Count = 12 +Key = 23ff4acaea133f64d2d13fefeadbc00c +IV = f8 +PT = e71338d37814204b812d2afdd1 +AAD = e557a9e6125865087a0bbfb83f01dcbb8938e68883b971b1a79b179e903603e0bb85152d116cb4aec45c397262950f8b +CT = ffbb2809f729a9dfd6637bbc97 +Tag = ee6137f312de7f9134c4ee3d + +Count = 13 +Key = 00159c71f29a74e1afe64feab009699b +IV = ba +PT = e8b09ac02c223b85011229d942 +AAD = 93ce9e1b65f3e762f9e0a5bc3d6315ca1cf7ea7506bf6ae130be44003365a59d2877d8134c798905290bc396b404f96d +CT = b012cd0d041d84e3b33cd3f5fb +Tag = 20c41fbd4378aa6b58f04ffe + +Count = 14 +Key = 2aa55c1189aca910885948f35e6b3006 +IV = 98 +PT = 7edd09583ab368440d5de46ae8 +AAD = d09afbd27aa7035407be3615eb791858b3497a1289e0731f7d2e809b745299bf94d00f884b1816b38b4eb4e254cd5d12 +CT = 1a96ae77093a5d2e2bd5368f43 +Tag = 53a24b26b822c9fa4c7c7564 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 948eedd0b05fa6f03a9051ed9ca020e5 +IV = ca +PT = bcc498bdfc786800bc1ff153e7 +AAD = 6e436dbf39b82a417c919619089d438496dd4abad63949a625e9fc40ee90bd43adbf64caed03ef7662113cb015593f64 +CT = a8efd3a6606a4407f5d50c5950 +Tag = 430e436b23ad2def + +Count = 1 +Key = 4eb227d88ac4230f4f73251aebacdd29 +IV = 9a +PT = 21d900fbc2bcc68069e47243e3 +AAD = ea90203700d93fec7219bdf3a6715feae4b67cda95e49a9825260a4df68fda4e199e211320c6d5d44088b7c402168f67 +CT = be740a39772a7a39d472c4f282 +Tag = f8dc7f48ddc60e03 + +Count = 2 +Key = fc5a453f35c6a71c999463a988cc48bf +IV = 8b +PT = 9131c3251ae7eef955fcbff713 +AAD = 513f3467293fa1999119888ff2251c0c447d2580f96ad4a9a7d901a35be4263bf3ce11a47d804deaedc6c73ed5a8d2cb +CT = 609b8e605a364d5207f6549626 +Tag = 811af4b874858712 + +Count = 3 +Key = fb7a9c7892dc65b6ab547451eccc33f8 +IV = ae +PT = 3bf3170051b7d8fbf1ae96318f +AAD = 175ab97699cd9acce7da79a954d55f05c5a947480fdeb2d7a1ac36b2d7aa7063ab0f4863ab707089e3a79b35dd69a680 +CT = 0d0e8f502d8dc10fffe81e2f40 +Tag = c63b7e5b432815fe + +Count = 4 +Key = 4857363cbb0542b4412db2ee2347996b +IV = 38 +PT = 5559c7fb75306cfbe6c092b805 +AAD = d60bc296f3abb5ea480e78c18944c7583f32f9e6d81dda96701f6aae607ba116a09a24878dce437fa3cb74eb72113f2f +CT = a7c1155b7d4ef68ad0013bb24d +Tag = d98c5c7d5a81b9bf + +Count = 5 +Key = 838121143688f72512d55d88ed3a3886 +IV = 4e +PT = 280e5720be1f827951e55b4767 +AAD = 73b99b4e6a08526526f873a4ae301395f1bd78a91afb94fea9efeff74edee7e0aea751803e06fcb71504fe82d144d9ff +CT = 337274382ce574a1b0867f369b +Tag = 3d765c4643447688 + +Count = 6 +Key = 707cf202bc87c59d9e739f9cac5b4585 +IV = 9b +PT = 80183a945ec22e21bb3d891e1f +AAD = 2c015cedad437cd5a1a957688dba8831c682ca273b31b851c722c3900da4cb2fc3f81fbca4753fbf81cc8639edfa1299 +CT = 8af373521c433535c9374a16c0 +Tag = 02d73e6920549b58 + +Count = 7 +Key = 4c009fc17f61a3cd53d90bbffad79688 +IV = 88 +PT = 900e5f5bfb9f41595cc70c1323 +AAD = ebccb150ad4f8bfc85a1ff65cb1c470adfe916b5594a947489d7c838ca0926feeb79476e93b4cd0a3be3e866d3cc34af +CT = 5655963957987952fef4d33a9c +Tag = cbdf9ee865cb0118 + +Count = 8 +Key = 2d054b539e5cb6e2a4b8d896bf6d27ea +IV = d0 +PT = 18114293f13b348136c42bc07c +AAD = d3e426e18caaa742c5c214baaa497acce47cb7b76f3f60a68d41a8ddd3427b5a66e5a7516606dc713dea62a8e5189f88 +CT = 4b1174a6e6656c0911c67c08a0 +Tag = d57b0293dd62631a + +Count = 9 +Key = d4f0df5de5b5d6839749bf46ca796c14 +IV = e3 +PT = 1d3b15ae50bf489a78013be2d6 +AAD = 1d849737aad278fadb7c3d0210c46d1a5af8c002a34397eb9771ff951bcc22a4ff96348babb6f996564dd6f6b661ceea +CT = 7745839e3540483f330c8c458c +Tag = 7acfa4b7e258fd8b + +Count = 10 +Key = 9de62c0603c724d8bf3922bcfdfdf873 +IV = e3 +PT = caba151678c230c6c8c489eb82 +AAD = 0b29ae18ec18f4364935df3fefa700ff6366ce8602e73316dcbb7edcd917aad3156ea1574aa9d773c61139c2c8436086 +CT = 8b0fb35521be555586db1d18b4 +Tag = f787ba83ef682f7c + +Count = 11 +Key = 566d74ee86a4861fe4136ebf3d447959 +IV = 14 +PT = 5ffe2ecf3567251cce810cb337 +AAD = 4992e3ac57d7bfb914d7de151a06cca0545efe360de78b4839a53e652b1f35e1e2f0b3803d6dde73ba01648eb5dd302e +CT = 98daf193a971d68dd9abf0c56b +Tag = e4f4238ff9b77b9c + +Count = 12 +Key = 8c734a57b01d4e72f8f5d67e89d7c18d +IV = ea +PT = 23c0b6aa1ec48914f280aef742 +AAD = 69bc5b8f5cec03cb5e2159fad1c672ea83a9013e4729dffcd0270b7a0d694af1e337740d606aa16ac174687e9edb8b9c +CT = 28f82fdcbeda2ca1eb7a067ded +Tag = bb763a7755b34b3d + +Count = 13 +Key = a080f3835c154ee55196fa91b878688f +IV = 8d +PT = fea27a2e06c236aff15c32dfcb +AAD = 62ad3d2b5909664817fcb0cb4f694d5d7c4cfb9e06d9761649d5799c96b7b2e0a5bfc912a0abe9924809369f32a9d3d8 +CT = 5da36f87f943cde3b469e7029c +Tag = 1ee403a9681aaa9f + +Count = 14 +Key = eee573a927c09a7f434a93483a01c2ef +IV = ca +PT = 1fe8a0d3ce9752f1284f335990 +AAD = ffa29bdeaa976f026d679207ce5fa38771eb4f7e0371f976e4ab8f9f8989a5e980bc36303bc8240d85df25d5a2808e7d +CT = 613a03ee22341bf881a2b7ac07 +Tag = 81ec6bb51f43667b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = dbd475bae8f412bc31c1b0588e2b1113 +IV = 34 +PT = dcca356d46d223c373e87c211f +AAD = 49c6e8caa53ea30cf3307a03d97d9c868dc06b3440767868216de83316ac3979542399e9e845a1df3d2c9577ccefabe0 +CT = 9ca5bbdfaf75bbc3f5e7d834c0 +Tag = b45ba239 + +Count = 1 +Key = 940f042aea30c62c7828da3f70569f02 +IV = a7 +PT = 42ba7ced4b7399bf7114db7157 +AAD = 5a29e57fce7ca7816bcc5e336bd8ca6377362faacd9688ec37f792708c33b6b6f302568d391605f2fb21bd21cd49506a +CT = 165cef9eb0343eba814fb28ad0 +Tag = aa6daf19 + +Count = 2 +Key = 91ca1c52b944995aeefd6584624ae502 +IV = 6d +PT = 27e86e2b47839488965cc518bb +AAD = eec4a540bd6f804b7e837c5f69950cefd47c1c31167a6aaec9907cdde558b967944e5e68dcac46315140eabc3bdc3d13 +CT = dd1051d8e6d46eee306b30582f +Tag = 3945e5ea + +Count = 3 +Key = 0c913c6066529e454b3acb8fd0460962 +IV = 6b +PT = 6bea8bfee9edba816fc0dd8661 +AAD = 474f0badf45eb567e1ba926910192a88e860c6ea45f1cad4cdadf42bf715d9f62185467955096ddbd9ac72c5e1cbcaf6 +CT = 810e1ba0f8f2abc1aca7503d72 +Tag = e8be8e80 + +Count = 4 +Key = 1dd3140fdbc43cd2c47eeb946e8a9b54 +IV = 59 +PT = dc879e269da47beaf370cfb5a0 +AAD = 276f4a7a6bcfb1728c6cf3ac037618ba494c93f242adb781c974606a4a66d28bbcc1af8ed4b465b2a6ac2e53a049c858 +CT = e782aeda98d446c162ebcfd820 +Tag = 03c11c17 + +Count = 5 +Key = cfd332bd60bcbda3125f411ae408746c +IV = 42 +PT = ae0cbf0efdc66105bf21071ad7 +AAD = a0b132fc1b6be05a9ff39540ef9c74211f7520a84fcbd3ededf4653787d0aaaaab074a83f583492e2cd159ced7e46904 +CT = 0ffcf02c2a53866d832add6f9e +Tag = eae23b1c + +Count = 6 +Key = 648baf56ae9c7ce28867de721314a8ea +IV = 79 +PT = 9f05dbbcd9480f94c6094a482f +AAD = d358a666c78f5c83dc68e205609c6a9a752484b91fe8ab7a3e67b5e0d1f6c7efe132025879e6300ec4aa41cdd30e0acc +CT = 89cfdd00bdbea9cc34d009cc83 +Tag = a88d2a40 + +Count = 7 +Key = 8cb0cb634142c0fc65ec41629f1d3b79 +IV = 42 +PT = 583c5322c96276223df9e5d56f +AAD = 8872d8594a4e5e7d88a59fec42a8150ab3a68e5bdd7ca689b268cb0fed1466f1723f2f8dd515607847d621dfac906ce0 +CT = 61e54d08cccfec677417e7db92 +Tag = 852b73d9 + +Count = 8 +Key = 498394637b056f835e04b83a683093bb +IV = 9c +PT = 2af172be3437bf9cfa4b02eda0 +AAD = 1fed368baa16e30043745d3aa1efff255569befcc662f695178870e079bf5fe319e930b3d21bb523c50588f7fc7e0f0d +CT = 7f22c8bf1032c4750ab258f826 +Tag = b24d33c5 + +Count = 9 +Key = 62ec40756de0ec80c25f006f1c08935c +IV = 1e +PT = a7a612ed3449d7ad9d0db90cf5 +AAD = 56cd8cc5a3b81bce31d6d728de0038438a8ce8066f99eebe6f67f110a2e14ed9918d96435259e790ef5877068d876801 +CT = a66e8673e7a7648a783b97e456 +Tag = 34b2a708 + +Count = 10 +Key = 141dd62bdc68851bfd414a9a595cac26 +IV = 8a +PT = 696a3eb56323ebd738b9f96ab6 +AAD = 1b35611fe844c93b298a77d8bd33218718c0dcbd895964470e15bd4196fdb22cc3ab0d44812eab5db864005418dbea3d +CT = f06e24bdaea37117732a77870a +Tag = 739ace37 + +Count = 11 +Key = baab403ecc3d4087dada1aec0694b121 +IV = f8 +PT = ac92a7ef5b96920c86567ff3c8 +AAD = 5a38bf327c1efac4933b4ba1b61b954252505360fe6a8256e64a9b7c8b373777139dd5f446a3d33ad7d89c8bbe1de461 +CT = 73e9b2fa9fb7883e6e92537a64 +Tag = 7daee411 + +Count = 12 +Key = a5862cf87b7f579a994e68381c7f15ea +IV = c0 +PT = d98ff3b9365d234ecded876e97 +AAD = efd9cb0bec6461bbf30489ffe6d0b83c7319e7aab87bd1f6baecba58a36b2739cf1e0c2f252efaa51d0356989992b14a +CT = 99545406bf1509237aa76d3220 +Tag = d0e49278 + +Count = 13 +Key = 579934488eb9a86d803cd4f4d1e1d254 +IV = cd +PT = 7627efb0c61dc2c9171699fcf1 +AAD = 1f38d85555d7c521e9a6c17f8e162caae97a5d73353a28277a047da3ac939f4d847bb382be276f14ffcf75c01c6d7290 +CT = 8982f69f13833eec1b9204e0ae +Tag = a6f92af6 + +Count = 14 +Key = c690662f6b165c2165ebeaaae227bb9b +IV = ad +PT = c0859c2851c6a0c9cd8f9a5622 +AAD = 5415aec7edd5db517afdd32ff30dbdaeb718163aca0a900686f038ef853245a2a01c7bd98dac02118a611dd8a9f252c4 +CT = c0c9257d40b1db343c1647d2c9 +Tag = f9d0ba02 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 9f79239f0904eace50784b863e723f6b +IV = d9 +PT = bdb0bb10c87965acd34d146171 +AAD = 44db436089327726c5f01139e1f339735c9e85514ccc2f167bad728010fb34a9072a9794c8a5e7361b1d0dbcdc9ac4091e354bb2896561f0486645252e9c78c86beece91bfa4f7cc4a8794ce1f305b1b735efdbf1ed1563c0be0 +CT = 7e5a7c8dadb3f0c7335b4d9d8d +Tag = 6b6ef1f53723a89f3bb7c6d043840717 + +Count = 1 +Key = 3ae0b7b666f663268ecf522502629738 +IV = b1 +PT = bed2355a6f47a9d08a2405512c +AAD = 8d77d5ec22e7af9448f719d8aab9d0b9bf1244d842dd5eddec682376cf5d7c54c8e8e2385c88a17fb5ec38f22c803bf4170d2e0099509b76ad6081bcf5aac289390c5549d22107d36e9efe5982be7bad461aeb079635b54b3a14 +CT = a6c68158335453d3bdf908d96c +Tag = 1dcef8f74797310710b21d51ae4c6545 + +Count = 2 +Key = 458c9fa077b9a13aa3c1968035d91dc4 +IV = ff +PT = bc9de1e8440ea08a0e6e1b1cd9 +AAD = 67df86691eb37f20c768e26289876ced4a0954a71db645321dc5f4404603ee292315d644b98bdfdb4403bcfc82d7ff735db201fb39cb64d7e742978355e030e96b1e6e82ff6c79491f5795d31be6ad33385cd14b1d481addedd6 +CT = c07b0356c4af1dd706c61692fd +Tag = 746a6ce151ee8d5ac56f7fdebdfa5708 + +Count = 3 +Key = c75ffbb6dea872ac43fb2cefd6b2ea98 +IV = 57 +PT = 9ab840c0a6bd32eea49509c65f +AAD = b7c9f90af65226ce75367b23a75b25849851c3fd932bc7966d5385af1cdd064079bd34cea4a0fa023a8b89e6cd31bcf76f238d26998d0774fcf35513b730497bd6c5a46525c8e8b50d832fb3ad4a54c2c66adf76c999b4bc4682 +CT = c698a2c08902a5f8dd380623ad +Tag = a0febed792d39e75152f402bda227f28 + +Count = 4 +Key = 0bdf11c8dda2541a06a9cd487dee73b7 +IV = 8a +PT = 2bdf8e412a56a4454cccedbc64 +AAD = 3b17edadac83c6a74ce5c6270cc36ecbef5cfa246cd54882cb6b052aa2b77b4d99f503d3a38586bec465fd8bb8fe7a6d92a935cda0b65b0f787241c76dccaba8e8c8d9935308afee701fb00399be0cd6258659d8f0061311b758 +CT = 1096b5bbff807b06bd06c29f89 +Tag = f7a0a1da1758364aff477d56ae8e8b8f + +Count = 5 +Key = d86363773fe07aec4e1b58dec75f0201 +IV = b7 +PT = e0583d2fd3e44d30dea4a11939 +AAD = 208d58f0b7e6edbc278e4c80ab40756183c9267eb50d71aac4eae354e6c5661016bad13f42ebad28dc064096ad5414c45378c56c1e5386869c4da9d8c19afde1d753fbbda395cab0179f9a8a1e7c153da0f9574e2ff1e559f4c4 +CT = afc16d7b0376224049d76219de +Tag = 0df0410bc3460ff18bed923cbc600245 + +Count = 6 +Key = 8e310b7c2e04bf60e36a8dcac86d9c01 +IV = 0e +PT = f99c8d00e469f2bf791a66f6b5 +AAD = 720c63e6dfa66c1d93abba93722ec602da6bee5eae46db37198e386fa3e79762e18f3432944ed87d0e28a128838be803b6986ed8612d64d888439c21569a3014eca3a70505ff40780a0c59111b77c419afa3f48fd117b75d3537 +CT = d06f08edd603dd4d3f6434101d +Tag = c1e34a90b02ef493a209030b191eca47 + +Count = 7 +Key = a29d1cca3c1b5f097b0b9f72ca61dfeb +IV = 5c +PT = 7f6ac585247c875daf85356507 +AAD = 076bf364bbdaeeacae1ebaec132303978f16dbbcad5efb90f030fd4c18fb01fdbb6b8021fcd1fcb771f51de004a5d28ae5d4a554fe8ad90a4aaddbf84bf9ff2a9683d7b8e0f5c0b5ce4775fe565408af12f6a0de6f2b4e4b0e34 +CT = c09a683cbedeb60a0054d1b126 +Tag = d00571f498d7f05bf73dcc38042ef43c + +Count = 8 +Key = 9712b4d434f45c282c5a2db6c4406c01 +IV = ba +PT = e501069953fb79bee89be4f176 +AAD = fb1e5e5b604e4c606c89b20289edefd32cf8c0fe297a902cecf9130a261dd43b4f675f37a4bb18a364a7f55f0aac801c4faa45937e15140eb8df5260c7c7315cfa9201af6250bbfd521bb5aa092017d770055670b5528619bceb +CT = e2f9a7f15a21c4ece24b47ede2 +Tag = 7a43c524c68a38cc5a923edb65aa10fe + +Count = 9 +Key = c0329f800a5b593308be1737206a8807 +IV = ee +PT = 6c2d3ac2b91945a0a4b05d7c6d +AAD = 4566b9b8e3ec76285ff8df2837449a37ba6a05327450eea72150e20d7d31adb9c5b402baf8410e27467a362f9e3f3e571b869df915259f5fb23af5ecf701aafaf85b8e65d29fc91e38406d31a1bd4b60435f8130ceea1b7b1cad +CT = a80b9df975e75f42f464cf6dd2 +Tag = d6bb8b36e286686cba9ba1b01ad4e726 + +Count = 10 +Key = 9ae929530c7468631725620774c09ca3 +IV = cd +PT = 880a9deed84888a043b24df8e2 +AAD = e1efcc5d4c677a8a8d12bdc0dc34ffb451a3a23f47326ce5512bce798a3546fec0a9bb9779bd941f7bac95fc8e312fbe9fd48b75f190cf02b6f8afa6a3b5dc02c3bb483ff5c4b935ea820f80b48779649ac99836c6774c8824e5 +CT = 609322c1e54377bde37e28fd48 +Tag = 0a48b31ec0735f22d50bb0063e87f596 + +Count = 11 +Key = 26d784278f3a9251e3e3b09e49c04011 +IV = a6 +PT = 77cbd6120563979484d83a2bdd +AAD = 8bc7f974f81589b2e36131ce4508402b6d1f24f84070c64e56c0d0032bd4639e27a84e7568acbd634814bb4d407601288d574e78d411235f4d9710c08fec6600d1fbda0c6f7687b2357f753c785bc7b29ad9eca4c2d5d1f8fd33 +CT = 3bdd9372f426d68f2db770d266 +Tag = 315ced410acfd2999a4b2a3b3b000c7c + +Count = 12 +Key = b28c5f9ffcadb2e1635afd4adf0bf636 +IV = bc +PT = b0a26e49d73d64f2973328c857 +AAD = 3799852ce80627091132d5033f926e179ac9fad64f944257295532bbfae8568bc0ae0b03c3f90ac7281e9f62c8629754ccf425022ae3525a6c852404d7a2c188678f7fa8b4749f899189df749e178b036b4735ec7e506fe97176 +CT = 269554f0f388f5c7a5a0106526 +Tag = 4885793d7163f496ed9d4662807d14c8 + +Count = 13 +Key = 210d2d23df0101085aa34e498006c942 +IV = c1 +PT = 0dcbee829904f21ddb47a98721 +AAD = eec8f9a1916136c25d6c2764c7f7821e11cd7c452c4ae8c3597ca0f16aa33920c898df3811536fd4f76da4b7b66c8905533a158cbbb1ca6adeaf4fd6b640a4ee16242fde0779d131d897e0fd7ad2bf6780127f1c032d2c823dab +CT = 4a5a62d93489e6e9c38bbec60a +Tag = 0ad208e9bdaa5b64233844ccbd66156e + +Count = 14 +Key = 9d2b9f40fbb7a5c3f595cadd157d106c +IV = a9 +PT = 435a1d3054129d43d99012fd73 +AAD = 6c514df3568b5e18394d3587158c9a48d4fa6af95160cb074400e5ae48258cdbc78f2b05d9609fb2a488fddf4707622231caee9998d2176ccae9fbe18dae405a4ccf7f51ca926532bce73af46c82c39270dd5bedb02f9b04a49e +CT = 57fd669f2565ca7c8a1e2cd449 +Tag = f7a3043ae87b7e821eae47f35b368c34 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = e62e253d8359543db93e58719dda6728 +IV = 6a +PT = 18ea13fd8cbee19e3df8fe2846 +AAD = f8219b0c0fba59560814b6b867b3cae7fdd787e49a1db88892022357171617f66628964eaf286203921d9f86df597c88eec99419e604f293e1a1852203a6ea67fccedb9bbcfc9136656d6d607062b6b13aef80e0f69e96ab4eb5 +CT = 1d032c5b99194290cd388303a6 +Tag = 7fdacfc0e7def7b7d7326f041fa25f + +Count = 1 +Key = c59f02259acdffe97950b23861b29f24 +IV = 71 +PT = 71a1135e5620c5fd87af2973e6 +AAD = 5e494aa1f8329da5d96ef5c5393b567da7242ba2ab04018a7896ecd7c2b6fb4d165f8b4c61fb8bff6c787a5e27f9017d24a7592e317042168860219fbea8a8cd09366fad0b606f7a54dfb38b914f838ee6762c2933110c72db0f +CT = 71a2f5ba24b38789db1e13c222 +Tag = 43385f6b3ca8b4e9a999c68d1c8125 + +Count = 2 +Key = 8e2396bd5d2e6b5b2f7c55a11254137a +IV = 4d +PT = a2157baf0a7098ab3bac00cecf +AAD = f9134e8e5b8e519a0be2639c33af664fc9ea25092d042217b5f84a6fba278418869f1c9d3a2cd8fb4dcf21902d577bf8fdfb5c14d8a3cc0646446fbb8a36cd3d75b90e6cd95de7e7f8f938740ca5027a9f12927b4e0830ad4761 +CT = 49a618feec9ffa536821b9417c +Tag = 1441a8c93745d276588f0f8abb3fcd + +Count = 3 +Key = fb19fb27a233fbac236af323cda6f88a +IV = 63 +PT = 86724cfe29a355e1a2d3d26e91 +AAD = 33637445af1ed30b016429d975721ca3951e65f04f1ea05a519bc666f25a0dacf938af71372a714a738607bb457a5a1ea4ae34b8c4e675a9b5a1dd8c9528989afd15f348edcc6991d096f8c3b961feff1d8d158c1e03afed399c +CT = 8385a0a8aed907a0d07f2db046 +Tag = dcb1e80a8ea9e8cb1fbb206bc5deec + +Count = 4 +Key = 2ffed36b297a186cf046ee77ffd57ed5 +IV = 01 +PT = 42d07d474cc13fb7909f1c822f +AAD = fe4ab6814f6d2e713911833270721389fd1b4f4af9b751eba82891f2b027f7e56811906c51e2e48b4fd68e74b5e7abc3ea0a6a802ea40482aaa9f06e459d4f724b2a0884ce26c57c9e1cffd81f50b06e83d6c3689c5fe21e8233 +CT = 22642fbcf6342b9b3ae76cfaea +Tag = 4cfd6a5ec67668694eca58a5c3a79c + +Count = 5 +Key = 0b6198727286bfad0335d9065b5adcd6 +IV = 4d +PT = 9c0f4916790934103d7d7eeaad +AAD = db193823d3b9514ee9ed3f6db97b96216ffffca7a88e3c457a2e2c4f8d980aa0d0ebc93d430378ddb9ff76c8a3008058e3111383de8ab1bd13de78a7e372a25d2e9588d82c1af0fe27c456c37818c18f4187676df706cd30e145 +CT = 4fbcb5a4a1d5016363a27c6f12 +Tag = 03203645d4c9b0ac96541ecae22f74 + +Count = 6 +Key = 23374fedff3e08c74615ec206f247b1d +IV = aa +PT = e2e8ad49cfbf67b2d716b22773 +AAD = 0e2d58712850a75a4bda51387ac55bb859718cfb6329202b3ec537ac118b8bc62c3fe9ea2c81fced50ef774d050d8b16e6e18f57182336560d797c133dc6615a28d7799b14ed1ccad1c68a619753c7c541da3d34493ec3e34bb0 +CT = 01c65bb62ae757eec06c6be9ce +Tag = 30907dd27ccef355063ac4c54e66ae + +Count = 7 +Key = eebcb541cb449f8da7066b386a4f9628 +IV = d2 +PT = c704d0c4dcdf33cb02d2b70747 +AAD = 2ca9bcf316409ea41fa76bd28532a5f08cf3fa6bd4ac6dcf3f1e761e3a10e497cdf753cfaaa07dbf4f07ea9d9f561bb5ffa04ba5ce3888abd703f0714b68924e9748628415385bc7619d3f2b874ecf44e4bce879d4ad61afa237 +CT = 31dd2c23b90198130b0533aa54 +Tag = cc86fbd92803f927435a4379b27cf6 + +Count = 8 +Key = 35bc6deada2d02b1834137e15137424c +IV = 60 +PT = 6fe96016f735c2e3660c610875 +AAD = 4e7276788749e9bbc859817abf86b747de551cadc52cd05ed860e7ee19f8d0870b1a25831f6922ed149c0d4971ee6d9c1d30fc5aff80c362f10ec3dd096a8bfa2d93ea99abc8a7fe0fc1e904972b84f85ee57343b7c1a21d4439 +CT = 402b955a7da5972d7d0fd90e0c +Tag = 21511686eb9b02cc4104d4c9b2d39c + +Count = 9 +Key = 6582d8d5605fe44189683cda822d9214 +IV = 31 +PT = 084d6f2b7980a449d12aa901fc +AAD = 18f4ca0d7b66e5b1081082c9c943ca5462976469dbff492d458cdf1162aee0e3064df9453da2f0fa76194f8111dce32bbb2158e1148a973af59a9229027cc267318270275430829210d82e77bbda172effb3bdde8b1677cd30ef +CT = 598bd8a133d1d9b063d192e1d2 +Tag = 1375f55147dcdffda0cecfd6521644 + +Count = 10 +Key = 58dbe69f396f3392a1ed30259335589b +IV = 0c +PT = cf9969294c385a1dd8a49b3489 +AAD = f8d24fea9df90699d24389943ef5c200413dbab9c4a4e1d93f08b1aa8a28d59e5b39b85b81e297dc2a8fc8ff0e17a88e3b35e298287720b6736a6fae82b6a939e13891289570b4fe1a5964caf28aa55fd6c905e83cca362994a7 +CT = 33c2b0fc2d70a1af855ae84b75 +Tag = 696e034781148edde2751d9c2d4cae + +Count = 11 +Key = bbba27e72c033431e0e5be33ab81bad2 +IV = 60 +PT = baac0b3963805706f96a8e31f8 +AAD = d35fa4fedf1027d756238dac7884db0d05ff40f5980cc0e375c9cf0a88fcbc5f187c4d02a72871650f482d18e0be4759258d260952dfa9b8217afeae7ffda002811a5ae9fc495d7fd062d230667c4e81764ff36f73273c27ffb5 +CT = 01a3113c0e63cc51b2a35af23b +Tag = 44b0c0a43d5333124b7edfc4e26ddc + +Count = 12 +Key = fd7d9f370531b736d4b18902316b8220 +IV = 2c +PT = 3527de7785a9c9f150ded51a1d +AAD = d5e29355ab591e474616ed456a3497cea13622e31d8e34bed84af224b3527e837bf01872bb0786ae69d113b377d1f290a28e3c0165c1b6464646e9da189ec186740da866cfb644ec597aa8e9adff70de07ddb66ecd02fc186f48 +CT = 537df9c605199229ebe8bc4685 +Tag = 0791b0236efc6111ce5345b5779a61 + +Count = 13 +Key = affbcac9f37b97e0956fca0354e23637 +IV = d9 +PT = bd23979e4e4c5eb8ed5bd5485a +AAD = 4ef97bb1c6c755686c8b468940b29d02e65e7c793022e6835954cfc0220bd0ccdcca7951b17df58f5cb39f3028612adb705026d35ce789a8be7c403bb51aa4a05fb584413d5f52f4c6edc5cc7482471b6b4fec320693e3acdc4d +CT = bfb91df290781206d548e4e78d +Tag = 17870e3b14c2460618709aaa075afa + +Count = 14 +Key = d4bbe35440184733c506de3a0e087bb4 +IV = 3d +PT = 59a6e079f30d0af561e64ec5d2 +AAD = 0e3fba82349b0d5620958886b28413cceaa3bb3766c74ddf8c618225b9e95d773f834e45a4777d228d12f579368142629860ef962c8b5cbc46a6118c071b51af789ae07ba5890db57ed49ae3aa641f348d6de8a1d829009ef843 +CT = 029038a2f2be44ed0792d67297 +Tag = 61dab98a8daabcaea1b10d64367e67 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 7496c399a26b9e00779e9bc0cc82667a +IV = 3f +PT = a1286afe06d75d32c159ca8b76 +AAD = e5f601e0cc4fef325c9496a038a16ea2a5b52ecc8c2704f9d698353c238a8d0ea40ce53ce7bc37da284680e3d45080c64a3993da5b83db2d333c61ff5d9ccd22b24a7d3be2b02cda4828560276f0f5f1e435a92e20705204e0e4 +CT = 15233dd0918d2805d2ef5a510a +Tag = 9105043fe7dcae86606ae2e1feb5 + +Count = 1 +Key = 397400e5f7f8f725b97bd12e87be5c56 +IV = 00 +PT = 02c2991c7c00419137d5d1b8e8 +AAD = e2702ad76bac5ca02ed7efe9eefd1f09610fdda4987e2fceec254f83462e7f9e5bbf10123a9592bd7ea747d9cb1013d87922a8fcf8598dd0e3e1901041441f9e5da617822ac5f30af3cbc398b1f8f5acf95cc98a356dc735ebbb +CT = 925710e36a7089e959b9c368b8 +Tag = dc685b865ab35fa110338ee3cff6 + +Count = 2 +Key = b4f5e8de5d045b60fe867fa337738a83 +IV = 8c +PT = 0b818fd6418623ac9fbf0019b8 +AAD = 3b0926541954c772f34b650c5f24ee8e979fcaa497edf724817a90ee213dec573050d2479fa359d57a284f895070e569b63c23d17195ad18692ce834c41ece2ef13e028a165cb575932e2f7b32eb71651b0c13c44f67d6657424 +CT = 83965dd93478bb8705add1e536 +Tag = b73077fb68d7b932da5f8eb4f305 + +Count = 3 +Key = a671c36f929950162f9fc6b401174c3b +IV = 8e +PT = 62e04a47650487c0e00d6fa452 +AAD = 6b61d0ef828705351ca91d6a6b2def51f74fe504b05c0af4c6e6c6414520cf3234373ed9c866b45b47915837e49f68bb94b5e7970ed4e07ff2182d408f45eca5b260dfb6e37fe6a5e4cb99ae3d65e2f6ce99df3964e4f07a424a +CT = c8067c2a52c8bfb78034d2e2e4 +Tag = 2444deffd8c44108b84b998b9142 + +Count = 4 +Key = 330ba7a9a8565520b6cc7515d1750749 +IV = 5f +PT = 091b99c43802342f3eec6de65c +AAD = 04add622aa2afc75191d292f42eb6c96cae0d70b1ce72af693146f7c0c309e9d825dac8028428b1ed3e2ec2471ea3d464a3c434236cf18f052f7630ab65571b6efa0d5ca8dc2a8438521ef1bd14ca5398ddb2f5b849ca7113859 +CT = e5496c6ec9bca2633c34e36a10 +Tag = a61957ed0e5005838b6b92015c34 + +Count = 5 +Key = 8b84f772cf4dce8a27e6f9ae7c558c18 +IV = de +PT = 79892bace90a16528ef4280fba +AAD = 56b0c583a54f7caadbf7e6632959712349b3efc8a9b718b3608bf6fc69c87524038fb3f4bc4e8d3153eaa8883a45b42ea41110093e71d8f178ce1074b724cff2879437879a0215116df7e3e4d85ad72e2a4f8e9e5118f6ef12b6 +CT = cf749db9838a88bfae0281f40b +Tag = faa9916e0c940e956e48a6c00923 + +Count = 6 +Key = 4ee113bc869fc9924ce2f4574bcef4e0 +IV = b5 +PT = 117a5046ea0cad260171a33d7d +AAD = 37b822651fe91448a85bb75b93ea0c94981e6db4f744a24327aadc10a39fb54e3527ab86219171a2e1f14b3f0cf76147f6f1359e4e87ac789df821e1fe62076cd89e2ed3a147c01120e2a75a545b29db60b89db781781d18c4b2 +CT = 51157b6d49f387a3a7eacfbf86 +Tag = 5a7dad58210eb0f364b4f280dbe7 + +Count = 7 +Key = 26dfecff3b95418c913590a88f196a9b +IV = 68 +PT = c10bbaeecdf006ac214d84764c +AAD = fbeb2d63daec73c01d36b6d922fe934d1cd392097453a6f507af12456dfe6c7fa8ffd182153d8049d14be65a06b86b12978de30f98380a75d861ca88c7f5883cfbe13a446cf4078559484d923f5689c3ba297296b8f9ef31b302 +CT = 3f0c0fa095424c6bec3d902472 +Tag = 3fbc3592f63097a82fdbed69d91d + +Count = 8 +Key = cc7e5d50f10805013d238ac55c2fb4fc +IV = 57 +PT = 2564776f780af21b4de04d15f6 +AAD = 68df8d3dc32213873abe8f018da46d0e0a9c4e8246ca39702d260de3eb4f83300967998efddbbade81d44960765bc6b63820c92f867d9c395127961d64736c3cf60147e8664561b45507ab17e439b3b9231d8e9e84ccab445ef5 +CT = dff035d7a20774cef7d8c4d9db +Tag = b02298689fe70be21a368c18aba4 + +Count = 9 +Key = 3bb3a00951aae2a467144c2f7237bcef +IV = 03 +PT = cb5236444ee44eccf08c925f50 +AAD = d464a997c25e3d9e2677065c890f691618ceb97c945e38b32fad9d3603bd475f87c28eef9adda541753449eee4edfb05e9ee1ad3fd833ba9abba6511cfeabd99d9ff5b8870639882ea6dbbad7f02da8c3d36b4ce00c386b75a04 +CT = 3344e70456ef1afa4609f32eb5 +Tag = 04c8a5c5a64832bad07d94a1e762 + +Count = 10 +Key = 9980be238b47b4b6cf28d9ed08f8ee3f +IV = 68 +PT = b7c9f2a948d5c4a8dad8c42319 +AAD = 51e11827ca938928e7d430d62c9dd005cd28bae2331475ac55498a0ea1e985d1dfb723c65deb2d27da7ca427dfc674a6e13a08969ca2ca52fc05b116f4691fc5343619f66b87b6e28fa930f41039240db4e738ecc4dd9540d183 +CT = fc70129bfbf1fd50276fb9bf58 +Tag = ef1ca45bf4d3d7c885fb027335cd + +Count = 11 +Key = 534ff13ad95d37a9b20cb42672ec892c +IV = f6 +PT = 19f886f732cb2bc1fa2ca7944e +AAD = 448b9f44241e15e78ccdbd374ce2b96cc5613760a50efcad0e6b59eb4658855e68210f93c661670cd7c4265d9eff93c746f7a228511f1481effa6c4f3c2c4ad594cfb73086d2ee84fde0663a8493d6cc68888977d12686a7b930 +CT = 07d720c2643253cadadd417852 +Tag = d8a588f9a2c583d1b0bb0de1c85e + +Count = 12 +Key = 72372420371cc9f0e378bfbc91f68216 +IV = 87 +PT = ff2db80c9c151e68fa2073bde6 +AAD = 9fe64cd368e994f826de61c53395f79a01897b47a15f2dd6dfcc59274ae0e24d970f6bbe5bb0f6384f5712f2af8fba6108f2b4325836b203bcb54f9c58301a53359a0d1ba4304b9815def04837e57c8235ec9354f7778b12138d +CT = 5d742370eb8bb263bfb8c2499a +Tag = 7c8af622ee90258266d218352877 + +Count = 13 +Key = 204ea9d809d74976d074bf5db690d4db +IV = 69 +PT = a7ff5b00a2fc218cc3ef0342d1 +AAD = 8027b5d0da94f2a9d3e168a78e9beaca1f9a5bdfa86a299a4ac539923a48bad612e43cc4802c7c8f9be4f731c98e4b42163c3f53f00b074448950632ece5b51be707133553dac3c087980b4c89802efaf3da93c38234feeaf0cf +CT = de215e1b23fae815d61f542a4a +Tag = 76852a2e0a3715f1ef50e1ef087d + +Count = 14 +Key = 004942a49cdd1e907674f62a3862065c +IV = 2e +PT = 45468e4626bae84206c44bb9c5 +AAD = 6b5cc0e4f885ab96d5101865addb66f80e0ffe776f9140c5e14240ef2c453b472f515b41bf845ecf3b6a380691581490326a4953bf638683a2ed323508971b7af2163842365a8c1ed72104e64465d67e240501cea1d4d87a8080 +CT = 7c937b0fd6cf8dfe98bcda1be2 +Tag = baf3753696425f7c864f6caff16e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 0de064b5efd0460a9e817760620f622b +IV = 87 +PT = 2976e3de22ca6c17d8b406d3f4 +AAD = d42140e495a86e82b72792147dc89dd97b33d346bcaa08454edbfc8fe7069f5f61f9078930c133f0b5810b2ea4ff6fd5e88a0979629f3f49f048b7a476ebb9c1c93e0f8864defa0ff0fa8dbe9e539413f0a6730c6a5e55bce15b +CT = cd6af6c6bc73e21b8c2aa3e54b +Tag = 2051a310ca6378ae7e1b3c392c + +Count = 1 +Key = 3ece9ddf98290945458775db2ca2fdd8 +IV = 3f +PT = dbc1463966ad47d1921e5a3598 +AAD = 4132ecc5a01c8961e06e68e0a8bde1f1e64d31522616c2241751cc04b5ee27b62a05c75f65e267ad29564c3476d27ca03b6dc9229fe373029059d58414d6c57de0963aa7ef1e0ccbf908f8a4bf1853b0a1ab62d093a53ac31d46 +CT = b51f8283d6d29c177b7280f161 +Tag = 007f3cde5b959dcd04dd4adce9 + +Count = 2 +Key = 357e4cfeb1a7b62cd7283e4a78125c26 +IV = c2 +PT = decbe1c0165ce8833957c2ba00 +AAD = a71190dcb1922d90c286721737d98cfe118bb9c0ea7fc3594103f13881d64696d1eb099b84096b2bafa734ab562122d65db0acbe6c8aa568fc465e0bfca345e38168d997090d0271b24c3d63d909f9ca45e52a6f1a04b2193d8d +CT = 471fda7574b3159e07ce1a1e60 +Tag = 74e19263c091a60955e05fa3bd + +Count = 3 +Key = 5e84a5eeec5d530448f119b56e5bb0d5 +IV = d6 +PT = 696695cca60f6acf16847fcb32 +AAD = dc7a40ed7e7cb4add5706bf8a7ee9093692db90fa29ba7a4c8dfe326e93bcbaadfb365ed412453340f5f8b0aba2396ed7ae6d2a8c530c4a5a195584b7eee2fee48e4b0b8ba0cf7b1b614e05d6b933f5c6a8721a220b434c36176 +CT = 92eac16d7ed71f74b7d9ed3229 +Tag = d9d770c7d7e3002be84467e5d0 + +Count = 4 +Key = b8206687ec8475c61adec23bcc57dee3 +IV = e2 +PT = 511ecc338aa9f13ea53cf06977 +AAD = 4ec2a8d83a6fb6dcc7658cd926eba6a2dcecb2613bf8112ed25af6ca05b8999d6dec050c74a19e6acae8bb43d7ddd244b0f60e7f1c1bfe2b512574ec6002673ac074a9cd05799ae2e21b3dfc0fd7cb0028306ea7b643d154ea37 +CT = 28b1b7d281c0465f9849ad0b60 +Tag = 672732fdcfbea7977936a90b15 + +Count = 5 +Key = b8e642a0cbd96b15bacc7f6b47a56714 +IV = 55 +PT = 0f7bf0ace0dbce91e4faa78f36 +AAD = 4d9cd9fa290910d81ad7ef87588b4ed12ab7245001de04ac72fffc6539f8ee54e51069d3b0035837c9bac90cba086365f6e2bedfa4bedfcdebc78e5b32834039cee98de7cf22ac277721d0682579edfa67b691bdf9362484adea +CT = 7978695c3cc5f032df2595394d +Tag = a1a08ab6a06417bea5c03dc57e + +Count = 6 +Key = e426f12a71399e0f0d85c9dc29246225 +IV = 4a +PT = 2741551fedc1d8c1dd9d733494 +AAD = 82da883b7ffd07a85390d8d70b79655f7ff243d4d03297b6f62242a3614944957a0f4d4b862498e3d1180c6c2ab1bff6d0667e7a6626e015b2c581f67aefd274c29ab55bb3bba225d03515e57491912e72e0dc1d086c6fd76567 +CT = eab66f3ec935a886a7fb96a7b7 +Tag = a9acb7eaa77a62fdbabf728548 + +Count = 7 +Key = d9aa005cc8388cbf7756172c8150faa0 +IV = ec +PT = bb98de2a61acff6652f25d567b +AAD = 10ef6e0902fbd232657bb414753cbee457ff8a704f79be6b2445e0a028956b86199d3998b9d9ae63122d24efa8a5d795d33cf00bca97e18a05914132d31f057fd62537ca7a921883bb4fc8393b0532c38531d3ff372963ee94de +CT = 4422254bb7764666879229f803 +Tag = d2c17ff9746b56328525c2f15a + +Count = 8 +Key = 13b1a43355c007173bcc597c104e2574 +IV = a6 +PT = b8bfa0c130f359bd32064a6a22 +AAD = 3332d4783a7a98bce1486ca005df92be4d2bbaaecbf54535c03bbea960a6ef13ce39385c65780254cfe033b2da82310e22f3bdea2d498a079b323b3c1b92652eca550a4fc700486084da5a2161c0e8cb24b797493372389891ec +CT = 28a682c83d307dcf70406f0f55 +Tag = 7fd20c14e53caf546e602252b4 + +Count = 9 +Key = f3c5ed96a8719be48d8fab03bd3b5ab6 +IV = 81 +PT = d677278864715c04df5de2eeba +AAD = 7ce003153d68cdbceb0eae8a5c1157f70f357897a29bfcf10e4bfa2431f760cbba0a32ad3d14bd9f86a2c6494491adaf847fdf1c43b3e981cb6ac72f44ad6cea4dfe29e7496578a5930390745f752a1aea3b853f53cb8f76e010 +CT = 3f1a73455004404189dd7b57cb +Tag = fd3722927849f09fd93ed3c73c + +Count = 10 +Key = be2ef25c375cd2e848dcedff3e42f5c3 +IV = f3 +PT = 8917ffebe68b76df66f5b3323e +AAD = e9440c7394d67b25031ee435a0c5ebd8f12522cf693e349fb9176c73efd2b92ea9ef918ef0f8fb44af790f51f36158f9609d27016487d0a5c9e6005e5c70cf3253cb7f37fd7abb8dd3d11441f3fc7f69f521e2a3feb923c8e5a5 +CT = 2dbc6fbc2033c9b8861f26fd89 +Tag = c37fe780bc5eb96c93d7b1accc + +Count = 11 +Key = 445dc62f9c2fc882235802d3716db9f7 +IV = 97 +PT = 993f7cace5f45542f5d8f0aa0e +AAD = 04831d021dffbd206416b68c209ccd0f76ed78dea6d4d20d53b8f23f0c14054366e8b9b7400a44866c3aaac550f59910aa9ea3848091ed5db319517e7f40c4aa7a64023d83dc5b7d8607554e782e59fc6175d3ac9868473b81b5 +CT = bba5f3b1ae2835c7e510f90a83 +Tag = 14ba6e2450b4a3a101d4b9d33c + +Count = 12 +Key = 64b81a3409106ecd2c5855b83cc07a07 +IV = fb +PT = 77919a2b580028c1f87a5e65fc +AAD = 69615755ace54a75b506fcdc78bfe7ce3fcfa3a8f23b8fe843c9a46a0896ddd5587b1b1d08cbc14c8f911cb39946c040718d3b78a323b6cedda5ed91a1afc1b363f4a92066c043d5d1e06c81bf6287c1dc72d846b8ac568e2946 +CT = 70f004e4e0b3b1483bf236aa17 +Tag = efa428938a790aa5aba8939207 + +Count = 13 +Key = 87f0240eea45bcffaa99d6f241204080 +IV = 75 +PT = d86a9a7e71e44b0583b0f0755a +AAD = 3dda75b618f7b3423ab05471fbfd3b5bfd88474aaa9a999acee5dbd3265ed7b0e3742fe28d91874d9d585e9d45c1aba58ea1bf225af234dcb584b728eddb2ec0ccd11ef41835a84c4a852cd39e230635fffc4d705c1c10d86c95 +CT = fe7cc733ef99503af7b35ca814 +Tag = 4f0ab5b2db30b0f6f05a24790c + +Count = 14 +Key = 2b558f6e53e6503aca30dcc1604418d9 +IV = 1c +PT = 26bef67a2fc7f2a218760fa482 +AAD = 61c46c329d9c1fd5519ea0c719021a3069b2f7c24ba03d077898de84094cf53d05aa40c7e753a10364cc9c0bbf273c4fa98b3d2b15eb2fd6deb712a1b1ebf45ae89a3df42736b3da3a7519c0afeb77f6a2822faa7d16c85cdf3b +CT = 332ad92ec35759ae54c65a63e4 +Tag = 7b38dfe956e5df1ca73ae861b1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 61d8fa66dd14145f97042bce86107179 +IV = da +PT = aa6d587b7b7a1b465e3d180acb +AAD = e305f6b8f9b8c7a8290d3248c5a77acae8f4a2a9385c60d4dc48555980ce150b7934fae187cc3f3929889ecd3f53efa11f15a5c38b2656cb0909bdd815328fbfd812f87074ef5bfeb3bd7df7143ef55f5ccb808e20491b6fa4ca +CT = e8c191d756ef366940718477a8 +Tag = c3b193d736e158604093f047 + +Count = 1 +Key = 8cdfcbbce4da5a5183d00c1b2ae1ab7b +IV = cd +PT = 45c720025e8ef708a4b9705f04 +AAD = 273bdf09b09e83f9c9d5a58dbc7ef21d2fe9b3da1bd48960222b19f1040875cb125cd170a2165f29c9a6a6b88dfcf0321f796db4077b8a56b0705a3686466a1eeb09c0c2e085451fc238eb7df454555f9f8e5b22e85c10e268c4 +CT = b7a75bd275f94895f2896b9a6b +Tag = 2f9021f6095f8522db612283 + +Count = 2 +Key = aab1cad5fb0ffc98425848c8b257033e +IV = 38 +PT = a40ed01ea9a095babe885f2a3a +AAD = 1ab0be1fe968c776e7e100cd19fab13ee6bc13842027c533d15ded465bee7af0c1b02d473039e3815b27b97fd204f9be13d8963b36fdf85676ca514ceb73c62519c7d9a441508cbece6a523d0d7e02e20c955ca5315b1496bbd9 +CT = 75e4167ccc7bd343ef84e4c87b +Tag = c1e14ca0bda72bb8855b6b52 + +Count = 3 +Key = f9951627cb10e14ba15b0395244512e3 +IV = 20 +PT = 2cc0651053e9efe2b64e3ab7b7 +AAD = aaac8c9bf00a22788aa5d0cc29e9f180b95d05bf55547dbb51f55f0fdae184e55f118c48a542a2cba78e954ae79bb2ea789b8b3344a9e968318d909e3add07ebf9e63122fbe103f921668c087bc3459aefdde47296e178c954fb +CT = 305ca91ada13c162ca3db83aa6 +Tag = f1b3c0ae375c3f678ca8269f + +Count = 4 +Key = 19b2e516bc0ad330d9bdcc9b9724535a +IV = 6a +PT = c678f2da13cded00bf0c770dcf +AAD = d90ae23b6bf193a71d559867e474c19d633066a731f2cacc47efc42be343e1c02070a8a9eef0b9b9444af736dd122efd7089869f740e3e696c9882749b7720611b04aa32a1cddc946e496f2757bc24d2de0905e1bdbed0f27646 +CT = 480600b5320693f2ff49ce5376 +Tag = 926ddfe77b6f9c0320d0d30f + +Count = 5 +Key = 99f015f46018f000600b64f8706ab33e +IV = 54 +PT = d14dafd194bc1c2f58682601a9 +AAD = e8897d493d110d9a2fb37d733792a9e94f0db229c1bb8d514ba25f31ed10d5b4df60a7cee70369e4dee2505e59ba2bdcdbb96e6952a26a72ad59101f1b94dab3bf262adf7636e837ef7536c18b5239035e4953b05c012a9364ea +CT = 90b4801a2f1ffdf46c5ee83ffd +Tag = 55b4cc071c898b55c6b9c968 + +Count = 6 +Key = 85133a971e39b4c08fecf0c8c9dfbf56 +IV = 35 +PT = 1db6a72fac472972ecc311bc6f +AAD = 971183622508af9f1e6dbeaf4f25636c80ab39ab739e9e26448143df61000cb6ae1dd30c59df89258400d82e6a402f8b9403088c302899649fa4e5bf883120b7d477ee0c27bed5fad2be9c5533c2263e358c37be725a06cc71bb +CT = 83177e063b4baab097b6ab21fb +Tag = 37d4f1cc814036c7ed26da4d + +Count = 7 +Key = 635f53da9aa990762ae558a2fecc2f68 +IV = 34 +PT = 603c4909e783152f152d226de6 +AAD = 9c484657721321bb3b7151abe3723f56a4f74f95d36be8fcaa18db0214cf6552cd8959bf7ba82d7b6bd10f442078409dba261174cf20190afa4038f751629ea55df9b56e2f6a20e781426c661d24a2dcb1baf3a33c89c5139183 +CT = 2dfc737ca91e5a79bdc6eb1dd7 +Tag = a66e317f3ffef397b47bae04 + +Count = 8 +Key = d065d7783360deee9f6a054d498ab6b6 +IV = 70 +PT = a83ff01073984376b3adf16c22 +AAD = 791bd0e63cf560634e9d8cbf1b053d23d28dd52ae5fbdba13bad7a2fa28e9c5243481543b2ae6dc01b17f39cbd8c2bce15f2bb741dd46a455fd4c9ee9ef674a36210c7aa584c4e28eea9666d37edc45475539e9afc45ca18cd02 +CT = 2edf005dc50143a62ed07c7d77 +Tag = 093625fdb04cf3c0d07b0522 + +Count = 9 +Key = 073c0e2207a3601f9fecaff6f14d8a07 +IV = 2b +PT = 4f3d4e483e12cb3795d423affe +AAD = b3d29e641b8dd6a75abbc2d994827e07368a154566ca6db644e78040fb0da580b94ae1e06a3ea739bf9c1159afec777019ae69e6dff73263c34727bef1f6023371cd97e6bf8e64eb06b6529dbf53eeaca4b9fc63187a51be8472 +CT = d682f5f9a58abd12f135e5896e +Tag = 5b284f408f2a0ee6d3006cba + +Count = 10 +Key = 437627169169a0a7351ccaa96bd3fa19 +IV = 62 +PT = f42a3690a497f6026f6aa87123 +AAD = 9972ea21bb3ea41942f0237d40106a4e7b7ef4a745bec1d8b4829651855a92f5c6b425923700f68882715423e310c28df7787d9644dc99868674a335ad0d08af4627bb433f537be902bb3cc06f0278b8bb4527a74d405812d711 +CT = 858afba0e82c578646b95c3b98 +Tag = 2d95210b0452bc246cf22e1a + +Count = 11 +Key = 92f85e201d494c02b34e1d4805b8d0ad +IV = 02 +PT = b02315b0dde49b809da73b7ba1 +AAD = 46a14a54160937f46b376c5882ee18b7a0d559be16e73ac39d4cd0cf083e3248a40e81821354daa2d6e32dcc451a61f7da56879565e0fcbb6cfabd722492b24e527fd19009f8f0b85e4cae685f746ef940a4c65acc025f965ec6 +CT = 236bc3650157d84bce8908003f +Tag = 91b65f300eeb68797b9494ae + +Count = 12 +Key = 4fb92ebbeb4f731d6c8218ec44a7252e +IV = ce +PT = 664ff54e4c12ed6b92569689ce +AAD = a55f4c55dcdbc92ac6f73b1336262114f805bb7cf300edd44b96360fd5abb1fb392308950d66e23c1abeccd8d8cf10c986c1c7f6b036cadb1f70554271ab37e12d69713aee84416ac47611610c0b63544bcad2a252eef79fa81d +CT = 4d845982126b5e49a49dea915e +Tag = b5d59c60cf5475e411e95b28 + +Count = 13 +Key = b2bb0ef7e874c240718bb8d0bb4ad2e2 +IV = 2f +PT = 020e5e5931986d89f9ed1d29ce +AAD = 5e879d2f3613c1649c1a241f4226bbfec3c6499a004d73a019c9016d9821de68fa45c8973e2d81c54f2ebaad221a383bf297780851b80a33e0fff00e00d7b3062e7fb981a7aed95b2b4bee35a321095a40d8539de33e0aa8491b +CT = e151aa654f2b221f84991d3772 +Tag = 135d6ba4eb5669c0fd97842c + +Count = 14 +Key = 7f1c5aaa5b2d58d96a90b2b316bff10b +IV = 77 +PT = f64383f49ac888b3b4d3bfe35f +AAD = 1515b3b952300d4b96f222f337778059501d3ad2f23ba57d9d99d5bc3a85abe8f8db003055e79782d445e7d8be5c467964d4f1e005ad8b37e020af65c4d556d900edccc154ed6df72e03516e89c7ef7bfd36f2b86dbab6844ca4 +CT = e6d26cf6ca063deb6ec6ae58db +Tag = 14eadc716fc2cf255a5b6067 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = f6161cfce7b8ca8a8638a30d6255d21c +IV = e2 +PT = b88ccdbb53c19f88e6f1577612 +AAD = 22bc61611f65a7ec89be1a4e474dd1605edd55478a4c67ac1047eeeaaad171e76a2917cf4868e1b85a157e021df36f43c18a1e4383388b1003f8a2c164cb3b691d2e0fb27bd4038ce0853bc20107b667e7c6da5711428ee1a415 +CT = e603c94ebdcc75f42cf12e1ea8 +Tag = d8282ea824188d90 + +Count = 1 +Key = c25a782fb2d8e73c92fa0581ff95d4a2 +IV = d4 +PT = dc830c9f4f1a39695ff65cb8d8 +AAD = bc35875eba6d2e30fd6337fc5c56ba19d162eb5290d28a5d5f64d17ea071f75bdf435d7bbb2c72d17c7c53c4d1e6ac4a4c51abc6b5fb093fea1e0fef504ff2748cbb1d6fcd08d79e0dae17a50447d8135f0a78357919b57b483e +CT = f99c51dcbc2749db18272a7067 +Tag = 3f32c017133137ce + +Count = 2 +Key = e0970315bd743d1714dae4b1fefaf909 +IV = a8 +PT = fd303b2c379ed88616c2a3467b +AAD = 3980554b222dbacee3686aca5ba8eb06deef9090826d9d57ccfcbe392eda69c6dd2e4eeae2206e1266187208b5606cf324b0ada16eaa3acddefd28e071d731d96a40f83fce053b6259de011acbdbc753968827f85f2e4cbe741d +CT = 4c04a0e0a34405e7df42a97b57 +Tag = c65e8377b7ba0c1a + +Count = 3 +Key = f8f1b4b89fcbe059001564acecdee614 +IV = b3 +PT = 42f33344c00e39aeba73aa69c3 +AAD = 834dee163402d632d7ee401109a568cd6ef0305680090ecb41944a03a69ae5d620abcef948c5200f4e8425688421870fc2f074dc2d8816469e0ab9e5e49c8dd839385496c2f9294932436d96d5961adf10e1735948e0144bd184 +CT = 6b99eb3649f1b332229317fe70 +Tag = 731ffb0a81857271 + +Count = 4 +Key = 52378b799e2a6f70b41afe4d159d9e11 +IV = 2d +PT = 91315da48c27e13a2bd8eb184e +AAD = 0353208ee11893accf1db6c2ab0ab843309458633d42bed29623f511168053ad1923147bfc0619b41b8ea32e2bd92de299ab31f4058423ed3c8978e324b9e2f9394f173f6946c603d2ba5609a50e38e8b82907f333a7c793b416 +CT = 0d368d8c5552b68a6fa5396c57 +Tag = 53675967b0ca0044 + +Count = 5 +Key = 597e342bb144f61740a9cceadaeb5996 +IV = 65 +PT = ec2aa01d99b9f304d8649dad8d +AAD = fa70e1a538c91e1711f397d8031146f5f624ee4c36069a3c700df65b06ba0630f7cc4fd55891ad8d30b3d053b961f69e11065428c7a78fe290d20406d1f0d37b0e4a2bc846b55de2e0e4b20d5db091838b0f885ab8206c080f70 +CT = 6e9d71595e03fdcdc970c65789 +Tag = 14a2953608111acf + +Count = 6 +Key = 5e2da39d76b0bd10d910d6016827a0da +IV = 29 +PT = 72989c7ecca6113afa37ba5d1c +AAD = 5f5b4240342d7e3efd8f5a35945a723a59901283a5798a2645a6463af51ff75ba23c8629779527e05a258a198bd63b5f067f172bf9575b4a199c2c3d22835322eab946bea7e7e2b6c7cdde1969600795cb42df9601b0c8747657 +CT = f3f6def284847adb59e1fd7fca +Tag = 9333b4b3250705ae + +Count = 7 +Key = cdcbb443a1d234c2e035986034545eac +IV = a0 +PT = 926c42e0eac52440f86c4d8146 +AAD = 8171d23f5f7c649ad746051cbbfaa9b5a9a3929f2f42d5d604d24b76d8680e704b183e688f753a8b4a99c0eafe2a2f648d5b68271c2b34e3f16ba78188d9778cd7f6e3372c498029203856a946c206a64655c198850b32e89630 +CT = 1e4969e1532c939dd83c59e89a +Tag = ccc642dd0879bec8 + +Count = 8 +Key = a52196919ad47446e55c2c9c8fa92bdb +IV = 03 +PT = bddab13005572f53e290f405fc +AAD = 061fb0582d101e303fddb32675cec0de6a2f9f41d56758feb25619a0372a5e0fe1fc75587a983cca77d051725114dd8615f360d536fc35707b2f4a331ddaacd8f8c623a2bf55277b3ed9eaf6a19a9dbaba23bea9002a1ab77472 +CT = 778963a5eceb002cc407103434 +Tag = 6a96fbc8ac2ba995 + +Count = 9 +Key = bde60a9e5cf317c1af9f940c9bb2efae +IV = 58 +PT = d6e094b51ab0bf53d025a7f05f +AAD = f163eb2e9acccdd13e1e618089477d44fe966951c4ffd3589c62835fc72df8a431217c9de1d8371e631fe43c4b5dc6a339a87d1985d571d971a3957448c3b945d8b947009be9a32c4a7c96109cf1274ced08367fbd7528bff029 +CT = ce6285185f070f02a51045ee99 +Tag = 175f10b237835608 + +Count = 10 +Key = cbddc686e80daba58f457218eccdeb56 +IV = 85 +PT = 2eda3e5cdb7e3f692e7007b13c +AAD = 661fb7f169ca46faf3a4816f384a890e843838a70fffa236fca3402a09cd3e56079f32fab685f5f960cbf45782a671b176281d55dd56597c5ceba39c2d9a47ef904a9f6381b5afcc86a7b96b057592dbf494fc27db41d7b95326 +CT = 3f61ed954763a1383e80c31b26 +Tag = bc449a0c29ad1693 + +Count = 11 +Key = 97e3aa424003f6419362d98fc70099cb +IV = 87 +PT = 2630e0e0dfa8cc078a28091472 +AAD = d439aca28793e807529480c84c5fa9596740a5ddf8e6833a944deaa2a14794d4cdaa95b163192e20a029590f2e214f07b5ac294f50c9cd9a4636e8af840afd307cc366a4e7bbed77dff15dd818e2789b3434b6e0f202945c2d84 +CT = 464d9d9c698094274da3085bd4 +Tag = 51c28a262ccb1244 + +Count = 12 +Key = 1b0c28af784486b83f0b2d9de2763e2f +IV = 3e +PT = 097164327940c4c0af7d2cb1d8 +AAD = d6b0d2183faf08083e815290e087520a30aee4e5f4dedc4b70ec9c9fdc8c5c491dbf85372187369ffdaf6ade28ee3c49790935507b3042ca847825bb3f3c18528c14a22840a3b290559cbd974d9dab6227e2c5dfefa2fbe38b27 +CT = b5d9bd8122b5bc0565728ba741 +Tag = eb2e7fc7bc6d15ad + +Count = 13 +Key = cb19ee1d562a34cb7887db50cce74c1c +IV = 2a +PT = 4756ec821bb828f983a8ca3979 +AAD = 1c16a51665667e864069f061cf5abb0cf60125dde5908b10fc93e9b7266f62f166a5f8c6fba77d09ff8ee73cf7cdacd697abed42f7f636cedfe062af403a823ad84bc9f30a297199f7a6f8beddb1e7dc86bd3e61638608baefbc +CT = 151a2173365bbb4310dbaeac0e +Tag = b3163f3ac9b616ea + +Count = 14 +Key = 8226a31e8631d6e19c399523492400cb +IV = ac +PT = e5b669e6e2e533d98461537010 +AAD = a7cd591294eb31926f5ba242fb5140942061b118185addd29481f6a361caf94878b58d2990f8cff1e6026bd84fb22bb18204a974bd4178d886846ad00c4eef9fb7c454c253ef9ca6f9ac1f71147d39b1b041b770319ad361efaa +CT = da40125b5ddde325f00368c033 +Tag = 9dfccf7aa013c52e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 104] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 11ca26a3e3490f050372301b0d394c8b +IV = 36 +PT = 6331cd4badf459182ceb3ee120 +AAD = a082139c1c90b6de9be9ef2391d7e3a1ff3b66080d15e342ed54c4ccc12f21e3b549b0c38d6e27e7f3cd6d3343681f04761b52a0b39758c498007eb65522a95f9c675311298631592ba8cc11b6b9074a18d5183e3e8306e63d09 +CT = 7317ea6fb609783ce762a6efdd +Tag = d06f1f8a + +Count = 1 +Key = fc869bfe40eb9f75d98b685029b39aac +IV = ce +PT = 8ff66ee712b47aade84e61fdc7 +AAD = 9e8c6cddda14c6fbd8ac416372b5981e87927950156c1fc8b45c7b4664d0b398e25d49d53bc1da6d30b7ea8d2085837c1ae25b97a8421ba00be53bf257662ea0bb3bbaa10207d1b9f25f84595ec54a8cb1868b93dfdea9553bbc +CT = 422d66527459e793a6410035d0 +Tag = c28e0b35 + +Count = 2 +Key = 2edd14ab79597c8a180110f4e7820112 +IV = 9a +PT = e9e23cebb28ad3729c957ba325 +AAD = 086bc0b1d55e7857ed3a7228ca5ebcfaf27bfa7e7ca7a36daa177abb2db093e0edbe7380abfffda9cc931145179987ffce661c1a9680f44683d6ed47853fb3e4ed722ff0546c89755b0a260720e6f120888a772d3fb5e4c2a120 +CT = f9a33a759313a36f217ddc64cb +Tag = 0bc59879 + +Count = 3 +Key = b8742b6459b02f2a00846a2cbfb63700 +IV = 00 +PT = 0bf86909999d57b72c3465f85e +AAD = 5bcb07ca24ce2b0d9549ad634d43866785414b0d5506bd927b99f15f437fd69d19bda38766cc33be10b805310b0856646b27a87a07ee280cc9b4a4f9475fd104b2b4354ee9e31b90f18296e2d41692dda357c7016d20e51f075f +CT = 4ea8b703e8fcf17a1f165ade0a +Tag = 0cb1c613 + +Count = 4 +Key = dbe4c528f0a8711fc46ef9ae1a7eb9dc +IV = 0f +PT = eb6ee5988fdefe8300136a17cb +AAD = facd416a0d7f0f7d2d759fa323d2f869eec539f1599266a6eb088229634a505d2c9aa77c6f95f9e1111391516b1c9db45da968838af7b7d3c27aa72a74039273911c981f37e058f42697fd5bf58ff34d9cb82bc248b90665033a +CT = 87a35922e3e3f08e68efc5bc2b +Tag = 89d2f64c + +Count = 5 +Key = abc21fdd11fb87298722cfd8847b68bc +IV = 60 +PT = b9114562366104e5396c31fe88 +AAD = 2180a9b8feffcde4f37aeea15718f59e4205d963345ec9790f28758a14d8a4f79efea3ee1b9be9104feb72d6d1b3461cdb28cc04e5c580e4ac37303e9544bd4850eabf5eeaa02bd99a25087fd970ad3fdc73fcac8a3f19ff2e06 +CT = a98cbbb842c8be284700f9acc4 +Tag = f092c4f7 + +Count = 6 +Key = f13b59f0a9db1f9e27a08db40f66deba +IV = 0e +PT = 6ca296c6130348e18f5f626a25 +AAD = 8b9f2973d36eae3239f296a155da2da6deeac1a2187763bb17fcf8eb9eb0940a11cf237fb2c827e73f3a3c1332aea45afcf5dd7f7775c41f184b5c6b6cb85ba3637675b6e4fd021add06b29745a910a73e8595dd66a5d8a7d998 +CT = 3468bc0c48f28236c980f9634b +Tag = 318cd988 + +Count = 7 +Key = c7cd3d7caf06d0113ee9288f7bf35143 +IV = 4c +PT = 70e0371f2b16d291630d62c2ca +AAD = 0bc1ea261cc5926cf27da50036fadd97b67617849e99f5ea5c9775ad92fcc3157d9a5e1a148297e0cf8368cdfa113afd915a825d596ed0326481662715e437455cb355285074ac1b2c450665386479d6e08f815e922c3f8ab23c +CT = 8eb7b1bb44356a9a970df4bf9b +Tag = 360a2c1d + +Count = 8 +Key = 2ad0400f01645253091a769cb4713372 +IV = a5 +PT = 2f351d9ba89434c5faf4f13cc3 +AAD = 87481e9b263e225ee8671c434a015f8d7d29db00fe3535017f3f282f72d43471ed2adaa1e654f8b0e1e3d12e9be44414ae149a3b65784de18e7d74d817f899272247b803e2a6128b3d987d128f3dd0179cbe3c1ed07a6ce87595 +CT = e6b299a6406d4897cf8a97fefe +Tag = b3325c09 + +Count = 9 +Key = fb9474e87fe9e9eacb4a6b56b86931e9 +IV = 14 +PT = 74da07aa41f04a498ca6917067 +AAD = e42aee11ea5f753c589278e395fc8007200f4a82f5ad20f16d7733973bbaafb1608e7b40468c0acf9820b4d36875d16ee022478c99697946e6708f7df0975944cdc4885bb69f5df073125a266fe414fa929ee8347d6af48e4631 +CT = 25c13b8cc4a16177302ac8dd2a +Tag = e685fe12 + +Count = 10 +Key = f40eb6451be3ce1e6569c03ed5620dc2 +IV = 88 +PT = e47523d38f429c167a25db5271 +AAD = 2380856a06bb981b8c1e979e219b2a975a4a4d0a76104f2dc79d5c3434ae28bd328dd632b0ac815370394589152c4cf87473ed8acf675efe02db47fc392f4a21733ca75397486aa58d96b54235449855e7ab8563405cf41423d1 +CT = 90eea792ca40c1b5762cfaff46 +Tag = 3888de7e + +Count = 11 +Key = 27eb6df85932ccecf65cd2d80a3b9387 +IV = 9f +PT = c46c02ac3eab10f86eac8aec96 +AAD = 30083107e24ffda6e96df878b6ae6ddb15db65194034662f51d63ffdda0803a26d71f73568cfac0c0a49acd287a501537ac68146bd7d4c3c31d156fb24d21d0998352b60bee8ca12d5cafedc5a643aceb58ddade28d64bdfeaf6 +CT = 460955657bb3023347cbbd956a +Tag = 1f91c0d9 + +Count = 12 +Key = c5601f2efba94397fd80d42387a894e5 +IV = b2 +PT = 926552cb6d3400c7e127b11dea +AAD = a66643698dbf89dbc04eb9ee85d60be8d479059062646767fd7d1fefb1faa6c6aa8d76fa742d304706f722d9c790779c624f77c89e143dd2202a2392e1d30dcbf6b1e1ba4683cbbe36307116245087c2beb445fe655d5c597c68 +CT = 21f38b1250d78e43b5509d0b39 +Tag = 8864f087 + +Count = 13 +Key = 8b458c5cc518f347b138205d559e1e99 +IV = 1f +PT = 88a312f64743e79c717ff422c5 +AAD = 520e78a1c485bf52497bae4251aea4207b3ce4cb50f509ef0ad8fb0f7609ebc61ce6942efcc290dfcd321b7b777c2846c6a939bcb2078c43bcdd06d9841ac519eaecc1e30dd40f8b49692a79dd014d729dde6ce5bc4bfbc87e09 +CT = ad604bc123108b77bf96874024 +Tag = 01fd0763 + +Count = 14 +Key = 916263ea87a13b416fe2d9020e7ee652 +IV = 4a +PT = a190bdb85efe487208cc4915f1 +AAD = d82cf4028a349343a9f4acd10d61354d8372844567908357704f2ad5d871c0388aa8734855a39a3f3986c339f22b7d7aef5efaace540d7ed7297053dc2010e12262512cc78565f58ad0892c5e4722cc8f8e7c6445533a8adf3c2 +CT = 256aabcd55ff67c24c446b5675 +Tag = 69c1f3d9 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 0d2d48af1de12eae099ad1de2351a603 +IV = 60 +PT = 7980e625031e4d769d4ae90727e65f58945fb72f04013cf1556ebf4b5123f523 +AAD = +CT = d45d35a8e3497c0aaa3ffcf361ec000c81b4dcc26ad2b0b16a176150abf4ca7f +Tag = dda4b1d6d28b7c7d9c231710d77a27f9 + +Count = 1 +Key = f74c65d66bd2b691b68065bcbc7a9b1e +IV = b8 +PT = 7a7c0b416e4aab2ec0aa317994147960fdad68428d760c3fa1fb4b7d0cbab2d1 +AAD = +CT = 7f1895b667ec2f5ccbf8b8a67eb077e09b5f0325918da2246db9fbc067308bb2 +Tag = 6d1e52fba568ba416d694ff048be911e + +Count = 2 +Key = c621ec2b5bb971a1ad7899bb04afa92c +IV = 2b +PT = b392fa6a4caa01d7bcf40c11a518a428e02821413a2487d9f7cb28cd4ac98828 +AAD = +CT = 4326e38a9c05b9df9f96ac578e80e5bd48256189616167e307fa8b2aa5983d80 +Tag = 8be73c10313f11d9ab3e60172dd48569 + +Count = 3 +Key = 5395e70c74ff37bd9eb2b3d9f94f32c0 +IV = 3b +PT = f23d1759bc5bb5b36162ec8b48e6d80c5e999856149eb60d08c0948aeaba2c0e +AAD = +CT = 71810cb8a6a914dd811dc1417ccbcbda9815a24a3f854a47f454ea315b49f22a +Tag = d2497c61447596b2bd4bbe4a52fdd5bc + +Count = 4 +Key = 2a3d9e46551855edce82b725974cbe55 +IV = 31 +PT = 82d4f026895e841ec94005068c081192747216d625709db1aa9386b627263071 +AAD = +CT = 642c1b93df7b62142874e19f95562e976808f04ace95bcdc1433b15b9a3f7eed +Tag = dada0dbea51507a9df0e041536602d62 + +Count = 5 +Key = c6030ce99d498992f5c73002cf4d3f4e +IV = 01 +PT = 9b76a26a19ffd8858b682bc893a2563f7d39774140eb7eba47b44b231aa20e6d +AAD = +CT = 976f95244301fb9332993912c8877328015b027c035dcd201d572091d5d32c73 +Tag = 86fd5ce3ccea780153dc9a75e1fb9825 + +Count = 6 +Key = e932e1bf6e41c47df840823fa67422c5 +IV = ce +PT = dad1b4b346bdd21abb8210f7cbc249f59695a6e2a44fd54e6a9af3e2e42ac493 +AAD = +CT = 272d65d69d649b4e852eb9ddc6a2cc70adb93c81aaf613d8e2c4d5df141ca7fc +Tag = f245f9a4fa7578da9fb0bc2a4c475c45 + +Count = 7 +Key = 2541bb3b213108bace2c885399b3901c +IV = bc +PT = e997965a18c0d950c14c05c06d7f2ae787e67b16158bf2b049a4308c534c4a1d +AAD = +CT = e94e8f8b0cfc931a9566ddc03d93081165ac976b5ad1a6c38cc48a0e876dae9e +Tag = 3e8f481753f0859cd35d99c8f3917715 + +Count = 8 +Key = 330555124359e1b8f6a1a814ec02860a +IV = 2b +PT = 17191f20befe422175a258049f4da0df89b2e4e3590ea1f3f149c0d3133e7bb4 +AAD = +CT = ea995bc4ecf018a01b32e871ff820d2d234e2ee413fcf35acf92664020be622a +Tag = 47613309549d9710a0ef53e6f2a21f8c + +Count = 9 +Key = 9a369bad156b02449dea2e355e31700e +IV = 9a +PT = b32dfd0454197f13f4f156e9126d58c8dca0dae113138969e26ee6a010dd1d01 +AAD = +CT = c87911c510222dcaf5c68226dc6d574dabd55cd9c8b1e7fa7ed523e55a147fe5 +Tag = ae0f1e45d8a7b8dcedc8910b96e55c59 + +Count = 10 +Key = ed8b3b47c7202760b301a196e3ef9dce +IV = 8b +PT = b94774ac7461c065b11bfaed90cb8bab4ec5865bcc945f52941b1f299bd2983b +AAD = +CT = e6ddb654cdce5cb8ff2cce1f12fd5af191f22082faec984beb4d930aa31f4e46 +Tag = dd7f6563a878737590babf990eb1ddfc + +Count = 11 +Key = 7778f741ace5b3a71efead7d0e4cae45 +IV = ae +PT = 7ef717b98c1e538fc75b54a55334e96e1c6a807128e71b2b2a90e8f1cc76bf1b +AAD = +CT = 55f2366d94d213302e6a397916b8972d465eafc791379b13da5ddc6175d308e0 +Tag = 915e3f248cb916d4f9d0ea93b4ffbb45 + +Count = 12 +Key = 8a9abcf28a3e30dc366541757c5fdddd +IV = 3d +PT = e6ba8140c8c3206bfeac88439efe1b32da53e988cf071f204167fc5ea28190bd +AAD = +CT = 9653091f6e8091e91656e798d4f728460a52e39bd9f8feb3939e2e5887b6d89a +Tag = fdd6bf781b0f01a4250df9dfecacbdc9 + +Count = 13 +Key = 2c345a727c9b86f1bf35ac39598a45f1 +IV = 43 +PT = 04d10a1e0d06190224eeb19fa337ed392b807f1118570bddcc33a6cd1fe9cb13 +AAD = +CT = 96367315173466925dd5812c4b0ae585d8ab2b33c8b1e0cf62241a00ca76315e +Tag = b20ebe72ea828a6b7acf14236263ab15 + +Count = 14 +Key = b065c4e9dbda0a9f82da5ad07b64547c +IV = 21 +PT = 9593c9645dbbf8f87ec6397c9b0705e76ea193b9e579ccccf8caf18273fd2f06 +AAD = +CT = 1191d086130310391d531d8e8affe1781ae5f5b8b1413ab0233b3bbfd2b29b46 +Tag = 4c6656312dab78b48312f19a1ee377ac + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 052c551e0742c31b914c762a265ee0bd +IV = e4 +PT = df6e2b2becd5d4ce5f8d609d1296f681de65586d3ceda519d74f8d198a6400eb +AAD = +CT = 7ed5f282d282197c6b4d4c275fb0eb4144740d3f333b512b9a35aa91de61729f +Tag = e2f52b0e48a610310f40f913f2d620 + +Count = 1 +Key = b3011fc3ea788414cfbbf3242ca79d62 +IV = a5 +PT = 409b6a527ed0f1550d7fe92aa1775e28797ea98599ba15607b07086915177552 +AAD = +CT = 5082d77857b6a41cc6d9b135ff797b32522a33aff4b62a04a68eb39cf4f3686b +Tag = 10a541531fe7f61fe9091e3c8dda2b + +Count = 2 +Key = 46c86b0264c97fd3e37aacc56192a817 +IV = ac +PT = bf521b93be5e6b2a95f5785bde89c0d3998ca9771a789d7b20fb9b4b5e9bdd39 +AAD = +CT = c54e5d157fed9953fee5de1ca9663a5b92758a0eb975da98a56690dfdd9e1ffc +Tag = 5682e709023d0b36bbaa0335a325fc + +Count = 3 +Key = 4d418eac20b187fa47dac26081622374 +IV = 97 +PT = 2d00e62309053fdd018373fe02604f8c7039becf16fe3a674319574f220bff48 +AAD = +CT = 46bdd696c245ced05b033fd091ed3e32f8089436e24e3aa8479cf9e2a587be53 +Tag = 7d061ea73e67d899f0789e4d84df5a + +Count = 4 +Key = 5bfc25b273655a86fbeab8908f1a3e48 +IV = 84 +PT = 0bc0d66278af50cf41cdb6cc2cc60c3b6b07953067e00e6ce8d469b7e73ea6bc +AAD = +CT = b3bbbbcdfee8ad65dbf1f071b20d2ababb72f995538a4fe2f87881841c89e2cc +Tag = 7a9bd22b6f14dadff2e15688f6eafb + +Count = 5 +Key = 116f94580698530aefdc2c6e19912469 +IV = 1c +PT = 1f9963efd8f948e444e18a9da74d29ee81d14fa7fd13707f34363b0949b8357c +AAD = +CT = 924c5dd44ed020867ffd59d607570323e3d9b6c972ec316501c487fce761cd35 +Tag = 59d6b19032c08e937113cae063bd75 + +Count = 6 +Key = 82a4080b8bf0d2d65a7052747b69c736 +IV = 25 +PT = 3ff76bf24645b5c59fbbf690525b0db9ad81ff0301add35f1ff975d2bec6d51d +AAD = +CT = dac97cdf148cbf67357f706afd5834822472fe8330e1bb59ff589d8194d4fe51 +Tag = af0bb966fe8d83a83a9d72e634fc9c + +Count = 7 +Key = 82713fcd632f22863a1da8a77f4e6333 +IV = f4 +PT = 19f8c8a16e08315ec13c7af3993fd8a3f19684c7d0b666c3e0479f56515c7e63 +AAD = +CT = 6d814cfe6df14d35a715885d755ff3cf661fb747834a21cdd4399de2dd652932 +Tag = 75bf8e41525a227f003608e69cdd0d + +Count = 8 +Key = 104b13ebcb833af6385c21757f857793 +IV = 0e +PT = c42cd25e5e2337456049e5693d7865cdad65a7e5df7b29076a8bb0e89e6a77ac +AAD = +CT = 153c33903d0c867ca89bd1968b8a97fe255516916d27c70fa3f062fb85eb7294 +Tag = cc57c7f15d2ae5591127c29b380437 + +Count = 9 +Key = a2855e6924742cfccf2fe3e8a0cc2057 +IV = fe +PT = 2d856c2c6eada71cd313ca5f1a9ad914f039505df08b90a462121e8ba7c63b88 +AAD = +CT = a5a2af37ddf5fd56caa5d9e0c0b4e861f9dfa908da78ecb1cc6fafcef9c77f5a +Tag = abd8bdd52ddd8e63c48086da3559e5 + +Count = 10 +Key = 8b2c99851d426ff5c15e203be90e15cc +IV = 19 +PT = 76214b2cea592b98071cf4e647c8975e5aeddad9fbba2d3f2123ac65cfc4d71a +AAD = +CT = a7990258f1fc8c4e6a41b41a206e8633460fdf4f13e949d54868c477e7428fa9 +Tag = 815be494711a0847c94b88ded97f2a + +Count = 11 +Key = 8d42ed18f2aaea97f5c800f6e7403154 +IV = 06 +PT = d8a86ea2e1444b7e3581997997437a58bf30c3f488a1b8da127564433a4d70d5 +AAD = +CT = 65d8c7f4183afad238906001e42ef3e5b545e3f291f45d82b6e3559a2448a6aa +Tag = b5ccb8e54b44a061cb3c2fcf649ecb + +Count = 12 +Key = e6733c8c2f429209c368c1e8257ab40c +IV = 7f +PT = 96b66b8f47591fd13bafc254913b14a91bbcdd1d58ebe14fc2e71bea61fc2a58 +AAD = +CT = ec4fda7556fc7150cc2b079750e00acccef35caefec108c8cf7581bf263948f3 +Tag = c6a9968a4f29ebf06d96111522e9f3 + +Count = 13 +Key = 928bc812d23a253d03f4a36657e7da68 +IV = d9 +PT = 030b3780e8237831a6b8925049a17c12c9dfcbd4ac412d8f4fcd4657a646e8f6 +AAD = +CT = ffe7845189efd734827e81b21e03589f770863d00bb510693b3680db160bbafd +Tag = f9a50dd93fd9377e2f1419bd10c37c + +Count = 14 +Key = fa48e13d89a7aaf60231e2f806f988d9 +IV = 0f +PT = 7ccd6854f00f177073bd9dae196ba83713c54a19e60e3b32e7e7b50f6c603805 +AAD = +CT = 6b077bd28f42879b54c519384afa968713f793b3035787eb477add4ea0bbaa43 +Tag = 3d072a31f95177608b0a36a21ef890 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 4f993efb8830c78be1ad4f205518dcf0 +IV = c7 +PT = 157c5b4a0dc244603785b5916b6c0190bfe8a5740aeb8c2e3824873cc6ae96d9 +AAD = +CT = 66ebc991a22abfba175f30923f2539146be8efbe2e008846e478bdc647b4c244 +Tag = bb96aab5fee2521b848b8462b766 + +Count = 1 +Key = 79190c2688beffcce288a88d71a883a7 +IV = a1 +PT = 979b6869dcc83be167ad75c75dea28a459f8e7c493c274a530486842d9e4c64d +AAD = +CT = 01ddb9f6990d4fffbdfa836a83dafeb7acda2bd14571c3b2daa88d28eb2de0a1 +Tag = b7c315cb7432d4869afd3bb68494 + +Count = 2 +Key = d030a7cb9621570b816ea329e696233e +IV = 58 +PT = 79f14c316737a1760f92eeaec055303e8b597de4eea9649f25610e5d8f313459 +AAD = +CT = 7111ff3d793462824104bd3025a08552eb9e2267e3d3a4d3e6f82810345f35f5 +Tag = c8f5f0ea80a01c2737992a397cba + +Count = 3 +Key = 266814a3351cd70e0651391ac3f5d4aa +IV = d4 +PT = ef461deffb69baff60f8bcc8ae6acbb130c4667714391e0bf1c7264abec45eba +AAD = +CT = f9d6f47c89f0d8f4695d42528a4d219965422eaee6fee262569b934c0a6aceb1 +Tag = 088014c009bd2204165becaa5e7b + +Count = 4 +Key = ccac0953e95ca3a944c2e6ffc503478b +IV = e2 +PT = d4a5fb72173516d1c535008e599be0d27f1a5c76c8b0af97856aed38f2a357b1 +AAD = +CT = 6c6d60ffaddb29826e49a22d548a26ba5bf10b2d336afba7a77583eeada605bb +Tag = 0feca2734a76956266aabac1d74a + +Count = 5 +Key = d2f690c5eaf0709b2a4adfb70a1204ce +IV = 96 +PT = dfbe3a5c608788dc1ca2d1d8fb3ea0eba724c3785991ab929681abda7ce1f747 +AAD = +CT = 58d1e3652c9bd02b6ef373c0b471af5380f1ebe545ede040d837479dde34c5f6 +Tag = b21e9dd84844913342a47199f1f2 + +Count = 6 +Key = 929227e86d3dfd1fb36d996e8a3369ec +IV = 04 +PT = 999aa2e0c01ada34253d3d25a781d642743aa4b4f558f9a42cb5fe195c96f1f2 +AAD = +CT = 11b3f08caee83ad334cfe4d2678633ee95bcfa162e9bc9a25ada66bd0c32fafd +Tag = 413765974be63a447b4c113390f3 + +Count = 7 +Key = af4ad6c9829292c71bce84599d3c144c +IV = dc +PT = 12a0a9e7a26f4a808a1bd0aa65c43fa6fba46965ba64515b13d10c5f200a66b5 +AAD = +CT = d937caf8fd1cb602ed628e2470ace779b7775b4aa4eea7c87f15eb2fb3ff8ddb +Tag = 84889ad4d9c24e23b424e90fc5e9 + +Count = 8 +Key = 351e3d3e9f8c883b04a6fc36074adb1f +IV = 8c +PT = 3ba25b6f60d7066265f78711bfcab40b2c5bedff75d7a6232f6a3ecbd2faa545 +AAD = +CT = 446f2616156a5d2767349159265e89d184e386196919b47b530ffd829806214a +Tag = b20d025fa25d476f1b600ffc1804 + +Count = 9 +Key = f4d218652be66a257de5e03fc7f8370f +IV = 59 +PT = 927f6e75abb60dd9195381122b11640632ec963608aaf79374f743c3d25395db +AAD = +CT = 2f9634782a21c512a8443d908424f4440e5cb8af200fd38df3823da25f80aa93 +Tag = fc5912c2fa527fadc185743e5ce5 + +Count = 10 +Key = 06236cab3426ce5b7b24665b262a2f67 +IV = ea +PT = 981b7ccfe21e28de431865c3b2ed45e9420e0eab67d1fbb8afc98d5e2cb6224c +AAD = +CT = 36bbfd60f5abf96cba369e69024d70f0237398ca68c0775a691c4ee67498fb21 +Tag = c1c4db1378d1eb1caa078ce99edc + +Count = 11 +Key = 59281e42386f9a45785f053360313192 +IV = 91 +PT = bc87143535b49667d5f08d11d402f624de833114181a5c9a781250819e7a314c +AAD = +CT = ddbbbfd5b96bba6d211c9abc5fe3401129853b854341749202ed2b2868ee1edd +Tag = 6cb56cf06f5d6a04f29fa8851b20 + +Count = 12 +Key = 9937bcea027f093db6d257ad66028156 +IV = a5 +PT = 550d42ec471fff6de59d2495d0fbf9b9d674114a99ec9bd486fe666e8a9fbc0c +AAD = +CT = 76ed169c860acd14c0eddc382617c9e8f790871f609a893ea62eedafe4011b30 +Tag = dd6cfecb80efb53fa946f224285c + +Count = 13 +Key = 1dfd0fbfd526a14fccd16e6df6686c95 +IV = bd +PT = 7ee885f3de856f3e6f8238e182804ad887aa801e48f9c1b0b6f1bdb597ef5ca7 +AAD = +CT = ec66cfb1558c4bf390b8afa7692d09a5fdacc9202c4abee7ee24a61b574e27d1 +Tag = cfb1cadd107c4c2f115e635b7eb2 + +Count = 14 +Key = 8328099b1373769de73ed2382d3ccb77 +IV = e6 +PT = da6bd67d4f9f2e45338974751322ebf8baff8a9d7ba13c9c19c6c0712b36dc99 +AAD = +CT = 0bc5c56f068df9cd78c0d17fbc1a536f7a520fd91254e88c2dcd93a150ea9777 +Tag = 1e7c15e9a7fb7e12aa8078de0be2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 4dfd78493d674c4e3f22ab084c151cf1 +IV = 98 +PT = e014ed045507310c80674d5d8ba4b713292f79ebc9c425dd3c8f3b18e7cf7a3d +AAD = +CT = b219a1841b459e82bbfdabf72dd5c72aa40e1bacd6283f69c417e441bad91566 +Tag = 09ebbb4d3b69f2d532c878b5b0 + +Count = 1 +Key = 0c95e716b53f61875bbc4873d2471713 +IV = 3a +PT = 44accd6ae4c3efac15955c81d1a1f96290a00bb202ceca2fa21eb63a8d6ffde7 +AAD = +CT = 0f6746b48aaea9591ce4e43b50f2a2d80fb338653af355db50c9d65706c3aeaa +Tag = 35347dcbdff799a7f7cf9576f0 + +Count = 2 +Key = d7dfd5d926d15a3c95213fa478cc31b6 +IV = 9c +PT = d83c5acde014c911ed564994736dd97afc3fb4c517de89e50847c96f3f034185 +AAD = +CT = 60571effd1a9455c73ab7df537b7d3f3e69e2284b409d3fa6acde32ea88d314a +Tag = f5869558f71c95139ad7d8cefa + +Count = 3 +Key = 0b0226370ba655ef1fda616c2ebd5a0e +IV = 3e +PT = 174a73b58fd047b0a009146ee26fcebe20d314bf9a92dd5c77c994ed1f0b905e +AAD = +CT = a7ea78fc09093a05f6f438d353cd02bae80fa75216fb5ba7b5686db9dfb0dea4 +Tag = 306a993f0cdc4696086e132d8d + +Count = 4 +Key = 387a858c2a84bf282b70cefd4c810894 +IV = f5 +PT = ea161abf3f1a589a7bebf1e63ad7a72e07ad357131ea1a4d81cca80d328d3d0c +AAD = +CT = 1c04f160438b0880d7ec70024d6044282297e8e328f309e37a52120a61738eeb +Tag = 3f2ef176bdd0048c7d5ed4cbe4 + +Count = 5 +Key = 9619c0e5ce1bee2f9615d550bed853e7 +IV = 88 +PT = 7561f996106163057ddf194a4b3f504cd836db57590ec363962007b6dee0d3a1 +AAD = +CT = b1df796355934d4e01ad09bc50a9327678ee81061040abd7d4206cb4a2b02037 +Tag = e291ffb0ca0d4cd35d15580619 + +Count = 6 +Key = 654ad0ba7df1af7beb834f1a9c7e7c0e +IV = bb +PT = a7952255cce9aa553efaf8a4d876804fc00539a68272596fdddf391f5e5bd7b5 +AAD = +CT = d5ba3dd425f6a5073e32bcbe7a28f5203d9ba3b96aaf61dbc1d13f2ddec11ebe +Tag = 3a63259a93af3fe8fa2747db8d + +Count = 7 +Key = c2a8f1b6f31d7e7e9eb0620a700a8502 +IV = 29 +PT = 5e6a47d2c80219924d53675b82bf3d3a1781760971534731dd398fd410e5db44 +AAD = +CT = 39e2adc4a0052022a85a34d762c9655cd2a47e978af30e54c6e4cb6f30ce8021 +Tag = f694e23c0687beacaa84be91f3 + +Count = 8 +Key = 48131e00684b6254c4352e8d431d5772 +IV = eb +PT = 9878e239213ef586965ac396d5d0cf94af74f511f2f228fbd2097b088408f4e6 +AAD = +CT = 7e6c3ca857a3695ada2c0e8ddbf0faf1c25eeca3dae5f4d7981098780ec439b0 +Tag = ec5bb5fa5c42ffa8ece34aff4f + +Count = 9 +Key = 372ecc8a093fb29f8a350961fb3fafcb +IV = c6 +PT = cd2b529c803b2a1629eeb18bcd44103b3be8a09c53a8d31d5e95b32bd5b85ce4 +AAD = +CT = 889191eeb35a8252912a02e56a804b30e201919f5d8f13c8dba74539e4e3f775 +Tag = b039866be23400ee154b7830fb + +Count = 10 +Key = a59337e17df4696692d2d3b287520424 +IV = 72 +PT = 9e9962c8939f4898fee15be998481d50184863c04a345365e11372b1a80a8365 +AAD = +CT = 261948803ccd26d743e918deac64faaba86ec1b1774d509e120af22cb83b7b7b +Tag = 2ff0d2216dc1888a784fbb04f8 + +Count = 11 +Key = 393d8e251080d1be201673cbc3254664 +IV = 38 +PT = 93ac21d310e095163bb4576dad4f6f72aeb0aa8c7df560416af123647fbd5372 +AAD = +CT = 9519e8549e943cca6a7dc6fddd0fce45ceeb9683c97d663ab3bb7a4337d454fb +Tag = 2152e5e19b2b4d10e272f0fe1a + +Count = 12 +Key = a3122c5d14bb7bf95d8c1abd509f7dca +IV = 3b +PT = 785f3877a9274038060cb45711f36cca8d6ffd0dc08987c2dc978c75ab29989c +AAD = +CT = e518a1c91ae15557042f52cea3b317f597189228036779e37964acdf691bf4b9 +Tag = b3f852c1119413719409dd5baa + +Count = 13 +Key = 1e116e8763b870183bab8986e66230aa +IV = 01 +PT = d8e9c68811bbe4756f08b72eabb1cd2933cebb63f2983d279e1d6a9e4d6c4da0 +AAD = +CT = 21bbe14c2dd935fc1794b1cffddb1aaa33fe28b092545057883206b8e868f3d1 +Tag = f927613aeb36a58a7b0ba95681 + +Count = 14 +Key = efe2a03e2b89a712b2835e3790450e10 +IV = 22 +PT = 89abe20f838b88c34cdb50a2a5ddbc8d88488fef67e817a272147f367fd41ca3 +AAD = +CT = 78e6668641d98e74c7c19f3922165c27a2790844b7c658666c959d0f00807ba1 +Tag = 6142ec09ca267b100ac891c61e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 3b1f852e6bfc788f32cbfd2859eebaf0 +IV = 57 +PT = d05f033b263ff2f797e5cd571f4341404f8c8700ea1ed77eb5d161c3222c4598 +AAD = +CT = a5053bc560ced2b677dc7f82e0c1cce3c7da3155b9ab6d9527856c0ce73353ef +Tag = 17e6ede2c7a292b7d7d0c10e + +Count = 1 +Key = bea7c099f37a98b3df12162c4e38d9f4 +IV = 51 +PT = 91ed5aed5397a4d1b471db8331a3d7e7849b0aba593013c5ba8a57bf6e98205d +AAD = +CT = a40419306306d3593f923625412cf5d3bf3abc49547e3f837b3ea74ebc23f75e +Tag = dd6858c01aefea78f5868c8a + +Count = 2 +Key = ed3964fcff285e389edee3514c751005 +IV = d4 +PT = 0fc7b0390599851800227a736519f3c72a7dc869454ffd33bd4734e9987f11e3 +AAD = +CT = e8bd7e4e5dea2029d0fc8c1a0f24ea87e80905ce235448e84b641fe454f747cc +Tag = 745fcca4d38e39bafa755197 + +Count = 3 +Key = fe204b0855268bffe7d2caad1daf14ef +IV = 08 +PT = acc1a3573a3323f0b89af71ae63ecb9cf159e8c94e857e24e4dcd6426e52b464 +AAD = +CT = 63976ec41ada159939756a6adc53931a7cf12f621d443e6f15263f64e26ba9cd +Tag = acf5b8be82548555b8700acb + +Count = 4 +Key = 9440d9ee75b752eb252468abb5cf3246 +IV = fe +PT = 065eed1dbdfac3220825baf9a01926da2a9f648e0c88a06cf870f73c68a244ae +AAD = +CT = 9ad852667a58fb0298ab26d5e664dac698a2f49f9cfaa264f5ed71665340459b +Tag = eaab6e36f20da7ec69adc438 + +Count = 5 +Key = 895b5bd73da276887f38aee569ec91a5 +IV = 36 +PT = 70e450c7ccd2bd638d6f2e25c4b3fd6ce5d68d63bedb491de4632b29c9a93ffe +AAD = +CT = f5848950c162deb1027d0e95602cd1acb7bf3d99e6b98a9afcba913cae8a171a +Tag = 0a8222b444c29f8c4aea5913 + +Count = 6 +Key = 86327ca9a111e33150f5de83b37d4eff +IV = 25 +PT = 2c49c5c79a2d647b5db04fd0e996357012116ba29fd8fd39086be877bff4664c +AAD = +CT = ca7a9d9ed28cfbd3b4fb22596230535395758b1bb24a7392b18dabb76e24e10c +Tag = a044ce559b784c9c2e1e1e24 + +Count = 7 +Key = 96b65d1f6a428b9d94229210a21c97c9 +IV = 30 +PT = 335f06467b27d4e5653db1f1f7c2ff0c2f15cf3b2c657042e0bb918cdfe88f46 +AAD = +CT = c165d6b36e3a952e5b9ced82f29bea79be4692efc8a3491406b9f78283bf66a4 +Tag = 69f3be0e68334e60680a912f + +Count = 8 +Key = 6db0cf24f9cd32c334f31a8cf5762e06 +IV = 6a +PT = 79b5d0c13c089abadf22e9b73a9ab95d77ecaeba8d464d4b8373e3b5f4576730 +AAD = +CT = 5a7eeb750e729a16eae2f36beb3b0c10554e095412af4d724c189bc206c9eaf2 +Tag = cd30768e2968565ff6a508f2 + +Count = 9 +Key = c31c4fac49a0e88b26275ca02f9a41cc +IV = e7 +PT = 2eee8c5b27d0f4fd1aff6630dc7a1bba4cb34705beea7d06cbce933149c3dc1e +AAD = +CT = bf41ce91a89eae6524ac2be05cc4cfd3539b920a63c38dc4e12cea33ea55845e +Tag = eff429bf6e8209a653896593 + +Count = 10 +Key = 5e5b17ecb406457a6f4623f47ae2b452 +IV = a7 +PT = 317f0d5657fc4bd9d4e39e5b6e5ecb30d6ce0bfa755dad8c802acecd6e193046 +AAD = +CT = c9b6a446b68af447511ae56188706744a236cf02b8d73a5ed9e6e2cebe8d7a8d +Tag = cb9d0db99c7034a7760405b0 + +Count = 11 +Key = e0ce0052a6d8cf2b638d8092c7f5a49d +IV = c0 +PT = e2d4412b89e7a0b32944ed3d28fa1d00083914b9e499ec8759d538b3dfcc20b1 +AAD = +CT = 3ca38eaf64f591d0bf1943f7fff8d10c50c12d0593094ed12bddc4f876464ea4 +Tag = ff1bfc106a4e32b903153540 + +Count = 12 +Key = f2024aa169f248433210ca2548364db2 +IV = 81 +PT = bfc85e7488f58b76ec3b235b8f96e4c80efeeceecbbc9608a10c028df6405da2 +AAD = +CT = c80c015609937315312cc8b33dca901f3747e0864360c0d0c145c56718aa5d2f +Tag = f1befbd81982d9b5c45aa17f + +Count = 13 +Key = 544eea03a78a78eab4a46b2eb2525f43 +IV = 38 +PT = 582bbb27fb957d5405330b1178b78f040b3f6c7dbd3c436c648d9843b2696c5a +AAD = +CT = ce153778026e27c71143f0d90c0b752cf34356a944100d89cef005fc34c48049 +Tag = 819d6778a1f1cddb267dc476 + +Count = 14 +Key = ba6ac9a3ab62e2bdc6140376d58958e7 +IV = 6e +PT = 5d40e9d3e2a901f76f3eb0675b105a8f8d67ce5653d80272fbd75c14b30e801d +AAD = +CT = 83a8c6a021b4c5f0a22e057e123e9367179b907cccd57f1704110c97e7933169 +Tag = a0cc379178bda8af9c9c1622 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 46720379f55cf0ff0712b9c6593da684 +IV = 6d +PT = 8861308e68cf9e0a15676a2e337e071f6c1c3b6cd27ea5d9b5000e2f55da316c +AAD = +CT = 17b4ac18d70301b681acace090f7dd8f6ae7f1e833f3d4bff71145bf01c0180d +Tag = 7714f68431e790d7 + +Count = 1 +Key = 108ca529bfafd4a0c6880af63f514941 +IV = ae +PT = f4d01c4c1a21a78c9f3c60f0d030cbb58fdc347dfd7b36c895fe8e5cf6127a39 +AAD = +CT = c466bf613ccc3944cee7d38145f70238bef7111bacfdb26349bd9b83e56f1e65 +Tag = 077bbd8823d27761 + +Count = 2 +Key = 75150a687b0c419942dbbd76029e0da8 +IV = c3 +PT = 4a8e10547bf837add2768aa5780fec61104dd4ba908aa38e7b83b9836c672c0b +AAD = +CT = 82549b27f6aa7b7030dd77066e341de56baba7f515cdcadd881378e04f42bb05 +Tag = 64ee9b7789c24708 + +Count = 3 +Key = ec2153758968ea19dcec6ca8e3d736a3 +IV = cb +PT = 6695a4c60c23f9cf83389c9af5c85df02c05aad0a0430104452acb25d4b73d16 +AAD = +CT = 248fe471b6fcf84fc98402b6ad94405c2b3fefa0054c5bfe63d0136770c9cbd8 +Tag = 884fd72f870507bd + +Count = 4 +Key = 8b8710e12353c54458000766fb04f539 +IV = 74 +PT = 759878cb1765e1b242640309eb05b2f7c3a730a6c4c6cc3b9482f427e97bfd06 +AAD = +CT = c35c576ddbdcf9a06eaeded9fe31dd46c7a6473cea68bda5de73589130f0413b +Tag = 251a3fc502bb0e04 + +Count = 5 +Key = ee7d7366fd02de59604589fbd243ad92 +IV = 21 +PT = ec4117f64f594cc43d176ab2f12a075e48619aba0a9ca6cfe121e44401422f88 +AAD = +CT = 36776b26f3615b6d0d2de0cf6f4e9cffca1a041423800d95d6a7d9343a3a73e2 +Tag = 720f3f6735079d1c + +Count = 6 +Key = 24b0e667efa790ddf0caa03f30b4fa44 +IV = 41 +PT = 7986b44001e85721983f20893cb419da9303ce157b866149a30d492a269acc36 +AAD = +CT = 34a35a994254e9e187a2d590436343f9bab35b08a6626980b3d79e82034601f9 +Tag = 4579ce3f0a81fd6d + +Count = 7 +Key = 8c23e760a0d0e92f2731374edb4002ff +IV = fd +PT = fe192cef925dfd0139e224921df956fd0ff5d9a666bc9363fcc7d874e5cedada +AAD = +CT = c88fd33ed46f2112e666319fdbd03efcb5412cf5e7d25d953faa4e66071c9ee4 +Tag = e6d6f11d82beaece + +Count = 8 +Key = ed51ccfec38e08c8c5f93e0a07f9c8f8 +IV = 07 +PT = fae78b1374285e7491a4eb3c2a8cfc695acdb3a08709b36101a9dc0d8d58fc7f +AAD = +CT = f145c3ecd8d49df2d3b2fac75c04bf210f0e3e5ff5adf475f96a3804ae408381 +Tag = d8596d45a8823630 + +Count = 9 +Key = c67cb97ee832eb0962b5f8b4f7f371f4 +IV = e3 +PT = 139ac42b692a35584e67efa39f8949e120607590c296164f4fcb0b4e04a48aaa +AAD = +CT = 2928291a6c104ab9779773c96f4c638bd5fca8a65f6d91dd2aa9dd0789e829b7 +Tag = 38201412058c2182 + +Count = 10 +Key = ffb73d61e0c8f227745c72d0a6dd553b +IV = 53 +PT = bb39ee21bf66acdb5bd36a17fc4bf799384eb515c07d50b6113b0b3ad93cd667 +AAD = +CT = be271be5dfd94712ef74effec7fc349a8ebcf5e4b463982fe0a1c79ebe65bf9c +Tag = e73f8d18711f5de4 + +Count = 11 +Key = 7c2e87ce44e402abea2a7f4f26ddd172 +IV = fc +PT = 263d8efc24fb3a6856bfee335190702927ce9b2cb6e070ebe775ba456a84751b +AAD = +CT = d8dbe724032d349892d5dfa44cbd7bc5eb9f607c55dbcf27ce914c76c033595c +Tag = e59d9d697ec59fcd + +Count = 12 +Key = 321f656ff05a4e0f65891f86c83f08b9 +IV = 82 +PT = d31b9f6c0cf8f78ad92a6ac0748c7bf18431e7a3935af4af59c7d7c41889dbd4 +AAD = +CT = 82f52ea2e0b42ec94585498ef13e50c2376801866991d0372a645ab2a86bb9cd +Tag = c2bdde7cda3f31c4 + +Count = 13 +Key = 1cc375f83d634e5523373c19b8750b9a +IV = ca +PT = 12a0e7f49ab6dc4fb193d99a3563059741dc04386a4a8e9a84e9f003e20e04a8 +AAD = +CT = e592c13df77e2f5566bfc5ea617762e7805f6c3ce0cb6ce3d5a9b8dfb44e80f9 +Tag = 96f43f91f809e8bb + +Count = 14 +Key = 4b89b237b688d17e1e8e8e2f6993c741 +IV = 1e +PT = 40fe87e56677182bb4fd1b0cb61732f3638f3553533217b932a1a7278ab5668e +AAD = +CT = 1b3abd8ed2642d97e1478b5c19f5e37422c37a7c7ab273e2ec1e41ae9d50c519 +Tag = fceea48afe27af68 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 6e3d342e129bd0e01bde4e63c024647f +IV = 8c +PT = 92843d8a55e6ea14bfcb688771665e1ed7deca931a7311fad415f3933f1fd1c0 +AAD = +CT = e91acb0dccc219fa284c39b246f84d2a94fa7e3b190fe10e37b811ac11808b0a +Tag = a8318cd8 + +Count = 1 +Key = 3a24c6cae77c30e0a2b0d924a43829da +IV = 77 +PT = 2c836f23e77dfb5f4c597c0a835abe07de812b8b86f8602a3c2d6c6392bde8b6 +AAD = +CT = 62be7ff892ccc76ec8ede7239c84eefd9b89579dc36a898d49f862eded7884e1 +Tag = 9c99e209 + +Count = 2 +Key = 03fd486bcae4e8c7e6ca23b699f736c3 +IV = c8 +PT = fea7b750e07448f069d276e81d38335616e90cd69faac378d41f05dd329b353c +AAD = +CT = b87ca36cddaa794ac4a67a46d84742d6fbb5f6765863be1390360702d7b1a0e8 +Tag = 37a2d5a9 + +Count = 3 +Key = 417f9c83fe634762678becb4d70c387d +IV = 09 +PT = b0ada28d4702aadfb89c3863ba5389493a4ab32e12c3a4f60692283bdcea2045 +AAD = +CT = c59679030ea654ef777c09b30e63e90104b436671b4d5084fb8b34972a59ca6e +Tag = 4f850543 + +Count = 4 +Key = eca65ea9f9528200b2f01c79f450418a +IV = b3 +PT = d1d0303503a0467351d29942d36016ffd0d0bb61e6d4b8983f1650e26bc49a56 +AAD = +CT = 48cc16fd916438dcc5dbdd265695fc2a38931b70d58e9f0ee1431fdb4b5c2e06 +Tag = c1aea37a + +Count = 5 +Key = 342ba0177ebf615a65b2609346e112eb +IV = 7f +PT = 1801da27d06f8436b213e7a0feb7fc90793481af5aaaf1185511ff7bf7ddb9fa +AAD = +CT = d2064c11dbf80e7d1e4eae771dfa93e7021010e0fdeac8fc7b3653c83d209ecf +Tag = b75c3698 + +Count = 6 +Key = 7b5c4dc625cdc82c209f52789456a02b +IV = 18 +PT = bb9fa45630e51d5314b0d5b16177e54c6c997206a084dae508d67dd6fc838943 +AAD = +CT = 1c9051c03f36ce53b9ed8e6cf23a345874855f31123725481314eba478bd2134 +Tag = 48c28ad6 + +Count = 7 +Key = 3f2433ebc75febd10108db800499604a +IV = 3a +PT = 47c08ca70f489ac4618d6bfa6e3c1f13cabbfa438e1fd6f96036810496fecbe8 +AAD = +CT = 7779154dcdbddf86c96e7e9a88427ddc9d07b4d7fcaa63133f72638b46fa4b6a +Tag = 3e81614f + +Count = 8 +Key = fb0f2e7043045e8eb280f75f96c72cf2 +IV = 6f +PT = 4474d37f2583a02ea2524b17dea2fa49f102f204709363f516862bd8f8ee713e +AAD = +CT = efe4a337614c1601a5f19a770b8d41b70fa600fb53e2733455e17e3f9bf5104b +Tag = 1281d5b0 + +Count = 9 +Key = d40a955f4f8d37f88a085b0cb6a368b3 +IV = 88 +PT = 200e9ae1abd1b08d5cc4be73b8e3bbe0d8d9676db72229b1aa7e740c4f82aace +AAD = +CT = 6056b78837eecccf361ba2fdb951ef453e533e33b2ba9ca1213480ad6b4e1bdb +Tag = 850bef8b + +Count = 10 +Key = 58041fbfac4872c5fc082566646d052d +IV = d2 +PT = 3df1fe71d3a35c079e9e106fb0f78b9c681600243a82df9b0fe08f024dec1f07 +AAD = +CT = e0996bffc222b1e27aeaaee6cd58ec717f73a48894a6bc002b5e0e1385769437 +Tag = bc71e6f8 + +Count = 11 +Key = 69d956e9d21556c516aa57274388300e +IV = ac +PT = 0bee2ed42ba3d7c695c790dcf941d14f27665846ca853d9176409574e033b3e9 +AAD = +CT = 8cbf9d513c99113ef2ab79300229d43c3e9186c28a4ccd1481b0593fd2c920bc +Tag = 2f301614 + +Count = 12 +Key = 2f776666bebf4b89d3e4ed322d0178c8 +IV = c6 +PT = f94fb85bd652c5fb139ceffb7b3c1b7a03168c46ada82994e15854c15ee3c2ab +AAD = +CT = 23638665d189abbeb37b94362722a3a9578af5a532fd655608661ae376d63a6b +Tag = f0382952 + +Count = 13 +Key = b72750f01fba4f9fe43ceebe9e60a47d +IV = ba +PT = 6dfd3bf56e4e4dbd7ddc269b209175337ae03b0cec30e4c2469ad710a53f2e90 +AAD = +CT = 7b2344232d2e7d9f1ab7690cbe8a75ab16a73fd600becc4986427b4ccd028e94 +Tag = 1e01c1e1 + +Count = 14 +Key = 42963d0f1523a3c8cd4c4a4fbe58c44d +IV = be +PT = eafc1111d9a9884f97c4502326b10782734e6e8795bc32755d4a2c145febeda7 +AAD = +CT = 8903b23434a94d800ff7b0c5e4e4a4d8b1a26de9b640071b7b89f08f7ab85583 +Tag = 589d1d2d + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 9d09dff3dc09ffea55ee6463abbdc4d4 +IV = 32 +PT = c6b97a952abfc47685372f3ce5d400508ffc523aaa99cba1007ccc5ec89c7db0 +AAD = 391e8ca473b9d115c66927aacc7702e4 +CT = 31766730d5032406d246d337f0d9652f4605e0f59e5acbd9c3cd22422ccbca31 +Tag = 98d36398ab454617e68fe85c78da0143 + +Count = 1 +Key = 5275c868c8d1ea80acfe1bbec223884b +IV = 37 +PT = cbe02fa7e3f30c24191a36ba6468b859813a15b1e57628f5a22238b6c6d0287c +AAD = 491a1ef5be2b2a59c6cd76f48c5bc72e +CT = 219dff98719a8c8a6b5f08d3f023ffda91bc4cea04640cfe507b67556ab57eb6 +Tag = ad80c486ac6acf85207c2b6369fde16d + +Count = 2 +Key = 07496ed7991eb529605ebdd24f9553f1 +IV = 47 +PT = 3a4ec7ae95eda4af3107c351cf9c26047efad45adcebe5d41d9165386203be02 +AAD = 3521c5f6de4cc201f40dc8bdb56f6077 +CT = c405d65bfd02582851ef014cb9603dcf0c644715fc9ad14d60f48ca2aa123e58 +Tag = 59a850e7f23c91870f17217eb7f937ad + +Count = 3 +Key = 3b6c5c3d14a463e23ae69a0a13706348 +IV = a1 +PT = 72dd25741c8dd392c553a19b37fd1a7338ebccb3a5a2d37825d737ad2c33c71f +AAD = e8469e2e19e8b4cd2379091e3ba0f2d6 +CT = 8d41fab638ad523c14649c1407a1fbbd4294f6a837378ccbdc2912fd65af4745 +Tag = 3cc9f27134b2446ba0df1f44c76bd98b + +Count = 4 +Key = f77b249e8d3ea9f14cf8a68cf1506667 +IV = 97 +PT = 333561257bcfd5259a7d6c07229081be6fa7d68737e782b34f2f93eb0eaa737c +AAD = d2382a48074222af450eb9aea42de2b9 +CT = 27d50a61c55f761bf2d3b35b761b0fc512aafa6fcc5355088a4ed04326439053 +Tag = 4252a1724ae5f872268bc45e3f2f72af + +Count = 5 +Key = aacdb995f58d0f1e66e4c1515c9997bd +IV = 22 +PT = 44ba4ca547df9ab836be9a39a8decbdba11055f011bcde29e3ecca1fb6bc0acd +AAD = 5fe17f9232f0f8c26ae1acd3257364f5 +CT = 93f2d2372324719d8d5a2faad982920653be27569a73274da00d9da11b90c3d8 +Tag = 9c27065b0da791831f2d5ae00024f81d + +Count = 6 +Key = 74a0926ff2fd14632e38e194e7832421 +IV = ee +PT = 40851415b0316260856415632367a290f8fb89cafa88055e5d9357627d1488e4 +AAD = 524071cd5a0c6ee4ee6ac2098482dc7d +CT = c3e17b876ef7161fa6f95031d7daf299cd49f05d1a195fec616c32585efc2883 +Tag = 5e627409cc40779a2e0a198f648f77b1 + +Count = 7 +Key = cdda4bcd4df849d5f6ac5725aeb69053 +IV = 38 +PT = 7cc0d70fdb1474b0c32c482394b1cb1bafc12836ba0db00f93e46550b6b4f329 +AAD = a8777e76c682b41cb49f4e6dd18d7300 +CT = 630052531f86ab065913ed6bc30d5ce39a21e159678a19e698ceeffa2533dec2 +Tag = 985f998a2dc24ee334e1a7272084d939 + +Count = 8 +Key = 4b820ee3cd689c69020029124cbdda61 +IV = 3c +PT = 7296b1f28c6a99774e21c206b07707eafa99f54fe2f25ce98927e00ff2492ec0 +AAD = 1e0044fd8443e1eb24450dd61df7fe37 +CT = 0d2b0dd27752d0e9c07ad3fe3bec4b21d9624c13d75ed404f8080bd8a226ef0d +Tag = b6b86e030da1049c48205fd9f3481048 + +Count = 9 +Key = 802f8743bb02baf8fcab6240ab5c2e70 +IV = 40 +PT = 6d56002ed5c10cc24d39f86f6c6991185dba79d6d94ac977c7a91509cd958c20 +AAD = 694043c8031cc2f87c085a51ac9187f4 +CT = e20c3ea1b8d27d8c57a344cb86b56ba6897b8b8bfafd73ec5d7a0735523908e8 +Tag = 11566fbae3bdc0b8de45e04c42694b04 + +Count = 10 +Key = 24a53512a176d7d2778c54fa9499d4e5 +IV = 58 +PT = cb5fd7d57e6b46ac8a3e0c91be73c25cd17949160806aaece087f565987206f6 +AAD = 72d2ec19b5038cedfd6129862b616817 +CT = 52dda95c8afd22cdf386a885070bd20ca5cc4503964ec4a5b307f83668d750b0 +Tag = 481a0baace924526298ff5947d7fc622 + +Count = 11 +Key = d625a03e3ada2a12364aa0ef4ef723aa +IV = 57 +PT = 156e856e9e5e83e7e3961d79fcc0322c2734343ed8851d7e2dbac63220db332b +AAD = e4f611cd30169367bd02ed347520e279 +CT = 86814c967b97ce9f2323f0f599f85230fd5655d3d6b97b7300433f2585f873e5 +Tag = 0ce97210bdb11752b2c4cce22e9ec55b + +Count = 12 +Key = fcc69df54012e64121fb9b307e6cecca +IV = 65 +PT = 0611b159cda2604e5d15cefadd08590b5a7c0ab6e04387f94e5350c1a45c3173 +AAD = 78118396cee6a3fed09b290ceca77bc3 +CT = 6f89ea622ad04e411a2666dc0189e6ebbcb78e8b7ee65041b995c5d435d04d0a +Tag = 2f828f176b8a44c410da5a671993e542 + +Count = 13 +Key = 76b743420a09eedc39d9385fb3024ca0 +IV = fb +PT = bfb36ae05569de237f9f377d17c3ea6254a88aab8c158068b744f67ca3d302c8 +AAD = 42a40fd561a749226c6de97a5e89edc0 +CT = 26153d5a121dbd75403781b176212df0cd44aa581e32248e47e8a5c3e0847427 +Tag = 36243e59fac730f07f5c2c9584085356 + +Count = 14 +Key = ef7ba6d991e526c606c9e0bbff77c330 +IV = ec +PT = 432197fb40dee278ec1c06f8f9fa594bbc546cb3015047e1f63a863314aa55bf +AAD = 7b90d5780f365b91399ae2ad5d6e232d +CT = 6ba044abec7ba4ec8bf37885483b7439930967d3b595e8209f572656cec61b40 +Tag = 371348734292e2ae7464616d6570412c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 48ff181e23320b49543e245bed1112fc +IV = 8a +PT = 39c3930d3d739c37fcf0e21645e4d90f5be5e3926060b7ff565bf7d2ca24866c +AAD = 8b43fc4ba7ff5a2caf69ce4eff1b58d9 +CT = cebfacf894c03d841d1a7c9678e67db0afb7e6ce212a2123e9bd9fbd40094fa1 +Tag = 506c0a7b970b1d9b819b1496403c18 + +Count = 1 +Key = 451e2e48439a2c028f4580936141243b +IV = 4d +PT = 0ec054c3c2769fa526f6041df9b02d9b6b168dc74810efb9dca0e33867c04549 +AAD = dabac5bfccdcd26bbc30d87281eccacd +CT = 3077cc14d2e847f5664d5b37dd392c8eb87eef3c378bf0199b582b5760a87265 +Tag = 53b0b20f918624d9e0df3e33943231 + +Count = 2 +Key = 157478c547d2bc34df43e81bde301a55 +IV = 2b +PT = 96c1a0fcd213d35c9d576c2cfc9d441e3f104cba99b4462051a37f360d54a904 +AAD = dcc6b9744abe49c994d0fddc37bb110a +CT = 2e9b053d36e998de5faee8f71044b6ad8d000a98b4d815eaf9e4fc8d34d20c23 +Tag = 9813f36617eef06d373d149191a363 + +Count = 3 +Key = 7401f43ce50be9aba9f61cbaf7e76825 +IV = ae +PT = 5f4e86ccd1823f74044f087fa1cbd0c87cbad39455b7772bf8a84be12790b0cf +AAD = 06b158f46a3f018e45f1a82023658971 +CT = 10924221b8d03d141ff119f57e8509136865fcebcfa2943ebe0983f49ba0f700 +Tag = 700bd3630050d75c8012be1ec2e515 + +Count = 4 +Key = b14e8e403e4c7236d0e0b86b0b865ac8 +IV = 62 +PT = 0a3356dfea76fd807c495895cee66889101a3a230da997e587fd3fb696734eb6 +AAD = 3f2687457da829a28d9a5669998d9332 +CT = f5f0a7c2c4253d9d953a80dab352b2af2bb3380d5aad5b65cff4e3d3abccc7dc +Tag = e46e8f0ed110f51c931ac60b01a347 + +Count = 5 +Key = 5ac19592be7231cbc6bee24b867028cd +IV = d5 +PT = b78583234f2baa193cbc1248fb69768c1b54e0aca996cf051eba599f2b70920e +AAD = 01d4c6faa92a015417863fedcf536510 +CT = 854707dbb12e652107dcaaadcebc1008935c68d470bdaf7139b39be13c04f76f +Tag = c9d9c11a4a22e294d735e358e8acfc + +Count = 6 +Key = e142b0e439e1f1ebc112764e14c4d396 +IV = 26 +PT = 1934b8ecb16e61eb04ee17827ae50da9ba5f10302c6f6cab14f747e62e64f4b8 +AAD = 2e96930da24453b51ce65d428db935de +CT = c3f3b12159546b73cdfea3753e8d9c86295caab0681e350205412783824a1db4 +Tag = aa37383ebc3bdf2e723e4c4d48fe04 + +Count = 7 +Key = df0e9e4364bfc2f132afd2c62335f8d4 +IV = 8b +PT = 8a66bc838273360e3c033f1a12b55466a438cb87b93235dfe776bf92af42d2ad +AAD = c2e76119bb9b6005ae0f6569ea344071 +CT = feb90f218920eb7a35a7a4283f4a817e6eaeff2a01fb4d16a1eb52a91fbb1703 +Tag = d2e16be4887d2d2de5bb469ccadda9 + +Count = 8 +Key = 4894817f36128b97c5556be93738450b +IV = e3 +PT = 1be2201ad4d3e4b807dd26142703e42bcb980bc74e8e5f974dc453ce5a384d9b +AAD = 3ed40a0c6b0552700d72ac2b04a5ce7b +CT = 4564ee3b2a3d896484b995a333dc9fca9bda32fd68b463990ed79b2ed9549d1b +Tag = f1361592aea7fb1c1c078dc1719ced + +Count = 9 +Key = 11e3f392fc83fd58a70557fe467c8f74 +IV = 33 +PT = cdd63bb8c24749259e070c6b6862b31db4b02c281ba990da8d3b4c7b659a0280 +AAD = 261dfbb33a4b87486a22af28612f16d8 +CT = 93d0c1f6e39c2d0e90212cd39f08ff051ecff2b5e3484e59af91d024f3a0ab5a +Tag = 74d5911614994a3cd0fd5e9f288636 + +Count = 10 +Key = ce793b307c17f916da258e80d5be01e4 +IV = 35 +PT = 17b337652277a3b943cbb23e4a868fc3f2e931454bbf6830d398f8a5e433be54 +AAD = 7da9b10d1780612d19d0840ee3313b28 +CT = 23645e3ab2a289548b0711d772809dddb23d1b4b58616f07f43e24bb4e33f3a1 +Tag = e5f38f7e50bbe78e406d90f8dcae0a + +Count = 11 +Key = 32306c809489cad0b8abe211c2d9dddb +IV = 4d +PT = 1a30875ef019440c205a67b0c77c07af225f31a8017a87a5ce02ceab6d4a3bcc +AAD = fbcfe90e022ec136d55c79cc9e43130f +CT = d6fd566bf3aea06cb8fe62a73778cf30702bfdee3ad045aa52be3c83a859a556 +Tag = e0ce28cfac5947c6e9fc9d51882505 + +Count = 12 +Key = 047966cc023d2faf91f38197373ca979 +IV = 6e +PT = fd1486a67b7f75127d1281582fce24067074ed6b43945c76334903ee29206fef +AAD = f5b19114209d5fe342d1e592173d5021 +CT = cb578ff56725bf1330b718059b6c917817c7648b4563d25262da9e32c5c5b038 +Tag = 38b5423b1a95d6543f5ef4b4e71a8c + +Count = 13 +Key = 9bcc1758718d48787f6d71369023d3ad +IV = 97 +PT = 64d387eaad80b08f2a7a245aa5be2c7eeaeb95a2523f52d7d02d5965783c17a0 +AAD = 8583a784ea216d267d857967ec7d3acc +CT = ff86df8d83cc9fd6c6d37acac7b03d3995b8ab01d1774b55dce5bf02e3ad1882 +Tag = 572572343520554fef0c19c6f1c60a + +Count = 14 +Key = 41d117215871aa0a7407e924988da092 +IV = 22 +PT = 74f8b9ed2afca908ffa2501dad746c8870b285d5a5f6fe2a3059a08a0e998a1d +AAD = f8486f476f19463d5db137764add64ab +CT = 780fc22e15d10b7694bff9eaba14576e322029ce506613f9b4a9174b7bee69d4 +Tag = f1ef0efbfedff469a17cba39143a84 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 7cf6553f71a261267d63ee287b55a784 +IV = 94 +PT = 326feaca445370591ab604f0c53a994cd587b2fc42202a48cece337551c030d6 +AAD = f56ff315c5c8a22c499844841fa00a72 +CT = 06c1590bf505f4a41fade3814e93f8430627d30f70b1f0c7615aef4fa6e9c454 +Tag = d7b53ae1cbd65f68d96c1e9d6daa + +Count = 1 +Key = da0f556d8696d8848b605a1e1f92ad68 +IV = 71 +PT = 51c1f4760a2018eb726fd7c5b3513bc94b66e67ecf83d5d7b721680af5b2e400 +AAD = daa037582876638ff555b30a8f478728 +CT = 1d3c7e9bf866b92386be4212350bd3ea0bb624904c335c492c65e4e16547226b +Tag = 6ddd694ac905055e685ef04fad8a + +Count = 2 +Key = 336a8e18f86df84d3967307e3a70b6b6 +IV = 60 +PT = 9c4a99cda5cb6581f0d20605f9bb3c7b0353f58dcf0e9611539fa722f146c10b +AAD = 2ee2eb66f3c51d0f20a90437c68fc5b1 +CT = 956031b4fea2f82f0f17929a504c9d66116570bf260b41846cdd2b4385bec0a4 +Tag = c6438c5e80a07726526865569d24 + +Count = 3 +Key = 0a726f2e9a7e13db29551248365501df +IV = 6e +PT = e2315184cd38862b715001128a7e04e5fd3805ca5da51c505f6339fb28c4c94a +AAD = 1b4520d83e968e66d563c50cdd368020 +CT = 1ddf2d2a89e0ff0ef791badeff565ec0ac6ca162a30d850263daa13ad09864c9 +Tag = fec79dac9ebdec71639545f3261c + +Count = 4 +Key = d37e0a63ffcb9366f40f10453f80d77e +IV = ae +PT = 22217da48ebaea074a38614043a384f8f7cfe4292aab62e1b529eeeb6b082ca0 +AAD = d85aa9c6dc469533a4f43eb56a7c9b62 +CT = fdfb6917497d5b53b9b902a6cb8071baaf95ad0413f7f0c44de81b0cb08f49f5 +Tag = 21c93bda0b032d99401c1a75ac73 + +Count = 5 +Key = c4a4b1723bbf3282ffcc36cd51e1d597 +IV = 67 +PT = f93a1e07458542e777ae34ff599dd608d73cd1b4ce4efb286aa267d495be3f57 +AAD = 4545092d154624b20bced6d167189fa1 +CT = be7cd7e082eda7e0159673e3932fe491a6aca47a7065c15f41a504beb4a7fb51 +Tag = e638eff5bddffef6271020ee0fcb + +Count = 6 +Key = f52efe5952294ea9ad65d9612dd9eb1b +IV = 53 +PT = 423490b85e19c4679a16c64cbba1ca17b21ef856e443ce152d23a23da7da1ef7 +AAD = 8dbed885387b71e1da940618bc07f875 +CT = f390cc2ebb899e365ada4040ffa02aee0442ed380adb9ff7d09e60dee31d2237 +Tag = d0e337a0917564b4b2f7df2534d6 + +Count = 7 +Key = b033643877b99b9b0f255d643c5ac3a9 +IV = b3 +PT = 3cf82ea37b0b33a188f3a5ed9614ff4023bea723c8a6fe7fb62ca09cbaeebe5c +AAD = 180ae8cc916be6d9bcf6bbb14ee8287d +CT = 7f51ff8b41162d66fd14a1d03838cc2e47ace19f6dfd2fef4f3bfccbb012230a +Tag = 0994e51a8a6c02902e683d33bba0 + +Count = 8 +Key = e02162078742fa5f20eb2b069ef818e2 +IV = 9e +PT = 8fbf24467d32e34b54f1c610c978ea5edef7248a5992e1bc7f6c6af499a38c4b +AAD = 831197f5978ff7cecda89c50124af03e +CT = 4c7493b08f323223b1426d1a2bfff16a980af1d6e2f051243b7691ec5c8efa87 +Tag = fe6f5946e25a86deba216551c174 + +Count = 9 +Key = a024b2c1e1ece2b87df90f20caa6f78d +IV = 50 +PT = 1f270d0926012ab6a5e0f25d06ec1346f38b6d058d1f738a3c536fd3e3afd550 +AAD = e5dfc29c08f2fdfa085c128bd4d87deb +CT = d76405f85298e997686368945367c391b112a75fd87c1bcac77d0dd3d708bccf +Tag = f174c9f89e7d9349294e9b6ccd06 + +Count = 10 +Key = 5383eb7d7c2d1a8402d82b71040f8794 +IV = 07 +PT = 9ceb670bfa1ee8b45dd35d46c1cd0ea80f0813c9eac66016355ae6669a243bea +AAD = c24908f1612b968aac4c45ca5f587db9 +CT = 62f8d57ba97e562d0173e30d469dbad694defb3240915240ebba136487dae213 +Tag = c79f7d6092d8e0324201125487f1 + +Count = 11 +Key = e4a00389e42f574d093e98c1fffebbdf +IV = 2c +PT = a808e1e8986a70fc85423ee1a22c8a59d94b00895dc929a3cb6a7a88a8272b67 +AAD = a6995078f5595fe10bcc4cf0da082da0 +CT = 90eaf4bcbb4c998b77800a4de5ce7b5d2ebada25a12975a70124d811e480086f +Tag = 0c58188a31e39c4088b97814447c + +Count = 12 +Key = 999d4a107ebdaeb0a8e3f9faf865ba8d +IV = c2 +PT = 72ffe6e47af0aaef93bd8bc92e370c9198438e394fd50845c09d747ebd06a613 +AAD = 560e32b9a10226adcbc26489987122b1 +CT = f11990dbae06fd01c7ce1b9da21af0e3434cad5af3830062ece7f14d3cf399fc +Tag = 0d66a86d8d0aedf8cddc3f961e69 + +Count = 13 +Key = fbf2a9edfc54f61440ad672913d1f407 +IV = 91 +PT = 60e5bd03ed30d1007a1559de78cc8479dc2475604c9e0eb04b258577b89c501d +AAD = 45a14274da9616b514d6d4225a10a019 +CT = 5781b6036417d96717883f4778f5a89dc8a49139e32f1b8fff456fccb46ae1d7 +Tag = 157f06786659d8f04112182b0817 + +Count = 14 +Key = 1b870e7900224f92115a62189e3bd41a +IV = b3 +PT = 1df5d117fd3361023649388dbd170be6af78d9499faebe68977af42873857502 +AAD = bf85ffd10c0d9179bca97fc0215dedb6 +CT = 343b9c8b66249df9851ee510c258257c634323c748685c2566b72114a184113e +Tag = d42ca1d4926a4554dfabaa36fcd4 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = be07c4a0725cc27da0221b4892c959b5 +IV = 15 +PT = e4f618a23e93cde8b9480a63e0bcb0806f66f47e36f0cb86c932f43291ca4d52 +AAD = 6f65e713c455988a256d59c754b44f4f +CT = 6c21f6f08e77a9cb2e4b7a702270cc07bb1c7225cffaaa9d6a310c1dfd5adf4b +Tag = d3770bc1706d83cd4e936d32bc + +Count = 1 +Key = fe1715cd3fa999250759eb1ffbb96289 +IV = 03 +PT = f59627bd71dc2d9c1a1a8e05fb50cc467c229ca93c94e45ba09611e8db9ed7c4 +AAD = 47e5fefdf09d20906c4fb923d7774c31 +CT = 59a2df0bc7ef47457ef6281270b7c3b71d21702e8d2616c9e7c188edec475bc9 +Tag = dfcea557822bca68138cbd7a11 + +Count = 2 +Key = 8380b00415895412193f537f22a72023 +IV = 77 +PT = 462f358c924a6391452b9d334ebdc3a5d7656378b018c33ac2239e5f5a68b811 +AAD = a51dc644660a01fd3558c683b164dfe6 +CT = 03c9f25c5885b5130f3741dc5ea63f68c78f5a7c07e8e2e44505813ac8ec659f +Tag = d9181d9a78b7dc01129d92d24a + +Count = 3 +Key = cb211178155efbc8f9e78dc4db6bdd76 +IV = a6 +PT = e1f193f4029ab3c6e69815d201649eec8881b1bb070f7c96ebb5ddd948862c2b +AAD = e54f0665802077e3413e5fd55a74bbff +CT = 48280337789a7a7d70b8d80c040591ff261ecaefbd367af18444d8411d1d815d +Tag = aff2d6a4083d3497c7f6c827bf + +Count = 4 +Key = 7d9005cc356208613aec7f8d9a1f8e13 +IV = 10 +PT = 5c6c7aad530b51cbcafd3afb1788b5162f0c14f659886bb472fce152cf4b4280 +AAD = d8a70f38af9d1b33a167aa5e86372b6e +CT = 01cc2650155c8c1cdea4d06372aa5d92291834f8c4764458c3d71ea39facf81a +Tag = 5ed42bdc899ec00d9af7330f40 + +Count = 5 +Key = c13dd0872e9819e999e4862dad5b1120 +IV = b9 +PT = 91eb81b5f432bfc5f77239068154686fbf6540949c8863430aff04b46a52d12c +AAD = 35881bb653dfc6df42d102c56cdb28e5 +CT = 418f6b093de7908cffb3835601d6b156a2591d38b00d048a3bb738bfeeba4ece +Tag = 845551316bc8dac3c0ced9fcbc + +Count = 6 +Key = 2a3ccc2fe9d29c2e608124a500aeb383 +IV = b3 +PT = 68ee1e345af235111e53850ed0c804b10f29e79ce8660064d4b02d02da3050c8 +AAD = dd51ef7814cdf4487088152465210cab +CT = 36838135bf1c3a8a4399d9c1313d217a49ad51dd526abc2882ed539e35c02893 +Tag = 42f717a572ba1e44b19399c3c2 + +Count = 7 +Key = b076578c97331b80fac7dcf5dfdb3ea5 +IV = fe +PT = 6582eae96c4acedfff3c02190bc26594f9afa0bea3907337ae13851c83b65c59 +AAD = d46cbfe2a393b3f0c6998fc7c8d63809 +CT = 0618eea6f60063ba8808fc7c23ca18bce613a05f9e77e38442d5829d69de41c6 +Tag = 4bdd0f972a4e9477d8f4e955e5 + +Count = 8 +Key = 6241dc00d06fe22da657e2c860663677 +IV = 7f +PT = 0ce48ca062a2c5197f284d0530e95207e884469652ad7d3d5696bdb531a49be5 +AAD = dee618a85f742cc7970007220cc4a976 +CT = 61b45d824551b18c53fa0c360965803221e77964b4a1e35079989f8d4f686296 +Tag = 9e42d7d425244a56ac68840131 + +Count = 9 +Key = 156bc6cdb5c7d03d1756089ad9455c9f +IV = 43 +PT = 423bf790fd2c8ce7198170c912f8f627251915516cef411a44b3b7416a642856 +AAD = bfd7b4e626a0c0b78624b317bc506cf5 +CT = 711a8caa4573d5a1327b7a1abe9e221de2a397b0b38839e5422a2d866e19808a +Tag = cc4087d7eee4df9e608cc7755e + +Count = 10 +Key = 8acf431f1f3d232286082c5077d87a82 +IV = 60 +PT = 145bf6fc995fc7683db92098bf5632054d3e9c8707dd86da513c2ec561a83ad2 +AAD = 7d5b30411e2a8b33f8788f74d14403ae +CT = dd46063c71d86d63023f6597e32b129fd641f02af130c3470c348f7c7157d83d +Tag = b1b1787b08924c0d5cfabf430c + +Count = 11 +Key = 6869c0ecbc46ff34755498c7f970270e +IV = de +PT = 8d07fec8db8964aad369427904de6be3e5ea8c9e0019ea49d57a9a17707993de +AAD = 7370214ca0a45b7dcb268df8fc7d5660 +CT = add8616032f9afa702e3dbf79b05e2cf86acdaa0fc5eece603bb9ff044cc9b61 +Tag = 2cf04b585d40579019659f38be + +Count = 12 +Key = ba565d461f7668312436fcd612fd3560 +IV = 1a +PT = 90d74ecbed34020fce49956925174ecb8befc6a2ae3803716c733cd8a4a84c0c +AAD = 0caeb39bd99a8e9708c0814ebd4f1bde +CT = f66ba7c5671e31308b06d94b7a0b5d70ef0f61b8518edf3ce6941fba2e64d6a4 +Tag = 44a1ec4389f97b1d7bf71cfb8e + +Count = 13 +Key = 7eb026ff031fea7c42d3982f5dc57ec0 +IV = 40 +PT = 7f48a9ea2991519c316059ec60ad4480f517a8839bb7b19c882079b78dca819e +AAD = 0ec78885da159688947aa9d043fe1cfb +CT = 947e74df9ec6732b05941edd340c100af7870813e307ffc1901c560e19899417 +Tag = 4db8be6f58aeec8a353214f8d6 + +Count = 14 +Key = 2add79b829c36256645474142b0d843d +IV = d7 +PT = acdb68dd167ad43b174e0cf22e43e50751607b19a480aac0e3c914f511b0a864 +AAD = 3e9268f1b2215bfd2dff37eb4c3ab02b +CT = 093eec9952ba04e261dd2a418b11d58e4dec71ccb4c9cfce2331bedd980fc59d +Tag = 50462b0076404dd4b0fcfe6112 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = f5b184655728cc4b86b8676da3b88dc2 +IV = f5 +PT = 990602def7dc471c71f42de0375ae79b5f4a7a71bc8f17433745d65e4b51cd85 +AAD = cdf9a7df9f681ed7f8a7371e25c3b346 +CT = c354030c83c5d43a9d95cd13e8bb1523c829cc23acb4c63d5e7c873b12f0e25f +Tag = 55788708b2c2acf9164d2005 + +Count = 1 +Key = 45d3d0570d6c1e31ea905ca27d28c933 +IV = 1f +PT = db56a2efb57cd233546c323b318b8c887fd49a4ec51f5d602f5a601106ebc67a +AAD = fb89a8447f010758a3677c0212fcfd62 +CT = 55b76d094d2a5cc2b94ea5d3a74b1ee56571a5b44cc30e9d4b50d652c4b85638 +Tag = 6eeaee30563e373f34ddc669 + +Count = 2 +Key = dd390f101e010e0ed246d58cb1a6e351 +IV = ef +PT = e1f56e1285db7b2435d35101fcdae3721b4267bdeb566da511c90e50b1eacbd1 +AAD = db732dcc1ee9c442c24fa9de188f36d7 +CT = a3c50a804c6809e3a2a27f28238a7bd2df90787380759e115e27293a0104448e +Tag = e5759884d239a47e4410eec2 + +Count = 3 +Key = a30b4dd6d4b40527b39a5542763dcdbb +IV = 2d +PT = 3e5552d14e602792e154931c0a11f0f28505865b20ee1b4b9445d8b21b51923f +AAD = d3e0505a66b2c13905083b8cf65d581c +CT = ff9d8dcde2569c659a26271e9f2a96b885d70c35ea0aa64d5519d827a03a3bb0 +Tag = d6766e872435f95e8a6dc577 + +Count = 4 +Key = 16e664995c051b22b383e672b4355078 +IV = db +PT = bfc4fd59bcb8d2ca5fbf93fd2be1df16ffa02db8b4767a2699cf50de768710bd +AAD = f0895cc5ed4ce79e9033c657f7626c61 +CT = b649ba7e7f01b9006367bb434e9bb55dac582c467180f15979baefae690868b9 +Tag = 748477f3a78618a76d289f1e + +Count = 5 +Key = 620ff6efdd9bcc88ea92dea5fa722945 +IV = 5a +PT = a8b671f1b3042cafa46db774588685d6a44b80f3ed89fc2406173fbc64454d4e +AAD = 9b81a974e9bfb16258fe2a1e822731fb +CT = 71c7119ddd1fe2777e7bc439cc466c069a9a3e25ad6a0814b19368d9b3e7d481 +Tag = e5716da14fa461b858251574 + +Count = 6 +Key = 26eb5908e58992dbe6efe1d00793eda3 +IV = e9 +PT = 8d170de0b30242a450b4f3f639499f5541b87e138188faa5b4bccb1d0ea75798 +AAD = 411a7f12d23a0e9acb75e1979764e275 +CT = d55926c15a2c197f3ce67dcaac766c6328d856671d108d41cf65e11739e763e6 +Tag = 842ef3de4cff52dc0d33229c + +Count = 7 +Key = 59a26ebd679aef8ce516957b86dfdb5c +IV = c9 +PT = df6a13e43e837f5f1f8de042cfad11210a3d12dcdc98ae5670a656647859b6a9 +AAD = 851046e7eb4ca512c1e7357208c00329 +CT = 2717820cbb2769cb9dcc41883b79a403de38003a3382f28d51ab5975365e2fbb +Tag = 6888c83103e6ce094d594228 + +Count = 8 +Key = 5f83ac4f9d75dfd94533ea75f57d069d +IV = 9f +PT = 9ac0376d38514ce2d63cd6a6465c920a9449a8ccffa0622e1c1a948fe9314823 +AAD = 034e5462c14474b029ac037841828cca +CT = 63ac72e1dd12328e8468d3d1ee5b268c8bd8f628038f12c6c4cbf685e6157e4a +Tag = 4fdcd63347cc14e386de68bc + +Count = 9 +Key = a39a88167fdaa39f562532710d82d246 +IV = a8 +PT = 787fb726b994413ad23db8ef5a42762062a9a0eccd32ecaa6b365c00380c742c +AAD = e830d223236f05c3c83e0e1c0afbf570 +CT = 28e3b1be696ccda4b18b42c06db3997943827fc091d2c50025ec267da072ad51 +Tag = aed0ff30237ade5c9662ab66 + +Count = 10 +Key = 13b1c19a6dabc765177906dd3ae666a7 +IV = 83 +PT = 0e984480eb35c59a65344a562e12933f4136ab81fef03a59759fd537a610151f +AAD = 0b8f432b548fd8277d8cdea9783e0ed2 +CT = 712ebd6c400449c36894acbbdc24ba1b23e159e3e3cae07cbe71fa0e1bed3b6f +Tag = cca0020d2efca33035c18222 + +Count = 11 +Key = e71a67be3df78aae8c61c1c78fe49cd0 +IV = a4 +PT = 6b8297f12afae3f5ce8a7393e45aefcbcb7f1286b2432f2b8ad0dde237248c49 +AAD = 76c293dd04cdaa564fffb4e635e55540 +CT = e123aafd3389c2a59a27f6a6f54d87f76e8a240ac3cd2b62655aaf93bd5594f4 +Tag = f7f8c03c736b922f659dd36b + +Count = 12 +Key = 77105f01f91de83aef1e78c4a5fa5625 +IV = 63 +PT = 0f89f3a98aa8f26d57455f16ebf6958c06188b4acedcac14456ea477e849abcd +AAD = a5e21c7ba0991b19ba46f19d5e32edb4 +CT = c4705b739d60c8762b0664c746853849988b3f3fec738db8c11a10bbd4b30886 +Tag = dfc8a57c333f31b53efb45f0 + +Count = 13 +Key = 97e758becd4f787e7decf524f33a2693 +IV = 6e +PT = 773f9a6c59741b397064212e0b7872da5352c1e72cf4fcce3a83db2b51e43251 +AAD = 91154b4c8ad834cd94ed756f78b2e508 +CT = 536157620731c9cfe8b1f5af7270177ceb4abc1cff37df9e5333fcb43de759ce +Tag = e3f2d15f77f661e0dbb0cbdd + +Count = 14 +Key = d9869877227770430649b1ba8a904e18 +IV = 37 +PT = a73893f746f202d044265e1a8c095f55b67f14ee368f312496a6ed3d14c1705e +AAD = c787429d6f6470a2acdc40f9bebc9ca6 +CT = b82432e4a7e19b7ab9ce1beabe4038d2b0599772362866df82f6ad488d0baf95 +Tag = c477609446e6d73756ab3011 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 9c348d7ace42000a2927a5153bdfa4c3 +IV = 95 +PT = 10bceedd41df855cf76aa53ff8134c21f075f16f33cc829aeccb43a6a940e3df +AAD = 1ccf071e0576ed835729121f8042f334 +CT = de3fea2ac6cb957b9b2e1e267fc418e5ba8626c74764b154fe8ecf73b1093cc6 +Tag = 5da89f2fd065446b + +Count = 1 +Key = 8498fff16b69084cb1f944124f0f5019 +IV = 21 +PT = 9a4f802b4787bcf42c14cf84cbcdcf60075391df60e12c1bd68d3504e8c04240 +AAD = 5521e45de2cd6a578637a016d6197ed3 +CT = dca1aaba7445482074ffe916f517dbd78ed0e2eb2e3b28c7b831fddb0311914a +Tag = fd7f6d01f2332d77 + +Count = 2 +Key = cf3bb7aaf78ceba6f8592b466a391335 +IV = 77 +PT = 527aa2c0850f8594f948cb83c3dc058c82572fc531411b914cb86c11b82992dd +AAD = 23334031705c15cf4e980fd923090907 +CT = 4dc2856fd4ecd6192f8357e5faa8d73eb36d37eeeca88ba8ca18cb7fbb19ab5f +Tag = 0d3c4259128e3f3a + +Count = 3 +Key = 9ca0ecaa55bba709886d5f28d282e0e0 +IV = c1 +PT = 1041bd6c2e8d2a2fe9575e8b02440546f2c47ba9a429771fc837def55172097e +AAD = 5d00741b75ee1f1fa3db642aac2e83f8 +CT = d8fbc2f959fa95778ea8e4571df475e6e37c5569f725206f220305227026a025 +Tag = f6225365028807bc + +Count = 4 +Key = be759a2240efe60b1f7bb1e364e4e5a2 +IV = d9 +PT = 74cd9d11f452f3c9449829fd16e3f21f4f1628e2f1254574ea76b82e64a14903 +AAD = 49cd17ad1c32c09d756874393d666a9d +CT = 71ae77303e9b6b420816dd17e7c66a7294d9aa6bba83afb6f6ade1022c12d220 +Tag = 612a96c4ad640ef2 + +Count = 5 +Key = fa6841677aed7dc4116da271d6d8f0f0 +IV = d9 +PT = 88ff1696978040a7d0b44c580d3206a1a7b54d14ce5c68caee91a6a31dd74420 +AAD = 893358a9e8566b1e19dd954dbe0d656e +CT = b1934ebc16f41e2fa73014ce33e2374254915263255a85ddedeb9d6c57460a86 +Tag = 8b7f197b306bd40f + +Count = 6 +Key = e844435a5b6952f8b70bb07ec8432fb4 +IV = 8d +PT = 5668c97527ba9845d7757ae097485b03bbebbdf5c088464caa13a767f7225340 +AAD = ac8dba1c66d3dc8fbf78aa29f9756228 +CT = 1047bac923265c845185d1662b5d9e3a185d5a2c7971a5983c1dd1154a757322 +Tag = 6eface087ae9ea52 + +Count = 7 +Key = 670a81ba5d63aa3a493176445ef4ad02 +IV = 8b +PT = b3076133a565f9d2ab1acc41ec1eb6714016b34a815c96f95a95d44c4ec69aa4 +AAD = 0af193a642c452a812fb0d401c90f2d0 +CT = b2bb7c8ea06be112d9dcd6598663528492f1227b83102c7db2c0ecc11363a938 +Tag = 4aaced247b83fd6d + +Count = 8 +Key = c2f0525ffd796e633ee2a6cfc429b008 +IV = fd +PT = b8686d015ea6060973658077c57e6e01418ef5d35e002cc6fbd886c33858dd05 +AAD = 68b474d755e0d69195c8cbd8356ce310 +CT = b977a4d1eee78b1794c6e810c18eac65ebe16596e3c630b1a05ac5a193c1e31b +Tag = d82b5d23b27e0863 + +Count = 9 +Key = e584b29f805779bf669b6d37bce05292 +IV = 21 +PT = 22ee19c15719d1552c88b0d18f09c5c54ee299197e5ddc71b10e5d3187475208 +AAD = 1d40c2b426024338e6ef759afb541d1a +CT = 576b0e55633d083a8cb204fe270a59c288d41d796849be1794561695215cb87f +Tag = 37f74e1bb3cabbec + +Count = 10 +Key = d886f5630e3800ccdde689abff542599 +IV = 6b +PT = 491931796af808e773fdd21141b502ed26227d056be71705b0c6e0e5f65e1531 +AAD = dd97e5acf9acb85f010d3c8408abe0d0 +CT = f1baa54ab796d7c2b0ce4c076152f30a4a81161409fdcfa7a40fb0019d9cfcdd +Tag = 441ede7e5e6d179c + +Count = 11 +Key = a22732712819674d6b986536f9deba4d +IV = 8b +PT = 36eaf21b229c73d2ff9c9c233984ae79e7549511445e486fa5eab19e93b47795 +AAD = 12f5f53247815807330fa8e71c855602 +CT = 241f7b8d326e32c9220d933a540f6f37cbf34e1505b8d9eb81209588cb1b12a5 +Tag = 5597d4203765aacb + +Count = 12 +Key = ea7a21c5f640d3d6591c46d3cf12bf87 +IV = f2 +PT = c86c23555bbc70ea8d7807ad56efbea5406388eb1029219e58890623ffa5566d +AAD = c79adc4ca2c3b28ec7df09f62d503fa5 +CT = 572b39f4d30f47e196812965210465e1d0f47ec48c29229ad9c529e3fed53478 +Tag = 1fb54f5354c95c02 + +Count = 13 +Key = 089a0144d54f01de5ebeda3f0cd92b46 +IV = f1 +PT = 2388d02b4fd43f547b041d72f75249ef01a7a3eef3605cdf697b33e22c667a62 +AAD = 104151d84af05a6413a0ff28c492c6c1 +CT = 0e446c442d07d5fd67bc0e52270224e74cbac13dda3ef891a2eeb565948280cf +Tag = fba4385fdfc2b601 + +Count = 14 +Key = 2e9108e2b15e2794202dafeec09bce19 +IV = 6a +PT = 0f37295f1ef71925a09e925b140fc3d28a3625b5aaa5ec26949abd3e3b09fe32 +AAD = 07ffb29acf2df5c7164b5474adf4c092 +CT = 6b8b533531a4edb2bd351decf6b99f1a620256182a758b15a43637bc29f37aaf +Tag = d0e35e8494dc400b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = d27a70b2e7b39a870948799e44e4c580 +IV = 8f +PT = ae40668d53e463bb743c1dc827886d70c27409282bf0175c71e8a35557c0e695 +AAD = 524837bc28f5beb1057a0e83aefd42c1 +CT = 1b1cbe8655606e15dc64b60a208ea62a118a6913f2549ac77bee98fe9072040d +Tag = 0c7c5795 + +Count = 1 +Key = cdedd7098410d0a69b14cc771946dc92 +IV = 06 +PT = 92e491f3eaaab4b0afb93fa13ddbb3e80a0d2faf37b1eba823dde73155ca0694 +AAD = 952527856a968e7f5d3ac1dae534592e +CT = d0809a409b8df1803797d3aef692aa36232fa7856bbb2b990c3021d3ebd088b0 +Tag = 2e7562da + +Count = 2 +Key = 58fd388c46d1a38b1be73fde15a33050 +IV = 0b +PT = 7fd04b4701434fa73b28c701d2e6b0ba535b593cd23b977921f0f4e9c04bd44f +AAD = 59f1e0b8ded6ec9c79e43fbb53ca7fc9 +CT = 05cfb4fc297de59ab747530efbc1475361f8f399d848e16d283472c3d92c4e2c +Tag = 6eda8778 + +Count = 3 +Key = 827d9fe8f7589315f92734a54191ae17 +IV = 19 +PT = 85f6f60f12e71106263457cb739227964f0bff85252c804a7a4bcf70407743e0 +AAD = 231c5a3d938b0dc4d00d01e2490c531c +CT = 1219b5b44fce0e6f778d11311b67c82d0aa6fe29b4688e51b87e8d31d7f8fa3a +Tag = ec19baa4 + +Count = 4 +Key = 2ba74025d9a1bb265af1993a2671c662 +IV = c6 +PT = 89cae1134e20a11ea149809927fc4208557c8340342d34466ba13a74b7a7699c +AAD = 5b56944740d99581aea2db93d6d66a82 +CT = 7d9dbb4924422e4edceea46f5c98b4f7a838e337fd65b651653d832bf7d149b8 +Tag = 79766c2d + +Count = 5 +Key = c952bb3a91331449dab1ccc8ce37862a +IV = 5e +PT = ab19886ce4588613464746de200f6a1780c7757dd0b584459bca737fc6beeb30 +AAD = 65a5ba2accad7ea6658e61878fa07753 +CT = 3c5de60506c80e183169a97c035176fe627591fa5839a5a55ceeb3e566a59ee0 +Tag = 8ea55276 + +Count = 6 +Key = 40b7402e84a1c5c67efd6ba3b2b399f6 +IV = 59 +PT = 4db533639ce7259b040415b00016224f5c3d319f434b1de33e0a81715329d174 +AAD = 7e57a90f50efbf43377e0ef19aa8fb4c +CT = 606853e478b6bda5d65ec84c60ee5cfa5b9683b6db5de39ec57883313a327ba3 +Tag = 759c6b1a + +Count = 7 +Key = dc69ee23ebab2b00713d9e160a387914 +IV = e6 +PT = 9246039f7f0fabaebfe410e7a34edde7f55668f834033124585b0f128ec43f1c +AAD = 63306fb27b0a559328bde59fb6332916 +CT = d619ba7c40b3d24df625b3bc7fbc90981efaabbc17418771148fa80c2e2abd40 +Tag = bd3ec166 + +Count = 8 +Key = de5f1eb53dfc7f3e42bc197c84431fe4 +IV = 85 +PT = 2fb046f5d0550278897129d8fa9070bdb8b60b0d6e9cbe6e5cce4f21cee7e955 +AAD = 81ea1a9a29083bddfbe101060155e869 +CT = 9f358e1eea4b94c7deee2490f6861b06ddc78e5f799031c5b4d1e5bbdf55e382 +Tag = 1e95da35 + +Count = 9 +Key = 5351e69d53e19ae2be68676c1f844cdc +IV = b8 +PT = 161b7f23ab40b2441da92e99341cdd25d706e904a516eecfe4d5ac6fae7d13af +AAD = e54555d3173d8639e373abf81b46bd01 +CT = 9de800dd69ddd6bd8ff37ae7a1871f4a7d561dffa34e74d60e94ae1ecb60ad2d +Tag = 04f6eb65 + +Count = 10 +Key = 3f5f86a940c617fa671170435e8a90a4 +IV = 20 +PT = 1e6e600fcacc18d84659424503f99036a6a91cc582e62f94f1ce8082c1fe5c4d +AAD = c74285ec638ef5201a69d538ebd35afe +CT = 9327aef423f09f6d251e3963fb7ec4c6f0eb060cd2e55defd2037fbb509c41ea +Tag = 5cf2ee6d + +Count = 11 +Key = dc22c97cb2be3fa5ee5e7ba9046cc076 +IV = b7 +PT = 28a8048f948c639604d9b6445bc60346f1f4c4d9c9e251aaec7b5d5030cdabdc +AAD = fdda501a0d08e216bb97802a8ecf794f +CT = dedb71e3d8ff580e764f167f4baae546d29b03cb04a5cbcd679f094a41c8cf8d +Tag = 46916338 + +Count = 12 +Key = c18feec82198dbc599f462ea9f5522da +IV = 5b +PT = 06d9bd190f5081b76b4bf11d17e6e6977920352b631c3da2eabe4d5f7c71b7ff +AAD = 1d572be8a61086ab15f1a18a4cae62be +CT = 1430c5c42afc574ee06dea59a3bbf7794bdb5b3bb736e679658ce7f3c835d305 +Tag = 34d1cd7c + +Count = 13 +Key = 22af38e24efd7558aae0d1cef088e6c8 +IV = 4e +PT = 74c5f15fafebba43841668dd27b3c348a15c9ad6b1c43392ee1c68b87789bac2 +AAD = 626b8878ad6baf9bfcc2b758c457828c +CT = 3565b97e8bf1155446126623c1cae9b190c039a9412020308e21a4fcca90ee44 +Tag = 54b38515 + +Count = 14 +Key = 768425264a01b75de3f4ca044a3abd1c +IV = 4d +PT = b5eebd47810037ad36cb30050cd0190509749f1fc205786f6e839b01cbd589b3 +AAD = 81801ef4e6b7ef4782d40d1a5acdd93a +CT = 5d91e23d156cde06b127a8ca9b45c88e979660583dd30d46c6edc827866a7d0d +Tag = f64e9207 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = b7035c3fdf04ed91b3bc0839d0b3339f +IV = b3 +PT = 77fb4ba866ce765ab32c2094a8855057773a189be9f91247c012cf6e196cfb38 +AAD = 2cbe6dcba5430b331189d5f70d91fbb43282255e +CT = 083fe0b797ad750d2f900966a002f3a5a9042e7377ea13474dae2369535019dd +Tag = a67d8e6b0c039fe6ed8e1f7e7ada4a9f + +Count = 1 +Key = 383b4c58c61d1de4adebac18b4a61093 +IV = bf +PT = 36463680f82ca31cf7614e2c02ea21ee1f5cb18e643ad5bebe8de6c541e20b9a +AAD = e65238ef2ec7a18d1e3c00fd8d25f5452b9697eb +CT = f24f6fed0636053d2a587bda42ef8646a0bf8d50a09fb8b11050034dc9c24292 +Tag = 381c9cb5e132029656a615607f321c9f + +Count = 2 +Key = 9a4fea86a621a91ab371e492457796c0 +IV = 75 +PT = ca6131faf0ff210e4e693d6c31c109fc5b6f54224eb120f37de31dc59ec669b6 +AAD = 4f6e2585c161f05a9ae1f2f894e9f0ab52b45d0f +CT = 5698c0a384241d30004290aac56bb3ece6fe8eacc5c4be98954deb9c3ff6aebf +Tag = 5d50e1af100509e1fba2a5e8a0af9670 + +Count = 3 +Key = aa66eeda0ab3efa01c8dd2e57791b0ae +IV = c7 +PT = e3873c005db90bfea55854d24b9f38fdd9f822348886c9b64bb1c050479a22c4 +AAD = 29cb424f569af1ea505bfae5bce3b2c44397c31f +CT = 775645d467b7d1364773c03d65a1daa3d3e547e014153158b186365e6aed62e9 +Tag = e8686d39a6af961e37960fabfce6646c + +Count = 4 +Key = 74011bff1ec9c5525bebb1918dd4437e +IV = 05 +PT = 31b264d2683fcf7b9fa6d9ce0eb7f6cd3ae9a39628ea3f35caf4fd72f0e5f8b1 +AAD = c8b2053b07ba8399569b1ee63397e65d28da1e30 +CT = 9586f0c54a79a0f16ff8dd19c19a73134d7ab2e57a0fc7151210972f9986609f +Tag = cf0ea4039cb4932bb1e46e557e735603 + +Count = 5 +Key = 2ad735f61fb10ad27b1c9036c2cfec5a +IV = f0 +PT = 99e689cd97c2a14e46dd84359f710b4ab173bc8761c4a5f117cac00620291492 +AAD = 93a8d57590c1a5a0b26b7fde29e064b9b3920348 +CT = 6abe66930bb57788f1a983df5c8adee083120033c4bd638d46e78e21df3ff740 +Tag = 6cb01ef3771a810464647c8a5df03917 + +Count = 6 +Key = 5789fc78554b449474372b0c62a6c870 +IV = 21 +PT = b8327c9be4b5a6b3d639752c7a625deeeb7472ea26a93b86c94387f215bd804a +AAD = 6692e8ec95601f2f374a1d95d8c843da519673ae +CT = ee76235f5e16e24d46df8812c51749cc1d753667615e43564771409cc63e8b48 +Tag = c4d306603bb4ca325663639b8f3c4b40 + +Count = 7 +Key = 4899af7b483c563bcebf7a9b9a61ecef +IV = 61 +PT = c0cba953402934e329261c43ae2f5a55a39f61089c2204c627d09c05c2ee2005 +AAD = 78c9d161e836591ed721d805a752def89ba824fb +CT = d129378a3b8e6631b273a81c5b86f65a17488c64adb65fb590502fecc56a77bc +Tag = 2374a7e46a815404a81f67dbefbeac21 + +Count = 8 +Key = 0d9f7be0b736513e98adab64a89fd203 +IV = ca +PT = eeffb2cf5ac258118f4e2c4225625b8aecd982210ed90803cd825f02a1c9fb62 +AAD = 2ec17b1d6e6e4d687f94783d89181f8fca8f70f7 +CT = f932effa059e6cd48f9e615f25f2fed2bb5c775a3e5e0e9db0492fccd80907e9 +Tag = 63d076487e98e6082db5e77f8cc5a4b8 + +Count = 9 +Key = ca2f952e4bc9c5e7f1b1c5ae25bd875d +IV = 8e +PT = 415829f0cfbbe1c6fd31374d857bece5cdf029bfbeccf0a1c28dc4388bd4eb6f +AAD = d710d43faf13d7b0366cd4696cbc8981dbce9e52 +CT = 35595ea973c5278ad98a77ca4f12155ba70a5725527a0b4572e377fdd253eb34 +Tag = 905d53af72e0a3e50c3f8951658f9123 + +Count = 10 +Key = 591c0914c123768c2c2e1e573c91a25d +IV = bb +PT = ac2bfb34f43231345029738d1e2485d23e3d74c9d8c1c389dd3b42ccd2b650fa +AAD = 79a7e33ede987f87bc117c6005fb355578695f66 +CT = 07df283fd2d60180e4477c5c989ff135a744258e6d4eea0100d3778fa13c4b60 +Tag = d61eba8b810ab29ad5a12186d940af28 + +Count = 11 +Key = b21daec6da747b84ceb2d77cc11367c6 +IV = d1 +PT = 2da69ea4e120305b38c81bc8be699415610b9bac342970a83b4b295376cb9674 +AAD = 4aa43d5dfdc68aa0ee040843c6db732c7957daec +CT = c1db396d67a2801d3df8a4418bff5350491c46e80cd3c0444f5286d2a51d6081 +Tag = d7075faa7cbd7ef68ba9e5bbbd551a40 + +Count = 12 +Key = 540a65a2b8d5192ee5264605e81d1a3e +IV = e7 +PT = 707b1db0beae6133d312c741dc7475ba94126d2af45e50d1933131866c418227 +AAD = fe2d754fbf9e3542b9cd4b63e1ac43b10c5650a9 +CT = 09cb2fc8272861b411790844c57033beada150ee3ef618763df45dbe83d6692b +Tag = 9c2f534c7b64ed1268ab26ac442a8a0f + +Count = 13 +Key = a401109bf4554809f9e16d36966750eb +IV = c3 +PT = aa708fbd92701e25379fbe70cb1b5d7388a8029f9d830530831f9b91ebcb61cb +AAD = 343a3c39262c3b64584b520ec65eccdee3b4a01d +CT = 32f2c171560cae595c3dd1d913b4843afe01a43bc492617e6fe13ecc5c888da1 +Tag = 82ebdf4755a735c59b2e4d82e877f167 + +Count = 14 +Key = 676cbc9dccdd2ef803479e1d0bdefcee +IV = e7 +PT = 1f5a7e9baaee63327f00ec3fae332bec520365e6ac97f187c94e7965db471246 +AAD = 872ba132e63b3ff70e2d080d8b42a85002614fa1 +CT = e4768be23f350f199fe450921f43942f5e7fb8cf49e1b47a97c8bda27953d24e +Tag = 269b4af1a43347891e6d4d133ee42255 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = daed211591f9a5a9863bb8d7c3affdf5 +IV = fa +PT = 16a2abdcd4e741d49fce84da026ce37cdc69d3e73258affcb01aa84d930edd6a +AAD = 629e4d50a76ec74f8bbaf3b41782f767c769a825 +CT = ff6cf2460b2cb32e59c2934155800a55f5625b10c9a6eb6a019a06ef7e13fef1 +Tag = 68abd73e201c535d7af796ae8b697b + +Count = 1 +Key = a05bd0562537716c95e8b8401dd17a5b +IV = 85 +PT = 1808a6d14812a0dc485876cc49dc4c750a366e3ac1027cc752de03885f994328 +AAD = b9d96bbab8057ef6580ebd6c0810e9bbc06110d0 +CT = 67f6169e8544741c78a8b79247cae7c70f3ed3de1abdf85979e8dd48b22c62b5 +Tag = 014d83312240a7c86603406dcc8d43 + +Count = 2 +Key = ac6f33128c84b0686e8fc8af5a608488 +IV = 4b +PT = 11b87694c3420c620d5e89a9071996c6eb7ad9a4dd68e4fbb797cc3ff43c1b81 +AAD = 8ddbd86ff4772adc9f508948062af0cd8d69cb38 +CT = 4c4233272f82ff506f72975fb4afa110e36c11588e1334d81d79384595d123b1 +Tag = 2799a2feb3b7b9de6666c70ec5f154 + +Count = 3 +Key = 4b51795ad9dc18c92c39a3a080a83a2d +IV = ea +PT = 5331a25611bd3f2e611d10739b15ac47b2bfc36be34bf4c072c8d40d5d92dc8f +AAD = 63924bc25eb85bb89be180cc4ee0b33ded7df5d1 +CT = e7f88069fade0597a03eeb2685a2fd22a69bd9a24e30b82507fab372174f19bf +Tag = 83a09e632228a0ded6c4a98dac8b93 + +Count = 4 +Key = d5b7688b8d5667339d688dbe4c31a52d +IV = 64 +PT = 8c0f9fe52e3091014e6e21ed40ddc7277aa1e98b31244f786619df836a44936a +AAD = 2291441d69b6a0ff1f07b8dd0fa806d34dfb3559 +CT = 29823c10678daa34ac05f9deabdf023f83b0ad7e4fca373653b883c49e9b6ea0 +Tag = 567af8ed3b09c2bd1e899b583ea172 + +Count = 5 +Key = ed4befe391363b699f562ae463de5250 +IV = c7 +PT = 276c43bd50714237dafd8bbc1461505bb055afa72422211abcdc351e1b0a47d1 +AAD = 91bfbc3254fdfd25c5966b5f7f65034e9b62157d +CT = 371dffd1764a838af555e29eddef264d30f04baa3170d33e8c706c1897f45eb0 +Tag = 6e00a1a3c1ab1b4308f7a1fbab7a18 + +Count = 6 +Key = 1da5be42db3f24b405f7e3ebd922c361 +IV = c2 +PT = c97114dea213a58d8b8fa1ed694b2045e554951820173e891ecde5d49b4e16d4 +AAD = 3b86e4a84fc342cfffd67cf26899316e7b407cb4 +CT = 98499448f1ecfa96a7da0cdf1d6720e179bd1fce9176f1acd386d0a4d3e8b159 +Tag = a35b7462d278ec1142edb5f5e71aa6 + +Count = 7 +Key = 97557fa16772d16f59000ab42ce5ec7e +IV = ae +PT = d1710f773ee720e9260a1360acc6e8ff2a2a62ea8d0ddaee4b20980a722c32cc +AAD = 4913109b628733651f6b7b149985ed7986192174 +CT = dac8ab05947414ab70d2770a0e0a655e57b9ca52c8f6ccef4d5b0dca3fef5948 +Tag = 7453996f8989ff49afe92227aafb37 + +Count = 8 +Key = 6dd5da7f78b0cab43a88a50b6d2e4cce +IV = 4f +PT = 56b387a0983c3f05bf47b49098dfc7c1ea7f675a2e88ab4271ab90bc288ec424 +AAD = 540df4f2c7aff8b1f0632bec28d7692acceb7dfb +CT = 726850c3e3ebf16c09373410972df3482bee2a3155732a08d59117a269291c60 +Tag = 27bfc9a4c7edc9cf0ac55b3a85e1cb + +Count = 9 +Key = 9546ac6ed65b79e61ec5caa989d59479 +IV = 66 +PT = dace3352acf41379bfaaa0c6730032261880880f6e68b2a8a7936f49fc1a1854 +AAD = e596e6dbc8f6ad3c8946323f05b4bd2beb886091 +CT = be326c67e2ababa29de38fc21975573b1992de2a15476b949541d691bb4eeb95 +Tag = 18f27b8548e7c9b853f6dedd3729d1 + +Count = 10 +Key = 67d2e4716096e71f0b59efb90d452d72 +IV = 3c +PT = 19d2634aacb00b28c84e8500e51cc4904c29ecc24c4d0ecce0459e4040187f95 +AAD = bce7b70d0aa5ba619e3bad36cf5e81870a154b81 +CT = ea89fd19b52c306817ecacb4fd04359fdc2ae1c49068d96574e8016baf2c572b +Tag = 9daec947a00e2437e8c02efdb93285 + +Count = 11 +Key = c3433aa67d48850614b8cd15d6729e8e +IV = 95 +PT = 3b884fb4635560e8587fda5174f2d620c539d67d170802296939bfa906a9bf87 +AAD = a68c886cbefbf6e5efcd42faea44dadce2e616f0 +CT = 16f78541c1fe2cd97e855328cc19f12234498a7998602ee17829a9b5e7424b40 +Tag = c2cdee2e0b8503db19b52d7b6ccee0 + +Count = 12 +Key = 0cbb595527c53a9373160bd49f7396b6 +IV = f7 +PT = 51c01aa916cd6d27400e51818f0377de8680768d7dfa9c909ef8277f782d5303 +AAD = 73fc3e9a1e2115709a1b66e447df519e3973588e +CT = e0eedf9c1d9ee6b38fef64862b970412cf84750be4bab34f44478eed2f680dad +Tag = a33ec47831eef68071e967c577fd8c + +Count = 13 +Key = 7c3e735498077e44ced3d35cf8c64a6c +IV = 7f +PT = ed99970174651dad4e455a8843b79f40c473d839b24d4a50204fa8fa27b9d49c +AAD = 8f70a45d4f4244f85b609c27ecebdab10a459143 +CT = 8aafc69602c7c4bb1e4d49efc0d6cd72e035860fc5a28d3c4948f620b064adbb +Tag = 2a27c6c54f5c1852ec58131241a7a3 + +Count = 14 +Key = a5cbd094b5ded62d2f830960a09a6606 +IV = d0 +PT = 6899488b41986d81c9642ad1fcc1831bca21ed3472048211e1e3406c56a87c00 +AAD = f7d5c0ed59c1742a691548ad4949b64acfe82f81 +CT = 5e2b6f931083c2963890f823048f34751fe1b8ba9dcef986931472aa6763c03f +Tag = 17cf4b726a4265674a4e87d8e82c26 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = c422ac0266dc9b5ddc391d9cdb72257e +IV = c7 +PT = 6149277175c02a462dab219b80d15641a4c033dfa4c9a81de1765f0276008fa2 +AAD = aa56b160c5d51a4aa400e798c825aaa27d6693de +CT = 39d9f9b2348214270f1ca18b521f7485c5390c8e993eb7ff79a5be99c7d523f1 +Tag = 95c1e410d4ea59dda50d84162b49 + +Count = 1 +Key = 72c5683d1e0173afcd92002c26ae3ea5 +IV = 4c +PT = f69623243c6bb924a5502dd270f730baf3fd4a0c10b889fb42a12b086d427786 +AAD = f6cecdc9118777b875ef256cf92a3dc0cf208149 +CT = 188e68729648fa9b4a202ed2313be860c593600ac8419c75c55859faa585bc0e +Tag = bb4e889b58b9716f6556c676bd59 + +Count = 2 +Key = 5fb4e9f34e251f60d70caa1e9a39a95f +IV = ce +PT = d0c640ace3d599fa154f95df9657a09520bf2aa0b1637540d940f074a3adc68d +AAD = 6118d2b0a8051486f844ae7ac65bb25a96067eec +CT = 31191659e4fb0bb72766c8cba5c38ae378165a9be9319e7be8d78faab6bc7f6a +Tag = e78b9cea4454be22e31f72fb1943 + +Count = 3 +Key = a303aef0248d4c1fe6e1870a490e0c20 +IV = 3d +PT = 36b3713fb720cf3d5c83a945f490cf95c65ad9164f46fb716f6883a506df466c +AAD = ad90d28509701fbe5b88e3970f4107370632adcd +CT = 3adb1f3f4aa82da29821f6d39d733e439272dfdf431e5d0668e9c64386861f06 +Tag = ee0bec8b4ef04f8cf7a70ef7711a + +Count = 4 +Key = cc25a6714d0f0e85356a0a95d68baffa +IV = 12 +PT = 879c6b1c3ce75c123cc561842598ce509554b8c0309656d2c80627ce50a15c4a +AAD = c05960871dadde746303bfcf4ab70560b5980b27 +CT = 4eccdded0b5144fe4079edcd0ff307998fa3db4a338ee1021ecb0fe1a7631694 +Tag = c923197dfdf7b92319e62bc5f0df + +Count = 5 +Key = ae7ebabb0462b82e2b256ac78fe635dd +IV = 0e +PT = 5b25af44bb28d9f8d3d1e0ce693b641e9885ae32a098d6cd0642af015b81e95c +AAD = a4cb2ec035f55587831702e2fc7147583f961fc6 +CT = 25cf95f6a9d42dd98dab2deb8d350ccd9aa38c88fa343ea4d13b77c29d2cb4ce +Tag = 6849f26c738fb078806e7dae4640 + +Count = 6 +Key = 9676e4020909ea775b5e8cc710cd5d11 +IV = 3c +PT = b69f2b0e6bb09d5729a30fb1b2aa49df8390c256e6a263cc42db9e5ebe5b338e +AAD = 9db4b5299fd3e2890bfc1f9f212c7d041382c224 +CT = 6463c720343be46670c9f5528c1a158a65c9dd7e1342ed079cc3244162a8b0fc +Tag = 325c088b8601cb8cba0fcbcfa4f6 + +Count = 7 +Key = 91b75a19fb22ce9bafa322dc65569f95 +IV = f7 +PT = bdd0686e1fe1aecbc265c6644a90cebde21dd266c163087e20dead5d69aa0a9d +AAD = ab330aa1d5505eb71eb2eeb89ac61326cd335185 +CT = 45158aa42b758f98103e694e011dc79f0bb2500cecbef697d0e83b2012c29dc8 +Tag = d4f590cd9b9bd0b465a95fd08a43 + +Count = 8 +Key = a3788b18f57a674e503a604303b9bdca +IV = 08 +PT = 6ed2f9dc005f678a96e22de54dcd081314c4fe3dd6b57ac2e33561e01dd5601b +AAD = 89df4f516dd9d861ddc8af757f106bef90c9cb73 +CT = a51ffeb2653f5a45d6d17e82b1647a5b53d6b199b466bf3d79196a357ca53f51 +Tag = 2864040ddca29c949cda2ece9569 + +Count = 9 +Key = faf466f16526d77be4d1f25abbd79379 +IV = 1c +PT = 743a9ca7f074764b02282d7c1b0cfa8c5e624d49e8b116200e60dace4264aac1 +AAD = 3c0c4b34bec5318e843bc457a6f37c5734dc8251 +CT = 72014a63f0aac5f2365b25b4320d43f18d379f0011a4cd9ac8f33ba8bc2a1e50 +Tag = a834cef44bb66b446f64be67b424 + +Count = 10 +Key = 7f2eefda5aa4bf77660232ff68b6267e +IV = 3c +PT = 8d4d1c34169435463da030a593a0580a2601e56688697bd50499c16574edac95 +AAD = 4d4361e8eeda1142e0df0ce16a598ae1edde3fc5 +CT = 455fef6abdf58f3dc6cb0a67ee30f7ed852857a629450ba18c6e310b5b5c518f +Tag = 1d20211cb233cc29754ae2ecbb2f + +Count = 11 +Key = 78eed82fd7a4f8cd30e4e2884bf9e466 +IV = 24 +PT = 83daabd0914bab6b48943ba2f084481e2116530e8c6d96c0a893f0f3f99e3bed +AAD = d8588ebbad921c7522cfb7d0bfc567257b7afc90 +CT = 73af645b86f246f5cfc66f95e3fd85e86a7ccd5bf523aecbe9e46fdd65d39969 +Tag = b4092f82be5d50b68b5809fc7a11 + +Count = 12 +Key = 379c7894d98f2ef14cad63ade41bc47a +IV = 76 +PT = defe4aced46ff5a4295f2ce0aa7451edac780bb66dc5cc1873ae31a4d293a2b6 +AAD = 5049022ed5716cdbb922423bf2f85fcd4857d1d7 +CT = 23625a1a3ffdfdc79007c5e8125102074ca0edcddf515fa890b7a8802cc71c29 +Tag = ac3c6f87253e93f5158ed91cbb25 + +Count = 13 +Key = 41bbed54637daafa8f5984a3c35c2db8 +IV = 2f +PT = 0bde82e62a33ee23e7f22fbfc2c8b18030862c18215fc31ed24bd6a717cc57b0 +AAD = ad74d7c016863aef8913a6db1bdd2abd56389c1f +CT = 8f545e21425ba439e82ca4e9f44f87d7334a81e5e87c401c9106e4b32cff3c2f +Tag = ada136eabaa4b04411cc621a84ae + +Count = 14 +Key = 5a7c834c1e0d6d1039c271ec17587d66 +IV = c4 +PT = de406c91275c5eb1474f5a3ec04a605aa34d64be2a456d96416c28c8291b01c6 +AAD = 54c478a2289ee6711963e05038ac557267c83227 +CT = 9bafb53ff50ed565a67602bdc0d12527273b1a4f06222424227ff4f02c3490d8 +Tag = 6f410b9b02b53463558c359f75cf + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = f65dfe51e422618f3312c5c31a5f9d3c +IV = b2 +PT = 8d6512fc7c9503b34159f93d088c3aeace657731c8d3035a2775a2350a797deb +AAD = 51b0e48dc4c100b0e0dde6531ff7453f514218f2 +CT = 3e81cffca48b389358ebde83ba0c1e5187e90e3056faa5f2c95df419ce2ffce6 +Tag = b646a3057849af59fbc77b3487 + +Count = 1 +Key = 59e02cfae028bef1001af7dfff0376dc +IV = d7 +PT = 6c3a938b7e157d9b8e15acedda8bc6cc7cd44fc7c6365abcd462bc674d72db4d +AAD = 2220169df91f8ec43634155933906f14b9d1ef79 +CT = 0e3056305ce55053467d63470d2acf7fdc1a8a47ff842de512adfeddb15a65ea +Tag = ecb53e9dd3ad8499836c23008a + +Count = 2 +Key = 44e9827f9a46ea12d061e47439b46955 +IV = ce +PT = f095c3896092d621976a4253509e67938788d2f2abf8da321bb7ead049d946c8 +AAD = f0c5ba15056a275d198060c2bd2583df29eb40e0 +CT = e328034b049c578edbf504c851d9950909c7ed8718c7f0596d9b78b57ba66e16 +Tag = c90a5fb1dbec8f6ff070236280 + +Count = 3 +Key = 3d9b9ea8cf828806e946e70a532da394 +IV = 7a +PT = afd5821140f75c0fbcc8e164ad42e966b77ab5596151d0e90797b9fbb1bc0872 +AAD = fa57cb3c58f43d61f83ef5030df4a4a815d308c9 +CT = 224c60bc926b464dc54b0d2ec6311ee3cccd0bbf06837723b9c1e2d5e006097a +Tag = a40e21e4aeee14652c7f499eca + +Count = 4 +Key = f27f79c7165a7fb08cfe63220235d33d +IV = 99 +PT = 1baa6bc057f1e9d28b90ff2a0c23eea36a6a5ad8444104fd398c667910477010 +AAD = ae571023a6bd590a6857672972904e12b94da20b +CT = fb1cc9fc1fee5a82f50dd70f157578f7ffd617e6117993cb55f6f239514361dc +Tag = 496178f166a1da384dc469ae86 + +Count = 5 +Key = bb49cbdf43755d6d82312729b74e61a9 +IV = b1 +PT = db160587fb2214e851da47a5fe40e4643853cffd0c1e1b8454fb270aa295bdfa +AAD = f5db2f29d3e02b81ed4c29e105cf1450041a2ed6 +CT = 81b5a2ccd4ee38256a363874dbf3bbc626bfbc911413b2d3c9d1ce29bdf5145a +Tag = 91f61290e2865361fae318f982 + +Count = 6 +Key = 845fb27b13efa74fda42477714474fd7 +IV = 40 +PT = 333235d123bcecbe142aca5176bf0dea34ffc7557782c83c2272fbe956b46071 +AAD = d7e30d11b9a24fe03c345f89e545142e73ead136 +CT = c0b73056b1858b8aa5fc395f96eedd92bfb0afb6b0399276762bee54d5dc1890 +Tag = 0ed85c757cd37ed985ca6a6adf + +Count = 7 +Key = 8fe2d835c3fe7107dcb1131047d8af2e +IV = 1b +PT = ad499e2fc22fffd0d34d8bafe55656e0eba2de0c5a307d35e14a5ba1965f8dbb +AAD = 4234e01f5e1359331e5fd51cec1baecd84b8af7f +CT = abb48430f3002d16901ddf475edd5e6f199e4bc808873fc3d87a1729a99ad82a +Tag = 62d4589372a3f71bc29f8b466d + +Count = 8 +Key = 3ddf6de28157777a3e22d880d7e305d6 +IV = b5 +PT = e43cf3e2f2484fc0f8693d773afbff5fe0d45db76f24e37a496c21c35e683ee9 +AAD = f7400885e26443be6358568174475d521427f282 +CT = de92194e8037d2410674285a0041867d3b527d01333eb201ca216a1163ed721b +Tag = 80a328ce12a5dbb18dedd7066b + +Count = 9 +Key = e9e56a6256b563be9a2600e294165c2d +IV = c6 +PT = 178a35d32fad623e37d10818736fa4dedd50e030010ace5639b872148599abc2 +AAD = a32468a758c3026420d2a40289378e3cf3535000 +CT = 071fae96796eed7fdc6ae2abe8f8e7df70d369934e80b3128feedd78fcbf3aeb +Tag = 38cfc2242a1bc015843a0ff359 + +Count = 10 +Key = 64be1a6d1734b6d27e4e370bf335d126 +IV = e8 +PT = 7596ab75b74d2b336066ea1e6b0d0f897f78d3a5e61910859365e6dc6ca5ba5c +AAD = 92a173c5e1f5bba21298216e0ffcd055f87c0911 +CT = 4c69b792afe957b489f76bc5c2136c5906018a6571fb7ebdd53c0258a9a71a14 +Tag = fce6bd2d1d366454d8bf1ade7e + +Count = 11 +Key = 39f76b8666c5bd1e9ec364f8a33dc999 +IV = be +PT = 3e229d7e3804ccaf0e8235c9b80c20805bc84a8339e569a1d79c4a1482168ba7 +AAD = 4c8a79054f8a1c140babce4d9165b6061f896450 +CT = 912e3787c98a59a4a7de51503efb5024529258186b4d7aabde1a03becb7689a8 +Tag = 9be4872a9bb8086d3b93f62d81 + +Count = 12 +Key = c51d6e7783ec77f1819eac6b44fc8288 +IV = 4a +PT = 10edfc405acbd5f05d80efb87cb0f3c1a81c27be250a2d242c4f788d1519ea00 +AAD = 5d50833dc2392c86a6f7c69449e5ae86c1219c82 +CT = abcbb3f0c0e42de9f21556c4a1bf998f1a5e11bf7f5f78b9abc13f112a77942b +Tag = a264fde534c4a17d3eaeafc731 + +Count = 13 +Key = c061059af725f589d44e31cddee65808 +IV = 9e +PT = c9eb1b8a6191bf33417f1d9c15087e46072af1a5931e119fd12e2d08a0525456 +AAD = ca559e4cccc2d4b05fef60ec24d8db19f7c59518 +CT = fd1211e9863bf990380debcdd0736dcbd77a10aa3e48f5ec19d382d52e9d0794 +Tag = a215351055e33e0d9ceedf7c98 + +Count = 14 +Key = 0279d8c3007a69ba08ec7d63c15eba2a +IV = a9 +PT = 112a39e6476f571795d70cab62cd3d0a737c406e7d6eec7a2a2086c97e655522 +AAD = 119038325ec8f124f1b3c1d0bfeccaf0853986f7 +CT = 7686c34096f2591e903358e89f05dda3fdfe6f1948376b3934de94353dac5ddf +Tag = 6bd9e1ee18758607026e0f3159 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 95bf606c7a1f85492171608f54485e68 +IV = f3 +PT = 54b008392d056d75dce1457049c34f0e8529178c62ad0a1fd42657cdfec7880b +AAD = 36d63eddd0c2209c415eafa0cf062a4556e41b6f +CT = 980aff42e421c06e6c7b20347c3a0d1b363b77a7a16eee1551040686c17abd97 +Tag = 9fd46937ae3d0add529077d9 + +Count = 1 +Key = 5d9265999bce9cf9238295a2e1fcc847 +IV = ce +PT = 3bef9d6c31f0c30dcd3081647f5af992ca7ac397fd9665d0ad2c85c3c3898366 +AAD = 298ebb1cda8364b970a2d8fc8a55606cc2a73288 +CT = 21714fdfef1851ca2758a94f7fecaed5ba953122d5033f56157c9469383f24b8 +Tag = 1ddc0154a36b83623c80ff25 + +Count = 2 +Key = 285481141eefcd04ec99d56b8c77be16 +IV = 0e +PT = 090069e177e129d41658a7f1b6d992bf74dbd5ed32212efe075f46f34893eb42 +AAD = 951822cfc8b3e321fb2593e4c8ef7ed3f6cc664f +CT = 347ebff566662f77c78c07b62f1efc14f2becf65260999e648689477245b7cd5 +Tag = 9f43ee0c0fd988090d9cb39a + +Count = 3 +Key = 2ff5c7c44c10cfbdac1c7ef5a3265efa +IV = 84 +PT = 3e0e62585e302fe79c9beb7a501db1a6f70fa700607d707807f758f34c6a83a3 +AAD = 6bfeeb56f3ada5f2fcf2dda16ada61f847683bbb +CT = 61e67d4805fef4cb4bd26c069d30c4c5bebbb35802d3a8b37e8fa17bcc8f1ee4 +Tag = 9c90275a85d6674a840e0bb8 + +Count = 4 +Key = 1e5ee859e5083446714b494beb643d09 +IV = 23 +PT = 41ea8632276413564ec96ea87331aa660e390a6239c9b2377934f65c6712deea +AAD = 890ce107fc0ff874fc91a511452cee5aaf0b58b5 +CT = 4f49df459fc24ca9dd6f8b0b77594d2bf86d030a2467aa0bc0c6e8ed6309d4ec +Tag = d1f58519650066a304e210e2 + +Count = 5 +Key = 1576a1f43316f5e0c941e0ec40830f18 +IV = 01 +PT = 5d57059124aea73c74f97a58b1981cb75226d8a9d02dc83a71539e0de23c5f62 +AAD = 406477e1cf349049cccbb2238ace97c2ad0a56d2 +CT = cc35465569d6b30ff45f4aad834bce7d508425bcf04c51ec60c532fe0675c8f1 +Tag = 25e843404c219336f347639f + +Count = 6 +Key = 8a3aec5f61794061b9e98f0cc972a71b +IV = 20 +PT = 3b28fb7c5362210733f26d8c6a082c7135bce4a8f31657d6f434138bf0ff5b3a +AAD = e107d486a96f7048a343cd403663fa63bb09c0d1 +CT = 0a48bdfb64e493485052ace0ba6376307834f99502d1fcaaf7dc65c148694bec +Tag = 725e57dc54b3d2137c8355b1 + +Count = 7 +Key = 1cc23de5743158a69507c9e59cd2b67a +IV = 4b +PT = f5c40337ee292b187dc1b52cd47754191cff43d17bfee6cc557bdca11b271da5 +AAD = 2887d9e09805647eb91bbfaf1755e8ca0d7345ec +CT = 33f4f243fc338dabe716f9cdc4394d34cc40ebb485627a32e7c1ca1abcacf05f +Tag = 6d9b3cb619baca8256b91da7 + +Count = 8 +Key = 7cf1bb8b6867918d63e0eee3862ef631 +IV = 07 +PT = 6675432cbd247cc995543aefbfa5d4da4b2197c93accdaceec875c905fd8c68d +AAD = 80f2973b0467bab2e28ca647f92073755a939b27 +CT = 70623d7e15db5fa904c9de64d6a39b064df39c3befea695f64e9ab3eb6288862 +Tag = 1ddc1d0ba3db2ce0275a6675 + +Count = 9 +Key = 25fcd733783c6a121377a5f1befdc53d +IV = 02 +PT = c4895f57734411a8f2e39181ee56a9b04d1da950db646f3a07f4785bb6248849 +AAD = 81cbdb7a898f7cc999dc983b895da4be535ddc96 +CT = 4bd5d92521ea5f3bc04e66e3ffe033e463860c96c872460ce84438e62422e35d +Tag = 4f8619b5b9cbf521e13ad4ee + +Count = 10 +Key = f71ba26033c36836fe24fa9834385434 +IV = 16 +PT = 0a6f3c57e10977e079ef26d40faa9e11569f511c6382ab120bc5775570ed26a5 +AAD = fe876658f44dc979f9052ca4246d10bd961a6b84 +CT = f84ef67ea18bffa8897420cf1f13ee33f56d06dc20fab6c74b8a9ad6e2063299 +Tag = 705f450c00745994e1654674 + +Count = 11 +Key = 6a16c0493195a2ff3c6b94ba327ad14b +IV = bb +PT = 9b23cb1eafde707eef608a9b5620016490777801bb7b6c0e320fd6b0f7c7e5eb +AAD = 86467fb29c7cbffab09b70b7817ca53ab067a9ce +CT = b34c992607cb2bf928f697fb1473b8d9b957cad4d6eb683443c98d5b0796ae28 +Tag = 5ce42d7c346002a591e0f338 + +Count = 12 +Key = bc89505047078d04897e685965a18391 +IV = 8c +PT = b03cafc6e3ec7e11b54cddaa1824bea210bc3a9c04bc30f8333bc3533af584bf +AAD = 77268130648e5d267b0690ece75beaca91864369 +CT = 52101ff15b976279e4b15abafbc48985a687584d898b213022715cb6c046467e +Tag = d7cbd60e6b2e407c84b6f7a6 + +Count = 13 +Key = b933a6147e290f00ad9762dd6494793e +IV = 15 +PT = f5fc7adcece80fa9cb78bc8f05b62b201cff0504b252fe8baaf9236d9e541114 +AAD = ccca969be1ec996a5dc6c3fa6b7af9f75d05baf6 +CT = 73cc554760e445ba0107e3d2910187174da5534f8390a43749cb287a65f2f775 +Tag = 393ef14355f83ec416f4553f + +Count = 14 +Key = 4e8460af1ababf2deb59a9897452ab77 +IV = f0 +PT = 694cd814a2811c06b4f914e62b93c3b4f5a91a0984c1b322b8af23d69d2ad934 +AAD = 225cac8dc633f8d80ccb473b1c03c24a823c8dfb +CT = e27934831d728a314904e8216797fe43116d51c15097660eb4001ecbb185616b +Tag = f4155e0b806b660659ba5dee + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 47f02b00f4a26766653f2d0bcc57f4f8 +IV = 02 +PT = 13ac0b42a6ff2b31d632e4b1b9542fe90cc5b7e9b3dc4617d1c4ca96d5bf583b +AAD = 7b7c9b8feea33b71fe0dea919d1416427f45d74f +CT = 303297c67618053b07d853b5a2b363bc3a6fb908557662153a8f08ff549b12d5 +Tag = 3422695dfc6a030e + +Count = 1 +Key = b81982db3a4671e358d774cd5ae04501 +IV = 18 +PT = 9b7f3a882e7bf0a5b87bf1f521a51152c0afaeb3c31e2370d68ac4604c9d7b27 +AAD = 64cc4238ab7a5f91881b805055294c9c50aca3a1 +CT = 12309ce82c5bb810b1522d3108174851a4a370f022783ce68e782c02ae2398e4 +Tag = 3c3fd3b636767ac8 + +Count = 2 +Key = 446b8b269a8b8aa0d794654a862db012 +IV = 8e +PT = bc78b4ab5808eec156e448001887cf21e406d6624663faa81ec34d91888a0001 +AAD = a23a7e96b9917871e47f7ff042e8603e67beb8c7 +CT = 6826f56ef544b97f33b259bf10904fb45c5582d8a27592fb8e01b7e058560892 +Tag = d7b8b31d32164f6d + +Count = 3 +Key = a236b70e7467b095bc67af512f956be6 +IV = b2 +PT = 08e9075ae40d0daa7c15224b5225c2df828ae26badcc46928089d999b29bad9a +AAD = e466315503e3a8fa4d92d149445157232b9d0b4a +CT = 4eda20bc717398a5f9673f31139155d0581e565affaa2a4b923d24ab3512cbb1 +Tag = d6b80ed9b0377d5c + +Count = 4 +Key = 4be85e5ca6f4caf2f1a360b028c64b86 +IV = fd +PT = 07ff72a2ab2a59737f9b2d931111a65cab7ffba96e80040fae159de6b01a04d6 +AAD = 25b5d35b7d5d3ab9abd5981a2e508dd06a709bc8 +CT = 67e4fda0ec1e798a681e12c7a205175260b19c24bc5906e86c8523e04fd74a5f +Tag = fc757037fbdb72d5 + +Count = 5 +Key = 1b1b77ba241e983570e10243534bf502 +IV = 0b +PT = 0e0f9ebd3aea454769bab80a9d6cb994bf9b135b75dc73b265330ba2a4e655da +AAD = fcf0657000d34e240af58a5531e4e911bc369bc2 +CT = 1194736aa95fe752043f80ec02144134a619333b3ba4d37cdb58c0cfd5083844 +Tag = a4f6ee87357921df + +Count = 6 +Key = 32918a76025643cbea385cf301991775 +IV = eb +PT = fe011611dff919fa3582c49e7dbb54cde3cfbfb6f6668a547cbe4164c70a797c +AAD = e5711c89207c3e10ab4044f1bab5a3b4819e6f86 +CT = e2a9257c3d3d1186184345d6652c501497d2a168a23c15de7ea20c9bac7f3841 +Tag = 1baf1d3e13d7a1fa + +Count = 7 +Key = b4d067caa49c3b145f057f643aa3f4df +IV = 89 +PT = 3c3aed7e40c8d499e36afa69a4319a6d0062e340dd1c449b78b82cc2341e15ec +AAD = f816d8a08fea8fae06e8fc76743fbd0fd38d7cff +CT = 509a21447400c306156c525d31c9c7fb279a9e751abc7e35387396a9ef0780d5 +Tag = d443b3b53b88b5ab + +Count = 8 +Key = ce689b8f572eda96ef18226e3dae9c82 +IV = 8b +PT = c4c5a0ebfc4530302921894b1c9b2a6a36388393249852ffac13057ca34d4d4c +AAD = 06907169d5044fd4e7dc8ffad5021b564d9a6a6f +CT = 52561894dcf24dc74bf566c2a5ced2bd8f673e3599fc61877ee530ed072d4acf +Tag = 02613c5701d3e24e + +Count = 9 +Key = e5423332314611a51632503bb67987f1 +IV = 94 +PT = 63614bfce130eedca65a1ee36f59fd3349a8b2f48c74a0c18165731ae7436c91 +AAD = 91ed29cd6e998fea632649bfced8a353909a2bc3 +CT = 5fcb66f594b8faa2562dace5c7d4635557645e22ff27d3a83c52c24d596b599e +Tag = 21cf61765c12e80e + +Count = 10 +Key = dfe21916062b61ae614044d54023b155 +IV = 54 +PT = 46511403673fe5c8109abce61b12e5b43b9836c6fb2810ff58e4bd37db665efa +AAD = d4420989edf181d7e8dde3b08e0b159060235eb4 +CT = 74194f378d470b807705f65c066774cb9ed9ded4bfb710fb1e1964b48fe7621e +Tag = 04f8397695fed5ed + +Count = 11 +Key = a4bbe21fb61df48e6220d3c7eb6b713e +IV = 44 +PT = 529217144ef47b1b500b37d386d6b5cb95b4721271fcc86b1907a63883ffc053 +AAD = bfc838d9d88004442059bb2a9c2871aa30d72dcf +CT = 18721c884d1bdba441ce80ee4f31ed62685fbeaa46a2c38747482a6428135599 +Tag = 9592c761fb63e1c6 + +Count = 12 +Key = 185f48fa622b04fcf4abe2fbe6fdadd1 +IV = 52 +PT = eb81132665474837dee4fa76413f0df2accd959ecc0c7bb06e4bb72b772e8907 +AAD = 789f3c8fa76c926623f0f874fa9fa795f13f7a79 +CT = 7e155873b5bfec85368033b6a260530fedcd81bd63bfc3435c7caa09bc0e5b7c +Tag = 50fb5d10300d2d18 + +Count = 13 +Key = 0e416ec73c42de8efef8df6256ac7d25 +IV = 7b +PT = 874cefaf1c1a82876b5661eb0988f7dfee62122f477d959fc450596c1e829f6d +AAD = 218670af25ce1465ee35546e02e65badb0a4d2ee +CT = 8f06b27a48740a2f49f87b55d0f078c7511abeccbf7e936c326154d0e72cf85c +Tag = fda7d465fca9c076 + +Count = 14 +Key = 2587fd0f9a44fcd6000c0eb5b2266635 +IV = b3 +PT = 070885821765f3c04ec832d6732351f5b2ff5fccbeb079e4e90c3c027518baf7 +AAD = 0049c49adeb97ecbfe418ad09d82ed8c8b1400f9 +CT = 1ea18f23744b1ca671b72305690062c3f9e066588a83363f243d98b7c8abcfc2 +Tag = 49b8e72d769f79c2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 5faba1ddbfb25f4e545ed9dc326c7bd7 +IV = 64 +PT = 93668023cb534c795a66abe982c90e60db0a544fe56890faf42f66b0639995cb +AAD = 85d36355f8658a3b8947afc975157ee7a09c8147 +CT = 73592ff8c089a861b2bba81303b09c7dad001ad72fe42dc22ff539bc88111390 +Tag = 1614e8a0 + +Count = 1 +Key = 71001aec16145515af0c8f4fbe02edf4 +IV = d1 +PT = bfce635c67d6d140a5f362fc581529dfbf8b265d53b54cf4f24475f41804693d +AAD = 3d34a08f105cbef4179f5ef45e95b9a709411492 +CT = 62957c4768da4a55067fbc157a2e85b2ba74f79a545c313c116a1c73a5967dc2 +Tag = ff711f14 + +Count = 2 +Key = c355def78dd199369eb6e44e37a0e5c7 +IV = 9c +PT = 81d4ab0fe40a06179accd577f52c2e8a09d156ff3a3a0af6b1516ac5371b8dd8 +AAD = 56eaf9f8c897218377a386ddd7c5b54db936c6bd +CT = a3127d54003731f4b9926c08cdf007956d3c486219f46f26effc69488405f2d7 +Tag = 9e86490d + +Count = 3 +Key = 562264f1068c1dfb9fbb5a06033f7925 +IV = 82 +PT = df55adc4ebf310afa0b41ac054ab06a5b38c6e4f0a257b3e8ffd3983b1fd356b +AAD = 16f0d8db678eecbfbe5ff573d749666a418ce21b +CT = 747d50f88396d3a9b6d2d05b4da6d59ffa95ead932de49ffb2b8e7ce336b99bd +Tag = 0d6a2668 + +Count = 4 +Key = 27ff6fd9c7447d50607d5332c60eacc1 +IV = 2e +PT = 19ab671110f81f5ff79d8a540bc20dfab848547defc1c6e9fda6468cdb472ffa +AAD = ff84118f779e6aad7d16993cf6eac1f825f77d4c +CT = f80408e6d4c7c223af4240f96de7b2875d10b8db0c5c062c1662feeaf355bfd0 +Tag = ab495ed5 + +Count = 5 +Key = 3b2b8bcb853de654bd1fe1f933d6f56e +IV = 77 +PT = 9071eddf8a23563bbb7aceb4b5b96d00f11ca5501d4023c21e98500c34cd9dea +AAD = 455be2ab20ca798ade2e095297fb1dac6e144e18 +CT = b0c61ae9ae41d7ebf14c6d10127341c70648beaeb0bf5b256d0212ca69ce022f +Tag = 62b73a47 + +Count = 6 +Key = f20a59f1dd4404d732dc0853bbd2fe59 +IV = 35 +PT = a83cb7d56d97039886677c20a9e73084c8be3c3e31e05eb2f54cbcf62f557520 +AAD = 4f1ad9ed626d210352bbc275a465214c04d55584 +CT = d44a73807441a5b9f176a79a5b1fca8a725f53ccb6e32006baf6c223f6c46042 +Tag = b87c9c49 + +Count = 7 +Key = 259c06b6bb34eb0ca222fef22a46bf4a +IV = 42 +PT = 34f7889bb7c6071e04866e35921c825a13f756b228cf6f5ba30eecb14550679b +AAD = 9a5c56c98089a61360034dd4cd4e960deb14f4ee +CT = d81748089d51fa715ab99ef8e2387635ece562feedf55eba12489195db584136 +Tag = 8119d4c7 + +Count = 8 +Key = 776345c57c5a9b9e8aa8fea87ca82b76 +IV = d5 +PT = 3317e938e6edc90416ba945ec54048c870caa15a550ee8d1ff86f58f3e7121fb +AAD = f966ae5b0f61122bf0fe72548446b9a689ebe787 +CT = d8f4184afbb32e05c1ea9ec41ecfaf8313b704a5c0b88be65c606374a3a329a5 +Tag = 625e0de1 + +Count = 9 +Key = 1296ad3df30a130fd1e8aa684b805b44 +IV = 79 +PT = d635fe3754be8c78b1c2f38e6de34876329da7de4e059efbdded7f0e7c1ef0ec +AAD = 33d8f510d0879c3f1ee7bed906565769fb73f00e +CT = f00e9aa9ed445b2f8a0022d232652f34d992be324758bcf4c576de7402eaf946 +Tag = 21f67896 + +Count = 10 +Key = f426cc1ca348b4cffc22e9849b8fc771 +IV = df +PT = 1144d544f1ceaabb0db630d2388392ce86bf5fe1eea881dc9494c8250a790fac +AAD = 0ce275c8bb77f3d0c0afbc29a16990e302d5ef09 +CT = c792bb4fd71ab131bd6606d3a8f820c0dc3de22179ef9f2bba2809a142a31169 +Tag = a5bbeaba + +Count = 11 +Key = b0b61a37825f59d4d9595a8cd161d9b5 +IV = 18 +PT = 63f2296a17c7caf3d93befa37030266646171c70af8c12329c8cee9df0ee3f42 +AAD = 9fd0619f3fa7420b3b6e1ff4b5de201e6ad52911 +CT = faa8adb8e078b915025396aefe1722b438697df5fb501eff765b73a3f1897fc5 +Tag = 696f8789 + +Count = 12 +Key = 0ea6b44cfd4cb7430eb5de82fd94b36c +IV = c1 +PT = f72aebcb03bc0d21019bb251cad1886b61e2a9405d29877780ac7de8f65cd17a +AAD = 923459ba3340aa8dbe6083365b9fa7586eb602d0 +CT = 62eccdac7d8fa2e27fe68e5476c5d500cb280dcd51065fc8d94e7a85c9693a32 +Tag = f34836ba + +Count = 13 +Key = f8ac67fc170ff43116fadd7e22450e7d +IV = a8 +PT = 5ef20591cea9f1a4a03a210cb63f7b95418ca77094858f79d196965469ddeb10 +AAD = 67e24c922856e2e88719c7e352bcbef4e54d4d8b +CT = a534189deae3eb0d7648f43c35471c69edbdcb296bdf6cd2fd4e72f477fb972e +Tag = 8b80d6b3 + +Count = 14 +Key = 04219cdc1ca4edf82426e791e296b062 +IV = 99 +PT = e4e9cafcdf2f9e8c676363e3c1a6540c86df14de90cd13bfe89bcb23ecc0e6a6 +AAD = ee595e8ed4595253ee4c4f6939a84d28fe980b04 +CT = ad680d6d5194d955e72850fa7317bc2e2238b707cc73fb7daef27ea42801a946 +Tag = 9167bcd8 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 9852fa03ac796ae41d8e3201de476534 +IV = d7 +PT = 34ec937029cefea99d276859b1b673b4870e94d7eb80f7093b53d27795973de3 +AAD = b1c055de4d0c2cfffe4e09b57a4676301305d343589f34d40cdc1d43ad9268b49b114a732fdf7828f199f8ea46b96cf7 +CT = 1ac8a1433a81b18166786d15e12d515319933747ff9dbfbad16729f596974d97 +Tag = 4c6cb9f809974730ecbde6a1ff5510cb + +Count = 1 +Key = cb6d95d4dbc99fce92f9405c95f138b8 +IV = 80 +PT = b96e1602dc3abd79589f2bb14ef748374cc194fd2f77195d5e5a946b4e856a6c +AAD = 18912a63e8d04273bc1302e1f995cf0d51e48312a666eac6286a221a220f85ddd99790158ef936a1669cfba8486345b3 +CT = 879b26335a6c35ac3c5809b85a06b9246b6e4f314a04f9fe9d0754cfbada2a5b +Tag = eb70bf89a398f78687b7d7ebd536e649 + +Count = 2 +Key = 063c19ff86d6bd5578da76d194dc0fb6 +IV = 68 +PT = 87966b48d08b8b23d0a241766d04dba91a0036821fdc31f29635e7a6a35058e0 +AAD = 380041236a192caf92477d3f292b9e8fc3246db592a811127c88f29eea5d8ec93008a7927b015430f9317a6638da2241 +CT = 5a21aead5310f6abffda1ffa1ef760db3e75a335ae623617be4ec080b8501483 +Tag = 1b2248930aa25a5d1e8b978f8f0c7efc + +Count = 3 +Key = 2e5820ca01e5f197a108a06e1621caea +IV = 86 +PT = b995211e09d72fad8fca73e2add51dda3e7ef62d0081232da9b8e6f43407aa0a +AAD = 9975da361889e79ad09fdb3018a6df3d4bb25a48b23dd8861829e6217ea3d2caaca0ae6ad6ef2e82c6dab26516c0215e +CT = eeafda164ab5c28ed419aa2de299e074f71f9a5ad64bca7a3b830bdce50c3b3b +Tag = d03d77f78c190971a7aa6c29c0c89e96 + +Count = 4 +Key = 5d672d1bac4aae5f91f8e9c611e1010f +IV = cc +PT = d1690f720bb5f6727720bcb3bbb3bb28bbf3417a88f02f7ba35c6eb0ba111e25 +AAD = 98b7596652553f1f0bf9f708d85cfadce8ff960738c608621fdc7cea2da3762581b2d53b4f28bed2c84e76c1f5c79de3 +CT = bceddcdc33cb7d5e31fdfa5785db4ca92f864b4d002ebe256fb35db7855b98dd +Tag = 9d201b5f6efa03663add368a688ab683 + +Count = 5 +Key = 28c0140943f0fd61f062df91e039b6f9 +IV = 44 +PT = 0a6edc2d84a434e66f7c0b1f77edd903dada0d58ad824959725cdc513423bbec +AAD = 88c4d899e5cf8f0fde81889bdca350249cbe5764016886622c69a39aaa21242aa46314312f4a49ffaa03278f727ea592 +CT = 72ed21fe6d64702ddc5d0f4033b7cfb39285f1eb0388db6d2fe6b409b20285d8 +Tag = fea1a737390632aa117ced92baa2189d + +Count = 6 +Key = 469b47084bcfcb1d553ef16c51f0c547 +IV = 71 +PT = cac7ed6feaec6d5aec9514938d9eaa7a0bd849887ef356ca1c20be8ebd6c0fa5 +AAD = e4ca60caf9444292bee0a2c75190c0689ec4166beafaf1acc72e4ddf06d716fb62d993c4787fbdb5a386d76147f6bef9 +CT = 8639fe350717dd2a5e2f01c0862fdd3a3937795e535cfd163ceecb3b1c9da41d +Tag = 5ed0bac0bd7dee0ff1a6fdea56b4b6db + +Count = 7 +Key = 02240480cc7c3f9f02737b9142879f08 +IV = 5d +PT = e8f15238a3e284ff5c64c3a7fbaa634ba4af42a8146cc46137bc3550826835de +AAD = 3dba536f561bac24b6720037d2f3574bf256bf9c69146699f38e14a79eb8b775794fb29a0e60d668de01ef1c15289bb9 +CT = 9bdb98234df6f45608b6f3be720f386104e37736ffff2d9b41f393a7af8d3916 +Tag = 8798df4307287b70ff3424a8ad8e95ae + +Count = 8 +Key = e88454dc9c31c2280d91a045db38ae78 +IV = 95 +PT = 5dbac5c9feb1458e9351bbce31f208aa6990b0f44c2c9929838e38e781259aa7 +AAD = 0936e80c33d857d8d8daee98313ec1f94cc1cb00b3a5a91be953739e5c50ca480a5df2b6c2967cc4229b6f2cba7bf6eb +CT = ea6963dd9e2f61cadedef3c7bddb4a5401b53344ee8a9d833c6ba990af022740 +Tag = 5a84c4fb0993c1ee0fed3a322c8ed9fc + +Count = 9 +Key = 0ef0ac231518c602d6a9ead5da37d836 +IV = 25 +PT = fcf0287e53aea288a2d84828bd2f8abf94ab587db9b28a956013863552e5c522 +AAD = d2b4624189e83632e9166f7d27e51c43ff3ea852b140842b607cd9b210133235bfc34bec3dbc97016d208bcc166bf276 +CT = d84a2cf002a8f7d86b0ec802a3889ca486824889f2b749e5fb14f649f0020dab +Tag = a682a30bd96cb49c0fb234efff120cbe + +Count = 10 +Key = 4b8d5ef24549d9c2b3052787ae988466 +IV = e8 +PT = f5030c43da6c1ee28893dc47ecc0c13de36f2c98da54fb2090ae1a73cf9ac7a8 +AAD = 889c5a3d793a1cd7cf470411b642176487c01a3b894f3dad5d336e57cd61000e64da33b4542164c4e639dec2e2b18a80 +CT = 74852950ae1ad7b107017d69b7668cdfe36549aee34c28eb1b724027ee478106 +Tag = dd4b739338b44178fb373e54901bc6e0 + +Count = 11 +Key = d61c4d67d5cf2f087cf8360f612f3711 +IV = 69 +PT = 15284ee25ddc6435f80cead70aedb6c8abcfb80c3873a71f9d880f8c5017da7e +AAD = 73b8cfb8ce6739efc8cb4f63305841be46ac4c34a7503c1762a6463534d30b6531a4dc54f005caf550d95c710678ef5f +CT = 377e5dacc82e7afbe30214fbf65be4d4d73003390f6a68500a58bafd65e42688 +Tag = 1f5f50111053a52711acb9a081f1cd24 + +Count = 12 +Key = 50c8541bd87ac603f4f702997bded015 +IV = 9c +PT = dbd3db5555800226f9aefd1532840baee23e90ab49c6a00818c7add3e6d8f29d +AAD = 751dda803098bbb0e08efeede2ac4027390b68ec1d90de9a7903abfff380ccfc18db51310c5a95b5c6d324732cb4ff17 +CT = 9cf09e97f6faab8e8b4b1ccd832bf528d482bfd42ef66ff2323f22390f9c9ebc +Tag = 6194287d3254ff6bbcb79047873aaa0b + +Count = 13 +Key = 077ef8c28f67ba740e75ab348ae2c9a8 +IV = c7 +PT = 38a49bfd29dc6c36b130460e98fd9b47cc1b5f2f07d083c0cf9f40b63a097351 +AAD = 511221fe3e7b319a0a8145247aa8af84127212b0c8e4d7524d37a57f9bb056a8fd6d3a7f8b1ebd66f09f4ef7ba3640aa +CT = 2dcac32b3a87d6c48aa2759d547148b087787ec70564a95b0d53f404ef803758 +Tag = 43e919eafca6b77c498f36a46a914269 + +Count = 14 +Key = 3d62b477c2ef679cc94548e568322cbc +IV = 86 +PT = 4af948049376449d527a4498c38fb3389d14d05fc0cc9fe8bad7490b27dfe313 +AAD = fe63d241032d462af3f2ba877f15c7d4be573d0443b60f6492812b6c2d5ad2f3850340e2541ff68b718630aebac39b24 +CT = 343a5b2b4d2101441f237a9e0f9cc2e94e1b58b946dd25177937a34c70b43d06 +Tag = b3043f69aa88ba47f3e0e90ca3d7ae6c + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = bbf9118e2f27c772e68657d1976a17a1 +IV = ee +PT = c4424dc97c3b76a5f56c9405a4d6ae560c3e876c340798784a300aa80c58ea47 +AAD = 8b33c0a0542e84a9c814e9a47dece463ad3f4786ffb03818d9ca953be486b24aeec7ea69205d60b445dd01b432f223d8 +CT = 39efe1894d200b48859c53797f9a251f74c2ef73aee9ca1619115f56ff851962 +Tag = 0ae0415d23323ad791d439af354ca3 + +Count = 1 +Key = 4689c038364aa6e91db5371ededbc44d +IV = c7 +PT = c5dd4410bd019599f78b21f6ac84d19ecebb4fd312aa4bea14ba3ae92f066b65 +AAD = d126c8bda8428e288098d812e8bf3f7a1b5aca879290ec4d466d487edaddede9577fca486d592dd32ceb24a4b299effe +CT = 0ecabfab6e7ad37c24cc3f406c5ce69240bcaf9a898b328643483270a88511b7 +Tag = 68e08777dad1c869d1a94587b5a7cb + +Count = 2 +Key = a62794a879c418ec648c318966489aec +IV = 03 +PT = 6055fa434a76a5e9d8267e7865fe2f8b279035f568376fcf8533c10a550ef144 +AAD = 20def66e78a96df5b0e2d181f07d59a2992cf3c9262816cbfd8eaa48e8fbe10ab023c2315cd2b9b7ce347052628d8b31 +CT = 367bdb14c91853ba6e86d9c3454575714aeab71e65837f3a3e5eeef5c04a5a61 +Tag = 9c4e43f75f06b4bde15d6f319070c7 + +Count = 3 +Key = c07f6840e48b2a313863382770f94445 +IV = 6e +PT = 5d18ec88ecc0b9cc562ea6e27858905c5d83c30e2ec86d0ac82d0391708d37cf +AAD = 8f22cc2a1757ebc1d97bf89e3aa7fbe2eab83ac9f6d142cafe6b0971099e9b548b64fe05962d32f631ec6d2271a5c267 +CT = 5c9bf10751678b5bab3dab5bd864e488500186d271f58cd608989c536e9196bf +Tag = 0f0c20b6103848cf61f9fbf9a96c60 + +Count = 4 +Key = f8e6272aab1ec6952ba8cf36c6dc9d3a +IV = 3b +PT = 3abff261f75e5a2cef324f6e9e9aec489ae2fe93dabbf5c1ac26cbb5fb25b334 +AAD = df8c6bed06d9844ce5be3279968e8836bb45e3b404ec422c9141ff86a5ebc54ad8424bc2e3070b552ac52a25447bac5b +CT = ae397e58216647e974ca99a7e45693abe28db4ad573b028a4e02ce52e080656f +Tag = 271cb6ae02f302f2b8e33d9873a9cf + +Count = 5 +Key = 7005bcefed78ae5d293a436577009c6c +IV = d4 +PT = 5f58321395382baa13a0de54d84af5f3cd402ea209ea368a3ac755d1c159e5c6 +AAD = 722d2c96de509d2662a537e1d9f34ab5b4338ec55111459097e7b6098c2d044407e6baaefb98420192f22560ea1bc519 +CT = e6b97c608162fa1094d39cacad7a6e86dfe046ec7307bc20be2bd069e3685ba2 +Tag = 89e6a89f5316d2288fcf04e8b149c8 + +Count = 6 +Key = cf21795b1698caa144d8a96b67cfc4d7 +IV = f5 +PT = 1aa5149e3e311133aded7a7b02feeab4e92273ef9d9aea67d646d7d3d8bd022b +AAD = 0de8ca047427aa1be6a51b80edd1a25ef14f51a3c3335dd86320d4e9df9ac4d456f24d6b9aa25066550f69186bfc3bce +CT = 8cca3c7568db9c43ab12140746aa82114c7a0a87e3309a489ac6a33720c6e67c +Tag = fbe278845fd007c3a3f832c890b50b + +Count = 7 +Key = ece9523425541b1fb5328be9861b901e +IV = 43 +PT = daf4ee64f3de71150134fc09f93c39356e8fdccaa2c563c26586b259a96a919c +AAD = a1a7ec7f1f208fdb886a251be8c62a543c02a6f18bd6ca3b94a2faffc2daf5afd44ae11924e33612d86e5313421c971c +CT = 6591dc1d902c470d7313088a53ce059e53062c88ad19cb7098689adcc0b4d383 +Tag = 2b2e72ffa0dab4f3741e9902bf8503 + +Count = 8 +Key = ee92cfb2130de652875312a2cecf6c34 +IV = c5 +PT = afd91be08daecbf84e9c371ba30ab6c6b239906ccd53e383785ecab7d14f00e8 +AAD = 296d88ff383d9b757139372407d1a589ba5131c1f2080cd2bd5f317a3d2005be644a9a3811e56b239069abbc1d0e1141 +CT = 4072d022d61435fdb6bd59610d79f2062185a49d6cb2d2d194a683126bbb9567 +Tag = 87b568419b3bd67774ca6f4824b85a + +Count = 9 +Key = 3671e033c6b23ce35322875f5b8db799 +IV = e8 +PT = f233c12f7b14bbc80eeb560d7595755c537b851ba1f5795daa058613ed37b0ad +AAD = fa826dc9491666ec9084ffb8fac2326c46a5995ea3b702d65b89f60326a00a8d7fc037dcb275ea4a6edde0e1f04db40f +CT = bca8e749b38bb699edef3d4e82a4b1f7d7cca4fb10dfb4e5faee3c0d2e72f55d +Tag = e761ceafe5920469ed0e37ac8e3bd7 + +Count = 10 +Key = 6a0b721008dff311e78343873260e3d2 +IV = 71 +PT = f9fc589308dc56a0c18e83cb4e8bcb3c207dbd482b15470254e5de31de3cc4ac +AAD = 53dfbfe458186a3e0ef36ae90a903d8402dc277d3c4cc40972d84d05aa111b813b1291b4bf812aaed508b4bbbb3caaf2 +CT = e621b795f5cd9cee9e4562a61d6bfa0afc6142b0f1cea27cfb08d644d76074fa +Tag = 04443dedef04c41c19750c12512c63 + +Count = 11 +Key = 92935656014911b40aba413f4078c90b +IV = a7 +PT = b9143904be38ab9da03e52152c1914612113d4baf89cfbe5a63b42bee2372dfb +AAD = 04bba3a85647f9f908074b5c3b804dedbb462af976aba5176ccefc540bc10831c89eef4b940e8188a3a5ef9051169f08 +CT = 46dd657b0ae11e4374ace1384f4a0a4b9086a561750ddcd17526b712f06f8983 +Tag = da781503be9ab9baccfe918f4dfdc4 + +Count = 12 +Key = bad7fc6aeb27dceb00562f031403ec41 +IV = c8 +PT = f325faf3e4caeb4026ac2c77fd766f9491350ae1b1a15f365a4e360194631b5a +AAD = dbb7fe3169ae3cc530c66f0852c44bd69e9546d3c92b3647bf27dd042adfdd6b3529450a7fdda1b9775af86fc6d93d56 +CT = 04cc9873c588c9cbc41edf9583008de8dd044086318c0a2e98b110b3ba2562b8 +Tag = b7fce79d0a63317ebf40cf2d77f940 + +Count = 13 +Key = af207376c4a0843306f983a648499d51 +IV = a6 +PT = 832a2baff32babd7e10aa63259b98bff6ef7d8fe63f4088318eb0e69060d710b +AAD = 47b4c715e347a6a03e9bc6e61f9a028b193d4b29a8962d8c337cd233ebe3efa5af284d699d086c2b96f446786092773a +CT = 5f25cd31ef6ad3e895e7529510296e65cdf48a47c2cd103d51f34cbce7fb8945 +Tag = 8ba66fbe41fd470309178c05b48e98 + +Count = 14 +Key = 048907052a189d1a774dc811ec4cb925 +IV = b6 +PT = 3f04cf369fe2e94bbc783a42ae9878bd51ea86ef0a7802ba077ba9db19dddcc7 +AAD = 76a4221691ccd34cb55b016ee67ef7c001f35431f3b8d8e0c249bb3623778a6061b1a98fb1fcfb808bf69680dc1dbc6c +CT = ce8760027bd0a4d0559f4c3d512032353c845ab4105f27db3d09c91da2013167 +Tag = 7fdf2e09e11fc0da3bcf88e8c6f1bc + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 95c4166a6be3baec41036c1da3e51bd9 +IV = f8 +PT = 7bba1a15b335ff4eef3713891cd1c13f3739e3788076b725a250aa450b22e6ef +AAD = 0fba852acd36e19f5334d49600248771a1b408c160f7657775e5efb2c4eb1b30a88a3396351cb13ee984e2eafa6e64d3 +CT = 484e8d80cefeb642a037241679ca7afbd5a5a35a72a7cb759895538783eb0a08 +Tag = 55735c9f5c984f395bce6fea05ec + +Count = 1 +Key = 2058e09d137556230a363a26d38e29da +IV = 72 +PT = aa03401a4b6b0f7c308570fe89d3c1a4d24d64f42b16bec61c85561a57f5e96c +AAD = 20dff5a19cde69a2756e6ab57847774b3235ebe2dad424eb9a3fbc388175e09899298154e488f4c4b3e61dcb24af388a +CT = be34eb2ed4e2785cd366c107fe12f3a0acbf21289ebc92d0c2162836b6c6f556 +Tag = 75abf104cc43ad958ed4c2aabea1 + +Count = 2 +Key = 171d24d699e80186941a44292d71df14 +IV = 44 +PT = 7ff7439fbe02b801e479e1073e9c90605d4f6bf7cbb8414499c9f7c142f7a805 +AAD = f7d43de6c15910fc7924abfdc6236280cfbec12cf798123f521a733b6efa4cd404da4f5db88bd65f76f468993eeded27 +CT = eb5da4f3c56b909a83b96fbdea496f65be80ac5669d3f9390687beb78d2bc165 +Tag = 4e22ae8812b65d8215d46d9b62c1 + +Count = 3 +Key = b7214e751bd2b86c3c2a6ca35aaa3f4a +IV = 8c +PT = 02da63fd55a187bad4474216fb2b7b348db16a61019ad87ef31ca58cd488682a +AAD = bcf4f91cdbe3a3e1e8d314dba24088badb55414b1175ec66ce80ebafc84f0d73beb55e4dd98fbe749c99510aebcefe5c +CT = 0311a790e5f59b69b2102d3ac4f801908ae4c295f38cf90be05f31d7e9aae866 +Tag = 5df54b5efc7ed758a94a0239b3df + +Count = 4 +Key = fb13e3d85c7d209571ab5367f41fcd2e +IV = 97 +PT = 4d14afb9860f2373ec5b8d5d2e76c0ec1fb196378cbd492105669bd79a3d2a1f +AAD = 07cb4a08749618ef72903dc7160349a226649040aa1806ba254410e33f072e3a9b9a17e84c88fb3c3626cbc56afe9cea +CT = 969eedf2d2474cad746cf5a16f047e42f6618488443a4ad5c8a2f31e05c57aba +Tag = b7cc1a53ad1143aee3a589b51f6c + +Count = 5 +Key = 81c3ad234418373947af68b6c49270aa +IV = 8f +PT = af5183ecf375a46cb1a42c0b516dab6648daa94ee4bea20760aa3c56b50644e8 +AAD = 39c0e302395141b3a9a88775830c1d60b0d3b7f973c89b2de0982583d14b8da53c51adf4512c030add8c040df7d9501f +CT = 2bc7420237cfd6f91792a8c8e32db29b3e37e200554c9778af130ecd061972e9 +Tag = 0e5961edf2ae78effc3be778b5bc + +Count = 6 +Key = 51e04ab3e151441216b37189a0cc064d +IV = cb +PT = 58516a150e0c0e0b5a4909ff9b006589ead4431772afa33f98076c63a81e3436 +AAD = eb5e703fa64692b37182c87a40778c14be8d3d37694d1912d9e9b6fa2ebd93b50940eaba1e28984cf1be907d35f2350b +CT = db91f0af1eea4281646e8e770716be29feb68dc98c5e1a50f0aebc0ca63c0863 +Tag = 4ac57759ab4127f262835df1669f + +Count = 7 +Key = e8b2241206794369350d47c1e39999a8 +IV = b4 +PT = 91d23b46331874387db772fed734f5fc884d9a22fac0ba7cc4f86340e6cc6002 +AAD = ab7815a46b386373a0d1d41e1d255d249e7320f1e971a175798eef40d9ef834e002bc9faebdfe9676b59f3cf83aae047 +CT = 8a91cae6e572e201bab118887b06be2a209e420938ad7e01db85d70ef2246fa7 +Tag = b6658c2aa4f6123d4acebc062507 + +Count = 8 +Key = 58ef0e729d79a0092075838cf4420bd5 +IV = c6 +PT = 54640e61987b88fecbe2aa08413bd20e0480f7c9792825629d98e675ea62cf5e +AAD = 20c0025d94fbbfa4a44b3fe2bb8dc4e9a82b0b908a5621fb4d01ffec3791351ad0c93845a5bad9cdecfb1b390328f6ab +CT = a2829c35f5e7c3baafcba56570621aad819ca0b401e99e5ffda5407e1a791216 +Tag = f489e027546f18fad1bbf87f4494 + +Count = 9 +Key = ff224d4ae30cbad713100e41c805adc9 +IV = 49 +PT = f463beabf82821c093023aa458da4b0f599306eff727600b1b3bcca88bf2b172 +AAD = e759fd5f17e5f126e31f9428375991b7e918e40d0ae7d22d8990a112c399642db2073838685065a6b5facb0122f8a0df +CT = 52825eef89dede9573adb53c1437421362c9029781b6391710a41618d13238a5 +Tag = 3ad6323092ff18cd99ae4cde9d2c + +Count = 10 +Key = 65a37d9cb523385f9850568b2a7e93c5 +IV = 2c +PT = e16b8558c2d62c6980facb3d5c058eab08463316bfdf89f8fef008fb073b0039 +AAD = fc3007f36ffc0abf04bb00d0dd4699ac61ff2f6f6da5f4f049cf3be901f9f6eaaf7b735758bf0423591f2fb5bc1eaf8c +CT = 9dd3950beb2abd14843ce17fd6cc20c65f2596093c885aba0eba9c917456b38e +Tag = 26c3c0bb9420e344bc194c647cc3 + +Count = 11 +Key = c091763d384b180ba6ff5e1373f5e98c +IV = d5 +PT = b94c3e33a9f5085f93d00a8165dcf888d26cf0e5b574beb3fa1eabae8a05cd6a +AAD = 086a04c5425e650bc09df5d00289746ae90ca949969f414edd08c12ac8bf18b177e46608560096f7205fa1cd4c7121b8 +CT = 14d28d746e355f1aefe06cd43d4a72c6b38143a37754edaa54191d97b5e93a4f +Tag = d3e325fd1edf76cef768f00def35 + +Count = 12 +Key = 803e460440b4e638565208b849b7b33b +IV = 05 +PT = a43e7b91e5470695bb08303029ae38d9c1bef4775af4d09e73002a228cbfb7fb +AAD = 3fbd0aa6528a5265e5c8598151d815bc3bcee30e1af0c60cef4f4167c6f3d0a444b7b71c0a339604e6e3f64db88ec1a0 +CT = 48636fb686007dc826fe549e1bf91623ac0c6409ffaff78afe02131334e94596 +Tag = 74afdf57560b31938729075fd734 + +Count = 13 +Key = 07bc3174bae70d7e70a3b39dd030d1c2 +IV = 4c +PT = 86d92cad598d1a6832743be534e9a7f85af894714b14dca46b6e3bf48700142b +AAD = c2c3e0363fc30fe61c881ffedd88cb17feb4e5274abb2b92d3244d9bfcca36a4d66c1cad1352a5287800978b315de6f7 +CT = 4c049fafe3bbceeed6b3db28808441168b5ac30d40720e596d0ddab91da629e1 +Tag = 0a6bf8ffa58a83371c71a1f79a6b + +Count = 14 +Key = 79a208b95201e10a01b4fab4e4707bd8 +IV = 46 +PT = 43781e494e6a9e8c9f50b6b3bb9c5fd43519ae8df61dd3231526c4ae366f4a8a +AAD = 45e878d71726bbcc52ed27b1249322f1e4866a7a64060dd0ead8a807f1ecb88fc15c86e71c63e822c18b7e27c31e62e3 +CT = 9926d4df34810c152e28e9a37e28e54e762ef1984470799e527c796d2924acd4 +Tag = b966b934a4e5da4d452dc6e0be3d + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = ca9d3732790d8c56cf6413dfd2f19e88 +IV = b1 +PT = 1a6cb06ae2f83d0c79379df5c96f7faac9a5481d4059a3899dc6943880c07e8a +AAD = 540bc4b7c1b3fe95feb107f111a8ce6da18b48452f54c5829f1ee2f5567ad8744c939734f4dcde506548d9ce065da1dd +CT = e70c3d3adc9b5b152124f83afb55fae9e11deddcd2963a3f76c44d5e6ec7cbf4 +Tag = c9b98421fb9be1542e27dc3c6b + +Count = 1 +Key = f083f0cc907f5f8de2b873d292dbeb25 +IV = e8 +PT = 1a2502eb11530cd56e3c90bb490ff88c3e5cc33997ef447363b3568744becab2 +AAD = 7beabce3b94dc7f0ca21d86477bb8686dde055fd905f34cdfd30c87d386e4e0d304604aca080a9b9ac87cdd722261b24 +CT = 3c241a75b607aa3815db30b30c0be36dde29cd9a6d7be44d2dbe85df845e3dc3 +Tag = 17eca0afb2596ccc195bc53ccc + +Count = 2 +Key = b328c94b5ce6da54cf9a43b2a1a77c2c +IV = be +PT = c01277db17c54f74d46f96e601563bfafc0c71159a9e3d2d8af76ba25bec6ae0 +AAD = 912c54f49217a7aa324db405e567428e5b090d7acb6eaf87366d693dc5c80fa16cecbf3aae7e9782e436effb28725bf8 +CT = 9fc91f42a385b0812d5d15fed534580760877b8f2880e7ce55a9941cd9f4ecc0 +Tag = bb3862b642e9882be63a6c58bc + +Count = 3 +Key = 9d65acc1c9880e9a2d01f57ca2d8c717 +IV = e5 +PT = e8124fcb4045d7784d7c3b5ee6c4e16a92ed03764bb7889288237bee88371706 +AAD = f83aa5066348f07964a4db1ba5e83b04f7c504816851840fe5cee10a52264ad36becb5aabd098d87fb7d5185acabec51 +CT = 35dc410683093de381a5f6a33ada40fbe1bf1e4b47d7f41b79eabb76200d6ea5 +Tag = 2c4c1630d7be1251f979112005 + +Count = 4 +Key = 2d088964064b3cba2cb5f54c3421a39f +IV = c4 +PT = 313c973bbb330e9cde260777b4ead20be264909a56fb1756317a99ba74cac4eb +AAD = 0ef95166fde9750d7cc32069af60008db9398adf3b08b6d74c2ee31373baee48b50208b0fdd32d60d0fb48d39b7d37f3 +CT = b6b467d261dbb6d2acacc09c99c9400299cc46da902da660bf748155f5f7dbd4 +Tag = 0fa31386a2a7e236de0346b58e + +Count = 5 +Key = db4281b46a00c1fcdea11cc9d2011eee +IV = e3 +PT = 3c63c225cf572dad3454d2f0a68b5310702993e653311bb0cd78523c91d8de8c +AAD = 30ca1a7a812cb31d3e84ce2fd4b306bf75ee2fd8b870b80c35cee0c6a037b6498d78089435ef1120aa64dc6b6f894da2 +CT = f52b827d542e12ac7ec8aea406cc4af061b1d29e46171a2e964464b5e48f8f43 +Tag = bf1144fd159497e0ee38eefd2f + +Count = 6 +Key = d5bec0a6d793b2594cc9646348f6d37d +IV = b9 +PT = 575d2e2f57503bdb0d41f60e19961f53729027718c4476620ee11aaf4e619e95 +AAD = 4716a80704cfeb0b339ee68e16d9346dce03d3fdc5f344f4cac518eccaa13a24a5771a37ad21bebeee13c1377b250f69 +CT = 81efc3770366a5cf9764c4f496514d23dbb52ba26f37e263489e0f6cb8e91ce0 +Tag = 7246a0e4e91a47ba3a38e28af1 + +Count = 7 +Key = 5b85ea1da12c5bf3d65ab4616905d029 +IV = bc +PT = 8a44f9d9e38d32f7bc71aeec0f391a6d6ac711cd83ae754d5d0a9a31a5826ae2 +AAD = a9dfcab11294bf4c61d226fe4ba72630ac074741cad4fe27305fe02ea8e37b1fe7d8391e66a8301f91e756dd803541a8 +CT = b863b269bd3068572e86ada63b0a7d24700f8ef7199a4d0c94a760634db143fb +Tag = 69fa94f4c1508dc64f5d25875a + +Count = 8 +Key = 47d931f876666b52801686a832b2949d +IV = 9a +PT = f5c4b1f18e30d65f5acde5e64aa55cf32eec531541ccf070333c9b17dc91bb65 +AAD = e8bf1c959df85045ea19a078f67a2542a8e43c5f51a350b511e7c13d0d765493039470d2b2930ce349223be08ed94b61 +CT = ae83a3eaef736fe1f30ac249524365e9e4b888e43114f58433e7fc1cabd5b265 +Tag = bc06eb3e44d30f2b1b70cfd681 + +Count = 9 +Key = 517f518fbf4d2827197014948889239a +IV = 0d +PT = 008bbe61afd0205e7881a9b9c03e8ea6bfa8e61699d67095e516fb167b97f647 +AAD = e9029b4c5038dc5bc5109463ce0d61b0f1bfd62e9db524a0fa3d62a123c3ead5127fa6ed955a2cc4b7414d94ffbcb522 +CT = 621cc8a54cf96e234b4ad01c392291a637cfa59f14f1c9fd4dbe482e032b60a7 +Tag = 6191d25b1cf5fb340d5d090b94 + +Count = 10 +Key = ed1828dd228f377af150ed1cd013a0a0 +IV = 36 +PT = f144c985820fb4e7018d81335fb1282b988d6195240488b2629cf46d171860e0 +AAD = 640cb66e1da2eb71e832ae84760e73cd92920a8d4153006f5544b9e9473e00f23f99fe2ffc7a917ed0fad6cc47992b58 +CT = b452511f9488530979ef9f9435818ec8b4c21fdd7d94a9bcee4310b3ccf6d0ad +Tag = e82ab244e7f6b5a5ea22391f92 + +Count = 11 +Key = 6c95cb2fcbf954b438078d92a4eeba88 +IV = 55 +PT = 99a69ea0ca89b0224b6d54ac13e48162fd81577dc56f4ea0bf20c1ababd10029 +AAD = 4534ddd73016f253d14c0f279a3ad57e78aa33045c0d79d1153f501ded436252ccf87298e8f91adf5045a2464b71a3b6 +CT = 83fc170d594482f8232c27f60d467cd312e9299a630dc4446ff03b6a8c05b018 +Tag = ebc5abeafd30e0046197743c2d + +Count = 12 +Key = b977ccbd4ca6a75aac0f7e72d10bdee3 +IV = 5c +PT = d8690c64fb172423c04d328161e68c476b4479fe89f8bb0700281d7e91a46f31 +AAD = 3435461f1cc285383c828b34a503a0a66b3baacaaaf85203344f150ae4b1e31c2f46a82dff7559c319c1f5e8d910bbab +CT = e411fc7cebbbf17df3597ab37af3c3724806cd7bfcec26e5d0f72388918dff0e +Tag = 0ba438f1231da68be38ffdde9a + +Count = 13 +Key = 9cf9ec29da83d341b27c55b7cbd2380f +IV = 93 +PT = d2fcfcdd0a298569dbda1fd74f3fb9de7e2bf7009bcd75355f3b131841f2e137 +AAD = b1c4df4eb855afa847a4405f78d84dbf5d7d819af7c607bc88fb3726ed8373851b312d767b80b3dde8cfd6153a7a055c +CT = 3712828d0ec04e052e0877a3eebca799d6565d5ff8512270aae0488a67187439 +Tag = 5f4a09d24634082c899bcae967 + +Count = 14 +Key = 2c9272b9d7e465e875c7171c44e560ea +IV = 16 +PT = f05c18b2e74d62df12955d2a9807b0866f384c35c752f7f30d4daddfe965a5d6 +AAD = bdbfdb548e5b7dee1bd785919ba5ff700f2f05d8a904cd92c043f51c76a6d9574ba494cafda87d262acc9575e152cd5b +CT = 3ae54e55e1a1f02c515ad47052272e3af0a32df55b514a78627dd7df889cf798 +Tag = 89203cb891004e36b86e18de8b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 6ee6b45e3c5733cb5feef1b3d35f4782 +IV = e5 +PT = d58a6e0c56ea20af4a1552c9817485e4fb35c9e31e1d60620c75277c8a7374d3 +AAD = 5a8ca28226e32cbf9b4b1805e662269e1225cb62c7da2cb2080226ddac68d1d5b68deb582dec7aaab2d4147f59ff85d8 +CT = 3cd16385281a209d321009354b0272ebca85c8c4116255fd4fcbbf19ce7add1c +Tag = 3353a65c0b9017a4a60da7e5 + +Count = 1 +Key = 325a22f6825e4bce4f5ebbcf176907c7 +IV = e5 +PT = fb29118ec18687aaacd1c4f1b48ffc0ba385b56554d8ffa01f0b0adb69f012cc +AAD = dbdbd49c838be0a73b421b8c59281f5a92f4790493f4649f20c03e49480a3bc16a24e6f30671675ea5d25d0e02c25880 +CT = 7a4c89b574eda658848153f0a16e0f13a8e37d0071742373282d1ed3b6beb7e7 +Tag = bb5c357a9a0eb99b6bdb30c2 + +Count = 2 +Key = 1b283db7c4b358990ff9d1af841f1636 +IV = 78 +PT = ad7d7ab9fa373b6dbc15702fd53c2405810100d005cf0f8634dd28853f639c97 +AAD = 02bc81857ebd0149387824505cf0454c859c0583ebb71c7c343fd7691302606fcee2cb86cf033b77f6915d0b115b3cc4 +CT = 268552f5c52a6bbc24de4755eb819f5fcd45905bf38a0102c70f5b429a22b199 +Tag = 2828c6aec42ea2fea610567d + +Count = 3 +Key = d4e492ad962f0be2b1410931f0eac126 +IV = eb +PT = 19a58e511dcf81bc826c1726e84fe1b20536eaea1db9bc956445e451f69e27ef +AAD = ca74a4b2468662d31632cb60660c402f7f0633445fd586d8efd1833d28801d9400af4a0514535d8c7714eac6b7e5472d +CT = b048e7f2c572aa013ef97b72318debd9173bfeb3dc314e7e11bd44f2d0911352 +Tag = 9b9c420573dd8b792fe9ba0a + +Count = 4 +Key = 5e5dbbbaa8e06db119bd35464affbaff +IV = 2b +PT = 6f419928db82bf4f4b0bc3ce418b54cd2f70bb5383a191c6fe76d14912b55385 +AAD = ae0aeaac4b2f8be91ad553c762b21aca6a78c79b92dd1201ff86b9432ee120d2805305fef754b64048c3af1f972f8437 +CT = 98d4d02c56ae7c656d1d37c8804c3ec36d278e6aefd7bf99e84458e071e7825d +Tag = cc2918206389ffbea855ddeb + +Count = 5 +Key = faa6b4679abd04ef5b41069a5c795091 +IV = db +PT = 11a8945c5004ec129df34b8600afb06089a3924456cb98032d5838b9e118796a +AAD = 3f2a210b22c2cbc6d9152ad0dc93159b0393faaddbd43af6245d5a92be484f1f47d27d3db6e9df31891b2c75c579df1d +CT = af1ee5e2c6edc4e3c07b7b94120054f8f0f261d7ad4ca818fe679145e75bcb15 +Tag = 6e150294fce1a1906441f1d3 + +Count = 6 +Key = b6a017edd31205662a6406bbd469145f +IV = 9d +PT = b1853b9aa1f626f5984014a193239bfb45c42e14cf1c7dce374ecf920b16b3b5 +AAD = 954ff6b054499a5d46a75c50f9f7c321d8dd1a8cf073ffb607f0733eca3ecac1aab191563ec10b9f99bede533e12ec15 +CT = 20f8ecb1d212a5728847d489537b2b7040204b21901fa6e23b282d5690106979 +Tag = 26ad730acf93a6e7cf81f471 + +Count = 7 +Key = 7d2fa15646c707f41a3417135a0c5994 +IV = 89 +PT = 4634a9e714ba4fd10f490c251ff8039d274f60c6d2631d94e54162ddea9656a9 +AAD = 5e90a06f2f194bdf3717717b1c48f1477cfcf190047a1a20267a37359a3f39b45b781fd0c1b07eed4b66d1bd7b212169 +CT = 8463fdafb89e8cf4b2a1111f34b5601edd5172837fd3f1df8a4f7c48e4dac49c +Tag = 2f7e388652c71639f75962e7 + +Count = 8 +Key = d3aa891ae9a067f94516a28d88090d0f +IV = f9 +PT = 33b5c6e97d343b53735f090d5029686a93ddcc3f52742244a2a5c2cfc41bc72d +AAD = 088edda6b1d431c3654047b74f91dd4c59e4e03b5e734beed3f991067cb92f889f76db68e793dcfe4af22665e5fa813b +CT = d3ff97f4888fa5759bb2e017635f7fb6ef5e11f97389cdfa471e9b5828458081 +Tag = 7ccde1f12d4774acb6de55f9 + +Count = 9 +Key = d6075a9b251c39b57e3d570dca728ba9 +IV = dd +PT = 76b4e65785bd5fd4037b7677acb455d4c4798885c24fe0c254914b3d561fa517 +AAD = d1270cd3305665413d1a7f26db3eabf41bce79955cdc46505c6dc9641521ab402f6a9e4447fae064feda4b6cc802d8ad +CT = 536a5b1d53760b10181fdd7031a8f4362cfcc8b4e35ee19c42be32b142799299 +Tag = 9a538e34da7408cc01e4a4d8 + +Count = 10 +Key = f028a6f144f74f0af1339f20664f9f0f +IV = b6 +PT = ea9578d6188b95c50049253e10ede371f457c3e6b9f6cee2bf1f5c14b40c2915 +AAD = acef872d62368e2a5a70c46b73a9490db4e641d85d29472c8eb889a4fbd8035d664e39e393251fc8f084367db378921a +CT = 4caf08893a00f5ac2df68d47a3c5e0cd8465bf62f31bbe5550ae3a0c67665d18 +Tag = d3c271b66828f4f8c013b991 + +Count = 11 +Key = 69871986fac51b6b1f41f65ead9e5fb7 +IV = 39 +PT = 9e93669a76a0f12c3977519aff15f30877cc0c1d3e2d151cf06f77dfb95f5ee7 +AAD = d32d9b12b8fb36a20f85d57beed29bd12f74f2b220fec5a4fa8fa69b4b27dda72388160cf845b9cf82ea5abc86a2b6ce +CT = 95f153dce87b74b0ec63f664ac14a9bb6c2e91e29b5a21e4397d641c84940219 +Tag = 451cc1b669ba355fd28ee7e3 + +Count = 12 +Key = c020af672c22e4f77691d68af7d65ec5 +IV = 4a +PT = ab4c6fded6c7d066afef362150e8b9dc27ce11a916a172b365e40c994636fda0 +AAD = a01f9d7d537aa52b5ea7dfbf32f0e34b1fdda6b876d60cf531892de64c0f5c0fbfac683c82891233269775764c2b7c08 +CT = 7e0bbd1899c477aef38e4d146d6a6ef736df9d1533cbb79bdfbea83ed369bf62 +Tag = 4b72c6f837113bb03faba335 + +Count = 13 +Key = 0392b843186ef83a006d72fbee44381d +IV = 65 +PT = a67df5a1b848fea2ee995e74f3188ae4684e2528bbce032ad96e628d565c1f89 +AAD = c5c4f38d9c0e1a1e44b682d6519691c20b26ed617dd2c245bb467bbb0d878c314d75b1dfbceea6ecc85afccac9cc387a +CT = 6d19d453b5e73bceaa92e5439735eb647f926fedde94cd69f3e405ad2c410866 +Tag = 5c237553013cfee70c326150 + +Count = 14 +Key = 665f434f6f63d4ea8d368de9a9933a0a +IV = d5 +PT = e0e8e303742a7c99fb3e88009401864881b83f81781b59e701fa4207c6d85763 +AAD = 540d07c66df4d2349418eb21a00c19ad0ea1863110d1bd58ae675cbd00952da4502733e472496776399459bdfe4cc42a +CT = 6db2b7269e873ce24893b8bfa715cd54023461909dce8ff26758999d9b54064d +Tag = 12cee1de03e53d829c1e0641 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 74aef32084773a5e8baf98de3c972090 +IV = ed +PT = 7782245832b9ef0dbbcd12d54da078fb334bb0955d9fb07d235206dbec7e100a +AAD = c931957dec8bf3f9f4e10b95c3cf57c5abeb971bbe53eb2fb2c2d31eca084ed8adfe24d68dfcc152c047454947897833 +CT = fa64f833f2007480aa76f07915064c3819a2aa899bee088880b7a9788a278cd2 +Tag = 505dd9c0a0cd4e0b + +Count = 1 +Key = 320453a4cba4b85154d87dc4f3394c4c +IV = 14 +PT = 991a9ab1e61dd687bbb6fce8e82bfab84eda8f77398427947f6f0c93ad17ca64 +AAD = a284dc1282001deb2645b151fbb99786d0f7a9d1b69485a6bea83c6146b593620895f177320126f6eb2875a8ef99bc02 +CT = c4f7109870c17b84126e0d971127fa645cee2a12ee3622fc673585a707281871 +Tag = d88ed90a2b129f64 + +Count = 2 +Key = e2b07d4d090b45fdb89fd92d4f7980c9 +IV = 56 +PT = d1b2a6cbef562582ee9b3eba4cb3cad29ead2a82d53ed84859b20afa32a2675e +AAD = 58ed2dee0559ae81bde4d8bf5f4d17b1a5d922bef4124a823091090c6c1fcec2040a6e33700a0a457ac3685584e29fcb +CT = c75573827723cc95e53bcd333cfbf75cef24adf89b07955a9a6cba1c2ffcc98d +Tag = 0f461e40041130fd + +Count = 3 +Key = 1f6834cf17c9af94433f0235d5f35454 +IV = 59 +PT = 0e9425a48fcfd1a2ae5ac4c174e81870e2b5b5441a6d3c0a401ca8dce201eba2 +AAD = 5999ffc8ac103f03657a74ec50ed67ddc5595bc31c21b8dedd9a746e5020f42393c8f4c8e888810eefc83838635e072d +CT = 394c68e95bfc21534c9f7e43d9ac884c8dd50b5e00b823b570ca70dd8f61689f +Tag = 3723080f43af0535 + +Count = 4 +Key = e0caaa325c989e76db8112d093a24f7b +IV = 1e +PT = 00a90a572bf6f746b0913172c3f7f9f24d16f4342bad08ad2525cb69074dfb38 +AAD = 8d8d54be30a8145fe6ee21d40e97773c4335d24abf6ba258fec2bc12229c582b752b3f14606bad2f4e2130f2757d958a +CT = d16214e3bb1614b9f5d95299efaba3f510d0bb007e90d6d692c9b5861287648c +Tag = 68ad07f387b13549 + +Count = 5 +Key = c6b0795e30e81771754daef63206c4e4 +IV = db +PT = ebb6042231e9eafe3ecb6957c236bbd25750eea337a87ed74b05bbdfeab7f51c +AAD = ea28ca633c2b0bc58196efc8a26b03a0de17da55e42684fd03e517c1535d33fcfef871e1fe883872825dc1510f8c3505 +CT = 7848130a488851b7a3b47a27cd27972e50e625f7e3908e99fa17adcc4163290e +Tag = ec6f32ec13786728 + +Count = 6 +Key = 5cde59852cb3f46a71fac073759b30ca +IV = fe +PT = f0be11ff2a4ef38f03d74ec9e2d21fb19e25526be77a1f28827328a79de339e2 +AAD = c09eeee05e1bab39a2f55bed708081d6a954487bd41714d0d1c150abea0beceda4a46b4131c67b967bb593b363fd1734 +CT = 4f3200f0fca091a2486d531cb36a16f1883900e198bf0e5da97a8ff943ccb20e +Tag = 9462dfb584a81436 + +Count = 7 +Key = 80e771c36e92b14ba27f7252223740c3 +IV = ca +PT = 686275f6e9fc3912565535b667efc055879ba184b9f4be0d5614dc28e2c2975d +AAD = ad076fd4894a628e4fc0fb12f8a62291ac2bb795fa0c0bf8be4488ceca0829df3e8c93c6360d53ecbbdb28b04145ed9e +CT = 8cfa9275b408e51eab70792a7be0ea27ba4f53f95ca08bf0b446e2f51a4a21e2 +Tag = fcdde5912524dc16 + +Count = 8 +Key = fc93504e1bd99a1a4497052a80156809 +IV = 28 +PT = 0dec12030ed37dab637053b497b65b8de60c573df3f02fc3dff3241db8597031 +AAD = 34dd3e50d6eb3dab95b23e249d95d6d2f5131bb64949d33d45862685bc8623fce0a07d3702d70bb4969ed02f9b63a1b9 +CT = 527ca9d7d146a5668bc7b2a9fbd50d9c9966db616308ebd9fb6bab0c4e7b7907 +Tag = 9cc6ab1f64386ea6 + +Count = 9 +Key = 08873a6aa1faaba8036828a0663b19d5 +IV = 87 +PT = 4f303c2da29d81bd831211bc09f0dd9160dfcf425073bd34fd45c282a44748f3 +AAD = 68995ccb2f6c16ae98aa250abab3fe96a49a8cccbf4118ca5114bd6b055d3328b7d8a62b0f2cc4399cbf6237a79ad9ae +CT = 7fe088ca85d5bd101ad804a2121f68459442f4ca20a900863de4eecfd7938920 +Tag = 09062a947e106cd2 + +Count = 10 +Key = 2f83203e3c9ac6a77f4356731684ca5c +IV = 51 +PT = 68de4b4b50d44b06714581269b63cc3c5d1fa3755d0a90b6c2f9715e272609dc +AAD = c1843f173108f02539153b7eb200e56a21ff8da33dd0c1f73b3c46bfb5b38e9abeda5eff8f61a25a74d212b467a38010 +CT = ff88e6cdbcac2e19dcb050b56dd404c628ae0220d880ffd66275dec2338c18da +Tag = b9c9e312e2fdf82d + +Count = 11 +Key = c118271ed5c1c179c59f6809b3b1d781 +IV = 83 +PT = 278b99483515ce69195ec31aecb6fe4f2bf5067454ed12d138c894b78130a814 +AAD = 24e7e11b805eb30570116fb1bbd2c6fb82ad43044cc06abbe5b76e0e565736f3be337c139d7dd4b19d99516e41c76af3 +CT = b11e3a1c1e6e9b491fbd40a66260f51c47b5e32f2628d88ddc42aa866805604e +Tag = 85adb9e27a2411b0 + +Count = 12 +Key = fdfc9b42283c181e004e8312d1834972 +IV = 00 +PT = e1a7ef812d52a24bcab92d4510f13ce2bc5205142fe705b26f404b827931a81c +AAD = d9df4bd71ae2435900c1c111a4898c91a639e0a964b2d72cd60918627c8216bf857785558d78b14af444984eda0d4e0c +CT = ea7dd3880eea60833976ecd1c7930fed80c77f8b974ba4c39f94e027c4952607 +Tag = 6af1a6621a28ab04 + +Count = 13 +Key = cef9b47653d14bd4a0626a7bc5c87b7a +IV = b3 +PT = e21210e3f2f0a69f1a26ea91c9a248ff16f71b987218b44e36ac2f9c57221fc5 +AAD = 2f548e74c52849c85dbd3522a41a9f32430eb4258b60e253066499a8e5a3cd67fb12ba3c05f6f7ac2096a4c775f325f1 +CT = b8d1e7e4f9c2f9317c91a8b97a67a4753c5ef37f5fcdda76ae02bf8646c97ea8 +Tag = a86c26ac266d3494 + +Count = 14 +Key = f80f59bf8bc69307b1f4d9a711467c98 +IV = ff +PT = dac98b41eb01eba16302eade200cb82072a740bbaa5a0dd68bead4a355ba5eec +AAD = b56e7834c45606bac75f6bdf4c002fcc29cb632976ab57e08847f9ccd015faf1bf63aeda74e66c0eff17dd89c51d3443 +CT = d4cc4f7f64390cd64c2bfb6acff7e5b22e975fdc0205893a9dd35e4cd516d01f +Tag = f4c84c5955e46c10 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 35940fa175072dc50c8aa713ec4d634e +IV = 3f +PT = 2826fe2f462bffb7e3f16a000675b447f8321b6926e92aeb90ac8d23c8e3515a +AAD = decee85844d3807ffd9a79d7da96319fcc6c995475deb9cd868f3b402e28202da7fd98a6712e91d8cabac6895734568b +CT = 27fefa9db91e24f2591008b8dd492ac3a9d8d704642030da3c3ee0f2f2c5c34d +Tag = e11aabba + +Count = 1 +Key = 4c0ce2b84f6d19dff8837463bd69b7d0 +IV = cc +PT = ded67f045535142a41f642e406efa958a02e5575c67b61cefad6b37fe02f3c44 +AAD = fba6e1bcab091d5258381d58a9ff3f7c6fecbc47b3f75c6e64f2d83accffec767c1692d5f9a53fa4c62273df204d3a1b +CT = b0abea57202daba664a3ecffbdc40d3200581185e742f01f3a33976447e792ab +Tag = e16ae263 + +Count = 2 +Key = ee3879fd38cc62a2edd3ae5727014eb4 +IV = 38 +PT = fbcd96525d0c5f80dd025f3b013d4fa7ad4f898a61f3a274b70efcd55eef662c +AAD = 11ad507217e14e4291394fa697c5a2c32442beb4ff3e109ca87f0d0785c1225ca0636dcdee86527c3bbac59020a35007 +CT = ad8041c20cf4367a755f1aa3ea96b177eeb2777d207402061f7081772a7308a5 +Tag = 74756429 + +Count = 3 +Key = 0c4ec0d9de3609cfb2eee167ad72b772 +IV = e6 +PT = 9eb0897d47c86c4dba930a89ac375c1ce688a47df351ee77445dd0dba4650c9c +AAD = d8020acec6b59c97cc0e15945be90dbb6b6cd30a12201e9ab6ec84bd79dab550d78ddd8a2576a2f382246555cf1ebb87 +CT = b0b4f3d560c50cb9e34b08f22f2f43e0b38837cf5099e4754c409ba02b884dc9 +Tag = 03f3b2cf + +Count = 4 +Key = 2e369f051164aefd274affc86dedc0d0 +IV = 03 +PT = e5ca3e4c4ff5064e38be0a354b8caf3d06e1d5f713f8aee124146ba468ec34d8 +AAD = 002086e8526fb1ee3546ef971e842845ee7fa735a94c76583d4795ee5dc34f137853dd76bc5704eb8b9c48775ef71d64 +CT = 48dfccaf0f2af7e79422174bb97c00729ee0d1a91a970c19108be3efc630e06d +Tag = 3d823502 + +Count = 5 +Key = 12bc771fbd1fed68860e5e21814f45aa +IV = 5e +PT = 1ebc2c1dd9ea0af226d2fcd9a741e1470e88c0393aa2574b292955c1d714fc6c +AAD = c498a82a16a6725e347592f3dd546137af0fafe8ae916463c8d21d1e2e91510bc6f6eb166fe10e180050a9b8b11c1e4c +CT = cead2205f8701cad100bd680344ed479ffa3e0d8d011e0754f94330379a2fbb7 +Tag = b6476e86 + +Count = 6 +Key = cb8644ab828ba8dd1457782a35396a99 +IV = 7e +PT = bd5b2b779b434931d229c5019436bfeb9810fd29062f6faaa6c611be543f9862 +AAD = 1972727c0d462c7bcbbedcdca8d5afbcdde7ea20e0049f9b494a1c54df273db5ba021eba7ad5a9a8934a7eda9e45db82 +CT = be8a207b914dc663371e2177f2d9085f2e67de303fe9ebe5c9df1bae75af2f3c +Tag = 4cb0e280 + +Count = 7 +Key = 973fa41dfa2b1c321116daed1ad00713 +IV = 11 +PT = fa3e6c0da231d8407e65dd58dc62fddfb789d0754f02c4732562ffafe8a09fb3 +AAD = b7ca6e08288324810826881f46184866159e2a8b6654584b6b964c5cdfb163079d104bc819bccdd191d3d43a303c75e2 +CT = bd7715b5a15b6ebdc734a9c7aaf015f1f696698fdc25e9446f7c7edeba0dde3c +Tag = 55276ccf + +Count = 8 +Key = 0a8b8cd54b1bdc22c416f6e9ccbb4982 +IV = ae +PT = bc83c93651a987deaf25b29c7c0f706a6a1a245fd30d00ce900bfc2280ec3af7 +AAD = b55ff9c3c45f7322cf16ae3326079c4a29187cd2f605242b1dd5f86fc34d872793d905b60bdc4b7e7c54a013b13194ed +CT = fd87ae78b76e8aed4fa5a09bdf87b18665d52b036e1c1fb472629d19affcc025 +Tag = f06f7587 + +Count = 9 +Key = 49e5099be832243545d2980d0a4306e6 +IV = 92 +PT = 47abe13a9d0404024671eabda14713474e250e4c7a4aa3f29f7dc4ffac30b2b2 +AAD = 7ff3a71738c669dadcd4bbfed630ee21ff29a1b6a2d91f8618c402db1ff32bd49dac8c93c4196f1957a8d674043ccf40 +CT = 17e0e2625202b2045b64c234c704dd5a2333fd655d16ae073c54869a8086ec57 +Tag = af60e31f + +Count = 10 +Key = c02449248396e5b3f80be9621795c0de +IV = 61 +PT = 00e6af33175d69fc9a4b850a97bb046e248f76c5c5fce671fe6f1a182d25c545 +AAD = ce4d0dcb8fdd79b8ca807aa3acb93198a14789d41a2b302efe03cc338d1216f07de9985a0b64ada8650f33623e5c5fed +CT = 1fc595221a216e33f280df2d23ded551b356343c15a76fe5f8deb667445800dd +Tag = 59f53b2c + +Count = 11 +Key = 732ff93d669dd3000a3e604582a611f4 +IV = c1 +PT = e8fdfeeefceb8d315d0ddb9141cf367ba3b82bd3a60494401ef244c2703eeae3 +AAD = 4960cb77a8cc5cf77396f73bd1e07a5e66dde3ae9e54319ef223887f28634b9bafd66472bdb1a35e404471d960ccda1e +CT = 243beac28601d8d1dfd0d427ae8af69c446c2d79abe22ed77b360f0c2185cc71 +Tag = ff5ac40b + +Count = 12 +Key = f3b78e5c789c5eec9288c7170751a2b9 +IV = f9 +PT = c4867d094fa00acacf3ed399ab1987522ab5545882c3bbc88e794bcb00eb99a4 +AAD = f08fbbd066d0c7885212b0e72319fa2e5e39efee9e39175257e2868abbdc856f05f3118b4ca9175107f485eb872b868f +CT = eb5169ce80c70b967a655e1cccbc58ad2814f3a85a5ac112ff51e620778732d0 +Tag = 6fc7273e + +Count = 13 +Key = d9bcb36d84829cb2ecc9998ee9f5bdbb +IV = 45 +PT = d4e41d8ee5e93d64172e60455ae987f8886953d439b4c4bd832f8106b28035e8 +AAD = e02ce145da52ea10246cc000c264c827190ec85e13c408338ee4d7160d4d418039aa68dbadb14617bd7a37527b55383c +CT = 9f7ac2fc87ae71687a72cc5f4dde43cdf860f08ae5e20d506b3ebae170b29c43 +Tag = 2690cc68 + +Count = 14 +Key = 6655eb5d49ea101f0402865d346ddf38 +IV = bb +PT = 6726dd067f94647d06abb7679d31e4b7c79f0f6ac9fabee34dfdefc136e53da8 +AAD = 6120c0bcdf55b99d9989f1189b2ad298a664de5dca1625fe2bde004d774e25f2d99bf0763c964790831c116a69ee10b4 +CT = f44845f2fdb6126572178f6f31d8e45b3498f07167235e982380230cf8eba57d +Tag = 7b62cefd + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = bce96a9991e1d9b4b9899063453a7877 +IV = d9 +PT = d7b3207aecb89ff38d84c023ace05ea5320e754f585b8cc56acd06b55a0f6fba +AAD = 7690deec4091150ec040dbc1896e142f799f4a498c103c259d9b859c126af8db145dc5597bb528f03d8537a33eb9dd74a6f1fdb33cf4ff165552290a1f4c1f3272fe66d083bc7d5829fb7237a16dc3957180d88e75775d0f684b +CT = 78629b55e76195c08a84f78485a04f27e957892ff31625b18f9baf57b6de0837 +Tag = d37805d9a9ed62f18efd7432e3d35fc6 + +Count = 1 +Key = ac518a3541994768130fa8d83b0a961d +IV = 2f +PT = d86e36201581c23e1c270b7a30778a8aeb0e30370fc0e74efe129473e05b2a40 +AAD = b314f36c3f18ca53277790202615268a3c6639be60990ad8c1789508d80b0fd830f36d9c5f449c9ab24da526b1ee51359f871d47aa10338cf62890621671bdfd4ccaa4c69d134cde5b53ec9c7d036a5e06d44981ae807bb4d13a +CT = bf6d9a617edff397210d5dc53654c9b4d6b5713c0a21a424b1f01c4b69cf24fd +Tag = af802322b7cf41c805ca85f44dfe148c + +Count = 2 +Key = 5004635486fc283848b8188f867f03c4 +IV = 2f +PT = c6664e2f4425cfdd30a6ae9750b47cb0cceb930f8c2ab5c9c39bf0859c805e68 +AAD = 0e350e2b781df53296bbf84198ae9074ebcfd687b6a02a58006dc49ed2e83f3845a5d9188efe71fd5f95aeb76b2d3e501d3f23bebb0576fa9da97d07ad6c6adb593e19620df87f64b2e6ca8c0c3e2cb765b449ada9cccc48b6eb +CT = 84e6de0ae1a818971e3a8f42a9e7f98e03d63f47d1f6009cf7fd368ad2963977 +Tag = 8d9e47d74c535b446022ff1fd1e9b011 + +Count = 3 +Key = f49a97af82f9f962647668c7ff55c343 +IV = 2d +PT = 5c464a56c8babf4bac16b750b28abbb0e9b4e252adb83ebf787889454afabcf6 +AAD = 530b6f364cd372c77fc7991e771fdb0fc99a8ec2a16feeee5c588ff399e1af7bbbd08777260be52039ab1235b81d8cac6ab7fe8a6733574c73763d37094078b5a1ad52312e42899289375be7f14b6aade7a3edc4b10eb22a80fb +CT = 37238ce1457705d001c3fb9b2d64b6a6b86cb8f02db1972b750ed965f783a37b +Tag = c25324eca6bc42c6c5e9852fbbb0a712 + +Count = 4 +Key = ba15212a14d4feda281ca17c20c2518b +IV = aa +PT = ae0e2829bd5b63651724242598088295885891a658af9b13e2753a7a73ae98fa +AAD = 8709bfd637d1950d15473e46fc1b0a6849889b1f6906604a89800ed2359cd55ac255f590721373ed27f8b10f70bcba3fbf0b69b2d82a64926292ee50545e87382e235af2bbe25970e86a2947fa3cddac711af597c778dc700c35 +CT = 267afcaa402b1b9ce4444f7a5e7482823615dad917afdcc55ea092e1fa5fd820 +Tag = 9327d3a739d662affe458dde350bc59e + +Count = 5 +Key = b7206481763e2aa5e5191e95815da0ef +IV = 3d +PT = b7644929ff9360182007b81b9aef89d95ae120c13c23ead447a42726eab2242f +AAD = 7bbc014807e5069e3ec1ebe4560b0da145465d52bcd89b86626d0c4fae3f1cae1152c2a821e33e7b64e095e64e573d96c89435778f8800b91c3b7e6f06ee1252168e8affba37b2d93e8e7b669cc179c29b7440c6bdf8ec4a774c +CT = e86489b9dff6d5dc40b1d6a08d794d71acf5254c14bc72841f3ae5b4b3472099 +Tag = 68f81b490cc65b88e930f1f0031d6750 + +Count = 6 +Key = 29043f62262b509e096921b76baa621c +IV = f9 +PT = de3b85ce873d5203c949ec38bef4084d24dc418e5d245e169501c035dc187af0 +AAD = d7e193ee611a3b03d2573041dd7801ac73fce9b1d7aa8bd02f0f3f73e9e3348743e125d3086b411022cc82804e2a38feddd123d7dd81c7b02aa1ba047c7c1d8cf68902ccafab852f3548215f562743b7e357f71ad6f9da8e8f24 +CT = f7e6966c64d02100824022ff2f6fc49834ebf3a96e17674430be01fecea201bc +Tag = e74d34422eee788d4cc818781c82b266 + +Count = 7 +Key = 1a3ce592f8c54cd02b2cf9671682a7b9 +IV = 2e +PT = cf612928658b733382a54890c80ddd4f05d829ca634de82050c6cbec04663539 +AAD = 3c029ffa242b94dcdc6a71eb7d9f967aa9084d34912795777b1af2bd7db0f47c78c033cab7e95424a34f5a820aa9f64e8bc340eb4bfa6e9bf4274f8845db5449cce3ec2348d7c05910716fafa59a1ec426c160aea2504a830104 +CT = 2328279870fe52151302a3bb27769df2c01dee1621517341e26c89d9270e1fcd +Tag = 8bb1a8d4f4927b813d250d4f1e5e48f9 + +Count = 8 +Key = 1d20cace523a37ff4b15d6281434091b +IV = e2 +PT = 260f3c0c529dfe44682836e1b4c40bf5ab158969d083e8bb1d96fd50f64edb02 +AAD = 77a28a2bf8a86965f7dc6eafdbe64bbb7d9958497a81f263fcc8e4cdf65801a8c75481bee23696d50a510b14294e13a1218209289f3d1410a283fc4a80b9785fce1129f8fcc4eaed8ee8cb9d4a13fb6e2d3cae9dc5510fe4586f +CT = 1edf417c9481128978db8ec0c7dac8e5d95781eb44b995e51837b1464ba615b9 +Tag = 7f37ffaf7ca406b7f240e3e72a283b23 + +Count = 9 +Key = 7f8bdd23eec8296904e5f6dc6cbe15f4 +IV = 58 +PT = 3b30fb9d17b0da1a48be6f208c279234ca10ab267b3f530c663f0ab3a6d67ae8 +AAD = 76410b71ce2be479ec0346d62337a638366233b9f2a31aac0bdc988b2c3b5bbc1d28e465f3ce84c1b202cef20f8840fdfe49c8d35ad05aa7d9f456678a441106c1202e350feb6354c9e22cf39db49292d7e1867adad08d1c84cd +CT = 1850da280b2fe53f2548fbd624294d0caacb5ee921aa27e7e74c103b8ebfc335 +Tag = 4b75b40ccd850ac20b52a48442d1e22d + +Count = 10 +Key = 65712c75b05225311a530ab34c358f89 +IV = f5 +PT = 85649d55d93aad67937259688b4662a1bb0a61e88affaffc931b0446dd6c4fca +AAD = 80dd2fd1359a0ffeeb7aea18a210f41dce187db916fc7beae245f64fa4f0408c72649a8316fcaf7b3ca13f8ba493955fa9a44492160bcb05e43862f2645487e513aef4c841a66dce051973b41d9aea512db9af3605af551d3683 +CT = 769f81bfd8c51d871ba692ef2fe1b98427e9d01a06bcd5b2febee48eab9b591e +Tag = 686a5109394c69d48b0ea70467b6db5e + +Count = 11 +Key = 9b2e599d7f4c24ac17a25300a9698879 +IV = 71 +PT = f2fe81aea66298ca0caf3fd8ca40ceb9646fcc92ad935b6878ba40f2eab40dbe +AAD = bdef947db1c526dd06703bb210f66ad22836717816e418157a409c598e48d94f5aa9b17dcb23a17322a9dcf82c9ff35cd627e14ce9b7f87cba11ce300b2579d467dd9f9aab3fd87319e1e780f5916033018e628d38fb5a82151a +CT = 1b1a3532808abe077850f48cad850f516594ad5c9bfab0b724b196348ebf3745 +Tag = 52188edfe2ba5d0ed757434694e015bb + +Count = 12 +Key = 82f8c320b257d9aea6b9ab267ff2b4ee +IV = 0b +PT = 0c0c62b7453ca698e254ba8db3e27556c10eefed7b14014ff2ab036dab9f49db +AAD = 2858a5251ce0839eae99d66be3ad98417afeb05504c5c76ef673e2d35de1a657e140fe2374b66afb1fa39d697df6097242157c35362925d6bdd164bd1cf71534de34b4d1177ce4fd40a9d079344cf38b6c2da0de749096343fed +CT = 533d6109a2b9180608559a001cb1958a5e08dfc87202ec9d4384d095da01c041 +Tag = fb91ad2c83dd2289dc74f622c89a7c21 + +Count = 13 +Key = f5b618e92972c328f6cb64c942228919 +IV = 33 +PT = 748ccbcfa7bdd2fe1a31d6c9234875ff43ef838c3cad9a02f2e2aa3aba3ba4f3 +AAD = 9f644e1a4c2f5ef1754ce7c54c41b80a1ae8ee37f85d60490abca93b3676f50d9e3dacc82d089979100d4c0fe4843ce47d9e903d09db6ff96b9d6e1476ec581e7a6ffb065a19968690012e738c78bc11ee0740204dd7019c39ac +CT = 5dc94ee53a3e3f7989b6dfa35f6ac8cfc50e8a952cc5060570c56e54d2bd62c3 +Tag = 7174613ec3ffb2bf06a9d1d386aa6639 + +Count = 14 +Key = 4920bd144c9cb8091209d506e1ff07f5 +IV = 5c +PT = 55ac39c5bc9acd69ab231c8af7f61cf82735c9bf40c3250c69ec4661270d8482 +AAD = 7c530c83821792caa40d444f31991109dac5b2626ce7de4889361a4e88af5f84ca4036fcdc0eb59ee33d53119ccafe629c977566bb14c73b0b59720f33613cceeb438e9cd9e32ade2bfecf3f1d8e191d99ff9c17cd5a6367363f +CT = 2a89736e8bee6511050b8bc9eb9076b7a34f02885ca246119f204ce3916b7286 +Tag = 5c1c6b13e28b1472bf9bd61e898f6c37 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = ba7ab5f9eb91ad8b14348a022839acc3 +IV = 76 +PT = 681b02be79174c10cdec3eb30a16baa2434655fa66bf86f41aac064b8a69546a +AAD = ef38f5328f6d225564092b116867edb40ae3cf21adc5fbb3b8af24381f929444bedf58a2ccdcdaa02b9ebfd6165c0a34991eaf4970fe6ee9e8973710207036ac655d685897545b9e5d89d0c438e1ad1a458196627591bd9c064f +CT = be91e1b76835e1a8b5c1f33ba8ff4b46f1281c4607ae2732dee9d37f3fb6cc4c +Tag = fbedb434109cd66bd9090538a33438 + +Count = 1 +Key = e96c4fdf5b1a404b135b954e97d71e00 +IV = 26 +PT = 17b5cb5047ec397ae551f44ca23369f521427e1921a0de8ebc30447626a1d4ce +AAD = 0046f25a33a2ce038b190faddae112dbe714946a5a2b75913be6506d79cca1db3650b563e39cfd3906e9bfa504cf9d99705235f60a7d7207ed193cd78dcce5c3746bcb4b5474d49b44950cd7b9e98e55c93edaa8305bcce17169 +CT = fec2a3de67a782c48af1ba540e59465e9c8d560e9dfffd911080be1a3d44db1a +Tag = dd4998551d764732c5a24b5afc181b + +Count = 2 +Key = 1b1d3c34dd6f6538bbb6d34a1e0e90d2 +IV = 35 +PT = 8eb3a2b5937cd9ba1f0843fa14c065433315a9917b56fec360ebe590fa05955f +AAD = fe92332b077bfc158fc4a84728b3ecbe0da7f91cbbacc3dcfab60684dee1db7e19b11b6d25a040ae61490cc7a51f61dfc798312e8aa82adf871a1f62354d12c8e02494a2099db619d117f2c12758725a9b32601a61e97f243871 +CT = f9bdd236e73c41a97490ddd6106636a69a4e1ccd6094db2ed9b9adfd37314bef +Tag = 4a1143f16bcef9dc3e198bec77a709 + +Count = 3 +Key = 78a86e1e44e6b5a3ccc0574de54c9fe4 +IV = 06 +PT = 50961bc72d7d83e8fa772b676980b691cbfda08c84a5e2cfd7695d269ad29218 +AAD = daffa9dfefd910851425ba58b2b7f9d4524af7f554d75fb271872ae358642ac4436837b1866454fa227e38a6a318bae35656e62d5920b325b10512f1153676ac9b2407288b14407ba4b39e9aedfaffbfc584298d69e9b07c6fcb +CT = 4638c92c944d80de3bc2025494269d9ec2cd3da13492df443852ea14565ba74c +Tag = db06e3594945dfec4287b7f7703960 + +Count = 4 +Key = 975933cfc0bf3211e78e085fefb50b08 +IV = b0 +PT = 9f5ee0757cf351f9b6e687052ee8c59faf2242b2d312404672eddbd8e42514f2 +AAD = fc2791f3f9e8c50d6926ea615bfd46d1dd9bc8bf43449bac32a7f599227c959c1dfec06b7f36adc379714243f5fa85f6c458d4fc6b5237aa37911bf36e084f0bf674febd883d1a03b28647f775913236e123aed191d462a0c795 +CT = b1b6c2c606fc6c0507ae3492a7877135432d3b454bd6b0cc1f381fc4aa4350c5 +Tag = 0e4ec77d1cb2c4fc0ba83e492b5272 + +Count = 5 +Key = a9afe57a1f79931ef581f688f42b306b +IV = 46 +PT = cf18a31ec7bdd8504a9026472fb6e162211f0ed70293c0de5114c5fbb09ff4d5 +AAD = 4f1e6aca1dccdfe5844ce329aeeb8ddc5733d57a920299d83007dfc512e8870e4cf5c6a626183b58875db29955b1419538ce2d71605bf374374bfc0f81e6fa5f28290d93b02bf6e46733277f2b94d0a8bc3b3bc1baed700f6a3e +CT = d675fd60d9e1cb7d837a6224838f53c10e453c0467a5ad00619376ddf023b2c4 +Tag = 465c3b36c3757346750473a12edbd9 + +Count = 6 +Key = 8ee01b0d6cbe36e0568560e267edf4c6 +IV = 76 +PT = 15b8c7317349a6bbc50ab2223ae06553f0d40a3ddcfbc1652a43d1f82cd673fa +AAD = 41587bed597b65c68bf478cc6efc6246a61da57095478be84375bcaa37c3f308f951fb3ef5308c86e8c62fad4ce4408c427bd8ea1e43de5cea57946543a102e61439abcd4e653cf6c364dc709abfa395fa5567588909cb006ee5 +CT = 51aa530dd724b24897e7646c0faf8d02cc1c151eb69112cef14c39dbdefd4b50 +Tag = 1bc9c38557d5d04e7aa351f09f9cd2 + +Count = 7 +Key = 738e5108daa1651bf3345749a29499eb +IV = df +PT = fccefdb886cfdac8059c8f754d397621f45932b5c92889403360b102a60d0342 +AAD = 3d021bc51f660c3553f1c59c91a9ae1266c1b0bf05a461d8fdb6fd2a12a9b21d7111500d2bdf64f8dbf12a3e6ff5a6a6619e6936f6ed1546eed6bcef43c7ff0f206a86a4141ded31ba0b7e2897fd49d5bffe0f3e6f3547e7d564 +CT = ada0966ed19d78bcc497ff57600ffe18f139285f0fa1068f136cf98e7318b75b +Tag = 3b9a263e88ce9c2491adcddd3391bc + +Count = 8 +Key = f384a5b7e0ec90803b30a002d920c7cc +IV = 40 +PT = 19c6c8753226b00348b5cdff3532f13f52cb088f509eff9311df32a0caae8fcc +AAD = 1a633504a58d79998c7baaef27a2ca54ff50d717d179fc1e967f2643f61ce402efbc7bf76936438dfcdd91c975663f997aa784f44ba39c4b08f925e983b6d74c73881a0b28e27e7f6a54d4f33fb65912dbd1537d073fce0fa6e8 +CT = 40a2e75b87ba26237e4d28388a506aa91a4c2dd91c5cdcb741683d20858c68ed +Tag = ba1df06bed3bed9dec573d2eb1f068 + +Count = 9 +Key = e79494d037b4d1d40fe9fef63cf6339c +IV = 76 +PT = 408dad8758fda34ff29d61a0394fbe640a927eb70f983d533631bcf21ff91855 +AAD = 6dd1614edbbb9cfb0c41da53d8cc8564ac6d2011b452a45fdf7d6ade4b4e64c5fef09b39164d74a0265f40df3845de101ffea57f3786c6312eda94376fc859ddf5b165024d433682055a7bd5860f591bf9798347001c6f403214 +CT = ead480792bafaac3709abaa6983242a9f870bc5de23e91dbcb0db6014471d8e7 +Tag = 451ecca8160e910ba230501c2d5cc2 + +Count = 10 +Key = 27c2118c98d43e30d7e73b16826b67d2 +IV = ef +PT = a024d09ee1b75d1bb72cb9f2748b04ffac4ab1d75a05190c28831d55cca2b17f +AAD = 417628f364ce3d598abf0e5086b7ec533d08fbffb6d323bec6d28d5e80117091a45becba9ebeff8ad9834075746a0977c49c5b7c9f157e5fe47e2333dfbfc7237df1e70f6ba38369052b10d9a48e9048f7a34a5ae60343a343d8 +CT = 0f813eed1486f62428e7c59ba0fff7fe7468ddb5a5e91df63602fb048124107f +Tag = b84597d1cc9018817992cc17dacc80 + +Count = 11 +Key = b8fdcca27c17adb1efdca57a3b25af06 +IV = 72 +PT = ed4085cfc5e97abb7979599c4651f5cae9d11b217975628392af0e72c07ab870 +AAD = 9ebf7347d5a2761a6e69d2d2e0f3f6dd5b8a1db766b6520a3f80001e3ceb7b6cae6a0db2a151ad1b03aeecd40da72b69404d73a6c3364f6a5791fd61eaa2b47217818349cfbd7fc1c327261244beed4e1d5f3d824e48d18e8f0c +CT = fe325f59024fb64077dda2175330387b58722bd973b680f4bdfcbad230976348 +Tag = 5afc9aeb8cbffe318557eb7347b4b8 + +Count = 12 +Key = 00d10bc079c4f38fc991bf58c64df40f +IV = 71 +PT = 3575f3599336a0ffb5cc3426cb8a00650af2e6889c8eaf007b1fef6f0e1bfc17 +AAD = 12a6161caa440fae111cb61e58d0c14c8e3d64d1f709c565f1d3431270a0cb6e2d92e699b73835eab7bef88ab18b646c4a983b2a9f75aa2c6b895078409343cd5c6f97c125f3c6ba5a2d974699bc883326795de7917055e5d1b5 +CT = d0798f151191cebca14f01470ed3676be3f19797139bf5498e31d3393021b438 +Tag = c18ae184aab2e338fcf3b2b93e5bfc + +Count = 13 +Key = 4c4d67009807dbf7ea95bb65da65389b +IV = 9e +PT = b4387762874beeab4d0454b7eb230c9398201b4e6af9c28a33568d34faa9c996 +AAD = 46d82649600acfd95db5461f179ac72d2da5162b36450e4b274ea91f8c9ef5fe0ebf41a9b7b2605988cc88e701ec85b038aca6c44b37669606786dfc929b79c13251ed118f568df311088649a172dfc91113215d9f63e2c44fc4 +CT = 515fd0bd075922cbd371c4279b2c8f222dcf7cc654f36b61fab56f4e4760fdc0 +Tag = 819b8e242e1bfc76fe8598cec09553 + +Count = 14 +Key = 5ab6cfa95740cbb8dfbb8d08f29f463b +IV = 8d +PT = 8197934dd3bb0536f9f3e3f8ffb362ac12a91e5c3acb39ab8a9b06d5cfc05946 +AAD = 89c1053f5bb44cc58a3793691892b116a7a29b3087ee2212919c6e96de5037b77f9d93490588cce2921a2ad7afc7a7a46fdb226a071a78701dedc5e930d5684450a09793670b651ca5d8b6d8b0002765ea7f3adf6e639cc6dee0 +CT = c39f74a8fe2b1b62373d7d5bd51872d7e4d2dd11868922f38fcee32eb21d4601 +Tag = a0442db0a7359ef7e77f3af399ee43 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 0b52fbcc80692b7705fad72873ef8aa1 +IV = a5 +PT = 20f998f8670e32b46ae1e89c11b7a259d7396dbbd253f6d0dfde6b68ab024f62 +AAD = 09f026653031fc08492e4e2c4b96bd012ba6dd02930a934ac6bfe3437a092b64ff78f7dcf86f29d06ada5b77bf192aac33280259db05c70677c3c640fd99ea5680f7176a74b3e45fa3b973be800ea0c2e9e712c0c65a7c3e9c32 +CT = 1c27bb88816c3f9346c060f9eb68b34eee029e315d190df59200dba8f9e1ef6c +Tag = 4e91adcb723b90ef90c9e6dbed21 + +Count = 1 +Key = dde8e47e09948c092d559e7f6f8d071b +IV = 0f +PT = 16c7d4280102ea75a34c0c5396982cfeb8242a0919309dfab6ba539f3caa26d2 +AAD = f6d4a24717fb06a3fd91e1f62b363064ed260b390d96e6c080ce8a227ed079fcba1faad54b6da7c3875e919d147801d43fa93a9578f393a62eac506e58a81864f7b65a2cff0ee71b8c60b024b89ee341ef6ca661fcd62171cb59 +CT = 1f2bce76d757c1e8278e9166a939624286b544bc34a2819fe82b8db63725f165 +Tag = 16d71e4ef84c15354b5019d0c700 + +Count = 2 +Key = 4a5f6cc05dd0cf6fc3aeb76c13ba1952 +IV = b2 +PT = 1ea602f08d5b6f92a463ffcb8f8daec4609574d2589ae32b194f0cb5b4558169 +AAD = 06276e4d94956acffd28bb7ad7fbc37f7d8c194f4cd636d2cc5585047c7a48992540348f7b92ebf05056b63300598d7439257a227c58b6c03a3cb182c94cdb83ca058986d097af8b21f7ac2321e22a6ca09f1bafae21bb610d1f +CT = 6bca11da7279400af80eed1c871eee4883f7981c803362958160947f2d02ee26 +Tag = 9472c6ec33f806d251535f88626f + +Count = 3 +Key = 1c15922c95f3e58fd9cc68b9df6fc593 +IV = 42 +PT = 078bb07041ec22a95eb15f43c248f360d5b59e46cac53b5d9c45a35380cad820 +AAD = 98ec369b251f54b0273e07b3fed76ddaabe3da16906980a7ae21f9500bfec1e16b32c1d1a8499d20bda1c7ac07893043123f4cf4822c6657069e1537aba1976558e7ff98d52612ab5ced6def043bd02c5147ff539abe2dae4e3c +CT = 799bfca1dc6133d3a52d710f8ce2191064e9fd9fc0b166ffa13ae25632442ad0 +Tag = 534787d00d8deb43c0d312f89920 + +Count = 4 +Key = ee4af8c5c4b848ea4dddb83068ccd0aa +IV = 67 +PT = 74855988b6d01bf60be60195b8eae7b5fd91e764a713b6b429cb6c6dfe1f6f2f +AAD = 9a0eab6f66977fcac6eeb0b4f38f974a82557997c97cf446f2f064f952c530e85d227eecc5f53f831e83019e84aebf5748f3039a9f5b9bd89fac06f35d7a4edc7fbd78d290f160d986097efcdc1765a5730da8c5a95d50000376 +CT = 1209682cb8a10d9e98a0bfe2c5a9faee12c05de31dbeda3654971594ac43cecd +Tag = d11cc1345561751d0563642de748 + +Count = 5 +Key = 9cba59ea6eda311a7ddd6afe9f8b10d1 +IV = 70 +PT = db842e003b0611abd023ad212bc07cda6087a65eafc780bf56da5e005b1eea63 +AAD = da9868a655bd7c72231d223b48762b6029d6a4c74285f6ac367d22f7df3fc44816a1e1ad81e1cb409cc567efe2d6d83c7c064f83de15fe444fb5c50f9468a26827a8298619b2ff1490b4ebd775799d65fa011afdcff3d19cc4cf +CT = 986edcc5665c4366f587e58b5c8b682ac73cb50527d978cf1022d10d9bf38402 +Tag = 7d951883c97e51d655d57d26d691 + +Count = 6 +Key = fbc3c65562cb4bd008d9aa17b16cc4a9 +IV = 56 +PT = b19bd4c1dad0294a9d390ad049fe9a758ac4270ca58f8df6b6e3d37badaa7e87 +AAD = 710e569ee884b4e400f3fe4a8c0008b22ca746246f328452521f3864e5efc551a3ef4d8e06d6839d684156935eba5fbc382c2da3926d5bd44aa4c61d8aab6bd6996166d37121b04c984f859dfcd794979ff475d10d153a1aaa2e +CT = e80b7e8e8a13e794f2df2403d55e2971574714650f6150daffc5e85a952af319 +Tag = 9f16c356e04a8440ece16e77bb4e + +Count = 7 +Key = 726395b7c9d25a6d154b9edc4ee0c6ab +IV = 48 +PT = efe23590a085b3816a2ee3ab929002b9940dcadc05a80f03eb150fb93fe8a191 +AAD = d78d37139650b2b6faee1f779216a1ac34fdd826f1911121c12cf21a33087d812e9dec4d64d109ecf62eb4d12a5a0ee320d8e28a3c55c76184a4487639af9ca6240cad26d12950d82ecd741a1e895150e29c7093db2a3acb05f0 +CT = 797168139182f92fb8d9d212f76418520a86051901385c02963ade2b31712ebc +Tag = 1d2fc6dd577fb463fce3aed19c69 + +Count = 8 +Key = a270cdae844c089740f533913c2896cf +IV = e9 +PT = b324ccc6f5156387e726c4c0364f5e8f423038574f3598a4984e5cc86acd515b +AAD = 0e2dd7f599d7a9593c45a8c5b308111515336e4a65244c164dc678fc259e92afb0f3a986f1b1fdbfbd83b95cb1bf4ef5190318f42a693c19ddc4e73e4a2785f75f2d83e24886d31b57ff62d56f7182e3520132f9d4b161a8685f +CT = 09137bcf865904f88bb84a93f242dc5c97d0bd5a6f9974503ce27a10383b1400 +Tag = 12336052373a9d12d6f3147d4ee6 + +Count = 9 +Key = 204a993e128e968ffeff8711e72cae82 +IV = 6c +PT = 2510da133b7a3a19cc1165ab94ef2d8204749fd35d9a62a45f69a06e616d7c86 +AAD = b396e018f2430289fc94d4684f07bbd726832ef47ffb6d66aa8831b97637be929e978a693fb549fc322bd1c00b6e6438dcfcc54b8c220070e5a3a157f13b51d118f589d4f818105292a7bca3053faedf78a4ff3758874cf53602 +CT = a1839dccd020e8d2cdd67dc4d777862e885fe7fe98087af70dbe4eef75da3e58 +Tag = 3cecb21ea5aa499aba5c7317f2a2 + +Count = 10 +Key = be66a2588fa499cb59641e59c55397ec +IV = 5e +PT = 96f6e91d04eba1ee4afa2984c0f906adb5e476d40df06d4ffc024bf0eae085ca +AAD = fe73603aa685ab4a004dc6a9674d4601860dd47f5c4bd71339ebf2ccd2dc7760cfe12b03d93770f6a762ed0f37ee485a0c868b7a95df171d891fa472d7ffdce42d06701ba8612330c0bf62fe6d82b41ed8da3ccbf882568f2ec2 +CT = 120fe5bc52e666a0ff88523fb15c4c2fb6a8bf4ed49d0a3af3f73793cb874577 +Tag = 45c8f01f00334c8543b318afb5ab + +Count = 11 +Key = 29e0660c8d23333a055ecca8d755ec4e +IV = 45 +PT = dd67da735acb65d24241a7f8e93db5ac2e8a096faf31ce99acc74ccef3574fe7 +AAD = 36f0cc4dc395536600f9e01edb2346318e1d64942dbdc7592e7241031a2dcac3b9dd6fc6f213878d5519f74198de53d980a367d3d9b8390976638c3ba4b91fc0363e0edd923dd52acd9cf65cb2949349ac824fd169d6144d8b28 +CT = b628209553c555fa0d5056389ff40958119b969c145c3d864d72ebb72d4e7b0f +Tag = 7af921979fb49434460578f36c5b + +Count = 12 +Key = 57c2a1af46f183293957d4dceb1fdc07 +IV = 30 +PT = 62e891c2774bbb2d978dde511896d360cffc70cce1caf5f9eacef3e02651bf28 +AAD = a82bbb4e399ec19eec7c91f7d1b8553dfe501db02fa99c55c9b7f84d14e41144eb1b9352d900bd4dab8ab33558303308a9f24ea769a3370813884d170379e9a1b96ba90b37f9e6d08007964806eaff35ce900617f31d9df41b7b +CT = 3e817d9aeb89f5bc632c15df967f5511ec43ce765f5abcd260c52a3ef146bc26 +Tag = 4d238b9209425ad9adc5bf5d3585 + +Count = 13 +Key = ceef06699ed3ab7626f8921682a01d9f +IV = 98 +PT = 8d12286520307c76d3298236385bf1d692f891fb11c0c21c2116ccfa8cfec0c5 +AAD = 4956f16985abd85090b441f7fc27fe5686621d85f096eefbbf3e228b04ce10bd98d0488f6cd1a617f76f903e8b25e42f54ace5f1d188ead5b90172049dd53c0753e1e1d39b2706caa3b4526841fceb2df2a1f10a8f5a740f310b +CT = 69456d9f6c0ff8e26483ecf557770c18ee193c793f1f55750a883d80eb089f4f +Tag = 2899d2e5a54577801eeb6269c0d6 + +Count = 14 +Key = 943a684915f58889d2a8f106547424a3 +IV = ea +PT = 662e619a96a09be284ba3ea467fb89482c7433188fef36f3900c409805dd491f +AAD = 2065fbb92eace020c27bc389d7056ad525c72e9164d61f70e26be0a53844941e5ce656c527ca9bf51497e89954e57f43fb773605b198c89d579ce7d5366e2a42d57d48d03eb81514e973896bbd066de57a3767ce887dd9ca5932 +CT = 361e094eef5a9173caddb648dea16c1c80d9410bd402b5cd20cbb21debdb9d3f +Tag = 908b49478bda99db6d3f436810eb + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = c4572102211e21de3acef5b5019501b8 +IV = de +PT = 3bb93423ace7cc1d829f617daacd5d6122beb0acde1379c7c333d1e5ba80ab0b +AAD = 6b425074e538f81d4c34ed2cefdd0d8a26148cc9afcf137833946c48c559d29d0ca46772427861e508a5f746918190a7d9cbb99164367936ee038819aee713cd80f52db8bc2618e8a2e86faf33aa3c41bacf1c592741abbed2df +CT = 204e3079e9138d7f0399cfc4ababd4e0d10fe79174e12aff31f383f1c04d6a8a +Tag = 726e4703b980c2fe1d82373b20 + +Count = 1 +Key = 6fc1b4a6f06356d702b3158f09e0e1ea +IV = 38 +PT = 6ec321b92a4e82495237f44fe6c252c1ce11a46857815178f02224404c7fd9de +AAD = 93f1663e039f529840d8e0f4d5f3cb16c9b7e7e36dc9b6f268a4eb7c4575f295db67700bc539e702639ccc6b5c7ecadae107b560f98e4d50aec54d8dd1dac96568df78a01073f5c3c9841dcce394e373b408151f16318f2d2576 +CT = d0ebd146057572f9708b33423cd12d7b8e39fb804b3637096f66d3e30c589644 +Tag = 01c8edbf44c2cf2ad17c2a3526 + +Count = 2 +Key = 8a38848b63819c4f723d5e42567d0844 +IV = 5a +PT = 8eadaff6302b823a5f8d8b5577e8c878f0afade409b51dbbdcc56b39619001a6 +AAD = 75b1c1be381cde9dab482b1eb9a6a44aed3b1e5d1b34d628a1f584f07fbe1f1bfd3704a1a8dc73868db0a90c4d047f762eed913eb9f5764cacdc16f784b9697f0548b5d6e21de4601556493d9a78cec2c33aa00ad904118a0dee +CT = a8c291dd59bf3890549a6b84c1642795413e735b6bba0bda578aa67e68776c91 +Tag = 64d0d682078fa938a38e32b078 + +Count = 3 +Key = 0ffdb4eb8031b6717f8fc9ed836e52f3 +IV = 8c +PT = 4b34ec0d99475d7d32ad243ae9232d548089ede9dead97d64eb7e46513549bbe +AAD = a4d637ed33585e7007663f46549c365fd2fc88cd9b22ea1023e8b7f9c5d2e32b63404c1cf1d6efd350a42b84f1a817ac7ac887d2d11b6ffc92385517ab5d7498bdaa6efcfe249721e541258daa2a108e4ee50d5b6f4f4873e1bb +CT = 25fde78c73d578cf5c7ce76d43745c7a2e62823b02182509487209f691ab8e27 +Tag = 5027a6f3b7bc72a45bc7f10dbc + +Count = 4 +Key = d4c593d1b8d8e90b84ba0b87ff49d57b +IV = ca +PT = dfc5e45c28cd2b97a0c35762c2f27b7817bbb6c919820d8c8cf6e7147f6e2247 +AAD = 5caa25f74c5c711841837706b10700b35987db3593d0525ea6042e9444c25b2226f31422182c516c943409c34eee0f3396168367a763912f6f31d6aa1d1d3d8b4f26ad20fb429efa952951a64170258583f44d2957daf76e69eb +CT = e6edc6a5593e7c9392692a53844c228aea6af4d57f3e599cc86d16d468281d59 +Tag = d8e95a7c25d894b0718d43eed5 + +Count = 5 +Key = ed102d28d0dba42c53737a46c777b4b0 +IV = 9e +PT = 5c2b6566b5d96ebb59ea78d67c759dfc7e767e1edff13c5933a2518172096f42 +AAD = 08024ef7fded14b189f034af53495164576e170cdf510c33df418c88a8f377098ad8b6e7514a5b29fa542daf976c337fbc149cc3632c38cbad20ca258c53559ef7913e5d9397f44f6d430bce24c892200c86f9488dd9e9f9169e +CT = 2f3d98eb3c9c4500df1627c106a97e25ae77832f42af80fb35fc12bcae12e93e +Tag = 67c21d2e81561b35a1aea22257 + +Count = 6 +Key = 299279ba12cda55cbb19eb9a9ac1cedd +IV = f9 +PT = 556c4077fb6c01be8a27cd0b32026b3190c71c311e0c77651bf0a373a029d651 +AAD = 3a99156ce8b023d53d6a54b73d9dc60f17309048940ddc2b32ca95e0587a18ca239ecffa08ad5552a13723b218ca8a42149a8e202e5dcc34d00ffd33e60cb68cc8ca2f892b141b53af54b48ad4afdc06c9cb635073713740f98f +CT = c32f7164ea26e1053103b2d2654e391755a94897c0d3e431891b861ab212b013 +Tag = 1ef1c247066a2cf49eef81fb46 + +Count = 7 +Key = 68bb8454cef8d4731fdd04f997b54cd6 +IV = 02 +PT = d1dcb5f822f51017d3976ef515b03256928db570d05327fc57c5a0d65ae25c7c +AAD = 6ed27491783603ee584f18f62ad0462a6f8180b101b7b48e36558d4d651681e1cb9513ecddb44a81e6592701476b167fc82cb1295eb9416927653fe377e4b9d7e41456d6045eec038e8ea10a8e5cf181c38682def4c36d9d9f4f +CT = c7619c71aa3123bbbbebde98693aa560cadb932a21f0bf3a4da04ebf6bb393a4 +Tag = 82fd40b23bd6b1daae57ee6042 + +Count = 8 +Key = c22b014fd3137c8d963c6b6e456b2880 +IV = dc +PT = a707bcef91fdc4d255e903e2722b044d677bcf9fe9d6ff1708aa87bc82ec14a1 +AAD = 256a3fab70e7c2910663f05a4ced3d78341f5a14f5361ffbae8f58ae48d2c639c81a9b494eac2734220dda7d6dfd2a493912800bb3e41537fdfc0c17a774f2539dc6366db9001d7ace5967b89a39c3bc62a736ac55162a7667db +CT = 6b5068892a6ec8c22457a5462dc4c04bbc51a6cc9f81162a66e07c054c563ef7 +Tag = ec90aa4561e11497f8ab61aa23 + +Count = 9 +Key = 2368dfb14a3b1ba9f0804cd630ee054b +IV = 7f +PT = 751dd47aa72f8a0e9b0ae6b4bd206ef7482a7b85cd2120f5f50879e955172ab2 +AAD = 388c0b489a44d074298de39df39f10ce789af7a2883bb5df1c8453562fce1f53a8ef82a148993792556bf297e2433e583cc1b37571ccbebd2930895cbf3bfe4bf1054c75ac03edda923f8340c42e844ebc18dbe8f115f69d9cdb +CT = c4fdd7ab3c1604f385ebf9ca820eea82e0b4fbb660ced367d034173463ec1e46 +Tag = 4b49b5befaeaab73f0c23b04f9 + +Count = 10 +Key = 03135cee95016b5be0c501cd9993b425 +IV = 00 +PT = 0ca913b9d290dc9f2136a297391bd379c8dbbb0758c56bf6697c90ed8ed5c03c +AAD = ca7b78c623a8c13eb483fdd3de6595f67e4e0b07a53bccba43765015858db19c1f4df7a42a619628e7ba2d8a3b85ffb323daf48e0146a2ea7b8d51d32a17a86f438c2c8c450134439116781799dbeb1d3277f4d82c75d3c2b0ba +CT = 48cd4eb9636f2a2e5fc9ca9dba176a6b24ab8ef68edc77aca6bc257ba3560da3 +Tag = a4b981951bcfb9f5b0d3d92fe5 + +Count = 11 +Key = eae9f1444092d33017db78c0e316f5a3 +IV = 75 +PT = e6aa9f13032aef05e8227a318a71367b7e5e68fbab6b84eeb44f0291175e60f9 +AAD = 53e43d98137f7ad915a05a5d6132e302a79b022d49e746ef81f4695750d57c4404b92bd4a6dbeb7b031af66716612d309bcecb727f5d1d11ec65880159c3d1dccfd77a04c2cf60a299adda43e75fc2a237ad9489162156ff6e76 +CT = 81132ffa0442dc0ecd67e1dea33b021318d6aebdf4e2ccfc71801f1338596b99 +Tag = bd22b2a3b64617847d7e0e5837 + +Count = 12 +Key = f9d30f0a0503298bc79e3201bf0c1026 +IV = ca +PT = 1191886a1da3ce8fba6a480362908fa8d3ae360fc5b5b2a3c9e78e42033d7b97 +AAD = edd2bb0fed80ae6b5518cb95f70b78f159ac37ff3310542f8b4e7b7242fb7d49810161b36f2813e8eb2bb96ac9a64cb68bb79624817ea94b8b31a537ce25f550330288f5f9946c57329ed552bcbae5ed46cb8da800f4ef368bbd +CT = 830fac755a0cdc8b502150efaf4477b889da76e5f56afaab4758defaba0da4d8 +Tag = 360e2699ff0fdae79464eb91fd + +Count = 13 +Key = df599477d152f60f7db7b268f11b98d7 +IV = cb +PT = d0e461b5350de3b341abd5a9bd9f5e0b1287a9204aa15e70918eb791235236b3 +AAD = 2cbd70f87b1d2d3f13b74e02c9a528c23c4e2499052bc5b48bbbdb9e9be70fa113c376b444a3f8093bdd533f5d658dfeebd5f46ece5dd5abd6a0d99ddb068827047a93091d4d2f20b8fc2d9446476a4aef5cdc8c741cf61e0b7c +CT = 25edd4bec49e70aa428e704460bd0e646f85f49d0cb327e013790ad494038c05 +Tag = 46f0f894f56ca0016e89296588 + +Count = 14 +Key = d5282959e941ead0303cf113fa3a7e6b +IV = 29 +PT = 985fa62c7cdba8275d2ceb398d7161c7c457859e6aa1bf121b37d029d517b5fd +AAD = 1cb7de63dba4e77cc4ff0a003e57ac605c1e399ff1c1360246a7983b457ed94b1d3561eea075299db61b0d89f2d6cad101448d5607f8889c3a06506160bc73067930cd5a69c64cb46b0cfb147fde58ce9d0c5e473dc6b975a737 +CT = 91851a42821f52d314bba30af32fc0f1518a46a2b2108abfa7e34bc19339275b +Tag = 5f4016e7ce57123fdf649ba6db + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = a7bee2097d1d34b49386eeb8fae11278 +IV = f8 +PT = c1ff3b192e29eba2f84c137974859c7871f9e3d45e3b00f2e031fb51e8225e4e +AAD = 6d1fa332ae15a3b63ab65b85fe5079dbdfd349d14453fd2978ffd552c5c7b40dd188dd103d60e1634025ddc420142f63f100a4b8d1bbbf884f417c9e7f71d70a75d654dd1aea1be4aa4f8ff9a13fd2a17de908ee5eb0e4b98bda +CT = b82f93685e07319b02c90c04c5566c577805d73d4863a913caeb64ce6060849d +Tag = eb4889a503017c1e4f78229c + +Count = 1 +Key = df9777614661141c5519c0ad76f179d9 +IV = 26 +PT = b10455cb31cc0b8bb1eec18a212110e50786ac931d57f72826c004d383c7aaa9 +AAD = f378fc7dfd37ff1646081ba4f04ee37bee206b37963ef5b92977625db4a9ae4e650eaf41c16cf070c3aeb354290bd6d1eae2356f20854a804d399b4c059d5ed8c4e14e310d320d20848cc1bb2c41e320355aa6554e0f79615fab +CT = 829bc684090f5bd087a6b91bb3cd146fec217dbe8921ed0dd35bfb3e8650bf28 +Tag = 213629774dba79b7367781ae + +Count = 2 +Key = e3720e73f5c3b3bddad69cc4decbdae1 +IV = d9 +PT = 4925148912036cbc83438ecfcf990acc743745734803957f0b19cd90521604fd +AAD = 711103fbd146274ea8a3a73e113f643677174678ddece538b2edd883e1e21390962b923f9670c35074562007cf73c51d191fcc0290a0ca67a444e4f34b5846b03fe5d4c7b6e855fab04d611f5e26576bcbc46b02eba7cb82fd61 +CT = 480873c76649cb6a17880ee504479a84cf113878d84355d227072932e9de9f18 +Tag = ebcdcea0e3f50fc428c1764b + +Count = 3 +Key = b17e67251b7d6b0ab1b84ef9c15d5bdb +IV = 1a +PT = a45614452143cbc75acec51fab1ffb52d94f3c32a1ca577aba12caaeac0b1984 +AAD = 8e200a405b4547796090eb5ffb3ab6e27efdf4abcfaf55bb250c71fc80ba158413fe05653565f5ace9e0e26d7607892a79f82077c52f4f1f6a6d95a3d05353a2aa3bcb2be3987853fbb6643a54dd43980ce303c52d1a98d2506f +CT = 3962d3b7a7d2b8215e9b987935f823bc988482986c2fa8d0a022cde7f760dcfb +Tag = 0795cf63f22042ad4ea27251 + +Count = 4 +Key = 596e5c205b80eb6128cb820e6c58f56e +IV = 20 +PT = b9231ff6c23a04b539aaf77fef8deee9414864d1252f00c2c0677d0adfc634b1 +AAD = 74bb14646a3cda78369e4e00ce064b03b5af7469b3e451021311a5b791b31f084ccec5f2be9b9a3d84a4d9084f5ce760498065cab3e64c142769fe48e64ad206170e3ff399fed9816b0c1bf8e4fd032c88e04649a0e945a66dea +CT = 042118ce0af353c04f129ff8b5a4606047322c11c177844b020211104ef68b7a +Tag = e6198cae45134c5405722c74 + +Count = 5 +Key = 042103d7418945c7145733d6a520fb89 +IV = e5 +PT = cd123c4fb13d7993322e3175014be911e4810eeaf32bbafbf2eb9595a738d85b +AAD = 323e9a1352d04f3be9d74c0536f81512762e743f32639f7b9f6730cc79e6d0e040427498834335558beb2bb91d9c38577f40e27be6629fac23bb5b65ef121c9f956457081ceeeb78282067830aa085b0237221a7cf2faa4289e7 +CT = ad836db4f4f7f7ecafd30b115e4581689f703589df4dac3af898eb4b774b6f81 +Tag = 3b3033f8b057c34c4e2c6a37 + +Count = 6 +Key = 57086c8c7386d623de808b794ba938ae +IV = 60 +PT = f08ce72ad70fd1d4491c52167592a93ce3c41cb48644a62a3a0d1c4745afd6fd +AAD = 927ea63c2a513a3949246ab14a5ad8b408274b863e613b98dda2cabf98e2461ef3f50727008f4747c7c2b8ba1278afdba1c75883508649a7e26ffe298cd2cf2f6dd21812a2bf2a6874e244e8937f26c12f454e2caa66ee9b6fea +CT = 7684d5b94e129efd7d7c28ebc3f4fc2e608cf58d08ea2e5bed2efb62096095cf +Tag = 258942a11ddbb08f42686841 + +Count = 7 +Key = 136d634c9f03ffd7b7677e6a98c46ab6 +IV = d8 +PT = 33a2209c776f17a21d20fed6b45e20db13fcfc10646af290356b1359a705dd6b +AAD = 74d85eacd005e95baed704bb3c7bf2b07279f8ca7212937f570613e8488586b455e0f04f11dffcab2bb1391836ac2f988923b3a12ff8fe9cbe544ef2b2517103ae16b9c05e3d0b40ea51d5b092f6ea62c08df8adf7b7c9b0a714 +CT = 607fe0d7a28986d0d7cb6493986306df8676e0b05d761341a339473f89bf085f +Tag = 70970d577d6634bb528d8fce + +Count = 8 +Key = c03fd3e1471711bf220a606dbeed8296 +IV = bb +PT = acfac9da2f2abc09ea9f997af6317cb5cff17db9d808b0e675d9ccbcf427ee30 +AAD = 91660e5644e1281b414d8e3ecdf500afa42de1fbd173b709a18946fd064ee454edb269a92b7e8e8f668ca7f3bae44c22302e56a5569ffcbeeea143761d58454bad08d0109c852e20fdf64c4951f2c74c0d041f613f0ac5741008 +CT = 5d3e41d1aa258cb73ad8fb482b0d7c403ebb9b983c379d775960d15d582c7250 +Tag = 644c186b2eccb21e237fe6c3 + +Count = 9 +Key = b173466160d8d4312c9b425f941868ae +IV = fa +PT = 588dd8e12e79f0a5bc966af6c95aa062ab137d1c5f381d4dc89b8d3dd816f538 +AAD = 02c9cbafa4d369c0b8d79fa6f34eb5674dcddcb8f59de229065599ac1322353b0f3f5df38b9d4a8ca7b91fc848965ec18a3f7d8961374bd6c4687c9bd7f02e96e29cd93a4b3d4d8be62ae4aaae7641953e6944838e2538466f7a +CT = 441b4bb3d588644ac150cb0d4aa0c460b4f085b333d6528e2d2e43c4f5317c43 +Tag = 3033f65a367e89b410bbad31 + +Count = 10 +Key = 5375c8d1235b9be207007c21abfa00d6 +IV = 9f +PT = 2494b605e352a7d8d50dffc92bdb8810dc2050dfb2b9302e46c8009bd892a73c +AAD = c45afa76ad4796b32cb15df6561c01553ff52b229e7d134a5b2a63be60aa078f70fa1000923fd8a420d92bcfd755b8f04537c4653cb90f6f42a3ed680fa58ce39aecbc9210577e3ba64c20f22fb43d1c2eaaba6594b1405bd2b6 +CT = 10d11d36f4610ffe9d67e089ddb68c9268be127fa40aba9f0ada700324f40eb9 +Tag = 5cb92d06999b3903bcf5c275 + +Count = 11 +Key = 59b1b3eb1e946152e685f37994e01fd3 +IV = 62 +PT = c7c48680c8ff52856192654c03e8f0d693b17c44fd9bfd0f6899622305726b41 +AAD = 5958e8dcf537ba850c73caee9d7edd69c46daacf41f852213c90a096a96ad0333341c8e4465a925b1697bd70d4005198cbf6e15f3bdfe58b2584f1f13411f43ade6805231dfd2b65bd254123c28b9e3e4b139c42b26e484e600d +CT = 9e76c3880e3bb19edd6bfb0b8e5a53e4f2bd914f509d4b13a8686588b579e5bd +Tag = c963a8d44408ce09b8a3ce5d + +Count = 12 +Key = c8998195ea81e1170aaf3badf958873c +IV = 5c +PT = 561b349be81aa81f6540e38fd4ad8337d61163abdfea3b0cdc4790a1b121f8dc +AAD = b850e663cce9a068d076422485a5e14222a995030829fcade26f750bb99f255bc7d873f07af4060578d1ecc55bb3c2591aca9e92a9c1045f5296adafc7d37cc46005317747a746465ec0cc276c508ca322bf601bd81757c7151f +CT = f20bd9a5f6157e4dbd48a99925859f74edee588ea35eb1510964bc3fc94a847c +Tag = 2f801df8490acebc32e1f225 + +Count = 13 +Key = 8aac198b922862012369afe90d3dff3e +IV = af +PT = 0a9920b8275a54c4c50271d81c9da94fa21673fce08edbc53c2b2dac412503ea +AAD = 63963f775e0045ffd5ef51c5d904c5ebbdf3732b857197726405c3cd2ac2e876b8d88e68d8cc086f5d7413b7385ffd8755ce769227115e3b37a7523b2278aca6c8cabb782dbe77556355a36cb6f731834021ddc4100c268e7de8 +CT = 7b4c7176ed0b0fbf176554b3f835770c921b0ac95d533ce7b496ffdb9dce6eb9 +Tag = 66000b02a4d78319c7a7ff3a + +Count = 14 +Key = 44c2a402c2bfc2b1ebfd291df379a441 +IV = 58 +PT = eb541d6651b6537df3c089b33355bfa0b55feddd809307e9e60214928c1c206d +AAD = 191d4f1cfbf1c00fcb2a02992cf7f5e5ad744de61df5872d695fb9856b7c4229ebd5510b59ad87c87b78a73d4600197944176db7a397e9b7319afd63091f8593bafcfe90b28efa5e2ca8716410b741474eab58b85fe5aa8ad4bd +CT = fcb20462f0085f6bae9f2cacf3b8b7f589cdc668b6e071747479d40edb9dd58f +Tag = a0e9a78f8d8d3959e150873d + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 0ce6debfc5050ac76562e48a3e101e7d +IV = 8d +PT = 0f5e2fb3b25b105737ab038076b3764de519399d428a07e36a50ef93042847cf +AAD = 57a7336d545ba514cca7e9e63a45dff9516a1aa92058c594bc048becf53ed2004548090fc28e460cbe7191228ac3c868a622c66bd7e80e02e58b4f5ea69e5611b587fd1b10fcc59718c9d91acb595a8c490893e6a595c8a8426f +CT = fa2081551ef6355809792b3cf1685ec8a124a2f2f9da72f44fee3b3384e1b7cf +Tag = d730ef40c1ac9300 + +Count = 1 +Key = 24f07a7e433a0dcd345b980bab1f4159 +IV = 07 +PT = 377d48a250868308249f5a67715aef19171af848248d51779acfeba00ffb605c +AAD = 123e5c05bbda3bea42d924ebb25a1c24b19d3a62a42dc1072e84dc8aa50ccec9bc22ece180440c9586a8f0412a1dd6b6f53b1a4c6e86e528436a9af5db5679b5fa7908d2a9250d23507133a3f931078662d21bb501404769504c +CT = 2de24a39ff5d89efd06fe2b7e8c1ffde5936bb26843a21ca8f97e95bdd77c249 +Tag = 8f584900a7139eb0 + +Count = 2 +Key = 08d4f9a5b833790bacf28448adb434c0 +IV = 99 +PT = 4cecb9af580e1337d1c6947e2bfbe68b46e99b5cc50fc2e9949ccd8fdfccfc07 +AAD = 11de00f5a50eb348cf9f980bc34e033b5ff593ba9c294a2476b2c52ddd3eeb2d3ac3a126b8b37501ab48b5ec3bd4fea33476a99476f4a0277d3e682eeffa7cbac68079eb23e0d35af053c272b097849e71ba905263783d8300a3 +CT = a91b2a5d50487d9ec014d113d46066c8107822f0ea159ab321031ca92334dacc +Tag = caf9c0576a88a105 + +Count = 3 +Key = 5cd2196208ac597c272bb9c761679242 +IV = 32 +PT = f465fa6a894d54f07cfe757e49726402be47798e4be7c70a3e28d65b492d1a2f +AAD = f7c29fa0252b1a9c8efd699869e8040b0e8c5c5d49f29886a540510063d4b6313df81399aa5371f059ddbeec5905ee372fff13d3b84d0911505f4b397e2c16fdda4ae13f140e2d156f31d62105364066f92112ad1a1d577b9aaa +CT = 46c4312d0870870ef4a94c387cd8b4a4df94e8ed9d3f5dfc3e0931abd62dc15f +Tag = 7ed71b27baef3fe5 + +Count = 4 +Key = b6a357e9ce34646f1256cf969b83edb8 +IV = 12 +PT = c4cce84fd59b0ea757a7fde81a7da3b193c3f4ce0ecdc5a452e174677dfd5996 +AAD = 89650153df3757dca24d7d30747eed081f29bb024960508659ab8ba4cd1d5e9712c55dc783bf0b4f26dc13986b2c6d5c545986c664269002e680b9e80777f5384ae879e3d1d6ff6edb88186433e4bf1a7c9c24ae67e31825c1ca +CT = eabaaa8b58d341356c6a4e5d1f2eb47c3de7d2984b9d5a7af9f6a71b53aaade4 +Tag = d03e111d0f06eb11 + +Count = 5 +Key = 2016ecf715c085a356e4c2311a57729d +IV = 28 +PT = a70bf261f82c1d1cee64dcac1be1ff377f04ddc1ee4665d9239e47b25bd1eddb +AAD = b3f2a2cc4027c6179cec2ee2193e9d5627c4b4c54134785a3923f96629cfb3f4d010fc5bcff8f4e73b1a13b5d113e3d65ead83629c9a9399560c3f51b7d4344a5c57d668ddd46d48c53b98bc2fe02861acaf2be934f3744042e8 +CT = 0df0b2d56f32ba8b0a9890c39567efb26a778f8110799a7cf2cba6c5cef637d7 +Tag = 61e5100585267353 + +Count = 6 +Key = e9a924205470b9db1a67caf6983c0780 +IV = 75 +PT = 30565ba77fac5769d4c285fc300c7ad93f85761cec784baa271d23b4b9709d67 +AAD = b66c9b8728e33ac99cef343ef93010c40e552d006ef2242e5a056bfd624c7e60734c5be35a28863b6563bfef3b2f5dd0b9bf90565fb679c0c46b28b86ce3cc41ce0b433c2bf43276d75b432deb76380ac6569a74198928fdbbeb +CT = ad67aa5ef3e0ac083b8aad3865ce1768a5635b51dbbc18ec356e72efe3545415 +Tag = 9f64b93cc35c8674 + +Count = 7 +Key = 8bf0a4de9e8b4607f963d87df4b8c2ee +IV = 4b +PT = fcd82dad557aca9fa19962aedb761ba90ce8ce395564f89169f4b7bd923642d8 +AAD = b7dea512495cc5ee2f1fd8cbe3f9cf4f501551248a9346beba1b465498226936173e8e7fe864c5202c60845df036b6e06041677f7cfe8d62dfd16bf7e14f9065b730888f6218dcb5086fbc9c7c2d7dbb8c0e5a9a76b704fbf954 +CT = b68b9f1023c58e8c9b8b0be8f6e3a5e21102800ffd7e5fbf1f077ed7c1b00a95 +Tag = 1bdf2790e586e555 + +Count = 8 +Key = d4008703dc81be697e1abf5ea9ed3d90 +IV = 14 +PT = c83bc0a374bb9244897208a6d938211cd5935c947931e81a007d38b646f1f9a6 +AAD = a0a70f763f9482064631551e9fdc10a2072570a5545d54733dbe75ba637fd4c70000fb7c8eb3259fd9eaf48a9977705b1bb878ffd13ae07839617f84abfed1150341f45ef4e61fde3a454b95ae3173c76132822b75492529a6d2 +CT = 40c1f1d075d5408ca18ca13449a1f2fe65dc4f85498f9a72eca6510bcf499b8b +Tag = 7cae896cb50cae59 + +Count = 9 +Key = 035327832df131fd07ad472722a33844 +IV = e8 +PT = afbdfd5e14078b6de3338970d616463b7cc877321cedf30b6dd3d9e96439a9c2 +AAD = c36d9839621ddb8301040dae06ab868278b3cb97a0170feb36a83cddef8f8774b0b08fc3165f65e243aefb02edafd566cb11f374a9105a3e157d1d554716f2783503f89982408a07c30a959ac0526ea967204e443a83c9cdd4bb +CT = 3d5819ed5f84fa8bb17cb76249bc8f49ca77841d21a03838397dab3ed325dc56 +Tag = 40e751f0b4e560c9 + +Count = 10 +Key = cd97549b5631cb73bc1c4e34db9dfb12 +IV = d9 +PT = 9c71e587acbeb915f5def34c3069b695e0900cfb4e2cc98e27cbc6a68413d95a +AAD = d24e35091a0a651c2f926b9531e8af10d4d9b8ed3ce6e368dc3c153f5a186a81048fb2b07295b34038827bac86b39df3928927970cf357e1ddd0d2e535e37f15cc6c9dc6d24dd077bfce5ba515413a2a208f35a1961a929fdd15 +CT = d4580960ce94034893efee12da68e4c0606c9b01f503bb29fd84b82ee980a2d3 +Tag = f3d1ad5646dad9e0 + +Count = 11 +Key = cbe1ab4ef60079abd1dcdf00f2cd2da5 +IV = ba +PT = 3ecb78607a5ceee9b10fa53deb2043765d568d16709942f6d359d1f7f0159eb6 +AAD = 02cf8b1f025e83322a4b72cc90cb9bdb7a2c7705ebe70c33494946f4bb984ed5e13edf8f2b4a40786d3077dbb6f21e8478a74a205134f89543889d37e630c028f61131a6f6161043990f128b66e9f5d24b10df18b0413fae539d +CT = 77420ca11debb3469ecf00e959b2dabc12d1692948be032c829558211feca87b +Tag = 21de99bc0c443f4b + +Count = 12 +Key = 915ba2292b3d354b039db7056eb78aec +IV = 0f +PT = 2c1822728a93fdf5f8e7a0594771065ab8e5a89804896c11297c5b4bcadfb522 +AAD = 54074ae97e18db7a7207f15229d1557c009ca7538b6e8d3bed7f5ca0e699f61db7630d7e26bbdb3dfab6b66427d056df7c9cbf873feb90a555355634aaceaaa8547ff96e23febd57dbab0e2b6c340b025ea3289e31e108b1d08c +CT = 272ce8756e8d8d1fa0acde167c24afbe02f2ef6d4f753ac90c0eb971bf948937 +Tag = 5e8174737090fc3e + +Count = 13 +Key = b8dbd80e30585b516afcfbcd9fed2316 +IV = 8c +PT = 42b98be8abf4a027144cd9331993bb54c3b52bfb902b59b96967074f0f753e5a +AAD = d2c2607765524e5d851cf6de23a751e78e469e477eb014e7690cee3421113eb6061dab0297f06e9f98f102c833ad38a9c80d5d678c91ce899d8b01ec19c6a97be2703361db4352560e25c117e46f18a68adc9ac944d0d48bd3c6 +CT = 6812ebf9372f80207451fbb6506a5b310ced859f50dbd616d671e2b145da9012 +Tag = 8654040e9dbd8bba + +Count = 14 +Key = c1e1c83449ae2099ae17e3540b32b57b +IV = bc +PT = 7ed98bf7525e90f41ad1358abb96a391f55e1e702a27e43c37f7e93fd697875f +AAD = 906184241d36c2ce2d6bfc1ea97d712992f63ce9ad1d793bcad23ef523e3744ba940bbcf6cf3ac0ce6d2547ab49c84b19f3124c5eb09bfcae6d9d4de5abbe74e3dedc94b6a8b3c319bb2ab9cc0cb365253b96d79700aaa8f3b04 +CT = 7994f853a7db07887669dd99e5618013479f58154c9539c242a79d2facbaad1c +Tag = 524afcb0a4ec28ed + +[Keylen = 128] +[IVlen = 8] +[PTlen = 256] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 648868fef2a9f7b464d7f6cc2071bfd8 +IV = b1 +PT = da9290eaecda1acb223123fb6eec91199acc71465be5a311bb6e57c1dec8392e +AAD = 421954bb8572d285edc70b5e6e53541ea40042d3dc1bd4132554ece99de68b114f189f463af7cb69efd73af0c0f6532cd88fe495b676036a33bd2c1516f6b4bb6a40abae820675ebc3ac0eef10f2d3c8d1cd387443028dfed04b +CT = 2d9c99cdffcca8e2266b3757f9fcb79457778e0cb73876efdf9b13f8d0364afe +Tag = dc5844d2 + +Count = 1 +Key = bd5c3d05e9526cd13a2ac40d070740e8 +IV = 95 +PT = 866c1bd666dc85ec1bb89e77f44e6665c59850a753f19ea6c62b49ad570295f4 +AAD = 6d72a18c1d4ee43b4e56219e0c8d4b6bf7bdc84c9a4f9d4e0aa9fd87c3b6ccc137322f1d56f734745578f4d4e432eaf189821c3d7e5601a49cdbe2054d4f76d80b5188ade612a6a71b6bffd4964ecd4c284c91e2b5c31521ee1c +CT = c9da7ec0905295ae04624bcbe4b8e26ed7c13430a5099517dbcb274010ae0463 +Tag = 85213b51 + +Count = 2 +Key = 4b6acd363b5b938545e83c4bd3d496e3 +IV = ce +PT = 3cd5374bd6624e9d6ae97035ca6b1f270c1f532a32da5e35d7c95d8b9ed5aac6 +AAD = 30e160a895c849c3d97bdbc39c6d6e1af8c0f86ba5945ec4dd433bc036b043560fe8d8087973ea9435a60ec9e51b02d5f1f8c94024c04a1a3f3506135de15387834079ea17d578a34b733c171443f0632e9aa699d168c0fb5e82 +CT = ef725a55dd0b4da9aa0522b69baa082a5bb87e48b641de9c6f67589043171859 +Tag = 6a65cffe + +Count = 3 +Key = f9036bbead61d19f048baa2fac504e6e +IV = 87 +PT = 0de547cb90d66e5421da0c13da075ddcccec12ae34e46ab76a6a43fc3bc505ab +AAD = 1a0320395cc378d00b2d9b33981647ff7b8dab08fe9e0b739106933596dd0c6a14f9cf66547b7bd0c3b6d800af04f86f2c58747099ac4271009b730d70ed3da19ae586ff91a487997d6c7b93bfef1659bbdc9def2d7c801a0b0d +CT = b154fa4d70849884d4ec0aa46aa4f498af1140ea92f00d854fb8324d1dd75d79 +Tag = 16cb92e6 + +Count = 4 +Key = 38572e8024cebcf31e5cff1b3618f38f +IV = bb +PT = c61a4a96e91753019d22d1d8212cbf3d2b92ccef669e27411ccb1234f5289596 +AAD = 785dc2d830c0d57f58f15e550f629e65d88629366217bd4112d9f305e3dab6744e63059221739f1543bb0d271c92f1b318c887c04ab03743ee76fed431408cf4c82bf4fdc6dd15f650a57135360faec0e71b6c3f7aed403a1f05 +CT = 86f0d9cbd3bcc9c254d68dba20934e4088b11663d39b0d051219958269cac044 +Tag = c31efcfc + +Count = 5 +Key = c4d9023f947eb12126ff3990757a95a8 +IV = 02 +PT = 716df6ec017627bf7c039667450932ee1209eeab33330459e57ea2f5e4ba2088 +AAD = 606a458c0b582d4cd10708603e46246991ad816d99f160d9e8948dfdfb224ba701dcc6f60154aa31110a85829aec4736696fe83aa253d55c7981db7affa32c4cbcb988e196ee86803c6cd04bef18687fb2785530f700b11af24a +CT = 32f33ee335e18cb67aaa21bdd278918e28af8cda1354ba9c6cbf073de67fe54d +Tag = 5b3ea99a + +Count = 6 +Key = 856e3799ea642c80f7eb3a371842fa1f +IV = 99 +PT = e89f897e1e77c8f3259ed75bfdb5757620207d09073b77e39725c1aab87dc0ca +AAD = 1903de047e23c5ed52216ba41f471aeb85296b3f276019738a1fb03b7c55973647d3611995908596c85a7833967643731507e576bbc72bc7bc8ac4b4bf07e00c475aa112608b4bbbfa9fcac56a94ebeb630d29911ce2073dbad8 +CT = 256f9a2d7dabb9ecf012132539a015d974e95466cd597e220bae11bc97399315 +Tag = b8d6077b + +Count = 7 +Key = 426461b8289bf8bbde3721497c0dbab3 +IV = 07 +PT = 9d6bc4cd96b086bd1aac27a445dd874ba564bdb7392a51ba302f400c016031a7 +AAD = 8a0265fe9e25bdae3965d2f6980b5e481b02e9a067ea9de6e65f75513a5e4e9516883b914d2f2d60fb856d8b42a2fabff43095b163ad6f2adb4c658ac4b4cb172f8d574a87d608a9b3042b64a3ae0c5e5a440c13eef245bfba73 +CT = 03143549a97244b2861e79a68e90a239faeb41db650f854547c6a643fcb13a01 +Tag = e0986594 + +Count = 8 +Key = b8344ede54e109455d167d4bf9ad4512 +IV = 8d +PT = 324edde0df4217d1487321e1d4d1f2966460eef15f441d6d0859ac189678fc9e +AAD = 303bf90dacc61938ea4a8d6ec4d7cb4915b7830c840d8c5a8ab2327739069a8d1d71b1c47888a26a8e03ae3280b2f82726bd277ff580b1438db45b3557d3e442cc91fa12570726a592828da00f6fa763b9ea1eb00130527153aa +CT = f01f9e7cd56458bce24d80fc28bf4c9797303a20251e832c6cb46101d4e528c3 +Tag = f05f5798 + +Count = 9 +Key = dc22bf529b6a6eb044a9e3aa082f2134 +IV = 65 +PT = 0195e787fd738478d381b2362760db094d51d00770d4dac11046297282204420 +AAD = a9eebd51aff0d67446f2ed4a32079f01f9bade8d768e55759e36dfa05d017b569e132b24e61216111dc272318b9256f104465def9f2f7c9d3a2796fb3c42a471a378f39183fe797c676f413c01d1d4ab93efcb608f5fd53b5364 +CT = 443feba97c34759a510b1d23dbc3857a10a3a5fa017529b0666ff47b4d020f2d +Tag = 2a012a3e + +Count = 10 +Key = efa1d4ae2688082d66c6d1d8df4146b9 +IV = 0a +PT = 9759f392b4134f0dc7e499ea3b3ef54daa7da5e9dd8177830a5969f23ad68684 +AAD = 8a6c0744ac7e10a7e9dc6c1067976de8fc80be5e9afc77150e37be6446602647a97b67cc7a979bf47b2258b590010426898cf00f0469c9df6c160e7c133e1202e5c8bc2aab8d20c32d5a392ecc2dd94881eabb2a67a97b703a3d +CT = 1052ddae56eec934ffb520dca334b89d4323572aabb8328916d4e682cf753248 +Tag = 36b8d25f + +Count = 11 +Key = 7fafae4ecfe66ab19d24bfffe4d69085 +IV = 54 +PT = 798857d3b11373ee896d5f99df1cd510bf8a463fc9094087b8edf6b163321f2e +AAD = 0ec1c3485ac82d857ff5f508bc508aa9c038775c8228fc03313644d304b898a8b067da8db7d043d6ced9dac4a80766d93d63e5f96b95e8a2701f9fefb175ff3fa153df2b0c737abd8dac29fb07f9ec4310e623c6364414c353b8 +CT = 55ea5b98b042a3f68f817be9daf3aec8161f9600a8ee6ece288c1e615e9428c6 +Tag = d074f536 + +Count = 12 +Key = 6d61f6a1c5442115c93c7e1d92040ac0 +IV = e9 +PT = a7138281c799d3bbf863c5ea3140b4022b9c950575a72d14a05244bc54cf6067 +AAD = 96234657d46c49d319e40397550199c21fea6b4c7be80335f3869bb5f3cfd8e64b4c7f1f8d75783ed74239c14d153e371ed970cb41d3cad08d351d1b266fd8393e979dd33ce7b581de4f9629d90d0d5801cbdc14d2502b7df155 +CT = a7af0e17dd847435ac0587d05bb81faadbe0ad74eb4cbbfd5af6dbcda01f93e0 +Tag = e1c9827f + +Count = 13 +Key = eb237d0bfb98a8b59287397d088b80c8 +IV = 89 +PT = 6b43e33a6cfa5dc3ca01c73b28b875dcd6a7d689ed63af682a6daabf8bf01d24 +AAD = f7b9f98d8d03188954c1feded7f974a564f90e108277150f6252186b5ee63dc2a8192853a7c914a3b6ae60e1b0a64d075edcb0ef425a618b1ceee98d7b6880837b11b0890ddbb7c58043904fa1428f2c25779e3b5cf45e1ad6fa +CT = e4b993a85555a078c470d443ed8454157bb75b3d33cb8da96ffbfe73e0b72a65 +Tag = 6ce42969 + +Count = 14 +Key = 709b583e85ef8680d9ebe608af7acbb6 +IV = 0a +PT = 5af0976602c3a467a34e6a06caf6babb4aec7f0773d6f0a3871697b431588385 +AAD = 62dcd6aa2f2d1759f0b668c320b5e1a23da6f6825676e6b3a612a92e3ca0e4e7f5f6b844d09eb0a40bfd334df5120ba296158b9dac7d454bcdbaf4b67ad162a36b4278db430c33819cda0eb5e6c56d5f864358ddf9501a5aa3f1 +CT = 01e9efcb5738aa2ca1a17bf2d999fa80e0d86e208acb5437820176e7171ff05a +Tag = 60f6b1ba + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = effebcbeacf4a97ca217d6ec39e2182b +IV = 00 +PT = 2ad27f9a94f1385e5ef2f56019fa5a8d19998370183aff6cb4c9859e8c3b23277493485e27158abc183790652d1ceecbf0bbbf +AAD = +CT = 039865e7df43efb57207ed9f796dd9dc95be55dd8b754dc0f554baa4491c5a0b1749b8c4aa99eae210c43b1576f8ad297e189f +Tag = 5a69a006b3285aa78878c6531e3aed2f + +Count = 1 +Key = b5550c5904e46ec2917249503bf7e208 +IV = 64 +PT = cdbd923cff2611041e5ac1b887d961c9ce078c360f125d68d2099b99a63696ea2b1e64a9ff3118a14371b076bdcd9c1d01080a +AAD = +CT = 98872c92b2224900fe1d8ceaa9b6162c11c64487a24bdf5c31675f14584a164aae7e9799cb596fb8fee103bccb584ef14a83f1 +Tag = c05dbfdc0cd1f424e65a333769a3479e + +Count = 2 +Key = a24f340bc16fb9ba89314ff3a0f6e027 +IV = 07 +PT = 3867bc2c9b5af78a4c9531fa5a273c6f329a19d65280f5c6d515db851a74a17b071ba117b4f9b70421883b57aa4d8b70befbd4 +AAD = +CT = a9987fa73389b9254eaa506a4239a0016f76236c91c587eb196b790792dbe86cf424e758fd35669cf591e51659bc072ca0aa0d +Tag = 5a9e485c3a6c7fed5434c75f4cd7243a + +Count = 3 +Key = 44e31d6dd4b19858257173cc7ce4c3fa +IV = 2f +PT = cb86c7d4f57a2eb1deff089dce1116dc4815e902549121ed03f01e38fe18f3ac6efc772f558d74ee0efb590280a614d499633f +AAD = +CT = ec6935239a45815398a58621490449237376068f24cbd685314a30fd975f5f7e3cbe48dbbe871d86a284ecc5ebd9fd20853f9e +Tag = 14b678bcc85197379503f9aa9df1cd9a + +Count = 4 +Key = 700d70d91e2fde6627f16260d507a618 +IV = a0 +PT = 95578e7d05d4c8776bb21dda5001cfa044866509e1824241a5a21874b6c690af4eed192fcabc0baf47a542e7dae22eca9e2236 +AAD = +CT = 1efca5bfe13888816b0bef83ffa748de9bb678e0b96b692bd5decd1de06763a5bad7e57e418c19fad235b84cbb93d796c4957f +Tag = 63fa403b5a111653e636f454bde7ef89 + +Count = 5 +Key = 8b3e298ac0e857862db33a7d1ddb9526 +IV = 75 +PT = 705779e7e8574269fe120df6d10dd00933131e929c0e5f9e0cbd32b7788c4b9177cca19e0adbea867fe3253faf819e17e967c9 +AAD = +CT = 5f39e89ac0e73aff8352bef9a72bf721360371d7ab76bd83887c5672c969665f379171e49e5b893f08c989d77dd4fbc395d063 +Tag = bca4806b9ccdd2b65b2aaa94df88b0e2 + +Count = 6 +Key = 905a1bb960e7a01e5d0016bf5d1ba3f6 +IV = d7 +PT = 202ee659dc844bfeec3be792f26d384d99452a9b68d402f37e77036900b71ce75fbf02e9495c72eeb3ab1064ffdbd8d6f3c963 +AAD = +CT = 9a315340414cc779e5c9ad0b7f7f2790a37d95bbe20accdefed027d21e0e690d0d625b062f5b5d0f559c3943af40fbb9cfeef6 +Tag = e4c2255fb1cf89a36a8386a8b38894cd + +Count = 7 +Key = edd4464d416337795db5e5f24594ae12 +IV = a4 +PT = b100a5cb5e79b41c8c330855932f403aec5d373b0c9b58a692deef8357f9ce4123c229d33d6a47beabe030f20507d271247fa8 +AAD = +CT = 91b14abaa4ada7c235b1a937c006c0f99e439c77a3c3476138615b359b85217f12c30d4fd6055f0a8b410062dcbf708f0f76bd +Tag = f4bf66f022123a74c81215fb2e41afa1 + +Count = 8 +Key = d4148731a24b4c24951c45b5b327ede1 +IV = d0 +PT = ab7f5059c2fc078088f2c7b324ab3782de1fcb5292f8720f1b2d19791c2a6668c4c753e0855b9a6bb12044faebf7d751b6826b +AAD = +CT = 64c9bdc1ea9da822f6a6cf77a275232a367ff887b127af77d72128fd96cfd70a56f32361c6cfa56d5bd9e66acd83f6b4a56295 +Tag = ca63873fb00c46e1ded61bf3b7089500 + +Count = 9 +Key = 75afd1d56674bc575e4b749a67bd0d1e +IV = fe +PT = 6e865b1c1d2dd0e6378c4eac23a613da9e42e70dfd48aa8ff0fc0918c01c5b8f26e505c66676dec6ac07d7a148edaaee0e8dd3 +AAD = +CT = 53af00e13ef6ba7871c5fc17d4cd5367c62fffd4fe100d09dd0c881bef599e84acb97f90103a3a36130368b299c16768648fae +Tag = 5a4b2170150c3c0a1ac7578547086c40 + +Count = 10 +Key = d1bda2719fe0eca4530cf2aa8e7f1463 +IV = fc +PT = 7920d62d593f7e268ac5534f6e6580f50b8ab4ebce0306cba69d954ea75117463602a2f290e443b1adbbc6f3b47f0c056c9022 +AAD = +CT = edd00779e2fe8393eed4b92108a0e2402a76bdda09cd39efc13981d02bff686c66afec653bd99b473d56302d22ec18835502ac +Tag = cf3265111b4c73b7dffabfa4c7935bf6 + +Count = 11 +Key = 0fa2c5e2efc6124bba000fdd8937616f +IV = 3e +PT = 045b6d738ae8e4da7fba5086566584a55c2f6a22b3cdf4b8be13a675a56d9359bcfe4f8ae3664f8c9328b5171138d95564062c +AAD = +CT = e7798d1942183e83a2146e473a7dcd9ca4212ae3521a5cf95ff3ffb7069bd590824fc189a76b66d3809860230fcd0be0c77d76 +Tag = 8349b1f639b2d55d99d538057aac262b + +Count = 12 +Key = 770b6262dcc03549e0808e18316e6efb +IV = 12 +PT = 7bde38ea0b736e243e18678b9b4f5b300d3e322df9a0b87838afb474fd6aadbdd3f97df207e45baf337ca70f5ae820353a0015 +AAD = +CT = 582f1fb24211501b82cbc652c54de5dc60e60cdc81e777923dc85252df5b1bc41ed55a320a81f646a0fc677149561497b863dc +Tag = 7bf68ac8e3025d497cb4b75871cd7ff7 + +Count = 13 +Key = 4401b38c6283ec1b909060f7c4659876 +IV = 09 +PT = 91cd1fd4aa862ad58f8af6879738052dc6d7f9c4f1813524a8f33187cbc1d5141b16da82fc84eacc9e4ece0feb716666a7f5dc +AAD = +CT = 9239fb9de32f24efcb5b7c88cbfdd81f27b3a5ee676462ba4add0f54c79d911bbc7c93232118622984b62af441d1d348698403 +Tag = 03c5610e1247c951ec2d36b7b4e174f2 + +Count = 14 +Key = 7c52843e1efd6bbf79fb21ea1dca3099 +IV = 41 +PT = 8383e059092d6343ed1da6bd4d1f03cf5d64a92bceffa9c1b513b361c16296a2ecf7f2e2481d5a76957c062049eca11f3e029a +AAD = +CT = f766702eecfc2298423331de4aeabe743a715d2acf92872763adc33da87b7e10f4417ae6b1adfdb7a624ef0af70ccbe6a8ef08 +Tag = 45b1019e7fbd64640070a98c0706d472 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = d328fa57e6611393b4ead67c34a3a279 +IV = fd +PT = e7a81d19fc60157bd7b0e8e508e06f6751b4e30aa108c6bb871024418ab190d8921f57b754655d7ecc63445e348cf6dc796d4d +AAD = +CT = 63fb48fcdeed626c11dcc93e943f0a468ec49b917aab879f19e46db8395cb8a058d99c2ace994a96bb16e15a4ba878b9812967 +Tag = 7047934601a9ba9081ef7496cc2086 + +Count = 1 +Key = 4a42d905e2cbb701a21e61dced668e0d +IV = e3 +PT = d9cc7c65bcb64884d8156687d967d74618775b25285bb78b99d995abc0adc3b9c0279407cae09787c8218b2c144c3678fc7ac7 +AAD = +CT = d035eaf429f3d46244ec4b0edbdf7e9285068c0eaea733232b3164a9eb6075a5e037d709d54e9c33f5f0fe3dcae62769daa7fc +Tag = 3c592a623baf8172232d2ddd7041b3 + +Count = 2 +Key = 981eeed72f1a9e9b7f412a49e4f53a82 +IV = 1b +PT = c9f9a113d74d805d0e415f62b1f3efb99c872adaf26151314554459fc8c67a81b57a81f8db0bfabf6e14ff3e1c71e4d126f966 +AAD = +CT = 3717f6d0f71e3950cf35c1b4c275fc2b2dea0d7b50ba732a4d7577bb5688bdedb3abbdc0e72db75b58ee295224be26bf16d2ee +Tag = 995910e97c47e2e13ffbe2f89fa059 + +Count = 3 +Key = 49caaa3a6c073dc5a34d11eeffd9de9c +IV = 05 +PT = 3bd0dbba5ba8237001d7043470da18cee5d6938339ecf2d6e2581c1a9d24092a7a5e6dee75f8ff46e48fb4390b46327a39bd5d +AAD = +CT = 2393f090a92482f5295dd52ed8f56509d4abf5de2d09c0e566ea924ab63754f863085345714d863b648c21a70fc8762b3903ec +Tag = e64bc8d7a5634af28b56affe772902 + +Count = 4 +Key = 663785dced3f744cc688a350a1170f10 +IV = 3b +PT = 74b9aa05a308fe292ae9a5bd1dc24355ff5dc6106a9a1b75385c1021a93e925dbfc268cf481c2f6c071be556cd04b51bcae12c +AAD = +CT = 185fecfba1123c586704acb6f70dc1dad14da4f5f2c2d15a72143eb138944d74921b38f9da5dd44d82bab4d2aa680e8827b0b2 +Tag = d91a1e2e742b06041be884bd56e6a7 + +Count = 5 +Key = 4db47ba193223f43e73a6ec10895ba76 +IV = 6c +PT = fb75b1840022e790c70bc20ce995cdcdc421c85cea8d3db38c20a66b20224a20417b0d460bc62c822b77e4f3e065a4d6b515cb +AAD = +CT = c0588436724e7ba37344ed442e1c28279f5b712df528057cf7b7645f491854f4677f07ece3ff48b2567e8bb4c9d850cabea622 +Tag = 32a147bbe012b8797d3d7fa223e963 + +Count = 6 +Key = 1efadb9ee55754eab129a5fc5a0d20b3 +IV = c8 +PT = 320ec4e65ff55eb8d7729a6f30407c3915e07ab6f98ae0ff0a19997474f69d63a1236b686a2a943837727bd45e46350fe6ad80 +AAD = +CT = 118c5b347ac58a0ca50b683a4ee383715c21513f951911dd9af59caed27dce6cb05ed0f360949902d2342ddc3050324adfff84 +Tag = 81aa6b3f77a8c652095ea98de89707 + +Count = 7 +Key = b9e5dac82aefe09c04a528dce19be093 +IV = 34 +PT = 15576e8ca569d445885b40ec121a0b16c6aeb781c7b2952bf03c607b6ffb9c77743d67e8ca1138d03448b522600a0898001e87 +AAD = +CT = f451ce337a679a1991e4e2cf440581f7c29f55dd0972cf3a9b2e4abc2bac31c25809c41a51330825c997507b6a8929d816240b +Tag = b6d57aa45d33abd25b3405dde71823 + +Count = 8 +Key = 08501c85a4a6417d617b928adbf6d492 +IV = 34 +PT = cfed92129984fe7fdd5fe8a4ea651e919912aa0a3bc5a208701781ed35a6d5bd13233e00148b8919ba21e1cf0432210538f6cb +AAD = +CT = 08921fc57f9791a5d21f78daf1ed419c3bb751b99460ab3786a7faa562a5596d9b71955662fad59e4857c272ec7bffec156250 +Tag = ef8f055e70f51172a7ba9fbb5c47ef + +Count = 9 +Key = 291bd5e88d7b894ae1e3a911d62ea87a +IV = 16 +PT = f3a5e3a4d1e4c7a286f114b9e2bc6dc55f85ec2820a75b325e4e98fb929aa8895bf01e56d55ed0cd9211e4a97f179542a0a49f +AAD = +CT = 26599de2ddc860cee914f2989d85e2470fdf4b5d96600df4038cb2040111563ab8feccb0eb0fb39eccc655715ab650f67555af +Tag = 3fcff13d25179cf220d64a6393aa28 + +Count = 10 +Key = ec031638a87a9a2b4fb6b4953464ff52 +IV = db +PT = 0a59f08dc6e2c43acc9beb45de7888749517151ee6f0ab8faf26972890150d6d882d64efd9dc71e62456dc603fd6c8253cbedf +AAD = +CT = 5e75b433264170d33142d532380c4563052a7a98d25ec207ebbba3b742f050051880398062f9cf348cad05419d2b7af023752a +Tag = a98ea99b1fad14fc493ba74fff1ca5 + +Count = 11 +Key = fd2042157b7c37df899dc854a09eb729 +IV = a0 +PT = f58bc69535c946a3444ec5ab773964bc46fda0ed3b624509965feef863ff82b8558fb47189e805c3fc91e5533da517629e1f0f +AAD = +CT = d711075e93fc9ce9f3b34c4e41a2e322fb9d335a5b769f5af84c2a5b94f682efda7255da9ebab6a3227ddf6ba113db4e771c78 +Tag = 17bff74d910a27e413708e1826ba67 + +Count = 12 +Key = b02491c79a243c4eb2837a2b4e2499bf +IV = 37 +PT = ba20b1a54aefe99b77a945f7ebdf08550648411be266c2c185fea77a5b884464dd401b7d48c04c2d37d9354738de1ad4637cac +AAD = +CT = b14cf4e19e6cc7039ef8a6c6ad50aa4f4d43efb685308f051018a454877aa8553807a2d4bedbbe07d34f12b8dcefa8849737d1 +Tag = ed6ef6d9630bd611cf1da273b72d34 + +Count = 13 +Key = fb764343ea7b11779f898379372d482d +IV = 70 +PT = c298af446d692970ae7da6f9daf263864f5e2b7a76a36e05d5804e0edf1a9052dc62fa0171cd7b6209afe44ab2067bbae5619e +AAD = +CT = 8ff4b81f39bbf8d287289846b6471a61df865b447fb266cd3a4012b38d66f3b1f7901ed852e043a6795a75b454c07daed25a5a +Tag = b50ca44db49b9181ae0eb31588ee9f + +Count = 14 +Key = 37ed87e5bba1fb3e2066caa49a0a35fe +IV = b2 +PT = 940184a5dcd5294a5e9a9a287b5c700742edfeab730bc8bdcd321b20939cc36853837e82ba5be58813902df2f0b67369e3a3b2 +AAD = +CT = 724680cb05dd29798cd913b6242265802676fdbb7afde31f5055310aaa947b374e25d961f0faf995ffe818f5a36ac779669c16 +Tag = 250c629c06acc809c9cf4c85e0d2f3 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = a7be76b26daf2e688220d2082fcd8f46 +IV = 28 +PT = e3ecef4b9c2e40bf18b6a2bbb8ca0615468c6f6b7100a3f481a281b9c5531613b489fc27511e481f73e3a79d931ecee160c988 +AAD = +CT = f1205a14bbc3237db7ff77114ab0b69b95e58fc5cc14f762afdf4e95a4484b102c1eed238742d03fd889e9f35e06388c0d207e +Tag = eff3394118382074aa4527b4f340 + +Count = 1 +Key = 5fd84ce3d4b55aeb1c08650268fd29f6 +IV = 03 +PT = e2f41dacf6bb67e305c1706eda77b9a987dfd0cbfee04726c699c325f1d4dd6bf4c22caadbe2bda22ebd3b8a356541f49a5ec4 +AAD = +CT = 98d7ec5bb4b44c16159c986fc7147578537e94ae09efe5c494bacf380d983af47f135c0cc1ae8b65d734efedfb1fe11ddd5b5f +Tag = 4eb97565729b0ea7bcfc0ebafa5e + +Count = 2 +Key = e13aa626c49f7a637a9d625761f0b71d +IV = c0 +PT = bfd1080283d526af49c7baf1f0d404917b78a75d05bd7c6fc69b6733432ca6655de362b4a9216a0136eedcc6663081d55f5b4f +AAD = +CT = 166bd6661a77d3954293429cab0bcac8c2b178a91a1bb4d3bbd9ee241217583f2f166ac731b2cf18646934c70abcc4ed45c16b +Tag = 7e03a80270a1a886365704d2233c + +Count = 3 +Key = ae41150d0eb3855f1239f59b3c658088 +IV = 34 +PT = 4c0858bafa60332ba619bd413f4095a790538cbc7d47002b70cdb3da200b86b694367276e425b9bc5dbf84f82606f2dd0a2aef +AAD = +CT = c3bc493239ed1f408ff3e08fde4e77cc684475135ac90467481403fe9f360ea74c698c734b826cd9f76250e78a4fb2b73bf697 +Tag = 334a2c52fe5259379a603513e33c + +Count = 4 +Key = 62d928483678e73bd786d4f4d5e8df6c +IV = ec +PT = ca5fad505dfc9d2a4045189807ddc3b5812b388a0a2eaa6e96e9706cbc12790f3a8aab23b1c0d0dfd634906c061599f3deab16 +AAD = +CT = c520e6d248d0e8f636e652c2d587f4137a3df3f6058593e4c80c26d542dc0eec3120f5e79b1ac9ab6a61e6d1894efca125aa39 +Tag = 36b3dd34fec279b1d838b2a1e084 + +Count = 5 +Key = e7988ce2938a2b5f0481e6ef0dfe5003 +IV = 11 +PT = 87570c8103727af3f6595bc936b5f7b5168d78096ced067d61a6644208ea6df3edbe73b5d3b90ed7cbae9009aa6b44fdf5105d +AAD = +CT = b1b2fa392fb62f2a5cb4884416d90baf3802f142494e6bc041e71327bfdc6886f9031355c8a8a92fa4ad2890488558d6ea0fc2 +Tag = ba8ab8fd6e41201ae5fb114732bf + +Count = 6 +Key = fad52bea8e241d22d41185b5fff2fc37 +IV = c0 +PT = fbc5246a99a7e322cee5bb1f0ce4ece6b091a363b2953e03a9e82a70b4e883dc52e47fd30fcddaf777fb89f9a7a61be5dfb0d3 +AAD = +CT = 31243dab14e8dd98aca75c608be7154c6fc16c8495ecbffab2959e2b2f8c972efa8b10c6c1ed9c2943aeed4f993b80b6fb9ed3 +Tag = ae87414fe4997797fdc7d85e7447 + +Count = 7 +Key = f5a63e3d103f8988da09b93b4395bd0d +IV = 79 +PT = ff54bfc6efd9b8324b9b489af7283f5cdaf9eb7e02d216e329d11c5611b6c1e7b7549923739ad638a9d83e22c747f8938d5cb4 +AAD = +CT = 74d1cd8e044817f3cbcfd067702ee6b81d1baed322f25a1fc80b39f2422f6e52a5d1b961d8fbc18685e0b7a9f867467023ffa9 +Tag = fe1c14747b5dd4da5b8a4a56197f + +Count = 8 +Key = fa400b6e23bdca3c233affea26fc37be +IV = b7 +PT = 553ee4d08a1836541e34a7a3356fa60de9eec3edca628c92080ecd8d335d3f52377c6c5f93a05482a738903bc2b3d72152c98a +AAD = +CT = 17e40615efa8e0b13abb632d56daaf350087e637df708d36574022215104574fd0612cab2207e29ce8f98dcebceb7fa7279d48 +Tag = e8d74e64d9dabb772a47fcbd91b0 + +Count = 9 +Key = 1fcc84995b306bbe4f9aea358fcca187 +IV = 4f +PT = 4f8a5a61ab9eec4f123897cb0e0756fff691df0fb91fa2c3a6b8e7a273dd2872b29f3510c981d5124cf858d9a33a53d95a0e7f +AAD = +CT = 91289b36df21030728e4420cad6e1fd962063a9939f0e86c772e2873db7d683b4ea0e758f5dfd9392aaeca74b3d3b3e654cbb9 +Tag = 9736d435012e42a5ee720c99af31 + +Count = 10 +Key = 6d48ef0f81cf2d050a0c11a50ad2c84e +IV = 16 +PT = 04a814b53f0a809d2404d3f01a33e9139d95e441d235e8267c8a22a164adcafb22de2af9c52e619e19f26d969f959a153b4bd8 +AAD = +CT = 7fae9d21675d9dc699e203b9f9440de5906d4d3ab8611d915d9d6917ecd42fa2b54005f9f4ae9d8dae51c4b188613c84c3667f +Tag = 479e211ae5f8d5ae63ca4e0512c9 + +Count = 11 +Key = da03e6ed29b704e5d6e58259943fd154 +IV = b8 +PT = fb7298d1a43b079cfc43ead43d54bc86180c67686a52ed98859bdcc5ed4f02fcf07fa04db7eb093493c572d1339c390e56274a +AAD = +CT = 980a0220a7e8e7e8f564d9af88fa6adefa6a86e0f0e09511c5957bc29015ad527dfebd2a9c84ccce196df8047e02169686ddbc +Tag = 0cff858ada4d836b1a8aa86f4517 + +Count = 12 +Key = 17976277a5f3b0e9334225679fe7f57c +IV = 30 +PT = 42cf415e7e1852eb005b8fce05443670da425bf793d24d40dcca2e5528186c87431fb70a06e4bb8cbe4cb037cb2a205f7bd148 +AAD = +CT = 185d88b2dcbe768edd561f10349e89f0be85fbcf489689b5f671cb7f20f3041e54074fdde17fc3f13085b16be1e3e86651bca7 +Tag = d8ef75a4b8e05aa07cc573f7f749 + +Count = 13 +Key = c00391bdac69020dc64f198f58d7f2cd +IV = d7 +PT = 288d24a7d7c5caaa59e60478c4977d76f9cb957708e27fe4d90f1c8d7e6f9b6e7098d794e03f5341c3a94eec852d321ab4d8f4 +AAD = +CT = 21f4bcedf262ce9fb904030b09236684470a7ea1241992fdf69bd50156d3a2789f38b7207082478650031bd2c684ad42889ebb +Tag = 551d2d4912688b4ed95620f31a60 + +Count = 14 +Key = da93674a8c28870945e0da09b8549f5b +IV = c7 +PT = 528d4a6c6fa987579110e91b9fe3800668a669e66932129f44413226e059e8412d4bbfacb7d7ecb2439f957b46718e8f4948e8 +AAD = +CT = d73a211b1f6576361791397c0ef370f8c10487f6ff8039129238bafe1c21646b3b992787f47253216b58eb37d66b539d72128a +Tag = 95ae8ec1cae0c7463002d3b724c7 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 299796cea6396c383d4e3700c17c70ba +IV = 8b +PT = 5f712b23d1678023e76cb9ced9e361fb07babe1385ea4ffeb713b8369025bdff060fdbe6ed91c542615738638affea43f02678 +AAD = +CT = 33bd6432d280f1f824b65b0c7c67d80fa6abbfcc4b748e0f8e04ba7ee2e18a73f793db4be377972cb6efab5311041b16c5dd2f +Tag = aa1cfdf82129d53c09695904c1 + +Count = 1 +Key = 5770b1d0f33d5208501eae2712324757 +IV = 10 +PT = 9f36c82b62ace28e7328de7a649a234d8633be8e16071c7e92de3415ce791a25d103d7741c1854175cfc8b653557c4f33ae8d0 +AAD = +CT = dca42bb3fecce03b77173ef7432b66c192cbf5a9870fd0b34bda978855135bcd3a6bd29467cc27961ff1256e1c69cca17deeb5 +Tag = 3e2fd85e0c26e95df983be77dd + +Count = 2 +Key = 2adf0ceae5d6fce1bbae78629aea031e +IV = d4 +PT = 5eb5d5b169f55e1c55313055e9d6499f7fbf5e882dcf83003a33d26941ae985433dbc78cb5c4bfbb8868ed22a3f81265d25ca2 +AAD = +CT = 39013d40d1a53205f01fd7eaceaf7f12907623bc04c7883c782a54ee26ccba0598ffb60671852881c6dc2c44cd67b3728abdb9 +Tag = e46a553a00b7268118a0afa1b2 + +Count = 3 +Key = 09a3151c7683129a83ad1836dc03b79f +IV = 6f +PT = d6ccfdff487a3fc0490588be9fb8fd4d105aeea46b591ffa38c0cb96e8231f745a08b9a43835fc49659ab894771470b1250dad +AAD = +CT = 489cb652626fc9c3897a759c3247a693f96ec61c5fdafd746545b90e9774788bfe865e820593288316012edcf1faaff9b8cf6c +Tag = 38bc60e116dd1f372b0df3c577 + +Count = 4 +Key = 6d32a81c713012bd538e57689c7260ca +IV = e1 +PT = a83ff3b5572218b7897564e5b41246dbdb9b342dc3670a0e778c5c007e24806341e27feb8147d4a032f4f093aa62d9b7e1c20e +AAD = +CT = 74ad2aa5953893c60f5f47b17dc7bb0688a9625bce792ec452a67aaa933ef2646f9ddaaf963269a684fe02f2c1a3347aa66cf9 +Tag = b9a65a357de882251f91cc5265 + +Count = 5 +Key = 5ed3c727352f609b01a5e6df33f24041 +IV = 7d +PT = 9ec801a11629f24d2717bfd74e8f801ee690c023dc5c2f86a70cec46abd18a33868576750cb05a6a7ad490846d2ec446206ea0 +AAD = +CT = 4d70ac9d67801f7ef3e34eb96428592bcf66eca24e6b64ceb4ff527400f51c92ca8f65a9b9b82ed3afcfdcbf0206416cc8dfc3 +Tag = c6780aeb499195dfc276e3ca6e + +Count = 6 +Key = af2b2e0bfd312d775a65e0475d79e484 +IV = ac +PT = cefa3fd59adf649bbd89cefd452c575ade978afabc2799f80a7253228dad8d12a66b90716d8f4a903c32757bff8619e59266ca +AAD = +CT = 8dff8df94599c308270cd124c2801c1b68c002f1d17cef2663be9c2014fe32671731a02222bfc3edaa123bd16f09411cb26c85 +Tag = b3192b8d2712eeade7bde9fd5c + +Count = 7 +Key = 0920f1cf86943a45387e014f00b807f0 +IV = b4 +PT = eab9532a191143d045aebb65f5ff4fd4b8d7530c5de4b50171e6f304e80eec76487e97ffd190be1c3a31be7b7c93f9cb7adc35 +AAD = +CT = c0b85415c54d873bb9c78d9d97e7d28ef13b5df552721829632b0cc43fec26992897451f991e9087bebd91f48ce00b653380a4 +Tag = e17bd6209c4452448a677de4d2 + +Count = 8 +Key = 8aee75187b3dfd007104e45ad3466134 +IV = 37 +PT = 1ff8e883c206aae880c55f1fb3f8da07ae7d0f2c0d85963cd23152fda5049094602f1c96c6f04296f8a0a9aef45071d595fdcd +AAD = +CT = 2987620b77e50babd2a5de6bf403fe7d2fd6ba8b189116cd428dbd7eff5369c289db3aed76fcad6acaa4a0b0c9eb07808a5e54 +Tag = 22579aa6835d634181208b3c18 + +Count = 9 +Key = d299622b4d01069a5d96ec764d5821e5 +IV = bf +PT = 3b691e9a50fecdab85dc83317acb54b59dd372b27f23d01a64714aeb74da4d48c43cfdd43ac6f7b6da583f356d547d42479691 +AAD = +CT = dc8454c42858cb9518f2cfe2cae8afabcb08d5c23a459561988b2cf1490ef653e5bc19e773507a7ce10240832c7cd482bbd52a +Tag = 1e4faf183df3ba2658a1e4190f + +Count = 10 +Key = 651b30d959124dd4b610749812571d06 +IV = f1 +PT = b0e8ce19a84f75369f9dfddf85e02635ad3a3a6fe16623b130f9cd8f1ffbd85dd93165601814fdf37f1ffa6ca7a45883136a62 +AAD = +CT = 10fc1260f5bdd7d12792e60987aef4397e8257016be46fe52dd4c12089c5e025216f56a26ab0ee5cb3829aabd6e955d701a2f6 +Tag = c33491064861d3cb72fbb0bdcc + +Count = 11 +Key = 6f66c81f194a6a1fa2e1a17b8c8b20a2 +IV = 1a +PT = 7d4eef0b914e2d8d032e264bf142c34171a5cbb32b429ec6e3e4cf65d6e54772ae3092dd657178958eac4150053113c7a15f82 +AAD = +CT = 3b56dfe5aeca466f86317703931bbea6b287f3c4e0ecb816ecf8f7d16a8920032f48fe24489e46b5a147f3003e0593b164e761 +Tag = ab79c07202b70e12a68633fba3 + +Count = 12 +Key = 79a03631dfabae3e67fc5d6b1bf4c1a8 +IV = cb +PT = 75c692a4f41b92b1ca87066073882f240a939aee7456abbe259aac09f8cdc14e518b086a1870ab73e818bd69628fb3a2c7a123 +AAD = +CT = 3ca43411f17d4ccc8ad91ebfb2996fdf3b989b23ce3c4d568142d66ab0e0efff1e14369ca3a5f798879bfee03e7ec23c4a2bc2 +Tag = 6234b9ec8f6ff7d9425432a0e1 + +Count = 13 +Key = a1085fd65a2bfca6e9cf38569fbc18e5 +IV = 99 +PT = a64f42d99dd914961ced20b3f77694a650747bcf347581d11249c857b47da4c6df5d2b5b944790a307bf7d68205a0800db1395 +AAD = +CT = 631381a8f26ad50328561f09b180c4e75b00bb8f2561119efe3b6422d27e9c7b716c6e898b272ac6c4171d88a4a288a195abe9 +Tag = c911de77e4aaa773cead80d0ed + +Count = 14 +Key = 9c9b8cce8c5a5e1a97b0889a82513619 +IV = a6 +PT = 3ca55a142e96dd7cd0c50f8bc3ab924cdaaf9be9c621128952002d44bae92a56ad7f4fa7addb89b23767657c49018927bf057b +AAD = +CT = 1253f0480f1e1220ccfbd37fe9cae3e8025138ddcaa1552f78093cd5838cac73aecbc36a3a3628b38e9f3f6f5a07397ea5318f +Tag = 4fc5ea33e127fbde5a3ce8add1 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 19af8a39288b8c0576a4b942ce6bc80f +IV = eb +PT = 69fb29d72696236fed1df56cfc1b193bff302702422de3dd6409be033efdeeabe023023b9fae740bc5aa91aa26ea571892beef +AAD = +CT = 892c1c5b77eb346c27af20a7ed48f22600615d0dd3e4a673f00b28ac4f08df31ab3434cb9b0f47b62045010d6facd744c9db9f +Tag = d5bf738b1d02558703245f33 + +Count = 1 +Key = 68efccb62f86caa004ab4fb3699a8dca +IV = 01 +PT = 9d2120c7c20b59b58c9f533d36b2aaf8482cc22048588a4bd10b3252be7db911f53ad04a526808fda7a515ce51b5a9292e1715 +AAD = +CT = a03f7b3a3b9e6a35a42a0da16145907aca576449a4a0b1b58e28afe2c5927ec0a746f65ec092729cbb4975c79ae9689b7afd66 +Tag = c66866d86636c21047ff5cdc + +Count = 2 +Key = 76a3b6987552dd390be012feb08bae0a +IV = 8e +PT = a8315661daa40143193de3a73e07f1f718e0e02e9e5f1e45ec6f178c0374f29ac1580c9bcb4615b5ffe1ce40c659a9d4c4c297 +AAD = +CT = 005c12f52fa69c8ebd99998e63e68322f30ee94f0c2242d32ec9dfade1b4b1775a9721ceada1b6d94976a2a84b0a85102d0e10 +Tag = 9929dbcfcd4b2f52477092ba + +Count = 3 +Key = 855ae3d2d5ad46634faf02e0915ccecf +IV = 92 +PT = 88fcbb12307547947822753e19b48999cef6466ac86a3d9629df1ba5ef30e563d836ffe67f6db69e6b13b1efab4c1a4de5120f +AAD = +CT = 40e45aacd8a49ac8237d67acf1707f41f15ec8b3f9a1e3367eb690a3e05e4260248bb08b3df94c4a2711cd425b25c83d6ba8b5 +Tag = 8839bf2c734156f6b4449a5e + +Count = 4 +Key = 1d20fd93249f641b0c9a0180b2535428 +IV = 0f +PT = 07444dcb1e032971c9a71a5eb2ad4558a5902ad9f518e6a9b7e342fea4cc00af54394fc020aaa4f0c8b1aff6c691932688667c +AAD = +CT = 1f2404eb6458da14cca3f10e014d4c917a39115a8beb0a821946d4acc304d8bd17a3fac8f5f30d689fee19c45f9cd92d5a2ce4 +Tag = e5baa11f478aea3693c4d54f + +Count = 5 +Key = dd35577810322cf6883e771b4ff82bba +IV = 01 +PT = 4cea6d7a907fd3ec6687356238669fc046b4423a286e87d4dad460605ee560cc123647c7593acfb9e2ad577197ee304e7d6cff +AAD = +CT = 9a3e1d1135942c861aeece30a6842513eababa3b6e9e8a6902c129214086f3327d5267a0ceae215784ebae63d5f4fc442b3548 +Tag = 5a4e9c6574367ebac31db5db + +Count = 6 +Key = 023e5b3f93e2e9bbb2cc89b42a59bb59 +IV = 2c +PT = 46cc9db0cfeccac89b10e78ac87256d41b4b8148d4b875f594daf1c5e3b748b2098aa1a22f70def17beca849a848cbae81889c +AAD = +CT = b3f5fd248d41cf66e6a211a397371a81f37ac9841f3290b833aaa0b42ac26059be64dd5e96483766eaa64a631856a4f3aa1272 +Tag = 680d33fdce6ca6086575ad1b + +Count = 7 +Key = 31aafbd10ccd78748b7f6d370e591c60 +IV = e1 +PT = 14e461b556ca71ce4c87537018bba8f4ae83a63ce0a992a0fb72ccb58c0a08de7c609ae9501fd3614256a8ceadbe92fef71161 +AAD = +CT = 16a816851850eaeac5d641c3bfe8e35900895aa24de9eb99a38b070c89de8c40b6075d6149ee7b0318ab061fdd900037c8b2a7 +Tag = dc692200532e3585b895c643 + +Count = 8 +Key = ef66ac246bf6031c334de25d78c178a6 +IV = 0b +PT = bf8ba2b26941da67a44fa397559fb19b0fe8ed2862462539a46008bcab9613ff7fd08015a379134fdfe4166d3d4b88988f8101 +AAD = +CT = 250dca1d2ebe37fbe0a545e36f74290082b4fcbc5629806b9eaa0449dace3f000d3135e95bf037f25ca24ac338f9292539852c +Tag = 354da0e8d22cc9be7c3a1ae3 + +Count = 9 +Key = beecbbb43f806f931977d18a51381319 +IV = 0c +PT = c8a0c8015abde255b73405e5b4242030deef495e08075578e26410484c998bc35ece50676ca990684bafe6f89d16e262ca0d51 +AAD = +CT = 852815f30e5f232acf08687d2e820ce744c042a6417030322459c55a5e39ce6d09b925e85c9eeefcae094de08ab2255c04bd2a +Tag = fb35a9ebc147b83c05447e38 + +Count = 10 +Key = c039a60ab7a998c7a2933f2402e318d0 +IV = ed +PT = bfdf3db1be1e882fa5e6328313e17edf332355afec4bd02421526ea114ec770145045719dd6e30d7a703dbb86e451c979aade1 +AAD = +CT = c69ed114fd577313cc8ccc90294433ca0cfc6c4a02269c43162641cc4c3df537ec965bd7b8fdf5d0a8e3185085567487075f70 +Tag = 644015c2a160ee6d37d6456f + +Count = 11 +Key = 21d12cc7cec3370a44667d668d008e2e +IV = 6e +PT = 6f801a8305680ad2607ee25c3fb59b1f7641557626dd58ec7df33b6005e296300476bf90fff2289453bf82ff55927da67415be +AAD = +CT = e86a2d41b8695ec35d62374be423dad8182067e5dbbd4c780b4729eebdafa871798592c10ab4f91cbefc1d74387c6a0ad056e7 +Tag = 4219f89e9a5058e37ccdc0b2 + +Count = 12 +Key = 0dc0d808f7ab492c2af1b3413f742088 +IV = 15 +PT = 96476dba2eea6ddbb28ef06d8861577b479ad857dbefe7f1a96fe29a5cf171d40ec76ee3547fcdc0888057a4c796f1d00a82ec +AAD = +CT = 702cbb6fdf284a4a6a3bf3bf26294cb839a1635c5bc030c3678c41b31bb538b94802b1bc71c3e74125087c9c604e5064dfeea0 +Tag = c1fd802ac58af3e5c8aa9ab4 + +Count = 13 +Key = 7bc8569c902d4bceb80e95be90b8f990 +IV = 12 +PT = e89bdd1d6b0b4b91f4edad954a1fcc9ace96111fafd972c796c5aef18b17a6405c22ef3aca5f15a420ee28b74c37c86a705e70 +AAD = +CT = 88569dcab886e8e84c4ff8ad60b3a0287fef2b631bed1025d5357573d1028a14ba0b4215eeddfea98c69c208bce970cbe41ac4 +Tag = 2d52c07a3675d7486182cc62 + +Count = 14 +Key = 6eafbf4d95f18d1d532498fb8e0f16f5 +IV = 89 +PT = 1e56ecf1b3af27cf33cf65736168343ca4cbbb4678d963d23a14fa98b6715b784e48f76c7ac7c81effd34d826ef4bb45bc5764 +AAD = +CT = 63e038fa5975ce100cde2e7b3ed39db067ef06aeca5086051ef6f24c86035f4cb423b6b33371d0e664b834f605ad6dfc61e6b3 +Tag = 68df8222eebcaf67ba26159e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = e41ac68437a60d66baf632f9855f6781 +IV = b7 +PT = 478da16e7f4cba469555f518d1d0ffabeffa7e7a3b2582adec74ee6dbd63670f48b0916a894f3bbd829e40b4f5595063abcd2d +AAD = +CT = 5166cd6024ab7d878cc4f0d511eda95cffd936e0ef4f9e72981b7aad3c9590314de90687adfcb3fe091bc8e43952b5664fd185 +Tag = 8ef48e431ed0cc2f + +Count = 1 +Key = 3c0d2290c2df6a06e0f3896dc695ba58 +IV = 8a +PT = 90c71620f150dc66b98e802a324150059bc54476c69b2d081133719c6460e5b6297be4cf5ad1f4ef5099e8769adadf1d57d43e +AAD = +CT = 19712a63475ac1d351db8d7465765cbf8506d5de91b6ae1d6e49fc96081d10db73fea7d2209d59853b8d5c4270f8779ab6a284 +Tag = 9bfd91b1d1218882 + +Count = 2 +Key = 1b84f9d7806a40a0a54846b4bded3def +IV = 14 +PT = 76bb16bf3e58e0deec45a4f3f31bb4a7f06e2c5a18cfcc31cdcdf4114ac1a2d607962e30c040f91766118553cefbb73e994894 +AAD = +CT = cfbbee81bf5dc6aac605aff8e77681d9690fd11f28df6e4fc57189a40a2a2204b4b5e0db8d18b1e33a7c739ba6eed907151b63 +Tag = 7dbefa7c533f66c0 + +Count = 3 +Key = 23195b793917954b45b57b8bda3f496b +IV = 65 +PT = 861d468685d24149d5e34225c44dc8a96d58e0674a084b8af616ec6cf604922e84e385f31ab1aab09251fdc3540fba1e011b58 +AAD = +CT = 7b3228fdd64b89e42d4287b7d2c2cd3785f4866c50cfbbee8a6f83ca5c87a88b7d71cac8c19e8fe335baf2670b23fe89e4a74e +Tag = 783bdafb68510833 + +Count = 4 +Key = 59019baa19e86278a9dbdf33115822bb +IV = fc +PT = 94a021569ec9a183900b68ade021a0c141096b5de44908b134d99169a339d787cc7995579f9130784d39de12ba338f4ac5cb2d +AAD = +CT = d0056f5136f69e843a5ea423ecf71e76627f6a14a033638901cfef77cfeff9ea2bfe988069e9b1cc3edbdd675add5427b0e8f3 +Tag = d04bf28ffb615970 + +Count = 5 +Key = 47f5434746cdb5df256a756d07d3bd33 +IV = ec +PT = 0eb20f0952c4ca80db8ebc3b5e9393384f98817a4bbf58e18a3a2302b1606a40875548ac61a57d13c05c9a0cc33eafb7d4ff2a +AAD = +CT = 011d360b38a4f29347cac7dab5d530828e56c280813d3b30e4395018043faa22271eebd09b6c357bb50def0505715833accd00 +Tag = fbfc2d43fdabb936 + +Count = 6 +Key = 95cc78d3d6cd1b8234848e19ab7ba2fc +IV = 9b +PT = 6e3a5dee30d0e9a672880ac99e79d5c399f8f6ad1e0ac7227dfe755bf5cb27775cc8a08f51a07f0c2e0e7a0493580fdbca5791 +AAD = +CT = 3cf1c16c9ed943abfc1288bdeabdf798afcdac1a4d25b72516110c3d2b8e9e49862436c5eb9a1231d8906218f9362d3dd1c227 +Tag = 4525959d6388b310 + +Count = 7 +Key = 1dc907182fb36bafe0524f36da8b2b53 +IV = 42 +PT = 83a69bcf42f6f86a07a1778357570c7b072667b013742ed595a64f82e19d63bc75bb3eefe5d5f862d0c9452e9e437def963c2e +AAD = +CT = 4fd2ba48834f9b7d3c8c6b8ab029c9aaf76b19eddf2734d6aec80ad2abd622754e8da1a35759067d65687c1f2f885e4a907569 +Tag = 2bc7f87b2be25532 + +Count = 8 +Key = 3b416a251c5df9030c67c2261bd5ba41 +IV = 94 +PT = 3e7e38727578fdfe6573dfe1df2b73eff7f07e669682ac0f19074886f31afe2e304597b6c56434769b6097da1fe8b39a14eb23 +AAD = +CT = 6d8a6d3e59fc8a61623dd917f72e286f434a19511fd64ad27c52a1f513d367b87e6864c4fcc4fb286e89090b6fc8118a3b36b3 +Tag = a3cf7c512b1f12f9 + +Count = 9 +Key = a9aeffa4a02fe6bb86540035c58327d0 +IV = 24 +PT = 8db8c95be870cbf92196cbdcea8dae3c69a2569ec25102aa151879ca765179ef3bf53d74130e6d8345dbb4b600ff452438fc61 +AAD = +CT = c0e196e46d002e1b2026f4a2daf6c2baf2135b9983e968090ae1715a321859968590fa9fdd0d148bc4e9ddc2c9572d926cbef1 +Tag = 8d702795b238f302 + +Count = 10 +Key = 2a006709eb9ceb1a412422f3767d06ea +IV = 26 +PT = 3409f9048c23c972b7c7207c4eaf06913fd9bcd65c78a6eb39d4ca959325351d354e4b616d2f0a25a3ba5b8ff6f757b9c1eab1 +AAD = +CT = ba15dc2a247c0cd676dba22f5a930129eef236cfb5a26e7a052d72454af48e25503017ff5152216e744338ca8f3eddacd35026 +Tag = ca3fe243d903679b + +Count = 11 +Key = 63313a4867e9948bdb95d4906db93466 +IV = 19 +PT = fa75a4bd6a0caa5e2d41e980ac139cb614fc46944856cc4ff5006659d86cfce08f0ebedc59cf2ddac1eabccc4398bf213753c3 +AAD = +CT = 7537d87f87e92c169a75002e9b61d0aceae991cc48a5afbf9c850f9fa3d5726c0bb50c493ce782df76532b2c5579ea9f7c79c7 +Tag = b8ef404186bd384e + +Count = 12 +Key = 740e45042c46ba03c63390e315753d55 +IV = ec +PT = d092895619b2070450de256945f389b74422959891058080ebe6a599e4438a07cd622417cc518bc4eef0a05fa5fdfecf5df0e9 +AAD = +CT = 9428184539f59b00659a7611690ffb75d9d97a7e29334644b684e9b9afd027f2ba8dff5b34cf5ddc8c709b99abc20843b80181 +Tag = 5f848360213b1c0b + +Count = 13 +Key = 4ef504e6a8335203d9136dbf45223a68 +IV = da +PT = 6a452a461ffefea7d386a8476e71e97a5f2ac45933b2898d878b6c2b974a7b88a3802101fd793dd19bf2e12881c413ebbd02ce +AAD = +CT = 1868d82a1768e3d946f65248c11178ba490b416a95a357aea1eebce9e5305c018a288291b8050be6014a56111e794fa371d102 +Tag = 16708308f87f8f57 + +Count = 14 +Key = 83d4e253316d27d9d1ddcf7ef0d03048 +IV = 8b +PT = 57a443a224ba09cd11eb01bf4f298ea28a1e4503e31415dc55cb3fc42bc54425ba474670e79d5d4f886227426cc87be53fd74f +AAD = +CT = 1b8b5f6b35afb632c78aa55cc4be247f0c7ed5a03969308f7b14b316edff20c8686aa479c8f8217a287b671f6a1621e8921083 +Tag = 7bedc0054fd62c88 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 99988255fb977d68353047c2a035cceb +IV = 72 +PT = efc8f65c01f4e2c2710d421f4b52dc47f2dccbcfe80d58a30285530936d34f39d6601ad58dea85a801ef7da301ecf256c43173 +AAD = +CT = 96cb16413ad83c038f4e774505b379f637001070b0a10750b08034d68f64447ba4827b8f4ff5054cb93a14d76d45cbbde75b2c +Tag = 6fe55e8f + +Count = 1 +Key = 3f6f705e4c86bb9c5e5e89f145e12efc +IV = 50 +PT = 9453e40fd944e5611fc2830a6aaaa2ee2c0356d6e989c254dcef1d465dc0e879be1f28783ab595962e7bdea6700a20e45adbff +AAD = +CT = ecf75ad106805d8a0980b308ba9cbda4bf14f4a3a21a02f876149ef76caaae70d199aa690966c28abe24a326a3ef78e83a2d30 +Tag = 78fcbdb5 + +Count = 2 +Key = 86c02b5fb16cc533285c3f9b2feab600 +IV = 22 +PT = 7720a7bb79591c8eb364dfc39f279f254ac33805b2f2c33f35a391ac84ca47f04ddf0f600804c6f6e531723604598b80ab4924 +AAD = +CT = 59fad1966b6ddb04ae082b787bf4c5cc0d77725de0e0583178fb030d6a41a9ebe7321d7170f22f4a578f4d024f6136ae209c51 +Tag = f3c24d17 + +Count = 3 +Key = 8e0c2c7df515d731f294be99b9b9b793 +IV = cc +PT = 8b789a0bb751fec184b58d23a6192ede6005401986179bc10734756158119c4d0dd6a83e7db36d20f0b277b1129747937d1e44 +AAD = +CT = a3d891804d75e7bbe4791721c50d4972faf2bf9905b90b9737702fe62c52d5f2e7be2629285f50aa5e61b37cb6b1f9ea965fa7 +Tag = 65ecde26 + +Count = 4 +Key = 38d3f979c1cb2d9534c4ecf81f01a6bb +IV = ea +PT = 2955d25635dfe0763a967ad779e3f6a75b8658b3018bcb9228e466565c727fffc9e9d2dbb43f901069ea054d0339d3029b5f9a +AAD = +CT = 5b8c49e4f0556dbc0cd4bea4d810e21942dc030888fe2e3bcc59a35c5e0777ee122af2a143b0f9b31705aae816d7b972d6be18 +Tag = 1d91d4c4 + +Count = 5 +Key = 0ed4193a418af6726960e274e5b9a083 +IV = b2 +PT = 1ccc76c49a7ec2d7f02bf212640a5b6db22cf3317cca53f19bcd9bd629e6d4062975804b960a3156f3e4f293d1e2ce0272c363 +AAD = +CT = 0cc02e43474fbaae9ddcd5fc9d00137186a44f2e4fe0d6bce07b9ee9073a11efde84ebe73d5bbac5748bab97073642fa0f8e9e +Tag = 23aa9fe1 + +Count = 6 +Key = e75066303ae58cfb58e125895f16251b +IV = c9 +PT = 1623850b5ca3379fb3321d0bfdde69483ba4914b9f5417134e4912c13d37de0d88564943e76592aec90a380b929186fe219fad +AAD = +CT = 9e4446255f2620bc033dc5cb7ba63d3a5ecf553fdcb532e008cf25e16198d6ed77d9ad2d5e1520600438f6c50ef541001a2180 +Tag = a8ebbd50 + +Count = 7 +Key = fa9629bdeb23b6d1b7cd98a654448729 +IV = aa +PT = 040efc56d00d8cb33fd2beabb2112b41a047b335bf92928fcb58f5f0d20365501c697d4cca8c435cfdae08011199cd373ff9aa +AAD = +CT = 61dad8518dbade20ec73e2d5263453e50fe4b5e35228638e8b5bba6b08628b26da8cc2193fd18b5bd6123b61713ca72f498941 +Tag = 1e2c09fc + +Count = 8 +Key = 26409679367877fc2d1129fda2dc82a7 +IV = cc +PT = f40d6709457e78139f2665c23379d32f90d541b2e508840a62e299093d8076a281cb47738568f6f645f271e6434abfda32953a +AAD = +CT = 20450cce2fe18c86dafd6bb4b593065bfaa0152f5ad939b1a3f1c3499426006c7a45d79c541dfcca44fe71398b47f5cf128eb7 +Tag = 4e3c8ac2 + +Count = 9 +Key = 98a5cb248150a5d4b48fcd2408216155 +IV = 13 +PT = 28401a17f63185c72d2e8b091187efd6ed7780041643b5b5903de72838231c879a72e8b805ae4cc05695b7f66022bed4970bcb +AAD = +CT = 9e22b2d5279a9acf46d955d42fa667797c06ab05cea3130a108712c514a259eb2fbdfd18fdd4d3b53acf8c038144b9ec6de5f9 +Tag = 576291a3 + +Count = 10 +Key = 46d91c4488d9d926cf0380cadb92e37c +IV = 8e +PT = 44cf85f7c9c85b8574a1291daed6e67a4120169d10b8403265730c1563abf12bface021db39142dd2e3d6ab451fdae493f376e +AAD = +CT = 9729cd7eee86ed508bd0ec1008be02ac3907f883b53e03a20f600acab3410e5a1bdbf9c98fba371a939db027da2bc77e830846 +Tag = 81bad39f + +Count = 11 +Key = 5abe0eb4fc0078b12e3c50b5b82db7d3 +IV = 5c +PT = 331e0027dfaf2236bc06862b63505abe3250873c43d71b160598f3d36f209d3e456a4ec4b769ca2286d97be8dafc56effab369 +AAD = +CT = cbf7856864fca9c3253371f6a2e4af19461a24a3906b81c41b52a229ea3de3b25765564dfbd79f24b8a033f16d2997c0ce99a6 +Tag = b928dc97 + +Count = 12 +Key = 059d0d61d6462383db54155cd0c8c375 +IV = ca +PT = b778a58ab2cd9cb3363e2e65e7bdf516b73a5e7906536ce832f5b2947bdacbf68e23c754f2fe2c3785c4cda8ba1b666beb7ed6 +AAD = +CT = 4e9bf1b6a6a2ee558893c6c37b7e15534685fa46eb9b2b937fca031a67a380412cfd2fb0a66a40445fde0c26ef0272aa23628d +Tag = 1a0d8409 + +Count = 13 +Key = 9b320831d651d551c115322ba0885738 +IV = 31 +PT = 06b97c5723ebbf8d85fa08e11d345fcb46f6e1c302bf1b1873ef3612b47f98b376b7d457a5b68faf1f77632c7e7cae9a3b3104 +AAD = +CT = 9e59a7967cfa55621c5d36acabcccfa7098c04e690c6d7fe0dec5ae82d0bec5d51e518deb0cc9253ea2f821ccff006c8987683 +Tag = 1a600be0 + +Count = 14 +Key = b01f097e8b4c085c28a4e8d494d7e66e +IV = dc +PT = 63a79740ade079259eb3faf897f81cacdf49f09272f5d5f821915c7a33d1e21057de2bc796f8bcbd94a5d17c0068eb8f68f2ae +AAD = +CT = 37d342279d120d57cd67e84f75972b8708611d98d2abe1b6fe7340db4fb35f30fe0ad6ce93d1bd7145ae4cf962b148c11ce1eb +Tag = 6ba93003 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = d7b4d10c23438fec93edb68143cd7f4d +IV = 6d +PT = bf6cbc9b8140d3780da275a8c92403037cf64dd6fafdcb6f2689e9a26c9bfd1bf68e1739a8ac632f26cb790ece56648b38ca91 +AAD = cdcdb1e24381632d9441cbc6f6cc18e6 +CT = c19a8a33c75b884b02b901cef46cdd64d0579b670e69a180c0b83f782091312820513a12c80080a42d9ffbbd476a3e7f3a5da3 +Tag = bf6a596556174fd468a65989360b8da3 + +Count = 1 +Key = 44badbc62a264c64c2d1987354ef3464 +IV = 6c +PT = 4b775fb9d8b5b243fa52e0ef524a6989c5a8a2d0b6b131d27d8572938597a54326910f9e375b3a3b3fbf1f244ede788a7aff4f +AAD = d89ac98f0c27d2b328ea65173031a409 +CT = 92cc021a730e7574c8a8098f69627c6ac25470a62f58c5bb3897fcbe5cf9cd25c4b4e489649461d71b3baf33f945a76ab148da +Tag = 73a6eb11d8a4730a8df186dc49bc4d14 + +Count = 2 +Key = a2eb962f20058bf6eabaa35a175666e0 +IV = e4 +PT = afba8b7b3f2a653a3d0658f4c906e0f89a71baa4120976f04d778842c99c3777700f3c83c4fc4af2a73aaccc627c90f0e17e86 +AAD = a1625dadb406964735ede1f4a503abe4 +CT = bb783bd13d554f1d598affe938909f356d39fa4d084265f2473fc5713d5106d266d244a7c40f6e82ddfb61e075460ee37e7231 +Tag = b82817c165b8f5b61a5dba80e7d36d9e + +Count = 3 +Key = 0be0aae3d3d158ae9a7b95aae4ca91e8 +IV = 00 +PT = 317722023d958106c906496b5d9be87445596ad52c5dff639c9a68991d861259b39638641dc26d96374beac53fc045730ce246 +AAD = 700aef74ffb8fa554536e58d204d6f2c +CT = aa5a08506138e028c181a7fb34defdba67f2936c3f776625941d21f1ce09932ea0a02ceea70bccb1a320679ca124202de7ee0f +Tag = 5c1c7638621e6a9d8a4415abc2aa981f + +Count = 4 +Key = f46bf7d15affab4322483590352855fd +IV = 95 +PT = 0090b514784fc79b313e6e12f806f2e02f4546268d5b088280f5bb512fcde28c3e4385813b976d9676b7322fec500cdbc709e2 +AAD = 7ca22351226de0c8a5144b915541765f +CT = 69e1a82b68577f62a32f17ed727cc32cade58dc2e50cfbc7c0a68e1de908ae240f1954b60daf5fc9aa3696defd785c57e72bc4 +Tag = 10dd85f16be1795b0b4f60c9ba921683 + +Count = 5 +Key = ff3789a239c705f5afb26f0b7b04bbab +IV = 0e +PT = 8cc4d1d79a1c75f52a6d1bf139564947579a8ae64b0900ed9059533ddb25eafd3b95f2a73df727cf467d90cf4e14a47843044a +AAD = ae50eecac79510befb065797f0876d60 +CT = 1e51beb86752e7958ad218411a942787a8bff1dbeb8a51bc9e0603672a4a2481a218a889df6ca0e5a1c60d3aa757d479a941b1 +Tag = bd6e1e52cd4785594cdd98817ac54147 + +Count = 6 +Key = c5e157ea66a30c71392a66f59bcf0a9e +IV = 55 +PT = 869409ab988d6607c383baed11bdde9d596094b050741043c4d8a94b1b0f4ab5101a7348634c937a8b2fa0b2e4eee167da836a +AAD = e0828b49fdde4c0d00a193be8ed4ef2e +CT = cf41b2c4e416e63c4f9fece5e54836156a1a7757cabe5d5a74ecae2c783facf81ba6dc698fde53876bebe3e734c2a751e42a91 +Tag = b7ded4403906027f538238ea05676a34 + +Count = 7 +Key = 252778954a6629f44a4ce7733fd0bb1f +IV = 95 +PT = 5268d0174ca98a6dbec44e6254c524df1299a2a714cbea540a313ae57f4e7cfb305d32dd747d536a130127579f4df25ad3b7a1 +AAD = 51fe5a16e1c932c2d8f9c80968d1bfa4 +CT = 1b2d432bf9e99b96e9b327715d7cc9303b985e88b1744a31b97d6c2f715eba36220fee6817c066fff868edc5ecca65cab3f165 +Tag = d7e31d72bf78678d7ed80ac06dbed97a + +Count = 8 +Key = e544373aeee4ce779fd5ca71ad7e30f1 +IV = 3f +PT = b673b04293ca9ccfce4674975438ea1513cfaaede98643acbf410e20a36f5ab9bb035740e629104143f9f026a55315d2fe4048 +AAD = c543b44339f78a79b7b05ffb4cb7b43e +CT = 038ce1d1feafce804fcc9b64c3d737be56e01e8e44df1e8a55c89e610bd2028ae673a0a484b739b5b2b1e42cffafc5ceda0c60 +Tag = 9e865fd5f034aa8007725056ea91a8ec + +Count = 9 +Key = 8b1c042158f6f72cc6248ce55fe85d57 +IV = 74 +PT = 3a6d044f0a402ca32d6c58e71110b01146a04057ded575e6cc92c5e288117e897c819ca041891d6a3763f7f706fa2689dd05fd +AAD = 9b70740e6ef8b03079bfa3259868ba26 +CT = 471f88ebe7b4fcbc47027965b7845d89a40eb0e274cff50186c1e5196515318f0321c88bd030f21d75302e35e6146eaaddb9a9 +Tag = 99c35aaea05ee045079a87ee0f7fae1d + +Count = 10 +Key = 3eb63a5b3b7fd84ce8e037ee7f36e5da +IV = d4 +PT = d1a25d1d7fa8d044fceff1eebe09aab2969cf31c13fd5e0542deb2356f8b082f3f71832724e8c46c61b93e87d69db2f6620e6d +AAD = 2cc07e768a4f469f34aae6692606ae4f +CT = 3ac61bb050b950043ad4abd21ffaaf3dd17719e27f448342af544b7adbc045076a62a52f1aabedc24d8ace82d028231387664e +Tag = 7ab616289ee43b7005e85cbdc2e30301 + +Count = 11 +Key = 6e19716e2dc3e30be0f9cffe925ade48 +IV = 0d +PT = 50c9cf35cf2cfeb1caeb41fcf3dff114f8964e94c2fc9401f34a4843fe3eb43099a4ce8283f7b03298dd43700980703e56eb6b +AAD = c8c1a9af8aa9da2ceee7e307d6a47891 +CT = 925cb24f3c3fa7ccf00841623835b8e26b12124c6ef8dba240a901a5fcb592622d3af92583ea01f6fe923a7bb24e210565629a +Tag = bb61a30d25823fc712144506dd60af69 + +Count = 12 +Key = e9e836d497e6931cb514b9c3f76aace3 +IV = a1 +PT = 0cf50dfa3c2ac683c66c0658d8072a5e63d5cb8eb884e0f7fdf3769e3d2a3d67702f2841ec138c308ba9741f613fd4b3849efc +AAD = 4c9f0fb6837d4da0ec6ff82e298c2ac1 +CT = c16ff8c9ea6d4f43500e67ee4a9351d487954fed1d6ac2622f0ecd66af9e5c9b67366a53fa309bbf45f2917c198ba4cb1774c7 +Tag = c239b79c67391c2f6eecab2074377806 + +Count = 13 +Key = b622748faf03d581cfae2a8eec7c46b3 +IV = db +PT = 3d80f861a1994f9f82dbe4f2021ac6d3a6c672d884db0d39f57456254b686df9ac67b3537b1fe63699ee3cb55e2bbc487baea4 +AAD = 572e1b6da2737aa42089744b24194bd2 +CT = b5bf73ea55c5c6bac3cb4de7d07c5fea9f9448cec028cee173cf175bd081636a62e306fea07aff26ade18a4c8e94e02c6a1847 +Tag = 9f01427d0fe5ec73230b14cb2350cd3d + +Count = 14 +Key = 60655f5a946c0b5501d665a4c4e44c3e +IV = d0 +PT = 3e25e05c6bb1a5351c5bd39b483427abc46545b65d399be918745d3a95ece32704930cd956fde545cbd5c5a51ee24808c5e49a +AAD = cb082156199dd2805979a7816018c220 +CT = 649ed2f4525d1b40cd27a2543fe8a0af48446d06b8f0531b6de26ccf3f19255e68bb4f1ae81066cb287c869f1191ee25de273c +Tag = 04ba828969ed194bdb3754ec7523a676 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 82b919b1aaa0a757754f74363d80d63b +IV = cf +PT = 1ab032bf65ef4fd02686bb0ec8c2319e910694fa5596264d833402dcf65ae2447bd960a714908403c3f6616203b6a65c6a0fcb +AAD = fa72be3d3b07a5cf6b1b7e22a342b3a9 +CT = 1e63ca008fb46dd9565c4a27b26bb299ab0d9838650bdd1a9e814df62267db4d5af9337990c859cc54e4b6b69b8cb6c7c1a333 +Tag = d7ea67861372b91de09a84b9eb6fbe + +Count = 1 +Key = b75b621cedf3bcfa26b7842e70a2ed88 +IV = ef +PT = 1a079bd3e2f796abe73921f16d2f12cd51dac15770f76b8aef126e31c35dcc5ce5211b42b373cb775d4e142df73dd62ef87b7f +AAD = aab8204dff3058bc531fcdbc5f88f566 +CT = 0ad688572c550a42e2137f7d4f0509836a448e3f74c4f4fa362a4b80483fe0099e7180b587f9a59353d8cabcde6e59e8dfdea3 +Tag = 5a71a8f0577973d5de73d7f1f84cbd + +Count = 2 +Key = 3db93df51159d0e03de2a340029a7d47 +IV = 4d +PT = 8070c70be4a901e51d9ff6317a681eca79f2f7c3c25740b55becfc1440af349c066a055d68bd090cc9ecd8fc36d236756df029 +AAD = d24e7ae349bb9c094eb2254ff7ea1679 +CT = 0fed81c9ddf4373bbee77b7e2b74d3a189c4819b431b7362626e363ea11ae9c4a1f56acab706dd2f5ffc472085bac93e2711d0 +Tag = 6e7a78dd38237abab2e34335a4670f + +Count = 3 +Key = 746466a3c8fc1e5128fd2d45d9fb537d +IV = 58 +PT = 18001eba36030a02f1cc2a5d65cde8982e5ac631f9b00c36d92d7768fa601687ab602e2269dad0bf374329af26086dbae485c0 +AAD = ad11c500195af1d52c5a2587a8d433a0 +CT = 245cf263155f02a8b0d9bc1488abcafd0f208c90d826e0b65398db5d6f0cfc6f464cab2649302f91b70c3ec6ea31e3dcac1900 +Tag = febf69248f64942c6495faeeb3cf5f + +Count = 4 +Key = 5093c6a9312a0a6482f4b4a800a69513 +IV = 12 +PT = 617f67ce0d558238f39ffbce144ebca240b6f454d904049b5fe2ad62c249ee8b0e97205afc6086c4d585211f25214a9b945953 +AAD = 17368612d176798b69a1d6e66c3b4cf2 +CT = 97ee4ce43f07c1aa25ef2aa81c7d5a3ab763e7200faa2650110effbfc0741c20bf67e44b60095965ecd3c001f5d82b842eacec +Tag = 81b98d705a4650097f80a176eb4bae + +Count = 5 +Key = 0e195b8c67b3bac45bb6964ed5b7bd50 +IV = 67 +PT = 482db5f24c2eb831e76ae7863a02edbf9949b144f9f93698543ae06afc0a5c34ddb1498c25ca135a51f31eb4975a5176138f4b +AAD = be087aeed8d316eaae7de4427449aaf2 +CT = 1f3b7371647c3c31d4703725f8ff63f2a6784be5f8ed54e3ff8bf4d02f4be4eae0248ded022e248f67e09d0bc375e103a250e2 +Tag = 330e1c8c09abf607f80cb6be72d7d1 + +Count = 6 +Key = 4403e1b285cfd973b1b8bea9cf6190e8 +IV = cb +PT = 1a5437baad604b1bc9a662aa90f70bb5009cc7dace8310e4859bd8467c1a47f76eb25c9e099c310dadfa87d0c3a57ccfd5d1c8 +AAD = 15a684ab62bc67af434c1b438073b2cd +CT = 0acb06db7d0934a030eddbfb9927868f20664213183dbc3aff545d8cd48a85b34eda3f5e9fc7318799586965237a4e8d17be84 +Tag = f5c365ee0e916b7db666da7ce4c9ac + +Count = 7 +Key = 5be960fc90a35c7bfad3260cb9ea986f +IV = aa +PT = 2f03cabb37e40c079eb447066bb975bcd3f97c23d3ed237c1f6c970c75f84d6a99069d2fc4d54a842fb8c13414edba7affc9f5 +AAD = 4efb6ae9acc9327c95483e7e8680da21 +CT = f9e2821cc0a5c851bb5e4c5997478d0d22cd26af07ec40bb6f7419319d686e56262d3f0d2b9f631c6ec524c3548c672600a838 +Tag = 729980e7cc975fadc4b4d12d0fa92c + +Count = 8 +Key = 3e4019aa1a275bfce8f70323c7983d6a +IV = b2 +PT = 762bf622453ded7c5c143f69d506a7c671ef0a540986e948e9ba3c0e8a98c63e8406cd6fecfc51e233327ed87f27e59b56ec88 +AAD = 00c6848e5a832872189b1f76ba6eba72 +CT = c64c9327410c1dbf38c69c4890f486fbb80d9c118aa28faf6e4eb553654b2acf1d03b2902c1449a3cd955092a847ae0acbcb1c +Tag = 5b8c14555fe60530858c82479d6b78 + +Count = 9 +Key = 1c0eb48cee6ddedd9429734d8d2ed202 +IV = cd +PT = d7115c21626581ccd92af60cc6abda0c5a5dc4b24c557422df7b7aed7164cc7d62b3911871a02b8fd2b19ced654834e7fefc8a +AAD = 7508585e960016ec2c848fc677ca1421 +CT = c4f91b9d88a029c4fe385262134f77a6e7c28e9a334fbc0671fa0d1fa0a77989981f83d9ea5327b10718d36416fcfe851209af +Tag = a04d2b24dbbc87ca9b4fcb219fbd9c + +Count = 10 +Key = 7b5622b649e1e6cd75f045ff3da9b115 +IV = 62 +PT = 0964243067718d5d373f66eb740b3cb37b62e1522c2fdac4bc041f6804bd5f1025408304192b26e552c342a5e75a3825a6d82d +AAD = b89244e3e18623bd2ebdcb169e936e5b +CT = 6056832d9a2c4d715bf5ad584926e7edf17ee5a96fb89a395a9c5c3ead1bfe4de0f5621acc202f0f420e018ba174380bbd15a8 +Tag = a7f50c35593d1facc0f85c81af6015 + +Count = 11 +Key = 63f50607239443590b46b24b39081cb9 +IV = 96 +PT = 03462f193108355c66272a79304d14e76084ce55bda86a3857fcd5fe0dee60d801084a69792083747cedd6cfac70c467bf2b9c +AAD = 2eb2e35884bf60ff9fa10efadba5f913 +CT = 062bacc2c3b11ad9503b73528de3a3a2d7635eed6fa692ec2ed2ad53e4749deb1529d7cd67651aa42601b78baad8dd85ddfc57 +Tag = 6f152db5a36f4b2f0d5413c4c3cae8 + +Count = 12 +Key = c32d3dbdd859863067656d8338c424db +IV = 9c +PT = ba8f060ad70982f812dd8a78ae3068f4dffd2a8fda6a5b4bef1df9834dc2c99b79b30eacac39c6c0170770d45573f35e0b75e4 +AAD = e91b34c9bf022ff65a8bcc51e522b764 +CT = 9d3bf749a4f0d23f67165d6a115895c47cb6485f7d43cb64d61bae03c29d84ab5073add7620996c839e49d18dadbd5b4f88acf +Tag = 68c911b4e4d9867a68913cd0b23e48 + +Count = 13 +Key = 8c93b31a440e1021f7a3a73c7a355934 +IV = 9f +PT = ec80afa654bc3a47d3c110d0a57c5ed18af8510710f4085b922054a04601c2917530a5df2271100766822dd8eac8381ab213c3 +AAD = 540948bd59f93cab3cc258cddc4fa3de +CT = 3bd7750bf02bf424fd7375b4dd7a8a96ccba30b58351c2064bfd4443bbe92eaabfa9d34e1e9aea1fe2ae558f743d0353b5c705 +Tag = 332f84e43738406e0f61cefeb9538a + +Count = 14 +Key = 4420b1769b28d89391e36c318f621773 +IV = d8 +PT = 7905f32ac673c5fe2823e3ed1fa161054b7297da6622157779cfd9b69b153b8bab2a79d5d3ae80ed3bdc647a2a0c9b5b0f09a8 +AAD = 516fdb82c5df25ea7a5cad611508804f +CT = 8a0f14b3cfdfa8278e6e15c483580f9d0ee4cc132ec2fe010a8d3207a4061f8d8ba1736d5a7ede7105cf2a91e81333f8bb11e9 +Tag = 60ab3ce1902ae390ee3b6f7e497e59 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = a1ce23d1c54e3b185a8a9bb87c6239a4 +IV = a1 +PT = e1722a793f6f1fc132f3f3e9da5e95576d0def4f24ffbe67968b40342beffd7bee93df4a76ef32971b68715e3af4bdf51858e5 +AAD = 7c8516d53b1e7f0585fae1204844d973 +CT = 1c010bf2d57f49f1313d0f96171c6d62778ae587ac98aadf038be11682d037a9a15da9bb9703b01dce90988784a0eaf7b56f14 +Tag = b531b90add49fe85149966b74e3d + +Count = 1 +Key = 702961a2406910fcbe945995e7b07d6f +IV = b6 +PT = f1d284829c06837c8801ed1758a768a9d01fca46fa16af8d1c4e372b43fe449958e11292268fcc1a83401880ea13eb2b97a397 +AAD = 1e272d1d86169a4b915951b7d9edc035 +CT = 968452de38096b495fab4ae2e34be0a95d2ffc97ff4e7c6777cfa3649ddfc6cb392e73eb63245add248cbe579a3c5a07a64225 +Tag = d7d64af841efa75762a67f675a81 + +Count = 2 +Key = 00d09b43f2e5ffe0f26104b24d971c32 +IV = d7 +PT = 2de21a6af516a3a4f39b3149da51d766ade58a89a798c041682375f39ae03b090aa137d59f1fd36789a4d52440ad4b1cc1274f +AAD = adcab8c5323be73202c9aaf19dc1bacd +CT = 53c9af659aa06059748aae9b8f426b483f9348fa5790b5cac344cd8bade8bd851e525ca2c502fd831c2d105de42a969d730685 +Tag = b7b6ae24f1ef36cac37956afde9c + +Count = 3 +Key = 05e2ceaf1e04c672fabc130a5cae25b7 +IV = af +PT = 2c304eb06e9da4a45e65d94763e6b1aa32001ee20c94963e40a773991f0b768aaeb3c79207db80f1ea01df7b0603fc6968fcee +AAD = ad3856fe1cede58ef5f85035ae4b33c5 +CT = cbc4ebd3c35ac67f521a81ade15507440db0a95e0ea253c67626b900b06f0e8cbc16fc2b4fd20b9246ffc8ef407087644c2a54 +Tag = c10dbdf3a9cfc7b8c7c37b767ef0 + +Count = 4 +Key = 2f4e69cc74f59d6dfd1623ace1b67997 +IV = b9 +PT = 55dbdd4fbc3497862b1135bc764457289c3adf27149965a36b484dd222ef31a750b03004f7250ebe3bb536e0c7e1b7d900cf1d +AAD = 497d7cd9535bc713a2ee99b685ae3853 +CT = ca921b3d46e35a2d2464a484da4049bdb75cea5807c200019c9069798738a91bee3b169e1a0b27daa0e6c9b6f0515fdcce3413 +Tag = dadbb2cec400a6668f5eb455d3d3 + +Count = 5 +Key = 81066f8817692225ece06f74b481da6d +IV = ce +PT = d178a5df69aeddef6f7614412a0662813dbb0fea5836f8d9ed378ebd9ac3faa4043e7cf1e7dcc05c313994503489d30bb1a21a +AAD = ccc0a7ad4be6cd59bc20264f45ed5ca9 +CT = 8a8971207cf7f1138d54a2a9414386239d8806e4bff5a994d7a097562a7536f5bfa11b0c5b6dead93d3014253d3c971fdce299 +Tag = 5276fe4133b21239f2e314375af1 + +Count = 6 +Key = d68b424ea21c1e16b5a75f53f078b86c +IV = bb +PT = 81c210601f047e0fba804ca593cc796dc1bbad2a72433d6c3d97f2ee43850a5a58f199753863e5ce0951f1c91d2122bb8d5291 +AAD = e5f3ffdb702d5c0afa6fd94cd4844032 +CT = 71d20d7b5a5c94293ffcc906f9afc5128c45156a79de00385a688f4782af838d33c708eefe1bca760a1ca0719fe4d3c068b5ce +Tag = 4aa4a0fe8c78243f6e290e82054b + +Count = 7 +Key = 9dcc6ba5b011bc1eb43cdc31666e185c +IV = f7 +PT = 68a57757544a3060470399204b1b464d4bd8579d0b778df0e0515350a3da6ed03d61276fcaea6f3382a1a548aa9e3f5009faae +AAD = ed35d91f5009fb5eb29bd6eb1855f063 +CT = 058de77c71e6ce7ef3e6fec87235fef799555f8c3bd3f3cc3ce9b989015313c10e6567ae9f6bcc402a36550ff6d8c0b3f341e8 +Tag = e3ce8eab57e4bf11358aefb8a8f2 + +Count = 8 +Key = 1191d8a31203e6d2b632d73d21e2f95a +IV = 00 +PT = ca91327106f9d5dda7be18d37e7406ae7a10d1901592cdd84546b743f6c7d36af5af9acc797b86a88ca3f4532088c4583350e1 +AAD = 6e922cdc55a0cb1741c29b92789e6225 +CT = 503b65fff80c27f304eb25a3c935a3176b1a2b6c22493d14272750386c52b6518ffe339f9459bb7048db29034c67389e1deaa9 +Tag = f8a5cae96c9cb10e21a68d1e04f5 + +Count = 9 +Key = f6d5145a83fb73a86581a5fe581743c1 +IV = ad +PT = 1fa98f6f6ad8f52f2478d227e5157461c63d5343b64e01f18a79f000c91794012772fc3c76e2a8cfe9383caa064b27b64ab743 +AAD = 5265642fabb77beea0445b35d34c5ef4 +CT = 4286579c335dae1e0312803854cf5ba1895c2026d37d3cae27f7c81e6cd3242d3ed6bee610a11cb5870952fde0d617a4887f27 +Tag = 710d8bf9e07c71a8cfef58e10d2f + +Count = 10 +Key = fe69152ff279d89e5cf77a4076355a30 +IV = fe +PT = 6c115769362d06019dfa9b964a811ed6e18a59366b2eef7ff55183340d99928cc6799b7d7e774652eae8db08dbd9b71259386f +AAD = 3b5598d5530cbcb653dddb832c89dad1 +CT = 13670cddff9f092ffba484297453ced3a54133d90a93d426f8a9710f1c68752b92a4a744913a8f368577f7214337d2f6016c12 +Tag = 77f5dd0ba250be5149b85fe69b08 + +Count = 11 +Key = 5735d9d892802350277d132646930e89 +IV = fc +PT = 4f464c2df863ee9a19c1c5696335fa7c9487b718cb2821d4ef05f76d289acff91fd833270699286b2e55f31eec92eb22f44806 +AAD = fe29e0946652bcff58a64b790cd18ce1 +CT = ad1463a93068e0b52a957e31e6d4623d2585f4c74e4e28b3cb421f4089a8937f3c83a7e1d728575cb6e8b0b12e4e6152dc5fe8 +Tag = 0d6d2ef21aaf7dd4f2755c199b4f + +Count = 12 +Key = 068fdbabfbf41ce285c589a4b93b1bf3 +IV = 09 +PT = 280c14236f958a3e2b8ace9489820e5ad410a1226e05ea77a75a7156e6a8a38d6f7abc19fe50adbf6406a19240b6eb1a444041 +AAD = 5cde9f5b08e42ab70ad0c583953eb5bd +CT = be2d663174f4c861687c5839691c12c81b8f0b14b9a49ac6711987fbdd85ee2775dbe35fc3a03a8c496752e10e69f878185937 +Tag = ec5b0e523631be46a1e59816d1c5 + +Count = 13 +Key = 56602756ce73d1768d56eef60dababfa +IV = e7 +PT = ab29c94795d07d1856039e4e3ab5003efc02515f7e85d135f58175888da8673bc5d3def459caf5953d8f14281416641644792a +AAD = ea38da808271ff5d00e5b844b320db05 +CT = b6750093397b6e8ba8d96246bcf5ec933bbd05f4a8a6bd2217a0a37ea47a3e997c17fc6f209933fab1451c2c1f64c80d37a210 +Tag = 2b6090c849c68846cf95339a72a5 + +Count = 14 +Key = 67ed854049f47f1c2a823ef3dc127989 +IV = 5c +PT = 038f9c7f9fd6d95c4405183bc10a3c2b537c3a200ef8e63e0b9f6005bc91d52c31da32f0321d6003b3347257ad91126c5baaf4 +AAD = 9326475e2f7a50053bdb0597521a2ff4 +CT = a81c8f114479a415607f388f42dbca7341143dcd95db5d4cddc78363fd675ac11787db1c2d13350f601aa69d226123f8eedc7a +Tag = 091d9321c884c0105abf350c5332 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 46f170648899ebd1b576c54523e4a9cc +IV = bd +PT = f418b48532ab7dd7753881cb38ae78f847b7cd833820ca189d4194ea874f22affbdba167d636003532af6ec40268633ed6fb90 +AAD = c1facf7b0d9dee95b857557cc7c57a1f +CT = 833fa71a302017e31841c1238fc3fc429d61e5c42f808e5e0b6b2d9408f5fd08795009634ef996ba6927eeffe64b920e1e2781 +Tag = 6f0edac3b26666f024a9f6e04e + +Count = 1 +Key = abce0cdfc09ece748b0e99f32d81a721 +IV = be +PT = fb103e7c1d790c2132876809fdf29dd483eafb4463a757b7393775e30298375ec07a373509db00a18b4adff07de32160cb101e +AAD = 316ce009764c9d94ad11b3a15fbfc403 +CT = 830c3e39d25f54baa34ecea5346dd6949c237b1ab7969c885d50817c19e15a5114bbf2aae836999c47a5bc5974c1587b9e4057 +Tag = b4b6328d2fee3709249bf2e9a5 + +Count = 2 +Key = 4cad0eacc87e980e10ac966b03b23f6a +IV = 12 +PT = 4e1004e4541e984a70281726b116ed25e240c2dd601fc13d049dd9de11fbd6d40d3d986f8a91e9b9a0aabb3c8715924a47bc1c +AAD = 14a7967499d718168d1ede978406164b +CT = f52b347ca2b9b640d30aac7f0bad4088be45756033552338d34b27f7c24b00ed83f912201e16a591949a7243a8887f8630d680 +Tag = 5b314020f68681292d3bb3c094 + +Count = 3 +Key = 4a63ae5531a9c195d57b0ee6cdefba9b +IV = 35 +PT = c238255a6c24fa01632bbe1aee454a833b80cdfc8eef70577ccd40c9136bf56ca8e68fea4ab153545ec142860b0a2287125bb3 +AAD = 11908df09dc352b4fb236e39a1f4a42e +CT = ccf711bcc4d675f70de438e16bd6e8e8fe20bce40a2542c2d33fa379dc07831c64350478538e34d9836486bb0a66b2478b1351 +Tag = 7d1268915092e8f3846a079c8e + +Count = 4 +Key = 96bc34714dd51ff6ae1d82b3192be993 +IV = 68 +PT = aa1fbadc30d6174450bfb9365371c093c69d23f537e9dd72520c25cf9bdc10c418e26c8ce9c9ebce088ddf2823711b848ddb3c +AAD = 27dfb9865d04b0abf7dde97c88852037 +CT = b626855b9ec8311c03ef82bb71e09ffe698457b001ca6914b17698459941a2ebb35321b48dc18fc3354e24bbabc173f7b04958 +Tag = c8a5fdd39868737764f832a1ad + +Count = 5 +Key = a425c6799cbd05762000af6beed0d766 +IV = 5e +PT = 995dcdeada117d2d0e554047f280dcea691f10cd129a5e1e848086d507da5bf577dc993cef7022f56b1c6a71195feeb2088949 +AAD = fd9eedae938accb4e3de919121bc9e51 +CT = e6cfc07bfa2d39eb34fbed5f838c012ef340c8255be9fc6fc59b2691a00c822e085197e0c10c947e3f13d594af4a9a3e8d0110 +Tag = 608e4670604e38483eff1a2a69 + +Count = 6 +Key = 2bf068865d3fd5556a8b45b90558b7b8 +IV = 08 +PT = aa5e7fdb0de591d358c21768313d000c5809801411844b31a0cdc009c80ae62c9c099fa3b38b43635ccf30bd828993404645df +AAD = 751df98035c50fa930feb4f64e37f076 +CT = 945f28fa7999f7bf6dcba904e4b6ed7974e7236d1ae9e25e6cb43e27470ca5f2915d9fb73a300b75ebe904af8b0fc954b56305 +Tag = ec43f4c95cbe2e5c3f4635f290 + +Count = 7 +Key = 1ffc9fad85fbc0fd97c830cbca28fa88 +IV = 0f +PT = 95396bde57b6a57791286bf4a724a2e877e000235f38e73510780df53e8d013dc6a0da1659ccdc9fcc391c27cc6344cc6e6c2c +AAD = d9e9e3324ec3edca591f617344531cc6 +CT = cd6c8b1732e023b55ebb593524e11c50a33d3caa20f28e2abb1515814c6b6fc0dbf3e2077852ee137d4541904f997feabcec2e +Tag = 0f64d4eaddfb7b2de42502c6a7 + +Count = 8 +Key = b2cf2fd2b05faa2e3285e2ce51281f4d +IV = 37 +PT = bc1757c06fe6f1abb21968701752b638f43a65743a69a8030b03d4901a040db0da3cc22de2635ed5474748280777bb6befb251 +AAD = 9a665b27b69538c2c063c2185fdd3b6e +CT = cb4ad126747ba1fb680a2a38697d6b1ca039364e0d6ee3652d1a641174a9ac3ff116b59abd7f3a3a97130173070d7ef91c15fd +Tag = a12612308e88fa9f5573b22497 + +Count = 9 +Key = 4d485d6c6faad467ce1a55d7b6772b6d +IV = 47 +PT = 024c78e4fc08ec37f142554182601b36e49925f4937d2c0a2e24f17b7a2945f3cac3a2e53d1093673f317a52aee07e9c43d0e5 +AAD = da48e1920d7809920cde96c96ddd5f9e +CT = 6f739410760f77fc4a86c76c984febd3ebc7b6a445971989685fbb1fc7848407810128a32890bfdcd2d8dd7ee17750ddc78bad +Tag = 1a413f480459f1f77e22a9c4a2 + +Count = 10 +Key = cbeb7e04cf052acb79a6167eacd0abcd +IV = 51 +PT = 35782b68338dc67ab43095b1626e18d2f66c89875bacbf5c3c6e0ec86c93e22f88275d0259effc2e8b84a4b83f472730dcf62a +AAD = 9acb73221cc9d57b9b500b0a60bcb3cc +CT = 3a911662e6e1f3d9bf2f1f7207815981e0b9823b535b49f5bb8ea095fef3d6a6297c129386cac7d8373be2170de6806840b238 +Tag = 2d658a410c0bce70af11c0c5e2 + +Count = 11 +Key = dac7710450e960fd5817392a32d4751d +IV = 5e +PT = c5f5b4384dde256bfe2faad1b2dc4179454c80f6f727965d1b57570e08a258c100e8860f44efd44d202dcdd5658813afbb827a +AAD = 881f259c1450f927abd725a5cb12d59d +CT = 29a6e76e0f0f6b1211fc6b4ba21b85528455b262c5afef0028bf533fc5dbb9b80bb120f24523ca721758e165f44296dba98ddf +Tag = cfec54bfe6daccc49c0a2f5e90 + +Count = 12 +Key = c2292dede653b1e8cefd404b59872186 +IV = 52 +PT = 4f86fa8648caa594c38fc18f30fcfebe81266d1bba01104269d489d4df266c98d9b2c285b6495e6695734757d4d048c0863572 +AAD = de3851c16567e6c0fd49876374ddd992 +CT = 035deba4a0f48c0f9159974a5bca26697fdfa0e674f365082f7eef5bdcf5aa65172994779982d6f99831a7f1a595154e634a30 +Tag = f6cff077db139203713a53390c + +Count = 13 +Key = 6cc0e9427aa0041f3e58d7c308f27a5f +IV = 42 +PT = e3a36df7d67d8941b81805fc6a18348d5b82da63b364d14041ae78cc29ff75d2ad601d08d59bbe8eb656914f6addf4a00f61d4 +AAD = a40446edc6ecc2cae1308201d8f90264 +CT = a9b0fd559ccd2d122172108893bbda1ec1eb4a30b622d9c3eea3a85c8226dedb9e3859cd449e936b3919fac0cc66fbdacf322f +Tag = f3393d9d91a7b25857dc699969 + +Count = 14 +Key = b9b16abe0fcf058ae945278c59f3aacf +IV = 37 +PT = 69dcb1e404dee629710da9e701d8b2089cd1d79785b7135654d025e7465a0c63f8fda1f9454b8b6c93d1286975cfea02e4d1c1 +AAD = 46d443a7968f454ddb88d3fb9b175c44 +CT = 1cc2153579c513f7434cd96207bbac63c6efb15dfab91e3dc278c120e1b51281556e000b30218e71ff13d5aa796d9cf19a2ccc +Tag = 7a01299b67a6f62b3c43885bda + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 937238f1ce1674272f22c656362b83e9 +IV = 63 +PT = 037cc83de540d5b1f7c8f3647ba3f8cccb97025520c69081c750df6b05dc223c85b17e889f55ed88d938ae2f0f0d01a4064cf4 +AAD = 06166df9802184d5ea6976c500696b28 +CT = 1ada33f508b4016f79f41e5b5f0edd0a4d5d3b88932d8bcad290c11ebc134eb87c8e7161e1f3fb5f95bb0afc6c06a652ec3462 +Tag = 786d67fda882da16f1192ccb + +Count = 1 +Key = 3dde6dce3f955f22669ec0468fd9840c +IV = bb +PT = f18d831a2a29966f2e881d4db92ea8a2f27c5b0d3765395043969279e64aa45a3889d42f8954686870c8170b86932fc07d02ca +AAD = a5a467b7c6d173d8b3a811f6b1822856 +CT = 95c7dc22cf9e267a78db6538a0d8ada8df8dd0bd2d0dc1399dbda6b485a8390945a954d4aea56841b8ab8f25ef242d2e35ad3b +Tag = b534ec4b2dbbb077dd715d0f + +Count = 2 +Key = 4a92595c7c93e140ecd1689c3f8910c9 +IV = 62 +PT = 2ffbcbc5cf8ffadfa69e1d4d7134f7bf074213dff77afbf6d47235e37c03d302570b9e934fef71a09818096f82f6e43b7587c3 +AAD = e68e300555c98fc1593771646284cb2d +CT = 81aee518882837e79ef1688877c59078985974e59195a928069b43e1492399ea5418b0aba4ed2f1305c730207ce4d5e3db0000 +Tag = eb413398d90d969d07b6f285 + +Count = 3 +Key = b3b2acc6a029a12b6daa1ea2a60ed65c +IV = 2d +PT = 786d1cbe9b783193816d2779828a2495b9e584048493ed85e7836c66517c002a459bfa01c768653701d6e75cf99c1d2af337ff +AAD = cd1cc948803cd676bd7089c32ae645c5 +CT = 3d9ebedeedefc75ed92bf4708535489eaef6c86128f309a9f98e76099eb7483769fa72d5423010fd08e2b33ccd8889b8566dab +Tag = 410a3ea0b0a1257bb71d1bc8 + +Count = 4 +Key = 409f8481e4fb5ce9c843d131e0689890 +IV = 85 +PT = ec51069308c513eb6dafbfe903e90ee17d06ecdb3f1d65da06bf451ef16edcf720e6ec3c9c014f7f2d57cdbdbc5bf9b20dd739 +AAD = c4e76452f12e9c46d4191f42e8a8dd49 +CT = a486bd5be3473831a348348856fd121bc433ca096768ff80934a338e54880d52c7fe9df37203f623eb2181848136ba91ddcd8e +Tag = bd1b741dc3b1a2f08fea457b + +Count = 5 +Key = 24c66403877bd8d6f698656c80c6574b +IV = 3a +PT = a48329caa5ee9de3800b0acc6f1f717cbea07bdf4d5829f4280184ac9118fb5ac38262d45f8d29e8480397155f91cfc23bfed7 +AAD = b691b65a74ab85a9df7e4c2a6b760433 +CT = aa33c0e38903daca077288995646b494e5364d46b367bd5f76f50c52255509683c9d4ec1bbb6b51a377c87a831cf38ee48e6a8 +Tag = 571fe1b244d41075e0ba0681 + +Count = 6 +Key = 61f419e1c26c48f6d1b820e4b020b111 +IV = 3d +PT = 8be980c39890bc3c56a7588f3a8b673013e37a32b97fc579d821fbde7bdbeb5be267bed7f70fba5843da35e0d551176e52abd9 +AAD = 4f0159792b83a31885ca8c6585f02558 +CT = 14d0247f2bb105aeec8d6c0c3f275154ec5c89e449652a4abb33ddc3d0e8b8ff4e04ab2fb682b493d3323ef4f0d1a44d25a15a +Tag = b931ddbcf99ca12bb5dfc620 + +Count = 7 +Key = e013938f36b289c57b571fdb9ba2787d +IV = b2 +PT = 858cd5a11beb10d60d4e1e4baea47e4d8c508f499d06a611039a874a891a224528f04f7059832f902dd833e6ef69e0a6f31d70 +AAD = 716aaa3e51c224163943398957754d1f +CT = 4a5f0cdce2f64ff4c32cf072aa8f16a36a0a92731bf7b1f27e7f0f404752b1ab747738f2bd7db8d6d387218b72880081b545a1 +Tag = d06579a23efff2b36577afb3 + +Count = 8 +Key = d03ab67e3abb0751567fcf963ea09494 +IV = 21 +PT = ee14557015dac4e51ac530ea30e99d88a27a43e8fc4af7f9e1a7870222b870d3bec3077f0be3e168739f8068b408e21fd63e7d +AAD = ce6f2c93050346b095ad2692e41201b0 +CT = 2342a48174b3c38f66ca87121bafe8c18a57a66836e9034fa01dee71beacaa2fdf4364c67ae068fd7d1399fef48861cce857ac +Tag = 95004bd23f6f6ac6753c3dea + +Count = 9 +Key = e684a8ec9628ef17e65a06eca8bbfb7c +IV = a8 +PT = d74352b1bf4f0623695dd31495a22b8ce24a7117cf375eb3ea26d39fec8cf152c1ea07401354fde2c7a132840495cc93f72aca +AAD = cf4e1c5f67acd42ae75255d1e042f3ca +CT = 3dd26de9f463eeb3ff206e5da628627926dd764be60aaabb710d242950a29f0f98b37156316884fce5f5b1dff60a7fbf971f68 +Tag = 81514646f318b724c638feee + +Count = 10 +Key = a101502a409e5ebcb019d9606a94575c +IV = cc +PT = c7d94740f6c57a4556a7e607ff45b18e5a954b586c46a6fafd5dd2b19fecd0969df997d28e44e168920186bd5b3a09476e70ef +AAD = 3e70aed7d9644ce8cf287d8f3e69359b +CT = b177daa46d3e077354d88cc7eccac2db458a54fbfd52c1b0d4293edc499294b9113188ee3d33a32f9badccb9d98f6a7ba38543 +Tag = b63eed22d3d8ab9ce3a7e9a9 + +Count = 11 +Key = 237e8a7d38515a0b1a3284ee71f36ac6 +IV = 28 +PT = a97b8353ad6306b0ba37bfc601adead11c6a123d2ffd996b4a5260721d74114cea81d4297393d2c99504e684c26301d2ff2aaa +AAD = 3ec5ef2d4c1fadcc8d974f87130fc654 +CT = 5425d72c4193e2538650580adaf8468dcb2363c9a3d4c37d83ef85c3b1049ece2fbdd45d6e1df90c64fb1c384a7877cc14139d +Tag = 7a2997531ce989361cf2c645 + +Count = 12 +Key = 0f0d3a2db4db22ecd22515dad88729df +IV = 8c +PT = bf4da0df4aae314f25cf856ca51618b232888449c057d26a3b9670b9556c7cb28b12cce4e52893c329f3cda09e966549608b62 +AAD = b59fe310adc7a8467237a245138dcdff +CT = f4d6d43de176f9dc028fce4eb42ae8ee6b79178bee091e4bfeb3a656f66e721b339cc5b12c487212b7f131af49457516f35f6e +Tag = 3d52a41deeab1c38f7593cbf + +Count = 13 +Key = e9e3ececde9892d85e0adafe69c1cb37 +IV = 74 +PT = 590baaec75cb6e0e16038871e79cab578ebd760c5412b462a848349163c1092e6fc10ce8efb306a76aeb69b64d4ef83ecb7b10 +AAD = c93a9fbb3d2c67672304d5acef45e003 +CT = 10edbae892d60bd8109b42999637ee033d94f90c9cd536dc971f15ca2ec56a382a62ae4de5f18a7cba70ddf81116bcb101e0d1 +Tag = eb5b7382e806daa3b2060565 + +Count = 14 +Key = 3e0d1a4efc46eddecb1d745ea1da4fbf +IV = ee +PT = 34b484ba7d0b5407da00e5eff390ce7a39d73e92aa37296e727090239a05eb8748e41d9668fdc65ebc3a6257c2d541e1d5a441 +AAD = 666d8db8c4b6302b9c29b028ecb9591a +CT = df46cf55816e2a2d32b914712949da4962495c86c5c93ff0651a0aed566bbdb3a11b2b51523e4dba534be556d88d9df186a92d +Tag = d50b9da21c3d6adc42eb5f6f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = e52904f87c02b5b63934f0b898d623b7 +IV = af +PT = b7ce8ad7c0af18bdd0e1b9735654d9bc1fdd89cdd1db68fd9b7c7214a2f647e583585b18e4086efbb3f7ace391f6686bc010b9 +AAD = 774293fc2350045f6d1843b5a9d74d06 +CT = 5f5a245331999f9b8f44cf0b0b4920321a67ab58856d69167f5d3eeca5c7e41d692c86829524cae7c171d6de93014165b2ad03 +Tag = eb60f034a6922e88 + +Count = 1 +Key = 819b2d17135f640cbcb8ced89582241f +IV = b3 +PT = 195a7f959bf206ac7f8b8b85ac2fa80489076dc5814002bf8f8d3b4d11e46cd46c36c698249642e5fdfe29aaec0ceaa86cb28f +AAD = efba1207bbd072cc4c750f48d549925a +CT = 9481ee975865682933338fc695c875c5a1e06de12b58590d6257570700039be8375a0a7be4c44f2ddb3e0839e7b63864cdc31f +Tag = 1f40df839bfecb4d + +Count = 2 +Key = 3d5f9796688366d13e2c99f60bd1055d +IV = 8f +PT = d84b76e2efd31f54e48ef244771d87117255767c0b3ea5272a4ef50e22b65a72f8fcde487cbfc60670efd4757734a3f73bb8b4 +AAD = 457a4dc22cb559349a59a4cb927cec1d +CT = e22911b41fb9c7052eb71e8529e15abdb7377630c1f765132dfedf154f95b89af64cec1599a9cf25cbb4fa06e8bf602354a693 +Tag = e198888b7d312e6c + +Count = 3 +Key = 6efb6383dae1ec95feb229e698972e5c +IV = e7 +PT = eefc788d2bcbed20c9b7c2ddcf9bbb730be87eacf52ca0164dea29046bc5722a0c5c3d2706cca3c8c2dbe81e8adf51d72a4b72 +AAD = e442c03758a6db7e4d610c044a6fe776 +CT = efd6588bf9de7f43ea640608859ba4fd80a007e18fc9d7075457071a994a6bda3409c5342836bca309477d78b80390f375854b +Tag = 5c7b0f156b6a62d7 + +Count = 4 +Key = cd6c191e670ccdcd0b37a1b7e8aa6d1e +IV = ee +PT = 63567f2a6535499d73cbb21615cd6dcef849c629eca6abe30e2ee92a9f38cc42e69788895ecae5db22e7b754c1a62bee4570ad +AAD = 52cc7bb0d41289fd615bfaa9a7c36e32 +CT = 64b5f775dc9014786b9d8e04cb0ded9d4efbe43d8d039da684bfda6b3bf636fc3c96e94812284f85e6e90e64baebe32c60e515 +Tag = d19bad9544f1b2a2 + +Count = 5 +Key = 61fd9f554e827f481caafdf5b5be3781 +IV = 82 +PT = 9d8cf6e141f1c10fb0f448f475a978236c52a3db423c297186a34cb09cdad7a4e047eb0aeb29292aa5eeac09ea88f34f69e5bc +AAD = c9442b3108388d1cb6231bf03a62a208 +CT = 07c42293e85ca5802ca5391aa96809042901c4479aececcf1a4503dd2bcb00e2b12e8835ad5ca4ac442cde2fe9f770d156f932 +Tag = 4c19121c9f0ec387 + +Count = 6 +Key = 035aa61fbe5e98220c77f619a1523ec5 +IV = cf +PT = 02b9f882de34a6d189ae825a7beb8a5b093578f5a4ee53e12e7694dcfc944d2606d7edb88cec478adbf5b3437e8d4011fca269 +AAD = 0e01a16b1d7a0d76c9741ddfdc1caef5 +CT = 1e4decf78423553bb96aede1e6cc0ac27e042c5293fbea2dc6aeb455a6a3fbe6d9526c5d7466b7c2d5eaa855f2d0e7e10de029 +Tag = ebbd676008e643b1 + +Count = 7 +Key = 7d3bd379bcea31bf3bf12c61c4cfe22a +IV = 48 +PT = 95faea54ba591aab3c985dc9b6386a054d3f7ab83dbede5e31301a05970f11221a16b16830e07ad8f536d4b40ca6c19143e683 +AAD = 0b718739ded7428f8095ae93c0464a44 +CT = 4b673516cf6365bcad14a78c692eb879b34e072b895b48939a869208e4eb44000ddd5de005ef577cb43e9943b35564c7e32cf8 +Tag = 8b7ce6f9191ac84f + +Count = 8 +Key = 058742f820c99523de28d024f016bb02 +IV = 88 +PT = 0e4772d1883e430c02764f4f3f0349cbbbd7421abc271519d82117aa62eead78ac81005cf4fe6b51d342d71582591e1af6235a +AAD = 9397505ac723dd7f9eacfcae835348c1 +CT = 235c61e8a3ac264ba458317016c3c95c8f93984451ea6b2391ea7add2487026d0cdb4293f0ee608cffdc0f9f097648e921361f +Tag = a8b6f20c8434ee7b + +Count = 9 +Key = 37cd716bc108a48da81433a2d81aa54d +IV = 2e +PT = e4db0995e9de901a6d7098354559c9cea35eb418cf439b8cc0d08204919344ec38513b8a36b6dd165ae6b0b9fe3837fc457a4e +AAD = 186990986a5d8ae4329d6d45bccd638b +CT = d4f6c418a151ba64a660a9fb9e5e12f6f821da22004b340b2895ab51b3b888111474a627ae7a6e4f9ed7445d144723bd49d390 +Tag = 33e9dcaeb35979c4 + +Count = 10 +Key = 403a623a665bd1755e3aca2a346a53fc +IV = 54 +PT = 68ac669731fbe76bc024a531564d90052372c6b58713a3ed92fc3fdc0449eca693d84d025c1e55638b2716379469d078556b18 +AAD = 7966daffea107e48e9100eb520d74967 +CT = 17b313842301e79ca8f80d74b01814e2bd07d5557a2b5d8e97d27db895b8ab76724597459b059061d4b5fda45d7d4bd2c0537a +Tag = aa72840b0ca5033c + +Count = 11 +Key = c22d49593761ae83ce20d9b192687ad9 +IV = 0f +PT = e939667790d3670f76d1e01aa88834d2ee06b01d73c1cb334160bbce8e6a38fa0361a8497e4a7783864031eddea79d8a6ba905 +AAD = 6d95e7b665e30301bdfda9115d29b7f0 +CT = 7b0db126d7cb3a3a01c59967414a6719ff18aa7f272813a3b0a51c490c3961e7f4d5e92b121b6320b2b684fad2b52ffcc0cb81 +Tag = 1e7b17575e524851 + +Count = 12 +Key = c2e2b94b48220eb1141e778a2d40636d +IV = d4 +PT = f1ebf8bb780ea8a881239e4457dbd116855063f2adc3a936c461a648688ac4e421eef0bf2228a4c9355b5282a15625e4005115 +AAD = 894bfd2f3c9659644ddf7fbfe719c3f8 +CT = 684416382a1b9edb0727083129b24310526eec7079c2c6dfa6f9d6d359bcc932c715e09afc2a6f36d86505712140a3687120a3 +Tag = f0d97006fb96fa4a + +Count = 13 +Key = b543d94665b418c74eb94f0caad32fcc +IV = ed +PT = 8971885b4acb15c2a2c444ed8a259b045416bd3630cae2a02599fb84bc6e392e7785236020a8e3a0066da21b48999457753f55 +AAD = d9716f5e69ba739afcae05e8dea0b826 +CT = 13223f00ffe1b094d5cac49a02a4ba33ead6b8dc4558073b28be8bd5ad764fd5766f5b5b7825262dbfe16e99ad921e9ae60db8 +Tag = 315d5a231a34d5d9 + +Count = 14 +Key = 39a77c052a002c0b48c424a421f4d0ad +IV = cd +PT = 47f467e4408e82aea6531583ffd2378bfa488b579cdbee6e929e2fdb5724f654981701d6f77ec4acfda3720b3140a620390b67 +AAD = 3f25157c892daccfca9ac44434e3e4bb +CT = ea89a00d8cb0adac885894c3c122d87a2e00b470a17f54fe6c4c766da68ed3d8f97d773c4a62c886a2f4dca8d7198e473937c7 +Tag = daf72dcd9ab89e9b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = d61f560264ae7f9395d60607c5ad6513 +IV = 6e +PT = 3a60e4138abdca9c852192c7e9ac65b9dbeaeaa47750bacce9ffe89ddc0defe3f295f96434c3c5617e7b4bf31b0a8d345fa752 +AAD = 6cd7ac5892169f19d4397c71b16097ba +CT = 406c7f96f8748bc4002a0877ff2da91169e4b762e68a3c5b98f0b096517f4b2a90d5efda980ff3b028615b0fdd634c85e9a750 +Tag = a010a623 + +Count = 1 +Key = 2c659f717324ef40e0477dd3ce16d3fc +IV = 59 +PT = 59ac1d8b3f2d69ecb22e1a57254ff0af25a6ac7f7026ba16ce1821728408133d13ceb2116d0c7385c538b0fe0b5249573a0180 +AAD = 986151b88dca4f9e6d5ac4e8db4155a9 +CT = 819bbd176888476d06e65900cedc477a96ec96fdbf1208e232fa5a5159d797d5f5d6ee5032d292c472ce9be47b81fb3ba92f56 +Tag = fdebeadc + +Count = 2 +Key = 2fe898bf343b0d97e7c9e58a5fafdd3b +IV = 68 +PT = 2edc776e489631955b8caf764384dde029c28c89555e1c481355a7a5c57e9209a77fc6666891f6c2d69527ae8bfb3072b31e4c +AAD = 209e3e203f613fb380412b556a47bce2 +CT = 46058d3b346fd96db4ea2aa3af9a78797712d6f0f123ec206e12bedec3f7d1b005cb7f7f015408f7136dbd11a95a02b79d3668 +Tag = 44b07038 + +Count = 3 +Key = 26d5c8e8c4e22e543cd02b6c35c60484 +IV = 69 +PT = 22607a0a33ea61864a6cbd6e7d44263eefe41d1467c4894fda34021f91d3fe5c8c16b2ee261b282b1fbfd6be4d5582cdf820b6 +AAD = 6f75bebd273cf5dff95faf20d41e017c +CT = d96b674aa83b34250e544ea2bdc8dda248e16c65f73e45de112ce8613e38a5f6238c5f85674598ac36fefe427efc0ebdbb1a7b +Tag = 9f074f23 + +Count = 4 +Key = f1becdd90d8bf57b8ac5b78b95ba4722 +IV = 39 +PT = 36f616d2cccbc2f75516cad374bc00756a72efaf0d07061c271832a7c51f89f42dd2db9246442dd872a3931589c555c3065160 +AAD = bf2d5a9502de3c6bca887840817bd286 +CT = c05708f247b7c7f357c96144d2424fef1db87801c7968d319fd6d30843d09664feca837587cd86546e31e28659db18cb294ab0 +Tag = b1da124c + +Count = 5 +Key = 4c46b661bd8aa96f071abfe4b4383c28 +IV = b9 +PT = 73a4162f14081a47f5ef5dbf9a51e747cb71870a0c6d5d8d724aa0f3dbee1a02198d8a51a934ae78b24f4cac0e799c5d8acb6f +AAD = 8ab386468aa8de24124564717098c9da +CT = 2dd798858aa155d7c8c95896c0aa3ccad4c7c2595e258e1094e85e5fcbcd74f4bcd8817d6178a61d4e262152af71324e42e550 +Tag = 2e0b2815 + +Count = 6 +Key = 023bbcfb8555c8dfa6a3ea72feb29709 +IV = d3 +PT = 8f093897af4553f3087be8a014705ad14a0e537084cc577d7683b3e99413aa19c1f7f523bb8da714c7dbbf8ef674f68bc91420 +AAD = 6afdb76fedc144600e6aa79067582119 +CT = b8f4b4db540fb4557f5fb363c3b038d2fa13e7fd7e25cd458af8330099cc41ccd5712bd4679277fe3bda22dee8b0570e728c5d +Tag = 8122e266 + +Count = 7 +Key = e618aefdc1b596088125dcd010758ed4 +IV = 44 +PT = 90c63ebad0263e48d35793768f3def66ea739883483034af8b14f78693fce18ad28fa0cc29942a260bde22abd52e1c5cb23e36 +AAD = 1fbd90f67fe5d70d4d7b7553dcbe8362 +CT = fb22416001d160ed3cef7d4e1127c34874fa36f345e39eedb69477ab72601512f25e49ace937d9e5667e4f9a68468afff17f28 +Tag = 947ed924 + +Count = 8 +Key = fc48a2947cf80cdd86a58925b0ced337 +IV = 5e +PT = ad157e590b316da6220e366e6b2d44528f1df24d0d5126729d85a95b45d8eb7768a59d1cab80118c84ea3a7d48e8dbb36eb3bf +AAD = 64a3232b10a46e6cbd71644297301356 +CT = eb034bc5464f0ddaf8587f504adc30bcb348789de96e50b40636ae160b7e18bffe8fca48e843e5f3ed8c9bb7f4442be5e43205 +Tag = cf0096d1 + +Count = 9 +Key = 13ce7a02b09affb79cd4682c59747391 +IV = 04 +PT = 555aba1c06fd0472a32fe43edbff509d747f2fcd1fbbe9b5ccbb69e3e670a8f86ea87d219efb1e6e246f3d23352edc3c77c123 +AAD = dd09aa7eee280309333c252ee19ceb65 +CT = 55b28045052da86803969ed2a92080ad412ef57d4089a9bb5dfe12a5ff6a3beed42a4011d245d680cc02800f1dd18f9006d9c0 +Tag = 7968082c + +Count = 10 +Key = 576dc0a273b6401271c1664e1e0202a8 +IV = 5d +PT = ac460d48d7eb927347999750651e4e64bef7d63bc1c6814218d07eaf050adbfc5dee18d055dbf0011acb9220e8caac2a0db3b3 +AAD = af1fefb8201cbdec8ae5f3aad7e034f5 +CT = 8cf57ff52ee86a8015b9df2a932412c684c2214522d4d13b6997c7e8044e70acf54f09b6135bad179fd9f73ec431be494f7038 +Tag = 9c16dfbe + +Count = 11 +Key = b02c4a7aafd6b84984082c3364a5730c +IV = bb +PT = 74263d02bde6f863727309609f8788012ca9f73fcd79511a1f1a899311aacde7eb6fb63c9d370b39ad6cd8dcd6f218a563eb58 +AAD = d832dbd1061920402d2dc453b32499da +CT = c5d38131c1feb02ba396eb060f5e999f692c61d80f97596a0ee2f39b043b1733b3c7938de201e12602633f45d463b828edee63 +Tag = 21a7e4a5 + +Count = 12 +Key = f8e586bae4eccf189ab3a8b936bed4ca +IV = 0f +PT = f13c309745939197b66fa7ba4d62032e310b4e17bd3dfce7cd0e483d1d62d7a55d978a0a6c7d4aff54dc9357cdd2e95b4d574a +AAD = a7a1d0604f36f948ac101811defd7f55 +CT = 3d8b61ac764f843b9359d28d0a4d469abac45a5469d1f255e7b145a34d347d70ca4cc471a9b1babba7e57e15932ed15ca3de88 +Tag = f23dcb07 + +Count = 13 +Key = 9ff7d7e3c547271c1a556847644cc351 +IV = 9c +PT = af6136a27d1988cd120327e705465b759ff806fc3970579ea9808fa4e0b4af3b3b3a9db008650ff43fee3f317c4b826d702d06 +AAD = 8e8362ac32670313aa815e637ee7160c +CT = 8feb64c2ceb7ce7504979c72dc79d62807470a2e311d0e308ca278b20eaa57874ed567138c5f97a2db017f584bcae266d9c0ff +Tag = 5e4cab3d + +Count = 14 +Key = aba30bca3854f1ef9edc145be150b660 +IV = 84 +PT = 3aba83502274a0caf44723b651e8ca65c9d1f2e4ca4dd125b79e60a5e500b02f54890a449584551646840b0867a4b96eb2ccc7 +AAD = c590bf5dc75e4a633bee90688980c906 +CT = 99c3884ca346b93d22f3a5a91ea3b38e62f806500f3a29134a793d2c04fadecb306627366af9cecaec11f7d5679307c66c442a +Tag = 6c781b1a + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = f51cc8fac3fd1f633f40a0e1257065ef +IV = 04 +PT = 5324b6cd24d40977f0db1ce4f66bb9353d57cb231b61e2c6cfea55d7a15717bf407c09511df414656aa7d5c014bf6dce5d1d6f +AAD = 6289b938982b5273190ee6efdbd139f63d3d302a +CT = 727a9e9cb895a37b6f50e0715fec00c4df0d509d97c2dabb1271324e882678facbddbf06ca14015b2a44be110daa9ed96b7651 +Tag = 3b9c859dc422f6338ad6c402b88793c1 + +Count = 1 +Key = 7efa93fbe39969d5189b3688af64fe7c +IV = 04 +PT = b3ff41c6a3d69a150054d1aab1fcb01c1f69fdc9b4cd756e103b3a4724296dd9402dbd382b0efb77d86028f33a39ff0178f16e +AAD = 58d17f5985b680cec4cc0e86440f922d2544f577 +CT = 0c4e9daa242cfca43b46921a58abbf90798ed4211a3a6f540659399423fc06e47274d81dda294d7d6a4b71d12349fd2090ad2e +Tag = 02cb2c35da2e837816474e88d197093d + +Count = 2 +Key = e3d512aaba1b35f0d98cdb8a3d493895 +IV = 19 +PT = c15a373021de5ce4eaa6351270d60eefbf3cac18ba0b2cf13550f00891d18a3d3021efbf0245af07969bc4f198f8791d85b004 +AAD = 986c70a09ff6fbb2b0c4b873ad68bea4f07b23f0 +CT = 3514b8771ec3d92be1936b26e2b2b4aa08de56c731946245793989cf14e6aaae14bc931217addfa2a5aa30b637eb36ea29523a +Tag = 663e84135404d37b11fe2e4219d2ac4e + +Count = 3 +Key = f228e9d9cdb2afa141f00b820f9bc9cb +IV = a7 +PT = b1a97966eacd2d8e4a5fdec6887cac03fba64281ad0783540b5fca034c09105b0d560509085128ab3caac7780875409385afee +AAD = b5bc461587916ac51b17dfadd3dd10c6e18ba589 +CT = 9b6dc0cb6fa42055cfa297664cf0ab31b3fff6314a79325b6000f0efe92f24e0975143c61f477bf5e31d44ce2da5bcf71fb341 +Tag = 33c753075a6e46fe152f0f3fd74bf296 + +Count = 4 +Key = 7119b7cbed44020f36c2d27a458eb29d +IV = c2 +PT = e7b7150518d41c86e315232916c37d1bdddc13c130880bc36465145e0dbae48e85f1f97b3c94066f901766b7c1424204279fb4 +AAD = 01706c583877fe65e682d63020e8f7d4e8851f4d +CT = efb44dd27a14e41599c6a744f46f2f5f3c1ef6ca34e0ac81a4ce61a08cb648813cfba3b2f395a0df5ffe1118dd87a91d6b4552 +Tag = 2ff3d2a61e86fa865f02329edfd2d840 + +Count = 5 +Key = f68d92716be94ad2188782c5b2d70c8f +IV = 9a +PT = c53cc0ea05a6957a845610109665ab240d951e64ed3ce8ee8afe1ef80a710331dc1ac20b0af0d1ef8c7b7554d0d86e6696502a +AAD = f8d317fa82c5491a810051f789a38475e9583506 +CT = 562c3f571470e956ec15b284c14c55a8f05ec1dec1f9099d1e85ad30cf9874cc52c7542d429cf57a49404039766cd974257b4b +Tag = f36de05aa136f4fa0b48974ba47f948c + +Count = 6 +Key = 7e625ba3d70f6eb83c310da3b2a41649 +IV = ce +PT = 2f386da3196fc2032efe6acf2b388b0ccf88635346772188acdba13ff568e02e0c6249302188137708a0b7180d84d3c8bf49e3 +AAD = aa367c1f74dbe4fdeda31312f7770b3075bd3e01 +CT = 209bc47330233d451ed1f40fa2a8e4bcaca73ffc5931f5aeaa12a27c75ee215618d3a861392c78e36c5cb25e1b0c7aff67c4a4 +Tag = 778177fa6d67a26cb98edaf744ca33f0 + +Count = 7 +Key = 5411710f4c11533f5d3880c587a1cad1 +IV = 26 +PT = 38638abaf95341232d4a909f205dd1a8c86df6781e9f245b2da315c4990bc35af1b584020c969724945376ce4eee8383f7a82e +AAD = 48872b4798e75aeac078a33592c3d7b0cb8ded4c +CT = 2d1d034f3ff5bb13576b638513caed74123a246ca386ec4143da9aa0ce5c9c763d58287a2ddef7e73b4d639fe0268c161c1662 +Tag = dc20dbc73575d3bab992a36e816cbada + +Count = 8 +Key = 11b279a0a77709a1c10ba480cf91635d +IV = e2 +PT = ab6c3baf044bb95c886c11bc028ea586a79a06f7593bc73341a3eab1367a9873ec12e159f22dc804bcc431a7b0740f34c94fcc +AAD = bd124923f92dd31fe3dcafabdc7b4cc1eb80428f +CT = de33afb9e21be7f82e0182a1c4f5e8b66d5e7c6a8a036f79a584246889703c851d88e52fc636a4362fda95041be8d057479cdf +Tag = 1069e117bd826e80c957c095e6782d28 + +Count = 9 +Key = 7224c8779d4dee45d981d9f9734cab3f +IV = 16 +PT = 6515a6aa78e6fe40f3146ccc0ad4a9e7fb22d3b6a6c9d3b1e58473efa87d2aac19f43f866450bc78a2f37a92276fff6f83361f +AAD = 7bca717633137efd37404a5b14c4fb59438436d7 +CT = 04c00432cada7755619602637935486b0ca1337455d9751116fd07e3edb0440007607f1e5a4ffa5d61c033f2abf2c0eead6c5e +Tag = e9680ceddafea3dda3b3af928622ba4d + +Count = 10 +Key = bcc92510a31f81f6f90eb1468e69bdbc +IV = 92 +PT = c1853a6691209c913e5d0cd06c4d2c57d0c1f7c0cac776a4d9ce9d6b626276b238cfa3ad2e1210af1dbb63bb30960c5a92300d +AAD = 9446d4dd7def86e836daeb86d0a1f56a98c7e1ff +CT = 3ae06d8643c07da694a118180b5fb9866737a952394683d42919e3d1fc79181ed3ca4f9cd777455ff683a4d92d698696fdb1d1 +Tag = 131394e1d8b6f2075e509c20dbd21d64 + +Count = 11 +Key = cbca064fa6f728a7844f95a6baf21bcf +IV = e4 +PT = 9af765ffa0694288c9bc12ce3f80cf2de86d98a630bf3100c7ce83fc65bb0e1d365a55f4f274ae81465553ddf62651ce1d94a6 +AAD = 72983a8bb1df02d645fc53d7166a64920ed568d7 +CT = b4f8d83d15720f6f4eece7e9632cad6f1b5c11fcdba22eb91418cbe0ba65ca0777c5116d108f591a1ddb03b85e0acb2c864890 +Tag = ccfc05b2622374417324d1c824031921 + +Count = 12 +Key = f6488715b88338e804ac15930a354a7b +IV = 0d +PT = ad6682e11a715d379898dd82a9d352a695af0e38fddaf65352f099ba10c88c91c0ab81fa9269d38c29548dc51bc8e1189abb40 +AAD = 9412137a7fdd59920bd3909dc7ba043e142668df +CT = b2d8547fe6ad14ae1065eee73f164a0a52e27fa3bd5bfa79796f14ccaee1eebad0f031826c1f61cf145d859e4bd27a58807ac5 +Tag = 4abb09e018956d0d20488dc62594492f + +Count = 13 +Key = baa68d523ab89a70632e5573f6593679 +IV = ee +PT = 13b8feb1f6c23ab4a952434a24f3910613013c3a9331c7a7740da658e98ee8d6e68d345380a845dec04b1dab84ecd1a9aeb3cf +AAD = d99c3383e4dc18ff5ae2e4262010a41c83786af5 +CT = ed59faf66460314775480862ae595b4d07637fa35a231a593df59c5ebf83682aa1a945e4015a307d479799c1be6727d8dbcccd +Tag = fffe1795259c9434ccea61f0e9c9922c + +Count = 14 +Key = 3bf11306ecec4f7b27e9d7b0cb6a5bff +IV = 39 +PT = f6febfb6c6ab7a2ce315be95de93799ad8f016415118a33548e327eb184620392e6378747b338ed50a83e6f58153c7e4fb33f1 +AAD = b09440b35e85283a61635e45433b66918e911de5 +CT = a86a20713383d690cd421f0fc6bb87b15eafa4047fba365c59679d0f03440c53e1a39025c4e773fbd363e3c6998893a507b7e9 +Tag = 7e64e5e336c500709c3c5a7dc604e100 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 3751a7b2560c52b1a2d19238580fa94a +IV = 36 +PT = 9945b3c637be5e49f7bf2e4e95a3b421aa65382b58a266f12a141bcf4070dd1fb92bf9df3bad8b31533703734c73cf91802a88 +AAD = 772a652849bc600173f58821dbbd640b65bca298 +CT = 351f6e00f4dc5df8f1d2c4375e5c7ca766c9203ebc3737cf1005430e3c1ad3884362263ff0bea017af2cdbc996838d7668c920 +Tag = 17cdee444b692c949f567ee37edd06 + +Count = 1 +Key = d0aa765c3631a914c581b90973769347 +IV = 56 +PT = 65e78f157a078f3461a7ca9b93489025574e15d0dee3344a869f2c640357fdfce99429eccddf9856449338e321cb4042f7b16d +AAD = 0aa16741041bbf02335518e6ca581999da8eec49 +CT = f7676d8cafbd5a805f66cdcda8a2cca9a70b9cfcfca3e24e0403ceeeb05bf4b25246ecff45c51977361435ae20523b40e5398e +Tag = e0a33c277501b7e3a449d5376c2061 + +Count = 2 +Key = e449046717fbf0237c2b0a41acba7841 +IV = 61 +PT = 58b34f4c79a15259ed1106f4a921c9178cc93cc2a65805b79142577837f88a23b6b4bb18b3402b9aaf71004411342cd31284d6 +AAD = 07359796feae66c23bebaead9bbf1a8a483571fb +CT = 1dd45ceac4222c847186afad3577274f9900b9ee33cc2d8004791cefbed2f6164ce0f7ceeb4a00a3b487a11aed929513de5eab +Tag = 41ee1fa88c124d2b802c361020daf0 + +Count = 3 +Key = 37a5ef04e10353ea71773e78d2d862ac +IV = 4f +PT = c8273215e9bac79dfa539a52515280f5075f8a1706af374871bd0d028d1b479d578c3852d589d6948f986a1cb5dc667ec2faa1 +AAD = 2cee410c438601508978212450cf1f8ee3817235 +CT = fd1eda99fd5706ba9b414b330624599e1189d6c35712dc7f7857a02099abf4813d7c0f8364f7c4783d659fe0a616c539891911 +Tag = 57a3bf392f6c57e13b234614c66f50 + +Count = 4 +Key = 2844b667d3e997131f1a5b7fd5b1148c +IV = 12 +PT = a441b7295ef14759fd3cbee6e2ec12f5d7f2f182033a99fdf4568dd11b26618bad9fcec9aa34958f0b5c0d6db7b4005691b126 +AAD = e7e2c583e7da042e8ae083031b752aec7d1e392e +CT = 5661d30d05606da238da61bcc8713cb6b7534b35827eb77dcd95d585d009d4914aca858956888d8bdcf8fd5533fce12d8d927c +Tag = 694473220b8ed2bdcf26ff469204e4 + +Count = 5 +Key = 273f0bc78b932f1d359dd4c28b7a51bd +IV = 01 +PT = b299316d716dd83c3d625c507138d9323a9b67857bad5d206c9ea1922ed8186fa0d7bceba3847cb5b5600d78288522ff7c1512 +AAD = 75b9473e06014e3d49e62077c5d681c7c4530ea3 +CT = dcc6496a48db3a198d0c26acba76bcfc15d46a92b91d1503568049ed258b6168552156160e8838c9bfae31e85c401197a9f938 +Tag = afd5c7d32ef5ec704ad5e74d384884 + +Count = 6 +Key = cb5c7cec16da937db4794376eb1e246f +IV = 96 +PT = 9e0d56b7f6ff51ee23b4f541f6887449db7c5ae1b8aab821ebfba6675705e5a62f762ebe18e26ee85a4aec28becabfd587cf3e +AAD = 7f006f4a50822d196ed9c37072c0fdf2fae51eaf +CT = dff2303b0faa84bec41188d2515ebc927702cf4c36758327068ee6148afedc94f76d51698d0dbf712ec60cc82c38eda4da3a9b +Tag = 6562917995c6a289b4dbf6b410ab9b + +Count = 7 +Key = f3a9749570380cbc42a91a653ea179ef +IV = 67 +PT = 95fe0d788c77194188a242359b8e70e231e361fd65efa6a81f019b7037688fbeefd3153e55b07a26221b885f40627fdbafef4c +AAD = 4c21a7a9d4f540e38b3308a98516c59289909f12 +CT = 524fd0d5248b030770b05079c4f078c1e76af33ee0e0bd3d60f5d66dd2f927dfcbe55824092ea3f6d439dfdc9f5f0ddb95b0f2 +Tag = 8b4ab8ea1ca86221c3b8084567a8c6 + +Count = 8 +Key = 1d73832ef8ae63df1b509ccc386fe255 +IV = 15 +PT = 9294dd78e663451dce6b2fd59877ebc111f14355c3e4cbcaf8c164e18bd423ac2cb4894323dc624432f1efb4e36cdaf9b7aab1 +AAD = f9aec138f8187c8be752df305b5ac43a41314d21 +CT = 5edfa5d9b2da4d74cefdf9eacbac02ce2fa2c99274db4af8cf6ab6d7a8460434acee46ddadd97b649de13cd05c554235e05c20 +Tag = 0684db209e93fac1f20dee446f2eab + +Count = 9 +Key = 05252b855b988566e861a6c40bf51900 +IV = 7f +PT = 3b8ea2cb7d2b42c627500b42131b52ab80fc825e878a94c8ee508aacedfba3102edd95a9bb7c06aa3dc21d191bdea9fe36a254 +AAD = 18e4b35a220388fdbfc8acad336c005f33c0bae1 +CT = 9b32fb16e21434ab2e3c1851d0a193215eedc9723a223abe197dcf1be6051c531a711bfaac7ce5a8b5cacfa3915b65e3263f91 +Tag = 75b0eed07ba176343e1c8823d248ec + +Count = 10 +Key = 59edc197f1fc7c12137912554b902b1b +IV = 71 +PT = ec1e29d0ef7f001d8cc365757003f0c954770fe3dc5dc1b6020dec5368fe980a05af7d7d82c37107baac85fff1335f1f773c11 +AAD = 25168e17d0aeba7679daf9428567d62e3ea71743 +CT = 87b1223804014a9b979093ebaf7b29fff111859baef6e9158ea3f43db6525213d62e6aa35e9d3c886d12f26f242cbad000cdea +Tag = adf4d39115e56bd9330716951a4b95 + +Count = 11 +Key = d447d7d1d615248d9e5a07cd9f7056db +IV = 91 +PT = dcf4fa42ab13b8667111b76d4401809c476f6f195d6feffae32b52f558d88c7cdca95e70406265dee996c02ac24acec9b487a9 +AAD = d79cd2b088a0b259fb6492fb05215389473f0dbd +CT = 6ec1f660de0c83845c1f0ffc30adcb4b3a1f88780fe70f493726b6bc2b2b7757674317d361033a71cb9b4e258aabe910a31ca1 +Tag = 6c6458217f29f21021adb24f6295df + +Count = 12 +Key = 806ac4a792097df19014662d54baa50c +IV = b9 +PT = 87affbf650eec9e70392fa8897b5532d6903985a72762cca3d4d65b266144b043650325e856e5383cd2db8447d1036efc208b2 +AAD = b8192cd30e66a99486dbf888feedca2b604596a5 +CT = 238e122d6eb4ffdb8ab706945d8af6bc009a0a4352e9bc6d819f7e8dfbc97ff30cf0087711fc1e1c0593d2b71b97ff86d02014 +Tag = 56c8d8929a97e43303e73f20eca6b6 + +Count = 13 +Key = a71bd83cfa5661d1fc565eeb07260620 +IV = fb +PT = 488884678c27b49cff7aa94c80326d969577f2cdc66bee4ffbe5fc71687a35236acbaf217d969a5a2dab293f70de869a115685 +AAD = b0eb883499a8211334e47441da8650d5858d8193 +CT = cbc6c41ad144b88ed55796bcf9a37565c4b7e120f1f046b446fb07437b19579dffcd22fe8d61f47ae0659bd539d4e94ab028be +Tag = 2ffc2883e566d8f27f9598236dcbc1 + +Count = 14 +Key = 53479fc930e5f13db08de2422780efa0 +IV = 0a +PT = eb5194ad628e1a8a3ec5a0c5ec9dc773a5226a25527bfe2044c70cd771749d8b319da8407e4a6ecf0109b3ed6913c4ec4bf51f +AAD = be63df73e25725469f52ce232e6e9a0a21a64839 +CT = 5cbfb641caed27e0b1b0462b56b244f0be84d4bafbc3506e2061196027fd70e2cd466de715d92bb8270dc07ea2d4bc5bf7f29c +Tag = d8dcf733ba8f9f96714689743f1d41 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = f7674eb69c32112c638426cf21358137 +IV = e1 +PT = b3e0e4a32a3604b106c28a38d8e5deae14be3ff52734e22fc68ba2665c9b65a8c0316e6388f1d007a4b9d6fe6ff157f3f58b2e +AAD = 85e4db5a0f84f6cb57e4249224c8b356a9acd5d2 +CT = fb9a3a54e72e21a4a894bf2b93ed7b14b95003d24d308dd96df0d6c87648f782238fcff0edc21de7f42c67f5b16c2823bbddb9 +Tag = afc94fec789616b1fbab8b205ec4 + +Count = 1 +Key = cc60aca4d9d38a47067f664d573ea188 +IV = ab +PT = 928bff9c3f50774a5e22de71f6d3938d717049dae40c00b0c028e1223ea3e1b78b023ce863e465b3b1d6dd6ff1211964630ab1 +AAD = 15ed4c98edd95fbc4e151632f923c182e028007f +CT = f7a75ecb848ccf2747f6597632a49a78df9a16f8c61335780c5e69fc4ac67717267a2ffc6e7267c70ceab451165887b1973bc8 +Tag = 20abebf2c18c2ff8e491b040c352 + +Count = 2 +Key = 251fbbb20597fd70229672e081e526e6 +IV = b8 +PT = c18843aac40c99a5eec6182554ef3ed86134efe577aed5bd742d71a2e554f25d5d0dc8d91575f922c2ecff2fa3d8346bed65be +AAD = 4f484de0afb96f38c78db407819c0d7c7ffe829b +CT = 8857069f74ed7d4a7cf8e15026f1bb2d62091455a9d7651054c300564fdf734a8b2914d4224dfcdaaac8bcdeff078b40453415 +Tag = 3e1099c1ba2f28e4e30e5653ba8e + +Count = 3 +Key = 554c2b1cbb7a3da3475bb091fb7a39ad +IV = b6 +PT = 2d4145e3d826033bca768e12bd540a68f279a67767e4f80ae84b137d9e9aceb66b19320f2c412406f601efa83018740a404ca5 +AAD = cc227faf6643d1dfa391672eba87192ca4ed5a65 +CT = 7793cbe87238182cb34fdb94647075d61b1748fd10aa556877f27a51e945d1b486c5d416d6412d5cb0ffb9922fc4e48e76b09d +Tag = 9cee946ad47a3d6cb9c94ef968ae + +Count = 4 +Key = 4a68a837e96a6de527b32d00439ec77c +IV = 34 +PT = 310dc9450922fb7337688f40a75d84c75df751710357e1e3b2481a293ab747ac1e45213a45539021ceda1942c097e4f7f3563a +AAD = 49f3deea67966b4a285beb9af7363d33b192b55c +CT = 9d8379bc0a386627b792398d7a2ade30896e319cd9bb0152c829b4ed0dc4c271ef2f3f6a1249e1751b7bf01536a1103a9d70dd +Tag = efa0cd691419cac232fe242fb83d + +Count = 5 +Key = 44846cd89336adb02c7ff81c68634350 +IV = 4a +PT = 4948212c770d30a7821ba159a5cf389074edfdba33d070075f3ea53cd404f33e8f7b87e7d658b82784dd752b3446ce21c4857f +AAD = da10fcfd4b8a4f5c81f28f27df5580232dc2cbae +CT = 1302a26bafd559f2d2a0d89f0dfb730584b4689dbd4fef0e494913dddbcc9a7e14d794c84c7d117ef1ab84fdc4f2f5f5f46ac3 +Tag = 845d7ae1781bf67c275f0bb72db3 + +Count = 6 +Key = 42a82ec47ac13c3aa8102fd87cab9a6e +IV = ae +PT = e743411793400ee8117bb644f7ef53af42da27f28fa9e4f74c944b0987cbdc5da5dc7757a4207f93bf8bc7e0d01248bddf54d3 +AAD = 6865a19ba29b1aa7fe82cd1eb7a5453416ec50f9 +CT = 10f269a316b4ab88b2292e602644080638bc792c22fa22d6f7d2696addee402722e6399b52133c0da7ea1ce0db6edfc0ec4a0e +Tag = 462dc864e36d5af811a42d68c642 + +Count = 7 +Key = 0665852c1965cd83ebbbe129579e82c2 +IV = bb +PT = 79922fc1fc3d9998bb4e4b99d72a243fb605d9b3b0f6e7b3e6c9559abe2b1d3ef149a0dae6b236a6449ae332058ef9bcb47afb +AAD = 4a6a7b67b3a43d409d74729f51ac714816afe531 +CT = ecd9728434ce83c759b9bf182edc231feb79111b0f70ed37b43b896eafeb05e862331c92961a7d6acfb375997c921311073f78 +Tag = fe0bc20ea3e04210980387e267d7 + +Count = 8 +Key = 1c795a9684fc8ad78483a00b051447e3 +IV = ba +PT = 5fbc53b84050c77a5387239275a82fbadd0f83083f5c059888a72d5b93dde24f8096c3d8712ca3bbe6df0c3dff4b1ce21dcf72 +AAD = 96d991314853e63f3fdfc1b577562f0025b9ed95 +CT = 45b6f9964e4bd98d42e4d8a51f448a078251921a003c2d02187ea438c11ca9ee6832557135c1d06247187f5e9e4c873bd82a71 +Tag = badba43f26e5cd9aac88267e3d4f + +Count = 9 +Key = 4599dc698cf601523e3bf1b703cbad4b +IV = eb +PT = f22f13a340eca535d2727db3a011798ed2b63efaa78124655c303b75da32e201858d26dec2514b3f61f06b2a3f43614870d377 +AAD = ded4d76c45ff8de98268ed779917b647672a1392 +CT = 477cea8381f73ec6d12bc52003b69c02256447875073c4589fd7af07be8073ecdfd92f535977718ae4375c8732e5ab852687ee +Tag = 70673cb75d197ec81d14a33bc319 + +Count = 10 +Key = fbbd0ed8805f4b5c0b75adb91facebe3 +IV = 38 +PT = 499341fbed1c652fb692444170e9f573865899b64801c87bd783f9d0c43ba650ae6c45a9065644b87c3f3f0d149e3d13908db5 +AAD = 80acf416bbc92720e17bbb9f5a8f094bb1b7e96a +CT = ad4f638645b568eb7b5b134def0ce0d5fd0ed624a4a763e14bcca83faf270e249184cad30efa26f29fbb89126299ef756cff5c +Tag = 073b8b95571bb5533f59eb9e46d3 + +Count = 11 +Key = ae7e57a8b12f41ef70ae9c9a6ca5bf3c +IV = bc +PT = 1cd87d19414062dadf10ec7335f3c5a119f5355eaa276536b3104be309a20cc3b3a51c2875911ef3fdea38287b76bafb71864b +AAD = ee07c10a075acd0470d12fe295c9eb83978496dc +CT = a3f923773763ab2783f92eda88061b1b4dfd8f2a0142c996ef2589cc50b65aaa7153fb696a60251c1b734a8f884c8f5648244a +Tag = ec432a0acc67ceb6319917fa5d6f + +Count = 12 +Key = 577960b13c8ce79afbc70db8ccde0e10 +IV = 6d +PT = 7be816dde4b5c3167f6db56953be3fa2b37950894cbb32ad7c791e02f5ab43a968450b23f1e982ab8d145852aca1398542081c +AAD = 9d8c15dbfc25b7ee6dff82a4bdc4763005de38d2 +CT = 57703117357c4cbc1c9893245aa148a69575afc4234da88c373106fd511ddaed487a22e35b3d05a16240daeabd6e49a7a5ba95 +Tag = 29209a869f702c25280d9232c57d + +Count = 13 +Key = 742b0445daf26c1330e68f09ccc402b6 +IV = b2 +PT = bb8e0e6155fe6d92b7a003de78b2bd38d2ae041879ac7e1098dcdbcdde5b3f77a1ffde0b250b19cf47c103ce32c10c7c46e56c +AAD = c90af60d2d7e76d4b3dc8d2bafdd2815beb5a34d +CT = 5199f1955af3d9438d08cc24bcebfac41dc8db0c5b3d93ad0bff09ad685f2fd649fa9f8e89bd87c15e99ce3083446078776b65 +Tag = a17112ef05129dcd0b3b15796ee9 + +Count = 14 +Key = 711e1214064917087f7847b7f611891c +IV = 5b +PT = bc6131d5d239a71fef2d966302542bfb95fbd28625f82a23bdda238ca2a34baad7db4c760051b73be18e04fdc68b1a171329d9 +AAD = 3915ffe143bee5a12a01469e54d67c3cfc5aacaa +CT = e5616b5a225f3559174b8210d5f211eae74e1de4d046ad21bb8bdda4cf3920e84d61d92b1879fe2e2363b37d13b352ab0c2f0f +Tag = 512a0324d8da261921628c5f034d + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = b6643451bacbf7dcb82e65e9da0ac897 +IV = 54 +PT = 1b36b748b92c1ff447f101d5765c8a52942952075a88eb7edfa57045958ca3d6fc0bfa36394e339e5150d981e4c973fbd18be8 +AAD = d0d312ab4ef81abc6b1b2c54ba5ee5adc5a8fecd +CT = 751f5098f1b135e4d507dda0952bb0b7a48d283492a6b97d48c62637c7a4db7f1b371cb12bbc3c6a6a293f4e1b165752d0cb2b +Tag = 5694775ecb0159d25989aaea3d + +Count = 1 +Key = d7dad969d0ec767f2be96178b8fdd605 +IV = 55 +PT = c665102c06ee5d360e45017a18efb6c78d5a706802876e23e2e1cd635a58a52d865788d691644649d6cfe5d18a6347121054a1 +AAD = 8970deb4238522802a439741684f5126ca48ab04 +CT = b719d127615e88be0bd0ec4259eb61c351fb871e344a9b8a654555a654b94b23ec4120187e03f3df280adb7694649ea90d7f2e +Tag = 28642dff3e03f58eb558677276 + +Count = 2 +Key = 3d621a6bf8a3cbed7d2889ef085ad2e6 +IV = 68 +PT = dd69ea2e41ac5a287007e4751680ce9551418bb5ef139febbb32bb9391b6a8f4f42f88be2f55b16046adc4d8610853fcf0340b +AAD = 0c19a9b9aa55f2e0345b52012407de48971a6cb6 +CT = c0c61c85562d4e20e0b9e59704ec4d353047ddb1759d321ee8b4f21c0014b03bb81403d7c473a4d3f14e940e9ec735e29cab9c +Tag = 16d252c346ff376d85a79e12c9 + +Count = 3 +Key = 118be090e38eb2d1f4aa857ee8f6011d +IV = 96 +PT = 2d61f105b08af1aa22d8cc5f46932fc65c4a1935db74de88deb0143bbcba27a8a9f2152def15d8d782f1fa6a175d3bcfcf3518 +AAD = 394331a84d7ab9f8b0b9c0d157679ffae539ecee +CT = 35fd1c36dd983332242b3655949f77d0223c9960f558886c74d603a9040bd5ca669320a4f4e0bbccd5da3b0a43954e47306976 +Tag = c76eec38db850c1ec8779a1a7f + +Count = 4 +Key = b449a58de3b6827cc66a36f0651a3c75 +IV = d7 +PT = c3b120854ec0758806908fa57935d9e3015f32fc894f72c7af231cf17d1ffbab0c77341d133355bf3e8caa8b621fbf0ca805dc +AAD = 8acc24284662480c0bcdec52970dd24493c33559 +CT = d86b031af019261d1e2b61b9566145692c98e9777e0d63e086796818ecbfd8c3aac68a6b613207f8efb35a4da7383ed8302624 +Tag = 6eff375cf099175af5aae0f961 + +Count = 5 +Key = aa2f2a552cfd82ba6d7fb1460b62a88f +IV = 77 +PT = e5d3c22c6e1f4a5b428429180c5386e65c0edf11f9a27b277c2f31b1fa870bf2599cbb0f232310f47cb6f4c09a41977ce67802 +AAD = f8330749d89c71a20d41d0bf4901cdc94910bee0 +CT = c2f931eae5a2542a7af4cca84a1d98c447e10da1341eb7618b669d1e76fa81afe1de803fb4172a0783589f1af9cf64d72a2a87 +Tag = 9bcda0dafb6b374c7caa881a2a + +Count = 6 +Key = b7ff6e8e54f144ab5a334474d536d579 +IV = b1 +PT = db8e2c5975ad92760d103e08300e62ef7baa2b37d24e5ac3e57569f78f168da7e3364cf55f56ba5e46472da9c945165baf826e +AAD = 893e34ebca0e14493cc2f0ef72f9ce152232f04f +CT = 7dda46e43507d93bbc677aa9aa4712ca2a076bd247f8f2abf8609cc1782e013bb564b80bca2fdc68c18fbff1a93be8070dad8f +Tag = bd39115c36ac60281f50c5ba46 + +Count = 7 +Key = 919adc86c380c1b22bdfc83708d3aced +IV = 3c +PT = eeae579147499ce7bded1e5da1ff3d403686d4f9f486ffd3b9ad29c076c6d1ac76a0619ec7fdceaa819324cfe3cccc3d4092f3 +AAD = f9e80a64e3da5ff1dbc63265b16e67eaa64f6c29 +CT = 809e62de007b7111fa41552f824a3a726fb5a789fe02f44450403026b46319e00db489fb6329e8e04949bc24aec4c6978d0c68 +Tag = cfa6a892f154ef610b93e31b7d + +Count = 8 +Key = 32b7c0667a4e23a4583e484f408a08bf +IV = ed +PT = cccd17d8ceee31bb29da64243f40a69079d2e7e84f3e9016ba380b4f3be8e7e736d783690fe7f353f85e985c56f7ecda07b691 +AAD = 4624f22f57b33b66643baf73aa6f96d09dae23eb +CT = 814172a2d1e97f992d61aa8ee5747310a088f5adbe23ae1a294ec939c895a47840bcb647bcb4d86cfd6c98c1833b2742192c2b +Tag = a34c02cd0af640c07ea2ad87a3 + +Count = 9 +Key = d379868911f971b6403ebc64795cb243 +IV = ca +PT = 15e3e202788d7c155f94410c8363398c24f46216b6a9d025fd322c5d37c8d88f6fb87f1154c84414142d86309b79a5fac47029 +AAD = 8fa605fcb6bf14440a62671666118ba0024c71f2 +CT = 28e9390dfd2f96cdbe8a959fe2ab101826256f25a81de2bff902e4b61955a7db97590e7f50c56e234798e45a0e83599f762bbf +Tag = 420c9fa5c8a62c4a02f025189f + +Count = 10 +Key = 7677ceb87f1391c1b5b5c94729875c18 +IV = 79 +PT = f9ebdec9d0cc59d2ef667e75b4e6ab8084e2bc5471f83325d5671405d9753d55806a54b1e4f781b4c5a34cc63e40747bf818a9 +AAD = f31f920db43f52d88636224670aaa6c3cde1645c +CT = da45887ba23fdcfaf670c38fa132f1c768ceaef299b10e9852c9d81fc167c559b73308cd33e7bdaa4d2afd52f2982538e54047 +Tag = ca75e8a97597ca57719c42542a + +Count = 11 +Key = 1caf6c1ab9e44837f32bbf5ea81918fe +IV = 52 +PT = 3e3510df0062d1b1ceb26aae3e948551a7f894cc3af7fbb7057038e1e6776411057f9fc6a438d14ea2a02b8685510deb445071 +AAD = 1990e0fc8cc08b60463e15d2749726bca2841d25 +CT = 6b6cdd7eed612d78b67635a431e792b65f40427d85cfac08818419aa6d97c225880caa22e2e4247d7f0f29c4458a265045d83c +Tag = fc77da13d9e0f0f366177549a3 + +Count = 12 +Key = 6d065dd0ad9a410049a925b582b531d9 +IV = 41 +PT = 032683db74ee04d796eacf120af9008ccbbfc77b96d503cbacfbc97b1cd1795a83899ca9c0df307f747a95c5efdcb3b2e00481 +AAD = 2b6ff4be6ca402cf6ace4960b0bc9726edf84d35 +CT = 0758ccebc36d9bb7d948756625e72a038e5bb5401498577a561149a338c383b6f9311592c6db144ed941649f6807ae15c4cb93 +Tag = 1ca8755acf7d5718136cba2192 + +Count = 13 +Key = f6e28e293d155791fa9f9b02bf89d6cb +IV = 64 +PT = fce96bb162e472e137a3551712cd289eb3a2b79e2fa0bf56efda4a11ba276986d99c2765a1d2184c9b57d39d49f95b8449540c +AAD = 80065d4fa1cf8c5f5b84b73a592339b9721fffe7 +CT = 9b7ac96a6f7c99251926152d94d4eeec082f923bdcbc69d90e590759877a690c0c71d988db84d02d486f841e45194751028f12 +Tag = 48d298412d4fcc162e0e0864dd + +Count = 14 +Key = 5f9165b89946ee82fb098ba92a37c190 +IV = 9b +PT = 14c898bd113d17a4248cc1c25f3182f698f76411453385557482a9e99f10183733aebc2dbe50cb7612eae4ba63571b03700d5e +AAD = 280b93ad5660fae2622aa9852f02a9c8d95bb75f +CT = 20a0498a278a11afa35a4e6195d03327a1e1a9aa2b1b878ad67b36c90d3295dea6e3257ec4ffa6fa678d9ebb8d223b55222e27 +Tag = 725b2bc0ab8557927e149b925e + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 7a393c4e7ebb0323457c829640f76dc7 +IV = ac +PT = e215439f824cbe1274618bf54ba24fd99cfe652758620216c3331068a585750e2373a349610a1a6d038bcdff5d1584b1daf251 +AAD = 6fbc9f61f0cfaf5807ded36f185f7a6e6bc9a587 +CT = e8089296c6a697070370fecae4e2286009c12cda24abcbf02b1fc2a79c5bbad84af30bbdd1415f0f82c2f471acd3858ebbafed +Tag = 42bdbaba272e19ce612e373f + +Count = 1 +Key = 7741a37346e46ae797710c8ead30008d +IV = 49 +PT = 4ab973799c4f3cac7d5c4554d4fe7e3f169717d2651249328a021df258229934373044bb79b3c0ac1fb36753ad38ae76e42b5f +AAD = 90afe1db67a4da0822a9c88877eaf14e7c020ef2 +CT = 0c2e360d855f8f1a9b5a31a6e06bad90aa70f7e51363290f4eadf7c60a0ce97be4adf2712a219dc596670987c01b88db58abbd +Tag = 49371d01ea39042257391bc6 + +Count = 2 +Key = 04bdf49cc5a1d6a3065d674651c117d9 +IV = 63 +PT = 8cd047ef4062096b8e303d28f10d5537835ffab232950da08148a802ed6b09f79bfb809d04fdb6b1d531238d6dd2294e71b84b +AAD = 2faec6390cdce790d5c60ad394b0b64100dfde33 +CT = 51d0bf94bcb35dfdd1dc73c47a930ba244832e27bd1bac7c534d52d7a4eb575741222acd8ae76944b432e7474ee03042aff17e +Tag = e54775b1e3d7fbe23d7f7824 + +Count = 3 +Key = 9f6166a0922d424728292605b52799d1 +IV = 64 +PT = 1f99bbf7e971fc7a9825a58cefeffbca4a2a0f8b708e884ca97cc59ffec06f449b5bd18d0cd91bc81fb4ab1e4e6b16a616780c +AAD = cc05cc8c1eeca05298ccbc90e8cb40b806d7de25 +CT = c68c3f881e1ddc92351a60fb0e16116373a322226cb1b80fd38b46c7afefcb0606a3cbfc1dd667aefd81946e551e533b96cf8b +Tag = 5399c02c1c61e48a83a1bbe2 + +Count = 4 +Key = 8fb50b88d52f8ec4828d1be52f0d1017 +IV = f6 +PT = 913fff5f6978affebfe4f5ffa1fc42794e365070c305343ae169ebbb3bc10d94c4a1a9be6e310669547c19bee46364a50f6d80 +AAD = ee7b8eae4840b0804b349cdc1ad4706fb9e7ef61 +CT = 6583eb9f633ad877d5afcdbe7d94e56a787913209048b7231abc43e3ef38d4c92c104ca0246c3e704f5ae3420aecf59e28ab41 +Tag = 3aea7bd1b67010cef37aeee5 + +Count = 5 +Key = 2dfbe82d87615406cf492e80a356b24b +IV = 71 +PT = c29d45878a4196faa157a6462639c5fd0e82ec5541b7827f2b99ba34f457fde382899cf629385841d2e98f822905dde3c103a6 +AAD = 5641495cb684bd2fda0546aa42afa36a2cdfb420 +CT = 4e8804904561b397005255903fa8560b1f92ee2026a16c4adc610164533d88353b46885f7608b7bc95b2e37ea4a40d16cf606d +Tag = 81545f5b1b900754b3baa56b + +Count = 6 +Key = 6e6fd116121832d7287f90541d50dbb3 +IV = 25 +PT = 7a27e9a46a0993c0ca6f299cbed5727f0c4d00a4f5a14655f9d61344a040b5509c1d3733736d9e846da60c5e2336a24d297f20 +AAD = 80e42c040099c1874e9240140fe8a6eb8a1489ea +CT = d232549d3fd22af895ef4df18714874e49f904c0d3d09b1f332da3656951f0ddf18c6699f1ac1258e6190ed0573cf49c08a920 +Tag = 89e392735a91570fcb4fcbe5 + +Count = 7 +Key = 72f13afef46a5eafc42bc447ae224c4b +IV = 21 +PT = 546c3681d93cc75c5cf2612f2ad545a68014da0f981d07f8e9e8e54548104f3c5b54623d4ac6588aaf714d9738c8c7addb5d4f +AAD = 5768d7126b6ccb0da7551aaad828d46a2278f425 +CT = 39e577e34a6726d60412e5cf402c8661c909caf673ef042ce0c90518e4cf04cf98d8cf94a2089139e8b8e46ce9ae14f78cd40c +Tag = a3bb3e1552e252ffc7535ceb + +Count = 8 +Key = a3065efc1617319c3e59564feef38945 +IV = 99 +PT = b6792787619dca046b8ffa8362a6e1eff5892e99d2ce8583d7861c6d6475e5026f9ee1bbae83eee63fc64c64d5f8f0ac130ac4 +AAD = bb0303d920610b422c492e9560882d02de5a6f0c +CT = f683ba63ed3b6cf87d2aca4a98e409be082d0f921f562c3f677f72ba4cab734a8ed4ddea5381d60c1b9171e48b8eea61fbcf6f +Tag = 7c9f99b42421fa528e7c61ca + +Count = 9 +Key = e43accf66eeda8a0439a8a45987dc478 +IV = 1d +PT = abe577e51e3e54c785f52118945f89e96c9466c0a3adeec943de1a9cbf5acf734a754ad1be9716f516fcdb38440f1579c9f6a0 +AAD = 1f005f0990e2db06ae9d4a659b0cbd253a7a509e +CT = 94228d387a91b64a7d6392313c1b396287dea93720abf344e33d2c70de7aa41f398af8aa89da26ab832758f23b82597cdc7f20 +Tag = c9e9f09752500642d761ca28 + +Count = 10 +Key = 06704c8dc2f6a3b0b629e0132c47172f +IV = 60 +PT = f1d93e602ad5c8eb52c1b7ed56bdbc780821a4e5150339bf5997e26874fcd2fe3ac86de4cca4a53993e5f50d0e2df8f04337e3 +AAD = ba81de2dbd17131e739b850af9d0e5b002871aa0 +CT = 5999f743f7c4e640d144656d63041f8aa502c98bf3c647477e74492b75e80ade54531e559b84867c31dcf28e08501249c7a12e +Tag = ed1c3c259fc7a5c4c384b3c8 + +Count = 11 +Key = 9ff04b2a63207bf6036e28db8a5b7c9f +IV = 1d +PT = ef3571f8851f0083709e55cb943177fbe509c4bfd5044710a0d80761d5bdb75ebc96f8cb50f855eca2840f31e893b04f418786 +AAD = 8c7affac8592bc76c77894ecde720b15d5ef7658 +CT = cb717bb482f8c85132ec10bef0d8c2af677703735a2d2d67bc4e68e8b65d7c2a1e2763d1d9459918d9cf0aef7c47a24fcf2e61 +Tag = 02c0f02a13ab7bf901ca36ad + +Count = 12 +Key = a5b11b4d554db87b0edea282406b0dd9 +IV = e7 +PT = 9e43469551bc4a6da7facc987796ee4e5695f419ccb2200cd68a265db305dcd6c7f07ff1f3ece26aed03ca1f84839e101a78f8 +AAD = 419d37e0e2bee3b8df0bce0d6d6d932bbea19f50 +CT = ff3f29a3f4e53d3d7a7e169e127921ec70aeec74f018a3372d70ee2cfeb32423657f7ac7bf6a33cef88165e61a3eea94693d6b +Tag = 433cb5f38a6c3302d51a3ec3 + +Count = 13 +Key = 8d8a4e9881f810b7cff8df4a83ebf1e7 +IV = e2 +PT = 9d48d9a1ff285b0cb3e9de6a5233e8e2b69a2dc4a6740f625e97ec67b0d8fbc46f0161ce147a12280c91ce49346e9610e0e313 +AAD = 2259c23b629d7fc1612110bc96b2097f81968dd5 +CT = 912e3f1678a38e63e7b04cd8f14cfa4e47c67248d84d0b6a0656a7f437b3f3b9c63e12857d41ff9f108ec8bceeba822d6f49e0 +Tag = d66420f14e99a0c80b4534ce + +Count = 14 +Key = e26464416bba8994653e61149f55d246 +IV = 00 +PT = 81e84695dcd3dba5395493ebc0a8a0c4d14ae7396fce3964fabfb068ed46c3b9b2fa1ed7efce79298cd661c52ba496b0767f48 +AAD = 0b552ff7cb000aadd280f556caca743fbea82891 +CT = faf5787c7714ab37697274970249fb4c2584c0c91db84096c336ffbb09ddbff57c3781abf5804d6e63084ebe71149aedd65ef6 +Tag = 58acb814dfc8e2b3bcc43018 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 941c1668e6948fd0fa44d1ac596466e7 +IV = 0e +PT = 74fb76530cef9732650cbbb6f7facb30dc59b150b7fac049a624cf1b907484f260ee31317f75b0981aa2ab3aeccb36d9dfab7f +AAD = f012b1a796e67569deab140bf29eaf1c6e7137a3 +CT = da908081536d766797d13e0cd48806abd2f30e17ef0a737b7dc96e09144359c54f30d3a8c734d62b5132ef14bc7dcae34ff6ef +Tag = c750f0173c6951db + +Count = 1 +Key = 4f5ae86e6259e41d60bf44fc04ef9d4a +IV = 30 +PT = af18001cedbc889ba35ef3b44594e09d397d0019613b6579849e93cbee9671347b65f97ee73d59c1c4b87b4545386ae975c6ed +AAD = f0cc95e47cbc60f0bd16f507d7a46204f5182e03 +CT = 4c26a18c4e4ccbd6c606002f898c9e5344f2925dc81d5b2e769d720a9f0ca16a036d4679058db09a9ed12eaa0bbd89875aee5b +Tag = 61a3ad807ecb5297 + +Count = 2 +Key = f119ea45a2a6f3cc2f108a409af4435d +IV = 90 +PT = c65b0fe436eca22115bc97d6c75d97a70baafe68c1145a073ba1fcdc8292e6d4f0156a229e5f601ed0e5747283e82b6183072c +AAD = a58a50bac5d9bc3bba90b75a5d6064235a5a7373 +CT = 0d2a11eee688ef6d75365ce321e33c24e41366706751474f6d4ce1f34e77d085cdfe35ccc3dee4dab0944934a127b8516ef405 +Tag = 3636a139e6c7a72d + +Count = 3 +Key = 48fce452f5303bb3d7dbf8bb8233709c +IV = 8e +PT = 534f26a5987230b62c6883e385a55d9bd11dee91dbec88f23cecacfcb681db1c27b3388277080708e034d3f3632f17eb6ba2c5 +AAD = 4ba9bbc592bfabd9191f2872634f9128a1dc1e13 +CT = 9760c3b2fcfd7821e93a1a5f0ec60b8f6f6dd5056544dacad7c873a2c6b9bdb3719cdb4e6a6d758220ff6dbab7f3d591c11601 +Tag = 51253e81128ff0ee + +Count = 4 +Key = 46087ace1bcbb1ae56c52be276d4565d +IV = a7 +PT = 931af6e00fd83d7141bb539a67b1b0b70b08960a02ddcb1038d5a257d9b39a9631ba159c9cd98f7390e6d4704ca9b251330fc0 +AAD = d653d54686f1f75b6ea793c5a01c1c972a49b8c3 +CT = 40e78ae3da0a695e6e1ebbc2127ad6904be3f5a6fd99319a3825141a017c136b746ed9f3a717c80d1584624678dac2a4112841 +Tag = 8de103833e77a486 + +Count = 5 +Key = 218dad34909f539fe50177b486753bfa +IV = 2e +PT = 16f731e2aed15209df8a302f38d9c772b8bf6d4a47a57ffe4d59020f1a7f18f7f46734d448afe85f567f1a36f45be8cd5401a0 +AAD = 434f5f9ba5b997823ffbe2e81bf6661240f6c768 +CT = 7065d2b0234ee6f68e84d9ef00cf481199ac3b51a3b5f6fa50ad0c61c084bea0ba2455d07e32bcefe4334eb4f71651e83a5442 +Tag = 38e1936b1ff9b7aa + +Count = 6 +Key = b105987b0612f12f888df00365c3d013 +IV = 2a +PT = ad7fe75d1257373c8432eeaaecd40d5bee53cad2af4acbebd2bdc7d21c087131acd1378ba14c10414bfadccf7820e9daca9986 +AAD = b6cd749f6a06a491c25e16cbc9fe0b77724ce10a +CT = 50b9f6a622eb96b1c4af0d1c455621a35eb6b74525210141a0bcecec36999754b9909e95f1d44b6085d07d7c4d7268af739fd5 +Tag = ac6963b4e90f9460 + +Count = 7 +Key = cb8b231bf34c3a1b7803587dc40b1347 +IV = b7 +PT = e2ee7749fcce3a50eafbd750bfcc513333aae802210d4e07715aa56c29b0c691099cf8754c38594abd5763d3ca609d61cae430 +AAD = 96835f7ed394bb412ef62ea3cf2d7ea9e829aad6 +CT = 1738e122a0075aa345b447bd4c71a7f6446df4f5b8957011589989df73d11c0f25015891a0e4f96afff5d0f58948babb86f9d9 +Tag = 8de633ea3c8ec686 + +Count = 8 +Key = fb23b8a05928ded40ace1c3310cd2ed0 +IV = da +PT = 71f50ade17f523a2623cc3f85c3e1cb9eda3a83fe8e06eba25f8e65a4ef7b5f433bf251d9ea92840a6cf0afc69382ad5e092ae +AAD = 3b22cf157f53e8c84b0ff29f3f523b20c6f5c2f1 +CT = 127fd8e45b6dac62187ac7a59ee5801fae85072cd83e2b68bb0ef3d322373fd6a80b6949eadc88ab402de675304f5ba7a7c504 +Tag = 3fc23b6f8f365187 + +Count = 9 +Key = c2e9115591bfaf6e21b4d188ad34370a +IV = 00 +PT = 5385c65151b66fb5b10e5a3384d981a524de837d81043fcdfbd8d0ec6fe7506166929d57f63bca491a3f0931d66b57edd87bd5 +AAD = 2e59e3b7f9567c60dca66294e59d4e3e1d63deb0 +CT = 2b41791b0d962237c68b3d2e3ba8f140fc3967dbd2c0565cfd9ba3a1b9125e93a8cecdae10bb95c28af72ae0d43102e2ff3dbc +Tag = 5fd8366be9b1c082 + +Count = 10 +Key = 8ce4b84505cc77fbb3fce5784e53bea6 +IV = f5 +PT = 433202e6a5342aa7b90a5a3a1068d22fe8dcd6f825b22b48c9806fecdf3da9ed2311d974c9fb8166324f18230f1b300d228915 +AAD = c5b1d47d96573f097d08545c3269c984dd939624 +CT = 236540b81874d3158481a20bef1c7c66f271d43b01dd5d53f65bb5b2fe69d75ace66ac3875e8ce2e11abb1db8dad42f563fcc9 +Tag = f48e3e71ba0a3d09 + +Count = 11 +Key = 4cd4d1d596b9b0af99dc8bd670f9196e +IV = f3 +PT = ecd0926679e382d7cb729892f72f6f56c74e6bc9b94c34f6c6665bb109fe72c09fd795fc5acbcccca33f9536df035a37dc3c6d +AAD = af198f6860dc6dd38a41c666875d7faf5379cb3e +CT = 70ca519a1482aa53a2a1f4f7b4767a8fa16a655850fde3099690b9878c0a3671c42c0c219a4803064199c15e4a7cb016d0dbf4 +Tag = 6783624ad13735d0 + +Count = 12 +Key = 205496af80b0695ab85d17a67051973e +IV = c4 +PT = f9ce4dc7b5ded8086d4c1e6e5ba57bc491c45b634258a2e310cd287a831fd99b73e70a42bfd4209e77cd9656acb8e8b375e1d2 +AAD = 6605a3987a01d8bb1f9d0e5f6eea5509ca3be81b +CT = 6e14c2eaef264b3e9de14b6f401a118c8a7467e8326e2606d84416e0454a4e3f27b3fe3de062994b43d696c714cd6c32025efd +Tag = 7db2da82beb849df + +Count = 13 +Key = 15c8831c766a74f275cb96f6c6178afd +IV = 50 +PT = 17d4fb6d8aed692d7f36b44369a6564f41cdb3638e5a39c67cb185a62b087b4bae1885b84e7f74f40f360845d09b2bf56e4128 +AAD = dade0f3f07e0a7130a90bdc8734e78cdf38bf9f4 +CT = 584143b29a23ff3ac6efe1390298ed42c8f4cdfb961213033670abe87fcc93d322877da6317b611e0f2253f7f4309b28cd28a7 +Tag = f0e7139d32c1d81a + +Count = 14 +Key = d43fed422599fc38223e48904d3d6f38 +IV = 1a +PT = cb9cccad82fc134d76e0b8a089a0eee969ed11bf9896cb485b2d7d71bb97f66d7ea9e058589388966c583379b9710cdecf9a16 +AAD = 5eb6a0205e7d62cdc54de0815c885fbea8c709b6 +CT = ea103d81144243ed0d4e0bd172cca4b4d2724ee751a911b83599670fcc65547d77ed47dbfa4291a220d6a5dab9a4ecef0e874f +Tag = ba9ae19fc93e4a78 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = ee7e65d5bc223754a4ccf9e0c5196f88 +IV = af +PT = d09ccdf5cc848c0bc8c0309536caf3ac80c619813382808a36a237f28aa1888d62078fc6b558c34ef7fa82543d7b911f3528fd +AAD = 5f5c1027543f3e49c16c33a98eb0aeab4c6d30f7 +CT = 606e8876f92e4b2db95852ba6ac6ff04d838599e5174ea2704b784d7bce23394c5cf7f1c3f168e76d16e679742fe0e8ba27330 +Tag = 722a81f7 + +Count = 1 +Key = 9bb2ecdf603daa1497effeedce556bce +IV = b3 +PT = 29c63221640ba83f120de6f4442907e3a12177a449470a72c24b614e38f6e61a1b55b4876d6e6e2bb3cb117a909c3023cb74db +AAD = 86a85d3378985d31f189015c9534cb967d7554ae +CT = bcbd889fda506793b34caf6861a24c34d8afb15a50c6c42bfb0e94422d6c31608d1a345e13658a1abd20b4c23b812f5bcd0847 +Tag = 2677c233 + +Count = 2 +Key = 0e0ce065f0dab440f607dc0e917f6550 +IV = 25 +PT = 511e7bf693f2e6773866b913207def8d16600d1683879e0d4319899edd5de0c23fcede36fba6a4db18ec65339d37ca537ce31d +AAD = 7dd2ffda25a58c21cd16013782005abf79cc002f +CT = b4e8b65d4c5d27b898b438469540b78346f6234104e43f4ed0b12eaef90d29036a85c1a823b2635f0bf37ff7d42213c6fa1b88 +Tag = 020f5c22 + +Count = 3 +Key = 9b62acf4c5a69d59cbab4f0ae98e97f3 +IV = 9b +PT = 53caa584a4c7ca1913c90630a03b60b7724c0bf1e5b7ed3c7ce7c45b2194750e5842b60b6b7968154e28a98ed26a7c95b0fe86 +AAD = 403c672bf73e198f7c52e07771fb7932b6e665e5 +CT = 60c5f97dfe236367908eab82a560d6f4c0bb8bcf2a997a2597df98e04a7badc54d8cb8b9eb6bffb16ce9d1d0c9ef99de6c7071 +Tag = a01cba80 + +Count = 4 +Key = a5c24efb2498c34a4bc19f3b8ce2e383 +IV = 14 +PT = 41fcf22ebe8548cc82260a8755aecd06c226761fcdb0c3a773cf3972695d6378e390392411e4576efd9734a18f84c50957e6c6 +AAD = e51f3a3595bae21d0d3122c6e40c993f8cf744b2 +CT = 27080bccc5732d55cc5d5162aa3a14ba2d8e1237e513ee77ae74e1a1ea96e5ab1fa072be30f68e7a071f8a0e57b4ceb482c0b7 +Tag = 6a9c1ff9 + +Count = 5 +Key = bab04794605a15f01089e3cfea12d896 +IV = 45 +PT = 41a261d16c24d20cfb613ab622b2d83ee4dfbf1e1e9535984899670617429d7123f0c95776dace0fbbabb2e08baab68f0a4e04 +AAD = f639e69819d5ae7e643d3beccd17340d42743f36 +CT = c4e00e8a9fb4316bb0e41721ecf0de2b10cc691082ed47b7221e06165c546dba8da58290c7c6e5b39070189d37aa38175ee748 +Tag = ca9e50e1 + +Count = 6 +Key = 27e393261d4ba854acca0fe7ca34ff50 +IV = d4 +PT = 99728a26d21968183b9c1dec6a99632c001a5c664895ac7f7a94f04074bf836ef6dbd79bc8266bf0080c4aece798340cc90e1c +AAD = d0381b7f428a436089c1f401a490de56810094cd +CT = 4b65b76c211ee24a9b42a9be68ad8a4e880a078131f9bf90a19308d9e432a0ff06733730a28dff5036f0b02286bde9ab2fcdfa +Tag = 152f338b + +Count = 7 +Key = e4a23c8e41340666e6f31d12300f1bd9 +IV = dd +PT = 68618bb067e48072faab0ca9ab7e28bcd3381c4f1aa5aa55abd47be3e471bb7ff391f821c09b5e09f5f78e21754bd7d904f55f +AAD = 5952605da61470b0f9c3cb8bd69a4677bd642edc +CT = 1900950fd2a664ad5d6d4ea062f477040a1039eb07a8b0e23a72dd66d390be707f41d7bab5f84f3181778e75b2a25c29f3a5f8 +Tag = 0aca68c4 + +Count = 8 +Key = 8dc2eb9ecbff20256004ef66b220b8cd +IV = 3b +PT = 63ae4c837dada203d3919f855e98fab93302b009df33d8d8dbf1d8bbdf0b6a0ea80676d4ec7a50ae4053d1ca92859458ff24fd +AAD = 52979b25d67d7a99cbfd37cfda4039e708ec81c5 +CT = 176aede202833732ffd2aaf5d3879def9249e76bfdf69303cff872cc5cda8cf515f5762f78bb0ce250d43ac794018b25c7e922 +Tag = d02db5c8 + +Count = 9 +Key = c8f550ca79bafea554f3757e608c0cb8 +IV = d5 +PT = 5321b3262a7b057406e45ea90ed205021e7f5fa1794f0c3980b6abd8dd02951dad893b05554740d997ca066dc1309aacf4bb5e +AAD = 4da910b782e498f8e4b587549acb0b3f1f243b47 +CT = 96344572cc8edc337db6d3f3e94de10efbed55c5cfb87cb69710b9d7049175ae9728d09cb9a54fedd2018d51381f75d80163df +Tag = cbd98105 + +Count = 10 +Key = 0cc043976010e200acf6b8013405badd +IV = c7 +PT = 6ff0fc72ba8079f0b0cd24f8ac4b330143bfb5484ad3c570d41d87baed960ee0aa61732079d61514b9449283389e3c8a533028 +AAD = 630883fbf91db3616a9177df162cb85b1f713bec +CT = fcaba0c847b32450377d82f8fa04100145e063f2f8a450dbb8527af7ac32b2b413767650f524f67e92b3c0550f492ac8cce519 +Tag = a56001ff + +Count = 11 +Key = 44bfd0748feea031d9d4c6c6c6376b55 +IV = 62 +PT = 0ff28c2d3cd95730a2ac15d8f49403af060477ee89cde6c435448df6f8c66cef69436bbb4ce1dc08d42c42ef9a061fa2a65cf3 +AAD = fad2bb50eaf38db798d4a7eaf485879f46da2f81 +CT = 1f485ce5d89d98f686754e7e3766bcb88105d0da5c5550d87fcb0d44348e48f4ce33adbb34c44ab646aa4260701e0b04b0e08d +Tag = 1095caf1 + +Count = 12 +Key = 7a2bd9d93215b22ed077485e2ce7b7d4 +IV = a8 +PT = 00102835d31c61aa18668752bf7863d4b0802d9a7774a8ce3d631086c904b037a059b4006c25659a1ed133729be262e0950f33 +AAD = 5bb3dde16c563c4c84f6e2e6848947866bfb91a4 +CT = 86c1c1c41597fd951bcf72b1e5c19660d0938652b212e587037d2aa12805aefaaf40bd98ddac60e41c8f6c22d54b82854f53a9 +Tag = 3c73e5ee + +Count = 13 +Key = 9d5fdf30fcb44e773c5702e02eaa2d74 +IV = 4e +PT = d18e89f1021387e2c600075e95e4ba1fd96e35a28f88b5b9ce7d79e804668b2d6c1a256b52de50f45df7f04ce904c35256fc5e +AAD = 5b4342d8d942dc0fda89956cd0448c49c30de01f +CT = 120f153d5a5944b3941b2c0a70c9d912bfc0d98ddbecb2f81a08cb5277d7fca16920d8ee13b3be7855d0586387decec6c733e9 +Tag = 2977dd60 + +Count = 14 +Key = 17c9e3d0ab3d534665a41c4c3e12803f +IV = 1c +PT = 5f1e5861d461d3cc24b506249da0b9067550f24ed5f4d7bc2f80147280ad99636b332e9b2259c56b75f67c27aef814744634d1 +AAD = b43644e9e3168b61d905d489b89cfa7f02efa889 +CT = 9140e6229e5d2867a62988d9670a6fb7dd706c11957e435e17a13dd7e31e682d1b831cbcc88030abbf7107a46bb04db980ec60 +Tag = 15962648 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = f8d6868a7250f76e85de2e9f813edfc2 +IV = 0a +PT = 81e562083769c8ae8dfda00f192396a504b70dcea2c25ed0b89012ab9ebffbdad8f227d98951e75685b16bac064ceebd6b1840 +AAD = 30307aef4c3b7fa25ac7b181999851717f703a481bf59b16546bf2df7fc7d81677de6989cc64140470ab8b86a42ae498 +CT = d1c2fa6ba5b29cb95f7819b2e6f2a7dbc0d8a58828f7e8528451633385afe0730921d08b50b7e0fa3be469cc72ff0e3226fb54 +Tag = b96cb72d696ad2325c36a55634a21d0f + +Count = 1 +Key = 3b5cdb426a96eb3a178e1d9033476757 +IV = 32 +PT = 2f676dccdf864213672dcaca0aec433fe74ab9b0b16ccba392d52458cd6af9ed4eecceb10f02dfbb5e40303da0484ea9fd256c +AAD = 01f24a7b668729cc052120049e5122fcf90dda63ac10ee1b584000d71ce237c4e1d60b6b03dbfa6809c648bafa7e2581 +CT = b08a463016fb2a0adc43f8d94c2d15aea42ea8c972700b65b14330667e50f5e42a99cec601cebdcc30248aef5c7e688daf185a +Tag = 1742df70ec809f2eee64d615aceea4f7 + +Count = 2 +Key = 8192e518e2b4cd47fc64968b8fdbe522 +IV = cc +PT = 9a1bb6a40f5681c05d4beba13cc42f17603bde7171f73fdc11f1d22566b625ce876d36588291540b6da97e370b06af57eb6a2f +AAD = 7436cdc88dc1d9fba15879556b0c64522d2439822ad457c876909059b4c78369f400cbc45d8efe64ce2a664d5c262060 +CT = e1016395fb497d31bb74673ae9df3e2a2db8a2f43f113ea1a3199268c70af9dc0ca6872e845a7b291b45dd2dfe3ee3d33885f6 +Tag = 013e6db1981fb70d856871e44a836902 + +Count = 3 +Key = a9e344bbca03de830df6c23c90ba8a4a +IV = 67 +PT = 13decc38d55f4c94c10d3b03672f6ee6ee069df6b7a946287c3ffe01cf81d8ee708f8e8ca1a89c1e84ab491ecefa811b829ddd +AAD = e35454af106fd9dba988d4a97ea469aa9e7ea63270a9ce69d8152fc7277b01b900677268547c9eb1ecbd70643b8a3218 +CT = 002e96cb7ad82367a35eca4e55862fe9db008fd949312bc2481f64fd7c771d49866b7d17847bcb74d7ed6d85f3ba302c228888 +Tag = 2c195a9846405074c8ddd8ae82dbb038 + +Count = 4 +Key = 0a1a4fe99b86c462094de9a6ade07cce +IV = 97 +PT = f1de79c946538dbc21b56d6497a291e234307e79cd023c136841b2b8ad438c705d05a9c9d5dbc5492b5d3792c67cb7f17430d7 +AAD = 11bcb5d207f05c674b32f80185eba739a4bc30ac0a21e3ce99784d2126e5a4f11dddfd35a229b1f3ab3540ab6003263b +CT = 1d98f7bb990f2e52b7446b33d3273fe8e122c5914ca53671a4fc66497d560043f8ef41738bba232ea742cbe35c6172b9a8a233 +Tag = 58fe64f7be3bd4974f5ac59a482ff0da + +Count = 5 +Key = 1eda7ff448525c3e7534e1780e9a5a7b +IV = b6 +PT = 3c0ff1279e66566d26d5ed05d799f3e628fc6977c9692430c2beedfd3ca667432f1317fe4e7d8bd5d3d8e29c408371924119da +AAD = f3453118f48feace2fec78b58ce37a0bd567aa1bba6ef791272bb51fa131fb67be567685d77dc911f4879022eefd1eef +CT = c74746fdc9dd2d67c8297ad62b20c430ac6f187e878f2b07bcfd6829ca956c355a99e609bdece5f0d5f20c4170473f452d8ff2 +Tag = e10d57184ad4ba1a32abed1ff65ae5ba + +Count = 6 +Key = fe85a865b5b9d97717ae4da549db10b2 +IV = 2a +PT = 4d576b10643f5c08e39342a98f17fd7c6eb33c88a14d330c0125d9609caacae8a2ede468a1aee68ce4e78799cc9de2c6718bd5 +AAD = cf6b8845774a4abe70bc8988474d4e2dad8b38810700ccbe5b243ec0b45c38bc26bfcf0f8adb557abf1a95501f2fab05 +CT = 569818db270ef2bfc963bcc63a8eeb02d097b84274aa241d702188678023b407c1121b174160ec2e79321855d45b88854d7837 +Tag = 0758576e1f52a3ff802dda6e0b70476c + +Count = 7 +Key = b81233370fc03f6db7a608adce2ae43f +IV = ab +PT = 4a6a44e6046cdaf5fd4f93b3217a4327c7305638bc34b6681876f973378824650fb52cc9a744a11129b7c3593da4da447364b0 +AAD = ee4a9ecd882a0f840e06bccc261a0a12ac7dc7408c2a881c0756cbad010c5e1f3f6c138c3461e482792836f08b2deb4b +CT = f5a8fedb5320187fb00642e18258bf0c0e71869aba07ecf0880fb08b5e7f76b776d6a3b082c03e6d8c0c0347814fc4dd5b1c8a +Tag = ca280a1835d749239467a6aa57c0e1e0 + +Count = 8 +Key = b5160d957964aed417c1a4a526d8e4da +IV = 57 +PT = faff73fa134ed74843d15a7f95669a511cd17cc2089e3d1d6fff0e0b41a072d7651576ca6f332a76c8f3500ddb7285121a7385 +AAD = 14407ef55574bb3390ad0ced26ffa4c32ec15219d6f48501e7a6112f536ca9464612fa06982c7d2b01181fdb915c5397 +CT = d48597e19358b3515f01f5bb3a8f445594eb127d17a9bbecd00a2f86b7bb82a28ab412ac9c84661b163280e4dd56f5f41d5846 +Tag = ca66827fac066ea7c395a899e90cffd1 + +Count = 9 +Key = 2fbd292c8a55e13771f821e4a39a9cb2 +IV = c4 +PT = 69f44c8aa5852f95b89f2c2a8b5ab54c80105663f0ff3065e131c379353ef82b47a0118d5797a73d1828fae583663230af16d4 +AAD = b310b0c9adda18f4ff77c5028f4b26885244e24f57a9770f5dec8d51f92cce643ca9b4443e6bd58ba2956a3b0a8c46c7 +CT = 323515921b3ad18c91500d0e49cb15837074822fc4f752755136653a9b5c1467ae6391422a31f923049e73752e6232ed93a6b6 +Tag = 1761520f04f9733c1f863dc14e6ed783 + +Count = 10 +Key = 94ce15ab5d9c735dd78507f1a18ef43a +IV = 0a +PT = 2b3a15a97d156350daa02c94ffcdd72129201b47c869cfbb28ca9ed4c1ecad3453b46a659cf3aba92257b126eec2f4e9e5d609 +AAD = bd896ccf5a48a1dd3b618f480f3e92b010b7c8adfd756d39b405e7eedb675366b543350315ce762e8e5fc11ec441b4d2 +CT = a570a70687605e12ff7c08530a4fc7eb004e242eb4639caf9bbcc5f00eb814de4e8f39243a05f58449cca02b1250863c588239 +Tag = 2e93aba852b3e62a4b9cc097f247bd2e + +Count = 11 +Key = 68c0fdf0aba38e63ce55dda70803fd3b +IV = 26 +PT = 0208e77042fae8328d5362248892f52c15f36b71cf7bd2a87c9047beb5b4f5130202ed227fc1d7ec9af4a969e3561ba4a00cfb +AAD = 1fe98e2022bf5ddff19c885095489790973001ae162de30aba620153fc91772e0ff3e7bee8e8fd4bc82ff93c884a499d +CT = 01fb6ef7ff711c1b366fd0be8d31821bb8c23778608b77732148cb99574ed31d397f3aca5452ba9ec90a867cb78b096a797eeb +Tag = 8917385b0bb787d0c523e269195317fc + +Count = 12 +Key = ca41cd1d5823dd555fa0d00bddb03314 +IV = 7e +PT = 019acec5aaa7c5a1d45bed92e9e3429803c6a869cf5ebcf266cd2a7417b94d77c66a1f5aa45eff893ec053cd1bd66f8b41a89a +AAD = ffc0e25649afc5b05953e4ba49380ead90df309cc22b2efa61fedaa54348798f33660dba8e33fed056343459ebe5befd +CT = a37d7322c5e5711835341758cae227d751d5e93448049096bfaea391e7b9f7389b96897d52bae014a96b2d4306ed06779d3d7b +Tag = 86494b96e90967e96eb0480347d8ebcd + +Count = 13 +Key = 5a2b111971d8cb2244e608961771c95a +IV = bc +PT = 6adbf04ff277f4229717a4592e85a3283ae6d7e208818c0cb2c157c8f715d0e69e4460cf2a90a317087342f33e3eb60a1707b0 +AAD = ba5309b67e461fb796818bad42b24ffa274118423fad4960b35135fde8d7f427b81f067f1a8b8f65dd223a70dba17374 +CT = 4398549aa9a9391979a053bd9c11ba05e1e314063bcaa66bdb56efd44d0d5f6b8aea788d89daffba9f3ab4d5eb371d4756510f +Tag = b122958830ea1a27f866b90dcef09bfc + +Count = 14 +Key = 35183d44958af39a5190aed1e165f77b +IV = 11 +PT = ac56dc95ec27fb0e632390d0c8a4ade78ae6e7e4c6641f3a132cc5d08407545189abba3eaef8d9aa4d65f40fa838cc1d645144 +AAD = efde3eaf09d6ba83f3b22d70c87e446fe6b7049be995f9d6f8c9eb659be7cd3d48d4a9dac56b8cd1b74cc28006cfae36 +CT = 68c21f5f1c8c22d9152a8c8c1e9020a836469e4269a3ba2b3e03769ea883a36416118facd9d76d3d6ebe8bb8049029f434d079 +Tag = 3db64e70ddf56eefb7693149bb162e59 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 57652e3568f7315d02fa89d1c60f8418 +IV = a0 +PT = 9bed9cd95d6eab3853273ea55388067568c021fb62b73a658ac30e8c1ddd7cddef8724dc04b0b6ba7c72ea7edfa8d0a3d40007 +AAD = b6d89c9a005f524b7c14f6f99b0e36f405529fd642a3930398ae151b18345653c777787281882ba464adac849c378639 +CT = c6c63880288a1558a535992c47961c3c59648a974de545502c0f8f68c77dd21f25303527b7ecbe16168c4523fb4f1d78649f7f +Tag = 1ac3975c027f7578d89d533342f76f + +Count = 1 +Key = f9c758a0023a9b98a732fc0e5b747ebb +IV = 11 +PT = 8420cf415f1d1adcd7b1d906e17918e023c51dec0bfc6a0e6002cb456744d64c64367e71be92e4d8325961d205eb16bdd37780 +AAD = b1d06bfa3573f268a414bf8d29345549288f8f353d3fd1ace639d7e1f45377aa722065925146981a865077a2bdbde95a +CT = eb6ef2738daa1c65694ecc84067f80033bf1e0c20b0b922790bf68a19bdac0042b0484c9cdcaba6033b25c48b348bb8890e6d6 +Tag = 15d98656e178449c8b8db36783d46f + +Count = 2 +Key = 9735bca7cf6a9a7f45b7fea5dd0c9f42 +IV = fe +PT = 8e4af649e1cddec929726c8f6eaf4d3ed28efad46f9eda1e21ee452ed6f53359c45e7c066c16b635fa95878aaa85a940d5de60 +AAD = 636d1b347a6d621a9a68419d0d6e6387d3859a3b09cfb2e85f0ff4e2864a1490fe455709f7707afe68788e5573e3beb5 +CT = 2918597ddf4be5a9b427ded7f25a9d487c87a6b65a68bf415f467be0b9f38807e94490e4102c1c260b58ba935330061e0823c4 +Tag = 3835d73a731c9351ca08568be71e20 + +Count = 3 +Key = 093495062474a75bc090cef3284f4ad6 +IV = 02 +PT = 02a1f4be22b4585e78d8aefdcefece22aebb1bf3c04fa0aad3fb42a33521bca3d15818c7c1eaeaf0b2721f94995ec4d7511213 +AAD = 2a951dd94501f39f4c8ae2e743e1f43bc50d2d8e15b740fa4a29713ffbf2ee94af129f1f7c07e0e93e9932696537d77c +CT = 4462098b05bc9dda839cd4788c53bc848e9304e58234e99c732b8e693d8d6c8d2ca32402cdce6ae2c0c7c54e19e96f23e11546 +Tag = c930c8d13f310dacf6514e45ddaea9 + +Count = 4 +Key = 39acb0ef8ffef53252642e2a778d1ce9 +IV = e7 +PT = a4f5f81338dbc455b894e565ef076a124af391a1eb40802cf35a0db2f3bb8c6984cb62d1f34dbb5909295e8b633e2a3899c49e +AAD = 93588c03f1313cbef3346777727bc938f205b64baa8e43d2ad25fb6850ea1139f8f0bebec321b27194a584d64262e5f2 +CT = 92f5266050376298557995bc8a405d66b78120ac48fd90ce5dd8d94c2b8725ac98697cb2bcf7bcc4aba3d52bf82f1779294e77 +Tag = 2c8d27d2826bf785586cd28ed4f322 + +Count = 5 +Key = 8d48f4efa57dd7686fe3cbe221ce4e7e +IV = e1 +PT = ca7168ffd76aeca04dfe25914f12f440e85b46b6c5d10cd17f0067e7fe4497f198fbf1650f4533a31c6c143b8b606d3da58afa +AAD = a0895636215f54e16aeb7ec39ed386a659d1ecfc65acdbe924c3d2e297925b058ea552583951dfd076166af55b8edb6c +CT = e58150e5e27cad4775d4a7c5bf50a05e2f2899788043e47613c9f752a878a2c49a5ff5e4ebdc32d2cd02240de07826623f8779 +Tag = adb5560d978218d1d8c36563b42927 + +Count = 6 +Key = 2851315fa079397989602b1340288ae7 +IV = a2 +PT = 9165ad38123b099bbc87264dd0965dfcfc32269d7184d41a8d12506a29fd253817ca6b586391740885800bb4c424189810c5bf +AAD = 596589d62eeda112149f664c3343c5f30621d36f305143b23ff4794da4e64184ba8c2cd5075096cd8b9c22a1fb48f796 +CT = 5d32b69bd95f2637421ca8600234e8ea4ad287171f4fcf81df2e88648b4bdba575a597ddfc6c97c378ef9725c910d98b065b62 +Tag = 97e4d02a646517f77b2f711ca04e1a + +Count = 7 +Key = 07c4130c330083b0bb1305d68c4d3baa +IV = ee +PT = 346945a7dd3f5ea16b5554c9ab38df168cc0405491fd6bf5d6b4c3f22dfdc8db36d7783b61ad39c35e2d3ad0ab87cd154046fe +AAD = acc01e1fe9e42d7b275446d35322be0a328b87cc8e7e0343b65ae3fe4485c74986896d961b220ea606610cf19763e71a +CT = 7a1d9f0c8da3d039ef29c8114a5b5cf96e38f95609a960435364ce15c6744d95eb0e8756cc865d16592f7ba54cb7fc17dc8a79 +Tag = 96367de6411086ce97483ea3367cda + +Count = 8 +Key = 0693175a25c6e39ecd33886dff571512 +IV = dc +PT = 480fe0e1eca629ecbd0b8b83a5045ef94ec8778da017a91ac99cce9ee7875330c7c4e482ab86111f750574bba7fe578e9f64a2 +AAD = d874cc218572cb9cc75f2c07b4e21eedcf6d74eaaa12d4abab410fb595ac0d0260a5f5618980d0c544410bf6a654f67b +CT = 297d0ab4651c704534b90f6896786c88e16c8b4ccb8e83fa9e6e8a923298f03c415174c7f9c229c14cde5fb5b11afec02a2f45 +Tag = 546af372b0e77228cab435421f1fd5 + +Count = 9 +Key = 5ac3bb4cab404046e565dc3a157a944e +IV = d8 +PT = 8d5bab8cbed0a8017298eaf2fe8a8e773fc6384a6be57f8ce8531f849a6ba7c65d8690c4db908768c5e3c350ffe2c02ef28e6e +AAD = 8bbfd317fcdcc43cce29913500eb918879cd7d2877e13c854c64c6b439aea633bff0ccc19a4796e6ad2e676a7539c912 +CT = 02655415fc7b6f6ec5251576d5b9b202fb90fd5b7a1ce02b91f40968313e1c4e2a3d7ae17e607fa066c2da078a6f071ba1b675 +Tag = e1f70c23d61076ff3b4d34aa0ca97e + +Count = 10 +Key = 8e45bafac38fa8c7b0a3ecfdb17edf2b +IV = 4a +PT = e14fa10a6f9bf2126107baeb9920a7ae12bb2e586d30ec0d95041cd42e67000c054a9bf661f6f3a977c53ba9c9a0d725d3a761 +AAD = 717c18508cbb4960a6fc54e17fc94d80df58033813ec949634a0eec75b68702b4341f2a16a073a65963902220b78e95b +CT = 74ca4b7ab2395eb9d0dc48c27a00c966aa393a57731de7934fc7e7732b59d0fc72b503677036e47fc151c183a431d21c8acd6e +Tag = 5b22e83c0d713048de3a096d5d587e + +Count = 11 +Key = 491e82aec5519a160e4040f8f75b24a9 +IV = a7 +PT = 93874827fde45be43b53c066f9ad530320f015e995c35a6065900ca5523aab241f6aa5dddb338600f24eaae2ceef6839fcd887 +AAD = 68fd1f5fac57863f79decaeacde7c54837cd1d9ea48bf66f5f5489f97e590c04e7f604f1c56aef95d7d774a1c26e794d +CT = 9dced9a4148f83de9de3dc5c6982e41ec27b4f53e75ad31ab6c7aee2f1c9f9685877e827c5516a4bda52f22a1e965bd3d635d3 +Tag = b37b273ad2409a2ea533100954c76f + +Count = 12 +Key = ea83442df729453323ac43aa7fdc2261 +IV = 12 +PT = 88064f24111f58fb822850851d0ca5b6634285d3d5edd8e7b8712027147b00069aac3cbe757d30a3532090972809ffe27e2166 +AAD = 71907ae47dd42b477ae217e9429e89687c7798d2d571e3ab381a094e716536239606b996c80ca66b789c70e2ff5e533e +CT = a4d084d8eca6f40d11e14cf61f5d0db3cb6c6c3902fcee2bc599189af8c6387af6c60cfefd8e16ef85dded34c8f7e9f8384aed +Tag = 97d5197542fbca6d5208d247fd7e68 + +Count = 13 +Key = c6b38b49323516d6b8da830e70147a67 +IV = 98 +PT = 1996faa6b7ffe5ad3afbc3720f0ae02f1f5ed738f79659be84a503bca4d031c573739e568586f9e7d98a3e3353859782540115 +AAD = 3982ee326479002c4cd0fdb2efe1c19579a975f7792d822120e339e5cb1423141e34707a2145d62600e52ad6663bf42f +CT = e1cd635a1f86a28474c08fcde774b773d2012f709dc8b0a183afbe5bf4a18355d7a45d43f22286685a95598fe6d3ed5f0a2afc +Tag = 166f233b885323d387cc65baca5555 + +Count = 14 +Key = 05d33d12bccdf727dd45b4fc37c39495 +IV = f2 +PT = fdc927047e410bccc6b2972197b0ca09d889126a4563a1a6f05bc4112da081cf6b98d1e4163b7afa39cf1782a185f91f0fdd4e +AAD = 0d1c487b2ed99532bfb90a1dbd5446bc8b978f99be0b088199de7b076063d3e4e43b523c1b9fcf5d43de2e4c138be649 +CT = 96ce2ef3e98b5a099e2015523557979d4028295495399f549b9731f12bda2bd7d531ea1d20d94198f927f06f2ae3967695aa6c +Tag = f18fb0e2af2dbe2011eb68e3d9b697 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 330f29cc2282036b4aefa711d1b0c0aa +IV = 5e +PT = 118fc839910e0272b65371cc7375fa6fcf181817d7f59a6e992d0ad2bb85a77a5b90bdbe5136907368535f24478014fbff928f +AAD = ca1bb38f72b09647d9338432d454a55023cfb19546344dad3ff6f8b466cfd4e9dc38ae3ec5be1120ce598c834923d6ef +CT = aea7ca6801f06902df414b142f2e9dda6950cbeed1aeb18ee72a70167d32db1ab0c7e82abab4de75b8af99574172cc796909b1 +Tag = 3f5bbb5f5a5b6edd1ccf1e58b62a + +Count = 1 +Key = 182a3cb62e5bf0a5add9822524033ace +IV = f6 +PT = 9a9de8683c93aeea10852058b8529ab06a35ec1d6eab34af9abbafa0477c94386e45869bbf4c9ea7a7906e26e50bda8f70b0f0 +AAD = 7d930f59c73663ed5d55974c5313e12fb7d05cdcde9aedf253e92e02b24364fb6173ece4c66249be3e45a15ba6827802 +CT = f48319e8b35a5ff8e79c84087b9bfb7c8902eb3dec4cbf259a467c4dfdbe595d05c0734ad84ce3dd1201e26a2b6d93bbc51815 +Tag = 87959b0b04326969be9dd6995bb3 + +Count = 2 +Key = db38cdda6c33b62eb381684e0ccb2f9c +IV = e7 +PT = 979cf81626b74ffb296537905bd15bcead68ea2e7d06b69657b19d1ca30c0e208bb51213590f82a0331abfa99bda4456ea85a7 +AAD = 0755240e8d8086990920475385be27694305e25be5182830d61a819101bf07fe300dec5c307417a506f0626eb56b3f1f +CT = 004bfc3d759fe7404f934aed364ef9fa4046efde505a5b4b5d4dd6fad43b10c9a6c6e0273dc37399bd2e5364190ad1fe5022ea +Tag = a7dd9aac9d61821e7c0ffccdec62 + +Count = 3 +Key = fd4e9fdf497ee1410c24e337e441a5eb +IV = 13 +PT = 5165c294d00f8cc71e678c51f4884406aee3b306df1c45ef65c2de1f007dbd7fb19afd265445f7871898a963cfd8e9ef168864 +AAD = dbc59dec23f3d9a8f423916dd26b37dac9b0f5295fc93443526f199d68f2e108aa18bd4b758580afa24d4362257622b7 +CT = 2fc19c69b13e1a9c977172be0b05396938127dc74f37854f892fa9d2fa1cfe9cabad2b48a4d7a4741fe1461e36f06e9406354b +Tag = f888212e13b2ea467cd0da778e5d + +Count = 4 +Key = bc69da9e12ffb4b328b1671735852848 +IV = ac +PT = 5234af5e59c6a566bc04e884f7d6f05224c6d041aa07ba746b164aafda87149b067d4f4e95e75da66d3fc05f1e9f415b5c4d5d +AAD = d4623a4c4c6219b334737d34dbeb73cc077a6f73b17e61a0ac76886c88ccd47816e54a166bf2806abcbb444658380b0b +CT = d3486bdc44c3c36a500d048357ee3fcc2456de8e68054085afd5060eed804ba1841589822caaf57c45f995a1de0e776234ef7d +Tag = 8a88fc61c981769624ad49a10919 + +Count = 5 +Key = 9ef89eadf0e8a7f668fab4aab4443e02 +IV = ac +PT = 813810925913522d57a7eab61873d9ddcd1cbf71a4a5647d9134d8a826a0ec418f1b20133b3299cd14c62b40004c9c127dbeaa +AAD = 9c4ca6b3335e4d0444bd1db394d9630f027ed52c45b0d8f21269dfbfaf3c60ae5719e9ea355d0d916f281cb9e75a531b +CT = 5cdc2f66786bc796b3a0bcaa8d525d4b7df3922a3a796a38c19e25b08cb0b693eb3f242d8a535cee1f6efd5d9cdf18b5656e88 +Tag = bee4acd74ba172d1f5fbf18aa017 + +Count = 6 +Key = e58382c8501522d7d3d956bff1890e1a +IV = 00 +PT = e2a4d478dd076c9ba2eedd2fa32a90084ef71bb759f93669b8b31790cb3a377ec8ac349bb239e0a7be1823067c00acfbc41086 +AAD = b190f20cadfbedc886b80e7400d23e2ba3b90c942a38377a2e16631d572226ff26b7a08be76c68df1ba05e2d0e2dccfd +CT = 80cfd951c00a2204daf19619ac54388c0efeb968cb12f0df48ce6098789fcd1ae8cba8bf4a2c8d3d12e8ae87791407ebb3a096 +Tag = 40e4977568801b9b390f511d3af2 + +Count = 7 +Key = 3d3808eebc929d288364088736e4c7cb +IV = d8 +PT = 466f57952e01a2c2850e9e415b61b01e3421c7cea6d5a6b298715af0b35a60c38df727917406083e6a2ee581cb9e85e357fcb2 +AAD = 04b88a5a601cb70971604418b7e39ea278ce3a9166e2ed565de404a8920791b446a234a0e84cf645c3240e2afd7e9fb6 +CT = 209dcd550fc8f2124aeb604fce9aa532033ae87678c5b71df6e82bb320f7818f6e545282f07e953e32ec525ca39625abb8f04a +Tag = 06bf612c17db437bad5cf49a5e9e + +Count = 8 +Key = 6491e42b3e5c19374e2376c4004a48f9 +IV = cb +PT = 7db8a2a550d2e55a5749692b833d60d36ba9e8edfb35d13ead12438b6d130a519ac9ad5b375b4bbc2613526e9136a52fb57817 +AAD = 27d0a1f6969ab13fc0d20a1aa9d962dd76a4bf56912c5ec9b47c2d3ef62e6f9c64bd7ffdc38b477a47ed1d6c4d8ebf6f +CT = bd15f11925bee868eed8c36eb1c07f2c012113c084404a8ac8772a92fb210be4598651ca5cb37b2429f0f129371e6b48b064bd +Tag = 5d247b26331f0ac64a3293090cdc + +Count = 9 +Key = 4026a81aa4b04c543e96017680264c31 +IV = fa +PT = ed58f5b084789cd01ac8590428dcd7fce7dc34dbaafc38617fec2a50c271909bb09c53b359d4eb453001caa9d411a3455f9e43 +AAD = f961ac565f23c5381e2f8d63764e1fd6cb4cd79788d83d3523b44eb101d77aa2c2517e2c982fde0df1561a1ebaff902d +CT = 630e047807928a7f1ccda7d7d1fcbb21e80ff62765281ea5ea45d0efd2590abf057172567fb225d79a7c92e9b1c0d806d62c65 +Tag = 593ac64e3e35d1dc595cbaac1c32 + +Count = 10 +Key = e88535f35cd8a605bb2c16756db73bc1 +IV = 76 +PT = eb3620d6110b7a0c25d565cfd3c5ebacd4aa303b4efdef3b3c60f2ab13846d97e9920c8a94daaedcd751cf6f458361c9c0f6ae +AAD = a96c22fa439998691f24fb276e1035ad85b844eb5252d19b092ef8df002c50fac0ddaf9f0993cbc105a935b5b0cff536 +CT = 40d08899514646d358ab68b10d08525d32fb37e8cdbffa6426de5cb912cdc9b272e28c27ea2444a82296afb00b341e91139b33 +Tag = ac5f87d6a4060ddd3ff6571b3dab + +Count = 11 +Key = 4cd0889b94c3cb775c1ac798a53d6acf +IV = ed +PT = 23cb9b4f672359c0381d4568281dbcb5bcf090a37b2c5f5e1b0962f46a0fbda70a2f4154137211a76bc4c7b1fabcd94584ac96 +AAD = d28fe5030f4f9739c9bab9f9da95620e919c7871b4a79a51e02dfc715321d355b0f70f6e2b1d4ae188ae6177a73cfce0 +CT = 4cc8843191772b264058781b1597cd491a7900792713f01deed039e96fee925a78372944744db709e90a62068797fc411f03b2 +Tag = 6b6216cdd0a140ccc51a342c5a05 + +Count = 12 +Key = 350d9545d96df1b9853e4b96e933dda1 +IV = 4d +PT = da29772d763997f262e77e7032c14a6da392b878f64d52bd17d1307aa4f73fbe658a1e45855cc88763018c4ebf7fc365e455eb +AAD = d8d33e5d58367e8406e9ca234921a2ec7c56a24e6d907e74830214df620253d7ee536956dd9fff9e4ec249334fdd2bf6 +CT = b21193c7242d8a398d1d4918120f8f1c20880e7faa4d03bdd2acc217d6521536d481f3b03cecfdaf484fbb6a84709b148b7738 +Tag = cdd171b6a9577756ef7fc46ae74f + +Count = 13 +Key = 4066c0dcf3470eeadb0d778bef751ac5 +IV = 4e +PT = dbac40303ff06ceec52fb46bdfe790ecb5813792073f250ec14bedff67099475294ce89501cfc812953325de5da5e16a217910 +AAD = 22e00b6173f9edbeeffa52eb6d69b9261785b07d9cdd99a8f2b4a3a63bb54cdd5bdbeb6773344f44dde0e810e2f92c2a +CT = aaac65fe8ea0ac270fd4f0afbcc76aff97422c6a8240bda8b602124171676af657da6527767d3bce21e345df550cf9f2681652 +Tag = 327bd9839cd14548d7501c67fab2 + +Count = 14 +Key = 1fdf95577297ef614238d8ec4eecf3d5 +IV = 32 +PT = f72cd1d180492a6669c9362968ac4eeb13ef2a041d250fb5ed3f49c90a06bd618bbee339722a2fba81586f7bb77d79ed538ebf +AAD = d7b6fc3315d6af4a30c124f134b435dcee995409e239d587f6794942d0d48b39606f304e513dde02fd5b350121d6f5bf +CT = f8c037539def8aebaad88af6030b58f31affb3902b0ef423fa8992cb07666494aef6b104851e37f4bda09d19050c20b51f1baf +Tag = fa42c3f01efb9bcea28c43e9e040 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 7d718b807fe9a06a34a9de84feea9889 +IV = c5 +PT = 63c57c8a1290e1b5631e0f93219f5861335afd77b6ed32a0937fbac74360f31e027c87ca6fb1cbaaa6128f7b88599f829e2519 +AAD = 799e05738de05567de6083ef92b2d30806f97de9776970bd7048e14018dd571a84986cf0bbd534dfe43754e72612827b +CT = 00781405f6aafaf0a5050d274de544893e9728ba57210b0dcd0216824b634a6e1d1ebc2cddb6a84813aae17f2bbb3d79a8bd00 +Tag = f63e20dce9879cb06c4fa46b60 + +Count = 1 +Key = f5dfb40def4e5ac3a905c6511bcea1ae +IV = 8d +PT = 081288efbd298336742efb0504f7c16d00a10cd77328e10e784dfa8e4f804f2d38a9713f52d815327127dc3f32693127acacad +AAD = 42d75067b94d606fa862bf2793aa0aacbb3042141e8621d6ccba66645afd97fb56657faf76d367cbce71fc43a988ae79 +CT = 7702f251fb3648b67ba535196e0f1ff065e6830d608c393e6f87d97a3a84b15810e47eae8c869512aad6411665452da880083e +Tag = 208aa14144fc536df6a2af157a + +Count = 2 +Key = 9af1ca777f6c973f300fd2ac2af55b2f +IV = 1a +PT = 24c0477709a750f578640a0a5d017da99f8b59147b8ff4ee019a9c3956077f9cb0ac6572af0c1b98350d4d3aaa2fbdbec9d744 +AAD = e3084d6fd2afe96a2212fcb5e53201675c61202514869fa5a6682460a0a8ba364fa641824e06789eb395e245d1765295 +CT = b4382e6230e136f0dccb9d5499f66431d9c27c460939770f0661e816cc2fc44c8ff4c80c62ec59c0f3146a0d0b8dd6e2dbc864 +Tag = 68d293578f02d395d70aff8197 + +Count = 3 +Key = 1bc5e872c9cc0250ecedee4304e040a3 +IV = df +PT = cf53f9de7a2d02bf86c6b197080b69472ad07cf373d832a304b13e1ac440e01b6de3da0aac1d80135363b63190beb5193841d5 +AAD = 4698ee0a70fb12094c2ff754db9dbb508ccc368537c461ef4f4f2bc997dc91737197e2c090d10152ed21bf94f27bf9d2 +CT = 5571c64a3c5222d95068cc4d7005857b1090a70892df77b40f06a7ea1a78d8ab30b7333bf7b7f8dcac0d89574a32125bf3f108 +Tag = 36f5c312865b7f32356266bbe4 + +Count = 4 +Key = 218352fedfab0373fa3c84190bc6d85a +IV = 9f +PT = 24f2764dbb79976a55c5ce09ba9b293ed0acccb29a8620c33f653cba3b61a5388f225c5bea8d840bf85aee7f469481588644b9 +AAD = 8838d1ca28ab2655e993c91474b8d60c81890929c5b3372994656361c3a5c996355f75c7d32a1180b2442496c5a963df +CT = 3d3c476b3106a1b25dc441ec2d0835cfe331fcd1d3dcac8f15016a12519c7aa12d2770efd73795237830b2464c1e97e0939d91 +Tag = fa02863274ee8d2ec73dc90ae8 + +Count = 5 +Key = d590e3768158995b4a2b144c2fd12dc0 +IV = ca +PT = 6522d1e403b9ebcefcedad9904be168136fd62747be11bc9c30d9362f35cd6fea20f4a7b6b922e16249e09db12a20383335754 +AAD = ecae255a64eca428357e0f7a4b6a49ca94e1ab99f24e0308cfcb52bd327cfc95852d1238e166618f90b4ffe6c6dc9615 +CT = 125b8db5ff3e6edd8aab41f5656a0d8ee119a10bd2b65ec96375e162186ecae92ac5d90cfae27d5b90c10137bb04de0b2b052b +Tag = cdf3c13d29b9ecc1689a72c39a + +Count = 6 +Key = cd4ff37dd1c38b40c0f4c0a24d5158b1 +IV = df +PT = 1e3fc7446b3e7bff47ea37f9c36451ffc4ebb29b79a00637382ea872cdf29282d2914e96ed9f01dd4db1394b63e88f3008acda +AAD = 6c1e975dc00d03318d14810ae2dade3837910c87cb7466604d2de9bef9b433468ca307162cb280bf454a079df6d686a1 +CT = fc3bdd403d4baae4dba609839ec980e8bb4cf76781d75f85f56031ba7e992816a62f22478d5efca5e6935f1426d4cbd51b81c3 +Tag = 859c33b59f652123e386d76ae1 + +Count = 7 +Key = 1b39eea7312efa247e40fb5d47e2775d +IV = 8c +PT = 62ad3e46b7f74638f6edfdca7aa1d9a7037970582bce258a3a6b7b5b902ed6d8353c7129be79292c9341df8d73124c860141d7 +AAD = af692c4fb76b07c2e8a9fd766cb7cbbf90d74df48a1acb223e5d05361a3eb1d8415e2cf9e23865afd8e8ee50e135d1d4 +CT = 37b3ce10145425294cbadf8ef1a81906221db9ffb8417130063fa6921ef3a316376ee7714d8daac933b92c431068c1d8e4cbdf +Tag = 908d5c30cfbf6b3853eac490c9 + +Count = 8 +Key = 00fc40bdf968fc28f8afff064eeedbf2 +IV = d0 +PT = 6f9dc68a751d862c970df17df40774d0023c1b4e061786ff51f193d45a34608bcb9afd351a11de1ac92beb42fc9446745b5f0a +AAD = af0fcdb7053a904a1cef7fb18e862bfbb084c1b4d1901bb5ec0522e7c97de8f2773e6770929b38ecc5642df3aec4860a +CT = 4ae4d56cf83452e6f35e86778b18a09eb446109e0261f50f6d2bea3d6b0148603a2210c995792a7b5bfaa830996d32e52c2aea +Tag = 18f513d98715533be631a22223 + +Count = 9 +Key = c2618933e08fe1e556c5edbf7daf3d28 +IV = c6 +PT = 71a5865bf10eff494dfb7478cbd6398b4661a3fea18798965547adeeff913379934a94636e58b40ccc9ec53993c54c3f07cee6 +AAD = 02c519f199a87e936c8d141477d324af12feb971e979b030c126f9006e8e9b4dc0f4ee91e76ef075cc599d49725b45c7 +CT = 0b980fdb124fde8344045d2e40f3c8e6d129cba0bc18057a2b70b0172d423a01b3689c85db3325c123d7053799737e2102db0e +Tag = 59d80ef82233c7901a47f74de9 + +Count = 10 +Key = b4aa4bcb2f4818318d44ded2b2235689 +IV = 71 +PT = a029d056bf003e71e54a9e2a996f1550f12fa42df75f6a1981c505fab407c9c6c24444ba3557373e3ef2b4207e9e0362904584 +AAD = 482f665c473386a5ac0c081a96c677ae59d72914842cdd6f07ec8f0f4f0e6451bb66df0ff00bdd84b7527c1d732c5ce8 +CT = 3d2effcce8bfd86de9c67e290ab1db594867e4e88818d6c86657ba1a1e772c385412768a3d5d59c4b00c6fdf6bfdcb4527ae0b +Tag = 92ca25ea4a0b809c0920c769c1 + +Count = 11 +Key = dc1b8f228ba2b48b89109c6d8dd4c23a +IV = 04 +PT = 8514db554024cd831c5259a1201d797e436afefaeac3cb12e849517b9a24bb758a218cd40d9a8f8957de30f03f393904b0c6dc +AAD = 5860eb88f630d6f26ccbb11b4d2bb095cdac09641358ef3f2c627ff627591fe0717975bdf8741dafa35b5e05b45cd259 +CT = 16b3fd3afb29ba958d881ced70e289d88e1e394fe9183ff542112208639c85e576151735ab563d8bc9c9e0ef79ced9e1c47440 +Tag = 0c437046f52be9a0e31424fd2e + +Count = 12 +Key = 1d4f13526a1d5c3a1953538fbeec9e40 +IV = 35 +PT = 768c42b6baed3f712cfdd036ad2e6debed92dce1899a6cbb2b9098e1f6537d3ef4e5a2e3272f7b5b229a9e383cffa93e1a8ef5 +AAD = 3bacbe42ce8c472115670404178d913e150709b74f93f980f31aaea6127ba3e392246c34540c3932e495d640fe921e7e +CT = 5293278fbf4beb144a0b34c7cd7bc2eb5aa860fc9e939b5b646812adfa1d2503dd84a059c6e7e91ecc0cbda850fadd0e36d5d3 +Tag = 39e8c72a1c7aa8b0ceb497fbd7 + +Count = 13 +Key = 0ea622c6edaadd13a13b4ddbc55185c7 +IV = fa +PT = 0a5ecf1a36c3fd42bf6af3ca631c652a053d712ae55aef02842a7411800d43e892f95a6bc6cb635987de883a5bdbb23802755b +AAD = 34d532f6177e73478bf2364587f300746de1dba4b7dc8818d4a3e24cf91c9faa1c2d392f9120e85778a61b1c39016bbe +CT = c0fa1aaa103e4ab189acf59133dce354c433e268034d0c10112ccc59f1dc57a607510ad06686c5411a620028a1a207ed796b18 +Tag = 21e9bf52a5a2a708c8efc69900 + +Count = 14 +Key = 6e0eeaf11d673df3b4d57967768510b9 +IV = d8 +PT = a9d698d886f066e45fe3be88c4a4cdbfb175788c3deaace4ecc5f7b5c7a4add81a1348921305b801435ebcb4b8e5c4033112c1 +AAD = b1c06ad8be4f5a649ba5413b8023c5a0ffd7d61bb04a5e01f8aadbdbc4cbbd23716172f4717a4a3d4e7ac0a0e94eaae5 +CT = ace7480b156e4fd997365cfcee56af6e0606344a7400166fb4b057175a8b56cf7002d55075f1ee3e742c8b093a4ec09811cf1c +Tag = ed72733a47c1fd9868c74e9bfd + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 7672b5622959d0728cd96416ad6b8c91 +IV = b6 +PT = 883d64db1e728dc735317c33614fc48adf3c58b6e7a58de803cd0847ad2846da4c6dce455a679dd9e4d8a098a9cc4424c26de9 +AAD = 9626b0e77ac8365e555f4aed0caa87d2a81a71538d351aeaaaeede18f98e61c51fe6f3042287aaf97144454b04802772 +CT = 221b6dd306794cf88695214f6d860721891d750a181b39ec8353980657e29ac2328d87309e03e96456daa833fbf006c67d77d0 +Tag = 1643ce024e3966c3f131fc5d + +Count = 1 +Key = 192e376905abbcb766b05de08c589d22 +IV = cc +PT = 875bccee464fecf54b1f1f5a6dd0256e2f9ebbbbd68cd97f916889e97b0b8ab34dd0ef288a739954586f239bf9e545d1ec6b69 +AAD = 075c3a5c1201285f09d293b33c988359156424088c8e49d86c8da3305393fa7b3f38bee59f21e53e0668d2f1873e1ff6 +CT = 1053675717db8c7d353bb1a17f7e054b66775487c3288faaf40a218390536a5ee69ef3b6f222e3f56cff9130f03d3bd7e7fd78 +Tag = c8844bea0cabd6d73da4ff40 + +Count = 2 +Key = 3d884535c80b4b3bcf485f1ed7ec86a4 +IV = d0 +PT = 1610fc1e095e43a25b8040ae53a33759980a1660f7e08c30a61b6dac2997441a1d026e075e428795a5cfc66b35f28f1e5d1c82 +AAD = 85942fb7987eccddfe12388c1a7e5ac6a4d64579909600646d1083b522f4ec9067618a1865bf7f1cc81719955d8c1b28 +CT = e5f007f5d1e7266ad420f109d9978fd9f6636011cde640e1ce16bf6babe36763159aaca95f9c29bf5afa7e3d53a3537bc0f0b7 +Tag = 2726ebccb43e4169d14a114c + +Count = 3 +Key = 9772e0b06d807ad2d30a25a16726fd94 +IV = 8c +PT = 67b6659a675ec39d0bf01aa27c55d264f3f01d0f6e2138643ed55c31025013488c14f241aca4c1f5696e7a83cf281054d54693 +AAD = 3f0f9951dee939b9e4e75654844eee6e757acdcc5c88ae9270d18e53fed0fe0e8e75122f9cdadd2473fa3ec52dc48fa7 +CT = 66eab33040f5f86222d0e182b2a125ca23d80231fcb144422e39ad02b09ca374c6f4ca985a622155890db0bf2d6420e9a257dc +Tag = 9958e7aaaf84dc193767a8a0 + +Count = 4 +Key = fa6da58fb2880d0f67dba65f9739a0d3 +IV = 82 +PT = 29a55ffe1b8c91127bc41edd2e41fea6cda56af9f23cfa130d254f2d244bc20d07d2e046027d52f467b0901416947a1614e098 +AAD = 9f5bf69b3c93b698630fb7c0d514d71fcc70b21f67575bddb9d37b999c0ffda20e468fda90eee1c6286ecbade5f04378 +CT = 6df937f5844ae6ae591e7fd408e206efafeb21250bf925de2edf0729bd807939660d3abd1a609b3e6ff7d44cbf858eaa9bde00 +Tag = ee351b9fc1c6f592c41640d7 + +Count = 5 +Key = 04be1ad9eb2ead2a2fb53f5895b5ca15 +IV = cb +PT = 9cdfa03112097dbc84e3409f98e0c46154b2f5892f2d5e6cad19f09c685802e253ba0a9021f3f70369291c25622e4913e588a1 +AAD = cdc9b327695a9ffb38db87024233f811b340fa5c60ddb8aabdbe5b475e852a6b4d9bf035b17d10d17880c4bf3663e7ee +CT = f31b8851969ea60b2c03f36d8a2c50024a816f83ee8487effa9dadb083282066580a5d88965ffc85cdadea1d20e20911bb8ad9 +Tag = 3879107eb8a0042ee333260a + +Count = 6 +Key = d108a8cc54cc7457ec50ba4ec02d3dde +IV = ee +PT = 06719ddf298e34645f00c574b9c6f03d40153fad1d6aec9f0cdf7ef9f51affd7660ab26ce92fc92082214209fe8df838724158 +AAD = b0c97429836f21f7600646a061b35c9fd65e9fe7414f28916d9f97e1fb243497c80ee7f9abd4a4a296b8672af4fc08cf +CT = 0ddebb469ac8423f5dc2962a5e9be13abdb7b7c2e41f4b6c6f0973f833a1146ef8402966dea85b420d2ab1564655b99fa64cf0 +Tag = 1832593eb95dc41bb0bd160f + +Count = 7 +Key = fd56f13554cd03694de7aba5063a22ac +IV = 84 +PT = 179e787c9f9efe097a8fcd9a4a74159e94fc294b2748cc227786b478cf1f21af60096c4e32ff6f4b54a6691985a1ebf85e57ee +AAD = 3a3266e05319bd6cb47a9a693f311edaaeeb27c5dbe57d8239b0a878c89e54a54d4ad7f105ce1994b6c5b5912a1d60c6 +CT = 502a9f4488893d705cbe4aa2b6e2c643993231983ed4226d5be9d46a6a5b2b880de77074b4feee37bbea678c7bfb81fafe7745 +Tag = 97aa7875af2c01b36e112deb + +Count = 8 +Key = 6fc2584915c12b9ec15479164b0c9fee +IV = dc +PT = 160ea9fe4c6821d27488ca3e2df6a2800b03b49a557956ab24ee6818b09d8488c9256fd8d0d10be0661347ed183c4af6586ea6 +AAD = 8a01e408fbc9d4b769db3815e9b18b375e2c7c87cddabcabe0dbf1eebabc43aee58106e352934da0e47fcb47d6f2cd90 +CT = 3f08b86f2ef9f32f5b7e3c9d1d7931c89d4821ef9eae39675add11d8a8139eb0a730d61ab300eb81ca275d5677a318fc218855 +Tag = 3213a6dede33c7106895ed2c + +Count = 9 +Key = 45b93f27ccb1fd585a87b7864cbccea2 +IV = 76 +PT = b80a2e257108ef32f65be44928dd58466098914fa755906dc99f2cd4f477c1355c7aaf77f7be92ab1e52f3410e02febbd414d8 +AAD = 5bf23bb85e2e32634e0b1c90ef80aecac62591507e8818c44f40a69f88c9d596aa585da610ecde2dd555473abaff3be2 +CT = 8f2c7d5ea2dbacbd1db3131cf8b774803cbbc7c1f935c0453020e5ee29704589ee99e511f65bbea9f9171a9d9dbbbfa9f2da8f +Tag = 3aa7afc3e31764d497494f34 + +Count = 10 +Key = b72537f3dc4153438bcc2005ba3c69ef +IV = 70 +PT = 0bd11c6f7be3caaf3d7773c9f8bc79738e4e3e997203bb54ff2bad81c49b9528d6b5cdb3018a6d58c05bef515309793990aa9f +AAD = a65e841d482ac5e9530ddf9a04f4c6b3a0a05166f57f0ebc6355adc0643c4484fa09923f0560082042baba0fa802a70d +CT = 0a136999e3088e77448d6d37d0b642a3cd0ea8e3e8e4de3d07231af8df8383c1605d607a9fb39c3529d67b239dfb81e9177d9a +Tag = 84c0759bf3fc3e70323dc703 + +Count = 11 +Key = 364773a8ea4c4dbdc40a481a5bcc4456 +IV = 03 +PT = 77c095b8d16f2326e7a6fc8302f701cc8d28c2f415e07f1689951565c5ea7333c670a92dcab57f734572d571e1abacc07ebdc1 +AAD = 74883f745375c4bb1efb51f7535b4313243ceb6583370a5da776d9647d1a1fb2501039e9af15ec98370fc5df78e4a876 +CT = 8d3ebdc3a1c10925e98d4c66a5d2477b6e7487098c6b7fb109716e360f588f1aa46cb579566aadfbfafd7eb31dd8e346449f77 +Tag = 3d11a9961c348a7f408a7e0c + +Count = 12 +Key = 97698a87492b54ce05a50b028a04d6a2 +IV = 96 +PT = a9198c24c03612b13e4bebfb92567f925d91de97215208d4f8e834a77124063be8264af5d2f1f41076e47322a94409f88b335b +AAD = e06ca599c60d16c9d27aeca5d1a502fd53939646afa2d3fcd1de765fdab6807c7819579281ef92590fc1da543f84d5e5 +CT = 9dde3674f9f9a67e4635c1115536155cc4006c1c8a3e0042da727ea44d3fd41bc484bfa2d236c1cdeedaddd86f7d4365b541cc +Tag = f3c2f9331d5049dfca46674e + +Count = 13 +Key = 84dc5c8c6aeb6bd6df15c4799f06bb6e +IV = 7f +PT = 8f68294910e9a4af6a10cbfab438e36cc62f528e2b2d167f46d52bd7c25d00ec379dbbbb1f87649a8e26d6f820a5ab0fcc52fc +AAD = 808729babbbc95062440369909cacaaa1d4cdbe8658d3f4f5d22ecab6faf5aecd9f6bb8baa262c4d29e48a6e2de27ffb +CT = 57fc94827fc9ded5de3cc25157f9c85fdd0befc8ba102a20a2ad56f91de4b7649aa7ccaccf85b4d476d92110b5abcb77743719 +Tag = 1c14139c86cbaa59334e6c8e + +Count = 14 +Key = e2b44c4692573d25148f4d5467c99aa3 +IV = 05 +PT = 74bae58d80d3b7776bb89eddc65eacea826e3a3efb3f0cd5777d8846cb02bb757bfade195e5bdab263314e66aa4169da43fe83 +AAD = 3923421934f5c2200c33f5a605096ff214f2ea0b3e586302c09e9775e3a1db312b008cb196745becdd249a1579192d6a +CT = 03e17323aed653203bdd9313557fae93c3d370ef3e299dec1925fbb8177055218d1d23983541bc37f9ae29ed67311b16dd1daa +Tag = 319d25c899c05998d70cd420 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = d19cfcba59b9a338c46c2408e3a0412b +IV = ac +PT = 41258dfc23f799affb2720f63316394021a6d183e9f37b9973ef79df92896fea0a288e97d6b63740597097fff27891a3069400 +AAD = c3dedc50a6a11924d095ad22644a09b6047630b46e2a3627ed1d418edeaaaeb08603f1e21d11919d7a3d57ef5134be9f +CT = 3072def0c3fb47ff4fc124ab30e76f5903e235b2612148aae67181ef62a736ee6fc147cc703f76dee557eba84349f1c5b158be +Tag = 267a3ba3670ff076 + +Count = 1 +Key = 4fa52dabe64a44a2f70beb8caa7ed55e +IV = af +PT = 15ffba5614ba0bab70c78a2c209e3c66f5765ecb23b9ce91d0ad43c83b30d244be64502633a2ef29c1df48ac2b787c256f77fa +AAD = 4d6ad0e05b4fc8cfd6518c1ab18ced4942f9df326027f8bb10122ccef8a4cdd7c1d96e0d4cb9b15957c817fcabe7ea38 +CT = 5e87e6f622c326f6ea9e53c8675c978458ad45597ea1aefe36074e13e3383cf8645079b46c69d2b0fafcf77c3a643171210fdc +Tag = 1dee4297dfcde39f + +Count = 2 +Key = 50c1ba7d6962fd2044ed198e8c748d8f +IV = 06 +PT = e66c6fdbc6909bd375244d9a02a053fb7dd74879769ced5c083249d0ba1594cd244a29af498959d4883d292ab23ba29147ade8 +AAD = d88b6daa3ca3c2d9048faf63355701a29ba3de483a9b5f0149e130948c9857913bbe36e9825ab372fed8f960cba5cd0a +CT = a0cfc57e2fc96ff0b25299526ce7ee8b8f2d88ed3bb912bffb348a43b45d949a5af2917c74cf24eec8969b5022cd4f98e76261 +Tag = b99f68208a6e9075 + +Count = 3 +Key = f103946f6cfd87c9b9f86e07857bf0de +IV = 9e +PT = 0c03b02aa94f97a22dc084a29e1cc5700fe1330e4cfccdd4efceb3e56a84c026345d5a72afc4ca68d4930e5b5ed01fd8f7e256 +AAD = b823a6b5ef8648b27fdd0ec9409bb64a531c2142cf2a5ef3ff00123b9bc295842bd668f8d23dd226dd17e0c1626a4114 +CT = cc9e3b8fc68adfbe007110e9dcd4bb8f74c2dc0f864ac2a557ed7cc547740ac7acf2493d7f926b26165a7a74e328e4822b7fe4 +Tag = a7feccfd4de08477 + +Count = 4 +Key = d70df9411b3e5b2bb2c75bb4048f7f57 +IV = 76 +PT = 3658576348ac958505d4d9986db40343f4aa8cee9aacd6ca5f482494d416dbcb43e1c6661dc9386c6feba808f4ba11128215ee +AAD = 17d50e916eee9725541f9ac43f71ee19913661f6bf5bf7967be5a400ad730d3baca3ea761a4415d906b6f194bba86d36 +CT = 3f0b9f26198126767ceacca0d5cd1e6ae0c05a0229870512c57eff0c875ac258e01e8b17e30422a72f35f5ea832f83730ffae9 +Tag = 246357200136c8d1 + +Count = 5 +Key = 8c05ddd30df61597d25aea2b0056f74c +IV = ba +PT = a6c8200abb95e731fb20e6120e44e41df780c7f262673e2f594739b59e90fadd3a894ef6f022631a3b3d7eebb0a8feb0ec0481 +AAD = 1ec6447699f2234cbbf9cbffca37d41a957204482ac393fa53b7ae96a05ca83e1ac7917c6efb9ea60fa375f8f12286b3 +CT = bc38f483efa6f09307b076dde83feb28eb198a3d26c58ccb56c8ddb6592c31c3c6378e00aa9e9790aa068dfb75043b36e78e4e +Tag = 0560b1f29ecaaa14 + +Count = 6 +Key = 67c5a5402ee26d278a7aa35ba4e7ac30 +IV = 8e +PT = f8e6d48d702830cc66188484c47a3927789dd48bc6643f573ea7f87cc7b9c66ffc4947b885daee7efa39b8d2693bedf690ba82 +AAD = 0264619000926ee3005c156f29991ffb29cf67de40dce81c2fbe8bffd3b411c9eff6d1dd91fc9390c9e637c623d92e87 +CT = 490393aedcd5d5c538a2113edbdea9422d16d3aec7ab73a80577010aebcf097191e50fcf63be72315b68a97a8c8485bcdac29e +Tag = 6eacdfa931401b68 + +Count = 7 +Key = c8709db0a27754cd8b9b3962126d3d9f +IV = 51 +PT = 9d35fbaf2b2138312f27409a215c78f9b79c6112ac86fe0cebd0eed00ebc5338ea335a324bd26ba2ab5074acb8fe2143919698 +AAD = 3477dbda7717cea31d115edb9f4329e9f2807bc66abff9c71c0b05f13e95922648acc6255eb2558edc9743029fbe92f2 +CT = bb2d36db1d9dce97a1985b2fbc87469a21db3e1f46e4ee7995e622ae58dff7e3ed8b2dae3f45c0109a2b103ab55ac424e946a3 +Tag = c28499cb8455ecb1 + +Count = 8 +Key = 29b5e46307c39ae7f610ef90fbb2a6b5 +IV = c4 +PT = d8011b31c1750c6f6ce00acbf6ecdc1c19a3a50287ef86d8de9b42e44bdba74751ccaa9e765c260332b46a88c1b5e812c0c52f +AAD = 5260e7fa61ae1fa30962a5ffd8eed4234b5e648027c215e10d7c2158b017cc5ecb9825c6c52d78e7e7ee2585fbf2ea89 +CT = 45db8a6ffff785c8d74c305020ba2a8fd831c008f54045d9811fb9c82590b2f2d16287b2c362304ca19687f17277590e84e1dd +Tag = ae17227ff7287ad8 + +Count = 9 +Key = fe07388dfd50652bfb24785dbc55604d +IV = 8a +PT = 0bfdb48aa5d02ec71d998ef1bdbb88771ba8a55dfdd9d323747e8453eec877ba4e13012f7b0d9aae0b58a932a99647e325c2cd +AAD = c69e9e566ace9aaccd3762468b287880e83bb63102f9c834868cf0c374d212dfb83c77f3973571828712267e67d5a701 +CT = 41ae3bf6c56a1d2121a84a3199f85e3be824d57e2f959152cb7c8269399092b44e93978e8c3b2df09dcb9c2ec1795138007fca +Tag = 9b8d4b33e984ad63 + +Count = 10 +Key = f35aca389d4743764dc5bcf8c13914a7 +IV = 53 +PT = b2fe2ef89c81d5665274bd62705f93132451392b87a5c4d6781e481ab7b19a0c32676490771a2c4e25d0cf620adec7c43e47d0 +AAD = 7dd00e85b85d35ebec1cd4b2c97fa0abe869e0f684edf0044995a45783ab4b8305473bc66f8c2f88643fc58cbe775f30 +CT = 1baaa6ebb4f42b8d079c06eb1b7f805e2a98e57a761343076424a16ccf8bb62fd0228355233526ef93fd723ac11493b748a648 +Tag = e1d70a8d4b80f039 + +Count = 11 +Key = e6de6f52b0a7b92088fb62d05287d8ec +IV = 0e +PT = c9916c0c28586edf4839213e6437e71d865832e13d8c07da83ac73f919285b1f340fc764acb8eff973c986a53c9385e2bf5088 +AAD = 94271857fdcd92303a3c3b021d3470a0c95f5a4b67def681fdb294b28bf4fa376f349c6ed8681354a5d13f0887663e7d +CT = 0ccb007e3c9fb17d88c3d33a8e82a046ab7284318ea76920ffb1f6188bac07ac1a9d6e178507d8e6d32179946309bdbe9f1fd6 +Tag = ba3156940b864346 + +Count = 12 +Key = b7330eed3167ca1d009ed9550f4a7aad +IV = fd +PT = 774773d0cc6e31474dc83001e9477800e3550488ffc6e6934d8f6ce55d00feb9950d76a4f0a78455fa97a433b653a36581c4b3 +AAD = ba5b32f2ce9eda5d972762d06aa50ca43a61e0092dbe68a638db770a1688d23cc02cac77f0079f44e6eb3c4142f5c7e3 +CT = 6c51ea8f0e37fa22811d9ee99247a0e66f0a82a9fa28770425d0fac7f6b1840ecdff417ed802f421d4183ad05da5c47161ea05 +Tag = 13bdbaf0bc17f79e + +Count = 13 +Key = a2ee9b515dbaa881b6920db9a49d7db3 +IV = 8d +PT = 39f95f04aa53c21bc559e4da6ef2ecfa4771632061824d7441cbf1920718ad9133227304fcddd7a70b75c0ed4420fde3b3e907 +AAD = e029b2a22b2b5c609115558d7c78416c9cc874c6c9937316407f9d96a6244b0ea0814b7800cd992b9e290910bb684286 +CT = 8dfc1c2e726a272ca9266ab9935b7dcc7e01e28c25ee2086257abc79546f0b9e75c22dd2bb3e516a115a2ba1a2d0982c545fa6 +Tag = 735443c4f373254f + +Count = 14 +Key = 252aad6246f99384eea4fde237bd74de +IV = 26 +PT = 96644ee3f053e687cc9074a248fdf5157d8265f16df59f7efad9c40cbb732b5a4b908a92659458d66f9d4e7a67f6720fa51e88 +AAD = 98e0d6ada9f250d667dd6cb30674c3597dd687f26448bc1e0792129ef0ade091848e3e5f1c5f68218ee03604c53ec673 +CT = 247f88b509e9ba6822c35aac4b7d3503f3660e163310cf66a5673ae14b4f0b111b2e5d269f011800ac51da3e3ea85d336bb43c +Tag = 2f5d911c04a275e2 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = aeb26cc91e4e81a8f45f2f5e53fbbd99 +IV = bb +PT = aba9da010bf690f6bc0940f5b75ae67ca5974dc0db5c2072e1133a2b2c0b189a2121522b8a1df72bf4721a413bd1712562ec5a +AAD = 3f0a10d04a22c240b58490d5303af9310606600957c5a19f4bdd9f633c9bdc6de0b73c7f60ab63891d6134509eef2775 +CT = 119749e212735a584a691a032301d61b31524fd74476ba85300cc168a7bc7e0a2906d4e6ddabcc459ddf00efd637f22865c6fa +Tag = 039b5e7a + +Count = 1 +Key = d2166915ee49e402f666f4516cdacc3c +IV = e7 +PT = d2497d4c2b8a368a4e5322de9ed54c0fe4b8df2bbd802eb379991aaa02144f1503e402f770c2643015b307ca307fdea5eb7f6f +AAD = a97302751d3d4a29c72e95147b558e65767b97eaa3f817bb73ceb4ec69734df73fc340765fc1a4dcdb7fc25c155e7b56 +CT = 2f8a0bed9dbae38a250acc93b41e5fccbfe1936276bd3894351fe8178cc1534e9ea2089afab4dbe5205573a24226c23f514c1a +Tag = 6092eb85 + +Count = 2 +Key = 454ca9ee2312853136553fa1734aa8fd +IV = b0 +PT = 504b3a8632b794c309ab881fd8da6e568b37dd66c25e100f0244d6c37bbd913ee988fdf115fc8564c7f8d221c26181af780ffd +AAD = 2efcf8e23a07e02d29cac63a86e00b1f11d9ee48a9bbd9441e43193e5d9cef537bc084a98c6b0750b5aa4151bb682a2a +CT = 894482a63455833f39786e4c318d5b55eaa68ad755523835038dee1c066f90d86cce7977d4c469c342ae87c66867055fe56919 +Tag = e992d332 + +Count = 3 +Key = 606c42cc60b190127d739cae0447b10b +IV = d7 +PT = 158244845e15efd42f5273f8204b97de79ca603ae3d430b222f7713d7a8c471937bcf39325043606d027edae44addd8236bfe9 +AAD = 495f2325610410bf6a19638227f7685ef8d6bbe0c0d7afeaa1587ff0e1cc2ee3b41ecd67690691f6575ba555c46e74ed +CT = 40cf23ec30a13088893987e45b45defbb5a8c7a5443117baadec5b9f167272da13607761ca7c36bf1f7753096aec84108cd44c +Tag = 288e1623 + +Count = 4 +Key = 10b7d9ed414e74a7f94680d5eabcd421 +IV = 48 +PT = ac4e5045447c842e42cf03eec2cbfc97fc7e4c66539842d71f01d50610782a0803d8f7ac0676aec45c285faf7f0c872e0e02ea +AAD = 2d570853ae12fbc5064169b5a74f1bf9fb0632f4d82abbd0e8f252fe183983c973157580a33154b68d5d47ae8e2a6fd3 +CT = a0b3638cdbcdcf7dbb9695cd1b8dd34aa528cdf3c573328ff489c5ccedce207faf6a9e5ceccd14466be2bdfad4c72f03aeade0 +Tag = 5ac62dd7 + +Count = 5 +Key = c28993443c42b1d8c5d376af67225935 +IV = 10 +PT = a7b2d41567b49d2e6b7db869408d5ebceed082d04e8bbb780fab98b69b6f2b685727c6368fbef43e518a8e8c1262f677ee6a9f +AAD = 3dfff2fd79ff6f915283c1d19e9d1627b806d369b67ef159f8fe563c59c6641be536f0acc54c947fc11ce93b3d8fab37 +CT = dcacbc18065e5f83541d4f2de5ffad46140d294253b40a31e8863f22e118f325d95e3e7772d17ec9667f30e64550cd0ee96f58 +Tag = f5198f1a + +Count = 6 +Key = 61f27287e85a5aec9314885c9dc75dfe +IV = 38 +PT = 5d127beb42545ccc82223a039900afb576368f68becce92f606336b75527b6885a50e809f2a206420a3d0f8af1463e35d48a36 +AAD = 57c2cacf16e2b41b35f5f698d0b21dd4f48c5aab0002e8545f9495975c0386e4e09a35301600c9db783480be83388db5 +CT = 42c7d7f3301e18e77426b8265df0d3655f360e606faa317af85ec019fb65df737734c18b18d63683ce8e58d2e8c893069fe13d +Tag = 3ba1f6f7 + +Count = 7 +Key = 9c3b6d3028b8b6e7ce9ec4a1592c9d74 +IV = 85 +PT = 402d8afca8ab640a510df7de09972995d963601ba4c4317a333c4316ce49596349e2a70bf8904b8b81b60d7ff68e63daf393c7 +AAD = 5ac9956982f1bd9b107183d255a6ec9d26a1e593f1f1621d75d4ce8a6866d70a3b5083a471af847e159c403f9cd831c4 +CT = f54258ef0acd9e44054d20cf56f4787c7e346604a018c7d2ff6df43bc006a0b6ed27b2adaa1f632c36fd1836b59beb97a788b6 +Tag = e358afae + +Count = 8 +Key = 1cc6ca26ce5132152820ec8d8845b228 +IV = 70 +PT = 26a1f5bca524bb3a932c0f35af2a6f545c4d76bab0e7a41ccf53cda9fe4794dfcef2858883684eef5abfe4ac9606eab5ca082e +AAD = ce4a0981e4b664307f3a9a98d11494b1475212cec0f1f9a5943c20afb363d47f4eb6ff695fe0ed6127ebbdc62a3d0c4d +CT = 497c9313d88c6c2abc40878dc39123e337c9a96c4baaf129b19a0114ca12e1590672aeb12c6e7ea8fb76f4d7d5f2086f2c7d79 +Tag = 0969e3be + +Count = 9 +Key = 08798f117b07c9961214ea4106c43a97 +IV = 76 +PT = 7a5aa66b485a219e23e3ab9792c1b8be8f8d696c2cfceb05d8c8754909ad83c1786ba31673cb449f416b8908087960d2f708c3 +AAD = e8a2cf33073fa29737941b4f5869e288b651ff8c7446182b7829f400571d2b59fb63e96a6aae2eb3fab8cb666bc64bef +CT = 5759effa81db0938089d1a9fe6b53385788e064595e595678860b13a2e694a28731f96b0b4e18936694e13b802bdbf6e17b198 +Tag = dcd8c288 + +Count = 10 +Key = 75d5a19702c04efec31434adfc5ce077 +IV = 34 +PT = 58e6414cfdc6802f1e571ad3f145cd6747de3063ef692d811549049ee700514d07314591833b73b78ba28affa85bec28f37597 +AAD = 700806b01e17e4f417f95eccfc777f3e74b1e5b49490ed194fda1e43bb3d171186e1cce40968feb9aa94e1644b05a3bd +CT = 189b8b16454a569cb7b35855cc8e5c5b6fa0d56c87c41abaeb4a60c8fff0d87d7258e4f038bef29c652db669983f11469c89cb +Tag = 5ad0cefa + +Count = 11 +Key = 63cec651dd2732c0faa18eee84f132db +IV = 9e +PT = 4eaa7075e465ce72e21baa72a81ba53b709e4054af5148409ca0d8c3c59eac7e9c2fb8b69ef3f7d01862052b87c1e9307ab3fe +AAD = 09ed2a3a55c16096c6d6fcdba238bdf2a3ac08be63f6365c7cc156a96276cddbba684d70fd8a44068da109bb44184c04 +CT = 1ca4c94cb9f77956b851f1ebf5652645c42606526f25a6ba92222c5a71a8da45f13b2b98793d2a1420085c6a12d5f5bfeb7b3f +Tag = 2b03346a + +Count = 12 +Key = 2f0e5647b984b9d135c39a7d16dcfd6a +IV = 08 +PT = ac6cff9d320c634d241933d13637a282c2386e2a0bfa04fe6411311ae61b829638a921c418d287b7238e8ae041b5f6051b4c2d +AAD = ea2c0ba76c0ff9969ed8819fc503ddf1a6eadddacf4f77a751cafa0486feb10984b7d9705c248e89883f6571a7316018 +CT = d0d9099f64cbf277a116f59cabd6e04e37356f603ef445b4f49cf52dd740dd40e0ede8614c6a8fb972aab4a3f2b2172eeb72c2 +Tag = 3196114e + +Count = 13 +Key = 26f019a044111b874e95e49588ca5cbd +IV = 5d +PT = f016955dff28aa18e703e8e02a71867c86ef24b02a45e575212fc2d54a3e53ff72cab6028043ee8fc95e583ead83305bc17d15 +AAD = 0463e32c19b4866cebe633edacc84929a6fded23929e6ad8b121a180c2611ad902997f7654a1eeb9006453be42c3b5f7 +CT = 239b0a8fc330ce42e9f0ee6beaf05f0b325bfb725a6f05dd6e8c32ce05151fbfc260d0f4b810f51785870c91c5de8ecfbe3198 +Tag = ed1529b0 + +Count = 14 +Key = c0f894e1f84a20bd0e8d433a6c915d98 +IV = f4 +PT = 9c160721e6aca762942451b616b06740975d7e452ea0b5e6c8bd2c552eaba59347e00c600004988c5634a82fe1fc7159e16b05 +AAD = 5ba9c2d7e8071cdf1956e8bc0adb56dc67a9510d2516bc49a724ec75ea5053bd77bf1cdc4d249fbb62259848238ce590 +CT = 9135d8782f1bb95a2f1cfd0ef85f82712c41eba28ce6d1b7d01c0ba8f442c5796dcb5c54578a777536f1c6e2a7e9a788a9d0cc +Tag = 826ac0ff + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = f9866e39f8a7194c59920e0e22f9331d +IV = 6d +PT = 9a2f28fcd60940fccef34053c1abc7664ba67a667f2f3b3b6b75fe1ed559bdbc8dc671c4b7d0356a3133aaa74d58f0c67bb630 +AAD = 8b7f344dc3ce1d37f389db0b89849fb810a12955cfca330eb0eed5531c3e2afed52cb209c93609815dbe08abb5bb78cf47ba75e0865f1ee2a086fd5191f297fc99a30fa17342335e53437e6ae0d3a7404a620dd42453d952391a +CT = e456a42f7825d524ac2fe6fbaf8b42a7af5bb23bfebfeb22513a2e5d1b61aa532dd6df5c0f4c729eb721f519cc2994c785343d +Tag = 8f606edf67b468e157af78e4ac8181da + +Count = 1 +Key = fe8aa3618a77fcb1fd8c7ad66ac90567 +IV = 14 +PT = 9109b4437a36cb38d7b0d45aa7ab7380ece15484b27d8dbc02a1a337d29b05fcda2859bfe2fb7a4020863df6636f52146dc7f6 +AAD = 6f03989c95b989586abf03f7667f5c539ae6fb530954dff550d8521d36f5990b90bfb97f7a2a8356e1410d32f07145bd2ade1488dc1d08189b0f05ad22af73345cbed9ceb06c0883dd0cbe781a5f737c2fc54c12ea9f58e18231 +CT = bf55bcc5dda5b71e88159d9443d37fce89612d164e35486bb2ca047ead81fb78eb7acdf064f5d77da2ab34f34631b10e712c13 +Tag = adc2e4c10109cf3b3fe54cef531a12ff + +Count = 2 +Key = 4d9e92f65bb611d8dabf408bc7b2e76a +IV = e3 +PT = f124c9be02d58a07025b0d40fd2d80aa78d4fb5de6d1c0fe9b6cc12ed4349391272dc4b02c80536043a1bdde1d407d24c51c6e +AAD = 74b5233be2a334e6085b22cf1d162870331800f5e618c5fe4de2c0c52a307a9b3fa668a237c408d45b49c6dd522af6992290ae6fe75be373e888558ac8f0528733b6331487155a6ee6f445c30adc848c06abd80c087902705de2 +CT = 079e1f97505e67feadd3ba8f89dba61d79a705d8f940aa086cc627474cfe2ae14d3c6577598d76210d62ee4620a22e4a6aff64 +Tag = 879cf0aefa4cf6dc68f01376f7efe095 + +Count = 3 +Key = 82d6dda31de9387c53f83e053d1574a7 +IV = 06 +PT = 087c598fc44a71fe36f60b43c55a74bb584258b841e07111ab9ce57abd504971515ed651ff9466b1acdaa8cf90fb86f2e3535f +AAD = 3cf2b226a0e12666d8506e1f5490229cff787ad88f217460d64a37caabd492ac3fb97eefe5099b1e8a19893f6b6ae9bb66153c1f70bf5f5d678ab70662c9da139291b695b495d5955636fe9b5a44d558af3085685020bc61818b +CT = 062b1fa3b720258e0f7075b46983c445bd8ae25804c1912f9b8a841d6f1bfdd5c78bf4ec83be8a3f9669ead19b8a7a47c8be4b +Tag = b3a91030886af0f84a31696bc8211f51 + +Count = 4 +Key = 53b11495e7c1e8688ef314d18a0cc675 +IV = 2c +PT = 1148b2ef7083300adb416b3fb4174be89079a9be6da4916a733b39233bd1986323df760ecf1b5e940a6aea7f114ddc6482a50e +AAD = b799fa238ce0bc5a758796eec14d0da7ecd20fd75c4d03ce318c8a2098bb176ac1edc403ee8f1c51f85f5503c1f8ff5d98744ccfd2098e1aa6d39905f56d830761670ba45a619d47c1d404b06e55c9237b4e1ecde3bace7808bf +CT = 07ec84e02eb82a041d115083850c68b87261d62687906fe54b015bb26dbc1833ff637cc77ab8ed9b24f1ea0a3e9bf05a906812 +Tag = 099a607d7af15e35c3aa154253e10a36 + +Count = 5 +Key = e47908276d3f94f11203fb3ffa9fe3e3 +IV = 20 +PT = 7ab1cf7ad084cc3eab368f135acdbf8d51af62a15a960786b31f4e5587673fbc3eaaa14180bd0ad3569a6c9cdb9cd5998ab722 +AAD = 6a880ded142c7b08b514aabe9cd8e6967efcafc10da6dc5c637d19d02a81e3cfc009238354f5e7cb5b949faddcb27c7ebd56d05ae3bf45bff2236380c69fc196f9accf30922337fd54781f7fa5a6f820b8527bafd5ec04308fc2 +CT = 251fe8a642f3685ade462bcb278a76280808bb5bf0f6bdc1fc9b2e40599be089a73e906006dfa3342e93a3b52ae371e8ce98d9 +Tag = 2dcf81fcfa4f95c81dba0d845e052965 + +Count = 6 +Key = 0bff0c7e488a34aa49e25555167e729c +IV = be +PT = c597559979c0d753c457aea9b1dfc37a3a3e9dc4f593cfe392f5b35ad2b3908430ec7fc032f6f2079ba847ca9853c56a85d2ec +AAD = 401926e92980f384c59ff1be0b3d6f85f69fdabec2d02bff8c5ee53c4d7739397970962259b06b5d7946c40f4a934f688946de65cb554722b3529e2a44f1294e55ac3eeacc401eeb60063a541d049d72e45d8277f3497aeb2c6b +CT = 2cef4bff20d6d2ffc1248dc94e9bfba9f01a31c3f3bfeb56c9859db77d14590c992ecac2877ca4bc38ca44c3bb45e8f81722cb +Tag = 5b43c07112129454ab3620e305b361cb + +Count = 7 +Key = 62f2c2c333fe814c79095984cd920b23 +IV = f1 +PT = 5b35edb98ccac530df092163872be090fa670893914a3cd3681f4787af419df1cd533123d21deb2a3208d1a43f3f4eb88c7431 +AAD = f66a7a934e8df7dfe09d830f90ebce44fd0bacc7b1a8106ca3b12101e0ac3bd7a1d5b1f19513ae7f550119efffd084c94ab3b212cbf289571c89e36d72538dd29982d3725c5ccd2ac4df09c61dcae41579798d879dab424906c3 +CT = 8794e031653706fd18cfdfcd5d8bf8756f31f78cf84ac3a84c68a06c7e03ff35b719012b5569f97bf1e30b33fdcf57eebe705f +Tag = ad405035fdada6217f3be159de629c4f + +Count = 8 +Key = 71ec6b47a9ffbf029954639e9afd87d1 +IV = ce +PT = e50a45fbea6a3acbb5dc8ab2ddaa6d1d6249f339e1ef8484dbcb0c1cb63277322e60ff9d2416b7782f03eb7e3835042e3fae7f +AAD = a4ec7b8f76d03bd91b34b0626f41df0750aff0b46d63946c05b51698232583e68db0fa25aef9b44eea774d3c9041013dcc5c753905fd068753ce36d34624d7dd100984c1668b8e19fca7dfbfee2262a25788660ce18b1acba8c5 +CT = 74a26e7c3af4c329629c54827ff6469401d642b426fb52a5ca7342c7874a69dbe2b9ff035d599c9d3cf1a0c0885bd6113a6b47 +Tag = cff5c6af208bc567ab8e5408c9edbbaa + +Count = 9 +Key = c581c7f46db32bc857c66004bbf3f70a +IV = d1 +PT = 331e2e20655a304981cd7d6ddd1e8305f50e1a03d054dff0aa8daa6babef032964ef826a0b4f38b28ac229a06883c6ab15a340 +AAD = a14afff7e8312f5a6be89e0d1b3cb793dc65b6f08d282d43e9fa16cbbb934e4095e697b846cced8cc79a8a03aae6015a99645fcb909afb89b1f32cc2f2bf6e63fa663a45a8c854e3e2f4e10edabbf47d38f43912ff9b1ab643a8 +CT = 53e1dbfc203a42cde939358ab57d6ee9f3963aa5019d163ec7e92cc7db46da32327c86905116a7b767965c4500d86e4ec0ae56 +Tag = ccc573ebc47eceacccebe3d882c42120 + +Count = 10 +Key = 35a97f24b4628f34be1a86c2cc1b604e +IV = ba +PT = bafadf825fea6a40e2ceb393f68bd5d26b24121f7fc76ea4c6b5569511b47e5bca593982d111afdabab07eb8ee9e684e417e60 +AAD = 43bb55d4aa70397d98803e7958fbb6b8c564d8a7489fcdc92441245a0634ff46ca62f9b5e681455ecf99da34b524f56432e7e6ede6ca44b37425c5489c07879762fbcc6f69ec04cfaf3ca753cea61d5babf1e9cececf2f3263ea +CT = 4160c2088926f8d6d78ff2baf7302c0ac811848d0d26899b50e529d963cc4f9f35fa540641bda487c77d80900c84f254ca27e1 +Tag = 48054a32384441601c921c4a08eec0f9 + +Count = 11 +Key = ede32d2cb92f3419a86b9a31ad56d0d4 +IV = 0e +PT = 30a2c5c0f633b651b920116f270954c63a6064a71cbe3f0a7163753f7c6ab3671ad399e4ec0cef4e0f6a881babb26e200f20f5 +AAD = ff3e810fe7048452d82d24f070bf4cb5da9213b50c9c51afbed4a9058414985c31defe9de5e6c91c7d1624c346c61f4c30696e42349ac3c8d51152551b1d8af551f50b2295fcbe266bfebbdc367a171d4a3a5623f77ea1d75bd1 +CT = e365e0a95ae4657ac0da225f3b6d9f7f84e92543d236d2b64c4d39d68954612290b4eccac1a3132a786960524038be4c9da569 +Tag = ac19366bfd5d1e71c51cf3d06c9c17a7 + +Count = 12 +Key = 523e41f73d8974fc830c624d19a40641 +IV = bf +PT = aff50d776e30418f5b3e2967c423de4129170be0ce82099a8fb2de65b19bca671ec2d5a910a87583416003fa875d53f235d693 +AAD = ec463f9832495b18287b8d36e57f6ee6be05b84505640810069200f0ec806bd1fa85af441011deebd98d409468f674ad72cb501b7630dd7cb16d47b241240651c7c6b14ab045c3614174a40fcd2c4eb0c8233e17ae9e20cce5bc +CT = 500c59bdc3f0504aa91a185151ea85d5e01321265dc85d5e4e66b8298f29e2ebbc2b0ee2bee74c34da94b61d55ab9e46dec7b8 +Tag = 156ce89e9002c363c8e451985f80e416 + +Count = 13 +Key = 06dee37bbe6634010161cc13fb1fd5fd +IV = a0 +PT = fdc49b07d32d05b7822c2cb70f48e0a028dff7542f26a2649ef71747472805b2256b8e7442d3fccd919a53aa22cd5113e8bc75 +AAD = 585df31a0a5704fb489974846700c4b75a21f6afa2e36c75d55800413aa4e248b40da91f355150a332083c09f802d2d5cb344a7d81021f86f05c0793f4bf409be5e56872af46079749e9fda01534fdb0e83780137ff6e3cf92da +CT = b2b53b4fd7bac32e05125b86dcc6b28777a8787f9c9136197690190e930b3f29c94c6268065a08c475df645a19b434422d8d9b +Tag = 12eab24c06351fe0cd58aec04adc7855 + +Count = 14 +Key = 0c9fcecd5799cc7d32a06a40c6d61a50 +IV = 07 +PT = 53d8eed567f1235642f61ee496747a40ca9aaa96f38f251c45c0cc5792958aa46227ed01f5eebb6feebb228bcd41a1763e98a6 +AAD = 3f6ef56d456b95f985aa9b507de81def3913d3d2a1c7bbce75caa487cfd0d168297239726f7907a6e9983dafcfe745f6e2bd0c1c18c18f27206496ad7dfbb1f8e79ab67548449ca480fe49cba5130f83d543f93edacc75370c0f +CT = 70924a287c6c848e273fe23df17547b1de6628057abc898907767b94732e850781341ffdab1d7b0441827b44b3c0dcc70c2559 +Tag = 0c7f835182decd4217f188bd50d0ae81 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = a1691771cee1e8cc008d423ff631a02f +IV = 59 +PT = ad14855c55e7d3e74b72da306a9b5bdd6c66d8ba9566e3fe17a5d00ff638e2ac41eef5e142470016023e5593f99118f8f18f28 +AAD = b1471776e18d4d88d914e08a3d66e74f09f397452868d205f4e20879317190292d1ea63f4a13db26b25df590ec33567da0e8f7bfeed15f6baf0c60735f7dfd4c69eb9d79b3ebd66facbf2e3103442c1f6bf08d10684ddf77a4f0 +CT = 0a02c58e2c273c7992d060c15b5dc75152bb5263c287ee1db0400b6bdc9a6f5d04945a08ca2da4be228cbdc2b4d6c5cad5bd3a +Tag = 8d1ce95e7c370a6cb4961232b78bcb + +Count = 1 +Key = 7571cbae0c4e5aee1649d9eab345477b +IV = 3b +PT = 8b1914b9385ace6bcfadba464d75be73e1792b08bf26f6119d77e2bd4171c3e215e6a393ed98707f735ff97d72a2e78dbf3a7d +AAD = 5525d5d4c2893f65aecc723f284545b1b507cfb5140311275f068e6517a67e2fc527d4041aa32a77354ac3aec9db06d718851efee74c0cde0b9491825f55a9be24362ba5601dbe48456503f9327530e32cc8cc0fbd9d93c218a0 +CT = c155e834891d410570cf66d4a7db3bf726dd886d8e53dbf475ef67a1b0e5eb4d4e58218b0545ce977772b32e64f80678179715 +Tag = 515424fa5bed10ea6a631051fa0098 + +Count = 2 +Key = ed553a87363b5fd844a0501b9355b5ee +IV = 22 +PT = 8c2a788d483e6e8e50d5e448a0ea2d664b2d6f4a1d723b4413f32664cfe60ee0afd904a795f8f8f4bc6744691fb43fd1fbe1fb +AAD = 69554610643c6646b2280a663011885f0ddc6ca01045127a8a2cfceb0828c5821a09644b03674a8698ae2dbc789bb8e2802e122cb2ba4e4930ba5f6b013e867ef46732ae533d10d4697e741757c66caa9ea4fc56b147174f891f +CT = 7e3d47366c9e12d0a4bf6fbc57606b10ab26d26201e03efc33522cb0d5b011993c999ba81d3a055920e68f55b623b3f952ffd8 +Tag = 90135e6581ed49eb8dfa6e36edec28 + +Count = 3 +Key = c70b6717a74b486da6ab6e4f8a667899 +IV = 69 +PT = 53c2e0da1714575ef6a118a9c4c9bea2c94cb3fe9dcf3984f400c80e5cc0b97b301fe8dcd11babd8757e5e551d7a66d3767ac6 +AAD = 5fb271e37a4c845934f0d1da64ea34473c432a76dbe685b1650ce82adbe6bb4a1052e566bdd72e2750be565f854f06f0fe8aac61dc9ad12d6a013a24f3c2217d66097afd82097c67c8ecb11176d1e47c0f7dcec15b1cd249da17 +CT = c5f50a597760d8c5856f01f5f32b731bec737d1fb649c2c466274b4da174ef1be5aac9605df309973ce204e79a059bd4f4e551 +Tag = b66f69e6bcfc7856f550166b1cbba7 + +Count = 4 +Key = c21b3fff6fb4be9ced476eca00b74573 +IV = 29 +PT = a476a90ff4743edde09310c0fc4b6cbe8bf56b75ed5c73098f8586dc5b35deed921f5e578aa18cbfc396e139f4046576a91c5b +AAD = 6977d45822f3716f4b695a5d96b6eb4366aa52ea00f03971249e9373f1b00b9cf6b36b7c6d9c2a23c9bc48f430aedd9d056078f8e5e007e74e1a5bbd8d939adb356df2ea6372dfe426f94938f706aad19cb737ac1d161512d3e2 +CT = 7a959e09d40742ff1ee929f44d823fe170287eb8faa4e53a7d4e8c9e16afadf9a72874a79c1741212edd9bf7b636461be32d28 +Tag = 6c53cfefecd460942fed63a3a885c6 + +Count = 5 +Key = 5d37e51d18fbdd8838b677c7f4c8f34d +IV = cc +PT = 6faef7ef141701230796c969b9e93fc6859ba742a96018ddceb65f9a767584984107963e2801437316e5148462dc287afa5d8a +AAD = c8c1b91624b2527b98d023a3e85cb6dc814ca941f7af33e1e5192268f449314f697137ca40a8d34e67541594b86711e41cdcff4b78ef10947c6dfbc74c789b77a36cb78162420ed86b9edc3d99722f49fda88c865894738081fd +CT = ce1ad90e4a00208cd452930d11f12741504c690c5e73d9098488dc91ea86a2d8137f41eed36fa755bc759d813d0fde395763a1 +Tag = 09235b7c32f625b5df115bf8fcb4b3 + +Count = 6 +Key = 709b55f19a08ea5e7a386a0a50dff7d5 +IV = d2 +PT = 0269d993dc9c45587af005f441dce83fc22abba312ac561e32649d7785b1822dbdef3e5c651d5394e1e5b0e3d7322811f9c307 +AAD = 42eb02bb5f6f66d92363ae5d686b8332b5208be582330ae9052690cfcdee690e53e52870b17a03bf69cce9fb8b669e4dc2db0c996abc156fe84b4c6ea00aea76adbee7b5946f61a57829f0a7255bc64d34ffaa51fe2a709fd8dc +CT = 9bda0e3b4d5ecca71d019dc9019bb122089590c521980af328697a18484ac84ef5b08b977f7fe93d2ff78e5a5d879ed8b50a01 +Tag = c5e46a1f1b41345c5fb1eca2e32ebe + +Count = 7 +Key = 49036d0ff339ea23053565d87b444f98 +IV = 45 +PT = f6a454d25db99d0d1de8f01fe6a7e42423abc233665a8e594b3911429f2362de2d425294044d391b7550593198e788692a6964 +AAD = 38eeb5e7c6f2395335310e746362cca6cdcfafc2572063007f868cb9883a9fafd2ca1aeb07a85a6623f243bbba2d0ba4c164333db4bf5340a8f33af20548fb5af7902a3051ad461148255ffaacdefd998c758863c64104be4071 +CT = 326002c8e460794d146a0e8462563db7a73e313e1c5c69fcfdf6bf4e19a51e0da905bbbf23b5d3a8fa8677fbb6848780026a03 +Tag = 7f5f2bf7de491f3db0493127d27272 + +Count = 8 +Key = d84819c6db0b4402afb7f106cf99ad5b +IV = 9d +PT = 25ab3ff73884064a75a2155d38452d8c90bd12a038846091ec0deea3b1eea651a34680a9298896ea572347cf8a9d01b74196b5 +AAD = 862255ad6f7197fe2b8fd7c797ecb2301e3e23129875fbc37c68a4e9bfae03814d81c67003b28deb7589f428c82820e4771e129f09179444a8a21f8060c0ad7c0d070c337561aea22d251a5f7ac2af3ace73439d0b740b5ff36a +CT = 69b8b3472a56cea985290ec5811150a86747d5594fdcf7a23ae8be0187d28fb61b877ab6dc9cb9c7aae3b1d59c92d3db19aada +Tag = 0ccfbefa22259817f96adbc710d17e + +Count = 9 +Key = 967938052df4acc3fb4253e6ce1fd89e +IV = 0a +PT = d7b07b05445596f97aaedd74f1d6f710d1134ab57b8c096d047027229a11b94384f1af2ddc1b733d3b2df30cb702019c3a3edc +AAD = 06317f83f74ead0fc335d25be4497d9b17f2c1153cb9d294d192b10491c2bcc1daf1e22ada4bb60045cc5d4ddab2483101e13a1874ff3ced5e7e7fa64f2dd13d5a1e2bd2c4a04e0d91b28e99b314b6afd10c8f82dc42cef8841b +CT = a2252b4312fba42b62a09743b3d069a5b1d8a94ab03077073d3cc11de428a7568313d36b71f0117339892d4ffb8fb051866fc3 +Tag = 2192342ac0e2734ab5e01c1f154711 + +Count = 10 +Key = a71082e9907f9567d81aa7221571b1e5 +IV = 12 +PT = fac6563cc5d53a1f50709d5ba4f5de49eab51d67874eb557779937efcfd22612d2db9aa2fd8ebba2f7a88ea756611bade11e07 +AAD = d2f8df2b1a6db0cb2f65ac1899cec9081f445855b27cff8da58c71149b657304ce414f3d7bbf48eebd254c3149a524b9fc088a11f36b490a8f5b1c14d625270bf008905e4e5b2f998b22a6cc2dd92a4d0dec49498761d5876831 +CT = faee4505ed8cb5be7258aeb9492bf1ea1f7a3e8bb5150505e8b89e11566efda27210d891499562c1b2d8885f033d61e02066a6 +Tag = 7b6b3dec5bc7d3012774aa29ce6566 + +Count = 11 +Key = bbe804c5b2dee1573cd7e0f21ea15583 +IV = b1 +PT = e53be2fb44ce6982a84d43b9f3ebe622398438d4a5920565c21e9badc844b8d5c8cc99d3b65dcecc8db2e281298dea357407a4 +AAD = b5b1605cd324b0ae4716274bf82d850550e0af2c3cc9a4876bb76da59037e56aa98ef65982001021bba99cb20db81a2ac562d3ee9e0e3f95b1679bc48ee10d09656efc5ac8921b3a1daf2c34369e8558878216ae687ef988470e +CT = 668037d5b458740068c93961209a687c4e9556c823ba45ccccaf506ee3f421b2baf3269de33f1a42cabc8bf94c5517998d1581 +Tag = 8db215e1bd90f9c1d36a5428478922 + +Count = 12 +Key = ace0511e696b9a25bf6e9ca3cd6c4a7c +IV = e3 +PT = f531bc2b1e43e6335dc96eb7411bbe7e0117eddcce6be9a89c840432179b1519ab14ee85e55cbffa71108cadfa122bdcfb5e57 +AAD = 7c1db1e33c455c7f2d7e18b9a3ba90363a0d00ee105e28d3ef5b44dfc8339d95c739d3290f92cc41e176ea21b5c65c797dc76cd14b62718600290ca1363bcf4566649170d3d5843a30a2d914dd041c4378578f187dd06e117761 +CT = 355fdcebf1a6fa8141c2afe08243380128667764b2afb4d88a8a1e31a35e42b354cb06fe5b775c685202124d1b7fc745151843 +Tag = 94204b73c9757c37203e95771f2a18 + +Count = 13 +Key = a39e079f406768b37ac759537e5e94d7 +IV = 8d +PT = 1f0c61780a5dbcae1ff82626d29661eca9ff8d9d285f48a97a36ed798b322dfa20a2e145f0f6080a4b1afd1bff7f681286616f +AAD = ba1d2bd07660e248b16228ef46e7f61c9386dedabf49d4b6cfc0007990735d4f3d05050fc0bbfd30755d7dbea2c5a57dd5ce6918767daae0dd8a40ee7df08f1f0c03116bdedc50fa65a42455da3728da904d901763efcc075216 +CT = 4cd43d50e1c95a126fde7ba0fab189847aed93f200c3b10f8a93bbdb3e1e6a0e15c2b0b2c0eede63f76ada58101b66bddf6e44 +Tag = cfa22ddbe7c027a6e2a622a29b550d + +Count = 14 +Key = a8af3cbb4233f99ae652107b6b0169e5 +IV = 45 +PT = e2b72e5e26c0a8b040e21dd552b9195404a002695259ab435f20d76b807b3b70b87c9781b0e26a591ba753887bdd9736a72adf +AAD = 20af8d590763eb4c8786d18744e5ba64a2c1a15010dcb07585b3c962c71809bac1bc3ff8fbe6dbad7756877222dd0294949987c92dec989bef3f85abbb907d92bc53d798828383b0bb050604d346580c5c1319c0175a1d279b66 +CT = 25907f8eaac1e4cc482f399ac7fa6813ddf83da23666e216caedab3c82e58ff4f7ffec576a7a6a75837f2d71dd4897931236d9 +Tag = 90af11a5c1a5f070897a6a884140d0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = b8614f1638827a075d15deffc0740f33 +IV = 3b +PT = c9af17e992022090e735cd1eb917e71284ed8ab8349fa4675ec41b50d33deb8416cb6424ae14630ec4a805e07e729ccd58da43 +AAD = edca8006e0cd131a2754477fd4033530b7ed6af644ab2231e5f88cbc3ce5b4ef11bd104606f98212cf3f71af0b5806a7f0a64cc485790bc2ce537a78533f20e7de75e69af82032ecd7cc321289ff4bf844cafd6d01fce8b38c78 +CT = a434bf1ba4e21d1646b7113fbc577a8f69845355f0095677f0895a4b04b510fe82d9f612affeb66c79d51cf35ed3e38bded8a3 +Tag = 28c9aff1c9d6e3a03c577c838e15 + +Count = 1 +Key = 4c83231012eab6873184a56a074289d7 +IV = b2 +PT = 3901152fc8822e0e9f34ecc9599d8075d42884a6c844af297243cb0f5b98508e9d80bad0e89b4d719952bd8973f0c899d62652 +AAD = 0b1426a7fa91a9641ce39ee7a8ef1ba2fa4c6d505a4e03cfe8bb617aa63b8e16efd668a19b66de65e7bdb14a75785aedf1fd6c49d21da07dbe0c3057bc7bde4b15e2dce5a2c4960036207063f7abcc7b1b05bb94a31493eb621e +CT = cd56e6690c7dd1af79245e64444315abbf2b25e94fa08e24d8dfa30ae4d852370fd5733d77017f19479a24208e094b4790c20d +Tag = 3035bbba01b64338dd29967397ef + +Count = 2 +Key = 2b2753db101d75e72c2efcd09bc6ebdf +IV = 88 +PT = 43810285adec4ea05f3cf251f6129c7c226dd1f816d28804bfc08ce6a8268c060c366ed306b7789cd5b603364882cb1133848c +AAD = 0ed911efc56dbe4b78971d2f69c3bf7ec274e3e2c8f360ff176b0854a59c8cf7e207cb0932e8e3982f8e64bf61816c3aad6a953105dad66e3cbdaf767a06795cb8863d447a9b7acb14a34627302029e42813434ca987020f5418 +CT = a86757f50cd1b091d56b0bfb639fe9e1b5ed0c61b64eaf2550de38cd4c63dde89fea89c87ed4bcdae3a834288a6b28d18068f7 +Tag = cc8a7690489ae20ad2259154ffcf + +Count = 3 +Key = 6714445ba1262aee28caaf452c4481e8 +IV = 8c +PT = f4a113cf1d7429d744c6f17207be9f9b35cee7276d11eb294148072aa739c2af2bac7211909c0114d2c2c81ae2e59c1b80082a +AAD = 33089063767ad0007c56814f9f516e11889bfa8cf88d24001f793bc764d06728e5c8c52a713e8d555c27922ae4674952d96508ad667c5ddb06d95e3ce675488076f5dca6666aac9cd494a9c2852138c394f3dd1a1ed8d2786502 +CT = f3d84dd4c83410af64888d1a125bf6db7e7589984b6ceee29c4c14c915ba1adef969292095f02615a68116a26cb19ac7e654ff +Tag = f1ca11501e10a95e44035f71cab2 + +Count = 4 +Key = c24fca3fc9281b84b9a75a8ef8525029 +IV = ab +PT = b6fe2a09c49ba5986dc00375d0640e6b0d148791fd040003e0032212c449f76b87e3bef998cb90e321d35cf504299c1918354c +AAD = 8dfd27bbd7990cecdb8a524f6e9ab42b7f5bb81f265da6c0c64339750e55df2c807fe8b73b76857c44f13914b0b68ee212e993ac43b295053d0195fef3092e3b2c449b6020da4b764411a2de1499c3bda16f880c14da3f7b9aeb +CT = 4b6815b0ef33f9850238a553f168d14f36c640afdeba55e6ea03eea3b6cb7f888ae8c1941a2efca6ab18efe338b97493bf6374 +Tag = f29b3111ac0b6bd9326133335453 + +Count = 5 +Key = ae05125cf972582843db6675433ea216 +IV = 2a +PT = b0f876d7816e2fe4be008d5ad6cca6a958427198ddf30e5f14c8d6949906d3650a99d4fa86cf956bbc87d55638b4145feb0550 +AAD = 1211413e5aa238f428a4b119f68dbfd7107352bb2e799577f97e57e90de6339c7ef7047659e1ba9c460582ab1f18f02a059e0bca17c75fae3bf6f78efb7de1d456655f21dea58e3141ceb268e1ed382b819c8e5092f0d381ebcd +CT = 537dff5edfc60197887fe8614dacd5503e8d2013959f09fb430beeb60cdc0255b7514a65b7cdef8a2db08f9a7874b0ddc7ee14 +Tag = ca76ded6ea44d6f262696f4fba70 + +Count = 6 +Key = 0d26fc95b5132dcdb78b8962796dced2 +IV = b4 +PT = c97d06dfdeb44033d2cb86f4096e5cac4d5bb6ef2c2395c4a39ba71d4d726d2e32b747913e9d2dfc5a2a6991cc2246de7b3d02 +AAD = 745f8caa4f477cd6c667e411ffbbd599404f2d8351d8051702cb932abbc7ac6619aa8c529ce34b3e7d27762bd6cb12faaad8c9531bad247febc1d60d53db83fa2779b365d3778ca3f0389128c0d73ddf32182d75540b1e217a0d +CT = 13b76a0054be7497cb7a882beba2930b70c96fbc5ab4ada774329cc299d8d214fba5315b956fde6a08dc8dfdcd33ed4aeb3be7 +Tag = 678332e479bb24aa3311993acc9f + +Count = 7 +Key = 27f0fc8fcfb6664422d79862d511e168 +IV = 55 +PT = 2e2e3c4b5a9bd7c384bafa9c157032180310e30a68c64ee5e0729394f1e09e78d431b11f60f4fd6813888f7168bf468486fd6a +AAD = 61c22f0c75ab2b04a52107d7dc504f233b80c1b05993bd597356bf5b20013456cfbbb237b815d809c03a124155a361cedec19302f0cd3b675d286d5d107fecf7dd4ca6447ba7d953bdf349ac8d8cd9e7f7fe3a651f289c8e8e1f +CT = ca32235c50c9700f1df1f58896ec6d232c270b90fac417e7d79774a9ea7c192adc560944c93b55659f702b9787fa405dd4ded7 +Tag = ef27463161c103b437e237693fab + +Count = 8 +Key = e05b3262de601dbd4f54a7af01714c84 +IV = ba +PT = 0f41475a2633fb5c8b9a025bbf5134a1b6cf2686dd177281716dcd1675970876674a1b34cae5f619581c436b4daeddec5e7aa2 +AAD = 622c0e6055544744eea0780b1ecc7c288843e20f74094c16e4e3027bb9f8540636e782a6b723715785f6e18ab8739e1736263c2077bd92d365b7ee257792a0891c553d48ea6c9052368ac7fbc75a16d8eb0d40af806ea8f7adc5 +CT = 2f3a212b73835f59bd39f3717bd11c01ace41648922a0cf64b7eb03ed244e3388c089551bd08da39c9f7da034a5a909b86b8a4 +Tag = 417e59a7ff45e92d1c70befe1a92 + +Count = 9 +Key = 7426ee34add752b7942ea01eb3053bdb +IV = cb +PT = d8355c04966bd3c9d8384a54056fa203da5b0ae8ae45caf10297eb6a2b829f5c6052614e9b0fd86488743cc15edbe7e6a258da +AAD = f6850fd8f9f7ef2f67663590800b30a22d96410e7bedff3762b3518ed27e929153d38a29892bab2ec89bf4fb6c2573b9d83df7db353080410e982d5e28a6f023bcaebe332ebe9b6dba3afb29f554b2b0e82f314ea7e09d8f470d +CT = 32eb58ac2f75b5e256bb7b4555d768a95be312c08b9b27eb1de42c2c96f29c0b10e5c7195af25dfca8f5dcaf6e1416f4e5b85e +Tag = c76e0a24b4851b2da3f58a4ca8c6 + +Count = 10 +Key = 29ea29237bceae38906665503d5b89d1 +IV = 59 +PT = 2a1247f2151daeb44a4cfd3c4b4b101538012fd8c5db2fccdeaf668b03d9208d265cd89388bfca11018dc224fa7dd568f5f9c9 +AAD = 84a54a97b6fb8e56e7acb39c359d661ce2532d7a013c60792c1f47ade60a76535be2aea959472fec966e59c3edd167e852ca2529420fdace26ede7d79c2176656c67778a7cf5717256ea80318f090a33fcdfa8ef4fc679da18ed +CT = 9fa731172f26f27a56a80ad22969c1f0edfa6f5be9b582e6f8841f02b4306c4429fd209855502626b517e50cf958d7df29c330 +Tag = 28155739bd30a9376115fe6d7cc1 + +Count = 11 +Key = 6a3ce5a40eb96cc02fec3a4e8c241669 +IV = 01 +PT = 56a3bbc503bcb0ed6ad75d722a31d6bccf0d61646d66903ef4aa9bc9ec9d0d24d3c6801ae1a8d3fc9d916f1ccfb56aa2149777 +AAD = 07863cc85e076fcc9df08e924fb765af362937aece820f17360d75ebd9fb512c9d73f855961a81e1c18bd25a7b55012d5e8ff96b1f435fb6af7cffcddae225a23c9b4f4e7fc96c4caf2f3d129b1d588a520aeb7d40732df8005c +CT = f47187c1f96dd1503a983727dbf5847786b67c61c4ffeaa247370c4394fa1ecd805b33b13cf2a3268582b4db5b607eb82aa165 +Tag = 4340ff86e155f671b0ccfd6bbf79 + +Count = 12 +Key = b0f2a642a876c69680c2e19c9b0e280e +IV = 82 +PT = b06387328dba35af57712055e650f0b84d8b4ccc1defdaa38d8a23d3131ac32e6cf480b00e70e32774dec12157adc02b9b138b +AAD = e08c2d11ca777c57c967d8d66b4b6fe6f09da5430f8d042efa5aaed165ee500ad08cdab161ae0e0d45bb329c183e65c5d4ddfe79e4d42d9a0ccaf19c555b1ef5b702fe160ce540ff997ffab331f69af0a7cf359ca1cd27ebbb90 +CT = 1aad7e9e824a76b3c108c92bce5248ee7586417d2c10cb019494e10dcf3e99f12102f376fae37ce83ceb5d7d6a1d42ae9b59e9 +Tag = ff36357dfef1e844c6a05fee9a38 + +Count = 13 +Key = 3a9cab02bae475d168e437cc79f62f83 +IV = 90 +PT = c4fc3260cf325d2dd1d95ed99f709bbc99db1ba8c9ef8447f7c37ed36d0276c8d77d4b312c8ad8f67553ca2d3a3824cae685bb +AAD = b1ccf313542d350828eba4c648759794dd427936d60996b31ae737cc817b84bbff7fc6ffe29e91b343a5eb568f90ef825a2edd130c27a5d6e55cf52fff460b24c1b599fc5ce35b5256c03c04ea0e5d5a05a114b94b5bfd94268d +CT = 741f2af3e86a026fa12578eeec53aa4898a1bf8e4c9753ccaeaac07e02cea9272a261ea597bb42d2404a87d18d53d775c10d25 +Tag = d75b7eda3ee0c1e5acf7b0f72145 + +Count = 14 +Key = 718ca16f25438aa59080ca4ad421ea68 +IV = 8f +PT = dcd09e50619b697a16fdbf37e2b28ea2e9900762885e7d634510dbd7555564f2c9efc7ffb49492b0ea7b6cbc6ade77f5d701ec +AAD = 6b25fe194bf76196371ca05af4cba91d43ae6495558abf41fa4d4ad18dfceca23ef128d1db3d2785215ed5fb71218ca4babac1685711779f11196af02bd3589e748e69d6e27e1915e203d84f1c71735527cca5bff0b9bdd8b34a +CT = cdcc0f9a0d6d612b9b883724396e8a720f13ebb4e6cb3a48428ea8ce7ea799d4f4e5b98a0b605b9bfb9633dc9a1257879573c6 +Tag = cfd628a2864c8dce645b0ae843d3 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = c1ff598055f8b3b83fdfd7bae57e1018 +IV = 0a +PT = 97c468cf16fe009ab81c32fc911ad9dae968f59e2f7734bbbc8e63f4b18a5c61367d300ed245fc45fe086d6be56b35f69de489 +AAD = d99486f5c7f2c53411827ba3b514556617f79b16736f93707fdb16a236d41e84f68d555d116b2542bcf027a04c7000bc7ed5b1f283922d0c1f5dbf2b72f4582fac0e3f201d2d080f27facb06c56b9c938496131c3fb649f5f464 +CT = 4e0e6a4539f94dc19caa15d14f8fb72f0bc8a4d5eaf0e173fa040de78c06392cb45170deefd38e0253ddb7dac93bc49ed41904 +Tag = c29dddc94800fbf7ae430d5901 + +Count = 1 +Key = e0f0a3c0d638654f316ea8f2c80398af +IV = 2c +PT = a033c51fa71820edc781cfd4d3ca8e20e7925dc17fc4f774b4aa2e271f838b122db7512f820678e55331cd5e1e738ed49fc1eb +AAD = 0a272ec3013767a89b2e395c6e97afbb9d0ab3255e234084e831845d8b995988eb73d820f0ddd4e2f9563a5303f9a358bc0489076480f824b617e4c9ca51a597e142ad9ea552bc7607928b0fc33e233dd84a85d609d8bba91978 +CT = f31c6bf6494af3c9164c795349ea47cca533b78e5fd4d3e6f455d40a0dac7e17e46571081259276b1dcdefcf8bb5b0785587a6 +Tag = fd09752147ea0ed1112f04b4bb + +Count = 2 +Key = 5e2867efffc3a7395e9b580d47af51b6 +IV = 3b +PT = 680d7546ee69c0fac84b726577cca36947b46159f06b50d91019dfac0acf4a83c364ead2147909ce4d94dab243cd50a81891ce +AAD = 9fd03dcb1a35429d910410d46ab403c97f149a9fa367dad23b7b004410cd9b5c551cbaf1a5cdee9f2df42b4db8654bcd89799137906e9fa2118d41c513faa4c7c85b18b99aa7b19971a96faca417922593866c9fb0886e28cf7b +CT = a24fa5625a08aa38ca755355d7a8402a830dd2936951938b39a43064b5b09201c9e4943752cb6a4ec61800e1968bd66876d483 +Tag = 83282ce6140c091e04f0547985 + +Count = 3 +Key = e372233f02f968a686b94073b21f7242 +IV = 82 +PT = 75840e1a2e7954391b4edfc62062ef1f75aacfb4a8d5abd0cd146e16112ffc5583dd4805d3e9ea8db8f0e788250ebd1c2e4534 +AAD = 5eef9dd70f5014a47e6dd686e237f34556a52f05749df23394021b8e1d4977abdb98753e325877c4430998ebaf7c772fefd91cece63f72187aa6740e9e41a22efe5f0cd75283fa9858aac46c096768d030087a9af2a4809efa62 +CT = 26e243985aacf56afa7068c1f4355bab206b577caed869072cd7327d2c3307ce32e7b4b392716d7c56779c852b4527fdaf5445 +Tag = d779ea9e012d896fb5c6ebfbd9 + +Count = 4 +Key = 7e6b09d8f9cde51b4628f13970de5d39 +IV = 21 +PT = 975c19f098229824a805e15b5783068d05cf220a32b84ce800e3b5d4c13849d0482d0a3bd16f44433e9126be6b9b8c719b3dd9 +AAD = d6510e739da56d3601ad9e69cb3b31c076609f01d55bdb3c76f5684a800760f35ff085b7de232a3cb731ade2f882c051d7e6e4135b6fb52b3c670e32a0914b8171d041e68a0f5440da419f61d4fad79dfe79120073cefc66fa03 +CT = 4720fb590511e286803ce6066a95e012fa26ca8ac4ccec8df688cbd0ff373cf0af64c44c7855c89bfd5759eade4fb063a3ffde +Tag = c8571913bf5a4b4a7ce68f1959 + +Count = 5 +Key = 47d8bb7ce4178b2a01900c855917c0cc +IV = 3c +PT = 36808518ae95a6a8a36e9825779d8f553e9163c8c3a0e032da5409ff295af75ec22a527c0be8ac79eb124fe300cf8e8c121a28 +AAD = 1bef53c6a9348fd3d2cc04c1345d21d64600a9b52b817c61033191acc335078bff4a274c4c893d9533fa0da65cd78c0bf500e0fba7938cd258a39ad3a4cf0f0e338c44184367d72f32189ec8ec2aa89814d15dc97539acfe5a6a +CT = 2621b052f4d568b9ea5b16157d74aaef54805d88b1dbd5fce7ebe4b3fd7458db5e93f69b833f9cf408ea8ce7764572a7c9b641 +Tag = 716b5e74ce659dfebb4f5325df + +Count = 6 +Key = 72e8ea7edcbe99b1669bdc97449ad7bb +IV = 10 +PT = d8ea4ed3d54ad4de55191c99006f1354e2ead8eed1f6a6476b2915a1035a5bfdb8d96d0c339245f8b75f81233c5c34651e2564 +AAD = a524c04eecd1aaf510402d2c86c9f3b81c4d744ccea7af82879d2a78720b64c2b689a6d54de126e81b1bc36d5b3416a6b7f5699b84671da95bd793e7d742cf17acc242bca845304f4704292d6349397ea2db62ba41a48d29b504 +CT = f23fa50fd505bcb5018fd80a6887801c5dbcc031e7f111365c6bddcb5e174c4ff4e2e8875d1bb938109e600f67b93c07424e20 +Tag = b40e990ea72a060869b8c33f15 + +Count = 7 +Key = 1d17bfd9224854e0c3f97018f55ee655 +IV = 6e +PT = 0d5049ffaf9838dd40b86bd96e6ce8db5b70e73cfd4055cbbba0dadccc33aa3c7c6c90377bae790f21eae2b0dab3d7e1c8773d +AAD = 43d7be0416ca99c828c3e685cce99da7e217d1957e670564c388f51ffa3f3617297348840d802ff25ee2360912132c6cb6ce3baaa220b1feb4f7f851654a9cd82416709b9423c385ae3de8e98c1cf8b7169162661d793f272f8c +CT = 85d948e43c0ab8e06be64f1db2bde06859674a3f9e77f2d96d7e4aa46a57352501a09c24a375958133f035540b8e1996d77dbc +Tag = 64431b02274de7ac6001bed0c2 + +Count = 8 +Key = 08d33a69375db61be68d870407a6925c +IV = 22 +PT = 2dcf6f7fecd44ceeb77008761c9afdda0868b7129c239f52c4b4632cdd5b99444b6b393685d28762cd612d167cbc27308524b9 +AAD = d82c918e85dbc4af37a39a1ea7ab53572fb1d7fa65b3dffd9f7b79fd86d8ab569084a4fee4df72ce338b413dcd704eef793073dcf9977eaf2caf957e78cc3f9f0cb3e1e5300f264c659b0f2f7671ae012f6949b5f828c6101d37 +CT = 0ed3de04ff0e1a72de12fb7cf420167f7869186734a0cbff7d0213b37ecd2cd7570543574424983354871aa979dd1719576d07 +Tag = d6e1e6f8119be6f34ae810a48e + +Count = 9 +Key = ac52bc02208cb2bf3eac07183ad1e20e +IV = a7 +PT = c4aefcfde739a074c11c25f1e0c9e1d8eb1adbc8c38f0d5b150fc02ce5f3835ea471b654ff84da86a996731689ab6e9a8efb1f +AAD = 53eeb36a1a5a95bfa99370f0c8067b27ab1f37af2604cca3611e32fa8307dc3289aaaeae2a25426e13dfac8c82dfba366aff549d45d5239e762ce456eacde5f42514e5d8cc3eba406fc4ba5e800175356af0ddc0f43f88bfd237 +CT = def34d22c54e311f6f2ef11e400961c7d64cd8f0c48cfe4e59fe98a4a534e6277b7810a1a29db8058a1932dbda62c50ccf6cbb +Tag = ab55e8128996c9f14037c17326 + +Count = 10 +Key = f5df6ac9add26c993f02a334729b65ed +IV = aa +PT = 10c9fe69fae80ec01ecffbb4aed3be9f8a0c2eee39306f0b6170b91c193eb184c957ce12483ce361bafd9f9c05b39c951b88a8 +AAD = 916e11a526a808d2895e18fdc2ce6fd20e564dd66f024ee9151b92892234bd3408873046a95ec2e1cef4c1ac6a530717d2c0e86613eafaef23d2a46500bfeb9dd02a582c5d8a7a9d2b8a96e607b284269ff00ae6608ff1398895 +CT = e66f6252dd8b0f7f3b81f68a9d64237b17e80af3bae4f4a8cc046d34bb3e41de9109a5ddda99f6c5570182514e074bbe5eada8 +Tag = d4aec65f7f6ef7f85aa5edd26c + +Count = 11 +Key = fcccbe8a3cffd8be708454ff91866da9 +IV = 47 +PT = e0ee103e1cfcd8ab4f4c195570f1f98e78bdcf8fb6886c4d9cff9ad04d9c4b2749a4f1ff0164ffa94ca2869b1f21e9d1d57158 +AAD = 5b1fac7ba79a8210fb76ae104198daa519c6f4e0bdf5a10ff6fea7148e860907111a9fd7140063854782f323048dd5cf2b6687b773662aa974084ad1483231e4384bef4562cddaa90ce10da2e6bc695712e0487f2d5ad7988fce +CT = 241a07101de296800846abfe642ac4dd7d0789d1766a866b350919b0108b88a49c7eec37a16f4a97c2d14b9bd2b55e8f824f09 +Tag = 04bb5856b990a9d114dad92ce5 + +Count = 12 +Key = 4aa61133dcc49bc754d8982d7dec78bf +IV = cf +PT = 54cc5c13c46aae31d490a9de5d3b15e2f0f20ef5b51473239fa039bc05928e486a9501299d0f7e7788786ab280c0bf2c49c687 +AAD = 8b76ed6aba03e73654d87665c88add59609b7be3e9f69ba7b144215d4d6e9f5bbcb301efaf4a459bad96efe63062981c1dc496a8c66fe1f8d056caf044688721ca07c11693ee09f25ad2dce31a0a89faad18111d2a7f32e1613a +CT = cb4cad447ed35bfc4417c78fe891feffb2757d2f054c5841c1a062ef013f097cbfe8521d2e0e26a95d81767ae5599e5c51e758 +Tag = d214c4de0adb8413d1b5830637 + +Count = 13 +Key = 0d9efd1e2df4e002a43213ef53ced540 +IV = 0e +PT = 768b4eba0b40bbf3ef6ae606a2f940e463a15ad79ad523b3cae22a580650b65364f4e493199121b710090a1505836069352ec9 +AAD = 74149f8ad4bab686838238a43c2a520a451688ae85931c25f5aa15d6edc8c290c5bc75e68b745e972bc8f53077981598fae20e124a4ba5e4b829f81a4f796e0f35bf13a8fd520c3ad92c8a176b5636c66b2377e9ea676cbaf29e +CT = 54db1b8055d7ea76b6595c257e0e15a0535af35eec9eb6ec2b9686207d8cbbcc1843023e8e1e770510eebaf9b0abb886c6566f +Tag = 22c75887f88bd9999ae12b625d + +Count = 14 +Key = 185bb11f57aaf68d791d282e987cc705 +IV = 96 +PT = 7e2273c2ef3fa902f621c66546510c79ea4ffc02acf141dd321e8176ecf8cbb1bb030dbc1264c643cd44e9a5f1ad0e3b570c71 +AAD = a94b7834b2368facda65ab16dcce61bd6715687caec714dce55b4abd634b8239378418c9e048daa060aa7e2cbaa41d62bc83f647e2c6503945d197bd18ac22a31ffd635bc6e2f9f759130ce7af4cc3723559ae2f5a85af2d949e +CT = e5dcf55c310e9a541b1f7e281dfa8c2891bcde09ad1cc9d3e539f5c44f81cdebaba8f7bcd0a07a1db872f824287866e1b696d3 +Tag = 0948e8038b9bff99ad058ab2a0 + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 61187b7679f9aa2f996ccc37efc27b8d +IV = ac +PT = e8a0125a1c34c5b3e167953b2fff8cfb0a583fcdfa9ec893021b50165373caf41d81a81a2bbbed4ce6f7e53db53ff451c85a64 +AAD = 1d9d2afc50d3d50e1ada05710fe3782c205f981bfab87143ba5ceb55f008d185f49a7ee66170b79299f0ddd30a6d287873f3e601d51cf8ac1727fa911700c40ed018a9a5dd9a7e7e3e34d41ff69cdca545ecaa2cd605e1b2ba19 +CT = d137fe1c273f924d5ba995d13e477d5b19044aea7120b9f0a339330f9aeffcc0f9b48ade5198c6183b627ae9a26a39acf1473b +Tag = 8d4cef4320aae45124a795ad + +Count = 1 +Key = 9992360ea7378288b37d9deccdcfb9d3 +IV = 80 +PT = 70aaca2ab87fdd64840ad5a260b13229b3dbae4a6cc57c9766ee982460ab4eb5edee09f1ddaf0fb180d680e59ca60b13164d23 +AAD = 14d6b5c1a88f9c70cfbfa43a34f39536ba98692ae1a9f2fc962bfe5c22e52bdb870c1259afb2eddd89f5bbc1c90066d2798a45ae692012b79ed4936438d3275c4844ff528a9b6dca0fcff1f08f797eeb451914c76f8f029570a4 +CT = b81f2063e01cd3162fd518dbde2af68ce11e1b154f2f3cb578afe8b85996ae6ef12bccf37021127b526e5c378d258ab5941184 +Tag = 468d66c088159c3be8f3f108 + +Count = 2 +Key = 12bdaa73691086e304f1872135b4785e +IV = 86 +PT = 923b8cef21dda45deaeae7f63fdd61e1a77f0ff7bafdc45de5d26765949de1faa214bc33b3433b9a947cd90b9bad89da205b3e +AAD = 1ff50236f89263aeabf6ad285ef1e0ab7a914229884406cf237f65cc75590f9c8a42d6d235757a7d82f60d10ba3ad26d85f3dc39c24442f6d43329f5e1f742f79b2162ab1b8d6dc6cb0e8e9030b7e9b04885c1544123dec8c0c1 +CT = cb7abe44745d4bf0306be937a2669527bac319bb0936f7c2434488027778d7a07e1e1aac3fe88cfc80cd29114d351d4b22c031 +Tag = faa7c71854af4216f5bea076 + +Count = 3 +Key = a7d24af8f8fd86b2515a122712ce4e4f +IV = f8 +PT = d4fd433c2272d52da93609149502ccf722f8c5a97368e13304e99cd0cf3e395e9a805883b05b14e09e1a79ae6d36c47870fee6 +AAD = ca667f3478d80dbe98a9e5197185029a021a530924f36025dcb9ae88d62866cdf0c34582cd58f1fa2abf344990366968b70df713e5a5449bb8f45ec5e3e4fafe07301ab7ec7ebdd9dc06ee339fe4156af6c0d2278fa36613fa0d +CT = 986bd2658b3a5c031a5c00cfa3bba3ac0b2153776e6cde104015d6377104356ec5fdcb54962eef3cb4e1a1c9d58814c5889a2a +Tag = 26e0e60dd3998ad177a444c7 + +Count = 4 +Key = 1cf84350732af4a6896bc9759995dceb +IV = a5 +PT = e9c29e4013205068e5b630a3f2ccf0a008bf57d8ade209e28509c18b0502f9604ff60d98e6caab561d848dc90b73debba7b568 +AAD = 1b3aed01d254137134b5d9282a1764f800216c4663a7c448c7a58eb60f1e33caec770b3c64b737e3ec27e57b9251c84973a8e2793e58ca54ce25c88b6a2a3411946945d93dcac770ded6f3a338cb8890246552f21fd642e06cf4 +CT = bcf77b2cdbecb5cf32b2c931c4f22f193bbf8fbd61aea01a1cec0b1efe3ad56143c8e3b1abe50290c65ebc3c395cc3957bea37 +Tag = 9f3d81ed90d29ea857a62da3 + +Count = 5 +Key = e4721efeb7a62a2f91bcc0d36b784dd9 +IV = bb +PT = bb650c2561c0c1c32a0b977aee7599b58fa7a062ef47d44f4c35bdce930fc34f9246295bb41c5e86dbc05c3d76110a64abcbe2 +AAD = 60e8338c294b8acc4c1996bcee4cf01fd76ecdc00b09a7971080e3f9be3b054fb9aa6276dc9e41c17f4078a834832f4a90d6bd0f0c28526a58b23bf67d7aaf7f8facf95b12457979eaa452e9e2eac75ee357b95951a6b3b215c8 +CT = 1e1f323555a0d0464e423804a4ffafcf5ba9b0ec9f0046d120e08cb9c45430c1a3b7d95e79973a3d2e6f9bf7e5d4394379e27e +Tag = bdbf70281658707fc7b25a0b + +Count = 6 +Key = c1f255fef7c2837d44777290c5577544 +IV = bb +PT = d5258a369a9146ad5f0e9518eb459ebf9fed653ba1d1a4fe330e9557923a595892ba5f09b92a9d6c076f22783e9eb7e95c9445 +AAD = 0c440be2156ac878bf9d86e4f1ed0dcd297a03d8e20bd7b0630c7bae5b4c952d1add7de6f4da6c506c1c3799ab42ec97d09a545be7db99f78d330957bd83b875da30172c589071275ad11e33a8edf10febae9b95e0bdb1f97740 +CT = 36491b39670e82c25351ccbd77a2fa2dc8c2033ab7467825b1a7e963a7c7c59332f86f93ed8c447c7876924fed6e65bd800b43 +Tag = aa0adb9f2dd7d4661d59fcea + +Count = 7 +Key = 63ec944618353f7b88d6736240b9d490 +IV = 9b +PT = 0ef78ac6a30347a791d3e347957c2c28ceafb729cb557075fee2bc638b7dcadea793c984e9fbf4bb209a8c9f9ed00b277cfb5a +AAD = c6975241e6f60dd5127eeb6e2293802441f1693f54f781a9a48efa72690706a268b1dbd2467ad1b2f8730ce6a6d06ea8b030eb13617e575d62c0e687f8a6e14e234b75bd26b96d3a17c1b236853401ed83814adad07e13f29c9b +CT = 1bedbf426d4ab82ad746fdce0db37e22afc172f4e6eef4d35794bd8ebffb2781b917b2425200458cc29e2eb710ab6c772fd711 +Tag = b65576e28c822b886916c65d + +Count = 8 +Key = 345ae59b6627037aa6f3fff757197532 +IV = e7 +PT = c7f75f39444a010171b5279ed48d478570137e6ca99fe6253c974fedbc94c7246e0fe5a595f1132c0706921b34f33789e4980f +AAD = 0b2db0223ea5e875f23374a3a92a1532bf5897bc74d7f1cdd49c70042a994226b98d5c40cef774f7770a3937dc2ae207330abe037af1d4776ebf704e51b0cd940e431e0cd0a43fba4dc6b99456260e7a4c8f1ca890ebe9c3b0cb +CT = abf479a93f4c2b406dcf7468de22dcf06e54837cc235a20f063f4edf4c82de97571f3ac49e00287d332d574977930edf3af9f5 +Tag = 721ca6a15788d932cece9d89 + +Count = 9 +Key = 08e46d0443a4cd37a84e71578d9b87f3 +IV = ff +PT = 1d9337b01632c8673a15e3cc153dd0868d226834434efdbcb44cc965d4bc3bebacd24ce145c4a50504d5d8ec7692950799655f +AAD = bca303171774ca7e16e88978edaa8c38b17e7da9daf3ce849a8fa5952d795a231c78cf9cd52d076804fd3fcfc590995be83648cce3accbf15b27154bbdb16bc2fe350cd874e6d3033a1b9ed2625b85e186c91416de90a5ade66d +CT = cbac7637fb1fb79f8a828bae4d2f6f1e1cad1d185badbe40fa76e17cd990c50bc4a9ad8dbada5629e6b27cab8373d34a00f2eb +Tag = a52e3e067c67236ce256a6bb + +Count = 10 +Key = 589ac04a595cea071cd3b73b7889c565 +IV = a8 +PT = 745e32641ba6afdbee2609c6c94418e6e71b1a656b25d232e7cb346f4782f96a5312a302d0ebd9a678719a7e0cc0b204f13c88 +AAD = 4603939013af398def65039e63ba67ed247e92e1d51267c5c43b6f5d8bf21b1d0281482743288213ba7b107526c589219521a1913e29d63a0d77727a7f9595d9b72773972b181c6a01ec1213576796248b1c91009bda712f9ca2 +CT = 9088a00621a6b2e457a28373db507c0e78d3aaf96c85f46c94bbd5613eba2139eabb4cfda44664a2018bbfb9d7813aca4cbeb1 +Tag = ca880dfecc14d5c644e47865 + +Count = 11 +Key = a80ed410d3b7ae49aa2c9da3ece6524b +IV = 56 +PT = 943ab91067963a22b3ea5e14a38be18705da5aa97db7624dc319f825077f5226d94881c1c677162722fe924e70dcdcbb4227a8 +AAD = 7d28e8233f766f667269139347914d9079eba7c4bfe6f2537289c825f7ce84c1c7e715b2c3760bbdc16ec6d1b612988a8700b5583fc07fe9e5da9ec9d0db1bc122b74f06f59f0256b1a7e8299cafeb8de1436c504ddef25bd30e +CT = 5bd67b817a84d758d3eabc0aaa7077c15c1215251e324d258c02c3333bed9f73faf924c75180d9f7de0b26ccac2b233861d66b +Tag = 5cc98032d11e3f7b19fe7ae8 + +Count = 12 +Key = bf67b9b8c304883b1299a947b4b03d47 +IV = e0 +PT = c44fecc08ec2d1ea7972f5d922d2d9519911a4c17d45e678761213084f094e2eb6219d3c2b82b2764dddd4ac70c0220a2b7dcc +AAD = d86d5a1d3276a0a74a69ef4d9cbb07f1747e1375ffb3f7c82c03f5ee42f4dc67bb8d33f2d0025bc9932d3754d58fea64d1db3c4c516b0e87259c123967d8c0e3c5e511cf2a8f9d6961068567bd363dceb9c1bc1f2a99c27cd153 +CT = 5ada31985dd0bd7299584578706d01fc44fbfefee2c182675fff9dc48448ea046a26d683a651481afaac4692ee64f71763537c +Tag = 09b7f550b6386cb468b9323e + +Count = 13 +Key = bfd3fcfbb68e0c43a6cb56f13ecb12a9 +IV = c8 +PT = 0297c0934e531afa7f95963ab5c90a4342957ccda498a1ff362cd9d1bcddb26893eb25b3611317c7df4f752397aa7788fe5266 +AAD = 6169dfaac999cbfdca7081b8d1ef36c7c791364bb4cedd9f10d56cee23ff6f99601a806d75407eb0c94eb857c98b75ab50b18ba4d2c13c56d4d387edd704e6308c5d2911876d256df13898084f0e9168b85c63da659dfb06ddc9 +CT = 37764ae7b7a4023da40d80f819e6977edf705769b86a47c5431183f949a25813b18ad9d9caf6c9791dd39753017fe27d2384c7 +Tag = e2708749da571a21e8ecc9a6 + +Count = 14 +Key = 6303e5b0fbd393e762fe5d9e1aeef0bd +IV = bc +PT = 2a9459cf23f3f9689647c82682ca9fe5eb66bbc1ac5635c27be4c9b4aadb39b5f7b36be4dea995d341ff25a3cdd237fdf40188 +AAD = 87a91ac63f82aaeca11240556100f74da2ef418e92f13d0bf3c5e64b358dd98d8d316383420397a073e53d17da6aa7f1ebf68447c404f81e169c8446b77bc15add8fc6c31a9170dea5bc53820e9174bf8eddaabddb29987f6ae5 +CT = 63fa1645280f1c2d733d69d28dbe42bc04d2c51034efdff8b5a82da06696826d6db121a6cfde24cc64c7235e5891c218d955fa +Tag = 390724b6f6135ef665ba2d5f + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 5a31aa68dbf7f5f7784c09c48437d96e +IV = 13 +PT = 7aab2fc3ff40ab7985f1a9ac70de3412230adf89e91e32e8f28871994313af85e65bfe13fa38f6f4532e38f49574e30409b110 +AAD = 83d90512c43c4ec445418640c154a3bd90beb93628a3d2d7c6ae1d995e41f87573dfb2531a53024d9d793d6b077b657d72a96650d04fb167bd945e8b430d2da783adf403852f316d9d18838d7532ea553b56aa1b9aa2895b64ac +CT = c5f6271233bc8930811a6bb0b374551bf135848ffa6bda724548c9d4beca31c9b58134be6367de2f12b139f068f72e347c6f61 +Tag = ce105b9028b140d5 + +Count = 1 +Key = 798febad0d6f435a1b75fbc4d1d89c80 +IV = 7d +PT = 3da7066e6a8964bd56a06149220610696fb4cbd76f2001cf2983e949ca52a3b96cc19d1fe4824de234e95b5ff6e82d1156890c +AAD = c8c44ce87d42b698aa2fae4ff54f7760c3db38ba7e2f7ccbc4e5a6bf201e3fdb204cdb9b24f2d1f0485cab72aad82015feb4f7f9067326fb904543f838d745550662eefae897ceff349c5e166792a7f3064458f176a17d886a4a +CT = 62033a157fa9908cee1112f739ed8b7de749172045d3752e54f7c65e29aa11a1e7ed60e512a53662de62ddf3b6774729a1f8f4 +Tag = 660cceb1050d5b87 + +Count = 2 +Key = c8f0a7d9ebc8b70a695dc826f3e3c417 +IV = 5e +PT = af44e37afe4002e116935f5b0f19ed75084fa44c4b27ab6e22575582653b2ba326b118b056dfb79d129bf6d886252614c8b1b6 +AAD = 838c2f17cc3412a1b7d8d9a2d9c3d083944acab2487bf5b36204e5df2852b2014390c609f2b57452e5c0012b2a6e57c8322f060d282e5b64f4c6b0c37465586761583c18c21e42f65f9cafe10188838631e83b31891885ae8601 +CT = 0f513e0a00b3fef0aa985ea303cbcdbb9b0f01d023d459cc4899f42a7c9a679228545d7b90f8c368fba6b4f4e70d5295da5aaf +Tag = da2762d12a206f5a + +Count = 3 +Key = 8542c23ac4bf851b7c08e9a94e66e204 +IV = 3a +PT = 1b1b39c2e533e275abc93f0271130da0c82c522c27959c995b3e2a46f0e669c54c88a1cc858a7109e86a4257e1c25b9fbd15e7 +AAD = 93bd64efe3806309400b53f9f7ade6db7f22b9a2b894316a9eb1277b1f30fe6b720e1c8acf6edaacd3bdc7f8258f891278d1e81c36bdd53252c1070a42dddd03f625a93db1a987316375efc24e41f424e4cf270cc0f6fbc2802e +CT = 262e37c2a02416bcf92c4d76f4c75f44fd5f4c1af48813b854a9ebc983eefd8c537f19e7f2817f0fc4438db31731312e5cc1dd +Tag = 4c17d45a7cbe2357 + +Count = 4 +Key = 939af61ca449ab62a6b1628f86fbb9c7 +IV = 73 +PT = 13cbd9ede888ace73727dd0f074b25be2f45969c6d3b6b1d243d0e11560dbba02be5aeaeb5b28de3492985ceda9004c443f879 +AAD = 741486f7e9bc21a51fe2ed4c113f7d4de97b71d34f40a1aa23c442835619c4d95a7994cca6ffe71f4fa2ad8652c7d8107e1254ac5b72ba72e8955ca8ea945fa71108f228dc028e8b12218cf2c269e3b065e777ca62aa4a60186d +CT = 371d6e3e07d3af04a4529130ee211429672fee6839b3b3377dbb27437662f8bbeb9ec7afc33292986aa749fe877f8c1eac13dc +Tag = 92c4c79541e9f85b + +Count = 5 +Key = 95d502500a5c0b7db60f62b3a783218c +IV = b7 +PT = 5224279f4ab682be2bf096d83bb0a261afc0d74b5161d1e0146d5ab460e464054f69dbe22f83fef3154b8263aa7e1719148814 +AAD = 8b19b2813e5d6a8a33ce1981a76f10a31e82895155768f9feb610ed813ab15a05d0d42c94e011d4dbe9f7f389d92f6497580a6ec0e08f32280004dae396f658bbc1df548dca8e67fbdfacf2b2a46ba43625a47749b2d9c1ded5c +CT = eca6f59928d4941230c7768edb49b93cfd4f86d5e7cd1414abfa8d9d7675184bf6659d6dd2d65a64656d929a47287b24a333a5 +Tag = bbcad4eaceb7bab0 + +Count = 6 +Key = 43cfdf1c257340a4049b4e22f5df7297 +IV = 8c +PT = 54f25bc40e737b6de971ee2f100b17e75104723cc534ee6fd0953b5183d42b3fb0fa987728362de419cc93f004b3e9f2604873 +AAD = 23365489c23fc07d3210eb4677ed3d1406b4b0126832a9733711ab067cd01b0cc10e303b06aecf0512124f5cca9ae91d9b437a115e0b045c0965ec7713658278359edd289dfcd5f1f4ba9252cf7f9c177e489544732ced9980ff +CT = e6338dd0447e4cb0177a17f82863d76748fa582a9ddd82792c6138e2686da29bc3ae6876047dbbfad0f6f304bb8001cc475ce8 +Tag = 8fa899261f4aa34d + +Count = 7 +Key = c41467ac2d034d402c1d35f3d62a7b19 +IV = ae +PT = 87850bc238278082aedd9ada885a70b8ef924e5fd8363f640bd567d61e9ff4958ca750367b854dbcdc8ad187b96236a5f84990 +AAD = 5e12dff273aebaa89e10dc9bf972d7df7343fce0b3735f7a488b997a99684808c345f4fff6486f3f3008e439bd2ae608d56bfe4dd56deed59fa0e0b57ce0e8c7c1ff29079bf1e8877cf31698c25aaad2c5d54d31851f6ae6bc58 +CT = 8e457c95af313d60729eff9100b114784fae87e2380627669b92e650851cb3846aec669bd6dc1a18d25da7124b4a600cfcd9ea +Tag = 673ef9d4f20551ba + +Count = 8 +Key = be094ac5ff453fb72997cb4cb8b39653 +IV = 69 +PT = 6673f2f4e3a10a7efee8e9880b4e563e377fa02fcab67239799e85d0ce57f2b98b67cdc855e4673ac6d1679ccf144aae98226a +AAD = 1bf9fb6e102da17830079ffa984e91a827a43ab3c5cf0398faf8bfb30dc16e9881e674964eb02a0da483d5294131b2744d9a2f6fe5abb5b5ae269f1eae235b88cad8af010ad416a8fd3a02e410cbb1d4f80b18aa4ee8706e4399 +CT = 364414cd6abaf137005bdf8068fe313e12113e3f7d39c28f7064455aa4ca2768e32d4586a5bce3fa9fa7155dfe55a9c65c98bd +Tag = ab6568c08395abf4 + +Count = 9 +Key = ba5fb5f510f2667f3d9ef3fbc09efeea +IV = 68 +PT = e4c5d1c6627bf0746afd622755693ff267cae1d68b16a5e15c6127deeed45f3c47e5f472bfb83c7668ec45b9b1db72f46f9842 +AAD = 0b3b50c288617ed6c0231bab14f66199e86b34e064cf75403775d1aa50c0c59a0afa0639fc372a4c11e4a1de2da08d31dadbe484ca6aa6795860a38cb1bb8e07c830ced2f1ee29719ededc14b5dac2a66ff00d00f4b7e884ac85 +CT = b01144f09fe8c85593ebab044f3f2fd6a11351715f466dc5f7a0db5dd156b946c628ac0c0e9f7b38c179160e300df57d313271 +Tag = 116cd1c51c01c4e0 + +Count = 10 +Key = e50f6e15d633e57bd026e325d75c903e +IV = 69 +PT = 966eb1fa8280aa0fcba6597cb5f3a751f670f12dabc57d3989b857d35aded232ff8320be0f074db8990dd048765f344fad60ed +AAD = 8cdc0317081cede22b5497385fcf0456b84670ecf112e9c7a89341b53d2074c2b0549519d17d68d5bd25fd3aad3be1a9d5ade80a4dbc23a880e66a7c558f8e643dd4674d68ab8bb6b03bd93a3fe9c595d8ac3b0c9f3bde7aae05 +CT = a216a65f64b5317dfe8ead980ff0812ab12ce06eaa40f36894a6c9f400ce7b706f7c8d0fbc03296ea5a0824499eeb87f10c461 +Tag = f96f0fccd1ee9ddf + +Count = 11 +Key = b8af1ab38ede87519d00b91d0c67b614 +IV = 6b +PT = 4c67f03ad404641b3c7771721ae0b225f594f4277f6f0458d10fae0f7c343579fc383f835c61110d4a962de4d2e3f4cf69cb45 +AAD = ccce09a9ce494afb8d932160119eaf3accf2b651f1bee82d784fbd90d9876e9aa188c30adff9234eafed8d87028f84ac8cb8e6438bbb6ac875d390d3b58d946ad088ba426a15fe9342c37327ffe410a43a032aa49597c0385708 +CT = 4c93ea45f09565ab05eba360e387d8d542cdfe66c0d91ce296868d26412de70ef009022cce1f8d9bd1cfcc0e05e3dc3fcf68c1 +Tag = 820de6e86966f775 + +Count = 12 +Key = e49634cfa29e271884e334066653a697 +IV = 5b +PT = c36153a06b9bdb1e1477f579376e17ec35757318dfa68bea7f478e2a40522bbaed46238e226cfc27b2d444d72bd47c3b72f93b +AAD = 2b28ba543f47f6682e79be5e44aa1b6a473a7233bc2ad7c9c40ce624902ba07197cc0a9cdd7c7bee1e1cab914b131f9171d15ed41cd6c291ec6a64ddeb8fd8fbe5c136e0114dae5ee2884269fb4da18ae1ecce2e3560884731c6 +CT = 8b0ec6759e50da08f9072421d32c1cfbf53348ab4200b8c372da33bd16ebdc7ed8eaafa7073ede1dbaa0134c3975cce3cece21 +Tag = 309028f7bb58414b + +Count = 13 +Key = 50c8e9a9684a4397a3821dffdb69d472 +IV = 10 +PT = 8bc5f68c6561861af19c49ff0a8a96a0d0437d0d58199a82d84f5d77d2d7cfea22eba9cb8c16050167629b40492a08d9d20e78 +AAD = 3fee5303bdb6e73d0706bb00b1aa73fade794d6962dc1bdb8ba163ce9b219fe9572423113ac02f62c05be1ac4067e8b1954cfd589d89b1875a6f987c782077b1cdd5b66499beece2e40ea57653177f02b986c88cdac33444e2c0 +CT = 4a0333e8d556bc9ae05e10c8736d67eb0e0dc254de54aa96a87ff9cc56c848667249b69ec2446dd2f9cca89b3ec94b23a32661 +Tag = d2804355c794906a + +Count = 14 +Key = b9d429c5ddf4e04a85b715885c267d7c +IV = 71 +PT = d65c0ef95769af85d066d7e27422536f06c3ba8f82c7819b2d1645bd070dfa5c83ecc1c3e7539e71f4fb34f6dc9dc1a639c332 +AAD = 4869fc00c30b4e523c92d60091f11e9d1ccb9761ed4207517b25a22af5c1c47f72b7a92d4c4683d0cac1cbc1988456a26b324a72d82f6a24e7fe0d39e7a26b1813bb01d966e073ee24e6f64e202230be194100f275c25793379c +CT = 8b2b32d4dbef95c09e68cd5a718eafef0d6b0bca84d306860531d6f1b74a18bde3762c888fb2b8dcc12a2617cd5ac5a1e8e7ce +Tag = 5650971f2ddc852b + +[Keylen = 128] +[IVlen = 8] +[PTlen = 408] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = d82d3baac7773208b615044fd7304012 +IV = 3c +PT = 66fceeb487dfa048b19d30dea22efab11522072e00eed955882002e134b9c8f9c92f8bbc07cdb74584faf277162a6c965f99ef +AAD = 48ceb598ed8503353981e95ec831660e2693bf9efb4c353ba69cad8b09fca96b2553e8523668b265aed4605364d5a26ac634dc042e0ade38969fb2deb0cbf3d0b4548513756670e867704eda7ead3b6e16e68ddde082ec84b66a +CT = 0dfa2f65059ae7bfc814736e157ad8d70f15e1f3e244866e4733b5274b322ce0eaffa4c19555084ca091321d4fb3e2dca26b37 +Tag = c917960b + +Count = 1 +Key = 7089f8c3573ebf3530fa706a667817eb +IV = 94 +PT = 170455744001f0dc0c91126e5997b6bcb6a3720025c9f9f54b9c366ed98eb2d4c366daf69a908c9c01dd9451ded60a0a71ab6d +AAD = 1ebf8c2f2e16d68f2f3381e8f93181648c2469f724de24e7407274c10259db26c74aeb780623eb5d7605aae08d7739b5f051fbbbbebd1829a32f758e731d775326662930446999f5a5f5d1868934ec6f83b1a317df7555d31599 +CT = 0e58555a459c9e82e086a305298d714a7790250b8caafd5383a0077be483fbc47613c4842d4ad3ca2815beba4861fe7c75c9fe +Tag = 09990aa4 + +Count = 2 +Key = 0e99837b27833191eede57b8df593162 +IV = 51 +PT = a4f60fb2385572c7116f98d2a58ef9edf1729531b6d9dc7015ec9f7f61d32c8d4302501397aa60bcd0d3626c0dcb45035ba97a +AAD = be67e8570884b0c7731e1f8c1a8aa1f9580cc48d2dd0a8fb521df40af847af0293e47680636bcc714beeb1bbef2cd6b41eb1db41364050e5218d225eb1dcc16015a1d8351370c047c52a12ba76178a958efcbc5a05f3ee077cb3 +CT = e1ef9c17bd932b8709ee730fe22342ceeea950dd054d7e0ab0278b24f93d2718c753ce560c451a730ce89d0cc8c528904447fb +Tag = d6398aa5 + +Count = 3 +Key = 97f60ef49671823dd68f313f2a8ae74d +IV = 5a +PT = c03c5ae94f289b4a11b77e46b7a9c32db230524a3c1b39e61482a74c4d9fbe8b2c4f25b0605e643916c02d044b4d8cea037b5b +AAD = 0465f98dcaa06981ac2fb03225e1fe07f18c3c9a4a31d5c668e71c72164dc7faea1f3cb538aa827219300b31bba58c1d5451b86595139d4d29a04f2dbefccc0f7cf81ac0750a60eaadb4adf36fc8b9de56aae667f49819ba8cff +CT = 2d8d1390bc81edca44f167058f5201979ad22ade4fbf3f67ba17b2c02a16d8a4a9a1214a093b5ad76957768bd68c0d877bc0a6 +Tag = 1d8eef41 + +Count = 4 +Key = 119d6eb684f4b484d7b2f66cc0bcf90b +IV = 21 +PT = 507c4dbf5ddb7265fbb2e34ef58bd685eefdd042ac5b06cd13ff30b652e69a7b2b47d9290f9cd38d8aa8ec3dcff8e884112b49 +AAD = abd0572edccdf999c90f24a08a9945037d4a18a8b4cf102d3a0dbee3f8227b5c7557f3111fc0b1f7751625c7ab3bb8deb58376a1210e5a28367b2582ff3aa75a244ef5a9f414184e10d25176f245c78edc831b2b85e7b292a9b0 +CT = fb865646d78d6b3f0fddb390c35cec70a970c0f988fd3d9c6837ba112955d23da9f5144b0a526c5e1f303a42a62aa6cba1ba1b +Tag = 339b8662 + +Count = 5 +Key = d70faf0b77ede1f655959f02412f68c3 +IV = 1d +PT = f2979fefaa0005f5010a78e6e2521c66bcbc01933d280e627f21e0171c5f45aad30e6a1673515cbde7a18900300d710e39e071 +AAD = 3b64aa2031d58ce29d5de9442d9c6b135a3b32ccd7dd9622ebc3609c2631195918113dd16dcf646652e750ce09a8d7061a815b47ad552c97e61f75ff742722d382ba7764628aba77d7214f98848622d251bef3f9441599fffb7c +CT = 3aae2889d74e4e580644e86180d6ae23a0c680bbb5f15aa46ecbcef462eb411aa17d45ccfad6f4fe387ca1e5a4cce4bd6bfc1a +Tag = 81fafe35 + +Count = 6 +Key = 0147094efafc4067b6f0a48ffba8b08f +IV = e2 +PT = b0f20086a39819d9a9a97150695fefa45412161dbc79bdc8a6d8cab850952a6d6889d1890d96adf5dba9161c0455d3b46ef4cf +AAD = a98b167d4aa48a18df7e31ecf99dd8a9ac1acd72f13422221645f3744913e5819247898a7b31c512dd2ec3fc93b5473f0af299747cd36c0175f466e5078f07aa4aa3c596301001c8907fa707ad9f04f9dfd655c0af5081974024 +CT = a0403ab3446acc5e4ceb968a547b014c151da79ab794e2cb007630e93171ae9171fac1668efaf4777a9d1f20535bcd70a7a20f +Tag = c8d7b968 + +Count = 7 +Key = 1c773879d8d9102776800558d7c8937e +IV = 5a +PT = 75587b909e392c9e4ac0a3fb4dcbeaa550550f152271f1035f54c09638bc602ac045afb753d4b3d294b5d91d19228fee4d8c3e +AAD = 072dee0b714852aafd2ea36c7ad85a0235a1ddcf12ffd9f25229f4d95ce2cee45b54792f8ad241e24a11b88cda3441ef65d060b8105cd07db6c9efafa09b21d38b3f9389dbac723efd94a3a66285a37c9dc1fa1d996be7f04ac0 +CT = 88bfca780769e2d0a364ddefd5b293d8dfe4e1cb487537e9e1e6909e843d4b787c6bb2c84ab52e88fb5fa7482a16292bec453f +Tag = 0ab663c4 + +Count = 8 +Key = 4db23f84073c8c08d049e6311a57d903 +IV = 64 +PT = 4c9525372d937215f091a2ea4e4dd146239befe2aff235cf595d55771a4d6513bcb8619b127d6050ecee2b5786a5a3b445af51 +AAD = a12b82ea9b223035728c0011b24c0c80b32c0386a2b85043116c78b01dfbb11617e304aa676dc97ec6ff20dacb47fa41b0588f0c2ad3cdf70925d5d82336f67a1f9621349705cdcdbf89decd511f79b446d1ee2afa063118d856 +CT = 40e78cfca5e1968de43a60d316aa7dcdf3b7a2b2b6f88f52e948c3b0105a022029c36e72dffd71b5b23a2632704cfa89b4d353 +Tag = b53d82ae + +Count = 9 +Key = 0fb92b0bf4a0bd8300148252fa6b5eda +IV = 82 +PT = 9e3a812db6096230540626c71d8c0aa3ff8e15a8c159a7c95ca79220d3ea2906baa65e347a96a95f2537fdf8ef0a3fc2924779 +AAD = 2ec79c5ea74116395fa48dac26183769ccff915dd1c7332d69ee106c3d30f45ed4bbce30f82ad73887d9bc4b77112a3060b0382821a57a18c7370731bf9334f88a3af7f24c017fa7577a391449e4463315b1a165fa53b8b34fb2 +CT = b08d95a8ca70dbe316e683ee93f334b98581b78ba3d120a510ab46bf89153b87bcf0fa5606685d1a87689ed00a9338e5dc9633 +Tag = 7913e277 + +Count = 10 +Key = df245543fb720f05fcf45f4e374b2f4e +IV = 86 +PT = 9884a22c54ad7ee5a24a4219210935e822759af16d8af9752d0150dc8cbaa746366dfe7767b47848e93f4a0aa996405af40a9c +AAD = a0cd857159aaade82f02a76f183e20b7366470a2e9f830698bbea69722fd63c635ff1628c1b30695312af554b5996dd1fdc76c2a5d2118949c32fa9a6b36188e7238dd90eb44b3f38dbd1048ff8a89e583d5b2cca25f0f040c87 +CT = 73719454fc2bd901988aeba353a1a2b1c2f1a61084aaeba836c5a5f3dd23471022da392317cba078d228497bb9e2fc422f61bc +Tag = f07b1c6b + +Count = 11 +Key = 73b20c79095d36bbf12f27659031a445 +IV = f6 +PT = 0085d1412976cb7190de0f92d007f7ee94e25f521720ac8615c6839e31075f9519eb54485401aaf7452020f1dcdc0a6e4bfd42 +AAD = 4a4d1bc86077dedf0c613f56657f8e071f9a860891144421128ddcf1e468477db90fec765c3c5fc8ef1096487c2becb8fcb9cf6b94cadfcbd0dd6dfe9c40fde7a87bfc38fe472d99ec3923e3c58e82b7dee962b3f764c78a2349 +CT = 9ca5a00b99fc707edf5f031397e1751ea49cecc664a2351bf5fbd179b09313b903d04c270e3760fcc344b9550ad786cc6c6e6c +Tag = 00bb5140 + +Count = 12 +Key = 9101283f7f0eb8f8408e10dc072c030e +IV = e5 +PT = df74fee9354275dcfb9e5781e8504bb6b38db4ca323d6a205b91ade583b7dde5c1cabf3d483ccd3c1027d1d85aeec43340d736 +AAD = 30d55c46d1828d00cffe637c44b996aa3dcd13e66f379d7b01458d2c529beea0caab30051bcdca3164a5c8328325890e93e87294278c987222c6cd386c245ab1ed6a4dcaa18647a82a84146ef7da46beabe1d51ac860c99f1948 +CT = 03aca500d3c442ee2b832aa05e8a2a813e9b6ee754b8b82abc407a3d2b7933139ac150c46e479651316bda84f18637fc19c57f +Tag = 7a7fd934 + +Count = 13 +Key = 52df09a9e4ba52842328b56e04ad76a7 +IV = b7 +PT = b8698779383d303a7c47c3d670fcc14ceb4d8a0f12d5e20d46d9cfcac4e41729c7a19a97bdb9118788f6e2d9ac182cb42877a6 +AAD = f4542e32cf2214755f61ea1194920e9403fbca6db0b4b839ef8247736c753deeeef30a35d47c587fb6f9fb523249ebfc3c8fed644d27887e78f6048a1653563d8b267e6dc2142100dfe1133ecc8644bcbdde1e90130c0276d98a +CT = baa0fec76b061a81064a5437acbc06968af9c548f56474c1f3e9e0bb5778247e370450702e49bfea6423fb8eafa30bd79047a0 +Tag = 4da363a1 + +Count = 14 +Key = 43200e8fe7bd4163886e2815b121e186 +IV = b5 +PT = 406d7f35b49a1f2c99642fc30910970d69d7d5364fc6f099be7fe28e27b588e9cea54ac3e572af340f95033365b964153f1aac +AAD = 2e31aee2da71d66d4d3904a03748d8be42a1e968cd2f96922eb4034ab9a37138ed8b38766756d3a52d864239cfa630e0caa5600ab1bc9855a2fcc74acb7753162438bdd4679214546333344f3171e35f4c4a3dd5d89827e49ad2 +CT = 5aa48007c03a9e3ac9b4707a17c58eb215615a227c20079b32312b3dbf3e6f5b25570ee508d0aa9f9249f252f06522391dc39f +Tag = 3ca0a4b4 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = d0f1f4defa1e8c08b4b26d576392027c +IV = 42b4f01eb9f5a1ea5b1eb73b0fb0baed54f387ecaa0393c7d7dffc6af50146ecc021abf7eb9038d4303d91f8d741a11743166c0860208bcc02c6258fd9511a2fa626f96d60b72fcff773af4e88e7a923506e4916ecbd814651e9f445adef4ad6a6b6c7290cc13b956130eef5b837c939fcac0cbbcc9656cd75b13823ee5acdac +PT = +AAD = +CT = +Tag = 7ab49b57ddf5f62c427950111c5c4f0d + +Count = 1 +Key = 81d898349f3571891f10ff6f89497283 +IV = 33fbf5041554a778ed9f1a35d6d1049e3ca4c81c6adf0a4c22a8ccd3c4147f8b7314f05df65721f497a0bea27bbf28ec2a282e23642f7088bc7cb42fa4a4221412439801cbf54a93259e03fb85a3f1ffcd7030e33b383ea9e7b20ac6edd36cc22fd3f2f3db315e0ee7a444e332138aa4bb960d9080a7a89067ea155c8c609948 +PT = +AAD = +CT = +Tag = 2b1f4f4c75ea66914754f4a129b6edf1 + +Count = 2 +Key = e6f5b9f9fbae7577645dc79e578f7f83 +IV = 7237a14a7bf091b120c8067a6481d2b8e4c453e29474e737253fe0b70b0c0ad6745c636d3da3dcfcbca02647e0ce407b383f74019ed9bdd9daaa4a1fe17c6e456de68a740ab91aef39fe45ec37fe4e68a8b5ae87d373b658a6e80bcf7c18bf79f456f907aa1282b4162b972aef31af7573a8945a8dbac96085c07f24402409f6 +PT = +AAD = +CT = +Tag = fd61bd58578377474edd2d471d03321f + +Count = 3 +Key = ba246b6823b48a6fe72bf3d67aa111ac +IV = 0050ea2984383f61400657ed0ad648b09155c51ae85771f045d3ab58d49f45891123a793b6616dccd25b2b98c5e0903f7fe899288bc08f15e806a9a61bffda86bcc175fea545833a53a44a375d9c918e0d4ad5251a4e1512848ad159397394282c6d60c04366b82cac1a161f81a8b27232b9dcc86c85b80c9ae04d3154a0fa6b +PT = +AAD = +CT = +Tag = 3dd723f6c96554ad29b1bec31426f295 + +Count = 4 +Key = da970ac00ba47e528b30499b2c87bf6f +IV = 3e6d2f7b9d6a9b686b00c08533a1542cbe1144d15dc2f468b76d57f150c5d616604a4d5c8341cd46c92afe809da7113a9fae38430834228fb0804c0a1e9fdf8aefa6a3fad6fe831490bd1fbe147ad1ee08e8b5d0d1f6a065edbc1a888e301992d6a12c0ce33e6be9b620adbda386a3be75c9c10e59e186b4ba8286c02862b635 +PT = +AAD = +CT = +Tag = 69842232150aec5d4ffb7a730c804b7d + +Count = 5 +Key = e24dcdf432ef047eabaef88fd1607a60 +IV = 998be39f623aef8e6c02761c54ac886eacf9443690049724d60daf7ad32c2eb25063b7b3bce26c0a04fca434bd9ee6fa1160cf102237fc66f48a7dfff420427fe8413f0f9c16e386952384b783c093f328c94e8a15f4183aafc21dd0d58b9e7c45376ea8480a5e2f5e4867742d4ffc62bdae98935e866c018221f3ddfbffcc8e +PT = +AAD = +CT = +Tag = f77a5269e5c0c5478c72bd941591fbe0 + +Count = 6 +Key = 07521580752817899895b4571228fb67 +IV = 63fb6f667bd00cafafaf9da2e99d79efa6f0965b638aa78bece4f0fa652fbef31b6796c467b02686df9b8c8d5db9f03ca66953e78c291af472d404f138f718707d13a1649b0d27a6cb662fb543f493f812810253209bb71b94fe56019a24562dced6cc7cf1dec8a31fa41324edba232dec12a291d33ad6f8a006e19590da5bcc +PT = +AAD = +CT = +Tag = f1c71d92d3e4a8b4177c913bfca9e968 + +Count = 7 +Key = 60bae31150c850b4b553e96f807ffd99 +IV = 50155300054d5a5c026f15f8ca119cad56a29585f5754018dc66a64ecc9ad1235e516f9a6bdf048891db7d818e0cfdc82e476b2c027c677666f9b3ef9800261e24ba98e2fdb3b6e8d127580264930232f57f865973486f387467bbdab80a80d5d28c93ee97c3e66f2652e220730cb4962ded21b1b3441399cbdffb90f61ed7d3 +PT = +AAD = +CT = +Tag = f1f52b6d9cf12b58a57a377c28802e33 + +Count = 8 +Key = f7927d61320ac11e05b3226c91ae13c7 +IV = 15ca880c8bc3d26930b9d7cd6aa0864c50f35e972d24bd43c3b8d30a72ab350f264882a97b05b352803508783997e206e47265aacc0910801b7cf41e38f45417c3ee1178e3370f7d856bd313bb2488e9039c9828b560959bb7c57e672856a6261ee343cf907b5b3af0c06b5374aff9c5d28b8259fc4f9ca8a95ce0ac1fd75f0c +PT = +AAD = +CT = +Tag = 3248e4ecb790785112c26f1c4975b318 + +Count = 9 +Key = af98f18e0ddbf879d3d6f01c4e1eec74 +IV = 72e26640393294839295fffe200c4506ddc923699c876e1204cc6228cb478f9ed5a1e6cc16d3ded654995b676a26764b8040a765205bc42b9b12f163647573facec91a8869b8cc754c5d4b6fb871dee4ad6343ceb842d7621e039adf19c385ea34b858f0448ed22454251a27a21f93c1cd703b49ddef56349983a10e83a805cf +PT = +AAD = +CT = +Tag = ac7d1752dccb595015bb0b1d6529617e + +Count = 10 +Key = ce8ee7639326ad6b7b965c993489d53d +IV = 2961b0f801ff84887262592ee4bfe2a718bcaeb0c541d3382bc384b5e7fcce67c961143b571e9cbee9f6255d32879ab2d5e319a7fc68d0c59f269de854df8fb2b26dc59a014d0c7e60ac8a4874fc022b6656bc16250361eec086ec34015cdb4915d99bbcc400a3386b537349898b6851869e8b271b2049d585ff9a77a0d4f233 +PT = +AAD = +CT = +Tag = 0fbc2d165d3fa18c2bfa99c65156d54c + +Count = 11 +Key = 25b23381c90b02a1807b9860901f8751 +IV = 9d70d5a08040249f53c945ab6abb1c8accf8347c79ca3e6e54712bad67cbaed5db4a6971cb5f3ec362637612cfd7bd591db345e8b9000129e18de00f090df625c5ea50324bd99baab621d6aff85fa3275d9e317517b96cc257def2e234718a18e9868f0a138c5699b3530b08b723af2fc161a020bdfaefa42856f80d90abaaf8 +PT = +AAD = +CT = +Tag = 19e9a242afc078970c364f95f9ad6bbd + +Count = 12 +Key = 89532d2dc48077fc4a709628bb2bdcac +IV = 953971a3c2a81995c0ec1e84baf920163317e5f2ad14ebaabf9a18435678f7618c5c3a185915222a81e2a92e4086f3c4b4d5c0a95ea36ea49d33e16f6232de94269aa3ce43456daec4e4d08e1ea8d79a50c097b6799e28f2abe1d26dd9b58657305f2b600c7ca689744afa65a98bc15f59f396d4bc096a3ff584e4ce04bc174a +PT = +AAD = +CT = +Tag = 633a9aaebd1bfae50cf262d2615b4980 + +Count = 13 +Key = 4a6fddec2e8acfffa511e37608bba5ee +IV = 391d779b15c195c9cbb7f9d730529d6efb1b38196bca0a7ad6454050b70495d56bc1a906ca42f838de7463f30b001e17b31ca6f936e4a172153bb29e597bbc4d4e5fd1502f4fa02ee020c366c272550f5a735426a2b53f15ea53ce0276d3dfa49fc480c6b1be8793debf330f3963bbde7c5fbe4b3330dd4bfd237e572cfb7e30 +PT = +AAD = +CT = +Tag = 9c3602fe372123ae41a4fa78b06e72e5 + +Count = 14 +Key = df77958534680ccea792dd1482745409 +IV = f5593fbe4e5a315b369f9fdb0ff473cab1f492f577ee3f1317116364e6e762050d0636abfe884b3dbb08f1adb6856c957338ba81633632360640ec63495dc3334801ca9ca9323491f64c14f77ff52fbf08cc62564014ed0209aef3b3c2963b7c3ecb2a35ea064c429c397b98dccf0d0193b2878db2b2f9930a2f64a49b357428 +PT = +AAD = +CT = +Tag = 8a321184ee246c4a4aec30741f203708 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 7e5cced5a1dab7a21eac47144c134372 +IV = d3264e07bd48f03eced8cc7691aacaedabf1ce7a1eefe4261220bf7ba1c06a72eadcb9cd9b91b3ba869608b95f5c0204273faf18656cee38fbf899fc7390efa0c9a7669562f324a7ce645c84066f6b125a7f997d1eb40818dd6439ac47df6a1b2b500aba66843242eff2d2c104fcbeba1a729fa44d60c2866ef5090c3e1607a2 +PT = +AAD = +CT = +Tag = 417aca2853c53ad2b40e951a789d8b + +Count = 1 +Key = 5c04797926c2e851e7b1935ca886e71e +IV = 96cc302c4f809fa8a2678f1e82c574381c0fdda0234206c789a640a2369bb6eae5275b82c611396788598fa6a0aa704c39cf2a495cfc865fd6ed60abfef6f06db9a457b3bd19cc7600109b5272bea844aeaf3ecf7239259285d30ebfe46ed60ced0c99da13e0a1fddef9744cc3b0019aad7172eaff5faed902425c3fc5608308 +PT = +AAD = +CT = +Tag = 6d85158c259bd4acf745a86ab7b8d6 + +Count = 2 +Key = fe1722392771ad5670eed6f94c45e732 +IV = ee5cdd282532fa2bf9e8d11f062cc3e3819e7d979a26b15b3d9d9fa8fe8d4de19c17132278d4c084e6bc92ac084b8cb92df1c1b0428daf186454140dfe64e232b5a0e728e0deb23d0721445140808e060a30493bec0166f8a37d8e45ca17a7a37f4ca541193c228309a03a2c43f86ccfe4364996884ed1c8cc3ba11e76dd710f +PT = +AAD = +CT = +Tag = 011e933d7eac77cc3c02c6ea1be8ff + +Count = 3 +Key = c31bf29ec67c2bb5f6f91dba1e08daf5 +IV = de4e4d09792d5aa6fd085708b7a2f630b6726db8ff04377f6dfc1138fa3e81733a8a1452bccfe190e8976f2bf42e7262fa0e6d5d69279873cfb2f5f016379eb0693b74363794c3922c6dd5165db8f76d9647ff0125636845480afac0576760f64bd73283aea9c30d7214922e088e0f0832b6f38d9f121167aab90484079e3636 +PT = +AAD = +CT = +Tag = cbc28cf430bf4f70cd70063e2d5fe0 + +Count = 4 +Key = 907001ceb5f57c8ba546c1aa08aa7630 +IV = 5e5d11bd164680beb776ca0a06b67dc234145a8990b98c2ce19413c43d556952a1b0419a35886b3eeb179a6eeb6895222125b531991784405938a720ca3b4f0592f5f0bc0da856ed476445564abaae1138967e8db108a4205f2d4e0706f58568b36a979c9df67019809c6aa2789f7b3b2d13d24459744f6f309fe4e4c0aa7f18 +PT = +AAD = +CT = +Tag = d5f47eb7c06dee944f7480159ed8dc + +Count = 5 +Key = 6cf3a0125e61ddc77dec8ac95aacdb13 +IV = 15fabc92c90388dddf3cb763bebefe0b7e9e8270004cea58b9538057d4bac0bbbfff54815d7f783bbaab7efe0bc4c3ca1f5cb0024499f49d5a944cb5e0ed756bdf9eae784a02e3b17d62d27e2e2f7edc2f5bb6f7173ec187f854eab1fb705553f1881dae10acc456d7491c9ac3907b72979b821e7afba76c052a49ee5b422bf5 +PT = +AAD = +CT = +Tag = f570e0acb9013b02fa896da12febf1 + +Count = 6 +Key = d092c01d6ddf05fd03dcc68af3bb71ff +IV = b3c7379655d0da9df4321f626be13348f4ec42529970d2697166005acdb4e0b0754317cd4e4de18c1ec4adb1e003a955a4c869cda09195d3e3702f19a314b958734ed2870d22a45519f17f937be3813c73bf5ae94c93cc630f5230bded77e996a991bc9fc924a3f8e67f66a698161912d6fb4af96da9ea4acf1caa5b69741d94 +PT = +AAD = +CT = +Tag = be418959ca1e7e9901d5433b3045d7 + +Count = 7 +Key = ba9633aa9b7a0dbc06653572e450bcdb +IV = 896c44218e7b77c47d1653a935ef169425bdbef2cd0e535681fc48444712c2f76f6191f20b3d07b577893bb522562782eacc282717d7dee6be3c9c61e31e621606c8c1a7a2ec72a7a26fa4f6e35d1f66e4c09bd83b11c2d1ba60dd5fffe62c09af1e2592116454911a7fb793a5f4986ccc43e3756b8b0098da29d1c0b5917cc8 +PT = +AAD = +CT = +Tag = b01d696e4813497cd7970d608e76f5 + +Count = 8 +Key = fb8dd618ea8f828549c598c2a687bd4b +IV = 787e4fd149661ba0d533c0110c99dee8ba4cb402ff87ef4cdc68b63e8a44524b36e90857f6a005a68ecc71c93fa86546df972767178e67bedb001533c0ad6f76420ed89cbe028ebeba137b58e2d65046dc0e9500c94ed79171259af43e59b3bff00e93c4320ce2832329aae692a4fdad15cf25d70fdd002023464c00d19251c4 +PT = +AAD = +CT = +Tag = a34e00e3800c50a9f41d8b97e139d4 + +Count = 9 +Key = 6b54526c833da727512aeaa0cc361af9 +IV = 01b4b24ddae2ea99c4bcddad253c6f26185f35fc238cc33b21fc715ac53ad331e93cdeb8a177da8664342ca148db5b2f822089d0015fb08f271ce9748918da4610f5aded364314a005b2667a5789020128c002a1589e8d1729cebd9c28de2acf11b4db71b4e8e8c18259794af32af4c62ea28ac0fbf5272b37e0d9c2997d36cb +PT = +AAD = +CT = +Tag = 33f60daa9fe523a0b9c400228536a1 + +Count = 10 +Key = 2f271f5718053c70f896504bf8b36324 +IV = 94d3f7386af90342f39947097a97607aa0fc2c131a5ad799bbb4ccf5dab5295e2c5989bfc468de7666368c01a866939e84a01727e87ca36aace7de21d8725b1ecfcdb4e063fb59401e56ab65c658a00a17094c8ac2a6bc094903216a33bf4be5f203a7580dcb830fe30956eabffb29de38c545dee71d8d254ea3ec1311c875b1 +PT = +AAD = +CT = +Tag = d2db887ddb7457c0245513cc35a671 + +Count = 11 +Key = 29129940bce523cbbf690591e2eda815 +IV = 1538c83ab1bd6192a73597a8a659798c7cc2d749130f8c36a9366095de8ff67d3df531f1bdaf34ce78756500adcba3191d388566f793ee74e3f4f845120d00387f422fa2469a9d9b23e0f38775cded6e340023cf12e56b2edc944762766bc8efa5c740c2b5614faaf16797f2e4bcb9317c29f0b3e5f783a4a5fb0022675d1244 +PT = +AAD = +CT = +Tag = 6b48353934200eb40c6e054b842299 + +Count = 12 +Key = a5e48f60dc308e6c1e08e0a7d46e5cb2 +IV = c9c7088c1a1090d3cb34aa784d869795c162b6ec71755e0b0de2cc63a02ea1a70e08af948f336ac37c72c1647bea56b4188c0a5ba0e0ce1d2933a09431bec521363f44518cfafe0b31ef9d50a3800a98f08178db009bbb53f209fb559ceb29b8062b96b5c8adb8da55fcd1f470b9bdb442e0c351ba7a531c02dc80239790dbca +PT = +AAD = +CT = +Tag = 9d3c9f82801d2ec75cccd9b73a1f34 + +Count = 13 +Key = aaa84094cb0459bdbd5dd289808627b1 +IV = 7079fe65fd0faad766a089fe5450d2564d5e1dd3d2479a0cff2f0bec43265da864d545c518999a0367be867526df3436b316afe797f1538a55b9e201cd329814c382f66aa94eb42018981af106c6b18b4a4ba29a7e27609f22dedc42760177fdb590bddfe89c39b9eb42b1b9d9a7ee20cd2b1b41e3e251ea633aca225b608860 +PT = +AAD = +CT = +Tag = 8e8fbe8686141f107e0b059baa2a49 + +Count = 14 +Key = da7d05a0b0358aee779b63fca5f37fe6 +IV = 11bb68947375ebb13bec8b5713be185388579a9cd49b39b8b88f49e5f1fbd2a2004208787a70b06a06e6cd81b8705c16af91616d2007943a3e424e87060110da5997ed48611102608568c26a129743ed14ef6d2b0827b15a1f9052dabf5266f77aad35e011c0b4c3b86889259b25a197bff17ef81825817bfc857b813a49cc56 +PT = +AAD = +CT = +Tag = 8ae1a3237ca5b6156e7b040fae2cd9 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 4bca8d06bc6f4672b6183d99dafa30f3 +IV = b205379884c5f4a9b2cd361b3f83752a411215dfa95e22e6a6e6d6c2d6d93b21a056ebb81b3a0d69d49f29cc23c63e104e35c6beff42d592d7c25066679b0bdb53f7f84ca9c3163f839c303f0f4294a76d0c816381b0b93ad4abc62b89b0a51c31e5911d558117a4f94450f774198383fd92ba1f22b50cd3fb7528dd75383877 +PT = +AAD = +CT = +Tag = 9b737ffe4202432b8b6eda2b1791 + +Count = 1 +Key = 341fde75438639babd27ae26b9716d6f +IV = 7b5d52fadf5ee7298571e0157f224de29bd7877571763ad0d5b65132732e564dad10b7554f05acd8a95eaebb7f8ed537563b24bf4b5114f0e55be8093fe54f42b52afde5ca30742ca4f454d9a39ef9eb39b9d1a67e4c670cf63de415b73a63f79d06aadb60659efe0b5dd09a41309028d897eef8178f2202717f8b9729a1a048 +PT = +AAD = +CT = +Tag = 9f584f0ee923f124570f1344d222 + +Count = 2 +Key = e3f8decb127a252fe6d8f5a39857d864 +IV = 7d0e98bc2a9e5ecb18eea0bbc266e5b3492fc90b671119f60a985220f7b837ced432b95bd7643e96068f457a663d51053396a6cd47346f220b8b06e06adf0dfc5268f4a0bfae7bc197a6b53ac166e447df1ceb4b698abcf3474889abf9b15b8c1cb5a3701f96b318d5904cbb387edb6156a3bcdc2e77a687b9e58f958459dc3d +PT = +AAD = +CT = +Tag = 18b6ab2d5c7e759f1e966424f89a + +Count = 3 +Key = 2444c880873afbf99f77f9d32ceaf271 +IV = b677b15774f832946e8aa3368b0708c1e9253e5db8da9676d41f5f18b9e852d9d3f63d4766dbd00460240cab8abab02ef1a89447f00e49adca1847ea47beeeb3750557eb9572d1258a74260907cdab9e10394551d97736ae7295943700082193d7ebc59fb5c72aac6b8fee60df5c7047b52f5873ffea101f3f9adbe8a2a92e26 +PT = +AAD = +CT = +Tag = 6de7c50b6da5248c509914b6d14e + +Count = 4 +Key = 5dee71ed190fc8f3aaea37ec0ffe5cd8 +IV = 0719f7a5c6ef7ad8ebd87e4293922fc9b55e358dce2815cdec34160104feb2f90c01315d23b00692c2eb38924c213320f53bebc1ac613d81ec883190402c1d59322d6f22f384590c66d9417bf010711f8e4438311051bbb9b5812bee27be088a84afb1d944624d8d2bdf18bbbc2fe42e6e32e59fd7277f0486347c1ea043794f +PT = +AAD = +CT = +Tag = 76b539c38a8c9e6c2ca8741c8b5c + +Count = 5 +Key = b5dbef27a8fa5f5e06f951700e6775c2 +IV = 97f5aede06f69d1fa60527e42590b02f9da43d3cf8792d2b6235e3ff89cd18b354b1c9b101516a3e981357d98ab12a25ba2e61cb879f076d3d5bc52fdb7feb75ecb7598487dbc060a1fd3d3219707b58b736e1ad50823c22268e7ffd116db5f70cff2e507289ec556e86ded9d8bf726b65de0fdfd07e07558ad2017eb3cf69fc +PT = +AAD = +CT = +Tag = 86facd71bbe5e73750f499330ede + +Count = 6 +Key = 7bad3aa408886b19aaecd77cdc063abd +IV = daa4429fd265710952a846768ebe5dbcee64164b28b399dfca1bb1710f957493d88ef73a1ccdb62ac7cd74aaaf3364d507faafcca0f86fdab81b031be3ede974560e5145228a32f920df265d53d1ee9898d55f88d1b2ecd9cbc08088d8a82770c4134c24e47ecfbdb9149a8f46b4a3908522203ebb67de46e03e27e4844a0328 +PT = +AAD = +CT = +Tag = 0d7771650af8a7b255748ee0a439 + +Count = 7 +Key = 1abb593622801e7d7d83c265e1ae49d4 +IV = daa31ecd9b88679414d1086065346cc3a973c977fbd70dd2e0e4f6daf3900317295ed013524e7cc9a1577645aafd474097c3e0532295d6980407916d78b23da51bd98c65b2faf1838e9540964d2b4084ee6c0248a857074d889f6cf8e8a164573a7b637c3866c875e25c83965866b6486f5becd60478e0ef9f6c22fa38d8038b +PT = +AAD = +CT = +Tag = 436fbdb6534e3e1d9f7000a1141b + +Count = 8 +Key = 4219230bf55d0999c734e00f28f90d95 +IV = b9aa0cbd5f228a17f52891f87b7a595401aea080fa87585b8a5d9365f26a5584d47194d58c4196f72776006cfb98336b7525f4deee6f8d60aa5c61325eaf98e51451f48bd018a60cfb76c5ad44460ff0f616f5d3dd17a9af33d1b27a97f6368580c5c058b13dc046f4c6d4752c59fdf94e20d70ebe357e75a55b5cfd5eb855ec +PT = +AAD = +CT = +Tag = b0edbe08fd34565f8b4ab45fcbb8 + +Count = 9 +Key = 0e7157f7c58a86e05b8be59ad32cefe3 +IV = 0aecde70dc9282ba9b873cb88c484a0c90df56448dec92bd264330a7cfc5f707e020bb09c67d129d849dfdd9a65a3a0113ce04765c724de5aae1634c374b4ac007df99e4bb3cca6a47b0cafb253bdfaa9c0c85a9109cd9a5ab3748273b6305f6f79901d8d9d5b57105fcd18a4dc78a6f7c53af356f748cb9124e34616016cb3d +PT = +AAD = +CT = +Tag = dea6b586b23548f402cc553f3039 + +Count = 10 +Key = 500cfcb3ee25bd9e25d5a9ac0807a3cb +IV = 49340e8adf970dcdd6192912f57cd91f047ef11c2db3a9902cdab8197c9db8d7e4d5dd2cab758d7f661f24f83bfed904f871c7c0a45208bc748325f0b0b0dea9acb179e54a403beb922f7712f8644907e5d8bcfdfe17977cc3760616e082360416132ad384a77a07d7c68a19941d3c524c8ecfd9a2e5964b7ff692479ddb5f69 +PT = +AAD = +CT = +Tag = 42724f2a03d4dc17c2ef6056d784 + +Count = 11 +Key = 57895f8df268e62dcf1d59666b8adf94 +IV = 5648fdfd8a85bdef578732a09cd900356be98e32327ba4fe7f3f0371db84ad8eba104df5fe6f4706044a6b27a83c01cb3542c6fbf1b15952fc85b4125331ce385e31fb7c061f8ed90b614030cb19b1577ee77f7b94295e93b772a08bfa0cb15793ad288e0d1f73f619373105e43bda59e7a0522e483910689097249e36982a73 +PT = +AAD = +CT = +Tag = 1449d7a246cc47ac3fc62ba5c44b + +Count = 12 +Key = d252a4b9328c9c9b9aec42821f36dcdf +IV = 49a6636f46dd4405888d9822cb46db461e3b360435909f3eacde505d9192e03f2c8a0c67d66ad3bdc436a413ef57140f9ce682980ba59472a43b84f3d878d2c080a4aaf69d0e0f939831de7832d38908c85157db9f9d8d05e07906e19edcdd6425ef4be7882210e3fc258a9ef53572af146eda5bf8ece0cc4370e8652490bb90 +PT = +AAD = +CT = +Tag = 371772438f056dacd50be598750c + +Count = 13 +Key = 18b97e0a57474b7cfed9846ee3a028bc +IV = 5f8ecc71be94deeca2d5d08b60df4c6c9df6b58a9ff5befc4f7bd350d9026a9ade009d50e64e0091e4192c739bd1600b5ce082711292a59409dc2382474598530c29b2dda65878cbcf78b22e685ff1277eca8fc34d6c7b63c4970f8fba54005a64f05c545ff5a2e2627f18d7a421dccc6cf373eda1695cebd48a58831f3f26e0 +PT = +AAD = +CT = +Tag = 9e64d85d5a6a6ff276245d17c3d1 + +Count = 14 +Key = 551c9858ea5be1f31a2ecb5816d9c78f +IV = 153d4e5ed656bdae2686f5d6fa6566468e71ef235072835c46bc4fc896009925fd9c09e0c3f92297db8dd4f6abe7d2779218dcf41befe6f9d2ebcb732d5514c5eb6618f56ade6f6f0c4d4bdad8cb6ce1a92a8af00dac69e2aec4c3b43beeed47f99a7ae03d8f08c1d408598d17d8f4374715830b73b54986db4cf6cb6444be9e +PT = +AAD = +CT = +Tag = a8f385eeafdeb8b1798cda323b1d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = a70ab6dc6821694376e0fcb31a1cfaea +IV = 9c49d50dbf9e507846fade0dd45cd92717423bca9853f3a25bb45a3c5f2b739e30e45b43d8bda2fa9ab1721379f36a9c66382acb939b44d01871dbc213485b6edcd8a666ea574148c027a5f79534b7230796d22e58c506f9d3009457acdb33ff0a9a294dc887bede60f797aa76646d6f369f5d65fc68d5b2f8ce3e56a5c4f505 +PT = +AAD = +CT = +Tag = 08e5febda4e1bd42dcf073f876 + +Count = 1 +Key = c7d7678767f4dea5c31ac7de116b2908 +IV = 0ffc41e44d9901e2a0a3e80c90174b7958f00eb31177076e1e09eef41928f9bdacb1c28120b82a910b6534c4addae17cdd420f83434a98d72d7f8a9999bcb68fae0ed2e3e1d83de4582979036def240b3e7614c563e3ea21f2a3ba8242539ee29f541dd1b51163b1b417acce1b456f01b33cfa1de4e666ac7b5602eb2586941b +PT = +AAD = +CT = +Tag = 6b66c0ab491ec6900c18077e3c + +Count = 2 +Key = 8d845da8731b819e52d28194be08bac0 +IV = 4719aa7fac93acb17e1d5808cbf231267ceb89eceb44beb2ae52f69baf478d81c1d17fb590862d621f208fdcad541854450cc4e5aa3706e8d00ab41a67b8c28a54ab8973d7c2278157b3a477923deda29b7c732e58fc7ced799eb99962d5d301db2bed11b5379c01e965e86c5dff6bbee0dbf253405de68a09859373753fdae9 +PT = +AAD = +CT = +Tag = 6099b64b47cabdd84e670cd1f6 + +Count = 3 +Key = fe80218b7ed74fd3fb505b0d209ca2b1 +IV = 097b77af8d56aea125b626392d91dc385b7f413556ec7253dc3fe767da5589a3baf51b277c8a13b4c40349dea1c6a31643ab7de1e521a8aa755db3a1d0f33758de08cbf996ea27b29100fcd7b3819f20b945d0ed2fd6bfc9e6360192917ef0988febd7cad5d9ef5f0001b75c71f920c86f7b3248d620dca9422f5519a9cab244 +PT = +AAD = +CT = +Tag = 515ad422d2f3d0da93fe509301 + +Count = 4 +Key = 689c23fd186aef010543dee4661cee48 +IV = 3518ac5bf943602d06ded7969ce9e33d78cb23bfc6bff25c235c1367c366aa3c37fcf495b31afb9c55dbfcbb0ec0da98ed6f27cd51ddc0d931b918c8e1f018d2fe2ba79567f815edc2f51d4eaf01fc698245969a4c6b39aa7b668f2e48493fdba39165aa2e7692176100a07e31731d81e33d7836d8871afef169a1f082257307 +PT = +AAD = +CT = +Tag = 01ea1403caf3ceaa6890b52d4d + +Count = 5 +Key = c7704609dc64cebd7279518429f337e6 +IV = 2baaef72a4f0d5da18327bec16e2361dc7e0bd9a66140486b60e985637dee89a5bf84b79944a783f6c989269162e6aabd6249016ea09b774f8ae725ed11165df656ebe74166409520fd70e0d18524bfe350c91b98aeb9211dbf485c15103fe95d4414c5702ad2442aa3cb4098e118e7b8eb99446b728acacacef771a8b6bbc90 +PT = +AAD = +CT = +Tag = ddeb2ac8deadaff966776588c0 + +Count = 6 +Key = 8d4890a6c84a615a984ae183fd518bd1 +IV = c6fff218953c86af0cf5aa472b69f811968cde49bfaea95fb83f21e320577389c93c4b2d98e467f6cc41401f9565bea0721ce3c1d04f5debf128ede7b0b1a6ef2e89ade9f96c98114840df4e779458c0b17d0c519ff6bb07afa2d02a2fd6020f077145c244e38b82c2401ba10517ca4e8a24d1d947fa9564e395aa3d0b02ae22 +PT = +AAD = +CT = +Tag = 121bf63b28bcd0a306b3711c34 + +Count = 7 +Key = 0e865776e9f7ae055446c02f2f0d3e22 +IV = 00527907dc433e9a3851eb908808fef90ed3d1e53ec15c76f355bceb33295167688d186ce3237e2dbb082388d3fad3d7e5d303103925e57d1bc7998442b8a4797534db721f96a053906270e474328d72d020cbb94aefac1e2d1364798f7f27692cc4872e63692cfeae00fed2a0c72f5d1ee45a8d709ca221ad7d8a9d426ff541 +PT = +AAD = +CT = +Tag = 993e06759fcd0e4d9b02660c59 + +Count = 8 +Key = d3e67525c49501d73aa2a798ce4c5d4d +IV = 596d1af7b8951db013c8e5a87fa0deba52613e01591465a332c350bdecf98eb7cda88c941ab06e8ce30d6ec42501dccd99117cd7f7402f3ff7e40682c3eb2739363822be7ff5563a5b50f6c6956b3146ee63aafe171793d62ff654d896fd5d1ca2a29fd830eaf55bff710e7048794895ee45c756ef52b595a14d157ee5d7622e +PT = +AAD = +CT = +Tag = 672ccfc474fb0b6cdfbaca8165 + +Count = 9 +Key = 189417c115ed76ea7c3cce4e9444c71f +IV = 6d34341e863b0a5f3f230ae6a820e19521e99529eff96a8399e5695b78b60dd42c8af24ca4a1b9af54f8026af295332dccbdb28cce1203994f20920beeff209ac4876a12b7c00d57eb9912d6c69418d9cb8b4613e48f7485d117d66e5db052bb0ddfe2ccf4c2fc267679384bc7e61514b6d8e3745cdf66470cd65e674ee84465 +PT = +AAD = +CT = +Tag = 524d29c44ecbcbaa82785dd7e0 + +Count = 10 +Key = 256d7c0debf8389917c986afde8c3546 +IV = 325d0886c8658015be55f13879817eb5cf2bbe86df9c6171ae161dfd565848bfa1ef311a983f396790c75577a6574367b48a888c0f80c9b91a9da4bcc81601ee3c64258274972b1d04aaf3e74cd9d61e9be5c9d52c68a1f3b6e9284858d092f84601faf4ef5dead2a7fd953ced3bd328081ec95ca0b98b48dcc8840dcdd7fb8f +PT = +AAD = +CT = +Tag = ea58a2fbcbb3f0b83f5ba80d46 + +Count = 11 +Key = b90d5b2d20a765b7e831634d5b0b9423 +IV = b87542d21af42cd4d5dec00f04b4253baa4712a8dbb0b45a1d83c03424ef5f0c0a0e12c519636dba3fd3289125b473c1f97a06cc620301be34817f4bd9659e2128faa255177145190b482f01e43e09d6eb72ac755634d40492b40ece6034194bf129657f44abd26b30f6cbaefee27dcbf43f87be81e9c02e113dacef47d01666 +PT = +AAD = +CT = +Tag = 7f510ff562c1207761f10cd4aa + +Count = 12 +Key = b02e7bc98c929f4b6cc84484b04152cc +IV = cd41960e0e32c71b8adc2c1a2cf4fa231952d3e651d49ac7384e8d87e1fa785c8b06ac5576c80de897338a1cd26fb1ddbcf261a93a182bd69155c2bcb2075f5d4c1cf7273cdb4450606026625f17de791f9140f5588725f28dce47280cb76900213ba13123c29ef1a45d0d6a6c239dc5006f1708a1362c5b52f4d3ffbb48427c +PT = +AAD = +CT = +Tag = bcccc4e9644061f6f30333e24b + +Count = 13 +Key = e00dfe3af6ccca74717c80cf4cb7472c +IV = 7ce9f3a5cec8dfcdceb792db79f08498bc940718c10cd2584510f942ce22f0431c0d455a95f4dd53e084760ed83754583a4bb0313002d05a5c086b395d9914ad4e0db167780d2077e17fa54fe2aa5f8d63d3ec98cd1bde446174b4aaa90f72b4c8c9d2da316cbc7dd1bccd542bf0b774efaba04c2f1c82947f3652b8c7cc4cd3 +PT = +AAD = +CT = +Tag = 6828d5ed781826c6689bc9fa07 + +Count = 14 +Key = 7bd2341accce309019782b3b41ff786a +IV = 5e447b75addc61bf954604b5d99243df878560875eefbc6577ec12f021076e1c934df36ed0ae7ac09ef93d9c90a12c41ffd4c9feff578c2427c899dd34a117e36a7f1ad3c3c50df367566cd592b52fd22d73822becd10bf37aee3922cc817a4ab791f8cc8c8ba429f816c4216afd18539bedfe198cce466a52791ceda16ce86a +PT = +AAD = +CT = +Tag = 257e2870141ad1287eb704f964 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 4df2b84fbaac9a696398bd00fb4e0ef4 +IV = 06781fdab6e66d0b995be011e86c06f618ee3fe401a483645079bc483f435ef5e63b369ccb75a0179b4f497105e0129e5eb67fb8510771c758bebbe00018a18421ba9878083529cfae8d54913ce0029c33655021c5b4f04399a050dbd5997847cffe9b3cfde040fc0a19f50243b4b0e69d86579adb3dd3d5381b6a72f9e6404a +PT = +AAD = +CT = +Tag = 86cdf6c393312e5e0becac9e + +Count = 1 +Key = 96e225d81e3ed5a69f1b9350002e2b03 +IV = a33828273c5ab2886c801ea0fd5e63c2c9b77fab541e00c6bb11e67ed5a4baeb227d49da9174906aa238ef3cebeb362ce55dfda5aa513ea1497b2a7da083b349d4809d5704241e0d48efbcdb488e9bac672977dd9336432fe3bcdd0433e2ae23417769391b847dabef7eca1f3f2a353e3e639602c93427a095e1943ccbc64220 +PT = +AAD = +CT = +Tag = c92cc1443006852d719af7c7 + +Count = 2 +Key = 464771b0e0d04b3b7e6ecfd67d017293 +IV = b454c92c170d94c0c0eb11509fb967e05fe81002c5c4a28a230b496f1ffbd6eedd66fe7d0dac76171de060f4669f16330d74b71593460f72463739a0c6f966efe16fb34af22a5287f39e10fac273a2858fea5ed0bf258affe78e244f89906578eca534e7373f599ca90ee0253cb813d40be0cc03f7fa2d96876ac1bc5711ded5 +PT = +AAD = +CT = +Tag = 143bb105dfff90ab3ddece25 + +Count = 3 +Key = a26f86caf7a93f42cc7fe846487bba24 +IV = 9909e9c0bf91a0d7cd18adcf769425801c705b2129eb69ba9740832e5c8d817209893100d2f7dd63c72ad0ff401fd5d128598fc50a528578e9aacf98f5e1502789494aed1eb08100d0a4aae9c422cd3bad901e2a2660398aba4c01443beb9d44e8a37c31188ce9e2ed51eb77cbf7ead2ba408586773c1694e73d29b81b699394 +PT = +AAD = +CT = +Tag = c23c0a35c291a716e1f6be05 + +Count = 4 +Key = c1547c1b6a7b54b42ffe18f3429b36c9 +IV = 874eb9c4a2d035d80e999b2da7ac73d0c11a44861f39070071a82455bfcf080dd81e17a25fc8fcb854ff0a94a6b22ef0d187646a48791dd3436bfb4853659b60992fc738137448ba40827cbf6c5defccaff84e5290dd508f9afa3584145e366ae54c87a2856926fd44d73604113a32d93659c167364a02f8877a92f8b953f174 +PT = +AAD = +CT = +Tag = fb2b90aa58be6794d0d97dcd + +Count = 5 +Key = 76bff3ef9b5fc990df70bf7fa34b19ad +IV = e4d455fefa47bc726126c681ec6ed89f33642197ee11fe0b88d5e1310e00aaa25913115ef4b068e95fe611df4455938a04039db69e09a36b6f80ef23582c7ee8846493d25ac8deee563545afa3845e4a5835fab17b975a2e6ea0708f682f216bbddd849ca7da2ad002d562228db4c4062f5b18e6a1dc1cf1e14ae68dc50529d8 +PT = +AAD = +CT = +Tag = 96e80cc6e155412a998a9a1e + +Count = 6 +Key = 55a0f0925c4e34959cacf649adfd8496 +IV = 0122f2773b2ae4b83dd570ceb5a5bd06ab9cdcc836318de3bba51dd6e5bcfc8e17d8678bbc9a75d64d37b2fb2f7470511e12990f98c0dc2669ccfb600a15346fbb77917c21b179860b4db4c140b20e67b9dbff6ba6bd84600ea213198e1bd291db4e0dddc31952129c138c79abaee33c148f7c5c16a9c26897fc18df65799337 +PT = +AAD = +CT = +Tag = 8132e9f5d7c32fe53339e4bf + +Count = 7 +Key = 6b9f9c1d6089e5aca8c45415f46a4af1 +IV = 54490bcabe3244eec15bddc76406e24bd35395f06c343c8fe7dee0c0c20b609f7600dfd5ea99a74590bf5b9f4b6498a823e79ce4b1ae1f60f29f545fda5f5c6ec6b8cb176847f1da54d31f24e448120b28cb4b82a71e12bed76aeff10b1dcbe884d5c3b7597ec68abb7399226c41a0285000a6eb63b844bbadef079f2db05465 +PT = +AAD = +CT = +Tag = 3af39726adf101f77255072f + +Count = 8 +Key = e529cfc6669f6ca4eef625087075cc62 +IV = 21f463d80dc99dc44a00dd310ef7cd651079fad31391a4768604bc60286b5a23d9ae9e8c63088cfa610d8168430d30158d951acaa4ec64f5f398fcc39d302c2afb9cc879235be0160206a936b5cb23e4ea78ffe4674ada0d58fd50d6cf8d0e511e23958bee9ad67092cdfdb828e4b0b05afd84bc2f16d5df12c8d85bb4b9c3cf +PT = +AAD = +CT = +Tag = 617bed768054cbac07498e90 + +Count = 9 +Key = fb11bd30f63011de22cd0bf860c19b94 +IV = be9e116095e12a94cc9eeade06daf6a5b014f7965c4ad7409c5816f3bd5ccbb38b896f026ec0c96ea44f7565544144d536c373d9ac46bf69c4fe641c380275304abacc08390e2d71a13ed6e54d5430f44aa2eee24d545e1218e4e3d77858c1e4fe022d56b144687af37600eed73bde9d61c11cc5956593f60ea488b3082a9a6e +PT = +AAD = +CT = +Tag = e2fee627e132122942588ce5 + +Count = 10 +Key = 537669bd6f40c962fe039fdaa2e157e2 +IV = ae929053d95be40e175948c6879457a169fa92b7e521784475847c5f2a7b7bc6af1ae7a59b38cbd348e8d39ec4c820ccd7a825283b775aab1d1e77d15ae55340012a33ed6a41620e59777b308dd308ccb0b8eafb0263841004d18a154070ab268f45fadcac7701a6cd0a0517563fca040413b29a6fc294a779ebb5f3b704d81f +PT = +AAD = +CT = +Tag = 062ffbff11ced28e0be424ef + +Count = 11 +Key = 71b6bca9564e8fcee372670caca61545 +IV = f48e9e5ac15fde11c2340cf3270a97e904603e14cbfb55d11ce847260b8bf4a4289139dea0b52a0d2a1e21cdff2975e0cd27a0a2c6ecc28ea2e6dad2fd45222219c500777f96d495213b01f5bb9684c043f0f09ea36736fde51a99c8d90e713ae809d69214e15f75b89584dc7ce362272a872d5e1d7165dec20ba9172560c989 +PT = +AAD = +CT = +Tag = 46b92668d22d20964b6d626d + +Count = 12 +Key = c9a0b99d76f4e575ec18cef3f639e674 +IV = 88c7c101bfe9f9d99f73cb82de05abd62ca6af27cc97daa2f82fa2134fa230ed4ac5d5cfd58c48153137c547bd0b5c8e0622ddc8434c793c186ab3500825627f7710662bfc070b1e0474d28b8b926d14fa4b8f4628a14595399245e6726d5ea93fd233d01fc497946d3391903306a8dfc27a173f485338af6020725a9ff00ea7 +PT = +AAD = +CT = +Tag = 9dbcbc08d91efcff7a8eed42 + +Count = 13 +Key = 7fd7faff9c420963cdd02f51a60defbb +IV = 39a9f60fefc17e865c08676c00b3999c42fdc99b27310f4063f87faff419c565ab2e9b99f96c0bf4a5e27b34610ef1558d043b4c95950308b66437b3f8b7ccba4040e326a2dbb7eed907ecdeaee3dc1f99904e9ef30368d6235cedee93dd0e21b5e15351e515e33b3625ded93931c785aaeed1ffebb4abf01a8bfd33adb665b4 +PT = +AAD = +CT = +Tag = 50ee952f12079a222b633ec2 + +Count = 14 +Key = f5de381cfee2e9128ea18f93cfc4433f +IV = 9dcb5d548b909e3b7c3fc73556a594d36d55065837c037a64136433c05fc145290b270b970a75459b862bc18ea4f23a4bc529ef434ff456e0c7117f0533d59215168e3516c9405ca56b148148f349580a326965670f97b2ab5812012d2e32a354b24f8f34d09f5cad72733e834c6393ff1b33b622d1f57443c753dbee85a059a +PT = +AAD = +CT = +Tag = 76eb3d67e3ac8f0357ddae09 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = aa6b929bff0e484806b90d82ecbc6f51 +IV = 2f26a430cf4922dc67db591b18ed3f073ec85322a78a3c051c62b52c4e4e5959340d8c65fe04572c8d00d6d6a2ecd56ce4adea9bfc4ad839fc9af149d13c358909ed2a9ebc5ccd785cd721978a7e6ef5f7b0628573df63c039b0b0300412317c4e058e72a7d97caddd81c37a3a917bad81435a0b1e14a4fd18ccf75cd3fff9dc +PT = +AAD = +CT = +Tag = 1f6623cd6aafb2d7 + +Count = 1 +Key = 37be9263494f41cc49f95d9bdadc7a65 +IV = fd0a67e2efdec8cffbce46c14b11470f7eff3271c4dacc9efe8d0a38169f01cd3bcaba5a915f0ba7fa8ee513031952694c4bc0a5a3dd9a0b7179c03473a4da22a11933636d83fac327a23194c57f594ecda02900cf4a77b73222a56e87e0abe0dcbbd9f4e1cfd0206281b23770915b70edfad47d3d9f57beeacee5b49cafc567 +PT = +AAD = +CT = +Tag = b894e91b47137829 + +Count = 2 +Key = e488993f48a36042a5c7f3903cc824df +IV = 4a4dbcdd3531c8a776a11c394137746764578abc0fd86d0cbed82aafe48650dd2467ee295bc5917dd441cb59b3560e62f55cf12ddfbee909a42abec3c8d5a44405547abf9045bd3643f0fc70e5bd9199bab0ec00747196fcbf2dfd4a0c9561eca182dbd32e8d866a68329e15717128a79296118929e0bc384d8727ab012d033f +PT = +AAD = +CT = +Tag = 70d59e1b1c9d55bd + +Count = 3 +Key = 217ae1ecb37beb01a1a144a40977a3ca +IV = d052cee36c0bf9e1284d0ca466737c7c022ea1f26394cc5966d75c00c5776ef4287f0eecc7778d671b0343202f37c88b3cf6bc155c0fbfa9c8220d8ba5d8d7296252d12aa14f31bbf82a1677097e0cfcc582a813845554e3205e9f27fc2de284b20bf470fcfff3088098491a9ec1f1bb56dee0095804c38d886056edaeffae22 +PT = +AAD = +CT = +Tag = 3ff707cca9258971 + +Count = 4 +Key = 1b4c6fa8c8c0b1c1869c65d7770428ee +IV = 76d9e517a1a6315a7117d3f6a035c825cae9f2428b1420c92e2929451bad01d7230abe236fd3e25f5537c006871d238f5e831e49737e15a79720b49c15033db2364f08162b126f748f0a7135bac2744f6d3397016c10da0a2a8347cf2059c31193854222638dcc3671b81697f10f542b736d8092c22a0059fa871290b408887c +PT = +AAD = +CT = +Tag = 6f2f65dbe1ae79a9 + +Count = 5 +Key = 8dc097798bec94cca6b46326e0283378 +IV = 5dec33c7935ec31f09b8a6d99a43ce69e57404b845c75775fd7417b7b15af13bcef41361a2d49bf9cce732fdcd173b674ef1934b95b8f2b48bd94ab2f771aa6b6e222a321364c97f977e303a8b60477f3621674f72af70297fd8e7f9b56f6fc492fae0bec3a55b1a8d76ff85666b3ec932c640f4692396dba4a2e6ac1093634e +PT = +AAD = +CT = +Tag = 14c5a74d0d222417 + +Count = 6 +Key = 85e53866a8efcd0f340769376a50f37b +IV = f5f24753519c66511b7af646a929e92167f9acc4073aefe47568d2a30a5a691e7208a7306029cc9653d6b97842b94753d045ecfbc3273c579d79ee1c123a090c382026a6b9bd80ac4efae1cfaf7f9063589879b6860fb53a181da82a1b96c80dd3361e25af5b75e3c3a8b0f044fa870ad0d6096935f4bdfd5804857c71ab447b +PT = +AAD = +CT = +Tag = 7ab9f33dd207a79c + +Count = 7 +Key = b6b65649672fbe9e75d38fb81aecec39 +IV = 178c06c54a6f62a7ab6a8337dbd66c27113c200cb1d9ee05a53bc51ef366856154af2983cdf25d74cd5debb6ef54f38eb087cfdf3316d993549166cfa0e3b39d61cff1bbef5d19bae1f73328e9274f98909555ab35f89030902eaa3b971d4e6949a6caacd538bde15628679a086b14d9da0cc7c75446f48418cafcdccf5829e5 +PT = +AAD = +CT = +Tag = f4e4a866ad44d03f + +Count = 8 +Key = 6a3279cefa8c9e01fedd89b1aab752c7 +IV = f19ccec1d0d5e8742b14307caa37240c4d6ade1545b690295db3de8a6c0c8c2a7a30f529ad3cbca3f13cc8735a3b6a314c9a0f872c9977a62a148031a98281e28d68c9e5c39a75c212393b1cb212a4e78c7aba8a7c2bd9a4df1f27520b8ab006845eea235a15c14cca232aa9e950a8f7aabc26f5628c8b5838ae682bf3d0d594 +PT = +AAD = +CT = +Tag = 54b68b36bc533001 + +Count = 9 +Key = c12947f7f4a462ee9ce88b6fb0a2f65d +IV = 7a13c3c4a0bc58b337a2eb1b3d7ab8cea5d6b7cb1c72d6e78e5b2b5adf7a90af8748d7fcaf2a7e01138bc697d103b91b7c54748fcd27d1448ec97c92725b9dc9fab0b0fc2a953e628b24891c4871dabcd04bb338b53b7f6ab50a97e5b69f691a9eff3120bbc9eae2c1bd3093e67be890009227e122a1b4c06658a046d475f1f6 +PT = +AAD = +CT = +Tag = 09e508d1826f14bb + +Count = 10 +Key = 4ff9e898d2d4b3204281af1b992a812e +IV = 028dea2c2f15a326e4688a7653f2cb5d575d068d70589f901c18d5f73a0c7b0c2f5126391097298979c768de729f7e1e59d9269b16c6cdd860e86c5fb68ac098f5d080767723d607c8dacf11dcbd09469b2c82ad88b707ad8c5e960ab117ad012ad2fde5582575a8608a1edd4602a41c15ba29126c02e79af1ff17b8086b5458 +PT = +AAD = +CT = +Tag = c1b923e4a9ac9534 + +Count = 11 +Key = 66bd661034d8d2741d7c9b03c440b61e +IV = 7d554aa5083d49e38c4290846e2bc39ca3a4e10202c124f91a97fc44530ed88fc2f35b238c2d677d16f0e0131c253d21d29886d5a8ec58cde23156bad777987dd36d903a700407ccefaa1cd38f31679e92309d2f796b62dcae18d5221102305b6694a760f1d90f7116682c502e69bdb1043e000162b563e14629cca7e127c193 +PT = +AAD = +CT = +Tag = ee207dac480a4a97 + +Count = 12 +Key = 81add1a301de4b1767dfd6aae6d3396a +IV = fdbfa9d44a9ba77fb544aa8e5d162c8afb503d89e4e9ec24d87182045942ee85c2b120e6a6232404ada005bb3b9154986d774f1b06bf83b078a5ab09f410d343d56f7b51466ff4b0c31b65b7a8a16ae0bd7932f059aafe7abe5ca7f9e979111a616646b59ebaa3a16eb18f5b8c326185edf29444d5ecb638420ef23ec75a025f +PT = +AAD = +CT = +Tag = b08f7b9374c1d14a + +Count = 13 +Key = f449b2d70c34538ebba57e050bbea43b +IV = c71d85dd95560f1c32426aa42e9667eb0dced006745a6c7d1800354cfd019f841d40c0cff869da3faa5d352d03414cd90580f655cf8761426edc5e599234da3fbb034b7f5a4a263b64c6a4cbf915c037a8abb3da18647c5af06100c6a2bce7d9e793602ef14f7ade232c3defde647da5994643152e3587ecc92b7aea1086db0a +PT = +AAD = +CT = +Tag = a27a2298b98e937f + +Count = 14 +Key = 1eae01a662aac2888b3cd83c7166369a +IV = a67396687c67ea3a79e4ae68f335b1dff09e2e01f01e166f4fb9c637aebf069fe563e029e4e335e93f75a1f233e9fbf26aefd06e669c6c2b8489f8a559d227e23a63f5dd955135da2f40ed9036690c74fc1e3b6389980d283e331ab74d965f65be4874ee91e663fb29901b934de8291554d4a97f170b7e9bd6c100f27be7a22c +PT = +AAD = +CT = +Tag = a447151f8d3b4d20 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 9440cca7f5c14af64ffc0fc2c74db0cb +IV = ce4772e8217f7a3b9bc248c100b11b574a2a568ebc29ba2bed1f1a103b7da53c906eada4a1547a40c3f1929d99de743e620b4e5041b54e7a802f70670e33500751e030327e640df6f06b628376faa62ac82d6755c18d6e322603715e18109eef0fe7534fb6a55b60e1ad8d2a697a1ff2b854300ed5893f3975a6057d7a392339 +PT = +AAD = +CT = +Tag = 79b56f56 + +Count = 1 +Key = 6d01a72b64c8a2dfdc8e96da7dcdbeb6 +IV = a061e51026113ce670cc03e21fd63abf6bb3c43119b01026bea29f556648e05c42acefddaf08324634482b6045cd35b7d22896c6ab70cae3316998fd453a1741622ad6097b9ac8fc0ee04763e580d76d028aa8734219e7fee8af48b18ac1468ad215fdd3a134a34f52b6641ec1028d1acbb3d83ee7d759b8032a788c1e1474a7 +PT = +AAD = +CT = +Tag = 008c14a5 + +Count = 2 +Key = 57f14a59b62defc162e31f2184d2edfe +IV = 3ef38502a40c74477ee879428a5ac2b04fdcc23ae3aed59fc5a13ca3a085d0eebbf90d4d4eb6dc5f20aa69ffa1b5cc40747887b5282893ea7231bea802851ee2dd0b73b28492c39d69b67b29368feee36524b531879efb9356f950e7e6c9f9a57eda41f0eade33a8fb441d12d64f74dd464610690d97d016622f536a4865cdaa +PT = +AAD = +CT = +Tag = fa3f7f0a + +Count = 3 +Key = fc77df473232852cfe64af1e64320bf1 +IV = 1ddd363c81bef79a228170a8255ca949d06eb3cb74a18134f51a6b2e70f874d1cf521b42def2df82f4dbadf1260fe13a70e85d06b6dc9cf6719bdafe0c52ee7786d7e3f0696b3f103e56390b165aefb2de1c7f361a395d4705466b26ea4f543690f2b98d669276cda753b1af8aac3555f5bc348b3d0039e17f41aca9449d55f9 +PT = +AAD = +CT = +Tag = 7056265e + +Count = 4 +Key = 4f5cd1c0ae93529aeef93abffc6f7c6c +IV = 63885b56d0760ba7a95d03c302fc071479274e0b83be50928f316b21d33d57a956be527410975781dce4ab70a875704202a12a228820c219788600c27aff6592b2df42f4c529b205c6add4f55d1f5a3d76d28a593acc0d85f27e64f24c2363e67529b4d759737e5c7583e6ffc12c945e80cacf29402711ebf2e066bdb6386e42 +PT = +AAD = +CT = +Tag = 14953ae3 + +Count = 5 +Key = 8e30b3b2bd5cb6e688c5b60047894681 +IV = 08516ff7e1dcef04b3ee2b42e109c288723dd304abca8e65a21b72527edfef5300d000ea23a0cbe34adc6154055740418dcda7e5ef0f31975c6524e1f5c31dfc5064c5d01785f1ca2d55527e2822d6224ff18d150e213378efc740d2e9c13898bb6e26388a0828e534d23b6c8097c63ce2d19592efe7bd364cfd933fa781ae8e +PT = +AAD = +CT = +Tag = e0064ec7 + +Count = 6 +Key = b37146c65c34e61bc1a84ef9819cd119 +IV = 0e42e19dd1173f5cfb834a33e4a9a8792b019e026590fabc0e3aa82f539346c952fc38556fa365ed44fcec93be946b593fbd58d847cd02ec971346caceeba0d0793672300f3ec081d573425407c1d4605a8388ea921eecb6c6594bdfe6e01a7ef70538ced70427288527043db672d3b0056e99cc092c80de2f906778304c40a5 +PT = +AAD = +CT = +Tag = 15282260 + +Count = 7 +Key = 4f032b2f28f7e1e80f2d87efec4cc852 +IV = e9f500eb80366c9303c4fa9e79f7ce2bdc48a82f81a6891baaa6f9408d23178988910eed17ad5fa1c5267a83dede958d0d7fe402115a1124c3771b7687dba8fb62ccd59d142db867eda50f1dbbdce420ce59291739e60ff3c00f7a8f0fff2df5bd9ddb55d71d0f5c6ea37c57a02e5bfe936b0715a0334f882d108b742ae78853 +PT = +AAD = +CT = +Tag = 0ce19ed3 + +Count = 8 +Key = c367452b5894e29df270cd2d00bf6f7e +IV = aea07e6e683fbef25d792e408754a2bfaa8861fafa2884b262b992cc6c2d58fcfabb08a2a5dcaae36fdea8e5a88e086b99959ea36253887ef434549119cfd7797f563e67afbb455b05734ae4c236bd5fc9fe4d756e2a5896982f748b56ccbbcd7caf976ab0141c832f37de8216bb8412ce83e0eaa93b1fc6c756fefa0d4380f5 +PT = +AAD = +CT = +Tag = d064bc59 + +Count = 9 +Key = 8d7bbe81ccd3b9da3626e640aa3362a2 +IV = 3154a4bc88165db1fea536e508a5a5995b8569a85f4920fc2a947da12d3f414effe440f00de1f6f8c28e1ffb631d62a4b093aeb194035888616eb5cb739b213858aabd085d5249c542ab57925ee847db1726a1406650f9804a5553e26d1630524552f98f5acfd6dbe4273e81598ecf7cf6b1ff29a1439b28d04e0e43ba5d295f +PT = +AAD = +CT = +Tag = 48402e8f + +Count = 10 +Key = 5b822da3527860338f4feabbbdc8359f +IV = fa4a2652ad7192e3b902f10d66aaad3f6f3d1c752141968757b7db74329c8a19321078482b019048979cbc6a00d91d3b979acf1fc6b3b097deb019a1f8332dd0681ece34fcae0884d20378dc78fb84368f69a3120660c39b6a1c986f94b2bdaf07963b060931f45503600a66879bc4d6e6ab301fcadfd7549070b1e1733d5d2d +PT = +AAD = +CT = +Tag = bb6ab58a + +Count = 11 +Key = 41cd2c57eee7c2dfe308527764535690 +IV = b0122a61c414cd2067da704351f89a5c7ed01ecb420db98e7b1e8bbf80369f54fe709581bb3a9774cf9bd80044ef58577e957541b079d8fde06ce9f4f4dec40221bc398e7656c5eb5ed284741b0bbc8e5f1dba7c8b8e6fe59297288f93f2b60c7d14a7d4248cc87fabd438c7706956885b16714eeb6ced886df7c95f86ff0521 +PT = +AAD = +CT = +Tag = a424a552 + +Count = 12 +Key = 97faea9c407146939dd558aab9af5223 +IV = de120583208bdc8c46672931a3639b384f40f7e6b9ee386c5833c2f71c9ba4a0c224627a5dae6029bd345eb407b1fa578a44fb351ea6e624b2bbed7f6dfa8d08a939ae29ff295899acc485d07c487bdbe52c5d39a0895dc8c7466eefb2311bba711beb958398660b7d7788e3cf415a73d177208260125a4fc3c31b4ed3cce5ef +PT = +AAD = +CT = +Tag = 0122a3ca + +Count = 13 +Key = acdccf9393e79536d7bcb568fdb28cce +IV = 7163db4aed0b8fb92eac59370bbd04826842bc7fbbd84642f91f22ff1447d03f66044e8136137d6b413498a5ebdffd62937ef55bec0d5e11274dba90922b8005fd5361a399788fcb68831d123ee8dd4ec46797aa6c07b082ff878e6415475d02809fcb133310b1ac89082fa13132a9bffb38dc689194acdf879f2584f18cae00 +PT = +AAD = +CT = +Tag = f63b6c55 + +Count = 14 +Key = fe91308a6e19bab21028821fdab55849 +IV = 4ba30b29de852680a842f9bb4fd9ba6567a63629cd8a3f500832a268e4f8c440c9b13e64e1242cd2beb690181f3a1711022e77ff7fb3eb55dd1e3f37fb9c5c10776eea1de2165ce748c355405f62de705f73d5015cdc95d737ee824fb9ea686d202e149ed6812b1539754031771f07db34059fea40079144d20db4a9e0be758e +PT = +AAD = +CT = +Tag = cd2d82da + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = ce0f07629d8eb6714c32b5e5d681a227 +IV = 21e610cedeb1cac8f6709c20f225f5b4af70c3bab5d5c7efc391316a4a208f5acb0870f3cec2ec19a22b9dc4e3cea1d3761b6b83366edec8328f128091ded4e0c0ce9cd3e20904b8d01c0a2eec248ad688564f3a57dce97ec0f87b09a01b55fe4f09b39370c854eabfc5fc5983e368844c6c93b252ca8c500aa5f8924e7e2468 +PT = +AAD = 3c6ef2cfa387ee7ef39c930113a13f54 +CT = +Tag = 2148a5ddbe3384a007f95132d1cbf237 + +Count = 1 +Key = 78c0b684436b7581fedfb3b188e0104a +IV = 6304de3df65c22ae9bfbc576129d3a17f6eb684fd1737ed69b16953975ff424e84774fa952d1ca810ea5554c0c2e9c75f54c40bc2f050fa37b720f6aef1d8cb9b986340d2d50bf1c1131ac161872634d3adb613f33319234019c7821f3a1f100dce0cea58edfbf536bc9a0da0bd10f5cd70baa4ab5345eec9a7dd9e76c06b1c2 +PT = +AAD = 50c26f9e1c53f2ac4eb514557037188e +CT = +Tag = 6e36d4c59859a159e38ee33efa7093a5 + +Count = 2 +Key = c03eb47c35d580fb2f278b83c19528d1 +IV = 4ecc744f3e09ffd11b890263908cfc255cb68440127038d9bb33d220f34989c277547150b2261efa088403284cc55ca5eecaf47720cbb2483dfaf5f3bec093c5593cbad7c33ba5a17f36e02630a3ff4be7e500ec55f5437a78439aba44b1155fded4a2808021d6886d55b7b3b01391fa13d2c93c6544023e1c7b9b7cce57865a +PT = +AAD = 9cd5b125888010462514f78c0c41a935 +CT = +Tag = 3e1b357aae50afd499c1c85775024d8c + +Count = 3 +Key = e434b45cbc39944cb7560c2e422905f8 +IV = d5d03aa59c79ee14ae4ba5a669e4d6534b07cefa60aa85a2bdddfb6ca00a152177c1ecf3229f69125354977a5d011862375918f865f36a1ffcbc3bf549aa20887fa3c9de75332149c6202aa3a240421d6b8a50385d17ec37781758cd19a34b1ce035d5e1a7cf10ffb2a6d47c3f17fd5a90d1edb6b95c8b2bbeb8ac20603a35b1 +PT = +AAD = 32a8f90fc15193803e1d8add3a7597ab +CT = +Tag = 4c90de322138b37301be26a435476c16 + +Count = 4 +Key = 6aae1dafffb31dbb16e913d9d024db79 +IV = b749498eb58234df5d221f280bf0f2c5489fc673e915256154cf9cc9669a6ee6f124da9eb910485882a471bb703b468b15fc533dad55168849321d218abaeaced9c5c0729f8de9578debe1d62ed72e40d816bc38eeef565be28085e8c75a5d26fa9170b4cfee72030d9a4ba24cdfde333c0631d9ab6ba84f03b526e9be06f3f0 +PT = +AAD = 15e2c405e4df2e30c4bff660b1b169fe +CT = +Tag = 3810aa41580ac158265911f14c1d35fa + +Count = 5 +Key = 61b83637934d6e9843ce176add2e4110 +IV = dc843fdc5e0d2fbd4b1500c1fe9c3401248376ffeb4dacd22e443fd67f26e2859efc2a5a0b0a8736bb6e45b916c3b42a499cd9d3397aa30a7f93e6a9925b173531c39ac3c41aa19f9011c4f52c4564494bae0ace8161691e544e4ef4f2fdf8b854fc78cddb3899cb831682d191b09e06ea39e38e1546f24a7f1472a357d435fd +PT = +AAD = 0a298115e6ea9685eb147a88a72737e0 +CT = +Tag = e765fecdc557e0c3cab0d1b2a6e76e1e + +Count = 6 +Key = 926571df6c3aa98fe0f80cf9838cbe9d +IV = 6db9d0bc946c49080cd04608e26c3d42c41bec37f1252b5ef027eccdc585ca59e8738c776dfb81371ff3b8e8087ed5860af940f0c3dbc67b582e47fd48a3f1142587186c602795f42109a6ff5971c09c220b8fc93e108ce2bbe2237dd5c6298d7128afe8142fff54eac2015fcfa82a930b23182a04d6130c5924c54c2d45eb91 +PT = +AAD = 136dc47de093673f51977eba0ba9dfa3 +CT = +Tag = 6e0f911d5d43093ca81232f84f6a946b + +Count = 7 +Key = e86ec1746e115bc20e0a4aa156f60717 +IV = 79af88bdcf11d6889d32dfb997118baa27ead095cd1df506348bea8b7a05835b122fe01105ac206c264e307a4db5ae331f5c20409d1b1b03e26a179493821c50e9803bd2ba142d4166eaeb3f672779ba0e43af724bec59f7e32b53ee9b9721ca02031efdcf1c4da0a477c9bd0f8e2b47a1df4f693d4c807484373fb1f1f44d5b +PT = +AAD = fce99816b2c5e54db362e85537f74167 +CT = +Tag = 01ee327c84be817239fbe8584b2d4e5c + +Count = 8 +Key = 9237e6f2e4a76d6d658eed415dfa8e75 +IV = 2420eaa46dd80b0f8b217514404bb88ff6c288d6c6111460834df4e3ae1116121c709281576fb87e748c4042062f732ae7f707b6b90a723835c848f4330ca6d3f976ea7a54cedc5fc4f0350769b971c531894eed74bbe8cbae082a3f6cac180890ebb4c9f157cd5a1813fa37f85992c380170f6cadaf4dbc44e70623674b71d3 +PT = +AAD = 5702249b027b0914b52d0dbcfdf220c6 +CT = +Tag = ad37ad7ccce5c90c5bb448fc6a44dc11 + +Count = 9 +Key = 9c2a6d65681dcfb6a3af938d4e97c2e3 +IV = 38199d1291a3973a05cefaecd40c0da10059ba56a3c9cd971184f3b6bf5cf8948b432ade0d011a1508cf0759b7cbb25b4c23685b8f0f60c2bde8fc7504d2bae28d2af68aa8ce9f6ff4d95f2f032b1fd50f60552699b3becd8f7f9c8f6387003b239d83718d7236b0925e82ebfa1518d4045128a92b7def130dc9e17abcb4b4a6 +PT = +AAD = 473243ef38a6c3fe16a5ba46ce44d2d3 +CT = +Tag = cb6910daef3b98d53d411ca966ca80df + +Count = 10 +Key = 2912fa5be862e90b131c57a98b32d27b +IV = 3034cddb2939567b9363ee8f3b70470fad465943ab83d7e41ad80b704bc92796ea4b73b2c3e3905df8eaff27d993102bfccb989831badbb71b5ef4f9baf406c38d79faeec966dd6884a914ee9f117f00c56d22f7892c47707574e3fea9b2cd678ae7e1349cfb2285c84c3bb03cf4cd802ff3bd9eac4cfde8bbe157720a2657ee +PT = +AAD = 819e2fc33ca1aae9f9d2849ff46b04e5 +CT = +Tag = 87b0eb9d8a2a328fef5b7ecccf69b08b + +Count = 11 +Key = 9c126122b6c63fef82825ae1218b48b6 +IV = 11db4ad0020e603eb70e13f2c13e35f324f211a3734ba99d08917feed83ce6c34fb83fb3f339faff355926ef5eb8a9cbb50db19a205b2cc64466c0e424f4a005200b39f09857440c3ccc7e97dcddd874830526d526ec6d8820b00d8dada195496d091d190ee71094ffe914a4d5c44352d1039b4a232fc6f3556c439053d29a7e +PT = +AAD = 42725ec6be9eed943ba8c52f7b703dcf +CT = +Tag = 895f2554f7ed223df06424399e7e3c31 + +Count = 12 +Key = 3dac58400c86d4e2a9983b5fcb50139a +IV = 01fc39f05d6d211d7c92dffedce6a646c3f3f93a31fb72802da697fb49d79ad4d6a116c5debd1aba1bbd62d734ef1aec01516584ce806b14d05ddf7f9a111d5c39fa342fb71f636c8f756db95072d96c3c629c1026965437c7d3e5e5d9117a3d40407fef57c225aefca9c510e94d2c740165f95e6cb1bcde6c24e16f2587cc5b +PT = +AAD = e0b266313f1727beb613a1b337cd8bd1 +CT = +Tag = 04dabcdbbcebb3817cbdfcae6e4a9db3 + +Count = 13 +Key = 1fb4e94c4788b8948ee7454423a3acf7 +IV = 5fbda549f1d239ce2157f19ce857d84a275becfc2b5a4102f690593186e78e30bec0d5bf94034f0503c979a8cb00104079e13904977c7f7400101ece349a53267d8c03eb8159430da4600e70afa2dd8e9cc9a4e81e458a9424e08e948fdeabf2a62464bb274a22c74c33437b7c2ce00dd28d90314f6637fbcc9b18fc37cf0929 +PT = +AAD = d26a2505b93dd51a605525ee2e8fb63a +CT = +Tag = 2c0707b9cca31169c75d894be6bf2071 + +Count = 14 +Key = 400b7b43dab94859da7463d26ab6233c +IV = c1b7b223a0c9911f662783036556aca90c65e15270b165a621fd3b1e7a3dd6018556b2178cab3a9936d0a7f0712e850745df3b9f79aaebd182c52a3790e63aefb2607c6be37278f1436a209c86e6866d3b547e36f9791131c4bdc16ed1856a61734013c079c2c1899f21daa00251b564696b2e0567e60ae68925b447ba75e421 +PT = +AAD = 77c8f89b4df8669059988f159bb06578 +CT = +Tag = fd3d5dd9c7b1030cafde066d004e13bf + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = f4e9b23d2ef10df64d5887dcf756fe28 +IV = 3291c7fc6f4df2ccf423230b7ef76413e383d217c66447fa4c5965b76a2072bac3bc7d77e6f6f7f5dc4e217111b42f8a38a261c1d80b7001285d8ebe4aa51cc708a5f42243e3070cb6198ad36e58898bd231df5966b67be330cf42266f133784078604387e7a5a33414c5ea4a122387e9eb353b52e16958fb3fe4c6aaa25c006 +PT = +AAD = a6729675b5fe74f5a2e5a901ea73e33a +CT = +Tag = d481e5a8e41c76583a9c6b79824b37 + +Count = 1 +Key = ab9c28a1676a6fddd3d952f897d9c1bf +IV = 0e648d68f7744dba74a7047e085c74dd9f57b7e92335df4d55c847bf8ab3344245ec6ffc56ac1434fb35bdc559ee9f450a9bbebf2c84f67bd4d538bf0e5aa3474f4c8b8bbc50b71800bdff08710edb466b9bd514b4d0f1fa18d683cc03f143d32fefb874751fa18641f5c62e7eff4604b7a9ced47d64359b9cde78b9338a1974 +PT = +AAD = c0d89fc91667e4428f51642a395fac57 +CT = +Tag = 1b376eb0e1bc386dee9a4011342763 + +Count = 2 +Key = d023ab33db464238e56dcf25e00fe436 +IV = d32c2fe3696e67c75ee878703b2d0864c132120ebccc253c673307bb487e57170c288078afe052be23bd4a05b8374121e6bc90e149408d1a95e5de9095c3d27b6c3c3dd913e6faca702d21343558415bb5739bf1e258145a9d128fb01647d3b9587bb411d27a080c0391d74032e6fa4118822b1ceae6d9041a0fceaeb4874637 +PT = +AAD = ada7448ff493656c1f798bcdf98ad42c +CT = +Tag = 058ac6e3e1b45d1caf66f1514a63c9 + +Count = 3 +Key = c83e68cdd8d3bac4ba2ffd1dc77cb367 +IV = 8dc491ab33e164c13d085b42ff17604707ecb591b70fd80c6fbd16cff9e7201ba79c658f393848e72e81e24ba025d06e73eba0ab8b8da01bb824dc27966a91c7928af4a986e2e88ec923956ed96fb4bc8bb32bcd2697f100c8ac1425c6814852bf3bf7e74571601e9a321b534c0f875e042bf632448586b962ab9b6a7b9868fd +PT = +AAD = 722e0679bb515e9da588a10c7248431b +CT = +Tag = e6f9ab7bae0c9c7f1102556a639759 + +Count = 4 +Key = bf736a675e69aad614a210dc420eed13 +IV = e87bb95c50c4e61e01057731dc550831762dd7232fb9ed92faa3bdfb7e180eaa3e99f6cedbf54ff64d88582fc2593519e2c13ed2daf2f9e8847ae1eb55b0c2bca4a9928e808c2a81b001cf93af43d1a66e126476e1958331e1fb9303e7e317bab7e2d99a94ff70238a37d8a8bbaa5a4d472c2e807cc3acb8738be143fe8eb840 +PT = +AAD = e8209baaffefe13c09f5f7b43305b33e +CT = +Tag = 8f9cec04955a23e163f4c501130239 + +Count = 5 +Key = 4afcf00f3d4faefc14d8b1e7a8632937 +IV = 8f7577219a54f09e91b65ef77444b8ab20fae624bef0b9a9ef81afee966bd3b33c538e5100e961896365b99061101689cc4179d537e01425ab68956719467f62b8008348b3467ab62626d68e4431f2138e43e8efd99953d0019e60ad6cd3ee1ce7605bf0c6c20cdf9967a5125132563e430b8f764d15ad4f0c1d0a20ae0594b8 +PT = +AAD = 1ab39dac97eff1a4d4cc0dd5b4ff7eb7 +CT = +Tag = c0148244c50ca617b7a172e064e0d7 + +Count = 6 +Key = 16ff821864117018c7c4521814a14043 +IV = c4a72e4b5828e72416fb77682eda8e611659f911e9509026a765e169db1bfdcc9ec43d7bc954cbe12aae96df8abcc4f8802e9b0d79c322dcd979e49152b842e906dba3bd61cba35421a80c1c619aa7100df11f0a661c17aaa6ea0981850cb6251777983f7c7a8931b087d83d7b0926b28cf769fbb15c8d62dd4e435c5e116da2 +PT = +AAD = 9d122685e50fa51b434db8f1929a85dc +CT = +Tag = 3854d2fa6ed82c699ab5da365ec61a + +Count = 7 +Key = 20ff87e836d35909c1b66a0d01fc8fd6 +IV = 60425c38b2e0ff42e28e7537f82afcd33bacb411048f3dbed82e127725316f83a4ee1bd4ae76865679c1e4ebf6b9ec5f2640161b5fc784c92268681819d71713ca46d2571528f9f353e37d1599ca0e15c1dde61795cc7af894ba812d58f5fc49bb14a735bd113e633b9ad2365d69896106da6a46633db305fed342baf0ec47ee +PT = +AAD = b117424aaeec90f4578b2132066b27cd +CT = +Tag = 818aa92a245c23fa14d94b0dc153dc + +Count = 8 +Key = adf35fe030acb9fb8ea39fe2103ecadf +IV = 805dfe31f4149f5e0191244710199aa62fafa2e405b22f54dc2928db8f2bdb0476d7bad031813bfbe74d824cf154ecc37b99a28c54c6f41b456ed67086d1d3948628579a0d9e70dbaeef763cebc47f61142c7680055b52455895dfa471967e33c764c2f191d8ba6ba838461083718086a9d128c1a05d4fa114c301d49e2777d6 +PT = +AAD = 1e54881df0868359f4d5e48bb8b692cb +CT = +Tag = d3e12b60b3714fa09da75fe326da48 + +Count = 9 +Key = cfb9eccfdcd0d57f827e44a15ef2bee5 +IV = d7a69555c9c0dccb87a552957e64ae26f4a935f7fbd4a4726ca4f520c3515df0b05e72995736af17b2e02d610b53fbb6101818866f4a7b2a87c6d3e111098369bd5f4da56e8ce27479bde1ae73ddd72bf63becf98f55885401e0f778b2c8a71938c8490ebd149158583c779947c33f83862f6e8dd9d463d71b78e9ff827c7920 +PT = +AAD = 8ce101e05b39459e35ae0a01f66de091 +CT = +Tag = 2102ced1a66cf83548526ecbd2a0ab + +Count = 10 +Key = 58da974af7535ffd486aff00d1fef882 +IV = 3b422cbea48a0a2dfec4b82083fedbff5197b33c2baa177bf48c0a9e58ee151f9a6d857ea38a7210ac284b32f5cc5e70d25d6fab13826422a99509003dd58ccdd06cd1b1c72653e45c05b58d7727ab9a50ea68df093bdc4d94a1ba88b06ca894c9bd1e5f42518e867731f48e782ec23283038f4e89f239b92779412513fe6c16 +PT = +AAD = 839ef186c959fa9f4793c69bd22c17e6 +CT = +Tag = 70329d43d41c02b5c85ddc9bd821f4 + +Count = 11 +Key = 66c4cab1b83e23daf169493365fef682 +IV = c61f03bfb2b04953203cc6e22aeccfedbfd94c27ae6a1c5c781111596a2d61b4dff33ea51356880b446c2e821aea771b2202b0f962344dc836c4a4befe151695f4437a6e806c22e921c18d38d18d59aeedc0c5368084a83926c6e5cedd1be1681597971a334a3c7256fb44a5e7f0a078391321cf8762df1eb5afbe5f3eedd2e0 +PT = +AAD = 650ff7f3b13319e8d463baa89795ab25 +CT = +Tag = 5cf92cdd470ae1e057156a2d065bad + +Count = 12 +Key = a0b2d42e595b8895ca55fb98a59cac6c +IV = 56e2e40005219d12a87b3f33fe1f3c82ca70ed30f95190d8127491105c39d478eadf79f5289e0ab22b3166d5542e481fd989f07f47f1e95d20c6a65c931a3aab2f75ecca576686734d184dae576d7fab1193b5f3319ce94aafd364b4b2db26c10538cbbc82885c28e05a0c5eadfdd680c4e51ece5abc665fe0176d66ef2494ed +PT = +AAD = c0a48cb221c7e92382db159d3e46872c +CT = +Tag = dfba0338c9c9cddef9e5ba2fbced97 + +Count = 13 +Key = 48c25c700a1d57cfb7d2e7ff8a924d3f +IV = 17b7122cd8f15570dc7f39e9a8e62b1404495ce0fceab89b0f6974680867bd7cf5a03870f434b5fa870f6fd9f2ddfa3361b6960f1847a2069a070d4780ac97bf4ed9bca45ecec6df3f17b7227ff667ddd5c058bb4061f657a1a0a3bc54dd011b1c87ff1e0e1c0114d4b56e3eae7bb62253089492300f9b7b862676853f915680 +PT = +AAD = dc80bd32601353277dc9e14a17e9e801 +CT = +Tag = 4de165bd0147bc0026083829abad38 + +Count = 14 +Key = b298cabc4ff32a2cddaf58b1d633919d +IV = 1c1bafb612fca3384d4f37d886037e5b268bdb5100c5c4a460ea73787ffc35a29259ab0e1fca4e0731d581ce67d1139bcd0b6d576955344fc38addc1e6c789d20059dbee8dc2c5f8f58340af3e7cbde662ae1f34185216f2df73075933a9a4184fda977effa74b0b33ca4a4f11c37e75e0e772b5c8a05eba151c12503cb6da0f +PT = +AAD = 9561df0876bb3a18f11fe134b60822ed +CT = +Tag = e997c758a391a0748e8f9778370f91 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 143ac9706655ba556616af4df525abf4 +IV = 81634062554e8afff6af8d3da5c3fa7624a350f4aa72d1f4bb5dc89ed622dd4eb0b47a3131a8100db88e5e4e90177aeaa1337c6a433ffe92c2d387e5d40bdf61fc387e12e57859a0a4b577d085a44ed28da0a3023f97cb7d0d7bf998af8b2bd08db719c98ca492f387a93c0bfdb826ee8cf1e67d69e81bbade170738d4310381 +PT = +AAD = 1f62b85db44ee3893f7fe62c6cdd0192 +CT = +Tag = 301974c2d40c58a7d6e334407e8e + +Count = 1 +Key = e59b3cc36c7a0d194628a0786dd6d3d1 +IV = ba10e98db503690c988dc0a2e331dd6ed24b52200ba804e87f54bc237858d90817d0ec752e07fe1230330bd81b74975f9c7f9415641b47e628a5cd9cddfc237d5595d7d8e17324d17030b6d6faf48522a0c04a3e985222d8d055b4173c9bc549b17506d6b4ed72a8f370b2918c120adfd0774e71fdc8553f8b9b837ec781b671 +PT = +AAD = 8b03cc88f3e88c16c126e8418f7f7066 +CT = +Tag = 139156f9f14f3def7f6ee70e5840 + +Count = 2 +Key = dc12cf5b2341b26b1955e6589ca7069c +IV = f0e5428207b6eee11e9e4895808211aa5e595427f7fd43c4be08a469565c78ee7cd0d02b3c809c1b23ff20f885c5fc1e16c41e7169e1c187f449448906874fe9386db2a8fbaa1f76e8c323ff0efcc859ddf6a5196d56e5b8a4ecf3e564587b4d141ceb92dc5cb37ff0768264aa90e3281a1d65ae2d7700969e3b9113e23ab083 +PT = +AAD = 3dfeb9d4d1dfdea8dc4d93d3b2677d7e +CT = +Tag = 0ab3a68d4c45dcff0b39313e6d84 + +Count = 3 +Key = 3a717da0bc0930c25b0ba8506baffad0 +IV = 8d502d33628ec71e2d51eec3bbc60adcb1d144cd33613ca354628840a5222a74d5d85c474120e807bdfd3e82ddafb66b7dbc2c1ee45ea25ba98cc8d8ed5a3f0d689bb09827479cb4acd120dbf54802f2740fbc6a5159f32556ac85459326570ba00dcf39378ec10ea3bd184222eab916a02b05c74638227917c96cfd526157c9 +PT = +AAD = a93ffae2488ac6871ae2bf7fb12649bc +CT = +Tag = 1ed74238e6f67ffd8dff9ceb9cfb + +Count = 4 +Key = 0577dab56a6583a16e46f815795d429b +IV = 9921898ac5cee73f5c0c2b105cc6bdec2125f815e1612630b590066ba60adce431b0b993f558d33725756047a05ade5de34f51fbfc26591e7dab1f6e7232d1a1e912bb6d7945f08f1c30486f964c833c3492d4067aa756adfcf3a8caebf886e1fb675439af6839cfa9bb6c795a37dbf6d6da70be8f0479d35a556a305aca0741 +PT = +AAD = 8d4095629d7d4afb801a670058dcb43e +CT = +Tag = 871566f9f267f29c5e6ee83f3497 + +Count = 5 +Key = a480aa9c79e8bbdb847ed8db37386a46 +IV = 4a7ebea4b305ae5f8c218604c09fed6b5c779f6b5cc2058281c0537e4ac6a82f2232109348fa3af6c9b741ad9369e17453015c876b7291f8b410582f487f98a721e2559336dfcb9be430bc72b4cbc267a37146fe5608b327da3961628b3a0fd00c2ab18fe6e84e0d9b5d6fa86748dca2cdc706a04029817ab0d67067617db73f +PT = +AAD = f5cbb990494b5ce5429981d282392d1f +CT = +Tag = f32e8a188c75b5e1bda84f6bf2b2 + +Count = 6 +Key = 4fbe48cbf04bc16336f539415ebb87e8 +IV = 8e0613f37156a5e33114a5db060ea4db2b0361710844513757d2ce6f18c36e07c107c1660230f86d6e0706d3343f4efb61848ca825ac8ad6ff11bbbc254cc87258125a6a39469c9e0525857d959893395ea468cabe58be71fb1767e7985c190420959518cd0706502d4f54d8577eadd56d3228fecda3670b3ccb084e37a117a9 +PT = +AAD = 7cac23b291550e614de707a129aa6385 +CT = +Tag = 2f347243fc0eff7e1c60443f951a + +Count = 7 +Key = 9dd3d0771a94c806811a7dafe2b59563 +IV = cd1c4a7b23e855792bbf2980be259aa4595d6ead5423c089525953f11ad9a97c3a466983141ce6d52ff03859b63863ea6a502228e0de9f97cefa8563f1d89b529d042a9050d18085a26c81c14acc56333669c0d37e3bd423cff37908ac7896060de1c3ea2b9b44725663b31b5028143c527442a50a1c85a1bd17aabfa903e142 +PT = +AAD = 73bcc1852dfebd665ebe445ade381ba0 +CT = +Tag = 68ae4c3246fd66e3d715e45e23ff + +Count = 8 +Key = b7748370a7661afb185ecf80a1603216 +IV = ef1f0843785f302f41dea01c1b296809aa1f943429bd42e99294c68addcee631ad030af2934a3e16ac93fe086546025001e08a8a0c88a464214b4d9edcdc72ae02caaabbd26767bfd414f8e4a5992bf6e37d766e8fa332a7a10377ef4319ab0494abe8f6493fe06d167f778b777757b5ac8d2b96038727b9970486785e8495fb +PT = +AAD = e4cb2901679a644c2db5d9f4338ba2b9 +CT = +Tag = 700318dbeeee12c00a1aa9ae2ce9 + +Count = 9 +Key = 920d23bf894fdba32df11e82e9502fd3 +IV = 64ea11bb4d0bff9ad99cce7d5db8aa9e7122473092a95669d1de1c58a17056366f1bf0b7118b4a6f88d8458903d087145999171d373d3abba966359956ee35bbe7245eca523f036bb41e6cae467b6e1aa2646d01602dcc9b5837b65c758d65f11a257457b024f2ae26fb5eca0c7a799f3a1eee9ece880dd9be1338b916907b5b +PT = +AAD = 2ad1851f515395b3b4315ef54727f37f +CT = +Tag = 35844843be5a65e0a3f2bc9fb308 + +Count = 10 +Key = 7dd3f80e29e7e14da34ad5b6cc924b62 +IV = 5f12552a2afa8e033d0540ba2b05e7cb4de04cf82109a72774dcc816af9095a428eab972cc520e68b9efc4b646c63fcf0c354305a303b477aa6fb45e53ffbfb0557716991d394d459addfac799ecb3e29b4848684968750cc1b5a621adc47e5c81c79cb74e32992a04fdaa01de7a55dd4913869e8f5563f2a9f2d0bb090210e8 +PT = +AAD = 3f5aba2007a8b88c16812245b8adba26 +CT = +Tag = 5794adf33013cf5eddcecaeebf90 + +Count = 11 +Key = 41d895879c6a1e8b76051579003b749f +IV = afae85f26ede35ceaae57f4c1bd08dc71464a7115f175b4af989b255c125d351ad76725148f7aa6284abf7f7078301c5eac284d28eccc1fb49d71339e723a0c025c53a8c68623074a6b9415e4cf8069e9388b2cd53ece229295b32b6eae2916cb0271eb0f7936a097cf6421ca863500004dab895686e4b96e7c04cd3d24ed3cf +PT = +AAD = a5985e83f4843f685e93344281794754 +CT = +Tag = 57e264be5e725be415daa71d1c79 + +Count = 12 +Key = 2b9aa54de0f70f9bc543b87019bbecbe +IV = 3f11711c4f6307942b5da29d754e018a70208eeb7dec0317b41f572eeaad07411da852d35e50f28aa89f1354193540cc8e0dc34aecd37e68249dfcf7fa48241668189f64cabcdf685624f10ec17af9688a1d2c7d18051f892436553177b2399cce8be7b3964ae7b8ee6f4c8c09641bdcdb08a0372fb28430374b7d568be42b80 +PT = +AAD = d54ad2196ab70483df6e7dd5e5cf73f8 +CT = +Tag = 4d2c50962df04a39ec37a02a0e51 + +Count = 13 +Key = 2038279d3dddb32fcc0fa72ff4c9d7e2 +IV = f00211a531f5be789cd67f64f52d65c11e8085d7017321076407fd71b367194d0e70c05f70dfa386ad177f5bd7ddf8058fd0ba16e2ccf47c3ceb0e6d6bd501a06b6e63f9a5bcf24041cd8b5a0ce6603169943b1064972a133b6e38ee88cbadd286a839a9fca54a6378dcd27714f2b0c1911cff67b44e86b3e167c1cb82494ff1 +PT = +AAD = a324e4cbf5b04886c03a91d84bf2f4c8 +CT = +Tag = ee2a88530f30c39da8ca42a4944a + +Count = 14 +Key = 6203232456d967a838d203ba13c91cca +IV = 92011af87dd7556f424286faeac06d734ac3fe6495a4bbdb001cd2b67a38960e00941e19d9824c8c47aefc50df7518ec04f90be2d38426309263b373b93b2cbd17e633dd8f297a7db1fc2384321ebdd2d4275095e9eab062c1fd5b1a4f8c18cb073e2de0faa5aeab53197f87a5c72e317b8d7d4a1a7ea97fa0ae26ab80c456a4 +PT = +AAD = 193c3e99b149eb1e49112ef98437d548 +CT = +Tag = c1736332c26e8e8ee1171d105a12 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 31ae32fd62c1e794408f2b5c7f4d48bd +IV = d73c8348b747b147fce8c947be75d3cda4afde89af421ce8c171fe3f609a94599c017a2598575376681a0e28513a641e2a3ea8da988dc78c60a07e92ae356f75e7e3f16bf3db5e54f81a9c5fae4661100eb37ceb19fb12c5af87c5a97f7e195b45bdd759f151f46ca6dbf4dc417ad8f879b7f6bffe81be9d8d5783600345ee11 +PT = +AAD = e2cce7fd8f53fac1892a17e3b55d6074 +CT = +Tag = 353a431105812e88da93418e29 + +Count = 1 +Key = dadda6056f1b2cbafc70030bb0f7b60d +IV = aab10788b90a3980069d7185718c91c351f4cbdd4b9673550646441a39198e42a84e17b3ff436c4c0381fe82c2ea8f06b27bb1c95ffa9b8101be81edf776319009a0e8bc187b1f47f61d3fbe83cb3e56681f7b38897d0e458442fa90871d873904545bf25a130ddeec3f1858c9fabc8019be62f782faa0128b76d3c2b8a26409 +PT = +AAD = dfb52cec19f98c31222bf12d444cd68e +CT = +Tag = 15f316e4b16664ad76fa42668f + +Count = 2 +Key = b98c97104df6e136515c10f4bd263c4e +IV = 2c2c15beda79171654001b18c8654b0fa45f91fa44e0305f3520304eca60b01007421cb5c64b02f05eaa26231c31616449bfc65aac0d073c2c4b73289d08f4515ff98fd9a35b8d11937d4266c95ba7e53a51b0e7791424dd586ad017fdb210d2d3fb382c01fb69a2019a85992a9473b8b0f115113d7d4be0e12458ff56ecb618 +PT = +AAD = c6471d635b1d76fb03a1665d59a4bac9 +CT = +Tag = 525c9362b2b8c70a3a8a4ce8f5 + +Count = 3 +Key = 923d055fea39ead96b028431fc631aa4 +IV = bc9f677812403805e23c5e8d5477ed6d9329e37e895536ef135db9c51480f1bab250cf0687c9697ae4ae39067fb9c212a94921a54a7703ef1e18da9369dc08ba3de1461d2454ebde2097a5c97ae66f64f1903adf2e119909f17c8712a854745b88c6e82f3088c092c60e12a717403db36025d188356f96d5f77cf01093284597 +PT = +AAD = f48b759b4776abb99e38e8ceb94fe23c +CT = +Tag = 1f7fd17b688c3e41d30d7b534b + +Count = 4 +Key = 04d757e73d2bca1daad53820ed4750ac +IV = 6f6a9bf7a22a86d9602aa08ec8b73442e52808f9b28915c583dd951f1b3feb9872ca722bfc8e0d4fe99ee3a11581d68edfae1200aea8cea005d290c2aff959e6c839672e1fdb89fb2ce5652743dda756387b16839f9cb2c3cd4f546bf9dc022b0a3a9574d00b4f632d06233f4dd4257e44a4c9769692265f9ae7b0f86c1b79fe +PT = +AAD = 3c6fa3b6fdc83d20715daf083f99324f +CT = +Tag = 10d3c857e1e5f07fa68e665206 + +Count = 5 +Key = 5de9c42f79538ab9a51a48a4d0ba16b6 +IV = 1035d77a4396b09294f5502d3cf112a504826a03f6896cfc6863b2449740615ca695bd7c139174d12f5ecdb114cf5072c547a61e3b39d6a905ffde56631f1b86d75463b3bb43278d48b96cec8c6f533fca2f61793fe3c2174a464a028d7aea8a03261a628d667360852bc1d5273f03a00ca990f5d722c36ae53a70fb08df489a +PT = +AAD = 9811669ca477fb8253c235ffaeaa42bc +CT = +Tag = 6a4a7bd9aa602eaa886ec228e3 + +Count = 6 +Key = cdddb9b7f295780654d2333da6047cdb +IV = dc1785b243a3da8a2858cb08cf454915a50c5d582e2364baeefb634bfdaf7383b7360074e8d888372c762e2a87a5551ad4e8c66465d6723dfb9f414405391400f9b063031446603a595296b50c00d18de474521f75072900ddb0e3453d416aa8d0a5d3ed58c98224d58b809341b3703fc42b11332514d90d36e4930c582b7fe6 +PT = +AAD = 355d78d138f909f9411cb682ea243edb +CT = +Tag = f9be698fb7dbf179f1de12a7c6 + +Count = 7 +Key = 3bcb558284ef644379a5c10ca3d4b9de +IV = 3f00ef3636e56b8f5d7336fd195dd9a2f05fc12accf5cb38e1ad8c9b1b53d10bc1730af251697f9f544732a009c31c2457da78f7d285dac590259bc689032c1a5074a963ed3c7cc1ba2485666562b5ac72d1e428cd2908e4ff1095e054d316c763a6d0952baaad46a91fb2c376f081efa4e9aca4f906f61ee6a782f74dc01b65 +PT = +AAD = 19851c972dc9870673ec0a44db97a10b +CT = +Tag = fbaf0ee76236cfb3fc2fe088c2 + +Count = 8 +Key = a8cfeec03190901b4b133f081dd3a644 +IV = 387b4ddd7ed1bb0df0d2a897f25846b449c8f5ee98c687addb872b850ca0e6be7225804a23a1fccedfdaef391a447ad2b2fa8e5274cca1cfe7ca43557186dcc59583665e882430b6eeb0faf8163b7af38e6feaa5bdccbad1ae452b450ebece8a1de387098f39e8af84a95017c5bff7217897e111d33731e7e7cce18072a0ab60 +PT = +AAD = 666934565548e48c2387f79b9963d480 +CT = +Tag = c9e7992b3daa6a6fe95b72d98b + +Count = 9 +Key = 2076bd4722826c2acfd5d0147c75c403 +IV = a4c629038a0d8ce971e59dc038b0a2e989572652245c7ef6736c8a41ca50ad1fbaf7fbb3cbb1647eed393b02f9f67983ba789280fff2bc85a88918e2dcc41d6188fc0978da9826e45caf30e6b9ca978a5f5d6d1b5b52f0456e1222fbffa230080b5151b8933b04430fa935c5bc41d54a2ca69c4934049b9c665d14569c798429 +PT = +AAD = a99d85127f95f9695cdeab96168a4067 +CT = +Tag = f3538fd95dc26749c603cdcf3a + +Count = 10 +Key = 5690d47a1bf6305a18b95c3dc7ded113 +IV = f97d991a50f5c51d44e1390f7490b6f796e6881a0d751999fbc13a16d2ebe103bb737e368c700ddc4d33e044e65395e4d3473784f29b73fefa3ff7a3493925c196ac96a8355bef88c0204263a3247b1676ab3ef75d00159e6e6b9a95df203fd6fc03e6472799905209d7b7aac289e7eeba2df647af53c60f6f5f11de17cdc5bb +PT = +AAD = cb16cddee63470f971af474e84fa6dbe +CT = +Tag = a8e80d72681519edf21be1aa41 + +Count = 11 +Key = fedaa7f68699e97fd46070d6d09fb41a +IV = 56981adfe773d9ff573a44e67e3475d2203c8c733df4088b1788766a55c37a56c83b6cf496adf63592186976670266e4ad0285431a052a162f18a94c2009e048e94ca7532d46c066ce77a653f1164f492c6db344b24fbe9465a1e5083344fc53f43991387e493c5076efbff568e26df48e611b5302978ed43c19637ce6eb28a7 +PT = +AAD = be0b31a1f14ec07d2129e07dba1a84d5 +CT = +Tag = 0f8fe19a0e7625d5c1ce0490b5 + +Count = 12 +Key = 0c4d701a74660b8c34c2ddea7532f07f +IV = 33d04566dffef7fea080ecb01ec70a8a243815f8174582539585675dbdfbc16d050098708e3b2a235a5abaca7afce60dffddb816304cc36dc78d6ed6281ebe7c69313a20e7b93c000fe55d2db5f16d9af6b71a1b3662682d9e918a84d5135c515c48a0ce07ff3c8d6b54bdd21f9e16a8a9749bcea1e97ba83c45b75da85874c1 +PT = +AAD = 7ce7cb2c858e8dc05134ef1110f65f67 +CT = +Tag = a958715bc54b946e4fa43b51e7 + +Count = 13 +Key = e4ae4573e543a31b36b1830b1737f02f +IV = 54f03db6d202d73b6108db0adf16eefefa0334d57f233c0a1550ab324aca89215b9c9f5e751c1eabc14559a6cc119606e4328768b91250926a8fde42d1fd151322e56cef5de7e0a5b51df21955872d76f3691974184dbbea0e42bb5652a3714cc6584ef217c1c2b7a8e388a206551803e2800d1a24db1656aba38933211401ea +PT = +AAD = 049c4dda1539301dec77db3fcd4ff7c1 +CT = +Tag = 58719a51f66a252361676b7199 + +Count = 14 +Key = 8d6d681445dc3eba80593bdbac0d8c34 +IV = 502984d94997c373ae7fc0c76f91c2ed30ac4cfc678c8123c62abd94f2e600d6da197423690b0dda23d989000260bdc33c872c1afec979c3a493d8c20d8959beaa8ac805f2d164998587c127635a51f97b277c0711c0e234a3e2866df47e3fb06368b099c4040844fc0108e2eaaa72d70f6cecb7571e00158eb16464299a0958 +PT = +AAD = 91a979bac051edec01174c59f811d578 +CT = +Tag = 659e9da61eda7a7eab8ad3a3c0 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = c3a382e2183b2ad7374432416a844f0c +IV = 5e751b1444d4b6ef6ec7d42b0aa117d0e41b54f4c672f0d86b8a940fa1625f2d7b92cbc9d7b17cd57a3e0bd7d29b1ebb0d4bb3508ff8349ffe77d594bba6f76a0ca217c2d862e5780b73d3e89576c1d97c7ebf477f857cfec2f0ce7fba334040179f278a77ad025cc53764474324cc225ae075f9ddfef6a1595469bbd781f050 +PT = +AAD = 9dd2ab6ad64d4298dc9a837c04c0d739 +CT = +Tag = 45fa35643204b115f0ab13a8 + +Count = 1 +Key = b919e87c8eb176a265038d1f80399e6b +IV = eec8adec8e886115c194eef64e7511ae44674f4c3073f414e7401818f32b95f9fecc485ac8fda5e4a6be95c78b9de0fd7674bf209878424da0d6bfcc937e4b8a6dd5a277aa994aa73c05e8ad45a0ee487c6e5dd48b01396ee74245d2f4559243ddb35a57ecabc4761356c1dbeecc6f649d40d9c70d7e4aa67739a7a68f7e90c6 +PT = +AAD = 768c1087501edae176ee09db629d0305 +CT = +Tag = 0d7af88225fae3c0323d7ef4 + +Count = 2 +Key = 509c18e58ad3ae475a72930777d8baf0 +IV = 42f5ffccb5adfc0fe0414d14885c6c7d60fc9d4b4364b2b915774884911b8657fd55fa482d0ee7a556d02a521f8bc0cc44510264da910aab421797c9227b276685789bbc8996698b7b4c3cdc8cc8f612881b00fba3ba7d4de7a32bf24d503f4d46607015619f3ea0dcaf56b3d3c7128976d6f2ec65ce913f180caa3b07d1610a +PT = +AAD = 62a41f7af8ca6e11cad1f68ab84fb2bc +CT = +Tag = cbea2b3f3b09ed42c92547f5 + +Count = 3 +Key = 4a1720245d5e724aed14bc2a329a6eba +IV = ccd984e8bf2bf6a186b36c5b13abac23216c7718348eb70276a9bb8759688870ff47d330e2a98c906168f2046f87357c779776e3c28a45893e0637fa00e7d1c586f0f9b7dfd71964ccb8f0105718fec613e227f8376e7706c755568ab051300a608674466b0385ad60ce0d8e469a31161c3128b7c27b97cc78536e89692440c2 +PT = +AAD = 565daee5f790b73b8b9e7e6e0cc9b61c +CT = +Tag = cf119d3dad5f548b082f1dbb + +Count = 4 +Key = 225df4a2fc37a529e8f1b96d7b02a44c +IV = d9f6225c2952cda893229e315483ad4edcc1037665fbbe123f77f53a2e15ecca87c69a89e4fd0718046194b1b15bce16cfd0cfd70fdb0defb29d3284b81102db33d575e10ea7d60982c3b29a943fa9e5c9f51a9a5eb441b5c4e4d71f23542367e522a727f236455c9287790e0c29b3b88b0d11ed799215cea7adefaca7671d87 +PT = +AAD = a51016cd506583f488fce8e1ee7026ee +CT = +Tag = 4bbde835a38cf84b4d61e519 + +Count = 5 +Key = 51510517b2ad0006aae847f6ee391425 +IV = 1ed8d153f54ea1d4557b4b9c1151f49ca6ce49aade686711c279adc42ebd2caca16eb58da85633441b053015694cf3a36f768c4d87fe6a0a98df48f540a02d8ef2436e2605f0a7a1dd250977500c63fd746107a84be7c056c356c828a444cd52ed03d2946c48694a2084bf0fe5fe5a6b44a2fc8bca4ef19ba87b0ae074099a6d +PT = +AAD = 29f5607128632fc0bd48461282cbcf1d +CT = +Tag = f61f2cad7ae9d6506c404656 + +Count = 6 +Key = 02d9725977f4f99618b2ee981e6d240f +IV = c5d754e97b9418e627859c677dec3ee5b7f87eba43a8aba92fbc0ae1d37b6decb445d690d09de58b6eb21c22857b9f39caf6183ab923e7da646382f0c1c603410f8a7e991512573657912e5956f87ea6439e01dcefc57fc2bfabdd3c1fed6d50caab007d8805d783a01fa3416da31b07dad59fc384bbffe6b36f28b5705030fd +PT = +AAD = 469099a530cdfadc6ef7fff79dc01416 +CT = +Tag = 84564fd95b265ae3a5c52b1f + +Count = 7 +Key = 8a4a60618fd1de686096f2cbcb788645 +IV = 2f59489284655e651f11e2eb830691f30d3f6128b901f9e1870a62157b0460f78b7d531a9c9f910341d7727fc4f53ab0f0bc36c4f412069ff1b3c82f6b0ccb3954a8b2ca3d601852b519ec6514eeb997b1e5cbd6875170e923e54dc0ca7b683f552d4fb72f2f9515fd35c32cd7630334c216f46c118239e88eb8d326cd0e621e +PT = +AAD = 35b67468437b89208580df08c100ab8f +CT = +Tag = 6e18cc3ad0b4c09310e98319 + +Count = 8 +Key = c6b5895c3e03c17bedc07659d0979da0 +IV = d0b0a74289267ca9235dd0eb04cd2daedc0839bec7ff851f9b8cc19a74a810850b3e7974fbf4af90a823c684bd431ce740e74b576c3359fa8c8cd783d0d77baaf596d2d59f5b9202c972a7a97e077c2058293de33d41482f0cde3411a50806918483435d3c23dee5d8163d9150e22b05c1dc844465d49ba90fa6ef45bd0d8f0d +PT = +AAD = 5feee6e0be237e85f40e01e60f7e13ef +CT = +Tag = 874f1af29c3a59b0e6d748f5 + +Count = 9 +Key = 3df6b17213485195d622e633b4b73bd4 +IV = 9ddcc71afc7260fd9b78e52501aa911fa9e2a9590b30165c2d4b35a340414837f0fe5948084bd18350dadd30f1623aeb93c324e4e2004314a77b65f14469b781b594e9f6d955a429ff20f6ec77c3689cef55b4624fdde72aa17fb98d34948133a6a86a01132844a8b3156e66fba10eba838fbf489b53006ae9e7e72887bc745b +PT = +AAD = c84fc09dc2e1ac38a2df7f0cadd7202b +CT = +Tag = 90a2185ec2639f404512c65d + +Count = 10 +Key = 6e11619b1f542c50e01765249649dea9 +IV = 8366c5fbaaa260e3f0f86a215467186740dc2ee73e3d8ca9524d38e408bba6a7d79d2011107d5bd78c75fb8a2fbd7845cd6d8e795302e7fa9f39fe2d62185f2bea910bb872cbb0219ec647447f9cefce567826df03f810e41e7cb1bd4cfd2da9fbbb40939c65b0c9752b3f82f8d9897ec2c3eee149453e8d77e66bced93a0076 +PT = +AAD = 76918c38171432c89afefbba72290ea3 +CT = +Tag = c7a92a148467b181e2cc801a + +Count = 11 +Key = 1565b2972a5e1a034b5efac10318357b +IV = 85ac714a0d7b70aa7188c93d3d292f5a8b94a39c34d2b60671847e34b00838b4deb73ae2df088f1f9f5774690a7e56c48abd8ef5bdba4a7ea192798a8868d8b23fe55518f41fdeea1dc3828428e2828768da92d4e41170f48c789e615324ab0976acdfc004f02f065b825db8b47b0356bf77419894af36c04ed2a89866a82d8b +PT = +AAD = f43bc34fb9c737cd9f384a780dc8d62a +CT = +Tag = d00914911b7e2e874afab86f + +Count = 12 +Key = 32a1be22f3adee2e38a724db7e4bdad9 +IV = d134b28c5529a1e2aa36cac7399c0ced0aa2420cfd66e0767045ff8fd9d13bcb8607fe65c6aa49e3fc57dfeb6925bd9d0fbbb51289d05858eb7b6c8140a126800bcfee4a0a1fc7c8954a2cc93f34411cc935edf77e47ad23ad33c148f57acda45f7e377a611bc89bf952a52ef11d7df4e47fed8e8bd0ae5d074ebedad48470b8 +PT = +AAD = 86788f5556f940aeb8dba9dd46a1aaeb +CT = +Tag = 6cba4ea88c2a10e038dc474a + +Count = 13 +Key = 70a4bc8cb2c9aab4dda8ef5d06a88aab +IV = eaf5d21d51e9fdc7034399d8afb0f3da6a99ad6f660a6fa65388836fefa44d542192a82eb3c22aebaace2a0d304f8a34089f959df5c7492af5563ae7df22bf57f9aa279675bcf686f79a5ca13764f488f2f426b9d2a36af3b84b4cc69aef97888da3316b6a8a3828afaaf076d0ebccc436cfdb42a89b6ac030751dc46b849223 +PT = +AAD = bb012eb7326e89b2f771f1135e3cd33c +CT = +Tag = 0d701865446a6ba1144c4134 + +Count = 14 +Key = 47f6829b57baba6d947d3e5c43ce72ea +IV = 85a7e91f45513f92057071199470fef5b7d4343f358a90c25793aa32dee02f74942604edb3d75962dfcdc1c05f1edc18e3fe5e01c9a28c8a340d7cdd8e4666c4d7c70dc5e5973d3048586927cbe33c1bcdb26f8cb1ac6fd08f284514c1f525b5ea9196119e262260c69d03f7ff0e7ef46dadeb93062c6c27762f63164ea6112e +PT = +AAD = 404b729af963e7f3d59ad04f224e2e6f +CT = +Tag = 936f48e0e9170681e11b1997 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 5f056b1881bc8c51567ebbc0af7f53b4 +IV = 5f09d04f7ca13b9e5290e005c225c1880ac2aa95c050a4bb91e864d163eb6d39ec18cb5f073f226efa221ffb1c4904f8346d1cbed485e669a4ac8c7ff5775b5e9e04dfa5b81e2c10df3eaef06957d848d2f9f289063284c2e6b3dc0a9e801b64a8c95c5cf1c17939418c38f95f64863008464cec06a22e69b42b99a639c3e30d +PT = +AAD = 169eb077a0ea36dd5c5d7174f3d86a62 +CT = +Tag = 2b5ace0369d477e0 + +Count = 1 +Key = 933bc186e2daf37c815b0849574da2d0 +IV = 2b0d8660324a7013782b9ba65698c232e7f1430250b0de2ec22fc2d9c380f9b98c1a8b3c18bd3974f70abfd9308ea10c782ccf24895057f472c2f84068c5cd77976f2a61e08f39570d8fe5011c374ddcbe087634eafd5a9f503c885f4c81b4ff90fcd87ec5e9ef6fff5de25a9fa82e457908d103b042313750a7a6ed5a8ff18c +PT = +AAD = f5ce89da091be8f1a1d32893264824ee +CT = +Tag = 97d20065f6bd0f5b + +Count = 2 +Key = c98ba18baa73f2575c7fbbee3f682429 +IV = 9261d08ca3d8e5dbc696e23caf72f965fbb69759a0d5d99974756545fa09b02caa72ef13393ce3d13ba9dbd3cb43af53451a1705b2ee47a4b0aa1ad99f429bdeac54bee78c44cdc31b339e0290e7ea1cc8cb5e750e47c9a45dd7762a3676d2a18331adc6a1973ee65cc60e7476ebffcd4804ee74909c6a7249b9bf8bdb3a3378 +PT = +AAD = ba921c6b34ba1b8167e33f440747c8ec +CT = +Tag = 3e21749436e08c14 + +Count = 3 +Key = 41923aee2e004c0f25051d84ef056c5f +IV = 2394234f143553db63e5acc69e85b6770aca7a35d1fa6de2b83f5985c5dd92aeddfeb3cbbc687fadf894155102a53bdd2fa0b5599241ea69914f9be5d72397367affbeb4b0d48e8a4a58088b6151a23df7f4ac4e0893ed41c6b28ac7da1d3fdd6c79935cecd5889b7c2713b8b3afb7c7f1a81302ba78f9aac0865cc95e6774ab +PT = +AAD = f5e7130de005bdf9956e03b4c5b64153 +CT = +Tag = cd85ba5b59c2c574 + +Count = 4 +Key = 57a23c671153d6fb9f9628997462dde9 +IV = fd47c8ff36f3639c2cf57afc642aa963912ca96b3c342641d1cceffe1549b6ad062149290cb37ff50d506b7f216a21ed4489f9898b8c4bf01db033138d0b4e128a8ff522eeb546e45a10be70c366de84caad6e2f222f8ba216631272c13229880ef4cf7087f0c56a33d76549cfe0628d147b56ff024bb30b6ff928876950f832 +PT = +AAD = 50f1a331b79560c9e2eff77264ac1ca8 +CT = +Tag = c201761539a43b33 + +Count = 5 +Key = eb216fb39e6194f21ad544741bdd6a16 +IV = 7471279f37bdb05d7448a6d46d115a796a9512c4020cf1fa3f3fb577d3d0aab9a9d88bc3588bb6c0fa42270e7f66e655368711814d622e9da2cd86986f116b5a9493f4e3c008bfb986965fddc2914bf84234bdf299fb4ba805b7953c48b0dd58dbef39fe6eee0101762767e6a663272f9ecd668dd68c6a43e61bc0f3076f81fe +PT = +AAD = 41fd3fda4df33ebebe8598be5532e8de +CT = +Tag = b2c749593308b8bd + +Count = 6 +Key = 8f1b82b3e99fd7463af7644dbd7e1935 +IV = 1b741034ad5f00ae0bb8cdec8b3e5ded4b5b4e6d9aeb936272b5318afa16f830d2f4b1d0f735ccf4f91d5bdea428b6361a8e34d5ce6f7ec6d16f324a3e26ecf9f2ca7d57f5f765bc4e04273b9795a5dcaf9e997121fabffc29940b1cbcf9f2927c61b1e8176b596c07a018ad77f7a90bbc9285699fa3e4b6463b0147fb236c1b +PT = +AAD = 7af10c8ca7f8be4f27fda34d6d0b4293 +CT = +Tag = f470ee9d3b1790bf + +Count = 7 +Key = db524460adf177d062ed2f6d7e002368 +IV = bd27607ae8cf5f05f67b07a0139275dc773af66b4189c476bd87ae23e4bc0ce8aab34241ab70fdbb28bc8be70b708c4797a341f779b9eeb7c4fe36b81f1329aa9a975291b000f67343b06629a7c1c21c337b9b0075178ff2aaeeee6c1c299d34ae9bb28e228b2f6b8334d78e4800a8db3bd36d1ffb57ecdd77ee8dfbddf87a27 +PT = +AAD = d9ad94928f46129672dd5ef1fc9e5054 +CT = +Tag = 7eaf7d5418e81e30 + +Count = 8 +Key = 0475098a8b8134f158891c340701f0bd +IV = c9c4b4b00437bd35e279bc5e3f30066e3afe5750572402e8b10b6393f783b04c2b702559ffd6c2a57dd039815727aa45ed6b11d0b4b690a9af644f4573f3f98890f1b4da7dcd83f6c55bde3642b176cac98a83ce72c967da7e8f1f275044867d24193f8a7a29c5006ab7b08392b71e7831d1c28b4ccfb8d8ec483133b91080c1 +PT = +AAD = de0ef03f4c6fcb470a1665d247030c0c +CT = +Tag = c331b033f4c00eec + +Count = 9 +Key = 0cf2642a4835cc647c560f364519ba6d +IV = 3214b4a3a2c0fa69060656827b5419be911e2b282655a8d812ec54a6aee930d3a7fc078e87a76ead68b0180ea9cc833d936d88a347bc9d9a454ad0d03b3799e44a1ecc57dfd6ed2a0acfd89ce06560d1711406ff72ba14a47f2ccb19d169c1bdfbb769f9bec75fab2acb933f38f385e0b007f1862d9076f0e0fc7816b3557888 +PT = +AAD = e6ac9925157805acc8e0d468b17dfdc0 +CT = +Tag = f352494df62564c8 + +Count = 10 +Key = c87c069205fa68e7df09c54868c6c803 +IV = 9724dbc1ed11df05c397304b58b47befb48ddd4cb50bc36072056d39027fcef4146e3ebcfc69293e3a6d6573a5c64da233ff0569c06aaa09d3327425eb1b0d0ab4ee630713460e7aee67f2e33e3f7aa257880b8b1fca32ed61c6d717655c82e3febec49d46e90b1eb368ca4dd220552644382bb5b0cbdead44a0ed69d9648656 +PT = +AAD = f180417783550f51b0b966524a2c6120 +CT = +Tag = e5352dabc4be35e4 + +Count = 11 +Key = 2d26ab28040a1539105fd4dd3a8af057 +IV = 770161cc9eac6231cfccad7f4a09439ac43c488e8a1b4bdd8a4b78011465432233360b2f21d272e6c102d168d2d7c2ccee39cf20836ca1aa9a7eee72de90a244fcf469b5cdc559b3574a783e30cb429112accfbda7c860914b76e0003ec92f409137dc12340755ced9d6997606ef026acba5aa52af5d7ec1372943ee9c657797 +PT = +AAD = a0e1f13cbd9041d07425a1d66c86eeab +CT = +Tag = 7c06f18c5cb3c516 + +Count = 12 +Key = b1bb6ff989acd5590510c6928d335a4a +IV = 90b16650350280919aa8e9094e2d505eaf78dfb32ebab46150182d3c3bca781497fa298179b8e09cfa0990432d2897071f7fe6ec2adb3cd4d9c5f122b8d06fe06fb948c00b4b4509f3a765a19f1249467b5b759c8e443f51968fe597218f413f2c0d789fa96f6bc7af90801459a839cbce63020bfb7539ab069d33b3408245bf +PT = +AAD = 53d3e414633c71624c9d6d40caedbbbb +CT = +Tag = 9aa5c6bad45b62ad + +Count = 13 +Key = f82cf7cdd46c19e2b090145c9b6eb2a4 +IV = 5c6154c56dc4b054f6773d2d96abc135e0cc4e83372afe808cc1a1fb03a74eb7bef96815708a511312663a1bd01cf0c29ac3431c9edede089c864b6ef9aa2c8599bbab78209d8cc4c909a94acf45b4e1d1eeb70301f55f1b798f1b65793673873315d70ed763ed4e7902cf2d1eb47e1967942e6868ea3dac9b30eea9c3807a87 +PT = +AAD = 36c915c98bfb4c034ce2aa4aa5dc84f3 +CT = +Tag = ad8b7ae4a525461c + +Count = 14 +Key = 292468bbfbab8ef84d791749a0b3d957 +IV = c742fd4ab155089381474e0d5cf2c40fc544e459bfbd28b4ebeed2a54d420973985f35f1a6b01dd094561bbfb3caa1fdd313f9ebeba07c7c351b5fcbb31c4f65801ffb3a976d8e44ff4c71faf9cbc0383c2bb7fd921c5ed55a97163be6d1684c80e80142b985b5a5bd6ac32aae8ff6e27a4fb636bd9319afd363fd6489f4968c +PT = +AAD = 9016d3277ccb0918cb3dba8e3951c5bd +CT = +Tag = 1d6dcc6745fb510f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = 51c6d5912fab87e844a8f19f0ad99ba0 +IV = 1c3de8803fb2230661e05ef58c562fd5eb3164d6367d3233cf751383094b05960178473a032eb2c811e45461922001c675061c2677fef3ca7644dd883cf784190a8960edd9aa224d6fc789d0af11e2b1656ac1a3bf6eb8fc49adb9550750a92aea3ff12adfb7656945389bb0b201ce0c37a7b162b679b1faa56ef4d2cd3ff717 +PT = +AAD = d91fca0c309a629955946362d3fd3aa2 +CT = +Tag = 8cee1a1b + +Count = 1 +Key = 20714fd20beadc85161d66416689d987 +IV = d0b35c4675a944f331e3d00cd85314ed61136af2c5bff554b391f3ef49bcb25e24db8e7778394d8906da372254ff20430a8dcb6d6f6f9ac3453c8e212e5f56758fbab5f2649751ab719650c793ec617615bd7b76b7cbf4aeef4681fc00b4503fc65bb5967157152820a1d7f0667ca23d7f4727aa818b884a15aa3e4b504821dc +PT = +AAD = 041358928e6989757f6fed2f3b4caff6 +CT = +Tag = 2bc21626 + +Count = 2 +Key = 33eaa1e843f12fa35377e89b9d32e0e4 +IV = ce7df7a6639225f7252344a4620cc8e3982e607de1e3ae4239489618f00aa318e756a857b22287ede5392d779b7a4ff116028265c0f7162ec3d2686e810db36071805f87893ab17d753d444f94918cfdfa4c1f9dd3923191a7574f284d6d555bfbc926a5eaaa02b1639466455b070580481dabca3abfb8f6b7d1f71993fd4f15 +PT = +AAD = 5df05319ea60e2b7492904602e935dc6 +CT = +Tag = 55c87b1f + +Count = 3 +Key = 416759f1bb1b16c78322c0adc76647cb +IV = 4e6496b45f6c200fb3064efaf40202d0b8538f698f3e0142a14f584b04caf6df9567f6c445ec7570c58cd72188baf1a6039f93d8363116e7513eb6f695f4de3ecd97083cc1c3efc93bd56195b857c48975ff55111c7f6c4e14728f3d9daf2f4d101d709184fe02316fc022145663d7b6fb76a84cef4e60bd4715d9a7001f6d54 +PT = +AAD = c4fdaafed5f92ccc28cb8e8e24345196 +CT = +Tag = fc8568d8 + +Count = 4 +Key = 9f15b4bf6016bcb1a5880153e5018332 +IV = fbdc1b7aa22505070974e0c8dd7483def9289f0f5dd00eb5ff225529382c3f086bd39e75bf8f38fcf97a8004aae51e68f57dbcdf4718d591e20202d65dc681cd1a0ab3f188e286684ebe8aeef478b6303d743eeac2c321ac3e7bebf76493f779a45ab9413b5fb57ada33796476078d1458818f1d130fbd11ae0587c260f8dd54 +PT = +AAD = 17e8b973ef12e53f9347247925047ae6 +CT = +Tag = ad6399a1 + +Count = 5 +Key = 8623d331eeaaa48f5ba0333be4767b7c +IV = 211db12f529d02894bd8fe6751c080dcda8467623e74dcf9e1b8454ab4e99a0792cc3b1255939cdb59c598bae5e8b57ff94740c51cd9e9916b3e330f61287d1f1a97c16853c68bb3f0a0bd54d234e647e3328acf48fdb7168ff4bec6da61a75b3e9b4531722ab5c85f97b57913778a46306dd50fda9a279faf4c162a71ce1c93 +PT = +AAD = e5adb402c6570291a4c6d6cdcbe69615 +CT = +Tag = f0a0e4d0 + +Count = 6 +Key = 92ca6ae0583119ce798622731eb5c546 +IV = 6afa2b2c45dac3a2919c3096e4e2e66d10018e43e87e617c6c26e458efa7837366f9008ee1d5926ca863bcafc680abc1ef66417121068ed06baaf8c3961cbcf4c5aca842f72d0d7171c8ca68c6e99d30941914a26e050a464e37b92065c1646a79f733ee8ae985b2734e88dc2aba10ca8576d78fd2dba0f0246333108b06d2ee +PT = +AAD = cc5bb6b93bf673b2022479843be4493b +CT = +Tag = 898e89a4 + +Count = 7 +Key = 54a0c1a91cf8742fb476f570d10f1b23 +IV = 714765c7c7c853086bccb2f95bb9d5f37f0145a1904804d7de4f3fc4187cac6953731b2dc5fa8cc83667f51d2f90ae0e8c7b191794f01480a48c4cbff93ba8381b6d944ca3d87f7f66b6a5a3e16020ac1fb678e82beb9cc5799f6a8d0559c498b7645720818978e42b99b8d4d0f2730dd1782b6051f31143bcb9522ceaf2ad7f +PT = +AAD = 6f3a9fe88e7fc58b71c63a912c6a4e0d +CT = +Tag = db071637 + +Count = 8 +Key = af5be4eb8a8e913df0a8df8069949877 +IV = b64bd4e66bbabfca126c0ec16a66c69a066c14a0d84049ddad73a3a4fec6e16235144460430d35736361b2659509b0ee5cc922976fb9dff2e1aaa455040fbccad06bf441f40ad64af90e6e6851687a3287be6e12ecd86a9d19867818a651a0eba51e4e495531082429034cfcbf231dfc94a669c94b0187b70026821992cef9fd +PT = +AAD = a14827054e270996f0a5520760262bd5 +CT = +Tag = 39f3dc63 + +Count = 9 +Key = 94baa112038672e619f9911e71c5aa75 +IV = 7e5b81f9b3cc568c0e22ef4f3b79c343c25eaf4876f6a4479d5c9aa3ce7df0c075f980a742db66732c9c3c75602e5836992fbaacec1a3a7cce734eb121d1063d872084f72b7f2125d2c344b1bc7417ae47acc202bb9740eb736c448c23d715f4af61a3a0527bd4538210c3dc2c2bfe5878575922de68412e3b7558037852d895 +PT = +AAD = 24152a3fe66e8556e2a1abe9088c3740 +CT = +Tag = c0eaf24a + +Count = 10 +Key = 34bbd498bf33eed0dbf29dfaa86897b5 +IV = 2eb1e0bc9df58bf13c3fd9e305b7734a2d2b4673e4fc63592be60757b4cc70dc02bbd7b371549458faa3cfcfaf811980d462964bea6ea34d53523b1e9fd6bef6cdbbe96d08cb4998bad0e24a17c97ceef00dc66c8faae1eaed42774cbf4648b46aed128419238fe02d9ddefe2eb17f8ffdd6801685b0238a8639f9f601a2ab5f +PT = +AAD = e1eaed9d8b46ca8620e7e88d6b3ba0fc +CT = +Tag = deb6c8ff + +Count = 11 +Key = 1db22c29071ab26fd444cd995b2fb8da +IV = d348339529077fc24b87476164de4dc578bdde3e50f8a21759ffb54e1a8370623972ef7d9cf23f32cd817e553611d46c51129f04ed6eed4528fc4e6fb7d2df88236a0d958b79c47ee5b7c8de160750bd052c6e2de290e9637c968a2fadd696dc566374a5e95fdfeb0fd5c3abd1e85f73903eb70a1ea067983d1c590761ddc334 +PT = +AAD = 9da76e08238c6813a9e8ba01c2d34336 +CT = +Tag = 68190951 + +Count = 12 +Key = 66a67c8cd3d00df8b7681220f7445156 +IV = 7c816814af8c7a5cb6f988f77b78eb385ae4313b76c2491425e218e8827d4f889cac3e4772b0b65927fb834586e08692061288a237d550be9b2abd89332f9a3883a1b3177d6c7981d535d99d82dde4c7330f0fff3fe95a740d9b79f7fa21866cdf16a8e6166d3a182582c160a71566fa88f3e08806d3124bd7d5354a94851a95 +PT = +AAD = 0d6027382bacf3c1bf65878fbe65a0a1 +CT = +Tag = 31a16108 + +Count = 13 +Key = c7bf1eb63a2e56b290970a1a56f9b202 +IV = 8ef8e3b648abe937560c072a0e39a0e363274cfb69bc8361316c44584ee2ec3884c6d643196a3792f93a3c35c0d795b136253cefa60027ef12c0c2abe285d0ad8ed1188b4b4356f126f6dfcef5b8520a4065e45fdacb2a41d405bf8b4be6317db59303d1b8429f94d2291eac8d98b88a8d395cea2cdb0cf6943b3b18563ab77d +PT = +AAD = 3e5e23d8e941efac06bae36bf3046326 +CT = +Tag = 5b84d07c + +Count = 14 +Key = cd6e032f610ddbc8491cb76f0f8bb5d6 +IV = 5e87c73bf879ded850400c12671e4a768892344c69c23d0829ddf24fbccfc16563f4ad4caa5b961ad80482ea2e0c705114d507e1f1c3209e3d810de6a314f2189ad0cb35298ea8da24b8f7f2258fb8a798a9dbc5f54661602572ecf5d3a6b4faecce34362448f2d1c725cc67bf50f49b4a76b6eecb82362569f45c19270cdce3 +PT = +AAD = 213a44bd55ba58644b7ef6afb88fd9cb +CT = +Tag = a644fb81 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 5c784fe519ccd294e99b5c4f1127db2e +IV = 959345fa5b2e0e76232b2f7df50752921a38be3a25badf6b576820d93a0d4e428f2ee2899495ca492142ba4e2c144f9f92a0d4f17fa9baed7f495b2000fbcbe37f5b8873ccd16f7d14fef90a7cff7ea24eb7b543f780ef8453095deaea842a95450340d5944c3255cbe020ece99cb7f3ef03d1bb02515d425561ada524b70ab6 +PT = +AAD = 46a661feb4a1ad607dcf752e7f3f089c3c33208f +CT = +Tag = a7d4f4b1fca67d7f0e6367b58c273610 + +Count = 1 +Key = df23295f1bd5589a2ede29772d7f88f4 +IV = bc50e6a5ebba3aaa7599e224496e77d7feacd1a85acc5c940dc9e7076eb84b2f19cc3217905122dd71bd3ecda4fc44bc39510f6d80977f1a996d75a189d0e9bc0ce46af42e6972b8a95e2bf82e3b26c3c17cd28363fe00f9872be96add9d658c8fa249d3e17e571aeae25661ba7ed24b4148f5f43524efb41f52c5ac2f503efa +PT = +AAD = 4d2cfa137e6930f8392c552fca870ae4432df120 +CT = +Tag = 064f3163d6b556f7e79e7f4b23260c03 + +Count = 2 +Key = 8ab90841078ecd51bbc05f4fdb15f41e +IV = e6b0b7a214392ef4086a9f128ed8a9dd16f5921f69908888554fbdf3826df4c327e7759a75c2e8535fe739589b6f8e48361f9007573c516e99430a2de2752828ef644119314a4804f62fc856df8c22dc4c8c14b79b64f767ef2ecbf86a339b433d3f02896222aaecebfe028f7def17a2404df56f7f6eabc283b545779203acdc +PT = +AAD = aaeb51b72695c75be07e5053ec3ef78138f1a32f +CT = +Tag = 5d0a8368d986b0a374db167f41554af1 + +Count = 3 +Key = 7001c0504321e3f3cc1a91b88cc4ff25 +IV = e46d335a6ef99ce5265fe8ed38c59a0555b3e6c1e1494364abe6a231ebcc4da652de241840a29d50935abb77507e956fe6afca109bd4bf44df4aa43f822ab022697803dc0223303269c173644360acc1e9ac815cfcdfe114b8ab5c449972c7321053d95ceaba19b18aed2fc067a23bbc5fe9214c243241fcf6b2badf368659f0 +PT = +AAD = 9efb7c05a960b084a1426c16caec359477fd458d +CT = +Tag = a3686066a550d45c38f708cbacc98397 + +Count = 4 +Key = dfb27ce277d69f0e590960aa2fb8211c +IV = 3dc7aa20cbeaf2d7e9c8787f3a5172c36d007c381779a4e2b5f52454fd727b757b816217c8ce3cbe3053cb5a7e4c33b8cde672ad64f1026f51539ab6090d7f6da6860633b1e35e9809aefe53e7b2eef3945d7049ab674e6ca4dfb208ffd1f22a289e92336d1d7c3958efc39fe9e9a56468eff01ee0d89f18de52546a1e5b83d1 +PT = +AAD = 3e818f6d87586d259e17430b9cd83429cfd52dd2 +CT = +Tag = e8b59e3b19ac323d1c2f6e7dd708ade7 + +Count = 5 +Key = b2706a0e6d1d49917f20a8cebf1939a4 +IV = 7c9a0ff9231cf454b23b925aa5c8cce8424d35edf2d4928659be6c35b3ee147a8e12af33514da69049e3780dcf872a9bc89824ba8a939eed56fe9edf9e651d268d22d13215e7a4276e2f108725e488c6f8584601c7d343c4d5619d0f4ff54be6f105bbdd33e839c86a9a236db3a401d3fbadea1e6d62263e91af923725224fb3 +PT = +AAD = 43102bd33c60a61ae32166143be3922969d1af16 +CT = +Tag = 036bcb6d062ef80657563a847300355f + +Count = 6 +Key = 76e9766cd5890e58c74dfc64a7b8c0b7 +IV = 3732a2936c598c44bcc45f426db92a4be9d319f8fa444cda2623e4613777badb04e1c0e88694b07989569173518f4ce94e5ba7d246df953cf96da87df3b8294c2c72427a60dcb11dca3b0ea61a3beaa197897d9f29f500ca19c74fccd21df50a5daed425c075fec158dcafdf5b0a3ee2972ea0b6ad3055b52119c8dbdc16ee55 +PT = +AAD = ea71a61aa584d89dd77568c883bc4a8b823575a7 +CT = +Tag = 80130a9c169bb6d7ac102b76932c808d + +Count = 7 +Key = 108cdebe2463149794f67f6271a445f6 +IV = 8f7d9c03a4700d48771e07eab27428c7dc273fa2b2fb7f1f49deb9dfff22140021f84d0fc24afe3d5832c18414f904297850bc19b0768f22d64160020e0518db4c27294333595bb56af3846a87ecd5e143d28327a52d862efa2142fb713d4158a8b9419e171a04a440cf6daa894a20f7b031ab4d0e45f4f807703bec017ae53b +PT = +AAD = 68473251511ffacef412da36898b43a804fa9196 +CT = +Tag = 200d1e1c28d99c8d30d7cfdaa7e50ece + +Count = 8 +Key = 1aae99d6779e9185b0558c3f41ac15fb +IV = aea883a4c67cea426fff5d5a0fe85ad00ec6a427ef7a4bbee1f8dede721a80c426363d3241dd09c9efc4538a3522b13effb1c35ff400ec7593e94e4ac4714a354c5a7616aa6d70f80e148ac1f2c7d3da16cec22e76b58b9e4e1d638d82085d1990fa4aa0ae4496fcaefd3fae9ae3d107227ed1a4d08478d5d6873b867c3a5b70 +PT = +AAD = 581134b0f6e1b4bff8c54c9135ac844da513a8be +CT = +Tag = 5224ad01ac0edd6b15d258ea84deb5b8 + +Count = 9 +Key = e362d70a47cdb6fc4625456e6a0934f7 +IV = a3998c27867c98a3b8c917028bec0fc9eaf50614ed900666354f2a5ea82ecca27019adf54ea12face92460499977ff0b63647848935f40daf28a6486f9782b53a17317d62ec1bc27f04c026b4cb4c16c7a69ec318860aea00d35b99e1c9315d857c5ccdcf89b77c31aa0bbdfe0e05ab2e31e107c91d49032af6a438b89b4bb59 +PT = +AAD = 392ceb734bb870cd2a2ba6e9810b78eed7f37e7a +CT = +Tag = 5bd6aacf9f9f8ec6933df4c93cae8988 + +Count = 10 +Key = 94f36c8a7c615b50bb02dac0d9afacb0 +IV = f9a23e20304eb725f2e3acc9e73ab331fe104a61882bc31748adb3322404167eb5afe14c7afb17bf68ce1cff136143afe0ad4c5dd417ad4b153c88c01cd7a599139739172561da7c16cde76cb647f576b432b648e433bd51e834a3b9265e9fd03fbc20649289734c0bc4c6b6a9eab016bb72c2a214365ebbbe2d26b2bba40446 +PT = +AAD = 0acea7a62eafb33d14186c28048a260c0fcd0852 +CT = +Tag = 27b2f5c557ea79fb795c84c351812c96 + +Count = 11 +Key = 74d6f18829904ce49c8ba653dfbf7956 +IV = 67f0b49db343e5bf6b3ebca8fda7568592b2c99eede0eff085a3464defbba8ec84966842fec2188f32b7a5bd7ab0c9bed8465e2158052dca8ff8bf12700e059b162567ab96106c2a80a19d9fcf761e5b4431cca3f795f4ab7ea19f5edfc830d65497e435e58d3676b09d5a8ce9d2a34b47c4322fc2633e5d444c75f04aa1a338 +PT = +AAD = 3aaf4bb62d9f8858cfaa047f31df4bab5eabe11b +CT = +Tag = 27d854c085548a383ec890100e14450b + +Count = 12 +Key = 7d1cd4266a36b1ac64712d3e6c8b28c6 +IV = 3a64d9749437fc3bd8523bbe11f433624eb4967f0ec5ff7f22c002c942c9b71e9f81734df2e3244378978a757f56fcb2fa8b102ebdf5a7700af269e9ba44b6f965675d44c2761e8a63c9e0aa482a233e675fe3352b3f6c41a500e0dad98ffb77691517d192a72748f371c491fa0781feab17371942874d25d47872b9f66262dc +PT = +AAD = 47b46c6e9bd07e15b212519ecd91b9b9f2119ddd +CT = +Tag = 386d341b0e4a6481626b84bd4d996d7d + +Count = 13 +Key = e5de2fa5ff9bd1697d4ff4d0e4f21e10 +IV = ba60ffd545a01b40e27504bcf3fa713332e325330a2f2ee47b45c9bc4b7329da57ca39463ba661e4b5125e0d90b4301c64d4354ab40efb5cdecee22005ffb86a0d9853f79d1a9ef177e3eea460f2df72737dd96fa2e45a12d9d129a200053c88a5640575bc6426511cbd9bbe093cb8603b6c3628713c8c354675b17765a5ffbd +PT = +AAD = c97c563033d96e1cb0f0cf013ceacbe5363bb227 +CT = +Tag = 6b630c6c9716371dbb63273c6535c92c + +Count = 14 +Key = 43ca61aaa85c5f0b788d558dfb1f02a5 +IV = d31131dabc11973eb8775a4ff2dd0b02927c7d8dc2f77dbb1ff7a65817955589316612788dc73bb22c5be3d22dbd3e188734510d38415db93def9e08a5e424afbe875fe21cd1c4c6da1c548fbc80a765621708f286bcdc0879ecbea29cf8c32d4146df593304bf995d0fec1657c732e762b58bf86d90a7d6d27d87da2baee899 +PT = +AAD = f3572b045ac8a4c90610c3b4d243d66def903ca3 +CT = +Tag = e5defb7764f97c33bec737762f6737e6 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = d42813381946c560cca6bb4b53efbca2 +IV = c895ef16f11dffad5fedb632a6ad1cbfe71faf54822a8c3f9666009c8755b8771bd67e66ff0df06691954d9c89e6309c3a9fa5cd365d9e4c315756ebebe64d76e1b66f1eaa073a8d392305104a186504a11f5ca0e9e3db9b5179e3d10e8dcb491cc151e6e8ac82fdad6768cb48c1f5782bd5974e139437595a05d6d3f0d908ce +PT = +AAD = 7a8286d22d8b9bd76341f1915ee26e486325a56f +CT = +Tag = 002b312454c123ab7ec36a5d2bb40f + +Count = 1 +Key = 50731ad2c43fd656385f52e7fa60aaf4 +IV = 199fb4aa14689b5b2d6235d83088c408d4469bdbd7ea77755e2111dd1105513bf6ec38abc78dd3ac81d74f6c00fd8f7894fbd93668ec6da1461cfe58d8cfa6b2ba7acca7233a98fa80d0ac2156e667e73fd8239125ce719829962aa3047f7bad27aecaa2def8300ce7a19c24e58315994673ff6b2d68647ce6157aa6829b3bf1 +PT = +AAD = f80fc60bafa0cd12e7e9bb193e11de760dadcc5e +CT = +Tag = 8f89f8f85b52372606b03391684e18 + +Count = 2 +Key = 17af9f53952a5d8138acbdf7cfca3f8f +IV = ab1c23b108d458e4845c43ff25169ae4a6d4eb1b3f39eee91712ba5513ac4a35b6a9a524d58899e6ef8d080fc2a661c52039056b485031fd0cfa6693d2da4b8095eb4dcf3f0796e59552d068d6102bfe1e30cf82a9cea93e2bc8545c04b10f6009a58839fe75c6184cde6334f39a7f8486c44725e60ecc3bcb3fa04b1bea3226 +PT = +AAD = d5aa27583f90d9c3a2fa70948b4bf6fa449c721d +CT = +Tag = 804e21188ffb1d3c2d33c30f24a944 + +Count = 3 +Key = abb946943c55405b30609745fbc4d9ea +IV = 8f0834cecfeed10281e42eab1f9403068424e817b1b235da95549ff580108882da8812b0943bdc193f183d5b047470de30af0213d75c6ca25b44619bd198a55eebd3a88137009e73c47e95cef1db255f6ab63a9455a718e664d76c1b679407da2fa9ca4d4dbcfc9d0f786141c88966dd83b2e7232568b343d017137ce8d28a02 +PT = +AAD = 7b0a2eeea8066beea15d4a8d6c623d5c5aa145a5 +CT = +Tag = c868415004b939e525a72f6344d42c + +Count = 4 +Key = 3a1cd8db130cd1a6dcf79eea81c27cb0 +IV = 258ebc3e47f6dabe472e2c32c75323ec8bb37a907fec3dff5395a01ffc045f5d41ac685fe6968fcc97f8f591b7c1f91826827a118c257732dcf2a008698798ff87bb238d08c17e41e12c8f5166624e573b0bd00974aec97aa9b71bc528d79259528327be80a6994736a14c3d5d40f2c4040c8f0f5ef019e6ba0a8578fe1b118a +PT = +AAD = 736481102a33ae14d24f3efd981e256dbc153e5b +CT = +Tag = 0c9a6ba506fdbaceee7210fe605b4e + +Count = 5 +Key = c2098e4db34e26d4630f4d2a0a05c843 +IV = 8af1429483720d1273b09075f5dc6185cfd512db2d64a54f04f795dcdfbfa5178cdf2abad8f510e92fdd66846ce3766a4c6d14e1fb03b7778aa9b7916ba91e12c565577dde3a3ff8fa93f3fe0af58642306e3853329eb1584543a703bb7e3a65d5ca78f78813d7713d83204cbfcefada6c3c09ae6da4c18213708b4b33070dfc +PT = +AAD = d9cce769eae22e69c16e00c2fd1cc67d3452e52a +CT = +Tag = 418376b0bdf5d69e29f51e6f999811 + +Count = 6 +Key = fc808158ef0136f2967eacd31e5a734d +IV = 52c112a0db89d6a8481c520d57a2e18c9135bf790bbb0c21edb4cc69134970e837a9fe87d686ace0b0b7ef0564ed13bf2d2e433ba205af02df7f2eb785f6c6c8b4c05de00edcab5db66cac6745cc7fdb72459fb2ad26758a9907ca7b611477cdcc26fa1cdac94ba1a80126cdac866929e8181a97f076559cbd2428269d24a1f9 +PT = +AAD = 0dd085f28bac0c0084e07a370bcfccd2805929ec +CT = +Tag = 2bdd86d95e61e56d24686c0cabd80f + +Count = 7 +Key = b8db7661210784d54dc31d80e14607f1 +IV = f8c0b8b54fb6d2dc762ba947a03413a0b0e09d86b90a41e1b6e320b5122599c9566a18604f1d17b822043f296790c44c5b2c155b0ee1a36a956b1fab840ee0f1a9adc7dcdaef052ecc6128d5dd2dc48d208c7ea8ba01e15983e3365e2e231054ede3b62656895439d998853d8810a40c12b6d16919f35d1e7d6bb5a376600cf3 +PT = +AAD = 5d102962fc34cc66b964053a33761512807429c3 +CT = +Tag = 282c3aee623890dd12e67db24e409e + +Count = 8 +Key = 596424d599242e74349480c6d781f188 +IV = af9e258ae3fc39401fbfa42ba1c9fa141aeb793fcd22adee8305b759de94be42cb17acab5f0217a0a027fb3c6df82f8c4718963fd5fe177a53750503bfa99ad55cdc432dd4bcc8df2d6acd6f903c2b12fc1f714a1b8df19f62c9eb4c02522f377ca56a578a02fc8a8a5b441dd10b0470f750cca8be41ec7da22bf37719896806 +PT = +AAD = 351c649a033024e24a6f5fbb6d7e9f6bc0eb0309 +CT = +Tag = af02ec758b43cefcbca9bf50e05b44 + +Count = 9 +Key = e1d5f8388b335cf6dad30fe4e5b31534 +IV = a8f43493fdf9c8431d533e8d4391c8e01a61c5d7e7cf1037880e069947bd34b52310ab00e93286019cd6629edf498330015f56db3ed7ce63296f4844a6d24a0d6ec7811a55a292d65ee2c2acfe347ea0f3d0ac1cabdf5903349e0e24327b743efa6439b5f24b1434f58d8a93adb77307f31a605f2cf9a0a360a4086a364ed664 +PT = +AAD = 8f275821ee17d06f349b4bb7908de2ce2af6ed50 +CT = +Tag = 2d40e6ef8b9354001fe13f6993ad60 + +Count = 10 +Key = 92ca5f833c80e8d74ffd3aadd0c6d32b +IV = 73424c4e5b1cb8f48b2f486306810174177c3a6ba8a06cc983889b5214a2c8e0f24227596850fa2e144e0e1a0562e018a21254321f0ec1c70baaf876407a1db341683247309af891edfd973ec008d6da3649e1f77e7909bf27331491de8ad27a46cf45c181844dcc4e007ebdb9ac4cf15da0df23d303ec95e161be0414d9d69f +PT = +AAD = bd07c34e8bdef39ec384bc2fb4e0c83ac379b4fe +CT = +Tag = f23987e2ee78c8fc4b705c7710ff5e + +Count = 11 +Key = 6ddc90bea7a7d660c965ddfe25f9e7b1 +IV = 2a167a4da06874cf735ec77d9c20651e9c15249078cc07dd7b237e06f242f2c2e8b201e82cdb051240e7bdcfd1956c52f7fd7598d0c5f3ed724f3305af8ff06b6bd14f8188107b2c2ce9ceeadc28b16ced598913350e42dc96dd70862dd766459daf48962a74af14b96510309dea39e09a3c045795f6ec19e64a480e8b5e0089 +PT = +AAD = c6b0327ac5fcd8ff997e972a4a060f843b7d6e79 +CT = +Tag = 51af30db3ce976d5c53b940523d58e + +Count = 12 +Key = 401ec7111f12a1ad393d76fe83951823 +IV = 4f040356c58bb3f79d64a8385ec13ae58dba5e8ae5637d19ba2ff84e791c934f1693ed6f43649b27338ed948899c7d622aa7fec5ecbfc6d22863984fd4d9d7514238e8891d7241910bd29eac97de47204f606bcf0a1a5a5303f85e022de2702f89e818bd579a4c7b28d0f0182987ced2ad505571be212a7e32f88e7edd8275d8 +PT = +AAD = 977ca5eee22ba21121eb89ca259099725bfc2431 +CT = +Tag = 97a64e049346047d5bdd6b758ad33f + +Count = 13 +Key = 54a8f77ed53cab1553ee1a79f7c3bea8 +IV = aa30090af38356cea88231cdc973e749fa3fbdae18b1de900890ccde1a8e95401486bd25a9c26c66681b40465bea5f07f652629dfc3840b57105e27fad7cb8ded3a8f170b1b47959bd982f7bae219222ada1c0645b57666bfdefb1b5f80f3644ab8f10b8892a9888cde3167d5351899ca208a04cfdeedcd7244c0e163760631c +PT = +AAD = b933e822e0ad2ab124490af8e838a78bd0d17b2e +CT = +Tag = ce5ac950fcb062223dab107a369583 + +Count = 14 +Key = 88219afa47d58b9f02fb0fe1bfd95b93 +IV = 190a911d2d9bbe1599282c943e23fa041034f106f374b3e93580244c00af730eed704734997736b3ffed58f45e131e747788d9237e7419b95138276e385b42f2db9abe12346fc932b3178c5b89b937de2b604621f49619768406ae782deee133fbf1ab90ac608bf8ad5464dfd52eac56a2a6db1431e3e5c319dc10c69d4a9e87 +PT = +AAD = 2fd6744f6e90903ee9dd45b4a15f5beace7301eb +CT = +Tag = 942545116620be049b66877b3839dd + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 28b03a72d169d5e3c1cf50b025bf65bf +IV = a9b2758ecf36b11befdf87ea3a7f741b376dd49580610330e57e5134d92cfa0579a832084c814169870bd5760eef5287cb095d1e94356cecc48ec2f30dc5137a73867ce96d4eb86cfac46a7f96c95989eef60227266d515cb2c3733b20ecb2eb32b5d17e5330dfb0820d0ef95258af700c085e8dc37d227052a63aa74358db18 +PT = +AAD = 641161c3f6edf284cf3f0bf6e442e316eb695f99 +CT = +Tag = 81837c4e81e4c1adbf005f903ad1 + +Count = 1 +Key = d94aaf25cd9d33245bf483dc55e967df +IV = ddd25b493410ff179e7801732391e460d901113861ce413d9e828a4c67d54acde4a8a0f2f8a556a6f9aab7a15989a0b30d2786a38b8575d1c42742f149dc0e527e85d8c5a9488cd8179ee5d3842c54c74c69aef363178367e84d870d6ac6040866d029bcbc9e3261a6cc28157a5e2ec19b59d68595dc3d3350c8ccaa3758a1d7 +PT = +AAD = 2f530e95d7a26ee6803a1fa2dbbbfeb77d91d9e4 +CT = +Tag = 7c77a8dae29a7af27ab412a019b7 + +Count = 2 +Key = fe73d1c37dbff1f1c828b5862c227f1b +IV = b3c1d1753e9f846ea0e70b571471e668d540e9aa91b1ca01c848f0dc87c150e1600141b3924de04ce21bc008f75b760c101b1ee1a38cc956a3b2175698cae26a780820a7a141e63b194ca21028dc0ff65982e1644cdabc88132f57f69a042e178d6fdbd42a11452c2939929ddd6d2ef52cd30e51646e3897b4c405cae97bdd1f +PT = +AAD = 48e93c10c0cb4e720b896b8d2694088069cd6d3b +CT = +Tag = bc773652334848a74cdaed9752b6 + +Count = 3 +Key = 3b734238a7d50ebc792f8e37cef3d52b +IV = fb80f40d68b949d83d5c6d93e8ae3c8c4c732bfb5acd47ed6084fc8ff8610afdac67c4035053dd4457ddab0dcd12200f2c44244bb1c3c462c4877c976a41c6a2716428705887b05ccfd1f1857ac5b469c9e913bb145c4a9ee3533d684d5951b566bb1bd164ec1adbcc94e99f6f18f3ddcc86b690d9ed1f20ade0b28d044c180f +PT = +AAD = 884826babe185ac529f5480a63afeabd84a8315b +CT = +Tag = e6bd96233486b7893110cc43546d + +Count = 4 +Key = 4b4885eee36d83857d6f9a779ae854e3 +IV = 3d40c5771d5cdc3bfee92bebcf0984e6b54be0e6be5efb002449e0374910037f414e37f40721938cda113c1d6878903e2af2f490117f7c1d0d0d2847bae877dbad2ef4be496b6289a694b96b3876273e0b8f9902f1bc4bc1bcd259ada668970a2d2e349a405070308bac7ea950ab78da3ad81875346b2aa91dfd1fe53ab48655 +PT = +AAD = 8657ba7294881752b5fef7f857305602b97f0ce3 +CT = +Tag = b4ef8242baff8d60d5918053f8af + +Count = 5 +Key = 0d134ff22b951d187450c8c0c903376e +IV = 36740214489a5e4a57934aa233a9b851ea8fdb7928d0f00fc9781127355bc1cd3b33960264968f3c33e3651239bace3dc1464476c849b596c10aacd1e0217dba308234e8d3c4dc210bcb9867b48fbf1ba158a34d1ea4f360b26fcd3a8018a251ccffc27dda5bd948363ae97a6715e0959882dc167db5078b88fc62bfed55396e +PT = +AAD = 1a9a7dad5783c365048669e884066cd49329c5bf +CT = +Tag = 11aa350683aefe9d4269e7139f6b + +Count = 6 +Key = ece833a06be6ca95ce9d8fc91562c67d +IV = 09960d7c726313764e8f8d86774da389d2b82a533488033db979c959191201ff387e49c4a9c7b704d9f9e31460a73db6e1a452c61de8d6cc8951925f58658e68c92b75d95302f86218c9f1e0bf21379b303d3562c95496f17f036a887fe67b2b91dd20ce9f525da6069abefd550556cbb5f7144c1c002d431d6fcec7ebff2973 +PT = +AAD = 37bfe2722992ab4fde21e45ebdb0265c2f9a597b +CT = +Tag = 8370ec3fc811b68747c05ca4c1ae + +Count = 7 +Key = 4e6533bfa27bb4a3a9f90c7bc6070fd2 +IV = 2d0070ed55b1f4ed132f68f9f360d3dd0a1c988cc409b6b75fbc8374b3c0e27b19d26bf69a1d2995e2f7d0b76eea6b1177b0385113a69a27847c1fd2e7397a8043a0eac47c058617abaeb31a322d5b947ede6fa370f274b79d9f6077efd4ce50f1359676d45a570655691e387d4ffeebb16be28ef52b0c3469d66c2323072dde +PT = +AAD = 5cd23a956b8e66d6be3e39e15b0b204b250df21c +CT = +Tag = d8cf5df0db2d5c85747334485e0a + +Count = 8 +Key = 167f256ec462d6ca72e4109c7b4be5cf +IV = 2ea6158bc12654795b0e4911680af9dec156475d776892b14797a2914c547c2cdf3c947ef8d05604d70b37fec166a81dd257610ab922450a00352d2dd17136344c0c4117a3b7c2b30d1836ad016e14326204a52a8eaa21954a2cb70a549f0080b358f803b9e93b00424f81a29eef3117c21b9e00964f8ef89984ff1d4e1c5712 +PT = +AAD = ee94208f67a139f218b07b5c18b00783fb0e04a1 +CT = +Tag = 96596229b2f1fdf9958cf8858cdf + +Count = 9 +Key = ba2c74e8f3fe391317444dcb3eb66cf7 +IV = c004003c7eb62c2c8eae683541756b63b17772931565bb9257b6cdf28c0e3e1e2984c5dd31f8198022d5a69152cce78feb514bd25cac52dd434745c8b15c5123d5e25f40fd26c880d28e8cb2bb107b291ab15421e954d9d8e3158290a19eee3efd66af07a3da5a73bf0df8454be01087ae00258469622eaa037dabf377ba6395 +PT = +AAD = a828c1b408db0ddc35c5de2f5ea050eb3c03bdd2 +CT = +Tag = 89692d3911726e8da308de20fc76 + +Count = 10 +Key = 159f8deac6054ed90a901f03ff5b39c5 +IV = a72e39255140d5c5bd0466bddeceda31dcf99abe6a479df20aab2dfca87b9b506c391f2eaac0011f85b824f6f712e6e1e8faa25eaa8190eb746e41e296b0d632ccc6dd76f37ba1223b77e54509adfa7de351486475711004b00b5e4874823632677111b7821de6e870f5bb3240bb10f794b5d5b13e7e54c8e8405bfe9435ed17 +PT = +AAD = 3f50fc916eef8fc404fdd21e87cfa06fa2d817f2 +CT = +Tag = 73cce30d09a963e7b67fc8fed12d + +Count = 11 +Key = 52a890c888bcfef7997c2350570f2b27 +IV = bab911c30cd9a2b545abca95118eaba9c8432bde03b156308f93ac50eae62af85c11225a54e4a6b2974dd22954b8255891032d70463d051a8872be4185237106bec7279b4207694afaeb62d1293780043931475f3c874c065ebcd94ebf4e3441c0c8c068294643e712cabd1c359a0f3e1bf4ac878b304700fb5322e9c0af1f5a +PT = +AAD = 8ceddcf37f0130e10ce42efb704f4751e65eaf30 +CT = +Tag = 1e9ff65c208e7e0b45a86264acca + +Count = 12 +Key = d25bdfdb372f0c0df426c154da7f7d1e +IV = e6df6a2f3da237315048cc5dc7a42dbde60e649cfcf85108c00654f444958a9ead9556e978f531a8d13ad5e4e08cbd0fd76b03081f407f8fb330109326a1dace137bc28661e6b3b9da4079bf8dc1027181ab208b5e3f0b2f9a9c118052239263d85cca22d03c2696a7f566cc01f098772504a31d8bf32399fa6ff1bba80c98a0 +PT = +AAD = 5472bf392a3936df8f03d7fc7272f854eb0efbcd +CT = +Tag = 5649aba70261cba9e0ade48f3879 + +Count = 13 +Key = a8ccb3c853131ebcdfecf562446c04d5 +IV = b30893a5ae0818b55c328770df9ebda3d6ea41431f1ad73a98e1747cde0d8359008745303a6e6ac1362444bfcb3636c99986fd56aea52e46bf607f4c4d4ba7c460ae21b2958f46576c078fc94a0143b7eae88cfd22c97755172fe89483c1454d17c3fd2e66a0b94a32b1d6821ad2bc77443ca2d8de71176e3d862f38a5026b17 +PT = +AAD = d4aff72bbdabcecc1169f2746d268132b427c36a +CT = +Tag = 8ceeb9195cec9781b6a3a838d498 + +Count = 14 +Key = e23fa73e6a9fdae44605b1afc297f3d1 +IV = 8991d2404b741a5b844e02aab5230fe726a11b50c62a2596837636f034ed50ac6ae9985770ca9bf275c16c03b8f4b76a1d8d99583eaf487b1872ee0530a05c362c19936b096e705fe926521eb60380b1c7487602d7a5288bd764a4ddb81f3886629b5c70287954311ba8e5c3d270367d4081f8b7f7a65a57df46c6539b07cdb1 +PT = +AAD = 355df05042f86ee86c69aa38f719689d379ec77e +CT = +Tag = 42de45ca36b2fa092c82a43123d5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 96748cbe6f3051457e28093ef9a0266b +IV = cd668da386ee2d1fc186b2e1fcdd881d670dec0623f97d9abf3e22cb4940720b5d1c08396399ea5401045cd7cefafdb9a58bcfe289653ff70f1fecea6ad99d70ae3350b18b5da19a61885e6da0d86aef61893d9fe08518c237edff401e4ed54176cd90a165f53983b844c631180874742370063041d8f15cd381a198edfdbc2d +PT = +AAD = 9502973ea6b20160d0ed78f5b1cb04365112bd4f +CT = +Tag = 28a43cc3764d53bed53142e33e + +Count = 1 +Key = 2668126b5eec0cb5700a2e3f85408858 +IV = f0b840bc112976cadcddc6297c7255bddbc9ba22cc98c46373456bf8b19747d03b57ecc088cf9d0652a7f0e9cc9ba2bfd0f7cda0360ae1fda3d93aea84ed9931bbfefdd51b479d654a55964441457c828da647862dcd82bc3bf8145dbb8ecdacfcc32a5f6015ef404517bce1aa603cf2e4531f7ca42bbee85bb3bca60a882ca8 +PT = +AAD = 93bf0d514576e7e0dbbc6385a685585f0fb81b5d +CT = +Tag = 47c7303df1c134af95c9c240bb + +Count = 2 +Key = 3bf22fa4456503197404b1e998f8a453 +IV = c9862beb0f4233f2c181ec9423a7c230fe93fd3e35a78ef5439f8892928fc3afa625057d727c96a21b006ef183d33ed6c36dc999e41dd8f76cb1b60dcfe5e895c8567c636319a5b454dbd876f09bf4eb60ef1526e6ae04737043928edb6f42ed1ade5f931da5ff7b350d505d6c2288aaaa01e392db66d53f77cbff0189ce3e8b +PT = +AAD = 2cd8772f10deb6edcfc5579e2142f4ed30ae4c57 +CT = +Tag = faa803237b4d2f7fdaca53613d + +Count = 3 +Key = f364a996d64e90b47e9ce3fa53c3ebb3 +IV = fc18e4e6d84116a16f34a03131a3e600cb9119304d0314a910d4c973fafe69c8626e14df4b57a40a873e092c7f2ec87aa9210b9658df547a8db162717c305c8b5c317f283dbc10f4af9028f0462a5e8db86d272afe80dc2f448d0c06bac1bf96cd34ceae63a6591a90d85e764fd7705692a5ca9648819a4e1f44679e9b854226 +PT = +AAD = 1541d1357602f1ff885674520fd7e6d9eec00fcb +CT = +Tag = 216ed640ee9c7aa4f5aeffd7fd + +Count = 4 +Key = 3fc2e466acd87d88890b018e00e177cd +IV = 532442fe5029a4d57c258690c5cad75688ec8d427c02225a4177ad81b440f1fc22bb9785ed8109332bedffcc9a69cc362322f2bbf39962cc3a9fd1f662e0c2cad1958b9e776fffade352368f3c8a332c48897280916df5e3d111517ac2834454405bd488388c4020029125fa4895b7131b402579e0600926cf99063717f967be +PT = +AAD = 7480d9995729e1652a11fb3f183ad61eeee24697 +CT = +Tag = 4181ed371eed15c8460d6470c9 + +Count = 5 +Key = d630acdf83f2a97a1ac417d88bd5379f +IV = 1dc14a05d07d27381983c29b146b3970b448e285385fe6390f62abafc88c579cda231038b7042a23e29e76e4156c1949226578b1518d8fcb6ae0fff948efd9c4c156ee0f62e71dfa6944c0ccd95ebea61e4243d69fadfb5634c101b622e669a108c86a472e758675e05e3e3ed1dd879aa60304adc7aeeb7e11644c1188049589 +PT = +AAD = c9a984483c8d1e2aab126c36329bef2af276fc1e +CT = +Tag = c23becee50abe87d3798060d79 + +Count = 6 +Key = 0593c197f7460469d3fc171c8f138255 +IV = 6adcf04924221babf4aaa0f6119cc1d5c8a42584931dceab3ae8217aeab415aefb11f7e2398dc91e2e321c68f82c9f510c9c1488b3113ec7f5d21049e35d501f4736e2bca77176ff47864be19b88fc0fb6a18ae5c95ee029a704a8a699886482a92a09987294069e7d1f5baa9e9fb5c536fb0090892cd66446bbdf5628bab74e +PT = +AAD = c4dc7357fcec16ba331bd15966e5fe0ce4ad6f08 +CT = +Tag = e179ceefd0c7f1d5ee9ac039e0 + +Count = 7 +Key = fa468665ad5e90526344d6e39104762a +IV = 9b3cb924f8fa1b3d46a1a18bea606404b641c75a5b46e891287819513f412679f75befacbc174b37f5290461f69b1b712477b4eede689495ccaff8bb842e63b589e0bd6422ab3281bc4589cbf363cd14fe1d82606f91491e3ad825008272b2eb93cabb3b250c6c64f741eb0c8583881ff9c3806a179d117038743ef2525d5f16 +PT = +AAD = d3eecc0c3dfeba551400d32e6a2bbf5ca4ccfe01 +CT = +Tag = e927d552f38873062d2f740e5c + +Count = 8 +Key = 868a875619e19673387252a49b03c1e8 +IV = 0531a5fb3f01e87e2b80be136d51b794c9eb54d2c54be435d587bb4f0d19b2fda4ea7d5986c9ccd67b9b8c4386c99a704123ff96df81275c30597174e892c611594c5fbbf21b83e1432cc28cac07532ac374d6ccaa66191c918bed952b5a5e101a49c60091305e46827c7d8d9960aa814f811c68580a5a1fa0b5db73fbc6f7b9 +PT = +AAD = cf6d05a71468025f08a0164c2abd8a98c1cd0784 +CT = +Tag = 7cdbd47525250fe660bfcf29d8 + +Count = 9 +Key = 22b600e4bf57dd5078162ac3aaa415de +IV = 2368735f64ee9e9d76b3a7e6a504779410d7e5fb1e0dac8d7319b88e4851271e2350ac45093145d7aef3e1ad71aa3bcf24bdcbe18ae7e3efb279d5293b48cdfef5005197f48eddce6207f7c933dcbee429b1f6e0e79f359d5744b17aa1e50521a62ad26eb738d42c3babe127c9e03d49bc9d4885067959fbd320c284f0b3b7f4 +PT = +AAD = 8e2443e7aae484dfae0b3cf158ea9f46bcc728d1 +CT = +Tag = ed022019d81f7f6eb486e72d3a + +Count = 10 +Key = 5edb719fb3bad22cd767aad99f2e7e0e +IV = 2c5aba2573462a3702bd4f6050fe2bf6f8807069bf1a2ee84c11eb196aec6a5826fcedd7919c463d6b6102158747bafe1ffe24c50513da4aac096ae3602a98d952ca4fc06177993f2a0d82470f09860f28f33dba329c1a7ec6d2140fe85832e19254091c9e9519bef73ec68bd3819ebb561b7eb3bd8f4a2e03366c6feb44fcc0 +PT = +AAD = 9159c45cb7cdcc8bf6de6a7e754e8bbd8bf575fe +CT = +Tag = 45661eeeaaa48c36cb370fba52 + +Count = 11 +Key = f3f67e2bc2ad1d2d5531fbd013a62d2b +IV = 0c61651c628b2e5474b9dccbb331867e9d635e67f3f5415631d2fd7324b4136b25bf4cd4c0b6cbb9a9441718144f3eb08277f70bb60f256996f941a80f7efbd3c0c31b9c0e0493aff1764e6b1f535b2730d544209dd6d3ba60b329c90306834f9363d46b78d5e7847841efc6791a1ead28d6408af08788173e8b166556f1e35b +PT = +AAD = e2a83dd734a6da7149c63f592c518494f2fb145e +CT = +Tag = 0853bd211f7c58846a1a426d13 + +Count = 12 +Key = d068996416f0c52bf581d08727e0af7e +IV = a349bbf599a5920638130a2becd5ca84d573e84c134318a1700097953930d739c0bf66341ecae52963a609261a2b6fd4ee61714a324a4b951e03a432ca87e714bc798eb0228df3214dab19fa94db9306c8a1c6557dfedef5227c3d1ea54a3946856744de2f0080a63a7293a40b297d135b762cbeae487823511ed6100ff20e19 +PT = +AAD = fc0f2165999e9d36b8d74cc00c7b294792296961 +CT = +Tag = 40d5f8cdd7a42334f90c856707 + +Count = 13 +Key = e108c4fa80c315d6e527d6473f41be7f +IV = b3fd8aca5440082382a7fe1f662aa40dd550a1209b6481bed341807bbabb8528ff6347bed3d3f2deb314c21dfec08f74a3e8837ebaedc361ae94366482ae97c786b15f557ea464f9656666907c331ede2a6dfb532868214ef8e37fd71be85d2f7a3f6330b53a6667fe6cc9b4f1306443c4b46e57bad38a5bbc5a5882e2c8365e +PT = +AAD = aa5278338959fed21351dabf60a5ff9a42a37657 +CT = +Tag = b631c4d7e0ffbb699b1909a1e6 + +Count = 14 +Key = 96febe6d376b9918a705407dc6c599d9 +IV = 16d1c90fc3865eeadd3f75bc8494005b8cce98ab8c6120c4fae8c94fade8eca7fa0f1c6eba0de3ed31985bf855655f5a8c77875ac104e8faca30f025e7881e18398937a6841c7feb1bdc32d2e94a80492e69f363def5ae41df7ddd0f566cad7ad36058084756169c85ea2ea2c1cc62751e99cbe6fd8b9065ea3ec5761375845c +PT = +AAD = 7fdc42071531b519fc77d3bc258e21f89e26a276 +CT = +Tag = 6a50bd543e9a42287538ae977b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 77b10b68168896ced1e4287b3368dd57 +IV = c84bf6067e211564da422ed261a5d411b07131f271edcfd01673505d5bf3f11d0cbc2fb30d66abdbf7829a63f2fbab8a9264aef2a91f15111ec206634fd4aabb07223a454c92c989efb978a842a4382aa47fca45f24e6b3e4dc33326f41a8a244f2ce6670f7d508c489c3562cb6952f214d910e648a3b121bf2cdfebe01c4f15 +PT = +AAD = c68628a3f88d730ecbac7c4bf96f9e7d98fbd086 +CT = +Tag = c405e11329196424f61e6770 + +Count = 1 +Key = 10dda935d125d9500fc016c617c5d020 +IV = c4e9c0521cdd039fefe86b5f4c2358618ad5563adaa1627a822fbd67b6d1481a1200c0fbb514dfc9cbc319d1f0e7b57be4b8f54c1aa2694f868c167454e2946779764c5071c5cee25294080dc552095fdb80ac4a6093b8f4fa20f7865ca1cd4bcc0f57602462684559f7e2806cc93eae2f82cea7f370e70373d7e6f9e88c797f +PT = +AAD = 77704e010bbcc60e24772ba18392a53f7ddb9c8b +CT = +Tag = ac981ec4395ad6cd09f129ed + +Count = 2 +Key = 8371775e07826197a333997307efe354 +IV = 24b26228dbb0306be0cd1fbfde8dde316ba2b0d8eb426e295969decf9051f325687f34a47c869569c56ae88f432684ad81483611a8dabd376d0b88a409e59a2ea980010eb6906f3600fe4d58dad93a4842389d7af91058f51e2e09ed3ae62e914c82597b3d3637d850d79ef7085887f90832e685464151e6002127ac53eaedf7 +PT = +AAD = da61204f46ae16f58d083a0feccef8913bae76cd +CT = +Tag = 8611adf50bcacc0c391de8ec + +Count = 3 +Key = a33e9ebb96485c5437a805fc39d3174f +IV = 4c9a6fc6ec378cdf2c4e70d1614006339aa99da54f72119605f532a603d92868bce6a8b6f362fe5ecbc25bea076b1735f8290c3a865d14319bf108f965da32f48e76a4a90b41892a2f7ff58333a2576ab53da1f7096af1b120bd22590bfe5e3c981dbb029bce7506bfbc02dfc468f0371ca0fbb02079d7e4b69571a4024a0087 +PT = +AAD = 72db030c057942618b3e63dcde1b300c8401666d +CT = +Tag = c6353f143db25db067afa78a + +Count = 4 +Key = 9386e1bbb97f397dba71f9f6b30916c0 +IV = 1fb5ae8d8d36021ac744d3711bcbaa8f5f049bca3eb68433cd942aeefb9073a964b7b5512f4a105cd7e360dd857e6d0b9d7a611666c386b91a99f6410674a1f02cfd99c95631206e577e4c4da17c48fc656eb91302500fc54ed5d4e86e6ae4b89a62ae4f621e0750ffc315b0f15ac41322bdd7eeb3a41eb15a900a4804681999 +PT = +AAD = bc7e652c22eccd756157cc885e1e31e0e627d834 +CT = +Tag = 846c6d77bb62f578354a3a0b + +Count = 5 +Key = 607a1debac68fe958ad284918c9145f6 +IV = 9cbe970d5b0c0e88a321faef9e6351b45dd9baa58bf2a1ef7a008b97140ba580c96cd0bd3ec4184214f676973770d41b18d80bc6fc88329f4724a1950c89b0157f576ddcc95c5038f55630bf0673b10383ce115c8973116b3405701daabf589e1e6bfcd4c44fc3208e09d377082715f6a5d014a6761d88e36a52bfa9290e9f2f +PT = +AAD = ee0aa8dff371be0c0bf39745daa382bdbccccfc7 +CT = +Tag = f03d68a492d8b197500556dc + +Count = 6 +Key = 7861cb4835b162ff381086c6008b1f5b +IV = d66212638679a387513a42846a550e2780480728015ef77034ce731607238ccfdcb67dd8708c18bb568339038fe46c8fa6ca8e2f0707154fdf2fbc0edda8c4f34b0ffaa88b1a9835044445f51f34387cd43b9745e5393c994087a5a8937fbcb41b85be75d05db6795150cbcb7e43ada29771a3e8654a4b0d566f7db48c88198a +PT = +AAD = 4e2a8c6de05e55e9eaee00c66708368c85e4ef2f +CT = +Tag = b218b523efdabdc70c0e6653 + +Count = 7 +Key = dc8cd0a550576acbf68026acc4817df2 +IV = 7fc7dbe4f4c72b735ca1b31790fb56df9161a776e5f35909a37167c8ca8be68d66edf7a5fb540e380f580ef43583ac665b602a648a7d4ccdf265aa87e54f30fbfb4872e439f0c3ba9a975ba0cfb553f809c30db1907d25d4d11b72508699be725e72f295f6d79d9af7d07fbae03b52f7ae624901548bdf31a9ccce655afd9280 +PT = +AAD = e6f5d4631951f255ff904d312c743396e78b8dab +CT = +Tag = f7abd0b2987c3f6139bfb3f6 + +Count = 8 +Key = 037e1675012b64071c5548c4ac458e82 +IV = 8cacc18934a4d6e5c9293007e31b5ad2e2a1d1ef4e1284bcf70c3e7552d3b84ae9014705ee8e2244b908ac4c4a1b1c7e0962b9b82b438c6fb9a2d915707486552e2dcbbc7ffd52c9030c2e275e5b624ae0503e6aed18ef6804586772ff0556e22cccc5b8cc1d442f6306629a9f762b24e55f26b459af3bfc2358a55f6a84a22c +PT = +AAD = 9672bb38add875776072c83ea1654c537dab3d24 +CT = +Tag = 307db89cb22a91524f203765 + +Count = 9 +Key = 7e22b6e4b09d0a61fca09684ca8dda8e +IV = 904fe8387aab1e5e2954a69a789e995afae215214fe18331ef5e19d516614b7178fcc4cfc6aa86b2dd90790d1e9868f80fb32827e5de125a0a4330ebaefc7d6cbdebd338f0b9476e7c0e0c6d483499342401db9fa1cfa3e91129ee999a068a63ee9263853914a27e4cefd069a27f3866dcaa988f2470577bfa03e7ea947869e6 +PT = +AAD = 6c457b092c99ce63df722d348bdf2e94f879ee2b +CT = +Tag = a359161b1d701bf2947f406f + +Count = 10 +Key = a32a3452213006b618cf77d0f20fafd8 +IV = 9a03ad5e48fda8e4c1eba773b02fc318b46e0627c6da125691cd0298ede5f8b08fa840e69925d5cca2e2c2c1015a33c6a98778ed95187400e603b85317a3d90e47925b99459dbadceea120dd0aee7eca658f792a1df9baf5e4ce3b0a351003c94567c8a111ae9a5c243dd81e25c02007e0cabae79fd3201db046c3b69dd51bcb +PT = +AAD = d9bbf8c6004820c336878b98ddd65200fd95b39e +CT = +Tag = c0946467154ec870446c05ab + +Count = 11 +Key = 209fd75d782eaa903418556fa82094bf +IV = 21a0d68ada5563ee77df2a93a9b3d71f9767ee0bd6b0c6d28b4102b07b1540a1669573e933715f90e2dc8718e89695d47a1eb28f78ae0ce8317efb0c0064c4b7ff3dff85b8a3828721f0450c927056437c7736080c8685134f734352fafa435a1f0cd5d42825d311ddba1f27efd3039f939963382672e1966df040594f904846 +PT = +AAD = 0d899116e86ed674ef3e1c714b80974d7bf23c2b +CT = +Tag = fc3a157dd3842cc0d03c9832 + +Count = 12 +Key = c69f1050876c1489be17cfc3b38696fc +IV = 4833d34ded2712b7ba789ed34d45bf6562303d39ad9308e4d9ac10b8216f6dcdb68351f3961e62773f791ebb59310ad005e6354762d379c5bab4e6342ee27692fd4b51f84495ccab2f2a0923c267f88a4141a2e2e1d34a3beedb48dd6da6843194d00dcf62c13e9d84dd77392ff6c51da09b8cbfc2faa659890f8cc0113c39bd +PT = +AAD = 9bbc880a4728f51cf79502cf4f884e8f546917c6 +CT = +Tag = 3c8ab2250e2ad7cbb9a7c263 + +Count = 13 +Key = 660dc1153a4b67b9881a7d904221c595 +IV = 5cb2b11d737c03bdeb77f832c753478f0753555ecfb94a7250e1490607a42ef49440384399cff50df92d6180b1341c94ba9a575a9c8da7c17a125bf27a619e0e76cbd92c7cf2f686fb6651c660ba75e13a16af943c257259be6d07e27a0c460eb654d093c8a9b902a606051911290075855f2a245397e20a39e3343a2bcee6b6 +PT = +AAD = 8cde2ab9bc4ed43c1de42021b17e49de55b045ed +CT = +Tag = 54bd0f7551823371b2c53459 + +Count = 14 +Key = 20b2c3fa0b6936da3dc7c7551998011d +IV = 76fb22727ef7fff599b6f9aea58c3c8b942a35bddd3c73162c3b7ab7ba182113ad3df688ac70e287afd0924857c76e6d7ed9faafcaaea93a347ac40fe18c3b39fce152649888ec65a9fa7680fa371d52d2274fea86a252cff6a7a6f824eb192c813b6e8cecbe15f9bae571442e4e03550aa54736341e38c54037ff3fe07a8c2b +PT = +AAD = edf0fbf3a279d4b3ea55b58fae95bbe5cf1dd470 +CT = +Tag = 554df12b3b43f5624e711fc4 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = d709473bdf04cfb2c195715b548ad4d1 +IV = de1e823091e9858577e8c57f03c0597c6a1a8456f5fd5fb67e29f34fccfd8d6ea83187b7fee15f6da93d440d1d531e2c5e086e66ba82fcf2205bccc12dcd091af037f2c5101b6a31464e6e030d588884fb89a73a9a0f92e1e243d79ae784b06f51457edc3ee7f88387c868843570afc449d2d3823796370bae3e888ce784fd78 +PT = +AAD = 8226e11578031485ad2e6f29526f7d22185db854 +CT = +Tag = 69a6fa5ff4274e5d + +Count = 1 +Key = 427113318a64102159ddc059027a38b8 +IV = 7f334b2887aba569f0c8e7894c572aef312846797afd985c5b79b1bd583f5b200fbd503815c56f43942d2e077072950568a67601cad9a600e31e7a7a03f05cc6db4829a72854a26d8532dfc41543090e47a0daae368eb4aa41883dada20670d0dee2d5abf472c962a6307570a9cbca94e0831d31373418ac16cd25c4962dbdab +PT = +AAD = b24812f4a83f04bbe9cf79ab944e4f0c2e48eed2 +CT = +Tag = 7db5d29c732822bd + +Count = 2 +Key = 00b77b2f39f07be93108409550b39640 +IV = 3fd9861775e550617097b2e918f51c5d3cac05760dd84498b464f24c02fd520557613017823aeef2cf1e0da2e0d5395c0e9360889170096bdbdca4b0f20fa9cdbcbfd2d1050bb52ceadcab752f7f934b0098f828d280304fc39d0a4377b996e2c53e9543556025f15e2af3c1fc4382b040b04aa62c596edf73fa33c76c619536 +PT = +AAD = 09476ba7609008728054ef6cc6668c68d8e6a159 +CT = +Tag = 64d2f61f9518957e + +Count = 3 +Key = 1dd3422724859be8d8cbb408803c6a58 +IV = 39ec2056e48be79ecd3cfb1520b81113a2c524ad0b835a6b66dc5aa00651cbfa406e1130ac9249aa93ca8ab199ed44387f76151d6459e860066d4ff17387ec8428c68b26cbac594ee4eff3f566ee1f436f57942ac0878a04dec3dbe87d26bac50be77030cd979206f1cd7cd11d271155017236162b444964ca159542bab0ae8f +PT = +AAD = 62f05e4225d4d30d0c87952d52deeb6d85af2c99 +CT = +Tag = 4dedf06bebf1e635 + +Count = 4 +Key = d1210bedc16a86e91659cc53968929f0 +IV = 8fc3eda379f1a70c5d57c308fe5f3a6e2e3d654558a6711802eaebb21c41781627d405b568b2baaaa355b8028642f8a46e2956a13871eabff70fc1a4e8aee46967046ece2ea03c76d58e64158e6ae7101a6851f47e92ec843b20f5b7ea7b2ee3420e8f8468401d8eee2e62e9d2b1c04b859927d2e585593153e289af817ea270 +PT = +AAD = 19968c241b6a715579db80600b8f4ea004195fb6 +CT = +Tag = 6140d5a9e1f913a5 + +Count = 5 +Key = 9418c80674d72615cc41d3de1a64cbd9 +IV = d2198aa2d164b8d2676e24e88fd222f877f3cef5efb7748a98a111d2b00d37eb1826304d5e3407214f3b4a55d618c4e5439e92205b2f22266a0690a755b68dbcfd89edb1d28bef4f1280c266f7afd67b1a8816bc780b839229b02a0bf8869564e500389b69361f69ec1f953e8fac8ef39a02c8d8e6313ae6d42a4e0025cbb989 +PT = +AAD = 9e0cf89dc049c1b8a08ceba13cfaa207beefd82d +CT = +Tag = 381f1264d9191c6d + +Count = 6 +Key = b57d2c183b320a1cd56c810b6d10e20a +IV = d458d839944b8c0f01168a063cef333e72bb6cde74c0cf3f177f8d22b054524abdb1af91e8a0f427a44edb71aac2e2af1a432647b189b45885a12a9876287f8b1c18aa15c341025ee0264940c500b18af209ba8e917c5303eb2337662179819f5e65b3c9455280e16fc10435deda82ad4907e9656e035e9149834d49978b221b +PT = +AAD = 5ed19da44364e546c3da3382d0c594167945c67e +CT = +Tag = a7b56dcad7975b84 + +Count = 7 +Key = 512777590a94cbd0a9f13b71ae8e615d +IV = 063998d933e427c3664ef5680beb102455b348f3d39e2431b585b86d3a8d6cf855057ddf5e0fbcf20f1ed0df10c56831f95825bdb3c42aab2eba42e841f9d37842794e998694651fe756ab6a92f4b6efbd6ab34d62edaba7321c4d24d57e44b6e4fef0e252439acda6a349a52305d251b064750cd3db76e608158e894f134e91 +PT = +AAD = 7b7422e2aded05b4d5e7aca8a7f4e03a1f9a06de +CT = +Tag = 05aacc634b850402 + +Count = 8 +Key = 99d6f34d078ea16f2bf8cb40d002171d +IV = 8da0eae7234ad0eef6bbc21727c86ee83db1d12e62ca05470770b17e6c8d57267b43581b1fdd377f58e1ccb9cdc6c12e07b4f27707d143fc6789960221f7eaef920172ca81fecf9739276f7159e8fa2141dbf75491c52b96ace2703cf3aee602424bf5e7dd3bd52d41531bc5261d4469ae22e302e62d1beb382cdecb8b7a5d9d +PT = +AAD = 97a4acab3a911ffc8e8aeefc4ce8e42133ebd2b8 +CT = +Tag = 904049c6a7ac3890 + +Count = 9 +Key = 73455ea0ce71dad08a44e1e80b2d45f4 +IV = 863274092c695ce9034f87f2f2c644ae09501cfa66cbc8d3979e2d60b20aee4b3c32a496f853415678ed2cd0003965aaac838a52614bdf01a84b33384cd31ed747502ad107beb1f629cced76f557b5800078632f619b278c467459839d546f95e17d7131ff02c3ea0206532d088ff187f24e3fa6b3724997be10bceb4e609f30 +PT = +AAD = 2cb1e77e06d3c19c99d9107f03766675a8e4bc1c +CT = +Tag = 8b404e65820916fb + +Count = 10 +Key = 96a02dd024320b155746497c8af92768 +IV = 95514a41c2cdf7a311021d7474a1b36c3f9522ee4efbeb9ed3785d77d886ed5ea9cb827d1caed7b080caab15493300e5dc4dc1ad2b6e68e9c69d6ffc1c33252f3379fde8f3d82ceea73fb8986ae645a97f79cbd46369f94ba97d2352bd7e3a607e1b410afdf3a4ed4c36e0928f7db43dffc57d589b9768a607a70c424259e587 +PT = +AAD = 6983581c441875fd0cdd886067044bf485463426 +CT = +Tag = 2538bceaefc901e3 + +Count = 11 +Key = d2a02967053e0cc20aa01332fb2a8df9 +IV = 93fccbcbbf99f19c902d9c9124b4cdf780ce658cab515d8491c5070c126b9053379aa5a247ad3dc82598f35ab140802670abec69ee04e42f7bb27a51e3daf0d63027227dc28e6e6e50c42e791731292cf8a484119c3d939cbbe001a1fc190976ff94dd0612d1f66edcb980ce3e8495ae7edce823c52dccc92bf169881349adaa +PT = +AAD = 2dc4503107397f71732e74c4962eac76fc3e5a98 +CT = +Tag = 06f6c269569eba3a + +Count = 12 +Key = 52a33cc9566405fd5e54a76404af163f +IV = 1cee8ef0862cae4463f2ab3ae6740a0f9d9a6a442cbba0698e08934f9983e142774d29025bbf8eadb2fc9aa43a09bf00012656fc9a76e2a2209428f5cdaff66f65e62869b0331c6ba5126f86b11947569236a73bedfd2f8ad7de5e330881cc1783647ec1a4a1def07df39131ec796354d67cbe21d6c7a8a373c5ab26df101dd5 +PT = +AAD = 1951694c418e27c7e97608a54926346c7f6816d6 +CT = +Tag = d935594716455ce3 + +Count = 13 +Key = 415de16142051f54d4409ffec6bb713d +IV = b0f89cca9d3c8fced6934a8f179081043c291ae3bf7b05267d3102dc21f881d1bcb4d97adc22049f38d446222d9358ab2f528bc8921a23cc1d9c0ef4a415be0fae2f6c2122d612f6a67b943860a0e6ab6601db4a6994989e70259da14f064d970bc6de23224fb77fbe8b82bdfcae519fd8757ea17737cb94d5d8465e40656489 +PT = +AAD = 2fff34fc9a460b7d4619909ef6b3c1604a74c53e +CT = +Tag = f981874a1aee1a0b + +Count = 14 +Key = 19c56ad1eb728625edfd99964f4b0c17 +IV = c2306694fdcf0d70f1c263d13135da61693ae5fdaaf0960166c48e7cec6ae7a271c11efa598828de139220ec7fd6562c5fe2f3e189de7fe380ee53968a492d30dcd54f850e9846a5e19e7a3bfa5e1c060d29948aee7ac80497a8414df2b99292c7b0b4571d71c00d22a7298fa64a8986c3549148a7cef579954726bf2c926d64 +PT = +AAD = 911d99a39e50a33bd8ff58982020fcb12b5f1b67 +CT = +Tag = 15fc304abe20a97b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 43418c4e1be242146b154f023e80b94c +IV = 8b04ca113a4a2f4f5779d049693ae66a0b45cbc9e9be7a54f2a6c51b9f4cb46776ed36b594e8a4728baa047190aad8d8aa33cd4505e998c53a5d5b7fec903b083edb958ff9d2420ec3059cf40f6a2383b3704f49d9299ec1f46fe95d55081bffad9ba87788d228237ea7106cd54316ea39ca0f380d14721f73aced813eec6a3b +PT = +AAD = e062abcc6c83950de12dada210db7fcc1312962b +CT = +Tag = db35b909 + +Count = 1 +Key = b815213a0d7f693ecac9c9d4a445ef59 +IV = 1ce1b628038c54f535af57a038680ca3bc12dd2ee8c5ced8d0b2d35a2a6bba0ce0db022f3ae648c350d18daecc420afc654dbbc491d5f3c8ad2d1cd3a5d16621c3ead9ee049e1639ca8238094b05d7694ddb7acd04507ecdba9ad8be730d801e042aa0b430c54b6a1591d80d6f22e951453df1bdb4e445d7ebeeab57df5f088a +PT = +AAD = 431b1b521fc6b8957f6364b07f0aebd417589d39 +CT = +Tag = 6bb2b538 + +Count = 2 +Key = 4dd363689f7b1c65157a173a77691443 +IV = 4b9d5fe253e7f6355838c72a3c99aa567dbf39c200956020603d3369e905a64393f7c1b8433c54c1768b966bc87919226c26302fd4daa9e3826d81c2e43d91c6cb4ad0fc0d7b7f4ad87d68bdd904fba073ee5f5aef7372a78a80531d05ce68308fc7ebece506fa4178d673536941d256e951a49efaf3e1923822bfccf191fc65 +PT = +AAD = 297f740b5b7363ed2a2e58cb98d831b9fbad02d6 +CT = +Tag = c979c5f6 + +Count = 3 +Key = 2971a3a7d6f7661cabf3dac330753cac +IV = dff2a23de76b52085ec8121a131931c3dad1ec233508c4b164c97df3b42107f3f096b9cdff5c4a0a026ce63ce9e1c64f3e0d395a2386bd7ae1c6c1f5966f58e02933108c56bdc833e5eea5ea3c595ff5b9c17a6cd953cb8e4588dc14566d03efc3cdc5755bb910e0dc33fd78263df44fa94cdbe709a7a23c2f51c796cfacd99f +PT = +AAD = d1283173e0dabfeabbcbde27395ac1215d329c70 +CT = +Tag = c7304ef4 + +Count = 4 +Key = b6cccc0e857394d94441b14f17706847 +IV = 2343eef1b1fd780b0630078bf46dc61573c1bdec45300f3c305190a84420c7a0911a6ca17643df945f723975fb1335cdebfc6c15a5588dcab3da970704db8b4f08d8337b71697ddd6f94ffe56ef4fd6635372626fba8a9188c4684bbd78ad58142ee898773d95fa2ab7e80484b34943b808dbc6ddef6fbe6510257b7fc9d5997 +PT = +AAD = 1dcedeb7720c74de3b86d633256764b5ca69c321 +CT = +Tag = 7b03ad4e + +Count = 5 +Key = b930a445bbaccb75f056224c5a0cc786 +IV = 0c38afb81c3470373e9efaecc3abc23efca9c7c7eefed797e9ed8527230b3f82fe344ced95e2b24f569fb7849a33b284c1733af508fbcdccf97d1cd59968f30b67026314764cf1ee311d52311ba88b6bde129061d037cba43a0b2a582df060bcea053882b560a82006c1954e1e61049f29381e62b87fe461e3363b0f55bfbf7f +PT = +AAD = d1fa6dcfcd5c5900bde03748b6e1eed7256b55f2 +CT = +Tag = 76e58ce2 + +Count = 6 +Key = e4adb2de90a796bc5e5e260acdf4d8f6 +IV = bc65581b6b679385292e030023f0d26bf5e5dc52ac7affc17b5fe55c8cc7bb9305ff5fe8aae145f41cc80e3d72f19196d88d227fcb6160dfc5d43a23f92642dd0df97a3fdc40037dafcda876ba6e9f5dc50279033f92d475f9082a805cfa127df06a9c11fa98bd71a09c0a3872bb3dc3b88c27e3eca1a9ac311a63d833f14161 +PT = +AAD = 58db072286b1fbfe020e5dfd37b819495cbd1d59 +CT = +Tag = f37b30b1 + +Count = 7 +Key = e6f9378762b8568bfc0d72f634917a2f +IV = 64f005e8dd4d46b25fa4236a070c49e6be3f6b3eb7644cad71d5aeb863f6699b92b7335f7bc70fd548fd2d9c3d03712c32c4992da92efbe01ccf7c05872bd0798d60611ceb1db98a378dbdc13d8b388fa1ee7e04dce6b1934d08940d988c21a838cfa17912cf064840b577de20f73aff8ce29c57fdabdb14b2012f214e97527e +PT = +AAD = 5e166a3a9e98ff44cc93a38d987930693ae6d4d9 +CT = +Tag = a9c013bd + +Count = 8 +Key = fdb3cf6ae41e0b6270f0f3316b050e48 +IV = 78dd053ba129de9881d2aabd0f52c558f744712d27dc7f983b394860fb14860b6d78b0c7055e291704b5bb91c47b97f07e06276a20a7c32ecee29bd1a0e0c96aa51cd511bdaa2ebeb61ff8f9e6b338fed0222c1cd7fb9368708fa12d0b38c737462d51ea0a5a92f63c105157361e321016dd3765d7883eda5f864d9dcfe066b0 +PT = +AAD = 59db579c271a871479473f7366b9a20dcc21eb5e +CT = +Tag = 5d1f93a2 + +Count = 9 +Key = cc3c479f85ddef80646d300bc3b92b46 +IV = 2594c822ba381b86bcfe41fd6d544591e2513bef907b890b4caa8d17f697eb65fc4c2a2b46af42737c790d0c45117671b1673d017b4a9e08edec918001ba21efb4bc88b6ce506fdf3b59e92cdd05485453c3a8de78a9c141f02e45b9e58c5d1e6447b3c3c5fceea21f45c4ff96143aad13ce8eb13f70f0ca169a005ed6f129fd +PT = +AAD = 203736bdf6e8b6534bfa6c1ac8095a8d623fc048 +CT = +Tag = ae480516 + +Count = 10 +Key = f544f793bf88af6172464c49cfff9f11 +IV = fe31f301a5d2c8e9377d43cd821524f178249663b93f365f5dc9cbf39f206736e8497bd73f7c5e67993663edbf40687c980bb48bf4723f2e6e038daf4dcb534a6579c62046e4db68403acb68a3da84f21d5a647fde3b91bd826c01ea19c7f03e873f27228e82054f7df3dfb5d2f32cc80e76fb174c08e73e21f62a103545c130 +PT = +AAD = 37184a07ef75b7018adfa727272e0850168f76f4 +CT = +Tag = 89f63bb9 + +Count = 11 +Key = b472e3997321c464fdf12ff45be4692c +IV = 1b72bb454442f4f5672843e8134a5700c95cc6230e6fa539e28180046b68d185b3b2be1a7122c7c095a651c5b23913917d78d81b074ad13848cb3dda92760640b539c62eec5be81a0659c9864dcc05e666dae95a1ffa1620fd5271a93e136e7f4580c3be964d8917b2f7fae1f73e81ebf8a3d59d4b8d68b0ed61f6c7fde054c0 +PT = +AAD = b63c746c10bbe8280ca55476f1dabcca76643230 +CT = +Tag = 0594aad5 + +Count = 12 +Key = 4d4fd5955f9bf5b8d9d3d2d5f1987b4a +IV = 5ccea51e11c8a9109192c0866eb7f57593ba5ade58d807baf8352b1684020fd0c34b6d03d9b79fd6bddc0f55759dfed4380c5d9d414eaf00a4e3e9316e60f1eb9f99fff3defe7d5de25774b1cf9ac6c0d2533b2d7b2a7dcba69743a4c06435bc3b3f820db0d32a322ad084b4abbe829286ce731157341f1ce9ba0b6cd2907a28 +PT = +AAD = d6173ba3481c79205c01693ffbe6677b19db2c84 +CT = +Tag = 3e074f7b + +Count = 13 +Key = e19e9a1026bccfa593c89b02865a7ce1 +IV = 183e90a343e2f6f03539bfea0f2830627e19cd4ec699764f5988419e8938e6de3d9e678fe8d0e2c7073bdef49fe2603467945e8bc3da930941cdaa15e7c25bcbb9650865a5ffc0fe4ae17b0fd3439facc51cef88bd45e2431503cd8da7ec84b0d75c4f228093b1c9367462c1c31c143fe9c4b1919cb12091abeb157735c6c6f2 +PT = +AAD = 09d9980fe6d6185e84aed253ba9f4d834b237fdf +CT = +Tag = ebae061c + +Count = 14 +Key = 3626ce4fc48de0c77945ebdd84011be4 +IV = e17726cfab8cee7814580484cc62225c54bca699484dc3382b05a2ac6414bb297f11d2339bce0d92b50dcc5f969b03860ce2beae2ce6f87079623b60b3623c4f85c467a233e19d3295e3139498ad3e7aa335a11590f3c96920d38378421792a855356447c93e8a612c84cc3486d8b5e2a83c3f379dd2e74ccbd271f281dd9e3a +PT = +AAD = 586d8ea9f72ba09266c90a3234fec9972daf5033 +CT = +Tag = 1488ad0c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 27e03057b4e9824613ae1d5f4159c1c5 +IV = 013104638cd54694ef2e411caa2e2977b932d9d8c990cf096e382c2d4c836956b0953a2098dc04feb9952f98cf4d0c972744688e48d95209fcdfd6210929b04503a8d78fa37ee40140f6227e46772dfc4f54b3f02c4af914d9163db47f8312d21f9c599b91d3f089739384a48bed771743c3d6fa2bc7cdc6631636611ccc8d73 +PT = +AAD = a2ccc7679f51803fc04f4b6c3f0074ce80491ff4cd929e10af867807770ff63af453302b1b028c59797c156f4db7b5dd +CT = +Tag = 8c33440597b3b19e768d0384f446538e + +Count = 1 +Key = fe57870926bb9615fd91219405f16e36 +IV = 4e65ac0ff52f80272f0a86f83ea83542999235ceda9be88a76617850659db1e270793897274e592571e36b4693eba2a9751f63de38e40ff61cb03e70bfc6f516419a56d6fde30e515326b49883e517a85d3b296077f155a60b5951db868047602c3c915ad64ac3702e3aac9633136c87780e0e3d5e5455ddea1737479793522d +PT = +AAD = f62129fcc71943566cb78ce51247a0adbc842127a8404944e3f907f38451587844e50cebf69f08290f9f2afa10ade46e +CT = +Tag = 7bfa2cfa0c1cbb5ee83f94323edce963 + +Count = 2 +Key = 640800f0e029606142a7981c276c2259 +IV = 3160b914bcf3852760cfbd7f5a299e9a6afd4e327f655bfa258fc20e1b41ebd0010bcdb4b71bd5da8fa63aeb211b824810c44032a5940e2ee976bd3d977b3a2f116074b09327eac7a7ebc081693ae6870c790641b71e25063a60c6bd7a741e24ec24fca66b91813135b4148c82c885d8089492970a5e91c479335727bb90ae52 +PT = +AAD = b7ef8aa83e14a71400485bfe34a9d2f4be9f2c5f13946d553500c19af6801b2d921497e5d1ff90719964cc893a95a3ed +CT = +Tag = 954a48368aae6c64614951f2ab5f5ef9 + +Count = 3 +Key = 774c313173140ec24fb877279233e849 +IV = d670ca71a233cbfbb24a0bf2d265b9aa716a91bca70594603837c84ef70c35d1755a2727b50c84fa1f06d3b827653dcee0de6b36781a5f9de163d39b372e62c9430d0f6eb439af7988502f4bab60b01ff4b87051a8acee4f95d5686a1e9164299dea4c7a17ce3f1b7867130e8df8255e7fd25cc88afb19ed34ec3688887caf69 +PT = +AAD = 08bedc054a42e24cc4231589e73879f1a6dc8be967ca4a735f52029ef76a483d2c4c865805e9db22d6ad1b7ebf369110 +CT = +Tag = 28035f35eb057305988cf25c6f2c140f + +Count = 4 +Key = 04364e5e83af35edf07dfd5c22f6d962 +IV = 67537b31d4e27e6a96bd91f95a6279292c507ea37c2a0d67c7306299297d9467da025a390267f30a612e28b7872647694477268a610798dbae7aeef65c0140a060c874a78d5a27713974d4492c7c3ef8d2d4182ce23d8b4832c4b1f92d4484062dbb1a0959724d181615be9bf3735fa1a412eb7e305abbb18caad87de09dea59 +PT = +AAD = 3c1b388b08cfd6b19643e564ccb235427bb15956851cced6da8eadd96b054712747cbda116315cc66af1f94523622f07 +CT = +Tag = 52ef142a13727877d62a26f9f5d0daea + +Count = 5 +Key = 77658f9c8ab726b234363efaec49594e +IV = b2c09b0b5ef3522f7bb419a6c65506fdf0475895a7f192e20ed332dba43a68db22e352f5ea2d28397b4e8e68a15a8e23bb419fb0af0e46187fd9bc1e12406fd7a9a750fe6361890eef351276aa7d4622a26f82a2aa9f18db4075fb67c354872c1f903e2838001d92a3c8ef52e67e33baefc97591256961be36df8f7cf9948bc7 +PT = +AAD = 143ddd571fd80c567522eeab78458dcde0b2fcdf1e59da8f8ee36994afcba6a42fc4b9e16c466e1acc92b2f6c2bc9279 +CT = +Tag = b7729de93f77daaff002efdc234758e4 + +Count = 6 +Key = baa37e6b8ace3162bc8049479baccb08 +IV = 7058128082d270e44f1cf1401fda20e40a1c1a24fac600cf05723ac19b06dcd7f217454164fd48cf53ff8d707d9eff36c1d8f187016c57ac68c0268d393155a1876f75e0f693fd6716d806c00a8c360c296415ce8474e9ac0966e20b8672ae86288c56af31e578d118a1ec8426420f90bf100becdcde2869c2b19b645ca2325d +PT = +AAD = 4a4304cf32fc9ed7a17cd39ce800ff20c19c281651876dc3264789bace0158372491cfcb62865fc43b4f01820978138e +CT = +Tag = 510d770a044ddf1d30c0461ead25daf7 + +Count = 7 +Key = dc9da8e74a222e18a9f2b920083f7f70 +IV = d0489a9c9cbb8819ace8dd6f3b2cd105815239f3e4cdf0c457bfb7d95d0e7def81bc0c0979ed3d1e73048e95b3d952b0de6e109b6c1580e762ed1695a135f2abf8a5531ef5b79691c5d1ea2c525a5a19df239fad046fa7ec02c25d8ba2e5163751725bcbc4ae51a0945d73b54c8dac7ffe25c7d318c0074c0f46c1db7e9e198a +PT = +AAD = f5f9e08bb9ec6058716d2acb5305de2ba67c26d9e420f99801163a65b508605c9059a2c15c834cf6d71229a05b77ebe6 +CT = +Tag = d3ad6a3f9211caa1a2c10ad169708f2e + +Count = 8 +Key = 931f7f50cf8a84cea1a85105fbeb5b96 +IV = 7e23f568ccbfa1812e1a6224f23107dc573e2d8eb455e716d35292f3a705f9c94fdf76c543389b752173657c0031f02d05926d8d3994c191a56421a2937b8bae30b8d47f47d5cce36f92e0f76c563fd28cf984a255e511d7d67bdf42c62a5e60e1a41f251a55479895138359f9cb11e10bf46aa6b3ab2bb1d4c7caeebdddb2a8 +PT = +AAD = fad7cea82416a9d781d8115ebf16768229e8adb693e832870f3978a2156015e380c7b0d1c72e8957963a236a4533011c +CT = +Tag = 3417d03674ba6600886772e8419f386c + +Count = 9 +Key = 3a79234186fa98f807a2620637a20d5b +IV = fc273612d38bcb59092d6de68c2f81b4bf63e76a51308313d11dbe6f683fc6ab122b6270981ce89fc37bd2e593599dfe2c1a4d26e60349b68885ec9387c6d240cffc00ae895a98755082b47300c65adff52e1bbdab865a53342e6807e91caa34aa87e50ec9e6d22f60593dec8b7243b0a994b44734594a1d5a1ed7d859b0d640 +PT = +AAD = a3dc5d81519b3502afc7942dd19c1df1d1e90843ae084b191672795dd5e2028ec9b587454fd66bfe1c4cf48968dc389e +CT = +Tag = e8f4a9ea8c044d80f6b67cbaac978541 + +Count = 10 +Key = 7e1b72f7e1ad45ed4ac924b0d7f940c2 +IV = edbb17172fcd2823de0a33b2069c5e48b85b8a1078564f9d24918ef60f0401ae3b7b1ae31892bb28277ef65b683769f6f230f0455398f5efc095be25e870039efb3ef9e8c68fc84a5adab565fb989d4ff940cc380d6652b4fcfd32c81ddb96c2aec00152d2e4d47adb95d3d6552d82fa445f981a11201127843cc865e6a26741 +PT = +AAD = 8651104a865ddc6a2dc2d9c002f2c081366829084235e5af80b41a21c835e4c32be420a4d11ae52ccad99fb835517ac4 +CT = +Tag = 78fb25d0aa442485eba376b50c9dd3e1 + +Count = 11 +Key = 24a92d3f74bd5c4d5263ca450e747fc8 +IV = 10c4cfc2b9791147fbcd886e88f40f069bac7b382b9125f003da6a781b67e7e15ecffa04d145d4b89d15575cde3969be78c0b2319b69649cee876b14934345474735672389e3d86890e6e659a1df14d26f01b5e3bd566ca1f3fbafcb1ae0b53b066f8a4de2912d198fe610eeb8e9daa84c27aa53b2807d7888e409fae2b3249a +PT = +AAD = 9ba3a94ec2fe89e59b8e046f112817d63faa251fc3fb7a7dac6684d6582e231e605fea90b3d1aafa0db3e5be45ec3ff0 +CT = +Tag = 1616575ffaf38380a6491f56165d043f + +Count = 12 +Key = 43b9f53fb682c3c459b1f8f83f8500e2 +IV = 60f7272ad65ad2e7ad21cd72268941d5943df57b572597ed47cd4e59d0847dfa3e55851cdb9c759561e770d4a03f02f9e9a22bab413f3dbc01fe95346cef575b1ec7a569a0b7af2ae6b4f366957ab15c958bc487687a93e8e67a1a47d6b236f72464496e4cf70e1e878ce49eeb9be00f4687a6c1b730be62dfa2905129d15fbe +PT = +AAD = 4cea9fe110be3196863bb0ea3aa4a10c5141594f9eb4bdbf178a2ce65ca2cc4b25a33f3845001ab4698099b9cd89a0b7 +CT = +Tag = 723320d2319551d6a140734007717407 + +Count = 13 +Key = 5c779632a859aa4e17af5949b844a577 +IV = 2d09956986ad86874ef7842d9b4acfacd6504bd75546b550b1edfb6f59ca342665882b9b0ed311999a865da0ad2d6ecc1854c369553066391c4b3bdc0ad5b41aeab261e32703fe99b969f16f44dfce53e0da7afbe2948c6f8575e268ce40e371a5c6d9b215b08414d2553f31e362a0a1f0b2c657a32a6d1e8e1670123b8a2fff +PT = +AAD = 6eca11ee44c7e80a8b02a9d9fbac062ba8271249094a8f52751358dc20dfe17f0f1dc46e5ab15513e87d5383ceaeeecb +CT = +Tag = 6998e5b1d85bbe630c595b0587251806 + +Count = 14 +Key = 20bf535ced3cbbb1aa6d4576ae4583ad +IV = 9c9f0ba26e8a410dbf33aaccd91f2d46ac828a569dc159506ad1b79cea612b35eadf80c1c63e7e897026e5a76cb326a4a1b994272e4b8ea29d0b200fc889aeb605d73cc6f9f7ffe0dc9fe7b8e946fe44cb1e1c032d2758141575c9f6aea5ea89cbcd21d6b2272af4725415dc0537914d3f2cb00b24fd2e6e7fad1504a9e82158 +PT = +AAD = 6679b7abaf04d1a3964ec0189e1a7e19c44381f7229dc5624052cf5a77397e085e3d1d281a248558836d1e94f6288608 +CT = +Tag = f52948fb841a13cfca54db7d0f8909e8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = b5ac03cec33223f3e9b6b2a280c8b7fc +IV = 6269d7a8d2d433c84fd44b7c3a1fe0baac4a49271fef0caca72513fa97c917844228bf99b5e0ca640add1fdbf183d4afb445e5935cdcd8e0e870f050a3e13a6d4893afc4e7a44541224fda8b292382c2c4789493856835b46fd4096c837a9c1428dd275a4ca63ec02825f9a3f4c5b911c03114861e0d0f3e81c91b6f859116d4 +PT = +AAD = 13284eaa4895c2fd6802d580c894e75731975dea245c0c7cfe291925dd4444cbc2d01e848b3a3472112b54e4ebf9490a +CT = +Tag = 60c4c9bff974096dcf7b269c85c42a + +Count = 1 +Key = f8fbc97f12f993aa3fae3e320501aced +IV = 6eb091d6ae843cf48dd896ba8cf5b1a48034901cdb42607a231e51e6bd52a67ff363529871d96d4ecf94c0561c84399347adeb1be85ff095373dcd9952d5c72730f6bf5ed32a73b4fba3f092c980c3f9856e2072603fd84881ad20e665778512d28b123edd527dc0a1bb25b5d08a44ca97dde9dd489ece09f22c4680c4319d72 +PT = +AAD = de9733fcb50439341c3cd611baa31d4909c7e2ceb1ffb3c1c7274222c7e0ade130acdba112c65a91304e0bcac3cf1c76 +CT = +Tag = 136624a3d74bb40fac1723924540a6 + +Count = 2 +Key = c952364c99c77b9bd73006f6493d2f61 +IV = 60a74efabd1577620587b851b08e250acca38d19774b544d686238b0337cf8d46d96970d08ec7d668814f8cd2c9bbab8e219b949c66072d09aab22de67692656a11d65840e0877492a6e81349bc439f50656a5e9efabe15c7183f375036baba2817d088f03138a4804394be72d10a7a4c381a2b207aae6c20ef2363e629d5a24 +PT = +AAD = 661418e2695b141457d9585dbcd78b4a45dbaba8f3c83d4881026762ac65f979ed961bab431b8f3e7a812eea3a9a0730 +CT = +Tag = 632f92bbde8a6e5a282be95c33f247 + +Count = 3 +Key = 2a0d9627497a8c263d09de7e354d0ca6 +IV = 97066052354589797342cf47613332004bd2b7c1c6159d246c68a2eee609ecb56544203a04d91b19aa8fc8d88e02277844a745a921b2409500b7c7c2aca85cfc0832a86673f1977277cc9ec4f4331c9d460cfcae4a0b72b568e435a2b4faac185fe0655c447f7cbfa8f3ae3f3da371a596f81ad3f1fe21c311ab871039651d6c +PT = +AAD = 9b728ee40ba06d328170b21957438fe8ccf721056f9bfb65d51f408a01e1a9e04511551583a5805dfc92c4be792c4adc +CT = +Tag = 490290ef2259f9be8a1445b9955729 + +Count = 4 +Key = 32b9e6418980069baed679b83ab18d14 +IV = 2dac9c827425b83f780c5c4eaeafb583c515d9f8bc9b7283321d48ab3416f82f6906114a0dc6781cbd41008f83cc4e6157a25eddf747e571b7047668e33e944d90827f489d273867fed9c71d2e15bd95f31618a72c635aabcadc7106258f47d591a41c49512649af8b02100ece1daa9511962e73b031bc43bc4783e87f2eb851 +PT = +AAD = ceea72f874c1dea4580e38a8af13b44ef3f10bfa903eb8c8757344be5262ca18f5959c3331d0c7ad927dc7a73a9b2499 +CT = +Tag = 159d53074f5f0972bd3ebe27d0e3e1 + +Count = 5 +Key = f0a721e6a2d087459dcf50f29b225f32 +IV = d89223e9ae2f48331151bcb5fc63d5c6cdb7697d49487d88a244db946df1cb40f60e8519fbc06f2eb2040d41dddb2da58219ac5c9489a3b4903bfc332d7f0b3a2fad5345de77baf2130172f2a3ca7bc11f3701a91d90ff7de9a3bc454086739162a0e4b9644ebd4a336ba88ac8a764dd93f59d66f77440cd7ebf4f95cb0bfe70 +PT = +AAD = 7d6957876e43934fde22ee7e43cb44d6c2d6cb5d7988cc98f280d0a356e7b0130529e56b32fcb88478af306e15049ff5 +CT = +Tag = cc2daa01aeaea3e270826e207373db + +Count = 6 +Key = 5dd3cc397e7d5fc4d54b79125826426c +IV = 30ae4f7735bf4ea213fbe3d681ddb621af301489865be26fa7e7f0fb7382146107cce91df3acfa1416c472a72f6582451fa581a2d21587cf8635a6beefd1b574204e0425288953b7b9a12fc02aa938f130d21c274eaf0abfd1a5bdc6d51c72f0f283dc49d2aac7d60dc36a46b70a5b61ef39057259b3c6657568e264a8535c0a +PT = +AAD = 8b83b737139f3f057a0ee61e00284642409a5a996e3d6d41e3885e6d2020e74ac22e8ce3a335d8501a2036b12ca9f7a0 +CT = +Tag = 6f571ed687c22ee91bd201b68b8ee3 + +Count = 7 +Key = fd36e0cfd15f5c4a74027c09bfc10c30 +IV = 78bfaf6449adb15d1d6f94cc8213c169a3b36ed76f4847ac869791970aac1ba318f7068eb72f0f95e491ed28e6c8770ac170b1759b654cf9b0cacddbb07f5eaa18ec4f5c2210dd354950f4aec6febd9d02f49103047bef5d4aa88172c2e90d5dd98c765a20d1137d7039343176c0f0a894571ef50d84967221806f09c2a22f03 +PT = +AAD = 65a14a75c156c2e6946304f06c40ff50cce1e3ba322eb18dcfadfdc93b932e995e14674c995f32e0476105e2c955f5ba +CT = +Tag = 26c7536f6ec1f769d0f0d3f4bce415 + +Count = 8 +Key = 8088b3d452f75077ee61999c60ea956f +IV = 04cff0b146096dc5f758d9c4bb5bf7c9274a1c924dc4f991d085e7fa8ee2b071cd656d7f11b01b1cdfb707c963f67a7ab3c7ec0c84ea0c23c63200242c893726562e03db22cf91d74106ea6003648cc5be8862fdd99faffadb581e721f638eb98e37d80bd04b92429c2197ab2246c94a06d8ea6d921a96ed540ae7f058bd560a +PT = +AAD = d810302a6b38bf683b4c0262e2ef0bf8d82fc0cdc966e6bc9b6c89afa47288d4d8645bcffdd1fbefcec4a68f44ea7df0 +CT = +Tag = 8c91ad0224f1851475b03361e37b81 + +Count = 9 +Key = 4da2785fcfdaa48c53ec9dee89dcdbb1 +IV = 058414471b54920b729a93e32ed6513c0a91d49182496d143f66c5c01f5b0aed71417b2adba44837aa48a883d10a967ae1743c553a0b6e5fd1d09bc6e13deb22c2478538c955a2adce699c20b5f2b7f4f9d66b542c0170caceb86d8b860921f73a8f2f265ede007f446f78ddf62cf4d64a8124fc4ba8d0a67b5341e926453c40 +PT = +AAD = 1056277903ded46a018c9b7e5eaf5c5ea9c27d3ba185358db3bc96fba1b4b6c71100829143ab12af17e1840420e71bc4 +CT = +Tag = 3b200b3c08f33ca8be1ca55ce8e4ac + +Count = 10 +Key = 4c08a46e3c6b49ca4bc8e0bc1a077f08 +IV = 567cb736e9975e53bd9cee8d2d154baafc986c6d20261151847715abe3a6faf88d2c8245db54c81f38b15229624e66b2d15c17d6a0ea932f808363adeeb9c03493aa4ab60d9d2e51c4d8379f1817b89d1a5df67293b312757511c7094dad27d28ec53e19f271b3f9389a8e95ffc4d3996e3418f28d8b272def2b991085dac239 +PT = +AAD = 9546d621e8dd3df00c84226e5dd86bf8614eeb0bbec7aec79424b6f6b4f3c44df2bdb820f491164d606703dcca34a11a +CT = +Tag = b9e9258d8d35164c1df4532cfaef2b + +Count = 11 +Key = b03ea32098b198a51d5adc80eacb0b2d +IV = 45a59c20456ae01706660a93f82d9d55afa6a45c4e5aa54bbc9ad572b430f4457f680f0eadafd653cebaa482050ae72ec435c498ae8c88fca1e60c362e71d846b22bb7392450515fbbc55786de5f134e98d9fb1f6f239afc709024c2d980046011cb73da0287baf101b3a69fc0ee4524e36521b26ad5ea0e335a3e43f0f58765 +PT = +AAD = 0b304d506a7481904892dbae2f2a015cd8de8559c49a2c20108633eea6fd649ed52ed0dd62d7fcd0c9b93eb4c0dcd107 +CT = +Tag = 5a3353b08f9f9edaf3bee391636551 + +Count = 12 +Key = a6a584b2f3e7ec04fb8bac96533929f0 +IV = 3635a232becdeaf94a471f73af39e4aeca6252c6f0f972aef4654e31bd95f6d7aca0c4afafa6c9699917e6c1946066b84e6fa332658e4701ead1f6ad37c9195958559c4529f18004343a65fb7f695c5379e062ff5ae01f04dc56196311b339616a2aae4f7e2a4e903842ab9e0681e3819f30f8a6d74cb17a1b3049b8d1e75195 +PT = +AAD = 4773be3919e46f3973b5cd96c7086c8198acc04a6555b0e6e137c7d489bf6a786e3d64b72a7478fc9a41e1e046c1a5af +CT = +Tag = c53512eed3902971461ded8d0d6d9c + +Count = 13 +Key = 45658a7462a2f46c44b411024f27b087 +IV = e21210413fd214e2847523cac66479160136e4c26f918aed9564ecd6ff5f5fc960b508ee893f0a4c26af2dd738df3e8b9271796c8a2d061d3819e39c5af6de55b27626402c0e6504cb1c77f34d7893dd6676720928bf57da28a1b15e56702b0f1905294c44bdb6a501dbc6a0c6093bf8e26fb4c370d8892899df13a79bf50803 +PT = +AAD = d9de14e1574cb39ecbda964e5ba4f84fc82f0b5106dea5bf7e8b0c87d4cbb4eb97c538c832ffa4050a53f254e402d718 +CT = +Tag = 60ca35915f9a41b8e3fd79c34849fd + +Count = 14 +Key = 0d0b8f3bf0562afb450c4855286cc2da +IV = 99b2b08a792f40edb181856188387c2614a20660e20f0f566bdfd10162ab29dc8d4848871c1be779011ec0e84b3ea0a1fbd402458ea53c9adc9d0e3e9ef2f0012bcb1d5b36ecc33a0e56a02ee8dd4ffd2031c16551a0a3a866248232a410a0c7c789b0b688087a5df4c0a32a685e3d2f0aee28079e8faadced5c59d80371ba0e +PT = +AAD = 55b8f9273f638fb84ad1ff1ed30b1595bcc2c91fb259078074aa330df3e5611a82c9abe092266c715c0a7456bf5d0bee +CT = +Tag = 2b8b94e9f51ad4816aac90763c5e87 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 8d06bed41844c9522d252098244e4381 +IV = b1a1dc553e571d68537ff95badcfe86d8be01a7077e089b46c824156a80dcaa4683a0d31ed28589214611ee81e6ad544ebc874f8a72099948d3f34fa453f8ea52498a9bb469d41c2e081c011e3da9ed193946ee1440cdf27250ce2431ad1444e322980b04b53e3195821e4865ec74664dcafba910a4114b5d470bf99a4b349cf +PT = +AAD = adf79c70baa2113997204234b6bbb246c974df8ac004fcd551f0d9c7bf45782bd5679905b1720800ba01bf0877fd719b +CT = +Tag = 3c3f648ad9557e5a0db0ba41feda + +Count = 1 +Key = 003065f5e90766deee6a57b2ac4ebd7e +IV = e858c18c7892aa1b11875fed03a6a5040d74bf486375f1ea48a7b02ccf7b43ee42155384f0b376dfffe3604fdc2811ef5bcb4477ddb05027b047acd2107beece85da65641e8d212943b3e77201898ba0561815b4de3f2d46cc072913924a1da0aee665bc72ce47c264e9aa99fc09459032f2b31a47efa89594ccd6762766679b +PT = +AAD = f246d6c8f2a5abfce7b4b5a6d4103dbc970a628c46a3bb247146ded679fef371f545e4b362454634248d51942605d66d +CT = +Tag = 5b8fe021e3d716a5083f300f98f3 + +Count = 2 +Key = e67e6b9a80c99ff93516ec92084ac2ba +IV = af03ab5941bd75f6932b4b006bf569357a58baa512359098c3569f6abc4240b57ff95be4a46f973f017adcca8fd9403d082a1b2f65ce44853b931c0d5dd0bf56ec572b1dea3a5fccaee41ae0cedbe04e45e75d0bafc59ff21af16e0c7c7474fa8eaa17f799d13e67ee67116724016b05d02f2fed32a2b16f6e478d7747de62b7 +PT = +AAD = baacc02fbc30fbf0901f2dda1eb5fb0ef08ee33a3cc300a2996a955d5fd10c481d7f8833bb341094cdd5594ea4476467 +CT = +Tag = d7337f8717acfee342de3b81848e + +Count = 3 +Key = bb81e634c34567b839a13f7ea2c83fdc +IV = 56430eff13db2f7ecc59e5cd7396ee166b26401338b96d6d038ebe875bd29c283f38f6c6cd84fbb48a3a0720327181ced66c8eec45b51bdfa92326b1ba1efb2e3d1fd2824aed965024c6bb42eb960ce96f7e138424e8b1d74ea7e8f607ca9f078a66ee307eae59f8a3bc750e0348d6ac384b05f956d7789841ea004bf6bc5297 +PT = +AAD = 4bc97c02b5cc16d76c3b1c1e18396601dbde7a85f132da6f7ffdbec891d96ecd09866f1e2d794dc791a8273712bd4e9d +CT = +Tag = a250703dcbe7480570db52900c5b + +Count = 4 +Key = ced5e93937715cbe48a900fe770b0190 +IV = d048c91e8e86e86d5d989122e175bff13ec0a254fa75330e0e2676869fc9f2d5568a16f096f8ed34119681ed34233a61a713bb0c4c5fa79302cde1d6d0961b001060d2e2bb6c32adf82187301cd820024470ac74f972c5f4003e6264caa803a7a27686309154ede61380479eee0525715206c43e5932ec9afeb3a433268e9850 +PT = +AAD = 650ecabea8ec2270279b3d970add422d2393b99f49def740e0f8bc86e41ba7387ecdb1e74d3bb0edac1c9d857b4e5c2b +CT = +Tag = aeefba4340b3245d0d2628b6897e + +Count = 5 +Key = aa1f37d4a55118b9e751f00c053120ea +IV = 76740cb2cad98e0aa2f347b3659435407c11e6cf4117280a1a0c03ec49f1c23a4ced621a0c800f3474465d94ea953fbd30eff0d0a463a4a81f1b6ff9c58839a62c7efe61540c045c42ffe1b9c3573bd4dcd37a3dd4abaa58a6c59d2d12271b49032560ff54e0a3ecb263dfedd1fd8a03104210b159f854840568ae3d186fbd5b +PT = +AAD = 937cf91c09006ca06fda6492124a8200e0682c73b0fd50c8536f049beedd9663ab52c22bd5378ddf5ef2a8c9216747b1 +CT = +Tag = defddc8f478906c66da172508ba9 + +Count = 6 +Key = aa72cc00a055193b5da015cd846ceebf +IV = 54ce8568c9b0d77cc5b942a31ed512d31e448d03f9bca1ecfcd33259204996a014f0ea911dd63de7f91a62ef2d28799032c829d396ed69500e3ee70f1af1e8d61fccfff55fd549af6b2be870faa0159c7b0aeb80158415764246fcdbd74f5f9072894ca81e0a8caa5c9a566b8e2cf9edf3cb14e08854233f7e00f6a7cf40598c +PT = +AAD = 905396fae301c31dbafa3aae28a34363ba88259da4a33266c5ffdc73cd647cfb9f8e6a0500421e89d8062ddf301f55c1 +CT = +Tag = ec99f95c80d33c84241f8d416bd6 + +Count = 7 +Key = 8beb1162268fe1867b550f161c1874f6 +IV = 89f610a70672de79d0f37530db2f00e300a387c7e309afdde30ea15d4f2d75d5dfbbdf7984e6f0d1eef8043a3e483823ef43a4abb1e0adffcf047f6f8fa44d289e71e631958a88663eed8c8e5314f6fe1ffa7ab61b3dd4ccca830aa22c0e3224920748c57d66c61b4baeb8fa1d5a3848530f81f1651730e6d595f5e1517d6ae5 +PT = +AAD = bcf200dba73f435f8fd8a8471b2e2ea3a97b417d5685aa673cc9122f60df79bf296ce6a94f9c84eb8b099eb3541d0767 +CT = +Tag = 91da520b336b87b252d04bd22e54 + +Count = 8 +Key = f2f8f69b5b6cfa2df69b246373792431 +IV = 2a0addfe8e1fed340d487249c296b9836ff7a5165aab794d693c3f5f9af2fd6f056514e5bc97edc66fa737b314cb6c9fbb08298722212a8d3a673db53d9507ce52261c3d79ff1d76fa9a80b7acaf2db0461ced119d94e9914e8b33fc76a9d57108531497f5389b91eec07a0689faa36e04af899cd0be669b3a4a7ef36914c1d3 +PT = +AAD = 34bd24692bf1cd0846850741427fa33b325e550a955fca4813c624eebad48bb374f5d61355c8ae96bac5de3baf022003 +CT = +Tag = cc6dea567c069077a96ed18ff3c6 + +Count = 9 +Key = da1cccb48ec47f1179996a77e97ca312 +IV = 05f4c98c28609741f1faded79e8d53c19e5e8c3ffb9069d33e328da978656f344105adfc9ef70c3acaf04b968ffd6ce9959dac3f5605e264cb0fb944687180bbe95fc67e165daec7563e7d8a040ec42e56872f89e87a4b92d619ac463c71d65886992cccb8168836cfee01d2a5f2425e7a44e07134acb5adbbfc073b0ece74dc +PT = +AAD = e543078951a07f6e9d802dea7878f5c9936d5e63e584a04ad091a651e507d616dad808a47a2314ec0c4b039547e330b2 +CT = +Tag = 6ff34b259b7767a98308f35a8774 + +Count = 10 +Key = 8e582c81b72e39a9bf03c8ed0154b585 +IV = 41a5426b449570cbd56512f7351ea16d833d8244d846abbfa716f948c577a869ce8fb0af6751e62578ce5f68269775039f4327d20138e935bdcc3bf184391dbfe4c1d77cdf8d27062e4438476ba45613a491ea9be4e3ff447e5ac75f5a936ad0416e665918b1b95204c4d5c4261b5550b34b7cca404398d4e0d8dbc72764c2b1 +PT = +AAD = d23ef05243b8838ad143dff56a5a8e6ee622f93b640b1c2b70c2f45c234d5cc4c756545f99d134443e20a555c4425e42 +CT = +Tag = 0a09baeeddb8f2372a4440b58647 + +Count = 11 +Key = ba39d4dfb985390cd0df938c9d9b055d +IV = c921550f7dc85c346f4829f90b542e54c33afb22d5dbb66783f59b67762fd930169a76df2303f2e92f3b6ed97d8c5f0f0d0e70c6820f9e32d6e3ad4547a937d0507eb80a91885369ea7af5a47afe7d018e620f8c466eb9504c010d61f57ca2863abdaa3fff3f5e120394133c72c2b085ab49ae83ac2ee673981bde0478efcea5 +PT = +AAD = 27a3e1fbba6da60f1a54ad984ffe4920a0f76cc5bb0e95cce3a4043d295dff504bb90c911b50b09879a180a0f68c26d5 +CT = +Tag = afb250d74f1e12a456c83cc17263 + +Count = 12 +Key = 73d0a27c47f73881b96d751a0e9cb4a1 +IV = 48daa3020dd8f3a08567488e268ed4a02c2c6bb4b6bb02bb4fa27189263562bb73671335d4be626121ea7e0d72f44299786e9bb9b167f63db1c91b75162612c1b10b96cc955915dd277bae2dff44d09a7d1f2bf913357297592e239bf82baf793af15c08a17179f89a1cf388f4d5b80dc1381d9abd005f3d023878e45b486fee +PT = +AAD = dfe552a2f95e7f5a22f7070635abd54ebdacd776d299a5d51b174f82df2a6e6b189bb20f860e2b238bbc81a2f2966409 +CT = +Tag = bbffb408a35730bdb54354062b8f + +Count = 13 +Key = a22ae8a190e16bfc2868474e64a8479c +IV = f0d89deaae419e5dcca9398336084e0175860f5f4ec13f10503581b5513da18bed3892f54eea2d57ec238d57dce7c2b0929a80f63eb2aacaaaa3b2e8da3fc845cdd11423b0a000b468dc3ce65ee2b410042ea97398bdf64bd663af598db14a5e7798627402324e55d38959b1619b45130d922b01a75f08c1c57a914369dfab63 +PT = +AAD = b76e6c71630a4925c2a5e752e37a235e4b4abd1814f55859b71e9ff111ed157634ed0d6c8392313ede8c0089b03eb32a +CT = +Tag = 130a41aa141d051c4ca86ecb47fd + +Count = 14 +Key = 67e713aee543ecb0e0dd2c7ca5e75939 +IV = 05afe2507d05c42b7e3de7419dadf55801a0021870d7f4a60eb311fba5a9f015bd1366f16dc443d27c8c55d73047efcb4311eac954cf9fc00e527d603be0fdba1b730eb473f97fc070ca732b08da658a0fe52d61b58fd54a3c93d64f5ea2a645632286ce8fff8518dd47c1905315ac65566d500b4e1d23aa02e3decb32142d5a +PT = +AAD = b2cf70ed3dd8422af151ccf7582f4e722c432ab741289345c3dbf3acc3fde5500b02aa9e8f7b4d0147ffc6735776654b +CT = +Tag = 260224f521e42994636d0fcdea10 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 3d31fe006678aa2454d480fc2f231dd1 +IV = c184067f6fa000cd46d7893255a86d82e1287c3dd3d6b0d9be42bda153291392240e17f66b3557254b143f8276f2ee843bfe015fb0e2d19d90628fc00c4b9d88314d0e8cb82e72a994f49a97ffe1101358a2ba55f6134bbc263f8239a80d21082b551e955b82198af56100f1f2bce05b3a5ce749aa2d1e7f456a1a890b61da65 +PT = +AAD = b9f585cf42444030cdf2cf1dd6a36a38ffdbd18f35caa602da1e7cd6aa6747c9fe92edf3453134a547f113b669f44bb1 +CT = +Tag = a3e78d4d2c5d070f05c7f9184e + +Count = 1 +Key = 00b9d34cede9063fd9382fdb1fd1b523 +IV = 28d521da19f950aae1524daee160bdf3229bc763088fb7c851056b4fa3bb736deeabc132582a4cc9d66c108dfbc459b892ffa8049014880a8791dc836baf57be4ff55af8c2a6850cb0d7e2c34e4763696ce4f7984da37b7849ec7ae2104a21cb4293ae8e0c288a8a63a05ae90368a19a68de66dae02150df45a4d48ba7eafb1c +PT = +AAD = d13fa09ca989af9118ff46a35760c2e12bbec26fd7f2528e9af8cb8da172dabc98c9ffe94a9f0a86de06d33f4c6fef63 +CT = +Tag = c820d281fdb8798d7323bbab83 + +Count = 2 +Key = 36e22a496ce372de1969f3e275ec4137 +IV = 5be1674995fafb52f12904abff205a5a2906c6bb67d13050b1cfeb32cc114629457ae22225a7157c1ee600c56de07200993348862d177da7fdefa5387713ec3327f5e53fc9d562913edcc38f3be537abd34c6d19fc77c0205e955a43c43d3e1d8bf36b131384e82ac6d27612b8e1f270f3b4a1a93a18433c06f58596e94ac071 +PT = +AAD = 57b61829e9d30dd0303adaeaf645bb6e1eeda191b73eae81c5cd26897414b9407ca1d9ae9034c4f5a3e84855d98ce0a0 +CT = +Tag = 8881694740e2de002c44145dd0 + +Count = 3 +Key = 7540ee5ac39094d5136bea2804aeffcd +IV = c15ee17babfb214603cc3f4320b849c41a159ac1e6235edd7bbbca1b62658355f16b0ea07a2c20b455a9de5e7e6c5021232a1bfd278679219989dcaf3b5065aedaafbcf2dcf2fff1d11c4a6a8401b9cc84af08a829da86afadb95009eeb4272190b9af459fc57697d4e769cadd47a37da59c70cc6c37d06aa5c7ef02045052f6 +PT = +AAD = d8b926f398ecc241797be4a62ba55ba46a2502d050790c03a1d3fb65ca1eae9a0f04a98d9a74773595070763332777c7 +CT = +Tag = 0a74fb8d0a6df96a35ab9d562c + +Count = 4 +Key = 8c444e8686e84dd2998d42922a3c81ee +IV = f8b85290f6d3583ee400860b39c38d0e2b140ad3fdcda6c0d39f9f258ecb37e3c57e0d4283424ffa6b40d3f5ac9cfdb5aa8d0aa7cadb719e0b2311994b8041abb5d73af07e371be27c26b8eba6dcde916bd07f54e434ba5073729582a5f4894e845236c1578eb74f9677ec3386ebe80724d6390bf8e559b483932d6030b79458 +PT = +AAD = e887fe93c8507ef0819e1effc00c0635f6e1d4055c5a3146532f540b33dc20d4bebf6d1282a6795d3563ca3cfddcd487 +CT = +Tag = d83d13277f880cf6709f80452e + +Count = 5 +Key = 565a453ac5b50a608bfb6dd5e01d58ad +IV = e0d8a25e8cd8cdb3cae6e67b4929af0803698448e003bebbf94fc7d58ff7545456a9f1347e34a21a5355a294e34c01aa5218e6a5e878f051d75064d719d8dfb73534c2c099d1fe917d0a966472f89910e279b6737a3b3af09bab19515e185664d192455652daf0c96c4a8e44bd9d3ee5809e76e9639932e4318b5e4f688d906f +PT = +AAD = 3e9d8328fa678839dfebb3bf45f999e986b1851feb3e4a7815f0a0505da2fe2cb98ae2f36ea43c506eff353d121d5727 +CT = +Tag = 60e5292e3aee2d194cba12cb1b + +Count = 6 +Key = a2cea6d8782b5e6d10fa524103bc1321 +IV = 147120db96ac8b7ced7c8b3009134461a4bff625b769092294c39c78c1f1a6ffcae09955a794a8155c978fd23072e39146e67d31fbbfee14c66698b39e1c9f81788ed81c7398a6d73743ee6e680fb1ecffdde306e381ff45db2d3ae6fa6a24d549d3345e0a17f57ba110fb333ee473774333e2d226860db5f6f57f84f726b85d +PT = +AAD = 45b15491d76ce11c471d7f72ca1fa43f4f04d691b78ee0a4b2ed3f15c4971fc2d925428618f9db9e097bc2357171e897 +CT = +Tag = 326e8b641e8706a8e84a46e714 + +Count = 7 +Key = 1e452a39ea5273bafa17569a4958b447 +IV = 61fd2b394e57aab688a2316e3f2a507255d645f2f408b8dee3fff8b5b24792c16a5729a526e226af12695779c12de37ebac2b6ffe8cc87da4e1591fc5eda184f848bd0087223efcc6f1ae9cbb5db7b0ad4688fc0e9bbb74afb8fb4b57f042829fbffa26d25823565fbd65ef18d829f781ed08f1009a296126f1bb310eee39ad8 +PT = +AAD = 2956a6b073612e5c70db42c1fea1fd9de771ce0d548d5d4b0a726da4bcaeefbd4776bdf03f6bd25f25d9c46181910aef +CT = +Tag = e939d72245a50bb10a45c320c7 + +Count = 8 +Key = a2c2384b90c233c59552966d30b36249 +IV = 319b802cb49d82f04bce8939879b196b7a9cc2ccd6884a0a78718fecca826d954bee854b4ee35852d0e5682ef2e05759e74b933892dcc91fec1e9e210eeb4ae10d39f65bd5ec21436927d7790e4ae530f485a3ba81bc851d41ae3ba8c47d21dafbe6060c637bd5fff0442818bb67998de6d253816053585566d91a31c8e4725e +PT = +AAD = 95daf35ed342549db50f522cc470001951331a2b539e50c641f616e0ea2733e329b1a66dabb13019ff1c349178a589da +CT = +Tag = 5a87e1e8a8b484386b64390acb + +Count = 9 +Key = 99e9c2c900ec0d127fdef90513054411 +IV = 1d37286773da7b3c3b8aa9a60cf5649b21eb4732418e4227f6382472917037e14b1ca7f9ebf42c2d3f161d3d0047869b15f1702333b3c697e1254cba5aaba884a025216158fa2dfde2168245b4798f32544189f0ad9e6ea70fcf73a3e1cf964ad24f6e85a8c5d0f119ee951735b81ffe46385f5334977a100e15256acf3027a4 +PT = +AAD = 14911d0b349528f393475e9aa903cc241d3757d333b9e84c32d9b7092d486cda416c09145268b18d53902d8fe284258b +CT = +Tag = 97667eee1eb27067f22772c298 + +Count = 10 +Key = f721db337202d87dedc4b5d9149da9e3 +IV = fdcc280065938ab16d2fbb5c5131d649e1a0d8c59fdb98861e9ae0b0b7c836b4e024703b6d99aca4c4ba66ffe7de9251a1edc07e28168a3c759c29133d8c09464332f537397e773b036b6eb1666831a71aa25b7cf57906f55f0bcc1f437898b2c7304247e2bed5faff20eef5f794d46bcc06cc5fb00c20bf133c124652f3009d +PT = +AAD = 5b4a93bfeb2084099e04bed0ddd5cb36897e73d87d3886a963bd1000fdeef1871e5b74c0bcb99491ded66629e04257bf +CT = +Tag = 5b8cf3c38f65c0e803628c291c + +Count = 11 +Key = 8eececde972807caf9a118ab2bef8bdd +IV = 924329c302d53ffd5d9b4c6bcdabc9b5b590a071a095c046c11678d9603cce6f45f0576536bc27d4c13449ef88417ccd050630b2399e49453fea96ffed509788d940ba95d3906b4dc7f5a2572d40f0d81636fab55d1a56c22683cda22c9f41a3830cbeaa5fa368b9c65e1861e4a3ff0290ca2ceba2431cfccce658c9ef87f163 +PT = +AAD = 7c84a2d25e5be536a581b0802fc9b6a3d2e10703150dfc742b120f04cc6aefadaf0f80c3dac9719e714b9cfbd5a252ec +CT = +Tag = 4ea520d1879c831603a0774e45 + +Count = 12 +Key = b6b9e14b8f32af871bef1a09fc7a3822 +IV = 3ee520d8875b209251ba4ec796183b561456a3f4733c9a5f6f4249f9313d278530d9040bbf2c15a4bae252ade387af25f566f0f1e718b6ae2c1356bb612634cfc89cfdb5c90a932e0fb4db1ce39b03bc564201699a899cc8d910966545a2f689e0aba712cfd4d7c15359b117807be370bd3d209ae4012024bd7c8565adb5a93f +PT = +AAD = 06e1e684f3ca7b61d3bf526aa3d65afe98229730a4eb64c2443448e931e6790c3aac938e6ce6fc187542a315c77f3f47 +CT = +Tag = 5ed405ad2971567c6da614fc88 + +Count = 13 +Key = d2035b394515d931088c0b38f2ffda6e +IV = 273d5c334beb3e4a1ab35291fe17afa92e83e67400fe5e411c637ff299bde1d312e39e6a1073d50b21735e56135cb22bd2189e148d6a69c70d26927eb75f114585f8776fea675e42fd8effb0a2d36c4cf7949a5df227ffd6d8c091dbfec31878184bc705290a538799a41bedfecb8983a2d854ac4de57d43106a355248124cf2 +PT = +AAD = f7561b3ba72ff2a311d39d2058d4088018051406de6048865dd3ecfa0188fc9969a9c50f6c5768be930032e50ea955bb +CT = +Tag = 10bb33d331e0cbd3399bbdf649 + +Count = 14 +Key = 0287edcbb8b116dd62498f5a4d67d726 +IV = 2a912963cb63d81bf127f1d333bf45aedee3898b703acdd1d80accb63b6337a1e41ce90fa2339d03f05da9a7b04f8774e914f732e37f4ed675a1c276a54403030853e69cd00085ebadac5dbefdd9ab5a5f99d9b736afd0e016ce87ab8edfb8c47d30c1b05ba5301d1f83e2a902b21cfdad26142d818cac0acbfcf0c472637fb0 +PT = +AAD = fe3f1989b22f4233cd51f781eb5dbe6e4b266a52dfa4f61fb578d8db218a5549dfe5337296ec6f1560ff5b6c6dad4ccd +CT = +Tag = 9b2030740e91ff232ba7bb5110 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 3cce72d37933394a8cac8a82deada8f0 +IV = aa2f0d676d705d9733c434e481972d4888129cf7ea55c66511b9c0d25a92a174b1e28aa072f27d4de82302828955aadcb817c4907361869bd657b45ff4a6f323871987fcf9413b0702d46667380cd493ed24331a28b9ce5bbfa82d3a6e7679fcce81254ba64abcad14fd18b22c560a9d2c1cd1d3c42dac44c683edf92aced894 +PT = +AAD = 5686b458e9c176f4de8428d9ebd8e12f569d1c7595cf49a4b0654ab194409f86c0dd3fdb8eb18033bb4338c70f0b97d1 +CT = +Tag = a3a9444b21f330c3df64c8b6 + +Count = 1 +Key = fa07344e4a566e8d146d278914d8ea82 +IV = e3c86e3d31865cffacd27b3d8caa11f0d24bb18fa65ccd483dafb8d5b1c5d99b3dba0b40dbc243b3f410ed45405947b4f143e765d3a4f859b3d695f99bd5f12d87a5fd446c43462cd7210bccbe6c510dcdf519c7d486194c1534ad002858ee8e63042c03e0f800995e8e1ab15ad3796e1e2516c2000401a3629633158b8dabc7 +PT = +AAD = 4b34182a6154b6ec8fffc9d3f7f4cfba8ac310f2d534154ca916a0b0f9ad134b38da622635531538da32f42a462aadd6 +CT = +Tag = 82c87f83d501567503067d86 + +Count = 2 +Key = c0101c7bee5256fef6e4ab5ab0e50e78 +IV = ae80869d12e8c35dc0b7f8a57b0cc40ac63dbd710f27ee10a6ee01a5b6f6af4f0de15fc77276ac5a7b776c2fd21a6351e183a58fafddc349e08930a38c46fe5eb6d2c02c60c39ccc0b495a1802a290f4f6f59ae4c4e774a54c29c85b094dc79b169f9d691134d0a7f5fead2c11c97c8351ad6e2ecf1ffd7a4c1d528f67e0776f +PT = +AAD = 127e5067270371737baf010397fe50dddc40ad0fb3231024c6d633f3147a6c2b30d4f0047db53e44c587db13cdb4dc54 +CT = +Tag = ab9d859042277f1157bac8d9 + +Count = 3 +Key = b0b3ae6caafa6f7cf3839e1f66189fd9 +IV = df4eeb6f318d3039b04f2271b3f871f733e6da08967c339d2285d56ee34fc3a3f092a36cac94c079d6d51448b024651d8ba8d62c14df914060a39a0080f7d94b49b1ecdef8108b17515132f647693a0cf6287cefe986c74f9c73463b06d9e984e768a66fba0985d8112c1cafd3a483de0f77a464e7e3b0f22cb564b3e73fddb3 +PT = +AAD = 4420f3db38fb13afef4690e22cba10de3cfe3bd493003befdc86fb19f7969c3e46ed5aba6d5483db00f5f746bba675c8 +CT = +Tag = b6014a8fe24d311331a10c85 + +Count = 4 +Key = c801d9e7151efaf2a0eec1ff76eb93a4 +IV = 8081c21ea347d9820851befd780c866ed48551c9f48515206286584a52516281d93fb366673214b272aca97d9aa8e67eaf02bff66cc1129fa22392d96ad9f2c48cecea31411ffbb85d3e16bfdfc0c527f84705a54143b8a1e37cd60145662e698d2361fc225b6ef4efd2b55ddf942d08de8d56b2b1a6d677c94ba2cf9d68d625 +PT = +AAD = 6cc3e8c90b256caaf5b06e2f94860251d0a97ca64a9824043f26a46cace22513bd9f1fb7d5f0e30b27692b665b402c7e +CT = +Tag = 8ccc8f5987f5cc36b36d6ada + +Count = 5 +Key = 549f652a12c096127f30d89dfa69dc00 +IV = 9ea7d944d06926fcc54ce8f8594398e535d358c57afb48a478c1e0a156e4d203409aa52a89f82c4f9223fc0bc1db9a6b2a871ef5f3e4589d4ef6bdec90fe92d18b66e5e710ffbb06097614acb4dcfe3fe16f50efcf34cba292f1f88e18cba62ee2e3b22e160b2e7e53109afa46f154f9f2eb86682e97452c97e08a17139f2831 +PT = +AAD = eb9d2010869453115a860263ff0d4155b4dd7c79624df15447e3fa59319a5ff8d04b9f870351cd1d8e9a538d217590ef +CT = +Tag = 3dfbc62c9fb641d2ab69fa00 + +Count = 6 +Key = 7151f35db5899851a9b7c1ea52b9c8d5 +IV = 9408e9214ba70ef264722ef25936e2bdd0f6d97ac15eae27072cc4afe3ea1d8c6b754f8d3e5afd4e10aa2cd51faa03bb90ee73e08c362d2b297116556f50edaf376d7bb22e7ba5c56f49e84a3038f8c5ae8e2b6c528e31e16b0a17c491b0b1d05cf85ba604ce25b23bba5f0a6f36eb143a6968d161605752ec5deae72bc7de1d +PT = +AAD = f2f0bff5edb707c73d3db16fc78efaeaef3faf41efcfdc2179346fa4429fc477faa41c8a399e35c11e2ef33dcace2292 +CT = +Tag = bfcd5e024c176afa28e860d3 + +Count = 7 +Key = 69d79d2e914b0e58809a5264d3844428 +IV = 7c8a998479aa2162a511375b964455660ed6e5860359fdb8d1d786fea14719d2463b37c89ea33b8cb81a1ab925f4c17580f99f817dad177488c6c72254862383b56039bdd451714b5e10aff11e0a2c2475a070c436d1d5bf88f1a033e08bec73df1352659b1d79c1aa72c2be8aaaa00ce328525c7b3a6d73905e99d0be859f7c +PT = +AAD = 489dcc6c713f7b8c776b6fed62af1c95bc3e6d6060f893c2837586e1517537edb03858c1f887e8b6cee6a0c26a909f39 +CT = +Tag = 6614e708af706c200bcd8324 + +Count = 8 +Key = 46e9869504ba791207bc0efa52a2874a +IV = 4cf438c9667e43792ba8281f4cb5c7926eb97256e863b2ac3be9453f0137e21b6e47bd461ed95814b03e46781451c0c5eb1023e99db536412b36ea25cf7fc2775b30e73f9fb16bb55e7cee9b795b183404f2c0301a4d3e08d4191c1c40647b4b82aee824b356579a22aa971fc7e724c13f2f6dce6cdc18edbda0665348c789d7 +PT = +AAD = 69da46a081beba69a9013be7bc10cc81ff2a7d937e6f43ee9cd491ada09288d210201e4f0229f7db62515806e883ca71 +CT = +Tag = daddb16845a15a1369bfd3cc + +Count = 9 +Key = b4893cafae1120f0897a28b20292332c +IV = cd74c30fcb79cd10d685abd6654effb6268d2fd88146eeafd83962f15cbf12b27eb36669f2abfc5b53c0432b3137788193f8a81f7a37b78431df61670592b32f7d666ef263006a7dc886365a7a0e2d4dde649ee5b93c30f1916973b438f3a5952c6d3f2973410695258c1bbe7a275b2f233f883e1f3936bcf91e72d55aecd0a2 +PT = +AAD = e2cd682cc343bc24a506f2c53bd36d4170cbc20635c78d9f2863a008ef025b390b7406b1af086cec0beb3b46f7af50a9 +CT = +Tag = 0ea908571f9b5e577c219c42 + +Count = 10 +Key = dbb45696ba1295897fb9ada49a1cce1d +IV = 4ed79a6d63eb512c59f77fd664d3176d5268e9b9a7ddf09aaaff451b0df615df6d8a3728dc49064ccf1f2ffaffd034dea81ed1af70f11dfcf6cfe1250e66ba4a9048b4707ff7bcd74e86d8e0d1eeb39596ffb5cde6e8f02c9724433cb2fc22541945d3a89857c5c45f5369f7b2a7d653f8b61ea5f5e8f741b8c41bf84ae956d2 +PT = +AAD = 1f0cdff4d83fa5a012e51fcb3da32673f656f617d04ce0fa93f3f98df688a96236362520d794a74cb492080fd8f9c83f +CT = +Tag = 7e3b5a87d4240b5f418a251a + +Count = 11 +Key = 4fa7ab07034f48570a14c161aa8fce23 +IV = 94f9b12516fa93ccf5b3f10ce0b407ebfe49dfae537989c30ab95c2687ae6a1b5b91b2b22d1d827fa140d051d053e8eea782c10d188e324708e1e26a587147c962298e9e47bc018cc2fb396cd899026ca54f92518cc8216640a1457ee00d84548c20e6bdfb6b7d503a0c116e8a9dba8226c38144c2f93f3c831987d6fd3362a7 +PT = +AAD = a2957faeeb0b6f7db06cc245d10d204df4f9a086c39d34d2ce50bfa774761d4a099dfcac67a818230672e4a4bb9395cf +CT = +Tag = 3129d4b56b972ba41b59999e + +Count = 12 +Key = 80b0d2c9b55700a9fef95e477968f16b +IV = b8de43349fb23d5d2cca06ef1a8bf8c22069a5c6c126d05fc25f2ddda7cbdb3f843a7ce89b35675d49ab02ac386fe1304d23109a71124dda343b3c09c2b8f357bafb2284651f5d5054ea28628c7e19d8415ea00a9f425ad52187d725db652db63d63c8627a61ee2c7e718d4c04aade38bbbce74d413927cd26e3b4758956f1df +PT = +AAD = 5b1b60d59e56f66eae920001f0fde82669f16faf0e2dbc82a182158020ca92adb796604bd94881c867970b31f74baf6f +CT = +Tag = 1d20a0d2654d43418eae3ad7 + +Count = 13 +Key = 20c4491cffdecdce5707e68f985f2298 +IV = d2e674cf0b73f44bc128376cf3c4e7d299a6d76b6450e7f10f0081eeedb29b7756ae51a929230eb8e7fd570ae7e4c86ef32d7d7d9495f1028df95f2df00c8642db1142056f92b4ffc248e1012620ac4037b7c90726902ce04f0054834803ce1714887df7554adb0dd8c2bf7b4434ba9d781f4804f1eb49509fb68cfbc37a88a6 +PT = +AAD = 0561a4f8e754e5ebf659641ed67c6f816ba90673eee58124225236ca29d4fc6d30b61fb8fe665b042edeaf07c3263699 +CT = +Tag = 33bcd13673c7aac8a8476ede + +Count = 14 +Key = 633afa260b4c406ce160e4430a326063 +IV = 03eec7170e6ec54a867432f8a2e1a4539b0918f3b11599eb9c119402f390428e277a8514834d1e8c7808673bdf5aba047d41d52389dfdc4779008af5f4e49904f64e89a3a8905df9b56c67aed0859a75b135c8fcffc9f484aac2d00b09670fd2a69af854c267555d81dc979eb0e2a2c1c8ceada912243b76290b2bb7d6eb9348 +PT = +AAD = f6f41d3aa3d7a4bfe7cc748cc6510a5ed6a1bd35ee7d6534a1db7251ab6945a89969f5ff36b244058d2a06f3edfda9d7 +CT = +Tag = c643850f11c8036036e2d848 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 6989a429f653827e554919cab760432e +IV = 82dc0df72a5616ec484ab0751505fd21aaa2685029a238efd46997a2db08fdb3f518c30d141f95fc93f95ad9d9bcc977c1147121ae472df1a84a6c4b35c5de1bfacffd72dfb9bfb1009373a5b647dbb2bf709e068e9ee1b888dbfe3b64cf8c7908caa576122bf5d6b2e57556344c6491b5c06b8ac22042a88f9d48cd02675ced +PT = +AAD = c079c22428474329f001bc2b469ed452a2bc0b76187e4444866247a0e2f6a7125b3164e39691f8040ab5e69d86063faf +CT = +Tag = aa93304a0c6cfc64 + +Count = 1 +Key = 9dcecec1213ccceae43ac49157704223 +IV = a8939fefb8359cf34b97ed8bd3753034be2355e7c2714bd9de0420c0f869df0cd556be3a16eddfcb1e4a99626029059089a95d1f7836d74ea420b40b275edfa614cf59128909dbabf1f1ece6e0da4ea895efc31c492f6f135efd31fccca182a84ca68ece6e897aea378a114f3ff67118bba2096f5fb817c328addee5aac99891 +PT = +AAD = e9a75ea8cc6a353c663955d2f1120c35f9d539f54c2d8a8e594e52506a867ad9348722ea2fd985db5bef7bf6b7b9b08f +CT = +Tag = de751eb915d8bf08 + +Count = 2 +Key = 8594d590a707cf9655fb834789d38f20 +IV = 61e41cbd56381450ae16a82b74d42d718662501965768d059d09a7fddff3078441705e609d6bb75146c86f6e1c64aec7e253a8dc101009c84973544e4679c7513d985481472549aacb770981308b76ebfc9d6b798f8155f91d9b7291e6df0040ef97499c66a356fae132f7022d4cadb34863941f1ad900aaa3760d7273cef7bd +PT = +AAD = b33c731b383ce42934a371c5abc52814508b0515047759b97b135d65b7f3720f4432f2872aa7f65146e397402bd1bdbf +CT = +Tag = 4b4d7cbb79885700 + +Count = 3 +Key = 86c9c76a6549756daf04d4a9da2be8d6 +IV = f945f7c4a836bd7413f07d136803db2c7d77143ea84d711cb00d532243c63551c14d1c9bd308975fe585278fa242a8708d5133df9ac275dc7b88de423dad79eb18e3ec56a825526d252b5edfb10b2b808b3fc6a62c1aeddec8da4cfc963cf3ed2890672a00ee540b87380aeef49771638ab09cbc2ccb4997911ffa2bbd2c7ea2 +PT = +AAD = 0affd8191e68f37930e856db4c879ce40ec7f465d7397169cdd2594b12938367c9541fa96923a04c86d787546d57ce29 +CT = +Tag = c134fd25a58eb1ad + +Count = 4 +Key = df4edc5225da0e87f90b6e34d04d77f9 +IV = e60639788ec9adace933e5878e3bbf53e2cb16a089ff7caa5fced118067eccd8f588e427f480c0c75af1a975aea5cb35468e9df59574a2ee45ba7d6cd5755a218ae6e37fbed2a76ea9927fdd8602ead851e0b11798df0577f4ab69f0b0e456d33f5c5c895fb73711c27d14641e60b76978214963f73b954582c8d5690824c184 +PT = +AAD = 0d6908537e11f92981e38f4efea5298734818ac3412d45d44759c751f9ed359a213ecfe17f80733247902fc82b8baa0d +CT = +Tag = 534bb18012173d8c + +Count = 5 +Key = 2a19e064f3f287f936348a136d289dd2 +IV = a0e63d11b0bbc10b6374a74cf0f1d5a137d8505aef33455e16f3991902ef69460bd92b1c6b5190377765d0f58427951e1e0206126bfe3b2288051ed48ea51b73cdedcedb68875a3c68d790ca5c9e91f4b7915e9550834ad483efc8ca2d18847f9ffabd5397cb7f185943e54f0b67ea6ae3db1421db847d505243a415349ec591 +PT = +AAD = fe7ad4fa9caf64e825117392eb910a82178f9c9ae53aede986d02e9f34984ac3a43db5cd983fdd57682490bfe8a20311 +CT = +Tag = 948c67e11010daa3 + +Count = 6 +Key = 1fbd06a92102a837a21c1a961e59643e +IV = 7217710ef03b14f1f9406d862bc7a3458ffffd5827b3da5567ba1cf6528d3e764271ccc46fbaed9fae07d04300e5dbb28565e92b5f4c711e30b1398bc9b60190f90acbf42c7e59ce44e1e71fd23a3811a2f485ead2d57053115cfd68ec3359ce3b370dfc77d381ccda49a82588b681235552652e5c43989349d159d284000ebf +PT = +AAD = d55974ffa7cfd7f54784ef3abae67473a381136ecc6b04d7c5ab4236d50322d99a4f2754ad2441e804dc707317def656 +CT = +Tag = 6a163f423d5acf9b + +Count = 7 +Key = 178fabfac723d324cc306888fb0b3360 +IV = 9b02acaad01053a09c0876a8910694bb6030a244881b5e7903becc7001e2a82dc3c3bc44450070ea8dc0a975e4d048feb1c725ba71c6056ca6d871bbf1f7712e35e8aba963c8cf892d5135b7926525143816acb7f3502b1bc38a1f9daa7c39b1cdefd4b3dc96af57f53a4ac764f47561e7296e62566a770ef5e3bc00711d3f48 +PT = +AAD = 35a5004381730efea245a6e81a95e65ef021fa1ad0ed1ce4f61cf857e0f1c65a2b345404a656ae5a91022561406b5e9d +CT = +Tag = e9e3c351c6bd07c2 + +Count = 8 +Key = f3aed798aae061138c6cf1f522acedee +IV = 0aed1ac6714fb400c67e106d6c4f1602285d599e6aed657ed7706e289b911808ac8cfb8f9f94f5020192b98cb797af3e12eb485b54b7dd69047baff3307af6021425bbb84ee78f0e660d610a4f27c762e8e5078e13dceb2b332fdb8592ac9117fc16ec8569c1292a2443f906a3879a87ef09515d36a23854d9cded0fd16d8939 +PT = +AAD = e3dda2d7e2afde9bc0151078eb11db68e7c3b1008a183c985bbe50f75084e7b7a1a7fbcb0886a5b0d00e7ae0dcfc2d5b +CT = +Tag = ecf3785d47d26119 + +Count = 9 +Key = 05e4572343a03b0ee53d70024bffa9ab +IV = ce981abc027c2cddc8a54c07ab6a1c8f26c6a3dc27264c4e69291729aea49cb68848a824f24ac36ebe97394633db348fc91a06aab734d4a791be5a785850cb3d34d10cf36d5d40b2eaa01dbe87e0761984288d9fcc6d4048bc137676bc822b7694e78785de48e2d16ebcc531d52837fd73d09cd85710f4e216c644b44dad2f10 +PT = +AAD = 1d55aaa85397944404e59618224c7d6094aa1279768ec3db01185603cd2eb28d232df65f5198bca32f8cac3555979572 +CT = +Tag = ba39d275803a3d7b + +Count = 10 +Key = 4f545db1d92d3cd4fda41ffcc48b9afb +IV = bc44445ee23cd0182b62d2291595d4fab043f996f75ad30aca282742b89835270ed1e9c199d6aed3bb2bae70c743367f23bf3a02e99edd10a6e5743d6818e200655291f02604b207d601203ea857545b43aee00228a31b50880487504719a4745eb13035e116c572b19ef6e520b5f18d826f92cfd61d621343ccdcf4a8687a6a +PT = +AAD = 3810d2f10c806e81e1debb78270f480fcef3887d5fbb24aaad92cee2a3ea7c81369702dca7d506a8bc5da4a92a9bb715 +CT = +Tag = c5ce774755f43229 + +Count = 11 +Key = 76f53b4e6d987861cd358416ca7fffe3 +IV = 9dfdf7bb3ffb4ef327edc73f44fe9f24077a64b3a9d03b767c0cb015abb6e03bb1bdc899db63b3fa76e4dcd1d8058763d2fb3791af0a409a4cc1d5314116f60675da23f1fa194afc4cf94dae8c272ac336b738a02d5b76970acc7236fee5e19a54ceed54e71a43dedff798b4842c1c203df71c49c2bb78f1e86b27745ce34a67 +PT = +AAD = fd6f9266ff04992de249e4d86d1b8bc0538f07b97990f5ac5e779d9276ffcbec3485346e45bc506d667ec97f75f7d8a8 +CT = +Tag = a2f0f7a4c6607963 + +Count = 12 +Key = 80166edf0dd734f86f53f6bb03a27de1 +IV = 97ebac916e6eb2f19fb98c65589a7469a9f87be7e47306db570a1f0011c8af1ca412f196a6b0c64333b5d9057ac4dac1dcc8f517bb0ba532e3f278cc7ddb0fecf96e9a389d41eb56637af65e6614357e5abe9f94093d11280cc06b133aa12cbbfc68cbd93012800e7b69003e8a8b566090b9bf0f6ce8ad5de7c51d751d4b08f4 +PT = +AAD = a2e39924d8718c6808154d5c178df458a19d9c6a843e07529aebe4f3d3751d34209a4f995fd282ca96b1dc7b52b2d541 +CT = +Tag = ad828b6a49238ae7 + +Count = 13 +Key = ff8a719cec43042b5007b0fa2a6d6f28 +IV = 4aa5c26933c25f47c1d5050d7c80755c985f7cc6c82a8b811bc29319d059eaae7988da82f3d0dd115dbcc8862786446bfbadaa0ed29490838f166fd1c4585978a1d42bdf579ec4bbdd28370a55ed5ba9d00402deffd373238197cf5d9b60cfa78c0c8db02c51c426284504de586a88b27e3ce899b6076d961b0098106e43028a +PT = +AAD = 5e8a2c2996d87dd0970f592aeffc72592a553cad7a3ea793101d222f6630c694a08aa9433f3322642574953f3de06cd2 +CT = +Tag = f40fc49acc358465 + +Count = 14 +Key = eb7a2d4d89e58a5f3e1a0e8e090a20fa +IV = be0686e39b8444b91e903e78833b7857c30465d1e91187ed36d781ae88376cdf61a1845b978897df844dca2e01b21761698114b0bb14c0bd7423fff6eebc53afde7488393fe34498b0b9b77d43214f2171ff61d4fb8c7bfb8f0a40eb86a2de0c052c6c4f2ed9935a54079f1f2ea2a0bcb3bf8b1589ae9ee005ac460b9784cff6 +PT = +AAD = 8c59179fe4b2308c3b70d9e242d8d9a4d745e868d3a07333b73923c90b1c7d0eb871fd720baa4c9a995d6ab79387dfc2 +CT = +Tag = 5e78e4380d7081f1 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = b6cfd03783e3e192b6f31c001fcfd333 +IV = dfc4bd8e29ba1bf76e50a22cd8b767cf95f04a0fc664c945b14a42bd25f70cf13ffb8697f8839e3511dc128ab65adb24d69afc264556b39d70f9664dff9aed3ec36622cf0bdf85935fd072c054939f1d648b9128ae9282780aea0193f9c5ac59cf602f75e90226a62ca8dc0254f3ba1c5bfe02c97a536be99ab381b8ad9bbed0 +PT = +AAD = 7d3fae57c789102a103c65c08f7dfe9df6dbf2f40fa26e1672f8a5fea1c911acd820f90f3c9603f7ae5f8f24dcebbb79 +CT = +Tag = cca73a01 + +Count = 1 +Key = 1780a6aa94148e911d6ea2fdb5b8aafe +IV = 64a9dcb4e4b74ab626f543fe679abd97af6766506e491f5ae383d8c57729315a9447bca00efea06bedb49e04dabb015b25eee6968c30a13ab8944231bdec5773939efc8459de90ef377253701b1ec9a485d9df61d25ea7c6594ef99b5e651cc2a8ea27cf5e1d0faf21d8190b6dff2a5fd1f4e9fee89f7ce9dc5b1e285992d983 +PT = +AAD = cca93b84415e2c8347903d5d025488d48d4d4181f9acda28caa3bb179ab67656a07a9b70baa9f1ddd267fae82ff077b5 +CT = +Tag = d31235e0 + +Count = 2 +Key = ed518a15b6393a91ed8ac71efd80fa5a +IV = 0d5a3ad92d1cfdeb81111ad874f0a98106b11b7230bce601ffa42f407639cc819caba682a871403de7baad4fbcb3131884be875c320699bce25ddd807759e8a4a6d97791003fd22ccda5dde3d7e7e43f747643c9143ae50c2983a2946ef7bb6488b03005c56af82ee40cf6ef1b48423cea5e222a1ddb3aafd8b762aed97db5cd +PT = +AAD = b4a37c2bd86e7f954aa4051aa57aa803b5c872d44cfae9a62b803a2a24bc678c89d3fc01eb5dfcf929b0b4bbe55eea08 +CT = +Tag = 69be508e + +Count = 3 +Key = be24841b6342e6cd57d8980c91ef5d2d +IV = b3c2759c5dd51c8758caa2197c68ca2671341769183510cd76fa903a9a136c7a8a3037480bc76d23dff9be610bd50c43979ef7d7ea159b9c128bf370c4ce70a35ab40e04b7129bc8b46e0c917e6a731b08eb6feaae072c01e4bb246b8fa2a958f24df8be44089ebbcf548d1a89532323b27489bc8399834369d5242ddc2267cb +PT = +AAD = 38664292b3115b737b22ac04343c215c28344935f264023841063d26a8bc1672c2957ca29b5a5a7af4fe4a43ea8ae14b +CT = +Tag = 460ab366 + +Count = 4 +Key = 42c08612e2b8a3318bd458af97056274 +IV = 956226bbb7e0de8501551a6fc26ce047ea57f2516c24b761c73dca901333dfb5e3fbe54b77b9829b06d695a39228bbfbb9e22cabb161c54c997c0daf9482f20933488458a351b7d270d3373d6aef2b3df1daa0e9e0dc7d4ba826c911323036ea36a5f523feaefecaffc1fd0c82a9c075a089dc194c9819334ddad46aff180d1c +PT = +AAD = a9d2788156f2f3f392d247784ad8ae972d2f299ae274404429ac32d6fc280e8c305a40d32aaa56c39d3fe4eee5e8f43f +CT = +Tag = 2f28e9f5 + +Count = 5 +Key = c4c9bd66192dae46ba4fe562a39d3965 +IV = afd1899c8522e175546bebe56327ea8165697d39c45943064f723c778a890e990b24ef5d1d10ef7b2104a6f4561264a91a3da35ec209dfd9fd81eccb56571e63083a34af8f7f2c74ca241c98b6f03aec3b48e0d9f86270db5d084029794b9faaf1a6570b556551ec3cc3410944908a57c4e109453616c52a160e8f2b66b9ba9c +PT = +AAD = 3b16dcf845ab791c51c2eded6d597725b9ee5d3e87b0a27ac9c33a2ce55ad654dd6de8969fa4d418f35ea6fc9103831d +CT = +Tag = 4fa39db5 + +Count = 6 +Key = 22e26326435c18d5d275a49bcf051316 +IV = 70c933039b0afb28b7b294ce701950f8d67e46da1f93cb198f9ebf5b6332ef496231476fd18a99f7d52dc4548c197191edfc1a609f6be5173981531f3c4a428fb02b2384b6cc94d6f11e43d4af3f8f7b66cc91d4c1d3db10a3222627fdc27a062a2f6673b1fd10baf07ca20340ca21f89e97075a097b0c76de1a77af161b7977 +PT = +AAD = 199854d6be7eaca4eeed496a3b4057799e6bffa90744083b62efbeaf8e4c1da4e677ddd260e896f45d7d58fb2538a6ed +CT = +Tag = 436c5aa8 + +Count = 7 +Key = 7424e904dd2d8c0c91aad8ad226bbadd +IV = e4bf8059a7166e70020f176a82d3c2b40b096d594669a72dc296c9d9b555bdb3a359e40a033ec7c38da66431715b71da1b602e752025d0b918edab0019c920cb1ba4f3bd6152169128073896c58c2580e510a71c4f275bbe18fc13137689194761b7813bb170f89f6fc5be0bdf93360877411c0c274481bb1699fa975eb0fc5b +PT = +AAD = 8dbae01bfed10898c65ce07d7d9a5f37aab3c6d2d6f927e4cefdf87e71d19a44858cd0d676fa58edd7033e23388cb07b +CT = +Tag = d0d86e3b + +Count = 8 +Key = 56c776bfef8414f91356fab12ec79c7d +IV = 2e81584cbccf7e49d1d52d79d812f180e5d568b470c8ecba670ceafba539133776b8f58065093245ee017a63b3617f6e3d4216017702a45bf84a0683857e6fe67a3469b153fff4952eb972d16c9d412dd58bf0f95fe2596d2f05569d5cd1a3fe283fcbdde30bb6824363585d654306722d27f892724bfa811fa4f90e2b3b23ae +PT = +AAD = 301c1fc9c501cfa4347238efb047f3e26203745030b2f599fffa0f95fdc84629c8e4d576716b45d55334079ef8ee95d0 +CT = +Tag = 786aea7d + +Count = 9 +Key = 0957e3d0131a0fc6f69ce2e56e424ba8 +IV = 60dcaa7385d49856b5a4c0bd2d2035ea683ff0719d5cbe20010ab812bb455877343af0da973edc8ae26fde4338792f8420f299913137e29b64f7f7ff10f5f0684fb84ca40723a0f7b9fb7e3290f0581c10b7a913ca432424c2653a515426569c9b638f126487f9b9a8a0bb4d838092f457d0c676261843be477bdc513462c76d +PT = +AAD = 060ae070687e071c0c406fa467c1cf3d991beebed34481e6f2cd91428f9acdb15dbe2593280b4b19348a1b2006cf2a49 +CT = +Tag = c023b005 + +Count = 10 +Key = bb92746024ac868bda2f95b9c4578f7d +IV = d8b48c652f50cc41eeb2cba72cce03e38053cebfb1d17edd97dd9c0674ffc5fe257f508c9ecf9b3648caef7b7ed74ed2535a6a5a04b685dfeb16bd51eced068c749dea4a9acdaf2469913ff262abcc3222ff0c9abddc07425330edd976223dda330214676556b3874ad9a07bf41c1d213bfd694c4378099527b0d42682d3ec4d +PT = +AAD = 96703ad34cbf5481cf5ef36e4627c40c61744983970ce5a3cf273c4efeec625fb036c965bb11427f56a2930791749913 +CT = +Tag = 45358c4b + +Count = 11 +Key = ce2fa412428f06befe336df624dfc46a +IV = 3a87f713a1878a6b2cccc18ff4512a82b27d85bfba01e82a0e8e80de203824bf9619db8e8bb6036a17ecd7135c11b0eda043fefd1016a0f662017ccf4ba7bcdf7308d3a6c68d68da33a2d87583bed7eb86d3192b7d1f8e1c229c89e1507f929898103660065fe2c148e457fff15a483265fbc8c5f048a504f214f6ebe428182b +PT = +AAD = c5292a19fe089bedd9fb1c8dbb55f906849736023144d16994e0c4c5fb34f7cf55a2fde4abfc4b8d3b1dfedc7a0c7b65 +CT = +Tag = 956f1947 + +Count = 12 +Key = 1495ba55ae174810ceb79edda4bab939 +IV = 98a1845c491e74787c41ce43c569639113f75c95df7ca71c962318862f73fd249bb1550bd84aad0945b9ef81b962bfba68152caad132f3555c5e56cd9e4a8a45c5a4d0e9628b4c865e23cb17675a4e35574cdc1da853c900deb9c79cc65ec6d6e35d23edfb03420ff846426eb48a5c3f8c5a4589df8e6b4d55fcb19f2024e90d +PT = +AAD = e868b7402a0a31ad253b71a602b14bbe7c2cd92be7c1b023960c2776bf8b152da04052a7fd9124a357145eeeea2662c6 +CT = +Tag = cdbecdbd + +Count = 13 +Key = 39d4755ffdc06d2fad636e4c54fcc5a9 +IV = 80523e3aa51372fa3fabae4e8909e797298779acf62213bf0946c2bc8b495413d45b148d894f521751c32bc2622b5b50d7d40770bafa994bdc4d7cc6cccc80570f7e712c377d1d9d839ce1ee479693d4281a63724e3d48582eb26601d4cacf76077a378b5a3ef042567ef49ec4ad756eab36201d347e8f80b2f5832195bc539c +PT = +AAD = 3972242bc1d804b25edc04da40353c1fa6fcbc5c5938d0b43a42b6043dd923bd9d3e3679b71764f58c9bbfbcd72028bb +CT = +Tag = 6b78b73c + +Count = 14 +Key = 7f9abb28a496d3cbb7df906db060af80 +IV = d993e486b22d67ed88abbdaea613b0da87a1ed9f0f444a1e3aaf73f322e1b6342405631286dea05ff5f952696a23157a2cb9d75ebb216373f512d050b647c579df03e5022184cd1a6924551aeb4565d5dafa3dfbe209ce33c432ef1796bfe2aa34480d47a6bdbb2fd0cc30786fa778885aa246e052cfb78daad1b91f64361863 +PT = +AAD = 615b001550629564640e4999d5b07db59e05bbb0aa6e70b980dc07e6051f1aac8099ab7efc8738f8ba64fccfcaf605b4 +CT = +Tag = c4b3967e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 67debc1559c528df51728174d31798a5 +IV = 34777c1e5b8f9041069efea4654b59019669c5de0eab8944dbaa0cf3dec64348cd5c98c17dd93ba51b495c0fc0776b0ff37cbbe667bddde5b241158c113b6311eafe9314e33acdc7ba9014e1ce2aa99af75593e2dfdf00513e1cec83341fd27c437723d52fa191caf526fa926cf95ecdc0a26691744a5ea97e06d276f6ad8bf2 +PT = +AAD = 8d34d688111eb7e13f3b03ef1fb81b9441a7f6622a004e13965366c951a0152ab62c394504b2f3889c745d7676f8641f490f6c15445ef0f9b9ca7479da9ae9d35c581936fa400d28f828f1f08eb8187a5ef16734885a4a4d42e7 +CT = +Tag = 3c125dad456ab0a5830fba027690c68b + +Count = 1 +Key = 72a8998427aeef22855631bad2f4ef35 +IV = 6eb5effb95b901369e9813f78d00b0e84e6dca7082c93e59ce0a3aaa0250c5690eba3be464b06eea105f031f4de607eeb236a562c6b92ba2d9b70faad30e5d9b9d623fe48040d26805560915fe3d3742341e5504da195f5d73f57f0c5f5f035c1236050b5baef6bb391ec332be526069fc9d9339e09942eda2b90f1a4a0c153c +PT = +AAD = e74208fe7b5f3a58e8928583ee00a59b57f9cc0dc47dcfe30133611f870d0e5ad6b43684b85be855051d11d74bfa79f8f0e71e40e310bf590d85abe62d8f71d8a55d6cb0630cd820ea8049c03931dcedfcb170694e87256808e9 +CT = +Tag = 84bf1eabae6b99f3216c97aa82f80504 + +Count = 2 +Key = 0f3b17deae621364554ae539db09de11 +IV = a7f6074cda561cd2aa15ba8c2fa63942593e7ccf45c29a57dad8a6e2ea6354ce8ade39ddde4ac45bbdc663f0a537c94818235a73d8a08bd898abd099e15c088c6e21175af4e9a499701282ed328150a6d990e8ec8785ce261be1b83fd8591e57765f3dc1113fd02a40f5016ad0d0edc4929a02e017b2c5f418d296abd6c2ea2e +PT = +AAD = 2b63266429674ab5e2eaff639c2314662f92574b298f577acf7d6f991a87921fc232eafcc7b1464896632d6c8abe88c2cca404dbf87c206a19d373ed9950173469134d7c14c2847df24a88c1c53b4de49db366392b6dc651276e +CT = +Tag = ffb0bb6dfc2358754f1778485b59657f + +Count = 3 +Key = 3fa19ff81916c6dfb18a94ccab2bbb41 +IV = 10af1bc18d22c9565adf6e3a14e6d76220bd756943f056b8ef2c44cfdf6dab0277db7543d8fafba4ebd1d04764bd025a7c7743b3015d77188ad5b48aa5559ba6468ea0d197578fc4b4597df1c50570ef5086582685d8aca015d8ab83ab69694e376c7e1701eb7e5dc7345a657dd61cecefc3f551c8328ee817b750a2cedaca42 +PT = +AAD = d18684f098ef8361262521af18fc4e996e4dd537a8c63a3137a079915760b618b69a6cc4a3599bcf99ff5f77625c39407f9412d5d075fbea80dcbafe782800b583267fefc56f613713cee8118bd7848a79aa229b25e2bf288f9e +CT = +Tag = 21c4efc2785a1fe7e25d79625bdacc1b + +Count = 4 +Key = ade8e017abb7a8f93af27dd72cc599b3 +IV = 251237056406e57d99bb45b84cffdada91e9b5da0fc4dbe8fd8279a0616dd412bb6ad6da84218531a8db4676090ccb0667ed76d5396234342677495a9ee2cb1a199d5f990d74e54919f0229d9855f03096f20c86a0f8fac5007e99566b02dfd97970baec94e31cb2e7fec09d8660c24d0d734770448731d807d5dd1627244fc7 +PT = +AAD = bdc596a70802604f1f495fa37bbfe915a80669d45421fee2d18e4515fd342db4b780afaf243b51addfb219167b7993aa478c4340232c6da35f91050b7379587a353bde89ead0dcf6be671d2c1d0f13771c632031cdbc2ad9df14 +CT = +Tag = 7262aca429caf4e418de9b87b7d477fd + +Count = 5 +Key = 04f55b04cee0eaa11aa8a17fa7cc58ae +IV = d7fdb36fa8ce0b5d6af2c82146bb714baf4a95160095e262343c9fe6e3c839f3353c78957092d3098df50b50dc0058b923377f7e99e60cbe4a1d49e8462dc8d7d4cd9817f640f4d128f22737ec96e5cd2362b1ef3f320b96643c6ec7dc34def2d55d06623739513a55a6898a9a39979bae912fcc5c3b6eb8cfb620c30686ed2c +PT = +AAD = 4bdb9be50a45ed18bdfb1f870e6093285d6f09ff7200b8003f69675698925f64f6cd3e889bcd5064d187393999529ec9750b4e082210dde6c47e80d01baa7747bc4eeb27d0fd9d8787d153a06f5ef8e841c13181b64b11cf498c +CT = +Tag = 8e623fd1e1b6f04272b75fdedd56f09d + +Count = 6 +Key = 8f728e1ffc02cd78fd5771cb740567d9 +IV = d071c50a5e887258b6be3b2c0e9d6ffcf35283fb63c4b1bba7f40c2459d482350b8e6665dfcb4760b53c98b8a4365942791869fdc09e8ca4b1ae74b924e8ed5de2c2221325568a06aae278df12f4a94cc00072941e174a1f4561b75da0029b737e4a12d08c6ca6fdcbc136a6199c499cbb00bed2316a79d4533b4fce11556478 +PT = +AAD = 9656dffdd2f263fd37f962fae93e8b6972358cbea8a3d32672282a8a0e1bbd4de496015fad113afa54c7cd1f551f9a3111c71561e4287309c8ed228c3cd6a33c5e1339dd39ab64da1e1f5b1d17adc2fca9d93753ff6b2f4e2f07 +CT = +Tag = 78f55313a67326820288a52274744482 + +Count = 7 +Key = b8840e2f2e4b0c10f778061e3cdbb972 +IV = f2bea4b44993314298d80abe30ca0e8a64a3a93a0341d64770f9b764807b4185cae05f59e3820380e5061d7e0a9d37a3c695c40d46fe5ee2671e158cd7e27afdfb78b05746dd6c6c07294f1f2cf83f56c9bde0ef5f71b9973fe14b716588c5591fb0b435bafbc97434540d43642b02f81bcb64c1f1b99c241fd6e9777f026fa5 +PT = +AAD = cee7f1da070a7ea5d845e88619e1906b52a46683460131f7fd715e600dfd8b6eb5ce3902f053ada47d83ffb957dfe26520dd86ba88a8a055702c200c4bed2f8d5dda64c8ed4f42e52dfda6969125ab23e15af93a40aedccd9ac4 +CT = +Tag = 2d9d00da16c5144856d771c58cad37ea + +Count = 8 +Key = 995c836e8332c28428949377302caf52 +IV = f6ceeaa4f429271d4772a403aa6d20f40943714b63834917badffbf8c7b1ff7208eeed2d60d74b02dd4875f647e2125098c3709005b8efbff049a743b8ec700b145be748650db9d8bcb020654015cfdeaa81f342f5a99a6b021e643f955be9f108989ba75a2953bea9120b3dba19b56fa19ace92ddb1417a82faf2f04b8c614f +PT = +AAD = b21b040dbabb1cc1a93b66dd234c5ac32fcd233f066368008c030dfcb287860f16d9b53cf9af1957d29f7b8a1780756fd18c7d5088d314d43ddbcbd3b6c4e3ea6316c1a707cb6cd4b12a1c194abd9c7a7a37c8d8617cced81e8f +CT = +Tag = d7ab70d80a144b09edeb0869e96d676a + +Count = 9 +Key = c78a23d492b4c8056769903c8238b7b5 +IV = 901658d1d84c6c37b70af1b6a216cf154126f68e11ca4457f570ce23292dcd44d31ecfe9727468bbe9b55185d2464cac442b686d1edb568c4dafcb66bf50aea6759f3051b9baf822d9b07e87462a0552231eede429544ca882776a8363243412a864975aebde5f224b506229bbbce1cb3688a98fb965e1b73de3752c87be2858 +PT = +AAD = ec56c1ce2abdd3c116fd66c9522fbab8c953a1405fb8c133239c8e93bc1d372c318855bd3f451a9c30f8f2c89a5b03644fbe8ba1cf6d17f543286aa3d3a10fc57fad408f8e0eab4d7b5b89abe8465acb3b7cebc0ca06922f0a32 +CT = +Tag = 212726a82d9f252eeb8de65bcf0ac77c + +Count = 10 +Key = 8fb8849ffaa82ba63727fa4eb4f49399 +IV = a60448604a2961872eed974c7a069cfc6670c99e5a3d53755d07c648e637585e1cb0622ad20c7bda79e6a9d5bef9004f05b200d3bca8da29abf73bc072814c6873f2a9c894089a32913bfc42722e679546437fc9d2fc4bab61f2e8751c8fd6b2582df631cf45d97ed971a0001292c651e50d1361475835fb083d16918fc7bbb8 +PT = +AAD = 44244ec9773f36130a6f0bb85fba3cccc0c621cb6656862b23f1e1ba50023cba96d503e32656d9a3d1b28ae93a8f1a96d4e1a0af6a53d5c699a9e774f860d5ac75570cd16a906409febfc325c0f5807f80f0288605545b9585d4 +CT = +Tag = 48d58030520eed44670597784d5186cc + +Count = 11 +Key = e84854ec0b52468c79a45d5710059352 +IV = f48b082bdb5c4152488b8656960dc2653ea4ef3a6c93520b89244216ba8577eebb714a98aac1d5d1706ac1649fa6ba3dded11891b02cfa29846399e610c362b22159b04b5b81a21c140d50c1f06158c8d06f94644457e5e359abd81cd39725933b7c695bce42b24281d88586585b124b55f3074d765a3ae604598ce6a4e9ab7f +PT = +AAD = 5782d2a42cd0fa969427dc306257e78500f4ba9f697caa383009cde7e749f35c865b58309a8bf64e0f922cb8f1501fb185ebd8fab117d01c44bd7f8263397b71e7f644ae84b7775a9d586d3d0f29a3986b22f60b22391df927f9 +CT = +Tag = ca9601901581f643618e9b9d9b219f0c + +Count = 12 +Key = e0c824ef14bb87b8104dd15413f55c73 +IV = 505eaa1ad859465cb8790795e8216a9475d6550b1e9921fcb74a516f64a04b19291dfe0cc0befc23a9a25343735dc612e4096f38ffe9b802f7610a12cd659dc6fc77eb44873ad3e2de7286f080cd2c4aa9a739c4a71841250d2f026cc42d7240309df30f508cfa19f23da67bc67dba898e1927819e384f1b0aaaa4167f6b487a +PT = +AAD = b9991ca19d9844938d72ae81fa126d7e0cf18c97a428c19499f0450d618b361ce2bba0f024589a032af318fdda91d4fcd962a2f46311aef2f25ce2692b24cc3ee308e7416730953e4702ebfa0fac2104cffcba7aed657afd11e9 +CT = +Tag = e49ef1bf3d4073d6dcf8a2decf0085b3 + +Count = 13 +Key = 670e7ad6a96b723005322dd6efcc0c50 +IV = cc9c3a222dc9df83593d59e0d19d13608c4e559bbd0bd22e81ef6508f86e744a02b8edadb73ae3b0f1b5f0635fba56f20eeae749729876a04efc9e02ceb46bedcf1cd37271275b31084c359dc0328f929d7ea79c3f979260b5b33669d543b1bd10c5101be9c5bd7462897adba650367d57a0db62cf0e0364671cae679fd3fa75 +PT = +AAD = 0c9de8a25405fbbb02cafed3999c620409ed3c2775169de4da2bff8203abbaed8e5a3be9f77a7c3bfb01683a7028c866994f6d53b05e0468f09e195c7e7008fcc107ed78f05621b9fa1472db91ab91a4fc799e4788b226bfecce +CT = +Tag = ee3f71ba2ed12503d0307be7ba6160e2 + +Count = 14 +Key = d9048e1fd59fc6764d7084cc91f48622 +IV = 8055ebd707e4fa9816f5cb6594e0496eb2d64bacb469cc220047cb10b524c3e8b0a119a939ba06df4e27090c70e2f8dbfee177707349c4185146b68f41183940a998adfd921ae3c5be0913e18eb739dc9b5d700732bb2ffbec920494fa91932a8637c1cc1fd1c8599e25c08f9eeedebf25804a97de3fb3767ecdbc72b8f71ebc +PT = +AAD = 1151cb53c3cda640fcf5c8660db9cca9acf0eb1aabed8fa45c366234dac0bd4adaaf12cb3f642b6ca948979ffe20485d13a21302dc68f4916828ffb9b951c0f6c9e61982f3128558ef3ddd2689d349ae46e5c5891a385f64f55e +CT = +Tag = 66d8b296c4a8f0e98630d725d7ae0fd5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = d504058795cae97914c56dd43f4282e2 +IV = a0e736e63cc3dd6d50943c8b43ef4baf9fb20abadd989082b825af2897a41ad6869ea7f0900c9e427641428bcdc348318de03195b84dfd4f1d94a02107ea872734912023a543e6ff1f18394f07817788c245abcdfc1dd99a278eda350abbf813aecf0c7f79046e6595df5ac89979255cb90c7adc8390f08fae636c698b90ab18 +PT = +AAD = 50f6bda1b004f0a213acdbcb32c49399dab509d25fb1a7a65037b1363c5ded8dc2ae2139a70d107cbd5b3e8f17a641d47d87e21c72440a5011eb887ec02f36d77dd17cc2609061d16971f5fa5e31aedadce2f6942625b389a917 +CT = +Tag = 08f39ba2d7d29638a062cfedf42a5a + +Count = 1 +Key = ce98f8da15e07f97596533d5f867042e +IV = 17137f27611be6c1c9b8bfbca89080909ff0089b7d4b249ef58a2a14ecc8a8973c713e7b5dada6664cdbe35533465d7cfea8b2a3d1eddf1cede7dba4ebb57dce9311a47def4cd2cf0821b2b628d4985b5aa29382b91e0720800991ef22537e1def3b3af118b6c3091c2f489ac92d8bd73a30d2c051eab99c8eab9d73a7079d6e +PT = +AAD = c0187c4313e33e29dd33c7167a8acb383db2682097e4a8fe045f4772c0c7f7083d22dd15e3f279bdfc0d74d0f2315948a6c054b61d1b6a17f506c6dc50fc8f83a8451db191f522a490db35fdd2029fb12e934479d3665ec6436b +CT = +Tag = 0d3ee63d1a4201a3e539fe5b36c8f9 + +Count = 2 +Key = 28ed6754ec03b1f0999a45931c8882bc +IV = 2c1447770844489f832194894c333670dab0301d9b0509e43f8d458093903e3bfb7bbc86ea1ca0e48c0ca82b1086766335981b6c836611895239258946aa9d55df5ed9957adf1dfda6e829a3ce92674b3ed3fea72b075bb44a66acd66b2f2f8232f504c991930b8192f1f197012c13f719b9ae4b703b9b013bae0387372c79b6 +PT = +AAD = 93da49d91086f1992d7fb57ab4b626e7b8581b636692989581b9436eefc2b7efac64e41561334b0a067545ad634104abd0779f05fe166d642a6a0d1828f2104db59277f7ab5803b3aa7607c0ef848e7b741169ba0afcb7ac8df4 +CT = +Tag = c4e0f88ede8338986ff5cabb456172 + +Count = 3 +Key = 972514f202c354af05acbd9d17dbab14 +IV = 2d324e1c829141eb9ef70f0b8e2ede25d80340da1d5069b97c44602fda62c11c5db1d1393cfbea1f920eb5a37e0d40001702deb22d32e68149a8cca592e44f98ac2d6e83495b40245b433cc321d36c1b992684ac203f89ff987669d9e1480403b5b724da9ccd42f97e0b012e9f2c6b98404f9efdaeeeae966a47afbb30e9ed8a +PT = +AAD = d908c0a1ee13f90d9feebf27581be0bb85a6cee3f69e5a9b6ca83bd538e0c5f07967a1bfd09c459a83c46298ff683c70652fb5fd8cb950eb24547afda9b67212145f4b8d7220ced0f3b3951ab79a4bca1d26410aafa3fc652fec +CT = +Tag = 6245d4d6f3988c23bdcedbcc7e4104 + +Count = 4 +Key = e4d17fe1dbc906ddabcbd7bb910918ac +IV = 1542ae72f82aed2e87857376c998da29ea4e50fe25c00ab90b4d5c68ef96dfab1cb4cddc2eefba2108b8da5910718999da8053a81d8d044a8f03ec1ed708eaf9244e48c820cdeccffc4a3f8ac042296723745498ab1d24a04cd71bd065cd1a60ed5ca1f95cc8c40a798ffb8e843958c7eef8c54bcbc0a58ff10d05e1507f0193 +PT = +AAD = b190dd75ff35ef176f1eae2650a2a2719eeb0cdfc4b89f96d65b3163c1ed760742fb2b8d156bd74cbf40a7948d1e2075d13a75f63d0729b3fc0fb0dbc8efadcc0b1455c53f17018001f70f1237ca978f6d9f3bad36c717d8ffb6 +CT = +Tag = 163c6a3a16f2536393ae14d822c21c + +Count = 5 +Key = 2c257a33dd073986b5f934c157a19ca6 +IV = 7176a85d913fccd6ab887f58ab6679b13e96d2358ee41833b78813ff873e4cf609a18d77c4a6d7ce7da3b15aa9ce7bcdbfe9f47c99edf5062c6428d14d1cf22db5dddc03a5a20c623c7d2e46a9abfbbf571f258306e9d9a6876bdf85ce6fa286f9c4e132a952b2c0a3d42f9ce3f29eb57933fa949384eb2dc6f57cbcf9b9c77b +PT = +AAD = 6cbfd765b59e795ec24e789d8c0fe81f3075e076355acd3c7140431975d961bd9221cd1d082d58c1e26f9beee12cc62ba63384672b2f403218e59a32b68dfdd41af4287633c1a5910aad1dacdbfa06bea3df4d810c3343f2427f +CT = +Tag = 25b11359fa2ede1ae03407307185df + +Count = 6 +Key = efcdcb42097bccb7353648353dc13ad3 +IV = a788f7a9d2bb0ff7f19762b45447935ae0c41267f2562a0d3722962140211df98f88d4daddc9e9c6a7d92ba00ec1c75ac6d95f50ca0705979b69f7ad56270f6d1adfbd25384afa6314734a62c53f72afa1c8af4f6d59f41b3eb8a4c8e78b7759d717fe780f521cfd5afcb326a47f82c1a147c759dc05a4cc37a21f4ecbf70b2f +PT = +AAD = f3962c180284e8bb89fd3b85cf9c16d9f8d3ca4843e1a8bd157ccf36d2073250ebed230230b02a1111e8c4066126836f86ed144f33f192432684597d218eaba51c42158230aba32502f451c6e03a6f384037454e710491e6e6c7 +CT = +Tag = a8194eb35e242cbd9010c9a8eccd49 + +Count = 7 +Key = 2f96bc65970b4c5e4168be3de5a74b26 +IV = 8a8e1de9e76cc58bbf26098b63cb0731ff02597ebee4cd2afa22b7e0d36a2dcbc843a0ca43873b4c8082ddd15714f038eb9b306f9c4997bc8900efe216b27348b83518115e67450281d4e315d5fceee86fbc357626cdffdb202e59685d896c8dc6e6a19f77269c25ab9b21c3ae6d7c360a71aafce0f0e381d3365a048934d341 +PT = +AAD = 5882558540c737250caadb3f955399250c443cccbdfe5f54c72a0b14a97d14fe96fc09fb4f57c65409fd0008be3c24652a7fa16bd62b8b23549768e0aabff23c6130773061340e7e540a30449d9281e6dac49d649f2ed767b000 +CT = +Tag = dbbe872887edd8b20f275fa1d01941 + +Count = 8 +Key = 26ffcd011b9cbfb9d2b771cc848b33ab +IV = fec0a6b27b5f7f7be0afd8cbd3bbb296e331e3de219122efdc7d8a3ac62db61771c864f1bcb1dfee0eb004b853a668fc23bf76a074801075db326f518e883ed1b113f27862e47db880d5f7ff2f7ed88fcbba1a27a3884a86fd707e03e60aba455ef6fe8d23a9e0aba8c38f6f186c7750bc1ab0414d7a53a6cf1b6d11a2b571ef +PT = +AAD = d4e22f007cdc9ec12307b95fdce54a2d10de4a31a6c147ce7cd7b007a72630ec109dc4d56cfe4c0e3616351c811d764f6674393f58733a8c103c5bb9fb32af1fd66c17282bbfc0cc3a71b945204c18d340bf8dc6f78cd4e4d9b8 +CT = +Tag = b4407c002a485fb683d2b20738458c + +Count = 9 +Key = 623e145032bcd5bd069d35120c2ee56d +IV = bf5273df56e773b90a74188ecc293c01292bbf149ffb14d01440ee6e8985b4e12807f6ee5c1f262d540f7029a813b68492ce540c9ad0e4040fa92f274b38535f0b1385cc0aebce6467648a8bb9dbf08cbe763e6c1a5b3e98206b91bccc02cb9be45977cddc57e98d669e932c6be34c0fcddef5131814740f5e8dac9d1ae5c682 +PT = +AAD = c3a5d4432d1a15fbf55aa4cc0875879153f6f8f574cce882a63830b8e3093fee6fb725d4439f9dc5638787f0f96cce02925ef791f955fd281f9710aee4ac0025bdb760d14a04663395cbe2080798cb1ab8f7d3cfde6a5b576a8e +CT = +Tag = 18c8791236500278429011d4c33a2c + +Count = 10 +Key = 1488d773ac02a13ab9470f9a3e74899c +IV = 36f1874cefb803f1017bbd2ca398f3a6ed7a19629bd4af0ecc4fa8b1b9d7402ea2bd48eb91b2adf4e1cc21494589450f5b65fb7396792d628b42e9dfa989acdd860a8676d538b33168176fc70b7dc078019f2d069c365199aa9ef43076e5088cfdd4a8f7fbc56a510badb18944796f55593c8f7cf7f7dfbd266f1147488f61f0 +PT = +AAD = bb8df9464e7aec41cef1dd4cf3f24f842b8267968ecdec805932a3335e0d02f970f7e190f21c0a7c7c0e0a35bd4b4a95b2c9d39e0388b5ad7e5a7eb3620d755238ec7ed2d56f5abef32d302f84966b3d491f389ac38b124e7119 +CT = +Tag = 8b136dff5ccb34329fee11d8d550e4 + +Count = 11 +Key = 545289ba4f6574b6d8b65ce35222fcdd +IV = 86907b77ac5759859a1c4a131103e58842d86beefc2212df1f46c61439c3c57acb96b134e5b976425581b94ef453ffa170343131e0f4559b3f775a0354dde029d5e561b61d0f111f0480faa765ff67ac4ac51b81ca3e3b3c51fc43e43bf66d3ca12e1025d9c3a0b234d79560010ba3f832b48b2e52a5c94d9a394f48a4216349 +PT = +AAD = c66772ab3112ba7d98ac03e7f93e0eb63e2d871b419a322944082092f46da7d7310d9b39e2719d1e832ebd67b7ec36e9e31bd41c0b11e18c86f9d14daadc417c66c171f6abfecb383600cd66e3f9e6b93e06eed8f781f1fadb03 +CT = +Tag = 943db9af71f7c658aa478fcbdf2a46 + +Count = 12 +Key = b2618d94e66f9e4d931c2ea8c0a699c5 +IV = bad41a407e5f76a00e7f78cc688e33b8d0c84d1f443027fab73850bcb8cc5b5bc2f259128b7973b37d065100d09281ccd25f9963b8f69c8274afce8f0126ef2411ad117ab47b678ed3d354b3f7eb28213204cb7f095790c9e4e2eaff80487653ac8338310a9030c47788916f5c858aa38b36335f4b23842579cf0511c3ba3e79 +PT = +AAD = 8cdd3fcadbb529da2c0cbfe715bba92a28a602228f829481761dd60250338c1eb941e2d8e2b43d7f61afcde38cb17d373b813baf69d9a4ce508c3ab8c1ed7ad2dfd83b186cb1e6c21db05ae315a0de244a7ca2863b53cb230a9f +CT = +Tag = bb7c4c84f6d80825e958b5d53aa6f1 + +Count = 13 +Key = 40a211bd4c63811cfdbeda2f04454e77 +IV = 4d6c5a3442820dbd291a3f1b45075d5b99b3f38b65b904c036184c1846a56c5d5cabef7f5448b5d2878bdd9faba6f3d37dc113fb776d2e381ba9702d6edfba473c19d9b198cf574d27f8e43ea573a4a78418e46ee27e613a7916a9083174b3cb17323a1ad58524eca3e55abf6a15114e8b0c9e61d02b7fd5ed2094397ee52bb6 +PT = +AAD = 2ee2c9be080c5b6f3b21ea3ea8e54664357f6089a0c118cbb5630137f464a60d93a3753c5ac149bbc8a34557d962fb99c5ef4c4c0fd83bd1cca87870b24e4362bc0cbd1d6d4fec9a0581fc0d6b0ed1a0b2144a8a4ece600b1374 +CT = +Tag = 92b14b264c265a18641d3853ee5693 + +Count = 14 +Key = f499f6d019e317316b556c18583c9d42 +IV = 1973479247640b98468413586b8db27bb2050b99752073f5cbf5d6fbf1820e9d81caca2ca055c191d5788fdcd51cacdfc29db7d134a9e9995c42beedcc3b636c4062181709a46d7510129efedca04f369b1b1430dd040f3eef32a46dbc9dd01dcd8da8a1a987ad243691130afcb1ac0134e797137731c871e9a41acadd639a63 +PT = +AAD = ec5134eeffa2e0a33a7b80c3a22249ef7b7692708a7953e427f97816db7a7148556ac8525d4316b9bd1d66b6b32cc8e3b60e54cb91b678d42a217a669c6ecfa3981fa688486548141c54801b3d30483187716a1ca9d69077cc05 +CT = +Tag = 8bd1710123f0fb03ce0a2e728b2b49 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 200129e8e44862b53a104f5ccf1a6c30 +IV = a97343f3a12cad47a92fe0e34c05fd0d272456483db69cf97a6a941a26e705ac4d7864c95cde59be8057a80c741474b87db5026fb317ce6bd791438481469117187548f70439d786929c6c783e6b01d66ae53ab10e1051048bd884f392d745ea9366f5f777f77892ae2154f0a4282601881f3a37740aa36f25b89ec62fb567bc +PT = +AAD = 27457633cbf6f172121eb02a1a5cccf1332150e9db8208874371a42e52c71640b6b52cab8ad28b6f732de4a1eea39ac7a2dc29928c55d7b67c7cd99923bea6f8f78eb551fd6c0d515b31f8c6d03c4cfce3c201a8a523a6740bb2 +CT = +Tag = 60cb4da955af4ad4c63cbe96cdf1 + +Count = 1 +Key = 8e6019b766205b70df47507bce04a4d8 +IV = ea1487bb0fcfb094211f9cea35285fcbf04852c9c6c2b2c82a9983031e12ce2842afb3ea4f78748e94a0d9df17f5c68548f1fb20bedc7e4de67b907ac08cdec98ce84c60b3564fa1ee8f73f9e5900f3bb199146eb0f7838a11ece604c5c3481cfaca2bdf977458b84e02d8ad195af987f98ade66df11cff246dc4d9ad3c7ab7b +PT = +AAD = c0ca2d0e7950c4e55a7350d9f74ff2ebbb37c7bcf28e253a6ddd68d8b011ec31226c647a04bda5d2588c8d65d846fd0c4f964046ab6dae62238ee4395c92e3572eac296c316a3f1acc028b17063308a5a2ece2f1160a4cd07796 +CT = +Tag = 9320674ec46286a14ed9164a0a37 + +Count = 2 +Key = cc298e24015a3038fdfc31478c3ce097 +IV = ef0e25496b3d85ef7996e10e909061e60cf63a71616bbca474658a315ad13fb8f9454e9e09cafcf4e89439b873f7e8dcc85c372e73112773dbc149c7f04b2dc4a4ab8a2eda7e123c21a0f7fe9582770359b9431a162e1308dc1f05025381615e44e16d4a9ae2e1a70f1fcf7c605cbc2b5aa4157ac7b453de3e8567a43a597d13 +PT = +AAD = 4afc33553adaae47cdb93ba5b29c7b36d57e91149bc87fb8d2374a53bafa1a8301ace9caf30f2b2a73a70f662b0c84ca006440fd9cb787c4e2811eecc56d7b0fa61a64fcb9b5843bcdad91cc69a895f0c25fa8e7a501d390b8fa +CT = +Tag = 8c87703e5b54c2d34d9a6072295b + +Count = 3 +Key = e2ee5afb1596f1b09e5b05440d2f0c58 +IV = 231dfc49bbe45a7ef1b5a970cbb946cf32456bac2649dface0bac5bf300b5140861d091c6eae706af58454c2363090eb7867159d6e1879d60d04eda600869bf44729a7b95db72bbd483132a356f7173231661f2c88f48f3613fb6a7178acbdae909933604413087431a5d7ae46de10237c69615d3ab98c3176c7b56563d98662 +PT = +AAD = 6b79d166631eb5f9a32f08e0fbd03d8d1be93d2a703eb50ebc2660ffc89036f9727a9568e4687469cac8c7f6253e45ead4451e68c2c389dc69364c344bdd77a71df00545bcc30ac29791c9d5568543074791781df7173e7b2506 +CT = +Tag = b20c4e0e7c6ea06d28c9ae2bb8bd + +Count = 4 +Key = c2937522bfe99b635af0e1ac26ef4038 +IV = 365e2d9c2f7424378e0161384f1f0d1ddad9c31dacf187d309217e480997925fa385f27250d51b114b63e8ec54b1adf33243202eda5ff120e9498254a1f04e48383a9aff4570e80737a1785a78dc857b7751041f73fa67059172c4982d90e5eff95cee7089ee1bf407a644c12ba9c25763b218920fcdfaab35f17ea7df2932e3 +PT = +AAD = 5bd9c27b403d0b0e91e186678429bfd4db505e22b020eb093f9d205b4188d630cc5dbb9513f8d72aaddeebb9b83d8f8cbf89ba4c9adc21b567b07e088606fbb3d1bf90e113e280e5c65ae92bab9148d4d87888cdf4b88980bcc9 +CT = +Tag = a277cd58acaae29adc92acfb331c + +Count = 5 +Key = 73ce406c8133436a3990436e6d79d0c2 +IV = efdfef8dd7da849a6010517ab1929e1524ca368daf48a41a162475ed4d03a28c51e0452220b0d649b64c44e4fd7464a261b9c8524480107ff86d7f512bc2cce510561bc35436c685bededb7a99a1d9f3bda329015b625495bc7e4e498b6e08fcc2f8042333d7c42a2dd6c73bac0e12fff461ee8caedf511b08e8245d1a1365a6 +PT = +AAD = 72b0c1a992c687ca7e67aaceb7a498771c1d9674b2a3a9d7049d39f7585e0262b31195714972da47983210afcc81c3ff9b4c9d61a54e44f5a5ca63a743a098702e6125c86e55d8df29a4bec1d2719ed63c69a54159014594df68 +CT = +Tag = 3c21e7394ff85cbeee6947bb594b + +Count = 6 +Key = 7a6b4440640f8ebabdd9e173d8965b87 +IV = b3af091b6c2de2caba18932aa28ee26d8f5a7d4e786a0bd263f780922434be0c50f4a0cba76d4f202090a8b0b1711d2e8bc375eeee7e7e6826488d178c639b4cf88ed19365111f714e3439d4b2b6121f73857fd1d23f16a923a6e14f1523fd83d38f04b2e6f72bfe9dff18a67f9b05bc5a8019432842125c5def70b5fb4cf091 +PT = +AAD = c246ea763b9b60c24eb5336f7c0ecde66de6a871f5431cf150d46f8c522074de7fcd0109a8548262a85574429aa67fdba8627b93ad793a108efe90d65ecbd4f993bb3ca700d4c30cb641e355856dd9c4968b700bb0a5ff06b761 +CT = +Tag = fab8d157b795d9eeb8a57188f561 + +Count = 7 +Key = a6a3c16a0dc01204772c3d7d86729a85 +IV = 3f63391d658d56a9629da1c45ddc7a8b298059fa7025234a4ecdea77e12fb8a62ee91cd766a1f9043983b91b2f6110266a9fa51e9e58b1b3b866673a0d1271b675a0b88a44a8c59b3d98c81e3fd4887ce4025d2a1c9c3a4243e9977690d0e063e54b51710381b58bc27c667951064fde03aff92b1373a92630ddfafe98ab8cb2 +PT = +AAD = 3e973704c029d2d3e149f752c833096050910a79e77d759ac69be54fbbfd9ce478a0884ce598762a4fc483970c46b374ff8e3b98b8a2f4322a7d72fa854de12a2d360d04b85170e873073da71524e6cc5a9c7582c7fd8fa922ea +CT = +Tag = 9543d6c7b4e6f7550b6102d46f23 + +Count = 8 +Key = ae036eb77f38eb613091ef34b269ee45 +IV = 7c319788027e93374723a9a3cece97304ef3c55a3d96b5616017efecb62a2f5668ba39204bab70b5d434bd0639349fe5721ab29b1578f9826b5c0c2b4fe2e95b31dfd9927da0bed09af335f41ae3c22017dca799fdcea9eb6591a220bb9f1c984e0fb30c9f25ac90f82b779d96e878a2aaecc1320e52105858c9e890c63245d2 +PT = +AAD = e6b744d93309ecbca009694322127a0dc92abcaa34c5eb1925001f3659068e1706deb8f6d64cd961b0974b9059b3718324121356176ab8950bbe7ac21ac2a6f94aae21c0873e798f15287fd8437a3e3a9032dd2d9f6df87fc7e0 +CT = +Tag = 5103ac23c416a0a9c395b5964639 + +Count = 9 +Key = 3b2a42c6f8634c396244ae00f6ff7faa +IV = b3e027a2692b9a5e628863293e974dc166842526357f6ba2a053297309d42386b325e7f43141add080aea5e44e041df1eda21e002ee7543c6701d1d792a6fdc5cef24b166b358fa6bf0676ee62979281c09e96014df04668ea4def224acd572804dd1865d9cb6b4f71112e7fa4fb921823ab71abf074a85a80cc874ce2f364db +PT = +AAD = 8a76f2cfb28d5139eaf20a67d2c33aa79f0e96237994ec7a44308f272d04e2ffb97f28259c368625666baff73888b44f44e2cc2bcef72bb4e17a661ce1517b4e84b4718acd192069eea5146184a13c14fffefb32e9d8cf28c222 +CT = +Tag = 2e95814aa7fbb5dd4c4227aa88cf + +Count = 10 +Key = b188206a5408a12b907bf0a7ab474e17 +IV = ef5ed5aef499f8b2ead2da44639813c11afcb4a36f019df0f0a019731e5e1b17ad6f9f7fec11cb25469651e84630f62bfca285f53e944380902cb7d6c2c035b9a1e06000cf0cb6331b7ca9ad9078f9b6e8a820ccf5af14731a20f2342ebc34ad118cfcc8493b63eb8fd83a12da5e38202ba90e57267186f8ec90d5012f6d7bfc +PT = +AAD = 95a81e249a0c974c270f4f942d2530ba58a24afe74cf3aead0ee106be80a00f0c469e205799ddd7edba2d9b47fffa1e54453de8ecfb03558756f7d488e231747706b2b3cc3ef50c6689b69f15b023b3d9bb28fca673f04445c23 +CT = +Tag = 2eb5adf1423ae9e89b39c483cbc3 + +Count = 11 +Key = 7dc3ce5133300d96675d653f19ea7556 +IV = 5221e793771ae4a8bed97d88af12460d0215332950123d466edd41c2a7805be768e3d9141ef32104942e8b822e49fb0d9f8f71d3028ae09ec92356b9b75ca28508c702652571b367ae1593bd882c9370f734c6d03590438e4b9351cc8feb57ca599aa4affa4ccfbb3a777cc15db6d1de14510765047bac97229b4bae96c867df +PT = +AAD = 6de0f7b261c19e533e4bd2f20982d3ebcc279f28295ca9607b882976371d3e852e6cc96a7870ab3ea4ade7b16eb0a4728de7f2216f7bae8b44d113a9304d44cba7ab811c660cb36c94136255ef5ac24e9b0cc27e0580a54ba938 +CT = +Tag = baced0121528fd16a19d59b89d65 + +Count = 12 +Key = f3bcd5d2dd63602f7a80d98f27bc08fa +IV = 130471fb330aaa58e45614137f47ce6f4b9677cf51fe26c8f23c5d2cd02c3a9227ca9b58a00f5693f43ee8bdd94715712e30a44394f512f5b0ca0ecb5251550de0c5db023e5ab8899ae5c2f1267a476f014572f538e33bc6ac5b96c832a87bdf738c94d3c329267570cbe5a68e40c13b0455140a4cc820e71032ff5054d61937 +PT = +AAD = 01ec283102d45a3b5cae9cdc066258f97bf2c3d8d3eebf3bcdd9ada64118e692b4e781490c9d486f156dfbdb712cf5473417f734ed895d53b819789adc7b9ff283bf6f17114dde7a90bf19ad3e0b64317a25c4b1590457e80ff3 +CT = +Tag = d1cd2e8c52e30f20d1d4040f6840 + +Count = 13 +Key = 77cc5f57f38ca9bf21bd78ebcec37cde +IV = 698e48135d4e28cefb81371d1c6788e11d5659715937c69c752264ef7d1f0f7c15d775506f5e6d77884d8c477bd90eb7edafccbb2ebc76ef13e9d41cd4d37e3dd412adce66d242db03387e7fe736c43727bf90ead7832464ad289b9de9e41ca9ae93a106a5af5bfe372a1d9a56d13ec4f256b4122ce9d8f03e63df773c1947ca +PT = +AAD = e9a72912d821efd4ce5fe422a4a0f3e13fca37f2585ba0bdd0f3fa21fb2cfdf964abe554802d864c31226ed651b2e13b462a13beca00c3616abdf5573e98391f09e90b54241aa9f0206493199fb4a5787dba9d760b4f68df3cdf +CT = +Tag = 1692bd1f1fffff34eb151cd96616 + +Count = 14 +Key = 8c395c392202df76948b627f69f744fb +IV = 3c17459daf06f1723212bbe2a239bd7ae86e1b0257f2e0069a8ecc8d39327897de59d3832c11990597ec23088e313dce09368ddbc50ea4d368f732e42a7f0680ddb106f5151960eb6c9203384a7e016c9286648bbaaf18482dcb2a3362ac4d10d3d6bb70d9b484595b715e93c159c2c799f7498b156f26ae9c203f596a46bc93 +PT = +AAD = 82cc75f06d849728ef0f87ac604bc4e1730ef026f0286a6eba8ac3c3d7351b1fb446a52af12814f0699f1ca2a5433bdcf1b7090765ab31abf90e913c26f527ff680a49799031413895defdd3d1e4a2f340f531650e478620423b +CT = +Tag = 4989c0723212e594ac7218bc322b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 8520a54a241bbe098fac40e68c36e02d +IV = 8a233fd85e8795d25e85d388991bfa9fae58143b1b315e095c0423737f3531183412407c3f2742b6191d6074419ff346238fbdc0db93aa35e49d66620253c5593fe61f3eb2bf46ac6d921c2fa7e4c5bb148c0576ad870da6365cbf576ccd4f52a1a786f3c0d2e392a2e0fb12abc4cb6d3edb9adb088587ffb692b41ec1376d6e +PT = +AAD = 33c611bd590723ec1bd5bafbf8dc13ab795eb36a976077bc36ddbafc2005abc9a3c11a6e92a699a101dc417c546e09124e861d5d6764d1c982aecb859c23f677d759b1e3e8374a092d088e6002525346fbf6eccfd6f5b5a46c27 +CT = +Tag = 5248cdb5249749ce39982ad295 + +Count = 1 +Key = d8889124e2629def651b2b2f977d2cce +IV = bdf838586fed3537dc5ee4d4c628400f60b710fa13b133117614d70e2ddfcd75b0e321d0fb0aaac6b20836225cdc1268568abaf2e1446fe57cd0cdfc39557d26bda320cff879f56c95e0f5890e286bb062a9d50edf402ca916d159910a4b4670a5d44a90e80cd4742c7e59f6d1b837c98ad3ec98cc4ebfeffa9b3bb34080416d +PT = +AAD = c5e797bae64638605c73c4fdb5d07820214298c0b30bd7e6d3d452225816921e2c80960986368ed01c9a64b7e3acaa272d312a49ae439123f6b1d6b48483408fdb2910e422af1a13e7a7cb26e7ea40d9c8989c0b7a1e4e8ca321 +CT = +Tag = 2055b21e8597969896032a37d0 + +Count = 2 +Key = 0940a4da8898df6b213dc76c1d8f3a95 +IV = 6593fbddd6ec8278d6f9c164367131ec90f385902e8f8276c13d2361cff8f56c881ef8d55e9e673a774e3cdff55cea247184347f3655ed22d2a617c228b08f4af940fb1ba1de30d27665fbb7281415aca56d463837f24387d283ec2aa244b254f3fab4b51665743574176e807298db24d8a636d9baad1e9b61e1448f5aaeb1dd +PT = +AAD = bc06af314036b6d957c05f1d634124d63810d94d9e177e528472fcb12144e103fc8b5875450194dc7ae4ad68746337311c80773aba1cc9f63771521f398cd1ed19438e268ebd2d9388aa2cb19fde18365858f904a87ad265e923 +CT = +Tag = 4f7dabced077fdf029df4fd6b5 + +Count = 3 +Key = e2afc65b4c994a38a3e4d0dab113dbb0 +IV = 5ea46fd5450d39d8d903a0007e28de41b164fdfcf658c5bea353b45d3469828fefd1b8b80744c1d21a41696296521137f01d40e5e3fa8cbe92512dbe81644c5652e86a56de7847fe183fb41915a1c7a757690357d19cba9a6b914f4b38d68c95564ed3c35b1b57ce08ac2e03e36872251260184192723a50dd0f9664d8841ada +PT = +AAD = 4a9571993782ab1bba05b96ca894bd1dc2091c5dc4efc2d5799771e3bec583d24b3c5e7fd9300d601a6a325e519008bd0cb9f2933cfe384d428685f8b7b44209b7e94f10e8b0cea9a5390433ac0b00bcbc1fc6dc345e4406056d +CT = +Tag = 6c50f50665a31d5578c3ffeb25 + +Count = 4 +Key = 5911017bcc4e48fd1eec51d195c25064 +IV = c1503e7cd90019c7e31e99d3f02a2ed5f49790c4eac836a3ae4f7dd7c0bd6a9d03f17684d5b2fc4365808b34713d919e3d0d8049f4a4020ca8830fa5537d5a2efeb0b8f170d9f99465d03f123afe528319a4f523be1ea67cb89b99eadb9eabe3da03b921cd828cf962bd1bf2199d4d82765789b181ab6f6ea7b74f54988e2d25 +PT = +AAD = a97511836f357f103a436ff9bcfa81a05897c3f924baa026fb1f7e37d23f92ca80b636450c14f6f2f4d4e42ef928fac759f63efcd198f44bd9b76554267c9f95789523e84be3937033044f11cb5a21c134b3c7298aeb8db484ac +CT = +Tag = b893010218834bfae6b775583d + +Count = 5 +Key = 01c0489d50d76d44ec17923a6d13d84c +IV = a6f65c1962c389099b975f6a01c7dea4b0863586f07c27dc9b447b36d61fb15b8dd79f05f303cea19359bf1bc638c8de13f331a25b9c49869c280d3af0696c4183d86d4775e2cfcc54a8ce903543cdb7c43d32ec4bca9b3834265bc08a6cbe4d6588366052b50849db3b277341668caa2f921b0c7a28210ef6e07bbf763410cd +PT = +AAD = 564dd3f7df734f55ef7e181d1e5493b203f9f2b3cb664d1add701fdc040948376ea05af28aa28e353bc04d9cce13c72bcf965ab81b218139cb17b00eacbd83b92d8badd59b427b7a119ba31f70a16273bc31bb83a94f4a703121 +CT = +Tag = 1fd2dddc8a3878a99da655b344 + +Count = 6 +Key = 123900aca0df3ddf07db96b3fa6848f3 +IV = 34b96a2ad97fc30cfb835164fe87d05b4c5e73ca2f14f98ddf9f75309fa58523ea07c75a0a5ee01a61de3e3f447bcd10b48ae061c4f283fcf9b274ce104480b01e6ca5246bd040f14274e5a7812d36c14ca6dff317807c0a6503fcadb6f7a9c140ba202489dfebe731318bcef318c7a0ca2be4a0d8794883569504867d17baae +PT = +AAD = b18651d58e6eadd34daab8c2f73f70369f072ac32437f90d5e58f36c6a638a4c01a89ab8589f553e29bc8398f76371f4ee5c77c9b5a08eeda6955ba78828a8c507b5d36a768c141375307b2c8e18fc63fba5e59d824335d638b4 +CT = +Tag = 7614e5b0c3aa7571b7045bb510 + +Count = 7 +Key = 4b7362b21c3e1c74c592c2fc7960c62f +IV = b3886c7d4f2832cec96dcf6c9db07966f22fd59cbd3391e4d5456c9a34ffcd5b1a27a8718699e2d96cad17b9012d8b13ced4c40f7b3c8e066e2f9d45c20b8b9c5b0eccf1a37c5c03f463a30eab950145ca0ef362a65dff66cfcb48023ea90a492c83f0530241901cbbdcad38402fc07b07f6c6560b840c30d387786265632dc6 +PT = +AAD = a9343e25e861b4f9d3cacf0277ba78cda4f41963ffc7d8872b0b2bfc9af1311d14df94b4fe7f03f1b440172a90f9eafb28fe57e7886c443662bb34863db9763e73f1dc2a297ffe3d959a1e25dbde76afe9dea17032b4282cbd1b +CT = +Tag = 481abf93e47e25f7ccfaa8a278 + +Count = 8 +Key = 717ae410ec99c997e94a1c60439ab2be +IV = 155265c75983c8635f1095738c403ed15aaaf75a4462d302205d714baabdbb1501eb7b1db6e3b77e1ffca6dc1aba2a54cd177bbc23f45ad720684df91795cba632ea656f97ba74b8ba45ff02b59a6a9b7100b12bc1313e1e1463f26afde46629c4259971021a667e7a477ac8e70a3f66339b8c923a400f6834a20e9f4b8f0c28 +PT = +AAD = 3006d0fc862a6eedcd21b9757804f287bf6323e0398a09484fd93f2e17f0e18243e1bbb1255c4f8ff080c297de2ad3844295fd385e6ff8a38447b5dea4edc053471ed825c999e3786e169bc44f20473ee417522c2d1fe330b03c +CT = +Tag = 2d77d8dfbd46fac441fc29fcce + +Count = 9 +Key = 83bd673e58e07081fd72ca18986b00de +IV = 22bf5e910b4b00c218b2df8d09a1f122eec7204c3545cab23b77ffe6654dc7e319ebcc12c089221ea971ff2d1c1be1ad7999c60d573980dd214f3cff0d3201a7d0b8dbefd16c7d2a01839998faa6d77830007dd0608a541c07da1d86fbfdf6206d3446b6ed8dbad53e0a9a39865047264ef920d19875ec66968576e8f4a0b3df +PT = +AAD = ed4ea4ec432b163c19e8bb9351a3c06c1d37b9abcffad99e4421df4090e34a5acbc3419003f4d47b371dbbded0972aa04747c7a20e72ea987128c2128a0cfcb66402abc82fa2f37a54b478e9d19497c224927f7ff16799321fd5 +CT = +Tag = f09b0e6341049622056bd86044 + +Count = 10 +Key = 0016ad2791fb988859f83ad1802a3c36 +IV = aca9732ce5653b0a839e16019106525419dcc8cde0c403a5d3d48ac1cd9c8cadb591a20dd8ae4ba6f6c3490a72d55485f1f429226ba196fdd43b9db6c570002d386c07fb41b11b815bbb3d40fcfd69b1fd931d3a6d3b814a6b4dacb5ff6cfc99b1fc9c33714d0ab9982c17db3b8ae2e643f29988c861389d51a0564f3a25459c +PT = +AAD = ddfe05befbf3224eaab820e40b211948698a123d2184fe8c8d36309a6f786ea9029e9b2e78584e30f34bf948b66157339dd78893a1cf85156702ab0fa95fb7068b7da98d539d4b4b21fc9c6494c3312963b1485efee69b878f17 +CT = +Tag = 08827ecccdeb88eda66373eb42 + +Count = 11 +Key = e6c7787d808a6ca1bc2019553f3d0ce8 +IV = 81296113f2de7b46454f3adb3164b2a121181e9f6fe1a8b19f6d253ec1f4e7f5248b0d47b9a235561afeb238b7117ba103817ec40d0c3728ea47a04e9290fda0a81d7df4fb545851729f693acdde4f19c8105eef77e74762bcb025d41e75fb9236a27bbd0c501e658825a522230eef61261af9e4c52c041142947d073a8d23cf +PT = +AAD = 100528b4ed3fcdaf39c96b0cf71af5e151cf90abb3b1b8e0426ced4e461166a0236c0a4e33744138002033c04a9a3e73c0112246b8cd30e87b6f84fb4b95993192c1c7a32cd20d12d37f20426ca4ae8fd9469f6219152e70a1e8 +CT = +Tag = 9f3620cb1f1edcc192802de440 + +Count = 12 +Key = 36db05e028a8be67d1bd3f7a0a9d41f0 +IV = dc39fb7b7a7353233b41a7485217bd92b2942cdee033eb266404d651fa80aa5cc5b58e6a05cd04f3b7b8b21a1505ed9e16beced45243b1837f66e5118d55a41ab8e189faa402c3875f599e070c22f11f78fedcc194d1ac54682d1b0859e4292117895c0392c37ceb4ac2e9f8703614296d52781c3fad240dc714a3bc4d434a66 +PT = +AAD = 370576f3f68b11b7736040c2704099e51b23b8d9fd8c66ed9ff1b24d73b566724ee696235120ac80627cde7f69fb8b0eecd41da11a18cc43ef155d685d867c64e9340e1b90bf396907f167a88da01c9053630df5cc823abca94a +CT = +Tag = c775e6e2d800093208739dd6dd + +Count = 13 +Key = 6f2d9c219bac3e11ac7c4b4016e7dc3b +IV = dbb463030f7be03e8865b1214e15158dd8b8b144d419232629cb7665074ec506a9bbe2c67fc7306b88ee9724edd2a68f7af575fbe06350747f0a688b91bb7eb43fbc824f9e1b3d64d69d34813c5929e85d14cf9548a38f9f70e864d5c681114c0861e938a5aadac35c3e2e85b5b789dc94fc41250e32c3f9240478e1e13d4f01 +PT = +AAD = 87393f63cb21878040f5e77f6f3da384974594a84c05f85acc01445c56820810b9ce814cf86059b00ce611aebd9321a78359a5af90aad15962595c06fd278717d1dbf37fc60bba923e08a88462523862d364d4c6942291f3c80f +CT = +Tag = 06458625fd51f481617a25880d + +Count = 14 +Key = c036792f9f73e82ac422f45ec3ea0062 +IV = c4674aff978ae89df9807ceca44ac8f465c0fcfaed7b9cad176dbe7475d12b66ec4f48cbe669ec4709f050e5b467f67943bef3a3b3c27eae8ea0d4a503ff606f7559e18e90f3db65aaf6feb3a1c824656f6d8803114691257d75911fb562e0522324d3b8a1849512716cf40f62443fff0f53acc03b6db6bc3e83b6b44c6bc6ef +PT = +AAD = e31088ec3003148f7bb9895011ca527857c9234eb6ea3e762621b81f9075c82dc7f69e539481cc618c4b5bdecc4fc2f034bc6c1dab447fea1287c6b8788a48371d7c5326fa8c9b28e80360697e38f068d0215070a96619882bc1 +CT = +Tag = 5bcbd09cfd6ed3c7b3f84c29c7 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 3598d89be149e6f48a5449fd3ad9a1c7 +IV = 945fb7f9f2a97a1c0ccffab420f3da62eeb38fa97519d5fed3374ec0f7d39a986fec8ecd48e4f7d2a91951ec265d7a149b56e83e9381e61d9354a073d651a142279ae67a74b6b0b6c86c3703704db9b3ea8d15bfe05fa1323391918fdd6ce7caa616696620666054cf71ef78f6927616072a485718d27cfb5c3ca297ec02ee75 +PT = +AAD = 37cd1b81b2e953364b6c7535e612bdc02ddbe7ebf94d68e1f29373655e9bffa6fd7e967947b49e606c3bad4b7d3e838f81a42216c8ee7b938000d190bd1a398af41038ed70204c19e1e41c4fc4562622e3d0da866503cb57918a +CT = +Tag = 034c20acb4ed77a299938a1b + +Count = 1 +Key = 8b263a7a94b0a7e86791d7bc03e6e52c +IV = 33d71715a0f9b238da30b312b66ecf688fa08b306b1e7b98d47b43de24c186e2234498c21d60c520e491bb0c06f868ea1d352ba33795fd283a31721f3ca8006738dfb6cb95908664b08afab336354248a9fa58f4b19b0c3b78557f895cc6e7a2b295fc9b72572137c9f12c8b15260043f8f2381bb1c55e59765228097f194a47 +PT = +AAD = 27078f44bd46a606e433d9ece7f08b4282fe3ecbf86589cbbfd85328d36682d3efe1f886897d5813fe7e45d42b2f6c6e02195b185da3c34ac38ee750d5c4b25122c7bc5d2f56a95ae9a21d897a27ce27c605802af80c1f6fb79a +CT = +Tag = 038cc9cd7f99f595abc328ee + +Count = 2 +Key = f74c0e92a81d8129b1f82a6ffdcc0e27 +IV = c0e33293a24841af1239a9bbd0e154393c1a5593185a91fdcd0eaf9d03e72fcf96d8e794cd48be8fdd5a9262cde75b0f47deb1ca2b12ded6ccf5b87ea9445c7cb4bc4309cb6af6b0727ebf4de1aecf70eafacc8f0cdec9af604a1ec8dad9231065cedbdc579111030a0bd2c5f3865ab23ad85275bcfdd7f69c7a08f75f67c0ab +PT = +AAD = a185de7fe08645b4df267ead979998b99af593e7bbf90d9dc64cb1eefb63dac1c6950415e78d67962958596dc8e619daaf4a4c0792a8978c616262b4b70ce8f1d39d04fefb2502227d080650b31ca43bbdfc23c6dc733ff6399a +CT = +Tag = 2aa66879643622a15ccbd4fc + +Count = 3 +Key = 512bc2e714b9fa2d60e6f46d834f2429 +IV = 9b3f27def9857e4028e7738e474194b21724cb7f2380c75e4a4c495502d1b3b75ce06bc4a4f1b6f1b81b3eebea40b04f07d37b642ea520c25a46a99950c04b966f29a76377655441ed774525ec92d391f1237db1d49e1607b3a1142e434e16966da943a3b83cede7821f1aa0e8e367643022a15d92b4987cd32af91fbcaf5873 +PT = +AAD = 03c3164fd1eeb1a96c2b1fa12e9fe1680de1da1cd37379f2d3a2cc491ea0a8b750eafd0da06dfd214282c68861404f3e385f8b2a58e4204473f4c46fe71ebbcb7b9a288616480af786526d26ab76383452316a534bd18c071d8d +CT = +Tag = 68ef03e0d628363b831d9a00 + +Count = 4 +Key = 0f62a49eef617bb92ed8aed0468d857c +IV = 0d78b045077d78b551d83f8a256c10e4b51516b816fc1cf75212bdb5c87c8e35d472403b3631992d35d71e0fb1518affa450f362eb69714c5f7ede7b78a5248378084ab3d2bb32779e8b9a254ff79817181fcd8863b44717e7a869db6948352c0d80f47f6f4adb2efec6a8ec5dca4ab76194854506c8db73a308664492fa02f6 +PT = +AAD = 555c75cb42f96ea49dcfc6b1d4a79b9f4c78eaac5f639eee4b618b210ae6fb3a6415d90f917d6d0ad84e5a9fb7527663a76c7c163b3177376bcc789c4442337376509aff3de359017e1dbe6cabd02a176349977b4dafe8037c21 +CT = +Tag = 03206fbc600646325f41b1bc + +Count = 5 +Key = ffa53acd1397f8010967f04a2b491890 +IV = 7c9055a6f910601c27777e79198dd7925f4f492788a22596842939281e68f27dedbe4c8744f45e75c0180db298be1f082e9f87fe44642f530f3ef09b9f8d99480bc3879987635d2b4218221e10fbeb179f59dc0171b157fd23b5941c6372c4294bf1df3a42563be155e186e724273424ff36f192127166eacf14e1387f1281cf +PT = +AAD = 35843cd1848c1079e30fafefb6a82168100da151e64bebdcb7489c3ba0ed9b9e9c604b72ae84a9eb12ce3ce18718fb67a154721035660063d05a3f4ba32e922b50dfbabe51d2cc8c0f819fa80f4779654d75b2f8de69738a7bc2 +CT = +Tag = 3ed06ce3765da235d0e5546b + +Count = 6 +Key = 71c1d288d174d0748d93bbc5c36b8b23 +IV = cb6aecbf6c7ae0abff93b12a0abe119451a28981afce23fdfee486eadd356870a20d4dd680f2158e19910aca5d21fa71947144766fab7564f5d045b6d2fd1e57d75db1d5116ddafdc46adbcc6dac1ef6ed2574889c111c5d8a17098c01b6821213192450865e16a6ff9d06625930c9d6c9b20bfd7268283c1198cc549afd7b6d +PT = +AAD = 8e188ecafa2c142822745f121689dd909a89a163e74f2d0e2df361c56129253e70df96cbd1cd6e540753cd21d3e390b2bd845b570bcb56a8f8525cb04576af2916f3262d80595aca2d763bcf0080499aaf72e01ebd2a87a94d70 +CT = +Tag = 82dcfb319e1e529ea0a65b4f + +Count = 7 +Key = 98fef0996fe9efe05daedb68f484b20d +IV = 33be1668e7105bed702ec8435b6d728d55784c989dfc6e440e6691ff6dfbc7622f872fb10fb3c8009ad6f88ea6373db2fac5cad7334f30508890a2cb9f8a3f91342db5aec06b6052798c408f9b3df05152e6743e69fb8a438e47160b6f31456d9ddb487023f3bc795720261d84bf1e98734760c6507abe7ec60447fc50f45bad +PT = +AAD = 1320d219e65f0bdd1369b221bb2b7cd5e651b3f51ab7e4b16899f14ef93df3c3465e08473bb4ddbf5b997b8890ab6cb65786c99133b92390c834f0f6e798ae313a2316a5a583554679d194a2506653fcd149e67fe4b5bf472c37 +CT = +Tag = 29ccb17103ee30eb79708b7b + +Count = 8 +Key = 7a9cf3da851c5643c10339088783886f +IV = c551694f5f45c3f6eeb15b88d27532a9964c005f70d7c1c80ee5fdd0ec80e1b594fbaa5485482b68975491ed4937ce1b04dcbf0605dc63402e6a609870c49a418b3eb1944a2117265018afbe79e73aeeac2b1e678992f849c7b83b56f31520dcb2e2a1191983f5480665e257bf1e50e7076fa9b04a75452a9f0e3c3fcc7c0994 +PT = +AAD = c05f250cafa4caa7d2f6ff30abe563d46d468a9b9e4ee24910405d2ae8adec730b88c9deb1b2285787181d59ffb3d2d81b4d79121cea57f95443bcdc0990baa3350a3d4e95ca086c8ec23807df1383e4aabfb74b01e7f29dd2c8 +CT = +Tag = 0347eb260e1ea2485034c82e + +Count = 9 +Key = 24c6ddae2d08e9e1913b754a2060ca73 +IV = 6a226f4a5d05b501e1224ed729f1e6a374d6a17eabdd423d69020fe0ed48e27fc19f7a404846aade24a4f26027f3d42c23cb7a5e4e960db5c3bed94b09b5be02f4bbb016945752f682db34a96e44b8f548dcea9662f7b1018b369222314c617460d33d2b5808d78b612aa39d2d8e1917dbf4b3f520bbddcaa38139aeb91cb783 +PT = +AAD = 8206938a4b08a8a09bf28ebee93c86747a8551f89b2c62ba6b1ae1e67deaa4936eb13fbd30959bc80c0f8b9bbdbcb6cef31da1a3ccbd0b26b8c87adf1e775bd4fb5f32693b38f89c135f45736e00fa422f975ba12b935fa7a41b +CT = +Tag = fb8654eb744b37a8ff255609 + +Count = 10 +Key = e27aed1c013ea6695c9039b2dc965445 +IV = b622d0b97575ff2ee923ce8023a8d30d67bd5aa2118f338450e12054fe90c7752a3af55d8bb1a587dbc134b495e1eca198416f37e598e91b4b2f509f2ccd4fe65ab98dd38a52b9958bd0c0e45c07cd65321b658fe03819a9bfb3db796f40f0143462b7d33ee2cebc4bbf08de6b93d5fb5ff7816f2e46cfbcee470045f3d77bfd +PT = +AAD = acf371995fe517a1797aac1b59e63dcc4df69a3f35c1293297b060656efce58ce1902bfcf9063312d5cfc1c68935b4dec5635f81fbcc6d1d913220b6e7f034fd0c4805336a2d40e9b3daed508cc0ca244621cfc5c2e54f9b1f96 +CT = +Tag = 2feba0a6237fe2b76efa46b3 + +Count = 11 +Key = edc6f93271c3161a44e12b74856e26b1 +IV = 31fad36bc0d74019ce006025ece8c6a57306c7faa2413cd99bceb19d46bf76289d6bd93d1340651c3070506b37ad4e63f3d704942b7c9a543b6c5d8ef78175967c4439e022202803578b1f9b50f4d852ca82e1c719073ddaacef154722988d58a9e563e613dd2d720404d4463ba2d163efb13cc1ebdcec2bf36072bbc3b62c97 +PT = +AAD = f47ab068f8fcd7088a405d8c67e006a340b98479c3982e9d7765ced22e256c930de8b148fa21a34197916f3bf91436415372da7bf96071c0537993670ef9aa27d9226f20def71092cde46938d014d352cbaf90210103207ac0c7 +CT = +Tag = 242dcbf9145d4c4516afef2d + +Count = 12 +Key = dce34f150444218918743e44c4879501 +IV = d5ead583ea5747b1d4fbf8853b9dce107b5da3f47e5a70d53db9a55148d9c34260cc41dd1a85368c5552e9dc409c687b8c5d62e102908ee83a509ebeb8d92cb5787dbe7c596417a513faa8b8bfa0c9842af264e4286fefae959d2a5f320a7a5d17b3a024b501279b1e1eef558f43a8b550b2848f407c037c7e385d721a013b5a +PT = +AAD = 50080b5f1573a2086ce9bd6a22740d7b23010c76397656fe2de49dd2a36ca7ef9842aa3f35ef8fcfa13506f20666da915a43ce38773b2bbeb23bee3b1592a677053a348958a5ab3189f25f7614641bc24d966429af3934def0a8 +CT = +Tag = c8ce8568670f5e2f6821a656 + +Count = 13 +Key = 1d5e547fa340204d4d8602557b1893e9 +IV = 7737f9842cd1d8131ed00087af3c5abf89d067ec4cf8b1311ed72b368491aad571bc830419ac9f53d00ddb3b4ee3de7f83bb64c75249900f6ab14ea53fc2ffd78e7b0453f0ebc11602fcbfaa92a0dcde4b27afcf4f846bef275a9e1e82b79f3c9eee1dbb17e2a62ec124ec73a1a381d56a58a76dfd790b79e86f47110be65ca6 +PT = +AAD = 58a9a645d5497cf76723a4ddd99f91f0afe7a8aaa8cbfca2aa58e486fe34a9e081af2f77779b98f87a8457bdeeb7a9ba5871ee5601f61a4c3e3537250e296061431537f9ed3db80dee79b6685aa6b3ceace0bad6f87404504143 +CT = +Tag = 297f1ffc2e0af3380c2aa095 + +Count = 14 +Key = 0723707d37630f558a5f6f1b487d4e72 +IV = e25d672f11e118cb5e91b332e197186c26350346c2c05a69b381066b7103b4ece8db6859b990b07d39b1a1d66988facf05e25f10fadf44569cdc8ab4ea31fd2c7b9d547c474f2a9861c1c1ace9ce85e291b347a9b17da29a1745d56da2903751f37a19089998a6a82950da3b30007ee4973f456f1329f85f4528fd53d647731a +PT = +AAD = 37d202d6a057375b7a6d83c2c59c70209f70687724a2d52b5e29dc0d6fb0badd18c8c48a45ffdfbfeec75f5623078167bf5353d4a532ed33b15e04cd9ba61ed74f067c38ac19134605262653d5d47a84984c615c6cec54906bf5 +CT = +Tag = 1bab398b771dcde2a6292e8f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = d4837ad603a8da375af9743f28ad57b7 +IV = a6f55103292699aa6d5af1955ab12b3bd908c3ea8b39831acdd2743972ef9e11321ed5328c88f04eb528d78817802aa8863de393860985a31b1ee2c5d0be6adc0cb5a9e1c01cc749c41ef891f2352965ecca9554ca3a0875f71894de9a90e1005687d76ce3f5f8cffdf5377a9ce3eb5c8fd0615c76c81bf306f5f4fa71f77566 +PT = +AAD = 1c129620ab215b202676f51ca229cfa6cbdafa9c4c6d5adcdce7bbe3f08edc4b16471b861c3fc07d387f0a93fd44904142cbdc843a9113330cf44861555574f68b70d27518a5144e9624b62535c4d8280185a7fec0e1bb0c4836 +CT = +Tag = 36ec09c7e6793ab2 + +Count = 1 +Key = 4d76ef0567db84849cb38a731e643e6c +IV = dc954505afe94ed731d99ab778ffd9f3a83906be261bc63acbda91a1425b04205dfd6a33d9326d76004d872deef771750b3f14ac571e2e7b72b13e8fadd022e94257fd1387fb38b2b4cd1e658f0ddb913edcad24522cc1ae4b2eb9ec95efc9b0c27ea5a3e5b9389dbdb6cafb228f12ec59c44cf0009db6e71f6c59e057abe824 +PT = +AAD = 245a90984c9f4d868277c41ac1f91726f2fd183483c9223307688ecbfd35eef63970f172432224a820a6fb2ffe2239537ae11b98450e1ceb97e6af7741730852e190c21859d14bb1f73f4cbf5751796f101ddc0a35181368ed61 +CT = +Tag = 4ad27608cbd39560 + +Count = 2 +Key = ee3d21ec78ed2c3c1ea27f995f54a398 +IV = 0149dcffaaa8aa75eef23ff396c56940ac0cbce1d44070f6ccdb882d42a37f8723be86b68001c9b2f6d818fda2803ba3a70fb1d6bba6084facb186cf762510da33a049d864be76880b313adf868c90ae11a62cb4e1f36313e0e1a6ac42b104018a80db7ce1f265a93a0aea8684c908a7c4aa23218de76a43be4741eba289c3cf +PT = +AAD = ecbaafe6a448d516874e1c93a2e3f0165cd85cb10d7c4d54e7fb2bf481cdbb12077594b4e14c9b4c210c3a5973a4ee784b287019e6f00f0778cae6b3b7b77a99fa09919dcfcd7275dcf02b254703ad904a537580ed30e18dbe14 +CT = +Tag = 21907f0fb8c59b5e + +Count = 3 +Key = 16e185a6501691cdf7e43687e797061f +IV = b40971e919cef626870e84a6e379e786de1b903b7d998d9466f6fe9ea93cdd1b4f0db007b11a2ec3a60646abd793c8a65cf760971e423267f9488eb4181a6a38ad2842f42d0e25e51fcb91f848751e3e08ea88f73a5da0a2c02f1628d5c3302373b9f2b362dd3b078998aba7dd0ecac663eabb7c125677105d06173a79af17d5 +PT = +AAD = bf6006a4b3c017c145969dac1c39da07157ce758e9083bafb29f8bc215e47f0655b1c6f399c90a17b935071db6dfc44a0dbf4269ad140e71df271056bbf07ee1b1059ccefdde2cad20d1c00bb667431d9b616c98dcba8684c422 +CT = +Tag = 3ef8e2cafb5faf2d + +Count = 4 +Key = 77925e578e7177ba48810a64ece59217 +IV = f38ff017be68c023aac544b6e8a5d42855d00e8baf5857127d7f16cf1be3287cbdc81acce34286a8b02ad067ceef3875c0ec3ab9eafef20d015390cc40aab5e3e5747f7f4daa7ffda99a370e1d0ee0c637f3b81d576e7f7ab97e661abc34f6553ba994c634cd9fe0a3f7211bcfe2ad44124037cd4687b4177895f0e2348ccad9 +PT = +AAD = bc1f1dd542247ac61b2cfcbeef99464da46da946678da75a8d13c702a08a6a37a09b6397c641b4aec26b91bcc6092cc862781cb0d835a9e856999c329c8905e7e14c49830ee2848a539b3e21a91b9e87a68c14ced27b3711e553 +CT = +Tag = 68118e71df927a1b + +Count = 5 +Key = 3d607d072e775b3143097048548c8249 +IV = 9ccbe82a3618771e69ad51a3d0d339d713b70c9ffc0c0d211d8a1bb8e1c60dd012496fdea1e0488d8e1048604c3f7657b1cf28ff79cf2015a53c1f061ec3486c1bf0d0ac73c00bed2ad2a5cabfa55695f7db06b86758cc1257a13dc1cf64ee767ef83c6f8684aa61caf5196db1c6a878b407730f2949c352f6dcacd0bbd38ee0 +PT = +AAD = e650dbeb155f1d2f12a29850d2eea3bbbecf3b4061bf5e2651ad0debc225ea4505875da4efbac2e9f61cec9e6197afa5957ec02014f7e40d054d6a10b84f8a430697aeb3e41162b445f0274a3e1fb0b2eb78f8b1fbe5fcd0c2c9 +CT = +Tag = 2e307f812cae3148 + +Count = 6 +Key = 6dff490ccf53eb27bb53347368b7cd84 +IV = e9964a82c8f8962c93bb65d2c12298c48f66f883bdfa350cadb585e8ad778ec2c2b4e47ce251e3f53053bb5ed8f585f093f8b2ca1a697332d97e0f3e83843bd9bb0b943125b4545b06e29622256ba34c84858bac83ebb5c20c643c135acc08d3f7f60203a809e6cef0b99c7942c6309712bc289fdc578389afefa8a7ee5ef2e7 +PT = +AAD = d54c3099382bef9b1ba8d067e6c4bcc0b3eaa225f28b4059a561da8b41107adff59b54ab9100e0104c991183f857d484ef08cd5ff75b10a9b9a72f5892334c7f525f8de67cc3ba4c758cf768a553e05fcaef8188a0aa03d3be4f +CT = +Tag = 5759af81a23dcf4e + +Count = 7 +Key = 018718877de38b74af0447503e88cf66 +IV = 2697fda945279e118ec553c512b2836568510e3d0ed0aa34b3cb95b7189dc452d7f142c300366646b58cb8eff81a6ed849c90702ed25b0681535a3de47c07ecffd5e507fb11e57d54da4f1cf3c08d11d55fc112ebdf0baf784c2beae8f5471bdb31a86b5656fa6d4a90c89b59f6a1a3649e300fcf507dce7a22903f1f390a19c +PT = +AAD = 268f66147d1f21f1ae9550817f4abf59e6e3f7a512d76e445312ff25fada63fa42a056045dd076b134e1fccb32d3b44d0477810e05ab42bba4bc8325d6f5cd0ded1f42184040199378ccfcd8eca462aec60667e3e6e741649296 +CT = +Tag = b58974e657066fe6 + +Count = 8 +Key = 9f701d472b73c90fb3d0d407c03bf0a6 +IV = 5a3876e7806b0665692e3e5118c8f02d8e33286e45359de9f4b725ada3ce1bc64338575b232b1a5eae10c31f394bc0e10d052065114096abf2d4377f8e66d3281ad282e533c6e67e1d4cd959d69e7968896a92b6aec76a7c1a53c11193692410b8c093d473b05467beaf5a64da572cd01fde3c6e4e7d8b4164dac49a3b3e4ead +PT = +AAD = 9e9f1e3ddf97b41c27c55da2092a8c33c3d238c8f93e6badc8a8e3beecafb038c001bbf7ae9c03c498f5fa9f7c526c0b036c205885b8081ea40c444f680f45da7334ff7ffd69b13190ba9df02a627a2fdab8af5fd526b1b9ed79 +CT = +Tag = 71bdc2a92939ffbf + +Count = 9 +Key = a98ee56e1dbc65b46c8055dc13621f43 +IV = 038321b638042cc565b036d4d409882f8ed63b611bdfe1b197b0b21aab31733e536f74fb46c747f3b18d265e70e83da49e04ecefc86b997a4e35b95d7e4af0bccc84bed553d2b5eebc620727c5ec0338fbfc275b2a26f17ceddabf1fd2a4f4db7558e22317f101b19b8006ea238f66bb6a273e390cdd0ee6055ec16292365671 +PT = +AAD = 742b9a9602874ad696b2915287d5024104c368e67a0df96a4ae8dc57b7736189696ca4d35eb82600fefb600374318f235c91e812a11990e1606971e7afcff3a40a56fe1f1a9fe5ffb16e4df0576d8395d88226e6622b7c458050 +CT = +Tag = 8b1a636824896d0a + +Count = 10 +Key = c0fbe33ca513e4f75c694c4c18e09f87 +IV = 1b2d27b884fbc289d7ff6da7094dad3cd97271341e869cd236637ba8c076d406b731a004337de3c962938fc6c8e5742a6e4e8ee8415aa2d448f05396d314e418860adbe78f9100eb7695d541ddad1367c7cb804775c9bbe1dd9f6b76031f3bb2cc8095bab7f72b892efca2b408f57922d068e49d018d6a8a90937416b8453827 +PT = +AAD = 77b7f357f3d8f988d38a55367413459b4cc1b4ce2fa76bba48db80f355b5532a998851de64c637058141afbc3e229d0a2b0ed4f144b9e51b2a1be8edec594324995066ba199d6a574344edc50e4bededb1b3319891e26d202d2f +CT = +Tag = 580349df4d468776 + +Count = 11 +Key = 0bafce3c9ae9c3d11a66c1893d3bde2d +IV = 45c400fd354f5c86f581918658ce4419af8654e45e2e340b18d608b1efa4c38367a4fd5957ba4a8cdf74df2469458322b2150eb451931587b7868a63bab69d6a7033002b1db566baf060aa38c9e4c897001d07e1ec9e76061c7bcd1b27129d361c6950f57af04db6e7b969855ff5ad93cb1ae7e38728e0ce93a3c86372a62729 +PT = +AAD = c728571d62e399594c28ed4eb6d3c124ff4f7b6d1ca10657ac564529268ef2aa36365bf61009d083fd11ab794718d0dfa0b97e5c8bbf308464c4d383c001e144cdbb0a170b6175f4259fb9d66f10f34681aa8e599aa8e5a4eb5b +CT = +Tag = 91fcea5b7b4abf86 + +Count = 12 +Key = ff86a0d583fc514cce0aabdaf5cdcf5c +IV = 83d9f74de86fb8470055493a8e8167601d62a617f00d23f1283e4fcbda0adbd2eade2c9a1b84d968fc80feaded6f67737b856712eadae8c798de276316ef2969c39062677abad642f4b38fd00e92797b47d5e021fd1325a5c28174215fcd8c90cf804a7d8805a04c3e3776707768d38e9990d41ba94ae3cda1b976160a53a570 +PT = +AAD = a9386ecb3e22ab3a81bf7692c391431be8bcafd8c13aa160c64a68cd5e043d302236b001c8819b1b3299d93979c0951272da78a60e3dabe963ccff18106821b2cb15a6a13c9d55342a867c9c2ee003f867dcdbcd152c9e4c29c0 +CT = +Tag = be73ed774936dd4f + +Count = 13 +Key = d1ceef55f6dbd51d9d9c2c1cd4ffa8ae +IV = 37aff87cae23cc3f65eae8e0532d7c5a93c7ff35b6ad7c04d298b53de8c9c320df3aab4140bfbe611a5b9c9f79b485785d8b484314c8e5093de51a7248838039459007a13ccc0b43920b7269ebed3c940de7f06736b4ecf53ca78a37b28d0f00febb5a092aca213e1aa37b3a83e21c08bea303fde85184b969ccdea70444c463 +PT = +AAD = 1605cecb57a2f74ed7b64d1333d4787360d7dd871c67c35ceef5036b1565262cba09ec784cf5e9bf87751d769777b9bef9099e4a38d46ac65b0f8d44060294c9050f0889ad158c67fe3168f385e3e3cdaa2d6f38fc7ab73838d2 +CT = +Tag = 3a75609b3f1d5176 + +Count = 14 +Key = 382880d1f10a8bb36c956a490d81db1a +IV = 1aa83db76feb353bed10aff94d96741e6dbae5f860e0a685608e3eea397eef112b051661acb424b0a1e3c510d23d2cb95f0a41ddc63a2a2b5aecaac114cb24612a16b1beb82a417b0e5ddefbaa12706c67eb3ecd1d8cf442c327cf94c7bf705b44312024ecb20b6a52b85746aaf61bb9d01b5abc57ab8e526c2e835e723f2b9c +PT = +AAD = 4b16f61023205242cb92f631b41b35c3835378b56eaf074723f1a311b8428d94f797e90d013d5b949c47b67213c0c1bd2da7a934d3a2440238252222270d1e7beae54d079fe4f1392fb1356abee9420c3d06eeeb84dcaf7a29c2 +CT = +Tag = 87b03db5296e30ac + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 0] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 575fc4b2569e1a0fa51dc37401b5120d +IV = 0960e71ac7ca1b240b66bf452be5bf8d2e2ea2b200e4f7809493d687dd539ad7b90c1cf1f40d8af334f7f706827164846d0ced346109ad200f79e4a4301a4c412ada9b4299fa1311897dc4ee1d9c65bc0d591170a0e67039bae627815bacf3c3f386ee77920d0e8913d4a60d760bce063199b22b64573beccd4d822dacdc6a57 +PT = +AAD = be7b1ac2a32e9955748217d6487a8c28f20ffe72adad92fb71abef9bcc5a08f5285a7ed769396213e28f24a071e4325aa7cd3b9bff3016433155bfdcd5ee01709c54833e4930928a2fa6d3e1c5e830acd74d52d47eab9c512f0e +CT = +Tag = 2d4a5e47 + +Count = 1 +Key = 560df43a213ee9498f93b98bef1fe293 +IV = 0f2f1b4509c5c86ac6b6eb9c42744e59721771742ec4be98a42fc0746671a05d7d41a86dfb988e6c273753ce76c8614719352f2a50afa3962f5fd65a6f21ee56b18abf7065ab52115075270f3e671090fd7bdfcd9eec3a3c6656b946a8dbb35ece31e79bc0461384d1591cdb77eb7288fe50d0e27bc76de8e7e0f73c4cf2214d +PT = +AAD = 9ab71ec26dfa5ef51e597e6177e47b93030552c39e5c64cfea34f19c6a74fe0052f513588a16bbf442678d57a724041054bd21839f79aac82dcd608deaf5894ddd90e22e06abf46f0f04cd94c5f654d2ddbc656bf52760b0d994 +CT = +Tag = 13e0dc5b + +Count = 2 +Key = 1507466b326064e6ac16265908894994 +IV = 7fdb3f8d34954a87af2fc43fad0d65bc5c8e495d25eaa959920c190921bd1f02b419fb2553e8f1b1c96aa19e6d5bd04c7f74951cbe72954fc6e2fd1f8078bac6beb8cd4c0a8fc7110e7c83ba4bdb9b7fd1905fcc46fb4daa0acd26d75609ba2284b07a260f501534fc0c727c8fb417746f674c22ea36b3519cf7eea8b2f6488d +PT = +AAD = 75f6fbc70090a3aa38f980e173227d824a84ad4663c2ee8a5d0dfe84a259ba57c5686e7374e5899a23086bb8109eeca293733d9c67173cf07b052c728a7f78cf5c71ab803a883bdeb1e904f17bbbd9929de5199daab344010f84 +CT = +Tag = aafb695b + +Count = 3 +Key = f6a8c70f79c93a56f6ac36017c45f074 +IV = d14af1c5a8df451729de9ecaa2b4efce9fb96628ee31b339218d84eb62e8227bb5798154578de1dbb755d4434e83d6e7e8b54803fcad7e88c517d049e9298d6949e58b5460429da699e86cb8a6aa355c2db750f6859bd5c76ca51b4be3e1861ebf2ff4874bf6572f603b419318d4120432cea72bb389c106ee23fcdff0e940cc +PT = +AAD = 641c79b6a04d886bf4cbf579ec6bb7319c43807c3835c7f7fed6d99a2cb448be35afd04035f26d653885c4779b66057e95b0ac1a79145ab1add36f8244ff2513d2b6988a352803dc6fac00d5b65a66410bd6ed13c91398fa7c40 +CT = +Tag = 5bb840d5 + +Count = 4 +Key = 824b225424fd22c103436ddd8d316606 +IV = 90a2cda1ef9d1dad45e1b97492fe1f2c26f16e34c07bc7334e97cc79551b3a0910a0dbe1f635f1b1eda946316f97a568b63755d7e5e4bce0551bbb5c33659dac14476b63b6e9acd88bddcb9a4cf2667b71e91c0ed9169dc3fa30b019f5a9b0a9e3220a46f0b342143ddffdbc1ba4749b02b822004e5e8ae5d310024de2424d41 +PT = +AAD = 5604d566e194d38c0fed01b49b24389d4327f8b6b1a78d785da81c1ad569aa85f0c4599a3d168e687ba40d14636ccb29428306d74ab6995420bd2ae657d4cf62680bf4882dce27cde1ebef3e4d333001291f50602f0ca5610933 +CT = +Tag = d3679f71 + +Count = 5 +Key = 7a6d5f592e7f3eae5d694388c65e536f +IV = 50bd0cec4d64e7372ae922bf53ae69ab28d0b8adfe5509dfbca909a8b4dcb4bcb03eef636fd745b20f408323e505bbd163eb9ed60b7aa3f0e089664feb89cfe8fccf7ac44653e197e8178ab42d2e50aa1788e6561a0ba8a7f276d0ee8b3cec7d031feb1602e2cf545871f7d59a4d4d7143008a4f17f127231fe8d6660a3068b3 +PT = +AAD = a471fb58e19373b0a31c16967fb502a9c41cfa63900e670d93f7dbcb08eaad62f3435da65172bafcaea06de99cb88b7395748d8ea4a026bde136685c17dd168e489bb7f0ceb46d04b1ad81ad72fb4bae9994328f793ad31bbca0 +CT = +Tag = e911d9f3 + +Count = 6 +Key = 1895ee62a08d5208313ea87c519b1443 +IV = b96825cf4d5805a1646f91fde5f95a10254e01ad5beef0901d9cd0d8f72fc4a7f793db4d9ed633264031af5a672a071e07725f95a42ce6fec6f8dcdc610a7e48510cd7a828ffd91808d5bcaf4a5ef51b4f800e1b52b03d3b019c049dfbbd69ecfcd1dbd3d4c0f0363b3ad86fb8253c46d32f97dbefc96956bd9078960a1af8a6 +PT = +AAD = 64c7ea922fa1db397b997d99e17524bc7d0a4834c32a2ba48baacd512596de53c296500dff79d78ae57cf3d6dd141e6549391e7bd56957517b4d76540ab7114615a1e22e55b8765d6f27ffe515008b197fb406680e3ffd0b2b23 +CT = +Tag = 25965755 + +Count = 7 +Key = 4a8bffea7217bf2e1e8deafcd5728b15 +IV = 032e12e6a907fb875986d2a47ae3c72aeae161a50c7b4e92ec185a473eb4b19dabcebdcb140ae83eda569c3522c3713bb92f1b8f32da839cb67cf5b429b6b83c658878097a4494d39330995e3813747fe5c4af5fc22cb5769769d7a80d3ee820268de6b30753e672b4c0ba2dd365af57731d44c00e9d32d6a32f7801b60ab9d4 +PT = +AAD = d2a9f9595bbf2e53a04a4cc311e6acb4d06365bb0c5d2d806625b18754c4eb09988a6c6db45e18329216d312ce5171f5f103f08a454c884ba8e8159e18b9503ebb1b150fa67b6ca58b3e8003d4aaa4d90d451d370663483d107e +CT = +Tag = 0f9e8d8d + +Count = 8 +Key = 491f6ed65f415044b61054fb599ca82a +IV = 41aa72bc031d101bf5c4ae0f26145ea0f69fabf7b2e8b78598fef75586fff158cce2b17c653cd4a08b359972f4f6f4b271f946de241bd1e8e660f56dd5647408fbd43e5ea686dd77a467ab44b2ab7a73717e4286aafadb5c137aac0dd4af6a894a89ed07e9dfed110c265014af7cf5461db7cab52c2a9f59253d152324eced62 +PT = +AAD = 198d8fa6f64bbad2c5d76b37c5ac7d268970b89a445fcc02618aa7ec5d1668f074050140d624f7d0d88e936696e3239b322e81602ffdbd4a9c09cd2ef75b13e58ef1c219befb77dd51e45d1dca070c7747ab15c6ad4954b932ee +CT = +Tag = c340ed04 + +Count = 9 +Key = 837e9e3867e4d86eeff5c9a2f4803e1a +IV = 43d785f7e95426cf961ff5e8c04ef377bc035b7974194770eb4b0ac0c72ac81d40390796e73e8015cdca5241eaa61c05ee2c5e31711f4e1361e3b9511f032b2ba1ac6e7d635a58bc2d1c113e24b62ed7db5735aca5a69a4713deaaae87388f70627c14da62f530f37a5bf762cc0e58254a44cb0a766fcf133bbf63231f914a82 +PT = +AAD = f77e187e440de41e05900cae29fd4684c30f0328ca2b05512a9f6020a7f926a4b9aad1f9066adaaed88d85dab0a15fd1ff2dbde8c28c6bbef08f47a11c700331324af28fa1b5cfab98054f06ed68edd2a338d7307a7420d616a1 +CT = +Tag = b474afbe + +Count = 10 +Key = 64aa6422818d9f6aa6c45c07504ae293 +IV = aed323a853902a412b8312bdbc255b09284d981ac28ca03992fff893b5239b59bcbcf85afdbc7835f7005c7326f006fc5fcaf59b0cd78281df71bfb9d60a93e7235d9bc234f2dd99e5c2ea39a0fb528dff201c9499cfff11e140aa33d2183d76d8a2b688df4ab4014717d87ac5c2ec42abb07d9018f9b8a065cc843c23d5a7a0 +PT = +AAD = 9d6f34736db6b1b93138e91fcbbc2a82634f0820f9afb840d7cd495b8eb581e0ff5a63a6e32e13008f412a7ba0fb5c54e3fce6f19a512262654eb036565678e8c58bf43b68df4139758b8f925c778ceb2234faee4a9d213ce894 +CT = +Tag = 35c626c9 + +Count = 11 +Key = d2ab93b49308cc224efd8041bc1eab1a +IV = d212d64ca18d3059f28bdef0cc10df2f99551a0167269866e06b418fdc25654ea1761a11dee0245d4151133c640d19a430f0c3c43338eadd759350562dc968dda92e1f71ef562acfa792c49c2a39594e38b296f76d08bd94deb7d6648230ac290cffe43bda80582cf2d2b0caaccde4f39dc678dcd0488922e5767cdf2e6cfa7b +PT = +AAD = 8af674cad25f1c56caf073d476ff913f158588549fd46f1263640727dfea1dab917d01942ec582db9acd47b5d1c912121df1aba3240f50ffd89b2a055a00caae3dea479fd56f767002fe2f30cdbd3f799982bd269f691dd7f66d +CT = +Tag = 955775ff + +Count = 12 +Key = 9abab6eadc7bf102fd2f70e76914ddd1 +IV = 2ef95622d05f4a3714ff9d73be5a8c6f281d4e407b3550735ea939632de54db01eb8a283e315ea6d4b79ea0b7d269c6881ce603e724b7888e3b351e0464c2a168a5f7efc6261c024ded6d7db0fb9db1a883085717dc22d242c88700f7fb92ad1f5c4266eb9d8e55e0ba2bd820e803aef7a23baa05807ad4775b6986a6a3925a8 +PT = +AAD = c2383bfca2fe7cf39ea0d8d1c8ca5a1d935ce483740b7a4950c64a4666e9a37f87649cc578fb4b408ac9f2109244c8de01796220a829c70fadb1161d50100d86059ec704536fa11e8fdce89d4a1688f2a538badf094959a51211 +CT = +Tag = f70d9d81 + +Count = 13 +Key = 9996ab70dcb07c94eb5baa50a02fef10 +IV = a776f6e3dfa5c8bebd1ac9eb4396a515b5c684225f01d777f755e7785f11f3327f911f9a677f5545989a1719cb28495dd228d46b8807f6312ebbdece666743f22ffb6e27dd43d091daf540ac436b97d47d69658713feceec389c9ee9cf5e18368267d6527dc96813dc92d485b320abd3e85377fb28b93c978717c1dfc76ff6bc +PT = +AAD = 814198b9ce8ec6bdd3ee9b56cafb0a84d294a95a73497140934eb71d06f4d9d59be3a36d9ec05c2374a2ec40f769d9846d3dbb3f42312be1ec612bae88121184f3f286284317e456dc325fefd5b800b2ce90d61dc1260186ca36 +CT = +Tag = d46ca0c0 + +Count = 14 +Key = a7bacabe6978ff7c5885df40986937db +IV = 63059a0b6e97f42a806d8ef222508b12bfddf0bd6418b7f9782ac8cda6b2ae1fbb1ed040394c79bcce489b268be87560805d7f4da478bd6a04cc1ed6206a6fb4f4f0944bbfe697251378a78402027c436c2474dbbf8eb6a714f72dd2bc6319375259748db1b319948002f6d8800cfeacd7627fb92f90bf84b207fc796b1db014 +PT = +AAD = 4ec6c71457bd15042e1ae87d8931a784014fd81f84767a59f5140e20da2eede66f07473a6b18adc3a420dc04886bb7493cca8d7b0e8f501eb116142892dc5c4d8d111a7471a409688adb2312c4c1f363c9e7a92ee5761590edd0 +CT = +Tag = 24cbfc72 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 71eebc49c8fb773b2224eaff3ad68714 +IV = 07e961e67784011f72faafd95b0eb64089c8de15ad685ec57e63d56e679d3e202b18b75fcbbec3185ffc41653bc2ac4ae6ae8be8c85636f353a9d19a86100d0bd035cc6bdefcab4318ac7b1a08b819427ad8f6abc782466c6ebd4d6a0dd76e78389b0a2a66506bb85f038ffc1da220c24f3817c7b2d02c5e8fc5e7e3be5074bc +PT = 705da82292143d2c949dc4ba014f6396 +AAD = +CT = 032363cf0828a03553478bec0f51f372 +Tag = c681b2c568feaa21900bc44b86aeb946 + +Count = 1 +Key = da8a753ac3cb367e938abf49f8836217 +IV = ff15e888eeff3fe4e358b1b9035f2a89a76f8a1e8da38c54b7c78a8556c2cc3b7845d2ea156afd9e875d1526e02caa867be836acd76aa998dce342cda1cd7f51f99344c2bb2adfc4e0c2ce1f000e6f2a741c6c4df739bab58c9bccfe1c3d61b96571cfe52cd706ffaf451c767c6488b281773afdf2563722f121e68ede20ee5a +PT = f798f0923a8f523c4bbb4bf448fe475d +AAD = +CT = b2d94c51d5697081af634519dda46b66 +Tag = 4b4ea5f6d9f424a509227c96d6e77cb8 + +Count = 2 +Key = e9813f3a7446cbde3f2444fff33d2bbe +IV = b689a9595f80d5d30320a3f4822560aee6dc0d6f093c8a574656a74a0d722ab152e682439cc89f597e0960a28ddba7952784cf33363931949f50180012c3498327868e93876c34cbcc48e840b0738399b3c0b5135ea589b2a5a792b7a46b12b2256e1fb417fbe5b392d05c81c862f1b030c53b78f8b09b0c6d48bb43781b0a76 +PT = 50b438fcc94d292811912205049ff007 +AAD = +CT = f0787db998ea3c71fb7267ce22ef0b36 +Tag = 1410a1b1ca4bc4333424b34c539d7cb6 + +Count = 3 +Key = 43ea3c6792453631d7b3219bdf0d01c4 +IV = 521f9bacc737e0c8b03d8e970ef5d6680cd73a6aea3161b26d6e87bca6701f3122eeadb69f5e181910f41cc11e8e483b24569f6e4dc23ac9232b83d4d13f8593dafb7cd4048dfa21c373fe44e82c9f1d0f8fe1668d75c9897f994e668a002787a3d3ffc93ed5ae10bf79367a95f97cb0357b69fec7d44b968801bd5a61ea4aea +PT = 51944a082449ca3bde5415e56ad4c45f +AAD = +CT = 8da1b7172c55a1ac63c811331156eae1 +Tag = 7995756cd471f7062f1c852e70e55029 + +Count = 4 +Key = 6e5f61857ac9a35a973161fa7c040941 +IV = f4ea39c67195750144846b09335a751108151f32506cd2b75a3a3d737d4b79eb2211e586ad02c4691a42f1b59c18ed2d496a2577e02c97f6d19361d279df3f90ad1a6eee4b6ddc6e81760e40726256599f1a1fb9c1f2285a4206e1237f02f2fad976af7185b8dcb4d876a88c2f8e51264ae770cf4576eb7651ec79ed07f310dd +PT = 81a99ea178e9068ea3dd9fc750b6f012 +AAD = +CT = db9157c426b76affd875aea0ac25b6c3 +Tag = f043d0984f1a0801a41fad037938d19f + +Count = 5 +Key = a8bf215efaaa9723049912035b49453e +IV = 3a267d24443d7163b5b74d7fe749ce234f5836e3d16e431c91ad2c1764169ae2744e49e3752c5886a497519d7513eeae55c2b2b564371271ad9556783912d22004f59feb745bec7a81dca2be5a2c03138a14ecf62bf20dbda801bb283a23cc7e083a7dd84f2a6a9245730957e86ff59903eec4196367c11fc8deb19a9a431391 +PT = 2e31e0ff9e4f456d3a5b500948d307a4 +AAD = +CT = 086f227bff85ecf10361d3972049e136 +Tag = e5722aa73d3e2b5e342e4ff4e98fa426 + +Count = 6 +Key = 5251cca8a67cf738e8a7d6af04372a9e +IV = b3fbedbb303dc352c3ed9d802737d7a6c2298dcd1a78a032fb8e14ba8db98f3b56ccb03ff6a82011e0f8e5d3f9ea5ad01d82f964bbfbff3076584caec505265f490ccd1a38fe49a32e4868a7713a8a805f86422b954fe65bd3c2da5113745de9ef0521f7bcc3ccb780f9e8cba393153318b7c771e1e32eabe7c7e445593765d6 +PT = bf39383a6117cd47347c62fa9d98f47e +AAD = +CT = 6240c87bc54728b10b18ca9c355340c4 +Tag = 53b1e74c22ef05641a6917a8137ee5a4 + +Count = 7 +Key = 918ddb38897837051dc4be342e7f4d3c +IV = d57836c1215249c051c2a3f38d3d04a4444f2eeac7b378fe300b297b98849ee2cde877e0fb0f273f891385f6a8677574290fae98e3e5cc48ee177be7065adcc00f9a15b2c80f7ac8d08a01363f559ff5bd8c96b802092236f02a32de59287284e85895d6ced8f6b893cbcc4a34c3999803fe3496df80a250933de0d5e314f7bc +PT = 1523e1b6994a7be4a66e4be3e0936670 +AAD = +CT = 85f9749d7646a7109416f73c461691b6 +Tag = a4fe95598b5b41cdbe75199cc96c23cf + +Count = 8 +Key = 5b2bbf3716470a651b503a25485a2866 +IV = 2a3b24c634469290587245e80f087ff453ccbe5b6559d0a614a53f81209b0e29fd5f9e29950170b18b297be39bc30da1d2ca4305a182150ba61c67f2e09efd23669a062fe54b237e78d5aa020659dcac7cf4c1be926be419ca957f00041783d68e884d9edea18330ec9f25434dfb86458f482f09b6a7f51f20e2e9cce54d7836 +PT = 36753c80ed86e31482bf4ef3bf2f6aae +AAD = +CT = d31ad08d530f47e771a589433ef20c14 +Tag = 2dbaf8204ff64964e5ace5081641a24f + +Count = 9 +Key = 81cc1fd70951b529b95199fae6356052 +IV = 576bb20cab13416ce0cafe3798f86f7c0c0cfd09a8188a9c867e0544bc48911561633068228bdc777a84314a44cfef75e2be6afe0b621a4066c8e1de1bc6490fe5edd50be3465e5b8461a3073d0a8a0e42af960280fa41fbfa9e90cdee640f8105d44d611a62d537ad2a765cb0476f296c21db049be34568032790cf33efd68a +PT = 2c873763db7c329b347d5a593a8b8e2d +AAD = +CT = abe99c87198a94875ef8665906c05142 +Tag = ce8fc23b76b705f64d8a349d146d6637 + +Count = 10 +Key = 5ce74768a2d5275617ff1805c1021345 +IV = 434bd2e078987c74a094b74b28243ab2673001c254ea6f1a0d490f463b50dda1b008231d386c2e93c9ca1e28aaddebc7636dd5a03e5772a5663648af499320dd7232f38214d0e7f5210baee301d40741fceb2e685011b70cfe34f1d523b0ba694ab29793ffce63c47b545a7b843a6448e9d3c5da34bfaf7811252ce6df334105 +PT = 250bed01e93c6f9ddcd637215142bd11 +AAD = +CT = 52ee2c398771600fa6c2d78019aae69b +Tag = 74bfd467246f57a538f21469ea899271 + +Count = 11 +Key = d63f3ac5dde4d17bdaab2b2be09a1b89 +IV = bd606b82bfb70e2e9b11e23901f3e2dbe196307e22d2ed862a0a12e6fa59a80bb8ee08276bbfc2daf708b71d163a8e0753e7f7a7c3d9f5f30c858a30f905bb7d3491353fdf07497e1c3af26a446e04708f277d3c45d54dc499ebd8a91ab102ad18dfbb5db8137d5671e0e6a84593fbc8f48d3f78bcdd3dbbd65181b370701946 +PT = ef10486c90b98106eb2716588fc6c982 +AAD = +CT = ac1d01e872acd38a43be473350128c5f +Tag = 8354daa5ed0c64a81b8ed0265d48851e + +Count = 12 +Key = 924b5685bf9c2c170d9262f96cca1c2c +IV = 4ebd83735d8b80e2a1c8ce0e723b7021366d1ad4d59d110516cff145dd1ac8a8d81c0801312663209538acccf4c5b2b67994ffee46454914a897d8ec3628dc273ed848aa9ae32a2b9fe530a66341bc8a477d934c2c68e23e639a73ae00c179cb2d17dc8395c9abc5d5e7bd8b1c0d2c118fa014205b7952f3f20644e5aa6cd20c +PT = f9ce189d7240fdea1057d2d85b84d7a0 +AAD = +CT = db9845e106eed76510486235faae05c2 +Tag = 20c0da8c4c97595a80752a416ab1b307 + +Count = 13 +Key = 60f2bba5585b902af4f472d28115e6d9 +IV = cf4946f97ca0b9c4448efa723825b0718505c7f12375fabf40e4416e93ad2e06da8359ed00980a895be9eab1e0b2fc7866cf1d81146f1184f616bd48217d7fba59f4c994621ed4b214320498758ebdf8327c3916c8cd20153b3464c7148ab1e66c4bc9b331e96632793de38dd320befe9fda4228e691a335607e873f86a52eb4 +PT = 09a12ba4f7abeec32572dac8175e3ffc +AAD = +CT = dbce2a56ba79e79b93f67dace85f0bc8 +Tag = 82e988e8af52f5c973097917ad6cb9f2 + +Count = 14 +Key = 8dc3043ce29973770a44c4ffac704cb5 +IV = 38674159381a900196d7cddbc91949c5331b555803857c7df98bf80c3a596e0719f76a0ab2ef9f02371057e0ab294c43d7763cf480ad4920981a85038b603eb9835bb9adeb442fa73499f0f45b5dcae1cea78d058e8e2d1b628cb3f267d76e1d9eea60624ba89ad9d1ff14e4413e20315ed2a2b0dcfecd199ccb84d00adaf14f +PT = e3586341642d124405f5cc73a83f9a95 +AAD = +CT = 4e17057a7571d72847d805c1400a935e +Tag = 828a224b680158b934ed3625972860e2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 39f19040c6ac5bf003cc9cc02f6f9489 +IV = 8bb0f67bd11de6b32f88320ac88e518d05efb63dc87764cca06f8311537a71e7f2e41b4a902f439a3069f9ff66eae27e6c4e2bfb989f0f57195ca96f13217369e76a7ffbaf4d575613cbd88f98594f917cb1f22d0dbe77fbf0999ccac9ee57b818e06b0f9749fb2ccfb47ae5c748ae8a53dbc9b9bc8b00fb09b63d99f29c4648 +PT = fd6214afc20f27af73521e4e8f18909c +AAD = +CT = 479ba60c558789e6dcdd1ad713c2003c +Tag = 15fe4df8008b845b17f59bd5b8a6da + +Count = 1 +Key = 02cb98e6489d4126932e60368408a537 +IV = eefa9b9527dd8e09ec2a5047e4094385e985d85f6113e53d04c73801871dfc11064d346cb15b114845bf96af5ae04a93142db2625ce990f17d980762ed8ca2d4c5a5ee0b941a4fad58720e1c8a04726e7293706e3a9a788c4db6c121b4562fc5d52b6588bd23a2d01dd4e3c7054963d8fe54fb5a3b108d1ce682990ca09f0da4 +PT = 3b65b868e0ddae0daaed043ca9e79571 +AAD = +CT = 0c1b6afe12a3d0e8d5f39a068de46ae1 +Tag = 812e955971d19bdcbe13c6aa6fafb4 + +Count = 2 +Key = ac35406008239a3fbf4d910450232ee6 +IV = 6def62730e01844a3063a6c5625a557f64ba8d6439b6a91da20802a63f5f4c2182412433ec6c9b4d4a81209bf50d34b741239707c8a10a60cae48cf128cb1d9d9a66943b94bc24ed2f3c792b82a6c6ec392fdd99451c95fdb1b8c752a42502bb0c82881969d082bee63e92a5b21776ec3048ba5ad6ce907dbdddd9592addce8a +PT = d756825a2237b1253e3514b88aa85f22 +AAD = +CT = d9362aaae20987744c3ecd689f344ea7 +Tag = 7f868442769fba456ba737dc9a4cad + +Count = 3 +Key = 9553252f5233b8d99fae45ab97133add +IV = a4430f3ddc6e685b824ac5be6aa25a6b08db5c70e6b369c55c9d87cfbd1acf31b1a10515edf88beeb1e36d02ceb90d6c06cbc21955b17d557a0bcf9c34ab73eaf9bbba8c0442c37989f323e2e059c2edf866d5d7a74814a27d70118566f717024bffda7156b8ed95fcd54755913a7029c20998fb4c8997598aa2cc0412586330 +PT = ec019b5f265ca2cd259089612a832c2c +AAD = +CT = d8bc996c3087dcaa8750ba78e7430b63 +Tag = 8358e25fd2c582f843abe5275dd19a + +Count = 4 +Key = b8551b268c512909a2e0d92da10a8b54 +IV = a5015d985f8f3dd5f2c276ba93f56d6872b420b24f917f2a6be7e300d68b626a003afe239ede635b988a0a70d92227e48988eb4e448fc6283c2d8bb633f3b844dd322532900e9e50b190f4bdea3dc594478587e029432d78685ffc270590e43f7290d1d94698042b4ed53b6e7c57786044e31c7f295c639c5c730064660cdf08 +PT = f446ff929d4476ab3b4cb41821b6666d +AAD = +CT = 1c34632b217679a1cb4afcd3475f7186 +Tag = 9bd4350881a312c86c598e23ecd37f + +Count = 5 +Key = fcd50892b3ce6775cbd2778ef2fd9c09 +IV = 7eadf7cad3a457c3fc41d55affa6b66093e78ef8dd8efc362f5fb9775605e161ebbefc7b257d34feec01bb46d62abf9aeb5b8073dbc28655b5baf34c3806ba264a5f88935a546f5e79da2c377fab9dc68d3fb525bf8534d0ce62d9f3fbb55d42ea1b9debae706efb36c30b44166800a79d239399420fec06ee0b0819c11d137f +PT = 437c94e07a25b4ccc7d578b9c92539f9 +AAD = +CT = b8898a5c2cbbd807491a4454d197272d +Tag = 92798fe6f4aa95321a50448c3336f2 + +Count = 6 +Key = 4475c6338d1e76b9f55ccad12a17faaa +IV = 4b505749e239fd061fd4d03322b3a168b0b3a1826bc1bfadc3bb9e2a28e50abaaff3ae7379a6dbb2dc043a18cae8293aec90c528a41c6b26fb4197176518cb3ec158ec31b391815778aec0e4a45e85aa6d3690d99a986f5941d12119208a33addcf64814280c4a1fa8ba195742aa1e623edc40da3eb88809840b8403cbe6f3bd +PT = 60c543aae753e3b03c080e5dfe139b2e +AAD = +CT = 64d69fd0b727b5b2f5be1cd67cf6a061 +Tag = 94014ac5fd79710f637a2682620ec7 + +Count = 7 +Key = 66922ce05daa5a621986209aabb49c7b +IV = d90d9eec24688c64a6a6bffba3c88cf5a82be9f9562929ea386123079d63009f2201fee6bd79ff13819a7f83a52ee133c16a7624f18e2b178c07652ffcd34e4003e6c82f7b6c141588a4a40d3c9637c05a2d6600ea259d4ac2cf1b3663c4044332f3de84922a17fda8927aafb8e097bd17df0094c0038f7a4f123de34a977053 +PT = db7dcd56e692858a84c56728a0d09b66 +AAD = +CT = d2b4ce934a6da2897a7c4d1286cd2e5e +Tag = e7fc6c15aa509674e1cf539b64b19e + +Count = 8 +Key = 3013a1742e3ee98ec4953492c632c943 +IV = 2e6d2d68839903ee6c87ab243251af025871e85e7cb64874b4f4bfa44ca32ff965fa91376a7d7bef56d1af4caf32ef4e3386afcfb4ba20f9482458cfebeb01fd87831bacc8e4c29c1b29c9c8ec393d5b0f9c036a75328dc3dd5aa780f621f56eed58c2ffd4ecc1223b4fb03ac20b88f1285a2f0529372817a0d5d83110504ec8 +PT = 0af51724428bab1d6807eb27538cddd5 +AAD = +CT = 6cc16fa439bb11474ec14580babb4fd3 +Tag = 579bd63ea75c696e9c18a138d2cac3 + +Count = 9 +Key = 6c85eece9da1824d050857233650c4f6 +IV = fdc6c869cc195a038604dbf6a042d2652011f74af80febec2cc87e84646abd30f65a853bd543f2dc88952692354d1fa82bd6fde5aff5b37d1275ee39ff714106dcaf21fd9776a2c21697021cb1dd02600aff968674203aded31d8887d64eb05a502fce810a62dacbc0289d89a913c4fc9622504f4cce0bce10a57f88bd88b57b +PT = 2d087cbca6be500737983621f6cae18e +AAD = +CT = aca3ca0ceb6fc427f239098bfcbef968 +Tag = e75ff4e4d7d6fa22a5109ac733e1a6 + +Count = 10 +Key = ffb2195a5aaebaeb263cf1dd0e665c73 +IV = 5e97b08756da9e117d833fa379713cbd43f8ae3d6c10162a41c3751aa24cba2898dd6b882f16c06074ccd2154d966dadb274ef14af21722b1ee13d1c2e499231d8c4eda00acb2f254d3468ed8922198d98e9833aba43cd6b7b8d85d20c88f4bc70eecafa6c19f0032b3b398667ffab4eb9cfd328cfc75c7acd44d4d03fb41785 +PT = a86e2a4716c31b9ed35b5bb89d0c8c08 +AAD = +CT = 2810034fc35826ee9121faf80d1c6cc9 +Tag = d18ee2bfda15bf08c6f2b1d2d93a6c + +Count = 11 +Key = fb76aa96464b3f8e83dcaa3b91db015c +IV = 5420cdda3b5fdf40af53f6d49f53bc3eee258252eab3c6aeb9d184a393c9b2b86a1adea079b4598b35b0da6ebdc8974559afe44d0ac788c97ad3db46655211173a70b217be85024757e175e06056adcf8687617066a6b8a528209302f030134cc25790cebf2b610f98265be2170e7fd5ef3df15969f262093a6b5791b107e524 +PT = 89016eed984e72dcffe9ff523eaf6525 +AAD = +CT = 443c7480f10063df36fa568c8f6c6f7f +Tag = 2834276c237a7282b516ba5503f1b3 + +Count = 12 +Key = fd6dd8231ebebc60341543344d973155 +IV = 13fefa7b837267b837fd9bd513c7d6061f3bfd33fc2792938e324b76335efb31390f1142c5b22f2e0828629620465e0a7ebc520ed11c410aba704a3bf67649e1c7a3dcf1ecd9548dbd06e7a81ce0e9db7532eb345b19ef561ce8ef7f7bc65d29d023b1fa8fbc0596d9a7231f2d1fb7c5c7a7ad0eb57206e14a3bebd287bcd2d4 +PT = df14c620b21e771783c7f112d3420ef7 +AAD = +CT = 6cbfc56f9068b9654ae252d41444906c +Tag = d05284777e093e74e819244b5cbfdb + +Count = 13 +Key = 964252c1915401ce35228e4e2c4204a2 +IV = 65f7d0a3e37a5231b9fd680c1ac56055276d3c1e4229dbc468ccd867bf3bde50304124a014873980c55420d95d4b6441bdbf498150e6f0546a8f80f93e263f85b28c11bba9ecd147b5fdc36c6ec7b9158b51c78a8024052e07021f1c7420d829b39973d5c8e7fd169aa04316ba98cd2a4e99ffc12bae9f35bfe6adf50ea7bc85 +PT = d1f5111495ddd885ecdda6dfb6345eac +AAD = +CT = e5c2a2306493adc6e51a278cb10d3981 +Tag = 168c6356b208ad74d0d05627f9068f + +Count = 14 +Key = 5002615261f0f6c7cfc42fdac36bb4fc +IV = 6b9d013499d45e74aa3a96cff0a1649f889338e972855473d77a0cff1c3079e81800799ac52792967e66e0006c8735ea059ef531ff72be5b3f93b276ce16c9f6cd1f9f0e90b4933fa493fbac908ed01686b0aec102614b78927de78d68078bddaf96bb4727061510b64ba2f0eeced2eb7574553bdc09dd60b076456378ca8368 +PT = 9fc5c47fc942dda29a3eb442c19e4f32 +AAD = +CT = dc7d2781b30d1fa66d85d47ccba9f916 +Tag = 44511d5890175013f908f1a8d20ba9 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 62e2f220c49d7bc7e3ac774bb09a4e24 +IV = 4e8196a3e2c6ea824bebb6fae8bfaecf719145a7820cdc45a482bfea1fe7aa2c0b42c78f092692f152a50fbe88ae76f9578cc9e3615a29d84165edadbb1d68586a06733b46a558d5acba9816db158e0a920addb3557568a21e38cc299944a20176f8def1ede35cb15f15c570d80999cddf2eb93bd96bb22d5ac69c757cd8d215 +PT = 542e603a6ea4a27a4fd44cf7529ed655 +AAD = +CT = eed255a9cb5f16ab2b222d8245ea6ac0 +Tag = c875167b6d9f6effcf4085101fcb + +Count = 1 +Key = a33dbf6813e426ba8a93ee9ab1d61907 +IV = 75dbf43c8e2f1a6def5bce0053bdb52a6ad2da4d49337c426ba6b7cd8d61857de7c56d066adea5ca1807e0ba5f8beb622a06666b6fdc11747ad528e29e61386a64ce0376fa099dbb16e8866b5e03512fd68a27c6c0fa5177de50166ec3e4c6719a42eac9fb98d545f2089a50d033218d94159fda7360ef06c9516090b1b6cb86 +PT = d8d5190e035063bc7ccb17c0f544dc30 +AAD = +CT = 82f8c211eea7a8e73c4e73c930788a23 +Tag = bee283d6ab9e7e76207ccb5f1c76 + +Count = 2 +Key = a2ead460f4bd099cc4743d38810fe1fc +IV = 2c7f7a49eb5bd3b82d9c2ec63c8c9d412352b9d0ba726a5781e95150a83bb3760684a4c88ea1fbcb35743fd71367a0b06bcadb80f454e187e1b72a46ec60b2250ccc945c79fd87f20d6dbabd7838a96b5fe2ff933235ef85c98ebc253ceebcecd1ae735b9dcd75fe4e57d3946728973d403e76fc8cd1e81a40eafd13aed5ac37 +PT = 03cdcd4add547c84652fb5179e9e52be +AAD = +CT = c7259d34dfce4e56e6bc96e10d2f796a +Tag = 4dc586f8923fa6e2cc2b2b286ebc + +Count = 3 +Key = 2eef7e5d8ef3d2da0351bcbcef5fe45a +IV = 30902c19a66c1a45c5681ba573b1905e3618ed84b7fdc2a5e4858fe52a23bded0afbb3f6dde3cd29395eed66c08629b23870e19050c4a811f3bd0b18a41395032d681d3085c9dbf89d95f25f827d8b94482f63683bd746d4263fa56d7b3bae3ecbef2b3ee936a90860f71606c4c33109c8136f8dec13335be7e43e053c71afb5 +PT = 6067a3421dc84369f0d9ddde36e11116 +AAD = +CT = c1f3aac9592edf5876128dd11e8bc35f +Tag = 373af5595da87aadfc14582adac1 + +Count = 4 +Key = 8fce015ac8ef1009986fd116a4c8b007 +IV = a120eecec13fe4d8ef0acaca9e0b97baadb0d7e46f401744c4037f60cb02d60aab69d7d19de94e4543f09e97a78ca3cc935aa2f6e70d10a052ae19cd85ce4435b22b04ba68a19a44a0b8305b1c6c7c105891183b0aa49728003af3de9b110f825fd4bd88bffbcbc8533623f1c451fa73f06d2463d738cf1acb8eb9c3465f393d +PT = 2d3b9e8653f1b52c6e88559a91b12004 +AAD = +CT = ad827a52f062e249a13d4ffe5c73ba04 +Tag = f05aae4e9b16cf1b2d64902955e4 + +Count = 5 +Key = f5ef79ee404609c82df1406a04b3b323 +IV = 746b72400d19fc229584d7c1f128f5a56e9294373ff1e34a52f86827757cec358f6f246848a2c57c1475cbf0afe789fe719c3ee798de833ec9257f04e283d0f03d7e21199e424871275ac0192caacaa2c08bbe34439fecc36d8442458a312f62d515c8d9e8eefbe4a1f55b4c35abce6b754df7a4c7be8f537690422db9bd5d42 +PT = 12dc620fc7e4e03a0dc48fdbfb2fbd0d +AAD = +CT = fb2618ca0f70210338046e4a53873dcd +Tag = abd2270e668e9fd2a94425884c92 + +Count = 6 +Key = 62cc4e331af9dd5c5596765f46b7bf18 +IV = 361a0aab8a638079cd3a6b6afd2630c556d3cca274a20c437c85c8d70eeaee7975b4a6a1944f66638e313efc6569b245f77010f7f67b0ba630708c57536aaecf34690d8deba7a37ff8d0728cd9f41c74633df0e6d8ef6309541c5cd1f850b396e2f25f11bfcbc2cb736787284f67343b3111b9dd3c52a5eac301e948e5b53707 +PT = fd3c27862ee6cbb738f2d39f661f25fd +AAD = +CT = 08864d4c3746248d6083de4009034d76 +Tag = 413344295849909fdbb277dff1ff + +Count = 7 +Key = 04d3d16b320fe9aa346a71610cad2756 +IV = 3f579cbaef46b5748d51ff85e9b8cf4e439f750d5ab8d47a7e167a4c7212cad27a10d130f015bdfb94c56ba1c7ac2094472b9a5cdd10507350ba774faab14550f8ffca0827e25176d602bbab36fdc1fba35f28b8860f92c2a536c7229ee69f055e9ca7ed5a424d4fc1826832940a104a23c631535c9e8bb72653aa5024dd8705 +PT = 9768a0ee2e580f1c35a38003d0487f46 +AAD = +CT = 083cddc385fe7050749f4b15e23e7c0d +Tag = e9e26cd232473ac3cd6f9e37ac14 + +Count = 8 +Key = 2b29929f37e6a90bfaac06be8fc77928 +IV = 50f611b399982335563152a7b96f692412e91cac55e7e644c7de7d48ec1d0ef943f71db9bfca98d5b7c645aa0cf5e955cb07bc65efffcb00d9e8cee3c218c40bc4346f3be8433c797bd5d2752840800a2848017da0014cfde637ad7b8a21beb6bf1f502b897a119e736cce736f2680289e0796ea3e49f22d075efa61ef231504 +PT = 8706f83daa3f89ccea1cf58378ef4939 +AAD = +CT = f0dde5e4848f4af0f1516ac3023dfd0a +Tag = 77b8d7fc8e1c3485cf560ce81b59 + +Count = 9 +Key = 1b1e28d2fb1c8b140e502e18eb097e12 +IV = db45837d0d9b23f8e6bd241b17c4ad855a4b9551f2afc274369bff3e34492e4a426986732714498fcd29efe33c8f7dd877e7b17e6915785a7ae98b691dd925e580a8012f0315e5cb238dfe8844b345cd7f956f3bd6cdbde3e91e65359e4df40f5d39eb931098d221343bfc733cb862521182d7b8b72429ed1ba98be5eca1a123 +PT = c59b93bea1f28cbee9b65b810f065ba1 +AAD = +CT = 2dd68e739e6569a1bf5353b0e131118d +Tag = eb398f36d5083fd9628de967ebee + +Count = 10 +Key = d7b651f44d91e9153e701769674ce0b7 +IV = 6f05e2c9b7fa555639ad3c92e67b60596538b61ca275d366ac1c33cf668faca4cc71e2149eae0c3b727fa965b60c87b1963be51a7419db5e5db2b71f43b31575d330d6b8bfb2f03ed78a3f8586063c979b919e9f3c656c813d78c44743a34d0f58bc5cea780f0190c1e3a96c9d31391b0268b94309758e6346c3a0c14a4088f1 +PT = ee32252d66dac612034ad0ea10b1a02d +AAD = +CT = 3f046a56779646ac76892dd1004a0930 +Tag = 2e8d264d8775c8fbf66c17ea0f9d + +Count = 11 +Key = 8a0a53c6563e9433ae5cd92deb65fa93 +IV = 2f22fba2215c2fee39cabe1499e7842cc6e6327eeef543e3c218c67627402863b661b881e8452ea78e929953467d4123ddbb32b13302639d6a118139d1cf62d3ebc558ffd9bc973c9f92e3315331d5349cf9955824ddaa3daa33702879ee325c8eebb321342d8c3f747a0d10b229f787ad19ce518808065454a25681e6a07f63 +PT = 4da9e6a8cb618ae6ef4714b67845cdeb +AAD = +CT = 107fd7c0e46f9e78c7495ae8f5584428 +Tag = f85957074d375e303fcc7b946190 + +Count = 12 +Key = 6309b74175103e5ea60f9831a13fff7e +IV = 134d550ba995f38560c54eeb79550c6fdd773b5cc1d4ebaf167b4d8e47b64ee3c1ead6378f70bdaee976fc6f2f54bee2a8c5f20786d9e92518722959c1379b5dce63582062d9e7b339da22ea8f8fd9c7a3e0c16dc0f2d3fcf02603c21aa8f989752a2e3b1660ade140402fe89b00fb5d8c01dfcd2237e8002aae5e66fc0c21ae +PT = 7958ac0fedbbc00c2431fd5a03508c5c +AAD = +CT = 4ebc06e12e342cf210a5005b8e2b4b92 +Tag = 287ae59e674f4193b7e0bba2bfb5 + +Count = 13 +Key = f2323caa47d58db506b0aba44d4c24d0 +IV = 767c6a82df2b701d7d65767fa74999760d54d283ae2d7a278bea803b7aed6034f04afdaac4ea17bafc91113fe298f16a628e33e58eed0c54f1ae17a4ddce28806947a487a7159c75d3cd779d16750e175d9f0617c61d1c5146a95876b60d9d7e6e28b852c346cf9bfd85641e0104019b0cc80fcfa972dbfbcab57909945a777e +PT = eb9458c0e77305c38c1d1c10912c0a95 +AAD = +CT = 7f0e4449232e4bf42e9843ffd9b51423 +Tag = ac0baac37f4b054b0775cbaf0890 + +Count = 14 +Key = 39c272b95e7b3f2ebbccb80a682b77bc +IV = 0c35a5fc35f9f7d7e22c4ef9a9d607af924c5e6ed9ef6bf1758817803aa9fb11a84938572f525fc49a939448d3c636fe1b0e490237b88f9f4f04a70fb72a732ee8ac4d45fb331d42584e7599ee5f05d2bd7892d8c877abd314f878fde220cbb0c780ab17111734e98810074d65e7d53c01dd31ae8e46f224a148754f751c805e +PT = b33b711ff41461dc8fe6a0e96e48f656 +AAD = +CT = 502f3e9e132930093567b2aaf8c6745b +Tag = cc71dd4567a2826978da8291090f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 082f26fcd7c0c7aa12a4baf983ccf299 +IV = 4a32078052f152c284d6554671952a0c47823dbae97fc32883053e586d443b15ba1ba7e6935b5cd31b62116d4f1a6dfb9b191bdb129f3c78d9843b45dbc7eecc91a05bba9d18b62bea3701979307cac722e1135e1f98728d63a2976287eefc35c287821175ff460272058fcdcb90a8811f596f828c8ef064555bc2ccd7932dcc +PT = a559c3800f052845f20e0a4a92af87f5 +AAD = +CT = 26e72311e77466574d9309cccdd6681d +Tag = 8119cc1e2d217eeb51b6a22fae + +Count = 1 +Key = f4a3eb37e349727b67f51bb740bb57fe +IV = cd49607cdeb171963b2fcb0255cfce70a644d26fd73bc27b4510d1e42c481c0c5c74b6b8bd22fbfb9d810a7489b6dbc129f9d2d1c1bed001dc3b9d9ebc54e71c08c5711abfd0b7b13c22bac4913a33491742c72e19aa6e21f1a09f7c472f53ffc8b40bac84dfea791afad358ac00ea35e3f735e2ace22487a9d984b8b061cf78 +PT = fe12d20f95e26df61a2da4b826f0cd42 +AAD = +CT = 7c982b837fc94cbd5f078451fa8aae0f +Tag = 8636601f921324a4f5641c4c18 + +Count = 2 +Key = 5ca3be37cdaa481887ecb67a8df3baf5 +IV = 89eb8e7425d49cdb87fda05fa41cb5b4602ecf20d10d3a478457b96f5f5780d22ef8af8af6e8e6a67f02096ed0ef70f2d2e2b4849482feb233dcf0a75b209506c97c1605706051beb88ef74bd0ea209cfadaf9bdc3d42b42d61193f124e1a5553735bd4fc655d9a85d70bc22685ec1d2c547c68810e46a1f082f537c153df502 +PT = cd2246fcce15ebd96087c3f65146bb3f +AAD = +CT = 74a7bfc98f4e20bb79bf4fe46cac3831 +Tag = 151634b8af2301cc556d5a8ece + +Count = 3 +Key = 3c54cd9bb8092e8bbb247e1eb396d222 +IV = 543b857b801bc1fa4f88efec2e483eb2ac68b305677fa5d0129bee1121b266505b0a508cb5384739a04d9c93fa571c6799df3314ae4225fe0c8349af9b4e25a866b96309962715a1e0502cb4a5d329c51b0e6d1d27d43e0cc06b9e5eccfe637f9a0103ae00f9668253920cdf81fdc75ece9d916902dc614252df77e7f3e6d3cf +PT = bcb5e2ded2cf0d69531592b6455d42cf +AAD = +CT = 18bc08ae89d9e29e6b23f806f99a392b +Tag = c037de7c4cfcdbdf34aec605fb + +Count = 4 +Key = ac3bef8a56d6ad01a7a742a7bbbeb0e8 +IV = 5324d943243931e91afbfba4a737a94ba91884617940230a57c2ad6472e889c8f9d2515e417dc47464539fdc96de82ca74616fd3e867e137990039d6fff12a960acc2bfc8ab68b529f64545d62ccf2bbe950e7521133b5b40ce8faad3c7b3c53295b187b803663f13d034ddda5fcd66d8fd121b0a831bfabc5d5962ab5621da9 +PT = 276fad5aade2a5fbc591101417f3a2c1 +AAD = +CT = 087af8024d5e01b6a5c2cd295b98607a +Tag = a414d3f03e08b9b27ebf36ba27 + +Count = 5 +Key = ccec39fb917a514356d2f59640a48c40 +IV = a4dad6f8b6cbd17194ec3c945914dcddb05a2cfb26e13ccf66d1c91c02c775f6e52687ce6fc50e34d15c77a6d8ac8fbef235fcb0638ceeda2ff112837fbf26bcad303b925d5696ccdb25db72101f73ad608caaa62c3c38685dd6a6f6e0fdba323e19aec0e55f91491abdae86bb2d5c60fdf55ab6137ab992ef5e1f2da9546c54 +PT = cebc0eb64f60d7a4acb904abd7485f27 +AAD = +CT = 2c2a7b61151ee186aa52d5c0fa4f7d75 +Tag = 956d7b4c13458a779b3832aa8f + +Count = 6 +Key = ec673a0cb27e9af38cb617b472fe120d +IV = 7e75b30498c6a34497db8aceae31edcee20c0db78ac9ee92de3adb10793a07e3e56899bcc60c3b21ff19af6d23c8f77204889e5b2a73121af6f896001cc8ce89612a973dbbac270a03d2824982df95d1065119f7fa451d23fff29d29e1e0291c297cf03c1de0542984f9f6aae2c0e3f1ad83679a0d45e966c6a137b3edf7aa43 +PT = 797a36fad09173240e3611cbbc1e75e7 +AAD = +CT = 36d829b2ef673658accf5e4fcdf6f3bf +Tag = da2a8bbe79115e75f9e783273b + +Count = 7 +Key = c2a1f61bd08facb2cf7f13f41386827a +IV = ba7abd9cf4e7e876284664fe42be67b66ae153fbf64906fb44a4b55246923378b82e7b7d122a56d3feb31dfa55c5362569a6d1b96a914f1cb4b3d3e319818f6987fd4ce1c59a795680f0bb02f830fc754a5e120b751b9ab4ac66ff0b6be25d1a70fb435ad36a85a414805b112b613fb6769ef8190cc56e52067d31c6b695cbb3 +PT = a58b9e5e8dd8d03fd2cf1708c9a89218 +AAD = +CT = 93b499a344a1069800d9e9f15826aef1 +Tag = 16579aaf27350f837013effbfc + +Count = 8 +Key = f2e9f82103161c2a2768509fe07a74ba +IV = 87eceef81bd97043681c3f6ba4dc36a43a164749487581198a8ea5ad9ac4fd5796bb33b70624d45f3ad2cfae4b17d57c2e6688e75d5b79c825c12b0e18b76dfadb76ef32cf393a6ebc35d49bd3dc8cdc64843e46b5ddd336af4e7e68c4ec709981a157c7fb2ea533b7f3a6bbb36893dc3f4a4e3b6b57bfe85236a845e3783fd7 +PT = 84c2fe81e8f6677255b4ae83d8d6f27f +AAD = +CT = 1efd676353d3853e49cbd487212daba7 +Tag = 05a8c01855a6032fb5d3b7d522 + +Count = 9 +Key = 570eba29ecd239ba8c1abd695ca7750d +IV = 37948d10967e2faf96fa4e4d7f1fce12f024240aeb01532f95fb7b70d1eb8f9e66e24105a89bafbf3624b50204eecba266263f41564a84375ceade96bd611e65cde92ab0dcfd1924cc019cd13ace92e042e47c7ec550fa731f99376bc63296a1bb8774b607fe080bde4422c439a5a33ed9bcb0538f70b8261f2e133cd331c532 +PT = 59aa9db323076d6415058001140bbf0e +AAD = +CT = 2ae52c399e66e5ae3d0b76dd7b0fb18a +Tag = 3b6e5c78b11eb0e97bba36e4fb + +Count = 10 +Key = 2a333a8eae3e6ef93f0644179febdb22 +IV = 46996403cb85acee7763ee100e4a29f50303f2c1663af2f7d8d8b4c84de7e09e3d4e9d6a48c12dc321c989f8b0c7aff7206f78cef084224d12c67f4cbd53afa42817c1e9b7e76322de28a75b67fc57db292a6214b07745af90c8b128d2d0b65798d9eae20c2d866e547529243e344d177c4634fa3d28fb493cc0d11b5b0ff039 +PT = 6ff16379aee1f2a45f13c86ae252ff4c +AAD = +CT = 9fc7c1caf1a9317bb3d8b6f3705f59dc +Tag = c50cc941e3a2f9f656fe846b20 + +Count = 11 +Key = f859a4d1abaeb2dd4bb08f19db434183 +IV = 4ab73dd8c28913ebd1720e730e37ed6fca8f53bbf7ecb13016178700508a271d52c903644325cd10d2d6589656462bc4ca7e7f40bbcd60559972140cea3316bb1365d0e0b5df6581b6b38d2cba9ba3042dcd8a8086290a2612e92774e2a58fc9f287adab51b0cfea6d6837a74c2b73f03f07c194913d98cdd62e3da240fc8d46 +PT = 27af1b8be07b332e01040117f608f0f8 +AAD = +CT = bef2b2401d9ce5a1aebbe06702f80f70 +Tag = 549504d9a57c34f684a1a746ec + +Count = 12 +Key = 70bb5ec24eccf156cf9774db721bb0b3 +IV = d5ce11276d8170d4f3a21e42cb0f8790a197b50c0c13097b3726ac4aa44d6ea866aba7b7b00cfd08d1e46107aab8c0303eba7de48b9cedfb8edd50c81f59366fb43b3a6e9f981cd0aeaa8a97ce022b34eebf0e8af1e98f58a14f0ed8af1dc6245ea682f9023655ebcbf292430cbfa1739d758989ba58f4a4db8a9d9b41e67b89 +PT = 682a63fccfba5bf82209c43fbf877148 +AAD = +CT = 35d592f294779db8ba1f5a1c7c63f8fd +Tag = bf930d0737778cd988d5f8767c + +Count = 13 +Key = 0ee0c696cb07868eff7cd03b432ce734 +IV = 3bfa588f4f4cff4741a020f7239e4f73626083bec6ec23da61528a2d185e244b53ff9c69aa5f11155056c4eee3e01ca5942dba177282644c607554708bcfe87159bcfc5ba9790c831c28072a320206c19f1f6c15c55bb5fbd24048120fe9573ef8a3626b43915bc1717f0ac3509d776651260d814b3d53797b19f0f77459ebd8 +PT = b8961e6ee3cae53ab56e39dcf617c35f +AAD = +CT = 8279fcab906eb4e2771bf634fd0e84ac +Tag = 22e26f4bbe71317671ad3e6600 + +Count = 14 +Key = 712af3ef62fa16c0b48770ec75939d4e +IV = f6e92e5915979f386d95b18f4f1b815526bbcc9295a1fdb0c1d6640c0f4133f5591ed0b39c66683d7a53b980e9a6a2bf803b5c778070a7ae4bfdd4a5bf086ca02370ccb3f9013f8c905e6b2f39bb87bee91b549c4a34f141281fae682495aaf5e6d29665bd9788ee932657978021611b80e31d678a9a96fb8db2f225089484a9 +PT = b07658bf22704778d59a3fde25ce925e +AAD = +CT = e14a764e14da63ff8c771d3bf3776013 +Tag = 27e4ae6aef5a03eca6b0b7c292 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 4f478eb72dfd2548271a25659200d7d6 +IV = 10cac6f7791d5d1b967649bb1da8adb985089924c41473bac100002938c985ee33161080f22f8493820e5aba76e27beeda3511cde364b2c8b30af3c00f74c12eb5f20e198d052a65560f27c698ed4821bcc246f081efb6e5b334ef1308067417b1d4715c93f5bb2f618175582c7d595af71f9e57e009b46ae6417ff0e3c42ad5 +PT = 3120a11b93a14c8d55fdf78fa2990c0d +AAD = +CT = 6dd08b6f33aad365793e6968c2419491 +Tag = 22015c6405cf84fd9215564a + +Count = 1 +Key = 034fa563fcc1a0f14ab98bbff8055358 +IV = df0e700cb7bc3e780de67628b7a2c97cd8e3530ce124da8d10e78b1e7df54982367708509ff6ece64d41c4383cad1b3b62d80000d7426527af75a41a6821a083bfa144832313867bf9480026589f05fc40e721164f8724455701be77692d0ac8bfc1935fa9fb9c28a6dcec4dede93add98ca37a6fcc258fa07e0e3aac2dcdfb1 +PT = 835b4deb38b8a6b469c93345a3cd0132 +AAD = +CT = 46c167c34b9507866d4484ba2307ba1d +Tag = 56836007116e2c8c589fd8af + +Count = 2 +Key = a898dd99918d6282c3f837018b3a5436 +IV = 70218892f9b6e870397981dd85106147a2865ef5f775a3b49b8581c430a2cfa03623c1a13d23984a846df454a03b9f2f9e17beb4b887785c5ae39f270af75eaeed11afd509b1a356097ae188537f06bba66106455fe67abefdeb2fb9752190fd77a9ddd5f7d01419356b12f9dcd1c5f5ca84b24c76648a8e4dc2ec649df53c54 +PT = 070b2e6d0514bb0246b701f9ae5697f9 +AAD = +CT = a7fcb305b87887638b03c4ec141fc891 +Tag = 8dc515b21ceefec3c71ecc6a + +Count = 3 +Key = 991adcb7e22a1fb219564061e3d94362 +IV = e9c94941ee1fae61935682b3f3c9241c8fec05d8ce4c8e0f965f558ba2d5410e421e5cc120fe02e7e55c0ba6f93506fd4e6688285b79c3ccad0f6270626f8a72b3244225caa0254962c3cbc1f83784c98f2c3724036f9e83c4cf66e6820bf7510b9f1b25b9cc0c9e10785e53e2b4e09e496645cf3724d7e5c31d6f5efb72a870 +PT = 75bceabc393843fdf73708adc8fd3324 +AAD = +CT = 670e75addd1e4d520a1b188730ccc528 +Tag = a7bf345aa5924b58714a7709 + +Count = 4 +Key = 5cb9563eafe06c4f2ab71a3b180323f1 +IV = 6014e120e269aaf134ebea7f5c1ee8adea0cde0d8280fd31c250774f9b77c1c346a8a776aa20bda1ba11bd64aec7ee5f1ef5be27ca7b82798b42e1a9a032a1c5918f684164d4e8d6f1595ec24fd61d99ed1235bed049ae160478b547b1499b48366baeede93c3a80f68f1203cfbb12c2b7ce94d8018f7149bf91db176073dbf8 +PT = 5dcd7c4522cb11087e1be98452ff4935 +AAD = +CT = e9b8f1c4f7ee8e27e0573da15eea2e28 +Tag = 7cc9f0e794f0cb3a0c5642df + +Count = 5 +Key = 079fdb27743fff983f420306bdcc8506 +IV = 929285caf3a760b40f8ee949ef0d762faaa68ef9622922722404c3dba3a22378fcd8e3d298498b2a5e975aee855a9e4a3c951e543a78bafbce8032c2d0698c50f0ca985783eef447d6c2821390907baac8619727d60a905dc3147efd14acbb8508bcb29364f5a6f346da5195d1e627b79feb344b1902bd3fe862854bda361d77 +PT = e7eca8edbd6cf315c11860d9e8ff2a9e +AAD = +CT = 58c8367c03dbf20141595e354a263cc8 +Tag = 5c4e3bc3d4aa95f30c000d25 + +Count = 6 +Key = 752f9dd669a0d573f6d1101cd84dcf56 +IV = 7a9e55990bf1f914770d890fe582b7a972fc10b53fac48e12855c19004f7be2e5d1d8af94622943060cfbea2e3bb1492468ea212badcef82a52df54c91a2eafa98f097fc35274f626356dedd201df34f938be802dc656af696e40626368356e307705a9e7565725a6cb7e264603d6d1df5b81de935ff2d050ab0f4f3a5846772 +PT = 611bad9c82aed89a37de41c27d247d81 +AAD = +CT = d6b3dc0edaffee8c44dd0945d5e58502 +Tag = 81a31628b886c79ba4f93525 + +Count = 7 +Key = 243014b1af34cd00a3de5fa6114751c7 +IV = c3a7a4260baf1d66817e1d5d8aacc113f5e03ec6fcd6d87bb60ba0ec2bda2b8cdd6b3a27a4f42382627c1ba05ed129cf34d5a2b24a8a8e2c7c1065767dbe96d507797308b97544a8ed899a211a834fb4971008ece42a32f4757fe403975bcb992b89b8aa46f9b1ab40bc6482744e41cf862045375ae88f19b9c62b1d767f1fe0 +PT = 0ff76f17cbcddcc2dc21ce3e3a0dc199 +AAD = +CT = 9dc55bddde4f5c14b6af691583a17acf +Tag = 46fa4afdcebfa14e278a6749 + +Count = 8 +Key = bfaea5adf826c7a1ef0ab2987481ffce +IV = 46147c31eb38e8a782ad1703ee69c101ba62a92985b687d321fbcd40a8dbc53e9ad510aee8fd1ef68a80305cc24641df3729978eac6529b0cea0d10a4326a5ef79e405cc6479911ba51140bd6c99dc45a9cb71c349b0cba15ff77369c7479fee143e1d24225462021a959f126319b69b9d53997ce0be8f86127471ea74edd374 +PT = ac9c5f8d76deb7c911b3d6c22b6bd955 +AAD = +CT = b0c7769ca1199ba414430057d283c62e +Tag = 133916aed67ffa7a5f00acc9 + +Count = 9 +Key = a46ca79cfd7d176848f9e77d2293c58c +IV = 4441e48f51cc2e1000866b90c67e3185cf3677fad1794a227efc1fb8e7ebba3b45feea951732f91d137c0047112621f7c22790958794621ecce53ef7cf9e4c704627023a72f609ff1dcc66ffb4ccfcd7e9552a4fd7c54b17c32deaf1fb210c43bd6e073e128655863245980035bcbb441e31190172dfd626aef066e48473d7d3 +PT = 60e20f4c434bc1ed8c0aa7478b5d4a62 +AAD = +CT = be679ba766c2620e8111e5f8f83beb8e +Tag = 54424cfee5a51accd13867c7 + +Count = 10 +Key = 5f8faa399f9d2f19d37c5cb5727807c5 +IV = db37856edcfe6d0633a045a331c1f151598c634dd1a508757716da30192f6d22757e1fb029a33cbccbec980971851860aab0e49f00c846f16cd535502b189748972b32ed2cfc8f0fd7607c60e628ac1eb57f10a5768dfe3b95a3500a0e16a541bfb2d8b0cba9cde18094c8e91372727565a63c1fada55873cbf6fa2fd32b3358 +PT = 65b04179bd51d62019453f73d7b79cc4 +AAD = +CT = 2fcb43964cc18279cc8251e475a516a1 +Tag = 9ce3cb76695f0b4ed96aa506 + +Count = 11 +Key = e5f94ce866fd4df6e0a67f8f8ff45e34 +IV = 8dd0cc39bf94f4cf95036dcf4757f690982dacd9741fcc1815f256bb913fa89fe72de747c8c5a7481d31c0b31d7a95b32498eebd092ed78f296ce3a9bf3a97861c108c785ef5063778aa0bbe786064316869f8e692885e55a5499c4648aeb9ab34673accf52209d7fe115d04c57dd7f6f920674112e3365e1373e49c60ca11e2 +PT = 6f3eb7a67d195a2c181ba26518f32f41 +AAD = +CT = 581e8b5e039da0e99ef7fce24609b967 +Tag = 71ad8a6538868601dc5302df + +Count = 12 +Key = 42bacc69f5ad47a05483d309225b3269 +IV = b3bfae430ee9af49f59dbe3c709cf09eb3af26a399956859de823736427d4a415a8edd2dc43cc3d11cffeaf2c1a788b62d2ed98d2151f88cffa023fd2e9f0afa81c2bd526a29ea33c45249208409bdfc3cc5eb5fad26617d5ed23049cd6c5aecaea3f931574f4b273300af8c20154091feefffa7bec2eaa944928cd9653c34aa +PT = bcbc4db2428e822d03675b08d578c139 +AAD = +CT = d86f7356b6900b86146374e3c283a6f1 +Tag = 397ee9a2905cd7d4c495e748 + +Count = 13 +Key = 583f0be3a2418656512cb32c4cb293e7 +IV = c56e7c171d9384e02d998e539353fb370add4dd250017a3cdd9e715d361c76cc9d5eea91d42ca11ede7a7fc9184081f334c61ccea0be76ed78f9b7f631ae2d34d41d2272b36dc7583c9f1183169744ee8216ee282bc5a5f40ca6b84e4deae7bdfa6532a0f8f52744f122355d3f05dd3832c0dade31e0076ee622650c76cee485 +PT = 51f492dd3f4a957010a8dbe12c6324c0 +AAD = +CT = f69e206f7da165df500c86aa15222a07 +Tag = dafc13775741ae141e03f9ca + +Count = 14 +Key = 35086346fd09b492e367a309216c4675 +IV = f8458a90dca7ef7f7739962fc821e170c605a7668391d123b497c7e07a41fed5c6f758687521dc2832d9468dfcb7a802f2dffcaaa2a5562fd0289f62d48048e3301a8cfa85dddc118a83b71bda6286c586bd962243b597cd26fcc8820d161c04eb7bdf14886b4d1931a5c0922b8134aa215d896d812377b924a23176f234d25f +PT = b74c575a387359f2340da943f38f3db1 +AAD = +CT = 2e7089f35f0ff4cea88ee671977c6654 +Tag = 9838eb0126254cfe36d472c7 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = e195525d2746ee0d859e08367dfdbf49 +IV = c2b5845db349d02fdc1525a9a57a3befc07108e1681d8ff9602af4979e5816359f490a67b137cc99c8949c9d017de383af76427042b49b91a5d3e2002b7e5fe801f4b366ff1ccf603e4414c114182763223a2beff0b976c0887764f972966bbe32bd1771a523c46a0c3acf5e443e6e53aec39479b4f82f80c3f9705bdf59f078 +PT = 747c895aa05077b4c287ea6c5fa13b72 +AAD = +CT = 31e1b09faecbd9d6f5bf205668003e40 +Tag = 6cdaf4ec38a293c0 + +Count = 1 +Key = db208c14d693b745e616b334de5c0363 +IV = 91d6aa96283ea855443c6886bb0ba7fbc8ec3eccb2322533d941874a0d6103dcd4f34cf55cd0550c5358da7f42001906ad58938c2d150c1a1f00f57b81db3053ce925a5bf569a5e0a19a5ad06172641ef708010b7d7bd14d0ea47f112457ca7b020355d02fcd12fdf480dc212f4381f20dc813bb32918f6a151d88f4edc2a930 +PT = ffb26bd41a8f0b3324192498b680745a +AAD = +CT = 8ad0d3e7b238771c5a787923caf85572 +Tag = 03956afee05f544a + +Count = 2 +Key = 1aabd9a565f24046dab44a1c8d7c4b50 +IV = 74f112b63e5160efe98d97068aaf3d276d10727ad2ed182379b97b5f37b8a1b5c9e2c17ccdc99233a1db04f4e95863ae71dfe281805a87a34c18563543cca4be6eea0dccd8988d116dd36c0fb4babf1e109f29da9fdfaf9683d1e4728ff127a280e257d6542ea1aca82892becd55e117d490a750bb6922369455c7d335cf7d4d +PT = ed4bc7fa4b3ec186c2ecb9fb84003802 +AAD = +CT = aa27938ecdec9972705c169c05716da5 +Tag = d7aca58efd3b6deb + +Count = 3 +Key = f2bfef0ffbd9535fb2fc5a42713e5347 +IV = facb547bc0ee0c2d2eb60356ff7ec84b610094583c26b837b30db66e08e86c7c6b457c7828927aa2fa76408385aadbdc72f426556f9a0411332fdc75b9e658dda925f7e12a18c9ea758755afc31af18f581d12f19c222f165992d9e9939e90e4eda33024445388a5bd96ad03ffe9086b7133e39ea3951d88c9df582db7cc96f6 +PT = 72d560bdbcd19dd730f64ff54033a37e +AAD = +CT = a102fb64178d48e50f1a23291c6e4b68 +Tag = 1fdb4b64c6d28abc + +Count = 4 +Key = c16084aa47d0f81319e53a35c8f89d27 +IV = 9342d58d6655d443d3118c4d00b7cd57a664657dabb2ac5ca7b70049b6da19fbcd71ae740b6fc18cf2cde001de8784b28e839750369879cdeb7a90eeeb7322ac50c31bfce84ce2949e5f0fbb272676663910bbcd7fc931353f7a0f800c4ffa4891081769cc7a06ffdf955029c9ed6b3dee95204d69f322f065f2a1070c84cf4f +PT = 694337b02de8ac37f3d2d38b326e7416 +AAD = +CT = 2adf345181d0991b3f0b1063da3a02ea +Tag = 28fd7f7089779cc5 + +Count = 5 +Key = d7d78ce5d7e51d89d66588dc124dc84d +IV = a5ca78c3517d15e5537b384b503c2ab3a7ff178f9c93f789069b01672eb8b5e5827ec856a6873b456ee3f707eb633f68b56f69f416a0055ee5f171dea205d1a1dfa11357714b4fe8e7ff89bb2f582a270daab167a834d25df3394412a66d4f339d9e567092f3eaafb4772c5c54522dd84471745e2a3c8613af60c7cd45b9c676 +PT = a2977a645a7b056ed8c593521e3706da +AAD = +CT = a076e74cb0020aeccfc4144e6acdf908 +Tag = da32833c4cddf673 + +Count = 6 +Key = 92a854f454d479cabbf0e3817025f5b7 +IV = b350690bc6d1455b3209a77ffd669a7b80f436087f08fd1962a3995c8cb20465cf2a887d9dbdea95d6d2cff166e1898a5e0f6f9b07bb578fa322b27772d7b5358f982cc47d5b887e56385d7152309cd899305c7a0ee87fe0252db622b01d42b7f0f669301e98ea2179daeae79c134703412ba6581bba1c91108db8699e6894f2 +PT = 54d25585e08b9cad4353d452a2ee55ec +AAD = +CT = a4e2a3304b92434bcfe9c618377989f5 +Tag = 2624f92c3ccce4cb + +Count = 7 +Key = 5f5490b12afdf561a919be07fe13131c +IV = 72eeece4e7c79481e2a1abba60ec51e61c1049c9aa9121e6f178edf5edaf708abd624724f5d4c4b3474b992d1ca675a26a3829810a254f0ebbbb0cd4b95cb5ae415c7662d5af616a22aa25cda8dac2964d0f22842d5c1571aa72500e5310f823c2e5ce5a4bc292c79c6cfd0b5126737423293076b5c500a29595a9340002ec08 +PT = 6e781ba52c9b72131c1a2419f6357767 +AAD = +CT = d6ce9df82ac6939a7a93041b2e8e0a02 +Tag = 99a182d825ffe33b + +Count = 8 +Key = fba0da17d880c508d36cc0723ddc8aaf +IV = 356f0579159166069182669f2a42531b6d8ec776b0bb942f4c0e95aa93c32179e49a54ddd79b8668bfc17b81eb7e4d2b1c392a060c565cfd7656b960a6395c0ea19a4910e1029cbfd0790e02ce948d8969af036eaf124a2ea9569259a3b42c64270a1896b291936ed8a96c6f5882e0dbe6b58b9c1aed61ff5b43cd487f539b2a +PT = 5fb76b773077f122d367461a925bdf2a +AAD = +CT = 3074707d707e0e6a9106a63e1254caa6 +Tag = 0224da0228b2bc72 + +Count = 9 +Key = c2c006f0d154f93857c3dc5c93429c3a +IV = 94c39d676a9e4c6ef3568237b9ca3ee25d502005e36bbe058634cb71495d7cddcc4797c03f1af82bdf08e1a0e345a5c3c7c63d2514668559c3606e31fae2178e4f10744047e7aa603dfdc5c8e6c3cbdba44c06a9c9def1961eaa7e23f74896ceef81ed10f016387cf57abfe3ea8207c86deb86388aa8e68705705f39e917fb83 +PT = 5497b1aa66baa8de5303efa762ea7c6e +AAD = +CT = 3419310e86ed6262935dd3837688a2f0 +Tag = 3fcec080aa071db8 + +Count = 10 +Key = f768b5c6df48b0e89437016a9773287c +IV = 5b6c06005b120331f38a6d58ce2a64a299f41e8c2cfa81ecb5f4013996473f90f6c30b33e98786e066f7d733fc9265e4a0ba17d8e1769fbc2d0b1f68dccbccb660acd0e56e6e57517a3314533c18b9641e284c9e9af0d13b61a474d0f0aa9ba7ef82e512a98a1f800e440f7bb37513d1bfadeed27f15f49ad3bfbe5da8837443 +PT = ec363bb5cd2ca1b81531f96d15573869 +AAD = +CT = aab2fa5eb3f922b3053cb00f509b2dd7 +Tag = d4fb7a20dfde3bcd + +Count = 11 +Key = 5a6a63c572637c56a2ec2048c1c6deb3 +IV = 922ac14893a0fe9a8e49c3d06a498aa62c99ec9056d61746381c3ee74ba2ec266e0a3c2bdb47cd4e3a474a40fbe7ca5f87774235cc4eb9ea7290ab54ee6afdcbc4401702100efcd221385c650621f49ffb4e95b60c696d14d90b6fbe511a846b6eafd77c419e019f65f84a50f00a98cd06acb396c37c591cb2fcce59d2f1a41a +PT = c8eef90c46a44d1b5c4d8952bbe78d3a +AAD = +CT = 086d892aab15a8eb9c7fb60db65fdf0a +Tag = fcad687ca06b302a + +Count = 12 +Key = 6165455a99d38a3a2ec4f2ccf999a086 +IV = 9d45086bfa54fcf5da1f3b96049a0c6dbd7a6bf97c7d55146ad0c3fccbf97533c2318f50eeaa0ff727bf977ba25f25cc992d16f31d2c2d02422457eef675a9fd6f3cb213ce45e81c64b729b418a40581bb4ac950e9f5c6be670c5c36ec93fa0b3087cee7995b172c94e30fdfa284e45f53d3f116b61d0e91f222eb4e223c341f +PT = 871c0398c34ea6c93d8043841daafab1 +AAD = +CT = fb4273d902fd2c8b9369010a7126457f +Tag = 04e8d729b41fbb6c + +Count = 13 +Key = 779168aa542639e8608add12410f15d2 +IV = a067e0e5cacb8c38fa2e702d43549e923c386cdf906eb1a1f87bca9db492803eb3e223056b3cab9cd4e4d74293e4e7ca8445175c6fe035ee3ffb3ea3a7f7bf0488f0e4afe4e951fbf5a3cda37ae53134d73abd34a83c86110c863d8b4e8513091456600013f0b48fc34f3f9c297ed4c3ff3097bca7f8778bf1b61436451a4fa2 +PT = ba459b6135a30f0342013162d3435ea9 +AAD = +CT = 7d10ef5123e40bd203be121878ddaebc +Tag = a016f5f4b83f236e + +Count = 14 +Key = dc6e4df5812db48736004d44930eb03e +IV = 54d0b8f3f7bbb88e97d9c1e6998baf85c3f3dd7a0fc5efd4665ceadbb8ad83090bd81838825973ade0921c33c0a63daf103854aa6111b15bcc982f107325ea476deee90f596d0f05375be3f4ddfa678aadc69e1590bf5de6654fd1f82bb9da2fd8475683d5067ab0aa3b3fe150cde746fcb9fa44e016770da78e5e09f5d8e4c8 +PT = ace50500b83778b043a625aef32cd8a5 +AAD = +CT = f78e6db935162c034b92ddaebdef3909 +Tag = c2baa3e43bdcd5f1 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = b51281a83035e401108ed176fda47c80 +IV = 26151bcdb6ea11b72b3199353470c798af471fde16db0810423f67d2499520f774d3bbede6e5bd22aac8d3c314d114f8de359ec825e02301697881a5d19f04b2618bc7fcfa5b5f72600a4d9a3b5aeb193b914eb2a732b69f3a7909af0dd3d2d51fa281c8480a21f9e69f3fafdcd46db21e7e60f7ef191774833655361deb7ca6 +PT = ea43618e6770889a35c286e3f58af8f8 +AAD = +CT = 08245e9a51ba6c4d0d16e4513eb28f22 +Tag = ee6bd55b + +Count = 1 +Key = 03066c0ec03f39f35423b4e05c59dc61 +IV = a0ea09b30edd9270f3a813a66a08182f7942bceddb904b29c604457a2b3109c2e9801422d3c97412871b4e57201b156440ab08a2c2a989d04424e0fd89959d3f8a856ddcd77e71164cc664f8a9d13d771aa77d58c148cfac93002ee83b0dec8a52a7beb5256a234242df5b609f3082ac33de4408f73324ceabeb982dca200552 +PT = 194c246a53dbd6624fb5c4546e46518a +AAD = +CT = 53681c12740c7f43e51afc90c550cdc7 +Tag = ba593271 + +Count = 2 +Key = fa69f24355b0f2985e11af9c228da5a0 +IV = 2bca16001ee87e322db8a26b322f76ccdaef094c152d015d84ec9ae26a103e66a99e7e0b61c22863a7d5a2d796133040d36f1c7117e9449107ad22da220b18cc955387ad60c9bf99077a4496c599f757972cc8d43abe91a503c2c915e375ecdd9b6baacfabd2e18bedeb375c4fcc9429b48dceee6c9c27134e8c14848ea0079b +PT = b609e737f6fdc9cd0fb29f20eb2a4ae3 +AAD = +CT = 33d88055c5c97f1b2d5390ae474e7088 +Tag = a3c92104 + +Count = 3 +Key = c7164e6cf830388c559ddc56ddd16828 +IV = bc1c7b6035625e82ecb8b193b9e57528c8f28781efa3cc86839ae0280bc7bdc582d42117745cb42f75547cfc3d083405b7403d42d67dc36665399c3f448462f79b8e2fdc73641a10f42cb99909d15406240b6a642fdbd045211dc81bd6a888b5aafb1fe8190c9c6a22a85be49f0837567b34aad18f89ca3530abc237eeef1d0a +PT = dd7e27f24cca244cf254460a04da66eb +AAD = +CT = f130406ee1e0ae8e246fda71aa74b991 +Tag = 5f2f821e + +Count = 4 +Key = 2fa30822e560a4b4b35fe394cd3234fc +IV = b3c3032118ba3322784c8f87846026f436290e4e45e7add3d64bb0a3564892ff8f6cded5a66fc54642e0842caf33f4b3a54c9ca238607449588d1236961767d1b6110b7d7d615092bc27b46384c9735c992029a330bc0c8ec8beea52248df6cf6e674b21bd52a3e1c9c8e4f3084f6d589b88338f4fc71673d1a1f372d6a84b96 +PT = 9172b3e224998d3890ebf7a4f0f4c3a3 +AAD = +CT = c35a7780cb79a2cc5a8c57f3d13ff0df +Tag = bb375a49 + +Count = 5 +Key = 03485f5749afd4eaa198b097ab85340b +IV = aacad507f96b24748154f8144fb20c53dae6ebe3c01355f8b8dad8ee9d6cd691e4db767314754f7b7c00a939a39eee8c3bb2eaecf5fdaf88f5ef40c988a449d740436de53de4f16f63f53881ee274ffa4b8f6d14d860d1367c099a04a909586e186a0396f687276e23766a309f1cd67af8cf1ec87b6a227431481a23618a7689 +PT = 96ca12d3f7686efcc5c2344f66655567 +AAD = +CT = 4a09a9ea96aee1bb8a0d680bfde843be +Tag = 011b5764 + +Count = 6 +Key = 038eef8143688f1558fc5af078ec0cb8 +IV = 533abe3d19bd63f0cf3f433ab2a3203b8651f432d0a0e55df05ea5bb0094eb2c409b62705380aa098982c277909e3c6f0caf9d84a71f6df8d93a42e12f365454e77ad2d23812e8f928c78b2a94cbe8a9461dbffe27cee39ea06b8bcd5b270c46870279aa599c2e6353d38e1d56b5068177502d75aecde995526435cfbe634b2e +PT = 771e4e95f5149bb00b7e7511525724bb +AAD = +CT = d3d7d4da60633f8b078d85061bf0301a +Tag = 35e75943 + +Count = 7 +Key = a88d30837e2a627dea88aab392382a5f +IV = cd01ddb0577be6a8b8f2863c8062c6e4e1e49e199db88bda1777dc0b983c9a2371d2e2fa9ea627ed1c47015b316488601c92f78994961b8d74fed19a8a02ff28023267c0d0be48f1434281bcdbf6c12ec8c2aa0a71459b1959d6a059b44494adabe20ca7ad035e334a254a6286f055fca4bdcf6d59046ee8dd598b8671a5c792 +PT = 349bfc0a4a1e07e6c5fe0c3e8fe7ae25 +AAD = +CT = 3d020b886943a0b777a821e72edb9c51 +Tag = e81657a3 + +Count = 8 +Key = d49b71610b9e5024a1d1a4b65cd88e13 +IV = a2a69c6cfd206ac4371a5473c30d9b4890b59eeb7096521a512962e8646271cd05098a27da5e3487925673721b8fd286eaf955c4efe46403a0b2d1945088557f401dad122e0c05b22ea7d9b68be3bda1cbfba5d0bb939ca95d27cb2506bc1ee6c094951fb0f7c4ced2881276e0d3721e57064aef49d368236bdc1914a0e52690 +PT = bce8dd6fa62026fc51ddb7d05978af53 +AAD = +CT = afe58eaddb3bd224ad8ba92a6ea6e509 +Tag = 6431648e + +Count = 9 +Key = f318bb2fb7a7403871402a28a193d093 +IV = 88dfb38ea1874ca7d1e91f8b7848691ef4688d0333beb87ef8f77d7620f3861b21bc61c39978a9905fad343b15d008f8e004c486fc8b325bb59e3b1592bc8f011a0428b9d5036c886275b236a046ef52f0e9d0db26642965cdb1065ea7e36954d4051aa1ae74eaefc7d1b619b30762aa08ae26a33574a130d3ba95eb71add83b +PT = 20fb8e51a3176e042b3a5909da1df9ca +AAD = +CT = 3abbc2fc40c1de87b714ca0c0f3dba81 +Tag = c7bee4d3 + +Count = 10 +Key = 1041b66afa05a26a8a2e55f1d7dc8896 +IV = 1538849b334d6ef74d75892c3a2335aca2fd4d8a8c7652d2cf633097e7a2d0c4b2180dd8916fbe044e59f07afeb41fa44ea6247e1da9421f8af713d19a5c2fcabc8b8eab5f9b8cc8fb9ca382a3d5b67b81456c07e009c1f7f5ae7d191fedcdaca980ae8a29b7d36f55d08cf4095a7a566dd0817b7f347757a9476422a28e6119 +PT = 7c92cf4331ab8eb5cbe746e42bf2eb40 +AAD = +CT = 28fc130075682888af336558a488bfc7 +Tag = 6bd4d5de + +Count = 11 +Key = 66fb8c9035a79d547b5bffeebdedb834 +IV = a102b35f90064fc3660382cfc469166227b77f0b9acb4dde097b40b1294775c8571e02cdbd31606eff0a20a142c78c8a8bf2b4eb9ac6fcf995efc2c86b414aa5d71a126c70fde65f76806df106dd54ec4255ea96d89786d08f8b577680b96adff7bb4dd479f1c01569c16e98401dee7e20c0b69c8d921958dc4b1c10510d29e7 +PT = 0291068be2ba521b8aa22f27950928e5 +AAD = +CT = 91680b555e3e07586303eb38c66562bd +Tag = 2dd6b168 + +Count = 12 +Key = 240dee8fc30ffe5e4d898c57d5cddf5b +IV = 6f141d88d5c5daf40c19063c4fd426300c7c9702d2f85e8a45728d1d0106d67054e7b1b7f534dc8239583fb64ab230beec4e35c71b3692c8c5d75b0bc9ac60bdea77a7299cb7381c2ab1f74ce9673685c9fd6f4e16392314793352afa10406661edd9ac829b9d74b32ca641d31c0bdc36d36e9fc58b98f4bce03e9873f9879a7 +PT = 657abc8fcf63284d3457bf978dd461a4 +AAD = +CT = 96050d67672f26adb13714e73952966f +Tag = 8242b5e0 + +Count = 13 +Key = ae15dc798ca97208d8fcd237e860f975 +IV = c8914e75af795c958b421ea123516980861ba4c58fc8d3869e52c2978526cae09ef1d3800a45d729160ddb7e7a105793eda3f3bc5527aac6679746bad22ae2379d66b76290587fd6324d7611ffb0a3c940dd580ffac6edb41de7a10e7a8ca4a9ebd50c1a6c90da510a4d358ea2377cafbea5ffcf13ec103970975f0df8a15e06 +PT = c51e65c5584ed568dda7269ad2139bb1 +AAD = +CT = 0b347b48cf8e870759ae14079c7789dc +Tag = 9421c350 + +Count = 14 +Key = e344717b84e19d3b95d437f88d4921e5 +IV = 9d6d4ffbf90551eb649470df96cfb6088da2eeed818432d916415ee6287bbb1a9a42e1b552af4188351e80ae6684a0f31a1c5cacea5ea64c0c56196f4929db46e01be0afd773a5a7765cb38a1cb4e900a0d1e51ccce3c4ed30d8629276909ba1da5d8bf28eed88c4b68b84d69b5ca42b64dfece1822e11c70c209f239c3e6756 +PT = d9b0e22ecf1b2a0b3a3dd12b3ea69b4b +AAD = +CT = 69f01f3b8c77befea77fd70a1329c8ac +Tag = 9f719a86 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = ca91e2414409a439b06573d772f90afb +IV = 177008f920a06169ccdf753a338553fefd46845869c9244da44997f83d4ce805a18707c84d114f9c68427b22841591e6caecf5c3e72a25167aa860c51bdc1aa56dcd69f29a2f35e70a322b9eba092a98d66a956b4d294383a0ebab26f7c4df1a5d4060dfc45a14155100ea7d9e32debb6537406b757291710505142e7659fc77 +PT = 28003e30c4a4ca9e41aafefac1e1c3de +AAD = bfeb15fcf7b15f0e14c04439b67950bd +CT = 00e472971f3a7770aa7158fd92f17bb7 +Tag = 16661b85eb51646c94cf2be4e42d7a8e + +Count = 1 +Key = c9194bcad95c3738390d423ef7290795 +IV = 63ef44a79d08539d27165d9ff75f40dc52eeaa270be05f9977c1063b42b3a2ddc515d4b198dfa6549da511f75c6140d36dc0e46a31fc3b7bc6546d604af5679dd431f21aba8eea62d3a340f2ddca3e3e27f703226a47517889b536cf13b72e87e1548c60c09b78607ffc7bfdbe6d21234f05a1d46778352da7862cc36c340d28 +PT = 028e616f18b7bd55a45381979388ea92 +AAD = b35959db522dc00dd4d57c5441c51dc9 +CT = 442cb11fd9a5fd93ac3fff43af36a417 +Tag = 539120008e56f3cb80e9dd5244813744 + +Count = 2 +Key = 2e4dd01d24d557ebf5cd4aa842ac6c67 +IV = 91aa215ddbc19ff53f4bf2926ede825f10733d760b46deeeee07ea0d763377cc51da7c8d54d460907f12fec8c9c1b09de9a36b4401cd0466f268e4f1cb371d100d55f9e27b4671aaeb5d5ef9ee59ccfc28c268edf00eb9a6a9ece93040c2df5830e96eaba7163cbba8004b36dc6b5057aeea15fadecaa6d9c38959244dd03afc +PT = 5cd8e0ac13a96068d3196e67e9a3fdab +AAD = acfa0a1fc4ffd9fb26add7404590862c +CT = 2ebfc1f9ea97bd89a5b61d2750e96bce +Tag = 305f4b1714bfe1a2186f3ca68eda2821 + +Count = 3 +Key = 5a84dc5d5aee6741ac972e09d8a8f9c4 +IV = 4915927b010fa5b0fcf1b9ec8b0a755d9fdefde311a68ad29c322692242eb097640682c0e6ea6e853faeca6995e8dbe8e1dd66b71597e585522ad752c6af457f4d70fd7d18241ab3e3f133ee4bd0ee823affaa5e55ac3c9087a3a2ee1b87944c6e0f5f53ba70b32b5cc137851eae570a8cbde107ca6eaa081d62a809760cbb7e +PT = ff57934fd931d1141ac984118bbcee69 +AAD = 3566bd219355ee81e015e1702d07a4a4 +CT = 4133a2b721af48b199a910185f8e2601 +Tag = f16c9f0d470e8a7abefd6d72a298b1e3 + +Count = 4 +Key = 7e86dff04bfdfc17ba47af5006c23563 +IV = db20e49dc8495701a6de6bce8769a50cd83076c110a0fef56fed16f6a823cfb76864e67a80530f34fb9c0a3e46fdde387f8e12e702377ff77688963076a800735efae3be2ca5c287415759a2f6557b4571db768c9c97acb9b53f8ca79ae6710b622fd04fffa363c5c704379613f9813799756dac2f881825ce6830920d5285ea +PT = 736b634323168fc76d1eb2cdec97be4e +AAD = 88f3b440e3504f581522760c075cab14 +CT = 57d0125fb7eb56fadee02faac9b4ae86 +Tag = c20a4647d0f4cddf3d0b168553f1928e + +Count = 5 +Key = 58a0d6bb5fecd661bdcf02d08731155b +IV = 059f6d91966d038191821d3bcac657efd3dfe251a7cc350c26fbde2ff8d69a65859bd9e4635956a2145d9c3c6967506138568cd65ee8ed84e924aec7cf642218969a0f2b8860fdadc677ef4729657fabb4f76cba669e7080e8dbbabca5e9175640c90a75388129a23e65b1a2809c7ea6ccc62a7f282bce0af356cf653710718d +PT = 8198a7a095e4ecb42e574b43116b8739 +AAD = 3333e5c9520acdfbf42d53a8bf565020 +CT = ff058c9eb1a911cf08d5f2ac7f316657 +Tag = 43d8d2cb3b1c0917feb2fdc8025c95c9 + +Count = 6 +Key = 81dfe892672527fcbf1d38a4be73f6bd +IV = fa138fff985c36f9c7ee3f577f7d048aff4a2f5e1b9424fddbaa252dda2fa9ec02eb25edf238286b2e5aa8ec39453a8bfde7e1678d997a7446dd3ec9185f7576faea28a59d9d2f542427c20bb037183b549e153c746a14bc1e4ec1e53d022e1ae03779125e084785e17418a3ee531b5909d804ee7d3e39f825b91ab00bed6a79 +PT = daced60adf953175dd9b3363cc50cee1 +AAD = 6975f2409d9c53f97f75d05adb4dbb42 +CT = 7b2d5854cfb62b043a84095e62a2e551 +Tag = c92f40a5caca387c21c7450562498f6d + +Count = 7 +Key = e3225338754b011e18e2595aaab3e60c +IV = c1ef5170b12a22fa62eb5e39d52db5a510b00ffa9d4325f9fadf3f4546d815257af8a1f4ed64b79ea49c3209e4cadf6aabc8ff141a90c091dc4bf6d5cbc9aaea9224e6dc0f33a217c778cf63d0d960cdc687ad95d490209a6fce82dd4af7071094079649f6a4c996e69b4103e7879a09731367f13bb4c1704f8737c6334d1f01 +PT = 63770aeeeb2b43f5b16030a8894ab589 +AAD = 80c66835c76dc4d08cc55b2bcd6e8079 +CT = 6d1892ff982000b5ead00decca8b0117 +Tag = 40ac92b608b088e175bf808b24ffd721 + +Count = 8 +Key = 14ecb13cbcbd4be410780f27605b99d0 +IV = a227184ebe2fd236cfa811d128dee5b884ab3f6eba77751813c3d456c7778d58b5a8d20f2d81aed3232755885ff86ec62ec6627935d5e7563609cba64ba32856908dbc78c48a0cfaa20c506f190f84039408f751a0d23769eb4c2abd287321e7b09764eb7e30e2cc08fa5d1a9a9cce962d7ce06d76587dde35cedaf977bbf685 +PT = ad0aa76950022740fa6821409dea8fbf +AAD = ff7131e6bff32b6c68d35c41c5fb9abe +CT = aa81570c13892c202204d6866f3fc66a +Tag = 297403765a552f738ae00fc44b75ab3e + +Count = 9 +Key = 52375ea74a044b92437570587689681b +IV = 80a69ef25ba2b96e60cc2397feb5f60eb658d4f7531b80f5dbd3cc6f6621bbdd394115a6e4b4235fa0e66b20913422d5a87498d81e3d1468bf5feb1cd7c81b1c56f4e138982eab2d80af371b2600bc82e1990bd4c6636e2473533e2238fa242230f1e831d95e43128c29a1011115e554f2649fd4f6f0754f6a4a7aabe085aa4d +PT = fa71fd113f322b4c6fad31cca4180bcf +AAD = 73e942b2c8461909939993f171ce6fe1 +CT = 054052f96a0040e7ec18ca36f8f7c30e +Tag = d84c2e369138d40374d2142a1800c95f + +Count = 10 +Key = dc33dfcf6bcdab770c93bebeb26bb980 +IV = 22fb435eb85fcf0c57c5fc7e158eb8bc3b61ecf8490f73ef5d154a014dbcae8cd658ba044e0d01102cf9deace25ab91ebbafa16d7b201423b0c89668bb3bf557faea354439e9b66e9b71c55e9f70bbebce1bb2b677cec4ea0f8178199c360d6aae53a29f1f823104a64504d478eccf57519015b44a78970c52ef0ac669f7ceb0 +PT = d30d7e8ed221c49f10746424e803da09 +AAD = 8176fc9a88aa9bd98f05eb234cfbc817 +CT = 15c00bf29a3c8d09cba93ad5e37497df +Tag = 097c48bf69bd7bb5980c30dc980cc5b4 + +Count = 11 +Key = f9dc9575741865e9468020624955b39c +IV = 28f9c9b48b23e448292558e42d34bc5cdb2a7efb162d01427d1d9e41ab79b34b402f15c94f283177e424b3424f278214cf79935813b60e137c2a84cca3eebaf3b306c007c71f41a1a09f0e3149f8fb2fa165e1bed2f0f23ad16f77f483ca9c2e40c5f1c1a1653cea5db77674d7766a93bb01e5fc7c9713d786379482e9f6cd02 +PT = a2008d1ae2476598bce929ac4f09a54b +AAD = b5412557998812ee49a02ff502a2d03e +CT = 78f6d2cb69f9c038fee79742431dab52 +Tag = 2731a7ce99be72c5e881386661befd08 + +Count = 12 +Key = 75100ffac9d7625c332d12c280572f33 +IV = 1ceffd613e1908354e94815da664a70b5bc84c47659df924ae93df681ec865a1d0672be2dc4d27c2c05415d15604da8821976a212fb488c14c26f8025a0608736eb8425f5063508151db6b7115419c5297966a2ba1d118cb11c3eb451e41425622ca5e9387607d5aa87f997f8418a32f0efe54c167b0c7f0913efafa03646b71 +PT = b844222dff289246744b449f0726d882 +AAD = 6722379b26e9accc56e1635e7fa21673 +CT = 2ca8b8db80f994ed23cd38134def881e +Tag = 728d8fbeeefc4ec4daa5ddfbc9b6f71c + +Count = 13 +Key = ec9afbfd37c273d7d931d9468baccd88 +IV = 3fdf3c97af15780137a0c6416864137a873f2e6d6141033a53073fb95aa564d1fcd4b9f35c4f1d287e667ea655e8c12cfb88cf1ba8d617d38b0adf6e23b0d906d78f4d034856b45019034a50090fa44600bb25a068a1d27dbb722b9af3cedf0815b451689df42b3a936d3bc3ab3306174b855b4bb8a12a23250511d12d726b6d +PT = c284a9a08fb5d4de51ee7e7054ea96bc +AAD = e44c1feaaf12eb84907bf18d00592863 +CT = b5187fe0d06e46afe59b21bfc4ee01a0 +Tag = 5db6b977c2d5669acf6125f0beac6c89 + +Count = 14 +Key = ea8f625df1c82c983642570e90599f55 +IV = 1dc4fa6c5b2d40d07ccba558fe9328450664f446a55167ed8ae96549ec2a30299c9d7e472361049b21e411505a1073ceebaafb249d3ef3c85cad2e07fe7ebde5ab2613887f05ca471df9ceeb871555849cee9176eb8d5d0b345a2aa6f8b9f0a0063bb56daf199c3791419bbb0c6e11c5f62d36c6557f04c12d082ae1f9ed7220 +PT = 4f8f281cfe10b1edf7610f2d63fa831f +AAD = 423403cb40258bb2998d436f3570b344 +CT = 2a70acd12eceadff4719688b006c2677 +Tag = 66322a8709a5c998bd26c18f0bc26787 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = ec20b2dd5a4d6f8d2aa49086a7ef9080 +IV = d15fd1d8ba90275826c6b085d9d2a3856e2359e41f2ab3033b6c4a61e412177233afbdd0897d113652e72e37d711627eb43636fd7d7513f213f458d89597e330e487adde840c245ce21f3e45d14075c86ee6f70a7dde573dd320786d1ff28ea026c07bfe904dfb904a990123f79a0a32febcc57d2fe529ccd2a393856757065c +PT = 7ca608d6dac77682def3e129499d1575 +AAD = 3abfac97f5e569ed960638002ae32738 +CT = f7c5704950a6b03a77db660769e1204b +Tag = a0d98b0c38599c1bb16354f61b0f00 + +Count = 1 +Key = 4e051dc9954938fdd5773f92c120223c +IV = b53dba284472262dccc094ce193675424f68e636d2cde41edc27617c39b9a37ed7a03b1a8cb2115b89718e6d8e524129d9615430c8201e8e09befc4da6ac131b00f35ebb4502e4237e577fa51b4a90f7fa69144c7faed22c35dcde9583efb1004694f1b7e8db83a9f5adebd9f770ddefa383a6012c23b074e34e083b96238c06 +PT = b19cd489458f42edc3b4b71e5bc56b61 +AAD = 48dbf3e08e01c1348dca30f00a683fbc +CT = f9d8e61369b17b1c7f2c47db6af44d36 +Tag = 428c76ff2018a07921ae17cb1684e2 + +Count = 2 +Key = 69161d4da4a3844d4f18e725a5511915 +IV = 3032921384720a8c8ac422171662def4452a262ef1004acdc34e4388d073c9d35f5a2f0c434d513b35394ca66d144442885d5022b5739ab282167ca40aa6a89cff93eb47a8253303e7beae02422d30dd2cb01670def10b38246f47c4c30f52ffbeaa1941b502f8e7d7101ad1a47839aa3fee414002355bfcd9fe9ddc78820532 +PT = e1b01d6a22b4d3584c40e5153c9d33bf +AAD = ebd89e37e2e5274babc162196d084da7 +CT = 84fca5a29fc13df80d0c3fb2e0846653 +Tag = 44309c071cbb05541151905d6cbddf + +Count = 3 +Key = 168165061ac378894a81af8df050f501 +IV = 3dc0e40414c6d11a49b6bfc449833c1e46649399fcec155befc0726e8240e0080b9cc1b79ddc3a7283ab424d20912eb951e2cbba261cafe81b47e94070d681fe9dca20a6afe54f7245ce65f148e98c6d47f7236c0a172c8caf11481da3347f3c7364bae6239ee7b8ca1f136bab024de2c91732181237ad474f20236ba603f21b +PT = 8bbee33c95cb9446828015db4004c546 +AAD = 5fb57c860f6bd27b08888a31253c15ab +CT = 59a1c97f0c5a3180a650f80d617bf90a +Tag = e81a6799deea084fe553ae092aa39c + +Count = 4 +Key = 66b1942f08e852a6758ed3fee8742484 +IV = 0e18c5a1a92dd6d4542147dbaf8ebd85f4dae968a48be70652eed356e4b59fdbc732b7ff3c93b21c40e7785e8165ebbe57834b7d9495d485f5b5814e5dc57173f77b987b5aa34930ca84d890d7abf47970395a8af23bad8bd191385ff8a8e088b71dc12240c06658355a88105146e88f2547c6796e626a70668fabf56751e319 +PT = 4537894687573906986e84b0a99fe685 +AAD = 7edc2167b9a178e509e792b1bdbc1999 +CT = 680340ad6668fdaa3028f180635c5780 +Tag = 7fb8c5390f94a994b83e3c4c16eb10 + +Count = 5 +Key = 30bb287498ac51da39ab17bd2cd1c21d +IV = de678efb09228044af826ff2539b253afbc9d2d4ac36e43d4cf037c4ce51f0d73f0f5f17f45b332cb94e4e52014b6c39e6339672125446aca2b78195c025046d7f6576022ce15cf043071860fddc4e4b5488fb5105f3828b2dc2ec75f7dc73933dedb4a234f3cbbd5dccc30488d3cee281eaf6bf1e8c01569f10082321227754 +PT = 3e777bf372f2a7144c0d458b7ecd1358 +AAD = b0335fb037e3fbe4eb3a8abb9ebacd43 +CT = f75ef9ef9cf90d63856ec15414d482ec +Tag = 3ab6cb6c8fad54d0d8765938a635b2 + +Count = 6 +Key = d7df77f71b6e7061a7430bee05fbc4bd +IV = 1c3f5240ebe92f56f08b34aaa30c2a57489b54ee0bf16197dc2c87dc906c4c1086797bf8bd0dacbabbfcd5771ad429c0788dbd6d42d707d6ba363b15a8344c726414b06bb9ebf6e5a63dde804a44cb1696f6e8c801b046a1493e353b02ed80e25f9e98aa00ed50a1cbe66d56631f9aaa62653b3c76e3d78be698dd6ffdf98249 +PT = 8aeb4e1ecac11e924b5aae5dfd094f8b +AAD = f0a41ca7fd1fd72eec9d7b6f3813ed49 +CT = 788ed5ebf73364816c166dc479381a47 +Tag = 7ff615427a6200377dd1d0c054563c + +Count = 7 +Key = da3a6709b1a6ccb8f9d5f6e5f2d7a857 +IV = 5a24fdd7c167296e489e8b03251cb38f86bfd6e38c41209db5fac957132d5649b1a2b9db80884c06ab11bcd128c1decd63cbc041b530ae6488f535ce3e3bcbe25b8da9ce7358034c23c1d0a1424ac2410dba67a9d80015694a0c3ba031051a87887e66fb97dc4cbf2e2785cfe475c9d21473adebd754032a20448d18e6f210a1 +PT = 0af810744acc11ad2be1aacf45722ab0 +AAD = 0ffa19040fd9fcdf6aa754e396bedaec +CT = 46980bcd4e423e1f9e64c148506cd99a +Tag = e8c6d80454a0af9a28c9ab896caa99 + +Count = 8 +Key = 4079d311ab6c67d4e8a99ded7dcf3b0c +IV = c7b2378890f61b24eb1c4471b03a1b5e34a70a1d000df0ca6fdabd9416fd7d4c19850ec7c8bd1b87d4ce592a5bb45333003a3995c5c2c1068be384067ffb494f86f65a20e3b5b09f00744d756d9bf567983639630bb980d5b806a479f3bc5f7e202dba30649cba0676324726fd95186e340059a56986ff1aff9d7ce3918c3e54 +PT = c4ac7f91c78a2baf883bd6c09b0190fd +AAD = b3b5224b88fa0722c026e576ef7c2ec7 +CT = a0aaff10a986ab10c2f9f5f73ee9c6ab +Tag = bea20ff53e09079a405050824f7ec1 + +Count = 9 +Key = 7efdaa4588eb27ca3fb02cdc3c9ad43d +IV = 17fe47bed9c2a44f04df48ae2711cb25044619627cc68aa336a426e9f687c3cf2a90914cd639abdb2495639a3d0a016eae7b033ef098f63ab65cfc89fd950feec5deca0a83a20a656732d4e2e80e5501b7bf6c4a98465192eea67da31e3f0efdef07b88ce2274494de055c14df489eda9dba889013d347d758108754fb68bc75 +PT = b9579a296872cdea4fe691e60e733b8a +AAD = 0b0fc2c4af6034f9ed0d0b7b032a2487 +CT = 75b38819f361720becc40a2d97346eaf +Tag = f1c1950936ea220ae478d985493b3b + +Count = 10 +Key = a80de3a5587c6e098fb1ba7e6a50ac65 +IV = b447ba4fae4302c450585e152b96b6717cc22c6f2b69bfcc5a5da8f9c795880bf5b685cc51f3ac41bbd99136bc4fa10a3b3cc932d8082466021a9c340179b06ebe92646a97472f331e918a2137653da9953b01467f23ebeb304dcfbe5e2a4d697f1347b8a415c514d2ac67b698bdd840e12f683d7d4b56e11444f77a09b279d0 +PT = edf72d0b8870eb3527d2364d782f2421 +AAD = 164bd151005731edd67b7bd793b24ca3 +CT = 15ab1bef24baea137a9b965aed2de586 +Tag = 3c335ce08982fe7dbf623d6e0c7b3a + +Count = 11 +Key = abf508be1d37c523476be2ebe577fe80 +IV = 0016756b6632a437d6632b8046bf47818969ebdf6f6bae85572b6d90cfa122d4d4d185e52a9d163ee546d2dd53d630dca5e021b9837306bfc889a5d5fcde42e7f100f1ebab7cee2b3e6004c5358b5b8e9048f34180596b4485bf209de85adb54f9b1f7531816d75a45b8fe6c132cbb3132f19a520c45217a8a30426811c1b013 +PT = 9ea5bba0f17039193e1a7c4f8a605e65 +AAD = c43bc98b11ed84149a9ae03b4159cb77 +CT = 5bf17cd735f6a3bb57da348061917e85 +Tag = a909a3c973b56fb32761ab5b146426 + +Count = 12 +Key = fe289a36b09654a80237b72561aee1c4 +IV = c338f00d34a3fa3faa5ea3d042d5e4eb336868bee7c2a4c87831a6b1d7f0e692b6e13061a3f0e49d5badc2e913b2fdb842aadd90a71b68633d8ab9aa8ddcdf5f0097aff071021f0ef6ac9b17ce320afbadf7e2de6fbba07bd680d16eeda446d20bb9dae7722e04aa4b094d382103743f9809b0402d82f95530a828439d942253 +PT = 0690dfa5d4c30960bfe6b2d446644d26 +AAD = e6d2faca30526b00859e0d64847dc259 +CT = aaf692cee07e8e78586559b8f81b0f5c +Tag = 40859601b0a54daef56739d11853c4 + +Count = 13 +Key = 11a28e54f73e2c9736aa854e9802171c +IV = 64a91a75d710a37c1f4daa54f3483c9ea7204e458018558d5b66dae0a8db8813ceca62cbd32bb235e056aabe52cceb59331acb2b10cf393726ef52a449bb4a231dc3e544ee07a485cbd10b502e5eca7c53f8d2640b40ededd626d9cc44de6b3e62a20906d5c5bb5a7afe9f1b22d8f3009723c13fa8a89e5c1cd9cbacd61faf36 +PT = 28d50413d26c7b76dcec44036be11e52 +AAD = bd81651132ca8217b09c09c9c9b6abd7 +CT = 61c99e47b597891d3d52f5efd602267c +Tag = 87f51302e1c252589ad7ce0b54afdc + +Count = 14 +Key = 41907fad15159d1f6961fd3c42659939 +IV = 4576fd6508fcb580277a85bb4a7df9f80b11dc1d2e764a99b54345b83810cbf0259f3f05d9e891e61078be22b18d69ba928d86cd566ef8e298fdb96dc333fb97d1dc89cb63a24955ca6d64f012dc08665fc2fdf86eb37851b4ed6efa4dc867a104281744213c2e1321ec86742f0b8501e565021441a0f6ec90d8657bec8fee1f +PT = 4517e4ad69240da88aa341a21bbd61ba +AAD = 02513c7a0084956578f4cf8e97e26913 +CT = ad5ae4da6162112c9ebae96cf22893e4 +Tag = 7173776e72f4c5aa9fd88acab781a5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 908bf381daf30d47cb7a533549a2d9a4 +IV = 55ff0fd93f14a7758598cee15a9116fb2b213b93b95ae56f7adcc39dcafb6ee80f5540430a00c8ba1ac05341c472154c7aefbd7c54963e055669dc4ec30dcfb16185ccf1d1d18fe7e285376a9445fa8203e3562ce9e7cb3e4fa02f8d89b65e218a62867684de7c940c3a0c57cadff6fa99b7c49ed12a438c99b4562de09f41bc +PT = 906e239551c5a2d00e97c5a044977cce +AAD = 082deda9c6bbcfce15894446181319ef +CT = c2538fac89bc50205a97653e79723f9a +Tag = 241e8a256c03bc77db0aeb0a906a + +Count = 1 +Key = 48547cd52cc55a6f1bf6def014938741 +IV = 1b436c9c33496a30974416219a19a7373b332a3ba0f2a5ffa7f9d3729265c204bb44f5c84d807773dd5701e508bd5b3f94119a9c7b387287e8edd4d366ab3282522589ef0e7fedc661cce60504cdc4d4a40e10050b063ca373374ef14992a31df7a35c417cf40860b77ec05b1fbd633d8dd153a3ffaf1d07e51dbb3237aa279d +PT = 71a3fe7844f19b442ce1f25cfdfe9840 +AAD = 4529aa6ce66b05fdad9377a61a99669e +CT = ae71d955a975fa557fe459194ab31d70 +Tag = 082b5c45551fb6cc007a66733e4e + +Count = 2 +Key = d2a69ffb1d1be82ef3c10f9c999b7ce5 +IV = 44719c19a5965776808ecbb2b5d113206c303de6dbeb198c0a2b7f5cbbf6baf5d3664a2704f55cc5c650bcfe434db4f75c13448f549951e52c926a1ef934359434a09eb0de88d39d5a79769b206f109136ca3f0f88289b30d02e2966be99361b23c76c5e74b6cb3ea7b8a67e20471411c6e68eebbaea0ec79b204add8ae90ab0 +PT = acdff9765d55ab3fe331e8259e786fa0 +AAD = 0c4c04cfead10059d8bf302d50795b58 +CT = de3aa61baecd6b6100e24c0174ed4601 +Tag = f07483abea6d133e9c3d6a68e3c8 + +Count = 3 +Key = 0b05e81fa4a9846fc5cdc68b34f25d00 +IV = 77c013ee00db9d64b002f3c2775a76e40b9f6187d600fc6b4e242ad0654cae3267e9713332f1f1d2778ae9b5378b2ee7f8646a699c7b998f2eb5e675a7cdb9a23a4ff559f64d6ec8c68ea2536f75d96551015db4682b5d6fe262374c71a0c42a44e21f4605abfbfc7567ea4d430cb3796363ca287efb7d6299df5b15affa3cc9 +PT = 1959579bb9317e5e78144aed99c2a877 +AAD = 5756a9745796297826ae9d2e9ae30302 +CT = a377966824fb73bd9ae9f7973211553a +Tag = b6b2390cebba9a5d515231b19d95 + +Count = 4 +Key = df41243d8ff760fa803b5ed3f005a40a +IV = bf115b5baec836bf436bab149a004d654bfce95c2a1ba60242f274d761b1719e0dafaec55f32246787a645c2ac7bd4c41e74bfed256fbb0c53fa1583f50d7cc8c8d19661c7abe7e2e8796172ef932b3eb78e4af579056ab2bcfb8d654eaf000fcf104211a3f0459e2a08c20cd4c19b3aa1d1a448a0b6cd8b5254e33cfd1b4407 +PT = 66f49e9b96dff79d23bfdcbee4f6bc89 +AAD = 5e6942c2026ee75af3dd00c5e744c750 +CT = 518441176207139ccd95bc9e10042f99 +Tag = d6f69fa965b4e9db8834b467c950 + +Count = 5 +Key = fba8ccc1c5fe0b6a361fb14a80ea484e +IV = 95f6c1d88557337bb20aa49a02ef39718747dd61252c307a2ecca2eecb5af6f577a6b536f4aaf151edf0ec5bb4c5c6a3e335c82a26478cc452df3fe16aa39cd84e0693adf34d16fc5cdc747d8d349be48459d0eb4ce84ea848fd38e02e1218ad083b049ca00244bc6525f2d09d9496a28aa21c69326f1abb9df7ffa070f0d9bd +PT = d923a579eefc11f1a66a7db10f96ff60 +AAD = ca18deb33d636b5eccd92a2f547c58fe +CT = f1fb5180aee98864e27190686c5e57e1 +Tag = 6f4f1dcbb3a80637a0da3b5f95f3 + +Count = 6 +Key = d0fbaa514b5b340a4270feea0679959a +IV = 3386d9ab122b6ef1110be1587e116339495e92d1a79c7cd1506969de70f30e3aa627b41e4de3b1e1ba050f7881914f46bde606c5c60b53936d690d804c519c7ebd3453406f9d0829330e2f89fe0008121f6df2fcbc39fddb3da90109a932909a350634e904aa9299cc1220d805dea0dbe1648387274d3b84cb05876dee0feeb0 +PT = 2acb29616a589ef57ff7edebc48e057e +AAD = e683617543b59166ff69b6255d5695c1 +CT = f968779336c209ef7d2d52a65610ed91 +Tag = 0568cb957443c23cf4fea233284b + +Count = 7 +Key = ff6292f84c71cbec5147eb74ef6ff282 +IV = 7d535eda13d9923684956bbdd4b18f19253afe9186ca8e1b965710bd10f01939f491d27f04d4326b034515a8455a4af6ee0164ecac90640ddfa7ebebb4458646cada55ba3ed916dbcf2bd51b95ceae16553b29e1567a66ae18dbc0834c6523f9e7d6546d0d6b1d482e2dc9389fe59068d18940715371cede042d7db7d76a6339 +PT = 1983c1446f739c09bbb7c92ed70507f4 +AAD = f98b5ac6e71b51322b3df13528ecaaba +CT = 6eac1f1044dc05c6917cc75f2e01b39b +Tag = 596f8a354c444a2a5159015cdb05 + +Count = 8 +Key = 1d8f598a6489d7f2839d17e804b44e08 +IV = 5dbcb54abddd8fb031965064611595a721a0358921683e3fc1327ef6bfb48678fe33d5aea9f1a4e6c95c129d1d5f1364f03ba2c8845bb4ee18687c997d95bdefb41155570ebcf93083c72085a8d815e6e3c9d5b19a6dfc17eb32ac42465617ab9df02e5165bc4b2cd09c0d89981d331dc6e83ad25b5c9772bd7e9122f1b1f231 +PT = 8318a6cd0dc5c834174baf4d172c58c8 +AAD = 3be45e22a230a3fdb7e8ecb1f6ce3995 +CT = 1a8a17243264e308309d1c2653fc3d2b +Tag = 132dfba239d5161cd70805d24f12 + +Count = 9 +Key = fafe1b8f14b97c576b0d8b8a0cc6e9cf +IV = 31baf441d95bea1097cb98a3cce9bf99d3fe467779b3fd9e28b10406de526bb929e17e84291b38dc1787497ecbe10fb7bbcb667e082e8dec70d642ae029cde8e196732f484ae59c3dabe5e07d5358b4b73ce59b6364ec950a54b148c7e823d0c9672e86bf5fa7acb7590ce092c1fbdf113a1716ecc4edbd5de5c0c28401ec42f +PT = 4c537dcf9ab2306dd81e1fdb9475d745 +AAD = 0db8272087c9c57b426062099adcdda5 +CT = 25a98f86e582386254344187957a4ade +Tag = aa2cbd47d4dc4afcd8c5c7803267 + +Count = 10 +Key = 75cfa0aee586f343880d1780b3d5783a +IV = a496f2b87629d920ad36fcb6a29d0c22f24c54c41867390495bfc848387f7dda0f64423604910669f8786e137a168abf26b485158af3fb4c302a73a5ffd682c04bf22adc4fc37f7f0f7ade9283c74d0504b608be37a2cb6a95a5980ded61d058c109b6a400b58c463f74cc67ca71cf358ef56996471261352bbe15d2872e2c4e +PT = 37aea45da61c648254533ff6bb499d48 +AAD = dd5102679aa9f6bca1b58ca5c3e4409d +CT = 21d5d1cdd029f3364a052224dda6fe97 +Tag = 4ad0296f3674df9bff6e679275e1 + +Count = 11 +Key = b0d9193917977c38df415ac04a9d9476 +IV = e6d556a6d6d9619024cf683a28e32c4d4d2ab9a99711e7833dbca18e22d73f72c7d792c001c3778b873b01d5be8b874c3b269f769000abb93cdaefdf6788fcf17a8c26b5a9c2cd202a119d1f35b2afc1bd436751970f5b5f2329128fccc5efa1b6cda25bb6516e69b43f32ca4453c763490ff15eb8b934ec05f21af6e599d5b0 +PT = 9d2d90fe34c00d845e348cb16608f3de +AAD = 7cec1de369f796b609c56d0a83fca571 +CT = 7650f7cba1baaf4599dbfd2975594bc4 +Tag = 2d659b5fb28e04a66fbe704fdd30 + +Count = 12 +Key = 4fab6b76d20c08525cfcb549a81a7cdd +IV = 95d70a6b8d9cc9efb434f58e9fe5f4a8af569c2d2c9ca5d7b01c8f29eb5f1f4b93fda546f764486a439a0484ae13d1723134591dc6e528a3632ec883ca644ab18dd9dea93298d33a7a7aba393d278f0ce019723a8db43368ae498d62dc50b8d6f286af7ef79a5b40c44120e73241c90facf5ae21a90721956a648a811f3980cf +PT = ffc162f73dde3d7fcb088147542bb1a5 +AAD = 0c73790dcd628e5dbe5060de6b9cd08f +CT = a17766e479f6e2e87d48879c62341281 +Tag = c05899513ae76b45d8ffd267f052 + +Count = 13 +Key = 8f38c6702d3a467d7e9d61625b9c337f +IV = 1f0a34f31eb0113b12ac26ee22aa5a0eaae331203a1e228aad12924f6ea084dac148e0f659ce64a33aca2c494b6b31187b54cb232ea923fd56d7117365c28aaf26c936314152543526fdcfa9f9aecf1fea183cf78f338bf4cb3ee50c9a2ae7def0b4acd33ca64d82b02b9074474fcd30b0909931683e528f59845834bcde44e1 +PT = add5e75e5230fd342f731a087ac321ae +AAD = 2a3ed848d644f361cc3ce87ad607e3f9 +CT = 999b9e5c12c1834f89ec337e77b533f8 +Tag = f2155d8fe00275853b209f7a62d9 + +Count = 14 +Key = 5fa7783bfaf70f0b026a077902ec97e2 +IV = 330bbe5fb6da96df7f46df0d93fcaa3fc4ea77f446987e15ecbd79fe5ac17251a1119009c88b83f9cd381d3a8951198e77dde43884cc33baf995a97ddaf9f3b6de68a00e6d0c62234ea8c9ce6bad330cf30765197cdcec15c84dfc2ae47bc93dd6765d87ad2fa8065cd84e96bca46b4602207e68cad09169404277b2a416dbd2 +PT = 23aa7b7b72280b34b77e34e8367e7492 +AAD = 870500176fc8c10262a545a7ea7de122 +CT = a9511705612e0d4c534e43cd385fd64a +Tag = bc1e4e2a214e2ac0efa59ddbc0fe + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 42de62d99d370ca816d4833ffd916ea7 +IV = 37809babf3fe58e9544ac7ce60ea1bf08cac08f66b091cfaafcdf9eacf1fdd9d36f6b55b1b4b4160eb003e13903f0d0a15481f97cd2971732ecc4bfc148ece6dea8037e9406a15e6bd48c5de60de12e7550ba85f46ee4f3c8a73fc72ad28f602191d6ceca0157b4c9008fb847c3bcc516682f582fb11f7791487034bf1c372d8 +PT = 62b55a251ec5623a796cd971d3f10ca1 +AAD = 25050be1f59d7fc79244cf0133356971 +CT = c55df094ad80b31221bf516bdc375f45 +Tag = befada59e7bbfbbe605ae6c21a + +Count = 1 +Key = ce6ff53ea7961730b75b639c6e3aaeb5 +IV = 57ad3100319fb17b77f6d196c598c7cc8a575380824385f1b240573fd01d3fc98419611a67e119e10a8d86f4ea036b3a83219d5fb52454c5d1a5888ed9e6e97e0d7dae6f503e8e259a2363139b887c3be2f093467e37c83965dc6a82b0c940d3a6b59aa9af9f54cef40c3a1ce2fd8576436716b57ad11243ed82862f9810ca61 +PT = 07c7cb7d1d89e796e9cf3d0f99b1246e +AAD = 422ef626132581148c66198d3508b42b +CT = c50a4c0e59792830853aa9cc446b8bc7 +Tag = b6af62d862cbd3944d413a318e + +Count = 2 +Key = bc012d45ec516ed3020c2cff233804c9 +IV = cc1c9337d15499f96f9d1ccf4a7b75b9a8251344a5bdb8a8488dc73df4b8c6f3bb8d7d471bcadf35ec6f29d676436f20f6e0b84010032f8eb76b6c4ac1d00b5ffcc6855546064d88f8544aa7fa3f1e7de165750da4b3fd60ea2f69ed56d75247fa7ab585e6afb1fad21098cb6eae48ecd7528f448011383215da41409ccc0843 +PT = 7ef6169e017057b23ae83a3ae6a2e72a +AAD = c6cdec29038d103dabece4f4f14117f6 +CT = 114d4dbfbe72b3c7579e60bb57f3fff6 +Tag = 5bba3515e6fc55e7a924ed8909 + +Count = 3 +Key = 4731e639d82dc13b04142e2caf6761bb +IV = ee99c693a5f26d17cc551b154b3ea2f0ab9f6c777957a4ca17cf2996736108c3e151f97084c892e2ae4ef5ceef6f97463e4b05996c91e125c734f981a7fe508c0a53d9431e69c0344d92b538763a9779bfb2a1f960e763172669a1085a158ce6f59a47603c76d9cc95c5457779c24169b60d77a832be11de4e469d5a78b44189 +PT = 9ec3d5d303faa3f43f30e35ee752307d +AAD = d5333b1f23a6fe20b4d186f982430ecf +CT = 878889da629fbe9ee3298f871d063c60 +Tag = e313cc6ef28d6f3b999238a864 + +Count = 4 +Key = 4ab6622757aa8996479e5321508e2adb +IV = 8c78b6a48fe97e424b1484cd73593dbba34903cb2bccb4273953dfd91ca80cc547937090a323f821e819629e957d2ce9b77cdb18fb692561aad2172e2b3befc5c8c1ea59bc7eb50e4de09ce797bb575a0a174dbb560c9f2fa6be05f65a77cd99da696566a37886e61be6581c86654eb9c260f019433a24232afdf90cfcc6ec22 +PT = cde8bbc91cb0dd8324c77ad86c214055 +AAD = 293cd1849b16f817f5b550704bce9147 +CT = 5cb0f69d9032b2d479102cfa1a3f8901 +Tag = d7b10671378850a3f8def32f5e + +Count = 5 +Key = e8000fafdab6f51e65dee9bb4d6f2ba1 +IV = a16502110996c6af018002bfd4f1144bc7938e489d3eb386ce2f1232bbe4941c67f7c79a6213b068fafc7c117ab4718b628d593261523d8c2bf13df8e18baf759428094ee81c51783c306e35322b475f48fd3c60bf3fd157390ed92bd356d5c2ae73171b6eb926222d618bb74f961f8b0864d98ddc6ceb68b47175e301574b31 +PT = 31c8da3531037ee77dc1704edc8355b2 +AAD = 5ab32e50374c8cf7b5900e1cebfa2a4a +CT = db819d18ee01efdad9f34256ac68347e +Tag = 2a0d535139242f7d9b6a4e2bf8 + +Count = 6 +Key = 8512c39ca7c4fc53684298a34ac93b07 +IV = 9f93e73a27668f12f58fe781de3eda33f2212c2cd8d02de02e9e7cf128ca2809c7c4c235c549ddca4f9a73168efdcbed4de514445fcb9d19c63782f1eff06795adb3060a32fd19711bb9c8ca20af1d940b38faad9f259aedf62d83e265496bbe031f0a7e3ff9eb0131d3097ffc928ca13092bb31cc89c1a3ec873b906a702a0d +PT = edfd29cd34c4a9cc08e7a6b97322684b +AAD = 36fd4cb4a76a66c727f342f243386fbe +CT = 0f75afd5ea6d6318840cd305a8e83716 +Tag = cb2193a8beec7efa889199b452 + +Count = 7 +Key = f930fca2bc2e1a0d4d92a8bd6a569a89 +IV = 9341ff4df55fc979418d53b40e9e34b3c13a36346702c4dd84fea8ae19ffcd7ca45d6e673ed3a992173a1c0540ed4e573a4f242cb8c5070db6269fe53443256b7c05230266fe5f4d721648b9f6eeec2b4f403d449e445ae4ac29672de11d5397e18b595cea5bf5fca4fdec708261bced9ba42edee00ef7d3482ba59e8ba4118d +PT = 815c460e38867e0fa919301872dd948b +AAD = dcdf04e9802f78b4135e1cc4d61b7e18 +CT = 55f44d1fab2cffe823acd7c08d120521 +Tag = 9c5d2c761a4849a0bdb4d7c2e4 + +Count = 8 +Key = 8ac9510dbc95c9ef3090bd1516ad7d1a +IV = 6be72f85231579729987091d6c25a81d9f9ddfa7b41d04dd66cb2fb90d7ecd31203b010d538f4c18b7f6a854fe000d64d6f992ebf138d1ec17a4d522e6182366c252a80fb667d474196773e65055a3c64d2c4398dbd8c8f616a712d471d40f0f07877b7e1b652953e6f2cbf0576f5a4f86531424dae0aed500829e5e4ef6de34 +PT = 183100f9b1c5f3fe3f5ea297d832912e +AAD = 8aa9cd19d903dd659cd76fb848bbff92 +CT = bbfab00205dd4e08a597ab96e16f1688 +Tag = a3c1b00024a8e71e6c0c3608e1 + +Count = 9 +Key = 6091a28646b8c0537e3597ff3df50b37 +IV = ce291cd90efa6a5c46435415c7f1ef6a51e3a8957cacd37f8ff9706bbc323ee5bab625da693642780d40a001b8e11e3d7cb0978e61e67c60f0180bb29fb857fef79ebe422c862c34f6f6241ec76ed2cc36b34d0430a233c990e7ab06b1d83d593c5702eacef6a30900f048440ebec6c6b89ca39119adbf9ab7ee0c7040d170f5 +PT = 3472b41997094c9398607ad59f4ab433 +AAD = c84f564c80a4d952cd7c04cdce4ef209 +CT = 9d9328e2befbab8a9cc2f190ce80646b +Tag = 0a50997e78758618ef858c3a18 + +Count = 10 +Key = 2ec02e6fa42469bbe323bb108b3f1b4b +IV = ec3da23ec95997e3a0ff2ca30dfc7153410bdf667c17afa6a26fcfe2a45c7eae257f5101560d34762bcf8668f72f4ed1ccc22c275f5d444120df4b7a495b2c711ac6e70ceff0024c4aadb00000093c484236b6b556176c0fae514fddf01a051589a81b86f92e6d8e305e18f321763ba6dc4d5a928f352619ac6f733a44d300b5 +PT = 5af3c7bb1aee70486cb845dae7454496 +AAD = 6d1581e6d895f0d5370e007e80a88183 +CT = 6ef4934b864d358ceaf3260f62f9ef98 +Tag = 67a597e5a19da4daa2c2f43c84 + +Count = 11 +Key = a60d3a37af153af6370bde4194fc6eb1 +IV = 8adfc791681bc645fb92766a741878e51ba2e604c25b65a6ea0c4aa89688803900ceb0db9ac9b4ff53c8423003560774eb8f6673c892ea40c969074793f3e6834104c652238ede87289869a594ac597fc834b29c0033298458fb96b0e6b1a887271f6baa80a172d2f9884829ab16dc1d90d9900803eef7323a8fc9a118808696 +PT = 10c0efe8ee2e7c42a32713364ab41650 +AAD = ff084d77d4c5bc9d6732d291035827db +CT = dcf1a7dac1a4bccc91d967fa24ff41a8 +Tag = c24ba9fc43e53e1dd2bb010a25 + +Count = 12 +Key = b27f47bd483456b3f5e0973b17676a93 +IV = 61bdd277d9f4330d2240c7fddfcef2d980349342df5ff4352be93e0bf314d1498aa83802ebdd80969a227790b6d68824c57f60c7b3608a4f69adbaed048c97efac8d7d82209d70cb36446617b264ec058ff2dd2aebdbb8acc6096856be8202771793389c26ffaf29ea5d9c8c4d17e9ae5a052d6db2be7cdc35984b0769cd394a +PT = a803f0f916cb5c6ce0385b0b7bbd3132 +AAD = 9ce779633ccf9de2fb3a5ab745555e42 +CT = dc5ed1300cea6244b85176ac51b9c5a8 +Tag = cefe34aef6e50479d165b1728a + +Count = 13 +Key = d1ee9df165c5bd37e410e251ac7f7ce1 +IV = cfab001654cd6672aa7d666bbf66c706a0b50110c94fbb40cf13dc11d80bd74d72b80bd7fbe6c706a3d459437874e59ec9a7ae5649b10f7eea202e90c98614a93ffbe10c4b578d7696e3ad39b3ae3f939e2092ba617f332fde97dac60234b6de8f59c15e938fee2d7bd0ffd95792c19c4e522c38e89f826a1c338b589150f3f5 +PT = a496dbdbec6b2be08fee9ef52046ae4c +AAD = a4c2b03be8b4c7e1e676c7d3d822e4cb +CT = 0fec13d8df4daa37fc6089757e4b499a +Tag = 283734cc8a3fb5319640811fb4 + +Count = 14 +Key = 1ab252464bbab1c769000f7b03538a63 +IV = b3641a6c45e98e3554c454fc21de5eeadb0da2f825075a8b2a83911aaf38acff07519a26e463d1231d3723b956d87d9d9c487621baf22a8b7e745d69ee2d25648bf07b9cd7332627b5320ac9175041443e306ae89a7009430376aa51ae964fae40f72db886f4409f2bd7d32811ca75748ea76a683d91846eec03a5e9b442d33e +PT = febea6ab87019c13603012faaa01972f +AAD = 85b288e85aeb334d37864bee424d7d4a +CT = 84b258166ef4b5284bc3bf52e6283078 +Tag = 1affbb2bb33c31cfd4ab72ebf1 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 2bb14b44b804ead1f8361187b41652a3 +IV = 4441e9f12e88b4819aa76af493e9cef7d3692abf672592480f333e995cad816798307cb6a617487680c56834c5aed37b88766239390bab0b8027159bdc3ef2f26408ef283f4841a9fa776813c22380ca71ba2631b125bb667db41424f9d1e4c47b98ffe1565e1cc79293b2bf19fdadd109dbba83aaa3b716cf8ae1fe1aed6ab5 +PT = 0072aefbc0938abd2bfbbec256f47bfb +AAD = abb77473775438e54d4b367cc57fb787 +CT = 8ecc3e1ebfcda9cf535ce9018085fb7a +Tag = 3d434c7f3f0889ec41186db2 + +Count = 1 +Key = 0288669858725c1c3cf26c90f46db08a +IV = 35e4ca57e565dbb23d9abab649dd39738416dd66132c5d7f2a0754a69170a7b2811b8209fc9acf0b3202d76bac145088c4f313ad6ff0ffeaa650d078451f716bc4b51c48a51da0473365a47cb024273f65b374e413099084a94bd614c7dfd86d2187f0a27777dac1386d97d7276652fa3da471105df99d30557a673a96ef2b60 +PT = 5ecaf11c1a8bfefd5c346358f6283298 +AAD = 3197d5b3b2342d2826cd9cda93db91e1 +CT = 02f9abb8e950537bda31b33518856bd3 +Tag = 02ce0adae4487af3c2ca06b8 + +Count = 2 +Key = a0ba8d627d0d306c34c211a2f20e116b +IV = 56d4c53e74f5f17dd1885b4a426495c86de68b123b2c3e15d12d04bc683d07e8ac9da12b1906881dee86346207076512e36b2eba78a0356a2b0fc830dc8b8a439549f598886ca1cea7c0e45372abea658204425194aec79c21a9c8b3e90817c4644a6715a1cd0f5715564cb41f45dd06343017875bc4459ce112a5a26bfed8ba +PT = 729165324d5cfe13b9298e9bf02c1426 +AAD = 0023d5888d500bf23343c6f2508101fb +CT = b1d3501fd8ea1afb7e0d36fd606263d7 +Tag = 39244c1081bbec0b563e233f + +Count = 3 +Key = 6c801f0263766f37487ddc67eb4147cd +IV = fa5eac3f01f672675f42d04ae98316ca6615310ac5d83601d79a5732f427a48da75cfaaac1238560bd6cb45f7d81892ffb97e38472f331d7be89f4c3e312e69e57408b20dd873102720be8c32a49e3ea9ace16a11a51321f6b7bef8c8d75930c5b96a0929df2cc80153f31a8043385bfe4ef06dd8b4a9f726a7d1b6645dd47ef +PT = 209ed0fb98d4f50d62fb66716e201f22 +AAD = 9e43418d269751bea414c52ebad8be3b +CT = fbe873675ca538255d23188718d41485 +Tag = 248d062f706059477a586ba8 + +Count = 4 +Key = e3c619bc81c8c1c7f7ed80fd03e61f98 +IV = c12b23cd09dc616f15c20084fb12b6819bf56a704aa0e45f9eaa24371e4b455e5e72501398e18678c80381473d7bdbf871ed352ffaf893eded9332fb5e41cf6b2b4de821d92b99aad8135a408e3507c6f25d8ef83db5c87d7cd251559e88c68ed4009285a0f2cf9ec9076089b6151112df5f2880a9e0e040e3bc05cc32d2a9ba +PT = 2d60dd5565234be40f9e9f8719bf00ac +AAD = 0845cb5a06d9e485b3df7d25b7622938 +CT = 85e9db16d732cf5f971457e4f18867eb +Tag = e495df3b8b3fd6c111d20ea1 + +Count = 5 +Key = 2d8bb15a626b84e2186d5e3e0c515d7b +IV = 48e9a8ffeb9a059ca0b14d01cfc9e30400df84d5ef6d508484058aff1b368ca6cb9d5c4a808809aa6f3e339d9f7ab50b7236ed7b5171172269cfd9d407d3adeba04eb3027f7e8bc877d48c1e1d4ba3269da1fb19a4461dbcecfe5ddeb2439e4fbe64c67af3e2728d1467470ab53639ff5863cf0087d447ba703d0706498ea383 +PT = b2881b0e4cf0bed67a5da979065c973d +AAD = 721ea296daa43b62293bbabb200c803c +CT = 1ff6662839e9e97c578a4de8283d380c +Tag = 2c8c6e48fc3b7baffe33335e + +Count = 6 +Key = a8043c4ce803f8126d5469a5af950924 +IV = a4ecfa477eeafd540b2a10af82a98b96a1599aa4b155cad48ac6f5998d373429ad32ac80eb968ba84b5ccc91e83e63650253d525826edf337f998cd0c6888f47b449635cff65b9630cdcbbb18effd1682f1667203b328d83a58b827e3e68bfe720491e7c66dfe66201b3d3b260de1e4fc3b2e80b64d51b29d08bcf2b9bf09758 +PT = 1d9650f178eccede3e5b033136bc26da +AAD = 524d631fdfae34ada53b2893c19bd359 +CT = 61c79f2b19881d0cdd12c2e0e1c1cba8 +Tag = 3ff52dedb40742a667a48356 + +Count = 7 +Key = b146ea154b18b70cf3ecef480d44751a +IV = 4f8882a9416a125b7f4a4ed4b0a9925576425be89ab1eecc78eec867ee7961a32dffc546a8d03fcb4851a5d3dc49f8842a65956e08c2726e519d70265b30779baadd41412b4553da58017444b89e8ec13110abd0bad4dc18d977b4da0f7dee8924a96e97a55d3b2d6a9fc48633a5109c5b7b45e804877b167726a2f435ee239c +PT = 46169264d391a3eb065b25f0c38e33d1 +AAD = 2d2cad6df89194bc1b054637c1300511 +CT = 24725360c8ad3b82843149a87a5570c3 +Tag = 805b1260d41331333f3d921c + +Count = 8 +Key = eee50836cd5f708bf7427baf99e0439a +IV = 20956350f4b95cc168a59d0540ad6b0a1636d8595209693a48bd14ba4a78ad199a6e2e3b68079fd01c7dc074845a83b2c629b6618978f05f520751bb7881f686090928318087ffeda6f5488de50010c695226b36d35d377effc409c031f72f9f7c78ffc651d7ba0142a66da88cc7854c716854307af426f2a5057c7be430610b +PT = df89f03b82b393b1a95a4430b5de176b +AAD = 13a69c0ffa1f7d5ad9ac0be1d055a021 +CT = 9195fb9085813a6b93aa4b799fba74ec +Tag = 190f69debf2ea6a5ffc086bb + +Count = 9 +Key = b0f06d33c22fe2ab193d5fd3fe309ad8 +IV = 9be812aee6564d83a0c25983b493fe46a2c0c529057704379417032b2d282ffa7bf37047adc03ec23b1e99f5117ed7f13f225f7ac121ce7cbb5bb44d001b0949aa1b1378affedbc48d5187d2b42bfce274f7953c864a4ff7d026d7811f78ef1e22054e03040f4ad9c97b4be277568b56ce07f4f5b23193aa7739ea77a22086d8 +PT = 09bba67d8443030575e0ed8def04795c +AAD = 32b885608fbbb1c224e3dd369d0fd85f +CT = 1013eb80c9808bdd789ac6e2929dc76d +Tag = 06d778104853d0c1e0517342 + +Count = 10 +Key = a0b940fcd2c1d0331bd906ef67afecea +IV = 34f26f374b1d4963af1a2ad46845a33b2e7ec91f13ac3d536928c3f3734c21ac839fd35b47ed40b11a821bda25ad1761b5a7f4d349ee90709a0ec5b83a870df9d2d82dc40e907faa6d874b8d122c23a9315407983fd4c72be677f82187e6463a0673e449b0c58a706c5d7096f47638e4b959f93cbb178b25d335faf7138a9fe5 +PT = 97876d4f71c733559d629d843d39bac6 +AAD = ee30895bd3aba3c00c1f42dba44d0a8d +CT = c354f2491a0f2dee687573f8065519d5 +Tag = fb9d571e5d49a070d2d67c4a + +Count = 11 +Key = e0d0a7a5f2154769de97314d3e21d175 +IV = bf574521d982563345d4000e86d55daf3e8b0fb9e1155739b81f2c18147bb6d1eb5aad535b4bc8e0d5d00ecd52f980f3716609b2057938b61372ecb9f69907d1b81f76e0120be47fc82a3b6e4be4fb7102421c657f963e7727574d44cf01bcb1375875966e76bd5c738ed659605c7eef214255dc7962c345a83a846f220bc52d +PT = ae43e0358664123dbe5ad2e5e3e60a84 +AAD = 3e24cde81361b462b200c88202c68d03 +CT = af758201cc06af8aa5e5628062f36f24 +Tag = 9a93fa2ba81e2e323481a9bb + +Count = 12 +Key = 0a8156efde8f82ac85ce3f2e0a3a1316 +IV = c8df6dd5e362d849ff274d59e326ac6b936fb2fed95cf36d268a7782442d916cc12d75e0ca7b21ad61bfbbd491cc38c8064dbd8bb69bf7da47d4b550a8b2c5cc70c018a76c7c746aa79eded7b3a6573e2d4c77544cd0d433cb28dbeda5babc2ebd4c1fa533774757c0477b548063ea4ea6662f0266445c89c5f8a3bf65474c2b +PT = 1d4307d2509faaebb2fdabd12f7a9bf6 +AAD = f3a7b6f1fc97dac831412b66324a5d69 +CT = 61c35bfdca2e9351e40db30f6b3c72b2 +Tag = d3895994b597feb2aaf88e4b + +Count = 13 +Key = 264a61815da15daf3b797822b92c6629 +IV = 77a0c1a9629d34fc5bb939269413a652f087dfca0740f4000c09f0bc997e89a85e06e2e7324ac12b3d67a50b04a12bdf53d058d78a0e157219fd12f793bfbc9d88489cdb53cb770a87f8764f72273eed376736662c893dd807b21bd34d92c380a97b6fbee36feba4edb9b9f4973df85495a0dfde28d33ef0c6fcd0a84148c484 +PT = ea2502f0203a3d260c180e74887e2b4b +AAD = f89d7f1e806249c48b0967a49d1d4685 +CT = 51f472a140469ffa4c6f6f2ff89c5bac +Tag = 791fa92f5735609152acfc7c + +Count = 14 +Key = 492885caf86b2db1b5386a0dba490b9b +IV = 991266780778c3dfd53d60fa2b94f4e71f9c9fe7b8bbd3f94fdb86a7a793aa198dabf832d515f7880a390eae68a728a279d8c8684c3c3f521ad8ab3c2b5b410b5271c2f488924725b5acd0de4b860de7aa42cae1bacbc614ecba50e538dba52f325373a1ede8836c20660661bd47d0980a9e708eafc0d8855a6593354c01ba6f +PT = aa691a3077548d10e7d72a60a82f3d60 +AAD = b09075ac81b0d97aa1693eabe3a7a6f9 +CT = 93b473bb735532e31933df5f63a8e42d +Tag = 9c3bbc7c8716bdb5c13c9f8f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 51faacbd494629d0d781df37da628c02 +IV = 2ce8ad3963f8b5295342e8f39e54e6f407b7a74cd7609d528fe026da17cc2d373c7f1f38e967fe39a7204dd7162b2360e5de8a577a5d12bd8e492be046ce5673b0a841c52a3cc427af87f92c089cbec767c68e630823fe215b2ab343e54d3c913393cd7d33eaf3d0dfd27617acfc7d3243c693ca264fe413c3111913ea4b6374 +PT = edfad4e9eef2e4215e6ef11b127291d5 +AAD = f14988f55c1d513db0eda6b3b99a358f +CT = 01d0810cf5f87cd8a213442a987b57ec +Tag = e6fb5c55c92d3824 + +Count = 1 +Key = cbe7d52adf1cd5998f911406ed5a0bb7 +IV = 7569d9ea7b446224834d2a52089abe529a1d56f9b09430a1cf54b613bb3dbbe35e90b5ea927e87fa96ff4db02376d7753b384351b59babcd75f1ec261883c96c24dc6b8ebb3ba27786b9a5941de86e69facea7c03bfc3a10d299ebc014df2e2ad40227e8b1998a996724524eb8422cbdd761be6a9e9b4e8f9f459b617c2438a0 +PT = 6de62e30d63084c70cdfc21973945a79 +AAD = 23ec86e48fb8d5433ad641266f3b3be1 +CT = 69656837ee8f1c482e6b96a91c95dd6b +Tag = 9100341cfafcccfc + +Count = 2 +Key = b7941930ce279b309925982728729a24 +IV = 0d98e61723060ff052a727f9fab07bb5ff57a624b2cf26adbcc4d71db07e39fa24e2ef282d158fc6d5a655849b096fddce72f2b11162f5a027ba4d2d744bd968b4566f751c502ff717addd47b342e3b3a3a43efd33acb42530c9833f370a61b580001db381ddae5f99059639e9bb0b93ce539d1b6bd979d1d85248ee240bde4e +PT = c2fdb6f862a19376e0041ae40cf0b029 +AAD = ecbaa298b6fe23b79dd11cdc2e80dbe5 +CT = 0af85c50b6ff5a417b5bf28d5a0aaa8f +Tag = 58967fb753e22dcd + +Count = 3 +Key = 5ea48d67a880c62825e6ca7488cc0c03 +IV = 9ec8e2493435d9e436adb81c312b6a0576771eacdc23645889d8870361b035474965da132e55a2703e33ea1b6be066a2f0e686e897c971f4a117602ab232ff254945659c5cf1592ce17626d9114451b43dc0c07dceb72c859ca892533bcffa07adbe327b4895ec800aa398b6e93b6a56e5021157ccea38902a93d9c0fbd25041 +PT = b7ae0bf673f967c403275fe4d106c55a +AAD = 62a265d98d088dd4a3fadffa7fa4df3c +CT = e7f99e439a0b50556a45bd939b2ab8e5 +Tag = 477d9fe1a6b9ffed + +Count = 4 +Key = 80e8d561f2dddab3436e4028f955cab4 +IV = b7b618864024b02d1f3e666ee98bda0c14ad662a574e42c9f13ffc98d15c65958969bf96c570227177059f3f52fdf80dec83807e84fb8b5bc68a7730b22215215980480dc9a109967821b3f17ae998784069ab7e8d56247d1420ceb4713cdf2e9ce92ba56c20445cf128fbe48e83dad015a9685a5c9b43f5aa1fdd0d985eead8 +PT = 9bc288d83a55c17e3c549f60767d57f3 +AAD = 3c88498e71d01c37d434c83b0b7fc4b0 +CT = 5c5f233a69bde2d662221920fdcf9573 +Tag = 9e2441f57ccf64c8 + +Count = 5 +Key = fdb1c11bacab08f0e33b8641354df76c +IV = 13493385f63a545a97e3622a88247f6d2027d62bf3514aa10b55e4ecaaea3dd3b4c41db0aa92e01936742bccdceb70bfc903de79413bda4c4d9dbeb948f7ddfc4c64ccbc8cb864d97f0996331a4ef05de99dd93b6e224f9880b8121d55a1a0b3fa37b5b30f4cdf8afb050d20ab64a8e63d98528f3e533f03ebddd759fe857cdf +PT = 10c77a02ca92100c320b10ca30320798 +AAD = 128bb680c2df22e81f83bc5d71d47d4a +CT = fa6a5877d5920e82eec255510d77d70a +Tag = 2647ece2f074a423 + +Count = 6 +Key = 1ea684fb8f5cc24768f307bf09f07c23 +IV = cbc837e7614f96b6dedf742d920f301ec661e086bcdb6c62811aad70e8c65fb3dd3dbd95cedd227cee18daee9c3cfe6d50bb5b483af2864f826c7b644a059fe502938a6c4640742a8e2f7da63847f499637612a3d1f02b5b3f2e6221c53e58458d82237dff0d1ef060c742b84fbc6c3f59d47e9f54b1b190ec7cf70da140ddff +PT = 678939bd0783c216ff5c8a23dacc91c7 +AAD = 6a1422589f6d2bc62526b5e7e57de638 +CT = 5b321108bddfbb519d7e64e85f6b881f +Tag = aa87f7710ef22027 + +Count = 7 +Key = 8d0cfe2e597b26773e51b0009ba99d24 +IV = 4add0267ee8dc5c848871ddb9c7955faaba5b7ad6fdaf86e047f75b63e4784796408b48dfad4171bbdaa72654ed4d5c25112098e4944a5e5c5f264ac27e5a4d7615f760178376ca0561089196fd6887498c5fdc8d95c340d5dd980b03a9e494f098a1320d561cd074369ab162ddc3101afd38849be58851f4bc08f4487680847 +PT = 898350933c0059240f825de2e950089d +AAD = 9851bbcf2fbed9c1e48af6fea5aae217 +CT = 9ef7825d17086af572def714459ca486 +Tag = 1b766660d2a6621f + +Count = 8 +Key = 72224eb825484a643336ba90b084ae91 +IV = ce0f07f69821a23e269cdc3fb7627ce5e6bb8beb14fdb0f282803f3a606a36ee157d6dd324aeadf7e665b34871bf25555debe38f59ff533050973e05fe2d022bc2546c356a8f6be56030fedc566a219aa25f46dcaeb8117a463bc182bc501df9a8db8047af61194faa394e693e6b94482db2688f824d3b7597084d0ab157e165 +PT = 9b71cd694d8fc03244e7bb73f04442a1 +AAD = 31a47803756ea9660ccd5cc00db03e9a +CT = 2e8cba7bc1b46ff4669cd8a5cb28fc3c +Tag = fd5bc8d9715d2f8d + +Count = 9 +Key = 2e8560bf434ada348843eaeb6a532ec2 +IV = 26da68b8c9d63b3fe3b8355833fd59cbddc68e89e25c128cf1d70c435a591954ba1640013af719c5de05c7974151c8c38cf513ec92a5a5ce535aad4aa9888a451b9b630504b2200739dfd81fa804be3c1f23bd69a7fa7185bbbc4614e74b98c53fa889591c7c056496109c7cb5c7275ede24cbd40b73e5adbbdd2b547dddccea +PT = 23a45237d1be19bd279d1cb5d6744e69 +AAD = d86c896194cea373717b4be7d3bae6ed +CT = 82c2a9aaece3de24ea41cff31f2c4f4e +Tag = b1081cf8c972e215 + +Count = 10 +Key = 07477fbb516b8a24ac1bc2f78607b3fe +IV = b1d7c2bf722e6baa6e7aee2be68e8c8570c54f878258421e03093bf71adf9e503e7ec03bdf54a93dcbf00d0bc07e3fecb2ebb662e0d144e1ecfc8a4ca872de20b0b38233dfd7733d7daabf05dcbf63b320471bef762c9fe8fe2956c776f6c1007727e7cf72fc4631b9374bec4b18d7d85e42d93f7c1b6329992c23e75b53100a +PT = 19b0c99ed7c3864e63ce295def5c449c +AAD = 66ae65e426bfe8e9e59d06091cdf7139 +CT = 8ddad24357125f6528d43df71eebe1c2 +Tag = 47b710e954cda992 + +Count = 11 +Key = 85d1dc5f1c1af6143a51198091ec3014 +IV = 64b2ad03fe1cca09ebbd07c21a9b466918d62fd481d5dec6426d5a800a1b2b1c73d1c95ce60ac742e9fd23339626e36bbe0eac1742ecaad0e1b26c4b24c0b6ae02d40c93ef6dd736bb37522c5967b883cb1b3c7380afeae86ae182745ea5f424b479e5a5b9ccab9c354dc891e20d413e0e603ea847a25f1624e8178af3066565 +PT = 80b8d7cebf847affa6ffa6c7884af8df +AAD = b6a99011d49d717de096773eddc31bce +CT = edaecb7375bfb64f59ba6217323773d9 +Tag = 69220a0bc48d597f + +Count = 12 +Key = c94befb667fce74d8e7b550f08462f7e +IV = bb501c7273cc58f377e5e221e9b1654722a2e85b7bc8c617d1dc4c5ea552b45acb47b8ceca5dd73d3bec598f2d319dc446c5e3c5a543d8f380e02c92d69b87ece6bbf54c0053ecee479e3111aabb7db587a0d0a9be2d519c60b2bc913e81d666a0ed8eddfc94277cfcb5bed8cf58294ef15063a44ffadc91e2af07a636c05c68 +PT = a117b807a10e03dc74932c7a1e430127 +AAD = f632d48e3a1e0e1ba5f3305ce99a56fe +CT = a800ab84517a54310a73c5542dc9cae3 +Tag = 8df1722738364299 + +Count = 13 +Key = 6e5262c9c397a0f03cb5081f956e09e6 +IV = d9ff4fda0d8ea25670d02c965d008bc0a46ed3a3de357559180bc3079984c66167dd0d8737e8eca9a7b4dd3a21d55a31be59a4bd44ba5005b4ac34217b558fbe9e451f3b7bbc21cd8be6ecfcb4fdb96d7bcfca86188e5040b571e00f8c0e08fff1d17f1d7d7f2d26985064683c73f3e96cb7f33634c54df24e3b3cf4d363ea23 +PT = d740abc7c4b2e64c2c645697f8f871c3 +AAD = 267dc2a227b96c8b4af10b473060be19 +CT = f68c9a31ee39b8e4cfb5980b08adb48a +Tag = d1d9cd781921a329 + +Count = 14 +Key = 66b539eb335fe71b8ede3f93874c3659 +IV = a7df999f4faefa1757a19b424f31b0d957d0aef1bcc71c59101035d1efddd38c55f8c30004ffd6bf1f7d4a67b70bede295ae9f137dc3f6f261a4ff43b312ede41e0d33416deca4cfc28124395bba632251bb39874348f3188302fbeffd8553a7e23081aebb14ee406e30c43b245afcd908ef472ffd9fbf3e1ac8d5605ec53126 +PT = bd864712cabb3642611d47977377a6ce +AAD = d7f1abfc9ff241114642934ba271d63f +CT = 133ca377eed74b6e0ae32e34d97716e2 +Tag = 00fade45dfa1f892 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = bd47996f0a5485a74f0432100be92787 +IV = 43af786d9a8097bfc1150e20a60b74ef28ea1ea08682a3dcc208e43741b3caa2c9c7b40b918a976e6c6ab345b9deb16b71f115112fa0dfa742c4c1f881fba28e3f9e3c46dd05c6a0b47295d54645a9cf68bbbabc62200353027a646dec49a3db506a5cdd3c9aed7bb697b4298547e92611940077db35faace2bccedd932b22f4 +PT = 15136a6aee5a160b885601218500e71a +AAD = 98dd3e67575d231f29ae4a755980640d +CT = 822382daa106009ea883a46666eadf35 +Tag = 4f80973e + +Count = 1 +Key = 8b262deb6f01c5d472ec8b33dc98ac66 +IV = de9b3ea4e14c3b8a69d81216e245ea4a891fe00b6e808a9d9e765d34adf97ff29b825c1c62113074d90cd3684d8d98665138c383351b4477846b740aed70092d41790ed36fea58e57714c6597a179ea43eda1302aff31d451b84c34db25783d221f996864390c2412d04f1c6f686c2020c338e551e1ab7d82882abec14aaccd0 +PT = 277059c1941b7336112d2529a3acc32c +AAD = 31e410edf1a2e99b1202d33d3430026f +CT = 64d684ed9a2d06f795253a6a7bb0c15c +Tag = a09197b9 + +Count = 2 +Key = 0dafdb37fafb111d4531f354eb170b2b +IV = 00647fd2552c51d451f072607d88daf094c60d559693b87e631a127d993afcd00d6bbcb02955b50c2a75d5ab21aaaf1481cd08576c4d8c670a7c202741f2042b844eb56ddd7d311cdfdee034d3a3ad6eb41851f3a7fb89757d1d9800dbaed4ff8528e0ce65ed0fb9fb1a9736b897337a2570f0da5039d3ca34e1c7278b9ad8cd +PT = b0c0f3f99eb70ccd04647f113139b2c2 +AAD = 794d01d27ad22ff44680c8818622fefd +CT = 158424d656f526715cf69658c0f11369 +Tag = 5e9db602 + +Count = 3 +Key = 9077fdc3cbcd8f005150023c0c9d9a1c +IV = 6ea612f2a111932ca086825731181a4e3cbb8c27ee1263558af63b016c7c146f013eb3d99fd9904c57ed51ea7496568af693d1d29b27055e601fde2d23e879a64a0d995d99f6f6739907c9c4d8b9f0dab0a7395048daa126596c2346304b9aa23ae595e3854a03402e44ec7a3c2ca5592f58d19f08c0d327bb6c59d0feade2f7 +PT = 618282b3c73d1f6999fa3e6a273dcb51 +AAD = bda146d05085c6272b7d89ac1c332e6e +CT = 30bb46ef00ab2b55ba4ac85d72483a5b +Tag = b6d1fb69 + +Count = 4 +Key = 5bb6b4234359c9b32a625b02ce3905e9 +IV = a4733a68d47f43299ebd18b47d86fc8ad723a398344427f928ada14b6254511764f9c88b9610213fee2638ddea1b16c112351c3e394e788c5664ebdeb146513fd742a9a8f56c2efab5125196180fd4ebd0d0375a36a8b2797d9b734da5b669077c63e1baf5f07e21d861782344616a350839859cdfc636b9486473bb551ae79b +PT = 18d58d157027d8197a3a6c83f441b8a1 +AAD = fd71ef7b887de2c7a7582182ddcc55df +CT = 1f04269a6ece9d78362dfeb7b20d1736 +Tag = 11f577ad + +Count = 5 +Key = fe740c75f7bf8c38246935b7b98e3d41 +IV = d21fd8867455c281f4c2ff5e9c2a5c16d1d3fcbf49e0966d42bc69a47e975328bca288591dfe40a66dd2da1e16e5b46695d056562d421cccd55f7f0043b5ff840a3b838552d5434c5611d18769adec33384936f57c39f0e061666b95987e9ab9defc59b0bce66a301c4352a7ae05c9bbb9aa97d187ba883d57d2ca01d209fcd6 +PT = d1287adae6a3a31f55c16212a8519e60 +AAD = 26029e6af35f7a3d51f6fd11855bf797 +CT = 979014563647aacf9af8c7f93bd48bfd +Tag = 68756580 + +Count = 6 +Key = 8c991efed5e204cd885ccd805a1d70bc +IV = 23176a124f150a03c2c44ee2c4a9c0925bcd93f0ed86e92af263a1374ccc88abf838ddba9ddd87f0501385de5f643628bf4894c13442a2a98f61ddf567255ab28e08941f98ca7f7c6bc9a89d183a5a0f89185d30769d9314e837f896b2a1044a92098b92d41893dfe56a26367ed3c853c5642bfb9767b64967fc9a6265789913 +PT = d3d5b38612c7ddce4b5377e9b151b888 +AAD = 1bc2540eb3df372eeed054924a69abc8 +CT = aec3c7bb685de63fee36301451daef04 +Tag = a5e2d557 + +Count = 7 +Key = 1647423d416a3b0ebba3153ff63095e8 +IV = b71ab508053922f1809b9c7ac7932046f32ce3323bf0ef76a1c3a3f7527754e131d1c3614d30c1c760185514160f14d05431227b4fb5cb51ac7585bab314c582743cbf090b53992bb1c069152624c46b5b4a636c25b0152d57a26dd0694318eb4f853fd4babc30284198bdb4092dc54d97f2516c84382458fe35e1a71fa55e30 +PT = 5781f017a90d0a75202beb543b36b69d +AAD = b24ba7bbc74bf412d57b0ccc8ae08229 +CT = 63e76438802dd2f690e7d853df9fe66a +Tag = fa3b4965 + +Count = 8 +Key = 077162da5ac279569ce56712bd0c2277 +IV = 3b40263ce7383e8ece9904c1577cfef1bbbe8f3e0af164a233aded941d7434e9744743ec97ca2ec67ef54b6256f734c7202cc8474f399ca59afddffdf60c40fac64e4acfb49c0d5ca1d35d85fd79c1cfeb88ddd2c61dd2baae1e995dfbc63d8e21029a76784d24f5b67b70d6a65dbbdfd6084ab05da556e7a3d4170b9b6cee7a +PT = 7a56c9394cc4447daee936fbe63efe0c +AAD = 30a67fb5838bd324a35c646d5091c5e0 +CT = 01bf4ddc12dee1e6b437d512a8bd44f2 +Tag = 0bea45a8 + +Count = 9 +Key = 8cad38577c29b65e7347065c2d6710fe +IV = a4049d1826727868bb0c4801994d069bdec4b7845267789ab7b2d1620dfa48ed7d039e894e7996665e690d6266e84d1d02203c03cdc35649f4299c91def9611735906e5bb58cee0d56ead0a50c8d2b81f6239618c58bd800677199414907ca1de8eb382495d7dc9d719d57bef7fb09356783ef76a6c769777dcf89dc27a6f23e +PT = 46427f4558399b305a85bab2996f3574 +AAD = 459849bab8485729ff1c10d13afd05a8 +CT = 7c0025c67819aefb033960eb66a4069a +Tag = 99ca8b54 + +Count = 10 +Key = cecc0638078dd523a97f9376229f33d3 +IV = e734a341c401db15cd1a5e242371568f1a146335595ec5c4d0bbd249eaa500231b6bf96a103a4603e9a4e3f5c13ef2422c45ad56659b5264dce4e8336ab4372360a8d16b45247d06ee309001ef9b69e97dc7e934d8a24c1708c970732a6a7396ae597ba5953adfc536906914ca539574b0f1ba3c4cd812d436596dbc2acd6675 +PT = 18f3620896d9cd06d9ab21e730a27e1b +AAD = 96cdb7f609109146804d1aad8a1d8180 +CT = b90beb55a3fbc56b727a398b43dee48e +Tag = e527882b + +Count = 11 +Key = 305921c3722d533b8ee0d5487b0ef7ff +IV = 2f153dda5ed3d8ac55cf0e8e7b5fcad69f6401ea861e258bdfba5c70938823e9dc92b9bd8e7ac0ca6d24a1bcb46420b2a477c76e13b8a6375f2027b8f0aa560f191d34cad8f88263d8454a41fc07224ab3e98a1c286bd2eeb63ac22c6afb3b8a9fd6e385c017a6b6df78bf5d23879a89d35b113430afefd0986dae497add4415 +PT = bc6839737363636f0a64fb5b9a480e7e +AAD = bfb3130535fe381e40588ff93aea5ff2 +CT = e4321eac3f7249733f695796188bf03e +Tag = 69ac1513 + +Count = 12 +Key = 955672ed29435b43daaf68b1a96dba41 +IV = c58445da0e07272e2a3ac42d92fa5d1e9a52ad20bd14d34a38d39343290ec7f5ede0cb24a4f7d28eaf57d5b64d5b61ed4eb8fa5cb955ce5e77d724acfe9b2622aa1266a8802cc9dbc100df6bce939975a9b7d4f1700e3cfe3986aefde1a40d98e700aea70b09b046e8a5dc3cd5abda36b483f1126f3417ed96be94a9bf374cde +PT = df753fdbb3c819002d78763555ea5ccf +AAD = edf16040cc9f20d89429118e5059e1f4 +CT = b5a12eb85fedb5d9cd9f2c4e8ea74174 +Tag = 1e386694 + +Count = 13 +Key = 33af70ac27738cd6a557aedd0b177fa5 +IV = 701ccad780a85c29e7bf6cf670dd84397289b21e2299914929d22794700cd8cefd9d956990052ed505a966f8a2d9b7c49b38d316bcabdb6d6c1ad44bacad3a710ad16530dd3d6b8ba09ba42de5648993f726da4033425709d824f8c31051b92a2a461d3e403d10afb51cd6eee67c7ac0ce435b31f85cbab6275b72eb83dfa98e +PT = 768a10c12a32dc229b73bb6be76cef61 +AAD = 89e6f386a7b5ea78df7005247a41be4e +CT = 1a6d1a2e2fa8eb9620aa0afc906853f6 +Tag = 7b71497a + +Count = 14 +Key = d02afc3e66acd9bf6ce06c9f1a540047 +IV = 491646541f79f469347d85e6a3c32ffd4985d3212da22f701bfc89f94f80d908e41a0c8498f666c8faf23a2c700c1f93213b71574ee94a83287ad419925474692319350bca8f926e2461ad8ea9840cbca875aa9408980893b02fb2d855f0e228bec69421a51c5ba585e4e3a2fe3e7a3d7ef0a441341cbf15e8319697ececdc0c +PT = 1c751d4b0475ca042245963f4ff8b12e +AAD = b9df9707199e0db6bae45651d52e9ab1 +CT = 80385e41270bfb73066ae900a9719e2a +Tag = 26541b21 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = f43378edf8b810602b753d647a40ccea +IV = ab59967fc21429d7f4fa5dbc1ade96e7d3ea347c87f15b604b395ea78feb1872ba245c591e270d93d3d806e29eb9ed723399f5b382e96ac0f2c53fa64663eb2701fc39fd4433eed05fc3f55fabd30ca4161b296913ecb32fdac9272a20206c846fed470173ae1b2d45b9c4fc76b0ff1a5d35ae1906ae65963f66c2d3f9f1a771 +PT = 8d15a1eacb0790c032ff7adcffc77046 +AAD = a6984e7895dce7746d79c97aab83aa6de7b2efaa +CT = f7c16036cf00fb3016561c5e01391446 +Tag = 66f0e9f65356cc789cc32919b168dff1 + +Count = 1 +Key = e9bcb3fb2f7560cc6459b1b3e799354d +IV = 9823edaf9f9a7bdea8b14f33303fe4536ab0d13be44f03d4c93209bf5a84dc53c119114c6b975ab8ea383c5932049570b3cc6ea3699c0afe951110d112fe5a78d05cf9de9aa28b7c887b388343a3f3bd2a20dcd18156769b82b9ad384c0c4c1b28bf9a60e7cd8a1f3e9c1181367e81908568a0c5b6d5787dd2990c1bbac4c4d9 +PT = e2607e6b8e40a9205f64ee9a64c13ba9 +AAD = f8793a271a3ce73865fbc9fe6d3dfb2d1e700cd7 +CT = 2ec146750592ad852c72a7333ade44af +Tag = eaa35f90e107240ef3c746f53fa0038b + +Count = 2 +Key = 8d1f39067c36737d2b1ca9a78064a82a +IV = 87af3b0f2deaab44937bada66c0913c9ff4175f4a4276c5a6f68beff1038565fe7d242057731336281d7ac68b14dfd5791f052f343aa087685a0de36d6fd91d26af1ce47deaadf7e3c04c31078cbf2b4a70a4a1f430bd673d036e26a91d4099087391d0b09412d84ccc5a19e236d8645f103986c7b85fe459ed90eea42e550f0 +PT = 3d6ac1d409a24778965add4c8c320ee0 +AAD = f7c915b2ad318e2c95211e76b00713ceff296b58 +CT = a2c108c68732b1e839853f5dec8502ff +Tag = 6907c8c67f8045bd04263529a8269fc5 + +Count = 3 +Key = c2ab2883aee91d26567b3c045f5ca749 +IV = 25e5a355d76587483f1b5f650767508d2e6db09aed5b516cb8bc27aed787f7addc3cf27e3f50b96f372510088d1870ec61548f86e07e3afdb538947bb57c772424b600fcda6d015d0a4cc5b2efb19c545b8dd01fe96868fe0cc18e939bdeb693eb5d476bdaa51b4a389e6bc3b7483a5e35dad58a595efcb0b06d606c70709e07 +PT = 1b08ae5b7d1e831dacac6d5613d811b7 +AAD = 0db4d469b4016f29364eff13b83d98d7d1576ac3 +CT = 5ff776b783447c932358d63ff06508f4 +Tag = 879205ae7ef47615ba42b14ca0514757 + +Count = 4 +Key = ef0c3c0362cf7dab8f5822279256d7d6 +IV = 48cb938801e2d668afde036bb844d6c88b3a218adfeffa883ab33d9143b586dbaf4cd20e0adfe5c93b1e89e100927179fbf94ab452d7d3588c9dded50c6889e737e0fd136e3d0399912bbadb259c161808020dfff1e7ea53f0e5407f14e5e2b3f5ea8fe65dfcd0375ba2ece6c2af1ea13cae4098bef40d530c7a7289a273d62f +PT = 7a49dd3b5304cf85a494f406abf25268 +AAD = 298caf3ed08a8cf0357c0f2a28bbef8c26efec39 +CT = 35b421c0e6366711649374df3f6fdabc +Tag = 1a6fdeb2b44da772999bd63948d6cdd9 + +Count = 5 +Key = 2be9cddaba701db98295fdff8291de97 +IV = d452fd18ea54c37b851661b3712a7f3c9edbe60e348bc97a7a3942b8b8694ea391b78585edebfa817fa0285b5a92fef451fc950c203eb2cad33b9f0a2ac25ade1a6e7cafd085d6689bf4497c2968844cc9c5f89222ddeb89039218fd9e5619ff5a83e9f06fa21795e436ae1208aeaf771b0d003ae53cb100a35d716577f7cbad +PT = 145b290e4e6563dbc1126b67bf9c209b +AAD = 3a25b06796e364387523a7c2947787c33eebb7c3 +CT = 8549bd49d14459a21bfaa9dc5ecc31c6 +Tag = 3d5489870532a0823a2be0c25f175c94 + +Count = 6 +Key = 47556bfe1af810c45cc17e240a02e414 +IV = 6c1b80f937d0e4f29a928da82bd4184d935d14568da57699f028a4485f55a3fb380998e4a5e923d31d5511dc6802e0a82e8e30c1b8d6d06f1ffbdf93a39df854e5877ea811ace228298f80f972555942082007a464dfc9d63c54afbb3b1fa68ed888d339e33b959e69a2134f460e00fec6a0ffd8a84780e403853eeb9fc46266 +PT = 73ae28b3d790ecd6aed7f634c471571a +AAD = 35728eda89d47115f18edbc4f42258fcc141ded1 +CT = ee35b098558f4cc9da03d8f3e05e6aff +Tag = 072303ad6abc235176a85f1b826ca187 + +Count = 7 +Key = 10ad98d3c61167422ef6574eff5a0362 +IV = df6bbd43d771f982adc7fb5e3cfe99733a14edc56aa35abb687abdbf34337b262a366e88985bad59ee9a874c71775894e1c0b0002c5b44dd917a7bc38c3f4819a7f3c502bfd1a6d91da19f5930b70f2e7cc6c62595bb542f568f248256f8d9451c399e08e7126ea604486fd5a1e1ec2834345c8c8c57b8a7f444dc104e64938e +PT = 7003b71adad3edc2cb51f34eca805b8e +AAD = 9a62355e0fd4d3a16b3066db0d72956ab39dd4ed +CT = 241274f184783646a2fcb9e77fdf18c8 +Tag = 64c64b146f4773d428f0e760b2a07859 + +Count = 8 +Key = c44b83d8feaadfe57885efe51289f96c +IV = 06280a07a8b24d6a165f4b59d4ce39258a3c0eb5d0f8026f1c48ff4717859d9235d8670a9724d34b2888b8639c4b40b3f27a1def1249c4552f250393f56fc098e16f15cb7c4f0053b5d567f19554a2d9b4173651bf3bf9afe37cbeae51481bb15c551f63cf1688df7c33a3f91e9ce8310e452e49ebc3fddc7fa4156f718395e3 +PT = a8b2e7f9d35abef54fb3961c243b2554 +AAD = f82fe942865b2c33162b8282ce37d97fc99dcdaa +CT = 81d1668f5f7ba137bf3bcbfb1f68a87f +Tag = 6452fbec7d75b12b37736205e09eaca4 + +Count = 9 +Key = 069576bf63ac0c9643f6d1941cf5e998 +IV = c587ee1e1b4a9f14d4b865de41069e92d6caae850a3f71e7f2ef78805aed1bed5e34fc5825677bc3bc182ff34df0dd28ef331b2d922f9c5f47637c9e477671122afa82e26932e7551781f6fb73f71dc4639bf59ec58199bee638f85a7f8822c6ae1890ef9a4c079d0bd4768cb177d37a0dbb237f0f176eb85641d839df18bca9 +PT = f5e892d487fc5b5c66aa5c247b8ac598 +AAD = f3246b2d723b0ba795dfdf84f58d370bdd0a1584 +CT = 845528efec4327069897aae6ce607eeb +Tag = 8846e747009e8b22575bb958133d5b08 + +Count = 10 +Key = f29b4007fffa888e178346dd1a388c49 +IV = 0ce98e92e80b8c967ab6405734f0651b815742f25f4840a905e213b9efef53d636cd73d7a4280bfa9a22706fb52157e57cbaedbbed25131d2ea80025e083de4f2b55f927c459dc4187953470519b886efe91846c84120433959eb82ea18034618a0a71093c43ea81d3b088db1810b84c763ccc85c9407eff63211fc420d3e77c +PT = 2ae130b0ea0123d8909dc23730a58eb2 +AAD = cb2e901422cf139dcc754fb0484f2c3d6c9ea187 +CT = 748ec075eb13e5175b8a2a9b5040409a +Tag = f3f916386f0ffb8f7ce839aa958839f1 + +Count = 11 +Key = b13ed84e7f8cb378ab17c2900932ef48 +IV = 5dbf371f8677d2980b8aa19519d0ca6fcb4fd62c60ba8cf43cb2dec8f51ef6c27b3fce032cb0b3de3fe6f35f2a8db7ab21a484f3231041d3ad49f53042195216dfb78d2fc5a066832b073de23a8aac5bac7d62a96d079cdb9dafe32b968dd5c1d97da7618c3cb8d5a8895ca1c652268b6942dea04686c83e9ed2575e9536f757 +PT = d6cf4da9f7b3c86d194de04296ef731b +AAD = 8029006c1d993886e5767e18fe8aea3a2dc7fda7 +CT = af3f3499fd8f67f75efda2a24399b162 +Tag = c1c1466eebb95b8abc76ad77602033ab + +Count = 12 +Key = 308bd2feee8b8d7cdae85839443738fb +IV = a7b68c8491fc6903916e939720c0018d63a70bfb685c0e6c5a3b1ccfd36b9f8ed0b40f8df5c5ef0b460e9ec20c45d5164c2b55c3212201c53db5ee014824d8601deeec6932a3f64c6e0728899f5e112ef5c74ee5b56a93cd1cadb732033f2c24b3ced6019f9321da4cccaa871e73ba12273071631565c23fe353f6a2790bd062 +PT = 5de77edeb9ba84b746496aa210e8907d +AAD = 2274c6028b5f6986445ea7367de1589e6b42c0bd +CT = 768dac2656562e99d165aa5731b5ef5d +Tag = 56802213f610b19c23d48fbe41b00867 + +Count = 13 +Key = 6f978221f445d0ee73e863e244c5ce9c +IV = aac46381696e78e0e0811e9ba0a8fce3bf655bfa038c962a3972d2d3bdc75e96f8010d34f5d68114198c17dafebaff72d3dadb821c134ba5313f0c5c6c6c6b5ae2e3aa91ce9c2e93868ec1b6448990a21e961b9fcd0c393d2fa8f4d55fae1ab589ef75f698e36c8535b20d8e2cf333a7a0624c8c95f434d5d732b824e5bb20fc +PT = abe0a4e80e1cfb0cfeb00e753c40bf69 +AAD = fdc0b1545e98f194d947e500a4682bd27520cb26 +CT = 4d2321616a3398723b25d5e3b87e687e +Tag = 1f7051e4ce760b278124d059bc8f484e + +Count = 14 +Key = 582852124b2b7e4cfc654e355b3c2bd6 +IV = daa938dece40bbe3f0b28a8b3533b52e57cc2ae780967fe22db6d0943b8d8216cafe870661a8d4832673f4c7319fb7e49b41f0e0a05bd6ec1a2b9e29e7fb1868b6dc21826a90d7a2407a5226e80ab41482cf371892335bdfd0bd82b9de2c65bd572d9d5a03951bb5b020e9e8b20b6412cdbaf4efa1e832a1bbe865859fc6f62e +PT = 735519a3f923d194db26c4ae90c04255 +AAD = aa2db227922e706564879adf4373e02419f037c8 +CT = 414c1bf480110fec1c6668759842c16e +Tag = ab3b314e5cd83521c2ff22ec54e7e0a8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = b95eb8c0a45da1eed07e55f243fdac77 +IV = 85e3ef18efe883e1298f2f1e713599479e63db5bce2f88097d1c1f1a68284764d9b73a0e9990ef33c5cc68cc3eb607cf7bd483e55c53d3a74b50f5375de7c7fae5ea0e12a96f3f77c69d4d7dd62abaf8cc189e03aec29d39933cf5bfc766a202a46ba20d02b6e4ab0d3a0fe1fd658350ac5971b4ecf6b123ce2b526f58ab7652 +PT = 1da1449bac0339a086bd8f0e9756993a +AAD = ec3265d0ca6795b984f4cbb71721e38f62cd5d3c +CT = 9765b3edbd4f8ba24314873eba7f7122 +Tag = 6fe2ccad790a2f91c531c20f46ece5 + +Count = 1 +Key = 788998a4a3a8da632349ecb47ca3d860 +IV = 50ca47c5b39a9ef95e3f1cb57463c37a60d9c6e92cf13754e87cc3d0793f8827dda284eba8f3800e145949b73ceb94b3f39dcbe8f52c56c80f8bc03ecc31ce39012dc757063aa55bca3e0e6ec6ee3b0254dbc8fccd635990af359960554ae9575864e78d71e6dd7251b92e5320679bd0e972e9cc7980ec9e42473f224fde958c +PT = bfce4e161232f6581f3692aa8d9e41d6 +AAD = 82086d86b8417fd200d69a6842abe2c3cfd04727 +CT = 765c4d59193e9e934e732f9861442cc0 +Tag = d6d0a984b8aeeab1c6d2f2a207d7b6 + +Count = 2 +Key = 1522850b22a1bf3bc20e60d033ce662d +IV = 085b7539959e2e08f65a0896e1b23e6216ef2ed625f87292b8cc0911cb17971b2365773f97e8bbd889813392ca60dd6d49c4fe565210bbcc611c5cb15b447d85cd3df3b4e2135ecd14d0e4d5e8835ff850c29cd0aa3a0e9793e4828e1a20c5a0d591f1189ac2859768854fbaf4b8f702d476e1a8e409885d54fd903f1acb0f50 +PT = ee7f1679c98c3abfb66da72f2af58c91 +AAD = ed6747e4096ed94f489931a100ff8b9f3f016f5c +CT = 3bec552f846374d78778adc76b665d64 +Tag = c4f6d3b0427a38e5fd78bd75c1cbeb + +Count = 3 +Key = b33224bde5176e9de3884ae3f2f2ca2f +IV = dab1211c5351af9ad934e68a9b8034f1a902e95408c6aaa3834f5e587ecc654e9b2a661dd763ec9c6226121bd397170f12607b3bbfd441bfe484e4ee10f8166531224e2671a212a820facca6a86f1381894aec6803b3a80bc447837d49df93e38de4ec7180f0577cffc428702971c77b5278e23a1df419ab7cb8f6e88b0c3310 +PT = 9092e5cd9559dbee4f3a11664b9427b6 +AAD = 37304dcb7985e07a51f4e1c07de15656b8910ebc +CT = 210385e2dc0ba574823dc21cf0a9f758 +Tag = cfa07f688fe919bd7c45705b03ca44 + +Count = 4 +Key = b75ded5540b16d06e95c9df7c9331755 +IV = 55c56eea3524cb39281b7dd0fa633e7900d6784e3b2ed46e9fd31d65791fe1ebf8284aef9e7e2f1a4da0d4f66339a1405c7974fef27f03ca6d60fccead303c238177455b374215400d11549b10583e93af697b11f446973a1cfef7669437e553a76d33b0c715cb807e33dcca1364864e429178676d1174ee6f17d8235c43d2ee +PT = 7ed022646428bac932da4b45e77f74c6 +AAD = e4bce32f4a42ee66aa825bfc0a217c3a69f2068c +CT = afb294c5c6de1285911223818fc150a0 +Tag = 5e35c54eac3004b750ba1762d2f427 + +Count = 5 +Key = 3225a660d79375a4b1b94c6ce43e5969 +IV = 7bd203e6e2211ee25f660dd10bac4b9218386c3d9db3934e586c2e540bb4d54818a583231fae39113c5da93a5946a927b3237cb8734aa527f2f31680e5561128c09922f3e11160cfe0c85df36fd4a457008f5065b720aeab02ccc0f9d399f985338fd7720170e95963c205ba7091135512a651e799510081840382379d2e9752 +PT = 84ed0bc5d700fa7317ce9167383596c4 +AAD = afe72154059d5e5ce1b7c014dc5343c692687798 +CT = a7fdd0c466325e8e62d65c7abd42566a +Tag = 2051579f451cbc5b7297088765393a + +Count = 6 +Key = 29cb06f3714182d2290343e0d78fbc93 +IV = 06411bd4fd55e32d0de3e12822cd485e5b17042bafbd57d538462a51a528e2dd4173fe07a73007017476e2f7a32d89e5e3791ae9de41efef753178b30a1a35a1a7f3a223ea4b4bd12ad1d0aec6018b4d12dd5e89873fcdc67ea6996fc731c5a9e33da2e0a59636b9d9a3cde1183a7466d8f6b5af972d0d6208f5c299b3e96734 +PT = c71acaece652c921ca4f3e9c9137980f +AAD = 041451dd12cbeeb6b9d393d02ec424b1bbbcfe89 +CT = 65f05b8ab3415d909087b44311db1096 +Tag = 6eea67b99600e3e30b2fe50cd31c22 + +Count = 7 +Key = e50e90d04369513f22df6cf6e19635de +IV = b1b0aec7109fe73f393ccccc807afa459bb555a73a6714fe6e22fd1301575018d6bfe7a57438d5bed1f3316315fe24e2b99c2625cec0efa79349b4200bc14fc1d127080cceaecc90010e46b3c5f5f08994458bfb5ef384937c96cbccbac3412b6cbd7982e2c50819040530554ec2c70113973499c4c5e1670367857722b70efb +PT = 9a16648f658790818199347f9b6c653f +AAD = 16e8c93677b203e0f3d6be19307f73b15637e1e6 +CT = 0265fb51a8eb4ddcf9355ff5231818e9 +Tag = b3826b8e2641b5f3c1f37b341c55b8 + +Count = 8 +Key = 231dcfd51fb2c7973b6cddde56d8065c +IV = 480c06f4a5656ad4e4ce2b0cf06c602d8785099d59831712ec81bc59a1c1a1c375ca4b24e8cb6812f03b0af177545d1ec59cb43129415b271f1758506565596b5f31eb7c410d157df7e816cd19bc470192d3cff33d5c9292e5e88671bb4b0e303e86ae7636f30818090564cb083e8af3d8ecdc9a82d4231b233109d2d496c3e8 +PT = d9482204d11b512d48194a92b85b3b4b +AAD = bbb5ae179cea5c4b0a1dced1e93a208658080619 +CT = 6216a17a355b09612df9763de8486aad +Tag = 2674dead77e559a3e5011411f28e4f + +Count = 9 +Key = 189a2b3e343e5f15f09c8b81486bf627 +IV = 166d8e03402f5a62c98dc11e1d82f196f4a202654e9075f73fa15497b6c2144cfec1de89f13cf468e88dbca8531b80cbe30d1db70b458f6386d5715ddc95938504479e5d4b5b846fa9d8ce8adf00400b08779b306787edccca98e0ef19bb43ea6dbf29d34d57fdb6e2ef0430dd0518dc127dfb72fb6e108e025d8cfbe3712871 +PT = 78bda56f8e9ac36f0feb03a8668bd7ba +AAD = cb914b8894de79a941388985b4ebc73e028f0604 +CT = a2665dbbf95f7f6ed806a1f1e826c420 +Tag = e01d5627772a4c7da18db929780128 + +Count = 10 +Key = 423136f40137928ec67dc05b4027fd3a +IV = ed241f18b047046fa5f6a1b37ad8c60eea178f49d1ddea4a67715fd411296f71463f374652e5681a2b6f762fec6227e185e749dc994b67906b1b84d55e27906fff14f49d2288aa98c47aab1eac9efc528938aa709b3424467c256a0f224f86a3ab2e63e4c1a973b54583f636f9629d7080b30aeca4bfcdc86920ecca28b1b5fa +PT = 74de926fac6613abeaedf543d38f19be +AAD = 58838b87b1c62843a88415c4b2b89b93fc48cb41 +CT = fd562ceab432ba2269394e885b3f7852 +Tag = 8951181d6245dcaf1aa86cf7f93e50 + +Count = 11 +Key = fd8163805d26c4e1576f85ecf63f3ec1 +IV = 172492824c7b5cc12ebcc94f003e707b26bc2bd50c2f60801f4365f13a97e96d071147c92a9dfe16f4702a12e45f7244de25ebe3dd2d0b48476829097f1492f8d267da3090c1e7e62ebfc5a4caccad150a4e998631bb6d7761dd67cd217eefd9bb14283478858a69a87a7589f2fac96587f172920ae8a0763ba740b091b0147b +PT = 243a4a9882854fe03a5ee6bccf472948 +AAD = 532810c02e5d8715e710a62a1b59b9443e249b04 +CT = 74857e7b18973b8e89c68cbded1a0e1c +Tag = 84756051b576046e0b9932eeb18746 + +Count = 12 +Key = ea6213e48f632785e56a77b85895ef62 +IV = bf913d4349a71e224b37136dd0e167a12800e8cb4a2cda7ac486e965cffa896f3923af50da02eec04781a59fbede46b3a02f8080194da8b910b4b4528060ba62188b9f105a64fae9d5c2c0b018100cb9829556cfa7d6e4b7cb1c67e2aceecfc82193381e4f1a3bcae89089240889a8a15fde5961c7ced70042b29b6134bfb917 +PT = e452d6348f591c599a53bf31022496e5 +AAD = b0e9322406a113b49b6f10e7c2e02b3a644f637a +CT = 7f665d059f323168d497df6cf587aa48 +Tag = 66575780ed5b34944eda00422ca2ca + +Count = 13 +Key = 284d43a67dd07233ac536bce63d26e8f +IV = 41873f79b7fc787438f7c64a8ab79048744e183f59f9d344d6fa5e405f7360fd0357e06b45d792a371112f2fbb998fb3abd282bd0512b1c6f265032fcf69984477ac30517c418285ed62b07728e2cdb1f53273ee7245c12b05c3492d96c38f2e605801c1a28089f368518477d91c626c63cae30ab2745a72e36d71795e262f81 +PT = 64b452fc2cb98058cc9a7742a77c5208 +AAD = f7afa5db6c13ed6b727b8629de0f8ff7a186b898 +CT = 59032d7fe4882c24bc2142e07fb01b06 +Tag = a834563a27ccca6771d18fe4add8e4 + +Count = 14 +Key = 5e3cf80ec7900ba329762a6679b3ed26 +IV = 677f3467cf9e5c41111912f42317daa67ab01ec57e801b3117024475b65fbd5a9ce9268fed331ec802dd576f90a66a3af4db9f3b9893653e260fc020580dc654fc0d40e35271127607059030ff80a64fbc4ef97e66d91fb6ad5135a9b855cecde29127ba6dac4059ac85e1c3e205e0705d6b5e4432ce7ae2ebd06222f1be9a15 +PT = 51a91d22fad5a8553fef1b81b6650eb1 +AAD = 6f340acbf9dcaf5172f6bb23101c86d8c7644cf0 +CT = e09218e28042d1e3aeaaf0da57695b7f +Tag = e5f9c293c4cb8436db65c23768ae44 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = ccf107ab388faca88d1fc8e2cd4458b4 +IV = dc7df65a1ab483d84432a99e3d8e1c343a4a409d35509f7483e85dc5eecc93bfa07d0950b443142aa7f68af26930bf8a7f07515bcfb7c49305e0060741fc89260ddb5a9a49987e9120f71b657b543da728f37eaf18655b84f22d74d2a06e57707d4244bb86ac777d0ab97565fc1e51bfe5389564f8424515cc62eda2025a9790 +PT = 598c9d4d2f552caff6940e60b959fb3e +AAD = ec17e19f89d9765ef54d19152cc4a460d9515e13 +CT = e1731bb85bba3c1ef7d96c525d9ce574 +Tag = 0175c410fa2a07baaec20ce01a0c + +Count = 1 +Key = 39a486338767c3f38bba7dd76476a0cc +IV = ede2d911eb8e399412f9049c53c244cd56a3309a589b8d44ff7955f10fb14266bb0e661d63bcd48312fa4f6b5aa4f6e0e115712bc408156e1f82865448c7b1a60e80af69095371212b3d2e52e137b0fb22a87b0631dc4ced9795673d43db6940ba347e43cfdcc824ebb35faf3f9f6fa9b7c468c33eaec32131953a9b45b41ad0 +PT = 0a763515a7c583404d90a83ca6101a29 +AAD = 80b19c8a6ef677efc1a6c22959814f8a4bb5a4e8 +CT = d509717b5189e81ff0ae48d94eca4d8a +Tag = b0eec9ed4f023c1862eeecb9d0ff + +Count = 2 +Key = 4f697e3eb7c32b1824c6f4a12e2ffcbe +IV = e3af1aaf2556c8fe0d325a7ef35cf720fce6d4b208fb71b314523d6350d5d41b1592ce45874662345141b43a90a26418c675e5849e02ad290eaeb971b7a1243f26de1752ba3577d047e672d461bbe6c11e1debe1769521c11f187f1266d76efce5896fc21bcb288b36892890d90219fe920df0a87bf7df81303f7fe390f1d5d1 +PT = 711607a0f9a410fc619842fbd8bc0a38 +AAD = 83622cda89cbbcb04bae963b86205d017e674985 +CT = 5505ce30813bc8cc1b348660ce9973d8 +Tag = 5556039782737d4273867e645d23 + +Count = 3 +Key = 703b84ee1c89a92b455655506bfae884 +IV = faef5229fa16bc1e3a1e4bdfa8805bcde609a3f663672faa347f55a6e2ac9278b6728b197eef778290ed1fa05f12aa9d3f4a87482dcaadf7a32d65bcd52fb13f4021def31dcf8f5ca6bdac6d63cecd476f668d86c4f2133163ece4175f67ce588cae26e1689ebf444df0db71a215e24f553dd529cb9d9a6446d86ad55cfd57c1 +PT = fa751450fdaf4c2ba6273f1d57c38119 +AAD = 3ab3b6a9ea2fb182d3e8f03c175787f4a287dc26 +CT = b494a1b980f4fc281cd52fdea43bbb31 +Tag = 14a75187972e364a21185804cf4c + +Count = 4 +Key = 365e050463a26d8ac84d4c9fc1f80b93 +IV = 32df8cd8dd3af332ce5947c45b7d044133e265819609ed9f05aa3538ffba91f1018496d6e108f74f7849acc84e519bb6bf535c2aa19873c169e3c04b5bfc710607c57129518f0e1de466732893b0ddad9e2e8aa41df2a18de39a491e4f804a4415d3b7a65f295ae6f541a40f851524a6ea1a32bbf52ff85ad49c7b81c76ab016 +PT = 47a45091d873766e78da85252580f157 +AAD = 64172876b66e356a0c1901a835c5d4ed7b4d9186 +CT = e0f6c9084bd22c160795a79ec14bb6b9 +Tag = 119fe193894852a5c972aea99cff + +Count = 5 +Key = 4707ba55bdfef63ca1b2b868b11b9173 +IV = f63d111048d64d7cbb48485ecaeec953afc67d2d434411309c74dd0532d8d4185c7a7238aa4e8196638d364234f7f6450d326b76e374f99abc2743f1bed7dee359a8b89888d90467dcb799f51a463ac9015f7b00a221c57b46297ecd68b9c0f22e3e398981b3f5b9e08587af7c0e1384ee6d6238bca17c45bd89f5723233859f +PT = ba4b95306f6112d39531bc8d0aa5124b +AAD = c0fc93053a73ebbb9430b193d47c11e911bfea38 +CT = aeb444747809f16db6ff9db329f36b5a +Tag = cdef3b0b978d6f20c89477774715 + +Count = 6 +Key = eedb3f95e5db24cdc45c71647ae6807c +IV = 0a957f82d47271fefc44271fe54514cf793b913843a62f9529c00ef789c12c19c3f14bdd157eb497af7dbd63f9651e548a55d7e1a63460d19a3acd3639eb0d17971b46b38b03c62821ca3c4ab8ca1877b22012d43926e344a0d9a9b186880d137279f7ec16185f0f68d92598d2652eaded32be7e752f285ab7e1a528771d1e92 +PT = 24265f86f7be18679846240d9c0a2dcc +AAD = c24dd1ea5e1412c26abde91f3e135c8b6635262d +CT = 15f92e684c9a605fd67ea2993d413992 +Tag = b76e006e321a37df755dad88acb5 + +Count = 7 +Key = 369a0c27538111c8eb3f5dcae620e717 +IV = 1b87bfa7d32df40e5b54c0627dec4f05d92bb73bd7bef043649d64e70b22d765bfa61c4b19d4f85b5ed99e8da9c628c2038529c8b57b30afc15025f35d9d600615e77f1dc4f25561bceb578863b8e9094c84a606fe62b4bcd5ddbb71fea7593446b103fee87a70a904b6989a5ddeb2b51369a1238bb704fe37535439999723ca +PT = 6bc693e7cbb643c3ec72a653093494de +AAD = c86f854f43f7e5f1c0609977d9d07f83b6620713 +CT = 0555c4a39a30938ebdfc7118e777dff7 +Tag = 565d52ae2cbb557b7a9f9cc3c01b + +Count = 8 +Key = 698ecc4cf9ea08798e342c55363ca07b +IV = 91ab33916fd41f6cfbd5edca235c5726e75a2866c922bbd7f688e79d96fca9b2e368271da882bc783825c757a4c08c0643811c62592bb688263e378e28b50b637b61c5ee80540b857f60aa2f0f75206c32ff28153cf41da23dd6abef79488edfd4eaf87cfa778bbe08b315fa18f6ba683e7212b201102b1b6d98ba4757edb336 +PT = 6388d7a065b9171c64d1964ec7918a65 +AAD = 54f2cbaca0e27bc349fc9d11fbc9e0ae4bc3dd54 +CT = 34f761350a643b485df371406a8003b6 +Tag = e7727fcb8e5f90f5f9f71e9c47ab + +Count = 9 +Key = 8aaf74ce5e72d46ce8e85fa5d548cffa +IV = b389d493de960b0f103abc2393844b14dc2f066606238d44967cba9ed5ddfef0c486bd77d0a512c76a58f66631e596e74f41e6fdf8f1386587b8e6b2045fd94fe374d5bef29e83e47cd1605e643fef266549335bfc4247c6e890b52015c31101e69be529c0010e25922b31cf7a795efe892d8a7b4368e668b4c23ba3145fb99b +PT = 3be00341bdb18c0a861a8b9268f1fb17 +AAD = f49bac52b71d65fea1f1c46fa6a82f470656c98f +CT = c184b5b5e7201c397a944f85c35b506e +Tag = a59e5002e3784472c21dbd4a27c5 + +Count = 10 +Key = deddc9a800da869e0465076eab6fd1d1 +IV = 21715cbb7a6aa02c6ee2fedb4542c01fd83c1f2759b7545d157f098aa0e264e80a06079ca2e2a277ca9646233581567fdf7e02b58a609f1e0a55e6ff2c1826af791717b182f4c2e630ffa6068c0599a322a9220a7f6f1e45259e02e5074e9c2bbf84658c3190fdd32c446d4b30b0363150020e91aa406278e896d50709291fa1 +PT = 57c10de0e2e960b80b395672345fd7f9 +AAD = 52376dcba16627d660d1630fefe49cfb519b0c3b +CT = f200abac30d33829ed2576c4b0170948 +Tag = dbc817e58d2f2c003f7ca4fd8601 + +Count = 11 +Key = 808971c244a13330be98aa9b75f22aa4 +IV = 9102e4da8f02f7e79ed931ef2c1948ee801c39f2e8f4f18a2fde0d69ac05989acbdbfb4fa44771a96020498604fad960ef9f0c933cad1b66d266164745e43fe3eabec6bfdcac7d3c0a222f36f60f73730cb3bbc89883a9dc92cd56b5cc74d34fad34efef1c185df7020ab9fd2ae571a8e39fc465824bd21f9562725b12fff6b3 +PT = e8f5da1a9c42a7aba91f39fffdf6ac2d +AAD = 2ef4d4a7a30e51eede92d313fb2a9703bd49d208 +CT = 7047aa229d852bebf81631ee6d2c75f9 +Tag = b76d71aff37e9bc324802c20495a + +Count = 12 +Key = 97a54d61031dac50d8927443aa76e17e +IV = 6a5fb1a7ab6ff4c41cbcd56b079fa6f1e0a0815b7c564acdabd684aa89d57ff346dc1cc0aa599abcb2dedfe6df13a7ed28131e776e96e66096113616b4fb2512a30c27da15f32b778a6a0d59c7020996727713fbb67824366b88c0fddb6be70b88a1d53419ae75d481acecc07b0720cbe0a11c447eb21f739682cc022dcbd24e +PT = e3ffe4555dddcfc53347c83052955353 +AAD = e55dec1816749b6f07d622688db55589e4c6cdcb +CT = db82b46dcf3ccd5af431ca7ccea1d16f +Tag = 0bf1f564450d95fbc7ef0158d120 + +Count = 13 +Key = ac15397d0b8655f1d6c0e36e053111d0 +IV = 5129295eafd059d61cdbdd71b6b5805668cf1f6cd9d727aa70c77702c004436146d1bec78c6d2a2901e98cf44af205966a20bf39b673e0d343b8cf4cbbc31560e200c2121a067dc5870403aab9b76ed59fa38ff5023f971e62257d634e6ebd77ad6781501e5dc97c302a4f22f32fff9565aa4455b30987730b687ccdeef36f3a +PT = 635fb3a0fc1618044406c1ba757334ab +AAD = a3ab940d40cd93a28480f8d8c8a87d16fa8d179a +CT = 34cce0a42596e5628b963756dc248779 +Tag = 5b612e5cdd17acb172acab97ec89 + +Count = 14 +Key = cebf042a1a17c485641e054736f3c628 +IV = 3bc87b0c0f41fc5e724a45105b7b2ade4e3a414101ddfdffff82e513fd48daab68dc227e948bb55b690772758bce8892f189e6de5304de91ce2b7b13b8616c8a2ccc7883771dacd64e5d097613bc82ced969f55d42a4e9d5c0a7661d8ff0f349aa9eb0b9892eadfc72f5900911e200815e7234bb22ffe1cf98ccc97eccc88b6c +PT = 576b38337753a2e20ffb7fdae4f95cb4 +AAD = 429f46178d2f19d41dcd8944a8162242faad22f5 +CT = 4057eed8d8d9023fafa77ed0d6694f7b +Tag = 2119b05c3f0ec9a95906ec17cd5d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 31f4c3b300c2a8ebac84e4953fa62f63 +IV = cb26731ee2a62cb4e2679cbe5906f1ba73f15c13cb3df3a086c4bbf815b3f656da0858fbb72bfea42439fd5f7e954378d69f44af0a18593055734ced36cc3de67b716b7ee42b28d10d244f924e71f2f7e91f78723e9e8ee952a494baff2324b4b713e22e17a6c966ce728f065aa1d1386858b3730b78fb266c6907f993a88ec0 +PT = 225eaa64c55fa316a909c964cc7848af +AAD = 22f3bd8010312272f18a4d72b569065e9205c2aa +CT = c1ae8d0d0161803d95462ba97dcaa819 +Tag = 906e1706dc0bf43eb1925d2d6f + +Count = 1 +Key = 3d7b9aba2c592071ddb4e2ec23cc4d4d +IV = 5fb0be0b3f234b4575af64bea26be3da19451123d8405982c8ce5e1d6bd391abd7caef0b3e2e1c8fef022fdaaa30025b6251a87a29d0d256fb242a6a786d8162259a7a475b9a4f5753390e2bf62fec26db673674a37c2df8c768bfcd6bc3f99cad6283d15399df32b5d8caf5ef3f37d9d8406262abf3ea55740c8251b3e61f9c +PT = 6f912482ad72de8b6061290aab36d74f +AAD = 146a51bb257a723b86f1b32d962e1d4bf5253591 +CT = cd86e265b7a81ac334256d367dcfaeb4 +Tag = 8003f9cbf61e64bdfc4e621492 + +Count = 2 +Key = ec965f23f1554809667608d5f4d81843 +IV = bdb67e2f4369f009293dd5dbcce5f7a58e649ab66e4c334fe46103920e03417b02b2f09c5331a8d93f4b408251c02ee6757e0538e2f92f4e6219c4b5e2ec1185d4330da87915f5e479b250d81d52c17f75ecb608e603d2a97f4968e09ce3fb7ae6f23a73998ede48ea2d906a73f310a3e382414dc73fc4ea2974f7149df012ec +PT = e0c438be8e42c96765fa7d582aa3b27a +AAD = 7faafd3789bedb10f2f72b4fe145a381b50448e1 +CT = a7e649d1abad4de6555e58be9192a668 +Tag = 2a95bca8841dab20a2c0e96b31 + +Count = 3 +Key = 7e6144c1202eaf8da0cae29b10cdc141 +IV = 966932aab3ad0ac1914c72b9d37912e7f868309c886cdafdc9f7ea07fe1a4f72f7e09691c34b10777cf42004b781bdbe542048d046ecf59a3b2a7610a1a56801e4d691ea0c896d3db18894c28793c70b3358aedab152063f234a13d7bb7495b5e9e305a78fa362144418db54b869b3010df0f2e9d4e93ef14195e831746521e1 +PT = ea93fde2ccfb0feeaba06c38547661b9 +AAD = b8927ea8068ac80df4acc54760a6377141665ba7 +CT = e51da709246a8d02e945bbb980316919 +Tag = a0304231b829a3464b65676dbc + +Count = 4 +Key = 854a094a016339e7b159ae2d5efd96ab +IV = 328216c0aaf97374e5815dfd4b4a178fc0a096538f7b5bc679e82ed956f91f65d114844906aa98f4f0b3824e8f1f22028b189ca12e64e8c11119cd35e928f50e8acfb7624a9f0513bc65430a09849f35388539e113e11e9423ce737984bc3cf71c83863b403c7a5aaeca2842ca275a50d738b63eb298b385a4a0c980469a7e73 +PT = 7c9071aab6f204ff69256dd222e5ed1f +AAD = 8d847c45232c2054bee8a5bf3c3aefa17240cf4b +CT = 51fbc2384707b39ff6bba427302c9660 +Tag = 9250e4d2f0ae8e40496816a1b9 + +Count = 5 +Key = 63b285f6ff4b462059ac1a4c39df3bc0 +IV = 871d2a8df6da47497c3710a7161d2adec4f260c07b50c44bd3bd6b59d3872990eecc3c1cff27a13acf1c4e361289108f383bb656e66cdb95b4e181659e686a75919b8819558a0012615777cb36dcad7e9d44c1ae230076e4d35a569afacf194d6e1f6a039a5019a6e8bcc254b88c6004c1b799e7a9b903086256eb76270127a7 +PT = a00e7aad66c03cc6eca02afd70701be0 +AAD = 71c487f3beadf71549a1f11a9f9f846c7a9b8b3b +CT = 657628fe0e94c01ce37753ebf4372186 +Tag = a229e6000757b809400bfdbcd2 + +Count = 6 +Key = 0c7d892793b4729d096b48cd8b4c0466 +IV = d92a1bea627cb9f27a7f85b19454eec4843cfdc7d71682cb357494b3c6f797f0f253c7af199141e16ec4d7f03ea21cf6ba39ed0c0ebba138cb76bfd61a0c890c5a1d4e8bad5f2a9a57a660edb405d179dada37ce3c1974a2291e5bdaa967fee50aa64a55279687e45bb45bf3ed0d7bf45802baaa83ddd29d46b64042ba0e0251 +PT = 40111079f10dd74b83b1975e57acf794 +AAD = 74804a855bf70f6d7c57c7640a02d22fa491f755 +CT = 68f837943102cb6bf67aaf4fe7a37cd6 +Tag = 80c47b5c1ff3e45d359dcee752 + +Count = 7 +Key = de18fa8c95ff9d91d9cecd12f24af9fd +IV = 64a16d2433ee7e502aa2b86045f3eb22bd93b3e8ca3c24ad6395fa0c93501ceee85166cb1597b6014a45fcd006d45f661b83c46da5289effa1041f789d6f05801300da49b52f56c879b69e9bce4c8da484db1ee2f5aa80d762ac2bea37182f6845682582dc8b00bc5c5ebbe8722b35b0e7ab48a30e12c9d07618fb2708ed73e9 +PT = d85a8b1f88f96b45ad829964e416bd32 +AAD = e18ce30e3d13e3a351edafce7c711f53617c5d98 +CT = 25fd352c00c593f9b8fa641f631dce9a +Tag = 19bebb3321a29501c35ce5edf6 + +Count = 8 +Key = 5e263b166ae1ba5dfb0d057ca231e50c +IV = 8d9dbd25bc99e55e6c0da8de35d7ee087cc2b65e0fa7c0cf41b526c99dc170bd2703e63677432a19d1b498f11a071632b9d9563e6f8080f0b9790c1169099e7236e528e718de977f05213f2525b8beba0ea7ce1e29761705912982db0e1d5e5879bdafe1b65a6eb1ac01cbd2a25763bc0e1eb213cb7d23d7d0bff37e4d537057 +PT = 9b1f3a6c84478cbc1a269a456125d2ac +AAD = 1b4098fb3c2ae1e0266d7f9c61392c5a3551bd17 +CT = 175e90b4b6eeaca8bda77a4205dab753 +Tag = f123e44c30be03ce7d5af18724 + +Count = 9 +Key = bab36a55e81651d9fd7ef925283daecb +IV = aeb70a92cc344077beeac9c3de17dc56425f671b375e812fda4d0bc54d7c840b69448935bee14f743b3da872319ea58801904883b5ebca3ead649516858ad215523fdd0a462482a6193ccb0094b573194261d844cc9f6bbba4533655c9a6fdea9f741102492ab78eec1fa3aaaec45680f7606f9d414ec7c03422052e39efc8c6 +PT = 5a00ea6593ebc3a7025b1d7ecd15221d +AAD = b5ee2a5e7af47843dc9431d07027d7f885c722fd +CT = 65c24a6c2fdba91f365b27b58a5fa2fe +Tag = 08044a8a5219fc624b442abf5b + +Count = 10 +Key = 2e54c9835bb2a10051f11e963130562f +IV = c343b3dc40197b98353e72934897a011239120c0887f9477cbeef44a09d0f17b0034dd85e4d43f6cacf3b9bc3741a6685e951a9fc2467364cdc592388927e1f5c4904e6d0be7a43b69ce742f0ccc9e5acee33bd690ee05e899357ceeb865c087a3177ef93e74c4d6ab2d444436175dba0494eb1fdca7522b218d7ac51ca8e90f +PT = 8f03d6217ede0615f06c45f834f7f690 +AAD = be30ae635865a80b8e3711eff5ab1b375c4f1558 +CT = a832f4452b635dca4d9576e2addb6d1e +Tag = f499b5a295e2f1cb3421f812b3 + +Count = 11 +Key = 659e299548f123051378fbf2e71f3908 +IV = 55a0b4b2b0e823a68d3660e1e9da36d866db3d7f9cc98c06cf03ec309304ca5069dc02685533778c18a8b58a8f43297090045e429c89a9e6056311fbbab2298a37d1a40cb5c1e1c60d9f968a2b39a7c56f1a4a93cc545d19f81d9420a22b66d0d94edf2c9aacb26833fdbf179fecc94173214f1f1e4a6c97acdae27292eca67a +PT = 22c12b9be7beb843f0173ac3b9e7a9f2 +AAD = c04a71b6ecf7dc67e17846150bb9cf388a59243d +CT = 30d5add7cf430203894ad78880e1afe8 +Tag = f84837b52be2be28f9c91c8220 + +Count = 12 +Key = 80976ae0b4901e7480782fdec1b61b4b +IV = 3338e8ad9a0c158d2deaf0bc0bdba4505ef65fe65ae42b3eb763917557c38118fbf1922b132d3bfe34fd88c0f9693f2c1666fe89c58c18dd2039c6f935a6ac1f7a6e16d5aaa8383df0ebec783e20a93615b885b30ee8a59c90a86657d1315d37106b826265ce5d320950b2588d39cffaf20bb040de364b5054bb2fab6fd0cf11 +PT = 5e579231943f1894f89d26791785231d +AAD = 4a029dcad4646e00f748798d93f3007d816eb083 +CT = 3965ba96d7fe111c8c6f0d76634d030e +Tag = 0910c1cdf47e843139dc0b7668 + +Count = 13 +Key = ac8bd49ad0c0441cc305d15aaa40e989 +IV = ac491c8bc2d4163ce24792e945b6078d25e6865c2c4a87acadfefd78adeb9ee0b72dd7578635b65eb232142fb1b89e7a622ab95bd6d757146cee98b61498e0e5c0c18585dd0a58080e0ebd65bbd75c68a160f340f0033d92ef698c62497aa016f28f3beaaa9e9d9be849c6f6d9bdc5e81a5e531e5e40adc7e8b44f4ccbcf987a +PT = 842b272d37d0086ddc8052a7ffbd9cd5 +AAD = 83d8aa0b0146751a313372e46fd531861be5c535 +CT = b84ee54c849f42d4010efa5d2b206864 +Tag = 5d3ddb145b2c9cd271b78cabca + +Count = 14 +Key = 3cb2d63aa8bae7fa25617dc23c2e1ab6 +IV = 93f325e36f9b365493f50f89f862468e3084378d8c228ed11f80763087756e9f3776deac3b8de1f164a4a3f4d9aa631a89107a796e9e74bf6803573b4143095bd202dd13717646436cf8c337ae67d082b046f67b4cd3966105ed3e70e3a1aa58e54e65de5d12c2cee9dcac68290c008169d03b4684de5a56471b307f7f7c5503 +PT = ae17da118ccf6036fd2d0cdb6f9f38dd +AAD = 90b08dcefc6b27f5649aa1f027373a5b5c20235d +CT = 85078097899e36e64d70acead9f876c8 +Tag = 5c19ed86b51a11ffcf4c941c62 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = d41e1817fe18a1fd948280689a9a51aa +IV = d349484c264f53326c560ab8aaab8966b7a711c80f95186f5838fedb7522f41c02c7808f2160fb3a31d6f7a1f14c1ca4dabc001f1a694f8ca1fcfa02262fcb76a8669fd57c3d9a61b344d1a03905395cc45cb368f4f76e87a92d2aeefd2671e3fd2215435152de5ccc23016c3213d500b3bfa8ff6c10890afaacfa02cb08e761 +PT = 84632e8c1910c7a869da609b53802137 +AAD = 5838374694f279458e45b8cdda527719f500e4ca +CT = e8113f17ef8090c8e3d239cb18021df4 +Tag = 3df00b2774a4b7d0c338404b + +Count = 1 +Key = 30f45a09ff11908bc6ba0fa3fb06f530 +IV = 8d0623a4fdbcae68a2a5d140a5486945660222c6850bde2ef5644379cee190f6cf8c2c62fd7b3aaa0ac3ada5a94311fdcebe749eefb4d45ae718c39b7dae47f5e3c898ae19124501de587e6bd9542422d27d4a52f95f0ed0412d7ced32f3b8723ff03eb716fecd89e083652df095ed97dd21a19b81db4ad64b539f2cd6feea95 +PT = 138eb24c51143fb8db406d9e7fd39069 +AAD = cd57e709e9b24e4a9072d2f3d6b9a3d6d6cb9343 +CT = 2f22a2e1d880c40f00cd2ca280cb83ad +Tag = 0e190a4e515964d0b94dc87a + +Count = 2 +Key = 66e28cddda28591a2f57950bd5f4867f +IV = 36b6be7b520e67b5f83ce4b174317509a10abab5c931d6537e86e59b4210951802442f50794a8893c3d1e66ff4f7ce3deb6b94f334619d2bbdd2ad8c2f730ab9eea79d87394e5ea0ce57018fee97c10b8c826b5b0b4b65d08cb1799c9f363ca4bbf43f8457c20a16365799f053c90bda521b2621981f475df8b56d5a9da4042d +PT = 78c1079b3cd97203c0ce9a402f607798 +AAD = eef40d0de7c313901f7f861dd77d14176302007e +CT = 561b25c3a677c471985deec733fbde43 +Tag = e75ebea95297169066578c37 + +Count = 3 +Key = 4799ab11a733c2489c0491af741099bf +IV = 15c614004ef7a601476d5569249a9d1d66e16c1c546b9e4385ac3485dc3e1ba49884de3393306dbe0f3f95cbc91fc2e881d5b89a327571e423bdf2cce778613d8c63895c722a839dcdf976442cfce67ace6f01253e758dc9643ebae77a8f16ea9369e86420e809eacc81ddf1ae5fe56b7c9219d795ff19d14adda0956293da28 +PT = e4cb4527f2b0279c715c7e49eaaa1757 +AAD = f7cdb78088c7ee61592c1186829f3fd55e2df360 +CT = cb7648af12ea125dfff8fc4ccb0244c4 +Tag = b337084fb9310c8964252985 + +Count = 4 +Key = c55ea79acc99995a7c5ad86a9637cf71 +IV = 2a8e3da050e67e2593530724bb03217bdf1fb9be7081ee02dd6b0ca346653c6c6b94f148063e0631371d259fb2aaae7ee7e4de1d9778b4f56d08600285de7d2a20785171f9450c268375f515d6223f46deec871941cc22636f4a09167b4aa454f8b51a50da8895e95f4d0c8b56f1434092ca13707a5cc066a17a16e64009d00a +PT = 1b1f72b780d7550114627b9eeb795180 +AAD = 4bda31d144c907064142332810bcd4d7c157f07c +CT = 9a1b5fd5ebeb16ee9d6d383aa5871ec9 +Tag = ddef3fff605722e3d08ebd6a + +Count = 5 +Key = c99fb31bf83d7ec46cd155a78f83c514 +IV = 2aa419e82b3b58147273998075e62604f4b2097d7191feb6fc9d640ee34c5e06061a392b2641e729cd6e8b2fa12289ea19310925d7ed4d6f3c56f3ba312dace52d0db1949f951522634c369ce12c9460dbf5bed2b49a0e38fd70c591f2dc592cb566eeefec8556517b5da0618de5737067d75aa248c99b29dd220fee7a806e40 +PT = 1aceb46181463ed688fdffa3e81071b8 +AAD = eb63cac31b6a7f78515f5085515652de01cdb24b +CT = 30171de5b29b9847537687c8e34bce26 +Tag = 40d004beccb6b6c15da08863 + +Count = 6 +Key = b9212fdfff678bf5723c6fcf99ad0174 +IV = b4c77050b451c44ee78d8307868d5bc18fe88c0cd763388db7fef92aa0ab692ec6ec4e74b33eda6cc29e60016eed6197b42104eb7ad292dec5c68c21449f5e4b42b1222cf8958f77e3bfaf0c05acbed8fae64290960ce59f2c417cadfbb0679688a92a19c7ae9613ed7cbf42bf0784818824bbc8694c397664020fc161c6f9a6 +PT = 76e95b0594e6d6eb301b545b812b0e4c +AAD = 7ce35b561d470330447de5d2f14730159dff8f67 +CT = 86532be9fc64bf6c7dd02f0f30a79874 +Tag = 1f6094700d6761c5e9686f17 + +Count = 7 +Key = e2ced1e8a2d9d2f48ec9a1241d095fc9 +IV = c37fff404b01a2bb4aa8b7aa3f5ae23cf0fa2ee1194adfacb1a82722a35287be0610a440bd43809eb7ccd148343593a78eaa6b4bdfd85f3973d405080fa2209d8c56aa078d8782464cd233cc2ab37cd60e6fcd693a67d1ce25eb60a475adc290e770a60e981547ab2fd6956bd106736bac71c1e696bbab8b74b4c5f430595251 +PT = 2f2adad856934cadf8adf8341575875a +AAD = 62226908cba366a3955d4109cffe0a88b7b006e1 +CT = 28008540ed62ce4bfb05fd52138e94c2 +Tag = ff9e3a696230444c9674752d + +Count = 8 +Key = f37c589c6b110cfc1c60ac0303861110 +IV = c05d46c682fa23bab0bf7991ecdfb2756b721eab6746d4bb8248df9ca0d1e162dcada74ad5a8f419306e00071ee2b6d17f55fcc23b7204a6ffe4e543371bfebeab744593801c1ef2474f157c2951b5371289132f2478a433a6536880c21f552b2741a28192f77cfb9c1378bb4f5464025c04ee93e757a916d44882ce9512e0eb +PT = 8b0f88c8f56e3cd777384515b3cd5f23 +AAD = 63480a133e4457f9866c3412754c5a81d20a20d9 +CT = fd8b426a55427d19fb65d6e7f2c61724 +Tag = 6ffd8daa851aaf824332eedf + +Count = 9 +Key = 536c6b811d2076421867789908380a48 +IV = 57436e012600bf06f569fc21e904640232dc2f3be06ccd03b3046e7fe1eaf23967ff8be574d3060f58b2461ab785639d60047837292aa4fe9eb6758c02ac52414ad3d99e7384c2a165b7a65d6e37b8dbc3c3e8b2238ce06cfdc8da91bc136346af3ed49589188900821ad6b3a74d126b65855a7b242fe4cdc7ea20b1ed87e531 +PT = 8f68950e55f71ffe5fe8d23b0ae8d546 +AAD = eab4dec527de7f51f69692a347d169984a568f94 +CT = 873f86c8aa449bd0949e1ed9cd555207 +Tag = 9e94b81811ebd5e165e4174c + +Count = 10 +Key = b8be776b9ea09544b0e8e93513bbd701 +IV = 0407585c52f321ec873de1644e71b01c564b67cd499722a1d253056d9c133a636ceef80fa377eb78a299c43e1c8ffaa7ebdd58642729fc6f5da898cfab85f0c33fc6e4158f1c5e620aef317be66b6ef733e8e327fa07491fd747c37fb3c1c61a6624aa616647e73eb4048dfdbef8c2a7b934cf7b150c26a0a88eec40083554f9 +PT = bdcc3f85bd8aa024f104c2cf25efd65a +AAD = 56fc0959e1bdce393d73b1e6fed659d95461bc4d +CT = 3c38ebfe58f01cf3fbbfc4614351516f +Tag = ccd92847fe6c79553b1042e0 + +Count = 11 +Key = 2fa75d86b872917ee824a8fec035ef29 +IV = f60702740bbc252592d2e1a909ac739815515d0a69ae7c77b62a19768318664130c09871b9b35e02a8644a52be02d494cba0388cf50acbe94e162185a626bd83263c6dffffae3ea1760bf12ced8e55b017fd414ed1f7ad74e8bf968d60132267bf0df0c581bc357c6a48bc643b6ced7681c007b3f6db935fb98ac1da96cfd36d +PT = 5ca699cb06a6c824fa1be0e96316b6cf +AAD = 19f0ae442ed171a396cf5718625a7bb9d5919a18 +CT = 0ce832028cf51a6f51ea3aee51e2adde +Tag = 87f547516613cb001c6f8bea + +Count = 12 +Key = c8d98c3d8fdc95160d895e5193e621da +IV = cfac9030dc8c8a51bdfab50dd63311675b663b4806899a93903a4d2edd5d26a83fa443dc6a6fc9070fccd0ba13fc5c929102b3276e4d6419fccf21ed3d9b49edef273a9c0b8e4325263d12c4239a974cfa792d5b595640f891946a06ae66b3df75d6c7203be4cc57419c9c21adbc3b773356b835731a80d057663fc419f4a6c8 +PT = a89485a8f478a92bca6bd3825c1c0bc7 +AAD = 8c17b9115e76afcc8efde33e27ffcea0aec2554a +CT = 37b50de8b23cb14aa82fcfff54c6c76a +Tag = b0b4a929a8ff42dd95e83bb1 + +Count = 13 +Key = c63237700f703d561085aef23d3ee549 +IV = d0cdc7579b8368239179f7f11754fa66083d340861a7caba193897465a30abf3b47c9cddce990d22191b11f6e0c137dc4a4cd8b4543444a3d1cc8085dad73b28c70a44e02104b3a615bd7dc1f78a5001a9540e292a053becd04fe35d181418f2781a406f613955b9ced02d72249ad7e86459819d14e402a5ddcb0b4595e2a1d6 +PT = eb69b7d74c006cbd847f2e07073f3c1b +AAD = 5246c47ec2a9115592ef3b3553c5eeaa6f444752 +CT = 18bc0ed6420ee5b9d42fa3f05e5245db +Tag = 406d127e757ef9d34308831f + +Count = 14 +Key = a8ff60987ae98b17b57d7f6415d0d264 +IV = 12d14790858b4781edfdf8f8433faa93345f4e7b6a58137e7bb8cf0e905a753b4da828709a31df08e790487485bc1c3cca58c265431cec374d593f8d5adefa51018c5ce472c3975464c924f736d0c1350180c7a49f6344ab066c2c3219f16ef619b19928a4f5799f56609d4952920d41eef2e58d1854fa47b58ff840851436ce +PT = 7a5c0bb34a307b9ff4ba4ab92e2d2f94 +AAD = 8b9bf67c576da3cac64a9eedb0b95dfcf3026004 +CT = 9982c841c2e350ff7f48141c92334ffb +Tag = 2011126f2c83cd8b8056541c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = e2092f025f8f46c43322232b05df881a +IV = 3445ed6ef95f6527d7ec59cf7c9149500239cd14fb964e343461a1e2a44cd5938019922b6898366ac69752de40ec2f3b7f420c5175b4f65f8461bd0561010458549aff7c13178c3d710224e89275d1b125d52c1602517c07fbc7ccc9b6fc4c83870c7c48a02476d2de7a40c4ccda4d9b210629a5a749349e268c549368d7643a +PT = 30df1b6b9ae38aa47c2c38f3c80cc8e4 +AAD = 1adcfbba4641853636cbe5474cf9ed070a0f2ba0 +CT = 55ed1ee8829303bff2e1a594abbcd3e6 +Tag = c18388acd6a7a9cf + +Count = 1 +Key = c2f8989e7a939bb450b60cf1129a2c7d +IV = 64db39a68ef1c04ee3691c5151cd2730f17ed099d6dd63688b3ce8ede47ed6d753f04b47aaeaac9d8034b6107f4435002dd629b36cfb49286ad738ce9d2fd23bff42244dadb2e2902072be91b1791f67fbbc71ab981b885e9f1648cf033b8b370c2261f2f99214705de6626492189d564c7440635b4fbcdf613e6b6273c60ac0 +PT = 4564a2dd782deed68c8bcc5b5dcef53e +AAD = 0a46a3e72aad66d9e9fcb09731d9bff5003b4640 +CT = 008f6eaf97826e49d210911fa00053ad +Tag = 62bb1f19e505867d + +Count = 2 +Key = 7ed4440f946259723165acf47f5f52b8 +IV = d284efef2fa4eda3ed1b12e28dc384ea6be9d421f22225664f7313c2528425fa5545badd1812f1c68554ef1fd7461f41c0fd1d9e68cc767334cb88d3d20d95c3e0b971ab35381e1598aea349d7c98176e94ba9e0e16e7613c5939751b2bb94eb423c41cff014fef8bfcb1e8e337e1e5c9234980699c03226fb3330b86b660062 +PT = 3c6eb5f16ccef720bf58ff7eee22c0ad +AAD = 0c6c54b6dcaf61702f3228ce9fcbe7355634c1dc +CT = 8b95bd4ab33aee8c67356621cd5b6610 +Tag = a8a8ae14762d8727 + +Count = 3 +Key = ae63f846bf37c03055762cc672ec81c9 +IV = 83d23ddb2d91a4d75612b40fa164d7d9d4beec67fe6e612fdab05f14cf4d1e18ee4aceca466d8c5bdada454a8b9d58197e8c44ef1f92128f04aad74268742807095c2a77d517b58bd0423b4640eb8ea92d39634a50c1b60c6e2cba3a5620a148bdc332c8b6a4f6efedda82998d722c7d95b47e61d15a549651cd2eb5cf30c58b +PT = 7c70c351dcba6c2e018806bc34ea9120 +AAD = a8b7a2c9250d6edfc6e1ac8641b784a8aab9f987 +CT = 18c15329eb75d6243d2ae942c440271f +Tag = 8f5526c7917b5a7f + +Count = 4 +Key = d61ed49959e3c48acfaee714be3df9c3 +IV = a41d613b99ee692f820e3c0b51deb96c0fdca9e8f67b8fb1e470f41580d2208d46e31d3449e38f825e4276482fcc1745068f33abcbd75a1bb30708fbb3ed5394de5cb436877ade4510d65fae4f32f1f6054bb1bbea231411264205ca6ee3ce7cec04e057c6ae08f3b03a4414ec798d7dafd7f79fed0dc0b49ed350d4edee5d49 +PT = 90ab42bd0167601386b0e1ee293900f7 +AAD = e459bf7514fa2db2b9733f6c8f6d0aa02d970f45 +CT = ce5abbebf263b754d6c37f6c4d0d66f2 +Tag = f33ee1614503cc4c + +Count = 5 +Key = e82e2285e804e18fb4ba1edf84ced35b +IV = ec6aad7453f33215dd31de76bb69b608c5371840790f45bd286302fc2c933e654b0831544cd4dd7b1e38abfb2f11ec7a00203e713f486b6a9dcdc0d3d7cc5a43f2d53a73b482feb11403bbbff29bb4432b91050de9ae65c4fc9cc7ae20533a34401ce6505d73b413675fb51b27118829e33e63b839ed9a16ec23d450c0fca081 +PT = 792bd0ab602483bc786dd87947f1c144 +AAD = dc8707392e8a86ecfca34bd4b86eb61242b0cea6 +CT = 4f80d8029796ffa0e2e6b829c33f56d4 +Tag = 02dcb650790b39aa + +Count = 6 +Key = 77867813d249285d73500839a63b1650 +IV = 5a62c0e2aa2af635b536b05ad2792cdf51b45ef0dc59c0952b9bccc6be5c1f666504ed939d47eaf30010a2d5b90d060bf39093ba99b15b913cc18e591b090b2313a3f88412352230535f804b6962322ed605343d38fa01ea6afea583b2005019ac2b9a5deddfb536fc14a9428d29bbe6061859f1270e45277526a2f8ea093f06 +PT = 2ab04e9a7db5223b48d305d78bfea34d +AAD = 66574f990900acca147d810795662c3412d1d3c4 +CT = 096663191d4a9d637d0d9058612a60c7 +Tag = d735a25189929cb2 + +Count = 7 +Key = 4a303111130be698ce3fff80a7dccfa1 +IV = 8ed75b0460b6a366187dfc5f5efc8edf0ffcf75740475de19b442dcdbf4a8333b596695c63e028f5652c65eb520128d2fcde29cfd7e8d769a7cd00b555b4defcbc0bc579fd32799a3deba385d8b530f5f2ea1e5e3dd271b5e84b64de6cfcf8b9a7ee6997b4b592a839c25fe4afad3b2cbd99c83f458dfa5c9cf656d2235d5c33 +PT = 37a673d21ca754beefd6385b97abd772 +AAD = 3f39552f308176a72a5c9dc27a8230ba24a7b097 +CT = 7befa02887eceb9654e2ae154a19747c +Tag = a0feae94e5f4e14f + +Count = 8 +Key = 078ad76d2b58e9e87d6df14a1ff2d5df +IV = 54833a3260da234a44414b14d7408a28a0e84936d343f8a98ed92fcffecccd1acd5ed57a82882aae574a9aec678b12be08f9b28c617de80642b9ecf6b2b5235e72b108f6e57df2e8611d3d8f73add1beeaa3e05a1d7121da07a6c5bc3f59371cc87072e176bfc56c8799f98386f1f4ab7c3ed88f320374ecc96f20777857f903 +PT = 989a1a98f1b34d931002e03a0532eb36 +AAD = 32e08fba15737d0af43022ca4277fb26bc494f97 +CT = 46e47e62eed0bfd84be3bdfb9ed3f349 +Tag = c45222eee9f8e1c7 + +Count = 9 +Key = a10d216bbe0017f0e2bd1f73a82877f4 +IV = 959037b72c59ccf0a58a1de254235d4932f5ea640412162ee8917c293d9fee0ad51909075ca030eb0f17966767f09272c3c032e9fcec792cc0e4ffaba3e61be17f54c7ccd13530bc8609f2ac3684a4abfb126a33025d62e70dafa5dfd498de122e8ce291bde735a55e2ae1927c5537c3cf5fc4f41b2688c65ad20d92acbeabc6 +PT = 9e2aa1b2644c8306d63ed69904353e0e +AAD = 815aeb4ce923acc9a46d3f07499556fb5f8fe885 +CT = bb2f6333aaefe60e991ddb77ec4a127b +Tag = 37f16a406fea00c1 + +Count = 10 +Key = 10d5d8edbfa41dd3c9d2b223c0ab1bc3 +IV = 28fe770019a9dd39c8acd9b675d5befc7b3cc64401e4fff1399d4f388a98bf69a0c014446323aed6d559aa811db5988fdafd1d830267ccbfbc8e188f73934de859cd8cb7f4943008fbc726e50726c70062195361786a76b392c76cea84a66dd98b76180fa973450c9c19eecb7e119635d681e0e96f3452968028769c15d99c20 +PT = a7b494670359821a4fd7f5060761d562 +AAD = c14ecfcecbf2a62c111e1c7764f10d7fbfd16cbf +CT = 5139e602428013e81e6e59aafdc227a8 +Tag = 5522a5a382d62b10 + +Count = 11 +Key = 5d20c4c68628f1fd78f8dbf3bc0a37ce +IV = 241f65574276833300233505535c2bfe673e43e362c89bcbd144943e57e42324246e616605eec8d381dfa47421fc668cbd5c46c5fc4c8f5ae8778adaf0a56f0e89d2b76b535e778aef01043cd8ccc02e303b10ce9d1ad41b41ead364c8de2ba694a1f471b18c79539a65376ddce43166436751e46dc77a1a812aa340aa137552 +PT = 210ccb2f7b7fca092ee5e5e3a7a4b0fb +AAD = c2190672c01b0e579e8bec85c2ca546e6716e013 +CT = d306ef3de0bb99e3b7cd4e8a636acc21 +Tag = 53866b4a1cbb5d15 + +Count = 12 +Key = 078297cf99d92fcdc7518799dde94df7 +IV = 6ffdc2e5ce3106bca12ced13bc935d813d122d7e958b49be99ea6435baa117ae8fb5d191e7383054d53023f239f8a20748d0b88799e6434477c8b9164d55e73ace02143b9ba6028d7313fa6229cfd8abc3b190a3fcdaff3239660458f68129f914f253487f4991640328bd1a4c54675840e17413bd82a6f2f463f57aa3e74fa3 +PT = 5c3f63b6b77f98f4f25f13484d6059ed +AAD = 99c32f14627922ba279d2e994e105512003578fe +CT = 5c07e4961d33d04e3ac78a1acd673929 +Tag = 3fbdf6107b705033 + +Count = 13 +Key = a736f681c3242542975d55ee87fa516b +IV = 91c6a6ac8c9115698d74b048904f447a957109bd8483a6ec949f8cd6245f9c31ab5a6156ef9bf4f7328386b483aa3b8a6b9df20baadb6e4a8c618fc6c29bc47d548718fd40bf0c2090c314f6cf569f50490773fc755a1486dab89866d778f122ca3b1439a65761317961342565f5397e95175fe31bdb89a11aa1c9209853052f +PT = b618f4ef76855404eb0b579d4a9a45fb +AAD = be5788f6d5ba9da18d2b177316bc09572612a5fd +CT = 30a25637236e1a0fb15df2a9f34bffef +Tag = 7592ca520e8dbbf0 + +Count = 14 +Key = ee09c28312283beb53d390afb748b688 +IV = 5ea3821aba0217f69a7ea4d5c7a262c6a4c1029b7d9323356c8373439b394032659cc6fa419f6e9391d92cdf6f78dd072bd3e93332413881be2ff25163deb7f73f84413a5b795c4b725ded63d9695e32dd627bca1915a6a8610c673797408136ca23b00817a8daf45cd32f7c44c7afcaedb60a03bea0faa176834b16eeaf10b7 +PT = e820b6694f4349461ca5486a8845938b +AAD = bb0109aed46165612ca3f02481c1b0c9bd762feb +CT = 5676d64704411b543113152167d77c17 +Tag = 2f74537db730c6a8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = c176df8b2932a5aacdc2f129440a8d35 +IV = a57297ed0ba618d66370209fd557fc05015c57422ed0fb4c701b6679b4b71b792f1e5c3e601759ee019d84d69c4da04c437fa859dc67a9b869dc2a68c04eb1a1b6665a0fcb94e88ae6a3b228382eaa2d793d43e81a5594078a56903a8d4addedce8f86b8caca7232d638b52550cf852960dd11eb0a59a0c577895aa04e0993b0 +PT = 54299c3904aab548c54f86252fbdb582 +AAD = 7a30e417214d21a91d60b14134702bf579e327ec +CT = 0fca679a5d696802b1077c661847d780 +Tag = d03dfdb8 + +Count = 1 +Key = 934afab9c7df926cfe759b9581c0cbe8 +IV = 5f2e5a44e0e67bf60e196569f004edd82ec0445d72893dba2f862fc3cbf3534f9d9787ebf2e6ee25c633c61d9341417f4eb54fc573c3dd0e22deb729ead8720cef0d92ee8e21b59f934fae436eb66f9fa71dc48e06690fd2812e463973fc717209f2b5a99ed605a6f243e550ef43b7d23fb35a6a061965caae3293f6a7dccfc9 +PT = afc2c5bba48b5c626f7d54f9488742f2 +AAD = 3ec4a16576e48ca4bbde8c59c4439d70fe4f332e +CT = 8ea5388f709096255588e53762ce1428 +Tag = b5dff0d4 + +Count = 2 +Key = 87ea99192e9b5dd75771017f1a19752d +IV = d6df2b8c61e53ecb9dbd239dc58f8f00afe4d5df6752d8ded94a672181d4fc9338bedbc44b1fcf54e9ff8d712fdf33c632c55f35db41b3b8ec5b1751db9c08915bbfdd16ba877fcdba3e39f8ca15c30195b96a5866ba51abc32b01fc54356e9a6ab6656fa5577f3f885cda274a2ae86fac37c9177ca212d50ff5b1158ac74a83 +PT = 21771996db1b5489e100b36b1d985172 +AAD = c562d46839ff3608277de060a151eb01a181a984 +CT = cfe2225b5ede955e8eafe606f9da7b76 +Tag = a0f03545 + +Count = 3 +Key = a354ee6e199f0380de6e17921cfaf40b +IV = 7fb1d815ef438b54d461621694b81d826132c4214637b54e7c5c0b59c3b75ab3501f0eedd51685647987ee1f1139ac64186fac2f2b4d9c1099167606e0f3f4f68cda840039466fec0bbaf073257a60e53d290a9f100c9dd0cb4561d8e80687b0c0647f132e88ebfa89be1b650e0a96761158d75dcdd28ee33435c656a7c31bcd +PT = fc03a7c890fd566c56c15e8b0241cefd +AAD = d249c71cdcb3d6a670a5a94aa687b274c21d75b9 +CT = 7c1e83ce8a3f7dd81fc627df269efe34 +Tag = 04605b35 + +Count = 4 +Key = 7d4a42c95e948cee64273cfbecfe3aaf +IV = 56f990f350bf9ddfd7164d25036e5b3ae2e24c56ffda84c8cabb8084c11b3ef3659b3679ea14ddf9d7dfab2da96fe9cc015df6f5dfd1cfbb993ac26eabe5637136ac9c8d69a409462beff441f3c802b9efca1198dced7995fec761cde7d17344e96b57c3becc31561ade8b3f11763f447a6c8998154a673a615f5a431e9f0f42 +PT = 7b91508bcb46a7bebb24bb62aad17d28 +AAD = 289badcf5c5334bc8b00d2a20892559718147cdb +CT = 7fb0249dbcb3696b45af98d9be613ec5 +Tag = eb836a1e + +Count = 5 +Key = 0812cd3b9deeef7cedb3b0841eb190ee +IV = 0f2527f8222fea4b16242eda2704bfcdcda4fed60cbaf5d62ea71e6aba2ee4c4369de785e19ff1fe04e555efcbd290194a0b1322fec3e85ce477d70574938271de860285c7beca0ae41865b2d020933afee8295a8ae19352afe155911b9d1a1bbb363a997d1dd6f6eb6f33375c4498eb2bf154f4108ce590ff9faaaa0b7c357b +PT = b247236c0fac4dcae61c349a96a793ef +AAD = 7adf6f87018e3fffb6da61062d7f0954864dd520 +CT = 15e91f4e7eb47cf363550a77c6147964 +Tag = 358b8791 + +Count = 6 +Key = 7cf81423e663f5e9531c9dc274055c61 +IV = f2504ee8b9bcdd7538ea1d863645a6dac225f6f3332be9e6abff4e13c11836483f25bc5bd9c6b3b919e4333a68970bb1e5eefacfab71d6a11ad7864bce600926814a55bcf67f5fd63975f8adf3b0aa3c0ff24099d6224ea4ce21e4f6f7a6d345a3f778a90eae701e3bcf8c24661558890fa83cc29f1e964e7c55210ee23c7907 +PT = 997b9ba8c18f3cbcb3ee09e6951b27d5 +AAD = 9ea805c0584bbe52259b9e313cb09b48c1cd7f9c +CT = 910f278bdaf8d9a66a936fbc5be7c15e +Tag = d4bfc55a + +Count = 7 +Key = 9bdc1a07dfb2eaf1098a940f4f338641 +IV = 7cdc375d867a02461ab2908882696e2d7c50705793fe3637a144acb542835483146df4221c13cea6ddee3bbdfc15513b865e7d7b4a27b3254fa5a6429f189b7018380f471f41cfc2db18191d5f01960ae32b911ac7b3c5cb6931623f52d63737d18235928bca1fd92948a36d0230aa669f5bb40c08d871e25c191cd90e2f5673 +PT = e7d21d324a269ebebf03706dc517bb24 +AAD = ca29dc3faf94075b97768dd705f1a9774b5b1d3f +CT = a85a766371e653bd91adb90aab49fc1c +Tag = d22ee3d8 + +Count = 8 +Key = 4a6c522e4247d98112c6cca2a949545a +IV = 04f734da4cf4a6f324549c983ea7dd0ad034fed8a31e3437330e78552c9c8b6304a4d363aa5cd3d667ec77c1901cd996c8053845fbc0a6c0c52fc35c8dada70696255e7357d0c647cbe4409d13a7a6de7f7f2a65a83a797bc89478eb81db05782739686c274e89db8b0f1b5aa25d37642c1ba82013d1d40853a6f5df326e25e6 +PT = 5ba7c26e4a1a7dbc7b2e832ffc1722b3 +AAD = 5bd08c538ed0596c9c6820e4099e5fb0ad7905a2 +CT = d46ef3a24ac77ce323384dba8a5da1e1 +Tag = 3a54d92e + +Count = 9 +Key = 2fa174e3d32292166e20a455de7fbb98 +IV = 127a6ab0c8734ca8bc93e37dcf4ca80072812b53ccf650760b996e561dac7b67521993d508fca605c3f506568ceeb4ed50e4a0fe97cd9a217b9746db5831ad60d697ada38606e9c07dded50661abfcd3f8813593b35bad25b4228cc2dc19e7cc8655cbee6766c4db5e2c2c1d73c2ad47d36f65bdd08994f746ca3f128dcb6a38 +PT = d55865110712af940afc91e18e24a732 +AAD = d3bdded2ba8b1b3d00fdda72f4e9b1238838e424 +CT = 706a8c6786e68ec710735e0d765fb1ff +Tag = f923f238 + +Count = 10 +Key = 60e9791b9bd4981bcb5a25857feb474a +IV = f4c996398196c7aac69d316df1c8d9dd8c87905e829741f77426941fd1e5f97b3313450f68a03f03c839b0dd256ee3e399bf664d6a423c9005452d4ab531446b7a485de9c7f39620671458d75f3d92ee1b69e9bf49feadaf93db1dac2778009835c6da02e5b7b777c2b6731256a8f1ec6f785bd565c9adbbe91d46bb2d026de8 +PT = 5520edbfc09e7b89efc32e5f36dd9a20 +AAD = 9a3de80bffc0d95080eb3d9a55d613d3045f3f5a +CT = b588e6ee6f0a484fe916fed76c8b2ea3 +Tag = 58ae2eaa + +Count = 11 +Key = 1da6f2afdeeb3c40236e17a1412f5f25 +IV = 8295f45e5279a4212d2e014350157df8682100eec3b1ee0f1faf404dcef7bdf4433edae31740500ab0b79ccd4bcc51b5ba2928d971ac139bdcf02ae9dc61a6ce070d9e7dd6150c113987f579eb00237fcdb68904031e84583a95292ccd7b7a61a41dddc7464490faeed66d89927fe0d4bdfb6ad6bd2f7e7ecca4dfe651aa6b4c +PT = ca2d10662e0453f1c871168b0bd9c204 +AAD = e96a4117e613faacd5d1fd994bc1e5ca113241fc +CT = c31f6b058aba10bc165a7af0fa5f7bb7 +Tag = 3e298de7 + +Count = 12 +Key = a3b29dda10877bfeb931e8a37204d5de +IV = 1103ab0afe06ef3d607f134ed9ce4141bc8c15cf92eca3ff7f462caa277a09875ce7d3131464940a7e9cc1683430e29a6ae7a8c6bb679bf9167517d07b7a22e7b4ab6cee6a8da2ee61594d6df4255f09f62f202daa527c5a668a9dd80bbde5443765536119680153e0a9dd74b6a03d8ea787fc7eb7904b07812beb05c829a1a5 +PT = 8e4ba2f5ebde1aba8781d1df814fe429 +AAD = 7af8992018c6d267a094c65d3fcdedb6dbd8dfa3 +CT = bbd202d577d8afd5ee2c04e04ad472f5 +Tag = f458707e + +Count = 13 +Key = 6c786415527d20b9051b769b5cef12ac +IV = 45a7279acec3f6f038f6a46833e541a8de5034e7fefc591401ec3f36fe238bc22d2da178ecdc071ff987e351ff34c2cd30632b2ea99582f937ef814177bd5c52560e1d4676e9c6017ad0d69b845aac76826f6d22931bb9e5950eb47c5023481411afa89cf2c65b4ac480f613967e7cd74bb17b9a00d2f2cbc4b6021d68ee9a4d +PT = 19a0450908bb001ff9b15c39afa44278 +AAD = 692e6ae076010018870c05c0660f6e5c63f1fb6b +CT = 7fe9dbbba764f2609b180e8a9a29207f +Tag = 62e7a8c4 + +Count = 14 +Key = 1523566d58ab1389a860fca0dc11e9c3 +IV = db1ce878cf60bf023bba1ca1614a4b4e7a0ab3034a7bd130bf500c98cf6e30960b4a3eab023084ce8bf8a233061114b30e53dd6c98166fed377b83ecef3878a203e9136e52104fc398140f918dbf798452bf2f847a3db2718d84ff5ad83c4178e32a81c258af8ed51fc023a2962069bbc2f48a4dd7d632c30e1b51498b9b9828 +PT = 586e5dbe851b912e135bf67816827931 +AAD = 8cc35af5f7957285d820cbfd535837a259fda1d3 +CT = 7816203ea64c0eac1e2c251f5a61123c +Tag = 7a66c8ae + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = e3fb54ff1c14588895083c08d5c07abc +IV = de7c6589ee977d92cfe895dc04b58035fe963a1520cf35758c5597f38e87068b08a3175d63716c9949d2e202b0f662c29a532e425e3534f200f64b6652c0908579907df7d54d697345d216646844da5001f541c8d663493b4c17ae9f41ba7d5ce53e6a0ee321a4e0fa2da9420b5d15093457532876188f3a1c562cc608771cc4 +PT = 2635bf05d60c27c8024325af70189f0d +AAD = f9929747a4a85be8e2105fb24923ec5e2ec92f9d6b55eca6d7b428dd136d1dc94862f851ac8eecc6f7a197a4b8a80bd5 +CT = c14e0a7ccacd08775f0d56ba26049206 +Tag = 025415309e510a5c852cfddfa134f094 + +Count = 1 +Key = 06eb86dce0cb5f1eae878fb483420511 +IV = 2e0094043000fcf83c5df2d5885e25e0259d7ff3e52b3d66ab788fe09d177d6522c3c79b5a773e9677e1f7cb2a5adbc1cdca96f34db8a4c5c8abf0a49602c44ae0c7cc569f26fe7c5014f54812dafe9c59e81ade2547a15a7bb9f2bf3a1196e8df1d0fbb61c93dbafc0dc20104cc723fa816eafb54ed3624011b1b12e9fdfeb7 +PT = 4390950df5e6b4f3cfee9e573f431f14 +AAD = ecdc5793c368fb9ca512a6e21218650c0a653005d031bf2799ad6e575ecfbd2f81bb420c3e8fd602d169dac50aba29ed +CT = 01cecd4f6338f6c331b580c7dc672f17 +Tag = 7253949120f06c3457e0aee37976c507 + +Count = 2 +Key = fdca75f753ecb4b6525c388c499b80f2 +IV = dffde2f6d003df2f8f4ad43b0af3b8ec1a41efe155388e61b5582e9ac187e858270cf422f072ab3522fb1b5e8472aa3cc0cc0cc58cbaf1991c0ceb3693409ee11668c70e30c38fce8975415c3fd7c151728229b7a94d4b2de7814aa9fa32c3b38b7c1ccb04388ae4b65e24a7610bb5f46ae09313ad678bf52ac09b48450bf433 +PT = 27b9ba9eda6bfa206dad4503cf741acb +AAD = ba5c36fc08b11bff10188052bf24b9354077fab7098beb83a37f2ec7d9d89bd28f0ac60a52295cfe5c8424a943cdadb2 +CT = 6412c5789cff009ff93b6ee4b34438f3 +Tag = f98a51408b85174e8e02b7d2ba1a4abb + +Count = 3 +Key = 61d30969b601608b420f3e0450b21107 +IV = 77142546925f241b308e599503edc4b412d520a182db102c75014b5a0028eccf58af3b0ae232a4303cf599a5f1b0cb7a74847587ac303acc41fa2aea770067d4a95fb73ceea9c86228e75dd46a00ed61d42293f510c6d768c4f2af58ab20af50ce1196ac589a6bd7f6fa180f6b23441bd64ebd3a1a9689958b61e73a66a118fc +PT = edac1d28fc72ad8bb66b98a4fee5dd66 +AAD = 290c598b6c3cf442d17689e719f24988593df35cbb473d11d4b2ce698ed16ad43e1da7d2781f3e2847af09a72d829d7d +CT = 80f6b5ac90cfe52cb6c34969556417a6 +Tag = bb06153747e147891ae888c19df0be41 + +Count = 4 +Key = f00c95f61588addca0c50dd70e06a473 +IV = d683664ea8cabcbb3915ad1d854a68e2afac558c60cc7064850336e4b0d4f00c6ffe32adf53414694c8051f3fddba07a3dbb66fa9b215d9732129931c417970dc28c21e26ff87fc9718944fb2433df5b7365661926b2b2af61d6c62314fee7a8502e6a316e3623c87b88745a7d2bbd5872ca682d4d614170475084ab981bed0f +PT = a846e21db2125443fe06e2f5cc42d090 +AAD = 35b79d7ed84fede868bc140250f6f0956ec9f19a87bd45e42bfaf6db228dfcd770038e605eeb74f7136e87c246a93af2 +CT = 0f4c6d7bc4077cc94cfc45b60589e3f0 +Tag = 95c290b464a39f4135c872a4f3b3e4ac + +Count = 5 +Key = f7e419529931455e7f332900ef9a45a7 +IV = ee91edbeaef5ff28f0a73f9df1a99e5a16b4f3144f5aa2f735d7c33a789c06947d8692e1491c97b559bb75f73ce4ddc2e1723e887951cd644d090d1b9cc8d268dbcd4faa2c37d5b294053549bcec626e7ae20460a0fedaf767875e8c8f12fa96d10e83c4a7e890f06dc103c7001a298574d7c08ffa1bec3648de33f0c6ee85dd +PT = 47c62bcd4aea8ce678d28b878ab6822a +AAD = a37f505333120390a6f15e8e814425fb245d964c2dad1c9abf32eea36711e7cd4f3e019d9efee1b8d60b9089047a44e8 +CT = 0393372715250c0957300ab406b31d7c +Tag = 192ef8f3934cafa54256ba72bf622e3b + +Count = 6 +Key = 8d7789ad3a57d1fd9bd74c4575afcd99 +IV = 262cd2d3665257d0bd78f46f45939da4c3a6a24d012c69fe0ce96511551bd4a066cbc2bc3d89a103ad0a075a8c2bbd920be1db218fa053738e675ee3f0a17cd8dd7a955fc395e29bbf5026ed1a155d7d6d255e04e5ad261ee5199744866697b683ffaa0e93d0af84886e54066476896119b6251c73061416cf2593905465cb68 +PT = 060d96b10f56e57686cc58414099c3fa +AAD = f5e3d2a6f93457d96c2c7f60097736897f7a050c8792334ce45edeabf56e575ad1c162d56c182d1cb187b0595921a61f +CT = 06818523c2b9b4ed0c314611267a0321 +Tag = cf268c83f41898d74dc75d4e68a6e333 + +Count = 7 +Key = 3e515484e6f96f37e7922b3e611fe5ab +IV = 439e89b5360e5302fcfd4aa3a2cc845f3471f88250d4ba5c3bb196255ddd54ac8d37e3fd448eb0f5a3dfd623a238aaaee1ced636059b47ec931fbe4b86c1972aee391b4cd77019d75cf32b8ca28b5ec9170597287420ab72bfb4349192217197fa245f9a441c30f0916ffae2b0088a779c6a243194fa44b8b87cb4d7f5f05b52 +PT = 5265fc0a302dea573bbfe24878e9b19c +AAD = 3914c4387a0967949a829404ed604cf94474cfccde487a4a1eeb5fadc4ad32c43d0d44c58cc3a377e65826d64d77cb63 +CT = 45bb9ae245581c6542291d332f4998e6 +Tag = 19692c851803bd531e119be6775e302c + +Count = 8 +Key = 0d80390803334a0bef756acbecde550c +IV = 56d1d6f1f42c5d37ea7b0c90848de5ed97b18f9afcfb5e1c6898c39e17490f03844f45437a3afcaeb1cb33f0c6863c857ca9bcb9249943a46928cacddb725ab135936b15472acf9a9e066f29c9b912feba026cd6fd933bef5779794f55377119d68e7abae028e9ab7baa54e4ab3f39c7ce66bf9b42c0a8805dbbb1c41a7ce6f9 +PT = 9dcaee281632c19c147dd8ef0b8e0abe +AAD = c1799bd3c4dc2c79b0131b0e6cf6c69e975a0c6f522a806ef312d2c5e9d6fafae617d4f5fb499f419ea8e60b4058bf41 +CT = ac158e43ef63ef4fb87df45312476082 +Tag = 8e9c38d0ba4e581da367b20967ed97ed + +Count = 9 +Key = 2954cac26438ef31d806040573eb815b +IV = 40121dc80df7a968ea9761e5053c55df76f37387def693b4f7292a144b5c25e16db5d2e21aa797490e4308a5a589163475388eceb5d0280eef357b3bc64a2bc4b646523aaf185fb8c43fdfad4515f81bfa76213a5ed644f17bef5db6e2bbe882e8d46ffed96e26fcb9717dea9a52f6ef42dee84ef37c05111889e76e0a6ef87f +PT = 5212860f3b053e6aca741ddb9499ed22 +AAD = 0cdbd1297a5ca559c78b38178417d7bfe0a84785ffab6ca6e7e83efba0fc596e41f0f16a623363004c1930295a296f47 +CT = ea8bcc4edeb0fec7be444af10a748215 +Tag = 4bfd04d1b56d057af64f7cf95101e9f4 + +Count = 10 +Key = 0e8a65fcfc56c49e6b686125aeb2b4e5 +IV = f2bdf82241d071b3475e1cbb02edc5cc3062bcb0c6ad735d6773e2c7b56e18a3751f403b3a77d8042f23144e312a9fe4490dcb3378bd5a40ccde6481df41d7e28e5e2565672c5b75987a85e4f174b1c13e6e76b2845025c9136ea6ea539c23b6bdb08c38736310adb86c3b3bfbad29b215339fa1d50b488d23557bab8a4970ad +PT = d833db142971a6c0a77ad0a3b6c3a026 +AAD = a3f334f7e4f717380d96d1624729c839aaf0aa7c33b7583397d34b5a42bbac7c4a08763ba550eb8eb360b71b4890baf5 +CT = 2a92f9bd67d9ec0c2f6e1b22b93ddfe1 +Tag = 2e1f81fe0d3310c3f96cb1d90724697a + +Count = 11 +Key = c65ba2a47fcd963c8973a7ccb9d704e6 +IV = 63a61cb6b114a351dafe7c8ca8cdc9ac5f0f7c2c897a6690c5e33984607416b34f96ceebc433c4f2380c485433881fa9f0bdd1e0cafa2fe22e7c44d45bc91406efec7ffba67974aa3dd842a1b04ffd512f8731ee359011f7aea3008085dbd5ac54ec56027c152e14cc7e472d6da21ea3b32ba53249d69b94ed9672fb6e6d33eb +PT = 6925ba440c6876c00371f0d465d0b61f +AAD = d6f8561c41a2fab60fc3ffc0b81d773644ae0b66b47973a34174ba205f9fd7f6691b3ac8380582f02b381f8ee9db93f5 +CT = 84bb9616219d0ba22ff4a175877c8c62 +Tag = 2e9cb8dc939d0c7bca444493890509ab + +Count = 12 +Key = 5ca498717a06113152b47f3c7a0d77d5 +IV = dd86c2457bf61ac9c1b9312d2eb1f2f2f7ff05fdd29b1ad27327493e8357dbf172c2659b57c68bc4399b444fc14b89564d7b406b3fbbd1055314c70768ffdb47cbd954b96e1eec73d30c7da0d0c6042f004f5cf5626b02d381a2109b21ef820dd7196623fbd232e7c0073a4e5eca5482bf7d1828a93acb13c667ffe7bb7d5986 +PT = 19b3196beb87b6888698c1d2bb30259e +AAD = e69fb841869ede2727f6969c9affba7880af66812dec20e69c548741f7bcabbcc94d0528ea016b4c94a1fc290d6889b8 +CT = fc4e9e55f9647030440c8bf98b186b3a +Tag = e80a71dc3689a403d027faac8631254b + +Count = 13 +Key = 075461e7afff41f2a139868bc5ec8929 +IV = 6d208f70673ac88307dbdba05de560be8eb1b17d7ed03a571a60ec68f7fe68602692d5aae83475a679faccb384bc8cb0cf365fe550bd2762dd8eb1a5850024c1045ce36c50c7c1bbcfc499ae5a722c46b684c4ad2da1608c7c799e8cf1d175c8f9e9125cfdadfd1d75d7c0be642327dbcf3f8ee15112b56cf3678e2fe586f155 +PT = 0b2f984b8da2f7824b697f4a0c44524c +AAD = a76c59306c56a0ca190f25bce6fdf50dab7ae3e8ac9890bed4a7072c8bce226066e1822d3e8249014798bc267d8a4d27 +CT = fb483dc63ddb1a504b0ab0797f15364f +Tag = 6a7d2bb481c79d6a4bc6904248a22c15 + +Count = 14 +Key = 961cacc48abf8760655272b041c5375a +IV = b73fd1796819a583dd4c8ffd7f93092015acc85c1d172f06eab7924a19540279c5ad03897dd3254a4ee60699f1e0e8e2dc4113e4dd9409310a4c59a9c2d44e9f73df29d80f874e83d3bece0beba7eabf19f25fd4cdf610b617355c2588fa6604d4df2c4ea2a0d086fb0c807b0a660632ed7cf7fe5c36be76fe0fcaeffbdad515 +PT = 77caffda692d4e793183006dcaa94848 +AAD = 475cf0140f6102a37ea36bde7e8dd0cb73f8c5a49cfd03895a42e73478a86b57ef2d81f4732ab626751d2b93a69fd3c1 +CT = 6e31dd8df13d1431614269f2d181568b +Tag = 7607f7f9be99b5512fae9a8f13f4e178 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = f5b2dde6897605bf6c42c2e9045962d3 +IV = cdb8f0d652d37de2ad8b6db92e555b1ab7df993319d18d83202ba75b6b58e184c846351f1f17931b40fc2c0184b132a67586603583b84f6c94ff1ff374daaed7a9f2b07f2086dd2bf45ad7f5993f66541256c3d428b5005097e74ffea8f840e30775a3bd91b0fc0b03656b1a2c8ec3806c5624f73f6de2a85d248ddc875c0609 +PT = 6723eef24ccf1219365f6ee17b6e068a +AAD = bb96eda8c8e7d67e1cd39ad86c2426e65fe32012dd3d2137f1293cd63d92e16dc32564f1762a7eb173aa697b57f8d22d +CT = 064913b30978f987a0d84f8033a35f4c +Tag = 06ebce5cf8022273dd168af6bab9fc + +Count = 1 +Key = 54aa9936ace6e2a7156dc7a43fee7883 +IV = 45e6236b328ac8c784933f27d8d87a263afc7d02c89b01be3da4edf71981b8575781be493309f29c3139ebae5bdf4e343773bb3c606d62b30c505eead9578223f924ae5369b2900e1d9e88d9a2f9fe265fdf13de590eb50de4fd794054bc5eee5900cf1a9606f31f07f23fa2476b7fd26ad725a620926477a95e51b7c6ea3bbc +PT = 348d13060de1de0aed59878febabc812 +AAD = 6c57d66b41c695411579dcba4816a84d841d9eabde72447a13e2702cf95ad5ab788936a02966ee7ad7f06d6d52bb78f2 +CT = f6cc1f7d44f16cca17fb335c88c7cacd +Tag = b1ae985fccc7d9f5cf4d999e324f86 + +Count = 2 +Key = 14c3a3fed98fe2b3803ddf562567a103 +IV = 5d2812620c708b93b7f91405b357bf319b7d89d472d7e16ef60984e40121a263cb73d54a81cb455ee4a682b560212ee04af4edd536f08193197f9d264f9aae22af24353e25cc017f9436786790358ea8ab64c0b818edadce39c28c97f7f0d5180ee012f656958432c6f6f310cf9051c1f1be7977db9ab57f658403abd012b6c6 +PT = b8f5c5ec9519a86053f8231ddc5284b6 +AAD = 978470201203f7138f225054c4c76702b3439810e2738979da0167873db106e0779466192b3f844f6194c4a19714a87d +CT = 9052668d518c818a53cdc4c9a28736b9 +Tag = 21be073f77853aae5ae620cb5d1de3 + +Count = 3 +Key = 5f66a73fb2082ce53b88ffbe62a7f937 +IV = bd9514d91e07ca267552ba46eda0ade42a8a9c471da75748f0f78f6c728b58483740a5db555fa4f5f5a83e4a9d16500330a0c02c9db88f9b89e6e7dccf3df1fbe11da737f581c833e2e06f7f5f4b6f2bce6dabeab3b9376fa3f571cd017faa88b4cf501d0391d433facd74b4546abed67ed88df1551c0637a2cc67ecf1edb158 +PT = fa946bee016754c27cd2f64eaf0c1096 +AAD = ede5d82427fe5c9d45aa233b55f06f708fcf96aa052d2abf900764590f15e482d97e80607e7f93e6e30b71f1c7da8ee1 +CT = 6dc616c3bfa7f4db6804d78854ea9f91 +Tag = d2fc9f9c603318bd25712af84ec4bf + +Count = 4 +Key = 77faae5792a68bfed3babbf6288875fb +IV = 358d1fdbda5a8b7b3f40879f7623e2d79d64b9dd883fbad9dbc3808c840365d98c54f4691f250bac20eca224a9db8da69404d19f852483d6ca1272f9065391b753c58c997457199f57b77095cf699695615b1769e742ff3e9c213f9d8714fd310b7fa2f3aaccbbb0bc054dd9cc454a854eef922cdf40f4b49e97f4db54000d6f +PT = b7490b089682b385941bfc5119c43103 +AAD = 4fae8c3a2eda91e30e347bfce3cff9a82990e658a5c7dd2ae2941cceba02cdbfa5292c4c0f0a5ed686d8737006b54b36 +CT = 764010cb8a84f079ade8a04a702997fa +Tag = 4f0c538330d9dc193d38a7e6206978 + +Count = 5 +Key = cc6264281cea1b9509829604c3e42bb0 +IV = a30fd772ee600063709b1feaf08d8d51da79afa91210b664351b5a17e77106b4747e83e4a2423f4981c4fe766c6414e7d63b563d2d48aaf51d8c1778c6cfa5b23f3c62daa4892ceff9a5f1fe07e810bbf2a75bb03a34780a9322ad6e1d809c85e8ba7b11741c0b1f06a9912bf74f5c57eb49478577537ddf3e7225428d92c589 +PT = b42a88d15ffc8b0ccd3a7cd16c1f7add +AAD = d95d87c033d90bd0f53c839a2597108bba662eaa491a98d245f1ef4e9bae18e83e8d36e4b6576f2b71ccc8c2a2d9e6de +CT = 17677ef1cc17b96b7760e1ade8a71067 +Tag = db62a328acadd35afa9d11a367ed46 + +Count = 6 +Key = 2c46a1141b031a1548c5e30b47739680 +IV = c3accc8a70f2ed296efca23d37e655ae9293bbf09dfa46922a2c3ced7f89fca50eec369c2f422105a121334b5c9f898be8f74449e78b65317511ee42bfa3d61f571271f9cf8307dcd8db8b90dee3ff5c3918f7ec142a318b24182e357b64aa810676f15104c1623286a089865dc4a6242291704cd2b019beaf26a8ef7a48fe57 +PT = 8557e6e03e00fee34bedf53092663679 +AAD = 109a0d0a4bc10499140a1c7ff4cb914da74a709a9ca80b1aa78469d9ee4da209898bc771a46525954f9d48dbf705ddfb +CT = 7c6c5c706672d69ff80ace3741fa05d5 +Tag = e84f553f4f098131622d84753fcf99 + +Count = 7 +Key = 9b093d8d78faa9a2ddf8f19a3a79bfa2 +IV = aa50c6cc9ab24bda02116ea14e6315477cb70ed71712dbfa6a969eb7c49259dca16e353ed39301e804f842bad0f30e778dc386c4cb0b4efec59ecd99a6a9fc7d6a06069dabd49c1cae3a6c7e3123b119a26e68cf33c10a2f2c1a009ad06a7b662c8ff0405ccb5a53071119ad329ef4b6b0e59048a9a8c093014ae9ed69d25c97 +PT = c527f9aec422c097bf7328c9c6902c01 +AAD = 81ef649453c7d965e3e6a76f5aee9340ef7c4c4f4ecdfb19c3f2a95e9daf2dffe9a67240b2e5e197354d5aa7287c6cbf +CT = a163ef975866efec33de1facbbe1ad5a +Tag = c3d17269e90f3ff99eadccf85d2d73 + +Count = 8 +Key = 4a79a39c3772e839067eefb9e0fab812 +IV = 73cc5d6180afda7886424a454e2242a79a689c2f1cbd1d2236dc29c15f5a582b8ab88c905e084e68263396e577404c58f55b4f6ad1ce70167ea40d405026e9fcf8cfb99903927af6aeca71aeaee6d20a97e2291c813e87dc004bd03770a3222e133840ed5346b33c5c512d43714c6e6b1873b158b996e9278c559818b1193ca5 +PT = 2f6230543f6a1b960d810d2d5124d09e +AAD = e660b2beea22c814bc6bfe4c014211a252c5da3eba0f875084bcf340996cc81de199b7b706f1b1bdf0e4c3237f5b8a2a +CT = 1bc9b40a6aa39cd55f8e5e16ef51b993 +Tag = d315951c163f135ae3b424e764cdb7 + +Count = 9 +Key = b91943e4bf49e2c3fa364fd311b705f2 +IV = ba644d81ab2cf82b32257c6478119d8e3a5962915eea031b85d08f1cd92355a57fe411e851d424307496479575cc3e753c0a48aaa956a76caaeb906416f690fb7baa999adfbc6db2c3f5a029486cebdb1b8990e4b0b530568aabb9e126c43055b5181501a8f61f6895d5a0d808586f9ca618c9d75cfc1ce2dd8d513411e2deed +PT = ff68b9a83f8a78e3cabbbe10cb68adc3 +AAD = f130b54e97b3ed35c3e4c8b97494395c94842396ac9ffeb480af5978a9d215ba286adfe7e4b094ef3e7d54db3b5ed440 +CT = c517cd957ae35c651fab439ecf4b63f6 +Tag = a9da7381b328d29edd38dd9cc56f73 + +Count = 10 +Key = fe9eb7f1fe2beb2dac09bddce332b19a +IV = 099e0cd91f1b6f8644c35afa723ba7a414c65a86772b17bfeb014aed0e9fdb2e6a08e284e81f43646aa04e19ec0fe99adb20b591a43df4a49bb90021161fe2b26e068102b2a3e5fe1e467eb356d9488ac42501f12974c2cbd16c155664d68ffae04dcfe41c5ff135e56c90afd089f75ed5a65ea1e300d42a4010aeab866da7ae +PT = 1506455bb45d71bd8e318c032919de18 +AAD = 0ce63b81d3b0f5d817dbf51fce50e1e61cd88d9589912b672296ca684d3d164116a4da444019c02dbd3f759479135618 +CT = 5c0e1234dbe12919199f33607e858302 +Tag = 78ed021e7b023c957c186aa0d35e34 + +Count = 11 +Key = b45c18d2ed778191edac80ce7f0eb564 +IV = 98eab5f5a52a96929edab81b96ca0cd4f708a483a47035154002bf24906e8debce14f93413bb194a7bad12a297bdd0eda277ce4ce8e7f89933ab54c6f14e1b2cf1f2eb8edadf06a7c6e64120db864faafceed90381747a7f466d64ad397db3acb714b3a664b79d685a8ebd73c188719dfa5e4ed57c374e7193ceb9e314328c87 +PT = 5904315b45af661c304295e1c16e3965 +AAD = ea23a4d2b334f1099478fa5d6dc6b2fac4fb88e5d17e141d6b3ed0c087d221fda11785c52d0046c28abfbb9bd3241c40 +CT = a6feaf8b6d0763e9819c2dfce0c15b1d +Tag = 7e0e588d2c120d78609232477d73cf + +Count = 12 +Key = fdce447c0479ac76a1c27292c633d6bf +IV = 818eed6a8a13d3059d83b84202aa06a8f659f5ad44e299c1bd298a953057b4c7f7ac7875a4868247fb764125eb890c03a96a15e3387d1b446247f5f77facaf6bd55eee151fb1d549a6a2ad8486417f063f9ab88a9bdb60c41457be2c69a6179992e901d91cb10c56763f9e386d0e3341d6b86932ec730761fbd75ccd2a2c08e0 +PT = 9675f1227b69ce7786da0591600bcc10 +AAD = 245050ba1dbf6e59cc2d546b6486693d49cc10814a6defbdc00c833781d81d24bea1c1efd5894100a15937b48876c2f1 +CT = c9e95d3820dce749fd4c7934b33786a3 +Tag = f50570f62f24be0b279c8f83df680b + +Count = 13 +Key = eef15352c9bcdee6b5b305bb08e5ac9b +IV = 792fcb3a132f7c770b1b8a5cb2002404a115b1ec575d5b101f331f8454ef560d4522ca9af94fba2b1c3f371823d34d0399da59c73fc46313b37e4b68c5460059dc5c68a10e8d67df8bef477424894e571d069e10526afe13902aed8cc19b35869f459c94f8dad8231be092619bb11fa4954a3bbec6775d811a6075f0eb3a41f6 +PT = e072c2e8a9e6876415584b36270516a0 +AAD = 95baf57ee778582aa56585923b007282e579798c7b27ddb2a0f1897dd807dc3ce052b781f72c8e09221f3a1c0e3f7d77 +CT = c385956790595f7d6cffdee4b976c9b6 +Tag = 6d96817e8d7437a168467f3dd80189 + +Count = 14 +Key = b157f27ed3019f5fd0662f718da5d8b3 +IV = 6653c5f9ca74cafae905d108bf94ca45958ab71d9e7222d34dd255af9936a66a60cca4312d11ade1e2a6efccc43c23bc22770471df0d3e368bfb56be22287b4808829b9316c87621687ee7904c8e6ef6a303839692cf1bf1a6065a8475d74632298d93296fa69827c559519ffc99f7123c4a34f55ab9263863bcd758bcd60dc0 +PT = 6e61d4e98f93eaab28b0b3615b95e5d1 +AAD = 3e428f4b3b1373858816522de4626e0a219d19d92ca3eb9126b8cb98f740cc55854d06f54f2055fd31c5b04c467254e5 +CT = 2f172827f87f45e2fa127603818561eb +Tag = 7954334be95228fbe9b00ad551adb4 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = dbd786f4ee5e6a72b2e08f710549dc6a +IV = eb66c2f427eb3546bfd1cd8a500a7a2117450901af57be00c107d19708d34e1792f7de1d018f0a553200756ac35eea78025e5b5dad57a4027416257ac5faff5b0cb134180eccc4f208efffb6e7493b85134a1165a3b2cc37b284f86b3c0b0e9a5e79dd6a9a8372dd5787acb28f32e442d85506b9ca78defc8a60ac7d12b1f556 +PT = 861ff048ca6af01596cf02011022adfc +AAD = 4b054b2df5427ec446f25db636768d5056c725c3d80125ab93ce22be5645fe8fab2c79eaec4413702884b2e96dd8a47a +CT = 704620ce5ef8a79b2be2207dd6721560 +Tag = 13cca851dbee665f34ed982a4b24 + +Count = 1 +Key = 727b1899acd91474ee8fc9aca8820933 +IV = 4439339378266517463dee7971cf47e403ccc55081cf778a19bcb826cd7daa7ddc23d512c7a7e804ba355c921b017a46e0ad4575368b079aba9c39dff542a2072c99363f48f477199c55c5028f63839a1d204ed8b6bc2036c91a7f4085aac0a855735fadec0dd7f313ad0a2a7a3122f11acb643853b09aaf86144e8fd3087d81 +PT = 8e754351c5f15b9549577797f5954f91 +AAD = 06992caa9c481940edad327affbf40d03d66e15f20f755829bcd477dc9845b8fe3acfd26ffaa1f50e3c1ce607c023092 +CT = e0711340dd68f2e5e8572fa451c0804f +Tag = b9581639bfd1e14598d90b602539 + +Count = 2 +Key = f1caf2570ad3708b1b20897d6b422a13 +IV = 45be2ee575352344820d2b62bab10b91d53c18484b5f8f1f32cedec702e999fc2f828c0e7bd755b3b21d0fc32451c76c132367d3aa10434958db68af4e40c29d2ce74e9ffb6a182862dfa6149bef4deb7387344bb6b33e87913978170d2f4bc1b1b7c601208ab28847da589093b289a73db96438e446ed6d8fa598d00bad0abf +PT = 9ed3a4b9c70a149364c57609b6986e20 +AAD = 8d413dd1007e3ee2822834cb0c5123ec21109e07d3d8954a34629847155524a74e551c46e25de4ca6c1a48fc1bd2893f +CT = 3a9877e848f9b794b0d67ba1408caa3a +Tag = 488dea42e127c371ecd64beb76dc + +Count = 3 +Key = 050a629ee7f8cb57a23e9b51ef205a26 +IV = 12d16d7294bd6b4e6d0695e00438f2228abf135456647d8d46cdfb118d690a1264d3ad1c1cc3fe84c189fc463aec1abfcf546a9736ce151954ac443483617fee3018712520890c67268510f5536f1817f59a9b045333ad2e041b3aae64a264b78fca44f19f065eb48fc8b9e00df8b7a66f0de1f4c3b51f7247789fa93dad9ddd +PT = b6a4979ec8e5710dd5ebd68883cd581c +AAD = 5859f7feff73130000967ff71e57c793c8a7a8042349a21f9ddf9d8270292a8cb5b5aad0f38c7f1b1a75632f56da0c26 +CT = 1aa012d010307a51e4e0c3681cdecb51 +Tag = 8fa34876848bd0b181b1c4aefa08 + +Count = 4 +Key = 437cc0e6c9a667cb8ea5d6733b4c942e +IV = 9002d9098360c51f7f0a52fd09f09079273e31b6cc7de73de7dbf0dfe54ff7d680a6088b68f5a153d54a07d2c0886275a2caed5aa8ea058bee2eb4fc51b336b8859e5a42caeb5d9457f85de80610363eb01d969c058bb36b3c96478ba2e7522897956b5ff8fb89523e5fade885c7dc4aa1981f178d31ac8a21d111cdcff21679 +PT = 02cb966d3586728fa4298b64f5bde14f +AAD = b6a34bdcc783b6d6d3cf12441d90a8c886b89fe690d0e00f623efac610376ed87c6267ec53d042d3e390a56589d566e9 +CT = f252fad0806bc5443c076b11396466ef +Tag = e79aa2ca6227043c9d320b271eb0 + +Count = 5 +Key = 676ccafc596976fb8620e8bb5213a83d +IV = ddfa91aea896c791c238effc270fb68d04faa4ec401e588e20a30ddfa2e4cf137adc11a1479eb701899a0befc75addc60cd907b9361e89b71f1b1d5a118fc6375783b6ef63eba606c0192ee6c1a6485ca7b22d26e99fc650ac11b353f76940669940a9cbc8641238868661a7f4ae0984adf6daab68e209bd7cf6ba9fc1ee987d +PT = 05d05350790aa46842204ab1ce6a5fd3 +AAD = 0ab5b487e8991d5b4bf815e6d5386fed96b05180213dd2b60bfa10f51d7b15d8c117b87396735c98be17337d30799fae +CT = 79c35f81955b71310aa9098770412689 +Tag = af6d300004ec0e6b261cf5e51c6b + +Count = 6 +Key = d70b483a4b0f62c8341eb577435cd1d5 +IV = 58952aef20f68f532506e34d7669cc872e9b266e5210a00cd6389489885a267131269811d0ede0b2a56f544b17b6b79841c1bce3bdbcccdf1e0ea873ebfacc3793bae6078ca597d70a8a239d0a4311d47856bbe0f32c6f34b6afdd8b9de58a63e5a988c72f4832c58e7f6727d3f87ced73554285eb0a0a950596501091e3a8b3 +PT = b534b4856378bc97d7cd06ba9a97e9e7 +AAD = 3b026c817533b7bf17b8ecdca80de2c17d3f1071e9fcb827b4d80a25e9d8e04d4777b0e9a5aff735b2297f6603823f0e +CT = b0f63d3b5ccb4940437c68451a179fed +Tag = 3e9743a706c96ec3ca0cbe3fc45a + +Count = 7 +Key = 73a93847dcee2ef5ab947570d257e5be +IV = fa0447da290cbcd9891f097bec49ed09130b51098bf79bffa499eefc67e4756b365d118b0971a85c347b844053e6337d0ee39cf45e5eef061570209ebedb8c3e9e97c1c11be350e81ea8d3b28860435214456220591b993aeca14bf626a50313bddf0663ccb25973bbcf017cc7a30082eb3303c4176f4743feb53a688cdc34e1 +PT = f171cd5b2d5b0cb68a8edf9af6ecdbe4 +AAD = 6522c59d940abf425c03be8175205ee75c8a21c6b3d529ddcf30f64a651de73e413f3c51e003dc35f1e9ffbc82b76480 +CT = 5cddd5bb24a093e0a56059edf400b65b +Tag = 4512aea4ddec2d73c5867de53d81 + +Count = 8 +Key = 831acea027079d8e5a1ece331404f073 +IV = 3b795341089d44f2736e1b819c53e8e59ef4f074afcb20a53be7b461037ea5722f8c8375b619a3a6e50112b710951f2336ca2750769b13ec0bc52a68eb967f4f891cb73a3a27c42dc4bd86c9b866d3e3c56b087dc9130fe53eb400855128b2615ceb60a66deb158efe74879d6caf2bdf85b36b6ed5195edfb822e4c0825042d9 +PT = 63f38e19612f47a9ebf37001f226ff73 +AAD = ff91f9f96d40637ba1fdf8146f15d025af1717f27b75174c032463f4fccad0c02d597ad49facf9a02669ee3fcfaf6d41 +CT = 9d22e249c7d459fe5652ce0905a928bc +Tag = 4bae1f1bbdaaccd53382d7fb0b30 + +Count = 9 +Key = 7ab99c0c37d06a23d0c893ab776429da +IV = 594860b4fce324d429b5802d4e00834b69900e6fcd16bb8572dd2f15d847d8ba62e8780a0f8c0940c3b4bc0be4f514b55d4281fe0758045a5ed630ace6059c22e69a78697ceae3e99cfaa970d0abf584488e034b45a677d56aaf2d1e0c678cd51a1ca8183465e9e6960344f1c0e22a026ddbec9c4abb62badcc2c8b0e1ef7d7d +PT = 99a8558ff4c8e236bf71b96de45282ac +AAD = 3285bc3a63242a6e7f934907b858e49185624fd262aab66e96e99c2f66a43fe3e3a239b250d0c2c1ac9a085ea76c3e78 +CT = 1911ebb4679f2522a4fae25572aa6b0f +Tag = 1b1036fae98f7f4e5c446280c5bf + +Count = 10 +Key = db7474aac5f981bae16b0cb4f1e5ff24 +IV = da2c780777eecf934a2a818d7d6d7529433ba58f1a2cd5d71330c432a15f58438d72db4e92161ce3df9ab5d1a7dcfe589b5b8807fd315d61a43a388cf04af55bff4e093c9dbf391138cdc47bb664c683064be8fb88fb7b9cec923e9e74fefc3c596bea5adb368b580c42140904ec8cd598b72adb9586b7e0ac2ef5b45b471b81 +PT = 7e725f8e9eec6732c1fce7ef8eeb1940 +AAD = 1af19024c1f3bdd66fe18511ed63bae928f6dfcf5e2af7c405024a0285e06a5153da59b54ed56aafcd55bf3a9d0e42eb +CT = e1a9d91c080cb983723e6fbd9ad9c61c +Tag = f2baf9df005eef61eecf7d86cf9f + +Count = 11 +Key = 608c730c0ed8980a0aa5566b76432c2e +IV = b341e88e5342e311fea2a749825184c76f278a2494921e4349ff9949915be064b1f8923c6084e1da256f7c5139038ae0ab42c602c35db724fd239a15639da4b54a75aafcb29e6d69b8e02b62c46ca19d4c799ba245b89deed429838d0c69d48844ca9e6630530acbc029c0fc9c05c0d79a98e0b5bc4a148764f584f2a674a018 +PT = 8e36bbd2ec2114398e1aa193a60ceade +AAD = d94ed61150c0eea304adbe6543f3195801c806e58cb0de9bf362085c5b065516843dfd1a0802bf338169633fee10dcda +CT = 8c90c10c5fba74bc65070556977e2e6d +Tag = 6fdb53c40e9c0610710104a20642 + +Count = 12 +Key = 4d1890395df92fca8871d85c2cffd592 +IV = 6add56cdd5fd4918daa4ba4b49087128ade99978498523b97cdf40958dfe2ff62e13eed069849c6fff15522913c1eb6f08b966a4338ddfc8166bea63be4582d33d63a3920b12d579a543bc86156123b5d17c620ca4c2855e8aa76a70585c23e7c1cc05a8839a5371f5994c38016e92fdcc507a447412f4075f60d83c3b09e4ec +PT = e036e7047a07cc4c5f8e48f61f8e80fa +AAD = abccda7af25819834098f0c99aa0d8bbaef0a6950edf9a6e0aff013140097486f98671f462aae11fffdbabe4b777121f +CT = 47892117e37ab1fb298d41f7bbc253c0 +Tag = 9bbeb27b0da77b14dfa92ca72bdc + +Count = 13 +Key = 61816a2404f08ffa013802a3c2527c87 +IV = 8bc9a4dc5933df290db902313a3eb43577172f499c8cf6fb380321f5bce62419b3bbfc28e3dd006fc69a5ed4734723cbed1cef03bf3e66419c2b3491d689ea63b036a0850402922b766eb4283caa49d640611df97ec0b51f454c5fb3dffc140272de0ae00cde693bca7b3dabe32d9525cdce0b3d87d8f3e76c0163f387269577 +PT = 9412e9c03d526523f1c7e2ba89aaa050 +AAD = beea23b870ee049442f1a83a222720e87e9d207a3a4617218e2f24dbb5a4c0f4344eef7fe3c5cb4b2507ae532b20efaf +CT = 63035f2eba222d592338d14db16221a6 +Tag = 7575e91a73d139ba654e812d4567 + +Count = 14 +Key = f666152a8c338a942907ebe9bc6c9926 +IV = 994dcf6232e5654780613ab672b5a8feb9c9a7d817abe022b7a90dd731e0859aecac256eed6643876e3ebcb5918d4d49e8cc2ba30ff19b2b3c75130c42cfe7fc0dab733ffaf4394a88a6e6b46e0808c81c24e229a12991db2926dea3c014112a63f426538e1ca222c9967fb68cd814808a91d8934869728467f8cc0140fb5a67 +PT = b33758a51d00f10de13fe906439808a1 +AAD = 353fe880f2bf412085d083631bac36d227c8a744aeb5928f5d4e7f76f0f820666987d3722db696da35ae28cdac256ffb +CT = 64eeb3a4cce0b4ed20d66f1bd4e442b7 +Tag = acbf23d08cadf8dbc64130fa5dac + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = a934176aa96a27c3caa17c627a8ab5a3 +IV = dbea3b2ce96b392edc214e866561cdfb185d31b8dfd38cdd9ba799f77d181bb5253a65dfd3eabece6026532b74f5fea79451c728756c8e4bc4f9ccc304b852d7e83a1360e808fa1cf67983fbd00b2a2166275ff06c867464cbaf7c4774cc6621188ebe3033679e92bc13a1c91fe355598a9dcd325bc52953f92a57a9d63a9e49 +PT = 73e2ea9cbd41fea5aa1be9e4cd77559f +AAD = df5ac85cd42df74898746cd61becb5ce887c5eb541d6f251b070b899c007c4c182989fb65f47762bdfb245ba10f478e2 +CT = 81d16a2fd705209f5c1872d5d533939c +Tag = fbaff9019cb423215859ebdcbd + +Count = 1 +Key = 8c86396d7d0fa69906f26c8d2f7d3c3c +IV = fcbf46328f376c38cee342d756566d10c3b6c95438f8ba279027ef29e5fbcc778c9386dbcb641e5591d91aa2883039854b08e81fa55e311f3c9876012b320c38bb6f4469d45b896337ffe89bb05d7d65ed4413088540881331c3f08457b1d4cd6ef0bad52f5de35cf9ce3f6933042926e5913d7305599c25c3b528d9b8b9b299 +PT = a69c3312ee6214ccb580f73af4950d78 +AAD = 689c3558e7371bdf4839ef92fc2c339a0ebc83fe4ef95c6640fc6ed6d7fabfe8f4c7f445b03af3f90a1d0cf630e564c9 +CT = e8eb98728649586c89c4ae667f81e987 +Tag = 056dfddbb88a34ba585f6f5ff7 + +Count = 2 +Key = 36facb8cb2e13e643c97e4488b1b19c3 +IV = dd4f9aa5159223444624a2a54e820a0ef807ade5ecc9bd0876519127f063eeca59829888212fcd8f4e75fe6b7c22bf3c8c3a71d93cd73099d9163f8621d6c7e82e2a77bf750cc1d6aaaa2ad02fec303f4ccf831c974b9540500189a9062f5d93886fab047aee6e7a1a74b8f4fa81e3d3fa35e155e4e0f146be5dc51326faa6f3 +PT = b2f2096f34be37ac8c06a3411a67dbda +AAD = 0ca1b9d8977b3be0d560179d0c145c7e884c64025b080f046dacfb37cda0dd0dadd6d08363411b734d9687ac84031bbc +CT = 852143547bbc3b5dba3b129c13df24a3 +Tag = f489b1e3a3cfc22fb0c3291e9a + +Count = 3 +Key = c28c3193d646e9c026999cab29845d52 +IV = 42822aaeff50daead72d16b60fa6e1d2cc5d5b273a76c254854eced4974c3e2b2c7eb992c7adfda5ffc41eb6fd1216cefa8acf34ec33e88dea782437a0d347b8191acf1d60b6573ca5a79c6a8951aca49f6cad4538567e919216ee7233b80720072690913d73f91d71256b0b1fdb31bb83da516817e8da5840c7444b8d94b01e +PT = df78baf91bb016cc29d47f58728ddeeb +AAD = 315e86690b446fdb77c12fc7391c6d612c45068fc510bd2f6971c872ba9cdbf02677d7d94c542a4f3956c9cf934bd2e8 +CT = 6aec92908bfff4b86b7ea68d242ff697 +Tag = 63f28e07e5c5f79e8ae3901593 + +Count = 4 +Key = 3a28d7752e64139607928a1178ffaa1e +IV = 223059ff2e42d4bf15de0d1ed6d162aea4e752009cb3aa54bb156f68329b49f43fd1c8c0f1cc86c52ed703f6e79325558aa2349890fbc5e56faa4c71f2fccabfe1bb7f00485061a6311a25bef215dc5db57c80dbfc2bb4a129d0fcc83584ad6a4bc0ed99a5b1480ce3455e537cfd1a7b6324acbe14962d754ee5bb7944d18fd2 +PT = f1108ef3e8ddeeed53ffc16b7c60aef6 +AAD = d1d9e5e6868e34bdfcc8af55315ca76dcdb018074e6ad72bc2289a41287b0e4db0031669cebce92cab44c51b53509550 +CT = 4a1d298b8ee8f6a3a16d67ef4e68d4ce +Tag = c4ce1da64ec5df3b047cc342b9 + +Count = 5 +Key = e3bd4854fb77f1c41b4875f78904f3ea +IV = 3d47367a064617e5bd7b1aa9ce5e23cba66f393f0645dfb9e1f0685b52f4ae5c5c837456c3a15c934759f1eb9d2dced8dd3292ecb32b6c3e8f1aef2b9505620801acfba0a004911bff1845fb19f804b864e02c9ec05f69796482d627db2d58d5f46ab84bb594f5eef043465470dfafc978878bbd11c388b895a3ec7b50db32af +PT = e80eed42450ad805965fa0087b785e98 +AAD = e6fe7efa4244dc98b311bb8569378cf9e27f3cdde6e67fd2b445268fb12a0848ce29790e11c0dcead12058a654e8f22d +CT = be2d117b226cef795019016bcdf19068 +Tag = e6a204a357c1a50076581a0963 + +Count = 6 +Key = 9c7f9d6612121fad4b78d394dc417b8b +IV = 1109354e3ac90d5b8491a375b8445421f78819459e1d3a8069cadc6267b6f76b8b50be81e069e483273dcd50df4db6ea10f438418b666fa7df7d015352bc436e47b1880be96a7cddcb7736c2bb50a214f260011a9f0a8fbec9842c2e68468f674d89a1b2b3d5f69537e3582c66d4458cd649f98a7dfc177c86dde66b1494139a +PT = 995e521bea4242b9d24c57d42f5f8fe5 +AAD = 13848e4d3575fee6e4a37e9feed933718b07255862fdbb89946e26fe57117ce29c234df68a0ba4f9e16155d5d389ff7f +CT = 450223d0792ccdbdbe08e0d2c001e99e +Tag = e8b34741a403801d7028b83611 + +Count = 7 +Key = 97db96f67f0a351752255a680ca7e1b4 +IV = b4fc521ebf38067502ccb49fa2348e2fa926bd89d5415f1026e8eee71873748e0b940622b386db271e44c0f7f2ac9ae0fa1a689fa13b4f74ee5b0a8d20bc48b4efbf467030478be490c06c53da4e7cc4c77337efb1fcfdc25bde92795ef8f0edcc8c7084c06013abed46daeec6f5b782bb84ce7755687725f008e2b058965200 +PT = e59be2457674aab5fb5ebfa73057390b +AAD = 44d9d51a42f94e0046d21e2b55c4ef2c217e651194cb9fc0158e32ee7a2403326937bca18525fdf876ec69c17d82f7af +CT = 7a6dc6b2b506f3783c0fc7ce2d321b04 +Tag = 1d5ae03f714e40a78bcfae8af6 + +Count = 8 +Key = 279a9fdd45229d0d7907f79b80c743a8 +IV = 6226b97b5f92e6c168afaff0242e28b6b096507206cd790658880164e46297d2982202e79934cde392bf285336e13ed97d92710ceacf06c52f2d54a59a04fcf3fce4595bfc09b4dda9ff85a3f7609ec9623b492cc99582690be35ed3676a3be41cf143cd878dc407d5fd839c0fcd6f3cc0c582538faeb490de9da2a2ee5fede6 +PT = 6e3e5e18b92aae53f88c8d0bf7561ae5 +AAD = c56627bdaaaafa78be4459cb69405fd772efb46d5ac6b3b799f718f3f788a29e613886b73144f85e29e25ce5bf0d28e4 +CT = d6a9758286de1fbe56b94ff2442708c8 +Tag = 7b9bdd54d01d00b60cba5c82ea + +Count = 9 +Key = f682213252027a81e9c55c7d7d45d486 +IV = 7ed52bdf28dae45c0f79e29a806ad767d887313a990e98c2ce026c267ef2a9f5b9bb291c8e16f8329fddc3fb31b4ef376fd8333fc15a0159d8b179bb7bc94cd290ec51754c3e33028e9647f17e7d64a40f49d5609973c40270c0b15c941fae2bbab675e253d4f50d65ca7bebeace139a9a4312082c4fd12d4cc7df66af54a45a +PT = 3818794929f684bcaf5a85ca2b99c364 +AAD = 0a3471adbf8e41f01578777b1c082fc3ed6de8d5c2a4a3b9d4878e23828057aa9375008cb94a9e72f30b26f4ce53a8cf +CT = b8a7f510c1972ea583dfec9dd0b25b06 +Tag = a5368a13c0cf8341331f020409 + +Count = 10 +Key = 4d1eb9bddb172164b8bcff4723148ce6 +IV = 98f17767c11a2ba108215d9a7016c379934b80f72df2de0742f1db173cedac8ee7b85ca54b618b93fe81bc65549bf6c7b87ea8c4bcdfe70d5e76d35e57fd17906cbd6e679be8896d20b668b360d60ba2ae212741b3250c4033bc5973b2ab6ff8adc4330511bf0513c7087252bda67d74e54379fea25b533fdb18db0d1bf30230 +PT = 478d7710efd0dced00e09954c8c7872b +AAD = 9c2a38c3483a63da4b6682ef9b3630ba4ca89a1f7ea8f3055fecbc70dce97c4cc858875e6b9dd037906f1366273aae87 +CT = 7022fccf807612dc3c285e01ebe02603 +Tag = b6636a30d9c2d8d875cf97ba7b + +Count = 11 +Key = b9869c93ead7e2f9ddd3e23f339561e1 +IV = 913a37e41e1beb6eeb5023897e7a03433c73230f0dd8bfcd07052939a89506725a859ccc0b5cc7e27a5d3f6e6fc237fe791bcf7001cf96f955a59715eca0d90caef5f36bb676396852a45f762544914837e22e8a7eac3b46a731898b93cac1fe3c3bb945ca7e45b3dae56aad88492e31e5342666815d4cf50a7e9f0daa2f72d5 +PT = 5b13e1aa7d45eba2a41c4ce3a3e7c5b7 +AAD = d0c092281afbb261a82fc41d3dff3162407c5b6d5d7600381b7e758beb84f707762087a220b7889fea4b8e1a3a84397e +CT = 9b543cef8b18dc6efdb4bcbee2558809 +Tag = 87f6954366712005f25ef9835f + +Count = 12 +Key = 0cf3fc6609419de06876c5f1641b19c2 +IV = bea2eb9f8e069f499d51d15f3e2a1ccb07834bf2c4dd5c5660d3b5bcdb02164b4ccfc129ac6b0a90f5c96914329b25b1c26b77c52a8340628a4e6aef44ac4127d9d39619d8f09e4fff7088d042fce52d6ef64cde8a8ec94e56f972ed381a32e99363d524513078a07551b2605d07e416f40e885f21c1f742277c81a7c4911cf1 +PT = 40ba33be3e85c0e4f3ff458cb846c2d4 +AAD = 8b139d2603bbf1788374d39fd51b6ee3549e0daaced1de31459a63ebf80e5804f1f6d8880e2ad68d252255fcacba6182 +CT = d8320fea607dbd9726b8e334e25c0fb8 +Tag = 4a0a18abbfe5a724a120499b64 + +Count = 13 +Key = 2344e83da8eee2c5a1331dd01ac6db22 +IV = ac9b043d20e523c41d25469d45573c6836d141b82b1fd9564e90d4ad82072b7579b0336b4f27f5343ba023a20d0ea3f403a86509dc14a3776f69eafa1d9b1865f6e1fed61c47b36af40a102b5b50e8439475973aa324a9ec892769d5f1ce1563db579c65ce472aa3a6271bf14b47f3564b5c571390a1e71bb8fbec592751f225 +PT = ba612ef834406dbf7e3cc520403dbbed +AAD = 2779771782d23d343e272da076e412d7c8d263c53457e2025b24935e48271ec3d9909f45a9a715a53b9687c11b366e89 +CT = 2aa6424b4462580848d79a4cc8aa28eb +Tag = 461e9303c2b30d5a07f14012a7 + +Count = 14 +Key = 38a42ee0a574e0b9417c7045c3fbbf7a +IV = 181622ed6dd365dcaa0f090e30b9b68a516480c05da009b311d226ec3bc486f0bc6cfd0f56e8a61e6ceb6fb748e93dcbbc067fb57a9157f408c48e838b8756130da2d773b48d56c66a37f60e8fe12400d53202128e53f75b6f901fba7c0dd728e84cedae95a97cf6b57df8f35abd4f0662aec02f96a2dec55c2ba319965d2a7f +PT = 2eea01ded41fac90d5d17ec7cf6580fa +AAD = 0de63d8cd9a2c62da528db2441e2889b65c03c6ff1bc8010f5c913d041e9c396746b4cd0985c3a395f8f5e74d5ee1dbc +CT = 57f49bc668214d65463f9b7bddc97293 +Tag = 66e9e80451523b6d735849775b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 48560f3b2e64b3ec8fce3e0175dab1e4 +IV = f5a8a0e95f285e67b9f908948460d6b004b9ffd9b6c683ed86efd9736d00b0afbcb83afd1f7510d33c0416425f24c49d204b40a096de7a4b1df19b82edd0fa8d203d94e663d24e8cd5e58c4d5c51f6f27ce397d1cac3c76265229411467b8014c644b7d0f1d382f1e94c738700d92668b791119e08b819aa6708920b81b80443 +PT = 5c2d4a14cac5be0f39d6729afab05454 +AAD = eb73226b81895da35b1db2e9b82a953049c02df625fa58668dc12ac23c99a8c1e11c1b142ad879aa047a566f1afa3fae +CT = c4eb82545c1a223bd50d8ab0cc2e21dc +Tag = f37f780eb6b2dc0a61b045ab + +Count = 1 +Key = 3c2883186bfeec741822cea79f790c6c +IV = 49e9f64505c3692c5d9f542af1e345c77fb26ec412a6bd20df88be55fc9995b3d556c7bf350f36408e18a16c4b7fcbdd1d0d9a2b6fe1aa3248c713993079daf1715e6581cc08aed53c7ecf1b36b8178d030cbbe34817de869d7c783de64912db47f7806df418359cb80f741760c868c5dfc098f3e2d04638c91a28bcf1c4e329 +PT = d75108a134bbacddf04fb865116a5c11 +AAD = e52cf645c58751fa213aed804dfb29c3e962ecab030d5f106ce12f2631c5eebd9ea4495f6ea8a0522172e7356df88157 +CT = 5b88e175f2a087871c028f323d772a10 +Tag = 2cff3c37cd4f7782af405866 + +Count = 2 +Key = a65435a167f3b88d850f2b5b9112029e +IV = 903f0c9bcb9d0b383d6cdebf93dafb37287b72bd02d37f571aebaf3f7f3c46fffb3ec9b5e2abc2d73757bddb727e373505f4250f15bca803c944636859694126608a2fc520882d4c9d81c7ab8507756b790059b52948326990e324289cba76c656869e5f9e8544625c4b0f111631b33fda6ef3dc2a1f803ca25047678151c755 +PT = 52e35872ba20157d3c32c4df535ce27b +AAD = 555737231a2a92be5984c03af37aef208501b9d3456a4367554fd214690223c0b324437d32fe8100643b0e31832fd856 +CT = 54bf056fc54541bd6639ffe39ba1728e +Tag = d5f047a24bfb0cd5d893aa46 + +Count = 3 +Key = c152420a75478e170ac0282d8bc92cd2 +IV = bdb93aa4be4d2adcffd5b0b49914c37687cb4bec2587c6b7e07e30c769224058abb80d679a71a8caff6e4be261bce7b65e057e76b74a207f5866b324c32c17f13b1684925ecb082cc1f534b30855840d7e45b1d980790b3558271c616e2e267c5f1ae87544571143915363f0044761d46e61f126f99861a4a3f5633136ca74db +PT = a089b6036f1120b50189b9d38d85f1dd +AAD = 3b1c5d9b13f050642e83069c61ebcffd7a7fcd0802274d3607c5db23385eed7a4ee0567d8ff8e5852069eed5e1149199 +CT = 3ea3fe81c8ceabc73a368e19ce37306b +Tag = b2d11f9f736cefa5fbcb1a6e + +Count = 4 +Key = 4ca4cf7c8f963ab5c57d2cae34a9df06 +IV = 93470ba87b02fe9d0c6ecfe05f01246a21e82d2db8adec4bc36e12f2a1197142de0d9d65a54238afe4c7eab158e45c9d989950745a143f55aad679a6029a0a5489f2485b1ccf733315f96b4e6336cf85dbbdf36bf7c03a281ab402cfa4d2bfa67bee0ba069a7c64bd57550293358587d51cd484af748bff0df03fcde354e7d74 +PT = 4c61f0a5d5d4b94f8654ac4e7655063a +AAD = 62815eae759e4bf165879247bf267774feb39184fbe458d3c2ac17e3881bbb766bdf71f43679e83cbcf8461716bb1b8d +CT = d8299baffb8a58bb6ceb54f7fd1f66be +Tag = aaa92b9f94e75b51365d4197 + +Count = 5 +Key = b93a6b89562f4cdf18ba08f7d37c5408 +IV = 2e9981ee83f827eeac5d4f05e98b8d89aaadaf77ae4a2d53d2fb20ee0919b3c0b2722967548088c2dba1748e2f2370e64b00249811aea7373aa330684489014ecea3216b07ea316a2d17cc7e2c3ce69d100214eda9ce3d94bd67615c5c0de83a34a8e7e21d18d6b8c59e995f7700a4831fe742ee48a5d1984e3a0cbd5c5aa500 +PT = cbc9fc113beb5241129a777312c1c8c1 +AAD = c697494a6148fda857fe4343d9e6a7aabbcba52f25e2d540fd316f2c5b61d50140e67fc70c966cbe26612feb14b77a02 +CT = 03b7c451e761ae36929c9fe1b76c06b5 +Tag = c4fa0af6c7768b33e918f252 + +Count = 6 +Key = 95d05752b569b80d4219f4c786d8127c +IV = d90ba1638e5eb8575840346b09a9a79a90a2f1a0182fe73348a275e849a1dde94b0081ce7fe7e441d650e05520a2d89390db101896b5718451f3d24ff85a56c7f4433c52c637313b05a674f3e21f4215f7a59d25368f10f8ad237da04226089d884867b38bd3ee868d3c8ede918b4b0e948e0ee4107a0b10288bb97f221b1ef3 +PT = d5b468301585ee282367fcbf04a95f92 +AAD = 1c5787d4e6ed219da06a6cc77a6e8331e56410fc65c59d314d27960ee882264cd83de164b23d03fedfe79545821eee17 +CT = e51ac9eaefc0a156cf1e5f0f54ab33ab +Tag = 9d51a2ef866379324af41e4e + +Count = 7 +Key = e2687795bc83c9c3ae5b5af337f56cb3 +IV = 76d0f09a3b6ce206b3184d66ca8d9a3b453068715d4fe7dee5c79c4b3f4da6deccf257280b8c486852da61db920c2e688cf7686a1d29e130c2d5e6452d74f4135db429502b5fc957ad279635ef9b3c84f7670b3bec56ff590bfc47ea79371de237dcf02f668075d545f4fd06f493e986ad180b21e66c2e2a71a8a9833158742c +PT = c104404c054db03134e0b65ffec2b457 +AAD = 78068d0205aa577c573004feaa81bfaf995ca92be2ea300f37d071232b1b2a546e86a21591078b0b5d9bf325534bd605 +CT = bb6f687cc9a16fa03d60a74da351a0e4 +Tag = 2b41dd0cd6b852f72e9143d9 + +Count = 8 +Key = 326d01289fb5db21a3b45db5ceb31d5a +IV = 4eb03cef5227bbf850e8e3de32ea1c1161ed403d8b69d4813a8dbfa2c880088d2c99093e3dad48bb05a40443a42be83def23ffea0865fbe80759a545ca5b66979b35c78db0890786ef484f66d553b221eaa4584e5217ac214295d32b6e1caf99f8a9a9d538153b402a6501e09327581c949886ab0acf8bd7f2e40f7654254d1e +PT = 6ea1e8ae931e33ebc784715a4311265f +AAD = e79c22dbbcc98ef1fe9b898ca2e8814b034e1f1a32eb547498013e3b5ba874404f92b1174cbb02f9d1643f9ebd1e03ef +CT = 2cbce96c7fb6001fdfa3e4cc5d5bdb54 +Tag = 4681e3830f488fe459d536c5 + +Count = 9 +Key = 97f350eae69057fc063aad58f27929e6 +IV = 1d8041940b1d12923ad844a84b6e947db37b6c2940ea9f1ed6c23816ac06a29b3a0ff1af8c08a365b21450f0c070f3432668ca38e0445915b5d4fbd9b707337912a927137d07c1f631441667e4ae0bf6eaaef6cd0bcbad84407a3e969d18d54210ba264b858b8776fc36b81c9be79a5eb91214a6cecad7003b37d21da11542b2 +PT = a46f2d2b9c280498cb8a9859c69d444f +AAD = 1887696d5ac24b577b968021435c05b3385c67156d1a1a5dc7e13ea84d746b383587cc533f686ad347fdaadd6c771558 +CT = 1c7c53af666ad62701a2f2094d765f9e +Tag = e96df142245fa6e37e737717 + +Count = 10 +Key = ffb9121327f14a5ef45538183c00632a +IV = d9b33e7db0cab3fec7a0eb6e50c9d2dabc4f106e8e8019916a7d7a923652f48c2a728bc9e20e49533ae90797cec2f81bf69c0e26cf4b8ac7f2ba5ca1a2d0236cd072d8827df5dc9e0d637630c95d8f9b551ae6db39b331d8fc913d1f5464813bed0e99e91338f75a94cab8d67d6f290e959f4d6679319062f97449b1cd2543cd +PT = 8462f4d698278c7fda0035c6c1d9efbf +AAD = f9a525714be54a31d5ed04f7f05eaaf160940948a625fd9dc5ebec6039e9c67c9459f73bc4b6b50affb232a51ed7f0a0 +CT = e944a942fe0c9fafbb69742438fcebf4 +Tag = a5a5fd08e6dc463e15f6070f + +Count = 11 +Key = 2cecd31e8df4f34d8ef3759961d93a18 +IV = 2b40d59681d1416d56d41ec127151c28e697d5b2396dd94c422a2671f3da5a3314f58fec959075d95c9b1589cab25f66735ade7f509ec6b7a877232971dd35f519ba1c440cfa866e61a0411ecb918283534ad2f5fd4a2c729e74ed4f43775c54d203d4a6c13ce9fc99a6bf4cf9eff5e2a4c5e6219857fbeab062f3552cad37c9 +PT = a0c3516fd85bde731cd5679781d0467c +AAD = 036192d24e9e66add826f4e0c86806717ac54b10587e9cece325ed0b4b804d39e831915822e83b7c30624250148aee83 +CT = 39f11ae5040af28d0c0b1a78bcf077fc +Tag = cccd35ff67c88c1d52a2f346 + +Count = 12 +Key = 7db30abd35d0f83fff19c99635ffa070 +IV = ff00d20449ff200d1f2f74798a7482090e31d0ed235333134c6bc872ce1404acf416154317e8fcb6e1434026b2ed5def75d0b64668789d363b2b0acb9f9dd786e52a4a58e114ad3127a9cea32bb9312e87f05cc293fa3b81e7bff058624b72e21858c2913030790e10ba47975daa983a4fe3394c2e5dee6c7bb5a81fdadcc062 +PT = 185b6aa3eef64dc1df76d8b7326d507a +AAD = 43fa5510945f6d683d6f7f0da32c9f376f39d950af1d1d27100c34b7d0569c0b1c4572c3aa2908b0437e69b180ec1dc5 +CT = 071a742c526050ecfae8481658d15318 +Tag = 4424e93567483ff7e600df40 + +Count = 13 +Key = 3db6e67f0b02e09fa87d0f1248072e55 +IV = 5f292cba435dbd6585d1d04e73924136d322afe2985b177a947d1e23ea277ec32eabc765efbbf4a054741137c64f6dbbe5b65065787b0cb9c25463d0911c5c72abbe480384d23d8adf10b197539b35483c4e64913d230bfe1f6e57d2185b4ef84833aaf2f57b1799c99e8600d521ac265974448d625cd3f650af0951ff7e5f99 +PT = 9f7459490c29b175ef60a295f90850f4 +AAD = eb3e2bb64dedea84d051e6db29992332f2f0b4fef41f9154f46c8e645655ccf0304a4938a7975eb2db101dd1c8737a9b +CT = 2b78c78cc936061d36ea9f10419e863b +Tag = b22490f6b9036209a801c686 + +Count = 14 +Key = 20c043a1b2b21c35e389cd5386df189f +IV = edd5d15c041abd3e02596a96bee6b09ebc87c721863cfd24d80308e91520e7e030b43990f6ce58e2b22406d6218b5f78b39c9007e3acb784469f37904dd8d106dfdfc5cc9b8bdcfdb02cfb762f90222adba356b2ba03ce82fb8aefb53606475e3cd9916dfdd9f35ea1a00a4199cd8e844b680e6033e16f3c76a5ad359e35e0a0 +PT = 77ecd66dedfdbe6ebd1700963f1f74bd +AAD = b77e5a392db00159f31a92faae855bac6df663b616e0e49cde57f3095f4978aa7777b064abcc7547ffc3219745612d02 +CT = c5c78ee1d4223d93cc0331261c663675 +Tag = 1e5199ce8983a1e72e85eaf2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 914422c5aa06273cbc4c1e0e4accd026 +IV = a39405ddc34abba1912c9c1f2f881ac351a87c426d911074fbfc8bf41a2b7fd741b341bd53105968a485fc51b2aac125889e275a92fd7c8ac466ebb8465c3c5c8caf7df3f84b4b048415ef7109f37b8813e43fcc2b24d0d424467508b1beb60aef79bfce0be27e2e3c595422fd895d673cc8473f3cb1e6a61fc9103deb080dfe +PT = db0ad5cbb14d666689b72803a63c9bea +AAD = f683c0c9378d649f81f4600d2a0da65857107e421c995724f6a7ac460221d835cf90c89e5edef4c62774845e1944ae23 +CT = 65102f9cc2ee980f8160454c65ad4360 +Tag = 96a88c0af0f2fc76 + +Count = 1 +Key = 92609be378eec5a8300f64ad219c1fec +IV = 39c88e6af6b85f23185b2e498d04fb0737bb35ee60f93aa83be9b9efa6b557ea21482f93185584b456358cfc8aeec4c004513070fed8fc9b54b266c87b846a2abc98f92617d36e3b7b3a2fa7d414569d5d6152a8c4bd090890689dc7856f17de835342af4c1e043bba568d6de5a791a9e616968d34d5846714c4c68251da7eb7 +PT = 90e0c60bb4a160602a49421a802f701a +AAD = 3780d7d798a986fb12eaca7a451657a1fb99395b906f139d3b6fa419c47780d681aae5d0e951a4e402165255d33c616b +CT = dd841c9e12e5a6cbb30b5edf4213ba84 +Tag = 8f99b11e1d0437e2 + +Count = 2 +Key = 2ad4fed61ede5d07428570479251c537 +IV = 242b9a23b897eab98ec16fdaa95d95b4fdbc7f59f4859ff9be6a148b91d41b887f2527ef21714bbdf556a2f40e89fee7cc446601c40ea4fe7a76ad7df7ca415ab1ab667cebc9a10d2f37d688b08b74de41a01cb80ffe39c4c65387ff6433fd77191aa188616fc62cb6337f572c9ea32766630b55a63684a7f5e9da15ff22b589 +PT = ea5f1580eb7b76469dac2b25342c7466 +AAD = ac2ce51cf9e5ed01ef403468aeb548162622cad2a1d7a61b14a1657e6d960c1a880aecb64e4011d04c7897c7a584b846 +CT = c2d24c3fbf26a6910fb67a757d536983 +Tag = 7930fd84cb5204d1 + +Count = 3 +Key = fcb6f7cbdccc6ad6dfd2b06811a028b5 +IV = ce743b9e076e33454b51e4a135a4ce0b85770e2ab3934a238bad5293ad3f4dd6f1d2f5808707193c4ad47dc7b344aefa27ba5c76ff438dac2a91c51d617a6726252364e1ce4064a42260a4261d56e6735806be733deef6685f8ed6f4c1723acc91a042acb5cea8942856a44601ddf9848cb18c68c2e37b8c2407fb1b40554334 +PT = 4b491972fc72819e1966e5f291419bdf +AAD = 17d1be51c67debced36fc0599f5b9a029808f01c21c0c4fd698af5d96a9b26028cf2589035c7f3091f3345a01c89748c +CT = 6c4554015f08982dc59616cf89d59ef6 +Tag = 9ede9d7a28cbd392 + +Count = 4 +Key = 13bca2c207b3a5b6d52becbcf3efb255 +IV = a6523bf4ca1af852a65050f134dfd734e30a4ff85ff6137dafdecd113170484d1a3f59fd8d53f4f128dc11a4d2e6f70b59c7adb930af7432d478b8c669b37ed606aa521951b54df704b1f394b022ce44573cc25c0d1d5d3b53efc663996d95a031508937b58f6cc6741960678579714198f6a48f9004d7670efc72f30bd1a274 +PT = f72a594278da10629b623a754d59e4f5 +AAD = 55ca138d316d7df3c83f630107ea780e55161dc6d6974197f82e8178fff79f625d90f01705f8a31247177bd50c25762e +CT = 5f815f45a209a92622e896722cbff2ee +Tag = d38524e97e7cf579 + +Count = 5 +Key = 2f2344cdd36abc79e408284e47d8d919 +IV = ad35e4e48ebe370a4cfab163717471d6f9969b54c396e5118f7041d21e6f5cfba53218c3c4d7834713a703ef3eb4f76ed81df5d3ae341f30b60396e96873cf16aa8180aef631ce4b66dbf2b24ddd54491568c864e6b216895cc7420a0af81fb312d710f1ea2dd88514de5059bea9f742eab2f2cc2c060d9c9b77fbdfbdcc978b +PT = ddd434d35eda28f71ad71ee35216253f +AAD = cf9da7621fb7d4b31b5da40b59d8f062ac63d1523cf225e388940f51b2fc27ebadf6ef1a20c8262b49d4ba4795f44666 +CT = 618b2c1e6155544dcb31465f73957a99 +Tag = 0dfc7889a3eb76d8 + +Count = 6 +Key = dccac16295570951deb62fe68e93c919 +IV = 3fb71cd4044224de5221b271560a25c19f1342b2b7eeed9b6280626dca0a21afaa6bae391c3c55a341adb8c00e983660980e873c8d9710bbccc5e50a377f24e5987ee4f12fc77df146c060fa428242a9461b0e88ccb7801ecc53c55cf096a50c7ce0ab6ac624cb8c55723c46863429a8425d510e478f4aa85864d852cb565b38 +PT = e1093e1d72002ad4094a165d4fdcdf5a +AAD = 593174eab94f36d63db63f29b287a2b495f45d9e269daf14aacaa1e8d199029e0d3549873bcb77eea965da2a3ec96513 +CT = eee718421d95e62b46246ec55c177716 +Tag = 63567d3a2638edb4 + +Count = 7 +Key = 4700f32d5812c4117fe0952bb65c3543 +IV = e4c261c694e4549afa4f8fab867a99520429530ec8fe7a817cd2a34a0c609f53865303a4f768d033daad9a3136564cfa40dbf63192960978e0255e3c198a6ca27e9e26d7530def565cf88bdc04c56ba9197f116a6dbec73d81154824221834362b44bcbf2025be991bba47f2fdd7fc9a8e3d6acb06d2c02ac4f384003c5e2b3d +PT = f7a5f0524b252774b61b13e1d4240f04 +AAD = 5f639f8218415777dfff7af23648a344f4bf8fad4036f73803f8b85e7e66a501a42b1024460b0c71f6ac5658387f64ba +CT = 14fb4f79fa5fb96e46952c314119abf5 +Tag = 5ebb7ad78357569b + +Count = 8 +Key = 7fa10c4388393ddd602ccfb3fbaf9b62 +IV = 326b63e618da313b7be7e773a2940fcab04d1ae421d10ecdf46bec8bde514c98537faacc12ef3cefd83aab371fa4000e06341edd53efb1716d124d93933f22902fefb66594ec39ae10f44365f8a54062bdd0b8de38299f69691907464fb3e6286822cac26ec491fd27f88130ee9bc8b994b39d0582e24b0b00fd45733567be4d +PT = 902f712c1d3e31bf17a8245bf11cf4e7 +AAD = 5725660fa39f5dc2dd052201c23f3b164efbc0cc7d698513191978735135a8c2ec60271a8f3c1718a2844890c57de88f +CT = f2b7f52187914fdbb4849c63339bc48d +Tag = 2723a5c855d507e1 + +Count = 9 +Key = 452a239a89513a1ef17fac24a4e5b664 +IV = 8c0d2c7bab33f73aea6448981436aa5cabc498840f83e20e35028b26823ead8f9a873368bda86c22964aee55e9ff129f72cc42dc6cfb7e8ea019cf92464612f9ae6cf48ac6bab6cfdae9e05153b51b825734c25e51c1a0398ef1f9cc7acd2f3883cb7dd994c6082fad22985ae263787fde5baedfbca7c0f82ae67055e692c3fc +PT = f0b5b00eb7de56869726106e0bf2ae6e +AAD = ff93fff0a481811272f94e88fce20841d4617a3e21bd8683a080225a42239e87cf35cafd5c2a5f387b051ba289ac32d9 +CT = 55a1f811068889227e3a09247d527bd1 +Tag = 6314c187674127d6 + +Count = 10 +Key = 7008e4b6a77e9749276e6757602f2a08 +IV = fa199a64ec5c2f3eafc07eb64edd6916f261b5fe00345a5d799c9febb2836dc17eeed31ddee8ec431c0f69ad88914bf26da85435cd53618c8857d86f1556668a8f8bbe8bde9e4504f8741ab4112db339ed63e1346d4e9dc2574c7f0762d5bedee3632b07c54f7531ed20467563a9bc6634fbda2aa4d14751d011ef1010359d05 +PT = 31397f81ec8697dc652f22c1b773223f +AAD = 9e3c6f0888df68344cabbb340a203061539a3dd6ca6778874aaa6bdaf917b88a752584e2d8a3b65128ffa56e2a747445 +CT = f2b997988a130e8dc28792fae0846792 +Tag = 82254cded60652d8 + +Count = 11 +Key = 0fe0ee9acfe70439401f3d0ce3e502d2 +IV = 2e24ee5ac6e8efb37bea12533da75e6896c7234d2eec358a3d7bc326a60821ecd4785c2fa45cdc29c67a9fd22763ca208fd173af51ee8d9b2984b6ae3700d9ff5f3112c9aba97f3d5de13068e60057421badcc13c019e9d4354b3238913f92304c6d099e42d047e5eb7f92965ecd4c2811b0655a63fd96d171623e7114e564ee +PT = 08f6e6ff50727f444299fd994f497eee +AAD = ddd5091d866de6ca4c1888d44110c38e41ff37dc0a246ccc8f3e62348656c9d76b49bd5c5e80a60926332739daf86ab9 +CT = ea9fc2d6f0fe6f6f5ab9715ef03a5c13 +Tag = 7cd9e03fc1e204ae + +Count = 12 +Key = d4873194a229a3267b3e9665dd4f471a +IV = 13e00260f6003e96743133fb68e6ce4f5a9b1522ebd30b11c4d68577b3cd7245276bf896e5aeaff8b864d512f4bc50daf4b1fc5d24ab77aa3a7a21e5d47d0f3fcd7fcb814cf2b2a0786d8a41b3a8f07bd666adab206f35e4269e4d8b7b26e3d15000475fe92b82d97992a4db7d4519e780e552472102ab1d4b1b2b0692956926 +PT = 055bf3694fe85e4882c10ee19603f560 +AAD = bbf9970b05fbaf69327e7483d1e74a56a13ed5b10eadb0c3735c3c6fbca0d47bdcbbc7f7d210b8325acdf013c5c7e212 +CT = de69e4547b8599278328e3a3d75ac02e +Tag = a0b29e6f16279966 + +Count = 13 +Key = 0afd80d6fb032730ce789ea04db87127 +IV = 3481aff8777502632149dd16c3c98f472bd8a330c5ba3a3d67b54efdb64182305925396a1bf3fa50bb44782bf19aeb34198743fa3cf1bd36f2361fda3551ff9f02b90a3efada252187bd0b7f216a6a4b899a7423c3d7d1c76154e907f506e20a96608fb666e93eed8a254b508e36e273c9943982bc482b420111c36770658830 +PT = 85633dda56163dcc0e4ecc1dc7002577 +AAD = 07606b51bd53f98eef80f6faf2235f548d7f6c6d82ecdca0fc27da2d7ea01f03c80d297c1d30c0c7ed0a636a26570e07 +CT = d8477f43b420edc09b6af659a2e2cfd9 +Tag = 8de60f7951d00346 + +Count = 14 +Key = 10a7940b5bb9c51bd613c719b48784ae +IV = b69b5d15b592a9912cc72344e44cb84400ec9db12598f280e4c817b13cd1219fcfa17ba2a3caa52fac0d2859397fa703d310cfce5b99c1a8ec6f37fea0fff35955f9c6c7b4637d4c9750a6d1a6ffd4ce94be09164af015aecbb47b097cffa021091062b763d2b95be5d1a39a1c48fdf61807225688c738ef7d8eebe0ba14d8c0 +PT = 9a8e72b2e396e46fb874b5704398661d +AAD = 17e8b1c53aad8d8e8d9c0b3b0b230f001356585e4c7f6ccd6a784c57371c515847c1010fdb6e2ab6122f6bc43e3d69c2 +CT = 24932285f00413438618dc033d61b3a9 +Tag = 4e9b9686751e0940 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 0799154ac14ba4bd0fa37c6dc9c1a340 +IV = 6233b9d24e1d79f088359c891482fb86fab86291ecee596d53150fefea4265565c4992d531c70334c3645fa167bc863885b5429853bcd736a8bde010972cd02d64555f4f5933277f76809b329561a2ac01f896895c9dfa1df8da9c774dd21ead62fdc584154705d195b7a79a3a312afa4ddd7345ca736f847e1cbb5044d0266c +PT = cb847ca416774a757978979e5cb28ba0 +AAD = 055e5e9e74e7d90f9e486be0c05549696d59bb68363ee79b9d28ddc3e457225bd4c14d294052a8ea8598336ce7258966 +CT = bd5b5cca590b15fbf019c193d9c2efe2 +Tag = febd51a1 + +Count = 1 +Key = 3151ace8fffc4a31d9b8ea67474d7cec +IV = f8bcb58ea5a9f607eb3012d7f998f954bf83c14a96ea5d4da810d952fd499eb091f609cd284c2cb0e0efcb0de12486b2fcddb6159b41b2313987c4d3d2f54a7d2631fdd1b1f3e43731730a0306a8e3061373f59f9f8e63131af2840e899c5fa85db89c459f3bc4870dd47309581cdf9b6151a7eac56479d3afd9739d82be74ff +PT = f1c77f9fe1abcbceb01e9742d908ef72 +AAD = a3c0446bfff9147e59114c8b48a59b42c2d01f2adeed4ca58ec8368a0ee4c0ae31fbebaf1864cbda40cbc5ea8c369b44 +CT = 4b5f940aa5f0cf4be61ae34d0635f0ff +Tag = d2485b56 + +Count = 2 +Key = 897fd2991be3ec95f2af706840cea202 +IV = 464d566b93f893664acf7b6bbaaf76401be2ac4266215444b538656da9dd99acbcc493c76b6b8ad203b0cab93b601b151ca7c722fa2368f13e27892a1cec8e297508bf9dd794b30e3836ab8c951b7040a908393b64d0b32f678b5b30827b8bd281e85376be20d4e487b99c753351ea1e768f88b32568a1ef0feeba7a8447cb90 +PT = 33c37eddc518ad46f274d38b661eaacc +AAD = 0a7042495a0eb77fa40c3fd11922e550b44b9b3a0b6755bca53d0ca4609aeeca56b9c2694bfa9d13b1ceba043573a342 +CT = 2c0277e56c539ee12d112291301adb29 +Tag = f111636a + +Count = 3 +Key = 51464cf09f40a6118472417ef722d6c7 +IV = b67ddb7465c198660a0a854fdfe2c422d85844fa99c8b238e031d41778b4fa789abbe5b603f50a54a19ea5c3125c37d545f4ab5e91edcab3f66c25c7f8bd61177c8b0c59b174c44e0c0e24530be3acd6f47a32132460960af51f780d1ca54bf8e83c72bde76c89afa603a0bc80de5df9726c640dc582ebc4918f64407dc59d76 +PT = 7cba697d2f4fddff088bb67decdc7fc5 +AAD = cf33d89c126dc6122c7ca11d2d7ba0b3a05f52929d968f894ef2df7c3b249555988a68221ca85af42cdc06c23a608ebb +CT = 21e4bf08d6085aabfa67e5afd2a80fe3 +Tag = a7b31789 + +Count = 4 +Key = 3684b93cc4ace7210c9f239d30dcc562 +IV = 08d3abdc2df995089f80531aaa5b32ad1ec0560ff34e1a36e53b5cb6a1c9f0cc454d835ca0f6adfae4270b81dcaf13ecd9b2a09318bf73927c07625bebd6e6c11b2d5d3ad019a4e7c14818dc7257f68358bbd029bd0e4dcfee5414b42fb43e655d2cf2d5f107c34a9b7796fbf5335a0d7031a0a78fe817ecd947d8f77c953d08 +PT = dfea983a6e9bf6de632539843ecc38fa +AAD = 824a15ccfa33acb8b2eb9d61f2476f11ad611279ad678c72bf90732b66fee0e2f96ed0feded8e0febe5a58696718f1a9 +CT = c061e598d4d264c758492980c4f57e17 +Tag = 1239e0d4 + +Count = 5 +Key = 6d8e6c8934bc7d43f40b9dc08fa45ad6 +IV = 060ce048176548f709a3d3ac5d25ce183398d82c389bbcd2eee9cc36402b79ca9df3f6229dcbdf931efe695a268f33c02d7967269689fba0d6bcc91319dbe8d474e9628d5afefee2abb1d232f59a91c7a8040ae505222aa9d6bfb2475a88f54d0662750e81c9c0384ccbc302feaeb54a85148fc7f7c68b909de5420c05df0e63 +PT = 901ca1517004a988af1ad2e005ac3103 +AAD = a53078b11fbc487dabb96337d39b2e5b118b41c396553ec4c5838874eda1921f75d96d9b72cb90b2ba73d37e4d6398b2 +CT = 8f407cd1baa5e51961538458a88ee862 +Tag = 9d1d2182 + +Count = 6 +Key = d51ae1591077036e99e9001a433c90e5 +IV = c40dcdd82ef84852202532546c075df6bdc6107dbc07e6b1197193cde6095910595cd1f8eac1a9bb738a893b12d7bb11a48b54b6373a7500fd10c4699b82e76ca6d44a1b27581f0ff575fbb548fce3165464a66f3ff0055febc787c2ee789f95f92eb33b32748633ba78cd501cd87581c6bfe7d1101a7cd07c633495341fb043 +PT = 6fa8162cd640871690b48bb120f7ff7d +AAD = b99c1a5e12714cc4b05df55462d45b9fef551e79291d32198c995c6c31315ae36b9f2ea6dbac37f410ce3bbd3184ccb9 +CT = 3a06185497963fd7a86d7c3c72d0267a +Tag = 920bb75d + +Count = 7 +Key = 6d85fc2a77bd895027fc9b5640c4c02c +IV = d3b73fe69da09ba0634445c9a67817d47c7e980055a7d8549d882227746bda7d16a446a363656c215ad3b7a2d4765e28534cfdce26ff6d380dca746c359d1df2d6f443e14cfd2616fa6034f5e242e41f4c4e53b946f1a45c7f8acdee279ba3efcc2a8a734d70fcd05585a3545d1b651139962c5e317b25bd5645753039502e4e +PT = 1f1c16cd4f31e09fea0acbef53a13bdf +AAD = 7a44e2014c35c002f74e4c2828257496d529f1d535ba458ada598479536b455248b0fbd6a2b19ce1f53621ab5e19d802 +CT = 6a666adcbbf04b0dc3517f40a9c78b35 +Tag = 316993f3 + +Count = 8 +Key = 67ef8e82d5a705dbb37dc9fcd6fd34f0 +IV = dd3009831396885486e9fe992bab826911110bb67bfe0771593ccc4c085f7abf48c2e7043b7b896b9b0417278002431145d69a85f1f7b5780c15656967f1f985ddc643255e973da4a5c31814348eec572eace1cb7ca9f12a849e0a6cb6a2ea5086029aac4e8415e94e49f1bfde03560590aa8e3a876fd55b4930769605e2bbf4 +PT = db321cfb41b5a959a0a5f7a615a4ba84 +AAD = 0b5cb4127319fc48470a801c58805a876adcb4da61d43a8b80c6ceb9500bf7dec868b9bdb6f157007a3a908aedbc1ccf +CT = 1f8769b1ffcad17c421e07beb9a5b902 +Tag = 99ff7803 + +Count = 9 +Key = 8f29aed01c3d58a375755adc2ac08449 +IV = b19c56cf0053d6a77434fd2bc961212170baf07adcc3dd036bc004527d80282d17478c89185fede9a3508149ee6a3a4d9e8365a3c8795d5d6a0b9249abfda1790c5206581c74e5d699352689d44f8b53ae6b8dd3052a37a11055777515de7f9ac86090e968d27a18abc169fb9768763f2dfe7e149e02ef8e0ec8a5487660a809 +PT = e7d25380c042c85249f1d570f3dc0d52 +AAD = faa64926189e1362f40cc10b8f4f84189566d6353729ddc46036293e29936f17308f4c574b7e25bd9997464fdf433ebe +CT = c17dd23349b65a9d163fa60dd7951f0d +Tag = 12363574 + +Count = 10 +Key = 8f402da9b78ce881b449fd561b32600d +IV = b30d2db788e0e66716adb580819d5527746505e442549baffa188ca389f29e0671a8f1db751d10535f371951f069868284e2004fa1dceda25b023d9692062ae2446fa9d139484d41cb713f9c3db6f1ed6e2aaa4a2e262ffc91aa9e67515181aad6bf8b21facd9b741d70123d2f9716111f632b0b9a556528497e74d60b3f7084 +PT = 1591cc27509fd1d87fb1c92cd9a5a458 +AAD = 58fe5f0227c781336cae34ce205d10d3bc45f84b790c2e54c1bc1ff280796a6fce007616d80d30f1a8a90ec44567056b +CT = faa1584e839c9bddc6141c68cceff7b8 +Tag = e341dc63 + +Count = 11 +Key = 96845f58de1d33ea99e9c148e0e48866 +IV = 89c52957ca9705bbda6836090725f62c7d0ca92137a05b25db7e133a1c9361d7a81e0ad0297a58ecede240756bda1d7d302f4cba2924ac3e8c1a588ce7ed09c3c8aa89d55755cb1b1b5d9a13d61244e3996fecc44f07fd909a56350dba4dc98eb9a7ab9810d082ca11043b5f374eb938e214ad4d6bca147f410f172f9f88e6aa +PT = 12181fdf257d3bb17e7cc0dd38981031 +AAD = a03be302e10134bfe36f920bdb8617614cfe049303750313da14a74be20a999c490545c38a5544f5cf0efc4cd3f8c16d +CT = d2ba03d37a883037f3d14106582f27f8 +Tag = 3d6d9959 + +Count = 12 +Key = 7013302d69c2bbadb51722dca72b8058 +IV = ed69549670c790ef0c09b16740e31b9692689a01806be51b7afc2337ee19f2ee14a6946e10b76e3d7bb70a9fe93724561947f9ae17a08fa10322bdc4049c5a9879385f6c18c82ab689356a236fa59a38abe276ea3a97add119960e450074e622b383524205eb2174c29e53cf697e2b5bd5de2fd3f1b31ba09e4cf7e33e6ce701 +PT = 96f414d0d4ad21ed726363755306e1d6 +AAD = 95145679e9aab3bc1918a1e1b19cc7a72922d77c31c8cdb875ff68f8328411dd55dc6a4a2997a37cfc626a991edc898a +CT = e425dbcd469fcd8c2d966dba5fa38514 +Tag = 0dea562c + +Count = 13 +Key = 2b8ca73511287230e09786e576a4fd2a +IV = 41cbdc74310f3c71a477e2a997a1b9455ea67728036c109ca4558dd882977c17630010b62ef93bd8613d09e16a48ed5b36ac855ae507146844a54042e60e67d72483355101c2f32b348a1ecaf4af8e3cd6f600b52286dac7c07f36c9bcfb1085ad477c6a14904afcd53a3d2bd02308cf8760030ce6c99c8d4a66bbf037d58c38 +PT = 64b7c7ed72793be1a613ef30f55d809d +AAD = 2b3d2161f943d7276a178a2bc38c395acec7166771a391ed0a7f7dd1eba8a32519932ae70bd4663ea80f50ac5e263aa3 +CT = 791fd20ef10369e3343cde5cbf8eba25 +Tag = b0925a3f + +Count = 14 +Key = 1463d67d28259e154f358cda9026b894 +IV = 9e63fd17e37075c21a1ed0fa4712e3d6fb36e85722abffb4153de47712885aa4fe9e5bea1aa2bb49d469e70841be5974d5c644e000a00dcefd3db52d0dd53a44bb66e57ee0a44d888624dbc2c4fe1b2a03da14ad5d1a230f0803385681d7c767ed09167e480251a63ae4e74d9d23488ca09eb553853495419d0cc51dd8dd5239 +PT = c856277cd853dd5a9af2880080c0debd +AAD = 1b80624c423f20e31a6ab14ef83f00afde9cc37987454822f54110e6493898bebea13135aa144685b7cf1a83cdfa1509 +CT = d3546f332b6d0938f2bac5dc9d98523a +Tag = 586ad28c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 826d70b7e43d170e46577c12329c30f7 +IV = 4d7199fd548b1f84a223db8b58ee08285f13a470bf4365d2fdcc561667804236bd8019febfffe6b82866f6075c67ecaa11f6f1c8b15a7e3926b8a1dd23fe1af90b17c920dc08cf4b7524a48de53a01aa6f865a042bdfb304c2fc8d201d300184a3ad7e74311d45ac7d0f20a9453c658eff9b3e198263011a67cba5bfdb750e8f +PT = 555259676e676ad6e930d59ec435a60d +AAD = 19b24f6637acb67c072a6c1033c55dc15f0425b310a279f4ab7ca9962d49291ebf8754b24004ce2f006b2123697694c07f0318eaadf13c7610fda5db9694f4313fb5f5e74eaf29696fab4dfa3917c89e225de5cd64a6fd556478 +CT = 2431447ec4127b056bf8fc95fa0e3899 +Tag = b305a02a48109e50f22cc4c280669a30 + +Count = 1 +Key = 772c1a891b75e1fa855f25276787168a +IV = cdd8e8f6aa5da419c17e9b8d2f6652c17de46fc2d905efc39e50e8520bf2717ae31220583164976621a7243e5587091e1ae97bf3f253b24176866ef8c33383264ee12b4d08aaad07128db1c64de049e8a47aff2b6f6cd2cb4f94b373b5148a4811533da247dad9ea214d2e110783aa340139768145e63293746cde5e6b7b4bc9 +PT = e9f4bc89ce408eeecf8370dc292719e6 +AAD = ad328a31f87d2010eb0b231dc412f6a7e4144867d1c62277eec410b27f842b76bed8e48e5d5515438cb345a028fea53c1e49ea8b71d7ed38582328e8e4bfbc02f5aafb3b20dec6debf20da704235cbb82c6e8c24ebdbe8a9b657 +CT = fef33a7f1550f5be65625e461a1ad42f +Tag = eab9b8b152b195870a9c216378bc2071 + +Count = 2 +Key = 19e73d61afc24d54c7fc7b0ae105a8ca +IV = 6dca21dadc1cca8e0fcc0f002cff11a232db623db1d8d0135a32d6b78dac34b8a9ca1c413e1aab499d75b8488561c3551f5b4be19ba01e6f8a242aacb0abf5e6538c4936764fbf7364d6eb00a9692e3db02a282649735a7bd582ca49253393d8839223e0a977cddb07f644c83ef41a1516815107c6d1143545a150039cdf19f7 +PT = 4c8b2bd92ec23cbd1e99f0801ea45309 +AAD = 668d1102ad995760fe9b484b3707066a069e2bb8c2c00bd7aa3e7d604410ca0a3d78dab808068d9fc835dc0f99d8537c14681f03bb12c9c5b55338236a7def432c12fe26fca88c4fbc093afa0104bfd4719a612d7e87f70a039e +CT = bcfc8b75531f64a7445b7e00634c8fed +Tag = 836cdc33ef5c4d184c26f9f49d6fc4d7 + +Count = 3 +Key = 24d459e6b6a384d238de7d7f75fe9d08 +IV = 32bb296ad6765d370f4ea5a71899d59c906afb291e6e07d056777a90b358c7162d05663dc45b32b1019b5431df9e43dad23ac7e700dd1899d506d71a3c76439ff7cf9cb2f76d01266c3efc489c7cc46da9ac998987bf9b17bd91a8eef7103e24dc768875734504fba567f22666e2ddfe7c8007dbac8c9aa4c7d11266a2290494 +PT = 7ea694d8bb743266ceb889ae5d20f07d +AAD = 7381a95942c2d50b4bb084b888c3efa6dd497f3c0d42059e521eb506d2772bb533263264d1635b1528da013a8a4387108bf544a40e02faca21567d75890fb7f71a3ac93252c0d57ce5c2d6f8cab2258ae81bdda4aaa6c77f02c7 +CT = 57d55df9006b484b02295547c5048279 +Tag = 077099da5fdd7d44ba82da217f1aad31 + +Count = 4 +Key = e4ffeaed95a9ef858dc97a95f74668dc +IV = d49827c5e3654b321dc7570597b4ba35f4e02da72a8b66e3f92deca8051e44c76ffc9ae3ff8449b1d8906ed4240edd53a6e0ddc70ff5c2538cbe4e885407af4dff0ecd9f490f0fd538677aeb3a7724357bd4fb7e8b0b44bfb858d587b9ec8eb451b21766b4e6d411d15ac33a06a9de8cc385274d9c9585dac8dda87fb9951b9e +PT = f2187c4c3cc5a0c52293bf56b7bc2ba7 +AAD = a0efe5ebef80e19303bafa628cb10641671145cc157fefd98b7e045d903d2367988a31d070e5c8bb8ecaaee1521af7fc4f7aab0ce4d8d7684ddf43037066e8afa7058ebd423dd202c057809a2e62275f6193e15eabb7bcdec042 +CT = d98d5a6fa189801b77b36a0f7d90a2c8 +Tag = 7b1b26d668b2f6e6b01be03d945c805b + +Count = 5 +Key = c3e9999555399af5515ba53412644916 +IV = 8e71701dc0992c099af8503b1a1417e72429d5f74b6e1dfd38b7bb6bc583f256ff76ea3a47e61beb2cdb24dd90b7de08340d049614ac7c96284cdfe781343abec8bcef483acba538ce82b074008d0480a40a074a9f6c1af03c91676cde2191cf2cec5c556793e816ad2b896780cb7b04d15ae58ce1b19500b1f64fd97794dcee +PT = 3ba0948393f88845a9334e96db8c0351 +AAD = 2c59f6a51e6b905558d0cba1af4f58741fdbd9483f306d22b44dac9e4b9aa0f7dde6f52b54d69e0d77962b131f8baf85e759d106e4c294db4dd078ec5b001afbfea209b6c9b41d160ecf20a5314e7fd5381959ae4c8869e88667 +CT = f1f00ea8eb50d7f1f6fa595ec4a07a6b +Tag = 5e576d2a7d17aee3ec23a9703ae65287 + +Count = 6 +Key = bf3ef93c8b1b7e0183399c7ffe9de3a3 +IV = cc5d919714051ef00ee7be92ad14bb40a447bca3e9313e3a3508af9078a2ff13517d36fc8ebb8d12ba09c31ad96eb57bba141bd2c3ea1aa77e88fa9752ba0e1fdde5643cb6dc508c98ae9bce567de870744552308a827d76c96d56a4948ac78575529a2ac91fef6a9b9c204544eb331b3996da19acaac9e67e92f8b9e5e8082b +PT = 00c7068b884e1b5b92fa586ab8055f12 +AAD = a1c43e48f38fc3a54053e4dd6d35a68929ac959fe844e4b7d5f90a5b4a65036fd445c5effeed93678c046875b6e904c144faa238c482466a5d9d27abdd033d19859a880b33145d2c291d6d724eac02a845c11179a0acc07c3369 +CT = 2d70a23f2b1959e36c6272e8c93f657d +Tag = 2c63129773842111b4cf61c6de00c364 + +Count = 7 +Key = e06903d08dadf3a48338dfea872e50cd +IV = de949abb2ce25fb1fda463c0de56211ce9adff3030edb9b2edd6af20b0a69c6a1dda0dac6968e7116ad71896541445a689e532213853aeb5094028b52cddbf355e364f98b4688d63b100cca9193e277dae86ba507c42376e0d1645c8925ac8480a6bac35a25a10c03aadc77a7c1c34e881fea396165477b0dfb3ead77214f461 +PT = 1de9c0e5920593ab4c212b1f28efd92d +AAD = e1ad95300c866be2fd25f219059fb89b88e4d39c71d4a9866c9c7e5d7c3b13a5e0c968b9af2991071ced63719b2830ad4e8839b6955dd7a29a74781a1cfca48da3eca401d7dd22b87cef0aa4dbaf4dcf5c2387a9651fc5418e11 +CT = a468497d8f73298d351072f80588bf7c +Tag = 8ae9b51f39befe7d1fd02392a6ca4b76 + +Count = 8 +Key = b0dc7ede51cfc74a81a5611cc81338e8 +IV = 7d30f68778fb9e47beeb9a70af0cb87fc2ae09d044200dbd47db254ac6115e707b38fa03195575b4f4e5b9294c3fdee69427e461f806c1eb301343e17070decac7492c78915d4b450418303e5194c61ceaa26c9318faaf6090922152c82949ba5823024a710e32810bf5c092d2c6bcbf55800945c1fe7bba3b26e3ba2b7f847a +PT = 8793004b8523966396c3c5e8af0f0261 +AAD = b469c9430f975bd4ed0e305e00f56840440485f4ee01f0f7381b36bf111e9615f45025299a3535abcac87af2bbe9bbb74430dac032d10df0cad42df6a88764f48f1e791a9ced3b1d5ed097a172fa8ac6cc02e4fa2d957ef252a8 +CT = 243ae94667a85ddc2f07122509d006b5 +Tag = d85dc251fde27d792ba10f2d6242d4c3 + +Count = 9 +Key = eba3b2a97a08a578516551c78ec5e4d8 +IV = 6e4afaeb98923bceef1c745acd3ee17baff51b4d50f1ea4030a3c9e59fdc17fae5def607acbf78dffcb2f3243f723f84db77b795574833b4dd37c7b83241ef2837c11598369e633628cd2fce4b8deef7b6a9b18fa634b15022c55acd517bab6c1dabe596470005f8bf667aaf4a816433844c153bd8dd10f149e5fc0be57a4b5c +PT = 25bc1042cd1072cb65215bf6ff6c3c89 +AAD = 06f0ccab1ed91e9f5cd843f65f53ee3f5593f72abc6e8d9a600312c46edb7bb0fe3874a7ce9800d6a1ef1fa1bfca40599e07b1b1c68a1d7a263e83c51f461bd321d5f1c3626b77969e84245a99b669ab0066b5f219fb776c58ac +CT = 64fdaab2ddf219791eaa50fe3063f354 +Tag = 139be070c65e869ef8912880fe726794 + +Count = 10 +Key = 784c6409fc5eab0e82430cb92a6fe3bb +IV = 62ba2f72cec1d638889a4f30f81fc365b4550990aa6ec41d48bce7c477a3c31a918a75af88f4a990117b28f9afa1a09f5ef925017a20e60accda0e79677199f43796aa73f497620cfe9fe17a1f1eed7eda53cc8d6c37b46ba8700825c68c184fe77ef1e38e2cb695504e854e9e1d2ebd276f95ad02a5904cae48035cab92dbd2 +PT = ddc0d20c70032cbf8a98b47377c6a1bf +AAD = 80b92f9dbcec80cfaf76d9530f3660eb00e4906ff341d92b9f8682dd948ca4b2bb87083747a66bf600fd66481345f1a56e438d0630fed5ba58ae201172df57a7674c543612ec0d58f35eff9b2856566de1a2eaf7e3b9679d188d +CT = 73efe97442fcf31d119c1eb847ba0f8f +Tag = 96d822374c0652f90558cfc4586a2526 + +Count = 11 +Key = c62acce0a01d46f9c40d13eda094743d +IV = dc60e9b4e808790ed482e6f7883de35547c4c99544e7b6093003d84d7e5beece3a1dbb8907adc6cffe33acf7fb8b8e89c2e5f664af99c9a7d042b862c698497464ca20209b919d1fcd93e377168c38a1624c5c3aa6ee94b1248b7f87e74b8930c79db433f2ac491a93820454298e3707e8173758fbb3005e0c8b646761fbd490 +PT = 9101404fbbb4dcfcd616dfa670b119b6 +AAD = d50ce010fb6cf9b1c0a6fa1936f3e01bfb8fef5e23492b715e10df6e90439e1977e2872013efb4f6f13abf63d10fff0f3de7e069c0148d90109d6cd9b4be5ac46196931955d8b9051958b733612a85309385d09883817043acd8 +CT = 34d9e363dde97537ff61ddeb611c23ab +Tag = 7a97e7306e2c9247db5210f545c5b6fe + +Count = 12 +Key = 31075fdf470985635b385a97af878d8d +IV = 4487989e3ed267bda1b0bd1be8d33f51142ddb291a348f01e7a917f27704558c6c0d874f701e96b500327e4e06cc400e57fb90c9d92e026691983c6aa58bb8667710169bec3dafdd835131502305da39710e3300701930a6dfd30fa2351e58720d709b683e8350716b6b0f96ea41a7521b69cbe65f452e51fc27c22409c9a1ae +PT = fff37ecbd564b9eb581f25dfff7ee41a +AAD = 0c44ebdcfe9fb6b8d316dea8680bf07ea5ffc228db0a196c8872678cb29795ade9504578d7eeb6af5854b2b90b8b1800699af1f220f949aa9ffd620a948dc767d0a2637825c62b5ca8afbefaee7ee41ca83f761eb221b4101ea9 +CT = 772737a39e1bd0060feca360d6b268f7 +Tag = f279de5a3a307bbb62c0a525a082ffa3 + +Count = 13 +Key = 3b72c36d119d57e044ba3d0b3318f327 +IV = 83bccc417ffca80e4a5c80a458defa7705d9743d88d2e9cb94562d2802156564a8919ce2a0d607ec50ec80135cd54ae11fe1c28a86925828967de669de6843bdfacb5e3dac1ec2fee172916f65b4121628c9b70f38f45b8c7e1fe223b70a5672f73c42de342f54e99461c099fa9cbc77a748b742eca5939eefe395d1fd32df84 +PT = 61febc305f0561ed051cf7a497c3c217 +AAD = 91b7fc19306e4c4ba18dc564361603197a0e3a51fff6c938732fd7840d03aa0dbd3ab15c29f3a7f374061f3e5aa1739260d5a527f66acd603cfb6bc6552dac0874f482d53ac5e8b125fa6d76e8ad6273ec571fc8a0cd2a43f37c +CT = 674404a88283d9c4f3baf94755ee37dc +Tag = f21f73c63a9f9a8a7aabfc1ccbcaf847 + +Count = 14 +Key = 66bbadef259666cb3800267d52ce9070 +IV = c26a06675350e411359ba64a3de998885fe9e856e15f3d64cfb038f62287dd4d2f95fb9e968a6ea375ee9b8472861c9a958b9df74c13520c478bc74ce821efda7ea11b9a1cd4f1a74fc9c7c3613db80e989977612892d862f75519ea8bc6441f01c598ac98639bc4d1b09d11bf40c92e0dabfba4008e067e525840478456ebc4 +PT = 8cfbc3c949d75f62e369dd88e6e33eb0 +AAD = c27ca115cdcf014a0633fb2e7646b6ba84181f001fd94c2b8342d79d53d1049802eef973f5c40c0aafca8564fa820a7caa128792d20add75ee9b5c458e286d53c21fc6c129c21d9f51bbe8c2aa4374c4abeb9bba7290bdee60e7 +CT = be09fb3a97ae42c1172aaad7ac6b53ad +Tag = 3facf16628d406423dc879e948cad068 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = d030ca1d9edc15ab44edde4be3b04a67 +IV = 1efef77932415da1ffc480a48462026850517f20a1af6ebc5c8ec035267bec7ca01c21aa80ee45c91fbe33b9231f9b08947b5ae66f52277b2d94543f5b8dccb86ddc307ae1181a9d33a18e6e358a47593f17de194be3ee32e7f59a17493ed8b3a6a73bb9837013912eae0ac4f05cf2fbb05afcd257a18923b5dfc15d51cccb47 +PT = 54b70959aff29d5464feadf0c89abec4 +AAD = 3b5edefc74df2bce01c5ee50d2828c770c2cce1e88182ba103a5b29356fca3ddd59f3621df6ae580eee59cb03cac6853d4f282776d5b7977e206eeb9ca9e51cc9065c06c32419e294091dde2e707c60d0b4920b16991c6238234 +CT = 334355fe65e4e2cd889dcef79e549793 +Tag = 3b95f21ce13b7e4bed3d48c572eec8 + +Count = 1 +Key = eadf54223ce8d5353a66f4c0f94c86b4 +IV = 58dbebbc749301676a2f5fbe530414b9482cc0e997337a3eb883bde0503d12cba935b3f95a30a06d1eede39fd4d33041f1371120fda664a95d2a790901e7b740339758db76ad0a4292825a7461df4e4c74112feeb18a8420e53b36838cbfdf6cb764198f7edbb22deeafec19dd419e8ebb6cbdbcc79bcec62b41a13a23ca2f85 +PT = d2796b92084f6f922d67c6f82977289a +AAD = 8ef9bcb4d6f2102e6f50f1ddcc4353a5b9868c1ff450927b8cf99e7c1d50bd8b36214a71d7103c0fb21cfac4763840e7fe2ff425bfc57a4f533ec794f3bb3b209af17936493d86837e2e2e18a7ec567178674b990b7e0b225d4d +CT = 11a1b5c8aafa4dfd0c5db1a990e82087 +Tag = 3d76ec66ac97f223fa24ba1b889444 + +Count = 2 +Key = 36b0cfafc30a7d7d214d2f2e598e394c +IV = 25be47c5b1ea54fdf7c168f0f20bd8a9de03ef899b2d9fe10edc75259c146b686a5d4e91bc74662e1fda395c18deb11fca6949d553c97d2c2d7576a6a27b4caae8da5171c1ebdc82ddd473cb72228ac2f6e759e4b0647998a4b961c4eab8e07cfff428836e4b3ca8226b04fdad5a1d3f2eba9aad596e2de99c060834aa8c5e3e +PT = 4bd812b8883ad0a2dc556f350fd08923 +AAD = 30233e75dda62dab4d3ad8c6ec6427c42aa74142f705294bc9517935fa6dd155f0def91097e00da46ae0ad426ecba74c5b87a08473ebc6d38aff5c7d7d62adf85c6f27ff6898b5b2342af139dd0b9a666729905a617928df628d +CT = ab0ddd8bdc5a09f9f432166cbca0d48f +Tag = 0c141275f6eb866db228cb1abfa7fd + +Count = 3 +Key = bba57d7dd23952f26f4c56cb29572c68 +IV = f42198f91b06e78c5352cf9fd5e805abf6ec5e7fa6defbc0cf9acbc8d63dea47e3c603749fcd51e0cf52a7a1ed9f4f6386701a12e82f331a3c3ab0bb6808bf1afde2f9cb75401de4a2a5bdc59be849ffb3b75efed0ca04972f380076ec5bebbd10f3dcef8fa098370d48060344caf58917817228501181ccb7246177cabd9a84 +PT = 27d06e99a0569924cf68186b7b785b02 +AAD = a6a4358b3087d8de27b07545b54fe2ececcd4998cc272f07d1685f8765f1f582f999278799b6365cd1eb08d994b2839d90525339ad4fe683e6a4191fdf5b48c5bafa207cbdd47f8edd15aeb5138eadcfe7a1ce2ad7f68688a211 +CT = 176421e310911ee11ee3995e3decdf8d +Tag = 472012a5a9278d9f4df417ed8875c4 + +Count = 4 +Key = 646456434a61872fb7a4a5455b7fbec2 +IV = 0b6451bcffe793436a298c67d4e40fd43bf9d7978e93142bdd47c426bcca15912490560f62543afdd19a32deeba4862740d0961b9f9b1eeedc1cd542d8031915229d96e870cb8dcefa6a263657263303b3a480df177b1bef52fc5c87d148fcac81118ec50317a4e727d3c94a35d46a675af7b84bfb72d3fa0cf61c7c93f8f70d +PT = 2af9bad5f0b2f0de5f0aa3ff7d9e9a20 +AAD = 8b4eeb8515fb93f55180b37aeaed7900565e6489a8ed2fb47eddf74e4eaa55bfcf9ef897cb48e26f89091bd098e3db144690c6fe9d7eadc90bbb6fd0cde9aad415977c9b5f47277bbbc2c67bc80795e2c85d5296375e0bafcc45 +CT = 1fbca087d4d34980ce93d9111d6d48c6 +Tag = a277afa191cd052b93dd9ec3724aab + +Count = 5 +Key = c6dc02af259e35e0f26283c937063102 +IV = d81afa8defa0dd14ca4ed1e4f08fba1ab68d50edff24eefa9e739fc304c38e7f54fca79609ef687c2c2f8a503e156fba30e2d7c0b60b708511351dbfbaec94b5d68d8181a76fbfe88846208cf11f9ac58666225c12ed0e87d8eaeded7381302f04964ac75cabba1dd530bf89b2353a33c574f2fc3c7f81e279e15fa3ec11eb09 +PT = fcd14d42421814b5051379c2b437fb4d +AAD = aab436587897a7c8877393cfa91a140b767c878feb69b7d9a1cc42d6675575b5065f597f4526e16f2bb12e39763071a5328d57f6651bed539d70fe2277c06d7f316576002a71fc2d99942a1ea5631f1953ba150a18ddd6312c78 +CT = 1797e818ee9307087814a19822464595 +Tag = 5d8e30098bda4639d941101c7b6268 + +Count = 6 +Key = d20606cdc99b92f1f63630e88df0f922 +IV = d33265fac08de1b7a4bd35852fa312e5251da70d703b2bf080c61fb33bfbb1a088cea65e1ff1811edeb143b74383084d7d9e28cbeedb7dbf47f937d9c16d6a8974b683f5acd4ebca8f0413ed09a943ae5eba13b2ee529523c52af78ba50e3380cd316f3dc44bb8d52ac0e21974e98d2ec4bcff995b529dfa755fe64ca1e30afa +PT = a0403156353a62a2e707ebef36f04516 +AAD = b46abfd3d64486a4399d76342ea709afffb16709360a7bd9eea438944520b277fe8b1bccc4a15f7af6b561b4fca7d2683a665678f86f914c46dcc2c428cf2b098843c8b960742d00dfdbc4829f55e1345a2eb8d595bd2c9f3443 +CT = 99b1bc6aefa694b9566d7832d0561265 +Tag = 493701dd0031cf5318c93e1aa001dc + +Count = 7 +Key = f354e3d623507f5805dec3f44b473dc9 +IV = 895918171b002470b80beb09ec99ca9992a7ac7887896cc7ef3d0982e3274a7c004b1e47dbcfd42e717b5471ffdb23fa24926c0f608b2b48d5d6d376491eb02d1056673eda9a1a5b1fc65ac58963221e059d22fcde21862695d06d7bb21ff04d86266b2163643df2574194d2ebaceb8ab94caf9987d10b30e5fb8fdf45312ce8 +PT = 72f3cb095161d0fcfbd864a200a6981a +AAD = 63b33de6e6a449d634d60d0cf23c760c919483210e051577846f5f308af1610c1042d9f22e847b8694ce287e4e85810d4b76dcd9d37045175d293b2013fb6440a4d628c3f1f5d363ead0d113022d069944d82972535b8fc39fd0 +CT = 54cde1075657c646148f3a34a650af2f +Tag = 07e922117c196a1d52d0b57ba4642d + +Count = 8 +Key = e85283ce6570bff755a89e9ddb77e27b +IV = 3d8f163b94d4e06600bbdb2c639614b2265eb0b35469c83da997b856d229789f160e055f488e06c74bc9835525a93a601a7f4820ec25e23331576be7e7c01c20a1f954b31a647e87e1c06e71efb36af2c81cd8b9eafe963a819606d670c40c5dbbac5439da5fc7c79fd070e2eed2752285737b2c6998092570dd4bf9d785be35 +PT = 6854e1834610393488d7fc1fa9f47d72 +AAD = 026e38377f5df307eca25b50f6031797734b23e99b41062b6b2989929c5a5a3e7e7977a098a0f9d319c89db096342129b4a1fadc0f7a01b94b90efeae5fc2e50ee817175d3d353880f9d1482847a5f3918bc695b0f6ea5b587f8 +CT = 136cdd7e36f64e8a787588765aa9ca50 +Tag = 1156b202b62a575f74e801c8395ea2 + +Count = 9 +Key = bf4fe9cbe447d075783e67ff0f0566f6 +IV = a1e5a636b9274a89f29f1881add2c61f1bcf18942e00d2cae37a96d7bef0c909c193bdf3e221c44b77bf86c7da67dfb7055b53e4064ebc5e6371c388e56191c6a3cd70e2b7a8cc91c5aa08b611452cb9947af6605421c3000c7cf1e49bdcee791c65d6b13438aa46df0339a7bda6f7e303547c31cb2a48bb314c769442194f1d +PT = 72a4335a576c6844013990f4da34f00a +AAD = 71672500d3f849bb607a2bea829ee36e3bb157f9a39a7f6168b595e2ac31f49c5ab7b2980c1ed6c85db8929d45eb3e2f6f157c06275329547701a156fd0fc005474d12b615c3c6cd78f6f7bfe434d0bc25c92e468f06765dea1f +CT = cfc2ec5916d18f16cb94c3f1a94affab +Tag = ca8d87bb773e3246ec087e49e9d164 + +Count = 10 +Key = ed990d8e9fe159077578cdf6c4635c6d +IV = 0f5d9cf2500455cfcea364a923acf47cd024ed60a8fa31b8b7832daa7ee2388c8ab5bb8421d836cdfb14577377dc85bad1d816fb4b0b15cf14fb77b3be835f0aa649c5356898c0afa742e1fc4bc7040f21ab6d456d8d13b7d8e588f92a3788ae5c839f77aac9b3730b29eef4725fd9e99a857d6025424890bcb2a301d11d1e57 +PT = d994982a43a65e4c7b3711d001c3aa7c +AAD = 67dd164d4beda585b90d945b9914803ba499e97c33510079b5d9a3a703cd4a67a5e4989c868736947073f6475c93b5ade3c2c4ed23e59726c4b77c7074c1cc6c08576214dcf1b403027796e41c5240a4f73788dbb54bcd8f8786 +CT = 65a54b74b99159d86f8f2e13b65afccc +Tag = 3e1f5fd686ef3a2eb2cba2780ea834 + +Count = 11 +Key = e60ce4a9677f003af51dcb3a5239a7d6 +IV = 092c61eba363e3b421221547f8178a00e376c98c6892d0c1149fc9519bfdbb94905bb9a599c381852588ea9da4a1bf585b88c43dde8557eb482deb9e8412a3f99dfc78a12e6fa1a32e528047a154e486bd12d7e90edd5f425262353b65227d307485f7687317ad2461ad5dd036372319d26e37cef676a4c0553e54cca68d5df6 +PT = d2b94e269dc6d613d8a37d1f392da762 +AAD = fa9302581afac9e8423ea8b86768b7e8e32721c8fc85027c7f17dee6275f3dc63238c16d509983da1dccf70ccd78fe7e23fcc93b418f4abf1d3b56a47301baa9944ca11e0caabb2ff8fc4201d151cb7bcc92f439d80e1d60800d +CT = ca3794f58a4b316e53b7ae6fe49b7b9a +Tag = 94e26b54a2dc918afb1f56eaaf3c3f + +Count = 12 +Key = c65753952c8e087c36f4656db63bc2c8 +IV = 99ffc1e2621b1bb3e8ecce40606c3a2a15d31f73406650c827d127f181a54cf8c0bfc385e724a81cc1e141b5abf79547a49afdeb105e8c7f265357b611f90ce64aab8b4d83391e97660534174961b172b85614535dd1485b60670719cf3b0ec188ad6a90259a2296dce3984432ff79389b76bba14e803ccfe80b9076ee4b46c7 +PT = 5f90d6adf15abaedf032cd0c5e161813 +AAD = 5a6e346e7aa09876a27a96f3d7b522f1d23fc1ac525089e69e8e52f95da3853b658fde11302b1481882a5d1a0f650dcf89ac6ce29e68190341d07e4c2f25d4bd24f9460c2c5800d5d10e78a8d3eb87d53206f46e6911102de66d +CT = a2dc07909ca8b33ccfa9837e3c82a614 +Tag = 31d91e4ae8f971501c1ad59b117ee1 + +Count = 13 +Key = 89be7f5d2d76ddea0aee32f21fdadd73 +IV = a362d362f2f659172c5864fb88b4bcc958dfa88402042c2091f1cb9b00739b959ec21fae2e8338db964bcc9637fd24aba77155dc3255a168c840cb69025590faed776703fa127319360f22d2ec0ca4e473d27775628f20eecdf9934cfebc64d20c8c29e68c55547fe65384ef63057f477b22655ab780fd0e7930cc74773412c7 +PT = edcae3010b2f3711b274ce37e20efdae +AAD = 8c71bdde1581e379a353dd6bb551167d1ce600d123210884c68c589c7b8220d9ea8f16e3b4ddebb7ce98b2c40c2d4547839f93e9723baada6e33b5252ce64ee15d294cb5aefebe26e016f65411247539d66383df641472731cb3 +CT = 48445a298d66564066f2f6c05d34241c +Tag = f1bbd374531bb393fe1f8f0f38d0e5 + +Count = 14 +Key = 74f277d18041bd6cb5abf2542cfab19c +IV = 8d1da78b54540026c3387a4367b68d956ee6976c78015a361a6a353ecae9651709dc2b20dac75f2fa1ac61245f308b2959ee52625a0852695d6d8cb290c3b3663cb5ec0a1a514349ad0cfc222501467abddd809c3382a7a014b2015622c4d9af206d8183ef420dc17b805fee88a777a9ec93ff5e478bd5c5bdc0ef26a508ad2f +PT = acefb67d77863af3c97abf3946a82815 +AAD = eff4c1eecacae77e8bc71d6ad11e4b7d1c112c2fc1b5252f8e0742f9f0a335535262d504b6545dc865dd897f4f5f482789e0bc1a7c3b3a90d6dbe04bbcd0463dda6dc89fa1e0b8e49a5f861b3f190c9b0ac2b80f5ad5451fa04d +CT = ef3f77381050acafac76559a102b5cde +Tag = f0d3149246f7ef458e13d9a6e48709 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = a4d105451a0008d591a459283e47e3be +IV = f46090a474ba3ad4e5e3ef291f36fafd7ec23b53bb75466a4878f4cc5871a9e2293470a610f148f498a5925380a36dc8d60f5c6d5469e0087a5d11028f5f53dd965f25500bed62ebf5d91616c73ac2391815da00ba140605b5ea06c04fa10482eabe4e684c02c443b6a32fa9f49151119df5689f252ceb973909443e42aff7e9 +PT = bf5508f21c3453cae5515bc29c2c9e42 +AAD = 68abc4ea9e18964675e7d75d123811ba9bb11284c98aef930ee33ddf40ab19832d4970ef620a66f9e9619998ec06635e27190a4b6e7b741db24faa70934e519a5711e83df6aae460f0cb17e5e4d4f30e9b031da846ae74eca0ee +CT = 6148fadb7514c8ea295a41f5159f2368 +Tag = 7d2c08e355b0f5c84beb66d9d0fd + +Count = 1 +Key = 2d20d2688dc7bd4afe2a348499dd09fe +IV = d835892630475bb7a4ef2e4585aba01b3ae4604f820a0acac7bcb346a21106fa687941584175ff3f8363ca3e88dbc0167095fabeadd3e2997febe8cccdd624e04d7655b6838a6fc2207d47bccb846d8d52d15187f484c52a484a4899e4a68f19dad9542eba280115e13ea109a952f87604769f46637ea036d58724c2787ec13c +PT = 88557de39bd3d287d9254dcc22a11ade +AAD = 9f8e1d43be2a3d48e887e4add00e0e2e78c537a7e19ed50e48eb9ad9fba7f751dcf513cb0a4d3d3b4ab18be595759b6eb29a2861ee3a2f00b591cafd38f376337b25025b44136af0925b774f64b338c0709e7850b8634aead670 +CT = a37f247455f69e48534859d29b81872e +Tag = 990f39071ea29c9e9595816c5506 + +Count = 2 +Key = ba5ab2fb60056c5296991277cb52b70f +IV = 9103a65041044c50ea029b440e6d0b7bd137b2bfbb03a56997d3da3cf45001550adfd7bb0c85a3284485207de529aaaf494c22c5517db5af961705f426233d51bf432912294d28fce1de33af7dfa9047e2a629ccc951b6352199aa1145c313a837ffa66cf247af8ef68f895fe949536d353a8b52e8efa85efe21c9332b3f2341 +PT = bc4f7142ef8ea55a4abf5d1b0f7597ae +AAD = 3e4a55212d92da2d376be9ba830a43cdc1193d2f54b9ec5c2e3b17ab6eccd6465d7d66b25fed7ec10adc7c230e60202f0c47eb82df1629ccda0c8f63fae2e5dea29832d0218aad5f0f93fa279e9962763911ca7ffadb5b6a2d9d +CT = f8feb2a1d55a692d9c28f1dd3ba39bbd +Tag = d83816e551794cc7abaf92579485 + +Count = 3 +Key = faf299dec80671c6dacba2bfe87bf63b +IV = 9f84a0456f8ccc1f99316e3dc057fc03b7bfa6f06e65e96896ad4227fe4b3a789f580589c4b36dbc37c10fd814d0d029bad9b4aeb8b5fe6f9d1782e7108e6aa031d2096066c88ab23010fc618b50625b1db125d76ff7011954e04de68e895887454d95c10faea66e0e816370afa5dbf266b8121edf440c63d6adba7cc6906310 +PT = a06f278bd5622600745017ac463d6992 +AAD = e20729da79ce081a28df34b2df4a8fd72de7f9b5141366d8371ced459a731f698612837e0105abc036ce95d9944c98660de4ba27a17fabacaefaf16fd68b23348b2436ada588036f5cf13c9d2d86be725ada379e6f0644555eaa +CT = 2196d8e834c2db6759005c7ded7ee914 +Tag = b55709bb4d3f95866af23f74b777 + +Count = 4 +Key = c25c9ce70320a7306b466fc1287b667b +IV = e6c409c7af95846eee541f7835df642303a041bd7f8bca7ce829764534af5d25d3bb603aec9a5200e2d81bf2bd0c31e79f51d14002686118b50c549c66ed2ac43cc6f500fda157bcc04fcb8f8ee2bc59c4ee59fcb4f3eb14eefa0bd62d70f56cd2784d5f8911750d2d270242a357f6a66aacfa1c3c2878d99e9c6af6a6ecf7e3 +PT = a7d3e3d86bbdfc13aa43810f19eefaaa +AAD = 5f8eaea53ebd81b2db94b5cf2b2b49cb3e492c23fb5adf01cc283e808e44948a6d46cc617f70fdb6214cda1dd13e12deb8e2b9690c22c02f68503e4007bfcea7a639fba5cf0bdc36668d6f70c8ac7d6653205b037be3b8a4baba +CT = 51aee1eb306b19a3e38906da0402eaf6 +Tag = 6ff21432b73c6ec80eb848d7f629 + +Count = 5 +Key = 720efc8aea7af7414275052f342201a8 +IV = 0104f04c9d3ec27216a9063856cc7a34ce686f3f9415e962a2026a79f16bf154bb6371ac721bac62c731b78293f0549a3376b51afd05e8a99bd6a5ef905b4a8f2e560459fe5ac8cb76022db12d1c8a6d2749a7d70a197e600cfbfbacc0cb23ffa39b1c361d05d98bde521c212a2d8b4ea15fa939dc0b6d89ee38109bd88ee73e +PT = 4435c5fe68eb8854e0f80c8422a8de76 +AAD = 6ad2941fd01c88aaa5d63ed2b55ae67dd3334e71bdac7a4e577d829982846c3fe899da29760b76eb5d320f5cf902bbf3ba29b29b32f757a4fcfc5ee87413c2ea2addb4c53f4bd1d5668f69838d34b2d3dae8b74ea17fdbdb11f4 +CT = 642d88517988bf4232e2a5ae2655b0a1 +Tag = 0d211e38f00fa3ca1aebb32ad99f + +Count = 6 +Key = 82270158405bf26120cac1abf814c761 +IV = d6a077f9384e18fbba2526dad444db06a11843d30d348e4227d19cfe562309750698f423c39b055bca3d4dff3dca9576a8442fd9a20dd504620bd8dfa3a948a6dcaa2c7dab33ffc57a41f7147b865faeb8a283d9716e75fbecc06aeec528df38fb5e1811aab39bdea5637f6726b0f801856105dead07afb912fc654bf0732ac8 +PT = 649891a9f796756cdc19c53058dec6c3 +AAD = 7351c4018d08ae52de1f6fff46d8bc5c5de1a60958f6e6a07890c708cf168c07b77ee77d29f3c5ce9e0923e8e33c883b24342be257d3cfc3838d0b03cb497a64498c89666fbf5aafd64d3c65f3279041328f1fe0084a20824670 +CT = 8963aefd1288958fd6d392811a55460e +Tag = eb047f2d5a43ad8f9f96815ce0b2 + +Count = 7 +Key = a6de278de89562f95c0a1dc396e28b3e +IV = 03f1a4f5cce77674d5fff8d326b7da1039f72ca6cbc7bad263ea40b95b20855fb7a59737ab4acf06d214dbadb2dd67eebe2d4ebe9d69f1f5adc17f2b1ffa6fd27dc567fc441ed8b440f09a1f1db6a64a9c7cce72a261af60caddecfe1810b3d4a427c8c96a2c44eb6ec08f9ae43ae0c9226aa2cc98bc2f550fb67092af4c0188 +PT = 7e783eea393626a34dc54da76c0cc3ab +AAD = 5bf91084b466ef47209e4a45c8eaeba6b2216ef31c2a581cedd9628e4434c4e19df410d6ce69fa59a09c7c75c9dc00e9968b3584e2b72552643b902cb12f5e35ec0d059e29d66e8ad4e14c719f3bf9c4417ceb86ebbe4b8a707c +CT = 641ea1cce45fedc3a595890bd2596f69 +Tag = efeec0c84ed906c1737f7d22079a + +Count = 8 +Key = 2d3155dc7f0dce66a1b8e9df61efe26c +IV = 149b5a3bcce105e51ceeb09a98d4e16af84a06193e51c46339c3d14c85d4bec7bb5f0978ccfa825bebf6f1295ac6d01584c9f7d5ddfd7a0c0ae0a8787a68c3e0a2070cf277195e29f6915613c8b994bd1ebe6036f0376eb1243f39e4f3dc255abca6a11b78a3c84cf3481b73704331ea295e4f3fa3e29ccf4cfffb1e4377dabb +PT = 2e6e2b6c8812b5320ffc3df1eab860dc +AAD = 27597cb3a09360796edfb3ad92a836d62ef037b6a5b5715e6006b37fac82456593647412635207bc8892e8eee7f5ed1422e5520845445385b655cabaa3fccfacefc22cc35186bb0a42befd7419f62ccf5b2be9e9ef937227a11c +CT = a054fe72af39110eeaf0a80a46b6f2fa +Tag = c5f4b66c9f46c2700c7d32261e7d + +Count = 9 +Key = cc17f366f5715aa55c168e532e20d6ac +IV = 8e0c31406a97f99cb19135a0e9a4f50de8494e78c18f3d642fbbc999c5cfe31f87bca3b57b8e922e585a57ac8ec158ca7020b88f03cc7fe16b54513cb27a7cd29d66a09c9b19393d00a71789385eaad3a5ab9afd4be0805e520b6da7d03d757ef1beab3fd770bf23716e57517f5fc3510d234408f10a9f20f66695b80c5f95bd +PT = 645a24f7720747a94d12dad72a8013b9 +AAD = ccf69f9ebbd609ccc69d8b159b62b6358a6044ea4d705ccb8039c25b974810c1a72907ab3e6bbc0d2d693bfa34af7c26d1b21f3f164b236ac728caefa7490ba4bfb0890990d95064691b05f398e13c71b95c166b9a52b00517db +CT = ff39d1411580ac0991a7ad0214480ce1 +Tag = 99a8121f2d57ed60f0221c5d31e7 + +Count = 10 +Key = 4f95566e477bc90c53659ff5bafe562b +IV = 3a13a7d7e2f4b8cd2d5811778043b5636b413e1f67f54be5beefc89624cf5f16f1a7d3176618fd7c7fa06dd6cd6ab0cf5cf4c7aca09717e179c67265486781fe0f971344c082d2794e5eb9664632deaa1ff4dde315a7a4b04a21d6a1d84de0379f179897ac33662f4c697e4d07181872b41f27e69223ac53f6b2b74cf6978aef +PT = 211491f3668cc4cdf8b0949b89445a1c +AAD = e6740ab5467ab666c7cc27f9ec3e95dc2da922701505e7e312ec9638899563801db75a4181a5675e30cd7b8263094e2fa994e3fe2bfff824c8db27e072cda48a9f641e2ce0ac54d4e410833c58091989e2370c417931bd90f206 +CT = c12c0465791e804fcee19f105c1fef56 +Tag = 8acf4b925dff7d8dd8dfdb57cde6 + +Count = 11 +Key = 605c68ff2a5718c99978ea9061b5516f +IV = 2a544264b4419b6aaa02055f4574d0a01e6f24da6a8f016dda27275ce38bea9307112bce0e54dfc808efb9fb7ddfab37289fc5d073de0714e450d33fcf54e969b6d5309f33bee0ac6f862f83ac2e65a90f716c816abdc8f81b00be49b17714ebaf36fc171dfdb704cd365b794c5afefb68851281e63e6d5d250145d4c60f59a1 +PT = 5b48ce3e3816758e0e87c05dc97bfefe +AAD = 74d2691dcea05d089b9f21ad1b9198a01e8f162d995c990e6e5d43ffe6ba34a32f5766aa20ae62a75c836cf117f4b601e44134531cf9d1dfa4a872eca620fa8af2c229607bff877014c5d0833ac77d2ad387f6da186417fa60d2 +CT = 8c5bedd968413ce939ca875a7c5df419 +Tag = 9f0706d074ec937d6dbcd8b19cdc + +Count = 12 +Key = 5c47f3e1dda536efd7c5a5339eca6fbf +IV = cf319c9189eb5bc78cf9976228976ea5dfb1b929e7fdb73cbc6ed95b142ee806f7e2b63895fac955509df1d387335cd6e0d71f71ed794ba64321175bc932a8004ac796c986159c63de45a02e07b601ef7a633172dbc04da1abfa8cb1ebd3bd69c8fa1bad9f4383882449fa47713f9d8cd12554656d497049bbb9d3c45d54215a +PT = 043183e2b0e52b8acaf147b4a4c399ba +AAD = ef0509caf26f9f3f313c2962182feb2e565ec253ced60821b7eb67738e83dbbdab2d3b1b0cff5d55e94726cf37a08b7bea12f5c0c406e4d528f9b3dc46668c70b08e742eae242a17a36b6d04f10d175703c2c0928bf8d525c97f +CT = ee79deeafdeb82d3e9a2f590cbf9cbb7 +Tag = 4306ec87c10884233b4955d819ff + +Count = 13 +Key = 925d66b4110aea5e7a53cdf1647efa4f +IV = e5a6ea354867b6c438bbfe2c143941dedae10657abf4274a90ae9d44ece4be8c192b68412626fda4e9cbfef02753decf2b7a6563cfb90103e27fea8036eec99bbc97e3fe23d8d68a9b1c55f48cfbec2f8c6cbfad02679929d99a9c57a3bae95770a1ce7387339eff6a180ac7c078484284c80f8a2c4a0d16c350d12548b4b92a +PT = d6060c538b156ed902b635bcf3e3c59b +AAD = 2bdae681727005651eba650691697ee96b83ca4782e5e17f7e2e0a2951b4a5236635c40be526cd2ad4950ccec8b7dbc5f2c3ff4fe45cb684e9a47055d4f7fca09fd605c646b28837039b8ad9639f124b22e61e5e4cbc8e1e7858 +CT = 4637a3ecc35f7927a439c28462d2243a +Tag = 8f93140874629544ade63158fe8b + +Count = 14 +Key = baa2ac3991370f5ddf6b1a09833a2cc4 +IV = 6f245043ac68450588a50247dad0b66a35feead3b3ed14da8c493d8728b8211987224358eed568e049535e5db30e7a91b7db1491e2d31f79a6521c4604814f0050326af2a288d89d1f06f5990fb867d0e1e9cf717ebf99c3628c98372cba82e71fe5a7b43c746ff3243b47cd06eef2253db97cf2382f591fdc23e140dca8ac9f +PT = e4301b39607010d2626df267615b821e +AAD = e5a55ddabbf7361864d6ea6943ddb33ab7bfb7dd6e27909250d1aa744b2569ee561ce45e03e40da967e35aeed1b4380db5542af109de877d112cd75b9eb2f4db4311a562db40bff021e37b672a651060412eb602cebc0f5dd57d +CT = 1e79cf1b080c360b1214a48ef4b7057f +Tag = 8bda5e5ebc48ba49972484b4d0a2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 678db3b419a5fdb09d242d106cdbfdd8 +IV = 8b75c466771b86dea8a0234b59c3f9d376e786210e945c751b9f7ac9354d4b69f4a28886d90ab2a077f586020f8c277d1b6d5256c98b17f84c55386207b69d4cd3d14e83bc22d74afbfcca470874eb42b9f1c6a7f8aa1c363033950497715ab693b1dbcaf77f00ad45802c2703741c2d9e6e18691bf92d2846bda1c4d57a31f0 +PT = 94caf00fa4cdba64c03f158fa25a64c7 +AAD = 62fa1be10369e196e409d079ce92d0214676af434308ce731c98ccaa081d4d460a785ccbedfa5e9048214f2a490d5d624950c2f876858de344bece62911848250402a5f854fce89c47397939c3ac82e35bd720c67aa8659f5463 +CT = b0f81cbcc75546c6cfc33a28867b2657 +Tag = c4806598817e31a0e33a967966 + +Count = 1 +Key = a455c052bdf13ba8ac3e6d5cd61e40f1 +IV = 300ee345c772b192199732392e1e787c385020bf8f3ee321a97528e4831a6683b6ae8716d744331308a3326b712a63d83c5bb6637ea9c7600152e9d2e78aadb38a2034c64a9eb3ab503e77d6cc466457858d636950d48960f64777373047f8d6613ec8b618a1de651706e8596f17e46316864004fea3860ce2a5b9ff50629e2b +PT = 0807652c3af150bef96cb1e53ab51e90 +AAD = 6e26781c6936303e83adf3754d0f51d76d36d74ed71d4c2eaf8b175105dc3a15df095b4b72b65880501955b79be18daa5a3b1744bc4983afadd91fb265da5994e2c570d490fec4731c25609cf2aa8d2390a7bc9d4966ac1dd0a5 +CT = a84ae08dac65bc982a2299b2b1b7ca48 +Tag = 4d787ce627d3be17dea25ff344 + +Count = 2 +Key = 68cd381940164ad0161809cafa4e3835 +IV = b8cd8c4b1ba320e9d4369d1cc02f8e7a5260da8099e09e425e1da0f7e6418d030497b348c47e24a67c9b339023a7fd331db49c4e135c052ab33c68e40d002619ba709b0041c9de30b14b0d784f041c2ce167146bd58498f64b62ae0383249a2922a4017fa8f80ac168207cc6c16cfddaed1766484ae8df5d44d3086883eb3408 +PT = 0510fe8a4898575e8cdb6afd24f4fe5b +AAD = a608450ab4b7567c2119c981551b6f375b8d68f3b57a402483730dfbf853c0b10c8eb06deac68ce2c03991f166e782caa98fc371720fac6ef08c99377ba81ae6f9f96d0897c06e40463eb225235b9863481b62c71c6a96d270c6 +CT = 316342ec174f8a839ec52328d7b430a4 +Tag = df23387de357590e97e507c8cb + +Count = 3 +Key = 698b3bf1380d343b67fa130b2f254c25 +IV = c528ebdb80bf014ceca07c821c2c5738e47bbf5116ce39770be5087213522121ef6bc0b715d7183d5f95c48d6a77836fe2da5e468a0c5d5e44d662f934fc08d135b7120cf4edff03dd2d0f29ff5bac621c25a175c7368013a7f63d070ba8483220a9b71787796e92aa1bf6a37527cc0243d911f40d3d8488763862d6be323365 +PT = 9b63e598621164010955d17b6d5ccffe +AAD = b69469b866ee16f4a0f7548638464c8a82c529383196876da97def8a9c5712d7c6c64537c311debd8a16c07a0f095551ed30b0913a03ee168369f76d7af594845ffe84418bf1fa3dc659a2140f15f1ea8706073ec10201378a37 +CT = 5e47ff37aa25a48e6fe0c70ab5ca4b6e +Tag = 9f90c2b5350d6d24885222c840 + +Count = 4 +Key = 87b0435842377a034cbc12a1a6f8035d +IV = 3b90c29fad655af777a4b53377b04b0cfa21d6dd5a5b35be62120c086de34b6529555cbb0c75b2ebda31e16ea6da056f792af2081b62b80fde6a6addf4c38d8376b2526d1cf8313d1caafcba92e48b05f3c6c3523a2244061765a9628afd54da5541a6c1d0d51fbae337ef9edefaadd580bfe71a6cc7919414af55c9b75f429a +PT = 3db765d4c8f17d2cdcb2caaa2b42e556 +AAD = 31bab4e0806b4908685a5197486069acee8d070f60a37b2d514d0a05e02c527a8c8f34462e2dfbc5ba95ca8c6eb40d8b0a8f28ee85a9e0f2ce2ef017cf6fe425574282b223db51c907abd60cfb3c69a5e083f1ec719adf865994 +CT = 9952bed4a4159eabd62940948be82d01 +Tag = 6338aef288ab418c7ef68ec877 + +Count = 5 +Key = 22918ae931e88b7f8f4b8f5be6d8a7b5 +IV = 28300da861b5b746efecae57a2c0a84e6bcf281dc0e48930364fa79a29c971c42888c048d7b0763b331d2e29d887086bc5056aaf344d9f4783e906f3239343a9df44f16e17181cfc1152c821c14db97a1dc40b2d5cbaaf79db4c6ecee7cf81ee823582d3f91339ac026ce8949f010fa7a4ec87d0e64ed73b32353cf52be7f078 +PT = c9ccba905143cf5756908532bb3ea8f1 +AAD = 658be10933d57371270ab3377fb10e3c5018ee5ff3d04a321b2c34b10ee204b036f7c14edae6215cfe6aa45a3717a912389ed2e9cc8687c8524d631fe0eef234efee2787fa36a47f1d8a374cbf4eeae9ac08c3475752d79448f2 +CT = a61487aab070d9de407c2d8342b69af7 +Tag = 006c04386b60a10d2389ec49d9 + +Count = 6 +Key = 682c4189853a26f6a99d505c6056c7dc +IV = 03baf9ed89ad0622d848db30ca9de8987af1cad48d71fb399c9c1be49fc012c320c01a7abae784ca74af9c6bbeb51d50ef458ba13d3c22100c863274fb385d05b47b09b63b76374949ba2a9a6821353731e77cd5da105e7c65054a05f19f9ec566f9e2e659aed8f3d056a036454d4c11bc93a0731291afb6e3c10c4f7e568f50 +PT = 8646a1cfff84c3d93d029c61e039e439 +AAD = c5f4d705f69c7a1f84e7e717b5e6dfca9c1d9a5799e3df72258e921802448a7747eaaa1004f0499afbe7a3d025eebf1dadd07cea373203fdaa7d78c7e050533784fb7df54b96d7ed1cb5aecd0bb9a3b120906d531d6bf87c1759 +CT = d1e00fe242e73695a86375cc2d164bac +Tag = ed9230de6d872b8db8fb292c8d + +Count = 7 +Key = 4ffa3d21e4534ca7fa9795b2d69f919e +IV = bbb9248b6b80994a9dedd79a5d99cca771cef405601e0ae547261d6f33014553d4e351faca3a7eeb28f8e1a8882b0ea63ba0b5f21c9a7dfe83b062e0e7c0dee1596fe627e605f3030c41bd411ddc5f0a9af40e074b5ea054277b986598674f8ac2747d89b1903cc27d15283c14ac31d502913d2e35bf08f13b3926ecd7b4d219 +PT = 011e283c37e9c351a7ccab87d8821453 +AAD = d25ed5078d5c8c23fe885dda89ee8738d446c26b5011d350d29b2ef3bc7f9ee08c5c18b08155dc508cb999da832b618d84530868575100a15fbe992c715e427e8c55f87c3ee11392777843c61ea205d5f211b5ac7e89192ef6ce +CT = ff489e0ca28303b6e90795fa88554252 +Tag = 49770e721d7dac92a0408e0683 + +Count = 8 +Key = e66970dd8acda66b441a347df1a615f3 +IV = 6cfd135ff92110d8685d45a84b420e8738c259c260c894bde2272c7dcdde1391d053afd382c168f6fd7939ca4e104d9e9758505ebf0a3ccabc78c2d06890d022a0e654c88d9482929d5a1a7e2c998bf37f5b957fb8c1f7e2c98dc83296557f2401402b6bdef0e6413ce2ab4e3bf1abc68fdf1479f637303bd4ab4a214071a477 +PT = d3c8d67cd7a6e655a97e11c86d4d2847 +AAD = cdcb5846a51f940a9316d4e9df37b6b1335568170635118489d7e37f940111659398c978ae745f305901049337eb3b999802ecdbed127eefec3074ce6afd64d022dc566ee83d831104f631ee047a3347788dc93ad9e4cfd31be7 +CT = 88bde60ec6fcbf23fdb81e41931092e9 +Tag = 705b2d206ff2cd1d68b1a37948 + +Count = 9 +Key = d82e4e5d314eceeba24aad1773c8acfc +IV = 4d8debe3b1e253e7201ed67cfd7029cca40b710e9a8ebe11fb3e185e6e1b9f34ebe01653694f38cee0331c8643fc6a0d58e5f8843e2516bb06e136c74886c6da74b6eb309b7ceff41c1c75e83a66705e129bac6fc26954f6da0be27a5672c2ff11c9fc0a2fc83dc03c14a6230ad3238ac4755fe6a81ed6245728076fc547aadb +PT = d093147b871b69e97b69ef7863f21b51 +AAD = e8528a05148fb20a2c0be130a24c97a5e4c7d8cba6efa20f675abf7a79fb6f09dcbbc6964c06fe41251226ac2f9199a8098a2b559e167db82ec39a8f3caf9915d37d9004af27f663c679028ab56ab7d9561c0a6ce1c650ce3fa9 +CT = 1b0aa7c9bcd74866ad005ab816255baf +Tag = ef1f77b2125fb54d65fb0f0141 + +Count = 10 +Key = ca8c51da8471832228726bca664f94b7 +IV = d9c06cea389fb24ab54533802e9cc8936d3eb6e738d7964930bd726b239b75363633cfe6d2fa3d24ac903b10347502c7f6a100b9f901fb1b49b9e610e15ca321905ab3a3baf9f41add18e7dd1836bcd26da0338ff8c41df1763091e0f7ac39375e0e55ce55ff011ca5ae682256baf6e88dc5482a12806921b135d14eccf5277c +PT = 1470f1009686fecf187a88d3cf552c1e +AAD = e5e8bdfb63b369dbf8eae8aa4fdc1f6485f34deef47541289af5badc323ae04adae8ab033491247b0aa66d44b566de35e91fc5de7983b400b1d62d6dc30f61c391bbf3a66516afe964a9a20986f82c423026b659800ccaa28427 +CT = 721b50c813d844f10d320db16d3df349 +Tag = 86fe90cec0d398383351c7ba76 + +Count = 11 +Key = 6b4b9af2dc8418ebc104641572547daa +IV = 87b20f40f93a21e4d110a6274131241beee988c9b4ceb9102fc97dc2f8393ae59adbfa53f1fa11bd998b12245dc7e48421c8a259766e50d9d544974662a8dbabc80d8ce5912e1dc2ab1e8c105b33820457b3d7eac3331e11f9e8b16fcf3a5cdee310bf1874565cbc9bf5701c1f2fa256b75d77c7a7878a8399da64bacca5ee98 +PT = d8c217e7c15e9c05e4578f8ce0b5ce4d +AAD = 4460d02b5287851e4ab851d713b1934c898541ad8d8bc2baecc7f08692a3d75bca57fb6a4e6966d55362b11095ee75799ec019f19daa541bd5996df207187ca7b32a70018e1287b3d270e6a8b835db920dada05f074e6179a97c +CT = 3d68aec30140e1b30f4b789ca6a18038 +Tag = 9cadf21ad2097c806bdc416261 + +Count = 12 +Key = 232d21f5f49c0329f1a039efc161ac6f +IV = 70e164c1fd18a4957d0c03d5cd68631f28fbb35db388a4f439c8e25e3383c7adb7865daa7578432ae4b8a991f733a617cedf694e1860355162b0866221691d666e93c8574accf7fab6ac91e6d66adecd7387d2dc8b738752ea4e7b1da49c213a4365b9be0be5213a8d0b80eafdec7f2c672964f3b7f72e0cccd2962f2aaad42a +PT = b11e83a74d87faba9a648065f7803428 +AAD = 92c30bb589d412111e733b94f607b830fc853444335dadac279ef80f08274c761f0b5d80e57ef7789caae103f8ba4329c70098e7fcb6011191a767179c3732618f2696d666db4367bfd3ef8042df8e99f039bb684e140fa3e38c +CT = 3700b7ffe87c493395b5a44d06e24d99 +Tag = 3381c44037de40b169ac28a1e6 + +Count = 13 +Key = b66d4a8db86462746cbc551705e5c24e +IV = 12a9b97dbdc585dafeb1648a22298b561501887a2bab3a7e51c6ccaea46b25f4620083570f9cc6e830d20b19dfaff1c694a774dc2b65be49254b4faf9631cad2c4a8b4c965235ebeffb9812e5def450d66e9f3cfa74b9fe276dd04876c3e30deec486bcb4f6ee8f597af3ea06827a6f75789f4ee6c7a6661303a989aa75438fe +PT = c932bac4a0702f5e5791f29b71e73425 +AAD = e9d9871cd84b97f05ca326786f259ff1ac6058bd3b6a08eb2a693685f261710ce0133fd0db6286bafacdb6c7d118d2b4ce586831f2bcb7f98a0c585234559298a11a40b920f82dbe4bcc73e7dec79e0c8b097f9ca8a17ade30a2 +CT = 6f4d7b5197bf17dc1b507c98ce8e031b +Tag = 662ad1ce6a45b1cabb05499af4 + +Count = 14 +Key = 6d3ad1be04508dd6fc61e926aaa6da3f +IV = 45ede4c4fb5334aeb5d0155b0d0f4b49a287abc2c42545a3f7667ef98a0a1d14ed271e5512d273b24b65db8c392ccdb2918fb95859201f7c00e9510790133c6897b45504a54c545b03eee2986b5047286c090e6d8aa96c56f35802303f6d7c6f15b760e4264e06e09b5baf9b6bfaaeea645d53b8250652d74f7b97a13c0cbef6 +PT = 22162c63948db49ce8f1f09809981a35 +AAD = 70b99d2ee016ecf8bca2dacc521eae26bb0a44edcfbb732c650de721b54a8c7281f6a4128de6c8404055557392fdff51b74a8047e0496b42e881a72b55b32e8a62fef216e5883ce83df39921a3f5e169b723b6fd5e9341982f9e +CT = bf4ab9ab37f7c19d6606120fd874c06e +Tag = 8d7d452a592c7b62a49676638a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 5cbb78e088222ff24c653529c8d94006 +IV = f3f4119e1c947cc872df7ddaa6968f94f03d14f9ac95533e126b2bcd19da5ca1bae67b51be76c488e5e3a5412519fdec99f7dcaaa48fe5dddaacae3ace3ae87e118f37c51c280a6b30cc18f6c3a3b2555aec542e8188f4b7b8e440b143129397dd6e26c6b89ef60eaae3004618e2ee539ef23f65def5583c97274119993e9b36 +PT = cdae29d08a0e8cb94efaa0148923db11 +AAD = a2ee6c411a170abc25f1065435b2c71e4b3e31b509f494830d057ac24a65007f746d163d9664d8f8b1c9a9b3d3849d3665bd8f0454bbed027261ef0ca2263b4806cdb5990b796e8a3210004d22d228d4303a8c5b2f751b388182 +CT = 8a0c8551c045221e8628d58e3b56663e +Tag = 844a907f331d3fafa8096af1 + +Count = 1 +Key = 6e20fd0e60fb537b8811171207814501 +IV = c6ae19baf1f1348619725df50c02fa1c5464710d32e2d427d597909aa78a49993585eba8dfadfe8355ec086189c2720b379738979775f1beda62d5a8a8e03739f6bb55270d9cd4929080e16881603d6007f151063cc7a530c344f32cab8fe8401f7e3f33cd6ab3070eef5b426de3b12aca7c70ce992cef90c5a3da5b94fc6265 +PT = 17ba34c4b02e4d1e114dc1eeb55e8922 +AAD = 9b6fdf34178c55927d98575fe4a4a656a390cff1125069a00210137d783cb10182b95cf826ca9bc0d3c19389ea08c2c40d7a810b10fd563f98480800e09316fb2544179c3f9b61d30b1137eccc82745aff87e7ca6e7da703fb59 +CT = 9bc744a3da3f34acd14423af2cfb6d49 +Tag = 05c488b3e841f235b5f12520 + +Count = 2 +Key = 7c02ba4cdc6ae198680f200a5fe1a119 +IV = 02c1a78c570eae40ddd423c75cf1a5df2aeac9a95dbfb8560452ff20089a66a25bb34144f803f3f79e01eac890a84b64af83a93738184ea59c723c240e0cfd7ed2b9a4c6cd35dd07957ab0b70b1e68eb49a8b7a05f5656cfe91003e8038373520440dd7b6063fa8e27d189bae8ebac2fd64d9ee4e952990455f0cae6568b2129 +PT = ed12d222d8899c79da67b47fab4651e3 +AAD = 2ff182007488ad4e3337ead7386fdf94aefdba1d8b73a53922eb1fdb0a28d0710253f1b0efce058950adcb7b0936642858902f04fc6b85e9fccb95897d4001c5273c5b458fb1df5a949e298bbc89772f77fcd739918780344498 +CT = dddbcbf675d9962a95b03929b2f2f25c +Tag = eb15a5bbf5e297f825f6dec9 + +Count = 3 +Key = ca45433530ba1adf8ca822a628c704fe +IV = 6c33c40b14a710dc01763b49b18e97d86d6203f29d77c5d8a25bf649ca961dde3eb9a25c01554a887897c43fc7e8c0f1360adb5b2df2b3b2875d150d465dbc15dc34ebbc421a4cb21af232bc6e39e4bc7de95284a04ca2d16fbc3ce0816fddbac3511bb203bfa623316d12831bbd4458079fb62fbb0d0d2f17156d39e8f02cfa +PT = eeb421b068a6050dedff0ce1aac4a39d +AAD = 02451881c2243194426dd9edc0ff98963032ff3f816ee882a6a978466f372fb0044520b9671bebc519a5091ea8e3c5d7732129c194421355259bb48808aba911df6ad50416acf27a5384b2682a17495dbc5fd17c08fbee264142 +CT = a42c09af7f04ce1638597dbd43b8d16c +Tag = edad991716f0bf9afb1f9aa3 + +Count = 4 +Key = 0064fb7a79b8f7e290d0a7cdb342604c +IV = 31b2feabf904282acf1af8b18f7bb7fee053c4a1ec64e33ed1c31dff5d2adf49db7b41589c3b569d8ec191785ad807c9bc48c5970a2e08b8828d7524538fd6cbd636b02146fa514732098f1976f9b5988e11a0e471c35ec74bc0dc03596d5a1d74daed4beb3786d04596c448dbe6ae6823c25ce2b85b385b378702ab5ac1d757 +PT = 4e5af15cfe051e42ceb411bd7fc82e65 +AAD = c90c9201e681fa0e907e0c0ea09c5f51308bd27f663b15132bbc0fcf328b922201fa4bab1eca53afa851d45b99f33a3eb0ad23e92375351ae079a3cd5a98e101425f701d655dfbd5f622cdc8ee845cf19e85d841bc985cf2cf39 +CT = 935c3ed528b60ba52c37004820e51536 +Tag = 8f8811f0c2016ecf6158f197 + +Count = 5 +Key = 234d4265836e13bba3b650a63d4a0935 +IV = 203db3b455eabe2ae696a70a6ef8cb32bf0d2c1b5bca67e5c020630b8004bd53aed475839c78b35db83ac1cac2f38ae4e1e45e2f457d9f193e67ee1290526ef0a47da6a5202d9892caf4b25344f0684806b3df0c3c1f4d9d210581fcf25108e87bc11706f544fb1df80540eadaef744859cafd3b9a4c44610b80be268e542ef4 +PT = 615331a2f3fcca1aa65803a678364c58 +AAD = 735238ce01dc2448077e4c7ff69c356ca649fb28da45a07dfd41659db7daba77eb4f588101480d1bd3b16b6a363b04f4ad278995fa21ec9df34380ce1681e1f4983d4646e6cab198784d7f2ae32520598e5756c596a6ffaa4184 +CT = 9310c13fd552b9ef8343e9305f9d30ac +Tag = 1ce5d82cc1dbd6b0c1592a87 + +Count = 6 +Key = ff61a13cf3cfa25297c7f4a8e8cd52c2 +IV = 605bdbc87734ffaa07c123a5e23f4b33a8900fcb77c11261f5a9dcb210fb8146cfd888226570c76036d3f5771cc63364aadcab070674f20749948ce17977935bd697ac88a4cc9271ca1fa2013a3b7b32c52633f5e4a2e591d03675024c84c512f89218310ca1458ff230d4249fe3a55643cfd2f4b108fdd9f3ee2bc5ddeb1b76 +PT = fdbbe1b67dede143e9f584aa91640117 +AAD = 9023b707fc3ff94e45cb33975088a2c1ac37d25861ffe8f8ffec984fad078282a7e386e12d44609629ccc34f412ce3cf56cebb7f89b7cf0ff217988b2b6d6fd263390d70c1c76edf808f50dedd3dcbb73486fec1fa324053fb25 +CT = 26c95678d7fca2f8648fba114bad7510 +Tag = df9955b2766d6ca0b9f4f9c0 + +Count = 7 +Key = 89a73ca22c42020ceb5e87cef20e7b8b +IV = b606d96cc0e839c3b5d787945d778ed26d5dd9f3e2f90d348c270a698aab82a33f74ea57f97a0bec213d1976c79bdbe8c15984e15c77aa98899ed2c01184fdef146fa2ea5cc31d4f3339113a15259c19fef396707a424d4a1c6b3c866c8779802d0db7aecf2951b5ba9a953c1f30d181ddfe50fc303866d747b7b89d6a053b6f +PT = 65461ee86256309882fbf79941a5ef3f +AAD = b0acb1c5d364610ec73c211b858fd4b84bc005332ceb052fc0529a8317742aaf9ceb339eac52e5d7aebb14f89a64322c58c47b479191c08765be2c571eb7918c18a092c6066ed497bf216ba5c5d95c99564125e89730ae5f8b09 +CT = da09a799cdcf3d73be25af3190777756 +Tag = d9c87d1a9a0df47ad5aaa25d + +Count = 8 +Key = d9e750c0930899ae85d641c860a46cdf +IV = c22117a44ba1afb3f757ebc7bf4f6363193db9074ac6ce7c6238b2aaa300e5db70b091eec02c7c7377e0e7ff38a2b14e0aa793ed496e6d8679c17b5278f796facbb4fdb8930804ef229c96ccd97bd0f390b7dd1b47fe985f43ecb3b47f3efcf98361919196f9cabf5c03e5523163dae9607d55fa2b4aa88e46206affcd72fdad +PT = 720ebae9394256d5e93d07e6afe5e841 +AAD = 57be239d55d7d3f3cf9f87610ad13f2212146088d3dadf7eca266eb6330fbb9c6f36848de2d63d101955b9e5cf4f8da11673868c3a7690441ca7d31665bbaedd6ba478357500de84c9a86aa63ce3c350f2b4930d233f43676432 +CT = 22b8ef15495b9c005f97dd9976f07ad8 +Tag = ab8586456d871b05f9802a62 + +Count = 9 +Key = 11368728573208a7c3a1053906235f29 +IV = 292817f7789e3f48b62fec5767e056db5e4f9a4af829268002663bf155f8e4932f5c26bc1112b3261a66197041ca84cf262e0ad084d3ba4ee242fcb20966df580bf472048114a7b4f5b09885d905ba6a65f69f182b1861dab0c3716fa040e62121eba82d5cc5388b24a5aee856899644b5ef9915465ff144bc9aa9b058ce64dd +PT = 8f3902b5e64775caeaf4d384d999292e +AAD = 07a86d019ad8ff23587a0a0795b7d4fb520480c1512ae46c6c302aa5a1c306be2bb5080f1c04e18d45b4ff35e2aa21189e3f6e6aa5471790fa5be4fa36f727f795e144960aac5bccb20b411bf2c0f90f390239d6a3f83622024c +CT = c5c5a67d2db251592e200b233677f2e1 +Tag = a118b3aac17fb8b275e438dc + +Count = 10 +Key = f37afb3f8d344f33e7a755670e1b090d +IV = b45dd6af1bd394db225299dfa6d57d1796973e51c31e0b3aeb0b161b8e3cb82ee13c6c1bba5669c3f6de5c47e62952f37560679b61573bb7c386f8c1d387d1da81190aa5726d5388ebbb61d64845beaf8f9ebdea38a0ef33b5a708624d310a69f7ae9ea1c83ae53b77b3c3432ca33161b19d0f36e25e96cb9d02403f5f9ddef8 +PT = acc2f9a2392eaa3448f7edc6e1d83e0a +AAD = 0fa9db346bf4b0152059c7e34e2cb78815555632691334b2347e4e1747ffc61e9073d00dfb5347116b334ccf27939169af966fd1d44fd43b1a9c19397d25f60e272695bcb65b738e1d6884100a7549f1709689e44d243c4bb7a6 +CT = e8990c612e8390b526ce50b76ac800eb +Tag = 992a2e73cf18b0faec8f71e0 + +Count = 11 +Key = 6c730399bb084e46977acf13b1d6fb8e +IV = ae6aa41bb6094d0483d2daad1fd98a06d42ba54371aa532d337be408a5289dee2c288aeafb1be71be5c6a4d65e5ad6482a742b42baec1e50c880ec5a9bf663c20d1718558182e9c4a5d8b26358650f5409ec1703d0a77b8ec7a0b1860c26c6fe519298132188e93ae715b70a74cfbf3eaac8142d12a6c961675837ebe6be5c4c +PT = 7c13a774da537b68fb34440425917139 +AAD = 0abf43682ebd5e738e084268e52c1110cbf65b1c9d7df379c351d6bd613d49c9ea43c399352d05f482a5cf2e56ca37a7ed16188a5d9b6ab0690192bf74a9e20524d615f4101399fa5b188959472643ae9ffc674e7f02e3e8a6dc +CT = 258ea542644e3d8516875f877c0c84cf +Tag = 7c7e7ce8e46d2dd7f5f1aa26 + +Count = 12 +Key = 219d24c117082ae78d10628660cd7d0a +IV = 92a004333f96f3f6181b51a58716818a38825bc8b9ee38ad6b833a1a3a261f62143f286c576a70831a333c48c4d87dd6ed0dd5a32aec69182f244b96ec639d79dab58ade1116fda33167e96946b4d686dc441f4afdabb435d667107bf84ebb3ded45c544be3ecf59c8909b1714dcba149e0098a239519fe37470b829618ad3df +PT = 910b602c1d2f394a6e0e17bc71bdd66b +AAD = 9af17980fc70862bed71ad31fe06ef50dceec8ae9a1dbe4c0938327b2be813f2fa3db6cbc43dba11ef5dc9420108df4c9ea1150ecb59db0e14a1580e39c6347c53227ba3caacc9c6feebca0d30c2ae887d97771e684ce4288883 +CT = 9ffbf61a03b52950e21a7621b3ef16ee +Tag = 345221583f7fd43e5c4202bd + +Count = 13 +Key = 93115377d3fb97b9c3ad6319e734a666 +IV = c7a6a7b064484f64390e980550fae66b62aeaa7d76360fcd38b46e52e99bec8cd62c598ef7d6ec96447d194af01b26bb92a1ec536f127af97d743f31b0f3eae3575ee282d36bd82f3b4996f367151c0d0dbfe6176975104bd1c9155b5e325f4afe2a5827cbc9010abf2f0e5d20a70a1196dd14ef8682574dceac8419e40bd965 +PT = 4070a2cb403fb1e910a1b3da711c7c59 +AAD = d5674565dc488e871f647eca58207448f129de68b688655a884e2724725596fa91fcd2c9a00534136a0be91cbbfa5cc263546d226049abd4865b69118b80e1642a974b4502597c08ae0c596de98ac382b6a5bc349cfbc7fbd932 +CT = da3c88fa713680ec54656bcf49cc56be +Tag = c35472b37397401b4dc5e4d8 + +Count = 14 +Key = e7e3658c39ffd90c064ddb980c3c0554 +IV = d18bdd95a2f358c800dbf0d615bf579b85f5ddd6ddbf7b39a75f44a978a958e4efea16863a4fd7d9ee4b235bd1099bb8df87e44227e1882ac73d76b77f00fa7cc09963138bbeac4d53d8a80c25241bdbb0ff9faf75a666d4e8fd0893b39dfa47312d6d0802364f5f65dd2962b04c3163541432aa8d8d3d991e4f04efd0ac0839 +PT = c848acaeed1eadb478aa6bcf3c6ee996 +AAD = 70f1e82ddb2740f1aaa0ed3a9e712731dff7b63ae5e40087de52f50e74996675ab0c833d6ed79e820f0f7c1bab4100d3a9424d6e55fa8694c7e6b80a65b26b7b3ceeea17221baec3ca6f10fae9b505b7afb49681dc93a5b7af25 +CT = 17441c01d1c2b43d961abcb982a2e950 +Tag = b0fcde7ce7efe4379d326be0 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 49aaaac7f94b8b21b65d348142e93c81 +IV = 0295a3bd9b2ca6b5ec1cc85d2b2b058de0e45c6e1508357611d566ea0963309801f4a86d9a996df84df1992fbfd30bf4344e7dc0a5d3a3d88c958f89214abcbe0503fbb4235044f76ae44cfde89491c9f7ec71a0deadc82d164235f5a3b93dc6bd0e668cf5f5607bd2339653a02fd6aca66a3cbcba9b184245a4e6704dbe65f0 +PT = a98e780bc58407e84a1703abe201b98c +AAD = 2e5e4dbad59b227e630575221dcfc79cb648b6cd6ddb73c2af7e124d6d209455ec1e6edea80df3f1deaa9cd6ae9b8731b403ff0449ed365eb26410f1dbdb522ef6a36f07ed4547ebacd02d771bba38c10548267167b4d49ccda6 +CT = 1aa99bbcdcb9669c62b2b40cf6c5de8c +Tag = 2e90803fa193c244 + +Count = 1 +Key = 5d16ab532b6338341a13984eaf432b20 +IV = 15056a2e803a616b28f7a8cc5555f91556c969b95eb936bad0fbad549fe94de3de54463c461e8273c751d99905a1b836e36783d1fd9316d0a470f4708e21b41878fe86c8b642502ac3b702f4df4b5cdc0242ce243479015e6311b43b3706a8aa2434115f2861ec7e18361f862845d84ba785244ad3a11f998d0d106478ac5ceb +PT = cfbd9dedab46d053d9c1d2116e3d7a96 +AAD = 455819d3008ca43c02980fddd9bacb5b94665467e07fcced3f3a6c3190b0e11971190a9ea9dc66281a6a85ad8a71fbb02329a5287fbbbc912961dd77b2ef58c80c1360b1855124749bfd5a93762215ba42be27da07603b0d7317 +CT = 68417eaa10a3c4d045b1525407d74513 +Tag = 2cd38179db76afa0 + +Count = 2 +Key = c4768ce66209281d88a749ac8545cdc9 +IV = dc40678e4ad1d1d53ab71d2e5b50d7b919484b6f01c467afc17aeaa73bc5a0025ec8dcbf1172fb60e23626a93635c00f33cd583052bd293f960f989240f1e3da657d32c65086ab2a4fe4ec6e69c9a8ec106d47520489e7e3a3c6b59fa12447fb84fb9fb7332d3f522e1cf7f95fbee23fcee8d35abf1318b75ced2db86ebac927 +PT = 431ee31628602ff8204ee794df00cb54 +AAD = 2f226621a60b01770a5a3d3acb4a8cae09e3a9b74fd969401bb71d04b054c35f8ba7e20e63b63fd6a1ca4f4b31b7f6bb9d4f49f66f4460724b880bf1cac68023d1c0c92df5b353b2c1ed0be8da6e142b3a3812fa548033452b68 +CT = 66d5e4995787574779b3c71050edbab0 +Tag = 70a6c94f0a34e072 + +Count = 3 +Key = 94f858dc3ee77f55e20d5faa8476c88a +IV = 3ab896a4bdd9ebc7689f77129278513c833c3dbaa9ca629a224bd299fb4beb0d17547c07f3bcf535a8185885c73407e5d917f4828b75f97131739c8abb41b9988bf676ce4b8dd9f97f2d540d8a5da9b344d6a25115b5d2328c341198b8a558e29e8db35295bedcd6712ee8e6fc9b580c1376a3b6d42645739e9f1bb7281d8a98 +PT = 10155ba37ba0c47ca773301796a85255 +AAD = 243886f20b6576c17133fe2641a75e83d02dca5b7a0d113916d9c71d0a732764bd085b37889d8df98d71d89486f2afa474b0fa01e0992b1b7e4afb1d885df1b57f98bbb0a869515df7a0cc8d9def7f95862b3caf9e1085a3a1de +CT = 33d2ce8dff07f0d8249af1cf9c557a01 +Tag = f82f9b3ed05b9924 + +Count = 4 +Key = e874c3d8d94f33f0ab5e56b0ced336dc +IV = 67f131743e4ce44a44e0fb5d352c10d0c24f75c732368e368d35e3ec85502097a3e9138208bf69087683ac70e8984e380ebf36c564c137e61bb9278e7609cbff3e9a0e2a5c37e992bc5c8f793bf4736501c765a4ac25bf69f2c2d4c36dc18068cee814effcedaf9679e575a3ebb34bad82d9509aee1a7da7edc93a4174111a30 +PT = 755c681c70b0f28a216d36bb08dfcf5f +AAD = cac8464bb9e803a25e8052ca65392c6ec6fe956c7ca35d7124cb6193231458f18f132d51e6d8795279cc84acdd1c752bf97306156d47a50d7cf2c7d64ff9978da08c6e3520d2f56ab17ef12121221c9bafc4bebe1e3a7a7d4f8d +CT = 5d9faf2cae181a2175193a62088be655 +Tag = 428dc5344ba2a352 + +Count = 5 +Key = 431e71ccf104235a01bc75498046fa0c +IV = c50102fd88c4c43f30d0af374497934522d43a4fca48b26bc259c8e99f8625e5f22dc1c93e1c575e1cfc5f9127c9c78e04c1a322666c5ff197d55aa5ffaaa47ba9e0e4e79ac457664c6e6d34d31788399b8b7820d091aa6b31abf804f77227be9a04f724f729fb3e928c46be4f2d29e0eb41739ee0ab41efb2b82cfc94b575fa +PT = aca0f2880464bb4b642e57a5f5f15409 +AAD = 1d03fba7e84bb01017e8c78ecf83f107dd456fa71e7e439d68a43d4188bf4259daab2b946865716bcac2fb205158975c51023fdcaa000ad822db94ee3daa931952aef30b5e5c3a431b445cbf7f69b20a80acc91377b498657504 +CT = 57c3bc79eb5d080f16e1eea22ea9ed0b +Tag = db73d7bcf21d7596 + +Count = 6 +Key = e967106e8449e7305662c0818bd4d904 +IV = 7e35832d5b228146acc8bff6476bb81e8c3a0e9511711509c96797f52d9c2a04dea72eaf83f26c5151af367f09fde8caba7b06efd2863ba38c6ee8df0919d453d84af01b6221543b1f87a288f8b97a01e2dc42c44c2fb9908e386640adbc54704b436f69d4903b69efdf221134e7b93d44226157c601cfc6e40770baaad989fc +PT = 355d7c0fb252f314103ba95fed4e3941 +AAD = 734d07c70469e526926c645465838018c61c70412da24aca22225587461af03828cf5e7c148b154c03dfa4bf8ea3c80c46908fde24b26a134372b02c27552629919a5a95c4a839a55daf61b69b165a144cc982499fec1db75696 +CT = eb52b8017fcf9234b7763e3de57eec31 +Tag = deba20e6b6be230e + +Count = 7 +Key = 19e5c882edb12e824ae269d453e724f6 +IV = 2cb579c68d6c4a6bf69051790b9d58b8ceeb752e102b340ea28e61ea4cc2133d9799cdfa6efac4d63673e3bcda95a7a28ca7fac4a870fd844ff34e9e2a39a8f891b3a78f2992f51bd631907cfbfcec922643ef455cdd5d1ffd21eccb1eeec8388d13dfeaa1f2e16bd9a602af9ab800e93b5b1e9118925ccbf5a84e9e75bd8121 +PT = 5190c68aca327dd2994975cce85f2bd5 +AAD = 8ccd68d41e24aab665d316bc220130b0585893b9e18fc566633e8da420ddb641764c03aa06aed24bd17ff824659c90b1329f13a42cd61dcede04e6e70daa36bc4332d7cd278cd17ef379db7e10e26a0bcb7a5bbc597722bc8144 +CT = ed0f320ea0ba047eb944abb2793f7e4e +Tag = 1eddb4145c4d1e0f + +Count = 8 +Key = 0ce004d8f12c9c6caeba0fc8c4d56ef9 +IV = b04823fd57fdc69a5c5ebdd6870c7efbcb40879ec9edf42e403b86bb1e53a66261536c85e4790f5efe5d8750255663d9af3f4fd02affdc88b2988c62636ab0e6335e081e5cb5b3532daba77da7e7dadab1bb158e73dd7fa5185b2b9835529cb5d99e2e6c138ffa3c30e5156fccf5a061fa4770bec488ef9d51718a4173c85a92 +PT = 6f76957f81a783622cdf316d45bcf766 +AAD = 16eaf7d6adabfc10f015f18e3578576d54951828160fb2d765b370c1b1c90eebb9ea3fcb946df6f5a6b0cde7d05feff0f339b572209cd0d8577b4064d4ad3a6955044f11ed241fbee846916e010feee5aa6a60782acc52a8a7b0 +CT = 1bca944a747adcf9a81057dee67bfc72 +Tag = 9fbeaed18774ef60 + +Count = 9 +Key = fea10860f3723bd087a46447aa4ff875 +IV = 90690ca4e4bc1217f0d6d27ba4d887d45937216f81a87e27f28ad24e50087e25a250fd644626aa78b26fb5b9da247312c61695bfc592289f985c1565f3d6a696abba8b80ea6e33d9c3367427f04295cd3cabb01f1adedd1b9ee50241d547b3e693bc65acae2f0c6099bc08767946287f6eac4599c302eaa1084a78875705fc3f +PT = a7d806efea02603d523fd1a8f91e8091 +AAD = 30c2df40f401b96dcf3bcbccb05cc939f24bbbde8512d588f456d672ee0854512dea46fef4820dc8f02412bd8f6483ea0f0592de8210030c1ddff620e148938ad623fbdaf123d4436fdcd3984406a3120bf333578157386870d7 +CT = 9914d73bb0e50444e47e6868ed117b88 +Tag = 1db39d79a186a9f5 + +Count = 10 +Key = 033df38612648efb2daf679101a96ac0 +IV = 6960a142e7217cc586fdf06f07b4d110933b4a99a18377b158216105549915bb0710107e4643062ed155e7e24dfa3a0f1df6f452542a6dabb5f1c4410cb4d051dcba0d2fb58ca50a34d56997be1548871236bde795227bebd1485caee733c45ec4ac03f747ba0598f3eae189997273b861b57dd589dd85576d41f47206d925ca +PT = e411f19174457a909d159862252d1965 +AAD = 9cb230005fc1c014bd7b90231d26a7eb00fbaaac662340e4b3d32ad6b00bf95fad2159f6b307f7d061c17dc4e23a5490b2bdde341bbfa8c8046901c3c1755b80133cbed37022599768aeed0e9a888a04b421abf84aa626ce829b +CT = c0855f9aa9e5d39945335633a9180a4b +Tag = 023a061a9b828c17 + +Count = 11 +Key = d02afedb5ebca7a25302906742fc8d82 +IV = 3e7ba10a7308b7d0c0f0ec7ef9488b551e2857ecda394ad4560b1f6414a938e7fe437e8795a4bf76df33031389e4687eaa8b59ef33276f186874a41254e8cbf7a7f1e2d666db890d429aa8cfabce9776e48fdcbb001d570c13c9f568984e87e5f0c6e5004d51cb5c664b81af7d990f4026b7479eb00118a45a6369cf1b29c45e +PT = db5fe6384b7b366b96f0c26bca3c5163 +AAD = 76050f6036b71e1d30944c3b1f288fe38cb7c3633ad7ab4692c04ba920d7e3dffbd87a8b199d0cea1499f404516298b4b1fce4dc61db90d45633a294db2b418b04968b2c8b046841df32f86f7f7f7ccefb28fcb561cac661fa1f +CT = f4ce7b79d69522aef45bfd203636f57f +Tag = f84da3825dd63e75 + +Count = 12 +Key = 4d2e1c9e60323af364557d78ec028695 +IV = 99a89acefb7680738ce5f0890bde5b6322dcffcc3e63848221c87b6b2c4a0c182676f13722bbb665d08296044a8ec923cce7dd07b7ad1480802969d1c1f4bd5311ecce5abc26f66728ebebfa96ccbef062854455d2e93b02a9d4f8429049c52d7c03b35c18288b6df188d17d5a34cc621d2d589e91ff87c584e21b6d3d424240 +PT = 3f18b83b7990864f288e0fafb75c52e5 +AAD = 651eef94949d1a9efe3e1e8027174545e061767d5136eecf363206dcdbac8320e12e4bf0c1332884dc51d6d86dea1be9ee32a5ba90477654059717529caa95067b1892a99365f384bfa7ea6e45b3ebb283e3eef21193109ba86b +CT = 7529c99dfa91e5362937da23cf31c492 +Tag = ed5a2b2e0fd3f416 + +Count = 13 +Key = 90eed6598f30e2b70b8bba4ff49a38be +IV = 2605ed18ab7cea324611b0af350b3e81ed2688251e1ac232b2281ba18757c9203fb75c5a463a93f0ed4df130067ac697fba2ef1d4a6ace5e706c652b02cc1256da3aae5e05165f106ba8403a7172414a478a2350dbfe85fef6f6ab914537741cc3d7159fdd0a1045de81a48293e0377ad6f81bbe664a67a7ea1b3444bdf62037 +PT = bf50150a39624f31a4ee85636a63911b +AAD = fbf6ba7f785e7dfc80ab30d138a85bac2eebfa53de2f04850765793dff7bd19b0fa63c36b96a6bc3c7f326fc503bcee5376d317475c61d2fadf173d2b9e25d88b2c5892c12e435453a3a31eba5b3feacdbb068316226d52466cf +CT = ea1cb2f449f51df15437263a33cc8f4f +Tag = e34c5f731ed48fd9 + +Count = 14 +Key = b923a67054ef8648c9754af288cb287d +IV = 668ee8d8ad77ec1b4ad3e61d3dad8a9978a5d5d9920e67d73473ca454d71ec5215622435d954a415e5df3cdec6fcc928ecdd1303eee0da2c10fea263b1e57d409d7a42f18393e01cc770c85b0581214f8034cc83914845957483a5d4c9f4adc552718e593085c559d89dff5b4e3099ff7d464ecca06caece47eed7e278f79158 +PT = 3b87cc1ea39071c25066c21fd9520513 +AAD = aba1087a8741c119081e2318048235fec40976763a39fca68a32a4fd7d20a8a46c7f81a67a320694eaa50f4ff567a84998183a0e03391eb8d1957874d14c2605a5a36d96569f2f434aaa9f1f8326dc56e3d49af3092eca17c185 +CT = e3cb58e5643a630052effdb5b7afd6e3 +Tag = f1f165cc6ce5ac8d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 128] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 8d12e0448d0cadb0ee62abeb602299d0 +IV = ee5411ce5284465b6664fab11a805db953aa162cf83e87844f80493fa63feb6a239ff25332e942483d662afe9796468278e638f5d8890d7ec0aea30d969dd37e3fc7a81e9ccfd891cd6adb38f748bd6d5f4acc91b4bba18b3bfd5dd23c0fa08c829608e4c89a38582f4b3fffec014e953dd979675e209493f3b172b660fa08ac +PT = aad03991d12c96247aaf713f2d9e19b7 +AAD = b19d49aa2306a775d109b6f80aae75a0acb328db2021003bac34f7625aec1cc5fe6631a5282ae71442b4fee315078728007d4dad4ab595aaa0dbc6e4d155c2d69e6058134e4d286426463e15909e09514d21bcee8102be162dbf +CT = ae8e0df9299d4d284fe4932fedbea529 +Tag = 6e2e3f69 + +Count = 1 +Key = 02ebf592f64b655a3bc9a202d2800044 +IV = f1eef45d243db8227e90c3026c6184451a6f37d97baeb7ffe646155501316d9225cfe96852fc3c9ab93813528d545fc0132d8fa8a9421c254e0133921a1c5219e23a95ca564ac0aaea8d9cbcaed2d9f2521406d903ff27f328674331be40ee1adbc1da05c6563caafd0cbcf0a04369005c8a22bf5e80965cc33511cbebd70c63 +PT = d8e9242a330b36569ace19809999a64a +AAD = 6c21b89bbd18e1b5562e3ec75b77a9e71772e4cec9b28a72f9309ba647ae9a1deb32951282c9c233458bd17854d6f412088134abc4b224077ac3e3156692027e4272b55bcf7132fc45c4bebaaa73fe4ec32b443ddeb00ae5e2d2 +CT = 7f51d1b065c1ce8155b348c7471a8963 +Tag = 3d19e86d + +Count = 2 +Key = 5b2b4a9b1b1abee0bc350de462de9834 +IV = 93a9385f433d6ee4e3215f817b64687b069619f64baa5623ee3ae54286c02bd26f97503ea36d161ff5d6e4a01825827f680decc84eed1de637ff4f17feb4d3361db522ede26bd38afb47094b6dc9bd98f26504e4387334d0eab0389904d92ba5f92c861623137c842149455091554750cf1bb1ee8d4bdb44033076ed3b6f3a27 +PT = 05b49b5f4f7ca8eb2b8455215d58817a +AAD = 514c0784f8049c582206eba0a426f1690b868cfbef32996defbc1dc3007a04a7dd05226b52dc586af0ddabac4b1e06f75cacde5fa8637e90d13e64170a160d96dc001b39b770efd3f63479b71f827dd0746a95bb4f473714599c +CT = 7386e9a582c932aaec5e0a00d992681b +Tag = 8b89b92d + +Count = 3 +Key = 134148e42d10a518b60e83c2ce4c244f +IV = 03fa473f27209c8e3615accfe65e4abf2c7fc3659373aeee6fea485228f15054b77413bc224dd4576c73454e713c3d948f93fd4d1aff3ef175ba07b9cf9212f8ac3d6fa58ce76f483f7fe74fd3c886a2c3c9943dbc0bd83079285c116510c880769ade5db274f8d39c0fa54274ec37a2d61d8b8f5b97ebd6ad3d935dcc203eb1 +PT = 848768dd3af3d4f7100034d0d2828b49 +AAD = 4169d99712020c26273f516b7808700a2921d6cd859b30858e617c9fc289a562ee5863b36192df84a0cf7eedd49ccac87519999727b9734b1c7dc561ddcbc4d2b39740017ebd138ef4a2391711e2700880a9614655b0fabe272b +CT = 553f9194f18f7eab04202797fd4eec37 +Tag = 0805e5ba + +Count = 4 +Key = 6078ab12dced88e82e1977eafb9db0a5 +IV = e63a238b01021221e87aa7f86df0663df8d630392f9c675320471fc67cb1286c677516ca41745bdf1850462868039e220bb470e93de895bd8e37e83419490daeefb60d9679f7f61e24c3d97198431e5c24ae4c0289fbc98bb6b592130b328765ec62ee496eabd4244a761f5dc7ebadfb862bbdcb4a0ee8cebfc4366781930c0b +PT = 227a512f464260ce8ad741704721469c +AAD = 3e47d9c0e3a96eff7c4c1b74b9e31d771a5254ce5c0f6a20da32e51147f06a922ff5752def86397dade52d48880242a5d9d0da5738e4d6b1ae94d8e064c8b7eb51a6eb7b35d7acccb9fd0344404fdab7d667fcc13f17168c2103 +CT = 830c21fbe9785096152d3d5aa78771f6 +Tag = ef4f0a91 + +Count = 5 +Key = f776356f89f4bd66b0953871301cc799 +IV = 29b570f9e225e09dbc70e0fd7ff74786bd09fd96104b284ab576df040c3568f26dfd785262f77e79c005f4f5f90e568e70bca634907f97e9afc13e9c2ea89331b16f02ffa796dc3ca30404ccadd4439fb33947c50ae5d4730066f40579c9b85d0a9283cde48de4228ec8b39b541cd616cfb0ce037ffca5b7b4bb064a75dbb9b4 +PT = 6ff0cbb11954f1c57bcfb6d7668625d6 +AAD = 505cd85d1902958f24cdebe04b72c8510fb55993ca364d54cca52893a4b5df0646048e81d5aca8bbe1041802b561f5ea9ff7364a48330188d4efaa818b85ae2be830f0d5b2c5fa99b20ebe3410ec3557adb042471d0df56a4a4d +CT = 01f1be554c271b532e957864f74d9423 +Tag = 0d61b046 + +Count = 6 +Key = aab8b40e7050bd70ce79532b48dd3316 +IV = 12ac4057a0a96074ee442a63029e772bb2d58942766aa1e99a326ffcde237492b58239c04a112c644a2a9a572250b2e140a014ca366e8ae765c8a3da15dd840239acabd57267ed933fa462e510485cbfd5bf9c22f8009523e83308678aca8afd1f65e0f5700682215703953ee00414a7c6ef582e2c91332bf9068e31194b9bfa +PT = 0072c6aeecc20e5495126dfdb029a1a5 +AAD = ffcdf5f47f3705aecc00f4d945924d1363e094048d01d4dd59548a46ff91efc3d118c28df2a6d46add2a8d71b86f0bfbee3b985e79e9c2cefb7d3946d8dd401a01b038f90b22bc932b56310cfc77aacc2bf05fc09b7a0647bdaa +CT = 270fc39a77fe1ea38d633cddca01d9f7 +Tag = e9fc1e53 + +Count = 7 +Key = 8aa3753d789ce17f41eca08b1a98ca6c +IV = 20d5ac0b2b81e92cdedf1c3513a34f500e9e2f002ad623720ec5cd44939feff4f00bd1a5cc7c4cb310f484f3ec1df0e67827288acb185cefe5349cb7573f6b52d62b6f6fbce1d902596fea1bc7695edef75e979927844b1e535a12ff3366b50261116346665bb45189ce301519216da3ab0e2c06fc8446733050c9b16d4cb242 +PT = 31c2a0d54121351d94948d00516d47af +AAD = 2dd024fdc883223cc73d7c8fbb91bdd94aa646ac609eba759b47918bc9292ffa4849bc6d2c25ffa9baa4f29145bb469cb57db6e7372eae9e909175ab2cf0f4fe3481e352bc5a65d7c358082f637225c136f926bfe86dce968ff4 +CT = e1b3b5ed2821cd378108abcb310ee5f2 +Tag = 4eb9f3f6 + +Count = 8 +Key = cb1a184cc992567f40d056f21028c56e +IV = ae487c60673d4ade374a9d1876f422043e501aff9045b423194153e3a2b3b903273d97843e92dd098df3472946a344253155f71e15b995fe6d5e8dfee5716e765fd2e1553c49bde14b2daca3563c7c4140befb58c9b3ee26382427c2f0c179fbc6611b0f4e2f9a361e15aa355aa4f512c9637670b0ca2ad9c78e046fc7cc7ded +PT = 801278d3c8922148a77daacaa545b3dc +AAD = 997b735058b2263c9dfa523c88063ae78c2f91588a8a03fe3a031b9c6a943fff89ffe7e7a48c2f91b17b68a765e7c5510576a9034f369efcd97535379b52d5bb07a7506ddbbab0e748d236bd62d0da80a73100d1e99d068075eb +CT = 74c6ba42e8538c88bb4d53b3ac658dd0 +Tag = dabfaa3c + +Count = 9 +Key = baac7f5100f0d02b74f3df529734ac9c +IV = 4499f45dd3fceb8c4519a6417594abe531d3b37566450010ccd9264e8d80889b9d02b241cc7c8c74c6d8057a6a08d959201379afe8d01fec4faa224624ab8dc7ab4200c52e42151ec21b7be3723ef13e87b3a1441a4cc3aae9fae7774ce57df461db23570492251b1c9104b8667486817b128e6dbd3cfcc667b4b23eff2d1675 +PT = f4aff986b2ad678d3bd3c0ed8be019fe +AAD = f9fa33fd7dc1c077718b9b3fbff675d1ff4c8dbd542e5917b2cb3aa64974a9851601c3467af7e23c3ebbb6541de2cd94bbee39351b0afa7e4c749083287ba771262111bd24920a7b1c7633e24cb25624d3e9596737680956245e +CT = 6b1159ffbbc51fa4db8717476454246d +Tag = 8e4e6c23 + +Count = 10 +Key = e38888d4aefcaff82fc3142ecf150afc +IV = c344421db5245d409ddff3bee3afc07ceb5d55ceb005695052858498f607e9d01e6405550e664f4f43233a20f52698bce7abca688a47fa575ce15705ebc26ae39d11ed1136f92101142e7ab09ec19a5a910375acad9eaaeadd6bf7e7427f8845556c480e05f0ede0317c7b6b7e570552c0e1cb567a08415ac2f22074fde06dbb +PT = 16d1fd68352c1f3e39f06f75d5e051b1 +AAD = 5f5f9a3a65adaf06e0a9bdff990956c73d756a25883ff239c05f7895d3f6f34ab787ddbb0ab76aea80158a9faaadaa296183999207846ee1348038e3c054eeed415181f6a83d515eda8bb3909301c4d9bfa2f1771ffb0e32504e +CT = 62d39b65a2bee0d92f3885b47ebcb555 +Tag = 1e796371 + +Count = 11 +Key = b078bcb7b1813bf79c3d8051696a89f3 +IV = f4b519123d5654dfefa346121b1f5f071e7a28cab93dce6799030784cd317b9ae1ec5e0d656ab9c0ead67d96719855a4bb67022a1a1c7d4d8995d07d633103297721240e5442fc32b932a000f42b1c7896b7bfa699ede0678da5a15bd6c1973d7d54bbbf0bc4b6de0061129f23e61133e84b37b2bae1f5bb991171c3feb932ee +PT = 40c03875d511174a7767fe73526c742b +AAD = f63b10019af0d7226f01de9f52af8bef02db234d4c1cceca905e18836c02669017e83e2a152ee338cc515270cf711e8d94921ca4309f5293878a46b44f82d8e17f6ab8b413baac2ba3fe560b725351f9657e18cee48ea00fef83 +CT = 0dbbaf17c692254762d8d73345bcd2e9 +Tag = 1e4ccd35 + +Count = 12 +Key = 63b1ec6e22c232119de9946b407873a0 +IV = 5101095e0eb79e3494e74057c62753709ffb1fbd62e21cdfc3811a8fbaaaefc45f83ec70da037db60ed4a573f491d87bcb2eb4854ba4b78907141db7e3077e10ff9ef58f0274b03adc3c4083591e78fefcd399875bb9f3417cd4765fdf383acd06962a7c177ad2726dce20892d81d1b569a18536fde87a49e9ba8f4f152bc759 +PT = a7648eba877636a7c26e303e7b61ef18 +AAD = 6d1b0fab53977f448afcd1461cbf3e644af941c1a04f3914a26f63afde2cf58163b91a1e9115e7888b14c9b02746a54242838373c1bd3715b7dfc1ace52397a325df3e9f81c9b698e7c1434904badaed482fdfbc744547ae1a07 +CT = eb1d59501bf98bc70e576e2ad665cc14 +Tag = ebb12f8a + +Count = 13 +Key = f3f025d41e8e01ccdb9d98bdc81d9644 +IV = 5dffcc352e65715a926fe5fdbf454d0c1150d900fff6e6fb007361956b3ed7124ca5c2cc086e3a50919cb63ca83f47d1c0d4ab175a7b2577d9b783e6d6d91a55a5b34d1d61644d579c83a1df7077c56d358a2b84a7e85b740a119830024355953a857a8e3f26719c5436f3e67b3bcdea9883d4b8b84e7776c4b469f42e6ef2f2 +PT = 5f88bffc5bfab14b31161cbc426ffc35 +AAD = 150e9d9a001ad004a80d88ae0c2f5bf01a69698b99f827fe25671490a904af684c0f441b930156df3c16da5eb61fc80c028f2ef968d94291bb41a541fcc0624a91952d871b9361fa715d6eca30c5f9741281fb1055b9aaa38e7a +CT = 863ca3007ac388a194f67932e652effe +Tag = b8b2884b + +Count = 14 +Key = fb5c2e05f1563cb4f194e380056ada84 +IV = 788247c445ebbc76038f32bdfeab6df5983e93de2520a2ef1a875568a4fe756b975e967e0e893c2073ea594e5cfcec4bd77e25959f845e002457f186161bb21a7a3e1921d1aecb9cf5cf8ad3d5f9a10c9e3014f1204a061a613e33c983142f858175caa99d0916993aa9be797b8e8b4033812104e7d2cb9c762d449ee1a04ffe +PT = a68808cd82cf6d08a10ba069ce384d7a +AAD = d632a1df417038bb1246810e30610cdb438a2d91705c75f35c95370b55be135b76979453a2b469c83cd644d9b54a1b807350cf404fdf2d71271b47d0eceb135e48d13d9122519e00b0f619a21d07313609cc5c4b734ab468e055 +CT = 635f57ccb517e9bdc5ce965596c1982d +Tag = dd1dd563 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 7cc48990da9aa2afae8db0508c197701 +IV = 871144e7fa1e3b33544822707c86c9aa286ecbc588c1e6cb40ef4545ce524602c1c6242638e945cd5ea7e3ec68ed3949eeb7e230b0865f1e914410a9a31b855b51fdce9c43acf713089e2b441a980f6fd79a61cec3a23f01161c2dc78b3e536a798b3df75af37a68ea364a60793f4153dc54d7c3dddc83b5afa8621ce44ef9d8 +PT = 99284284bc26f2eb69d4815e58 +AAD = +CT = d44966f882183f954c756d90b0 +Tag = 832e618200ab496b35d5dbdc301e7eab + +Count = 1 +Key = a5f50ed6a1d7a45b1d6a58b53b725156 +IV = 725a6b2b5f2977f234beea242c53042eed7bfb97b58ba8b9a0e950a8fb6a1d58396090d4ff7cde0f71d902f25c812c3dfa2a25fdb7062cef2c66a090ec10517f7ff3bb2f47f2e32e07847cb70d0145f3c3cf25ea4afcdd54a54ea30752415b2182cd0f1f51d963a7f7ec1238dcc52f77bb7eba221fde93dab873a67132ac67fb +PT = 5ff0c6d4fea494f9d59395d3f1 +AAD = +CT = 8d7e976bf7e1832b993879c50b +Tag = dc1be5529513c62af82eca5fdaf8aae8 + +Count = 2 +Key = dbababce73d842b6d0b38d9c8284a3fa +IV = 408a39f4286eba33ff86c6bd40d9a9a1b13173991025ccfab7d2b2adf1065bf72ecf063c254a03e09ad9973dd812ed7550e7eb590c68bbd12fcfef3205e683dff9767f1da1a578a824d6e00fe7b2a1b2a88e14a344ad19043d02cf33529697423d5f1088c620f698483c4adae5e9ef645f331c6611e6b2adf035bba25ea77628 +PT = d0997084062d57a7e9b27663ed +AAD = +CT = 3d50e3ce144034d1d6776a4b3a +Tag = a57cba04ce293792f8daf72588cf307b + +Count = 3 +Key = 9bb8992a2494a4dc9c73f5f16e73e64c +IV = 448adb8cab7ad400338cc1427d65405e0839f587b0586014d40c407726b0256ddca754cc8f356bc368b7ba660c5ac5ef813a1750823251758e3a08db313d091acf8b239551d5f6adf2c9abab47480a58b06ebb9481452520e4c23b464e11af5bd914d77b9136f70299932213b4c0bf459a8c6bc97c887f015ef944ae9bc8d430 +PT = 0f94f9e98509546a1e22471892 +AAD = +CT = 34c432cb7f966608482205d6c5 +Tag = 3b64923ad1131d2ba68619dc8d24ca0c + +Count = 4 +Key = ae09bfa31133ec1c4492904d127bc2a8 +IV = a2c8882bc2f8264db0c625fbcf7ca4b759d349214262d918c78be092e767766773fca2a2f9b672fa1764ea7dfb6234bce01c66e4e69a3f999c0e1f2f6b866241385d6469d5c654a121347126e231c077310dce27be3c142db79d6b18326c943598d32852a6ead85cd8d177ecc4f8d4deb8d94fd1e4d5f11a79aafaba7623f331 +PT = 3f50e9bf24b5876474345d2234 +AAD = +CT = c3fa9808de28ace8ff7cdd7cce +Tag = c8f3ed9852a30d17e3e10be538a046ec + +Count = 5 +Key = 3042d7ea70b635c043778aa61adb97d2 +IV = 260e30c5a7e2f1a17d4489cfa63edeee4a7e9fe74c7f9575063f6229c8c01c53596c5ef1ac800a76384bf6d0cb399a9218fdbd4974801c20abdde7a4fe9af1a89d98353fa5a74de009e231cb59a6d27a2800e26201df6ff14e1b07285d11f542da2a8e021ea9f39de95de2978bec3b8f53403d143f3c25b1de24b48d85d5e7a0 +PT = f20043418629facdbbede3d037 +AAD = +CT = 4add3d10fef4c5271e8bb43a63 +Tag = ea5bd5e8329fa3fe008910c176fa9abc + +Count = 6 +Key = 87e5b158b7201a78a0f44863b5c7909d +IV = 29e141122b7eb9f21678ce544c984af757830eb619d3a0d29748c7c13d67b39ebde1613705f9b9a153b4c6bd68dd224a00e420d6a9e1a05e8f2053aa4c2d4984c6c3ae7346c430d8aa8fabbc9cfb4328851b3bcaa1cde1cbf7d5516fc64d4e33322bccdfe061f1c73297a4323f8b55938831cd30103d7cdd9ba5a7ed0de94ee9 +PT = 9093d3f2009bed9ac1139d8ea8 +AAD = +CT = 68ad548959bf569ce0d2a91675 +Tag = cb4b62062283bf6ea0ab0633fcf7a798 + +Count = 7 +Key = edec755ad970aa5f720fde8f8e8382c8 +IV = 753407b03b024214349ed93a10d5623752fc3e945b430e9bb05dab16d55320011bec9bf2420f0fd6083b3ae196b3c2f97cebce5e18487b321b727e498c0ee669d8d5c2c04d3274060fa393f748f3408db5dfdbb17d03b6c9163a6db5af55962384a7954ae353e75cd556b70b0cda83c3d4c20b8f2f930c74daae13e263f600f5 +PT = 2325b95284c7ec9bc98fef077c +AAD = +CT = 12935e16fd61e5e5db6d54b2e7 +Tag = a4ee15f027d24cafd81c3d30dbeddf63 + +Count = 8 +Key = a4a8fbf79fd21c731d677b1f88a298c4 +IV = 7db8a629f0404de400e06b235eea8c44368bf6544132302904c59bd8105c8cedfb61946817f678dd177a6b45bb5145381bf3eed725b3a9be8ca680d32a0892e393eff4c22e19d5bed7df7c38e3b5e3b74ea73ffb8462f75a3a5be05aed675cba414a656320a8930e910cbb5cd6eb5e543402e8bf42f67182daef5be3b77d9235 +PT = c9a0a1bf7fdcfe0d005cf45ccc +AAD = +CT = 5155c2f4e2bcef7854166fac6a +Tag = f7b752720f433b5c5cd76f10f6d5799a + +Count = 9 +Key = 71a2276613eec434a12fdffcdec6cee0 +IV = 0776de768c513f12595e4fd2d505bc4f12e072941f7081e41cbeb39062088a1ff282817660dc23c8d91391c6eea4cb364e9abbb0a43617d17ab1b01db3328686d466953721895a51e991eb8cdd40818fc4637a92581f912962d82010bc36f9d5b6e7325a18f46755314e24be5db691f2b129ca48cb5b7f04a307d96a9ec7ee14 +PT = 161488b071facd5c890977e5d7 +AAD = +CT = c98068b212772bc6fab9517e89 +Tag = 8d42ce08cdbadfc3a472615fd1403dcb + +Count = 10 +Key = 5249b055e4ef100559a1f1cdc1b84344 +IV = c5ab995cad9ba4025f9780e93ec59e18cfa1185161d48796932f3f5ee226ae1f33eea1bf8651e63645281962949432f2716fe753ef0dc68ac0ba7cc2fabbaa255956c170b452d7d3ff1ea4722b324f437e8dbc630228d4475fba6345ba77017474d430227f2a102b58e1ed63255c0c03df4c25eb6657921f99ab6ce75e631d70 +PT = e5e5311005f708cd589fad3573 +AAD = +CT = 153a3997ede5ad6abdb19a505d +Tag = 7c91837795aa9518277527d14878a0d3 + +Count = 11 +Key = ae80dac46471f542ef6f26cd3eac37bc +IV = b55164c69c2877d7464988f44d8510afa2787131b099812267c95e3ad933e0796bc3afe53e7e8fdbb0ef3a78ce843bd2bec4811e1d77e9c201a6a242d7c56344dd0d41bff54e9fc10917332a16a9b1ba1a2f6daa1b167169b22d1bf92551b58a9178aa59132e4f37426119f8b07478bebbf7871bb3710f7fd644e54d52cced8f +PT = 6a1771bf6d327d1e3e98a7376a +AAD = +CT = 02be215647d1a328707d47a384 +Tag = 7454cca37ebd30c9369ce1ec05315255 + +Count = 12 +Key = b876ac7d0428b6af881667ee0b20a684 +IV = 85fe5411e8edd9c98282f50bf81d0abb209f2220d20db8203aab7baa639e2f45cf68a53b081c515d5a083bb900b153336febbbe87e1db46168e62f63b3f2d146908c28276f5c6b62379643b3e77f13bdd45bf6caf049761755ed378513e370ed66d4bbb3fdf3c441379d119ad9294f492f0be54979c262731989ade215298d44 +PT = 58895cc9c24a650bf2086e8779 +AAD = +CT = 76e2b9fb564ca17a742b3823db +Tag = 21db455bc51eae61eedaf3bfe26700d2 + +Count = 13 +Key = 4fba74c0164a1c9efe9479ba6aa0f09a +IV = 7371cd355804e6cd2a950d952f3c47d0f7ab40779ff4803e2850239dff18dbae97ec2d5ed48b6039be49defdb5ae3538eee5ee1433414c758f9aa73279c9699fa47ec351003609f36d5eb32edf551c50ed587b0a239348d0a2f6a82302033c80cb6823f96d6470b5731f591480a129c55739236fed4070f888f1ce1fb8d4d467 +PT = 0e3309aa5fa25ab7eec7a203ac +AAD = +CT = f5ab3840f626ec499ed3f30d54 +Tag = ea30948c403d38db59d018cb1f912986 + +Count = 14 +Key = f9557ced81b583ae08be9a8a688a8f2f +IV = 536908a474d72b79e0958e00ffc8aea52d1dbe9a7606b8d9edf3e6205522734a23f08245ee723c66ef045337b02cb2e0a82353efd73aea2c7d949999d3384d62ef3e79241191cfd210a8db09132b5cde7295f93d5cac3fda51b833d5aef4fc0ccf7cf8f8a4666f7c11e9b9293f07fdb68f5f745853b89bf55be7041ef04c28f1 +PT = 2ee0f723356a6d42ce2bfc303d +AAD = +CT = c5e6941d30f5aba47d42d71065 +Tag = f4d85a1cea6bf6666eb882150df6baba + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 204a17dbbefe0e9ce37ab2b031935121 +IV = 1e6f2767edb4079642edeac3c747725cb94cbe0e0942cfef49fe08e5c22142d3381208b65bbae0eeac1400767ce2bcc210a99886af60ef132fd37997984b3f127bcb1fff2ba5172526fb182705dd9d36f0f38445139f8610b15043c697eae44c53e33d691c884a43b415d9a4c975639a80ea54582ffddc67b4d2ae4ff08b73bb +PT = 1c30965594527af4b583d6fa50 +AAD = +CT = 3e21cc25c8771f6298f74672bd +Tag = 19c5c17e12915f2303a745950c405d + +Count = 1 +Key = 829a5f6d096654e161b317c0b2c5d877 +IV = b3d5bbc39feb94cec4df7a1523a23841068d08e1f9ab82cd55d42eafe73fb1c4e776f3f23f9a8a84993777ef270a4655a965c05fc0d68db079a460b46762daa58c8cc2746ee0ec7128534380fbd854fc2bf80c5c704dd71a4dc7e7cb53cc008e8ce334a7144127b630d34de46a9743273b846be88c8131071d50f3e174c64d33 +PT = ecbea20b23312be9c14f214bad +AAD = +CT = df25201c1aff919ac51146f4a1 +Tag = b8375bcd76e07bb098252674ed54b0 + +Count = 2 +Key = 62a0c73d6a3c4faa35fbde359633f369 +IV = 3ab94a32afe6d27eb2af781aef0dd7b50475086c246212caaa34ef9f8ab43a6c3eea5d501a56dfcf30392840e4538713e66aaa133415e77f6f77eac136bfbda62511c5032885af5ac286b869e15a11ae615ff842a21a930f38c5d9f527e0c3d348ee64ca9987682dde9b50571a6bf52433c047ef42e0f7a9c72a8032926aaee3 +PT = 4f4c1802477664c66bf965a971 +AAD = +CT = f9ad8de53b42a61d9d444e6166 +Tag = 236820832f19caeb34d0c3fd917c3a + +Count = 3 +Key = 86fa45e0fc5ccbb8a8c51376256c296a +IV = bdc1eb4386327ad8dc70d411401b38060abaf81341fea8adfff3b7bb5197db3ca217fd3e107d30a0cb7f30d898afe21e5d37cd0792629b1a73b591d3004160706869a20fe645e514d00f9bf80a95dc470718db62b1079d603dab02d4f8a5e95c65343afe0121087a53841c0cc030bb3392e99a8fe1923382caa211aadfd82e59 +PT = f7f8d93f6a9e1ca336bad501ba +AAD = +CT = 52d7365dec18eefb8231a614d0 +Tag = 2dcb3bec6e726a223e303a5a076a88 + +Count = 4 +Key = cccb936f3c2c5561ef3a01d234668ff5 +IV = 6f9a4ae6f2b79adea8b85603399c0608041853c2a627c88bfc47b8e706f876c73b94760976729c6a88d43f9838d77c4033ea88e3ac24987b2f69b968f7a03e03ed1c0857a31c520d4c4939cdf8d10b769e67f54c4193744ffb58b9d61b9b9d3ceded7a1a115242c490445732574a426570994e7e35eefd1983c289f04db02de5 +PT = 6db2ee6a02d6da9ce6b3f4e2d7 +AAD = +CT = 27a5e29dbff2acda523b53f8bf +Tag = 8fcc23c9486f5a07f5f0a10eb4e104 + +Count = 5 +Key = ad1f7ba6009efb086d76db0917ef84f2 +IV = 955d0267a93edc4154c0bc1e29fde30aa9078eed8c9ae45b2f2904b7007117e1706964ed8b7b1b242128d00cf54d84f9a03040cc2b551a14a4f65063bd15278a46dfa793c305ce0f46217b29344c2df8a7b211ade8c566a0fe9f74def1d7b957a05d0546743dd3373f7d86bbb293daa840620e9a04806101efcdb2ec8cc7ce94 +PT = 83484909e0b4bbe524c9c2002d +AAD = +CT = a621e2d11c80123fb3db4fd606 +Tag = 0b02e41aaab8c0fe5051d154eaac72 + +Count = 6 +Key = 544c086e7e2347282c7094efe37957ae +IV = 1a7912ec034773f92900252d5c1f00d8c9cae92203887d6684d25cd969329ca522d0c5e3fdc503d90508cdb763922014d4d56b68d9c9c540c72f947d003de0bd95a1b249522f54121bfab30761ba4c64dc2804f319584089f7a080be1d82334886ab1aa12db5cc09b72afdedfa4113968ba4aa92006cb808ca24d15b656bf99d +PT = ec7880e8727ff75220a85eff98 +AAD = +CT = 6cc37854ca19899a74f9d5fa52 +Tag = 4e11c5c4bb947650ce84a93253c54f + +Count = 7 +Key = 254c6fffede61d6ffcaa5d468b289355 +IV = b62adf6c370b36b5a7962fd0f1a8bcde82e66105061ee0cf4c9e996f3e00c12aa4f561cd3cdf682ec7d07339cda7e1e414450a2bf2eeaf85f98e4777a86485afdd9222968ffcfb99bf4478bef74686ac4223ee814ed1c2a3a3e270fd1e5ad3477d4baa4b67dc6b504ca5b00b3eeefb7508f5c9134de633c5836aad41072e8d30 +PT = 86497047b5371391ac50789ff9 +AAD = +CT = b093fac3b959777e3bca6aae1c +Tag = a9ae42f142aa82e4c68c51df05ba69 + +Count = 8 +Key = 40697b5fc2801d74cc7890893f0bbf74 +IV = ec03cebd6b59ea0d4e063b8c13d594ef8fe2b1b7c06efd5ee5cb276167a62d6bc6da27144b0a40438b19001c9530f1e30ba1b861ed422a8c4405f920ac860711658dc5feda71053cee8d258aa92e4bb1b82b152e6fe0aac55e2c6b954dd59bf980386ce5a0359ce8f5017b93cd6e1a89fe3688f9f4d8e32caf950b861b05f158 +PT = 1af97e98b682bad7bf6c947cd0 +AAD = +CT = ee7a8adf2fc5f650c8c9302b1e +Tag = 7df23913270d3f549b6e678d2ec62a + +Count = 9 +Key = 2e458bf4b0df16f1caf29c425ed72883 +IV = bc85fbc28306adc723037735dbe38da65503bffb0b160b7a0bae9a7c53f8929067edff45df5c1b243e7557d907066b101e6f0d1da2a63d2504d38db0205630c84f61044f20cae10975d7e6df6c385fc9d0cf016713a0043f7f703584ddb764bd657ad9ba558229acc532ef077454144c841a4f0e02eb288a718ea3c8d7c3c8f2 +PT = 91eaa51c4127535305acaa58b5 +AAD = +CT = 7fbe20b811e07d5f32b25f4547 +Tag = 609b85a271257c670e99fb39c52c8c + +Count = 10 +Key = 2a4343b20656a872f1dacdab9129c92f +IV = 4560e77673ef29138aa2dc65481ae066795bd95dca81750ade91122d1bb82034012b953d30d8c32e71959801f58d18407554c5f7220e6783d44d0432edc3a9632944db5ac74fb9b4255b9ca94a63913c01247c38957aa581b18a7b2e656a00aa490b42d858a677c3894ff5bc705c0796fc520c8ac7b502615a9dff9bb28c649d +PT = a7e355ded294c9a37381a0551f +AAD = +CT = fb825fc598375ceea6f5a6094a +Tag = f428b85010ea948408116b0e847821 + +Count = 11 +Key = 6cbd8fd7e03ebce1ff1eebdaf29495c0 +IV = e1f2442f698fc812d4fe24d40c9118e04993cb09fd62e2e3d877e0105310f569e044ffe7967cb116a9f8cfaea78d1dd5bcbbd52034b2a587ae086f645489f171f7adec12895ba50769e138bc6684e1adda8f17da46704b3f495c00696fdaa5bdde3ed7e07bd79d4eb664c11dd34cbdac39b5042314cca9797761fb3a1005ed5b +PT = 0ebd35c5e63dedb3412c0d7a9d +AAD = +CT = 3fa2514112a466c3d9d22ce6d4 +Tag = f63f70ea6a81d042766b50c327a58f + +Count = 12 +Key = 9b7d9cd77138f5b222c8d34b377db08f +IV = dcacf63d0a466dd21b1c21658f817bc1fd5435ecce5e7a9f9eb5f6eb8678f9abf395d41dab970123340684d3457f47b447736ba4cabe7b630c32aca87413b2ee8174d6f0979300f7edfc1fc064fea1757a80943efb68432430661ea6a24f6f950538ff5805cf38bda432928c10a6618458e97fee7016463c4dfbbf9fd21fea40 +PT = 239c5b2b9b41adf9de9cf03f03 +AAD = +CT = 8890395217bcf42455d6c66eb4 +Tag = d8750cab8f022d7dd105a41643bd45 + +Count = 13 +Key = 59e1cfa340e85cd420c2ea6ecaabd527 +IV = 5594482f306db1c46fe3ac603795fdaab25c8507314c41ee582cf86b3fbbf91d13a3e376c6132fd7f297ef356e358f6cd408b6f890a8143c2bf5b759437cc69fbce291f11db2438a52a0483482141207aeaab39ab0c5e29955476d37a67677ad83e4dc6f6d4be5c2725afc9b8cdfba8f905cfd86d9f30177c1e7d7f1f668cb0d +PT = 2ed2ddc4f89ce172f764cdfee7 +AAD = +CT = 2f3127110d8482bd28415b1d2a +Tag = ed552919da68d8c3230129470a2165 + +Count = 14 +Key = dceced1debde87f0adeac6d56cc0478f +IV = 63ffd4c5ef47e52b4929a244542c020f750495d21f20a6c5fb1019a83c795c552a0eba88aff18c1188b5e698589320ad535fd237709c7998227765db88297cfa93565c4a6ddf376218dc4f7bf4168135cde6a9d78f134dd9e818a745989d603795866804348b0ac3d82fff18fbb4b5ef7770018083589c65315f011f2166a4a5 +PT = 56a434da144cadb8bbe92e609b +AAD = +CT = 337441e37d07216ed7b349e226 +Tag = 65a8cfde666dfb293a0e7657ddb1d3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 7956a98c181d1949d1a9ca9fb1bd21bb +IV = 955b40f87dfde8e54fd2be144e206e65014199f195e1d318b4f79b558cef290ab02ec61ccb32bd17ce3cae5634a1a2675960d2ab11d43caa2152b6cd534679ce3a738be4950a20287a5512a2ab151ddb5cd6863f61a830fd7d20672098c99c8a6a92e98f17f2ea0022a441e57fa5fdc31cde94bd449415898bc499cc17144108 +PT = f1cd3f95efa41eda5ed0bd3152 +AAD = +CT = 936cae278cfca737f1316c86b9 +Tag = 66cc4ec6101c596fe5edc5771176 + +Count = 1 +Key = d6934ecb38d5d1a63d0c814477cc7a3f +IV = b3c80213b60bbf439f75b2c9e22ed12c10c3e0f9fbb2aa0183cf0ff092bdcd7b4cc977c492e0a1df853ae4ef9adf9e8338ed36d15e24e02058f601f3c9c32336f8c1c8aaf112b9e327c5235200be71bcc83b49222bdca97d95142ea4790bfe740c587fe974aae6e7af95ae0e6245ed8ab0bc9c78e837d385e50a6a55eef522d3 +PT = 67c0356b82685b2271854a10d6 +AAD = +CT = eaa8ea86085f33be35c9d9280e +Tag = e7d3b0553859c5396297cfcab58f + +Count = 2 +Key = 68743e579634c9d29202ab581b4bfa58 +IV = 0c200f940126866546ee4546dea766cc861f1911d1f982e385f40cda100e43f93995af39fd3b1137107e7eaa32f5f54d2386a3ca9b00c91c9be50c2fa6ce094ad17489193ef92d6a6880eec509b1a24cd21db842a8010151a4b7223946878cdca5cb4ebf16c3843adeaf34f54316d7b850f61d0b73a608546bb29d05facda14d +PT = 67409b2b2c9700cc21b04d8be1 +AAD = +CT = abc10d0c81e50e60ca1ff54262 +Tag = 8a927ed7cfa058a2dd032268cf95 + +Count = 3 +Key = 6cbd6bc9a076a02b6704567a6f30b3b7 +IV = 07ca63e9771719f9b4825d8302e34433568239b930e1d55295b69637e5a8a3f2b12adf1077d56488ea78eeb76e0869d12e67b37dcc949176ea71d4efa5cfcf8b3b1301947e549ef57ea3f45fdbf6e82bfd31bda24a00f03f999be51ebe96e27c091f960053af6994971550c9c236893bf33c7ca776d780615423067d805a1464 +PT = eb299fba2d95cf3dbfb09a8a75 +AAD = +CT = 6f58358c65b2ee8d85449cfdde +Tag = 0ff3da46bf506494bf8ecff3f25b + +Count = 4 +Key = d1d0ea7d3b68560764ad89606c470e8d +IV = b11c696eacb1b7d6df4d9181d7e053a4c70803d4cfe0a04407c6684a77a94f0f27fe3eefb13512142dedbd3ef0a755e812658d882e79c9d3097b8539c393f3187a770d4c5d4ceba09a7a412cbee319f7fab69c7df645281ef595b5762746e89843935549fe10d92ab74553c1d9dfb7bca638d40c7a87daa475d3ffb5570fd670 +PT = d327b54be9a37b7bcb11eca2b8 +AAD = +CT = 633f0d00e9c7696aa914f1d062 +Tag = f6cde419f21459556b5737651674 + +Count = 5 +Key = 949c339b408b61638ecb5c71cc6a6755 +IV = 4be477195510a8d8b56c22339cb7fb5df9af449c2931473d48045ca88e6f4d81f1cf7e5820961e889c93539b1cf8a1ac44140b2c41ccc6044f5fbcc8e88f3b23cf0cddb8ac39b5300f60107c40df6bab044be7eafb693d44f16a53cf6eabed6f9621d433dae5d81b3935f6bd62ed4d47e4269b224351cb0c5265f51524de3866 +PT = 9ac87da71c341b1b5725f8fd4d +AAD = +CT = ed193bfcc04a0e71a1a6dee5f8 +Tag = fd9bc6ade2ce45065983a88e6fdc + +Count = 6 +Key = 9a1a8cced54b59381fbd7b7cdcd7c918 +IV = c900994f7838070ca66486b9da7c96722567c4fa984d36ad381c4f47d40118a62953da00906aed5638c4c0551f7b15457830aa4c28ad07d2faa851c47c53d63750ff2c57274951bd3d299b42f3add9c1080b3d701f3f2b219f30d58683b8a0072cf3fb8dd5db1cc6e55d4face6a480ac5801177f315cb342e3685ac724e864e6 +PT = 8c48e5e81c76fef59513512305 +AAD = +CT = 4c311be1d264ff2df74ab7c1aa +Tag = 2fdec18e2103ae95d58a20e7a63c + +Count = 7 +Key = 0e182766f9157205e952ed08cd3224dd +IV = 13e3f53df9af22e5e70d47156f857127659fcc88483194a93b18337df2f2e25189bf27f3ffe0919d9baf00c2f0a8ebd8482f0a3ab523da64b67a23e6433a752675c545ad263e76cd534e0746c28d73539ba3c14faca77013f2cc8a3a3d345a578415b0e9833b2fa1c9931c322ac36faa58eaa4f0defef6661291809b8f4ca8df +PT = 06a39d6c54e3d11f754ab8b40a +AAD = +CT = fdfd4ae62708b3b46c2d1680a9 +Tag = 7d8a225f9d5e0d80f37d36557087 + +Count = 8 +Key = c47dda0bdf2f38cadfd32348f27f200d +IV = d4b48a18b38819d429e3a69cc9f2215e27fbeeeff8a2790d45d6ca05e12a5c82369e727a2aeb4332ead915317ca8751238d3579a1f1bfc099d7366c2dbb3e2cc21ee1d51f1c4757935016aedb8e8ef50f1de8fb82fdf2c7525348e3e40819687600d29c1ff14bac8145de6ba0db524320aa106b19640acc90fe195f352421e2b +PT = 188bd7fd45849466552a091491 +AAD = +CT = ac8fcaca9dbd7d7465e05ed5ba +Tag = d80529853aeaf25864d49e48d9ec + +Count = 9 +Key = 1c80769e590dc51ce66dca1c4d77d365 +IV = 3586c2f5731196e30d9b021fc93f5a7ac600f8da8b856e6cfa9115c79b9033f1b3f8093abbefff3ca53a199801ba2f2634808abe915c97127a8c399c362a2924f70cd7402f8cfe4ca467a1afc9bab86bcf853fb5cd93f0a9ba1e6eb693dbee2ca7f38e373bada40863c861d972c0f17f88d5684cfc53991f18569c9841421256 +PT = 7cc36616a718c35e891defb538 +AAD = +CT = 38a395c656d49211fb74bee61d +Tag = 9ec3e0c3e47867dc6f1f68037a73 + +Count = 10 +Key = 69ba0eb8b82e78f1c306d42d933a1655 +IV = b8dc8aae8deb82b6268b41465d77b87f370df7d6c4bd1cb98674b50e3d87fd4fa4ff621a853be46af94e7f95bd6b89d50939eb58e4db6793f4b6b34e7ed7d05611386298f375c4c6ccf756cde280a861c3d8d6005d38454f284bafc1b392c4bc6178897de6139c95fcc477ab9e990655fea3bcfde5cbeb07a2ca98c679214223 +PT = ef694f9449a30b0cb1934c27b0 +AAD = +CT = 54693b810965ab4e57a1b32e5b +Tag = 7389473ab78a9d4d57b33e3aab59 + +Count = 11 +Key = 00e6afd84578d831928e64b47e800778 +IV = e53e66dac4328d30d9da62c8b1befdfea59fa2eaae1d0bf0003e9b6856655b1ebd40151664bec19267286ade1f7afb30241b4636712229357b880a6f43e583c8b3785ce8070ea0cf0a31b4a8a627bacd8d1d3ea8a09dfef6e215782938c55c5a959fc341107b7f2a308a0d313c42dfee289b9816a31537922493024370769f73 +PT = b76c759f0d409aba2e452f82fa +AAD = +CT = 0e2536fb80aa64c376e983c033 +Tag = cecf74cf9721fdaae4382bf7ab7d + +Count = 12 +Key = d9c3bbab0cb83342f830c10e8be58699 +IV = f955d076d2b01fc1875e039c2f882d44a0cbabe063c08284476fde45aad0acd7e0fc4ce690ac029769ba051ee2e2c40ab43306d19fd537ac5222f3698a44aab7098d1a5bdf72146e35028bc471e6064b6e1509f310cd2d7660e034ad2f2ca6bd647114107490a6ced7a86a794cf2ca6d4b5093130d87f1dc55d8f86458b6933a +PT = f0551f10ea39a0bc4460ecb68a +AAD = +CT = 2a057ebde219a7dd7626fdc53f +Tag = 62cb0cd252338fe0de9930a6c2a0 + +Count = 13 +Key = 37b80c3b023f777fa664ef6e8a624b00 +IV = 0b4bd810f6131b19e1efd1ef5397939f6d460c46e83fa884905642966d64ad944c6417374b753065f54387d135cc2446fe356e39899486c72b7bc23d61b7d74a936c9517e4f2ccf6dbb0fd68666929d91f55132a837d383c3b8a1b88ec3f98b626602a349452d2f091d73777a59be0eb96ad3caa53cad611bc23ccac5b88e0c3 +PT = 28f43321cea62ebb6407d55208 +AAD = +CT = 4673399092451c65131b5b8f35 +Tag = ebf6d7a6e138bc2d8023bf05e01d + +Count = 14 +Key = f214cc29763bddf2327522163378ccc4 +IV = d14e4fb1bcf46fde0d7195674f6a7b2cf63b2718097c0774db7b78081df50e5ca90f1d60c43f18a05c3d328364222b2afab94841be910ec29092960dd9475843e1d8c8921d461cd21ff00affa34899370c99d267de1ffd2f1595ff5cfa1a27a77a1e156e5246d918d42c0da1a2bb5beaaada67e30e8f6fcc6bc773bb7bf39ce6 +PT = c54d128b321bec1e9b1cae23bc +AAD = +CT = 7a815fe485f5f7e58afa23b6aa +Tag = 7005b489d0a7e1ae99af67903ecb + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = e0c58190781f6156ebb779d6a00f0c8e +IV = 5f572fe1442192ac7ca5f3affdaad5aa6ce364fcc31366a03ac119c1e00bf6cee53b0487cf9d95031931ecd9489cfe94479b3576ddf9045de1967d308d96400b7ac259d00435addb934dc74805000d418f0d7f804af6af88cd7841b5f0f343af8dc673995e6d344a4e282d7e25e15f0a58630ee6cd2b7a151583efde9475ead7 +PT = 7cda684d7c67121ed319f51fc5 +AAD = +CT = fe7598123edf8a502e994b537a +Tag = 47c3d0a9f88138be868fe4bf32 + +Count = 1 +Key = 9eb9324faab5225d4c6b85222d83d1c9 +IV = 4a684419ef9b4928889ba771d41fc8a873296c8983b90bf9876fa5971c9394174bca72f0f8e13ea96d63804d8b87db0f8b5660b30eb8da9bc0f5cdbdc8e421ae0e3b6e2064bed32752ca94d718b424596638f79438181b15da4acdcccb045d8551c54dfc983091ceffa844b3c47a89a650351c7c53afcec367e332e4110eb5b5 +PT = 8814f0a180cf9b9f8d712f2064 +AAD = +CT = 3371ada966b5ceea05d66caddc +Tag = d1cc05a08853d3219c1f91684d + +Count = 2 +Key = 6b4402c2cc7ca2f68d8ade0d98a1eaee +IV = 47216f3161abf15f5831d29a59e00287d63fc5f2180fdffda5b90258f2c096fb4bab0a34f30569962d030a9b563002f81ef1b0796de0e5fa3d3928ccd19cea9417e8a858fac617873c82b9c2336b783f47373fb0fa7a0049e4334eb80677223c0976be174d200650f97e83f38c3349c43f56fcf59c10d06cc3006c43bed87664 +PT = 78adb1481c748f25787a387703 +AAD = +CT = 9dc365ade58f950829fd3fcd15 +Tag = c59216732ce42374124b0635a6 + +Count = 3 +Key = f11b1e30e1962d31077199462c8c7ad9 +IV = c908e8ad753757520d828d18a44572368708872dc4b6d67acbc38255c1a8d019a586ab100e47653bc76f399298dbb83de0618196a1df3c14a9dd58d6ecac6149f833a2792aa6c531b9df0e9cefaa372762a90c5345b86e0c052c84ead1f65bc4d41db3565362f5da1b24c9256ac6c964436ef4038897cc9c4bc2db1801703d00 +PT = 056153cbbf8677057afd4027ef +AAD = +CT = 3e4da754baca11b3ef75ab5f7b +Tag = 9c2ca5229ade9f1fcebce92785 + +Count = 4 +Key = c7ecefda2f5acf89ddf7af4c794b19e4 +IV = be0ee294226964bb4cad06abaac786a26183287443b1f8e0db631508a12004a48f89f5b572210168abd5ce092fe460eaf9df9b365419f63ee3e9d549c1f68f7743096729533e308a509f56c7a925d49e6d54862fbd35fea405a59eadda593f200e339ff0188f9c0feef0b250a35613d194a895af5a8dc7b305c81fee4bae1310 +PT = fa255fdfa13badd5bd8df90d87 +AAD = +CT = a7196522862be3c79598f010c1 +Tag = 5f9adf3a3a00c4c2014e8b2a58 + +Count = 5 +Key = 6a93605dcae2531aabc3f1f89771815b +IV = e64d7b9206c406f2da6bfe12ecaf5f2b0c2b1b34d991057c253da97c30313e186254b2f9d6d7a45018b3d3236a205921f9d532256cc41304b080c86f5d0da943735b3727e1265d9afecbf181ad1087e74eafec70c3c43ac56c8d97241b63b4f9f0f815ed18b5622c84cc243f5d046fc82c98a26d285eea602996052878029db1 +PT = 23a34067e51b45801d997bcad2 +AAD = +CT = cc0a296413a19e693311887869 +Tag = 31dfa18c703602b8df7aefb18d + +Count = 6 +Key = 68eb2d69a5b45acb479223802f832f2b +IV = 8f7f743d0abb1dece29133a27c65852809f733a2ebd03386582f1863b88267479ee83342e5851139be8049be2106a7fb5d60f953223acd4f5b58c67f84b692183bc78fe396c14c872398088492ac199acc020ddecd6aed97bd30a184d159f44500a590bda537ad616d306ea971f84a5332fb9dd45a45c1707e1e121f36483083 +PT = e5e01e3c1b50772b159d383f78 +AAD = +CT = 89fbf6043167955c00db43ed55 +Tag = 6291348b8b841bb65e908eb42d + +Count = 7 +Key = 23b57aade101914df5c29cebc6840086 +IV = 44dba791c810c7a06a76ddb4695ce02d5f216187fc8f8d8a4db4a80b158ddf510eed641b098b17bdf21fbe56d030bb75fdda4403aefef2341289ddb38704795b7482eb66fc148872a5c6617f2edc411eec22419eb0553386231d2f887973125b16f835e8b3bb29f7acad03ed524f6c1ec6c8646fc205b6fdf18979f21a39c499 +PT = 3e5b3fff531fc28cc5f18ae750 +AAD = +CT = 6eab2cb382ff5896ee2d46dca2 +Tag = d9cc0d6bee5f132cdaf88c6be9 + +Count = 8 +Key = 9c0a72d893343b0a33943e59bdfcf81b +IV = c9c8ce25189a4426ee09428425e3d0ab3212d4713041ba1553775f678a82e519532874fb524ce23026e8b5c431eda21a0bb3da8111fea5cd274e0457927aec1653635275e864e8caf462632f2a5390d01aff40ea56696bcb091d5a542f35fa40ad694bb2a16469e14f6109648794bdf0450ecf4f4bb9f135a4231b60341bdac8 +PT = f978c88e618248e7d545986920 +AAD = +CT = 208b8b36c06633b5a257628098 +Tag = 274a0c602b74da6777303ae6c0 + +Count = 9 +Key = 6dd41d1a15d448bed0c0c65ce7008ca9 +IV = b0383597e739a4625d13eb6cb8e068f249a2ca857bffb9c093f99e1e66743157b36ec28fd5e2c6624d7a707674f2322e49552d1cf5845247172d662f5921141a5b8d964d8538e7cfb82e494f5c8ec14d86f66defb2fbc69dbdd155977977125e95e559b8cd4d0cf092ff11d3d423d78ee8f665b93c87eef655bf1e8d79b55c49 +PT = 2ee7d395c199e2f5258fdc3198 +AAD = +CT = 657bd606728c16e35090c5059d +Tag = 89e3b790b0455c72882f23c445 + +Count = 10 +Key = f398fcd2ac776a9cf87262474698e92c +IV = f0bf75064cf331932b2c3d90784431289d51442b3feeb159c21958f674b26add577e27e7037aeeee2c9e32b9082c8598fc5e467cf0ff466c01ad38448a157af6a741bfee60985b0aa02914b567dfe0ffe90ddf476a606fa20d803c63d27f616a9d4c9b5b463cd046a00094e5d9b56f4c421e2e713f0479d02bb2d3cbc2ca604d +PT = ae3890c8fdc68b7dea54d1e836 +AAD = +CT = 01d45d76137b2a0bb0c18a3bf8 +Tag = c3affdc2de834e7ebe3022e2df + +Count = 11 +Key = 2a7fffac0df5c3fc1f769c496585c637 +IV = ddec748218574bff730137cfb7a35565ebf26453cbccd0d8fbc8b3ec9e28e4d8d915e5e6510015bef464aab4fd970a177c863177c5eca9c5963b77628ba01cd88fa2a1393ba9bfb645d90d438652349d2b0a059ff3c89f3badfe81a6a9af25e93af0eccd0bf5e6adab2c4ad08dc9d84c03b89d34c7b606f116aae7d42a32ae26 +PT = 59b03cbe5e24b5521e20e7ae1e +AAD = +CT = cd7652ba93cdf2b50b5f91093e +Tag = 5779c74ce41f1aaf9aa26a45bc + +Count = 12 +Key = 665566ac9340fc407d9c40fc60e76fd8 +IV = fdd18ebb6effaf03078b200557e91227a6361e45c7708156de9d9ba11bef06b09318ff14a7f746e3581f4cc955fca5a9a39c4684d7d0bce63425f05d37dbd783f091efb871e5b1c9e04a279d241b3990ee3c72fcba0d83e6df7be3e02dbe0962bb01f4654b6c1090b4f14b051519c4942194ac13dd8af726336e5cfbe137ec11 +PT = 57ce0bc489a74f016a5c579fc8 +AAD = +CT = c24505c1205ab082c5e9bf2e3c +Tag = 6ba02cf53dbe4b99813adf5868 + +Count = 13 +Key = b9e6b1d127309de2964bf4fece6c572c +IV = 50156866589366a0f812b3413e309e73e96f9dcb72010423a609801f8a988e6e509571a548b3823ab5ba1211666a995b22ddbbd465d9dba01a35abd26372d70b4960e0a1a43d4e221740a08b30ef619b58139f1832888d99bc0cde844b4beb6a64f974e46be788331c9f135630bc909af654364a8212a02c72da699fc5fbb6c4 +PT = 113b7517abf4e97f1aec3a7039 +AAD = +CT = 0e411a0f21e58043d3a15b7ede +Tag = b35097e6fe596d4ff31ab973e0 + +Count = 14 +Key = 2957a24e8429eb0c2fb2633123c3aff9 +IV = 9ac8db5f9ffbb1b6385b380f1f00a753fd1cdfeb6616e1fbca8eaedd78d2105961612b582987a3f4ac83a546c65155fddfd802802737bc27b7c03640f9a0e631d96a95ef6549f5153b5420b4f391e92416f7ddfc687f974a88f6f8509202f9fcf7aa7b364781861e0168f79376822cee35ca9fbe3167813547bc9a4e151a1fc1 +PT = 4ff252f5bf4f41116a8fe9de9f +AAD = +CT = 06f6bc34cabf168f994e3fdf39 +Tag = abfd53ed8559a8459a032b6aa4 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = d3b2aaf7f9578208a9632a1ab3a91432 +IV = 96e1fd58e40b4c693a79e2d5dbba94797d1b7526f18213e87571796fb517f4fe4dc7e8f414c3ac04efb64660f338ca848493c5a50fe95a9cbd193d35416534ffe456193e7fbb33fba124a13ce1054f4e8b3b6625b7c84ba987b510a3750d08403b615097c671aedc836beaf9635af43fca064e30e1ea6419d99f90d17ba38c6d +PT = c98d71abbd8e446e74ceb70d21 +AAD = +CT = 8961bce20b103520120dafda53 +Tag = 2e505da4c84892ba10562e44 + +Count = 1 +Key = 4cf973d6a9b51b60ae79116cc9b8aae5 +IV = 8b43c8d30a42d5ad4cc094bdb218f4a614d179c5ff4dd713215f05c8b5ce57752bbe9e3fb6884ea30d39e3aca941cc42327516cf285f6f2e03dbf2d1813c7e67e79ca5bf81856e9b0dab05c75c1629560b78620281e0e4c9958b03ba74086193256fc4fc8d89566207ce3132c400323b27d3e3291050c3ca9bc3f13842e803bd +PT = fc6208970ba0f2076ac0cc5367 +AAD = +CT = 4b338c27eae84f1fac666d59df +Tag = 0069a28ea11c35c4614ab4a7 + +Count = 2 +Key = 7cfc7a37b72bd3c79543008b8749d4c0 +IV = c41522d44ad95f3a320946cde32b33955524fc2097e49c05ef411d57e31fbaa38572e247e3552eb49c3fc74802eb3cd5d5c0a85f7f19fb03803034f331a7342e8d43ba63f8af35c8b3ea6e3d0bc49fe5aed26f9249f119cb878cc6638cc67a09d12c443fac8b42e92d97ab18cc416e0b2ffa56a492a39712f2f6d487e5645eda +PT = 86fe5ce4e07697124f1cddd0f1 +AAD = +CT = 8eeafdd32e319ecb8ddfccd610 +Tag = 70b10440c258a58e15449b2a + +Count = 3 +Key = 5a28a165b8e9e823fa1f6020df3cc489 +IV = 13bea284207879f971f13278c16b19e143c50b9472b41cf4cd27be3f15383d11afa0c323bba3d6f5fd771149f9f889dc41e74faf4f3f2dfd7a852408774fc1a2b70d3483e44929074edeff64b03527b9c330f5279bc4559bb9e4ab5c51af6162ba28973b2f9ecc7da49b5270ab51e5cfbf45c1ef09741ca515b415d163777b26 +PT = cd758dccacf89d93e6d35d2550 +AAD = +CT = 18a55dd40001ce155246861a83 +Tag = d962c29895e78b70364df480 + +Count = 4 +Key = a9d70f709aa0de2de03d76774df6a8a2 +IV = bd6a1e68623cdb070c49dbc95e6717ba2792b79541aaad1ea2955e545aa3e7d138b10c81666133eaf4768fdd3bbed19482e96015862a2ed6cdf4c9803d9f83e97c2122342c9744cac25b6d9f88b0ed85a1b075bf57253a36fb03b2336ef595311876ba85fd9971b14e9e210a287417bfb73ac214861df37388ec8472788732c3 +PT = 71d6ec1c62ee06b8888ccc0087 +AAD = +CT = 23d91bb5ab5e66b05a3b6a8369 +Tag = 4ca8c1662100af89da5d37d3 + +Count = 5 +Key = 0323f55cfecfc5de8cd02b5b27fe2acb +IV = e641c156b09a5f7dcbebcb98e7d77af9b3659ffbecd4de0473b46ec5311356b0da0a8f529bf37269bac4ad9fe4e3a7b0f3a17d508d07643bb50b032e36f6c5368148a2578c265fb0420f4bb38a6500acc46ddddaa6560f1b779c2a6eec4bd635fe9351b71745460e432e17ae6ff2a8a1e9d58b538f251c124fb9b635f89d1d29 +PT = 81ea3679c89f53205144da16d6 +AAD = +CT = 33caa37a568ee07a6720bbd08e +Tag = 35796cfbe8179e13020792d8 + +Count = 6 +Key = 969e975aafce8c7594144e768520fa02 +IV = 2086174bab82f7111ff254d5575a46fc97ebcaffd67aa3779524ec659622304e5ca92cb93bed9d1f996d1077c1b77984ad6cde1d3e7f7c5ecf33eb1e916537cde65f0b48ea31eb8aa42800382c864d066af1d40bfd98158a57dca3fecefefdc8803bf01edacf0d00ec4cc1e394aaf466880c69a1146021fa0f6cd52574f85693 +PT = ef0d1f1e1ba010aafc94592c39 +AAD = +CT = 2505bd3b9687df98fee62e18c4 +Tag = a453a6589130ef41607207c1 + +Count = 7 +Key = be85b606d868617ea4cf032f77c3d77a +IV = 24937eff303187921cf2bae4341e1119e19fd15b930d2e810a25297341fa5de638b90846b08b4922b93a1a295bbc3b0d2e9bbb9e039f58976695a3bd172229e8c418b60e8d93600f6b62cf5b10d9530bb1a3112a85a7b3fe4dd6c94e88960e84e8c96c0898b4d747e6e1cf4450c7b9429f8a6b9f068d12c8cbff2a5905ddfe61 +PT = c678f8492f62299936fb5bff0b +AAD = +CT = 5f493555ae204b6d2d1b4375b6 +Tag = f933f6c7e2592660c7fe5fc3 + +Count = 8 +Key = b17a40f069bcad22542551c6d819bb64 +IV = fe5901bb7c9786d674e36bb371fa921034e32b7956e23b9e7135cd0b473988e97e4323a4278d8d5f4fb9f8788c18139abdba5acf0f99fe67d74b37ee1d9c679f93b7138bbdfac904e1cdf5b4b6369c4758aa152159cebcd5121e2774cd0a3eb586ff00810b5ab432be66aaee89b8231db332eb16da2dd17d1c5265f07efa8443 +PT = f2208cd0ef442ba6b69e7fd83d +AAD = +CT = 454d0e6d0b01da90479a094ccf +Tag = a8fa0860f6a97674e0858680 + +Count = 9 +Key = 64e299c8d2f192ba1b84dab984d118c1 +IV = e465e9d19075d8c16669d191c1b48582100f341304dada20fed8264fff40522e0138ae9bd9abd584e27942dfc895e2f2400b184a47168c34c017bb8e798354c8ba404301aa836e3b1e814385921cdf42eee9d83b982b7071a9ca7ad695780505394d53c958d546368493dda0a8d5c8918049b452c1b45b11594b54a766976912 +PT = 8e0086a22ac154c877ac9f8b63 +AAD = +CT = 6126c9bc6ab0016aa45db8ec38 +Tag = f1799b727e4f828009f6c223 + +Count = 10 +Key = 2b7639e5f6ca8fffffda12aa8e0e1e5d +IV = 6f614dc34bdbfe9b2d5b3906a25a6549636992d99abcc6a6a0aa526ff61b0d2f0a1c8a440230020a29618381e38146ada512fdb822f59cfd80f0fc37b34dc96d821cff6e9de84d86e78fd11ffe03d341c8c0180273f50550b400af3dee0e59b44bbe8a02af66277564eba6ce8af9a1fd1bdda084ec811fae386e7a2a1b315320 +PT = f4ba8104f806478dd37f2dd35c +AAD = +CT = 618e3aa27d6dadba401b9b2a32 +Tag = 796dc8f95af19261207ae08e + +Count = 11 +Key = 574eeeda218798d4fd90ef10ec6083f8 +IV = 6c249fee1e2c1a19f5427afe6f7f83dd804be306649fb873311f1a413585b814abc65b00fb767b4fa67010d2e9670130eace0acde0a5049618bdbff3354f56859e8fb5d57be23197414f8ac39eaf4c77f919b54c52193a31ab00ca15e5be9f883523dd365bfbe3dd0eda99f7ed24b8621db1a016aad2d968002681687b25aeac +PT = f7e5440f4aa86c8e620622645a +AAD = +CT = 3eaf472649e594b6e6cbb863f3 +Tag = f4c92ddde0073be1c42df378 + +Count = 12 +Key = 02d47d4a86bef59e5589f0d7ef17db46 +IV = b37600b6ebd12a613c624092029d95fb2fedae7ad6f1897b3d330cddc8f16a84ae8c6a71ad1d97e800a0b9080628760fd03d6ce846562a3b38be74ee15f616e49f7099a74a3056913b0d6d9b01446e03beb29501243b3a4b71e15da153014a78f953760f08c9814ae0296c1c68164eb7b8ecc85e00556a0cb82ec0d17423a4bd +PT = 2519393fa61cef79cdd60a8f0b +AAD = +CT = 7d51dff265fb89d7a1c7e7f946 +Tag = f9ea4f81a9ec77efc49d93ec + +Count = 13 +Key = 073b1d9fafd50586022fd52ede630e7f +IV = 8e417eaecdebe1fcc282144295c1f8c7dd0e3eb0bd2733154b5e7b0d40579ce1df87eb13d7ab1e9a962675f18e9a20715bc30a2b86404e8b1841abe319e36d11a30a6ddc59049e0fdfe82ce6d9cdebca839f2969f83e78069b632924557db6940d543057558758436bf9304513eaf22a0f108fac37d82461d8d51216a92e34ce +PT = 72c0452eaa3f4b979920fb3681 +AAD = +CT = 546bce724509a8377c62144b48 +Tag = ae3c3cc32688c41c9eae3670 + +Count = 14 +Key = f77354f2443cbbdb0bd9a2e321248dd6 +IV = a6f20e842912b74cea3eb3e04db9a0b2bbae4ef634220bf29fc9444acaf56429462a20ee71133cd4281aa331b2a0e1bd0698969b5fc61d470b86c80dfc12e346d0a4b46f72598fdadea98f7bd83ef61e43af48fd0851f5933058332d3f7309fc2622738e3f9de80efe974c34aee5b81665be6b9fe30a8a7b81f673411c95db4d +PT = 8578923bd27bbfd24e07add34c +AAD = +CT = 1fc18dda4f91243e0e7fec4df9 +Tag = 13e24c6ffa7ecbcead0a88f4 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 310e573a470d3ce0bf41e26a89f3d55f +IV = bc2d00cab8e835c3cd151ef32d4082ccb061f5777f7d641618f8cd18d708c4d1af349a29d197e2d493eacef745741a5f170bd6bca7ff9d78333915ff0884462895ae34960a1b97fae2e3d8d1b137dad9cd3f49b64fea8b66b855548c02225a4db89e67bad65b713b9b1346d7e330fb6276bda7d80e21cf2ad058f823c7ef8d77 +PT = 539cf3189edcc83d217f7d24c3 +AAD = +CT = cc8cdb2a6670c152c7667797f2 +Tag = 9c3b9ed8f8aa10f7 + +Count = 1 +Key = 10508b663bc35be5daaeeee7e5868004 +IV = 27ee54cbb2d7f0d0d0a6b811309228cf2b62761078132a3a011eca3fdc883a922914fa8aa07be338b4628ad59ffc0195e24d9b23157169cf3f52f5c011db8af9b92bedb9f33180ba7f792461d88cd28a68a5f8069701f770e64f5e038aca809afdbd53b84a94bb10cac6454d81def6052cff4b9f867ef067f14263784e205030 +PT = 5507392d2a42066dbd1bdf5ebc +AAD = +CT = 8f09efc7c138b4df667a1cfa4f +Tag = fdb3072517f0cfd6 + +Count = 2 +Key = 5453bcd0074805467e507bbb71047bc4 +IV = 61362f170549a5ab6cc38755ae633ddbbff2c6a01c37a9b32df03903bb6920b723692a730a49e9da047a6781ea9c04c040d22bcc845e1ae5c75b27e7a6c0127a3c303149a3b6107c51aa0c56a044be0940a98ef3544387823120d5b91e6df72071e6bc1e3d878b6c36a63374dc6fd663125819c3023db9338b5cbbdb47c0fdde +PT = 09c3212da575086de8989c5057 +AAD = +CT = 50114462d53af2c722a87cfbab +Tag = 40d1db0577571bed + +Count = 3 +Key = 0942990bf070196269a69bc1cdd87add +IV = 327abade76366f42d512f75eae5b808277277c0488f93c76e9bdc9d10fc661911c9f55250ef1cdfc1952f368e2620a7df0e28e84486d2b6d2cef6d950902ab10f08f20f8d42071df5da5b8caa098f524c32c3410032a50c055f86b0adb14b3145dc09ede9d496b5b18e15568fdb8370e2a22f663ccbc935078d1293f01832238 +PT = e2369fef48abcd3ad3aea664bc +AAD = +CT = 4ffc101293b2e01d5948ed619a +Tag = d694cdaa68ad6d0d + +Count = 4 +Key = 92aa26522c5edcdaf38ecc2b97374fca +IV = cd2bf7d23a3284f80ce29f698f35395bb3204a48b4abdff5e6858d7487aaa92a186bdb7521527879ef15830c11fa4493a0c058a6ee745254f5012cc1d549531b59d9ad4c460cb257f2afc5782910bc5786242179aa0549ea4d192a65c8f537cdef9a70bd999d765d1dae8ed48123beeaebda78467b185ad20a71bce1e7b9fae2 +PT = 5206f568aa6c41866ba19cbe62 +AAD = +CT = 801b6c07a5a27db1df7120291c +Tag = 83de6648f6879e95 + +Count = 5 +Key = fb100d148ee93d13fd363054825fd09f +IV = 14b941cf452f5b685a4f93b8b0c128858c28d3e01be411062d0153d07c09c3d7f2ba63e84bfee04e4bcfae0055129ebf652e9f3e18860ab43b79cd4bc1347351b07d18b391661ada24b6a72e2b14f060377712e8e960e96e80d27eedefe35aa0d15cf31fac258ba99b2e8c151e0457249dd6c6aa1f79d1662487385f6ccec9d5 +PT = eb02e9874c8a6baa328718b55a +AAD = +CT = f5169f22d79e3302a441003dc2 +Tag = 6bee074f42063bc2 + +Count = 6 +Key = e726f5472f0f8d48c32df791383e25bd +IV = a7375b83dadc7beaf5b450442ea96fdc2978484143da7ab891b5f376812a9a35b5c6b51aa0575cec10c333e6bdea2758962680f1d988a9c138dcc15620ac15fc084a283b2f8b7d79b58b301366b53ebfc19ab7222dd6f717f2a58f3e854f1da7dd8fd39e4f652f808c43b5c92f1acfa4ad3a2041195905477688479f797994fd +PT = 8e9db8d973ab3ff53b333a8b70 +AAD = +CT = 3e55025ba4c8236a2420031467 +Tag = 5ece420af7284c9d + +Count = 7 +Key = caba95fd7baaba0522b4f7b8f10228c8 +IV = ebda8b6fc2902e253347cc56884ff657edf2580948ee935eedb7a09b51b4ab357729f686a7c4409d2f442923c26dedf42451ae6302bbb87f792a03c893d59118becdd82946b74c8b85e7affe74c75f1670e2106179668df3bc90bc64674bbbe0720da44df1ac92d7df68dff85f3d5983ac676a3ad43c5036de05de690174a8ec +PT = 6b9109c77b472f80f5c15f0f60 +AAD = +CT = bd79f601db13ca1f8d6aa95a0c +Tag = 23727f831f9cc080 + +Count = 8 +Key = f066107067321348f16abcfaf6287951 +IV = e1cf36c53bd162ebc224bf6504e4f79fb0b1969ea7686e48af08756facc3ce286c32143737446cb0cc73811436d20192b315277b36f89a8b4a9010733354e99242e14f0668af312a00afc0c38bc70de119ab35fdc1f114c3dbcfc8e73323e2c37e73b1beec3ecf38c4b22de6fab817214f6390a6dd25a09de7c9c33304101601 +PT = 6ec07ecaa67211a677c2f7d732 +AAD = +CT = 1836bbdb25f90676e888959cbb +Tag = 857871c0a232d045 + +Count = 9 +Key = 98648e75fa9425b3e20f22bf95be0476 +IV = f137735d33c12522d54ea316943439dc495e2f3e2c2e0c9a8dd3a29847faba1ca363c3964ff021faaa17be6639e644b111ee2f36053c49e4a0600f52fe2be8cea20d880064c854f5f2ab634e9898fd79376b623e20a1d69156ef290215fff510efab6b56e102eb6406efb230c1ee841979183d348c1072bc6403df6405617897 +PT = 027fdecbdda4a45ac3795a3688 +AAD = +CT = 7f667fda4b28cfd36cf9d9106e +Tag = 2b6b34ac2973776c + +Count = 10 +Key = d81a3bd757d1215950f0af14deaa63fb +IV = 0892f89aee1dfacc3bcfa5c77819e0a97e20810dcda34dddbbdf89bad6f3c812c91a30f26f45840f395691bf818ea30f8963cb144a6fd6a6e92d8e8a4e588fa08c62f016332c30c60804f477f3d659094cf72bcb3692ff01115da0ae1ea81ebb20921872ef91d99c8f77b68770e47b490f7b848fe49833f7ff2743911a1bba72 +PT = 9bfd492288c0463008499a13f1 +AAD = +CT = 4c2fc8712bc57e1d7815d29a54 +Tag = 8f5d1c563693fca4 + +Count = 11 +Key = 3b9243afded40feb2f96e390c9df3bae +IV = 49b68bb00b78a6c3386eee5fe5df87cb16f742989091737f98e9f615faf64b29bf3ac4d3c93ad0cd6b2f86443bc69a7b57c61e8885b30034a51148572a65cb2e57069be6135496d9398610ae5106d2f0552e9253871293c6ddc13b31b01f734031fdbe89ceb05d7e20d704bfc22cb1875867e42931fdcdfe48b29f5d2aeb1135 +PT = 32010d1816b99a4cd3034f4b41 +AAD = +CT = 93c3aa7c36e69c82364b65c943 +Tag = 01ac39ae955ab36f + +Count = 12 +Key = 1098aebb57917715b105451625b8c9da +IV = 0ef91d24383b69e76c42b92078e8e375f7e521a383aed13d269f4121cbb8ecfad5297240a8265c91c98bd933c3c3f34b128ef87271fe05be94b125c84dc65c030f1297aa2a47f61ca1610ce4040c3058dcbd7aeaa7315913f0c71ba990a2ebdd44794e089322a4f33372a226ca03cd30a1e0ee792398b1cab4b60cddaf186e59 +PT = 40e16ef8a56b66c03be2abc44c +AAD = +CT = eb05c4e234df316b0380d65ff3 +Tag = 4fcefb4825e7e911 + +Count = 13 +Key = 798817e1ecafdc7d3dd0ee3a556c1398 +IV = f94ac55ec128fa851210d33d6a5bccea9b0b25595b0a30f98d91af679d39e3612b69c93f0956f443f078f3c73e63e230a342814e6a6852b3376df76bb51b7efee66ea09266169c789cc63465b3bcb08cf4f58636c01b3ec6eb80d9fb7e4b1fc08e22c16d59ab1d2fd2e8978acb760f1d121b0da2ff454e1dda5377a0f177f67f +PT = d9d0be009cdcdb4a82fe3dd8ab +AAD = +CT = 22e6e5165491425bc77852431e +Tag = 8a9b59915636cdfa + +Count = 14 +Key = dbce6bf7a8f6b96f9387a1ccc4c06933 +IV = 278d036ca5e22fb409b97544ee9623a05c5a8bc6bcf387fbbbf8f10487b0381b1ec55d2ce7e1ba58492c4c83a320ec42b7f13ecb6dd06d784df77f0afffe4921e43d37377f9f1aff936f3f9081fa2a796d8c00361b72a579df78d00d65b54e323b456029bf8895b80c0ce39a6854bfd0a3b3d56d849a92ba72649a04f8619d7a +PT = da9a3651c0443685c725e243a5 +AAD = +CT = 03c65413419c44540e6a93d1a2 +Tag = cf7fc2eff59f7ac4 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = 3a3a6633ae470424ee3a5679f35b9738 +IV = 802bce0721d8bd5e4acf9a5b1a7da32c78efd2d1a7e3378f413b8b2c2b4673d46369815b0a27ded9d951c69338a6fdf40952b9e167d51195d8a39352b9f3dbb82d4128c1e52527463fc8b7867ef0ec7d1c0f8a0bff46e99b5f1aee0596443ab318bfbf62830d11206305fefa2e4f1716a65b48825c6fe3c08f1e9640406a904e +PT = e5a92a9f48e1f1fd3629096fb5 +AAD = +CT = 27dd7d84b8bec12541dd14cd70 +Tag = 03cc4424 + +Count = 1 +Key = 7e070ce6b976105d9b88589c2f0c3cfd +IV = ae5a57e01eb4487344dfe2c2cc211feca035a1aadf7eba405f40fb6b03d5e17973978d16b17319a2ff9256ee315fd1a0a4c0fe5298e340d37fa28df508bed58595fcfff252ead5dc8feb8e6cf9d0a24e4ca0336f055e9a2813a8d2633df729131a85970a07c26bef10088c23d0d8104bcb57c05fef58d434b06f7fc5b25f5b1e +PT = a86deb2730d7e6a6e0d0824d3d +AAD = +CT = 60bc2f11e659106fef7e82fef5 +Tag = 7b12f701 + +Count = 2 +Key = 8b0d99c32d5e11664a70b2a7359d0864 +IV = ca25a2209f3676f482b3b379639531d5afc3a3ca156e7f8dd15e2643b8e08ac9ad51cde22a44ce7d60b4c5a33284fd00645687ef7b62d01c36e3542961136dc0127d892b566ee8503a9c05b1da7adf6f8529da6fd351cbdd82c2941f14337a6110fe7566d40afdf92dbd8ed975cdd9b89f4ee38f01d184f5709c27ba4c3721f5 +PT = f9773cf226a7125f2298d8ee56 +AAD = +CT = dac37dfae3c4fb29e3a5f81dac +Tag = a8980ace + +Count = 3 +Key = 4515c38fddd5daad50cd77719f67d0da +IV = 5c1c280c493dd4221392f415043c9773d60f7b1ffd80f0bb02bd9933fd7a28df32e1d660741c08adac6aab2918349c056d8d7544f05c569795223723c8b525fb8e5d6dcb51d19b434a33bd8dd1be625cde6657f0d3bd4bce5b0e4578e0e6364e48522cf4b79ce77cf6e7302407b384a495fd5e5d9dd4698bc89705caad3bace0 +PT = 3aa97b6ce07edc882cedef3205 +AAD = +CT = 2417c709e15452345f43c43e11 +Tag = 36eb1694 + +Count = 4 +Key = 0c34ad3d635ef0ae684edd201556f6b7 +IV = 00d9b02d1e13f8a3f5faf6e0e3b42dea36da6f4b664c1c83314db99a2b5a428b7e4f553fc3c95edd0fdd4f43c8c7afaeb242bcdcdd92944c4ad0a527e6dfd2609d8d375208c601d02505643afe25fd4f17de60987a7eeed6ee12817c86c8b0c116378f00e74f5b3b6a222c453964177ad6d548d7224235fe1e6d6030fadb3334 +PT = c7f3121f1dca626499b579a97b +AAD = +CT = a6bd2142b6bde9fc6b774af17d +Tag = acd20fff + +Count = 5 +Key = 88e2aad2521b3c5b55cd2315db51960d +IV = 4cd55c37ba5f218136eb774f92938e57cf751451e7d5e0dbde3bb29622c069998f867e6f7167389acb96a36b0f5f740e3fadf7957968797c40090962bd2abfd4dab4306252a91b5d0c503f8cd5ab25627cb5f99ca0bd99269544843e4dee2f8ecee9cec89777fb7857fc138c93893d228792026b3f18cc7fb6e02cbbcfbe2dc4 +PT = b6cbbc24f0b4cb58e16bcbb8a5 +AAD = +CT = 4701e96479fb2af610fd98e5cc +Tag = dc0db3d1 + +Count = 6 +Key = 5eb8406eb02c2c71910d2402833e0b47 +IV = 8c7ea6cabfc492a30f5a465cf75bd05ae24cda1d16ef861025e08514047768eae3eafc8210ef59457e53797fb02045720dfc0a6d5a48c5e520001b54bbcc51fcf1503851cc8bc94ab0eccd82e022004e5af134756df07682903e40a568e3355f2ee239eb5dd8c1b2a7d894454fb63f37715f548de654dd56bc3dc78f5442f05b +PT = 94b6f359044dbcffd45239db6e +AAD = +CT = 568234cebb0317f7b5fa6eb6d2 +Tag = 122b1f7e + +Count = 7 +Key = 17e55094b4fe38d62f5fe8043aae5e14 +IV = ba043eb90ce08d9ad081d29b49a5a982660a9c64414232f00eb61655dd459492760684432636a014f2d28e626803358ae90d0e24ac7f0eb6952489d9f288841c6bc3df781754ac4aa466c5e415a176bc937203c95d8fedd4f9bda41df45582f9d9079d05345dffce93cdded3cd09d9272c4ddda629db59336682e709613d087d +PT = 11d9b6b916e6be6def8999acfa +AAD = +CT = 446b28b5b885268252df5ade9e +Tag = 1d20ed4e + +Count = 8 +Key = 84fb6c8fe5c33822408a6347f6ddfa38 +IV = 3733d272a96d873f73f94a37432566506bfedacddfda3ef98e94aa5fd1b267e8eb2417a00d035a0b2371d9b7e1746e9af8aeebdb38434be362cbd23423357834fd2b0c3bbee6f4f7694e42e3f74d4af5b9f9d9532376f625866f0a9889d4c3c6cf52fc26decfc0721c7399d1d439e8cea3b120602782021c2c34225345e8a95f +PT = de6b42f710e2a91d45588aaea8 +AAD = +CT = ae5611e4535ec5f1f68c23008c +Tag = bfa7554c + +Count = 9 +Key = 65614b1f7a4ce84c4b1321ad3b6dde86 +IV = 581370633e48ed9ddbac658bbc9f085e0077be3b24923fd95fc72083813e53acdbb783a4da7cc4f23548ccf671e3b03ab4a816fec83c68641081d05e6a60999849f6c9feea18d801cafbe1500976555d23b8da0eaf9fca2e4d9ac2a42800081342994483cb18a4940f4d3d8f13cb22558b7e6be1380bee502074365dc9670acb +PT = d41d2424a4a5c5cc8e2d6902ac +AAD = +CT = f59f4f13fefb0e0fad49c462e6 +Tag = 99f9247d + +Count = 10 +Key = a21753adf64d3d6b5fa5a62588c0c9ed +IV = 554cc3f6d828fba470fcfb1623e634059847d9989f4e836745c49c87c059843cfbfeafeba4620e74e9888ba4cf1831893c85c51770061660f4b03df3a472908246848c36f5a864c68a5c75dc5bce87e5029b45fb52886ec2eb11e48da1548ad764692ed87e9d46fb1cccd3e6eeabb44f7970d4ab0a9f2a7f24b93c5792afaf2a +PT = 0e202f828a5461f331e853082d +AAD = +CT = 7b0213cd69d74791cb4b09947e +Tag = 8a84d1b1 + +Count = 11 +Key = e2a6d34d68dbf91ed2f49acc0fbad244 +IV = 88d5133a5ad1e307adcd77df3e5dbccb8b47d8bb494760eb5d10a7c1653cc69016841a214a058672310a1a98301fc7424f153cfedc396cb281258dda9552befb3a0aa90dcea9e332038a480748f02e6422368c33502922fc752fc49fc2365cf0dfd833f750d9cf0740ee3d50ada30c9e255830dbfa01e68d80f389a7aec8ca8d +PT = 175deff4d30ec73b0aa1ee6286 +AAD = +CT = ba7ce075bd17b853f803ab476d +Tag = e5bce940 + +Count = 12 +Key = 10d62c8688debf9696ccd70fec1a7451 +IV = fc19acfe4a688c4bb0d6388aec53cbcd63b754eb6f72eea6e4221ac54aa6bdc97b19d509764bb71b7335d269b71caaf54cb99038e5f2a8b8191b4317c8cba3f79b1df08c35608b6fccf8286c404356264166b0a23d611cd05a6e381cb1b8bd609f2a2daeecaaa08e1dc5e052cfd269cf0f83772150b01d0284f08182881cdbe9 +PT = 308d992743ad7635dbabaf503d +AAD = +CT = c63bddb273497c2c7d56d1a08a +Tag = 636797ed + +Count = 13 +Key = 34caa6365d654a2ab71c57127184821d +IV = 89ecfbb033fc8e7473985ff61bbb997f82b99afd88cd834b2c99bf49179c300a30e604f4d0bb07bbd980fe10aecdfe517ca86abb9eee05a358a2d3a709775ad734dd05d09e4ac6d82d15dd5ead657295553cac7acab92b49eff624c7399d01805b6d572ce5bcfb8c0fa840c6dec9b31340be0a3262ec75d3dae323be15087bfd +PT = fc4ce9ca4a442489a25d2b731e +AAD = +CT = ac04454d1ef47648b00f844043 +Tag = fa8f9fe7 + +Count = 14 +Key = 357b859f0c024d59bc580159a5f89f64 +IV = 1af5b43929b28c2294ff9effe67e7f3d25933e9b53f2b090b5f379846208f18acdb4265f6cdb02bf09b25d46019957702017a613d182d6c0d7c78eb2df8341e7b9fb4b97f8f64e583fa284bd99871424be4eab77be4e7b121c6ed7f210ec08e759674cc1f093dcfda8f44af62d4b26abefc8f5483730db7ea78ef155792443f8 +PT = 556e605b4630068f4d8ab0ccb8 +AAD = +CT = c949bdd42150003bc16307168b +Tag = bd0170f8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 2109d89ffc1c7d44f2fce0cced7399ca +IV = 08c565313fd670608a8d91d3cb44fdbb6f813a28eb2f8952e1b61ca152b9d34d557ddb1416ec6b1907ddd46713848d4f025e290dc99d664ee7370643048ee9b7b740b2da4ed995d4afd29f2740d4fd680c02f7c6b508ab377128470f40883084e57a36530b0e4a8ec812fd6669fb7bdb667c00c4973e98599120f0ef2593ed93 +PT = dff0b414f159c5e4aa632a854a +AAD = 13bd1a2ce87dc1f4fbb409c5867539a8 +CT = aca41a44ef1c749c5ab1e758fe +Tag = 5279d2f1a30816596d30957fb87d205d + +Count = 1 +Key = 4a0c00a3d284dea9d4bf8b8dde86685e +IV = f8cbe82588e784bcacbe092cd9089b51e01527297f635bf294b3aa787d91057ef23869789698ac960707857f163ecb242135a228ad93964f5dc4a4d7f88fd7b3b07dd0a5b37f9768fb05a523639f108c34c661498a56879e501a2321c8a4a94d7e1b89db255ac1f685e185263368e99735ebe62a7f2931b47282be8eb165e4d7 +PT = 6d4bf87640a6a48a50d28797b7 +AAD = 8d8c7ffc55086d539b5a8f0d1232654c +CT = 0d803ec309482f35b8e6226f2b +Tag = 56303239298e06b281c2d51aaba3c125 + +Count = 2 +Key = fb97be8c785cfeeadb212a3908f53ceb +IV = c35006f11dbfdf00533ecee296a2a088b9dbe845ade00e03a83aab2a9d2859c512f64dc0e2dd47c8867aa33d210439277cb0a5438c2fea962af2d479dfff90fe3ea452b551c5095edfb235da33deec7b02363f8c7acfae368996088b605cd116fbf59c642ea31a52a2f405aaa69c94c33f0b08af5f2dde40d1a4e4c238aca8bc +PT = 6caf4667817cda3ba5ecdc77e1 +AAD = 1b07a0ecf30d25a40d8457c49c72a328 +CT = b5b53b5ace04ac6dcad12e1c28 +Tag = 4ac51884a209857655a527ee90e296a9 + +Count = 3 +Key = b1f81ca2290f4fbc41a3d46f896ec923 +IV = 90d65409efd2f5eeb9edc0d66ebd0765be71103673379e70bddc8811131774b989ac9951ecfcd25cb8a301988c92695015ab815ee7c6124683f6129bdea815be05686eeda1a09b6104abb917bca0bbd1def66f4ed23a95e900880580020cd48823d4be19bf82672e39eaee83f292028d039738694f90702f36aa38e765e5d5dd +PT = 02ceda49d61b92153950d61eb4 +AAD = d0fe9977d14b1af9c6ebb61805604711 +CT = 8a6abd544dd8fd86a0d3b8560c +Tag = aadefbbc614c7932e1e3d7b048ab8453 + +Count = 4 +Key = 52d7444e83adc1ec7aa96d256a054bc8 +IV = 5de24d31c6233f33b57016f29a758fc4d1fad0b0ef8cd11cd56c09937fc41f71ece87a8700be56819833d2bf66bdb38b1e7407625e24bf5208f7bb74966ae3e4d0d5e5e047780c538b05e61323005534144edbf54a48688d0db383b6b17b57d5284534b910d831946a255a78795e0c04a9cec1e5dca6142e619d201320f73e82 +PT = 6e28ccd161895462ac5e67090b +AAD = ecc0cf069acb32174073f221e190536d +CT = 353268d0ead18f6cf77a470142 +Tag = 646dcd4b78b62fca85941440e90a099b + +Count = 5 +Key = 4084afe8e1ce9e37b7a15787087da434 +IV = 028a05a6f9536316861e40cde25233206d6c6c3007c60ba747d68d1adda85fd410413871dd32bb72c44cb839d6d1a4a908da7d7ba6677523d244158da95ad041d80f263bfc0852bc9496fcbf3757b466eb81d2142bcd8555f2514ed5cf279a5827d24021fffea57305c9af3b2f55ef17d1fd2374356de0ebbb2e8c135b2a315e +PT = 9e7c7ba42a6cc167fa390cf139 +AAD = 13c89168d1af52c3b49a525b40a349b1 +CT = c30751124108a376cb84263090 +Tag = 9ddd7128d75725a58725a2a0ed2e7cfa + +Count = 6 +Key = f279075e7f37c2cc0b2a2ce4bc91de09 +IV = c0c27fdc92c1dcafb4ab06317c4ccd83eacd9283314c6cd9f2ceab466459f06936222d044da3e0b3978e62d4d83a0f356b1a6d0862e36220f32db384aa75c4a6129d8134caf3becb1d0c720db4cd0fbaf01a5589061bfea6b8cbb3eac0793781203025a421758636873d45d4d76cbe5e48043499f98bff4fd034f5021a119343 +PT = 39e5fdd1d2b8514121837de531 +AAD = f0b3b63f7da01a55eb4ddfbc6be27d4d +CT = f1fe7bff6415b097fc38e46ba8 +Tag = 0c0696e95b8d91c3f3e52e234485af0a + +Count = 7 +Key = 70d6672dcb24b4cd6e9d47d41b998a48 +IV = 223ba3707703990f622b24bae0d49aab7a7c09fb03e05caf2af8c4f46a0f3886c6a098d2a53732facbca5d74adb4ed438b5010d447e05f498341db6653c831f06531dfe1f9f499344672267f817a135472250b9aada0b5eef6c879fb6f7f611af66f3778d746d3953d83759dedf4fd169509ae98bb0bc0f7b035952e33b1b87d +PT = ff6afac2e643043d9a9c333b53 +AAD = 7dcac337958a357183f821a538d60264 +CT = 02b626af9c6d2189bf7470c48c +Tag = d8dad246170bc2601cfb506a3830b6a1 + +Count = 8 +Key = eadefd234d32e4335387db9aade09dc6 +IV = 9108b4e20ffdf35ba77632ae6bde90a39f31c9ab2001327f3552a39d8c4ac37b67f8d7e3603a4a1e9dc6b5874f49bec9922726afcac6cbd89903450008451e1bda66590b3541258473680816d22254427e10ac632dea572b30a2e1ab937fd18ced41d0009f797eb22b6b6b0e1e46492e56dc46c546bb265815c5417d5385038d +PT = b5b1a3acb2e92a4c8a435c71d3 +AAD = a6673a36f0cb413c0a7fad58867975c8 +CT = 0610bd5d72899b1cee4eaa295f +Tag = 0a99d4473a91e9623a4ad50253e8dd70 + +Count = 9 +Key = 1348755ac474a8cd4069014ccfc935ef +IV = 8b8586028f29a728a8e21b94558e2e37cebdf0f264c42ead56a0008a539fcba6d5a8c38b342338ddf31e904062ba6d697e2485aaef91d9a5df1b43ae0fdef6678a7a6ef6e7016c92fdd41a3e26512a8f88664b60cb991c07087daabf68c6c6911d9808776eaf598c5e921bd79dbd5b47cec40d79c2e7b65a3a852a54a0829caa +PT = d0d482216997c9134487d5d271 +AAD = 5baa6adf04f018fdbad1880df5fed2aa +CT = 47f21c4745293a688a5049aefd +Tag = 5d4298b199938fe0ea2898413e06b0d5 + +Count = 10 +Key = e78a3e562d20a77bf65b3ad6d8563fbe +IV = 91be4ee62ce1ba5a56751e92398421cb8328ef6d6aa1da5731bcb75cc3d3aea88f9ac301cf6468eeb966ba7c99fc31172a2b2230f17221eed835566641aae51c68d8ad5d9d2c5bff5cdb3281f4f00c81f66c43423b4135f5ca7a03a94c5d21af34f4a94db0d5a39c9956bd9eeb0cc7ba4624193bb056f68c9d21b4fe341c1a1c +PT = 8db7cfba86ac404d50e647c078 +AAD = e4f615011ce41fb3472b40e0b2e7fedf +CT = b61d4560075c6fae8aaa20e74c +Tag = 3f45e6080ac520d681746129db47de9a + +Count = 11 +Key = db2095ad8d5af8c2d69efc58de953595 +IV = 93faae14cc6e3141e47556f5933c0c0b06f09e2e8883a3507fe4f238853c0aa7a07431269dee758da56343a0801eb2e891926c4062563a75ee86c492a90ddf0d363b324b024762ae934d0b790a5b9bab03bf0fd4c5d52b4fbfb5a7b049fa3bdaa225cb5fd6d16b0472f9c6c7abc7e9d17e455e6b6973ab2b8c3bc188dfca4d8c +PT = f36fda06c7e48e11b0e58c8a2f +AAD = 8ef6385977840945954216e7adf57031 +CT = 3bb5fdbca4d1569789deaf43fd +Tag = 66e4adc176672a428f2a84258a179dc0 + +Count = 12 +Key = 46b00a7b0629561c2c372fc39bc071aa +IV = 7dbaaffe86506ce4e7e4d7bf99aca6f5c15cc0e013ff302ce6bed9d0fcf5bc24698d5cc8a7f70e80579d82c06566fc2800d5e31ae15980190d90dfd6dac657163bccefdced559b0d8c3309e277e8917f48a68e4b992986101326e9f60c3874b7ad8d37c3fe85cb5cba7bc149997b8f24d21801a546ff0d74962422a3d0c3575f +PT = f1c320006695af8cd1b140e2a8 +AAD = 78c87bab6595fd9fd93b3cc768183081 +CT = 9ef011920c6536192c79feabe6 +Tag = ae5692fdae51aa24d876b258169563e1 + +Count = 13 +Key = 32c80c607c92cca5f87fa1fdae6de02b +IV = 09b331034b80f07889afc6ba296079369d086cf2cc0d2227f0536f62337a337fc28551f202435b99b3f8f13b5ef85f737a57590cd27a83c52ccea6415788636c7852e9d82e2578a7e58476e24492074cfdb5ac9e345b8efb2509344fec8bb5b17f77b7cb07f23e2ea38475705f05e1f75d9f47ab657bd006300b2d705376ebdd +PT = 77dad866d1ac776a1ea685ed0b +AAD = 0f1152a4bbcbeb1b0ed2b751c72b09c9 +CT = 8e14a090b404766ae2829d41ef +Tag = d4dc55a5e9219bdc436ee2f760211f77 + +Count = 14 +Key = d14bdb2888ef63304e2e7f290ca9ead0 +IV = 6543107ea7e97ab3cce8b188b16dd89daf51b83ffa5301cc356653416abe3efb5f3ae4e5cde5cbba4377dd70a645882b7e3090de76d998d94d36d28716171f4217cc3b8f81b0329b10e05712801e2cbd2d800c190a22a0d5da50d8683b123b45fb86ec2d48dce1a1876e5fc887736e39613bacf99e05ece3dbaf30e961c4a90e +PT = 46f2f6d4c930a344e2ea2ff3ea +AAD = e2f24894fc1611a28e5017b2bb202531 +CT = 6cfdf363fbef9ed16060a559d9 +Tag = c29ee882bbe3aab2e6d28ecebed7c05a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = d7672e2f9afbe2eea7ba6774d617dc79 +IV = fa4cee954453e605351dc9654d7b583a2da56fbe9dbc21ffd06e8a078ca0b36c72533ec834e07a6af74d950baa6c0b6548aed047871ca33abaa58aad5cec56e319f5927c44d2615d49b58dd8f4a473f01e199a56d5d1dffcba4d26c9fa7173aefb7e897eb1441b60c3baae1d5a438ee98edc9fe5598b0ea99dbc322411aeca3b +PT = 9e41deac356469e977324284cb +AAD = 112628872a7aeb35bdee4ae91eb11618 +CT = 335a6613c592935e497ce5e003 +Tag = a2719a5104cb8270f10208e436cdb4 + +Count = 1 +Key = 270af42d4f0d7f4a2caa720e33a196e9 +IV = 3621683f057dec015b2cdde30dda0d14198484d02e862f7d013a353bec774e59edc3bd4ff6cc24d2c000412fcaab932ca2bcb4f917a5f42b9a082a058aedd86485f77415da78addbab7334b0154c863895d047c264f44b2744aa3d6e9b3701d5e2c0732c643ef685cd5064056694fc745f5f6cb948ccd8f9e9eee7fe995daa0e +PT = c8ca612bc64f984b80662382f9 +AAD = 5a82dafa3dd9c8e3bd8ccdc5c6cb2a8b +CT = cee16c253dfe852654eb5665b2 +Tag = 28b4b6a1e9c449bee1e35d7f1231db + +Count = 2 +Key = d60dc9eeaa46bebd217f1e6d3d5e5724 +IV = 6c8e6d1b1e63d9d091ac0ccdc25c41f04ec8d44a3331651c64e072190b8f8fda9b3538686206907840b204496bde6ce68effab1d60b76694cf94bc9f579d6ec6056c1f53a8c98c02d556fd9395cf4e895d5f4495a69ffdfafe797852fe7968195d1f346c82f00a3eb0589d384d24459c1e2e9b1481267eac0eaa94fe7a65a8a4 +PT = 17793413c24e1b77b2be8e68e0 +AAD = 2f10e5a550d61650d7dc01c1e9d7a73c +CT = 3988a5ef7f83c6e44c8b898f66 +Tag = bdd1bf3cb7cfb1fc5c2126740056ba + +Count = 3 +Key = 6ebcaafd79bf96ebca4d97cd5d6cd824 +IV = 93c4006cd3f6b346f29cc1040e6d2601ab83b90da72dd3a2156be5a723bc8f4ca11dc6adda3bd861b58465dd805e20529be2215bc2f1eba2476e72b03d66467eb88e2b5f9cf4f3b060c6ee8fb1685ee1ce5e946adc2cc697516931164203da286a2086520a74941ceeb16700be81ddbcdb79e1e61c1b2d5eb90fa6e7ce72ed95 +PT = e33d76ed3c17c390e11d6047ab +AAD = 636413cc92033996d8d432f2e5625afd +CT = 2d5f29ec55611de81be0082dbb +Tag = dc9adc9361383e4cdff25d17c812db + +Count = 4 +Key = 7d75149c16a2f6691a5cb2226575d5a5 +IV = 8ae5efb5f90c6ab2ac74ea44ee2bde768013b71b9e8496bff8d3dc8f2d1e210b71a7fa8447a4d0560e732690d50b80e662a27e462f3e62e075387aa864b156224ebb6f8c1bbf83a706ba8a87fa3232a964d73b26b064b23992d190cb361a5f7c410166887edda81703e35c5cea45b9a0368033b2f124261954f66db84327eb85 +PT = 6108da33e93727df257a2fa796 +AAD = 05558e87be3350331075cdc677094c5a +CT = 9f1ced2089a8241f4e10b305b8 +Tag = 7dc249af300b286ea303a6fd163037 + +Count = 5 +Key = 21ad9195f0ee6cc33e5eb01e2be87f7a +IV = afcf66b26af12cd8204fc54358cdfa69e4ca455128e0a7282546b3fbd7e92bfb34cd6de1088f9dd7e838145ce1d969cd3fa2ce9f9f1d5a1b2b5510cdd6c7b0d7059afd4c9d351c53a90dccbedf181fb9214ef0efb383fa243d531fdbf9d473ebf70723760befed3879ae597d07b1a2287d8a1e771b0ce477c3f7c286c29396c5 +PT = 3d80a854637093d0c661702a2f +AAD = 26bb3e3d50086ec7db2680624d8f3f01 +CT = 8fff6c21eb3067b88c01aed226 +Tag = 551a0db9941ebb7bb054ed40f69367 + +Count = 6 +Key = 8bf650fa317703fd970f79e96bff249e +IV = 66161c96b460c97c7f1d3dbff60236b5d633e894e88583de33c8d11bb8bdc2b2428b0b0ef1398a07a2f2c055a81900cd525774bfbda415f750171a0377ce613ad3d6d7642d06d30398e32aedadf4b1688a0a2dacd085cd3c96daef60f9e5593e13008ac927db59c9988bfbfd43edd115d559d9d27f728f759763aad4b87c4e12 +PT = a9969d3f40a6aba187ffaa175f +AAD = 0645b03dd3cb0498026f35ce42f7a054 +CT = ee0d9a77f1686be6dc371699de +Tag = 937c3d0ac5e15b3198b58335d1a1ec + +Count = 7 +Key = 91db84448dd2bbcb9ce23a4fc04867e8 +IV = ccbc7b8bcea065f07204ef468b2198ca852b5a7327389295f3d16e1a88498e2b2085cf1ec1e949afd3553f1913388bb5bbf5d28b5ff7790ae22c56a371a787e19168663c4470db1f09e4db8f9da85264a62a87c2b5cdaeb11f96382fcccbef67de307f89899ca78ee822a32cb97f3131d60557b74527bb2258c428157f9393c3 +PT = 07cd1fc7e2949f4b69b336caa4 +AAD = 79e0a8c597569404c45f9def02ff275d +CT = 96675a01c15681c4f89cdd4ad7 +Tag = c332fd1127838d296ccdd710e309fe + +Count = 8 +Key = 60ac023d649c07192bc7de675279be36 +IV = 41b879573c0c91c3b4031fbc23cd63fffef1ceb7c6f6ebaa7c3d31bc5c1e2c4fdfce308f88b31fbbf57410edae9d1b00128216731f2d342a25703fd95de8151cdb5a00f087bda7b05d7548a71911ba232b244e211a6384bd3d59b64a050fa73ac7da75e8da0219f2605ce9f7f47a402991480979e00317819bb90e6e9f13e1b7 +PT = 528344423c4fb296f57bc800ed +AAD = 5fdd6faf3d923bf4e4cd09a9f0757340 +CT = 3f2240db821826c9826a23123a +Tag = 9bcf84604e14d2b37e43a6890f121e + +Count = 9 +Key = 498d005811db59d47c4fed3133eabb2d +IV = 94c1856f700b6cdfd557303ebd6ebecd72ee4fb73f7b840742db49a576ba734b884bbc2089f6440ab5e16d5c95a4c3a4dada8d38f41dc75b918fe37c91259febff52cd4fdb83e2560f156c87f8478c60002d51c5a7b4e69b7fec6e654e1de14553de67af3031ac72fe403dede000c925e858901bf45a73a1e05edc4e0ea73c8a +PT = fed4169ccc066c1f4c6ea644d8 +AAD = 66229ef216899cfaddf0de194dedb586 +CT = cd3873261f44c2a201f1ebc8c6 +Tag = b9c64b800a01a367e554133e6d80f8 + +Count = 10 +Key = 4d82de4062c2186830c3d9cc39680ee9 +IV = ff2dc5337d5924316218aaa9651cd0d53d77b3b62ca9fe14543eb8657faa687caee34fab56761cb3ad9c3cbb618f5316ff3cc5436ed7dd1826f5ceb1a234e40b6a39df32e367d0e4b1adbde3c8300108be2e7f43d5fd23922fd9310a18599dbfc7f4d7649d671481b167840b789de3213a94fca79fece8f4b2806c1f65b5fcd9 +PT = f2f7f0d445bd0e58d380c08697 +AAD = cb062292307b95f005c8edc51d0956ff +CT = 30653b16e2e37323d55aa480e5 +Tag = 1c31f327ddd15a9a999d7966137b61 + +Count = 11 +Key = 7fa2df3f28408c37415f9fb00ff74870 +IV = 5366c2c63ee4a45391af2bb63d0a5b69728c652f05cadf49abe2566afce7b71048fa5b2852910ab8db39bd005e9f49188665c3faf57f1f6c2d91ba388f594a84b4f12e9a758bc1cbd25c727c8432fc6c7fc662565a32f8c606d7486393ef94f80b41286d9c93d3b2a5694f6db619ed1043b0b0e4bedc843b85aac3dadc75119b +PT = b86891ad96c474afa5298ba957 +AAD = 1a17ffaa57d93b633711a10647e544a1 +CT = 35789a29f0d91136850e1834c1 +Tag = a21ff645d123476eb74c8665b0b469 + +Count = 12 +Key = aa9a7d707e7f3b9c96b87e6c80f2ce3f +IV = cc7efd9ad9303d227c6c47ab2216d84902888173a1f98ce35c1a990d4ff45c2ba776720260d4d7aa9cdac47299d0da82e98a4d10afb40b16d82c6fa9f1b1c5dad68784a619e67e804a37b416a5c0bbe299d9ac99e3784db314bf9f99788ad05aacd92a081bf010cc20e6cb9f646161a252241bdffec7db3b480d832a7098e94b +PT = 1f17b8ab71eb1814ccd69b5b6f +AAD = ef503423fee321c882f2ce11f80e8b09 +CT = 6ac0a8ef66b432e87b14d6998d +Tag = c568ab9abb1d22c4a3804bdd380e18 + +Count = 13 +Key = 363c092492b33402d23d80c712203a59 +IV = 286e7bee9fbf26bec717776e117b17623296b843066714e6969d36bf3ea410af13ab89ae76919f5a24e4c5c84a804cb7ae322bdf02c2b88e4d9f2971ddb59e4ea32f32bd0afd5e62e9afa6f3a199bbe40fe4248025909122f08c50af412009de73630f476490a2c057f98ee4391db6ea8aa12fc962c86a9ef1d1a4f54b2431f9 +PT = 261a8d83d2a866f1cf53150ed3 +AAD = b357c9a43a959e2101d4b498c59c76de +CT = 4d68bd5e3769deb44a441a3979 +Tag = 15b01034e61b81d522f35c08fc2883 + +Count = 14 +Key = 0789d503731a0df4c7d126a60f00fb16 +IV = 777d04ffc301c41c15fff94d89dd94ca042cc7ff47c738064b297cc25f536a57053f1dacf446f2c6a9d3818f5453a6897fd8c2c8fb5f4154a41480b7278fdc81f1f3e1c9e6c7b09787c7781d1f8002b471e9226140cbc340394a19dd71c5b422422e8103ca0986112cb477d771afed686f4a51359cca2c17f07b7c3e92f7be2d +PT = ce28a57aa4edc7a809bccb0c3f +AAD = b6bb6bc6686b7121bf54c78591bd0dda +CT = 8d04a294bde66c54fa000fd62c +Tag = e917675aebee9c589ed3ad359cb7d3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = a7bede07bfc44b8897e2eaaee3070338 +IV = 87d39592e1b6048a232d1f7b31740008fb4eac3622d44fcb105c21abd9b0b584d6530b837d4b80f4f2ef965b9195ffdb3f4fb53b805e018ba7324a522e061c38fb4767e64e09d023f7e12bd20704de8a0d8ae11668962b83b76a282fa733aabe16414c64e383506cf4d6fc77988863cff6e8f1a16d018f64e612a1fd882afe11 +PT = 596d1271dcc4085d44eab272ec +AAD = bb00795f60d9cc54852d3ebfaaff35c0 +CT = e264c13050ce23e4fab6e7be14 +Tag = aee644695b12ff5067f44da2d8da + +Count = 1 +Key = 54f877f5e620134f3be7788df2e824c0 +IV = 2b1a384fc041fe660100684bf414bcec79e782f973f557317be7cd6cd98a5d0ec7a29a2017bdc57235dbd2ff7deeae6ccdbfc853bacad8c8318717b5326ba2b533644a2fb478e9fe11cab32ca18812f7b337be1959150b9f9751076c4af585be15776e6e9b0b137ed0e7dfdfbe8493c5dd184e04bce517ba7d008ec812f112dd +PT = d82627fed40d98eb4042aa2e6f +AAD = 607be59884f5c02f0ec309aae4a2761d +CT = 79ec29a29f36ae4d94eb170dbd +Tag = 703751f317015466695393e8d6d7 + +Count = 2 +Key = 706a84477d2c725f38ddb77b36431623 +IV = e48d2896553b43af7113b4a2a50b3f29fb452f4ff78091a25529e41802c144e5872783077d426304d7872ceb25db72dcd45ecef976da010e46b11b4c9944f842f79d578b2492e652181cb9343f9e5839800d32e617fb06d83371bff66c2808c9f47b6c173e4e7917bcf04660639f865bddde8222595d2b0ec842e7c12875e5ec +PT = ef22e6d7bb81e3ddd6aaefe2a0 +AAD = e3637397cffd6171c1e3f188a89c3b8b +CT = a55871add9ade8f57868a9d0f0 +Tag = c91d76bab63c1188477afac8944d + +Count = 3 +Key = 8f9e188f9210df5836579f2f4b99db28 +IV = 3ea317a5f30a4df5b73b8e4081f4a79d4c561d434573f1f9865bd35d82a1fb8a4aa1af22f1b15eb5203763d7b20830ca5db7e8a09c31b857518fb29706be57a538faf4002ffaf2f581292e5046bcd73c6f84f7141df49489cc4f71420fc3801805b6b3bcae34934ea96cf6d1ca4c4a67a1278a87addcdb8aaf0671e520ec06db +PT = 6c21d3aeaab5aaa8f4fb7e1c18 +AAD = 3af89b0f3e9c85c908e4744cc2b03cdd +CT = 79f9b1afdbd1c34fc4489b463a +Tag = 7ffbabbcc619d53df2e7869482c4 + +Count = 4 +Key = f9cc47b8b4c80b0342912d27ea2dd085 +IV = e098422c1c556cd4236f70c4829d02fd3526e2d9e73e0d9e6b74a501d81bed8a6fa2051bd2f96a3367c28b5ce24f21ab1050e673594f355add47cb3f07985e752289a2e292f1b7667cd6f181fbae4ce75db206a82805ab4436ce685841031ae4d49203fb8ca197bd905b73b45f3585931f7f2043528ff5e8886d4febec1b15c0 +PT = 46eb1850d49166f8112f0923f9 +AAD = 5185851c6edf1e8b41765a63b7d06b56 +CT = a679c3ab478d528f85cab96815 +Tag = 8a896c43d2190ffaf8bafac8f227 + +Count = 5 +Key = 378b04d2390867ad5b17e956c636a738 +IV = e5f930f49c9eb14d1b5d365ab640170ffead88c415871ea66f362436ffbb02c663eddc8d854ab9d460cef534083ea7990cf88d000bc3bf7944f1acc799525c7533866b2af7829d5f82d9fa3d7f5ab3b6fbda98405d190a2062c8811a1dcbb6785d8683175c44b31a6931e56098b74dabd7d04b41ad917e46591ad375c6026651 +PT = c63e836d15ec3bf2c2c2e68265 +AAD = 2a0b62a0d32a8ab3818ecb45755b73c1 +CT = 009f2080f11ba4b9ebc89cf259 +Tag = 1d99ab07ee3141016bcced3cb1f5 + +Count = 6 +Key = 828f1556ba1efa502b86ae20abd4b135 +IV = 693cd64b61ea48769fcc3ee9a7d5e16191088a0557e8f5b7ebd010605d15da0e90c6054c25e28781c9221be910276c86eb109b468f7b3e4d6e061bc32a0b996572da1c8c73ea1d393cdfae0e629c182e9382c4a7cc7750bfaaf85bba0fda1cad2fcea548efb5726b0559e427a7612bca40deebc48233713eaad111f214bf4362 +PT = 0f5ea6eab1eba9e2bc5197a677 +AAD = 81e4aa9e46a8f6294cf817d476e22fb0 +CT = 240feb6fdc93f1e39c89fc0022 +Tag = 370bc267393e68a8c3dede78b135 + +Count = 7 +Key = 2acd2b911d836dfd1a4579689c27bb86 +IV = cdf96854b04c97fccbc765086d67e3f93cb16ca9cf23333b53894904a686fcae7f7b2e503bbbd7c84147e8c2277bd2173abefc6bd172786a72e46eefc2890ee3f864dbf5bad7107be88fee288e522652e4ab595cc7f1f8af24c7f032dddf9a33995cc3d788e88c43a6bd31a60c4fa5cb73f63df9afb03233e4b5817110d1fef5 +PT = 0297d0c1eb0f73602452f1ff6f +AAD = e1f0a6a5c1a7e3fdb8b4b0edd9df3b4c +CT = 8763b33b72533ab90e1330c1ce +Tag = 08991a7fb0e2358afe6c3b2aa64d + +Count = 8 +Key = e56001b8d77683d30159a7b44875a54c +IV = c72602c696ace88e92cd60e7de49eb663d372cc2f1996b5c2b8fe26f4933926fbea8f03e5284c30e26111f4390d0f8363750fe05abca5d101786b13fc04c130662de40e57cbc231550d422346c29389ebf6325682d74de0b686dc3d950adf6104888301b8fe8e07e0a6409b7b6dbbdd38b427fc2aacd37bec470f2c310bc0ad3 +PT = 7d40202a4289ac200ca7331906 +AAD = 1f2fdb9858cd303ad29a007e9b46e931 +CT = 0ee8f0872aa995dba57ef2f723 +Tag = 50a14bb70fa5931139a6c2dfa1dd + +Count = 9 +Key = 70f5ba63b09db4a4570b42f09782c551 +IV = 784e298291efa8ab09321d1f997d458971ba73b7097ae1abb2e81b88b53654dadeb3a03d0b413fed853b38b41218b9da397f7ae5a4bc7d16dec38eea43e138dec5fc5ca5a7ce4633ea24cb36f53318f9229024bf8f1854227601b9d78f9488724019b95ef90c65f106619dfa09688568d319d80c3ae376b2d6b7c8222441cb3a +PT = d1c444878023cb2fc2d77bdf9c +AAD = 66034162d80cd967e2997593c40ead4b +CT = 3b3117aad4c8b70a1b08859dd6 +Tag = 81ff82d7913f3c35dee05d50aff3 + +Count = 10 +Key = ac152461b858fae4cc24037ae3ec7047 +IV = 9433890ea34ea5eb5b64245a5693f2d5d1de865e61fa958b6c94bd47dc3ddb1a645d6946d0b472d653b65ff53399b2649bb02395cd47b53169363cbd837185c4129d05e9201bc59d797dc916c71359cf409d2e1b3e01bf2f2679d0e242b122ae49e52700eedf678163f9d3cf3ac39c150cd926b594ad121db0b29907d96f6d88 +PT = 06b95220d18ba6e2af96b7774c +AAD = 1947c19d99b998b5160452e90a306b4f +CT = 7100e2d5f693ce69416538cfb1 +Tag = b95640e0da42db2f508f0b7037f1 + +Count = 11 +Key = 03caffd766f8825858b98320a6a56781 +IV = f527b447b0d433cdd6c786190653eb0d5e8033805ea74e3ae8067e67de8efe68d86e6cf028a899bfc73b85840c2db8eb365b8af8de2405798364e8ad6eef40d9991ba3f37f49ad878b0e858d0d8bbb0d4c4bb0a356cae6ba5439857ab9249013a9bb0c9ab3589bca8d718750a017c3a7c7baae26579be9adc13efe12dd4a909f +PT = b8568f246cbe6a1eb1d958ba88 +AAD = 521e76f83429a9757ada3b0abbb79b08 +CT = 04a6cdee0471fcce03587d602c +Tag = e342d228fadcece79df483998bff + +Count = 12 +Key = cec66f6a46fb6f06efc355640883ef87 +IV = 10148e2263ddbb7df369d1ecde3500f0a4c037190074903cbc28d55c79dd5fb2896340eaf6e73a6c71b50ee7e8eefbc86fae6cc95be8bb971481e969d77bf60c2002bb1551ee5c5ea2e234536041d0ad86c432e35fdeeec46dcd435533972f135e4ba1bf343c28413a50d3b244b644141f1739c5c719b55c1c86e556fd682382 +PT = dfc5f139b245f6795d2e2dfca6 +AAD = f2d09c0f81a8cad8b72f4d0c1f346308 +CT = 22bd26e6903f74d332a85a09a0 +Tag = 7bbdfd05e647f40e098736600a7f + +Count = 13 +Key = bf2416bc4313a33687a36d383c1fe38d +IV = be0c7c39159c48a8a4774e8e987cee781cb2d6637c73ffd31e758fb39b357009783f87821e5917ebb2121a51442e174b7cf45567ecdef732574da33e4ad1dd2a20993767378b42d4b3d793deca04db2de9cc527c307a6d69a7e01c9dc3001a65d60f65a0db74b75d93b10d1a02e022e109d249ffe89f22cbb60c30b741825da8 +PT = d15298d4e644f753a24ba70b7e +AAD = 1cd894e1a08e7b3953e83bc7ba48e5b2 +CT = 1c6870767fc0271ccc6821ae8e +Tag = bb5322cde498c7a56625f609029c + +Count = 14 +Key = 81163f57fb88b3c273a95f05ec3f0cdf +IV = 3f0e65625a653fb687051cf491b0ede88a577106ca7b16c88df04acb54b6aaa1f821022acfd866b4b153261cf22a52d2f22566d5fcb29e036952f57dbb7eb01bdf85854a2f08618438a978bd89e5ad0bf3708c55281f62a15e50f1cb99ca9bdc52ca8022774102936226cafeb416afdbf7687ece1c84a55447b7579d19b5e5b1 +PT = ee1d6aeea30e8d634e4de79b6e +AAD = 03434015e3284791dc89ac2e95a99bd4 +CT = a45cd89d3a172a11e9a650137c +Tag = 7173475ce523fb13bfa28e217fb5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = e530f204db78b18232fa1f7b759bd4d4 +IV = e47ec973e9970f56c51c4bd070d6d2e47d219d52b3847edbacd0b7af61e2401d3835d8fe47a3f786acc5a8837340b60ed3facc09a381933695365964ddd19e8f5ced56a295e4073b6c50924695ae121f1eb58c6dfc56fbcc0b39569e5030726a7989a113b7e277be731f6901ced393046ff9f31bf91727674d4c0eb12cc92a38 +PT = 4d4ca2f9e37d78d0ed699f1c72 +AAD = 5c20034d9d9bcd8c89bdc96e3365e549 +CT = fd38c5d7f724a108c072f27a20 +Tag = f4604e16e76bd5e417246bfbc4 + +Count = 1 +Key = 7f35da9898f96ba528618c4812a11066 +IV = 03dd6924461fe5abbda31b44685ccb2ed9ade729d682bcbcdbae8b9c1ce2a320ae3017a7cbd8f343dd3cdf37706b0acef7d92a4c3b53c7db75fe6ef5b0742bb1d104446107048830da020ede861caaf92fa5440899ac5adaddc08403f9595fde28a485eea496a39d06e9b7f89b522c50aa55fca4c26b6a45c3f6ea0dc6984e59 +PT = 9156e700ab2398bd2f98ed16ae +AAD = 3d767493badf72c876a8948e3a0c4cb5 +CT = 3687393d6f9a144407f7f3b43d +Tag = a6c30033bb65020460382f6e30 + +Count = 2 +Key = f6be7a5248a41a2f443fcf1c16ab291e +IV = ca4540ab8d00ff4764da6c3d57ec0e700b12eb60d48a5f85352c58e1b1043a2f729f1bcdcd19c992279acf3f4a30f7d0e68bb011e697330a72832358bbd3273657551bc18a6a88ba61f09bee9f5968bba949202a768845ec3c3e531090076862a4a8d3671f0c199d25928393ef3f5b72a0ece958252933904eb3b6b0823fd862 +PT = e02e20fb89edbe3634898cc6aa +AAD = af493205a6a4b06ecdd35ad54356bc60 +CT = c45c9cf25ac327e6d5aa86bdac +Tag = 4d6af05ef07982fa10b3cee9fc + +Count = 3 +Key = 3beebabf4ba6ebe11ac586c03b8d001b +IV = ea76152187c0924f195ff312bbc4c5e17cf63878859ec063213a5cd4fa53fc8d402d536008d271bd40aa9f40a7eabf7f242f4e2be2859d3d52d1595ed9a91ff21635153a68490858757cfbe99888f8fc86ee92e38a3c7f86ee499154b293089309a67d8a0623cd02812e957cd251311a56b5d4d5ab6bb99bf8f58dd6b3dd506d +PT = 1f8c0ddc80d891445997244e05 +AAD = 8cac97f1b173e589a6e50b2dea8b4d7e +CT = 0f9e7f229d66092c34bb1a116b +Tag = bc667a8e56fd99cd6881436eb4 + +Count = 4 +Key = 1e0ef3942c77070ea577f631366e96d7 +IV = 0ec6d3ec66d3d801be6a7a7e931e2971c77ef4119ef955198d8b07a24bd0da9bbb1c0fae35f25c8b962ba0138d6c188103de56c2bef46e16ebd62cf02a1ef43abbda71d46401400f09ece738fd447ff991660212bc39afe301bd79554d529b05930abdaa4704a695bea4420b748da24fce2042bbf91bee25f3c4a8e5d32b99cc +PT = 0e99e33d3c1050e706a5ec70f1 +AAD = 5adb2354fb59463868951fd741fe7d61 +CT = 41d93c50f8a53892e4832f88fa +Tag = 039efac10f6bf10412e66c3c80 + +Count = 5 +Key = c1a80668e98ee1c432e0b62319bd1b9a +IV = 45d41b3d74c97e71d7fc2a5cdcd9d93a8107f90310ecdfabf0a2ed241cf97552d9ceb830e40022aab36a99de620da195104e7e98f1c230ea71bd02ab8e8ccb9c96784b8f01285ed7e71a7678a1d6e48136a69482f1229b3676b188f70b13896f7a4cec55538f831074bbad4e1d2b8d29f6af20f043409f2d9ffa8f37bcac2663 +PT = ecf7e0b83e62d39d8ac608ab6b +AAD = e29f0756986fef077eb66ed7db9db4eb +CT = 2fbca966cf6ce3001ef388cbcb +Tag = b37cb8909269b020d523d3da34 + +Count = 6 +Key = f24323a728c87da533fc435aaac96af2 +IV = 4717f5f6b80754318d4626177f0c1fc98b7d8cd6bb8a1ba6bb71cc0fabf413d36c8c0cd452610f811eb990bef76c973bab495a7e243d6cee0cbd4c780d33b485c089763614b42dd0ff8de03eb2dea977af3084e235397135cb82457e26435f4fc5bb5e41e76c5a8906fd408eb0c72ce91d0a961d09f3828e94676a202636ffef +PT = cb4af5926b531ec0d5bc99f31f +AAD = fda70cc91dab541011a4e434b3b60455 +CT = 117b6799d8745630e15f808b75 +Tag = 41e9ab17b33b897c52efdcb5ba + +Count = 7 +Key = 830ad93cf15dc0d9535ad3db9ddc6448 +IV = fc92066f6a8323fda6db0bf677f5160cd596bf16cce9b89235fb150dcfed44645743bcaf76ee66032187101e7716b42216c93a919e21bc577eebf0cb0b504e80ddd12a12e9fa18cecc4f5120fadf68898bc726b0ba94c328ecfb03d86623da94932e105f9a1331fa9139f26a827665d00f8443948b76e141f59a0745430c0ce1 +PT = 659556702087bc826c9a4fc6ca +AAD = cb576772be51f968c9eb1831bf2bfbe9 +CT = 3482bcab75d676553467d28681 +Tag = eecef2cde4e2957825cc57c2f3 + +Count = 8 +Key = e233ea463e6f2886bb2a6646ef9233bc +IV = a05424c5027eece8ca9d99d64ac6af01a041a062b2e1208c8c41e36861ad731fff3ba31a3315a8db0f3d274dd0ab50ba9d21c2456f786a9151e9e0b08d0398ccff561bd1cb06cc127a87fe36e0579c57abb6e23feefbfd2f29ecab88c6326606c85f82daa2945796a5668d4bf22d0080b40e8c79954e2c7d5614c654336e5624 +PT = 9cf445c1da7939e7570bc31051 +AAD = ad41eaf53a9a63a5446e0a0dbccee036 +CT = cab439b4cbc448f479d908e8d8 +Tag = f33cbb5ee6def65cdcb7eb57fc + +Count = 9 +Key = be5ca425939ba306cabcdd10926f453d +IV = c8cc8be6583c790ffefd8ffbe3087c690136bac8e9f52d32aad21b0af6af18d2abfb2afab03d891d67a54c188ad33579f729177c2992577d90eacfb0f309d6745f4286e70c71d61856631a725781b69ddbbb7446a94fef20edac78cc7565c0e52ac2f77925ee681716098ae1099f43a983a97d372f49b77337ca58ee5c2348d3 +PT = c12914455941bbb096c4f9c929 +AAD = 383f30bdfd1db2548e0ee9ca0861ca83 +CT = 2237477ed1876b0ccb0afd11a1 +Tag = 668b3152c164c05c1e2d8ccdf4 + +Count = 10 +Key = 296fc83a4d4e1cf349faeb40ca3c5401 +IV = bcee682c981033ca4ee565164eb99d0a64b6c88f107b6cd0bcd6de478527608fe0209571642b21a84ea1f9cb8031416edaa39061a13a8b83ea4110d1e9c2703752e052b64b8a05e8c57cf8edd2ab3051944c7f2d181b57670926d68924d1b0803842d969e5b46b3a170792408eb3ccf8c203264ac0b34556ba6723d9eb62caf9 +PT = 7caeed1120b02e97f26fff57ec +AAD = fc7c667c35f203805fccb8bcf1cbd5e5 +CT = 425afe3c31d98593d107be5910 +Tag = ec636f210330b80e9f1200a5b0 + +Count = 11 +Key = feab0f36e55f1b4eceefd4961f32a30d +IV = e10ba034a12b5fa35a90689585efa3a7f4c64217b8693b08988bd0fdb02aabce48e3b99b28dd11c1606a12d0113ae73d65f392bd1410797eda7c45815e69f46fdcb3b3ee6e1237b8c55c96a583267181e94ab5ca6927aebf8ee3dca2a9dbdc7bc22cb5c5061ebe1ac39f3372188ce9522dfb788accb10c2961b62cb1adb4d7de +PT = 4bced4c6a7192979ed24a0a315 +AAD = 89076a5e9a12fdb3557dfeb890403a1f +CT = ac464a1bc88bb434b0872d45e6 +Tag = b89c36ddf08d205ee0ad53c8da + +Count = 12 +Key = 1808fd7fd0d9333d46ff08e2db92f938 +IV = 21f2005759b725c4bfb06e6db69e70c370277434359b554c448375617c0fc2d04b2e0340103bb4135c28674aa6c14bec64193fccd02ee45dfde24c20ba0fe211e0970fd764bcfc54f2408deec434e5d321b78f804e1e8803a676532592aff6ea2efecb7e33f5c730d2f335c928434ee6e256cc7b8c96d0537b588cc6e502ebf0 +PT = ac78e08cad6989578032d976dc +AAD = 0d74f6ab82c6f8f277e81f8c0e7d46e2 +CT = 31312d3bb841c7c84ba9fbdb72 +Tag = 04f58f7618f23ff0090755458a + +Count = 13 +Key = 8d2a319879aee472e48aa8a56f4093ee +IV = 57dd37ee8325e8a6d2342023618d71618a9f90d641f0994856465d422413b3859ac086bba24855c87535cbb324e5673784dce75dbd973f9382462f02c764af8d774d60d6ba995fa9d4b1adf4c689b8b1f5cfa8f34fc9f081c3cf2d180e4011b1a3f6f94878a3baf820ea99d7a145db89746932123fba0005f2d27ac795ae1b44 +PT = a5674a7b76d0c48b71f91cfad7 +AAD = 22a17615f8bdaa47e5a8968f3f90dfcb +CT = aec9ee63f141ea3144d6e00988 +Tag = 162fd1c8055817ce833b798508 + +Count = 14 +Key = 81b4044a486ce1dc32b132e93943a94f +IV = e58c33d561dae4ee9799d76f759aa9c96420498fba58a2cc623945a195e07a1eb661bdc23e36420c121c95d091a2c2a666d680d2220bfab68eae8322ce888e1d318154d6384f959e7e4cec504512ac5f712fa17982440c7e380c45aa35cbd5e7234117d1635b75c802d0920699bb63bab6b808af401c577ea28c38d0fcd28963 +PT = 4dda01edf8a4a2541263bd7c9e +AAD = ac7e0d65ea46bbe49e04036e820a3238 +CT = 30b6301ecb42ffae0e4bfff31d +Tag = b9ffe34a018ad90d72af4f2aa3 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 0f4064eec51c4b101d252d4522c06144 +IV = d006ad480bd50bcbcd566aa005a77b00aa6f45b80e53fa5c7818969b6aab60a53bcae90e68a28b0b60dfc9bda85b1cbb30eadcc6c8dfdf970e7a03e1d5b419be4c7ed2976f80da88aacd561d9b2463c7ebaaf322c3c1b492003649629bf83b8a4e0d8d6ab9c715b044ef2212918f418b764ddc8aa35cc73bf036b9bb0a8b173b +PT = 8447c6932414d45e04ac8db41a +AAD = eaa5cd8485ae9f64ef245bae27e401c0 +CT = b6312b7f63eeadb06426c564f4 +Tag = 943438dd2258e561bfb98f53 + +Count = 1 +Key = 2565f2e857bf93cebec85c61bf69b419 +IV = 394ba7a400c12bf6764a30e4bde29975f20e1bbe5102f879ef991bb7e7f10afc873e582862d11cd0e5dd925f145d630c4305dd94f8c4f357516dca00414583d6a33c753f0321f472f7d0cb1371acb4338031f42b7b236c7c3e155d7fcf97b2e845ab6d7c315346f03653486b01bb4c930166fbd4ababbb7c96cbad1288093895 +PT = 35af099c38cb23db7f5e6fb93d +AAD = ecb9667af1d7aca1be00d998c31463f5 +CT = 34c5a477172e1d3c49122af1a6 +Tag = bf8983746a08c174a3125516 + +Count = 2 +Key = bae1626866b48d5759f8d2e4e5eb7003 +IV = ec92af756c9248716d053026bd3aa7a159f3249654bab401559735e53a369de04dc929da40ff936ae1f42b26e2575db28439fa86d7053017c6ded81a813d850541044632a2a819a5ffd65bbf7a0ad2df2890abd9df09012bf5f7027a1e27f8086595e30900d929d46b4a4f527d2873ce5f8719db367c7a1921371235b1ca1ab8 +PT = 2e16834fdfcf4a8b94d9fe4a98 +AAD = ea5f44f35b91bce587a61141b845e45a +CT = e8a2967d795f573d2638830be2 +Tag = ed5096bd84d3e5c301b5cf5f + +Count = 3 +Key = b40f820c918c56d0c7246d4f51e8f7c9 +IV = 7a78d36b6bb3c453a3aa81609da9bf998e2aa130aebc4700e8fdc05a078f19a4b0a879b13ea50251771cc82c17ce51a299bbdc76a7079dc6357ba90ec552b420cf2ac7928383d93546d3a64f61b98cb82882321fef075622bd58804c0d8f237c0727508925be240d9dce7948efc573a552ce69723ab169767eb3aa4edc5e08fb +PT = 211cf2a55fa3f10119be7b5dc7 +AAD = 75b534ae7a9a36984bb81a4c5093ec4c +CT = b94ad81928fe4ede34ff27475b +Tag = d3cb74d5db6a38d7a14cfcea + +Count = 4 +Key = 5da2167c97375c0b9c471441fe4019d9 +IV = 7b9615a26a95fb6fc807c9bac6eb28609da0d50de6afdebcec2ef857950ded6cfcf7461b3f91e81f8e8bb08385fd23217cf63f3d5f7d8b98959d49b0ccdf186dedc585a3ee89c8bf025baf387eda8a5fce148949209c0cee02870ccf0e6d6a5aeaffe16a081a74d0ed8b452f5c414eea87032246c66a0f37bb2dbed1d6fe9b93 +PT = eac8407d989ee7af31b2538982 +AAD = 66d1f2d6bac4d36e0139e066867fc6c7 +CT = 21e21f7819e7f812602a74cff8 +Tag = 3df2a0e81a7448bfb7031c45 + +Count = 5 +Key = f9482e95fc447302aa031866bc3491a5 +IV = dc2d10ffa722b755e13b70e0f0ea44453f36290f59ae1dc837e902410f9c93fbd42498a9da02f41fa1791d596b68474b7e98d93eee25ff8e94fa5ac0b7eee3716d09861b357f2ecb82ccdabe8a14508de9af80fec3936547d48c55fb20ae190cedb72893a5a53f1cc8a540f0de55aa232e049a4643bf7da9f887c03ea208d8c4 +PT = c34bf2a8511770056d465ca09e +AAD = cee51110e1fb81748c989178775af4d5 +CT = af04ac45fb02c0831c74434e1e +Tag = d65d691e254ca62a6dcff086 + +Count = 6 +Key = a15a9e1a6e9997d700e9e0c5f7266fa1 +IV = 6d5e7e059a0fe3b7a87ab0370ce9ca69d2ec7af423c397536a038aeafb7becf6bae70b4cc47e4d4c885622f73308f43a5f1e85e3a270b4765beeac5a958e7c1083fbf084a42aaf71d001dc5b69b88e77f2a17b40f071aeafc4d6b5418b7b225cc3accf24bbe85bbd4d73f0cbc899fca609b2dc4e580b16edecdddabec4850a4c +PT = 6969f8658d7fa869d597282b6e +AAD = 52292b9df232fa85164d6ab175561ac1 +CT = eba7991431f93b78143e745ec2 +Tag = efea29d9a3122b76135d5485 + +Count = 7 +Key = ae64585095f24f7e1de66620e0468872 +IV = 58af51ff6e2303929afda787ea7c957104707d13fa56b388a6e7d2501420fd1d9078ae33c7e614d0d4aeb216c3e20b1173a8eef30f5ad89b349be707f4a3c2e03aaf30b5ea618c4970ba9b4e370277baf9b5d8fa697499f6a8e69c0f63cfa3485179a5227d8491880c05954035a34997594af319588f4fb771fd11614f6b2c26 +PT = 98d180904436bf168fab77bdf9 +AAD = beecf3c17546d9669ad564f2c6534662 +CT = 3c6f9c88f0158d790cfa55a2b3 +Tag = 60fa48cb228a709609dd4a64 + +Count = 8 +Key = 81e0c7bb36f769923aa43e7a7e9ecf5f +IV = a0b5bdb68a3e5d4f342ba870aa5acb3d9b886e03c05ca7cca46e0e1ffd00fa3b0fad5f63c84d7dc045e99f00719cf7957f1963005d95e94f90a79518648a9268368f12ef1909d2c504fc6def7358e3839ee99ddeb66c1cc3c7adb8b289c487ceac1dc55edc2d1adf2333ab7e8bfbae4508438735717b1695218a8cbd8973b973 +PT = cf8d010bc1327e07addac4f471 +AAD = beeb655bc76c34ce8bf90db084dbbcc0 +CT = f48dd1627b0996588ef15bfa07 +Tag = 7a5ea3d24a4c06f067a488b3 + +Count = 9 +Key = eac50ba53d99d362809e3381c6be017b +IV = 69cd731624705985de6b45d4bee7cfa1298e800615f0fc6d0412d34a74c4b1cf490cf03a8fb8302aaf944cb9bc369cc0da4943f2ef82c0e6bd3175cc24992c33b47311cbdd0927d4ae0e0f11dc571b22d60ab3a6239261644a069a71912eeac8b31843d65d24dc9895cd3f18f58977d7513fb92dd04ba545dc6826118fef246d +PT = eeb99c2f85fd2defaf87deae11 +AAD = c3364030a35505ba430392e9dcad6006 +CT = ae5b67b34ad362808e04600af0 +Tag = 58de0a9600dfedf293309603 + +Count = 10 +Key = 0e2613862febf54e14c8d95950dc5cba +IV = 699a8183149846439800158138135f06692586a4fa1af827c876e1b58dfdacd4b6f85ce80ae065cda21f6f63f65afa9252d2806d560c6031c35b9ba9da2fa00b9dd861fa1957c93a6c52b6c5177720e5b79c12d69e497f1aaaa6c1bf7bf3acf45af6c33b7980a658cd9deb2f7b01ac4561833a0ebf9a1a2286341af8e4f9b456 +PT = 5b82a9b419cba82e66f54a54a5 +AAD = 4d2ccedd8a0bcf44c53288c7027ed66b +CT = d21241d88a3a9abc8660c27f75 +Tag = 6e89ad65e414aa1ae5a932d2 + +Count = 11 +Key = c5d93ec93c0ccb26202e196ee7267406 +IV = 8b20fd3d3c95c5bc53e3011c0bbe7fc66c8cff8e485a7d317b9d48a8b52bb116f7781d676bf646b4b82368eaa400aad3c1eb0f8955bae529169cb5745811960228e8ab372526a1f3607de24b011e9954f5585723e08c8591eea22786ed09edf43c7ae2d41a888a647d6febb20a1f97042167308290f78a4e34b0143e97f0537e +PT = c3b7ce86d78bed855d48682f15 +AAD = ea65d664e751c05766c742d88970317c +CT = 914b89dafb510f24f014cbeadb +Tag = 5e8ea78caa8d49f3272a6816 + +Count = 12 +Key = cb1613562e2f5ec26e4ec183f004a1bd +IV = 44f0f1d5c781879d2f27e018cc5ee308a44ae45156b817822fd16d7b5ee4a9ac78a4e2a232c9510c9896658cb157ef698f9c6a323dd0ffc6622c6c75ba5261fb72a5ce61a99e34d0959be1c282ff456bd4ea06ee92e0b2c84487d6803274dc04fb8757b3d9478e1aae501b32c2e6b68fa73ce20b6b603ac3ca9be409542696bc +PT = 535502aea5984fe2aeab05f1de +AAD = 8eb1efd70510619cc4f09a068b426a37 +CT = fac224fb994a2f696f39442742 +Tag = 2f7d25be97b5433bdf09e845 + +Count = 13 +Key = 98eb2e83c3b15e0e3a4c031601662dd4 +IV = 12fe3615541febdd1e7078aa45bfcbc6c5aa9ba3c5e1aa9c739468c882eec73272998b6ab957695804d6ae0857d2d4b9af96ad4aa2fb26d8f53cb403a78d8936bec301e0ff91e31ab6b06ea4a05a36d021677108468f43443ce6ce7f6b6e7710cf763f3a0939ab3d0ec67eed8d319eff5041a7ef8a94c66c49bf47f0e2678793 +PT = 6011f8e6bc9b4344d71af29745 +AAD = 142ba6c80996419bf5606ff61ccac622 +CT = 8ccfca08a1a5a8f4507f10a9d7 +Tag = 07cdc49bf5ee1a941c02826b + +Count = 14 +Key = 65adc9f2479187e5253fe1aa01470790 +IV = 123e49079ba1f51794b96fdab20481596bc50a605a0e61f9c8c6954be7954acb834f62fedef1efb8b5f528ff7fca8fdcf151d135e5388eb47bd54eb942edea2bf3bc46c70cef8e49b08d30ebdda9f1ca29007d2bafc44bc2d087e4d8581e806dd50bfe7887907325e4eedd7ea3c14eb02bb04abaae7c4e1916ec7d3b8d1ba2c2 +PT = af78422febbf4ee068c7aec8bc +AAD = e058932a60939f22ede9d671f31f60cc +CT = 22d46872757ae90081764e9792 +Tag = d05c341623f9166291041e16 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 7e95066b60093f66175493d141359dbd +IV = 4057da04c773361c33be7f10d7ba708b2278503fd7b0a6dd130a962952b8887d6a412074c1572eb0c53edf81ee701cabc60552aceb0f662697d3b2acc037eab9445242bff4496606b8cfbf2d3c72874b769b9b63234b64d429829f467305acab4ae8d45c8f7c4f5b5771cb7cbdccc8c7273a4a2038464fadfdf733b631179017 +PT = 5ea1312e26c95bcf005b617423 +AAD = 660c28a460fa93e112aac6ceb54a80a2 +CT = 5517fba376ab16c7e2ad16c1e2 +Tag = 4fd94671abde616e + +Count = 1 +Key = f9f1345d1b5ca9b617c58fbe7ccf1bc6 +IV = 639b810c9d6aaabe87fff1ea2278ec76b0c48ffaef39812529e98f0ea307b11db372fe2f8a1a52c09cc1e8938a0a124afd22d90172c2bd1f6c1d494bc48f68e81b0337448741fcef7d0590517de38df79a4f329bd7d4257876163ae939bd68487dc61fec4800bc33615e648eb0d2f257206f40e6bcfba5f278000f46e3eb4f37 +PT = 51a41d8b7dd7bd6b8d3f8c1029 +AAD = ba1019f13d61b8071ce68ff3fe4bf591 +CT = 5991e7c9ec4eb2506d9aa3bb8f +Tag = 7896729e71f63610 + +Count = 2 +Key = c8f4287d9b8fb78bfa79604f3d776ded +IV = 88ad27159b29ca51445f8d775d7515e8a67033050981fa56a09dbd67de428081a32e471eddabcd989ddd31c473343b4a616f995c98a71f75657a6f8596063e6d75a62ef69010315ee3e45def84de59dd55ca975c95975b80989c2049b0f088879d79982557862e42192b01e1bf57a4e44add75839d9acb362db49ccb8ec0ed1e +PT = cea9edf6b8b3d32caad5b1353c +AAD = 56e775f53f2a2da0d6e874decb42317f +CT = 9c7d50eddd2682d4cbcb076859 +Tag = 4e22b81cd72a7b84 + +Count = 3 +Key = d65e42ed0b85838fd763229125e42cc1 +IV = 9bcba806f1337a465939bc6df6c1daf6754bb530f916e0f732abf081c676e646d69a20aa078a51e4e61618719620225f6d0ce7d9683491cad23ba314701e911f9f15e2e84c6fc3c3c3b7c82fa0aa104fb32d10378e6c0bf5b848adb06a786b4f27bb8d80cc78ef4267d7bb12a12b4c1e299d0033a43efc25366a04d5ccb40ba5 +PT = eafe8c5c9d030bcfaacd523c8c +AAD = fa63059f5c34f41f3c03087699bd09d8 +CT = 7daae11efb5a9e9e2554228b0f +Tag = 538b109d78af8d59 + +Count = 4 +Key = b5b63b3814ed0118d2884a9cd4d6fd38 +IV = 6cd50f35985cd0cfc715ed6898402bc45ae4bc62fd13485b706536e0d572c965d9a6b212e33da0628e02b8ad3ce1a283ef483d51a5ad09da9b83cb880857066056f4f6a23f4903f16437ef1fef03cfab577c7483fdb1b7cdb5df60d8a420d57eca15ae7d6f66cdd433c9d7e5a4f201b5fd8eca61757179b4c6d6de6305358c1d +PT = d4f2706940d71a03eb0e91a100 +AAD = 74983a2720ea8a75d21ef62d32a3a341 +CT = 847c5d4db90aeb4b42be8c9318 +Tag = b0ad609c53488dff + +Count = 5 +Key = 8a4ebf53a8bee0cd539493286dd2f216 +IV = fdc8725e6af919290e76baea2800a3d35b382bf6ef685b4b4d3c041252cd0a2a0aa97fd47b425d13d91edde5c13b4fd58aa715777d5d8d2b0549e11ed481bdd2b075a837e6a813c5731d77bab1c9bfdeb5fd05eb4a0ba4596d2fcd955b6a8fe808a8d7018d8f7944b82d2166ab3d29ac22f87f642f3ead6c341ed53dccbdaafb +PT = 69531af19d681a73f317c86967 +AAD = 84d8fb8e65dedba3765bbd7943351499 +CT = a1b8a204f2ad5fabad5c942afa +Tag = 66e2f1593048f011 + +Count = 6 +Key = 67fe168f319ccafbbad007ef4078459f +IV = 2c65edae3b5ade78acf2deb159e0a2bcbcb34be8d2462b8d89f485ed155936e48945087a1fccd864f609b6be813c15b9327d20e094abafef98c1533dd0e16a633a192012128821e7e22d6e0d60524cd8ef4d8e793add78933a7cc9b054596d817e13478a339d4a1a55d013cf6335b09fdcd2595b0cba3af38be6c03a4766257e +PT = f2db123828f15e631ec73bdabc +AAD = debefd61a2f1d53d78c04a6e57b25c24 +CT = edcb05b37b4fccf94ee9c06782 +Tag = 617d8f37419f6205 + +Count = 7 +Key = d5d670b20a5454cb5c1a7bab64c25a14 +IV = 52ee0ce81bf6d2dc8c1f4b2bd30a1c4c6f41cc684ed8a087ddfd626e31eec524dfb79dbb9735a92d734d36a85538a1d08791e6c7be2fd28dbd4e92d02248cdbc94cf10f617cfac13af55a29621d78c6d92532fa2924955b78a49603bb9d9b9c3758dc9adc2cfff933d748d9e816a4917b0d0103e98e6e948bb64df3343b4f351 +PT = 9076074ddcbb6b6d31c9f97fad +AAD = 467c4f664ffcdd53faf5deb42befd93f +CT = 589109a7d588d0088d877907c3 +Tag = 7497e3cefc50e691 + +Count = 8 +Key = 7983e02c939b2c899096aa93eee9029d +IV = 2a7176d7d2dfa2294d5f156ac16758eaef89add412a3ccf2a61715cf94440d8377bf6caaf18b43fa430b1d86b1c393c3977746df8b46a4acf845d08a60b048ff6826a0e8d26dd59bc26958f50ccb60bfee0a3f54d16a4930134eb61f47a9531ebd514fd40b942ac27cdc684aa107d807d418be822b0b4b3cb440025ff6baaa72 +PT = 57cbf94d96774c05df662e6b56 +AAD = 3e04da754d52fd244ef0ccf9377b47e8 +CT = f2eb9dc1b7330317b6d593c930 +Tag = 14717c6cd0d8d914 + +Count = 9 +Key = 019d0773eeeb288ef93c59debc7ca360 +IV = 53ea0c57e10c02ed69dfa0e2753aab9d28582dd44adab101b7d1f52ed1be65faa0da8ddc4744c8bc073fce8c4979b44a28995388217a6a82b478065727c7327dd49715a88e0d752f192a6217621b4e8d3a7b10a03089248771c2079e1068f42c3606ab2d4ae64b7d1016b9aa52d81af6dbb5089de20630c4733b9a9530e6849d +PT = 060eace7eb6cc5f5d78ca0ed29 +AAD = 9c0f3063125c5efb3214a393f6bae21b +CT = fa4e2cb817c98669780bc74f02 +Tag = f5770305ed5b3fa7 + +Count = 10 +Key = 940f2cb7875348648588e418e111cd81 +IV = 0ee2cb9c056b46aeca6f8f0429fc1e9995b8a23da748994745d5f28c4010620076c413d56e2ee5f6fd7c5afb39e2355c7219917efaedc8c434be7fa84fed80b1e8601e8fb6878b9d39681e1208ba8936b0d249f6c5921be882e0c0bf48ff5b82f23b789fa9ea12835504f50c6b9a92d2515c22775c0acdda64df92542240f3fe +PT = 72dd2b6b38edc00fe3d11853de +AAD = e031292270d32ed7548dddb0200fa4c6 +CT = 20dc16a56ec05ae86dd62f9d9f +Tag = 8ef6a9c879eac50d + +Count = 11 +Key = 409cb4760b202c05e35ee7c401fe4204 +IV = 8e01d9dd536cc459f96e08f0bb9b9063c40b6eaf9daae6be288fe52acea104d7fb2c51703cc901e539424d7802655b1282946d0168bbffe92e8e56364d7a642370000e38c92f9d94d2276744d3dd1f501b6d1608a6cbc614ae0640740a01be34ad92dc22defde04503ba63104dcea2a5e7b66ceae3052c4838aec945018fc22a +PT = 858216b8ec4b8c28ca701356d8 +AAD = ccefc07592ee527f1d50cb2206e9bcc9 +CT = 80afadee68431a709c7fbc6340 +Tag = 89daa8281a3ea08a + +Count = 12 +Key = 0bbc4e330dd268ed012bb817c9dd2e0d +IV = 5549c8c43e9e03eca99cfacea4d84d86ec3ebc32f4bd5ebd74d37de3456ba413f89f49e9c92d48fdb41a5eda0f293246211734731f0d82279f926b3590a652b97d24ba03dfb0bb89ddbcc1d6606ef55192e899c5dc8a14c7160d2bba59e4e79334c6a8f440eefb4b2b31ded1492c60c8cad952725c128fa39f8d1995a5c05c86 +PT = 17389240419e86109f336ad950 +AAD = 4c9d720e6f75d7e043409253dabfcdff +CT = 7231cb2859eb427767116a9614 +Tag = b2ec0786de7d87f8 + +Count = 13 +Key = 95eaee21dbac14a322a7f0c567d43207 +IV = 498e9f9e6506b049992f2fad0cddfbc4400e603cc9dd24891706e1318e13000d7c7f0af61e136c28059a1fbc79c8377f7b7a309d667b11452b0fe6ca97b1404d367ab73fae352f279cee7132155e04b6827e7d9eec060e6ae495e236a91e8958551e87a0bbcb75d0cc83f109889b5807a5fa986f26a26a6c86dd3540c82944b5 +PT = 8aa47aee1e7fa8c2669e69b239 +AAD = db38163d25eb913fcb5655d42e91a773 +CT = 4b812554e8375bd3c6d117abbd +Tag = c5a666829325e311 + +Count = 14 +Key = 6b388b0a3b130592daf067c36f7f8090 +IV = 5231b52c3d81f40587d9968484f6114ea794905c3d80e4e4571e8563680e2ea745a0e41e4158f6102496328bce81028e69d5b441887fc60616b183bb0c872b9ffdab31812b3f152f6b55b01bfce7d2e36a507a3db227f2b5d42800514329f2bfb69c579390ea1b54ba0ac67dbc056db90a3da00f0c9908a07dc9fc9bfbfc3cff +PT = a8c247fe6466d26e6e02da5df7 +AAD = d1fa08ecceaeed7e5a6a27d3d10aba6b +CT = 9bc5d4081197a512b29f6ca800 +Tag = 941dc49ad0345ce0 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = dc58783d6fd0b21361fc45b1c0ef19c9 +IV = e102251b930465f50f6c6e83b5046f8aa85d948465f5c4a90cfb98ba32ec11114109e857d3a849e1b4b9caa33216b467557f93f21f1ed207fbb8600654e22e2fd0c8d1f4dd6f4ada99453423181eb48f17f292ea4c3c66324008d7fed820a1b027781c597e0094d339a8a4fff77c14b177df5410b1154e577064e8509ddb5f87 +PT = 8537061a389e286b37e306da3c +AAD = 96266f106f5d3a75bbda7e3dd5e3aa2c +CT = a4950a846c5401d5a603140f26 +Tag = 7c6ac1c6 + +Count = 1 +Key = 15025a2bcfbce4ea38323b6e3276fcf0 +IV = d5b3200d3c412848eacd98134b442724036ccad6d307274d9eb029a9b83f77f5dc193b80d487b8192345f84201c698f3c32776aaf2c8c2733d923dcae1b4d649c8fd4f49a798ef39776b348cb3a745d98ab46cafb3575de1ccef448549769de9a71655c6455862df1f6e8986edde161f8291876059c3b81af657fc099e852a14 +PT = 84157db0338dabb0451d3e7331 +AAD = 5ed7109a692b37ef96ea1eaa0ee7802a +CT = b43eadc5427c605b37248e252b +Tag = 7e143c20 + +Count = 2 +Key = 1ff7be74089e5dea4643428705ecd398 +IV = 2f0eb93405f3c55b2abcde972f7e853768cff854eaa9073284339bd9fed809d0a31f4d5b0871e7247126140c00877ee788d29635176244e94e0a63b183644531ac87290373437a8ef3e9a8e3a293e0d2019007e4de2ce38f4684569946658d579e3f9d613cebb56f7cd15652cd7f52bcbdd65fd37eef27cd33e9f733b7b49387 +PT = b8b44dfc417a2e4b058664378b +AAD = 304e004576d55d113b412a8cd75b3c42 +CT = 6796ecaa743cdfc7901a30d62d +Tag = 1345a078 + +Count = 3 +Key = 1ee4d3b688da04869450768b623f9276 +IV = 1bfb3a9e5f51b914d70a888ad18f591d8c5734f65795dd5284af964a8ceee8c8773a177c4ce7b58194cd1f7f2c89ec786e044b782822356c4d9f3eb6ad6fef57cdb86a473d974eae1367fd8a45866cf454641d9c5ae9a9e0282424243dec5ed186ccf4615e7106814317ba29ba23d175637f4eee8a293f880b908c6cb717e0b5 +PT = 3d48518d148f044e29e921e115 +AAD = e7e4a011642bf5ce5dfcc40991869f62 +CT = d1a0de4ebd2caa3ad25007fc7c +Tag = 74a0d4d6 + +Count = 4 +Key = ad5f5c6edf3d1a04421e963f08d3d31f +IV = aeea84dd3a8ee0a2a87ae34a849e2ba6fe2812e0e6798be800a01c8643a06a617104b4fa386a111fc837a72eb56116cace894d02061bc00b78a20860c4ae8c363240f37dd5e28d9e6848f3dc02ad60372765befbc8a84b454e242e183071c2078a7b9c0946dd1d12286399f6b2f7184b5ee77868fbeda8b878487c422d4000f8 +PT = d6809f89307dc7061c6e4e3ddd +AAD = 415d79e91dfa4deaa720f912ecd2e845 +CT = dad422c3a96b2be34abe33bf81 +Tag = db88954d + +Count = 5 +Key = ce0482c8aa837d9295ff26d5ec0973cf +IV = 4504224d8e30a0c21bb0f55b4d93b0acd8327ac838405e247641864973e3ce0125b046d38d51fdedd996daeba4ac69a52500f22902085332c109f1b2e49c12fca54320f92f8d806ac8a03315afdfd5d3eb0c37f5627dcd0786d7fe3238b4b2b145ef5500a087c3acfea46db1850e8fc62d5b059345cf59ff328f101e294ee2bf +PT = 893fb40ebc5ced380320691b46 +AAD = acaae42f49a79645f21068242b543fc0 +CT = f957db3aaebb973fd3d3435d63 +Tag = 2ecadd84 + +Count = 6 +Key = c07ce416c24938dc579a8d99ebe03f19 +IV = 4022faa52eaa87c69bf5df8d05ed6a8bdd7063b1e96ef6b1c998c4f5cd77ecedbb69ae150e97f2905aeb633e459b15618a82e8cc7b715ae71845799a5d4af341b48f94d4400459b38e151e9ddece3410cf6954291615fcd34902ca8580ccd140e257ba07ec42b8aa336d616ed7a64c15ba271d154f074dd500ef48da75dc47d9 +PT = 76041b246cf263f2c70e505a15 +AAD = 5e9f26f8ba6f81ce0be807c31ba1a433 +CT = 1cff86263b1618ef7023a0b0f6 +Tag = 65aca6aa + +Count = 7 +Key = 9f20733e5b9302b3bca4828e93910aa6 +IV = 81e90125fb1f3296af1dc077993e0ca19da64d441a6a2d438bf2dc8d1f50f5d327ed255e9cb277cc1529ac873c3988b5b124f83de2b1e25acb7ad8f720645de455a17dc3fe0c870ba24a4377b3f71da1df50ec5ff04dcd0be5d030da6d4888adb8a6c1fac0ab249dd5d3f91292a94a934c94495fa3197bfb4aa703cf8e2eb111 +PT = f29270bad4416116bd55809331 +AAD = 7419c242918368676b0687ecf028af9e +CT = 4e807d6ab9d099668ec3e4aa36 +Tag = 9f8f1fd8 + +Count = 8 +Key = 8834bdf8891609caee4e776d037b066f +IV = 0861e910b9284a9e31333fdbc367f8711350ab9bae2359d0e2bd865eb1f86c05433bb50cd919e7b254cf218adc2fa08dd257cdf93b2a2810d665a987122de588e7d63db811b3a619643b03ba328ee76354bcaf2b6695cc1d35ed28c8a7559b5531703443c7b78af3681fb512ae077fe538de9f6d91e18212d67688089729f074 +PT = 1a4bb8e330bbfb92902ebf61ea +AAD = 175fc01482c6de6017efed1b97975c1c +CT = f4ea58f8ac043c05116160fc6a +Tag = 13a5edc9 + +Count = 9 +Key = 24dd12240da5b0b78cba0bc84895c39a +IV = 9910af07a22d032a23c363a6d288302abcda4c49b99820627745695ab5008fde8a2dd2ca0f909286be67acf69f9eef00851d59b31e2acbf702c8cfee18279f3f5c19c21895cd6a62737222c23365826440e51b1e7dc7b43740a0045c46ca9701c2c1b8a3de652e04e535467ce66974f60c6535df83511b40668303cb8e6936f6 +PT = 53040422fc9bf7789f15404354 +AAD = caf8c0527d41fcceba3cddb0548531f4 +CT = e3ce3b85202185ad1bca89aa98 +Tag = 08366626 + +Count = 10 +Key = 81f60ab98ee6c29646a8d68a491bc689 +IV = 3c9798407f4b46b69060fad954d2ff0fd8b7345bc483227b53a2ca9991740652d3a4f11b25d0d2daa25151fc4f607f7d9bd9221677f1af3b52e68ff0df1ecdb86698eb8ed0064d7443bdf49ee9a0b79ba5c89b4d3f239b2f4807b5ab5be62f84219c675976a843963e911bda53571456c00af58f34624aa424730630382c6d5b +PT = 8654697c2f177d7610decd2e8e +AAD = dc344951e409f0fc625a88ed2945a456 +CT = 8a74d3906f368c3f96435463ce +Tag = d4f5b005 + +Count = 11 +Key = e8265d8901b1130a306033996b67a4c7 +IV = 19f3657bf6302c9d70ad18a4a8199a4f34026b5e9d5b447bb26d0bff4450232dfe30ed7972d7a0a3beaa6eb22d6040ca32916e2e34cbc0d058768eb93ec0872dcdaf2ef00a77b27388bdefac140cebeab746275e116ef36f3c241c515567559208f984d3700bcbb3d31a09dc9e79fd4a51a937fce3bfb108b7777359f4723b19 +PT = 7fdabfb58b5438803aad36733d +AAD = d43cc5ffbfd97398226a1c86e6949149 +CT = 0e0db035fe11fe5e7a6a53cd72 +Tag = 8c4733d6 + +Count = 12 +Key = d8ad1e79750a198a4600e7f491288142 +IV = 6ab1f3f3aca400b05cbd562220678bc7c6b74a308f2c93dc3cdf846d8bbe8fce6a8f3007cddccababe563ef4124f4478b7839a37e38eb514d07af3a79ab39cd91dce030192f114028103aa69b7e6983e1714d039180b61c230e2e0e32497e692966318ea4f9b3045f36783f85e62afbfd690ee13f6358b5888fb43fac43376ab +PT = 1e22522d6cc3cb6cf50a55c4c9 +AAD = 6400330853491721d8c25af889259084 +CT = 257d46b17a7e4851032625be68 +Tag = 0c3a4b69 + +Count = 13 +Key = 169aeb7292ae393e4336d577de337a78 +IV = 0dda18f231d99cd8a4fd702fa1ded3c67902d432f6d8a83f118904a17cedad164325fa751b57896751a4aaa2ff1ff4664af323ef01701d9eb4b477c65a6df28d1847cd616e26ae0ae075c8aadbfa7c46e124128af6af47ade1fabd0adc55d06a25a3b1606287503c247b67aed7c7e9ff790663175e521e67dff8c605d74f849d +PT = 9705bd14c8007877dda4683d71 +AAD = d117db12fb6486224c42cd1194da0824 +CT = a82e7f791b7b6fa28e1080102d +Tag = 76d1d699 + +Count = 14 +Key = 4499bd744d47f3c4e80f07b1692142ab +IV = 4920ff0b63a097d1c5f223e6677b485694af4c5cdca83e0623e52616979af3639fe5af57a30cd228a1922bf289511cff393e918eae0dc281aab060ad1fc1327a81b62fa0d437928911bbb1896e95a67802c7d37f9970ad69e9d560ed7c60a717a031f313f816fe692c6e5ecbf5d3cd659018e57ef0d12a4c8da948645035240c +PT = 2d13625ff8951258286d85c2a3 +AAD = 9c0ad922b4dcc0eb32408a40f25378c0 +CT = ec918656983afdbef239925126 +Tag = 5edc1dba + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = bdc157d675b1a426de1883e177ba9899 +IV = 9c2df495ca15d6f2030c1a06ebe97fe6d67808aae1058b477b79750a7556884c04f4eb8461dc3ad2ffa709333c3dd80ba6c1f448f8961e43b4bd11ef57a70b3881a7e5ac0bd34f4de67348d188573f7b19fe0f3c9f21b413ab246f6c8d8f5a1ee76d6fa6fcda64ca1279a8dbca10ae63fc253728c381999a6e68263357d15612 +PT = 803a30f71910e67ca3f3f677dc +AAD = 44621d42ac532ea126a3be70890878b90ada5b80 +CT = df78ac9a299bcd3f27ab78c833 +Tag = 5fbf604c74fa0d520cdd37f494d07658 + +Count = 1 +Key = 9eac1187aeefefc5b565becb971f3047 +IV = 2a13efb56f5d4b90e80c8b0e1bc7d218f3013c7538850288f2ce17d268a35913e7183030caa8616035d0da57cba00f613b30c50cc51625feabb091e714f8203f084122eac5660cf3b76d86f7968ffee7512a045ee47a20271cff3236606d2afd785a771fadadf0dc3a2e9394b797f9b688d8a746f92d222c49e0b3d29a9fb80c +PT = 750830c23d20533c0b36b2830e +AAD = 81cfff5d4d623e43ee9e4fe153c9d7ab027459c3 +CT = 9e7ddbd9dc18caa4fc2d31b7a4 +Tag = 25ef83dbccbdf8a6553c34d56ec63334 + +Count = 2 +Key = 418a43a41674cf36c88c955ad8353a37 +IV = 111580ae399b077e16f76c2fa3fb7357a6b4e54cb2e4dbc05c5b8470f6d4fcb045062b584986e82275464b69a57f233711752d42ac629434c1c61caef07d0b43c17c9783922d1bf8176b164ec6cf805c997de4b3b2da4f7320b9534a86b11d426363042c666ae641bb68513d18ebd6a19f1f96d9effd45ad1109b6c35952f9fe +PT = 3919a74cf43dc731a635324ece +AAD = 8d03e7d80e9d00c9c383ba53d57f70cff4cb193d +CT = dd67127c5bb5b96e141d921bf3 +Tag = e3cb65b6e0e6b4ec5b0dd14f0b99687d + +Count = 3 +Key = bf64c9197a7666bb62449aff8b4b0a28 +IV = 2e4c867f96e4091e07e61ca54eaa7fedab8e663098c6c1b77ac0428935980eafd12082b4192feeb40198d37e04a63ac786e0c212cf535fd57c4f49110e77da29fe482bd1f9d8d4280c656e390408715ec4ce197acd1ff7b282cee70b3b3b970ae4d54e95dc576cf57382638f2a4b43c7b432cdb873b12cfbe61503082ff25ac1 +PT = d191ed88ff7d732ca2c5ac0bbb +AAD = 589ccdc3a65b9506ee6555879d52e43aaf432d14 +CT = ede9293e34aa3465be879cad38 +Tag = a8525eb12a0260a7cf674a8e5b83b787 + +Count = 4 +Key = c1bfffc08f73e64b8241b65554f13628 +IV = e4ebad3a2feb6ad7e4bffa70f04d28c53a178bf63e2e4c29f0ba63d22c5cd37c0bf9b3bef1db97aff9dc7406d1a93d3a4eb0c6655fbdcc4c88f732a4db7f7a469a1a1c0d12655ba741e5340d5870a0b9eb944c698bdb7c6b6c4d4c4a4bfd832b2586ad4d317d594d2851cf4791e48b9b2f09dfbc52fa58c8093f1d750947b89f +PT = a636b204b8f1326aa705bc9f11 +AAD = 118daded7524b8216e8f361378f055d24db29175 +CT = ca3b2c687e7203feba82e6d69d +Tag = b5b23606d32257e1dd0f81a48f9c6488 + +Count = 5 +Key = 6d6e71f83838fea6824fd658ccf8c9c8 +IV = c6f9f7457282d4202e88623d93c17d46f8b9171728089af714e94f84b361635e6ff4d5d9379a4bdc5bb5541d467956e840b42df55013179a092d3c7293f140891fd2bfe27169d7301f6fdb228c2ea4117d70c057cc49c209c99e265a12221ea48a6c785893d7b4c2647ca1415ea6dca771652b9e7ad242f2e30ff0219a553db8 +PT = 1016768c71561f460ceaa2ac05 +AAD = 22862ea1dfce4d5dd1d831975872ec651849bd54 +CT = 72081ab4814722a897f8874b2f +Tag = 242017eae0a846965fd33721316c743e + +Count = 6 +Key = 5cc3f516e5d515dde93b44592e45185c +IV = 17e43d8dc118e8a4c41af912704cadda987114f4cf936c09d1c68bd16bb93e2afeb6216c55bec949fedf86e20544d9ee332a3bce69b629292db29448efa0a53c89870923a77416d094e9c96e7cb0bda06c65817110ffc9a04daa97756d5849a59c09a50491ce69e039ef8d66d46e41e5677032d50e475b2f0f0d257fc39879cc +PT = 652ffd11172428cb3f12583f99 +AAD = 4e3a91d98d108cbf2c7d9a04ffb731596f58985c +CT = 7f64835e76efd4b6e4a6d64be6 +Tag = b101c40fb58bd996cf15f16d1a42a581 + +Count = 7 +Key = d86968e1b0bfc7005bafe6073352a6da +IV = 5434b8972bcab946baf521eb5a549de03eb91d78eeb1fc8a5231bff91640e287578b573358563897e6549064a6f84cfc06d6de65e0609ac0d5433f790895f9415a0143d471625a53766a5dcea36dd4ac70cb056fef6f19047f97fe34c4e093f1d373407ec93ae67c3f99cdcd7482a6dadb177c9bd8d364d9c8747e106cd0b19a +PT = 76e01e50b3b87b37e5c1239b49 +AAD = ba6ca437ebd09f1aaacb358ae7629dd642b0e1b5 +CT = 91572d1c8c77ed77f72e2d22b6 +Tag = 3695a8f3ef7e89aefa466330f7893f89 + +Count = 8 +Key = ed88f3f92a6ee180732a9394e3d67ea6 +IV = c40a406e03aa36edd0ed5ab564af901210efe8c19e5fde2af13c1ed93ba519f86e4c0be30f59361f5b08d21921c888dcd6fb26cfb65f644d138266c95c5eeb504cf7b43be15d38e876ed6cd1c988080385f3f5f1390c6d901105805cfafaf1382da3f54738a6c1c6710bacda596e707f85c4218027f53d1151f0130485e27e2a +PT = cb8daa1497e62f89e195e63888 +AAD = 5d1b3136da49c4c21facf0ba7e79bc59d5377b33 +CT = 6d9b761bb24e8af8ba62081500 +Tag = b1f552a40bb839716f14a4976990db26 + +Count = 9 +Key = fb870b3c04af3d70c5e69050fa7a8875 +IV = fbb735ac797e0af72fd525218b92c4eb122e409466a2acc1bbc85e96f435dced0846679ae1ae43984e9d9c1e640a59432d872814c36a04a4b770a7e6753f780d42323ad3be7777f204e4ad345dfa713a86cca61cb7aac0e623879414842061da6416a19b64a58c6e6f535b94d9fb767b6c462a9798cb91fb53cc60c477c2be83 +PT = cf2148f908123cfba53b90fbde +AAD = 6073238c948e9e788bacff9e2abadb1ad55c974a +CT = 7121293d3cd54321b6d9417553 +Tag = e9b1df5181f6590733cdb1e7e5bb8a29 + +Count = 10 +Key = 7aa24965cea780b9a06499ce3f90a9b2 +IV = 1c8afd16e718d844a8cb7520b99a191e4f4e18e2b3caee91e7c6341f47c799e5f2ea9594e9ac1837cdf3f737ecd75ec96beea461217d457518f2bcddc606ebcd54578811e8bc378caa7a658884fcc4fe4e8fb786e9011851e1a02ed70e7f1658bd890c93c44e39830a118a49579d445d9485cfe7f98ff2336ed8a8c51b120bfa +PT = c11cb9f0a3d5ce35f1f23872a3 +AAD = f6118d2dead4ca034fdaea53efc5960f7cca6917 +CT = 571c1650f6ae778006c5bc2186 +Tag = ae37abe5c65d6a07db4fb11081bedb2e + +Count = 11 +Key = fb1c7cdd64b7ec89da43c29ebc6a89e2 +IV = caaf2c86b15bd3c5d57f7bbe5f96444e436cd5f47c4d3fcfc2c4e550dcbf341e998cdc0f6a5bdf711cd8f90011c26cd15cca45bd92f3d68fc2cdd80ca2830d6a883130696cf48cf31836176da89592788f36b97c91f6c89531d7f58c5555600b051409fc82c79485b1668a3fa8c96ec40e918ea0191e3eddf615dc3ebdceeed0 +PT = 9a50c275ecab437cbb10676da3 +AAD = c97e4668120ecf093807d7990827c7a856a23643 +CT = 1a79fdab53dfa1d8c5f438e732 +Tag = ae8bebdc940ed01aacf32019aac81f08 + +Count = 12 +Key = 6c7d1bec16f03233d225fbf7542fde88 +IV = 084bf4759ced0e035909691c35b6e51611d1b2ae23f4c5cb829fa2803aed278bdc232d692147e4502e4a04252b493bf59db3ae773cd83e34462b583eb4c53764b6ae42d7017c05a6ee1c799aa907b0238ec24979e9ceda9f897707e37bd03061c8cb446c52553fdd1b6e274faf6ce2ba341ca5d0b7588dd73c765d611983a1f2 +PT = cef2f6953a10c310f61618e0b2 +AAD = e8e5d1c3811177944cdf4535bf8a25ff96a12c7a +CT = ac91111029095c6bc1fac92ac5 +Tag = c942efdd496137c2b972e8d912c9ea03 + +Count = 13 +Key = c9ead487165be774b81a6d49de171964 +IV = 1d7503b66126d0f4ac73a9b9ab03bf34ed5d9ab3cfbfb8d605818ef53ad13419f530d83277dcce70a7f35cbb518537a7eae6317dbf4824c188473fc0f4cc4104539ac3920916cb9cfbc424876faff55578ed322bc8411bffdb085ab84a11d8738777290c32898fc05e1964bef3615cc911c4ee7f750d771851dbf06c25ab2af6 +PT = 7ca24249fa6b4cd96cf40cc3f6 +AAD = cdc56596f02849a063905f3e8cf39d978f46e063 +CT = 02ebeda05ab22f81e36bc56bd7 +Tag = 4e58879f077ec28cdff672e14a012f28 + +Count = 14 +Key = f172b77cc03eb2c0724acd8c8c864892 +IV = a7bb9144152576506cbe36802f9afb02c7fae24c248d228198c20542d55b84fff8bf446af9ee6436bc192fbc7c53f43f007dcb64d7506699cf31d590657e882776885e28988757bc92f3685eb8191dc956747d4fb5807c06ec75a37792decc6b3bdcd89b6d3eebe78f7756fe0b92c08a58be076dc0cf177023994d8d0ae80a72 +PT = 2049b66ba7a3345ad254eed546 +AAD = 5559c03e592b85e76ae4d1c5104acab7687a5e5d +CT = e5c315f29809044285b7dcfe4c +Tag = 9b0d5d464d1c1c153651b4ed8c55c734 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = a31b29cb3de5c0ac0ab14637ed0f7491 +IV = 6236215b5cd7ca38aa17d005d6cc5fb7db5fd46367bc6ae57e49598dc11b7ccc8b3371296d8a9bbe8264cdbc22fc165b75ff0ab3f10066b1dd4b038983d29cccddeb4ac81d688545bcec99ba0f09fb973c23876fea08632e55dc296c0a6bfc6e4204ba21df7650ca20c08978b2a7169fa71e0ef50b975ee47620d5d0be89a818 +PT = c9c404e976d57e59d3a7ad8c5d +AAD = 40e42718aa3adfda7e1e33c752e8c062d2c2ed04 +CT = b96b28da2119abe828c48d7c2f +Tag = c27426779ccf9070f2b090826cbaf3 + +Count = 1 +Key = f842f6b8d162bfb82116038e6559ba30 +IV = f728f0cc5e569d1872c0426cb85ec17128fa975e2b52397ca6f69fec70a0c91a3ccf6eff42a4408f1d9d953b4bcfd8149dc6574f2610f87c6502b0526fe9aa9d035e0942603796e5991de3c3b47319bf0736d7e59ffc16711e1d36241957b878372e2a26fe3182712389005809afd0467fe7a9bb0909fbc12258d97ebe1ad320 +PT = 203f51dadc0cdef7d406fe5ea0 +AAD = 3015cb83a34ff78817c60ca6e2862cbad6d5cbac +CT = cb077ddcc0d5083deaa5933e1e +Tag = c2a46ac785d10f57a506e718904496 + +Count = 2 +Key = 8acf51aafb6837c326e74aba87b0a744 +IV = f09a1817427d50a04bd5b2eac877f858184d011f5751e5de1b6769770a20995424030fe1643a96a22a9267b90df612668a97bb6f9e574b1c98f08817253763eaa49a3b3c3b1b863eecb4da9a200de685edb7eed616e74b63e2c89df7f495d5bc87a96a89648efa9041a036088004191fd6df2e7081ad9e8d6825de2cb0544edf +PT = e5e43895482b6e02ef8a73986e +AAD = 74710e4e229e75a729036ae2523ea71724324bcb +CT = 387614016064eeb8db6d5fc8ec +Tag = 9bb7a1f64371ef07cea40f48f98d69 + +Count = 3 +Key = aad49217c3e360a7784f9ae5e3f1f14e +IV = 3598e6e19bc025ab285d4139d954a484b910a38fc64bae93788c350b16dae6b19b3bb1c6dd61bd228ece4fc559a584d9d21248b0d3fafaa9a33384cdca87ee2c53c7c7a633e0012824d26768d90fa17937b17c8be8380d8c89ee3c953772c3a0df1ff7d5c9b0f84cbf0fbd741c1f4889764601f2446f2e9cf033418241c2cb6f +PT = 47c68a78086b97202659bb0422 +AAD = a689b928f4818582f98251acbffe83daa501b40a +CT = f9a3bd8c11aed429c04b7bf2cb +Tag = de0073257eab657983ab9c35171d04 + +Count = 4 +Key = 18590154dcafebf1ba717162f4c2fa9f +IV = cc69569be7986a1ef3458afab13d529eed5208eef32455e3e595a587d8c4d59f4b3730d5ce0b9d112b1f2cbc0392fd96950731cfed0fc27ce2c985b67b8308af6d373c3f0df685f3f59f7aef7c1d3f6aca50219b8d03ae774dcc0f88fbeb6bd3825318b31b7dfc8c0501f2b0dffec809925505801933b0d8f0da626e3a3fd113 +PT = 9695fc90393c28e14f60d7ffbc +AAD = a962e58d436cb54bf7c6ee987bdd321cbee9d959 +CT = 9110d1774197cac556d7404bc7 +Tag = b947c0b0630faea37f7cded2862928 + +Count = 5 +Key = 9774202560cc182294938d5b8d91f353 +IV = 0ecad905d5a104782d82e1d1c0f789cbde9b1921ed06d7a472eb89449dcabdec48a8c093ec948d6db06a01acfd9f5e379f00f189029248e14d3dca956adb7c47127cf1c8425da99a9b23dd99c3d3194e6c004c8ec3e26f2c8457406dc31ba12afca95540a4c529c2eebebcb0890b9bc6788fbc6f837c1ef752c4d8b4cd2e6a84 +PT = 208223058dae4c0745f6709907 +AAD = edc7771d3b76e52c818e0e2afac3ff078053d7b1 +CT = f07887f26fd4b4033d6abe6933 +Tag = 75e068e7cef6a58b98bda5ce5ab2a8 + +Count = 6 +Key = 2a1725a9117dfea66cac38b5a5ccb331 +IV = 7c9f4b0edce0f26db81553c11a9ce700f5c83abaeecf8d3f62c1d99658929eee55487ff31b060ad1033aab8d8caea0beeaa931a2267ea230ddf3d4f75297a68981118f05a186490c23c2fb60cd27cc43e345058c28c6c7a74b2dd12dfc8871941b779537e7e7e6142ba38d56ef32c9d37128277ee07f7ffa87152a5161d3a913 +PT = cf103679a51ac7345a77973ab0 +AAD = 948e98bac7d5d1090d453cdd6054a9cb338fb380 +CT = e5db6284da72de72aca059b0f8 +Tag = 7753ae3546f52083606ee1b3bf9d81 + +Count = 7 +Key = 16e011359d4088ad84f17e3b0821f7cd +IV = b27e5bfc449608ddd3f3053f0d841dd2cfff2aef4d495d2064ba3e9881d3a3ac9c7946589fa88127b90240024470b97616883e99a2f9b01046ba3c5251a70e18bea48453bbd5c2a6e4c821380fd7f1c507293e3d7bc0b36d02321b909fdea6da454f1e665f69a216bfa59b60ddeecb5f8785603fa806c37df7f0053dfd8b8a15 +PT = 59c3fe939e03f76582b535e55f +AAD = a36588efee827403bb1aa0d79c27eae5c1049cc3 +CT = 96930d8ef1677bd7821d98dd6e +Tag = 7246e21319b87400115c7745edf9ab + +Count = 8 +Key = e25d0aff88134724caa6de24b3430c8d +IV = 926be235ada89306fcd0cf45b3f4c1d676d8e6261e3c10f832e9d6780eb13d2d085ecea2c2c28a1c1cd1efc99d33f4bd68cc52b9cd6bc7ed7a102ca721eb84b66c52bde57902bc3491f4403fd55c698e0275a3f38965a1c5870477eb5c2ed6b6d6607d348070ad5617f0e58f5df9565ad49784f2a19d7d0d124e0349d3227bbe +PT = 6f1385f29719f3afae27380cce +AAD = 1aa01c4f13068b51f43ef8b6b2ed7379f66ca32a +CT = 4a941d69597772f793753f5525 +Tag = 198d30060c9aa1fc3bcc49ec9ddc05 + +Count = 9 +Key = 424626a0da6e2f555f3c37cc33fb1c86 +IV = 55e42ab3bcde0fc0adfe07b73c9ec88c735ff296f268e0ace9099c5aed90c98bff082a625bd9ff647561f0e1e00917312e41807659a0ed53bed3529699df221d850b6180014de95b4b2b99f507f1e26e8ccc7149b068ecdfc4d8776c395bf673d2680aa9f892b3cbde5890830862af21cf8d5c6acd11c6af644246c666ee3e41 +PT = db1f0fed4328fb4ad30789cece +AAD = c678039fa4c35fdaa26c615c978566ac78149335 +CT = 02e509a5f2de74ad998ccab3f9 +Tag = 366984d11b5f001b3945c02bb795c4 + +Count = 10 +Key = f7a18e916182766aaa502c7eac1b8252 +IV = b2cb32636d5bcf70782e81aef74c783b103cc7af0f4d56904ac4bf398b841eff657691d146156ad3e6e56bc3f87b0fc6e1bd4b84e0224d370d2663b0ad3497aabea4d0fc9850fdd92abda3bc52348989a140e675fbf1c2a19f81e32fdd5876119d42b7ba2819bd35311add5ead160680ed88cac374b4cf02fec1a9a545344bf1 +PT = dd49acc5fff220ea7b91281144 +AAD = 8f87baccd65d45217efa3f93db99e6d1b9e5a81e +CT = 703b4a6d83bbc63f51063e7920 +Tag = 8546c16696102ad6232e7c1d9e2fa1 + +Count = 11 +Key = 7e1331fc9f6c658f89a7740f80bc979a +IV = 28a19e7e970862ea8a330dc8cf9b3f61082c9625eb46f6d30244d6b1fa31734f249b26012ccfd1e88bc8ed2c128a8d06f6fb3429bf782f790af8235a2333516cec64f1fb549adfcee52c2f65bcf7b678767d55ab77ee4b6a91dff74e8bd198d0aaaf201e18fa3cd9f57c6c37d333b9ec3b1a8129610e81c44748eb6e44447fc3 +PT = 1f89897b3622d5d6b2bb5cf3a0 +AAD = 02c060eb6dd8b6414cce8d5cc03abc6e5f82897d +CT = b68688f8c787795f5b88a58e50 +Tag = 9ad89ab973bd6fc28650a0e2c3f999 + +Count = 12 +Key = 1c3ce68fa174b7708f884ed9cd7d8369 +IV = 3605747e113a57f6133a1dc08d296fd879750418b5ef127bf4d522aa9a1440e947367273264fcbcb37805d8d57de972b6881955bbeec8f2e11f5a04e9837d42c33c89555a8b50889783090f48ba5aaeae43526a2625eaa3b6d5c995453e42cf429cfb69a32f00bacf871aa7d5cd2d133a2261224115a9984e7305ac1a64ce147 +PT = cf29bc8f5ed4f61609be24a198 +AAD = ab8a259bfaea2d9e5ecd3cc4397c396cf4d2ae29 +CT = 3d4d8d79c2888c400999c3d9fe +Tag = 7b7f44b2742c566d687d609b8064be + +Count = 13 +Key = 8211ae3b3a5a8364326b7d56b8124951 +IV = 5d362da0d3ffdb98b90ad6ce954cbe3a8976b2a3d4401e5f0eb2455bb8a92475dcebc7921284c931b027f53265148867393f6f04d96d4dc0e594fa3e125472464f72b592d9fd5e318ce6f35016048ef33e45cad3f721a34758f9d00681fc63f476e39151da107e08fc34f32090f94c03f8610b3de86c309f0f25a8ac212e2146 +PT = f2b4e6a91dc6c4e7ef9cfc3620 +AAD = 20e6345fa9df39d80412f0e9f40650c0b98673e0 +CT = a34f54408e8562ea988e4f7508 +Tag = 5770186d203568ac776d0c9251192c + +Count = 14 +Key = f14aedfa255fc56e34e3ce421b5fd401 +IV = eaa477259d3f5ea3e9d6b1b549dfcfa20155fe6bb80d122836c5246bd56eb16a2c2dda4a694d47ad18a49fe9284690bb7fc828a7f96d64604afc357e1a7d3da110430c3a37a4e1e8779ff2d4367507c8d31f04cee4ea5d19016119cc0834ab5fbd38ed1b3029e4635b9f40e6a189e805b54dc6c0e0785e0c448f7a88aca64cd3 +PT = d292f89a652fa9380c8430df89 +AAD = 7975d0d6be90f30fc60e86fc6b416794a773122c +CT = f4d5a35f11d000c6898d191b6f +Tag = de0c9f6f4d0c7dc17e240f8d15f626 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 6977a019531768073f835c2273f6f5cb +IV = 8fd766d647e29c97d15638f18185f98b4f2e99f1d924b3572d570fc2aaa8f04c13dbee3f4b85d6ecb76830ad6e48b084c8a784a0e62441f4fc2820da0e7551e94564208e32def34094ba64b273385a927fc902c4732671acddd12d325afcd7260d3c3053990d051aaa828a16438a6ff9edb922ab8dfdf8deab0eb9c3d9a87b37 +PT = c0659c8a79902c2c7ec77e5ab8 +AAD = 75283090ae17a539a95509502e685852a2a41a4c +CT = 579d06d64c3ef1f64eda1c8e40 +Tag = 09fe17a30175ab28763f8671313b + +Count = 1 +Key = 670c3931e2a3f416bbb654a6d0febc4c +IV = da82f62cf51474bfe23771809ba707e7ecf2ef8c435d8c01f6ba4de40cf27e476b50a75f7f0ea513ba1cec1ddc4a5bc0c6dbc7796c030c973c54c1d4f4c1da41742d8ffc5dd5997377e0038f97916b50c58f37fbfb7bc7364f441a5039183f67bf8a96cf9ae070f7b39990ecafd11faeff3e10e25546214ba5f97b67b4b46f59 +PT = b15df3f3742e948ab469e8675c +AAD = 3781d2f20ccd7b14e93fe8dee54e6a16b425259d +CT = 44d23a2b225990559636b22933 +Tag = 49b9b38464a1320873f22d291e6b + +Count = 2 +Key = 44290abfad4555db0f275472643e8ace +IV = 5263a1b4571f954b0f181456f35d950f7455c23c256eab18f4c228f3b307ff1b2741dad61153fd1b6d9b7ea889eea7563abce596506c04f9d6615a61dacc4777ecb9b7310149caf775e9343fde48e4e71fbda39754e41a6678bbad43258d3429d1779da9db416fb16c892c422d5b8d3e86cee9884ca1f63b52b1900f2b2dec4e +PT = 8fe8d315643f32c69bc392d036 +AAD = 3446c3b33199b296846d0e1172b091f5a5e81150 +CT = 890db7defa1c25f10cf76fabd0 +Tag = e3b68cfe5e969e668332b385e22c + +Count = 3 +Key = 1cb5c8fd7fb68bee99d0381ad4e6bd5e +IV = b6eb36c7c521cc75e211a873644cf5ace6e78911622132a814ebdcaaf2ff7e5fc1ba7261f76dc45a6f53a87ff1444348a5df11935f62d20521239facb5a133ad7ea35b88d8bcd95620db04d014079c37630a9748b8b08f121a8a732672635a6dbc6dcb533faac8083508a4438a8de04a9ce509e00d282863272f868e1e1d936b +PT = 86e7a55dff09573c9710d7ed05 +AAD = bd67af84e912f0e5092e9260b14b306fb1461c64 +CT = e932930279f29e9991527de75e +Tag = ef590853d772db7e7a777fff29ee + +Count = 4 +Key = 17f9484c5a8932058cd9331baa5f10ce +IV = c0f4c0b88e0185a57578dda3dbac615556fe15888c931db7834f1236332ab54c8ae7d13921774c3e47ac96863aebc1053daf34f4189716fb04b3a1297c29406e606427cc34206ab2e940b4848c01a06005aa27887fa8920f6b7f4e925a12f79d0101fc0a689db80efd51c515e4c2667b76f03b71a857988d8337a11ac781e0ab +PT = ae0b809bdc0daaa4ccfcce7e6a +AAD = 69d81dce787ae78d809737972116cd7cf652b5b8 +CT = c0afff08bca9ad69422d1d72d1 +Tag = 7471cbdd85868d743b90d295444d + +Count = 5 +Key = 2a33d05e67a817d19e35a3f231cb3d4f +IV = b6b65514419d8e1fe121ab33f8b929b2ee2c9400cfe93b4b607213cc7ff1bbe5ea6c974f7d1a1e0f6351f17f697c886cd3aa724e16459a409ea5e5ea3d3dfb0cf823a40ea77e246dbbcd06064b1c3aba3ffe764c61b513cfd23c205fa5a44e89d3c4bc9bca0fa0cfd1947a942fa08ac93c61b397998d23a117873973dc5567c4 +PT = bb6b7e9b9208dd6223dc60e33e +AAD = 9600f94829e41af09e6cb9f629a99474c5a3afe6 +CT = af6fcb49c82043b89c5b4ceb86 +Tag = 3e0eb04910848c18ad73565ef175 + +Count = 6 +Key = e1ccf10758de8fc1bd26f265de28616e +IV = be78bdb4b0820f1607bb2814faf894a41379e7120602460ca22e79bb7f1ee72a6e788d45e45ddf5acb374d4130febef81f0d33e1897663a22bd77dc77f5c49d49e471b8bef440e0a6429d37b996b838a4a91a296762c97322b90fbd9ae8b7224bde8b803b6cb3ebbc9a07b1b7835456e214bd131c5088a653ef7b9d515d9b922 +PT = 27497cfb8ac3ede34335420fb4 +AAD = 863cc67d1df76f567f3cbd6dc5e38b7d92d28fee +CT = ffba36a130e4fa8b4d88e4c184 +Tag = 64da05b1f72d9fcc6202e74cdf56 + +Count = 7 +Key = eff916e9e4c71f62865b6772773062b4 +IV = 0702655c181333db53c12d9cac4a8b338b457d32e4402bb1e40d56bcbf12848bb56d939ddd95eb6ff6552cefc1fb01345e78f95e009c2a3706093035ee2955b1cf027a14b9e42f8e42ad40e864778247465cd1ec96cdd4a0da61bbcf4432ffa7dfcba1201ad6360ff5712e2f2a32607149be01117bbaa33abd12ef3a26511503 +PT = 67ac364fb89acbee5f319fa868 +AAD = f4ddbfe8721a7786f3e7692a4268c8f8a42f9822 +CT = 50837f9ee67c058e2a80440396 +Tag = 2cf98ebbce1c0503600914037da4 + +Count = 8 +Key = 4a76600418ed6be89139df9ea36dca1d +IV = 9e32e816d3bb96b588c209436d1f080a9fcb185bd951e092a9ae2f91bb9efde7a86ca6ffd9b4404275c5075e63e3b24dc011e29b3a8285a36972f32c702ea30c8d65cf78c6b72fbede2e8469408663cc7f48c1fd9886492e9d5924b525aa2e578cf8d5f356af60f51dadb87915c49217ce359249d81ad01679968102a2b6e0f9 +PT = 1040d0cabd9481b8f64affe5fc +AAD = d6477bec5eeb9f65e96250b718c4360f8f2f3d2a +CT = 53bde0c58093e5457386925f3c +Tag = 3b6cb95fcb656ef794cd35501171 + +Count = 9 +Key = f21746c5845218c098e8647542cfd112 +IV = 4ce25970f30cb4513ee1b4e465516f1c78302b9aa71685034a6b272a836a5844c26737d56e097517e69cac8ac48d3756f4f71396242e02ea91ea9997db48cdc1a58bdfdcb154af8399c9a8227494f9ce952803d5c312e0eb12e77d6942a6956a45376ff203d39f4f73d834ae588d598f0d1cdd4b99e3a07d8b8156b6649ce6c9 +PT = e4b10f87cd7eb562212fa5ea59 +AAD = d4d2d61fce0177e1812ffe9687408d286b30e933 +CT = 0bf8bdafea64b3c0fbae3d64e9 +Tag = 4fd3c7df11cd160c44ccbc4f7693 + +Count = 10 +Key = 5dd60e71c1c5f7de44198d14acb17011 +IV = 4adeb012337a39f096a2f02358e0d7d51bae75a959e612057e443d8dfb1dc40964f3b43156b8a2b41492cece2e0d5c7d94497a258840fe788c692706672a44d662d4bf6d3e6be3948aa51ad4fe06836d1232a40110aa0d94b12cf07db0615eba5dfc17ef14d3f828ee1b99b74b3d4d8690ed1c83a033238fdcd42c8d48c7f266 +PT = 730b9f06e08b6047383a14897b +AAD = 57bf8170a0d8b160729ca0e17e9951868d45c374 +CT = a87378b6435ec94a548b96701e +Tag = e6f560dbf0508cefa4afc33d3c43 + +Count = 11 +Key = 4f748c1af4fa632028f7ed9ef47d2d84 +IV = feeda3f70914f98904eeb80651a478258fb2c85c1224a0a1d32463c7c397c022969ed2a1f285b4b9ccfc54346ebfa3ca09a69b0ab63cb69f0e7773f78a9f3cf43724b5f2bb3f0cbbbf188741243bbf76acdd88a0cc386aec31e3518e72735c9f37470346d7d86e1eb2b2c421dfd0d153f585d25172cb87a84dded0fb6ba70688 +PT = 6a08bb592db6b95e694f4b6cf5 +AAD = d1fbc03fe368f27d0d6bbc4f1949f9717edabad8 +CT = ea32bcbcc6c53bf12ff5dc6431 +Tag = ab4673de5a175a683343e760decf + +Count = 12 +Key = ed396559920d0b1382c7cf9e5d50b079 +IV = 2b9679b63701ff07dd990e3bd32b7dfc88f028435737f275259202ad59c904ea7b88f342c42cae2a57d4a61cdffea7eb11700646830ee357ad2e12f36112e024a1fcc222bc3a341a528c272c5fc7c7578986f67a80581a2f5b039abd5f5dd62b1f2f57339d7f33bf4eb8ddc1fd303f72b1b639eb96b5691f1433247b1674f9c8 +PT = 840df2e8531c0ec8dfa2e62d50 +AAD = 15a4621bc85d40dc39924836c2fc05d84d95eb58 +CT = b38021cd0f76226ab0d276fdc9 +Tag = a372b9d9f15945eda49fd6bac120 + +Count = 13 +Key = 4e05fd535d6786b40966096ad5107fb5 +IV = 579008cd214b1a138982a6037ada442cfb29cc97c112d934df7855059a4d45f4c76f94762410be6dab8eda3a28a07a280091a10a2a779794ac6da8f3f46f2ab3814bfbf8c13a0fd3bdee639fd60b5cd11ff84817a9d3d119e8e59ec110f6ab14ad1a2b0fb1dd59f417312981698882d95be42088823451621b628e3fef60d08d +PT = 6cc3877edab7b15c127b7c1850 +AAD = 84df87e0a41d9bccd227a65ae68df680aefbbbde +CT = 9308c2933c34b5cb8660b178fe +Tag = c32c1dea9dfb311bfe1aa0e84b43 + +Count = 14 +Key = 2038ab986fbddc812bae90926aa68573 +IV = 311b8341fc35b0af5038ed357511fc6f6a048fb17f04b99856c8533439525ff211aa7b6cd29fe834cb3193b0a64c775d60bff1eb4b621a25850be2b12a6cdd770b72d69134e57dddfd84b28d18905be1228dbad84dcc2b6f4693189447d4f8cb09984c697e1076b45ccb9da38f97587d92629d8b05df4fab82b11b3450fd9db6 +PT = ecb5a4b0513c92deda78a3344c +AAD = 372d2dc6941ff2330c6001bec4281b7c7e21d6fb +CT = 57c436618f494a74cf86b14b68 +Tag = 9a7d8712226a6bff59ba5eb1e707 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 20762ba98f5b06123a561bddc2c2b1b5 +IV = 66b64162343af6b4d695f3020b272534fa8b62c41f1a4348471db2c8b53eca18f1821ce47716ad0d1a1cb7b7ea89e95964942332791b343fad61079c2639b8ebddacc7248089ae83a7d8a7d9db6cb1988f9a791f98d75d119cff0cbdbb5f7827cd9d94555b901df6d11b068abc150b49e58d64e7c60488d89db159181a387094 +PT = 78fc5e0d43d87cb94ba5291c3a +AAD = 612bf1c75559a38268ba0045c43b046a9ba3455a +CT = 9e78fafeac39db9d521b8ab27a +Tag = 2c7bbfb3b1a0e1ef983f35755d + +Count = 1 +Key = bfe77b8ad72280ef5acbd54b74534a29 +IV = 7c072eb2af96aef31c7a29bd6ee814ecd8581364f4be05392be17fe4ab5a1e8369f3b311ed90a698c15023f6f4186cb4287565ddda8202bd792b263aef3c2d93b4103baf8856134a079996a86103158b3ea2bfeb60ea4765df7a37590b42d41bf45d861fda9f7c2f8ec59e15ae8b10c5370db34aff2282840e6fc4bf27adb726 +PT = 1a35181a3665ce4f3ef22cf48d +AAD = 7c4fad2945de80920400d176dababf786cda6190 +CT = 3643423857983e5b17c30150fa +Tag = 237e413759c144270c6d76542e + +Count = 2 +Key = bbb136f20914b423245229a69fb7450f +IV = b96005ede05f25e4b3da5de8ca9a301d4c419aa6af4e7844702eecc62d07cea04c28867811b80bb41d8c52e3561adaffd7e5c137cfa0684d6f66db5ac5fbbc23f4f45ae061fe05ce453655103baf7bdd050042f1ff5c8489e0c1ce1c57c34e7e11a719d0a1d962ac95d2a456ac8cbc98a94ae66d1faf00a9eac0eb52c8b316bd +PT = cf72331be3e361228cf7ac15f9 +AAD = 34899a51ef13ae18a1d204ba19bca00997b6efd9 +CT = 350fc91f3ddd77b425d43ed874 +Tag = 007b9705f3b6ec6ef247b4e534 + +Count = 3 +Key = 3d83553c4de44ccc28f56236c713084f +IV = a9185dbf1d03f53a83f5c1ee3700220ef5478f86028cabb80736fc2294aefea5aee812b7fb74cfaa51bdc8f260fb472ce6fb2abb1a5de02031e2c5fb65202d833c950d91f09f66cd3a6a91368430cb9671d5821b9a410f1ae771cbd1056c5978db90fd87d1e4590ee2d9ce655d365d2fc5cbcb1f418cd3f53bec9e844292ee87 +PT = f173d8888026355d59aabe13f6 +AAD = f2bbd5b0ee8652b62e3980c7064c56ea625c1e92 +CT = 773c0399de4b3e9ca5d66841c3 +Tag = f861ca1056ca794815ee08dac8 + +Count = 4 +Key = 4d077475ed481561ddd217e116040a8c +IV = dacc96ce67f31a63795ac3147b27efeee71c39c60d9770735bb0b4aba35ec1d44ec27b7ba98dee759eee158186e5757707514833fc93be8a306a1d07659e8f9a89a20c0914791e9f25653ab2b9128ace1653b399f1ad0d26bdd5c4bbd496d4c118838d7fb07ceadf142324420ff02f1d04d6988d4f4cec4f077e0b520a477a84 +PT = bdb53c4f7d571f5b5c5bd80ccb +AAD = 2451ad781c334a9151ae2db07edcd7f26dc0a51e +CT = fe0a1616ac8284a3f494a3961e +Tag = 0dce5ca5f2bc18fd10058a5701 + +Count = 5 +Key = 1884df9100075c79f7d0d5902f9488f7 +IV = 946d6550e1b8d75dbf287a0feba8ff88b5edb2ed977a2683d2bd2230d398ff3c45e2bb7386c5d6c73b71603bd275d0d93acc7e33e317af42faefa51ed5bb5064c85919f1d2ac9ae6ffecba91e5df228aad2f0c60fff3d16b98d7de5fc83af7f3a717ea19263cee801a698c8a822073dad69b010f37c67913800f865f867ca7d2 +PT = 56f5abbffc4df53600cbd08bdf +AAD = 82da000a8b35cdc315ba1a391831553fe0572550 +CT = 5a7a641f91317697806bfb2f7c +Tag = 1d837326b95bbdc5d6c36db8e5 + +Count = 6 +Key = f3ff95b0eb22ecfb3c68b8d5d3582b73 +IV = 75f806b18b4a44f22694d9834c9d83eb495e03995b380d8288b71bc2df4a4debe037a7aac6ca74fc34aee4b488f16b8964f0814164942cba92cce5783fae328e2759ca6ff6b25c3f51ef97d701fbae21d0a64bf0c7170d04e3de189f1c6bcc7cbf1292a7fc32a9325942003e8eb9ca336ddfb1f6bd5cacff30b73c9856a8e6c4 +PT = 1a36461a51b91eae0db6448c58 +AAD = c9b08032b52e32bdff04984b7f03a7114df356f6 +CT = 047eefeae60ccf05214558fc4f +Tag = 5679a64b21b505f7f3bffe14d9 + +Count = 7 +Key = 6ca5a515eb25b95b58d373f5a6809cb7 +IV = 63846cafc0f08dfcd9503d4a9011460dc1a0db1b82b38c3c75357b33bc03bd4041201f67208efced983fa5bbfff15b4f15addb1832ee483c018f455bac74386b08e0f1673880b17e7efb12d4597c8925b88d923ccdf9a8cf9c96a7af4d4bf9be723dbba57eefb083933bd7f1f7ae98bc8bd2aa58ea6039b57fde364c4666e160 +PT = c2fcf416b0bacbdbde4df3c1b2 +AAD = 3876a40f8169c5e76b1704fa0b82e6fc99ad58b0 +CT = c3bfbb4d8661b5251df0769a69 +Tag = 1ca38ff76855506844707f91f2 + +Count = 8 +Key = efaaaec5c8b32de0661bd377aded4345 +IV = 552badb04c4f471974d05891c4fb6df8c34372eb1a0dd112b712f6008624491e4f3cdc88302e8c837257aa1f3a074ceebfb3bf3777e9ab5f0d3982c293bb35f2fba15df06a2413281d738bc63e29eceb3015032ea47f744561c0500b166d8775c0b600f4878c9b44971c572e46b46ec1c1d672de6860a4e913e2f348f957d35f +PT = fb51698fbb3372ff34107a6218 +AAD = 1db8148268a0da33cdb7baeb7ee6bbd6d7b8d74d +CT = f0ac31941f37d5a7630107259d +Tag = 2eecbf4ddb1ba69e9f44494592 + +Count = 9 +Key = 814208707ae4871698290f61f1d6d1ed +IV = 0a8456486120543c12c7c14e970b4edc8bc0b6c61e9a03b2223b71fd6102046c119809ff0de170676618cfe6da0b61d6c0f370ef87f5e95fb0ceb811d38086a860b347aae325d1e554d56bfe85ace3107476949a37f7798cf56844d0eee08dc3afce38618c120169a7c841ebec06f088515f75a27fd3f0116710971a16bac16c +PT = 6fb7359bb79d30ba876b044242 +AAD = 6de7e2599fedd078aa8d76e59051fa626dbb309e +CT = e70e3550380c493e03524470d0 +Tag = 1dc29f4b8f8c59c2eb7f23dd52 + +Count = 10 +Key = 210bae12b18e9ba5479692fec84f912e +IV = a0d7797e34692810b2a6d4e300430173f3a78fe096596a49384936bea9adc022013ebee5fc2214e43910ae234f050fc9d81ab12e18aafec29c4b7726d9f3e753124b4763c5cb75020d84d92c715fe30b75ff246847ed4ce9081485650e9ebfc87e14406775be9e6805f9d0c0c0769486ec3cca0780574c22ddd341453e8b64ac +PT = 375bcb4be8a97f06b26d78f6fd +AAD = 7df0ad4df858af8287b178d205fa9c48a493f608 +CT = 56831f64f040759e15741b71c6 +Tag = b7e9da36bf3df7ff3441ebe46a + +Count = 11 +Key = dd96ab0cf1674078204cc16c5d00be7e +IV = efe7888f30f29d09ea894d16223659c5b6de6473aa6f67fa39ed07bac4e0825c525507096bcb3af6b1366435456da64c3482f2db451bcbfe0d3c785296126704cc27aedd1fc74e94430b5ca85237490ee61d76ba76cf9741f326d10858bcb68e87700ab453046cd1955b607bfdce2f170c8776bebf903f7c143d28ec130540f5 +PT = f942c650f682444aa80180dfc4 +AAD = 7ae7a3583f6bafbdeb72ae4aba451bd9db3e8f0a +CT = 4b01b81fdc91d170e1c2b20f0a +Tag = 8817bb570da99594643517dbff + +Count = 12 +Key = e948c115f608ea9eaebbc0a37e41a8ff +IV = 0173e08ae40c005f933381e0545730c51f4d2bca5b4fe9c392992dc25acf68809d6d78f8605584e364a4639e307a9ebb4f6ff8e632f7e10d8e81db01f80440cb86b6221c623f813f558f01be1928408c1e164a87cc8fb9108b70ffc1b1d196fbdee16f8f44afdae7e21edb08ba5c52df8a53e6edf6948d125a0af8ec60583b06 +PT = 07fcb24588bc16743c1131a6da +AAD = 937cbcfb7ec5a4c6e40e5679bf878a10b72f14e3 +CT = 0f20f65677d3039e4af9a105f1 +Tag = 69b2dc8beb05cb7ad0cb272c24 + +Count = 13 +Key = 5bf4b744c0d832aa0a313d9a8667d67f +IV = 5ba78e8cb6d609883ce67068b8462420babc0b4522ef74ebd1cc33f279ac7bf4b9b5f959fb1ded89147bdf7cca992297ee4cda064a0e044222cc30ff6c9761d665db78afaf33777f3bdaa19d34b1804c998002900404815ef585943f778e2b1517c7c50b7e4436340821d073661a68c6872476752f3ba8b9298227ca6ea7ca5f +PT = 0edf0de96799688b56dd6f80b7 +AAD = 1a406fe6c9320b1082b16e1cee2f48571ad6fd45 +CT = e6a91ffbbdd298deb51dee446d +Tag = 0f27241aa2bed5a72aba72c36f + +Count = 14 +Key = 20bdf16808d9a2e33a09aa7f4c809bd9 +IV = f763c34032c2b4ac6152af17b275d60c9a0c6f4bb6c484f5db3ce7b75bd64072cca9e2baaee6374b4113d223c232926d5ea6311c3d2f85262a13ff7f96daa28ef8d95591c56953993f0f516ba76d23a8c2e9a562280345ddb88284de9af051d62d0aacd7004867c13e411b8bffc997e40bfae80c99d5c710b2c3b1962b5bc91b +PT = 06348718af826ba7fe5c63d1be +AAD = bcfdb74eb464deb8427c278b5b82f11dd1437fbe +CT = 47ad730eb11a9fed197a3a304e +Tag = cabe5f5532dae1af5d82680ff1 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 94265e8f9051bc432ce7742a8927041d +IV = 04d86a1d99920cbc8dfa6f757b09afa1f3e9be0c0365c6375e79f3a65612f7dedbdd2f7c9016c4dbae071d784da019735b3b7e8184889b4489ab63393438c8805f78669cdab327c2ab069a6dcbf2a2bc6dff4b446bc35883cddeb2f958bfbc490756cb14f754128188428b83ae3e568567183e5bb63ebac0b9dc3c1b7d96af7a +PT = 9c16cada1d6c7c9d275e24de4a +AAD = 0f1e194bc1d56bbba96b9ca5450724b81708bd1d +CT = 29f4660e612f66061a7f51111c +Tag = f0303707485b496d1904cb3c + +Count = 1 +Key = f53f171128274c8ca8e0bdf664735aba +IV = 53e1f8d019d06a74bf47a3e039d5398f1cfe922ceb8dfb5b5226a83336704664bcb7c6779834c572817b41c0483fce2d3d1adb6976c1f089b8e4353832b101a16e09d120b9f9a8690d14ac40891f88175ce8b63db6023408f88b56578680b9266ca9d83890cd99b3b4d3d9decbe11e2b8f044c33575a7bc01b4ed727400a5aaf +PT = 6c241d36337a2fbeeb2999f55e +AAD = 1c78ddfe678b7a85b4f11084119493f556f012e7 +CT = 1db0ee1a5cbc659c6196d58b26 +Tag = d4840d91ca41694a72f053a7 + +Count = 2 +Key = 508e611527cd692181bb45a112440d40 +IV = ba7db06b2576158859de5ae4a2e5db1c178324b66394f97d4a469bd0e41dac2f425818859ee82c023ff6323159c4375b641a06d9420844f55214756a81eee26107b2db8463feb6f31dca02100cb27ff6dc462c08593bafcb0c720617c9273c8214df48afbde001bb7087350437e457d1e2280f8aa2a5a806a6fb150706934d8e +PT = 252b93735f7df7385d1caa6476 +AAD = 8a2b36bef86d4f9b7a6988e96f9bee54c8c42d7a +CT = 982b1191550a4786b5b751e1cd +Tag = e0470a0a671d6024124c76b6 + +Count = 3 +Key = 56191d6c0851027d3c37fefb43e361a4 +IV = dad835a7022ed137029f59c2404719a701cc465b936484bdd586b7a36999a2a1c62d38305e10a94053805a11296d414ba98af2f84f4eb0345402135dd7bc7fc90f3937caa78d0a4255b621bdae954aea4be2a2cb796005b4ee827d3736e115043303bba1ec028c2ce39d2f52c83347eff5df619f5afa5aba522d79c5f7ab39e2 +PT = 3fdad7711a603fe499663200f3 +AAD = b2ad64868ee4250ff6a43838662f9ddc0e15a3c5 +CT = 043975ca20e7505fd40ed82815 +Tag = 1a34ec947221a3cb10dbab03 + +Count = 4 +Key = 78b51fa5728524fd5a874f5d99abe9c2 +IV = 964f6d0a5e59ae4c9fa494f38e0177f4db170b7feab377a4db9d059e54164e147c83f54692200c9fa85f72b1f074f27c7fa282b11a56c780314a5f231b64a6f6ae2fc5fc873dc8b8d44c102bc5bc36bc43b143d745569f74d45b5c2af023cdc0f2b4b2e9ce352150cf8861702f9c1350d08e3874fe741e792c2317f14e1f7c36 +PT = d5bc81b81ef5372ab5c2348359 +AAD = c0bd682ca57b599225e1236399470ac0c977e05a +CT = 984c485942c36ad696bd99cb47 +Tag = c69a70613f17726eaccf5452 + +Count = 5 +Key = 4cdfb57f1361bdfef9a033273218e967 +IV = 638c1d67e7b3650f1034b0c8f971385c5f430582c4fc9bbc3e15e8aa85c65be74d8106093e472935036b59b70d61352347f4b8d777eb96246936d89f04296eb0bc61328353190436d7892537ac9f361c8efcc37d53667fad3eb50f2e1d20f5e050ca2be6820524deea640214d06e2d98e7ab8623266c5559f1453eecddc5afa0 +PT = 1d6cbbebd430aad67d3d5faac9 +AAD = 56de3789c89d42b9c11ac70eaaf366ee474b0936 +CT = f4129eac6184cdac88ca138886 +Tag = db93164b7abd0e64a5520613 + +Count = 6 +Key = 430a4bb6616280a8b6a6da527c6cc62a +IV = 0c75024152b95db3597ae2b1934c77b07d7ee802f6682b4277d220555718e3f2c15f5bc16e068588606116fe4ce1df30a9322df8315e40a55377a3643daee6e000018c14286acec651198e56421d0b2cffe0b9df056a0b8dcf5ded0c873e70fbeff53a3a8c48a4f879a8bb5ebadd5b8167e40553f47dbcd3e8982cfadaa5cb3c +PT = 33e3778d29a0c56f0274575565 +AAD = 223457489810ccb8a988b0c3161b0356456d2086 +CT = b2df7edfe9657fc115dfda9a21 +Tag = cfa9a0e00a099e762d5b9a02 + +Count = 7 +Key = e5bbdcba7d4342a9222ea0d62a51b4b5 +IV = a7b41e176062d026b3c6b1785e1cb35d5ea1bf9b1ab0f1c1b6d33b68126513048583d3a2b775313600fed088761408c24ecaf9e32e92680ae43c088895ca8a72dc09491282f98edb779ff1ef4f10e7582bc779da849bc24d158734d64e741377863b02fc2d4feda82eacc084b64d8a4714d4b3e8354e5a1142414472d5a01718 +PT = 486220564bc2e7c0e0eb3c8d8b +AAD = 7092b2ba7045a1b8b39fc03ba7c6e98ed1f3aeb2 +CT = 324b69ba06314e2b370c697023 +Tag = 0eff67fb445eb42ec95cbd00 + +Count = 8 +Key = 16ab4b87e313b11753c7ea8bc5929a93 +IV = 2e44baae55753e9f7f39e42db326580d2f21a96c74479773e6739094835c5004e0530fdf3a66be773c51cc17031ca83364985feb0bb7855f25feb4e22d34d554929285d0accb22d16f5cbae5dc0c7f27407f5b133c01c3bedfdbf3bc0d55bd3b0b0e0cc329255cfbd838249c143bb8d1d512cee99638ef4d6435f684ba607db6 +PT = f18c4ef7527c856529c8b4faec +AAD = 7332e3c5b140d71589ebbf59100c5f94018af64d +CT = edf0f27e1a51c855eb30149828 +Tag = edda07bfc0c94ba65c1577d2 + +Count = 9 +Key = 65d8c29bc71915da0f6f11fbfadf8cd6 +IV = 927d7f39a79393536e6d7d8985cfb7e160dedef8f5fcfbc4244a7b03f7d4ab31a44e5b2cd4a80444a0978359b0f3c6fbdb08841a5c61e4a145326d979af96275f29100bf26a17f8a2b4d14b17191bcb882951bedea09b6812b8a46894e374576f7e9e1e50f74f1cc3a43c6b1a4b4f678996fd458394c08d2940c2e32cfe07077 +PT = 40f4becf23ba010f89b482f54e +AAD = 7945c8f220a68534dc56e7cdb794acbf314bc6cb +CT = dfda21883b300ae6034676ca57 +Tag = 2a8917702924f0ea3f0c9e7a + +Count = 10 +Key = 08a98fe6301861e941fe1125eca943b1 +IV = ce4d66e4d5f1e05cdff4101582810c8b209b68364dbac5cbbbcd127a52d2ff39571515c6fcf3b80adbfa34170206a5987e6e565a8829afc4ffd22d268c2648ba89e91058cca9a3afc54f7c7d157deadce0ec7192b71220407ad119f3ad8aa0f4241aa5e609443194740f7215d6e62769fe28a2201a2a8e19b680cb1b74622152 +PT = 551471d6b09e3ffb48c4e2395a +AAD = 015ecbd132e5cc2e9a8401f6b7a524ebd3035cfd +CT = 45e7d3f388872623a967e7a4ea +Tag = 403621de117dc75c6fcb433a + +Count = 11 +Key = a89c2c78d615348b6e8fc3826d6061fa +IV = 7d6a4e4c0e6dca323ba5b9d742f23fd7a38ff5f7b188964bc52c23d18278cf38ec12c8608b76435b86014dc74bc08d669b10db46a456101a136d559839dd13eb42b6ba58d986f15d34b5dad6d5d3c46d21ef16cea63e6217981e457de41c2768bbc6e6a7c40bde246b0021f24cc0ba5e0526e9aa72e127caa77d909ba0dc025b +PT = 79a922aa128a8ea614ed93f6fb +AAD = b48f556df5e6d705b7f8541940669c84f5b07010 +CT = b2bf1a4a65ad6e379c128f379c +Tag = ecc0991fcb90588b7c42037d + +Count = 12 +Key = 35a5db422b7be2a050bb5f4e77f6793c +IV = 0e4d3d0aae659d776b79a4b5c5894bffcb35bd6dce65aec700253a7155495dc4fd99801c6f1b02800c951b95fcfdb233fb4c3c159e903dc5a0688cc5fc7767a981e19f96bac466c4b4c3ed76c6be55670b67d996a98f25cc9ca59865bb875fa264074d0a1e31f9fbbdcce1953b1e9ae37fadd7226bb0c3ddfe6e84583f3d0a23 +PT = 3d991257640a8ad663449b6d8f +AAD = 33a96cf8bacb4f4b4e4c9db72bef57ad008d8fdf +CT = 6e79253b5688592dd9bce227f4 +Tag = ddabc075f1849619337b3ca4 + +Count = 13 +Key = 673bc8242ff217cf747fc0943185d38c +IV = 9780f9523e862271f59775721167ec62f79dc48fb4ef53b19ebbb238e297af097c2e6003e2aba0ddcb341d73b75309f01b46d8111064608dd4c9f7f3fa77fdc448fd5ca156d0d0068cf7c21908179c3c1af922822f7e43c938838c3d5617d8958572cbf481876bcea184a5b8537ee4d1b0539d13d57b0dac44e66595d6aa277d +PT = 4dc37cec384fc85a35028c884c +AAD = 97f1f3c6c14120c4cc2cbcfa18644dbb0369d9f0 +CT = 328d1ea3f0a5664019e2f285ee +Tag = 65f5d9b1fa43a3832949a356 + +Count = 14 +Key = 7d86ace04097406671e0348cb67994e8 +IV = 0576fd41071a928d2e1e0c236bcbe7aa99b59175f3861efd7f3e6a924a7dd7085ca744a803f85f166cf9e197aa761119f212ef65f4ad5619d3fde3eb4b6e486f3d530bc704e8e59dc2b8b0e4bb05246a0dd84e5f7775d230dd2af9c23bbd54dfa9a380ae40b1a44f301947fdf25255ab27996c995260695d6330f9b36f274541 +PT = 7a9918952317b3cb3934c70783 +AAD = 36a1b2ed2d72bd9f07020f16055dace2102b1c8b +CT = dc7ffb320ed19a0590eb234756 +Tag = 70d300e09795c3f541b65daf + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = f07ad8fb43005de0a886a18c2b9d2d25 +IV = 02914b676b23e6b47de12cc67a44ff0c50eb702eae2b673aa00dd207825c46ef8f815333da9387817e1fbfb33a0f95250c871cd01284e71ee977145751c5e850f0df00b5469b93838bbe32a8fb9a4873ea8a6dd4f0c1c042a49dd730edac40602749b686be28a47966a8a28525a4f09d4eb0f03320175266b6869e9059fd0973 +PT = 481885d89195144ede5d50c721 +AAD = 46f95b2d54b73562ef4cc1d0d1dbe3adeef2bac7 +CT = c48d9adab2b3c57e61583b982b +Tag = e282b026a6ca501c + +Count = 1 +Key = fcbb4e652a8e2cca5cd5d3985e9b9063 +IV = 6679b653d3206326b7191825ecf77b00384834ccecbeef392331cc516ed5856f4393323c201063b74923981ed06b5c6b0d6d984975450a4c7620501ea4a62e49597bda273da779c4905a4de49ea634e50509ba61ff32740f7e55b4459d1be66e82874c5d40ebe70dc849b7093a56ad971577a9af025a1a70e534bcb7390c649c +PT = 161cc404cc619622b1651be34d +AAD = c197f373d60df8a02f09c61ef86afe4eaa97a078 +CT = cc1c45fb1455114e4b61f9417f +Tag = 2167598b89a3964a + +Count = 2 +Key = 7466b6be909692391169fa633a15079d +IV = 87f2c8c078fa1d1d4cf7eebb516ba5f2d019de2afa67551b580fc1195f40d22f7d7a18a6f21ff7fc55156b596519673d53a138ef4ce83783670c95661b00ee9efd8d1a106ef155cfbade7d0a0b6856593a9f35e4e89d2ff0da7547cc07600a35cd63a3b64aa2812887c1b21391d5ca38a8d349d418432472ec235209d830ab5b +PT = b98d7a8bf8817cfe84762cf6ab +AAD = eb787c7ee695fb53f42ff01ef986a977bab29141 +CT = f6e453815b5f077bdd6e585a4b +Tag = d6440be4fc01150b + +Count = 3 +Key = 9e43c4f14789fa490084ffb76bbe33a7 +IV = 9ad8bf1477d9277abf04dd766d674f7c95174cf6024a3d76b24f5cbc5a3c5ce7b95e53eb9eee5980e546cd0b00868521aab801383ed6771905d170e80ffb31b970bd942bdcb4a720b6d4a5dfca7d576636859bc7bb8bdcf444fef88981e13a64548caeba6485227cad7f4580aeb4b4ee9b6ac468109dc18f0979700273f3ed5d +PT = a83739b07e8b9ce1432692473b +AAD = 255062664a189e0ffb274e2b164206400ef6fc3a +CT = 0458f4934e6930359b7e7fbdfe +Tag = 01fa0ccd5e17c74d + +Count = 4 +Key = 7d0ac8e79df73f25bd822a9ecf0526bd +IV = 3a52e02e5f8c24a7fa3f90d2797faf5c1a17af3151ff4d61d7d3ada5a16c8501865c60b6748b12bf46f97f7a1aea4ee3dec041e3966309c179ab186cbff8ffbc46c0598c86a1b15c0272a0885c78465a45f37eaaf7634d6983bb9b3e6c8226aa3e6972fc84d0b080fba10066210dbf27cffd66141e14e8aeaf9b2f8ae98aae90 +PT = d6e13c96af1c0234453908068c +AAD = 385822c14b2b121d03b5c8484eb3b93b8973614e +CT = 39c1aefc525944b33f6f30f232 +Tag = 8f723d3a93f6f0ba + +Count = 5 +Key = 9306c36f81baf1ded3672bc6ae4ac584 +IV = c4261b30ee0c9a5ed1acd0a9d06721b206a5970744aa8df8088ef3537d4d01a3fc72bc5b8a820847e141d32796d1d5695aee4b00c8fe7f79cecf806c6158828e022f8c4adb171827f3fbc82e52bb9ba4fafb4822d81b1c455807aae8f80e62d7012d9a28a066adf3cb53b36710612772bdb75c9c983181a0fbe7b80094085164 +PT = 60ab6bcb3f9a54a5645f6e6d97 +AAD = cf00cba2b437fe351c0f1c050b3d6db2e6f1dc54 +CT = e894558b4560576d4c3d884906 +Tag = 68e967bb1b4666ab + +Count = 6 +Key = 9aac3eadbea0d1f4d4aad309793e20d9 +IV = ff2ab5b17f5168bf20736621d613ebfc33ad17ade82f14a2b7535511c92bc51a7b1846d955fc3f86acca539f9b2c0cb4b94d5b49400eebfcc034591adb149402a4e51f8b7b76493c46ad89cd807bcf1339e468e9c69264b31a6473083d1f8b7ec11549926d0e171aee0933f9f4aabf3b8956eefcfedb48f1a04309db2b198d46 +PT = 0cdbd364c1579cd4cd13fc8ebe +AAD = 0ac32dd18060aecf4d7174b22bb341ceefb49168 +CT = 73164f6d4a9d58e6db374bfc22 +Tag = f9ae750c3eaa5deb + +Count = 7 +Key = 012178d8c3c69cbfa809e6b809466d19 +IV = bad72ae229604f09509a1cb2d4cb92a2e5f9a1708727c2d172e9d5b223bacce064970fd44e2a23aef8af596e79ea8e2d2df37c7c70d2c920b42891b43cdd57ee5890aab8db1c89f1aedfd96590bd83ff96e1d155ff53137a657b00120ac9c41bc4337e956d8bd85110a7908ba24858a046fe8f933c21157597bb4fd639379651 +PT = 9a139196a5b297f9b3184737e9 +AAD = e82a2ad7bff00ef4a9b0b1ff668df60d09329feb +CT = df2ce0d3d00033325d7113354c +Tag = eeeda6ee94687192 + +Count = 8 +Key = 94165108f275f59d64615145529cbb84 +IV = 1dc228ef11e006ab3ce92d976cc086e344d3fae0bc4ca4968d69c5c569562b133034bf33ab9261179dfaeb5243e2fe78c735db2a9e5fadef3ba367e76073ca0d7e5a2d6f66206432b4d0a576290f6579266ccf96bae1e1b9296be833938bccc31cee07c722a334f17b13db7194cdabdcaa090d6918c4fab60433bf6bc61241e4 +PT = f8eddaab7c6e6e18b74ac91738 +AAD = 2ebb0a134b1acd21d284c04a669ed16933f283fc +CT = deabf320aeb97bf4c66db5d5c5 +Tag = e1814dd865e50a53 + +Count = 9 +Key = 5c3fe700ebc51760f130f85cb173b50e +IV = 5f1997a4b2929c8451082df6d36898c5fcc5a6ed0194ff89e00d2a381c347d971c19806f0a1ffeeca7ae169fc1904e7ef886a0f0fe3e1de6c3a08cf513d6600a48a17e39a5d37b5bec0d016e6f4b174ec97196ad2287e8ac0245627508b02108ffd3d9fdb4e80c0e999e1f5ce0322ecc4e56d03b0e1ca738065c31acce40d373 +PT = 932171cf03080d960f7aab3bbe +AAD = 7d461f17c226cfb3a153c97ce38c3ccd2083ec9c +CT = 3086778d9763d7b92e533568c3 +Tag = 012e9655ceb60b17 + +Count = 10 +Key = e337048986987044e71ccb44bca2cf7d +IV = b238eb4a3af2f6421fb08444424ecc27f79633972a406ac81ac824e989a85527891161088b52aaf19f0a37f5b5c55968e2ff14f71da6f4d36093b1ca185e756ef0c3cde6b5f348462085d2fce8f98c16bf16616c7c59fc345d16ff4f5385fda30f27de4a2630a266bdd8b000a2e4db4a133e3d0645235a150151256a52da6700 +PT = fc9b49ef3574336c108aa21481 +AAD = ceb928fbe5e4cf2242184f8b8be1f90179db20a9 +CT = a73b4a7d8192e679aec40b9776 +Tag = fdcdf3630a64f887 + +Count = 11 +Key = d44e294f2d0a0da22364156669ae5724 +IV = 4c8be91de5a8d24ecb51f6c4289bcd44d78ed7c1985f378a1e2c44ea74f1a95d780fae748a828bf2d6de25df8597973065bd5b2e29c93cf8546f9b6fe282f3ae62f13b4db4deae9b9b80a00018b1c23376060b562751d99f5d2df5b823a7ba45e2cffe045edca6c4337b406da2fddd402590e8a4f9dada5b8af7df976ed872bf +PT = f0ce2500bfa58428bf2ce46430 +AAD = 4a896f2b6a3211f711c2a142a9a0c5ef545678cb +CT = 8cb3ec7f0d39064407ce0ba4f6 +Tag = 604f4d0c6169a39c + +Count = 12 +Key = 9f625d66cd026534774b94479170ddde +IV = 52c53bf9f2927aace3df3e590b25006e3a43d6788520c151624286e8d3a59040d730e5af936ae310e7092cfc35f4c1e9c027806eeabc05011e937cca2f7e4f0fba3c9f77cfe1afb73db02fbb11c7e697092ca81c89716e36977793fcfa9fcf5e914f0aec6acca3193dda90383f4446db43a06f83c7d57bce6d4e54196bd3bd6f +PT = 5989291f21b11df5af63dddbf2 +AAD = a79a7fb32ad105e16636713a41fa3a28a9d63eba +CT = 8a92c345a629eff4ffbf045def +Tag = 71a03ad542785d22 + +Count = 13 +Key = e57d646bc3dd339da62d0fcbf8070061 +IV = cd704359f45615dd2c0d80c51a0a85afad4126e450309be44ba2134e560b2abb393617e7a3fcef12c0c4ccc2b4d17ff2719604fe618eac2cda908b613eb0bdd80946a4a266c4cc13c32700602b84a4af81eedca25aa603419c24beba2ac8aa9867b961674913948b1e701c0f034f0ab8e9b1633a780a38b7d201f32f1a7994cb +PT = 2220950e211f4902966bee4a37 +AAD = 9c82d0ab793797a7eefdaec183b478db5c088491 +CT = 15cf6631fd8fd7ae3ca25977f4 +Tag = c19bf37b879157a5 + +Count = 14 +Key = 102914cb84fb55b1a8dedbacedc7925c +IV = f578171ae55c37adb4204a91182706adc5b91f3cfd8a3e95d9a7f71746245f9b20fb3c9968f0e17e16876b0404bf59ded1075dba8b84c4b3a74362cf8b787b9c22b6445a0a82adbaa7016c042d839db4d8e777ce935f3b84ab8fa15c22d92d618774b5364dafa07cbaebd2b17d65840d875e97835b32ccb17bd0005cb5e37c24 +PT = c6ebed2f91b70b69186b11270a +AAD = 9fe83575052af830f3bcb938c800cd55408687b8 +CT = 65571de829f8eccc425a20a93e +Tag = ce54a35e7ba35ea6 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = b370a857cf3a915ebc636026d2efa63f +IV = 59deedbf1d2236b768e7b381bfb381ff851f119632deb0593cf26ab98c4966e41a52d9386eab82bef637b8817d15a306e44e7bb8d8b208709533c632c3d6010722bbd035f36576a917798f9064f3888ab4ce5f91bd91bc2f92edba1cde86443be9eaeda0e126173624decdb79d24cb3ebbb8c87dcef154cf3cf614700cd18a42 +PT = f9f4863e112c85bd7d3a2ea204 +AAD = 5572a851fb309a38d1ac523ef638afd13f74a541 +CT = f68b4dedc68e9663f17893b616 +Tag = 07029454 + +Count = 1 +Key = 6c4f7562ab52d46507ed7397d438b24b +IV = b25bfda47a4c524c4d063cc8efee367a59bdf6716fb51ebc190e2bd537ca747492c3dc43d3a7f88756c2b7e0c79f21017151d5d97b384224413e92b2a04f07a6bdd49416550c7828f66fb35a7f35b362d2ba6a6edcae22d767ed8d916bc92d7d385fc05633b80d22431b934b43fb5338b12bba8e168bc4dda3816a082113bd3c +PT = 935f72fb4c34b1a3f2ce16361a +AAD = 84b9ecd44ae5028fa824a42b0968492cdb5d4886 +CT = 75ae3e195ea834b0db9e3ac3ce +Tag = 3b1687b6 + +Count = 2 +Key = d0378cdf80d475a850cf38f858ec66ca +IV = dbf291f32304f1835212382fea4f4b9a064ea901577a750af0b201ee217d35b7136e37195e54c4171051888ea7e3fa64d5a7b18f73219ddca84cc69c813a9232e6e76d5798bbeff3a13a5212ee6d9a632cbd0c3f0817fba82cc59658e2e1a06855f6bab55779e1cdb217fa6080d530d48046a364bf35ae9bc3cea223e6d37aaa +PT = ab9101653a59a05f25e5cb4dfb +AAD = 8d6ed03ea204bba1df66c76942e92c064420121c +CT = 6a7fb7140cac6d3f17aee89aa6 +Tag = 075857d8 + +Count = 3 +Key = 7ef393d4c33ede2050dc5db86eb05248 +IV = 443d20668383c89fad5690656f1f97d070aa84dcea13540f86ea3abeafa05660135297f9b23b6adda8cb3ff1605fd9fc2b62a0b2efe671a452d81b4c2dc413d1f1d5aaccbb2c62eb377faf895891f40f026fc9e4ecc8924ba2794f7dad53d7f29084ad668f36cf0ed81c2776a5d0773450cc7b111b56de3efb5a2bc9a242f0ea +PT = a84f9dffb2f84083ab42f9eb6b +AAD = e2c70f02adb7f4e9de84dfa7feb23e6d05dfec1e +CT = aa04e47501f9ed116db36e113e +Tag = 8654723d + +Count = 4 +Key = f3c32839fec0d6db29ed0477159aa3de +IV = 18acce836693eade08c508818387fce503ae01e29a4d784dec615f5d3931a97bcc5040d7b8608df98fc5187dc8686228d2f43e6b8de0f5861aeece922c55b7eebe9fdbda02966bf5b954cf6805f6b4171c9f5b6cd2f1ecff205f1c52fb487096e941580b5162b993c76b052460726f7d8c7ef45953ebf5cc7119a777e7e3e197 +PT = aaf30131e4e700c772fd981c69 +AAD = ea3718ab1518b29791a4f58cb824441eaca7e444 +CT = dcdb2e640d8b0e6c39861b7773 +Tag = b9886b7e + +Count = 5 +Key = 03b0df1d68ea3fa89ef522a7ac1e47a9 +IV = 98cc104864333b44f6ac471bcbde97f0da8bbdf06f08615adcbb00a55882e4e89ccbd261ed613270adf824a8d74fb439a0c07b7e23ef139962166212634fbc7a4988fff5c5261762ef49900a9fc55e1d2f5a191551543d1665205334e61a86dccd0b1bb42b88fd93cec73f7768f2113245d781271f31276e1620c0aa3af7cb91 +PT = f4fd672f137348d3d8a2f6f914 +AAD = e65e654842412fe2b9d1beff4d5844df9cb23f83 +CT = a70d04d82294003b74ed3528f5 +Tag = d3f2b1e6 + +Count = 6 +Key = ed291f1430dce0824ba736249dfe5808 +IV = de4ae7b4c1dac9c20627011742bf0608b8c0d0425aa1226ef152358f7241f7aa3e124b5b66f4b66a977ee8c9e233c9da877e4e9f2777eaa88bf4d7ef13e478054acb26a67c5916bc99d872540e9f49aeb6a29c18453bce25918819bbc7864cde4d337520d06eda4850ee84ea5b73ab8df0ef08785fcfa6240182c775a02a1066 +PT = 1a1d1063549e5e127974ae3712 +AAD = 99521f96b96f89f91b2848d83209b296ee732e1d +CT = af1e22c2e579b2e14be9ee8086 +Tag = f2159063 + +Count = 7 +Key = f5d4c9ba59702d94910e7e1f90e62ae0 +IV = 76dfe6e9cd9261bc9cc1c8c11dae7384848bf6e0d0a1160af5924717e767635f541c0795b56ea58c3240155b22aa9e6c6bbae96e888a97f68049752b2111835c7bb4f1c694f89e53c5acabe22ee2aa0e8df2368e944f92f679ac4ba3b4267171032d4bb1e04fdea63ef48821447759287137e8bd8c4c760132d3bbf760bdbf4d +PT = 21448baf92f0cd6853b721eb4e +AAD = b84cc1c5e3ddbb1e1613403b5cb8997622c86d83 +CT = 05a735af2702b9c556c0fe3ee9 +Tag = faf3a7f8 + +Count = 8 +Key = 03789020d21b5729fef76a7a3eb48596 +IV = 78695fea87bab6d09d4a4e85400128973151f3bd7b1b24f16770c532a5513fef692ea0966399033f76f5b8ebe9c4512d069f47525445e6fb1075f285b054aee219710f47e4eec9be61998697295a4822963f62d6c4149d23a11db19172cb5d04013c5a674c16665282d9bd14da0fcd07e3ef14ab0c2dc0285cf3726d1172b166 +PT = 1685ef60686a5ae6260b4bdf98 +AAD = 915ba88339b2ff1fe804c56c548e21f6db08c635 +CT = 47cda6d2d79796148146d16c1a +Tag = 86d54348 + +Count = 9 +Key = 1dabedb83442ae047e2fb3302aaaa3fd +IV = 43b6410721c09e27b20a2dc065238b5fa5268fabd6a583e88e8c46d7d8a8376f6c0c2efdcd9d3fb8f4167f2bd6df5300ea3401b0424045fd2f2b83cc9c65fec2b0fbb12fdab8f69b03df3e90bf641eddb269e8ee553d769271c4099b156168ae17748e20ec8ddb0092a9590c28ff306545c0147406106e273f1bd74169d0cebb +PT = 346b47ece4deeda138dcb9ccad +AAD = a0f46784d3f5667b2990cec3cd0a4b6c10427038 +CT = 04932c81faa3bfd36d1489961c +Tag = 5c106602 + +Count = 10 +Key = e537dc77e4b944ad6d88a28b85b97e7f +IV = 839f725354d09e77c5f62f05a28c7a26b37a3b60978dfc94c0a8fd530d83306bb2a6116c3e90371ed45be8640f12dcb803fcb574096323483992f84dc192f2104dce32253d5f440fac71c2a1c82f858617889d53c2565e732c25a391a1615e70baf9e89bb38913111978972f4dc559068f06d49b662c595a6aab1cdcbf43154c +PT = 77c33365f3f585162c5a4b0447 +AAD = 6a045d69f5c5ad9965e4373397628bb9399d97a7 +CT = ce43613677b54763745dbc1a4f +Tag = c0b3b58a + +Count = 11 +Key = 2b08d97c87d0711c594414999c781fbc +IV = 2a4e8a981f8d618c31265e6da187cdb24eef186c86766e577dff15ab2407d08ed3715bedce86098887f4386d835c62d75922b2f849bb346014a1de42fb087d7ccd9860c93ff4ad03ed4a160e02c5ea6626ed829899b99f16f26815db30b28ea4f07494d779ad430bedd71dfe54eaa65f2fee2fe9bc2f602cd545f531f5c69a62 +PT = 9b6824e7be99234c43e8693cf9 +AAD = bdfad9166cc1bfae57da4cb7f2079fc271447c02 +CT = 4f9f26ae50540a87494b20f3b8 +Tag = 4a8de7e4 + +Count = 12 +Key = 35ae3ecd7babfdc8bdcfc59b1880f60d +IV = a55c625e0bcdab5780f0c87d2463ab92b0a841e1ca9a474035e6faa06992ad79cc7d48bc687d821059bfb5ada4cc1bbb013af8f7db2345a061da830667c3ab757545a4bfd2fa736f1d2826dfc2e83a02df8a6413952a119ee478d43a09894d54ffd3ba1d1a7af91da0276977a90e20f869970324a5e0545e6df0379ad18c4a19 +PT = 8fe3cfc5a63d9730b5a4144ab5 +AAD = 90f71e57b7c86b7666a2e4684a3c6e29b0ba614d +CT = fa77d57f7d294ae2c4bdca41e5 +Tag = b4b785d8 + +Count = 13 +Key = 0883606653d8b2d361aed9b15e8c73ad +IV = 3f4ab52bb29c09ee4743f9d2ac3cdf9772a030984978a2d167db18eea63390ab3a9eb70d16e9d704242bc62736a59398d6ffbaf2d4e1f6f00358477019d791b7b8d2f6697fe3d86aad035c332aade32b67f1044ccba6baad078c6d844a58a9821ee76993483d9c976202e12bd67767b0b44804234f777ac263234dd04e26a2dd +PT = 83007509e75ec862c6f00b0c52 +AAD = ddc3c510caa6632aef054584499cd1e85627422a +CT = 4485f6734ec17f46b8ade03d0f +Tag = 0bf8572c + +Count = 14 +Key = 943e6760ed03c3b240763592296737cf +IV = 8294311b1672e40681df56cbbd4fee79e0a7a672037358f3a8690c60ac0397117edcb10956f89837fedbbb88c7d2a39b64ebd792e7d5ee9dc4ac0bd13a25f3b2bbdca2ac986ff3434822e691fbdc1f8286910d890b9e1412435adde70d7b214b1fdd2b2580fffa742341b1ae289ad8b4ec0590231297a5cdafccfba585e275c1 +PT = 3ddbf1420421c713d86a2f852c +AAD = 737a747d9e5e1c21240a7e9b4ef65beca8619e09 +CT = 5951ce3c81779efa78cf3cb45d +Tag = 6dae6672 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 830bb5e7c36a38a6f4baf198ebbc8d36 +IV = c3f269fc4925b98c3f5af5609fc27e9d87e97f0d4900f626e0befdd7a2864ba97459a2c9cc84ff682cc778d05274ec82c7c4d90191c10a819c014bb800fe4e275ffce91ebff2f6f840cad3b0c10e62547075692f3800f0b9c6f2630533bc493c691b99bc4ed7776cd283760a4c60e51f3c628ca237c73e0ee9f29f9c6e5a562b +PT = 47c4065249b9ebccb5e6e4eae8 +AAD = 0c1b37ed338e52ab2f3c1e9ed40e5c8a2c0562c000a437b484c11cb3379f54b72a72598cc23659d402bcf75e99107e4f +CT = 797d38a87a78e11b0d0505f9b8 +Tag = e002fc74fb911bd22e43b058a9550adb + +Count = 1 +Key = f36b2b8ba3ec266911307f0d1e2c77d3 +IV = 9cc51bef84b90b40e000a7b0d734f3e9c11a13efefac98ef506e9fb43e6bd4d31f12a251ff3c31669b0045a57381f56fc36d22b57c7dd0c1e7a5af05f2f9618d5e2216121f96f50465659b619ca1d97b19ce008833022f365ccbed96d7b806cd8261241c2e2b948aecd52816656f0004214b5a883e559e0cfb6f5ca94e1d2bb9 +PT = d7791d3984c08b0d322237ad26 +AAD = dad6cf78f7ac1e0d8d84d5ef34325061cc9da398ddd910ccb66c0b6776a76c43a185728a93679266fe142f113fe12463 +CT = 7e7e96fcc9fb3a60c894023f47 +Tag = edec55f88ee827275c34439e1e4f531d + +Count = 2 +Key = 4a76294e79f74b0c97e03054b2351dcb +IV = 95032833aa5aa8bb6a2376b76e5b9dde35f0d36a156787a4ef09fefe9af9cf395d2a6117a7dc6b99fae9382eec6b7d957de0e6913ce4ee3fdd170832c5c96d007c3be79f983f88d080a67ee59a90c1e9dc9a742de5095affddc37123cfc3e5ac3e4be65523f8219ed5979934a98e68aeeeef04850f2e6cb6f8132da756dbf2c4 +PT = 60d94fce2b4d571d622ea0c492 +AAD = 04fed4983ae986ecfe084bc7919d0bebfd93ab9c89e69bd810aac2360f1ceb69e309698f40e78217b298860834780237 +CT = 2238473dfc9a769667d313e3f2 +Tag = 5feffe4bcc96706d0687983333dc7f70 + +Count = 3 +Key = 0df9f3b4afaaa70860af046cebc17ddb +IV = 5c54923ce67b1e899f8cf4242cb5d6ffd36e915461e2fba9d567fb3bc8121d69b939e12b1f818b3bf14345c2c01636d77b12efc924da4e23d633d4872c035e4b7ae7f041f01c2b3991b666be1f91c799b2782193b99457334324c8b69adb35d115b062033d1d371eedcb18eba2bb31050c92f3166ed47dc8845df38c86705684 +PT = ba1d7c130bf692c11c6e3ac0af +AAD = d4b6a727b51be7274afd35e643382369722493259e2d5c314f0bfa57830cf810320ae283b242c1b0c17cae4db94e4a96 +CT = 6b2f463faace47ea30e698f571 +Tag = c5a594c0c6982c9b88ff8fa8a7369203 + +Count = 4 +Key = c31d7e68a6ab3a715742044dcc00862c +IV = 26e3a3f523a42c3310b9b5d49f21952f62f9545c8332d881949afe0b5505f2b2804cb002c2d606523337648cb0e18f8f35bcc93fa1feacd1b2e59a1fd1028fec1489885afbb721c02e799ea86eb1e7fe3a0a958ba41e52ee0a43fecb28be1281e7641815e26281e30c26236cb13394a15967dc73d0bfa5e3d67a8b8b0c88668d +PT = c9f61bf3655451b8a618809aa3 +AAD = d708b116f2d97d8c58c874df7624c93609e7ecf11f51855ad6d0d88213681187980629ab510cb661fe5ff8afdfdd3601 +CT = 856ca96249a35658d1a8655b6f +Tag = 05f568cc248cedc42ee79675bfdb447e + +Count = 5 +Key = 2600015b7279926a83cbbb8a97daaa40 +IV = c300eed98b5466fb899f72f09674d12e0de0d32221e9d58cb18868b5a3ca874f0d955c3766cbc0cbee476b5acf62dd16afcd8043521777ea2e3522e198fc73d04a505d32a559d376899bef3a4273fde861de121195582ef897ba7d4b089809600d8bc0cfd993940f4eed1ab525ea95dac30bc3af80c3c7ca0bb5785c5f4f45a2 +PT = 13ca5dcba8f5efe9a5f964a213 +AAD = af93625d0eb08727c1f722970bfe77d93e99b9326d5a6849a0b3176408d6dd52c3e6ae3ac11a824d106834d5765e09c6 +CT = 9a9edc72bfc7163f42ab01872d +Tag = d70d86d3bc21cfca4715cfd21f188b0f + +Count = 6 +Key = 883073f5f88c891afd61ed46b6276808 +IV = f9a5fabe6555edd83a6aac82f543d7ce24cda4cbc4b3e069672a13c0c1037ff7fe281c4b9a8f71981740f4c076175f0918b668f81e3d47a5dd3306064870cfc112dba02e0f1e0b598ff6f999bc8776c5808a17f54825ba2d5b17da0feb669c53bf8471736e339d3c132cef9b8d7a40b4876eafe2b4a1135b369044bf8195f6a6 +PT = d4113e99c6e37a3b1c3ea6a28f +AAD = 55bcd4a159a9bb261b309ba91461f570ed4f8827659815a2734be901d9cef5975daaec4f2cc224b07a3bbf4a2cab7b1b +CT = 31be3174498824e50a580ff20c +Tag = c8b5185912d3420171fa9b422d68c1de + +Count = 7 +Key = 5c582bfe40cab62e3741d45509207ac3 +IV = 5c97bc2a41c52211ebdad1ee1f6b9c61a07c1b5d4443e0cd01c410d5822f8580d71cff4ee870d4cc9bb3f490468e2b5be8ff6ad89cfb4d8ab8c94fa981e7e4661200c44f6fcf58b099ed6cd0c9308466860499d783334c497c0f22b05abe5010d829bcb000756686904a95958ecd72ff0e79a51e79b5c4054cba807d86f12947 +PT = d3b50a3ee9bf967267381a79bb +AAD = 5b8d1c834b4955166633bcbea1be628520df02e3a0ef5489fb28894183abc8819055e6b9ead703011e93874811606a94 +CT = bedc19af6425d96739c9ebd6a7 +Tag = 6ce06319fdf7004d2989ef38d920b97a + +Count = 8 +Key = 9b75801f55953ffa1c3f459045d94ce2 +IV = 28819a6ac3da0ea49680e6d60c25d612a267f67e0f03b051a77c2ef1a4c1268991c9d07266598724c9b0369b2430439045d251cbda74be7c7f87f992d63f31a9a9f1614dd0a48dec8c64acf417408eac593388b0f6f0096147fdc590bd69f554079470fac7f0be0d78f9cd67bb5780daae049fdb03e5bfdcc2f42de4db2835ee +PT = 73598104ca5b54687afb327b9c +AAD = 59df4219f205202b50298a52c2f512c0381c5ace8ca91c3ed0b839c24138b11b67d4681e1de8d9f6e7aad5502e1f4f3a +CT = 4418f7835181b5e38d6e2d791f +Tag = b39eb79c02b4191e79a4fddc83a10d98 + +Count = 9 +Key = 8d45f1f24b90aabf0c16e207e1c786ff +IV = 8501b1515168794a620066bb9bc250a10586ac608b76127163ecf1b351f7077eea83c2b8c263b963e7320634f31a0605293a71b4dc6dc699e76d494a6d48a165588fcd9111c29b77d8fd99de014b4d799fcf0542d976810b7af15920b8a709e4e2b7e6aeb4433ad21c5955a163cb9f50ecf13de19ecd085ab8cf88c8cefb58f8 +PT = 021ab91dfe903377bd3001ecc7 +AAD = 6d8795f170be1cad737c1268ab424f51f8581caccff5b6cec5537661371c82a81667afce99cc0825bf91e30446a1316c +CT = c01c6612d3d88fb87a5fb3fac7 +Tag = 56767333db80ba6ea6492fb5d3491c38 + +Count = 10 +Key = 8a22791b6beb73dac7fbe2da9fcb62f4 +IV = 8565c58902e18de9f29b502b136cd0154b70b76bc404cc04267c6121244fadd0c1513c789222058b9e1963ead176b1c50acf8bc6d9d05269a8a463baa2f8d4f4bd452a4beadc1fbdf24596ce2493876be85b8ccabd8c7c8f11238ae248dd4931738e48ac7169b24a8c7d77e3c3a91dadb0b40a954c6aade42e72544676284bd7 +PT = ee7a1f5aa16a7ac4ec1172623f +AAD = 2b5e60aa8d558b51f4bc338c60dec87297d1d91cde1a496cc9a0eb7ae692c74096d3b44a6055b12907e5605e8a6e70fc +CT = 1f100fad23fdfaf66285d000e0 +Tag = 0f03f89a4d087c18f2161bbbfe97d8ad + +Count = 11 +Key = 7aded60fab62cb679dbeb594a107c610 +IV = aa164afa6a177ccb7294fd387f117c0993a4c52ee7be45c1202d6aec20021055f5741258f42a9177c32ef40ac743a433b9cd40753e28a7533b678afa55b71c0a14e576887e598d47932d233eae6110b4b1b5baa1fb520c9c86411e8709cdc29ca1a9ced9152ed5aeb04d9dd7a44d2cb944f791726c2925efcf1b8433b4165593 +PT = 5540ca4a18f8b0fed372815818 +AAD = 9f47bc8962b48d95bbc839173a015df0ecdd914d77951cecbe5e55a5aca2ae8b7b58a41f9fe7a3aa3d38d63f1e07f438 +CT = 74fa71c96f58ae114be5e5e7b1 +Tag = fa5236864973c8712a6893a1706651dd + +Count = 12 +Key = 9b1e43bd37e3e7effc47732bc4eccc86 +IV = 45bd3c013f9f39601381750596632ca5da6fcdcbb482e870989822c1d6132b3cc6e2d5858ec236f09d2ac732c3634a88ef8dc489f266ae44bfb3873848285ceb1787d540bb262eb2aad10568f60da31e6bd2bd0bc1b63cf9c9bbd7c62721f40fe47bd3bbc2d679e50a0d8dadfd76e1d9d9dd58bacf26d4eaf49744337b1b0801 +PT = 11da6b4cb3419e6993d3eee206 +AAD = 05f1a4ef69a62cebc12a50615941bf82b9253c61920b86c18541c8e16e82ac82a68ac385569a07284d3ae662d9fc3c51 +CT = fb39528e77b979cf3c4a076c82 +Tag = 4071571cc9ced3b3efcddad245f42f49 + +Count = 13 +Key = 14a410593d39a06ea1be871c1efd0d81 +IV = 0346943f428dd7bd38e35d604d3ef813e8dfcf5d9b0b8d0674f0b1727d3bc7fbb89cd67528daff764936be9b6fb40c9c888752b107aa3f9c7d525d7bbffd371c7f9d75afd58478fe83f8d8b6fdeab83ed7d7483f0c009a2fa167f8972b2b621b7868bde9ce7d4c65d553760fd9c5e4ba8373776011f5405e3f62444fa06fa286 +PT = cae4f37667d43780547982ae7f +AAD = 4d9a8df6bdacb82591348ebf3ba0ce0d8348c99cc845e6c8d93774d40155e239ff97ff85051431f85aafa687e28d08d1 +CT = 7fdf9ccf0ffe340d7e56f8a0bb +Tag = d8eb5b9726adc161019105322e49a4cb + +Count = 14 +Key = cc832192b43e9778c15a247aaee908f9 +IV = ac1b635bf9dcc73322cccb3f8fd19dd3686ac6bf2cf980bdbd445874e4c48b2decda0da29014e7f73c91ff9e0cf2c24365f5fe776789c00a27db34679721c3c111dc4dbcad5c253385e65473efa3749ec7eff3c5b7f4a33aa0b0332e9819f46ba810d72c010b7134f4cf7ec8a8124237a4ad4f1dce8f93f0f28dcad9725086c9 +PT = 0b8133e29471ef5ed5b0fd7ee5 +AAD = 7fff15ef9db4be9c10e818443bc354b47647de45ef6a8282cb8066d161171e4a545f59de8629a172900e66fe5edfbfd6 +CT = 08697310235989c925d6d5c59a +Tag = c4ac81b4a1e4f015fff8f60dd00554de + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 5371d2b54f45734b85c921407ae29008 +IV = 43e7cea47f61334758bbc39d38c17299064150a95574c9072cf504de7f8918e64066132472c9b8eebd159c6aa450f8614643d88588747774a82b088a188d1aabb780957b27809a5fd50cd8a6b68245b931a2771f6f75cc74072ab41a73f2cc7268b186e237f81e2acbc2d1afe055779abbb7ec3fdc89e583c4979541a70a878f +PT = 9a160a38d0f389e15b81d365ab +AAD = 82ce68b770acf3d20011387b33717fadbd73a6d144e89e5b56af0e73484f6b726279a9b3270e575447db46787cda4cf8 +CT = 87ce188bf29a6f97408eadf08d +Tag = 3e28525e1ac0cc58ac0a549db454f8 + +Count = 1 +Key = 6abb6254a124838d905ba8b8b0a0862c +IV = 98c1c20c204b797e24f9162513aeb8de59f888b715dd09f5df84fc476bce24a5582b9892926730e99b09f2da3a79d55eb252be8cfdf5297e630526af2e67e62b3a81e9cb8e7b75052f3030fdcb6e24446a2d07fbfb0d0865f82707c7d1d80b188764f47bd6c3e8998266ce92021f24b1b70db5201d2d22846d812102b71a3bec +PT = f7e0559c345557fdb643a63fcf +AAD = e56b17d9236e9ccadeac5b16339b2094727efe73713d94fbbf6be8cec41ae4539f98ef6f04a39b36c44fb3435b905d3f +CT = f720ba3b63f63a9a74d7846b64 +Tag = ca3578198da0ce26e003115ad7124a + +Count = 2 +Key = c18483612fea7280d960cba2310304ed +IV = a3be47594b77c3ad11762143c46042512130e42c3bd3962c07a9efdba921fedd6901372d52ccc06e172d322d08650a4645d730e34bba29492500a2369930290a0f0cb9576f1512b5a2ba761d9423b2ea8c0ec283b570ed172650ecad48743aa8caf7c4e7ec6e4d41f2ea09f4fed79a37fefb92fa4931924d9c42fabbdeec6ea6 +PT = 680a052ea09b9ddf85742547d4 +AAD = 2212ac994b460fc6371aa9a31090f0e01d14b3e66c429ed76f55d816df0239e7f4d4cf591c6513b2fa090d45cfc0de8d +CT = c0ab1e06b49839398571712ad3 +Tag = 21625b272293b06a547779bd418345 + +Count = 3 +Key = 9ad8c54b4c2067ef43e31866ce6621e8 +IV = 462d13bdb50dde5feda047899c8d98685d56fbf0671d57e7f93cd50354b0de675c9bbd69a838f3a0ce6e629a451098df6e7900e962634fc71dccaf8d0143f836bda8ab34f2cf01748bcc8cef8d5677d2f9deb7fbbc3c9e72586361093280c4d8e357ac2af267baf88bbdb77627d5ec8c1e1aa8812168b73e8681f97d5971ca98 +PT = b62139def9ae7d6abc7b35ef5b +AAD = 72b5a625905306c6749e60f321ab6c1a5cb5b80620bda5fc8b61fc41b9dedf58b0384f8f7f20b927f33a846d85dca0cc +CT = 7734d68a2f95d693707b81320c +Tag = b10ebd8e2efe25a68f5a6d484d82de + +Count = 4 +Key = d7fea4e31d5f097e12591af3228b3d8c +IV = e6cdef387e2259ab7200f3795b6633c138cdacdbffbc0615ec383f5b1699cf20acb96e4609ea9d14f3050c822f7cab1bcf5cbed66e1a443ef1bc1860185156bd65918a6c6c8df4d7f3217636147618386641fe557457ef252ed3ca3ac572b0f400cfc87b9029ccb3397462349edb3bc789ead91b23d8211ec92f75c745b4dbec +PT = fd9d22b7a6de28052c14a16869 +AAD = 3fa037d0f553d2e3a7823b606d032276bdebe3c31db5ce8cc30334e5efa64fcb1be4b406a903c88d61683bf400cb7df6 +CT = e4fe2ddc273948dad28cdef3b3 +Tag = 2394f9b229c4b013b58b9856179806 + +Count = 5 +Key = 1bfb4ef7b9715070ca690f1b26bc7bb0 +IV = 1c162a4bdd8f7d5a5e14dcbfe060f1a44f5393a0eda00aa3b8583f1663cc8a0128bb21a38f08f708db9ee45c96e17cfa18cd91a43ee63fb66b1ca8b496ee06fa41e1a2d5af77674dfc806763465a75cfabfd43978573b297363c337315ac4d7cbc879f9f67573014cd7e2a2956fa1ade4c442fef4159f6b7f61e4f52cd908361 +PT = 9f8487aa5cfdf53eab8c822757 +AAD = c49c18eb648e678e0e505aa330e5707feebc41f83a2707c007c35033ac7381f92761e295b93f5e709f199478684a6f3f +CT = 48f3b343fee3b95fa285403f38 +Tag = 86ebb9059b09a4a9830a87ea82a362 + +Count = 6 +Key = 04b966d2fb2415a9e6376c491be88931 +IV = 4eb2697b11bcf506962979ba611c2bd3b424506dc929be8cce8798b77dabee249cd1cb1711870302d88edff949dad808ca9f2f5b588bb0907f8a55d23c31abbe6126e86d7eceb8350fb0b9cbcef4e0a13d7c1ded4fbb9293e53cb2ef334c0f67831e889788b7e0e99683c3c5e0d5a9ee03a30989f5b2598d061d3ef6b6bfde09 +PT = f1d4e4867853abe3d21523bc61 +AAD = b7d72b5af3f777d93f5e8f7b6c4ec1cc87543ee36741df102f89ece5d773a32a1867aab43bb6d1692d834dd3d21cbf42 +CT = 1ee96418c91cf6966ef4525934 +Tag = 207e6d3412ba5648f9bc223ae53644 + +Count = 7 +Key = aaf3bea9543c7515d6dc12f4d440980e +IV = 4f8a825504d3f6ab1233cf54e6d5c966e37a4be6255dc3935de036bbe8e23f13dc40b20104cea482a845076445062e6d0ababb93be9a4366b3d96f68d254b444aac214c2cee1910f041d20429120bfd4861631194ce1597fbf901f286a95bf8d6ddca3e753f720e2582c2a579e402ccfcccda29c6938ed727a674430b291150f +PT = 26d127ba6942edd2a74f645bb6 +AAD = 701af48656bc810b7cad56fc43736e107e2680b07564827bfc3cc9d63128be4287c38536f30317270eeef08d123650ff +CT = f1cd78eab67b2875ff1ff57bcd +Tag = b903bad9774f1ba26a703ef48966d8 + +Count = 8 +Key = 4ce08e6441dce551959dc4d6ff5c6087 +IV = 10334795a8ba2e83e8d5dcd03802a7329119427f38f071e48b83b05c5a23174d7696dd29848264044c9d665354d327a2da899f1dd86ff9e848e53aff6e081aa6b6b7be4b1754e64959d2bf77232c536063795335362173d7314a37e8505f32f7ba01fa2122e16fb37cbd5319a75aa1a10d6d8dbfccb93196309e51a6a116d63a +PT = 125f285df139f12d87b8326bb9 +AAD = 6c9e6ea0e0445bc7c032f0f3a8f3b986a044e0b23843dc3210e6988bbb46265802f39dc9314cd6d4addeddd93d7b6406 +CT = 7a86df3efa819c361380667b5b +Tag = a774879fb8768efa6d85a221f9e94c + +Count = 9 +Key = e49c7fd62e9608b34837f438875a82ca +IV = a83c57c679d06944e62a6cab6e168e233736d0c5e8649cf0ccd60c9d5440808f3ac5f6ab97754714681dc738d9a101fb71c9ff5a79132ee69b2bb45ce5adf536b7bd4ecbeec6a89308100e9993bc0a160d448aca593704fff5ca2f17805e0791c5425a6f78332c55b155b00d662a1c2cfbb2554b48fa91a17ed3a4ee7353183c +PT = d88982749ba12223a9cf7309b5 +AAD = 3a9e8f37a980a98d898c0d7a103ce870054dffb0c437f809b8728def7332c4b6491465c1f9d9657751419569f807152b +CT = 1a7b98ff31311d230de54f1e5f +Tag = 979fbb0b41a1c738bc26cff8d79355 + +Count = 10 +Key = a2b2c6bb0ef7024497106c0f08488e62 +IV = a5be30d4a2b1aa56053fdd46460c54c95ad00bdad208c4e8c70f0a53f4c5357ed2f5e0bd107f0d51e4e938f6aa524fc489249c677feb55cd3fe7a60077d85cdffab424ca1b1c6f7c25977fe72611c3054dae090542fd3dbd2447dc4ba011bda84a8892a17d3c6d4f3221d7a8b88079c968c25afefbdff850d7c2b6a484168027 +PT = 65a874afe5db143f72c259d182 +AAD = 6c2ed5dbd1ba70436f158daa75dc16643dc370617cc7eae83b6ab740afc04f56e7c4cf4e181bc3855b3be458a6d40143 +CT = d403f929014d0c4c3ae62115e3 +Tag = ffe865f38be22d2663bdc2f4b1438f + +Count = 11 +Key = 30b7a0ac7829dbfb2ef6b72b98e1f075 +IV = fedd2651410f8c924d6521ae8eafc8f829036b3d694d8b38712f4ff19ee68aa741391c449b4c08c3a6b466a9c49d9bf59df3ac716d6804bb18ddcf0a545ed48c1d42d743514e328624b9b7e86a2eb625dbbb01a1225062ae796c069f3102aff9effd0e729305f6dadf9bdd8072c06e7979f89b6bf025892ac632251834e00fe4 +PT = 5cc9cb4d2307aaa344276746b4 +AAD = fef16173cd1fe5f24512a15368507213a51cc30b84910cd69a7c1c270037c6b6e97ad399752f69c90c1566b3fa6f6974 +CT = 1cbae26f9f754f7a0080447a4e +Tag = 3ce6c92ce8fba53e20c4f7703c2ebf + +Count = 12 +Key = de537fa8a3832b4011b0258476d45f71 +IV = 77a2147fcc33bd16b9c8a7d13ce1474ef8194fc1612c28ad63fa2063403e16beebc6b6a75d27b6a92524433e74fdbfa6b7776ceecc8bf1d4f9e857d57e8603cfd7d49e4560866d05fe6cbc18ddf24497c66a292db037730a683804de18f82981fc56385989087344e048f38b19a4229c704a5f990630c32abe3311f41ce5c405 +PT = 6149ae17e809ac9a2be5312a15 +AAD = 01cbba1c563faad5642aa6a8652e431f16d3deb3eb7a62827a8f5267bb1ef9c6f9627611bf1843876f71917662d92adf +CT = 36b671575c6dcfdfdbc68d29f4 +Tag = d12fab016f78c308f3bd575eabcc01 + +Count = 13 +Key = 7b8ce49836efdd2d434eb8df2498ee3c +IV = ec3f9dcadf1a706c62a9d84926c92b34dbce6124019ab10d223ce697a2dd865d0a7472139c649bc9fbae341a31726cd39727a05c4d58e1aee59883e65bb47db15b65aab193fca3f29efd8ebd11c08348e2cf2d7848010903d99a95df0af7695f7836b1d3eb4af129bea0fc1c4a0ca3ec95732e35f6030ed9e1b29430e9a051c6 +PT = 59a3308eaac3e34c654c21372c +AAD = e49799d427e7731c2b990849175d40db2e3f1dea3cc03eb1375687d7334c671266713ac291bbe908c8373d2ba826b947 +CT = 748446f775b6b662d81effdeab +Tag = ec3641829e772d37475a264d6d6e63 + +Count = 14 +Key = 2f43f073ad4641d1d4dd1f46328a7b90 +IV = 77e1c0c3676999730e2270407e9dd0a7f65a5fdfa21326311d288dd05803d31806acc40eaa7e8e28de1acd847cc78b5ebb64eb441c8a9d7ab2a0def7219fd75dffbb4e684ba255cd0727a8ab140fa2594326ce4248d6c72c5a7fd1445a0bf55c4113fcb4e9e4bda0f3120ac423c1fc3b4af924194fa2daf3303522f63d1a9bc9 +PT = e9a1bb15d8cd4d6d15448f31c9 +AAD = 4179e80a4fd36dde6380a407f621483113381e69597c81249a1d9bca9a2a541391551a666508729cb2d6dffa70fed72d +CT = 905824cc43d9471d8db3fa21c4 +Tag = e565eef9f5023cc5fecaf98981181c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = e4f59b939d3631e9aae16bd3ef3865a9 +IV = d47f50ba1725c11a5d2bb69e6b981804d470ab5632c9b849aa39c1771425228f883bc2779c72506ab8de465fd719302930b5dc58bd7114b625d1d5bd019ee9da4363b9bd2bd0a5823a469748ef3e5dc3d41d9f4d2743eef5f206bfb35732ab335a661a27911916faeee56da9ccfbcfc18ccb8b1fff3fd7271084db7ef2d99d59 +PT = cac5242401a665b688fd192306 +AAD = 23858ecaf6a37d0d3cb6cdaba135c0be13c757f1c77b45daaf951e803a538d136222a582755eab092f15c53ad395b4ee +CT = 05fc395338ab46ae84237b5dae +Tag = d3c5e10d1276abceeaa17eed45c9 + +Count = 1 +Key = aa19d97d6e312a862b45b852e2c24456 +IV = e9816755ef7768c871534e286dc3dd284240fad7a3879f570eaaab7143a51b21a587c1e8ab070be3ce05036c91be9af5ce866646504cbca406bb3567ab50ee7b42fb1d28c770929b1f68c69b4aa9eaecb1f61b4b89bad7cd9c1a7d3b67aadd3e4fac8ac6928df978c65216d558448217f8ba30225986ca77d5baaa534464a087 +PT = a0b30a4c97a68cadd5508f7c06 +AAD = c65a295aec51f8c689385ff518bb68571b9269ca92f7c5df97d956df1869a63d71ee78c915e2c40e372eea951b6a263e +CT = a9c99891481e752e762d435742 +Tag = 718e906382c1a5461e673c320689 + +Count = 2 +Key = 43e206eff0eb9b1fa64a615e7cd4a2da +IV = 0320783d84e7df67f97daad3a78ebaa39a35618c55437e6d809cbcdc380486ae5ab3dabaeb6fe81bbbd31ff0efb6690dbc0d1f3d2973f41effe1bb2c892b47f84dea5593411853f35ca4296f027a7d461785b7e76046a26f7d1f31cd8664c00ac98b27548713c685ecd194919abd953a4a42896363615f8a9116b0b2f0e4f8dd +PT = d6ff9e3a52a7e0a65c66ece664 +AAD = b9df498965755b34719dffd82cb1300a517bfa996aae1068a4be00758eec007dddea251c8058cadad9dc48092f90b985 +CT = 273651b655dfdaa054c8fd1d43 +Tag = 184751c531b1c0e4810ed8a2e07e + +Count = 3 +Key = 192b81b4b2e5990073f073f6d8d01315 +IV = 77f6055ab5f8b0e9d075306233551d8ad553849e6b60af414b8a20cea0ee189a3c6032380c660ca1462417b3570af3368aae5a2db1fb12bdb5d8f3e334840bc3b8fc4ad29ab1738fd022a51261e3a1c400efcafe2d8f941cdc9fae8d34467a294a627f0ef4f889b95c088217e6719f05ceff19c1f53ceea02491e46e7bb83171 +PT = dfce39ee51e1b00cbea99b6e9f +AAD = cd9e5ea982232bd3cd2d802eacc2bab23af780168d67610924b80f202e47d6a06ceedbc5a5fd1e117f948eec918ff531 +CT = d081836bddf9e078affb82b746 +Tag = 991116b2186e80ce63beb5817be3 + +Count = 4 +Key = 63286169b534b7fd90634536fdf44701 +IV = d527108b09b4bb57a220a653cb67712b154e9d89bc0e850259029efb1e7d659f07711120529d85d7d0b777f3f36e9c9991dcd6599386428eb273f8a00536baf1bc89a7f67daa5db5019de18293e03ca7b513db5b8b84bd37794e9f17499b21f5efe3e970b38acecd29edad6a8a2c40d1239d24f99334c1a5d976d25837b1c8ab +PT = 0acb1cae90f37ade0712fbf399 +AAD = 07eb5921f8edbfb8e11ba41b0affa5ecc025dc0e4f0eea33fac1b90c4fb5dcc9d4b52123a6ace85b925165c7a11435b3 +CT = 905447525bad81c61f8e46d671 +Tag = 36df7e9e7b48c70ae5236943ca1a + +Count = 5 +Key = b89ae70fa55d53c2fd2aaabd9a03c401 +IV = 5c0a3d6b1a7b9e500248b180e0d56858b2d9ad73f87a851bf49189622dcfc27a56266a1c79d4bddc7323d4b271c065b16dd62e77fe6254baa8e165de117f02f1b6ac5f869e119610e06aa20862489e0d609b7f6486a3b4ad2b1af49197daa56853c6b024ee4f3552c76b68e2fb9454dd6d33604f204427108755c3dc194fe844 +PT = 0799b6543d5e4bd9d5680dc80f +AAD = 904ee5f86ab78aa37cf988e846f26f2a489e9a18ae0d278ed4725e89e80ceb1cecbfccb1a562d912b5149dbe8b6a0ba4 +CT = 43add18fddb26b656f829f60ce +Tag = 9dd35c1097a33213b01e06064409 + +Count = 6 +Key = b06b71833083698fba510645ec2d591b +IV = e4877fbbaed31558c1bdbfbdacfe82fa3b7a3e8de5076ef596b3eeaba2b594cb106399506b7dbd182bff8e194629e798cdf3d4419fd3a9503b69e9deb46ad17b7f88efbacbfb17fd3ea7e11dfdcf64af13a74ff38c679f3663468a1f7e7d1791fb485b702cb103ea49cfca428c332b71ed0763fd9574625b5e48d9277aa738a4 +PT = d712c67910bf92e6b2ab8867ef +AAD = 7e8147e9688cbd106e291aff626cbe923cdcc87992f2d3315137d810b8dea232967cef52b18b6571d822d257674cf4f1 +CT = f3e782c87f248f241c3e69a305 +Tag = db12540c11db56723d46c7c1ae3b + +Count = 7 +Key = b4820a7f275ef5291b9d78a25f1abf8a +IV = e63c18de664d4bcdd35baf138f15c7e44f340005efc2a1028cc3ca9890d75fc3b1b5be05d6a5bf2d661ca193143b26708edbb5f4aad58e5f7ba3bc7a616d94f7371d0e53d940cfdc5fc37bdc427bf3042d6d47d6c4ebf6c3d388f1bd63b2f9a68e3d5ddb1759a61a47d6eef695ae431bfcd265b538c54656419a1d386f52478e +PT = 920509e147fb6787c193513b3e +AAD = ba4bb383d41b1d851f44e3d680a2080054d52798d863f56e1c9f2118617ac3a5662aab2a088adb1ecc3daea940fd25f5 +CT = 396ecbc4b9f9d84f256d9d74d8 +Tag = d4ceeddac66cbcd6f7ae21a148ff + +Count = 8 +Key = 28eb922c0763f32e2ea1a7a15620acf7 +IV = 3065914a380a2dcf3a862e1e527d847ab83198095df270d6a95b3551d1a8cc0b3db78e334e0e2ddf4d5f3477625d833cadeabcef694fed1b7e38c805f57be7c0a0e62fe9ca1b081243a5b04c0a539bc9a23d8b2c14c9de3c42eb396189b249a7f152dc57ed6a4ded0805c31b7667e8fc04f6dafa3a6ff7a877173b8f6b0d2baa +PT = 381a8f33d85f1d9352476dbafa +AAD = 9d284c3937a4cc49992a2433427971eb098546bca88979f04d3d014e6bcaf108618d59bafd27a1fa4aaf5c518f53829b +CT = d7aebd054e993feaf02aa080aa +Tag = cab415f425abf795bb1acdcaf789 + +Count = 9 +Key = ee12b61ab186a3e2b8f9533c49202f53 +IV = f4f37c6a95c877d6f5b45f44ab88da68722e29479ece00f2d3ada32e526f9c433118c5bd4a41f4c7be325a1bd324c7cccc92038bf3caf072d0cc2dbcba7cc9783b17ac9725c03b843a59aab00cb5e969f9d55ffdfd6c117ebdc8a0aa0f1b39dd3ff0af9d1e2449b1a50f7bf80ac536a826bcb15a81a475f719f91cc8bbc362d6 +PT = 5f1364e5e08ee662e0938e64fc +AAD = 171169523556d243375c08934301732b14712ae6447fadaeefc3405482491f668f2a14561af40442a53e45c76cf46432 +CT = d7de9739abbd8c7ea3bd0c9b3c +Tag = c48957fb40fbd859e90f2cba75ca + +Count = 10 +Key = 783a441929b9c70bd4c65c2e814ed619 +IV = d7d8cb171edc072c65de2128a339bd986d589f6219cc8ef7dfce3e3e8e1389a6b670e2a759ad2c3a2dc4284a3224f09e49cb561a8fb90bfdb726c72f157585d59efa40148d6e569ec4ca4f0ae4fd58d6a789e03fdf08ce50790630990a3617844fbe01f1df71f29ccd5778414f7d397347910410d457e2d10553b575711ccbfd +PT = c86ece978f1e12eb69f2cf4abc +AAD = c64e71bed0469386f66e31f03a6c9fc193501c5adcce3e746845a1efefb3e84810c8debac4d17f7297e677378d6d7cf8 +CT = 79096607bf1caed790f261840f +Tag = fc79a6e8c8b7cc3f0b7775c7c633 + +Count = 11 +Key = c9df10402cca2e2cccf316d4387ad6d7 +IV = 924d473796b1ca9833bf53b30f92022f39d9fa7a6b8a599b75b58a9b3a4dddf324c95310d51912b9f224b92e31b61cec3cf110264319793d3123ff1802cb67e33afc4432b3dbfd32e46f4296c508c1760631b8f44e475218a8717793b5712abe901d1168e7d02479e0cf1d4c1ffe0df58fb58813f59dddf6c33b8d0d5c916cfb +PT = bd646fbd81da0afab494fe8660 +AAD = 536a9b0e2bbd0b789ea9a3946d4eaa0dfecbed124a6f803aebbd073cdb605b261a037e2eeb267323173530d0957fca01 +CT = b1d28eda4374c5d83292b766b1 +Tag = 8e9a6974dd848f943abd1321e131 + +Count = 12 +Key = 40cdbe85640b51ee6b6e2e7ed5d31316 +IV = 1be60a342900fa20ba35350c6494345634a83ec39bfebf4730149bd0aa09e4789cf041f076998c9dd4b607289a87918e376bda5863d56c3bfea447e1b5e88cf683b8b0b86610771d9b867c92bdba0bb04f50db688a159c390a5e93b67f3ddaeabf5f986c8abc79f456771d6893396f2b11acab752f35245058bd12693987cd34 +PT = b538d8c97d301b98bb0c7c5f81 +AAD = ce3276d62c5a81d521430412c56ecdab8603be045fdb7684ecfa7a7bb8cd9d28cc2519ede13de331567f0274ab03369c +CT = 64a8bea53b388ce4e87e87537b +Tag = 4024813424bcaf5fd4022dc36862 + +Count = 13 +Key = da32c7ef98cbc3430e7197e319165e2c +IV = d03032c0c66801b5f2a9b7c25df7e1a7a3498bfc3a0c83c690790f39c5666c4b13a33338de0d6c7ac144507d0e6f525adc4a60b6fbafd745b86e5e5717d3f6c4ae888f9eb57cfd01d240298727be0b1ab769b2ee1966da0cadcb4d2b63a7865fb59354c52f52b2257f86c3278bb1bcd27509d4e30843d21f20103c4f41e3ee4a +PT = 118f1a867581851cecc0c0a0ea +AAD = e2a56833edb725e8d50d3dbab9673f445ccffb11dda9ef02041eaa82f61a6c623ef7da8bf6dff2c7127b8aa9b482c345 +CT = f3c8bf489253996e39978e5df6 +Tag = 6225dd981ee41cfdf9915ccf4f49 + +Count = 14 +Key = e75b37dd333d3417cc3686d6ed43bcef +IV = 433e05962b19e06f2cac45d3ad3217c5d9285e3fd15a292d6d73ba7c43d2aea1d8cb9f300100d848a1ecb19366f2e2160e964d3405da6ec9e8a56368c29a16228fa87bd93a4b4bab3ecde87e81ab6f8a6514bd01b93aa0ebca4df79663ed6712e8a2134a4e482613a5d32e5e8d8a995a1679d17afa3c23bd7ce6b3ef96bf2b2b +PT = 528236bada98baba11840dbb13 +AAD = f903d66f33121fd776d5f8ae1dba4fd9e15caeffcc051562f27e672e613d535b182a6bda1672c7c44909b9f6005efc82 +CT = 8ba95c107694c6392554dfc914 +Tag = 35b143769943f7bc85ed6a2502d0 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 7ab5818439c6e4d1a043a418d9f2f153 +IV = 5830ca0934ab11f74cc427d07857003cb2fcafe37eeb399ef1934d671ab73b80959cc5efd4e507d851366478458d7c62d62c2df9711db0d91be2e049856076df5ff1cf2c93f3a882fd7ae81f21fa098b3668c79bc835c24c74b8c4316f58f148ebc5c23943d6156b2853cb73e297b015b1995f771353b0145b52e29c4d230da3 +PT = 0b881cc20a263d641360686691 +AAD = 8bd58d7a1c26db62196840a794a1b062dc9265e2d12f4131c88166b60003a0bc64bc7ab0d9374d773b0a75c54d0f54d5 +CT = dfa6a8c9a8d43a452e52eea8bc +Tag = cdda98b055bf63f237b5862446 + +Count = 1 +Key = 64862c819eddc97c5dd19ee2ffe4f565 +IV = 4b3fa716e136843491d99d3fbb769e831551871c217138f3350aa6df2402155b47f949de9b39088604a341e10ce897cf8a1db44bdd4be5dae18d5ff183972819f4343580e30705024ba3cdc2d7e2e2b8b5fef0e271e5a173b2bb5d5e26b3b894cfed586c5442c0bfcf12cd08d94830e207a13de34bed06479f8c9a2cb0d584ac +PT = 22da2d327030231aa1f8b80167 +AAD = a9f078e15224fdebc50e4c50ea350f0e6700a00d63ad6b50b082e295a06624fd3b30c564f3373d894c0d5ad0c099572c +CT = ff792840ecb05968945dc11965 +Tag = a066d0c81f414a55b4415ac78a + +Count = 2 +Key = 77b27b23206f7d848c6fdb2fb7df58c8 +IV = 3730edb8caa218035c1aebcb4cbac748fad88f4b162edbe4dbc67ab9b173ae94ac528a45f026605c6f9139408a60f89e02e2d266413a4e37a80e6a809624ae409adb6b489eaaeb59f9e3cbc8b0cb656ae61ed3a742518dd1b9783346153018151bbdb34893a363ffa9c4815da88837c992ea89b320188a08a010d70cc65da2a1 +PT = 7616eed3c2a78c97a846304d86 +AAD = 99eef79c2633b2d21bacf04fd34a229025d770220f8218d97b59a29d3dc140e1584e5f71ab0418367ea1a78467704de6 +CT = d82016870e9aa399752bcceb10 +Tag = 19560a5948baf3e936b38270bc + +Count = 3 +Key = 1d74f1d29b0d1eb89c469d1b29890ce3 +IV = 689407dcc01f5e590998f7281cd654dde10d457437d6d98aca52b1a2ef68542a366ecaa3d870d5f5bc2991b33d3d5e77dea8605200f942e2664e8c9ff420ce423074190e264b4b2776678173b14bc1dd77ff10bf022503f1bf37323916de0833d4abeea642a5a36e37174a498eae26691b5be3b9229a3495209ba9da30cc1394 +PT = 7fe9de6e7196278d2ed60f14e6 +AAD = 86787f5d3f271f980b647fd6346c5257a733c0c42f31e7794ffafb3838bada202e9f46aaa2148cf3151e2f13573050e8 +CT = ed7029704cf1b5d853cb6fd607 +Tag = 1df9b837f408ad4acfe546d7f6 + +Count = 4 +Key = ba652857892ed4d48b7706f70c8651e4 +IV = 6a8d81b8137d5a10b8e12b1d40c4451d5edafeaf3d2f50efe11d96b766926cf34b68561cdb0f7fd0647ecce5339e3ae93a04020241c1539f2a3f0ed86bc592ad5e8dcca860f047f1a81e8ed037efa5f84c8910affeb1783ae9fdc74f686b27783920bcc677b0df02cb80b80e71b9f3cf533d9f89eca3ee0dedc45eaa04ddb745 +PT = 6071fff64e2c7ff79ac6e1093d +AAD = 44865be1deaf53c82c1868edd230cebdd537e4062b902c331cf0e876a3095c10541668ce6093e6a72440587a7178ce16 +CT = 1e3d1e6915e897e25532de0780 +Tag = 58f716d51b93bb2bbd849a030f + +Count = 5 +Key = b6a5dc4ccf85e40a3c5b34382dac805b +IV = c5730616c483f4d4c2e85d82bfc19a04d4fa4770e4f826935ce9bcbde0e26a0b0379ebcd5e33648a20715c15bee6d0a847c54b12fcf6445a0990ef8e629fc7cda8d62fad9af030f410b48ab83a84c1d9fdacd153b0d9adb3a79f26d05ca98453cefef42fcfdef358344bcbc473122c02b7da4a96a345279483c5493ddffceed8 +PT = 3917c05c9349323aa7ec3433a8 +AAD = d102ffadbfd102b1c56ad65cf3abe5927bc8c15d2202e66c4ec4d6bb15db77605509f82b431e93e64995043126d04d7f +CT = 41d63c9534f80e9f8aab40ad86 +Tag = 1fcb2d7dc20113284e872e1714 + +Count = 6 +Key = 4132fe6465c70d45c9cdeac3f828fbaa +IV = 59e73602843189ec70057a9e5fed78fb53534033d62f04ff69d776cd67d9db711393e46462820bb2f2e6a0fecef74301e261b3ad8d5a42f4e8c1dcf2d9d6f1af51f77e49f3aea62d54cc3370d21d3e7d82bf67e2ac5898993b6d1994194e17a65157feb650a3798d3b71cf82ff34028b5694a9ae3b48721e4931ade92b88aae1 +PT = 8f6e4928c5e3a66579ca13d02f +AAD = e747f3f055160d5fa0a941eba75df2d4fd1ac776fa64eba07915352897300f53761e27811e35bfa63272dfb91cbf9cd9 +CT = 4f061a4a10287dc820b0aba0bb +Tag = 105e0041ed4f9e341a5e8c0b0b + +Count = 7 +Key = 8e81e044677fd8833e5ceb2fb835dbb8 +IV = 73ca8cd447a3e78d212ac7a1f99a28d93cace6bc9fef38b5ee94d39a96b3dcf20d33a5924606eee1b35016014aa9857fbc6fcfbb9c1defe12905de044f1015752b63e7b7082c8d63fa08f6d501a93eeb0997722760442b219d330f5e27321ce11cea478f5bf8fcc2843574a3212658852aea54eb7a72ba113ec5503fa2a3a22d +PT = 0efc12001421af5e8b982191b1 +AAD = 51bc81abc36ddbe06171ca98a6119910896ce9256e6e8a22f47b79e1045036b77bc1d79e5bcdff0a625faf73fd71941f +CT = c84305c4bea411716a29b0c6ad +Tag = 05cb9dfe262894a6380ece7cb6 + +Count = 8 +Key = fff79626017eabfe40dcebe0c3785473 +IV = 282229eeaa445083f519b7e3ac98653966950b3bd8840964be952afcd82ce7f2225200953b7880f3eb20e27857b076f539d083fa611b0caa30b7708f14c7e9c764fc30abb87d28011786e78ed71b196180eaabe5a2f4d4c419505ac9e4a44ae9fe592f368e8bae615ee3ceae3155059545e55ffce7b15ab998a2efdf050ec025 +PT = 3a80816c9fcf53d868cb7d71f1 +AAD = 449212d382063f2c5cddfaed79417b9ef818f2f1fe251abd8a122b98f4bc53c5c035212a58d041179ddc879545650ff8 +CT = 88de711676fd4f88604e871404 +Tag = b62059e32f79526404dd8b5314 + +Count = 9 +Key = 41f992b006b25186a30320bc375fba60 +IV = a4f09d1863a5968139ede051e3dea3325cb46c1980748fb7cd10db874d83f45b0fb98ae2455393272684826d3aa4eedc19cd91a732b4dccff551f44ee63c203ee7f8384a5025cf690ea1eff729b687500c24ef0c766f470fb35822988db820f465ce0d989899947608f99ed91ae7491a255126bd7c73159e727db1bb65bfbfb2 +PT = 47a45b42f02a3675c6fe21f899 +AAD = 36f126cba8ae8ccc50da2ccb8c3e325a714c9ca5b17c7988a117a25e465947f85f0d6fc8e6b862e147329c1182e0c142 +CT = d1083d830b9e6fccc9e952c31e +Tag = 52a94f859dce1f847da0029957 + +Count = 10 +Key = 505a4dea3ef06d76a719349e60fcec76 +IV = 90d24f1c90355103d14bcd313fad706f4d2a5ac4da3278b2914d77a3b058411798aac9805f02a27aa6fb45dac2a9d2d135731d8e1eb6a5b5bd241c93d2bcd4dd7945392062c0d664317f498356ee52052e07e12f063dd03d78d838038aba82143c82bff931e3dd8301ed7b2acd8dc32145b8eeafff2de6f331f20f7eea922ac4 +PT = db6c9c778cfe3f2e03b90c8c39 +AAD = 37b5962aa9ed69c2182de49fa6336d0eb3447359e3098c8be4940d4cb0063f30768b98a0b76649566d93394e96cd4d17 +CT = f111dae83f4326fbd4fba2c9b1 +Tag = b6ffe02a0978994a366ff67b2a + +Count = 11 +Key = b87a92cd5a4ebceb1326479f5c2816c4 +IV = 4d502cbeb5897b4e7275896e9b907fff6e4ca4a9f025f65c92b128c65209a95b0cc066ee8d9a0f778232e20f54fba8487c1d7cd006b9a0b84741089fbff0d337658794a9d5387ae1a4d90ff6883d03fcc6175dd246ec16a57a509d5a5ee1b102f4f2030b092fc8bc5c722fbea53d7fa957bad0263ce338e4e92120132ce0bd1a +PT = b9c12ac685478cf7365da49354 +AAD = 533a40c0a3caa11fe1ba4006dd1f7c38ddd547c6a875b5fcda7b1fc632b13cc52f61a678e8f81c9c336bee5a64f8d111 +CT = c345ec353504b447c09cafff9d +Tag = 99aab3a5e90797bfe4bafff06f + +Count = 12 +Key = 38da75b50eda65a70d252baddf09180b +IV = 800fe2c0f26e45be8c2cc294474591461edca6d86df50e960ec772836268d3b4881f75c6f013443291ccbfd039e9bdbbefcd3b546ce3f896c5f329f6131f7e5c2a80d05fb1482c2b1d587e93962a5234ce6100a08d2c576c9e7b29458823dc018272f93a84aeb467f4a4caed1b62678ffe3a2a8d8c9ea8ddcf6310641ad0c39f +PT = 854b725e91233acbbfd8c32e13 +AAD = 83b04748437df521cd00a8270c3aea153e27d1e8575cb20f5d6e0eb3a34233c381f271de228b464a5991930e848ca172 +CT = da1e9dc367e744f8e4e5f7fcbf +Tag = 08ce495089ebe86afc65b0b0dc + +Count = 13 +Key = 37c5305fa53465b438b803d2beefb13e +IV = 226bfc319160c688275658aff89a51a425412ddab92b0e15e377aea2f267cdf48c93e35c0203b10990d3a5a0d887d3e18cc57fbd37ae887532e81cd4b3a842095e61a299c87c0541a30884a85f35d787bc51e9184072ebd5a39fb9b12173f53815562324e07c5b27bc1c2cbb25407fdf9c5dba86e805667d9733ff0fdbfcd3bf +PT = f15f0053ae9170ec70f57b14fd +AAD = d9eff2027494f3246dfd5f8d511b2fbe0349d88568a2dbdeb06290b644c2809711d20ac36a07e1f09608109273fc335b +CT = 4345c4ec9f48b7bbc1ec112af2 +Tag = 48e9285c749c3c374a44228194 + +Count = 14 +Key = 8250cfd87963ba6dfb7b0ba38482df4e +IV = 6e9c6d88ed41827553ee6aa03d0d1a444710bde43cb97a6284acfde6d5ac06bd76f13cd9a7f754f92c81f65bca579ec527e09d12aff75b6414b4ed6e896d6876c7e7f00ed9421aad0a6170b99984445230d0b472963d7593e6d356cbddaa08217588e3f08db985a59d271861a44817a9a67165ed6617875d6be6796a25c9b82f +PT = 1e5f03f8e33d67f2d4a2c32c8a +AAD = 3644bceb9b76f522aee0651889c1d11b62f504233029afde85f9d038ec2f5bd922ea6a5e4c4ffd21a5c92a63f45eaa85 +CT = d7e909e4cbb5f1410a94f22668 +Tag = 4400fbe0f7fe5620275bccfb80 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 185f370f23544484dea92984b42158e2 +IV = b1e42e3ea1ec117dcbbffcd0ec0546a5996ca951932b505eac3ab2ebe876af5631a7ed3a4e9d308c3b4b2e49fb6bebe89762dcfceebaada640dd334f4b1b18ea7e82bfdcec1cfb4ee0ad1a399d164416762efc58aba5c03e2fc3f61593454fee94593409a5e72162e83c512b12f8a5bf07524c85751be2a7b08ce295b61be577 +PT = 206e8dfa4e244f94d3e78faa37 +AAD = ec08bce3e2cd290113f2d43d115cfe1ed3e5205c17cba94996e4673cf60e74cdcbe647aa9867e717ba319cbddb191f7b +CT = db37a949a0be8d1cf489c00db7 +Tag = f8f27b9265848e9394f71f4b + +Count = 1 +Key = 07bcdac18c800e9e62175fe9057db65f +IV = 1ae02fd20aa6d07e88f29926d1b215062cc229db42a94cadc3679cddef4d561a2c15a56c786d4060a460ea12717d548b8d6b5a7c9dc7a800efae272fea7b31d2fa741310db4e006858fde01ba8a0876d30df858669e1d96dbb527df491d7beb78887c03c70f9a4ff9bf028aad41fcee2cfe4fab4580a6cf876e3266d99b6f7a6 +PT = f97199eb1a5082ff51f3575a55 +AAD = d915dc5bdba232335b43f2b281c638e28f3b507fb3240f334712bcccec546e8709c9a0a770d9f1a29ff49a22f7f1add9 +CT = ce2ddddd7c7e065679fd2e8a55 +Tag = 11e545c06247fdab7f0858e8 + +Count = 2 +Key = a0715cf35eb956fc4c206b87817a0bc3 +IV = 1f5811727065f213604c4d3ddc2e46499b8c59e82eb55b008dd6c9b66d3cd91d64c456dc90d414ed0d47dc2819a65403c5fbbe5dba68ca90a4ee8fb5bcec582529587e2d50649288102cd7cba72d3dca8c88edb9e2458dbf84a393d9ff661aa89644755b7639589db4cc66cdbfefb65c2496f880bda4f74069d1246e65d908cf +PT = 4cd1dc8c6ac54675a79b3cccbe +AAD = 2d93a00c93e4215f52f6022612b687ca7be905ed2dd491c4d764dfda79ec4cb597f4752d1965d108c9e0c5b0129867a7 +CT = e69de10945633a0b232aeb7a6e +Tag = c923e850add8b240249d87b4 + +Count = 3 +Key = 9f27acd4dd15790889aef5bb9c590a1d +IV = a530262ba929927ebb923fd2ec247bac961a96927556f6481c21590303656fed7929f554b110654203ea13ccba2573f6d2fe644eacffa2ddb2e8496bbf140a1d9dc915e28d698d3c39a311d33608cc1c5c1273043665c526b582080a36a4d38f77bcf2210495487861a054e21121c484534503f70b4168296340eea64a6f101b +PT = af6160b2acec2ba25c870c8269 +AAD = ccc7f1312146e1d52d9a438a0e352b2a18d22c2f9fa995c302e29b600dfdb48137faf0870cb80dac254bc54a0cca4dfd +CT = 1ad0823c27f1c93780e8a17208 +Tag = 9461cbf37fae637ed432d054 + +Count = 4 +Key = 7352b754015474bb2b33b02d22a7db6d +IV = 24c386010a2ec4ca507d7fb347941edcc555a73cf2f8fb65146afeceb2b5c9e59cceeb9f896bc930285677b39845beb2feff38f964efa866deb6b31aef5ed481993be2b291514fb000ca4245e03c19d89520dac432bfe66b17498abc755923147da2a11939f7f1199361db94708a9b8abb64828c2c4e1b16d5baa745a92aac03 +PT = c51ceb87cca60072de2a76f844 +AAD = 85e928bda588f100bd2dcf11488bd895bb8cc20271b9f08cc5f6b88cbf29d11c001173547bcf80fe38c2e3cc39032862 +CT = e1ee034b23baf3bb9b13915850 +Tag = 3934592efcf530cad849ddaa + +Count = 5 +Key = c04fa832d155de66b0e3ffb159955bdd +IV = 5fd19df5f625726ff050ff4bd77a8f2f4154c9db7b41bb9bfa4f86d6e480bf20511ab3dec9bb6cd0f462a4fd01a70697f9c1016bd44e050aefd06e2e4c36f7e47da55dd6219fd5becbbae192ab913d8a1739884d836168262706d83fe6db13ace84f8e855f45698a979510113ad68a7124332cc83d9ce5f2756e791a043fc48a +PT = ed82116b65e310b854ba70a67c +AAD = 0ac117a5709d3a6836e5b4a5bc49b4006f1bf7c0b1b3f10b445d8796d19c1baa5c94b26d4f16706d343249d06fc42a4d +CT = 7473d935b22b90337471352000 +Tag = 835128d084261968d7d8bd74 + +Count = 6 +Key = b2a0d7adb910d355c490783066e7fb8d +IV = efb79509993afb0e13e7509c2bb5e1fc3275e85585277a588ca582267cde1f0c63d543eff4f0e5b772766b62e36c61a5ec8fed11cf336f20b4e28b2e7930762744cbe46ec56ca73a71aaa26e4d8711afd52cfec04cb2bfaa91e3dd231f6d402362edb2d9bdac258f849527dbe7080d5df53976ba694796ec9575670daf9eb261 +PT = 99e925c799914974e1ed368ed3 +AAD = 97bbda4a516bc3aa230d9f5643a68c4888ab8878f568cdc89b906366af571f5be59253b18c4545e049284343df25802d +CT = bf3a36deb2ed540c941775ec17 +Tag = e3d21c845d2df529157b9b9f + +Count = 7 +Key = 8ab8351a94a0224d655007c9c3e9c24e +IV = 812333a54e7a06363ea97c10c10fcee454074d28c52676180fefd49b240b73c5b0f4c503dbb13533f0bc8e2fcb3af368aa4631d0b76306aeea44131387350352587687339a9ce58d225dee4129d4f24051de0a3994e89364f77774b0d71a2e9afa3d8fefc3015c1a322f11bf69555b400818a390bcf90c41ecb90c0c3a7d4b7b +PT = d3abc4ba03b66033a5d499e7a5 +AAD = 5fb0e8444b5a89bf80433c2d6eec8145f1313f740a43d0b99135aac7b265b7d105780a21b1cc9b60fedb37bade75ab7e +CT = 1252f7cd23c00a351d4acdef16 +Tag = f71d97589273ba77f7a6908d + +Count = 8 +Key = f5aa4fc359416102a11e6abd4d951ade +IV = 190de82ecd545b2efb0450000374947c30ecc9dc0154b1d01ae3d53ea79c3a825ebaa570f65ef9dd3c788add906b4b4f1b02b326b2a3eb91d4ccede4c22d2c5ac35f0888c710be2483552398c510d23288be79eb99c98c77b1a1aa249ec6069ca4f21d45d3119630224c11f9d1dba35747654ac19c62c97811fd5572887be419 +PT = 64e957b84d46ae6eefc0823135 +AAD = f9cbe8a12b36190e05e77c06310057be9e76fcf14943de087bca3f427336f92fce1a73cc745663c26c7e17e82504938f +CT = 95d9eb0cd7892d4729e44c5b29 +Tag = 6591dd2787b241db2fae0087 + +Count = 9 +Key = c1a0ae48584bbb45cab7cc6719f71c66 +IV = ec961251cf37b998a0aa810a7b6140c0484631975acf8a563f27867f02bb401ef7a7f1b821d5d35101a1963682472982d099bcab609f21b736d9a1a5ae40ade56dc121314a0b8a91a2041b05e5196e711ffd84e21eb87939d5ca44ea14f1a3ddac01b95979a100a5ba7cc1369c60e46ff352c927f38956ea2891c245ac8aa35d +PT = 44ccb8c217a0ba4ae6377d0598 +AAD = d71561c0b9ef2a4f88de120b595f3597737fbb09b3b53a1948299227fe7ae0d8eb0a316e076bbebe7749d30ecac13acf +CT = d69f1ab211e8117befa423c8b0 +Tag = 7e07107134920e9008b2a1c1 + +Count = 10 +Key = 289698620979e0fbe7d97b2aa93654c6 +IV = 818830a0a302cbb45f5cd96083f1a0e59ad3818e15cfe08223f9c4f5b8adc164c0c98ba63465c414ba983af61c8cfcefffed2d8e04e1cf3deac555d435d26859fc26c56669307b3312ea542db80c40e99cc8ef7ed445f1deed9c518f41b170045b1eeac5631bef2c21d58fc8b293ef6f4fc10c4d9eca8dfc4a8063d5e7f81a33 +PT = 81d44fde0715e89a5a5fe4426e +AAD = 3e9976f72c6dca935853fed640aaa1584a9707097799b08c46525ba5e255240ec90e401d56a89b5646fed3e54284d090 +CT = d566767e9b15f164822bcc7ffd +Tag = 5fae62ce6115f4be03eb30d2 + +Count = 11 +Key = e2bc8037d64637c0191fc9340d816826 +IV = d7d11ebc76baf46aad3d16245db9bd188dc70370850c766be34096a2266a2e8b69228cf14b19d4f0a662b3a126caccb76a02ade7cc790482e7d7c7551390ca090f93115617ad77f9b1a38771b90b4f6aeac2d724dd88836aff14dce827724bb2657e1dddef72fcd4d2512c29ea2410862abf759b15132a973e99478cc345eb32 +PT = b6368b108a7017e56592159e7d +AAD = 5c442774cf5693d97ce4419f4ba0f8f83ed1985e64f7289e1dfa8a177f1e895bd7bd4ed177c16da536c7b0bb5f5148ee +CT = 2a2505ba02e6bcbf35e0fd8c6e +Tag = 1492a8ee78bb4c44d3be210b + +Count = 12 +Key = 0b9d2ea52c9e9b41f16f3260849ea1c2 +IV = a583319ddd41137e0ac4182da401bcb5525ccd5eeecd01eb9008a43f267593f51345b76e6c20b41a335df9ee74f88e25ccc8360e02abc2cac6dd73268039557e75b1d3c774c8736109cde211f5612eaed2f368787fde4ab9b76212d9e96e484b14371ae2bbffca3a18e3ac87e4ef30c2a87a55deae692ca7c8d0629324f29af2 +PT = b2fc872b1543835c6b8e4007cc +AAD = d28f8a19ee1a884fab110df84ddcae8a5c11417b00a8fac71c3652a459d9b5564894cfd72814a605e44bf53a638e352b +CT = a1c0f0c8efd10a07e88320f3c0 +Tag = c82186b306f3de293d77641a + +Count = 13 +Key = 06773cf2602ec314093f8e53e3ec115d +IV = 8b765fece77a5bbd30306eda9f3ee67c068ba7b42aa7dbe8860f19067e493aca33cb4fce16c5cdfa86f25cbd571fcfb7e0bcc344986ec3964c304f8b1e8b6255bb05d0df25cfdcf2ae443bedfa31ccfcb4bfa4e24657fb546a03adbdbbdefa1430ee83cd32b9439b1c7fd0bce23364c72dbad215084c3140d0dd77fbac77af5b +PT = 428e2abd8e39dee231128d5084 +AAD = 253ca4b51e480fa09628f19f2de9860c8d21b0fe5d0dd789e0f4a8e5a3d6a9aa33601dabd530e6d7d2351d51102f9d26 +CT = d46cd9637d7e21df5691e32686 +Tag = 67a229df0e617ac10a984553 + +Count = 14 +Key = 8885e478e316f3f432a502bb0db3f4c9 +IV = 38396432c52a03c612ebbec59026c83b028aa236d2f2baf808595e4cddb981b41ef4130d608a39c2d2c0a9c3eeb4ebfe96bec3fb807143d316d7d428e3d4fce77b9f220d4bff08a66e4f9ae909b1cb102d18f3189f4871b9a02fc382fff9b477bb4866b2213082dd4e995c5a42ce8f64dd490f5356da253713a4a097475d07d9 +PT = 18e0f741594fffd6074d1a3c82 +AAD = a5ed039f13cc4d47eca63617b58b31acec36dc7a9058a2ecf9b2833597afb583e15fbfe8fc9641c4039bb78490ff1687 +CT = 17b899c31e7b7ea9fcf06141be +Tag = 7ebd296b5186985b658e4a5d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = e9fa31fba33df2fc75bc24e53d40b63e +IV = fdf066c18068132047d69c07460a2ad962d64ee2ae81542a2e8230599ad561cb3ec28fc029f3ac809ceeb9a2aea7cfe3a27ddf904b0dbff2590a2a5fa7572ef7911943a6c0c553a9e7f74f823ed49ea5f821e01a6ea091045cb3fc318c850709b7f8a27e0f34e8d603b65822007db0a37db88571d30b2880edbedaa15c7de815 +PT = 0e2513da47e71979282a760965 +AAD = 9d667651740d76e9aed5be3fe7e3e839ba748280311429a75b0ab799138de707549df786c7229102c98e4557a5f0ad8e +CT = c451fe59f41137c3a7265d3d67 +Tag = 08e3910568db4db7 + +Count = 1 +Key = a84e893c05a4029f44faf581d46d1e3a +IV = 63cad2d8b988add7400a1870f240a327c1e3be8a0604e387b6d134f621dda24657502b81ff5e4e12095cd1c9436dd8f4283889c764210a592c6ee1604f363f2026e0e7b20126ad1dfce796257eedce94475e3d470a20b312c5178276a67b07e7044be9340f9d7191d548f93ddc97e2b3be6876523dafc6e2c3fef2ba98eaae35 +PT = 3c84656535ecd990ed3e19494d +AAD = c0748a53065a5136ac510f3d40aad9476c6711141f2ce8dfd1fcb8147350d79737eb18586ab3c132be9819ceff2806ae +CT = dd1b14f27a196d88b899b38db0 +Tag = 9eab25566e2f3d2e + +Count = 2 +Key = f956165a88373559b3aa1dc65c6e24c9 +IV = 47986697d7f1107a25f6e5cad97d214e8b26c7abfcfbf22a1acf29470df48c900a94432761562a23b12e3b0df0555c26a5d64d65752f10b4f17207e6de79e98be517eaac0ffb457624840e2e16e01c7d52df2f628711491a683f2ff15504edd2cb726e275f69e33c5f2820194cd330eb3268d8217d7f106846422f7d459d2c69 +PT = 20b35f3d08217db2999d18cef3 +AAD = 8570f080db3ba94659280a3e1019c76c83f185d77115a61d5849144abb790c1d902f21a36256d28d1e6ce55db5115e0c +CT = 40723f7367f29ece8d1d03abfd +Tag = eecb1efc253be799 + +Count = 3 +Key = 2a0247446aa43dad8c5bae5cee0e5695 +IV = f464f7c45fce8a9a44834dfdbe961c500eb12f11579c49a02ddc341c39d411a9ee2ff3f48875ecff4f929af1527eda4dbfc4aa56bf5b51d934aac0821be435fb84a03465e48f8fad053553a122b1032b75636103a5128128f090d85dce0ff04f8a406cfb703715516e0b6aaac43e7f127f61cf8e8bfa26a376639f63a841736c +PT = a044b9013c8d50dffa6b368424 +AAD = 05a1eee65c833e7cbda7135c0b9a9aec6cfa1acc3e16ed1a1aa8c2ffa21299b323a351f18a3638ce098af1d653b5dfff +CT = bbd29b76238165e96aa4630d22 +Tag = 5b8881eef6309c35 + +Count = 4 +Key = 4d6248110bc48d832773fd8f2991d0b9 +IV = 85f0944fa4e373a967f4bcc2524c041c8d20b145e9c5ce67fab14e0edbfe31f4ed0c8f04d3a45825f2f6403233cfe4a7622d45869107d5b5ba963c6f0d8e9de26f60ada836ee0f77c45e2e2eb8150566772d9117a47c9d0b2dfa6cfa8524e3113634dc37801717c9d2850f2cb28496b7abfd5a74236e4a206423cd4de7dee868 +PT = ce2f34a7b1b0c1fd4a2f3b7373 +AAD = b1b215170bb38e6ab4db12f2741a76ebf9de7cb5473d97820caf7062404d820ffcb32f065f3bc2cd54292568b835ae20 +CT = b94a1fbc00fbc38f934f95244b +Tag = bbbcfd0748328b13 + +Count = 5 +Key = 865fe7d7187299fc00fe1b3b4aa4ba4b +IV = 95162cc581e69dd61c67d1f6137444f98e79ad78303e736312c57147feec3b39314ad3199286546d74ac4672b7f07280bb2ea3bdd644d55bc2aab13babe2657394029d63648f91be7b8afa3b474cf8cbc85f8e716d1a54442f60006ef39ab3051ac6acf78881b4e01e19335bcad1f1c79e32992f32e86aa0fcfe9e00839d1422 +PT = f36ff1f59ef15aafb06601cf9a +AAD = 2cd8f9f5d6c933c200e9ce2d4af526f4bcbe1e65bba553a3afe5c428a9d18fdc76e2754d0b341d97feb0c44c2f52d624 +CT = 3504111d359395ebfb405678bc +Tag = 9b51b5ff2cfefba6 + +Count = 6 +Key = 82cb343aeffedfcb78f2601b86de36f3 +IV = 4500331f703d21810c05a36c94e0b0c86b7938f32e9f23b42b087d9f84bbec890df2af9816804f8a80c49bd808c2ef45318f31ffd2c0daba264dd7588d9dc0c7ae4bfdda5a476c6cc36cebf0996e71368d18a9b2e02c78d9bd58a40b039e4c47f7c16c5341dda8ab14ecfc98f78b62264169197f5afbea1144bfa7c55f81fec8 +PT = c9a307c5c92b2772f0c14a766d +AAD = 28d3ba89fed63a675df945eb59bf69689a233e746e5758bff196a225007654e7d85e07c8b039ec3e05fdbd153354b104 +CT = 9f42aed2b998090a3c23937745 +Tag = da06812e48ba776d + +Count = 7 +Key = 60358232f6c4d06cdcdab251dd006078 +IV = 390de3ce4b52859262533765f9d5decefd52dc033bb9ddef572909f044c17fb1b947e09391ca4ee7134327bac36acb6e212035be3dc9ddb80ee97794656c49a06528c0abce561229457c63c91afaf63ac96b244bad4d606d15d522bcee423a332fce5d2b0763f94de465d79b02ac176a0b7aab027c91fbb2d9fa0ebfc710e0ff +PT = ac165cdd04855afd81918b0591 +AAD = a3ac8cc3fb5e39a0b1ac06d988ade5b384460f7643a126717df3fb4efa818b833349b81234171bb04dbf116239a74004 +CT = 5d169b1c66ffd35a1771bd4d9d +Tag = f20bb8db86bdc322 + +Count = 8 +Key = b6eebc9c99ddf0007c71076d63c6be2c +IV = 6ee0812fb59a38186fee90999b3212aec6b6372271595e6c791c313de3fb7895c2413a74b0e9083e3b336c7862f98a815c5d98deeb80635749098551a28ec2d2bb84dd5005ebdf572cde212250f80bae4cdd23565608bf249eecb17d7ea1001041ab98ab8c56dba705027daa55f8192de51ec2475ba4e2675fe17e864507c4fa +PT = fd611b93be04309d02c996add4 +AAD = cdf3f6ade8f49928b587f0f3ef242799d5f9910dc79cf3b2f15d0ab5b33b6a552badfb2dce63381d911c599fff69907a +CT = e133e82d56ad6c6eab1af0723d +Tag = 23819719c89c207f + +Count = 9 +Key = 543b92164259007c923d756b7f958cdc +IV = e318817da0c16def7522cf1e223aa4ac37204ce8ac1e08148ef4c8c9fd203c7b1abb9f90a7fb5bbd72bc5b83e64448d201c24e42ae75bcc6cc32e5fc5343972386f1911104fa2ef15313d69a894f594fe85942d6c8c866af7f00e918f01bd298d7d24ce90b4aad0fa4772f8da4c9164c0662921acec81e047696f5f6e72bc506 +PT = 65bfdb5b59e201a7853d6479af +AAD = edc218a62cb7174de6b937ba43292a18c800e866a5f2cb3d02fc65068a62712f8d087a8488b543bafaa46f6c219e97b0 +CT = 607b1a225dfed20dc15aea66cf +Tag = 2ab8ab358ad9164b + +Count = 10 +Key = 51dbe2f7258dd321d8d01959846ffe17 +IV = 79ae281056d3bbb1a0f8e56922cb5054c78665cbe7c3c58c51d0a655c9f226b0bd686ed63a1457de02bef45b3368df2b975735e235d65513fbb04649789ad56e5dfe79d104cdb4456cdf73171d86b39989f5a215b67d983035f78343046ecb8342af4bea68e6665afdcaa1ee4d5c667afe7029a4df1d797dd39b00c65ec7004d +PT = 0448101b0bd34932b5de233622 +AAD = 676116f40267718f53d51b915e2d2d8dc5e9d9054c1ce27e3b88ec86451e286d3709cca493c579e36ca356ea1430d3d1 +CT = 80b6464a2d72fd76edb106da42 +Tag = 2f6c9004e5a56780 + +Count = 11 +Key = a7a65fc105ce99476d3a516ae245eed5 +IV = 2ec6c215439645269c1213a6ca71d3c0c9bcf59ba8076d532c6032d117f2ae9593e539d2509c434d0d8462938d21ed073c2f4f7dbaab37d0edb1cf34dc3811616bc36b7426ce12ecb70a7e82937def22f2e01d9f86ad15281411c70b7dbf1f1cf7b11b7fd80b6ebf4f46c9cbe71cbe202a9e8f1a0d28d1d72866b68fec261861 +PT = 8d780b1646916e2d5fc4ba4cab +AAD = 5a159cb10dd6caba095306a92a6a3c557bb2da39e4284bcb1087e45c371de18ac020ff96f318d62359417579a8900e05 +CT = 6842ac0baab9bd560164beda95 +Tag = 83c47923816974f0 + +Count = 12 +Key = 26aeac9bce83e8356cf4ba1987811d97 +IV = 377b7b9f97e1048556dd616b8b4885b3ba010e39c37307bf8b640292b74579d845e5722b18d66b27b84d491e0f00aab756c25cd8ba472602af85099fddc545e889ba880f4ff220319d1ed850909ad4fe28c6cb6b6517b17da61faa93998e3f4d1a020185ffa7507dc5a7286cbc44cfacfa6b77fc3f1e00e8f10d581e994a845c +PT = 82927afacef7f46c565ca49c8f +AAD = 8451dac1754e1272df0240f10f6b52ed57aa89579920ef5bbb03fd79e98f76cc5b8d69e354cda18707f33e9fb3223d08 +CT = 8529bd4ff10743050ea4c381a0 +Tag = fa2d10e98a8b9fd1 + +Count = 13 +Key = 0c8f17d95105c46b12a6f6616727f64c +IV = 2562d0a0c1eef9b37100ce18273a61635a84cf489b03544b7047ba56c72a9e68a0091f6893de42117b0887c6b9a70a70c1a6c465c76278292a8a362e2de3d26cca3bbf33d1c69863e67e19e6fe14fb49194f62e47c05e654fbba1e301fb480bf1a1ff10d966579eb56f51704d54ab64ea776321ac0ccb8271cb69bc89bc9ebc7 +PT = e0dff0008f11532c651d0ff9d3 +AAD = 9ccb1c84dc26f3192005fcd7e16884e89509694e33d888450b435e60ddb1bf0138f1301f52b3eb8d21670230bd8366c5 +CT = 41297d59fa55af23d31642f2a9 +Tag = a05fff4ab8a5bca2 + +Count = 14 +Key = eaeea9aef44f37a0b3e4900ef6f5db66 +IV = 73a5cefb71f5600de353b7169cc5830685b2a0487bec11708f863d94ee21e09df94e5ae16dd9ea770a4f76c63a349d3786a8e7b678ad5d2651258be8e15a0fdaf9fab7a6b57e3eb8482933513de28d3bd1a47668ea2e160cd20de1914db45b90bd54d0a03d3e24cac377cede1f662309a55ae683f1cae8221e45ac27624c8923 +PT = f44565ceac851fc46a7041e74e +AAD = 2ac061a27550566ba3600de88981832e4a9c215aa396cab6fcc128fd1dc92d3dc99972a87c199af3c20072c93f0824ed +CT = 7b2387ee47ed71e614255b76ca +Tag = 86dfff304a1607b2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 019884a3f107cc630dd86a3262830a36 +IV = a4eca6d9af040300272bc4077e4fe31a4375b4c6e657a8a81f9240f88a2a3038cfcda82baec8ffb631aecd963c5f71e8e97e091b68da546d9da5751c355506d1d2e025c1e315f1e7f497a51d8d29afe390d85345159ea624f0ba2a2364754b311f7252b50e0102ef8d297b51350dc2c253add9c606ff64f235593ffa420635b0 +PT = 9cad6a816d8e507b1704e8a9be +AAD = fdbe2fa1dd27e637b2548579dd4fc7f7b7d0ddd2dd1761b39094043bee048bf2f3111ed3086629d43ba718d1c457aba5 +CT = c0f8bc73df906ee788c7a0669d +Tag = c37903e3 + +Count = 1 +Key = 7754f58648b195671ce84c449b87950e +IV = cb96b090479928342ad3ea4e9652c33623f4225941fa7535902fc7bd2792fd8335d88fe3e8da528e92492474d2313767720e26054549f2e394daf40632bb2cdbb3af3c2e942e6c35f6044d404acc4b238d8484834b131fc57848b684e2523dcdac068e8153a2b98867fdad0d3cb335a5a02249ead72dd986c45849667f50b926 +PT = 4455683941bcf4587d03637dca +AAD = 418bb4f7ad878763c1903cfbc05a93ccb44ece11a6b7ef3c7e9c58788c1bd6e8c291b985f924074d1a07dcb931f5b3b0 +CT = d4bc41c9b55aa4899fcfc6d392 +Tag = 7483f69c + +Count = 2 +Key = 3295b5ed8cd63ad502f78868715ea28f +IV = f48a25adf8028fd7b66ff6abaceb076fed0895053f26a376cd11ea2594c1162d34e434c000820bc2bd0698c99e3116f9537a1cebc81fc045aaa0fdfc973c41ae3f3358a6ed9b58f14ae35b2481ce932526ed95a1e754d49ece8ff423348711a92823abdd9e18ffa9a3c16cc84ec3f5c9f4c8c830d5c40b5d6babc0a6572a6f1c +PT = 0180fa241a419fcc8025cc322c +AAD = 6e80491afd9ac75d17cefbeaae9826758e68012219e8fb131daaaf7f8ae4783dcfdb2c876e37dc5e66a3f92e78cbf86e +CT = 912e7cf4c6be99307da6b76748 +Tag = e5b5c6f3 + +Count = 3 +Key = a79944db2ce490e88ffc924fedb5d065 +IV = d8be63ef0a47d71303dec6c1aec262cf26b1a1629b3583282c87e810964a70c375a1a5a29baf50a92e045abb2160ffd406a465e8f1e2e5947b645bbf78cbcd247495c497759deba11dc782291b0fbeeb11629005518f5e732258cc0f3fe19e28e61d4229e5ab8846ac87d5c20e16b187859c1cd9f8e9017dd632021c5e3323ad +PT = 75389e0423e700ccc0f6f263c8 +AAD = a6c30eb39d89602524c7fe36a02dfaf3804826b68b7ce8de89d35b826d3345f152d8ced0303fb21c30cd03e324558b50 +CT = 070f87ae15440da17c3760bfe0 +Tag = 78d2e72a + +Count = 4 +Key = 84be6f7b95ab6ef40f7517c94fefc30c +IV = 93f9fbf8ae5d555a458c54dcc7ecec491d983f749747c92354f23f46dac7f2c17b745a94ceccf105bc3451d9b4cc658b07fdb4467eb8e3ab5cd7fece707c4703e4396fa0b85f776144630cf61410ac80da1efaac1afc32515a6d0de895293829585ffbf336c97d2684e651cfda27446dfa506bf1d43a801e795eb1370589c17e +PT = af5c638c5c2842270aac5de3cb +AAD = 90bb1566cf3ffd6b5c3fe936aa1cb1f3feb2ae29eb06816d7237a1e2ccbab3edeb248e5a492f7253c115c399fea2cc2f +CT = a5deea38456f1997ea950ba6f9 +Tag = 16be8a79 + +Count = 5 +Key = d4ef748b3c5881f4fdd3f09e91de9112 +IV = 2a626da8c62d479c39bb32b2685991152a4aaeda5129508bbc28b26202b8337f31818ee131b812a9d65026e9a01b0a2763bbb4c1a6644d3f0fce4ee83646ba85ca9ded6fa7d7c969666c8653f43e8bb8a903aa36402a07e9b33cd19dec9f9be29935455da312e4ba7fb54aad8bc3fffb8a5d4d5be1237d36020e04977d5844b5 +PT = 10a91ccd239433ddc7853bc826 +AAD = e614314a77d830c9b5a027ef8ef99ce0d26e91c54a5da4ec6c9bd83574d92935fb47937e29309d5e847ae469dbb736f7 +CT = cd0964ff4bc09e432652e3a9be +Tag = 71dd15f5 + +Count = 6 +Key = 82d4e44290aac072a734b3d7ed3be67b +IV = 3cb86db6433e07d5d7194fe1e91cd81c02d986eddf8cd47802b778071e13396f77fb019de17dea11a424945184ed3486c4ac1c0269d05f9bf7c50eac8fd8c6a9199c39bfc45e3de109a67de164412c7687c690ab57083b34179c947a70e97db7c8b3daf21113b4bd97cfe8d44a317e09da0121b8a4a6b3c0388463621e16780f +PT = 630d1699282cc915c9d2b734e3 +AAD = b84de196ea0b94b09fe633bc2f0445072ff47918a13efcde51e5e563e05d8ef24fd20b2efc58255b36c20aaf1000c2c5 +CT = 1c492ed60ddd90a907fae9c5bb +Tag = 9975c189 + +Count = 7 +Key = d923cb44d90d6dedb74a46ba9ca9203e +IV = 74cc1b303c022333078f285c37f1ad97a3f190993635b07722a2b91667d13df87ca5c04995ae5edeaab22255c01e640ea58f9d6f8588cb27bbfa2b232f086e81d985e8bcd4787a742177add85812601ce20da98c673145220fad4a2ca1dff536a040bebcdc6895dec688e5832965b9a880217767ba8903a1743839fbe327ff08 +PT = b590fb4767801c8463dc53a007 +AAD = cd7228d622d38f6c2056defc80798516afecfa3607f5f11e4758b94171f011a6c180c729d04c63e1534ce3389e09657f +CT = f107051d127667b17f264c9617 +Tag = 563887ea + +Count = 8 +Key = 0b76b5cd361554bedfac48afa67df54b +IV = 634773f7187191890f85c9b42685c0e171a511e9f0333168a2af68b475d28300f86fb60c9498d463ffadee29f840f663adddf12e93ee18346bdd8bac5a9210132d43a8eddfddfae388b73b5b421cd1cebc4214cb5fe28e95217ba205f46d12173459210e7997e83cbc79f5cedddf955afc2751f1312d12bbfba0f2569ef12b09 +PT = 4e17ac94439b5eafd03a6217d3 +AAD = ef279dac0c730a15cc52e72925d2eded47550eb69a25fb70eba051efb878c58862e52b92065282c608a3a16777a24dbf +CT = 8895b0533f4ade501ade1af826 +Tag = 95793ab2 + +Count = 9 +Key = 45cba15d2b83e8f501725f5402a8e6dd +IV = 21a676a179737ee346492f9451828d7fde266c112df877fa4b645f5f9e740988a5de8981ce96bb96f2ccbef186c48250c94a272d01e49f3d3a3d86c39a169bc31f41370c58ff030cccc4860deb4f420b94b776ba4905732eaaac4a3295c28508d6f9976296d903908304b885ec15b268c38fa538419755fcafd5ad26fda2ec17 +PT = 555586acbf5cb2861e806d13b8 +AAD = 82f0f9208a2b34103d4e677b65d0f49be179768f25a330a81b63b948eb2ccd651374d46cb900ceeb14864fa21c4d4ef4 +CT = b4b7fd3c32dbd3b5ca64624074 +Tag = 45b0695d + +Count = 10 +Key = f8916d18d5977ef2286c03048b807f2c +IV = 02aee00b0a6bd502544be0b70d3548de662f7f23fc9913009ea13d6d8a40d968e6c905d7a1d4e297b053a72f85d24b09d913981be97ab7290864675b10275361289244a55f9c8378c3cea6ba03504acb5f2a9a7591f30c1b1a2fdedfe39dc1d4e3062fa773b1ada17e497e5eeda800e3b43c1361a65a2b8c49f494761fcb40e2 +PT = 8f691704740444513e1f35508e +AAD = 33a38a7cff820823fd8250b3b1be867ffc295c36b4b1ff9788f4f51c6935c1e48d3cf5eeeca4b83a52635c34a9e29289 +CT = 169af0e0f06e08d6901aa7b101 +Tag = e453e7de + +Count = 11 +Key = 027efcc0605d0543097960d4d158b812 +IV = f6d79a34fe3e7a4638bc9dc231376cc098ac4e443eea88cb7a9475ff96d896301e17996cb98d469323abed252b5ec68b7dfbd916c0a95e72d3e4c671195a99974f539e0cc2811d457b4057a4911df5819e9b4eae67454fb28650826e1811002aad0a813ece848a22bca98efa09d61a639a1680416158e678ab0357189dbd85e9 +PT = a9e5fb438f243ab4653cc055b4 +AAD = 086f36847b964bb0862caa8e136afdcb8fc5e129c13ed2fc1b92e57d76ba3c45450af7c6445233017658593a7e1bf5b0 +CT = d1ffb7d47da1f6ce9076f18970 +Tag = 1a9f9cd1 + +Count = 12 +Key = 5eb4cb1f40aeb60b08b8773447c71879 +IV = f055d00e7353da4993b1a5509b5d076aa419da8f8968e2c6295f9386430a3c2a02c0071f98a16a7e13679ed6770da4c5e076d489fee6e2b43d9ab81e61dcf2dc1e8995494af57d4c4d2a8ed241c771cecf4570b4b1ac0189b0eaac2d56647f5b237be42d565e4dbe26fcddb349d22b0898c533f825a7452b443a096d3149fe4e +PT = 66f5849fbbfc8b0bc4bd8f6a94 +AAD = e3d57a34f816fac40acdd4ac0bf9b91621bc48a2c567d282d9deecf52a50ad4c6bc1333b78d883004bed462ed35e5f96 +CT = 9db171d31b0f2e2d16ca1ee80e +Tag = c715b7f6 + +Count = 13 +Key = af633b5cd83e788cc87a1dd7ddfd9ec7 +IV = 833d026f30e5bf867d4f50a24a728c3fb63076c12622e67fcea6d775658328ba81845c56df83a57d953d310d40aa73b2f3fe07aa591b3a765236d462d61757150cf44ade61540a5dc793b2dc774e1a7d3b3fe28199c3dc318530ca35cec11f2921f489fa3e1e80fcc953ca9b9ad256386882846ad2cf08a75dadc80060e04bf0 +PT = 39087895c0549a8e682b0e8d7a +AAD = d287c8fc43ea7a75bcba3ee696d5b303ef855573b1f6d54a7e708b28b17d548eef01d45497fe95b25f3475ed04dd914c +CT = 2473051966bd666c0ab1e302d9 +Tag = 43b632b9 + +Count = 14 +Key = e7db939e9ef5785ba97fb98ceac2a771 +IV = 556b007e17e0a9f004d1ee3d58426229975965b0bacface690ea9a22a35e4cdd2e51f9412d2fbac4b2ce9cb9f6a0db874230e12ae0e8377b52114572ec99222fc97cdfe640e1a527b5d59990601c5ec0736881eda7fc7f42d81e428f033101c60263ec1a2b323dd7a25b528a3f8b57cd5e0c30a7876ca2157548031558b49678 +PT = 88340566125130dcb419108e5e +AAD = a17bf1a9e8dca5f6ebeec57ea0793cef0f07ed7c0545d76f9e9020b27b6dcf14fd9f0321ba9247b25d722e4f9d2586b8 +CT = cd13bb276aa5d942e6ca4e5062 +Tag = be97683c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 059b008bdc461943e486bd1800dd6eaf +IV = ddde5e8bd48974bba74290fd8be30be0d7071d37f344fb9dbe7542dbcf1d44eec6a0c25674bff71e8307bf10a3b54f4acaf4e90d6e8a227506db53c6af77a4d9821bd55ca048c837a746fdfabfba1962bb95cb4f2b9e652e6ab06efc583cf9427ce61109e54c1bb2ea461837915cad3bee909e9cf2625c3d593feea8acf6be72 +PT = 4f9c13d39131a6c50092afe30b +AAD = 191cb9c9509272ba0cc3613a9ee60b907ecbacc23c9a461e2aa1b460912930fcce6df11b658bd512b1586041f4f6fe0c9bed6270b4ecb510b72783678b7e81fadc006d442c6dfcb867b5c7281323e65e06b581d7027a1bc57b99 +CT = 5b2e0e36b812c9a8149d47bade +Tag = 5834c34d07d7da7cb24e6f55e209de1d + +Count = 1 +Key = 3d5d729b45483d6a510dc8138f790161 +IV = 523212330f91b637686f6937b67bdb23d7f4c8af61c99d2a8a71398cf4c8049ae8883d73bb8c5041f9625e9e2c816285f2659621a1c695c2f1ec14ea2836ea657c7f96374513290a03dbb3e95683a7b1c9f30c3d175034a52a670a073909f923691627a7b449e89de51160d451ad4878e941d47a40f43378691ecf6ab98363cc +PT = fa2ad1895f2a29d0abfcc41349 +AAD = 2e839c5e7be918d50c13b0714821cb00126723e19ab121aef592951c4de6136c10d20fd2336229a673b338e88b1fdd2dccfb92d1ba806137ad2202e4fb04a874524b71b95aa8dd7378bd92926b71186ce3c9f06903cb30a422c0 +CT = 94d4865440660400fad2e42658 +Tag = 424e2f311abe4f0745823509c1f245aa + +Count = 2 +Key = 427a1bf710047fa87fe0b1f5a013b223 +IV = abd4f8a80cf9aa2808b4a3147d01b6594e690b9499525f87e22f7a736fe4bf2c54eae40cc34dcd4a80b7ee6226b8d5d2b8bb985ca6dcb25e925590edacf755992e8311cab79c7351cd800fd8548b3c38675b7103e4829e7b2f5f0046cceb9ad929814390f8f901faaca2c7d52eae289a1601d919e6154cdd7c5c8640f010b296 +PT = df549a00d7bbaf08d0e75c4da6 +AAD = 8e07ac5b48a714fe40d97bbca6deb9f0b526655c47761d6ecacfb28ff5de3477195808ca42ce4b7b4119f5bf8e02f4e3db22045e618d88ddf5b6705e824e2a6f434c64d9e1e50462a00c6b5cc998eec4e38e0610ac2513e6f23e +CT = 8751376d2595435ae4c793f77c +Tag = 8edde685f2330b290d9df8694d9c8735 + +Count = 3 +Key = 954e2c5a075dd4b076bb3180621b9275 +IV = 6214fe34a4fcfdf766d2255e6ffb2e97951910ac6cdda98b840b6254018f0ad771be99be6522ba6b173f297c712cb302daa9457ba072e9deb170f4423403e2d1358dad74c559c434b3eafa8304a920cb7abd0e215c3b8dd76a5a597806617faa2de999d6976f89baafe3c2507c57dd7ed120e80b1f253ec2dfa14a2611a92e7e +PT = 3480f6c9cd483b7c90dd75d0d1 +AAD = ba86ab19cd5d1fc70c11c0b9bd51c1ea3809a3961f3d5cfb2b270fd6f686feb7d185983a9ed89eee9c21eb6330456d174a4baab6d0754c5f3e4feeace978d06542896c4073f8fa50bdbd83560f9c306e0863c76af9209ef7e2d8 +CT = 859f571f474cde6ae370ad79ed +Tag = 108ba68c506e9a558a6418e0f232f6de + +Count = 4 +Key = a012cb554e019e3e1a7302c0dabc37b9 +IV = 96c3823e858c77e6692c171515178ebc1ce93073271cfd0f159339c5688e480c73489ad7b37992bfcec9a0dba92f6b11f4b96ba72f93aaa8095cb5f84f28bddb5cebc3896e58239e0c9599b3cc0e6ad072c41872eb8b783f3d8a3556b7fb800ddc102d6415200a631ca7a0cd87d28cf6680fe7e4b71ddbc97f8f7491b5786d3d +PT = fada25475d7bd61a382f5d1dad +AAD = 2eb23f721c3244057b6fd664ce274c8991bc67926ae702174102e2bcb8bc530d40fee371bea1b62ea67206189a899f8a188994c83903dc22644fc275a19ed2ffea74bb28eb6b4fd3488770be52a74eb7f2863877377c8e88ad57 +CT = 158bbc822a3c2e595b391287e6 +Tag = 67a46fb14d6966a5da9b82483c030349 + +Count = 5 +Key = 760107a87c071dac318a7ad5b6810a9d +IV = 61264546f8ae6585390f569b9d43d6ff693322a4b124d7cf5d26dd3103ef7b6cbe8473ba256cbbc1e3687d3d4afc5addc503bfd494620ecc605456f48ec03b7537ad0e974962e42e650b97a6d72a59e8ba3dff5d1e0df6d6414c23aa4a07f72a39b4c398891a849a08dbdb5576c562d8ca96e7cc7ad2ed1bccb73072ef367f8b +PT = 8729e8388ed0e832ae6dc83cca +AAD = 18774eda6be48ffaaf93cba4a1cb56a91cbc4e8b2450d91794457cadda7a46400af294d8649b0fc2de8bc2831ddf9109eeba5a17807ebc014719a55bc991e8f64b2eced019f62b80f6af412a25a7235755a994ca344a9e2b70b1 +CT = ed391026eb0fc1723c50f02364 +Tag = e8e50f67ac8b094f3bef1e415b8b1007 + +Count = 6 +Key = 19521bb12c0c656c451f9c044fd2bb28 +IV = 12f78ecc9ace2c0c5e947090f0d933a01bd6fd5c1428e511225c299cf20ad4aaddef60a6089b20733cb0f7dc39e24ac8c9d80f2b37e3126b5624fa51a67c0fd8080480d05929cd62b4e1a0aa36b0566c9aca8c16bbdaf4daf8cdadd4ba555182caf7a8a8e45fc11039ae228d89a68d7530568fa0a083e63a32d79edb08102516 +PT = 35ab9e16178c92ef92306fe90b +AAD = 79621f132c59f85a619e92763a0f30746c2795d1031cf161318247fa788e035b690fdd9fe36d2b8c6d62400ed9a10ac90f3b4a633fa965a1a05afe1c3e5a8b6a7280d88a891cac04e4c2f060dc9e802b2b2e3dbed7f28ddb9184 +CT = ea9ab25eeedcf86e9067512065 +Tag = 84da0263068ffca746b8d55a7f980e2a + +Count = 7 +Key = 091a1c16422058c9ea851461a6348461 +IV = b829f8e7f91afbee62c844d53b56989be8fc2453de2e7c1703623e8c9c47e43cd3aa40814b3e5ce832deecc3128f7de5af5241f11cd2de1d72bc92eef8cf36c2cb739e79adcdf313fb482cd70aafc2cfb8e4e1d8ea139d9b6d04de707564a1a10a91a3eee2a789b80a7c7811b8f568b14daf2b911bae05d39177b0a5bc33837b +PT = c930bf3440c7a5ab6e15db99ae +AAD = f9eb7c1c5706d581c503c48ea30ff82a10a0ba572cd6db1a36812348f6596c8612466cf58d576c72000a95b66e276fa5644061af244fbd82fb4e2e5218d850006cd8824f15d5ede84417df16d24003633a936a4cf9841dbe9416 +CT = e02f80c606487f310e5d477796 +Tag = 2d7604c0367312f63afa010e664680ac + +Count = 8 +Key = 32eaa82cba74c43f20c7560f30b0918a +IV = 18d5a29966aea4d1a755246fad1138d24d922019ec1d8e71127616d75b62e6cf11b07728e93e4fc7e327fdf2f5f2fa43b7bd9752116bd69f9158354683a1b988fc020defe621544609f5a473892f2f49c8824dfe05b50a82f40800957e7d32da9e4d250c1bc86055bd410d32d156f803345688968a076012fd0ab3f5e79afeb1 +PT = 8c449bc25efa51085309e103b0 +AAD = a58dfcf44b653019be97ce3f9a99daf126a77d33b46c9d113bbf9e7ba4a0cf1b318af2733d851abe0bb61961284b786bd5bb197d961c527141203c86c9a60c97c677494211e0522ea4d0498e6e4bc9c7c6b62a0d0f79ac27a7fd +CT = de3bf6ca151243960f15b2d49c +Tag = e595ccf285dae0faf0ae932cb2b9e76d + +Count = 9 +Key = d3c31521db8d6988b9db9b2bd77a4246 +IV = 23b8ccf01e21c5b1ef595ba2b5c0b412078703d393ba9569c540ac9066ebd3b112b28271b0490bd0d253bfe8e8c5152fdf5e4ebd1f8ba0bf7e7c02ec9ef2c1327a32427008927f516bb9e0137b488a02ea17d51be808a286ab7bd167dc1b8881e1b4fccd93c25e893719fbd193d59e5c197571f2c0b439f63f8e4306af69af23 +PT = b683d9d93a8f9c2f8ea0b09d26 +AAD = a1ec5a6f9e7a305aa7830907e6a873529ec1f5d6ab86cfaaf852f170cfe7ad92c90b6adfed65a773efbda540351b4014be71d0beec650a13c4d554c98c8cc0b0fa962fff87483a34ebcf495dfad8f4c3b8f5e8f94c082aa888c3 +CT = 022125128f900fe072faeefdd6 +Tag = d904d8ec75cfbe890e807bdff5ac90ae + +Count = 10 +Key = 0a54c24c9b587f06b20b2d309102e37f +IV = c0d59ad2028e26a60400cfe844421f737df82347b64fa510ad0818f3a48592fb7552d4e1b591456f76b1ad1690a05daaebc489c1a91483adfef6015e086c09a88c0dfcd2aa353a958c3b1be341468cf58e08b6ecd25ca17e30336595c1fbf67489ceefaa21ff50a42d56314ddc70c92ecc61a74332ee2b638e45492be4c063b5 +PT = 50552c777cc1a033ffab26d976 +AAD = df740772ebb7d755f34137a3c4474413b0c2cad0abba74890b8a751f05394ba2a02248ea1fdcce77568c21d32d313d3754a0ae0e761c597101501f0146e208010999bff891f9a3bd0b081112344de7da4d2dc8502fb85a9bf4ba +CT = 4d1b0d9bca6ccaaf219b69ca98 +Tag = 051f6056d0679a75d30442c81f3f9979 + +Count = 11 +Key = bd78c9bc1c52fb333376b057d4178170 +IV = d30ca22d3e41a9d462b8212149338a9912ee25e8f8449b677093d84f54275fc2aeb4d4388f08b43228530d3bb051358eedf28859e654b78c5f3c5b3dc1e80bcded9b1094454a05a05acbf7c57cf60d22a907814cbdd4cc042b6f3f39efbcba00bf7780357fb252c8f1e56d0bb9ae3202232e6d14eed9b66de7d338545d36bc00 +PT = 496673d9f63eb9973d65f56f4e +AAD = 2684c2dcf16cac055c574e113bc127c19d28267f5abc7accf0c30cee11a7204d8b7d50b11632401dac5e44e08eadfb74864a05aad03c9693af2a7fc94ff2ae8f7904bfdd5dd5e691c7358627ce677d03dfa66c1a36febcfeaf4b +CT = ae124546dba040db72d11f0228 +Tag = bd2f1c280c480b639c54e42107e9d7f6 + +Count = 12 +Key = 76b9e99165da487c7c066a3e624bf9a9 +IV = caa4403c4823a1d8b3f91a08a16f3ed0ecf7d92b34a055e657021fb82c2c50982abe18161fca999d3c81ef26203bc1eccd068ce9360a77463ceb16373fba8cfd08d2d646f5489357b9ff4e006f8838705d14ea94475d5bb1a15529deeeaad864ae0f861278daf5b788dce7fd33bc5056e30d452092b07254f44c52c816adf763 +PT = 233bdae30d088887bdd24734e2 +AAD = 12ab87c5158cd5e6919b220f0badad6a1d32279cd4076a9cf528a5129a430d85d78699878cf3a60a835eed7420ef5a93f0ad3a6fb27238d0071f266b6e28cc673d13c18047580c20b5834822d81d110e414e04bb80d64dc102c5 +CT = 4683591d914250766598a107ae +Tag = eaec34b898a9f5e4afd4b2c6f38c9084 + +Count = 13 +Key = 0366efec3e99b68e1a006a3fdffad3cb +IV = 64976328c4c3c0757e1517882dcb5a3495f6e13712f4553d35edc63c94da62b8be6047f75cf9bb8393a2d30150273a0ab4709a4ac608d5c9a7cf787c307bd5817fda1f26244c57ff7370c5cd9f83d55443b1da2d071819ba23f1ed2aa4b442ad26ef7269a0f4bdc93c2f40d3bc458aefad05273259fcfdd8f80cc5c3ecc2e4ba +PT = a8253806355666271a25b2c1f1 +AAD = d3bf2388407eec34e18ac90f29b7a77468567cf65c062eb1168469b7f50c1f897945e912a2bea6c61276f30e73ad6c5aede63a1bbe14d9573ce3e92283ef4695e4e2e8fb27e4b51f4d75a304e910c2b68ea7e35e96dcc5bff6b5 +CT = 8e6637fde3771304a697313241 +Tag = 9bdfd03cfb679a9cf8cabfc96b751392 + +Count = 14 +Key = 261540a0e73e6f00da9d92d9fc624ab0 +IV = c4705f3fbc060f5619ec9a679b6ebce55d078164e5a19871f6d255de79da7952917ac6ca30412bdf1bd28ee7ec80cb846b93b73ba7cf5d31e30b37e4fbe4b5b63ad010f933fa34c1460543330e4ed30096baa7dd4c99eeaed7899413baf6df0b945b06809529b1c9c7798cc8180f4393639379bd0b01da16d42f92987794f1b7 +PT = d2abb2041f5f1996b591343649 +AAD = 6592eed061b3d337f67e01a86f5ee386258198a37021410a5c5638c5931de692daadb9e830302079597fdc4d056532aac65f90dd2a308fff0cae1aa27f79bf0230d97b4f07751c8e94786573a2b6f8a896635cc09f082919777c +CT = 693f2a22199640946d9dcf8f24 +Tag = cd7f1d02fa74b823945f9fe4a1feb92e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = f006f4956684f328f893a59fae41998a +IV = ab50a8b652b4fd4b792244b98ab1641810dea5a52797b4a63c52f41b9351c6ba6ba2d4fb9d70f774ce00d162cdd8b1c8a142c234fde075d609ed8b5b79de5ce7c9c4cf4c6258f6ea1543b8ef3e72dc1789c5aeb7aaf3a2a5400bd6b1ecdf19aa4da528c171aa435824d985a0c76707a6be0c6402bf9122186a56a50fb7a3828e +PT = f4d0de42ce1268e0421134dde7 +AAD = c5962f9fdfdb9cce9a49fae4d6d328ad100acbadefc1774d83e24419a66f5856ac4f023ca84faa9ee73df6c73cbbf8e60622333e2238bdd235baf5bc9bc1d304f98b2f9a8176e03ac2d6c75f32e5e19ace32d9b3eb132ae9786c +CT = a9585fbd04deab91dc70563e2c +Tag = c77dbf78cecc6bbb1881950a3a6c3d + +Count = 1 +Key = 2355ec1e0c3316d8d189b1f87542f707 +IV = 03ce70c348611084b1afebbefee2ca188a1edf501f34859e139692d96bde942692cf12a41ec9f17e20fc0d2145d1985b83b0eac8bc8496bcba969e8e47072e0b73cb8f1722519d3630c35a72c77a4964de84cd8ff4ae63c6d8b659b87cddd7dd71f8919ba3178d44a50bee4011d306e5cb064a047976dde014ffaf436f1513fd +PT = bd2752f8d1adb95a22201175c0 +AAD = ab88b2d83097cc725b0dad3085b105882a128625d167ada331d6d5610f4d63d45fe9f1ead8ceda175c3c0eb258174868761f6d73fcfc8f133d37338c2bf2851f1c8a175bb9009a990a57d1bff6b4141a49b866d23e3618c5e9c9 +CT = 14733bf0fa07bad8449d2bde7d +Tag = 0da6f62d3d37f103aea3b2cb90e508 + +Count = 2 +Key = cbd44bba5d04f4870d773407b5e16cad +IV = 941a10fddf45efecd43fff2396e135a12968f62c0f3c02a501b90066239f3af71e4d4d3d46fab1416962cd1720058ab10e02d08676652cb6f7092851ede20c5bf44713aa06c7bfa295448e53bab6daacd3f757e85cffc557a64f5f47981e033408f774528cbfe0c76ec3b6f155c8653043ddb70e37b0c629688929c48690fc42 +PT = 0d77979d6254b0bd4744106f2f +AAD = 149cd088cd9cc4132188ed9b6ddd54224a2205bee33c16ec66f800c30d57a7d77ebc1247def3efee2775a16a6d451aceb0fdd6a4623ad12d177ff1601732f723a893928bfe1a61a42fe099f2d8d45a975d2286435661b2fd5ed6 +CT = 57d67b9eb56536589cf196b2ac +Tag = 21d8091aa85f4ee1a385d5a3d9e24c + +Count = 3 +Key = d2e44fd6c9b0931abe279713d999bc25 +IV = 2afa71a7c4870635a7dec0b0eb6ddb4e47c0ced1c9c04a86818fe374aaea929903931fe49e237c947a4b574d8b02c35bbedae1def051814399e37fc181cece75c4914255d8ac1e0afb4490441c4a33042522d4b4b2fe4fa7538d92c9875d00b2fd600ba6e416085e985e879f12d47f4126cc1ae66a8b58d83024e3251cbfefef +PT = 18d62f883d81d3464842137ca1 +AAD = e03ba9d132fb0cce886ff7ff5f85beae14ca849952cfb7bd89d2d959715ffcb0cdcd1c254a33d74e6cc0c46931cf30af98158d4fea753a699501298898093507180b90fad9ef2900f5679327df4232382253823c339279a1375e +CT = f1cd64b0af6ae5eb7116888515 +Tag = 127ca986aa2c0737c9239a26c721d4 + +Count = 4 +Key = 208f4fff9fc3e8d4e12775b69d02ebdb +IV = f610628c03e1b92a1edb2d219a883a893ce8fa1c2e97bfdcf5147c0c73e534af16177122518d4d74ca738a31d3b38f4679e3958f27ba2f79a5f12d22400b3dcd34a8c3a8d29a01a62add9284c557e89d6a8dcb76d09684002cf2bbbfda5cf0c17c2adfb5d40d255fc1786a4b1d35be986406c5d9c6d20aad080948ab5657e032 +PT = 4c7e4173dca63f672d7826c185 +AAD = 8bd07c3df0362d31787d95b8254f3acf98295c81bb09f61e032a6e9eeeb45664bfdb5a5c2b2047e8f20310655f20091c20b5282f3c8e26527f285d018f4912b8d57f81b981c545ab0a3945f07f2aadd7fadd0ce0dd9cb5b31a0a +CT = e2d38f5237e9dcd2d13e8a01fe +Tag = cbb9a0e020ef04bdb1785a9b00df5b + +Count = 5 +Key = 0af42e2de306bb5c5b97ae07dbc9acac +IV = ca15f0da014bb225af19bae91e7cd81c6bb25dc0b6fab02e5a68f87edd56ae1ff4e00ae0a0eb6d60e0165fedeffe6a47a8b64fa48ec714c54e05860186628cb2c8e08d2d822841ad87e5f1f719d150ad435027cd3fc0d508df7a630a431b66c4f46f4167e0d462b010e7c5431b1aae63d5a6158053bb5d2fb59bc72819d66bfc +PT = 0d4ea59eb74d0bd72ef4aeecff +AAD = 1662c902c29a72b3050de669ed8b40ab001902ef8cb61144e9800ff5463991216cc6da2686771edff596b827f4b1a0731d86f6af5436f17dda66a655c09eef9eded2d10b31aecde75c382899dd3182f96b16eb8f06d4f7880ba9 +CT = 70bccc668ee5af74220c2c6f78 +Tag = 2ad56f26671a37f840607e96012f81 + +Count = 6 +Key = acf8bd4daa3c917a4730a8ce0f9f40f9 +IV = 3821969ca700145831527cc573966c6813929d357d87b9058e57e0e538442b476256b697c055016889fe034a548a27c2bef7b9aeb5c998eb5f2529587f3af1e6af354121fbc36fcfab612f175bd7ac7933be5519029d6625c6e32547b27a1c44741331945a0787cf4fd24e6063eb6522a966eb00df70db3bf8362ede4357b11f +PT = 3845163410ac927f864c43eb28 +AAD = 2b4b649befe50c48d2b2f3043be45020a3b91d8bc6ba3cf4013b69e2e8fe6180f900def5d52b6b2a8c735b423ea7fab92640c23f97149993b9669f4f954352140491ad1ace4ed6a48c0b80d3663548a8769bf5f210a3baed3541 +CT = fb5ce916c1d6a26c92f23ca417 +Tag = 5fd1967cd9bbc29be2d13f14c5fcee + +Count = 7 +Key = 0f122791e8ac06420b5e8ee0760b1685 +IV = b1551045a50454d8fbb3e97c33302cfc5814edb3a0ac52aeeccb75d85a326e12d1288f5569bae2bb8b011168675fd359cbeec40829434666a36fa4e601678fb8742c76305e33a888533f68b82abbcea6ece3ab88337db7714beeb11473524e0289d559028d84e4a7583cb4d407ddfa4c70d4bdc14d66b6ff296450e4cdf94040 +PT = 3643645d4c331708892cfa1de4 +AAD = b85bd06cdb699d838a004f6c45aa7a09c87179043af9b237de84d4b9753da6e1006ddb70aa6fe05523b592bbaa0cb2d4f94c4ec38bc8cd385e35421f9aa24801f816e0a110ba8de0c4d58a1a18b42f6a7d7437207b22593ee02d +CT = df167eeb940c9eba602a1d1791 +Tag = b6474a5f59dd5e697434cf8b8f1e04 + +Count = 8 +Key = 2a69155e8a78c33e641378c744d18339 +IV = b55b09302b974b7285f780ecd41e7209b52116291fdea93de9cfdffe18922056e0b018371a6de6267575c9505283fbf537557966746ddee0571f3da8fb082e29b6945df3a20cce1879a3aeed044e48d9522614a7bb8dba1c029ccd65313239d52893753be4fa721a41245e2b0a7e72871a1b6dbd1caf34afa508303beba75574 +PT = c6f1457e71c006599f50799519 +AAD = 2117f453547ca9cdd6f9f3ad8b16e22142b8b78b406af1b0ff02f291c288ec3f0593db15868cd35eb7de54afd247a4fca79890c5d9dcaee3903eba315a390046c74ea8bc5aa3aee3c8f74c1fbddf6a1e0bc33bd4bbcf70259828 +CT = d661e232282950efdc120852f4 +Tag = cc7966de2af7d628478796b4367052 + +Count = 9 +Key = 85819e97d4063ef2cf37efb53d74cc13 +IV = a8be7cfb3caf7ad377a98ad06a6768409a3957a9e7176819221f5e661b9487bc5e13be3e395a391e720525db598a3f02ade9ca8cd9d30946a96ae06e32525b0a6d9798a2c83866a8c0c42b4338727c73ba655fe92f1b01954914d3f61730bbf2ba309604c23625880dd3c1ea7e9d69fc87daa7c003bca78fd5dcd65bbcf5f8bd +PT = fad20afb1c3844de1eff3928e6 +AAD = 369121de3de69c0c5891fa44962ebb77893de46d766f501c23063903778ecf916bfcd705e6c193cd7bb62432ef219e00e75e11f23451d7c4617ff4989f341ad284656962ae04aec4de24e12eb8a6d300b75f4ad9729519c9ba55 +CT = 22dd0e1c56faa2f09a7663e3c8 +Tag = 870832fd0447599c18f85b7716d80e + +Count = 10 +Key = 03a8f8116255263e992a6937450578be +IV = ea7b5324bf0a171fc5e29d9dc0f55a5d97d5eca9df6c51d305652970c3fa968a824a2855fb875231602077a1370a41907bad581553e8e64a8b64b0ee76ae488bcaef038838954be778e04074f378bd1215fb22be6114a69b86cb610d1bbefc3a5b4a904eed56f856ffd2aa3582704e787b3d28d5a89eab413310f958d786bcf3 +PT = f5f3051159f6bfcbe86bd5bdf7 +AAD = 3897751bf30e0e217a7d9abca3ade79c7bfdb4deb6fa209c934ad66cffbd7d1d37c8fdba447644b46257feb10e6e52d029deb070678d4c88af6edf652f8f89fae8ca827a2d123b294071a44e02ea196130682bd94ae0c9278759 +CT = 9674341cedc4a2322f131b2d0b +Tag = af527fbaa40e862dd2706c118a03bd + +Count = 11 +Key = 0d5b009a659b1fb8cf3fd25f0b44f7e3 +IV = 409ba34fae8d8285773a27c84aea65c070b18e973c9dccd3ddaaca9874861f9fc63a49a670296ce559fae2c6b491c51eae07da14b42747394ce80399df220b57050d4a374e016094f27f9c53cd3806fc618e7a3c269e4b7911feca7f57869911747147eac750db6af2c82694266685eaadd10d4d9792dd1fcccc7ee921640b0c +PT = 40f6cf202dca92966c30151a64 +AAD = 2331465e7431f485069e8332b9ce9523bfadefb22674c913c6068c6f456e9e8bec6528a13b506a2f45d7d585945326f59bfdec02f80e1620f132c01bb6eaa5af5890d09fdc68a406e8ed001c50097141d6da9d0dc6e312996aa2 +CT = fce9beba470725e6322d84123a +Tag = 7341d81a9fa84108f7024b2c65f90c + +Count = 12 +Key = 5b17235a35b3e31c4359be8b4090a6f6 +IV = cdd190f6f5b8ffb375c82f13945308c3e7f3b6f31eb7b5a0715bf9419332f61add489175ea5633718cd271daa48fed0d30f08a89280460be476eaf31b1739f407914a5c16fccde0fba7659fb6b02769b0524e24e2672627436019510b13bf0106341f3acc2f2acdaf0ed0d7e87da60ed289a77e2c62c6f54773059c920e3eaf7 +PT = 3877bb106609ad9d776e520bcd +AAD = bac900c5f3391fdf74ef1155e0b9f135293a56d41b24409fac32cb2a5811bc508c2b5b3316891e6a2edfffb5b4d534a4c56754e8c88e48199dcc337d58a14eb15ecf524d698ada0651b4544627e8ab5d1e2d890ffdf7c43abbe3 +CT = a86fc11025c2e5dea78cf1fe90 +Tag = 571e04223e761754b184ff8c8080dd + +Count = 13 +Key = 545702c8768f7f64319a1de267960de1 +IV = b56ca1e24093f44763805106e2f1b1906d0354c3bae720ea5617d044c624b2330c6d99dc018b760c2df2bfcfd0a28cd6be7b3218c748a0a280b8de5801e5d0eb0442e03339dbc900e859cd1cb32cc415411295f5e95b9d15da62c14db4f18b6715aa0f624f2327675d48967017e4a1536351a9aa7e404e11dab781f4c653133f +PT = f83321906f7a6247db652d9609 +AAD = 494a7777eea6cb25394383e5b1021546f4fa8e5a74407b63e408f721261094837dc50f9be1fe26946fdf9c20da8b2d596c29298f423a33ae703c0ab8973e1d0cc557dd230554f806e6785806f904ceb11142ec60d7258f5f689d +CT = 1c1b0bcef7bf89053e9b2b4cdc +Tag = 650f977677f2b10503991666d5c87a + +Count = 14 +Key = e70f910c3b61ff79b0720c5bf56c0c66 +IV = 1b5aaf1abea241bfaa2d8c09dff501ae3ac90359619d19b37eac46002a5af9bee6393d3bf9aaf8362b49c458fb1dacaf5a657c1afc6a2c5cf7ad88f44ac0ca37d3938ca599c0621997de583a6f972743380113c9748caed470f51dfaa33926814425e8ea4489dd5828cfb3ae7ca97254b114f2bce22217700eea9d7c79f9cedf +PT = 77322c3101c9f50c0265c0ba46 +AAD = f0e7b259d6fa69d4edffaeb3e68c1ae8719c14a487b8cddd29dfe734a5e092a73ce6b082d1892457a7c80ee1315e6643bd81b0d8988c0ec8b1ff8858909372010aff0609423616347fcae20953b97c51d9ddcf0e7c43009be6df +CT = d1d37712bebe3d019d7b6ec8e1 +Tag = aedb03a343f5d92f96173bf3912904 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = d92dbf9cf7425ea862fcd8fc608c1c42 +IV = 9b364b17786ab027bf6edbe28aca7f0056815f1e97f59c67d073ff351745fc8e496de599b9e1b04c04cf503be495511ec89df1318ad8702c1a458f755209dc480ca826dcfffef1367a5980580a59db2fbe1d073c3161e2298f5e7de4965bd376469736787acf016bb2e673ed2f9c79b9e99cafa9ac02df6f08d47a3d03bbd960 +PT = a44e5d949d1b208f125a943534 +AAD = a4cbb1e3e8faf791ede860e457b68306ecb2503367a3abb1b1e421a1f89661bb596a9101560dcabb786e2273085719c12c08860ec95296c55e1b448f9cd6eaea1838bc71f5712eb47d625a5b3ea14d949ad2c94f4e96d34bd1e6 +CT = 4d2f77be1b524f2ca727fd743f +Tag = 36bf1245289b74d80d19aa5115ff + +Count = 1 +Key = ae336e5f8a503546eee949a8e2d2681b +IV = 0a7965456a99bb0bdddc0e28d97c922049f1d5f1b17ac32aea87c5ecd2a688cd001f5635cae626eb0c82861729b00705fbb129a6bd42318210587b0fdfdf2f033c61273ee158d7e1f7ca41dc14f55ddbae29d69060a8f3015a0b89d20df576ab80bd1f3b7715df485c95910cd4b8d24fc57e544b30419d6e8f6f2b2ed2b0ea32 +PT = ed6f324093162b934cfde3bad9 +AAD = 6fe1b36f9c8aedd47f4d2fd47244f764344a45fbe6cecb859858f0fda3baf4030958843b1f6387e09a62aea78ffe408b8b3b18825ba8cf222e1e7cb0fb94b7f0d9c9e4de9e81240c7ef5bc2ef4adab210916279b095e58317fe4 +CT = 8c54d11d2262ba8672930dd58c +Tag = 08945ef7c025255676853a25b983 + +Count = 2 +Key = d911ae428ee80a58d81f15c7b8192894 +IV = ec9fad4abf11247157040bdde8dde324f97085ac2320d57ea7039853342f7841a67d07f5f5543feb7b4d257cb02188a91eb6e6fb0c311b28e2f6458d8b37b018b8d867f6350e3ddcd4e8f0217e9d8bf95fbd510056d93239b9f2f3f5c6f3437ef717c24b2547acc73bdc0a03629affe715ace974b1adfa70e59cdaafe46c8b39 +PT = 6a18d9431ecef183c4335fb64f +AAD = 9f6292b6d4c36694c1948b0afb7cb29c3d7d4c33e769e70e56f6aac954eaad9ab354300daeb22e40f58976857d4c2f13a850f6b685e7bb8a133a615915ca3f211eec70774c04a446f4f16d5c302156b6d1a63b2646b39c2f1b1b +CT = 984171d3aef79f0bd58da7ed7e +Tag = c7137f2ec0bd89570cfad759ba64 + +Count = 3 +Key = fc0ddbf595e64aef3241acf5129018e6 +IV = 9aa64eadb88281c402a3b24162a38950fab23f1f6308f162ea20a29a5ae5bcc4bd4ae51119f6fef16d1b1dcb4c5f135d394342a6194143f356f3ce6b506af29fccf8163870f1da690018f0c65f31c147e88880df38db19e1b33226f07fe29fb0aead8b5d893135533ee2dced139f2aa31485824cb4af4513459a297045d7d5b7 +PT = 57352748374b6f8feb29936ce0 +AAD = a1199efbc87e09fa7c4765ce8667248aa36a05b0831e848f80239696aad5e7fa69b4bf01739cde4d6ac09fb4878f3297928c27408c2d3e1a32bd62b7cf0ca550badb7cf70924113beeb36324f618fd143e26b04ae2ae82317151 +CT = 262cbdec23a6722b207ab0c6ba +Tag = 15d3557d4e0009161ba8a7ea87d0 + +Count = 4 +Key = a54ebd9647f86fde4eed10a2b2fbb383 +IV = d5a2ca669f9b3a745fa0d898b69929922dcaa80927f9b6dbe5335a395c52d6944701188d95ec6e49a383d8bc4a34212589742f8edfc3eef83516aabf6cc56fdea8e7543b6248d8fd3a22cd339d201aada0adacaf6fb825a83591880c496dfd18faeba55409b24fa40abe6cddf06d2a1894c53af3ea3e92d8f38e69f06beb2384 +PT = f0d51a740954ca9bb08a2ef198 +AAD = 68b4aa4da65db2f6f4f7a086108c12030dc6aade0b949328bc1b5692f68ae4d0edb57629bc23e20d102be0ab210dfc8860a0742030160896a0752b97dccfc2bcd98866b7308f55f4774445b8a59eaae30a000dab2d3c4272ef5e +CT = 4867669ec8c754659cad4f37d8 +Tag = 9ceaeba0c370de86e98b12ff4f3c + +Count = 5 +Key = 770e1b9fb65b7d08b489ffb058b8c15a +IV = 2f1eab6cc183948f36f61e0ca4a5c36f4e63534eb0fbce7cc3f8247b0d23bd706e5f086df73a253e0e18a8877bd4bcd31b76ed71f5d232173d76950c68254356556744e290a467ed8340ff54d15335f3347bb6d9a476c45cbf06297eaa656f898ace9eae3078d03e34bc97abd6a5340ddc66e2058c13becb2b63836b22878c81 +PT = 37faed38e16a66df6acee55331 +AAD = 4baf5cf3e29a641bd590fd24edc64c05f849f0009f0b0dcccd255a609a9fac740be4283faba10cd8ac2c341267b180e5bbd0b0a03637e2e043a39d8c0deecad157fa684936bf806b8fc08277ce3fff276ec9abfd77077dbce5e6 +CT = 7749c7a20b7e92e565178c6a0e +Tag = de861d58718f5ad81fead3d40e3d + +Count = 6 +Key = 820e0819fbffe026c93892c83ac7802d +IV = 025d545ed797fd00f85c1021f28c598796bbd750fb0a3b7c559ae46550d2f75dd786f39e6ff2ed5bef72a165bf7e1c1a0d4dc8806ca5bb1eb2f7787c526682c6546ef2859b528cfe92f72838e1c0642dce5c0d85fa432d6d146201096a45b45001dd67ae17193f90c88de38e9293fdca05e3c5cee7ee435aef621cfcc04035ab +PT = 7e5491fe8d337fd692d8295ed7 +AAD = a3ffd89bce9f459e10aad920377d62fb3c4570bbb24dfce957dd32fc07c4e3f0af82aa299d17d9cae7f205c2b07bd7ddbf5753aa84e7831930a3851649e83544881f51d4ae6a886200013e520671ed6e3c08d1eb9d99cc5f1a7a +CT = 297e29217ce74f7ad5fa60561d +Tag = 73fb8642a0bb48624ec3f36d1d54 + +Count = 7 +Key = 37b139f75a1d439feb605a3b91f2f191 +IV = 57cee8749d0bdddb77294b54daa6e9792b177ab530a18b627f13e883375581b398362b2b5611d35d92a0664190ec7549e0aed8ba34aa6fce16dc1e0da1272f28dd82ed7a0b00c98842574a928843892fc245f5d1c2626d8454bc4d9276a740b231ca9ca52aa307ee5041f474db46b035adb8f37c1bcd3d3174a3a3dae86c0f1a +PT = 54d707668452f17bb766cd013e +AAD = 1118f62343a912bde36920f8f98c1fad0fe4687a177c8be0a3d7dfb2310575df82e00fb5c34a4d65fe4a2cabdcc88227f21c3b0a3fb78c57bb9b31c9e4803bbbf6e2962437c1bd92d41807b00b9ca75ad5d12a7eb197a41144f5 +CT = 9ddbf952a7ee1b113ba789c4fd +Tag = ac832f4ecd674ffbb3e2e25fb66d + +Count = 8 +Key = 2b2ee49a762ea48c0ab0e8b668a59bce +IV = b76786c060b17fd573eedd36e8274c87da0763c37769d1f82c7ebc887c0c32147266c47e6724af1ca9b8588345545f661709366c26b7cc2d32f6a3438a857ee0277ec47e77d2c5a458b583116a7fd576b0ff7f3d5fdd15e8ad78f8e496639b6a8f6576fbc0a3fd84f6389b841a55a42b016b83057ef33e6defd93759f3282337 +PT = c74ebd3b74751823d5b5d38fe7 +AAD = dd70d73751b12412f3d9df374b0a45d12fadc715cde987b5bf45d5233d58b276346da1d5c4e9efe7377a7e003744581983aee24e732443378da543595dfc898a7ced83818d29049467a887396a347380171041d549519a550ced +CT = d7352c7f86f857f0c6c5bb48ef +Tag = 2bdaf4cc5a05f95808694bf90ac7 + +Count = 9 +Key = 015f5cd771c2574fcb875d59ab7c8eb0 +IV = 49cd1a9ff6fba99a63d0541469f67e1b929bcd7bdd57b50f9550e24a5162e40410d5b9ec99800a83b5fff0f0a67ee1b7f02fd0a3b866d3e8e80499eab2749318491d98dcd275e5e079804e31e10e16ba543655aea7db0addffce557f9b0b27cba61720ca67d2bfbca18bc6fae360281e070bd9c4f902ab688b7e549438ae6780 +PT = 8bd624eb0e7a6b545d2b8d4ad0 +AAD = 03a0714c6c3c654850acf921b736c2436d206d055899d9eb2a9476c10ceef1af0d971aa69021d247cc385ef918c17a165ee2e68c70e8b1c8c96748c64187e658ca726a7342ddbe3f4b227015acd5e9ab1dd18edbc901588c4ddd +CT = b3ce23c1dfb0bc4c77b103275d +Tag = 5003174765cf6d48a17c7c44165a + +Count = 10 +Key = 6a7de5dbbeedc8aba9247ff8cc237b20 +IV = 031ed61861da21668092d884b398000190725ad2fddde8f88564ec2e15cc15f189a8a41bba1e3f41888b6d2c309a3211f7c8054144916c37d10bec49e4c358737dc990032932c3cc4e715f574bec65b80d1565d0c8135a84bcff4423ed4403a3bfefcab513c083c357a86ff70291fad7507ebe81bab39de181e6db3537b061dd +PT = b796bb0fe537b774e0ee97abcb +AAD = 36aa1ad5b3bde4ad7f3c19644a45a89c06f0a70399799f4f2458d6756929675a3ed04f65203e5b4eb0aca15c9e6a06475cb772b70e40604cffe0e9208525b15ec548fcc48a71409351f605d1aa2df3ec3a2c82d39e6c861050e1 +CT = cd71b31981dc8b88cef3c9ce7f +Tag = 709b8d13d4a814effb93347aa035 + +Count = 11 +Key = af2a615fc87cc89bfd3f512cb2feb509 +IV = b2c4b541f9ee28df3fe9aabc0de99b6411ac75d6ef048f3d450b4a811d9af607273f3a6668050e3b864e1403e7694f058a946bf971a3d1263cc9a73a96920a0563ad1d37eb2643c65daf609b0fae5a6fc3beb412b222b4665e966a0527a367dfd476d8653a86e3a6811de657ddaf0ef1ee4fa44534dfa66df379dc300be00255 +PT = 0c3e3f9f86bc49886ae8eef341 +AAD = 66b66803cc2b341bbea558caab9041b0f3fef3ff17689909376f165b46a56e84d8f1e006da664106b0e359dfdb14e25d6976a055560ec54c4b26f8bdcc7e97f38b66bb4b9bf84e1c716cbb8218e4c11be0ad82828371b587c696 +CT = ca41f73203183324df583add1b +Tag = 96b8b2548972804ec49233662eb4 + +Count = 12 +Key = c9a6e3a0d3cb4ed0cf4394c9f0ce63df +IV = 0bffb86fb274681a42032456c28ab874a55a89a8afbce88210ba99ea0b00b4baff65d829c51e13cf86b3c39f85718e064311e5d4c97dfe1c7273e17903a236ba5b9e553d98efb6007955ce95fd66d1b760734d689898790bb1ba7f7236684972e6b559919b10676060b4c9621e5fa868eb6fdddba04c31b7f26eb25907400a03 +PT = e91a046eb50e41ad8214f88d79 +AAD = 5d3544edef309bf51cb69998f67043a060356f4252887984649c5a308ec0f6b88e0f86668f2ccca94cf0c4994d2f76a365747be31af6b07aa85d1ff4144201367b6d59ba3a8b167cdeec093e3cb437d996dfab16851d7b294743 +CT = 3189416bd551b70c03ffe32698 +Tag = 19e46462b890f070a7706760106b + +Count = 13 +Key = 712d5b295460345c116ff12abd4c9de4 +IV = 529ab7f3f9a128d9b35036fabb88959989bf676d505e24994750ce8dca0b1c8817b14fe5821a9aae31cbead06ff730625e2c225855fb957b4db6c36078edefc972f7f27b08da5b52e2c7b1770171db9e8690ef1521e9f0996a774ad99cc539edd4bd8fe535a057af5ace484c938870f42044a975e0d9b814fe6075342855d482 +PT = da22da3d2c23a6fdb7dbaaffef +AAD = f2b23d579d0f7baae72a3069c8579841c9517cc4aabde46554951bc62ee70ae6a51ee97d65ae7b294bc0b465b9de763beb7024b5b804f3e36d3014f5e6f2a1f726b8e9d5405d1db9514bf8aec478efb480e6ec33ebc14d60f316 +CT = 3dd644c4671a04cdfc2c7baaca +Tag = 40570137e6a602abdfa9bf95abed + +Count = 14 +Key = 10393027d56510f8d1c53dca5223c68f +IV = 31fdd17b9e922d846a3744447f044ed8dcdfa857601f1895ffd521972cde5ea3394abfe35cb8695c8897c045dead27a9e0e4f5c94238571c96e10c45090d1172a0ddbfd170fd033e567c96644f1fd485a617f4060e8e671801c16a782b0855182ed2d2bb749569de8ffbecec60e3376d81ba48669aaccc43ec2f8a3a6b9a7b8d +PT = 82d0f891a2b96435dc1cb26d54 +AAD = 08eaebe937bac0ad801966bc33850557215a9911204f89034989a6ff102ca5a084dae6809f031c1547f679284f7cefcc031e15b88807af934157d911bc3762f80c423870851def1a5e9e105d372affa8dcac078a7ca3f034b4aa +CT = 54f7485a1e6c617c9eb8ec88d9 +Tag = 18b75252cc554f52905113d95af6 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = c563312b8a69d08b8889879e38bfad14 +IV = 6f38384dfc5c9a32a9ee00e7b3c1766f02def6da3eee4defe0dfb0c1b55339da7c60ff798c148bf3bc598499e7f576fe549cedcad667abfab9459f9bceacc5d983f7adc05aed17eef8c186b442d21c5342df4583855d3da5e8cfc42c74b58f361e3d5a87c8b0cb73dfb5d542f91fd0072aa5a088ba5547da85b4e8d168da8bb1 +PT = efe43fbfc707b3293d15c059aa +AAD = 183d8549df69fa4ef42255779f8dbf79f77d521ff44ce437fc563eb73c8fca5eefd315cad7265a1ba5d3bfb924874fd0a21bca3b32aec882bf1522cf06e3fe5edfe689b5709afb0dd601d73b8b3fd1d2e56b7653c2185760a9f6 +CT = 7985cae29277033bcce750322c +Tag = d979b391aa7960c7e67715ee33 + +Count = 1 +Key = c6b79f8f7383690a11359945a8238641 +IV = af2390e979556beb7d874726037028e2916bf8318c06084e3ecce1f6814ff3baac05e94d87e0f47f841abef39890ed63182757ac873600b3267d93c1ea498d93d51bd6f9ebeaedf1e88df94dfc3af6b887c3049543e87403891909f9c7df337b297c65ed8a18fa4c34b2d942f630b42eba6d8a5f61fc3113ad817e97ae2dab37 +PT = 571f67c4e80199d0944fd5e6da +AAD = b5059fb6b63ca417cceb60925555372d609ca540db0e8c989458ce2355a5472719bf494f64f3365af67b0b2a3e8f05bbd3ebf8cf51da7434438c49fd620af6cc29f87f0c5b31b6351c017464ed814d21c15b2015035f88ac0bb5 +CT = f74df1abc90d158e20394ee178 +Tag = e6191425e1c50ff6223bec1f7d + +Count = 2 +Key = 41431f8c54673098ba9cc95163c99a87 +IV = 4cefe494afc3bc87498ab9e682f72e3a6da862a8934ebaccb5f19387e92a5786adc6de9415ee7a689aef3212dc1358c27461db8e9fcf5fb54ee92630c6ea8a92044c2a63c000c5d53e6e97319e9c62429c1c40c1b3e659f2f98896ea7239cabf8b606de7639c809901e4e3c3edf480ef975d59b0f360a728dda820b88a706fcf +PT = 03975a7ab5343a15a693782183 +AAD = 21b8f676b2429852d68539188b531b43da0bfb4a680024785fa1a8cee0ded868c09c988bb7242d0ef5a59ed42d91d62c5b82b222cbad57a8642056c395c865fade4e2ef372d4e71275c1d1726c499a78a0cfdfa3e33133ab15d6 +CT = 591750dfb291b834b4930f6081 +Tag = 0ac872e570e29af6fdb55ea66c + +Count = 3 +Key = 1d7829484f1c3e7c78fda365f5ffff9d +IV = f5b5cbeef13bf87d5e287ce74258c85781dcaea9f6dd5b9a13dbe0d9c06e43d665cca48e12af0a942e8c97630d0a3c690243b2d9b775ebf621c4b552a2878c495e77fe7c8074e2f615a01a809dca3675da037deacc2f476a9cfde0fdf86a41666fbf33259fadf2099790de2d06b4f195b6767193d329126bd243d7dcef85e478 +PT = 4d3b59930b7b582cec36e7636e +AAD = d9d5705db33e5a0cfe5380458e77cc00a28b7edf0db259d6d6b20c72520fdcce0c48ad8929d337755f3896536a1332d2d882067fcf544f746ab005fc2c49cf1d09d1b859055d53a958d0f2620e18eb4f87c9af191f7f70f261a1 +CT = 5a1800d927f3756ddce1735382 +Tag = 02c1cf5724442098ecd045b4ab + +Count = 4 +Key = 2d8d18ec0d03c087b68e75403fc20b2d +IV = 895dd0962e37dd950dbb11bc3520c60d31d2aa17517a16e479cccdb710d04d0c92b1d714b6e29057fd74eca5978df7221ff45947944c8fafb1cd2188bdb577ff497b46c2ba131f999a8f68f26e4d003dad234800c7d62ad34bd15039ae9de4a5ea0237d0d69ddf2e64a3a6c78b93ab344237b98464fbbaf6d9e1ee90e00cc9b2 +PT = 4aae14f59c6bc5476609ed511c +AAD = 79cdcf66d939454f869ba00e681a8e9de265f92375c4840d0bab89d009a0e9d7d50ca766a12c86b033ece3bb6cb39a1aa39edcfaf93d71ce1e0a09f4565bdde8dc75b91a03bb354065221e8bbf4c3862a58f02fcb79d5279fd43 +CT = 5d0b4f31c0fc830d98faa54a20 +Tag = 720c5b94d9e614ff661fb4be4a + +Count = 5 +Key = baaf0badf6d970bc5cdd0f6a8c08fe62 +IV = 38cc57a88f42b60796f68481e23bd46abdb74eb0f100a58b714040b04cfef0048e524b83fa6be05c7330b5e3f13b0a0e12baba878d8a175bca032bc2a350101482e481ff055d56dc34fa96e7b215dcb133b52dcffbd258e4d4c8903f7eb6b6bee6ff2990d374471bd2d2570164b972aa2f5daff8d09340e950116412b8416a9e +PT = 49fb902838e310d664aa3b561f +AAD = 6b038fe9e49d28eabfca0d523cb5dd2813f2bf34c1e60c2a66d0653209bd5ac118cb2606ce9df15d8238ccdb896639a4e4ef6f58f8d006c09ad2b4f7cd0dbccdcef14d77df55a85125704db7e636f95135b9529b6f428c6c4f8f +CT = b736b5105c08a36070c32891f2 +Tag = 9a5ad69de4ebe78a95301d14d3 + +Count = 6 +Key = 5b2232e15bcd4eb1cf9f885568001fdd +IV = f8e06fd1d0bb343dfa4f69cb3d34b0cdee8f4d7633e415f2eff10a7a73f2053001b41de0d761162b523f9059252d7ff3ae917fd92e9005a8805fd64876c7b72299ba18261a92b9b63645d6ead807ec94cd5a28d4f6bfa073f50c8ce161ec18cfc54fc61274ce67c9eae3c8eb639a4f713fb6c94c20432f4ad555f5493c940375 +PT = 88a6305ae426a2c5a153bfd907 +AAD = d44e42fa937a1be28f6ce8c4c6968dc7a79fea36bfead0584c0e6a5658a332ee3e0952c8891b49ca1d6f710b233b9cf5456aa7933ad67c8acdf277624277c050a9d3a98d662bfa25a8a2b19ad3d5d0632c84efd711974031c211 +CT = a8e48492500b788ec622eb2732 +Tag = c36e071c9f06861829f1848987 + +Count = 7 +Key = 4bea9a2e01f7bc6c2f5ad35209bbac27 +IV = e2ada78bec26578c48dc84b7bb1bf63580931531fd08071b1256f038d71be876cd41f1eacf81d0e0c15228758774bb1313727b9e8830d4b2ae7efe12874d8ecd579ca4a963c3ada86148c78ac0ae9224ca1ec8177ee57d5d7e3da0c65bb7cdb029200f582a0d1d6953319a97f1ca08abed1ac2b9a182763069226136ba4fae77 +PT = b82e107dddfc711494970aa046 +AAD = 8876d306628f7460e4f25ff5a4deb9e610b35689f62e9f8a5b200ae9a4de0eb3148ab6cef585bff7618c8d2e5f84a5749f34369b87f66ed1a3a07be4b81b555a6a31b2d0f44f46d7682da44e9f8078b94c47ad71ec349e40497c +CT = e08a30d76421c5a836401db036 +Tag = d3233ea5b99fe66a2b82c32dba + +Count = 8 +Key = a6c507f64d02c506927d0905ee3ec056 +IV = 3e4d7886d8c312bb3ea2de7d39be3231160cc206b767eaf678072f0d9265a557e7e02b894a0e67a06583cd60bdb39650a6d68fcb13760d2f30b37c0e7d8be1b2aaef64b74196b00315e518b4d725bffb98673b8e50a5f85a415b13cfc1f355ea794cd4e6fb94c33923689aaeeda89ddf74d2083ab722dacb72455e7c8dcb7356 +PT = ba79fa8436824601a26e994a2f +AAD = d8b5a4b348ed1cc7dee7b3b8f339d4faa7bfd43c6aa297334ef7945bd73aabe8e91ae9bf093a8417100ae4b8a097afe63a90afcecc6d6f77da5ee70a264acbf1f2beb882a19dd2daf9402408191c713496c203bf2e562de5d263 +CT = e8e8dda1ac78c7a3f7b5fa5578 +Tag = 7048d26ccb2e2539a6d4e2bf64 + +Count = 9 +Key = 6c1169d1897b71a0e78756205c7bd960 +IV = 8592e9d64f103b2d56c3463a58e3b7153442e2091b2fd7a4193117c6f06559d3d4d2b2693b88cc3440ff8009b506d104d12fee462c84ffd9396ebc059e30d495cebe07b4f62f9dc4983eb4eac55230738fd527a3b97f37bbe0f6645cd901ad0d1e48f9d55ed61212589382d6759ccb8662fed66b60eb1b4739144fbc40f1c0a5 +PT = ad249fe6db6277aed71ce0bdd6 +AAD = 050ed9f8d8f1519eb2bd3f83623046d9575afcb19f20bf3ecbce7dfb3cf366719dd10bb8e7e0987ffbf5b1b5865a7f52ffa9450003e98f503e839cdbefadc639f367ce7066aabd2cc35650075b2050249851b546e6caadb664d4 +CT = 7a02bc484203547cc9c6dfb05f +Tag = 87e42fbe99e69df24fcf395357 + +Count = 10 +Key = 07a65c6834a4624e9e15fb4f281cdebc +IV = 2bd76c3fcee9199599fae9b99c80a1ce3d2f6bb20ed15d9d446646a0612f84d3f6aa8b5ae4064e094e4e5890ad7fd8da9f7b4e1744b94cdbd64c625ecdffd854cb1a7a416cc99668afaa1a9a02ad5d035e5399488656e6841b7bb846e9c318e95796a536ccde95e2de2df3827d00b84c57b95c494aae4712f1e160cc71857488 +PT = e1850944f5ddf9f71b4db4d869 +AAD = 6c05cbd8437b6a3b09d75606f2a3f1e035b1edcd2a5f7de0613c871b7ce17db801cf0d8472f0dd7a358f8ceda0e456a665f275f062d381b5652071d094e29883bdfd8b79fd61da50c5d6500329dbfe4312416fef168bc58a42aa +CT = a8eb09355c03a1c8dd7f22f526 +Tag = 01a011b57038ac543e949631df + +Count = 11 +Key = bf27f568ef89cb8195e18bf02110ea3c +IV = 20cf57139402f2420b53d44786459d0581139966a03bac8d3394b13fa0bddfbe8e4ec4d7f3e2d08052642366079def8ad81aff165e92cbed23304c1b3935536c2725ba86621bbf67d9ef6c5b9dc827a939d003142be489e2c9906c5f97f9bdbb178103c1e1d42c0caaa0eeaa693e68d969d4c52a6b980cc1e0204d66f02a8334 +PT = 56c557c54407d4999b5bae61ca +AAD = 306c88148dbcf2952b30ea5a45ee9bc2d0f707f38a31d0ce4c69a594626d740646924b8b7f57e75ecc26b5c9982400c63d68f016030091791cf1e6c5aae351870aaa4486f97c0a88a1d95bf58daf4b503e0bc9f4de967b4fbd3b +CT = c9458609592462983795f3f31c +Tag = c95b358a216ad152b0cb018440 + +Count = 12 +Key = 71cf3839bce6d5aab7e975f9f2c60c24 +IV = 2c6a16035eabf58edef9d5ce93c9ace3963c7c9d24a8de96f78e993510c63e7e7fd6e174f1f2a975921f6d930184d948bd2c1e4165c862dcbaf22cef21e4c0a8dbdca9bffd5e574b7638067476f6c0cd72caed301a2b745810ad756d2dd81e420dd26d17cb0cb7bfe0d38aab70f047b2fe75fc181bbc970365cb6827d4a7e73c +PT = adbfaef632b6d79dec996b3d5a +AAD = ba987009f310dc8ac4a55a670f46424a0224378c3ada8665611505987e77a45a59a3f4dbfa5efde6d12d6b34e5325ca941f220c22ccea0826a54c36dcea4eadb93d3ceb1efa69ddcf6930c71f8e9e756bd9dbee50df11851d6c8 +CT = d6a14e9869d9b0be1c4a721885 +Tag = bcf3ba9422f08e3af496fb28ac + +Count = 13 +Key = cf944ba4ce91270a95d02882834805d5 +IV = 35bb27986b0f1821135a8e3fb507e94af75aa16bc9899a9c456851d3be673ea981ff665393b16a8ba8526a5548ae42971f3979cdcff74e07c45263afb5777b8eb0c61b1d2b31fa3977bafaa58d0064945becc9516041487c8ace51665ff39ed52e345f23a0db7da8ceea473e724e0adf1de0434abe9117201544fdbceb667567 +PT = eee37ae82377f2535cd2575867 +AAD = 81ef6dc14cee93d094d3edb3cf5afb71261da552f2b24eaf3844c27511045d40cc68b712e8c4232df09349d24949caef8ed69df7ecaba75a0e06a1cca60452d8dd771c2110d87b66f1bf40bc04f688edf98add2f755c7b1f403e +CT = cc71a75e5ad150e0793ca45269 +Tag = 0c3511641ce2a44b0b9fe782fb + +Count = 14 +Key = b20b29cfccf4e8ccafdfc04b8e7cd9e2 +IV = 2c85176b932b29142eba6f54580627b9194ef75633632d44848d178e7fd488b05d6809c4f76097f99842bd011060717bf3a5e59737569d53f56d9e779f3ad055e1ff82d3cff6523401377b0b7a97979f55b4fa992b68b8edcdac8c79155bd797549084af4953992246c4cf8ac2c8b5cc0e1d0429b858f14e8fd0aec4a677ed03 +PT = 25198e92a3119c87cfd87c39ad +AAD = 37c65e77414dd29793b76201cb70c84cb854734cca466f6a42e732a2d9f7c009ed155c986dfa19accb3c432bb3ebd2658aa4dd64ceabe1db0fcba2fd621c59e49f9daf9713fb264ba8e592df8eb4501d032e2974ddde89726099 +CT = 10e919bbbc64cf46049258cc1a +Tag = 57641d6d1060a5ed2ec8fd231d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = aa56ecfa49a22d9ef0644c03378a93c1 +IV = 32e1811c8aa4bda36589eed3a6851c6a6948c31f2c4472857caebeba6907256bfac5555b4723683452428e9d5734e8baaf45273760b37908deb7b1aaf5401f75b4e24328ac56a018ebc575bf42402e6d6b8c281cafa485f4be68514c9ec6ed17c684bc22c7a12fd74ae87aa332870771ab6c5944b1131b40608487c5877cfce6 +PT = b7787fc32d97d70c6eed0cf35a +AAD = fd07c12e57d34a062ffb0b30aed05b0ae7d82fb912796a4dd110b4767047663740eefba4c78456c072626206470202d2b1ed7c3f2e9c9fe8482c2e92c7aeaa85279156b2aa6dcbcb636c27eec79e34dcea65e5604978f33d4391 +CT = fe9a359709194e942b6004ce1b +Tag = ecc851adde2dabe858dd7ce4 + +Count = 1 +Key = cd9e83838940275fcf5fb2fb72069a6e +IV = a807f34841cb4bbc17bf8e3539327b376f5cb7a5cd231079583ef24709fd03ec1f4aab3fe3b0c6b35ddb8782c2b3b99f3cf0a5a84ded74d38558b7e1ad5aec3e42a2ef06edfa5d1dad0aae54bab4ee5eaa29c580bde8db913b5387aa2c4e1cde6b3e579a67fa1fe15c848c0290d5c1319d37b1c27399de478be2881fe7afd9a5 +PT = d43f7f3cf8deca46d7fdfe26e7 +AAD = 50d26b4ee6a495b8a9e50dbca6ff60aca0d8dbe83bf2325f37c809f63057a57f471751d8540ede64684e5c0b8454fa6a2baad917e851a6743b8fcbc8a0b3763d6a98e81df94cafc94e964b16df89d9b23be559c6e1c374065d54 +CT = 62819817013e1aa0feb4f7a1b9 +Tag = efe6b2aedbbef2e5888a13ed + +Count = 2 +Key = 9060237dbc09a388f6ee2b242bf9be90 +IV = 4ee8ed1091d46f7d6a7e1f721d0a228ea15e2e5036ebfb405684eeaf983c925b145ec7ddb6866d934f054ed4b3835ea1cdb7599eb642cf85aa858672991264114d6075aa2c90ed2676a99402f21146dcbc57dcc14ec16717ebdbad61a985ea502536f9fa9d5422bf49123e04d738df187c0ac7aa488c3b927461368d49f443f7 +PT = ad621447ae66f823da8e7536b5 +AAD = d17020b170ec4924bca405d00e6e7ae3f98d70b5e438ddc8eec9e36a74f79be34ee93fdc995a47efa3799bf0fb8df6df31bdcfc171f5025deb3158359d01643e575859dc017fe5d4dec4b24001acb056bbb77d00409ba76dcb3f +CT = d20cfbb2e105812d40f71611ac +Tag = 818f5f6ec1d084d9616203de + +Count = 3 +Key = f3a8aea1acf368d547a4c8d88e305eeb +IV = a8ee34f7a4a52caab413e9359d0c9a150621f05e732990a5c46ffcfb2cfaafb50366c58815e997916a84c85ba6e42f1e49a934b638bf3d4037a5160364c980fb518ac0ad70466b8fb77b0ea7b1f3b3be835d8c6e9ca65bba43658a00276f4b2a9290a984926b830ee56b5b5c1550f282d791078ec3121a2952aed9f50772f16f +PT = cd9e919bd27eb7b6302667af8e +AAD = fb6d321ae1ccd9a385091459e230b21b64bffec05eb717ac5424c7ccd0cbf8d27b57bcfcbdb6871ca417185729a0ec0853e81f1b7c1541343ecdffe0308db1bdb71f02a87bffa936f7e6c471defc6e10c9b0d83128f13aaa08e3 +CT = 8fabe59949f2b79acb6ca09083 +Tag = e67df2e8635be8c9d13f811a + +Count = 4 +Key = 58c11c98d94634aef7e4da0b7f1205ec +IV = 6a4855cb7ff32f175219ab3676875b8ce49bfcc80c7571f38e879411e57e807ef45354dfecd479ebf94c5d59a1168dc11453b7fae4f0bc231949ec98e316a3fd23de88bc742acc7f772e976ede4f9d286e79c89ff25f9455a958e5215aa28698328aa5642a5739506348c21a71e5ba5b0d5fab713f8cbd86054bd2edd04777df +PT = a54c210409f062ff768797d32e +AAD = 6e6e14d6340dcfc25a2cf1e9f4962a2f54f23647da4dd31c54d91e31ec90abe23413ca823f682da8865afb97f8e3fda340bdff6329d188d66c7f305c959ae6fd52d369425b729b1f46d8cf1f50682bfed10db5745dbcff9f341d +CT = c216c26d1d9258583f0ccf63d4 +Tag = ccebad487b8429653d054784 + +Count = 5 +Key = 5d6ee0d3207bad605e2388a5a9950565 +IV = ff57663a52a41c1fea0c2676071371ff45734b445125cb74a92246b87ee0ac7c6dffa02c96d6a6fcbcb8943445f8aae5e42f2f73b73cb205afebffe6245c7614c8ff282d9c30651c3ca1f858e0744440c1ef84c4d9e95eaadbcb757e1dee396bb1d684e39bade827ee05b5e7c6d4b55538faba04759ec5b2b02edd15b1c33e74 +PT = 94704372ec72362013fdd11d0c +AAD = 6ee51cb3ec5d3be39e169ce3b2ecf077d2ab04757e441f11be31e06d87add6095335287c900c7ac68f0bdcf66032a003b179d6a936f846fac6f021889ffb8a4838563c626cc8fc45154bbf41c904e12f18f6dd112fcbaad79782 +CT = 6fd2c40022eec29b9ad4b0d3db +Tag = 793621b6752fbafd985a091a + +Count = 6 +Key = 583bb3b2c2f89bede792b286cad287e7 +IV = 007a1cdca0801695bf3dc7a45d6790490596b934dbc933e84f578cb96ce744535674e9d82a60db8a575e23e44225009801f04579fee6e63314b75c7ba8d4afcfafc05b5de8f963e7c7fa93e06c274fc133e445a7acec7fbbdf0dd03e553b69ded2ccbc0c16c0f703e3e360be8abb7c9e8cd8898d3585e8de234f969be5bd571f +PT = 286e27485d9f9d8589cf94eba9 +AAD = 468ee958bf796fdae1193d590097808305074783a737c77c87bcca9ed178ec864c6f70dff957c6683e38f093667c99838cc1895180da00cda95832144130398b44b38f61c68c3ad5ea9173ca9f1a3351b48e8374162c06d12eea +CT = cc309bf5a6d5d167887da759ae +Tag = 70a30cbef167afb07f1887cb + +Count = 7 +Key = 85636a768b6ed8ae01ebfbb816e3ab95 +IV = 1e2aecea69f2a55f177492059cc8dfc735e55cf85fecf71b149dde56ac6e19ae300a76b3170fc01551ffb550999f7fd5e626e1e1e439dafc671d7207f3d27721d56b8c46f234e67a14407861c202c96dfae8be09dd2a3a7d1b251769867286287f2539b06d0cdbc649360e96f3f4305a779e2558f556bc56baf78e0b4dbbf169 +PT = 1f7acb28e8a8f31a8676d117dd +AAD = 79940fbbcd21c942d6a4ed37c879f30de2b9f25db914c03f00d4a82c225ac44fdc02e11a044abef68b2afa9819411594cf255f3d6330f3a4ca45214c8e826d87a117cc830cc3677bab892fa5358b03e15260e38c61ffa39d05a4 +CT = 50fb6442b60f69670c5b5efc1c +Tag = dacec3915b56a224bc68b283 + +Count = 8 +Key = fb4113b3e0830d1d40782c47e436285d +IV = 9afc84b932b5374bf1d7c1a9ad92c6ccbcc9fefe03553dc51dd8239ccdfbfb846da912aa9d541d02b37ed266f85f21403701a2176c7550715cc76d7f737d41e01c8917ca5c8f95bd3f14e7c500fc3527f4b61391e06e58ddbeb00f1c23c4068ad3653d1fbd90b846cbbf914d7ff8f5601f2160b646a23add364f2e4a353dc14d +PT = 40f2dee42003512c80696946f1 +AAD = 045a319d8aa15cce0ea2000d8c001c266e059104f44082d3955dae5cfcf81691ab5b9e0170b13a578b010f6e731b7e3d56a339a884e92675f269144675076d0ae0206e7731ef0c7e78d9a2a5fe9ea7a0c3479234297655bcca42 +CT = 892b21098a20cc8f304989272b +Tag = 33efbac93215023ce0ebdd25 + +Count = 9 +Key = b7fb47f95e501788f1b3e06beb8b64f3 +IV = c60b1d476a55dac0c591b7411b9c00d4e627d11bb78303ccb9edafb043dc11ee22c93d946ebd3705bb6c73618352a2c7f2541fbf6d820d1956515153e1b069d8bc4a738a9286e15d6a43c6fe3aeb52b6c5d5675547445518f6e6eab548a9d4c86045dda488214556000d31c615fead40df28732e16f4e1b5f50239d8c658b76f +PT = 73aaaaf40ebc37313384e0a001 +AAD = fd0111deefd344b2d0f981e9435d711d5872c2c95fcb9f6e2b502f665dadd613d41e31536035160cd9dbba2743b786a22e2d8752e706227c1f7091adbc689061833fb3fcd66d85bdc60d2eb5577027a962339767e9c13fad111b +CT = f9d50a212c9183bdb00db6ba17 +Tag = 26127ae0cfd93e0310d86428 + +Count = 10 +Key = 1d8b3d7effeee7fadc204e91e51d140b +IV = 320451449e6f121b5f9b6b87820a86b34f4e993db31e3de3af43c78f9f45a352d89960debcf575ac7034de65cafd087c30e4ba18d3b1b210bd5cc62e9e4488f7f17c7d18ccef04b692a995f745db4e94248cc2510133632b714a8d891e13777e68638f2b27aa2926183afa240fcffd01320cefdfc2f7919061ab6353b4034a3c +PT = 43cfe619945191407b7e209509 +AAD = 0b344d7e5bbcaa95cea29c7393082aa573dc2c5071dffeabed7138defc4a0f2a23902f1ec7005415078e1199627c6cb794ff73dab6f86dd93864ef6a272db1bc1bb84f6a49af9f0b550a4e817b1962540c658f61a0905a63c276 +CT = e928b29d38ad7cfbba28b143f0 +Tag = 97e5df127ddfc83e38cca780 + +Count = 11 +Key = 70a682e5f1302b52f6bad030ea91a0f6 +IV = 421647b5fc7b04079fa64436c80a6e922283b268972ce58f036eafe0e1116596f54977311c911829b8f771ba6e3ec351281085c724fa916f9c3488f4017f04828f45a10cfa53260d5740c118d683f8da3dc224abd1f891c620edd6c835f73396b6fa4aafc0426b7b87febab3c4bbc1f4f58221380c8e7e3f7810b022052dd511 +PT = 5c84875d965602399d68fb057c +AAD = 1a4af60e95a53aa6cadd03536ee9fa2c80242d0e37fe76dc57e7518225b43c677af5dee35556036b9de568d974f44452a75f85b32944778b6c8f6a025f12e10528afd307fba0e37e06db2cb6ca09893bc69b8c423e5d12bdee48 +CT = 628c491774853755e71ba4602f +Tag = b8b3d5b40dc60b41c8084374 + +Count = 12 +Key = 3b490136a0f0704e69f0d8e0c555bcd4 +IV = dcb66faaba4e36f1cbe67143bdf5a3e55e5aba19b6160c59e70bca96eb6de4ae5abeb1998fee47789bd588565271ed5a281ecf4b88483369745e9e548ff11ecd62c4744bc9c02b6002d3e40c4be9ceb784c48f4659467fa3dc8994ae63609409be61f588df8f53a9a8d7510ff329cb9acdfb6e8c06019e68c55c45e76af9d5b9 +PT = 6bd9fba55b05a29044b72856e9 +AAD = ca79ae804702529c4d142dd6d1479845254332d58d8388791863679245956dd16b18e7f3901db70b745f15d0e860f5d172173fc84314b68356351fc46c902f010a0d901505ff85d9e4f0f968c9ab3dd12a0982f5e20130e85c72 +CT = 8e9e0d830c72169cdb567b0169 +Tag = fc0a1f26453a716228b5951f + +Count = 13 +Key = a2dd90c8c7cad3248a545b31fffceb79 +IV = 859a40bb5a8664205b55a4221b51413c631bc2ce3988b03bace976398fd8c61d576a80cf5522e24fbbcadaac725a40e8a73b1e4580bf1f06314ef90508e20fb9349adf2115e7112ae5e7f6274bfb4a30da59177d864a0ec0a3ed169fa49955743dbd7e80a27d4c3ad59cde3b47830352bb139df14e4a640b6845a620c172e9e6 +PT = e253fc4d97a3dc0cef3d7f183f +AAD = d356c4869372153a92e9c6aa7bf677bee9ab3ded7a9c492814d4f09d63e02016eb63e3894669966544aa490f8820dace62cf86c4bb24a9929e341a598ead278678ba74b1e5d09c128c9deb5e0ccbd250b444ab8bd4e8e1d4d43f +CT = bd3c3c1560b4804812cc16ca54 +Tag = 901b36c9a9f55c29d5a2df15 + +Count = 14 +Key = 5074f96d76b062a1958175304ea467a1 +IV = 493fb0aaa86a7c73d57cef5186b90bcf7a5c3346412ebc4db57dfb52961a88ba61345c8e9db5393aaa09d48a911e144070986318a3e1a690c1ea2ab547488d29cb55a4fda649826d7d94bf85952d0135b526a31e3dd9faf38330d1707c2472733438fb247849e38d31b6b3b8b0b18dbef656f5d482e1899b7806b733588c7467 +PT = 49aca3382f15c027f437ea9476 +AAD = d7ca41aa221df971e84192fac2348ee200956dc8c1d1d3f09efa45b0fb353676e52c44feff3a7f801b8788bceef618ba98bda38c17fbb0a4f19222537568693214101eb689266a0aa9b23ce9ede052b75ebab5fe50446a21cc71 +CT = 828d4e9eff111b62ae21273c2b +Tag = 66f88ad09a8f2f1b214da79c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = c2e2044cefe85aad4cd17dfbe23306aa +IV = 1979d2d9611e143fab932ea71a23484761947e70d6e06b4ae17631fd872952fc61caf3000de6d0d4dbc42dd42cd73f07a015e4ccf3cfd8bd8bd8afc5c9651124f6f4e0d8129e8c1d097cebcb1004699ef3d66890f0509dcaea7af97ab60bbf841741088de6a22fae94ee5b1be70dc5eeb40023a3848859a2e9abe68784490f6b +PT = 01577c00c0f25ec72dab326a12 +AAD = 34acc5bd16338d124768857e01232b9301e4c731f4c3ee3c003d4a241bd180f3d954f9ecdc31c5c5327e31499705d042db417f65782988c9accdbf9a25616a7843d884f8b363d15849ecf437d2e653be8be08dc212015255120d +CT = b0fb210c1970c07990fe24bfc4 +Tag = 8fb9d59e50521da6 + +Count = 1 +Key = f5c223ceb17c77c20502e36f05e7bb5d +IV = bf6b804de676375faeb838be56ec5f33b7d20beb92ec4be6c65cf4db21e3de95105d5dd03cd1524db9d99bc8eba85ff89fa0cd318fb16efa7b3de53e6eabf86172a4cb1d9af0d882ff3f31e04db5c44a179d8ff8c10a58e9c8ce2b85cac0469e8f0a8a375ff4a76a80e0e0535a63e26c049ab146501930cd7e242d0eac72d6ac +PT = 005c751318fc6e965c8b886dda +AAD = ed2db940e161291197b8b692e4fc675b5a8dd790131d0114b902c0280720c7a4310e1f78757a472502a9020d5accf74df64b1f36739e8a9bc1589ec98cd276f0b9a56889cf383326f88182492086aacfee8ba8f8a69be1547766 +CT = 45807438aea13d5960d22ba756 +Tag = 6e31713bbe262c2f + +Count = 2 +Key = b21d146c70e50215184d971f51a4ad8a +IV = bd57668374c4b2cc476450834103902d600f0f5c724692c0bf50fd4f5e30bf7cf061e7554350d787f26de1425b3ceb83144f563ca5a34dec39afb83765d2de1e1d1c9b38b12622f49e13487fad454672006e15f3bf0cecb51272bfdbfa5df30f375377b3cae36ffe0505800a8183f0d8a0828cdc917cdc58c24fc1df41584f5a +PT = 51388f73231ccc35d35837b175 +AAD = 1db53125c0c0d29b9fe3114d759b84489e2be9490fcc484b1ca362c2de4c9017a49849a04f740b80559c9067137dc717f576bf66ea2555b1edd6ed97082cc8ad662f5360fafd8c6b06fffd3a3285e5e1075ede104914709a9b38 +CT = 34634df69ff83aa310fe9c8894 +Tag = b0b451c5fd8dfee9 + +Count = 3 +Key = 7f7aac6f7a557f7b70f37c3e08ea6b40 +IV = 83b0c25eebf3336bece849402b97ba60564b4480aacf60a7897ba46ca2b53ac654334ba3cffd8613d3cf044ce90e4db9104a868c9f7c357c47b34e4352c30a85a76440f88dcb6e685fd48714ae8a2f51ca7ac3a91b417950366d67398e6d3bf2fe7fab31846ac091dc70d6b1a12bfca6d35884c83b930478fa7c35eb99bef0a1 +PT = 04cc46b56c6bf7024da10fb640 +AAD = 1a9073dec910304a09cbbac36df8f30416bc64308b21d6fb2ef82bddc843de4c0570909e258a2066f9eb3f2075ef6c299fedce7db931da6788758072b728d5e8dc95cf9dc8b13e13c9df614e166136ccde86b071f89a0c365c27 +CT = 47d3ef7a9d0ca17fea667a7797 +Tag = 821e091f57de4cb1 + +Count = 4 +Key = 88e381031639987a0142c1ffb977f81d +IV = 56e4c12e402db8be210f7b4bfd155ad3b560215bdda0fec150c0d6aa6d7ca65c4241cec2968da5885ca20f49a352f3fcf1bd8bbe4da1e03ae8e43a83de74b402ee3f0119ad880da156258d23088008a1e8eb7391df04d6712bdf511822e02bde07d0b3ecc75a05aa4cc85b666fb8b3135cf7b2c0b8b2b0c42e2f5f8ae4521f51 +PT = f995a2398bc2869e1f506444f5 +AAD = a67b4234e10ecb622c22d4938d369959342beade92629db73f3a9d81c2b0abce41651a90d0b3186a1ec9f8af3d0eac1be8745e30105eb670c2fe5e793e708aca07d52bd8bd161c5e7c2351b44a4e95f38eff3f0b59ff0f44f07f +CT = 8ec77ae530fce8c26cfc8bca99 +Tag = 61522ce59b3c2109 + +Count = 5 +Key = a01779efcb4519b620ad4e064ebf80ce +IV = ee97434163dec6158af2445352ce79373b821bf1fe0a4d67a6c7e76654a36e1b926faef6774bae13dd11cc190b60123faddaa9844ab493ed532a7af351b44aa6cecd7e8a35183afbee6baa15860c50497beef3d9a77bca37d08243c314e37c72014af8a33b100aed66caec6a651f5dd1cc4aa2cd3ab62b8f8ec2b8bf514560ab +PT = d55ee7d7e69e3e866c50a1a1a3 +AAD = 0b7b0fe1c9302702501c0e2b15cf910a627da9c25db3a96c5e8c233731b05d0d889efe3d65ed1af6ce0fcfb9ff42c734eea7e779542b653ec7025d2771964dbd9ead80d7fd1afec016728ebb11f963dac639a72ea9a6e541387e +CT = d3d452f946a34058f0592dfdc1 +Tag = aa580447015de8d3 + +Count = 6 +Key = c392b24b9d76df93f7f0678edcc0cc74 +IV = 7eff16be05c57dc9119819e6e3eb86a8efc05cc9a5627ddfa758b79c19b8d9cdb51076505925f0236a7cf67a8aa137f6a414ce8c6ff3acd8494a4fd73792e256c397c5f250c1d5a97e84896d669b06e111a29325609c66a8525486a14e07bf65aa5774ac36510fa9f5c3e044c89a8ab3a954d270e0309657f06d7fb53eb16f30 +PT = 8b595e9b47347dc10b0e567c5a +AAD = 9a12de10759b3d642e1a325d076b1c23c24a844fd601e54395826777079b689f4062e89fb13ae0380aebb7da8f6530ccca0546ce9a0d83ac0eb17318cc0e24cf4e7a8e31f36d9cc2ce8c9a0d74c489c0b16bfbda2e42e2d6c851 +CT = e5eb2bf04de1a6d9b81e8f17d4 +Tag = f7dd32efc392cc51 + +Count = 7 +Key = 3ccc91407f48a0b81c35acf84e929a3b +IV = 6880e08afcf9e0ea1312862cb8e6e201d05d3e91c18cca1a6a501fee1565b56d8ee9f4dab417ef91ac3494f551fa7eb189374880cad77683ed69c2891d32fb997c5f542e092e5d9a308397fa1bc8065d0c641883737599d2bd10c2a9dfbf260a547bd6c1c46d8a906ec3a7a33dea480dd8fcd6be579c3eb70df0d8bb9b5140b0 +PT = 7dca342cf95d6f85078e29cd62 +AAD = 2f191825e3703d142bf7b971efef2ac172c8e0b99d4255ee5378de01746efef2ae78e99f7ebd10204f93dd9f6b17d1f79ee4dd386c25635471e8408e70013f354f16246b68ad7ed5c1e6c12cec6614e67a60a4503d0f83ad1847 +CT = e6c21fe39ab6f997115a3e1d58 +Tag = 9e90514fbfb0815c + +Count = 8 +Key = 05f842fd146dc428ddc2b03f89e378c9 +IV = df1217a8ff6f7623a76ea5844812f3823e80dd041b767b795425ba3bbb54b5165665f964155544577e2105eeffbd35440098641c255fe055bec83fae272da7311f606997ea5788e812baf86631ce0c99703ffd57f01f32b4e6b2cb95147417e0cbeb35cddde8899b27ebc4f5bdaf9c09503ec98b0d1ff58d25fecb158c4f9d89 +PT = 0ca9c19c6c4869ac6bbcd57bc2 +AAD = 8ff4636265028f0640ee346480bc2289bfb846cede81514a5297d1645f8c7c3d1eff4ea24ec1be50daba6eba94799d57121793b0bf50b02c58aa3ad199b6264908f10c6ab9da5ea994730b166b6d04ba908b891aa963ce3a3988 +CT = 5732fedc34fe9e22f30fd2b279 +Tag = 7b6debd1f5d8c834 + +Count = 9 +Key = ccfe0737d1935a645b6e62f5c9351f27 +IV = ac55ba9e4155d79d6f6ed8f2889d72fba099f66c9d1fa9388747e580cf5fdca0887db424b754ee89fc5e641641d120f29ba8a49c153982de2c9de4586bda51ce87f7d4e4bd911780bc5e774bba3bc3c516312a9ded04e726c727f0e0971f855c91eeff6bdb80c1f346f92538f30853eaedf2d47adcf0e0744664613496b0fd3c +PT = 5be38f5372ce571b5f5045261f +AAD = c9bf68aaa2b78d8a7942c559aaff3f13f0751cbfaa5e9ad31c8690bd314646b66196ff064ec24d4ae38eac33af51e63f343ea53a1c9cb0c489182872d4a31331a81f9ae2df1f205d41b97e18c477ddf7a9a62e7d2f10f92eae48 +CT = 6430ada7c7af600fa62902b6ae +Tag = 6420d5dd207fb262 + +Count = 10 +Key = 63e7dbdba7602523082d7cd75faeb4b3 +IV = f371c132683e30a9d5f7166200df12fbe35d23df4e30dd394ec65cb4ea124f55a25fd37eaae786022badec5aa3b6bef1dcbdd2f2b082945879f5c41462866be10fa5800fba180b6a15338b8f24e310f8c4ef7283f6549f1d8cec33985c730dd3ad49b75fa1b2c4f2db9f17aac192508394912dbd1dec68e9b42b0406dbe15b45 +PT = fe72e05e28bdac4c47a59f03b1 +AAD = 8383c8af45a8ccc8378571fce2de435a570e4e62a32076bc16cad1194bf1244d38f1626f46adecfb0bfb3f192bb08286ef3625b1ad3a89c47ba6192f8b16f3eb3055fd37f607824b9eb96c9aa2331656410ea5334c86cdfd65cd +CT = f79b00b766eb718319d5397847 +Tag = cdb04134bd12e3d5 + +Count = 11 +Key = c8b0b4c13ccbe16568fd48f92b6749c3 +IV = cbc477969d58966274eb69fd1f03617517e750d31560e36d2d68f9ea9f1460f7b28b6990bbecf62ed5ed053896c26fa18f8b07dea17a11c5676a7883fdcb90b97c03e4cc0007dd2e4b89cda2324808cf8deb81a1e5c62279f81da374beaf1abd89d9a2d3815c548479161f54f84f1f3cbd7560eef3e45ecaf7546aacd3a04050 +PT = 3984a388b4af5027e07d79efbb +AAD = cb703fa0e0995484a0c2f077f65fc38dc690d77aaedd3ce3d64e41a4a801956f26aa4f8a587726c138ccc0d4158192a2d2a00fc3d58ee748b5757ecdb405de5367861d8a4a126a4f6d911247991af20f31d4349735b1200fa6a6 +CT = 1f3e49f3573182d132653bcd7f +Tag = c57c38172bdb2ca5 + +Count = 12 +Key = cf1127a0ffc8c0f4cd3bfcb57106395b +IV = 396a351d0e768c3a24cd0a3c389934c50ee9fc491525f3bb02a7df1ee9ade215ffd05a48b12398f4b7dfdebf95cbbdc1b713a8da11bd647680b686934a258cf159b54f8820a73e97e67097f69bd0039143fb30f0bb17f8952cd67412b1eaee7124a495029780daefdf1ef086a361f8c732550f168bc259efb1b4d0ab25074f56 +PT = 4a5022159b06dad7765e54f1c2 +AAD = 45947a66548a51c343742f0e3cee8508d89873c9284bff196ec5dda223333034b581f1a0a9fb2a3e34fcb34bcab151a2533dbba759d88af39daa8275fb0ccd5f0cc6fd52032033cf5c0af5b444778e6f7a7e4d44dd822e216a03 +CT = e2c5f1a96442f492f630416b4b +Tag = ee32dfe9732a0b7e + +Count = 13 +Key = b8269e0d74b063e641a07cf62a309353 +IV = 5c53c25ed44464e90e0e2306778ed80711eade1d42eaf46be1876d50cf3d8436be1e68c8884c8fbff9f548e5826d782db24cfbc46f0a5e4c505966d646fea140841c02a4851100e6e4e08511f54d6cf349cd933a2dbde57940ab59c553ebd8e964a03d5dbfdec981046699553b776be4c2753d721dba67e13ed69bbfba6bce78 +PT = d85095aacc6fb805c846a3ea33 +AAD = 7471c22286d0e01cdc19e1b9b7af56e3cde940331f66d7d814122c500c0c520259afc0d0f1450d8647c0147e3208f53c94d2f8bebb50434670682edf532d8b9e3101233d4634eed9b62e4fb59b7a976f5cae5eada5ed31b0b816 +CT = 1d6e7198c830a3628adba030ab +Tag = 9e2e599739bcbff7 + +Count = 14 +Key = 0f405857ec7aeb5fc2bdb3bb8784db5d +IV = a1c1119435f55ede000b1a35b69b56ef854db04eb1629212910cb201bce427ff7fca75d4b409930b60624ac4a06e6916cc933ea418a955dbd98b898842b2030c841f4fe9ca2039ae13b1008d44861e5443dd1653b8af9e259ba5b743e21d1c31efaee9ac6475ab0c68f80bf1150cc18bc7909218ef3f6cb5d9dd9a11f478ad17 +PT = 336f5db6dfd146700962c9bfe2 +AAD = 7140bdd78eff9d0556ea4015d5da10fbadfe940d51e503921f9aa2fea4d7babc841b10db0ab0de3382ff2c13852b1563a738cc3b8151445724d13757c6fce7230d50d69fcc6a882450a0e2a2d7d655c11a22e7e7ec961198ad18 +CT = aa570caa59598ab3dc8eef4599 +Tag = 743b011a234b1cdd + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 104] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 4890edaec3c8b64f67023029a6e59afa +IV = 00da91fd6a6f4cfde95575a5c737c99b2663c9d014d45f5bf2c7dbaf4b57ff76c28621085a00173ca0a95c868db7a097ca5f588699a6fd61fb5570c6892b0d9cc5b446b37e7d1de51c144e7e0066a76ee6575b1676d759bfad4614830e78c740f54bb0a7a31de7b94e0b6ed45759e7ff1b63385f34df6b0f057301905d9cfc0b +PT = d549a1c9982dee70973816d2b2 +AAD = 38c9410444ea4de0000d18f34f202a2b42ec5dc8d251cca9dec8c786150281b91bd003351563f1535ff4b45512a1dbfc2d16d0a64bc6cbd69b72f04b4ce9dbbef12353a0ced2732e1d1fdd2af525c0c23cde7f887b1bf3a544b3 +CT = 0c4924307910f7f9dfaebf78b9 +Tag = be50ce66 + +Count = 1 +Key = 4a3fbc2771c87584cfe8e575b25ee85b +IV = 51944a6728f95a83b68a88677a6a7647135ac55a4e1b17bec71148d6b191175f1471afe76bc868c1982e671f9e7ae168101d00df790457ffe5d091c7eeb45738e0299c479ef57a59592f501f7df139eb7ed3e693453f19a3e796f6f2ee311c1f109bbc183de5176156a051dfaf2c1ea90e4c20691b7b3ff11436e7c5aa9d014c +PT = e1674c8c7d0be73b306dd4ba2f +AAD = d2dd74fc2c8d925cb5807f27a20a191a8ff45c98352ab185f387f6bed3ef7be9a015a35dafd0a757dccab61373878060c023b17cb28ee2a96b15351cef4e95adeb55ef10a0895fce62dcfbf4747e8c7b1b630bbeace9d69ad094 +CT = 976681b8c4cb9932c7358e6a37 +Tag = 132c4b7d + +Count = 2 +Key = 4759a452fb70964bc27c1705009f58ed +IV = 257c7ded0d362d79b25baa71f46d4eb16b4886fcbf42c603860c37ebac4998a462fc44eef71b9752ce71003d4c0afb03e84542ee69109580053702f31f18e95989c718cbc29e9de6532c6fff8484fb3b4df117a65ce182bd810c97000a9a4e2b1316207a2609a084a7cd914e62a798bac05e0d104eef3e37a2ef7e1ca964fe08 +PT = 9ceb98157b02f0740c32090db2 +AAD = e68b36144d145624afeab73ac2a638ecfe710ee113b960d09cf963baef797a3d4a93cafee92e9cda1b63f41a15a4a3851502c788143e891fc4bc64979eb21f22e751be238dfde3e3f221979493e903cadaeebec790874bdf5c36 +CT = 7d975ebd6977f6e6c7ac87c3e1 +Tag = 1475cf6e + +Count = 3 +Key = d60529bdcbbb53df32d3b18335fb0d8e +IV = 8d8ae684b956f2ede4e06e48e3a52ead9f9c6d101ca87ee708ae83d77e65b237be95e6433fe8509bd73548eb8349c05c3c30d4964b33747e591ae4149b5fbe6135a347b1dd440250b1c812b1a6d32db82adc90ea3101d261acc56e69bba83537f9970e68209ce3e4f19359f5097a04b4db97839a4a20b0423a9b89e80bca28e1 +PT = c9cb81fb202b51219286178bdf +AAD = 828edb6a23c5437145b67cb3bce03e280bbc6a5b4745105411cd899f8e83810727e3dead0c25193e558fd2bf35c8d2d125ecdd88dd386cc0b35ce4ed09ea05d8731f5a6d1d8b653aad97ff26e14a27f48ab337ef827d44ca6e97 +CT = 53c2788746754a59b496648d19 +Tag = 7b2246f6 + +Count = 4 +Key = acb8f742ea23a33164cb81f3a234a13d +IV = 47c722c8f2bf389766461da92ac3fae3c7511471c6ff4d591eea863aad4271a431c319650061ac02180eaff9b58dcee032c4151e2c952002fd8fa73ce2d055857ba8a15abf72b29716c36b5cb05405434a3ea1dec00a4add071e051c80117561a8042a464d54c8dd40495504b0ab14893b70a25d02dbe55a50971ed5f1ec256d +PT = 285047624a85eda81dc2eeeea3 +AAD = 4df4aa96805ae8dac16ad3c73bb4fd1e209fd59706eef1172e9ca0f2e6e8265587991b0f0bdfea7153eb5a348faa5a22e4158e9add418c24e458dc8701c5ba0e8afd77494b6c85b138dceb889c35b5023cffcd5fab7a55790a99 +CT = 47e14709184281f08e2dc00069 +Tag = 25af8561 + +Count = 5 +Key = e2f17dc943739c2d2c17254c7fb7e92c +IV = 5c271dbb6e535068958be6ffbd8861db04468bf7b94676a6f78951f1bc85deb21c285828c4f77d3f3bac584fd69f424c1b3038ba984556e2b23c77ee2e44e10ed9bebfc86228e006b54a7a7f5c98acac5d009fcf89acd74a8f669ae13a7b6ca69205bbee685d5ed5e9266d206f22e37b549ee40507d2a165b269abc66ea68bb6 +PT = 9ae0000f692a8abec0d5dc3f82 +AAD = a73ebca22b2e19062446167bb40dfc646d615cfc42e89eb47c4834bd41f6043f62e498f1766d9291649464e140a5b88ededca7d6d864c7315491e18b946a1449e44224dd08864a26dd123484a456858c153543470bfd606df390 +CT = 2ae0d0a46b5498ac2792485ff8 +Tag = 2ee0b296 + +Count = 6 +Key = 6786b5de390c87ac03e96259b7dc15db +IV = 28e7b8e12cdaa5fa8d524bd43d9799ca35614414a2376972f29b0426c35cd07f40d2fcd253029308521d8f033d40942368ab866a4cb2012b6e5d0e7d90a1bab9f8491de4215254e470ebce30432de614b17764a3215fea4ce195044ec9f3a2961f62f60672ee94d4a826a73667cd6b8142d799521831f278db4119e6ff64f05a +PT = 78fa6225e5ac17527832f351b6 +AAD = 87b1c315d7d1cadcb24e47686f16769ab1d0bfea223ee28ecfbe81495dd0994099743522a89e6147f9260a617c2d70098f1d061fb227058b877d376be2879afcc3967562c8d7fa7606ae41d04839a2afdac3222cf9569b23956a +CT = 22523701091b76b79fdb314865 +Tag = cb5f2708 + +Count = 7 +Key = 629910e21287f9da997c109602c96de9 +IV = 02ad2625ac4ec80f125fa85fcbac8e5466cb3af63aac8bf7e4c875ebac9a7d4cc1b844a7e9743231cd0539f0188339bb4ef76f0aa1834eee0708775cfb238378cb175c1b0a681d16cdfe1c1cbc50bc30409bc0badf20f5215e0bf6bb92bf982960386fd29471e2554300e7d70bf51fa9f050a0f113d6e62339ce2f882edba933 +PT = c0e673753d0237862ec9014b0e +AAD = ae4a923884f030688c28132ab160bd7d57d701975e5d7a0cb658862174bfd09f5412e7566db614dad1e1651c2ed36bc773ac66909000d241a249b341925eb9a76d0c9cd27ec0fb4a4df0124339ff592b49d627d08aa5a80952e1 +CT = 69a0fb2120340bb97119188176 +Tag = 78b1c4f4 + +Count = 8 +Key = e22d703f761184ddcc5e425ca66dc861 +IV = 2d23108a155354cf62ebc4ab0054a8aff08cbde8aa91eef5c40f2051807c1c07b2f6cc81341aa923ddf0cc3787b31cb5ba642fa7ff1908313637cdfd54b4bcaa76ab9af0a60a41440868664e859567ba6ed57a18d23f3ac7833b1482202996eef14ee0ec64fc11feca112ad82faa7511fd61aa7b86d279f66919ed10b3158c97 +PT = 59f0a935e702f77a6db3fd1b40 +AAD = eb8b5bc4e29d00332ebec8c3a608af90b7474d9f6102eb85879ff608b870062c2ba740551adbd11646fdb457d811144fa6415750e1891ca7db5271e99057866f6ec42b01d5e4c2da132bd15a2fa9b95db95b40668d045e892586 +CT = 1eaf99e9b85ff2d026948d87bf +Tag = 9dedc2df + +Count = 9 +Key = 7e3f44568df46574aab0e24bb06a34da +IV = d86ce0b884ce7671e112283a3f8795c18fb4ba0f267261ca1630afbf17d49dada8d8c55241703d5142d915572de8312e316c365da9f476404bf3e0833f173ef85d652e5617eacdcb7fb14b0ca8fb7ba237a139f8376591e499768d68e62f06f8e784c30bf98dd890df54785f31852ad17f31824409b2856ccf2ffc3d58c014c1 +PT = f2cee62d96524e42441626d294 +AAD = f31a90f00d89ef40f5cb27ed14f37e873d23afb4d7a39646bfdf89b15e2c3c903df171608e1d799c798a53b8e1fda7463d2d0cdf0be3373dac9aecb818cd8283b52242234c5a7e9c011e4f7dcbe8dcc8e4f852292af9a9d27921 +CT = eff575497e81801894a987fbf0 +Tag = 801ab938 + +Count = 10 +Key = c5e44a3548d99754fb81efbf66f498f5 +IV = 48c08647c89e2cbeeeac012f4f34e35cd82571cbbc44a3e2e5a15522b24f4fb734d4be6efea82a002e780647a9dc0d2f256074dfff9dd6709704fb9ea95993f2ca5eb28e8c087968eac86b952e8e467c2488288598f2b3e85923948cd0bd43d03aea998e20d75c0d73037496b7d99fbaf2ed6e2acf63d6146a91e1228ccef16d +PT = aed7de8148fa092658052b1a09 +AAD = 74bb242992c48ed8e2e14e19e78b23726d75a3d713304d913579396aa80445bc1da5e8f8f7835a6db57498526055d0078dfac04fbfc2672c6133f4f103f56d843eb3334c78e71d6ed30c79004ba25a3245f49d3a6009da3f9a0d +CT = 4de2c5fa66dccdd930e00e068d +Tag = 384ef0e2 + +Count = 11 +Key = 750538869af36c9347028b1420716043 +IV = 59748d3173ee526aba5c16b8e58c27fe549ba094b64d950f01d5b179b29b1d245b7a63d44f8d369b617f417e26fa6ef341fa853defba892056fd1a3510718063831ebfaddf10c862e9af8ec3713fd3a2bce9c80cfea654719c77bf9169561060edcdc57b953c5187721b69bd32e77f05e1573ebb39ad49bd8d9186210c1120c1 +PT = c2b60ca79ca6a6eae0d755d3a1 +AAD = c6b8dcb71f730d8d969aefbc3bed42f8180b2c68fc55f94b05c3a09c2404c8430f6d8e4978fbbe5eb4b5d57d1e6b866916db309d16d4b5d25e597b9d7dbe4ace03aa4227e153c3f70b4c2fd65c423a124e1d1cc3b1b8c66a19d2 +CT = 6cee78f358618043f26c8d9cac +Tag = ab825df8 + +Count = 12 +Key = 1cf501c611322656defd446e06380b36 +IV = 80acb3a7795d3ca84d0767f1d2f7e4d1fac6d530835747261b0ecd284b87d7073c832966635257323ed7cec0e5c048f4c4dc3deab0d890e4d2e9e72ef2e9253742ded13b31bfa1d510311f085d15bc3284fd6348c791220d18ee14513dcca66100e0be882ffea3442b06c6b2a3d87261f202dcddbda4ccf541d2a59467bddab5 +PT = 93900fdb8bf028f8f6a1c16c4f +AAD = 1265be399885f8ac24ebeaa0d3dd7bace51ff3b79992bf041aeb531c119703461d42e681173c405d01c510ced97b0501d0ab8b0d7c83edcc70f7781237ab92d49f1c654138dff41446a235d7bb3e9e1bb5389e84ff0bfa7441f2 +CT = b1f9c47904e69b4c2191991cc8 +Tag = ef27cb85 + +Count = 13 +Key = 6efc3e7d749eede7597bbf892e33ca00 +IV = c6b3a647fcd6c4a071539f5e8b837423a4814532b51faf2f3421508a0d61e3add435e6566574d7c583fdd0d71a11e4c2768caaeb48eaadb36d70dd52b164ea88fa924e03d5ba98d893b573dba8e09b944fb424a594d6d78a588807e84cdbb799a9a4f46f1e189d794f43d0de9da6ccabc6c6720f429d71b6837c8394de4faaf9 +PT = 5fd70d21fd8c6f8ae1e60de282 +AAD = da2e735424c61b9c60148f5fd011c4b425b83ba14be2676c98d17c55c0e7384250315ffb428bf58503871c566631e1e82124e434a06f87865b75c22d75b3eae298e2396416a88dfa23321907b20fe90a4ea4182249ceff08d799 +CT = 5d0b8817fb95f3d6a6a86135d9 +Tag = 9399ef6b + +Count = 14 +Key = 34ff10c3c80497c3480dad2731b4dbe3 +IV = f99114b44e8498f147462a4ec171621f2596673b5e463864058e58253c0028f283a2e393554a2e80a2ab938c14e246d43ef07af485348f8f6ba150559b1cc4a8a32883d0257c5545322c23c20b8caa531099d984eb2a2dfb11bc03a7e3492afb8e7fac20ebe8518940596fb544b649aea01337ce03451401cc91146008d314aa +PT = 0a65775045369b788003c3a434 +AAD = 976c7c6585749afbe4164cf10f606c587b7afb85c08e9f50ce2bbd10fb8935197f366254b8250ac1f5bb454c64d18ada5f65d1765ca3919256428059dd8128b4f5116a1cc3cfda5ebc67699566646d99353e1b8b1d25d7a3d295 +CT = b4fa106e0e1ddea350f2f2219b +Tag = c21a472e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 98ce8656058946ba17080dca28663f20 +IV = 324ae3834f58e8a2b3551e0e30b32e057e6fa17827739af118ff8d493df201f367e0406037f2ca7423b5144d49948e4406908e29e0552a8963ad22e2198c20d19bbe59cde29a786c52f2cfed124c2b093fce22503dbbb85047bf8e4b5bf6ffe45e38fc08c79073ea65f71e54318b5ac6c5d36de81945df4f3ffc270af53f92b8 +PT = 89ff3a5d3f034ece813761c9306b2245a34d931cc56b846a12e04c1ec364dc2c +AAD = +CT = e8057b920c7a625ffe8aafc15d8f238b7434ec5b211fdc03df31c0661b8a3e9e +Tag = 27090e476bfb670762fa07fa3b7c5171 + +Count = 1 +Key = d1f1e535538a3faa6627d4d82261bcb7 +IV = 973a2616b8ce6ea46e98625c9bda5d058bcbffa40cbe5c4d928d183f97cc972bd137869a1bf2e1edc9ea31f60f450207a424bc4e4f5c8d087aeeeba67b402f4411739a0fceb0c02f0ce11b15a3d76a945e065ce38eb8f3f63039f6bdf5b8357eeae10b86bd13c5883e4d650d40839b93835f6ea864a80d567e2bd2dc440c92af +PT = 4f31c3f7ddfdaf54540dc20d9509598ac9c40fb7f42fa92602455e2c3e306b69 +AAD = +CT = 3cad8aafb9e9f4258aa738458b82f368cb56c6c04cf91c90a32240bfbf07a459 +Tag = 08526ec1e67baeab4f772d79b6822222 + +Count = 2 +Key = b1033ae0ea645c649583c335eeb8df8f +IV = 470b518789112103751442764f449fb57b2fb25942d3c3ff9e9b757afe0435107e615717411c35d6bd2e5680427eb1af4bc4d569b57bdb64965e1d1a8bd939a993fc0d9036ad54ecb2c833ac86c26de8224dc5304f9e8061a6ebfb859c529eccdff0eb06e2a2b63ecea4920e3443a4b6662968b7a3fca9dd2a3376eb30be1cb5 +PT = eeb79c63eec2ded6e901ec58cfb918c23c7731a2c36e88184b6f31d951698e98 +AAD = +CT = a73740c956afda35181cfc531d67dc8e97208c3ce92ab5eb40b201790d591bc0 +Tag = beb62e21879b5e14853b6f3934e71be1 + +Count = 3 +Key = c6fc544728ae916ae27033b89341b674 +IV = 5a12c4477bb4bf4db9fb7468764d447e29e1b29c216d9072ac80e9f593b971122936589fb2f36e41458a5d59e723324fbffbd3a139bd849fb5105005387010c8bc9f3e8de08b3523a02e8c289fd7d3f5df12896467fb1f6fdc7fc9ff38cd35a9c2af4af427f9a77b32ea816a038b94b3d0547d691fd322b1d2173eaa44ba7870 +PT = 7c59dc287b05cc00656a69dbc6e492eae67a735192fe102b66b0f5aeb8580676 +AAD = +CT = 871c0dd4001defbbf6cbe5adf091be651bdd65b5ec9bc9f15d51c1be1a1b7589 +Tag = 855fab52cc8a8068a3527ffbbccc1a5c + +Count = 4 +Key = ca093e9f7cebc6fda6a8dfeaab3fca9e +IV = 6c900b7c982b56831a3e978ef5f877ab1f84acafe3d8a8c22e09453d812ba1a5be3b5cb129de279a77fcbc1933b6cdab3b863b62b54142ababb021853b3c5fa0e0c59e857c112571a5bcca9b4a883c3f771f3ef1341a23a72e31fcecc55259f19eddffcf17677e474b7ff4ae83ebaa49b01d630621940891972479012f7a370d +PT = 56520eba0519ed2ff93f8e87ea470416a1d1606ea7461e0e41f00b0259586e2c +AAD = +CT = f7527149fe1e3a84407910025ed266960e9ef89301da43f426c2f0da478092d4 +Tag = dd95eed5213134b4cdc8e33577ee3ca2 + +Count = 5 +Key = c06f60cabd7bdd80440175ab851b69c3 +IV = ebcc9dfaec449c6d67b367ccd1f50baf7db13139339d7044fb772993fdc4db6f1e297678db5abdb1613f34198602c9e4d69e16d8d3d9586d87969b0c41eb19b47dfe61c957d8cc16a088240066805ef0887325b6ca9b8fe0be90b2b10942861a19f8cd895f3b0b7049f5380247fdd801d574c5520b89d23663db94016b21692d +PT = 67cce68708bfb2891c5c918025865de6b01a6dbd7e01acdb3e7299f18702e952 +AAD = +CT = 59a0be6e32d122a6e47d0bf238758073f1abf5deefd4deec93556f3e4b870a23 +Tag = 57c9a1c4c3e7064996ba6c2d0601f254 + +Count = 6 +Key = c426539ee675bd1fb75931e679994351 +IV = 250e7e3dcfa7b2cdb1a9cf0ef6a8171d5242a52a431099dab369508c1f4f4462fcbb5ae55cb0b2514c1250a1d95bdc32eb3c7766f3a8964e241459355683cf078e2ae40b0c6d5fd8368b28e2fff58f25fdd1b8fd77f463d8c7b570950a98a8461791b5ae0ca4e678c5b04fc1f9100d6dea2964ba178b7d1f1cb756ee4ac05f54 +PT = 140d8179a79913e0288bea1c46bf3a79f094013ed887e21b4f2b99ea308ca4eb +AAD = +CT = c8c8ce4e4141efc216e74c0c6269977991f451f1da9051ac507a8a4c2643771a +Tag = b645ec537f4098f80f196833d92effb9 + +Count = 7 +Key = 3c8df11b06121e753b9449268980afe0 +IV = f128d2c7fdb16a1f76f32f523650231c9a2de4cf318c4f20047405e1b47ce38629ce395e28e825432f42b77a98c695b19d324acc4e8494e0a78aa8fad30f8fe43adbf0b638117671d3a50764f84842570bd81321eae8899ab400357ab3cda930a19e69c932aeec26112a83dcf71df0f55a3f09835c97fab60a8d377684b1981b +PT = 2ef409afe881c0b1f6f488e9d1b3f618cf548e71eddc15bad6751e7b5409cf07 +AAD = +CT = 8373651237e0e49f380e66ad2112ec8db5433097672a1a91c8be829bc185669e +Tag = 90a6caa8d8acabcf106d6c36af29c1c2 + +Count = 8 +Key = 2d6270f62c0fa060b24062ae8f482bfc +IV = ed7405eff0e3f90e3f670fe7e13bc3a7e5556d83608894ad1e1cd0f3ef0797b80dcfed07e8a000873498dcd59ed6e4aa31ef6c3c2dc7d8f4243b9f69139901df11fc529a35ae4b3d0fef5ddc143327fecda6a79b8e551e58f3eee2496597ea3f53d3cc40c19f2e18671e8f2e247d2d731b0778847d3b243acd226ec5940c4cc7 +PT = 506ee5442cc7051bffb06c2cd193bd7548cb1652b04850cbdb12a03cb85e0de5 +AAD = +CT = b997cd8be8f6b48cf3f1eb546aea669d6f3a80198c6ebdac92ad7d675390a09a +Tag = b0bf55fd21d466d474ce88fc85f12358 + +Count = 9 +Key = 2474b313d10f2fe2952727f5a13d8c3b +IV = 8c95178fcfcef2658d20fc0447921d33c2ee9ea97a0b5ebb496a7d90be2cf1364c5516d8f34ccd03e0efbf7346a8d893312b8f3076ba0d58d505ca450e6d1b39b8f706861c909ae24ddda1611c8b3e01ee33612dae47792850e663331a3edabedea5a3718f21904184cb8683ebce6fd04b80e095c8f1590927e10d0a95c725c4 +PT = 7490f23cbec0ad4905e159e594c7a083802c50ebe187d27a2a5e725e5a983881 +AAD = +CT = 795535e318ebf3ac05ee14ba0b8b0edb9c8ea0f40d11456cf4e492e507ff215e +Tag = ed57b5c1144bbf34861436446c3a665b + +Count = 10 +Key = fda4945c41da8feb607d9cef19aae179 +IV = c90ea0e3f1ad14f9ebb2cb0a40e51366b5b3417f0f5a362f7b84b030ded4f0bb9ce968ba2e2c8ae4e8a515e3eda054c6399fed49e7d830fcbf70712febea504fee2be0d172d166800b95d0e3f30e3bddbf22408771e1136bc5d40bc1ea5cfb61fe753813f9d326a86cdde384098f214bc78ed37ae3ed399e5b7859df9d32bd0b +PT = 52c2f83eb56c859a43654dba6f9bbe56578ed89bd9679a5175249eb5420c368f +AAD = +CT = cb1a229490f33c18515ada43b663046c6cb0d011bc8af8f4626e6ff7c11943c7 +Tag = 926f70722d7b71689fb0a7bb06922598 + +Count = 11 +Key = e70cda4b2ebbab70a99f0f245afb940d +IV = 916d20109f17f455cd698937cdab3e748966ff58966b0965f71f27ec53e9283225c78d1dcaf934a6649cf10c30283c56fab31f90a76e87e67af1daa82bb356d6e33162d96387d646b3f33f2fe85bf3ff090859ef1a65f51887bcd4235e28359a24c2e6c12242fdea2e8afa2cca2a2ffcf50a39d5b0717b7ea4d08dd6df5c1482 +PT = 02a96c3a6b46f403f5e8865556d374b1f0bcb2cad0afe70352a6648881761f32 +AAD = +CT = d73e1e5606c5f7108f640df1909e8db4a0b4f7820d50fc698700ab4be1ec768c +Tag = 1112c18ed0ffde5fb3f2c642aeef0fe3 + +Count = 12 +Key = 9b6ca198737761ff45ebd3b29137e2cf +IV = c94edb15365d7e05c2762b3f428077e24c7de94545e87304bb41dc64ce4425dee4b7428f7cec5447130988bcd481023dfcf471798b3077511727b82cb73059526829c748f72223df381ead89a98acc6b08a0975a218f2c002067d4a90138dd1ef0535a89516809567757c832b1498e2fed18b16cad2725ddd960c690600792b8 +PT = 349ddcc98453f1a052e891dd58fafb9be44b6f60a8149a82ad7e5546fd6696c0 +AAD = +CT = 35716b030ca8ee99603bb08a619a0a51aeecc75d1116ee9f561e242b1945c639 +Tag = 1cf26ce7f2fa53c7a7ee8da6524abde7 + +Count = 13 +Key = 1bc3d2dea6a0cd8b30e83f0baec214f8 +IV = ae60e8d14045b6b9e9c97131e8125bf880653c45df43071cfc0270a98c99a18521d0c9f1ef9eaf4067a9f5fd06723147c98d64909c64a53f4883550b891e732d95626efff0b12eb477011cd7cd9cd1999a276240f2a56109b2f29c94bfefe65e87488d2185f7ca1edb08697e464fdb54db6f8a95ca2da25e32e73a6754078575 +PT = b5eb64786c2b5d953c01c7d27db8acd8fec45304cba0302675815056a8df02ad +AAD = +CT = 0178e37acf11b8ce9e50b64c65aa71c69c08d3d8cd41b67baf78232090c0b045 +Tag = c17ae7990a1d9b8b2e48c15c21496447 + +Count = 14 +Key = ebfcc9cd94429ee001d59cb2ca595bbc +IV = bee6875cff31f08fab6e11ab209dda8dc0528542c895ca421d5a3923b9ae4795f0ef58959869abd70aba4bce6cc06b1e8600805792c739e651b33fecb8e4b8908f652fb8089a7b531c141fd8e3b8fd7f70267132feaaa8d1f5de832e75290cca5ffa93d76d17c41daa97c4b0733c9ea14b8c277fd165091e265391dd9fc1c01d +PT = 344e95bbd3a726c705d2dc68ceaec692968609ec3d0d7b941a2d74bb1293f77c +AAD = +CT = c4ea772981c8c8d89d8da215a848fb7dc305b6db8bfffc0d5aa6841073fc6de4 +Tag = f067176a657cc94767fb19a7fcd32ac8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 2c2a1f45821e404984b5f1a8f64889cf +IV = 40730802b2706030484cd2446c46c00f301824a2d23d24d84cb7d05ec5b8b5b2898e7a77c53361a69e8967695ac4f081afd4fe9e9289bda01c9c26b928efb9d9a5d432f2d057ca64640e3f3bc023f8689579f45ece2129f9bd1a6a59daee14c0433e426902b661bf54fc9942105ba5868ef3c97062d8129fa415de237e050499 +PT = bdafce0a6aeb76d9ec6177e25701a1a6bd11b8be1568954f8f78f576af4531c4 +AAD = +CT = c453a1d5d6cc6a93901ac94abb1253b7e09df8a80105406a1f1c79106d8dfd42 +Tag = e70e67b83395e28cff1aef55f173f9 + +Count = 1 +Key = b588dc7428de8a44bf2a1eefd8947dd8 +IV = 0f67dcd766e45f37440d64a519d450d1d36f8906064758998f7b024a23328b6bba913f2dcf3a998229376e9fe6a327c3c924220dff757a268bcc784893884b76a8915dc68a159595291186b5f549b059f7b0cf28e0b34bd490cfb437a79bfdd43d9950154d87a3d52cbc601d4908ec15df37ae13c85e23bdaa8291f6048a8457 +PT = 02f954859d2d683ce7c30bd37a4958f047b0d607f89bfdafe15ab88116e84e91 +AAD = +CT = cae49ba60ae47d71f549d8dcd7c3fe53c0e42a0ef16279d579623006e8bbb792 +Tag = 935570a628201a611867ad54f850c2 + +Count = 2 +Key = 1fb49eb86256e2d3091e2b55b7280a66 +IV = 0b5caab8f89ffe3a52307c8a0ad0e91e5f044ceaab3f89f6fafff540614ba5d3b14ad59aee6d494646f57f00b19ee1a4279abf80fee124cfb7ea0223585509ba30d1d5486941694301743140999541558478a022009e2e5f1383bda65246555aa59202b24af8bece3c9d521bf9e9409ad0bb234a85461b23be9aa0196b7b3c1e +PT = a5d34603bc0771645f77e4d9a19133aca334d48b442f906800f39c424257ffaa +AAD = +CT = cabe543aae11154790fb8ed1580aea35f5b87f787d311b380ec59d17d112be1d +Tag = 2a04169f290c3a2748f6156f04b62c + +Count = 3 +Key = 2745af580df5073ae77347484ce65be8 +IV = 34449db726ab81c73951ec7b42dc995efa42c565c34d935bee1100c392e29afe498f6aaf08bf3fb5cbb95b0d96fcec74f7c1e1b4906dc23954861f906c612efd8f8c60bd4636e97001f853cf43dd4e901f8add0b43b063e6a4e31a6c6f351d28bca81f49757d46902035eaa6e4b31b4f0f9b9f2465dad630e93952f5a5a6a11b +PT = 520ecfec74f09c80fd1a397452ca9c5870609a82373a43372b87c2b8a63de4ca +AAD = +CT = 6f7f20ba5a7df06ecf39e44df66662c9830a9babac9b0c1980e4c8d849956b1a +Tag = b5dfc5e00c26f74dcc1dfdbb28a663 + +Count = 4 +Key = 8e344947b9c7902733eaffc5537abacf +IV = 23b3e37bad79621d2b37f18ed1e999feece1da223cb76007cb637dc29f4afd331988f9f1737090b404754a2e3d017afe873ed92663debcfed8b3f2f00cfc88667f412e9ee7aa0690ca979e8898eeefeb53d570a1cb9a338669e8d7754d0b2db2c9699e52133924c755a7c6cb4dab0c18bb675a611f46eccbea7a295054b03057 +PT = 5795497e20682648e0a185b3291a347491c537160f7c56092f93ccb32eab1062 +AAD = +CT = dc1a24dd332c648ef436f86c9f2c3ad98a35bd1d79e062fa3d7a0dc7cbfa6f41 +Tag = 3dde2f6e445ed24bd9bd34f1ebc419 + +Count = 5 +Key = cdfdef1c1f59fa5b55f980f100da672b +IV = a5e54048d9c948123ac78f0c4294a66054383d8c2beb9cf95edce60c545970acc32e9e2e06eb09299f44af69be6dcc938c953e8a708ccc70c717523b9552e13ea28ae0523ae3485b34d965a962f1f65737e3be437c31e49e74d1b3e126edb305d6a0bbb4d9b8d9453e793b21645fb0cd363aeec240010c5be1ef0032f05b9105 +PT = 5f2ade13e35965b847d4c2d4293442b8b81f62dab380bc8f335408eb98c2f331 +AAD = +CT = 6aabd6c3055ecbf24dbe7463aaad82b0136236dcefcb330886f0938cbcf8f853 +Tag = 5d8be6ec3c4a67af938099da08566b + +Count = 6 +Key = bb8628990f06634d65e127f88cfda722 +IV = e490d2705207b9dcd4564c4812e152fb6dfc92df92c7b98cdc6a8854a7428489218649bd75e04be5289aa585aeb1dc79c761a7061b7a6174da781d85cde3cf2654a12ec51d7ad1be4ceb05317c8880839c862e185b18b3cf22731e4c69785fa9f21bca15f6acfabe17af231d98e935da2fa305b843eec11c2d9108f658b4c536 +PT = d9ea780a12c93c3daa95e9d04bb47f63c23caab89ec72e4002fb81b1fbbe89c5 +AAD = +CT = 1ac7fd640d808d9ff013b9f42a001a51eae2cc0bef23e5dabb51f714083e6a2e +Tag = dba83036dd8b9770bbb523ee2732a6 + +Count = 7 +Key = 56d8f8a46967a50aee5e53ee340b2b17 +IV = ef43a4881a1bf5717e2e681aaae7dfae19e950c552ca86896e7fbf4294dd49d67108f4afaf7967a13a0557bcf8a3e02a9df4fd99fb05a1fd916abb7c13f3f1c48e692fb74586a0bc1cd76cfa7b281e0b434fba91a2ee238e67edb4c23766a708c81e04aedcebddfce74a16064219e1bfa2bb30e94fb1a45603fd34cac09b019c +PT = 87abe8d8f14c6578942e4356cf665e1eed7a8e48c84f764edc58cb2db4f73410 +AAD = +CT = 61c4ae4e07709a8419311078721252bf84cc0ae149e184b017dbc58aea30ecf6 +Tag = 71aa095a8d5290e2b0dbb3b634807a + +Count = 8 +Key = 67fe23555a564a693833ae654fe55870 +IV = 5235fc505d62f3f1b8a4a514f16b1a9992f91f9e1d591d9c78bb1fc2d8af87bcae1ed51d9856906ce63715a7cd6c3435623962f7e8b9c045efb2fa2218d8e0e9b7c978aedf2fc9df43370e646e0adbe3f51bfdc22bcf970d6f7387649e713dc8eba6cff649c20373ec3fc138fc88e5ccf5e694547ff2eba31b6960c031ab1de7 +PT = d24a010f007c7da03c474e36111b9c7a95efba950ebb90ee9103eab97e55633f +AAD = +CT = 4e2033fda1123ceb86cbfe072632f00ac8f3454cfa4c6fbcc741ff00f40dd4de +Tag = 67540511c8e723143656c27d1a04d2 + +Count = 9 +Key = 54174e8e95f25c2fa4c4db45543e3bb8 +IV = 35769ef6ea70c63937753e368552fd64f7018eea310714ac0d219b1292bd6767d5e51cad3b0a2f6ad8b9d83c7f3cc9fd06daa45a1a8da271c6e0d1bccb5e6d7697868b6e3d714b7cba0f5ace1109864964288787acbdd7b97f108c2f3bdf41427f0d1f437f41b7da181843271b883de04376935595adbd06f62315245e62b7dd +PT = a787f023ff2f411e16476b5414a3629933b495332a6a3bc044f1e907d1f57954 +AAD = +CT = d97777adc50cae688149d53ad9039a219152e2476f7e9d4b734ea4257b23ab0c +Tag = 54abf05761cd7c1602c625fc55dc45 + +Count = 10 +Key = 8f49dbd9ff45e2b7ba35b9f8d8ebb1d4 +IV = ba6976b8c0315ae14301c5b772627048d19a9331a6755b2bdffad67dfd04314eb810e8e15bc2388bba88cd7bc81b49f9961ee6268e378a7a6bb958bcc08cab077b4c795c29fb96bba8d82fcb5638c27d8958f9a4f62a801368e34b9e0cb8c6ebc9928224f51052bcfb080f3d885d12daca4f648c3a2d7be832e98eee8090bb29 +PT = bd0dc438982acc02bd2fb885cd24f1890a1bd19304c2a5b70a1ef77759666222 +AAD = +CT = 92a1c6d9d6a6bd814184f3c8d6558ed25301c2d1d4a66834e2efcd623c4ad700 +Tag = e6b13d8d32ec9b5b8ba7185d1fb3fb + +Count = 11 +Key = 082856a5e8e7d8ff177448651d2e081d +IV = 2f497b715ed3350dda0c59bd9169a48629c38a6cdccefd33f77d296b333221e12269f6982e9f7a8edfd1138833112f7a55c94c821799858ac414f1dc98cfdba3d262d5c6272723c1128990cbc2a2ba2ad154cb0defdd831219128eee8b83756b36a3823a7723c5c2ef1a72d417fd356bc752570ac1e50bc6c1903a96eb6a9099 +PT = e4ba64f61335322b29807aab21fbf183f7c0ed5179e17f73c52119bc2e815abc +AAD = +CT = 2c684cebf31a0947d293c00731bd51f055174823a7fdc2e6fde2354e23e231bd +Tag = 4f0974e13b866164d106efb13e1346 + +Count = 12 +Key = 6daf687b10adb21194af741c13f71c2a +IV = 71cbf821a8d34a40a82832369cb18aec4a594f18f74c8e847142072b97bc20a5e1dbcb7d1699769aeca42a0cd77785d11d3f73c5b0c9efcbf7ba7f58706f4056fb7ffd2e10ec943ea3ea1ba72ae86a846875a184a27341f60bef7147c5a5750fef77338098f6ab18b52c3c597033f4d56c2e5a80da24179b56f51b4dc6965377 +PT = f11a17eb761d2b5a993e842ab09bc9f0f5f75d60ebb0f447ff4bfa1ea88cf563 +AAD = +CT = 4e60fead3410b8fcd43452ca29ff9737566ee50e192c0f4d760b2dad3c10349a +Tag = a198038316279503174e301a74888d + +Count = 13 +Key = bb71fe8f8516964de17f5abae836b9c1 +IV = 33a7996afb2c0dcdd20cbe0f5fc4925f9da5e9f3197b579b07618653d2994be1989b4695b06f183339713c3c32181ae9585a1f4f5336ccadbfe2cc6b5e180f8ffe1e1757795e37a8fd286a3efe1490f8daf7a6f6485d871dc79a8b7588721a926e26417b6ef25672686b291223b4943ee9dd7dc8cb5c5f493f59cc45ca5f0453 +PT = c8485ee97694f7011c4df87bb1b90fcac3cda2630308061f34fcf0ceda157c65 +AAD = +CT = 5a91bd52a209462c6d6d259c46eda0ce01a990c0fe3a4c0a5da49faf583c2511 +Tag = 4e205bb8b94fa67597a9ffc6180e0a + +Count = 14 +Key = 65ad910c75e4e63d55c18b01fa6a64d7 +IV = e1e314a8d3c5b2fc263522e0d779840f4b1cbc854513dab51b9f0dc33bfc5e849341eaf55aadc98b02b0018b9f3f485fd37f8a139de73be08394a6c9e10f3dfc1260f061d5b5b17b817a89a20a39a3f86bcaa37d69009bfcdf8b60db2850915f223ffc44e9e6b1c5dcf82ed30cc11b60ce46703cd3568a7786e34c660046009d +PT = 6e95169166208263ba17e4571d30e692df737cd3e59961cbcf9130ab9d055fed +AAD = +CT = 00e860dde61d4e0c6a278433a6e67c06750823e7b7245e0d8cfec57c6c37728d +Tag = 7e7e3a6d912dd8e5cf568eff7d5add + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = 360863df8b606bed3b81beb2cccb2fd9 +IV = 129c25b9486066dfe7e561d4b3b22d44286f0633d1e2dd50b9a78c9ebc806d65e1588e4f8a65a9df20342c6241f14aa81c3e038e16f24844a22c5b887e7567467d3a2883d3861021462872d0b3c46b8546eed19ca9903bbc8f5112f98a8c1973ccf959d2c7c7fcbe6eddab9969a36fdee9cdcf5d3477338157822a7819ff29a0 +PT = 4f498fd922626164dd3d508cdc5d37d41f411b738f413a9080b22f6296069649 +AAD = +CT = 807f71eaf922a660287c9d5c8a505314843f93cd788a1e721b30851b87170b73 +Tag = 166707b928cbd3e7081f8f185488 + +Count = 1 +Key = 7561bc33e5acfa30e98b2f969990365e +IV = 1171c63e2ec0cae7fce1f486fea1c4c6d94c7ae7b1f91dbb1751145a6dbea30728e9467691254fa406f2e3e86cc766de2834e4d76e6be2922668c63d5ade97ef473f1314f2183d8fe0cbb0a83c86959deeed0bce1d627fb52bd274a581cad4a80347017452b216da6697cc06e472754c2734ddff8752629c5e6db7e2061de410 +PT = 4be13d4c56d0e2558ce177974eb99ce575c912a76c0a600fe338911b961dfde8 +AAD = +CT = 1fee78fbe080e8f8e291c7d7f8104b26578d30a9fb8c9dd633c12fbc4234a2b0 +Tag = 4892609d5e9b5aeb06f1e6353d11 + +Count = 2 +Key = 3c17f26d2ededb3c4f708fe3b5610b49 +IV = 5a1ec5674107153c331788a27fe2d864b941b541f4f63e181ce82b90ccb927dc057dd83d862ac7bdbeda18ca5cf6645cbcb4698904b6d58c645dde66f4859f8e0d09b2ff282ef8b00dbee890a95d8daad7e705f8bf3babd0d3756ae2f0f4cbb0febd5c4349e8464f0866d0069b675f6c1e0895c5e20771666b8c564c21fd15ff +PT = d09d1039bb8e708235c13b52be21c090b07f101b8e4ba8d82b8369cd113f29f5 +AAD = +CT = dcd3556ee1713bdac5674cbafefc761d4a06b126eee4a15380e51a49989c80b5 +Tag = 8f8856848c67bfcc5263067cf752 + +Count = 3 +Key = 39ede177dc66c1cfb59ec9e27935e228 +IV = cca3617d75f5bdb4c0342ace715e5bfc7676a267dd0c17be46a1732ac215b3a8ad473c4a6ab7f48d7be1aa81b276ac53db37c113cf86dcbcc00fdc4eb0602312f7facbf51572abc6e6a28791a04bc7b5823ec8f37f8b8dc69873b6036a949bb97227590640705681ef72cde7dfd6b6f96cfe3794628dc7b74ccd21f9099f2342 +PT = 619518a44bba9e3924beb1dfa3097beefd0a9f4d269d1857972068ab2eee47fd +AAD = +CT = 1ec4961a4509cf18df5dd02c40f6c818385ad698b458e7859f9747f09d847de7 +Tag = 8873a06d641a476462ef06691aa4 + +Count = 4 +Key = 96ced75eda5a3c163926ec495d0ef576 +IV = d1e75b3f79be86c9e62dd54e226a3c215fc40d636576acf33beceb196da766d0e986fa7d924797f74d0075bc1a68eaa084a745c5f3ca0763fd4cbd01555a4ae4f14c57c7479b393038f7b1282faffe42ab76588a17f55c647d4ae3e514aff4b52a52b234549910b93364bb956a3cf7d99cef84975bcfd58013205bbff00a37af +PT = 1625e75936b242993e256533dfc57e2adfca5e4763e1513896c0a820b6ccddb2 +AAD = +CT = f0a5c1372dc0b0e2805c2ee0eae1406774d8c69d8f7aad643ead736eb8b563f9 +Tag = fb823eaa00dd38139d702782c0c0 + +Count = 5 +Key = 8319e7c0ae080c37e1c14eeb85f215d6 +IV = eb4b13b574fcfd41186ec5489d834e1c48e1acb74d97c6f8b8eb4db0e8e03caa12ee67f71303d1a613b381aafd794b871f043f4f6b73e742ad473f3953b0394658219234a7383752cdb6a3a722161ac9c54a5b87017e575ec2d5eb000d13b9db4e97c17058193e02945f867be4aa2d4956d86b0260aec479ddcf501ac5ef3cc6 +PT = abbbe9b63969d83ab17392e0475cfb4048165387de485b6336a568297b352236 +AAD = +CT = 5b8cec478b3cf9b806768dc22d37d95387b6ddac8792ceca19422360ace2e529 +Tag = 8a0563ce41f1093d009a2e434c02 + +Count = 6 +Key = 2d2972c87c11dac138b0c708987d77f7 +IV = 57019a67169171638066ee3281f590bcf9f72ed0beb3d2a2bdcc03373f922a20030b267848a10feb2ccf184637bb9a0f82ed09df0830a1b70b79a6a17bd5d6bf4bc2d752bdc34d57743570f8b47125005ea68829eafe0a5ca4cc18ffe6e6b2b92db336bc089ebc383b39a864272a4ab03b4758351e03752c972c60b826170b83 +PT = 7672c61cfe59cb0adf380b841e5ef4f45352de55b0c0b979540ce762040a3c43 +AAD = +CT = f6a78cb8d4b6ae480ada13faa113d21d90c6d903f56fca96e1a31a3f3913b416 +Tag = e1da282a9d950ba7fef4557f57cb + +Count = 7 +Key = 7921254bf0cb7d00ec39b1606c919c1b +IV = 665ba2e53d087da20b34894e73fde11965ed292469b09cf11ef8cb531f685ab0af2f465e44162976aa37477a86863867fbf1edf7245a24321e9ce4df5e98a05580e672ce92052136ae4df59b33119fc03fd6de5efd423dd4deec05e52a6d2515f660fb1b2a3a5d072cc0d80c4465c4182b00fdee7de5121bed466b3af9438faf +PT = 8849eb7fb9348a46eb59ca39c6134c00244d099d63eba89ce8a834634663768b +AAD = +CT = a1c07e489744026a5187ea389c6bf852de924a3ebfddf7278d837b83737659c8 +Tag = 68348aa08114687d284df2ddfc5d + +Count = 8 +Key = 0afbe3f1c89ef3fffe8e230b519a0787 +IV = d44a0ec612ccd396618c8d2e1dd3da8a4044a18938421a63d6c95085dea8db5239a5a3b25a95da7909b8652965b3346ef7a8819801dfe03d33ee1acb2d379ce2d8443af46c40a135d963717dce0284edff50b76fcee11ee8a0ba9299adabae6967e132d74baad6a884300ffa6bd6f7615940148b5f27e4b3d0d1cadf20389281 +PT = 44414a9eb6c9aa478b26abba46546b527aebcfffa7f704fdd2f5e90f3f3524a7 +AAD = +CT = d2ebcf3a53d4c15d26ec930d7c201c56383cb6e6ceaea21d42b7053f6bba4d7f +Tag = ca3dd3ced34489f21511b2c01142 + +Count = 9 +Key = 2daf4e184bb1fa851c3ecfa30ffc9ff4 +IV = 938252e2866244eff4b5d059596d180f4b3e611a5f28d8b562261976d63e578c29ca0adf1de0fe4fe75392cfaaf45d62dd8ee8ef6b0bcf5ccc97a2b9ccdb9f8de8f7282c6d77d4771a7f9f9d6fd47a93aa2adac16b2aea6669bce7bfbdf9d828301d55386d6351ff9330be2646d995533d681d793107d350495f1856cde87f36 +PT = 24e53b6e44169901b6a0084005c6b6d0539dc59c82b69b5276ad70dc5caee734 +AAD = +CT = 3f26e4910be99d365205b50f1248ec3d8660936cf74b1b92ee2ea635c0026906 +Tag = ed1611e15f1c23d2cf06049f9331 + +Count = 10 +Key = e9e9a072df4868d147447325a9133679 +IV = 5eaa6b4a576ba6bdc7a2d1ccdda8c63c5f59ff7f0facc0415a79d34ef69ef9c4760a8d89ef336c68dc7b9971dd83442679c685aa4e196e9bad7903e5356149a58f2346d56e511320ef50536c139af660cb44928d2638d1ffd079342fe2306d50eb2640a7110c48f05b867f5a0fd4f0b6a1c6240753ac083d0932467619d22f61 +PT = b53342050927074e6294e749f121b84d71111a336565c6d6dadeb6b1a361e26f +AAD = +CT = 3700869d7bce15b574337dd8100ec7b5eb713462e798ae73bd4cf7accb3b2229 +Tag = 1b992b727a27d407756d7fd1a708 + +Count = 11 +Key = 5e0d3045f0d167548099c104cd89acea +IV = 5394097a9014e69363fd73975b2d04e12abf973a6e4d238a0f210f93baf90c962730237f6eb4c0fe30b914b81ec88a22c739dda5bbb05343a13dd5808e6829427a07369787ef9b0dd1302a098bc557fe9fb3b1835e1139ef00c7be2ac0f46d01a451aeb5db7d5e35ecfc42c885464f80085d79b85427d09cd4e7f27c8a02236a +PT = 827fea2c159e4767eb3dc52388e94a91c02d5b66a23a9b128d16b13e74445d07 +AAD = +CT = 9bf2a46ef6bad3f1a2f7c96473ee16d70539963675adf9f80e43494a5bcacf06 +Tag = a0256798942d1428dec79dcb759c + +Count = 12 +Key = 76ce0166e6f8c09be9e8356e5ea8a4a3 +IV = a82f57fac909630ef184026bcdfdd0f6ec7a96d18a395e3b52a02dd037af72cc99959126b40165357687a64fc34f5e6fa503738421d8ee87baf5e3adb7cb9b8514e4e3affd74f118669086cd9dfb033778da25d44e209334cbfd55a71fc476f90c53eef1ebb22c3bd35c92a8b7ad3471bc2e06dcadeeb18a69c6b95bf55f22b6 +PT = d87bb60b975435013f460992cdd20b505ab2bbca917a473fa28b8618e6ae0574 +AAD = +CT = c651486c722aa232b3e1b0023dce1d092efce41ae03c285f04b1c888611d88d1 +Tag = 4e0051772d42d591fb6c41822603 + +Count = 13 +Key = fed5413038e79d83b8afcfa5fb25e18d +IV = d17b86ad428ebd71a58d1ff5a612165853639fc823dbe31c7460eaeb62204d5db6a5df0da26bae152fb1f0fa7f9f7e9da277561536d7e3a93057f891b65b2301cb96a1d2cb848d876fd4142f679d99be70326a9768dd93b2e990ff36a9cc34f40648a0fe1bf5a05d4b9cfa7c56d810071cd1fb4de6fb6f16be537d532d2d50ee +PT = 0d44f4ddddbc55dd4e4740db160ef90b37b459b500cc835615f01cdb2cdec447 +AAD = +CT = 4e96d0d1e9e9da4c287dab38cd1a823de49b2c746138f78abce4bf70e8903ea5 +Tag = e386698c7df409b19f2282d19528 + +Count = 14 +Key = 319b8f2a5333b109f6971d4c52eb4547 +IV = 4d23ab51b05423c4f8ce8e3f7487bfbbdfba214420d1f4557aef4a1e4671356373daedfb941d333accd7022ba8ceb8298eef1391ee53efded0f0e28190a94a71932ef5dc1d825a8f0a7647af8a447821fa10ab9b4395fd323e5df7f182f62cea32b67b28cdf9edb53fc1850f414c7a4765f99c813fd85120987470d0ca177dac +PT = f0200e6bcebea7f1ae2c85ae0f92184bded63ec1590a86614e56703cd4f22a60 +AAD = +CT = 05fb488bb696f551f73091326c785176c83849a648c7724d7501a80bfb23242d +Tag = 75ffa249b5ca8eeb51f275874440 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = d230e791db0e3760bfe9f4675feae6a2 +IV = a676253ebc5911f45136c61a04b2ea65779e16ebfa14fbcdfb4ea78bbac5231d945fad845d3cb136413bfe906fe420e3522f5d92544c4b35bc25b42a9359757255dea72bebafac4d0b9148c5cce11f3eccf3912975da6f5bb8b0984ba6b07aefc2acfa8996dbcfbdaa9507bf74ba03c5e75d512cb0d742e7888eaa1e41df5872 +PT = a4189234fb59305e1089d285821747a745f9dceabc3af6e45fc9a9a25fa9fd25 +AAD = +CT = 1ce1d56a6d0c4804e542992dc95236c79f757a6d3cf5d93efb158cea2728b763 +Tag = 17b8e18c9316c1b4347e05026c + +Count = 1 +Key = 6184ff034a493e49709044f3e68d8c49 +IV = 042b87917bb042653661adf89ae5bb10d60fd9191120f97f1139dcb475205753dd5860b360e6af5582fc07f4326f65895da94859aa42125a11704148f383f806c827b1b62dc433f7b8725401ccee110d0a8a1484c92c09d02e88a07f11a08b1eeefa5ac6d528612bf85e2737ac9b2f09738224533d42a451d77224fbe0d33d06 +PT = ea74d5c0392230c068f411871bb35aea7fcbb23459429c46c3db66d96e6d5a80 +AAD = +CT = fbd1cc24d4a2dcaff97bb35874113b3196c35d7221f7337affd27515b34dd31d +Tag = 22ef97eb077037bbccfcf2aafc + +Count = 2 +Key = bebbc7254eef8dcf11d541ab74ea9696 +IV = 1c6d05505f8c4651c6df44268d08514703605f7ee775fdab4047930bd198f8473f87c90b9f27767f9fc35c1300e89a6254de71fdc7b7c3e8a289bd26a684fc4fa085dee699e22c078098fef60a53bfd92688f83f822c84455e2a8054b77a041d52781b2026a88044271e7abcf2bd0e276d67bbe71479b47c1e970be35d0a9c43 +PT = 4ea0db1526431495368c3665dee98ae396aca3494425e371dfbb602c2336a6c2 +AAD = +CT = 06c699f81809dd3cd43de99fa515090c7b5318c0d070380fa481a16b4c61256f +Tag = b2cb1363c15421fb3df108284e + +Count = 3 +Key = 2c07ce95f4f05d0ecd171614286b835e +IV = 9a5dd8cbde06b6c117efec8c2d0ec14b474a750622ed57116b7992e559034cf71fcf7910fe6cc03487912036e6e02edb9023ab0900cd07fbcab273c38c11f57b3d8108ade5a1611a4e0670b874f965185ee71d92110dad4cbc85fdf2d122fe6e19508cca4d910f485400d4b7077c5b53c8bc23ca4d216c9cc8a2532e6afeeaf8 +PT = 91fd4d7e7985964120868744f2511e689136411cb0069e1f0ec42dfc6ccecb88 +AAD = +CT = 0223842a4f53b730c129f0b6b8c2037eabe7f042a58d11b45e09d95071dd619a +Tag = 3b314e873caab6d60ac0196c23 + +Count = 4 +Key = 663826deddd771f047361c8c3aed043f +IV = d3874b7a82d6e05bc98fc8cc97c174bbe5600f88cf302d4086b9aedcf9a1d93523583750eff5b2e312092817c555f3a15db3fae29705c5554351ee9a65d2944af08498c54bb939cdb8b47563ba21bbdbf56b9397aeb148107377d0ee0b707ef6af3168471e432bcb9e0a7f36a3597bbfccc55135d8bb6ba52eafe18cf281e314 +PT = ae0730aad9dae902ac318ef3445528da2ad89eed884f178340d96780bc997ae6 +AAD = +CT = 586c12384991dda94bae358f8e02c1f23bc907f752ed69298d5a7f1a4686a852 +Tag = 164730b51d9862279857ec4950 + +Count = 5 +Key = 438ff1d06598aaf6d9cb42b8762fb84c +IV = 20e01cb20cb61c6e8dbb329b027751f3921adbddffe4c1a67cec37ba2f28d528333a31b69fb7f795b813a300c99f227b91d07aa43a7472465658c323649234a6c44b0f17c85af4658174e4a628b965d7f5aa31a90aff6a6b530bf1d9ecb4e9fda29e7f369a4fbb15ff157de9017b5d4c55ccc5abd1855a70193790eaf041256f +PT = d51211dd6a8385af1eb4f1f5a1faed97a1616368f7f942433b1cbe34ce2bd4cc +AAD = +CT = 32ab646e587f2b1b115d928ba66f6ddde89f53238cac2e83113b09ce4f87ad72 +Tag = d5996c5073b4f2a5baf1171661 + +Count = 6 +Key = 72afb4395d5e9f70820fa6f1a9a28e26 +IV = 78344bb7bcfe875adda8c2d48696894b488073cee0d71190deaa830ae969473a950b4820cb7c158aea7a51b9541a580dfaaf53a25d42bba1c11fe296494710a708bee85c634b036e2bb05ece191e9921de4791d082558abf8ef9a9196d8debfd092923b62a253b2548c66667d104d0280fbc606b68139e956f7e561c461be892 +PT = 88fd8658bb835ac114fa489ce6af391552b7de35831c6fbe7d19f4c7ae8318b0 +AAD = +CT = c309914230fdd2391640c706a1444997e7dfad62b936ad0b5b2394f5bb3ca1a9 +Tag = f0bc3f768c715cc158cd823ce4 + +Count = 7 +Key = 9026c592083244e5b024bb8a51acaf58 +IV = 2c966b2c512b493a6bf0b1df74b9d8de687bdde24cac00ab42a42e00dfb8ebc411c6c54dd88cd67418388e0f9ff9506c5b2bc49949af6c69764875680144986ccc233c6dd48a0b0cae02b235172485c4ce6b044c6c31f3fcd77a0e32730565481358b1f2598fd1d1909070c415ccd4de61b9b07c66f00bc079fadbe7c94a729e +PT = 9f7cbdf9bf3e53195667b07c562f6f7846355fe1bc54aea05690b7152b68f44d +AAD = +CT = e9d37083e8d04da9155b04a377e1791dbef25bdb1b891310fedafcd5c40e7d9e +Tag = 28640dbed85a37b2f4bb4f9a4b + +Count = 8 +Key = 4484415f587b2a82c21a2648f35ca4ff +IV = 87555d59d15c1513cf5879a8d508be1cf6a241866156795cefb49b4baab610af4ed5277d69364dbc603dd4553617bf421ba59ce711bce0d87049c3b7c1fdd8ad3f69d3edad64d97b5fcc430f15b737a818127988a097f232c7f2f3b6e3f335ba1fed28dc01b77c6cfef363314c608e8c3f2937ab30f35c62a617431fa5f67b1e +PT = 8aa43f5e11e70208ffdebe3f96caf87cda5451ab5db1873afad6a9fabb71da0c +AAD = +CT = 3219d1f4332abb2652b4166e03ac85cff3b50fb31e44587c9ada4e287eb79bd2 +Tag = 5c7271b78322d1fac847e484a2 + +Count = 9 +Key = b313c2deccbb52a2f53f3c6b2531489d +IV = bf3999cfc6f76962f4711bed9f8cbdb182b3561515c9349730e442fe498210971d6c458533c17585d772688706eb1db03988cd8f2e82c52766999caf64c4d36fc49acfb1bcf8363459e9b7c374c8f6fdb053ea6d41e31652a1fe95b1a8eea3e407961d4bb84737e49689fe6509f5f22ae7915a39fe3177e1313ef87aae7a01ce +PT = 633d17a7fd0e01908c373e39ee6e98319127cb9893afa60f0a9f49482325d914 +AAD = +CT = 3f9e96456e29c6a11ef07ef24c4a0a254bb70968acf0ddf3b5ecb65dc353bfee +Tag = 0b079526ece2b9695f695866f0 + +Count = 10 +Key = bbe1692211018e557838dfa108dcaa2f +IV = 5d758f6f75b13acba2eedbfb6df1899ac1f5c1a49df52dc72fd23cc7bb3c67b886f857e04d0e0a44c1a28bf51552005f97934cfc4a6eec94e8db40350d0d8da4e3c159acd3d2a72ae5a70ebba94761acede3e1e3da433fc4645d2206439768ea7426cce570b940f958b6791776c2edd382eb24c852a4e69e6ac34a525d36dc10 +PT = 0cd2fe7ad1373dddf5fb155d36cbe767594d1fabd3b8ea98b0c6133272a8e0b6 +AAD = +CT = 0a4a443de7ac91019aa6346e3eacb5da41c08c539540143bbe2f628702fdbdb6 +Tag = 54ae2177c7703c19f6308437ab + +Count = 11 +Key = 6303844ee8f787092c4b924f8dcd0547 +IV = b9feb01b011b19ee1a66abc7bf2bcf8d883926d21916971f05ef03d92aaa50aa2648fa76d78396c3bd6bb53673ca1784f64bd144629971ec0ccdcf75c2b5da7bec8d25ae39b4b9a85e97f48459d239e85a2d622542eea70f1e46e1bb7434be18f780e47776a7fb7f19d865ce70ecde7b433a4702265c1eda959e4ffb47e9b1b4 +PT = f3334513739bb75af703bad8042b54147698751b6104c57fcd872a29a3a37cc7 +AAD = +CT = 0e49062b540b1cf35fbfcf728d17b83dbce61ccb52b16d8e06b11659d7e50158 +Tag = 25873d1071526ad5353f729d23 + +Count = 12 +Key = 718a8fbeace863f09eb11830e2ab3619 +IV = f473bab442bb5e4f89a5cc4286a354e5ddcfd457c594f2ef0a06d6c26a372641edf55ce64058d96430a23cf416f295349eac87fc67b03348467a37b51db2ecf40c6726830ac0b9efd89bb720b60f4139033f6e78bd07e58526d935aaa3d6591788485f34f0117d5b3ec09c06d7dec9e459cf749b023a7d9ba31bb5641ca2542a +PT = 4eaba336e8fbcbfbd8c06bc8c2eee8c058959863aa2bcee98e418e3037de13bb +AAD = +CT = 4c1cc30b833e29a1bf3ded2ed04b1f95fb5aa18b069dee72b8fbaba41713e552 +Tag = 48cf6dae14807da34580981395 + +Count = 13 +Key = bf6741a60873fe8afa55c9c1305c353d +IV = 7c03665e662962ddd9f8c22c3f1ac0df0715f2a4854d7c5bacf84dbe9f8c4e63dc09fd235d6421e571b01222a67123fb9ed6e0eadfc7e2392da39ce6d73918990eea01c4153eef257ba7f799239e7632106ae05625fb9987911b98faaacf32ecf48b2e3458598925e1111997450bbe0f0beeea7a46218ee2086b3009b0b402cb +PT = ec9127654c73b9ec25607f4abf97bd576a2488a4a2b8b2e86bd31b3afe5fab1e +AAD = +CT = 14488174f74bba47c30f52ebfb101948393ff5918100b6d9a95d5e6c3a08f1bb +Tag = c1c07653a4fd2167849087ea69 + +Count = 14 +Key = f23b2973b1012bed3a50fbbf9bcf2814 +IV = f126a3c166673c143bf96c154233db217155649d452adba51f1225d5146f7f77cf6954a3b0131bfec0ec1eb4694d17dcfbf1089b7b9e543abfc70a9db495072da3831e81bb7186e7d69e84addea2a0e1d894465717e8dcb1ec0792409bbfdad1207da62e3b3590975124447e92165d693cd855f32172b7e50de258e6dd8d29de +PT = 537f7fd80fdd804897d08753fa05c04337b8bda52ce93401c300a153520f6c0d +AAD = +CT = a2cd9a01f003af3d0b6fa69cd7b95c7aaf1bc0ab3a6acafe99a799fea04b7174 +Tag = 176e38b58ad0787adbe4a78be8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 4baef6a8168963adcc23611fa858acef +IV = bd5c50dbef7aaaf7cfe937d9d7aafc5aef6c5eca260d5810c3e6b6dfa37d59ecae193db7a2088dc82b53fb108c0a842ef8ec2382cccb40b493b08328740c828436ecea48b15abdfbe7024eb858e46f60620959e1e510c3e0e9e1ed7baef51026212f524b29e9c48a059772c60202a89b2c70a66d7450250c4773b73e2b705b7f +PT = 838b4c555414c70b6ccc7264bf3d2d74cb93510c56b0117ee4f4d021aa0a9394 +AAD = +CT = 4f80d42cad8bbd6440b5f1229d8b9a1fb9a8615fc4df52e986fb27d5530ff5a1 +Tag = 7204312531d83e8d7b2ba920 + +Count = 1 +Key = 94a5ddc7b025883ef94e9af9ad373bde +IV = dda8ce0a47d1b5b4e85f2db43ca59541b9f2fc562892907db5e294b85adc3b6d48b985e5c443682a24c65104b18a13e02e08fb34ed2aa6cd9d549167c085ec895a824aa78018a1f774d2057e003079b133bca35b74d01f68d369bb0c7e3935b1e5deaa4133eef07af3032b96e7a680be59865109090ae623329ace1d8ea83071 +PT = 554ac8dffe3fa4fb66b1a7d6d47633663adf3fb2d050a7cbc69d51cfcb2b47d1 +AAD = +CT = 30925ea74b822f032e6fd224f323844525de22090713604693336ef9c3b3d98a +Tag = 3a1ff3d89b697a004de4b89d + +Count = 2 +Key = 638143debb3ea33e83e48e36507a06f4 +IV = 2df3ac72ad83c84ee200e94b0d1802e16007107e667b5c919ca756205851c24878d8451fd40870fe387ce27c137d2a2d9647c1a0df226a779322b2908aa82bb695e9ac55b343c4e42a37f5ee0b894f1d39c91059fce06d32794cbd18cb997f20e1738bf1d6f36b4cd73a6350388eaa918a00677ff23b87a0a1529dd5b4e7bc1e +PT = 1051c7adb7c8f248cc42e2cbca63db454c99d40824d8ad2887332aafbefa7aa5 +AAD = +CT = 5314513a2beb079ea640500693c9883432bf55051a0b4d3dd4a86fe0349d3ad7 +Tag = 30dbdfb3d64abe6f87a091db + +Count = 3 +Key = 142b2417838b775376e665d0bc138e81 +IV = 633d4d6c92ef5104cb5db9f6f8bd999f2b5021e23c85f531d6b1985a1867c552d77119e4af36431d69f3962a626f27bc3f52bcf44479d374fdce8cb57ce02b271fe078bd72ddbb778f9cb83e12a48f4868523bfddc41c7ba6160d46e9957fd49babec0db377a18394e5d79217c929123132521104e4c9a1a73e69d9fb356a74b +PT = 99bd7c6004ce897d69caa0cb5361a0a7e5958d6c4644f722168896eb4209d8be +AAD = +CT = 505fc0d50d86c4302efdf42c0a2468db5f8857b496b87a85d6612e3d76a970a2 +Tag = 6565ebeb480a694c8ff490fa + +Count = 4 +Key = ae4527d62ea427bad2ea67f780556109 +IV = b0f7a8ec5142c74bfae1871b6d4411afde84674dff9ad969be1b55da945987c8a8c0dd2dd9c11e611f7189b62aa69b972d9bb4929fe57e2dadd84e2ed383ef0a8ea711af89a47e9060f19ee3cd86ed9d8d28848a5e98a6bae475a4b04a8322a893de830abdf46b3ed2577a877201bef83ed6f9223fa16e03caed32d27e7aaf69 +PT = dacaaf0dd0d0a0845f02525133cdac8c01b5bcb005acd3bac49963643c534f26 +AAD = +CT = 1dd3c9411b3383c348a86097ad480699cf85cfea4c187ea4b1de8429d7c8efed +Tag = 213246dc7ea2aaf9f93037da + +Count = 5 +Key = b984612d9c2e6ec69b4fc1cc2885c54b +IV = 4699d789adfbb98b4dcda4771d859d0496258449fadbe8dd0aec75094f01408d108e7f7b1b26f0813aca81edaeecb4172bd5cae45cee1010bd2de13af25754cab040e5161664bb5aaf1f398fcbf2b3ba8f4713bf9923c79c3995b45c92417bfd0f240ea484eb40c34a5a2335c87f2515a2fc64f96b100fa65c9a410feb2b956d +PT = 41b99ed7dc7dd4031d84e220740f16d50c3643650f6ced5cc16902c25f70cc0e +AAD = +CT = 505bfbf218aeb8da4bd5d2c24a8717462870c2b5bee8a3415718c1beeba04657 +Tag = 8c1bd0780129387173dc10b2 + +Count = 6 +Key = f28e1f6013a11ae237b15bb5b9134b18 +IV = 08661f83fd6c855f1d451549943913852a591aa9e75abbd8b36cc807f2d831750cf4e06d5d82431b901fe3cd3bd04aa5cd60d8bd0253a8be61fda95cc987993a31def848709bb3fc3cc3129ac93d92e0af004517e07fbcc53c470fcdfe1ba6e6f77bfa411b46d27767be7940b0912b94e9b85b772cd256e8477a2d46d03734f2 +PT = 7fb55360585ba08ac3b133cdc836aa7c46417ea86bd2f11bca82eab2cd34b917 +AAD = +CT = 414300047e0ae9f2bc0897a15fe2c2a979930a50f7c6f9356b8ef2bfd0591203 +Tag = c8747477eda7ae570cfdb5b5 + +Count = 7 +Key = 97755a3736b52dd263d47414da9c8c12 +IV = 11469952c70174bf6e5d078dce73018dd61d956306197100940544282a9989b005f3589b4d61994457957d5f36ab0c8e5bb3652fef93d22670367ebbafd598fe56311b31578a327963ddf6d59868b8816369529d77d93cf352dc728400d96b89755f77fa75bc545f5220b7fd664c7d4cb9e97f8028cdcf4f7d46da9d82edc60b +PT = 2d742b70baa3f6da0a75993b7ab8281b1337e604abec91651db97ad57523875c +AAD = +CT = b9d2d0d7400ade6115760ebf43e48ffc727333dac1e7248ebff39261e01845eb +Tag = c56f9d13d4897ecb3739c0cd + +Count = 8 +Key = 84e13322eef7d1d413f5949893a8480d +IV = 6a4354bc3a116b78d69394207c13d94e8f3ccc6c1268f7528c8a4bc0aaf8f95f2c9e145a0159efbf52a3e79a488d8b1a748b86cb21ce9178d8fa597c0c73c280de7019fa3c7cee0b06ce1df1cdc3114b74e62280438c9763116092529ee8ffc17793f8b78f5d69096cc018d3f47eb8b3cc206c8df6d3986f3b5bc0d74e3b4e2a +PT = 8c5cb251a540dc40fa784512afe34fb247bd0c64ee0822feabb4ad2d3ee66585 +AAD = +CT = 57a6f85d522aa6a6d47315aa52ae395afeb3e55c69a35d5b862a3c42cbbe3cf1 +Tag = 54d242e20e30138c68e75e6f + +Count = 9 +Key = aeb78aef028bf823ddbf662535777d43 +IV = 2e69a8c543e6bd95bc53c4592cc6d948d3a362abc727f5ef44ce578d7a1dfb6f607fd93377d21485ed368a51e306a71c3cebdb637542f8654da3d0446bd97a2a39dc57df68d4ba0f519261908e531e5f8b89c05a36e3337fb0a1a6f2e709530ce1561795289b7cb37944278ad185f0fcfd92de2e9599dde3d8b73db4299a1a0a +PT = 123dde37a518052fd8a512e555f3764a9677d860eff9c7cb8e8b1997a030b8f7 +AAD = +CT = 457c1728878c0407493a0bfe6512df5dbeea90f80617d2706c4c5a04e9242021 +Tag = 65c70ca6ede10cf8c7b1f9e3 + +Count = 10 +Key = 4ac73f20bdcd836000708e4d8c98e96c +IV = 7d10afb109d1195a7ef017b22acdb435704d1b8ee63c54c1afb6dac423e1d57ea4d4f38a498e09dd85ead4f34c6f3a20038189ad38d5bd9b56267acd1635a59f54b289f700026ee60a39239cfd086746823c2cdca7596cf1be4257b41ae6051dca859a6d129a5347dea69cff89335fcbc7594955ef190b832f9ae030698b32ed +PT = d2d38e12e26dd7e643109e382ba1ae084c33cdf17e72b66a2c9acbd664f17571 +AAD = +CT = 0db0cebdd3a16fff44b619903667e1dcb0ee0053d2336b1a928f527c1ec58dd1 +Tag = f5574db00200caa7dc669e65 + +Count = 11 +Key = 930fbb0405ff19966d67be5512f1e797 +IV = 723468dac72b3f3eb6e7507fa5edacff494fe477f5439cb128754a84878c79faa99ba5d60df1c71ca2cc560957f994dc677523fe6703f25c8437320f39d9b50c645c4eb859a5d12786cee6e73890edcde265c25a3801e42e298c540e604776e865706fb53dee222fcafc174bc38da86fe7b6227656d80a3f6cec821469c98738 +PT = 6077e2ed6408c6d2c9c3f38ee9b51c6dfb86a6d2891bf7fbae770b2b41917585 +AAD = +CT = 3daf2ccfd71412b66d286cd16971df00fd177802eeff4abd4d9df254787026c4 +Tag = cf9a34dc8c78cac88839c6f2 + +Count = 12 +Key = ea6344a36f41a913b131fb44cb5179d4 +IV = e62ba2844c80286a8d40b68a64460c5f265ce30acdb2efcb16d2a0cc53623be98da7ea324c84a456932fc75762ee709cb3f1599dee3ff2a16353701a83657b6746af9c1b7d51b9241cf7cf9114e49c530caceb89939b2c02c303e9df52b91b68d61ee34c653366d19307d354b37148cb4f81c2ddfc41e7b19ccad4de52505013 +PT = 7a434dc793ce8dd9b34ae7379b29b02dd35ea9c469878ce242bbc383e36f89ee +AAD = +CT = b701eef5b3a059af3123886347a2237839a1ff90aa3e24b976876c6b48336ec6 +Tag = 87e25d3d760d41ae47161673 + +Count = 13 +Key = adf61676fa468f910842c235280a0f13 +IV = dd2fcb6d4b76a4e137d4767c0a5f3edc12c91a4590dfc314d602b15c7e33e7691f2753bcd12ed30985474c72d1dbefd136bd2127e0cc5c6532497bdeb0dafae0a9965f5d5e8e59246c006c4eb1ed169350511a7ee9e1ce256746464f75a4f4ec8df2544a6cf382ac52f81d1c14582f3be69f237922eb8670902ecb3dfb25fe6a +PT = 2219bb3421f068b4336840b206c6cc1593090cde98ef5ff5f1453f2801e59c9c +AAD = +CT = a003e8d18713894335d5ea4d2f61d011be402212cc91fe48d6d796a2efefa046 +Tag = 67e0b8cd0f3fdaba76f6ea1c + +Count = 14 +Key = 255eb108539089c0c7372d6434387fb2 +IV = 76515b690c2e60c1f22a0294965b5c5aa712de72850c94bf62866f8b59a2ff32bb2fc77589eaedec948e24ae881eb7fb90805b987596947704347cda3409dd159e3f717f116c2e2251f5770133ffe184a4a085827a492df71a3f038330d44c6179a8bdcc83de4b57d976e88e876fba3a6ae43f82affc2299bad533167e68eaa9 +PT = 745732eec385b4c2549b658398eb34b83f67d35e1f39c312a9fa31a7fbd092c2 +AAD = +CT = 21166f2f32363c4bdd8e87e70fdc128d78c4026c9fd11acecf26135bc504f666 +Tag = 91a5ca1f55f85fd032f74459 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 3113f8b2e294e38e1e5fe21e15e1670b +IV = 3914514bc730a2d2c0669e51748db8ba75dfac14c270e923d5c97e2001f132166f8aae9abb161e04b66d16d1186b0a6e73b904038e8daa23f58f9f39c3ec39319f59d680beb9ae24ae6f01dbe60d5232bb3a4a65a56d2e2a8133df7330015bf19a52c0486f0eb8a747a76ed6c7da7876fd5e96ef51e5ca943e83a3bcd4e2f03d +PT = 05a89d715609680ba2b08a2990a7ce1d8bdbdbf383b96e7df417f21f5c456071 +AAD = +CT = 495ac09c644700dcbebfbb77fa1e6bc229fe37d54c3c3f49ef204dd6355782dc +Tag = da31de30dbc00d53 + +Count = 1 +Key = 20030a0bd6b563f6ef7757f807197902 +IV = 5b4c3646eb6a4f6692b3c8b493837f307cd58b8ac8bfa96780c15774f9a8ecc1b06a473b5c2563a76e55a13f152429d9ed407bd7a1c4a158a739a76d1aa176e4d301c34edac666fa39cb5f4a8ff4041d26536feeb3bc5d5abcf54ccd3ac00a6d472d35fdd4960fa5c42f0181d726e6659f10db875bea6722e6322b9581b2d3f8 +PT = e199482af782352ee1dbcd55daec3306d0f945f5426e4b9d558f6358511ba3c4 +AAD = +CT = fc4a386fb61aa326cedd8fd00b24143a9126a85d492dbc259a54f0f4f1361b6b +Tag = c866a7c143c8c5d4 + +Count = 2 +Key = 8e1ca39d92cd2e0a41b26a5c9c2a2d2e +IV = 60d6a2c6fc5c006acf06518f4aaf096ac9996c04c9ef13afe3c386b97ea948deaefc559a8577c72ee0f57f0a4d4fa93cbcfba0075b110b340f2cfef1ca317c547137f0880888614381cb2103f75de785369f82e2a29f6322cbc59372b5d1f68a76d5a09c791e4dc5b95eeadf595c65f14916e1f840f6728f3e0a962e233dfe9e +PT = c169e93082884ba38625f99404bc892c5560a6bb27933b40dc11c364f8ff4c1b +AAD = +CT = 68ea4c431efcaf25400eac088e22fd0961c04a3f89f0f017be0bb174df509ca0 +Tag = d1551b0e43fffcbe + +Count = 3 +Key = 7964ff654d886815af4fd36ae922e9af +IV = f545fcdd3c4b693a4967c9b0920d7e300e0e841fac8eb9a8fa21cb2ad1714e0c0726b226062c5366f1eb04c3c2006a8866b489f5790a9e4498c5e36031e53595a75078593dff7a8533a515adca49e34ea9abca4e28a2f421aa6a067f0dc890d910e631ab906d0ca193b7ceb2e258a09e786763d408c779f420225f053e2e4208 +PT = b6c5f808aa525a732ffcf6b21cbf4d06a366dbaa477e19c5b314c24acd430d8f +AAD = +CT = 36c4ee7b2b6d67fd1bba7ad020f7676bf28b368639282ca7e6281a6dafa03b1b +Tag = 50929f213aec205f + +Count = 4 +Key = d8c345d8bd3513fe1e8b7620204cc8ca +IV = a525dcf0b1f1d9a915fb2780200294e4602c0f4e00033dafcf8be6e6b51fd438a84232debb3e3a5149f31d60059635ed66a57844bbec268c35cbf96285ca895f79823ed6fd5dc673d31d77d7c3e8579225005b495972c68433ca7b402614295da9c0185d230c22adfa74ef922bc00abebfd3a82b2a8a46dfe608d3133b10749e +PT = f3b10718bc9a3c393f2f304577718aee391a81bea3c7ddb61560a1f097e9855f +AAD = +CT = b9ddce694003345f814f997cddb4326d5d39742aa44c33af646e26470fe5bc5d +Tag = 68376531c010274b + +Count = 5 +Key = 4572b7f03121ca4d7922663f56893dbd +IV = 9ace00e08a3ef592aa0f287b75b26548f2fda0974ccd6f447b46bfadbe30116ec3d6f508f94a567e87c258a9a2d178bc968896b372fe4f0a81731244f8d1394061eccc013a9c965556893e5e24d100c4a675530ff9c85013b8c580f48f66cbb0e32c054a28b5e37e61c177a5886ced40587cb6d804b6992d245e8d7074574994 +PT = 4b543846f6bbe2344758c4c184524dbaeecbe0ec7b0aaa287d7a02f5689fe48b +AAD = +CT = bc2410f2903fe12a547668b9a6ac6306d092d6ea8f0e19884239a9de5a99ed66 +Tag = f1dc2c62f77cddc7 + +Count = 6 +Key = 6f9a9b635763ad30f3c07d3ca409b5ed +IV = 1b7e2d748339bb93dbf36c1873afb5d8c3a90af97a0636d2a2562a740dde599f7d5542c056a8534d5955a61c605c22a590a21b40404cbcebb8b30a66a166e20ba3789cd4a8176d4a737f1761c7ba2d0bc562f84156e6ae41121557d58c600289eec8fedd51c98869221b1f14e034aef063d90a2bca45fabfd0c1e3e111a2c688 +PT = 98ad842322b17f298954f7a589aada946c5b148ab747cc3485ef1f553be6c3be +AAD = +CT = 0be825ca6c7d18d8675e9b55e9ce39f91dc4ed8f73a163405bb5eb877d43b819 +Tag = faf1d9459512281d + +Count = 7 +Key = aefe424110605b3b3e28eca8ec90dc36 +IV = 8f8a605660c2a679c0e6a1426fcbae498ca0c165886326531a10beb8515face200de548ceaf114e366a9f69124deeddb35f401643d422c25ef75c189d2927f4aa02b7bba3e2c72ce89e45b9f435247db0e28a0c987dd08d645e2b8842d5cf85275f86d5fa85f4260e74d51c89544121765806ff06364395ea3ad8a91ca2e4827 +PT = 3d76e323684ab16ef3d8f3d39b74a3d545e60d818be9a438dec7a803745b45dd +AAD = +CT = 04068907692f77dc78b1c6b22eb153b10b9a8f26a7713ecafc2ca1e76760a393 +Tag = a304bb78afb29ba9 + +Count = 8 +Key = e6a9b014f793a88558852be4644ad0f1 +IV = 6013a39e2f86bef00dd01c098881b617fdf2c5b921feccf630fa5923940a4e489dcb942b1ba0a2587b8360579c5d29c44e87eb1235f0519c6a4055d9016319713132be291b734a7d8382c73c31a8e4ba8fdb853885c05fe6c557d4ef733e07b1e2f44f512bd28a546cfc71e730e11eaab8ec5593ac906e7a7b89d33d297a50da +PT = 610bd4f308d3fcf369147b54629835ef39d5b422a5078c925b2ec5df01544ba0 +AAD = +CT = f3e49893468786ac867bf6e6f5d1f8ce6646923e057b6424b47d39625ad01a07 +Tag = 3589586042276919 + +Count = 9 +Key = bc5041490d1894effeb99972d56b0dd1 +IV = 7bbb5a86b61f197b83fd1e94bce1cba3acbfe7adbfa6e6d7fa9f3eedbf926c1166747a127f32efc08cbb71ba039062a55871cfefd649ad2c86a864f5cba6eeee7752e976b230c036ef85d2fd659f14b0fee4740e4c17dcc715458326f0fa4938dfd8aeb346e56a5f74718812820fa16c0c766c542ab1ede698a2b7d7b8e25a7e +PT = e13db5378e961adad38c43388769b421ab14f0d137519f9dabe12d3333b1d899 +AAD = +CT = 4825b69c9808b9c9567f558cda3bfc5d1f72b3d65b8e705b47e82468770415ac +Tag = 9ec304a358a463ba + +Count = 10 +Key = defcde543e6d6e4d8b8986bfb4673347 +IV = f69100fc01708d90d0d3239581025ea6a7f2eba5d10621b0f835eb2a0f04c6f662b78f7ab258e4846ebcef7ba994865962820cff453ed3277fd0c4e05d8f147b4823e66a6cb8c1e973264cac4ff3b8502a57e5cd9fafa8af954e06bf08eae1d7043845efac3f2e9fc5a723f1360b56e2a55976979f9163f2adef4526cf324cf7 +PT = 22bf4da6f9bbb1d688abce149587e7e9719cad05a8856a56e46b237f100f0d5c +AAD = +CT = 06ad525df9c229d5873c2df36e948073372e8cb6f588312b5cc3565522b010b9 +Tag = be38b8807623ef04 + +Count = 11 +Key = 0d73ef0e30ec788533df993ac577cf96 +IV = 382816f99955a9973cdaa4e26d2199c953547539baa82b6c64b4757e38f831c2dd00e44966888a248abba0b354c4c92f928f34a7211d031814040087bb3458b77f50690df284f38f395d20775aebbc0dfdd2f21003e849750944b5d062cd187334775fe02e1dc5ce495ab329d3696b383c18ccccd732acb0901d540d45928506 +PT = dee2916f82d1e22ec8cae3084754a44a2dd4d31af5e5920ca9a8b3652dd5ff7a +AAD = +CT = e1dc0c1b37d3645ff0cb397c49d5741ddcc48a60e2cbdec9ee0ee07da78dd4bf +Tag = 7afe81ecfc74f979 + +Count = 12 +Key = eb4405140e3fa23e12a22836adde4919 +IV = c0bbbba0258de74bdeb9aa3ee887d232e59e6abc7d714029dbaea6f4a4c5232338629707f651bea571ecb8554aed52af5b1a3156e5452c9f1f9f794a6123ff6db3cc66b81aa07839f258f9333385fb962979c4103613f572a5da07d3d23fb870a6f46d352919ada364cd9ff6af34437286765795a50515b0be0f16892357e2f8 +PT = b3b04030d22e0fc7ddf15f4958cda723400a54f5c0b39351f43dfeaff3d618b7 +AAD = +CT = 5477fd5ac627dc9a2ec2ad415dc7a366534e8e1e967f9cf64153e9ad4953661f +Tag = d0e86664b99daa80 + +Count = 13 +Key = 85186bcceaea4a4dc4c0eb934c8f2b8f +IV = 00c1c014723dc0598c83573ec32ae3e0186d19f467571c32b970c9bbdbd0ac64b0efa15fabcd05873c7b19d5cc33cbc290fe0a64e43a2917d0f6f974e1eb50a88cf3c6dd3edd0741e0d5292d8cd04c6f854e70f4c2df5d63e794f92cb5a1be2ac55e361c14e603b5cca69dcf7e3b830d243e65010da85c6eba0365b4f63aaf7e +PT = 002b0ad45bc07b275313e3bd75c2dd9279e4d6926dac6cb4d23cca192d499e76 +AAD = +CT = 75934b3c536d328d3ea201ececed4f5416e15defb9121e585de9304cb32789ee +Tag = 379c7497dbc78524 + +Count = 14 +Key = 9e411f754f4077b54fd753c52bedee0a +IV = aef1c602b3440be1cb61b480eb5fc303d64efc8baa98f1d370fdefa18d4f30811f7444c21ab608c3e1da16b320ea8c160f452258def96af6b50b73766fee8e4e2e3c5351db51cc9ef679826c94aa7cf1458c9519aa6e6fbc408f1a8b0d6b3db3a2c344c37e6c3402e2f2797386ef59a6b4f1d42bced356ff4fb0238d8c1f4ec4 +PT = fcdd0ef3229aa80b927e84e1960602245a6b2ba864bf925eff5c6e415403349a +AAD = +CT = 022a59f87de3a2e88b42ca797cd5c272f7e26e8e4100808e67935833e8fe15c1 +Tag = f5a9b83aa147aa8a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = da7592f9c93f71dab7eaf402b24076d1 +IV = cb1e7a1843e5a7f87a74767c0e109fbfd94fbc35874ca139542df3a1e30715ffb988d3d0680e36c6e3a3a18c7ff6b3d38953496d2d322757ad5657eb64a0675726bbb23827a2409d0b2b23d721946679a723d4cb999e08339bc971ee856efe708a745377b23c78dec917c55501081fe20b0b3375e2d8b671fcdfc046df4e2d0a +PT = cea536608790f26660c26be795357d00ba030295fe5ba2bc88e3249ff15372d3 +AAD = +CT = b2b8110e18447cf677f0f2f7d6923483921cd1a68e6153906faf159391f0a0c8 +Tag = 440a00ef + +Count = 1 +Key = d14ea4c697cea09917367fc1f24ff0f6 +IV = 49cf2557200f8c90069c8deba3535539980177bb4ac11ed176f91173110d76de3cbc896190cee571cc2983df250d90f2d5c828eba707830e69188e9b0f0357610aac1f4064d414ea5f30914910619cb9e831c252c9fc7b84421f7dc214522c25d4415c3e9e7e997a89ffc4e19a2131705558e9bdd40b2f4999f28ca787cc6b5a +PT = 9ab071ff55f3bbded62cdcb621e09c1ad2c6066de5cf4c644005899c81fac6bb +AAD = +CT = 3fb85b4f83edc1b4381d6de8d8cb834c2a5f59e478e99dbb2d78dc4142d6be8b +Tag = bd9f3bdb + +Count = 2 +Key = 9451c58e11008960b25a69954df45bcc +IV = 9539e79a2394dbe16c66c3253a7edf79d8270f8fa3e623a30ff9da0d0ed5e0d3dd165186f223f290cbe27a846b621eeeff47a6881cf9d0261e76d8c141c0068ac6cfeb8fd9ad2009367f422cc22bb5e1ed8c941722cd4f4460ca4068ebf99272777a8ddb8efb33dbca7a050a8ff922dfacafc89a094c391737de42b437b32a83 +PT = de51f6b8ccb48fbaec2c1b524b8cab165c03e09bdaa5febd8e436d8964f1630a +AAD = +CT = fdd01be9a20946dd91724a786daed7683018604011c6dd74fe45aad5c7a27152 +Tag = 6413ca5d + +Count = 3 +Key = c352155e8d15813b8744eab32288ecf2 +IV = 8cfb760730db95f7ae9bb89a9d52dcacb7301fdd3578bdcd108727de744492b9dec89bebc8a68f6f58fb61ca5e7e00617bafc7aaa37bfe0ed4ec90518fad6a2d0bfc4b2fb6ba964fc1c052d54d09634a70db87c36c3c74ed3347449f22a2859891c469ded89146ece243620b2fe2e2c3bd5caec0b944b58287eb2c82882b130d +PT = 44d624ad5e109a06abc7ffb9edbf7e3869756575dfa838f834da182e9b9eb805 +AAD = +CT = 5f6f1f4a334e1b20940f836e1774f1e11fa8ac714e79d34cacc6f250de812058 +Tag = 88119d41 + +Count = 4 +Key = fa990f5e8ca03d041320a36d54f619e7 +IV = d16899b80217643d38e24d519a0cf5632668d15cfa0264f28215cca5382a85eab370176223497a37c4b78dccd0dd6fe5b4a4c9a4762bad233f3249197361d4f4b118c93bf3ab9835566a92fcaa21e79e476bbee50e3675b75d8f7d92d83b270880325b3f5706e7590e234f37deca1482b8a141ce72c87335e57359200700a255 +PT = a27415d20509818ad7757bcd14e5e08faa219df5741d7e20c308b64d160f2647 +AAD = +CT = cbe1956741424e012764e152c542f1a928a95ca8af81674df9b16f4c0d641eaa +Tag = 5ae4543f + +Count = 5 +Key = 3ff89dfe756cddad0ddeaf27d85f849b +IV = df24140ae804dce8f83b665d1bf85c54027ce3ee4b1fa45409311aa91e8c4dd8ff592fb3444871d0a4ca3a22fa9eea9a17fedec5064f7b4d15e5013fd0fa4311ccf790c33b2e11c857ca4ddd8f88b603013481336f655445da63ea8485b28b289128b055f7024650acccbe235d3c35f07702d1da81bc3a5626b61cd4fe2b78e0 +PT = 54ca44d5eaa2ae66444c21c880eafbe460469adc3fcdd0700e36f9958db89776 +AAD = +CT = 7d1ff0860c242ea61a0f9d18b6ffe414e8810774475861a413768e16780d3229 +Tag = fe252a7c + +Count = 6 +Key = 78ff45b3ca9908f0473c3c48ff35a013 +IV = 7dc2d1790bbdba763709428e530b852cdc1a4fc924d7c05073fae3ee30feb6ade6281098d8ab91076a79465f1c4db68f4fadb99cb8fb3442ee1439d6216dd17e5853b35cb2c26e82ee25ab2bfc494eac6cd968d30e8028ed2c473201400dbe6adef2d457aecaf16b138a61d1626f2ef2c4f456cb0252b5e1e541c3a2525d6436 +PT = c3eed7e08e12164abe32437d2e10812fb61389db08525193552f64ff6371c3da +AAD = +CT = 08c216838d2f937ce35133b36b882e6527bab5af2efc0d129c7ecccaea5765cc +Tag = 152ac503 + +Count = 7 +Key = 42bed7c83abe54882961b0deaaa7e799 +IV = 26f8e6cd0abaab9f76f0a8c938a5173bb9a3a9ab4a7e55571bdf9ebc95fa95a552b37e5b62838aa6c741db8980477404d51bce5a1b6629dcfb4ed095f6c3b9983c7a1ec1eb2e78132daf6c4038523d842ad5094c386ab83de86ba10d6f2a8d14520063a74f563aeabc2fe13b1c864699e11d7481777a47d21f9f18245252b10d +PT = 6a4f4e3725cbe42f886ef09129f73028b7c9bed4ac354861552e1487394fcf50 +AAD = +CT = 3ac3274adfadf6e51f56ab1acdc487766dbd229d498b5e7a3446c2336a97f000 +Tag = 7cc3cea9 + +Count = 8 +Key = 54ad2aa93518cd31d847863417d572db +IV = 48571d82d01bcf9a3bcc9c0d893a868645bc6e05728eac0e51d911c4654beb1d2015ad43b9786a054c9eed89e22c091b104ea74f8a33c38d673d51aea7d6a0d3c327b3c3bb375889012ed39159d3a26760abaac14efff0f49f12d381a303584c56921653344203cf31448390463d2447de79e28065a0ebfa728c39a126dd6ecf +PT = d7e30cfe5b1e1140c69e73b82d3ad12ff82fee8784c6b325d449f1f12576b458 +AAD = +CT = d2ba48ef189012b678e481b662566ec2e68e87cb0ce4902edeec71117d30cc94 +Tag = 27a6063d + +Count = 9 +Key = 9996425892c032179b56b596e1c538ee +IV = 05316a72efa348e1258a0a142dc941aac14a217f3f9858f7b71825d6a4a7ad2b1aa1a888342c4d9111d84077ae1e6be241640ba8ff2d87b7193ee4bef9fd5daddfece85cb309408fe275216988a45d03e52dfa462a5fd02dbaed69393074e01264857a68d5304e39c3b651bac48eddc60d9f57a6fd9bd6aacab6babe0627e634 +PT = 422c2600b416f5aa26cd53ba8157e0cd44595d50fb783fc8fc5463ac71a3bc3c +AAD = +CT = 4ef86f98dbacecb62d82bdb7f03a9493ff5078318a740080d2d3e4558c95b427 +Tag = 1ed62baf + +Count = 10 +Key = 6d7a9017dbbc1d683de27f7f3785d030 +IV = 75b88b3892dab68e3556566b9894dd7b1c32fafdcbd9900ec070e98abe19f56f70c52c10f42314aa7cfe958d5aa9f0e0e3a57a49859f6cdc2192f87fa745a07ad722b1268bb54e0f3af38b3199fca21baa7020eda97231376a0809195319f2465407bd3cd9e73581e55537c6ad8bfc942b682e113a0bcf43877655cce49f64c8 +PT = f8810914d83e9af4a7d3de22d545e8df15cda94f771a7af77c2c665d0e3446df +AAD = +CT = bf647af579b1698c65b1296da1687886fc01ab0f5adf40d750a095e98eb6efb9 +Tag = 51075b9f + +Count = 11 +Key = 896f598e1510eff0b2b9f70fb7feb1f8 +IV = 9594c8c31a1b0aa562de23233c1242817370a0a6bd9d31ef3e28cea6e344cd8391b3d13ba47eec4b524849f4da646470ca6e4935485f6f40842a8d8d52ca98410cef5058ee9307d7fafbc6bcc69c2389323f738606ebc3afcedee3f2da1cbba7300e2d93c81d2367c32a7a6984c8d090911cdd792747e8199d3f5d559cfde605 +PT = 21c939a886744ab974e07743719934d11678897fdcd33f7dca9775bd9cff4870 +AAD = +CT = f8499afeb912c123c86c20c9b2f04b8f16ac7e3d3c56f201fc6554f3da51472a +Tag = aff4ea99 + +Count = 12 +Key = cd79e8e42988fea006d1498fe39cfa25 +IV = 37531eb5b62636e2c6c4e6850e15b8ee70d03d8059ebc5999c01755ec436e0234c759240f088120d73ee50e9070120ad5a332bec3299f17dcabf4e0e919e7d280690ea81bad51819e777b42dece4e50fa1c3fcdd7f0f6b74a0d66964aed4bb1c3ef5e7a8b1037db1c00fa7f8671a0c66281f7477cc32f502555db88f178cf497 +PT = bed6553368fc5024c71906f3a7df95e2ac40144971442f3e28fb6595d7028838 +AAD = +CT = 1d537f398786194eb8a12e152d0e49ef27ab68fb3a299341233c9c1b403b2f7c +Tag = a120adea + +Count = 13 +Key = 397c87fabe6cd217273733fa811ca6db +IV = d9a83ab656d19e17f4ec4ea4a43a8bbcb803fe927b674f6a09046692577869506bf6a67b835f81e1437ec8e813c2ec7e6832c5e0c1de976cb4225ff5f8891f2bf07ed45adf58668a3b02d8090277ffdc74a4a9f1fbd9d75b74ba87e28d2c30c240ab9d3cb16c281f79de988275ae482f590b46090466ea9c65f23630c59ae8b5 +PT = a31ffb016c8fe63a9c0a7300e73c594b089209c7bfc940680ac7c2d294ea2693 +AAD = +CT = fd345eb505f01c9f5f5a107c7776a61d5c3b4598cea94a5468cc2845ade38fee +Tag = 3aed5d95 + +Count = 14 +Key = 178167b56ac2deb9edf5dc5c1c48b520 +IV = 53b95b49428ec8184406c4db3ccfe1642e452e91c3fe3c92dcef675bf8512d367cf0427e23634fc19d4ae980b250138362499f037df68825b298d9fe22b803d8fdf15665397951a04a16ec0996f8cde64cad8c3d52da3ac5fb5bfc8028189ad78746fa1e9eef7e9c2fc1b75351d90c302c13fb6610d6e1b4225b5162859419ef +PT = 493b356d34b442c5bf0e1826a0f4cbaa2978c5a60f8d36bc0225b82dc9a217d0 +AAD = +CT = cebdf3414d68a6255c47d7d8c28d0e46406911328af531dc4354e5a98a543208 +Tag = a92432eb + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 3fb73b7d7c98759acdea9e75f3cb2d2e +IV = 9a9a29c68e786049f47d4a2ad56bc95eff503988d461eefea6d98dd6d21e1439951f0116bb3824e946ce0404d7bfbf36702663cc3a5564fd82f8f9ef141b2b3be72618f10203e1614a7850642c1055da103d41aa47991e64f621f4438273e12814ac0139d725a8925634f509a2907e7e8e9c27f07751ebf616b42b4f4fa2079f +PT = 075077b7bd10422b156515beb320b85404640e7da2a541b7ac27b0795f029450 +AAD = bb9bae29ea2fa69495f0430a89bb40e6 +CT = 0b7fb0209ae1aec31dc38c7c48ccd0096682161e56a2e2a23348c5846c665ec8 +Tag = a9a89b186aaf547b9769f697edabab54 + +Count = 1 +Key = 9d8dc03b2246d250acef501ddabf7701 +IV = 38517212f94da6d6886c23216ccb0a6c1a4299cfeb44c416e254172041fd1e78e31f50d59591cd7749e4d1ccd0bb186a33cafe1096b82206f04fe4207750f0d1bfcf439849dd99d50d44fc7c810c75e91780795510096b8aec5ff866e3ddd3878930b237f97cffe76bc231c2de20cdd8ac1e920b47733fe05f90a494d8f5fc70 +PT = 4fe39928c40dfcf342e53bb69736c9fad2f45344eb54fe2551cd33928212bcbf +AAD = 5b77335d9ffc333c788d4767cfa8dbe7 +CT = 2328f557f068cb671cfbd48f52f2a9696c22a76e5e8d5e18dbeb730f7151fcc0 +Tag = e475ec6743844cb27aa869d7d2ff587a + +Count = 2 +Key = 9ffbe0b6ad2abe5777f904718328f16d +IV = cbfc25ad96f9f992c24bdc20f77d2892cbb16d76f5b3bb189895e03f39147f0e38afc4e0dcf9b68b65e44bc8bcd883dbccabe0c13371caf9c93bed8fb7a16abd7e11003b248b14d0e08b1eee96645cf5cc46d2b82a0219190a1efb59a21e9e5c4327f6dca8664389955f5301fa99e928b9f4d04f8606d19ab10cc71667236ee4 +PT = 40361bb911b62a0dfc8c81e815c409d905ce69e5e00573a5f6640104dbbbf528 +AAD = afed5d0da01df260638c21c1789804f7 +CT = ed73a36c2eb7789068e455a6c1efb390d510b72089adc1a227bb4196b7683936 +Tag = f149ef8c0f91d21c25ad1e07ed94818e + +Count = 3 +Key = bb10ec8dc68be52a5b83980a5924441a +IV = d70e3e2fb60f5ea58c7c0d08eebca1e3f4757ff4e91926f533286709a2d1cb740d2fc445154745cb3b6c2cc89a9974590c6d3212b9242518857b3b0a74b2d15ec7aa29767852cd02f8227f164e5baa3c1007e9db1b65c8e49ce3400e409304ac2bcd27e80387e81322d90eb5f51643cfcbeb8bd1b49129406ed452fe0327edf2 +PT = b4490d38df0013b83fb306159b6a5d3a61065e05f1b2da8229465ca8f39558bf +AAD = 519d337aa7c64675136bb610736c4a4b +CT = 57d8f9d76e648c44ab333c10166bc1e039e3b374ced1f287dca7290d5166a641 +Tag = e3296a4d83679559dfb2a24f88b83fff + +Count = 4 +Key = f9fce91e438301db6234b51689acc11f +IV = 40375d657e617848d13c9bc11ade06da0c3ba39de8419e258690adf864d46ea445e1a41704c00c46490a91f64c1438670ae940b98df13446a66bd2a904107b70460e0a3ea8d2ed355ddccc775c8fb36c05b16fc689dfbde8b8a818a378ea3a567b82bd09609feac2f8d98c996f9c8f3c49208c3d9a219bbd1e2a418b10580ed7 +PT = a89481f96dc8e44096f084930948364b1798adb6c115e863918d78438edd7f5d +AAD = be778c09c87c9217ccfd094f9dd16be3 +CT = 4c469228d0209ed1b3b31be9579e348f32a0081e47f8805f713105bbe267f850 +Tag = 084cdb4942f752a2a0069719ae462ce6 + +Count = 5 +Key = b8168c50e6a1fd9d1414485dba395512 +IV = 15b57f51afc3135de146798917af8ae2ea0385b20f9a425a9a84e54e189732804a4616eec50882db36fcaf7656ae24b34fe3b851264b178f78119f910022aed5ae09947ac7798e4906b7fe32ea5bd080988397c8f921803942a44fbce5d649e38306ee54fceb27b8f267205592a9defa16ebe419c5b48b2bba57c66897c23420 +PT = 1356ac421a095fd223018312662f65db5b3b0bc2d0103a4dd5da245e4b5f324d +AAD = 92f06026c5d04789af37ff21c2a1159f +CT = 15f04e76c7c645f9db7799f15d89040f8314b988c628ca3df41350d3e0fae225 +Tag = 847068f09e853b9a4a5e55f50056f9ce + +Count = 6 +Key = fa14af79fa899dc3a871a0c1bd540d62 +IV = 19cbdd686c7cf333c64d7619f80a19b1e61cec9db75f8584d9477dcb6e9d32b965b29d847e7eefb5cff4963f1556f637375d29d4965c86e391fd92f627a1d7f8a68c6ebb93718f681bbae7386df3f036f9bcb4c1d86a7a8f4ced98b242c5b40dadc2d5616464dedb763da9eb319d1f351fa2765e297c3198a1d348b1dbe0a7ea +PT = 2685db5a8700095cf11e8f636650550023abfa416d970267e27bf076057739ad +AAD = e5728ddb6aa2508ab3895569251f734a +CT = 21f1bcbf73d707386f97735cb98810ed219cc47a6380bb3ff1652d9bcfad7622 +Tag = 218775fcc04c823df0c76cf27d0e0b69 + +Count = 7 +Key = 1bcc81a490beebe51daaaa35567d1827 +IV = cd8ecc8f99b22fa06e791ea39691326063b56aa032c2b9c5134cd1c3dcb792ac827ce412d4977933352dbaaeaf25bdbbf2a0a1c8d36241baf08b15fdeae8d90b9a31c6d19346cc377c83529d790d0d6be455d4d5aa54abed69e5a096dd5de3b58a9a91363d596747f1aaa5351dc55741e106f1798a257a18c5224527a6a6155e +PT = 6f019a8c7bd3c2db2d12175d22a1fc16b4c086743b9ae63944fd17a4835f22ed +AAD = 234db2dae5b065bfb4752c6405efd783 +CT = 68a9c94dccada0748ad650044f6f55f48f8a9787215b4ca53bb55c502d89a8a3 +Tag = 633e5e4bb89c8654eefaa6de6d49aad6 + +Count = 8 +Key = 98403aec5d419b0796c89335ce97439b +IV = 9e2c3d5e94bf2fdbf147f8950cbe495bbf4b097386464c0fc0a386a91164f90d2a870e0f838935c4a0e4dd4c087468053e5fcf5eac70d2b0d7638e297cc9d5e1ce41b0f1c8da54cbff1f020672704c883621fd6e86501f97dc1d0c4762b645b6830d63e892f746078d5f4f867c6c8907cd52f6b441cd67d11fd818ee51c65e34 +PT = 8dc8f911b49a1777c276538b9240281cf305c06d2f22082f9102fd433afd2ba1 +AAD = d4591ec49eacc9b1ada75a92d0dbd523 +CT = 459b2353638d67e101eaf4b21d82e5e364bee0c959d4fe81a773cfc59aae15fa +Tag = b4bbca77ea137feefdcbafddf0a511df + +Count = 9 +Key = 857a4ca48071b59625f7fdec89510287 +IV = 0b244bb89b2d0365b453d20f3f33b0639a394ed15b163a5714947a7349b27480faa1de398bac758efff9de3e963a9fae91e3791423a3ba1c6ec2177e27f57a1dd35b5fe98a6982f80f161171b81bdfdffc6265b81441f6ce3cb7c85041df0233453001e309316a7aa4ce66d2e0a52962c2027b21fdfb31ef96b8397455647484 +PT = a0c085577100c5f4652773d6251aa79a54b6297093f0ba0e0b662393b627d6ab +AAD = 730adbfbe7dc28c938b9cfb576f09366 +CT = c20b9a2c6734b7d0e85ec7a2f64b40935705ba555d3fbbd1bc5aeb8598fe3863 +Tag = 53307c78c59f40f2330198bea868048c + +Count = 10 +Key = 5e4619a35ef49fa6d9eb6376862c2362 +IV = f680a9a0579901bf9da5e210cbb6eea77be69d512e3c75c2dae44f2309d3c4e14a0138ef1b55b89c77088220255756932e9a8264a131905adecb521af07a105fb730e2abfab3165b4d25cfec83273d0e67bfd26f7cb13aa4cc9ceb5bcfe5cb32f64a857b2b6ac3851e403d9c2d0756c016b9357cacdc67d61d6cf2d46f1249b1 +PT = 5072e256a93ea5e4ab650e47fe63dc6fa2b6998488645145bdd670b262a84a18 +AAD = 0b9c6d06d14b6269e83497e0b15712c5 +CT = 332e6052081072c7bb19f912262da21eaf6a4ceab6d29d344942996cebb87d1a +Tag = 9ce460b05fe8ca82ae3f24aa4a7c1fc2 + +Count = 11 +Key = eef733d29ad2b2bccad69adc219b592e +IV = ee44507d4dce8e43f268b6d7f51b3be962f14f60fc7bf7fb8459adcb8b8bd83772e03a0cc4c9c25c04527a3a6b956b50124e41fe7b6601b2db81ad51cf7ae07166f3aac48dffb48db50bf85e7da1c487a7dbb50954d389932b2138de9c7e996a87c6f85eb14a2a4be25757688789350c5e373f7f314cb3cefa0db787ae0ba395 +PT = 0bf596ebe042cf5aadec4218675b2ba328a0b2d45c9e04c637eab55ebf478ff2 +AAD = 2c490f2f1ad490784b3ab21c6db84201 +CT = 1eee783bd9a227bef30a2c4f17eb06eb1fda0fae6b14fe051e5b285ae655cf6a +Tag = 116d8517dc8c7468c85798dcf5d32191 + +Count = 12 +Key = 64440b20fb9da0c8544a0cf98b38e7b6 +IV = 4d2f58c3c9075aece0a5813ec99c23364ab8832608e67120c258f28079cf9aa2d9d880b79c666305644047e753efce81efd53945d430d7eea8ad7def321a7b81c62987f55680b175f74a5bf7654aa41d89fa08834e9a0faf4cd502f0310e9540c91ce2ac9370d0e24eea4bee20cfa8dfbc806e4e6280ffa9757ed3d477b4fce4 +PT = accb5b4542eeb1c33fc98e8c24762dfb852173c928a03ad1d042a53e01e228c0 +AAD = 20b7e59ee17b744a0dfa3018c10a9b3e +CT = 849efe1a7c2840c2b238a8ec057d3332d7525fca32c79de80290598a7f11b4b8 +Tag = 43baf54cd6a417c5aa24f18bcdf9e14f + +Count = 13 +Key = a4f609687b64cef60fe7c54dd0b93f6f +IV = fe8b285c36af0b8f8b4a1c16ae2be9b107e07e728305cc8bffb88d1441a3b83f6d32082d1da6a41ba8791a5d83126f48a310746cb72ac7072cb7faad5472151005b88d020eb92f03a7b333f8b3ff06c48514c7cdbc92ab1d07b5d8fb737c57ebbd0db93b3490d1eef46ac417422daed2813c6821fc20d51455e15b7e4728e4fc +PT = 893fc8308a16f79cd099f3cf30f543bc4ebb07804ccc3472e3dbbce180067d49 +AAD = 65daf70d340dc716bd5f3d45edb7ac64 +CT = 2d490dbc690bb5d5ca6926c62bbbe623486da1418a7a3958c2bbd32d73bb21c5 +Tag = 632ce306b1d55100d964fa8ed6d826f8 + +Count = 14 +Key = fdabd14cc9b26cacd8575b3f97e72e00 +IV = ce71b18d7a79b427f08476461e4e96168bae9575133f0e89a526abdf8ccf88120ec4fc5a11fe6abd9f34a101e2fb9b5fd0a893d40da1e8c8168bf606e406fef72e5adfcba7f511ac42e41dc6fa2f8e8ab98105f9309b1aab15292dd57f2b0b139d8f955f96145a3ec9973acc2f6cf3704f7455002ad8cd8810bda38580d8bc89 +PT = 33a73618fc93822e054ac1c28f4da6056b4450d38699a3cfc0819bea2c79bdb6 +AAD = 3d196362170e7b7b9444976b8591b94c +CT = 702feae6e7d1e01c787cc84be199d6f2d8ccd120c62dfdd03532cc827189d8c2 +Tag = 223e0addca728c088534cb057e8a409f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = 1812fa753c069bce6f654a4bfa22c743 +IV = 8e4651197a182303dc97b4b1646f6666cf69f8ffd162a842eda2809478ff4c212bfad93d7ebc90e1cb82beac7eb47ebe83c15a04780769585ddc421f1e73b0d6a1b537ea6a5438729498727a01cd95f1699b7e143b8b648116bf0cd6edf383a9340b0f727c399cb7e01be505434db7efdaadd1cfd71bbf5ac8a7391f4fea6ee2 +PT = 4a45e5bf462217db012df53c1c7d15eb642658e6afa057950e227113b57c7437 +AAD = a415c8cff581f79601f1bd3e04b3b3c4 +CT = c8367e5ed30ddbf9c4eac7cf03f3f6a4010a1807d461f10ee33414d4188a0631 +Tag = 803f9868f6ccc72977cf802cc99e14 + +Count = 1 +Key = 06b1adb72c753623e76bfd31494bb44b +IV = ded14dafc7b6250fe692bd14800c8a3f9b32eb915e14befe65ec4b922a3e27c473c436478b35019bdac5b98a9d3af76206522539f9a523f08ae415583766aa8291ffd2e37a7ee043f8d12c2ea3ae57dfeef0cd87c31e436f4995566b1f497317c0d28591623225c9c44040334a55190c68c121bd80484bf74ba28e881423a45f +PT = a12df50a5391208ab426026dd9453e567283605045ca85bf40841a4bd68c7bdd +AAD = d269387e767f4596ee77a3876e718083 +CT = 3ed37a3b259dffee8c6b90e59d808e8730ca47c6b936e15ba66f64797881aceb +Tag = 5013b6f3da5925c4c019d8dae469eb + +Count = 2 +Key = d4bdabddb1c93829b997515e97a56a99 +IV = 8cfd86b4daa596beb61697d26011aecb911c953894257d425d2a24396816ed786f7a5dcd8ce47fa9eb28fe01cdb49b424c39b6086741de4be4f69ef5e421c81941750571e6fca01f6885a57ef0100b0069baac7aa4eeb7c2d53e8de1aff62a74ab89070debfad36aa85f3501148633c21258264d5d3df5709e5c50bc590db314 +PT = aa95bc8fca95e5cb9b71d4d2436b24fdff0af6f922518dae8100ace10da893c8 +AAD = fadbab555317838caab8b92d0128a82a +CT = 6c1747ba3cfd4aaa870ff1621184f318cdd06dbb9c48e03a7d9740315c16bab7 +Tag = 5fb74c3c3b8d898c1c8a93380f099c + +Count = 3 +Key = 1e8aa1c4b595337a2f5a6a661f0dea1f +IV = ea66f2828cb1116897185efe61e995f9c7b1001360f9699aaa1831f0fbaf7b02c82418b1663bc5a5501d3c79220a66c8361165c3b39e123398f957bacec3831c5674e72b23a7eb0e1b424bd2bbadb63edaf4ccd5118ef995c330f32572a81fabdea21a5eb15af43d87dab11fd566e91f195a8bbad7f2cfd07412adb71fcbf156 +PT = f3893d22be7750e03dff884c01228c4aa338dde3069b37bc9bc2bea3fc17571b +AAD = 883ff9213e705acdeff8b70cc82f5bf1 +CT = 44f6fea865da5ad16639ea35007a3fc336dcc6840ea73221efdc26c99877f4f2 +Tag = 788fdb324529a1fbb626126bb4b12b + +Count = 4 +Key = 988118c5370a41c713d62929e1fc365d +IV = 7dbce2c45ac828ebda4a64549bccd11208e7b849563a97e420f2ae3e8134a245224e0212f38561b9a5524ac15205300383491614b25958ded92e89d20f8286a5b62972bb591894ab09e9a795b16f4c6e4ff667a2e9c50ffe1391994bbecd8d04d82f421fe549c03267e0976c0c6d3bd2d5df74256808db4f5d80630a13efbe25 +PT = 440178670c86618d4f707113c608e9f889431462c233f983a17adf84182d4eb9 +AAD = 3e2fc2205c108b1d517eae11036ec469 +CT = 2dbef37cad67af71da8d183683dc7b9df64641fc9d96f08d2e54fca73721ddbd +Tag = baf7851ac9381a1d93528b1c1ca946 + +Count = 5 +Key = cbf5cc768f28ccf881eee05ec90893ba +IV = c0b22d0842893c86464c6dcfcecc9748ba8ddb4367d4a0dafbb2dabfd5da7f4c323780b468901e14e1cb56f3876f450c0597de875b1ffcc49ec696841047b23d345df8e06797893ebe942afec4386261048f3f546d2e7b6baf522ebaa15c599e6cb14e77b473470c4bf4567f5b2a4180352e1f8a96c1900b7c8ac1501d69183f +PT = 00153264cadd8cc6ae68d1cb00e7c35a9f084d1db96778d91cd9cd5c5bf7f989 +AAD = c48211416569b554cbf6422d6c0b7e26 +CT = c151c11fea1e214225a4a9c8d40c8cd36496b22c25a70cc23651e9ac57e9a855 +Tag = 3336abcf4aedded9d0a6d285402f7c + +Count = 6 +Key = fc8ee67b33cdd4c27c731df3075de1e2 +IV = ce468df0c147bf7762cbdb84ad0de999f12a4c82ee5d13cfce5cb4c4e70a041db4bf0209ae2804bfb4fb73a266a28311ad0bd64fd934f080248203dfcc0d9cb45ce29ee41660e88532ab3282dd3c879eb017dda23d040473ac92fdfd6cd268809e5df92e0885a98589d707e2f01ce0716578cea41729b09a0a7819a42fbd9ed6 +PT = 6a6634b44cec0167b029a7a06a5ac6a81f45b8f83066e5e4f598fbf542c8682b +AAD = ff3ba90c80a2b0039c99114f8d82e1bb +CT = ab3ae1f676ac5a2424ee4f77c0058b11e4188fa00adc0142aa2aa98fe6b6eb5c +Tag = c80eba6d67411adf07f3f413fff6b1 + +Count = 7 +Key = c7ffa17010a69a5070c1a454fd5d8657 +IV = de30d2d9577c30e36ee8a29b056d9ef224801263795a1a8ef5e706ded99e983bddf8ffe76209b9b94909fd81a629da2c8e50a232e1fb216ffd59efc5074695b5658c1dc16d2a265265cd54a767fa533354d43e51878c31936728cbad4c18d2db8d8944cc0c820ba780619784dfd6ee69bcf7c516d14f4f0425b93bb41742ce6c +PT = 7209f4f995721ef3b86d4756ef569fe70b9e76b17d5aec309b676e9fdbc19752 +AAD = 250abc929a335a03a117feee53bcd71a +CT = d65be8b356afe4f5984c684d49ad6b0e1fefeee66ce0989b3549c53c163833b2 +Tag = 440ca4c6f6c57dba284a6423164025 + +Count = 8 +Key = 56245ca4c62650b6c9e171e50a34e7ff +IV = c41eef32cd4be167b0220beaae6c51fc35a1b71fdcf270ad7f72096c0cfa0a23c3fe1b8ec293a30dc7c85cc5a83a293ff4ce4d00cd68f70d53ee75337b1d9f59517d50c6e8a1b8fd31dc25c194f0ac813378984417ea27e7dd8af087d8421d66966407a74001c8e0f86b95adfa6085bc00525d7bbc32a07d3678e38e5c97d491 +PT = 6289eaebcda5e79fca3b67c85057d7e28750ceac7781c6bf9fbfff7787d86440 +AAD = 22e2caf92fdba7818135ad1d7441293e +CT = 8783e634c7f03f2ebb60f2b4d6e256be5536fa2270aa90469e441dc03fb1cf28 +Tag = 39f2f13e3842faec0ca2fe43a8f29c + +Count = 9 +Key = 3a08a8a54baea91b517fa3668de40adc +IV = 571d1142481250fd8c301085320262c67170adff6e012d17e70e4c12c6c22110a1ca63cdfcdf0bda7e7d7f5af4bbcd0def67de30742ee61dbec1903d5aa805e6e1c98ea1c8a14f50f697dbb4535d5775c64c388122a694695ebb92fc1d6e214dcf270aa619ab2561b4e64132d5d8095f54cd588385db910cc45fb8077a67237b +PT = 63517f65a72fb93792cd17c6e44be6fa20bbb18b0fa1cb9df0fb9f590cee268c +AAD = 2f7b8db636a890a6bdf40b9f0fb0aa52 +CT = 773812a705f6e45fe60ee2eeb9555639c027a195a542a85993ff6faf62f536cc +Tag = a1acdb896d006acc212c2796d7acb2 + +Count = 10 +Key = 0c0c60086c227c5e4a72904c55482e80 +IV = b5d41da6de66e8e01de92788663801137cb88ebf13cf031468b0ec0fed0518e4fca22b23210560be04339b8ba115f26347c11ab3222546d71bf5bdd5d11b153bf61daf57e587e642b6a771c2378c365963214067eba199253e3f98e9486b135e9e1e15d95756dfafd41d228c91c0b8c142cbaafc2b1ac5700d579ec3baf90ae1 +PT = 1fc4a411995e8c090110242e8018dd76fa66189ebc39044c0c8128644a8ce59e +AAD = 20d7774fcb1e28c5750c04dfaa694511 +CT = 8f142ae304ecdcccdda55f0fdf4ec2127fa89eb6d83edc19bac29a44736db152 +Tag = 7d807821a02e9f90096d3592dd3e87 + +Count = 11 +Key = fe449bd6f2d04e119feaa4afb59a0e00 +IV = 49733929c943f598a75ba1bf3bcb3b3f0e9fc5313cc0e486b3ff1bd81eafda767bd127eece23467f66bffd928f86da29053e13d481c60ac4117ad3b03cb7312e5d322e6e4885e7de368e47a41e42467d49f5af48b8104fc653283b2e3391d849fff2bc287c337cb95264ae9160d3fd4936c44d9e65c76de73e5402ab634dfd84 +PT = 1605cdd55e752b8bdc73db69bfe1d7685286188b7a4afe6091f2c9eecaff3072 +AAD = 74c2d1dd3a16d8b44987a25b915a3e50 +CT = 16bf23af3abd2ececd8f18339f91e836950034e3cbb663114240fd5e248cbb46 +Tag = 1c7c1f6d3c92291a9b705f1234dd49 + +Count = 12 +Key = ea195484973a8b2634bab748712b4ae0 +IV = 1c264896aea6ecea396e518eb00b85a9216963fd1bb0580d6f80901595bd0c794971184b4b23a231ad7ff6f15994260f988e132ed92ad402d220be6270191858bfa6b65cb3fa83cdcb17a0f8249158135f04ceb3145294edc5a0a0da654e7ea32bd0b8314974da99d58020e54b4708130438b40b95f84b8e962f90fceb8ee4e2 +PT = 4548bc430608dc813abffd6ac7388a20aa6a7bc76c11b0668ad6360c8642e13a +AAD = d3f9c6b6e726b4fd3e433f8db7d230ef +CT = b5271191bcfb26f2d4e4bf860b6eb784c220c5f0c76e1d5f425a0450acd0cdbc +Tag = 2048d1ec50acaea3bba89b4a3a0bbd + +Count = 13 +Key = 3a95be7f47b8bb39f1f3c975c2697d97 +IV = a93cb7369753326db7f1368da37425df2a4d089a60e779253b4ac930b761b4ae6db92ae6d130c2cd7ea868d1e7a28f25fa71ca515df833d84c11039687de05e18adebfa310726eb376a172d74aabae0fd95e08d27a33885ad2831a3cb4297d699583c5ded6edba67b18d39e9633c8c9e072cce02ae1b085f32e881bab352f327 +PT = ae4fdba183a9417b102f35a2c5535be6924de2edfa0b8902cc7ec8ad1cbeb390 +AAD = de2f6a09c01def20e75d032e1bdf09f4 +CT = fb99a50c195758e87515b62234b14f232ea47ef560191c2b39df59f7774993af +Tag = 6e7fb9344dc9846b998421ac05931c + +Count = 14 +Key = 2ddcf60323d7a2b960fb47951925cd7c +IV = a3289d7cd28dc605d871094f2e4151237b608bf51c9678cbada67f854391d09a0811562ad4261139c7d8062d17531eef4f4ebc92c24088a6ef035f3d7d95f3ffa454b950ee5e51150f902e21e34b567026243c9fd530081e8cad8423e28e74afc91abf70f5f050046b17b61f8e84216488aa4fcbaabe0977474e0f5f1282ee0e +PT = 6895e8fe2d35d7b42a9dfdc6fa098db1e876f6a84f330920e0f51e6a329abaf5 +AAD = af4703f4acbfde08472f11e5f91528b5 +CT = dbbb3122caf33a5420f4a7f0ca375f41d35954898bac6509b2f16b0b58d8b621 +Tag = cceb9e9b606d6bb65bcaf024668a0f + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = 2ef76eef5ba4a12499aa3def618e67c7 +IV = 3945366b100c0d5ca1f01fbe85b604424afce49ec56ec08e6c24090fb76d926a31d42f5ff11e794af952889b99670105a804e3f8f235a185aab104685e9e64836904a1cff65e9f628868807d4caa2dce358a3aa6ef3c92cb77289895333e561123e42c877ed5b586f8d4292a8b7f7f3f270c2a14e2a5ead02aa626b311b462ed +PT = 7a145319e30530c80889822f474434838ea4f39b04c627fdb33fc5bbcf130804 +AAD = 1144b5891353ad1b1bd51dbec684486d +CT = 3cfe6b6b8c694c2b9267445851a328b14e7f8680799737e69dab373434ebccbb +Tag = daefd1d50dd3207e1fd48c7ec77e + +Count = 1 +Key = 596b6e032e79805f4ff9cfea0cc9fc99 +IV = 1f18ad1f12f65edcb879561abbd1f690cd128e5ee48e1146da22d1ee48e1a83441f8e1c0d382ccf2a0f72b816147c84a7ee722216d5e82d2956f1ac2d95b16b6c0dc5727d550d7589f3a81c9ca23c545ebd52d79ef7c3e74ca8dd315d52d99274ea6de45fa29c941e93b56e2ec3e2058fb64c50b8385356752282de1e171161e +PT = 7ccd77d901d145a0774e8714b1fd4dbe0cc4b37f3440266fd3f48ef1122da4eb +AAD = bbb9e9b0b7fbe80b867fb479526079f2 +CT = 9ddc01fd14b43f832689b434fe227b8449993cd5cdf6b22fb75faa92a6666f6d +Tag = 9356aecd2630362ea19d4f524c08 + +Count = 2 +Key = b0403934810e24f73ea179bf647fbfce +IV = cc431b97b620d0648936e20adfac2bc109a45baca810afe331aa14466108c157d601ad6c19d360d76e9d8870f7d704b14af7a662c438c6a49746fb4a42c6286bce5b04ccca5a492625c12bc89d32f1be815e740b3f05cbf590151c3513b5e6245310548b89c3ef64dc72174847c1645a2464abc86bf9506f7979076ef9c5be2a +PT = d4990a1f7fc1e80c461b9491511845bb685e16d58374c0637c41344881020268 +AAD = de72221630259eed18b633d6007d8a0e +CT = 4be2d1a2db48cc5b7f2780fd98faebd7dcac3e16a755e04188216c36c6b04c49 +Tag = 4b60a7f2c126e460d053bf7367fc + +Count = 3 +Key = c339b01e4d9c6fbcb87ed28ffa649744 +IV = 082502207c52e8b3faff1245d60ce2d673ddf15228fdda5c7b0cf7acdad98da809b55b63e5e34509981e99efa732ae557b7efe18560b789a3469c8ca16238d8a76bf751c64144186a149ea7bd57e7f454150fc75c7a6dfa7b6ff16ede3d00b2d4dce7850bae634a4a2f99c2fa7e09a04bb206733a4de0d4509afb708c6cc39ea +PT = d39cf9b8bed7762c00894859f730468aa69fc1380dd360ecc16d40bbdec932aa +AAD = 2ce9884205a103d4dd3b0dec7519bed1 +CT = 0524f8186ce6fff826387dc169e989e31ea2a6945090d0c31a30384b09ff81ae +Tag = 8c4e9846470c13b9ef3efbbda90b + +Count = 4 +Key = fb8d23224534edcb94d2e9ed001628c2 +IV = 9cb94ed36e722fef2905e1adc2ba190f038c6ec842391ec2ed0b99414bc736c4e101727307d092cf864ccf5ce319e7b994d051d1b6e9e2882af9a6ea0e0cfb945840d3bb1a56dd4a8d205c9e0f18503fc94ed1289eca4d8d40e7e06b8dfbc31242df51b388781edf7dac8217bd2327f86982b17bf2a5d6cf501f8a51b9624fdd +PT = e37c1efffc2d7fafea0f4df94259ba8a5bea06ad9d9994026aba3f48cb9f99cf +AAD = 8bf6ef1ca1caa79b3eb4cb6792e4d6da +CT = e1573ab5b2d2725f5bb1bd681010201937b36ecd08df55555019132e061e816f +Tag = 78433e9f000a929ef4755b064e2c + +Count = 5 +Key = 7cf3eed85daf65784bb9b409044932be +IV = 9b3db6eaa837f75a4e709a4e5a8f287b1402b78b46687fb9bdda9970f598f8a422a81f1ea98e6c716f8e1bf9d799304cd0727cac3670f0f993a0763772150829c5b5401c9f044fb93a96414ad4b63a810ed9042050cccd2006b35b85cf7bbb38ab8821e9f6c368bb8c0c5081eb763a756343d97dd4e8a4fa141d4cde1db44ace +PT = 8bb0daa1fa44ce8467d3b3b5c649be8b55c5b18eeffa9b95749d18161490b7c0 +AAD = c55975cacebf00d5d19c138a199adb9f +CT = d61e0b60de74400c97750ea73e3044a31e647f6aed59c39b4d8010223d51fd1a +Tag = 81534f1d570acb57e5b0f1acd4bf + +Count = 6 +Key = 15fa1fa2b6e73dd46547bfc56a010814 +IV = b2173f70c9cc145d8079cd802e1c963ce5ec4220e3fad6ce09ad6891626b13a56657d39b26627e47f5d2665144424f604e26223a364b29f35a1aed556afaf519a2f1bead1b2bece85f423a188f1e3598b1e6292c153449b5d338be1a6bd416869c21025055f93e99a4f9c718b879adb4d54fcddbabe80dcc4077dccb388557c3 +PT = e669f8475bce6e9ee1d4fff5d57bea3c5a0ee94beeb0a718313887212c1b2cbb +AAD = 557590c8bf2758f28edd675baea767b6 +CT = b61c9b14fd28483276af1ed796b9e1ac85293c440ec5849a9cb75c849a9c9858 +Tag = c83ab23686b72954d60f77af1d39 + +Count = 7 +Key = 26380ee9dfb1996449a6d03990ba8cc2 +IV = 713267cfad354b254e7c5db6f60c613671cea751f06f6b45838c8965da6a87c70ceaa3410e8b42d36330a092f840ccf932291837c444960f810bbee7781dc5d8a49a8563c039ee837082bdefa61ba4805c289b07cd67593a07ba7109dbe2fa8b1ddca33c89bdffb7ed63e0cc345b2836ae10759df4a1bab5376f39b8a1e1809f +PT = 2c0acc8fb5faf35d88066eea6a5303824e6be16151a68266b95971890c811afa +AAD = b4f3baf1c486d34f18e255ca5948c56b +CT = 83b5d462b1de54be4d758a95d6dbde7a555c9d77363e7879039c08aaacb59d76 +Tag = d36359c96bb8111993911fa609b6 + +Count = 8 +Key = 7a8f2dea9c4059f4861dc039fd8243ba +IV = 30a3dd9e87b8da5bb2076b3aa10033dab27b5031340da111478379348abb5fdddc43e67e2de117aaf027dfd7020496087dd5c4627938a45433c5146f759247a259bd7c9514798a312df05390d36a8f9a8977bc080ed2164f69beb33a1d48878eae1c380bc7d400c6db4f550d21c70776f630db2b0061e32626784594561f3594 +PT = 509f43629cdbb7f56bae204ca4b34920ce938ecc9bd0d3110cfee961f6403c0d +AAD = 5e5c6c0c36adbaf3127ac58899e12705 +CT = 205434909faa6889bfdc3089327c375ec927f7b116d964beb1786ef82c9d816c +Tag = 309cb29903e44e323acd0bbda129 + +Count = 9 +Key = 33601a8d32a7856b92a03453990e2f11 +IV = 7259f6d53f4198e4132691a28e444288cbe78e82fd3f38f836f5f73108c53e98fbdad37a275617d7700e39ea62b474282f0a9a3cf6cad03f521e58d2219c7fecad750af69194f513100268533c44b35f8b5ec38034cc4e193b47e9bcac0bbd2c7465bb5221c8ace8cadd1f64098cd1b095ec271cbe15def0c0fad6afdaf401b0 +PT = 52e0acf0fe6d044be4bf26eac99a4082eb2b2a6115b19de4279d17e3a07e5d9c +AAD = 6eee83b6b527c070f93ea1c704662372 +CT = 45d14e8d7a0f0ff06128d900d532766e8856357c3e644ce2986e875529bc10a1 +Tag = 1969d861447a13f68a9f8cfd85ce + +Count = 10 +Key = 711a90f8f39756068f486cec71e79b01 +IV = e18e490e8341e9df1c2bd5aa20d13e3cf92770b7126c92885d04845f491234e998f5f3310c40c3d69d2addef0251780c7c477a2c80f3e9363f0edcfc84e53d7a8a40f228b9909af340b3fe109ab133dfad24a2da94761b5ef6b91f22574818e6c8c47a0692b1704a89c2b0930691f72dcc1873b4256c3318265b52cd0530eba7 +PT = 6614589d56c830581a5cbf565ad979dfcdaa4882dae845185dc1274e6867372e +AAD = d44e434eaf9ac24d0dc7087d5a2652bc +CT = 439ee50f433516b00e0247ce63aa9ed1f63ac29f7f9be5b6fdb10fc8832f8a81 +Tag = 3a52e4921a180e25a304c5b7eecb + +Count = 11 +Key = 2b4a53a2a23747d7441c939695457f5f +IV = 5879d72838330f634dd0f722c1e930b6a5eba1a544ee34d57883f583f30cc44ea24de1f0b95882c8e12c7869d17b31d0949fd3e96d2dec2d198345a31100bf9f797e49a7cac12234cb82ae71c80abb51eba3b8edc7a3d190b6c313175ea16e5d7999ea166c8f8b3a5e6a1850e62d5594776d5cbd04d7d9f9c5a941bac99379c3 +PT = 7b297585067fc7af8604c78956d77f74a1c0dd74124d002ceeaa4f19d9e9f520 +AAD = 83ef67d188d2ce94179d117e02e0f31e +CT = 78dd0362180a3c54ae1772a56cf93eabfe59cdeca8887fade958deae8e7f4b86 +Tag = f9a40135ca04e5a03c231bcc4ac0 + +Count = 12 +Key = 2cc1261f0f8d1d3e73aaa05027a68838 +IV = a36368365d9f791816c3098c4649448a44e410a2e32d92ce60ed8632ef49092c723bf8227ab710a3e29cf74eba8e5643d1fb183febc44cf12b942617415a0efd99e5fba95628aa66ea5cf554357ab2ab9d0982b82e5592e1055c893872ed11878b70f01e56e60a4164ce1c74a0a90cd2738324d62d59eb68506b07552cdcc6f0 +PT = 030f1c19a049ec5330c7fc454557de88dc408b4491358382055224b01680ebba +AAD = 5dc71230f32640ab630ab56985a69c5b +CT = 8bdcae7a0ee7188bf2d903dc3451ebcdd56073f29e3d802f3e95a7e8080a73eb +Tag = a52c8660ae0b010cf0b20e933f64 + +Count = 13 +Key = d424e1271d19fd4b4386e74f1e8492f1 +IV = e22d11e984a1f58ecaaf7925bde64eda8d42bde33ca9d0de54c710cedd210e44b6096fc84c52cec4dd9f4dbb3fd1bf04f3f4e7145c8e1caec922db16fd8189980f7e224a5a9f9071a955ae3021af05b368889fc9fa08a665f36dc9b2839ebeac09c6526c6685317d053daf85a347fbb3b01a60397279ad07dca74ed6543807bd +PT = 00f4ec2e2a137912650479e220cac27d07617bd5a7dd17b568acea814947559c +AAD = 81ffac945d79f670a3f92f9992c48215 +CT = c7d31c37d07f7d8db2d2edf62eba1dae3945f19b164aa0e95ce222e6008cb7a6 +Tag = a3b99e884ce9c0e1163694a3520e + +Count = 14 +Key = 447205c216b96245bc8bc17ee1a815b4 +IV = 50e167c8d0595219915870797bf72fd42f16aac213db98cca265fa8d5ffc7c9e2945e46f90636780655deb3eef770f23e2b5dd5c9c32b64bab9225ce42ad7f6fc25455f97ec6da42779aa0da56c4c5bd9b3e7c2e242b85da5ff5f7f87b9f18f062284aed1293036e179ad83452f70b295cd213ab0dd34ea736bf8f65c289f65f +PT = ac31c73043ab2c7d2f4ff6e2edcdabdb89e04118e4096aa22d898722ef169074 +AAD = 115ecc413548f6944a16aeee80c5f165 +CT = b585308e8e24135bf891fa14c0104662536d767e1975ada56923b4d95538f155 +Tag = 1f1210d309f692323454b38e38d5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = b66f52d2053fd69af3d65f5aca23ae1d +IV = 4c064ba88b1281630a57a5162cefdc7a55821d1ba655252886710821d61754d314fccb01974e79e709c1dda425ff3cf2b0df7f810c12d1a6d79dd4232045cf980576af2667e3d748a5df4808a08d2f091349d66c5e5073f09420911adfc44009c86d278d7969b4432c42f9fb0d6b9ff40adfe8d1974a879634f3b4b83b92537e +PT = fabf230f2b84e329b159ebce39db43aaace47bd5eb59fd80ef4780be6d375539 +AAD = 3834f6b522e69bc8aeb47b1933b483e5 +CT = acb448c8d74b13d19d0f57ada1d3551b3d268af94d41991ca77b8cc83750b886 +Tag = 8e99f58a0697cb9ba2dab229dc + +Count = 1 +Key = d709bfb439356e18d8c15fcc48fce3e2 +IV = 8a414d995f1943adff081ca2ac1d46cf4b7ca7205fa4f5b07a259a6d3218ccb920f0d0d2946d1e8c6ab48a0e627134416da130485128a780d46e88d9a017aeafe4af364554ce83dee6c2d7d972a81b7b6230c01e90ee0c2f384507940b281f7454c4711235b86bad53ea7a40d1821202726b3fba08a9aba0b76b4adcf4b1efbc +PT = 80ee5c3ee05c17dff2de13ff4a2563271e5f0c0609567a23e6e2d66a4ceb1b11 +AAD = 3ffc30d5d3707db1536e398b3b46fdc9 +CT = d581c06bd56bec4011b30c583783f846e077420894e05beed744b9e32faad54b +Tag = 938646c634f8a3d6abf2fce51d + +Count = 2 +Key = 5ef71751ec2b362c16f567e5b4e8a28f +IV = ffa7722981d292b322293597d4d11f07d13dd014c11df598351b52f721d639514b1b87b985fc8d5de6e74ad928264b4aa4bde4ac72ebd9c872eefefd28af18c7e881d77e1018dba5f4119264949f7789471edaa1059aba991f62aac3fac142fb326025ca14af17a306ba99aa777e93ff91a47deb618ab61843e19c841159f25d +PT = a018e6a820bb81d9a453d45e01715249bb1e71af3acff2037ef84ce8bcd329ce +AAD = d40143b957e8efb7c1ddc1f55680daa3 +CT = 957c61aea2d5653843c5e3d070702bcc16b74371547d992a4276a5976f8faeb3 +Tag = 35c28f995b5092ea60c3ee156c + +Count = 3 +Key = 130bf9166cde7aaf4ba1c9ed4b91f630 +IV = 8da358dca650b9620ff6ec955ab3250bf331610d3c9b198098bacc31dc2e6567d3a3417830be5146e698e957eb9175a05900e787cacd50e2cb8b7bfb57accd51db74d7d55218b2a89914a1ece08a8b4f0f900156c5ce458d2fc3d74e803629ba75e2bc5098f8f6aa6d029b12e4f935a0a7dc53c9b1ea584c86a6e2b70cd8f54c +PT = 335aaa7b6ca716231ac8596ab3b82e1f47f848fdec23ef6d0ea98e4111428620 +AAD = 3491703e9718501e67bcfd05c1b9aedc +CT = 87c9e4e793bb2e7c4650dc81e3ea05b5345128200b15ba9cd1d1ff9bc774fb9c +Tag = 4861cfd0fdc68156069b6e520a + +Count = 4 +Key = d8849739907e3db48f553ee47f4e1701 +IV = a723652dbd277e626ecb6ddaef747f423e377b2606b2ab0c5c9b41f2ec3c432434ae3561de9faf2b3c846ea99bd4384bd7947dedc985c7ef36bdb4c66472c335d8df3bae2205a710e7afa8a2efa2dbb8ba3f251b67e2e89c808cb7d54c7fb0ddf5a22dbb7aa5b778426b685909e727614b8dbd4447c836ad8147c62d2e7d0fc5 +PT = 4315dc3fc289584b46ff6a825c6197529edc50e6b22063ae2f9663a1dd2cd1a0 +AAD = 91bb10ebbdedb52303f96d9231c9b3c0 +CT = a50976867a5e3fb8b1701cbdd0cdd47aee23b4fc0c8fab9f98acfef31a865ea7 +Tag = c659f2dc1b4c20d20812a2f45f + +Count = 5 +Key = b932839ca9e5d09110b15951595dfe66 +IV = d110241ddae6257e74f356a515dee2ef4e035406d65f17a7296f21534f5df08bf12aac6a4626c0749e725219d404419ffece56e641ca736dd1877411f1ffde0bee3760df4c3ebd9cc1d1c1c6e92ff9ec92525d5104c9dd6b953644313b2bdd8420bdc7cd1d79bade064f74b688ab9b7b6071d245d9b3d40a2fcc5e3fa1a6667f +PT = eb9f1581013cfd938fe80531cca5519adcd2adc4464e8f8e90c7f8bb9317e485 +AAD = caec61afdeed173613206ab7729ae89e +CT = 23d437c272d1fcb70eeeb72381e7e937ea17d5c1dea4af082306dba245608074 +Tag = 3c96f9a9f40a28f37f7c6a2d6f + +Count = 6 +Key = 0c2b1ba62abc45904ed31c5c556c14b2 +IV = 8630db7bc05dae9f7617fc0472e1d83e2456f82f2d80763bd9df0effd139fc135e1cc9988a37b33f82b0150e6bb6a77ca4c4b0898e84ec8ec63f4bb98a2e921e304545862805151cb80c289bf2bde5dbdfdd3d903aeb0dc6a0801de9381559351745942ad094d64407c03a8405ff43464757f8dcee2ebfcec9e5c82c57875179 +PT = d9f6a0de83dffae38ddde1e0152cbae921d5cb04794e74930987d0492960a56d +AAD = 56cccf2b07e742270687c06d41cd14ef +CT = fb0f96bdbdd7d50ccb8c629532faf6729436e7cb403d8fb19256af99ff008900 +Tag = 0b49038a790d48959f5212171c + +Count = 7 +Key = 0c067ef674351b65d07d8e30f617a8cc +IV = b3391bd1e6ff772def87997721f546c212487a9d431282c82be7a071a7cea6f74f16df459c37d313d2253b079a49e5b3df451a3a03bb8f4e4845dfd3b5e533964cde96f4a4e5b63bf4d36104df6c3b553565f7c4da99811d032881429194a4788026b1d262054f313cc56420ac5eb4a264899449d75de3aa17f4006bec725949 +PT = a93a68e4e16d5fd2cbd5cb7cf105366c933758fa1fff7e324cb2a8e1e6541070 +AAD = 127fc65553b0afb4a5d47b8ea6bccbd3 +CT = 56105a0c1f462b8ddf499c07faae6d8a97bb733e826140c0271b6bbd7fd4441f +Tag = 3069da594c5999794c416eaed3 + +Count = 8 +Key = 3159246ad501937bcf4b051eb91c42f1 +IV = 2f1c4e3433de7742349d0e6162fe4dbbd4605c98a1b67ae45bad230843a2387586d61f2f5d8c2a9cd7ca08ed4a8ed9d339f7eda45c606b9a2444da5a9ff65b4a893fba2b5fc620ff2ad9fd83f267cffefb05fd82d770615247425002b5b115476c20178abdfba51dc886e6e729e1db03f588133b658ce39c8e7078d0840d5e3b +PT = 4cde157c077a8a4eaa9f3b8762fff0e3b61765ba4545e1f6eb943ec1c8ecdf2c +AAD = 1afc536964549a30c622277c3906b1aa +CT = 48c39c20f5be82887c094270e8225ebb41e65af3bf56bb257572500a88c53a1d +Tag = aecdaaff587389b87d10fbda86 + +Count = 9 +Key = 877717ff1a007e99c941972c7a978518 +IV = 307a0662061d6bb4a28052d1e539c022fa5a03f7ab3ff5c43b5f34e7b43eff7b6ce36ce07af5bbe881fbabf23f3893073fb4b9c0332daa26815948a6bc35f56b6743da8c6abfa97c49391a920ef215a31e2f7697c689e4bc7ecb2c123619224a35677dd7bdd8015d5f97b6b0c031d4a6ab3b6764bbe3dafb48c6f175de11084c +PT = bb28adc828808a6d1ea54b5c2feb3f7e4e5954b1e4c308eef5a35be912f76b03 +AAD = 885ee3f9e0f79e710b2d0c19cca3d218 +CT = ff54e8e8633c0ec2c1b2da2f64f1dd6841ba3bfc9883e8648df06d32663b18a1 +Tag = 924b7063d0fc16d450bdcbd5df + +Count = 10 +Key = 68b51bf52aff65c3120894f87c5a818c +IV = c49421257ed5832c8d2bae1b7cd857dbc8c5f318fc5d34d67e28b0ed2d2bd4e573f7042bc5e48846cd88a99ef526d9bdcf8f7ca44a6d9660365caf2707c6d6bdd7e032e1088810e26ffff903df9435a549665aee0c073beb1eb85af6f151fb30e4d8568fb0184c8a36190528207e3a27d19e8c7c89d8b07724ac1a1fc45cf126 +PT = 7d1027753c9cdffd657b0fef874181b3bfdecde0d7c8a9bd11e3894f7492af26 +AAD = c3ec4694bc5d0de95d4460b12f150f0b +CT = ef1c6208e3a886bb447b8d74dfa02532fff37156ba95de01b23c8b214bc6a828 +Tag = 76f3c822cc3ff082362913bc3f + +Count = 11 +Key = caefbf2e1b1ffdfebc86e1e23e868328 +IV = b612ff83c21ef40a323318c30d693eb93cac43ceadab1cbf6e6e02aaa7ae9c7343ce293e53b645e326be3f4ad2b9616328d3c776daead77a20b04785f98aa8d34b4420e2f2b55b4539553475b966af88f8e2097e88307c5e79f7fc88aa39b2ec9e69831c0e2f3646ceba3b79cd7a12b3753f840ac29d66c6ef22916b10b632f9 +PT = b0efe4f9cbf168f258d5767e10afe31a24fa06419e5f72970d5e9c59d4ec4a92 +AAD = 8e1718cddc379c878967ee4ce35e0743 +CT = c86da8a61f2697f347265b1074e6f436bab6d642e36841b4d7e9c4fec39fedeb +Tag = bc8ad7928f3d4dbbe0e19d57a6 + +Count = 12 +Key = 8d8ec75924e7f0f06f7ac5b0e7b4e2ec +IV = ffe24810214d2ce0836291e3211888b8227f979d36674b7585bbcc8f376b384ea80e669578853eb04b0a31fdd6266f3764b3072b6db0cf9c1eef005d3f487cd32884cd1fdc78f3d2fbfb4dfa29d8b52411d3bef8af79d5ab16b6c3abeeadcbcfb56872279cff9367c710024d8e604c77d27be9f09a31abcd3690556c81f6ee95 +PT = 4d4e04dd4d0bc83b39b07eb16c75787ced367df9c631adeea03726633e676bb0 +AAD = 1b812182c9614f32d0bc1cea6de50d4c +CT = fee975a1b96278c5804386509b12ce39a9e727bf831e0d37c823a21a4729ff94 +Tag = 0084981396cc8373d9fd328241 + +Count = 13 +Key = 40546d99589fe025a4c7c909287c7c14 +IV = 273b62a50663b48cba73a7be499bb6b4f768f650e7352b9d0c0ae10b41bdf31d8e2f6a42a1d8c7291f776584cffd490f307c2f739e1f74c52cc57b8961f55f51b4c3db8121052a377f0ddf59ab42300d9e4e2d892bb1d7fd4272380d131b783145ada79c6c6621c4ca08c767244e6b50407cf28e62f2c6db817cfce51f69b4ec +PT = 87241dfc41933914ef8656ea5e9b7a6f96cb34452b2a9ecfeb5dae5b5bd830c1 +AAD = dc38d6b612164bd91ee10dcc6c796326 +CT = 4f8901a138f15f6e3714b69ca5b1ef93513d47223ba4756b3b5392c46cc09647 +Tag = de5e09f6fd818c7d15e7f0f1b1 + +Count = 14 +Key = 4ef3477080e375ae45218d547b9106b8 +IV = 29dfff957e206d05969fc022921df10437b2b9ad6033c9501a33b87f4e817d0205403439a5071f09b6523028d4e02b826c5e24efdb2d7673825c78f32d8e606438e280854de6bcd28d7e82174ae464f84ef6c417d542af0267dcc494327d22457296b39c780b7121f3f6ffba35df0a7da46f7c1e2997cadad50f8cfeb6fd7f41 +PT = 499934d1711cdac9bd6c195a59db51f8715655906562f4e40bcea006c4385774 +AAD = d8f15fd063c7792a08563041e5d4fde2 +CT = 5702a1626d9fb112647710b8138c51913eeb050d088bdb92fd03c48040be62f6 +Tag = 6ac45ebe4676edb4107aa44e16 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = 273dd15625d8f63e9a1e723452645c6b +IV = a154d005f292bc70ce7c03522488be58d4e6ef0c29c7bc0419fdefdd61a5021de6e273f0da65ef23a45c28fb80aedf52a47042b251eeb38439c032d4a379ada9101ebfe3d8f1a1d7872130f7b97aea4ea3c39a9d26395802dd67743f0437cc45ab6c4fb089e1b325dd4818c340069323412008fb2851e158ca13016a7400c5fe +PT = ae89e23b9289e0ce45dc4fb62516ed938e31a2003ce97daef8f9a5b8569c0194 +AAD = 254541d213c4d177d262a1093b0ff648 +CT = 51c134b8c0141246b2a8de6ff7f2fcc35b12b85e9402a50cc79bb9d0d816f98d +Tag = f0b281a26df77f3f3e478fe8 + +Count = 1 +Key = eb52abecc787743b17c3fcb5e1578ce5 +IV = f91048cd572e8a410bfa249ed82d6c333b5b8db413e39a020d8905185b630c250b2f14edcc9989d40344a2df5e4e889d5d260b462bd06818af6291a7ac082109acfd55e1e18d547813b1cae5bafca3a753536ad1b3ba32b35c7ae52d125c15de4f54480b986119b84d36459d1f095703cec81a728cf38e5ff77a60b148ecd1e6 +PT = a86890b4162a665ecf9faf2d470751b44f95b6ba5e0f01e49f9e949b7582cd53 +AAD = ef04a141b1ea55bcacaaa7348605fe40 +CT = 10e26c52e0105d4a628f12e6d89a8178c900ee4757eaf1b9c5709ff608e5b444 +Tag = 79083279dc8a88213e7e9dbd + +Count = 2 +Key = c4415a02b86ba1da58176a0b1c86c72d +IV = e06d5438c916179b2592c84d204533e1f43cc8ef7ab0c52dbdc3e6b73469f25c0e80916a8acf357a3274222f6b2a190c69daf8ee2d96bf7b833234ba1d201e1693d778e3f0d7960d503afe1676b3d97f53ff0b09894f1e23fdfae1be77d4177abbb01cc9f1b23ce29a0d155a44d5e163fe3327642b3bc2b42d0b431cc37de7b5 +PT = ba461a091ab2f20bab025e7cda07b452b78efc8223791204079649247f282c3c +AAD = a5023eb394b5498e83dc11dc4fb12f5c +CT = a71261a4db58768196b80fd9ebfc652f80e099a33ee7a8c83a9ab3b29a73f9a5 +Tag = 872a93892e0bd2a3948273d6 + +Count = 3 +Key = 05ed4b5dc04eb4bc0bc11c620146e329 +IV = 797c4ed34fe92ca1931ac96904e8a528f610e1d9ea947ac6a4c638e07ef15d7fda7cdff62d8c9d0531758d30b9c39fd2c1d875e84206a48cecd24e284bc9bb45fdd885cd561728cc438b4c97ac2cdd1aae23f23397a718145d6cbfcf52384eb1822e796a354630fb6c1bfb5d32568eae1e51b468438cd2ce58f3fe76cad591e0 +PT = c5ffa648210bb580ad5e2fea2cb13158363ebaa099597a1619846673f14c2bee +AAD = 1b7b7eb52ffc922b3490095d2763b724 +CT = 818d1d14908226f586e540b779f6044d9daa5cd5309d0eecf90f61a6f818bcd9 +Tag = f7ba251cf3005138678a2954 + +Count = 4 +Key = c342a28f43498b6ab8efbb6d912dde67 +IV = ccd0d70aef7ba2abe7c3f76e240ac1ab605034420fab95a500b2b0a3e346945d18c8d4a9358e6e2a31e451bed9b287da0bb29efed6aa710f8123c22b6d28d6f6c0a41153ff2c7150a61fe77c92f7f0329747f08f8739f7e7d1d3bac6e51c528a5f1789540ae4c6ff5d254b8b63bc9a8d70aae3e15442b5f4ecd634a21ae75577 +PT = 070f2226a7c56e056fe6b7115aec0765bbb07b859284cfd18ccb3f2f0faa590b +AAD = 446c6f52e0a51b70bb46cbe54362ff70 +CT = d47ae53a548759fa6d9d5acf6721cac8c219daae97ad1cc216a6c3b367b4df2e +Tag = cbe67283366af132c9c23082 + +Count = 5 +Key = d98a24e7fc9227bda1819bf13a5a10f8 +IV = 03f19f30a26fd7d56ad2a3e5589cb403bd6a3e14effcd081946de9560d652adb3ab795f19c60da57e401b687e57f1d6578d2d0fbb8250105068773e7adeffdbc97691c0340aae47e5f1e676d258ac8898f5b43b48ac58eb550f63bb1552665a2cc219d4e72d42a9cd1a9d65513442c890d7b2669a85c61d6ad811842f270ca54 +PT = 1a2b5dcb25c2dd12a46c0fd0c178cba22dbd0b14dc03ef0e9914fe142dc4049e +AAD = a7549648857f26213df9ff4f7b71f0b2 +CT = ce411db75bd7b3f18fcd21a025f5dc58760035395b708a03f412f4e24ea843a2 +Tag = e2d0f0715d56566220675289 + +Count = 6 +Key = d9f6828bbf49ca014e9a12c1fe0f3638 +IV = 08001daf723eb555aff555811e411ddc9f410a8d5840a6c4f77a10237bcd71a9d3d45dad8d0f201740ff565a026bd562d3e93d5372c4a8d5ced9474f18134f9a813758da35b1efcbb60440ebb9afd7fc3cdf5a0f5bdfe50aec3be966984bd22881d09d6a835371056d6d82b01638b69afb6387336e028a61a8174da16b34d769 +PT = 93c2608f9e2088c3f4f1329c0e7b65ced97ed3367f59b20af7ae68fd2c6ff85a +AAD = 8b8246cc2d8dedc32c4a759aab7120be +CT = ed275e17cbbad173320773e388765eebc2d539213b88f6bd8a4328e36f4d9c27 +Tag = 8797e6bf63c041befee64b5b + +Count = 7 +Key = f165b5dff13d5a741439be5dd9d0cf5c +IV = ec595867f8bc04442b048542892de827a51c2785c1b7840ca6aa9031b2c218857bec2700748f376575905117693f5d3cffc79d4d8dd46912ccfd22f79382771a54b352ac1400336222b35864b9b53eb4fbe3aad51255965f33cb52f2e6f5ff1393532a41b62ddd980af733f138607e205c97a735c7d05806c944f38ee58b01cf +PT = 2d11c65102e9c26d20c7805dd83bb3869b7c1ef3feaa40a836fa509985d832e0 +AAD = 1cf89b7625a67642143aa46d57115f15 +CT = 47aa4f3ba158ccdb34b04fb45dff4ef3bc03a502b60bf633b356018fcfed844e +Tag = 34a197aa8eb8957b00d019b1 + +Count = 8 +Key = b908687a6cbc1d43056a2913553e9027 +IV = 9c8dc371f9f0deddc15f9de883670ef028cb8ccf59fd15032e8c03180552390178a305f5f5f84baf28a522e920f2356554d9a4f78df2dfd4d770babb5dab9452c9e045cc826a92fdfa884ecca1b929a732ba6875c9239b220d06d826dfe192b9de9fcff023b993bd5bf892a1e484523349fd0add5bb703235e46c7dc57d680d9 +PT = d7b0e0a2304ab60d99c0729ea54d2bc9507c4fc9fe1dbd9b9c7178085f9c3465 +AAD = def78632fdacac3905b2630fbbff1893 +CT = 7ccd1eb46f85a0a9fdb51cc0f5c431721ed8e3397453196a37e4ec240bc5e5cf +Tag = fe97f2e55cd91ecb18cbfc7a + +Count = 9 +Key = a9b6fb0d187c9f9391f02454ec89b7a2 +IV = 2837b6fbfe6b855ccd8d78fde1f8430d1d7e52499874a978d8ead4053393a5860e148cdb2250d0b9ae57aacae8b351307f93ae9dfe62726c77e69813d7ba62a0519c7d2e9e1b81246ae35261969e433a74c6d16947fab46c5bb72b6a7ad263d454c613cec81a51d8ee22dab660be4c2d9f343ad700edcad8f852d951ce3358ec +PT = 258c298750cb673671a2b75cee43b0a82a7f43972da1b547340ccc497e9e400f +AAD = 1bb79e760495fec014691a8b86d34e12 +CT = c7fedb670df2a53a956ae8aa71cc6c5c1f56a059d8b22eb12f42144d125b9c65 +Tag = 67469304b6f2e106a6fb826f + +Count = 10 +Key = 6026de18e8efdf18a459570a6be70ff8 +IV = 8c04e4c9d0fce4d0c73f3a4c8ea29f7557711ab0b33b39f281e01c24d9fa1d3465713931ad2461003c6364144925771cc6c695f3d70d01b72b689a397fcd541c41a24100e832e1a98688d8e9e4842c220205cc837bc45ba4eac6dc7840cd4a1c15e3fff281069e367ede3a8abdd9564815f8b106713e5d1f95af522fb9d117ae +PT = f3a0510d2b851e5c670fa3dae24bc7f57335199915ecd3fe21664c3f9c1021c1 +AAD = 34b6ea68873f70772251dc8e8ea400e6 +CT = c535b001003abf560d0a1772c5e4f4197e6d3c59557c933340b089be874de69c +Tag = 55470f3e6afe27ef982454bc + +Count = 11 +Key = 032e8774ad8ca405033145b5a83e4864 +IV = 5a1b40747ed49e6a96fd932631dfd5610b0dee3a5b90c0bd44d2e341350a015c46a4500c2430e7b24db9d60254362b5766d7e4756c98ebd9b9058cd296286ebeee1d9b4c46870ee7cc88f924de37fb54c03c7e5e841bdb865d0cf518b75f682513ca0d84ebd16847bd46457498ddacdb571650734dc11b3c314c06408e41144c +PT = f0ba98b4649070af277f37f0a694ecf4948e102f67d1eedb0d7a3abd18a75a20 +AAD = 5642352d79695a84146cf57f4abad2eb +CT = e822b12e7ef8bc0fda9bc4fa174bfbfc38a24ba455b72bcb3d9d1927670e6bea +Tag = 7d267ba1abd6a73a69e495b2 + +Count = 12 +Key = df39b4ffd7ee0cbc18c2cf0a426fb55f +IV = 9ae80aa411719ce0357e8c46addcff419e9491c90a7c190eb8e80f7ee4fa777aff13c9a012bdefa6224d43f0accf784ee726f7361b4281590b9629504465661b8f2025b06455191fc7041a73679cbe0c37dda783ab4d83ee18f9d03ef711748df1af7bd23852e738f66eb885b12296a67f41514c3a582acb20c91d29d943274c +PT = 947efe1de20c929ff99713f9adddca8fe7980b2d6ab449472bcbb5370e2b0c70 +AAD = 4b5b3a71655dc89c5dbfbad1752fbb07 +CT = 1f5341ae2be0df02c6fbd8626703f87ecd66ce8980da80df759d54daabc35cb5 +Tag = 80134de677c4070c45b10918 + +Count = 13 +Key = 9a9fb935b75e9b5e2608c039f921d7ca +IV = 1e71183514ca97507ea3cd73edad58924a5e1ca29ac6c7ad4c6a482aacf1a0f2988fcc475e36adeb717299cc73a5ef65b75a0e747b2cb1fc46da7d2152cc71bb3376cf174356222cc3df540f08cf4d28bb16e3cb79b6432f758b058976624620c5d5d19558461236f6238602b073cda851a0b3f767dc420f05af52ef9990c9f7 +PT = 23f91d232df42b946df3ddee15a214d209dd6bd398020501061dfbb8d60b1129 +AAD = 4e8eb0b3532f9b93aa833fc18cb49501 +CT = 08b0e47d5974e6280a26e425ab9e172cf103d09de7ceb2ec155f56b78ba5cee3 +Tag = c45e7e24c9d4ab81aa73f17c + +Count = 14 +Key = e663a4e2bce029eb9000ea1b041da1a7 +IV = f0380037c34e23beba66bd3cd871f519ecd1ed8b9998914d050a1065dc2a2d2eb2642c151c18e49b85f6273cfd6865a6e93c3228855c182a2892012175356aef2ad370df8a15f036688fe311a98f5640f99978a912dbe44be1f71d3901ef8d7f366d5dc4aad7bee3cbe24bd3d8959b8a46051dd50f093c7368e438afcb47ed0b +PT = 0e2d1d1074e5accd5501aeee13198c63a5518ca67bcda04e7c66aaa24238861c +AAD = 1979bf727c777b203337ef9619646661 +CT = cfe315f215b441d762e73c2ed31efc8d8eaf173ab1be7e18dea86f4567e8115a +Tag = 2675d9e19f0246c88371cdb4 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 8ce790e8b939ee85d017cbb43c2637e3 +IV = 6445e6970b17d01b8e692b59f03ee8d33ca5361a66a6164c6c8747b6868f380c8404289dcd3f63f1202e735b11c0c98b329d7f9731d693826bee76db419433acd1c329cacacff6b71c8b7e8a3e19594be3ee2dec1b199a12974f9ca3ce7979f1a7c32e278a7579d88ef77b0e9bd6c8037af5430c14dff4c425ed20b5fe8fea91 +PT = 7e6be39c9c5142acc3cb79cea732b45ee672ed42cc5e67b08d0f28f61a05bc43 +AAD = 1c49e025bb890b56ab79da09d366cb4e +CT = e63620e89e1dfe5b8402da65d4690f4b8b35f58ff2fefe112dda532231767540 +Tag = 74049367efc6ded8 + +Count = 1 +Key = 7aa4200ce1f73c7afb6d8341be98ea1a +IV = 890713cc7da1e1d9ca7cac52700e47f62c18d19396bee4beb96dcc875192a0143635d013a7f36eb6b5e7b309ce4449cac4c4b134ecba496a0f3194a76f8812ef70a5225e7d7f2f7d4ec28c8c47ce6b705c660ed2c30693b268a8e4d68de315034bad44a3066614ee41c60791b0f220f65f69367e47e0d94e39a06a3df3a760c1 +PT = 3c023786661d340e00a991435c404cc780a1f222637edf8d4e3910134652aa0c +AAD = ae2914986383027f86e877ec451020c5 +CT = 81709fc451668f79b14de20d5b6716aeeea828677e76409181a485209e206887 +Tag = 69b7c0133cb91345 + +Count = 2 +Key = d8fb9b05879f8c17023227fc263d6ee9 +IV = 74737ae4414657f4151ae34fa70de7fbc632b9adf47eb2e25647e93da658b4a4c17a06d16d58aee09d9cd99d10ad7200ea719c7f4e609d41069c9116b99a3d287d1fdd88d6ed0d16d7eb0d67a01c84a71021d40835e251a537c178ed22e8490313f8048608c8589ff2b248fbf50143c5626ece1d296aa989bc96972781d6c3f2 +PT = b57e04e231d83d66691ac53a94c70fb7aa889fde69a4f3f779bbd15fd46564d6 +AAD = f901ad507193cadd5ff4152910d76071 +CT = b9d3c6acd58927526dda659d90379861f6503fe5a21fbbd704229cc352a3c4b2 +Tag = a930619fe61c4d7e + +Count = 3 +Key = 90b5526e60e99d88552ad798de71d5b5 +IV = 9bc96f3fe48437a8e37ce55e2106f0aae6f4aa3c193febc5e3b38510d5c4b792295752b21a063721fc4c3265c4e2a43f3545cd5fea43b5a47ca808df6a41ceef80e7e0fe74f1ee967beb31743b8dfc7c3097f6a89b65ac54d12e85131c7929032a6cd4351187e752c4881f76b9b6b54b0a9ed13e2c7d2c5f9863e18d7b14fe6d +PT = 1e94faf30f508481e366d0ca1c1c6d7504d2647e1ebb1388e0ded717e9bc04cd +AAD = f8493a9c175f54ced6eacca08dcfc2d1 +CT = 710160639e37d980d2bd4d87a2879a28e8ab4c174ab0c49fadb88b1e86e72817 +Tag = a40646164a7c3be7 + +Count = 4 +Key = c66b1585caca8ec099517d3fc6b5e804 +IV = 7abe85374fdcb919a1316035c2281f5c217657eb2ff9fb1c2ae921a0817ff793c6217cf51f1f7b4785c44564013f49eb01c5f0e202db9a9585a1434c8658aaf56904331d6fbc6a36134dfddb2fdfce29b119c1b9fda590529d6f6e2f8ab82e4fe78e59da99b2b276b9faa25c0513d7e6a2392b9ad3450337afbe53b88b83f5d0 +PT = 8367b7f2c0e22f1d464aa56a7904676cc1be33cbd865e99f6c91580df74608f1 +AAD = 2a74273bfe7387983ecdb0c02f4dd0c2 +CT = 7c24773b734a50abbd44e1f22e157835cee3aab00230599e94ae3e032dc479df +Tag = 5a21d4d71127a81e + +Count = 5 +Key = 3b9c96268095904317771277df239bf8 +IV = 97eb7c9baeaa02fce68838b35eb876b6105a9f8b37ab8604c982fd76bdb34926ead6526b46515352e80dd4911ba5f814cf746830f475bf909cfd5f177a0129e0fad3f28b317d32f344ab092b7405a9f4dd653a7dd936eca3314a2d3b051fe81cc87cbf911d7c1095be6836633dce920c69fc3e5731e3c5a6604686dcdd2ebe1a +PT = 0a4f63873319a7d509c13791c29b30b10a20c70fbfbafa9b53367c5b6dcc58f4 +AAD = 1da1eea80f60d12ba8dd88f7e4374cec +CT = b0f3ae6722ca010247225f6c0e1346b13e5989d3eeff91531d813b775f83ef08 +Tag = cd6612c8c09cafc5 + +Count = 6 +Key = 720991990170d5d5cc48826e50d0775c +IV = 0772fe05ad1d117731fdafa220f433e13af38ae2e533cea5ce6447509ef7df1fabef2059d7e9c256feaad8621d93ed6361fb9c39271b7fb17ab3a2bf13b2b3948f0fa0d8809db4826a7e8197713f3267b6c52fc87eb8dece364ec0580f3695b9454813dcaf3fa2968e437560185b965f9a6987671831664ff9af9fff4983b09d +PT = 5eb0b87269327a145ea9a066bf9352101a3c2e5c644d323bf5900b835b7c8e61 +AAD = 2f6052009763f2e3a6289b6b448ff6f5 +CT = a5b3c68a198502b7d56b2948707656be95ceddcb264643698e6b1a44a9f87834 +Tag = feea6b588e7cd14f + +Count = 7 +Key = f154252693504ad30149f33e54f59d59 +IV = dae598669c6b06d61126b153118431910b594df0b39eaaa786cfea6a4c8b60046f8bb8d8d9058dc83f511f4e7fd8e58bf941d2a590f748048016a581239496d8849d991b77c89fea07ff64387c4156737038d0f41f8b1ccc84dc693ef89de2cbeabb617bfbd124ab276822791557b36292cbbdafd1f5c316ab3bffe0bef94854 +PT = bc13f9191b402540fc94ec9d0e75558dfb3cb1811266e095ffaa45146c8f3f51 +AAD = 1c97387bbcd105a12c8568eb56aedc9f +CT = 7794c9cc78624b569f55730d418395efa58179aba1a3a0714ced75844e7f9b69 +Tag = 1a9ff4883c36d3f6 + +Count = 8 +Key = 82aca8f1904727b794bd316c2a4094b3 +IV = 445d0892ed97fe11453ffd5585c7f645c9d4c251849163516b8698d640741fff3dc4caed108acd63e1cad4da5459630049f3ee5f05ff6237afaa33ac08767ebd937838988df2c4751269fab183807a450f73d88a393bafd665d7941bfc94b71de44fdf232fdcf32131b3ab17c14e547b557fb23dd241741aba997cb1773ed738 +PT = e35ef7fc69e78aad4cb5fc699381cb3b5387d23214dba878afbfcdaf31a08b2b +AAD = 8b25c552f8ebeb582ede374bc7eda1fe +CT = 5026485d1aa858f09db004f957235f0c4608b86bff7603ffc991f0d70cacf5e5 +Tag = 828a9e15eb27d8ac + +Count = 9 +Key = 4bcb53c044f3a15425390653b430b374 +IV = 78b497b8bfe7dcec7a33fb1534914fc3dcef4de2d9d9e368efe1da59df97e9ddfb629295774176b007a9a9dfb7d38adc94f3ad5c6bfd17ae5b7fb576934d85eea380a5279758bd1b3373db0a0ac4205a9470498d80781cf82fd2dd9ce75722e35be616ae444682b26c253b518b24654b4b3412722742e168b3da5dc1d9d7c7be +PT = f6303a80cbe5b151eb911921f550ececa01dafc19b95187b71313ac201de7fb0 +AAD = 583b75eee36edd88e0b316a01a3bb934 +CT = 69ce717fc52617de705d97aeeef149bdddfcfdb1d6a9bdb15a3ce25f019c8ff6 +Tag = f7af441a18652d46 + +Count = 10 +Key = d114d757c087c2072c59cecef8925858 +IV = 5f032efb23bef9b4a8b26aec78daa7c9a43566ed835d5e1708477cf6fd889cb35f80497c6511e4f6704d8aab5cd8d1bc7afd9ad0e2f1d5d5215b17ac0f00d32688e46d3cee0a6674d58d94450f883d4b7e22187c0a57221e1568729a7724f9e21bc165777b6e61d10b1e7c3ac42be85c355396afee78f6e8873ae1da6ce81a17 +PT = b6eeac8678bdaf5142b6a42f777a7729bb33909d216737e6895f8e2b19fb0ad2 +AAD = 2c38a43486af0dbf1421e3a5c958219c +CT = e2993d89352539d626d5478b2ffeaf6e3cf4b4495ba981ed07610ffb50944734 +Tag = 8410c20e53ad0ccd + +Count = 11 +Key = d876a4f2fab8785ab4a694a2e5ab30db +IV = 678d584755e7b03a55d22907189c16c43b9e9195a9eaa2044289de059cf79ce86233a1fc31676fe0fca46f040dc2621a8a26fe4bcb36a43eab13bed654af7e23228942caeee12252b5e8c95c62b6ba477ef8ac654c0fa27264e898e74d5240f0af74c755c9dbda2603e1589ffdef803d1cdb79071681c2dc34094a0408560193 +PT = 6dd64f0739ddf87d62fee3e3eec0f023793383f2a2d64ee338e66f14b57cb0d8 +AAD = f58fd9bb15ccc0a2111e8a057e5101b1 +CT = b722f4975d6f083f65ab05e3f7dfeabd4a90646d1d43dedb10ef0f97651a6c12 +Tag = d66ac7873ec4fcf1 + +Count = 12 +Key = 72a54cc382b5c320f73fd424c11cabf1 +IV = 036085de4216bc7ffc265361f34ffb70454be8e60e019819489bdb62a39b45ddabb41795ee8961bf648b6c40ee67cc88b03b212935721da65de6dbfa3746b898d106afeaf11f10bdc87af3347312f93e2baad42a9a6e8f4c6d792cbe2b77042e3344566ed1306f0bfc796a81dc79755a9411ae0ec11b08a25c165af98c085652 +PT = 72637a68fa95ce3c74cdb678219830f3e7c9ebcce172510993742af7e10c79bc +AAD = f308180da9fb2792822503a446c6b6b9 +CT = a1173ccb9e84057eb36cd1b95752433d063e5a708f5ed3045f8e49b08137f067 +Tag = 3722c9056db346f7 + +Count = 13 +Key = c193479058055bb8f01882ba7514b291 +IV = 8928c8cfb12f25fb08fbee52f53d81f23a6335108e0da64263689c362fe1ce6a7bba6eaa618a3b49ff46f4f6e41aa87bb2641e1a80e50b3623b34a6a71969afb59a45cd00671fba3a031f1dd0965d3fce275bd9f476a0bcc376312efcd604a091bd43ea0069149fdc8d5dfe69f3c3c1c946edfb29cba31abb5c9332d34814193 +PT = 1803f0f6c596fd20a71424beacac5a9adc62b53388f7d9ce9c32fe71a2a76d21 +AAD = 685bf6b4be758e2b0cfc2254bc973d22 +CT = d0e21ee29e55c9c79683562a7012249c312a3aef1d27cfcce4cf8ec8a71056eb +Tag = eb818f16b9a747e4 + +Count = 14 +Key = 0bb37167366a9c54830d2f9265fa01b4 +IV = 311ff5ec528e20e6b2cd8ce0dd1e85923d13ca9f18e0430d4c9d53117948ac64f80ecb98df80fb67d6fafef992888a5fb4902a2d63f0eeac51418f4c938f0436244a62c149f1db70fd902714f250b72159955a9b8570bfb9bc044dfcc9c151eafb1f96d3279b7f824854f6bcec5dade08a9687c487baf19a435e5a42d9dc7d32 +PT = 7e1a2860888f8b8b43cc7273d7ba92b58fa4a6709653cc55f9d2d152a2d0dec2 +AAD = 01d94a2d070337c3d1860f1276b2a59e +CT = 536bfabcd6bd3054b63e8670c2c093a17d22b5b3498632c8a9a40b60f993d570 +Tag = e2367aff4ecc7a9c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = d138090e92cfd0e30dfc4e473e98db0c +IV = 3811db5d8edd155d45f1f1bb3a47503f4d07fd24913fcb26324548ee97bb6aed673584699466b46b8660ad3d9dbb6074fc503e0de2f0cf64063fdafe4f9930fc279788896d826604654aa06b0f3b1445394774b165161a0a6928818a51f8b6610ae844bd2ce9359b6fe7c7e3225da2ee66cb008b63b54c041af54a3b61ad0ed1 +PT = eb3a0debd174a068688a8de934a053e410fdf96f9bff4d9d75cdfcfc9fe2f0b1 +AAD = fc5f15605538dd733273c4799abf681d +CT = c79ba328cd7f161801b9e6321ece25a19ad0ea0c7783db6b7cd8324049a0f8d1 +Tag = 091939da + +Count = 1 +Key = bd802209762e3bbae9e54eb0f0f92595 +IV = 00b840aad81fd3e53978b29d1b0fcbee83931d7d5dc3cca0f9c09252f21b81f3cc9d88f9204a7108e9ff26e4c47909a1e085197930d814f9780f6bc05a295f5deb6252023ed61cc0ac4606e0ba83a106bd4b76465cac96eba461a4530031dbb6ed049deac14f7e0db613a9e61b30cd38b2a1c7cb0bdf1db1ea623da2a04449c9 +PT = bf42a6166398950a5b3824b4a62aab4f39b1e82107132b4d72f3a7c9fb7517dd +AAD = 6f46e770e93809e2f1234f9d6522cf10 +CT = 359fa49d6102fde19cb5c206ef0b025cf6d67be5c5621faacacce29ca31e2799 +Tag = d9c21f78 + +Count = 2 +Key = 14015d09fb2d8f0a948669be14cd4919 +IV = df8e478afe643f23ccc41292947c325feaa8e8b4a71e55afac0b924f2dc459e36d69c1435678312ea799e5cdac0cd34126bb82869cbda55dd0cc3906363ba578df7569bc8eb338831ed1f4437d67b34b00aaa7ca1b82e2180f1352eca461276eda6542a99ca6ff1f6aefe665c6ea589076a9987b92345b38f0ff3f9a82f16c34 +PT = 8a2408b7e7ac4e1f69643ff803afe5f5cdefff709f58426a189779b74a09213d +AAD = cfb1f580efe7bec2523593ed807c4c29 +CT = 0ea99373a6fafbbc744666fe6ba874f5f81e1f75ce71250b0b93df4f301b8a30 +Tag = 9a483012 + +Count = 3 +Key = 6d89715861b2fa9c29ed1faa96b2aa91 +IV = 1f5953d43987cb6ab938f8c60303ee277a249a359cc4ef21ed913e60152663ce180052753bee320142aac082d9e62f306373879cb16a3c22d54317accd29521aaff34ee7b19b0aa757a1cfce81e9d4214d02a585e279ad4216092e0b57a5478d36df40d80fa59825a55a03ef605adcc65bc6f52b927cc220507e0b4ad7f2b270 +PT = 7c836814f26768a8e2a62d432772db7db16b62d53c18d514d32530e002266507 +AAD = f4a5eac4d219a56ce0eb8d8a95c0ea61 +CT = 82058af5b109f3c2f87a356814065f0579e3ac759edb9935432ee1b21e93b8c9 +Tag = 9437aa33 + +Count = 4 +Key = 32f9d7c1cab0aff4876bfa9c49f6aca0 +IV = 06e873ba5c9e3a1387d5000f7d1564f4ca6d06b10f0116191647671280d0501e469253fe351fe92871b7c24ec7687d03a65883f5a0612c286dec5aa5adf12f713639235b589d4a2c31ac72a0911aa180f020e643f24376a75b5873203d186e8687dc94a78070ec46c163b7a0949617e163cdb8eea751430210add3d3dd7e1ec0 +PT = b98496026fa8a87ea6d3265084db664f0ee466dc0502781325a39262ea05f423 +AAD = dcb377b43938b9c29c5fc758432afd90 +CT = a4d3b0503f345ffc94606f3b2878a82f23b6eab6092e551246a367b452110881 +Tag = 3b872649 + +Count = 5 +Key = 45a6201d7c4c8c82fe5ec6afc1ec991f +IV = 25ad71a977031a2f20c50997f9513ad1e70c485cc8143c583af098ec0b87181beb5d0d7092ca0bc3bbd6a520062d73082898bbe583ce8344219f44a5457366fe4bcb79f03931446d417a957da3b9b284a931c967cd9240fb89357f4f0774669276f29e01281ef1f49cea0c787d304e4e33817d485702d007899749bf04f1b0dc +PT = d0eb4f350baaf831ae5fcc273533ae314a65cd6b380b33ecdcaffa4074ed5730 +AAD = 015f07f7992571f5bb34fc9579e2c283 +CT = 1e86e929e80009ac1cb0ca56d29293f652d6112b2efe31029f8b3a2cd567d7f4 +Tag = f5b960f6 + +Count = 6 +Key = 7004909e925f217bc2c863062723a655 +IV = 0f52803493d979444ba63ff570ed2c2b7f2e38b14ffc3c7cc209d28d646ecfceb8c2787f27de781c2c80c8c86300dc77affd95823e18e3e6f23367b6035b03245fcc797675ff6e14375a5d1f278d5aea64eefa606835abac316037acc4e4ebdb417817daba1b5821a371e29c620b9dcbaafb09a97fc11216dcdeeb851d5f93ac +PT = 1e4866286adaeb5f86d7fca6adf912209fbc011df278270e1a9dd18eebdc3aa8 +AAD = 63296931483dca6304c137f57f606bbb +CT = 526d36ee324e4ecef2e8ca3d7b1643275576f50eada941e5d844b14ec6f28986 +Tag = 4109383c + +Count = 7 +Key = e4425b74cc0c4d0fe40857c9c8de69c2 +IV = 01e72342d4b8804212da85d89e1c8fe4d462bd193dd4697b66eaeab04d4285e125f510b415a6e99adba886c48121442195fd6e096aacd324a477d29e3488e4e8d5cc92d5bd6217f32b988c1d5d2b0250a1416f587e0e86c6912c3adc7b9c7abc603fce7e0bc79fa4e74d1ddbead32e47886e1cc5d9a5c552e7e3b2fb33fd0ac3 +PT = c60141cdae0af8694f60c822a9956dcc6135579a2e5881cb7bda7d1176793d47 +AAD = 29d0d8288013e47334473530a8833798 +CT = 26c4011760184247734cadb39d98545c615b728a781ff66c8fa44e737ee79065 +Tag = 06d11594 + +Count = 8 +Key = 0d72d51e86e707aae8363a55896a996a +IV = 88a491f34169ac2c2790854f18c93c284983ddb203c3ee4066520b92acdbf485e50954f96bf97932d0939499f05618f25a03d846dbcc5793d11fdc87a9e1a19c674dff6527f150ae87fbd776d8b598cc34f6d304c408a55ec62fe7f4e9caf6a9ee15ef515424fd73262a72c1417aff1abf557afa47097f7d14d192236facf988 +PT = 7ad712ceb229d9bdf8ef46780649b21598b48c79446c1592bf4cae738d29d4ae +AAD = d412ec6e41fbf2dd7caa613d23b401aa +CT = 9528c1df3c566ab0b967845d7c9a8f2565933e3d2ef8d6d3fdc5e27233911907 +Tag = 725fdb28 + +Count = 9 +Key = ee0bc59bb7c31ccbdb364dd5a76b9e49 +IV = d2d1e3fdd09cb0d309ba625a7ca03f925990b5090fd2d438bd048272fcc31ef85b7ca2cfc5bdf99c33c6c3be3b9bf3dd371094436a5cafdb99f3fb458af7050204250e1fb5565f304987943d0c5e4fcca0d90259d5c04b7eedac50ab9bd396ca55b22254438d137a580450237cb06dc6af6023a2cdb83887ac8c98309360c862 +PT = 2867c8bac6765e5336c5b53621c3400d5e7fd48de5da5111a381493d970592c5 +AAD = 0e2d43a06d66e6f398db0bd80cb1dec4 +CT = 30075d9aca0b06f391a52514f022665275f2c07ae53aeaf6fc5261a7b7c06f2f +Tag = 983ac0aa + +Count = 10 +Key = e1a2fcb142f292dba97b6c7cd021ea2f +IV = d64e919af9bf8d62e987d5d422807dcf8d53b447de1d58347d9f4532b92a73d7612cfb8fa47923e3949f0e984594191e090fbf5e35bacdead551924a3072e5e8208d8e9d943d11e33926226c93146e7fe7ca6da535cad86d34904de0cb1fc8f6c7bf9dd3dda5c64b96f0e2f2841245cbf6e0f99ba6286b7c823b5f271056a850 +PT = 1d0979f99810407bbd8df964ed35f509d347c5e1a903bfe5325e32742dea504b +AAD = 0f452c6516fcabfed9c59da50b565a4d +CT = 91c81a310131087561021a96dc9b5c886d7438ecd0ed1d6d6dd55350cd438fdf +Tag = 01c2b08d + +Count = 11 +Key = 3cd3d6fae3a774428262a857d04df5aa +IV = 54911adcb4052a3779246ae6788af42ffd607af701640246ecbf002386ae700286dd8af50d0582e6ca75405d3a5111649221b90c445ae85fc90f58d6a3b1d73860c3c44eb5a08aa8aca3fa822a802af3d931928d987bf8cd5e0c4fa7a7f3c283a3767b4bf8ab54ba7b4209568dc36365066072350b3daead6735c08a5559308f +PT = 38b69fd392c95da392b359d8acab9e23ab89c36f28407cbcd03240446d6ca31f +AAD = ecf36e45f8ffec5a77712dbc72ef4b9c +CT = d2f8f7d046ee49cab76b3f6c5ab1a4c500b32d1b2009fff0c6bddff3656019a3 +Tag = dbcf56bd + +Count = 12 +Key = 8ef3db10f92c99b6a24d72d54b784e3b +IV = 0e8e5bdc39894c72632c314c5037a8d4ea78fc0c4b487b3539f4cf79520989508c010eec0335f56489d6feeb51349ba104f99401301b12a1f853b4c25b3828ff8bce97f549a9556db596cb3b3fe6fd1cb25e581e015d2b4c9f7fa441ef7dfb711635924718b956a7b73f852224945864bcbced9eb05ce3e751ff34f70ce367b8 +PT = 472676630d157e4122447f89615e19c66f61f57a07208304110c6dc9be919e22 +AAD = 832f6c676d85afcbe0da16c4723760d4 +CT = f78b4dca9e433c9e9724c6df9da933795dbe89890ecb05d1eb346ed255d596d9 +Tag = e4282067 + +Count = 13 +Key = 7519f2240fe0761073e58ced18c822a4 +IV = 1d0b4a5a846346457a17c2aff8092a8a078244d2fc6031953a65432a9035862ab00b4e8c2e79562dc55f1514df622cc3aa100b3c420820bd4d641556a29ed76bb8b6dc7c0c8929eded07dfdc988187e855083e36014230fce26c139a008d25df992c716eb25ed9d26ef34bf994c8cb0b5987ba17eb2d5d14c20ea6e52adf0547 +PT = 9b95d6061f8135daf25c82f5f3509695888f65b3c8419b16848c0246b7616de3 +AAD = 230c9d453b0c28cfaab7503648269aaf +CT = 265db089009bbf157686aa47639b6be0389785c9b5b03711ce45f7a57daf6d51 +Tag = e7f7dad9 + +Count = 14 +Key = 55119f02f3b29b9c4c1e1c6de97abe54 +IV = 6ac4f754cbf0afa9afe0cbd06e0151b48b5dddee4530ddc658b6cb4e1febe18c27f70da48277d38e560ae5df0aefe316b574e9d451612089c4a0963b08b76f6f571e4bd104689788890468bbe8f975569e5a43debf026d9a3745ce8ea79474144c3f29010322a1fbbfe71d3f2f81bcc7906d75f95906530adeaa42ee65df453a +PT = f12b022e5d74e36b44be6e10942dbd3cefdd7732a6a8c57e4ffbb480008c84a2 +AAD = 41f2d88a5efcfb7a22a1cc7c6438a2b4 +CT = bbbf6fadeac0878ebb5da4798f0f8467f7d47f6f07cb40c90da5e9b0d80856b6 +Tag = 24ffe63e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = 709aa4857ed67b465981770fe053d968 +IV = 08fd6a21f9f5815ba5d2785c27bfad3f6d697aa8d1d7557c5b590c9373ee43e05a4c9ffafaab7d3b91e95e01b17e04a013e5fb5a629c1864d4a680a34f7a6452e24a597ad06c4a374e192b756d1ecd9ab1a2ca24068258bedb01fd6e0a02050ac9f1f18f829bab91c9612e2fd9fe6f7c5ecfd0198c145d291906328b7743ce43 +PT = 1bbf8f33801d83d3de1c1c358c83987033342078b62c332a34e71d2970bdc7dc +AAD = 36fe569aae9b339440ec8ea8c846dd22d47037f7 +CT = eae0a6f3f717ffb7a8f4f647c7b129feebdc047a29428492b43bc3092d0c51c9 +Tag = 0354c2903d4a3a0bc08b597a46dabb94 + +Count = 1 +Key = aa198d0e6d5d9cee230095d83a80f83a +IV = f630ddca297a961cae2f478b8735a1eb2d91f52dc74c7ca08a39c8e1430aaac518cf03ecb35de5100b599297380e8a9cbb99c2774c9ed8c2f607ab05db4aea81363facad340171dfdb52c106528cd8fd38d771dff07339b19c63e8310d393b9da3364ed02d68218cbb5af78e732423e9486bd32bff16ecce2ca3eafe63f6933a +PT = f8b7af366937ad04134e00990c42eac88010d8d4204991d0a41fa11f890365de +AAD = ce842d66f1d04de0bfe093c330a5939d2db96288 +CT = 322d65fbf574ae04019109171d545d833bda13ec51fbc19bb565cc7cbde1c06f +Tag = d5cd64cfe9a6d2bb9118a78774a35535 + +Count = 2 +Key = f6d178f6c0979ca313e22c9232c4257a +IV = a21b62440249568a06fd2481e307b31d1663a30d9fbf082963c86e53afb8c75cdabd1e79b20bfd35cade5d715af9776e7b8dd196d066e52e758a9d2a3cfd863739d74488e71c921ef5d4e6d61abaf377356375c3274c14521f06769e6b336f299856d687a2a23ccbe3b327a050831ffcc29a36c27b685edb9431bc6ed509a9f8 +PT = 1c09a203ef4820191fef6055abe0a9271cc21a115c6af3f2c07fac205fe79aad +AAD = 137445b7e02ccd34d5204736c4334f0b62f18758 +CT = f187955c6fc7e8be234e12d990f974ea52f0cc6bf51c7506f6db8df7d0d96da3 +Tag = f781e9f050debd1fda8a8c649b8c7429 + +Count = 3 +Key = 417e631af63173864d8eda423d9f9373 +IV = 7fc4068805a19645656f134bfb19d992c0c42687fad131c69ce32816d00487a2ac084fd8daed64f646daabf9aeef9937fc16f4d1eec7b132d8e266fffd1dd2c16e9edd36be7dafb140e3b4a30a807b71e0e5a186780bc3c6eb6106e1a69c0747d44287fdf16606874d40e1ebf894498e5dc557a43f955b390eb3501289850689 +PT = 9bbb5677e6a6c5636108fcafa66a537e5dcd415997f1612419c128369f4ebcc0 +AAD = 58eaa3a99d037dc068086e714e1fc9cdab942abd +CT = 9acb20c12683ff5c553d6ee1c7771c55b425b69af0bfe9129a16355eb23f0363 +Tag = 0b83470b81973a4d52234bef038bb5e4 + +Count = 4 +Key = eabb0f1811ebe07f830d73c8dc012bfe +IV = 9fa3f5e63cdb73c3f6d7d717a24b0efa43c72925469efc37e6d5fb3d19d72baab0641cc4c6cf00fe58f570acdd3e5ef8896bfdf3a8929f2af3a98d0b613aa470ce091d4c7b29bdfc8d116d5d7f320ec45eaaa19db2613846254c8048785ddcbb5e66f9921c5070898cac7881e981f735abb2a0fbe334f880d476f549b97dbc87 +PT = 4c623f9f067ef11e55f80ca819107746ef6b1157bdd801155108adf8da9a80e3 +AAD = 0c54b22ec23c57ab725cedd517b20ab429875a0a +CT = e93b466c05236e48e9ef37b6e971b2fc6a16f6a3cab5bcbbc3480aa0e30f9741 +Tag = 74f75283d95509f430f38c2ab45f4012 + +Count = 5 +Key = ca065e7d1c813c0d66650ed0f604b1f6 +IV = fb9f06c32311ca3bfb3b9ab77c9d3f4d0cb9c98ed4d3b1bac9f8610cb9524ccd5f85fbcc3fa4a4d32e622eeadc70d25309efc446be15b8cde200340fce9519e3f81804161bd41e772101bc8479e13c8f9b4524d381378d3f34e75d405219b5b8b7a7399014896175697707d62f15838d9c800f8358484d45ad2e151bccd23308 +PT = 6410835b336fcc35d1f9dbc0a470730b8c106a973eb20dd9cb549fef07b3399e +AAD = 3d4d308f13b9c758dbed9d6828d5027598233783 +CT = 501cf9f4630a10cbe5ff79701bb0e9130571b5a0783489e3b6a525d3e9141531 +Tag = 0e128b30edbca7bd7910d5b004f223e3 + +Count = 6 +Key = 095e6eb3d7f4b8a47d589e7f4414e570 +IV = 142f207b4c0767039617f0c64ed19372b499398eec1fbdf0bce55544a99b4f71d0947ffd26c4a9b42bb055d7882e870fb6dd3b4004c53a2b5daf794570c848d0648e44d78363497e41fbed010cfae2535c3e42bc6ddc91f2b872bcbc06d82430beb8520ec3fd2df5af1ed794645ece545004e30dbbb617f7b4d073dfe735d40b +PT = e964e10831fc94cb402b24ab793b9ca9b4fe853e02a44ea5a9bd15d15e80ee77 +AAD = bae4cd51b6e3ee0d506202e94d8d9ba65f9d0f89 +CT = f6fcbe35683b98cff8f1819e70c4a6e9f5431ac271f3ad743a06e143063c2a1f +Tag = bd8a00dd30f130d62913617a6a107251 + +Count = 7 +Key = 4ca7ac9ffb8b7b6332fcfffe8645b230 +IV = 9f2f8703069181c54803b67df478981dd676429dd76baef092459c61a7f1012c7e9ff057829d75c5f90a4c5b28ea3918c4e408ab17e64034235d700ed74056f1baf8dcbd5d32f1b367794f87a8f9fa649ecf98d9c9bbcc7af56fc57592bbcf740998d7d194f3112405538fc49e0286468ec8d8e0a732e4cf5fc35e4caff05e0b +PT = 0c85caf967f2b4ea1efd2e10aef18e98c348abe2d01e5eb86b9eed5485e6dcdb +AAD = 040e9c7a9d32fa9bc5a902860a388a5e5f1453b2 +CT = 78a6c607f1f9852889c341ff38e90d8715bdbd922ae693602438c94147ca02ed +Tag = 565aa41437fcf7ec4b659f1d7d86a5d8 + +Count = 8 +Key = 582df5b472c0aa741cff81346b019a08 +IV = 9ea4348bcb1fca5c1ad337e29c4643d9910135718a0baf2b299738cb7b942811dfecd702d6309f0a337826d7b5e9f13988a574e08f55d72915b816e595d18960221293d76df81a46e80ca0e6682c8d39137a04bc4ed9c73217525fedd2f431e57933755e4e2159553759b98f054f7c343c9280a63eae4d0bed389ab22f3d5d67 +PT = 866879190038fa8a1f192f320c2eb69f5ff15152eeedf9d6f1aa250ac9e5c624 +AAD = ac8dca1264e8a5aa9459e1dbe26208cbeeb51eec +CT = a8687ed0ba4fe26d69118a76a99d6776f1aaec0b49aa55288406e173be73e21a +Tag = 2f25b3307bafe43b8dc011ebcf914bf3 + +Count = 9 +Key = 3117f752dffbe9fbcb97f2c856763a51 +IV = 4fe85afb7c3a7f29b3b3cb874124234743ae9f28f0e58a0bbfbe72a231a4fd769d0ca346d2d71c8ce2def3616b73ff6e75cc51a7d4aa97a308b944862f54e5f892c2d167acbc44f9d335068f0d7132b809028374376eea798cf24da5cf7135bb0ee98301d41e4fa9d110116509b598f5e168ac852a11eed6bfd2fe30479f592a +PT = ea50ada59b2984b31927425046f886f4c643a7948e639ea67fb41a5a5a3058b3 +AAD = bb2e1d75f6d8714c3e4d4fddb2544570c1e92eff +CT = 7fe6d0d87baa2848ca0e051d482fb902630cd97d60dd8f836bce72ad633a83c0 +Tag = bda3667d315a9e7bec9aecb81c8a10f9 + +Count = 10 +Key = d5b674a78437e9f10453106b59e1886b +IV = 5d733737fd08da31b81d754a12feff61d4528172397a8abbc3e0cfc6f796b1d232c2c62e614fb0c797a58d47791685647d1fdae40118e648e03d56234caa5d8951e5e01f3c2d80ac83fa6e76404cc71f7ccca32442b50d25271250c45f2db768b43b9b99d9b3ce63568e28765f730434a1edb9dd330f8b48bc3cf80e3b86e667 +PT = fa673f19fe3da77adb1c2a119e73068f6c5e2656f8cb4448014f1e5e84a0def7 +AAD = c7d50a26843336fecb248c31441cd60574f66cce +CT = b21c7d6109d86a64d6b530f56b9fbf6670929d725ef4f23fc3b18b8211c47206 +Tag = 599b473e5917d6a81a60a58dd8ed804e + +Count = 11 +Key = 19f4920c49c001cc1f22698d5d6b37db +IV = 9debec0d85865efbb87cc75c6386ad0ad2b43ae9d9ced38a58cc679466233e816eab01f139b9dd45c82df4b6846b12be6feb91171b79012cdb415d78dca8f03260532076b11c229d8190082638e99d1c6bba374e05a0923b898283a340663b73233f93c2bef6dd6c16d410a18d5e0b602f35b6765e25d9f92dda6bf3bf39bd4e +PT = cd89b3d83ec3124f4c85cec747f350252301900e2b7056755ad450edbcad0d4f +AAD = 42dfdc5f44aa1134e38c8297940dc8fd37aff4d2 +CT = afcdd6c4f79a1dbbd0196167fa7285c74c4c47166d14e7f4a61214ee67476f54 +Tag = 0e8236bf292b880df94da5b397dc7b81 + +Count = 12 +Key = 894bc10bfca90a41272e7c7252cd75cf +IV = db80226c606efad7ae18831b4440ee0d9ba760d1306fd7d0e9ede7dca7ea56abed1596ca1ff2e0998b52781bd3dadef3834f1637d7cc6477ef07edf55ae33f9e55f6583b8788796ad1563e0dbb4a1ca75bdb12012b7316703ac0a4c55835c02c440290b7f086e3da1a400ade6061bd319b5cb05df0592e8347bce54063a4bb3a +PT = c6895dc44946bf06b8ff251b930766e92c0e1739d8efa44b21d40d3a325a1fe4 +AAD = 630486c3e6851115b1f3dc5ba55c69bc8a04ebfe +CT = b18a4050c66b39d46d99a4ed85287958a162f266e4f49506e6d34d625adb496b +Tag = 1997833a1c9e3cbf38662f4ca737b242 + +Count = 13 +Key = b5c18a2a802b007b986344ec8a186da7 +IV = 4db2a6fb5fa8b844b6a83678dc75ef448c3c9a8c83410039455944ca2b7f9c0e5cd9c507e236858c96f5af6cc1caedbfdd349424958f42f581c2f277333a77941015e062d272e440b0c0a1291ebc31333ca677f0e21aeed01b98d5457f9aea68cb51b49c6c9d757f6ed4afbbd31c6e6579ee9c49942c54a451fcb650dd6b4cad +PT = 287a119814c60fce6f45f3f603474c89dc0467d0f1ea5c734ee7f994aeeacfef +AAD = 021e3510702068d7393ec4aa723dbe1e112150cd +CT = 90b106b0fe544889cfe436321aaf7976f7124a86141bebfc2a6cca1df3fa59ce +Tag = 8b3eb43b67f55f73f0bc4b4e36d1292b + +Count = 14 +Key = 0bc5e75b2fe39eb2cd0987dbae8850fc +IV = b19b9b2b1bf7dcb6372a11d2539055cf8cf39bc5cdbcdf4466440bf7405fd87aa9faac6c1e5e73ff74649ed035c45cee5605172116571a283eb8fd269ddac572f010804e23c4e60cff2abf9d2ff595040af33695465160c74617a1887b2ba503f563ec056e8d17cecb9031e236005b709b508182b8e8cb9ef725e6aa4c08b4f3 +PT = 24b601c3dbc68f34eac3e77c2fda322076e81041e414b0dfe4f1c43278af2a54 +AAD = 9a82d4624b9e6befe401d00764a835cad7dc0bcf +CT = d1e8420a11365fac59accaaf584db56cf73f8fe502a049537a3e440fcb26bc6b +Tag = 74973961f35ab52be0933e270549492d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = cff6245ba8b9393fc3ea6787f871e2dd +IV = 791d973a81b3529ec0b328c4ff3915f25aec6171600d10b8d8ca7c5bfa2e0a22ac5088c90c7db9a17511b56656c071a60a01be06f655b40de66e3ba020faf97173b3a667f2522311d96a8bb93aa632e1e30b4e759666a44dc447e12b532a89ab5265ac19d516c380f57d6f4f3169e097682d0f595a0fb3c4c3ec4f0e7c19cd76 +PT = 032073327bcf1619e20a6abe2efa974424bcaecf8a98563dec30200a16e420e7 +AAD = f7047eeec8248aa520005c87bdfc4f1c744d6750 +CT = 42ab1a76087e0e0dc3ff33d21bea4020723138a61a8e46e55108a496f053e8fb +Tag = 25acaf2a41e27d01f0cde499eb55e1 + +Count = 1 +Key = 296a8318a015a86970fa5aecdeb63950 +IV = e971c8d4de5f739c58bf267f0deb6c10df691b0287f1b89d8f4bbd86dd1176f2d38735ae8c3cecd2a53e73cfd084da4b1713da5e4eb8e9195a4e5bb15fa4b7250ebddc37f7af7b3bf2e065ae24f527d6524580ca9c63cd11dcc63cea3bdfe0bfb3b955077df3566fc2ee0a466c2d9226b4ea965dc58904cd94cdb6293eaf02d4 +PT = 143de340b0dfffd3373b0d6e667a4a69ba93c53b352e21aa38f0ba0afb5c439c +AAD = 417251ee6e31538a113d7ae12278d4cfc17f69bf +CT = af8aa60aa98db28d7a2a1fdc9dd0477e1cf8210071afddd030584ef2e46bad8d +Tag = 33ac92b96316bfda40a3168dc053ae + +Count = 2 +Key = 5a7cf4c14e987b5bc6a57671554ea659 +IV = 6bec29a937fd11b7d4f928d97a44e61318ca6b3537f99737bb3da2a08dbfe95de719baa51d24a667fd909d36ed65326d597bfcad1e4cb2a4d0e8ab6ce0d74dcf4b91bcbbe097a588d4c1267ef3662cec84b0563ae1a6aee234d89d6c6b2fea312240436afcaecc2c60a1c9d04df54c05e88bf146deaa22156dd7ad4dea215c72 +PT = bfacf33bafc72ef7159a301bda7b3c410caf14846e56b21d75a9a38d3adfe688 +AAD = 12f97db09507376b85e1f5ec9882a696def5f414 +CT = a054783f700a6b07e07eadb82cb0e68dcf61e00d8ea5779be71560518a7b837f +Tag = 50214b07e2a5025fde83516abe28b0 + +Count = 3 +Key = fc3322c51dae80edd1cfc0d525b55b63 +IV = bdaa55e98b9d8ebc698703fe94b9bca4ffeb772b5fdac5d03b3ef75e03701eadbfc23a749a7298ce24a3292fe8364fa37e07df109d140aff086070aefa5adc46db37eaab832acc4c2db9308516c405d27c64c33ff851cab26da439ca6209ae816da4461ecd2778744f05ba221605d353759ef48273bc9ca426f64f208d1379f7 +PT = c0bb9a515d2f83f8faf2924dc0e368ede43e731e9077efa3714f7189c6a5fc85 +AAD = 4dc92d3b222ad76d798f98bc72aa76546f041f78 +CT = 6d18735729d12afdc58479f1b3d33223ec54a89c1fc69349fd9a830cd14361a0 +Tag = 9b89ca1dbb18fcaf3606697a085be5 + +Count = 4 +Key = 3b486479c9ea01c53a0b0c3ea619c911 +IV = df06b1e202bc36db689065e816c9eeae85b601cb22756d19e188f074806af43dcb64ac721f410efb96cf13cd88eb41d2dfa77f2999b7eef0e4daaef70788097e1a79deebcf99c82b7a44edbce2a3d3378a9f55206e71c624975301fbcceb375e590a8e49c2f1b4865b2ddaf237e97adf3d14f89573a8977aaccfcaed9b8ed360 +PT = 0860e75322b002d531186aa40d37d15d8750f41771eacf4aa7b5e8e6cdcd3b2f +AAD = 5608cfe4e07e828dd537268d386fd85316d38eca +CT = 13e4836d549c9ae0e83e648cc682fb5d9ac0e2489fb203b3777528ceb1a68310 +Tag = 480d62de7c0b385676034d94875122 + +Count = 5 +Key = 2b5f1210397b6ef776aff62a848ea5fa +IV = 0bf6cf0a8f1a125cc3b3dff1d00565e94fe7901f4c94d6d429ecefce85ebe447f5d6985a9e6a90c26351d834d2a25b17b578e33b76d86c1a1af4699ed6b4dc0e534994efa0b87363e12a838198859d409ed9d5f6bf3b72c5cbe381b72a5ea25023ff22b0554f6418072bf94df01e55e6810bd73b423111b36b2902a7f2f1214b +PT = 0feb5a521f2ac233835f0d9be3ae0574041bae2d70676f894997c53e00de520b +AAD = 101094ecdc71d3a932112cbbda428e5e5f3417a4 +CT = 09a2c9062576d035436b6c1a80377cdc536ce4995615bed930583c5506bbee79 +Tag = bb15434c296619459a0ab76924d466 + +Count = 6 +Key = b1c3dd72d985c75788f3a6cf2978ec6f +IV = f3530a98098032159a066a79b75089642992e132174f95adc899f436ea5c25d050efe9071fa05f094601361dd8a57f46add7676598f0d1a92ac22d865f16c92e8975112865fa7e4ffdbf0b44ea737bdc1b9228e174c41ac7a8fd15e93f60dc8f1f09c30c6f46f27290688942dffedf7540adbe7ef35897ef409882a6404d9ecb +PT = 2af01ab1b10c8fcb7bb3b6877adc7c01933cf782adb5b981814f8dc913e0daea +AAD = 6b2e95874ead37905f9a55f5c3c6e1a4e6f9f8dd +CT = 6ded5bd6944406cb4db6f9248738f3ed5c299fd0545ecca24797c7893a5de0be +Tag = 6067edd8f1eceff5132bb19b9082fd + +Count = 7 +Key = 82eb19da8674f81d9e7b0db2a6706050 +IV = b470a462f71901f482d288ff82d1397d72b89ba05f23fce1a38751eef06d234db08f62119ee763c9039d17c879e66e58d37a6ea01aaec3a6ca01f488b1780faace9573accd8c5cb0e69dd788f75a7567af4c09afcfcf2acfe83d459e298bf7bf108dc21f9ae9d5f231ed00e17fb85da72a04571d8e593d08effc0cb5291f8c29 +PT = 1403f71a1845ea880c4682caa7b660078599848a9158315c3b9cb10711f4cd35 +AAD = 769a866207259db2bdf62fe8b92810a32b03fb22 +CT = 19e142b8a30aface2fc0a95123bbbe545db7b2d0271ef54353c5bc8971ce13de +Tag = 3030c02dd873c65d3842f3073513cf + +Count = 8 +Key = 44064f6635487ef120d79d60f915d009 +IV = 08e7bd216cecedd8747cb5245dd310e529c8e5da7d11efb9de781b0fe9cd51083973ac824bf32e1051cf9a4b85481efc7989487bcec82711ee70b1204ba0e608434278dcc978d7886f577163efd2a7c84d6c8f9daa6b2cc441c07991ef82b3de0e13527afe07b4869573c7774287a4c36113959de7afa612f62439d174e72852 +PT = 7ef6cf15b8fb1c5a0ebfb1848f197cfc56730dec2ac1c927b96d64a32f3c3e19 +AAD = 4e1885a06b1c3945ffbcfba8c9cbf6ba6abad9fb +CT = 3362756cb0091ea11c60700ecc4102bf20ab971140f36422fde6ab9e06d786a3 +Tag = 1c4fa97f60b222c0a458d705dbec61 + +Count = 9 +Key = 04a57d861ccf6144c1ea83e1955c4b32 +IV = c4974cc6d18fb6ade9274977797594b9f664a6a87cc8a2da9975771157cb70a6d373c7ce7f0350c313968952aff6673b15a68732721e0360f5bd87e8023c2f221fb86d254eafea3b3e738fde5872b5b8a96864dd3dbbf87d1ac82a52f8c290291e83814fdf5415dac46a11764bdf30952d5ce138fe35a60e8be48bad767b4948 +PT = 71b51ec385723bc6ca61bc506f01055676b2f2dd90204ad5b157a9dc555ae977 +AAD = 3cf0bdfaa57ef1b9c4089ee110abc932b13e558b +CT = a87ba60551228829dc26afb9fae04a24b2573090a156848d6cbf8c09074280ce +Tag = 5366b5e158ab51410c06a2fe3ebce4 + +Count = 10 +Key = 232bf93085837820f6f4edab65e99d4d +IV = dd1b62db889141ce256a23a288e609ad545a628f3917edf7122796155ba735d2fa33e34f5a3466e96c88d6b2017f956a602b2bf3a2f470423629d2d5e518f306323bdd2e59275ad1b59e66439b6e3f8f37dc87ecb754ea27bf8e8366232053f154e5418b02ccc4e3984c5adde226e41a6d09a5f29665de578ad17adefff049fa +PT = 7b028c005ec288c4db4a92324a7e0aa01221c32a5e54fab11370fbba19f22cbc +AAD = fa85abf6066ca90b4ebcd9ba2aac318677f417e2 +CT = ddf3a9a92a7269d919e06a8789e5f3f48df341ce0d6a9d47655cdfe79e43bbed +Tag = 253c690907a988f45aea96ce02b676 + +Count = 11 +Key = d526ff543d94dec08be46ee244b5358b +IV = f674db87671fbbee42ae79658a92b3c2e0f2d346afcf222eaef00f127ecc0769a4ecb2aab274c565bac586c3e5e9342afcd3e9384578af9670f556ae391e8fb9f5bcaba22852df923dc9b5d73745f90a5c4374d7170b51da9051c11f15a6ae08fb1b92c85f5ff2c5636cfcd468f8d41599fbde5b9cfc27506896ec427649686c +PT = e2ef3fc5281a02f3ba100ec434b467eb04bb950756d6389c7639af3d57bc91f2 +AAD = 824d021321413914ed7426bb3f7808c8ccd505e5 +CT = e7a6828ef481d17454a3b9116039d5ffec143a3339923dec217046e9693b54a6 +Tag = 04bfdb9683869f5b7e86015a02e73c + +Count = 12 +Key = 1dfaec412bc29b33f6910580d1818aec +IV = 4aed80f4fb7aa22cda408705357b9ae8dc42e4b544d18548fa602297afa17a2b9e6e1537ede521d1d07e5f33ced49ad88176b14980d4b8d538c210ced92edec2f7787d6042cb5f558f7cfe0ada0a9fad7f3a7f707e54add3f3f156a0bb0595aa5df272b1818f07b12a434d5e9aa20e446aee2b2677b59e94262d6bffb7b2d7d8 +PT = a5897221a7cfdb4bb62527a39f0436c953e27684b20f4a0d3c8306e243b08398 +AAD = de26cd750947a1e8b4a3d289418033e0b19c10e0 +CT = 205fb096b8dbe945b8946830148bf9673362e2dd562745e28489f57bc9f9a605 +Tag = 4e6bc9abc62272b3d5b6d3d51bb3ae + +Count = 13 +Key = d184002b257016369d7c9c10f2f95f53 +IV = 24dbdaf1f27af912c009e5a8a9bd2c56f8233f3515c20c253c34e1b0d815ad3c6c16f388575b3462509ac81f023a18f2e53b00d561a582d4ef5f5ee995e772a4d1c996ed7fe8cd82cf154ea24dfa953ab47ed9aa9ff722b9e4ef9802e72a147b76194d4c27e5178e1dbc23f536abe476bc6e4f767bb353212485bcd327dbd8c3 +PT = acf151d6225493dcf1ea8a2ba943af4dbc68fb4d42cb217291b6aa6a4455f7a0 +AAD = 81c74e9727b99eedd728a2e680ed4742baa7dbed +CT = 9f40b22c91919f20efddd9d6a4dda0f93035ffbec78a01e3ab45029e1a520c14 +Tag = 537f20f152f6781cedfbeabfb6015a + +Count = 14 +Key = 5a28a3005ea0b75fe7090ef1450457c3 +IV = df6f0ac6d729e65d779984f0f548459a458c46029d6e05c66dafc39b16a22c8b5948172ec9697a452ec123b6df34ef5deb39739857829f235357940b4ca81b41c0c0c84a95fb0abec254da694e70cbc312ed17926a9684bfdbc6a2dfa43d713d379485e086ff96214c82a81d2de4ec699ad0efe3a344e2cff261c492f5141560 +PT = 17f74678b64b0ad6714e74f001b8527b5148a2b1e27b7e2a920760688f15dbc1 +AAD = ff6e0fdb550c5dcf006b773d9e6987971657b2a3 +CT = e7200c8c81f49a38f044f7945e0c253b6e7c9b52cc473119f7c6badd59d3bb0e +Tag = d669293d72dc98285828696cb5df2d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = 1c0d0e2ffcaaa928e559cae740092a85 +IV = 2d84a56b66aedcb991bac1b37e444040669f8621985c8690ffabf7bd055235a1a83886abcf6598e873ffa723a5018098ce39e3f4c8fb26d405977fa8018f64e73d3db29eee927553978b6554899afca5963f485dbc91a068287a9991a8027b348aa8582e7ef46dc6c1d9a11a9f24cb17a61ca61992b70f5baed93348035d5585 +PT = 972097ef0ab2d5a2219d113cca806f7d11b33c4607cca3607cb6da2172a9aca8 +AAD = 771c59ac20726e80a5d086fc64218f4ecc5e8093 +CT = 41d5e63259e330bb6e218a465e59f688a566255e34c220b2951d66ae31a9c149 +Tag = a2d047003472fa42112b4eadf0bb + +Count = 1 +Key = 2bf206fec9bdd3d02a1f0e6d57f84a99 +IV = b5c9f87addcafd22cf0dc0a4d43ff90e820327903b44fe8739bc59100a0d609800643b5361e607218dfd583e1d2299af868bd5c05c87700506b91431dadb26336ec75e249f2509761c62fa31d352194374b34cd76097f3918d98f89192f82ba3fa3d8dc762309afff2bc984d9a89145ba3e9a02b8302eed014b501e1c2a63458 +PT = c89f3c1cbd3898bb9f3726b473e0794c62772beec7c0d3853e8e83ba5b313c7a +AAD = 19309af1ccd1aece60d260e8557b31467412c1f4 +CT = 5f7cdf3cf3948d2bc14b320598ce4c938fdf0268fd0e3f61390fca90df89b162 +Tag = 1569f8f40d2cbcc2b1cc1e559a1f + +Count = 2 +Key = c5bd75785fb0a782e4cc0e8ee56a3919 +IV = 4540abd2856d0631b8d3612c4c6309b5728e32f98832e656abc7a5b80b2b7a50ba47c3f067c8309b8dc7c8e26650333d543ef2904c99f8e4c569003d584d45c42b8dc99fab56e783a795c32d66a12b1f005b787af932a907dd82df68425066d2a73809f17c12194125a07620e2c27d0f8a32b64da579b0ac0f83431222f4c576 +PT = 65eb10b21e8dd3fae6aec792c76ca03d1405a6c188bdfc76be83a2f4e249736b +AAD = 43c7436fe8d78b0fe763611a52b2b51eee8de46c +CT = 1ea7ae7f52ef18d2b1f4579f5386b663059c367342f3b240510565d7a81ea455 +Tag = a0a8cdffde606a9f8eb668ed8d63 + +Count = 3 +Key = d285e2a4da887075fabec9b6a1bdf965 +IV = a2c38028765a2c1d859e77e6f1136a9ce06af048db388cd5805c806bf587d537f48363fb4f727f0cfcc2cd104f8ef44c95d15ba27e7f9b6bfd41f2b8a4baf57e499ac501cc1b5791ce3a9dd7a24d12fe3c2c21228d1905744f14a2f735730d956d40cd5a9546e5697987cfd663f3f038931d2587b757561a27f170dbb353d5b1 +PT = b4f82d7c5f8c841ed66fe53ac97837426cc7112c2bf90a0fe82c7d3e6c8737e4 +AAD = fe1e95940303e87309f916fc0c9dfd3d461c6377 +CT = d55a61c5fac2312b79b847a9bd3331e8194f54791a119ffe0eb7540d606e9c41 +Tag = e99eb7ad49ecfbfc15af0a9ac1ed + +Count = 4 +Key = cc8bf9b4a87273ff8e070c97ca8da98e +IV = bde0d19304a344db2aac788373fae7bbc0afa27d194ac83f155d326a162245b42a5a117b15cad84b4b01277ab03a30c0f8ed95ece1f601abda1effd76dff68dec8d02338f941c5f16cacfc2b4cea8d6956aefec8bc00cb8d1b51b0017fab2055dec21a2687cbbf5a5f5f0beb78c230769a6ac1a6b86a7fb2cab85157b776fc6b +PT = 2d905ab7abd41519828053d771aea3eeb62e1c597f101952bd9028bc05eff7eb +AAD = 954fda8911c08ba94343e383c9d142abe82457e8 +CT = d15b57718cec66a31ed0c8cc82cc7c2f4895df253b873858e895c8a76d02d40f +Tag = f5aacbad272400fff8893dc68974 + +Count = 5 +Key = 7dca57c733fe37173a2f9377daf585fb +IV = acff037ccbbc99556bea8fe9fc0694f27d38bffa1ff396a4e141f27d8b6b0b41bb3ff589df04bdd9a930b571311084a23d781f5872db9609ead33ad5ef7fb25328d197c442786955902d88637b0a09f1f1da92a911dae7aba20097c0319128d0b950ddbffa0cb01e69896ff3250aa48eddd58e7c12d753b7821a7593bad48f04 +PT = fed80c627e7153d02d05687a8a492f199e6c550896d035718db29fb1b7476aa3 +AAD = 82c56ade0143dc18634f244d273cf06333494149 +CT = 3a1baadfb45ca7f76ee898c557b63fcfd123b1b5eed63ac6608375f5d8e3aee9 +Tag = 3602036b0346f7dc9fde20a14c1f + +Count = 6 +Key = ff1ba62dfdab6b46b48e19235644bf7f +IV = b79016e89b9ae6f0744ff598db774d8119f79b2f17cdcf90324b11e158be80a9e44228f4d742eb70e3e060c8fd2219da0c7823853beabfe3c58479f980d749f09558662bd5b8a574dd73acd5535b6fbbf705480f42ccd5f56c8e827b80a58acdaab52367680d35672b2004cf0dbecc3b93ef12ee82cb91fefc021c49a4b8aab1 +PT = 78b0d3772244fa18c48e99ed3149a1790c642b55a677ec779ff19231ca9cd4aa +AAD = 464534d39d0b5ffce09c7c13ecfb0c43731a78fe +CT = 33af2fc1036b716cd23a8146817d2c33dcaf51f063f9c3b19d61feddf2ea6464 +Tag = e94403a4689db21c1b055296e495 + +Count = 7 +Key = dab12df8d094a346b3624befacefb693 +IV = 28aba6438f9225a915083b3f9ebcce1214f24bdc425c701033adabb81eba495f8f200de0c6d9fd9698609c30edeb8ce6dd0a0482889ccc50bd7345e631ba6f50bd3c9015e393fdc10b1c2fed6d56d51deaab32e19f3bcda652fb3c50c50504b9e7d949550b64efdf702770308b165cfad61cc5fca5f23b59448aede92594c160 +PT = 25f0caf987172cbcb9043058f5604f0eb9f22d0c683804d58c9094ec6c9c3899 +AAD = a1e611c11ca6aaed9401d0ce7d486a4429d9603c +CT = 750a9ac2642ff3c2121da7d023a66cf7b7710192bfd961b528942371ede8bdab +Tag = bb7c5407422b78b4fb8bc9b0641f + +Count = 8 +Key = 6074c99153c47a4dccba4302bda7322f +IV = cb019981e5f12c3819742e386868a527740eeda3b1a398b9f0f094bfb19801be91fdcc98fb5ade212dd0e6cd1ed63320dcbcbcbee9861e6b92841d219e03b67b4403695a2b7ed7e59f9268ad220b995042d5181fba14341cff6a2b7dcf36ce9fcf066850f6f4fd9db6d2a4464a703d3951110143aca59358a50630a8b3d1fb35 +PT = 13be624cd2d02278b9661fb527e0833bc7f50da1f8c8f69c3e503458c64d2095 +AAD = 3e07f84d1f815915ee61584542eefc0a66aa9d34 +CT = 375fec273a0fcb02dcaa54055cc086941187a3c2fa745bb97f30b16b9a794504 +Tag = 77682bf007933a18a9cf4a0f5402 + +Count = 9 +Key = 169c281dbbbad80d8b2cbf65e6e4a60e +IV = ab5633a1a50974bf1e5369ef94b69cf48761bfbb7aa4f65cf1730a2c988e74734d5925cb2499b2ef76a2cc91d7631e2acf11a03ce9f8fc6ecf9e5b8419bcc73c86f5d84211765696da90b88f4486cc30e3da6ee938efd336b38090e508a4fb2ce30510d4f07fb8e6d9850a04ed903854b45aafed290af244652a537b6f39d173 +PT = 0ae5ba5e4965eda0b743e2d155d810bb03e84f9bdfa6e9403ab8684ef606ae4a +AAD = 5b4d41ea184df7124dc4d403f515f83ed2334df9 +CT = 785fa9fa9bdc680a3418f162e229b933f5107eca6bd85dce08b17df6f9fab9ca +Tag = 0071f83a6a2e89526b4abd1b82d4 + +Count = 10 +Key = f4037cd4679f2d61dfb67c0fba289814 +IV = 1aab81628b5e5af22e83c35ba3ddd7c385114fc0fe36c00567ed5ed3b0ceeb4251941062abb168ceec908bf568d5391a30a20b0b471d496992abc3b841e426b5fdc8d6924d313c86756b3463daa86b0123bdcee7d7a8488d0424fc436a4057ce1aaa5a5425344baf8a310156c81dd9d670599f6355e1f558d74fd1bb325c9ef9 +PT = b2c1c8e675366368188fab2b744b1e80b4b6d31fc3f53644e908aaaf95581394 +AAD = 375dbcc12ac73db8fd65da88d73288e55f33bb7b +CT = 2e88bd57da2d0dae5b8a1be7d4956becc09a2e1a02e0b286939bbd1e873a97e7 +Tag = 6bc7ed2aad3318ff29878bd060aa + +Count = 11 +Key = 061f64e88322a3d909810c7e96025d56 +IV = 5725d90b0dee41c4501a80f425a492c2abc5ca741c13f74b06cf6ccf0f7d2a88f6fc2f672f479226e3d3c29ad6ee4482e022c9960a8a8c4f0a1f25c3f3cf344a9acb563e67a5a12fe370e24ca0572e7eb15889af7dc8f7ba576eb95a9618f54382e9006a8a3309a8beffcd7cb4f6f1d3877620d84c80bd684b6daeb7c2b5c9e9 +PT = 635841cad9f19e747c4def36f3f898f86cd400a5b8ddb8778246641d23bc1164 +AAD = 417ba33d56903299565fb3646e39844b44baae27 +CT = 9f4be643c2b2024d1f9d835fa59698f895b18436f339f33ba08daba986d9883a +Tag = 1e73653bcba51aa9b8a47968f0df + +Count = 12 +Key = 7d1e68706bbbb6386d46ebc284f6aef2 +IV = 16b50caff1a60b42ac1c47fc4605ca0a5a381976a6619c0b060afbb7f5b3bf4a11f40866345d030b49e297ac361efbcf8724048c75e4a6853729b57ad465649fb8913b96b0dd1fe982f0c4d84628d0f7f4ebfbd9900f0269d659de8e09a42d2b0cf2f89a23dca9227f9edc95ebb7189fd39c1e9fcf25be94747dd5fb14025a2f +PT = 3ffa3cf039c333188e528d0693114afcbe698e8b03904e90af32d21e1a94e5a6 +AAD = 31f2fc5817c44ce33d2c501ab26cec03ae4b2223 +CT = 3342d3015ee4a98e090f9c52aac34148cb7a244dea7d5a1d83ebbd79d4f3b9d4 +Tag = 2e547bbbc78ee738382d375db28c + +Count = 13 +Key = 2b801240be6f5f38eaf410b6f25792e0 +IV = 33b894c08e4b3e31f72b64ed0d9918df54e8bf106bf6319df74e7d4813ad2d779b12aabaf881a47585ca857e74c858251602f97cb0ad84fd8b2223e99ba5cc0b37d56bf6dd7798da414422af999e4d7a1f8cc98f6bf77419af43d512a48d174d28e2e7ea9908e9fbba6bd39e298ede3f6ce9b528a92acd427da62e6e4e0d24ba +PT = 820bc565886395b5c047f1b724b380654c8a87fc3577de3fe9f8c698cc3f6b1d +AAD = 62b0e763b25b8f66ab879a203f7baf5591b2beff +CT = 6c9193b78c6c92f2ece1e57637ec05cab7aa8e898281187b70564ee97921bd44 +Tag = 860c9c6c4d622b89ee6fe612914c + +Count = 14 +Key = 7e363065eb98a2eddaaa2b66005cbb24 +IV = e52d3bddcdeaa94973070be00ed9fb66f9302bc7495a911b2e5ab69397d51e4b8877cc82ae46551b32c207ace6147f3ab455e4a55d89f0e0fe8eac9796b59eec5564933cd3e1594425bc3d22eefa418faeb4b7be8f8a58b3a1fa9aca34f3994d24c604fd7d62df39b160a33034ae40f5ee42c85d4f2650e61d22e502984007b3 +PT = 980a95b0ec0fa6b216a3bea891da8c66c429759fb894998cf57e43496fda6486 +AAD = 2cb97b7a68dd4c9900b22777113f12666fc5d893 +CT = c0cda59a81ec743e95647dedca8bf3cfe8b0fa23fe648215af95ba5d4ffdd624 +Tag = 43126cf3e3ea1d9048f7aa2190e8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = 4d2dffbfcfa5f289aaf59230327de572 +IV = c93736f6abc6b145670d524236cc53a8f6d90d8e1ea587ec32bcf6477ee2e04c53e58d2269212539e993aa96b109038d73a23b343b9b224efc80156ed7f0a3cab4bae558e0c05ff511053366a39660fceb700dd1c8323baae7068282c95bd432255af2a3ba7f77ac49027ecd0d6b356e57476f6a9470994005e3075cffe603c9 +PT = 82ebb31096304190e33ef1815e1f02a25b4efd53ff3bd67e56a3bcd827851d65 +AAD = 3f3eef33e6a0e48c4414b8f7ab4285a8cfea3d95 +CT = 85c1188ee391a4b229ce63075a67f01f2aa956133c64cd8a18df8e516c395429 +Tag = ee68aae0753307e8633f207169 + +Count = 1 +Key = b839c18f8d0be036e463b3f987dc42be +IV = f61e3b3b065b53ea6206f8a2361883fbe3f79d1dcc00a47002b60fcae8fee05cc1b6c72ef3dc429b473d2df1acb59833c02b57936bca63fb63bf8839b2c9452340b6c9a09a31292ef718e2a64eb5178c4da4773541ea065ae38c88fc9486dcf3fca1a85124c9191b5cab6bd5e47348fc9baeefb546b652888c921178621bb97a +PT = a968cbc2203bfdf175d4d04fd9665a83ea14033e491ce9076a71242dcfe2a3ff +AAD = 4df6292ddafca25720274758719b8569712a846d +CT = ea482ae6849f5e89a14b6b5df0120aa88873d723d4cbadbede117aa433c441de +Tag = 7278736b13de7aeb904fc2d71e + +Count = 2 +Key = a786945ee33d75f8b93e0ade614e666b +IV = 9df9ec9b089470dff31ab72edaf374230e5938697eb6eaea7ef9724422c418cb1c063189c7bc863faf546e16e16e3dae16a0767825b608572eab199d455f1b4284cfa2e153eab06a977bd3fa7524b8a86bb9d2a3065abff265d92cf422c47a4b1cb951f64e2fff46c0767bb23525a117a520b6d4e02e537f8ba1b6776898be8a +PT = 9f64f3c40b1c2ea79f458f45fccc1ddf0f8e05b933e2f02c8d9e0637a53d955c +AAD = 07c629fb3a3f2da7d05e571f81353ca1d6ec0954 +CT = f14e9a354f3f69f2c137a1e9d7d46308b1d52b1117de1095b1bf4c2115823c90 +Tag = 52d2a498c9bb255d24d8f14275 + +Count = 3 +Key = 50ef42786ef787665ee4513839dd587f +IV = b2b02a2078da1832ec071ef892daa95fe050897e4e939a8242d6484256bd85284ab390b739c21d92628208fd79ae84544b05e4156c27c466655bb879ae1cd8dd34715205f23427000a6445f3e40233f671bc4daa82d04193aeb966c16255602f76e5ef104905cf66b7f78fa181b0b9a1eb29e00b003f02bbe80ee6fb1509839a +PT = 556b08137a455d999537607dced1cff1fa1c37c411bdc63e2bb6c928b845d097 +AAD = bd9339f600a85f598c2c35e14332406ffcd742cc +CT = 3352d6c47effa9cd7bbbd26bc422317a09eaf3c15f7bb6b1d75ec2e6689dc7ab +Tag = 8a833e09aea1f5ad20d203e885 + +Count = 4 +Key = 5e9293ba89e46c905ca815fbc321b338 +IV = ba72f8fa94a11ae88802448926d2aaec84e8abee74f32eb8d306b0d0107f98b7bb4d06feb1a8b671fca8277cac6b3c4ba29fdbc6fbbca8b666a0adfee3c8d1bb50f5fe29c8f321310f33da712243fee932469be941747e7b9e61968d64d851e73d3cf28c2fa6a641061a7a256efdd116c7015e0b884c53bf3a3dac1b5de31827 +PT = 43f8d11af6868a2b17f192057dcf44aa860f6fc038ece5e47c5e115c6df973a7 +AAD = 48f09028b6c38636d47939ed14ba0a53490c26f2 +CT = 9ad5f3868908f76a9bbe81931750896d80855436ead2c6d142532100d7ec500a +Tag = cb81f85079ab9583f82e8f5a8c + +Count = 5 +Key = dd23db695a25a91efdca0f5561883c1d +IV = c2f3bb8ee2172ba1f4b1c184e72b16ae874cfdf4af0c590bd55600886aa9c5dddae910afe6f66ca58f33d494e5e680830d9c94033209e170e91e84bf42629390c6a8bd955072f334189c6e3b9be8a3a6e7709b0b55a1a98608e4a6208a0c6a071ea1a5c6dc1d4745403dde7d41ccb778b696ada5b0c204facbbc14da2f18e1f4 +PT = dcc4494fabd4d3de28eff397db1d83b741a9b2578cd8a3ab1a279869c27d1973 +AAD = 361bf24f008ab4e569798048edc03273c1b5c2ad +CT = a352db416b0bfc80a7205a2ec8a0b2db0ca7a0001fd8d6a315de9408934c62c4 +Tag = ef531b08aa09c6434b5d1ce2dc + +Count = 6 +Key = 359841fc6578a4bf05c361bdc14b8036 +IV = d55c225a9ca3a614319add5b5e67e6d77b4492ca2554ce1009251c86914f11aa943a07f42be9d21b4e56f2fc041f8107e67f6573b6583cc825a7bd4d97e2c1d78904f122f40f56360f9f54b3ccb522b2b484970ac334778844426962612d5382526465dffd4209c40a6eb5eae96a5bae979f074990fd11ff8c76a7933f0072c4 +PT = b82912f4ac099a741c18b30427a62d5d1dae8cdfa3cd3ea7c1d0912d927f583f +AAD = fb649ebef7d63ea5591d613086a44068bdbb19c5 +CT = b7986cf65ce4d2a8338b3469166e73b738d116afa022b4735e9eb87bff6a3b68 +Tag = d4a37ee13a009f6453b8a69330 + +Count = 7 +Key = 612b4d401e2cdfcba50ea058d1351241 +IV = 74f91a2d534401d4107c423cdf9a4ea217d2d8523a372c16958fd41c8c66a932d9aa581a497e702a9c312e0b8329b1b175f49f8527f55ad8f2fb75cb9c7a83224e9b0dbc6f6aedc2f88064eb55c470e06daad8d8e5a633ce4f386ebf2be759b628c3c29ea3a55b3f3a5e97feaf06499b82b67cbaccc3249d5f09293a48370637 +PT = 76ff02350f5516a749ce58e4f89fc07561b99b3409a8591f9e3fd5e6bfd1ba5a +AAD = 399f7f2e0be817014116382e8f8b2f9ccdbe52b1 +CT = 4e7c68b064b55fa6d3bce8715a6019989f43d01fdc33c8f843de856f8cde84ab +Tag = e7e382ac436bc725038410019a + +Count = 8 +Key = 2a633eb9f55c6fd199c71aabdc5cfa30 +IV = c0854273c4b2739187b3db0b203de1b07acaafcb4c240539229528976e4d14ed21e33d9afaf4d740e6ef79cf56412169e7eae8c4665439d0e7ed6c7d7216cd3d6b4e15c00bca387aa0fe5bfe90a46dfc88828e61c682dbe7c54425698dfa7c70d17b91f6c8e0b4e7140ec4d03afcdb656a8a9e39a320e56744803de1f2242826 +PT = 9de2d42e598adefdf431bbb3c84794602cb025ee6a8625dcc1f2654afd6e22a0 +AAD = 1cfb5d1a7f2cca2149ba77482481b35b26530e1e +CT = 426f0e8e52fa9c94cfb02b8462e0dabfb99d9412fc6b4923523768c201f02be1 +Tag = 3ce4a997783f731e1e8bbd857e + +Count = 9 +Key = 018d42c39fbf2f6f7fd0eb09d7e54bda +IV = 7df85fdfc54e243f49f715e1bd4b6d0a30018e4e35736a54d5c21883d537de29066ced7c443d406640e65e9079163840ea214fa67f924caab1427a0f15854afa26499512189aca1c65cdd9f66920b3246639e2139bfa3f64d04fc19775bfcf46cb634ec94c715adfa720880d6493dd612a2ecdfebb888edafe39739672151510 +PT = cc1c2eee9de38eac6a96aa14d918ca710cde06f637cce09d958ef09fb972037f +AAD = 3a407207d2d6e160f020059b967d0e2be5d9b353 +CT = 18636fcd22287465865a602be4415da4fdcd834c2fa31bd927fbc4c337cf0b40 +Tag = 5b88b485c2a51b71d3564a95ee + +Count = 10 +Key = eb2b2e09ec9554119c53289a1da35c64 +IV = 6be232d7de18070ee3f09aabf99e2dcbb0dafcf67c90cc12ee7d35772cd767bc7d38ba23ae48b164fb13fd7fbab0ef15fa18217b8af802e910af38264eb91a07c0fc5a72e4edc14f1dd795c0ca9e8807f77a36d4b46caa50954cd3abf71151fd0382487cea4a30a464970223569901f082f201b87f66ef9be33fc7459a0bbd1d +PT = 4fdd5d02ac5eeee9735c3bb44bd7eb9e393eced6e7dc57dba20973c5ef759f3b +AAD = 1d25c62d232185d6f3eb34aca558b32733898853 +CT = 4969b3f42865626a60a62d2a990688473be5670b2756f808998ee8fb24b8460f +Tag = 2e84b8e73f08c0ee983806d97c + +Count = 11 +Key = 5bd7fd03bcbc3daf74e68af133d1b2c9 +IV = cbb100b0f8248db474986ed1f65e300009a8a5aa61267f34b1b8b1133a6ae1db542cd8fd49b3d2df4c8d36fcec1894f36f59a440bea8d5f9ea53a10d877b7325962141fe0dcf250942557c460c8e9c238405453221105d2633116b064e2fc7d41f15a507e5b73abc2397f51a81a4b63b9b8a82e91375348a6dc973d1e87ddca7 +PT = 837e96dbaba4a91117b3a1a44c202adc9d7ce373b5f4e16c06f7b7e215203294 +AAD = ed090585b83af06fedad1362de657bf6d69866f2 +CT = 3021c05929d906379b2a1c4c3164bb9858d1284a61effc563f5a0e46c76ac104 +Tag = 2c13272df7234553986122e4d6 + +Count = 12 +Key = 4963b4d5e071a613ec7e58f713d510ff +IV = f0b2f6c05d46627b9fd94d7a43a3e888513deedf617d00478d677717bbd586a96478b0a4f43e9ed1e0600040d09b6202d65f58e9df57dda17c8fc870d6dd3a87efffe01e3a536a29f3ec6dde3d5cc9ecec3ce7ff11ede96b4a157edb0d3f366a8a0e7578adb8696eb89ec9d304e5f2c46f69d2b3815deaf4b5448bc1cb79f471 +PT = 8b9ad6d2b7119059f157d7345c4b13189e2cc4b69ebb5c719b4293a18cec6e1f +AAD = f070cfcadf1b81f654ca80168553465c09428f6c +CT = 34eded41db6ee77ac28aac84314913e3e88d847af3fd7c25da7722c431595ee4 +Tag = 421495b96088de7e4aceff5f94 + +Count = 13 +Key = 85455a18245adb622ee583636be90782 +IV = d51e7a0b7003b1d60c61d94cb65e4cefc0db576bde3f2a885bb5f3ef747fd70928d63ef640751f345aeae783c79450726c1d8695d6d7d63fde5d7099b839a658b4af722944006e9c6b49d9abc3966d62d7ad3970b2c6729bd61b35052e203a5115faf187230c92cc5daa318c01a5bb9ceb8f2d1d2115866c80233f4cb0f54ca1 +PT = 190f1c27108eca6b7633e8af567a11633958cb34880b0c2def1f0cfde7a7b33a +AAD = a5f4a59c76cac25266da95a78f05ebeabdce6412 +CT = 89fdda92326dbc024c045d779311225abc41783d82f753d84ad9f498c1031ef8 +Tag = 816d784d51f54b1e7be7a750d0 + +Count = 14 +Key = e8a68d5cdcf744113a16de15d02b43dd +IV = 252166bddc21dfca0d7d89b6df57f4bc54cdfe4b1ad1ed5e4a951b7076842d0fbb794ef56beae0864ac278f6750b6b1d2145d12d55a02800fadc8b4f757498aaa42e71cfb308082ff863125d957f44146f3b0d1491e279f2255cb3436c081806d38dbd3712c6a6098e8e1af6a447e4d55ab6fd9fbeada40973e814f1ce037ad1 +PT = fdf4c5c81fe2944435c0bd1d42b1e40b71b5b861c94fcc629f1c62927c18067b +AAD = 3ceb68cdf16aa5f5f0825e4e91453fea6c17f36f +CT = f36db649c4c99072574a621e0e72560bfb6e90b70dc6959861a2a1b0b02f4d94 +Tag = e85ec1ecc6401cb1a1f1cf6fb7 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = 8abd543675438a0fc7114ab81e5e96d7 +IV = 453904127e2ce4ccd3551f07362f7f2567045cb4468387942efc524680714faa09b77c23807d7eb9a37d886a1b70be8072ade83a51ed101f2739cfe77f5b5c8735582b109c4a9b0ff848f3296152d705a42e19790048af10e6dd0ec2aea81e065f36d9a67b1524eee4706bef2933a776166062d08d27c33cd1256f0a3dc1e6fc +PT = b36a57460592ab94b89514fcb675978cf343c75c242cf1c0971072cccb1d9062 +AAD = 974fddc8c013c089e6bea6ca390a18a9565532f1 +CT = 4160795a1404e4dc4f99e092775d76a0afe9a8844ddb3c111ad3ed06dffb14b4 +Tag = 6379aa2f15187ac6a87e7e2c + +Count = 1 +Key = d95e15ab77accaf65382383f662f5eb1 +IV = 556f87a90666c913b509fb3c3492f505cd2095f6c7a28f2b459702ad9d969cb58b4e4871c69024f29156f70ea59df193b9405cac77ce81820f9e72714fc7cd3079ab06299c28ca0dfa92e42e5b9b5f164bcfe43900194d46406e9bb7d10026e3d7694ffeba8c548429d442303185c8c90583b5a43480c8b6f1fe6e53e280299a +PT = 1d0fec20154fabb952cc4ab280777c61103b695d2a12e7ec59a1f99dd8a8a7a5 +AAD = 797d8c8923ed24be66bc7ccb0d159c642554d3a1 +CT = c1e64d16734b94f344f88700fb243c3d420cd1e3e41b818fdcbfd7f451fafd37 +Tag = 2935f85e7074cd90bcd52442 + +Count = 2 +Key = 75d2d2096705826564d2bb48af83c59a +IV = e833af7614721b84b89dbe1370b6fad36114fbbdb69348e567bf2276a7b0808d476df61e17c7b6fcf148ab83fbe578828eb2f4da7732b40af92c4ec4eed48fc79da522b7a676f62ad4edc79278b3e8760d14af5a4e14a299fc23ade0c185e5fa69a9e67210ba32327565bd6217bf8498566d9588dcf1b89fbfb1874c1aaf1521 +PT = 6dede61fcb4ce6ee320ac90f502e02e1d1fb6dbeaf20fa5aa72e5b42ffa89864 +AAD = 380c5ae4e71bc17daecfe0f0e6b9cf46d5aa0f3a +CT = 8dfd968a21123e1507782537b60037915fce23471f5b7422995c651e8ae2de05 +Tag = 6a5024a301fb7ce324128f1e + +Count = 3 +Key = 9ba1ec8b4267c9a8cad3deafa9541cbf +IV = 30be983b1bdc1716aee8997abfe82df293cb5336894807819f76d022a63818b5fedba97bc1180038ed7e5861fd8f562202c6a0b6cbc1eefcccce02c0268128d867c593446e19a413aa9f53c098354b8722a5b53e55323e0ae019b21c71eab6b94e4b3e7113667b3cc51871ab81e76e1c21a0cc6fcdfb44f51f7fe51723484896 +PT = f20a76c40135be98c250c4e4c8f5ec9fb9b30c39a0edb65ee96a002aad599067 +AAD = 62b0b2a49421b28da5dad8596c1eafdd9450058c +CT = b6d7fa094f81874311ef5ceddf44e7e6c69de560ea1865032702e752a99a4cf7 +Tag = d3dcd9eb1daa9cebd6e45fb1 + +Count = 4 +Key = 0affda8905b9392b0da15e88bf918744 +IV = fac4bec674aa150546d08dbb3fefaef9839fd3121747a87ffa9ed9c42f3ea271d413aef5544eaa5bd8daa0fb71ca608acff9143396eda24482ad12a73498b9812624e451e7a8c2dbe4f7229a8ad7e34752c5fc2d34d36df04d3ce7223c2891a820497c29deccb4a87a80ace1e89818bb0c39170550dde49f0b64c3607195922d +PT = 81812ff746f76ce4701f01380ed391b68b62160d343286969a693f3ca478f31b +AAD = d73a493e0a4e3689c42facb34c44d912309c67ba +CT = 4c783371ac828ccfdf08b78829cb9122228f6d80b624fb58e43862891a2beccf +Tag = 8796c40de16515e6d8e51323 + +Count = 5 +Key = 2d87855fad74aeb4e252812e4f2737ce +IV = 9e5bfc81c7a243eb2cab7d9daecad502cc099ad6f21b430babd9f28a4c0ff2e55f147ab225f01d7a2fe96a256633763b371446088122555a23252856e5e296d456a205ce1f06ee01541dd95587208975571c37418555926a0fdd46b259779f98aea38bfb51ed3ce520e1b2516ef74000f9ef48d4dfffe76bcff9d131cd12b945 +PT = f29d078d28cd326440250977cacc0fced09858debfc20aee7d746014d8b2e148 +AAD = dfb6f33d915b2e84eb37d06660c9e63db1b17b08 +CT = 4a619725cdf054b31abb140da1e888ba3c3491981e7fc602884f9bca0b7416be +Tag = ea22663c7648756e1e417d8a + +Count = 6 +Key = d8b9977f20cfc2ab26ec707a68eaad00 +IV = 3172fdda72cde35f97770154fadae0330d69c2813ce59ae9720d6d42f7e0bf6af7491b5536f779fccc7559df49c1f18cad2c7337acb50ea81afd0f7614652a24edfc21541dd5822cda14279c3d1767c7a56028982c21cd01e60c95ec0a39fcc6088a711beb259b852fcf79d71e9b01c47670a5824f88de2d82b15a4989f04ded +PT = 5c4137005f85c9ccf490a0eceb30d3d698b8f9124e45d8a6d8fbf63ebf309b07 +AAD = 8db405cbaec0b912c814067bd0c36eedd4559fde +CT = 5059115de25d1b0964b4ba1035bb77350dcee4f2cee8102f81e0114881344e1c +Tag = 923573e60e9bc09cfd144e92 + +Count = 7 +Key = ce668a4920bac9c12b0d294e7fa932c5 +IV = f6e4e6e7d0b027effb56bc6edb1e1378de959ea73c65c5e70b57a4695cd2a1c43b229ff3de139ac9d947336b1a66c1800d84dcfcede87aabecd777807c1647d9893d5f78fd0e50b4cbfd7141308ace0a03849b9c7e422bb4c5a710caa9fff2735f291fb7ad0789f254d5e1c9c0ddfabf10683506068b3143a6e6917973b111e4 +PT = 3b186c84dd78eff12eec95aa08368a0912da9759fb7fdf6189e0f6846ef2c4c7 +AAD = ccf6dcc599e7f5470b1e4ac7c0fcf6fb60317d5a +CT = 5cddc4dd93a3ccddc90d122488a525993edce53da454ce3649f8427b018cf8cc +Tag = d95a97c4f89aa01c863abbef + +Count = 8 +Key = a976d8ae4528bff2911094a421f4ed83 +IV = 6904cb03535dce4b080148df37e81a5c9a9bebfa0037658228456a8a1a3db8e5c0be70c082bfbf50f43ab59cdbf24312ad6dd041e1d179df5d36f9fa7b33acb2983f8d66443b44c1478253ee2cdea9840a6698e9be130de46947121af9223d411cc4f7c715da83a30dcd4c54f5b52701ee315b52c44b5d58cb6caaae946ad940 +PT = f235d5c4f71b40d2afe4b85a6d62a5bb426e3606f086bee79f6788d3b7ce82a6 +AAD = 348ae1548058be59efd0f830ca3b9b0805320632 +CT = 837af64be0d0bcfb9688e7043f5594e5c483cfc06a5e809fbe091cd702bf419c +Tag = 71e22c2b15d4d2caeba54036 + +Count = 9 +Key = cb30416a3b2d2352d5cda28cc1a402e1 +IV = d297ae9cde91d570221af3b264cfd62505a905fcafb055dd8cbf054619bdc43e40b66c228648ad7770ac35a219e9b8dea70e7ecc37c03ddcc5ac1be71e0a674e18682b393865f34b8fd623eb9d554ed4bc3c3bbb0dc55ed2008902ecdceaf1feb17ff82fa5bd987eba0a51b5d80abd0a69e8a5a830ebb39afaf2bb4747c16465 +PT = 6c9cc3876cc39a2b3f99a93c5fb43141d1878aaf68f07e41edd99fb5c089e306 +AAD = c773eaf220e01be816b81e214e9ad9aa31f3622e +CT = da0cd6b70c991ebfafb5bb5d6f9ded9b8abccb7a695aade31febe402ed9179e6 +Tag = db77c595ea7e8134fb6adf2c + +Count = 10 +Key = e904ab181ad116a034f7b787f029f62b +IV = 91bf02a984be1ad34c6b3cce036f68490cd1cade8073df630de147b2b360307c4b67e6e52b1301f5e0def2fb4d0d94e5bc8304c9f4b452fc94f91a57b6962c7d98c24c90e44e61b5bfb374cd1877c49c94cb834714cd0d4b74f74bfdbb4903f7a8bb820f8f0cf80c573832cb018376b58a7877fb833132d0168139242aae279e +PT = afadbb9255d66a6f95ff6d51c7faa7a666aa7a3086506ea2d54cb59ebd6dab66 +AAD = 0c7f3d46ffdae17a455231b7712d1ed15c7b7e89 +CT = a763db22f209b7625f4aef497dd0c213fdcf9d1e0c4edf1ab4b9a1c2118557bd +Tag = 590fb155488f1fe42d9f107e + +Count = 11 +Key = 68a7280c3f285ac1742429ae139f8f06 +IV = 9882894a631a178572324268f398c88d1d6dc37839e6c911fe7b7c9e326050c2987a8e222cbf7d15375e2810656f1640f6e12a2c26f53048f673c2a991264febf3dad730cb4951f53f5c1bd7d64fa3e6de7d69f2a95e52d84e4ede7b52db238b67d99685912ec50f5a1283f6ef7875c3d74e675afb1a6f664c4489d41d19c6a1 +PT = e3a60838707313bef7d16a169733fd82f1f559d16d18343848b44756e68207ad +AAD = c4da87857e44fc5478fda90336c7164f993e0cac +CT = eb23f9b6bfa0afc690653fe94613064128c13111a37056bded830ba218fb8411 +Tag = a83cbdbd6e1f5b4aff7999c1 + +Count = 12 +Key = fc6f0e62462355009bb89a0024bd1d5a +IV = 002cb1e95154f813f249a0f22b44649b048afc241d907c47ca71406f37a1a6b117e88eba89dd97dc353d9bb6aaef66e91642947e9427698542429c92c1e46e3ab26a082cacb5781ee3b475bda53b11755c19f434c50a593c87692f28edaff6963a96b1b06f0ee4ae7e3643ac6428a5a1bef00a60f38bd76196545eaa163bd829 +PT = 3915cdfc26efd565db44f81d4a4cfd8171952c63f40bfd0efa241a994f9505db +AAD = 0fa258894965468f23847286a0c12ee51e4aeb54 +CT = 76e758ee92fb14f0d94421426ef814f0ab29bcb48bae68dc766ecc926c2c1dcd +Tag = d073f8ef30840076881c98d1 + +Count = 13 +Key = 51301c692a57108e219ddc7eb4588c5b +IV = dfbee3f661fa70e263f3ea794141cb39a3437ef04c8d27233b261ef56c3feef9de117c8257d644ed4d1324e60e1716b8c6d01febc3918c22f64f645e849fa77190c45c4e6d60caf1b899912a19b9acde95ed24e33ab46aec698343a837a156b3eefff05304dfce06c9725942cb08065f82669af67e01b6a9d37fe91d7525e1ce +PT = 8fad942cdb5728d1209bf6753d891f471161b3fb1252f412033cbf8a9292e949 +AAD = 505073626c4d34a5bd7e7ec00d389cdd791c7337 +CT = 7144a2c3c803899ca693fef648be489a9a263a7481ec11baff239faf6c8800ea +Tag = 55782374751c1fa923d671a0 + +Count = 14 +Key = a12cb274472c066e85451116a0af25be +IV = 3608807a9cea047c94bf5fc8adbb34352e3152f72c7123096993ad1e0b63eaec1eaf86096b02623d8ffa2816965879708fc46140b9817e30bca7db38a3e0d58d82f926e6987288954a067950458503883a2f195bdad069e2019ccacd424a57ae75b72121fd8fae0961bf49d380ee088fa3133c9d9475994f930d40e0ec315fb8 +PT = 704d5b096cdb22c773edcc8ab5d7a460fbe820d150640bd6a2a7dbff874df6e3 +AAD = 1fbdfd9b110898f4fa41511510a0e49b9d57b55e +CT = a97120f0393625630157a8531b1a5c38bbede00b2d4a7f89eaf97d6ae474b8be +Tag = b942f5120166225bf2e59620 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = c2d40382b048d9970dfcfe8a0d86534e +IV = 01bb58a17388370b0d781823590ebff395cdb14b7253e296fa7499e6d3e1869ef94c984fada8dfeedc83973fbf98a5e7f94c6becc75c1a7d79a59cb3bc7878543090b6a382b58de3fe460dbf59a6936bb538c2799a59fc54ca0f1d317d4d11760f26ff3a7adbcf8cbf52f3cd07497d7f5cd78b15cff517c79bcd0cb2ca11b491 +PT = 742bd7d74109fcbd405bca1140383233e171b9059266ec3d9b1724fefca41d65 +AAD = a39202174ab927b0b039f009a67c547388bb1b5e +CT = f550b9e1bf06cc26deba5fd2d77952112fc5e4b7328d694eee045a8be1176423 +Tag = 870349d4bf60d8f9 + +Count = 1 +Key = db4bbc56a215c112b946803558b43845 +IV = 6add78e5b2285d84416419aff11217fe9d05cbb1d8a0bb8db3bd85d2a86b933b4a9439d79364310b69bab5cb8d6b65e8d143e69f8fd0c108087bba3f7cb48572c4e39cec52ec9a4d082cd886cbc57e25b18339315b031bfbe341c05b502ce5e625ce33cb1cfe00265406f5a59dcd891deca8629adfa6dce6d171ecd69f73151a +PT = f3ad484ef363ec56202a7346c0f960a3b54d42a13862054f79138bd722c8b806 +AAD = 6e05c644d9c9cc8c0b444eb0f6194dfd0337e174 +CT = 045de47372498f290f663279df38ba3dc623592afcb8534dbf80ad7bae127fd8 +Tag = 24584a8bbf488070 + +Count = 2 +Key = 02839eda716dfd8ddffbc8996400fa13 +IV = 1fc77d684a30d59a82bb73b36070cefd0cc778e68f7e729361275dea006b11f881cc8f177fe3333a2bb2b2924dd478a72449688852154a4f23bd21d81af73522aa8c96a54b9c3c5222ff8d742c41684bffd72218ef1847d9690c4d07b371935e655b1231b162033561f94cf28fc7e95dfc358e13e98ea865bde2130f4c41c441 +PT = 33b8f02ac0fe5701443f5933ca164d9e45482b36dcf36f1fb9aca6504e22df3a +AAD = cf1e2df71f0ff8226db2cb30236485d21bcb2414 +CT = 8236b096b402ab68841418d33af2535790f4d7c80ab4a34cde9095e5f034b953 +Tag = 99c87d1c30e4d753 + +Count = 3 +Key = 2a3a2b2ba1c13709c7167de25d7019f5 +IV = e4dd003a1fa98d610b6886844955c74680bd053a46fb4f37c22072d54efa327aa6b576df378911e6ff8e675661440d5b4614eb995fa4ace633e0f2c09f3cc772f85e784995f018cc2646d38719da10789ba23fbefe35a6a6019cb18c4f0534816cc634cddf17f9d2fe74c3ff999b354b9e7f3724b727d7fbd9b231d75a995494 +PT = 3a1a580afdc9e427f1ddf7ba2ad6227511fa785fdd09d5637a0ee58334c4ec68 +AAD = 45cb95cf5b2f735f63c931e2b0a2caf0a0555afa +CT = 993af40565df74ee885f5c79201ddb53cd878de337d5d4432ea4e1f8647e39b9 +Tag = 177ab8aa92e63efa + +Count = 4 +Key = 3cc52c334c8d6dca66c56e5f2f6fd4f7 +IV = ec49fe99f526afcf3d1736af98dc48ba9b59c94531190f5d397dfda34c5f6e4e845b8baf2ca0cb3ce1f28ea79a66b41b80397b31417bb74602c3528986f12591c7f4add2c4b0b06a3d2b1b6541e9e3be5785bb5c9956b4deefbeda1e6fb29c4eeba68284c2301fa58eaf2a339d74cfd7140d8e3181a2348b7fb53c7b8ad9a22b +PT = d0a1aad580c9721138d3301004cfb95a140a37a9ec95c28debbbc130b6926285 +AAD = 0132b914aab5b66e68f3b6c6d80186b3663aaf5d +CT = d046dfad3f237df31a8a6a3d4a695a0232047ef52bb5befd08dc364ad1e9ae38 +Tag = 0307a23347305160 + +Count = 5 +Key = 147348eda377532dd18e819ba9c9e047 +IV = 85251db288c5159446ef5599d56e38c5c6b77a7b8af5c39be7bb028919ca69cb4d67130e66331445d351f94cf1918e945828a05a1bcb41b1611775dcb739f7d947c1270f4068904ca414406902ce2f6de45607543d31de3ca68dc8e574f82953ef7b7298b965ba7362ec38ae16363972a32fdf69f4808bcc576ab0a196488398 +PT = 5530482c3fb7a2fc86564037b5edfa804ec1c142d5bf960e4c9e59f44a2b416c +AAD = f7d1d06fac77d3a312b8cba83629f2511aae4e1a +CT = 195ec257f6d2956f22e2f0f1e64db0e053cb665aa5636b647e082878a8b7d03b +Tag = dbcc86609ede45c9 + +Count = 6 +Key = a79578bd1f259cfec4b3065bd3b3472a +IV = 37406e5dcd41e1abee08952d13844dd4171345ac352e9cf742a0a8f2621df1820c9b3835fff8be7260c8571173c0c9ffa040c95c04d8ffa4253df73b2b910c36a50c23e1a4cfbb3e56c9a2c89f7b2316fb91d0bf6198908a918f8393c822493af56bdba37c77cd9505c5b70738eddc6df6ef1209609c4788bf6bc196609f4231 +PT = 6b04d223c6c701709b95746e8ebd29b5c988cf13969c26709e8dd2b419e0429f +AAD = 1eb6aa5a60fb83a09720c731af09be32253bb442 +CT = 6c045e990a0208e54bf1f8088371b51c14c561814f1aa28caaa6ad61dcb22f2c +Tag = 2abf84a59ac8f76d + +Count = 7 +Key = 23a531a88bf946102f73345f432c1642 +IV = 238f367256655555f43b42f2552a901ed0e664a8d3d571eda304cc1fa763229bd0504a3302366c8c1e08cd0c34dbf8abbe532d79d1e6ea0e702e33a85fd3b108255649e4615b57841e0641c01e06fd37de80a9f0542352050c36873508c7405049b383d56f926d9a7ea625d684b360122c43929e71df460a9bb1e49e531bab9a +PT = 6acc9fcf08f353745aa85d14ecef25044f4648f43cfe62a100949929366c5e28 +AAD = 4491a1d579059a48278305ea42b1e23d6e9618d0 +CT = 4af222c2cceed64f732dc96ff3294ccdf02beb9bee01f45ef1dcc0143debae1c +Tag = 08e120765f19ec24 + +Count = 8 +Key = 47c47eaf72ca178bd9387e93103aaf5a +IV = 403dcd84de9ff6edb8522f824d91a56146bd0b83cd75f16f1c60c5befe2bffe97d5f226af4276f8624c447645e3cd8274d147d049c76ec60b668298c84eab10b369f9b6be20cb2362b9d440fde289bcb339dbe4fad6bf625c56a426ef604e3fa382e10a4e62cacea054ef10255cb0a92b8bc48459fdb7f06c78a41f0fd472348 +PT = 8032dd7980faf16cebe300d63c9248a797b0a92379f968e45789133edd661da6 +AAD = ecec684ace28d635116183ffa476a7624b5b9233 +CT = 974e2dee8d4f668860aa8d53679c7d3b1cc49ea7acfff432dc897206e45dc01d +Tag = fb7b9c8ea3fd6373 + +Count = 9 +Key = f66e4e984888109d322134ad2fdf0dc0 +IV = 64d1289c74d6ad31855c25fb4aba7b62fa8b434a52ee43064b32cff4e12e9db089b32e57e3a3725fa3f36312de4710fe7fde80e7f8375ff78ce6fb4e737500664d0ff4e59476405ec5f349ee06216e376e7bed38839750b42c7eaf5bc853c7b2ea20810169e199fde315da155ac73ad9274e8cf9663b5b870812e65f1b3909ca +PT = f089605190fca9c50ad6167cf7742e9f57be73c1b71468e62a56401e2bae687b +AAD = a074820dc8cd90de63eb4fa4ebcd5b8e671cba3f +CT = 3d5abe9c1bafaa3f7e41d8bb681f744188b26d74c6d39c2c2f13139458767c0b +Tag = 5b33ca7048eb050e + +Count = 10 +Key = 883bea4f5daeae8e07a85ea79f37e636 +IV = 8516cd0b54ed07c5cdda8d13844f9fef81d2ef182e3ad70e906a395c0f01b2b82ea812132954bfdce13381e38e508fec075f44ff7f82b143eba3e78eeeedc3cfa5e73b3c51aef056af556ee882cceaa2842a10f8bc73d3b30e140b5d1ec9dccd6c1789bfcc983f5e356e937ae1f6a4ea007a74a9bc7d81ce37e8e24501acfed2 +PT = 94462f6ca5d16aba38bd7a38750af8323cf3d0132767fff134160dbb18e422d2 +AAD = 400ac3f5d1e0f5e3c5bfa33484c248ac2d237680 +CT = f3b75df1038567d14b2eae5d63bcf1d60a93741f888a7fef908baab8463bedf6 +Tag = 714759d978f14718 + +Count = 11 +Key = 6ea10604de3c50e183d02b09f7918013 +IV = c1d4a701f4f77d9d93111490219f2e69d2d15408deb4dc0a35fdec65ab2be65f84c5d680d15603246c9e10d8276e028eda9bf4c2b098083fba9ac6782e223b2cfb68e365b12bcf00c3d6483405e6249363a56b62134edb080d6a32ea24badfb1fffed8069f73738306d2f1d56bc96f83dcb529946baba6c70efcbd2008f89a7c +PT = 3b1adff76d728558604f604f605f0847ed86738ef78ec35ea5a7e18a7ccd86cc +AAD = 7a11a3ce1c61b79a3bb941fa3ee988498166fe12 +CT = 8073513e2dbae8255ff07669d2a0f06a5a868b6421de55a893fb9dec43439288 +Tag = 7547a0222d1a1d6a + +Count = 12 +Key = e070c7889fdc9abd60f183b9a7c30bdd +IV = 4c7090d0e6c5d1b3070c7e6c1c48ccafff8010520ea974c8da25326b6c8731cba1f39da90445e7664eef5166916945124b15b0e899f6a13c84a5f11d49f6d1cdee9af064c07c270c1eb5534c6d0622b96495063bcec41a53dbac7110583bc23af24dc337e798b71c521ef65619cb0d6e07bf2d4dff0b8fec1e693afcce1165ff +PT = 74bb6ebcc22e1249143f7844a3d614c4c472d1a5f62baf8115db46927887a260 +AAD = 25e1dc689c02cf88f222ccf871dc4872a5015105 +CT = 0f63a14e79da7055058717df4774a10749c075f4054953fa2eff673f8d73ebc3 +Tag = 3401910621ba97a6 + +Count = 13 +Key = 7cf1ad8758fdb118adc359cf950e9605 +IV = ee3af194c7681f5aed796a92c801cccd2f56fb5df14b921186d17f1669fee5bff19aade78481b49a908eb766a53bce62c5bd0b229149ee4ae48d22590c5b6430c1cc43814b446d9355d1284705cf7fff08bb212ed99ebb8c1aa397a66f72a0f55200c4c23140ce7221a0ad18980711cb60c06ec6fdb5e9c708184137a59252ab +PT = 1a6346c78d05dd0cca07a3d1cf321ebefa551f150b512e09e3ea3d37c7f81095 +AAD = f8d9e0a4d38107d9471987f8adb41e3d12056c3e +CT = a1b247aab0e805c1a5eb389476fd7a1b8d2ec182f3276a6b7d24cbc7ae1d5d21 +Tag = cfd1ceed70c66fff + +Count = 14 +Key = 383812611372326ce6e77eb12c6af36e +IV = fd00e9986cbe00383ae07c2dfb768bf362616643fd60231744904c68044c843625bf788f66b925dc1c600cfbdaf063d75123c5bdbbd5556b450b78b28781bce320b80a0f28ad7c26a34f5d77263c99539d1a05621ff0be467e611258d4611ebc8209091e174ffac804a22d3cea953461520b1e78d9a03c099e4d0632872cd62b +PT = 4bcf57565c1b6ed39aa38d8bfe7180b376ed4b47aacafb1a3845c05830b0470c +AAD = 9faa3b36bec09179725c3c9d3e39d47d8f746cdf +CT = a41182b9d59afb29e551340cf1a2ec5d6e5cc4bab763944d91595663786e9049 +Tag = cbee527a1ecd700b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = ecaf89bdbebc2a5a56ac06591bf81494 +IV = 478e907b59c5c5f1d7d1afee9d7af2ee5396600b129c1d245ee7da4cc834b19f53a5d8e82e4448e3381d497eed8aa903a34249052be8bf62e805ad4f7c6d964154e93529945150365914190c5f928617dad5f2bcead8acb84e1b3d9316a98c689d0b6d63952a844819fa235c0afe24e54f5ffe49c20457a76a079764121b56d3 +PT = c9fdc0022b211d5e0dd67e68d0d19e9efb25ba34acf80cf36e574016a4b05aa8 +AAD = c01e168bf79fd79192e5d483b4b8ff3050a0f1d7 +CT = bc58211469b08f12e2703f09bbd3dab25c4ac794e917ad3567e4b1efc4dae9c2 +Tag = 1f1bb8ed + +Count = 1 +Key = dd9344b033cb99c0b1d4b47f51d2fa2a +IV = a21abc7027492341b4e49a6d73bebd74c7057ec0650af6316e7c729a6e8a4c0311fd80f3ec984dcd2ab71baf7cfeece0071aca2d6af9ca87968de5d59cb6411ca60ec7c5a8e90bfde39c820b6656ffcfbd28754342cd09fc828b7db3d3b752d1316e57bac63712786ff6f599421a9723d8160f9baa3bf00fd76bd8a57a4c51d5 +PT = 56147c2d6f6903e8f506c4785c13bf87007ec98ebaf99ec903ca981eff9057f9 +AAD = 18f3e34f2819cca35346fbc8fec0d382630d8f61 +CT = 4c1b5d1443577640537493e95796050bd952ae3750da7a3dd9143aeef89b6c97 +Tag = 8f345618 + +Count = 2 +Key = d74d5e353ce9dc070a5c18cb86fb3377 +IV = 960673aaa5514a8fae0ebe54f2ca0b077c44476bed0eb8df34dbf46aa5392202536a57b8ab416dae3a1f47e4088b33b0155156c166f61d59c3192648efdc71e8cea8b7665c30617eaa7dd8f2586ee2a4ad5f31a4a33c7fc5bad677c4d7a608660254eec8602c487573ef85cf0030eb86c2d6b0fe4b07ed5f35f8466846568d7a +PT = c2a30dfae7ae91e6cf967a8fed2b9ba72de5555956cdac92c47b16b905a477cd +AAD = c4dfe9c0fe5b8891b7ed5688adf8cd3ef8a68119 +CT = fcb0111a6344fd025887f640d6d7d2219cf56d4ed982561144e2efa4051fa096 +Tag = 8073ab8d + +Count = 3 +Key = e4ceb5548131a2fdfa3f013fd9fca15b +IV = 77bf7113d3548a7103b06a57c6038d570ac52589349d98237c848d53ab340ed8973e57e896fa594cebe002ab3c8b127f7701930c28560777a35f7679591f040f1f28378e0574f602368ff47c458046193ffde44a2924b882625eab8bc8c82bcbab3bfe0e5b271362e97ca623c56b7ba64f4a1e0104ab8eca6266f7ec728bc792 +PT = 4ac47e9e8fcfa2a633712020a2051904a835c1b06ce0f8e317c0a7da261f1fe5 +AAD = 0ef302b5139eea2e9b44ce74d3e299ae0c89c45c +CT = 38eaa935019e2918a402fd960eaf54c1a73388c0e6ae91ed67b261c7bda35a72 +Tag = 0dadf945 + +Count = 4 +Key = 7918d4f3625e7f273c955406a0f671fe +IV = 15c968a963d684c3f92ca1ee8949472766b73bef342217e60ccb640f228a61fd99dfbddf22988e415d60beaa99b86706281357a2f97eb4e08289aa18d5525a8cf77193c668a558846f2923c77e5d287a4a0fd6953816a4f741c12fd00e9443d0fd85c184e3545e1fdfd4fbb6978b9347c23443d6ade9dfc7a4e676338d668844 +PT = 2498cef8f997a3066ca4e1528363c8dafc09da9909f2af7cd270550b9a09a1b3 +AAD = 39816212ff3ff5b4b71866ac18d57ed6c92034a0 +CT = 514b7f2576794fcc6ad0401f1d81d7423b377a0cec1ebbdfecdcf4e39a13b2f9 +Tag = d572276f + +Count = 5 +Key = ec0f7185f65ed7a54a70fc10eb8a7a82 +IV = 48fa40753c6f31af12eb7c392d993bc7c73584166740bd571461f5cddd9146b1b9868550181935114ff7e1141e93909ea70c976d7e30eb5fd1140e5e20f9765e76d85e0299d05c4ff8851f7d84695e77e48498509f1f3aeaf52fb44bf5ba88156327a5fd61a78607fdaf0370f108bb2fd6de330bd4f36f5ebc8776b2202b8d0d +PT = 95517f48f9235df099321e6a1ca19ab4f5a0854a6bf10c2f68d8b7da3eacbd1b +AAD = f28f7f1a51628a1321480e4da1c13830a36ae15f +CT = 75ba0864d3d5a62b28aba2346946b3fb13589b5f15bc83af6925f8d48dfce49b +Tag = 977d2926 + +Count = 6 +Key = c15a39d5b83996fb99d9a0ba6e1a7ed2 +IV = 4c6b79c14e54bc3441fd86591ff8f58f53826fffda3ebff22e5c3acdd1d8c8eca55323945be2a935065d180902dc8fff3f443534b30d135862d8872e3a30f2be2bcabc172d29bb389b12d652a03d05a14fa247c45d43cb496dda56f53a1b4c0c5596fe890704519b00731d504cc944db22167a1d6f63e5a1662fdc3db6d3ffbc +PT = ff69b8ed74aed12692ef2effea20e187e5c0ace5c6fe23bb2a0d5e35e18a6edc +AAD = 01b9e4ec760a7804e7906d235e2349b444f2e2ce +CT = bd1cbc3e4b12130c44c3d45539f6116853cae37d1b235b232ac24c005ab89798 +Tag = 8b505549 + +Count = 7 +Key = e09f41c4333cbc67d24d1734ae3529b0 +IV = 7010d00ef2c6931547e5e16e72e4588333193f433a4940365c0df221144f10d7644ebfe3ff67b349629dd1c23f3a5d7f47f6102e676511ebb58c815cae01e63f3c9f5c2ddb4a8c81033f753b24f83a168744160db5cc754ff83fb204bb91dbbcf3cf0c259f2584c731f3d71fdd6a369ed23b5432126969ae3ae5e768faaf277f +PT = 6fb2266515abf3b18b658e5fd35d2d596c010129f37864559987fc4ea93562ae +AAD = 884d51593146633b82002829e6e90b6a0856955f +CT = 4335e700fca16f35152644c5d6a9ad7b6d3e8f3e014ef681b30d75868cbbfbc1 +Tag = 2ba00639 + +Count = 8 +Key = c49034a8bb3a40541ab231a820f6414a +IV = d4175df5d602e2bf5a6f5b1bd00dcf5ff99439fe59990a43fe9394dc54ba30b8a14bfa83717593e8f317bfe10eb0ccfe0d4bf1f80a357d55dd8722b2fe88c5b124077202e6fc9b57d8faa81cf54b66cecf5a853f7d6d82c060cc97e69e8a78b92182b9b1b4df72592ba5bb80df1ef3d2c9bc5287f3847d57faca3a48eb79821a +PT = 230cb69bce28bb0f8bc03e8ce71efc2ba9a4bf69c4240e61f1c52aa75268e51e +AAD = 2f5bd09e5f1b7638b4a8b51efc6081ac99c9852a +CT = d3b68a948f72fbd6c95f44055c2560fe0dd2863935914312c60bd9682419e106 +Tag = 20d08d12 + +Count = 9 +Key = fc2a89bb5cdfa767bd4735a46876b6df +IV = ff22b329efe0161eccb64d7c346845f741f80350e8d66eb7247c6125040ee12755d8c7b6bae232db66001b43643f5814c373e202dcb77da62a40b695f38ec681a1c9184a815430433a703b780c0632d0b524b11681aa6fd076dda5cbd58522f6a82a11cd97bd82bc50d4ce251fac253ae09ece32cad969f2ae8f2283db5873da +PT = b7e0cad7b87f22dcc5bdee166d01b39c242f8bddf6471fc564f8d776e9c48b76 +AAD = e7b8efd6c06e3197cd7a71d0958936911a8bdc31 +CT = 665b9204b02081ab428e9c5309955c7d993439dd61309ab9a17be92633ce12b9 +Tag = 46183277 + +Count = 10 +Key = 18f4041368712ca3b9b149af2feb5d06 +IV = 700ceebc05478bb37e79a3ceeddbcd821b5d41bbff507eb0f06e31edabbee8ef3964bf1e7054ef92317483743efd64076bf69cce52fa366818e7371edd63384dace542fa977b0ed74a78ac3b3ad997a8d37e8603ba858e6b5a0475fbd8411205341bba8d331f5e2bd24a7368def7f85556a8aadea38149a48c85afc3c8328657 +PT = ccc083d7aa8fff4c80cadbdbdfe494b6cac538940b0871107c5b91c77e3b1f7f +AAD = c8eae1d4f7300c72452010a3f9090c82a10a432f +CT = b274d69b8ac1197ae3d84643633aff9e911c259ca780081184cdc139a5d320b9 +Tag = d10415d5 + +Count = 11 +Key = 9d83d12e459f85a49ea008b46bf119be +IV = 53ec1fe78b0fb65742952148b73c618e49b7e70f46da2d15bc4a94dd82d6b61736ec7f1e2686aee8aaecef726e1d231e77f055df13a450c8b8dacfc19918d43aca0242472ec124b76b6b98b68decaafffb1497112ac4607731b6f01e354049c8a33845017fbde1e26a8d8b35170a5faf34f4681aa6f1b51bde9e944e8be1e09e +PT = 4bfdce40193858ac3c0810c8a4f0017bdc995b441be477955921ce20ae1a9340 +AAD = 9e603c92bf1e65cdfc5f4e5be47f6d560cf8c454 +CT = b6a9cef2e9f294828e01e33b1eb33328d167589fb7bb87a6498893ada8eebe67 +Tag = f2f48abf + +Count = 12 +Key = 9af618dfeac33de65607b41db7cd1adb +IV = 9b5ce401dbd5f9244664b8dab7cc8b36cf718bd6eaa4ec2d0b9736568ea84ec2461ee9ab566689a868044872649d179f4a0097b478f7531929ab625135d48146c5da933082dd4c940ad6209ad511416e0e3deea19e38ce0d7d3960682cf0d33c8eeca0c0dfdaffa5919c597c6c51ca04182b495f99d3fc751226b113243140a6 +PT = af13625cc9e136fe38d021ab22888dcf46f599e09f7fdfab4d1b0e522f99fe8b +AAD = 825e0311e5500cdf459514fdc3864e7475b9a3ab +CT = 77ac4cd22ee5df5dca682952add3727525917b6373f18cfc1f1e29fbead8ce6d +Tag = 7c3689ff + +Count = 13 +Key = 8f69e76ca6fc0372d0dfadf74311fd76 +IV = 10082705a6d32a797af5f5c7cfd5ac8a69e159de3e420ded26f795013ccad3f0bc2135c509077b7a628e27a849ed770a27dae4ecfbe293b5ba0be7abbeb4a9fabfbc1b69f5fcebe350aefecd066185abbd5ef4218b487614fac4fa9a4c8094b6c9446ae21cd1edf57ccbf4f72985a257dd8830babb1d920426bca836e9ccbf43 +PT = ec3c2cc4c82f79bead1520bd54cc434213e634dde452fa8513f2a18c0347a1e5 +AAD = 68cfeadd9efe7f63ad7ae90dccbab56452ac6968 +CT = 57aa9eebbaddae0e1375c79179429f4479b9953f4c17d9feff97be13c709bc50 +Tag = 66d9d18a + +Count = 14 +Key = 89df68ac1942d1b995048dc42d5684b3 +IV = aa2858a78b045bb4d53dcf46feaad54a871cb338cd4f8a711d6c72b47ef63e120e4c5e4af1b926c451fadcd4da5358babe5fffd8e0432d097821b0d03db2182865dbedfb5a7e53fe87fd71ba27ca2a8c520efa75f97c1ab88e3c067a37a1cca4118e88019a07e3307f90ec101ef8b528aaf9663cf664d344bae4f0fa7d632fd2 +PT = 92da90f9e43d37c1b63e70e688e2175de66e23f632cef27833a46416709273b4 +AAD = 21a817b4111e7f1394f961a32f16e78fc3b5aa39 +CT = 18fff1fd0bd74ca787adb5522298fc08fd4452711159004e65edb872bcc35640 +Tag = 9f060473 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = e5f537055daeb4f4d72be9e0951a3ed4 +IV = 282dc76630ab4d24586fc163dc1edbd4b88ee447d525cd1971e5940177834a057fda1ee18bca23473bac4f46715ae6f07fb2ea141f3c73df732eaa9a2fb587e0fb9d8a7cbb8a0ad527e75180ebdb287316a9dd196979e75268ecd0bd35da4ed17385fa76add170a388377e41103c93c83e467814d26adf54ebe2fea0a4770504 +PT = 3dd60cfeb2ad20482440380dd4d29a014c4e401b849b3003820a94b784fbdcf9 +AAD = 3a315586b9ddcfeddf85b69c489adff8b256e3e80dd7f48183f03911cf8a192c7242129408636410d7b51bcd5ddb18d4 +CT = 3cbfe122fbd796175f19c24fe893f0c3da03b406c1da6b1fb4b584c460b77f33 +Tag = 65de25a09a8e73accbd5d7bb68f1654c + +Count = 1 +Key = 94e9918ceea46563d822993f512019e6 +IV = 7166a0d4690b745fc47107b6d45b2f5664f3bf32d6fabe85613680c634569c42b4fff722fe0a6a9d29747df7e3fa925724dbac72ee07ca6968ea96809d07eff3b4a4fd3bebe70c04b7664d14409e8b3a0055fae79f611d9f0c44b0cdd3018fc6f1ce3c0e4ba9feee967d4f24d0969b6eadfb89ee48902929d7525e5fae84ba22 +PT = 8df29c59816e3351500f04b7056f832ec6e31346d716d1621a0efd2aa0585eb1 +AAD = 1355d3e89f257829d0ca8a5a4a2ee2e6573f0da07a61351c0a204c9ab4ec077b8b177fe0bab9943855a65f819c5f4ddb +CT = 59e25d3963b588e9fbc6e7abcc08874e745cfa419d765d65f30ea7aff5e1c53b +Tag = e7071662e03cd15a73e52e4e3ed33580 + +Count = 2 +Key = 63c7db3e165add2fcc0b6a24d45a5b7f +IV = dcc777ffcdefbab810430c3b155213d9be10ecd6f3bbb547d470004aaeb971b0f3b4ee237fcd869ba9c499afd29a5c2aacea1ab03cc0ff64fb2c1ce2b6cd5e8e8317871aea5346a221b5a4885d7d0d077eb9f6e53aabe39fb38d9d9c3d4c44b8cfc4ffea3882e16a5d99ae49d53c30f3812269592ffb942491bb34916e999349 +PT = cd6e13cfdc865507e667efdeb8af81a37e84d01f3d4737d7ab71d007e2645ee2 +AAD = 4143647b29e46485a9384b00311c6786931581ee655412bd0c3713bfc064ead87fdb5a5562bd847f53b8485d42ab3bc9 +CT = 9632044a9a38b95307ebd042a8ef9d85bf2feca41c917eb0817117c4248793e5 +Tag = 9674d2d40fa9c8f94757d7b23a16433e + +Count = 3 +Key = 45934802dce24041b85fb53fae5fd73a +IV = b12ad12af186189b43bbc66c5f335034fbcceb8bc991b6451adb1c9f09d0ef9063b63f1becf0fd2042ae0633eb4802c729dae0aa4fd4da4b3514694055b618c6ec84240643fb0708e58aee3c2f254849103f03491fd35b466cca93b475b2cd0885e7f4c63a71bfcf1794f8f1315890f71e47ee001203c69d7471aa68098ccd32 +PT = 53b3b216aa1597fc13e3784b8a2d4382c079fac501d061572ac53cf13a0dfaa6 +AAD = 0894afc9060d9ee1614a43af16e26a55e6868d1c63696621ac26459d4038426f2ca34b546332bd5ed55600bc8bcf4e57 +CT = f41973a1849c09bcd1ecaa0b09d32ffa249cd8d0f3cf7305ec474aa7cb90b3ea +Tag = b037e739a3263387e4081c8d56b65a71 + +Count = 4 +Key = 54711eb4e630f10cd400795f61cc2b83 +IV = 8d21c81df50c0cce9d7e190f96ef48df88f196ffc5f7388e28208cef6cd9fe96bfc9b216fa28708324e2b214ca0afb1b13ae5aab5db95f3d5eda75618a0be9cf4a9e7c920d45bad3e26e6e44a50369f69a04e18844b9ad0e87fa5b03fd0e9c93d7faf4de4b85dcc3996d9efb05a19e05ea70a21343acae81100fc18838541797 +PT = 21d66827ab10acd9a9e367c12691fd62b514af3d5953099cbb35cb0ec0d2e62f +AAD = 303b313077cd12b9c10b3aa1299eb2b9ca89650b981c5fac18f8d61e125da84e46af5005190c45a0b1cefd56cf60a3b4 +CT = eb18df1eef90fa3afaa25f7ac4df8213cc1004dffe3d6017fc961a9111ea44e7 +Tag = 0c090eccf4f7c56c19ab0a6c19a42872 + +Count = 5 +Key = 402b3d2be0f28f2f8364f9abffaeea86 +IV = 2cf445fe0e793b00a87271c4fed400050f4f4534a6dd91bb946bd6fc167b25ddc1ec171d1b829d22862b887da1151f7bb4383c8a6091e4ffc1ca238255b6d47f9eeb812764a20b2d975a85657854613040e59af62269375c278872633c3fe1e695e22237308ea87b745e8178ce7cf3448b9b99c9e8e00845cd8638b7c8c9f61c +PT = 547bbd81af5db799c243ad08cdb7ba01d79c7cf1625d9482caf90c2ffa414652 +AAD = 9810c6a92fa4d3dca78b1fdc5b967ee5d55079ebed1ed8ccb4b41c10c98dce37687c29bf385fc6a023b55073cddd6896 +CT = 70178913794104a57e498028e42cf64d3cd4ce7a69d64d23c8c4594e7e4408ef +Tag = b69cd65b1aec81055b1cd5119a8bf95a + +Count = 6 +Key = f3c31556f71a125715362917f0695a4e +IV = 969e7032ec17e8d2689e961675b403b6f519b36f56a8fc647e3824e2ba6cb3d374d2b6f150c8500b825cb7c11910c479be7f0c09c305adaae226900db531e5294239c65e83e37da6bc1a9c4990a21b87a6c337c4af620aebce24a6f383e39be4c8efe46ab2fd39989b4fe834ac2e183c63bc1f8f02178fdbcb5581e519c6bb4a +PT = f69056d82d7c4a276be1925c69bc87f9b827fc59b8a902b1e489f72c60188a42 +AAD = 711ac6ae09b3e073bc98d3e9125ff018c13d22d741ec9a08c96420eccc36aa464301c6d6f8d7a337db5b62e391536c6d +CT = 9b2ba5654e95250577eddce01bcfb6477658e930f9d65c34727d3780cc8502ef +Tag = 9167ea69ed25d2ea11dd515446c3454d + +Count = 7 +Key = 9bbb6af36adb976f6ac08c354c90a336 +IV = da8cbf0753bfbedd425e8161cd25f223b9a6678610ff68f52684843e1976b846f541384f197b4173f2a03ebd1c6c0e03135fac2928358c581ddfddc838c79fef5dc66a298e48017edc8f5b0774ca3296bc4645004c34fef019d0cba410da8fc2cdb5dde5e8e54ee530dd301b37aaa98328dfe73c4d6fc2235df2afa1d2f2ee8e +PT = 79cb41bb0d7f464c3b6bca090baeda5e8c1ed69d9ca58a93748caf4a704fd30d +AAD = 7a1c2c877c9178f4e56fd51ee432aebba2346cc69b5483bb45ceecd5807339c53bb926ba03e2b14e2b0fc4054ed85067 +CT = 2223b6a70d3bf7cdbb0154cce4bc4221b7022162b688425a014c82f09f820505 +Tag = b2805b685fd0d43b840590fc944c654f + +Count = 8 +Key = 4e5379de94d9377ce755a138f7b346a9 +IV = 7a5bbdc7edc27e2a4dc300488520ce6b169fa156069daeba0a057d334a89f3edac328f874e259ceee6aff26b9b8000cbf3c91cbf18a8fa6804c9bc40fd919d353510ca4590dd6a19a7d5a510d11ff7443a92d70b88457d3538aaea6fb6193333b00b1f3e1bf2f0a709baea369510e0a99b17c12f459cd96f5ec17f80cd4aa256 +PT = aa4bb2f87c199ef4d3fe092a31d83a9bf40cc3369e0729016d937e22051f2476 +AAD = c0db06860caedd0e3c7331d49350159e5d86e22c09dae1beedf00695973dbc3220bc64c9732c3c6d201fe43ae18245d0 +CT = 18660fb02313104bca3df961dd297ccaf3256adc242743842535428aaebc86b6 +Tag = 3c9ccca04ce8d3aedf88fcf890820256 + +Count = 9 +Key = 212b768119d585420544e58b37e70afd +IV = 76427dac990e1fb19852d3d140b94ac09d64fcf82b1ddd31649e393fe7a6027eac3102bbadb1da28d8f8d505ad5b3c1f534a0b1e98813f6e894c559641cad08367624fa719f046d21e22cbd915cf1a7991d8bfee0c8d4fdb63b45cc0fa28ff1139c77d1139d2f34eb20e384b5cf7cd9cb5147b3d05f0dea56c8dae76b42bd5a2 +PT = 68351fd01206e465c5d5a8501b27817ff99e3263c5c88245cb42f7fd61c3910c +AAD = a9862bbb1f4f7bab5bff6ba8b0eea61554d4dbc60638b0c33f527fb741af8ce15436ba2e8df46de99957431e0966a4b3 +CT = 2f1d716514c63785f5dd2732e7a48d610bb724f5e6aeb1f121b980859f4a637b +Tag = 45a344dc7b4ec502adaeade7af3f7601 + +Count = 10 +Key = 38b06c420b8ce37dc34b3da2a266a040 +IV = adf7ba7cedc8deac4f0e322ac56cef292752ec0632963d70d5fcf2bb72424cc5b647c90751185f3de4e9d6eeb6b45ffd33eea3e6be314c936f24329e26758f4036d1d90e3b11adb026768f3e47cdb5f706279b55b2623622507e00258eb81b4dee9e928d410c5a0e9e575c4b1c1242bfbb32eaaab27f84ba6498592c80dfcbcf +PT = a70d3165093db93037d4b1a7a3b21fee295da3a2c967920ce4aeda7392d4cca4 +AAD = bf0c98203892f0795a2b75c87f1be824679e0d3615d456fbda36089dce43dfb6e1d3dc0f82413d87e80bd62768537523 +CT = 564c646975c3c565e125fd49c337a1a0c4ca93f3645cb9e2673bc0e323eff612 +Tag = d74db0d207fb62a073c7480d9c4cb520 + +Count = 11 +Key = 060da1ad7d1de8a9daa8c5ff1a8c2773 +IV = 645642b0dca311caeff55937c68bf29de7960758e48299fb05b4b7c40fde8f53644eca270c612924850182f06a0da648c2c6e037811b530ae66b8339d96fd75f8ccbf4ae509db2d73a471bc674a8ab0285a983f75e104aef537228a5b97340111a01f0771fda790597eac96e710ab37c2b77f5750f8a48ea927b76a0c622abd0 +PT = 4478bd88f2a859a4b88bb84413fa34647301e766e38ce7b79cd6c7ed741f7c05 +AAD = 1cc1c9c5f780f753b69160befc4d7584b7c6fa70552ad2db36accff1f0c7d18d0b2193a63a7d3df2c2a07b4be2f03225 +CT = 3f7f1f028ec784451e4cc4046f1e0d574e5fa5e0d26f02d4e2ed11245ffb9db5 +Tag = b1c2b1545b3a6da55b488d7cb64bae3a + +Count = 12 +Key = 87962ac6f0a39aafc33d6edc2833e69d +IV = 413ac73410d4daeb18d0af9f5cebcb430536881e73ab2fce343a3a42205e93aa6d27ff718bb7f81d20c6cfb626a71ba189b0210d38038d258fb0ad81aadc1fbcc04cf9edb4d87f1e27dd9020605a18f3af2476be916d5a1537f2c89792eecdb405f432a15f19f60d52c99e7c7ee67e88d25347fffe7529e1a19bf7d7e5dfedd5 +PT = edc49523d1d333381a0781e354d3e2d686683bc1afe2ca9bc10349f0ea090762 +AAD = 868a1897dd55cbbe6e2bdab32d3e472c02c4d00c6ad8d4e18e4665ce8898e604ee6d90b2b6ce61320a1e89e89415b7ef +CT = e74235ae8c89aa92497ce2a99d5dad7d270c87dc4733954f50363b8e6829f09b +Tag = 8ddb9c60e60e85d3e94d1b3b12c52bbe + +Count = 13 +Key = ce7875a8cab4ea295849208c6c2d7f7c +IV = e4b4e19f28fb7e02409d7e33762ad0e7baa2e0cf0cd0b94226323a156902d7cb0cdd34dc367148649615a672518957f097195981e48dbbf3cab70106a63c47e3f46bc2dd9826959aa37ab74443eeb2bb270092d08636f2227cf396e2a7d4c68f87c18afbdbcfe6d6a7aca4fa5199e0ca6aa1f771279dd59a0d63d200c8830da5 +PT = 82cf71cc4461f3dc5c718f95beaf20eba2fd2ece008ce44224b1fccd8b4bd4a0 +AAD = 4859c60e23a9a0597a764a9f883dfb603a32e1891b2e45548d7d47e9c25fa9a9c9b3017d86c0b74ea490aada314f14f1 +CT = 9e3ffa8a9e80b7e25a1a3275d01ecba656d1ac4cd1f0a672725c23250ba8b973 +Tag = 4357a2765c6e21ded004e596bdc15d15 + +Count = 14 +Key = 8c6eccf721a7ea09d106b1aac5d7cf7f +IV = 1a2052bb5b2944ae854e1909fe8a698588685fa1b045afa6e5f329cae1fdf53d3d99f700b051b88cf99680240681f94315179e58b11c3e2fbd5a49328ff98cb119264267075c9f32774805eb06806c5097d43b3455bcb639cdf9dbb8a7e337769d9c30dd43ac2a5bd6f88a3e76aa985a1ef55e86d184ebbfac946c4e40481059 +PT = 4353d2c60ef4399813e939c41e486c59d014da53eee1591d5b930a2e5ba9d6cb +AAD = 8cc7b28d6e93859d1d24374ed8c7ee3a11ca9cf1d009009be9f74f72ee20d426e7d7e1df024c7da57bd0342a13608fb7 +CT = 8d1e8c65492caa8237e9f2d3692385c6099cdaaec94d170991fe8394d7974e55 +Tag = 0c87529fb94f9e6d7c6d46d8c5d66f4e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = 82f13a07cc262be514f09b86dcbd4f0a +IV = ce8fa8fc5120aca0484993f797bc3957e9042093e3a4bc007ed070b6ba034ee6133b2b4c5cd752ad2a24daabc600835b47150f48cb481332fe353571b988538e0cd03b67108022ea7dae6f74a902b1d44c51fa1b74f941ff305042b68992205ce944902e9ae255608338ce9797f6e190340abcc6341e2616c9bb283b247616cc +PT = d8b5ed8e6ba8fa7b75d40e05959bf16af494773cc415680aec3f91635d9a7b0a +AAD = dbf88b65eea76bcd5a9c83b69f743fb88a3c2f3bd57fdb5943ac3e54e094281e980c48ea5b2d4dd6923055ad21f2e036 +CT = f0ee12da9e7bdf44d6bb74e2d2767cecd262126638cf9611ec68e614c9d8b104 +Tag = 97df2cb3aeb0b81e9e9650add68cfe + +Count = 1 +Key = d8b2402b4f19dc743d07ed1272fcc0a4 +IV = d497336b98499985529a0180f87d54955802c3e988332e8d83eba0bc1bc1622ca57c0cdba8312952909a094e3c108a8d5a52028eebe1ae9155ef732070716e57d2f5ae3eafd9088aef642f8d9423d1bdc27c9f0a39c486d419e59936199b34893afbf748b5b4da8f6d7924f8e9617f3dff072be069c3a527ce3cc85b882d53b9 +PT = 740fbd38403398057d436f4a901e494f236dd9c279fdd9ab75076ededd67b04b +AAD = 070cf5c6c117234c0930a0798f8e3c5ed7a6991160dbab83a59249b46b7331f4f3e8c012b99cbcfdaae75d7f0327b1f4 +CT = b108b437287a27bd57aa3f1746064ec7f96d5f1210f320580d0e184362298e12 +Tag = 24dfd843a552bd9f67f7420e53d054 + +Count = 2 +Key = 694e3f3891a94b771469387173507d3d +IV = 93d2829ecd351ef04c101f5ef7104a4e07d8ec0879342d635faae0f60902dcc633f2ae990419c5f15f70b66a0950454fd5a5da86961e33ea5abfb1c148d474defd68a5c7ce3e25044d23bd758144e54179e36485622134943ade929ea3674ec93f2090fe8a680af18f0d6891fdf287d64d2e7e69004246018492d955ecc841e8 +PT = db005d7a731358e829073bd64a9bce429da2482085f42a509f780d86cf912536 +AAD = 2c7c449c195beae3510f973ca1bd070783a8b02719b93cff4cb7e8714d2437a9230b4cfe1c0faf5f4d45192210b5ec82 +CT = 0c3e180c246d80033b4c757d18aa39f6f2bcc45baa8cbeb1924290c31cd55548 +Tag = 5acdebe1a55aabc9c20d3e8aa7160b + +Count = 3 +Key = ec05f0162f7e894b8acc5fd0fa7a910f +IV = 731a50de983110a6c4a347c18b27e559f812ca1f0ead0f7b6e8f54bd18aadafdf2c53e6c09c25a00dee1637ea13a670c4262d8bbcb53c578b15d19a4630166ea1ee191a4b9f0dd98549b6e54f6f079de719fac4bdeeebffa6b8ce130ad17f078792c1a08d17531150091cb3659af2fd20f618e3fd730ceec653661d8905f8722 +PT = e64c4b0d25b7fa64f26c8b3198eabf30cb1683c72994320bc8e51ea671ef1954 +AAD = 6966d2813841049e583718f845451a86429364d67b51a675005cfe6aa911ab2344619793b8f2ba1c91d27866747c56ec +CT = 7301a4a6ed07f8351fe1e283eb1a4262c921bd29086b60a359b8c545b55e57f5 +Tag = 789698d971e708c596115b2c711a2b + +Count = 4 +Key = d4bfef6a314a0835ee1e65a20acc295f +IV = 894d3faf8aa860435fe1d65b480967ba711ff8dc36896ccae8c6c17747444b44a557eb16f043c8947d03f70089322e55d98c83cdcd59abe19df5be422af83f0ec0fb777af12e170e68fee03d065561c484b383ade62ca107c09246c1d5a8b83ad551507ee22818c717ea440f36677d80bfd21936f5d69b1162d72599541b6e78 +PT = 21e82223cf9bcac58b9dd076cc9b1444b3e847c63aeca323a7fc8a5ded2bf344 +AAD = 60129e9d475eddcb8bfed979dfa80c4e404d5d43a3d8438ac6b59eb4c117e98497d9f823db6803b804dee2f6ef858cb9 +CT = 69f3fc1b30107791ff69b7c8195a1e1c009189afe9e3fe63bbd83926b52ba53d +Tag = 1232b1285ea474429ced6d5bb18385 + +Count = 5 +Key = b31fd9ed078c553ab2c42c69833e5e96 +IV = 5f85274be2514139be4bb5cf3204f5e79987f2c233b745ead19c9e58113507fa01f0353da5c885760f2d8839b6381e06fa682f6d22219cd4b4a3c83b7b6c08526bd0237e1602f5725b21096265ffcef1077a1edaf3042313fb6d9e7c7bde2ae3ab5835191adf91e6cac4bb2b71c99adad2381070f4a1a2deae2c60b957b1a7d9 +PT = ebcf07f3656e3c930d3d44d806129bf5861de8130409b6f423eaa11f11917280 +AAD = eb8530f6d85f86458250eaa9c72651e01e30295f1433779608e3d54817207f82f64c22bc54b6151d4ffd8be070aff92f +CT = a9ed8ab1cafb2b3a2e9878ddb4722baddbd84d924d9bb7bc4e66402451558364 +Tag = c2ad9263d32c4e3863e7fa9b5ce649 + +Count = 6 +Key = 2759f1084b21e40d9cfb6aa9914c878d +IV = c2d21fedc6b2c2712f21886c1ee59e1d304f3c52c5657ceb3dc3434468ae105a3c1f8d271263c65e36ab7a2652fbf43223cdb69b81bf2ff10f353d4cce7ce6748017f1b79fa2705fe10a7df25e10bb447723f4a7760e3323ae47265b2185989498809d1aa10aa0e2a619a511f761f4db25c41309a5945b65a72c741e955bb725 +PT = 94b58aa8b4a400b30ef71ce588d2dbe98fb08e12ed3508d586034b8644c7f1bb +AAD = 732c4a8a33cfd80d8cc0eb13f2bf309fb8f39ade3983580817eafef610c963f2cadc64770850d2c6d5d5a958c5ee9c2b +CT = d1c5dae77e31dbf63f671ecebb7b23c288a53d6f3087705777b3bde937193e3d +Tag = 14915f3c0dfa7e03f5cfcfa4a28a1a + +Count = 7 +Key = d79be8a8e11e416511d70a18ffc731dc +IV = c5c9cd0467224ca2268eca6fd64ad2fdc25625f4ef6edadc665c93b6e7995868f71b432681b7e5926add11ca4cf0e5ddbaabd0829e825b906936dafd3b3eb3c66ca4ae320966a42719428ed7d82da93db8990d1bcec893bdff7fd9a972c0f8e5b2cffcc6a7a81457724e64b7b090eb761696cd196dbc463bc458bad4d6e5f247 +PT = b2b1a2abcea6e70f734392afc746fdc42ad91bdb52125a8df880e9e8d2886b08 +AAD = 4b5f244f0351d0ae8e43f912216ad6ca81a3978144e7a57402558f32c7b42766dfc32a0868a6ae377711c193c0038ded +CT = fbf09f47d33d4dc274191e023802779b8fe8726277bc055fa1cd5b845bbffe14 +Tag = beeb0bad951f4eebdefea7ea6e28c9 + +Count = 8 +Key = 921121272ffa67d0f2763a757e3829f9 +IV = 18382cc1126086e1dd8543d1ace0c8f81ba4ad106fe8fa701b743cabaa5e62e3d8c33ad68588afa11028287c29907e3f114fbb38303894b0fa5b76407c18ce6e58e0291a725291c1513f90b83ceaecb7c5bab407fcc0ca42a0f7576baf5cbacc45993cb6886c514b654cbcf456f961453d176ec656d271a043fcea072dfc7f2e +PT = 5cd9c24f8c3213bf0d854927889a12ea057d16a6f7a391ddbe1b43355262d9de +AAD = 027edf75540cc22c5b12d3ad1026b98546190718ce2a1ce86d3d2ae5284c02c0b1fdc09f2b4e01330c8fdfeea93850bc +CT = e40d909126f4902167a0dd436bbe5805b8b939a8169eb6b1e4116cf7f7a2aad5 +Tag = 9eef04a5ffef79e67ab24f9b26cac2 + +Count = 9 +Key = f5bfafdf1ec9cc241e6e519f2ecf758a +IV = 5d4633ccc9efe7e8eb563595aa34b68152489c7edcd436833573016d12859fad93e151f64a8b59ed782ea19942d194095463211e939bfb6615504b18be69f50a6e9bf74b9278fd654f3c71cd25d4e819be61f98467f59b57b9023025684aaa953e1f366240360cd7a4c6da9ba374176ea8fc8224e86e0043e8cc1b15a04358a0 +PT = 5057a8deaefbd55062b7e8c619bb856a3d1dcb65862d9b00ec6888a168e2e264 +AAD = 7e56d9a9116231748364132211b410ee7e25057cd7b245f44cc55bd0c6da00fea7451fabe4263e0706b9abe484feeb09 +CT = 901c877d5cb68169d7dfe4a8a222616c3488aca2b8bd080a86986ab6c2a44ad8 +Tag = 3381ad31070c155fd5f654f83f58f4 + +Count = 10 +Key = 5c943d72beafcc170f2b7e49c100d45e +IV = 0f2857681714f696ddf1f7bbf5b603123179c6e8e826c59dfc43db10be3ffb7fcf09c632b3b599bc8815066d40e535edb748c238d010219f30a4864ae108d87892bc304af43c1a25f510dbb65668984bfe572ffa01aadd10673138718c78bb31d5281bf85f05a0941c13d974d507705ed0dfe4048d0199454c2fbeb2fe6c2e3c +PT = 1c6c0c61d3cfcffd1baa3daf54c318fedd44c90feee6c0f15a86239ed65d07a3 +AAD = 986eb7bcf590527074ea76a1cb7c2d64eb08d2dd741a1febc3992dd001071d2e8ffd438ceed0fb194345caf11130e544 +CT = 27abb33925e816aaaa7ccfb166eae5bc1f71b8ec2acec43ba59e483f6e94e8dc +Tag = d5509ac476a7dbba5a0cb96dde5bec + +Count = 11 +Key = 510ced6f876978c508a12d4ffffe27c3 +IV = ae96d5c04c59a3bf9f54ff754e86fcec96eaafd5c80200e31f6329fc6c524abb7b8145ce70aa958699b61c290eb7e2f5612769b4de402f5d9a4efd2a833a9220d1c38565e7eb5356c582e00f0b62a79b764057effceb3c2c111843f9b1135c2e7b4ccdfca50d20639f5d8387dbe9f91ed9742684b7babaa018891d45b8c934f8 +PT = f6b21fe4bf6af915e652ff2382af0ce4ffe9814443af790a6b941c22a16fa5ce +AAD = 0933b10a8e39513f1c45875b19d35284b2b59b67925798cc33f6282b1261599fd509b8335d3b803fb79abf13df925f35 +CT = 127a7b2da5fb39ca8cb5d5b147a91a28a839f9ba80ab69d39b8775d657f8de5a +Tag = 345742fe80449eaf786f980340b880 + +Count = 12 +Key = c04aaa19ef6733c92aa97db856f92996 +IV = 0d1c07332ee41ab68907b96aea5ce54c9ba11c2513413210827cccbf937fce591c3e9fe4f4986b4f45d7ce4c76c6cbbc49077bb3132475433a909b34c10eb44d591494a71cf4ee430e51e3cca3c3be2cbdf1e3319f04d46466c72058188385a899ee47c40055d4ef7191804b94398102c0954623b8a0d283cb19e4a2a34a957b +PT = d9b393b9c6e206a422b9f837dbd4af82071a57e568d7f0a78ea7054597433b04 +AAD = 38812e0d657b95132d6e3179582e668ff38bd7fac4db7a0f2bfed8565994d3c9414ccc55c3c82d49adf65ccd4df8e091 +CT = a8dfe0f244648c912415c643d012a2dbef0ddc7eb5d0c55402ab29f2cc3611c8 +Tag = 5e42fec4c1ebbec4904e59d67cd666 + +Count = 13 +Key = f30351877a185dcb24d8d38a7da46174 +IV = f268b21e23bc9f8290b03ccdc17667d7353e4ba97190173354dba303b9667a7a5e29a556ce4294612d53afe111d091c8abce1c9c089ac692e9e628c92799e38059690232b4ad2529a9377d5535aeb3157e6ceb5cbd5bb7f1095c050c2ba4688f5ce48891f99f0a74dd27e04c6254a519f0b201ed9cee3900cdf5c8262c52fe95 +PT = f86a322fb12ac9368b59d5c7903b31ac49c7cec2700300fe95f291c21f8c59f9 +AAD = 35797b853e317a2bc4c9e59876fccf26398521c0d2865b8438107b0eeb0dddd8c35e99ee04e02ab2d1cc03547923678d +CT = 15b4a0b73e82c883304222e90366e69f65e322edf4ff3e96eb709027a97de294 +Tag = a03ec6cf6894e8b9b6138a321324f8 + +Count = 14 +Key = cd0fc89cc4ad8585bb755aa5a0692b8b +IV = 4726d85924a9cfd71e720ec75a8c16443ea18ca80dedb593549e554fde5edf5542a35806a608c77bf1ce03583bc60ae6b52e28d1ff88019ee0034ba6bc9466bf03cbbfb7a9f15edaf444eec332555241a8283f3bf89eed4fbb26d71a708832d3a36ab25a62f9bddd939e7a711550a594bb2fc220582e925c1b693ad8d2e62489 +PT = cbd0cf1cea5c370d68fafabdd0221b6041012b40a0c230b26bf5393c4e884e94 +AAD = 55be4c2b6098efb96ce321bbf45a44db1eaa082500943a337925ae3278cdf0583ebd7523426b2d4b9ca38ce58f94d527 +CT = b3749108e37add1cf46d5db62b48a0cd779658f1525c5533185ce20e004fed0b +Tag = a62e6762b635155c5eb0f05ebdbb89 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 8603efd3d01d59bd4e09ee1a7422fd56 +IV = b6ca2cbf4c80da59ce12ff5a657555ec771dd42e606915570c0e0fe94d92b0e6638fc38bb90144f0c76be134994f5e0b55c9b5d1f4f1a4ea2536c582010008e2ce9ab4caa63574964b813bd276e0220629c1702df8c42f272281c40e513253d346f65c3ff172d1947c5b90207b48f1bd2d8f235c3b81f945fc62bbf1e24870a8 +PT = 6c4d08a62b175a5504afa953965789a51993d44c9e3e7a412211730382bda171 +AAD = 5dffbf7e3f93b8e4281a1f134fcf072d1b3c63d7a4e60816d0667033b5fecd0d6450b0d817db6284c5f2f34e00a32cc8 +CT = a76fccd804d6fdb1274207e10cd1582937da07f5eb23394345a956c04e4ba96d +Tag = 4cb9f64b498f6fa396d91dfa99a9 + +Count = 1 +Key = 75a984676255e617aa20710cd25d4710 +IV = 82242463a0900b707c6756fa62c0593db67e8af92817d12ff81d97f6ca2b30f38de16a156693cb05b86a7ac785b91bfb05309d1840c9a0a12287e97074d88391044a49cea1879358d704c2f1e4bef41cb90fed7d9c9d70cbe1854500efc0d9a0d894988d0c410f3082f268d54fb3b5ddcdc3be915d253f84094853f405763bba +PT = 46b4a0a525d4447a805135358a195062ffa6edcc386bf7e4f86b22777a03f187 +AAD = 9db4584e5f35d2476ccc7674aab477b3840b043ddd336c328f1e23e8f5e0ad1017d6e12075c35054f08511c4f6f561d8 +CT = dbf84be2d8e54e5d3db1edef84d9d8ed6681050ad03384320279ed4e31879252 +Tag = 301648b0b8ad04afc6202bac74ca + +Count = 2 +Key = 5b8b98c1e2bd7ddffb3d9ce573cb4678 +IV = 6665c10374b1b7ad391020eb977c47b25c03bdb13977918a91e6630296c0e660544a17ec729e1effc65e8bf48a04386f528227b0f226c0667c98f82f3e1b9befe0f69a050867bd3b6e816ee49bdda98b908dc3e9ed638a385bf8f66d6f219a2624299350e6e89a706b16aef4ee6b5a37a41ff5953ad1988d020fa3b8ff7fb19c +PT = 2776dd588a561c0084f76a9bd9aaff7c6b5823216df84338dc76e16ad29b6a49 +AAD = 1a30a0f7cead06046e6c8087d234baac4907fb7ba4cd8f67f615a82a94cc6c5b85ff177885d329f681208cbacf4d727a +CT = 17ca3ab79620543d86f0343eb8b5ba46207d19c3c9745a069dff2f4dd243e4c2 +Tag = a4f37e8807e96c442b84adcc7656 + +Count = 3 +Key = 19568a4181b35d142697cc96a2f5b9b0 +IV = 75b9f69660182e20cae6931124262edde3040d81809b8f6014ef9e1ba1a20f67d891d945294790d652105cbf1f749b1c4ecff135867056e26027e22eaef062062d01eaffc88c082fe4eaf3059dabf58a27ccb32dbafc11b4fa567e73562c33786cba4fd53ca4d60eefc9606f36730cb6059d7bfdcab0d1903973b62da3636ab3 +PT = 2ceef5498625df0f407ffa0d8a6e3bf3b3649e4789780d17587fba201c30ccd5 +AAD = 7c018f078cc768719d95a131bbb3adf9d0aed982c667adaaca22cbc0f9ee594921ad7b64391f7dd3d9880df5c332729f +CT = fd1952eb477f9d2ae50080b02c00f554c411e2c67f7e834b35bb198d106e4297 +Tag = 55cb479da4747ae0c3b610b8bbbb + +Count = 4 +Key = b053b31628e455ea6646eda2ec4b6da2 +IV = 5ccbd05220fd4f93921a0deb919925e2150fe76b128feaa41a2d93952ba43903717c22a3f99717fad5b1ac23148e8c447acc43507d3162194e1a7691e33330c6b901c8794df38a324e073a4f7d614899c7c19b9c63430a3b1e4f00b62e2f920407bf8f3306d25b41d2a54ca9a83f9c7f9f951b38681c309a1eda960b6905b653 +PT = 67a95d14f8207ef67f9552a5a77f0655b9f4b19ddb056f5bd52508fdca0920b9 +AAD = c14f4fdf2847fa8ccd9cb67bc34a54a023eca10f3e236b8baae417f067ae38c3ab1e2742b9940871dc12b1836db14295 +CT = a5e07d2c5d695d9e858fe0f2a4e974a4adeef5a7ee1dfd6a07c7d7022960701f +Tag = e0acb5ab5c2d35b213fd06fdc89e + +Count = 5 +Key = e654d0cff86e2d317657d3484710ef16 +IV = d3b5b460fb0aebda04ae2cd34f2753c2bd3036a01c548ab397cb3f571148a8f3a60f9e20b8d42773618956f3ed83a5e324b995b24cc14c95f249506700758c22d7ad95db74c1e39a465d7fa52f53efd7663be084eb7281bdecb9e479b8c6d61c9c26296aa4c7fd7efc29297566d62517af88ffc2936e38469b3f9b424c202fe9 +PT = 83dd98641d68a10576ce0dacc0baa1e8ffe8aebef91700309dfd0a97d8763bb1 +AAD = 41b5683e58097a4eb61070887a93774a18548855f20d6931fd240dc265dc55e760c53f4153b02e5197bec74b1a5df7c2 +CT = 1c9978cff218b9ac84ba9c3dbeced49e595d1ccdb44e39287e5255eca1ea5feb +Tag = fcee77663a17d5a6f5c600205cd2 + +Count = 6 +Key = c0375d68aaaee39a6bf9c00dfd8eac4d +IV = 267c1e0a0c766feeaa167b4af1a3dd51c02432676b67e2bc043da5ef175b9ec8e46f19f0c99d6af241a04b47cfc94703f305e39ac3fc619fd624c1942156fdd3d31079565161764ec71b5f3bc49423623930489bcc70afad40d1db419eed2df38d076bce6570d5775ba6b543c7f1e139bed16b7a2646b9f8fc0ff774143d541a +PT = 9774fd6d1a5f4460e719414b6af79b4babd9a2aa39b306a474bfffdb1c039569 +AAD = a9e1cd05b9d2501b88debcdb0af326c83f65b95f31725b5ea52cd8b6a09166381ec0a844e7c07454bbc3097e33364f86 +CT = 9aa0d3e56aaec989575e84132db20ab420edbab986e2f3563949600e8ee93d35 +Tag = 3cc84edc2db246a4f5ab2cf6bd21 + +Count = 7 +Key = 1a7e2396db20ba94c8441be6c5b695f4 +IV = b6ba0cdfbcd7a00c902cb33b32a4b476981cd611dc4207b3c62a6553685dccd65561a95f1a9f5d551c17f67a812248782f02eba5cf5506c5c73730f378dc86287b5d044067a4892e5de2d5d38ba183c80d78cebd3f6a0c91bb3a3ce15903add5868e11904f136ba11838ff5bd7b8638bbf27c4633bcd08d581b003fb2adab600 +PT = 800f4058ee63b9c5a6d8fbd3dad712d4b250b1388f86f1817bbf7ee99773c030 +AAD = 179a8c5a5fe87b49a03928ff60659f6eef005a1b92148c8d7829f1722a2406d2f38eb41e64d6095d4003da14f7100252 +CT = e3c362d0c135ee80501cd24d911c5494b05b3deabd92c9d2bfa95286c3694031 +Tag = 21d450834ed544f5dca4b4679222 + +Count = 8 +Key = 39baa8b01acd65a99521e10c60015076 +IV = ec11572db21d608e25357b77a88c13a9b465baf9a3eb04603dbd34a717a0847118c46afde13b4e078a404aef09e7be2e2010500f245b5fadd07fc0615757df6d1ca31ff4c212d64e53aca33e0f535c9e2f840e99cb551a4cbc9bf2dffbba226f7370300b005b215453deebd27aa7aba145283884ceb979ed34cc790eaabec459 +PT = 41a073f28dd0a075083936936121e59ad0b4ed95a5aa7dcc461a40565c641cb1 +AAD = 722f38da09434ce97f0fa01ff63e584de991b1725a951941a7cd5f4cc09d8319e2737b77f3371cd68b30f8f464ff51df +CT = 0ed7e3b8f9f6f00b031bf9096aa4b26469c286cfa8eef0b8e94cbf3e226227bb +Tag = 4617ecd9c12b785b21add37a91bf + +Count = 9 +Key = 47166dd51cfdd2971a84bee527553337 +IV = b19b262c49646cdfcf2963f09e6029f4156c84ea0f116430e9d398799acf36079787e7b8c48d2eeeafa807a26b2b4b6789eaaa5d36a3e3cd30f23cf254be388d4f65fdee00863b74dd33da53ca5d007d9fcd0a1dc1d96fddb5361cd37353052b56277671a06ffb02104f2b7bf677113b2aefaa29d08651ebf9e25a93f1c828ce +PT = 662988db6c10e8b208449531b179d114275ce550ae3441c883b7acebaa13283e +AAD = 209a13d53542e33aa907b7305c2673f4b72ddd255995badc6f963f14be9f357c3aab60d5bb74c841a7e10f1ef5bf6235 +CT = 2e5d9b653cf2740cdd106d2b77f5942de2b18f0e588db5c4678124a20d568154 +Tag = 8909a5d0f335a8901bab979c1032 + +Count = 10 +Key = 1be81881898fe3d15a67aa7502f13400 +IV = 62fe88824c7586eedb08db71c18b0bf344b64f71e4cbd7dfc844e90d408f7680af470335ca81e51e76abe7d22242d84438e932be81e6b4d02c9ed4007742c4c5385fb7954dd2fcc488fa97c3d71b84926557db3584f0a7b51cc625156f8d007d98f25abb0da6ea995cba32aa23622e56b2c58e7bb6a23a3cac695175be1894dd +PT = 1ceb51e8829b1112e35e83554379bbc67efa3e3a3f8bb1c6b3d7c6e509ccf696 +AAD = 62358bb3a71e925e3b9732ff9e74474d01e9ba4f27ef4bd5e0a165d84de5351bf8d76588ac71c1a63fe1526f4433c3b7 +CT = e454702fd949c9df0cebc8e2a77ead4ca9834e3885bd5350663fe0f25ed15c61 +Tag = 1b6dfcf1bc22e7a6b17a7a36fb7b + +Count = 11 +Key = d42c916cc75d52456c2c4e5776317e7a +IV = 9f56d2dfc64687440f6ad943338e4348920782eb9fd046cb7b126bacaca2898d7c82f921cf9c6e30aa34baf86f7a399673d4573b95b9cd81acb57ed0a839662659f05b40784f37acfbfdccdf3b697018688a6ab9a9ec434af335aef8d4fb43759ca0a5311df4cf09e61406624eb086a96c6de4933886520c865df2ab457610ae +PT = 40606b5399db6bd046d856d691e9de8f1dc31de58d259c30756a5d16202d21c9 +AAD = dae12f1b0cca5e97f53222bcc8cdfcb30ec3f5e2be1fefbb5ea122f65645dad330b439de919cfd147727317030073a1d +CT = d42d48cf24c9756fe22903c42f4cce0f8ebc92ca07be720181972c359ec69ffe +Tag = 0362fca2a9fab05ef62338578d4f + +Count = 12 +Key = c6d33b7d68df36e37faf5cd0ad055762 +IV = 1532012c8a33917031b85d1b2e027ac6cb7e45c1b4ac78371001e0cb63e0ffdf1c28e51e0ecdc38aa730be518574c66651e3871c19edd137b26bf8561a9c42b1abac5687b03b025d6b35bc58ed88cba88668e511f962238106b18de2654d8810e45ac69d8891c69be7fcbb76aead10d8a733e2665e1a0a599a973f30840ca54a +PT = 894b3599522684900c7313ebe8e021670792a4eda2ed31e3e4cc507e28c68842 +AAD = 0f33535a5dc06f9f6c8fcfc29923a64a34ac2863f3264c378c05861e504640edb92ce19480593fab577f11facaf6f840 +CT = 39c328cb22eb38a8b1172fc9eccfafcc35e4a92511f4d6b7a96f10d92e26e519 +Tag = 784b1fe2cefe42a49c179f02cfad + +Count = 13 +Key = c76898b46c5ecc450846039088c94b1d +IV = 8da32c939d1dbfec758e1b56a5bec5ba9e1f17a40ba334c92d5edb01968fea46f5bc8cf19695d4bde18422dcbed150097d1c499982588c500a06f07f2e7a21289d9f352a037ec078f79b51c5f9318a4e43d53908bb3ddcda787b9e9e616dd793eb5db00e8b47d363e908e3893dc5d636e1847b22de0fec9c9058c4b56f2615c4 +PT = b1ec9f9516031520e1a7ad5602c8d549a7fd7246db684d375c5fa9eb14216b34 +AAD = f8a6e1f1b329f7887b8ae069254dea8dca1c8f832fd93d74fb9c9df5e4e9386de0af1c2e3f07f2afd4344d0200efb13a +CT = c2de49a6c2feb60731c6201724918874f3f475b85ad2920be499e8c8b995a9fd +Tag = 6dbcde7db05797797a1e5cd8fc1f + +Count = 14 +Key = 92ce60d193a00ecf5252a47dac718798 +IV = 8a19fccb56f82756e7aeee72d485374ce436443c2a0f56d2fe607ed2a4d4bf133777528ff9f64aa19084b3810b701bcb1aa3263786a1c85bb643c53c2b0a79a1e899d817d2d7df7d8ae4043d608292f7a9bd6a794206a348371a2859d24ab3d06f24290b6cbf85f83a44191fc33dd7a3daa762e42d757c9f25a4b9491d8db5e3 +PT = a28bed434d2029bf6223c230a9c436d75845c343233a138b359a3fe76be1b431 +AAD = 1811310f931c90879d7dfb36cb10e43fb562055343336475340f6197b3a1d79cdf542cf758330b9dd6c140a3fbb33252 +CT = 9ae01b9616e0bf6269aecf84d4d570c1eb80d5a515136f2b5736b9ff46e69e58 +Tag = 1697041dbd728822220b29186b63 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = c3c6507c3524305f6884d2a361568a3b +IV = 3f556cb63e0bf0b56e17ce85e2db793f37a1a5e33b849dbf616adcf92ea171dc51a517afe94b6f88da107b18ac773b48d25967169524b08da230e73027ea86ada69d30a6cd78f5406518f9b9ff521c9435690b9804e21d6176a10a8fdda4d301e7252969a12ea81da27f16458e07d71860510b9e47f94f059d658c84a6c18fde +PT = fe00d5c37f396435fcd951ad4c2878e5bfb58fe8722c329de646dc3d40366c70 +AAD = 0f917af567eeac351d63dca5fc5c34279326d808475291f50ccfdf6f9e3857247fbb9668478f41769c10df649fef6aaf +CT = 91013e7f28609e52efeb8d49e806d3865461aa10feb7b9f75f00eded1b2e9fc0 +Tag = c024ba32d3e3540b1fd8555dac + +Count = 1 +Key = cb9464bd19073bd9afd8bde6fc793395 +IV = b39ef300d3f60e87202fec2a9dac1cec39db6f52e00ca1b466b8c6b65c3acbd7debc389a1a720c4dbc5503bd8180222a9dcfbe387a2e2700e83b7d57a95d6507c7fe066346d6c2f8dbcfd721c7a76acaa9554726c1c0ba9d186e6d5b3591726677b63e53446f0b18c6d7000a86fda1ace6471f137ac5c0009709521f8b5a9dc8 +PT = b2ec9e69074dabeda0fa20b420158b1a9b50adfbfc3a0ee84d95a4c2301fb780 +AAD = 177348ef64d7d3ee3f91c1d68c994597a7c246d8ec6c28484f24869207eb5f326154577eeed9dfc38aa9e65ee7d64493 +CT = a0ca8cee7b0a704f90ec2426fa233b400d8db79e2babc72cbe9a40ee8ef7aebe +Tag = fb0e56d8a53188f62a7f0c44c0 + +Count = 2 +Key = 1945aa9f27173028b9bf68a5e511e294 +IV = 07b8aad6eb16156ed74689abf1c630a47a73aac4a68bfced7ec3e97a44c6d65095e0046a12cb919395f88884b747ac04d594fdac5e55828b615e3cd145d99bb536d6f4f47e724e0ec8a0c7b82053b4ce70f0080d85eeebbd3d219ce51b776aad394d4e62ae043723409eac805aec91cd719aac7a1c36ea3a1f723d6d39554dc5 +PT = a7e394dcaf67a2551c2e2f15536abc1b3026e1b68557be8c33a5d8be9e18ca52 +AAD = aa2d7b3972e788720fef36ba103f80d8aab98a94af66de522f4272917b6e4bf3acaabfb985e25693dcac878c9901153d +CT = 9d9ddb494af5c5a6f66b870b473d579cd0253909113deb8337232be57dfc32ef +Tag = 0b6f8cf02e5c96f5d61ae7d234 + +Count = 3 +Key = 3ca3f95d458f20fc655cd432fbc8355a +IV = 8086fbffe4129eca033a83de5f1c3824ac08e90be6521c8e02fc7a1ac5a40fba0a302fe7529e8240338f4ac3b786a7f2fd332e3a59201fdb55ee7e72229f3d67ad7055bdd8ac9df120669d6648370899e899c41b0a497fe6a50d96f2c2ba85af85bc30df90423c202f3bc39169b7e73a570b030cbe8efbb48a91b54955073e9f +PT = a9d4873f7b9d789c3038bfb908c4eec88c009a59c9e67bf368b2825a340a9f28 +AAD = babe7e3aaf9ee674f2f62c8d6339f70ce7b370c1da9450e8b6c8dd11bbdadcbb9ac5dbb68c5336c0de56fbace223da98 +CT = 3893653cd296f4750df4660acb9e9132daa145cbe390ee4a4eddc6ce417cca8f +Tag = 610c45cbbf81e772a81097d4e4 + +Count = 4 +Key = 5d98fdd5ce5901dc7e5ee19900e4c6c0 +IV = af16580ac870d150899bea1f2d5f733f3a17bf393a28b0d5aa31da2641f9a3430c9bee41e5a3dc56c8dc53b9a66e4a6d01e645a0b598c6d6b1cd38c21875407af8adb5f5b6f965f581f402a2ee1b2f17aea255b3e77c8632414f62c93026dd7b787d200446840445b37f4d15b600a179fbda13c32a70635d8e525515e83316bf +PT = c3635b394c6657b614e1b39cc3f8a803767a948669a53ed8b25b6973d7149ddb +AAD = 1cbbc871db20de61bd24809f29116dd3191c084309144f692b4e699c0497954e80b73507b12bcb95f1fa3a0b0b68b85d +CT = bd1f9224407e5bad602435bbb4d1bacc24b144eb7a04e8f9de01318f45735f87 +Tag = ca0e34ea556f0e18d3a29559e6 + +Count = 5 +Key = 19ec12e955b3a15627c31969115044b1 +IV = d08d681f050ab78f4c0f526951c1b0fccb0e29d0cc7c2fe73a5f59d208f08cf5e203a3d9caa41117c047eb123a3974686a68e7c54c2c0c4a2dfc7e1d5982cdf3b46fa99094c8d36898bb2807e88039637eb96956760f91a21c05b5a9c8a89920df9441cf66fa8a2e039e70d804d8c2736ce7ec40c438abadb307ca6df527c689 +PT = f3b0b36a1256961c6b46e327fe0e8a6cc88b8395d94f3f5d94f2297d17679433 +AAD = 373a2d76386925328c152339ec7fdc593c36ae01550fc8eb42b2969e2ffb2480a7f26a686c5fd8dc4904d4ad5533c795 +CT = 87c63139277ec80d604dc05c4852f2a4605f08509c2ca38b0480f0263b4ceb76 +Tag = 1eadc27ee460369c0375bb4d6a + +Count = 6 +Key = e551a2cb297fe323067f73229fa7da50 +IV = c99be3b30791e2518a95f1e5efd270f0b5051ab442000bcf1bec65d78eece9ce7418d786aa1945664e78147cdc7260734b301dfc7ae0fbd84b497a396a0d174d54bc557ed75ac1985c0b51ed4ec0c64bfe115d67b573560de2db1899f8b3d1d67b7720c98706e5e23d563b2e53b3b1220d2719ff9a61c501ab154da28c8a85b9 +PT = 6d6a61b7f96aa82c567404b6714cd399e71b719819508212453c12d6343c4722 +AAD = ac65a692c5c4451285f8c1c7274dbf2d5124d57c4a873643a205c2b5753ac72da6636931fbc45bc2cd0a400dc0913161 +CT = 24f68f529336dbadf796d1bc109cfc7c992a16a5c43cae9fb8f6e6f9ced302e8 +Tag = 4eec4eff8db7b8419b79700eb0 + +Count = 7 +Key = 828722fa01a87f6e6d85ca1541eff6b0 +IV = 31d219b6cc5e7e121f083e868ec3916aa93b6a37287c671e004997ad7a0c0383717ddff24f0325f8542652af368b259176127dca1c1812f2107ae15e86279ac2f1bd9e6e102f91aafc39d98ab7e70f1df88d531bd211a32adf795d3fcf65c04fb1d9998fdc21c1b6e7d844180c2d63f5228367c9096827292142d618664d4d26 +PT = 5fecd7997a9091f7f7ce7dcb3fedb2dddb331a2a3a8b88d16edb023f8d6c60f2 +AAD = 846825a310398df6777b6767699f6dd0cec5395c72229ed60daa22d1165844dddcc19dac22a89a4bd46f75c883579c2b +CT = 0bc1922df0899ce94e539edd91a69dde003663ff7317dbbced6b500e0c6aeab2 +Tag = cecebaabb816a4c48d6ed5691e + +Count = 8 +Key = 1364f3de1a750b3032ef44791d8946ed +IV = 6df3db1efa27bc7447c23022b78f0a830c4b1692bbcb24ad217d98dea8f9f45670b4aee010e2d6f06095e20d36eb0768eb1d443fffacfcdba0c8c00e9189858e39d0983d2acc4c4edf9b9b7d20c3b0f2ad68886730f09542d0a9943d7bbd116052c2c765f3ae354eaa1457d85931578a3c57093257d3805e5fbbbbcee3bb8ca5 +PT = 67f59664972e03de8709dcc6e4c0a314b57526288198bd9454f186d03d1ddb6d +AAD = c235cbc32f5e504dd07e0e9da9203eff0079017080acfdcf56bc17c936c7e9176b9bd82d0487ef893ba956636088751b +CT = 91b74f7332b308a53d681825f23727b077ae9db5ee6961778b607c5fb63ed402 +Tag = c43b435a5695d3397e41170a68 + +Count = 9 +Key = 72f89cc883522229fd2e600aa6b9ffbf +IV = 159b3d539f9d46bed000a5ce990bbcabdd0e02702f89ea381e8e73bd5030f260d0928f6a41bfc90bce4d5031cec19360135bf17177e4d299ec988c99adc3a793db384d44013695cfa367a61b01494372bf104be858104c611d6c3fd5345143afc1703e963326608c61d2dd6c9d10d7ed2630c857f6e3bda658ebb0384f37b95a +PT = 4c59483352528019fdafe476c7915847f792e6118fe8b9c90ac966ec1d4120ea +AAD = 4e9090c1c4e0b152ae81984079593696e59a072c57a6a5a1e5802a68129af3f8974210a8509c0bb7fd7febf0852c572d +CT = 5747ac99e907731720c78789b6ee567e6b0b864442c3a986a7d51681df163c0a +Tag = 044b4ca6c38c4fcead3cec6592 + +Count = 10 +Key = 76f668e84499d6dc2aaed7e8bf22e0f2 +IV = a61c33f3f2500a836d1c04d91f8be97440f6aba7bdb8dcdfde2c90f81f1571b3ce329a180d62d0b5b0665eb5fda9380e436944fd1e3efb4c7d06f1f22aad310f19faf1a463fed1cc318bbe305a86959d8fd16f6412fa9379b671fb965d0c6e9895a404cce2cee7cd6521659cece2417168d3b7ef6861b7d329c9ed7ec1f749d7 +PT = c39ac08d9ab7ed0c7d9b02754197f43bb523abeca7cbd091c6e64f7f7a6f8f0c +AAD = 97f795cbde5654d516d4656ab487d7cf3f4ad34d7d3321a5c59c97208d7de004c5cae497150a8cd6510e01df8ea26274 +CT = 39f78350076a55afd116bac384b1051b8f52e875d44463dfb9f537237147106f +Tag = e5da52cd09f2fd73bc5543fa27 + +Count = 11 +Key = 527fafa1ff0bef1f387f200eb90311dd +IV = da1ee2dad30b962a8b853e8388ab99ef003e8832799976a1654309fa5934779c0b6a4a355a9fefae32faf986e39bdb37457a005efacb9e54e86756b011022a3a06ac570bd6cb345b6905f821aada5ed32419a51386ef988a914d694d1457cb25bd997dc0e28dee03928785da76ac25b1fd270e0df0314887ec5f509bc851b34c +PT = 891220f69d86333f3d5564329fe2f4f942d54688f38805601b2ca2feb985bd82 +AAD = eb2a42e14256641f3a0949d163aaf735c1999e48a9203cc2ef74e02644e0935e44e1da058b94c4a462ab7fd00ad1fec1 +CT = 0a02812548320b91525606fc9f4219abf3caa33a60973c7f84d638f9b002ce62 +Tag = a3cdbb48b9fcef8cb437a37f9a + +Count = 12 +Key = 627f67d1f8bad486fa022bfde07495d6 +IV = b74f2dcdbaf9ca9e066783d0d6842cfc1f88e4cf7f3a966a3a9b9928647cba0fa3aea926a3b6d33d920a23a51564fc329ae5b834f06fb66f6fe919df7fb6d948825be99133b8752a8d538d6d67b92464d21c851bd1e46f5fbd78812a9c063941623f7731fc0584fe23be64382b8e41edf921815ec7500d745a7e32eb86f1798a +PT = c4933547174919abfbf4109b04d927afc7f1e59cc6a2c069e059fdc62af9ab92 +AAD = 4552ed6f435efd69fa72ccc697688b191d0e387eef51537f4be677b5e6ceeba9f14825679a1e455f81d2e826dd8eabef +CT = 4d0398b58fe4911a72c3dab276d47df232876cb16255224662025faa872a1c0c +Tag = c50a14768bb2c6871280f2f934 + +Count = 13 +Key = 1c14b7cb3915132782da434d1b7f6152 +IV = 2f9fcfb5bd1f26a1a39df792756ff0114ea8b4abb776921368ba030dc79eda414bd37b7e2ef222d4320e9bc715c37562650062de0de265264cf002a9b3b3033176589a5e7671473ed7b422e616f85ce9c39f4936c1870a80d6a32ba06b5265611f72dbaae446d33d3d54fe984f21f4a140a2e88d1daa2c1ec57a981188dd782a +PT = c54c6d1cc37117a5258a9eec168e6616009c6d7ec44a6ddc7d93f578114c9fae +AAD = 532d148f2043cffd34134915db67cb3b60279386a7e8930f527adca4cfe17341b4e087b726cf2c065660368d1cd08827 +CT = 4ef4e820c566c96b967b4594641c81620915217b992ab466700b6de5fb865a15 +Tag = 58b74470793b0d83ebe31ad901 + +Count = 14 +Key = e1e4696bb169df2a60fd211ea316786b +IV = 65c7f7f9e64d06aba83efb0266f917f3fb9afab86590e442dd8f12b55ae7d129f7e29c368e65fb99cf3350d745f3c9b68c54ea1475f02cc346b9696f04c5b932df82796190f9ec128620568cc61c18ea5aaaeb266cc89ae197d371329731490e2f240a3cef624a0ccd55131129d3700fa341f9f1b2d599163388201ebd51170a +PT = ee88e88053824b11ca51319380851e28ef012a111060e6a9f4fe5bbe7ed15bf5 +AAD = 01d8be6c108d3b3ff576bbc79c3ebb08726974e5e28b2c42737d4de58ca88975dded66cdc0bc6be9283e20625bab240e +CT = 5a1c7882e01ccbd73f969cba957e65445c0d458658aeec0ab85e7f3c2e5b256f +Tag = 9bfc93e62e4012fcccd0b18454 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 4f63d802902beb8dd96bf6e20f1e66a3 +IV = ee1f06d24de1dccf99875cd2a01e796cbf635c799210159dcd785aae1d736619013e04992ac7d8bba296a710d09ece5b84d316d0fa17e23df7dba5052467577728c0c0cc2b6b425884a8daf300ed2a355ea86eecb9e980a16cd6f332c9dde180233fd182412c94ddb0e6b0d79b6c669aa9e43da36d5dc09e487b39b466909c92 +PT = 2dc85f4a7e28381c3edc79726ec378f822b8aebce57afc1228f30bf0c9d2f53d +AAD = 4467d7b3c3569ba3783e5d34e8f06ab631b8d0022984bd7c798aa5554f3a887924f5421c98d4d2adf082d572c218bf86 +CT = ae91e7401d9ea12e7853f21f4f5a18c5579213af45829aacfc22957ec8e526c5 +Tag = fb143a9e48243eca46fe54e9 + +Count = 1 +Key = 62443757bced7e1540477b274dfa3dcc +IV = 456ad66f4478ec931a3466ec6a336197fa6ddac281159a38e442943c4cc3a3104534ab70364c31f3d92c53bf0de61e61b81338b01769dab4abcfbf4b13de60c9118ba876b317fe2c9a3823cdb61dd2179460215185461051b16d2033768a7d55fbedfa90e35b611a49daebf6db07d94271b11da0cf5a02d4291fdcc6c262ae94 +PT = d166a5bb1e950511efa13a51b47d183bab9712a3d8bc4fae6521ac15fd9b3f63 +AAD = 394c07347ae89f76a03cbb81485d3d288cddf83d34c1e0cda98eb2ccb69b2a7dbd8c896f290264fab764a1347da35690 +CT = e68fdae7e40379d1e82738c6b234e48c3a082b4a9f72002cc7a69c7f6bd24c48 +Tag = 588e2a335097e0215d82e2f2 + +Count = 2 +Key = 9c779300c7f4e913e53aa9e74caa2f7d +IV = b30c775627b20495bf42326446bacb23c9a9903f156cff39081fbb96290e590b4cda38c7bb4749df306201ed5251f6ed8d0c8a2bf3fc22e48264792b254a51c1fe1796c99e8763683b2b010bfd688d828fb1054d75d66040b449ba32e5ec7c9c618297ce16b8f8fa3f57f96bf726f98cc241470f8768134c9095af5f1096402f +PT = 10c01738af5df2ae84f055d7f6a6a57d02d8bcc8277bbf781b5a406e92944191 +AAD = 1628abbec78201d94fb1897dc75f07f878ef8c362a772d97b31959159bb176729cd23e2e13074bb1a5b2c47c886a186d +CT = 96c306fc58a4e2748b70f597ffee3baee54cb746bc4b6edce977c6bf4eeb604e +Tag = ba438f21410c1a11e17825e7 + +Count = 3 +Key = 2a021c5024b5399521cd68c923b49d7f +IV = 4f391ad67d99581491bb0444a5fcb5e8c8efa5f7953409c2db9e8dfe256bca44b3b87aaea1c4f0d8da8c0338c2f733ec4d088f902459c73839bdafef8ce129a3831b491e3dbf63eee8a35d4779a9446716374e1f5095c56e59f1104eb6e43a1bd8463683a850b5390fc09bce436b2c2dbcc11545f47abcc7349674495a21762f +PT = caae7b6f579c2638b619b6ae2abe28b890b37d7d7421a190cd72ea57aa1de767 +AAD = 6f55de091f89680d269f6a5be25134c2dec57b1fdb9fa0195301119868442a20137c721e405091efe6de3b0439b55013 +CT = 3734f0ed185b362081719c88bc095b5a83c0d0277d0440c511651015604c79b0 +Tag = 4afeac8c0028d9e5640241e7 + +Count = 4 +Key = c0ed83fa2633027fb32a522081d1ecfd +IV = 81bae94ea6a852ae4b39ccfc7276121bcc185320ebddb342d5c83cad20e05f4707cd7d6b24432d1ce69e32c500d20cf6ef628b6a72011d71db8a86bb04f6f0d7a1da31ae457afa30c17962cf64e6801c95b40b237d1bd60dc488934b284d60a585446340cc6bb078789d478e0d422aecf1924ebce94026ea6ffdc10431fbc5d6 +PT = 96b89e347a65bc57942aa47b405c727e42371999316932301c1a2c59eba8d233 +AAD = 18b1d9b8135eb836d040cc9217397d92230fe283ae6f349a9d43e6e695bd5532135bb1d5b483b7075887cd67bd68b155 +CT = 8b8053e9cd5a351a5036eff1e1bd98388d14357884896405ad9ff0c57d3f20e7 +Tag = 59ef70841fd4deb6effd8d2f + +Count = 5 +Key = b7c6a165ae45dc762151b8877e43f877 +IV = 8de25b873180b09b9dbbb6676ef93be73e9bc227449c9aebca38b6dd9892e371ca01e3d1d1649a382e6dfaf588b2f7d32ed8309c73392500b012f0f1708d685b5ec6c0e71d38c47b4f65fb6ffbf6d806e6f426acdcb0b658c9bd65735b97c41a393fc5f3b5d0c874e62cce3b0d14c28845c1786d45eaf7fa2b2a9f43569f66b9 +PT = 8e4f51ac968464e6ab62daaa22351cf1bf0336aa9e8047ce02005dfb79273de3 +AAD = 75c267c4fa1fbb9f5096b83ea4b42899ed452f50fd6039068672c600d95a3ad85a8681bfd10216a80461ae71ff55baf8 +CT = 4bfbc7424bc209a59749827aaed6dc76d867c3569bbc066617116641b7172b03 +Tag = 2ff9e1027d8b2af1b8619d61 + +Count = 6 +Key = 7bd1e6433f82e2518bcdcfb2d28aaf72 +IV = 9a4c69a4954beb9dec01b1af3e32255f55fd5db18938b98f87282d9dd9f0485cca3c3051f9d641920feb60053b11a8b033fd5c894cdfe1c556f7016ac9e6c2bd970949ba75d6cefa7d50a79e0953f0761a3894a927136379cecc85391c86214a65823bc86aa34112de79ad3a0f746629dfbbceca0e7fe2120da71f1aa68b88f7 +PT = 288a62dea6d756184ec7e7015be884d165a75fb8eb0ef13cddea03b0411273e1 +AAD = 07f805c16b9a12bf964f71092073020d2bf1a9192d248798d852eb67a2b04db18328658f6f2fe374febc89a3a08cd6bd +CT = 43d43a37acdbc1bdae7869bb2b8cd874d90772a536a4773d57fa0ffec9fcea00 +Tag = 34b47dc1f45aa186e69bfd7a + +Count = 7 +Key = 8f4727c67a567d8d1f0db9b9c373fbda +IV = 42d77fd1b5358733300d20bf60f0a06231dcc7af49a75cdb283f664df53a842b7fa1cd2d5351c8e0e802ac96761aebf2cae1a7e0a8eb165e2823145cf681e4fd152cc54ff5ed2f7dc06c38958ee203e7cb19901bf57f886ecea27846c3a216af1e32252ccac8a25e2d772bc0bba69da74157e47e11e52f36a7a40838e0e93c74 +PT = 6eaf443db52dd3050deab6ed359af502adc03daf17700ada8678106c0eecf6bb +AAD = 05dc775273163e706755aeee000c9ac6773d4aabb3f9f88e144bdd6c8f0301d2de098a746f39bd5f32f924addc36d945 +CT = 07416536192d98bc871c4c937a0f49b07ef7986c662a5b27583b7248bae561a1 +Tag = 11430c176f555137d70809b1 + +Count = 8 +Key = 01f648fc04ef5502289eaef5a0696020 +IV = 51782d07e01d2b2ca24e3dbf226d0440e9ea7be509a320db2264cc84983f9b098a5e5b97ab242d62441be5ff793929b7c34bedd6acb8d1bcd961a7a28e42d976213a18f0034830ced1adf1936a5f7b93f525aaa58ccf0c80c91de57147222dbb165101de04f93e7a3f42cd366c6adf21313ce065e4f907751454a5fe02dd8133 +PT = e1f5281b19817b4433b32edaa5af1b4d1afd67f6345d84b584b2e4891277a7c3 +AAD = 2fbba9eea7f0aef992b03631ffc983ebdf45f312b87d29e93e9e2c2fd856593d5ae5bdca612b754ef6f49433f06eea4e +CT = 024f79280b727fcd3efe871da0911c095ea4179b1a5a7eeacd4e3efb89b8db72 +Tag = 83a5102567b8725c45c24214 + +Count = 9 +Key = 91865a8f7a56c1e082d547fece7a453a +IV = 8a564c981fa3a2b38c216619991d68e7a04933526c3a15dbe42044509a5008afa40fdeaf54ea01bdd265af6dad69a1305d198af12f4750a30a4238c6f4f8b2c8a23df174139dfa986916eb317381294cafcfe2203da9727f7b6287bcfaace67098a2b2c6382ea6f6e60cae354ee63944e51c219a2eea8c1712da95fce37e6766 +PT = f56eec5dfb124c064473f2495ac1a96397670e5d2ffaeaba53ef02c7b063a0a1 +AAD = ba7190e1c5f0eba28b604a75d1f37eef136c460157ce585f657e511c3c441dd1be3d78122dc262a4c5361b9f2a5f3cf7 +CT = e78de8c7d76bbe3ef2fe15c29979bf095c83b2e38472c74a7979882cc76c2c33 +Tag = dd73f4cae56cf5a15f6ec869 + +Count = 10 +Key = 26e69a004061b9da4b74e90d794fc31e +IV = 68e52a29c9576b8c7a7fb557bc7bcf80df98bee1b48f9dd5334186d57eede11ea19953aec996261066e55ae309343197f0ced19972179c4368e66c1809f6ac8445b1b846bd513239e9a1c4ab4892ef5fe8780a25bff7e2487bd1f33585d2d2520806c61b96189b5f8039c79d5517da91f9277dc0ad7a2b9ad06369ae62fdc3b6 +PT = c3fd07edcae549a10f6112925bc24bf6ec229fdf91e8ecdea596f7b56db2759a +AAD = 6ef4cce0c6edb50aae78cf3a88908e7afebe9c09092f0f71db33240776502a37b1ac1ed78b06bc56b1ac423756af80fb +CT = acd282a710a84ba2d8a9f14db6efaaa9aac51a3c7a1003fd0db8712d8f7182c3 +Tag = 564e74797213ff4f9b938c9c + +Count = 11 +Key = 15bb5e9da99f7be67288e4bac4d3bb81 +IV = a5c55ffb9568dd6fffe44e289502d2a289339cb87d437fd571832243322fccf81ec44068238ad7f9e1538e9469520c98ce9139bf6ef8aefdc4d30cc0cd730b603f1ec99a97d0267f801fec6a93706949f6ee1d5e95034123b6e1377a297de73f3841babdcd0a6cc0328886346ce8205a257a268f686419fa538c2297c7defada +PT = bda8764b07c464d983683720c3ae965128dd0eb767a465ff4996323e6d7dba3e +AAD = 105d7410ba1b726fed85dce48a6ff90f9d6e0a92361e419fab7f5792995e2afb366629dcb6faeb48099762e915dca33e +CT = d89168713b122d43050522cfb3022a51c8c41eb1143656ff00d61fd57f85827b +Tag = 2e05d82bfc653ea256667d13 + +Count = 12 +Key = f34633d808a1bdf2d5b880d971c8b413 +IV = 0f1710e945198d46b630c2066d4d63be88a87b2dfb25afe3b3b0dad058193dce84901f2bf9c2f23e203cb319d8106b3d736c9487425f37684e3827aa6628a46fb8cf6e8500c2b3ba8a32a9403e2be46dcec8dd0f3ce5efbb395ea6c9ee44ac9ae2c6216899bc9fd190306876e0361c4fec32ef0873c6d142de9589b595868bb5 +PT = fd1474365544263496e6cedaa931a6173a3f747f9bb5d5ecfb2bed011cd6b472 +AAD = ef0e616232cfa7457568f71830ca9f02b6b9027a8f03095ec1303f6de4b57c0fe6dab45959abd472c67c5e772a1ee8c1 +CT = 35c1a4eb40f8f5160fe27a2857c40ee711c84ade8c0a55677022169d9fe99d01 +Tag = 27b1ffe2efb7f7ab6f4f7d4b + +Count = 13 +Key = f70861b27005f252cad00e5410bdbca2 +IV = c85c6095c34e83141eb0c9b44484837aa1d21a598940f30e28f75ac2b46bb20107af59bd0dcb41a61bc32ff7c3dbbe96d61487abb2b3cd0df9cd9fc5cbdad97b009abd734448f43e967e1cd27d255d77585ab7b15b99c283b662af6c7093703c6201ecac92b077e9fbddaf75cc4296faae3f2277a20c30eaf8df1e3514b424ab +PT = 325fa8ba5384da4afb5c1a45a86386d36bd8ad824f7f60976d5feab6c3b1fc76 +AAD = 1f6342d832f8d79ee97587fd014876a8d873d045d40bd082b30e7d44d70bf60e26c2955525906d864de9072724f695e2 +CT = 003efafe5b7444010c8839a799e6ddb09773fcc9b94ef1e707ca047fd90d531e +Tag = 91e687b4e9412237321c8ecb + +Count = 14 +Key = 98addc34b442ebc30502b0e012b539ec +IV = e07ce8dc67288c2bfac6767d466515aed75bdaf0c2ca7a6fe9ec4444182aa6cfa679b46cb779d1669fecb179cda3b87ca191e8c4ca81a160289343e14f173b7c53f52a6abea8ae5489e5532d94b17f6b47fded28a3c15758757ee05bde406583c02bfcb85dbe0c70c437f7f12cc9c57b1e6148592904026537deb3cb8c86a3e0 +PT = 9f93bdf401400d7c7f0dca5e89686e326b8c5b22e4007472a519185e9d8ac388 +AAD = 7a9f66f3af42b7e3307bb0423054be021429642d147a8c411e6b1fb80019be71df1104f83e706c41ab0f6ae153e089dc +CT = fbb5d71ca9456fb70606e8d56308d4dbb081c80247a981690c7b37b87efd99c2 +Tag = df537531a7293e15076c0baf + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 2a1d7f09ebdcb13f624b6b63acfba0b4 +IV = 0a824d7cb6c1ce8b1a0086849cdf8d3d12ff675481de2abff85b79e1ff01d599ec278f6ecc730c20d692cd8d3451c8c0ff1f7f0d11953c70265ffb3882394630325c516c4c2a0d448d0bcb3cdbc9e943756979b362e9e24f16e51e0924d3eb204a2ea909c692cbff3c46e3a8faf9a45e1f024031470f0dc65f1ccd9687e349c3 +PT = 27823485445d6e2c91181f8c41564a3a1f2b5d0472e192b80ae548adef3605f1 +AAD = 76732690b7a5ff9c8a97368c013086468c691a16159b204bbc22a7a008be4c9f248b3ca3839229338dd5ed4b2f5e6fca +CT = 00a9f91326698dfd430d7d4a454c84ffb436598002cf4bb7196b82f88fd5eefe +Tag = 2c65d9b867c6a7ad + +Count = 1 +Key = 95023e388b06652ff2521ce6f7d13278 +IV = d525c6285edb6730dd59930f984131568e8ef1eb508a588ca0461e89baddc719b813551fb8948a0cac870164f6b4a6b83b7350c54a2e12bb0f2df181bd60d9fb743a3f783244f3aa29542cbc6567b6d868d875e565218b38934ba1b5913052af2f147bd732152b7f3fecd7421415747b496499cb80c4d5f33d241ca5ef6b9a93 +PT = c47a93da656eb99b89a6a6d8e38334ed59c168dd11a8c05ac4e488431e6cd7b8 +AAD = 08e53348efeb12b28e824cadcb1dacd7498bd8f21cedfd7a54c73533bebc033b1110ca22520cf9f30dd903bea956fbb2 +CT = 778ae7624314d510233e73621641108bf6403a198ec9b5dd4a4737c14f7931ad +Tag = 98904fe920ef140e + +Count = 2 +Key = ea5240f90bc1dbac2d7ed62b153c4b32 +IV = 0852021414246be64baf39fcaeb608365343c9e78b65301a97c2ce07d7cd25741ed14347836f4040a3e9343a18655ff45224afeccbfd59a3a020bcdb429d35b00ec4f0b7ac51c624bbea6dfa967611253421477006b77b9a535b4acfdee6b934ecf31f33500edcbabde2d389e1fad4559143263649cbb0960405af5b1e412108 +PT = 78d0f3e3667673aef426cc8eb99c04b648a873cfd2a2f9556bcdc2ca1f1fb3c5 +AAD = 50e834c78298716582a080b32e777ae470baa7c6f6d016c5e45ceec38e83e1eafc398c30f60780090781688e526bd982 +CT = 4cc1e56c59941e7886ea46a92dc4cffe65258cc9b189a86e2274137efed21dcd +Tag = 9a4f2a6827e83a36 + +Count = 3 +Key = 57a1cf86526cbf7c065da8afc50fd1a6 +IV = 61d2ecb98af1c7051ac3e91561d26df1e7b653056767cf409e2aa845e090e071784a00e98f987bb7c89d9b1e131edbf84df1dfbe002225061d8e38253ee0be5e7cc3e8906fc64aedc05527eb901f7b8c8fc94b11ed82ecf25ebcd4e378a261fdfa9420278a81c9db39eb9bc878957c318f1faccd7ad381cb0363027cc106f440 +PT = 8ee4051df6a3e428717228fe7f2bc36b77aed8b2a11c777159acfd0af02eca93 +AAD = 015415ee00196caf75c52ebf43cccd317f380226127b5e94b746fa40e3f084e4dfea2e28c90ff237bc0880341db14dba +CT = 083c0eeee198774810f226588d59e2bd35f0bdfd63bf4652f79d38727a4e3384 +Tag = 652eb4b4103c09bd + +Count = 4 +Key = 13fb5a707586b2ee347e352d5e5308b9 +IV = 45e755fe62be20ec5095bc2ff3fdea50fe95ed0e009cd6b8b547d99854e940e4af6e96207077cd8577c5393f98854a5f61ea75e92736b16f67e183303516dec74894aaa8096bad159cfbc40071b79a5a18ba169b79cf3460c7f6b5279d2ce852d58138b0290f1281e369e0c5b4fdfc9307affcef23b2a91f9b8d9aff38fd7105 +PT = f3a2f0e24125f5cc9437c06178429402fd5a0d28b79826122c850fc135acbe14 +AAD = c02e873943dd51099d13017882e543caf7cf90c16076c3502efae582e68846def5cfcde4aa2c988a8fdad1335acf08b1 +CT = 4f56162e3725597c549c921151d16693e9c7bcbd9913dd106bcf06dbaf24d22d +Tag = 2dfa90f5db0154b9 + +Count = 5 +Key = f7d03333a9563e76adb64df4d9dbccf0 +IV = ecdc9df044a36d06e4bae78fb2bee1aec3e823db50d09855ca9f265436f8fe84bba867043f45a3bef5a0c216510c9d97642b27e10521a1f81be4b6f3dd0c2a7c62469db7a649d8283df83451b3e661e16d60b0279cfeea83c3d02817f3d823ed4399b4d71be1a2dc5299d98506a069d728107e67bcd6dc340a6d2fcc428dba13 +PT = f137c5e10f3b29afc3495c058cc22173c796d8b2bea231b0874d80a361854fdd +AAD = 2f2e3a6b56a02a20506f1176fac792bad2389e002b87ac8baced4d61d03560b89336eed0700566f14cbe0204f72d40ec +CT = 10cbd4c2fa4ca752ac351e44ad1b4d54d9e62a8f600c9dcf4eb60f8a6f2de4d0 +Tag = 54d53cc7a32c95fe + +Count = 6 +Key = bf49dff6161ae08c1c2d1291de12d1e8 +IV = f7576bf0c48543c37f8d03a6d5f1166c0b0cca80f4737a3fe9055497dae1d7ad95df5bcbc179ee4142708eff506d53374653be288cbdf301f20202d1498ea311afb1e3a0f307aef8c99681e498d4a28084f2d5ce24fff5b5fe44f90c16c5c11a41cc1994bf7b2a239adf1542a373bedbf470731ebbbbb808e80ec1c1f56bee1f +PT = 2e5c08516b67431c3bd81cf48bbe15ece86296ddd6bcf2c6ecc5e569d4da5970 +AAD = 3c68854798fd5127d05fb50dc6e4fc069b52cfc645bffccae42c8d998674e53c27ed6e986fd151197b6ed48c5600ba2c +CT = 4d3be25755dcf46670d929707ecb5196c7e520226d2d730ba33c96f880ff5b71 +Tag = f05a59c3a8983d5a + +Count = 7 +Key = 9dac75a3c94303104fb85f945ef39d49 +IV = a674349645ce94ae4ab89b0bd8e3a6235c8be14c57b1edd2f24fc6d95f1be9f1566706de67ae3b603fac34feb6140a07d37d0da65664f808c6d6224c08d6e4ee4e6300fb2336edc1b6735824a7b0419319aa9969b89409503367f4f3ad2ee2b56a495d66acfd79d079cb341e1be468aef5f49629a4893e0661dae989945a5e76 +PT = 4485881c34438cd36731c33c37c286ec9bbc4625f791499374817e48a8ee0900 +AAD = ea9b6538c082ec4159c25cf6f970f573d5206449abee5e0b7ec492600dbd7f17ab918560e23f7ea641e82d64435c567d +CT = 48d024e7401ea5e4c9c36298599c8004bfd8ce21170da8730fbc203f0f46a8cf +Tag = 6047febe1a6db8ff + +Count = 8 +Key = 626c0260bd836ad34565081bde4a8e7d +IV = ac4c011c880875bb0207f0706d000570a91adc429c7b098143c4a07133953adb9377691ce308abba568420f70e5c5042d710cb85b5b99d6d1b52259b0ad301f54a365ec30a7b3040ac4424a5119df49298d7dc83590bd07ad97b8efd62f622eed2daf447c378a7f000497f4126d58fc1d73b4c87e869fc251f8d3e4f4ae46505 +PT = b5821d52619cdf62397c4f1f181bebfd643a261c8020d764c8d6d9b60d62f41a +AAD = 457ffc44f52bac073077b0b713ce3705e8dbbcfcc781640e53a7239003f3e0725366899f9456dbea44589ef0cf7e5029 +CT = fd4999dc47d120904371535ae88acd1a9d109719094f89cb575081da4e063611 +Tag = 709312f7caa87491 + +Count = 9 +Key = a6c40b2e8569ab996263ae12b353956f +IV = ccfce3930af24d8eed633c2d116c3a2f536e1ee35a56fc1187882a237b123f69728b97d6cb38280bc8df94c4ba791ee8c56d9216b885a4fa1686584d42cdaf60313ee206ece9545b07017abbce65b48db7a4678ebe4555eb847ae8cfb215b9df2b3123d14b55e71e2bdfaf2959dd34b882b3da521d14f68ae96c56f11e0efebe +PT = 859762924995d31c38abd476c45781cc31a5787d88c7e02325324c18dd925ce7 +AAD = bba0966675421b3b65b831e2d00d5f6c27ff57ba9097c716c969af7342574f9d1bc8d048de14a7cdbc2aa71e33dd2e56 +CT = 05e31b3e106cb988338377cb4e197f23dd3ea29979bd9cc85d126c9b6f389785 +Tag = 2fafb5803f5735bb + +Count = 10 +Key = 00d84f6c0f555199545fc4f227f602e3 +IV = d497aacfc8be9e2b0bff32232390faefc4a8afe3d00ee473f30a0ccf8c16ece6b68affc260318162061e3b12fdf9ed5781c2719424ac278155997b55b0843572da9df8f3ae5527bc17829b7b244f606037eeaf4aea8482e7ff84732a07b518a4561d81f54719500aae093431a326fd9822cc1f1f1eb293fad9db9b8abfeac6c9 +PT = bfeac53f6c21fc9a708a52598fd8dd635eae72db76eb832c802114fa6ce39078 +AAD = b2b40aca67fe0150734c15935b93ee9d3b6f8a804f377ea91c1b35589ed52a5683cacb45859efddc1107011665c9faf8 +CT = bb4391256fffe6dcf261c3204391d51ef74937e2264d4eb8edf33b96b316ef4a +Tag = 0d36bbe591a0afee + +Count = 11 +Key = 946c9838eff196244d3a2cee72c6f56f +IV = d798d5aa80292539936fcc76e7168cde174a1a72983df023478fab12708f62bdb5836050da038dea30c9a3a1b6b2f1ca843a7cd8094c33014d46283ad289ab436c9658b65ffdef43a9767df7d3cde06913c7839c0a809a79c850996ce4214c61758e983d33e35e092f663045f0eb9a2fa3f94d5bafaae7d7103b7297816b61d2 +PT = 8ae78c254ccd772cc11f344001a175120685e9eb4c2d04e6a8699a176764ca34 +AAD = 470253cc0d52e541aa75a69acae1231da8b87b60af7d9749b03a277c9963ddda7fe0dc5a404f0f98f54f28a0934f78d8 +CT = 0d44305c9e6a6e44047e287e0d84d631be74bd8df3c4a40279b06d3114814ec9 +Tag = abf07cb4d780fd48 + +Count = 12 +Key = c4ea6152cf952e97863381dcc2e80bc9 +IV = 33265ef5a21348a5ab20c8cf0da181a1cb1e15c7395d2d9325e090ad341cb2fd91c19662da90fd8a928b95760fd7d8d5c407e248e3d60f9e48eabe1a7ec45f2812871eb2fbe265eabf25cc014f3f57eda45c5623a5fdb1574a11332f89af5162eb4f1b3932d0ec59207770d7d91e89c665cfe238721d4b243700f269dfd7686c +PT = 2c87a1a0654984d0a1aa2eb2ec9d2b4346d5a5cc22957a8cdaa19f829e63d2c1 +AAD = 876b46e7c39253266e63c9cefd65480a18afc9f5a3fba7fe6b4f961c324aba5aa36f138d36d2db6eac1cadc71356bacf +CT = d8085a12417a152242f4df1595da2e43e83cf72e34f8b37da40b56d137f8a296 +Tag = 6683689950873286 + +Count = 13 +Key = 71949d5dafaffb530408f92d04e7d597 +IV = 41e2afb17a1ec506e1e18d4c40b35b72495774f85a04fccb5513217447aa37cefca7676da70fdc7013817b984fd6afbdf910ce856a1e9e89b2bb6c4e461b9068b8865c3b355883924582239a2a89cab3d8ea7026288f9a984385b517b0b6489df570886dc94d8e02b20715f54398a917e316482cf64531447ff2f5440e7d4a59 +PT = d4cb0d5fa85435029f23219704148b0b9991debc615b320c4476a67292a19162 +AAD = aab40acd5672eb148545e411a3e54264e30f035f2a9233586e5e33e1aba91fc69789de00cd0f25a7c07098fa688f4a96 +CT = f3f6d3b005eaa90220f38b757a73ee4085972bed96270d0d010343ff7d985b10 +Tag = 79d81341c197ca39 + +Count = 14 +Key = b3618f7869bba548cca262d7f6a14416 +IV = 0e482da0e9583898166406875716d3240e2fb53841dcd8fff6031ddfdfbdd940b4a62844939f9eadfa441987e5d4b31a203a2d57de8606d88e82a3bc71964534e27e9e03867f5f2dcdf0a524d5572f33fea799e76fe273d8babfededd029dcba1691565dad9502b91e7b85e48b31f09bf289113243566de4f34310d5ad92ac78 +PT = 66f06977d55ca644b153266554bdb6eb1c35a0d691b5e91feca10dc1d7ba8555 +AAD = f474d7fa63e2d517d1f0f9682d6e20a235fd4e5c0f3aec16fce05099c2a2ec94f269daab3e75b5fdb99ff774d999b42b +CT = d37c82aac22c9fa583f52294e8574772e73b4c29575dbc40d875a0b00c7b2238 +Tag = 0f792bd275e51c64 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = afcf041eb41fa135b6a27d6f0d853ebe +IV = 41fac875af0308a951aa9814fff9b137035722b22668869ea38cbad6e42db04f1064c46deecfa32423a92326ebf686022ae25833d661d9ae217de20163e44a9f3d3d9a70f62f67c9f83fa4953d71473696a2808836732ff44fe19f59e42624b1a97600d97ca64b0c0f47bb3ff10c7a8808e0cacd2f0477911b78ffa54f99b189 +PT = 737b22a736e98e58b3984700b85b643f3225dc39b89b3d4f64c30db64167d318 +AAD = bbe7f0769e4ba29ae9600f2dc41eac5656d103a05bf23f4e064cef15f038e3d2187126ed07955a1ed5447ca02c08dc7b +CT = 707a7f18a65fbfc094185484ea87172b93f12a3eb72fabbdd9e45612f87a7270 +Tag = 5f9ec1fb + +Count = 1 +Key = c5164bea3b1fb1356634584003e7f92c +IV = a6db7d51c05e99f72263fb4c5dc6e651572cfb09563754ec3ffbffca4a179da9a5dc3de3b6d5cd04f517e821f75403f7bed7d6b157f8deded6fbf2a3d2cb4e0d29744aadbb7485bb1f2db643dc384f0b0b75dc4518a582fe8a677271e278acc35d043c8f12c9425b50356bf577cc4ad05576b9439523a5aa82e9655e4468fb2c +PT = 5bc1ae67d515cebf2c7ce11dcf1c415688cec72193ccd98a3d190b7bfb2bd0d5 +AAD = d53bed7fd98bcba2dda6e227bd5142995e7e7c69612a91aecce7b02289580422689d1a0c811906f508b976a7f9ccf28e +CT = ab489848efab720ab815639f647af9cbfc18711c1de95372bf3ed881c164b048 +Tag = bfb0e509 + +Count = 2 +Key = a64a737e996ffc6171cd28c09fb87486 +IV = 5c0c674ff377bdfd91b6969bcd48f753c0cfaf2370c236ee955635276254078b48c151bd4c191724f72496e85ef1d1ea4a620c74ad1c5d1dcbbcef84b92d06c43f5ea08e497f7d1a3413ffc541287301eb9d80cc951f98b6a7527c56dcbf9854f9a2eb93142bf18427a8abbe5d9b55f7594900f940df04ec0ee0118a849c025f +PT = 1b3a2ffbb42b6d9f0663ca908120fdd161e56a0732c6371f63e591b7a7aa7f41 +AAD = e494b8caa9d0fbcdb1c5b8d7e6ebf459557e3ce6a35abe3bf48f590b203a1b0d5231ec69460b2d3c0ab0062d02af91bd +CT = fb69f5066214d2a9597f9e80eac39db4d21d645f6c0a7ab2ce913ec924c3a17f +Tag = b275781a + +Count = 3 +Key = cbd7ca09d581999555f935937a250016 +IV = 64b362ca2851aec9dce8d33364521767d4d74c7a1cf175073df65480c5a849e41e8e2f7d8c6b346041406cf3a4f9d442708bff0f6476782c6a7c9f2b1fd711f68be56868a6d8653697b5a7ce7ee04a2d15f3b1b3e0662cdd64896044e6da62827db66cc5df08a23576b012c930de2d0e12f3a8585f55ae405e0dd938585cd165 +PT = e1986a7ce5bd68286f7492b653e971f889a561e69dd8588ee29e6e58920a94c0 +AAD = 15436405bd14e7174e45fa5479da798a99e8efba338afa81c9ab096e1981ef8f3cb2b586a7899e75448a16d06dbe943a +CT = 8d4b074c8a1899f33db7ee4a81b5ae5dd7633778b2de2d30ea40ab5f95715e7d +Tag = 51dc0a3c + +Count = 4 +Key = bc2507a9e9b76717e2aad310533b374b +IV = eaa62e184250778233fe39f02a69546c0c8ea01db0e714982120703aa68ca630212f44f612fbe81d36189861373093045c6817f58fb53b30a006cbbf1bd9568395685ec1ed44104e43b9cd61033d9423b3e6c7c10e9c160fdd19e8669249d9204623256104ec9e6401a5d5c3a0e91aa42870b820012136bfc6c7443ee4234195 +PT = b80cf308a1200efefee46f9fc191bcf492cf8c968467e01c6502a769e312b403 +AAD = 82fc5cfaf20e5f456177b069309be141dd39cf04b537ba0f1c39337fe9f70503269057dc15813855854ab36633a638b0 +CT = d65f902b7088317363bdcf020936978b683b06de8417319853ec0999021298bc +Tag = ea7033b6 + +Count = 5 +Key = 859468d91541a98b5043fed615ef7d64 +IV = 1273ba6a688e483db61841b3254bade641cf10d75a4cc5ec24741b8553d4263803dbafb35734cc13831b51b710552913c9140b435b6ee4a32bdd002084dedd71479053c439fba29541f6979c7584397519fdaa7d3a9c70924a4f32752884fcfd6286fb7b0a5d04aa6c03b2801e67ecafd9eccf2887a67ecda6825852be05f932 +PT = 48740d3bd75351407fea130a09efe53c45d3fc749177834dca2811e924e05dc4 +AAD = 83bcaef38315d2d7fff79ce66108d6c484090f8384278f3badb5284c2d3d11264e2174c0eafd6057249eebdd3dd321f8 +CT = 5bd71b5f941068484b06d06b5f1a36323d34aa2b24d8c91ac5c81f24606e42ab +Tag = f44448ab + +Count = 6 +Key = eabfbb4f39a67d131423feceaa539d8d +IV = bcf055e9038988535fd51748848db432981bc497f401344a551886d1b35e57158ef94b197659e949a2642ae8510c4809a2aa5a24fd8b33eb9ed5d1f24a4a1ed1f303d360c61026307591176a10c5ee6b1db6bb6d985883025fb48914ab65640e9720519010b5c3e80df2b73ddb4d67d7299ec2fc5961c779802704e62d3bc571 +PT = 0f9a788a07715b8254c027a061cdad01b73dc04c2a999beb9d242ea68cdcf2a6 +AAD = eb079a1bb39ea95f46e7df954cdb88ee5100c153c41994beb33aaf09ff67a6d3358e07833df9dd7f7b46ae3a50cc1264 +CT = 0c4c77a333fe100c068fbc49a0c525b417843109bae61672548b2fad8cc2044a +Tag = ce1941c9 + +Count = 7 +Key = 8cf0f0cd705fcc9e60863b165d580330 +IV = da642b89092aec5d6576ce0265fd6a490c838df6d35b3ef771789169c7cffcaa96f0e55e49c4162be9249a38c4ec7f249c961e5213d56ef0d464a83b43005674fed643f59c885e25d05e26d913730f7efb5cc9034a0e3960a8ed6662b63285cf5f59f4c2e5b60a2dd4398b71a7dda058f303a4c651927e1ea2822e84d2944803 +PT = ac39ff4e2250aa081a27bf702180b0967c80cb9f233f397025dd3515d4805b3c +AAD = 9a437b7359fe5a386bfa1a45d7c50c62b43e3e291cea3383804deea05d77e32bb4c17a1096d3bec521a9890f12bb764c +CT = 9c878e8cbd646b79c6152741668e8876dd56edff9d207e8fb42688f352ae9603 +Tag = ae147abe + +Count = 8 +Key = f7e43aa52337a6f789ee75a76b532379 +IV = 1a371960a8aa1b5c8a1b1b3bea9ce925c4350f99fec7883bd22dae4b7ee446e5c2c05a9c12b89c584abb4dcad3166a6ee6ae0eef736badb987453d2c2966fe4cf865e2afee9290a2050411d90a67f681e8d3c9b9c5b5c613228ba9a7439d6c77523ffa138229761680d8f1a47f70f2890352d5da567ece11300ab186aa1628ed +PT = 9114c7f9bb88b4aba3860969f48a1503c6321f10691e871b146adec14a0c7c1c +AAD = df52d16380db22d734cb467716a44b984277692573486e360b4d58918424244986d7d886bda35977b7a0cf8ce199434a +CT = 7007949b01234127fd11056282d1e9031acf45fbb0444d8d464e1bd08f88fd8b +Tag = ed002521 + +Count = 9 +Key = cedc55346acc04d91a42dce3c8059983 +IV = 061175dc540bc9480dce3c273f4fc06d7bc61003a051aa97d665688c6ab525df83a286c0f768d1997c2d8f062ba05b05b85f388438f276cb77d8138b0986d5a458af3f9dd7c513f593f683aa163d89a57c4f5c1d0bbebd2dd61e9afd51de0f50fe9c6b5ba55056d9dfac207c1b394e832268f67f1a0dfcfd53fee0c0327b5852 +PT = 948abbd1cc91287709a30f08f529ee02614412e257074d7c0ed963aed96f47e0 +AAD = da146fffb9969eb7dddc8b9464eb4499214eca6ac5814ed2407d357518db2b79a25bb4904a3a2d6727cf44a38f930212 +CT = ac37709f94de8748b1697a20e78f18a5d6fc2f532a3c69e5ca69aa35c0b8bd6f +Tag = 7c26beca + +Count = 10 +Key = 121efca244188d9f60b92a9eb9687577 +IV = 6e9f1c02fa556e5bc10ea56d6ad791d0f11b4e9f575da5824380f45f778685ea98649a6c4d7f1a6b5151c64ed7f7bce7c9e5580d07780be859a0bfa4fc0f1900b37dcec6b51d766d5c41b51c2191a8bef15eff192e0dd7504c70c8636bcadb7bfdb0d6f6a7ed48c1cd31344e18ade254b6f1ee01ec13cb122d756122953373af +PT = 740d4b1fbc39c6dc3b38790f90c20f5bd9af76513e84ef6591b577ca0f3b00b2 +AAD = d9b37ddbc46ed5d642bacd5f89d4b1171f45b677632aa916df0b14f51bfb6ba0c904dea224754a1ce56209558c0b8f15 +CT = 57a08f48e28e0cd21bfbc5e48dd214a395eb1c4c3aefcdecca6665289ebfccdd +Tag = 77becd90 + +Count = 11 +Key = c506e963e9ed37798eb59c8f81415c84 +IV = ac03bae2b438781e6b2236892a470a8b54b35586230d9f16158363eb64f26b8ecfcae01d19782a8fcddcc3c167a9b1a2e18ee3c569eab30e6915fc803d95366148969294100356237bc9426484d0705bca1216407da2367ca910ba8a1adafe9159ed82f1144995d9b8493ab53f04c5ee60d1d63cbc27718c35fb251c7cf3c125 +PT = 53254562f8c3c0f91df3f9af2b1e4f25c88dc39b43e08708ceda969075e8342a +AAD = 15699dcc285aea0c72f95cebb3094b6c1bcbba0dafad9b6a72b3c40f029ec19e5235702a009d8ea96a30a2131ed1d88c +CT = a1a69dc2c2533a66367b2fb342d34294e54f8459de1fea680038e40c95e55844 +Tag = 9334e0d5 + +Count = 12 +Key = e384f46c580fef92c6d6858e56d24b29 +IV = 7e201a79a2e583316156f5e99e0560d7166ef85f923d4743323eca6f676a2aebc05b291f033b6982e321e283f9264ffe60a8ef57f86d719c79b33ea954c87554e9faec971194a8a913892a3ad244e82b40fa38b51dc49bb8d72e95e667f311cd3a653cbc093d971abe39c5530a12faf0b0f2bbbce435a1b9a46c72987f8e3866 +PT = 23705e7652d9855d21ebfdc79f955d0528fe3803c361e6b408814530fc781ffc +AAD = 567b8ed42d4beb0b9ba7b0aa945159eb2a71b8937a818c7f630eccaede9a34907fdeb5359b06733ff442b9a99a01803d +CT = 1e63036021f4c9af2172cf51fee51ceb4b2c556dc0f211ebc6ecf1d4f794e6c2 +Tag = 1889bbe2 + +Count = 13 +Key = ab3df368cc9cc49ab53382af46d15951 +IV = 1aed67eb8bfd771cfb510d765d2d89d9cee4b4cb4d6b3b25499d99a7beb129461281044656d63e4b4d77dcdd837910db13b962cf61f2580493694135ab083c66a9e2cd61e5e4a2f220b193af004e31057a1c006199aeace81479c2083f947f5868c1ce827dbc3b5e294534fdcba9885177ed8e847fcf8a8754c0c31d857ddfc3 +PT = 18e998b0d78106ed346dcca3ece421b0210700b31906927ae5518e95a0d89f54 +AAD = 262209d3dc3578dc6a3e517dd8f1bc6c5f880b532534f29c6193042701199825185c90861a2172170620b3ab8dbb29a8 +CT = 137b739a8f9fec5566b0a684d3c7efdde0fc5a749832de40851cf6e239d25a4a +Tag = 4181310c + +Count = 14 +Key = 7a6b60ca4ee043716149b43c9c26259a +IV = cc6c5198d3c1c572275b74caa2ca6a1fe21ac83567ae8f4ad5631f955ec058650f1257353641fdca1b01080e77646b9d0254aa7069c83e33ee5bafbc48fa0416647015f92165a761e402b8218787eae30a47e3ec1ec2aabf2c422bb41f5e2313600b70408f1b945dd7983779d6c7cac6b6d4f5dd93380e21a02ddd005e1e30b6 +PT = f3f6d2b4fc6afe4a781e0f29fc9e0f6e43f11c2d0e97541ecd8f49b75846c749 +AAD = c1ec1e3059ce2b346579a5b6ecde1a49f529e1eeb7d4a0a28803b9aaaa86b35e7c656f69556d4136398ab358711a9d37 +CT = 5efe759f854fb1ccb5c69e9cf1a6c8bfb78aafb06b645458e78de2c25860fdae +Tag = 6133abd5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = 2f1b35e2b94ce7176545f0cb6201a179 +IV = a0934b654c35a52c2c2b6d654915a87a8d9fd6e0fdc791c8dceebdc5d13f7fab5a8016f8273299047eea4a473b80b83dbe3a9c9a72664e8a6dd4e30456b745f86c48390ad7ae9274910966b26e5b76d4b32f59e20b4a5a068bd03dc7bf80aba5c381a38891aa94b39e8c474c14126bcc43998f3d23cb492ede7d6a62bd7840f3 +PT = 73c4e60a588dfe352f7719ed196744ece713d3249efc8c2d928d90a7a877eb4d +AAD = 8db80ecd10de97c1214f1837f83df9eb07feb42e8d8023a47219ad6c0b8fb8f71741e1d764724b7d645eca4eb689ba525e3ca689ccd9871491bc1feed4a0b7fff88c16282607953e26da03d4e978e78e0995e1c007f9a4e17779 +CT = 4160cbe90452711403b2579d3248f4d058bbabc31d656687c040faaebf4165b0 +Tag = f4f9bb3e4e342921e95605cdd782daef + +Count = 1 +Key = bd1fde6b5a3184d779331058bd253d3c +IV = 128ca91d8aa93dc8d06b1e9d7bfdfcc4a78398db5d0d97bb2ea1494ff0be84ebd9bf579e8470b110deb3acd1217f4df6c168093bc01cf5fcb6176a9c579157624aaa0a0aadf0ffffad9b03e21547fedef35eec5057bc7fe99d36c1cfe9491eaee481a965d79d6617bd28acf5e83b7cb9175b65702abf0b648e4079cc4cc22fbb +PT = ba561bc23bb2ff8b6ba2b06b088e459966fc916fc5c9284c3c2c9cff44c5f015 +AAD = 90c3dacf95ea83336a794efde4ced5c414126e1f52eb3f5399ef44f8b07ce8636db1420c9cdeef871c4f4ac8f727962b6642190cd5b55bb116583cd456f229bda53e7d208d3ebf916445d1f045eff501e413f8e48d75242d06ce +CT = b1066c3b02f71e1701676db30f3eea2e86bc3869f64bdb551eadc9c01f7c7ee6 +Tag = a03da0d7c125c4777bff43b047bbe1e0 + +Count = 2 +Key = 692ed91284c2d4dee62fa752af9d3c3f +IV = 17749a7050b13545bf38f86099a52a1b2dbb91075af9df352f41483e333fd888000f4702fa128aa7a9f7fb3261473009c51d02e25f809969e83d65157911cc233cfa73dfd34f763097475fc657e570cf439f15ade9dc51e4d625a8042f87197a5d31f213f792d990f70c5bbd364f297adb0435a231af5654c74fea14354275b4 +PT = 0c68e83d667c8377e591f6cbbf7294685ba3214c524df1a4e76853e9720eedb5 +AAD = 5cfe9e9ea1d8abd33a99bfebae842633d1ccc9810270165c1539a6f06a8024ce5a7e2eaa5d2ba1ab8ee5a57ffceb59fd8165bd108da1a6748aa205fd692390c21d967744b95d3beeebc596adfa5e3f09ca0619b54067df7ab86f +CT = 5dcd5db6971577278e4b4c5ac791a94837c7ccb6b3daf9cb511499e82c92b0e3 +Tag = e3e22674953eba4c116d70503ec04cde + +Count = 3 +Key = f4463f1bc404ea4331b49befed41b2e6 +IV = 859c5c95a4b62e739e413c21c5a2d3ac74a5fd3cdb3513d4391b99f082ae7e32b6da9927e52230d55aeff2c1b2215d190525eff322d5f3af941d296836c84dcd00ab54835a23f42ada25f2767528876419051aa60b8d478db9c6da90a4a32599eac8626845f7d80cfd5da7a7b86d4cb9452954616adc6ee0c8586d4b2150bbe4 +PT = a8861d6c2501033c4cdfc9a1def9c70be01c457d45bf8e70c6f6aaac0cfdb751 +AAD = 05facd178190bbce7cbafdb23fb5dd519390bd97705dff20831223b7c71f2503877697619b655714d836d1dcbab24a232743b9173d6f771a3bbb767d620b7a369a6b782c9429a45d4b06b488ac918a01203c7c2ec9d9df4ed289 +CT = a3ddce75793bf1dbd9c6c77fa96c508a015872163f4949293a8546000d5ab65e +Tag = 2d45064f9a125f3a0db991db490c12e5 + +Count = 4 +Key = e91cc9a2feeeffa0b98141bd8bb6cd32 +IV = 72c79ebfe4b7dda9e9be6c4217356ac70db4eb1a2b81d9d148510ebf1eb61e81b244cf33808764d0fa9dca76eff3174c56e1597485f1cd172ee278e289cb4c5f18492908aab7c77d711e173f45fbe7616f03eed21f28d644867cb8f8834fd23114a53b35ee9f5fd413cc0b3cf6362e2d16345daafd4ad8a8ab11c41a6cfc563f +PT = 9682777b08fa1610243807a37bd052017d4c51c52f209d10eaf7cd416ce6090e +AAD = c13d646686cafb506e8f29c84cb7faaf5fb3df9dd0496cc94236cfb60531d0496ccbc6097f6a62f86ce815a81e3cf7c6161bd0c5ae4d26ee6e6cc718953001148715976eaee97075384332039725c334ca8ef730e2e47f6b913c +CT = f4999d31303defe1f0e49c9413124250bf869653bed76f36eff2014b508885b3 +Tag = 747f8486e619c1b17da7c2afdde75bd2 + +Count = 5 +Key = a21e29fd9480f7230ac4d649cdc9a8ae +IV = 60b57403ac1fed4b81e7bb0879cb7436d4b177373a123fb0f310d4b4a443139cec34adf18e0ddff243f0310ab3c31d2902e58594813ca92c80a3eb61ca5eceb02acb7673e31c6672f94cdb608b0f901450715a3554ce231f10eac5bb1f83d837bc2c84a73fc67bca80f8ffa89250a8a08cf4a97ff6c52e8a2125db002a173a16 +PT = 37b9fba0e2077a072d9cb807a23abc6a02d7388ba60c77aea334be7f8196ee36 +AAD = fa6cda7fd2e25c88992a8910c228bafa17400fba1b46c346526d5d3f86bd5bd51d23e38a39278ceaab23218088523985f8eed1eaf58ae66c467bb58e28c5addfa2966f95703068e79ab6c5499af6d252e8010a99292b293b7b8f +CT = dca42f81e59fa84051b36279ee4c6179afce150c59ff4ac0b33db4f5ae3814b6 +Tag = 36608fbb75de5d896ad13cb1f5a7d35d + +Count = 6 +Key = b6f1f444bd7d08cf1882413f27aebed1 +IV = 6d89f0499f79f650711d78e893437299b4a6e3cba897b9bb4117fb26d2dc75d718edfbe69bfa69770e8d89b6a72633b78453342b9b6719b941d6cc8129c8082ae1312828d82b77d72e7d518ad3bfc028ea7d1c8b8960e5c18adac0e9fbe4fed4b3f0aa079ae001830be48e3cd6866470f8b5839130e036c9e9b58f60952816ee +PT = a49275e27e5120c80e60db21a8ae9caebd8471beab2a19fde07dafb3e5c3e026 +AAD = f7a2cbf15b927a1a8a7473ce0204630487a0a8ea9f84da68772f0f3a387dbb8e237e8f56bde3b7d1f48e9255644f76bedc5497e3a2365f5338eff81cbdcbf2574acac22784ca2ecc7afba34e21c1a7de8e66b91105336738ce9b +CT = ea6ad3fac73fc0f3a792c57d6c7688969659f3b9afbe563bab8cd6d79c2bbef8 +Tag = 03e973813e52052c0718d68362f03137 + +Count = 7 +Key = c0a5d9786632b42e575182f2c029639d +IV = 37e59521d253017f0b415b16d2b7418cceca4be1aca24332fbe8ec360ccf151d35aae56d99a9e723dba3061efb31c5d15da0f7ba14f01978f34b899f17ac1b34c12394994494f0fae81aaa9bf4b6e162bd2a9027a2d70b6d7235d8863de8d35e6c57c30f2a2a5fae9e91b37d672cd8a91f5b8e1cdbaa46553f50dca728a7b3ce +PT = ec8115e360671858eeafadd51247ec034436d3b51dbdec1f9b5c588c3a5c9204 +AAD = dfe8abd8144ccc11cc6999b2ddc848277ea4fa0604ce77854d6225ab352a8cb3b95344c25043877a975b8537b26bb35c712d41922dc47ccf0f845685c8720a6d96a163ee13bff7fc7f79309e6649d94dc66a26b0fab50472c107 +CT = 248754c9e1c184ccba9e2cef7310cc5ab4d01c42f38b44e15043fe5663d64ec5 +Tag = 1124e9a78b205ae3a5542b8d862a5ace + +Count = 8 +Key = 380aa40cc3cb14dfe42afdba0e7aabfa +IV = 00853cd2674be0aaedbfea497ed7631a51b2d58f0bc4d4330410bf22e20f1b273fe169ad651f4203bd5748d2aed216f8ffc455f20d2a4327f481db0f551cd4c56d81ce1c433f42320621eb58863410ccb312b2b01aced83077952e70904b5b09b6249a5c110251ffdd92c36de0fc5db630a26cd37854a6c6e7bac53aa90db36f +PT = 7c4bce9c8bb5c1bcaa7462ae8850f8c67a14f5096491e03a77b221f4a38a7c75 +AAD = da2cb9708b9751755accfaffd7c4e424f57c635972987a3889de57cc4891ed61b9b1b5f0050438381c6cff71a0f9bf3d359008da9a0e63c5262c68b08863545f5b62142f605d7aa5d977a7bcfed66d6b5739171e20daf974a827 +CT = 5aae80cbc167a6f323cb7c9f1fa50ef42715d8060a853b6c1122b7e19f31529b +Tag = 5c9b396ac0bc3a59689c6fa0522de7ab + +Count = 9 +Key = 9ff79059f68eb398b573559219c8f19d +IV = 8ff6711dedbc99e5324be67e2d9d055c12a4a51391ae1bc9c9728675a0904405f983d40737067ef014a55d48e1602665715e2d31affce525606d89ef0198d0ece264c70cd7f508e830ff4dd850fcb0d85d7d51e8a2d93df86b50390971a0d5c16e6c126504859ac1c147d72234892ee1f8455c54f7ac2a85a57733cc8500e048 +PT = f7de3cadf7c03f1b01586ee1bc32cc91ea2e8e8a9c0daa3732aa5db9e16ef044 +AAD = 853615cb837e99b0852971cf865ce9e93584386022cb3148f62eb70bd923e00e577d2c9a03ddf1952e7eb223c6cb2252aebd07dd939c47d81066962a9e6ef6535eb958a3faf3faa51c767c19e3a68771ab025762dd33b9f7c4f8 +CT = 2d2dd8d91c9a746e88b43919613844b84cc638ab199258755c8e00ea0314b1e0 +Tag = 29e848ff6d7a4d6cd34efda4d8d93193 + +Count = 10 +Key = bd89b78403d239f119872fa8054dd7bb +IV = 8db67ac17af2deeafa1a9d6bcde12b8dac49747a26f29d17bc3daba86be09199a4b5b43b9938583b3e006503426c7dfa8c8887104640b3406fe6d311083d03c443587a1776c61fd54aa60d4f337f9d82dc3fde93af9207a4573728bbfc590a685abb9a4be2316b9e052e68cba3dbf36122edd7e66bfd0cccfe23e4dc3ab68551 +PT = 5f08a7b3de336d20792dad13f4d9708fd219ceed1fa2a0658ad7542353bd81a6 +AAD = 2867e9fbe5f2c5ecd0fff775a59cb95a006e0466b3c884b752361008647d33c8e30f7dcd1092b21463fd6de0f769bcbc30ea9ab3cf7db7f2d15042bf9b346fb79ccad2a8054400b8126640a2b2ed40b6d25e4c405f15ac855db6 +CT = 207c6a910d8dd1f6f64037eaf165632c0363981a19369ad3ea9fbb85722d1159 +Tag = cfaf1c7fd9a41b6e6bf632096fbdff8b + +Count = 11 +Key = 500ed4ebabe46f13865f23e6fa75461a +IV = a527bb8b14631f0f427a8a2de1e28de9f2f7e13619c2ab738741df750f605a898fcdb600ebce59e5dca77e41373b5044bbdc4c717a2ffa9319e29c3fb1399fca9dff98b795aaf0144462f9ea69bc7ea4b8c69ca1d137ce708e544ef87e2aed0bb9215ea14446d3fe8731cf63c26180dcffead5a2a70b8e46f6c136a7b3b8b598 +PT = 0a77f9d364bebd94d925b6cc2e9eb9319676ac2cd4b8c0092addd5b8ed9cd8e5 +AAD = 5d2356338066631a23bd76ea73153f3c187d652c237bdc0babc871672dc6a3fc0701cc9a66c561412fe8306a43b3878be611d9cc1efa24908fea924d7e4cc8123846a9a495b61dcc95c9fcaf5ed6205e18cc0f9b32ce1a28643a +CT = e689700c1de3b639962f511f0e72f4fa17d8999d4a943b46c2d66be1caa99b3d +Tag = 35d9b62668dd2aede74bc6a15e17ecf2 + +Count = 12 +Key = 38fb973bde6ccde74c45cc2b215b6b9c +IV = f48c499e0c88fc2b36f81b0d4b1fde82172f7f2e5889c7339f8e2d313094ca928132b3cc531ec0aca132aa716ea37b396acc6be1d6e982fd413bc369b5a6150e68b6aaf5fb41d9cc4342350f530b19f21da0527c3c65498e84ac1858fdc338dc9fd17daeeca8f6121a6d685f1a2801f4b857f2f1349aafbf8ecb816f0fad7f4f +PT = 1eb4e10318e6335ed4d4dbef9b0f9e851bfe5a420033ad18081ee54f0ccfd17d +AAD = 63c62bb7747e60791bd88a4b4f0f9999d100f7ae1de5c1c348a6a174f56c4a7717882e4accf2febb7f5dfb064efc14ab2a4d4517843e36c3f9d4e111a7cb7966fa3769f68b03313311fe31f1c2fe3463a22d1a8315390d672844 +CT = 7ede76d67d883bc6d588253c6fb6e97dcf15313c1991f91be5c17dc0a445247d +Tag = 3fcf5354adc866712b91d3c8b9452693 + +Count = 13 +Key = d677adf26ae9cf6f170a7dcf96a87c02 +IV = 96030cb2589dd61ca8f0c6074c5398687a78869a543bb3e26a925dd5f0aae6456495de3fbb06bc6381eb71fd3976f50fc632897e296d5b0e29ba94378d5f2e867817f99066447819c95b467cf3253f2104368ac094acc0864cabe552a62e1260581a83a40beeedc03a674433c06130e0157884edde5172670cf8caae4faff587 +PT = 7af226176fb4dfd9e226d356ce800e978bab04a80f8f1667eeeeac6d09a71b27 +AAD = c2379181c6f5f170a8f9f2795432d875ec4267fa550315dfbe967a47ade93560b2f3fc4f4dd35394585c9a2d336745bce94cae831a9dcb18417d3059ce8ff018b771aaa753f68f9381a3c2db91ee275bd2868aef84ac065047c6 +CT = b1b80196f3c90db9c47ed647aa0c61b1a7dc20b8ad982bf2817e05dd59aeb5db +Tag = e57906fe1e22196e1c23437957222286 + +Count = 14 +Key = bca8d8e29f2cb98800686455759f7081 +IV = 4342e3ff54b3b78d7ffc3ef8ca9e44e202d0b07d71a2272485a8d56d23a6a0bf1ab666599710933d62c2ebb21bbd3278c5e90f1413c95397e8cf5ac75b0d4591c8da21d7ceea630277a8503386acadd38c05a88d382a40cb537af8c3d25df284eb4d96092cdd055cd294259e9cac2040e7decdf5a3948190be012d80d699bb2e +PT = de88cdb7ff20b94c910b7faf29e4da9c3351dfa434ac9cfcce7bad4de5ff1251 +AAD = e13f57eb5394f32f2dc0c0fcad0c5a9304793699e7d38f9410008831efce6c0dee6ca1d4b18146090374d98bf517ed5cf592b387c02871462cbb112937c6833244f314e273450c02b0f7573761d69a58ba7dd8bbf9537a7b973c +CT = d19583c3cef82756f14b2417ca091e7f76a85bf37506cb206501ec3c63df4f40 +Tag = f8f8f24874477a5d6aa941fbb8cabe54 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 804cf84184d0800ce3bd587bb3afc49b +IV = 5b53b4dad7e06d914ab11ce80fd197a9f5fbbb39bb6aa858905083b57131b9cc653fc0abbdb7c79d604d40c791959a9f465587d3233d475c49dd900ed0bc65db057eca41e671d91624ee9e48bcd3e6a68f68a128edce5ef5d5e15093858a583967626db131e30e4b0746944c6766dbf2ad437cc1c5d212414722b0e54e732366 +PT = 88fe94138382cdc6adac9b099caaefaf5071e95ee6d6d05307875b253a7382d9 +AAD = 2af8371afe9af039a2196bb44299fcf385c3ebaa2b4cd1decc0c9808c83ebf1cb61616353a7ab894e50091f7bac4668115286d78ae6471e7ccbc646b75f849d01e16ee27da0c80975a374e31c2809a0de0e7a4d4d37dd45c09e3 +CT = 51ec22c494e0398575beb3b4ebd5e4e994a448dab7eb1a059fc1b8d0e735a947 +Tag = 2fbc884f8ad29c28e3bac96c0cd7f3 + +Count = 1 +Key = c799c3eb88d0707a67822610d6444698 +IV = 4631f270b0e9e2ceb054f8a0e9c6ad0e9eea420308a6a6dfd30cf4affed067686807370d686eb9417b5864988f683a98b4c1a62317e76e1b3db9a4eec65a5756c361cbb41aca0ccf98b92357e82d79539316293fa0cccd72a1635305228f3fba39f01d438b0c0c3ef38f411ad37abe8def000404ca4aed1d86280d33b29dab78 +PT = e9c0d3bba320ea9e3f3eec1304d2cc0001ae85bfebd8e2dd6bd2fced5e80a562 +AAD = d14e3e272bef8d7f4f5164f4c349cc4ba25a70c47fbbf94363cd85bd33dfeaedf535391ccb371d7e1f56d61dcc65bc99cff65bd03d758e1c21b23785548d2dde919cf1642b14c0ece9ab457347a65e180211d7e9849ed15c8762 +CT = a53e6c6659d0900524f227cee9f83a52c449e4f47cfecaa82feee81e9cc84317 +Tag = d910c0fe7b2c4483de74c886a55a20 + +Count = 2 +Key = 7d407584824e703095261fbdead324e4 +IV = 30ddcd3a042862bc9fb1a206441414961c1afabb99d72e36e2e04357efadc6afbcbb5bd7dcf52367152a17317fff077d77ebe296a9fe9973152103afc444229400c42d8b1d2d8fbec39104b54eda58208b6a47bfd3ae46624ef20cd5bc8f48da23ae342791ceab2eaff6bcd3ff957093d30a9e93c288a76fd8d38d0ac5f6e864 +PT = 1644b6688df59079adefac6634856c1b51b0705f53d07d04c265aa40dbf43656 +AAD = 359294234210e703880b0c9cce3e44dc42296cc1b57b91aab984a05ad29379dbb882ec34cc924ce3573de761320533657608c4de4a4cde859f6945c9f232d0870d29c84334f123b63c59f00872fdf6d23b058d8f707f84c2bf5d +CT = 1631d2ff64d3e630653fb69b08eeaff3725c605188e639e3f1ae6b67acd59a6e +Tag = c7a1e02499062efa60f95ca8384afe + +Count = 3 +Key = 5e7bd95f3d3f1fdcd539ebafac9ff197 +IV = e6f9eca58f3d8d2d1114d7079a91711de333e2b23825680e68eed2bb888de72ce64e4f3382246f25dfc6323fc6d5177c804b0091e8d121b2f048aec6c1d555aec01fe905c8bc50d2fa6de0e730fe86731659c9031daed7ed5ed2d4ee1461665b74ef072cfecbe8188dbd1258cbbde4d8178f39622acc260fbe971ac81336e5c0 +PT = e3ab13ec16f8d5b0eec825c5d9e92f3d7da5778b9ccfd11758c23a2c53d57273 +AAD = b38e7a934dc426764c9ead2fb93074e0cc1b7bc8d1718c579aaedcebe0db9e60f2638a0b9d0869cd0390e6076e2f9b45f60cc4dd1ed4940892d95449818f167350e3029108d39dd3701dbccadf3f1c5873ec8055a82354635bce +CT = 6022f91495931c7e44ad7bf263c0d9fd3eabef992c8b344035750563d2f55e22 +Tag = ed1d589ce2b21626f85eeed5f908bf + +Count = 4 +Key = fd6775c9c7b60669b9b6d419508b8702 +IV = 635429cbf98849e0a2e02c4d46d107c4a5e649639697e1b011bcb0da253dd81106e83a8b584bb61a1eede082b6c399cee32bef8ac90906b805969ca0694eb05850c80b82b3bad766d6ee8d04efeaedb33630ef7dd421b3b0d2c2d68725c6153722db60168911221e4ee3bbe49b1e0913e6c99a13cb21a92f964b676c12dad715 +PT = e2c9e928093555dd20a453ff2232681e7da6ac9e7f3241ad6b81760ab489edb3 +AAD = a8a7cc65bfbe8664355c2e821dd9523ee4a837a9e86359e1430391ce3342812732e486c99ff6e38e10cb5528f88330312f11e57cbd6a5bbb17e55719d42592339e927e049d2fb463f808cb6cd732a91b3db65c6a0cdbcc280ec7 +CT = 07005a6c0b109eb01c0e8ba2a0f9eaea83cc8841c311e8efa725d1bec4132f20 +Tag = 61828deaf80ea524e24eba6797bdca + +Count = 5 +Key = e3f7dc0c6a256d751e44bd284fdb7476 +IV = 58181d36a62e0e4946aed579ad1cea491a73fade92a64216d9f179b05684929faa3fae78311fcc1fe883e15543ca5559f3548bb5c4bbf83e139359c223326949c00068adcdc09619c06ea0dc20af8802239f6cab02190ef7229a70a7cdb3d719eebdc8058097cd5081412e354eac155c02ff3f70a3edac61c1ed8e0c4b742b24 +PT = b7683edb57f8e0b047e2561cb8e38dec90473bcf963e486ae7da409708b46452 +AAD = d1a90eda2349e77ea2b612bee2d85c6140c53b2c489d0ce0e7ed7cbb1fadbf5beff101a4cf4b36c3b5790592c86801ef46923fe1115054bfa6e44d9fc7a5e938d4ef793b2f19f9dd054d837a6479d8b950b97e6a9ba3869936dd +CT = 5c3c93fa01b6d9e8f7d44d2f44ef182dc7dc888ff9a613bf2726f663c8eed20a +Tag = f65bd1fd5f3c89970a8c3e0a66690b + +Count = 6 +Key = 71bbdf7f7f460bbb6c4c195b21ecf160 +IV = d384424077f4bd077c3f2e0f482920fb16aef883434dce6e6cb89a978ac072000ae1d81dbfe3eeb90c1113ef6720c889029e9649b715a359c28f11ce04398ab7ee11869ecf7d4d0ceee4c31a559fc96aa5d7d46704e9afc7f8558b58dcdf3c6da164793a2cc7f202e7e96ff89aa114a3fda37d96e9239dcac0bdf3a7e25ad0dd +PT = 3b799937048df174cf408a94421a99fdcca8be9572a707840824831d519c4321 +AAD = a6cd2467d18b8c15dc9440c055e4d0fe0dbed3583b73dd30636e1121df8105372c8c8aab51fc6007379ea2ced5262ec100ac971fb8ff66fbd39efc84704804ad6ddb1f07062ed257a52f745e61d47acca37792fb498eff3047a7 +CT = 3b27e6e4abae8bd3908d36671b92de83c597583ac044252ca9226178df21d21e +Tag = ee213f4207aa144f710c3026bf09bd + +Count = 7 +Key = 60a3d14eb7030bed05d08bf0060335ba +IV = be173da6a216722542f59abe72595920dd85ba9512c8daa88a02d608c310dd7c5deef321bc00ea3e10e2e819e953780219caa988fe347a800517e899611b07cbeccab083b8bfcb845e460320de66f9cdf81532647e31f9db31e36419b6da13295f83dfc5e7625776daebd2b497f029afc6005d224f992aa7cccee4c4da419473 +PT = 62033b3bfe41a98d6b309162a363a8f76068581ff7a2e175d8b98ffbd50a1afd +AAD = 124c580b6a5b022f5509a588689258be76a6936fd3657379e4a2ad2ec520fcd361884f4f9b1de6e9ed8c56e71202126e1cda9d57fde9bfc27cef0a1f80fa46be96e4453158c10793562ba394c6143a0b0c3cd4357f60d21bd0bf +CT = c01feb9dbc1c7f59b0aa658762ada378118b8d3d8efa0d1f0f0e47aa3d545769 +Tag = af6fbbbf02c188ee72e20064fb021c + +Count = 8 +Key = f992668c860c38dd17148a9ca357aa71 +IV = 0561b69a65128112ce0e9e5cc3558681cfd6aaac289c69c2a366dc62776151c16d7818178f7d0cb74399076352b66222537c78f1aa38a84b21c951bfd9ed203ac5a05e93b9cfbb034e98f00a8e6a6832f1aae6f2620744b16a55003a2f04a2d067fc77d80b162e7088cd03dc268a2131f00db376d13cf1e34c9c187252cae83f +PT = 68f1b50aa63ef596e7a9158a1d9939bd3858a78b7388b0c4c7b5765bb3290742 +AAD = 3c9c4741298076c95dcdf236ca7ac475abe1f25e6d2234c7c19a0078c2f4f89d658d9e233d2c11886daf9d693dcbaa4d28b743989d02d48bcfd0dea5ab19c516d78fc457b8008a8907591cf7e8a6d7d6966435455cb026b977fa +CT = d90ff6751110fcd08562bf8a54b5e2cf4ab901e07004a4ae22ca3cfecf9e32ef +Tag = a3f6478b877ec2915ee819903a7ccb + +Count = 9 +Key = cf9e978678697d9e80a46970971e3bee +IV = b89f420971b0bce45858cf58227b2e5424e1303ebcb254665dd84b1953e9b74c354d14eff70209e2e3c5c5556978dbf7bb5e62bcdf292df724d3b29de7a99e885392529c010a50c0c8c9555e1b02c660ece421b8502894e73bf24a4fc6c9364d3af957f55c44f669e8ab96848d6d8ecc53abec14b5c31ba454029f72a53a2636 +PT = e371cc60bd44a031d6fdef1c7bf3789df8c1d79759bfe39a0675378f712f888e +AAD = 1050fd51c57ba81f6445f402569d8481be69e4b54ef014e01f52fdc5b4dd934c18a524960b0a86804d561d316664d6c775c980cbd2c8cce214e66a754c210ca11e7030bda13136ebb1678818b489161d2150e620e1d6f0d93e55 +CT = c6ac50cea949eba2a8dfcc45c0c6ce8b903ce1303ef9f327156248f9e53e939a +Tag = 611c18cd27be28d7df5dc310303b89 + +Count = 10 +Key = ebbce55728fb70d05a6716570ec8464e +IV = 890bc5ad4b9d0174ea3c3268a1cdb09d12618261e7ac115436997c80e641c01ca3c6e20e6885de8a57948d3c78892b8204fc296cc65f2e8c6b73098e5996eb354d762478eaa2419b5167d236a5192d04ed16156577e82bd1e38f4d019e2d987f24f5c3bcfee277b4f36e578c5b09542b83b12bd37c5c4d4855bc394af961516e +PT = 9e53657a5f6ca9dff91f7bc2075f903ade8133450bc350811b80c57fc804d6d4 +AAD = b7acbb7c64c0bdee4f139aa8a21dda8d2330c7b6e0919884ef60646cb9b7527ece676a48863214d46aa9d51fec23470467e39f206812c5bed82b44ce5a9085c75422c09c4a0e8638fca45ca6ac77f00755becd108efd1706cefa +CT = d3405d2914406e5fc17caa486d162d63903d539eb51211ff95f12a6d24bb6ad2 +Tag = e786de6cae211168b601b0e4ffe821 + +Count = 11 +Key = af4440e7c4ed20d54bbd83bc2ffde9c7 +IV = 1bfbba31c9825fa8b570f605faf46b74c32a1f3b646012638c76061906e6ae14983d3c45d30b60067a7aa3a1bde0ffb8607c99151f1769bbfb8be71ba112ea251a584aac34b9fcaecdc8ac9731e08252bdee58f7151f64b146e9497a65cd7cb7847b0415e40e4e81c66fe50617afc17aac33eb56b2d9ac89834d71be48d5796a +PT = 13d671919dbfa06c46f4b0dc9437d625398c0822ba4b0279749bd6a7fb7231d1 +AAD = 170853e60cdd53bd3e7e31aca4dd719573f7ab07a351b28a1d82a2372acd32fe89281416be1bf5215848615ce30baec4e9897bebc2f383243f9672eb36a8b90ab34d01bda717317d10a9147bf9a4f08cbafc0cb5062c889658fd +CT = 3a9a58b9746027b531ed9c60d05d2870f3124e15ba42e67ac311a7c59ce4d3fe +Tag = ea252959644d1f4fb2bb8eab0c4eed + +Count = 12 +Key = c7c4035153877f8b2931647200725618 +IV = c4c19492d64ed8c50db490943885aa8140b4a8be7a61ee9bbc9d43e51ee17d0767378fbb983949ce3386ca4576a7f3a67dd3e05e0d21c5b3b47f87737a8a7dda4aaf81002a937e3c884d6a7f16aeaeaa33defdce46744271a2a0be7e256145554d6f28f67b6754810befa9394e3494176337bd6ca379c8cdc514abc2ab4356c7 +PT = d64c341c10a7a875eab6510e63d4bd97f79a7c5c17acf78246ffc0cf96420734 +AAD = b8a551057e69bd0f4f132d3bb0a7fced0d9dc27c51f3aadd30a542ab1dbb116ccdb8851a3e72f2782bfed059541c9f2d357bf55b6dd0018bfcb536359855f0476046edfa20262fa1fb66ca1e3c19c1de6872ff579938ed6aa527 +CT = 485f227ff0d00f3ac23532ae417928f316b916ad29b4ff4b56f9f62f190a85ec +Tag = 3c42290d1989a3d6061ac488091ffb + +Count = 13 +Key = bca45ab9fcab163810f9ebff3bc01468 +IV = 3b6601d1a2be1893bbfdec87f29453d065e7783372e9751ea9986343dd9c27680a06141be347fbe3307ced6896c7c8090245e75b44b8f6741c43c2e44b2c0887e785ba5e7f88c8b70ccb9a80725ebb2e5b23112749cce50d94882cd457e67c7b4c54724696319f67f94851919c11714712995ba949ce7c4933864effc22847de +PT = e728c1f3df3b3dd131e5a2a9bcf1f82375b3f51ad43eee0e1530215e8b6d19eb +AAD = 5979c60afefa280460e872b92c1a1ac97bbacf81d985597afbe25712b4b12aa18152f884620f6227d6168949db1552c314e64b128858a74e8e7a02445f690c9871432c395680864221a2cce61f30169f9d3146d9c138c4c7c219 +CT = ee417d7852ee171630e879fb070f678ab7d06a8f50900dc5ed9df1ff4861e0af +Tag = 9606d78652e8fe19ee0f10681ec88c + +Count = 14 +Key = 287e2901dd4f90ab4c3c3a440955cb62 +IV = 1c005749accafdfa23faae234c9bf2375dbbf7f10587ae8a074fb4fd80b70299aff977257a4f08792b2c8eae5e5e7be4dd2d4b2f4b2310ace16d91f672af1673544915ee53e60489c3189c9af79e6ea59bc4bed653b18e28713a3732f3f90ac4baa5dfb72a4e0b55cdaf872e129a904033f2976e4ea69f411c615d616defd377 +PT = 79e6676ef0af7991ed2be47f5f65640eb5aae1a20cf20c128bf32ab7271007e4 +AAD = d2c218d5230aad17fe8d0163b9605b81fc30ba021c100e32ba68eba30f9e184976f70034833a0084f118ef344a88a24641cd70069fcbd2eb437c09d8aea7c10367a581797c55bb84b2cd0fd45e393d83e073a1587ade4755ff46 +CT = 5cc4653a8596c416b30912e99971c6a4f8dd8f504dd73db6c2cf67b58d24779b +Tag = 3d76064f29fcfe0f5be141dc2b51b2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = bde233707324a923fa08ad7bfd0e46a4 +IV = 9024238f5b6b4a73bdf8235dcb5417f3c593bccde131342e4f59bd03fab626d0eb1d6e567652ee92fc8df4cc0ed9ac16d5ad505a8a24305250eabf3f87e45afe2033b8b0c7f2aafb4adbeaa3459795df2dccb2251df51bb78a6bcf010a8d721baafb6ae6be32706a7b87888890de72beb5c910a5342ab00aa0a35ab89e31f551 +PT = b8581a84ffa21b92834770b23dfad67a16e21f9445ec27bfc11d15bed184d900 +AAD = e922c17b58eeff41000b638d468dd6a7a9defbb1864a510a9173397194f81ea0e6fc688e82e7001f7580cbd16ca713d2475cb89dbc9f2ab3596d1917f309f889e401af5e0d7ed8e107f0e7c93a5653adbc3f7dacf1f5c39c68b3 +CT = f1dcc64a2b4fefd68c90cb9c1933a714766bbbb7d419e725a882b48a07c38ae8 +Tag = 2cbcaf90e48334db2e03eaa86d75 + +Count = 1 +Key = 7425d064482b6a6d7feb8439212a93b9 +IV = 44c9642c6d15bc8d021ac7b7978b1458d5f1cdd2aef25bce6145292b2f71232636841d5c43af380464a57fa2643fcf9c0e11ef6c91bd734a3dde3764d5010d1689e5a033b78390b99a4bfd048d7e7b81f52ab9c4bdcc28c8751ebd20e043ff639fd70acad7c097436c1ceebcca2b870b8872af3552ff7ccc338b12bd876937df +PT = 7c7665eb12f392341286bf2d7d78dafb52f641922f70f0a37cecb5d6dc70fd27 +AAD = dceb4331fe55e266d72edd24b0bfdbfeaf7002117fd89fc301be912bbd5babcd4c7917a1d3a2f6860fa6f0925c119c58a6579e16062f5545715d04b1292ce5d6577461af900d577ef593595319859004a4762b2c35d314180c91 +CT = 238d7e50387571498b8e4a270a7f6d5e7de7aa15e3510534b85db179a6492529 +Tag = 529345feaea9e808348d7b7bd54b + +Count = 2 +Key = 76dfbb4ce91493f397da992b204e6ef9 +IV = 57dec5e2daec4e7cc0ac2f83de13ea2fc5d0eb6a551080602b6f86121715a9f1a7fece2ad2b60bd8125d11028cf409ded9f1998d31a443d4b6e184178f404097a1dc0d0fdc6c5c2e95725c7c213c05efd20afb9ebc531005fd30876b96cbbba4c7569a7a970756a4b6ef26754c4f2b4c0a49c5339a585b83ff04de8d72651dd4 +PT = 8233619e40c0e63c1cfbcf7c0113e99d199a4d1f7a04d6ac669f075c1ba2f63a +AAD = 4c9a613871f3672d27ee663c2e6730e1376f4376c98d63ec91a73b13fce81ec54e8ea3774385dae1911ac70717366a0f94f62e46e71d8e4dd1eb8b2f313117ea288619ec420b46667d9c3aca2f84ce30d3a200cb87e80cb008e7 +CT = 837bf4bdb27f222d995c232a09c0f4b7b0dfc866e4f9a102438b92a631772d47 +Tag = 7e3d536e37ccb7ff2f59151db7df + +Count = 3 +Key = 8861f74f08ca495f001331d2f7c5a446 +IV = 5336481aa2c2796aedb36b4762a01ef498f4a61969f73f047594dc430af397994a97887293befb65108f1029d3fcf93991093b89b691827fd6d82b46d0a362c4035eb9155a80da0507ba6d62850b6fe5c17b525bcb80d92502695b77f973b26e304f5464f40cc177d84e3ab3dd4104f2c577ad6ed241774c2b3c9c4c046eb759 +PT = 1d28398283f0d95371d4af9ea73d86335b3780c943f95086a40a512a9b2ed0f6 +AAD = 7febabf7fd3663df55eb9317bb5b4d031dd448c8c8eaab086dcae7991c4e32bf45bc43484ede96364657c9e81bd072cb89bb74c396fe542c963e8983a186531e85dbc7300702b2a631bf895ecdb5e1aa2a9c94fb473861045fd8 +CT = 9a0a2ab66f13ac3ed11d5b9a246d409953371779b10bcc9c374946cd7ee97be1 +Tag = f277d96b89e249f241ea3bef06db + +Count = 4 +Key = 464c99ea30b6d2491865251d318409c0 +IV = f696c79c89272db0b4f30ecd085b10aba79ccfd91741578edabd475c6e5eefb16f4223ec5241a63f40772a777970060a769c091de264f33a50a02e28ede91828b15f253bf3a81f2a9329e14ca3e6336cba23a06148b7024dd48d78680cfc986be5354f9d1cccc463c30161c857f09d8b1e3b288d04b4e8ff66a8e6248811ae15 +PT = 674c863f7b4f3e77401abb4dfffb659fd85829e88074bd872915a0672af41a32 +AAD = 2bd8b6276a36af76d2c36838e1734a281db559b616bceff971f27148f9bf821d619917a50d5af527c89e7e8768f16981ce46a08f4069aa71655c1a3b6a6509aaec609b435aef91751604790d07a7c4f270cf036bdce26d039d0f +CT = 597135dec136c669dddfb06827cba3701cdf1e59e27129cf5f735b9cc147d4e9 +Tag = ba11be5f9a1f991b7c6fb8432e9c + +Count = 5 +Key = fb28ffdf1cad9d8be0896918ce0e38c1 +IV = a165319121452a98e0adaf451a04d9378674d65ec7429dbb00babab1eebf38edb636398cd5f210c402fc21ceb7dfec8e72b2100447093516f7cc5301752ac681675557c7054f1d4dc025e317fee0d45b872e39f6790e0d8336147e180d2f9c03a3efefbbdf27506343f3dc9336227e6957b10bb2b36ca9d78413a1195abfa9c2 +PT = df3396d8c04d5daee2e0b81a20e208c2204113596ea77ee05dee977825db2376 +AAD = cbcd2000f40f180984d45aade7897cc8bd8fc0b3774286838d700c78c1291b98f9d5980b7552aff34ffa5d0e83f0c93b12b099e9e0130026d9b83f0f543558f5bf8c0253cb841b7d1c4ff67bc4f6fc95548715b123cbad8a648e +CT = 5fb36d62c9a146a082135c200045e5aab7f433e07aebd83a39d5ebaa184aa37d +Tag = 61f52bd686a9c9f54c20130d6835 + +Count = 6 +Key = 043a9319cd394878acbb4c6571359dd6 +IV = 1953c0baf997842b93c3f9d662b512732de5b853b239c20403534d82fc702c92c34cda3b72e82d907deec886efbdad54c7e78e8d495319e66d78e75a434c54b157f17ed38e15f327581447aebbe3a672e542d90905a69b00fa70fdcf6efe1282374990ef00c0b995635b17ed83536cf6c18c5702a2124d351dbdb87a4f4b0bfe +PT = 48e5608f231e3e6c0a305119dd5cbc3d87637d9aed006b46e09e1bb70a8e99ae +AAD = 5d74864d32998649dd83a32a3815f8bef0016824df1ec180e22a6fa4af1296efe38866d411975e791ffb42d74d2fd13263b50521f76e98295b5e8014a6fc4e26aa4b2e29b01dc92bbb762b999b11d9ed0597aca4a05595e3b467 +CT = bd002116a50fed99b14deee903324cc4d91e1c5ee3bacc92e9482c7353a6e414 +Tag = 3ae74a05155f3521fea7c82a46f1 + +Count = 7 +Key = 24b7b07d8446a3cfac6aafe8dd3501a9 +IV = aa4a8be3623e60f66f6e583827936ce1693285f6ce061eb478e30c1d26125e13e69331dfecae500ba6dfd7a80549e0718eb0dc51e75e509099ca6612e337e345fe39f67c3e89f7338dfc38f8fd52ac1ad06645a215951a911194c8b6c9d8685acc690a954d24d4694cb0adc5b2561c0b7d4ccf8274e05f867e0695d69cca0395 +PT = ed96a9415ca68b61d0d43eef2bf32552555bcb8d9029a28645c725a303d5c670 +AAD = 804ebb749bc74d64ab7e080dd6fd4246e5aee69f12f0fcd3ffe3a63fe600395f7d7020fc9f377f6d01cdec20e9a5398abb2781c138c968071d0d33eea9ae5cd9619069affbb10e6f2eb511bb594eb753507215a8ca765f175095 +CT = c34e8afe38d5a19a9881457511cb55a218824dfb9a94fd7410bd092050a39bd3 +Tag = a23ef562c9ee90526f93e13ecb98 + +Count = 8 +Key = 5b6aa13e2f1f43f031112a27b53c424d +IV = 2f9de03ec72c3251089572dc14f5f96491a4cacd79ba31e6d0a5fac461e43077b7641bf67ca97803be837efe4e02d23828d25d37d1840ec92a22e3c598c9fdf2ceba1b0702eaca470adbe8ac82d601340af5bb22411e13a4622127560696cafa23ed789b8cde00c40c68c051680501bcab76824137637fb65f77a4624687ef31 +PT = 4caae5ff0ce4b1a397ea66c012ec41eea43aae3f3e514a3bd0341e844630e24d +AAD = ed4a9ab4b3d9d2a2c68e4f7e1978b4d34f7834e9c882713371767d9e4ffb4e137f7042d722e2bffbbc9dec2437b8f88747f5cc267790c13df4f3aa8c8ef66c9c961bbea257c2ae7b237996e08a8faacd31f9e013971c14bf5ac6 +CT = 6ba2bb64bb6eb8d3c3c20e2ddeb707ac811e5257149f42caaa1a24ce6a437b32 +Tag = e1b82d6f3ac883e7888f8d7f446a + +Count = 9 +Key = 03e606af08c094453402387addc45042 +IV = cddd74f7bb8a3f582e1b24b7cf56e66bfbb7644b94f64f962d13ddf0b0bcb0bd6d808604230b14e688d2949f0cf3e04fbe424702f502bdb7935c0cdf5d1745d7e5bb9a7af7ffc9fd1664cfa4f2e3a1e5694d69e0022487b60579e4b56ca9c10b317399ceb69b262ba3cfc4f0ea92673f6165930b404411e0b60882fd975ada55 +PT = ef24a9ef850ea6abd94fdbede9dee45720349431e7a56bb9dfc3ec14fdcca89b +AAD = eea48632246b134e7da0e50f30ee5aae7116912f3a8c37dc34dc6fabf4477073acb7bab9bc4ff892f9a54926ef4af0dabd5cece30f79f38fbb4794b2205ecebb536652d0cbfec83f3218e8c309bbca02ea8dad091be56b23ffc6 +CT = bd48e9e564ec6bacd88a6ceb51fdae19c81dc5806051ac4ecfe3620c7929b0ac +Tag = 0afc752a1be3249c9cfab629ea84 + +Count = 10 +Key = 23a5db64165ccf8a97ba9ba605cf5ea8 +IV = e46512588785c26f5a7fc6459eff124d78276b4a963af71fd6f9c7dbd2d339a9e34a0d7e4f6cb21af3986980d1acdaebfcf342822ce84e363fec9be942b81b0cfc2b6b7baed02afc5c880d829eaadf36048952222fae80e556cb8bcf39e8fc7482d44cb2a31e8e5d4e2a7ecd2e68f652c8ff806273631d084497536954b5cce0 +PT = aa99d4d2919b9fe6a1110e50efc0f21a485ec5fed0b027e3373b697c6462c9a8 +AAD = fd2b03702d7bfd82d38ca653c38eb50d9a168af26e76e1efc39c9cac2e33cee7ec5dce4725e24e60d50f2749f85455fda786ea8d3d637e0ea01b3ee231ff3304936648cca490934b4ca2f515019973964324a35324bd35366e00 +CT = 767bb2ad9599f874022c4023acb1fe25a6aa9b07b0f26f6aa3d615310b45a865 +Tag = cafe01d69ddae3640ac66823446d + +Count = 11 +Key = b0a6a0e9dab70c43ca0d970219850e72 +IV = aff9df1145cfc96e317f70d41db5281c906f68df01089c1e5d1d50a905f41c9ad842d33fa83716abe84f958b58e7878f85a018693411dbd280209810d3365a1320da98695b9fc7050c72a0fb6271bb28a49e40e8fb2c2f70ce0d7528320f0b6a72b37ce6b5e563e89aa010ae3bf189bbedf066b2e73a1615e3882a7df344bcc8 +PT = 30e546ec8bccd459761bb9bbdc56ea35d2536ba2edd7a5ec7b3af4a95c7a407b +AAD = 92a255ea478fd7430e79b374926d308543a834de91a41f90ecaa340d1b0c06504df6ce315e7f8c5b67bdec2ea687bec8397f556d3f14dbf172243bc88785d7652c50af6e864b35b4c4e554b36f13bfc120d857b1f21403879704 +CT = cd33486ee177a03f3adc8629b3e84ba0603d379e924c71e7091a9664bcc727b7 +Tag = e16d27408cab9d98b1da98bd630e + +Count = 12 +Key = 264d7550e0ea5ec307279e08a7d16279 +IV = 2fe0e2d2cdabdc9bed7cc22af226dd749c4275de7919e07ccf7e9bf14c452b4df7e8aa431c02924248394f82ede0d53ab116cee16c7915ea1084ef16085891537b7e316f74e808831576e7b1a04258e402c3542e15fcc7c65ca7301487811ad811bb6584d3b4a2cce9d3986429161a9bca01c748efe4cf6bedfadca2debb4d54 +PT = f773c41ff90eb0d0f33f3a2c69b89e07e005a0efeeef4c45f09606735c2005f7 +AAD = f56d895f696ab0ffa8c75f5882c900464dc993123ac645ed02fd45eedbd58babc996f161378612e140c651dacc21f038b72ebeb2195a83987276a17cb7a848a71e46c98e0951c3cf78ad787e1ecf426886f31354e0a68fcef832 +CT = 152682fbb1c2ce95f87ce1c7c5b7118b0933fadf4990176cc668e798d3dcd30b +Tag = 651a10c309b01367d63a3d013b4f + +Count = 13 +Key = 9706b74aedefeab1516b685eb79d74b6 +IV = 37487339dfd293441469f2ca88900b19ad3744eb6140ceb380c706245d80d61914da0e5cfc3a38873175f0b8d2535503a1e7b34d44fd251eb50406120d64abd01dc09e9cdaef5e3a8c74c0a9488a89de8373e22a4841ab4cb8be022770fc98709c3b805c7aca88a46330d5b3606af3f8f0e4ffab116e632cfac485f9b6ed72f4 +PT = 9dc869c482e0284fbabd46e5ba93769f6489bdf6468aec42a4e485e7f9ad9e4e +AAD = 1eb6874d56cc6b736f5e599834066a3ab998f98d71ad8f534d74f82d1a33a7c26b1438bc129ea073e7ef445f354031d9cb0d1bfad98955bca7627780094b5f9d0fbe1b767f8ac0613a40290b7e51614ffd94cfa34087d9b6cd3e +CT = 0206ca812b1e00dfe909e5095d2ea5a830c54f57ea1a893ca7027d701f88a3d5 +Tag = f9e8c560abda72fe5e06ab0df4e2 + +Count = 14 +Key = 2ff740cfb9acd5ce64ecb04b6af2820c +IV = 707b167858f69dfbe573359f0b6c44f62efc9ca9a9ec9c04f600ce68f96ae2142fe07b4bd717e93e991d3aa50e25c8ce969ebdf198258a641c05523e851c1842881f8c34165473dbb12c4fadffd05a9b043662597ff7164a6f8e88fb477f365eae44f3c4e6c5d211afad89c783cf28552f265d4d32f31342b4d644d776c3170f +PT = 55e80780f4f21941e9020e93c2826c372123cacfb44ddb0414d6b112768c605d +AAD = 0ec05ea50b1890c92901838836c9f7f0e4287ee7361776baa89c30407149c91b8681c69aae7a9731381a46f21b86b845e2b40733c35896fd4251ba833e65e76a897d8aa004cd53597e24668a1e91369f39112189a2a139603616 +CT = 3ec3ff4bb54ad6cd5dc0d054a537b794cb65d6bcb67c97bbaac7eda791657c81 +Tag = a125b0f67b3331fad18cee5a70ac + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = f3f1e99011b22debe86771017c983379 +IV = 73c493907d2c581b9d558493ee4f2c30449a51e9fc62cdf2a4ce013829b805f05074b3573f3479fd115f8e26db2a50fd0006a45d00101783594cfba32d206481a02fc9f9198b0665f6f841ca394f8cc2df22b581f36c7467cdda0a7b23a93232067eb6bd2788f398d577c29366ee89534ab7da26e4c276aeb3036fb4addfb6af +PT = 64debcd1042cabc6d5f8e8c09a93400664d0e9c79f51e5630302566092ae44e6 +AAD = 6a951158ec53e4fd652a90f5cfcff914a5ae1ab17948fbef023be7ab143677fc85a83710735b5985d7db993246e5327bbf0295731d75385ac61b4d668effad694f6b6617238112db938c0a45b5bf3cfcd69069f43c4384b49f08 +CT = 3faefbf4e542cff5912fc91a88a303c23a896f5eedaddcef546d8c0caeece626 +Tag = b1ec4e8a6e7e579f09be39b847 + +Count = 1 +Key = 91d44e1c3f1ab75e820642ba1c7b3579 +IV = ac9216253e5d41577e4a58fb5dd082fa97028681f7b2bd80c4116b4d8491986c73c470353161c26514d137b997930e249acdb7854b50e1bd0bb01c4ddd81686b908b43fc8fd812e1d316b30729fe187ef0ba76fa94c159ee6159cbfdc477aeaba5fc95dfe917c99a9042d313aaaff50bc38211fca83d87a8b8a38d53c90c49a0 +PT = f0d585c98fbb51d96ddec6995ba5a53f339466f0ed22b23c24cf0bf35a76b9a8 +AAD = 041661081039af0e5c1da10aec5eac7a634c73a327c8529726e15f621ee7c508eeb26c7d58ec8e111e4c8c1a082404399b2ba096448998f6e6c8e86f546d5481bbe84fd1b71631b5acb4dd20761245de4b280a232333f8159025 +CT = fdb3bd886846af68a41cdd8e722594e7bd15daa20de9cfc81c7bf76a5c42b9ff +Tag = 3a81d706afce2dd7bc0a0a4095 + +Count = 2 +Key = 2bc064c55f0a7f0444b196dff21e13e9 +IV = 4befe67ce5d508f44db7ca1174bc066607bcbf21f71fb616bad933fade5fe92fe07da9871cb416a968f3676516a945311c4335f6c4c7631328b5a68ad47a40cc191399d50ab9f26b1af9e095d2d0c175ff13a5372e1a6e10cd29218652109cc0f6f9337c3c61a2e2095442f2d4fa7ac0e4c69488a345c96c90b8adb731fea975 +PT = 48c66263b75a1b8acaeb6832358e95e3614947b78481b3386f97ee640c25accb +AAD = cadac0da75d052f5c9bd1c61c4d7dff1e2bc0867b081309b71a1236e9c9bd4d0a8de33557ca30bb6fa598e397f5c4ac0f558d27b77a942272bab24488227af605ab0bce1d0e401cd9b7460d9cbd1e93469648d6484e3ba956b7e +CT = 7a76893e91d1d44f6f519a7930e341d14c8adb24a2441cdbfff68e8cf5d43f7a +Tag = 038f01221a2a7fd7353f7b976b + +Count = 3 +Key = 5581519e79b90eb8f11c2777a510f2ea +IV = 12760178e7791b58b4decc5f726e0dd0cfa635e2368d330cae2fdd859aace341938568f30422eae1c6fd6e55d951c6c91c966444fc2c12f2174b02aeb93401f8998cd11c72d1407ded5536919d6b233439ddd8c669d5dd84b2b0e8f348bccc685fff108b687e8eec38de9c97ba0fc767e943d2ffa651cdb1a806593c78c4b5b0 +PT = a48c1e2badc0915801f6c6402fa92f661a0f9d62db342957109e5c25e4cd583d +AAD = 53859e38d01e051eb3d9d51aac25fc688bae75c7450f4905358c3a571f35d1522f439bc3dad8220deb1c91eb9b9ae44e884aed811ae44b5f12abbd8561b454fa30f2ddba6d76c1d546a0140e49e495537264ae74b19e86aae3e7 +CT = 60c4e808e579db92146c740790638ac1dfb7fe0b4b0e22b3390ddeba437d43f6 +Tag = 5efb73a633f8c9005f0908561c + +Count = 4 +Key = a66b2ebaf94360b564fbdc9c42d885aa +IV = dbacb935f11f38dd1d9eb5dc0d6ee9055806012e12358f2a41c0a64470a433b72dc8d150b194cf483085fd8758222d323b27d7fca51e1e86633dedd456e68605ce53e613824d500c23ae6e025523f522455bdcdd82de264e0f5b72bc926d8c5c3abb73d2f2d336ac8dcb2b7642b259e1560a9d81e5cd7cec6ad9a6ae253db874 +PT = fbc7bbff65733cd918c724c22ba9bdf64628f8c5344ef9b4e30cf15e11e415a5 +AAD = cc07b7df7de4969cb8cf3381d0e92137c33614b67f1cfd7bfb4ea291f0e18ed37f1ad8a71a727c4e3264cbfe76541c47311491ed6defe8d85fbdb6609c89507d29a57d972c0534cd34cd211d4f37050df5d31de5077b0afc194c +CT = 604558d657bfe8b668b532ae13777877fef2b576857b35b2ca38e29b40277e63 +Tag = 32538c2887fe5895618c65c69a + +Count = 5 +Key = 99e1f76205f75a9358c29db71b552f72 +IV = d5a8d3ffb452682947e4139171433208068278f1c9c2c608aa09d43fcd941dadb009c1d3514f5aec91b8fb33d93cba0054e5ccdea91a28a60308e7d534d2e95b68db6fc30374bbf6b68e8d6f9b8e7300c5c8a3742aea8a61f292101663c787a430fa496911cd3812e80bba05f4df9d16f7920b3a504beea36558f81314ce5ed9 +PT = 5eb60d6b588f0b8c114a7a35981d05186baf449b0e7b10e853cbd4604883f403 +AAD = 742f237773834ed792f7cbb10e96150eb887129d05d148a0a0d4d246609c68ab2349bd55479de9fa89f112ab3baa2ffe515ebfaf5ac2c267597ea567bdd729d8025fc35341ff9c3e9369dca3d2c29d16816cc54b89865e3e5b5d +CT = 0eb4e39f3ecf7586cde291c02853b599ce318f1709bb18132440a0e813305f12 +Tag = 95d380d91dd1fb9d690f47b927 + +Count = 6 +Key = 7bc5faea20fe63c4e0c3249cfcd38267 +IV = 23be170705984302adce956dab7ac6f3dc988dd70e9b0ce1b3b6c867bf41ee315f1d30492752f93abafa1ee20caeff36c72987632dad32de82d1add33ae9eec7478792946a7875ea42a6a4222c7ab04454bf93dece86c99eb4203939b5a9d4da50c13bf8ab47198bdabebcfcf0e0fe6f48116a1246145dc00f662c65f3d1521f +PT = ac8d733cad7c04d68d294c670ea0a0fd44229694d79f3033924918276d29ea02 +AAD = 25b717a54e7f025b80b63462ffac86cd47bc01ce9fe0945ce1ba514fab09352d7dcc959356bfdd8ec442e391cca052b2e705c72204b038a49f400932e7d374c9f739360bfc3e9c28d89731b5576b43304d5c080afb2c0dd75f6c +CT = 27b593541e86c800d9fc6c668f6720e70b699e6b0ec33ec807b1ac962d619021 +Tag = 2e96b508f9abc6bb67e3b04130 + +Count = 7 +Key = bf2df2310a1502b9396769fc952808d6 +IV = 421035ee360f6331dc11b2f45448f99b13e43a7d0d65c192ecb4a844b621bb91ef1cf1cc98d1fe9dbd1b52c9de367e026cf87ad584db8f60bcb3dac71878ad69129ad53a788fb048f291d0cce99964c3690ec1427728edc3a389c231bec4d9e4f8f77ca6fbcdcb368d209e0277eb6c600bf77a4aff6d7aed0fa38bb89b96b7c3 +PT = 711df622e897dcadd97981dcdebf10f20f2dac7fb4ccb71e443763fb01606712 +AAD = ea875669604e973620ad92753a076e2981e1d085e201249db1913298155ad2c7ee9c42d9b9a5276dee684b4a98a448f518631355cf460463e70ca1c1e30e7827ea036a7442f86a0bee541dd3bb92bc52698ab56d6f1f8d0684d1 +CT = 3980b97986fac16ca8f28accd8a306cd85a9c69777d7f4beceb5192fa8a6fd44 +Tag = 3e2bbbfcadc4a999f5b588f88e + +Count = 8 +Key = d7609cc836de616fe81cf16de26c680b +IV = f17d5bffb2bfd20d8df2db5999f582fe782157b53004b37c87f0cdfc482799545275f4484342f687e4340b66f61f1e3f0723a860baed8e2ec900643afd9ca4bff0e64a1b9dae5c3f3967db7fab22eb44fe2be33ce405c6ee64166588658828f8c242e6dd0be47af73c5f763f94ba98b777baf6cc99f7224b15e22b43f9f7fee3 +PT = 37f1138a38eab6b6333e7771a0a808b1a51f1a2b2007966a348eddc3791b491e +AAD = d5445c0622c5e11df143939869ae909586e620b9b7434d34622d0c040e86c006d0ff4193d9d2e432cf56a09800c5323c40d299f1c94c9ae33fdcd50c40787a247ac5aa57dd73c52711c40d42aa5f7465fd7c04ae3b3b9b45ead6 +CT = 194cb086d1fc2572bc6d211686e8b6386f7c3d1c9fb6192a2cb092085fb2f509 +Tag = 92760b65b64cb31001eb02f5a7 + +Count = 9 +Key = af6e0025cd91180f54daf4974da8e29d +IV = d5ea4dd706f0dc35e181bcb45a4a3b59083106e586ef34ccc2f0959c6996eaddd29e62a29d1e7e74e2c7f565c7a92da73847f77f64be7905a3f708c1e63035fd9f9ac6e37c902dfdc14a8d6806734f796da1f337910f5be6344f2c40ab602f95cf5048b7b9f5be2d563aafbc0bd376f359e734c551c5589d00bb36ee73f7c85f +PT = cb404ca407072b634e8ffeb3b5c31f87aec0ef7be1c35dedfb16622e0e9a2f92 +AAD = b98bda4f09578363f86b1ddb835665316d7b4a74b798f4a6dcf4632baf59e13256ce73aec08a5464ac027ce73b06e452aa8ce26838ed29c5b16a380b3b84063cf60e0e2e2d22119a3b085a28f63644bec729d017288f75858f70 +CT = c7251fc56ef7660b26f0d021d34e55574b32661e4324554aa4eade27c203a07f +Tag = c71bc380f545d3653ef63d78e4 + +Count = 10 +Key = e8b82f7e9cf814974e3374a5f47b29e0 +IV = d5d8c66f441b65fec31880e6d2650eab5c005b95b5b1fb56e6941d6e8a50c613fa21169c135560d7d6f877fb82ab11c6191682319957dcc77528f96cb6b52366b7944a7aff1af5316fa10f946a414ea0453158f586f73275871c4887064e3845d5f1f7dcf6ac3a71ae6c502aee821f6dde381fca579ad720f20a5275bd73244c +PT = e39256c56e36b9d4e850184d1d5fe695609e3bd45d88b5ee8a8147df1bed6070 +AAD = 1ad074c83de78615fea28a4a6f3528cd42889cd6d5999d1a72b221907a425ddc93b080834ca84bea08aa0f0ceabd6ecc5e289267b3d7a84a8c36f39c898c307771ef9c7750c3ca83ac2ef17fed2561b18e17c11445f534fdc0f6 +CT = 7e7bec5f2cd1dae420446889528ddd67f30b4cff4b00d9338b44a455e30d09b9 +Tag = 02ea211905aa6afc371d67a3b2 + +Count = 11 +Key = 2a05b6c5928510d2ae0b84211c3328ab +IV = 85a86651ab5781ffec3432dd3284d63ebe35f0188c1d1525f55a796614c7b5b489b445fbcdd6ba7218dc374b546b6aedbaceaca11ece2a9ac2661ac9ea428192c868ad9751be3a5b4efd5345cd32d9b886b7484ec6dd6176c7ac85a0a2952b716b1424f2a74296f63d2a1c030c45a88c33ff257accfec33cf7dfd8771b4feeaa +PT = 1898a7bb6324e5fb310c92a17a18f82d7a10d8797e77f14cf80deabfefa003c8 +AAD = 0d64a27bdd2969786584e1231ff2c76651f63eb4b6e2a0983aed201c7be1b67dee232d9abeafab54f3cb5d1e9ec1e509853a983d642aede9b8d16706363a3c1d091162556b37d28881ad987d6faf471c471638f510a93d269338 +CT = 0c031052467773a9522aca7f4259b20f9c37bf49d72116993031aca41f800627 +Tag = b0fb6e782aa06bd73ba1cf9f42 + +Count = 12 +Key = 019b9d463121f775397b2e1e8090e052 +IV = fa7e289da90f356ab7f0276388baa92e2a2224ced3fcb7c89706d55a7a791ad9e444b63dcd9105dd1b596779d6bb812b53c9ebf1e9391f5fb4f09192f2d5955cd0c74d583ee5f8bae1dbb47a733d793174461a22920869ccce074b2f6c1fd171677069fad082408de0766577293c4cb857fd26c0c650264d99fd153f8417c281 +PT = b989f9a11d071cb25724c45384fef736c384484bedb7c48d0e137e24b3c018c2 +AAD = ffe4373870b62273332664faaa556745a43e2baa9432895aa971e316e8283f224f9c78d0f83bdeda63f76f9896f1dc71bf285ea7ba1ffca08e07597234751571cf1b0eb4b7e16637a36041469c5cf8356f8c51f8a4301a580e5a +CT = 64625d2aa40b72aec5644310b2b7f4aaf9b963324f7f957d5e5c3852a79fa109 +Tag = 3ec534d68105a3227c7292e925 + +Count = 13 +Key = 7985e423e06a13a3a810d333dffdf22b +IV = e57f38532e6abfac345f2493d0b42f1f12f7760c7413d89c2fea2f216c49f28d44372241f316d46a8756da8964cad51952d4b204e7e6e2b46f7bd5a20d5f767c36957c87f11406b1b48c61801fe03fe2ec5d90b69fc501d75da293bcde24b622842ced8f1ff6501e7b81312c2d4a3d7bf599b5046ca1342b5303abd94055dc83 +PT = 162d2feea85ffad17b14b011aeb6160173572b60f791bb7ecd2f8924c5289454 +AAD = d145c4b842e47ec28fb8337e93b66ac94fa12f84eebf8bb0452f1bd08d75d75e2f9d52c420cdd2d89b82e805de875ef46fbea7d6962057e7a16641a7d769c32b5b8a50f8ce8f7340153acc3f62171a5e28b40c21629a57e85287 +CT = 733425913530a10669214a883b90ba8f12cff6569a8942736b233d6c70ed0420 +Tag = 6a40ef06dbd4ac5d42a4e74d0c + +Count = 14 +Key = 8695f1b143c98d1b1a4b07884860273a +IV = 56be4d84070458d96f9411a4ee8f9fdca4e7bcd861720631121c7efcf0cae60ebf92cf4fea1d379d20ef8a7038e0a8c24f71d8b5c82d682db6ff9b6e5d812ba146da93b0a1d880129f62bf521a5e98a5cbb77b20ad5c9828071f7e585785937246753c2fb412b74a65d948e7e81d3881c64e2a748097598bea660eccd0c4be5c +PT = 5c7c37760d0812d0f8789e4d387643c27666067f5908e185a3d8d0ea428186a3 +AAD = baea5e3422d3619131c324b1f16316dcad70112b75899791f27e523978ce5d8eb5bda047447d4879f8617fa821068b2a4f21a49b7658e99a4526dbe1f5da7723fff2c50c08e12f2459e7d67dd6509d52a65d6ef01fc910c787b7 +CT = 5f7a0ff3eeb5bf2104d99c88c9f3492b44c9669b86795993df71be2e6addea4e +Tag = b008c9ea7d1619b363e8f1e967 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 8f19c98b33dbdee176f5d0209ad68b14 +IV = 3ee882ecb113d979ac3614df51292c3c50e38e33e6952bbfc4c8f1710ef721adb4378d2ffa3de722f365803ba4dcd4e35dab8517f06b63d4c1167e4df5636de36b49e9236c21f0cc925dd116b45a3b7461d43443736f96bced8c12733a85a76f3df81ca35b1f56ffd2ee2caeb1a5aedb067b5972aa5169f5acc852adde6ce3c1 +PT = c9acb7f4d6cf74137b8c65fee6dff725a8210245da9eab5dc5552f62da221be2 +AAD = 9e916c13708a6e252f15de528a3424def62f863f1333cf0695eb51654ba0e95b5fd906d953b06fc27b77559ca5090cd09d65b18a2b1fb40e8f7d655b93fd87ad1cf3a07f7350fe55eb2387e1d795eac9d50d7808dc85014fc130 +CT = 1cfb6d58588202a88bfdd3c15d4f5f9c6ab985be88aa927bd1d96a41a22399a1 +Tag = 14b87a0b659ca53fc8846cda + +Count = 1 +Key = 4c05b364d1c3068ae90e399050b720ce +IV = 6327764955088c5d77c9605c548e5bf403637e050e4f3600b1fbdd583bcfaf6e9e36b21241fc5cc4974005028fb6a5273dd3c4c313aae43d1a399fca41099cb37b3b1b6c62bc1a9923778fe7a73167457c2ab4fe8096ab38324b8c14dc357c32b7cc1db4c11b521e9b41ed90e63be32608eba3e731da09f5016eb7297040dfea +PT = 9ddb7d91ec95193ede705e7c306a3c25012770690cfc574a51c154ef42a077ae +AAD = 5bd265603c1ace9fd896f22849dc4bc0acff7ec4934997631f23605934247760adaba1a6c905e02eb5a15350d4628b4fb399ae4eb077a882d828c1a78b9bf7967f28ae16360c00534335f68cd6dfae10a8ee8fae9d59cf54c4e0 +CT = c1e3065d69ca4f69ee16a152d1077ea8e206b4eba85d132b0d30febf773e0a61 +Tag = c5d45ab11a78cc95b6db58ef + +Count = 2 +Key = 0665f898c549e4fc988ea91eff9d1636 +IV = 70751685fc02f15515b9466caea86fd1cb14c090ef76f996064ede5c6e20558ed215b84f03b7becb61bbcffd3489d79e71efb62082df12cf9d8c3eecaa154e1225a57635a7e40456ff27a5b5364acd0325be8c719b4de85eb803c2574ec136339926ee6bbf4d3f09ccc851c047ac779b3aa020edda1d2eefadc4a81069bf7e86 +PT = cb48fe14e5c4497b00c469211d74231cac854f587fc4f2735e2b88176169f2d6 +AAD = 5fb88c6ba8c4817faf75c5f59402d7a3e5e624ad1dc47562755e2d1315de346ba6c6f75584f222c7ed8ca72dcd43c7ec297e3ab495f501efd71fd04609366c368e84f83d88000e77fbc4bf0db7c103d1577a88b01f3d3c9ef8f9 +CT = 442ad0b0e084c11da27bfc1f8f12ff95abb40832f46f6a8f9814342c5d709a69 +Tag = b4366e9906eb5f8dbb510705 + +Count = 3 +Key = 66c53b5f5bec46263cb36b447892b82b +IV = add8044fbc7c190dd3bdabcc1ce2aa02311a0374e345deab53282c4d6817bed81dc564e27cb2d2021bbfb569e6ac10ba186f5469e25dbc481bdf49d16c695c635221226bf37382759794c056d7206d8ff9d7fcda2b709feed17bcaef6382ebd4ac7201947c025c04224311b3722856deed0895362cb9dc6c397659ddb3460ef2 +PT = 34597ea8635d151440f53c5a27116d139bfedf3e600a9259883d68d1ed0da038 +AAD = 984ad7ecb67e0a4e681d821293e547249b36df027aaa5edd2139fe540f1831baeea3c8be6dd55a7c67d450e015c4349354f6af421744b572a0561e0a7b9fd3d207104e4b5b86e5eff0342f509f73c4ab84b14326385e9aa4153e +CT = 90b488ab1ac8f6c3948b552ba5be1e7f8397148c0e70b2c10b83baf83887e99a +Tag = b6b8db5c7a095b87643c1d1a + +Count = 4 +Key = 2f126638dded153e312f6d22976006f4 +IV = 6e31109c4e4e794d034bd625b76de4f2c07534fa6951779baa12f5a1857e5a917ebb30b7e309f17274f9747105423791888c1cd0c0316157aca178dca64c62b2618ea244046a045c2c2ab2a6e2575c54f3cd2a2d294f8c2f39d5e9a80f94566861d8d6ce7ce7fe430a1cce85cb0ecbb9a097aede880ce5ab8de0cbfcd2ef0718 +PT = 4f8960d0e7a765d257cff3e95d8544fb08bf47fd61cccfc5155bf35ee77ca9c5 +AAD = 76dfe50016034c4abb8c2f18274cb47d0403a6bfb0479072cfbfe4c5d0675ed557fab6934400fdc95ca34538bf55f2c1a6f27748b607494f3248d6d8cd191df49ca457b76b25bd334ac9b19af3acbd9a638e505d07015beebf1e +CT = bb00280f4927e49336b503eefadfc87c1bf952e2395006def00637fe85181408 +Tag = 970d7192545a1e13833c1c77 + +Count = 5 +Key = 07a9df3c0b7d91b653eda3de26bac656 +IV = 014f87e8bf8d07c4a6f6069e7213180109f56dfd4b31280adb23c935bd40310d6f760eef7a1c0ad98fbebe7f4f670684d7b161ffb72908371c21ff1e93d447c54326a69ab9cfcff40e270016cfb1641bd72ace435b75908ac3f8d107f6e2f59857d8db31ef0d517fcf8c41224fee6041dd22b0d83ec9f4dca213e4ccf1824ed0 +PT = a894684ea787f8a56a4eb9965d0d4c3629cefb0ab9455b1742258b2437ef1662 +AAD = c20f50b6bdfdc72c240a93d085a0a129ef0354e1896b1d10335eab3adb78fd7540e9b7190b1323f0b74218349f1664072268e334a7ddb99bc6c0ebc3a9c7afc57b8bf0280189390d0ff1913a9c2aa9917e6602e6b2c0ac803f10 +CT = d9802ff948c46bd2826734a2af51af826ff97ffa9987a0a69e6a086c3d345f40 +Tag = 4a83ea21c243875c999afd3f + +Count = 6 +Key = 7d91dd3561e9bef89b53892b9181e17f +IV = 2cbf9123f01c63b2fde65ad64b890bed1239e609d9dac71f538c473a0b65c530ee132fc420c7e9deeb6aaeed696d19ec293a1a8cb4cd2e4473abb797cbef825a49732fb71182c44c265f45053eae514301de3a2a9d94a0c9949ea3011955345d83116559204007f05af5eb2d60630c218d72bba92c76a9429d2c101d02b99402 +PT = 3b19a273493f764ebaba097b17ab39cbcac28cfc745e136634f7b3ffce09efe8 +AAD = bfe9dda7aadfd3926b916214f4e59519483e670af07fc6c5e2837edbc7aa05456847d66aff5785dffe74db7fcb12013e33e53217187866d5e2aecb888dc5bd060b910d1aeb41bbf322752614ba9a5360ff8b55f26977b3a0f567 +CT = ab5e5c520f8c649b56429539b061524d14c8504de098c8442c0f0989e0ec4509 +Tag = 2d2baee7d63fe00f19addafe + +Count = 7 +Key = 84232a04d5e5eb02a0edd24efdb412eb +IV = 34626e18c05c51ac26e413dccadcef90f2e9c443c06bb355a67a4a8d1fd5aa76685c13bd89d2d8dceb4df8eaa7f4f06973841cd671071ece2444f9d8296cfbcf372a8129dc14633e8bba5e0e23180037ddd87dac363f1660efc79400d2bd0caa347129eed9cf4db2994811ace86b4dae8a5df62b931a14377f80db61017e28d4 +PT = 2b190d52afa1fe3c6274c2d3867a93a0acaca587a8a893563614c827fd84d7b0 +AAD = 68fad8c694e25ac60f46f3eec498bd96a6faa83df54091fa33de4731dbb74cfe459258402159a906b06c16d01f2adbb2b203c69fceed0ed79c990f0e529cb097ef15ea330d75a3409253107f662509a60a52c8232fc5432bec82 +CT = 2f6aba66c3b4182b12cb40fe5d3a0deef164f8f87055741035df6f67086bcc36 +Tag = 41c15274237e4ceabf2c6c86 + +Count = 8 +Key = e6345ddba3cb2568ac33d4dc5c389e6f +IV = acf68675eaea34118ec3ec4b1dceffa2191fcacfa6ea7cb534486d5a7897e2afce43da265ac6c4e7b5e19beaa174930f242c77ceef0987a467df988a70217c470cf1cc936e2638d447f01e04a601e565eca2d19f0bea192847ba9cb22f5e85f19635ee215b093a48d5de1112b6bd679fa1249d6fe765ab2f6d6620f3d94d5c07 +PT = fadb73c0a3c214929b2604fc8ce293ee1df8f07b3129a5085743e578175bb171 +AAD = 7aa27a648561e5d6ca014f24f808995f647e1f5e8a66040a1b2e49bcbe73ca1a3f6a459e63987d116a66fcd6b5d7db84122df62c02cc02b6557b7bc7b115f89a82c2fa8da7a1968698c99dd8a6016119e6b116550a6c775b6c93 +CT = 9b84c4a30990cf2f213269668e571531e6d6b95c38cae6e738a6aa6cc64cf135 +Tag = 57a32d07eaf44a2d58f1e244 + +Count = 9 +Key = b8c62d446eea5a374558844b10b837c7 +IV = fcbba5e16ea49d324515da2ba0f59d7c48b2145f1425e0453dd6cda608aa4450a585049e01efae07e6e9727d52789c99187546e35dfa301b56f3d4ca7106667587388afc15f42fe9663134d7c57311b719198bb2491730096bdbf0260304cb3115db22c47159c6e4d8eaa68f18034d5865d722e30d5c3caa298d4f14c236598c +PT = 2c3d042214ac5b71ef0e2f545c758b7ed11b5eac8df7bfb2e31bf11f6694d0ca +AAD = cf9fc613e796d91a3844aba93986cbf56dafb06e471d2bea9acbcca76b1744a8f7a3265af63ae6f7b3a81b2e5e048be8c1bde3655a082211530d0d11fc6e743a0e58f5b91458565af775e3cb56674511ef01df54bff19a37076a +CT = bf8f2e60041170c87abf02d10f9f5d80b9188c02b65ed6136445828ac9ece4a7 +Tag = 756f7b5233ba24dfaa08b6a9 + +Count = 10 +Key = 8df49ef213f2bbaa136176907264a662 +IV = b6004d33ba65cc807d41eee9a9847d2558ceeb1d22b0666d2e021faea95aea5aaf4aa0be1854dc7137dd0d7d286cc2e2031d2bcd0654119fb96cffb61c2b0f546449dfd4596cf974f63d447ff030b490d8eaf07d026301f13341a332c66cd72d617271945b226b919b52eec9c7d7fceec4c7c6e84e8f0a6bd1afc17ba71c8613 +PT = 7915b8b3a67c67d866e7879e780ded89f7f2567935d9b87193f0126de0168dbe +AAD = 6a03f5c06afdd708f579d689800b42a6d4872b182c91469cbe60337e61398df8caa5d6c4eddb2767a7fdce09973efdef9377d02202a77ad666c1dbf2d435f6e8241f32a234442c90e6594b607831a0daff89662fd92a6137c97c +CT = 605fcad48e2895e9666bffbb3c74ff32842b826fbd30ae4c60e5fd9478d44f6b +Tag = a8d93a205e01d5aa6b846c87 + +Count = 11 +Key = 91926b7d705b332deb9a57552da4108a +IV = 1fc7e06375b1d6e5b82721ee21e545cd4f33260a7b0e737fca53cbaa9e9cf5f9c314bdb5f00af9827ec6e481c75473b6739966aabe2e8330ab4a8885315f5dde9edd1e918ac01bff2c13d82cef4bff7c58531417442ead6e192ac802520afc24107f1480619904f55e359ae96a63421b729175946fd1209c9288adbd370079ab +PT = 1d82d21876a5633313a003ebfd5d93fb248904865e231a76fc6bc629e9203c47 +AAD = bd761ed9fafb88dfcfd3e5556d7f3882d34e9e618926fd6a43eb41d40fa78d4419c7b3580100034e4fe997c15e6617faab6e7f9b1cd60a7858365998391b27834f80a94ded27d187f80cd2fd76f7146359b7d2722ca4a34e46be +CT = ccc769875f2d496c25b9012912a85ee42ca5bca5210be493f4ce0a3418d30212 +Tag = 266d3fe4f5f2b32c8fd9c18c + +Count = 12 +Key = f8f5ce665efe14f9fa3fbb923f018911 +IV = 86876b89a9c720dca5857d6510ecc522faa3d5568c2dccbf9638d43ec0ba2ecc10363a660d02adce4665e33cd4a41a216bcc491ba70567239bfca191c11804601bd8d8d3ee655efaff20703e4b17be207a63a5bfeed3e4adef4b78219c4ee70011118ff24a237f65f2e38bac1a17650f6d810e6ff3b2fd3b12aeae91352a9a39 +PT = bee049479dde83924119bee0780bd66bf9ffb33107fcf416474bd5ccb5d00a17 +AAD = a2e29855b5c5c504947f213cfbf46a9fb8b09cb31f81efbb7e268cb2c798dccbccab333a9f4157d2d4236909b984b0a209956ff254fd2db2c3bef334b23a6386b8ea588b29b4d3dcb4aedb1b11d34a2209e3c6db4b4d500d27bf +CT = cf4544795af859f1bc232c0a45d7a266eb17daf1b392ebb93bb61f3129445236 +Tag = 1f5315ee7507998edc3dfb35 + +Count = 13 +Key = 719082a0078fff7654c4488365cbef61 +IV = 0921e0b44f4a958667054742b8c2d465a5d3c5afb23a26d4260702ecb9fd48439e59bbb90f53ca777f2b96f1d4d5f1918972fe7d09ad31dd65f72e387a05c39af4808a669155c0ebc8930b5d9c5cc03d359882296c6d819fc8e8bd630a3579fa571d4b551e41bf0624a24d70910ce6c183fef73ec63a594b5c8086c0e72687cd +PT = ecfff99b800c3499bc6d2e5809430a559a02937ac05e8202a41e9cf0b75e2609 +AAD = 6e1dc435a84444496c93490b84f2e89a08138a1ad953a36baa105535a93cdb7f0eb40fe5ac288ee496910432f9b934b674a9c5ba94048ecc525aed7185127022de52bb74f73079c29cb0fdb460b473bbb1a862752353729ef926 +CT = 200c1b7cbdea48e812cbbae57ebd57f602ced87b53302e768319bb0a69bf3c7d +Tag = 8d6158c7d7f54c7955507f5f + +Count = 14 +Key = 9f3aa04196dc0cdcacb73f80a8066e6b +IV = 51dce05ae3f1bf2183224fec6bd16d0f0d40964ec08a4ef655108ccd360089f8d15b2da31c8c9fe468d7d4987600d2c983b633656c662cdab43a882c68f28cd32e8926ffd44ffd1f46770a12882fa62ec283dc330cf7ab6033d8ff117c24aac380cab479484b0cb88b3bc42dcddac11c1ea8d51a212e40875f4deafce7a57d16 +PT = ec960b013693897319801b494cc5a86e7e159b98e0eb82ee2929ba742e068bba +AAD = 65f5beebad1c2a418a90008707ca181f6cd61950db7b1c39275e348a4a9e8b28dc91a60b629c3155380a062c268093b7fbf17683cf753562dd5da66a43cb1caab42e066839ac8871b0baedd2dd75af9b05ac4833584da8cc0fde +CT = 3e89e1f012b86fe218eef0f292832270450b41df1683ae67ebfb675d36bf19db +Tag = 0e999d4a9938ed1b70a83c95 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 49fd9f24b3e4d05c1dc24f931596aab6 +IV = 0193cc67f38981ab51081b53f9f1f6d8abfa264252664a0bd25b3db46be336949c621b3b9fb77a161f5a447664a8c2995819d7baf7121d35dd33ab75adcacf468629d44cf3069a4524f6dad0b2a5da145fafe26e9f28e7e62d3a8f3620c7d6592a17c8b15faba36b5c2da3c7769f151d891f2cefdf75c241840bd62341e7b7f9 +PT = e194c085ab9458c767ab5f1e11824d167dd2dbeb3447bc7bdeca603e5c900d82 +AAD = ae4f4a710fde21769993019fd28460f845634b2c9e7606db3c009f51e875770dcdd270ea80481367bdd054129d72871d84e7db315cdd7158674917f83e0ff61fad6c77de097252ab517415a57fde8dfbdeb71e793129aacc1e6c +CT = 36a96a52e360d17661a97bbe0f8bfec438d0f14668feda07c9a2e2ed7473a677 +Tag = 519b571b1b8f6fcd + +Count = 1 +Key = dd13186b1c89e131f6baca0cff0bac4b +IV = 418419cd099e410ee754b1da3739551d5452b982da3fc2d76bcc896229830d5d849bd45dfffa051be313c60b5947006c205ab866584ba2f505268370737ac854dbfa1ba232692c8d3dacea16b1d5038749c1f74012939e3cafb165cdc5a522edfffaf1041f4258ac45afb1dec19f9ddb511151597f30401560ba5bd12ef2bb6c +PT = 392aafdd07274649dc7fef2e64c39571f071f4bf9c50942f10e90fcb7df90830 +AAD = 512f22ac498b047e589798d937a74e521cb2f3476f60abc704b38744a18e8597de8b2fb51632bd87136368e8bd77973ad0684b49c6266ac63873b4fab11531cc4d2d2a2b8bfbd30250fc81984c88b517a3ab0637b390db420ca3 +CT = a9a09c30653622f09efb1a3f0077cbd315e09ef19f87372d572fda0042e80e78 +Tag = 77db5c7ecbedff1c + +Count = 2 +Key = de148381db6ab7e8fa3e9d8ecdd7a947 +IV = 6eae88ba9eec0d7b8424d7952bddf4b9b54d5be0e5c683528f2abee5f4b0ffb523acb70a343265343dc619b11191a53f6d338b885996e6677e4054b7a2a590e01341ff4a621db9853ea10c2463fffedd6eab30b7620e45a64cf558560b2fa4bee89dcb501fa4a12a624917bde399d01ad30d479570416c8c719f38fcc0153085 +PT = 3616ae8525574e39dc2431be6bb3455de07e6e5836c3b507d8f12e29f0d54f7c +AAD = 58241f93db321036ae40ac858e69ab7d07c555829be6ec11eff84e128e59bada5b1f6a6997eca0c2eab581f7f1c94ebf9a1c953e6fc4e411943b57ec346874ec5ee8beb526d43062017d55b7312e0673065ef342663f2d4b501c +CT = 5ba2eb63157a648f5b1c703eee185d08c91bdf5abc6dc9277c9dc4c5efb85723 +Tag = b5f43b8951615322 + +Count = 3 +Key = 01d0fd4e9bdf3baeb33ea6a66c416736 +IV = 7729f27c7142c11fd6e963f686f9adf818b0cf79f597151d636c8062bcb2e49a2eb342b0763d78c91a1d6a38c9ca55260551eacd140fc4e6ee04a73784a1110bdd5168447acccd0dc89bb2901bdde5bf647fca80e40a956ffa240a9c2beafdc93266b210d03f248ce2a8177a08f2dd48295e7d159bbd942d3d95fc3d22d1b0a8 +PT = 877f46a8deefc68236eac32190d8374381055053393f768775d1340d31eb47e0 +AAD = d21c6fe8d65e389cf347cd5cb413cd0a63aa92b455fece8920347b157575ad87062c2e05909ebcfc5fc30fd2541b7923d238873d5487fb1c8b0c0d2c1918110723d1f09057804cbfa6d8cd516ae145816441711959bdbf37cc5a +CT = 7ebd2c8ee1c91840576bc29255aa71290ce6cf609c2178553f77f148d16f9967 +Tag = b103da805e7e285b + +Count = 4 +Key = b6bf156185ed84adc58f3f7b0e689157 +IV = 4cb75dceb6799803793228ebc935ba347ef332b9cbf9fd24b165a14ae762b05cd3465b74e7954c70300cdafc58b81fd847010e9fc253fdcd543978435100cee6ac6e80412fb85e4167c909ddb0b9aa123e1a3df5658c3698dc9f6dee50f88c1edcdab952e67851e9a2a419133e9db1095c9e1e643b7b52f0ed4c996a6232525a +PT = 0c011887f28bf09f34729711df532f745701eb863ccef91bc45eadf601fd179d +AAD = 9b25ed020012582cac28e77456fdd258c641b83754627da52f92f98330cc416cd0926d795ecea96ec42629ad919ce061e5bae8bca5c37b00cff3f162d20cc52b4442e296503487b9ef85b388c89a272560003676b521d76a0af2 +CT = 689c771b15ea762bf30f9e2dcc157e9f0a3b3d265d80114bae3d7c3fdf4762bb +Tag = 2efc9563de7ee368 + +Count = 5 +Key = 3391bb6314653810779ea40f7e219993 +IV = 9e2ece4e1dd8ebc5791ccd1977a87d6debc460e963aaa83c8e80c0cdda8848ef1fe4ce59d929746edc19d8436170f76622e458035da92c1c3e863b8c72e74ca230715866170c2c0b6cce19cf513ef1fc97f42b7bd6e42ae72616ed2f5cbd21afa7e15145c055923b220c6cd1d7756b3ea26ac23b3ac8da143d037b131f85fcf4 +PT = e0d751584dde9992f8aff032e5eb52c8ab0294954350c53180e985281ab54cc2 +AAD = 89ffa114b05e4de5e722c646350342886a72f0c9462b9d38278bb2af82f087a3c0ddc20ad1ede0e973367583dbbd46b8071069acd23b683ee1bb012320c99c6afb47b1ab52385f928dce4361aef83155073e94412f78b62dbf12 +CT = 2cb8f6e99e547ced15d36d51d87582ea2d99c60f9dabed4265d84f78e7a0b7f3 +Tag = 591dadc34c67ed01 + +Count = 6 +Key = 18c3f6425e57d976c7409e936ef2f019 +IV = f54fcdbb31239967476daf1bbc71b1755b427badb00779d2cd1bbe838ccec9799785167a6a7a861abace2fbf7f5f24b66cd103d4ace52eddd5b54c1b31573c2d39a855a85dafad5578b22e16008e7447e53522b37dfd47c4451f3c029fd2125f2d018a343e2bfed6557c9df4dc65faac0a1f8a27da92aaf19b818df36fba6f95 +PT = c186f8d3b6a4d7e34c25a93961ad56b8bbfbd576969d7a785daff629789d2819 +AAD = 08144e19b2678f11759639b6b09ed2baa30b54b95acf7f943e21e2a375f2f04e813f8079e32af26f92848bb49f63f241b90b1cbcdd878f2f5bea448a0db124951fc2c1aa7a514314a68fed58726da51c43d9bb64f587193d09f4 +CT = 0680a221ad454639d6eb17b4b821b26471168c832d34b2792276c82efdd986b7 +Tag = 8785fa0de9086015 + +Count = 7 +Key = fae2ff50054a0a6a10f685033bcf29d4 +IV = 1845852396f149a6a67d27fc14458ea196f9813bb0fdcca0183d72b66091ef746fe06f5667c00c8ef4604ea6d03441acbe62908944f822bcc3358c11e863cd7e5e9a5f8a471e6527cceb50a68b8286ecb8b0ee546e32e71ac1335c79c8137d6900580ad6988dd645de8d82181e9aa598cd62cbfd6644fb4ae8fff476c4af784a +PT = ff60b9b4257c133a1e73e2dfb3a17614d6e9bacc7720dd7dd75eebaff60e8424 +AAD = 5c716be917fb0289041a999fba3e2ced4830743449e2836e971672535904d7d8f19fd96847a6cf487619036521b7ac79b638141ee94dfd6ed39473fdb73d579978eb6ac7bc7acb03d8fb0480effb3d6e27b5305eb66faae99606 +CT = c89f6b9b16b304d4907d9d3a8d4f222408d1b51add2be7919825b430a6f75b8a +Tag = b9bfb16e63addfc6 + +Count = 8 +Key = 4225cada523177313bb3dfd8280c10bd +IV = d9688bb14c0f36fd79200cf99c72ffc324c99e3ca3ae88cfd4fa8ad82e56921e8035152f6b56668b90f119ea29ff5044b180c727674289799470a256b1e2cadf5e5a51c88c34bd14ea29d089b82f324ac2fba1ff5a1afd419ae6e7a88e429ae07f67ab5344f6953e5ccd7492267f919af59067df01948bd2954b5780f9e34bca +PT = 3e3e1fdc6db66a15a3f6ec145cab4a3e192f5d6ee84d514fec1ce92ddf281322 +AAD = ee06febd1163c2cc51bbb2d8cb3a4a81f82043f8e2abc5e8530fd9bc137e8dffa525054b65896757f992c3d9dbedc579ffc53b6d6c64add34949088106338d1df4c0b7bda49f8703b66a828cc3d53134b378c2a4685c5778fb3c +CT = 931da7bb0f44d07b8064554442092d1c5924a888038225e9d07b18b442467386 +Tag = 4c80c7f9b7ca8eeb + +Count = 9 +Key = 4b3b26c0eee46a7f3fcc2e41eac9a0ca +IV = c1e3efc2c4681d245a82c581f3b48033acb9c99928525305efae38f252cff4f634037712903fd43777dfe77e3237c7cb175a05ef47d9f7b6e007d596248d09ef1ab0252358e2eba9c9c3fdeddf57c6db0e274d7aa1f3cac792833b4b613c1f04aa68edd1ec23813fab8aec1bab1d8ba1d4fc4c7428a2148ae21fc99b3fa2e592 +PT = 60ba4590f2d39773f37757e3f6d74c1a78ce40884f686c8822bcae5b508a3f29 +AAD = 83edc27ab8b9ad3e0e352c4df3cd9894bd8239e831e9e2a5a047ded5114a9688b71f3866a05ee8c08b94bc3b5b1f5727a6d909f2a2e1b126003a918270a24732e14265b0561440aabb381122ab619475ab4a3ad44352eab41aa5 +CT = f6f8e1ba77d0b0d342eb5dcaed13a0f6e4d3f48aa1d351a452a055fb6eabe2cc +Tag = ff111ee69873fbfc + +Count = 10 +Key = 16aa3afde4cfde9f272d870cd78c8831 +IV = aac3c3930a098d67cfcd27daee3c2c3e011e177e5e44d146f139a93259e3f6988762dab988c1587c18ee3a4d5f22757c3f0eac039190c28a33e6fc86da005cfa994a51ad059b99a2753c1caecbfb37b8035e9bd3a1404454b0af51f8fb4c79d85811370e5ab2a438b1927866c9c48e9bb2f763325e69a155e0d11ba583ef290e +PT = 955bc626a606d6ac8d059a22d5c38db164db6858632e4c157975be9fc55babd9 +AAD = ae089d8c25622de6ee99da40da97b821adfed95636d9afda0b514e39cd97ac734334323b692aeb11e678de7619315b403607a8e27a87e02837fef80587bc3c472baf989f97c422aaf1b6b6a5856b943e9b3fb34b1ec7258e091e +CT = 73d2a798b76509747b8c916dda2f71f791c03af912d146ce1fef21f5c680da7a +Tag = 0253769b64967b86 + +Count = 11 +Key = 3f73044b07df076a26a55216a4367e25 +IV = 171ef663f1c1051c99f6fe34a9247dd2c960b15fce69a01fb1c90bba383e89041d3ca3977a7616dc3e991befa09544770b97eb0e7e05e2080d0871231a5e4d990fc7b436c806adeb5b631b8e3892c21b0a01b212376db191044e33e287c9c8318fe9660fef6d4a2a302b211562dc47a0092e06ab1eb6062b9920003e0bc117e0 +PT = 209bdfbc551bb2699acc192d71921141b22a2dae88bc6653e6870cad2f176d55 +AAD = ac5a91b56190dd3ff560305f902047000b1ce8bf3757a6e3d88ff85e33febf439dfcb6f22f59b8cc492c95068aa0c44f399f314d69fcdfea67621902c588dd4a17024cdf096bf3adba3f54fe8bca7c2e5be655d2dccc7a60df12 +CT = 1317a11ab99d2e34bf8910bbde1a8361a36cc57ea19cbed7be01d2f016f1f8da +Tag = 6c0e1fd3bfb362ea + +Count = 12 +Key = c3d47de9870ac98274ff22f7a44ea7b3 +IV = ae31edc35befc4553a25360c0a7df33a8c7ae9a4adabcd35c5250da2fac7763ba3be0c50b99b665f91372ddf76234a2d92487bddefc8d3a80f4f1036a1a1c381ebba893f3bbcbaba458666648bbc6e8d1d332760ff0e50d9ca44e64dfbe0139174468a6f2e9d18e087be6b5491f7563de68a4861e076ce20148684f87a3e1893 +PT = 3f0c534dc6043fd855353748a6a5fe34869770841375ca4d9575dd6ef3415094 +AAD = 7d8fae72749e54e3f633a204c1c73a069ec8a5f96a1a9264511a9a6af55d6756593e4d2ebf94c1c05ac992bea00c66a611c683929ff9c0a930fb62faaa2d773732ea714760f255b412d1d793b48fff37e15f98ae9a5a90f90d87 +CT = 530d979d705021d843162fecbeb50e91aece8b1c0528453d017ef7849fda958d +Tag = b211a81ff82032cc + +Count = 13 +Key = cccba38b9f227e2c54f5afd807964ea0 +IV = 9c1465a3ae82c681c6b74ef80202e3b5c8fb8402926bbe78e552d2ba6c7da0b068f24f15bbfaabf7bcc3a04df66a6e08652ce068589b0a094493ffd502ec5fa1fd72611f3989a38a4addd9937e4debe824f60ae13368bf101c260ff792c7779658119a5d3f201075efb65abfa713164b8bbee9912c22eefa3bd215ef18f31556 +PT = 0969d7179e81f2b9ea44de2377f65f836fe081f26424e611278b660684adead7 +AAD = c4142aa927b7f0b5874d19cb37add2d3ee9b555e132667d943dadd4b3ba567917230b7ba0d1d497063c33cc429ba58531fb6e0ba8a588fe671861992af2cb446a9e0ced87ca6fa7588175fd69ca09aefbd03d061bfa2566df7a7 +CT = 9287ec629be07d76032c81fdcba706acfb66f75d7b74dabb5af08ea53220aab1 +Tag = c3a8f09557e84b7b + +Count = 14 +Key = fec107c961fa7173b133fe1bcd205b75 +IV = b5a7e3241104495c427ba0a9f1f89e97bf2cd495380c37f43f3233aceabc0a8181bddb805e618738deeb06941a3a05d138dcbc01f6c54c8e3d7ddf08cbfeef04c60a2e8aad52be9151394ecb0ef40650126bad9521ec77e5a4f750016e359e120ab6204d9029a1345ae70fe1f856f87ebe49c17c5f95b59285d0e5c4222247ab +PT = 5acf04673bc501337ff05dc8f30f814d0f41b6c7b894292a0e6cc7eb068dd2b3 +AAD = 11eb20f4490dd2cf56413b307ec72d332eb40b7a16de2ab3ea604f4df9125a84dc930067b102cb87734e10f75c3e3ed87846855a8210ea997c348fecc1581e2d26cb4f41ff09f05a83c7469651c246c5520e368aa1e68346e7d0 +CT = ccd9d7a2a6d6e6f8a184ee20c7dd4419d01295c8386c55f74532f5aba3020b37 +Tag = 1e00528323e35be2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 256] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 4b1ecbb866dd1a86301a702c29bced06 +IV = 278d93ade3d31cf917b644b6a7a1ccc8febb1ad52415c332596afd79a6da96ed454fe4f4ff9f894c364960972a95789a3de87f95c259d52e144cc3e928f71b30607e84e19e8be4846ae74bdd3f5db8ffeb522caee34361e9adcb85fd17165323b6233ece9bf24bb432545daf46e2326e9ac0db553bc9a0763787f4c923060f90 +PT = 7cbcc0ab2df017a52ebe64c2cbde908b1c5384b5ab83f9f6e30b811a1d7f172b +AAD = af21015aa64e0ba065b863abce57483658068d6d35fb35745f72462a25019e6aaa8da711c42bc74ea8231b22ba17e1fa3a1d9fb5a18b605549f319925a9b61b795b752264f0b431b2abd742be938e4438589c543909153a8820e +CT = 143f96ffa63b4bba166e293645929890e72ef34726456c83b4928694be8879bf +Tag = fee2ad7d + +Count = 1 +Key = 38a5e712dff2a330a70d1f3e170a0685 +IV = 5801fa3a4e9c28c6b295e069f996f43709243b852e3b9a5c07b61459770388aa7b18f4e0bbdbadad90dbf96f2cbfa26f2be68d1a50bc78a59649de1a1760cc2be53741e08cbed62291ac545832cbbab1fdd2565c2617b70b071dae2191b6966c5f0c8852a29fd8e0a42e0aaba77530ebb1b98f1b00aab624285b1a9c096cb98e +PT = a08afe731476b6d76becf27aba423a17f2e6ad3b5e9dcaf53fc64b28f34600d2 +AAD = a0a437989b7d1ab6d826689ce82c46623818306283467d8f15498d1761428ff237d94f268ecb8b0acacab9091642d039edb8566f1361924963529fdeaf35639c94ca1911a52fc6a94b84b980aef480b5a21a0a57281f79c32485 +CT = b28ce19e5bcbd92ef0c99c40319b106b8ff208be2435c432141af43696abcbe4 +Tag = 5507bab6 + +Count = 2 +Key = 968d4bd8750feacdf61794dafcc9b2c3 +IV = 42993ae9fbe279bb234dd7e68024363e188691ca25ca82f0f759a26e0a6c9e1f48cc6ae60a9de20e428f3425866537e90ddbdb8541dd584576e7f41531f10f9aa4afb8bfba91102b799da4ffc8191c161bf8a80d539db8809421ade3ec09c8dbb730d050333f5fd74bbbb01436edea48e8307fe8dde70536b307666771165439 +PT = 21ad7680ad6242a09dfdbaf5529f6557a17a739b52b4deb0eccc9823d669d0e7 +AAD = 78d98f1cf38d1d7f0e295ed23b8f1c0f6a542d194505e8166ea4a8628df388a095410d9b1253ca4b446739f729bb5ffe3a94634a26fa35a4b72372bdf3b5bee5aea90177a573cd2d804fa7beb508cca6ac3e5cbc069dcb9c48d8 +CT = 219a3a7790e0e114e1b89f4002c1dc191c0c72c1a02aa7ac4306c6fdc9b8f6ea +Tag = 0a488477 + +Count = 3 +Key = 79d3ff37d7418f96ea33e7f247e5ac4e +IV = 83b5728c1227ab42c6815e4d417f6c5db09f47cc608c775b5e75fdae1aa733ee6d70d0d390aabbc2631c20e2be14006d2104a4742974c6689d312bcd251294744ff2de440657b5b8c41d4d67d46450297a43675d7a0247176a97d821596f938b4b0b1c750a691d7c0ab5a0f3756924d38fc3c0a34cadb3f6993db6b7ccd1c093 +PT = 70ed47589fc24f5a7b99dfa54041a42f6d1c9194cca57c056b487727fa175a2a +AAD = e93d06be166413bd6d2187e3286e5fae7619ab05551fd8b1b487999d502bbe8d048d1681a9c5132aaf9d31dbaddc4bdafa41b96ce8011f334e4dfaeafa00a1c049903f52a591d29a431d86f9101833de959a2aa6d014c1f009bd +CT = 926d96c8b63785c34b3904691b5430c9f53175941dd0ac1865be26291f35ce0b +Tag = 31cbac9e + +Count = 4 +Key = 62cc63d46d3963e27d60923c5e7d859b +IV = e9243c7570f874a79aa7a28509870acd8f7e1fe371747456804fc8cb2b6853e7fad1c36b0bbbdf9c360fd7fb0a3503719e524b8e72f4b63443d239d7b1bbee169fda586633a32885f288d3974e511ec2fa7eac8c4216d37c40211ed7f02ac871918c604ac0b29d1970e0bdfd9ed5d44155aa6420fa86b17897fe2c8871a04802 +PT = 6a3fcfd344658093e5cb924d8831127faed7bd06098eee596adf7e03335a0e65 +AAD = 49dc3a081029b1ca0f7bf94b2d2728250bf4fa3269ed0728b726d5b5c393233d8b04378f57a7231e1e3aae616f5a38438b19cf88068a5e76678806325d110c8227d776056a7ca325fa03ee758e25c1ed1cac14a3a4f69ff500d4 +CT = 2764256525c0e9ea8d1b1e05b276ca8ef264646c15cd05e7bf96b22819ab8d05 +Tag = 3304bfd3 + +Count = 5 +Key = 8448b956d9c9dce3eba645bcfa0e6f90 +IV = eeb67cf98d625eccdd22351e1e9525385b86fe699303661d68ac15447ac711e80c8121f7498b6d6c2e19c2cf4f2655910d7f03e4a4b92f66131eefc13c5cb062095f0c266576ff36f4dfa50b63bd387dfbe6dbdb20cf4746c61d0bb8b7911d89154b54f9e2c913760d01f3f1cd278ff24431004b027828e63e380e6f1ae2cc87 +PT = 5eb819c9845109205d9305128eb0a4637b9146caf6af53ad995b64887c38f55a +AAD = a7ca2e7040b19e90c266ff705735349394f95dec53e6f66cc7744d24463af2fdcd6e027e8fefdb255f8baeaf34dbc7a5f07ed9639149e56f03b54d2a5bba55ebc745ce19a43b542dc3783c08a25caf1f587c3e8bee70b9d6fb0f +CT = a9e358bd91c3e434fbcef0183777b8b7c190d2b4351afef1e6de8e9cc6833a86 +Tag = d83fe960 + +Count = 6 +Key = a1cae3c9250a7b3b650d2360457c17e3 +IV = 2080090acab6086fee46e1cb1b1ca5b40138f0fae06352afdf3885233f5d5281affa486c539caa02ee4294b77b7677205d4ccce4cbfd0778cafb09c9b6f89f6393d4e126e1c974245406a147b32185ca8da989e1d03e4b6af6d56cd42ba72eaab72293cbd2c8ae167ba729ad53d480bddc3d5b91acc3d7570b1b962e55ace15b +PT = 1fcc38df4435d7ec7d8b926946044d14e390e4de3f9f0081727c6e1431b1f85e +AAD = 352517351a72cca9c451a360779c6546ad6cc105b67ba2a15b55addd6547b3ffd0322095edbd5739504dab90cfa3ce82a8f09c62a64ddac00d530f6f452c218f0c8403e9661d3eb7e55be48891dd1ac89780713cd63d8281cb16 +CT = 636671f6bc67953a77b7cbc934d26707cd532bff5c2e65aecf928fc083d739de +Tag = e3ec984d + +Count = 7 +Key = 4e085b81a04d84001f3233c2a4d87041 +IV = f0c8f556641303289ce508037976fcafdae2af53417a77835a3ae5371c4804b1b5dfc8d9e83c9140d52c6e65c17b9884e32a205a5755e1c702cce460ec53a8c385ee6fea1c65e96b813890844ac37d555cd92ba2adcfc1ed07d68ed2897aace61422c52c4716c54e693c17ee235e5073686829a6edc8579840bd354015e0168d +PT = 2d5f199b82ba17976eec215adf27560987498362959e133c8014824c9d82bd61 +AAD = f61e09b22e1406f891b7f7eb56cc5ed3ed75b6ca636861f16f3be0c35555b1bb97d803e01f3b043e9005f64d07409c72c44d95513e793821ad427f9cdcc6222bdc15226193355bfc8506961499239150e343f744f10d62dda267 +CT = 5901e5e9e4a48c01ca5bfb70a62c8a2e14d03d2e27791c1602e574d8d0ec4eeb +Tag = 335bbed5 + +Count = 8 +Key = c217736240a5018e5ddf77cbfee4ae30 +IV = 3b16a2f719fc73df929f6faa7725ef1e3b278638ce7eac396431066608cb529b184cae26dd9179d557a149fe228d2548630a1467e552e0e5f660082b4f3d2699493f9b7472da78bbe429be677cc1fe73f82a56417d5ac209007c4439931d822d30fe9cb1b5ca9f00a300f82eda2f9338ce16ffc66a559188b7254304d41c36d9 +PT = ebd4b3f54d034a5307af0fbcc0ed8f30a52c6ef48b8fa5675071f96fe300d153 +AAD = 5c72036fd9026f57a75066bd11c8ce594cb4432a0bbedf8631bcce4439540e27c071e3f7d946a659e6611ceefd1fe316a7bb09257c77296f4f909d75ce112866620967591708eec9f8867a830e04998cfef4a99fd5a423c26024 +CT = 327ace30068581d397d6cb8f4686d47190f60a83f35487e283273c45480dcd46 +Tag = cf74fd67 + +Count = 9 +Key = 1ab9d4854fba8384ca28d031be754699 +IV = 92c9b9498490b573fad853f6b4975203c3f63da0710b2918fdbc538e7363f41f3bfa00f8400f64203b0678568d62066ae7995692bc11110e97601b4026cefc61c496228c3f470fac09175168ed78e9e05cc59fe7e28e5ab5759591b4a0ca368e5904e5da0889b4ff342fe4cf1e1d4714015b4f45305651f206485d866e4b8185 +PT = 1d4c3750690b5b32fef184afb80be3fd3e00743415acaffeac6feb600e404869 +AAD = 4c87fa3f37f6a1089ba50a185146fa36aeed55cc6613d2f9e1ef0c98f73c550f31462d67f22970dd34ff7d8c43a605dfa7104c014c14237f46bb8473113f1567d145de39270cf40ff686807949ecbb4e7f4aeea5304735e6c507 +CT = 8a6bc1a2f31ea5339181a34851944dba7c214777b2be2bee01d4906918f69d14 +Tag = 29a88e2f + +Count = 10 +Key = e99ebd0b4802558c9a4907282084de50 +IV = 39e9d4f591fece8b977350209d4f79373b506833b510d11f0c1cde69c53c8cf3f89f6abbe498fe9cbca666418bb9550e1a70064d1f60ea326dbefa30ef4c78d25f6b934a820abc878ccbcd0aca1ac7e0ce7b0224b19f17ffc68c7e2d0e85371562e0d75a7ef7dacfadfdb8f84dccbac3ff7a94b74cc85656a6b57cdbf159a32b +PT = 3835a2986ce06b8a6f6bf5328b9bbfaaede90a6e698996d53d4c71308fddb3aa +AAD = 09da76f2131fd2557f77d82116703853ee1be4a08bc7ac53a1596430741253df94ee5c87ef96ee2ea264dfa30d50272b9f83b1238e496bc5402c8283b933c4f49b9d99c396b89b4c4b48eea5b40e1e5deb1b5211e6b6135d0579 +CT = 18393269ee9bd0bfeaf3bb86b4987d31508668d4d935674474f7592287fdec44 +Tag = ab16f677 + +Count = 11 +Key = b14be52ce4dadee70e023c52a33bd2af +IV = 79060c2be46a22234c6cb43ddc5e0207de7a162f9c6381111bb5d32dc11a89d9339b469f51b989a357e7f8e70264d8f0fe4c32bc31d364cbd94739bc1146eefcb740ae95d5b64787afc8b111dcf67e496f4f960d1d49a3e888cb23d6ff2b3f739af4e3b7c224469ad3581c7de1655f40b40e71dbf242ca366b8a8c2a4a3f8d16 +PT = 4c35a7d85f58459bc7e16c0d732b9c72204cf2dbafd0b6c07518d2877f1e1605 +AAD = e08f22e3d56b6fb968c91c18fae55993d208e0a8e1c4639f96c269f919d3688c2ff99ef5ab9c0c3c8b70530a32a753246af59c1e9ad89a226e2f62fb33d67acde6d720ff9cd54813c0e26a475207a54222392370b97915822d54 +CT = fe0291316bba2b098095d4cfd0f3e20c7dfbe0a1576e3690fae12ddfd936063a +Tag = 370b76f0 + +Count = 12 +Key = 4e51886018f9d2e68094f0cfc086656d +IV = 5852e78870e157b47bcb9da1c7178202d5c864e02123874b4c56d0e53d981ae05362809df660d536fa29a685eeee1009aef88e689b16ec146bdffea24412f86885c2502504e00f6930dced2e4df38074d873147d76d9906c0a194a06ed37854552e3beaf8281594d205a96815d852bfc2b97c42fe2a52fd78f4e0742abfa2299 +PT = b0943475fea3d1341eac9636e85fa8e51e913a233aedc286fa594bb222f7a37d +AAD = dd21f7075489a61f5c8b8478a7f25b3f40531fd414e9ba7c1b6a2112764d6ac24c518a6b2f2eb3d51183e488b214ceb1c388fce0cb10c2a38b71dd5fe92be9b8afeb3c66b39cf01bd2d58c276079ae03e52eeda7bb1200b5a2b7 +CT = 42fcfd62dc7ee2186d148d08a61cccd549887a942aa2ff1b792b82d804a35b5c +Tag = 40485825 + +Count = 13 +Key = 38410eeff451810d3be6813884238855 +IV = df771eaf1f1e51a682624eac891389f92c59bc1bcdc23ef0f6fcdc9196239b1f48cf16b5966fa2ce55ca72fbc5f813112f5a554b3ef1cda502cb0e8548eee8fd70f05a7846bc6c1bc09c8a844641fd8b67d89ad643c6c74ea84b7c3906713b9388f24268ad19676f9cd2ec016c4f9738a360f9b15ca02c3f498c27dc1d8915bf +PT = 0726d6a2ce7885954ee52744a5a4e8bbb01d7e50901d8d83b0d8bb597089215b +AAD = 1a8fca5b65daf4369d97742c3ac91991cb963f14590289b7a8f564071bef66897212e562fe394a1b44dc05039c4c07c90114429e169d313a010f8fb409632fba81e28b368c2cdfae668d04d7b222c24b56f1c4fac798e76f5542 +CT = e7e4039a088bbb1f50dc9842ddf1663f9aa8cf8607b6eaa3c68af7c23d80eb99 +Tag = 1faacdbe + +Count = 14 +Key = 52959f45aeb1eeda512bcadfb8d2131a +IV = 2f1aac837f71184f20d6017d8ddc28700aa8fa9f99a0b2d3e941965ae7c81916d01e396386f392732d43388137530b43d411be502c13b0c7d18e062d6c4dc3754ea5f69ef887d8beb8cd87f8f543f86bfc17b73bc38094369e349dc9eaf8ef58f071088e4d9cc9812d88fe83f382b37484bf63499505546cac902448fc455930 +PT = 012afa681148f1ccfb987c65594e662ba1d0713959bf6f911d47b4d87b904d6d +AAD = c9f71474bbffb6dc90d0d1689f29391e004bd755c71ff55427b7858413a3ba3bf15b048ab6b231f21f5ef1162d8473dcc6716b00e2e279dc470785afa5ff341305e8fac70cccbd5c67401174f8db4aff5d4952fd6ce2767418ab +CT = 006d03c78f6ceee461cdaab300075b790f549985057225243d8e39a52b65e97b +Tag = 26db4271 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 705f69e89bcaba68c4c26a9f7bf6944c +IV = 15b3bea26780db690eb2f78354207209c6c6f70a1d18cb5ed654a81a6da3300d653cfb54b5ce8c324f5e78474d80de9380ca77a8037c2a7a160ff38a8b23a20a688fd8a5d1ffce5af7ba371e94de38b6658471d2ccaf684fad7aeae8b80df1a0956b1c767de3d686ef56ab7741b5f15bbf7bb0024b362ea97940d69378a9b1e4 +PT = 6a0006a35f11510d13fee5822bda908576ee9743b95eea9eaba2c457a8a5838e56f6ea6b85d332849dc66a02dec292556428af +AAD = +CT = 8cfaaf97ff27aa73fdbabd03879b937f668dba79ed9d73c7ca46317516617c9b384d9338b1a087b2688765a0dde6387f6350c0 +Tag = 17cf37639932f4ce0e42df066353756c + +Count = 1 +Key = 54043f9804b0398127128e51f3b5922f +IV = 76351b77e6d50b43671953b684d0ed4ce52a4c027f8cc0a18316f68673f704476461eabf4d41e652e15818a1b153fa5e4dd63f6afeea0c898c7db7e9375af458d727a8691bdd1cdb59caef53f7b63b48ac290d2541a5aba8b8ff28adb1aa798791bb997a3eee7a079ce74faaa47124f12df9e9cefbe006b7a17adf08531b1e68 +PT = e2e217ec7c6de831e73b05f026a9164845640fc93eb802599d0fc0b398fd224011384ed5d0a92a8cebc7a837b117473dfad34a +AAD = +CT = fd6068e17e889f2e679e3bf1a3b1c40098625c6393afeface2b74f84a2bf7bbfd1dabeed517c4adc487bbcada01059665335d6 +Tag = a913b38aa1d1334d29ce48607975ad60 + +Count = 2 +Key = f3dfcffcb36a2a7af790680fa6343d4e +IV = ce3d268aadac2d86c46a1d1c1b95c121eb7347509328149e9243a4504f068db46147078b5e064b894ae3c73ed536e5d23bcadceba84b265992fb33d2a566f411dd222bcc53ab00257f36d93ad62baf292ffd432dd5dd8b466250cb999b584e409db91d3baab0f48358f63d93ad89473923348dfddc9936e822688581e994c8e2 +PT = b7b414d1b661baaaaa9b718d26501757a481e555a26d1e560780bd7e2e6f3fdb2f5f8fae09044043111c1fdbbe063046eb5180 +AAD = +CT = b235e86c4d6cfcd80a2df270ad2da79233e9629ca43515b1eb36d218f09f8e17e9beb6f6042b04b6e97602031db875e6c70801 +Tag = 44bfb9bd63bb60b86e4da0364ac98d48 + +Count = 3 +Key = 3e4060764145a0500c0d3daef16b1b3d +IV = ba4cd8b75d32a320841e3d49e465d01efe01a6673f5ca32e56aefad231e97e9924781259981b549e26cec3dc0ddb94812b3b6c972b49da5c78240d93df80ab5597cd12f8e25a5d469d5cb465aea51dbdb71e51e11a3d17bac94a3cf4b8f05cb13074cd2f5adf4e18b26224bebaa4513c9d149c871e07a562a340645bd4671fb2 +PT = e723e69fe162f022ee401fce2d7fd74206b428328ae802b7a30187229227c6489bbd0bd59f2796845ffb528cbe0331b60e00f8 +AAD = +CT = 66b44bcc0458705c1447928439f1542d73b7983bf6b22380241e8ade82041c7482fc147a5c0bbe9eca92c33a0202432b074ca3 +Tag = 423e4b8a3402c38ffea9bc7afa3b8d5f + +Count = 4 +Key = cc6460926da2ea87c0046206d6dc734a +IV = bb3c48290bc87a1c880034f0c1c048f398f21cb40f0031973466c27370ba3dac5ad6590909f4b55cb9277630454e16c920b7a989a059bc939ccbe617223ce42dbe8d72df87e3803b3c53a33fbef42b1cad35b8fdc2dee15e0153607017ccba6bf32bdd14f649dff4f0ce8dad37f4d4fb925d3c5f9617741e74d3befd34addc64 +PT = eb3dbb22ff526ea8358aaa010d5068484fcf9e3ad6a3ff3f2d2b11bdf9b9b38d46f894968b9e2236f1d182f6ceee49daed02ea +AAD = +CT = 4dcec66721d6f445a542a43f166ec5b77ad66e059e625c203baef938a942b0c941a99813937aa0a9f6175aa1a93407e2190cc9 +Tag = 7dc88852cbca1a612b84ef2043359d10 + +Count = 5 +Key = 67a15edd89fc2774544678fe7bf4c537 +IV = a1412ad98b46234642891300858ffded72fff3c9fe65031f0fe84396bd9949dc755920ee8fab787cc9045ae5dac4bebb15d5e879bd54b9f2dba8a34c60c59594af0b64e3ec1b73c23e24a0981f64bdc95d85582931e0e6f143356abef3e32caceb218fd0e65e030b223dbdf67c47cd4689967da606bc8bfa57c62a703beb4514 +PT = 2a42729bd1d31c14f8bb91e6d23ac3c5bb99246d097ff01d719fe501523e014e8cf84a22e30d975934230be460f90854336a8b +AAD = +CT = 730dc5187f38123c479843251e956634ffe80a4ae484c25e9bb84f6cc1fe7ea9120c3fbea72fc90cf676ffd7879690fb3776d1 +Tag = 05b7e54fe6e5454b6f2109155b0e23b8 + +Count = 6 +Key = bf883fca0cdbc272a030f6a9be383959 +IV = e844a3fe28668decebd39d595deb8e6f2bd76cfd95735f45657d9a2327e5dc794b621fc5fa591987e1d8611211ab10de408c1b943e97a6a10bfb6def14fcce718925ebc3b9f44555122c20a0ed719f8cfdd7e0ee232eea72fc73cdd9e8feba07657d6004278016eb8a46804c95fc0069ace895db7a4c9ec6b810f88a78a41c3a +PT = e947fcf5fde073ea2f3da75b3e5fccd6b068043f3cf51b539dadac6d18b1694fe5a200ce0f4f3eb4f0b4d314534dc9a956d2bd +AAD = +CT = 137946a8efff0c2ab35562f0a27d0b764fb577dec92ff9da3e1a5a69dceb0013172983016c69f4139ea10f7676e2b9776cd30e +Tag = 89d3d8711d1deb6b6c12a31407e8c4fb + +Count = 7 +Key = dcdc8e30bbb5e95614a8da3a7be587bf +IV = ce68c3f59b81139a819de30830d09a19d286f58fbf065e34d3be42734ef2d576764bcf6dc510b97494a18da28988ce9e1fc49955753a515843b60bd2e64a2e61042b61e1e6b890014e8e9fcedb009f993abbeb5b521d2e0ae90c6e07f70ede1e379c7ee1fe9d40066ace3bd3e737663e1a279b661ad63cce73eb70240707002a +PT = 034eee26c123ff07ec7c0afb86c95bb1ace0bed552e93a9e795bc8b5d1000c5991dc2dd5256e6e92525e344f0985c9ae272f2b +AAD = +CT = f97504e8e8806f2112a0a6d0947f8f1d5ab1226cc7c933c0cac089903d6d524b392facb0d2511552126d15fa59feaa48849587 +Tag = 97754ceaa5d113d58ca5380cf6d00187 + +Count = 8 +Key = 82d395b60d00a07b23fc4b146f9e8e1c +IV = 0d7f6271df5818db9bb4d565577cbd033d326280bd9d236c245f0889d346f16225982c833009159feb39e255beacb36729b4a4b6bdc0934ba6e72a00b09677de14476f228b9d906a0b3a8cbc6d687004c40f2a494cec22ce894bcce41a8c8a2d8217e9eb373e72bcf30dfbae9cf2650334ec8b667dc85c4ad14e3377f760165b +PT = 03928310ff98c96a811a35ccb6268da5045347dfa993d15ed16a7be894b207ff29c8b820af4c857dfc575c8dd124e9215cad42 +AAD = +CT = e5a1c1e93b7ef8a5cc1cf6c6c3311b5f1ce0b2057dfdc8e2844d911f2476d0c0c6b3f0d651511cdf9bfc2edc5f6c799cfe6a67 +Tag = ad65154b0a0f8d87e26a8fb25003d5cf + +Count = 9 +Key = 19088050ca6f0106fa7f0d739bb62c16 +IV = 16f0aff079184bd8391a46ff3a8c8e9b39bf83becf29c4d5b954f1239704f99bcd0d40bc8d507a56d193373fff758e8ef1ee5b3859da9793300ea4b7e5fb24cbdf60d36eb32e7f5d233619018fb9d53ab0fad6c3a4272a64bcb28ba429fa1ed7b888e9a842772cb4f39af0a94b81bcbdc06744b68d83d556e893bbe606ca4858 +PT = 58cfa7300304427a25dfb4d181c4a9af8b5531184770305dd3eb8ee2267c3935bc543c3384b7c501b433d1ab3ee4981d30fee6 +AAD = +CT = a09ad94240b0f2ca621a2a99d79de092fde4ee56e70f4cf637b35fb4292cd4981a8d09b4afdb8d9535dbade061ea32e166156d +Tag = 04c085b56f74c94b488c910c7dd5663c + +Count = 10 +Key = c4ca6e45eb4369b3b75b79a5620114e0 +IV = 047fa3a51b481e278728eec236b653aab211821960e78211cea394434f02e626f220d517ecc8931a54cf745440c5b99d768257fef690af6f915a270a2c5559e94444aab1f796cb6997ba2d1982e5cfb64fb03ec8e12b6497d40377db8e4397bae38b9ac8be9f0bcae24355b980bfbf70847d799a160f726e7faf1f9be4c1faa0 +PT = 8f2e7bdd16bc0fb0d5a0ee4c5febbf6a52291395c9b6f3b0d6b1eed43de5d1af67f18e336d8d8cc960b877635e818af48f4107 +AAD = +CT = 88056bc8d56c1e73ea7514ec509f5eb46e660a1e60ea01c3f6b16c51b1dd79d351ba206c3ad9acd55efdcfe3dff878c84dbf38 +Tag = 5149779552eea7ffaaf0bd17636c848a + +Count = 11 +Key = 88c81827cb514632c8b0c76b7ecbd1cc +IV = b3632bb439c8811f1454e6a368c4c9d0bbd3d9507ed1050cac3f19ba085063af9d162eb1c02077a51bad143be939d32c685b6fb3f330b8b382cc6567c55f2f4ecfeff88ff281e1e5ee1cfc813a13c9e69096761f58d13b9cad6221b5aaee03e40ad56f1a61c250ef57f94985ab6a603ded02b513e035ac8b2e3c3b69d35d2918 +PT = e254bf464879b4c48200541d359ecce478c67a62f4f5aaaa047d8e4a4ad6adff19da9a535a0be0758d5e7e992ccbb936d3c496 +AAD = +CT = 453ca80e69d37a6c8338da0deabb5ed1d5f8c006e67aca5d0bfbcd3aa32290521e91f379b7db57764c2755bf8691451e72a295 +Tag = 01485fb4f9675740b354bf7557f0f23a + +Count = 12 +Key = ea6e84947696128c865295ce7e6e83ef +IV = 5cc1973174cca4aab3c0adf82044a9745127ccccec157dca6356217895b4d9b9e2720a67504d2b0a0eb0a18e72f660ce51677ad9e855846ab4601b1a5d28f7341f54b2a6b9f3812a484ab9a90c76c3295cccfc33604e8af1057337f7a69cce0148c2e4fca0cedf8ab269314a7244accac2886a3fbd4e02177783d609bfbace79 +PT = 357ed55b7f2a50da5c86067ee1025e501e37e1ce30f3de81a3c832ab2a45606090ef4e3c902b8b597620be12cba5785d0250be +AAD = +CT = b6192c139bd83fc4f66e60e0e092326fec8f4d6529883aa9e02aa9f8e663524a74fb978718cf800fb92af3997833cf4fca3471 +Tag = ab729a242c5ed444272723c8a6bf7fd3 + +Count = 13 +Key = d71df7a6f33637a57c037f910e53360e +IV = 253afe37397d07456e46156812f480f9952d0835c47e6c6ab61eaa501b7a50b94c6e4ab02d20341c513da22b3805b7579f4b11276a954301ba086ac03513d7779fe447bcfad0f4e3ab82e0d1973012ea0c48f1b0814caf11c1b8ade7e91d1d589b563ac50315a0aca7c1dd21c88ce9a437da5d0872bb289c4527ef152f3b6a4a +PT = 36ee2d54f826032f3336b2a8d08808dc4243cf923069c1739cd55dd266ec3391a94b0b1a3e734cb5555fc6a3928deeac8c8e7a +AAD = +CT = 6bbe6de0c2365c8c61d58f81328f30c1731c5a2608dbdf6877d21042d631b9bc5377d1913c5ad74e5713bbf0e6756c5141353e +Tag = a833e539c74334ca275d17820b99fb28 + +Count = 14 +Key = 862ddc1919a772f8b68cb60ba68b194d +IV = 3f90a0ee6a58733cfec2f745ac4116a1734e1f13123435f96271c68a510ae2f9031f0acf998b3521a77ae53e1084f3d916b4726c850956d48a5fb9fd4c1f0fb33c91d2d0a633d881d5ecf981b23bc8d57fb598fcefb42fa13abe62edbcbb37ed798289b311166d921233b2084e7222e40799626cc7204d2891bc07a56d6c9964 +PT = ff30ed15518ea1720d87066b139cde4d538fe09b711aba341ab48f9a66bd9b03fba9a1bf6bf59e2328d4575babc9f134f1769d +AAD = +CT = c2e5c99aa3468c7781c5beec7d5b02821296fb5b1982d8a0bb99302137e5f8e60f53ccb73ee490fe87dc2ef95eaf698851724e +Tag = 5ce651c21c3ca63811194646fa5142f2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 120] + +Count = 0 +Key = 53eda085b3886f2bbbe1922f4a6d04dc +IV = 34dd9be449898dd4ee72b431ff1b3fdb28c5c35e0278cf2499f7c45cb551b3f2e9203e51046f5ff9ca9d260246402771d5ecced1facb58bb69fdbe644195b34564f3b089b25a789912b498cac19b3920327b2c652022d4cae52fe9f210ff2829997e09ee9e59e2327b3f2486f69b474da70e33de1186ab4675e88ef83b70cd0e +PT = 6e69c2ba007c579872d4ed412bcda3c9eedc462202fe19f80bb81df6a2251e7c883e22d81aadc8fcbea63033131d58460afb86 +AAD = +CT = ba998954e34c56cf171b27f39c750cacbe1dc209f8ec0dce63a8a900052d82c943a99f2859b37d2470f1a52aa0d59f1d08909f +Tag = 8df7d9726a5e47141e8a370267acfd + +Count = 1 +Key = eb6b0e40f170df5807fd7f7a23053d4e +IV = 1acf3aaa3f44d1474449bf9ae64a291efbd1dd94c19846d7126350b02faf6866fff02ab25ec954c9bfb946d0006c97342c8227c4bfe9fd2f0712aebc393372554aa8171c47a54c8771bf27409e8ff5c8c9f5fba01a5e144b548c698f4531d3b7470c644842285556b701e3f623a254fd4e18aa864719c17abd42b3bb0476cc17 +PT = 47542e8927b1b9ef061e788d0355a08a607ab081cf3579c395deb94d57356e0fe6dfb08064847011cae1f1c7370caef39b1c1e +AAD = +CT = 898636db4f564efda149b2a5b380dc0daf4e191b65ef24be3157a667c303dcded8b4f9b4f3d89551b782e7223bb836826dc82d +Tag = cb8b066171178cd7b2c94180399339 + +Count = 2 +Key = e3f91ebf3778d0d2eb9b41ee7fda1f69 +IV = 046359b4169c5be0a7bb7cfe65af070815028ed39b976cb0f9a78679128a4549b40de9bddf28829a841a047fbd4b94ce972d96fad125dfb2d5f80b91488173b0902d3b241f22049cbd07a972a0b7c622b323c0d403482b99981402009aa7fe7c52f14e1f08bf3438a9db10807af4ef433973b3a07de15e399604ab3cad63883c +PT = 51da913c3d8286dfcf3a95512601973a07fe2ff471f9f5cb86811b1689a46cee66dc6008d9b10a1f549584de7344f21c851566 +AAD = +CT = dfc9024810a6decacd96820b8df3bf22479402c2d58a6602b05727a3657476208f3740933b3fcd3ad7d04fc64e9e4439393cd1 +Tag = a17ea80c84c5ae42117df8561315b4 + +Count = 3 +Key = 1d94398781db732a75bc85ecb338e52c +IV = 198a4a3d5b9d01aa83813b045a803e85ae893ca1dd600dbefefc86b78f6b0a3ddd422ccd5658fc4e6eab8e13da238f92e0e71c29d929c58c996ef972b1dd9f452716fd014e8a5ca1b66fa28f3b2f039185a9e4f818a7310f7914bc4d481b12f8c9207c4f606c5386adbf4c9a21d06b3c635276cf0d90a94b93f7bc10a506e2f8 +PT = 9500ee9fc17c48834461299d75d3c12601f71f74d38be4534319fc29d648bb9f1906569a67eff591984f297062139b4360a55e +AAD = +CT = 94eb4971c67f68f7c7b017f07a172c18fa323189412de39ffe03af8b25426c770417d72178f4af4f16e94d20e099a2a04ce536 +Tag = 8869de9105d1b164cf690ea1007e23 + +Count = 4 +Key = 2ceb0dcee7b705cb889c6a13157ba234 +IV = 52c40b32dd9f45e1970279a40a97196bc10ba43d7221b6349351f4ea7918ed91044a911359136015f2a4efe96d992ee3c2ba1f4de4516448068494eadc428bff79e6a1802c33586cbc77f8f25df1cea3f1ea1df5c1b7b86c50c8eda99f04d361eb0f47f5afceea64b532173db73326a444b3f31fc81d424502371be3aa20cec1 +PT = b1a5c64cf97bb16426f07226284d8a6e7cd71e08a79370a42951bc61ca4a67f9c547a5423bf95de9352a3235aad304272210d5 +AAD = +CT = ef222ffaa2926d8e5ccb0239361bb26a5ae3ba71e160189f43e95adfa610a13345500920e0aae358a8dfe2b7f745ebab50bf45 +Tag = 0156694d6c339e36807304b1ef91f7 + +Count = 5 +Key = 2f729e0611281b905404303be9731d68 +IV = 6e7aec299ab7f73a528e977e942b637b80df31973a6a29135ac8f7c8874ad3d360b50232a3d21258741cc6d52600d7b831c4d668df847fc3670c368ae40a624bd24a08bc203935ecc420f3104cd78bec46a7f4585f40fc3f71305ec22c22c86d0eca532e6bddb0d8a4d3a0e1afe13bdaa809db96e8abe204c57ad1a8d37c04fd +PT = 232e21c2d7315525a97498478fbe5659246e4afdc279d0a69ccf24eefa44335825f1539dc173352bcbd45bc561d6089c8099ee +AAD = +CT = 82874d795fd79f75cc1bdced576f4d05109e325e2c91e06095a2dffac45f01915e1c0d994ba1dfc8eaa5bdb387d3da6f02e3d1 +Tag = 5815890d90731dc431c3d48df97ba8 + +Count = 6 +Key = 0ef6c1293e439a6296bbeb4ee8022eb7 +IV = 1090ae2b68edf979c21dad11859055f34886909ebd04c6c36fec0820d8db110adc2eed30957615346e5b42cba232e2d2cd262a398e08e5cda83eea6ad792a30e54216cb0f4097e70106c159d94a4982fdf3fea3bfbb941be1d5a902749dd98a3cc7bfa2814aa5a328ad14f75758b22abea3f564c463b46fa4689ac7a88c2638e +PT = 96a4a2fffa8759c69e0e47a61326e8590d32c2df3ba20309c57ed505245881f8bf08bf7b739dab73e4dfcd7c36fad2b1f4f8c0 +AAD = +CT = cb121df1421d6288e9233e671d2d0ed3c5ddd552fbdd81d7d42a29fcf4e21e7f8374361f4640c0e2a145e952df44b03f9ac85c +Tag = 78e1047b6a2443ad7ee872a1818659 + +Count = 7 +Key = 975ed897f956611ff481442f5dfe65e7 +IV = ee75200444bcb7a5a327dc3172041a318b4c4ba08eb34ea4596f141c2ad8cbd273bc413b10eb18df5e40ab7902d88e9ca4f7b1e7c904e0714842a79fed65038c01a247a466d2b2c0c1a40b1d40768f0abc1bd9792b6fc0966c8420f1001a48ec34d607e6bc139150b009079862087d680dfdbb29ccd375321e5730e2c597b959 +PT = fb1dcec155397b804916d832e46d1e3965c24400d943e54089b9d3266f22c422567d8166a1b4fa448652783994d123cb78b07b +AAD = +CT = ad1e8a5adadcd95ef5db249bb9478acffcd92ac060dedc3f38482fe41d4d58789a7f7ec79081c2ce5403f2e5112369bcc59cee +Tag = 0fb126dcdaba1feca5a92767ded2c6 + +Count = 8 +Key = 404260b72b95ef8b5f66d8986bf30177 +IV = d1cb733a50fbc35db6329007c8809731c48deeed1ffddc95d25cbdbd96af1dc7208eb66d537a28d7909b1c3258e4406c8e68b0a084a12e4aed34fb6a8506d78cbfec6fd14c2520ab42e76737c6b223feb0f9a7ff536df5840f3441b7cc36cb43561810d497a382808e498d8f12b4db38e457f823dbb317233fcad9c146d44f34 +PT = a828c8f5fd3b2808af9ecab252b1e5fb86d801814e0ae62f3a2764f102c5677cc0c9c1f3a4e81a0930ea8cd46f8393f2813c7d +AAD = +CT = 7190568b4cb74a94570e675094897f70f14e8cef22b50d86dbd289728217840160f2b0a99ae996177482a0c9e179e3c4fb1109 +Tag = e86719c94b8d1e159a37506c658824 + +Count = 9 +Key = 5f585cece35d53eeb11066b43b20a91b +IV = 330526e228ea2d984126b322b98139d507790fb71ceb632234725afe6b3686ac71c69ed43a593cf6aa52277f7def2c1fe0fb50432e4ca9fa5d416d9aa8730da6d42e887261d3e194c3985196b507da3292b163c19dd731b951852d592cb65a8da65d04034c9cf8e443c5c379cfdde003f0eb851bfd9852766ed8672fdb008a1f +PT = 91a39e8b22eb378e9d47d6c9e463f1d90fde8e2797489e06d752cd5e2ea754063fe649ef51de5aaddc190e0983340ce6807b52 +AAD = +CT = 451510e385ef8294ed34a3c7bfb82408fb1da655b12dd3f753dc04e575d9a19e0a792167447b199f766ca9bab07f90ba167d29 +Tag = 573eaf9e484cd6c5eeba6bd910aa42 + +Count = 10 +Key = fe3ab7b3b18ebcbfcc56b4c89d00fbb4 +IV = 7422fc9cab70d91e91b44502a2edeef246fd781a689059949283c974bf503813cb25f107b6704f63ba78f34b2be0112af4a193f8db77198061d9d9edbdfc146a3a5239bef84238d0cb626a40a03639a072b5af62843bf787f2fc668d7021b6152060721bb9b22a2f9f407bbf2d5f01eb2eda528427200e972cbc6974e5755974 +PT = bdbadbe4146d4ea3755b3c1a1d9a198e6c121c3b500c1c3125f5a25456af168504bd9818b14d6830c00f8b35beaef9a0f308a6 +AAD = +CT = 332b11577b9a965479abe65709eeb4d09603f97c480d68aba04eb4dbdfc8fc89933c61b2ba769836cef8a9d38128a94eb8cda1 +Tag = 1c151413d7a4fac32fc4deb51f26b6 + +Count = 11 +Key = f819c6ef7fac41d4c85352e0ffe4e496 +IV = 3f565c899f83c9beb7ed2c8e5f9eac4812648854a3f6b81fb59247befbe22b19d8a5fc7f269c3f9fbe2071bb9cab1a54fcd7e54c7f2e5673f00d8ad8c6cbf506d10a64abc0e4246391127c230726f6c99c7a73839e35ab8121167ad45ddf305c5dc69f12c675d983f3820122462b8e52bdc677f703b2ae88908a3301f6cdf324 +PT = 029b69c33551625167dc8c4db4fe69adad7580391e220a8a492d540629f7feae2d3a1e8ff3db4cff3f1fb6498f83d489bef4bc +AAD = +CT = 84d1955fa0f94ab889a5c812cac1e0cd1f794a77700035e55cb1247d036718b1a66a6ff7818aa6bb8cf17f189d3aa3840c7647 +Tag = d462d692d24ab535721db5c5d12ead + +Count = 12 +Key = 2cabbae49ed8f8179936d1979326cf74 +IV = 3f867bdcb1f9087d10789b1bd9995158bb44f04e08044c6c78472fee89f9438454888aecfca7ea588ff4f73d77b42448c130f815b5d12e1970dcc4b8ad587027112d0e271558988aa14429c90797e98b318c0fd9595c4d893af313ff54041a01df599274899aaf2aae9bd0494adf29ad0812639dc8a219d16c2ea1c5861d82da +PT = 28530905100d600e7a1483aab2cd22e451aff146984771095597f5ba3dcfb678aae44ea3f1262b8535638fc2f894c67fdbcc98 +AAD = +CT = 82bb4a52cf83282e6e89c506164b35ff043cdbc0f98683c591d5f901202c14c779a21c9d8cecb5830ea7f6152fe3cb1fd81bef +Tag = bca4e58e611f336ca54161b594b815 + +Count = 13 +Key = 35758fd56e963fe52e95e10c5f813746 +IV = df54c21cc799969a51e77ab878a4ef2e864484451718358ef3e50a70ccdc6e5db33b7f39939d1bf3c4de32e915c9e35cc89acac72759f42e4d1987596995ffb199d76c10c6475c5ffe7f65e1f7c26b5074c9aaa01362d20b7a4152ea960dcb183914c2ce61aaf8e867e53996205278bc441fb629f303b0e2797d7516a5f93e10 +PT = 46175a3c9c2696161850bdeb29cb34e62f649f8398257f930ab5931968238a75371bac6503733bdb2f270a02a9edbc60f8b27c +AAD = +CT = 1e1fb07990acd8de99b313c71cc1577d7c16f3d1bed15c1116d1a7f07f9606d63e9dc1b18a16c5ac0152281045311bca4b4598 +Tag = 369382f82a174e38e5042a5fe3366c + +Count = 14 +Key = d2fab1f3d10fd8a87c55d71201c627ac +IV = 791d8091f902146f0f58e65fe4344bf63a3320365e97b1c96d0d1da4e8e1b8c654e6c052f642a9d24bdd967306149e1113b9cc35f88995a99a497658f219a72cc3af71ed7450c47efbdc9428fdbc251d0179b28ddad00ffc5779ab7b3420f7b48624ccd4baa1db8075c51b46b758960b44857f92c33dffcb090ec5b4fd74bbfe +PT = ab3b60645b958860b0e496a81fc9cbcdf26011979e54a5b09210ea0f6e88b30fc138bf664cd1e7fa740bd19f0cde5c060c88bd +AAD = +CT = 17899589d2923d5b377a6844b0ca60a9bb3a6774f7845af2fa6b4cabf6af36f5899d39a01ba9f04f0ad7cfd80fe348498f33d7 +Tag = c30237004aeca5a59d9e5a20b5efd0 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 112] + +Count = 0 +Key = ee916aa3aa617d965c89cfee8f608c32 +IV = 3c70b5d6c25c518fd90f26d13f439c4d45ff7f8c6072bf59193838d181b08ef9b84028e2957c1457e5cb1a0d68ac811c316f764fd9459460b07ed5e8fe7ead40a8cf77edcf47ba34065f79cb45aa926eec3438dabc77d53bbbf0d31158f962cfcf9e4a673431dfca2c2b24de55c37ae9c32770049194eab45c6a163f9a8aa121 +PT = 10ec5da97b3906b48d8978b38690ae4e3e566e7cd71889d254e55bcfa02f0cdb8f509394e3561db6f19dc6fe9eb2da2c223845 +AAD = +CT = 999dfb0b3cd9400ae142bcfdb999a873a77c2f3a7e4f69203ac256b30aa51ea735802925f50a10d9035ede056fafc56a754cc1 +Tag = edda89883d676f7ed59294ee3589 + +Count = 1 +Key = 0480009a3b74dc1cb9d70e9b12b82214 +IV = 73bdd4bfbb7a728ac7875989b45ababeadc08c90630c221404493d6187d99f7de29b26f3a4f447a395899061b63b6a80b46bac44e3075fc95088db50469f7c3ccf9280393410b41579a94ae937aadb3104fcccd57a7a1dc5713dd2c7caa89796cccba8407f0a308004765160b35a669edcf7c1429df86a3e7bf8dbe701e991f7 +PT = e832c879663912f33ce9645a416793e9c4685b1b9b3eea2467c5eeca30bec64dcea66ebd6214c120d0bc581eef885e74340e8d +AAD = +CT = 39dd0894a78ef4cb334a14cfa6cabc8e28146d18bc7d5a7c2de22a07d66725c53314eb83919b1ba71592d14ab8221e36140c79 +Tag = 463a0ece66afcb07f6a83bdb8dec + +Count = 2 +Key = c0ccbb4c90cd919a217bac9d5533c466 +IV = ce209d2da89359c3824a43c43bdf925fde9a5be377be35c792e6b3ab76a72305758def5c832ebcc1e0a6cdd4e1e789e631f38ee009987a36aa02020c7d3625d77972270127bd91d21ce94fb34b73ca313c681ff75b36d8e30dbd7d014ff1125f27b62ef60864f2e58e6f0434e254c403076168cd029a6d007678ade0a28a3a98 +PT = b1a66481b08ee6e417e2dfdfa693f282c3193b2aff49ca78a0bf4cc6e743ed4a1c333df2b09bea4312cdbff978122fadf5160c +AAD = +CT = dcd33bc32292b83af2ef3eb97c9be4604a84b53590c2ff633c1ffa077d398e657da06236897912ba90f4b2d1ab37d31839e212 +Tag = 211c9b56d7a6d50d072ecc7b0161 + +Count = 3 +Key = 022462d673676f057be52ff6ec4c70ac +IV = 9e7b109a02ce995d615ddcfd6ff7323f3098afffdc83c0388e7b98cf332f7c6968b549d8f9b81db5297afc97363b20e7129ef0ed1f55f012535a8686b970f696b23b32b9a242840309082b02e7133fe41a35b667f82f2ed236363150de2a9a4beec82cd1130a35f3bbea75013815b68494004592dd21baa7ff5b942b0e1e97f0 +PT = e5da14c42eb1cd7bf730efc3c87cc23725b04cbe2a76749b3fe652623d74ea638a97eead61e7c38c75b3487df174434c38a67c +AAD = +CT = e809a6794aced926bf3134d7e27f3b4613f5d3489233e7c78d00069ed1574b78515a2fde1919bf55d3a1da9fe1d116d0721cd2 +Tag = cccf01ee509660c9180a67be2810 + +Count = 4 +Key = 38bdc9cf7d001b03fbc3578df14eba7e +IV = 1a8fd2026c50b57d39cbdf64e6c7ac95e4185929436c77bc9e67ce58a8d8c2cbcfb71fd9dd88a78ee43e5abf460e92537d871f7e40771f689cb0506838769a8cb6a8d6bf9aa83ea2ff53b5729500848a1761a72f575783e29c73c73a551f863d64645e552cc266e1dab508526d0f0dcc4095f0f29860ad0367d4fdf0804968f4 +PT = 569126a1c92bd641f2178c8bccba21ef0ad3579a3d8e37d129f435f82c23a747d0272321065cc7f5edf1e1fff4188b733a5b7a +AAD = +CT = a260118a94533429c40e9356e8f55e23b523c79ca691df166f9eaf4a357973793f06e6885e9fb53bbfcd9549fdc53caa2eab3c +Tag = fd6638fc32583e748ef16c5ba462 + +Count = 5 +Key = 8aa857ad5ea1f77ab17b97eb524a1683 +IV = 521c49d4aefc7a64253dadf1b36da263dc57db5a3dfdcf74d04785e224773c5ac3c316ddab7cab7299debff3d807920fee559cb324390b6d0cf1d8a0d4f527598522f81f7cd4ad58949a192a616e86bff42838b35cb1ff708bfddac79107b27d52ab6cfc7447080a6c2850d2bf6aa88c3cdc478ed849b8de4c59b8ab39e3ed48 +PT = 3c69e3a44635ebdbad519e19a086d35f53fe1eac56c61a0172805b403ad133a78d968927d88c372c3fdd117160a87a62f6ef52 +AAD = +CT = b2f794bf4337036805ce3ff028381a8547a8fe06a7e64809543240206785b151bb7d3f844029c13ff40edc06840770ee79532b +Tag = e6cd366ebf81f01777fde9fe7d06 + +Count = 6 +Key = 1889fb4d4b501dccdea55be8e8c52426 +IV = 0a22c749fa373ea53ed82a66fd5f62cd211af87cb2446a1e63d6d6b1770ee60d1d7fd7dd447166418df0ae0e8f186c926db2a250ca2980bfa775c55196c6adaddeeb75e00e8116e1db4bfbae36d7e5ee45510e1e6cebbfa1db26fc17d013428fcdc689ac096f8df830df4749feb36426c1afd66db07bb186db146d35de46d234 +PT = 64d65e2d2778a2baf56c1d1a73df3e019bb061000e7c2d6f11dee2c726466e2f3568976a00f1d61d4676258727202fb216b41b +AAD = +CT = 95a41e2e0a91ccbd3b00f38d0e7e11efdd2dd7d67bde1fe5be0d36b9ef9c5365eded878f64df7eb05145bc85c3eaf474665e34 +Tag = dc381cb458e91bd6eea6a64016a7 + +Count = 7 +Key = c8edb4e34b58457afb9caaadee54b346 +IV = 130d87a461584ec5bab8fc812d79aeeca052afa05927224ec5f28a2ea28e8bc94e39436c41742affb64ab4570d96c5274907652ff393da3a9dd2d45cb4419c0376ac870598c30e1115f6b4933581b575cd91d89155bcbd1331d148efeb44b794b2acb9c0ed817b003264404199b07d2be7a477d223c699cc33b434713c9fd886 +PT = 027b830c8b3eac564946b7c9865cfd3540988f5fbecd36099060584739a8b59fad2a7b03dc98703940249b4eb2a1a42c9e2e79 +AAD = +CT = c7f898a97ca59a22d1bd3d11de15d44903ea4ae03909fb15efc21c8a4b6a5a68aab736bbf0c766c667d9dfdd584af1351d6abb +Tag = 47588c48497a60a316b6dc774cca + +Count = 8 +Key = 03b8068b62d466b74599ddb307eaede4 +IV = b502d2f9fb987c0e8003efb41c4f8e94997f7bc0c4b03b4cdc20620396ea3cf186f91e8ebca00478fb29d37f0f312ef4eb5aca90756d707e8fd51404591735727b08859058802b3d142bab0606c53aed4f0e74ee11239bd6a82ade66800c33c0a953257a23842388648e21a6dd8810d39df5f257ae9f5698c37d5ac1deb493c3 +PT = 26bcbd96667758483bdf349556c3cb6c1e770e9b68c2ab0b58a0f8bc384bbae092ecef7fe1d46402ff55fc258ffa1058ec4119 +AAD = +CT = 15e6ce039d94ed0395b25cb9bdca2f21d937403d84bbf5d317dc3700c62b64f41dc8b75cc9062498029607f2c4e161ddef2c0a +Tag = a274f9b7fa2662912b8246c9ff78 + +Count = 9 +Key = 4533a13080547e8e0d309e6e4345eb4a +IV = 34f838aedf89a0376a0ee312e6e6b0724ce3dca19eb8d2a4c6d3a6641c6600d421ea4e405c488ee4144a26289edc170db62ab81d7d39f99377107f298077961236164fc8130901600f30c8e59a5f2753b637225dd7a430d6cf08570393fcf5b34efe81fd6707a4f5a99c26d927e91e28ecec4a7a54bda46370122983cbfb8867 +PT = ed8f2b3e3847d3cd4c3ac7cebb14aa34d1432d4c8308001936bdf2a8620b02497ca913744eba6beadb9f2c8c1d064a9b706c62 +AAD = +CT = ecddf8c15e2fc7d2b195c444efd9dff85c7d47a0863a3419d79edf3d1a1bcb9180918036ca69bf4c63a88aa43939842f5d0e81 +Tag = 417220a009de2f57cda3f16aeb8e + +Count = 10 +Key = e90eda21819b88f63ac6858577ba4c36 +IV = 5ff2966d755bcdd7259595bc4b38345f209ee7f7832e765f0e51a997f09791ade5b539117a62dd4e9e494d6e73f9388b3b340a967d86ee944d8147ae73eb3e5c5594dc523300357e697ec3763e41d94ce560d13dbd6995a267ecd6ed50f14fbcbd86500c9d4ab0cc981a9cd4e6d585d294212a0816e63bb1bf76ff1f35cebe10 +PT = 332e2d42bcb7265b93a80993273534b8a640e2afc043c416503ee572dae87d037a19bc1773959aa72f42b1c2a1672f00214463 +AAD = +CT = 6689193f757fd1671f79524ae9c03e697c29ced04fe9810576a188d0c7448f8b45a8d9a786c5416d3850be64e30fe5a048d7e2 +Tag = b2d34abb03c1253cfe840d7bca6b + +Count = 11 +Key = 7fb37ea584597f29f33eeb0a99199952 +IV = a2b57cff04dd84665f6400afc40cab5866fd1d3bf396cd340245bd9168edd9eb95c6a042a80cae45043e74f1397dfb5996e0f738a244eb98064eea80c94912f723ae3f651407dfffec2cab73b38d60fde3082e2c79d8f8b64b5865e5fed9286ed040d8fe3d9df84125b0df4940012f57c4265f56dd79788e2f9c2b1cbce38002 +PT = b4ad9ade1f91a27b46bedeaefd3fd24e4f304966ed1db6c91e2cfa0a86d1901074ee20670d32b61efe7bb44538bec90b1603c4 +AAD = +CT = 529558114f4b318f85ef5681cb94cbdbae5db7ab08b4f2400f5e552515c12c8a3eff413db02f46f099221ebf02ea3635913a8e +Tag = fe8797297369d93a4a33b1e46a73 + +Count = 12 +Key = 65c5173ac4a864c83ad3045ec5658da4 +IV = 7dbfe7c49f10778664024a408e80ed12332e1c157a33c9fece2d960bbf2f407fc66016d7d622dce13895fead1999fd442ec4d37c23fd72fab6032495f77427aa7edde9f433afc01c128d2c5af82a549ab9c9a55901170237810ae2821eea22bc5cb3ff154dbfb65f29236b967f083b0e3ed0db2a5279fafcd2934d651b85fdbf +PT = b0278f656dd0dcacd7a5c9bcb623dd62b71daf7aa6b8e58707b7a9617d0d70a1710dafce9e2629433ebc9d44cf3b6cda798e9f +AAD = +CT = 094aa287440a1d999ace7b16121480fcffa6d6d0b621c3931bba52ae345222f68950626ea0a240255ff3fd4c45619ce1340d9b +Tag = e2c8ac2278e1745cac0768ff0280 + +Count = 13 +Key = 8c9ca2083f15fb9519fc7aaa5956f0cb +IV = 27469869dee5d21f3625af83cc2592c387d9d8c73af85ca11f63bb99e8dc83ba53110bcaa13ee5466d07c34236bf719ed35ffb6b491bbb17d1ea04e62b4af24578039b9ae9280a8aa2af43b8f53d43ef6e13014373e3c1c110fe237d62261ef40289416252500698b57d99c71a066f1a909b869e1c194ca33dc3a464aa45c227 +PT = 914e3513932ce9c74d97c5e6d2b3c821f0d7fae3db678b1aea5a2543885fe0c162c108f89590375b034bc23778a7f0b6f1ef92 +AAD = +CT = 3fb793f7fe38f17293cc80f559c53c4aebb2860205cdd17e27c2e8f76a1a3e50efa3d2f9e50c8f9bc4b49a7db95cebf60a46b7 +Tag = 61d9aaa5d11b31252291e0b6f0ed + +Count = 14 +Key = aa0d70f77c90fe8ee4f91306559e4aa6 +IV = 18ebbeb4085cec0b7a8171acab09150c22e7c556a7355fc9a459b35786ca80d3227e0c96fff809bb8c999d8d950fd866194db709d188327edf5e38dddad5a1924ecf73e76b013a4cf03119d4560a57382eedac69a49b85b1db1887a6d595614154c4972d2ecc392899fee3828f38b8fa4683da9b37af5690e35003bd2f12acd4 +PT = 0562984ff3025f5c21f3ce8591f6533cf57a7acddad390b9a79781fcce2cf33244a26cea3e0d8d7c010e9077c418f50521ddb3 +AAD = +CT = 9dc208d7e89366897421e201d4a410659f80a15f5e6353839340085e48a7eaeb98e70bb95024fe530cea1b5c0813d4e96eb5ef +Tag = 8dca42c841ad66afc3c3c1a5bb40 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 104] + +Count = 0 +Key = 38b2329c3eac1976795cfd68d7224a2a +IV = 676e4b5e2937aae0c06ba6e2b5167c6a0167fa7878a28507a756175ee083d74dbfb70ac616411d8824b9923c1a201dbb2b25db23b56ac4cf732a4387e9f729dcb6186e8fc9a940d48733a5b8b0ca05808bc46d256a5e672e9a801c3769bf4a9c23a4625cc71cfeb4dfaa7747541d8b7d1389e1a82d3929824c544fcf879d5922 +PT = 52a57c13d7b7eed80e006f833346870be50e0ac9527c7789f202e7b3feb86ccbebe73abf1348e16dd382106a5dbeac53034a05 +AAD = +CT = 9a21ad0e670e2d8e8dd8fc2a4e44021f8bf7c669e4e81d78abc45b6d8e6918e6891d1f4954b555872c2170c023953806a252dd +Tag = a709a68749c4cff51437361066 + +Count = 1 +Key = 4de61bb483be8b9ffc10254009fce8b3 +IV = 604f3dd6abed21caa13208abff5d42221f21bf048ff2cb0a7d1df2c2f54e1a537ba151b62e66193cfd8aca3c70952f9bb93c76fbec40a1da706cd29a24e06c2de3f14025fd6acf47ec6d95f2f1c6d04dbe08012036692c5191182293635442ff37fa6797158e55bf548f3120a51ba3793b7e1c649a906c9f38fb07b86aa795b8 +PT = b6a2b7eff9d619e33ad734d00080433a2e95899bf30922a853c6952b6593dc2793e413fba9e1186ee83d87e2c239648ef35d4c +AAD = +CT = 53d955bc8d22c9956681f255505731fce34a78cfe2345b9aeaad1c20874bc9ded80bd6045f430d39bb4c51e67124ac7bb1a651 +Tag = 0674a697396e19196fd59c6dab + +Count = 2 +Key = edda39bbb627616e91759b7294066b48 +IV = 8fdcca2177901b9db0e01effd67ffb769fae792fa0049bd3ecbdc901ecce3133e3e039ea7370827ca67264597fe4d395b3251b8bebe4e757c806991eba5e577c6dcac31abe0e9d4390914b06c4172ff246dc88e65056d3ee4093cde1f521919b41ee2641a58aa24828530373d79daedaa52c97c67e3624ab6a679fa079a91b10 +PT = 85706f889a3cb6c91286a7f40ad957e86625ca41fbc1e03af0276db71293dfffed5c0d15a4125cfce737407eecfcc11b082a20 +AAD = +CT = 4d5b28d58b473ea8af7dc50791507c374ac9df38caebe1aa3b92436bc2b15579bf9ae911d53cb9779b53d14619c112e11621c4 +Tag = de3b68d9792274f0b243f492c7 + +Count = 3 +Key = 08fcf176473255d799e6d354da571fa7 +IV = d05ecb7092ce9c0bd92fd7fe923210307ca3b0881159c30881a3a29459c15aff4ea9aaeeffbda55bf1938502b5474d578a2c953a29e686b0ff5c51e88e9e9e7b28970847a5927b816978c778d728a19f3c51a4aca446208ec65e8339f3de2042b9cc22fcd8e4fae47834879a4f8f4ff4735083035e92d6a6a06c0d9a79ac9da5 +PT = ee1d532fde24b70cd71be1e5bbe1126fc3a495e335833cac2bb0819029bd2304313229322f367484987dd09ef58a1bb81d1773 +AAD = +CT = 06192bbc9127fdbcbea2443f2708fc3cb31eed4acb3366cb72e60ce333e4e42bed491fae1fe0744cb139a8b834d3340e1560be +Tag = 55d6f9080da268b1e08083391f + +Count = 4 +Key = 9a36b49e72218cf8048d373bf6726866 +IV = 163db0bcca4e344c12803d5d6ae1ad1c650e787c94e406d2c7af10bdf96ec99f848c5649bd41a32ccfb79d2700346e4e171a65f3b52e2b1673d7d20e0cf56493cab1f04ee1e72bfd794a1a15287400ed8f0ce77da5dee153ff84eaf994b64ed3e396454016e3f36841faf71ae5c29c2344e3d6b79a7ad96b9e5003d50db744fd +PT = b15fd1af58cdb78f6b8f996114134dd3bfbfcacf7ccc8f62bad767e85057a9288dfb807c2cab8419400a27c3ec751be738dfb6 +AAD = +CT = ea33eeaebb3b95979b81f9056b95a32e28a7fad8446eed6199dc809931cf0929c7d5d506c3df9fe7692ac1c270fd8d3715c526 +Tag = 14ca761c79ffa51d73d89563b8 + +Count = 5 +Key = 01a8faf832ca4bf4fff8f2e6e18b862e +IV = 86a2c3c4fc640ef10684bf29f67b5e507ebbd3b793b486c53d89f6ad94a4b318a03d6666db4635da34397b68e7a675b54ae73a5d1c5fdbe4e9f6dcb38e705d5b69028652f9feab08e93211edd752b3986cc6968c8cc98c52859025b44519480070d05b7c0509317d9ae89370c7e98b2885ab6b5749ee8943d9625d427218bf44 +PT = 5675ea24a8f3c5abe2f6a4abb0bfc2e9acc0afc0d84f1545d85530bc6ac69b02f9420f9a1df24a1423349c8845252b70477f69 +AAD = +CT = 20d7a9ec415ad5cedd2ff734f0be8231e03d3faae3daa8ed6623c84223622bacfedc561ef5639b5f35e60324cac8de5c776bb3 +Tag = aacb996ca96911595f18c65bd9 + +Count = 6 +Key = bd8a36fc9572d25843209a96033bf18e +IV = ca1e109ba37e1c72772067326698e24ad9425901138154d10fa9c465f4a352d723966da203f80dc345d7d21a1de3282f093d0fe9f89677d21ee7e8dcca95cc7595e41afc4ba2de52084dd9ba0d33eaf774691f9fdbed7b3fd1114e2568c752039f49f986976ea5d07d498c59df253bc517fb010b9d3c5facb8ee916b1f3d24ef +PT = 4a028a6b10523b9e09b88bd3e9259a27a84c8ed9c828f992e2cbdc8f48d0f475c99c07d7df0f3cf961a6068ef828786183623b +AAD = +CT = 3ad3b455c386c2643391efd3e835c43d36f9558a50a93ca565af7f30d09611fb6964827ad2d511ffc9cfd5895eb9e72ac577bc +Tag = 796760bc87238046475738d796 + +Count = 7 +Key = 47b4bef881f141f5535abd7b08cb0cf9 +IV = 54ad5d70fb9748bef5a5b5de6b495c1787e94f918f431849d49ad9d171d317e792f4045a15cd1288955842a347d1522c3d56a8693811dfcc57e4adeae27d6e6fb981474e839069b899300f49bdd3bc1eb1614f7d05cf771086cdadd6ff9f0b1979ec80d3c5da91e9727dd35dd9af06d87210528e472bc536d9c2d8f7f80296ea +PT = a7f44bf26aba8acaa464cf110384af3bfc1f3270414ee83e2905de9d482339ce97af39170286a0f5a07e42b68855f4ce4468ce +AAD = +CT = 52f0c72eee856575e3b8a0d4caeb415588068ad4930da38646e1a735925696e64b0006f3eafa7fac3f7a0853efcbebabdc930d +Tag = d5dc9a0460a1975053ad3c7d0d + +Count = 8 +Key = bb8c1bddd5f384bf214db2fbe0b2f2ca +IV = 1fbd78cfc5cb353d6903502a012097b292ccc3104752c51dfdc78a29cfa833be47a9dd08d83370573567ba48803e9e316e4f436f9ab6c69714bf736a30309f459d3f9f1fd1c1456dd51602a845b27de39e6d6ac9c4bb173dc1a500ae5af1d8993cc3cbe74b9090c2d1c59d210dbcbb6f66be5c4e564711d94f1413015783405c +PT = ea1868a2ac44d3796537ed861700e97dac65f886de9fb573ce5af9d27ddf443051dd02df23c8209d05b5ccff90f99e69072c5b +AAD = +CT = ef8041a150d23196ffdc4a0c320700160ae45b6d5d973b5e93d2e9ed979b3399b7d1ecfd402613ff5120c4a179323a4c10a921 +Tag = 75bb0f91fda39ed042d2219e4d + +Count = 9 +Key = 806a7e192e303a2eadd86f02d2a17da7 +IV = ec001c473466ddfb1f6a8d972a2b8454274d35735e78f976c128c8079afb224b596da0a289405897754516d47055e62b28e2084fec29f75a2e8789e6589717a5db5493bc7535f6cd5f39b7531e436c50472e5ce3587bb7db8ec83e36294bccdefddeb1a9cefe12529c95666323977f857d98c854a9469d0972c08e2e42ad0c73 +PT = f697ce0de3833034e465f8d6141bed15fe6c7763ebffb5d27746ccf9f12f7613ec81c7ac1dbfb219ca4f88c9dab8cc0269914e +AAD = +CT = 0d08485c2181a7c6daeb19f10044c9920d04073b2a3f44fe658068c75ae53e131c553f5694b29c08093b08f7ae6598b271e94f +Tag = d28ebe6baadec2ebf9d86be615 + +Count = 10 +Key = c4ab21c3e0bbe14d9055ecea663fa8d5 +IV = 925a18eddecb5fdf4cb7284b866238970d680725a3f43babbf93d05e6346f4ef92e1078c44bbd1dedf3310799949f3eb7bf38e3bd5c1d4c224b05b39db581b96d1dee95bc2d44b73f41ff8c7ffeab6657d28abadffc6562136e3f50a63e1eb1ce09b7ddf30eff82a7cce2520a51db0fe83754102e8493a986848868deb5a5457 +PT = 103abbf4b2e3fc26cf0716ebff189a67ce6fc996634744d129df6719785a38e7c30347c6b0867beb69f63c26ffa69a40836848 +AAD = +CT = 3f6cd2e87ecb96e391e42741efe2767869d3ca68f97e32b20965354b8e0d7ce26b1ec5533781ee1feb68ca3dbbdb98da4a0ca8 +Tag = 54ebf15d78df954e8863e14b5f + +Count = 11 +Key = 527a92d504295a2be6a8dfa7024e0450 +IV = b122f36e626f3e4ba256a16a88cf00639aeebcfcd193de64e8c8aec28789631587132cc1b75c550980de9b4598f6fd092bbc9cc551bdd6437701381d5eb9f651c323b95393b63686ec5e4281cc7e1d7a63b161382c5ee91fe858df787d334507d04d3fd3c46dfc6544c9967205bf9983496a54b72b3dbb82f9a8e251e59b9762 +PT = a3c83edf6db1d198423bec0fb6eedb121802455d6a0b134081ea2e1302e1dfd558a61c161023c79a3afce78398bc86b842e5b7 +AAD = +CT = ca1265bf35c7eed1cc1f623761e704b07e753f860893d31a8d4fe59a70a0572b287c5eedc312693cbab38bd25440a9eaa45d50 +Tag = 0b71971acc02c18c013af08fb4 + +Count = 12 +Key = 55e3466ab003a3669366aad2b5b8cf90 +IV = ed551a333865b6d7ed6b9e9485d161be089c9206c12b94eadab275eab1d57499feaf04eb1b42b32bcf05c4c5a5d18e17d869aab639f89b5522ea744177562bb309108488651dbd76bb05e46081b47a81f91970f4652cab82118116fd929438c5f9e2afb8179a0e4f7cafe8e543b4d3980d4fc5923ae508038c47385d87be126a +PT = e545dea172413f19666aaaa13307c601a80eacfba7027d05bf1b36e88502d2ca4c74a4726b1fcf6136c59fd87cb0dca84009ca +AAD = +CT = 48056d31a6c34076e4ffd4d5ba5190f2978a2f645c8325ce176a31cdcdb6dec52afcdf036ade0de43cf6c3223014225135c2ea +Tag = 3ef92c635a541a99a2186d70bf + +Count = 13 +Key = f6f8188690050f538517b0d22ae9a7e4 +IV = e8759e23f7a0ef5a32ddf98b87016429829826a3c2742563a7460f1efb9ba5e3a9c22f62ea90c7a8cbe70699dcaba705cc021abc33801b2a119a71a81b30cd17ede045f7c37e41f0780d6091b9e45adca47df1889f0c410d8d6536427fc0ec34bb40b5e82c2151e0ecdf01ce48f79f35c31a6d93b83ee4728468e855d9e7e429 +PT = bd039e8889869c960536f5387fbcb3843954ec3ad174dc480813f2319e5044530afd24a2403132f40489438c03441b7eae73b3 +AAD = +CT = 9f950991b86044ed2c0ed7088c6bf16376e6c40855c82264b1cc78c8e42ebc80eb6cc82d5ea8e48487c50308a0fb0ec2991d4e +Tag = a429d06081099abfbb65218576 + +Count = 14 +Key = 84125329045f7233018fb52b7b2102a6 +IV = 24630c58af5f009c5d08e27c009629efbbcf306ab0f4249a3d1a0ed4cac87c076048f960739bab5e2d0b9c1cf0c4c19197f04f128bbb5b3e2036c4ef2069b84c99fbee51738a4097ff6e0e05b2de6ac2ccde1860757a757f86d4ec0a263682e81c1d286a2cf498a484f3ad6d5da88d630c6a70e3cf4986fe76449c6db6feb3bf +PT = b98a79942e94e0781a4bb9e10036fb957a089306fb3fefb18f677148b75975f7e1de4fa65b7217ef1ab901fe02a0cbf5598ddc +AAD = +CT = 90b2f706a0b1007cbd5e244b95dc17e18837e168ba9f6b18bffa9a15fbdd65ea9ec2591ab8698722fc92c66e2d85a859ae8716 +Tag = e09d2e30c45e2bae9549d687c2 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 96] + +Count = 0 +Key = 4134e4e0ccae23b736c2fdd7b5c86bd8 +IV = f4fcf751567f346d409c7575c63adc6789aded52a7776693505d3fa28889ffd98e7fa02690b6bec5f1a0c2e1ebd58ac20ab283c24edbb79bab023634be4054895ed24146bc10a31fe3aa7bb410a417b7c4442fa14a0d35b7b9b033b57c5880a4834bbddddcb88e92063afe5d52bc1fcf36de4f7845f627ae81b8249fac05c280 +PT = 9d60485713e7e0d51f06ab0f644456f2a9ad87f5f1d54d2324913ae52cac8d6556573c2954e59f949078683285e577b872b0ec +AAD = +CT = 85ef2bbedcd06a7cc2a4646afc333ec9915944b572409c5db73140c24e453567d8d0cc7a82663b5bb28cfa48d53cdaed836f7e +Tag = c6328218155ce81c65ee9112 + +Count = 1 +Key = 8391af81760f12a7dfe5863c6d7ad878 +IV = d8c891dfd36f22b5a1fce0d148b9b8ef4b312f7e4fd7849ea8bca334dcba4c395f9b4996e783d5674fa3dd13ad0b337910aaea5af63555dfe7a07bf008ca4986adec40b482206e2c7610d52fbd3d8768958eee9873ea42e432b544720c7dce40c9d4f6117983211c816f6aa251e1fc681a0467b019535b8c8fcd9cf268530408 +PT = 9985ff9f3fe8c2afc5dcfccef9404561ef4ce372dbd02d4ea6c1150020fb3bbfd31d6214710a88f054330a93015c9fe7cc5692 +AAD = +CT = d4de8ef19524eb3d01bf4d7d3be59f6b14e98f687e1b19c9e8ab8164e531869e0403e3408b54d3c7e03c9ae8b30e5047ab67b9 +Tag = 77cb5cc5063b6cdf182e6e3c + +Count = 2 +Key = 1a33e06e983a736b8f25dd3eb7052119 +IV = b976391bb99c548311da9ff8cf3528be9291a06b75b4a9dfd4bb601e339681d98f562a6ea8848344dd73a0e14dc43a8a3c08de1fb1cd42ce8b12c66fe72c0d46af625d9f93672c7e988c1ff08471707ab5372e57521e31823e0ca307ba78cbadf84d7662c40eb47aba678ceef572d993d94be2e1e720182ada7e0d8538cc746b +PT = 8719798c6df059860ad4ab3c723c84d0474df4195fafebbfc011b21e85c3b3f2f452700f36103fa985a7235485830605060130 +AAD = +CT = df330c95295b981e2a0f8f00d64574e8c9d1125625e609dae1cce10591dabad29bf87b97120571bb17f3ae42d87fbe4d4b2506 +Tag = 6cfed32800b36f67210e3f44 + +Count = 3 +Key = 197c0b8b437545f0b7c92e8821c99c46 +IV = 1722b74a0bd91e766a7f8e187f2fb1ab4cbd60cb49a2b659cd905e351d19984dcae000ae72b5f0e99a01e453bf4dc82aa86aaeaecb414a33d29c8e957269de48507d8ff48509728ea3af9b58ae8fbb6c6955cd6efbf163a5cd2943a89ae29017ed46851c642cf359307ce4f4c06475a7a12add6fc7bd3ec0d03da52739ecde1b +PT = aa40973095ce5c356d09529b80e4624abf3998aa1af67b3037a8e3507432d2a609dfd7353434951d68b2784ddd9028e6516706 +AAD = +CT = 6120dde66ab4da116b9502b4b7cd9606e17bd3f692a0bad9d49e29f9fdc8dcb3da5d262a6d27c272f2cc048881322c75d83590 +Tag = 5a9a34f1f0fb63eaf09faf11 + +Count = 4 +Key = 4f18b08494e599a8226c5426d549f8d5 +IV = 849004f6af6c788eb8266749c69f6c878b1b9177b28c6b08becc3db8af211c9fe1421d828b6128e642db83d56f3f7f01258f0b3943c17707986f951784b19ea3f69bf07e4a9196a8cee736e2b094efadbdbd7475130397a8d83558e165451c1b41fe57a30ea57ef75615848ef0631f4a8067cf372e967c928c9e1ee5531e4f0f +PT = 4594de6c4df2ffe1aac25ba893853ad428d575cc6ee5174ae13ac468836f40e1f8a7c8de2236a10ea5c8d2d2f2b58d12b52eb3 +AAD = +CT = 7c8aa7fe4fc9ecc531f257ddd51acfd53f8d96ff77214210c244b91956df4e915bcd7f59ea7e13924a45ca5344502837b2f25f +Tag = 6197b369206416af0e9c64ae + +Count = 5 +Key = 3d939141ca64d683a915abea665df3ea +IV = 823f7f45e380c0075256e581e4589c5c14d4a0d93e0cbb932378249cc8c71e906ca0e09bf7c7448dc06291152df15d1f47ae61ea831f907807ea8950dea5d453c160b61d23a7ff598a12cc959ce5d312e1130b30c4c676e6e9b2936c4ee058ce75382ec71dd3d4fa53af1715d1da488231cf74df61c260a8aaf6245b9a0f01b9 +PT = f4ae0ab444204d04193901981d22b0ade7809f4de7469bd624effb048e247049ed8da90e1013fa75846ac79dc82affc3e94af0 +AAD = +CT = 0aed07592f1bd3403ebe5dcb9cef783526f1193efcc54e455f02710fa58c981081c09fe23be72930f1cc3d21d0a353939777e0 +Tag = 97e22f5a4f9a3a25d6e3a733 + +Count = 6 +Key = fcee692e58cbe9495472829d69a75ad7 +IV = 641fe2e930789d90af411756fd6331183efac6d43ef841b04cdd21c845ae1f4a533d0a6b8f48f95569822059335f7864e473467c2bdce738a025db4d1cdbd67586760892a2f9a4efb85469008c31844f716560ac2b09bcc80e82cd5a87245a7d802fd7abc729a21186126e819631dbefab7760f91334da15688866391c03c5f3 +PT = b73bf10f229af4232769be4fda176db3ce823a1ddefe0a280bcc8699e830739713f342211e6cadaf9fcafb49120f9a3530a79f +AAD = +CT = a10487003c52182d4db7c26bc1fc03e7baadf34a802da734c615c9ebffff460858a4cd0716f4be2e5555ba12f33187f8ea5ccd +Tag = ccaf28f3650987887a6e2904 + +Count = 7 +Key = 5f4fdd72eaae01ba12e7a714fbd8b8ad +IV = 47c8bc7af8c07b5092b8102c7303d83c53dff32917f3d72734fec15a5fe363ff2d10c3d754e625a67a5c6f327df34cbecf073aa899df418b015e40cfb7d9d2a4dac259789ca38ebddddad2e685536e4c14ee4502f496d24f80692212ca050556e86406d08bdaa63891c3f65b7fcdaf4c872620561cb9a0a88812c24fc6b36275 +PT = f4af0cb227fb349f2735df01d49cccbb272a7082b3b4b1b21dce78821d2fb86d86bdc71647bebbbb4ca907dc07d1bf53426350 +AAD = +CT = 690464f8caa89e9e3579784883d353011a3cb6fea89bdf5b8a9325b6c41239eedf6113c3efa2ae65f0abf731dfa33dc3450f59 +Tag = 75e0cad8b0e91f5a42337e4d + +Count = 8 +Key = ee8e962b934d9639817b285ee372af3e +IV = a18265f23e5018b9f6df83b81d425901a5bcd6449f15397626f469af9d21bd73173c98623ff7fe45c2c06eac216054b31fdc355d93e35b192009a6fa37a644b6add8b041eee0add1620acd1bb2a57933c67d69d6c4e430e2857e20b1dea03a13d86d58f9913c658e1dbfca49d669c35c2fee916abbe2672b914d78b8749c1deb +PT = d9b6f93e46d41ebb4b29cdf611171ca5b0fa1195888c448ed3f43db90e2a0c91b8ad78bf5e16897b04db4ac8f7cbea07d02e09 +AAD = +CT = 7aa144c4193b8fbd5777952eacee4f9cde1920288e1095c9d539b3c809d10d1eb4026f265362495794b30c126042e5e53fbafc +Tag = d7488936589547d4203d417f + +Count = 9 +Key = 68de9a394992b006bcdb44b58f0f219f +IV = 1133d6c2385e6a087b6dcf115447ef1d584be5e0df44b6fde354db128bdb34281953a393ad143ea104af37ae27b0864aa9fa189a0e049dee00a91f7d426cc6e3fb1e141e66ba242811da93917df3b3f1f1e4ac06a69ac7ddae4be3f1e189c00b9fd59324df3719b4be94e19ed4ce095c8d413bc0a5b2f63093c6fcbd07493928 +PT = 314b43655c5e3ed71289472a470f5755886749ff90d287a25c52306832327aa5f89cd348abb62497e275bf61465ce87fb92680 +AAD = +CT = 22faf223169dc1abcb127e6bae381ada17862ab989874958d4c40d9c8b151e855eb20e19014acfd909c509bdd94fcb569fd68e +Tag = df11436bed995b3d0f6e9448 + +Count = 10 +Key = b20890116d40fff7bb6d5d8b3585b877 +IV = c0bc38d5bf2177acaf83d5761f3a6fe9ee5168c331c6f0b0377bcb6bf75d3416e4c66379e15748043c28de624eb59ce2ea71a3dfabb3a664ccfb3d22035e30a25014a4eba9e96350dfecf305261528c2f8742a09673101f7987d3b8a4123056a46e5a4965052b9ce28bfd66dd822aa122faefe30036029be2156bb97ac9935d9 +PT = d18248b7f4c95a4954768eeafb7fdb3dd94add63d61862750d35f937b08878a88bb1a55df2d704a0eb064a0affffa79d25a7bd +AAD = +CT = 95e55587347c34872661925fb822c1e585f5b0477b3f0df654ff0893c5a2a3c3d27f36e55b84e44163a6c6bb7710c2eb65742e +Tag = 989c7d57fd59ba4238b1d25e + +Count = 11 +Key = ad6ef06b6e58bedcf50f46bc24163800 +IV = c65bca82b9aa2222f4ac4e06016e36800a35df6aac3c1419ee35871cfefd9a56dce0a19dddcf2a312ee216de86895b5aa0cd936cbf3da27ec69783e4e11ad6edd509f50a4ee20dd0279c02cfe907e0d92665ca2e3cefa249996aa28bf30afb418196b60791c6a6b5e755235cb5ba1c694274c4c08b22921d518a5f18d9f0e477 +PT = 13efd85ad092ac393d48406bf0901888530d9959f00ac3734e3fa10bbc71dad8f8f8263a174f8fd461cc9673963df89ff25015 +AAD = +CT = e5a7e436988786683dad09ed4e08eda3c1f2f1d56b722faecf88d4c320beb2d84b66983dfedd0e2c9ac1c3654dac35f45631de +Tag = 5fa6eefc6dcf00ddc5852257 + +Count = 12 +Key = 02efa9007db191936c24169dca3a6b13 +IV = ad57e109e02ec983487118af46bf090fea858f5f3d80dbac3c06023071b45a15abed8f6447cbbeb3489ed2862a2f7f8ae0a43bf7a4ec04626008ac7335eda1bfd5e2206c556514aaa09eab7706ed1a4cf51ec40071965d757a6decaf29bfadecf410446aaf9a9ff8b82501ccd5ae364ad17561fff407b11f1df09119a840abc8 +PT = 4ad66272d8399a140d3876af12cb384e6da697e4f36b8609ba4d531f26f11ba5eb9a95db4aa7f8378f7b8d75e104f5306fc168 +AAD = +CT = 16d4149e672b1d8cbe84d24a1cbae4e9d1dd168a8a8bc80399d0f64d9e701e12081531f5507cb42bc69c7c73e1dce931230811 +Tag = 6ed2e26493ad0cddcdcc6a33 + +Count = 13 +Key = 0cb7785e15e7adba66e8538ceea28728 +IV = 02fdf3f5cac2b1c52ff90bb15fcdef78261997378de55ec7551982fcc61f281eed1c9e852ab7702003b0bbb0f16517eccc903f9e409e011bde38c2871342fcaaec9424471cffd391fa97f9a84198a45b5ede9311a7cd712074b40a93fc18fd4c3beba761ceb184dd9579d40868828d2ea6311c8ebde2a3db8236dca12215898b +PT = 03418ed3febdd5539d564443cb2f9e04edcb557d6882496df5d85d3aea562b87018161f4deb4e410ac62023730ed52f7d4f991 +AAD = +CT = 7d1003e13dd3aaa152b23591da387c5daf5aa2844e1ba5a9f018ee1fc5d564f107e393820d45902b5269594743415bc8d3d713 +Tag = 407de4ee2799fe4319e25731 + +Count = 14 +Key = df1d1637f2712005ac3738fa14c935ef +IV = b875dcdd3644bb4deab322060d357475078131a40c473ee4143efcccc92c49f2d098db5817537a2e6f9e30f16054a7d8d3bdf7ffcda509068b0b7cee6e121a4a5ea4a2849511aee8872607467324270df3e48c7eb02a944a81f06ea7cb13add0985483c35cd6ecd2a0fb82a8632e19df9fbc4554fb6c553580fda04ac706894b +PT = 0dedb243a3e1bb300b75d090205145be865075e9712530074921127f0192b0639ca8d4802a8f3f3bc6d014b6192fe9394bc71f +AAD = +CT = faa3b48ab739254b79fdb29350ddd4f0c7c699385354458a68cffd16f69ea69350f855145347e4ec1e0c9bfbd6163708e21e15 +Tag = 4ff879d23b63400f50d4227d + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 64] + +Count = 0 +Key = 6921c60152115f8f11c3d5bd8617bfd9 +IV = df53c5c34860c0ead906b4895a5044d67c8a726f8350d7a51c39a76e8c894f96c7540e33a9147258ca4534bb29b6f7f7b1b407388ccee1ac79f45ae8de7c4cbc99661a27f302c13f98aa3107231fc0c8d4854db84e3dc367f09959a1dfd29ee37fa263bdb814ab11c0bfe7b1b0f32027d0af83ec72784afb06f7b10e85568570 +PT = 8acdae03fde4a00bdbd60d3f0b74b9c51e8a66827d21fdba86f98dd119c75fd542b939325b9ef89aa963adda9bf376cadf89cf +AAD = +CT = 35f0ba4dac7dd67f10d11c769a1bc2afdc552c914902649692c6c04f3b3b62b4ebc24443f93c90cb989bd1881fb0503232aca8 +Tag = 08cc4c94bd47e51e + +Count = 1 +Key = 5da39717a7fc35097253e38838972407 +IV = 725f2193c4a508a4958d2b8caf16db76599cdc27ed39d9dc8ea50857ea4f1037e09ecec1790660fdee72f3399102778d193a792e15d3a4d4eed55364f928c26eb0480a3091186aaf2d0e8e74ef9d15932c79ead9feb03283d3d057374f7ddcf1e7d2aff70e4ffe6930d041e24b9d81de56902cd4b3a6edb2fa1061405d66bc14 +PT = bf28ec958d559eade5fe72ee0c2e9d5514686fe7231b4112b4c8ddec4694aef58e4f63645b7c74395e36b939333fbbacb5e8ad +AAD = +CT = 1f044acc98ddc76e3fc0d997d4e8e0af4385cf52b6bf0f4fea2ee994da80128c069cb39c9678bafedc46f7967ac86af60c26d2 +Tag = 3563002a4f99ebeb + +Count = 2 +Key = a1ac1e2e1075e212ff6c605647be9543 +IV = d1fccfcba01b9ea32c7c4f54787f0db7bcd069927e392f8cc493f99d536b879b5bb462088ce2ecd181c0df510d7e2f3236774c86824a80fc320b542b08aef98515d29c30900bdb0390b30faf6d55dae305383c7994c83ed203462d819bb72b13dd4dd71641cb75fdc18e23c1ddc2ea87cf5247e3f5578a62dfed9fb3b7ccaa7e +PT = db5af650e653e150c4ed2a920abe4a1763754eb06cb0f21e0999cc98b46b88e48956c2a862d0507ddd4823a2fc31bd537d6a45 +AAD = +CT = 95fd32ac130b6b2d4aad1f46fa84a1fbeab22a65aaf016514fb7ab1c671803c78c34923959f1b4e99690bc1b40ea75ff0ee7d0 +Tag = 0c43acaa04beb6df + +Count = 3 +Key = 779e22aa1c8f0419cea3038d54aeb955 +IV = ba30e77b1489aa41fcff55b93529f0cf2af570dac9c5502cabd376183114512226ce9c4e649f9dba515703caf7b11ee4b89caf06cf82fb51a41dc84bc4fba31578673912797f91eb4b9a9d32913ecc472204bd913e20aef4cb1d5faf798dd6f8fbeae45dcb1d08f404fa25271512e65021a78045f924456bd9fc8368cafef325 +PT = 2675dc352f608b6146013c196f96fd58048c7f593363e38c99eca2f8d8b0a1d6ce522b0416dbe3537ef666edaed0dda8395231 +AAD = +CT = 97099cd70460b26b7c1193c780a19b9f1bcbaad32002a246dd4dbd6395cf04fdb693dcde00fc7a07e3b3c8a66936d24e99c74f +Tag = a44c604079406c40 + +Count = 4 +Key = 5ddbc105e925f56584cd9725264b8947 +IV = d781ca7c6595a480f85fe4f1ac8fad1ae30c263b72118697f695a8a0855938f0897026193273c00017f57f32a12b966ca9d3f6a0a22d6068c9eacc00ae9bb3d68ecc31a536e343a9f434409c18f3f9b2ed6eb85539b99575df3673fac432013851c0f73e83e9ef4384c268132b6a50ba9086a7f854f534d224051b772c36688e +PT = b8bcdf67c697b25128ab8f1b3d3edacfc1aac1bbad179d8cc98f95d87336eee38674a39dcaa9022026402c6ff792b656b12eb8 +AAD = +CT = eb7604e3b38892aa9991da5d4fce4ff53aeb296f0edc5a8370a12f1d713e8b6a2113ed19d96771334879ee4a2c527659d966b7 +Tag = 73c22d1f36941f50 + +Count = 5 +Key = 4a9d27375815925794a4ac5ffa94250b +IV = d01fee7341d4aacf162c0d7d8be424ce75fab2b63c8477e45374b58c8da68fc72c872bbe63f50533a17bbfcc7601c4b8896a6a999c17fff252802c744fccca92009f1e3ad084a74d001b7da5095a42e21d3ee0004e7690ded6094ef5a3398ebdc1770df5af0a2d4ebc5de375969001e5ecd63cd94629b4c163f47f5c36a0eb3e +PT = f65293376a31657224fe1f238589766366ebb03b879ceb7dc3a24f4d177d89cbb9e350570e60e3b9b562f16e96184a734e48c3 +AAD = +CT = 366fad4a1fceff1a44baa424a2a1ad682067a90d174852bb1354b15027329ed91b74f58132fcd255a71e032e9ee9797f3f3728 +Tag = f624a8341c9f1739 + +Count = 6 +Key = 1506bcf3384a6893e539201d00499ad6 +IV = b5a9fbb0509547d617bdffa05b95887aec6a8ae7ba9e96627880e97d58d924348b08bb2f0d7997201d5495adf55ba0f7aa8f59d38620b752206818b396ca43fe373060d386e1e0fe59e9c9f8f379217b63dc62279e1ddbeac35279e732b669967ddf104123013e47411edc98fcdc87c98c2ba8c1a16c1c6679501add8ed47e56 +PT = 4e5b4eb861a5577914540b4ba12cd3ea994aacc99c967341f0b73f148886e456cb2208b9f36683d0a99f6c45130b03fc74f713 +AAD = +CT = b459cbbc553f0d3f89b58ba3e68373283ec925f203b082ad4abe47a4ebab2e5ab9961fdd8bc24b292f42b5c380583176c9e094 +Tag = 56055522f04d07b0 + +Count = 7 +Key = a222d1475762aa9d6a8b0cfd6a76ff94 +IV = 907455bdb62f0c19d52feaad46a00378f34dd939f8b36454e8fa1ec5fee824292767b807023f49f69655a2d2530ddf6b6fd030ae867b48edd7441e8c982defbe5eae09d2f35cabeaeedfa892a1b84bf0a5329006fd3beef7bc38f96530e1a8b1a71bda33210508c3955972de73329736d15081943152d3fc0d3d3967a34e9998 +PT = f4feb311e711928e4832b6669a66048af5384dea68a19a02019b7173eb3f634a37559a1fcc4cbebaad173fd3a6c53cbc2cb380 +AAD = +CT = 746e4b6d4675baf16221a8c9a08eb2ae3592c30c681cbcc753b3e1d7ebc9b9dbd8db6592c1e6d8e96d94b2511d85e1a2d78549 +Tag = 21fd28e214b83670 + +Count = 8 +Key = d91f46820298137d7dc14ad4a5dd5aa4 +IV = 727e5904f5ddc9f02d34a7337648e4cfe60140fcf3d7673e4ae4f59862bffd484cb106e5ef1279e52c0c08fb108bbe0db915c5d46892e22ddd136bd05e303f3b7d764955660c931bee77bf1d02df1c8e0069115030fa9a37aa695bb84aed0beebc6615a5adfdf551697997bb87bc15289627eface4e32863605951836d7e1a02 +PT = 97b7d04074268ef163c9c4b48ed01de462baf9798c917af361e3316d417415474fb7eb6d5f34074c987cf6ddee38c2582f271a +AAD = +CT = 5f1a9eb91f375305d55e5aaf2ec15dd62222506b74225f3b361f6386c3ae1d9bc4785015078cfc130a0932098a4666e48a90e9 +Tag = 37d92d82878d8d96 + +Count = 9 +Key = 24e3fe243d883db328ca045a9c24c1ad +IV = c3d5f9b677a063711c885063cacfb2a40a8483b260c66ed2336a794ef4ca3e87d938f8ad2575f3c5cd3e67176dafb916f9c1c7e8380132c67d83d81d38d9f09ba5f2e21ff84e4e8f278f1b99d1cf7678b53fd070ef2df6ff69701fd55d3147ed08b99f09ef67c887b3039ef1a127c2ccf10bf404fae97bd90e6cbe689ea29c57 +PT = b410925ebe448e6d846ddff80689061cec0389b2a3d28c333ba5215303458be20e473062c09a9da83546f7c253352e1bd77396 +AAD = +CT = 1dd39957b8bfcd09e5c15845e05b965c4ccbcf10be81ae4cfd92d085b42e94b426c597d363d5e3ed436f6f581841fc86f4e442 +Tag = 29a9c4c1ae52c55d + +Count = 10 +Key = 9f0b4133023faa097a04e814c47ec23a +IV = ccdafcd06ef8216235e3c720d9239887f7a22e3e491cd09e582b86bc59b5b7752760fdf70b6539fa64cfe744803c3e71efd1b848738ec13854414583bc25094cf12cc95f3cdb609d5c820408a8382dd4940395081c31c811c93562e58e47bf2063af32736d7153ccb5494310a56466808566d4c6d41193e6428265e1adf21931 +PT = 585b78b03e68c56b5ebb978cdbcf9f1fb779aa5273a817b6ec16dbc9e7efcdaff771254f875b8e990d52db02b0bbcde98d7812 +AAD = +CT = 2009b07a7cb83972e945317f10d96fd16fc57d36d6d75ed9510397b3b11b90c67edafb63b656f96ce492e8f1a7d9921be9cfa3 +Tag = c824106567611116 + +Count = 11 +Key = 6fc245bb9e421e2d4cf44dac48b47099 +IV = 2e3ca529e069b31a93344f47c0c73cf9a84753a5ebcd30c066d061f3638852953df1d7e8063c13afd2bee7f8875ae9eafe1676085eb824896ec895e56bada9162f19a46a3001bb33de88fdac591508712c00158a0c69573cd877c3e38117a86b8e9f074d743304ed07c22192ac595f27f6dee5d1de37358fa2789a9de90c99d4 +PT = 78b9a0789da458acb5e02c91fbcd32e08a8c7b9c7760f0c6845e6eca5e860a62dce4dae396c4e7393ba1d5259465a144d5b64d +AAD = +CT = 869090f773314f707c75fe7922b24f11b96e5b0315cefc39530a28ed066c94211ea6daf1a969e9ed67f2ab16e66c032f24d441 +Tag = 12de42961632b65b + +Count = 12 +Key = 777db60505f26d438d675acdaae5c798 +IV = 80ed6de7ac21c03b250e9bff09aaad7403a3034f157129d17ca0cadec2e6ecf4c4a1fc50520b879a19049f42d55826716d578c212e80448e093c2c205ba7150ea39993492ab1bd2ebbd574b8e2fb8f2bdf0c11f6a580034d12af0e2f889a50c97854b58d2d32dca90bc07dfaeb4b6e04751b615f06e33e17c6af84acf838e3cd +PT = 2f37d7e99ac98d0a036c5ef511897567a7f7bf1f92065d60d10bbbaaca25ce382afaab3b298cd9b1148810787da743d136b06d +AAD = +CT = 50150319608c5469f432c65fc63cdb3fb1e5bb07f42d6a2943bbc03a553d4926c751e32bb84ede81ec19b0433c4c7d56e6b9cb +Tag = 288b13ed159c6c27 + +Count = 13 +Key = d31af15bc5082ed121bc7bd910edd12d +IV = f704d1adc923e7d3ae02e38211b29fcfb8ba0290d1af3106865a6d1c3be2cfe04c7d7eab542f88d29d3d12f94fbee2a9a4f75858791428819cfed144f0e9e1acb398274e9755ae8040003b6e01a4d37ba67a32ff9a6b1ec1a33f47de6fc6bab12069479b4302478a77281efa7fdcd6de1cc9798f3f961bc3f195324b12f71ba3 +PT = 68f5bfd3e2157ff87405ad169f5a72a386e97104f42d3de0863aafa2e0c0c8010ce858bea2168012952dae4df1bf77ebdc4bb6 +AAD = +CT = d8ee9d830b063571b1bcd2d04eff7c596787f6ee6a02a56d5a229400a71782ef308cba690295389c6382e7aaf0af8a85d082ee +Tag = ead2ba948936354d + +Count = 14 +Key = c7db5d44253f763627cb35db8f4bef84 +IV = 0a91b49b66aef55fd5b33ca33ec78569f17cbf95d8ac41685ee218c4bd1859050462832e6b9d1ff6101afa6399bbd5a9661fd75e9a2472118ee07fbff0e4de60661d3bcf7f55e501dafb41281c332efda35773789ca40414938a2acad3ee42940bfd552891d3fad0ba53254e6772a8580fe7e5209db74e8cb1d1d6f9011a194c +PT = f2df05c7a23de4064c7210477345bd37b3966e417fde0ec49a285e155d1b22dd03c873b3a03a2bf7580dc31e9aaaec2e19a74b +AAD = +CT = c1ad172c3bd0925e2463c9e84e648f75a51b26a563ea69754184fb7dff3a5b4be868ffb85748344bfea6d95874a103c02c7a5f +Tag = f7f3bd8a73dc995b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 0] +[Taglen = 32] + +Count = 0 +Key = f8fe56171fa546a34b1b28e0b1d31cfb +IV = 960d57f1336271e069c12f11044dd5a5bea996fc0290d37b5b2f47c8df3ae3ee37214a6871d963b830aec266026364984cfe31eb88c2a6229f5594ca9d3b6d26c7fadb91a0282cdd0a321714b745dd5e161e7cd192420cf2eacd552c4df5cee8fb5f0e06b7c353017b4b9523ce56899db770c344da720327817ba823a8f71382 +PT = fd229158f18f5b8c2a96c86fa3d8084014660eb2314bbab4ca09fa72c3a98b6faa2ebb83a1809de9ccbc8973d23af34014fb27 +AAD = +CT = 4dc0fd07c86ec84c264f0544456bfee14f688af2109455d73aa1e58a3354727e05387c94568edf352f8342a6156c64d87c44d7 +Tag = ac350afd + +Count = 1 +Key = 803007b69146363999afad4433c0f3b5 +IV = 2fc7688faf0b3783094294526ac07c38a73ff961ab41f20deb66edcabfe68e094aa0f1fc52318706a0e2f9b3901a768346494e846cf17b662d05a3788d77c1468408a49ffe5c0cf68b3b8b26193dfd84c63c4631eebf0c7974283e05e39494d9aaad038018a6e999912b1f92681375214e634f5937cb32ccc4face42d013980c +PT = bb311134866deba57fe506445c5a312ea1ba1ba16469731c1647c6a482bc84fa8349d82bbd01d3edb6cfe8f25b37ff8ec9d621 +AAD = +CT = aa1d6ae4151aaec1030a6f0297c48e67b84d1c397e9eaf0c5c8c3d252bf8638bf8591342c5c20c7f88f41140b0334f55cb7b04 +Tag = 30076c5b + +Count = 2 +Key = bfb96f58535443205ce281e03bdc5c38 +IV = 3961f47e9e800f1c72526d73fe372cd6e69a7eb1d2692c58bf4297bb05503edf95e074a7cf2644981f72421f229d93866a6e1fcf5c13953b39bf36b56fcbd4c09b505e550b5ba0e9bc26efbe0b9621a47b81842caa8c945fa5bb606f0dab824a4bb5a2625668a916e47f0a0d8a995bcae6940e120724f6d53629545da5456008 +PT = 2c07d76ceac2a77809906bebd3452e2f898ea5467d47be1f17573b3f7fc7d11c9b868d1d1a24010b63dabe9c6c6b4e123df559 +AAD = +CT = ca443acf08d121e1ae4221013ec40dca2237d035e89ae67040602132972417e07a7c770d75d96fbb5b8a38e048abb15bb978d2 +Tag = f61f75ee + +Count = 3 +Key = f3a44f15d104f81b4bb263eecf806737 +IV = bbf1b0646991c2b9735066dad5860fcc08a6b92944a5e90dfb120acf2a75403d3175f5e61a1d84b89a0c1bdd3b3414450faf6ffb8820ab1ea01a2b3cc05f1cd1de9bd48ee1308ddc7d87e6db33d3a171e7f63fce6b8e0417359afa833f6b5f293195bedf444ac56103ee0c8706a69c08fe59a95c8474f28a4a12661905f8781c +PT = 62d05ea0b0ddff1c0418b01a21267230ebbf23b63a6c14caa769c9148150c2454c055cbe4a72a08e7cd8dcb456e1ec17bc3a63 +AAD = +CT = df08c4d223a168d4dea9445f5b88d40ef0a796de3e77a6a116bfed840ccbe7b988345d070640f62f5757878420b5c50dd9f567 +Tag = 1518c2d1 + +Count = 4 +Key = ccd58a6017ac344ce5f8ebebdbe03593 +IV = b2c53f013021f494f6637876f62ce5b5dec6d548ffe58d0952aa8fd8fd5c8d2b835165e1b0ca01e72c19f962e38cd4458229a3415d7b4f9afddf5bb63215999b750c07a080677ba4e40f6c5e42038882503c9923a6eb2cf0d3b82f9f94e624f9938830fc22430f16f6c93c362cb3c11cb05d63becdb4c572f03431e7108369c2 +PT = 0b89a455a2470b3b2b7e04afac15c45a0742061494b78f88c57f2505e1f5804f35c0a829f8b6443e427fb6ecd374642217b6f7 +AAD = +CT = a8b6203b914391c61dbc123efc6902b892107ea9724341a22ecdd0deb16c48d885d606f68724cb43a956c07ef9ef654c042906 +Tag = 02aeaa63 + +Count = 5 +Key = 50bcf114df40a431c0e1e88033154a25 +IV = 0ffcd9b14c6bf5f630c86b41cb3cf96004f3fa4fd48ee87b7235d34be0be1fdddeaa79abb3c0c9198a1eea0ccf04e8cfc8d24e4badbf438c59a70b435fbf07d44f55b75e5e48fa0f3d7714aaf9e34b430640614646d0008014ad432a464a252c66584c922b29a90cb2c2e4237c8545f913cd2ed3910a4f075062a55b71228411 +PT = 9f5206b2afe824ac4303d58a97255dea6f026b8531651105db9695f09acb16afd9488928060219307fd41edc16e49f01b7d646 +AAD = +CT = 0143c0a035ce29d1418acb2561dfe88c74f24a9808a8672427797cc0ba01693c2d66c0e365961cfd58fd039bf08fb4c2b1be29 +Tag = 552e27c7 + +Count = 6 +Key = 8dbf11f923374b8e8be93788de939806 +IV = 2fcb130962ba3e3eb8e31a7a26e2082a643f39d67cce11d8b2ba8a782f63d4df375b21b1fedaf67bd8d73b2208937ae941afc99420ebbe328214fe6a456bf00979d5ebfb22b79fd3cdea81056747bf4e4ded33f2f26f2d228965128a3d0a32696db44e4aff6ca5467d3c749830a5d2e9a41b4ffa3a422e5bb870cee84f4b64af +PT = 1c57186740c4901e022e63b2e7b085f9cb60c83763e357a591c1968277920ade1987334e88ed9c3c96665e37fe492a975153d0 +AAD = +CT = ce4c7e5fb87ed02424a13cd2cfcfaacf67f1072198dedc594db26d6453991821861ba6cc843c6d2750e846e162415123b7e01e +Tag = ab10b040 + +Count = 7 +Key = 6e88bed99ebe380c1f8297f46019d8a0 +IV = 80fb82c0016d054491f396a7722217b0a07bfd0fc954a7141bc1e2e7958cb24541a21492ec85d3c744489f93ae3abb9af101a78f2366226080389d29eef564d5205f377ab0902043bbf7ba64c30c9d2c945cd6f29654738106dd282194fa02344ec177b5547531061b31cebfac4a2b0f46b68e44c8c89f6942f9c9c13e50c58e +PT = 6c90ea3dad3e172ae6784cf1b7c08fc04d0f9b4372f1103d11393a8f02e2f495b53c57cf46f1df6f55b2fdb184fd2b7d590402 +AAD = +CT = f55d67b524b8e633019e9b1736f3db1a254e53cd71fecb48f2dceffa62256a0bfc3775f6506db52db6c6eb91971f5bb5688325 +Tag = b4585815 + +Count = 8 +Key = 99de57ce03d1db62a751c3b2c7d38f3c +IV = 2e74c283e216ab5ac9a1b214dd9280431d7ff942a17715fadc3a22978fa1ccc0743f969358baea3d79abe93388a7db82d82ad6a917bf67795fb4360543d7f22f7ee49f41029ebb87573ac03ddb7e279f1846f4a88b85bea63e2c9b9ecf6f91777434b3def0d4a42d3e025eb43a666a28d5f6c834c7e7991897bf051915e646c6 +PT = 72dc7e5533e862efe0d23c62095506b11c9b256d8d18d11511aa1ed4eae67b0017ec74e322f3a7a18e7d199e7093cadf26680a +AAD = +CT = af31d880d1820a35c9248ee0b1aa0da31339f90182e60451493bec8d4dec3baf922268741c2717831b8365bebf072aa7931ab4 +Tag = b1700396 + +Count = 9 +Key = acdc98a8baa0f003c130ce196135334d +IV = b7c9885d302842c41a2880b9382584806e8cb55b49183b80bc50403c82cfaf0d28a00fef813ba5b7e35b80dc1f0b7c3b0669a3bc739f499d77ed9cc47a467ca62fc34c5bf4c374ff396c01a472c3dfdab394e6926545a1c20363960c72dfad3eebf9a970e6579e3eff7a38f6bcf0373a8494d450d12445f9ff62c233dc1d2379 +PT = 30f1c7fb5fc152dad6911623ca4af1eb495e108ed94b6e6cc19eabeaa7b85262ea3cc4dc5297aa6f7cf504ac6e07db5db550e6 +AAD = +CT = b2cbae4df8898ca223213824a5c08e16eda81f063916e813bf2d0d8c7e8a75b2d0a9f6de91e08d5422970534331cf1dd53fa8e +Tag = 8ef08260 + +Count = 10 +Key = 75d651a377ccdc0e743d73b8205fb38c +IV = c7296796ef031d372284f7b1481a13862aec243792ca73f40e11bfe39da28984f11d591d3294c833babf05a1f19b603f4f4a9ca1102f201c1405b6cb45facc8ef408541963abcafa907b2eb8e5c1c404b0e4884a48bbb2d43add4dc1c44c526295bcfbd8f2b7041ed49189e835cdf4ed00dcbb450eef4070482f5e8b52360966 +PT = 13ab743d9db511857f0f79a84742c225b3692a9aee8a63697d42fe50d74fe028ccf95e18a2dd2d9b778392ee7a5d2f23b399eb +AAD = +CT = 09c3f153ef712fcb3b5fca2b9bf7f25740fb748bec64bc35576ed01682030ae2728d4282140264819e8c4dedd48e29199a6236 +Tag = ae374dd4 + +Count = 11 +Key = 15414fda594aa87a3e7af69df769adbf +IV = 7f021a78293e7cb4dd0af221efda3149b0cab87241b597865267cbab5aad530ea4aa4b10815ba9318a45fcb22fd0e6d692d7beecc2042fa2791f6cca5f9916b0bbae79e9d91133aa54d15a1397f8b063695a3d36b8e573a866fc94964f39016e9490c37189cbb0638db09548a91688d73e2c0d4542f5bd08e03ac0d75e36f519 +PT = bc8263ccf50d0224d088546bc16e2577925567ca52d98ec45cb43b190159bbd5f0326d4498a8a88c0ea0b0a79420b906cd5115 +AAD = +CT = 34b07942793b066b74b7fb8a4ce71a04f9b29e40dca351f5b6e0939bc2819cd95e69bd58163a4df9729e3d6220a6df60a4ba9e +Tag = bcf4aed9 + +Count = 12 +Key = 4d73cae96ded98e1688104a63f462c76 +IV = 331b51fd88cd4731e0eca051717b642f86ea6d6941f9a7331ff361e0edc3f9ea4c013d585f3eff70004a696c4b51d7c589ca97e5fd30f4b2f99c0f3ac83769c2397e10669b7b83aef714a2388638b8941efde8e631098dd78742772f484edd568fefe26b9d981b437e4e4f3ad25445e1aa8c8608c655a5090d2cac158ee67e98 +PT = bf55d48ae5015c39bb167782cab391510d7b7d698e9d3faacd7d409fe4d86fea0a6f61128b6aa305ac0fe4cee4d582dd30e717 +AAD = +CT = 3cf29f4d50feac5cda4c7cef91d563b2573096b7f32c723355d8d59b8e1a0e229dc2f6114f1db6bdc26212043d153709597c1d +Tag = 76fcb529 + +Count = 13 +Key = 7045a9d7caae2c0a39f58998720974ec +IV = a9028008f708ae19dd28e75a02c6e84a05096779781ce0a908047152208468cc4b2a57d25608767f936cf70fbe82dd8a61497a180e1fc967caf4e6310ed850082e6919c922e021ec070dc64b040ed9edbbf5883676630d69e48953068b2bd006bd6d5417038604ee5aed04980c9ed2316c531ce6a3a73dfad90c04c58596d5e9 +PT = 635b946047c38533bb2cb4c9799b44f6eae0e63626901b0741f6dcf3c2bb02270343c7708a72dfe303b20f7805cb732386b341 +AAD = +CT = aebb8c1e914ea9bc1ada9b01f84cc8dbbc611f2cd386d5fc89497d37e5a469b28fe2fdf0ab0f1c882dcce50620b1b18a2d8343 +Tag = 27bcaf06 + +Count = 14 +Key = 79d2a35efbf03f57b66e875c232e10d5 +IV = 7cc96b48afff401adf4bab2ebedd021377b18a819f3c3af39fda42e24c5d62e67ec30f8bcab00263dc5a9bb06cbfe1750c98555901d34d775fdcc86841bd08fbeb44ba68ee794dc351a29a1a9de576d83c17a730d50db79cab88d538a441bb9ff6aa073a2a976de820ab5cc61f834753220d4e472a275dcd13db3e51a23a84a5 +PT = d91e1b2811b3e3894b46c563e6ea0b4a33990ba4fce8a354c941e1effc5691671de5d97c4c1a35e3730b43584944695f00544a +AAD = +CT = 6a45beb05c0dba6c38c997f8c37ef07c7cf78eacff6ff4dd6fa000e745e8053d2d270a746994f29c8628f41fc7fecdac158655 +Tag = 36caee75 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 8703ff9a71800c22ac8551940360c422 +IV = b54448e0f3427b652cf8a2f086202a744fc79b023bd5f8d8b9527703b21c1f58cb798e03b84a7a8d198512456900b6089824dafac86520397f5eefdb1a5d395aef5f84d3a6d4006dcaf397d95cfa39faa49bcb4c0fda07d19b98ecf2d127795f11669635e216a590716f92098fb4e42d384cb5eab6e568b414f5a264d6dda6b5 +PT = cc327cbdb10169d34bdd84265ae8cf72b9011ef26ed440837c42bebe5d16595155e9e48d813631a343ca397df4ed9b114b8dae +AAD = e473246e084b49d1af480bbdffc1b9db +CT = 7600a2746bca6bbab99c02d37c4d74fbb4a02b9ec46eab154dc4bf1f7eea8a1b337346be9315883d497baf19376a01982954ed +Tag = 6708a7a87218374907ef15eed1ddaabb + +Count = 1 +Key = a3ea0cf52998900e418ddc32fce71ca4 +IV = 4ef5b622c6bec26eec89b1d9db6007d26d49618ae998875f0ab32d6244a9b913ce7d7b965847db5bec0d156d21a4b06b7ba480466256fbe776d098bc37b7a45998d85fb1d4ab47eef69e93832c1f69f003cc8a75afd1c32b727d18051fc7a1c3488467c33252adec5b13ec382223af322fc35a1da1a8876b2845009fe0854636 +PT = 8dc7efa13c9c7e79af72e26c7491ef2fea5d4e414e608b5e618840939f6383e5a3c4a48155222b008e560d9e1673675cfcc598 +AAD = ebe402d89da738d63218e4c3c8b10762 +CT = 3769c7392e0631165fa5612c482aad4cccb8cb1852add533dca70a3e055734a1391f61275f51e29b6eff63795479cc9e2a8c63 +Tag = 75d889886dc3eeda901223a497f66b7a + +Count = 2 +Key = cc1399e0fdcc259a59f50516a511bb04 +IV = 5d4075eb198a0965ba8396a89144e829b2c175265098193f872efd377aaaed47b8d40b1b2e83c52b9bb0d1e537af05b5f9c2922a2d2e8799e603048de0b4497a819cd31e01fba69b228d10c8c0edb8a98657a84f56528921d0caefd793b551394a73ce0d3e86a06f4e1ebb3be92e07ebcd2512124c5d58701241f75a905e34bc +PT = a45fb210bff364570ed836eed4479ba12898abd12d908d31fc2a9db50233c775ab061b381b529a1e6a65f54692f22bb9bbfaa1 +AAD = be3d56d7885ec581b6a1aaba60ed207b +CT = 02785398425916afd10a2d83ece9600ef10392c3b5bb43e3868c7663de01d1fd5fdaa03a7f241a857a2f9d722b68ceeb31d966 +Tag = 0c18263efc3a921cedfe7b2a7d140994 + +Count = 3 +Key = 363e9a480d97d95b7fd337671ed8c3d0 +IV = 08de1c0733a8d85ee6ddd15b6360d95c161f78a6f9f9e8f70907d8c6602e70abbc88a853bde0871a351b20f8b61a34fcec60cce3632ee4ef39ee42cb65e0edcc97b1de309583bbdadc648e8be203ea482fad48e0f80c50e993c8fbad07c92102433f26d893e89bdb3ebd44ab90de6454b5a938a5654697ceec2168c53a24a00a +PT = bfb62f3825a8d790b11016f02c35457e632525da651ff9674cae04b3d459784a79ee6fbb859c0a7db29882ee2b53a576bc9661 +AAD = fd9c39222daf236583a6a23aa8dd6277 +CT = a1c9e350fabc2312a88cb9a05672ededaff373b8e84d1b7b9b0d6a727e08394a70479f9fa5ca90bba938946e7144487bda324e +Tag = 6b16fd4c6b53d50159fc89d8234bc36f + +Count = 4 +Key = 0a272779cd5d7e7c5324aafc1e4515b2 +IV = 1e941cabea2e1f660135d4b83197539646aa010881a2324e69c4adea180c649a882d3655912c1243548161b2c7d6e70bd93662a0e38b33409df596ad19c754bf20d93511caa94fad091b90de2a7b8ee6696838b3cb0f3e4758c3f87f158ba23962659d1a6a6ae13ab3ec2c2f8a0532122ab0b20e8a407ea52a4350985b00f93c +PT = a89f29af3b298d9d48da4e55da5e599f0e191ac370da7dda46382962286d7c5533857db8e6f50646a5b50545357a73084702df +AAD = 0005ad891dc332a29ce43d737a24e550 +CT = 26e3e8a9965891582a9b69afcc95bdb8f8c9cf1fe3a5823e9863b4dee7dd382010aa2b53cfbc97428974a0aacd0250f9b4e642 +Tag = 7f00585f6d2e6b30f1656b4cacb4fa30 + +Count = 5 +Key = 2a00b16f25135b1b58a88dfc7d5a11d8 +IV = f31fc39223b7d776effbe9c8322db6a5ca7a0c6418d0310aef8fc3db7614d1913edbf1a2c83ebcb7d982dbcd7d4a5879079c7f717d82fb7441d076d9642435538c6b3a071aacad1ee190b8c087632de766fb8da841e50c1aa4bc681efa0395d5e4635b0f79cfd10d7f26d46426935fb43d10ef0b60de95e20b756a02be9e9bf2 +PT = 593253b4a6c6fe55fef174eed8ce8d9ba40c02159deebc5e29d81fcb6ae0e454a133837203d1db08f1a5eea54f223e0a96d8ab +AAD = da323b5989373ccaabbf85e331b495f1 +CT = ff9848482639a9ab69a2398866df9f1251ac7a81b767dfc9a222c8e810677f076a0c185fa7436fff8fa3b35021063969c49095 +Tag = 23a642f4bdcb848f0e86ab3776ed4fca + +Count = 6 +Key = 36146a31b5ac0a97e9487fcdff4bdec9 +IV = 1fa44788068b64f97c4f1c01284839c1fe148670c2b90537f5ede5dac3386b3633de92cc215d22f2fa136839086c248d1be8085a2a155c536427df49532a79f042b2e256949549eb173bda1510ab55d0b7964d257a176e39f336738c2434a45ea719d6a25b4be7597679b9e692045652ab9b8521ec630267dfc462c94c81f7a0 +PT = 30c5b50dba76f3d3b74178996b492f0825f6aa8e56b2c3d4d2c86c2f18e8c79f5e5a7fc4237782eb33aeda8a929c5d4646172f +AAD = d11ad642ee2d54e4f825650aa620b2e0 +CT = 3b0e3918f9d8a5aead894fb38ca1c3c25b32966ba4931c489435aea1c48e8a1aa0990d69e507b8958d1a396acb8ec4b1cd8b4d +Tag = e2d2ef8b38f559847fcef66687fb8110 + +Count = 7 +Key = 1e58a3e8bcbcd8df6a787895637db3ee +IV = 71a0fb800f947f77147ca29a2318320beac421a0d8aafa9ce07104da8a8e280f32e90f06d8de358e2abea46f5b3d39f1ba457330b3d55711cded89605ef76bb4203dd65bd45e71605e2ec344efccd06fdebac8b4d9fc676f0c4c0da914a39e22bbbaafca90f92356f0cbbd019aa27faa5b8a31d5844bd05a3ad841478ba81c1e +PT = 206bc0428f9ec1b6dce07e5d0c563c9d98be8831057bb74957314d20422b4d362b16c12a626e412797aaf49ab4b72d6ede7646 +AAD = 9f8f336b72737547073ad040e684b8c6 +CT = c006f3c1c075532cc11676a83f98759476ec581314f0dc2ee841fcacb2a23be636a2420a782de985e787540393c55ae6e2038e +Tag = 71bfa57329728baabae5bf1b7d1f025a + +Count = 8 +Key = 168189d0e3ce46f11c9294c9556e4dfe +IV = 434164d42e07ebf25fc2aab6d3f31ffc0d36be21812bdc796a08ee6ed370c9f30fcb7d23c7c5c901776f472e9904262d0a9f25a24f6d4263b22526ddd9d175a3f1fbc36881d638ef4e7ff3753a8d8c388095093f04207c3ece6dddc3aacc5e0c6f4432b6ff1fd2063462b752e9782c0f91780684ce9dd797285a3fb06d25cbd5 +PT = e66692c507200c19b97e2e3b2ca494541f964c5f422d6e5dda3c40bdbc131c84a8b074a48c37c00b95f32e8070a00344b77dcc +AAD = 1c17da802d2be4b6f199ad93347e8e9b +CT = 992f21af126377fded37400ee829c9fa0444b2ff8cd619a5b2103791c30f5e9b4477fdfd36c09d9ffb30dad6caed917476e07d +Tag = 1b15da5cb37a832731da52ce38d11ccd + +Count = 9 +Key = 410ba67e507f999df7a68c54277af203 +IV = 7fe6fe7132a0dc2000599bae39704ad998a59c40b74691fd645a333683edb53caacd169711777c4fcdbc018c408ba9afe9e0876e42db3b2552969810cece8dde9145b417e2d54bba23fbe7eafa25c4fb19b2451b2957b1236e9ffe30d6182a5bf5b98fe24567e51f299ea1647f39cd2100e9bb0a4eab7e5685cabb7efbfd63d9 +PT = 79ef72f769a16af441c63a2bc46d951c3fe4f6a864d9a171eb6f5015132191c80bf5f945b8ba6162feba77ed19ef31626a25ec +AAD = 4e92c92c1a15993283dce816bb917ff3 +CT = c3b1a1ceb2237546f1f2b539ccb6fdf3717346305c8e479d893be83aec423cd9fcfc253893828f2d2e22ebe009eb897a0619d8 +Tag = a1ca984f1f6ee4ca01fc3811ee94ff95 + +Count = 10 +Key = 4f317748e8d510327fd906d18c7ddaf9 +IV = ec3591c17b119c9121f9f38f01b659c848c4e9c4be562560529e2370cdbf9b49534975e6947d6dc2cde926cc070dfd0c0638429c9eb4fc957a777fa20537e67f5cf860bd8522dd0d51c0abda5a438b7e91d57327117558f4b17b594f892241d350e46ad08df6c13bb11387dbd98c34c5b067b8b66675eba4e6e0be10a529e954 +PT = ff090622a5ccea836fc2edaed5b8e467764008b286d6e201da8abfe448819671c3daf56b98b14180df87b19f840d939e26d670 +AAD = 26234b3da00cc48881cafcbb1eb1829a +CT = 3913a0c52202932a2a77d98eea4670c91c6ee18b5b6afc126adfb06cfb0efedc7e49effd6b249c9faa151ba74c9aea9578cd8c +Tag = 028db9653fd58eb8eba50330dc33ee66 + +Count = 11 +Key = 4da3b6571e0f326351aaa3beb1bb5aed +IV = d60bcddfc28c906ac6910ea05764d52b963d6149e1638cf9de47c6cbd2b66b11394516d37c5b75d5c3fa3c16ea1bde05d028105e1d005f5bbece593770aebee14099ff89c3f7cc2dd3e46c56a67e8e8c379371370ce799c918374fc12d9cc8d0284d066ad81bc3afa98707e24b9573389d2748c991f72509d4b101aea61e9f27 +PT = c1b956ea06845cbf8a11b348074bfdb259a36a00b8a0687183d1d11890e0764d4d49e1a9ad04d4afeb3ca9d9758c8f6b9e4d39 +AAD = c3ea120a78d8229a825e1822cfc452af +CT = 7e9f694d6e62fd2d0f349d6d97f81ab05d5ecea9938c9a22622deea8cacdb6655db9dab34f965c41f8599139742c5d3d20b02c +Tag = 5838bcfcbb024d3d4932d34b4b4b2fb5 + +Count = 12 +Key = 37b5e555b7a1078d8a4c9d98b9f49abc +IV = 66cb663606d26b916144b731fc416695c9fc21089fc6d5107e883aff523ec7210705ef09a40d862f46c9b6303a32bd6750025600b1fcff8d5c0ebe747fcd63db01ef0f178ee346e215a7bc0c8eadea7b7a9a43cb128d386e3d15ad083ed02cfa3b3dd9ca1c9e48e743b8fa1eee89347308086bf3cda0837724ca0b920ce3e63f +PT = 50a8de7912bd1fef39a70ca0ebdc8dd8ac27ff4aeaba5c945eb7fe5d83bc03d87c29b80675ccf0c999501d47cf42c7056eb4f2 +AAD = 91244a991102667d51029900b091a2eb +CT = cd799d1f2cb5712cc286212e988a1b303691ddde748b4a64c17bfee755e159906810630cc9939cfad2f813dbe13e4ca2ef401b +Tag = 84cf8d7682e7def49276a6080fc36f1c + +Count = 13 +Key = 3dcb27f1f77d8ccdbbb343ade1154ede +IV = d65dabaf7b81b080f804c3677bc1965358d77ceb0c51620328644e5bf6a6a67e40bb8539182e4c0ee1a307a0713ab6784a734ea32b02e9120b79a0bd17c8175e286a0de0cfd1c16a0ea5d505a7ef4e9079ee174f7013ce3d8abf4e9ce891ae0fac9d63897048c848192db7576345430d4d27d2c39894d9dc490ecebc3fc118e0 +PT = a0653aacdf4130dc84535be046469d2bff230b3867f8f80f1fd1f96f842425e1196bf6a200abf57a3cf0ce80e1ddc3fb12dbd9 +AAD = 34efae05adfc277b8e336fa7fd53450c +CT = be283a87bb80fdad43f2b0dc7d5346a19da416494b64f6f9ddb732ec1529c30b42d96e78e9694ed2e970a7590d751cb2d6466b +Tag = a347950372cce882bc4a0645a3537581 + +Count = 14 +Key = 5679e65f6982eca8bc5f11070be451ee +IV = 920fffd4db64cb65732793ee5b951588f2582091bc3e7f39c07698295c59204028da920a972361f53a865630b1af3b7fa9f1eca889afc42668648302c21982fb3a89a95d2001986d1a23b65726c88fedcbe8a5be2892a7b55a19516b1355fc67e8f3d4620b722e7d5e3c7f3d8772bd8634d3603f6abc394acb5268f0d23b0f93 +PT = 8678178df5d9b2e3a63e59598ab591173d9b004a22f82f3cc490b3aefe605584ff07f4d6cf12b87f7cd3bc30fdffab5fcecc94 +AAD = fd61835157e960bb624cd4f6cb04fa8c +CT = 5171497f2969598027ce85132e14edf7a91c5c75006010ff549cb71feaa3b5971a0e784834e1229b09856f61b65d399f86cdab +Tag = 09b34df844ec5b717531115d22bf2770 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 120] + +Count = 0 +Key = e347a4535c9450369b3379b1369315ad +IV = e088803c4f39a499dbace3f79f719de81806b7219a4ea866416f04294005b84d1bcc33d10ec81b18a89e4f3d6bc27c8a69d6e08a04c27c034071bb64955b1964f048eb705987d75445a5765e54ba7d2e42de493fdfc9f49f2247716bd060997d27f71e0169f0188e5812cfbc66e388fe6e318d1dc7d39de09df661f9f2ba8619 +PT = f0bbaa8df580c9a8733fe3894b0035df1690937ac2ba98aca9eeb8443d57db1f1d829fe69892175ffbf9d2ade530ffb6fc19ad +AAD = da13eecd68b60a38a2614082e0baeb52 +CT = ab9d7c27d51306e5b05ba0c216cde6b2090bd7ca04b8fb67e4d32221843973010a78ff45b0927665c699dd07d9c957eca15a8f +Tag = eec32de2a272ebd51757dba096673a + +Count = 1 +Key = c97b5786a67243fff7cf1c382b197aa4 +IV = 233301fb10c8893ab7e3613b28a2889c836a2e8326370958a7bb27b84febeb140a45d71994799c75e3cad592a2a3fa0e49cf485f9f6de709981e49b12945f1771555bd81a08bdf46ea63997b42d213fcff728496a0fb87525633cefbc4cdd27beb792f21b9e5a4c8cec8ca43a31377e2a4db644fbf6de6b9978f67919a3dc78d +PT = 3da4c84070b8b812227f00f2bcf54f19d61641a1a61ca07b68b32f980deb01046006f97ca7d377220fd670d7a21d3c570e84ab +AAD = ff19fe4ddc681dd71be4670bcbd67f08 +CT = 20b12a6c9ffefab18584a66bae085f0cf39e8cc44a45006d9db7994d9fe3808b9845b49c54eae1db8b952767ac29d7772adf8a +Tag = 708d333f46ca0939d9e7e76baf2074 + +Count = 2 +Key = 91c5c0f4baef9ae1f4d18a6a48db8e3d +IV = e4e61fa48e0effe4a01c05fc3ab9f7d732e9fd6a95b47ba01a873d8dc58c89bc92f2fa65c2c571b0b209d36278355b3aa8fb6606be1216b262c2d9315f4adf4e3c2c313829b74352bd5c8a2ef58763212dd7c5292f96030a6dd3a9be1f297c76b7b42056a9ec6cee709c7f76234bd4a8f64aaed9e7b3ece3f95267739963f1ed +PT = a2b10effb3198e6dcbb72f160ba97b9031e7ce1c87216ecd39000f5c91cde831a69cbc7f617b0319385154bdcf23def7454fe7 +AAD = 3a7538e16f1b9ec4d9baaf3a6957f189 +CT = 6f9091a70f2fe9cdeac5017cb7ca7e1ef148cbd151cc2c885303fa8d2783358da47776ba28ea9224e94558a2cb5585647bf719 +Tag = 626bf27cb735ce3b3324122d139510 + +Count = 3 +Key = 6a07fb3a7cdf45b6f5a4a41daa63643a +IV = fefc0596386625136a06cf034e8c82e84f55f2dd278b4be7f871f574e5cac532678486c8941b226a29c22256def92e44f1be101b34b221dd942302fd24a3b3e4b4668e43674b08b87369a154a3384f3d5fbd0579acec0665cdd03ddff4dce724c7ebafd6860f8ee6995d0cc6dd5a1739a5aabaeaca92d574d0a18795ef8fc38f +PT = 483be59cbb2756a2da397e486e4344042abb321c399d0e57207f50c5239f52617f17ea76b83c765da9a568ecab1331fd0e63e0 +AAD = 96b3aca33c8f94f0ad398b0cd9bdf8df +CT = 84978e786750f379b279596ec3d381343c02d1ffeab8e211e1f921f8f08011b7661805955593126785075b181553f757f026ec +Tag = 77a089c3c4931244ad873ac724a7bf + +Count = 4 +Key = 2783788127fef706888399975b232aec +IV = f739590c53f0f5aafcf52f624603c794ca8ad96373e5a5b16cd682e54adb46c0de3d9e261d17ec7bba258f69dec3ede1165a743cf243d9a30816ee9ff46cc00109b9ccbf54c42ac397679e1320685dc8b9ec96095301255794fcacd3b716f751ea6db5f6a04e058995c70babc46873de51d4bdbcefad4d1f750778531034f422 +PT = 61372d7f6cd90785250c9e8ba23347fb0f1d1e0d0ea64dc90687535415d8ea3ad8bd580c2e9e1ad94be401cce9d15c60a96036 +AAD = 6e4093c823119789311ae17cab24695b +CT = 8f31f5a0f828cafc09abf8e4627fbd21aca22ca2b0baabc97e807dbb4fe71cdb166e1dd6d629aad2b90f26a3f1088c633d224e +Tag = 8fda0c292ad07e694f425b3f93a036 + +Count = 5 +Key = aa955186650fb189289055269248130b +IV = ebf72a3f5afb1955540b3d534951c8fd06b146b055f9ccb07ac44a288dfc0d21eea619319c818a34dd3d7350567330b17836c3ea4c553732d32d6001933b4ed504737fd8abd326e1e26f7ea6fcae3888142898a5c4d682bda553c7cf5c6e3ac1e2dc966b5a8bb38b0e66da2f30c759926cfca4dc1a6ba3f3298127ad1a3538ed +PT = 09155115c1e963faf06aa82b1f7a66a22657bd22596494eefdb367fdda13fd0bd7fdeec1c2baaba2307f043ee43daf118ef53b +AAD = 77da7c06ae06b493abbc1a4f0860cf82 +CT = ba0f56baf85e4f28359bedb289cddd4b4ed396f8ccff861520d478a29064943605a93ffbe065a08fea79a0bb67a0abee53a3c6 +Tag = 66322cff5966cd46ed2a81d5f5a6b0 + +Count = 6 +Key = 41e9fe9a69d6c083d7e4d8a0ba08e788 +IV = 7a93e42945c8826f9d56c83ca3be45170b9387f3f261ef45cb14f1db1f5adaa045a006011232d792c9db9efb690d455feba1d5443889fc8d8b077466c95c0345f5133b085ce0f6a5308901d1d1590e8b420a238b3455f78a56262e1bb41127625a1b21f4621bd774ae3544fdbd0744761b31a20bf17e6b5be6bfafd5c5dc9bae +PT = 2734739498f3ff845b95ecc259eb71658e9434a4f0fca58eb3645739b43f608afbf145a83696949fec3c0afe47685d00a5294c +AAD = 0aa45ede55532ec2ee55acb4ff211935 +CT = 6c36dd6dcda6e4f863a6aca61fc6c6d8d8728d7f9c7537e762cde1feccc8cd1265494fd01a52b2759eeccb10a160e817d0b186 +Tag = 455c834e39ff2c7e579e18d9f567b3 + +Count = 7 +Key = b481d3b4751743714f2bc9d09e2bd7e8 +IV = 34907f62f981d7acda9c304ef8bf9bbfd909fc9bfc703c5f9c9dd8bad2e1b5b61686d0b21f8f7f227a6b69dc01024f19ea825df7ca263dfb53dbf4cfc803cd68e62412f650bfd72b6cea5a318fa6ab0388dabe823f153e57d74199c390f3ba63dd394c86246918f1d4c1aef6f568b0ada0c605a5e95b4b8cd89c33d2f55f40be +PT = 6f581e7d6170d1bde467ef417422f015f01364ec8210d33db94a27ce37047d523d10da077446f8a0d20b4e618395885ca19cf1 +AAD = f3221ab4b586ccf3c1d8281c3a8a5c8c +CT = 8f8ff1ab25181d5a0d3f552020b937b0b057e0b53df972ef4adb5b673d6a721e516a7e3ac917c7a4461ea0641949e77592c153 +Tag = aca781cc5547ee3f5cd32dcfbd9544 + +Count = 8 +Key = d7c6534370e6a987a98190dfbf458953 +IV = d7a8ae6e515decee68233ee10a9d8fc88d2c7e6c37479f820582722c33ab004beeafc6e1969d2c504074168081c30b9e5562bb3c34e0caac9546d541d298b56a40f77480b12e40d151b79c2e00b3780b9ecfd150328857251afd05cd5c717937afeed0e14314f4430a07e54ec0afe6334e9247d8376e00a64fe47cefb29f1716 +PT = fc745c7a5c61155babfee235f0ee15c50a6c2db683e4938687246f447b5497c12ce9ae2e87b9923437677134d1a10583a64918 +AAD = f96e5739b8e8f4f486abf920e5460f45 +CT = aac35ba2e946300f0c98e8cd32a67b5cf409b78f3f0e7ebae93a112947af55aa8e94c7d851acb33efa582d403e407de24f577d +Tag = b862792d1aed80a0f8aef1633f6c9f + +Count = 9 +Key = a6796e018285bcbfe04654e3560f68b8 +IV = 33cc16f8fcc4149b50d138b0f100b545e7acbe68c3612489f053fc6c4fada9ed17f6bccb6f428672b6525cc77a99aba6f77108a25bd088470a737d1d323953dfde406b8e8ad2770ebfc98962b2550e9521bac0521fada6ef7c4bf7598a51a7d547e2b1435ca25ad0edf8c8797b59fb691333fd6ced9f002b75115d97c67f4b59 +PT = 38dfcc18eb27138776a108eb5154bad0737d23a367de78246917d8d867674a3e50852a8844488429ea0b482350d79326550382 +AAD = a72ff2a32f4d15c7682d617db583a5e9 +CT = db78bde3cd43b29776c1d1048ed7c8d77307fb0342137ce7bfb5fa3ae2c37c044d33090bf6763761e9ac8dc5aeb88cbc2828b8 +Tag = 1bc82ea9270365e0ecb43a707437cc + +Count = 10 +Key = 532e831626814701787881180b398763 +IV = 18b3dff6b1f10450eef4709d47cd543415bc79462c3071d02127f0df0abc9915c0760925732a5a39f6ae5a81cd685375bf94a9f6ad62b111e77e4458522d0ce13532f0c8e70122189647db02d53f368c12cd48498d9dda68be9fb42a85eb6547391eeeea4bfc8370a12ebad6535d2f6e392fde0736dfb792fff7d1dfeb5af736 +PT = 5337e97584336be884e2e06d484e0d6c66b94dd9e642626fc18136faea8ded5b652e48329067d4f6899a78d83570d8a169bb22 +AAD = c2b487b114297515d427d358f2501330 +CT = 8c0b533dc9d3a577d90f5682733b085c13c2984493e17267e790e318486680c910e57e09a938b29599b02006a0403604ddd711 +Tag = 82545184db1a7ccff5775ed7fce16e + +Count = 11 +Key = 3756d7786f5074ae0472772ce1655d68 +IV = 3f9b65fa57858572a1214a4397c9acb0ae8746d9911b98c9536a142c0e3395cd92ab64a6e2211ae0426801e110f0efa1aaa0bfdeeeea49e29c8b24d0401bcf8755ab1aed3a2c4c5bc989283a159c86551d7f4f8fe631bbecddcf51613e5f1bbf45c4ad6167c47f86ec87f34ee90017cebf078906a7605a79fbbe9424e3d3e27d +PT = 8476435a86b872ed8bd9637515d2de81d2e77f30717a7531dddfe55ca070f5034d8c7eb76b53ff3a08212c0160f3ec65279d42 +AAD = a038c30af308aca40ec85491ada4da7a +CT = fc53bf639e083a0614ebe6ddec31ef6a88144b5c9812a2ba262f74a3afa414b190216cc33b020403944e52e9c354ce76e2e510 +Tag = 98a9926d19f35612d9f17ab461ee31 + +Count = 12 +Key = c4d36bce63b8a3ede1b3216bee88d3cc +IV = 47e39a20ac7faf7186a9f130aaf4ed76bf42281821cc65d7ed70d4a02d6e05e50abf95d8fdc026fc8f1f59d0278d467fb1b13895c6a42037cb90d6f2d4a50a98766733f7fcf7eb7ae127701be8414eb6ec5f230ca28d904e3ac0310bd3f1af54fd0db7ac3aee48af8f230ef8542f5ca433157bdf1f79360133a670b8486b0f28 +PT = fa35b94bd9b71ccde4a9fb4f76b0934281e0e5cbdd09620bdd1fb8a3f822e71420f441dbac0ab83d0787451e65042fc3c38c37 +AAD = 30ff9b4e7aede51ed9224c8f910876ba +CT = cbad627fe50ebc3cb0593fc1ae8052ca5b047ed4052c75e6507f053722d4a6a276c5583b66a0b3386d928949a061dbb7df4861 +Tag = 3388bc004eb10ff2c3ed8ab7ad3ba5 + +Count = 13 +Key = 4b7745eb5def6a1cbd37a9f9d81243fb +IV = 9c03312e4e1da1beb2122d37ece0a3696fb75c716af22bdc093f7f5fbd5e4cc1fce889c0ea5e6e4947aacd01e424d46f849879fbcc42777143db7a953f711f225cb8c66a0727c37af9ff1140e05d608a89e35b11748478a5bfe82f5fe5834ea9645106c0229ac8ecca18e5a16efb9eb58fd233915a3cda2b609fd213989513a0 +PT = def5acddbbc92445d0f229f44f0cd91d5ef27423b86d7993f9fc3cd59ec2afcb1d18f3989ffc534d5e3693e4fd4d099121fe45 +AAD = f7d5ba6308a9e56a114d52dddb39d7bc +CT = 86d816f97ef303b9e5a33d07cd0f8d82aec3b07a4229ccacc5fb47d0ef9ff1779ec3ec0615f0359db6c26d265e8ec398ad4da1 +Tag = 3dafeffbced5ac573f23aa02041c9a + +Count = 14 +Key = 2b6f6170508502fb6761cdf49266e0c1 +IV = 15ae71d17495bc4abf4fffe1381dcdbc19db6cebbc08e80dfca7390cb6654724595bc544620231da12c1d6ea9540e6c33d5fe88df6a40ba4cbf8827cd35112e15b8913637456c7b92adae2797d15bc7474e4cb00bc3c215acb3e4ecef2c10e0dccc3901c1f8829939b25db51141dd7de23802173c05c530c0e4cc95ef779e16e +PT = 534299e46bee029f0e7cf19f0b3533bfc471c0090c73d912067815029df87bd6b955db9ab857744830a366d6b69d753345010a +AAD = 2dd0a88a1f9e8de9be28dcce86df9053 +CT = 9dbfbf695633749e8c8d530d4716b1ebb536b3ca957fca404849f1d8e42dd993cfa69fac30878f0128af48b113fb0e26277012 +Tag = 5f6becd62eb36e65a82f8fd6e84bd5 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 112] + +Count = 0 +Key = f28dfcfcc50c3f9b6327a886c753c319 +IV = 72915a1a42e720d17678cfc7987e8505df6990ad5d27be82749d8a9409b286ab62dfd2388578a5d95435dfd5a14b52aead6763be862ea0a40df4783b43ebdfb126edf165f6d2b5d16ecb8db35e503546ebf72f8f76d0da9ec2df18dcb357175f652fa278bf7432f056f0c5e27155e2d93356db5e45eed45ef90fcb22d10d93dd +PT = 3b24ab0c0c2616275ced7da24cbf7210128d64bedc88c2e628336c51965d42b514d9fb7196427fd513cf22fc7cc78b8f2e8a34 +AAD = 3f17e984d44e53d90f03663df8a4c351 +CT = 2c72dcf8db0e81a3b63bf7fa315b9a01da596e9ca776aa0193fba98eb3902515c040b2676150c0aa0e83e8658e97cdf3c45d87 +Tag = b4ef1dd37140c1d8d37a184da00e + +Count = 1 +Key = 337067cf7682df9f06016d2cc900c0e8 +IV = 9749957a0193300a88b5b31cf31f86898f1d957aff368a34d06369799a9495ee44343ec5e77a06243f24e753a2c59ceb79532832f15b9a555ee8ffc2ee3826fd03506f0aa8e43295d2e63fb5d6dd4ac863f0091ef83bb0bb8ec4b15737c644b837ac10672154e108aa2bf89ebe857a9ddd6933ffff9544907609fb34fd4f3575 +PT = ad4d24407b13d24eb2b43c18eaa7308daa447d6ce9366a98c5ac0fa26eb430a2718f319f4fcd1803809525071b61afafe143d0 +AAD = 612d7e204aa56073bdf7eec1cd69559a +CT = e34c8fd0a65eb82579420cc59e5ffa667fd1a22c6a79fcb189c168eb82fdc20a8b83d8c2bf19b2dbe348a3e9eccfa10e3d2e1a +Tag = 37fc4b8c58c91d5b0389bdb7fe8a + +Count = 2 +Key = 2740cb669d1c94802eb80ecf5c3fa159 +IV = 8e42a1ec66f5af9ff1f25cca15d2420c291cb88e00b892f9f47b8408628e0b8eb28a9cf7caad9a90fbfc94fed94f9a04b839f98c8e8b0dcd39e2fcfc4f19dbe72246fc5851ed2fa05032a825939f4d611f6e6f1a0afd90f52072b35ab68a9641265c24d0b80059f71d6eb810c11e64881500438abd4c75e6054431a93add02f4 +PT = f1d9f5b32b378dd107ae0972729956bd2588dda3afec5a356d1329f2030b0044403cbdbf9264a25afd88dbe551db8979b00ae1 +AAD = dc493914514e5858725a92266793ae58 +CT = 2f0bacff556faacba97732ee0d728f1c775d63a4e057d386b34dca9272475072b21f9435209d5ecfef034c6f6a08c2c26ecf5c +Tag = 179021530dba76634db2595698ac + +Count = 3 +Key = 9024b3a532465d6f1463341f16a93dec +IV = 3586004fd4a13865d100b481a9307864a2930657d41a6f17997f973bd28d47864ca1d2c85fe43c43ff3b7fd16e336ac1b4c4238de6dcda637c3551158c3b06285f9b855856564cff162b32f79139cd4d719fad4e4f99eb95169269c9a51156aa67653eb12eca24c34ca4aaf738875244cd608d3e6bccb41bc95a4fafcecb7655 +PT = f4b08b17e188765c6669088187f32c5ba31a6969f8e626eed3867328f4ec9873becf0aa8de8352b68b56ee8bb8844158031e40 +AAD = bb28de3621cdefe1a0b81902cbe2117c +CT = 192b570cbeaf1f740f5f84fbeccb5f419c7c9d9c47609c4f258a18cfdac02f344bc1d099775fb01f1071f90a17b8db4edcbbe7 +Tag = 20c667464f48272bdff842fe6618 + +Count = 4 +Key = d94dab17119f247b7a05ecb87a81684b +IV = a7ab792604ffe5067d490ac3d8284a9e779b96aecfb40782b4bf1f34dbca5910f7d23ebeb398d93920e31f05a802752e096d2cf7cc9b0f061c066ce8490a188c0aa103ed967502b72ce571c777d4401855001e5c9239c57edccc9e144ece7a0c382c411376015db9d97e4fd496ed2ff4e851115ac0a8556bd7fcbe254879f37b +PT = a70960972251dc99c33683581753771703dbb35526d02815bd08e1bf139ebd8375af415434474fd573d0e301948b5886118cfa +AAD = 06a5e1a956e2b9f6c78b07779508d122 +CT = a5da15a97072dafb8b60b6315fefabbdaed4ad149924cd2c8d2ea868f946f03ec25688db48627149b3296915a0f467ddbf4bcd +Tag = f32441dde0bfaec4e9ba3aa850d4 + +Count = 5 +Key = 83fa987425a035c8d154d3c3f587e04b +IV = 62d83fa5df87f0311e22cc98d3839167842d834e45ff69c9bbc36ca2d18ee6c3374f8fbbeb582cb6bc6a7bce4c9b3ebeb25a9d108773c4ba8df4c82cab11c3cd3aeb6277df55690f637c7fedc216bce08a78bc7a87a58ab9eea2c52623c60ebb8a3490eb174b85d7a0f9a4fee736d2843ab148853af7b2a40c18b9b4ab569bce +PT = 3172ecd08f7847034d95bbbfee38094fb32adcb181123f41d7a0838805c2a58c89dea1179aa1d9a7f59a0125f53445e0ec1b0a +AAD = 4c15273c7f4204be803d18358684cde4 +CT = 425a71337627c1c725228d7c8234b21204ff28657c6cfd2f95a8ae7bc433b833a1d05c970ca93481f2da940a10ceaaf227244c +Tag = 912de6a4ac9282ad7d711b6145db + +Count = 6 +Key = 17df621fbbaf96ab5d435865a59c3da1 +IV = 38b5e78172d95243015f20077cedcfcbf4205a81a856cd2ccabd504b75eaeea1372eef47615800f89425caa76c25987a92de7e9018022b3d9bebd9e15c8da94d1df85045f7675b96591dc931708778b801b8b2f0c9da1b76a98b6ffb5c916f5ab343626ec2ed1651aad6965986ca35b1e735919624ae186a0c2a76b1f8e3a039 +PT = 20bac384208113de7ae019f81e9d5a749758a2a703891fec7b96f52311b9485aa0dfa3134203e49d4f0b90b2a3eae797db8f66 +AAD = 1338c0815c708f6951113ce8e3f9193f +CT = 12b840b4ee385a00e9dadaec701ea5a1dc8cf1b25005062daef58ea965b2cd8af8473a820810047be6be7377b9ac27036bd9b0 +Tag = e0eb52df0fc82435479dd073c1a4 + +Count = 7 +Key = 64612693f8cea67f06b2394552388cf3 +IV = 7179bbbab991319c92f52b9ddb989607bcdd90ebc9dab791e1b0b1cb5ace311ee5d89bce90aeab489dc2dd95e9049cac8e66ec6f650da481d2add44de9bb86c69613a9599f97eda83535fae4b28fbcec0bff0af37bdf14cdc73879acca64dbec95d6179759eaf4a10c0c987bbbbb4e8ebb643933aa18bfd4749b01956944825b +PT = 7ef99c78a95265387e3ee8970eb955a2530fa9790ba36ddb7dcbf4b46ce98a18e5080c1e52e2500c97e5c10f32226818316928 +AAD = 06492ccf82ef22e8aa4afc4dcb1b931b +CT = ec0187a43c000f1bd48f67443e567b06cf178838ec8aeb194276e836cb24147b6ed9a833ef84a162663f124d9b7a79e73f053f +Tag = 02ba602e85f07512333a7894a248 + +Count = 8 +Key = efd2cbab19dc06305f6d7976813a9df2 +IV = ac1c165dd53def48b697812871690adac04b71e58820b60629376503170ea9a24f1691a927eaf57a8924ea032b556682c6c03bd0ef80ab21da18c856e15ab459ce88b91cbb3f37627033f15d682cf6e258726152cf69eccaa02be123d60b0ef81411d87fed20a4fca41dd14748db756e1ff13e52d7d27f72a274dd55575d3c83 +PT = ec10cd7d130b65aede15f2dfca828faecc224b97822adda2b0fd8df9359d6d3bee6cbdf102a258bc258c714ead3cfd263ac69b +AAD = 2e18a76eb0bcfd2561d8a9e2f46cbfc0 +CT = aedf33db1d548769015d7313317dce1a5af6ea110bc9077008138527df971bab8f7aa139845c7bc7699efa3b6486a52bab00ed +Tag = 8fa7d7117a7fb3015fa2a92a9b25 + +Count = 9 +Key = bbeaefa05b9cf72e0b4b4b23a270e3dc +IV = 22f8737461637b3705a94153ba4999754d56099718df4c7eea2742447e5af75489656660c3a61f919557a67233e0fa52fcecede1c06e5fc16e3987c8ba71e2bb7d97183ca7793c3785b531cc6ab2315d53b783a0cc668a804e7a5ffa7b35283b530c8e94ff5e6d157e9f755b233f17094b1335c9ee8900db8dc8bb94f092fc49 +PT = 81a7cde8b19b82434bf93e1d9b0f63aa7e7eac2cd2da311e8b95d2010b7f617772d675a9fd59a3701a324c8a164e27705b568b +AAD = 426abf93a9ce3bcfe7aac08478505e8c +CT = ba60518e1ff6ca926129a9a6f70487f43f4baa4061da934999de99bcaf895246fbdb0cce4e3255e9fa640a3d333bd7eb3c1ffc +Tag = f2c7953c23f84779a47019f26a52 + +Count = 10 +Key = 32e25f19a7881588acc9f01a53b6a65b +IV = b776bbefab37be8ffbea2b2265fa6b272e0d6301aeb8c572430be373099220ce0fbd03581fb5136b32441b705d26e7beb7d2c43489cb6b474e7247fb2120b7f0c709277f7832c865aabd631c5d064e1d9973b4523e5db7925e2fbc8500c7cd47462cbe791f33396c7f78fc04be25d166cb12801a95215de025f512adf00fb046 +PT = 89cd26e965846a75a7cb0733b90ac8ae9ca4e897fb021ae05796b3c15baeab8e7cf6b570ea58a7cb9e4b16a66ed52a0ca75945 +AAD = 13a86864686dff720a01fee68d20a07f +CT = 77f869b44d427e6ab7b9804201a12d9e3ba27b59282e9b3b927dd62a81031eaa90a2fa538d2f7b7aeb2c7ae9e75c5c17ed55a2 +Tag = 9c917294ec51efb9aed67dfbac90 + +Count = 11 +Key = 4b77c6504388c4f54b700b904377ccc1 +IV = c8fe9e6f81f85d29b078a57932dfe90bdd9299aea7cc561c49cb1ab8165ebb802f9f0703738ad0c4aa9d0060a5314018a6d95c893080a568b110da6161ef10336d11d27fa7421c60681b06aa7f8a81f81bd8bc62db7527d6d57f4596421f60e11ff5a97e410d2d41172eb254309c5ac1db9c8530795d9a0fe766d0b7a469d380 +PT = d18369d3b4d73f2f9e1138f2f6dc6eb4148cb8e75650064a6509ca23a2e66710aa82f7ffeede37f2208b28d2235caa48e17fd5 +AAD = 6256355689cbcafe492aa6264590454a +CT = 372169bc8d50220722a6e5f4f9c11d218e5b70f1565f00d92a1fe2aa8c90d11ecf569d2f5be85cbfe12caa162a7da1f776f71b +Tag = e40b5884ce41f02e0191dc188d8e + +Count = 12 +Key = 9099837ec332d8b6e2ec18131aed2cce +IV = 245bc2466c8c85d7015eae2f69be0055bc4fe3c4a05eed3b0cb74607c9ac9bcfdf9ea36a4de054fa7b20c6e3dfa3c45f798d8677861fbefbb70460f830cc9633a7722bc133643ac56e517c8d6dbc019a2f7a6fb9c202f4e4951a4f2938b74548ffb098f43706bb259d63543ef27d2824abebcd2b2f7b5e9e4aeca432d90e5622 +PT = 6e0d2d9f9357b513fdb0e6f47e83bd228e4572cfd10149971f7403621a486044cd79675c2b06b71db95995664e263dabf24c63 +AAD = db56dbfe2482cf7b456a4b02a879059b +CT = acb985c68fcb9a74763d681114cdcf0e85e217d134339b9502e3e9a10f7e93d4f8624a4d3ad28632e8862e9f9c30e4ad555543 +Tag = e7af3bb648f73983e36ed807471b + +Count = 13 +Key = 8ab9efdabf659ccd0d8df3f909761fef +IV = 6c77111268ec751ededabc3fd9e958077fdad2ac2e0eec4cd878989e80bd17efc90c6e98b8a84dad584a307549b6339eff85acd85f8a3a03aaf050490f23ea5c944ed79a2701518063befad6bd97a782659912a798ca70197d109f8d9e3f6c53034ef49a1879c6626108ae447547eacfacda42ffa5701bd93842cf0156b45f45 +PT = 0053995b8d30c5ae9f25dc6c9dfb6d223ed46b73c21a789d649491d8fc47fe49676c5a554fbf014967c83957330b55a2e1f264 +AAD = 8eb82810b42a022b57d8d9f87b24c5c3 +CT = a4326d2110ddbb5442d4e875856855d9ad4c2dcb74ded961628f2ad0c8d31f5c990a68d80b4ff0155f6cb61c8ff2228b3fc5bb +Tag = 361d6beac4f5dac8809e1f99e909 + +Count = 14 +Key = 8d10044f014fc245f6acd46111a40746 +IV = 18f9fc1635dc5a43cccd0dd93796360404aa5c4d0d43c77612e97721c342813342ad7e248cfdfd0e6c3af1ef5191afa35f01730c7798acc03f21f904bf4a1e44269ef6963dff5783312f63b5fd7e69c22d2e6ed014ffa1a5621cbdf8205729ab7121828bead4a0918ce2bef7149f3c6086028632a3171961ff943dbfd1f99443 +PT = 4b0429bb8f766352715a24d4aaaa8b4da125e16cfff2b2e9b18e5cba33edf556580118a59c51a9f1e97a717b401032c94a3423 +AAD = d5a4b45cd2312f205955a206e9dfaaad +CT = 1109faf5100b3c17fc4370c5aed2a4febd4c087fa895e1341c9100a9debd3c898874289e6918035837b1a77d9fab13c90f8d66 +Tag = d8ee9ec0ffef3dccb9dc90b0826a + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 104] + +Count = 0 +Key = 607b7049433a1120e9963a0298957b5d +IV = 62191352b5e6dbaaf610e299f1d605b30c05a784640a4794bd5344dadcb8c9dd8cc13869ec51d71c653f24f7b8c8e543d06fa011bf03eb215543a163802da39d07a22c6ba1d999098966c137b63cf3568330beb72d6515671d05016b25358e5d20ce037ed36548edddc2760638803ef0d4817255bfba50f43fea733c4c0d3d7b +PT = 5a72c6631d8afae804406dcf526affbe1e8e47aa3c21fc2aa4c0b5c4d1065630e1981822c9ea8b00531212eb157510fbc5a188 +AAD = b8b80eb3175600e40daaeedd67234022 +CT = f4b2cdb5b3cae9d10ed9e9f2d1e7642e9c91af559491b578b56f9ffa9bf2f59af29a728713e96260381dc1daf074520d2bb146 +Tag = 857ff9d2a9c66ab13dee03433b + +Count = 1 +Key = 5b81ec1572dc86c6ebe18483ebe38d6a +IV = c9bb292ae7a46ca0aba17abf73068e398d086a27ce5396a77869171868e7c8f13ae17f02082ca128845075e2397f50694888cba26eeaabf1159c7d1f0c6ab75c0a0751de6169a8e809ac6ed45ccc72f8753e983213007bb8da92bf170ab51602f908226dd4f7afc4e9e9e18a0560baabdf48d2371f49908da38e88f0f675fdbd +PT = ceba161adc44fefb9467d699be7a117e215a761e633ad7a6f2d3671ec6baa515c495c7be7c28a017b2dee503f933d8ab130ccb +AAD = 004991d81e544a8faadb79b0bb0986dd +CT = 7413bcc4aabe1cf3728eb064a7983b6284417d3d29274c10d1b66c60fbd0ffff5b7ee4133411e7182f01b646e6746e24b8de44 +Tag = 4f29e95a965baca1787c735b8d + +Count = 2 +Key = 5c7ea5c2fd3f8d3834f4e9295b9cc593 +IV = e713be6554262fcf8a296c95983ffd9ea5cbadfd797bc41b48b88d5c83e4718b162ed615b58518240e167ea51367e9ee488b4968e418d52e6ff3d40d76862973d51ffd51029567a269c1da8b1ed6f153275f2b0c275a1e40be91813885fbdb154b0f3882bedae240a6c02fd025617251842b1bb56220d9029c8242178bd81291 +PT = dd1c633a34915910bf65b845b1ffc16870ca8f6fa9775d3882e62f2bacb9fb820f6e4860178d8dbd353bc86251b25aee1901b0 +AAD = e94fb196400cbdbb10dd05ef30fb4fa1 +CT = 741edfb5b11c2ae6df3a4a2bef37b21a33363fbf9ad217c71ec199a12955caad88f47238a6fd13f959766f5571bef29d7ec2cf +Tag = 750dc7d98bbdf1a7fd7fd07f20 + +Count = 3 +Key = ea51c2877a62e0c57c5c8f367275ec06 +IV = 08b6f07ab3e2a369b2f3ff8af6d43fa521a02dd009ba97ea08329b0f49778fbd896e4d6f1387eae61fff88ba8bcdf1fbf648966fc9a436d9fa36dba417ce3ac7da5c926d57bb61e5120661aab53e3a6ac63a6fd5292a807d821e039e6e06d21d07b53f73f9733565ea0fd210dbbc5d9089afc93b34e96f648bff81a790e106e8 +PT = 35b551f530a60dcec2e09c23869843bb5343e43698d654d5b529c0d0dbd4eb5d5aa44d86466ad8df3a9be9ae763fc8e453dd3d +AAD = a8943d229dddfed3979cebac9f7a92f7 +CT = 1e7bc24f8c720fcd5431e80d0b12e677c7cdeaded950b3dc21fee2b1d3cac57476c052ca7fa85532d6a7d7fdc1d756649e46c0 +Tag = 1b1decabd185efc4a3c0601670 + +Count = 4 +Key = c8a674003ee3ff5a5a4915c4c113426f +IV = 606405cb3432c050c6fffe3e1749a206bf86872af552da4d202a0049ac8a6cac5b2a4947f37a6c0f17c76cf08c240667eaf95d78605751fa5ab0defcd5903cd1ef898d64e9f0a7d5137ce2483113fa7e71adc887035629af8bb2e0248d297f03de2b98ba1dd0458cb2aee277fc6c74ac3dab09474e7599210a98e1637bc18d10 +PT = d72c9ecd0d8154a8aba91c8dd146a0c242598343ee4607977bf02bdf2cb180d766b21917c8421ed483fee844cbaf9b82883efb +AAD = 36acb365eb95a13c22764b49703630d6 +CT = f9ff553b8277d804127fc0dcf002eea0e195a9edfc526b1f0e6ba605b149b416306b149bc6ecb523de2507b4d5263eb850983b +Tag = c17c162281c8aedcf4c64fe44d + +Count = 5 +Key = 9c877d705668477641b1a1821b8e4d0f +IV = 1448a0abd5791f17c7f10e94a6fc57098d0519213e59599de28a4e37d16d6e32b736d5fcf4551529380e5f70bc7da3a60ffefe486260e768b4d6f242045725b8c2adce494d4a6d37d158467ce34681ac64b2609d41383e866bafc1205097ac704e8c411a12ee60f631842abb6f6d14e662cd09a0740f166c4e660cb989aec9f3 +PT = fa4aca1a1b175dcee3d85fd4ab4f8a9f8f9f640822bef6d91bfe456cadb0d248bb1ec60ed2cc6dc6c95565b682dd3a36aa6a47 +AAD = d24e6102f80f01c00ed44c8cc3700bbd +CT = 9fb81570b79eee21d4d9c3458d1d1c63eeae39a98935eb258e512661a765d328339aadde2385e014ec9595fbd2d1d6e3b029e0 +Tag = 4160b4a0f397e3f8790e45d836 + +Count = 6 +Key = 7e2c6ac1e0cff9b9e2330799d1c298e3 +IV = 7e302db7b09cf027048d8789dd5ebcef62353b23bdccc7d18152a4d8c1820c62f54c33a090bb24a238383781900af039d7eae09b26fc1d5574486a4f7fd4f0694b74ed20b8c419d059a194b175c0cdc74580a5ef5ec61f37a59153664df62c06e2597d8f2aad670484207c5d0c0167e86a9ade0165af367ae7b97148e76fbc6c +PT = 2d6a443196693ed46b9a700548fe344dd7ff5b6d571cd9009c4070e6ee3b75927ac09d60a646244971e7ce2ced5d73039e2f63 +AAD = 63d11a8ce767e2b3766aa481d7c5e30e +CT = dfbb7d07f6f1a29c90c525842282659bdca4cc1fb4b8a8b2c2e6e9991d91cb05558f69f9cc1e2a9fa7b8e1ef4c73ec4b29071e +Tag = c4ad763608b672c43f25a8e09a + +Count = 7 +Key = 0200c758c3b404e80e9b1531b3283fe8 +IV = 313342effeaa972d6643171c590d6208966d50d0a0dea74ab7fd98cf8219de4fda05fc5212e18eb9fdfb566f378f069f7ed4724d2eee2fb81753e2b148c0e7f3bf6498811db32d57a754b9133c0a91d1c97c2085af10aa7703d2e275783fedc173607400defa5128ded196a92102628b534c4a5875f78cfa115c4f3907fb25b8 +PT = 54f6f3bffe6f0bf3d32327211fb4b0f290b757fe77e7f806774b3fd56af02e0ca9b85ba10b2119c073511679112c8c27555d89 +AAD = 806d9fde354a375a16b79f03d151fba5 +CT = a2e6914a6de63c151ddccc0c81e1b3dabf9a5923945541d637274cd5c67487c8fa9e42e2ebdcb4b0c88eead17ef4e9b179a87d +Tag = 33621540a1b16b26e2e94841a1 + +Count = 8 +Key = be6693e8b5d3ce6b7b52d1efc60d5dc1 +IV = d6a4af8d1c518f3e2f860f617e52a6aa706e0aaea4cc2b8f55a71401898a4d095115abfb200a455ddf72b3fb7331b9c5b5d5bfbf19e8728c904cecb631e9f96bd35afd43e900c3b98319b2153013e6518b651636395fe487b794d638501ea371dffd48f8404e7f5cedf1a72dc89629923e6b48b5c01cfa36d437bea884f45bb7 +PT = 7a358294a4b8150e528d983308cce04534d5ea6466d63477f4b2735d4b5eb4ebbf0108ddb8bb399c7077e2fd3578168f7966ef +AAD = d9fe7bb0d2bcd7ad3577f752573ab2bb +CT = 50212f6b77adc97100b97f46a34f80d780535290a8d6cb42d33fd3535182623604f57fed80d4f289bff3f7965939ce98b4f0e1 +Tag = 8f5188789cad7d2093525dab9e + +Count = 9 +Key = afb0798b036eb5e2bfff831f210bdd42 +IV = 89402319061cf8cd9729504c86c69616482a41e7a064a199f914fcab23e0c15795743d27a8013ec2c05a36a7d6b2701e9bc2438e517044f1ae6ed4060b217a1d759c5790e9afb2812d89b85b25d5414c4ef3068ca16abf82ab8eb2523295a0312cda3b4624ed0d57647a3dc63cb2569fea56b5bca9a4f5ea26360e18f5ad489d +PT = 1a48a2f41580569eb1dbbb664442f9b8ab1530cd27e71e7fbb941fc9396de7dc17602e1ce4795ea974fa6ab6f3e857e80bca50 +AAD = 7f98e1c66f02adec719d1bd74caf94b1 +CT = e24096e534eb404c2999aa6768d9036bfd90c7dc708b959845449b841f0d6b9e59d65ebe9b26ca59ed3a41ad60115858648b12 +Tag = 613fc1f5f3b3179f69ffdfd287 + +Count = 10 +Key = 376d191484ab8d8cd049b3cfd3d7a18f +IV = 3d3294be0be7b70c48e78ba43fc9c7627dc4035f39e0b1082a407b02e96d18c1ffebd96a848cd8eac46ee7eead8d13144fc0708a63e92db4d00812c353d5ef6c465ac0b73ae93394e860c4b378998331c2f98518172c924c6a491d9d1d16fb63c6f4e002c8d53d164d591ee3a5f126eeaf14d4e61f7a28b578f7529e950fffba +PT = c9e225999454ab36cb26afb662943ac9c289eead0339f8f93d0b5e4f0200cd309c22b0e0a5625e888791540db3daedefec5de4 +AAD = f3ed91c32643ffa80ba9539673885d18 +CT = 716a1ec4db769f031fbbd96e4b6a89e7359dec420a705a25e54f0dffe7bcaa2f2b1cc524f10aeae493bae1ef951c77d791cc64 +Tag = adef834a7e4a2597b44b5b9a45 + +Count = 11 +Key = 52988a2e663d58c5a4bf556369941176 +IV = c8976d2efea9acf2c3d7c97f520ec4825455765c8b008c741f66a8e2515c3ec64894013e7d3a2f824275dab6660bc343b640b4c5ed8da227747fea06f91ef890009ef3db45e83bf286b565357d14eb210c36b938d2920f43185fd3754ef3808c106513351df03189d58d2bc236ddbf0881b30b0d755ce8326d74b2b8592361c7 +PT = c3c0d5b461c135d3901ad7acd927a16e8044a81397afdb5e64ea03cd30852abc6f36c00eab8166f055aa07fdc88cd90c95c07d +AAD = 87b00188c2ea32afcca288d1d8522bfa +CT = 3596035533c75cc98b3e2d4d185481ef9abfdcecdfcbc278bcf5e1209564f46088124724256a6f7dd237be2cbdcb8d92d10c85 +Tag = c6440916338f8f1b18df409ce5 + +Count = 12 +Key = 53e233b577298947989ed650fe40c824 +IV = 1a3be52dfab192c811936788d1a48448ffda5d257ef795ed7d54a4901c01768b0500d702d5f3aa7639d04babad550b46d55951075f3d6c1023c1e184a577ff72bf07ebf6269f70c68debcdfcb573699b3a26a1f3cf388e16f8dd7636c3702310f06f5f492c63c282a5ca992900472b86b920c954ea4c26a4409fc61f88e2e5b4 +PT = 1903e89d82f3777e6c29ca76156ee1ea5e5c7ccc524c0444612359055fa10aedef008c5fa0656bc10699a8c51a8f2fd9c38e97 +AAD = def4282ed21bfecd108cd8d048def149 +CT = 9df77130c82420410092aa1429df0564d0f0b71b79d5986a85736ce3eba9c074ef6108457ea6580f466e8ceb9c9f902d1ce1f2 +Tag = 11784e465c472baf46758f3dae + +Count = 13 +Key = d35459ecf804dad851a7dfc5720fd231 +IV = ed1b3303787efad17ee3d452be433f68f0b05e574c47f4dfe7b301489b3e1285b7b189201b99e9ec5b0498c0a7d4159c6c7f59e7d8d5b7da1f039b53678208117aa197af063380c4c5a2e172c7973adb17d6480020673c184950e161f9099381312d33180b0d9aaa7b0122b36c2be7a0bd09c0f01244c18fe7ab4863ea1648ed +PT = 4ef697966e51032145f4f0befbebee9c751d0815f18213cca3f524825671212b1e58cad1d5202e2307d8fcc50367677294547c +AAD = 7a8893c1beb3623b5e544a1f6170c2c8 +CT = dcee78f1c1ad2bf6bcaa76a100a3249ddb4c825e1dbee667cd6207fde16c10b91c4f30f7072f8b686bb1fd050e46b47a774367 +Tag = 397c9d59ff143fc669192b5a8a + +Count = 14 +Key = 25d50482f635da7eb659e01e8eaa2530 +IV = 3bbe4f87fd98a37491a38d8ac34fceba78959087a76946d640714976b38407eb606678234bf2cc90e90590bffb553935893854c5501ca2b48139827717bb699f28439b714bfa7559a9242ae4f306b01551366fc8350fee48216a392bdef6dd626728c7c41e3bcd1dc4e9b30b16fa27b2d1de877f6fb23046285480f867d3b704 +PT = 2f62d77eabf03b5c3003cf2e3c1a55e073fa3c21e9a351139c1c118aff29f9345106e579dc32d1830f0f39ac3c657274c8c654 +AAD = 0205dc58723d88ff52c3e95890785b22 +CT = aa887c70b02c785181060b85c5ba414c391005a3ef0d2f671034766ea93e5293b661e513e37221454040373ced38a463483b50 +Tag = 7c35fd010dfe40e59eb9fcb47b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 96] + +Count = 0 +Key = a525b7f8f99ce5390b1a2a9764e38901 +IV = d7eb08a7b1eb298823f04eb3e5d1e2defbe07f27bea3dbbb5647969c45b4309e8f635e3dc1264316d39d01660998c6c463fc493e6f4580a7ed5d13b3a812e666bebc1b10ee98878b63c91b5d5d4ece1a47b8ed0b6ed2382769d4a42ffe8e9a179facf2bb907b103720c621984142b904385fff1fca0fa7232df70a453b242e28 +PT = b74b700c87cbc916c18185df457022b8d6a0f174f2c5740d7a087ab908313de41340012760fa309b5279385b6480a7bde4473c +AAD = 1a0b5aef6f29ad4847be5d781832634b +CT = c6a78f8a7c0b2dd6a258851a55100652b58a323c0329a857c33984b9d05485baa375bc3803ae1248f5fb39a16813fb281308be +Tag = 6fe3b9e17739e95a748bea74 + +Count = 1 +Key = bffd3e04f4ee0cf63fde51476360cc22 +IV = 57e70c660d1a21c4cce626b01729e9519d25420091e78828dbe104673f71355cafef1321a91455e441621f121946d50c7eb52a664bcce100291ae0e5b61ff38def78ea6edf1d1c1fe9af2fd2c9c12aad1f0c11512319940fe06bec027c744afdbf1b345e70a4705ca2b0bae1c200abcd6dfa75282c4d56bccdf83c4e5749ce2a +PT = 8193f8fc30921bd7e48aaa1239702ca2ce2edb351574d72f996c81137717b192eaa6183843e8e1c7378844f05168fb4248938a +AAD = f0da20848a46deb5e7391a503bb4c73f +CT = 304877d1394c2ee3a4b3dabc6fde6dfde53c8bceecb1db27cf55c0a54ddb97580215cecc64d100a8b25c914cdbba9960d04019 +Tag = 90c0bb197757058e1a6e9f86 + +Count = 2 +Key = 62673d4dd28729742944fd1f01b1ca7a +IV = 3663390a15343fc26c13f03b90e649f5088162a777ac0294ffefb6c24c85dff5bcb2dfcdcf868d4eb726513be20c70d500719b8cc68ecec229e8e7d9f961de83c278edf7f27ab23bff19490b51d64aaff020cfae9ee7e14db8f596db9e3a8ca3b31973f610a12cf9a784c899e0fc15fc125b3494039642cf7fe913f4e8744c67 +PT = 8a46428ce3176feaa7d77a1453f7392d57cc8a91704dcf1bef81c148a6ecca990c141c9077ee5d8206ea8c71825484583a3814 +AAD = 4f60af4d2eaacc44116e491968a66799 +CT = 8159241739b3cc470948610a42bcf48246b23bd0805749a0a7deba39c7a95ae6132945c5f9afe38712583a7b4b55c05ea3edb1 +Tag = b940b97cfb533f34ac4181d5 + +Count = 3 +Key = f03c7697be3acb2c8d97db326c292606 +IV = 6c0e8c2be67de533c0b4ffc3845c7c5345580f3a1f1dc4ddafb4857d6f612466fec84d7f773f96bb359104394d1086a480ad03a23ee908f284e9c102167e1fbc9059b38e1b898de25c57e4f53c62ab85a11abf4adea192dfeb8dc4cdfa3d1bc1974c9d551737fd4975b92b86f95d5130b6815f91b8c678a39ed0662bb928ae78 +PT = 5da6945d3d8863677d09f7825f6067605ecea02bebe8c0c841297fe1698a68164add69b21feb0528ce91eda8ffcacc061a37f6 +AAD = daa5a94958229506afe97ef5db15c76d +CT = 27a5afe6bf18c305137845ee0fa52e01c54230e7d560bb094e139e18b1b8c9f0d02f3f2e2f9c5557a94959abb17110bc050b46 +Tag = ab22a86b81e42075e0861867 + +Count = 4 +Key = 93cf31087bb731d58969f81584383e0f +IV = 96fae7ba21cc09bfb3029b9e05482acec0d578a65f1db757143928cf3fd724f6f1a86dcdcbabbe675a0cc8a3d3670ca7a223292bf1856b235ab58e469f1885633a5df9c5ed66bf496ef9666a2d6c6f4d62ce8db83c63f7885a1f99b4505313fa6e9c197fa38ac69203f2de882eb831c34f64b0120784f7f6e9f69a1fa28b3cde +PT = 703977e18ce5f0e603f24bb486856ebbfb93a08c0423badae351d89c468ed71bbdab18f07856248ee40484cb1395299c5e6a5d +AAD = 687786ec7c0e36d2eded7e8f3f2aa770 +CT = 1b81ffefac9173a07431a28292f8612e8c792bac220c922f7484e38740a822eda572b689227904d3e637c57db1a1c3edb6adff +Tag = 73f49cea4c7c5f57aaf7705f + +Count = 5 +Key = 73d464935882c0b4bdf2beea9aa95411 +IV = 52d3acb584a02a69e4c99b55df3b9fbc1ef24f42785766c61c3c2bd098dcf0a3150de42a05043318e29092a74237b99a0c058ca7897e4bd895ec849717d43256961bcda8f251ad27d2bcbc6d30f8f3c401b192cfbef5c58635793d7d5e2dad76c8763aa54505473da8a7d7cc0a7db6042268ef9f3323f946bc59cb3cbe0c6563 +PT = 587aebb636c3adcdd1f6792394f0dcba32de694cc23fa2a59d072992b87742c3037b70a22b7bbe942f6fcd4e0daa0f990c6bdc +AAD = 52254fac784659ead82bfc5ee1728796 +CT = e0b5f40a43286f7b7d3b83944b00a1c7c59be88a075763d3d8739cac977e729c182644cccfe1313e87f4d149ca18d58dd5622b +Tag = 90988cb4858e4d4a6daf341c + +Count = 6 +Key = 0874a41add309b9daca253e6e6872da8 +IV = 05e4c313aa39c7a3ef3c080f8a23f1d722766babed0916b838916c65f8096e572a29992a09e74fa947c2604b1cd16c073841f7488dfc4a82fda4a8622b1ec0b36db9cf690faba80dea4523e75a26f7621e714ba175060af531a1811c9965214e65863b1805e254fd550fd78acfca0158f7f91509a94ee535576f0a5bbc2cd430 +PT = b7edc59f294eb5d80c29f4e42918e774bcf50d1415af79a1994b9f9a28da9ca6d135bed7cf63cf60fb967065ec8111a26ca203 +AAD = e6745c1e989fd974749e15ba7dc0bf26 +CT = 5c1499867390911914fd9612148838f6b630ea9fff2136abd88ca1ae8a4ae3dbf6bac15139ae11515fae842e89e8c6461a63d4 +Tag = ccf74f47a6cb09515a139539 + +Count = 7 +Key = 14e5e48aa48677bc043d0b6c732cc977 +IV = 5363f3ef7f5a41881baf47d068b8881cfe310227904fa8ac317c7d4a84b24e51177b39b1bcafc2506ebf8eeca1a133c6f8e384d7898edf78547fa409a6f4958b288356faae9b154055bdff20334b49e4eb3fde51156ba6075d2619d4a08b9aa76e35b333f937390cf372b296fb6a4d0457d4e4ebf8136f7761abff7319097f91 +PT = 35005c01f2394d653d4f13949faead55b99bf6db8684feeac7fdacefadbea2820ecb8f26ab3e74fa0dd10d3f4ad7c2dce5a4ff +AAD = d1951ce9c029b5723ee5040afcaed818 +CT = 5aa01adba883d727640c51277a56f3ac38b96b7779603429751b570a58d85423286be82b58d7bd44d6a1781910cec05b2a4d08 +Tag = d89a3819cebe63f11ab8c252 + +Count = 8 +Key = 40c088a0677e3422afee2959db479fcd +IV = 54cfb5e638cb1b8a3006e9d6f2b2bb5c650f1433acdb750b986439d8c688eae7c13242375ed498a27044914adec674f1803c101362a2e4f463f3d2fff6ee4120baf9b213bac7592877b1e0d3e6ebde9d26965d92476be4a64e2ae2c0d686d90000228c1aba9c5d1cdb8d35dbc512a4a5a97a3031a82b54e9da8577dd7eba5978 +PT = 2e596df2ea44cb25d6c43614eba8adbbd78b6478fa29cc95d2f08c7370395115f65af5a6530eef9e4fde4a46676220832cd509 +AAD = a04201b99078b6f3e736e66710e85c30 +CT = e19154555a387079816ff401f81e49b0b3930779a4323dd8303ad56ad03312f58aa031c0f15dd242337d1f7d500ac26c626616 +Tag = 22d696ee52a0e7099aa30cc7 + +Count = 9 +Key = 61878679fe78b67a61c09e5df02b9eab +IV = cc3aa67525d0d3028a51115f4f3d659cf9312b956cd74b9277cec9a378890ed9c5c7ca7683542d96b729e62cb14b1dd67da8075fd995878ec17e15ce2422d617d0860505ac07d015e08e750be4a32cb1568f7a5497d3232a18fb78edc341abdf508d13a196cf3b5d61cd8a29a3e461a60a1845024ac2e8611371accfb2cbcb4d +PT = 88ec346062e57ed6a2f1332f87c982c0cfe18c9fd6e82d27e5cf2efd05584bddb5fc9b83110805a9790605ba5457a9b80d0643 +AAD = bb1930343845caa015ff377a63538ee2 +CT = 3f810d69a82c65101c21e19c289d16f331e3a4dceecfd00fed8ea5daa20256dc5dbd90af2bb9708619a30688c7e1f1a2361f02 +Tag = 1415cd48c3e5a080f1e28223 + +Count = 10 +Key = 7d9d56336c1b25a747fd3f01bd75d21a +IV = 4bc16b5bee785b7bff953a010e0613dfa8e6ee5db62e443089ed667248bc69e2d9c6bb5f1c0bc2f615e0f8f8a4e7b58225ce728e983409cea6aade409da80c8c69e1690855e13e33b74b0a06a6b6a9f28754a2625e6b208182580177a6416e4ec8ec01042761c656946ae2cdb3ad7118838015484550e0f4d9d3a6ca1d1aa0b2 +PT = 443d91af8faf5114ef270a71e37aa1b010cc1ce7c42bba9fb9202b59fd55a4a6d17a82c1af9eaa9be5101ba559a93a8b80115e +AAD = b7dc883ec626d11fedb938114175e24e +CT = 6437de19e8d960189c146553752944b411c4df1c00bb2c4d337d29de47d0dca64ca8c55d3043468ee4f8fc0091b80ae53522f9 +Tag = 090238b3902ff49e2e0a8223 + +Count = 11 +Key = abe197db21d0eb46a86b1e30a032ad1d +IV = 91534927e68a956c31930641cf67b24de72b351c997c445999ba8e73c9d6fca85bde20b8de20a425f2da12faf05d93e4041f1d2a99335f06a24578c15237e5c3df2d92638fb2221c96302dc099df1b6f914906a3b21b2ff5745de879023ba84384e7770859e71b4edf7c8db3cdb1a883e53126c35912bc4ff1a40598c07e1ee6 +PT = be0b361e675253281a965b460094b1564f4cf889528268069b87e3310ba4c4cfa970ca104a80d3981b4b0e8296931553eed2da +AAD = b4830d4453ba593a2878c8db10b50e13 +CT = b22b877a7ac19560375d6f0a638b087228f6ac9e793ba8010603340e25986f169a0a29cf2a511be3afb1a1b25c7e4010a41981 +Tag = bfdad3075db5b58b8a777644 + +Count = 12 +Key = d1e5fb415d4cc28454910d5922eb8a52 +IV = 1576b9f0bd8fceb0e0abcf10e5441afa07544d37e9cd871d0881bb48693ef0dc826b9304b6536f03e9a61a517650c6f63d9935918a627ab1d865f77bb8ff3324def4471169f10c53330c6507d3696b5c8966bafcb6b1a3da4bf38a554e24a71f1f72c490ea324074259c168048a7f90241c0a87dea8338ff3cdd69b64bf7363a +PT = d4d603dbf152558450d5a0cb7ff33472011d743633439a2436981c2a90e2d7c0f77240efebb60c7d72ccf67e6807a1f7ccb198 +AAD = d06c8c4ad74d21b6afb80ff4fec05c93 +CT = daea29350e1e1809fac72f841ab681f4607ee8557c6485d48ecea598f306a2629ac3787bb7084d6e791884811d81554d09aabd +Tag = ab431e61339b25a8f6970132 + +Count = 13 +Key = bcf26e1f55e3e8b5eb00b4389faddeeb +IV = 1f2065c864b951a85b50136655e3c63126f28f57f8c10633863849a0aad858eb462e1b0541eac8b92cc15da9d4f5206f3db89859123c08dc55f085f5d3f3f6905da5746e9d1e8faedc8ca94a8a8da055feda4a7e203b43693233aa5c31f34241c0dd9d574b186a2325a1d0884cf18129ee24553be86eb2ea45d56e75e18d7e9c +PT = 656ea6bc22b0410085a95cd5efd83f2f27f25d5e2a5a6004b1b2691b69413a9cd3ed0fc9358ff667c02c82e18bba1b2de0f1e5 +AAD = d7e0829b42b0cfb8fd134d2e9eda63db +CT = 00763381ce0d4af99b0a18ab4613d4e0b53aadad9ee73a6dbf031cfb6dea9ce998ed27918e355a08217a0c1aa31f2a2e0ead5f +Tag = 80a8b82fb2ef4c72e7df5aa8 + +Count = 14 +Key = 69f5b834d118f505184c17c9e72cbd3e +IV = 4bd512c63c9cce92ab614b1fe0d09ef29edd0bb77ad3e7d3cfb9124a0b9d869ce9219f93c5a0406e72b0508761345e0f8ca440d6fe586f69479ea990cc705da9c4db3c5ba85afac414a1deb992077f2b5881ba46a5381a796367939bf85958820163a1de11b2ea429ce1648b7d2c8a356319f256f06169c80ffc0fc970afe4d6 +PT = b8887a74593d3b828c8f3acf6de318d1dff50fac1d6dff76673ad19780b859b7e955b3694144c95c98f46df9cc43cc84ecfe19 +AAD = a11f9990fa3dd40c32d271daad21a025 +CT = 5608d4cb0256d5712828bb3700c6037d22951932adca71f48480e65d7e62f9d8bff3f68652d6234f492e96e9cf5ff00d003e81 +Tag = b300b559933ba418c4d38aa9 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 64] + +Count = 0 +Key = 6984d9c6973c970f54a2e9c7559eb754 +IV = 36044e7892ce566660854311207285b01e3743ca7c745bb52807033dd074d931b6e9abcd44e2c3d69bc70aedd167cdfbf9c46ad6d098cb6ba0302f12daffe1ee4de08b0d9bc95dfd79a73bb5d5d4d8f9dac4584a6dd1daa4e929272a68fe489234fd2810eb4ec22a4232eb70bd515618c164ab37cbad48da5cc8ccef222e7af8 +PT = 2d47421d77d8cbe349ca7211f8ab804e1980b817aa6fef5ef2d8727789b7019edde2d16cc76aea86fe1760f749a2eb97fb9099 +AAD = 1d8a347d2e79b755bb7a02dc6d0be8fa +CT = 272e691315130eb7f0ccd7a56e1d1eee37cf02c0de134745e3bb39a5b002683ed9464bd02b2ae0a7ad4a4fe54b4fee087417c8 +Tag = 9af040ce0b11a8b1 + +Count = 1 +Key = c480a0afd7992526949a793843dd392c +IV = 2f1d9c43f2b1db1adbd3ca24c3d9e9805e9ff6e885c1e23804f02550cb66b0ecb60ae90015574e5e76db966d2f162e84186c18a7c1419369be07243c254df1ec96cffde19c992a1ba0e1f02b6b78436c6a622af658d94f87bdc28d30f6e5d3da98e44565b5325ac69e470e54c3165033f0d8e1197173552eebc46713f9d173ff +PT = 78fc11ff103c7aad5162f168e18250f8ae58afafa77a74d0d9015fb7e3357a929db01d76a1947b7f771ad344489026326bf5ac +AAD = 2a01e384285fc40fb11d3c3f207f140c +CT = 2172c8732ad051bf04f4f8c5afaac73753954f8b2ddc1e4f45496f5dddbba50f77be3c796adaea25b36990c701743a28c42d00 +Tag = 7b034dc018ff8d98 + +Count = 2 +Key = 64386ee6e1b05e3ffff5e6bcf4e5d65f +IV = 9e9cbdb3e18a46671360350eed0d15718704a0e2f1e8249ef2b178037b3c6004c194897f3bc1fcbe75f86417f73a4423da14d525efb06da4872e0bee1adba034750ff144c7d1fe3475f65b1b10d495dd681391a86efb7a348ab7b5fa261780569c3a4ebba293d0a838b45c8cb8c8c511ad89c3d7a9591d71cc2357145b649f1e +PT = c9e021add63204bc410c8b4158c50b887d2cbc7e131e89e5f4d9ba05e42065b320e546bcd970d0fa81d9880541f676ada00f18 +AAD = 8980cf3ab7698d84427b7bac1d200188 +CT = f884eb735ca7eb254931698b4af0d8495182932efd38c2fb7ccd61f98ea1cc3697849410702b8f2483f9022cc80d90b5de01bc +Tag = e30a4de0b1858954 + +Count = 3 +Key = 718df11018e1eb7ddeb59d31f50c714f +IV = 5a58964c42d2f6aecfaf1dc8f03fe0da240f49d238e0bcc1772c84642963b02fff233074871575fed1be6df31f6652d4992a3903a2ee5049e9911644a07918d31338dac54fd1b032ff1c351c25ca612ac4b32c8d28259e5130366ff48427c7eed820f73b5a3379df59a294485bc80e12c9a60805957c1be4e5cccf659341a96a +PT = e259dae90929c624cefa41a1899179514f7db982565eecd294198a565caedec0deac8bfe280e870ca9b6aed648954a183dea5e +AAD = bbed1d4e51b195738b421e352edf91c4 +CT = cfa61bcc28312a8247022b0fce63139a2e09cf3da1bd705aaa573f51ec54d060ac6d6b0ab4f54b09f992fbbb1944258bc3357b +Tag = 16545dcd0702326d + +Count = 4 +Key = c9de9e5ea89e86875f71789734818ec0 +IV = a2ae240dbd19410237bdf426d2ec0166832009d2f1e56561f6580fce304eb96ae86a40f70ea1eb2ef731c2d283a91a46bcc9d8fc05e1445feb5a343c3b4142b68b811fe1fa3143b7c7ae94d76e890449385941f21c75ea8fc95915a47378521967be3ebe06ca7434ef05141d3ab428cb9083e080ecaab1457cdc0cfa811c75f2 +PT = d7f78b4c3f4dc454851759a597384f84b3389df9146c0b17291370bf993b6ecf0c19188fdfc61f04787e0db231a7b01c6c30eb +AAD = e2a3f2f9b32567f8895d203fa295b381 +CT = a2b1a98ea8fde0310bba3a19d642d5de627ac5d7e7de3cd502b5d4222b183ec648be92122c835d37f9e21e35c1102c59191f30 +Tag = 4a04fac51790c0a1 + +Count = 5 +Key = af50d1092ead5cdf149316a44e9bc9c7 +IV = 09d46c9f3c6b8dad70b8fd98e7328967df6ff48c87d363b2de5dfc484a145e6bb3024916872762befa8b8f648e5b856eff17674fd203a9f0593431064a4abf09b4e4e3128e2ae20a141fea0993baa5a4ef8c240415a899aa5a16b95442b0723c9a784042d30d7948c4b6b422cdb314496e4cc72c1adb458b20de7175a4950fbe +PT = dc66282a55caeede24e0347c630ac487e2bbdf28bf379ba2830aeb0a3d3c6f417751beb4dd84e45316378160b81b22a5e8faad +AAD = 1ecb0cba4e7e450d02314f98929e70df +CT = 8f4b72f10f6af62093f73edd74dea6e88be96c6cfba296f3cbd96246b283e8c76508a785b35a3c808066a5b54c163b5933c75f +Tag = 8d2651c983c4346f + +Count = 6 +Key = 2eeec6a0a5ca9290cf512190aab4cc57 +IV = bb638bfbaaf6cfeec56a6419eb888d18474e07e7f86d1a2e21a50abace59b5a01afb14e276a78de9089bbc39a9c8074e124b21784befb36b14994248d4042705cf5a2774bdcf47a84c58d68ac4994600df270effdb613b03dcd58d96b3eb6d28a03a4bb698a926ca19569014dbe2b4ad049ae204bd15890e95b5178a8217c2d9 +PT = 4a70f45e7ddfd60542300e938b6f67dafda91dc659e7356d327b51962f464f7bb01bfd5a225f36cd8b1d5a8aa4844458ba1536 +AAD = cfdbeb27e63eeee632adcd073694c29b +CT = 3bdee6a5fdd27ac90bffe90f94e5416a18c1d83781036579e779dbcefd93f5104ec5b333f991d54527bb4428bb9cc85f6e5a0b +Tag = df4bed491a517b59 + +Count = 7 +Key = cb2ed527517043b939ba89d7fa9e1020 +IV = 408c7ebf5163d831925b096df084486dbb4f40cd9c295e85def2362c5551d4d5c87e6d5e31cb1e2c8f27beaa2dffaa640452488c2e42b689688d16a53d65e5ac506b7051197ad5814e399463166b12b44820d3f37ef1f406880c27aed1401051170272f560105e14fae510c65fdc1f9688066e0330aae328cf0b4641a294a5e1 +PT = 90ef505ca9eea1c94b64d558b3cd2fd8adbcdd973c2592ae6f074baa0309fe5773ee8b6d25c8daf70cc7ef623d57984d973ede +AAD = 4c869f5ec5c27808fa47c2b600c49ea9 +CT = e7079b35f5858e66f601fa83527eb91df410a7d7ca3972c01efd8a89e7e2ad3a254ecd26367eb2f535613baf9f52a20dfcd055 +Tag = 6796862de00414e9 + +Count = 8 +Key = b322e52c32abee049b67eeb467f2f75e +IV = 9e4e830ed9cf1bdeac1fcefb3a1917e1d56787e7281da6738393081b3248a5222e2f0a978592a3b234cb057d641ce4bf3f3ac9b7f252f0f7da8d93987f7e534dadb70fc1c8f5a40df2088ce5d3178c69383762594bbed49e6981b85780c130a8c67e07abd448a8844a4f3cdf7bb4c5fe61d9cf32a4fde4eb60b974ee19cb487f +PT = da059bdae85d01298f76747e6494daac610cdf6ebb012c31c9559e97596cef3853631a899a70aad4db7888d99e903e61d93ed3 +AAD = 96d1e59adfcd0929b2d122864d5cd0fa +CT = 6208880a48917d087a231f1c072e50c914da1ea25c93e0f5b9ae6bc5410cb200ddf5e1bc48457d02a1fdb606802a087b86b20a +Tag = 765d12dc9bb72e7b + +Count = 9 +Key = e48b403aa44fa88045c3737f89f3a0dd +IV = bca60e7f58128636a8fea9482ed7029a41af43ffa3b5167d6a559f1bc69d1a3727523d5b4fc5c755288988eaa9f45cf17078cd73789d0bf6c448ae932635fe6b2a9c30791087092512e479699e566894aede03bfa06d1543f2b262aff16e378876dec673b05fd1de2cec21ee70eb18dac22a0fef9f9f071618641f25e63dc137 +PT = 2ea19b02392cf7e40c36a279d4cf8736b3375947c0fc39f092b42208d35a44b14ef703dad77d8f5e7c79c5915b4cf74dc14ce5 +AAD = d650611f9f87f01c42c5d9d31d49c21d +CT = 9884f66e855ae20f6e1b89f9e28ff7e93833e88adfef15c74b6ec3053e6c584798df4e00a955b62d506ba82f27f8cc10b24aa3 +Tag = 76562e404cc4224f + +Count = 10 +Key = d4d43d959001ce67d0ac029a602eff24 +IV = 05a8551b57241e18ae2d59e43061cd9ebda4f2d7a5228de6a187d8ebda2b20504e9197a64a4e32270a8ac847b7585aa5f228ae77064e5f9a714e9dc23913445462c33676273252b85980c77cb123f4fecf9ec28209a6fc4d433bc8bcbde9ce8c112c63ffd6d6c4324e99c2f8513b1d4356be0a7d04c86e2f403b0d1b76dac4bf +PT = dad3faa95b4785dbaa38b5e6c8e831eb6cdf5e9f8e12ab05e1bbaa2d544f929126fcfd67386f2fa65128d46e646ee8a07af2eb +AAD = e3ece8213472d7aa6278bcd2ba562724 +CT = 48a65b796072f1ce96ea7dd4a76770d4184a3431518dc601ce80544a6315b9173fce6c38f178deb1c68ab8a14f35a08a6cabf2 +Tag = 0a048c97f5cd3a12 + +Count = 11 +Key = d8a02de213870898abf2cb1ec4d61b29 +IV = 36650a74aec45046196c21949b5caaab0c063c8d8552549b6ed97b58b6d9dcdd83f38b1d82c93278c97e8cdbf6684a62c50731bb02e59b9853d2c65b3338dfa5aa4403ac4bfa2b680c217b6e7f53325061d534cf8b3144d20313ecdc5bee7bba35b1c2998c90b26497d4b84bbd975795c31b896625b9c1a56c3693f8fc522654 +PT = 6ab1ef688569e757a16da5f79d79aef789b7676e31ac601027c7e42ffb53a1e1be81fd574858061ea931813c7c665bd5d580e9 +AAD = 6028c6b341fcf479a8dbb783fa179ce4 +CT = e83f7720b4a79106f1a73356448293ee00b256443c89396b38906b4ede538669b02dd8aa031bb46de52b91872c0b48a35c0034 +Tag = 53ec006397a9b1be + +Count = 12 +Key = f8dbf2263ef9a1e6bad346ad6b732beb +IV = 695ad430526ad398ff7e4da9667cedcac88fbf3bac42b35003190a009391b82b9d91d8c7d349435cc7180fefbbad9fbdd7b5b54538d7e9cfd048c4f545d552411cbbb7ac67dd316d97d3c2cf7e939e3f1427bf60676df38af7ad32125d46fcc454996e5b40efc74dba1809ea8df870e4d04c482aef45e783d3a09ab9cd5345c8 +PT = 50c2384ddaa0c593c0c2f01150018596fc7cdc3ab5c4edfc92d0c216641bb209c4c6aea248809ab2c07fd766842161deb5d5c5 +AAD = 2b89761c35a62687a54936f8e6aaf6fa +CT = ff3d6c92bb3b0c797625e43b0ae106cf81eb33dcff205e68fe71c936e18b5cbe5e505b009de57c7c96d92f959e8268cea54108 +Tag = 07e9ef10ed3d8a35 + +Count = 13 +Key = 473be86d9c8c14815f55f3791b87b7b0 +IV = d5a5011b37bdf0c32522caa62c68c3b48e1abd0cb22c4d9dcb812c8a7ce951114c0a5c9db7493dfbd11c001646f67b7cb1e67fec6d69ef60781a5b33c9fe940bb402a2141b8ef144a83d4f44f14284c17bae1c00c13477a80a01be46d77420d3110dafc89e49802a5b8f0b99aadf0fa73509a181aa4335a9ded3a1553e0b9451 +PT = bb945f8e6d86048d687668c656fdb7cf6c218c149bcf77734228f76b7d9ac584e953b477ecbdeffe3e0e9437a50782adf4b8b3 +AAD = f26dcf0fd76063956466eeb37a74b23f +CT = 8bbc6a2a4118d088d56fce3d1bc427954952049e9cca39be018962b884b4e33b7d80080fd47e295910ade5e63e4a5262c19aba +Tag = f50cee2769cd3c68 + +Count = 14 +Key = 4c5fcb81f575c3c00ed15ca1b7b8f865 +IV = aa9c67689f9c974bf54080cabbab4a6009315cb385bd241991f13539131cebb12af58385be42219884bec15bb39f323f74248b723c2aa09139ae2bbadb25dfc81536f33fd4689b333857f19bfedefd46445e3bb4957089425cdd7902f91c5401a8124eb1ef51f7f9da231fda2cfa60b3c1a293bdd74285ef8ba5429e1b5e8eed +PT = 6493e147d5992a2a1f3a45713df785ccd1de5240b2c683d0873ff1edca8a8f80f88f760f3745e79295aadee67a162b9e6d820a +AAD = 31af0796682e6da789710e48422e8824 +CT = 9ffc61ee894d26c48517bc3f5646b05a766adbcb70e3ecf363148ae64de8efa945c8ae156c73853f6095d14d3af67ce877857b +Tag = 3d920bb887eb48eb + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 128] +[Taglen = 32] + +Count = 0 +Key = d018adf10adb74f268a7fce81aa8e0a4 +IV = d5f0ad2844853098131a63b1b93e45546642462d61faeb77b6549947c9e8c39397d888b6a4abf906ad7fc28dff7f285e32751de4b639a30635d1a1a47abe3d2dd94b563eba2a2807785de2c1b20918a89883b3b96e5b263e2191597bfe540baa33f4eaa90f12bfa318c890297f249a92587fcac5e4bd4caa36fe43bc8b6a3c57 +PT = 96de110637d49093cdbdcfec77baa861a21d2328c0d23fe3fea7c44085914ff1bf03937046662dfe8ca57bd74dec3d975b0b52 +AAD = 1d6eb48eb6c4b248058b941ac1cbaf4f +CT = ced21951844e1435dd97dbd77eaa33d108aa7b4b2f5bc09c723cedd9767ff8e1582b8eba6666da2da3358c45f378f7b21a421b +Tag = dd98cfa3 + +Count = 1 +Key = b27fef9f87972e14f2a19bafdad2ad79 +IV = dec64001bf5eb4f8009140dd4bc452e9ac0b0d3bf838661efb17b40cb16d42f98db12323ba021a8889682ca9c971af77124884649e3aaae688e927ced10758ba30509fbe11789fafdfb835b693f9dff5e70d3991b0267acec9613954c6af6ae489d2af38a6a85d043067df79169519d006951b79107c59e66b57d69639a130c4 +PT = a6054d198540b5d9acb4d4cb26ea221a651cf8d3495b2984d9b996aae1b5e38c8e2707e65b43e17860722c198f6931b73f1083 +AAD = 0d2dcbc2a761869bd9cd959b9db16e41 +CT = 712ac0df8aa9e2a2fa5cff886cfcafca9330a268081e8b318e25dfb4bb548b6c5ad5c03d190ffef0944cbd5574d55037158802 +Tag = 2f221b98 + +Count = 2 +Key = 3c34f47fa27d5fce4837874700e82273 +IV = 12116f2bb2642b0d7804d596cc40499de454ab2cdb84819723ae1148dde37d967ed81641ca5065a8505b4ebcc288b76afd9b9da19e1b210267afc785a31751319a88a576a4a0af9e174399676523f08cf7142ed0729483825f60e9745bab249f38f624b14054b0cedc066cac58e31a003f00a7c8855b5d22fe6ef0b7bf3401cc +PT = f68114da2bac7e69bbe296084b7daef9beeddb6bcf0e0ca6e7f83560963157dbe4792625899f0da558b09d305845f2ea5556dc +AAD = 945449c250b683c046776578074fa4e6 +CT = dbeda79c77299cfdefc9c80af626c2b01432bbd2be9447d9c1c083b1ce8f4d6b7e945309d91b15d92dfc6b95f4c676075c62bf +Tag = 5ce60981 + +Count = 3 +Key = 009536455a0cfcf4a1ae403f94d8b994 +IV = 2daf42950d53db425ee090a3bd7bf902ce7272bbae5759eb33a8f69bbf2679f2cac484dbc7d4d09a49ccb1dd10c18e58bbba970fe68291ea6f85ab951cb7eec04a92f7a133ba89f70200f5ae5e3aab0f1816ff799e84696fbb7bbbf65eb0a8997d4b3d0b9e3471784dbd40d088124dc07e2edf98e480f81d0777b2d99eb7cbb6 +PT = 188327ed57484ef53805c0e17d0083e3ba07370a1bee24d26fbf1d9c5306cfbac080c12a00adc55fd0e80dc40f38fb98ff2c33 +AAD = c4754f739b57c52cbf29b85b3fa41176 +CT = 05db215e89c555f00c1f23e64637f10b9214ba6612c8d83ea43a33fca17c4abdb666337594839c151bd294b039eecb7c6718ea +Tag = 4ce22fb0 + +Count = 4 +Key = d669060c67271b8c29dee73ebf983ab4 +IV = 11ea4bc5229ed30462cc030486834a251782381d9e878e9a2d697aa3007e5b942b83e64c7b2268ab1e90bd28a3314bf8cac3dc0ce8cd3d21deb5eb1fd19e58f18a2e0c7eda9a09a29ec842f964df6839b2f0992ea03ae4981dc3668331c8a85368c0fe6e0ec1dbfaf4a7354f4df4f5cd0ffd269670eea6761edf428585017079 +PT = 8882611f79d084b1dd0701b722c9ce7d1d3b88dce91880ab2331ebb3ecf817c24eda93cde77cd37e44e1ba99234388702e6347 +AAD = a76ed088c37372d90706710f7fe94d12 +CT = 3ce714a182d938e7a7ecaf7dec53269198dc222946552f8c1e5e1c3b51fd80ff257e772db4d1193a9e300bf8862e287ff2e9d0 +Tag = b173c603 + +Count = 5 +Key = ce51b0d82be03a2c26f37326d2cd9cd4 +IV = 16c839cebd00f59fed7f1e6369644f16926f99eb035e3115fea17761bf35a317326b8f0d428c3377b05d5406cd5be596eb3eecf06c113a4191c78b43742d0a190b305df8721bf414df665ef3a1fc155a3d94ec090a23eaea134b6b97a8cf8c4fe54a091745dcc9e878511ad6634ad0d0ac70e0fcd389f993a179ca48dc164b92 +PT = febd8da8d3f434640b7ef55247396d22da1c420dfaa0dbbcb248fabd15ecd40b414f7be8ed04b9d587a04b6194af151e255716 +AAD = f771e520da05a31618721a9dc64975f9 +CT = 833d413582c6f48f6bf8744e59fefc43b051364d9fd18ee525881e6ed81256b5d55cf5fd46b130728c282143a6875a5c7e6218 +Tag = 060269c2 + +Count = 6 +Key = 098291763a4fbff98a15a82f8ec69619 +IV = 29d1047b31b74e1a98c42f59ce42ee02af1a02d019b2cc1d056d19296de4451248d7304b2e6e7d4fa8cd06d357b0bbf7a90b37a19c483700e9f14a85a384db93ccb4b85b7a96c97bcfdfcbf06cf2911ae751d6030f9ca68f7be6d86ad769b28560dcca972971c8f1cf128c4027de3a2fdfd52c93325d38007c012ef1f7463cba +PT = 1a0131810f4b58a2b8bc937085e08a50a65ead3130423b11edfc24d9e97db6d8437002c70a4c39fce1b203ffb0ad699de7f1b8 +AAD = ee2539d14c87e99afdb9d9df49424881 +CT = cb35710fe7737fdabd294f3de39a225c6c393d80eb15421a368d4487e7d85495c2ec2b28a087f5008f5c0c3347f8245f319b05 +Tag = 4c07c215 + +Count = 7 +Key = 117bdbd62e3f9e224de728107bed1917 +IV = f88eae4426c44ef0787759fda4b8328f8ef69fb78f7820493495d9279320877cd82a4d785b2d6e4a3286efa1293b27723e0f69b6300f4aa4a246f7198c1a48f3157efc9e17643eb8a1e09fd962b40eb75ef51fe43e6dd84b38ec224ac28755693e1f19772cfaf291a5669acd7fc55592c8ad473f67b3eb05299eb96b2fc13d62 +PT = 89c8f89fb95896b61a8aa4cafc278cc75e32d0f7463c36d9734b9f6d8925ff848478d48e447f40417cfd489fd3c30358bb9524 +AAD = fc6709e7b7a80406cef72f781925df39 +CT = a5ff9dbd1b1cffd24f36b7a28425a42b6a140b64ad4b15aa02563108982c43b8854c1a9feee163651f1b07dea9eaf80fbc3520 +Tag = beae10f2 + +Count = 8 +Key = 4e9b4aed757b645338787eb059a35bd3 +IV = 43a5d914820691772851de34531fa1ef7415be9091f6868af8d7579ff790b0ce887e7d364c7108817b05ddc1215c4a66111b5059a75c231dd6ddb1422ac81fdd6b480dc664937763a2dad3a14e2816cddeb64d0a8b65f6a5bf547eca5bbd4135c6a908f33680938a11d95d8e7225e4e8deee22d7d0ab1bdf96313e6532f7d87c +PT = 8a8183c40bfadb8559d7211ada9ea31e5d0e4b4ec69f26f84c00cf8d3e58496eaa156f0e4be35c2baf12c449e1967b45c1364f +AAD = 96f9c7c73bc4aeb5b732b420aa07f76d +CT = 4242605abc9502b80f6c0608399e47128e0ef0947ae44afba141b1247b54d2538c28fcea9de4f4dfd38024637b796de31f842e +Tag = d88f4594 + +Count = 9 +Key = 0f719ea71e8b92d85b338b4f49ab0e02 +IV = 3470efadad510fdd6f22bda7dd2ef3e3929b433c87613efa7da4a926892dabead0e812250bad44f6069906e7a3b9c8be02916e0848209e44f86d292a7846e81baf84fb98295f397ec4b4b6a0b70078404266c0bb08ea5e48528c6a849f2041e5a3dc323d79e1157e47b0cede830312dc120d925c2f0068218369308a5904e2e7 +PT = 2190e79ca5687e6b29aee0babbb12447d1a64d0eaff4b0361caaa989d632227f3c2741569eb7c7ef2e92a0d5502d41d61012c8 +AAD = 2c92fbb1c6af52cc76fccb4b894bfb96 +CT = 192eec94ab739e047daa906ec1709d5782d1c62c2e146f85d587ad00b5b5488b92bcb2a572d1fc60ddf55e49f3458f669e2ee7 +Tag = 364bd072 + +Count = 10 +Key = c6be74ee96087f6197f6fa2a9a573d6f +IV = 09862d67ceee125fd7c90fa4edf6ed42d880982456738a25bcf5ddcf1f050b9896fb39362cf529e9c5ab008c274be8d4dd80745cf14b17e09341ff07354d3754db495f6e66f8ee3aa65b9131cc20ba1b0ede17296d9e2f56d6a561761da16e6a1eec2368397aac84344a0bde4983bcf4554a088bbbd83f233bbfc01a9de36c88 +PT = 4505f789f9ef46ec4d9b1ec995f624ae7220e77f27357ab97bcdd36944e978c199f3a569d3486f7d3b68e854cb1c846851fc1e +AAD = 56841f9b6c5ab07c08916dddb14878ec +CT = 2937bdffca5ba18b2ca1ec3955433fbe4f433db111ad07f66b53b8fd27765e230883e82212f26bb8ada9ab69d0cab45c091a33 +Tag = 07ced234 + +Count = 11 +Key = 9820bbc308c34ffbeb84784d88ddd809 +IV = 7de6eb75018f047e8200426d73ccc00ccc1e5c6df730847a5db77a7fb97a9bd69b9702ac5656a0180581d8adef9ec860683d82ed808c0bb29e9ce96d02e19646eb4b8804393e7948ac46fd04d41cbb30d8815baba1f311d23322fe60936833d6874054a5b5d7b07379574f551ba3867fa9985c3413b484bcea5e33031cf4dbed +PT = 37764cd9a63fc01ddf22ff497f0d6eb74965d1ea4db4736221a83c747da4121c2a5aeb1e1c5d8e35d0c4489c7c7ea92155cc7f +AAD = eba59cc14decf312939294f705c9f839 +CT = 5113424593a98cf5d2bc0c07b4e27ff6e0f099bf8778deaf32ff609d06618ac3f5ab68d4db2f0b850bc7d239c938f2b2896980 +Tag = 9fe82778 + +Count = 12 +Key = 2e5ab5c776bfbdbe090ad2c89e11e3cc +IV = 7f1b98a48f89c654a0da3afbc775d77b48031fb1006118ee1f5216e696109549e1f587903a33d13c97b1e97aa07c1a3fcbd1a7f6d61582b544de86086ade22a9883a76134738a1f948fbbd951e6bcd97239b1da1bd7d5714824976f884a6e133a7beaaa22e6d1a78462ede8f5f0fe6f31de3dd8d74e225cc440a57f2634d7479 +PT = 8faba3ed3adfbd726a1209dfdd0a7fe5d1b18ad64bddd718f1a31a76e7b17f9c84e1677aa7a164307b315f18c2f02be19a413f +AAD = dbdd4c462aff19a4f954c06e1e2778a7 +CT = 547b4a2f05877a20568bcae2acff50b10108dfecd28c6257d630bbdd2d59c1c278879a4dc977d211d8de7ea358518a9c81b7ec +Tag = 0788b521 + +Count = 13 +Key = 32ddd8a224e26558d27f571db699f706 +IV = 8c0109365544698a067cb28fc3db840971d5f4fc1958361c6faa5fa29b4096b0998007147d0503752081e265baf85e6c93571448d1282ad188936f0232960135358666e3cf22aa9d82a597f9aaff5b4696fe827fc28cf0c296809cd066ad2a3b7a58fcb5c3c0bc53ece974bcad2a8aeb6419bc9a0d05919843591ce6816f940b +PT = 33a873b156211f5c82860e6e5e76a129a861c77836d43158889488200874d878d92b35910ef46908dc9b6072113c5dfd9935cc +AAD = 6cd14553b0238b585b2ca76848dfd957 +CT = c149e054ee6e7b761f9c727c26240e7c90c8a3963e25139c0cb10e9f7aadf4f31accb2fcbf64bacacfed7c79ef5a06c7ab0f6a +Tag = 07708799 + +Count = 14 +Key = 854dffd90e488012e0054e1c705b374f +IV = 38d844f4356e4cb89206935bed9a0f7bcc2f066352bf5741fb1a2827fb57c0e3bf9d0cda6f9fe656de7b0f1e06f9570058311ad1adadc32bcee72a0b7234c261051c972a4c904c25745856c69371e1989df45a3555b3d14400b6918afdcd5db832ecbca1645325bc9bb544222a06b96f48597c631148897373da6e6ca51e4bf7 +PT = 04a3b172136f6f9516eacc41a0dbfea66fed718d86b68ec7182033adfc0bb6b70b7e9fa862977f3c2fb0905f3b835506b33919 +AAD = 74b127aa35344c39869d1463a22e1818 +CT = 8e3cce3142343d51a8c1a1444c75087f6d0bb6360a8c8f81688ea271d81ba7b8bee97f8582fef4b4d2c7720c571d526827d697 +Tag = c0d9c1be + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 128] + +Count = 0 +Key = c115a649eb2a502fce0a7f551d0200b7 +IV = 8962e4fec5f0321384ba4e23cca35a045ba2e69c11640fbd0ad699a1fca522bdb8b81495d2a1f57fbf9c520cd3ec9aebf3e43b02d9784a532a97faa6d0ed17a1b9096ee047f0eae50414966b8cd6071236d7059a34c8dd1d9ba8ac73d5d93040ef6ae64fa9f5786d4ba7189b1ba89d74aeaf5e65600f06c5d9fcf7c6e3d76ec9 +PT = 0962e13f76e281942aec8c9d7bf59ccaf702dea49de484280e4cc07bf44355624d262e5b42eeff46a06eb798c0dcd748aaeb66 +AAD = 2ab286756824c7c2d53f98ef7075fae4181bf741 +CT = 8fe59aa7c112e4b5000fd82f194f0f9b15218f072630df5870d1c8ca81d7d66ccf95ddd3ab3c603af2fc2bb9edca00c7bdab94 +Tag = 9eab1e037e703a777b76306d8aa660d3 + +Count = 1 +Key = 1bb1b9eba461433a4f2d74ac7d63209c +IV = 9be9f6fa0c5daaccb26de49156fdc5e1cdb4a03c8edba66829f0e597174a57abb81554d8905c3f32e4d12d72e34dfe029380303ced9b107e3f39106f2c1e4eb010ff5015f1166896ebb530950afed34b48be39b4404b0793d4462c3c373812e212437152a1966faf5b5e75d7dbb8a328e5350709055141003d5f723a02344520 +PT = 7d4061a240655071ce3af2eb90062e3ef10996b26c1bb1e007ec07409f54722eb45b0ea9cdf4770016eae55b3c4f9466255a82 +AAD = e34766f7e41ca7ec790739e6058a94c3f5144ebd +CT = 0d27c1158a2ca08897cad3063a54c54ea91b091a5983cb86cf6768848efb9c11e9fb3b002ef8500fa0bad1403ee1dd1e61357f +Tag = d7537fd9df928ce64b8a825ce499eedf + +Count = 2 +Key = b1f07f5120c153eff2f179ebcea79736 +IV = 21fde08f16d407e6b3a0e267b1e46846ac584ad3ab4eddb9b0dc40d41677ba39f141976cbc271e901fb26188d3b7d2b95fc8a1db6facac52e5e7514799f34a067dac4e4813b08b3b47672694494c99e62179ee7e943e0431c8f478e82687b6aa34e7075c26e70acda7960fff319d65bc9bb5e729990cb4cc7ba078f30f6769a8 +PT = 2446466edf2dfebcbbf66946e9a66bf55e90ff50bb172ccc1f2dc49899a77b11f08fc07e9c8abaed3ebf0253c492e98fcbd229 +AAD = dde5ba2adb28e880229ec1f822492dd44b4801a9 +CT = 0c7e55971012842a469a88b137a7ea6d68ab993a19d54668cc5ebc72ffb527dbc2dbb02f4ca14e4f8daff08f4c5c02af9ed3ae +Tag = ca65cb2282f89ed06f52f219bc04b38c + +Count = 3 +Key = 8c5cc57fd55ab3097baf3351b333590b +IV = bb09f0ac7291825f51bf7e1518f7db551bc0ca0adb7f9396cb47e146a4cbd2a659301113eb15be719ceaf8accc5408ee379fef309651d5c0b949d3bba0ce42929dcfc7e7a938281892bed3770070f03884e2c2c678b363a27303de328a544abd5eae30670820985feb9de64aecaec2c070885e79ee59449e11a7137b68346350 +PT = 4839e248e352b71ff012ad6698787b6a5aee9d26a2a867e3ee16db47fe2baccdc86e32dae428bdd192687fc10fc7a1859a6761 +AAD = 1df727b4f00a905512ee334e85601bc10b8a6d1f +CT = 63c067c3d684fce1927768a412af0e87874777e0ca71e4c71380d653ba94f802d27de69d882d7f539e90a884321152abbfd054 +Tag = e949ec14e08d57e64901d401b68537dc + +Count = 4 +Key = 23951c5c8d7c9939298b4135d2a53308 +IV = 6b8666e9c6486c636f8c95c3cc68b594f36aae5398a1bdfb495d2ddff1fd142395ddf2851132db270cafe5fe9a95041e250a701d3c869f6ca54e3e56792b7acd925371669753391c5ebf7e6a7f73b2e12a48d013f69d8f9fa578daee90c234a2cdcf46240e8d4dc453fd7b1d7168489825f172e1cca424e4f36c5aa50c9332a8 +PT = 7bf0a2967377fe4b6c4861e2eebdff17875a3d300bac851420a2b654e8c9789db980f4f462afcddf7ba49652f833c491035b3b +AAD = f6df1126d3399dd364a3e9fa9c2a1a2d7f82cd66 +CT = 446b2218e525a73df55abb0557c8e30e87a6221c1564ad10548392943db67417ff51a2e70f242d3bc7ae1e9b0c958676c6ca2c +Tag = 89d11b4c4bdea96d94aba5a0ccbfedb0 + +Count = 5 +Key = 815820981e091d4f6c7353e25e4b4a24 +IV = 506782f582301d9650790011099e6d655d8bf2ceb99befdd14c3a118febcbb25293b5a3e9de83cdb0910198975aa247c407b3582eeaf48fdc2186aad8b8ca9fbea2d9593e023e4afce476db5ffff1a5c84742d17cbebfd1c3eb868c39a77cd6b1af6f2b52bef8c772d95cc9454baed57b3b229b63c525e0f5f1cfebb89b3c5c7 +PT = d100203b16d41d72f416bbe113f215a9d107d2eef9e9d8ab42599899c2a00a97aec1bb3acd9147f7f6c30a5d16bd9fdf81c1b5 +AAD = 2758a29bd9ffd639386e2bf0c1f7a89787248cc5 +CT = c9c5a639396d703c4d99f2bf20bd8145fb7d0c8e2799e45e8c349501d897a4267bc8e7b842ce6e7ef2b4e895d30dbf3f591aee +Tag = 16f788784c34e7635418541d1f5fd260 + +Count = 6 +Key = 6ddacfbe58bc66091b6498e7696134bc +IV = a4dae0d14ba6ec670947f34e329374467dc0686ae84b969dde4a00301e7090e4915af2b71c9bfad05b7264b637592414f37407dd5b715deb53f115bd12ade348d21abfde35e955d1acad72b608ebdc8d291e99ad8fd498afbe5d4ecb9f1e10e4ca4058daed9166514b5fdf176c0788504762168f13c99bceabdfbeaf03e4f0f4 +PT = a4e21642d3cb76d5d5aea209b13cea5b2436b678457ed69dc52234297f844ef4cc7edf367a186dad74ceb218fe66ec3a1a6fd2 +AAD = f369065f15e6b5c8163223ec12f4ba76b719228d +CT = 6cdbfcbb48461025e3eaee1a06e4c15832c34d05d44dfbf1b31a46bb6a2f65d84b0d60f03fadffdcc4349f91e640cc28587915 +Tag = abe5cb79b2dd09c6ced4e25c2292b202 + +Count = 7 +Key = 20d47a260104ce3abe76fbaeb498362d +IV = 21cf043b1ca344b504a430f8a6fb87e4549e5d6a649e8d8906961e19dc11ad49b495627b93bc493dc5ec00ae2ec229836eec83326c8ae029beb4eb5c151447c5cead583bddd1e62cca1c86951cb9fc52d06dacbcbfd3dacc0a78058bf2c40e08285bdeaf06cc89d6b73672d218afff697dbd3db2231f3dcf1aef38b8fa947c15 +PT = 8461081c2a7f4b425a217bb5c9089e4a0e8af809e69e390083a64d918cd8a88e0cb59553eb5ef01673450575655d5f3cc0dbc7 +AAD = 155931bb72928729377b76a994eb7be26f2e9c71 +CT = 2ba0a5f44e78c47519b2a0418534b222503d5e1226a2561769532f82c27dea92078b9cd38098a61284ddd36d1e88183462910b +Tag = d283f26c15a3d2d201989495e95d0f4a + +Count = 8 +Key = 1a65736d0357f7dc89f6ec338bff56a8 +IV = 88313b702bbd43007b343a96f2cfe9f05f9b82854ac70a4378ac167d3de9135e8f04cf5976d04b7fd7802da4b96fc7463f082ab3bd5fb23e70b65afa2607fbd68376011195771bf47bfc0ba1ff2693c117be55d02ca480925055f241ce9aca218f379f22e96172b0c125136c1569df61ac38da2f20c9bc73208b57372f33a4f6 +PT = 14c8c171b73313e6035377b5782de7f05aa03f9561d0f893df10495dd45a078fd79e1635cac2f498ef362c01c4276fd899fca4 +AAD = fda877ad0bfe7ba47c0009f37f93933c700c8f8a +CT = 7283cadd8b8a712b7fa3edbb5d81225f03b0a10bf5ed9f488756b053b57870f23c2a2c17acfddf047e51f3e4f7000bee396e6a +Tag = f061738f0a64e414241958032db6cf02 + +Count = 9 +Key = c907189f227f0c520d302c87ad640251 +IV = a0e6f3d94483c1e1c931d87e89bc035bcc717183270dd8c05186dd69f72ccf9c93f3bf2d21ba95fbdc851852d13fbd586411fd7a07dce4a467d0fcb23ba60f81efea4225d76002a81f3dae5fb6e164502da4137c296047dd27e3a34f7b64a8ec7b9fecaf56c8514a16753f4170ef222999e811c2e344d4cc5dd315c57b8d955a +PT = 0e893ab81d44e060e4f31daf5a073b61f05f4bcaf3446cff39fffe5397ceb638e4f38f451ca7c9f0480bc54777e4f081e07b3f +AAD = eb70e2a170f5f6060d13ff659ec99671a55d18f7 +CT = 44035b4cfc672f13463683b19bdf00a8965101ce1d0bacd74ce64072476142d0173cbb8dc4e77bf4e19fd31115c8f7d9cb404a +Tag = bb80fa7ccc3b35bdd6d8d00b68b7515f + +Count = 10 +Key = caf492887729e5b88d87c207bffc82b1 +IV = c2ad4b6629d0294f1067500839366a1664344590f00e0eb1b6158b93f9f4d694cfca7c0e24d331924737fe7aab4bb69b72c6eeba3b3a2ba2d5448e2ff774495a058c50851fba51c713f82754d13b23ec7b956218e2441ffb6f419d0297ae1b93367598fe0e470cd51308e967dd222a8dbc9f96ef5235b9fa1c3750015415381e +PT = 460cdc1560eb9fa5a5e5adec561f90afb6ec25527a194c3f62bb8a0d0c8d0af5df6e509240e673065583a02d06809dbb8d5111 +AAD = b3e7cd3a9c929539ba1839bc4c10975a338764db +CT = 90ba807fbb0d32453e766f35d3591f4928709f8c9f9d644b4b9f93fb885905cae6e54f52671baee9796d20e3493c7d3dd4a896 +Tag = 1016be04a039829ac3ab552b07f00068 + +Count = 11 +Key = 7f09b5a024aaddb6b341abd71d63a00f +IV = 70f309ab17f9ee4962c9acd551f3dd559905ed120e081100cfc0113c375a2e3eee12c210210f086679ea9a11630bcef2f427cd7c0cff0e603610f57d45b63610287910d380f9ea25de01bec52d21ba4f7991f29ac46b1004e68f6ee2da008e6eed0f0ee25455845112e5798a5e9ddb9631b6208f4b0b58501806a444ffee94ce +PT = 9811918fb14813d12e66517f4e2231c6abdb693ecd16103ed653cbe9228aed5408143566be2f59715c5ff61e21942635561c17 +AAD = f8bbfc5d4e61dc0576dea471effe90318cdc6a7f +CT = abb1136789cb2887793dbd81376ec72529811e7626b02dd1f1132189cd6ffd674905218ad4b5ff5d7688c0fd31a4f8704975e1 +Tag = 804710f130a2d056dfad65c4a34ed527 + +Count = 12 +Key = bfad153c9e9caff0402d09d666aa5ab3 +IV = 1bdb71cb4afa6e8c4922c1c6e975e6ab3df27d8e2b0c1f5171e03ff4338a2b2f73c169e05726db1ebd221594ae45e48368e83055033c9aa7d5c703f494ce6717ed5807bb758529dc73edc11de83b03b8d3641e594cd4318d164ec8051aaae1fe51d283307d24ad2656818792a146edd5880732eb5a9e7c7ccde3fd038697748c +PT = 6fb01486e4a6bd96018b7506de8cde6507e6da23983b8b640d418a7c134c9fb204f2accf605c4be3efb67c2e2a3243f93f6c8a +AAD = a64ec686498ad4bbaab5be1cc1fd54a001faf610 +CT = d5ca5dd7cb9e2095984e486839d0441a90c8b6ac4f6e8ea54ea2aba6a45bb9a50085b1096c1a16465df6ced2e8754e1c410e0e +Tag = 0cfd3e3ed40816fa4938e874f2222b2c + +Count = 13 +Key = eb59faed15da028b0d61078c8490ff6b +IV = 0bcbcd4ab9c8b26233e836ac545c947bfb8251941ab3828e9714bc7b1715a6827cc3b3494e4cfef9db799feba959195659dde3baecb3e907c664cbf402e572dd237279247a51b2b6866d8d0d72e30f0fddaee6b3e56add84bcdbe3a2f4fa9fe77656d41557cd6fd3e25b37f717d5a1b2596cdb586f2c3d4e5502104faef777ed +PT = 0bdb9a555938b3553f6befd3d983ba55d9dce963b07f6c9f1387e1f88c7fc86876448d5b4ed791e92a6c34ea65cdb39c5d2ccd +AAD = ba4b99e7b5b7fab864013d5ce7485608b65ab5e2 +CT = e6b1e72805d041278ee391db9d9bc5c6ab72f2e14039b908e716cc484fc8e962b1800d8da55992db600060e231ee25e33c060c +Tag = c40f8ef6756ac90aedc9706312602a27 + +Count = 14 +Key = 0be9c0513cc0be24b12f2aaf633df452 +IV = 05f9a532f28f1456e04b5f6e69d1c3ed482f39952cc54717bde0b2731458577ae61c5f28a18ce09739889de830d5316b1c29dfe0a7acca883799be1e70b56fbdecad55229c188ff630ef2359fcc7de9d163ed7df0da65821d27c3274d98c10ef3e0a2316e2ec1a1468eb5dc63afcaad85efeb006444424f5aba4154e7cb37763 +PT = f94f8c70c5d1fbb6a9a34b8bf9766184c4181ab2acc30a79ba611e4401bf1f82d1a1f0c1bc044d41b59a953361c63e1376fe99 +AAD = 46543d54522ff0c9402bf1f4db591c3e1911074b +CT = 3027c733c4f8414ef7955d59be843ef6f3b8a96ab72d3c97c432a5a19cbd2f833a450e0940a75c7ea49f016d5ca7192b4ce40e +Tag = 8430d2794852cd43b5cbe039c1b14486 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 120] + +Count = 0 +Key = 28a2f4cd60bff948bf1fbdd9daac27f1 +IV = 65e32ea6fbab72e615ce132bb18c65e86577b9f5a5a336dfe977869697ffea6753ed5c1427583552c9f57a498c02a18823c1edfcaf79201bf7e0ce4e229a0250bc85347c128f6ea3b8ebf8d220e409bf886040bfb1c25e41ec622badff7af0e9593d2d962d1b697b517a0ab81ac2a75038bba7a17ef5817b4e66c27852a8860a +PT = 6910481b6019357bd587a6280bc0a68f76fe508f8a4d6641fa797545e4a918c2ce91d76c668c42867f13de8857f4c229a4da30 +AAD = 7512799662cf98bf2a0ca8f491b8909de69576ca +CT = 7c6af169b07e2b8a7248b21f2a91ab46bbb3d7ae9f6b62e00fb37751ee58a4d40c0b7c4b666905d869118795da811a49e35997 +Tag = a90857226abf4efe01027da109b355 + +Count = 1 +Key = 8a5f7a00e1e7bff30c83f56fde405169 +IV = 9383be33b5e85b976a5196f005c4a250a724e06f1895fa87783e6c83cd44b0c03c9b6566eda5848a4a019f838673b0fda18ae0536c5cd160bffc53ed84bd81f4741282bbed0e1b6a8133f84beae052c7639622431636075a896ee07d8016d6ab7d6bbdf8eb46b2f0c4edcb40dd23fa53068c29e1fa62c89de683409c6fe2678b +PT = 882220c468fcc92d3f6c80187bb907c73b287b195a9c708c0c9fc8e2719e42993615e51c4ee139c51ce2997f5edc1577b2fdb8 +AAD = a3ef7b562d26f3f4f6ed1a56a7204a5f0ade3cab +CT = 56c699176d3c684e5d861438445e3404dce706c3c67b09cfad11a7a2eeb16bc16ab88c4cb093baa0b0be48919127a97bbd14bc +Tag = bb76e979a630307da2937e310e8b44 + +Count = 2 +Key = 6ce2a31daf5a0adbaa28ae4663aaa4fb +IV = f42233cf4fe57e954c37358c21fbb46710c45eef07ebaddb1daf868b432358a9e80314afa2890cb2c1f2a5648b2638fb3ff63b311824dec613c88e44f6ff84d1274b9fd9ccf353484fe599c0e4548d011a0342fc17a4b7c31c0fe646777ebf047380263caf55313694c2b22216880b199ee8e669f901b5fb8279c29d950d9c69 +PT = 9ff706bd7a392e5a45d8d816602ca4c4059074533ed5f7cfa695a7160b068e23b8b8329fd5050765ad099df1dacd133b342897 +AAD = c48c6870981b3cfae298a58436af347e113cbbcf +CT = 731ef59d371f56cf5b6a380b3808f64065487c9ddbebc8effc606aa98682fd1fb2bd452e45520b7eb1a1d5b12b2f9c3f0a21b6 +Tag = b9afbcec85d60ffd3a457e849782aa + +Count = 3 +Key = d985ead791bf62ac3fde431bfed92573 +IV = ea98d359f65b84e695f416643d991ae27ea0d413b38f4270d64a6148d71f5af87ef00a23feeaaa634e5a0daf86e6499ddcbaaf980f6a87ea2cb1df3de223f961657dd0ab862baea99001eebfeb5a1bb16b22dce061d99874823d98ea67d796a47adaaf7428fe5016ed7d8a2abdd938ff4e6776ac91485a9cadfbafbaeaaf5206 +PT = 78bf1b8e270b244d86c7ac8aed04f0436b02528bcf184d64c94c14ec3f7a34b4965bc6acfd056b0462f83b41cf8bb78d77e5cb +AAD = 16ca9fb47217bc1d0e81aae81bc344224f1277d2 +CT = 48337ca1903663ee0118572bc69b011ef767c7fb92dbda4f62abfab1a5b42926ec31b7f92b7e15926c78e55c9b0e91e6d495b0 +Tag = 0e46d6fe91ccd349a91d51d3aa97ab + +Count = 4 +Key = 3389593a5911f04b9f8191ce3abbd4a1 +IV = 655cab94a3e02dea68a74fad0defafa357c01ac29b2ef1d7117d10aa44bdb96b9bda46608171ff59f5521062db5f2bd7da557664ced79b1b179d3b792be51cce1c8c5764fcf0eb884c69be83b96bfa1168b1a7a2fceef2ccf648a3f412cf95e74ff26c87334717daff8c48e847ecfb603e6bfd3450bc925885d6d2d570f709a4 +PT = 42eb3b2c8c853eac7d677a0dfe7ddcd570044a852a1be2c13fbbc50feefd6f8d0f9e7838ab7d06f1f6fb7872d3453bedaa39a1 +AAD = 769c5383e9d1d5bcb198b01ee1056f940db3a7db +CT = f519490d18fd3bccbf7a470e8f5cc4755d8001c80b3b78c50fd49beee4b932372590473f4bdb017fc3fe7e467a3cd943b23f80 +Tag = 6eb7bb3004310f43083f83f7ab259a + +Count = 5 +Key = 5c73dcdddbfabcb4c11fd2e81b4a068c +IV = f0f056b827a7ba7a73acbdb1471400e4cd1b4ee057e8009ea296adc1cfa2bef3bf82126b96eac0b7765bbae2e2e31226d6bbd26c1aba15d7af9660196384412abd2de000b9e8d1874139e895b834d44a871eafbf68e7a02978ff4a159f53a62af96c5d39d61873f339c3ce721b38197dbd9d453b2c6eaadf7dee55e3940e1f20 +PT = 4e805aa24c65007e47c03bbd4b3f31c3daec7e53e39539a59b4a838bfbe86278a51bbf0560b84c0f1e7cd1f4c553c2ad91ef39 +AAD = 05e4bdf1bfb29a55f69f651a61b65d4f852aadd0 +CT = 40c4c02b5daff9e4b67241a9f5955b18142e39a33b9cf763f8d09031ca56be9660a629031c5b6b5cb1cf712fae6b1e132ceed0 +Tag = 3807e87d684278bd8da3f0394fb3da + +Count = 6 +Key = 7b8313a654d8a8238fb316abd32516a8 +IV = 81599d45aec92fac0f89784cb91a8c0a220c146faf4cee80e6290b5d2c3c608b2f1bf6464fb9c1c5528368240966e79109b3770fb2ffb9dd8bbefb4cc4e8b33cd728a24fab4394ea8bb0c18fba017b7068b60ed95db85c8fec4d88f92e60a03eda79d7d5b04c580a66295701f2380d0d6ebe365dbd85caf2943117ef0d298d8b +PT = e857973b967af6face71f951e32e6e3b49d50ef8548d037bb6216497f2a685b94996d0714125063fd9dd81efb81d8603a3cbff +AAD = deb4f62a3548d20d15534ce81f37753702f65448 +CT = d7348c2fd51dc1141ae90e1e01af9da678d8a59e20e07b02e6e9eb5d6f581807013d74da55813c45c24200da5b35a58186af2d +Tag = 1fc08233787524eeec1ca93366ff9e + +Count = 7 +Key = 91fa753c031494db4c9e7c32f25aff06 +IV = 8d43d6d66018090fcfa8b05171190929767cb165a3e3ad57ffee92dd2a9660b112dd3cb7b137dd161571fa0f9385b16756c816ca1305066d22514c3fff68ddb3f33d40ad88d4687f03359e07d9a2368818a5bb472ff126948e8965651b22962f55549614f17016580e6adf5c953dad31235c66dd2f282c1b9fc877c63dd24eec +PT = 806146b923b639661ce3b026e5c2dbebf3c928af691b14c3f093cdb863f8536089c75e622a847b0d292c985c56f9b6ec10ab30 +AAD = 3ec8c213d3c4135903584fd3b144debf6a9fc33f +CT = fb2295f55b9741cfcf5f14e8b6602a27a9338a4574b86794d3760cb24d00011471c6d1fa59cd1d6b506988b54d3f683e67eec8 +Tag = e538582f85035d6b18604df1c0dbec + +Count = 8 +Key = e65a369e586e2390e4357cb37a21d8ef +IV = e009b50c506425b04ac4d9bc1b0bcbbac2dd41beba2a27714890259758f424d858deba2bf54ee8feac470131c26fd4ae22de54a802514c4fb4309ed37dbc715026074cf715ead42962784f0db96c07d6db288c7dea97977132dca3483707c53d91250b68a3991b211bfdd38f5a1caccaa5e03ffb2f01b5af0d17a82c580dea76 +PT = 4df325ff54ec3183e2c3bcfca6809cc27bb24fb98c577bf634a5cd9820df942571c1aa67031adc3799ea8e109c64fcfb741667 +AAD = 3193f9d4e3451fbda7de85fd75d0876dd0e6ea9f +CT = c18735859735c9cf2080709041b339bcd4594041f6f46af6c36538da95c03fb915a6676dca593dc90b2a4a19437f92bc458d3c +Tag = c73cf0e9d84aa465f153144ea36986 + +Count = 9 +Key = f782170801a769016e32bbaab88f556b +IV = fcb658fd03bb79139aa95e7f1944104244fda5ce4963740e1658fb5bacfcecec106dfbecbabe81e1a512cc8de2e998c27eaf1071bef1e53fff5f0101a09a51df0525b8cf16abc35610110b21edd1b8d60ba231c805db8bec0edd584aa2d06cc43d17a8b20d82b9c24dc038e1829e30e0b49e9a056d150aa0107785735c26d2ba +PT = b126c3878afa910dc630f31365b498b153f304bdbb16c3bc4c004b2a887e760c116c920bb10c3895a511da0c0bee4762b1a658 +AAD = 8e6752d1246be4f980104259c0c6e7920a0f1b90 +CT = 408873911fe8cd6266859d743a4480914c0e4d625c2847b411248eb031fd9767f339394eb65ec44728547a14b0ae522d9891db +Tag = cd8a99cc1440f85682e9db976a948b + +Count = 10 +Key = b885a39d37716b82b8d3e9383c7b9b06 +IV = dcb8ced3506f7fc139fabf22d5f617910027018e6158efba33d69c6043f56810b66d8fa05ec69421d65df7267535a17a4c0a480212a43b43907e7bfa82a06cbf5e50eed77fd32f81bc0b6f36164723750f875da88e28c743ef626b43897576f19696e20fd271f77f2bcb08a6ce0f9428230642b83a5ba127914bfaad067ae038 +PT = f29fc2b114338d9f3f0a022be8bb2b432f75634f8648ca27a7c23d4d57cfef0976af026a405f8e4f522b9e2c593790a0b34ad7 +AAD = 24d3026d36f74d09b554cd7f3a958a9405940baa +CT = ab60b87d68ee28e6aa5073ac01112ea305aac2e8bb2222437b86d886fa172c6a886431e3a3bf6964142fc87030bdb7fd00c5b8 +Tag = d8e3084f36a707a7c4e9cd90e81e4c + +Count = 11 +Key = 3e4e95914fffe808fddf529de3fa8925 +IV = 6486479fc88e1635aa1caac13327b170549505336930c96cbc52c56eb3b396a54994062d90be29a4348de841aa5970b7e7f8fd3f35edc8a11d45f068500e3c57d2ee45b44ebf490d1593eb66092a8da38dc007e36a80bed039fe8a6768b0aef180f29c85b737de6b1fcc27411834b76d2455cf74b4911c9bd63f04de98ae37a7 +PT = 0b2b015fa31bc74a16d66b32e824bb1a620dfd9d21234b74f3cf835c45898ffe3525634dd49fb84afae697e1ead6ed2d97597a +AAD = 92fe39ef951e15933f592bac70126b26fa505170 +CT = e82aa52e563537e9d1ea69b24ef4c248adc81ea4d1d508af9a0c0e90460391b990f791d76a6fabee69a3535bbc46ee9ae76c80 +Tag = 208d9dab41ffeb2d750cc6706d3ce7 + +Count = 12 +Key = 8952f5d28d0fb9a5f7b7f4c0f6db8470 +IV = b307b3a14501eedd0be1201304469a16faf017d23be2512fd20fa7c73a58d7edfed38f7d134cca83a8b363c710f6c4af651ff2f27920553ec5f024ae7ad359339992e7b586eb0ea674ce0257e2607f6775cc06e44a9640eda7fe9c78a765ada82b5bf1215399a1c87a89de36d85a3957ab18457f6f6302c465271dc6d4beed97 +PT = d7fc5ab7aaf1cd256a3aff9aeea49779c7be9ae5e0f8b4e27a957def835936fb11a321746ff2c5c87df5072432aaa963dcae34 +AAD = 8322fe96f79d6c8a0e38da807ae8c6ce0dff17a9 +CT = 64907c2e4d15fc093fd9c218d84856f11640f67f55a10e2275fac322809520da0a144baa423680379cbb999d50185fe12265ae +Tag = 045f5900af8fcd5346f3bd8a60d2e9 + +Count = 13 +Key = 9952d2b37b6230aae13a0e8d29a2a956 +IV = c4a96690a0dd2287b895eb6b0735ea7495e651f873f1286ffd8476101fe92f588ed3af725410f82c82c9a735e28b2da5ace53a4a449cf37a4091f5ae44bc0494979ca37f506a95b58163b45ed3494cdcd1bb461cecc9b309853f62a1c60a72fdfd900f0b68b091b1f9c530a259eb1e9777adadbd939e7c3c86e7f1f29a2a19f6 +PT = 74c1bee746ef9d781833eb0b9db02b77175e2273e496d9a8d7e587c27af33904e52e70348f8eec85493f3021c36790b250e6fd +AAD = ba50b6ba882827721447daea79a6923c7dbfc175 +CT = 7fa3e0cc3c40990daa34e6a6212a82747b0b0b663377ff69da19c763beae328da3c3fd42feefdc2cc91bca0530f8f569f4ee9e +Tag = 83a5ff593daad149a96b3c4b181178 + +Count = 14 +Key = 759b5716012c688c250765b52b54e29e +IV = 628b15f7c4f29595bee8ed990987e0ca7297e27449ce65f368c3e476c52cd4e363e93c349ec09535fa9772a7162f79e69a3cf2db19e5a5a9cc01ea4ec85e5e0bcf486e3f79a5bf0ba63a2f6be94e9e592463bc479c1c024881cb30325483e1e12a9188ac6344e0ed6515cff8cbc7c75d1b2611e24d406fabdadf35e57b2edbc2 +PT = bcb0864eab4d992dec06c575d9e7ee6a95590de465eb6a4a6afb53c3e91e1111962ab0013a1418a975dc1e2198685af82012a2 +AAD = 16f4e3b844a0e7b66fdd0a21f469a5356ffa145e +CT = e222296c1354e04ad56c53289d5983580c3ce79676df9aa1ca637ccd518e1463cc39a38c7364a371b97b44677bcdf163054276 +Tag = b67673e249ae5aa8469ed9c6465e75 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 112] + +Count = 0 +Key = a1fdd12a660257e4c517ae006d412758 +IV = ebdb86d453aa257da51b935022a424d095e1e0cc2fd223f0fbd3b14bd65b978b28a22008d6a867b208dddacb6e1ca4a0303f3bae64bb34db4da66589e6cc2b6dc14315599e86e1bc62a48a91113543b29646a9ae2d9f4263a5c6c07fa837196738b5f9c1d7813fa7fbe41b4be203401565aff78b5d74f90308d6c1f9718e43f3 +PT = 507f27d23d6ad6273ecf9124738ebd61415acb635e327bb3767edcc59fe0057f82b68546f5c5e2269cbad2516e5cd66a11235a +AAD = dd4e9ba0e1f64cfb1dd7ec4610276af659c330e0 +CT = 27d1fc3aae4901af686d11c6741c9576c2621cb92db5ab6908d38aac55e919515cba943f9e5b6a31b081c7c5b856b18019f40d +Tag = de5f551a1b93adafa16a6ba2de38 + +Count = 1 +Key = 25e475166d0dc44fccdfaa11c304df06 +IV = 3780fe74daf0d1a37e41ffe7461db63945f224bd3382ea9ed8fdae67d450a5ccb708e0dfc5d9f4ffe2eeedd4ba7eadd1825aca7eea6f2b7c292864a1cf8ea7dfc5e3a47458b37c4563ef3a406879c69bc99d88f8c5ddc70488364fa23b8d27b0a02679e5c53438e572952a3a088ce29248aea0cc9e7143dd7042b85d4f1cd6f4 +PT = 95a8d6626d6152d53414f3c1e1e93af75ed52afd105138a3a4f3e7bc994c01f2de71d7ca9096064278fd2d0f7c023ac61fd377 +AAD = 0b9d5dba6a39003f9fa3170b6a1d56e23adb47c7 +CT = 2085e184091ab0db210a69afae2efc98d34d2efd78ca7992ca0e61ad83e9d6cef269692ddd3c2cc8675cedcadaee442c146fbe +Tag = 210b055491106f0519eddb009e16 + +Count = 2 +Key = 15c4f929fb3359805145c201892a9560 +IV = 7c4a09c1dae4a37097bfcde94e345309f8009bfdfd2beae482d8edabe8009267a254b864eafa8aed7f2c64d758940e270c2b2bc8cb7c045f038ad03efc40c1b7206a02d0424475305abdd302d5ef312418a366ede5de6d966bd041897814cfb92475dfba3ec1997e9b1dc73661ff0d6ff89a357a7fc92a825fe404dde496d773 +PT = e7d52143b24e5664134ad23902a3b9ca4db0fed161e4babfbf829ac9fa1c4f927c0110f632672d6eee7603f267851123b91ddf +AAD = 04deb38e691933f3e0d023ed7eed574b1ec27dfc +CT = e90a04d222ee8f857a2fecdf2b86b1d616bf49b68298bd3c9d448b9f3fde1250d48837fdded6fed51124ff524276387bef0bfd +Tag = e5ec8458d33d25418826596b4464 + +Count = 3 +Key = 6b404d438cbb41cfcb1415ce90086b95 +IV = 9315bedf7587620e0071a44871adf9654dbedf6913348a0c0f07578ac4271d51e29aaa0e7cab3dca84708d3d0413fbae500e9454f2e44736aaf2aa9894110568b278bcb84ab118bedcd43c6ba93f717bcbfb7944b5b53a3764197bf95309a0050039aefe79ec6db4e5f8917cbc341f768af7b9415846714e851f8a85705b3b1d +PT = 40ff43ece873bc0372d13ef33451ce110e994d538f0012776b67eef596dff468ebb292a74b3fa065c630847f706668e498a002 +AAD = 01812919b675c76516040ff6e8d3cc880b135ea1 +CT = 1671c8d9094a8dabf87a78b1a05ec3cb4b98f0b2021bfeb1f3ff14c5a1bb90335e1a27ccd4e2c2b52a9b7f0d2dfffab13112b0 +Tag = 69a502ea7e9a2c8c6636ba5654c8 + +Count = 4 +Key = b49cf8bd2207b48ca00fdcaa7af583b5 +IV = dd8d53a2e08a9ab33cf088177c672c6ffb36fd43c394cc35261b4f774db8b54b38cf254abefef1c09b9577f5993dc276982395e00421dc2be42f5616abcfcd3f0f8cd23ded3e8322d73b3a5224a03383e35779b7f0d7b31cca8deea25f3b8a9089aef6abb4546a93522933f56cf5103346f184750eee561f9e811778d6106a9a +PT = 665dd312d4a20edbd6a38abfd798bb2e66189d6c953b01159ae3764cd34cfcf463ae1dd1489068c184eb88d65d8ae782b45488 +AAD = fff364045b92e09aa464560a7caf79982d87b90b +CT = 481bb4f292bd96325cbb89c9d9e6aafc9397d5290f52f0655e4989df22ac14a5ce6397b18466880d22e7e1a6f37859ae87bc46 +Tag = 691062f555da7147d82f949f1fba + +Count = 5 +Key = 22ab52318bfb486699a30ac555431357 +IV = 562049dc34321cc6c4609afebbd2e822d794dd8d29ac5e50f38229efbc006ae17f3ad104864c80ffa8539fe13eaea19f876cc7eed67f895f0a621081009ef065c470f34617c4437f43d7ea05dbebc4fdcf85cb91794372884b5cd247cdb47a28a8d7ccf088b0b0704bbab7ed51d8b3a9d5373da1bbc998db3017e9e65453cbd4 +PT = 853708b9407d44592ebe36b5edeb311202e40015f5e96f6468a817e094068edcda796cf22694eb040c2b2d5735d1543c01f697 +AAD = 41fdda86e22b455d630ba339edfe1fa073d9539d +CT = 9e1f0856200fdfb37ef54515cf3ca177b08d80c9a3ef29b9e783cb765fc8362727c95791e0f2e29d3d6927c86293310929644a +Tag = 82b43ba40dbc3c081894fbcebb68 + +Count = 6 +Key = 995c98e264e23e81d74aa77543c5b9a0 +IV = 2fa126d8e65f9db6344cee9ae3cec13696d1995836cc3cdc412ee370a5054084498895782605b184a04255732a06835b8134443e2f31e7c9b905524a74de29de9273482b2db6e706e1b2941bca160f2152d3e844642bc239f13d6431e231f8378e397791c1ef7e6c4ac94151939155c805f326ef1b67f366b4f6f1e6fdc9fb76 +PT = 56809ef89f70af8bac20677abf9c74a5ebf4ccba0d6e55df3cf3d5ae5a09fd4f0a1ba733cb82785e987ad21fcc80ca19cc051c +AAD = 258afa150ebedaaa4dd9a898795b832566a6ed4d +CT = 021292d99d0e6e5cfc5695a8bd6e1aa7aee1fdc682881209a81d6fdbc439fef474795a84315adeee2d7a8484ec77e8d867fbef +Tag = 4550099541c943a552fe778da8c6 + +Count = 7 +Key = 384c16bf755616f7f662b8f414c9c465 +IV = 1d924cdfab4266e6ad704a44b740cc3694c5693820715f0b41fcf7cb027b879f450b1937316c1428a17e2be7066430b84a0ca82cf60ddfe7eaea32a9dcdc616e65fd6181d35205f857264122fd5a835b5cb009db3f35ec0510753eace33f899f40115f06d9dc6fa00eedc3ca0c03580c7be108e553ffb9f89ce0881e1a70f82f +PT = f6782f5f440d61e67ddef857e5d6a29bf0f1051f5b0a38033374014720c47bef7ee274ce144536492ec52d72fcc75d97289921 +AAD = 278cb45d999c42bfd10a5f3d749beca2530d758a +CT = 787dcc50e98737f439d098c3a941fa6fe10da9d1baac68ba00be175dd6b830b06661f5c2a93fe4e3ff54977519929d51b2ea93 +Tag = 25925710a60c8d4f39f89eef8f1e + +Count = 8 +Key = 43fb151769f25faaedb2a7bb6ea74b6d +IV = 3fc917f56583b71aff49dc0b84e81fd74685036a3aad21289777b384b0b48aff5cbedf58beebed24c5f85db6e85a077f5cd7fa3a733cf9088843f3814885eb0199a0e7ac544ba479a44a3364968b6ccee4b1899e0016f12655d8ab3fbb77a56d51b06321d47ba0eacd614929290d9f72743725751e5ff33c5b4f0effc55f2d4b +PT = d370814548cd48a692f655f699e240d0f71b47af3a28e5430afb36ea9c723891012e9ba16083ba960de7c109552413c99af16e +AAD = 587623bf400588c0af9c3e77ca4a46dcb72ff194 +CT = c031ff214a4652feb4a9a6ae37f2df53312d50f7e12c02c22ffe7ae917d92964882c53183b3f62e4632b6a849224adcb7f289d +Tag = 8485ce2dabdfdad6da3e455a4440 + +Count = 9 +Key = f34756b1ddd14dd8afda19dc54bdf9b3 +IV = 60e86b5e283b6cbcdda0ee33b69ccf0889b13d8dd9da1b42b1d26c0b6805c3d85c25207fa9a997b15a211a27c67ee0ff68a0be7d175b0effcde9ce3ffc79ea1b4c0d6e6de03216a520e3aef527376d41092c8d3955d38ac9db2d141ae26c30c6c8528717d8e81d8e005bf915e130a5af8d535c14445571f16419a7e42449baa1 +PT = f432207325a1fca86b0583ae3eb9dbd980ba6942d30d87724758d0e80d1afbb8088024d9cbc81c977b957e1198946deece2d24 +AAD = b6c95b85d8ac5e7762e0b95b84e35160f82fd3a6 +CT = a087c5e33c5e8a5d94b486171bc965c833e15f921f0ae2c1dff154ffa5da817343d0fa1af7d2788e472c091a614545eb6aef43 +Tag = b6200647ffd0595f3735a94b3bd8 + +Count = 10 +Key = f2ba67f9df16630285b33869082c1e7d +IV = aa03bfee50871c7caa8f9f464a33d433db2b3dcd21b91554399cfb62c87c4343037309b517c33f55626d4458f90fb5ba1b4cb6f7e6c6682298175980fea4b535e6da910e5a1dd15fe7339134a3e8c087bfbacea55caf9d21c09f10e08f417d7a184014ec567cb80031ff4020bbe541ebec96362f8116f96cb6a883d2ba5d5111 +PT = 0388e8859ba29cfa7d4b1dd02cda32cafdd152004688817113bc876d13b1fe44308f30d516dafea897734c5a5a59d5db7065e4 +AAD = 5b323743f421eec58f521f3e42204825dce68750 +CT = b316141519b423aeff010ef6d5e28baf9f381c1654154152f45d0d135f7c3aeda29f90ba46b379ca8e2b04739ebcf95b838aec +Tag = f6570f45bfb5370104f8875d306a + +Count = 11 +Key = 2f3cdb76055855e6eabe4617122249f9 +IV = 08a7bc0c209e9ba97493850a7b553028fc8407507950bce049dc67adf2dc7b0762020b4ba8cbfe9c13b58ff70fd17645d4ef3b6cc3438b29d99362bdfac3a7092bd028f47ae95a8545dc96ad16eaf4268ea37b481f145a6ae4947717dddfa744371a38184767a52455628a93fbe6ce669955fdd42624d9cc6d0c39894ca73705 +PT = de74414d56434eab1b23e92713c627c2ad094915f5bed174d4fbe7bb5b959bd341033400ec9da13308bbcb16ec4b00a1573f0a +AAD = 5062b8fa65780af3a2a5df6dbbe7f691a41d23ca +CT = 759b861d15b1a44e787f206f1b4291ff5091c3e36fbf4441351f4a0f64402b5498cabab5703d8cb1ddf07d08d37131e588074f +Tag = ed403b20f4818878906b76a51b7f + +Count = 12 +Key = 8523d8b490f049e79bb0395b30c04701 +IV = a2f8c166420208cad779bc6549e8f668e1c637ff0dc232fc821c8e487c026ec4f440f4892388bfac6bb07493ebd0a7defaa54f7d3db4254bed2c7ebe9e8a61d966f3c69b610ea1d05476567bc30394db224818f798259a8db43fee953babb043e6fc21e62e30b8a32323033c5afe222db93905eb3d109a1d5aacf6f53d14e75a +PT = e2375b05efa6f49109fb4c5585f6c03ce03ee5e28d9323ede72e5bf23fb790505f42a5b1a8ff9c50ed57cacc8ee8ce6bc11c2a +AAD = a0ede5f55d39004232b63785a0b5ea5fad5bcc90 +CT = 7e3527ed10e129108a607a28525f8a1bb77d25a5df6e948eb48e12bcffc4a9b0ad5edcafbe91964f6a73110c0dac5cfbbc3ffe +Tag = bc7af8a3d9ccb582db711e989d60 + +Count = 13 +Key = f870203762c1c185bf23c28eed23133f +IV = 9f7cc5317511b33d235588ceeca259af739c754915ab02b526c1ee36eb67210127aa9ab23d17e4a9e60eabc12da56c55850c6d9987c5111affc0987f2d9eb47bd5650536ec64ec63c7118e8595656d81391c146720755754c77017dd87167819c9e84d4a52c6107acf806869fa464612885fb450b28ade551c063f4a895d0fd1 +PT = b933b1a58d8736c37c24f2faea3542d3a4c553c3d459ca923df6445513553c84c74cf270aac2977e2a30a02efa31fa219d8805 +AAD = 9c66054c51e9b1bfce9d512350b2216004ea8a05 +CT = 0d0e4a917541dfbf00e1c4e29b1cdc1570696b6ecab4179734ebd882b018cb0d095439630bcf627b792d85c9128c349b8e38e4 +Tag = f17769cb5bd82161cfb5ad254ed1 + +Count = 14 +Key = 00ec11585e9e20b0b17e513f180fa1c4 +IV = 7b030c27cea4fe3f7abbef12bdd9af799ba729905a9633a4a9a5e0f0647349a9f473e527e4b5afce5f83865830c2c447cd03d7e4e412b50335d56a65c6212e0ddc5ce82a4a45a0118fb06c1d7870f942278c64ec69cdc0127e7c3612f6796ba851490f1dd2fe700b587356d8353b8601f74880b45a5a0ab5489daf52f247aea7 +PT = 5586b7c6881392ba2f6f992d2c3762da08d0bee2335fb26e48f33d7b5bb84c3f64c70220e5df6543ea3e49e8f8155eb61e0b9a +AAD = 26012d5c90deb2ffa9aa0f1b2a9df7fbe1c30e69 +CT = ae2f04ccce7a78a8a6a93024199bc0611d0d026e0fa8007bbcc7afaa677f18e7fec9088a3615408ee969ddb05535a53eb1b366 +Tag = d5114cf62b92cdd641b53de42a8e + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 104] + +Count = 0 +Key = a6ab2cd766d3b5f1a0bcee9fe6eeef05 +IV = 20e667ce1fc8fbe0a4f62b2f2a8c23e4e9f4af7b9085a6849ac62a407990018fcbf14f3c0e8c1a80f9ee23f4f77e965b205a80a0874bc62398515117b9ed7cfd10819465ef7b38041472579c9232b564e0c45e43584a7d8fb342d85f1f15ce94eaaee3d2e21fd1ad6ff9d2ee76248ba5cd1ffef0ca658f3fc35d7dd8440310d1 +PT = c4bdd47cb5b1a161ba89591f325ca976e10b44c8ba14706a17b6d00a636f600447ba462d8074599b20b6028c1250c68d8949bd +AAD = ffb1f77ce2fc48c276a0696f9705333bdadc4325 +CT = de46311da32199cfab12b9c6caca14bb7a32decb35e618bea93c6c4816e6d75ec5cb8317678f6adadef05b28a4ef8722d64e3e +Tag = 30831ebf428b7eb1e95e90babb + +Count = 1 +Key = 7ef42f94915b96e8761c0086f7ef445b +IV = c65463e4caaa7d64208f5d2e31e1d20845622dce8e3b68e1714767b5dcd22217f88b820b7e038504bb2c59902477c86eab5b2b5631e3c76af938ac1b823a832d39aa3e4521a6eca07c6a8b23c22e06a86eb6c7e3e806ef8acc0be66a4f0d6c37b264a0ebf1d34bedee5780c35264bbea9462b0749d5816be9ba0ebefc7b47cbe +PT = a52c538d268be72c7a3bcad88d6405762501d6fb82c355f8ab4f106e7f1c5ab0dc06264814312164ff25a7c72447ca49f33b04 +AAD = 0a8aa2749c87c348c136b7f660ccbc9e8567430c +CT = c59b545a604ce757660c25c127b693f45bd1a9f100dd48bc4828f1f91dd8054e3847f1fa691ca692a297a56a0724de29deee0d +Tag = 6b7cff6a59d08ae66f8ad6e756 + +Count = 2 +Key = 5f4414f663e6419f844758ca6f3fdf6a +IV = b1d3a85c636b18e8d9c666a802cf494d304ba2776c1066dad4cb31388029ae5465b0465a1582ca334f7110cebb69b36e75c1f483f1308a141f777bf6bf9c8bfdcfb725d1fe3a271d1eb3213f4e3e1903ba0ae4f4468895c31ca8e26911bdf42748d83ccfd72c375de59b05095f40723b239582a2c92a8a267b14d5700661a79b +PT = ca4486360969bfb672ac2819424568c3a9347177129cd159a1e783475352e8b1980d23d2900f173879296c92c832436d12f435 +AAD = 9c28e2eb455944a549236b0b099aba050681980e +CT = 265d7f18f207664de92dc1a4d5e25edb45715ab2c756175db22b830d77f12ebcaa1df270722b7035880f894c4fda2105f021e5 +Tag = bf35cd473ad197d9e208f7618c + +Count = 3 +Key = 04982fb6024123478fee5a59e7cad822 +IV = bfcecd7e22ee80bf48abc27dda380f252bf225220a09c8dfaf129a2f2400af66fa856e4444ab28c54093f1d63c2ea94cf04cb92139beae0795738e35d09e942d95be7ffa0f6ce94efec8c16c6b9676978d3c9ded4d7c14b6b47679d744486c0c0e143bd14b219c07b741504e165dba64c72c01777c6a4f76e7d32ecfc78cb4c3 +PT = 62cfdfbba81701606fc7847fcda1da3bca0ab580eaa9562238481f4cbf5df415e8c238942ea8c4de7bba8ad060543b7248a315 +AAD = 6b62f0f84076f4744e38a1b12c4755a6d352634a +CT = 6a316f90303159d743b8bcc5671286d3c4dd509d9f01fbc017063a99b5fe6a236607bf05371866e8fd2834c9dab420ec9b897a +Tag = d1d9cc77241b2b6c38075865b4 + +Count = 4 +Key = 6da2094acfe25f3c7792ff021f1e3f76 +IV = 38307f91011e1ace32099561820815f7bd1bfeb4ec26eb8d82f925dec8c07df785533ddac9272be3f257547b940b3827e81330dfdd20a3668a5ccb603a7147db97b1e14c5d778547f5301478d4ce8b7e16968230bda4e4d2e9b66e949c21d230ac7e767cc92629bfe2393d141cd8811fec7a6139732a207ea56fec4dc5a0a971 +PT = 9a4b735ea05c9a070976f68b66b04a779ca2f272f042bdec89e3fa88b7063bee29864dd4b2759e0594e75174620e78c3011473 +AAD = 5c48c9ccb578dec7510468f6714d7a604b508e39 +CT = bd387a84d5cdb9152697f59f4c2f86c469e9673468643375b937af3f5677651dba53229fc39ef94f5ff0a30b1401820f3397b7 +Tag = aaf1e20164f8e207cad92d2d81 + +Count = 5 +Key = 7fbf4f7ae683b39697136a5e696c5fc9 +IV = b844bc000b31853f81d555452ebb6c98114ea6174c61ad2d2a70962160c17695547b25fffddbdf53adf03c2c998f89a743ad32c77222f8720af12b156d6f43b3c1b963dd853355177e571c41595acbc10970ea840b6cfb0a63d522dad7bd2126260b90d0a8e7785b2181fb07a601bf936ff9ca174f18417c4c9d777a55208144 +PT = cf36e6e0ab16c49f1a976062392b4ca8caaddd3b2bcc42bd10b8548749d6a90a9a9c10acbccfdffbcf82c998ee6713b8c10765 +AAD = b5576e7d72ed3da0e76527fa86756556f45c2e1d +CT = bb8588cf2744285e376f5fa27217570f1e0a0d833f20d64682d7f4956a900d61990a8ce5b17c9eac235ce18cf50e4aca43ea52 +Tag = 0be2ef2f10edc26971c0d82b34 + +Count = 6 +Key = cc44f5d460247b7c4219ade4da6d7bbb +IV = 27fcc13a41398db40bf9d69099388327f2195453c928a12bd90959ae8c10eeebb2393de2ece39da51e802cda47e7f528d9e637270954fad67fee03224d255cc3883c8f32cc24d2c0ca52dba3268d7b27d58e9721d8809273dfe0874eab3532a78dc36bd335f5abb0be8c589b279c810c15b03916e9c1b353f289356c0511cdc4 +PT = 6921865ea2cac34809b5ab3c279944da1af6db8974d248a5cbbae30762328d6f839c248dce63a107ff1371e97c0091fa5fa207 +AAD = aa8faafb7a4d87ac6229c229036137e5950996db +CT = 0f121c2758880f5a56a679b9e6216221675210d3746cfc4972860a5ae83246d367352389b5f68dc106802a46c0fc62e4f7b3b1 +Tag = db7b0d213cf143902ddfd972c2 + +Count = 7 +Key = 295b9fe7d3b22b95fe963970ee682a44 +IV = fbe4fe27284e06fd5576be46fc4b7092a53c053264aae11407ed7997dc4de9b767cd23d37f7847a0533785b97690b6b824d817ab1b4d2a51ec4e74c9c8e1e5f161a279f201739530fd6abca31550ab895f7c4383b082f5978dd37dd77ab2fe45a7a19f7d23bce49e197f44e67b82f04a2d267a7bab9bd9a595f72921a62e9516 +PT = 1ae93a7fd77c2cbc935a39371ec8553d1d2811bedf90c5e866ada445139c9816da53fe7cdfdd53472c7830c16dedcaac84f471 +AAD = cedf6df880e69222127a213bf23999f09ad327b8 +CT = d1a32236cc5f0a18f37e7d73a22f2c904dc5bd68e47905a9e023edd5002dd91c86b00cede0d6f826697ba9c6aad2f3098755cf +Tag = 8f3bd74175992b4a711e9e5715 + +Count = 8 +Key = fcab1c4e47d9b125289404dd4fe88a8d +IV = 038c25255a99ca17845f1217aaf292e7ad37b5c76d0fb12e534fa2623dbf53267136c077fec5e3f822a7cc290dcbc390b0501abe610e2acb0099dc1db841dbcc3ccd2e8e27950ce2e9ba5db81cbe6b03da5984320b1725f478fcf7e2ea626e4ff94491b626af27fe3292f64df60d13ceba0af307ae7c6eeee5e8cc7c8a1fb595 +PT = 8a1f885e54ba9629b25c6b66badd757ab672a358533ac775f4a86af761604ce568b1a4a996481bd0984aa7a60139aceee6050a +AAD = e8064c2dbe341a1f61f200377421ac455d7ab649 +CT = c96a91777bcf23cf9ec7565714e790a1bacbf3093cb1aa300529c9466fe81cac70ab3f018217fec27f32d4d0ae8eaafbf77f30 +Tag = b87fa2cb3b701a7e13dc3e3a0f + +Count = 9 +Key = 0d4d79b7c87c4b4866ab03dc6f362f9f +IV = e6dd1a2b6b50df038ea1aa903b69224801e8c6c5041733e3dbfff9e3413e1728dfdabfdab0a8a24df86b296acbd8565765275f2d1f90ab8a32c1694fd5bc70abd13d54f8b5d2775f24d1ea27382f2f1624efad60ca183f3a88f23bf8f5f89db190844b84540c4b6184381c9b966aa3a97a5da2140b982c6ddf3357ab393e8b2e +PT = 2707cf7e9563fb50f08f5ffd5e943ef605607bb27e73f2594e0ac5d59b06afafa5537ef56599e5702bbb45e1bc5db38c07c671 +AAD = 63fb937f83f3ea73dfaf441f424e4b25d0edb534 +CT = 83fb1caf5289174f839e8750b85ac64a5394b1dde19e4db8916b14fd98a1779037ff5d5db655db9f315bcde6b21b9b4459d476 +Tag = 7bb2c6e9aabee678e322af69b2 + +Count = 10 +Key = a6b882bc24ba50d9422edcfba5b4b6fe +IV = 9049e1052e58c6857c5f3f82567e0037d5bf608ddf4250e975a259d692d2f57601296d5b3f6e2f24c63602f04dcd3ff0b34e12f0df9aa47c628f9dcd984b3ca3b680f45f58f1fcc4519a67d2401dd9d57987f94e3730e2e23e34185a34fafbe0350fc962aa2237421a8c2977e91385403da9bbc4c810f4ecde9524a26536075f +PT = db852351495e4fa6355b6db39c98b418b3054927d8e88208663afa8a250cb7c1dd06f2d13ab291b2a4d6a0565406bb2e067074 +AAD = a265ffabaaa2bd6d0b08663b902bff9fc3ac053c +CT = 6178a8177256947732855db69be8c9e983962bc73012c1db5800835ac0a81a2537666e574bf171502921fce45795ac1efeabd9 +Tag = 8d8a0f4ae8ed546a26f2b4828a + +Count = 11 +Key = cdacc7c82ed374bcc6900c6efc9f3365 +IV = 485d3d5f8e60c4523c9181a19b023bb6aebe07a9db1841107be03e91f4940ed6d219d0e97cc62b2c667f2a9adab6eca3ae20e5d135242cb5328f442944c1a048ca3f3313d09e45dd29973a5e8428502d5d02be3d7664d27988333ecf59a0d2a0492d1f2ba62da4e26bd0854530463525d2ea62efa222bd168462771e56fb2e57 +PT = d31cc37ad5442ada3f0b17f7813652fd1dc85c488b89257fa98c36f52f1186a230c1386d2c33cf178888b62b8e06e5ecc7331c +AAD = c7a0a1471b8ffcbe26a7437b1702a6f2361b85aa +CT = 7228671d16094f8796d5cd2e5ea129f98acb8448751d5843221313aff7c672f57293d49abd30865399238802f2d57521790fcd +Tag = c075957a42575f96ffd6aa8651 + +Count = 12 +Key = 1e79dfc82845d9cc14f01ee062fe6cbd +IV = 09aed674b716095c47a209d25efdf72b4cde8cf126f07067f260813e2d07d48e95f265b5c9a40e4b26bcc8396d9011e0cbe2b757f163a5527beaa266563a51cddfc5c998575e94971ad5b9f146404e93e45cabb74d3a249b6ca3d876fb9421353f32943d592a78d4d6f8ff711a3c130d01087f5f7ade88ef398557ea81ea3f22 +PT = d06a0bc900874cb7ad16c300057b99a76423772b46b1c05fa99e13ed45fadc5a592f53761476f3d7e0fea145a3b2066cd6deb6 +AAD = 045b8b8c6f82892cf98c25caa8e34aae00a99227 +CT = 3215fee0a86a1aae6d78ecbdd6ae1fdc5d27924e10bc63e5fb2bbff7baed78ace2de5e9445342563f61a70daf5d83bae5cfef9 +Tag = a2065db326f8a8c782d5faf121 + +Count = 13 +Key = 4d1f2594a318b6aaa7053edbc25e0e02 +IV = 8b55542e369cf1903752eb37c41593f5d701c466b53b50a44377407066d1ca70a17446fabcb6828a0c79ddab5da79c28cea22f496bbd4e70cb3fd0c22bb1e852e094d6b7899dcb98a3ff0804d960d0d239a6c7e8d2486490e4cf4fd303d12e1049d70abc066e78c0adc1d69a2719aad01a8beee1d7f47f00d8f3c7ed49763757 +PT = b9d45073d13c9f7893fd61f8c4b102c97b17783c58b20764aa6f98a1efe9f33bceb9f9720cf7308902463190a9217444f6782d +AAD = 3955ea574c0286be302c3ef318c2f67bbbf6ef32 +CT = 32ce127bca8377cbcec5685c9c4d557e7d5a52b19f44861b3db57845fcefd0c8651f3d47cb2c876fcd76535bf2a5558f4ec90a +Tag = 872cba14cabad975ea5ec7ae37 + +Count = 14 +Key = 8751b310cc880c610140370d2a834c73 +IV = 5d21fd13dba8d8819dd1ea87b71a1d3af1474c2e87df1e7944fbcec35226cd401c810911926e55dec16bce30ae94c792c3f9b0118c43082fa1b94b2a58f43bfbf00500eb679311b4784077a7ade7e58cf32f374c6334123a0d69ceb3f24f8647498b94232539c0939f479df4fa0c08f9a3065b654226f6cc3b8a4e326f48853f +PT = ecc4a052aec181c86a0b5fbdfce2b199707ee09cbd2fc445ed6e9286478f08e7343bbb9535a7f64c2dad46d62c17167da9b354 +AAD = 69c14fd5f25d0ca4cb63898851e31afb477aa7a0 +CT = 7490040a122b3a498f68c49be6c022b0b71c58f5e09f14a4c9a3c07f8156f964fc4dd385caee6aa26fe495a613eb39312f35f6 +Tag = 5d274b3b8d12a9484e160fe62b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 96] + +Count = 0 +Key = a3dd32021413bb38f92b0e3e734be8ca +IV = f8127439cfe66508e9f1cd4cb7fb623c352fd94945fc90d3d59ea7734233e596d5671d53f37337fc89e245a9f4eba3cdbf33a0f7da28c9e81fb57f371ef82064df355f6f9f2f17d9a126e5f1885311c231dee4bccba2f1d888bc340e5f1377e99e2255fcebcbab4e295fac94927ac50b17b123d95e8d8a8108bbcd8e1a36d67f +PT = 91dc2cdddaee1b8a41de555d8b947e607481e73afc4af6b29da5dfbc51b921d0d064c8f6c8ec17a0c52fa171f3f2b5471d3644 +AAD = 769031810d8761e28261c473c683db09d0efd727 +CT = 0bdd80356d3a14da6498813de7f067f6c3a74394756179ecd8f0509d2ac1437ffe4e5d5d499cf2e0d1c5415d144e53223a7e67 +Tag = 2c3ba753944718dd87933b10 + +Count = 1 +Key = bbd7094b4b390d86e53fe9a418ca3004 +IV = 2d1a27b0f65fcc0cfb3584832cc9965bff314aa0d1bfd053b9dbf8701c733f92315f84b430468ae71e954a9b6d1594d3f93608d2dddac3470df6169a0292c966641b4c349ea71e5e8791aa96cf61303ac2edda4caa8dce6b9e3c235eef321cb64b0ca6c470982bf322f4675a54089c48bfefb668c48ee9deb64cd1a8d2db36c1 +PT = b170784f23eed39f0886320928fc1008861c3d96ecb8d79f05969d664f20139b53c5e70a18b85a991abc32e63b509e0d461ea9 +AAD = f5345735aa9dc07e10a872319404e3e9b2c1e0a1 +CT = 9cd336637abcb0970f359cc8b323df9a631197e492adf513366511ef9df20960fdaf057456b44819534c7053e5269e63914cfd +Tag = be012ed5c1188e670763be50 + +Count = 2 +Key = 50f07a327fc8ea31ab6b3ce072d6ca95 +IV = 5235c9d142666d4f95b24d8753cd9a68e5540ef6de9d969096b2e9fe751811305ee9382e0caf1c04f54917d47dd22f6608cbeab68d5f35a65a266bedaad4105b41f8bd048326794d74d573ef178925488765f4d1e7f4631a1a54c1f8190ec37e3afb363cc55390ec1395800b30856f167d52659cae284bb080f7c49452800d5b +PT = c811c1eff6fa1a4eb8b664a3dbfcc1f1b2da08b0afdd9fa65a2835540bcb62930d435329e1b855ca7c36ec70d83ad9244b26fb +AAD = aac536989153af0e4ecba63d3bf1f2f3f9ff8af5 +CT = 289bed74cda9e9b2d719dfb61a354bae4273615daded4895d35eb43ad3f1b25b46dde0e2ae31b807b525948306ca875d5b7b96 +Tag = 2f6390f407a97dc8e25ed042 + +Count = 3 +Key = 8ce8d38ba9f5c6566d43ae0dd5173714 +IV = 0f7895a3357ced4151dee88eb57562b920be9a60ca7a06f5ad7b2454c79350ce0d286698573a1f0d98a6ac3e4f39594ff19d8a3f6196052da1beceaf51d7c312a2d8abdd0b19907df96eeba0d1d72bc2606960e24078d88d3a4ed67f350a49292f0ca07ddb218fdb019fe8297eae08488bb1db5ec1c5184a63565cf647548769 +PT = 6845804ec401789f842fda6182cc16f5fbcdc73e12afa873090e1e394134d64f32e15f8bfd8812c4a7fb304e743b7533ded65f +AAD = c4ca82974ff053c2d122003cbbf0e127377c0278 +CT = a9b7a69bea2ec5c907146b852e0f082a7eeaa971de000eb33aef42efbd04f698b118d21454042bbc30bfe29271be44412e8c39 +Tag = d662802e737b4b59984917a3 + +Count = 4 +Key = b7fd935dd5885195fa1ca22a6329e977 +IV = 3f85a2e9d4f001e631dc6a1226fc4c3006e0032a1b3a769f42bbd0aa39df9324cc1b298d12cf191743c71b4428dfa9cfd2213452bc734d76d355d15dd044faef9e32f63cc8850e25bfb2287f3b492205a6cae4f7b9515b866b6d5254b5e6c7f7acab8fe0783553af04d8249b4d89f5817d9b05fd91deff70b7f251fff4fecf8a +PT = 551d48d98fe293edef14b062cc218925d74411bfe272d14b744f9f5d6a277d527b293d7ccebe4ef3490092d676e9d197ef9e85 +AAD = 03387d63799b2c1ebc92c0c9db6d3b3349e4e1a8 +CT = 68b3f410e7fafd02ae0ade1ba5eec6827b674ad93e7b76055b0be5629b9da6e85c35af2b49a35fcb7d60707b0b0e4a651211d7 +Tag = 893ca36f7da97e294584f32e + +Count = 5 +Key = fb7e68e537bb5581d5dfe84d8ed9c391 +IV = ecb80cdf900ba2566e121cbf518e57c549683779803005e0f7a3991277232b8fb27365f54d2b8a12aeebc75d219c1fc94887dc525db24a5d1bed7bc34e64157f0cf3bac268b47499403744b2dd4f51c1b0182d893376b196407c1f3db16bcdae1754fe3fcf206cbedb22b228b187e2327d8483fb5690c873f05abbdb362aa2f2 +PT = 5825ad0fb7ff76aa29254359ee148cc7d47a71a4ac8c4fbc19ed3b18e166c8b935d35b81b908984f25ac6d679ce3c395959ad6 +AAD = 4879889a2630711fab2ce152d7490c87dab320a1 +CT = 8b27e6d0ec30b04edf972984c8c0aeee04231e512984604341351f7230d7bcdac1f760b49bdad95bd8cfd1d6ae465644183ea2 +Tag = 4b8bcdd97022958428c7491c + +Count = 6 +Key = 0be3f8c36140578098898455fab660f4 +IV = 2ba1913e97f397db10eab21911b663820ad5f9f582fc3148775e52ede9953fc2ccf497515427c746d3050b30d904a0c0a4f7c81d1613d7d1b14bd784725943a031f6fd553d98afd2848c63cd5a2b905489b818bd98aefe64a302aa6be7c2997590a1d6b24637f4d2063cf8163e33fdd48130bbad0ddaec59c8d3a0e328a93729 +PT = 161c01d8210dc84ff18365b9f966921b08c7c4a82c893d635fefc2048155c0fce9addee638e4d5f94338bd2b759d8ee11040d1 +AAD = 16ac1614473cca5e6de806ac7961ef0afe0d4253 +CT = 56df8ee0ee92cd92c017c911f1b7ec6bafc8d1240d742e79c73a5d6410a38c918792ab153c37b1a97b961cc181d5f26ec96d8f +Tag = 57c4459a3129b6adccf748f5 + +Count = 7 +Key = ed456866a91d21b07e0a3b166e1ded0e +IV = edf3a92621e28cb49976f9060f640de103ff6d4aaf8544da91899baea2c2825166c3fb1cc92a286d5399fac29ed81ec68d0ae1b2df7f105112b15869e995d55259d0e65a65ece714f55814b18bc3850e6fdf42af8cdb255a2ff30b3f38c1380cd23031bbf27f07ba2ffce27c1f3221d32f385c925a0e869bcee347508ae903a5 +PT = 44e110e2507fc453b98ef0341e74824b1a118c01c878bd67e5a0e762cf58f332e7b097a51baee90de53b7f39761b4c809f4037 +AAD = 3493ad4b7526ea0aacf8ca5e7c8846f356e38cdc +CT = 876e143453ebb689f2aaddca8a524b5ffbe21362bbdf3f90d6cbfb7bc6458f96432bfe6e786bef133ce9b5ceef6f842887fcc6 +Tag = b752b0e6fcce034f391ecece + +Count = 8 +Key = 0ed6dacfc46dec78d4e551c0428e4829 +IV = db074c1294741ce5376d98eac63cd11280b054d22f5eff0b61f0ac36a90f3cd302d74995094b368867e570bfb29a061bca8da5f0a7c4061a956011dfecb958ee20c3501f69f8f7b3a96bd3eee3052eb481dd157b455a7fdffedda2c7e9c121df14019836d5999bdaf2ce97b46b5a7653fcec9d82f624eaaa2c6bfd6040a2ace4 +PT = 37ba4e97a4ddce1e997f329cdc4015872a996956fa7c806d982ada0bc19e92ec7fc1418e54a88e2f5085e5f8c678e0f2b56a40 +AAD = 95ff7b233762d0aab80d3ea006659a47d58048b1 +CT = e14a26df59a6df72dad6d29a42db9640e0c1726665b48de037fcf74e851589a1a9f8e6b5e3477f6ef27a3baa4c08e15bba1179 +Tag = 861fbcbb73c3d7118f566ca8 + +Count = 9 +Key = 535f0e372bebecaf58803ae7d79971b0 +IV = 54df4bd09f5c54b1a793c1080a2626252369093b478cd5d4425a9e643851a493cd01883e5af6199976eedd58e23c1cc2d86d04c83b78a9281d98e2f75bd7d33e9a74e795c6a93825ecb4db3ca7fcfe1e48b6081d58876975d436b638bdc5954a91ce6643f7518f5a5387adb53347b31cc048d65fbb2ee665efe9b31692626353 +PT = 6a56b6d2fe3df261c48ef86a2041ed135c0c465d257e55a7f863f99b0f572c8fd65c5f4ba6edd116df93b2bfd22c3be0e9097f +AAD = b2d9fc8fb43bfcaa5be01539363c30d99f829c06 +CT = a54809b316837c40949eee324090e70711258418e21c2b904cb0569236301a9024f94902b56660713d2e96db0b492b16a634ce +Tag = 8e0eafe716f05d6170b3ba02 + +Count = 10 +Key = 121e55a86b9e844263e546f9abbf2efe +IV = ed2934c31f91defff6392c56494777c1c91038e0e8c89073b239fd3c251986d7847112cbd8d975fb2bdf87ec264eb936ca8f0b72741c6eb00227990ed3dac95bfdb29da3e0ee01712311cb703143d0afcdb1a4038d5d8dfac6d7078bdb0e010ee97b8552af8f4e05c2362d1704342ec011744b885f4cc215e6fffa2fa10cf83f +PT = 47820cd52d1df13f8545bbc322c531625ee4fe4a28f075f800cb17113fb3f05c3ed177736a36271ecb1a6f93ecf15148d67470 +AAD = 4ce0863e241df2a8530c582453241ace747a22ed +CT = 083166799855832bab24d3f16043340a0595e80ca026689a91f05c0f5eddda9805e55cadd27a2aecad8e60cbd549fdaf8858c0 +Tag = 292c7a375345f668361716b7 + +Count = 11 +Key = 147ce97521190b3062bbbdc980735403 +IV = bc98dcdac0a1bc997efaac2753ace604d463d075a212c306c19c190259ba67a2a65e206a3762423ba24b10f21c43c7e613041d57a4e20b3c54b0f3a919426224224c14fe99c6408660ef0c8359ce3b1b7026fedbc2daedcc66805e9558ac69a1fb331139f9f4f745a40271ec3555d5fbbae85970ad20b9c317c5395ef054f987 +PT = 76969b354558061322e2f408a997f302bc5e030bfc138dea215b0492989eee37ca9b2af4fe7ceb4788eb0616d3c74c82a5c57d +AAD = 2878a41e7c135ec45737d0451eebb782876ea45d +CT = eb6058a2cd94a812d65a5c6e8b194fe92855c1cd62a7e2e906ff9cbded4fe9a50901a2cccd790bc9f5fe4ae434093514c81c25 +Tag = 3864997e547924c013342e52 + +Count = 12 +Key = bb5a451b90352b11479ad95b392afd76 +IV = 032b819b2cd0be947bedcfdaca4bf40025caeac178d4c9f59d50a0f23c499acc4d8133adb9bc6d1d8be954b222263fde5dfb7ddaff0419f6023ffc1648af911abcb38ff64488d4f7d0855f5f743d25a49c52fc0e0673d4b1257a914733cd033c7f3ac8a942a0b9478e7011428dbb75d7cdae28edef393b9481682b62d75fa649 +PT = 64f1723fee469c894bc4c89feac18e5949a913fa480d2c009f5a0fda130716f13ae56cd0badc150b9d0b4a58fee913f0926575 +AAD = 0afe5e423315ea2a7af8bd4b84ef4768a93ef463 +CT = 300cefcef49e203cb5864b67919e3f3029c793d2f0585d7c58b9298d116bf5719c23ae8f57a3afe63a639023c7a7a8633f9666 +Tag = 9c167fcfbc3ae4e352b194f4 + +Count = 13 +Key = c929414bb40b1ae40f106dde4fad3ddd +IV = 7aab65c95c275c6dd31a045af2bf6309fb318c7f3282fc564c08cef3a8f0803431a024a8ceca5f92e2907d1842772ee2c78bd7b5d47625dfac2f5259e55b2dccc15b8ba759ad790cdfa3a2c77820a4b73308b247abe043721473c8f4267adbca03370f3bbf108ce8dba42b5bf6dfc8d482df8b083a2fb137dcfead73761abf40 +PT = ef368b9bab713db090de079fed02c179d7f6d59a507d245809d3f96799f4ec9e777f3a4d3b393e102c42f5b5742f8c1a21f170 +AAD = 2d3e4aa1823f1f514c2e8c83d78e53a46409994d +CT = c7e66a7a41efe05188146297fb8af9945bcfb448fcb4fd0dc0e0fa5d5cfafc4232f4e872251665a2d93a14f0cfcf234d247e1b +Tag = 1e41de95807a2e6533ea34a9 + +Count = 14 +Key = 732c61dba9d23e0e511defdd1c07509b +IV = 66d4f67bc4e9f4f6ed6c0f764da4b14186c0a614dc47a5cccc8ddac95b4b351c749cad482f97ea65f66cccdae3606f2a91e3a68de1487e14082562c08cf97aa7c483b0fb5f607a306d943f35ba365a72890d2ecd19d8bcbd4a4a18b722249dd74a188754977e5fac70008b9a7d3aaa727810348dff096fcb1a738408e165b641 +PT = c0ca426d56258a8a12bb0bdc39e48ec55e68894ec46c0585262c96fd98d4ceeda036c54e1a0036b4146927d3b5d8a0ff905179 +AAD = b02ba4065c2f28d0213f94da3dce80efdcebb0b2 +CT = 3699ab5089fc3570b08b548ce54eb551467a3f004a808ae2d1b2fdcc54631871d834ce889f5da8512c0970708f4694a104648b +Tag = 6a8c54ba7914437c45002c3c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 64] + +Count = 0 +Key = 0df3a4c976e9473fb6e7f5929ee6a43b +IV = 8476d99fbf4fbd4ad1e3e8ddad3627be3c36b95c366301884733c783e9f2a3d56bd885a378334a6611c8e57ab420bc32e2f5ee103ba10f05b39f6ce1ce8dfcda522c3657a861e9743e50d7dadb68175a639090c8dccdbc2cc544a9c4f4d4d37b1b978d66851b4415cb1c85a2e99c652440b1bede986b7bbc6835296a1f1ff5dd +PT = 9ec0f368f6844933a135fd94a45d4ce204a601be61a9396ac69744b63156fe7eb39259c21bfda97f52e47e0dbf41d1757e504a +AAD = ab448fab63576f1576b24c31c1764d0ba7ad3618 +CT = 66c8b4d8639ce0e04de6e3e666c20857b64c01b488308fcd5e01d9e9279afb3978c24208f6d2609bc4cfbe4d2f48b9aaefb6ac +Tag = 7533ab91eba94e5d + +Count = 1 +Key = bdd246c9f64afbacb2de93f72ccf5f6f +IV = 16c327facecaf01dca22c13ea28dcea1c6f16fa732e7fc2675d43f48c3c97a7691fa5836a397ddce7caa2ae732282d2af8a139bcd1172d3170dc9bb04c478629e13b4adbd80d20990ca3e4d3ccc9f8bce71ea9c6e17a6081e21014bb757edc0ebb165111e3f0a82016feeadae23c67ef06c503c2d51132062efb285575a4d6c0 +PT = 2dfd07dfc91441c831124c4d95359c5c157d445aed21813dcd603ed0ef596b196ca20ff34f2608cef9294f7b9aca6cbd5652b3 +AAD = 92df6da245a222de611cf8234469ab0005c6f95e +CT = baaf9ecda7b70b5b86dae1f20c0a3fe24efb8703f9b2670b8a8351a7650b0e5dae044ab20097079d79d3407a4347a9fe80beb6 +Tag = 4e7c96fac4c7511d + +Count = 2 +Key = 325ea3cee15b398c6a776d59e3e96297 +IV = 8e85e0297bf1f1fa54f12d475577672f57cd3c3abeb91ee61a0d801d4b08fb0d1c2f432a9e54484170003866a2256279d15b566fa33066c4c894dfb69e1a71e9bba2cd42228f06426e89c477a1a42a081712d2932e0b5e6cc50a07ed4caa9cdc0b2777f7df50bfd22c85c2ed3da83099c2c33efe7788051916ab8542ccbc2d65 +PT = 16df83293458d8a523d656836616ede34123105b3aea8f2af44aae3ca780edd27b23ea4bcbd2446cc379e7d43c1f77dcfb9939 +AAD = 55051879481d711be191ae798e429be6ce4d6a12 +CT = 60189b9c31adf7ca1e3350736280a1f42989ca6bbc11423154bcdd19a2c9386563bedde898663d21db02542eafab0239d20656 +Tag = 74c5f49790e3a542 + +Count = 3 +Key = dd855d23c99202ad060647b4163d9403 +IV = cac8186eaefb83aa04ed7326ec45e96539ecc7c79e02e2b5b7e327a040b650505865579498b9aee2529e11935fea4704602348eb6c20d17c0719db002afdea555409be5bad91ba274ce31915d355651d38473a48a8ddbd976947fb2f163e0630e226222404622936c7794ce2368236d3e8c51a31d406653cb8c99db3898f78d6 +PT = 348f6684ae5dfa3c7c74cbd4c9b112678033e22490e040ad6ea340ddb055d1019cc36e918bba36d7ee36c239bf6d9104149916 +AAD = 85a2816a8c3ae7e229081ec9c5fc272fe570291e +CT = 149c3ea7901ea25c65838c8d6a4ce6f5821b0e40097df4b6018f2c1b6e15bfedc22d321098f43c358694cc90ed9af58948a6d1 +Tag = 61df0e40a2d8127e + +Count = 4 +Key = e59268cc9a19cc6bd8e5aba0bd04340f +IV = 7593dfcd9b3ca9d1dba01dccbc96b08ae8e3332b0e5525e690c9017c5d04bc878ec9f1c047075dd05a84b9b3335a8b7ef3494133268d8ed986f811dc936fd6dfbc2fbcbb3184070f6e40e92b2e6089d7e30dde1e460822c67e98fe9acfbe1a20769ae6cc626b65b99d5c5eef01951281bee2beb87000e9ec975a9339739bea97 +PT = f8a959ccecf73443df400c4e85f49cfa584704e44e6bbcd9d24ddf667a6812490050bcd87d5df2cb9964aa1430189df619cdd2 +AAD = 3f8792320bce77c34e6cf9739a32de1eee9c41e0 +CT = e70c19e157f00ab2ae170be22f8a90db968b2600b3a49bf1bceda16cfdda09466b4b611aa5ab5bd4c18d6293d1875be287887a +Tag = 03d9dbd73baf30b7 + +Count = 5 +Key = d5a31f2baeafe7fda462a0805899787d +IV = e8ba0a8df4aa5a36d4eb9662037780efcd1987992b55290c2b74ca4f9d925072c27d73a9da98d565e7b00708b5d372be980ced1bdefc0ae5605f45aed1c1b663f0ddf928a1a0cc2d911e23af5caac4d6ae1136a39fb8cc5e536d26ec2a8367c8bef96d1fe6880db676614687e13f9c3be33ef4df74be946a66459cd573318912 +PT = ef961ae362438aefdd6624f103352e0aaec2c91a4af5a01ba41bd13ca835074875a0cc916c36e6ee6bcf19086729a4f1ba16e0 +AAD = 20c090fecf7382f32f79e580a8e124434e56fb44 +CT = 5b5b300a3548e6a628adbd4ed1ad5214d861741e469deea4c26fc863690efd21f297ea4c5b540653cbb03a1e3bc8d577ec7825 +Tag = 7cfdd35fd0384487 + +Count = 6 +Key = 87a78d0ac2fe551a771ed45644065ef8 +IV = f158fd39b300795a7c6d615b8520a03597fada22821a1e13172d0a0d1b39d34f6d4819f33eb9e1c43a26e21d93fb0a761d3e9fb078c1d9a5db6c29737c649046df47ce45496f2bd7140cdcc955d4149a432c93a9e91f9f30742c4bc4bbec609a1f5b3b5fef0fb9bb48cb80db3ecbd1915523ef3ba39df1e8daa218eca4189c9b +PT = 307fa34d964e9223a56605a12e2477e02feb31ce062b7a065468a2e69ea0e637bad79486a5d2cd73b8eca06058857501e00274 +AAD = 8cd782da065003879b13818499a74d66ce47fefe +CT = 171a380e6f37e632404103e4affe0a3ae1df003340ce98b2d3075a666572f84f4f8af51554effcdd73bf29cbd7a25562477b73 +Tag = 5c8ec405ce96e72a + +Count = 7 +Key = bc81f3ec291ee2cc2ab3ad9e39b81329 +IV = 5f701172bcf84e4af22a90ee2eb6f79e92c881ec5dcdabc74bceeb61dbeb468aa8bbd7572b0e75fbc99b927e1d1baf786f6255954db2ae6063a953fd0043bff6d9cb540c12a6a6a8da40f329e69f17e02903b609a080a2fc17db11836b6ae2e6c7748064a0a3abc0741e85082bc38d22ec6821f9b72919636b7b672b5f717047 +PT = eccb311d51128a7ef9c2027dfa65b85b515614339694e5d6f20c9d2a134b93aa08f10efcfbbbe9fc4821df528a7a53647c8c66 +AAD = e3ae760eb4b262ccfae11aa3128d254e3fa21f07 +CT = 108f0e9c12605f1368b7e6f78336cf430f3f0ced79d9ca0788dd017ad9bdfb12e64c7ef45b32398d18e549534b7be949b9527d +Tag = 72152c5ce3a62174 + +Count = 8 +Key = 85cf7949debb2b81b22ac63e33695e27 +IV = 213a0565a32af5ef19e7e6d1737c3d84e785273110a00e9bdbb2e98403834a97cc976bd9f335a562dd885c2573f7e9caf0cefa01a0cef77cf85eb7573454695a1141f41dc378e61dfb2342590496a3b3c04ca521e026fabc3e157b77f894f2c7201a21288c543b7ded771bb878dde45baeccc125348db649d1e55b439844762d +PT = f219be69110cfccc7bb06c5eccbe025f3dc42d80c7a291344d71d359883038223538b7753585e5cdee6f289752e158ec64684d +AAD = cbc5899cbddf261dce64930ac918bf7811a07ed9 +CT = 8bfbc721358fb0589a79bcf0dd96e078209be53e1840350a2c58b5bfb8103bac7bee4999aab590f3ffb3d95f4487950ffd5e51 +Tag = 02a6a2386efd4ab2 + +Count = 9 +Key = cfc3ed096d3c9db8b57d84f2e21c7a95 +IV = 4e398ea823eed97463487eb4f68734081fbff4a3d2fce9550589a10130d9595ddce1ce2f334215e0aa2305bcfe3bfaa275e01298c475a326ec5e1a214cc5e6b81f59aab97edd2f23792ac2659e4ee7594896b7075986f4d326bd40dee8ec0afc4e86c27a6cc85fa41f78da24dfd2dc42c55c3a682d6fcf571ba625910f26e376 +PT = f3a4caafe212afe626c59f0ec91d44111dd1c375774b6c661b2c9c6421ed336bd5fad88943673e6dda04e606404cc82c184989 +AAD = dc1a620ab4a130e6899db30062cedc6c43a686e0 +CT = 5abbc7952377d04fcd8fa821059a7584a4435542a68196a0a6527ac2fe2e009aef3db1b6ed631b3b60db27882c42c0f73336be +Tag = 6a29d8562ddd1e91 + +Count = 10 +Key = fb1eaa103994b5d2964a93bbecb74df8 +IV = 410928eedb445cc13f382862e1020ab828d0484addda783242939972b8ae6b2f92bc75ded6d71e176c8e2c47df59072a4efde0ef457ffd5888c405aaf23e6c1a097211e60418ec28a09975f15c3c684ecef5b9383b7a9db36c4facfe61cb565d0f78828f25fba8e96e3ebf881736b1339fce8a7e71d36ec36e8e7f7457c2e36c +PT = 6395ca0e37c02cdfc912476873da0444eff599bbb3fc8f9af2592b3aceed83c32c358107a0bd8d6f309087defa9b4cf735d0f4 +AAD = 21570a80150c74aa21e45051ac4c09aa839b907b +CT = 5275c06c6262bcacac6c6cb5a5fb2a2a6165c23ee258bf869f69fd980cd6ee6b3b7bc3fa58a6da4ebf8d3ba0e4455852982ded +Tag = 899c7623f77bfa1d + +Count = 11 +Key = abf7597942e3b5bc23e8463c4d1b0fd5 +IV = 0761193a0886bb7fda868164c2fd37801863792fe8ab6da88042ae01f0da606562ef786ebec22b4b4de4b5c646af67897501e5865b77ef5738bc7f816e0b02d21b1ff2a006ac777e06a67baf1052b75c4f9e017b6e1e96e282c51c8470b7d77a2110ac9edf22bbc0932cfe7775b6a37e5cdac200c1faad9d925e38120a61e67b +PT = d7df8e06644e1c05653f87067b8bc89c4ec7776387bc5567351b9e1a259f646833642c9acc2f45cc3add04eb46225c29dba63f +AAD = 57a07b20d20fc5907dd3742bab3c1322fcc98b02 +CT = f2da3d3eb4f457f8d14eddacc7ed004caf7bbad21f9e2523983e4a1876c429325e30de0ad2c95c802f31784884b6e0db9b48c2 +Tag = 2f53717d03943d36 + +Count = 12 +Key = eac5da2b1f16ca5d5f0977f30395abd8 +IV = 53ef0a5463c15b7dddc1777f7ed8232f4b4d4474d9ed989f06c7cae319aa8cf7fa4bb577a4b6d065ca23fbb39be07dda87727c662f49585a65f0554b9995ed3e25ee8cf2aad6d1c1010cdd1af4749dc98bd86ec6ea16eab3a2346d7519d5eaef0514a1d07887616053210ea2f6a8df00407882ded2ffe69bb7ac309a0212ec90 +PT = 581c3a91f5707be1ff8a9c9889b5214aee12871ccf903d962f1d24bd1136f3179a332b880075f7fd8027c925696ad1cfa17ed2 +AAD = 4c3d6e5b0919514d2ceae4e4ff3bdf891cc43bf7 +CT = 0a1bab7194b7b82d8a4ccb639911a7b0cc781bcd0316ce3660a57b4c3d23f811fba63e150ea29f0360db6729ff8e7f64c1373a +Tag = c1a6cc2cd1217b34 + +Count = 13 +Key = c7ea9422045637dbad7a5176baa45f9e +IV = 7f3b9c4207a1a59585e3706031e39adf6e68e9b21771123b52aa5fb05f0b478e74785331f456222802c83b1252cdbc306411140c2acb2845492035969dc6c1fe83d6ae6f0f824bca691446039dc8ebc061d7c856019f6bf261b951fe6c3a96599a2ea83143a5f92f0a2496306f96b63d6e791ef2215efb93b73a972eb32dbca1 +PT = 81a8978e2ee26778683766965cb76cc6ada47fedbc98cd5a5035024fd63ffe769dbf4176e3f0eb816ee3dc1e1eb2214cde7f17 +AAD = 34613482bec4eb947eaca098baea17e7324beb0e +CT = 9ed1041e959d64fc628d264c4dab35c0a52980ffb5519f2afbb34ae4bfe2c2e6bc1489fd1a3ae4532f7f8688216b8426475a33 +Tag = 75a77e594a3c1598 + +Count = 14 +Key = 6293aa9b7ef6b1a30871fbc0c49622fd +IV = 07008d8012f2f3fc1cd6a3b53c9675141e5a460622cfe57f0b1c362466d9c15e92e7236f24e8f2f2e2e927a155d4819c188f11d0f18ec0c9c03f6eca02c0055b0279fc44afa2e7d51d5c18f2d59b5d0de01a28350ffeff2947d5a09bcbc1b9c305b3944eb25cc750b0e12883baf8ff440d861a72ca04bdb84f498de8a318b479 +PT = c36cf2514dd3e2436ed28aefb8599d04484f0f43b99585a1e42346b249fd60ac1b3dcfe49f4ccae18b213bde6228ac2c9e3a16 +AAD = c4b83b6fae4439d6c77db751bbf2030ca1fa55fd +CT = 75fd6cd6e2e843e86640563ea5a8bd37ccf0b56cb00eb9ece154b66d11e293bd464a035007ae76157fc9cc239d7885a77cbe5d +Tag = 5ad689716de3bd41 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 160] +[Taglen = 32] + +Count = 0 +Key = 5900fc1ade14cfc8b828ff98a0af1bbe +IV = e9ba224d909e2ca4a55b6a6e8df3e6b11ff31cea23b734e5ec12289e95123d2001427a35cefebe8c740cea9c095c274ce65a2b0c18ee6b4a0f4756b72bdca7ba58bfe14fb2d3f6ff111e12793ece02ff9442464b9e89bcefafb6425a7bbf752561c4eb14844142027ee7ed3dfb4309c02f370a8f8075ba5208db5b63943b3b35 +PT = 65e621d2f7cbe8e0a66491bd4e85e98988bde56d2ac7f3caaaa56964ea755193244d623bf78e7555395bfe7148cd72de7d91fe +AAD = ec7514f966f9ecf5a97283d484624889c166a323 +CT = cdd367a23fc00af2a06b5f1010cc3c23dff22925b8d884a209a92f16ffce1daa3de5bc9e892ba785be1e85a83ff8b14607f82a +Tag = 2db5ddc4 + +Count = 1 +Key = 23f8d3162be0f56d1a04322b9ad51324 +IV = 69ea89992dabbad70e325e9d2575175df7ca2b10c4bb2ff0e1a30d48b512489724e525d4aab0aecf18f8e461a9ce81686732b97a0db8689f0cf9f1d8a685327c55298c08194a4f7c37951c87ca6687a49b96ed9d88e68d4ad95cffe24e31bdb33d3263dcb6e111bece9a90e5695608b64fff9b079663b6ecbd75bc01b095df78 +PT = 8897748f29423bbf978d23fb8426730613beed8b3e2e9b5b777170a21e053ebf61c8dbe80eb44e4bc58a5fc8579a3a745882f9 +AAD = 604f4345bc5f85c760dd01c0d1c3f5d4ca9b4aec +CT = 4eb8796ef497f16a262db940e6ace0a50c6e8820d56a90a99cb7845b23db9f2184f8904218bb3d1ff80dbce761e08ffece459a +Tag = b168dc0e + +Count = 2 +Key = 14547d1053deddd17643fc171a741ba1 +IV = ffa37fe562c56a4c5f0801c274b4743dc92373187a0dfc137f7e5ddd3142f72786944412533ca73cb4d5f74d39e0a8443693fe2ad22a51d5145dbb38d766aa1f720cf4f0c8d303f4469a126053f4d7aee45b3f3fc5cbfddbffe565793e1883e08a46ca001a5493a929126bdfb1c7a9a11b72910861df0bcf2ebdf835dfd41293 +PT = c41bddfd9671e6fef1b4e84a2f2218b3ed8763ea0599fcd0791b48b462805f3c82e1efb27c85a443f11ca0e9a274279df187a7 +AAD = fc6caf5e728e0594894bd55027ded87f79269c7c +CT = 30e724874bd19087da6f10cd32ed000dea4dbcdf4130a18a29f865eb7fe9431f55a57de2156b38decb3a7700d9154dc2c34b11 +Tag = 57c10bf9 + +Count = 3 +Key = 9eb676c1c75a7c933653857693dcc280 +IV = 3bdcded42796f95038358a2ab86a1327f0ff7b739be6eb047bc5ae7388c75527fa00c84bbc3821e423c31b06e7464d04a8d18577f438c4725e9fbcdbb52a4fe1fea148972c615692e88f54de7ae004431c2e913351c89887bf0ddd801b122c00fdcdd65d6cbbd2433a6b83e4c0bfe1977bdcf43d4f022c855ca9de54618faf05 +PT = 9c2d18a7cdbc029c6e179c44f94ee26876263514de57ba5f8a493c4b8d645b8cfa76339de952422381d656a838879b092a28db +AAD = a01211ddce791cd837df3181e058fa6731dce721 +CT = 8b5f5a35433dc33d82764df87e7652d97712944cba3c830d982557b44d015db5b2ae623e21ec8e4a470936027169ab33bdc682 +Tag = 9c17288f + +Count = 4 +Key = 5e11d6e148338bf459808d0a44af862d +IV = dba6276736838ab5cf3ec8a64d780c36d4bd56d83e57e413406b762884f83b179b499b44e4b219e322125bd2bf1c6afccc1dcabca14d8de53d9ad62d66e4fee870a256a4484728834533040bc0b2dc6afd4f94c9632cbf8a54aaf28d74335b01ea395264118d4b0cc36ffeb0693767796fb62c8bac3c1a4f9662bef592462c7b +PT = efd8861180fbc8fb1187c4f87f5e6ab2689c6e24c39abed03074aadc5283696410952daa97ca674c2758ce5d24ddfd819a9404 +AAD = a2e29b33fbf5973260cab708b31e09a92e12269d +CT = 6ff77ad3d20601dfb457afa74903acaf448e55a18cee41b7d3df6e1be967ef5cf85b9392ff98fa8bf0ce8c20fee78c4f0772d2 +Tag = 523a0336 + +Count = 5 +Key = fc1f58aa8ae4a0cb9ccb587e805253a5 +IV = e738940bfdf927201d3737fc23e0909dbfbafb13d6621c235e5e64f8933294cb6812ee629a9b0fe36b9000200da83f6554d3a180ae84680c4501e24c2517cf01e6068533b3818a53328187b3014b7dcc81a248fbb730b6326d101cb62c8cd03e31a926b85ba560b0bc846308e1ac7daf03a022612818dba9a8960a95f08e15aa +PT = fefa9be7c239a8a5c597e3a623ba6bb8f651b9421444aa816f88f8acc69391f1ae35f734fdb59f32c73fb1fcd8e960e82f0eb1 +AAD = 9030dac124eb746fc08992216107820e9d162e29 +CT = 733a798d33fc51e88c5c4eaedf1add14fef4efab9340b1ed61d11cb805e126d32a0c2bd8de81eb148c9032a9fa48e0cad38b08 +Tag = eb4b6d2f + +Count = 6 +Key = 17e7114e1261445d7a940a4e1c6f04a4 +IV = 531739eaa08a57c236e62d3cd195e52aef433d4cce3666ff73114056d2eef4e0a0f2dd1637fca2e81955ce27197214e84ad5dc0beb225c493bfdb3d2e73729ca4d1a3a8364b70899da3f76a56f40c7e128ed9657754d1b8e430c5965406a3a284ff11ea5d3f88e0b25809112c87fb08e6bdb7cea04afeea0742c28265c4d4370 +PT = 056119ea9d7dd4d23eeba55d5a6668c616bb2192eae933f1d69d38a630f34aa8f77e59de11c4bee00c9685372c4d362cf7f80e +AAD = 3dd6e7cfd3da6834e3cf88eec1ec1883e6bf897d +CT = 04600493b87c2198bc736ae2323a6d9e29bfb203fc6b46ed9510b0373175c36fc8c3994b9261c416f0b4b19099471ceeb28934 +Tag = 331893bb + +Count = 7 +Key = 34a75f4d071fda49fb54b37882b4a0e0 +IV = 7541a536ed1bf3f19cb2bce1cd749da1f37c7da127667c7d5c95c7b1688ee7896fb7033dd614f4ebe85507244a43634605b3896d6b0b988cf0d470f6a653d449b758892057f8b39c384d08f48e6bf7fa92eadf353621535221288931036f40279ff078ad3c3176a7b5c0c99978ef469d60e29e72cb908b2a7119a22deab26b3c +PT = 31eb19da97ba74177ffec309c59a41cb4821c44aea94bc945a1b1db17208abda0ea8db96ba34f5bcec01bbb04b3ab4aa15414a +AAD = 27b158f549b0215f0cc177b5331e5bad3f6a8908 +CT = 7285153340a303bc181b66cf22446ba3b93d766263c274d12df90598eb0010f1e28dfbe8c64ea56b2e0785b3dee7eacd0a9404 +Tag = 74079e57 + +Count = 8 +Key = 35a6f38e8ac5c421faa29a7ff313f9f6 +IV = 03e9f13bc0b1bec342e90f16ea09cef3a65da7a3705dae8280390e63c7c2a8d9ca4e74d315a91677d64b28dbe024f3b05d5f47f12ac9f961489b41502c405a918f45eb8b7f3e4e87e04d6cadd3ebeb2c7f579215b8b0e80cf58d1056929d1acd58d05a9d7b2c137f6c9770960747c83133bfb21a5a87b061affd0c1fe50fa2fc +PT = 01075cfaf7ee1fce75d34e0c3489dec3906788567ce38a8cc3923dd2f5e8ea7ea63073211b7cb1d448091a4e9339951b04b5e7 +AAD = 441dd57c1a8e2212e01f707a4a300bf3b479265b +CT = 18f21c4ec57f46bb76e1b1fb31f1ed425b0e153dad20b254991aae80528167d5870a66a1fb0b3e536608719616504cc876ef3e +Tag = a857ecd4 + +Count = 9 +Key = eba216f4c8a5f7d942a930814438d9b7 +IV = faff654b5cf379b11a3a63bbd39df114d5a65768da15f22463b376988ab4d4520104f78416757857aafd471bbb38ee7b4ba91a05c3aa3b71d4181fa42307186a87467f26294ab9cb5e837d7e006ee43a727fc60b9b012477178a1a0ec9401f61e6a7ae640c29466e495d875e15fd2eec311deceb990e85bdc3b15e8b2f211273 +PT = 6aa19014f6635e567bc0bce7e148e24d7d140053678badda6cd57873219caa63531b88cf04b08d64c80fe657616a885d97a15b +AAD = cc070f60057a3eab16b2cda36a097dd8f9f1647e +CT = 632eb568d75e996069687e89700491334749f18b0b58acc388bec695274bea673ca136a9a6317b05da10a31a16c9a294c70c6f +Tag = d77955ec + +Count = 10 +Key = 007022b879ffd5a4e5a0b84ac70f371e +IV = 55d109dfd3461b4ea40d825ea5772315d635803fb36f663dc1270c395b92f9e6359f2c0da5dc2733e4bee41c8bab20560c73fc49514cc1535f6979ceed9e3cbcd45041c496ca430ccd5906c0c6c57683c41d430fecdb51e9a4ff05bb6aa6c8aa778c1d582a4e99e827371c016d95e29cf4e195ab2308f863fc45bb1ed8258a2c +PT = 7a558fb7bf53748e998e9f28e30af03945dac3ba83b5f8fe98d6d6fd42596944d08003211c4b6dab78c433dcb9a86b95082dc9 +AAD = ca3163bc3888f59ab062f206b2c31a86b2b64d4a +CT = 14747abfcef3c078f979fb23d34574c10b303a220d1ed8ae66d6146421ffced25f94acb313ab9e5cd5b7fba37a5550fb9ccd35 +Tag = 10e6bfbf + +Count = 11 +Key = 9a47229dccb9c4a42a18894760be1154 +IV = 09803d241c76c073c83498af3bf0fde6818f09f86fe522657c197ff6907ad18b075968549086f3f6d0392129f9e546b28b52ee638411aa1fb20a648f6f49a2a45107385dbd7e3d442e3c0bd842fa46845bd5029c50f26d90b9470a5fb0a267625e856f498f269d98b5624847ffdb4c7a953b211dbf506411c9249d8e66026d4c +PT = ef126755c0243599c6f654c39def4fdfe4b9429c3a12d99e50f12068510f5629e081399a4df3c69422e117e46e8fcd0eeb0065 +AAD = 943866cb1ec677af11570805d32b6b81b14a9fcb +CT = 2b21d2e4b10614479caebeca7775d411ad466e2ca069dbc40da6c1a5f62f18fa285949a7aa1c87b8900f30df01c515577e0f30 +Tag = c0ffba8b + +Count = 12 +Key = f3396d727f133871f7fdac1e892a18f1 +IV = aa35a34bf7152e97d3184cf0f133a9f0d16bc7efe36f8b1a1c4c316a59d927be48b6e9f73df1e71780e583f9740ed4917742d52b6e444162e70e893f1595368db311e2b03ecf79ecf7e5542a5db7350c61a3a81c56333feea2047072fb2bb081a976c404d22bb73223344ed4ee3540ed074e657239ed397a926154a3cb675917 +PT = 4843f3ac37a6828a9f33c1a36eb56edc5cbd53a75a1413c461b13b34b57a1b4086d869df209764dc9e9e67db946f38f5fa6149 +AAD = b61b56bf2fa0469d53294edaf4ed92002473fc6a +CT = 30806d58932797d641d426efa678248a0e5778c051b12401735fc6f6b545c67aea318efaf5054bf9b3b58a46d4bccf7d4337a5 +Tag = fb83fd79 + +Count = 13 +Key = 2d324e17db4b508452ed9a29949db969 +IV = ba6527d6ab19580e4fe959c9d93e7d26790db368e42acb72ee0ece8728549bd62a80e860e6769aaa0a63cdb4c6bf2216facce6fd0759ebfe85e2a71dac7e87d69338c840c7850b98f32c24d750790d37c041aeb5b61cac102d55bbb1a66c6237d0596024eb137f625dd6d8f92c29740129dfdbae95ffda355916a93188fa2d12 +PT = e14c9edd8f7f5d68a86f9ceb8d452e4a64c2dc0ea97d9b180d791ac7ad6bd27d9ea8bf6e818011a0b35ea1e8a8964b42d83dfc +AAD = 8de92fefd926b6559065a4107b4e5718add3bfe8 +CT = d90012b40643235caced25c1054ce977c881ec31620b53dc218d7c936c2c36a0227562eb78257511a17cb8c5a4346d954c9090 +Tag = 012b9c0d + +Count = 14 +Key = 65553b90e2ca1128ffeb9df56e58d628 +IV = e4d96d0e9bbeae20fdefed9c3dacad56f3d6593e07ad03460c1a16f5df6a1a21f0bdc6db8128e41f8acb09bb4b53b7e7fd3bc48d0b7d518d900df25273e0ca57955bfa7cf3ffcdac9349a55087c9f464109f61afef3ac9cec03d14331453b6d23efcf6dd1040cc76e9710ff4157d3e11a0ce21b43e042d383214ca31a288f56e +PT = d19600ea0be63a175978a75304121f08c4823f14ac421f8a43276f9dad4e5c588d7728106887ad594d099406159c1bbfed7b52 +AAD = 9b860d493c1b9d6906407c9f52fb8ef6580dfee1 +CT = ba135d5c864c335c03a09c8c2d928661fe520264009fd3ac15aae5e5507920d0403cf1e8d210932e57ff5986cdd56abec15ed8 +Tag = 4dc5a66c + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 128] + +Count = 0 +Key = 141f1ce91989b07e7eb6ae1dbd81ea5e +IV = 49451da24bd6074509d3cebc2c0394c972e6934b45a1d91f3ce1d3ca69e194aa1958a7c21b6f21d530ce6d2cc5256a3f846b6f9d2f38df0102c4791e57df038f6e69085646007df999751e248e06c47245f4cd3b8004585a7470dee1690e9d2d63169a58d243c0b57b3e5b4a481a3e4e8c60007094ef3adea2e8f05dd3a1396f +PT = d384305af2388699aa302f510913fed0f2cb63ba42efa8c5c9de2922a2ec2fe87719dadf1eb0aef212b51e74c9c5b934104a43 +AAD = 630cf18a91cc5a6481ac9eefd65c24b1a3c93396bd7294d6b8ba323951727666c947a21894a079ef061ee159c05beeb4 +CT = f4c34e5fbe74c0297313268296cd561d59ccc95bbfcdfcdc71b0097dbd83240446b28dc088abd42b0fc687f208190ff24c0548 +Tag = dbb93bbb56d0439cd09f620a57687f5d + +Count = 1 +Key = 65ee743d83c3d41d7ff51ed26ced48ef +IV = a4d84c097499ac28bd0ae927f3600a4e88f190728ecc7f9fa3060d121b02d2be335608f1aa8dd12119c335618218a30bd467c9f8428814a58e44ac76db7cc369d3416f70cf56f7b1b04b322b58c9b8ef89a8c75ab221bf4e70cb1a4ac13986bcb10ff1f534da6f01b06c3387b21242d6cc8f91f0aec3d383d7785e30bae72002 +PT = f91f43bb44b13c087a93e8c47fb762cfcc5ec3bdaf2a3d6a6203c150d1a2b6c37fd65c0448157536def88f43aa2a208efb0ad8 +AAD = 6b04b8cddd750b4679be77f3afe91ec5b8a4e6d51e1ee527b53b3d10e272accb6cada940c2033875d0ef296b0763144d +CT = 4d0f43110b8b13f20e486d96914137c315ae83a55111a9138386f595ee4b4dc5eb827e6be04a6d489166e3d845dc567af21222 +Tag = 8fd5464d7dc7e4d5a0a8b0ddb409ba80 + +Count = 2 +Key = 95c7b86ef875ea1900b3bb9cf5eba7fe +IV = 9ee0f70a7c128a195509cf3984fbbdc4d79332b06f4677633f98ad496e495b6edf81c942670e35991e31fc23eb20468e5a285d7409e459399b92a838c07b65c6ace103260fe6c3d6d972baac78364d7a3f777b462f74038e92d4a290a0c5a0d94a9b722e2ba1a5c4359d084429954357d25afe7ebc71ab31f83456f667ba127b +PT = b10666e5c9da4678be04c32255fe971eb25b2fc3ddad9e601dc3f70ed4da800b8a46334fca37c8693575f3e18cd9310b9870c4 +AAD = cfbff356efa1ff3a9d521e19671129b9c255f5495a20bd50ce337b643c96f1ee76bf26b8f384f75ee48fcdb65a8e75fc +CT = fe8da6943c92925d4e963c5923821bc62ee864cc965b478cb9b885b346f85897a9b200bf706c0cb23ef8106feee0eeb3518473 +Tag = b769c4f50fd0aa1014c380fa3485e550 + +Count = 3 +Key = 4fae5ffe6ed9a73b1ba43771f1296b01 +IV = 1f5f1e39968c93d2935fbe5f90c1cf508b51981176a30acf0a3b761fc14ca19da3dbfdfaa555ae85315671da9a8eabee75d68038a5b812acde393fe80d2a305b8ba9f12c5527bf3aa316914a4c393796557f9833f0011ce632bfbfc0881da2021ecec819a100a9eb4b1ad965d9c175c22e8ad9ce97bc93ebe7a3a081af927879 +PT = ab6864c8a01b90fd0bb9d37f6ecaea6cfc876ff1ec3b2dd01b6647d72836db093e0ee705ebb307d334b53c80072ef7a732b1f1 +AAD = 1995b7599284de78695666a01571c29e9b42d29d5c98b9a357d996dc6f2fc77494169944e90fcffff9bc490797021744 +CT = 99ad0b09883139bdeb42b9a438c509fa74b7a150eb52009f8a05014d74f05e66f13a1cc9cb5b165970cacd1c481f4e8047288d +Tag = d119a563e61c8690835dd40ad8f26bcf + +Count = 4 +Key = 09d3e7ff8199146a9bac54e83eb41000 +IV = c5117fd64b28bffdc3a57b554cb44559f90aefc05c189676b225c9700bd847465a763241b9211ad080dace086019c0c6a9a1e97a30e050691db64ec742d44dce2c7404d9e34521fca76d721f10c95e76b04a838f8c29c5fae7ef5f9a3268d97cce3f153b13e753765709ca4cd97cf1cf8510668e404bd5b5316188ffa40f733f +PT = aa2b6fdc8ad18faddd2b1cfd8d33a2634971ac51d834a130cc50bf7c3c78ebe486664b46844a88710e5762eee358ebe72da88e +AAD = 887d8b1ff14adad745ba57a8be1b37b7d836b9b6d2a05083c786104a41a82c4e72fd343314d543ffe43880e6337ea469 +CT = e9b6b61f79ca5aa2e405649738e844891ebda39848415773b8e0f09e711f34dcb3f3595da0a930d96fa18e6cf3aa35e1f71306 +Tag = d3760892661caa97fbf829fa42c979d9 + +Count = 5 +Key = b1969ad8675e5d4ec7c2376408a3bccb +IV = 911af11b991ff3cca96f85c288321fa973fe5cec4e0935cf0afb1bf5d1aa3d1189443858c41a54e3c0cd6715468176e636c4ea415bc0eb4dd2c8c59f2c998b34b1c01b840439fd6c82281f264939524b0ef05852627cb7aba22cb112f5c0c813a30544a7e8a3acf19d3f37e6b6a1e998cfec40653092a2074d04970004136709 +PT = 7cba0d5d60c284e16d62618cb4240c07edb0043d9a96950f7605661f9107962938d9d8661d2f20756aeea80c4179c517ddcb89 +AAD = c0a768672e5b5cb2e5ad60cba0d7c8dbfa4d415a8f200039c33f36cf4829261f3eba915080a4d0fb42d2fff6e84d3e82 +CT = a32d55bda05c0e20205c9eb8c84babb93193cfdeed49bd198c9d37afcf828afeaa654488ddfd12b50278d7532d3fd04ec80b43 +Tag = 2a17f739a2613008348bda9a07eac15f + +Count = 6 +Key = 0102fbb09f6156ba825e326d8157418c +IV = 31e72cc50c270513b67909cd7f7808a79143afdbc531f0e2ad38709dd30f2c74594ab02df567dc57d41562c6b24817a910f3c564790744ca898cba3ba8d84db773783df09b8c60fe37703df1a066ba68249796a23bc5d7a156f9bfffc97a9f2b079422ebdb3db2355240d6f29df035b1cbc79fca28b76664b0c2a1761d74e40b +PT = 76d14c408c1f909923a353f360bde98872aa3ab0e276e7d4aeb3d6acfedf3137cba67e28e68c6199727664c8100f0e010318b9 +AAD = b7722e85d216030335a8c26f8a9eb662690d4d8599e6aa68195d9eed1c2ea4ee8226fcc5fbfa7c4d2b8e5607581956c5 +CT = 5ed38e44e2ce1b8ae130ff05f1e9ba6b5fb7e33c1a78b370c5d5e18eeadff4347633971332bd17e48bf17803c7f39698c47192 +Tag = b1ebb82b3c1a44b13347cb48a8ca491a + +Count = 7 +Key = 205611cd7d7ed6e6d45889705b3fef3f +IV = 82a0c18e861c566b4e70a1c7d2de4b586d417ae26f3a00eaea3ad7481915563d775ba48a03ade5b526bb44cf808a1691978a485dd2bdf9f349fe717387d0d7c6861589deec2d1fbf509deb9ead45e1deffa0f77a4e47564fe275ac2a33d110e63e848598a15377320da944b1ab8a7340fa3cbf75f0d129c93d0bc69cd1338879 +PT = 59a864c85a9e30d82f48461f1751adacf9ca6b8583c35cfb8ab58a023a3b9fa81b09e93bb22ed4f9f2526cd74d887e678788f6 +AAD = c85a92a2f25bb1617e7880875a3d7992d76ddc0798a2ab8b569490a09e84cefb1a2cc31ec14dd366282d46b1eae8df0e +CT = d57df58ff9d27f6a8b38b129a0f1f9c73311c7e9bee13ffc15dab462d0b97a39e19f299143f5049b943a65cbb6ac3e40b9c531 +Tag = eca8045bba685345c37a784b43dcd60e + +Count = 8 +Key = 954975d7569071a516604f77fb35e395 +IV = c8fd2ffc2f93b9c85b8c78e8eee4ee1c5683ab248054f1aa03f3f997409a88beeffdb66d12a325c0492f98a4da69833253060fa1a6a60c83dc66ff5dfe1339c390f8189c22548fabf427bf52be6d8eee93c7417fd024d21c7b18bcb78de13666760d34cf13d4339154cef4860ecb69a02f1cf31397ec9463c71d832d34eb75ad +PT = 28bb377f6386446056d7d5309cbb43670e5c93f26d359b4c251d4c593c5a562620b96b5bfd68032e5c3de2fb129c0ca943a856 +AAD = 147968688a11bb52c151777127293a85eb15953580b0d918be6e5482d88a897601dd3a58984d02a794c5775bc82f530a +CT = 7a3b6e12a59a836d2b7d4b546782ddcaf6874c1d4fe312223b3613144addc511479c7cf2308f7df9e0ec3fa3c8ff8b941960b8 +Tag = daa1f01d82377d03f2213bc0a5b496f6 + +Count = 9 +Key = a5e21b1ce6ebccb2f052fedfcb975523 +IV = 3e9e37a11a5ac7e22110f1605d4d73538b4c2d22f715d0ddba7a5f36127f5e3b7973073b3e66cb52ee551bbc26ce424f306908eaa4d7ee3d053d561171c2aa6fb899dc781f7056c64ef1f34c4e35a73724df0e183efe11b3b1b32f173931c7d73ac67bd220893d63df95fb787ab8092531006f82f835d8955b6bdcbeb97da244 +PT = 712d40a284a0e26e2bc9f4c7842c0330f3ba0f46615fda947f548c21c4a407b09e94f00c5e237e43d4b7bab73aaf9550f30123 +AAD = a71f7b504349fbf2ef80d2d89a5d81caa7bb7df13ad7849be3585366ce8049371bbb1891014dd1c1031229e0c65e1797 +CT = b71d370418eae071832c021d12063e3a9f02f81f2b938e8d9d926a203eb21aa5e49b128cb75f18741cb156d2cda1429c97d6cc +Tag = 79b8f032972361e9ba07c7961274bdf7 + +Count = 10 +Key = 662b44ed323e59de7d3da21c4b47d9ef +IV = d55cedae2cbc424a20f8845cad3109c85d258dcaebe4f1c66c1e78c323a21df0f499e4a89fc1e2b1168eb9ee5c6d584ebb04bfe52d7ec5396778c0034e89ff0e56072d4165253d90b02e6d1ad46a17668c2d372048430f74a78c6eaec4c08f1414b204331c4caa40a39373d1b097cdb22018926f0a2fdc2d27d8bbe419896054 +PT = 06cbde660652afec340c30ea2bdeb7e25f3e727d566496fe536f86ef32b4e75aebd33d4b14c36f996f981be6b4e99290a813e6 +AAD = 53616ec55defaadb4a25ff2457addff3bc744f48703f8e797f81109e4b04685752751323fe8bae537c1ece1ea02d5a91 +CT = a75efde86c8a2ec00046c7e0cf231d575860f6ab5aada37db9ec9d73544567195d779d8ebbbdb81d0397cedfe341bf78e4a2b7 +Tag = 8eb6f3677c88d9368c2d7d582ecc877e + +Count = 11 +Key = bd3e58519c954040176fc9ac6c722c27 +IV = b3f59eb240e26b788996582e004cdaeaba1b55135bf70c114ea0492ab57a42259dd93a0e7b6c466ad1ac4e9a13430aaa671c79a75fd9667b9cd44ab5e01672c4d1ae97c1147bdb507018738b4136c8e6f79f36bceb42ffcfd98d59527c355cfb206c8d111d379dce98ae6dc8a7a5f391aba420586f0d9d63a26cf35c24e449fc +PT = e5c572b410418276338c39e8a9e38a7128b2bd3ed872e45849d6b7a4bd51e98925b0fd2ca9dab6778fb8e9180c9ff84d260774 +AAD = e32c4dfea611ffd381dc756c6c5322a91a68d7307ce3c411f8cbee141f1edc5c84f3627b753a0ca8aaf7c67e6bf58cc1 +CT = 7e26796d15a71f14cc0cb86f13276d70af84b872b26a2a2496f1144bcd6a9757576383cdfb30ea4e29f3184b1e378493514644 +Tag = 0424f42b6460ef71c3967a7a8d283ab0 + +Count = 12 +Key = 7d36401baac257138960193604f52e24 +IV = b6844f78e2b185c7ba519591fc984025bdab9c76ecdb5b32682b5c69f23a55c385424935f0ded71605c4120839f8e8e421e5f8bd4c99208c53ced717384f09015b6e7942864384e39648bc2838657a80c69fa3d139da3b194cba7ef7f591249d98c980b90b948cb71430656d983cf42b07fd02a2c777eb98180bcc9dd49f71b0 +PT = f8598f903f7b9b4f6b0a1547c06c3ce51efad1f07f68cd38d8d4b13f76b16635c9896e3ed78dbd7827e0d0505a54334a23964a +AAD = 1b252dba80d8dfa93ae08d5e191bd612e258a4e7491e2a849cc0b6d03fae18fd06e5db2865644c9f72fadec82abc2e1d +CT = 30d09ac7e77032b3b543496e4408c53eccd6a40c5b8237977bdb3a760f68460f31876ab67935eb9e1c5017c7737510bd56d816 +Tag = e5dd06e8ecf8ff4505fd29e301ba6b6c + +Count = 13 +Key = 5278dea1475751b74278e4e5b73bf047 +IV = 6f5f6ef1e59ec2b2e0b0a16adaed38590eb65674a3f2791748c4ed3c70a8e8e83eb1277cb94afb334af08899b50c8a994d96648002976fc67452de8c1fad601899778d565bd4d74c9d1f86c0f9a70ac534c36e4179c20ca44af5b42d1dde913677e0c277c527538090d01f73f9c03a1c4d8f61850f18e2dc11bdea6ececcbcfb +PT = be42086e90c67081340229ce59f0ced04ae708c9994d0d6ac3a56c6460c9c89d659834962f4ada7b2c6732fe260fa9105bc44f +AAD = daaf7d9689fd9e1bfd9156f6d33914b83397bcc7d7b8c1d251d9caad3e29ee0d94caef82261fee5480fd5766a6cb4ee4 +CT = a7d7dcfafca6faf7fe9006036082cd430ea3140ca080f2605cfc4e0fc7fc7764ecf6e24cdfe139f750c3f6f7e3b1c967608093 +Tag = b0c43dfa122597193b8644f03c019173 + +Count = 14 +Key = 393834e2be65c3c8b713871c81770b3c +IV = 3a7b61408cdebd73511ff890487d7c838709fca66a84a292cbc9662d172274f9a3ccbd7a48f2da7babfda8f01c7f15a800343b5e907bcfc3899a30c107a2d4e8f0f7b0108d4a4d373bcb9cbd5c443b6c1b09a5d9d1aa294ed8de629ec3f71cec82428f1848e31b0434851d9481b0421254601790938d0e0d1330674b787835c4 +PT = e42c006ccaac22aef75a9f1b841da8243a6050ec109fd26ddfecfec8098b8da09469927b8fca1f57d0dcd38c71b7efaff51254 +AAD = 402fa442b43ac28e44424f18cc3779b2cf18bef48af0821f7896dc77e38b253c1fa5817f6cd5daea69d7c0d210c65580 +CT = e1da4770895174fcebbc7d2a1afb86b7c23e96a3c3af0538a7bfcf10ff5994a5aee3e029f499f91b68d76dceae9186dc05a971 +Tag = 882dc161662c1c50657c083965a4ea25 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 120] + +Count = 0 +Key = b0cc11bb45dcbf2998a25ab48969ff57 +IV = 0d206aad0689ad84325a55979ef837a763009b16ffbea9ecb3da689acf42c16fa912f7de6133e5d71169cdd4c2c4137b9fa73ba003417d490d712dd0fb7daa5a94eebf13f4cfa013194fc64ccb36e9aede0dadbfe9c6abfbbe7150935b6076902672eef9f201a8528543a1efdd5a539a1f8c3ff318657fce33ceb3d449db9da9 +PT = 2ba58e2ca597b272f287252c69e6c463ffffd6a9dc91462779f5840484a30399c79a2a984f69cc86137912418f8630c9800ec5 +AAD = 4049cd4d9fac9559640eb5dce82c800cb963564b597c921763427ac47a537ad31161042fe41a5014bd86a768ba524e4c +CT = 27cfe711e12d4ffbb0d70a65b6cf6384f6c2632cc829bdf4190a428d3e4f30f9eed56db3dc100a794a92c6216d5d1e30a11285 +Tag = 568079e191efd0503f30e40dde9032 + +Count = 1 +Key = 9627f103d11befba5d601cdc5ce2ee10 +IV = e8af5e5770180f952d73a18df7003e348f1095d87544b78523dbe0c7dfcafd8a76f87dda16db078a4060115bf44ac53ee7d602295a123f3ec1ebdb3915027bb93382dabfacb8143f470fb3a31779b15755939c8575db3d2fe58dbeb44083e906245cd19500b5662171a4a7ec0cb5c173fc1e577fe9ffb144571f8be94fda876b +PT = 0532db4ceb9838e09394f3f85749f297e464ab8a78c5f74584e41b62620b1b417ae74a2fefaa483267c4c274efd91b4eaef0af +AAD = 74319942506b10be373f66aef31944a531b0dfce0790c7014fc13fe943b0bd1dce78e75bcba68a35521747bc8503055b +CT = 63e223413a2e744fc115b32d033571df3520a2e5b6cb7fb5654f1d70cfc3511f7ad293bd950b601cd1bcc2f111b09f573f9254 +Tag = 704eab4437828847acf22e58344c3d + +Count = 2 +Key = 1ef3379efa4746fa8ed93e4bbdd27430 +IV = a52d05a4e3b6fe21a3cd626b95748d3ab5eafbb5cc795f63bffe7ad5539bd872141b303f7729e4244b9cc6f515666266068a288f0fb44121d72675502abf55af0c698a43dc7ae32202aefa340dc6907f9e345b132bd3198be840752eafe83198a4cff4666b4202062d9d0f331452735883e2f7e46abfe189d39f4e08fcf3f77b +PT = 583d9b2c4b5eb20023ad8ef4dc3cf2115630b399b826bf9475b2c83f7a50f48bfef49bb8461a131932c242e7e62156456289a9 +AAD = 824bf8662feceee91f2bb60e7cfba8ab6c6dbb8c892e3827ef4b2cf31df2af0ed0d92050284f478229eb6b5e440816e5 +CT = 470a73d6222e0c2b366be5fafc2eb87019c2070c463b54d34756e8e0d87cea1cad9b1341c2602bb8ed6009d5fafff7075e75ee +Tag = e22e1ea06cb2fa17b4f6dc8570193a + +Count = 3 +Key = d5e3851b15a9884eb29b771ead906c5f +IV = d239c2d044e312bb2137e5b5ac8c5ebf4c047a9607c9c9aa1d45ed11e0de9c9efa660d5848de31ddb9e36b27851ec340e52cf25b8afc66985aaa007370ccc4e4ccbca18ee72091269192c39690249896af4a98d0d1a95ee2a04410fe61e307f3a077d277ea07f1905440a3af1f45f8a5f185d2b22a81b4c6b1ba1b56de951ced +PT = b1ff608b9ed5d603fc3986dca5926a48a414a75bbf422940cd3536bb9163101d4e12506f87c6dba133e0cae952ac568417bdae +AAD = f6831d25192d73a367286518e5d6e1c8f1a233481218d77761543306299d402819ad88358d09331daadbbbf014197adc +CT = 3e7ab512bd46e86912ef4bcd7179bd0f143f08404a97d6a1c7433708296ccb8d01326b2a050995c36721234868fca26c6b6b19 +Tag = f5f30b037219f39b0f2d69b12be791 + +Count = 4 +Key = d51cdbb962ec460a45a8d17a651345c0 +IV = 0d9ff0d893166074607d20b8288b3c720dc47934b859aa74d7d9fba627f2500b075efa55c2d3d3e3424bb6858bc22600a028ead5f22dee40eb3aedf531c57006daf0662819ea12a84dd9e4c10786a207688107ad8d78574a3402b60865647073c71f17e64043173b343c34b3cc70da43fa01799f5814147cfe15a126c35e5758 +PT = 3eb734f4a32fc9a2f41c33e614a31a5f4fb7b3aaa6b0abcbf5a329a2826920158a613d7967d84583fbc77fdd08e74c26880bf2 +AAD = 7c59536af6ded0cce2585ca6874cdcfb7ee88521e3a9ebb9584dda9211037eeefbc78756965bf5318d0b3567492402fc +CT = 2c5787014a0847572e042d2f2f00bb128a0ef48e3167c213d61b419e00c51263083ac693e336f8f4dcffc2b3c09b97ae0536b3 +Tag = 49f9013d865d500f4c0a2123512fe4 + +Count = 5 +Key = 741bfedf8c02c9240bd808efbf3fb4fa +IV = 8e3893db84a4d861c8e2a367e9e23ce0fc8e1828699c0fed28a155894fdcbb02e5a0c3805cc220b91591792e8197dc117c979ac9157a2ce5b47de0c3452fb0c18d020ad50ab90e25d489a5bc770eba8dceae5fa8f06bae01039d24623a150eab55af1ffb7db8de01ec5e459cf2e30c2b9ca9ea2c046c64c2185978c5a65ed67e +PT = c575320985757c887e3a6b2615fb9674c1e6fa43103eadc13a6e3436b758e959e4db6747d0d0ae053fc53e105a1628afc7403b +AAD = 70dfd99b4277f62e96d27c56e6747b28d44d8c98771bf7775e7917e551515430756ca47f9ea2a922acd847436c0f81db +CT = bccd7e225e3e2f57243ec17d0d59bcd2c88b3bee2234525160b1d460268e7841386ee3e340e6b4217eba1850df2cf4c4aaaaa8 +Tag = e4dcf95c4d86ea9397870aa2cb7c11 + +Count = 6 +Key = 872193561709acc956420607d7c298a0 +IV = bcaef7b14c09e2e52ee8e82b41d2333fd44e7eef0949db570e649b5850e5199978a0e55a2f8cfaa86412d646a02bd18587cd75595573b05f0ca1c50b986b75d64d943d46e58f98ae73c0a0ac6f550c75b53518006383adcef7c0a1a3bfab62c47d04c0d09ab60daf8f145be69696f899ecfcb8b213ca023f18c87281de5663c3 +PT = c9d8f2452695b2b69221a8818090a816a410b6fe659ab880681e07fa7f6f387b55260437c52044874e1712d8ce7d263a3f92d8 +AAD = 874979a91da1b90ad4e971d07e114f8f1e3a3fb1d27ea7952c2cf1e3d2baaf3362811bba51f76d76f749def0b92e1cad +CT = d7cb557662469eea3443ce42e746b34d994ea07c98bd36f6504a635d2f77624bd19588a5a6cb35a0b3947789ebf5f107c2c093 +Tag = d3dabd4a3bfde2ea8f2c177d1a6e47 + +Count = 7 +Key = ab6ce648d0305446e481ae4d7866d1bc +IV = 0cba5e85967fbf5afbdea57876cd60d7a319599b5812e200b070cd13de445068c2d297148992e64276f386bdcc98fa00fb4ef8fddaa09976730585201b11159885ade7c4302689747c78dc543e44e0ce7b3dc4911560b398b39d128d2e51420e2f9f55b554702bc25f6b04c4d632a0536fb27f211c862b968faac91117728b91 +PT = 2925cfbabb8a86ec39495c2ad9893192b39e95034a92097f6875b2374fc4f440b64ecbbfdfeabf737d8dcbf761a44123d5ae68 +AAD = 09629ed935020fb5224da84cc6972da32fdad717ccfb6baa892a28cb2795cfe0451df548e19426a0a49fe59497117d88 +CT = 8ccc6fd842eac6d04ca3c7f05922269c54abbebe206909067d25a63f5f5fa9c0c2e895847018b367e7d829ebcda3a5dabfe1d6 +Tag = 6a3718d31eb788a11df206baa1be3e + +Count = 8 +Key = c6f629116da19e963e5c912e91c816e5 +IV = 8a5f490b6cdd731f263a3befe4844effb220e094c09a95e57c9e733629a6202a14f8da845792c8bddea0e264af618e228d2abbf3abbb0c8081570d44a5ba199421c81abe5ae062aadd9ac9c7e1d9798bed17ce8049f446d37e4bb52e14f6d4a69d8829699741624361763260944d8d72f4d111784b99593cd1f4fb8fc15064e6 +PT = 2e7b96e73825857804a7a5184a7f5ac630f3a175d667547748175cb4d27b14061b01773274312acc95928f0ce80f70c5d4bdc8 +AAD = de701f0aaa9a46edd6e1a22c405ebfb4844e74e063b49784939b490d184a5833ebf874058c8dbfbef80c65062ac846ca +CT = 3c6b38de8380e5584793b02e407d3188cf40c52a483702ed8a9b40ad9e2a19ec9aeb1c0facf4b578b497717220abda69940f33 +Tag = 694367f4bd2a4027adcfbfaf3e9df7 + +Count = 9 +Key = ff9606184c6f315d802ab2df6da34c24 +IV = 0ad02e2f6a7c241ffa7ae10c710ab79f351555e0cc73086bfc6aa6b7dbf19908c095d116aa0eaef9995e951d7b24f94e6684c384c3c2724889fffe7b363fdb9963d38c0c76effe7703d97f9e6357ea16464c596813485c943c472edef8a3b060077e476ae1329de168f14820a8187efc26118d251c320ef98e75afba6fddc5af +PT = e5e6b8f4d9ea0d1c81d79409d493b1f2c6000017377cbc19a0bf624f1606e039fd85aedab962bf4ce8c32ac453531ffc527aba +AAD = fdbc1332e04e08723dcfa7b47c5ff4480db0844c63d1d95399ca9204170e746ed3dd54287d3ac2c3faf9a1182a66d182 +CT = 73360b52925c4be5eee788df4a87fe4e7c53239a744578b0371deee6096ecdaf7c335faefb80c7812c282c825d807ff8f1dda4 +Tag = e0d0472f37f208015695f3761b1259 + +Count = 10 +Key = 96e82ac437d67a9c1345c93ea6c1db30 +IV = 903fb3dbad215393f0608b04fbbbf68ce90ef29f7e7770a55f36bf1dce67cf54e5eca05124d1fbdb18c450e5fca2bd3d659c02365d3d2cf4fd6671cf735adbef3efd4214a6ed876426d68634f4931556a963e6163c118be685f0cae944b255664b2ecc52c4fba9c3a4734c1e261b1d3bba0869403f3fc962c773f5f70f8f077d +PT = dc81636c2c3ef605aee1d05b1bcf7be114ceb47028fb5a622685157cd3366cfaa3b78d0cf3fbdd216547289d65ae4af8c74ccf +AAD = e0d72287334ab91bb3b20824f9ca2a6dce9bcd4f2954e1dc1e4f5e3faa0e69dce4c81da425afa12e099d989b26c559af +CT = 7271eb582aeda6ca9427f5628610a1fa1639c91d4ea6a3492deaba3c6edd2828db7c106d93e49b0480b1f06d2d527cf17c628b +Tag = 0521e4f8fbfd3a39662993fc6e727d + +Count = 11 +Key = ff1744bd40a13bc152a18e2e85addae8 +IV = 07001ef443be2ba4001881265f0936c5216de86f2108aa00c8a8c60cc13962c6aa4b79f2c625ad4587d1789cf37064148de09eddfcd24b7759943a077559821e5ee619c5d97b6ca03dd4a15de402afa08b01c27d50145f9ba80669c0ffacca960305dca4d5496b3a6b1b9fcb3c6fa2e91add27de37cac160b1ebece63f0da73a +PT = 1a8272a7dac58744afca7feb14c2ac558be936b474a13dd6fd95d3a5a296a4649f1a80dae094931f303fb27485efb4951cd10b +AAD = ef5536e2f9cc75d068d58b835170510b322fb93a0176d8ee990089e6a9e5f8e25f5e7226c10f150fc4551a885f0abdf6 +CT = 651c690d6d25343e7498f50caa22c51c5e8aa430a3140e8324d01db28717e9d899715f5ade9c3524b7c12da81e98ffed64ad4f +Tag = 07ca279a4194256551194f00659e7f + +Count = 12 +Key = b84c445846d613c97d810e2f4a37385d +IV = df43b8ae4dc3e8a6cb68874c4059dc125b449bde424a815f4bcb5e54165addbb69dc1631d42fc13a9db2c6f303c4e7c06d1b0fc52e58ce9e20f60f50522a52377852b24929901a33cbe5fb155b6031bf5563f348cd609075b1dc907510ea23cca9fc041a65fdf3e0a0e8fd67f2184bb6b38b79e5bd5c809e80d55ab68c172b1d +PT = 922bbbabbd3e1adb7c3f2988810575d60a846990510740850c5188013b6b20bf8c44d172d505db5fdf1ea2ac6ed8c3107e6e74 +AAD = 0b5556faac9d224e58a5354c1cf78a4fe8b96e22b85864f6157aad16353f1f257587857895da6d01c0458e806b880a7c +CT = bc21d8cb97a992c140f5dff9dfcbe890ff398dba04d1944564d7bd218bdb440f113d461bc6c05009275f3883a3b2496e66650d +Tag = 3369165ef109ad66cf627dcb2f2bcc + +Count = 13 +Key = 28c1aad0fa61283f89b3cf6e64d85175 +IV = 7b9a036af2020bf246c3ac9ac24b834d65e04a8a2eabb87d07a2b9b537fc4764226ab6f9842760f1c9ea5ebf3048bd66f597fbb5333698d2d0af42f45315fa0815e3bfa24f9f6a3215890d61e7215031caf8fe1be5cec8e85a588036eb3573f4211ef1b220f5581183746e1eb9cb22254a252518cc7ca46a4f89e0a2cf69706c +PT = 26f53473f9370d2ae4b08c09e4e04e3a2cae2fd6d9fe6473b38c6fde295bc78f78775e018fe860c2320c0f7639227e5446edff +AAD = 48a5726e21c65dcde95000f819d49330867249bc7440a28f194e72ede1ee9dfe1a7f860e0a94b17d2d50aff3b0cb093c +CT = c1fdcd730ff38e043cc3d0343b2d68da5d67f75d648523469a0258a1fd8f177c4bc704f34e9fba16c02953e809e4d3a45e7874 +Tag = ce87dd0776f0e734a11b6d495cd710 + +Count = 14 +Key = 610dbf908c98b3b53066f4fb52ca5b67 +IV = 5220f290ed51adc3b138457bb925b981e8095fba9530612a88010279e30c42db4f997543f25c4aad0d2ee772bb672880baf8a04a45f187f7b23ffcd2184c96cefb8b6d2627a6e9535fece576c6d477b495176e4e895566a1c28e2757cdbe1721047d3d556fbde6aa7c316fcae1de1dac806eba4ff50fe722d004682cb8c71de7 +PT = 31f7dc1a433f998ca492e80f9c315f3a2661a74cc30730ef9bb436aace77082d7d4dd318eb7997b120986828eeae2064b332a7 +AAD = 25e90768a98391069aee5c0dc95ab8161fe3d2d86e0f818e22a70eafc91ebeb044b033927e855884962265ef6e95e3b1 +CT = e1c1908e52f8de037766416521957191d98b706c5c677885ef6f1007cee351974612434b26312c4bfc3857da88cbcdefddf1b0 +Tag = 38c58d17ff6fd84f88032ce7d8b9b1 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 112] + +Count = 0 +Key = 5a918ae2a350586cfe02574fc994a75f +IV = ec82e5f8fbeaa9480173327c8560376e7659f32c64e12b55faeb8f5379be96c8fcaa9bd5bb49895901e2cb04441c4331200d40f055cafb8938526859b91d71b221a11a9defbd345bd4ad84cabbb67899ddae7289b5a53328e2e801aa43718631d82f959b65226667de453fd4729a150c7e309fdcb034cba917d09f2c61a6d2ad +PT = a427cfa05b764743c37baea8112d0306bfccdd5e8bca3c7fcc3c511391f18ba94d35d2e44dd037c1727a7f0c74a1216e5dc8de +AAD = 0d286a75483d00da3a9f60343abd40a8dd9cdff4a5a0d9d0208b1ce83067113a497e695abd5545d81e8633364e683922 +CT = bb20c3e7e57ff35d7fc0e14ee993238d0077250104b4db756ba496000174235a82f55960490cf346bf7130b61185b21273d2e7 +Tag = 8f616027e7ba2452c3eb10b686f4 + +Count = 1 +Key = d0782913319b7b2a2f71e0e70ea60375 +IV = 7e6ee609c4937755b63d33ab3f214d8330f73a113c75e3c88c4f2c311ab6385cf2f3aed6398fd7147f11bf03aa7eaeeedf1e409d941996bb51caf1ea714b5038ec4627e224acd0e3aab4e594355804304ad33e01ca07f5c8315a02b030cd80218b08b5f4a8ba37734fb38522ce5cd76f0fd578a5686d4304b0cbcc9f02fee302 +PT = 196e2010314d50d6372f0ea51d300e5170e07bfa7f84dd977e465fcfcc6bacf5d7c776aecebcadcd4f7cb52e515923ddb4a9d6 +AAD = 132e71bc2ff707936c1f73a772c3d734f1999f9c1c8795d188515229aad261c5d700b12c392cbe446045d62bc0d99f56 +CT = bb1595c3d45f3b26baa7c915d37faa7838e4a261c7db91d85c7be519c9ae71fe5230aa6efc0b9dc49e9c8d48ce26db96a33437 +Tag = a3ceedde4bd0a0402b16fa860a0a + +Count = 2 +Key = bb2fa2e9721616176158f14bcf140c2f +IV = 0757edafb6cdd9ceefe8d624b1b9c264446d10eb58b1edbf6e07bcec397011146654a25846ac06a10aa3469abecf3a43121cfa7cf0484a71ed66a7bf3b53e4834edd62ca0fb051354475828f8d9cac514da4b2ee91d4cdda0668587f23c8ac824d4ab2fdcbfcc7b2f5e334bf2550050fc44e18f05082678d03db9c46c1a91848 +PT = fa2e84505df40cdc78c66139e1d3b7c3b6e2ff3bb74c934b0562c988a86b78393657a3500062405aa0c541ebbdd425501ba6cc +AAD = 6c4b45492c8fc8b4f44fef1b75e4a0583021a6ba2c00cf97b2cbf382b71ca995b37a2f318c7dddf8a1cb8bdb753d7478 +CT = 1ac4d458b511787760334ef1d1196c9165add74e2a3cf31d277606ab9d1739760b5ef1c28cbeeeeb4a659de6551daef69dd77d +Tag = 1986937aa67e3b6ebe817fdf1f55 + +Count = 3 +Key = 2fa6eda73752f1e63532e823799c509d +IV = 8084afa9816204938c9c34bb5e2581fd622d626721afec1d211b0abf4341fead6e2c9bb404e162d24662890b56d00f2249b0df651c50f4130f19b2464703c071a59c1e1109a1c0eeaf7cdb00596c4b0dc993a69c808516fd6c11926e3a41463fb8919735e8ad1383a7cfe759a55c9dcf3f7d305fda0ace2b1bee5d2bf822ec07 +PT = 7f67b2878a7dcad6478b3d37f5ccedc72c129414da4eaafce416d173b74e7408005a3110040cc1b44a605a604832c86c3bd37a +AAD = fc73eb093f3eeafc2902d9aebad05aa8a956bf8db1c901c3900ed416eff176dfe310d8cce4ffcb8d830e2d2a724a3d44 +CT = e093851d05b64a192362dac5ac119604a612165e83ed3b20fd3610e483f03e0928e4890fadf9775420fa39d88be08b3acbc7df +Tag = d5f65929127800b731c7cb4f307f + +Count = 4 +Key = 0a4f10bd9b54ab3e10d84d0a0e32e5ad +IV = cb396cd10546f797eaa0718e5293dc41332a74d087618815b98c4290d50b7b37d60453758a5dbeb4a86025bd227b7a1b43ba698286d9957705a46d595f500e5956a6c70af784ba7534497b5bebf72627c5bbe05d709eba905387f606035c6d44771abc9a10926542e5254966bdc344887d021db3cbaeaa8e439fc01553fffe8e +PT = 9761a55025e6fb3e1732e7c2cab2b3a2ce7685a33fcca5eae9df19827146b5d130aa86a8c6719da158be01313e569d12ad87e4 +AAD = 5828b165dbd38bff218b9dd1f41292f6cb966485898c5b131356c4493e5bf970cd536bcae699a53db4024cad86d61fe5 +CT = c89644dbdfb4ef0b898b9bc3aa62a1dc032c5c788b9977396c8bf5eed58c7e206bfe593413379ceaeba4fd7b43589d4b8c3c28 +Tag = df80c681aed0d01aa917bacdeb16 + +Count = 5 +Key = e40fd3bb25361738714fcd193427c6be +IV = dd6031b458e8d9298f9d009af4b772bced49211aea006e19dc4eb02498b071e8c2e6a65c3f14381c1295118fccd0aaaf8234858ed6df0df1bcf37b56d17acc4a3604f5e7f5b0f382c2670622dd048ecdcfcd00453835d7bd50e044e06e448e10bd5807e0493f41cb2067d56c9eb87c0327108ea9251aee902964f412906fec39 +PT = 33d43dd41106a5c5b4d54aa1d28adb1c959a4c8dff16029993d764becf5189624b117860f9c571753cb3480dda09355876b88b +AAD = b9bfee811a59389471451785b4757f094672f5ba52256ccf7f6b2e0235ea168966e60d79d53fd822b99a6cea555c5e83 +CT = 6216804741bf53651f042a59aacb38da957119af4b3dd6587c6a896fa54825f80dd72fa2f7cf56647d88c9ac09be15bed0cd81 +Tag = 004584e7380565fd339fb296bb7a + +Count = 6 +Key = 3ee9604b40c98e4a6f4d9421970c4e1a +IV = 607e036cc77f38451ceada032a71eea96d61aed42d84d860aa62ec9790276780f465716d60cef17e38c1fdfe1821d2cc79cb46ec6f55808d29c091c03e38927caeebc422e54a0110ca24e8df8b10d8a8da5e86437b5a5d47e517598840ddd2b0a3685e59b4592f0e5c5542c56f42703458038ac75bef9cc7212497e12155e072 +PT = 5bf7f4ab743e9881a22e3ed15a4a43c2aebdd59a693886ade54c52301c868ca19be2662a244aea5fe86e77858d6daad5b69302 +AAD = b0db0eaee255103c1ff69284dec81eb74f7b1c97163902b92777581994f412ef18e3bdfffeca09a034a842dbe798edb9 +CT = 26f783108936d73615f4ae71fdd2597454c9922a0026baa0045cf0eb95d7590f0dcebb04784fa725155fd0394e3662e254f545 +Tag = a04dea0ab34fac7e7938c36a84f9 + +Count = 7 +Key = a32c02f384dc05dddae25e872d9e0488 +IV = c3835a23b6958931a90b5f1481052d2962ba5f7ba1f090ba59122b5092940ee97ba05704c981045dc7ce3ed9d6d3648f8198c67bb75866d9d8775315e9fd50dcb4a91db7e95cc497da61a0b476168fabc20e1159c81b3e024a992a7005067d8433b8448f9456274e759572b3a14f5bed9d40258466d7c19ac41e860d1ee3e88b +PT = d8f8047d4e00ff139c4fecd629f28c8ea9f10897b84554ee0bf02531945120aee6de222874bebd8a6809b142412e8654eddcbc +AAD = 0c804eb3a2de55f7b35cac9916ba4ae7dcd3a0bb87a5697349ad547cf43bcd711a1bfdd35d8efa8ae1f506a003c7d2ac +CT = a96c42b9552b5efb0480293e3d82598ae32dfc7616c254107815ebe91d4866abb4a8b43cf73e442f03f10b511a72728d32fc2b +Tag = 8c8fdd21e12b11ce72f38a86128b + +Count = 8 +Key = a08d5d92bfb733df29e402cbdd365b0b +IV = 5e4cebcbaf189573466cd512728844a93c490278f2e8b3c19335ee440d4163f942349f41c544b177afc5ee48105213c9455cfa5d3680c8593a4c535af86bba3dcc9f26c7da804947734ebc610bba1f06617766a9b52c90d7473c7ebb5bb113de2aa05d2056ed8148dceb659bfccfbe8ed917f597a542fc5d52d04e9c5c45960d +PT = 73c40b1772d21af5251e6044bb6491fa6ccb5c7f9d9787be25b8405bc247312192bfdf12f64bb8a91fbb03eb570f3117906c18 +AAD = 4c1bb79dbd60e1d58019817f4c27c23466b9dbeb7692fe950e60a5e1534c9d46d03fd8163293c03c9fa8cf552902c1df +CT = 0534eaa72653a9c6beaee97a57b0c27222359b21a5adc4f097d716d7a978cc5751c74dd20aceb40376360d0a587b4d85dcc1e3 +Tag = 3ec21ef636f080d2ffa9abc3e7ae + +Count = 9 +Key = bf6826d9a477596e0b41a5cdfd0b98e3 +IV = b17461bb269eb31fc2476d34df9b383c8847fb2266a8d75ba88bf01e77bb227565d948f2a2669df305a1e76c5066c5cab9923de1ec12b8fc5c7c4a6afff3e7ff2a98f480f4d273ca627cb9903a4263b6c775b79b4e181a7444ba3e530de545fb248b877e189324b3facc489fe2e3ba42f13448885adaf6e4fe8c3e975a5ccea7 +PT = c9342c213e09944aab147fd5f59bd61e6feefe946f0ac7072c2d4ce930f76f64b4da34d2837d3443bf75fa50bf2862e3457a34 +AAD = fa55414cbcb44efc4b753fb239b7f4881a667cab3ba8deece73a8133b75ce142240a44f81290cf1a34cecc2de5e21c04 +CT = 555510c2e6b45978763e9cd65f9ffe34e87d78a0506a0853941ae756a37d128f7cda9b5b9d2555a31982a262aa0fff6eb495c0 +Tag = 9bb0af7f231c0dab5f1824e21bbd + +Count = 10 +Key = 66f8cad18178c54a5925ec40a33fdf12 +IV = 4705da420e35f02f3b626ac09bc808000267e0f559ea2d7d0a991b2ec290eb2068dbdca5a3fc275140bb5d3f78ab07b20fd9d1b3a1e4f70a8724a7d5a111b9ca41b1f7d3f1e1b70b2859d2788f56572ceb0c2948d03b12b901cb51e61b84629aca3ed5cf0f88fe5f620c6edc49356c801502fc27d293a6318259546ad1fc102c +PT = 4e8419d05996add19eeb236194a57202a6303d56c7a7a58d33674e99906cbd6060aa8638fd0e4e40e7c07bd35e8eaca9671d6c +AAD = 3d3af4678da47ae2df9a3bbd37a575b4ce565c73965c70feec88992ae7a1c47faa84a5cededd3c7918f0b7df5c373191 +CT = 76874c198e8cde545625f86f3f9a288c17b6ce95c1b87f5a817644cce63a460182998327e939619b8fb1d46daffe0573d92e09 +Tag = 019a37b3a4e3ae39473042a47559 + +Count = 11 +Key = ae025622bf29740b98df322a7765056d +IV = d4ade80d37ca96a370a108ff14bce9374fa35d9d4eba41bfc67e4ace97c0ce73ccc3c40301cd175edd6d64d08e1863b5c37fadd718656eac11d53819c6b16c59e18e330c9b491ba8e0854974b5f22d86d9f6f13fe7e2c0ad164e1f0fa2cddf7d11a03f3af366c282e6e0aec4344371397f98ae403b4d8ab193d0e4f85c91ba2e +PT = 28339a4fb5459c36fe17ca4c19f82e510b411709129f5c9269b573bbd92626fd7b833c778886aab16cb4cd6f0d79e543ec1539 +AAD = 84095b6ddf95047bb0cf4eb6bfb8b4f0fc6460e94b167b317b2943c781881697abaf687d340fdebac591958d80817916 +CT = eb7b423fe910ea5ff5711aff998a1d75d2c612f1b29d9011a4981f5b1af8b0a48e480ab22e6ea378ba48506709d1bec77ac870 +Tag = e679bd9579eb9f9de69436a1c70f + +Count = 12 +Key = b11be4dc274775b1aae4e6bd4b2e34d3 +IV = 730be6878f574f93963c9d1c456e4f2f0252cc9428913596d1cb74ef5187f8b59d38816718fa3a621aaae192742021fc4f30d6968e31d4d75cf0bc2104ea59c8039121d682da89870109f6f0d28fb01605ace91014af6bf125267cc51ca58b6ed80d54541c3ea5df2102849dff8ff0a437ab93919b27f04e344dc3df662e6275 +PT = c6f9f87835e4e9ca63de5e44b859a30fc053867fb2cfc16dd999cda9551f32f520bbb8f4b607a7437eefd40dab7d644bc70e34 +AAD = 052a6f5f7ad88f8d24a2c50e855e9114bae050c61af3037142b3d52fc25d03cb5b1c7b88540b668420efdb6d5d8a6b07 +CT = c65ab3ae11c1b5d59c941a9da72228522cafd9bcb656429b54bd09227deae6bf958b83967917bbbdffffe6819b7b6e1ae492a6 +Tag = d2187e2620a1bfa46fc6614743e7 + +Count = 13 +Key = 89aaac6e3d2ac190be5f177e40596059 +IV = abc38e49ef276bfbdb9fe3de08f47726c334141b8bb19be3a3591076c2a865651f92f07c018c2b0e6253edb3e006948b00702c5c9f23a85d2ad36d04bd565f70273bef00439c5fe0b99cbe867d88f99342867f4f868c819ab456a39d76a936333f937f2c00a353a04005b29e4c521be325fa975e4ddac1f44cc9c5df66bbb496 +PT = 2852db56414ba2cafd7f65b5a4b58e9e6353ebd1598ed741a08f60a2e6bfdd4a981d1eab30968296ba40fc8fb7ee5da7fedadb +AAD = 32b2be273771d0aa6a1979b1ac8ae0361984b391518829dd426bc2be90da2e6ad7a583f08f0f8898d40b73028cf5e2cf +CT = 09b60f05af4d2560811e1b3accb3dec3a3d1a766be0e3ab64afca1b53643ddbc2318e30d10168733fc44bbddf610b5ca869672 +Tag = 807b9f96d032a515d4d37c4b7364 + +Count = 14 +Key = e8c165560d4919cfb1a3c750a89cfeee +IV = 838c7b0c3470e28ddad7ecef0eb47981739eb515295a4b4e4007d9275f3a270d95eed23ed0bf6ccba59f029f9b27200cdd0854459ed59d31790d6825fd03d006e444c85956b3441c6cdd7ce56171b3f8c3c3cbc87824df871b8ca2bfa0405ef8f0c73590d5c08446e71a42aa217dcc55b88dac1ad11ad9e816105ec521695d05 +PT = b3404c24e1a6c38f0dd6bd39d72a6b447ff27c74125d8ec3583c68b35d1f4a69997da8bc432ffe4483facbb69ef4e77ad765b4 +AAD = 412eb721416fb1184d7729207b9f06c2fa968e4a8a62d7bc12f9cba322cb28d5fc1f7a8c886305955168b579aaacf7f4 +CT = 8a353c07edd0c72f9aa936c45abb10dea20c1106d782f3a1caf1164913069b428d17075488873360df37b73bcfe42e8013c06b +Tag = 721d917be5b334ad2df741b9d380 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 104] + +Count = 0 +Key = 01fe0770680c22e3e000e25848df69e2 +IV = f3322dc8206814bd4411e2176884a4d166e3a4586bba55aa6ac2033cb15f62b2f0fd5a37861ee4c9545dec22309dfa15e6cfbce8355b84c35da317d0a1e3418edbfddd4ca77ee84e842de8318f8f9bb7457d13272f84f332149200431502f8e35f28a55038fd148e83fba7ad87eabe465cfe1104f3acf8460bb3a47537487bcd +PT = c1bf819d06a024c7564efe753a8b2fdc9e7f0b93371a5373d22b9737f12ee7e8def47951f039851f0c1c0d69a2cb3f8b77b8d5 +AAD = 0cf2aff2e418c5e74dd9ddd2ca425880bb29d97d222f55ed0d305583aae8d615b0b4ce266167dc6591f4ebadb65df37b +CT = ada12376ab7f0bd73b8cf0f4f86f2fdd6d353ccbc9c6b7915862a2559cea51293a446c25d907bdb317de64acbdb35d1ce38117 +Tag = dc9cb6897f63a5acc55b565952 + +Count = 1 +Key = 0d4f782cbed898d51e291b01f7aadf11 +IV = af837749be5d3bd36e840157a8c6142201549e0560e3fa0415f2aa0086ffee46801bbbb712f5db2b7dc810bdb2d5f2b78422c3a5786dfef98bf208bda2bc505adc837cf419207d6971e6afb0aa9e887f8e8b7af279a2ffe96b30cb054f34506e846418fda9aa157a5a94c83533d952251573009963b08c06fdfff31bc70cd605 +PT = ddc6cb0a10c32f3f8fb5b50ea87f7d7244f6c3634aa65925cc4f054677bb2fb5fcb644f7270dbf2e8f80d8908c32d119e068a6 +AAD = e746b69db838879fa403ed8d5e33b9fb95bd67dd24f5cbdcf249676b7bc0436366dbca0772df8a85fcfcb8bc6e0c8aae +CT = bee05f7a71bc38af046e859a02d9347ec6f63241c74f82efc8751637841f381e5bdbc4cd9cea67b046fc6949e5118e89114319 +Tag = 279c84e1bcc61851b9185b9eae + +Count = 2 +Key = 15e35d015edfed6e15e495c43fdea3d9 +IV = 89c22b7858479150359dc2bcc2c74d4614489d021758b5b76a82892ee4d4186bef613d2287f000e8719515e9d3c36cb924b988ad05e67d20e990c7bf2ed78824337b67d93b3931a114dcc7a52676f26fd92c35cec556bf62ecccc48e600e24aae9810215df4ad5b6673a17906ecc22cc50ed96c948300fc936df4bf2f4042eef +PT = 9f6c5b88efd79ac57466e41ed1dc9e25fb5dd7c6a9396450e1c6e04c7fbb4b1493a4f3adba8e635e031abb77fdbb5c77971a48 +AAD = a699af9afe4d9f0c8b964ebd79893204cd37f5115a9ae2ae6ca5d916a2f838a65f495e86ab815fa67a8290acf8234c2d +CT = 81fe58e69783a65ad1cac12cba5719be2ba4a8db69e197a077ac45661ec1a2226d3ce7a59d37d193dc499f05aef60e500466ac +Tag = b9222dfaf48534631a59bd9cd5 + +Count = 3 +Key = daf34c3dc1ed3dfd21735b349c93df53 +IV = 89f297073f26b1ce40e56db0c4cf5d60b791a1e9d48363d22a493eb8ecb2459d66a57f84dbfbf47859845ff8640985a233907b7dbe4a55d5a367e0bc4823e099ca39a860e01cf7eede13c3c40e4853df491e53c1d6f3f34e9ee083b7a938e989908373973f8d4dc64fa87fa8243a28a4c5312a08d5c5c80e8d2dbb30a05e07eb +PT = f774a41717f0477b2a1da2a17ea32b68f1268748b49bb85c62e171795115a3c713712f902149e76a8084773753a85e738a698f +AAD = 2028eef5a0c5c6fa7013657be2fc4694a0f3876d1143a1bfb467f7b01c3c5f956bc3959681654b1932c9785c364c7e61 +CT = d753d24ac821b7bddd8d1e4917a254abe50f40cf088dfba50868e0259e33654f762454f29e03483a95841784fcb488515a8279 +Tag = 8bebda8a30b76bbcfeaac43633 + +Count = 4 +Key = 56550e93a4e3e27bdb23fac3b755f0dd +IV = 9d9deaa26b59b7af21fbf94d17fb299edfefa8a3318166cfc1867e15f95b43e67eb35dca2a23655fd5b40cf0f444acac0771de3da661c87bfb561388f1d26fd37c3a2df968f08c01e9c152b996466ba960cd0edfcb50b760aa86b09ada11a5796bcc4e4ac95cfee932752931d0709ab9ba8f04bc221045df0605ba8fbafc7633 +PT = 23ad9bfd2a8a1e4d154dad0ab61725a7301d88bdbd28e0b0aff5940371e539e3849371f8e422dc27ec3f74177c60986c004711 +AAD = 47fdb45b0167a0619f439d8758afa4ca6c099b9a9afc347fb3cf884d25f09120cf2e29d14d29161895733027cb397a67 +CT = 77815d1e4c0e42e5396d54ca094d9e003cfde3d2d72876b22a6bf9239927ce4e8b7a1039af5915152509e7210270c60e63f275 +Tag = 09b61c3b0dd6fdaf4035fa2319 + +Count = 5 +Key = 4b72689d2ef845cd343a0a6323e41a85 +IV = 5c85ec92ae5e734de21b3f6b2016012592501c0176b926328537e5a9cf14b3db8b803293c95f5a186f52a7fa1073ae01521784d7c692fd565f30049121ed0191ce86920ff850ab00467f46a255a8b46dbd7e0b6426ad844187ad0b950b52f86d0049f9f6a7968547f868e2607b79aa0440cb8c11730eebdc7ea3a7f868bd2fca +PT = ca788639800f5e6b5436d4d8ecb53c69b535d9d334771fa924a4cdecea641931a8bdbddfb9509f38ea3ef4faa15d239bc4c341 +AAD = 8f8949f70a48542a1b3f74ae81b2b0f1ed3b2b394386a3fdf76e2f2e9781e4ebc390037bc08fcb14e00feb7c9b4f7397 +CT = a2bfa45255b480d540c24e5bcaa4065d3a645ac8461348db694bde8b63a1476a0796b608f737d1ab010aedef357697ee279b47 +Tag = 71dc88c909b53ce8f364b9c2f4 + +Count = 6 +Key = 54a3a7ff2858825eefebd51c70e774f1 +IV = 0294a007d7ccf816ff6616f2d17cb7b66e0a86fe55a6835ead520f1e0062dcbe70620e263e320aa79df992f8edce58797e3d63c78c07518f89fd3d2cebc52bb2541fc3df32fc2d4077c9073e2835359f88bcb846cf0693d201e2d4b02c6e9b0fb11237a549d89b1451004adfae9e3e41e3f8ce7585d76cdc790dceb448eabd0b +PT = 91ae7027d0e8739d6630454c95404097585ec2369a8d0f6602074804d551a21d6a91fb59bb43e7255b3f78149573b616ad061f +AAD = 17dd7ec88c6db13fe0a6228f1596e13bca615f4cb6a8adc61f07e8b9d058e5cb141eb806561d67f491c5574f9e2bfbca +CT = 6843da25335925e011a9a512ca8802b5012905bbe92dccee408021548048404965fa5166f01f8aa2a515ba85b34152e07c9521 +Tag = 3f27d13a015ea094a22eac3a0d + +Count = 7 +Key = 8f6bd4b4c3036521534e49cb71c6f165 +IV = 378f4d39f0962621f66e0b602b660f206a8de7f94b29a9046322156212358dd9db7728f36a9303183e30b171cf9f018232793ce3ec516706d270a6790f4f6a0a11125aef8ceea8339944cd23a92f0edb777f9b5682ffe8017870b82ddf9b57cdf8dee2a608276967cf1f1c9c70f429809d3b803464dbecf7601e0aae7a4116a9 +PT = bb57c56d5bc81e9d4e5c2a64d01dcb886c4e73e4600b9c5a19cbee4a6dd33ea06d2734a1a67b8d261c19ad30ce82524cb36d34 +AAD = 580668f3aad06b70fed03dae7abf05ed5ef08c02aad59febb2359226c1afbf3fc9353995a5b8eafeea85ea17197f5c61 +CT = d70a56749dd1fa6357b71ffd52ddb626dd0aa94a98e01091262603824843e2cb35aaa427ba6885364b156e8fb11cea1f4d1a6a +Tag = d326f6da216d0d91e12a953886 + +Count = 8 +Key = c1acb5f92c2dfd6cd491daf89f1370f5 +IV = 116f83668526769b06a706767995293213ead16a94c6fec1ea70aea36131e72363abef5ad9f094350a484e9135efd975bb6b99ce47eb16cfbd9bfe4b01074524c73512a9c9b692d17d8a0e6bf13d2c1c31705c49bc904903cd8746f72eba020209aa3c64c621fb1153b81bbb3e6d4a769c31f1d0352cabf36631c5fb0e977e25 +PT = 147d4bea0e749ec555c026d411f0ff9b367290c7e93ac4fde0aa387da9f127374e1f78b93f6ea1cbcbd7e673ad44b5392f36fc +AAD = 32f93872c11f85a21904413addf58b39ccf58e911c982f942c8e0d1047e3fe3a37c62961635c01f725c647678fba2ac0 +CT = 73b3cec18363daaa4d25b2968cb8cd545a7c849150dd183c233a12c32b9dc17ae7247a0a429e913336581a5558ea72c4c2d4a8 +Tag = 5369155e6794c1c33213cf3070 + +Count = 9 +Key = d3b3be8205166c97ac87538453c7f7fb +IV = fd3d13d8bffebdec2fa5914144b16809300946d7975dbc907c9270e697ff3f705a595a1043f8743428174194899536abdcd03f0936328ad26d7aa4e866f4375f2b65d25b60163e28ce0bf3cea27aa86a498adfc3adbef77287ec527a1abb48bd05879346f63d3484d5cdc9f4fc724af3a75c9df6187dc67ced17ebfc7c63b322 +PT = 271f0b0c87308d135d6676d92f52c9268db40d882a66219bc64ed18adef19fdef9142dd5ec420b2a3bb4ff10fa4f7c65317d7e +AAD = 3a8ad111fd4845031fa405016fd92cab2a1de74f5b1f0ec7091a09b2acfeb794f82a79e023004f58cdeccc6033b52ffc +CT = f22a23b964fb7b38b9a9a5947b3f7ab99238e125f3bed2e137e020627266ef3cba13b4c9504d540e6c911d0987e9825df77c3b +Tag = c0e61ad912057ffcfb287dda4c + +Count = 10 +Key = 965f508cacd202d0cd32c47ad37a01a5 +IV = f6adcdac98fefe632507d530cac808eeae721df68e69d1620841b2a735c67f965cd48a3371b70e534db3028cc51d5e5a25754fdb93e78976f90e5624cece75250ee34906210f745ed014711f07c2001d90ce22f9a31b59cb61e8b4dc8f5360862ee1913b5b4888f52745550705f2dbec24b67722e365ff3aea56c5bed84a2ad5 +PT = 310033e30b677301a1f808d52e89d9158d909debd2650012ca739ec449514b7fb3e09f2acef7c93420ced13e7ae8137f97bba3 +AAD = e078e380935097a4303d9ea5611aa5ca8b7c89c8534b6309a088f5826732568537935a54f578547141d2a26edcf4f310 +CT = b102c1c7851db214f9d41463012c2171efe83fec6cfff0f80721107ff4a0a358d3f077d6f0a16c17555b6e05b77ef3aeba1987 +Tag = 5537e68a471a210ad6972f3b07 + +Count = 11 +Key = b11608852c05960446d05a43d3e3b9c6 +IV = ecdf1a499f5da68fdce367e777c3167963e98f1f2e89c42eb02c1725e9f7a743a00b125c9ea25e1d2ba364239cf49eb159fa2ae840960d72f7416515ad9ecd863d74e582cda402e0fb34985cb994e7fe5aa1d413f8c2a0b9faab4043687330849e8c800451bdc838c306a2ee877c1125b49033b83e3996d12673df3508bf0d34 +PT = 7e0c327ed4051fe79000fb088f48bb8c0e890afb56fa022dbfe8500d20db839dc64154c2e145c71af343eaa38b49300c80b075 +AAD = ed23835a733289e6ebd821f4897a4dbd6ba5e00b7faf9149495a98414c1b528ca6969c2791ff928f81ffb9444e1ce0d7 +CT = 2c5518d6963484d4493a62ccf4fdf0eee9e27334ac997e17d36b4587fe68a33d679a9722454133a617eb32a41d33c3c5f94073 +Tag = 89e3acc954d4c0d82571166d35 + +Count = 12 +Key = cad7bc0939e0165ba5a4229ef1bddfb5 +IV = f03a30df5c4eccf501a43527cc11a879bf62cf6a1be3a730300cd4efc41bb8f46ac098a382d3f04d130db0723a418fb809aaba34f08cb056d3fce978cb5e350cc0111ca18c09f7c8c073235aa1554f89bcbead06069d9b870bb0e7b0d0942d3226ba36dbd5b351f86ba02c229ec6c89a9fe0f500024fd0e9b9beae48eab5355b +PT = 8d4cb24d474f71ad613fa0181b35334364e42742bb5733c9a0e2578fb23254605d23522db1cb4bd85ad2e75c21fc8b50075e94 +AAD = d825a2c15e94fff5150d6e1a4f2c1e13e338cf0c383927a19160926d7ec627e7091b392ce480c791ebff4044295ba769 +CT = 949ffeb978389e6bb46331ac7ccf676b95271ed7a5982c3d1c035087c77a5e8f43d94864c738827e8b6b9636ed7b027a3cc94e +Tag = 7449c7eadea7ba88a66bcb17ad + +Count = 13 +Key = 32fc4346fc9ba69fc284c155a37afda4 +IV = 38c72e79031d3b614512c9817d853b06050e3dc6fce040aa751362d3857bc1bb78551b27f2cc0dbba804b35b919384fdcaf904d3dcfde6e2ceaa362dcc15cc24537654898f9745fd4ca9d4719f5a662d9d0dfca64dfec4f60a53fe067de9f38bad3dcfb5fbddac2cfa35bad680991d14671c4858b98fbc76c6b27eb67d393b1f +PT = 0ee6dde24ccc78473ae659d91627195623c79bc776977a9cb6528b9ff33a92914599e3168cc86084b4c95dc1446dfdd5db93fa +AAD = 00227fb97e3e69b87053d5ee9246540fdec30932d943a2fd2518eb3b8abfe3557c48ca4347153e08e936fe7418af4347 +CT = ccfe84a4af8f1eebbe2337e286f8878dcddb6b8c9531182eb92d7228940d8bb526d5e30cb0d2b0debc13047a6ca75a922e82c8 +Tag = ccdf4f062762435b8ea2edd9f7 + +Count = 14 +Key = c0e2365e1b3206287d74d480b6a775b3 +IV = da468e5d8a9b474ba5a192ec524940be04ec2a751ddaa54762c0428b02939fff32fea1fa3ba1a103002a0720d76dd47ea83b99908ffccce2c7c29b94600daa494f1e00cad1d0d9ba60a29dd14c166fb469cc62dc94833548a5c8179518c3d0b10b8e17c694298945258c0980c8278ca6b20dde4db3f985cb9740be9ec7f27302 +PT = 25080528725f8f7d4467206c44147ddf4e5f7a406b7cada264e23deb66104442a2e5ce8b460dfd41999544b155f93859c7eb97 +AAD = 8e15fead5165ab080df0ef66733c0fbf4436406b9bc269991dc3d262b9126b18afad42ab0691b27cad8f4f905331fd93 +CT = af953b5a853eee1a4cb12bbb605e7d9af72ba2af8a13a10ab066b5578be045a3f58a96dfa37f0f549547fee8a0d8f37c546553 +Tag = 7608efd0d764f168a5b184baed + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 96] + +Count = 0 +Key = 06842e711dfeae2269663b74d288ba69 +IV = 6fee9ee7df40233e18f2f6f2eda18948d395a667406d46a88beae3c1d524f927ba68a1d503b13a156018209f055c52c67f7c624134a44467af78bef2a562816a4293d1e84fe159d0889fb0c955639f5971372ce58855e1a2b24ca7885605f96462f633109a23d0aa414c27e74dbd91990cef1f8c1da9bd1b0a545e3998666da1 +PT = cb563fb3445f7ac131f748bf765e2c009ca803038212dbee2dca03c4f132e61b593bac8651afb5367829181934fe922c7662b6 +AAD = 7d80017808c989d35b737bbb540b25f644e3fedcc55c97ba95b00b5253c90117601edb71789f4a36b505ff21f0056cc1 +CT = 3103072309725bcc1f5d121314bd7c04288ee4d32d4451d113c13c86d2b38d1ff86737289f519e1485ea6a49cbd9ae6ebcd695 +Tag = a9b342b78945e4e5263bcf47 + +Count = 1 +Key = 77f0c27050cf8d07c6b79e361a5e5409 +IV = 7cd00e30716edb89d6fb6f4314d4fafc60f3811734f169fda036a30db899b03ada799ca1d2022e8125de6c0bafaa6ca20766680191d494fe3a61051483166da0466118d52bc93c1dafd2f75ea3fb78b1822ad507227dba56470857ef2a1beb9b6075b725d259aa748dcb34e20097c2976bc440a92212f7587017d50d54293149 +PT = 7340506e1a701fc0b6e398f1cabaa0725b4cf48492cd376b8a0e08c1724889f7db1ed82cea19b0d842e85a80769bec44d167ca +AAD = 18190a85674ebbada1e62c12516ab38a97e7c4d1db1dd6c6c34c27a47857be211112f6f4b8a2a42540c83b947665ce1a +CT = f7bcd6d99c2f45ea5cb4943c9d650d543dcc1839e47f07727d96751564da68f07e233ab5067e4ebdf8785337373023c02749a1 +Tag = 89fe8373c11d59952648dbc5 + +Count = 2 +Key = 741e4a6d0ee4cebb3e527df9bc43a130 +IV = 46c3e1455d288c2d264cfb490fb41cbd375744cdaec47f1e63458b2de47fa65cfe2371b38c884ac66786df13d24f58b60bbc2f8b1328304dd54442d3fb20df9e57e5e17c1b2e047ac38eb8755c04c31de6fc265e19bbfa67eeb96d543677f9f4c890207e0ba2f575387a78d91c02dbbeaf701605eaee56563569ceec1d4d1e86 +PT = 9f848acd7c0c54efccc2f80e4706b92f063e7eec880155e1956275317a5dc2886c1b14cab871f2ee8d158a3c18e806e3fc5371 +AAD = f0f46f90aa9c0d32bc1c43673f3ffb2e0b6f5f42e14a5191f015ed63f8abe6a4468a9dbcddfbd8658735fd6ac23f3a12 +CT = dec19754038c5e38f36ab8045d909779ca5a79e3c683c75e154e964aeaf353f6ace065f40783b8aeaf839bfbb93073f4d19c53 +Tag = 23556629f5c9196baed9e496 + +Count = 3 +Key = 088b37077076fe7e72aae31efd5a865d +IV = 68d7631afffac0271cab87ad2b684d02e4ae11ccc6be8efdb13d6e79d1b005395127c4160b187065e0480be42ac289dd449a5555045d97048f011ea91ca0d7c551731e990839ca0631500a3b62bf9469771ff6a69151bee77b0da63063f58b10ad1c6b201ba181bda0fa4522111d0cd71eec2cc6beed294acf0c371919bf4838 +PT = 9e61a5902ffcfa4930ccaef7c06d6912679ed5eb7e01807471cceea7a128e93e61a943f2545f6678b5785ba7c82c70c4b8a0db +AAD = 9420945177360b592ab27008b9a8950ff825c3755796db6579918e18a5e887a976591a03713d1c62698b618dcdd45174 +CT = 577e61f18953bdf88fa7f3b8b3f767798df5eea5f91cca2970b8e1e34390487918e2b40806159b916664a36d4f8caa05bd8919 +Tag = a6d1693f2fc8188a79c59d1b + +Count = 4 +Key = 53e5fc6f77eb1b20247001c6c4e3fb0b +IV = a94781c7b07f838842fe214ff2327f66e426aeaa1d69743971ef53bfffe6498272baaba956e94014fba3d2672437f229ab8b6abc26e3bf70c1f3be365916240a79d86cdc4182247b9f6f20339f3272744d21c38fe34431b752d759dfb4bf285bb15aed097087dcd14acd3d1fd1750d59bfaa418d4a9711df8e2133e730c70be4 +PT = bb359f2081dce24afc24524f32dae07b9d06227437eb9cf78b36d83ef3fa5500e5228ab0915f2265ee6e06baac65ba7f8eec0d +AAD = 7ac1a8a92cfc0354d7446453677aae819418570ba8d1fe8c8e6aeb3caf381c2e0376bf445df8586d47e49793d62a0a46 +CT = 0b8cfff3f28a05a4bc6957b9371f4df84edb221d4056de1ba1d91e2a96c97e47ef9e99b082eb949b99e7daff2acb24b829f858 +Tag = 52164e0e08b0404552205c5a + +Count = 5 +Key = 17612e70cf77b5f1221cc5a7783994aa +IV = 9c26c80475bff9e1ec86dfecbfc65d609222ddea34afd6a6178c444c91911fe371ede328c4b888f6735a56e252d7b01b2abf3a956a72017f51ebeb935aa4d853905ffaa501f9216a701ddeb9d1b5ce0dfd9aaf009ba2ff6a590f5f1b5f5b57a51847aa1e433a64abc9834325dfa78010e1ec1a85f7642b02b896748b69c01334 +PT = 59f12ffdf677497719721e1652ac77e4782701ec7af3b4c0d0172e193ece6f49fbf08b1887d93f0e4a5ee60d8b071c9f2d85b8 +AAD = 2de77b2d1a1b50af5ec8f5578a329517e189ab66e3b91a999c448f5bd4cf7e2f7ab3e380844e6f6620800802248fac5e +CT = 8306dbc49df8cafe03d15f85033d096c9c8c13894be3b7265c84d59557f950fce50a37a90bbe52f88fdd339121ba83b6627537 +Tag = d40e2f3bf68c86cb935d5108 + +Count = 6 +Key = 6dc3aace66b363d1c01b200a86996801 +IV = 926cb461b95f4c21c27706de0038d558126b9e45db24e1116fbc4947cfd1bd07b9837d15c23e061bdc4042e30825fe0d57b89981388bcf00b650b1dea5cfe3fbd1dbffee9f0356e02c9f3d8e870fd25fee365d4d3836049c13a2f8a6374b4aaad93786bb2fb3900c9a2c51181489fb27a6f39c2ac895ec54fe208ac020190de2 +PT = 0e4f99aa0d936bc40078da654fcb640247ccf69d19aeca9a7b342e3fedf6aaa185674b8f772c1d9ce0db29c3265f8aac2e7b41 +AAD = d19f8ff9bbd5e83867c40bf51ae28782c51d572b2122c9ae812f8ee260984af803f9d81d38424f7df90ed74fccc68b83 +CT = 265652932e80e0fa2f42db7e6005419b24a5bb61acf281636a0d9e2d75f5d99b3866a4f7b450ed27c6dac8310baa56cbbeaf6c +Tag = 3aeecfbbcfb0a615a8dcbf4f + +Count = 7 +Key = 7e78b74d814725cfb3e3d3c01376968e +IV = 0b9cebf934df78e907d7c76f80e92311706b96f85a36ddf783cba0f8db38781a5c06159bc37c25824502c2c1e289beeec77c4bd547864133d7a2ab117c7ac74dcfce193ac61a917610bc946ec6eeae6ee019ab2ccde78af3b8a0aeb4309eaf9388b0b031a16b5bc9cc651d97782c09c9f24e3b31643664561799623eb64304c8 +PT = 4981663f4658d91c7b83fe29fa738389b7e5af121b78775423121b8a7ba1afde380a487baeb4ed8e37c225c84f55426d73b5d8 +AAD = 380fe24ed749fd531d3bc8a60a48b5747d6f2647e252efdc658f18ab4a940e4854827ff2aefb9e276b5565419d197da4 +CT = 7d9e35c3857e363dc38e747346699c212f89caf16ebf206b0b947c0b5fad0c09f5e1df5ad7138dd3aa4af39a743cf9f992d56c +Tag = a17afea0552f4b2246fc9b2e + +Count = 8 +Key = cc215590ef0ff79e54fa78e353c3526f +IV = 306477e22ed954b013157a8c5b0d1c9b690875db22b4c80b3b76deb55f4ca820fd0353d18880fe94c2f4534dfdd42f247eec7ab6ef600a6533cb8eb678824a882a240aca4063ae09a71fe1388774045ec2868dda61d1caf7e9304c245bd51fc0fa7b2957bb57bacda7c03c4b7978042e680c8834fea2d7cf4fc91c9cba7f0f78 +PT = 693a97098a8ad75efa8d6e059d7fb192f6013a14a8fb5c34b648466dbfa14b564e0b9c1e70a4577562ef3421ad7da81bc39504 +AAD = 896e93e9bf51bead81d9f36e7b6ec3e718f62a39a3bc88a37e0f0cc9677e660e45d88944a9e6f21361c1351aefb49c22 +CT = c2d87c9aca4dfa294627f5a416bd6379f965b50007a59e6fb4318964ed648e39e19d8ab66158de766fd68bcbd39ad9ca0e44c1 +Tag = 60f29b9bcf08461eb1dfb8ac + +Count = 9 +Key = 309645c51be2cd6280d8f0e5a578c577 +IV = 75fa4f08c1803ca967aa30bffbd0f54b8faee8f26ebcc9edcf42e811f88fbf2ceaf613aa284827a5eb5a7839a4d55ce60c219918619e6b163db07b8dbecdffdab585a3deaabd46dab626ed269e8cac726174ddc0bd237541570e8054ab287294dd397a22a5d009e07e1b8affe1d97ed38602d1680d69b2a30958f27282cb92da +PT = bd500c795ed8c1ebf60de3cbc6d7fe0a3202f0be55a6a551a2e5031df880b9d97bd37c35ac53043f133d461f07d39cc5483bb9 +AAD = c4ba3255a7581ad715e531a1828936f44324128ee99d763f128b54c2ed6691723f2207ec99d4579e4d1a9fa2a1d17e42 +CT = 9cf75e56b692dffd5cad59e4f72d997cebfa4b3fd74d4800d143a8f98f6b3380868ae535115740524310472c45b8509ad927cb +Tag = 5c5bb02c9e4a123968e0151a + +Count = 10 +Key = 6958ece74572fb8ec52a63e169a78854 +IV = cf7574c5a40a471d76a0d5733e2499fee4fbbc6293e817720569e86d739db7d5c5188c8337c02eb8038a96245d3091aad4c33f6f9b397c11e16809151a47cebbaad9ed5f2f7d2280b17ea4b7ba50a482fe196fed89994eb54e058e5230501d052361767579a42334981f426270aa189fc7f9ffc5f2a0ae1255cf986afb1d1b20 +PT = f9df8b450c4690b149dd5217b08240d6cff7267385ae767380a8a9067e12cb196de96abd010922feb82428b6ebca8d4712391c +AAD = 326a9d4b9cb3d7c9e5da7470e0e59d0f487475ee1d57373c983e9729cd73b5812d0ab508ff181ea07e14ae8a245c948f +CT = 0b77d3ae4bcb6ed6e04dd1140034af62a8258b899e36b27599d18349e86337ffc69debb808686b8d46bc83ef2f23b4b378d458 +Tag = b0d6d0f95f69c9e62ff49099 + +Count = 11 +Key = ef85b95547094367a2069e8576727a80 +IV = 7c5a92cacbcbde0f33a5e4882f978261b59795676d51c2f73e743102e3a0c2914125f999aaa6b9129cb173cf5c1b96a898157eaabc5dce4a72cb3281c96f84e6a348265b5c77dc97cea78f11b31624e128e47b4929d67c55012c79b36c4bc1133b32e33f82fdf93ff9dff42145ea2e2eb2ac24bbdca6dac2bd986b677b38a727 +PT = d27e06d3dbcc9853289fcbd88e4c21bb0b233bf0cab2b67ec386d127747e390f11a17612184652709db89dd8875351c9bfff07 +AAD = 82bbe8d0b163b52b93553e3b9b28c91f4891cf80a2057c754e00ed0cb6da179c82f73d5095bf6595df9ae56c24477b29 +CT = c381c8693a0cecd012f928e75938286abbf2f119ad7fa8b5108ef33eaa7606ea4192571f18b2d2a17397a4f63ea3306a78b089 +Tag = 717593239f7fe2afac18a426 + +Count = 12 +Key = 4a07a8c348ee6c2eb117a84a74b6847a +IV = 05f030541a8a8fe75f8570d3deb248730f90bc74723e8d741648fc05912b31183684adccfd720c7283efe0c6688dce3e6937ae71da6a0a5be8f1be0450f57f05c47e6b935ad547d60694ceb4f904c4ad854b80f693fd031e70d1ff7270b4e50a56ef0643a01307ef00ab418cf4a99b5fc8c36d5006086e69c845cb890fd33b44 +PT = 458e525b63589bc9f7094027887c63c7848b219e14841ced66b79526e167cf4e7e7c2d2c2665d51abc5d900ee7a257f083bfa3 +AAD = 0641a74322582a06c467b7927f35eae44fb76e061f75c324685fbcbd57e97d4b5f0c325ad31ccf077251a73fe0c91037 +CT = 5d4293bacd45dd72b8119e0ec871354601c4a57fdd90bd54f0b2b44908428005998e1b41da94b6aabf21ece2ae277dd0b0e09e +Tag = 33de5aaa4d2871dffc1c7496 + +Count = 13 +Key = f73de9c0a08858338cdb917bd728efbe +IV = 3c903f50cf3ab40935767e50c85ad9e4096115f01ac0402f0cd721f85c59141b637e05ba8ffaf5a781bedea507bd9d7205813eea4905432570d8210f1b3d5dbcb1964851d0ae6df39925050d5897d3ea48d9dc1074096b3e14f3d9e998ebd468b289cc7e7857ce35d070ee5d334fca5b5f258e5aa3e34b8e9a62dc9d89a018b9 +PT = 077192d6cf1b5283d1e38046fd9c109638318c2832859ff0bfdd0c7fbf5ac28196bfe1a7d3d54854d330fc79c3d32aca021307 +AAD = 1cedb8dfd8be01b2f72edfbdf1f2696ff2511ec1954e98c28055b9f9d1c4508284b928fb53d81e33674ecfca401036ef +CT = 00d7ee3bdc0bae0868dc826ebacd693c67e3a9a616a7a7f62d15d1c902183c2fb10373f4e7cef0939f43f89889c4f23cbdd70a +Tag = 85a5cf3a35fc63291958de6e + +Count = 14 +Key = 5fecf8dd10dab963004c8ae85acc8e15 +IV = f3a8d3b31714d510ad88eda7e44ed8de296946620f7491a02684c9417449dcedab9fe66a519f02c932da28d207dd54efa6c7ce261041f4cef712a86c831c54a43aef3f68129d5a1aa4ba5cd03d7e196bb0990a7d788d7c775aa618eaf29cb0141fde7b18851349a203857e4411e4e1754cfa9fe62b3503db88bf216572a94419 +PT = 65ba7294d26c924cf3935fb2f660b10d890b9a89f2d0b503572f8a1c806cf418336678d78f572388139382c3fd448096e0c311 +AAD = 263bc0a4936fa1c9c3551ec0d6e95fe63121c5ea4cd50d5eb26c9561ffea73b26c9b518133953fb498e9c62677802ca4 +CT = 442618a554fa62ce08b78d863cf58e79885e23a3da44f0e932e9ea984a216122f626f9cf4ffa7e24dc54a91e8465d8be99bf7d +Tag = fb36c8f92e04362c82ab0ab8 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 64] + +Count = 0 +Key = 4044b70583d62cfdc9fd14871cb3e04e +IV = ed55c4af851db9e98ff7b1398095c1c58b94f846f45ee8b5411cb1474cda02e9ba95d87bb1e554acf95d81fd4f3cae275bc547ad1c1a04d9110770e75920e6a25eb3e3b7e8e22c52cd16ec138d16ca98a6225ef8434b9c4c3985ffdafc7220e768a7691ed505676d857203e864bc78fb6882b90f1ec8067fea33b9f8f0543634 +PT = 34a6cd17248e863c8849f85722845aecbdafac4e86bba09301e7de5926a703d9d5e036e7aecc7de979c7dc6b65b9412ec0f41d +AAD = 943a858e780f073efbec096ae39c6b9c12eca5c33e3af8b574b2370286fa51f71aab23fb1537ea0860893064748c675c +CT = 75540ac2add24ef3d16342fbc59906192b1661510bdf57f3f08b44ecc3a55ad5c46c42c812877c6e10ad69634a069e232d2beb +Tag = c32e028319dc1561 + +Count = 1 +Key = a5a2bc0677b78b0d841efe8c81dca926 +IV = 4c901b012308d9bcc535d5e8bd45c9956411c8de93b31ced11ccd7b099b3a07f5da37c2384310696d1b034fee99b57665eef0b15fe9ac9a07d4e3ca6811be8226ffa36af4918c6c2adde77d756bf7f8600f934af135a1bf88d21f9559568ba60ee4471b2eb8e86d2ee5ff162a7c4e6f043fd8e689f14fd0db7216413e7b39e59 +PT = 0479b86c872283c9a3e9d207ff1cada4d015b8546495b885c6928842ade3ef0427581ea01d6a6565452fb83dbbaaf51d9c982d +AAD = c56664d3b1e048ae889d4fb858d03a7813b121127dd62301876723fc1024527fedc96fcc1f17f3d56a4b5800e03b8847 +CT = a2ccab19efda89b6088c1afd5edf2a0d601297d6db5a0e3cae9645473ee759e9f1653ac66313fee2b65eba864ec8f6553071d1 +Tag = a48cb48913f96cea + +Count = 2 +Key = 04e074146c7effdc0c013873a7efc756 +IV = 5828fed8ed4b91bc6bfcf2ff7fc560e5e6411d1d66e480024534ef40164b81886d414ba4ae172a80de8d3e78b1adf49cf3544ec39ae5d3ab26e373b54ad58ce89c48dc73be333478b102862aa0ac09d82209df722eac0a7b4ccbbd73701462695a0e89783ab3108db5f685a29d5d96e730e3e96d8ef3e6f3f812c5397b22bfd5 +PT = e8647d189b4146ce6ee22fbb61dbb3748b33d3e1bfc517eb852289d1de4a8fd53b1992972ded7719f5b40e99bfd688bc082a2b +AAD = 707cb6c0505f4e4fe38f0ea8ad2092b5d819fcf5edcd545338bde10689826240ae40794179c9fd4be24467f010349a33 +CT = b8484893208b276ff606124b20313e12d4dfdc829f0c0f603ea1e88b2e978253e8cf677818b18f26757e321d45b64e4ecbdb0a +Tag = af83e212936f3ac4 + +Count = 3 +Key = 0fd3ed5e6c9a5798dacd666dce0f8478 +IV = ab1925f9bdb53f1de1416665687caba09b2930992950851ff2cb928c74e4191fcae150667c1d17f8a28da4cf30a388a8d581c743e68ddfb43459793a88f33714072c66ecb4f72f013a60d42d5426f7f29316d54ff053c15cfd4b8dd7919631c31da3eaa97bbfa4631f0dc392b543b527eff1d86dbe626c86b7918632301f4301 +PT = 4277ef1ffd086c0c64e3a94528ca21814a1dc3130e15e046a7d0daf84fe53bb1a6c62acc39ab51a33a342357c51cd5b59a54d8 +AAD = 51864a4cbe56c8dc342d31996270911e31a511666046d076a450dde654b83192acef22dce4bdbd21687f06b986a5ee58 +CT = 1b8c468911401291f5fa7d2629c6fb12c6c349f614dc8df508b15513c4fbd6598ecdc0b54c51c7b663ee14c9c22fe1b72d79e5 +Tag = 9e178e1717ca6292 + +Count = 4 +Key = 27f321ac0ad3e168a2a5fb22ff45413d +IV = d2e18272545bc71f680ceacf989291fd6b7f7ffc5619e9cd4cad8d86ef3e64c2c4596b0678cb2c3e20fb0421ce2147308e344defd6bf0539f299a2f79e93d14ce2fe09fbe3fbb2d903e82edbc5d511ab23881b3c6aa6c7ad240212919428a96f3f1f4e4454f1aa6d18f6f535c111bb80ed1e133ae906061f2aee18d1f68f9261 +PT = 53e1733ba10fef7a8cea65c381725ade1c11c4b39fa3871d2b87924fbf0388d40b8164efa2c15baa84f06c0186c6e0f3621901 +AAD = 8f6d8d7f81cf84a68c1b60d14b6fe7bd17151fd254efe7c6b2c5012156f7ec1739fc9a657577179f69daf9a95441cb8d +CT = 19be5bdf048d1c198d288dcd09014cce54d66a88c2543102e9e78c73b950e1241ed84498f09634050505e571c752314f39759e +Tag = 98f2999b9899428d + +Count = 5 +Key = 70c488b60f3131a1afee50bc5a7e2882 +IV = a06935527521580e7ec4a10b84371dd27b7f8d0839c683755762b89b4e2faf5914d26132bc0ee5cb051d7535c888390451f7cf4008683b0da7e8fdd7f284eb40b94e2ed68b7b922b0b0041d77a7630b5ba3d96ff6e2dfc80025326ff330acfd114f9ee4284674531165b80849e3cf9751a8cb76468da17075ab949862d63e3a9 +PT = 0ac3284f276424fba0dad7a8f37f1eddcba1f62c3d4c309f63926df8d3c11f26708ffeef8c95fae87d4af3cd2e3a0548190d8f +AAD = 7a291847ad221437f6abfd193eaf50e2a70fd8e8768a545adca8a7d32868cd0403fca5b11d317e00d9179e936ceb9877 +CT = 4f4632a2f13d17b10edd54179d9d6df2fe662df374ecf66a7682ec0b329dd6a64ae81f52ab0d9d3f79f74a06b1cd59f5eb6d1f +Tag = ccb3affbaf44b088 + +Count = 6 +Key = 273e1bef9ab1665cb62cab0cbe4d0373 +IV = af8c12019e0da9370a4ca83d0eadd249dc88aa224105a31f6809abdba1cff2d2aca54200020869237a41ad92b317d3da368aa7d21eda3c9383e24a89118649f2c4e48f309baaefb408f0923d46a17f577caf1b70ef70d45d8fc05dff1366515aa2d501287ef5c40a9b7a81a15a3d91b12b04e9d3431c17374af916b7aa40ff86 +PT = d3006930fe60ba87b2019a87ccf58b42dbff0750ba83015321c723f39f562908ff5bee764cd78ca36eec82132cc9232aace4c1 +AAD = fe6cd379868e1e9919bb5f94c3f417a5e16dcfe2e2ac30cb1b713dff3ed9954e05a6b1034fb2f9407256698d42883221 +CT = b2bbe8a0cf0993586f2755424f410ddb79e4aac3d982c3dddf5e94c92b682983d94c763ae18d7a8c42aa06045b31f4608398e9 +Tag = 5589327669ba5ea2 + +Count = 7 +Key = 337de848c6bfe0c8b6b21497715a2ebd +IV = 72851695ca9cea08c7db037a96ee6c52a9882366fbe62f7985f86de0a197787dc8b7e524b73f90d944084179557b265d518fee011178ed382ce2197921716b2a40c993978ef32e500118c66ec354e97b50ee34a725db2d8f974c9652b53e8886c19538c02c9ed54a61c59f276403265422b7ebce2ceae73163ab79e141286e57 +PT = 805a56f02837bf68c3baf925478a5d75bbeb41886c34a2b921c4803cf587722fdeb00b25865a870740361630d14d3d02c581cb +AAD = 6cd15ee88de66e85f62473d10aee46c2543dfbeb6879845ddf5c45c4d6814e26d7440840eef230ee02850b3de6a0094b +CT = 38b857c4f80632aeef2809771b8300bad853903a5fadc825633b52c15b41550341de0080504925f3ca27f4d69a4e70cdb375aa +Tag = 3acb879dd94c6e15 + +Count = 8 +Key = 11448c18d00e1197d0d1894f6d7638cf +IV = f3d526cf637271fa3e7ea775bc87cdb4405a22602a4fd3ce95e65460c22c45b4aca738a1d50c96136fb2840115bc8fc8f8249535e825cc9c1d13d2ae831edb69e56b9ae5b5046f9a268765baee541f08465bd14852816785576839eae668ba4ef560b2d02f1feb2091721c467596bcd2a02f28aaa547318f70b9ab04a5fc5904 +PT = 4717f26f3cdc51bdb817ecd441b3791b13ee596f07c5f3c8fdec088fece6089ce536f25f9976651ef6f842ef0b0802a49873cd +AAD = 3739a6d38f39e2cd340a8df1dfe6aabeb47ef9a7b060a71518ab50e6a1cd9054ae90d5b291eb585661acf839441f77da +CT = 8f814268bddff1247470381ec2e4463a6b4345865f8c4116e637944bf1b75ba341e102e038deb4bb5f6b16642bf42a5d014713 +Tag = f26f83b354f2df5c + +Count = 9 +Key = 7e02c0e285a1fce1fe65ab9ac9894747 +IV = 377f0c2a8bb4f4d0df790eca3b1501d11940bc267c36345dd081bd9c0d5786230937b067eb31f4b116a65b2b62191b8b3034ca56af32f8d872c32b143a47adda3b7fb75f25ab81c59905be067f6c0f642b92d3641522bcb97a667086a5ca82989e67ecda74fbf14f3f64f6e75fe4b54ca8949582d5a9af7f11aa1266eeacaaaf +PT = 3e92bb589ffc08a6817d10d12a6f9e1bae7f352b5e6dc708975040ffcba67957e5322d5f36faf6e83a5376bda9dce9557cf06c +AAD = 20d51311c704d09a2a573f4222b16cc217b04e5d0553ad5ffaded4f5a6ca3bb692e0347e4b16b555d3f8101a533b9e7a +CT = e9f9f05c072729e84c219ebbc81843b68fcc297ef6a41e8cff092d4c15454b85653c057ad4e01aa0ffbc3b5c388c530918f292 +Tag = 86e24eb6aa07023c + +Count = 10 +Key = 94abbda93610ed3ce942404c0ef754e1 +IV = 8c91a62c9ddc7029726c2df21ead1179b4e0bbea5de316bbc24366ba70db29942c5f1b7fbb6bbaf5c5e403f49286191a1a014143ff713c4bbf785cabb1bec882f7cc9105f25741231decf3f007a6c29bc0e707f4deea817668b6205eeffee970327b9fb9ed00d3e2f7384f3371a80178985a4a5b9219e2f66fdc5928eef47415 +PT = 3b9800e03d520eb75b9be640f10aea2d01bb4e772c919639b81f4d2ef1382c9531af3a0aeef57e3a4633d261a9f7c1726caf17 +AAD = f115053d7b2bb2ba3ca75bf648a86cc4426ac33b6c69341c15cf05d264b58df17b2ba1d181ae2d9d3ff1bb8ac9df7f33 +CT = 6555401eadc253e54d053579a2abb8e16623c7f9924508dde87014d6080b40163429b93cfeada100eed2ee40d133818c9d6d50 +Tag = 1ee067665f0d0a55 + +Count = 11 +Key = b43e2bd94185fee6bb7bcfa7e7378ffa +IV = 15adb1a6632953a7f08e249615cb3c59fae672ce46a5b24130f97d259a6cc87f06508fabb1392e6a5f5e03805e010371cde7769c1d871e60762cb8fbcb71fecc28145911e7e727469bdfffb8878af995cea0b90bcf1ba1ec1f36832dd4b803dac0f5d1c315067231bf145d280a5f98a6d711074714b64565eea57e8b635bbf27 +PT = b4945c8b60672ec1dae8fe5510b0369f13707851cca0229a0f481c09ac91c80a8f2c6d12f16c79f87bd60698ae5f656e507b49 +AAD = 12ba42064ec2b8512e24a949c6dd613af5bd132ce60181480e6244ec0ba94fcfac4fab21a17fc30f581033e6d94ba44e +CT = 396fc699b708bbd90245a15119ce3ac33dafc5f0542ab873997ac6d2e509561a16a63b2431288f1ac2f7c99860a3a762b5f9fd +Tag = dd2a656bed5cc45e + +Count = 12 +Key = 021d9d77020ad5acfa80427a0780530c +IV = e76b3883643823b01d743883488106078d9dc6cbe47e7c860422ade51145467c18a8b5d2f8e5d62e896386bc0c98c18515cb7fc5dafd13b6e49b14d9e457c33f3c59c49718d9c71f467e26997c1612d660933190577ab13eb79de602d4c3d14b7d87e8d8cb89bf156ce4ddaa2dca44ebb45a8aa5f5679359eb52cb21755d67a8 +PT = 4bf11a795e9301deaeccc39eb9d0d8cc0416bbde4a89d89b7aeb30d29fe644ef4b2c093a719b84cd08276774cd596058440b69 +AAD = 89ec43b5f86a3db54d8b11441e242921960aa01e6ddd5f8424ebfc2018307155f702721d9c7086760e7a86392933fa2e +CT = aed518dc03d5f5191856c56e8730e8a2598e476ab93ba5cc408f53aa7ee2ba9f064bb856a71763659d7310806742cf29ca8129 +Tag = b06f61e0b9592a9d + +Count = 13 +Key = 49980ccf24c275169a26f86dc41b590b +IV = 205cb791db8f6520e487dc3975a172625d4dad4bc2109f6efc39584d03194c3dde3bb65af2d4d39ed3eff05779a50c0a53782c72d4687367751c2619e2ede52edc4799852ebc52f540d01477db718574810d9dd600848f36a251019ec926f2e9421c22875f0bbcbbc2315e6080300bf9459f4c4e23d407067179a80b32b84d5d +PT = f7a8b61023bfdb8a0a5a9ef74c9c0877b4cf765ce7c547982f5f9e6ebfd00132c508690008f3ae89800cf3f7786cdf5b18654e +AAD = 2057fd916700735ac605164d34fbcd84f029cdd0430ec4e28642e84e8629b5db75a8112585b64de1e31b6470281df4ec +CT = 5f3d2109a5b15a441cbe7ebe4367b57cf9bf8485b5c21804820deabe8047d62d587bd5f73813e40725ad0c5befec5afd8497b9 +Tag = 42598fa930bac50f + +Count = 14 +Key = 585af17dba09722d10c5cce5a6e54e9a +IV = c9b4b2177bd548379b47e5a264dd5f951e428b747e900c220db0fd3e18c2eb1e3f3bbfed9850d053bc18421b281548e8729a962d0c0bc14f9346d4f160d44c24bd2236c8050ba84850b455ffc46857bd0febd45bb99ec9f6c6f96e536874233a1190af0c8ef94edae9bb2d64fe7196701f35d1b10a35ca38794f32f373b8ca3b +PT = 08ec562e51c68aeaeed1b3e894d3332097ba578a728bd02901ee83bf3455506768c19258bc61e71ffc9490c6c53dc3dcda7d16 +AAD = 5d28c00ef46be64c11c79f6e9b886925a7834d24013611628667eea445f342d97ceb6fa75f242050cf5a5e27eae961f1 +CT = 16af411fdd9eca1fce811857ac107a1b31fea0a755ea3f2e380852bd7729fca5c4b8c055f9bc8e32229f64e7bf570e8a126d35 +Tag = 35c288de103ff3fa + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 384] +[Taglen = 32] + +Count = 0 +Key = 0340421ef83c3637abf2e4343b7cdc2b +IV = 9c0ef9854f83b7e1ada4f61449dbfa0871279c04df3028c8bad5abd47ca9ff59ca7fbfea3721fb5fd08104fa352922d01ef92347210b559472e42872a1988d62187f29c1c0b7473d03a737ddf2464046e59579869ea34bc55ac098d87355b2ecc3a06dd4e330152ed13b581a4b36ed1590dee70ac8455ec2be9339e08450baee +PT = 336037475932bd4afcd80f9dc368f773a59eed93e66c826242bce8759500b1ae7111cd0b9014e57bbd45f0b8314810041088bf +AAD = b867cd257ba3e9a66bd3d5ca2be9013cb520a1876f918af2884f2ea511d0972602c5d555f6f2765017adb62ea8948635 +CT = 48f03697146288db5c94f0fc6f2136074707262e08a9ea0a96363de80ac5375164d526fc2be68cdbdba89200e5629fe118f0a1 +Tag = 2421c5ba + +Count = 1 +Key = 6c61078c541e773cf486edb01594bbf6 +IV = 9c15ed84a2bc3fbfcebc49e4f0ffb6d69b70a30c769f0de9050d94c59b72d2a31e3791a04a408a2b997f0222bcafa6f6ceb0dba50158d6cc5b7bfc29689ca0acc7c2cc6f38385a829e6623c7a3d9f01e4a900eb411f09e8c25cb1f707e31af17d9783b914df66f4e3a82cee57f8257898391fd41d9faf3b94a47e46b0cdb057b +PT = 90820d427ec564e81427a38cb62b04230a168835c6effc530159b7d48ce739c1dfb0a8ebd54887db5fe4683dd515dfa3cd23a9 +AAD = 32368b18a68e0a620b582a1ac918c13271a8bc3be92d8e2c46f09d22b6de97cee324996837a4041f01a3a5391c44aed0 +CT = c671f13b2895cae27aa215d39be0a2bf66e88bb51c92fd9b2d15ad427bf2e25c51aa463db80ccde1746630c2c8b9ad09db20e3 +Tag = d3c7f1b9 + +Count = 2 +Key = 1e2fd155ed03adfbf1fe8dcf5ff3259b +IV = 5c677cb6b6d161d0cef8e5de675d762b8ffdfe44f93cdbf956fa56e062ae476c85a8db78bda1285fdff6a34867edf0ce626dcc5cb0cff14695c8d1b3ca2fad9539ca3d3e67148aee1ce2a165892cbabd1ed68ea5ec820df8bd6e5a46cac71c9ed73013dc66c0a65ec1bdc6fadf58e2a8e8f0b2fe68e5f7ded747795b069690bb +PT = bbe4e37a9dd5df9b77886926b701dcbe717e79df979ee02778bc05ee91c2d876571761df513b7842132f59a1f111fcd4eff4a7 +AAD = 2dcf3a35ad85a5b7e688efb55fc5b529d969815074771c53355000e145947fa688d50aece56c488b9027795e25abaabd +CT = 48d6d00185ac75c31304f0b50ec00324c682e2ca200f2cbd615ef89376e526f65504fa07c7bc7d2cc22c22c47bf04df6b59fa9 +Tag = 7c89e3bd + +Count = 3 +Key = ce74ec4b71858907c6ab621e791c4302 +IV = 76bd7fab0e3e9693609b75fcf4b50b93417c3381eca8c5678e099ba48a845ff1201fec33c2612dbe473856956942b84e0cd0a496f6223f0fc040f7763638e1f0214838c7a996219e3226c1e94be58a1204f8b9f6eaef0cb02098735e9d155f58696e620c85b42415bd143108164723225a147781b54eda7f0e29fdf2122b0a1b +PT = 88d5755df7c50da07b67f1b4d2f6fe49cf5094498b1805cea86a81273f26008bd8cc2480167862f86975574ff79963f844b6ed +AAD = de9dcffb86362c0808c08e4f076a3030fdb755ed84d22c60cb31fcb5423fa101a9f81215c648cd3ffd598fb7d8a83bba +CT = 863150dc681c57cf5fe326d13c7eb27084e03f75718e9a87887c5d4b8ae07f2ff6c771e1383639a90acbc5ca9ce145954e4bed +Tag = 654e2e7b + +Count = 4 +Key = aa3b2bc8ed5c2812550870a096d8de0a +IV = 359f923556e0aa5c0ee362396a5388a4ed7acbf7e033c5713cb84c5e892bf938cf471f0386333dc93504800111df8d3a6ba46f52a28ac25d447a2553d0a0b16815a65ea3069fdaf9297e149864edc9c1f04b83c1918d91785ac42a8b6b7faf2048736848d916699b2b947a692596dcebdc8ba65e0b5bf5b6422a0c91715fb37d +PT = d00f10b87d65637384092fa9c22d5f7acac1f57546be81c12f2cbcf23fc1bb4c49f7381a1924c9bb4557eea56d75384709dd99 +AAD = 99ca4f1b176bbb719f0bfc80d372ce0af92555798a7b49f0a74b737a23ea54c3e200406d577a15e8948e54f9f384bfe6 +CT = 72178c52a335839b0a4cfd6841a1c1f0508f92bbed6c5e62aab11a2fa95cc3036a0a954df0ceefc48e2057080e3feda7883bbd +Tag = 048f4f44 + +Count = 5 +Key = 74709f7e70b1ccf5da1589395cefbb2f +IV = cf4dd25a1792daadaf73897e4bad2589ed2fab16e1a8ff3adc22f4d0856226cb717370d1e0cdea2c72c25cfcd9dac6ba47f557489386ba6f806ab0edceac129e24aaf4491d01d193e8bd9e14d42b7b9d74c9ffdf1b4515b9baf38c2c566acd35a435ae3de8ba404c7e4c3fcbbfaa0798514699ec5f9e7f1e3647613fff37067e +PT = 335f2e4ee943e6d15cd86c6f644d95064831eedcf411d24426b6b243a2dde492871e3364ecd2387f2eaa7f36079d90e7d8f0c6 +AAD = 370e5317787f04d4e09a362aa3b5c2ef7eb54e399959da21bbceeac674456f1ec6509e7f662f04ccdbb695c4e7cd4ecd +CT = ceb61220306643ff22b801c1d960c6633947939c3b2f2e0b2135643380b43afddb0ddbe92c8c4ae8124f9ced6c98ecb7dd8c76 +Tag = 6c972f48 + +Count = 6 +Key = b49818e4f48f993be34f0a6a235f7bd1 +IV = 8c535c2bf814c54a1c20976d89aab5f9124edf66d4bf81b35565f251ab741b7483384089f8c88b5b194dea41e0edc22d231ac553f4c4f61434c2fd0256d6d75008cf37752c6440926814c86dc15f18ea3317c20a8f7e5731478ab29871851f787fbebab252a4cf3a6bd83c44ff817e1f1b714851f72d0f15b10ae0825777b5ce +PT = 1a61c188062fdcb7d5c4ec8f60b89c102cc38636491872a975bb70d2ce4c13fa3518362abc4f24d5e16f71eeedc4d9aaa357bb +AAD = 6e718c270620835c07edf09ca2d3bfd1fdfbb406978e7a4a4960a56920b5ee6339df90295a3546cfcd130e7ee000ee35 +CT = dbdc78106de6eb5b265cdee7f1ced574c392961794988070c510802d8cc16b7b539789fa9b038132d7bd041675e3c42d65aea8 +Tag = 89206422 + +Count = 7 +Key = 0c8068648fdf389d14601d15be3a80b2 +IV = 51724f06027a03d44a7e66504993aa2698d8e1d16195434d1e44a09b64c5955f21e3133105a41c65c36bcc4b36996e1f896a7ce7740f481c170ec50cfb54e1c769f143de9b7f760dc4a401387f666593234efa38f570e2e751a4bebdfbe36b492de39aa12ae5c738ab2702e247cad3e18da95c9d145cf4b6c234a5d57247dccc +PT = 17cafd73828661935a097262127af169e25dc513a6df8380fffcb2408bebb86ab4130097fa52a3a5740106522775d16a0e4929 +AAD = 93e151cfe7cc0b8f45132206e5f741fa4b901e57e7e84f096566cc8b51e2758b0ff3b6a714963f51c2239971b4b06d00 +CT = b4f28703b0e7c4bcc5a68209f3aa1238eb0ca46a9c740add918055a38f2af498d7f60f155be7a88e3a7eaa089f8cd7b60e666d +Tag = 187c4815 + +Count = 8 +Key = 6c948d8ee41e24de4dfadef2841fbefb +IV = e42e0c94172dde88b2eaf2c379afc562a03853bcfbab115b8d4d079d32a9930b91469988aef8e0cff41ef36ab9ddfbe9bd78cc30b49612642924af931f7f17892a8b4b4f0122389e0090d58cc1377b716c40d7f9cc2d58bf7ddcb9a5e0448a6036cd64a53f474e62eab4ad7a1174dfa32021bc2ee480dbfd58c8037be9dda77b +PT = c2d4353c506625110bc3df106af1a35c3f7c7c3e41d5d3c732032409f779dc182bd63964d661ae024a30379cc351c3601bca26 +AAD = 23b520d88728fee1e3d26c23973e093999c8f4c8b75fc04657251c57ffa9051f97ab4218946bb8fc868daa112bf71c88 +CT = 47d9261bc8483e99e29f118a437405c597fb390b9191008491424df17666cbb037325b02d2e466e63dafa26142562eb765408f +Tag = 14754bd7 + +Count = 9 +Key = 956b151694164936164cd435d3d36a11 +IV = 76c7884f6c58e6860371a943180ef47663de0325e0c93201210cd5256ad6e3d2f1b600f83c6452bd5197bc9000888839245a90fd9059040bbb626c7cc19998f39e9222ae48a11c02c621623224a2f28b58807eb8418d151ca318e793a6d976b71d8c2d3efc9f3561a9ab37c2bf94d0eb37193d92d57c087dc40f6cd3453ea875 +PT = a5dc67fc94406ae51009f35d2b881f5639f12882180f3f264dfc68644eb5087a114c869631715335d68ca69af868a63554534a +AAD = e6e413a9a3187a6924a0638b7490c625ec3dd3657bc5cfad72e3619c472b6eaf8ab48fff980f7b36be16a409c23100ae +CT = f99626f69b4218f510d397a4e4bb3d6a49901487c141c22fbb2f7ac75b301ecaa6a3cdba0339277f880b3eccfe3f0f20babca2 +Tag = e58f96ba + +Count = 10 +Key = 648dc8b81257ca3cdfaeedb7a6d7a376 +IV = 477c6b8520859f12269236c49314322447d7d8a12296f6edf0918676a068a957bb838f3a0e30bcb9ae2ec6059f3cae9683f474c36c85b7ea5f1ccd6f0e072391ee82bfe6ef0a5ef341eec77e50968126c273510d548b0f4d4620e42e39fcea21fb6a3ffe6c44f18e41bf41ee5c953026f9b86147349196c853c872357084e67c +PT = df7a6b9b2a781a036fd66f73cc460b06eacb8c929e3d274b29a9402198f92f163d1f4d0cce45bbbb54d55d14aaa036dab3c5de +AAD = a4101c341151799cee6c0b80f2fa2e62a9a8ee0973e967eafb7e1528696af0d5c316044437686edd30696c6ec0e45cd6 +CT = 1c564a95d2df3b5c2d16e90900e1db4f8ef3c357f7f257192018585c9da2816af952b8e08bbafebb05471572b7a87a12763aa6 +Tag = ec0ff169 + +Count = 11 +Key = b64904ad968798023a45a252b5597fc7 +IV = 15dfc620517b65317f88f97f272aef8f8cc5b69e0dd66db4c933d84484b69987bb9b775aed7e61c04222e79aff04e9d1ae91984a98ef2c289c54f58392f20f726cc00733bc4c835e8b5fffaac2786475be9ba6d63a8a69b40c1175f92ded4b91d91691367e5075890c8997166bed1edc3a93fa60a2bd71c1bee5c062b5234671 +PT = 3333365680fec27bc71a8ac3bdfb6fbfc44a4a55d611adecd62a4c824af4af13bfb145441db6f45f58a774994a8a8f0236f494 +AAD = b02fa4395330deb7988773960bc6e7d82ba35636b280cd73439935b10905f02c44f464a35eb28068d19668e50b9a5dc2 +CT = 57991c5dfad8a65c11e52d1df310d54086ddb58d4ceec68a479386f020348fa50c2ce49eb9cb89215c8344778f7a0286e8da24 +Tag = 3cd8923a + +Count = 12 +Key = 8f38b825470028609bf77f7e990b22d8 +IV = 35d29c5458288401dd60c340e3230051580a95f95884dc7ed6a74ca36be6afe121179ab1a3f47a268a074c38ad5fb2433706a2990740333d41c48434fc3531c331505f294a7013500d7482b210bc83578bccca820024131cda548a2da4a2745936712f3f0b5ddbea35216226e7367d3a236f0ad2b6f47352342f7f6788a104af +PT = be0d9c73f9458c458338f85ca40af148af754fac7fc024cf05909c435182c7e416f50eb91a700d7fb1bfb3773ad043393eb5b1 +AAD = c1724c87b5658a5834cf1aa6dac19c5a2279f653f8243632c88cf955915bb6ed9c124316861655d099260b15dd86a5de +CT = 83c8d6b4e34955c516514a6fa9edab701937f30776b91c8d79e4b57d6fcae6b569e5e177d1fb448207778a17117bbfe2ae0fa2 +Tag = 7ab87425 + +Count = 13 +Key = b3c96b1ff0af5024a09dcf8971439f01 +IV = 542c8aa03b83cf86c0bd438187c687c324ebc5970265eb4bb8337453d7670455ed3644bf81ef8c3060beb933c30ec93adca46a249f63fa9ce521bcd9c1d8ff7458b77c1a9c3524cea18b852ea53e815fabe69b88bb91d696f3107772e4d37cf5b621ac4b3de16cf071be53f10fc2374a0eb942413401d330fe045ade5c0eecfa +PT = aa857f2d08dd7d95c727ee793db00f06a3476decf00f6e6fa7619e3fb7aedf15a64b12926eadd08c26cdc0f5a3a40c274a45a7 +AAD = 39d29c627837896b3f8ca9f074b8e16c642bf57d7db6140ffeb7ff0e680b3c132a04ac34eeb72f2e5deebb07572901b6 +CT = 67f7db6be7cbb0a6a5abb0a2a6bcb6c4312d363567bb9176b5205b5e60a5bbae53dcbc323975da03f569d68ca387b7b64c7f65 +Tag = 42a9b044 + +Count = 14 +Key = 762be3578fcd3f2314c59792e09381e2 +IV = e6ba0bf04b82a4c8c2a1b4e1a833932ab6bb99b9cc97d256d46ea7a15d6c7252f62480f67fcf18aadfd1e29b9b4fedb4a09add635d321c506d56c96b553a27cbd18ac917e1b7645abf71b96cd14ca2ec31ff3c98d807603f6cdb5e830d2544a3ea19d112e5e694dc684773933cfe57393073307dab14cd30c991807520d2bf10 +PT = e06c5934839793868393676cdb6d8fde61098ebef17f892cfb49c17ca18d56a9bf14fd2bbbcfbff7510c44b7c983468c8a5e2f +AAD = 69d74a65f8c0fdaa7088bd0d68c5c1beafbce736833ca378e59608f5bda5b29097bb925f5f66164e3a1147a4da18e38e +CT = 4f30839abe9dc09ddb94b6db34671a38453263f7960b53ba2681b9782ddbe18a64bf8cfba4cb6d70ebc8222f8b428b1f550319 +Tag = b7e398da + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 128] + +Count = 0 +Key = c7d9358af0fd737b118dbf4347fd252a +IV = 83de9fa52280522b55290ebe3b067286d87690560179554153cb3341a04e15c5f35390602fa07e5b5f16dc38cf082b11ad6dd3fab8552d2bf8d9c8981bbfc5f3b57e5e3066e3df23f078fa25bce63d3d6f86ce9fbc2c679655b958b09a991392eb93b453ba6e7bf8242f8f61329e3afe75d0f8536aa7e507d75891e540fb1d7e +PT = 422f46223fddff25fc7a6a897d20dc8af6cc8a37828c90bd95fa9b943f460eb0a26f29ffc483592efb64835774160a1bb5c0cd +AAD = 5d2b9a4f994ffaa03000149956c8932e85b1a167294514e388b73b10808f509ea73c075ecbf43cecfec13c202afed62110dabf8026d237f4e765853bc078f3afe081d0a1f8d8f7556b8e42acc3cce888262185048d67c55b2df1 +CT = 86eba4911578ac72ac30c25fe424da9ab625f29b5c00e36d2c24a2733dc40123dc57a8c9f17a24a26c09c73ad4efbcba3bab5b +Tag = 492305190344618cab8b40f006a57186 + +Count = 1 +Key = c4f397611fb798a5f508e2fcaa329a87 +IV = 86c87ef3f41c25df9eed5207a11aa5e620dcf371e8d337525fb3ab2a6751f4afffe9aa864952337095fbaa7e683a7770eea343d0decd7d338debfde65f3c857528f0d1bf82e5364b3156c60ef39ca3bde8d32efcd997835ecbe5d1076296b51a575a0d68331b1a192441caf1197f9f686e2ba9ac62be8495eaa8dd67ed086ced +PT = 58d82337ff0d3d0cc2f23db1cbdafda5a1788d7026c3f075b046103bd2e4566913c2d0ea782aeb5b49aa8640055007007bc746 +AAD = 5de8c0e7c18d05469e4ab368230cc9c34dd293622bcf47cc0542ca88445d7f56e36154439c5deb987b2cf1ce7ae9cab49db5fd691d3827a7757ad8ab64b37e25e41f3e7fe5e8442b69196fadeadeb3881a1dac3b7de909d36561 +CT = 20da5c0890893eb2a4b00751db0138eaefc0bc80f20a0851146cbb79e862becf733da3073939c2419c58b293d3d1475c5cebdc +Tag = c730a942740866a16b129e28e9f8575a + +Count = 2 +Key = 9c56e1b18a1b99f3c0a2f10df7abb067 +IV = 1b7bb8574c447d4f299a7602d5db83d8b944204d69d3803a54a04734b4e5e4b9164d54a0fb79327f63a44c5ea1044bfb5165c3c0af4039193d941ca125f5c6bab8ada12feb89c72dfccdfa0729e8d10c98a3cd815d572ddb50e8f181f397a0842cc9c3e95a8e8f8fb0cc7dffb5b36312b815c81da9abda70f9fff6583fca16c8 +PT = a8c93709e2e5563598966d5d92a885359780aafc68187409a42fc30876f643d9c8654a87e933a5c13fa01c3a9333cfc8272f1f +AAD = f509721cabaf88f029dab274b1fc39e38f35efba32b0ce0e2a9f15355bf6ad9bdd658a2ee61c6e5fe85423cfbc40f8b53f5307c83c254e9eae23c4a2840e50e9a1bd5bcc5ba1574bd181790d6824015c09e61a7ad2f4a260cd98 +CT = 1707ae9117731266b69977a77c00e722948a9c6aa73dc118bc8c634e7ddc3a6119542babd277baa45f3c9497a188638763c2fa +Tag = c8a938ef213df6c92781c277b25e9e5f + +Count = 3 +Key = cd9c3b46e82e4706e342dba9c33e9092 +IV = 0d5fffd57dd1ee80d9b99d9eb5c2db3e03de71eedce45ca78807862002858f15bd393971a3f763f62ad5bf5c3c6145478167f4547ec812abdc185faba990c6c7f6060ec8d61f23af588a1195674665c50ba0ed3adb6ca4895c45611797e488c1498583b31ed35e2f6389401be8d2cdb00e370a6b1c567249de5d4191801ef845 +PT = 6b90f6e09b2a6eafc5dc20f7f11c23a7b0a98253bd94ad2b62e7067e970c4a445352afadf03d33b0b8cc03905c9a6ab3e36022 +AAD = 6bec4e5eecbbe8ba354df84143c865583d3cf2913e79eea227c6c614827dd8f7143dc5efae04d1bd06098b6290a280f7f3fa1b299e7a1bd0852f456edc11a4d3537056939c8974143694e4f8b5f236d5e42e789347cb31aa080d +CT = 324bb92cda3101ad216fe383fffe165d30c34d1d43e129bf770c5559edc17008d5a177ca3c458df64e6a472de260d5e6c8c077 +Tag = 18bca32acf7d9b8c9fa7740de2b46f25 + +Count = 4 +Key = b0a1eb39e43186fe6b46ea88911274d7 +IV = 486bb84fe50df501fad98bd3525c8efec7b0ea233688a396a7b6e97b35bef040c82e0e11a59149f546a5793746e9e4391c5229feb923f059a73108aa300cf59008e65437b1891112652ad627293f2cebac7f4210cbefe8e4b7acd9c481ce7528563c937f06f6eda6f88502f29f1c670807ca78ee5631d6c278c8a895324d06e7 +PT = 31d758930ab0f9ecff1672494af6564a60a486e9ab718494fa1860103f214873c84604984a5554f742ef5173b2c0d161cd5d1a +AAD = 97bf617eb34d413fd6737e7a594313d41f90e44bd32b2e23dc054b4e1b91c37199ef76b2269c036566e8f3b4033c83bcfe193c545eed2185957c1c2349a7f743820a241737203005da7970ef46c15ec43c7e9eb2a224f45ad915 +CT = 26db60422d06e103e7c2001105bff2fc5c02df7b3795359fa842bfebc0823b0d9d8bf80663c797c3b4e48d7305a2b5d224290e +Tag = 0f5a297316448ab5d801d1a616ba72ca + +Count = 5 +Key = 61bc1edaed596b4fdfafaffe948a8104 +IV = 14cd822f04ae16c37543fafe32318e8459f8b1d809f0df400de6044e178d9a14da3af13d4c3a51653461fa2d73313a5da4ebcfcafcc66170d13c6f03c47bb1d06c60b27d691677e03d31891b15c5bdc8515591e46d8614e0f4982e3fb9bcd2312251583e42f8b97a57f521024568263b981b9744ea2ee79b481f15362c39d9f1 +PT = 1159689e8011ad2cfdbbb2835d18d7449d7a893e9b76e0976c8f0a4b5aeef5822f39634201423341f8ed6fdf6961a61545ad3f +AAD = c6055770ab3364bf94e60237cf82d88ab22c8cb42cbd387281f154d3d183fe92874c121ad8259f9dffb65be9b7715592597686365d3d451d1fe00fe9169f2b3b003cd6ca25af823d134a6fade78df253b292f37d806c07bb3702 +CT = 41bea03c6cfe4a5a1ef51c1a193f97097bdd615c4c2bda5bfed8bd5a6827420e75b2822385a575921ae4e3c59e85ac4be0cac8 +Tag = 04022f976cc621eb189e0b2142e73cb7 + +Count = 6 +Key = c4a51ffc9c57238468dda0d632a48164 +IV = f9a02ae22ba179e2726f081559b4f0d2a878f19a9414831b0c2b784c2c8792e12eee3d349a22b28d5afd87749adb6dc93d6450c651a124d0b682fc58a90f471d9a5a3e1d7149bb197925c09371bb93c1e3dd9b30497851f7957e98831af36fcde32c493103913a6471b1e0db08165e7ffaf8e52f750c7c09bae848e703eb0ef2 +PT = dd2cc2dda129091c71f83ac2538253d9a94b65ccd06d26a4b0d825619110f6039d2bd69347192580361a66113d077e75723315 +AAD = f5825044517147a2e64e9b00bb02b2c317f90093ed904ab01911889f8709194d08d6a35dde21e13cc922257f38f2a301801a9a41f8446c48e367f6b6f12f9413daf7fa1cb415a8c2009a7076d81750daf106da1027bda04ac3b8 +CT = 2b6d3db806cbe6e5d51ed3f3b26e0a9f8c58d38d81882205bb058e529daa327ad6d26550916e0fbc67efd747db7e50d12ac3a0 +Tag = 117fc9fcaada6d3500e0f1a171441e32 + +Count = 7 +Key = 403161e6d9ed23989e25de05c6513e83 +IV = a5e257ca75a31b17084f87773221b63594ef5aaff7153132eeb6d97c1d1932d01307bcd234af7af40626fbf12c3b6aa2e5fc47c5796ce5779c5e7bc19f3140772c6a893d24e355824b402ae46160ecada470e7394192209bacf68fb48303289fd494b6323ac5711ef518482f8275c78517dbd155784d4c64af85b97bc00a1591 +PT = bb8760afa6bc7240d65e5ca253b134fd37e953e8a5328ef82fc89ceb6e9f3faa3a9b98ce7a0d411c4af10707ff9676524ad63c +AAD = 99097f0344f919292a4831a62e3bd5aff3b90b096b9204af5b1b38a55ac2ae41883204209e2393debb27d2634c075bc10c56ea6295d19cb6c55c7eb2bed6d1e1e5b92b1ac3e462fc2e6782f6a101476ca6565138aebc908eb47b +CT = 23b063dd11d8bb2b7bab3d299affd8ed33bb76ab810a957344bc5d78329c15533189ea70bfa140303f7986fb97b458254c4de4 +Tag = 919f5d2bbc58204ccf9071ce001511fc + +Count = 8 +Key = f31928eb18a91a178fec9596e4d78ce4 +IV = edbd3f2face11e198f138cfc51f997c02fb680eb24eeb9542f701c2e80fcc23548240bbf39ee86f41006aed40802daca94e0bb7b07329fb3b16722af053969f69839005fcd19dc9267f2095e0f15732ee5b630e53994b8eb240a5efd1411fc3f19256b7045d0a1f786cd0beda19a8df7ddb61660bfc35470503ed6a04712cbd0 +PT = e729b3ee52d821f45c04fd0cf8b0d5c4d33eeb0bf98dc338bc3d80ff7015108ff4f2c3466dcb1ab7b3822ce5b67978e9dfd84d +AAD = 3b2b1b2f40242ad583fb032627e6ef168321840533ca02042a223da8f2cbe22db26c055a67ceab715acead1dfc9ceb68803aead9e947a1f3cfab83ee8ccbd710c92c3eb38db99143782df41465bd0c9bb01928d77052e7f314a7 +CT = 294c031c6038f72439cee3c8b0850787406274c8b0ef3e377dbfc74bbad687cfe74fcf5bfb8b333e13e4aa14de93b99e150183 +Tag = 1f4347dea41761df5fee4678daba99cc + +Count = 9 +Key = 62f4ad9f45b57a5d4aa25cb21c71331c +IV = 0a028ed629781f7e1fea2258c7973c89905641572fa9bd3c8d4db1919c39e2b0513e6bad4ee3105f3a63a29c86e892bc5dde27abfaac8e432160a94b546fc0be1ec4c8440df2330c843888cd820634f33c33d18fd5c97418a4687776c8e6d4a4a102e7ad89cb6a09aa5910a1fc963ac2bb3cacff5a7ffc3a95cd2b2a820635f2 +PT = 428867e17f22964dccfe2b8b88f982e97f4ef4eb3fb3435a12c13d1fb5cf00501e06c80a66943dc5915c5f2e3b8db18c8e1884 +AAD = df106c72a39d022facc3edde0f3a468d635f9d6a1a1cfbccdd95a47a8231fcc301eb8ebc872f51b4355a761a6867245fe6e05325af7e9156fb102246d291ea99da92936416c8a6a889695c8ec6bb9eb668ed34e65aeb62249b13 +CT = 48a10e0f37be42e09d6ca7f9d3b61a58baa4339e2cdc14a826b0ec6353ad121f5309320483fe83e5f399b59b843a4c19a69797 +Tag = cbf4afc83f0fed7bbc83f82aac85042c + +Count = 10 +Key = 3bdf310dc7b4ee8f481e2a8a88d82b90 +IV = 94d8f239ae97c31f1b7fcc6b98ecfbb39f84da75de22a306e7535ac7728a18aa706ada071b5dac8bf940b761b81c715e93c742229e461e5eac474ccdd76bca05f4422e70a7112b76c900ab0dd294fef506e6d1f1a496a62d6bedafd27060948099595dfcd2be0083fed286d2133e94c24b492f1e75bdf2da49482d13d0717782 +PT = 036f6996bbcfe6620a1fe067222ab1e200202b803368226c29cc0b9271c158860d646ee9cf78a001e15925bbde23a7a0806360 +AAD = d919791c1427b94697fe3fa64a593a1f2fbc35dcf4c4ca31c5accd84adac79e11785df75f9c571ba7d8319ccf47ff3cd6036b362f7cd180970af345202ac92126f3fac579e00ae27e41fce462cf2d582e0737b1f1f3e63eedaef +CT = 7813d7c7c21b6342b4c686e3134ce8dd7eb152d5a9d7a2bdc8a6ff92c09cd4119354f4b432928e6a208c1b83c1de1cd38b49fb +Tag = e4ded1e1d206376bd3c1f020e01d80b3 + +Count = 11 +Key = 37398fe3ce0ef337e136d1dce4eaf440 +IV = c343c3d4ed696a7a7027ead325ee5a6bb352217892ac0359dad2fe2d65bf6f6b6c5fd74cdb166f10e938cfafffc63bc4d1db57ffb5fa83b32006819090d1752713304aec0f5af6752f1bc16faf79a409b962c01e735feed7cf9a925e3d7c2e8d754db726fd082a5be7787abab773d034cec26e9d70c9e06970dbf96c1d5f1a18 +PT = b05425f4560032176eac286b6bb028d4882920660d3b9fe4269e5c95a99d7d03d1a269f974130d9784485e8b19cf15d00d9859 +AAD = 648ffdb325088997b9dce3aa6beb6af22279d78937671c0ab5cac082afe6c5152a4e52fc8269f423321e59f549300d1f33b526aeff16327e37ebb935b7381d1f06b45c1ad97762dadfae2757e373a60cd3f33586e389a17d90f4 +CT = 34c47de8fc3726f1a8c2df06b1f564ecb50277082f6a498c30c0fc53af74d876b9d8b68aed9b77c3f5cffd0f6da3c74709c994 +Tag = 6da4d18255021e100f51e2934c5ccfcc + +Count = 12 +Key = ace7dd87a645afbacfe67c4132ad27a0 +IV = 95fdc46a1c9ae1ca57d910e50496eef0bbf3300261ed3b12d63601cfd4befdf5e70b43c317f816417341642ca44c153ab57089a31f19f0a2c88a77ae58c5afe421ab70801a3e25488e2a4905c0eca2f995aa5997aac5f7a745abe490c8d120720b0192e0914c0161bdfd8ac9e6250a81de78fb27341efff2d448248310eec2f1 +PT = ad0a921d951f13043820c7abe351900aa77aca44f8eab79765af83e66717ad27d2b410af361b8ee1b651eae1d4343735e7f26c +AAD = 9932a558abe821ced56217ec133ce2f58c98afa9394801736fb860d866843ed06a2c1ce6199141561c019805e20cba4131bb73e7ebee87e239ac2f8174b14cf9b7f84bb6d6600d59a50fb69e0500adaf0ac1c224672eb2c0cc94 +CT = 1009abf8c259c4df486563815e7477355369887d4fae0da7ded4d2e09c3c6f9185b73a090c6a47c5ea1a5195769dbcae977f4d +Tag = 997a05688148e44b86a434ef64283156 + +Count = 13 +Key = c2c228b7d144aa4c393dff2359c3b532 +IV = 32c8e1f9cae96d6b4cbdb96b578aa90e82269bddb91dffc0d368c0e438e07f48866df59f320498661b91b276b2c698fc1a83cc37e0801e0f892e51401c8ea9ce711727a8e4226eef085fea29ff966706c741d6ee774ae519c2321ea21137f27f80e21fe14c4137c8bf5961b07cabbdba403b873bde4dfbababf16d95ba24eb76 +PT = 64c7f74ecf13e1f79c459f7f933ae313663cd1da2492681a7da557d131ac9a8ddb35add212861d990b9df848ab0fa0d1d0b61e +AAD = 6c09106852ddf1be279760820c72c1d130f5cd6fbcba409797bdb347fd066e28032879f8162d60335e8c285a00d6796b59302c2ea421b26f97d54161800c3fdfab52567f5e76ea6f375e9aa09a7f780a9cb2be2cafd3a3b257bf +CT = dcff48bb1e7ff820b6b4fe63b327fc7a3f9dfd6c41b5f04778842f2309717e02e46264280ae9bef3ba5f8f76d202ec8029d64e +Tag = b7f8e07e142c069332c93c1214f24b0b + +Count = 14 +Key = ae30aaa1dace315f645b155f94b9fb13 +IV = 31f6c6fddef5cbf7401a94b40d12998e612726b2854480fe16586e2ec9eb4c1d2169c9c56e8e7faee25961281cc71c4dfe2b9d150444a522ee28f7592d6172bcd1c478d26c105e77fead06b733c9e656903d369c6b081b3bd98fb24d48f9aa89597a2c871bb745b7f049f12279a4ef0203ad11397e9d612a49a9778a59e55d04 +PT = 33346ed58dd2265df9b9247c38b4b04d8c32e6bedeee5a6f2613eb77d7544d001f4385a92120bfa9113e8d301cf7b9b1ab5e95 +AAD = 8683c57889cb638e234550ed5ac5eae6dbc8ad158d688966d5a49fb41e54d77f8e1070cc2322cb8af7a3611d84b5e904022b706b630c5a18a6b0750e12c8c7723f77026e711b975ffc86bc88292a843832de3e3846ab13086b8d +CT = 1ff700a4e182f4865f915f8a63f66cedf3dbe8ede9dc220cb58d260f33dfe127c0d1057b9760c23b043041e93fb13ae6312b2d +Tag = f4f5288be4136b9b46c75459a5415223 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 120] + +Count = 0 +Key = 38dd2373f48b6ffc012ce777bcaeaf0e +IV = 0d646bf12dcf5367f7be7d494506afa9c3c6ca0b67eaa323f547f89fbce8dd758b1300d00f716c7bab01f271783487f694e671f4c839d101091a8a276a6d2bca5c2d442a4932fca3dc3b44dc8667258219af1df2974af1f46e29f1f22c45bafcdc062d24634c6dd02cc607ba201af16c7f42e9c3e41ef2ea8fdc47ef4a2f1eb5 +PT = 479b06881025fb94d52aec25514ba4dcc49d22913d1810384bd5cc38a7f597c8433c107d3abcfcbd088cedf4d99cc5f010c1d8 +AAD = 6e789dfbacc34bc3cce61b76b6dcb197fecacee77f1dd1ba729f01f7d34a4624ed1f6b0ecdf3a5b3a9877c0328445273600765c1d0fadf092b5a7a535c4b7dd525672ea9234e25cfa01e4c2df9e07710342011510cc892b4d41d +CT = 71754699bd2f6866b854c9253db1885a7bbe66cfdb0901f63c8ba6e15edb915b60209fd0f7a642f248562d84df9cbb18591137 +Tag = ebdd509bcd4d9afb5456029a828e40 + +Count = 1 +Key = f8c9da84b7d4fd1a5915cfd89ded5f98 +IV = f28bb7c3ff071d1acc26ae7d92b8141f4bb553b156785e9ff4fa3ac3a0aa4d98520bc63105df0cc290b76ced4d5aa9ce723af2cc89e364f17b26f76820c1fe1875745a857d6d57f793e5c15b748a21cb307aff0c7a2f609fe98d8947554e5c03e4abaedac10af3f3a5058acb503c39890c904ea42a51397397ad22855016d302 +PT = 94b696709671504ffa62e180d1297b84691e6af3fdcba8b490a2c72e8b7ca5263d99c986288902366ea361d7c2e8a021b46719 +AAD = 4a80bf9d66991a1d163c0248b9ea7589abe2d2b9c9577426998d889dbaa52dc9cce8a354a5c25b61201373b1354ec78f90c465fdbb25fa9c79a8ce141e42766e83b4b34b6f5b1bcfa6baa13d7c28e81ccf9a7abd2a4becd6294a +CT = 078adf2ee980698fd4f42487ad3c6ebbbebbbe6f3e4e800b34442e9efe596dd6141eb2808d07fe36343c6c64e12876b5b6b680 +Tag = 2adbd5725cbfcda1b6d9dd5a30c1a7 + +Count = 2 +Key = 78c4b6e6fb965444db436729756b0368 +IV = f526d877603de6fc355414e589b9583fd3a1c931252e9f9af6b5146f9a25f14766b83223d9362ce6db52741022866ac02ac54372141f43ee72f0fa3824fa4f31a40980dcde259ee7edc4aeae6cc7a66c4b81311aa074677d4a340a8cdbb0a0c050cdb89ace8e92379133cd95178bd0e76d6a9cbac77fcffc91ca706de5e5db2a +PT = f4567257ab71ffa9286e39f92dbae7b04098d78727c46e01430330eab8e12914f7d660285b83e67b451e5b5b8205bc7a92d686 +AAD = 3fd34111e89a707dc02521a7aee59889911bafd47982a1ef71532692d1817d40a889b1844f071f23d0bda1065ca6881f0b2ea114d3bc824e5122d556829c31ca2b90190555982803da6d45a093bce75c0e64bf9d194ff846c266 +CT = a79601425199c4b33704ee8a8f6f8f041a581bdc271d3973aea25c8e857903bcef2ad2870987453269ddf33b8d155adc87ff45 +Tag = 23b8bc8b5df99370cb5546f5d9b85a + +Count = 3 +Key = 808d02432661f7fd963c82df165ec556 +IV = 1fa7244cc0d0cff47756f7d218b66239bf0841db4f55935ce55ad3e35aacd87ba787d4e16d89b25a7fc8e8894c9a63c24bb315afa07d09ae3c3b8cf9ebd386ed72ee4375a8e17d4def9ea7602a3e019d9f4773ba73c024f0a3823b9de3cdd9e8a5cbe4d0099d16d17aa35756e0b5a517467dca7041d57f2ed393a4a92dcf22f9 +PT = baf843a4172ad4f95199ccb2f3b3915aa35fc2fe3f8a02b7d5327eb6d17e333a1f5a6d79e79dbea378a2bf16bfb76b4169f426 +AAD = 291c09fe0c13967dd3d93ebec1de5584c0054e2695ebc421c0478ee28b25e3428631cf1430f044411e30ef389f5d9751f0d42c1ec55479d91f6e0b10a274d7fa3d0abd9a8908974071399de0a5d1cd97f7cc7b24b111a2ffce7a +CT = e6e9d18db9a761dde5e2519355007df9c14ad2746b91a6b3b0da2450096e4daced7682f99206c07fb491dbab2d1b9afbae9f50 +Tag = da111c1dfdfbcf609d63bbd4177830 + +Count = 4 +Key = 9bd92c34ecfa14de8c8efc9a9d46f46e +IV = 45d60ee0df9d182c45678bc0b1d717ebd48100e61f5ffb4015c62a83fc478c4378b137e2e75d1c1a643b44ece53a73343e9b813692bef99448d9571a76bb5f9150ef5b11c2017c80545e01ec7d7d470253187d91529bbb909729619e48325bdefda1f58424466915a066dddf21c1cbd9dcb1967112d31dd48fe3d639cba01060 +PT = 2a6cac95f754523dabf7b8ef3c8a94f61a6e68fd4e86e56b71f78367e851be4433a9c70fd913069e6957b37d8a8665f628b966 +AAD = d4bd0416c334026a95213e8ed15a17554801a5af13a6fe879250dd4717625bb78677cc223b866abd0862c8880a85afd89d41dc597c1efbd2c2bd275e24631504be59f700f353ea3e21d02bf1316f35f06a84c753b0700f1668e3 +CT = e145c02ceb5449c875a3361ab50d712d7a828c8b611ad645c0d66593e5fea42ff4aef8ed3230de0b7679c3fd40f352ddc51ee0 +Tag = 52862d5aaa9f8cf0d103edd24eca42 + +Count = 5 +Key = b141fd3df735e747ed6d415b291bb3f2 +IV = ecf5ecb89f875c2276b12cdff8289aa0f365e0269a6a14dbff978194a78cb71fd46583fab9169b7bed2bb5929d371da55cddf55a51ba905d51682e5b22a7e22bff9add8f60131d4151f4f1c35b510b90e669fdc3c170ec775d875581adc60791aa435de1475dab13eefcaa75c01a6ad3894ad6cbbd81555c89c6c151d3ad1889 +PT = af04cdff783eb73121bc9ed426dd61f9b25cca81db7dd874d6c9ea9fe4f22b3fac0b324a5877a8757833181bca4f96b3c5d183 +AAD = 8b25b32a784938b357c9fe6010257056dfbb0804608471b7fc040b0f4823ffcdaae301b190e5d605d89ae28908e099cd76bd1e1797fd649ce6bf86b342039d81a70da1124a840ab01a9177387ce08d3f03bedb970e3c2393ebd6 +CT = 2cb37db931344c6ec4a5193aceb7532d557ae803d6b7965f5008f3d951cec6dee7f9ed8acaa9b7b6828d2819b1191df5dac4e3 +Tag = e443ac4d58d6b0b1e92d530d60be4c + +Count = 6 +Key = beabfcc8f5d20dd7df1d93021077cf5b +IV = 7c00feeba9abab97ca28f87da00ba23c6921b2f66f9b24ba5af90175a1e52fb89bb026a94095cbb14877a3d20cd79d2f623fc05dbdadcf8e69c6afc99463ff5ebbd77b126cf86edc9a7777b90d56075cb0858b1d2e2973000f8bb30d2ed144f4e2cc272197173f07a3428bff4c35cbfe5e492f27ac02d3d8296ecd43d0b0dfab +PT = de31787fd078dcf9fe2f3081bfa21c31488ab806c3c9fb5e34c8f9ea45f4542a0b9370f5fdeac94323e2e8ff79579d960710b3 +AAD = 4d80f47b9b53e490a65d96c41cde30cbc106bcfd65be97473708bb204a3f9983dcfd16ce38d7f3f38958af6b7a977ac58db59b3181a46b0726baf73ce8f6585c2e2fdeb3840a552ae4268d64bc5d2ccb81017a3843dd417023a1 +CT = 020b5adb9ee780dc0352e95f8a5ceb36d08a2408468c98a4b3b795ec02c4a2982853957b52141760b94106046505497afa1776 +Tag = 668a0df03060a6ecea016717d4a0a2 + +Count = 7 +Key = 9dd23580c15891cb78c381ee5d5fbc7d +IV = cb1fffc505f34c74902cd23451fce7abb8d1fdf14e3f91743727db1a0d90c8a0809bb3c3aa0fd22002b6b6f72e98cc25a47ca62dd80dc13a2d851f0f544065fa5a2b76c733c254b0276b0d12da743d409c373f59c384514dd713bd362901826d61abb14ad17a0e42235b12459afc2d5de31b309b23a36763d256dbd82e93947f +PT = 9e7e6c2a21a304c1b7b9c492232ae567e37eb43289ffa8039d37c7089934989ba944ab052c17bbf13b3540e100624a54c97ca0 +AAD = efeafbaf8bf76c740fe2c2b2b53a0dbb29968654a7ba31503d285d0f10a41ab495e1bd12012cc7b22315a9d448360e01f49c1d649caf5dd2c1aff4f27df2bda1e0c706f7760669740f7231fa81bc740555aab0e1d80d46a8edba +CT = 1fa4f6544ede75077668af3800369bd8f3eb6b986fb610ed0dfa5ad83db027bdb7663631b442460cbf0f617281794f2fa2d281 +Tag = 32d59a9c641388607301c00df38a95 + +Count = 8 +Key = a0386f0ec2f558e99245146ce73935dd +IV = 7d1da4f7204c1a2afa6f20376920331b70841636e132288650658bea0fb5d0232eac92b1f6294cfe59af32a4882f233103cf7557e780b7f8c702c031244f52090297543d899397f75b550db9338fc6504267a11c14de6e216a59ea83e558172071db2e5ce34fbdf7c7b08b21c64cd2e9500a043097f4f956244b53756c9bb73d +PT = fe3eb4cf8d05ed38cf8be72455b4199580f97f9579874c95ba0b025dd97ac2d4736c39aa77984285f62a304b6729a5dd319935 +AAD = f38205f23576b92aaf9aebc0376018aeea07e6bfe9b1ec4f4d5fc6e44a2bcd149183a5bfc7159da4bfeef02fb87723d04ef065e4a98ab3981ef12729829062eda1eec916df5a016440b9723571a996206dc3cd4248628d1a917b +CT = 059a4647dc3ff4b01a730ff8740ecbc1196f5a0fe39884dba799d5a96dc6f6a9b5e2e857111d09a8c7bdf27e4840bbc5d1406a +Tag = 0224a2cca7ab585cc56ac0e2fa0e6a + +Count = 9 +Key = 2e297aa4ace7af54ce28a1a897326619 +IV = 273f60e8b3c6987a44cb160fab9bf6adf465c98b0ab0abab4ed311e9abc87a46f9a0dc458a3fb8e9cc0fb3ad10c3283316dbd57e7b76a41f4d0c8b920c2f74686adec0e876284fa202c74b219f2d183b88075b6349f4a6820c604defb594192235eb81f786a3c9ed27a9d3882b6fde1bc3d2812f7488a11744f50b492d4257ac +PT = 7dd29bb4698779d6f35d6e73c5c499991abe08ca7c3f7a80fe636b6a8da753795a9ec3e4d9a32dd372b805f2fcd678929f3c84 +AAD = 2539de24bbdca9e51abc4c16bb61b981093e353d6a62e6da54a4d7b454f3674895db9022cf1c7877b3a405850bdec2c2ab3508fecb4fe18ccd373f68b509675372a84f69febc6220eb3f0eae88365300ec28f98ca6533e9bb7bd +CT = 2d22eac6de8d11d7286309305ef4c601fad92c8546635bec916dd33bd771074cda9a39362b7dc517998c6d3f76964e9862cc47 +Tag = 75dbf476990af35d92d85ccbfc3443 + +Count = 10 +Key = c8ca7782ffcc8745f480e605ade77782 +IV = 658a9571e3432e1d6d028f561d5698ef27d1f51ee15f56c6ddd197cabe9dfc01c5c80bb393720ee5227f6203b1fb3f4bd31d2efbb6ec01ab658d7901ce81f4792007b079805cb1aa1ed938f3f39704fbb1fc16b37de028ec548ec289a28edbae77a03a3237e1d9e708787eddd775d2c3f501a77718bba4351fca86e503add250 +PT = 56d7a739cb04e3d7315379dc364ff2bba051ee92f5f25481775a96fe04c366f1249c89ef072c1be7d56a087e28a49934f25032 +AAD = 37569759729c1b148a41625edb917b94af0fe0b38bc7215e450408a8dea15ad53dee49dabfc44f0baa66b3e2abe722d9a1cec3854efbd9439f13a8d0da50eddef0fe602ca758a51c5f5bece9a0fe64662e6ad0bdb4c35c2992ff +CT = 4b62071149f2e8e752563ad89915be731a0dac8e193ea7ea983fe03dda4e41940a0f88f7a1b83811cf832ec92d4ad29710a008 +Tag = 102fecbf750e5b948dd5ebc2516490 + +Count = 11 +Key = b0993817584eab852083cd57e98792c6 +IV = bae3ed12b9b1abf4d7c6a63d85219b84e1be39e86c1ad3580d321f1e88f4c29cd2ae3d70dd6e6f5ca95fef865f41b756747cd943bd720e168db70c998efafba4a1ea3cf2912cc7c258afeff48c13d0010774eaaa17cf1735b91b8b0ef4a3cacf8a138943ac5a2f33ae75b3a15f8631106a3e224d8b39703da04c70957fb97f44 +PT = 89d4fa86b03fe71b3462496b07abe61b5de9d6da22e0ee05adf44ff9f8e8c67481f0b8f4201b5d09825b47e95c7712a8e6e74b +AAD = aaf89c1f173c03d98c7541ed8ca6b2ca062b28ac80e9820f8dc86c0db8b185135fcf1b2cc345447d6684bdf2e4521af34217eb0b1dcfbd61032c5a70492c6f33905dcf7f6bd2da8089ff47bb2a21da64aa1aa6e5a73669944661 +CT = 9c0d68460c548fcfeb6cdc3e3dc9163c546e309822bf7697707aa5ab8d6d99fecdf1ee277f3ada8061f164e9d01541b29b6092 +Tag = 1f8ee75500ef1407080d6297e257a0 + +Count = 12 +Key = 56a7bff9ca3d526a38e45da9dd5161b2 +IV = 47be164241fa73b5f86def81f6f895fb57c07e3d77b3e77d4760d026d3768102a0cee0252175b5789de54f241c611b5fe27246daf4ae2c313ddf15d771119aa147fb48807b29ae16b8714b12ab077bca8bbd68fcdde4f8ba26c4e21a612f6dd24a08c74572c0afc05b51c0bfc6652ee95d6c843b73f9cc1eda347f60951e30c3 +PT = 6b41da2423df9ba44b872c2f5a10894bdd521745db2f88235c98850482fd756094177901af857b3190d60cfb07e616f6759d18 +AAD = 8e494c9812cd055eeb0a435041efafaa5f51c818ffccc6fd839c88c244ff2ab77dbdce3ff75b0e9e01e11919acb2327379ca2f516bd896df2850b2c831f62410e8a535d629c5e1efd2996160b9796f25d354a69b38fcb8e48478 +CT = 594ff377e5bdabc7b7badcf95a01537dd18de37c34b4693cd934e7218e0bac730a2d59cebe2d2de936dfde6d37625d98803d27 +Tag = 97738ded2df130f5ec76ecb4fb9210 + +Count = 13 +Key = 57e27664e2d79e1e5840d234638a1525 +IV = 4d950ccbfbea531a9283e7bcb1fcb08143a4b07ba29ed73c089302f07806a56b85118abfe295b88e49752a44354fa2e1e948fa42c605b5e95d56f0ffd820621269c20f385b56868319ae1b2d053a3a9d1efffa9b364c70fb7af83c0990706e4df0f84421d94eb21f1ac6b1f8005a854cf3e0a25cfc3b3973f1ba6a51f545ff10 +PT = 59ca66af2c31c7ebf9899674850b44e576f049e24193494c24706f8b94832fe2e5bb2291fd6bb949814e96eb27fb8e9aacbecf +AAD = 80b24eaf5675b7f024c371c624dcd307d78b3adf66ff63212de892fe0738559ec421b4a05586a383ac70d878a47af5c4aa828ce1f1da5615e5821bd37ab0578aa49430742f3489a9a4a053971b4b28f21ad1727b0e90b41c1bd6 +CT = f41b2825563802ee4f6cb9a6245d1670b6bbb31a5b240632fecf9a2725ad6cc4d93b02eb3e74aefef38d5bcbdef9c185d047c2 +Tag = e1c67842821003427ef016c31848b4 + +Count = 14 +Key = 5c4e73381a55ce3eb5f9e32f7ba7c13c +IV = c36345e2d58c5cb00127cd74d169eb31f7bda5efaa3e0cf3f2158f5c1485050f9f470ba490d9f1e3eaa731c81f48988d6d543db4956c4bc84fd245a585f01c8299dcf4c6b97e33bab6ee7592f67c94a06c9b82afeb94738b655b45176f3a504a857c8bb3a8827c7bb0f189f087d774499259cd368a68822fdd0c73b74609114e +PT = 7a34aa3d345773708dda7649f3f649e62a36ccca6bafdec10517c81fdbee79f277f738ed5856d335bd63983eefbe37e8a6b8c5 +AAD = dd5308035bfda5e3292bf90af1410b93c86ea9feb66c2287433aa04c04ccbc85014fcf0692288e782d3c970722da4818ed0d46c55fcb7fabb264123b1e4fd8358a053ff19aedc8a8e22e5ca33b0a45906d25bfcddc5d5e575456 +CT = 1f9fb99a13209843f333a3cc3cd4edca3fdd607a43c350e2d5d9abc2e2a77bb2e3147ce29fac93cd19ce96b281cee815dff3c7 +Tag = 472632e14bf425b18f8af55786908b + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 112] + +Count = 0 +Key = 3b335fd430ac3b73133672f6a5b8bf30 +IV = d854c8239f0c08cfffdc0a2c5dcfcf5473d1168ff3f2aebddbfdeb7a713ab2c62006a3f87e70c0850d7aef210649f45fcc98becaec9c1ad5494c0954bf92dccbd87642ded18a39db06c87c4efefb2d9c74f87a49d4ecc7ac6f207e8ce61293c116b0b40d6c30377204f735244e44990de4da33f5a15cb4de2de6252ad82ba69f +PT = 4a56cdbad76719503f09b8e1b11d1af2febed64ffa048d573720114c63147a8f0df4e755e9fdc26e12803a1ef6d830ec114532 +AAD = 995650b5088b88eab08f928a4e160fa209c87861c31b2209a335a1f57627ef1e8633f2a6a0fc0a1b9657630b2fded30b78a85637105dd318e0904bb76411c0575f331cb3197cfa9d929d2dc3197dfd7e150ea15083f05a937196 +CT = f81f70319d29b66d8cfcfd50f4defad22430979862ac6a2b7fe1b81d74c581c8034cedfa2e9ce827b8e156f4138771e60791b8 +Tag = d6c8dad5ce4088790761187d9540 + +Count = 1 +Key = 7c39ef6d0fd578adf6664f99941f357c +IV = af8938a21859aa448ad7e3d0f2fea2db6bc0afa5dfe6ba637ef5be022adc6c64d22ba58b3818b654597f2a0e8f31c4046aa18e842a156c0ee8e4b5cb5b5ab4d8c26a74ec684a0380519f4d20d03624930cfffe9b358ae5e409cb4077e84762b15a10ea840c0fad30c122283896e72d6ed51cb97d3b2b9a76dc763d0135c5a355 +PT = d5bbf050f4a0dd186e83b9f95d30d2a4afd7978bcf173c717e7b1ef1ef2f4eeec9d303bce0d1dbc1554c249900dc7d17d93270 +AAD = c5fb53dfdb4c4d9b779dfc569c543db05a05160b28ec0f9fc87fbc0c9c1f5595ec797acb407a072e9ec47c1607ebd4cec1c2e83a7bef55744205f1a3ce95262d58386b4d40483d931acb366a11f5697ed22d6959d984bcbfc00b +CT = 1eab0217c365143568f8d9625fa352a66fe7352666cd50f806616ec40c2e40a6571a71bf85b4d49e63c8dd856f73d73848fbad +Tag = adb5031644f419c0731951ce21a9 + +Count = 2 +Key = 82afb7b91a3b8c422adbe04719ef0d07 +IV = 2a73bf86d975f36989308f1d512f97bcd167aa83f9ea0af7eaf239a16ea7190705e7608bbadd671f015c8c11e117e41ff3a28ff93227c56ada4dddd93460901bf500742a4545998a03d0da3df43cfe178e8b669d231f86eb5daba91f75a2e1a839fd90b845b3d3139d347819123fd29bdba1c30f65e5c09696e82b8c74481bcd +PT = ba845522bf02d9a9c71cc14c0d73831c0f73aaa8416596936dd8459aae9b3538166c0c890fe32df842b79906176d2c626333ad +AAD = b812afbeb503e285a13c21231db0e78d30c9d53fde5e9357d32501555dd2579683aafa2c5a34059a9fd3b803451b9d188c94cb4ba8bd88f52d0366d4b73c52fc96f7e3d701bf637635d5284d81b692478cc18b59d1e1f4968c3e +CT = 90c649a21a1d3a17579a8e242f28f5fdbd776ce525a7c3d2527274e096d4ec046253c9cbfb7a3e1c5276d6ca8e4ef219616e2b +Tag = 706a4692df4ed3e0edbc73368aca + +Count = 3 +Key = c6a3990366cecc80cd50f13b27dc18e3 +IV = 7ca10ae66be65fa9349b3f21778e498303d6cdb3aa680327c17c6e4f827026fa079481391f3dcffceec352603af10ec30a05e2f223486a9cc62f94b1e1a35b116ee55589870120cf1ef98548d527b279ee100b754eb35c88696b733231e32cba089330acec56b5f7b01d746e8e35bd70c6e30f3a7068ed7d76d8bb3082ceea42 +PT = 35b9535f461dbf057c90786f145401f2ad4bff86c86142b8ce1c2e2ae06e3ce0e3289a62be55af5e1fec97a1348dc96ddcd2a9 +AAD = f1219c6d089fd13bca9a3c83d0c34decd49b925093e028808deef4a41be9e813a7594bf7b438818f8d26b67e832b2fe1b2be742de24f5cd9701f91f551c836dd326b27db115551463957478e97336ee1fda365e01bb05605a034 +CT = 1292623a91527a8559fc87a0fcaad4fd59073ea6d6d56e85d696348167a35e8af24e24be821453c63ac5d0a9963c504f0fb21d +Tag = dbbdd79f6fd9f0bc008948ea3274 + +Count = 4 +Key = 0dfec47778e279079c5074ce86d6ac1f +IV = fd29ce389ab4fdb4c42c55fab06ba76fc01e6c6bc9256ccd7ca508d3ac13749af2b2054c3b18cf8807229f02f993fff6e8b8a22f239c5718b48708ea79f6df5e7be523ec036226332cedc88d0b7fc4e147ce46639f03fd61786ade59001807219743298d6ee169d3d8311f77ffd7d3af0de5485749d4ec8c05e3033a09ab1771 +PT = 1fad98c832590e183aadc2a9fdc3b4a0c4b06719584afb45b886ef43d58dc5806958d63623296a898e98d0e75f134d43a28540 +AAD = 1fb240d00b37bb3c468624053bacca0702d7ec0e24c08fab39132b2815feeb42e5d28ff42bbb305bae83b0d39cb83381395e3b9d57f380b39a71ab03c841a52689741f4f783eb252fe347bd3b4c8e9e3d5459a8824c5d01456de +CT = 23e326f8f490209203745143898b449625ad8d4c3c24f86ff20b0a9b2494553174a52b50e13b4a2d315e56323bd398f04ce5d5 +Tag = 45db483b73d62feb5f7defd7053d + +Count = 5 +Key = 5c31fc93f1e9ad001e50c91f34dee52d +IV = 19ddfcaf7ecd3f3af68c653089e728e03e97ccab1461ec647664b79d2112ddc35b4f6ae02a0310881178a23d922dd84f26e75d118ee4776f372ffcce532e268a24cf33c2791a2f32bc424d5f404e7059048c4bfcaa4813654350874c696f10de6d3d242936c07b2ce2f42c7dfb3f3a251d3cd91f51051f053babd1004c8dfe4b +PT = 8b7df499359e35cd35dfa078a2db048d7060f1e5be2b78a3ba489b4d80a13c409da1f68f31616a74fd8e26b399fbef96c91298 +AAD = f75b3ce805a12f539e668caf501899f7e9afb9f37b8d0c5d141e9b508a2924bf4c3c5cd5b3c282f3b66eac2cd67078fd3682d10cf0f52a6cf93fefafc20932a21366643358f320395c49706ae53a80092ee22a0345551c7015f6 +CT = 3ea76804fe583c98cf4e175c8fe75ff5d272277873e8246e781cc060b2c44813b132cd6e463c2f4a0fcd25731ec4ea0ad44f85 +Tag = 3e7b597868684b218532e315314b + +Count = 6 +Key = e6600a1ec87c1fbb29de7e5f7a8ad2af +IV = a2938d3bb1cd1afb068b3b97239390d01795d0106113c3c129e6d0fa411f5d4532d93de6fea8672733b5fb737d9abca24534f9acb107587bb3d0696c52bf6480fedc27cafcc866cde7b7f615189078923e51338810aca3af48e10ea51928a40b5ef9300e048b146bcd271f2c750799a66f03f26edf0f6864b203509c27ad6b0c +PT = 2cd5636d81f8b3f2916b25f14bbf3b6bd6f0cd19c8a9a615b71c9e09011721fb3443534ab3ddb99b141addef12b2bca22ab16c +AAD = 1f2f73c487d5016915d03a4b33c1acb0eb9a25a4ddd77ebf5b4eb73b189db3a484783aa7fb5bfbb56948928c7e80d8c31eb16f9e3452d27bbaa2cda14fee8b78877e7738f582b460a6a624c19649c712a75938898ed162d98179 +CT = dfd68bc7f28077579230bd863f51ffbc9aea43efdc63f3f208a57a3deb1c01eac5ce6d0bfe8a92c95eb2b3860d4fcf0e69c376 +Tag = f2ac7d5a3333bf9458044ce85952 + +Count = 7 +Key = 6c8a84c2c7b2646796c71ac191b62601 +IV = 68674f6a0653b8264b0a0bc6b0738f58bbc479d7d75de0e8b669fc183cbaaaeaa2bd62ef03f2e01b4c6d570a379e93a5cd91ff133d835ff9c0fc7527640534af06ad7ff3aad27cad900d46e36c9937576be6cfc03ff0680cb95e395f4756b52aa3cf19ba978d53dd96fa1fec6a0e0bd3eedd7b61260914f855c66c608fc8543e +PT = 20cb5fbc741c90127e489dd36702487fceccb10cc1e7b8fe633e793bee1ef95188c598771b50c0de31979f61c4bcd643baa7e6 +AAD = fd3749fc139fd7e44d97c53d2951af7285ed16f69d2081f4b6a42e59eb4effc91ea9bf086ba2192bf71016b9523cf40ecadfc1cba1c8cb31e000214d203221a1bdd3e7e1450975c3690d410666e12c08d91b76ba468635854485 +CT = 3b6e6e3b302bec0d3e2f35d2a3699d40f81f9823254ef1ae60dc041cfbd69866826e395d5ab9e7a309966404b5bafb07b4730d +Tag = 8f0296693f5373b089ed63c73ea8 + +Count = 8 +Key = 1c9cceffb34a77367a86b2d8cfec093e +IV = ec3eaf53d6f98dee6b01e9a951469184ac0b093d72cc15634a5a70795c870e414339ec12455cbd4b5555ac39b672e8c6d46e888f214109736c7d7ab652116ebdb0450645cb36ed24d20ee7aace6dc041f7c05622e40ad2979c677a085ad1e8da7ef2a8b1580d31834ef2a7a2b075d94bac800bc1d4254e6583d92734b456a0ba +PT = 7f3b81874fa530dffb2888dd22b75c2420f0697a1698528c1061e8a1146811ffb1ff33eb817852e78f273455e8d5fa4ff09a87 +AAD = 30cfa5ea9ba112caca7b2eb57ad72a332f08a5597991b26a23ac3b3aba4ef64886d83f8b156f9136e7975ec01368c572950daea4f50041b2e4f65e54630a2d5858654033773e8c6105e0d56b6dcb45c961a23f45200a6a42b397 +CT = edd1df8f32046a98467fb3159c00e0d3a4a79a7e21041f68d03ae34dbcf4708958102b68feb86518b03dcb99ed8465fbfe5f5f +Tag = 355c0f59e3bf00b3c5e5c6d341bd + +Count = 9 +Key = 13bb5a7c1e86f05af62d69704b669ad5 +IV = 50ecd72924178587742f7e67b9627c152556cfc6f05ebd356c16ee85f87953def46e5c494e5b5c58fd143687b52e504916103088fc3edc80cded2ab81d2335b9c5f1af123d3f7edb4d2e4dd8a3dadff0cc5fd708212f75037b6927cc3a66caf9b154942cd599893e272b466e475afb88dcf9f6d81dae75e4e1b9326b998d6f14 +PT = 8e4afb3704da1f30de435e50163aaaebb618837641d8c8b8f53714f04646bd5fd871200fe145a3a4c2a4cd5e243744c4671e18 +AAD = 329a42bef0c258fc3c31b3c593698c37089be451ad969183953ac67bfd735b308f8c471f6476f876c4aeb827b37264ea2c9c96f7d8da61c4c34b80c8c7d979e02a9a2fd664a6680b0e40aefe3b22516419398788a4fed3d09032 +CT = 15b1054b5fbded38c86e747c66036b82dde427cc468fc315e94f2fe40de109cc8d63958fba639c8fc23d93848859a7a4af18c5 +Tag = a4b7d99c4b98eaf044d5a726e921 + +Count = 10 +Key = 24a2f18d192c056a3f9f0b9db609192f +IV = a022d52561f7a6254679919a568514b9b398e143ce7daaea8d668603ea51b619b8b071422a0a731678f88ba081331adad7a69c68da62570968070deea94408b47e5ecdd12f42fdde3f6ba58335b052178baf0834b3562e86c6cacef4a445713a36ca7069d05143f6cab355cb35b482df64ffb908de26372a4eba657d3c5798aa +PT = d8a4c9966b5fa9821a1dfef1a8459d718be7809e0440cb17b318256dc62208a5bc11bb915d627b9707d0a492605de2417ea405 +AAD = 07cd5f98e602d22275b1664f1e9b780abc7a41f090fe6d42ace5e5c5b683b36e4cd0dbd491ac3d5c6c012c54194aba047e6629beff803bfb77be87cdd001d0310094b001c72a488d6052d9e91dd710c541d8520a1fe1c456b5dd +CT = 975b4e2d2e38d0dc5eee8b407c472e38609a1a91e79940f43eea46f34fbfd9d9a68d9e76588e67a25c68a89a92d523af009d2d +Tag = 22972432f00a42e9a7e3435d3c8d + +Count = 11 +Key = 869973e18a072ee49b0e4c878ed055c6 +IV = 898e50388931aeb0ea59cfdcbb6972d79bd25977eb2027b72da33b35ef6354b444fac4f794667050fb1e3999729a94a877be0af8c9cbd33eb4dd11a830dc414e1ba99fbdcdeca98fc606ab944e599915bcc3821a8a6c157bafd768208fe402d5bb5c283709a796b9c485aae3d8fc27c857d6495eb9661c080388deb23330b119 +PT = cb0d7fca2f415836e1fd032a16cb3c2cd917afd1a6a5868988e69f6a79d87d27c4de3cf213b33c776d1b34189c702858792172 +AAD = 0b6bfa56bf01e20bfbddd9382dcb68ed1a9bcc8a9ba6b28938661f052ae6048e06d61be52948d41029adb8d780000e067d8ee0729a03434d8fed5717e21725746c7ce62313205f3da221c290d22cf4f5bd7146206431fb6a4395 +CT = 1f9433d77262779596e3f76728cd79749c7dc05d7730facf714052c607b367a227926c07bb543bf2556087efe5cd6a0acf8fab +Tag = fc87c3a142c2c67d1e02e7ea24c8 + +Count = 12 +Key = d50d3ab015ea458c3c1d5297ec14d3d0 +IV = f116b3ca8f5a91810532cd6a9fb5cb2bf7ccbf2818ea66c79930244d6d02aa212c6ee299b5b4482a9971f6b82cbfaf49c94228e270415a2d0e9d6466b28c01cf8268c90d28671d4b1aa910ae5c78fa2e0837006bb4b4dfc2f5a3bd86d2fbf07ec797602086285bc1b375ebb9bc77a04a3c9818c19dfebaf693c5079b7da2dd82 +PT = 06d9bf6d2fc4f18c3c53dc68d567dc7fdd228bc1171495c95208cbc339cd0b23994a2749af8e59c5f4da709146dcf76ec13272 +AAD = f535d817129d41cdfdebfba2f32896f5b3264377853bb9d8505c63e1234c0d17c9ceb0f73dc3e9f93efe494d99409e2f210a093ff808cf38d327681a87c9bcdffda7f24f65558507db8d53ae0322ea55492b8b1c3fc56e0efd38 +CT = ad6d2f745e2a79e8dbf0803da7bd338f5b59955f9ee6f90070daf698bfc2022167632622f28fec1764b00554e24dbe95d15197 +Tag = 08f608d452f3e35ad2ddd6c865ad + +Count = 13 +Key = 2302cd3873cf3e24af57c96c16caf0e9 +IV = 09d1ea3d28b7e8e7aebe321bef6f78ef382dbadb16b9a07e528a7e4aa0f5b2faae3f2407c9f698b58de2b2d001b682fd165e41248d037755b3801444cdc42ea4e07a04a9eda2bd10e578adbeef43b7c32d3510b6e6983dd0131dea129a56b20d0ebcb276a2b925e7bb3e2b6cb481f7685c562d479e2c701c0d6d34609bd10f87 +PT = 2c639526187e49596eacb3e1f966b170253489c911e17b1aa3145cd2eb5f1cbd9adb7ff234ad60cf9aa54bdd4584aab1e67f84 +AAD = 742bab23a685746b0b04a94494613173cab86c8f11cd2e8798e5ce4080d31e1893697db7c7ce19545e2a69d57c61e482a7de87d37ee9b89ebbe339509146c6b95d87446a4f5895ecedd8cf9253fcce7ddf0ae2ae36424a9e9686 +CT = 0f2f6f4c0559f9cacb829966914da0033e86692ac7e378e980b1e0d7196cb826a5d62d8c7006e7dde3e7d5fcaa67277733c883 +Tag = fbc1dc0e8b26bc35e6ab6644fc73 + +Count = 14 +Key = 4caded5e568e68331ada59f38c78899d +IV = 04f8fe93e825241627c523ded66c6768a46debfce4b0c02b33a56d30217f6a9fe157134a3b0d12d80caeedc3c65ad3611c11116c0fca07452aef20d4aa4469432695a8281ac03ac8f735f7d3f1dcf07e6960621c022dcc8042d9dc85d16590b74b6490030d69f1e72bb2df92601ac5b839b0d16c57e26cdeac1f19fbfaf4a466 +PT = 7266842b2c32463fbcb07fa3ea81a0b6440f048c519597bfc92e97fa50aa049e146f1bf1fd4c9643cd6184db77198f63eed536 +AAD = f3c529eac5f176d1494096e26597aba964b1a25609c9a665a96d764f547437d7d013ea56a92e01fc66f8fcac69a496aa6a32651c95a071d6159bd740b652cb80bfdac2c87bb7c9a2223268020ec3c948ce5b29cfd28a48ebec47 +CT = 273734b255530553406b5c4f94095a8a44d3fe644784988b099013acd0017861fb456805174f94d10c41053bf0bbe790edbfc5 +Tag = 5d6deb08d517b1f3523ffa297a37 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 104] + +Count = 0 +Key = 76ea8a90a09c95cb92faa55ad276aa56 +IV = ac35b1fe7e1c9985d4d4f8df189a09dffd79c905f5d9588d65669b06d1063264efe214d26cd96bc9f824af0dad7c0a3e06207e9487300863bca37484fbc346071e6834906a00a24861f88f108e4361b9bfe88f89b5dfb36c2783d0e3bd9abde9b85a94b46548abc51f09b6916afca4655da2184cf88f4b26b63efd5d2c79dda8 +PT = 03fea7a70f8fefbf2ce43e1427602759cbb6201dccbb77697628f978e1960306fb6b97ce38c31a4a94b1cbb406dc6bffbd8ea1 +AAD = 8abf354e5d700f064ff19ba43fad6ba95258a1324d6acda56d42dd6755a1bab371f6ceeb325dd8342f79c73620b6fc1175f82c77dc45b22a77eb5cd16919a20fbd423883d29c3bafb2216e337dcbee9749cf84bf5e2f6eb2c953 +CT = f17ec0ba8a73d45ee8baa5700b1ca7e92e058d4d0ad00212d4c7c10785390081b3b9b938457a76d4dbb4e685b47752135a9fb1 +Tag = a10820b0e26bef117158037746 + +Count = 1 +Key = 0b7ef173991c200154a2cde77d6d7c0e +IV = 145e81abe43aa613db728573af4d7fb0af25c7a4608639ff2a1358a5f7f812e7a8e4f2e6c5c31018c6f253198f84aba5549513526d882de92588c7513dad1db5416dacebea54d5697588228e21a25d51f91d3a6da0bbd141f826ac68246a47f07ece3af0540f4fca6af4394532a5496f74b199f76177c97d57552509accc3472 +PT = 19ccfb550b171f9e827ce2469bbeae804ce97ff577d033f50aa03c4991b7302a7fcada485ce1ec88d1910e07ad6b9813ca8b16 +AAD = c6d4782186130a9c381fcbd047b414ab88bfddb7cea6473ef172a8136db84e0aa2c01b363afac7ebbb8b884afce0650210dee94ccf1f8abd5ebe15eef89f71908a175a6cfc4cf163b7b18170e8098c379b648a2c1ea16dc11754 +CT = 63c610e3362e8f68c2d37c7ae187d655eb6b9412f142e58e9260bde3ecc16161c7b8ee6dcc0205f8f686ad30f2f8216e346d9f +Tag = a5773269ef7769a71cb61f5814 + +Count = 2 +Key = 9fb11230a159676188b5383459e9acda +IV = 16ee21fddb3a113fdbac62b45ac3f02de4022c543e0cab56ca094c4d8390cede76e369a07d1600bd6801d5becef5054fa3b373c86a07d1625d5b3f46dc0f9524ee6aed6367b86ff5e4a1b899a4aa4bb499e37b4993a095e11b83ffdfe30e2f80e79444f7dce80b8f2691aa89ce0db225724a263b2deb01c7911fc492ac9627d7 +PT = cf3a879c471dd04219f2ca43c9846e368c5ec5d04a15764ca3d30075f24e3876ad772e9f949108f48ade76c4305d13523e5c2f +AAD = 285ca239dca7ef6f45df41e9d0718d81ca53cc0cbf6838c36114eaa44c5057c1e44393225409b962cc5794e70ad3b4ede795a7f5a3677269ed39a3af3238797e672b59b5074ad7364e45c3d5c9fd6c010a3f57bb580635aa88f3 +CT = 3396b33aeed50000328a2f13de4082b7534c09b2066d09d366e1c4cdf7afecbeca76904388b026a8b555b37e75511f382b2b42 +Tag = c27d728151cfe84c771be4000c + +Count = 3 +Key = deac2cc7655685623d3e198ce547af8c +IV = 3c0475ef3b69fd0bd0074b6fc7072bb1f0330e1844c7be30454cc220926d9570be3d0906330370ac7a4392bc004f0a3ded970ebe7fbe8182dff123edd28beb880ef8144225865494d567a08446aaa14c548ee65ccd283b159bd7f1496b57faa6601667a4d99505b24c6fb364c104dd5ee88669f532893a9e569c9440a7f64ee3 +PT = b071f1df67a339801c586447da0bb21850e9252254525d786d768be75fa94c755c6f728f0c8b13b52a15fb6be4316cc1d1d97e +AAD = 0ec4d745e3224dea7c6cbfee97e6beda79217e989b4b2118227c9962e98e7d65c9d1a7b0c6c48b933e1b5dbe5876146cb15b9599f660c7f1caa87219d79bd92083540d732f26f0e0b894b4c19f4d4c1df78763be3aab075e84ae +CT = a71925c71dc2027926112e85106ee04b3f5cbfd86c9de58d7db2d8c96c31af0fda7abf43effa0c60a3281ca1a4a0094eeafad4 +Tag = d80596b2d37624c397b6e4cb64 + +Count = 4 +Key = 120fe4b0d7ff3f41938c48e5a1604894 +IV = 2251bd94d93fc05225daf9197e5092fe993e70b6c11e1e4a7bb8b4c0714c4c089fe34d0d9f6c340dac41e7bbb7f6bcf7e027b5481810f1edea4485fb304a588beeaeb0b3d22f3dce09c16723323173a69507f66e82fbad79528c311b9364a7ef0a566dc64020c2544aa3c347108e70369c6652b47b1bc93ad8ecb97a112a803f +PT = 5920eafd8849c7578ba3132d34500d721a78268c5078a7106cf2225a0043010193ab951e247cd8c1b635300437897c9204b91f +AAD = dc4779d7b2b5e798a94dd9ef06445cce0f680bcf78460aa121d1b16ee4800df72f52c4271b28ae38b2fd7f967825856121fc02643e4209225aa27bf2ce789131000d51b7108f9ee4b5537d3a3f60be62fa5d86e14ca6879935e4 +CT = eaec9a4d4409f3a47c1e7c90eadd3582844cd797cc33b07599f9ab56b5d634319a5e3cc446aa281175b1dc616c6ac2b512c94d +Tag = 0c775bb84cfd0116b9689cf3a9 + +Count = 5 +Key = fa6aebb019c9f001918445dfe656f4e2 +IV = 70a30f2fa3edb63dafab74da87189537ea158e552a97008d66fbd4e672b4a6d9fa0142ea692deb7fc5dc1ef16d6ad3376efb7c3fba71b0585d394e20ebeaccae43ae58a8b3b2d34823a5c4e150c71f116fe6ffc059ecd4150501e75e9ad429ebbae4bc1c8184152cc09a89cc0c96593c99ea8d773a70c8a64447762982835a6a +PT = f8b8b2631a9c77f617dc39638a2186c65261648c2f71d2bb0f4d192c2b0759ec8cfe2229abb8b69a8079cc3566194e39ed5881 +AAD = af01fec070b0577b23ed44ac9f359b0623664f1bc519b9178eadf32419e793fac31a968cf78fd4ba388ddfbb9acbfab7ee78e966ce855feb669267a6644e1c3bcc139bc73880356aaf71e8e21acf9211dd8c89a15371c6aa7252 +CT = bdef172d6e43a1953cf1102d0a85488af8bdeee8b9b3f3586a23d9236209bce658c0bdd30cb4b5d83e4c7e6a9a5f9416c3b931 +Tag = 95dca6f7d12b1d7a25f6a9c43b + +Count = 6 +Key = 70a24551bdf38fcd514f72fec4617075 +IV = 76e9b224137eb83b9ac1e071cd776bb1c5b18078f8a30cb1748fc05639e94c07c5446b4ff7f42b2705883843be35842acc3cde559b60c3dec3dcc12c33e5508946dc8235db3446f39687ce506767d787535d126ebe3d148cf0d1e19216a6a1d89e1e5ef01fc5e82af12e5f8766cd55cb070de9c301f78cf61b743ef0e05dfcd0 +PT = b7c43a016de691bec8cf2ab22b98ca32144cad679d83621ef06193f55701aaa1f5b8f6a048427a231142979990d6eb0d107309 +AAD = 45a06f044458425a9b4855d2d26848484bc653ea70eed79f3b0050f6606c0146774da3154e744d14a14adfbfff6ea099780a2a83764729b7b08c679e71be6eab52d460c4df1124f85e6dae3cc783d3d0853269a1f051d4103018 +CT = 190bcfada364e1b727be04891d2b04e6fe84afdc979e7ed436b3230ad36d3fa7c0ee37dc2b71e45e9abc6a9ca7fc6006e8a4ff +Tag = 387e694e3e8595110a444c471c + +Count = 7 +Key = b4907ef17e0e05c1226449ec204d906e +IV = 17b6b8335238e9ac2aa67d12b4740b77743e25131f6d8cde5349c8a5e54fd945b0f8888aef0653505393a7abb520051278bd5890b9d0f6ccfbabebd3f55dc887050d0315b07d7a28e9d51f420edf538dff4fcab30ceba1ba73b28acbafd446bd7b11fb823baddd86318b72eeab84689a674b20de0e9a40ce71e3571567122174 +PT = 11773a3a33fe119fc16b430ffe080d87638b7d8c6096dcb36d0f42adeb103b9a0932c63a36cc89071b883f2f3a65030c494df2 +AAD = 2b46147a832ab5c60e2d6d5b3e300d0e0c6f3543b3ba9f3c3477134717f942e8b70643f821d4323c4bb2668ff35b3b66c6824f21db541864c1b9eb6da3f19fd2fc468da6809172b8d16c97fee2b1fb3aa67d9d9f646cf89561f6 +CT = 3d90a71be650738a22c3ec03c5c489ab42ccac125b698bd14ef1525d15ac3f7fae32bd6c799c4a99cc4fbe5f1756f3d31df707 +Tag = bfc7ba51cc0c40c893c8025d11 + +Count = 8 +Key = 5e07e3df1de9e8bdf83c8c95d3427f0c +IV = 78fa707d5fea7df8e9025c8afaf574c36bade7a12503bcd05c2bb6317cc9783ad27311355cc1a61949d65fe4177fc85aa5ef7ff70b2bedfffc89827c95c5bae782ac81a4721b9a517d35b7d35d797b61ebaa0d440fc5be87eafcebbc9457b3f469a21e857cb00eacd92b4aafaa54a6af256a05d9906151ad4da1af1a31f547f2 +PT = fb963ad6e99ac21e8ba6b2668066dd41d7b04df645c59bd152536a45a5c6ef788202f9e8d4ca8ce3c9bc69a0afca16e61b54da +AAD = b9020ae363d1abe22a3b0b876f6e97d5e9f044e58370ae2f9d690082e09dac6a0c1a3b16ef4a96a6d120fef2e4fb6b5bd64d2c6e4ea323b0bf662933bdcfa8182ad54a8f45053c94b63b557915cd93e7bcf99d8602ff75e39b49 +CT = aabd598896508bcf2aab23902940bb8ba9d2241fb0e68765ae327cd7f9cdf7dc95cf1584e5fa59702f5f972eb5f09a24364e5d +Tag = 3f5cb88c3a086cbe017ae6a0a9 + +Count = 9 +Key = d1f12ecabeba38fb00cbd867062537fb +IV = 35e9d1a3a6b556e1a0b6b9504518b7301ef5cca230699cc641248cbcdbb14c628fc79e295faa2319919bd16f6b4d89ec9c09bf83bf658c7c4f08564e47b40279860d009cb4894e713768115f3126e4029150e3c8465a653831b3065937d188eab69cbf8796e7305e872e6f4e5c4e34271c580e0ff7dd89c358a067b81ef07028 +PT = 9f79b5c69d2748dd125b1acfd3cff7c01e1770e6377434e414c398cb679971ca91219545ad9c6221329f864a39b2d595ee97b2 +AAD = 175befd1063fe77d1a2adb119e387616516cf960d095e62ff71d6fdce9b3a4606ac760c916caf5d002ddd6ab722cbcddadc2f5f7c8e36e3023f34ae64b8b55d2ced0c6ed1063e716c3022942c1d03bd31ecb7e8439cd2cb66a85 +CT = 346da7dec1c8eb03113a2e284c0e60db93fcee629a870169f7232b5cd0abb17d927ef4eaf8256c0e69f4903afc4e5c983bae5a +Tag = a7beecf2cd9e47aedad6428c0a + +Count = 10 +Key = 3e588252de6172828b5b2a3c58f1963d +IV = 96578219871aaeeeeefe96980de6bb3503808db5f4c54589d5fa4173a17d04c1d16614a977f19648a859873f176005089dd1b19d87b9c15d317c3e22ad2f0b4b2386a305a3b20409d443935d8b4c9d33252fdda15ff3283073e73446ec472c7e3d890f1b39aaf61bc3d50398381a14830da32ce96c1c185cb7d9871919fa1b13 +PT = 81237b18da0f6d8a983101dbbef95fea2fff11d7b8f9cb880f2e7e4af5136ab9b1e939dda2b5d27870f6da6536f5ae2b507549 +AAD = e5bd95317f4e7d9d625cafdb46111f8a367fb730619dabc112f2546bba21c5eab801e4c4129575cc5e43fc074e021521e3b56259a654fdf7becf6c770090a1cfce2993e5d5041605dc1d6b52e14995fb1360949390bbfb7fac80 +CT = 898f2e0244edb656e81d3def1531bc6ba520e7d885112948b8958fce933852f4abba99ea999bde4d3193ae37ec3ee49c6fbd0d +Tag = 75d0ce96f6d2ce096f12f3ce69 + +Count = 11 +Key = c7abd5c8bdafe42675d7f213d7fa053d +IV = adebc609e38da3a65772a620b74cc4060d0e16498f62edeab8d3116591440d63d2ac046b3ba7740e83e2d543d75836fb380735177054f9298c98fc3b6bbd97efcda070b8939ccde6287cdcfd1d9aa6f6a0f7f0e4905fef78500fd0e8c13b3ee0d644a556aad583c664e3fa35ce67aef60eda4ebf1135952a8309c7cab9d48c10 +PT = c54d406d5e7beaba3b9d94058251dabc657c7feb8624bb822b0fe10e0fd031592a1e8d386d9086b97583f8248689caa7998dc6 +AAD = b330007ce6e2050b6f4a1d345c02b737b52c8d812f6199f4bf07628b446e7f8183a0ff8543a1ff8d48a8b536fbcf3dbbee0bdb478309f369c8c0c5c6f51796b4bb4373de4952e0cfbf1c53e6e0ac20b990fce3f7e52008cbfd0b +CT = 3ef7028b2153fd55c9430ad3a1fcdee2c3bba62241ecdd50a4d141928fe27ef8e0d636c3a7e4aa9d1d99fbaf1c0ce5d4115ec0 +Tag = cbc6ce6741b81e3aef45f75c04 + +Count = 12 +Key = 58da41b40193e11dbc9bc97c0b578acb +IV = dd7f642730a18e8737f80b6b1df4155bb2870b7cf399e9e05a811ad245e43ce4f37297b805cc19a0ce9b9eb9ec01cc9e7f720a193576330e745f0aaa389c251c05086366be604a205a807f6b3cc9fd3817d3830b85de1a57c055d1eba5495a3a9d41b2230dd34137b825576d2868a09dd570922c73b34abbbb0096d35c049f83 +PT = b15ae66cb11e9fb77bbb8fe168c12ae57b24f465c1c54e938a533d0e800f90c3e5d6da7851555e5d372d4e34f514ee9299466d +AAD = 1c3c75ea5403edcd349421fdfd6b5ab0d23326916a57e7dbafddfb75dc78c3ab520c44c73ad1636ecd47b9d6cbbae7b23e041e8b685c87504484ef9fdad369178a203a8e655788ac90566ca05b43b11dd4d4d9917e11e678ae8e +CT = 2771d542a7856a198c23cf8e5be4c9b32d727da63c1e87951579c4c05cf9db3fc9253563bd2e2b9a8761d981f6c00845c24d47 +Tag = 4b45e4ec058413644d7d8b1ff3 + +Count = 13 +Key = f5545d7daab8f5e86b15a85cfa4e1408 +IV = af78d4546cb066c36c6ae08550db4e1bda0a9446a1db92fd0dd337db8ebc57b57321007a2071f165e115f76b7394ca49428c4567e2c2e3993785cfaac48ef3be170879ed98db45fc8e30133569b675d797ec0f0d11664bb55e9e7094aecce1651624c9295eed6e5c416055bd41736ed4336ad31ae8e086cf0f43e4d93de77e25 +PT = 7cbc71622dd5630bee587587bdabee4f6951b30dab126232baf40759ac8c3f0a8d8a6f307d56365089240dbab7639fe02ebf88 +AAD = dabf010f223e2bb5049774064b58e15aa041d7c1d3b7359745b9c90a0d8683cb0bac7c2d10e86104e37216fcb458dba9fafcde79a950d45fd0bba6bb3b2a04a33150afe147057775a01107e7325f694eae052e7086b68a65cb93 +CT = f1c94f4f1e27befde17dbfec39b4133f423d584272cc9369d69e5f99e350f5aab605f97c9b5604dd4f31c7f9c94a2b4ac9b18a +Tag = 7377f28deb6bebaecf8ae8f124 + +Count = 14 +Key = 2fa94fa73dfc5ce49f90ff23b3021dc0 +IV = da00d8f867c2adea59b4da0496bde02ad537a467e013d323e8699e560d12cd408b752bb7a4562916dc7f1e05a7a0253b93573633c0786636328a64fad8b2e4a7adb1db2ea6e55cc8deb0c2e833766b5b07f20d273e0e1d1163296d7a6579e2bdc1e8148ab71c62a8755a46f46987dcb12e4bcb227c1d094464ac66d7df3ad234 +PT = 526a94a6e27d4e94be70797e89aad012a5cef938c5ff65e9abd1134e81c850a761efcbda6c337a32f65cc9573e58901ebc8430 +AAD = 767275ec56f7c50f6701710d7f1f570abe0d66b66d52f661a34a39d4e2ef520d54e8eab0dbbdad7cc2ff6b4ac50fb29ab4b8223f3110b5b7c0b7fb3a9bbba95f61f7926a5c4591cc1e8b7a3e6af9270929f1495beaed230d9f12 +CT = 1717d24eedc8575b9a127cb0d53d27937f15eb2e84833662ce49baed985e2506457f9ab8bfee32313722fbe82503e87fd2ce15 +Tag = 0cebcdd664d18a215fa568ea21 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 96] + +Count = 0 +Key = 2301a2bba4f569826ca3cee802f53a7c +IV = bed48d86e1ff4bff37286a5c428c719130200dce04011edb967f5aaff6a9fb4ad0fcf0dd474e12dcfbcca7fa1ff9bb66b2624aaf1a90f33ed2bab0ee5b465174a722eaa3353bcb354165a1a852468ece974a31429c6e1de7a34e6392f24225d539eaa6b8c1183bfb37627eb16dcd81bba9d65051ff84bd63ee814bea0e1c34d2 +PT = 6081f9455583c4a35ed9400799e209fb7e75a7887868aa4bb0c9f7b78f67125678e03c618e615bfad03ab077315b7787418f50 +AAD = a481e81c70e65eeb94cdf4e25b0a225a4f48b58b12cde148a3a9aa4db0d2988da27591d65827eed39ad6933f267e486c31dc586c36ebaa0c349b9c12ed33221a463737695743cebb456f0705a9895a5aac720f8a53981a231fde +CT = 18eca8d7ec92b6209c8d3c82d10c876047b470e22b74346ad609f44cc338b38c881103636fd056634907c28e32efb32dcddb23 +Tag = de01691b9b99851636c7c8d5 + +Count = 1 +Key = 4fa1ddc4914c1897957c3a79ce41890e +IV = 3c3841febeef650e18d4cd427b8bf489ec0ea4c585fc081c7048a9bbaaccf949155cef3ec55d9eba5121f796a9196e781e25a8c1f8b5751e603cdeaaaf486789adc087755de0732eae845bbfb6124948de1089c46ca616dd9c2d3496cf43e5749342e2716e7faa79f484868d4afd78622942391bea116a643e611dc00b644ecf +PT = 9f537022843aecb290ff5c080f75a6d423ebe9cbbbd0e8d20c1b1a5fa156dd93a9d021670ba0cd7b4e60d9a15238ea4a619543 +AAD = 453291d49a9a9a9da429b4e2d0203e8fbcde86b632241060c12bdd017ddc531eb721be504eb7f084dc576694e6bab1af2495cc6e0e55899b0f558b05d2d4a873e384ad4bd5da5c12629feee1c880992ee21d39104321d26f69e9 +CT = e38d61f92ab28c3b3040cd9e2b1477484d43670fa643496d52b1290b6e52976322bada36a6a4e4c55d56afd798fed0c8f9690c +Tag = d5ef5fd39f40bfe244383675 + +Count = 2 +Key = 5292f993a4184ec5b22828a7ccb5e58b +IV = d446b5a43fe9cce8c453f7e507d4be0884c54257db3e6b8b2e1dac64af51a2d65c56d43249aab3f021e764776254f1c1b3beeb07f9099c68604a3f87026c0a4e4607bcd648eed97af5c80ef66b7b9d4d3ab9759e5b95fd07f1778c83560b8723cb7c0bfbd1906bef749ec59328b53f9d3db4ed38f2535cd94af2f382cef5c2cc +PT = 5312b1fb0fdcc0f94e63a5f862c1e15fbf3a613c283fb57e4096d75cf5698b08ae760b965eaf2d14513930fde8d1e3c616cf7c +AAD = 7fb881e5e73259ad2726fe0e79a21599b9fd4bd1f892011c7766966e2a14ae8b52b5dd0afec4333e95355ef52a2a05c62f4bd904c5ca358ecaa771b1174ae7473b65ae9d30ab3ce5dc44eeb9c998050ad8e36e459791ecc1cb85 +CT = 14af655ee1eb6dbe5d0dd6abf02b9ccf5946266f9ef1b7df1d11d8533777b8dab033a4472654deae6ba3450175a5b2ed062b06 +Tag = c677d1797547a2b1c489928b + +Count = 3 +Key = e6e78b8803b0b8bd549b3e94e42bf5db +IV = a1921458809754c9ca8d8cb6b8b9f5d94e549d110b794db01f431e0954c1f55993a4f012d73ebab98c5d0f63feac2829a81d407a46b4b455e8b56466d427df7ab0f494f1cd7e672e9bb60704f0a64141355b6096b8bdb994c5bf615884d8ab41ad7cdaddff051240b446a6c290c44fc5ed6c3db090e76df882411447672ba7b8 +PT = 5150b172a02666eb9bdd946bcb99e8d635572c22735a0283a78a5d0ed233efaaa96049b7b0828df82377cecd6f083cae8ba1b9 +AAD = 6e0ba17fcddd1d93a0f090b50faf0c867407411ff2d7f00e38f706f1ec0ca3ffae181f64bb35d038664e87fc543505bb9bcff1e13cff74aad7e7d6f3902f4bd527054b48242acaaafed6d1992983a3a6c6999c5bd66f53f9e79b +CT = 8136ec6071e70bf55da589cce1375b5d7b5bd70e3fcd2b144b36d8aca79fbc630a8f269b8b14f9a50ea84e6d21a867158a4824 +Tag = 0628bc320f275e91d3151c1d + +Count = 4 +Key = 3c1a2c74a774196f6b7a05e2d04190ca +IV = 8180826484b2ee86703259d9ba9ee076c59e4a0ec6de7782b0a1592dde04a447584d8eeeb22457eb7073e10c16994c1066999fb6db98ba59aa450b60bd6611d87e53484767f24907c12cacc01a2d93ae816b4590e4c2abdf11def0ccad62d6fc0f2bc2134871895f11226a966979dc92a4f27b76fab18e8079befcc1b6936dd9 +PT = af467f582c93e1947fc55226dc12604753eb12eec146b924bb47893b2496e1365a562e72d97b4f7630117dc1a5d84b09b27be5 +AAD = a500614a9621057733369101f6ec075fc9fb8fb0f9b24ce15e98fef06313e6f00e29b1c8073565fead0e0b6673db3abe678aae9f2a5287eb290ace05a7f104bdc693a7eb53f88ed919039a64ac5709cd652d9ea0e650f2141011 +CT = 30b4d8229b94b1cf1ad44d241269c6062b72cf9b046d8cf39bd05218ab9464d7ecd0d203486e1ddbbfefe3b9496c3cd1bd4a80 +Tag = fef92d6d9cd1bab25e81e4a1 + +Count = 5 +Key = 26059b5214715dbc1f39c2713d0cef57 +IV = 36799f81a95025f4ecb13a045a550b6212c43bee4a058253f7536035bd9d2b1a4079506ef6f64935a742823778dd79994aead3d83f8f2ab5b17dd7055ba85fcafcf3c55fba455de04b021e634e767d0446c67cea00fd5a5601694d65ba3668d4965a4bd6696b9fdad235caf8d806090e04057eeabaec626768f13dc0bce79313 +PT = 0370e2c1c3a63cb277e0917a0e02ddeffe7e864f7981843906a868162d7510b01110473490ebd3a38056d3140bbde8fa2c49c4 +AAD = ff9329dc3d7cb949b54692c79d5e58504594436c136e6c56a8c172d8f79cb540837b86095db5db51bc1f13ff40d55505e5ab8cefada4acb6bff7414e399c968212acd6fe94c749c5d27b412c93e8f39006903c7ed83063883452 +CT = 70836e4954cfbe75ab477877b4dbc6541db0a5020152508d5cb4eda38e0bdf41438e7766d30464e23750936940e303612cd9db +Tag = aead1e45139b5834c844addf + +Count = 6 +Key = ab366e0495b79394cf23aa89666c922a +IV = 68369ebcd3a9b55508e12419c06c2d7caeeb17e4171a02bbbbad38619be83cc65ba8beeb57ccd4cdd61558bdf1b6cd163642788b6d6eb1f8ec044dd2909b18dd5310933f12ac76cd868a69a60f88b7c1efd5fecc887969f828d76fd66a96f088dc0db762e1f259dc1b902995c9164f88c20911ecd70bdcd113f0824f25029f9d +PT = 42832e23fb0f19047d62542d228b3e5517099abaee21c1f11682634ca50c870fe67c2e400bac60887efa495e37351c97ef1ec1 +AAD = a90afa7a4fb0c883b30e951b719554db265b00682f97238bc61ab942b3a116aa10a849c3058007707c27fe4a40c3cc5bd782afb86c47c1c0e14b891cbeefebc5a20eff33b3b4f00532d78448616babb72bc7515894ae530cc492 +CT = ac147a01f97a54085f74601ff4eb673f6fd0015de192cddc1fde01a5ef9106112e1a25ab46dfffea9809c4bcee3348f5ba858f +Tag = f0dffd04a16f1337fbfb119d + +Count = 7 +Key = 5a817534a473525a04009827dcbc19f1 +IV = 640ea204ce058d568fe296679d0ca7db95a1ed16b51d910b3d4b43fa3a1b8ad1d0a901edb564c40f961250577690b843e4f397378885b50cc087a4a09e23d419ec86a3c24e3906aa20bebee902f68271ed0807017dd67290c6ede5f6e5774866d7169d443eb98820ed7f4a99a9643ea5af193f89fd6108d7869a7fd83a58a2c6 +PT = 1c457b7aacd5c32fb913c4ffe51694d128c95fd4632fa993c77943308ce68a303a9149e6ca39dcaff280497edce738e563f578 +AAD = 6deef3294e7acaa6f3cd1f76e09da8e38f96e1733d715de59847c52e223e97fa089030b85e653a2ac44b50b58ff502e99efd12c907d63251ca6b668018d57fc4a73755f768de1955c7304aa2a9d4f6001ffde5f5b371061daad2 +CT = 9bc99a445d502f01616c47c0b2156373c55a612fe324f3cbb7ab4caf5cb127541f60644d06e4992b85ddf337057cbad26240df +Tag = 3e93472d3ebf91468fbe55a0 + +Count = 8 +Key = fd960047d3859c2fa4ffcfcf02a101ec +IV = 0cc31fcdd392fac99f3d3d1db2196de8e473246c2188a1b3e1624edf15f7ae2e208b8890c38c5236da831b1d11648171dca4d0367708ec52d6c05d6ed17c2428dcbe36dd349c9ef6024524cb93fd89b536aadd872c3c82700ea90ad640ee5876e48b26df85406cfd6772e71ce6a4f763ac0c89f74c4907a6f9a73777cb029912 +PT = cf9a4a9563070ffe19072d912f2492ee0369f9d23b79bb31145e2c5c0625caffc6d8746bf7d2dcc176f219188e473db1d9cf98 +AAD = c88d6e9618ce704606044c6bbb2bcb8484f505ae6bc9754e8bb569cdce1b7510473f3f12f4be1b33493d785fcf4ff0f5b982d0876c010cbf6bf1bccd1088a26feeaff9a0750abf0476109d7044167a39978ed4cc0981aec19c01 +CT = 3f35a1afe90019c45a9e1c9c453ee3b4c6e59381b5c17bff4fde30f3fe9a2d4a0e6e801d3f47d9ac4c1f5387aeda41d1556f79 +Tag = 81ea64c1397b2e34835993d8 + +Count = 9 +Key = e8b097afd765344e85f3d0a78728f8d0 +IV = ceeb7ffa3fe983bfa45d3bcf0b50ebfbb71f87c0c8dd2392a94ac3b92efe81cf8feb31b16b4ba64970784e9f4a6f278267896aa5fc5c4c3600219897c07c48e5604bb2f8c3bb3c13b7a70c181bf195d465e013c9479c0fc8e4ee67377e95918a6219f0db78f9025c982bd3975f54019a508dd7a0ba88c8a0105f57e112ae97da +PT = 1ebca4f7c42191753087c683d7b234703c2a8252c98d54c2876aa26bac7759906b64a00b36c9c172832d76445e87f9661ddf92 +AAD = 173cadbd684c3d67681630b9232d614b2aaad9ca58ad8ca173814ae93fac302030cf19dd5c74de38d508c40fa2559e3615225a3d36e1862d09043f7ebabe058c0e08ccf78db53ed7cbaef3e5026cee1606ed31d245cfd9513f47 +CT = c9765fced5797fe49e48238fe2cea9b45bb633fa889678803042ab68ad54fb5ecb1d674454a4b825664feec0b63a448f18dfb9 +Tag = 6b011bcd36339647ab824166 + +Count = 10 +Key = c9563c05cf558519ef9e5ec005a9224f +IV = 8abf79aa00261aa1594e3f3335a8a32d7ce9083cb5ae9b07b46c205332070fdfceff76fc925cbdf30478f5e06cc1115f3e25a3b3f64f08f28e3dc50028c8d0647beebe11746c3764d6dce328cade49e4a1359c385fe4cb528081e1d02af3fdf1a6f43a14a3e4bddbc96e5ba4b00a5049dd67dc470100740bce7fafb445615229 +PT = 79df50176198575d4e90c7f07df9814277fb99192e7fce4712329779abefd6763d644850ccf48b6e21d2b4db4df31cfd6437e8 +AAD = dd80012cbc1deb74ec0b75c16649a8577a676874e8101b8be0b61cb7187f4d01a88ce0d037f84d1e6bb0a6da70bf98c0dcd7021b5293948d41a7731941a58b182e17d8faf79904375b8c0a332fc235140ecfab8a14a48bb15397 +CT = 31ccb7a7c2c80e4dc83c7b50433d62a65bc766f988205402508d890b998d10c0157d13e3d51b4d3437ef0f11cc89599bee0a4f +Tag = 706ddfd77df58d371dc8b552 + +Count = 11 +Key = be5090bb3a33d108eb2d98991f3d83ff +IV = cc8d88bd8d98a075201a17e2e1a6c5a846530c761f6ff5b9e4ebd9a9b5d8d3a6736cba1c388d498ed92150634b11a4da74e98038f0d3cd0a9c71c7b28f6af5356b04e3ad8e92a15769db2530d7371774d2e6d0d2d555844240bc4d1b4b8c616a8f624245d36b740526f557cffeaed79c3026b0b040f57b6900f42c41f70341e9 +PT = 9e63cf756b7b0db4d00f22383d0ade08f3d655832b907d5ef28ee324d425bd309350cdc9cb7ff22c29323b08884f9b97c40067 +AAD = e6e7f14bb9d4291491e5f6a630d11e33d9ca6de832d51071107acf3ddca66720d050491220cfd0fa1e310250a74db3a8cff26f796aec5da6eec39a7075600d524b3413b850d2c6489639db3e825411c344a26298d1f16022bbb5 +CT = d3dde44d1e3c9f7c25d925294d97ed7be8b557df66c6ede896f3e3b645c6ba0b32beb3e145b3e1b5ee49287295b6ceea4a6612 +Tag = f8b5eea86222bf3f14cc14b8 + +Count = 12 +Key = 8d1afb5a0eed4c04c886d7be92845fa0 +IV = ac2778033f24761e70ac89a2abb8bf5fd592ecadc0a969fdcd22b25aa31a4a75f3216202e424f4c5d5281ff8f532b8e21d6d8fb6be72b50d5d74be4fc688cf32d3add7705724cf7251a081ab96cdcf3a01a3b410278d0164da370caf42c0a10cac864656c88cb97b701201d35f9b13f9427e5489c8cbbd3ecd058f195d532479 +PT = 24fcee0d3c37dcde58c782e1c4899cd0a65a80e2ec0fcda9a798450fa5c9f1973c0ec8dae9d3c9b050bc9cfef450e756211859 +AAD = 0cb6892c88b9e07843e611dbc8777cd3a77de2bead49a9bde8430a1792291673c8c9df6996ea5db1370d67cd54b4400cf7dd36473da6a6eddd8dc0f6ea76c65a9efa66c93298c926175ea5efea1a4facfbb2fd40e352457c8bec +CT = e52c6387ea4fefcf3789137c977e055a7c2218c04c5a95fcb9e2fa2015cfd8e7f6109659310f8c27608ce257cb5a5ad6e6b400 +Tag = 2bde44c560b5a8e810326421 + +Count = 13 +Key = cdb023d39f1b5073ddd507dde2ee245b +IV = 4a8979dba42e50e1e01347936ad6cf61de6249e5268f2083fb7f5c80dd1148c17ef003a4331a655db714bba99ba8260ee6a00039749dc72acbd15d52eb7b603402e80d55c6650f4a90f0ff061e1626b4188fa48a63ccc5871026e690b6d15694ad237a03f46d67845bfa527de9055e5f9195a237ef9175cbc1d9cdc99b72f9ff +PT = 68dd2e4b1efd6e0c82a1352c71d3752fbe58530c4bead417c3995be8c88b5c7a5282b63b76852482a9eb1203aab7fa13c8e3ca +AAD = 0f1a8edf6979dbd932312fa62c17300368af4d4232d8998bacaef4a8733919c8f64d9fa194eb100b4cb0081ab78aaea446e2884785c8aa1aeace478d6bdcd5358079e4d56d7c97c8cd3c1254c458aef5e7507df8e1257e88de78 +CT = 78849d7011aeacf0b4766255e0257c0f0f8ce2d2a575bb3229d6da243172a1dc0d85786366125b5ff72629f47482e5c2a9d014 +Tag = d3a82a66e04aa170718f0599 + +Count = 14 +Key = e5e6f82ea890a408ea4a2805a84c83a7 +IV = 9a0596cc75744e1bf70b3fcd7ba010cd8e85de361035735888ca5f59f1a6181a554daaab29d9e90e295938a0699e24848ac0440ddbb23d220fed6dea4deae408c750c9d937103342870c127be4318b77050f92861f4573e31e65e53e842d0a031c96ed2cd723b6d78357e5c33e3960759e371478cd66f6998e5ea2dc5f4d7bd8 +PT = cd1b4e8970fd9efc6493cc335899bf963bc6af6aeb6ad79e2736d3062b8466765ec648824480acb5808754704e5e36c2009c43 +AAD = 11f3bc00819d1e7a505cea502d5c7b7071e2eb49c5b9afe46735e3bc5a3eb57a0470ce7a636a519bdce842ee94a014812317d296a9b979be9aff1cc1b8f4a6f649c494aff1f56e895a1cb1a5f84d753572e57bc3bd02b934625b +CT = 87cd9cd74cad7a94710cb157e8119d4b823376be9da99355a9d46a1949052261c7f5f985722069207f719c55e7507256fdcb5f +Tag = 8696752cb7b42018e1e4a8d7 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 64] + +Count = 0 +Key = 0a4149df1267e3971aee2ba93f69d32e +IV = 872222d8c6d49945202c3ec1f1ba277924ce6a4df77b5a13ee9f72e500e811d64049805e9485eee56c7f41cc6d87aa66b8395f28dd985c3c7220e69c329a9b0691f7c3b466a8a29c724f2f7eab8c36efcc84e4f2f5e3b7fddc03ef3deb378e8b425822a43c41f9ba098be0fda2b3798320de99d0ae7f414f8a633a9b1d03cb17 +PT = e70fc2969d67893cdc5297a7649a31405024472a7b927e6b5ed3b5a1acf04345bb5496e0511787b6f8afe966cfa9613d70bd87 +AAD = b2d509d741f59ea2208360d234b6625d3ef4dd193027ee1d4797570faa6cd3613d669b1df2816a6278179751cf4ebd25dde739285a071dfad9f01ae3ff70538c9abf855e2e6747c1d4ae0d3da66fe0de6b76b2fe8ed1b86ad6ec +CT = 1d75585864b545441834f5526aaab7775da2d407093b009bd3d8dde5627ea478085851b9c1385a38bb27d941512a29317417de +Tag = 44874fab9a2e1819 + +Count = 1 +Key = 30394150667df625dd8cc461cd4f532b +IV = d1da12915eeef1ef9437b92135af3b5cbfe1c617104f878c3b938e99838e89bdc620dd0427b7f55d8eb5eea73e7868aa1cd412ecea107dfdbff98773d8004d945515302e728b432f0d40526eceeb29b0cfe4a8d59e7a56a05030ea452ab6b6f6105fc48ceec6f1fdc40bba1df99898a229b86379149b390e9620864b5e07e621 +PT = 71f5f8cfc0fe0372f68887413b7e51f0a63814e1c7e5a1c5bbff5b143bdfc69da45b4dbddadb47db26885f732e355ff61fc0b7 +AAD = f03ca538296aef1535df5e7d7eb9f4e0e993f2ae3f28a860603432f27e80700363339cc7b057d3ba651327cc0c2993087ea185705c3f782ce50b5ce3ef843d401d953bb32f47d652736f815fc1a21952cd44260b2644278ab914 +CT = 2e5fabfa7fe7182237ac99618e597dd53c087df702a89c251620994a9ed83670faf7fea5e82eea19fe316679c5258d681d35d8 +Tag = 5e2efce2876981e5 + +Count = 2 +Key = a4f900101bd5654e4ad59decf81cdfd6 +IV = 77d957919e8e62ce137d6d45815f53471e6c5141cb79792b396118c12ffb0dff7db11e7692ba5d520df8a7d6375517a0d591817b0843f1c3645105f80e21757594b9daf7474234bf8889c4e89e8cc728216631f42eaeaef8006b885efe590e98c46c947aefd5b0f59d885b8d3c60b67ab8299f33c6e6b0228437f4038a3b8850 +PT = 2d491dbd0e6c330587c232a786d3ccd06bc085d9d2ce36808f5e901bdc16651d3ba5a96559a51c48676888d138a308de38cab2 +AAD = 56a4bdf13da2dbdd79a8c4b287984248023a60125943f91e8986854fa6bdb7c0f6f3e937894f3f6a1467d6c60d5ef09a37841384051b038ffbff05a2bfd2bfa6b3992a60e4513bab6a3cf8235ae33a2e1119ac8387570f058c5a +CT = e95b8510850b5838da9424364f8093839935285b75587f821daf35feb2f641a1068841451c70ba6aac7a989b86ae7f59bbd5d8 +Tag = 93aee3aa7adbbe96 + +Count = 3 +Key = 8dd11a089bfe5745c401829ebf331fac +IV = 1b70374b5340c86c356ab3acabe5529b7d7d0c45b3ec00fe78cbbbdb630313e1b2eff036f1af47ea3ca597866b3780a34956ce69ed087f45d534dd280eb242acd15f71289064d71e18d582af6ca044341e9842c9a44b752a7c4a6736233f156718478c42f6601f54f8678b1cb0b77d397b26292b41d344d075714cf866e7027f +PT = 7a566a1dacc38a66ec85265b16a29462eb8c96f06f637af966242012650d1a29d26d03f02a48ddfb08bfdb79765a043a8039eb +AAD = 020c57dd2b38662aa9af64fefbd9674aa7da756a79b309bd0f7f539bba9830cc049c842987091802a69aeb26f0e601324a458ce3d7c7a2467b9166b22403f2c198a42d01b261a127c27cda6acd7ca1bc8b2e78c7c372be3decae +CT = 75b1942265de840a151550b6338aa5cc131cf23bc8661bd1b0fd7a4c683c6fa1d68ce8c640d5de9cc7126cd2d409bca7e42a9c +Tag = bbcec5ff98464fcc + +Count = 4 +Key = b5514d2651b9d45f887158b4ff673165 +IV = 49b0a23349476e1b8969223c53e60e6cb2cc5e8eb2b0a03a54e5591581fe5e558dbadf49a7a33d09c504fdd91f8080dd32ff28ea064b7329b9a8fb64cda0fcf3cdd3fc8afd13ffed0bbc3b91a46d72af3608b86e5c5c1b1201950259cbc9dc06837480d8294e80f93376c7225f4d578f3a12dace80b78666f3226ad7f398e988 +PT = c763e3d21df2c81442ea43d19550b309ab4b7329e7cf5f06f3657e50b97e7fe0a9d4e2484cf7607d8cd9db7f5c85f70b094fb1 +AAD = aff4f6b4e42d64fcd0de1e50277645084f7d2c1b628a2542c9f919f376306bdb8892cdb89eb58132c211c4093beeb2e1ea5bfd7bf933724aa0cc6d33e5d34e9612a5129713b25088547f4f727f9e085e2371eb6d73aa608e60d5 +CT = e3a747894e6ba567183d68122cb4921989551177e8624520cb9162b69aae750eb19466cbbc0c473fc12a99161bf84e529a79e6 +Tag = 46a4c43a488c0d37 + +Count = 5 +Key = 79a8de1f16c86ab5394da669ee48032c +IV = 08e98385ae3e0c01414f5ee3a8d1e5b42aa3a5a5f0ff10ac9b8b6a0948e04eeb4e38533178fdb6f4dad7f23abafa6f80411ccee306466ecd86d055ad0d01d4610a28aa842c797edec02cf45c82a579545c89f2a4dc9e90abe5f7bce73edf73db13526921f50df8b4b6c564d6b3280c9c5b1123742fd98c0eb1ca15826b9a0d11 +PT = fa29c008e6647f3d9a04f663bf6dac592ebff7fc31cf44c564f0d7e8230229e0230e7a84ae91d20eab92ae501e24cd867f577f +AAD = cf938d5be06e9ca3aed3ae8845a6e47c6387ad3fa2586eb99266b37812108728114c9ba88fe98d505b809efe92bd6c5b415a628f729a676ea34a9f77ba4206e0d95afad81c3e23e34070f730b185de4def27e78e8828414a9fef +CT = 2e879853cee75a64b0f397c924c9bf79934a5333d9ccb51e08cf0d8368cdfc3a949e0768aa7138c30d15a9df751abb1c42614e +Tag = a669d7fe7a17d901 + +Count = 6 +Key = 7a7a93e7b4c1f138a8cc6e6604af4612 +IV = 8370b94d4c58bd2118a9be4b6a12e652178163c03ab0a06f0037b64711120cdc948f60a4eeed8c878fe233050b5a74458f2d6cd86cb0e8937de90a0cc463575b9f3a38ec80119fc74113695ca8e2e795f0ab6cb0256aff92c258e8ed8238257adba1bc80365f158dbc0b5349a935f24eef2f484516d10ca03e9f0858ca66163b +PT = 640f797ab5c5f6d50d1d5b8753927bd16b1857ec07fbe465258b727fb81f6aa2b36eeb1ed268fb7bd8b96d27f8def7df2c4616 +AAD = df10752b12597a60bfcaed70f4182feb80aa12661834c3137146e1984fa9293c255f757d23deb55145c9bb949276175c79b03ea1ba29ad19eee810e26d5fad6cf3aafd4b0e10c9c3213d57655292d9f12d47e00c6c12e5ec85a9 +CT = f5a36ff5ae8a92c789e9fd851431f49e6faa9ac682b7ba6ee134d2d4b269006175e193a16189d2004248aff400745200f7cd83 +Tag = 04de8a689d888809 + +Count = 7 +Key = 95e11629b1c0a03de9e9b9648ff3f8ad +IV = 7d0839b06fefe8cae18bbb2fbb437a56c5f4820aca632ffd116c18851ec52f9c173a7e5d78b9aacb15afbf3a2b28e3df5922116d2b97cb2d4ef633c41ea0caae90b33ee3ea8846158c901e44657040b9b6983421f062f6f0c800d294326efc6690db722b21d60eb9aac0e3846ab1242724aed697d1187ac8bcdedff7022128bb +PT = bd707bfb5e4b246e0fca8d178b6e320701d736a1fe270477e5780862793242b2288915f797b25396fd2924f383c37461a08081 +AAD = 8e8523f06350e90d9c2f585ed12f6f47ec60335bfb67e4b788695cd488c019eedc00898f632bc101d24d7f13e2aec03bd04f6a57995d27d319dd7bc6d7c3081aa3951ebf96b8b3b488c94da00170f5d6b0550f6be31982e7178b +CT = 4b324fa2212f82c11bb71bf0a83178756213134196da8a84a6acfa39c933493b79230c9887722fdc5263fbde783a5406c51f5b +Tag = b4c7df108c7f9cf2 + +Count = 8 +Key = fd9e15d6c87bd82b54b09cd85fc89bb2 +IV = 0ce36ea84913b21d3bea90a8c31d9a6382a2b37a050d61c7a57247ce1939898d2c8930910a668f38d894cc8ecc8745c175b6e0dca544b8d61a248977800b2f4e11b2edd887ba0998c89466a29dd11df01843cc0dbff0eb5ca1082dcc301f1550ab3ffdd44a9fc2e16ea54987f5c66695c60c0c5fc271b9d46b808c65841e5b7e +PT = b489bb0a97c6f87b2ffd1a1fa9dafca324e6e0444150940cc8046abf7f3eff1832d5253b479ec3124c1ede218f2012e472f01d +AAD = d1c4dd242ce2274a57845fe08ea134718530f98c6d05efa337be1ec10beb6e4b2e9bec2651d0a4802f038bdda5d8b366a0af40e844c2ea6d3bea1fcfc17f855cc29bfa277a257375fc3f6ad3828d039c7713faff8ef9137d829d +CT = 73230fdfdfeb737562eb4763d14e579ef78b68f3626f45375ff2c207cbeb2226b70b795f084bd9a36a7acf04e4dfc3e5f48188 +Tag = 1c5bd0578b976415 + +Count = 9 +Key = 9276790c1b08a49fce2b39b3c35f17d5 +IV = fa27b55f6a18f2cc8592dbeceeee1490d74053dc38494deb2fec6c7a75cfffeaa71bc1bb682220be3698b895954f3e2a6e93e66b476c551fcd03d4d3a2d63d649ca17d654bf46617f90b7ec4ec85d649e862f7bdcf688300b77675793de169b03b6ad6ffd9e5bb3913380d8f972ab471046ad3d4692e837ec02845eaecb4343b +PT = 2d6080ee4ea259fd002c7bdd7366324ebcf1a2495ca92f4e44154f259d240ef46b2ff94e115ad4146a79c7f906ac12f899743b +AAD = d978b328694277c209df75c5aad117508d51f7d90d793feb529d3ea509b51b4b40fff11930c630ba40f12954b14109544c3f916a3b48be0e7e2aab88d0684535c4e5d596dad38a2410ee6c6bb549ada5c06d6a67300143191f1a +CT = bc8c37b0faab6522e33650e8b62bfd77602c0cf37b1e61f3789c138b45abaf6814c250574e68c3d5733f69849233e92f1e20e1 +Tag = 327d3e9ff15fa065 + +Count = 10 +Key = 176e173438e56549c75ca2b143921007 +IV = a873f293bd3819c0dc194ac673443a44909d2ef4709d615347322abcdb756d934344176757863f41f18d040c8aec73dd9cad387f8e7fc420f1bd19224d28395d8f3a6c00d08ac03bbfda20f50932926f39158249fa975a5116823e93c759dee20d2258d1d7c6dd2446a283cf5962cd344f8c3cf390d421153e2027d56e670f88 +PT = b9f77fabef05e0074c1d7ad3d8709efbbed98721082a898d3a264af86f8769a5134f721f69d7a8ac240bd88fc7dd60379e4b3a +AAD = 1f678b9fe2c8825c3d3fc5deef79963fb3f15b24474164eb80f33d30ed7d08dfaaf5919764341973fd69a376071662369f790cd5641a2a0fee723b4f281780f8d950739b0946940b7b24c64d479d326b2f1b261ba52c0d7350c4 +CT = 0680120d185dfe3e293dbca5702d35a484c611e01109809fbef567436d9240682c187a4b22d6d96df485132cf9ae91a230be46 +Tag = e1df1e83adf212bc + +Count = 11 +Key = 67b257622795d806f13deb7a9e4ce25d +IV = 86a5be772b93d1a2e79fb3ac2f014fd31d76dc7a7aee38f4d0bb39b45795cf2a4ea1f33cbb4e1d769231b72a590ce3dc408ec7386a265d65102833edd8dd43b718e9ccf2655ccab0a6022dd81f6697544d9e8bd69c5e6511879686dc2d936cf9e4fb23ef1273fb61eb7bd62ab2b8c49fb916368d7f4a1fa081fd9b3633c1e4cf +PT = 15ecba6f0f8a42236d020573bbc866d29a86dbff689694e0ba3087bcaade496eacf110d903cd99b81b808c6ecb6f36cb990b63 +AAD = 6e848ab8f7f4971a52cbcd42eca24d33a8ba4a43a473444fe2a5f69cac5209779939349d7a73e65db30ff0adbdbf7f99db3f4a810764e4edde1a95b6138e08c7c939549d83aecd46a84a9b897b6896ab07a6a9de663376d6197d +CT = 9c7d13e78bacc849c76072c527abba06046075fae2a3d13079f0f66635a521e0e1e822e05e009ce3aa788052f5600c00e71031 +Tag = cf632f67bc5092e0 + +Count = 12 +Key = b4166038b75dec191fc0ddf8375ff4c7 +IV = 7f4ab1196310affe7d2d3c165f48c4a5652dc76e0baa1497727a87c49b445d350e810e8b73f9d53590fcc041a863971bf70c715f90bc594a5b98c521b0a91907b0058583f48aa10aba51c45937dfad510b5772e4875186954a575e906e48efa26bb1cf6201fec8f13a3a477da68fb6288b3573095d7027c1fea292d0ba2f2aa0 +PT = e4f6678ac787f6b6ea1c2f04ebae8afdb8941f1ca363f5654d4822358d6041af03979e269f070ba9f03e814114bedaea88a203 +AAD = b9bf722d2eae013fa11c49f3475514f9592556abfc334cf9dfba3cfe37d0de7d7c996eb6712facb376651178585d4a60844f52e2590837c35acf169817b692bfae8d08ef374bba4bb0301005b4aae16c54f848b8226a312ad6b3 +CT = b16224062ade5afd4796e658b3beef0d13683e494aa0d745d930378d4b8bd0465f4e58b8ec9c85e97779a461a426e337abe399 +Tag = 3fc244c1caca2757 + +Count = 13 +Key = d16e4e7ec43a42bd7156f259b369ce93 +IV = 34834e81b1ed4ea895cc76788c3adb48c2884b213a46f24a2012a5d06dd6a7175b61d9d4ffdc0e00c54163280b2ed247be68788866094b5b8846e0da034940f800cf3dd0ccd44163a085cb0194461fbde7d621e029fe3effbdde9d856d70fa3398ace4216a94d530b71408bdb9d3036ec81a8a21df120965629c13b796d7d9a7 +PT = 3c6791d91654bf4069f7ccce712fcfb82dac85f2669b80dae7d23f94ebcb280ef621ed8c5cc77fc582dc4f8240061b5e269a1a +AAD = 4bfeb3935a388f15b7418182f8b37c61487865f519c5e7dfbfa4c3b74e60398d82d449ed418ee301895bcd8ddf5a9d50b74037af9a261bad3633600ba7dc79f06a5f09f350ad43c90c27f744779e82f850e23fd79136adafb555 +CT = aa546ace6bd092399bdefe0ab0985f9c380006117be38648e3a0da80cf4d32ece831c06e532b9324fd1df14a6acf8d75275fc3 +Tag = 7068e4ca6ac26998 + +Count = 14 +Key = c4a8b2c99b62a2a64f8086aab1fd6c43 +IV = 2e6d6f434c72c71560f05b55fb7c07e310260aec112aab0e64e8f87fe738fc1b23dea859bbefbe9545fb575fc0a6d45fef42af09dccc9fde0a52ee84afe8d1339641ee5e00239e42b310d9acfd428c2075d93112bcf9ebe728707966ec29b1f72e87cccf75a2255875bf78abf0cd6534520625ac7d0df18bd6a1fd613f894198 +PT = a77ccd123128b46d9144fc5a90ec64bce6b4b5efc5646c8d4961eebe253235baeb236d8af9d1d81ad2bd4c86db78c31c1c8c90 +AAD = 23463bb91dcd4716b7364e71a2ebe5e1aaef3cba8ea4214dbd6a987c9850af86518747c4869e00ce244f418ce19f0113705999aac35ad0bbda719573d69101046b34df89774d0093684ad7ec66eb509d8e7c25f552956c488095 +CT = a3632572e59a7c558d5e1ee9f5c059a5e118964c14e3d4e953b5c15d105db76bf970ed17bcccd84162feecbb3fc93d7015143a +Tag = 27ccd8eae70c6ec9 + +[Keylen = 128] +[IVlen = 1024] +[PTlen = 408] +[AADlen = 720] +[Taglen = 32] + +Count = 0 +Key = 2633d1781ce54f74ac609a5b5209a01f +IV = 7d0e90b7e9f36f760d2dcbd66f352df45f3917afdbe1d0a89cc44be0bd85cf8bf75edbdd33f1d16dad02824d81389210b0f146f3df63f9232d7035eb9e8297a09474985b3e038a5fa6840155d8848fc7c53061ba0f442b84408660a997176ca5bf3473103fd3c9a1de2580b9e539af872259ecae925a8ef50f5a176a069b1fb8 +PT = ae695828625b264e0b13d3c9a539f2cf306a7501cdd35b817b699b2d7c25cf20d2dceec3fa883019db807272fddfdca8e7f672 +AAD = 584c3cad3035d1427d6f5f1b261e97a5ea7d97c0b88cedf3b1aa5e21e5916805a63964eab4449d8806e7af60618465cf39f82769b7528bba9bb9c04992cd7b9e26efe9be38e1bfeeb41678c52d5ba3508fd7a2b1e8478505bfde +CT = fbc32a56885100a36c276ff368db9236906021a8cc7500f2b3e78a6ca01546827073ff1103145f139f4d116eb47b84e33c7160 +Tag = 49589b3a + +Count = 1 +Key = 62dc8e1a98863c7de64f30b74c01d530 +IV = e9f658589f973895510cb34eef99b0cf34fc311c20c21464e07c4d6d34a15fcad3ea9ef51ef05513fb700cbb92aeef35e4cdda47b2c06c1104e987afa1cd6f827e7bc5a8db6d0657345945c068cabfd6e6b57533c929fe5804e121809b8b43d050a211fbee319879b1ba4cc2768df3a92014839086a377663a1d1967d7c602e9 +PT = f2c54a35286a225389e853e51f3f64b6980a79262e5545856c053d558d87d7b739eb75f27587efe219eb82e9a176fa14419dbe +AAD = 5d78b486c29131866569768d5eedb61afc48de7d1a223d0cccc647cf35408bb932293f3bc1b51a504e13c27548d083c8e8a45d4e9d4dc923c3c2bde38d6cdeaed2929b67e371356f74f635b3b1183ee0db71476f2024e1f5e13c +CT = fe0c3ae08418ef91b478360942a84a58f8d93df7fe5bde138f59cc23432f04b9637841ccf7a5d539a36f621a7d17e026d4cc2c +Tag = e413041a + +Count = 2 +Key = 9cb4b060870a2563d9f38b7c84f45ad0 +IV = 6f268f644af70b43d71c881009a29d966d4d4b13e9a22dae30c299d69d195f92d7ac45579444358acb2de20b78afa3f258eae68f7abc68a664f375efe43f8d39c69668931dd0daba24c8fb74b0a0eca13434ee9573246d342a91514a2495b6c8fce8ec9ecfc93400601d80ac9c4711777a7cc00086d31cc536c05b961c4fc5e8 +PT = 0f75400a6deb4427878b0ac3a1cc3950b39531716cab167ba2113aac383627b173ccd942858b0a3dc5bea3144f9a52179a8565 +AAD = 99932f2dcd9dd63a4af30ede3b00d8e12fd24f2328fb03a3251cb1ff9b67b9bfcfe5432e444d4d60a8ce6a39fa41a391c0bccf686d9ac044f72c60ee8f3f26b8355267343b31bc0d2886c84dc6bb1c7c20388c16d04fada74915 +CT = 872ffa67cc633f74ad29cb8b0595989c0c79a5028f629b2800d1412abf1df68a10142e760ecadafba3361f2d43afe79c29c168 +Tag = 15851c9b + +Count = 3 +Key = b9587f9d7f881ec94a096b7fddfdc5ce +IV = 107ab768521c30b4778ff9191934249561b8df2e803190da64de20f05979d2376ff6c048aefca35b246a888319b21306f52d1f1f1913545f532a3cf1de4cd52b926321a5a27f501bda538e1418c4b07599a9f897cd6d37320d1e08ffd4a2697bdf91fd5123038ccafd38457e061e3c48def212f94a5efe259ff276ee86c91337 +PT = 5d69699972afef8d1a7fcbb513a87dfdcbfcf01c367d5a378a649cbf92812c6da38815270a9ba0af4be351ad8b062a73a7f63b +AAD = a9d648927fce9991ae15571e1f7810536b41714506ee0197b9471e06613bcb8636203c1c67b93af6d1545baa181c2a149ac471dbd54dbae9784848a4b7ac6894a67bf40ed892df9bc720376e866e92c05c16bc58db1286d5ccb4 +CT = ee550d3368a1115d9cbb1dc37715d7e16e827eabc7d73b537c4cb6fd437e7c88e4afac6ee8807046f0da4788b3b26eb31e4a58 +Tag = dcd71cee + +Count = 4 +Key = 1e0c8c8cd53c942ca29dd3d202eb343f +IV = beaf4a32b50c86f92611d7ab665ba344a12f8e5b281580f043633e9bf515d572520b23bf9e5214c38ab43fa4ef2f1a1bca05bba703c5c529943f069ea6f6053e8af0c7eb751b628a82e3ac22ada6e17a12152ae2d5d4162f70e34a8d0685af1d174db91cdc1c103678245cd9483753aca6ac240e5909c18c84f0c090dede24ee +PT = 2dba40b971012ee4f3b443fd815726065859a28a06d22a1c35cd04529c7b805999cde4ce370b2ed3ea675428dcf5a3a99f7622 +AAD = b61a1b5501326d7e67387500835f788574d21fa80df4a9fc6184259a8f0fd8180ef988e12baa645b7500ee246ea52284722051ec4c345a803714f2bc8f02dad385c575128cc6247ca3d293e2b487327f69b0304d402f97dcfa5c +CT = ce5e806ad840e78042c2e0da0ff3af376a1f7d38adcab0226da6d34887b2b3ae17efcafeb0e32f5070d7cdb850c9ab5b0d8614 +Tag = 6d82627c + +Count = 5 +Key = 2fadbffa3eae8caba795506e9d9db0ef +IV = f67d45a1d51912eed0e80d5f5ae05ce4c2c381aee2c4a391823df6b44ad123802602160cd679bdf893dc3aaa547a604e7d1e94de79523891ad32fc0943c822cfb995e5efa197f37a885aab5fd91d47c5ccf852977d7e689f663c5e933a5a72eb4417fce7f3a635cdcaffd60bfa875ad6c2f72cf284831fe640a23fdda21fcf77 +PT = 2f01fb5b9036ab22af19b326769f332b3f6adffbaa9583474bcc5499e00413f9b273a76412ce7d268f12471c078600a2f15bef +AAD = b872df430bd4400030ec5c38289a4be8d4bae608023b6f3922aab24f75bc0d29c2fc378bfdf47a99d7d3d53e1ea2e9420c2752f5b9b6e06b18b9eebd2344e190c4c1ee0f60b14ca89b5c8d3a25c9546a2d013b22ee9fbf92a247 +CT = c1d0f6f53c885b6470372f7d7468eb42fa1f4e20b540a68cac91060050f430d27c50e85403428a75de816c4747776476ae4e3d +Tag = 8a457c98 + +Count = 6 +Key = 3f3ec6bb52cc9a725abbf7b9b3f9fa4d +IV = a700805e157f5fd7cec77bc556c2ad7e662c4b55b284970175d0476189822855d44fdecbe28b3fe7a73a6040e6994b8460262b5b5ac1049dbcf4a5febe21eb8574d3a679cc480958852efe787746b4b85acb86757cc855b9db99193208029ad1446631e4a101a115122a98e861c62ef1e3d6587122353b5f958420dc7c80d751 +PT = 07029e02ff512e948112d4f51d5f86d04edd2003447aba21f3976a7200f765130b8971508acbdaa6191c7691dccdde8617a86b +AAD = c6ca6cc319e5296e2ee085036193bbfc4e25a6079dfce25171ef0a2dd569355c73c69cfba69dfac17834ed3226886c07e5461bd605e83be4edd20173f395b37093bef321949d8a0797987796b30aa3387bfd3137506d6fbe5080 +CT = 3b26164ad8088f7e16ae82bd48c7c09230b05a820ea8f89cb4ca54529ccfd74addc308d00ef18f6712d3beac1946ab7da0852e +Tag = 7e25563d + +Count = 7 +Key = 2f2f448e677da243aed2046c864db4dd +IV = e0e01fea2c7c412f6365486b8859d1955075d82f68fb217047db274042d5fec731765541c2111e2ebd17894fd38b82cfadaa34c16526c1bc2efd3b8d6eacd7c4643da5288f37a0c61e8eebf6da76d641ad4c6545c0d7a7d4ae4a23373687e08b8e2d9c457ceff49947bf59e96db4f7304665584d22a0bc858a49721987afa904 +PT = 07a1024ae506ac70abb723c606eea5f6df328195c2f5a3fb629dd2813251abc7d3874deccca99944caefcb83f5bbbf36566807 +AAD = be09b05e89a7e910f21607bed4e950d120e9d935c715023febdcd4639de7e440189aac53009cfbcd2acb230688abca97165943c65b1e8ed24ca72c4b57084e0610040929b918922d0f1b8a0d25c8cce46889add73b0b6d8a89bf +CT = 15e4f0f567861361eb342ca281bf1b860f6681b33ba7c547682c4e92d48805cccce12b4be0c3b13af464fba9e79c561e3f0f00 +Tag = e7a6dfb2 + +Count = 8 +Key = c35b35f68743e2e4f88bb48059f2e21b +IV = 2dfae4843d58be3cc005915c357c5bdfaf7c4e7817e0164b123ec1ad08187269c323568f2bb80c50100b0de276dee9c81ba98801b848bdfdd6185a1926b3eb6adf1df193a6609932a150e0eeee08ee58d3027c712cc729abf9e7bfd3d5b328aa2887109b606704cee0455bf7135a3b4179c8aa86ac31e5e3209c04921975fb83 +PT = b1f1dd264e4f26da74f839728cf70743ef435c016a6549b17b70ac93ac37b0e97bbc3fd092dc07f2b020527b781a38f8d2687c +AAD = 65556a625bfa8b96e71ab5eca7bacb87c9140828b8605d9f3e441628d76281d5a5aca1fec44f038162977cff46d64f965bc4f94214fc63cc56c496aa9aca5adb855faef1f54123633a5d4dc367ab3cceb0c9e42eff3d981945d6 +CT = dabfba195ac7f737153810c3b6db598e2e346af941108f6535b3cbd389428280daf4d86b78148197fd6e0831434a0fdda3bf93 +Tag = c85e1c09 + +Count = 9 +Key = f6e086357ed6cb07dbb463aa500ae69c +IV = 15b56fb043a72881081a72bce9298e21fe60aeaf1e4b4a85bde873930adecb48d4c8f17362aef0cdf2c3bbbdbc00ce29669b633f181bfcb85c44511c5754ca07595dbdcd335b0078ebf8b09f5190096a9078259168b5a5e1b79211b62d8f0c306e5a0c4e81ea0c6c78e63f5529b633c28494c6f0a42ffe51be150df24aed1602 +PT = fe49c833bfcb93c401b3483d7c7fc9fdaaf3a2146bcc36e0ffe37ef1ac6ce855d0fad3675c9c9fe7cb908589cddf43c4c35421 +AAD = b3f36b821f294d33a90c4675aba4b32f32abc3683843ad1689acf130a43a3b21b3473d3a6c7cccecd4c767a7682a26fc524eb6c9688719acfd708c304d3db201b662f48610cbb6c1ae521f00de7904d668b95b812be2b4298807 +CT = e56f27f5aea684a8421f1d559b56d80b3790cf3fbb5cd309f2866ae628c8196605edaca9be512cf6a42e53aca4478405a95d6a +Tag = d2d608be + +Count = 10 +Key = 0dbefe872ed2ea2a964fe991541ae834 +IV = 82f382aee615f224677e876367268b31c89981e816c7c5a5ed1c7fa50370ce6a6e13dc2d1ffefef5d317302e22874d28fc67e0cf4d6fdbf1b5c8ff5645256378eca8426454ea600376aadf02d17bc171e40faa2e62530235063e73ac50d06c2a88d9e5e35739cffe8ac70aa2c4f4e00716052f823e0dcdd2b4b5afacbc79f4c1 +PT = 8445831a7b481e187978afbf195eb65eac1ebf3acf1fa452da79248ea484c9bc00d233c2e3b827de9b46bad3726c315080ca7f +AAD = 72caa4d008c9f7f9667fb98501c7e44972f491a8723db27e4a404d377cb4456234f9b56b9235087e25016e00cc6e6be08de7d8739a546db4a78407cc9200404332955a3c68d1f3c6bebf9c74d2e9bc54dc1c56c6b62c72bad6d0 +CT = 800fa98daa36955ab30dd4044756cccf382210a6548069d2f740094c29bdd10ba9bb0db0ca7a7db5fdaf2217c59ff5e0bce136 +Tag = fbc8e65c + +Count = 11 +Key = 92666e547ca6722278bc41f78c606014 +IV = 2e9733e8dc10ca3964e96b56839fbce9969f5f821fdf2f278e5465b6cf3fac8ed407d04b602209a0c97c14b710f6a3f29f65a1599869139f8061824745ad4470406956d3018eec8ff2584164db279a5a5f724030fa8478e7dacb949e473dee12332fd611bd66b06faa380b57b530a5cac30f3aacd607233c22460240edad253d +PT = 97ce2ebd1850551b96813179b2bad2270eccf7195fe70273c9b4045e68a501781e47f808cb248326cb6425635db1d516ec760f +AAD = 20d0f02f1346ed9c8a697a5b507ed482033a177d4a71bd694b1533e94b72aaf54e48be64b6f7a30b2c6e94a00159ad60ce84d677d035790591a00e8068275e5caebe185bdb14ad24ab41e8fa3d0f4e19f57a390707efcd191cd0 +CT = 44af16eb4079f52009592436a0f1d7373a992fb5679c048466804495b9e1264e8292afe33c2661e30d3c2fedab5963bf0c63f5 +Tag = 917b6024 + +Count = 12 +Key = d3f7d84e2a2f2e45e19e7dd4432f6cbb +IV = bf1b1afa5c28d0f6883a12a4eb984ee8edd3c75e91d44628eb1133bad58506285961fd3d2d3f671788895a55824022c4b5a2ee0e470124c9b7cc00d6082e95991deedff69e366e9eb96a9e814e58e89c58abb224dc13d78db68797bbccdacf082f8563cc4c40137203c206476668482d51eee902c7e3344e7355ac18b61d3e1a +PT = e02d21da508ab1157ec2aee2c18a924a34b84d7746bba79da3662402c111d686fb5f50a8831f01623e1b22f1a79b2cd014d715 +AAD = 951ea13d95700d0c97e12df456280532ef86260307cf95375211b7fb44c3eb50ddeb5ef350714ac2c620ef8f66eb0da1796915400210568360d571e58de7d30e06b812112069667370376812e4e593362226997fe2947ded6371 +CT = d948b5f4f415423b656abf715c9fc756f90117f694b32961fa8f4bf003cffd463716644eef0ce5919dca38788e0df24a7d1367 +Tag = 19a23818 + +Count = 13 +Key = 357e9c3ab5323ff141bdf17228b80a61 +IV = de8cd40a5db81e8b7083807a8a5c16d4808f48c52a56c68b77edb01b563f80513518eac2672c8f5524aa6e3850337233c693dec99a547cf6599dc33a6d89763e5f91d9a74715c9a635ed1931403b2fbec8be85f287506ed4bd7da3c6e2b25e29becf9466f4abdf3b0daa4818a7f31563fb5be7aba7cbd53c6522331fc04d4573 +PT = 995142af8870fd1c805aa9919f76485dc1fed5ead1e8366633ef09db5595c1a305bd10d945409148744d3998aba6434172087f +AAD = 863ebc2231af641f620f618567007847057146db69b1066dc1c4464d251729eb6ea3871d3e997e71a963439e9d81691a7196ddd439748e795a2cc62b8382a61e79863259cb643851f9a271130e0f9f54e15f0dc3ec8b27084c39 +CT = fc12b78280d4a9eef7d536f2f5b3b3d63cf641e07f6b91332b9200d224632c5b1ee41ee136693bf0c26d569e998d9a09ad24f8 +Tag = c0f7d0e6 + +Count = 14 +Key = 0e00c76561d2bd9b40c3c15427e2b08f +IV = 492cadaccd3ca3fbc9cf9f06eb3325c4e159850b0dbe98199b89b7af528806610b6f63998e1eae80c348e74cbb921d8326631631fc6a5d304f39166daf7ea15fa1977f101819adb510b50fe9932e12c5a85aa3fd1e73d8d760af218be829903a77c63359d75edd91b4f6ed5465a72662f5055999e059e7654a8edc921aa0d496 +PT = fef03c2d7fb15bf0d2df18007d99f967c878ad59359034f7bb2c19af120685d78e32f6b8b83b032019956ca9c0195721476b85 +AAD = d8f1163d8c840292a2b2dacf4ac7c36aff8733f18fabb4fa5594544125e03d1e6e5d6d0fd61656c8d8f327c92839ae5539bb469c9257f109ebff85aad7bd220fdaa95c022dbd0c7bb2d878ad504122c943045d3c5eba8f1f56c0 +CT = 4f6cf471be7cbd2575cd5a1747aea8fe9dea83e51936beac3e68f66206922060c697ffa7af80ad6bb68f2cf4fc97416ee52abe +Tag = e20b6655 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCMMT2.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCMMT2.rsp new file mode 100644 index 000000000..e05daa1da --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCMMT2.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for CBC +# State : Encrypt and Decrypt +# Thu Apr 21 10:35:12 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = 34a41a8c293176c1 +KEY2 = b30732ecfe38ae8a +KEY3 = 34a41a8c293176c1 +IV = f55b4855228bd0b4 +PLAINTEXT = 7dd880d2a9ab411c +CIPHERTEXT = c91892948b6cadb4 + +COUNT = 1 +KEY1 = 70a88fa1dfb9942f +KEY2 = a77f40157ffef2ad +KEY3 = 70a88fa1dfb9942f +IV = ece08ce2fdc6ce80 +PLAINTEXT = bc225304d5a3a5c9918fc5006cbc40cc +CIPHERTEXT = 27f67dc87af7ddb4b68f63fa7c2d454a + +COUNT = 2 +KEY1 = e091790be55be0bc +KEY2 = 0780153861a84adc +KEY3 = e091790be55be0bc +IV = fd7d430f86fbbffe +PLAINTEXT = 03c7fffd7f36499c703dedc9df4de4a92dd4382e576d6ae9 +CIPHERTEXT = 053aeba85dd3a23bfbe8440a432f9578f312be60fb9f0035 + +COUNT = 3 +KEY1 = 857feacd16157c58 +KEY2 = e5347a70e56e578a +KEY3 = 857feacd16157c58 +IV = 002dcb6d46ef0969 +PLAINTEXT = 1f13701c7f0d7385307507a18e89843ebd295bd5e239ef109347a6898c6d3fd5 +CIPHERTEXT = a0e4edde34f05bd8397ce279e49853e9387ba04be562f5fa19c3289c3f5a3391 + +COUNT = 4 +KEY1 = a173545b265875ba +KEY2 = 852331fbb95b49a8 +KEY3 = a173545b265875ba +IV = ab385756391d364c +PLAINTEXT = d08894c565608d9ae51dda63b85b3b33b1703bb5e4f1abcbb8794e743da5d6f3bf630f2e9b6d5b54 +CIPHERTEXT = 370b47acf89ac6bdbb13c9a7336787dc41e1ad8beead32281d0609fb54968404bdf2894892590658 + +COUNT = 5 +KEY1 = 26376bcb2f23df10 +KEY2 = 83cd684fe00ed3c7 +KEY3 = 26376bcb2f23df10 +IV = 33acfb0f3d240ea6 +PLAINTEXT = 903a1911da1e6877f23c1985a9b61786ef438e0ce1240885035ad60fc916b18e5d71a1fb9c5d1eff61db75c0076f6efb +CIPHERTEXT = 7a4f7510f6ec0b93e2495d21a8355684d303a770ebda2e0e51ff33d72b20cb73e58e2e3de2ef6b2e12c504c0f181ba63 + +COUNT = 6 +KEY1 = 3e1f98135d027cec +KEY2 = 752f67765408a791 +KEY3 = 3e1f98135d027cec +IV = 11f5f2304b28f68b +PLAINTEXT = 7c022f5af24f7925d323d4d0e20a2ce49272c5e764b22c806f4b6ddc406d864fe5bd1c3f45556d3eb30c8676c2f8b54a5a32423a0bd95a07 +CIPHERTEXT = 2bb4b131fa4ae0b4f0378a2cdb68556af6eee837613016d7ea936f3931f25f8b3ae351d5e9d00be665676e2400408b5db9892d95421e7f1a + +COUNT = 7 +KEY1 = 13b9d549cd136ec7 +KEY2 = bf9e9810ef2cdcbf +KEY3 = 13b9d549cd136ec7 +IV = a82c1b1057badcc8 +PLAINTEXT = 1fff1563bc1645b55cb23ea34a0049dfc06607150614b621dedcb07f20433402a2d869c95ac4a070c7a3da838c928a385f899c5d21ecb58f4e5cbdad98d39b8c +CIPHERTEXT = 75f804d4a2c542a31703e23df26cc38861a0729090e6eae5672c1db8c0b09fba9b125bbca7d6c7d330b3859e6725c6d26de21c4e3af7f5ea94df3cde2349ce37 + +COUNT = 8 +KEY1 = 20320dfdad579bb5 +KEY2 = 7c6e4acd769dbadf +KEY3 = 20320dfdad579bb5 +IV = 879201b5857ccdea +PLAINTEXT = 0431283cc8bb4dc7750a9d5c68578486932091632a12d0a79f2c54e3d122130881fff727050f317a40fcd1a8d13793458b99fc98254ba6a233e3d95b55cf5a3faff78809999ea4bf +CIPHERTEXT = 85d17840eb2af5fc727027336bfd71a2b31bd14a1d9eb64f8a08bfc4f56eaa9ca7654a5ae698287869cc27324813730de4f1384e0b8cfbc472ff5470e3c5e4bd8ceb23dc2d91988c + +COUNT = 9 +KEY1 = 23abb073a2df34cb +KEY2 = 3d1fdce6b092582c +KEY3 = 23abb073a2df34cb +IV = 7d7fbf19e8562d32 +PLAINTEXT = 31e718fd95e6d7ca4f94763191add2674ab07c909d88c486916c16d60a048a0cf8cdb631cebec791362cd0c202eb61e166b65c1f65d0047c8aec57d3d84b9e17032442dce148e1191b06a12c284cc41e +CIPHERTEXT = c9a3f75ab6a7cd08a7fd53ca540aafe731d257ee1c379fadcc4cc1a06e7c12bddbeb7562c436d1da849ed072629e82a97b56d9becc25ff4f16f21c5f2a01911604f0b5c49df96cb641faee662ca8aa68 + +[DECRYPT] + +COUNT = 0 +KEY1 = 4ff47fda89209bda +KEY2 = 8c85f7fe80192007 +KEY3 = 4ff47fda89209bda +IV = d5bc4891dabe48b9 +CIPHERTEXT = 7e154b28c353adef +PLAINTEXT = 712b961ea9a1d0af + +COUNT = 1 +KEY1 = 464092cdbf736d38 +KEY2 = fb1fe6a12a94ae0e +KEY3 = 464092cdbf736d38 +IV = 5423455f00023b01 +CIPHERTEXT = 3f6050b74ed64416bc23d53b0469ed7a +PLAINTEXT = 9cbe7d1b5cdd1864c3095ba810575960 + +COUNT = 2 +KEY1 = 94ec51d65bf85491 +KEY2 = 0261c20d10dca1c7 +KEY3 = 94ec51d65bf85491 +IV = 28fb4de3b00d564d +CIPHERTEXT = c962a7dda0d6a3206cf01d979505675ba118c9a6b34e23e4 +PLAINTEXT = c48c01bfa6458440ce5995d7999f846e2cf57e66df629a49 + +COUNT = 3 +KEY1 = 5ef8b5c4fd92ce0d +KEY2 = c85b130d68618652 +KEY3 = 5ef8b5c4fd92ce0d +IV = 33f64776b2116edd +CIPHERTEXT = 88a909ca55fe1aabb902c0eca47408703e71f44828a0d88105ae05403afaa512 +PLAINTEXT = dec866a615b15e530f9b2080dabf419dc8f5776856b81377664a73f3ce07c349 + +COUNT = 4 +KEY1 = 457fa8d5b5985223 +KEY2 = 45cbef57c8ead323 +KEY3 = 457fa8d5b5985223 +IV = 3a6f5488f19e0fc2 +CIPHERTEXT = 5e3687fa9e28dbb870cbe5087cfb9a588343ed1d375b457550ef2e0adca24e3ad6539c76fb9fcce8 +PLAINTEXT = 1c36c6a2ecb83d865e9c10f8294a338ca3394498756e925a826a8aa4be5b21116fbc3536d263437c + +COUNT = 5 +KEY1 = 0b5d027367709298 +KEY2 = ef920875f880547a +KEY3 = 0b5d027367709298 +IV = c8eb0366a94d090a +CIPHERTEXT = da6b8b231fd1f743d1c34c04979a911bdf59c855d3d87edb8822a1b4791b928b35667bb35485e368af427f58d14e4b62 +PLAINTEXT = 18cb7e51de8e909f284da683749c97a48da5a2c93421f5824d103fe3dfa8cd636cff12cb3dfdf596356fdd297f991393 + +COUNT = 6 +KEY1 = 9ed52fa267a77ab6 +KEY2 = 32ecbf733ed51583 +KEY3 = 9ed52fa267a77ab6 +IV = 2c0d2bc48f1e8f0f +CIPHERTEXT = f193bdc21c03d9629c9fefaa64a410f5b7524f9cd5fd80b2d96140f1e23636f3710498a61239f0fa3f7920dc8135a368d87f175a5d1cf8c6 +PLAINTEXT = ec08f3ef4bd6fb380f2816038ce98fba7f29c5d84c363103b0b1069cfac24c404e95722f8cd3688a4813a2513eb5170b9980a097beca7bdb + +COUNT = 7 +KEY1 = 9102ef52e3769b83 +KEY2 = 62fb1f614397d6da +KEY3 = 9102ef52e3769b83 +IV = e134c524c2ecd2a4 +CIPHERTEXT = 7441cff6028b55729dcaa98d4df7a8398abb2d77a13c93cb5a3775edd84fb8c2c0a4cc8a9ea82e5b842e32cef4c4fff8ff43db9cafa4a99ea315afbbf94c9d78 +PLAINTEXT = 695a64404b1384170b63fce574a3c21798b0eceb35e891f4ce87e0e393b1924dac319721971e1b6314bbff6149a2d20691cbc0d490f5c1248cc177c2a82586a5 + +COUNT = 8 +KEY1 = 5715855bd61c0b37 +KEY2 = 83fdb96d4ab3a8ae +KEY3 = 5715855bd61c0b37 +IV = c127aaf3d080494e +CIPHERTEXT = a671c5dcd0fa5dc158fbcb62f6e218b39e5e87fa49157829f8968c6bf68e0afd5e3e823fde2cb00bba19a24514341db36a8d3e0f60cc5d5bc0233675bf814beb82098410e0c21950 +PLAINTEXT = 293f13e707ba7fefab80d8c1d821b6820f5803bfd094726f1d7f199319e5d3926d7e8576443d3eb769f77d1bd8cc9e656d6cacebf580950b1c0276de9f617f16cbefbb44d6f73df2 + +COUNT = 9 +KEY1 = 9eec31d3d38ae63e +KEY2 = a49d6e7fb602b592 +KEY3 = 9eec31d3d38ae63e +IV = 4adacd3d81a84c43 +CIPHERTEXT = f9a5491096a8f532fd49ceb29b5345cf05153d6cdeb61108fcc9d9f0c621e9b3e0e79bd70be94fca4635af1b39e738ead43ff69e34f78ed6c6d382a1ae79b1f16a831d4db2d3f1c7a326c32e1dec1684 +PLAINTEXT = 5d5035230ebb32332b526b1e1c8482c620e5f868d118c20ec13c6614b05990b993b176cfb96ac81668e8d67111ca6ba5f1656195d6f4e9bdd7f758107751d5305537c44d1b49bf8cd1bba37b22e6da77 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCMMT3.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCMMT3.rsp new file mode 100644 index 000000000..9797ab0c4 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCMMT3.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for CBC +# State : Encrypt and Decrypt +# Thu Apr 21 10:34:48 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = b5cb1504802326c7 +KEY2 = 3df186e3e352a20d +KEY3 = e643b0d63ee30e37 +IV = 43f791134c5647ba +PLAINTEXT = dcc153cef81d6f24 +CIPHERTEXT = 92538bd8af18d3ba + +COUNT = 1 +KEY1 = a49d7564199e97cb +KEY2 = 529d2c9d97bf2f98 +KEY3 = d35edf57ba1f7358 +IV = c2e999cb6249023c +PLAINTEXT = c689aee38a301bb316da75db36f110b5 +CIPHERTEXT = e9afaba5ec75ea1bbe65506655bb4ecb + +COUNT = 2 +KEY1 = 1a5d4c0825072a15 +KEY2 = a8ad9dfdaeda8c04 +KEY3 = 8adffb85bc4fced0 +IV = 7fcfa736f7548b6f +PLAINTEXT = 983c3edacd939406010e1bc6ff9e12320ac5008117fa8f84 +CIPHERTEXT = d84fa24f38cf451ca2c9adc960120bd8ff9871584fe31cee + +COUNT = 3 +KEY1 = d98aadc76d4a3716 +KEY2 = 158c32866efbb9ce +KEY3 = 834af2297379a49d +IV = 3c5220327c502b44 +PLAINTEXT = 6174079dda53ca723ebf00a66837f8d5ce648c08acaa5ee45ffe62210ef79d3e +CIPHERTEXT = f5bd4d600bed77bec78409e3530ebda1d815506ed53103015b87e371ae000958 + +COUNT = 4 +KEY1 = ef6d3e54266d978f +KEY2 = fb0b8ce6689d803e +KEY3 = 2cd34cc802fd0252 +IV = 38bae5bce06d0ad9 +PLAINTEXT = c4f228b537223cd01c0debb5d9d4e12ba71656618d119b2f8f0af29d23efa3a9e43c4c458a1b79a0 +CIPHERTEXT = 9e3289fb18379f55aa4e45a7e0e6df160b33b75f8627ad0954f8fdcb78cee55a4664caeda1000fe5 + +COUNT = 5 +KEY1 = 625bc19b19df83ab +KEY2 = fb2f5bec9d4f2062 +KEY3 = 017525a75bc26e70 +IV = bd0cff364ff69a91 +PLAINTEXT = 8152d2ab876c3c8201403a5a406d3feaf27319dbea6ad01e24f4d18203704b86de70da6bbb6d638e5aba3ff576b79b28 +CIPHERTEXT = 706fe7a973fac40e25b2b4499ce527078944c70e976d017b6af86a3a7a6b52943a72ba18a58000d2b61fdc3bfef2bc4a + +COUNT = 6 +KEY1 = b6383176046e6880 +KEY2 = a1023bf45768b5bf +KEY3 = 5119022fe054bfe5 +IV = ec13ca541c43401e +PLAINTEXT = cd5a886e9af011346c4dba36a424f96a78a1ddf28aaa4188bf65451f4efaffc7179a6dd237c0ae35d9b672314e5cb032612597f7e462c6f3 +CIPHERTEXT = b030f976f46277ee211c4a324d5c87555d1084513a1223d3b84416b52bbc28f4b77f3a9d8d0d91dc37d3dbe8af8be98f74674b02f9a38527 + +COUNT = 7 +KEY1 = 3d8cf273d343b9ae +KEY2 = dccddacb91ad8620 +KEY3 = 6737adc86b4a49a7 +IV = bb3a9a0c71c62ef0 +PLAINTEXT = 1fde3991c32ce220b5b6666a9234f2fd7bd24b921829fd9cdc6eb4218be9eac9faa9c2351777349128086b6d58776bc86ff2f76ee1b3b2850a318462b8983fa1 +CIPHERTEXT = 422ce705a46bb52ad928dab6c863166d617c6fc24003633120d91918314bbf464cea7345c3c35f2042f2d6929735d74d7728f22fea618a0b9cf5b1281acb13fb + +COUNT = 8 +KEY1 = fbceb5cb646b925b +KEY2 = e0b92f7f6b493d5e +KEY3 = 5b16e9159732732a +IV = 2e17b3c7025ae86b +PLAINTEXT = 4c309bc8e1e464fdd2a2b8978645d668d455f7526bd8d7b6716a722f6a900b815c4a73cc30e788065c1dfca7bf5958a6cc5440a5ebe7f8691c20278cde95db764ff8ce8994ece89c +CIPHERTEXT = c02129bdf4bbbd75e71605a00b12c80db6b4e05308e916615011f09147ed915dd1bc67f27f9e027e4e13df36b55464a31c11b4d1fe3d855d89df492e1a7201b995c1ba16a8dbabee + +COUNT = 9 +KEY1 = 9b162a0df8ad9b61 +KEY2 = c88676e3d5864345 +KEY3 = 70b902f12a2046e0 +IV = ebd6fefe029ad54b +PLAINTEXT = f4c1c918e77355c8156f0fd778da52bff121ae5f2f44eaf4d2754946d0e10d1f18ce3a0176e69c18b7d20b6e0d0bee5eb5edfe4bd60e4d92adcd86bce72e76f94ee5cbcaa8b01cfddcea2ade575e66ac +CIPHERTEXT = 1ff3c8709f403a8eff291aedf50c010df5c5ff64a8b205f1fce68564798897a390db16ee0d053856b75898009731da290fcc119dad987277aacef694872e880c4bb41471063fae05c89f25e4bd0cad6a + +[DECRYPT] + +COUNT = 0 +KEY1 = 5eb6040d46082c7a +KEY2 = a7d06dfd08dfeac8 +KEY3 = c18364c1548c3ba1 +IV = 41746c7e442d3681 +CIPHERTEXT = c53a7b0ec40600fe +PLAINTEXT = d4f00eb455de1034 + +COUNT = 1 +KEY1 = 5b1cce7c0dc1ec49 +KEY2 = 130dfb4af45785ab +KEY3 = 9179e567f2c7d549 +IV = 3982bc02c3727d45 +CIPHERTEXT = 6006f10adef52991fcc777a1238bbb65 +PLAINTEXT = edae09288e9e3bc05746d872b48e3b29 + +COUNT = 2 +KEY1 = 254acb647907adba +KEY2 = 1ad5ef7a43e383cd +KEY3 = cd588975759e5292 +IV = 5857f24bed725646 +CIPHERTEXT = d4342af5c33adcd67c3e89e64241bbd8131e78ec38c8715c +PLAINTEXT = 64cc69a4f2b9877dad558bd7b5e6a78268e4978bb39845a1 + +COUNT = 3 +KEY1 = 86838c6815c25b97 +KEY2 = 5bdc10f4b95145e6 +KEY3 = 49fdefdcf4754ab9 +IV = 4b1992ad38b4d6dd +CIPHERTEXT = cb78b6deaca11379094341f5c2cfb977bba8259482341f0a32323cae974e49a6 +PLAINTEXT = f5f94e406cec1b85e9a7c076b95456b6a439921591abbfc381d0bbf363ff5c04 + +COUNT = 4 +KEY1 = 34e68f58ecc71f4a +KEY2 = d504e0b6e085a7c7 +KEY3 = 1c9bd38610737949 +IV = dfee6ce5d36b2c3d +CIPHERTEXT = 374ec363fa84e7e7e2ae011427b79d5852923557452c52827c9ff4eb92a83457075b28954015070f +PLAINTEXT = fb5c4ad0525832b2d3594981b920c65c1029ddfa054d271c5a99a853f4b6de5d6da41d8bdc2c7ede + +COUNT = 5 +KEY1 = dccbe0ad199b26fb +KEY2 = d0f89d86c2d62aab +KEY3 = cb4f4c23dcdf7651 +IV = 73c925a55dc15ce2 +CIPHERTEXT = 1b566c871114932f03bb68917bbd66cd646872c46fba6187b676bb0ea077be2e0445a6c591e62c386df74d1f1cfb4c3e +PLAINTEXT = 007c436de5bd97850e51339a257c9796a9e53100de00959deebae4c27c62f512defadca7c9a4bbf2243f3f409c11d281 + +COUNT = 6 +KEY1 = 0145d5831570572a +KEY2 = 988a70ae92bcaeba +KEY3 = e9d937feb945adba +IV = 528fac8461ccf9d4 +CIPHERTEXT = 188607517e89a4d042b5f59ed6498d16f3a5a1a425b7b2da89b76cc0d514cf6c9aae8cd3c645b2df6d3189c2c954be897f4ec1f423ef6c85 +PLAINTEXT = 9e8c6589d776b75ee82c067f318ffb6cc12a8aeffb8f0c28d699f1e2f17489411cd1ec9c7f279928221943001c435302d81fad63d038346d + +COUNT = 7 +KEY1 = 1675e5a42697d02f +KEY2 = 9e8308948a07e015 +KEY3 = 3107fbae16bfda37 +IV = 328c1857e19ec9d9 +CIPHERTEXT = a653dc3e12d737bc33e9e160a0d6c203234ca3dc626bee3cbf1fb57c7caef634238d1eae2578cb9bc1c1d60427e99183de6d4db263e220e41344e5134a8c831a +PLAINTEXT = 4d0713639589f9b75d0ef038a4b3ad5cd8a6cb59a8a0bd055ad7c8424d5a35433092bf95b3898af93538a0085b6a788093b9ff5ee0453adf5e1bf5ac3c8e43e7 + +COUNT = 8 +KEY1 = fbfb1c7a7fd3aec4 +KEY2 = ec40263d4a1fda76 +KEY3 = 68583de986b62f23 +IV = 27506620edc6eb1f +CIPHERTEXT = 25becd4074e3679353fc3812460d7e0c35f3f9556c5307e0e6d10e90cb821a4c37a3c7523d8b62cd2cde4ba910049da67cd911ab87a6205e155168f158d0513e96e3f0172c032cd7 +PLAINTEXT = 40df8b31407fe232f86cb87642567c4232d94866817260d10236680f1ab970e4dbac12693fcc68efd939fdc37404b3f5c32c3a0342b26389eaadb5c90a55bb8c7e28e1d616bb1ce4 + +COUNT = 9 +KEY1 = 524a01b30ddf377a +KEY2 = fdbc077962580738 +KEY3 = 3b9bb952a86849f4 +IV = 69f4af59fe96e79d +CIPHERTEXT = 889d82d2961d440ea1089dec8713884f32cf5a06ca159a4b29a812909016267c98df65306bd95ece33d3b53cd3797625d678a841a4e226d7fcd3aa809e552b2d4881696be4e7c6e60030572c7e023bb4 +PLAINTEXT = d56fa31c1db2978fa11c1dae70252a168b8193f1e0438e723aaf446dad2f5e490a4b53d7bd08e308e030187428ca5f554cb6dbd46f4b68677f4496098d23412c0f8863379e9f8330813836b8d48c987e diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCinvperm.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCinvperm.rsp new file mode 100644 index 000000000..c172babde --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCinvperm.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# INVERSE PERMUTATION - KAT for CBC +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 95f8a5e5dd31d900 +CIPHERTEXT = 8000000000000000 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = dd7f121ca5015619 +CIPHERTEXT = 4000000000000000 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 2e8653104f3834ea +CIPHERTEXT = 2000000000000000 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 4bd388ff6cd81d4f +CIPHERTEXT = 1000000000000000 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 20b9e767b2fb1456 +CIPHERTEXT = 0800000000000000 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 55579380d77138ef +CIPHERTEXT = 0400000000000000 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 6cc5defaaf04512f +CIPHERTEXT = 0200000000000000 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0d9f279ba5d87260 +CIPHERTEXT = 0100000000000000 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = d9031b0271bd5a0a +CIPHERTEXT = 0080000000000000 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 424250b37c3dd951 +CIPHERTEXT = 0040000000000000 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = b8061b7ecd9a21e5 +CIPHERTEXT = 0020000000000000 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = f15d0f286b65bd28 +CIPHERTEXT = 0010000000000000 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = add0cc8d6e5deba1 +CIPHERTEXT = 0008000000000000 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e6d5f82752ad63d1 +CIPHERTEXT = 0004000000000000 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = ecbfe3bd3f591a5e +CIPHERTEXT = 0002000000000000 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = f356834379d165cd +CIPHERTEXT = 0001000000000000 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 2b9f982f20037fa9 +CIPHERTEXT = 0000800000000000 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 889de068a16f0be6 +CIPHERTEXT = 0000400000000000 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e19e275d846a1298 +CIPHERTEXT = 0000200000000000 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 329a8ed523d71aec +CIPHERTEXT = 0000100000000000 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e7fce22557d23c97 +CIPHERTEXT = 0000080000000000 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 12a9f5817ff2d65d +CIPHERTEXT = 0000040000000000 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = a484c3ad38dc9c19 +CIPHERTEXT = 0000020000000000 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = fbe00a8a1ef8ad72 +CIPHERTEXT = 0000010000000000 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 750d079407521363 +CIPHERTEXT = 0000008000000000 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 64feed9c724c2faf +CIPHERTEXT = 0000004000000000 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = f02b263b328e2b60 +CIPHERTEXT = 0000002000000000 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 9d64555a9a10b852 +CIPHERTEXT = 0000001000000000 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = d106ff0bed5255d7 +CIPHERTEXT = 0000000800000000 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e1652c6b138c64a5 +CIPHERTEXT = 0000000400000000 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e428581186ec8f46 +CIPHERTEXT = 0000000200000000 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = aeb5f5ede22d1a36 +CIPHERTEXT = 0000000100000000 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e943d7568aec0c5c +CIPHERTEXT = 0000000080000000 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = df98c8276f54b04b +CIPHERTEXT = 0000000040000000 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = b160e4680f6c696f +CIPHERTEXT = 0000000020000000 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = fa0752b07d9c4ab8 +CIPHERTEXT = 0000000010000000 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = ca3a2b036dbc8502 +CIPHERTEXT = 0000000008000000 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 5e0905517bb59bcf +CIPHERTEXT = 0000000004000000 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 814eeb3b91d90726 +CIPHERTEXT = 0000000002000000 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 4d49db1532919c9f +CIPHERTEXT = 0000000001000000 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 25eb5fc3f8cf0621 +CIPHERTEXT = 0000000000800000 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = ab6a20c0620d1c6f +CIPHERTEXT = 0000000000400000 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 79e90dbc98f92cca +CIPHERTEXT = 0000000000200000 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 866ecedd8072bb0e +CIPHERTEXT = 0000000000100000 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 8b54536f2f3e64a8 +CIPHERTEXT = 0000000000080000 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = ea51d3975595b86b +CIPHERTEXT = 0000000000040000 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = caffc6ac4542de31 +CIPHERTEXT = 0000000000020000 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 8dd45a2ddf90796c +CIPHERTEXT = 0000000000010000 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 1029d55e880ec2d0 +CIPHERTEXT = 0000000000008000 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 5d86cb23639dbea9 +CIPHERTEXT = 0000000000004000 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 1d1ca853ae7c0c5f +CIPHERTEXT = 0000000000002000 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = ce332329248f3228 +CIPHERTEXT = 0000000000001000 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 8405d1abe24fb942 +CIPHERTEXT = 0000000000000800 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e643d78090ca4207 +CIPHERTEXT = 0000000000000400 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 48221b9937748a23 +CIPHERTEXT = 0000000000000200 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = dd7c0bbd61fafd54 +CIPHERTEXT = 0000000000000100 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 2fbc291a570db5c4 +CIPHERTEXT = 0000000000000080 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = e07c30d7e4e26e12 +CIPHERTEXT = 0000000000000040 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0953e2258e8e90a1 +CIPHERTEXT = 0000000000000020 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 5b711bc4ceebf2ee +CIPHERTEXT = 0000000000000010 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = cc083f1e6d9e85f6 +CIPHERTEXT = 0000000000000008 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = d2fd8867d50d2dfe +CIPHERTEXT = 0000000000000004 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 06e7ea22ce92708f +CIPHERTEXT = 0000000000000002 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 166b40b44aba4bd6 +CIPHERTEXT = 0000000000000001 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 8000000000000000 +PLAINTEXT = 95f8a5e5dd31d900 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 4000000000000000 +PLAINTEXT = dd7f121ca5015619 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 2000000000000000 +PLAINTEXT = 2e8653104f3834ea + +COUNT = 3 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 1000000000000000 +PLAINTEXT = 4bd388ff6cd81d4f + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0800000000000000 +PLAINTEXT = 20b9e767b2fb1456 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0400000000000000 +PLAINTEXT = 55579380d77138ef + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0200000000000000 +PLAINTEXT = 6cc5defaaf04512f + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0100000000000000 +PLAINTEXT = 0d9f279ba5d87260 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0080000000000000 +PLAINTEXT = d9031b0271bd5a0a + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0040000000000000 +PLAINTEXT = 424250b37c3dd951 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0020000000000000 +PLAINTEXT = b8061b7ecd9a21e5 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0010000000000000 +PLAINTEXT = f15d0f286b65bd28 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0008000000000000 +PLAINTEXT = add0cc8d6e5deba1 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0004000000000000 +PLAINTEXT = e6d5f82752ad63d1 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0002000000000000 +PLAINTEXT = ecbfe3bd3f591a5e + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0001000000000000 +PLAINTEXT = f356834379d165cd + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000800000000000 +PLAINTEXT = 2b9f982f20037fa9 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000400000000000 +PLAINTEXT = 889de068a16f0be6 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000200000000000 +PLAINTEXT = e19e275d846a1298 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000100000000000 +PLAINTEXT = 329a8ed523d71aec + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000080000000000 +PLAINTEXT = e7fce22557d23c97 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000040000000000 +PLAINTEXT = 12a9f5817ff2d65d + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000020000000000 +PLAINTEXT = a484c3ad38dc9c19 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000010000000000 +PLAINTEXT = fbe00a8a1ef8ad72 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000008000000000 +PLAINTEXT = 750d079407521363 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000004000000000 +PLAINTEXT = 64feed9c724c2faf + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000002000000000 +PLAINTEXT = f02b263b328e2b60 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000001000000000 +PLAINTEXT = 9d64555a9a10b852 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000800000000 +PLAINTEXT = d106ff0bed5255d7 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000400000000 +PLAINTEXT = e1652c6b138c64a5 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000200000000 +PLAINTEXT = e428581186ec8f46 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000100000000 +PLAINTEXT = aeb5f5ede22d1a36 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000080000000 +PLAINTEXT = e943d7568aec0c5c + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000040000000 +PLAINTEXT = df98c8276f54b04b + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000020000000 +PLAINTEXT = b160e4680f6c696f + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000010000000 +PLAINTEXT = fa0752b07d9c4ab8 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000008000000 +PLAINTEXT = ca3a2b036dbc8502 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000004000000 +PLAINTEXT = 5e0905517bb59bcf + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000002000000 +PLAINTEXT = 814eeb3b91d90726 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000001000000 +PLAINTEXT = 4d49db1532919c9f + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000800000 +PLAINTEXT = 25eb5fc3f8cf0621 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000400000 +PLAINTEXT = ab6a20c0620d1c6f + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000200000 +PLAINTEXT = 79e90dbc98f92cca + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000100000 +PLAINTEXT = 866ecedd8072bb0e + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000080000 +PLAINTEXT = 8b54536f2f3e64a8 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000040000 +PLAINTEXT = ea51d3975595b86b + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000020000 +PLAINTEXT = caffc6ac4542de31 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000010000 +PLAINTEXT = 8dd45a2ddf90796c + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000008000 +PLAINTEXT = 1029d55e880ec2d0 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000004000 +PLAINTEXT = 5d86cb23639dbea9 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000002000 +PLAINTEXT = 1d1ca853ae7c0c5f + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000001000 +PLAINTEXT = ce332329248f3228 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000800 +PLAINTEXT = 8405d1abe24fb942 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000400 +PLAINTEXT = e643d78090ca4207 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000200 +PLAINTEXT = 48221b9937748a23 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000100 +PLAINTEXT = dd7c0bbd61fafd54 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000080 +PLAINTEXT = 2fbc291a570db5c4 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000040 +PLAINTEXT = e07c30d7e4e26e12 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000020 +PLAINTEXT = 0953e2258e8e90a1 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000010 +PLAINTEXT = 5b711bc4ceebf2ee + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000008 +PLAINTEXT = cc083f1e6d9e85f6 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000004 +PLAINTEXT = d2fd8867d50d2dfe + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000002 +PLAINTEXT = 06e7ea22ce92708f + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000001 +PLAINTEXT = 166b40b44aba4bd6 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCpermop.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCpermop.rsp new file mode 100644 index 000000000..c89764dea --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCpermop.rsp @@ -0,0 +1,392 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# PERMUTATION OPERATION - KAT for CBC +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 88d55e54f54c97b4 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0c0cc00c83ea48fd + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 83bc8ef3a6570183 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df725dcad94ea2e9 + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e652b53b550be8b0 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = af527120c485cbb0 + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0f04ce393db926d5 + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c9f00ffc74079067 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7cfd82a593252b4e + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cb49a2f9e91363e3 + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 00b588be70d23f56 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 406a9a6ab43399ae + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6cb773611dca9ada + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 67fd21c17dbb5d70 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9592cb4110430787 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a6b7ff68a318ddd3 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4d102196c914ca16 + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2dfa9f4573594965 + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b46604816c0e0774 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6e7e6221a4f34e87 + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aa85e74643233199 + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2e5a19db4d1962d6 + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 23a866a809d30894 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d812d961f017d320 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 055605816e58608f + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = abd88e8b1b7716f1 + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 537ac95be69da1e1 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aed0f6ae3c25cdd8 + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b3e35a5ee53e7b8d + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 61c79c71921a2ef8 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e2f5728f0995013c + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1aeac39a61f0a464 + +[DECRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +CIPHERTEXT = 88d55e54f54c97b4 +PLAINTEXT = 0000000000000000 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +CIPHERTEXT = 0c0cc00c83ea48fd +PLAINTEXT = 0000000000000000 + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +CIPHERTEXT = 83bc8ef3a6570183 +PLAINTEXT = 0000000000000000 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +CIPHERTEXT = df725dcad94ea2e9 +PLAINTEXT = 0000000000000000 + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +CIPHERTEXT = e652b53b550be8b0 +PLAINTEXT = 0000000000000000 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +CIPHERTEXT = af527120c485cbb0 +PLAINTEXT = 0000000000000000 + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +CIPHERTEXT = 0f04ce393db926d5 +PLAINTEXT = 0000000000000000 + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +CIPHERTEXT = c9f00ffc74079067 +PLAINTEXT = 0000000000000000 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +CIPHERTEXT = 7cfd82a593252b4e +PLAINTEXT = 0000000000000000 + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +CIPHERTEXT = cb49a2f9e91363e3 +PLAINTEXT = 0000000000000000 + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +CIPHERTEXT = 00b588be70d23f56 +PLAINTEXT = 0000000000000000 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +CIPHERTEXT = 406a9a6ab43399ae +PLAINTEXT = 0000000000000000 + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +CIPHERTEXT = 6cb773611dca9ada +PLAINTEXT = 0000000000000000 + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +CIPHERTEXT = 67fd21c17dbb5d70 +PLAINTEXT = 0000000000000000 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +CIPHERTEXT = 9592cb4110430787 +PLAINTEXT = 0000000000000000 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +CIPHERTEXT = a6b7ff68a318ddd3 +PLAINTEXT = 0000000000000000 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +CIPHERTEXT = 4d102196c914ca16 +PLAINTEXT = 0000000000000000 + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +CIPHERTEXT = 2dfa9f4573594965 +PLAINTEXT = 0000000000000000 + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +CIPHERTEXT = b46604816c0e0774 +PLAINTEXT = 0000000000000000 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +CIPHERTEXT = 6e7e6221a4f34e87 +PLAINTEXT = 0000000000000000 + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +CIPHERTEXT = aa85e74643233199 +PLAINTEXT = 0000000000000000 + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +CIPHERTEXT = 2e5a19db4d1962d6 +PLAINTEXT = 0000000000000000 + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +CIPHERTEXT = 23a866a809d30894 +PLAINTEXT = 0000000000000000 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +CIPHERTEXT = d812d961f017d320 +PLAINTEXT = 0000000000000000 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +CIPHERTEXT = 055605816e58608f +PLAINTEXT = 0000000000000000 + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +CIPHERTEXT = abd88e8b1b7716f1 +PLAINTEXT = 0000000000000000 + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +CIPHERTEXT = 537ac95be69da1e1 +PLAINTEXT = 0000000000000000 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +CIPHERTEXT = aed0f6ae3c25cdd8 +PLAINTEXT = 0000000000000000 + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +CIPHERTEXT = b3e35a5ee53e7b8d +PLAINTEXT = 0000000000000000 + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +CIPHERTEXT = 61c79c71921a2ef8 +PLAINTEXT = 0000000000000000 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +CIPHERTEXT = e2f5728f0995013c +PLAINTEXT = 0000000000000000 + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +CIPHERTEXT = 1aeac39a61f0a464 +PLAINTEXT = 0000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCsubtab.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCsubtab.rsp new file mode 100644 index 000000000..d043df4d3 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCsubtab.rsp @@ -0,0 +1,236 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# SUBSTITUTION TABLE - KAT for CBC +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 0000000000000000 +PLAINTEXT = 01a1d6d039776742 +CIPHERTEXT = 690f5b0d9a26939b + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 0000000000000000 +PLAINTEXT = 5cd54ca83def57da +CIPHERTEXT = 7a389d10354bd271 + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0000000000000000 +PLAINTEXT = 0248d43806f67172 +CIPHERTEXT = 868ebb51cab4599a + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 0000000000000000 +PLAINTEXT = 51454b582ddf440a +CIPHERTEXT = 7178876e01f19b2a + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 0000000000000000 +PLAINTEXT = 42fd443059577fa2 +CIPHERTEXT = af37fb421f8c4095 + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 0000000000000000 +PLAINTEXT = 059b5e0851cf143a +CIPHERTEXT = 86a560f10ec6d85b + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0000000000000000 +PLAINTEXT = 0756d8e0774761d2 +CIPHERTEXT = 0cd3da020021dc09 + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 0000000000000000 +PLAINTEXT = 762514b829bf486a +CIPHERTEXT = ea676b2cb7db2b7a + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 0000000000000000 +PLAINTEXT = 3bdd119049372802 +CIPHERTEXT = dfd64a815caf1a0f + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 0000000000000000 +PLAINTEXT = 26955f6835af609a +CIPHERTEXT = 5c513c9c4886c088 + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 0000000000000000 +PLAINTEXT = 164d5e404f275232 +CIPHERTEXT = 0a2aeeae3ff4ab77 + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 0000000000000000 +PLAINTEXT = 6b056e18759f5cca +CIPHERTEXT = ef1bf03e5dfa575a + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 0000000000000000 +PLAINTEXT = 004bd6ef09176062 +CIPHERTEXT = 88bf0db6d70dee56 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 0000000000000000 +PLAINTEXT = 480d39006ee762f2 +CIPHERTEXT = a1f9915541020b56 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 0000000000000000 +PLAINTEXT = 437540c8698f3cfa +CIPHERTEXT = 6fbf1cafcffd0556 + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 0000000000000000 +PLAINTEXT = 072d43a077075292 +CIPHERTEXT = 2f22e49bab7ca1ac + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 0000000000000000 +PLAINTEXT = 02fe55778117f12a +CIPHERTEXT = 5a6b612cc26cce4a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 0000000000000000 +PLAINTEXT = 1d9d5c5018f728c2 +CIPHERTEXT = 5f4c038ed12b2e41 + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 0000000000000000 +PLAINTEXT = 305532286d6f295a +CIPHERTEXT = 63fac0d034d9f793 + +[DECRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 0000000000000000 +CIPHERTEXT = 690f5b0d9a26939b +PLAINTEXT = 01a1d6d039776742 + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 0000000000000000 +CIPHERTEXT = 7a389d10354bd271 +PLAINTEXT = 5cd54ca83def57da + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0000000000000000 +CIPHERTEXT = 868ebb51cab4599a +PLAINTEXT = 0248d43806f67172 + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 0000000000000000 +CIPHERTEXT = 7178876e01f19b2a +PLAINTEXT = 51454b582ddf440a + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 0000000000000000 +CIPHERTEXT = af37fb421f8c4095 +PLAINTEXT = 42fd443059577fa2 + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 0000000000000000 +CIPHERTEXT = 86a560f10ec6d85b +PLAINTEXT = 059b5e0851cf143a + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0000000000000000 +CIPHERTEXT = 0cd3da020021dc09 +PLAINTEXT = 0756d8e0774761d2 + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 0000000000000000 +CIPHERTEXT = ea676b2cb7db2b7a +PLAINTEXT = 762514b829bf486a + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 0000000000000000 +CIPHERTEXT = dfd64a815caf1a0f +PLAINTEXT = 3bdd119049372802 + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 0000000000000000 +CIPHERTEXT = 5c513c9c4886c088 +PLAINTEXT = 26955f6835af609a + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 0000000000000000 +CIPHERTEXT = 0a2aeeae3ff4ab77 +PLAINTEXT = 164d5e404f275232 + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 0000000000000000 +CIPHERTEXT = ef1bf03e5dfa575a +PLAINTEXT = 6b056e18759f5cca + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 0000000000000000 +CIPHERTEXT = 88bf0db6d70dee56 +PLAINTEXT = 004bd6ef09176062 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 0000000000000000 +CIPHERTEXT = a1f9915541020b56 +PLAINTEXT = 480d39006ee762f2 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 0000000000000000 +CIPHERTEXT = 6fbf1cafcffd0556 +PLAINTEXT = 437540c8698f3cfa + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 0000000000000000 +CIPHERTEXT = 2f22e49bab7ca1ac +PLAINTEXT = 072d43a077075292 + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 0000000000000000 +CIPHERTEXT = 5a6b612cc26cce4a +PLAINTEXT = 02fe55778117f12a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 0000000000000000 +CIPHERTEXT = 5f4c038ed12b2e41 +PLAINTEXT = 1d9d5c5018f728c2 + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 0000000000000000 +CIPHERTEXT = 63fac0d034d9f793 +PLAINTEXT = 305532286d6f295a + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCvarkey.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCvarkey.rsp new file mode 100644 index 000000000..e1bae8e97 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCvarkey.rsp @@ -0,0 +1,680 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE KEY - KAT for CBC +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 95a8d72813daa94d + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0eec1487dd8c26d5 + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7ad16ffb79c45926 + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d3746294ca6a6cf3 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 809f5f873c1fd761 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c02faffec989d1fc + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4615aa1d33e72f10 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2055123350c00858 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df3b99d6577397c8 + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 31fe17369b5288c9 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dfdd3cc64dae1642 + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 178c83ce2b399d94 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 50f636324a9b7f80 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a8468ee3bc18f06d + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a2dc9e92fd3cde92 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cac09f797d031287 + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 90ba680b22aeb525 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ce7a24f350e280b6 + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 882bff0aa01a0b87 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 25610288924511c2 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c71516c29c75d170 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5199c29a52c9f059 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c22f0a294a71f29f + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ee371483714c02ea + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a81fbd448f9e522f + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4f644c92e192dfed + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1afa9a66a6df92ae + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b3c1cc715cb879d8 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 19d032e64ab0bd8b + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 3cfaa7a7dc8720dc + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b7265f7f447ac6f3 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9db73b3c0d163f54 + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8181b65babf4a975 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 93c9b64042eaa240 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5570530829705592 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8638809e878787a0 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 41b9a79af79ac208 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7a9be42f2009a892 + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 29038d56ba6d2745 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5495c6abf1e5df51 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ae13dbd561488933 + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 024d1ffa8904e389 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d1399712f99bf02e + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 14c1d7c1cffec79e + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1de5279dae3bed6f + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e941a33f85501303 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = da99dbbc9a03f379 + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b7fc92f91d8e92e9 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ae8e5caa3ca04e85 + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9cc62df43b6eed74 + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d863dbb5c59a91a0 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a1ab2190545b91d7 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0875041e64c570f7 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5a594528bebef1cc + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = fcdb3291de21f0c0 + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 869efd7f9f265a09 + +[DECRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 95a8d72813daa94d +PLAINTEXT = 0000000000000000 + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0eec1487dd8c26d5 +PLAINTEXT = 0000000000000000 + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 7ad16ffb79c45926 +PLAINTEXT = 0000000000000000 + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +CIPHERTEXT = d3746294ca6a6cf3 +PLAINTEXT = 0000000000000000 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +CIPHERTEXT = 809f5f873c1fd761 +PLAINTEXT = 0000000000000000 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +CIPHERTEXT = c02faffec989d1fc +PLAINTEXT = 0000000000000000 + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +CIPHERTEXT = 4615aa1d33e72f10 +PLAINTEXT = 0000000000000000 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +CIPHERTEXT = 2055123350c00858 +PLAINTEXT = 0000000000000000 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +CIPHERTEXT = df3b99d6577397c8 +PLAINTEXT = 0000000000000000 + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +CIPHERTEXT = 31fe17369b5288c9 +PLAINTEXT = 0000000000000000 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +CIPHERTEXT = dfdd3cc64dae1642 +PLAINTEXT = 0000000000000000 + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +CIPHERTEXT = 178c83ce2b399d94 +PLAINTEXT = 0000000000000000 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +CIPHERTEXT = 50f636324a9b7f80 +PLAINTEXT = 0000000000000000 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +CIPHERTEXT = a8468ee3bc18f06d +PLAINTEXT = 0000000000000000 + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +CIPHERTEXT = a2dc9e92fd3cde92 +PLAINTEXT = 0000000000000000 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +CIPHERTEXT = cac09f797d031287 +PLAINTEXT = 0000000000000000 + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +CIPHERTEXT = 90ba680b22aeb525 +PLAINTEXT = 0000000000000000 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +CIPHERTEXT = ce7a24f350e280b6 +PLAINTEXT = 0000000000000000 + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +CIPHERTEXT = 882bff0aa01a0b87 +PLAINTEXT = 0000000000000000 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +CIPHERTEXT = 25610288924511c2 +PLAINTEXT = 0000000000000000 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +CIPHERTEXT = c71516c29c75d170 +PLAINTEXT = 0000000000000000 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +CIPHERTEXT = 5199c29a52c9f059 +PLAINTEXT = 0000000000000000 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +CIPHERTEXT = c22f0a294a71f29f +PLAINTEXT = 0000000000000000 + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +CIPHERTEXT = ee371483714c02ea +PLAINTEXT = 0000000000000000 + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +CIPHERTEXT = a81fbd448f9e522f +PLAINTEXT = 0000000000000000 + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +CIPHERTEXT = 4f644c92e192dfed +PLAINTEXT = 0000000000000000 + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +CIPHERTEXT = 1afa9a66a6df92ae +PLAINTEXT = 0000000000000000 + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +CIPHERTEXT = b3c1cc715cb879d8 +PLAINTEXT = 0000000000000000 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +CIPHERTEXT = 19d032e64ab0bd8b +PLAINTEXT = 0000000000000000 + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +CIPHERTEXT = 3cfaa7a7dc8720dc +PLAINTEXT = 0000000000000000 + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +CIPHERTEXT = b7265f7f447ac6f3 +PLAINTEXT = 0000000000000000 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +CIPHERTEXT = 9db73b3c0d163f54 +PLAINTEXT = 0000000000000000 + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +CIPHERTEXT = 8181b65babf4a975 +PLAINTEXT = 0000000000000000 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +CIPHERTEXT = 93c9b64042eaa240 +PLAINTEXT = 0000000000000000 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +CIPHERTEXT = 5570530829705592 +PLAINTEXT = 0000000000000000 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +CIPHERTEXT = 8638809e878787a0 +PLAINTEXT = 0000000000000000 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +CIPHERTEXT = 41b9a79af79ac208 +PLAINTEXT = 0000000000000000 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +CIPHERTEXT = 7a9be42f2009a892 +PLAINTEXT = 0000000000000000 + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +CIPHERTEXT = 29038d56ba6d2745 +PLAINTEXT = 0000000000000000 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +CIPHERTEXT = 5495c6abf1e5df51 +PLAINTEXT = 0000000000000000 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +CIPHERTEXT = ae13dbd561488933 +PLAINTEXT = 0000000000000000 + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +CIPHERTEXT = 024d1ffa8904e389 +PLAINTEXT = 0000000000000000 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +CIPHERTEXT = d1399712f99bf02e +PLAINTEXT = 0000000000000000 + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +CIPHERTEXT = 14c1d7c1cffec79e +PLAINTEXT = 0000000000000000 + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +CIPHERTEXT = 1de5279dae3bed6f +PLAINTEXT = 0000000000000000 + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +CIPHERTEXT = e941a33f85501303 +PLAINTEXT = 0000000000000000 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +CIPHERTEXT = da99dbbc9a03f379 +PLAINTEXT = 0000000000000000 + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +CIPHERTEXT = b7fc92f91d8e92e9 +PLAINTEXT = 0000000000000000 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +CIPHERTEXT = ae8e5caa3ca04e85 +PLAINTEXT = 0000000000000000 + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +CIPHERTEXT = 9cc62df43b6eed74 +PLAINTEXT = 0000000000000000 + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +CIPHERTEXT = d863dbb5c59a91a0 +PLAINTEXT = 0000000000000000 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +CIPHERTEXT = a1ab2190545b91d7 +PLAINTEXT = 0000000000000000 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +CIPHERTEXT = 0875041e64c570f7 +PLAINTEXT = 0000000000000000 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +CIPHERTEXT = 5a594528bebef1cc +PLAINTEXT = 0000000000000000 + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +CIPHERTEXT = fcdb3291de21f0c0 +PLAINTEXT = 0000000000000000 + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +CIPHERTEXT = 869efd7f9f265a09 +PLAINTEXT = 0000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCvartext.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCvartext.rsp new file mode 100644 index 000000000..6864d170e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCBCvartext.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CBC +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 8000000000000000 +CIPHERTEXT = 95f8a5e5dd31d900 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 4000000000000000 +CIPHERTEXT = dd7f121ca5015619 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 2000000000000000 +CIPHERTEXT = 2e8653104f3834ea + +COUNT = 3 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 1000000000000000 +CIPHERTEXT = 4bd388ff6cd81d4f + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0800000000000000 +CIPHERTEXT = 20b9e767b2fb1456 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0400000000000000 +CIPHERTEXT = 55579380d77138ef + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0200000000000000 +CIPHERTEXT = 6cc5defaaf04512f + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0100000000000000 +CIPHERTEXT = 0d9f279ba5d87260 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0080000000000000 +CIPHERTEXT = d9031b0271bd5a0a + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0040000000000000 +CIPHERTEXT = 424250b37c3dd951 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0020000000000000 +CIPHERTEXT = b8061b7ecd9a21e5 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0010000000000000 +CIPHERTEXT = f15d0f286b65bd28 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0008000000000000 +CIPHERTEXT = add0cc8d6e5deba1 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0004000000000000 +CIPHERTEXT = e6d5f82752ad63d1 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0002000000000000 +CIPHERTEXT = ecbfe3bd3f591a5e + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0001000000000000 +CIPHERTEXT = f356834379d165cd + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000800000000000 +CIPHERTEXT = 2b9f982f20037fa9 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000400000000000 +CIPHERTEXT = 889de068a16f0be6 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000200000000000 +CIPHERTEXT = e19e275d846a1298 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000100000000000 +CIPHERTEXT = 329a8ed523d71aec + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000080000000000 +CIPHERTEXT = e7fce22557d23c97 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000040000000000 +CIPHERTEXT = 12a9f5817ff2d65d + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000020000000000 +CIPHERTEXT = a484c3ad38dc9c19 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000010000000000 +CIPHERTEXT = fbe00a8a1ef8ad72 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000008000000000 +CIPHERTEXT = 750d079407521363 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000004000000000 +CIPHERTEXT = 64feed9c724c2faf + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000002000000000 +CIPHERTEXT = f02b263b328e2b60 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000001000000000 +CIPHERTEXT = 9d64555a9a10b852 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000800000000 +CIPHERTEXT = d106ff0bed5255d7 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000400000000 +CIPHERTEXT = e1652c6b138c64a5 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000200000000 +CIPHERTEXT = e428581186ec8f46 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000100000000 +CIPHERTEXT = aeb5f5ede22d1a36 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000080000000 +CIPHERTEXT = e943d7568aec0c5c + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000040000000 +CIPHERTEXT = df98c8276f54b04b + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000020000000 +CIPHERTEXT = b160e4680f6c696f + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000010000000 +CIPHERTEXT = fa0752b07d9c4ab8 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000008000000 +CIPHERTEXT = ca3a2b036dbc8502 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000004000000 +CIPHERTEXT = 5e0905517bb59bcf + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000002000000 +CIPHERTEXT = 814eeb3b91d90726 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000001000000 +CIPHERTEXT = 4d49db1532919c9f + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000800000 +CIPHERTEXT = 25eb5fc3f8cf0621 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000400000 +CIPHERTEXT = ab6a20c0620d1c6f + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000200000 +CIPHERTEXT = 79e90dbc98f92cca + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000100000 +CIPHERTEXT = 866ecedd8072bb0e + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000080000 +CIPHERTEXT = 8b54536f2f3e64a8 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000040000 +CIPHERTEXT = ea51d3975595b86b + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000020000 +CIPHERTEXT = caffc6ac4542de31 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000010000 +CIPHERTEXT = 8dd45a2ddf90796c + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000008000 +CIPHERTEXT = 1029d55e880ec2d0 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000004000 +CIPHERTEXT = 5d86cb23639dbea9 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000002000 +CIPHERTEXT = 1d1ca853ae7c0c5f + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000001000 +CIPHERTEXT = ce332329248f3228 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000800 +CIPHERTEXT = 8405d1abe24fb942 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000400 +CIPHERTEXT = e643d78090ca4207 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000200 +CIPHERTEXT = 48221b9937748a23 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000100 +CIPHERTEXT = dd7c0bbd61fafd54 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000080 +CIPHERTEXT = 2fbc291a570db5c4 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000040 +CIPHERTEXT = e07c30d7e4e26e12 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000020 +CIPHERTEXT = 0953e2258e8e90a1 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000010 +CIPHERTEXT = 5b711bc4ceebf2ee + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000008 +CIPHERTEXT = cc083f1e6d9e85f6 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000004 +CIPHERTEXT = d2fd8867d50d2dfe + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000002 +CIPHERTEXT = 06e7ea22ce92708f + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000001 +CIPHERTEXT = 166b40b44aba4bd6 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 95f8a5e5dd31d900 +PLAINTEXT = 8000000000000000 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = dd7f121ca5015619 +PLAINTEXT = 4000000000000000 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 2e8653104f3834ea +PLAINTEXT = 2000000000000000 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 4bd388ff6cd81d4f +PLAINTEXT = 1000000000000000 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 20b9e767b2fb1456 +PLAINTEXT = 0800000000000000 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 55579380d77138ef +PLAINTEXT = 0400000000000000 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 6cc5defaaf04512f +PLAINTEXT = 0200000000000000 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0d9f279ba5d87260 +PLAINTEXT = 0100000000000000 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = d9031b0271bd5a0a +PLAINTEXT = 0080000000000000 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 424250b37c3dd951 +PLAINTEXT = 0040000000000000 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = b8061b7ecd9a21e5 +PLAINTEXT = 0020000000000000 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = f15d0f286b65bd28 +PLAINTEXT = 0010000000000000 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = add0cc8d6e5deba1 +PLAINTEXT = 0008000000000000 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e6d5f82752ad63d1 +PLAINTEXT = 0004000000000000 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = ecbfe3bd3f591a5e +PLAINTEXT = 0002000000000000 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = f356834379d165cd +PLAINTEXT = 0001000000000000 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 2b9f982f20037fa9 +PLAINTEXT = 0000800000000000 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 889de068a16f0be6 +PLAINTEXT = 0000400000000000 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e19e275d846a1298 +PLAINTEXT = 0000200000000000 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 329a8ed523d71aec +PLAINTEXT = 0000100000000000 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e7fce22557d23c97 +PLAINTEXT = 0000080000000000 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 12a9f5817ff2d65d +PLAINTEXT = 0000040000000000 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = a484c3ad38dc9c19 +PLAINTEXT = 0000020000000000 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = fbe00a8a1ef8ad72 +PLAINTEXT = 0000010000000000 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 750d079407521363 +PLAINTEXT = 0000008000000000 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 64feed9c724c2faf +PLAINTEXT = 0000004000000000 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = f02b263b328e2b60 +PLAINTEXT = 0000002000000000 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 9d64555a9a10b852 +PLAINTEXT = 0000001000000000 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = d106ff0bed5255d7 +PLAINTEXT = 0000000800000000 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e1652c6b138c64a5 +PLAINTEXT = 0000000400000000 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e428581186ec8f46 +PLAINTEXT = 0000000200000000 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = aeb5f5ede22d1a36 +PLAINTEXT = 0000000100000000 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e943d7568aec0c5c +PLAINTEXT = 0000000080000000 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = df98c8276f54b04b +PLAINTEXT = 0000000040000000 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = b160e4680f6c696f +PLAINTEXT = 0000000020000000 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = fa0752b07d9c4ab8 +PLAINTEXT = 0000000010000000 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = ca3a2b036dbc8502 +PLAINTEXT = 0000000008000000 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 5e0905517bb59bcf +PLAINTEXT = 0000000004000000 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 814eeb3b91d90726 +PLAINTEXT = 0000000002000000 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 4d49db1532919c9f +PLAINTEXT = 0000000001000000 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 25eb5fc3f8cf0621 +PLAINTEXT = 0000000000800000 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = ab6a20c0620d1c6f +PLAINTEXT = 0000000000400000 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 79e90dbc98f92cca +PLAINTEXT = 0000000000200000 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 866ecedd8072bb0e +PLAINTEXT = 0000000000100000 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 8b54536f2f3e64a8 +PLAINTEXT = 0000000000080000 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = ea51d3975595b86b +PLAINTEXT = 0000000000040000 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = caffc6ac4542de31 +PLAINTEXT = 0000000000020000 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 8dd45a2ddf90796c +PLAINTEXT = 0000000000010000 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 1029d55e880ec2d0 +PLAINTEXT = 0000000000008000 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 5d86cb23639dbea9 +PLAINTEXT = 0000000000004000 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 1d1ca853ae7c0c5f +PLAINTEXT = 0000000000002000 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = ce332329248f3228 +PLAINTEXT = 0000000000001000 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 8405d1abe24fb942 +PLAINTEXT = 0000000000000800 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e643d78090ca4207 +PLAINTEXT = 0000000000000400 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 48221b9937748a23 +PLAINTEXT = 0000000000000200 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = dd7c0bbd61fafd54 +PLAINTEXT = 0000000000000100 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 2fbc291a570db5c4 +PLAINTEXT = 0000000000000080 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = e07c30d7e4e26e12 +PLAINTEXT = 0000000000000040 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0953e2258e8e90a1 +PLAINTEXT = 0000000000000020 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 5b711bc4ceebf2ee +PLAINTEXT = 0000000000000010 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = cc083f1e6d9e85f6 +PLAINTEXT = 0000000000000008 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = d2fd8867d50d2dfe +PLAINTEXT = 0000000000000004 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 06e7ea22ce92708f +PLAINTEXT = 0000000000000002 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000000 +CIPHERTEXT = 166b40b44aba4bd6 +PLAINTEXT = 0000000000000001 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64MMT2.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64MMT2.rsp new file mode 100644 index 000000000..7846ae075 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64MMT2.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for CFB64 +# State : Encrypt and Decrypt +# Thu Apr 21 10:42:43 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = 195ba486c7bf6b9e +KEY2 = 2943a71cc4e0ba54 +KEY3 = 195ba486c7bf6b9e +IV = 695643ceea53105b +PLAINTEXT = 2f12c67f03ddce74 +CIPHERTEXT = b09d950308d69ffd + +COUNT = 1 +KEY1 = fb7a9b894c04bc29 +KEY2 = e96154a2a8755bfd +KEY3 = fb7a9b894c04bc29 +IV = 2d50d7a19766d426 +PLAINTEXT = 425c18b6992d6ca73c1f41677f0b9d34 +CIPHERTEXT = 9561aa74545927336e9ed5ac8451cd5c + +COUNT = 2 +KEY1 = ae73e5cb152c2ad6 +KEY2 = df92b6f2fda19b64 +KEY3 = ae73e5cb152c2ad6 +IV = 6d0d66db69ab176c +PLAINTEXT = 1f42c7204c4d2aa5ec1fe3306d7a78bb2f4eeccee88b40f5 +CIPHERTEXT = eb9ca4e10c8188b016c75c6a5a5bf618cf8953d5acfd7f2c + +COUNT = 3 +KEY1 = e032cb044ada737c +KEY2 = df04c1b358193776 +KEY3 = e032cb044ada737c +IV = c1d38acf302bd342 +PLAINTEXT = 44543f1ae7d6b6fab5607bc356c999a0583a23aa7f34260c5cd5dc642157226d +CIPHERTEXT = 7da0e2b0d9082392b82457de5d5e490cd89c51647b0ec23fb3f73a410924af52 + +COUNT = 4 +KEY1 = 797583c8519751ef +KEY2 = 4a5e3d7f8aa29837 +KEY3 = 797583c8519751ef +IV = e641b6b7c7d1af10 +PLAINTEXT = b1b64acfee39514ff5d5aee9556a10a0d53317a5b9f8ba254085e666715c671217a70cd30b70061f +CIPHERTEXT = bb775b78d68ce24baae01365da6cef78c8a56c095ac1624640f975e0e4cdd61050c6314dfd447ef3 + +COUNT = 5 +KEY1 = 6d94c26b4cd0bfb5 +KEY2 = f894daab868a6416 +KEY3 = 6d94c26b4cd0bfb5 +IV = f7a1a294110c761b +PLAINTEXT = b7cec366675b87169f137b24fab8ab7c7dc9e6be1ef9674c82e0b5a10befc7e412a96cbc7110ea67455ee506f2f6833b +CIPHERTEXT = 22889fb679e6f31718912861a42742606b727125b3465e7566a1b77286a491be15a919496522973b6c57d6c9c82d09b3 + +COUNT = 6 +KEY1 = 6716c8100ec402da +KEY2 = d34f6b1023134364 +KEY3 = 6716c8100ec402da +IV = b1966efef54feeba +PLAINTEXT = ace1440439aec411a8defe44b2139ee39861fa3f6f5200dfbb2e6dda4079418515bc6f4efa89d8e8ebb97aa9f6f8e5304984ef4a8f31a917 +CIPHERTEXT = 1cf39d84418ff35d09aef38ffe2a10c36f3fe429b3ba70b5741f3480c91ac0a05000587df0dab6b98c1c81d8e34c1c90b623082c337fb37e + +COUNT = 7 +KEY1 = d5d9312f98e06ebf +KEY2 = 6bc71383dcc7523e +KEY3 = d5d9312f98e06ebf +IV = ed0de3eba5b3c7ff +PLAINTEXT = ea604ec12187b923503824a4cc0a219b602974ca919378362688bf37e83bf9cba7ce172f7d7db0b1571aa3c0b0b9fe45a0ac1e3616b21867616b58a4f60f88fe +CIPHERTEXT = 52ea4fc886680c1212af2572edfe663b612aa129f4cb06c232e85171bbecae5c60c0bb325547f8a2adcaa7cb530a9f8ab001494c70b472780ce49566204fcc6d + +COUNT = 8 +KEY1 = 7ceae06df4910ec7 +KEY2 = 04ba3ef27ca2d973 +KEY3 = 7ceae06df4910ec7 +IV = 5f6e6be266948c0e +PLAINTEXT = 6b4b76fdfc351d1f98a15a288312b3539a3d1c988c6bc92b46204146affab42896db8e5ee84b4c4127178ec0173e6e5fbb0e11807f8b7be1b710a8674839d81aa5ff2a70fe256cce +CIPHERTEXT = 4e4655435f1c3593431bb7891eb7b2ba4511923d5dae5298b019ece47ea4ec04e29d2c44249e35c3ea075e1d9a1eefb12dbc292023e318673d79074772fd4fed0900553f623518d5 + +COUNT = 9 +KEY1 = d934a1511a1c2557 +KEY2 = 2fb3253e52e6e045 +KEY3 = d934a1511a1c2557 +IV = 477f5e1dfe6d96ab +PLAINTEXT = 39b5ff5469de90bb231cce559c20bbea089c4a740cef71dd75047f092a77b0175ffafee40cf83bd19e785dc7ec4319786c49b3e7a741142aea901d6e3f6c3b3d9b413bfc595360b8e7a6b322c01b9bd7 +CIPHERTEXT = 54f9fbd89233b76b20c18a3808945ac1f902c9378303cf5c2374ec6a2bae22a265abf2504cb8130a2125c0bcce3ceb27884b0aa82c6b3a770fb208d4cbdecf0fcfb3e18e50721310d004471daf520240 + +[DECRYPT] + +COUNT = 0 +KEY1 = 68385b2a5183a8f7 +KEY2 = a26783abb04ce0a4 +KEY3 = 68385b2a5183a8f7 +IV = 5176b0357cd52e25 +CIPHERTEXT = 14901fda22d35585 +PLAINTEXT = b264255f96304fc6 + +COUNT = 1 +KEY1 = 080440aef1c1fdef +KEY2 = 7ccdfeb5980bcbf8 +KEY3 = 080440aef1c1fdef +IV = 1dce10f82ef0ebe6 +CIPHERTEXT = f026a14f98b798a715e752e077d96fe7 +PLAINTEXT = 0dcbfe9155e43df0868ced69766fa6da + +COUNT = 2 +KEY1 = d66149f201257a26 +KEY2 = d9c785e3707c25fd +KEY3 = d66149f201257a26 +IV = 64a219ce5304a653 +CIPHERTEXT = 01200b63435c983f660c7cf75249fc0b9735483d0239aef2 +PLAINTEXT = cae199ac311e48d0fece666bd165b108406913a44d633755 + +COUNT = 3 +KEY1 = bc9162b06e646473 +KEY2 = fe64fb0dc4867637 +KEY3 = bc9162b06e646473 +IV = 88c6f94e75bc22e9 +CIPHERTEXT = 73175e60858859cf60bf9c8bda89d2680406b0185d07caa945bbac4fb48b2664 +PLAINTEXT = 1a634ab19a6cd0ac7abd61f9d44b0ff3f3080c94f1c7edb6476503f8e84c78de + +COUNT = 4 +KEY1 = 1634203b493889f2 +KEY2 = 62b67a689ee975fd +KEY3 = 1634203b493889f2 +IV = 982cca8e5bd921b3 +CIPHERTEXT = c71e40d7c7ca7ba813f31eab8a4a21c31663dcbfdf17d5d9bf27d783f72144642088ab9d642f9d50 +PLAINTEXT = 31c65e8e020de65730059f13a77caa6945d9d21eacd01f3113cca240bed70672075dc2c9985751db + +COUNT = 5 +KEY1 = 6d5404e6d30d57b3 +KEY2 = c88676dcfbda02e5 +KEY3 = 6d5404e6d30d57b3 +IV = d5ba4e773c5b29f1 +CIPHERTEXT = 83dae3878e1367b22b1fd5f01f823577d1d1562da4b9c0c98342ea35be55ad37147df95111eac7e69abb4e9dc67d7a0b +PLAINTEXT = 98b317071a6ba65f6ce2475a02078faa49a04c2d5c8b261c8855259460b47764dc1b53f07564fafa6deddb03612baf6f + +COUNT = 6 +KEY1 = 0bbc9dc8d91c5d2f +KEY2 = 02c704dc0725e975 +KEY3 = 0bbc9dc8d91c5d2f +IV = 20979b8b3577e339 +CIPHERTEXT = 1c222f1bcd4562f1433db394d64a6fed5d4031015ae5b172719bdd491f3f2bf2a8502d8851546654d0775c900176ee70dabbe863a1cad596 +PLAINTEXT = d43cc5effd5231baefa15458c9ffa47b7e446218e10a4659386bd0923284a1f170005657ca7c87b6dc91a37be29aba5aff01812f4f2d9286 + +COUNT = 7 +KEY1 = 2acdab2c074f2315 +KEY2 = c1134f380d891a7c +KEY3 = 2acdab2c074f2315 +IV = 7c240546899dfb81 +CIPHERTEXT = fbe7bce133ece01bd35ce168434e8935c54951eeaaac307bc64db10b21614810ef9ce68ac399cb89ff7b9ced8fd5b571d7c7c0e8e96a86c6fc6e06e11a02c479 +PLAINTEXT = 983fa818c522b82de2f15c451216c5eb623268b494512aba9a28bf1d773191cf45de6ae11c92702fbccc5f88011d36ab9418fbf635db2e5dbeea8410589641d5 + +COUNT = 8 +KEY1 = f2d53192b949c44a +KEY2 = 13d31c4a8f89b68f +KEY3 = f2d53192b949c44a +IV = 3aa09ebff9a60371 +CIPHERTEXT = e4efd5801a6f340cc0e0fba75ef81a52806695d367b5d8b5ff744c901194278aba11881e1cd5c31c53d9f9f1aa8ded290f7a1232c525e9635937893cd7dc7ff03d69d92030417eea +PLAINTEXT = 343e73ddbe970b17068b554a591e1e80bc340b468f9250bab2081d16c81850930bac3ddd98ddc50ecda8c0d7d26297c416971f7ac7d8767032dbbc3b1a695c2f5718bbc901608bce + +COUNT = 9 +KEY1 = 2fd00ee0ecb649ab +KEY2 = d02fdaf207a75be9 +KEY3 = 2fd00ee0ecb649ab +IV = 4480a2ea784f318b +CIPHERTEXT = a702b05589f73f9f0a992d9cfe3a12d4de404d7c1b28f69bb2cb146b01e01002d8c36a31d475abade8e39b6c3d6bb3523c9cd50de93d3b3e7291aed907daf8ceed1c9be9ce23c3f654c77a2af66f1bbe +PLAINTEXT = e2c4e2bf2da9256b50bd6983e2a901f424f5d22a632c947664d16e3c876eb88df4118bf2d7059c79560c9e793b24f4b12a01946c167cd16b9c3ab2462997ab229a20b7a60c5b897bae7eaed319e4af56 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64MMT3.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64MMT3.rsp new file mode 100644 index 000000000..71c4fdf95 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64MMT3.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for CFB64 +# State : Encrypt and Decrypt +# Thu Apr 21 10:42:17 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = cb37f85b32dfad76 +KEY2 = 8643cddae5a470d6 +KEY3 = f2cd94e3fbe508a4 +IV = 3def8dc845ee8345 +PLAINTEXT = ee04103555f9f28b +CIPHERTEXT = 96ef9c65c761f30b + +COUNT = 1 +KEY1 = 19b55e5b26769d51 +KEY2 = 6143bc61f79d9464 +KEY3 = 52795e9d3dbad0d3 +IV = 97bfae1bd78ce0f9 +PLAINTEXT = 5f0fc5c6085d3f653ec52980a4af5b5b +CIPHERTEXT = 744b45a196330899df78e8e778049f1d + +COUNT = 2 +KEY1 = 9e32daa42679a898 +KEY2 = c2627a2f4ac49758 +KEY3 = 85cb2a68c8c81920 +IV = cc20aa6c34214217 +PLAINTEXT = 6b7acd01c975d53f544b35b76103a7d00c63ad9091bd1a10 +CIPHERTEXT = 39be9a6d7702b3477bade6e1664d3d922ccb124204eff794 + +COUNT = 3 +KEY1 = 2f9437c10ed61a67 +KEY2 = e9131507f8c1bc37 +KEY3 = 436898cece20a26b +IV = 928cfa488780e47b +PLAINTEXT = c3798b2a7de3c552c21c40b177c6249b2f78bc049f648544533785179f41dee8 +CIPHERTEXT = 3cc150ff3c0437d3a25bb0d5ee8ed6690f165a57c0a6342d4017342f01e4553e + +COUNT = 4 +KEY1 = a2a746158fab29e0 +KEY2 = 894676611f9d73ad +KEY3 = 0b3832675710b015 +IV = 80ee89f42d88119b +PLAINTEXT = 1c25224f090d9e80c5279fcb390b711f28c109666227e00a3a9202b839b8616414ce708ddcededc2 +CIPHERTEXT = 13a95d0c40c5a8410945d2b165141f9eda40703a2154ac33133052d6b9a7585b9da6557163137c79 + +COUNT = 5 +KEY1 = ead6fef829ec94ec +KEY2 = 58c2159ef8ad37d9 +KEY3 = a40b89ea61a1b5ec +IV = 18e7a2accce2afc6 +PLAINTEXT = e03aab865ecd0a6319e5223b746f0076872835f00cfbd9f27c8acf62750b4b365f55922e4f3a01c32b18515b10ab19be +CIPHERTEXT = 45e4dde2cb0f9631266c72f8a6350e2b20d062a4f09a3d90c3b892f432dcbe366a22a83db848896620cf1b846437ce87 + +COUNT = 6 +KEY1 = 4380e0d66b432a92 +KEY2 = a791a89b072ce3ec +KEY3 = 25b0520ea18c1307 +IV = b3c6746983764789 +PLAINTEXT = c44de28896db6e811177b59c33f6c8f3bfe09fed90730f612eebf6fe9f01b9ea80b2f0a954415f411b7f299b274a402d2b5420d69526bd09 +CIPHERTEXT = 7531d310d4666f9391cd948203cc968e1ef31e9f928de448a353ebb6b155733843257ac1159d679db102b3d3e2c83031935c7618a9744a62 + +COUNT = 7 +KEY1 = 201910b3a10d1064 +KEY2 = 0e833420cb2fd692 +KEY3 = 9d4a1cc761fe4f86 +IV = cea8bb493ac86d47 +PLAINTEXT = cfbdd12bce827d792bd19a40b7cc16cb622919aa492c304bf0d2abcfcb50441604bb011c78095b8903389f83fdcd95c7048060f8fc36a536552feff38c815202 +CIPHERTEXT = b019eb527e9475e0a74b1d6fda8d71617dd7fe2d2d643fb421bc3508892305734c019e762780ee9c176cb39a33e40afa91b5877432fc101d9370b082cb2e0b23 + +COUNT = 8 +KEY1 = ce86e07c1c8a4a13 +KEY2 = 8997a8310b194c01 +KEY3 = e998797a3d8046b9 +IV = 218146b7d41c97a1 +PLAINTEXT = f89bc10c236b9dd6f1bac27431ed8e1d4d96dd8d1ff67eab05c1e46a38201eed59fc0aee4d7ac5604bc265533305eb1922be73a74338ae3de850924ad97c508aeb0c8771d5b0b7cc +CIPHERTEXT = c6c7e394d1cbf0f86644b26393fd282c46f077eb590ea0e6e2efa3af83dbc491bd3aa3016c7895f668b5e9be77f3a80360ba58a0d71d19df062559a22d7e6c4ed78ddc246d631d5a + +COUNT = 9 +KEY1 = 437cfb681a047015 +KEY2 = 2998b9739efd6eef +KEY3 = bcf108d3a749f279 +IV = 1f20f134b600a849 +PLAINTEXT = ebb61c47a714907e81430b39128b8518c8b27a3e8814a50598f60cf0bd173ce2a088d68d76be4a2ce0e6e375107804c92e0fb1affa785080b208b16436334d7c6a5bcb61dce6c9cea793d899970ec8e8 +CIPHERTEXT = a6e6c86d90b3bf12abbe625a9b52849ad126733ea02a8c1be0a3fe9a67d00964e45920d5673f8d1254f9911b762d440c56341b1f45c7c355427daf428dbb919f4b0f654fea9f72059b070e77b20a9d69 + +[DECRYPT] + +COUNT = 0 +KEY1 = 97577910c8ce195d +KEY2 = dcf491383deca162 +KEY3 = 1cd0022c68b62975 +IV = e49ea990b6e1fa90 +CIPHERTEXT = e183f8f98816ed59 +PLAINTEXT = 40e9d0a138f2819c + +COUNT = 1 +KEY1 = e9a7f2ad10d99b45 +KEY2 = d398bc5efb9d83d5 +KEY3 = b0c7bf1585468343 +IV = 9d5d84460d81ff69 +CIPHERTEXT = 6a7acdfbefc794e0da804097bb018b87 +PLAINTEXT = 160f5088d26edf8a0a8036f40eaa4c17 + +COUNT = 2 +KEY1 = 855286fe859d01c8 +KEY2 = 40756798e3915449 +KEY3 = c175e3aef846453b +IV = 239949f3f65d85e7 +CIPHERTEXT = 9f51be5c82ffed65e4a2e804980e473e2309c5b528f54f72 +PLAINTEXT = 5960f0a1b97fbcd66bec52223ca48759594500f1fae2f911 + +COUNT = 3 +KEY1 = 8337919402401652 +KEY2 = 40451680519bc1c1 +KEY3 = cdfdda6dda1ce352 +IV = 33d665c431386a70 +CIPHERTEXT = 39c081717a7e07df7020d1afb766f2b5a5db1505d0501c05d08806c746351696 +PLAINTEXT = 929f5b2057a8cabe1adf2318193e60205dd0afabc6e60342f324685e91eccc77 + +COUNT = 4 +KEY1 = 6198ceb6d3ba49fe +KEY2 = a71025a1fbb0b0f2 +KEY3 = 86cdd9d089aebace +IV = 4f4f39aee8dacd8b +CIPHERTEXT = c0894442687fd2851559e1bf71689063b550fee21bb15f7295074f0ebfcf65be12ec0c185b488e07 +PLAINTEXT = 4ea0bd028dfae4886ad3c47058025a05d9935d12810631444dc5e39015a0d52fc8941b0bb52d0fd3 + +COUNT = 5 +KEY1 = 07a4e5456e072c61 +KEY2 = 6826f891079dda4c +KEY3 = 0e57d05813629d61 +IV = 9689bc684ae86c32 +CIPHERTEXT = f5ee26021650ef218fa4f44aa5ebc5227d86d3a530f5240d21e54bf68f6a98bf66898c335bf98f69372ae5e87387df0f +PLAINTEXT = 1a106058cbf510bad999cbbb340b6d3a5359809f8012e892b38411a4162621bc3171c4c36af6f43c5a5596a9227bc1a6 + +COUNT = 6 +KEY1 = 94ec51d0804a1531 +KEY2 = 685e1c6b9babc708 +KEY3 = 0289406e511961da +IV = 4ec42ebd1e7dc5f2 +CIPHERTEXT = fd09471aeebce55fff28fe3b3c3e933462d9e4204193ef9564dd33a2f44fb9bcda3c55fb248a2a87aac06c4df1616af64f79cb19507517af +PLAINTEXT = 2068523894fc752309be35f9f56b09f5ca62f5c46e42d5ddf487f5dfa2a86cfdae58dd60775c496414e601e852941953984687789bcb6269 + +COUNT = 7 +KEY1 = 29a826d9ae1afe08 +KEY2 = 61857ae3735efd67 +KEY3 = 86838c6815c25b97 +IV = 5adc11f4b95144e7 +CIPHERTEXT = 48fceedcf4744ab8cde25ab9742cfb98ce774d4912ee63da20be3f9d1565fd891c2d4ede87f328081e2dbcc6b62ca98b069e6f25b756269cba50705ddeefac97 +PLAINTEXT = cebc2ccedb29b11b88cbf9339dd03745085adcb978d2e6a7bbc5f6768a3eb2c2405d25666648079f2f084694cc9f2bd6c4556075df0259a871f9908c699d812b + +COUNT = 8 +KEY1 = 32f834cb67ea0b92 +KEY2 = 0b67915186ef4a6d +KEY3 = 1cecf894ec1313ec +IV = e2ce3e807514acb7 +CIPHERTEXT = 735629aaead542e3f7c17d6ceb7dc850320f1e6accc6a1270220ea8d51ea9d7caba94034df394d1855b485b2fe9688f68b1ea3cbddf7e9c7bd17853acee84e6fbfa59c2ec5075a85 +PLAINTEXT = 5b72273039c90c74ebf364ab00df3673af6b3c28de5699c4359e37a1f32fcd5694de7ab8db15d9306fafc32f74136dc60e7efd37d757c6faf352e74cedc4f23bdae33a40ebf70b68 + +COUNT = 9 +KEY1 = a4c2379e8916737c +KEY2 = 16ba45bcc258d50e +KEY3 = ab375d40766758e5 +IV = 724c9bc6efaa49ae +CIPHERTEXT = 77b292eae52157a2eac7820c2cc57c7df843a27328bf45834aa4f592fe1fff48a02e34c227faec874d664bbef1e8c39eb998da25fb862e0dde51b6fcbcf54afbcbe56629fd5a2bb024eaa6f95a5c551c +PLAINTEXT = 3686f3be0c34287c15aceb602cd17f60c2590df95c7171564858719053f11b42618eca7bfa42c077ee555a21b66c54a5d37139d62164a81187a0d69be250e7a30a012218c5e0fe33bcbdd7cb93118694 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64invperm.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64invperm.rsp new file mode 100644 index 000000000..cf657862e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64invperm.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# INVERSE PERMUTATION - KAT for CFB64 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +PLAINTEXT = 95f8a5e5dd31d900 +CIPHERTEXT = 0000000000000000 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +PLAINTEXT = dd7f121ca5015619 +CIPHERTEXT = 0000000000000000 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +PLAINTEXT = 2e8653104f3834ea +CIPHERTEXT = 0000000000000000 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +PLAINTEXT = 4bd388ff6cd81d4f +CIPHERTEXT = 0000000000000000 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +PLAINTEXT = 20b9e767b2fb1456 +CIPHERTEXT = 0000000000000000 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +PLAINTEXT = 55579380d77138ef +CIPHERTEXT = 0000000000000000 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +PLAINTEXT = 6cc5defaaf04512f +CIPHERTEXT = 0000000000000000 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +PLAINTEXT = 0d9f279ba5d87260 +CIPHERTEXT = 0000000000000000 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +PLAINTEXT = d9031b0271bd5a0a +CIPHERTEXT = 0000000000000000 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +PLAINTEXT = 424250b37c3dd951 +CIPHERTEXT = 0000000000000000 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +PLAINTEXT = b8061b7ecd9a21e5 +CIPHERTEXT = 0000000000000000 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +PLAINTEXT = f15d0f286b65bd28 +CIPHERTEXT = 0000000000000000 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +PLAINTEXT = add0cc8d6e5deba1 +CIPHERTEXT = 0000000000000000 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +PLAINTEXT = e6d5f82752ad63d1 +CIPHERTEXT = 0000000000000000 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +PLAINTEXT = ecbfe3bd3f591a5e +CIPHERTEXT = 0000000000000000 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +PLAINTEXT = f356834379d165cd +CIPHERTEXT = 0000000000000000 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +PLAINTEXT = 2b9f982f20037fa9 +CIPHERTEXT = 0000000000000000 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +PLAINTEXT = 889de068a16f0be6 +CIPHERTEXT = 0000000000000000 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +PLAINTEXT = e19e275d846a1298 +CIPHERTEXT = 0000000000000000 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +PLAINTEXT = 329a8ed523d71aec +CIPHERTEXT = 0000000000000000 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +PLAINTEXT = e7fce22557d23c97 +CIPHERTEXT = 0000000000000000 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +PLAINTEXT = 12a9f5817ff2d65d +CIPHERTEXT = 0000000000000000 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +PLAINTEXT = a484c3ad38dc9c19 +CIPHERTEXT = 0000000000000000 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +PLAINTEXT = fbe00a8a1ef8ad72 +CIPHERTEXT = 0000000000000000 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +PLAINTEXT = 750d079407521363 +CIPHERTEXT = 0000000000000000 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +PLAINTEXT = 64feed9c724c2faf +CIPHERTEXT = 0000000000000000 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +PLAINTEXT = f02b263b328e2b60 +CIPHERTEXT = 0000000000000000 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +PLAINTEXT = 9d64555a9a10b852 +CIPHERTEXT = 0000000000000000 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +PLAINTEXT = d106ff0bed5255d7 +CIPHERTEXT = 0000000000000000 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +PLAINTEXT = e1652c6b138c64a5 +CIPHERTEXT = 0000000000000000 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +PLAINTEXT = e428581186ec8f46 +CIPHERTEXT = 0000000000000000 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +PLAINTEXT = aeb5f5ede22d1a36 +CIPHERTEXT = 0000000000000000 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +PLAINTEXT = e943d7568aec0c5c +CIPHERTEXT = 0000000000000000 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +PLAINTEXT = df98c8276f54b04b +CIPHERTEXT = 0000000000000000 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +PLAINTEXT = b160e4680f6c696f +CIPHERTEXT = 0000000000000000 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +PLAINTEXT = fa0752b07d9c4ab8 +CIPHERTEXT = 0000000000000000 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +PLAINTEXT = ca3a2b036dbc8502 +CIPHERTEXT = 0000000000000000 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +PLAINTEXT = 5e0905517bb59bcf +CIPHERTEXT = 0000000000000000 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +PLAINTEXT = 814eeb3b91d90726 +CIPHERTEXT = 0000000000000000 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +PLAINTEXT = 4d49db1532919c9f +CIPHERTEXT = 0000000000000000 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +PLAINTEXT = 25eb5fc3f8cf0621 +CIPHERTEXT = 0000000000000000 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +PLAINTEXT = ab6a20c0620d1c6f +CIPHERTEXT = 0000000000000000 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +PLAINTEXT = 79e90dbc98f92cca +CIPHERTEXT = 0000000000000000 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +PLAINTEXT = 866ecedd8072bb0e +CIPHERTEXT = 0000000000000000 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +PLAINTEXT = 8b54536f2f3e64a8 +CIPHERTEXT = 0000000000000000 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +PLAINTEXT = ea51d3975595b86b +CIPHERTEXT = 0000000000000000 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +PLAINTEXT = caffc6ac4542de31 +CIPHERTEXT = 0000000000000000 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +PLAINTEXT = 8dd45a2ddf90796c +CIPHERTEXT = 0000000000000000 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +PLAINTEXT = 1029d55e880ec2d0 +CIPHERTEXT = 0000000000000000 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +PLAINTEXT = 5d86cb23639dbea9 +CIPHERTEXT = 0000000000000000 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +PLAINTEXT = 1d1ca853ae7c0c5f +CIPHERTEXT = 0000000000000000 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +PLAINTEXT = ce332329248f3228 +CIPHERTEXT = 0000000000000000 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +PLAINTEXT = 8405d1abe24fb942 +CIPHERTEXT = 0000000000000000 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +PLAINTEXT = e643d78090ca4207 +CIPHERTEXT = 0000000000000000 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +PLAINTEXT = 48221b9937748a23 +CIPHERTEXT = 0000000000000000 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +PLAINTEXT = dd7c0bbd61fafd54 +CIPHERTEXT = 0000000000000000 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +PLAINTEXT = 2fbc291a570db5c4 +CIPHERTEXT = 0000000000000000 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +PLAINTEXT = e07c30d7e4e26e12 +CIPHERTEXT = 0000000000000000 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +PLAINTEXT = 0953e2258e8e90a1 +CIPHERTEXT = 0000000000000000 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +PLAINTEXT = 5b711bc4ceebf2ee +CIPHERTEXT = 0000000000000000 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +PLAINTEXT = cc083f1e6d9e85f6 +CIPHERTEXT = 0000000000000000 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +PLAINTEXT = d2fd8867d50d2dfe +CIPHERTEXT = 0000000000000000 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +PLAINTEXT = 06e7ea22ce92708f +CIPHERTEXT = 0000000000000000 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +PLAINTEXT = 166b40b44aba4bd6 +CIPHERTEXT = 0000000000000000 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +CIPHERTEXT = 95f8a5e5dd31d900 +PLAINTEXT = 0000000000000000 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +CIPHERTEXT = dd7f121ca5015619 +PLAINTEXT = 0000000000000000 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +CIPHERTEXT = 2e8653104f3834ea +PLAINTEXT = 0000000000000000 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +CIPHERTEXT = 4bd388ff6cd81d4f +PLAINTEXT = 0000000000000000 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +CIPHERTEXT = 20b9e767b2fb1456 +PLAINTEXT = 0000000000000000 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +CIPHERTEXT = 55579380d77138ef +PLAINTEXT = 0000000000000000 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +CIPHERTEXT = 6cc5defaaf04512f +PLAINTEXT = 0000000000000000 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +CIPHERTEXT = 0d9f279ba5d87260 +PLAINTEXT = 0000000000000000 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +CIPHERTEXT = d9031b0271bd5a0a +PLAINTEXT = 0000000000000000 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +CIPHERTEXT = 424250b37c3dd951 +PLAINTEXT = 0000000000000000 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +CIPHERTEXT = b8061b7ecd9a21e5 +PLAINTEXT = 0000000000000000 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +CIPHERTEXT = f15d0f286b65bd28 +PLAINTEXT = 0000000000000000 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +CIPHERTEXT = add0cc8d6e5deba1 +PLAINTEXT = 0000000000000000 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +CIPHERTEXT = e6d5f82752ad63d1 +PLAINTEXT = 0000000000000000 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +CIPHERTEXT = ecbfe3bd3f591a5e +PLAINTEXT = 0000000000000000 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +CIPHERTEXT = f356834379d165cd +PLAINTEXT = 0000000000000000 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +CIPHERTEXT = 2b9f982f20037fa9 +PLAINTEXT = 0000000000000000 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +CIPHERTEXT = 889de068a16f0be6 +PLAINTEXT = 0000000000000000 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +CIPHERTEXT = e19e275d846a1298 +PLAINTEXT = 0000000000000000 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +CIPHERTEXT = 329a8ed523d71aec +PLAINTEXT = 0000000000000000 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +CIPHERTEXT = e7fce22557d23c97 +PLAINTEXT = 0000000000000000 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +CIPHERTEXT = 12a9f5817ff2d65d +PLAINTEXT = 0000000000000000 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +CIPHERTEXT = a484c3ad38dc9c19 +PLAINTEXT = 0000000000000000 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +CIPHERTEXT = fbe00a8a1ef8ad72 +PLAINTEXT = 0000000000000000 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +CIPHERTEXT = 750d079407521363 +PLAINTEXT = 0000000000000000 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +CIPHERTEXT = 64feed9c724c2faf +PLAINTEXT = 0000000000000000 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +CIPHERTEXT = f02b263b328e2b60 +PLAINTEXT = 0000000000000000 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +CIPHERTEXT = 9d64555a9a10b852 +PLAINTEXT = 0000000000000000 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +CIPHERTEXT = d106ff0bed5255d7 +PLAINTEXT = 0000000000000000 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +CIPHERTEXT = e1652c6b138c64a5 +PLAINTEXT = 0000000000000000 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +CIPHERTEXT = e428581186ec8f46 +PLAINTEXT = 0000000000000000 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +CIPHERTEXT = aeb5f5ede22d1a36 +PLAINTEXT = 0000000000000000 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +CIPHERTEXT = e943d7568aec0c5c +PLAINTEXT = 0000000000000000 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +CIPHERTEXT = df98c8276f54b04b +PLAINTEXT = 0000000000000000 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +CIPHERTEXT = b160e4680f6c696f +PLAINTEXT = 0000000000000000 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +CIPHERTEXT = fa0752b07d9c4ab8 +PLAINTEXT = 0000000000000000 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +CIPHERTEXT = ca3a2b036dbc8502 +PLAINTEXT = 0000000000000000 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +CIPHERTEXT = 5e0905517bb59bcf +PLAINTEXT = 0000000000000000 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +CIPHERTEXT = 814eeb3b91d90726 +PLAINTEXT = 0000000000000000 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +CIPHERTEXT = 4d49db1532919c9f +PLAINTEXT = 0000000000000000 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +CIPHERTEXT = 25eb5fc3f8cf0621 +PLAINTEXT = 0000000000000000 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +CIPHERTEXT = ab6a20c0620d1c6f +PLAINTEXT = 0000000000000000 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +CIPHERTEXT = 79e90dbc98f92cca +PLAINTEXT = 0000000000000000 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +CIPHERTEXT = 866ecedd8072bb0e +PLAINTEXT = 0000000000000000 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +CIPHERTEXT = 8b54536f2f3e64a8 +PLAINTEXT = 0000000000000000 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +CIPHERTEXT = ea51d3975595b86b +PLAINTEXT = 0000000000000000 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +CIPHERTEXT = caffc6ac4542de31 +PLAINTEXT = 0000000000000000 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +CIPHERTEXT = 8dd45a2ddf90796c +PLAINTEXT = 0000000000000000 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +CIPHERTEXT = 1029d55e880ec2d0 +PLAINTEXT = 0000000000000000 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +CIPHERTEXT = 5d86cb23639dbea9 +PLAINTEXT = 0000000000000000 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +CIPHERTEXT = 1d1ca853ae7c0c5f +PLAINTEXT = 0000000000000000 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +CIPHERTEXT = ce332329248f3228 +PLAINTEXT = 0000000000000000 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +CIPHERTEXT = 8405d1abe24fb942 +PLAINTEXT = 0000000000000000 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +CIPHERTEXT = e643d78090ca4207 +PLAINTEXT = 0000000000000000 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +CIPHERTEXT = 48221b9937748a23 +PLAINTEXT = 0000000000000000 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +CIPHERTEXT = dd7c0bbd61fafd54 +PLAINTEXT = 0000000000000000 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +CIPHERTEXT = 2fbc291a570db5c4 +PLAINTEXT = 0000000000000000 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +CIPHERTEXT = e07c30d7e4e26e12 +PLAINTEXT = 0000000000000000 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +CIPHERTEXT = 0953e2258e8e90a1 +PLAINTEXT = 0000000000000000 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +CIPHERTEXT = 5b711bc4ceebf2ee +PLAINTEXT = 0000000000000000 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +CIPHERTEXT = cc083f1e6d9e85f6 +PLAINTEXT = 0000000000000000 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +CIPHERTEXT = d2fd8867d50d2dfe +PLAINTEXT = 0000000000000000 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +CIPHERTEXT = 06e7ea22ce92708f +PLAINTEXT = 0000000000000000 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +CIPHERTEXT = 166b40b44aba4bd6 +PLAINTEXT = 0000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64permop.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64permop.rsp new file mode 100644 index 000000000..e3abab2cf --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64permop.rsp @@ -0,0 +1,392 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# PERMUTATION OPERATION - KAT for CFB64 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 88d55e54f54c97b4 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0c0cc00c83ea48fd + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 83bc8ef3a6570183 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df725dcad94ea2e9 + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e652b53b550be8b0 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = af527120c485cbb0 + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0f04ce393db926d5 + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c9f00ffc74079067 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7cfd82a593252b4e + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cb49a2f9e91363e3 + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 00b588be70d23f56 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 406a9a6ab43399ae + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6cb773611dca9ada + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 67fd21c17dbb5d70 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9592cb4110430787 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a6b7ff68a318ddd3 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4d102196c914ca16 + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2dfa9f4573594965 + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b46604816c0e0774 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6e7e6221a4f34e87 + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aa85e74643233199 + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2e5a19db4d1962d6 + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 23a866a809d30894 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d812d961f017d320 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 055605816e58608f + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = abd88e8b1b7716f1 + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 537ac95be69da1e1 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aed0f6ae3c25cdd8 + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b3e35a5ee53e7b8d + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 61c79c71921a2ef8 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e2f5728f0995013c + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1aeac39a61f0a464 + +[DECRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 88d55e54f54c97b4 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0c0cc00c83ea48fd + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 83bc8ef3a6570183 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = df725dcad94ea2e9 + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e652b53b550be8b0 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = af527120c485cbb0 + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0f04ce393db926d5 + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c9f00ffc74079067 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7cfd82a593252b4e + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = cb49a2f9e91363e3 + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 00b588be70d23f56 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 406a9a6ab43399ae + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6cb773611dca9ada + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 67fd21c17dbb5d70 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9592cb4110430787 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a6b7ff68a318ddd3 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4d102196c914ca16 + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2dfa9f4573594965 + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b46604816c0e0774 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6e7e6221a4f34e87 + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = aa85e74643233199 + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2e5a19db4d1962d6 + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 23a866a809d30894 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d812d961f017d320 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 055605816e58608f + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = abd88e8b1b7716f1 + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 537ac95be69da1e1 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = aed0f6ae3c25cdd8 + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b3e35a5ee53e7b8d + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 61c79c71921a2ef8 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e2f5728f0995013c + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1aeac39a61f0a464 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64subtab.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64subtab.rsp new file mode 100644 index 000000000..8fd9597f8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64subtab.rsp @@ -0,0 +1,236 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# SUBSTITUTION TABLE - KAT for CFB64 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 01a1d6d039776742 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 690f5b0d9a26939b + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 5cd54ca83def57da +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7a389d10354bd271 + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0248d43806f67172 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 868ebb51cab4599a + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 51454b582ddf440a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7178876e01f19b2a + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 42fd443059577fa2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = af37fb421f8c4095 + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 059b5e0851cf143a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 86a560f10ec6d85b + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0756d8e0774761d2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0cd3da020021dc09 + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 762514b829bf486a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ea676b2cb7db2b7a + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 3bdd119049372802 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dfd64a815caf1a0f + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 26955f6835af609a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5c513c9c4886c088 + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 164d5e404f275232 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0a2aeeae3ff4ab77 + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 6b056e18759f5cca +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ef1bf03e5dfa575a + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 004bd6ef09176062 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 88bf0db6d70dee56 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 480d39006ee762f2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a1f9915541020b56 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 437540c8698f3cfa +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6fbf1cafcffd0556 + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 072d43a077075292 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2f22e49bab7ca1ac + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 02fe55778117f12a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5a6b612cc26cce4a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 1d9d5c5018f728c2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5f4c038ed12b2e41 + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 305532286d6f295a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 63fac0d034d9f793 + +[DECRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 01a1d6d039776742 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 690f5b0d9a26939b + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 5cd54ca83def57da +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7a389d10354bd271 + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0248d43806f67172 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 868ebb51cab4599a + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 51454b582ddf440a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7178876e01f19b2a + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 42fd443059577fa2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = af37fb421f8c4095 + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 059b5e0851cf143a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 86a560f10ec6d85b + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0756d8e0774761d2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0cd3da020021dc09 + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 762514b829bf486a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ea676b2cb7db2b7a + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 3bdd119049372802 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dfd64a815caf1a0f + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 26955f6835af609a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5c513c9c4886c088 + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 164d5e404f275232 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0a2aeeae3ff4ab77 + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 6b056e18759f5cca +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ef1bf03e5dfa575a + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 004bd6ef09176062 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 88bf0db6d70dee56 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 480d39006ee762f2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a1f9915541020b56 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 437540c8698f3cfa +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6fbf1cafcffd0556 + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 072d43a077075292 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2f22e49bab7ca1ac + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 02fe55778117f12a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5a6b612cc26cce4a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 1d9d5c5018f728c2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5f4c038ed12b2e41 + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 305532286d6f295a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 63fac0d034d9f793 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64varkey.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64varkey.rsp new file mode 100644 index 000000000..da39e70c0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64varkey.rsp @@ -0,0 +1,680 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE KEY - KAT for CFB64 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 95a8d72813daa94d + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0eec1487dd8c26d5 + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7ad16ffb79c45926 + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d3746294ca6a6cf3 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 809f5f873c1fd761 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c02faffec989d1fc + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4615aa1d33e72f10 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2055123350c00858 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df3b99d6577397c8 + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 31fe17369b5288c9 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dfdd3cc64dae1642 + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 178c83ce2b399d94 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 50f636324a9b7f80 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a8468ee3bc18f06d + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a2dc9e92fd3cde92 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cac09f797d031287 + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 90ba680b22aeb525 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ce7a24f350e280b6 + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 882bff0aa01a0b87 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 25610288924511c2 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c71516c29c75d170 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5199c29a52c9f059 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c22f0a294a71f29f + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ee371483714c02ea + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a81fbd448f9e522f + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4f644c92e192dfed + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1afa9a66a6df92ae + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b3c1cc715cb879d8 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 19d032e64ab0bd8b + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 3cfaa7a7dc8720dc + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b7265f7f447ac6f3 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9db73b3c0d163f54 + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8181b65babf4a975 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 93c9b64042eaa240 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5570530829705592 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8638809e878787a0 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 41b9a79af79ac208 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7a9be42f2009a892 + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 29038d56ba6d2745 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5495c6abf1e5df51 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ae13dbd561488933 + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 024d1ffa8904e389 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d1399712f99bf02e + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 14c1d7c1cffec79e + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1de5279dae3bed6f + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e941a33f85501303 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = da99dbbc9a03f379 + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b7fc92f91d8e92e9 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ae8e5caa3ca04e85 + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9cc62df43b6eed74 + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d863dbb5c59a91a0 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a1ab2190545b91d7 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0875041e64c570f7 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5a594528bebef1cc + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = fcdb3291de21f0c0 + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 869efd7f9f265a09 + +[DECRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 95a8d72813daa94d + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0eec1487dd8c26d5 + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7ad16ffb79c45926 + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d3746294ca6a6cf3 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 809f5f873c1fd761 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c02faffec989d1fc + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4615aa1d33e72f10 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2055123350c00858 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = df3b99d6577397c8 + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 31fe17369b5288c9 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dfdd3cc64dae1642 + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 178c83ce2b399d94 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 50f636324a9b7f80 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a8468ee3bc18f06d + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a2dc9e92fd3cde92 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = cac09f797d031287 + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 90ba680b22aeb525 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ce7a24f350e280b6 + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 882bff0aa01a0b87 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 25610288924511c2 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c71516c29c75d170 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5199c29a52c9f059 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c22f0a294a71f29f + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ee371483714c02ea + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a81fbd448f9e522f + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4f644c92e192dfed + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1afa9a66a6df92ae + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b3c1cc715cb879d8 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 19d032e64ab0bd8b + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 3cfaa7a7dc8720dc + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b7265f7f447ac6f3 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9db73b3c0d163f54 + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8181b65babf4a975 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 93c9b64042eaa240 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5570530829705592 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8638809e878787a0 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 41b9a79af79ac208 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7a9be42f2009a892 + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 29038d56ba6d2745 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5495c6abf1e5df51 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ae13dbd561488933 + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 024d1ffa8904e389 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d1399712f99bf02e + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 14c1d7c1cffec79e + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1de5279dae3bed6f + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e941a33f85501303 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = da99dbbc9a03f379 + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b7fc92f91d8e92e9 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ae8e5caa3ca04e85 + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9cc62df43b6eed74 + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d863dbb5c59a91a0 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a1ab2190545b91d7 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0875041e64c570f7 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5a594528bebef1cc + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = fcdb3291de21f0c0 + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 869efd7f9f265a09 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64vartext.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64vartext.rsp new file mode 100644 index 000000000..42c17c973 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB64vartext.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB64 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 95f8a5e5dd31d900 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dd7f121ca5015619 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2e8653104f3834ea + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4bd388ff6cd81d4f + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 20b9e767b2fb1456 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 55579380d77138ef + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6cc5defaaf04512f + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0d9f279ba5d87260 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d9031b0271bd5a0a + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 424250b37c3dd951 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b8061b7ecd9a21e5 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = f15d0f286b65bd28 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = add0cc8d6e5deba1 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e6d5f82752ad63d1 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ecbfe3bd3f591a5e + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = f356834379d165cd + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2b9f982f20037fa9 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 889de068a16f0be6 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e19e275d846a1298 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 329a8ed523d71aec + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e7fce22557d23c97 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 12a9f5817ff2d65d + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a484c3ad38dc9c19 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = fbe00a8a1ef8ad72 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 750d079407521363 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 64feed9c724c2faf + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = f02b263b328e2b60 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9d64555a9a10b852 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d106ff0bed5255d7 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e1652c6b138c64a5 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e428581186ec8f46 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aeb5f5ede22d1a36 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e943d7568aec0c5c + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df98c8276f54b04b + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b160e4680f6c696f + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = fa0752b07d9c4ab8 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ca3a2b036dbc8502 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5e0905517bb59bcf + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 814eeb3b91d90726 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4d49db1532919c9f + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 25eb5fc3f8cf0621 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ab6a20c0620d1c6f + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 79e90dbc98f92cca + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 866ecedd8072bb0e + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8b54536f2f3e64a8 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ea51d3975595b86b + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = caffc6ac4542de31 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8dd45a2ddf90796c + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1029d55e880ec2d0 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5d86cb23639dbea9 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1d1ca853ae7c0c5f + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ce332329248f3228 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8405d1abe24fb942 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e643d78090ca4207 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 48221b9937748a23 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dd7c0bbd61fafd54 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2fbc291a570db5c4 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e07c30d7e4e26e12 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0953e2258e8e90a1 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5b711bc4ceebf2ee + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cc083f1e6d9e85f6 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d2fd8867d50d2dfe + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 06e7ea22ce92708f + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 166b40b44aba4bd6 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 95f8a5e5dd31d900 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dd7f121ca5015619 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2e8653104f3834ea + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4bd388ff6cd81d4f + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 20b9e767b2fb1456 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 55579380d77138ef + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6cc5defaaf04512f + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0d9f279ba5d87260 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d9031b0271bd5a0a + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 424250b37c3dd951 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b8061b7ecd9a21e5 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = f15d0f286b65bd28 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = add0cc8d6e5deba1 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e6d5f82752ad63d1 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ecbfe3bd3f591a5e + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = f356834379d165cd + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2b9f982f20037fa9 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 889de068a16f0be6 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e19e275d846a1298 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 329a8ed523d71aec + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e7fce22557d23c97 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 12a9f5817ff2d65d + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a484c3ad38dc9c19 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = fbe00a8a1ef8ad72 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 750d079407521363 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 64feed9c724c2faf + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = f02b263b328e2b60 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9d64555a9a10b852 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d106ff0bed5255d7 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e1652c6b138c64a5 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e428581186ec8f46 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = aeb5f5ede22d1a36 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e943d7568aec0c5c + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = df98c8276f54b04b + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b160e4680f6c696f + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = fa0752b07d9c4ab8 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ca3a2b036dbc8502 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5e0905517bb59bcf + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 814eeb3b91d90726 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4d49db1532919c9f + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 25eb5fc3f8cf0621 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ab6a20c0620d1c6f + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 79e90dbc98f92cca + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 866ecedd8072bb0e + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8b54536f2f3e64a8 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ea51d3975595b86b + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = caffc6ac4542de31 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8dd45a2ddf90796c + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1029d55e880ec2d0 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5d86cb23639dbea9 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1d1ca853ae7c0c5f + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ce332329248f3228 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8405d1abe24fb942 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e643d78090ca4207 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 48221b9937748a23 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dd7c0bbd61fafd54 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2fbc291a570db5c4 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e07c30d7e4e26e12 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0953e2258e8e90a1 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5b711bc4ceebf2ee + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = cc083f1e6d9e85f6 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d2fd8867d50d2dfe + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 06e7ea22ce92708f + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 166b40b44aba4bd6 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8MMT2.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8MMT2.rsp new file mode 100644 index 000000000..283410aca --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8MMT2.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for CFB8 +# State : Encrypt and Decrypt +# Thu Apr 21 10:41:25 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = 10974a0838972925 +KEY2 = c14592918ca26e52 +KEY3 = 10974a0838972925 +IV = 981a620eae5772d0 +PLAINTEXT = 29 +CIPHERTEXT = 63 + +COUNT = 1 +KEY1 = 1c6e759de097e0f1 +KEY2 = 45ecc4435e38547f +KEY3 = 1c6e759de097e0f1 +IV = 13d6c4c6132435a5 +PLAINTEXT = 1e07 +CIPHERTEXT = cc92 + +COUNT = 2 +KEY1 = 4951c246dc9e024a +KEY2 = 9d25a745a7b0314c +KEY3 = 4951c246dc9e024a +IV = 159f942b6e3a0837 +PLAINTEXT = 4d5bff +CIPHERTEXT = 688c16 + +COUNT = 3 +KEY1 = 731f3edcbfcdae54 +KEY2 = d9b3234926975752 +KEY3 = 731f3edcbfcdae54 +IV = cb959f7c6ac4397e +PLAINTEXT = a8fad1d9 +CIPHERTEXT = f7faa536 + +COUNT = 4 +KEY1 = 513bdffb0191e01a +KEY2 = 323bf24fe0ad7094 +KEY3 = 513bdffb0191e01a +IV = 3f71be1d5df4d531 +PLAINTEXT = dd0d936f83 +CIPHERTEXT = 485eaa5745 + +COUNT = 5 +KEY1 = 04e6e3b5dabc8f68 +KEY2 = 9bc210cbe046c42f +KEY3 = 04e6e3b5dabc8f68 +IV = d52963045e0b8973 +PLAINTEXT = e327ff39376a +CIPHERTEXT = c0fead2ada9d + +COUNT = 6 +KEY1 = 37a2dca1373e7ab9 +KEY2 = b3793ba780020b3d +KEY3 = 37a2dca1373e7ab9 +IV = ac22fca72b818b3a +PLAINTEXT = dd3cea7250c005 +CIPHERTEXT = 86f6ff297bce85 + +COUNT = 7 +KEY1 = 8ca88031613be5ea +KEY2 = a20bd5a416cd7364 +KEY3 = 8ca88031613be5ea +IV = 28f85aaf75451abe +PLAINTEXT = d9e6679acc0369c9 +CIPHERTEXT = 433ee3de329fc22e + +COUNT = 8 +KEY1 = 8c9bfe192a49ae26 +KEY2 = e931fd9eda34a2dc +KEY3 = 8c9bfe192a49ae26 +IV = 9518ba87755f70fb +PLAINTEXT = 11e484ca3c0a6570a7 +CIPHERTEXT = 5edf587230f2dbe561 + +COUNT = 9 +KEY1 = 46fee010313b8646 +KEY2 = 3b94d3ef0d861034 +KEY3 = 46fee010313b8646 +IV = 1e010e7780cc221d +PLAINTEXT = 67cd38d16b9b8604bd2a +CIPHERTEXT = 8474ca363c9da2122e06 + +[DECRYPT] + +COUNT = 0 +KEY1 = 156b57ba51bf9798 +KEY2 = 3d25c82fae107325 +KEY3 = 156b57ba51bf9798 +IV = cb37f85a32dfac76 +CIPHERTEXT = 86 +PLAINTEXT = ec + +COUNT = 1 +KEY1 = f2cd94e3fbe508a4 +KEY2 = 3def8cc845ef8345 +KEY3 = f2cd94e3fbe508a4 +IV = ee04103555f9f28b +CIPHERTEXT = 19b4 +PLAINTEXT = e43b + +COUNT = 2 +KEY1 = b56b75c8abda7af8 +KEY2 = 20fb291abf982abf +KEY3 = b56b75c8abda7af8 +IV = bcd5136924ee0803 +CIPHERTEXT = 1ef393 +PLAINTEXT = ae8dc1 + +COUNT = 3 +KEY1 = 68d5c7c11a2001f7 +KEY2 = 31f78c432cf208bf +KEY3 = 68d5c7c11a2001f7 +IV = f6f7bacc7417c98e +CIPHERTEXT = 78274327 +PLAINTEXT = fec33a03 + +COUNT = 4 +KEY1 = 19207aceabc2df0b +KEY2 = c75770706db5a815 +KEY3 = 19207aceabc2df0b +IV = c04b79f32a84a812 +CIPHERTEXT = de152e1968 +PLAINTEXT = fda13e42d2 + +COUNT = 5 +KEY1 = 2ac4d970dce60d40 +KEY2 = 5764b9319e4626ea +KEY3 = 2ac4d970dce60d40 +IV = fa5fa524a5561512 +CIPHERTEXT = 872d732bd709 +PLAINTEXT = 8b6362f6a594 + +COUNT = 6 +KEY1 = 8fe05e38a1b6f467 +KEY2 = 91e6fbef3bc8f26d +KEY3 = 8fe05e38a1b6f467 +IV = ffcd3012f896fe73 +CIPHERTEXT = 6ee1be3a82a3c0 +PLAINTEXT = 74235c7fd4a4fc + +COUNT = 7 +KEY1 = e5d3e602d55e6d2c +KEY2 = f2ba2f624c6258c2 +KEY3 = e5d3e602d55e6d2c +IV = 9f216e3e175b177e +CIPHERTEXT = 1cd3fc46071b473d +PLAINTEXT = 5325ad42dbc91668 + +COUNT = 8 +KEY1 = 26201ce30b10b510 +KEY2 = 0402d61983683780 +KEY3 = 26201ce30b10b510 +IV = fff000182c479e97 +CIPHERTEXT = 457fa3ef53fd72ea68 +PLAINTEXT = 6b08a5d85f067e7c84 + +COUNT = 9 +KEY1 = bad51a49addca8dc +KEY2 = 8cb34c014f58d926 +KEY3 = bad51a49addca8dc +IV = 67fc8ed538db3d24 +CIPHERTEXT = c9d3b57e853ce00afcc7 +PLAINTEXT = 40acb676285c5461633a diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8MMT3.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8MMT3.rsp new file mode 100644 index 000000000..58d0e3215 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8MMT3.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for CFB8 +# State : Encrypt and Decrypt +# Thu Apr 21 10:40:59 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = 2c01a4cdd03db973 +KEY2 = cbfb2cfe3e8afe45 +KEY3 = 13ad5b0b4561987c +IV = d984d325e1463f0b +PLAINTEXT = a6 +CIPHERTEXT = 7c + +COUNT = 1 +KEY1 = 0e86265407f71323 +KEY2 = 91c425087f29b36e +KEY3 = c16768764a43b051 +IV = d7802ba95caac0f4 +PLAINTEXT = c2ad +CIPHERTEXT = 02fc + +COUNT = 2 +KEY1 = 802089737f6449d3 +KEY2 = 92cdb9d3dcf18cdc +KEY3 = 8c8997987cc70145 +IV = 4d5fecec27357b44 +PLAINTEXT = 086ac2 +CIPHERTEXT = 54c9f5 + +COUNT = 3 +KEY1 = c18364c1548c3ba1 +KEY2 = 40756d7f452c3780 +KEY3 = c43b7a0ec40701fe +IV = 5b1ccf7d0dc1ec49 +PLAINTEXT = 120cfb4b +CIPHERTEXT = 2a97241b + +COUNT = 4 +KEY1 = f16758f28a8a5ed0 +KEY2 = b016ea04e9d5bcbf +KEY3 = 0d0202c7d97a4349 +IV = 183cbbea099c4499 +PLAINTEXT = 3b96d1e931 +CIPHERTEXT = b60ad03c94 + +COUNT = 5 +KEY1 = 4cfd587c162692e6 +KEY2 = fbf82567ba1ad05d +KEY3 = 8f042f3ed568948a +IV = 6589d1cc928f5e8b +PLAINTEXT = 881b128cb276 +CIPHERTEXT = 47aef3253ab5 + +COUNT = 6 +KEY1 = 94feb957087a0473 +KEY2 = 9e32d5bfc4dcc761 +KEY3 = b9a40ef8bc1a6ed5 +IV = 6c854f1fda154c62 +PLAINTEXT = 4f40c46277205a +CIPHERTEXT = 7a915c6e7a6b48 + +COUNT = 7 +KEY1 = 75aee589fee9f752 +KEY2 = a813d30e97459401 +KEY3 = a7fb1c8a2a316431 +IV = 0e55d73d75ff7e99 +PLAINTEXT = 9d4b1dc660ff4f87 +CIPHERTEXT = c0b46fbd560d6d1d + +COUNT = 8 +KEY1 = 3ec1ea0dc1830ead +KEY2 = 4cb310ef4f799229 +KEY3 = d54a38f1f4580bce +IV = bf8c3776a4460f14 +PLAINTEXT = 12205ce53f3d535436 +CIPHERTEXT = 2d0552e1678de8eb19 + +COUNT = 9 +KEY1 = df97ab263768d6f4 +KEY2 = 61866e1c86d57a54 +KEY3 = 1301734c5dc86dae +IV = d0ddad02a219226d +PLAINTEXT = d5db2469ae56ecac5164 +CIPHERTEXT = 14a0743bf00ae9ec3c24 + +[DECRYPT] + +COUNT = 0 +KEY1 = 794332b0c1a1bc67 +KEY2 = 58e0fd3db6ce5edf +KEY3 = 97b5261c3efdc8fd +IV = 9e748d62b6b08d89 +CIPHERTEXT = 7c +PLAINTEXT = f5 + +COUNT = 1 +KEY1 = da2ac7b94373ae08 +KEY2 = f43e52f17adf299d +KEY3 = 19a8d65d8ce98552 +IV = a0a985fba6f0e287 +CIPHERTEXT = eed6 +PLAINTEXT = 1f38 + +COUNT = 2 +KEY1 = c44fd5c2ad51ec6e +KEY2 = e96b207397944c38 +KEY3 = f43e58d002cdc876 +IV = 866990192fcb8fe8 +CIPHERTEXT = 52ee53 +PLAINTEXT = dbca97 + +COUNT = 3 +KEY1 = d589fe61ad649468 +KEY2 = 925ea445ba402c5b +KEY3 = 2c3d7ce6d56ea757 +IV = 191012482294edc9 +CIPHERTEXT = 91827345 +PLAINTEXT = 4f98b5f9 + +COUNT = 4 +KEY1 = 85c1a26b2f3b0123 +KEY2 = 0b857308e3758f3b +KEY3 = 04d929913bc4fe76 +IV = 5017091444f1a01d +CIPHERTEXT = f4d52ab232 +PLAINTEXT = c98f8f2fb0 + +COUNT = 5 +KEY1 = 3def8cc26b4043e6 +KEY2 = 54016892e0c719cb +KEY3 = f43d5ebc3e16ea0e +IV = 282d971ab9154bfc +CIPHERTEXT = 501bf5621d1c +PLAINTEXT = 7d20463809f2 + +COUNT = 6 +KEY1 = b93bdfd9eaa7c8d0 +KEY2 = 8c2cea92e3459104 +KEY3 = 23e6898fa71323ae +IV = 8938fb2f4a451f20 +CIPHERTEXT = 5a1ec997ab250a +PLAINTEXT = fb86bebacdc49b + +COUNT = 7 +KEY1 = eac87ce6cda89e86 +KEY2 = 3be9f113abdc8640 +KEY3 = 7f1fda10982ce683 +IV = aaa0d1339b69da28 +CIPHERTEXT = 5cf220f5c41db440 +PLAINTEXT = 15b61b819a87e043 + +COUNT = 8 +KEY1 = 6e801c048608572c +KEY2 = f7377954c88670f1 +KEY3 = 43384f97c719aebc +IV = 0cd3acc30b3a8c28 +CIPHERTEXT = 82ffaca76028259d96 +PLAINTEXT = 94132101971de7e090 + +COUNT = 9 +KEY1 = 649d3267dc752c34 +KEY2 = 1f26d0b6cbf2402f +KEY3 = cbe6cb6bce5173fb +IV = 179f4f591aab2df7 +CIPHERTEXT = 450ca7f4e01057ec201f +PLAINTEXT = 61b72b097b00a4824495 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8invperm.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8invperm.rsp new file mode 100644 index 000000000..67466b21b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8invperm.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# INVERSE PERMUTATION - KAT for CFB8 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +PLAINTEXT = 95 +CIPHERTEXT = 00 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +PLAINTEXT = dd +CIPHERTEXT = 00 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +PLAINTEXT = 2e +CIPHERTEXT = 00 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +PLAINTEXT = 4b +CIPHERTEXT = 00 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +PLAINTEXT = 20 +CIPHERTEXT = 00 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +PLAINTEXT = 55 +CIPHERTEXT = 00 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +PLAINTEXT = 6c +CIPHERTEXT = 00 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +PLAINTEXT = 0d +CIPHERTEXT = 00 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +PLAINTEXT = d9 +CIPHERTEXT = 00 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +PLAINTEXT = 42 +CIPHERTEXT = 00 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +PLAINTEXT = b8 +CIPHERTEXT = 00 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +PLAINTEXT = f1 +CIPHERTEXT = 00 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +PLAINTEXT = ad +CIPHERTEXT = 00 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +PLAINTEXT = e6 +CIPHERTEXT = 00 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +PLAINTEXT = ec +CIPHERTEXT = 00 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +PLAINTEXT = f3 +CIPHERTEXT = 00 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +PLAINTEXT = 2b +CIPHERTEXT = 00 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +PLAINTEXT = 88 +CIPHERTEXT = 00 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +PLAINTEXT = e1 +CIPHERTEXT = 00 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +PLAINTEXT = 32 +CIPHERTEXT = 00 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +PLAINTEXT = e7 +CIPHERTEXT = 00 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +PLAINTEXT = 12 +CIPHERTEXT = 00 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +PLAINTEXT = a4 +CIPHERTEXT = 00 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +PLAINTEXT = fb +CIPHERTEXT = 00 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +PLAINTEXT = 75 +CIPHERTEXT = 00 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +PLAINTEXT = 64 +CIPHERTEXT = 00 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +PLAINTEXT = f0 +CIPHERTEXT = 00 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +PLAINTEXT = 9d +CIPHERTEXT = 00 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +PLAINTEXT = d1 +CIPHERTEXT = 00 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +PLAINTEXT = e1 +CIPHERTEXT = 00 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +PLAINTEXT = e4 +CIPHERTEXT = 00 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +PLAINTEXT = ae +CIPHERTEXT = 00 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +PLAINTEXT = e9 +CIPHERTEXT = 00 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +PLAINTEXT = df +CIPHERTEXT = 00 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +PLAINTEXT = b1 +CIPHERTEXT = 00 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +PLAINTEXT = fa +CIPHERTEXT = 00 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +PLAINTEXT = ca +CIPHERTEXT = 00 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +PLAINTEXT = 5e +CIPHERTEXT = 00 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +PLAINTEXT = 81 +CIPHERTEXT = 00 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +PLAINTEXT = 4d +CIPHERTEXT = 00 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +PLAINTEXT = 25 +CIPHERTEXT = 00 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +PLAINTEXT = ab +CIPHERTEXT = 00 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +PLAINTEXT = 79 +CIPHERTEXT = 00 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +PLAINTEXT = 86 +CIPHERTEXT = 00 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +PLAINTEXT = 8b +CIPHERTEXT = 00 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +PLAINTEXT = ea +CIPHERTEXT = 00 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +PLAINTEXT = ca +CIPHERTEXT = 00 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +PLAINTEXT = 8d +CIPHERTEXT = 00 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +PLAINTEXT = 10 +CIPHERTEXT = 00 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +PLAINTEXT = 5d +CIPHERTEXT = 00 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +PLAINTEXT = 1d +CIPHERTEXT = 00 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +PLAINTEXT = ce +CIPHERTEXT = 00 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +PLAINTEXT = 84 +CIPHERTEXT = 00 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +PLAINTEXT = e6 +CIPHERTEXT = 00 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +PLAINTEXT = 48 +CIPHERTEXT = 00 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +PLAINTEXT = dd +CIPHERTEXT = 00 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +PLAINTEXT = 2f +CIPHERTEXT = 00 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +PLAINTEXT = e0 +CIPHERTEXT = 00 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +PLAINTEXT = 09 +CIPHERTEXT = 00 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +PLAINTEXT = 5b +CIPHERTEXT = 00 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +PLAINTEXT = cc +CIPHERTEXT = 00 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +PLAINTEXT = d2 +CIPHERTEXT = 00 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +PLAINTEXT = 06 +CIPHERTEXT = 00 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +PLAINTEXT = 16 +CIPHERTEXT = 00 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +CIPHERTEXT = 95 +PLAINTEXT = 00 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +CIPHERTEXT = 2e +PLAINTEXT = 00 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +CIPHERTEXT = 4b +PLAINTEXT = 00 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +CIPHERTEXT = 20 +PLAINTEXT = 00 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +CIPHERTEXT = 55 +PLAINTEXT = 00 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +CIPHERTEXT = 6c +PLAINTEXT = 00 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +CIPHERTEXT = 0d +PLAINTEXT = 00 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +CIPHERTEXT = d9 +PLAINTEXT = 00 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +CIPHERTEXT = 42 +PLAINTEXT = 00 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +CIPHERTEXT = b8 +PLAINTEXT = 00 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +CIPHERTEXT = f1 +PLAINTEXT = 00 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +CIPHERTEXT = ad +PLAINTEXT = 00 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +CIPHERTEXT = e6 +PLAINTEXT = 00 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +CIPHERTEXT = ec +PLAINTEXT = 00 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +CIPHERTEXT = f3 +PLAINTEXT = 00 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +CIPHERTEXT = 2b +PLAINTEXT = 00 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +CIPHERTEXT = 88 +PLAINTEXT = 00 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +CIPHERTEXT = e1 +PLAINTEXT = 00 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +CIPHERTEXT = 32 +PLAINTEXT = 00 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +CIPHERTEXT = e7 +PLAINTEXT = 00 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +CIPHERTEXT = 12 +PLAINTEXT = 00 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +CIPHERTEXT = a4 +PLAINTEXT = 00 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +CIPHERTEXT = fb +PLAINTEXT = 00 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +CIPHERTEXT = 75 +PLAINTEXT = 00 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +CIPHERTEXT = 64 +PLAINTEXT = 00 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +CIPHERTEXT = f0 +PLAINTEXT = 00 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +CIPHERTEXT = 9d +PLAINTEXT = 00 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +CIPHERTEXT = d1 +PLAINTEXT = 00 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +CIPHERTEXT = e1 +PLAINTEXT = 00 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +CIPHERTEXT = e4 +PLAINTEXT = 00 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +CIPHERTEXT = ae +PLAINTEXT = 00 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +CIPHERTEXT = e9 +PLAINTEXT = 00 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +CIPHERTEXT = df +PLAINTEXT = 00 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +CIPHERTEXT = b1 +PLAINTEXT = 00 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +CIPHERTEXT = fa +PLAINTEXT = 00 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +CIPHERTEXT = 5e +PLAINTEXT = 00 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +CIPHERTEXT = 81 +PLAINTEXT = 00 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +CIPHERTEXT = 4d +PLAINTEXT = 00 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +CIPHERTEXT = 25 +PLAINTEXT = 00 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +CIPHERTEXT = ab +PLAINTEXT = 00 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +CIPHERTEXT = 79 +PLAINTEXT = 00 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +CIPHERTEXT = 86 +PLAINTEXT = 00 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +CIPHERTEXT = 8b +PLAINTEXT = 00 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +CIPHERTEXT = ea +PLAINTEXT = 00 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +CIPHERTEXT = ca +PLAINTEXT = 00 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +CIPHERTEXT = 8d +PLAINTEXT = 00 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +CIPHERTEXT = 10 +PLAINTEXT = 00 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +CIPHERTEXT = 5d +PLAINTEXT = 00 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +CIPHERTEXT = 1d +PLAINTEXT = 00 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +CIPHERTEXT = ce +PLAINTEXT = 00 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +CIPHERTEXT = 84 +PLAINTEXT = 00 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +CIPHERTEXT = e6 +PLAINTEXT = 00 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +CIPHERTEXT = 48 +PLAINTEXT = 00 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +CIPHERTEXT = dd +PLAINTEXT = 00 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +CIPHERTEXT = 2f +PLAINTEXT = 00 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +CIPHERTEXT = e0 +PLAINTEXT = 00 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +CIPHERTEXT = 09 +PLAINTEXT = 00 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +CIPHERTEXT = 5b +PLAINTEXT = 00 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +CIPHERTEXT = cc +PLAINTEXT = 00 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +CIPHERTEXT = d2 +PLAINTEXT = 00 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +CIPHERTEXT = 06 +PLAINTEXT = 00 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +CIPHERTEXT = 16 +PLAINTEXT = 00 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8permop.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8permop.rsp new file mode 100644 index 000000000..ae6b2ffc8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8permop.rsp @@ -0,0 +1,392 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# PERMUTATION OPERATION - KAT for CFB8 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 88 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0c + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 83 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e6 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = af + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0f + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c9 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7c + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = cb + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 00 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 40 + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 67 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 95 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a6 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4d + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2d + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b4 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6e + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = aa + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 23 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 05 + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 53 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ae + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b3 + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 61 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e2 + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1a + +[DECRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 88 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 0c + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 83 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = df + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = e6 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = af + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 0f + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = c9 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 7c + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = cb + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 00 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 40 + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 6c + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 67 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 95 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = a6 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 4d + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 2d + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = b4 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 6e + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = aa + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 2e + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 23 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = d8 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 05 + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ab + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 53 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ae + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = b3 + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 61 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = e2 + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 1a + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8subtab.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8subtab.rsp new file mode 100644 index 000000000..265c94409 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8subtab.rsp @@ -0,0 +1,236 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# SUBSTITUTION TABLE - KAT for CFB8 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 01a1d6d039776742 +PLAINTEXT = 00 +CIPHERTEXT = 69 + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 5cd54ca83def57da +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0248d43806f67172 +PLAINTEXT = 00 +CIPHERTEXT = 86 + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 51454b582ddf440a +PLAINTEXT = 00 +CIPHERTEXT = 71 + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 42fd443059577fa2 +PLAINTEXT = 00 +CIPHERTEXT = af + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 059b5e0851cf143a +PLAINTEXT = 00 +CIPHERTEXT = 86 + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0756d8e0774761d2 +PLAINTEXT = 00 +CIPHERTEXT = 0c + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 762514b829bf486a +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 3bdd119049372802 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 26955f6835af609a +PLAINTEXT = 00 +CIPHERTEXT = 5c + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 164d5e404f275232 +PLAINTEXT = 00 +CIPHERTEXT = 0a + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 6b056e18759f5cca +PLAINTEXT = 00 +CIPHERTEXT = ef + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 004bd6ef09176062 +PLAINTEXT = 00 +CIPHERTEXT = 88 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 480d39006ee762f2 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 437540c8698f3cfa +PLAINTEXT = 00 +CIPHERTEXT = 6f + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 072d43a077075292 +PLAINTEXT = 00 +CIPHERTEXT = 2f + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 02fe55778117f12a +PLAINTEXT = 00 +CIPHERTEXT = 5a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 1d9d5c5018f728c2 +PLAINTEXT = 00 +CIPHERTEXT = 5f + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 305532286d6f295a +PLAINTEXT = 00 +CIPHERTEXT = 63 + +[DECRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 01a1d6d039776742 +CIPHERTEXT = 00 +PLAINTEXT = 69 + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 5cd54ca83def57da +CIPHERTEXT = 00 +PLAINTEXT = 7a + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0248d43806f67172 +CIPHERTEXT = 00 +PLAINTEXT = 86 + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 51454b582ddf440a +CIPHERTEXT = 00 +PLAINTEXT = 71 + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 42fd443059577fa2 +CIPHERTEXT = 00 +PLAINTEXT = af + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 059b5e0851cf143a +CIPHERTEXT = 00 +PLAINTEXT = 86 + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0756d8e0774761d2 +CIPHERTEXT = 00 +PLAINTEXT = 0c + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 762514b829bf486a +CIPHERTEXT = 00 +PLAINTEXT = ea + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 3bdd119049372802 +CIPHERTEXT = 00 +PLAINTEXT = df + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 26955f6835af609a +CIPHERTEXT = 00 +PLAINTEXT = 5c + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 164d5e404f275232 +CIPHERTEXT = 00 +PLAINTEXT = 0a + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 6b056e18759f5cca +CIPHERTEXT = 00 +PLAINTEXT = ef + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 004bd6ef09176062 +CIPHERTEXT = 00 +PLAINTEXT = 88 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 480d39006ee762f2 +CIPHERTEXT = 00 +PLAINTEXT = a1 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 437540c8698f3cfa +CIPHERTEXT = 00 +PLAINTEXT = 6f + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 072d43a077075292 +CIPHERTEXT = 00 +PLAINTEXT = 2f + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 02fe55778117f12a +CIPHERTEXT = 00 +PLAINTEXT = 5a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 1d9d5c5018f728c2 +CIPHERTEXT = 00 +PLAINTEXT = 5f + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 305532286d6f295a +CIPHERTEXT = 00 +PLAINTEXT = 63 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8varkey.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8varkey.rsp new file mode 100644 index 000000000..037b17116 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8varkey.rsp @@ -0,0 +1,680 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE KEY - KAT for CFB8 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 95 + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0e + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d3 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 80 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c0 + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 46 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 20 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 31 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 17 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 50 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a2 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 90 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ce + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 88 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 25 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c7 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 51 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = c2 + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ee + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a8 + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4f + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1a + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b3 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 19 + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 3c + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b7 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9d + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 81 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 93 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 55 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 86 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 41 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 7a + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 29 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 54 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ae + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 02 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d1 + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 14 + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 1d + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e9 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = da + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b7 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ae + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9c + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d8 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = a1 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 08 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 5a + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = fc + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 86 + +[DECRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 95 + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 0e + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 7a + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = d3 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 80 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = c0 + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 46 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 20 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = df + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 31 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = df + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 17 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 50 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = a8 + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = a2 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ca + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 90 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ce + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 88 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 25 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = c7 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 51 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = c2 + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ee + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = a8 + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 4f + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 1a + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = b3 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 19 + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 3c + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = b7 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 9d + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 81 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 93 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 55 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 86 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 41 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 7a + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 29 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 54 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ae + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 02 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = d1 + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 14 + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 1d + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = e9 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = da + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = b7 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ae + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 9c + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = d8 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = a1 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 08 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 5a + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = fc + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 86 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8vartext.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8vartext.rsp new file mode 100644 index 000000000..3dfec5678 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TCFB8vartext.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB8 +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:13 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 95 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2e + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 4b + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 20 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 55 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 6c + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 0d + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +PLAINTEXT = 00 +CIPHERTEXT = d9 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +PLAINTEXT = 00 +CIPHERTEXT = 42 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +PLAINTEXT = 00 +CIPHERTEXT = b8 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f1 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ad + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +PLAINTEXT = 00 +CIPHERTEXT = e6 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +PLAINTEXT = 00 +CIPHERTEXT = ec + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +PLAINTEXT = 00 +CIPHERTEXT = f3 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +PLAINTEXT = 00 +CIPHERTEXT = 2b + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +PLAINTEXT = 00 +CIPHERTEXT = 88 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +PLAINTEXT = 00 +CIPHERTEXT = e1 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +PLAINTEXT = 00 +CIPHERTEXT = 32 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +PLAINTEXT = 00 +CIPHERTEXT = e7 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +PLAINTEXT = 00 +CIPHERTEXT = 12 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +PLAINTEXT = 00 +CIPHERTEXT = a4 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +PLAINTEXT = 00 +CIPHERTEXT = fb + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +PLAINTEXT = 00 +CIPHERTEXT = 75 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +PLAINTEXT = 00 +CIPHERTEXT = 64 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +PLAINTEXT = 00 +CIPHERTEXT = f0 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +PLAINTEXT = 00 +CIPHERTEXT = 9d + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +PLAINTEXT = 00 +CIPHERTEXT = d1 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +PLAINTEXT = 00 +CIPHERTEXT = e1 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +PLAINTEXT = 00 +CIPHERTEXT = e4 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +PLAINTEXT = 00 +CIPHERTEXT = ae + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +PLAINTEXT = 00 +CIPHERTEXT = e9 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +PLAINTEXT = 00 +CIPHERTEXT = df + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +PLAINTEXT = 00 +CIPHERTEXT = b1 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +PLAINTEXT = 00 +CIPHERTEXT = fa + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +PLAINTEXT = 00 +CIPHERTEXT = 5e + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +PLAINTEXT = 00 +CIPHERTEXT = 81 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +PLAINTEXT = 00 +CIPHERTEXT = 4d + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +PLAINTEXT = 00 +CIPHERTEXT = 25 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +PLAINTEXT = 00 +CIPHERTEXT = ab + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +PLAINTEXT = 00 +CIPHERTEXT = 79 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +PLAINTEXT = 00 +CIPHERTEXT = 86 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +PLAINTEXT = 00 +CIPHERTEXT = 8b + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +PLAINTEXT = 00 +CIPHERTEXT = ea + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +PLAINTEXT = 00 +CIPHERTEXT = ca + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +PLAINTEXT = 00 +CIPHERTEXT = 8d + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +PLAINTEXT = 00 +CIPHERTEXT = 10 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +PLAINTEXT = 00 +CIPHERTEXT = 5d + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +PLAINTEXT = 00 +CIPHERTEXT = 1d + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +PLAINTEXT = 00 +CIPHERTEXT = ce + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +PLAINTEXT = 00 +CIPHERTEXT = 84 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +PLAINTEXT = 00 +CIPHERTEXT = e6 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +PLAINTEXT = 00 +CIPHERTEXT = 48 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +PLAINTEXT = 00 +CIPHERTEXT = dd + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +PLAINTEXT = 00 +CIPHERTEXT = 2f + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +PLAINTEXT = 00 +CIPHERTEXT = e0 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +PLAINTEXT = 00 +CIPHERTEXT = 09 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +PLAINTEXT = 00 +CIPHERTEXT = 5b + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +PLAINTEXT = 00 +CIPHERTEXT = cc + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +PLAINTEXT = 00 +CIPHERTEXT = d2 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +PLAINTEXT = 00 +CIPHERTEXT = 06 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +PLAINTEXT = 00 +CIPHERTEXT = 16 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 95 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = dd + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 2e + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 4b + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 20 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 55 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 6c + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 0d + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +CIPHERTEXT = 00 +PLAINTEXT = d9 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +CIPHERTEXT = 00 +PLAINTEXT = 42 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +CIPHERTEXT = 00 +PLAINTEXT = b8 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +CIPHERTEXT = 00 +PLAINTEXT = f1 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ad + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +CIPHERTEXT = 00 +PLAINTEXT = e6 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +CIPHERTEXT = 00 +PLAINTEXT = ec + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +CIPHERTEXT = 00 +PLAINTEXT = f3 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +CIPHERTEXT = 00 +PLAINTEXT = 2b + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +CIPHERTEXT = 00 +PLAINTEXT = 88 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +CIPHERTEXT = 00 +PLAINTEXT = e1 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +CIPHERTEXT = 00 +PLAINTEXT = 32 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +CIPHERTEXT = 00 +PLAINTEXT = e7 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +CIPHERTEXT = 00 +PLAINTEXT = 12 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +CIPHERTEXT = 00 +PLAINTEXT = a4 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +CIPHERTEXT = 00 +PLAINTEXT = fb + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +CIPHERTEXT = 00 +PLAINTEXT = 75 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +CIPHERTEXT = 00 +PLAINTEXT = 64 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +CIPHERTEXT = 00 +PLAINTEXT = f0 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +CIPHERTEXT = 00 +PLAINTEXT = 9d + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +CIPHERTEXT = 00 +PLAINTEXT = d1 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +CIPHERTEXT = 00 +PLAINTEXT = e1 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +CIPHERTEXT = 00 +PLAINTEXT = e4 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +CIPHERTEXT = 00 +PLAINTEXT = ae + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +CIPHERTEXT = 00 +PLAINTEXT = e9 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +CIPHERTEXT = 00 +PLAINTEXT = df + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +CIPHERTEXT = 00 +PLAINTEXT = b1 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +CIPHERTEXT = 00 +PLAINTEXT = fa + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +CIPHERTEXT = 00 +PLAINTEXT = ca + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +CIPHERTEXT = 00 +PLAINTEXT = 5e + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +CIPHERTEXT = 00 +PLAINTEXT = 81 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +CIPHERTEXT = 00 +PLAINTEXT = 4d + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +CIPHERTEXT = 00 +PLAINTEXT = 25 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +CIPHERTEXT = 00 +PLAINTEXT = ab + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +CIPHERTEXT = 00 +PLAINTEXT = 79 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +CIPHERTEXT = 00 +PLAINTEXT = 86 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +CIPHERTEXT = 00 +PLAINTEXT = 8b + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +CIPHERTEXT = 00 +PLAINTEXT = ea + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +CIPHERTEXT = 00 +PLAINTEXT = ca + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +CIPHERTEXT = 00 +PLAINTEXT = 8d + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +CIPHERTEXT = 00 +PLAINTEXT = 10 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +CIPHERTEXT = 00 +PLAINTEXT = 5d + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +CIPHERTEXT = 00 +PLAINTEXT = 1d + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +CIPHERTEXT = 00 +PLAINTEXT = ce + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +CIPHERTEXT = 00 +PLAINTEXT = 84 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +CIPHERTEXT = 00 +PLAINTEXT = e6 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +CIPHERTEXT = 00 +PLAINTEXT = 48 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +CIPHERTEXT = 00 +PLAINTEXT = dd + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +CIPHERTEXT = 00 +PLAINTEXT = 2f + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +CIPHERTEXT = 00 +PLAINTEXT = e0 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +CIPHERTEXT = 00 +PLAINTEXT = 09 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +CIPHERTEXT = 00 +PLAINTEXT = 5b + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +CIPHERTEXT = 00 +PLAINTEXT = cc + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +CIPHERTEXT = 00 +PLAINTEXT = d2 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +CIPHERTEXT = 00 +PLAINTEXT = 06 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +CIPHERTEXT = 00 +PLAINTEXT = 16 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TECBMMT2.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TECBMMT2.rsp new file mode 100644 index 000000000..2dc4c3c1b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TECBMMT2.rsp @@ -0,0 +1,149 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for ECB +# State : Encrypt and Decrypt +# Thu Apr 21 10:34:02 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = ad192fd064b5579e +KEY2 = 7a4fb3c8f794f22a +KEY3 = ad192fd064b5579e +PLAINTEXT = 13bad542f3652d67 +CIPHERTEXT = 908e543cf2cb254f + +COUNT = 1 +KEY1 = 259df16e7af804fe +KEY2 = 83b90e9bf7c7e557 +KEY3 = 259df16e7af804fe +PLAINTEXT = a4619c433bbd6787c07c81728f9ac9fa +CIPHERTEXT = 9e06de155c483c6bcfd834dbc8bd5830 + +COUNT = 2 +KEY1 = 326b494cd33ee657 +KEY2 = 37ae5ebf46dff2dc +KEY3 = 326b494cd33ee657 +PLAINTEXT = 0654b84f30cbb2846bccd9d56463d6db9e12f3465b2322ce +CIPHERTEXT = dec0c5935e5430f98ad636fa3d7caff1946766bdc201edd9 + +COUNT = 3 +KEY1 = 3ba298d997082338 +KEY2 = e02a3d204fae7949 +KEY3 = 3ba298d997082338 +PLAINTEXT = 19a4f0ef3cabcad667c6e0a02b55e3c66db885c20b613cc7c32d43af50f4e335 +CIPHERTEXT = 622c65eb6fc01bf4892287532e32c9c73b991cb33932926ac43a0c7e08b34501 + +COUNT = 4 +KEY1 = 32325e8583e59729 +KEY2 = 6e52c7fbe01a5dad +KEY3 = 32325e8583e59729 +PLAINTEXT = c8f97e987da45d96ed5878e565faac36e55f0da3300f93921f4810dd3a46653089c2f6b2a8b95be7 +CIPHERTEXT = 2c125b84ff980e01d11ac40e2588002a28d30e1013e8e106b2e8347d064b52ef20def27628887605 + +COUNT = 5 +KEY1 = 2f92438cd30edcd6 +KEY2 = f897d5c425ec83df +KEY3 = 2f92438cd30edcd6 +PLAINTEXT = efdf4135fbf593c7f53f51f86040c47e6c7e2837d2d8b019001acb6876cfa62b7057f2e0c539e76f0fba895d0cae2a42 +CIPHERTEXT = c09691e1724a8998a762df22469934515753389fd22b51734bf0b122e00380f6e407fcd363939f54f5818899375b4cea + +COUNT = 6 +KEY1 = 92d646b6d61a8510 +KEY2 = 52e9675d9b326de5 +KEY3 = 92d646b6d61a8510 +PLAINTEXT = e8890a1054b6733ec3b3d6475636e0b0c912eafce3087e2211df163e4eb62687459a5d81ba5428742684791ca1f4c6a2052654cb512fb570 +CIPHERTEXT = 6dc5716914394e495003655a5ab25c190aec8aabd621c6b9f0732a23136522df9a1ab6ce84367d5d1e8806ed27dd769d39fcbeaa7742038d + +COUNT = 7 +KEY1 = ea3e7fb61329d9a1 +KEY2 = 4ff1918cb0f74083 +KEY3 = ea3e7fb61329d9a1 +PLAINTEXT = 9fcd4e1b7805a172c17e80405ddd0600662837771ee394f42979edd7fade77508c731e69522a1c4770eacbac2b35b7c19e08f813af02bfdb42c92e82adaa6d64 +CIPHERTEXT = 086ad70c371c688ff7e157a55db197f09bc56d680d12bd0fc24174d090deb55e01860f47c7d9c943823b6e3951508acfa298984f01f1c8084b94214cd9e4c620 + +COUNT = 8 +KEY1 = 377392682f37860b +KEY2 = 2cc1ea2304bab0e9 +KEY3 = 377392682f37860b +PLAINTEXT = 6daad94ce08acfe7d8856ba52936b108995546b78ad02f2bd91ddcac05ce657c94661352b26b22091cbcc59a3c256b489531411a623ff88e7ad8c88c7740b599174b114de3724207 +CIPHERTEXT = 039f63d782b68ebd00d215121f3f4b91693b84073702685815bda21a6b2d9c80bd20b1b9632d28b1284d80e043bd955f8b650d878a9819bb26a9adda0eb1dc13002ba90d66246fcd + +COUNT = 9 +KEY1 = 07bfe09452fef80e +KEY2 = 7015b6df263e9858 +KEY3 = 07bfe09452fef80e +PLAINTEXT = 1b15b4e31f41cc06b4c4b91f0a24b70ada40f9bd92e4ee7eb29bc35476c429bbb5e8589b094b547b30c16ff2b2c30f5fc4c2b1da6dbb2e6be70c3d7948863a8562c32618e7baeef9d190f0a400b2bbf8 +CIPHERTEXT = e198fe5979b9afaafccb00a001f1fe7f0550ad1a55139e84e855fdc2c1129bf1a70952d352cb91931532ee39d837ba9d7a043a6b9a35cae313068a4b28f85ad04201cf1e26997692ee1694656f570a8c + +[DECRYPT] + +COUNT = 0 +KEY1 = b32ff42092024adf +KEY2 = 2076b9d3d9f19e6d +KEY3 = b32ff42092024adf +CIPHERTEXT = 2f3f2a49bba807a5 +PLAINTEXT = 2249973fa135fb52 + +COUNT = 1 +KEY1 = 023dfbe6621aa17c +KEY2 = c219eae9cdecd923 +KEY3 = 023dfbe6621aa17c +CIPHERTEXT = 54045dc71d8d565b227ec19f06fef912 +PLAINTEXT = 9b071622181e6412de6066429401410d + +COUNT = 2 +KEY1 = d9d307fba7705bc1 +KEY2 = 1c7af1d58f9b75da +KEY3 = d9d307fba7705bc1 +CIPHERTEXT = 9105e38cf9eb1971f1486d6d5363a08e035ae197c7ae40a5 +PLAINTEXT = a22d7e91408aec4a3bbc75b1bfcefe41e7fc6398bd6fa9c3 + +COUNT = 3 +KEY1 = 7cb0026b8fc140a8 +KEY2 = aee3f84c83830798 +KEY3 = 7cb0026b8fc140a8 +CIPHERTEXT = 0adc855fbd9142d59791cdcd21db7d540aea2fe2b42ce877f3b6bcea1136ee7e +PLAINTEXT = 1dcee48799e0baa891902b5fb7c26d5f37285a886983c8399c47654121bcae48 + +COUNT = 4 +KEY1 = d36e52a80786260b +KEY2 = 074057b5e5e6e5da +KEY3 = d36e52a80786260b +CIPHERTEXT = c9731543aff4343b02890e241eeb0528992b7680d2f7ebddcd1991063e40ecc2e303c9f817237415 +PLAINTEXT = 072834ad87a16a8aa7f38f2dc1bc218703a719a725093b7baa0e3e731c2e15ffc6c80427fe041077 + +COUNT = 5 +KEY1 = d076265e5443fd80 +KEY2 = d5f17f1c979ed91c +KEY3 = d076265e5443fd80 +CIPHERTEXT = 888b2133718935050ebbca09f56acd091acd72f8f3917928d9b9afbdb2a8b762cd7c0a3a0d9e3d194a9783f5f4267297 +PLAINTEXT = f8cbfae75d988242171b1f3535af3e6634abf28543db9278ad2c008738200833d29f8fdf8ceaa1f783233bd60587231e + +COUNT = 6 +KEY1 = d3ad1ff84583517f +KEY2 = 46d37c409ec20db6 +KEY3 = d3ad1ff84583517f +CIPHERTEXT = 9ad1cbee823e5421b966b0d0aadabfa36d237417984a4123589ed01cc0b1f4d660a4df0c1aa4950131b5a168a3ae0681b9857886dccdcc45 +PLAINTEXT = 8db7c048a8f690771eb9ed55a9cddfbb8010ce9f97832abb66601c20dd219ba6b6d607cef638fb218202eba1f7028b9524a3567e87518fa1 + +COUNT = 7 +KEY1 = b957d5436d02b346 +KEY2 = 896173ab29e5fdfd +KEY3 = b957d5436d02b346 +CIPHERTEXT = 76288113b8286dd13ab2dd96f3b2a2396e53c7ee1f0a806bf7d75d4a36c8c3af81be9d2a34734fdff9bcebe49a0ca8ea133a9020ec847854c5d3355b33410db4 +PLAINTEXT = 4b4557985d8bbe9e343608c6cc4a4b804d07233f5dc3869d6baa176275d8418fb12ea1d34b34b42555c8ad78299176b31f1f7517683f5fb384837a8537017a92 + +COUNT = 8 +KEY1 = 98157ca15d1ab652 +KEY2 = ab583226320798e0 +KEY3 = 98157ca15d1ab652 +CIPHERTEXT = b4ae2c61e853bf62f6314b886488a2afacbb2bf18f54d7c9ad475778537b8da8948640509bb913d73f5cb87cd83a61f5516177567f238f35b1609a0c89085bde0adb1f1ef173a8cc +PLAINTEXT = 8b2f98c16c2f6149f5f45cb3d553f8fa9c0b891bc4081aa5b4e142a6c7d998e54d91ca262b013d1bd46edc7f565e4d04f4d8d4fa43098d801b9d6212c771097fa02fe920e7a17f2d + +COUNT = 9 +KEY1 = b64c4c3efbc75bea +KEY2 = 2fc492a462047361 +KEY3 = b64c4c3efbc75bea +CIPHERTEXT = e9121506f8c0bd362f0767f8e62c56558f309301a1f78599d5aac129955923f1b1e51e69551d508238275a2f1522ee245f092add31da24e384f8c64ba4cedc7fe5b66b41911944ec26d7dafdbee951d3 +PLAINTEXT = c833e04b591bcaa745ff67893a468ec160264ef04f1cde0f68b8ae54ff6530ad5f2575b32df70e5ecda7b8d49bc17680ccb65e4367a8da9a20c3b67232ef97666eedfb03602b7170d23a18dc19341602 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TECBMMT3.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TECBMMT3.rsp new file mode 100644 index 000000000..58ffaf2be --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TECBMMT3.rsp @@ -0,0 +1,149 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for ECB +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:38 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = a2b5bc67da13dc92 +KEY2 = cd9d344aa238544a +KEY3 = 0e1fa79ef76810cd +PLAINTEXT = 329d86bdf1bc5af4 +CIPHERTEXT = d946c2756d78633f + +COUNT = 1 +KEY1 = 49e692290d2a5e46 +KEY2 = bace79b9648a4c5d +KEY3 = 491004c262dc9d49 +PLAINTEXT = 6b1540781b01ce1997adae102dbf3c5b +CIPHERTEXT = 4d0dc182d6e481ac4a3dc6ab6976ccae + +COUNT = 2 +KEY1 = c16189f43451196b +KEY2 = fb4c438580c20408 +KEY3 = 571f0d5e4a586491 +PLAINTEXT = dd9a97741093334bd0c9761105cfb79cc3bac34a7c85bd8a +CIPHERTEXT = d2f3f1d32a9ea09b5acb589c41a07320fb8d33a2fc2b0ed2 + +COUNT = 3 +KEY1 = b0265876ae4cce98 +KEY2 = e697cef4048a45e3 +KEY3 = 0815a83276efec31 +PLAINTEXT = b59cc5e13bd10f801e2464e029c383cacfe812646c0bf805ce560848f459df5f +CIPHERTEXT = 26d325d7f6b90510521344875d157166580748b2a3feeecb959e574e451cae80 + +COUNT = 4 +KEY1 = 7694a26d9e1091c2 +KEY2 = 37d32cbfa1e351a1 +KEY3 = 3df8208cc8081c54 +PLAINTEXT = 212399b6144969c0c9f35191f5d1d4f641b607faa19b8c07e1e7c44d81ee4167c2b77a3c0102c324 +CIPHERTEXT = 47ff992001e04464e55fd48a48e040a4ef3e0839c49a2794c5c0c9f2a80d345fcaea8e398416ab8e + +COUNT = 5 +KEY1 = 312cc2cee9d39823 +KEY2 = fe6d91d6234c52a4 +KEY3 = 54e92970a84073dc +PLAINTEXT = e8fb12cbd680cff095ff6244b09fe8c054b1fddf19362f4820a1b3ad5ede57f33792b8934fa5b5409dfe23cac18dc242 +CIPHERTEXT = 98ec2853be1efb64342583f9e97c19c4f22ca6dc49f9fa0f4c145e7503f95044830a44b7cd9456c0e5c91162263e2fe9 + +COUNT = 6 +KEY1 = 6bfb4a0e98a7e5a2 +KEY2 = f783b9f752ea4f15 +KEY3 = c720340d0292b937 +PLAINTEXT = e01bc9ce0347c596b35f411e6d8229ad2855e42022b0373ade98663c6d6e9cb5ee658c9c513a599c601fb3affff844eeb2c94aa8616f85b1 +CIPHERTEXT = 505c359d3f870460714352517e1836b76cfe28f3b89a279a23b53626a03a457d714dd9e27d9c57038997a53e60c7dc1eb2336f325fe1ea8c + +COUNT = 7 +KEY1 = 940d328fb67f9b5e +KEY2 = ea4cf2085e918c52 +KEY3 = 974519767fea4ab3 +PLAINTEXT = 45e9d10e247017efb2792393aa23abaf7f69c9bf4c4a964c0926fb6a056cc4869072f65ef8a46351b8e17bd9eb226556075d4f0dc7a9027069a2b9a01a0f3330 +CIPHERTEXT = eb2abfb7511454e5840787d8cc5be41c92de66e8b52d12a08a27f0745334858eb4ae4d4ec61fcef370aec427f3ceebaa6e74a1353508791311e9d9be1b895c94 + +COUNT = 8 +KEY1 = 9867a88fc1a8f1ce +KEY2 = 1af8bf7f769425ef +KEY3 = a2fb6152cb64bfb3 +PLAINTEXT = e1a5d4c5a7520f8e1fb3d2cefd789f52ed748e25dfa03eb1a2631126b51099205ab14d84eb0381aa71c195c273256c700cad1fba401bf32490bf8919ccf8558d29f951e194c9f307 +CIPHERTEXT = d4e6ca33f17d3dcb733ad5f680a59c9c70072dddfcd4fc26a56c08655be96ea82590906684c915eb0570331e3705685e6d2c687f8e02d9acf25ca50dd1cbb8bbc2fe6b5279f42be3 + +COUNT = 9 +KEY1 = df20ae3d54858013 +KEY2 = 514367024f7a7ad5 +KEY3 = 29d979f71abfd5f1 +PLAINTEXT = f0fa379f7e507d3d97674fc3538b19fd1b1034f0b1410b6e70997de7d63683823f8a136cf354447063ceb2c9b02824346d366c49a6668f0a21f426bde36104f7f62119fa6a9496409a375258b11c6df1 +CIPHERTEXT = ce9233ba7cbbc0f8ff3cf7d6ff70940012ef58aad5c86399fe0a8216c96e4192deff426946b03ae2374d7fd1d9a5933bac7878044ac217649f51fdaaaa915d01125f0dcbe9ed1ca6aba83314f8e861b1 + +[DECRYPT] + +COUNT = 0 +KEY1 = 52daec2ac7dc1958 +KEY2 = 377392682f37860b +KEY3 = 2cc1ea2304bab0e9 +CIPHERTEXT = 6daad94ce08acfe7 +PLAINTEXT = 660e7d32dcc90e79 + +COUNT = 1 +KEY1 = 7f8fe3d3f4a48394 +KEY2 = fb682c2919926d6d +KEY3 = dfce8932529229ce +CIPHERTEXT = e9653a0a1f05d31b9acd12d73aa9879d +PLAINTEXT = 9b2ae9d998efe62f1b592e7e1df8ff38 + +COUNT = 2 +KEY1 = a4cdbf9d20a78a79 +KEY2 = d9547c20150486ea +KEY3 = 10d902b3041631ad +CIPHERTEXT = 1e95e643eca2a0b11224794a18d94563954a7d61e8aa92c2 +PLAINTEXT = 165daf1103ed2fc71de342d6deb610ce107a2cdd14f14317 + +COUNT = 3 +KEY1 = ec15c26eb9a75ee5 +KEY2 = c498290e85da2fdf +KEY3 = e9977f61a11f26f1 +CIPHERTEXT = 2943a616ea337af5820c49b4fac3080a80dcfabe0d81735e44d1e2349c7a0e76 +PLAINTEXT = b368cad84bc17d4a93feea144bec420b4769c2689b0f63c4f4135b08da838403 + +COUNT = 4 +KEY1 = 3e9d23ecef6d51c2 +KEY2 = 7fd09b700dcb085d +KEY3 = 26b6ecbf5ef1cead +CIPHERTEXT = 88aa03eacd0f7ad27442ab26fc57a4d279a0c3c8dddc1ae077ab18e3b94566e23e6c10cd0c9fe541 +PLAINTEXT = 54149191308949e1d3f8580028ba56a020de4a3860ea9935dee838256c357c1165eddbda5056088a + +COUNT = 5 +KEY1 = 7c7ad3cb0e2ad3dc +KEY2 = 492c3819d6297fc7 +KEY3 = 6bd589d5292f07f1 +CIPHERTEXT = 3165a1d62950a99e6de40487075c1141728f5a04971720d4fbb23b0336e821f7a7ef442e66cba17e7ab995a24ccef3f2 +PLAINTEXT = af2d86003e467680e797b6ed7b40cf8e23dc749809ac8dfd73807c7061be6cdef71e224f2124648000e6db38407a9720 + +COUNT = 6 +KEY1 = adb98f978f6dabd0 +KEY2 = 61571f011c31a46d +KEY3 = 8586c468c86b3207 +CIPHERTEXT = b8aaf46032aae7f3752db7b4df2b52696eb452d627cd7e30b87a94d45c1c4639fffd8223a32af61a0281d41b740ad28d148b76761e5690ef +PLAINTEXT = 84670a08bf8742999a9c947e8c900f0edd5cd8e52f8d9da1bb8d854867f5f0a50c7b8a324483eb27837ba7703b4477d2fd6b76cbaedb4297 + +COUNT = 7 +KEY1 = 5e9140d3d68f4fc8 +KEY2 = e0b054dcdc454552 +KEY3 = eca2baad5d2fc2d5 +CIPHERTEXT = 76cadaf28043e0c982e92f5c84ef3a27a5473a4b10c6c5d52b83a2431280dc45438c15c09b671d188128c3af61dceba95c70e1f33dd1ed83af5128e1ae4d8de6 +PLAINTEXT = 8bc22d948348a26cd5a15f4d61b6f2a51a267150bee415dad58a6713314c6f310f19b4c1fcbf8d848a6ce6a8f97677d63e1958009237f3841d0ada5f4e676057 + +COUNT = 8 +KEY1 = f220b50798387fb0 +KEY2 = 9d104a8ae5ba027c +KEY3 = ec528fbcf8a18958 +CIPHERTEXT = 052a4e9a3cb656bb7481e198991264a9dc2ea66561b3184d38c4642b8f26489c26eaa5cc034dd38166dc385bffdc195a5fe8afa0addc7e789af2e298962beba345f16af22cfa4c94 +PLAINTEXT = 53cc47d204662feaddcf2f5a06d0e96c080946b2579e5d0f85f13e7f50f394ffa519842c02d3ec3abebc6af25f85f9d0fa6e2ed0234e2589381df10389947a59144ee0b24e87ec45 + +COUNT = 9 +KEY1 = dfdff7928602798a +KEY2 = f4f21351ef7a4a76 +KEY3 = 94c1f2e9516e7ad9 +CIPHERTEXT = cc6168f0aee3a919b3968ac01b867de6f364f96f9eceb783b5cf213511aa086225d395dc913f82c8f5dd894503651d4fd95059e28d2736620901003a19480bc4c2bba269d6b94009c5bc039cb6245d1a +PLAINTEXT = 3e6f63c3d1480052369a791f72c895f202c01a6977124143ede89465ff4bb68f5ab7b36dc5ec1240391d4c69bc17f0ed4535a63acc736a0edd953f188d52f4711ff0f0e61ff9c1a643eece7dda486221 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBMMT2.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBMMT2.rsp new file mode 100644 index 000000000..2b5f29cc4 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBMMT2.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for OFB +# State : Encrypt and Decrypt +# Thu Apr 21 10:47:58 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = f2b546fbd6d3dfa4 +KEY2 = ba2c26ba255e7a3e +KEY3 = f2b546fbd6d3dfa4 +IV = d88bb3a7f539d7f1 +PLAINTEXT = 824cec4211ddc264 +CIPHERTEXT = c5f4ff499dfa5de8 + +COUNT = 1 +KEY1 = 378c89d3b0917080 +KEY2 = 2af18013c2ef6210 +KEY3 = 378c89d3b0917080 +IV = 007817d4bbdc69a1 +PLAINTEXT = 168260d5faed24b9f73aae088a477528 +CIPHERTEXT = cfd4e0fadf100f3aa5eec0b30084df47 + +COUNT = 2 +KEY1 = 61866e1c86d57a54 +KEY2 = 1301734c5dc86dae +KEY3 = 61866e1c86d57a54 +IV = d0ddad02a219226d +PLAINTEXT = d5db2469ae56ecac5164195ed161eccc1720368f2726c060 +CIPHERTEXT = 4821c0ca2de3bb2b982c7bd9cbe6a44a714d5c0a85b44e0f + +COUNT = 3 +KEY1 = 7c85a4805ee5a751 +KEY2 = 15e052a80e4f2fda +KEY3 = 7c85a4805ee5a751 +IV = e76486c2d6309193 +PLAINTEXT = 1c5f01506fdc6d9d12959279db600005fbf7966f769e9bb8d7060abb21702c6b +CIPHERTEXT = a06a876b4343c15f282e6cbd4acdceab0b822a4bef9950565d4ddea10d89f3bb + +COUNT = 4 +KEY1 = e3347a6b0bc1152c +KEY2 = 642a25cbd3bc31ab +KEY3 = e3347a6b0bc1152c +IV = faa063a81f197c14 +PLAINTEXT = b740cc21e925e3c8706007215521b28c0869f9a15427197191a2520f1c16f85004a2c7ce06617733 +CIPHERTEXT = 23a53e110770974f57ecdb0f4efb143b40c696c55b777b4479a864f7613e7f079c660229e7f47417 + +COUNT = 5 +KEY1 = 200d919b6b1adaa1 +KEY2 = 54ab5d1c8f98070b +KEY3 = 200d919b6b1adaa1 +IV = 0e67459eaa70ce55 +PLAINTEXT = a7dde735b7e280b49f3e721131cc39a8e96a4ce1205bf6b383ea6167c450f49f8fd8de96c041f3a9d364b8179b17b905 +CIPHERTEXT = 506a9f28e55d15c8ce1793055976ac0d252352b7afd064d4ef49d3fb2d4e8a0aeef3daf04351c7677c36936a1e2492aa + +COUNT = 6 +KEY1 = d57c8329fd61fe7f +KEY2 = 4349bcfdd6373ed6 +KEY3 = d57c8329fd61fe7f +IV = b1632bac4fe4db44 +PLAINTEXT = 2dea56ded27e4f1214581ecabe28864b4d88862b50d4dbc0153cc6d881170faa407a4a0d1f0a59e8b50e32ea49c9e37bf006d3f2f6f44a08 +CIPHERTEXT = 29b6281133b009e223be3bb90aad69d6319a1150c46ba744863fd5bc237a23c1b0d1ef2871002e8a1798332540b851818574b26682dff453 + +COUNT = 7 +KEY1 = a420dfbfc1fb0185 +KEY2 = 3b7349bc2c644c51 +KEY3 = a420dfbfc1fb0185 +IV = 52af8f3cbc523ea1 +PLAINTEXT = 026d452446cfd58b01082dc3de29e299bf9c8cd4a370cc23cdf18d53237c89c5d4910f203d2a04430e4b297ea8db9b01cab2a0946df3a089ec9c72ef685bda09 +CIPHERTEXT = e4a8e535705dad54c5f55e95b86cca5675a48537a457af5b639aeb7bec2091df2d90720c6615aca958662bf6fc0ec6e01dda496605cf06247b568e4d8cb756ab + +COUNT = 8 +KEY1 = d3c70e833eef9b1a +KEY2 = d6435875ba13b549 +KEY3 = d3c70e833eef9b1a +IV = 7b5a3bcc6ad04b87 +PLAINTEXT = 6a5aeb496eef9072eec454995a17d007ac8f5dc0a77379575c1a6c07f3a32b00a8e67cff14a95b21ae189cf9916fd3e080fa718c273f2fe5a37ab013454961dc93a9a52d90212ff6 +CIPHERTEXT = 4b0f8920c36da7957406b5446c6a0eab7875a54f8a4a3263a266b18946438bc08ec76e698310bb5f667ec32b21b922836fad2dee9e06b688fb63c15c336a36bbb4f965d94a897a2f + +COUNT = 9 +KEY1 = 85d00bf1b66bf264 +KEY2 = 43543834853bd5c2 +KEY3 = 85d00bf1b66bf264 +IV = fd7c49f5e997a037 +PLAINTEXT = 0b895f5c954d2cf02ccc23eecd5e4c0cdf1e6dd06848d80a81e688a208ac6c9394200338aefe29c73eda311b430733b6c7b8a706136533e71f70c26a4c09d6d4554f1fea83b74c6c21b221e0308aca90 +CIPHERTEXT = 4b20e3df54bb07428050c9290ea0a20aca67aa97b0dc0e5996b7103c37f74a48d301afd26794328cb7782c73e25264d84256481b55b065b260757e0b7c71cc3e223473829ac3a09f93b79ba468684793 + +[DECRYPT] + +COUNT = 0 +KEY1 = 6b4f6b3238fd5bae +KEY2 = 58a13eb93d0df7dc +KEY3 = 6b4f6b3238fd5bae +IV = 66a6c150b24d66c9 +CIPHERTEXT = 7e89471d5b92868e +PLAINTEXT = 9b1e8f6c6583cf2a + +COUNT = 1 +KEY1 = 8c83f7045bc76267 +KEY2 = 70b9fd0bc88567a7 +KEY3 = 8c83f7045bc76267 +IV = e4149e9fec84f2f7 +CIPHERTEXT = 1d08eef994bfba036aa60f28cd40312b +PLAINTEXT = 62e629f4640d290ff9c382353513682c + +COUNT = 2 +KEY1 = f8d5a11362e9ad52 +KEY2 = 2f765be93b3e7573 +KEY3 = f8d5a11362e9ad52 +IV = 6deb91f0d25d9510 +CIPHERTEXT = 44df4a0bb033be93a6ea175441bdf4fdc7ea6ae18c8a03ef +PLAINTEXT = b0cb7e480600b8a3d63aa1b32dba7a2f860aba1d583ff9eb + +COUNT = 3 +KEY1 = 9b97aefb4fce4a9e +KEY2 = 32645d02d5c1cd5e +KEY3 = 9b97aefb4fce4a9e +IV = e5fa5d7db3fe4b08 +CIPHERTEXT = 0ec6e6df5a65bb833f7f525161b80f28ef103d3a295cb01a1ff7a815bbb5f9c6 +PLAINTEXT = b2c9e4265492ef43399c4876cf08dac656f8100100b99c99ae090b7d438388d5 + +COUNT = 4 +KEY1 = fd2c1620236d8583 +KEY2 = 922673a43ba8bf8f +KEY3 = fd2c1620236d8583 +IV = c28ee5de652cb1c3 +CIPHERTEXT = 944fea26f4f6dec8d735aa0b5b007f2c5a1e1ac49a89984a44168cd998584f33dec29707a00d4b6f +PLAINTEXT = fbc0c7994ecd821d460921bd44d4c832daf85ea6b5cae339ee962ba78d11cc5a0ba87e16dbf3f4c4 + +COUNT = 5 +KEY1 = f2c115cbc2f1d3e0 +KEY2 = 8316b5c20b57b5bc +KEY3 = f2c115cbc2f1d3e0 +IV = 5f1f390d9f6a7159 +CIPHERTEXT = f2e98a47a291b0bccdaad63faa2475721fda5510cc7dad814bce8dabb611790a6abe56030b798b75c9446092e1f4a9ed +PLAINTEXT = 69960ac60ca0425e7ecc24e998a6712ccf80b29f9ec4a5b15cb7b116e1397c55132fe91c8c9dbf72cf862534fe77ab79 + +COUNT = 6 +KEY1 = d6623d263deab6b6 +KEY2 = c843c42545515e52 +KEY3 = d6623d263deab6b6 +IV = b52bb63f566bd296 +CIPHERTEXT = 56ea1cabbeb5f0cbc3b21352a3f7d698614a7244192afa7091148d0810ffd07373299b767d15f3556fd4393bd885a0dbaf18e5589f573a62 +PLAINTEXT = 4fab9496f024a61a4a3b7b4d201eef23315e42a7726214eb7d69034960e1497e223af4b18668661f63241ac99f7010924da79d77c811b711 + +COUNT = 7 +KEY1 = b6e51934ec08924f +KEY2 = aea72616e0eafbef +KEY3 = b6e51934ec08924f +IV = c388ff76ee9d37a5 +CIPHERTEXT = b155b07a7b8d87b8ba21147983e6a65d42a6b19ca172d0f8ac3906f0329a49376ef74164e6cb4deb943dc74c44f5898a3d2eafdf230c9fae1c3047b9328ba694 +PLAINTEXT = 152b141b0f3d6a1046c9ed989f47f041ba3f2176d512400593f90ef04817831351c2d2093b83282070fbd10e08ea7b774c728dc7df55b849e29f822f9fefc6d4 + +COUNT = 8 +KEY1 = e631437031c47f1c +KEY2 = 9e67132a08adf89e +KEY3 = e631437031c47f1c +IV = 30da9cbf0c340080 +CIPHERTEXT = fd8cbd3b80a4d22b670d7ac5208d3911e48ba4de966a68b4ee158d0ad6dbfcb9147e3fb12a8689ea7adbf69eae9313b65709a182d42f96ac7625656fe20a7f04b6121a5d6fd83116 +PLAINTEXT = b3d199932a3939dd77143d71faba5b5559d14b346516f7e1bc3a26a69cff9973ec240c6745c1fc0dce228ec98bea98b58b5a876c0b7eb2fe78310feb63fc0379314dab07d37793b2 + +COUNT = 9 +KEY1 = d0c8524fb9d034fd +KEY2 = 4394fd9e61981cfd +KEY3 = d0c8524fb9d034fd +IV = 3451014a11caa08f +CIPHERTEXT = bea965e7b6f81159353a55b4f2d351a2c3d81eea1b7c6d8cd0cc6a0c229de70efac2b6236f8256e38e49d33c5b9de709135465e6b404d743bfbc66b83df1fb9800bba4c92b4239d3f5723f36a9f70c01 +PLAINTEXT = e4010a5642c381b96cafd034ed6c19f79af41426934aa34a68d1ece31a4b8272bd5859fd46fb01b51ca0d7301401128cbf41d4eb0981c3240f26eeed8e518ce1828e7a7443118afc0b1779320cfb3196 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBMMT3.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBMMT3.rsp new file mode 100644 index 000000000..49596b726 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBMMT3.rsp @@ -0,0 +1,169 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# TDES Multi block Message Test for OFB +# State : Encrypt and Decrypt +# Thu Apr 21 10:47:34 AM + +[ENCRYPT] + +COUNT = 0 +KEY1 = 37b6375bf834a88a +KEY2 = dac74016f79b891a +KEY3 = f75175a4ad7f3d9e +IV = 482945e59c624338 +PLAINTEXT = 775b80930a04a408 +CIPHERTEXT = 85149a67b2167ede + +COUNT = 1 +KEY1 = 3ea7f4a819d56797 +KEY2 = e683687a32b6d661 +KEY3 = 0b4307238079c7e9 +IV = e9a012252338c1ff +PLAINTEXT = 5c632f97a983f12aa7a57bfd1ac9dbb7 +CIPHERTEXT = deb1bbf11eebce856e506a5bc91b824b + +COUNT = 2 +KEY1 = 8a8adc611cfb58c4 +KEY2 = 1faee97358890d38 +KEY3 = 9becc1522aeafd38 +IV = 84025a09476086ed +PLAINTEXT = 37ce4076a36437aafdb371c1a62af9ad9b614dfef89708fb +CIPHERTEXT = 76415ffd58c03e9036914f8a52deb45f906f502c7a7aff87 + +COUNT = 3 +KEY1 = cdf1526867e08af7 +KEY2 = d93886bf6b58dfd5 +KEY3 = adab1564ba165745 +IV = af3fa759f7b0b739 +PLAINTEXT = cd5b828837542ffbaec2b15256047a835d6249a48e4b585423e0d757dbb79a80 +CIPHERTEXT = 3c8873436991742e0e00aa4b9c15ca07e1e91a1baf3b2fd03f537a883fce4e87 + +COUNT = 4 +KEY1 = 08a79b8cb9da6ee9 +KEY2 = 5d10088ca89198e6 +KEY3 = b6e02501b04054c1 +IV = ba2d1fd4c2c29805 +PLAINTEXT = d0c95248df22f49c78d59d9ad2124d950069e53b0d8cdb744a57328de70daa95c1e534077bc5a8aa +CIPHERTEXT = c8b2d022765af223a2ea00323dc39e34d808f7cc0ea83bcbd97e4f9223762c875e078bc60134c13f + +COUNT = 5 +KEY1 = adfe3489586dcd4f +KEY2 = 0e61641c977c376e +KEY3 = cbab0110dafdc7c8 +IV = a308db8a7968539d +PLAINTEXT = 2dbef20e4105d481db982f7243f79400a6e4cd9753c4b9732a47575f504b20c328fe9add7f432a4f075829da07b53b69 +CIPHERTEXT = 8d61727c92250796890ba2a0748d69782a5622af49ff69dae8e8cca096da441646e7d546e836baa84334fb48abe46053 + +COUNT = 6 +KEY1 = daea0831ef0207a7 +KEY2 = 26327c8331a4c41a +KEY3 = 34103de60e1998b3 +IV = 20dc465d8864a591 +PLAINTEXT = 37ec2ff3e975fe8966857089a453b3fcda45639b2a05508983d7823ec62a7ac3276cbb25d7238924e03af12b5098098599f879cd38f43aa6 +CIPHERTEXT = ee1f6cb805566beb9f7881c9b3e3819999c0f4c35ce17542b6f9ec118c687b6151a878dfae7f0a920b308dfd3e258c63831ca03860c63dc8 + +COUNT = 7 +KEY1 = ead50bc4ec25575d +KEY2 = 6b43e3349e6d43b0 +KEY3 = 98070854ea614501 +IV = ff0361b852daada0 +PLAINTEXT = 7492fbe566198fee41e55270969574b02635e7a69a1ab600740c986a46abc50d210b085551a215f847641e34d72ca158a45e8485d8ca63b618d429feb7d2dd11 +CIPHERTEXT = 183224d882e8db54a149f6c6cea6e75001026968f7c7b1ba111ee64dbd81b9ccad6e7c2ba3228ec4d889126fdec22d88c38a88fbc95b0c24fd9440c00f1f2a88 + +COUNT = 8 +KEY1 = fe9eda0e2a544652 +KEY2 = dca176f72586cb31 +KEY3 = 2975f14ff23b6ea4 +IV = 5412ddd979d34bbf +PLAINTEXT = 07908a8bac10ff8fb5efaed90f7b823b9237bb82287636a73229ef4a27f6c45b7e8a7c1bcf2f074335a10782f61d902d66bc2c3308ff234ff7abf98184d737be21436fe77eeb7af8 +CIPHERTEXT = db6df755f593e8fc8b1f9eff4546ed72254c2c5576d2c62cece852956389cba1a6a1bc2656ba7159f99e9ce820ae253a8d0e18067afe898d9ebf15d20e0858e2a3b7f37d8f7c1899 + +COUNT = 9 +KEY1 = 5138e5e0622cc252 +KEY2 = 3bfd52adf7c254ea +KEY3 = 152f8a6437152ac7 +IV = 6190fc0182007389 +PLAINTEXT = da5d0b11c38c03df785533e9c85890e1eef7c26171ac28da48a01ccd427a783da575586415b622a5b8dcc4c298d83d4f49ff5f66cb5dd39db14d5d358347619462f8a7f5ea985b5f5d7858d3fddaa6ca +CIPHERTEXT = ff92a45638086d3a852b7a60171428514f85b13b581a5b78fee1bc8042f155540d513fdeb177e08d5c6a3c9aecbcfcdc658ca04550d13b450aefea4575e3187b608a87aed5e02e0c58bcd54ab4d9900b + +[DECRYPT] + +COUNT = 0 +KEY1 = 49e0adc1949be529 +KEY2 = d9d5f834bce5d9ae +KEY3 = a8fbd6b9d6a189f2 +IV = 06067f9ae2b3f7f6 +CIPHERTEXT = 7d5af6f916416f47 +PLAINTEXT = 96b6d8faede8dec1 + +COUNT = 1 +KEY1 = 620b92a7daa208ce +KEY2 = f18a29f2e58fbc94 +KEY3 = ecb3291946fb944f +IV = b1642ba674369ae4 +CIPHERTEXT = 93e7af3b5e4b76530f92d2e98c9a7ce2 +PLAINTEXT = 5206f4bf15222bcfaebdf1d235d7bca5 + +COUNT = 2 +KEY1 = 3194f8d51ae3205e +KEY2 = e9851cc17a8a19e9 +KEY3 = fb314f20d9165df2 +IV = f2f164e92e95a8c9 +CIPHERTEXT = 129164a69cb4ef6581e7f6b79aa8ca347562fbc1b242d604 +PLAINTEXT = 3e10e2da145b90d22253687e9f0e6440c7ccf0a5d91f42d7 + +COUNT = 3 +KEY1 = 8a9b4ad3e0736d9e +KEY2 = f746eca13b40e543 +KEY3 = ec8c67dfd683b99d +IV = eb4513854a9df46d +CIPHERTEXT = b9113051a20390c7b79c84f5549370fb23be67f2ee909d8bb1e01ff2f4ebc1f9 +PLAINTEXT = 201f52d6093eb76a55f205bacd169c184fb8c509faad7e6872aeed0c8fb7bbf8 + +COUNT = 4 +KEY1 = d09223a8618a86ce +KEY2 = 40e089f1c879763b +KEY3 = 2f49f71f83733d40 +IV = 65293191bc47b2bc +CIPHERTEXT = 6b25b4c48cbc406cecd0a98104c4590ec0a7b04a8dfeb177b3c3fb0ae5adfb0c16b261c08fcbd086 +PLAINTEXT = 33b04e0b72aaed7ecd8ab8b2ca1e3d8f238401742222a5e59311924c3f71105d32b46461d461f233 + +COUNT = 5 +KEY1 = 83e664a49eb3dfd6 +KEY2 = d0a48a290d0d37b0 +KEY3 = dfaea77af70de502 +IV = 007a0b0ed151e78f +CIPHERTEXT = a10146ba42f337d083e28e9fdfb3aecbf9ca7784d4721a07427f2c679f32fa8dbe5c1d7d24c64edc74d17baf2b5a1a66 +PLAINTEXT = c44e8806ad87b3e1dac3a58f7687ebc00cf82883cc02b26274d4e50002153d501712d1be17c7ef20684d30d8584b445f + +COUNT = 6 +KEY1 = 52ec54ab735ec83b +KEY2 = d540b0f25dc8f2d3 +KEY3 = fef1fe1352985d38 +IV = a981ee75653654fc +CIPHERTEXT = d8093c8089a3a9c553b4621636d3f5d3da91f75018f7a6e3bc30cd3c8982e8f57e83896a5889facb586224704645af6cb6096b648a95efa2 +PLAINTEXT = d7ed45a8a8c5e433d7a3be86a621ccd6bc14ad8cce4e48335cfb8b0ccacf2c7b75796386d0d9e13c6180907e8dbc81b0ca566b22a8ed5c8f + +COUNT = 7 +KEY1 = 8f347f5d400d6b70 +KEY2 = f108b9b0da9470a2 +KEY3 = fd1aae9b9b3e9440 +IV = 5b57ad7999e37a06 +CIPHERTEXT = cce5d25130ee543391fbdebfaf995a85ec74562e5d1ab4602102a3e2f1cdce01f9cbd332e6c1f6f841ea1708fb3be1ac49eb4565b23326d4655356dad1d5c2ff +PLAINTEXT = fb62a73252371703efc7e431b5b5211c3080da60e966a46776b2be865b2c7d06f15444d7bd130918c7ff54ebfcf91110cf24f77dbafd61f0cbf7c1255cb2d2a4 + +COUNT = 8 +KEY1 = 4f3151102ab9a785 +KEY2 = d3d97ce64f0d2c37 +KEY3 = 7ad6cb858629bc34 +IV = e3bcd700c892fdd5 +CIPHERTEXT = d68418f735d51b4b67ff9ff211609cd900e361e41b25283096d6ec9b69617f8601cfd7d935e8a8487b9c39d55ca27096255f2eb9e009e3c5820c592266add4dcfaed5da4b9b05b18 +PLAINTEXT = a318efe73fb87644c66b10708b8ac30f9e87246f9793a461a4b29497ef318a87b9d3d7d9bf1875c000f174b98c33abefac8d5a571056753bb2c89799e5f91e52cc00dab1713dd5a1 + +COUNT = 9 +KEY1 = 151f10383d6d199b +KEY2 = 4a763bd54a46a445 +KEY3 = 89321aa75ba445da +IV = e3e83ad05a0b7866 +CIPHERTEXT = 78481ff9bf1fd65e285521f731ff0fa50433b43bf975cd8e5b72a7d06ff13c19b2069f4763889b0841c697359676bd6274ee5cb33f978af16b9e0ddc87ec7cc37b59a1530e1c22adab8660bb64f1a0c3 +PLAINTEXT = 4ec8f67d66bc7d73fb8af66fa3510527e1fbb27a2a2362f939b29af6d08f8c4fa2be51eafce054ebde66631e1670ee2c8e724f0922642888e8d3437f36c010c0aa465179c8d7fe03e5da8e932e722be0 diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBinvperm.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBinvperm.rsp new file mode 100644 index 000000000..f20e1e201 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBinvperm.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# INVERSE PERMUTATION - KAT for OFB +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:14 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +PLAINTEXT = 95f8a5e5dd31d900 +CIPHERTEXT = 0000000000000000 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +PLAINTEXT = dd7f121ca5015619 +CIPHERTEXT = 0000000000000000 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +PLAINTEXT = 2e8653104f3834ea +CIPHERTEXT = 0000000000000000 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +PLAINTEXT = 4bd388ff6cd81d4f +CIPHERTEXT = 0000000000000000 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +PLAINTEXT = 20b9e767b2fb1456 +CIPHERTEXT = 0000000000000000 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +PLAINTEXT = 55579380d77138ef +CIPHERTEXT = 0000000000000000 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +PLAINTEXT = 6cc5defaaf04512f +CIPHERTEXT = 0000000000000000 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +PLAINTEXT = 0d9f279ba5d87260 +CIPHERTEXT = 0000000000000000 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +PLAINTEXT = d9031b0271bd5a0a +CIPHERTEXT = 0000000000000000 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +PLAINTEXT = 424250b37c3dd951 +CIPHERTEXT = 0000000000000000 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +PLAINTEXT = b8061b7ecd9a21e5 +CIPHERTEXT = 0000000000000000 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +PLAINTEXT = f15d0f286b65bd28 +CIPHERTEXT = 0000000000000000 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +PLAINTEXT = add0cc8d6e5deba1 +CIPHERTEXT = 0000000000000000 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +PLAINTEXT = e6d5f82752ad63d1 +CIPHERTEXT = 0000000000000000 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +PLAINTEXT = ecbfe3bd3f591a5e +CIPHERTEXT = 0000000000000000 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +PLAINTEXT = f356834379d165cd +CIPHERTEXT = 0000000000000000 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +PLAINTEXT = 2b9f982f20037fa9 +CIPHERTEXT = 0000000000000000 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +PLAINTEXT = 889de068a16f0be6 +CIPHERTEXT = 0000000000000000 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +PLAINTEXT = e19e275d846a1298 +CIPHERTEXT = 0000000000000000 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +PLAINTEXT = 329a8ed523d71aec +CIPHERTEXT = 0000000000000000 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +PLAINTEXT = e7fce22557d23c97 +CIPHERTEXT = 0000000000000000 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +PLAINTEXT = 12a9f5817ff2d65d +CIPHERTEXT = 0000000000000000 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +PLAINTEXT = a484c3ad38dc9c19 +CIPHERTEXT = 0000000000000000 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +PLAINTEXT = fbe00a8a1ef8ad72 +CIPHERTEXT = 0000000000000000 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +PLAINTEXT = 750d079407521363 +CIPHERTEXT = 0000000000000000 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +PLAINTEXT = 64feed9c724c2faf +CIPHERTEXT = 0000000000000000 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +PLAINTEXT = f02b263b328e2b60 +CIPHERTEXT = 0000000000000000 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +PLAINTEXT = 9d64555a9a10b852 +CIPHERTEXT = 0000000000000000 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +PLAINTEXT = d106ff0bed5255d7 +CIPHERTEXT = 0000000000000000 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +PLAINTEXT = e1652c6b138c64a5 +CIPHERTEXT = 0000000000000000 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +PLAINTEXT = e428581186ec8f46 +CIPHERTEXT = 0000000000000000 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +PLAINTEXT = aeb5f5ede22d1a36 +CIPHERTEXT = 0000000000000000 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +PLAINTEXT = e943d7568aec0c5c +CIPHERTEXT = 0000000000000000 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +PLAINTEXT = df98c8276f54b04b +CIPHERTEXT = 0000000000000000 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +PLAINTEXT = b160e4680f6c696f +CIPHERTEXT = 0000000000000000 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +PLAINTEXT = fa0752b07d9c4ab8 +CIPHERTEXT = 0000000000000000 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +PLAINTEXT = ca3a2b036dbc8502 +CIPHERTEXT = 0000000000000000 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +PLAINTEXT = 5e0905517bb59bcf +CIPHERTEXT = 0000000000000000 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +PLAINTEXT = 814eeb3b91d90726 +CIPHERTEXT = 0000000000000000 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +PLAINTEXT = 4d49db1532919c9f +CIPHERTEXT = 0000000000000000 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +PLAINTEXT = 25eb5fc3f8cf0621 +CIPHERTEXT = 0000000000000000 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +PLAINTEXT = ab6a20c0620d1c6f +CIPHERTEXT = 0000000000000000 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +PLAINTEXT = 79e90dbc98f92cca +CIPHERTEXT = 0000000000000000 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +PLAINTEXT = 866ecedd8072bb0e +CIPHERTEXT = 0000000000000000 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +PLAINTEXT = 8b54536f2f3e64a8 +CIPHERTEXT = 0000000000000000 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +PLAINTEXT = ea51d3975595b86b +CIPHERTEXT = 0000000000000000 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +PLAINTEXT = caffc6ac4542de31 +CIPHERTEXT = 0000000000000000 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +PLAINTEXT = 8dd45a2ddf90796c +CIPHERTEXT = 0000000000000000 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +PLAINTEXT = 1029d55e880ec2d0 +CIPHERTEXT = 0000000000000000 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +PLAINTEXT = 5d86cb23639dbea9 +CIPHERTEXT = 0000000000000000 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +PLAINTEXT = 1d1ca853ae7c0c5f +CIPHERTEXT = 0000000000000000 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +PLAINTEXT = ce332329248f3228 +CIPHERTEXT = 0000000000000000 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +PLAINTEXT = 8405d1abe24fb942 +CIPHERTEXT = 0000000000000000 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +PLAINTEXT = e643d78090ca4207 +CIPHERTEXT = 0000000000000000 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +PLAINTEXT = 48221b9937748a23 +CIPHERTEXT = 0000000000000000 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +PLAINTEXT = dd7c0bbd61fafd54 +CIPHERTEXT = 0000000000000000 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +PLAINTEXT = 2fbc291a570db5c4 +CIPHERTEXT = 0000000000000000 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +PLAINTEXT = e07c30d7e4e26e12 +CIPHERTEXT = 0000000000000000 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +PLAINTEXT = 0953e2258e8e90a1 +CIPHERTEXT = 0000000000000000 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +PLAINTEXT = 5b711bc4ceebf2ee +CIPHERTEXT = 0000000000000000 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +PLAINTEXT = cc083f1e6d9e85f6 +CIPHERTEXT = 0000000000000000 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +PLAINTEXT = d2fd8867d50d2dfe +CIPHERTEXT = 0000000000000000 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +PLAINTEXT = 06e7ea22ce92708f +CIPHERTEXT = 0000000000000000 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +PLAINTEXT = 166b40b44aba4bd6 +CIPHERTEXT = 0000000000000000 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +CIPHERTEXT = 95f8a5e5dd31d900 +PLAINTEXT = 0000000000000000 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +CIPHERTEXT = dd7f121ca5015619 +PLAINTEXT = 0000000000000000 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +CIPHERTEXT = 2e8653104f3834ea +PLAINTEXT = 0000000000000000 + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +CIPHERTEXT = 4bd388ff6cd81d4f +PLAINTEXT = 0000000000000000 + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +CIPHERTEXT = 20b9e767b2fb1456 +PLAINTEXT = 0000000000000000 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +CIPHERTEXT = 55579380d77138ef +PLAINTEXT = 0000000000000000 + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +CIPHERTEXT = 6cc5defaaf04512f +PLAINTEXT = 0000000000000000 + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +CIPHERTEXT = 0d9f279ba5d87260 +PLAINTEXT = 0000000000000000 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +CIPHERTEXT = d9031b0271bd5a0a +PLAINTEXT = 0000000000000000 + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +CIPHERTEXT = 424250b37c3dd951 +PLAINTEXT = 0000000000000000 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +CIPHERTEXT = b8061b7ecd9a21e5 +PLAINTEXT = 0000000000000000 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +CIPHERTEXT = f15d0f286b65bd28 +PLAINTEXT = 0000000000000000 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +CIPHERTEXT = add0cc8d6e5deba1 +PLAINTEXT = 0000000000000000 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +CIPHERTEXT = e6d5f82752ad63d1 +PLAINTEXT = 0000000000000000 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +CIPHERTEXT = ecbfe3bd3f591a5e +PLAINTEXT = 0000000000000000 + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +CIPHERTEXT = f356834379d165cd +PLAINTEXT = 0000000000000000 + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +CIPHERTEXT = 2b9f982f20037fa9 +PLAINTEXT = 0000000000000000 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +CIPHERTEXT = 889de068a16f0be6 +PLAINTEXT = 0000000000000000 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +CIPHERTEXT = e19e275d846a1298 +PLAINTEXT = 0000000000000000 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +CIPHERTEXT = 329a8ed523d71aec +PLAINTEXT = 0000000000000000 + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +CIPHERTEXT = e7fce22557d23c97 +PLAINTEXT = 0000000000000000 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +CIPHERTEXT = 12a9f5817ff2d65d +PLAINTEXT = 0000000000000000 + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +CIPHERTEXT = a484c3ad38dc9c19 +PLAINTEXT = 0000000000000000 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +CIPHERTEXT = fbe00a8a1ef8ad72 +PLAINTEXT = 0000000000000000 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +CIPHERTEXT = 750d079407521363 +PLAINTEXT = 0000000000000000 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +CIPHERTEXT = 64feed9c724c2faf +PLAINTEXT = 0000000000000000 + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +CIPHERTEXT = f02b263b328e2b60 +PLAINTEXT = 0000000000000000 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +CIPHERTEXT = 9d64555a9a10b852 +PLAINTEXT = 0000000000000000 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +CIPHERTEXT = d106ff0bed5255d7 +PLAINTEXT = 0000000000000000 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +CIPHERTEXT = e1652c6b138c64a5 +PLAINTEXT = 0000000000000000 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +CIPHERTEXT = e428581186ec8f46 +PLAINTEXT = 0000000000000000 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +CIPHERTEXT = aeb5f5ede22d1a36 +PLAINTEXT = 0000000000000000 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +CIPHERTEXT = e943d7568aec0c5c +PLAINTEXT = 0000000000000000 + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +CIPHERTEXT = df98c8276f54b04b +PLAINTEXT = 0000000000000000 + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +CIPHERTEXT = b160e4680f6c696f +PLAINTEXT = 0000000000000000 + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +CIPHERTEXT = fa0752b07d9c4ab8 +PLAINTEXT = 0000000000000000 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +CIPHERTEXT = ca3a2b036dbc8502 +PLAINTEXT = 0000000000000000 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +CIPHERTEXT = 5e0905517bb59bcf +PLAINTEXT = 0000000000000000 + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +CIPHERTEXT = 814eeb3b91d90726 +PLAINTEXT = 0000000000000000 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +CIPHERTEXT = 4d49db1532919c9f +PLAINTEXT = 0000000000000000 + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +CIPHERTEXT = 25eb5fc3f8cf0621 +PLAINTEXT = 0000000000000000 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +CIPHERTEXT = ab6a20c0620d1c6f +PLAINTEXT = 0000000000000000 + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +CIPHERTEXT = 79e90dbc98f92cca +PLAINTEXT = 0000000000000000 + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +CIPHERTEXT = 866ecedd8072bb0e +PLAINTEXT = 0000000000000000 + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +CIPHERTEXT = 8b54536f2f3e64a8 +PLAINTEXT = 0000000000000000 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +CIPHERTEXT = ea51d3975595b86b +PLAINTEXT = 0000000000000000 + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +CIPHERTEXT = caffc6ac4542de31 +PLAINTEXT = 0000000000000000 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +CIPHERTEXT = 8dd45a2ddf90796c +PLAINTEXT = 0000000000000000 + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +CIPHERTEXT = 1029d55e880ec2d0 +PLAINTEXT = 0000000000000000 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +CIPHERTEXT = 5d86cb23639dbea9 +PLAINTEXT = 0000000000000000 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +CIPHERTEXT = 1d1ca853ae7c0c5f +PLAINTEXT = 0000000000000000 + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +CIPHERTEXT = ce332329248f3228 +PLAINTEXT = 0000000000000000 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +CIPHERTEXT = 8405d1abe24fb942 +PLAINTEXT = 0000000000000000 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +CIPHERTEXT = e643d78090ca4207 +PLAINTEXT = 0000000000000000 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +CIPHERTEXT = 48221b9937748a23 +PLAINTEXT = 0000000000000000 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +CIPHERTEXT = dd7c0bbd61fafd54 +PLAINTEXT = 0000000000000000 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +CIPHERTEXT = 2fbc291a570db5c4 +PLAINTEXT = 0000000000000000 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +CIPHERTEXT = e07c30d7e4e26e12 +PLAINTEXT = 0000000000000000 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +CIPHERTEXT = 0953e2258e8e90a1 +PLAINTEXT = 0000000000000000 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +CIPHERTEXT = 5b711bc4ceebf2ee +PLAINTEXT = 0000000000000000 + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +CIPHERTEXT = cc083f1e6d9e85f6 +PLAINTEXT = 0000000000000000 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +CIPHERTEXT = d2fd8867d50d2dfe +PLAINTEXT = 0000000000000000 + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +CIPHERTEXT = 06e7ea22ce92708f +PLAINTEXT = 0000000000000000 + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +CIPHERTEXT = 166b40b44aba4bd6 +PLAINTEXT = 0000000000000000 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBpermop.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBpermop.rsp new file mode 100644 index 000000000..e3cccd2a6 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBpermop.rsp @@ -0,0 +1,392 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# PERMUTATION OPERATION - KAT for OFB +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:14 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 88d55e54f54c97b4 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0c0cc00c83ea48fd + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 83bc8ef3a6570183 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df725dcad94ea2e9 + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e652b53b550be8b0 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = af527120c485cbb0 + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0f04ce393db926d5 + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c9f00ffc74079067 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7cfd82a593252b4e + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cb49a2f9e91363e3 + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 00b588be70d23f56 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 406a9a6ab43399ae + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6cb773611dca9ada + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 67fd21c17dbb5d70 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9592cb4110430787 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a6b7ff68a318ddd3 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4d102196c914ca16 + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2dfa9f4573594965 + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b46604816c0e0774 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6e7e6221a4f34e87 + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aa85e74643233199 + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2e5a19db4d1962d6 + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 23a866a809d30894 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d812d961f017d320 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 055605816e58608f + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = abd88e8b1b7716f1 + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 537ac95be69da1e1 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aed0f6ae3c25cdd8 + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b3e35a5ee53e7b8d + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 61c79c71921a2ef8 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e2f5728f0995013c + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1aeac39a61f0a464 + +[DECRYPT] +COUNT = 0 +KEYs = 1046913489980131 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 88d55e54f54c97b4 + +COUNT = 1 +KEYs = 1007103489988020 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0c0cc00c83ea48fd + +COUNT = 2 +KEYs = 10071034c8980120 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 83bc8ef3a6570183 + +COUNT = 3 +KEYs = 1046103489988020 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = df725dcad94ea2e9 + +COUNT = 4 +KEYs = 1086911519190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e652b53b550be8b0 + +COUNT = 5 +KEYs = 1086911519580101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = af527120c485cbb0 + +COUNT = 6 +KEYs = 5107b01519580101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0f04ce393db926d5 + +COUNT = 7 +KEYs = 1007b01519190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c9f00ffc74079067 + +COUNT = 8 +KEYs = 3107915498080101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7cfd82a593252b4e + +COUNT = 9 +KEYs = 3107919498080101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = cb49a2f9e91363e3 + +COUNT = 10 +KEYs = 10079115b9080140 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 00b588be70d23f56 + +COUNT = 11 +KEYs = 3107911598080140 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 406a9a6ab43399ae + +COUNT = 12 +KEYs = 1007d01589980101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6cb773611dca9ada + +COUNT = 13 +KEYs = 9107911589980101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 67fd21c17dbb5d70 + +COUNT = 14 +KEYs = 9107d01589190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9592cb4110430787 + +COUNT = 15 +KEYs = 1007d01598980120 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a6b7ff68a318ddd3 + +COUNT = 16 +KEYs = 1007940498190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4d102196c914ca16 + +COUNT = 17 +KEYs = 0107910491190401 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2dfa9f4573594965 + +COUNT = 18 +KEYs = 0107910491190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b46604816c0e0774 + +COUNT = 19 +KEYs = 0107940491190401 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6e7e6221a4f34e87 + +COUNT = 20 +KEYs = 19079210981a0101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = aa85e74643233199 + +COUNT = 21 +KEYs = 1007911998190801 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2e5a19db4d1962d6 + +COUNT = 22 +KEYs = 10079119981a0801 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 23a866a809d30894 + +COUNT = 23 +KEYs = 1007921098190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d812d961f017d320 + +COUNT = 24 +KEYs = 100791159819010b +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 055605816e58608f + +COUNT = 25 +KEYs = 1004801598190101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = abd88e8b1b7716f1 + +COUNT = 26 +KEYs = 1004801598190102 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 537ac95be69da1e1 + +COUNT = 27 +KEYs = 1004801598190108 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = aed0f6ae3c25cdd8 + +COUNT = 28 +KEYs = 1002911598100104 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b3e35a5ee53e7b8d + +COUNT = 29 +KEYs = 1002911598190104 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 61c79c71921a2ef8 + +COUNT = 30 +KEYs = 1002911598100201 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e2f5728f0995013c + +COUNT = 31 +KEYs = 1002911698100101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1aeac39a61f0a464 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBsubtab.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBsubtab.rsp new file mode 100644 index 000000000..05582a649 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBsubtab.rsp @@ -0,0 +1,236 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# SUBSTITUTION TABLE - KAT for OFB +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:14 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 01a1d6d039776742 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 690f5b0d9a26939b + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 5cd54ca83def57da +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7a389d10354bd271 + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0248d43806f67172 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 868ebb51cab4599a + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 51454b582ddf440a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7178876e01f19b2a + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 42fd443059577fa2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = af37fb421f8c4095 + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 059b5e0851cf143a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 86a560f10ec6d85b + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0756d8e0774761d2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0cd3da020021dc09 + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 762514b829bf486a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ea676b2cb7db2b7a + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 3bdd119049372802 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dfd64a815caf1a0f + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 26955f6835af609a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5c513c9c4886c088 + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 164d5e404f275232 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0a2aeeae3ff4ab77 + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 6b056e18759f5cca +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ef1bf03e5dfa575a + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 004bd6ef09176062 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 88bf0db6d70dee56 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 480d39006ee762f2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a1f9915541020b56 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 437540c8698f3cfa +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6fbf1cafcffd0556 + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 072d43a077075292 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2f22e49bab7ca1ac + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 02fe55778117f12a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5a6b612cc26cce4a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 1d9d5c5018f728c2 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5f4c038ed12b2e41 + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 305532286d6f295a +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 63fac0d034d9f793 + +[DECRYPT] +COUNT = 0 +KEYs = 7ca110454a1a6e57 +IV = 01a1d6d039776742 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 690f5b0d9a26939b + +COUNT = 1 +KEYs = 0131d9619dc1376e +IV = 5cd54ca83def57da +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7a389d10354bd271 + +COUNT = 2 +KEYs = 07a1133e4a0b2686 +IV = 0248d43806f67172 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 868ebb51cab4599a + +COUNT = 3 +KEYs = 3849674c2602319e +IV = 51454b582ddf440a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7178876e01f19b2a + +COUNT = 4 +KEYs = 04b915ba43feb5b6 +IV = 42fd443059577fa2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = af37fb421f8c4095 + +COUNT = 5 +KEYs = 0113b970fd34f2ce +IV = 059b5e0851cf143a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 86a560f10ec6d85b + +COUNT = 6 +KEYs = 0170f175468fb5e6 +IV = 0756d8e0774761d2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0cd3da020021dc09 + +COUNT = 7 +KEYs = 43297fad38e373fe +IV = 762514b829bf486a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ea676b2cb7db2b7a + +COUNT = 8 +KEYs = 07a7137045da2a16 +IV = 3bdd119049372802 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dfd64a815caf1a0f + +COUNT = 9 +KEYs = 04689104c2fd3b2f +IV = 26955f6835af609a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5c513c9c4886c088 + +COUNT = 10 +KEYs = 37d06bb516cb7546 +IV = 164d5e404f275232 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0a2aeeae3ff4ab77 + +COUNT = 11 +KEYs = 1f08260d1ac2465e +IV = 6b056e18759f5cca +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ef1bf03e5dfa575a + +COUNT = 12 +KEYs = 584023641aba6176 +IV = 004bd6ef09176062 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 88bf0db6d70dee56 + +COUNT = 13 +KEYs = 025816164629b007 +IV = 480d39006ee762f2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a1f9915541020b56 + +COUNT = 14 +KEYs = 49793ebc79b3258f +IV = 437540c8698f3cfa +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6fbf1cafcffd0556 + +COUNT = 15 +KEYs = 4fb05e1515ab73a7 +IV = 072d43a077075292 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2f22e49bab7ca1ac + +COUNT = 16 +KEYs = 49e95d6d4ca229bf +IV = 02fe55778117f12a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5a6b612cc26cce4a + +COUNT = 17 +KEYs = 018310dc409b26d6 +IV = 1d9d5c5018f728c2 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5f4c038ed12b2e41 + +COUNT = 18 +KEYs = 1c587f1c13924fef +IV = 305532286d6f295a +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 63fac0d034d9f793 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBvarkey.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBvarkey.rsp new file mode 100644 index 000000000..b3222f1a1 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBvarkey.rsp @@ -0,0 +1,680 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE KEY - KAT for OFB +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:14 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 95a8d72813daa94d + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0eec1487dd8c26d5 + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7ad16ffb79c45926 + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d3746294ca6a6cf3 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 809f5f873c1fd761 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c02faffec989d1fc + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4615aa1d33e72f10 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2055123350c00858 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df3b99d6577397c8 + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 31fe17369b5288c9 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dfdd3cc64dae1642 + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 178c83ce2b399d94 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 50f636324a9b7f80 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a8468ee3bc18f06d + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a2dc9e92fd3cde92 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cac09f797d031287 + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 90ba680b22aeb525 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ce7a24f350e280b6 + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 882bff0aa01a0b87 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 25610288924511c2 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c71516c29c75d170 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5199c29a52c9f059 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = c22f0a294a71f29f + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ee371483714c02ea + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a81fbd448f9e522f + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4f644c92e192dfed + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1afa9a66a6df92ae + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b3c1cc715cb879d8 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 19d032e64ab0bd8b + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 3cfaa7a7dc8720dc + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b7265f7f447ac6f3 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9db73b3c0d163f54 + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8181b65babf4a975 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 93c9b64042eaa240 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5570530829705592 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8638809e878787a0 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 41b9a79af79ac208 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 7a9be42f2009a892 + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 29038d56ba6d2745 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5495c6abf1e5df51 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ae13dbd561488933 + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 024d1ffa8904e389 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d1399712f99bf02e + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 14c1d7c1cffec79e + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1de5279dae3bed6f + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e941a33f85501303 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = da99dbbc9a03f379 + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b7fc92f91d8e92e9 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ae8e5caa3ca04e85 + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9cc62df43b6eed74 + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d863dbb5c59a91a0 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a1ab2190545b91d7 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0875041e64c570f7 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5a594528bebef1cc + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = fcdb3291de21f0c0 + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 869efd7f9f265a09 + +[DECRYPT] +COUNT = 0 +KEYs = 8001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 95a8d72813daa94d + +COUNT = 1 +KEYs = 4001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0eec1487dd8c26d5 + +COUNT = 2 +KEYs = 2001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7ad16ffb79c45926 + +COUNT = 3 +KEYs = 1001010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d3746294ca6a6cf3 + +COUNT = 4 +KEYs = 0801010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 809f5f873c1fd761 + +COUNT = 5 +KEYs = 0401010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c02faffec989d1fc + +COUNT = 6 +KEYs = 0201010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4615aa1d33e72f10 + +COUNT = 7 +KEYs = 0180010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2055123350c00858 + +COUNT = 8 +KEYs = 0140010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = df3b99d6577397c8 + +COUNT = 9 +KEYs = 0120010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 31fe17369b5288c9 + +COUNT = 10 +KEYs = 0110010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dfdd3cc64dae1642 + +COUNT = 11 +KEYs = 0108010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 178c83ce2b399d94 + +COUNT = 12 +KEYs = 0104010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 50f636324a9b7f80 + +COUNT = 13 +KEYs = 0102010101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a8468ee3bc18f06d + +COUNT = 14 +KEYs = 0101800101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a2dc9e92fd3cde92 + +COUNT = 15 +KEYs = 0101400101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = cac09f797d031287 + +COUNT = 16 +KEYs = 0101200101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 90ba680b22aeb525 + +COUNT = 17 +KEYs = 0101100101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ce7a24f350e280b6 + +COUNT = 18 +KEYs = 0101080101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 882bff0aa01a0b87 + +COUNT = 19 +KEYs = 0101040101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 25610288924511c2 + +COUNT = 20 +KEYs = 0101020101010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c71516c29c75d170 + +COUNT = 21 +KEYs = 0101018001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5199c29a52c9f059 + +COUNT = 22 +KEYs = 0101014001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = c22f0a294a71f29f + +COUNT = 23 +KEYs = 0101012001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ee371483714c02ea + +COUNT = 24 +KEYs = 0101011001010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a81fbd448f9e522f + +COUNT = 25 +KEYs = 0101010801010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4f644c92e192dfed + +COUNT = 26 +KEYs = 0101010401010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1afa9a66a6df92ae + +COUNT = 27 +KEYs = 0101010201010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b3c1cc715cb879d8 + +COUNT = 28 +KEYs = 0101010180010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 19d032e64ab0bd8b + +COUNT = 29 +KEYs = 0101010140010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 3cfaa7a7dc8720dc + +COUNT = 30 +KEYs = 0101010120010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b7265f7f447ac6f3 + +COUNT = 31 +KEYs = 0101010110010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9db73b3c0d163f54 + +COUNT = 32 +KEYs = 0101010108010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8181b65babf4a975 + +COUNT = 33 +KEYs = 0101010104010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 93c9b64042eaa240 + +COUNT = 34 +KEYs = 0101010102010101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5570530829705592 + +COUNT = 35 +KEYs = 0101010101800101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8638809e878787a0 + +COUNT = 36 +KEYs = 0101010101400101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 41b9a79af79ac208 + +COUNT = 37 +KEYs = 0101010101200101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 7a9be42f2009a892 + +COUNT = 38 +KEYs = 0101010101100101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 29038d56ba6d2745 + +COUNT = 39 +KEYs = 0101010101080101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5495c6abf1e5df51 + +COUNT = 40 +KEYs = 0101010101040101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ae13dbd561488933 + +COUNT = 41 +KEYs = 0101010101020101 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 024d1ffa8904e389 + +COUNT = 42 +KEYs = 0101010101018001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d1399712f99bf02e + +COUNT = 43 +KEYs = 0101010101014001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 14c1d7c1cffec79e + +COUNT = 44 +KEYs = 0101010101012001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1de5279dae3bed6f + +COUNT = 45 +KEYs = 0101010101011001 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e941a33f85501303 + +COUNT = 46 +KEYs = 0101010101010801 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = da99dbbc9a03f379 + +COUNT = 47 +KEYs = 0101010101010401 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b7fc92f91d8e92e9 + +COUNT = 48 +KEYs = 0101010101010201 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ae8e5caa3ca04e85 + +COUNT = 49 +KEYs = 0101010101010180 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9cc62df43b6eed74 + +COUNT = 50 +KEYs = 0101010101010140 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d863dbb5c59a91a0 + +COUNT = 51 +KEYs = 0101010101010120 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a1ab2190545b91d7 + +COUNT = 52 +KEYs = 0101010101010110 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0875041e64c570f7 + +COUNT = 53 +KEYs = 0101010101010108 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5a594528bebef1cc + +COUNT = 54 +KEYs = 0101010101010104 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = fcdb3291de21f0c0 + +COUNT = 55 +KEYs = 0101010101010102 +IV = 0000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 869efd7f9f265a09 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBvartext.rsp b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBvartext.rsp new file mode 100644 index 000000000..5e83a9661 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/TDES/TOFBvartext.rsp @@ -0,0 +1,776 @@ +# CAVS 11.1 +# Config Info for : "tdes_values" +# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for OFB +# State : Encrypt and Decrypt +# Thu Apr 21 10:33:14 AM + +[ENCRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 95f8a5e5dd31d900 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dd7f121ca5015619 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2e8653104f3834ea + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4bd388ff6cd81d4f + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 20b9e767b2fb1456 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 55579380d77138ef + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 6cc5defaaf04512f + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0d9f279ba5d87260 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d9031b0271bd5a0a + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 424250b37c3dd951 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b8061b7ecd9a21e5 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = f15d0f286b65bd28 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = add0cc8d6e5deba1 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e6d5f82752ad63d1 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ecbfe3bd3f591a5e + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = f356834379d165cd + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2b9f982f20037fa9 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 889de068a16f0be6 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e19e275d846a1298 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 329a8ed523d71aec + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e7fce22557d23c97 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 12a9f5817ff2d65d + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = a484c3ad38dc9c19 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = fbe00a8a1ef8ad72 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 750d079407521363 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 64feed9c724c2faf + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = f02b263b328e2b60 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 9d64555a9a10b852 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d106ff0bed5255d7 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e1652c6b138c64a5 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e428581186ec8f46 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = aeb5f5ede22d1a36 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e943d7568aec0c5c + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = df98c8276f54b04b + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = b160e4680f6c696f + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = fa0752b07d9c4ab8 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ca3a2b036dbc8502 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5e0905517bb59bcf + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 814eeb3b91d90726 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 4d49db1532919c9f + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 25eb5fc3f8cf0621 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ab6a20c0620d1c6f + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 79e90dbc98f92cca + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 866ecedd8072bb0e + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8b54536f2f3e64a8 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ea51d3975595b86b + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = caffc6ac4542de31 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8dd45a2ddf90796c + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1029d55e880ec2d0 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5d86cb23639dbea9 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 1d1ca853ae7c0c5f + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = ce332329248f3228 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 8405d1abe24fb942 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e643d78090ca4207 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 48221b9937748a23 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = dd7c0bbd61fafd54 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 2fbc291a570db5c4 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = e07c30d7e4e26e12 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 0953e2258e8e90a1 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 5b711bc4ceebf2ee + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = cc083f1e6d9e85f6 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = d2fd8867d50d2dfe + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 06e7ea22ce92708f + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +PLAINTEXT = 0000000000000000 +CIPHERTEXT = 166b40b44aba4bd6 + +[DECRYPT] +COUNT = 0 +KEYs = 0101010101010101 +IV = 8000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 95f8a5e5dd31d900 + +COUNT = 1 +KEYs = 0101010101010101 +IV = 4000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dd7f121ca5015619 + +COUNT = 2 +KEYs = 0101010101010101 +IV = 2000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2e8653104f3834ea + +COUNT = 3 +KEYs = 0101010101010101 +IV = 1000000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4bd388ff6cd81d4f + +COUNT = 4 +KEYs = 0101010101010101 +IV = 0800000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 20b9e767b2fb1456 + +COUNT = 5 +KEYs = 0101010101010101 +IV = 0400000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 55579380d77138ef + +COUNT = 6 +KEYs = 0101010101010101 +IV = 0200000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 6cc5defaaf04512f + +COUNT = 7 +KEYs = 0101010101010101 +IV = 0100000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0d9f279ba5d87260 + +COUNT = 8 +KEYs = 0101010101010101 +IV = 0080000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d9031b0271bd5a0a + +COUNT = 9 +KEYs = 0101010101010101 +IV = 0040000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 424250b37c3dd951 + +COUNT = 10 +KEYs = 0101010101010101 +IV = 0020000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b8061b7ecd9a21e5 + +COUNT = 11 +KEYs = 0101010101010101 +IV = 0010000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = f15d0f286b65bd28 + +COUNT = 12 +KEYs = 0101010101010101 +IV = 0008000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = add0cc8d6e5deba1 + +COUNT = 13 +KEYs = 0101010101010101 +IV = 0004000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e6d5f82752ad63d1 + +COUNT = 14 +KEYs = 0101010101010101 +IV = 0002000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ecbfe3bd3f591a5e + +COUNT = 15 +KEYs = 0101010101010101 +IV = 0001000000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = f356834379d165cd + +COUNT = 16 +KEYs = 0101010101010101 +IV = 0000800000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2b9f982f20037fa9 + +COUNT = 17 +KEYs = 0101010101010101 +IV = 0000400000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 889de068a16f0be6 + +COUNT = 18 +KEYs = 0101010101010101 +IV = 0000200000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e19e275d846a1298 + +COUNT = 19 +KEYs = 0101010101010101 +IV = 0000100000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 329a8ed523d71aec + +COUNT = 20 +KEYs = 0101010101010101 +IV = 0000080000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e7fce22557d23c97 + +COUNT = 21 +KEYs = 0101010101010101 +IV = 0000040000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 12a9f5817ff2d65d + +COUNT = 22 +KEYs = 0101010101010101 +IV = 0000020000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = a484c3ad38dc9c19 + +COUNT = 23 +KEYs = 0101010101010101 +IV = 0000010000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = fbe00a8a1ef8ad72 + +COUNT = 24 +KEYs = 0101010101010101 +IV = 0000008000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 750d079407521363 + +COUNT = 25 +KEYs = 0101010101010101 +IV = 0000004000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 64feed9c724c2faf + +COUNT = 26 +KEYs = 0101010101010101 +IV = 0000002000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = f02b263b328e2b60 + +COUNT = 27 +KEYs = 0101010101010101 +IV = 0000001000000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 9d64555a9a10b852 + +COUNT = 28 +KEYs = 0101010101010101 +IV = 0000000800000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d106ff0bed5255d7 + +COUNT = 29 +KEYs = 0101010101010101 +IV = 0000000400000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e1652c6b138c64a5 + +COUNT = 30 +KEYs = 0101010101010101 +IV = 0000000200000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e428581186ec8f46 + +COUNT = 31 +KEYs = 0101010101010101 +IV = 0000000100000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = aeb5f5ede22d1a36 + +COUNT = 32 +KEYs = 0101010101010101 +IV = 0000000080000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e943d7568aec0c5c + +COUNT = 33 +KEYs = 0101010101010101 +IV = 0000000040000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = df98c8276f54b04b + +COUNT = 34 +KEYs = 0101010101010101 +IV = 0000000020000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = b160e4680f6c696f + +COUNT = 35 +KEYs = 0101010101010101 +IV = 0000000010000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = fa0752b07d9c4ab8 + +COUNT = 36 +KEYs = 0101010101010101 +IV = 0000000008000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ca3a2b036dbc8502 + +COUNT = 37 +KEYs = 0101010101010101 +IV = 0000000004000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5e0905517bb59bcf + +COUNT = 38 +KEYs = 0101010101010101 +IV = 0000000002000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 814eeb3b91d90726 + +COUNT = 39 +KEYs = 0101010101010101 +IV = 0000000001000000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 4d49db1532919c9f + +COUNT = 40 +KEYs = 0101010101010101 +IV = 0000000000800000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 25eb5fc3f8cf0621 + +COUNT = 41 +KEYs = 0101010101010101 +IV = 0000000000400000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ab6a20c0620d1c6f + +COUNT = 42 +KEYs = 0101010101010101 +IV = 0000000000200000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 79e90dbc98f92cca + +COUNT = 43 +KEYs = 0101010101010101 +IV = 0000000000100000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 866ecedd8072bb0e + +COUNT = 44 +KEYs = 0101010101010101 +IV = 0000000000080000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8b54536f2f3e64a8 + +COUNT = 45 +KEYs = 0101010101010101 +IV = 0000000000040000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ea51d3975595b86b + +COUNT = 46 +KEYs = 0101010101010101 +IV = 0000000000020000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = caffc6ac4542de31 + +COUNT = 47 +KEYs = 0101010101010101 +IV = 0000000000010000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8dd45a2ddf90796c + +COUNT = 48 +KEYs = 0101010101010101 +IV = 0000000000008000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1029d55e880ec2d0 + +COUNT = 49 +KEYs = 0101010101010101 +IV = 0000000000004000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5d86cb23639dbea9 + +COUNT = 50 +KEYs = 0101010101010101 +IV = 0000000000002000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 1d1ca853ae7c0c5f + +COUNT = 51 +KEYs = 0101010101010101 +IV = 0000000000001000 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = ce332329248f3228 + +COUNT = 52 +KEYs = 0101010101010101 +IV = 0000000000000800 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 8405d1abe24fb942 + +COUNT = 53 +KEYs = 0101010101010101 +IV = 0000000000000400 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e643d78090ca4207 + +COUNT = 54 +KEYs = 0101010101010101 +IV = 0000000000000200 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 48221b9937748a23 + +COUNT = 55 +KEYs = 0101010101010101 +IV = 0000000000000100 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = dd7c0bbd61fafd54 + +COUNT = 56 +KEYs = 0101010101010101 +IV = 0000000000000080 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 2fbc291a570db5c4 + +COUNT = 57 +KEYs = 0101010101010101 +IV = 0000000000000040 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = e07c30d7e4e26e12 + +COUNT = 58 +KEYs = 0101010101010101 +IV = 0000000000000020 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 0953e2258e8e90a1 + +COUNT = 59 +KEYs = 0101010101010101 +IV = 0000000000000010 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 5b711bc4ceebf2ee + +COUNT = 60 +KEYs = 0101010101010101 +IV = 0000000000000008 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = cc083f1e6d9e85f6 + +COUNT = 61 +KEYs = 0101010101010101 +IV = 0000000000000004 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = d2fd8867d50d2dfe + +COUNT = 62 +KEYs = 0101010101010101 +IV = 0000000000000002 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 06e7ea22ce92708f + +COUNT = 63 +KEYs = 0101010101010101 +IV = 0000000000000001 +CIPHERTEXT = 0000000000000000 +PLAINTEXT = 166b40b44aba4bd6 + diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_eax_test.json b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_eax_test.json new file mode 100644 index 000000000..9b4e0b2bc --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_eax_test.json @@ -0,0 +1,2031 @@ +{ + "algorithm" : "AES-EAX", + "generatorVersion" : "0.4", + "numberOfTests" : 155, + "notes" : { + "CounterWrap" : "AES-EAX reduces the counter value modulo 2**128. This test vector was constructed for testing the wrapping of the counter value." + }, + "header" : [], + "testGroups" : [ + { + "ivSize" : 128, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "eprint.iacr.org/2003/069", + "key" : "233952dee4d5ed5f9b9c6d6ff80ff478", + "iv" : "62ec67f9c3a4a407fcb2a8c49031a8b3", + "aad" : "6bfb914fd07eae6b", + "msg" : "", + "ct" : "", + "tag" : "e037830e8389f27b025a2d6527e79d01", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "eprint.iacr.org/2003/069", + "key" : "91945d3f4dcbee0bf45ef52255f095a4", + "iv" : "becaf043b0a23d843194ba972c66debd", + "aad" : "fa3bfd4806eb53fa", + "msg" : "f7fb", + "ct" : "19dd", + "tag" : "5c4c9331049d0bdab0277408f67967e5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "eprint.iacr.org/2003/069", + "key" : "01f74ad64077f2e704c0f60ada3dd523", + "iv" : "70c3db4f0d26368400a10ed05d2bff5e", + "aad" : "234a3463c1264ac6", + "msg" : "1a47cb4933", + "ct" : "d851d5bae0", + "tag" : "3a59f238a23e39199dc9266626c40f80", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "eprint.iacr.org/2003/069", + "key" : "d07cf6cbb7f313bdde66b727afd3c5e8", + "iv" : "8408dfff3c1a2b1292dc199e46b7d617", + "aad" : "33cce2eabff5a79d", + "msg" : "481c9e39b1", + "ct" : "632a9d131a", + "tag" : "d4c168a4225d8e1ff755939974a7bede", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "eprint.iacr.org/2003/069", + "key" : "35b6d0580005bbc12b0587124557d2c2", + "iv" : "fdb6b06676eedc5c61d74276e1f8e816", + "aad" : "aeb96eaebe2970e9", + "msg" : "40d0c07da5e4", + "ct" : "071dfe16c675", + "tag" : "cb0677e536f73afe6a14b74ee49844dd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "eprint.iacr.org/2003/069", + "key" : "bd8e6e11475e60b268784c38c62feb22", + "iv" : "6eac5c93072d8e8513f750935e46da1b", + "aad" : "d4482d1ca78dce0f", + "msg" : "4de3b35c3fc039245bd1fb7d", + "ct" : "835bb4f15d743e350e728414", + "tag" : "abb8644fd6ccb86947c5e10590210a4f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "eprint.iacr.org/2003/069", + "key" : "7c77d6e813bed5ac98baa417477a2e7d", + "iv" : "1a8c98dcd73d38393b2bf1569deefc19", + "aad" : "65d2017990d62528", + "msg" : "8b0a79306c9ce7ed99dae4f87f8dd61636", + "ct" : "02083e3979da014812f59f11d52630da30", + "tag" : "137327d10649b0aa6e1c181db617d7f2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "eprint.iacr.org/2003/069", + "key" : "5fff20cafab119ca2fc73549e20f5b0d", + "iv" : "dde59b97d722156d4d9aff2bc7559826", + "aad" : "54b9f04e6a09189a", + "msg" : "1bda122bce8a8dbaf1877d962b8592dd2d56", + "ct" : "2ec47b2c4954a489afc7ba4897edcdae8cc3", + "tag" : "3b60450599bd02c96382902aef7f832a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "eprint.iacr.org/2003/069", + "key" : "a4a4782bcffd3ec5e7ef6d8c34a56123", + "iv" : "b781fcf2f75fa5a8de97a9ca48e522ec", + "aad" : "899a175897561d7e", + "msg" : "6cf36720872b8513f6eab1a8a44438d5ef11", + "ct" : "0de18fd0fdd91e7af19f1d8ee8733938b1e8", + "tag" : "e7f6d2231618102fdb7fe55ff1991700", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "eprint.iacr.org/2003/069", + "key" : "8395fcf1e95bebd697bd010bc766aac3", + "iv" : "22e7add93cfc6393c57ec0b3c17d6b44", + "aad" : "126735fcc320d25a", + "msg" : "ca40d7446e545ffaed3bd12a740a659ffbbb3ceab7", + "ct" : "cb8920f87a6c75cff39627b56e3ed197c552d295a7", + "tag" : "cfc46afc253b4652b1af3795b124ab6e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "Initial counter value == 2^128-1", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "3c8cc2970a008f75cc5beae2847258c2", + "aad" : "", + "msg" : "0000000000000000000000000000000011111111111111111111111111111111", + "ct" : "3c441f32ce07822364d7a2990e50bb13d7b02a26969e4a937e5e9073b0d9c968", + "tag" : "db90bdb3da3d00afd0fc6a83551da95e", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 12, + "comment" : "counter value overflows at 64-bit boundary", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "aef03d00598494e9fb03cd7d8b590866", + "aad" : "", + "msg" : "0000000000000000000000000000000011111111111111111111111111111111", + "ct" : "d19ac59849026a91aa1b9aec29b11a202a4d739fd86c28e3ae3d588ea21d70c6", + "tag" : "c30f6cd9202074ed6e2a2a360eac8c47", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 13, + "comment" : "no counter overflow, but the 64 most significant bits are set.", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "55d12511c696a80d0514d1ffba49cada", + "aad" : "", + "msg" : "0000000000000000000000000000000011111111111111111111111111111111", + "ct" : "2108558ac4b2c2d5cc66cea51d6210e046177a67631cd2dd8f09469733acb517", + "tag" : "fc355e87a267be3ae3e44c0bf3f99b2b", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 14, + "comment" : "counter value overflows at 32-bit boundary", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "79422ddd91c4eee2deaef1f968305304", + "aad" : "", + "msg" : "0000000000000000000000000000000011111111111111111111111111111111", + "ct" : "4d2c1524ca4baa4eefcce6b91b227ee83abaff8105dcafa2ab191f5df2575035", + "tag" : "e2c865ce2d7abdac024c6f991a848390", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 15, + "comment" : "bits 32-64 and 96-128 of counter are set", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "0af5aa7a7676e28306306bcd9bf2003a", + "aad" : "", + "msg" : "0000000000000000000000000000000011111111111111111111111111111111", + "ct" : "8eb01e62185d782eb9287a341a6862ac5257d6f9adc99ee0a24d9c22b3e9b38a", + "tag" : "39c339bc8a74c75e2c65c6119544d61e", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 16, + "comment" : "lower bits of initial counter are 2^63-1", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "af5a03ae7edd73471bdcdfac5e194a60", + "aad" : "", + "msg" : "0000000000000000000000000000000011111111111111111111111111111111", + "ct" : "94c5d2aca6dbbce8c24513a25e095c0e54a942860d327a222a815cc713b163b4", + "tag" : "f50b30304e45c9d411e8df4508a98612", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 17, + "comment" : "counter overflow", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "b37087680f0edd5a52228b8c7aaea664", + "aad" : "", + "msg" : "00000000000000000000000000000000111111111111111111111111111111112222222222222222222222222222222233333333333333333333333333333333", + "ct" : "3bb6173e3772d4b62eef37f9ef0781f360b6c74be3bf6b371067bc1b090d9d6622a1fbec6ac471b3349cd4277a101d40890fbf27dfdcd0b4e3781f9806daabb6", + "tag" : "a0498745e59999ddc32d5b140241124e", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 18, + "comment" : "lower 64 bits of initial counter are 2^63-4", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "4f802da62a384555a19bc2b382eb25af", + "aad" : "", + "msg" : "0000000000000000000000000000000011111111111111111111111111111111222222222222222222222222222222223333333333333333333333333333333344444444444444444444444444444444", + "ct" : "e9b0bb8857818ce3201c3690d21daa7f264fb8ee93cc7a4674ea2fc32bf182fb2a7e8ad51507ad4f31cefc2356fe7936a7f6e19f95e88fdbf17620916d3a6f3d01fc17d358672f777fd4099246e436e1", + "tag" : "67910be744b8315ae0eb6124590c5d8b", + "result" : "valid", + "flags" : [ + "CounterWrap" + ] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "b67b1a6efdd40d37080fbe8f8047aeb9", + "iv" : "fa294b129972f7fc5bbd5b96bba837c9", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "b14b64fb589899699570cc9160e39896", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "209e6dbf2ad26a105445fc0207cd9e9a", + "iv" : "9477849d6ccdfca112d92e53fae4a7ca", + "aad" : "", + "msg" : "01", + "ct" : "1d", + "tag" : "52a5f600fe5338026a7cb09c11640082", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "", + "key" : "a549442e35154032d07c8666006aa6a2", + "iv" : "5171524568e81d97e8c4de4ba56c10a0", + "aad" : "", + "msg" : "1182e93596cac5608946400bc73f3a", + "ct" : "d7b8a6b43d2e9f98c2b44ce5e3cfdb", + "tag" : "1bdd52fc987daf0ee19234c905ea645f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "", + "key" : "958bcdb66a3952b53701582a68a0e474", + "iv" : "0e6ec879b02c6f516976e35898428da7", + "aad" : "", + "msg" : "140415823ecc8932a058384b738ea6ea6d4dfe3bbeee", + "ct" : "73e5c6f0e703a52d02f7f7faeb1b77fd4fd0cb421eaf", + "tag" : "6c154a85968edd74776575a4450bd897", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "", + "key" : "965b757ba5018a8d66edc78e0ceee86b", + "iv" : "2e35901ae7d491eecc8838fedd631405", + "aad" : "df10d0d212242450", + "msg" : "36e57a763958b02cea9d6a676ebce81f", + "ct" : "936b69b6c955adfd15539b9be4989cb6", + "tag" : "ee15a1454e88faad8e48a8df2983b425", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "", + "key" : "88d02033781c7b4164711a05420f256e", + "iv" : "7f2985296315507aa4c0a93d5c12bd77", + "aad" : "7c571d2fbb5f62523c0eb338bef9a9", + "msg" : "d98adc03d9d582732eb07df23d7b9f74", + "ct" : "67caac35443a3138d2cb811f0ce04dd2", + "tag" : "b7968e0b5640e3b236569653208b9deb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "", + "key" : "515840cf67d2e40eb65e54a24c72cbf2", + "iv" : "bf47afdfd492137a24236bc36797a88e", + "aad" : "16843c091d43b0a191d0c73d15601be9", + "msg" : "c834588cb6daf9f06dd23519f4be9f56", + "ct" : "200ac451fbeb0f6151d61583a43b7343", + "tag" : "2ad43e4caa51983a9d4d24481bf4c839", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "", + "key" : "2e4492d444e5b6f4cec8c2d3615ac858", + "iv" : "d02bf0763a9fefbf70c33aee1e9da1d6", + "aad" : "904d86f133cec15a0c3caf14d7e029c82a07705a23f0d080", + "msg" : "9e62d6511b0bda7dd7740b614d97bae0", + "ct" : "27c6e9a653c5253ca1c5673f97b9b33e", + "tag" : "2d581271e1fa9e3686136caa8f4d6c8e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e70e7c5013a6dbf25298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e40e7c5013a6dbf25298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "660e7c5013a6dbf25298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60f7c5013a6dbf25298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7cd013a6dbf25298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5012a6dbf25298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5011a6dbf25298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6db725298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25398b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf2d298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf252b8b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b0929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b1929ac356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b19299c356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b1921bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b1929bc356a6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b1929bc356a5", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b1929bc356e7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6dbf25298b1929bc35627", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e70e7c5013a6dbf25398b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7cd013a6db725298b1929bc356a7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e60e7c5013a6db725298b1929bc35627", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "19f183afec59240dad674e6d643ca958", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "668efcd093265b72d21831121b43d627", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "29a0914fec4bef54babf6613a9f9cd70", + "tag" : "e70f7d5112a7daf35399b0939ac257a6", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "ivSize" : 96, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 54, + "comment" : "", + "key" : "bedcfb5a011ebc84600fcb296c15af0d", + "iv" : "438a547a94ea88dce46c6c85", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "9607977cd7556b1dfedf0c73a35a5197", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "", + "key" : "384ea416ac3c2f51a76e7d8226346d4e", + "iv" : "b30c084727ad1c592ac21d12", + "aad" : "", + "msg" : "35", + "ct" : "98", + "tag" : "f5d7930952e275beecb998d804c241f0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "", + "key" : "cae31cd9f55526eb038241fc44cac1e5", + "iv" : "b5e006ded553110e6dc56529", + "aad" : "", + "msg" : "d10989f2c52e94ad", + "ct" : "7fd2878318ab0f2b", + "tag" : "ab184ffde523565529a9be111b0c2d6d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "", + "key" : "ffdf4228361ea1f8165852136b3480f7", + "iv" : "0e1666f2dc652f7708fb8f0d", + "aad" : "", + "msg" : "25b12e28ac0ef6ead0226a3b2288c800", + "ct" : "e928622d1e6e798d8665ae732c4c1e5f", + "tag" : "33ab476757ffa42c0f6c276391a46eac", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "", + "key" : "a8ee11b26d7ceb7f17eaa1e4b83a2cf6", + "iv" : "fbbc04fd6e025b7193eb57f6", + "aad" : "", + "msg" : "c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf", + "ct" : "efd299a43b25ce8cc31b80e5489ef9ce7356ececa91bc7bd", + "tag" : "3c33fc0bcd256b0a8a34ecc8b01e52a6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "", + "key" : "1655bf662f7ee685615701fd3779d628", + "iv" : "42b51388f6f9047a2a994575", + "aad" : "", + "msg" : "857b2f6cd608c9cea0246c740caa4ca19c5f1c7d71cb9273f0d8c8bb65b70a", + "ct" : "356bca9cddd39efd393278e43b4e80266071608036e81d6e924d4e4800fb27", + "tag" : "71f02ba7c6cf3a579e56245025420071", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "", + "key" : "42e38abef2dd7573248c5aefb3ecca54", + "iv" : "064b3cfbe04d94d4d5c19b30", + "aad" : "", + "msg" : "2c763b9ec84903bcbb8aec15e678a3a955e4870edbf62d9d3c81c4f9ed6154877875779ca33cce8f73a55ca7af1d8d817fc6baac00ef962c5a0da339ce81427a3d59", + "ct" : "9d911b934a68ce7db322410028bd31bd81bcbdadf26f15676be472bc3821fb68e4728db76930bc0958aeed6faf3e333da7af3d48c480b424ff3d6600cc56a507c8ad", + "tag" : "d679eb9e5d744b62d91dcf6fb6284f41", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 96, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 61, + "comment" : "", + "key" : "5019eb9fef82e5750b631758f0213e3e5fcca12748b40eb4", + "iv" : "ff0ddb0a0d7b36d219da12b5", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "bce273d0e68112371745e665ececa823", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "", + "key" : "21218af790428f8024d3e7e1428c9fcf578c216636d60e73", + "iv" : "34047bc39b9c608384dff5b8", + "aad" : "", + "msg" : "e3", + "ct" : "a3", + "tag" : "54a0b780af21eb4714feeecfafbb2226", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "", + "key" : "3a8bf543c480925632118245bcbf5d01522b987a31a33da3", + "iv" : "4ebc13cf4636cc7c45e560a7", + "aad" : "", + "msg" : "53fc72e71b59eeb3", + "ct" : "58a3891bbda8d0ed", + "tag" : "af4e86d045c2397ee273fe9d3a324656", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "", + "key" : "bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e", + "iv" : "be0326d23bdc2c64648d13f4", + "aad" : "", + "msg" : "80474a3a3b809560eee2ce7a7a33ea07", + "ct" : "586e1aa844e2fa3749e44a0aa4cb745d", + "tag" : "96f41c15cddf13c4032cfdaccf1c414a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "", + "key" : "7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff", + "iv" : "b022067048505b20946216ef", + "aad" : "", + "msg" : "ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80", + "ct" : "e271d068193af63e3c604659ad0268525f78dcb8a67b0c22", + "tag" : "e345fba42d860b1c1886d0cc4c5db134", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "", + "key" : "f7ace6c3c10c3ff977febe7dc882b8e779ef3a17ef9324a8", + "iv" : "6e2ba2833c5dce6becc4f6d8", + "aad" : "", + "msg" : "2e11e41951c20460c768b0d71ad56e77bec05e0478f99d5b62e799f732e467", + "ct" : "282317a4b3dab218ab8a691d20b3849f90eed541fd28c0d575b5dc767e8fb4", + "tag" : "33d8ec06ea9751eb0ac4f8a08bbde648", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "", + "key" : "239195b58668eb89636b1ec2b331336946369fc6c87b8849", + "iv" : "14a6281a43b4eb056a67b9e6", + "aad" : "", + "msg" : "39d873d4cad71cb252784bd14648a494ceb517eb9e3e6f32d19bd18dfaf877c7aec22103d242993ed7bab123326110dfdb7229143a0c601e16aa4ecdde808cd83bb2", + "ct" : "e8325d16185109f5ebde020dd4219a5c1554ee83a82c60ae3d2a018e795730ed8ef404d8ba4aba95cc8fa6e435bf8ec9e405b3525dfd66c2be91812f0008c02fceed", + "tag" : "72418f7d6c3770d603f5762d666af049", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 96, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 68, + "comment" : "", + "key" : "80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0", + "iv" : "4da5bf8dfd5852c1ea12379d", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "4d293af9a8fe4ac034f14b14334c16ae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "", + "key" : "cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273", + "iv" : "99e23ec48985bccdeeab60f1", + "aad" : "", + "msg" : "2a", + "ct" : "8c", + "tag" : "c460d5ff45235c3c2491c7e6a32491d6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "", + "key" : "51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152", + "iv" : "4f07afedfdc3b6c2361823d3", + "aad" : "", + "msg" : "be3308f72a2c6aed", + "ct" : "6038296421fb5007", + "tag" : "0a91c72219c0b9ad716accd910e04e13", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "", + "key" : "59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a", + "iv" : "2fcb1b38a99e71b84740ad9b", + "aad" : "", + "msg" : "549b365af913f3b081131ccb6b825588", + "ct" : "c4066e265a948f40e05e37fa400fde1b", + "tag" : "611de27128955c54edd7a4d6d23e78ee", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "", + "key" : "0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7", + "iv" : "e6b1adf2fd58a8762c65f31b", + "aad" : "", + "msg" : "10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111", + "ct" : "f64ffe52cd838cea89dd500662a2ee4b4b450eee68218e84", + "tag" : "ae1e2eda96bed82182240aae08f9fe9c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "", + "key" : "2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71", + "iv" : "04a9be03508a5f31371a6fd2", + "aad" : "", + "msg" : "b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729", + "ct" : "01f09a6a136909c158e13502ee5488f592ee24059d6da734acba8c11e9815f", + "tag" : "79e57b518fa6dabe94e0e89cae89976b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "", + "key" : "95e87eda64d0dc2d4e851030c3e1b27cca2265b3464c2c572bd8fc8cfb282d1b", + "iv" : "ce03bbb56778f25d4528350b", + "aad" : "", + "msg" : "2e5acc19acb9940bb74d414b45e71386a409b641490b139493d7d632cbf1674fdf2511c3fad6c27359e6137b4cd52efc4bf871e6623451517d6a3c68240f2a79916a", + "ct" : "72356ce9f1822e30809817a3b91ea13700ab3275b6f3718a845ad0b132bf4bbbb61ee466c1b0a1cb5a26424dbcc8d1b649f22785907a9c0164a2a41a9fc477d6c4dd", + "tag" : "872861d71412e15732f60a83d4b47ee1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 128, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 75, + "comment" : "", + "key" : "fae2a14197c7d1140061fe7c3d11d9f77c79562e3593a99b", + "iv" : "bc28433953772d57bbd933100cd47a56", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "b8c26823cb288d2ddc93ea1f3c91248b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "", + "key" : "cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b", + "iv" : "1e8259e0a43e571068f701cd2064fc0c", + "aad" : "", + "msg" : "46", + "ct" : "1d", + "tag" : "902249b563e6a8a63bb3bb6ee7696951", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "", + "key" : "189f0bd390ba40632586a45c39735c2b87113329c800f394", + "iv" : "c84442d6975f0359737de0fa828f958e", + "aad" : "", + "msg" : "b4bcd7b8eeca3050dd17682c6a914e", + "ct" : "89071306b9c39befaf1b76b5bcaeb8", + "tag" : "76feba04f1fbe3d564728b07184e0911", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "", + "key" : "2bc95c03e9c5b4b95e30fb597f7ea6dd1e8eaa68940da236", + "iv" : "a2357e33ef9992be34144d2e7e043275", + "aad" : "", + "msg" : "3aa230f4526b82ff6ebc0b3b54e61016ad459ca86899", + "ct" : "a4d87792b61883322716b345f9c29b5a12a10441d5e4", + "tag" : "1cda87ea66dfc34a8d2558c001992863", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "99c338570bb58a2ca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "9ac338570bb58a2ca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "18c338570bb58a2ca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c238570bb58a2ca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338d70bb58a2ca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570ab58a2ca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c3385709b58a2ca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58aaca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca9f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2c28f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8d3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3edaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3ecaba95e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3ecabaa5e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3ecab285e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3ecaba85e9a23", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3ecaba85e9a20", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3ecaba85e9a62", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58a2ca8f3ecaba85e9aa2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "99c338570bb58a2ca9f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338d70bb58aaca8f3ecaba85e9a22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "98c338570bb58aaca8f3ecaba85e9aa2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "673cc7a8f44a75d3570c135457a165dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "1843b8d78b350aac28736c2b28de1aa2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "8bec36e347b5df50a5fb5c6b25189fdc", + "tag" : "99c239560ab48b2da9f2edaaa95f9b23", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "ivSize" : 128, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 106, + "comment" : "", + "key" : "b4cd11db0b3e0b9b34eafd9fe027746976379155e76116afde1b96d21298e34f", + "iv" : "00c49f4ebb07393f07ebc3825f7b0830", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "80d821cde2d6c523b718597b11dd0fa8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "", + "key" : "b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0", + "iv" : "0ad570d8863918fe89124e09d125a271", + "aad" : "", + "msg" : "ed", + "ct" : "25", + "tag" : "4fef9ec45255dbba5631105d00a55767", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "", + "key" : "4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03", + "iv" : "2a55caa137c5b0b66cf3809eb8f730c4", + "aad" : "", + "msg" : "2a093c9ed72b8ff4994201e9f9e010", + "ct" : "cbfcaa3634d6cff5656bc6bda6ab5f", + "tag" : "0144be0643b036a8147e19f4ea9e7af2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "", + "key" : "2f6cfb7a215a7bafb607c273f7e66f9a6d51d57f9c29422ec64699bad0c6f33b", + "iv" : "21cbeff0b123799da74f4daff2e279c5", + "aad" : "", + "msg" : "39dbc71f6838ed6c6e582137436e1c61bbbfb80531f4", + "ct" : "f531097aa1bb35d9f401d459340afbd27f9bdf72c537", + "tag" : "e4e18170dce4e1af90b15eae64355331", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "", + "key" : "7517c973a9de3614431e3198f4ddc0f8dc33862654649e9ff7838635bb278231", + "iv" : "42f82085c08afd5b19a9491a79cd8119", + "aad" : "e9ee894ad5b0781d", + "msg" : "d17fbed25ad5f72477580b9e82a7b883", + "ct" : "0b70b24253b2e1c3ef1165925b5c5e57", + "tag" : "45009a2a101877ed70e58f2e5910004f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "", + "key" : "9f5c60fb5df5cf2b1b39254c3fa80e51d30d64e344b3aba59574305b4d2212ad", + "iv" : "d4df79c69f73b26a13598af07eed6a77", + "aad" : "813399ff1e1ef0b58bb2be130ce5d4", + "msg" : "a3ca2ef9bd1fdbaa83db4c7eae6de94e", + "ct" : "65019212ccbbd4cd2f995cc59d46fd27", + "tag" : "4026c486430a1ae2a5fc4081cd665468", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "", + "key" : "38f3d880ed6cd605f2eab88027c9a1c21d13e3de1af50ac884723bcf2b70f495", + "iv" : "7078c9239650b8a1a8cf031d460e51c1", + "aad" : "d1544013b885a7083abece9e31d98ebc", + "msg" : "52609620d7f572aa9267565e459ae419", + "ct" : "91b9f4424b68b4af839ce553d10b7dbc", + "tag" : "0541b1a518f4bb585a594f3eab5535c3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "", + "key" : "ec88cec13d8ebae7d62f60197e5486d61c33ee5a50b19f197c1348fbc9e27e8e", + "iv" : "1ec1d18c96ca6cad66690e60b91cf222", + "aad" : "d28d5811d4168a08da54b97831b59200041adb0e2891ea91", + "msg" : "658c6c7d8ea64a48375d69d9a405095a", + "ct" : "e42b53912ce21a3ee7a1fb51194d6fe3", + "tag" : "2bc8cc7f42cac1a121fd9ddff4f2073c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e976fdd461c0a0a49971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "ea76fdd461c0a0a49971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "6876fdd461c0a0a49971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e877fdd461c0a0a49971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fd5461c0a0a49971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd460c0a0a49971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd463c0a0a49971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0249971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49871db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a41971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49951db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971da8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971db8d9778acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971db8d9478acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971db8d1678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971db8d9678acb9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971db8d9678acba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971db8d9678acf8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0a49971db8d9678ac38", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e976fdd461c0a0a49871db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fd5461c0a0249971db8d9678acb8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e876fdd461c0a0249971db8d9678ac38", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "1789022b9e3f5f5b668e247269875347", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "68f67d54e140202419f15b0d16f82c38", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "iv" : "505152535455565758595a5b5c5d5e5f", + "aad" : "", + "msg" : "202122232425262728292a2b2c2d2e2f", + "ct" : "059e01599f94b38f2435b47a0c7b5c59", + "tag" : "e977fcd560c1a1a59870da8c9779adb9", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "ivSize" : 160, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 141, + "comment" : "large IV size", + "key" : "7edabee31897bf9b29394aeca84c4dcc", + "iv" : "ef4886c4fe8b26f045e09ac925ccbbad42d70347", + "aad" : "", + "msg" : "52583c7b11de051c2e5c2114ee20527b", + "ct" : "298e86436ead703a38f869690f020d4c", + "tag" : "f20d2f2d170ebbe1d0ec718eefe632e4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 160, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 142, + "comment" : "large IV size", + "key" : "f9aced074bde719edba80bc8ad475f7ebd3ba6e98a4c0f96", + "iv" : "d6b33e2be9eeb8bcb33f1291c728699276781f29", + "aad" : "", + "msg" : "4487fc05e84d49e94d38b733ce063a75", + "ct" : "3ac1c21a7d7d60973c6c12d58c59ec1e", + "tag" : "3ff9167a5afb0bb09fc5c10136a6d37c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 160, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 143, + "comment" : "large IV size", + "key" : "1739fd2876258457e3e4c323dbabd85edda8ecad83a7496d8feb0b88aeab2e74", + "iv" : "989f015e6ab79d5e43eca8364a38c9f6b381dda1", + "aad" : "", + "msg" : "d1b13ceacedad362851dc876d8b1dd20", + "ct" : "5cceb0253bcbd6800d3b316af3a56937", + "tag" : "15186910a0f2a2bc41d32e7fe687f17c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 32, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 144, + "comment" : "small IV size", + "key" : "d83c1d7a97c43f182409a4aa5609c1b1", + "iv" : "7b5faeb2", + "aad" : "", + "msg" : "c8f07ba1d65554a9bd40390c30c5529c", + "ct" : "d324ca1530c68ed86c775ed9bb1d8490", + "tag" : "30062eb9cedbaddf36f93e4219620afa", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 64, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 145, + "comment" : "small IV size", + "key" : "deb62233559b57476602b5adac57c77f", + "iv" : "d084547de55bbc15", + "aad" : "", + "msg" : "d8986df0241ed3297582c0c239c724cb", + "ct" : "3064cf4883703f170bf01e6c2d67259f", + "tag" : "09471c09f897d46216fbb52436e3c4fc", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 32, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 146, + "comment" : "small IV size", + "key" : "834d0bb601170865a78139428a1503695a6a291ebd747cd1", + "iv" : "bb9d2aa3", + "aad" : "", + "msg" : "6f79e18b4acd5a03d3a5f7e1a8d0f183", + "ct" : "bc3c8eb10b6cfa8fa1758ce9358753fe", + "tag" : "db1ae0ef0315046b5358bff4629880c5", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 64, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 147, + "comment" : "small IV size", + "key" : "0b177198c8b419bf74acc3bc65b5fb3d09a915ff71add754", + "iv" : "8f075cbcda9831c3", + "aad" : "", + "msg" : "c4b1e05ca3d591f9543e64de3fc682ac", + "ct" : "33ca3171ec118e72cc29950f6c129227", + "tag" : "737967a2501f14ce84d9981c89be1785", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 32, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 148, + "comment" : "small IV size", + "key" : "093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358", + "iv" : "5110604c", + "aad" : "", + "msg" : "33efb58c91e8c70271870ec00fe2e202", + "ct" : "5aca28621e2bd92d7f182ff653b1e8eb", + "tag" : "8a89a0db74a55f907f8ba115e2e15853", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 64, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 149, + "comment" : "small IV size", + "key" : "115884f693b155563e9bfb3b07cacb2f7f7caa9bfe51f89e23feb5a9468bfdd0", + "iv" : "04102199ef21e1df", + "aad" : "", + "msg" : "82e3e604d2be8fcab74f638d1e70f24c", + "ct" : "df32c13a2278326a3c966dee321a42f6", + "tag" : "b1798b8e4b95df6c620a5cbcbe1238d1", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 0, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 150, + "comment" : "IV size = 0", + "key" : "8f3f52e3c75c58f5cb261f518f4ad30a", + "iv" : "", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "5adbeefc8fa9cae2b9a6db3f5f6c82e9", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "IV size = 0", + "key" : "2a4bf90e56b70fdd8649d775c089de3b", + "iv" : "", + "aad" : "", + "msg" : "324ced6cd15ecc5b3741541e22c18ad9", + "ct" : "73b4716f7e44f3bb22a2648069ebbc1e", + "tag" : "3f6ac9672db499324ead0c234b544054", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 0, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 152, + "comment" : "IV size = 0", + "key" : "0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f", + "iv" : "", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "1bd7ab03a24e07b57f9d173c8e6d57a1", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "IV size = 0", + "key" : "ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9", + "iv" : "", + "aad" : "", + "msg" : "d62f302742d61d823ea991b93430d589", + "ct" : "87ac7db89a1f4bf772534003ad82d75d", + "tag" : "b6974b88fb44fabe8c10c693f788a068", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 0, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 154, + "comment" : "IV size = 0", + "key" : "3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1", + "iv" : "", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "b17f6100882e6b419d9fed0c8b7c8d9a", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "IV size = 0", + "key" : "7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883", + "iv" : "", + "aad" : "", + "msg" : "c314235341debfafa1526bb61044a7f1", + "ct" : "8187621069d3c07b7861bb40e8a56b3a", + "tag" : "c1f0897558300e979ba29b36336a0d06", + "result" : "acceptable", + "flags" : [] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_gcm_test.json b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_gcm_test.json new file mode 100644 index 000000000..9e6b0660c --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_gcm_test.json @@ -0,0 +1,1536 @@ +{ + "algorithm" : "AES-GCM", + "generatorVersion" : "0.4", + "numberOfTests" : 104, + "notes" : { + "ConstructedIv" : "The counter for AES-GCM is reduced modulo 2**32. This test vector was constructed to test for correct wrapping of the counter.", + "ZeroLengthIv" : "AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the authentication key. Hence using an IV of length 0 is insecure even if the key itself is only used for a single encryption." + }, + "header" : [], + "testGroups" : [ + { + "ivSize" : 96, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "", + "key" : "5b9604fe14eadba931b0ccf34843dab9", + "iv" : "028318abc1824029138141a2", + "aad" : "", + "msg" : "001d0c231287c1182784554ca3a21908", + "ct" : "26073cc1d851beff176384dc9896d5ff", + "tag" : "0a3ea7a5487cb5f7d70fb6c58d038554", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "", + "key" : "5b9604fe14eadba931b0ccf34843dab9", + "iv" : "921d2507fa8007b7bd067d34", + "aad" : "00112233445566778899aabbccddeeff", + "msg" : "001d0c231287c1182784554ca3a21908", + "ct" : "49d8b9783e911913d87094d1f63cc765", + "tag" : "1e348ba07cca2cf04c618cb4d43a5b92", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "", + "key" : "aa023d0478dcb2b2312498293d9a9129", + "iv" : "0432bc49ac34412081288127", + "aad" : "aac39231129872a2", + "msg" : "2035af313d1346ab00154fea78322105", + "ct" : "eea945f3d0f98cc0fbab472a0cf24e87", + "tag" : "4bb9b4812519dadf9e1232016d068133", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "", + "key" : "384ea416ac3c2f51a76e7d8226346d4e", + "iv" : "b30c084727ad1c592ac21d12", + "aad" : "", + "msg" : "35", + "ct" : "54", + "tag" : "7c1e4ae88bb27e5638343cb9fd3f6337", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "", + "key" : "cae31cd9f55526eb038241fc44cac1e5", + "iv" : "b5e006ded553110e6dc56529", + "aad" : "", + "msg" : "d10989f2c52e94ad", + "ct" : "a036ead03193903f", + "tag" : "3b626940e0e9f0cbea8e18c437fd6011", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "", + "key" : "dd6197cd63c963919cf0c273ef6b28bf", + "iv" : "ecb0c42f7000ef0e6f95f24d", + "aad" : "", + "msg" : "4dcc1485365866e25ac3f2ca6aba97", + "ct" : "8a9992388e735f80ee18f4a63c10ad", + "tag" : "1486a91cccf92c9a5b00f7b0e034891c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "", + "key" : "ffdf4228361ea1f8165852136b3480f7", + "iv" : "0e1666f2dc652f7708fb8f0d", + "aad" : "", + "msg" : "25b12e28ac0ef6ead0226a3b2288c800", + "ct" : "f7bd379d130477176b8bb3cb23dbbbaa", + "tag" : "1ee6513ce30c7873f59dd4350a588f42", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "", + "key" : "c15ed227dd2e237ecd087eaaaad19ea4", + "iv" : "965ff6643116ac1443a2dec7", + "aad" : "", + "msg" : "fee62fde973fe025ad6b322dcdf3c63fc7", + "ct" : "0de51fe4f7f2d1f0f917569f5c6d1b009c", + "tag" : "6cd8521422c0177e83ef1b7a845d97db", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "", + "key" : "a8ee11b26d7ceb7f17eaa1e4b83a2cf6", + "iv" : "fbbc04fd6e025b7193eb57f6", + "aad" : "", + "msg" : "c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf", + "ct" : "7cd9f4e4f365704fff3b9900aa93ba54b672bac554275650", + "tag" : "f4eb193241226db017b32ec38ca47217", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "", + "key" : "28ff3def08179311e2734c6d1c4e2871", + "iv" : "32bcb9b569e3b852d37c766a", + "aad" : "c3", + "msg" : "dfc61a20df8505b53e3cd59f25770d5018add3d6", + "ct" : "f58d453212c2c8a436e9283672f579f119122978", + "tag" : "5901131d0760c8715901d881fdfd3bc0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "", + "key" : "e63a43216c08867210e248859eb5e99c", + "iv" : "9c3a4263d983456658aad4b1", + "aad" : "834afdc5c737186b", + "msg" : "b14da56b0462dc05b871fc815273ff4810f92f4b", + "ct" : "bf864616c2347509ca9b10446379b9bdbb3b8f64", + "tag" : "a97d25b490390b53c5db91f6ee2a15b8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "", + "key" : "38449890234eb8afab0bbf82e2385454", + "iv" : "33e90658416e7c1a7c005f11", + "aad" : "4020855c66ac4595058395f367201c4c", + "msg" : "f762776bf83163b323ca63a6b3adeac1e1357262", + "ct" : "a6f2ef3c7ef74a126dd2d5f6673964e27d5b34b6", + "tag" : "b8bbdc4f5014bc752c8b4e9b87f650a3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "", + "key" : "6a68671dfe323d419894381f85eb63fd", + "iv" : "9f0d85b605711f34cd2a35ba", + "aad" : "76eb5f147250fa3c12bff0a6e3934a0b16860cf11646773b", + "msg" : "0fc67899c3f1bbe196d90f1eca3797389230aa37", + "ct" : "bd64802cfebaeb487d3a8f76ce943a37b3472dd5", + "tag" : "fce9a5b530c7d7af718be1ec0ae9ed4d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "special case", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "000000000000000000000000", + "aad" : "", + "msg" : "ebd4a3e10cf6d41c50aeae007563b072", + "ct" : "f62d84d649e56bc8cfedc5d74a51e2f7", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "special case", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "ffffffffffffffffffffffff", + "aad" : "", + "msg" : "d593c4d8224f1b100c35e4f6c4006543", + "ct" : "431f31e6840931fd95f94bf88296ff69", + "tag" : "00000000000000000000000000000000", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "special case", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "00112233445566778899aabb", + "aad" : "", + "msg" : "7fd49ba712d0d28f02ef54ed18db43f8", + "ct" : "d8eba6a5a03403851abc27f6e15d84c0", + "tag" : "00000000000000000000000000000000", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 64, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 17, + "comment" : "", + "key" : "aa023d0478dcb2b2312498293d9a9129", + "iv" : "0432bc49ac344120", + "aad" : "aac39231129872a2", + "msg" : "2035af313d1346ab00154fea78322105", + "ct" : "64c36bb3b732034e3a7d04efc5197785", + "tag" : "b7d0dd70b00d65b97cfd080ff4b819d1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "unusual IV size", + "key" : "25dd4d6cad5a4604957847c8c6d3fc4e", + "iv" : "68cbeafe8f9e8a66", + "aad" : "", + "msg" : "5c347835b3fa61c2ce253e5a", + "ct" : "9a078a04d14938918e004358", + "tag" : "5452843e32c13c3e35ed8230fe3446c0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 128, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 19, + "comment" : "", + "key" : "2034a82547276c83dd3212a813572bce", + "iv" : "3254202d854734812398127a3d134421", + "aad" : "1a0293d8f90219058902139013908190bc490890d3ff12a3", + "msg" : "02efd2e5782312827ed5d230189a2a342b277ce048462193", + "ct" : "64069c2d58690561f27ee199e6b479b6369eec688672bde9", + "tag" : "9b7abadd6e69c1d9ec925786534f5075", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "209e6dbf2ad26a105445fc0207cd9e9a", + "iv" : "9477849d6ccdfca112d92e53fae4a7ca", + "aad" : "", + "msg" : "01", + "ct" : "fd", + "tag" : "032df7bba5d8ea1a14f16f70bd0e14ec", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "", + "key" : "a549442e35154032d07c8666006aa6a2", + "iv" : "5171524568e81d97e8c4de4ba56c10a0", + "aad" : "", + "msg" : "1182e93596cac5608946400bc73f3a", + "ct" : "2f333087bdca58219f9bfc273e45cc", + "tag" : "e06d1ef473132957ad37eaef29733ca0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "", + "key" : "cfb4c26f126f6a0acb8e4e220f6c56cd", + "iv" : "1275115499ae722268515bf0c164b49c", + "aad" : "", + "msg" : "09dfd7f080275257cf97e76f966b1ad9", + "ct" : "a780bd01c80885156c88a973264c8ee5", + "tag" : "2adeffa682c8d8a81fada7d9fcdd2ee2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "", + "key" : "0b11ef3a08c02970f74281c860691c75", + "iv" : "95c1dd8c0f1705ece68937901f7add7b", + "aad" : "", + "msg" : "f693d4edd825dbb0618d91113128880dbebb23e25d00ed1f077d870be9cc7536", + "ct" : "7e47e10fe3c6fbfa381770eaf5d48d1482e71e0c44dff1e30ca6f95d92052084", + "tag" : "d01444fa5d9c499629d174ff3927a1ac", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "J0:000102030405060708090a0b0c0d0e0f", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "f95fde4a751913202aeeee32a0b55753", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e", + "tag" : "152a65045fe674f97627427af5be22da", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 25, + "comment" : "J0:00000000000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "7b95b8c356810a84711d68150a1b7750", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6", + "tag" : "213a3cb93855d18e69337eee66aeec07", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 26, + "comment" : "J0:ffffffffffffffffffffffffffffffff", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "1a552e67cdc4dc1a33b824874ebf0bed", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed", + "tag" : "99b381bfa2af9751c39d1b6e86d1be6a", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 27, + "comment" : "J0:fffffffffffffffffffffffffffffffe", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "dd9d0b4a0c3d681524bffca31d907661", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "64b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc", + "tag" : "5281efc7f13ac8e14ccf5dca7bfbfdd1", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 28, + "comment" : "J0:fffffffffffffffffffffffffffffffd", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "57c5643c4e37b4041db794cfe8e1f0f4", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "2bb69c3e5d1f91815c6b87a0d5bbea7164b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e8", + "tag" : "a3ea2c09ee4f8c8a12f45cddf9aeff81", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 29, + "comment" : "J0:000102030405060708090a0bffffffff", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "99821c2dd5daecded07300f577f7aff1", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60", + "tag" : "07eb2fe4a958f8434d40684899507c7c", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 30, + "comment" : "J0:000102030405060708090a0bfffffffe", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "5e4a3900142358d1c774d8d124d8d27d", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4", + "tag" : "f145c2dcaf339eede427be934357eac0", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 31, + "comment" : "J0:000102030405060708090a0bfffffffd", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "d4125676562984c0fe7cb0bdd1a954e8", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "f0c6ffc18bd46df5569185a9afd169eb0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57", + "tag" : "facd0bfe8701b7b4a2ba96d98af52bd9", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 32, + "comment" : "J0:000102030405060708090a0b7fffffff", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "b97ec62a5e5900ccf9e4be332e336091", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "d6928e094c06e0a7c4db42184cf7529e95de88b767edebe9b343000be3dab47ea08b744293eed698", + "tag" : "a03e729dcfd7a03155655fece8affd7e", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 33, + "comment" : "J0:000102030405060708090a0b7ffffffe", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "7eb6e3079fa0b4c3eee366177d1c1d1d", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "d82ce58771bf6487116bf8e96421877ed6928e094c06e0a7c4db42184cf7529e95de88b767edebe9", + "tag" : "1e43926828bc9a1614c7b1639096c195", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 34, + "comment" : "J0:000102030405060708090a0bffff7fff", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "0314fcd10fdd675d3c612962c931f635", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "a197a37a5d79697078536bc27fe46cd8d475526d9044aa94f088a054f8e380c64f79414795c61480", + "tag" : "f08baddf0b5285c91fc06a67fe4708ca", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 35, + "comment" : "J0:000102030405060708090a0bffff7ffe", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "c4dcd9fcce24d3522b66f1469a1e8bb9", + "aad" : "", + "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "ct" : "149fde9abbd3a43c2548575e0db9fb84a197a37a5d79697078536bc27fe46cd8d475526d9044aa94", + "tag" : "62a4b6875c288345d6a454399eac1afa", + "result" : "valid", + "flags" : [ + "ConstructedIv" + ] + }, + { + "tcId" : 36, + "comment" : "special case", + "key" : "00112233445566778899aabbccddeeff", + "iv" : "ffffffffffffffffffffffffffffffff", + "aad" : "", + "msg" : "4d82639c39d3f3490ee903dd0be7afcf", + "ct" : "1cd5a06214235ceb044d4bad7b047312", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 96, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 37, + "comment" : "", + "key" : "92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20", + "iv" : "00112233445566778899aabb", + "aad" : "00000000ffffffff", + "msg" : "00010203040506070809", + "ct" : "e27abdd2d2a53d2f136b", + "tag" : "9a4a2579529301bcfb71c78d4060f52c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "", + "key" : "29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123", + "iv" : "00112233445566778899aabb", + "aad" : "aabbccddeeff", + "msg" : "", + "ct" : "", + "tag" : "2a7d77fa526b8250cb296078926b5020", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "", + "key" : "cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273", + "iv" : "99e23ec48985bccdeeab60f1", + "aad" : "", + "msg" : "2a", + "ct" : "06", + "tag" : "633c1e9703ef744ffffb40edf9d14355", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "", + "key" : "51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152", + "iv" : "4f07afedfdc3b6c2361823d3", + "aad" : "", + "msg" : "be3308f72a2c6aed", + "ct" : "cf332a12fdee800b", + "tag" : "602e8d7c4799d62c140c9bb834876b09", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "", + "key" : "67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb", + "iv" : "68ab7fdbf61901dad461d23c", + "aad" : "", + "msg" : "51f8c1f731ea14acdb210a6d973e07", + "ct" : "43fc101bff4b32bfadd3daf57a590e", + "tag" : "ec04aacb7148a8b8be44cb7eaf4efa69", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "", + "key" : "59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a", + "iv" : "2fcb1b38a99e71b84740ad9b", + "aad" : "", + "msg" : "549b365af913f3b081131ccb6b825588", + "ct" : "f58c16690122d75356907fd96b570fca", + "tag" : "28752c20153092818faba2a334640d6e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "", + "key" : "3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011", + "iv" : "45aaa3e5d16d2d42dc03445d", + "aad" : "", + "msg" : "3ff1514b1c503915918f0c0c31094a6e1f", + "ct" : "73a6b6f45f6ccc5131e07f2caa1f2e2f56", + "tag" : "2d7379ec1db5952d4e95d30c340b1b1d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "", + "key" : "0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7", + "iv" : "e6b1adf2fd58a8762c65f31b", + "aad" : "", + "msg" : "10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111", + "ct" : "0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e", + "tag" : "7355fde599006715053813ce696237a8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "", + "key" : "b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4", + "iv" : "98bc2c7438d5cd7665d76f6e", + "aad" : "c0", + "msg" : "fcc515b294408c8645c9183e3f4ecee5127846d1", + "ct" : "eb5500e3825952866d911253f8de860c00831c81", + "tag" : "ecb660e1fb0541ec41e8d68a64141b3a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "", + "key" : "cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17", + "iv" : "376187894605a8d45e30de51", + "aad" : "956846a209e087ed", + "msg" : "e28e0e9f9d22463ac0e42639b530f42102fded75", + "ct" : "feca44952447015b5df1f456df8ca4bb4eee2ce2", + "tag" : "082e91924deeb77880e1b1c84f9b8d30", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "", + "key" : "f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194", + "iv" : "5a86a50a0e8a179c734b996d", + "aad" : "ab2ac7c44c60bdf8228c7884adb20184", + "msg" : "43891bccb522b1e72a6b53cf31c074e9d6c2df8e", + "ct" : "43dda832e942e286da314daa99bef5071d9d2c78", + "tag" : "c3922583476ced575404ddb85dd8cd44", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "", + "key" : "ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12", + "iv" : "bc2a7757d0ce2d8b1f14ccd9", + "aad" : "972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef", + "msg" : "748b28031621d95ee61812b4b4f47d04c6fc2ff3", + "ct" : "a929ee7e67c7a2f91bbcec6389a3caf43ab49305", + "tag" : "ebec6774b955e789591c822dab739e12", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 96, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 49, + "comment" : "", + "key" : "21218af790428f8024d3e7e1428c9fcf578c216636d60e73", + "iv" : "34047bc39b9c608384dff5b8", + "aad" : "", + "msg" : "e3", + "ct" : "fe", + "tag" : "2e982e24b81cd120d35a70fe6935e665", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "", + "key" : "3a8bf543c480925632118245bcbf5d01522b987a31a33da3", + "iv" : "4ebc13cf4636cc7c45e560a7", + "aad" : "", + "msg" : "53fc72e71b59eeb3", + "ct" : "99f2ff1c8a44e5f2", + "tag" : "6870f104ddc514477b400336fb01860e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "", + "key" : "92f4d2672fceec43963ccffb17e6ea7578b11418b06a3b82", + "iv" : "6e7ff7f0797685cfc44b05ff", + "aad" : "", + "msg" : "c3ec16adb184affa8ae9738bffb916", + "ct" : "afe8ef41591bfcc00db3c880ceb186", + "tag" : "29fff7f285768645c9c8bf7a471c9393", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "", + "key" : "bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e", + "iv" : "be0326d23bdc2c64648d13f4", + "aad" : "", + "msg" : "80474a3a3b809560eee2ce7a7a33ea07", + "ct" : "90339dca02ef717f1603994aee6cf6d2", + "tag" : "e3d33e01ce64f271783147de226228bc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "", + "key" : "5e1d28213e092536525bbae09e214af4c891e202b2b4fa4f", + "iv" : "b6be6cd0681235d826aa28ea", + "aad" : "", + "msg" : "53d59433a7db7f41b31ccb6d4a2d789965", + "ct" : "b98ed6321679941a3e521834296686ad98", + "tag" : "9f50c03e055e519712c582ec9db3235b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "", + "key" : "7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff", + "iv" : "b022067048505b20946216ef", + "aad" : "", + "msg" : "ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80", + "ct" : "addd303651119e52f6170dfc7a915064253d57532987b9ab", + "tag" : "fa0484f8baa95f5b7a31c56d1b34c58b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "", + "key" : "969fed5068541d65418c2c1de8fe1f845e036030496e1272", + "iv" : "817fe51c31f2879141a34335", + "aad" : "cb", + "msg" : "3d8233191a2823bf767e99167b1d4af4f4848458", + "ct" : "0d2c3a3c0cc4b40e70ed45e188e356a0e1533b31", + "tag" : "92909a80e90540e1878ab59ef300072b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "", + "key" : "fa5b9b41f93f8b682c04ba816c3fecc24eec095b04dd7497", + "iv" : "62b9cf1e923bc1138d05d205", + "aad" : "2ed8487153e21b12", + "msg" : "18159841813a69fc0f8f4229e1678da7c9016711", + "ct" : "c7c1cbb85ce2a0a3f32cb9ef01ad45ec1118b66d", + "tag" : "253317f98bdab87531ece20475cd9ebb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "", + "key" : "fbfb395662787e2d25a2e7510f818e825936a35114e237c9", + "iv" : "3f1a1e02e90a4ba7a1db9df2", + "aad" : "74318d8876528243f1944b73eb77e96e", + "msg" : "2952a3d64107d5cbb9602239d05a5c5c222cf72b", + "ct" : "ecf5e403f19c007c8da7a456caf0a6d75762829b", + "tag" : "e0877a100f9dd9d6795f0e74c56a9fab", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "", + "key" : "5d8e9c2222316c9ed5ff94513cc957436ae447a6e1a73a29", + "iv" : "0802ae86c75a73bf79561521", + "aad" : "5ca354a4cb8e4fc9798aa209ad4f739dc7c232fdd1f22584", + "msg" : "42b4439e1d2116f834b91c516a26299df279956b", + "ct" : "94d844d98b9467daa7e8dde7f4290037354d7fb2", + "tag" : "62196638590cef429d6b1d1a59839c02", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 128, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 59, + "comment" : "", + "key" : "cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b", + "iv" : "1e8259e0a43e571068f701cd2064fc0c", + "aad" : "", + "msg" : "46", + "ct" : "dc", + "tag" : "af1f5535b125b34fc466902ea40cb3a2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "", + "key" : "189f0bd390ba40632586a45c39735c2b87113329c800f394", + "iv" : "c84442d6975f0359737de0fa828f958e", + "aad" : "", + "msg" : "b4bcd7b8eeca3050dd17682c6a914e", + "ct" : "2aab5c87dcb4a4dae4e975ddb65aab", + "tag" : "6b03b7557c7131e2352e495d54e61aef", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "", + "key" : "b0724f15df5b792c2f49bc51df0ac5aad69be0030981613c", + "iv" : "13cd526ec77b58f62d48d03f8b88f2b8", + "aad" : "", + "msg" : "8da3ab9c3d195b04df452ad23953da4d", + "ct" : "d127fd2e67c0887d90eb92b91f357d97", + "tag" : "eb05bda937faeed27f8833295d4ba559", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "", + "key" : "998750ba784841e40a7c5b03985732b6397e5459a3843954", + "iv" : "1d3d62eccd8ac5e896f2654a7f606fc9", + "aad" : "", + "msg" : "2f60ca3494a958dc3e6ebeb5d0b4e6dda0d0c4331ab9c957f6422a5100878ebf", + "ct" : "344c2cea17b06cb3da272e22a22a3a71ee0eaa1959a7facfff464660ddccedd1", + "tag" : "bab7fbf499ff06aad5f757b1c1a4fcc0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 128, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 63, + "comment" : "", + "key" : "b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0", + "iv" : "0ad570d8863918fe89124e09d125a271", + "aad" : "", + "msg" : "ed", + "ct" : "3f", + "tag" : "fd8f593b83314e33c5a72efbeb7095e8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "", + "key" : "4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03", + "iv" : "2a55caa137c5b0b66cf3809eb8f730c4", + "aad" : "", + "msg" : "2a093c9ed72b8ff4994201e9f9e010", + "ct" : "041341078f0439e50b43c991635117", + "tag" : "5b8a2f2da20ef657c903da88ef5f57bb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "", + "key" : "e7f7a48df99edd92b81f508618aa96526b279debd9ddb292d385ddbae80b2259", + "iv" : "7ee376910f08f497aa6c3aa7113697fd", + "aad" : "", + "msg" : "5e51dbbb861b5ec60751c0996e00527f", + "ct" : "469478d448f7e97d755541aa09ad95b0", + "tag" : "254ada5cf662d90c5e11b2bd9c4db4c4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "", + "key" : "4f84782bfbb64a973c3de3dcfa3430367fd68bc0b4c3b31e5d7c8141ba3e6a67", + "iv" : "5d1bde6fa0994b33efd8f23f531248a7", + "aad" : "", + "msg" : "78cb6650a1908a842101ea85804fed00cc56fbdafafba0ef4d1ca607dcae57b6", + "ct" : "cb960201fa5ad41d41d1c2c8037c71d52b72e76b16b589d71b976627c9734c9d", + "tag" : "8dfce16467c3a6ebb3e7242c9a551962", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 120, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 67, + "comment" : "unusual IV size", + "key" : "34c74e28182948e03af02a01f46eb4f7", + "iv" : "b0a73119a97d623806b49d45ddf4c7", + "aad" : "", + "msg" : "fe82ba66cf2e265741f2c86c", + "ct" : "2bc3ef8e7402b4631f48e9be", + "tag" : "4b6f6f5be291a90b9e93a8a82ddbc8d8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 160, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 68, + "comment" : "unusual IV size", + "key" : "55cb7cac77efe18a1ea3b30c65f3f346", + "iv" : "e22b6b144ab26b5781316e7a42a76202ac4b2278", + "aad" : "", + "msg" : "2f3d11ea32bf5bc72cbe2b8d", + "ct" : "4fe13ef29f118f85a63188f8", + "tag" : "05975b175316df8045889f43e0c857e0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 64, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 69, + "comment" : "unusual IV size", + "key" : "f6a4bf8c4e15034699ce5801cbbac7509cd3f94cf28d8307", + "iv" : "60d6bfca67f5d810", + "aad" : "", + "msg" : "de8eaa41e5e6a590c3cfbf61", + "ct" : "a2966fb189f8d9d391503857", + "tag" : "e370e7dd328655929bd4691f396a1033", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 120, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 70, + "comment" : "unusual IV size", + "key" : "66f75acbd8d3acf7af47d13e8384c2809d6b91503a7f294b", + "iv" : "edf93e16294f15eded83808f09320e", + "aad" : "", + "msg" : "a900c86b6b7e0e5563f8f826", + "ct" : "9af1a022c61c4315aa0e923e", + "tag" : "20529bff3c59222ec33353af337b1d40", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 160, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 71, + "comment" : "unusual IV size", + "key" : "ef2e299dd4ecd7e3b9cc62780922cc2c89f78840564d1276", + "iv" : "130c14c839e35b7d56b3350b194b0da342e6b65d", + "aad" : "", + "msg" : "03f59579b14437199583270e", + "ct" : "073a5291b11df379f31b4f16", + "tag" : "17205999491bd4c1d6c7ec3e56779c32", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 64, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 72, + "comment" : "unusual IV size", + "key" : "df64c84ae52d9ca820a47421bed6e96f7165369fc4c1b65f8f6307b17ce1006c", + "iv" : "c0c568a400b7194f", + "aad" : "", + "msg" : "f5fafdded54a86a4edab44bd", + "ct" : "99313a220d1fcb6658876283", + "tag" : "00955d7d27f66868cfec734bf59c5e6d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 120, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 73, + "comment" : "unusual IV size", + "key" : "e98b0669a645eb14cd06df6968fc5f10edc9f54feed264e3d410cdc61b72ef51", + "iv" : "17ca250fb733877556263223eadde1", + "aad" : "", + "msg" : "f384b3ed7b274641f5db60cf", + "ct" : "fc213602aa423b87d7c2a874", + "tag" : "36b15bab6923b17218fe1c24048e2391", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 160, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 74, + "comment" : "unusual IV size", + "key" : "849b3e6b8cdd85bdcfb8eb701aa5522ae2340fbe5214e389622cef76979225c4", + "iv" : "0f9d6ed7eef362dfa4a7dfa5c0f74c5b27bd4ebf", + "aad" : "", + "msg" : "8c5564e53051c0de273199b4", + "ct" : "c1d76233e8c5042e92bf8d32", + "tag" : "7cf036d235d3b2dd349a8c804b65144a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 0, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 75, + "comment" : "0 size IV is not valid", + "key" : "8f3f52e3c75c58f5cb261f518f4ad30a", + "iv" : "", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "cf71978ffcc778f3c85ac9c31b6fe191", + "result" : "invalid", + "flags" : [ + "ZeroLengthIv" + ] + }, + { + "tcId" : 76, + "comment" : "0 size IV is not valid", + "key" : "2a4bf90e56b70fdd8649d775c089de3b", + "iv" : "", + "aad" : "", + "msg" : "324ced6cd15ecc5b3741541e22c18ad9", + "ct" : "00a29f0a5e2e7490279d1faf8b881c7b", + "tag" : "a2c7e8d7a19b884f742dfec3e76c75ee", + "result" : "invalid", + "flags" : [ + "ZeroLengthIv" + ] + } + ] + }, + { + "ivSize" : 0, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 77, + "comment" : "0 size IV is not valid", + "key" : "0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f", + "iv" : "", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "ca69a2eb3a096ea36b1015d5dffff532", + "result" : "invalid", + "flags" : [ + "ZeroLengthIv" + ] + }, + { + "tcId" : 78, + "comment" : "0 size IV is not valid", + "key" : "ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9", + "iv" : "", + "aad" : "", + "msg" : "d62f302742d61d823ea991b93430d589", + "ct" : "509b0658d09f7a5bb9db43b70c8387f7", + "tag" : "2c9488d53a0b2b5308c2757dfac7219f", + "result" : "invalid", + "flags" : [ + "ZeroLengthIv" + ] + } + ] + }, + { + "ivSize" : 0, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 79, + "comment" : "0 size IV is not valid", + "key" : "3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1", + "iv" : "", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "1726aa695fbaa21a1db88455c670a4b0", + "result" : "invalid", + "flags" : [ + "ZeroLengthIv" + ] + }, + { + "tcId" : 80, + "comment" : "0 size IV is not valid", + "key" : "7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883", + "iv" : "", + "aad" : "", + "msg" : "c314235341debfafa1526bb61044a7f1", + "ct" : "7772ea358901f571d3d35c19497639d9", + "tag" : "8fe0520ad744a11f0ccfd228454363fa", + "result" : "invalid", + "flags" : [ + "ZeroLengthIv" + ] + } + ] + }, + { + "ivSize" : 8, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 81, + "comment" : "small IV sizes", + "key" : "59a284f50aedd8d3e2a91637d3815579", + "iv" : "80", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "af498f701d2470695f6e7c8327a2398b", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "small IV sizes", + "key" : "fec58aa8cf06bfe05de829f27ec77693", + "iv" : "9d", + "aad" : "", + "msg" : "f2d99a9f893378e0757d27c2e3a3101b", + "ct" : "0a24612a9d1cbe967dbfe804bf8440e5", + "tag" : "96e6fd2cdc707e3ee0a1c90d34c9c36c", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 16, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 83, + "comment" : "small IV sizes", + "key" : "88a972cce9eaf5a7813ce8149d0c1d0e", + "iv" : "0f2f", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "4ccf1efb4da05b4ae4452aea42f5424b", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "small IV sizes", + "key" : "b43967ee933e4632bd6562ba1201bf83", + "iv" : "8760", + "aad" : "", + "msg" : "5a6ad6db70591d1e520b0122f05021a0", + "ct" : "ba3e7f8b2999995c7fc4006ca4f475ff", + "tag" : "98f47a5279cebbcac214515710f6cd8a", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 32, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 85, + "comment" : "small IV sizes", + "key" : "4e9a97d3ed54c7b54610793ab05052e1", + "iv" : "cc851957", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "e574b355bda2980e047e584feb1676ca", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "small IV sizes", + "key" : "d83c1d7a97c43f182409a4aa5609c1b1", + "iv" : "7b5faeb2", + "aad" : "", + "msg" : "c8f07ba1d65554a9bd40390c30c5529c", + "ct" : "1b84baea9df1e65bee7b49e4a8cda1ec", + "tag" : "5c0bb79d8240041edce0f94bd4bb384f", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 48, + "keySize" : 128, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 87, + "comment" : "small IV sizes", + "key" : "c6a705677affb49e276d9511caa46145", + "iv" : "4ad80c2854fb", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "1e2ed72af590cafb8647d185865f5463", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "small IV sizes", + "key" : "eba7699b56cc0aa2f66a2a5be9944413", + "iv" : "d1dafc8de3e3", + "aad" : "", + "msg" : "d021e53d9098a2df3d6b903cdad0cd9c", + "ct" : "18291aa8dc7b07448aa8f71bb8e380bf", + "tag" : "9c0e22e5c41b1039ff5661ffaefa8e0f", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 8, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 89, + "comment" : "small IV sizes", + "key" : "c70ce38e84e5f53ed41c3f0d2ca493412ad32cb04c6e2efa", + "iv" : "cb", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "08d96edb5e22874cd10cb2256ca04bc6", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "small IV sizes", + "key" : "74c816b83dfd287210a3e2c6da8d3053bbfbd9b156d3fdd8", + "iv" : "0f", + "aad" : "", + "msg" : "f2b7b2c9b312cf2af78f003df15c8e19", + "ct" : "6c5e796ba9a3ddc64f401e68d135101d", + "tag" : "96a132ed43924e98feb888ff682bdaef", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 16, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 91, + "comment" : "small IV sizes", + "key" : "cbf45ba488932aea1a10e5862f92e4a7e277bda9f34af6d0", + "iv" : "75e5", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "1f0d23070fcd748e25bf6454f5c9136e", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "small IV sizes", + "key" : "e1c0446f11ae6aa4fa254f9a846fc6e13e45e537e47f2042", + "iv" : "8989", + "aad" : "", + "msg" : "3a2f5ad0eb216e546e0bcaa377b6cbc7", + "ct" : "550b48a43e821fd76f49f0f1a897aead", + "tag" : "f6e0a979481f9957ddad0f21a777a73a", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 32, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 93, + "comment" : "small IV sizes", + "key" : "567563bf4cf154902275a53bc57cd6dd7b370d27011bdac8", + "iv" : "68d7fc38", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "1475563e3212f3b5e40062569afd71e3", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "small IV sizes", + "key" : "834d0bb601170865a78139428a1503695a6a291ebd747cd1", + "iv" : "bb9d2aa3", + "aad" : "", + "msg" : "6f79e18b4acd5a03d3a5f7e1a8d0f183", + "ct" : "309133e76159fe8a41b20843486511ab", + "tag" : "03ab26993b701910a2e8ecccd2ba9e52", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 48, + "keySize" : 192, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 95, + "comment" : "small IV sizes", + "key" : "99fb18f5ba430bb9ea942968ecb799b43406e1af4b6425a1", + "iv" : "a984bdcdcae2", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "d7b9a6b58a97982916e83219fbf71b1e", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "small IV sizes", + "key" : "b77b242aa0d51c92fda013e0cb0ef2437399ace5d3f507e4", + "iv" : "52aa01e0d0d6", + "aad" : "", + "msg" : "4ba541a9914729216153801340ab1779", + "ct" : "e08261e46eaf90d978ea8f7889bccd4f", + "tag" : "c052a55df3926a50990a532efe3d80ec", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 8, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 97, + "comment" : "small IV sizes", + "key" : "8f9a38c1014966e4d9ae736139c5e79b99345874f42d4c7d2c81aa6797c417c0", + "iv" : "a9", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "2a268bf3a75fd7b00ba230b904bbb014", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "small IV sizes", + "key" : "144cd8279229e8bb2de99d24e615306663913fe9177fcd270fafec493d43bca1", + "iv" : "b3", + "aad" : "", + "msg" : "976229f5538f9636476d69f0c328e29d", + "ct" : "7bea30ecc2f73f8e121263b37966954c", + "tag" : "8bbad4adc54b37a2b2f0f6e8617548c9", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 16, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 99, + "comment" : "small IV sizes", + "key" : "7d31861f9d3536e14016a3216b1042e0d2f7d4614314268b6f834ec7f38bbb65", + "iv" : "c332", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "1d978a693120c11f6d51a3ed88cd4ace", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "small IV sizes", + "key" : "22b35fe9623ee11f8b60b6d22db3765b666ed972fa7ccd92b45f22deee02cab1", + "iv" : "da6c", + "aad" : "", + "msg" : "5341c78e4ce5bf8fbc3e077d1990dd5d", + "ct" : "9c39f5b110361e9a770cc5e8b0f444bb", + "tag" : "b63ff43c12073ec5572b1be70f17e231", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 32, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 101, + "comment" : "small IV sizes", + "key" : "c224e0bba3d7a99165f7996b67a0fce3e12f2c01179b197b69b7e628bca92096", + "iv" : "6b30145e", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "ae6f7c9a29f0d8204ca50b14a1e0dcf2", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "small IV sizes", + "key" : "093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358", + "iv" : "5110604c", + "aad" : "", + "msg" : "33efb58c91e8c70271870ec00fe2e202", + "ct" : "f73f72f976a296ba3ca94bc6eb08cd46", + "tag" : "b824c33c13f289429659aa017c632f71", + "result" : "acceptable", + "flags" : [] + } + ] + }, + { + "ivSize" : 48, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 103, + "comment" : "small IV sizes", + "key" : "98e6f8ab673e804e865e32403a6551bf807a959343c60d34559360bc295ecb5b", + "iv" : "d4d857510888", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "3db16725fafc828d414ab61c16a6c38f", + "result" : "acceptable", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "small IV sizes", + "key" : "0bd0e8e7781166e1d876dec8fad34ba95b032a27cac0551595116091005947b7", + "iv" : "1bdcd44b663e", + "aad" : "", + "msg" : "91222263b12cf5616a049cbe29ab9b5b", + "ct" : "ed463f4f43336af3f4d7e08770201145", + "tag" : "c8fc39906aca0c64e14a43ff750abd8a", + "result" : "acceptable", + "flags" : [] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_siv_cmac_test.json b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_siv_cmac_test.json new file mode 100644 index 000000000..48007b325 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/aes_siv_cmac_test.json @@ -0,0 +1,4184 @@ +{ + "algorithm" : "AES-SIV-CMAC", + "generatorVersion" : "0.4", + "numberOfTests" : 442, + "notes" : { + "EdgeCaseSiv" : "The SIV of this test vector has an edge case value. One purpose of these test vectors is to detect implementations where integer overflows of the counter is incorrectly implemented. AES-SIV itself prevents such overflow problems by clearing some msbs in the IV." + }, + "header" : [], + "testGroups" : [ + { + "keySize" : 256, + "type" : "DaeadTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "RFC 5297", + "key" : "fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", + "aad" : "101112131415161718191a1b1c1d1e1f2021222324252627", + "msg" : "112233445566778899aabbccddee", + "ct" : "85632d07c6e8f37f950acd320a2ecc9340c02b9690c4dc04daef7f6afe5c", + "result" : "valid" + }, + { + "tcId" : 2, + "comment" : "empty message", + "key" : "2b27e429fb6c02678e589ccc4437c5adfb44b331ab6d21ea321727e6ec03d354", + "aad" : "", + "msg" : "", + "ct" : "b2b2354e3724dcdaa85ecf029b49a90c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "empty message", + "key" : "e40992eb4f649e5d49134652aecc24bafa6b45ce8dd9e9d371ede7d5de84fa72", + "aad" : "8268c5194a71aed0fc1dafe3", + "msg" : "", + "ct" : "92bc07ee200fbd488b7f70a10da26a21", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "empty message", + "key" : "99037935e620da1d67faf1e26d5a0e2c5ac2eae5eec7cbb7b7a613056f6719e3", + "aad" : "24ab40e7966c5bfe8a5d2b0a6a9765", + "msg" : "", + "ct" : "f44934d6f5ba77122f198599cd0e5e52", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "empty message", + "key" : "7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97", + "aad" : "9ffff196befb5ffba01afa9235418d57", + "msg" : "", + "ct" : "c11ab0ae193018d2c9c7985aec3f8a5b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "empty message", + "key" : "ea7081db53ce49559f9fd2b53e00f91b68c2bdba946961da1a5bc70918297a43", + "aad" : "a9efd155159b533f2b649b2e5fbf87e6a2c11ee8", + "msg" : "", + "ct" : "cf52a3c9e2d3d99a66f74135f39e28bb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "empty message", + "key" : "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", + "aad" : "896dcdb367f3c76d60093dc5ae09bc4f30e5cb88e3434e6eb0f0700ac752cd97", + "msg" : "", + "ct" : "8f603b65e767ef178b4dd11db6c114c1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "message size divisible by block size", + "key" : "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd", + "aad" : "865d39ae9b5e9ff8d6308e00208745bc", + "msg" : "cc37fae15f745a2f40e2c8b192f2b38d", + "ct" : "c79c86cd7509e60a16ca8cec6bcaa1c58fbd6099718991fe775bf5a659d30a24", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "message size divisible by block size", + "key" : "96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892", + "aad" : "8ee21f1a5e2b3f8b8f2064e5cecac81d", + "msg" : "91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18", + "ct" : "849195031e8927a1af4f64cbdd8048461c03598bfba441312776a4e8ac959bee44c521801287a2fd95e2329b1c694441", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "message size divisible by block size", + "key" : "649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe", + "aad" : "3a8363f51bce891eba7bcc0aa4311e10", + "msg" : "39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917", + "ct" : "9f66765a019277a7a7acb92e80f8300baa724c92560951eb09d855f471fe1b589928e51f7a8a4bbc6cc9f55fabb2eca2ebb4faca14d1ae20cfdc31b9602e9891", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "small plaintext size", + "key" : "298962335a075e9eacb7a7627beafa4ee5a02242423cdfb0b4f106eb61cf5663", + "aad" : "4c375fd3c4d45c5cfff16d55", + "msg" : "49", + "ct" : "f5c8155c7dd7f47c61d980ccd2175beb9b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "small plaintext size", + "key" : "ea1a7831e6fd080456507a996b6d71668c2cec43c757539c3b5342fadbe64dc4", + "aad" : "599f61c649e7cc5cbbd7a78f", + "msg" : "7c0c", + "ct" : "130e8de11080a3b27cc1ef1272586c24717c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "small plaintext size", + "key" : "009e8288da0a3d22aeaa231fbbfde9ed901d22df9f3ab707e15aa2fc390d0679", + "aad" : "9a582245b46c6170e3f5ca53", + "msg" : "2f5c53", + "ct" : "b98902dc89e6811dfba5eafb1561186dc1849e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "small plaintext size", + "key" : "b6202ef3dad5a42667f020f0e4bd89d845711da77f98c747eb914de869638bcf", + "aad" : "eab41f3417c79bc7262c7b64", + "msg" : "41ec7178", + "ct" : "cd824717886f3363622937bcd118960a0e2605fe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "small plaintext size", + "key" : "fa82aef8c8d6e3cd8f8d053ea6b1b07ca3bc0152506d464926630d6fd83e8a72", + "aad" : "e9a4b08a8e2ebbb13f82f870", + "msg" : "ebe656a97b", + "ct" : "85288834b25f27e96083e2f360d3c7e7486519b4f5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "small plaintext size", + "key" : "4ed237ae3d066df766bea923116bf9d2ce6f63d34a4f56ed8631baccabd70647", + "aad" : "fca537f50d5fce3cdc994b70", + "msg" : "82f0d49b77a5", + "ct" : "9acd6ee8a827c2c5d0da7bf7815dbd8511bd8c5a79c1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "small plaintext size", + "key" : "56df5d41a110a63acc7b7c045be9f35a8f2faf16d83fb559268eb8963484f552", + "aad" : "95dceafcd426a9bcbe99b842", + "msg" : "1d635248014c3b", + "ct" : "f7c739f6a0e20e94265ecbbdaec36cd597088967917d47", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "small plaintext size", + "key" : "2e94a84c78be80cd598366058d4f6cdf8095666dcac7a00ad832d9f33e20d13c", + "aad" : "0c784125715b7f9b1067b077", + "msg" : "b978587bf028558d", + "ct" : "163833ac904d30589cad9a002bd702f5c7809b04693fd8fb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "small plaintext size", + "key" : "60bf711a162cf6a1b108d1351f9fd2ee5022a9df3c5e494268226b17518a93b7", + "aad" : "53353976f18ae8c8cbc7e066", + "msg" : "078a6a3d7d1d312004", + "ct" : "87a37e3de3690b11fba089c068e1c1ea17a4d05ecfb0a97631", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "small plaintext size", + "key" : "5aadf8dd380e4287582155f11165b31dc8ed76946889a2bb8633990fb62fc46f", + "aad" : "0baed8c06718697b4e845acb", + "msg" : "435e101a1a4416abe5ce", + "ct" : "1ee7891afbc92d52282eb3fdada6f886ae613f6d60e5d8c1a3a6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "small plaintext size", + "key" : "b099c4a613f5efda82b069d9a76c02a4049c12310e25f272dbd9d155aedd8d52", + "aad" : "30699dc6f497215acda15441", + "msg" : "ccb3e3e1bbf6c3b03c257b", + "ct" : "a78a01331bb6da90967319859434dbfdd2f9b9c68265c190e28ba3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "small plaintext size", + "key" : "dd0655b5099c4acb60c8afacede1b6ac04283c4fcdd1fee2f5aaa6d86bf6c025", + "aad" : "164400936032de67a4660b87", + "msg" : "6c9a0029bfc98973676d4208", + "ct" : "1a104a2de459a3aa9f7b501438b120602de27a8d259ae4f58ef50294", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "small plaintext size", + "key" : "aa6285693fc40a59ebc2bdab16f1e9111ec794ce5ec63b8f89fafe1b7fedfacf", + "aad" : "009002fcf132820ad3838938", + "msg" : "9e9813cd498166220bd0d49da9", + "ct" : "3d8175b843301690089b8aa54136d698ccd3d88a5d02a3a65f2b115b00", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "small plaintext size", + "key" : "18a4688da2ad1e112ea56ef6da9107e0f1094eeed3f6b868202952d56e0f8239", + "aad" : "52dfc32bab8bc1502d18a334", + "msg" : "2e7a1b4c808c1cf4e64e8c5ce54f", + "ct" : "9fc042a08918741e2b7beab9cd79d7626214d8960091cf305256e549ee36", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "small plaintext size", + "key" : "95b330aa5fffa6c0e29fd6fa0debdcb9cf6b448820bea24875089ec8ca5a2387", + "aad" : "4dbf5c20ce4caeedfefcae1d", + "msg" : "c96596ebba6f89761b9d14dfcc8fb4", + "ct" : "91a7f5c4585351b8b76d4a4836a3199aa761e5f9ee1cdd84258a6a3696f7e9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "plaintext size > 16", + "key" : "b3b7c2c6d3d80918218afcd8bf2a71cf0220e2e8084ead8ba1abfb893ae36d40", + "aad" : "a5c2f6cf309f29c25f5ce35d", + "msg" : "dbcf98254157727c35f367fe6e15a2d089", + "ct" : "96bf5dd0c28dbd6072b70e2b5b72d3eb9f41adc6d5d877e808fbf15ed4117b5007", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "plaintext size > 16", + "key" : "2700a20ef5c3eb4df123568d0df042c35d32b42437efb1032a6a1fe5359767cc", + "aad" : "e40e09fea86442dcf2cd176d", + "msg" : "3de21865217c94c4f82208ccd62ad57f13ba1f5e", + "ct" : "be366ca76d9afe36c7d017c1221e1be41a594e1d853574c06d235775b71cc0b56a7da631", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "plaintext size > 16", + "key" : "cc5d599aecbed35bb4e13a2f79586dfe42e6382e8fa8326b674f34716d6376f2", + "aad" : "34eafb781863d85649f8c9b0", + "msg" : "8a69fb2ab53b995daf2cd43fc316690f71e171ffc5ab84f68bae3c038a9fd7", + "ct" : "73fb501f903d90c35039c065563a0b8f274610f05b8d988a193460658d325a255e808847f3faf937e0354a93201ab0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "plaintext size > 16", + "key" : "71a7adc7222f471c28f682c12d45feed45556000a986035922924ad154ba5fa5", + "aad" : "46a65672d2699267ab27da82", + "msg" : "227e714e3efa84e48049142edaa311dab285407f9b628b146f1d6132c2500ca28497fbd6e386679c", + "ct" : "b30ec3b9c85402c356728391acf04fcc0d02ba85b6a9e90cf846155d4ab3158952bd1791885370bf23ba26d8d23359637b6e24e8763ed107", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "plaintext size > 16", + "key" : "83bc39bf7b5faaf0f9223ed2aa761ab32c04993e3fbccd34ee616ffd28ce5766", + "aad" : "ed9ec561ecf5e289a1516c9f", + "msg" : "f70ef1598f403902dcab4cc23bb1265f34e825b99abc61b26a22b9bbf478c3c1e61e67e98201bc564d022b87b4106aad0c4ca2d30e8927fba5b52a76971ef79a92a1eb6cf4ef87aea6b551567a2c4c41", + "ct" : "fafea55bba0680a510ce095d5c8a40a84a76071b8938dcfe99c8c73b049230ac52df7e09769852a6057353a7df7b8d18882ce5369c6bb855f271d88108719a1b5ea5765f549c282639c8bfacc34b5b10991b8fbdae2e42429fb7f0554e0e5611", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "1d7f9cc81b316c518efcd7927e8f7b88", + "ct" : "00000000000000000000000000000000f0dcac3115ddbd3d8ec28822e54088d0", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 32, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "f16d4958e933778c54aabcd6fda1cabc", + "ct" : "000000000000000000000000000000001cce79a1e7dfa6e05494e366666e39e4", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 33, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "110d3aa6f558c30977870672804064e0", + "ct" : "ffffffffffffffffffffffffffffffff01f74b8e43a262001d8357f95489432e", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 34, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "fd1fef36075ad8d4add16d36036ed5d4", + "ct" : "ffffffffffffffffffffffffffffffffede59e1eb1a079ddc7d53cbdd7a7f21a", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 35, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "c83e256ba8baec0938e51a60bd819cc1", + "ct" : "ffffffffffffffffffffffff7fffffffd8c454431e404d0052e14beb6948bb0f", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 36, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "242cf0fb5ab8f7d4e2b371243eaf2df5", + "ct" : "ffffffffffffffffffffffff7fffffff34d681d3ec4256dd88b720afea660a3b", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 37, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "d8c89e8ece83de437eac13ca7b1ebb2c", + "ct" : "ffffffffffffffff7fffffffffffffffc832efa678797f4a14a84241afd79ce2", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 38, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "34da4b1e3c81c59ea4fa788ef8300a18", + "ct" : "ffffffffffffffff7fffffffffffffff24203a368a7b6497cefe29052cf92dd6", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 39, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "b076687f33460af32b7f0edc3304bfff", + "ct" : "fffffffffffffffffffffffffffffffee2149531223f5703d3cce887d0dfe544", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 40, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "5c64bdefc144112ef1296598b02a0ecb", + "ct" : "fffffffffffffffffffffffffffffffe0e0640a1d03d4cde099a83c353f15470", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "656a1c3efeb7d2589bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 42, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "45c0cc09b8cc0c37f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 43, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "61e80297b0ba41c54eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 44, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "10ecf972c00209652ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 45, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "666a1c3efeb7d2589bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 46, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "46c0cc09b8cc0c37f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 47, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "62e80297b0ba41c54eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 48, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "13ecf972c00209652ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 49, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "e46a1c3efeb7d2589bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 50, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "c4c0cc09b8cc0c37f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 51, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e0e80297b0ba41c54eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 52, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "91ecf972c00209652ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 53, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646b1c3efeb7d2589bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 54, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c1cc09b8cc0c37f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 55, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e90297b0ba41c54eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 56, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11edf972c00209652ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 57, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1cbefeb7d2589bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 58, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc89b8cc0c37f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 59, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80217b0ba41c54eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 60, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf9f2c00209652ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 61, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3effb7d2589bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 62, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b9cc0c37f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 63, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b1ba41c54eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 64, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c10209652ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 65, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efcb7d2589bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 66, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09bacc0c37f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 67, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b2ba41c54eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 68, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c20209652ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 69, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2d89bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 70, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0cb7f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 71, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41454eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 72, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209e52ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 73, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589afdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 74, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f9626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 75, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54fda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 76, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652fa6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 77, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2581bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 78, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c3778626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 79, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c5ceda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 80, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c0020965aea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 81, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bddd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 82, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8426b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 83, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54efa58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 84, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652e86ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 85, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd1892cc86923", + "result" : "invalid" + }, + { + "tcId" : 86, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626a36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 87, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda59c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 88, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ee4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 89, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd0892dc86923", + "result" : "invalid" + }, + { + "tcId" : 90, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626b36dbb95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 91, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda58c469502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 92, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ef4a3a46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 93, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd0892ec86923", + "result" : "invalid" + }, + { + "tcId" : 94, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626b36d8b95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 95, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda58c46a502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 96, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ef4a3946ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 97, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd089acc86923", + "result" : "invalid" + }, + { + "tcId" : 98, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626b365ab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 99, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda58c4e8502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 100, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ef4abb46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 101, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd0892cc86922", + "result" : "invalid" + }, + { + "tcId" : 102, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626b36dab95df22aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 103, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda58c468502b33da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 104, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ef4a3b46ea2259e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 105, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd0892cc86921", + "result" : "invalid" + }, + { + "tcId" : 106, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626b36dab95df12aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 107, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda58c468502b30da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 108, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ef4a3b46ea2159e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 109, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd0892cc86963", + "result" : "invalid" + }, + { + "tcId" : 110, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626b36dab95db32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 111, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda58c468502b72da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 112, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ef4a3b46ea6359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 113, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2589bfdd0892cc869a3", + "result" : "invalid" + }, + { + "tcId" : 114, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0c37f8626b36dab95d732aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 115, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41c54eda58c468502bb2da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 116, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209652ea6ef4a3b46eaa359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 117, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "656a1c3efeb7d2589afdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 118, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "45c0cc09b8cc0c37f9626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 119, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "61e80297b0ba41c54fda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 120, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "10ecf972c00209652fa6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 121, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1cbefeb7d2d89bfdd0892cc86923", + "result" : "invalid" + }, + { + "tcId" : 122, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc89b8cc0cb7f8626b36dab95df32aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 123, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80217b0ba41454eda58c468502b32da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 124, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf9f2c00209e52ea6ef4a3b46ea2359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 125, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "646a1c3efeb7d2d89bfdd0892cc869a3", + "result" : "invalid" + }, + { + "tcId" : 126, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "44c0cc09b8cc0cb7f8626b36dab95d732aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 127, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "60e80297b0ba41454eda58c468502bb2da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 128, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "11ecf972c00209e52ea6ef4a3b46eaa359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 129, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "9b95e3c101482da764022f76d33796dc", + "result" : "invalid" + }, + { + "tcId" : 130, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "bb3f33f64733f3c8079d94c92546a20c2aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 131, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "9f17fd684f45be3ab125a73b97afd4cdda4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 132, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "ee13068d3ffdf69ad15910b5c4b915dc59e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 133, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "00000000000000000000000000000000", + "result" : "invalid" + }, + { + "tcId" : 134, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "000000000000000000000000000000002aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 135, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "00000000000000000000000000000000da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 136, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "0000000000000000000000000000000059e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 137, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid" + }, + { + "tcId" : 138, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "ffffffffffffffffffffffffffffffff2aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 139, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "ffffffffffffffffffffffffffffffffda4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 140, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "ffffffffffffffffffffffffffffffff59e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 141, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "e4ea9cbe7e3752d81b7d5009ac48e9a3", + "result" : "invalid" + }, + { + "tcId" : 142, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "c4404c89384c8cb778e2ebb65a39dd732aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 143, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e0688217303ac145ce5ad844e8d0abb2da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 144, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "916c79f2408289e5ae266fcabbc66aa359e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + }, + { + "tcId" : 145, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "", + "ct" : "656b1d3fffb6d3599afcd1882dc96822", + "result" : "invalid" + }, + { + "tcId" : 146, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "45c1cd08b9cd0d36f9636a37dbb85cf22aa03ceafa0e45e6", + "result" : "invalid" + }, + { + "tcId" : 147, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "61e90396b1bb40c44fdb59c569512a33da4e0efa57352f1a114e4b3f0cb234c6", + "result" : "invalid" + }, + { + "tcId" : 148, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "10edf873c10308642fa7ee4b3a47eb2259e6faebd6af7063c8660362866f1b2af53a989e", + "result" : "invalid" + } + ] + }, + { + "keySize" : 384, + "type" : "DaeadTest", + "tests" : [ + { + "tcId" : 149, + "comment" : "empty message", + "key" : "d3d58a2f21e62f5095542e618168ef040922ab7d80b3840055eb9caf5726a8d4a7f071dc40ddb320effc094211735090", + "aad" : "", + "msg" : "", + "ct" : "59e0a9a04cdb1d9d7bee6be8bb06fd61", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "empty message", + "key" : "ad0f7862386c35fee128ae7ff18db084a0f457fcfc7fe1c5370b145f7fa645a97ba3eb4f90e18941b18e8d89494ec796", + "aad" : "b402ae880487cfaa9314549b", + "msg" : "", + "ct" : "b50be5e46a3912dcacff27115e209e24", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "empty message", + "key" : "278e770ca600bb23f5d8725bfd0cfc05b91057e79c890a697d41e9ff687c6a14ea48fb228d7f95ab4a93c5ba9d966262", + "aad" : "3f33c781ea57ec1c298f402cbbd27e", + "msg" : "", + "ct" : "2aec07db61e8e403fa04659921ccaf65", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "empty message", + "key" : "5ad985b9bcb461f9115937b6bde7073fbed9e8bf32245afe5836e8c2f67b3999266ba0d8d9eba6fa978c47ea9ef4690a", + "aad" : "bd2aa07a70aca69c4621d91a6686f42a", + "msg" : "", + "ct" : "863161c67e86648340fc5eab9fb728a7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "empty message", + "key" : "b65c2a4f88f733142cc66ed9aff47e77f3a6339d30e030290d34be40dfa7b33e37bc2f48ea8617f4e7d60c28c0c01a0d", + "aad" : "9ce588daa79d6825305a97572d27674a9602bfeb", + "msg" : "", + "ct" : "4c9cb52e91ee8fd784e9901b2bbfd07e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "empty message", + "key" : "4cd9d4d729792e6a599bd59c330ae8a4df4077225c9c633cb59190f3a5d1150fdc38a7fbc687516f82d6354e57281c1a", + "aad" : "960dbaaff375101529f193a5b7adc2cd95a36b7222df7e9f6fbf3110e16462a1", + "msg" : "", + "ct" : "fffc486f0299703902926186e43932d0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "message size divisible by block size", + "key" : "ca9db62214c3afab385b9086f1cb90d17195d495ef47642dbad06f4e7d0bab136c77885029ad442b30c34c8b5290e7d0", + "aad" : "d4dbfdce11f1147e29dd062ea3bbbd17", + "msg" : "ded5a13d759903ecd36cb238527776c6", + "ct" : "a4e08bdd8ab8cbef46e0fdb8a7ca1097a8f963e45e554a5882496270f9fd6de8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "message size divisible by block size", + "key" : "c4bb58d73a61eeef0ec23490dc3c3a3e140244c9be88209658cc5654a996db2372c2212ffdc260bbdb92a520c86f96d8", + "aad" : "2e4b50221284bc07d7e30b1a6621676d", + "msg" : "d0535403fed2c1dec9f858eebd688afe4d0010b2823275d1bacfd564c074415f", + "ct" : "0131705a9a6c645f13fe4679bd03daac234bc11db1f0941be0788c1c14bbf95ef1dbfbdf5af786a5a5a3a7d4f35fd169", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "message size divisible by block size", + "key" : "9eae72a3964bdf14adef8616aa5441577b7bbc324652516b4c29a7b0f3bfa719be49e3d2ae6297588ada652eb45b0a00", + "aad" : "999a35705530c2f6a7f2427d6b258836", + "msg" : "cd9bfe9821b1a5895737a827b41e0ee271ab2687128bb87f173709b73bf18c7c25822f32282895ca8935db00a1d171db", + "ct" : "d237a9dd9ea0f70ebc5526fd5e414f318c8a016bc6ecbcb3de5f0aff9330259e67b4984f13fb7e904ae8ac91d8e35faf41ad860bc9423d2ef596c13e15025cdf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "small plaintext size", + "key" : "ba783a715ff6ee6d71e3a4a7adb6356687db12cc2954807099f97471c951c7f0c33571d3334d111c4ea33a12365c0061", + "aad" : "06b2cd261a3508a7bfd1c049", + "msg" : "7e", + "ct" : "002abeac978f66d934b9ed06f215c4951d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "small plaintext size", + "key" : "b5ba35a597be37f8f8168a40e9f47b96077ceced6ac0968a4e5ffabc402199267bcd4f740640c6877441c63e8015d86c", + "aad" : "90f605a2cf3ff6e79d6ad4b9", + "msg" : "5bff", + "ct" : "ae43eb59494a5fe7a7cac8d5d20f7d40177f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "small plaintext size", + "key" : "17a44937a1f8b8029a7f64137eaa2d7de950b49b0ef2d83994151c7b9dde2e87c5aa3debfa0ad9f028260c6dc2fc7e01", + "aad" : "80235b12c840e3fd50dc62fd", + "msg" : "8b2a68", + "ct" : "6b8c54cd6d99f5470a2461aef614012cee7341", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "small plaintext size", + "key" : "bff684f086ef3314211ba782a2e7e75a60a9a3df9fc505057f54e2b264fbe2e5eae299879fccd26ca39d1e33b883966e", + "aad" : "43634a3668f78c0b00597166", + "msg" : "41a1241d", + "ct" : "ad0d302a322ca73b5514d8cfd6d40478fc60aee6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "small plaintext size", + "key" : "379c425581ca8094e47d1ee49fe9a5dd3dd8d68c6c85f8b4cb56849e99698ee73332c8b0cc6da0627c95f2de9ddd0871", + "aad" : "26306f1d6a4316522a928715", + "msg" : "22faba3076", + "ct" : "717e9e25286ac7eb4d5aa50e613046c4296f693bf4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 163, + "comment" : "small plaintext size", + "key" : "0f11a54e9f03071828944e39a3f5a5538c4c94122e757aa7062afdb90d5e8b4aeb41e681818a149831ab7b25e2ca3b96", + "aad" : "8ff666163c2af99f3e653b38", + "msg" : "2ef90d77c725", + "ct" : "c11178fb46a4334df8044ca1746ddd129ca6185d21e1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "small plaintext size", + "key" : "e959e0c14f3e0d8dd44162d27f4c333a337332550167731949c6732b23a5dbd9aa3dd801b66543755474f44774e5d823", + "aad" : "e5cb907e8df42f0e568e588a", + "msg" : "8f1dbfb8c9dd6a", + "ct" : "533fa1781af3a3679e5779c9c7c727fa5a1d20d7a89f6c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "small plaintext size", + "key" : "fe6412c43463c22b98992f8c319b662718255d12277ce62e56ba258ccc7a4694121e6912ed745b4a6e12ff9d38c86ef2", + "aad" : "825d771373d6e019043dd2a0", + "msg" : "3da09c275906835f", + "ct" : "0528c021158609e07d3c71fd363365a644ca61b932c161ba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 166, + "comment" : "small plaintext size", + "key" : "71002b321b1e924a45d97302a08f2361af1d2093faf661f04ab47ecca9f5ec9a35be3ccff8a4aed1ff658d195c05aed7", + "aad" : "987604cee29b9ee32f26f332", + "msg" : "cf1e93a067ed6b4f26", + "ct" : "4f4d3533c0a6d2302cc3ce547ca78f1d6dce6f333cca0fe889", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "small plaintext size", + "key" : "dff1d025a8b62dfbe8fd7d0480e572f1c5e125c1ab4c148e37ff9a8ec5d8a4cf35bc304445be3bc45ed37f92e032af14", + "aad" : "80b9534f1e83598235c85690", + "msg" : "b81cc3a382a1ad29c1dd", + "ct" : "c4c97f0c3530981bcade42a174a65038d8925ed8a5decee8a7c6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "small plaintext size", + "key" : "dae6920703b80500b4197269faf5d74de8e610415e194b423080ebaf6d99873dc307dc4f6d9f32ad0ebad8ad7852690c", + "aad" : "1b7a5ce2ff405b019125910b", + "msg" : "962c7c7ca5bdfcbcb3eba4", + "ct" : "2d60ae19a38f400e0ed78b65db3df852f41f0d1e22c917b42e7c5a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 169, + "comment" : "small plaintext size", + "key" : "e69ea366fd385e0ed8b9cbb01700654fa28add8e56b7ea683e1fd718511ab0fb22dcd710c530e00fb66f4584fa21e9e6", + "aad" : "b55d19772f2776772c04078a", + "msg" : "3c32cafeedcce54108e39588", + "ct" : "b97290f5f225d05b40704c53ee8fdfcffd972185aa96d4db4b8ddb16", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "small plaintext size", + "key" : "b60b83856f56cdf89027460a76993fdbde0f2ab01e9dde2fa7c27ef47155ec7caba892b27fd9a31e8923bfc44794cd71", + "aad" : "b60c69a4befed39eac27790b", + "msg" : "550d0e8b8373a27e4072a5b76c", + "ct" : "0afe675b5b92febddc6bd6d450715ad4da97711bfbf3465da408517401", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "small plaintext size", + "key" : "859698a852a131a3804838f3d012d6088e135b6db160b2ac68e6dfa6ec330dc0d682e406c87c15b9a74affe441749495", + "aad" : "29d834bc7bdd2a3e95ae8308", + "msg" : "c969bd4b5acf1f7b500f8f21f3c9", + "ct" : "92e143e457be47a18ca6827811320ce9c70a1b4e0ef64cf3658b25cd8f51", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 172, + "comment" : "small plaintext size", + "key" : "ebe1c273ba54b877b937e9906c4063e188efd57bd3a32be825369380f1b9f6b8b6a0c2ab1390e589f6101c5ffb7460c7", + "aad" : "c3f0f5c438de5fd85b7a21af", + "msg" : "e8d7ac78d2805bfd656634d19b5834", + "ct" : "2eea0115c34a461d4de5de4a41b9654b8aa87b4cc944c05057f5b306942a0f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "plaintext size > 16", + "key" : "80d50fafb3ede5ddbb5058827303a098bf213e47dcff12ea5338a2a0f914d84bff58c8c69c3b151d6dc380fd8f3e4178", + "aad" : "b49b12ba140fa8d794a31738", + "msg" : "340612da2d2dbbd25d7fa05c775a6ecfa8", + "ct" : "adc724b7fabbad1036ded152b968e557a4a1b3f5014f42f84a21ca45727f4b4339", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "plaintext size > 16", + "key" : "5f6bfe19987d5bf6471dd9e436094f7fe33f8acca3b8a41e277861e202bd7262fc2b0bd3df9b35fa2fc3c579620f00eb", + "aad" : "b96c8682cd3ce676b0d79865", + "msg" : "1485126d0476bb4b86d087d1892632b53cb4f8a2", + "ct" : "8fd1214e80782d7c14007d037feb1ab181fdcb20985887b5ee8d4acf5589924be644947d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 175, + "comment" : "plaintext size > 16", + "key" : "9ea37352e41b57d61ed837b2ace481870d2413d92bf00f30dbb8fe8d250b3cebd0f64d714cf61a0533d02d372284c6c3", + "aad" : "0f1eb4eee461615bc0be8474", + "msg" : "80d977965a880bc6bb5e1cc92f234771adb61e7ae7198844623c6b1d1b54ec", + "ct" : "0da4c7885ffc4125878efe1d14eb5f64740bcaed915088806c89fb2efdde2a5b0d89aeef6a2324ba2626b42113ee27", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 176, + "comment" : "plaintext size > 16", + "key" : "25b0b404bb1f78446d0e5cde012ee5832cb403398a3e66e9b5a244b59d8994ee10184a5776f3578faab830e865f8133c", + "aad" : "7fe497bacf30af3a85662aa1", + "msg" : "b1b197cd7ff68b62e274f5d1046f42f9817163f0a105a0fb7736fa9e5e8f76944a22282af480ee79", + "ct" : "b44039f1e5ba808ca055aea6bc2d819d388e3c271cd97c046061e57223bbc2a17aa9b368d5cf281de46f48b34d179c16cc9e9d4600a87af4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 177, + "comment" : "plaintext size > 16", + "key" : "7e225cf2004a28a091986f131fd43ed111c0693e63433ffc9dad9029c535096397636e13296eb62143162643b13c7546", + "aad" : "01685c58b14805d636541179", + "msg" : "81c8a10fcd668100dc762125e03627ac4e68d34c72568be438a7a068c27e2f12e2f17823e41fdd13e53616c622d4f320a38f97c2edead9800ed1091c303f10d172a284284d86708e53dedc82f6a7366b", + "ct" : "aa3d2cd732974b733597a369d47a680132dd5a944431231e6f77122d40ae70c5d032cc7d62208f428e6a931c7da6e88364d5ce1a4d9403436740b9e714a2c3b239febe6a6a7b42f78894442c912e6a9c22ea9548ef85540ca76d7c6df42b6534", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 178, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "05ae1ded78b927e7bf5560571e177760", + "ct" : "0000000000000000000000000000000081460aba44a680fc6c776c00a1e94b6b", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 179, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "11a7fae3b1b8297b31bdea77a8d6d67c", + "ct" : "00000000000000000000000000000000954fedb48da78e60e29fe6201728ea77", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 180, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3de1fd2ff8d5260005edbf9b59b6cf06", + "ct" : "ffffffffffffffffffffffffffffffffe8a56dbae884e990cc0df180d5e456ba", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 181, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "29e81a2131d4289c8b0535bbef776e1a", + "ct" : "fffffffffffffffffffffffffffffffffcac8ab42185e70c42e57ba06325f7a6", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 182, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "b3c75b1d29b3d5d09501c429c3b8faf2", + "ct" : "ffffffffffffffffffffffff7fffffff6683cb8839e21a405ce18a324fea634e", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 183, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "a7cebc13e0b2db4c1be94e0975795bee", + "ct" : "ffffffffffffffffffffffff7fffffff728a2c86f0e314dcd2090012f92bc252", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 184, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "6a142a8909ed51e7b2d77fd071f230df", + "ct" : "ffffffffffffffff7fffffffffffffffbf50ba1c19bc9e777b3731cbfda0a963", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 185, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "7e1dcd87c0ec5f7b3c3ff5f0c73391c3", + "ct" : "ffffffffffffffff7fffffffffffffffab595d12d0bd90ebf5dfbbeb4b61087f", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 186, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "e7202abbfe6fcffa7887a7ef06840040", + "ct" : "fffffffffffffffffffffffffffffffea0d032efc9533bf7bb8ac7af5c9c7cdc", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 187, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "f329cdb5376ec166f66f2dcfb045a15c", + "ct" : "fffffffffffffffffffffffffffffffeb4d9d5e10052356b35624d8fea5dddc0", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 188, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e94dda18e98cc8139cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 189, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a359304879d74e14fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 190, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e98ecb00ac9a462cdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 191, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c259760003211319acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 192, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "ea4dda18e98cc8139cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 193, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a059304879d74e14fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 194, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "ea8ecb00ac9a462cdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 195, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c159760003211319acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 196, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "684dda18e98cc8139cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 197, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "2259304879d74e14fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 198, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "688ecb00ac9a462cdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 199, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "4359760003211319acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 200, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84cda18e98cc8139cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 201, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a258304879d74e14fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 202, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88fcb00ac9a462cdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 203, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c358760003211319acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 204, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda98e98cc8139cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 205, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a25930c879d74e14fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 206, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb80ac9a462cdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 207, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359768003211319acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 208, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e88cc8139cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 209, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304878d74e14fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 210, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ad9a462cdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 211, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760002211319acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 212, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18eb8cc8139cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 213, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a25930487bd74e14fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 214, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ae9a462cdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 215, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760001211319acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 216, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8939cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 217, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e94fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 218, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a46acdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 219, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211399acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 220, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139dbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 221, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fcf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 222, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdde6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 223, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319add9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 224, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8131cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 225, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e147df520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 226, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462c5ce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 227, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c3597600032113192cd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 228, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139c9dfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 229, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdd520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 230, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdcc6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 231, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acf9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 232, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfc2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 233, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf521588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 234, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6252b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 235, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d3d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 236, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfd2270d8bae0", + "result" : "invalid" + }, + { + "tcId" : 237, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf520588c3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 238, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6242b1a4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 239, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d2d8fb2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 240, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfd2273d8bae0", + "result" : "invalid" + }, + { + "tcId" : 241, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf520588f3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 242, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6242b194951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 243, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d2d8f82608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 244, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfd22f1d8bae0", + "result" : "invalid" + }, + { + "tcId" : 245, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf520580d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 246, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6242b9b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 247, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d2d87a2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 248, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfd2271d8bae1", + "result" : "invalid" + }, + { + "tcId" : 249, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf520588d3888f17ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 250, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6242b1b4951e5738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 251, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d2d8fa2608458b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 252, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfd2271d8bae2", + "result" : "invalid" + }, + { + "tcId" : 253, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf520588d3888f27ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 254, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6242b1b4951e6738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 255, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d2d8fa2608468b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 256, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfd2271d8baa0", + "result" : "invalid" + }, + { + "tcId" : 257, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf520588d3888b07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 258, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6242b1b4951a4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 259, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d2d8fa2608048b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 260, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8139cbdfd2271d8ba60", + "result" : "invalid" + }, + { + "tcId" : 261, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e14fdf520588d3888707ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 262, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a462cdce6242b1b495164738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 263, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211319acd9d2d8fa2608c48b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 264, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e94dda18e98cc8139dbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 265, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a359304879d74e14fcf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 266, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e98ecb00ac9a462cdde6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 267, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c259760003211319add9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 268, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda98e98cc8939cbdfd2271d8bae0", + "result" : "invalid" + }, + { + "tcId" : 269, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a25930c879d74e94fdf520588d3888f07ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 270, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb80ac9a46acdce6242b1b4951e4738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 271, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359768003211399acd9d2d8fa2608448b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 272, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e84dda18e98cc8939cbdfd2271d8ba60", + "result" : "invalid" + }, + { + "tcId" : 273, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a259304879d74e94fdf520588d3888707ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 274, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e88ecb00ac9a46acdce6242b1b495164738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 275, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c359760003211399acd9d2d8fa2608c48b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 276, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "17b225e7167337ec634202dd8e27451f", + "result" : "invalid" + }, + { + "tcId" : 277, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "5da6cfb78628b1eb020adfa772c7770f7ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 278, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "177134ff5365b9d32319dbd4e4b6ae1b738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 279, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "3ca689fffcdeece653262d2705d9f7bb8b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 280, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "00000000000000000000000000000000", + "result" : "invalid" + }, + { + "tcId" : 281, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "000000000000000000000000000000007ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 282, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "00000000000000000000000000000000738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 283, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "000000000000000000000000000000008b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 284, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid" + }, + { + "tcId" : 285, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "ffffffffffffffffffffffffffffffff7ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 286, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "ffffffffffffffffffffffffffffffff738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 287, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "ffffffffffffffffffffffffffffffff8b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 288, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "68cd5a98690c48931c3d7da2f1583a60", + "result" : "invalid" + }, + { + "tcId" : 289, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "22d9b0c8f957ce947d75a0d80db808707ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 290, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "680e4b802c1ac6ac5c66a4ab9bc9d164738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 291, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "43d9f68083a193992c5952587aa688c48b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + }, + { + "tcId" : 292, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "", + "ct" : "e94cdb19e88dc9129dbcfc2370d9bbe1", + "result" : "invalid" + }, + { + "tcId" : 293, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a358314978d64f15fcf421598c3989f17ab3dd3c6c31a386", + "result" : "invalid" + }, + { + "tcId" : 294, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "e98fca01ad9b472ddde7252a1a4850e5738b595aebf6ee3e7be424bfb51bfdee", + "result" : "invalid" + }, + { + "tcId" : 295, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "c258770102201218add8d3d9fb2709458b0b5df8332150ff0877d85471d540c4cff1e183", + "result" : "invalid" + } + ] + }, + { + "keySize" : 512, + "type" : "DaeadTest", + "tests" : [ + { + "tcId" : 296, + "comment" : "empty message", + "key" : "bc7635c1fd566aa8357fd103714bfaee1c9e5b3c578b3980401a981030254a54b1756a8c96e600b7252fd0aab12f39d115d256b3f3e7c2c41a7fece72ba7c3c4", + "aad" : "", + "msg" : "", + "ct" : "44b1c6fe8a8c07dee5377b161f283c31", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 297, + "comment" : "empty message", + "key" : "aff6388fdd2908e0c3b610e3dcd410c8146a268d6befd5c45ffdd23508b5b311cc3a9d8f838f456436b289018682151dd57d8d65d1a823c06eca8ab8ee01da01", + "aad" : "d0bb2949a411e22d32964526", + "msg" : "", + "ct" : "e288d802a0e56ed7544a2e5775459389", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 298, + "comment" : "empty message", + "key" : "484261ebf7e1fb66e0bcafe8f4ccf9c5accc908fdb23eb7c5254d614072f26e106b34501d13c1dad1f14648c6a142132dd7f2f1268dd6b70fbcde2fe98f03245", + "aad" : "1d5ce9288627a12f8f5d809167a3b2", + "msg" : "", + "ct" : "f8083e55307932d971bfc2a8913c1951", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 299, + "comment" : "empty message", + "key" : "0b6aaf05f9b5221e539940cd83cb29d2bcc7a0aa472d8fc67bedd0108869394e33c9f233d4b2cc9c6a59e8ce9cd268a0f3f2857e08fe1eb329ef347dace1557d", + "aad" : "76aade95964f074c693886f245fa57f9", + "msg" : "", + "ct" : "f1ad6ea998a2a438acaf90bad0cb9f9f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 300, + "comment" : "empty message", + "key" : "d47ab6d51f99f4249da56c93d1f09e856231f3fed777b303111ad31079270839e4bc4b5d8623162d4738d70803934a75f457fdbf4a277b828cb6e2753e88702a", + "aad" : "41257da6108bedbb150d4e290b6b9a76d11092c6", + "msg" : "", + "ct" : "a8d27944a84317098eed170631f4c867", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 301, + "comment" : "empty message", + "key" : "eef6bcf16ef7ae17326a33f22d1406ec1bd3f866505f4b2e4fe8b45bd62ccbd85032a9899facf2db0c93a2345cb8892afb74db549781211dd8881a8c8e25c171", + "aad" : "e941d15fadebaf4671e0e3d6d835f87bfb1cc7028f149930daa69c3de446c423", + "msg" : "", + "ct" : "b754ecb55c1e124de0c8a973d033bd7f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 302, + "comment" : "message size divisible by block size", + "key" : "c25cafc6018b98dfbb79a40ec89c575a4f88c4116489bba27707479800c0130235334a45dbe8d8dae3da8dcb45bbe5dce031b0f68ded544fda7eca30d6749442", + "aad" : "deeb0ccf3aef47a296ed1ca8f4ae5907", + "msg" : "beec61030fa3d670337196beade6aeaa", + "ct" : "5865208eab9163db85cab9f96d846234a2626aae22f5c17c9aad4b501f4416e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 303, + "comment" : "message size divisible by block size", + "key" : "27faf97fb303aa4f2f364edd23997f4c77b8e51ebb8293c59dfb1d24f0fb629f6c820fc2d91bf48f0035eeec347e37ec4fb0cb36102bcdc5a248c47a2f97eab9", + "aad" : "cc94f64e14df90265f7f12a8a0386d0a", + "msg" : "6b1db0f5a43376885002dc98bd556f1dac9b66b66213a9fa6069df995a123384", + "ct" : "d0016d675b49f11ea873707412d45709b7703a028a0cfc312cf61cbe22b91e3cf20b7d4c9308ee15f18b4eba00889284", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 304, + "comment" : "message size divisible by block size", + "key" : "97bfd0f3e9bb8167bbb55f4cdc14529d8307c0ec2c3fe8bc88522d05c1261ba460c9cb4116f630edd74d413ec417324c6e29b566fb2dd3df18e07b53b1f9f83b", + "aad" : "1cda342c166ea208df5c56bcf995a59b", + "msg" : "48ef10ccb1978b53ae73167abe1cc538fa80da3f5df93e3d5c4e9a9ad1f213504f22a694b98a35ad67620af9d8a29fc7", + "ct" : "d55c5d0af0260dc1123adb5d7869201f8ccee46deb66dd695c593cde1d7645c72796e42a1733b6705753631b9b626991ddbd28473ce75cfdc4c14d20e66f212d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 305, + "comment" : "small plaintext size", + "key" : "e2c5662bb18fbb411d0304e4241db073fe60a4704fee290073513038a22b4cd542580b2b4edbc37e3de01c0cb61abcad46986cdc491ce9e5ae5af223ff58b953", + "aad" : "fab912dec29a34aabfaef176", + "msg" : "0d", + "ct" : "1c6969ecb15741a9959b7a8492250e391a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 306, + "comment" : "small plaintext size", + "key" : "3ab062dbdd38b951a9fb0d8bb185959a93dab3496b850a3062b93003036c8bd2aabbf37d5d3f6a399d4cedefb70c1b8a7b45639fe118c10e39f36fa58618a84d", + "aad" : "e8605f13db8c482d48bdba2d", + "msg" : "5c6f", + "ct" : "fddea9ac778b978a968033ce52ec61162588", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 307, + "comment" : "small plaintext size", + "key" : "9e575cd8991b32f06fbaf55ad79eb74822349e07fa77c409848c86820011569f26dcb49afaea19a52a96b27e67f780ac7a00da9a3054d1678d60417cf34996b1", + "aad" : "7f89a3f648c1c7c23edbd5ca", + "msg" : "35ac33", + "ct" : "3834fbedc3502227e3c91a861f2e3195fbb344", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 308, + "comment" : "small plaintext size", + "key" : "6d43cfc930a1e0051f607d0c4a76ad5bec77d9f98bbd9ae5e56a1d65fcf1bf68c7780f727bfe690497bae478afbc4ebf7a89943ee146f72d352940794ff202f4", + "aad" : "c2b75c998f4cac28b4b69dfb", + "msg" : "1d25f833", + "ct" : "0d1e1981da44a7d9eda60e48e7ae4f8505d8ba98", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 309, + "comment" : "small plaintext size", + "key" : "673cea582bf3982ce3fba5304de8fe46e316d6804749d6db58b7ab7d64bd4e0af641997975234f8b918cca3247d67cfeac9230d15ed28f8071a85e84fa9ef211", + "aad" : "f5042d5a5b68b262274974a8", + "msg" : "9e99912c7b", + "ct" : "655ef7f09f4cff47b427e9df7fcc642664715ad14c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 310, + "comment" : "small plaintext size", + "key" : "8f13f2bf02d72360d9958eb8aa90634ae48331e7dfdbf16fc51c7238ae9f9d50d4495d196676ef5259b64a616305ffaae517c587d4e7afba40e4a2c5b0989182", + "aad" : "755f50cfdfc849654ad98cc7", + "msg" : "ac598720b96e", + "ct" : "adee2a373a7f6bbaf4f00e5f3f93435a09091b5221ae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 311, + "comment" : "small plaintext size", + "key" : "67b3ab00075a0e3d07f3fe73fabea5d0373206a0aafa9397981924ddaf2cb283c66af61166815dffbe8fafa688b793fd259fad4a1f75a259342e58814448a4b4", + "aad" : "f8799bc732cbf6a39ae2268e", + "msg" : "8f6b2b21a6dc73", + "ct" : "ff6173a70dee05ddbde75a960f84523e01b30adcac5275", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 312, + "comment" : "small plaintext size", + "key" : "a661c6a90fd40d8a734873d66afd4477c5041cdc2b31a3cd0ac3604cac4f74411219e544615b56e17f5774b5085129f6dd69893bb7216b539cf42b79f0068278", + "aad" : "7a5dbdbf803b2593d3e17097", + "msg" : "deb2c7c6204496e5", + "ct" : "2f8b7583773ae03ba7b3952453c81431780bfcc9d7df9a43", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 313, + "comment" : "small plaintext size", + "key" : "a40b1cc110e1aa28ab86f714abd6d313016989a1c8cfcb62063e2c396ca12a246de3b9bd82994e5f1cb1323f78a9a0ed02fe841976a659423603d91ccf71d58e", + "aad" : "e482e942ce26d244d4962acf", + "msg" : "122d1ba394afad1fe3", + "ct" : "8185d14ee87cc891bb9bcf3fafde4ed246599626211fe04d23", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 314, + "comment" : "small plaintext size", + "key" : "8af0e57998dd68b0f45b58e708405d0ad8269397249295fd336096e065db2bb1e4110d5507c04d73c150f6e7d87ced029ab38661f201ec77874e43953373b38a", + "aad" : "89f95250fb66b2cda70b8854", + "msg" : "9cab7bde926307386505", + "ct" : "c4deca5c53bcfa6208b337474212418541e44d0fbf2de7b48c6f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 315, + "comment" : "small plaintext size", + "key" : "6e063240d83d4a90e44e56e631fefe9f6c7c7d56518eff3a902ddd5ca9b837a2044b3727571d1ca56a68abfd997da945e4d14f71dc86b0149a19a93d1e5fec85", + "aad" : "5c3661f4047454bac445f1ac", + "msg" : "08eb0a196e8f3cb6428b0a", + "ct" : "67673064fc540ae128232ba87ba2e9bbe7d3569dd419bcc52796ec", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 316, + "comment" : "small plaintext size", + "key" : "9593f0d6679e8e18b43cb4d26a7ea9da9d6037fd5a82db0b091a682b6547a77298e4fd1d1481f3603d0b1e7e6dcf27200105af0f844f2aaacd98540ab2b6c8a8", + "aad" : "7b3f9591076e32a21766e2bb", + "msg" : "0628d19cc94c4b4f3d703e1f", + "ct" : "56e6fd5a7f449a8e6bafa38f945c70cf8a534179b3b1f26266fb6b56", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 317, + "comment" : "small plaintext size", + "key" : "77f7dd662a8f0aaf7f19c6614584e4acf5c774d19e10d2070eaa977e9c6ba21ba82f0bc84939cf70283dcac9c645b7423ca0cc94bac827ea378f1ca0c9da0eee", + "aad" : "a3c4e387bfc005402acd20bb", + "msg" : "a171376f2a66dbdf17f32961e8", + "ct" : "4e7b642dcc3cbd935d4cda8193982ef7240fa47f951ec8b3fd37204a73", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 318, + "comment" : "small plaintext size", + "key" : "8916d0342001561922e674b0cc51c05a935e5dc45a6d6284f34a4c5c79e92062dc3091217584607e9cf9056aa495ca4cd53fd3d4c6a94c4b384007e62174506b", + "aad" : "890dcea871da1caff4766d32", + "msg" : "6ad348470891d1babb13f3bf0e8c", + "ct" : "fbb68324b8c5b3e55ebc1feb4b98761521f4aac7eb7b6c0fb0505a08457b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 319, + "comment" : "small plaintext size", + "key" : "2a93a0c37797bee0c344b9ceed1a609813d8c5ee686d260f3aa6fc2f66dc59f400479d1dfe04e89e6df608a3f699ff1cb4e9bf24a78fb2dfddaa0011a2e40208", + "aad" : "6ae54f41ac52baf2f89abe8e", + "msg" : "3fc3bf53bb485c9edcb1d25adb4ca0", + "ct" : "2d344a54038a857f47e0c77eb0834538aaf01e61a8ac82c0012f9dac6f15ef", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 320, + "comment" : "plaintext size > 16", + "key" : "139383f3f82dc78e0b380027f9e5fcd2ed23716404be5c554452e4dc73d237026594491820c6b8297185cc1fa84f49a5c7d7cd05c5de090ff1c3397bc2740437", + "aad" : "d39da73ffc03ad0a9213ffc7", + "msg" : "48604944a80fadf50d55b87727934458c8", + "ct" : "a9cf73951cb39823777f35c96c845169476e2ec2317cb6b8dd8b6172fdceabff9d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 321, + "comment" : "plaintext size > 16", + "key" : "eac96a89b8e0c928a85c91396346efe8287730595064554cd13574f8b340f541c5f0bb55e654e51b05e21ba007942cabab5ee1020922f0dd002196a39d7fda1d", + "aad" : "29d614f908593f6a5ab03cea", + "msg" : "0c22e4875dcd23de89a6d32f2082dd40e1848fc2", + "ct" : "bce886623d11320d22dfdc1defb04d17bd001d9370a3d8c83aabe4494d16ca75ce534f7c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 322, + "comment" : "plaintext size > 16", + "key" : "c0f4bede68c6ed5ad14918e2ddeced692dfd5419c04204d5b96f4ca47078b07028c6fb87b1b490d875f070bbe4d790f65e5df19947f02c9d3a4e493b542d0291", + "aad" : "b411e4d2facca67ea4a9f2a1", + "msg" : "2f358d4534559ac99dd71798b7925705d6f013f6b848ffe01cc86cef09d88f", + "ct" : "d27ae26dfe02e3eedf544e1b452cb0f0c9303a4e4819318315ae08839bcce558e4741817ec08dae406bbfc09f59aa9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 323, + "comment" : "plaintext size > 16", + "key" : "cd8689f821817f59bfaa755131f2565161c7f4489f89b657ac9fa127a9768535a702d001b9b99cc11c3976467b1b45865ff417dc256ebb5079b7f1b3e08307b5", + "aad" : "b3edffbb89b373fe04da244b", + "msg" : "ebcfb2ffb681cc5dfa0c5c524c1b1cc87cc6b2bfa35dc36d15e80505118b84a072a78a157b4d1837", + "ct" : "1ac78aae2ede04eb47924d8f9f99fe75deb61bf693da7f3a2147c05f6d29d17392356fe00f82b24cdbce774fd864561548f33dd3192d806f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 324, + "comment" : "plaintext size > 16", + "key" : "72a76714e0171e8213de624f00e273bc900050e69d25c454cc42b61e8b3fbc92d4942e1ae14421e164046c1479a7b9c9f4b50b382cb62dfeaa210b98dec7d937", + "aad" : "6a8aaf2c84003e0e6f409658", + "msg" : "92d8f4dc7d41e8b180d66e8994022db79249cdc76fd7f3ea12d9925b51925250cd75a15fcfd78ea85c57fe6196f8d7545086f99ea796a0ea69170db9944200435d9d3d551943892400ce787f703c1105", + "ct" : "69f720f36b0da86ec8cc0f46d62835dcb35ac23f5b891152d861c4e0f0018f19d272ee8b12d83300bfd46aeec0124d5d23b3cb849c1cab1fdf64b70947ebf79f5442e209076dfa9a3f36ab0a6d3cf4a75ddfcdc21837743b20885db4c803ac27", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 325, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "8dbfee9580e7e2bc66100a674497f4e1", + "ct" : "000000000000000000000000000000007ef8aa7e4dd49d9cfa09e9cb574fd90d", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 326, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "bfa1733d07afa03cb3f2eeb81bbde037", + "ct" : "000000000000000000000000000000004ce637d6ca9cdf1c2feb0d140865cddb", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 327, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "72543a9a07a3c18a280060653432c05c", + "ct" : "ffffffffffffffffffffffffffffffff3db09cc48f2780859351901d1014ae06", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 328, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "404aa73280eb830afde284ba6b18d48a", + "ct" : "ffffffffffffffffffffffffffffffff0fae016c086fc20546b374c24f3ebad0", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 329, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "ff4d7cdeb8f3c4e37a05a91ee26e2a84", + "ct" : "ffffffffffffffffffffffff7fffffffb0a9da80307785ecc1545966c64844de", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 330, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "cd53e1763fbb8663afe74dc1bd443e52", + "ct" : "ffffffffffffffffffffffff7fffffff82b74728b73fc76c14b6bdb999625008", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 331, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "6eb52fc95a5185a3bd2a30d3058414ab", + "ct" : "ffffffffffffffff7fffffffffffffff21518997d2d5c4ac067bc0ab21a27af1", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 332, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "5cabb261dd19c72368c8d40c5aae007d", + "ct" : "ffffffffffffffff7fffffffffffffff134f143f559d862cd39924747e886e27", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 333, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "114cc36e58faceb2e6a2344a679ea4c3", + "ct" : "fffffffffffffffffffffffffffffffe2f849650d6e89e2668e990219195719c", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 334, + "comment" : "edge case SIV", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "000102030405060708090a0b0c0d0e0f", + "msg" : "23525ec6dfb28c323340d09538b4b015", + "ct" : "fffffffffffffffffffffffffffffffe1d9a0bf851a0dca6bd0b74fecebf654a", + "result" : "valid", + "flags" : [ + "EdgeCaseSiv" + ] + }, + { + "tcId" : 335, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ef5b8ef53fc365606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 336, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "202e4a8f8b4c66788f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 337, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "05b4e8166f28082987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 338, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "315d6cf8eeb36a37849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 339, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6df5b8ef53fc365606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 340, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "232e4a8f8b4c66788f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 341, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "06b4e8166f28082987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 342, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "325d6cf8eeb36a37849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 343, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "eff5b8ef53fc365606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 344, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a12e4a8f8b4c66788f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 345, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "84b4e8166f28082987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 346, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "b05d6cf8eeb36a37849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 347, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff4b8ef53fc365606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 348, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212f4a8f8b4c66788f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 349, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b5e8166f28082987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 350, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305c6cf8eeb36a37849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 351, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b86f53fc365606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 352, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a0f8b4c66788f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 353, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8966f28082987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 354, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6c78eeb36a37849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 355, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef52fc365606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 356, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8a4c66788f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 357, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166e28082987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 358, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8efb36a37849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 359, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef51fc365606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 360, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f894c66788f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 361, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166d28082987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 362, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8ecb36a37849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 363, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc36d606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 364, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66f88f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 365, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f2808a987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 366, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36ab7849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 367, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365607cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 368, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788e3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 369, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082986a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 370, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37859710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 371, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365686cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 372, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66780f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 373, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082907a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 374, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37049710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 375, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606ed3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 376, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f1af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 377, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987832cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 378, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a3784b710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 379, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3fa047374885", + "result" : "invalid" + }, + { + "tcId" : 380, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af330fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 381, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32ddaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 382, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849711e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 383, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3ea046374885", + "result" : "invalid" + }, + { + "tcId" : 384, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af230fa1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 385, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32cdaf43deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 386, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849710e7d0f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 387, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3ea045374885", + "result" : "invalid" + }, + { + "tcId" : 388, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af230f91c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 389, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32cdaf73deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 390, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849710e7d3f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 391, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3ea0c7374885", + "result" : "invalid" + }, + { + "tcId" : 392, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af2307b1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 393, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32cda753deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 394, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849710e751f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 395, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3ea047374884", + "result" : "invalid" + }, + { + "tcId" : 396, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af230fb1c3adb5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 397, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32cdaf53deb60211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 398, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849710e7d1f72941adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 399, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3ea047374887", + "result" : "invalid" + }, + { + "tcId" : 400, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af230fb1c3ad85ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 401, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32cdaf53deb63211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 402, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849710e7d1f72942adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 403, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3ea0473748c5", + "result" : "invalid" + }, + { + "tcId" : 404, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af230fb1c3a9a5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 405, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32cdaf53deb21211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 406, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849710e7d1f72900adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 407, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc365606cd3ea047374805", + "result" : "invalid" + }, + { + "tcId" : 408, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66788f3af230fb1c3a5a5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 409, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f28082987a32cdaf53debe1211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 410, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36a37849710e7d1f729c0adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 411, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ef5b8ef53fc365607cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 412, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "202e4a8f8b4c66788e3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 413, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "05b4e8166f28082986a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 414, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "315d6cf8eeb36a37859710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 415, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b86f53fc36d606cd3ea047374885", + "result" : "invalid" + }, + { + "tcId" : 416, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a0f8b4c66f88f3af230fb1c3ada5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 417, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8966f2808a987a32cdaf53deb61211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 418, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6c78eeb36ab7849710e7d1f72940adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 419, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ff5b8ef53fc36d606cd3ea047374805", + "result" : "invalid" + }, + { + "tcId" : 420, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "212e4a8f8b4c66f88f3af230fb1c3a5a5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 421, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "04b4e8166f2808a987a32cdaf53debe1211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 422, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "305d6cf8eeb36ab7849710e7d1f729c0adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 423, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "900a4710ac03c9a9f932c15fb8c8b77a", + "result" : "invalid" + }, + { + "tcId" : 424, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "ded1b57074b3998770c50dcf04e3c5255ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 425, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "fb4b17e990d7f7d6785cd3250ac2149e211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 426, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "cfa29307114c95c87b68ef182e08d6bfadfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 427, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "00000000000000000000000000000000", + "result" : "invalid" + }, + { + "tcId" : 428, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "000000000000000000000000000000005ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 429, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "00000000000000000000000000000000211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 430, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "00000000000000000000000000000000adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 431, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid" + }, + { + "tcId" : 432, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "ffffffffffffffffffffffffffffffff5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 433, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "ffffffffffffffffffffffffffffffff211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 434, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "ffffffffffffffffffffffffffffffffadfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 435, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "ef75386fd37cb6d6864dbe20c7b7c805", + "result" : "invalid" + }, + { + "tcId" : 436, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "a1aeca0f0bcce6f80fba72b07b9cba5a5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 437, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "84346896efa888a90723ac5a75bd6be1211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 438, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "b0ddec786e33eab7041790675177a9c0adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + }, + { + "tcId" : 439, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "", + "ct" : "6ef4b9ee52fd375707cc3fa146364984", + "result" : "invalid" + }, + { + "tcId" : 440, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "3031323334353637", + "ct" : "202f4b8e8a4d67798e3bf331fa1d3bdb5ead70c7f066d4df", + "result" : "invalid" + }, + { + "tcId" : 441, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f", + "ct" : "05b5e9176e29092886a22ddbf43cea60211dffad7562c4b924bb79fed73d9ce2", + "result" : "invalid" + }, + { + "tcId" : 442, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "aad" : "", + "msg" : "303132333435363738393a3b3c3d3e3f40414243", + "ct" : "315c6df9efb26b36859611e6d0f62841adfd10a7615d6515b999dbfc5a10f3ae9df5f19a", + "result" : "invalid" + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/chacha20_poly1305_test.json b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/chacha20_poly1305_test.json new file mode 100644 index 000000000..f4d72ecc1 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Cipher/test_vectors/wycheproof/chacha20_poly1305_test.json @@ -0,0 +1,1868 @@ +{ + "algorithm" : "CHACHA20-POLY1305", + "generatorVersion" : "0.4.12", + "numberOfTests" : 151, + "header" : [], + "testGroups" : [ + { + "ivSize" : 96, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "rfc7539", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "070000004041424344454647", + "aad" : "50515253c0c1c2c3c4c5c6c7", + "msg" : "4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e", + "ct" : "d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116", + "tag" : "1ae10b594f09e26a7e902ecbd0600691", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "", + "key" : "80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0", + "iv" : "4da5bf8dfd5852c1ea12379d", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "76acb342cf3166a5b63c0c0ea1383c8d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "", + "key" : "7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742", + "iv" : "a92ef0ac991dd516a3c6f689", + "aad" : "bd506764f2d2c410", + "msg" : "", + "ct" : "", + "tag" : "906fa6284b52f87b7359cbaa7563c709", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "", + "key" : "cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273", + "iv" : "99e23ec48985bccdeeab60f1", + "aad" : "", + "msg" : "2a", + "ct" : "3a", + "tag" : "cac27dec0968801e9f6eded69d807522", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "", + "key" : "46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee", + "iv" : "ab0dca716ee051d2782f4403", + "aad" : "91ca6c592cbcca53", + "msg" : "51", + "ct" : "c4", + "tag" : "168310ca45b1f7c66cad4e99e43f72b9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "", + "key" : "2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100", + "iv" : "461af122e9f2e0347e03f2db", + "aad" : "", + "msg" : "5c60", + "ct" : "4d13", + "tag" : "91e8b61efb39c122195453077b22e5e2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "", + "key" : "c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58", + "iv" : "61546ba5f1720590b6040ac6", + "aad" : "88364fc8060518bf", + "msg" : "ddf2", + "ct" : "b60d", + "tag" : "ead0fd4697ec2e5558237719d02437a2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "", + "key" : "55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7", + "iv" : "3c4e654d663fa4596dc55bb7", + "aad" : "", + "msg" : "ab85e9c1571731", + "ct" : "5dfe3440dbb3c3", + "tag" : "ed7a434e2602d394281e0afa9fb7aa42", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "", + "key" : "e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f", + "iv" : "58389375c69ee398de948396", + "aad" : "84e46be8c0919053", + "msg" : "4ee5cda20d4290", + "ct" : "4bd47212941ce3", + "tag" : "185f1408ee7fbf18f5abad6e2253a1ba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "", + "key" : "51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152", + "iv" : "4f07afedfdc3b6c2361823d3", + "aad" : "", + "msg" : "be3308f72a2c6aed", + "ct" : "8e9439a56eeec817", + "tag" : "fbe8a6ed8fabb1937539dd6c00e90021", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "", + "key" : "1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd", + "iv" : "b4ea666ee119563366484a78", + "aad" : "66c0ae70076cb14d", + "msg" : "a4c9c2801b71f7df", + "ct" : "b9b910433af052b0", + "tag" : "4530f51aeee024e0a445a6328fa67a18", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "", + "key" : "99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be", + "iv" : "9a59fce26df0005e07538656", + "aad" : "", + "msg" : "42baae5978feaf5c368d14e0", + "ct" : "ff7dc203b26c467a6b50db33", + "tag" : "578c0f2758c2e14e36d4fc106dcb29b4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "", + "key" : "85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257", + "iv" : "58dbd4ad2c4ad35dd906e9ce", + "aad" : "a506e1a5c69093f9", + "msg" : "fdc85b94a4b2a6b759b1a0da", + "ct" : "9f8816de0994e938d9e53f95", + "tag" : "d086fc6c9d8fa915fd8423a7cf05072f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "", + "key" : "67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb", + "iv" : "68ab7fdbf61901dad461d23c", + "aad" : "", + "msg" : "51f8c1f731ea14acdb210a6d973e07", + "ct" : "0b29638e1fbdd6df53970be2210042", + "tag" : "2a9134087d67a46e79178d0a93f5e1d2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "", + "key" : "e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d", + "iv" : "d95b3243afaef714c5035b6a", + "aad" : "6453a53384632212", + "msg" : "97469da667d6110f9cbda1d1a20673", + "ct" : "32db66c4a3819d81557455e5980fed", + "tag" : "feae30dec94e6ad3a9eea06a0d703917", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "", + "key" : "59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a", + "iv" : "2fcb1b38a99e71b84740ad9b", + "aad" : "", + "msg" : "549b365af913f3b081131ccb6b825588", + "ct" : "e9110e9f56ab3ca483500ceabab67a13", + "tag" : "836ccabf15a6a22a51c1071cfa68fa0c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e", + "iv" : "118a6964c2d3e380071f5266", + "aad" : "034585621af8d7ff", + "msg" : "55a465644f5b650928cbee7c063214d6", + "ct" : "e4b113cb775945f3d3a8ae9ec141c00c", + "tag" : "7c43f16ce096d0dc27c95849dc383b7d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011", + "iv" : "45aaa3e5d16d2d42dc03445d", + "aad" : "", + "msg" : "3ff1514b1c503915918f0c0c31094a6e1f", + "ct" : "02cc3acb5ee1fcdd12a03bb857976474d3", + "tag" : "d83b7463a2c3800fe958c28eaa290813", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870", + "iv" : "f0384fb876121410633d993d", + "aad" : "9aaf299eeea78f79", + "msg" : "63858ca3e2ce69887b578a3c167b421c9c", + "ct" : "35766488d2bc7c2b8d17cbbb9abfad9e6d", + "tag" : "1f391e657b2738dda08448cba2811ceb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7", + "iv" : "e6b1adf2fd58a8762c65f31b", + "aad" : "", + "msg" : "10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111", + "ct" : "42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764", + "tag" : "54aa7e13d48fff7d7557039457040a3a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "", + "key" : "c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3", + "iv" : "6b282ebecc541bcd7834ed55", + "aad" : "3e8bc5ade182ff08", + "msg" : "9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193", + "ct" : "123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900", + "tag" : "3cf68f179550da63d3b96c2d55411865", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "", + "key" : "2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71", + "iv" : "04a9be03508a5f31371a6fd2", + "aad" : "", + "msg" : "b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729", + "ct" : "45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746", + "tag" : "566d3ca10e311b695f3eae1551652493", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "", + "key" : "7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4", + "iv" : "470a339ecb3219b8b81a1f8b", + "aad" : "374618a06ea98a48", + "msg" : "f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb", + "ct" : "46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70", + "tag" : "534d4aa2835a52e72d14df0e4f47f25f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "", + "key" : "e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3", + "iv" : "72cfd90ef3026ca22b7e6e6a", + "aad" : "", + "msg" : "b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678", + "ct" : "ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21", + "tag" : "222541af46b86533c6b68d2ff108a7ea", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "", + "key" : "27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145", + "iv" : "262880d475f3dac5340dd1b8", + "aad" : "2333e5ce0f93b059", + "msg" : "6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e", + "ct" : "6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4", + "tag" : "7b997d93c982189d7095dc794c746232", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "", + "key" : "cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264", + "iv" : "e74a515e7e2102b90bef55d2", + "aad" : "", + "msg" : "973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc0dfd7b467e26228bc86c9a", + "ct" : "fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8f940c324981ea935e507f9", + "tag" : "8f046956db3a512908bd7afc8f2ab0a9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "", + "key" : "6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac", + "iv" : "d4d807341683825b31cd4d95", + "aad" : "b3e4064683b02d84", + "msg" : "a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75542ef91c456762215640b9", + "ct" : "a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb4c527cc39350ebddeac573", + "tag" : "c4cbf0befda0b70242c640d7cd02d7a3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "", + "key" : "5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701", + "iv" : "d61040a313ed492823cc065b", + "aad" : "", + "msg" : "d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82", + "ct" : "9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678bec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50", + "tag" : "9ff3427a0f32fa566d9ca0a78aefc013", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "", + "key" : "97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e", + "iv" : "d31c21aba175b70de4ebb19c", + "aad" : "7193f623663321a2", + "msg" : "94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317", + "ct" : "5fbbdecc34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e", + "tag" : "09263da7b4cb921452f97dca40f580ec", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "", + "key" : "fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901", + "iv" : "17c86a8abbb7e003acde2799", + "aad" : "", + "msg" : "b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c22217564121588032297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592", + "ct" : "d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4cbbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c", + "tag" : "41865fc71de12b19612127ce49993bb0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "", + "key" : "aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e", + "iv" : "46362f45d6379e63e5229460", + "aad" : "a11c40b603767330", + "msg" : "ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e33fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176", + "ct" : "7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f56deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461", + "tag" : "b70d44ef8c66c5c7bbf10dcadd7facf6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "", + "key" : "7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c", + "iv" : "87345f1055fd9e2102d50656", + "aad" : "02", + "msg" : "e5ccaa441bc814688f8f6e8f28b500b2", + "ct" : "7e72f5a185af16a611921b438f749f0b", + "tag" : "1242c670732334029adfe1c5001651e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "", + "key" : "6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc", + "iv" : "87a3163ec0598ad95b3aa713", + "aad" : "b648", + "msg" : "02cde168fba3f544bbd0332f7adeada8", + "ct" : "85f29a719557cdd14d1f8fffab6d9e60", + "tag" : "732ca32becd515a1ed353f542e999858", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "", + "key" : "8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f", + "iv" : "6f573aa86baa492ba46596df", + "aad" : "bd4cd02fc7502bbdbdf6c9a3cbe8f0", + "msg" : "16ddd23ff53f3d23c06334487040eb47", + "ct" : "c1b295936d56fadac03e5f742bff73a1", + "tag" : "39c457dbab66382babb3b55800cda5b8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "", + "key" : "cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016", + "iv" : "1a6518f02ede1da6809266d9", + "aad" : "89cce9fb47441d07e0245a66fe8b778b", + "msg" : "623b7850c321e2cf0c6fbcc8dfd1aff2", + "ct" : "c84c9bb7c61c1bcb17772a1c500c5095", + "tag" : "dbadf7a5138ca03459a2cd65831e092f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "", + "key" : "a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657", + "iv" : "564dee49ab00d240fc1068c3", + "aad" : "d19f2d989095f7ab03a5fde84416e00c0e", + "msg" : "87b3a4d7b26d8d3203a0de1d64ef82e3", + "ct" : "94bc80621ed1e71b1fd2b5c3a15e3568", + "tag" : "333511861796978401598b963722f5b3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "", + "key" : "56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0", + "iv" : "df8713e87ec3dbcfad14d53e", + "aad" : "5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda", + "msg" : "e601b38557797da2f8a4106a089d1da6", + "ct" : "299b5d3f3d03c087209a16e285143111", + "tag" : "4b454ed198de117e83ec49fa8d8508d6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "", + "key" : "3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130", + "iv" : "8df4b15a888c33286a7b7651", + "aad" : "ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37", + "msg" : "dc9e9eaf11e314182df6a4eba17aec9c", + "ct" : "605bbf90aeb974f6602bc778056f0dca", + "tag" : "38ea23d99054b46b42ffe004129d2204", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "", + "key" : "36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199", + "iv" : "be40e5f1a11817a0a8fa8949", + "aad" : "d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873", + "msg" : "81ce84ede9b35859cc8c49a8f6be7dc6", + "ct" : "7b7ce0d824809a70de32562ccf2c2bbd", + "tag" : "15d44a00ce0d19b4231f921e22bc0a43", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "", + "key" : "9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4", + "iv" : "84c87dae4eee27730ec35d12", + "aad" : "3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42056a9792cc1b9fb3c7d261", + "msg" : "a66747c89e857af3a18e2c79500087ed", + "ct" : "ca82bff3e2f310ccc976672c4415e69b", + "tag" : "57638c62a5d85ded774f913c813ea032", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000000000000000000000000000000", + "msg" : "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329be", + "ct" : "0000000000000000000000000000000000000000000000000000000000000000", + "tag" : "e6d3d7324a1cbba777bbb0ecdda37807", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000000000000000000000000000000", + "msg" : "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd", + "ct" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tag" : "062de6795f274fd2a305d76980bc9cce", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000000000000000000000000000000", + "msg" : "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd7ada44424269bffa5527f270acf68502b74c5ae2e60c0580981a4938459392c49bb2f284b646efc7f3f0b1361dc348ed77d30bc57692ed38fbac0188380488c7", + "ct" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tag" : "d8b47902baaeafb34203051529af282e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffffffffffffffffffffffffffffff", + "msg" : "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd641", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "b3891c849cb52c27747edfcf31213bb6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffffffffffffffffffffffffffffff", + "msg" : "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd801780242", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "f0c12d26ef03029b62c008da27c5dc68", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffffffffffffffffffffffffffffff", + "msg" : "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd8017802428525bbbdbd964005aad80d8f53097afd48b3a51d19f3fa7f67e5b6c7ba6c6d3b644d0d7b49b910380c0f4ec9e23cb712882cf43a896d12c70453fe77c7fb7738", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "ee65783001c25691fa28d0f5f1c1d762", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000080000000800000008000000080", + "msg" : "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293e", + "ct" : "0000008000000080000000800000008000000080000000800000008000000080", + "tag" : "79ba7a29f5a7bb75797af87a610129a4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000080000000800000008000000080", + "msg" : "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d", + "ct" : "00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080", + "tag" : "36b1743819e1b9ba1551e8ed922a959a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000080000000800000008000000080", + "msg" : "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d7ada44c24269bf7a5527f2f0acf68582b74c5a62e60c0500981a49b8459392449bb2f204b646ef47f3f0b1b61dc3486d77d30b457692edb8fbac010838048847", + "ct" : "0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080", + "tag" : "feac4955554e806f3a1902e24432c08a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffff7fffffff7fffffff7fffffff7f", + "msg" : "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c1", + "ct" : "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f", + "tag" : "20a3798df1292c5972bf9741aec38a19", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffff7fffffff7fffffff7fffffff7f", + "msg" : "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c2", + "ct" : "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f", + "tag" : "c03d9f67354a97b2f074f7551557e49c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffff7fffffff7fffffff7fffffff7f", + "msg" : "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c28525bb3dbd964085aad80d0f53097a7d48b3a59d19f3faff67e5b647ba6c6dbb644d0dfb49b910b80c0f4e49e23cb792882cf4ba896d12470453fef7c7fb77b8", + "ct" : "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f", + "tag" : "c86da8dd652286d50213d328d63e4006", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "7fffffff7fffffff7fffffff7fffffff", + "msg" : "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd641", + "ct" : "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff", + "tag" : "bede9083ceb36ddfe5fa811f95471c67", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "7fffffff7fffffff7fffffff7fffffff", + "msg" : "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd881780242", + "ct" : "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff", + "tag" : "300874bb0692b689dead9ae15b067390", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "7fffffff7fffffff7fffffff7fffffff", + "msg" : "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd8817802420525bbbd3d9640052ad80d8fd3097afdc8b3a51d99f3fa7fe7e5b6c73a6c6d3be44d0d7bc9b910388c0f4ec9623cb712082cf43a096d12c78453fe7747fb7738", + "ct" : "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff", + "tag" : "99cad85f45ca40942d0d4d5e950ade22", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000000ffffffff00000000ffffffff", + "msg" : "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641", + "ct" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", + "tag" : "8bbe145272e7c2d9a1891a3ab0983d9d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000000ffffffff00000000ffffffff", + "msg" : "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b22701780242", + "ct" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", + "tag" : "3b41861913a8f6de7f61e225631bc382", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "00000000ffffffff00000000ffffffff", + "msg" : "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b227017802427ada4442bd9640055527f27053097afdb74c5ae219f3fa7f981a4938ba6c6d3b9bb2f28449b91038f3f0b136e23cb71277d30bc5896d12c7fbac0188c7fb7738", + "ct" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", + "tag" : "8428bcf023ec6bf31fd9efb203ff0871", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffffff00000000ffffffff00000000", + "msg" : "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be", + "ct" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000", + "tag" : "139fdf6474ea24f549b075825f2c7620", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffffff00000000ffffffff00000000", + "msg" : "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd", + "ct" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000", + "tag" : "bbad8d863b835a8e8664fd1d4566b6b4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000000000000000001ee3200", + "aad" : "ffffffff00000000ffffffff00000000", + "msg" : "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd8525bbbd4269bffaaad80d8facf6850248b3a51de60c058067e5b6c7459392c4644d0d7bb646efc70c0f4ec91dc348ed882cf43a7692ed380453fe77380488c7", + "ct" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000", + "tag" : "42f2354297849a511d53e5571772f71f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 0 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a2e3fdf9fba6861b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 1 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a1e3fdf9fba6861b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 7 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "23e3fdf9fba6861b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 8 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e2fdf9fba6861b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bit 31 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fd79fba6861b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bit 32 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9faa6861b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bit 33 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9f9a6861b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bit 63 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6869b5ad2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bit 64 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5bd2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bit 77 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5af2607f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "Flipped bit 80 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5ad2617f40b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "Flipped bit 96 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5ad2607f41b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Flipped bit 97 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5ad2607f42b7f447", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Flipped bit 120 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5ad2607f40b7f446", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "Flipped bit 121 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5ad2607f40b7f445", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "Flipped bit 126 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5ad2607f40b7f407", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "Flipped bit 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6861b5ad2607f40b7f4c7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "Flipped bit 63 and 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "a3e3fdf9fba6869b5ad2607f40b7f4c7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "Tag changed to all zero expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "tag change to all 1 expected tag:a3e3fdf9fba6861b5ad2607f40b7f447", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "", + "ct" : "", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "Flipped bit 0 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "26da374f17b7f1b23844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "Flipped bit 1 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "25da374f17b7f1b23844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "Flipped bit 7 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "a7da374f17b7f1b23844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "Flipped bit 8 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27db374f17b7f1b23844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "Flipped bit 31 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da37cf17b7f1b23844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "Flipped bit 32 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f16b7f1b23844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "Flipped bit 33 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f15b7f1b23844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "Flipped bit 63 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1323844a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "Flipped bit 64 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23944a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "Flipped bit 77 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23864a5490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "Flipped bit 80 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23844a4490bfc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "Flipped bit 96 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23844a5490afc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "Flipped bit 97 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23844a54909fc4001", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "Flipped bit 120 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23844a5490bfc4000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "Flipped bit 121 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23844a5490bfc4003", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "Flipped bit 126 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23844a5490bfc4041", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "Flipped bit 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1b23844a5490bfc4081", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "Flipped bit 63 and 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "27da374f17b7f1323844a5490bfc4081", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "Tag changed to all zero expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "tag change to all 1 expected tag:27da374f17b7f1b23844a5490bfc4001", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "iv" : "000102030405060708090a0b", + "aad" : "616164", + "msg" : "00000000000000000000000000000000", + "ct" : "2cf8ae525fc86025268a4e1d88bead19", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "30303030303030300002506e", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "d4500bf009493551c380adf52c573a69df7e8b762463330facc16a5726be7190c63c5a1c926584a096756828dcdc64acdf963d931bf1dae238f3f157224ac4b542d785b0dd84db6be3bc5a3663e84149ffbed09e54f78f16a8223b24cb019f58b21b0e551e7aa07327629551376ccbc3937671a0629bd95c9915c78555771e7a", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "0b300d8da56c2185755279553c4c82ca", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "3030303030303030000318a5", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "7de87f6729945275d0655da4c7fde4569e16f111b5eb26c22d859e3ff822eced3a6dd9a60f22957f7b7c857e8822eb9fe0b8d7022141f2d0b48f4b5612d322a88dd0fe0b4d9179324f7c6c9e990efbd80e5ed6775826498b1efe0f71a0f3ec5b29cb28c2540a7dcd51b7daaee0ff4a7f3ac1ee54c29ee4c170de408f66692194", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "c578e2aa44d309b7b6a5193bdc6118f5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "00000000000000000007b4f0", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "1b996f9a3ccc6785de22ff5b8add9502ce03a0faf5992a09522cdd1206d220b8f8bd07d1f1f5a1bd9a71d11c7f579b855818c08d4de036393183b7f590b335aed8de5b57b13c5fede2441c3e184aa9d46e61598506b3e11c43c62cbcaceced33190875b012218b1930fb7c38ec45ac11c353d0cf938dccb9efad8fedbe46daa5", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "4b0bda8ad043830d8319ab82c50c7663", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "00000000000000000020fb66", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "86cbacae4d3f74ae01213e0551cc15160ea1be8408e3d5d74f01464995a69e6176cb9e02b2247ed299892f9182a45caf4c69405611766edfafdc285519ea30480c44f05e781eacf8fcecc7090abb28fa5fd585ac8cda7e8772e594e4ce6c883281932e0f89f877a1f04d9c32b06cf90b0e762b430c4d517c97107068f498ef7f", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "4bc98f72c494c2a43c2b15a1043f1cfa", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "00000000000000000038bb90", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "fab1cddf4fe198ef63add881d6ead6c57637bbe92018ca7c0b96fba0871e932db1fbf90761be25df8dfaf931ce5757e617b3d7a9f0bf0ffe5d591a33c143b8f53fd0b5a19609fd62e5c251a4281a200cfdc34f281710406f4e37625446ff6ef224913deb0d89af337128e3d155d16d3ec3246041432143e9ab3a6d2ccc2f4d62", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "f7e9e151b02533c74658bfc7737c680d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "00000000000000000070484a", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "227202be7f3515e9d1c02eea2f1950b6481b048a4c91506cb40d504e6c949f82d197c25ad17dc721651125782ac7a71247feaef32f1f250ce4bb8f79acaa179d45a7b0545f0924325efa87d5e441d28478c61f2223ee67c3b41f4394535e2a24369a2e16613c459490c14fb1d755fe53fbe1ee45b1b21f7162e2fcaa742abefd", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "795bcff647c553c2e4eb6e0eafd9e04e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "000000000000000000932f40", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "fae58345c16cb0f5cc537f2b1b3469c969463b3ea71bcf6b98d669a8e60e04fc08d5fd069c362638e3400ef4cb242e27e2245e68cb9ec583da5340b12edf423b7326ad20feeb57daca2e0467a32899b42df8e56d84e006bc8a7acc731e7c1f6becb5719f7077f0d4f4c61ab11ebac1001801ce33c4e4a77d831d3ce34e8410e1", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "1946d653960f947a74d3e8093cf48502", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "checking for int overflows", + "key" : "3030303030303030303030303030303030303030303030303030303030303030", + "iv" : "000000000000000000e29335", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "ebb216ddd7ca709215f503df9ce63c5cd2194e7d9099e8a90b2afaad5eba35069925a603fdbc341aaed41505b10941fa3856a7e247b1040709746cfc2096caa631b2fff41c250506d889c1c90671ade853ee6394c19192a5cf3710d1073099e5bc946582fc0fab9f543c716ae2486a8683fdca39d2e14f23d00a582664f4ecb1", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "36c3002985dd21baf895d633573f12c0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "checking for int overflows", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000000ef7d5", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "408ae6ef1c7ef0fb2c2d610816fc7849efa58f78273f5f166ea65f81b575747d035b3040fede1eb9459788669788408e00413b3e376d152d204aa2b7a83558fcd48a0ef7a26b1cd6d35d23b3f5dfe0ca77a4ce32b94abf83da2aefcaf068380879e89fb0a3829595cf44c3852ae2cc662b689f9355d9c183801f6acc313f8907", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "6514518e0a264142e0b7351f967fc2ae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "checking for int overflows", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000003dfce4", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "0a0a24499bcade58cf1576c312aca984718cb4cc7e0153f5a9015810859644dfc021174e0b060a397448de8b484a8603be680a6934c0906f30dd17eae2d4c5faa777f8ca53370e08331b88c342bac959787bbb33930e3b56be86da7f2a6eb1f94089d1d181074d4302f8e0552d0de1fab306a21b42d4c3ba6e6f0cbcc81e877a", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "4c194da6a99fd65b40e9cad798f44b19", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "checking for int overflows", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000018486a8", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "4a0aaff8494729188691701340f3ce2b8a78eed3a0f065994b72484e7991d25c29aa075eb1fc16de93fe069058112ab284a3ed18780326d1258a47222fa633d8b29f3bd9150b239b1546c2bb9b9f410febead396000ee477701532c3d0f5fbf895d280196d2f737c5e9fec50d92bb0df5d7e513be5b8ea971310d5bf16ba7aee", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "c8ae7788cd2874abc138541e11fd0587", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "checking for int overflows", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "msg" : "ff9428d079351f665cd001354319875c783d35f613e6d9093d38e975c38fe3b89f7aed35cb5a2fcaa0346efb936554649cf6378171eae4396ea15dc240d1abf4472d9096524fa1b2b023b8b288222773d4d206616f9293f65b45dbbc74e7c2edfbcbbf1cfb679bb739a5862de2bcb937f74d5bf8671c5a8a5092f61d54c9aa5b", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "933a5163c7f62368327b3fbc1036c943", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "special case tag", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000102030405060708090a0b", + "aad" : "85ffffffffffffffffffffffffffffffa6902fcbc883bbc180b256ae34ad7f00", + "msg" : "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "000102030405060708090a0b0c0d0e0f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "special case tag", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000102030405060708090a0b", + "aad" : "ffffffffffffffffffffffffffffffff247e50642a1c0a2f8f77219609dba958", + "msg" : "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "00000000000000000000000000000000", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "special case tag", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000102030405060708090a0b", + "aad" : "7cffffffffffffffffffffffffffffffd9e72c064ac8961f3fa585e0e2abd600", + "msg" : "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "special case tag", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000102030405060708090a0b", + "aad" : "65ffffffffffffffffffffffffffffff95af0f4d0b686eaeccca4307d596f502", + "msg" : "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "00000080000000800000008000000080", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "special case tag", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000102030405060708090a0b", + "aad" : "ffffffffffffffffffffffffffffffff8540b464357707be3a39d55c34f8bcb3", + "msg" : "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "ffffff7fffffff7fffffff7fffffff7f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "special case tag", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000102030405060708090a0b", + "aad" : "4fffffffffffffffffffffffffffffff6623d990b898d830d212af2383330701", + "msg" : "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "01000000010000000100000001000000", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "special case tag", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "000102030405060708090a0b", + "aad" : "83ffffffffffffffffffffffffffffff5f16d09f17787211b7d484e024f89701", + "msg" : "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", + "ct" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "tag" : "ffffffff000000000000000000000000", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "005235d2a919f28d3db7664a34ae6b444d3d35f613e6d9093d38e975c38fe3b85b8b94509e2b74a36d346e33d572659ba9f6378171eae4396ea15dc240d1abf483dce9f3073efadb7d23b87ace35168c", + "ct" : "0039e2fd2fd312149e989880884813e7caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00", + "tag" : "a519ac1a35b4a57787510af78d8d200a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "d39428d079351f665cd001354319875ce5da78766fa19290c031f75208506745ae7aed35cb5a2fcaa0346efb93655464496ddeb05509c6efffab75eb2df4ab09762d9096524fa1b2b023b8b2882227730149ef504b71b120ca4ff39519c2c210", + "ct" : "d3ffffffffffffffffffffffffffffff6218b27f83b8b46602f6e1d834207b02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02", + "tag" : "302fe82ab0a09af64400d015ae83d9cc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "e99428d079351f665cd001354319875c6df1394edc539b5b3a0957be0fb85946807aed35cb5a2fcaa0346efb93655464d1769fe806bbfeb6f590950f2eac9e0a582d9096524fa1b2b023b8b2882227739952ae0818c38979c07413711a9af713", + "ct" : "e9ffffffffffffffffffffffffffffffea33f347304abdadf8ce413433c84501e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01", + "tag" : "98a7e836e0ee4d023500d0557ec2cbe0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875c64f90f5b2692b860d4596ff4b3402c5c00b9bb53707aa667d356fe50c7199694033561e7caca6d941dc3cd6914ad6904", + "ct" : "ffffffffffffffffffffffffffffffffe33bc552ca8b9e96169e797e8f30301b603ca99944df76528c9d6f54ab833d0f603ca99944df76528c9d6f54ab833d0f", + "tag" : "6ab8dce2c59da4737130b0252f68a8d8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "689428d079351f665cd001354319875cb08f25675b9bcbf6e38407de2ec75a479f7aed35cb5a2fcaa0346efb936554642d2af7cd6b080501d31ba54fb2eb7596472d9096524fa1b2b023b8b288222773650ec62d757072cee6ff233186dd1c8f", + "ct" : "68ffffffffffffffffffffffffffffff374def6eb782ed002143115412b74600ffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219dffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219d", + "tag" : "044dea608880412bfdffcf35579e9b26", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "6d9428d079351f665cd001354319875ca161b5ab040900629efeff78d7d86b459f7aed35cb5a2fcaa0346efb93655464c6f8078cc8ef12a0ff657d6d08db10b8472d9096524fa1b2b023b8b2882227738edc366cd697656fca81fb133ced79a1", + "ct" : "6dffffffffffffffffffffffffffffff26a37fa2e81026945c39e9f2eba87702ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3", + "tag" : "1e6bea6314542e2ef9ffcf450b2e982b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875cfc01b891e5f0f9128d7d1c579192b69863414415b69968959a7291b7a5af134860cd9ea10c29a36654e7a28e761becd8", + "ct" : "ffffffffffffffffffffffffffffffff7bc3729809e9dfe44fba0addade2aadf03c456df823cb8a0c5b900b3c935b8d303c456df823cb8a0c5b900b3c935b8d3", + "tag" : "ed2017c8dba4775629049d786e3bceb1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875c6b6dc9d21a819e70b577f44137d3d6bd1335f5eb44494077b26449a54b6c7c7510b92f5ffef98b847cf17a9c98d883e5", + "ct" : "ffffffffffffffffffffffffffffffffecaf03dbf698b88677b0e2cb0ba3cafa73b0e72170ec9042edafd8a127f6d7ee73b0e72170ec9042edafd8a127f6d7ee", + "tag" : "073f17cb6778645925049d8822cbcab6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ffcb2b1106f8234c5e99d4db4c7048de323d35f613e6d9093d38e975c38fe3b816e9884a114f0e9266cea3885fe36b9fd6f6378171eae4396ea15dc240d1abf4cebef5e9885a80ea76d975c144a41888", + "ct" : "ffa0fc3e8032c3d5fdb62a11f096307db5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004b5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004", + "tag" : "8b9bb4b4861289658c696a8340150405", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "6f9e70ed3b8baca026e46a5a0943158d213d35f613e6d9093d38e975c38fe3b80c612c5e8d89a873dbcaad5b7346429bc5f6378171eae4396ea15dc240d1abf4d43651fd149c260bcbdd7b126801318c", + "ct" : "6ff5a7c2bd414c3985cb9490b5a56d2ea6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900a6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900", + "tag" : "8b3bbd51644459568d81ca1fa72ce404", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "412b080a3e19c10d44a1af1eabdeb4ce353d35f613e6d9093d38e975c38fe3b86b8394330921486ca11d291c3e97ee9ad1f6378171eae4396ea15dc240d1abf4b3d4e9909034c614b10aff5525d09d8d", + "ct" : "4140df25b8d32194e78e51d41738cc6db2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501b2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501", + "tag" : "86fbab2b4a94f47aa56f0aea65d11008", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "b247a74723491aacacaad709c91e932b313d35f613e6d9093d38e975c38fe3b89ade04e75bb701d9660601b34765de98d5f6378171eae4396ea15dc240d1abf442897944c2a28fa17611d7fa5c22ad8f", + "ct" : "b22c7068a583fa350f8529c375f8eb88b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503", + "tag" : "a019ac2ed667e17da16f0afa19610d0d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "740f9e49f610efa585b659ca6ed8b4992d3d35f613e6d9093d38e975c38fe3b8412d96afbe80ec3e79d451b00a2db29ac9f6378171eae4396ea15dc240d1abf4997aeb0c2795624669c387f9116ac18d", + "ct" : "7464496670da0f3c2699a700d23ecc3aaaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901aaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901", + "tag" : "736e18181696a5889c3159faabab20fd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "adba5d105bc8aa062c2336cb889ddbd5373d35f613e6d9093d38e975c38fe3b8177c5ffe2875f468f6c2965748f3599ad3f6378171eae4396ea15dc240d1abf4cf2b225db1607a10e6d5401e53b42a8d", + "ct" : "add18a3fdd024a9f8f0cc801347ba376b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201", + "tag" : "bad58f10a91e6a889aba32fd17d8331a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "fe9428d079351f665cd001354319875cc001edc5da442e719bce9abe273af144b47aed35cb5a2fcaa0346efb9365546448025f41fa4e336c786957a2a7c4930a6c2d9096524fa1b2b023b8b28822277300266ea1e43644a34d8dd1dc93f2fa13", + "ct" : "feffffffffffffffffffffffffffffff47c327cc365d088759098c341b4aed03d4ffffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701d4ffffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701", + "tag" : "d68ce174079add028dd05cf814630488", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "b513b06ab9ac14435acb8aa3a37afdb6543d35f613e6d9093d38e975c38fe3b861950193b1bf0311ff117989aed9a999b0f6378171eae4396ea15dc240d1abf4b9c27c3028aa8d69ef06afc0b59eda8e", + "ct" : "b57867453f66f4daf9e474691f9c8515d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202", + "tag" : "aa48a3887d4b059699c2fdf9c6787e0a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875cd4f109e814cea85a08c011d850dd1dcbcf7aed35cb5a2fcaa0346efb936554645340b85a9aa08296b77a5fc3961f660f172d9096524fa1b2b023b8b2882227731b6489ba84d8f559829ed9bda2290f16", + "ct" : "ffffffffffffffffffffffffffffffff5333c3e1f8d78eacca0707526cad018cafffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204afffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204", + "tag" : "b936a817f2211af129e2cf160fd42bcb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875cdf4c62032d4119b588477e99925a56d9d67aed35cb5a2fcaa0346efb93655464fa84f0645536421b2bb9246ec219ed0b0e2d9096524fa1b2b023b8b288222773b2a0c1844b4e35d41e5da210f62f8412", + "ct" : "ffffffffffffffffffffffffffffffff588ea80ac1583f434a806813ae2a4a9eb6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900b6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900", + "tag" : "9f7ac4351f6b91e63097a713115d05be", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875c13f80a006dc1bbdad639a92fc7eca655f77aed35cb5a2fcaa0346efb936554646348b8fd29bf96d563a517e27d7bfc0f2f2d9096524fa1b2b023b8b2882227732b6c891d37c7e11a5641919c494d9516", + "ct" : "ffffffffffffffffffffffffffffffff943ac00981d89d2c14febfa5fb9cba1297ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a80497ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a804", + "tag" : "9a18a828070269f44700d009e7171cc9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875c82e59b4582915038f933811e652dc66afc7aed35cb5a2fcaa0346efb93655464b671c8cac270c265a0ac2f535799880a242d9096524fa1b2b023b8b288222773fe55f92adc08b5aa9548a92d63afe113", + "ct" : "ffffffffffffffffffffffffffffffff0527514c6e8876ce3bf49794595dda2d9cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc019cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc01", + "tag" : "b436a82b93d555f74300d0199ba718ce", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "ff9428d079351f665cd001354319875cf1d12887b7216986a12d79098b6de60fc07aed35cb5a2fcaa0346efb93655464a7c75899f3e60af1fcb6c7307d87590f182d9096524fa1b2b023b8b288222773efe36979ed9e7d3ec952414e49b13016", + "ct" : "ffffffffffffffffffffffffffffffff7613e28e5b384f7063ea6f83b71dfa48a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04", + "tag" : "ce54a82e1fa942fa3f00d0294f3715d3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "cbf1da9e0ba9377374e69e1c0e600cfc343d35f613e6d9093d38e975c38fe3b8be3fa66b6ce7808aa3e45949f944649fd0f6378171eae4396ea15dc240d1abf46668dbc8f5f20ef2b3f38f00e2031788", + "ct" : "cb9a0db18d63d7ead7c960d6b286745fb3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04b3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04", + "tag" : "2383ab0b799205699b510aa709bf31f1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "8f278694c4e9daebd58d3e5b966e8b68423d35f613e6d9093d38e975c38fe3b80653e7a331718833acc3b9adff1c3198a6f6378171eae4396ea15dc240d1abf4de049a00a864064bbcd46fe4e45b428f", + "ct" : "8f4c51bb42233a7276a2c0912a88f3cbc5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03c5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03", + "tag" : "8bfbab17a9e0b8748b510ae7d9fd2305", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "d59428d079351f665cd001354319875c9a22d70a48e24fddcdd4419de64c8f44fc7aed35cb5a2fcaa0346efb9365546477b5c907d9c9e1ea51851a204aad9f0a242d9096524fa1b2b023b8b2882227733f91f8e7c7b1962564619c5e7e9bf613", + "ct" : "d5ffffffffffffffffffffffffffffff1de01d03a4fb692b0f135717da3c93039cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb019cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb01", + "tag" : "49bc6e9fc51c4d503036644d842773d2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "db9428d079351f665cd001354319875c75d5643aa5af934d8cce392cc3eedb47c07aed35cb5a2fcaa0346efb93655464601b5ad2067f28066a8f3281715ba808182d9096524fa1b2b023b8b288222773283f6b3218075fc95f6bb4ff456dc111", + "ct" : "dbfffffffffffffffffffffffffffffff217ae3349b6b5bb4e092fa6ff9ec700a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03", + "tag" : "63da6ea251f039532c36645d38b76fd7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "edge case intermediate sums in poly1305", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "0000000000000000064c2d52", + "aad" : "ffffffff", + "msg" : "939428d079351f665cd001354319875c624839604216e403ebcc6af559ec8b43977aed35cb5a2fcaa0346efb93655464d8c8c3fa1a9e474abe52d02c8187e90f4f2d9096524fa1b2b023b8b28822277390ecf21a04e630858bb65652b5b18016", + "ct" : "93ffffffffffffffffffffffffffffffe58af369ae0fc2f5290b7c7f659c9704f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04", + "tag" : "73eb2724b5c405f04d00d0f15840a1c1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "ivSize" : 64, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 147, + "comment" : "invalid nonce size", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "5f5f5f5f5f5f5f5f", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "ivSize" : 80, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 148, + "comment" : "invalid nonce size", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "5f5f5f5f5f5f5f5f5f5f", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "ivSize" : 88, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 149, + "comment" : "invalid nonce size", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "5f5f5f5f5f5f5f5f5f5f5f", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "ivSize" : 112, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 150, + "comment" : "invalid nonce size", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "5f5f5f5f5f5f5f5f5f5f5f5f5f5f", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "ivSize" : 128, + "keySize" : 256, + "tagSize" : 128, + "type" : "AeadTest", + "tests" : [ + { + "tcId" : 151, + "comment" : "invalid nonce size", + "key" : "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "iv" : "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f", + "aad" : "", + "msg" : "", + "ct" : "", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/__init__.py b/lib27/site-packages/Crypto/SelfTest/Hash/__init__.py new file mode 100644 index 000000000..1933f2a88 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/__init__.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/__init__.py: Self-test for hash modules +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test for hash modules""" + +__revision__ = "$Id$" + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.Hash import test_HMAC; tests += test_HMAC.get_tests(config=config) + from Crypto.SelfTest.Hash import test_CMAC; tests += test_CMAC.get_tests(config=config) + from Crypto.SelfTest.Hash import test_MD2; tests += test_MD2.get_tests(config=config) + from Crypto.SelfTest.Hash import test_MD4; tests += test_MD4.get_tests(config=config) + from Crypto.SelfTest.Hash import test_MD5; tests += test_MD5.get_tests(config=config) + from Crypto.SelfTest.Hash import test_RIPEMD160; tests += test_RIPEMD160.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA1; tests += test_SHA1.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA256; tests += test_SHA256.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA3_224; tests += test_SHA3_224.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA3_256; tests += test_SHA3_256.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA3_384; tests += test_SHA3_384.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA3_512; tests += test_SHA3_512.get_tests(config=config) + from Crypto.SelfTest.Hash import test_keccak; tests += test_keccak.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHAKE; tests += test_SHAKE.get_tests(config=config) + try: + from Crypto.SelfTest.Hash import test_SHA224; tests += test_SHA224.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA384; tests += test_SHA384.get_tests(config=config) + from Crypto.SelfTest.Hash import test_SHA512; tests += test_SHA512.get_tests(config=config) + except ImportError: + import sys + sys.stderr.write("SelfTest: warning: not testing SHA224/SHA384/SHA512 modules (not available)\n") + from Crypto.SelfTest.Hash import test_BLAKE2; tests += test_BLAKE2.get_tests(config=config) + from Crypto.SelfTest.Hash import test_Poly1305; tests += test_Poly1305.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/common.py b/lib27/site-packages/Crypto/SelfTest/Hash/common.py new file mode 100644 index 000000000..f641a278f --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/common.py @@ -0,0 +1,291 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/common.py: Common code for Crypto.SelfTest.Hash +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-testing for PyCrypto hash modules""" + +import re +import sys +import unittest +import binascii +import Crypto.Hash +from binascii import hexlify, unhexlify +from Crypto.Util.py3compat import b, tobytes +from Crypto.Util.strxor import strxor_c + +def t2b(hex_string): + shorter = re.sub(b'\s+', b'', tobytes(hex_string)) + return unhexlify(shorter) + + +class HashDigestSizeSelfTest(unittest.TestCase): + + def __init__(self, hashmod, description, expected, extra_params): + unittest.TestCase.__init__(self) + self.hashmod = hashmod + self.expected = expected + self.description = description + self.extra_params = extra_params + + def shortDescription(self): + return self.description + + def runTest(self): + if "truncate" not in self.extra_params: + self.failUnless(hasattr(self.hashmod, "digest_size")) + self.assertEquals(self.hashmod.digest_size, self.expected) + h = self.hashmod.new(**self.extra_params) + self.failUnless(hasattr(h, "digest_size")) + self.assertEquals(h.digest_size, self.expected) + + +class HashSelfTest(unittest.TestCase): + + def __init__(self, hashmod, description, expected, input, extra_params): + unittest.TestCase.__init__(self) + self.hashmod = hashmod + self.expected = expected.lower() + self.input = input + self.description = description + self.extra_params = extra_params + + def shortDescription(self): + return self.description + + def runTest(self): + h = self.hashmod.new(**self.extra_params) + h.update(self.input) + + out1 = binascii.b2a_hex(h.digest()) + out2 = h.hexdigest() + + h = self.hashmod.new(self.input, **self.extra_params) + + out3 = h.hexdigest() + out4 = binascii.b2a_hex(h.digest()) + + # PY3K: hexdigest() should return str(), and digest() bytes + self.assertEqual(self.expected, out1) # h = .new(); h.update(data); h.digest() + if sys.version_info[0] == 2: + self.assertEqual(self.expected, out2) # h = .new(); h.update(data); h.hexdigest() + self.assertEqual(self.expected, out3) # h = .new(data); h.hexdigest() + else: + self.assertEqual(self.expected.decode(), out2) # h = .new(); h.update(data); h.hexdigest() + self.assertEqual(self.expected.decode(), out3) # h = .new(data); h.hexdigest() + self.assertEqual(self.expected, out4) # h = .new(data); h.digest() + + # Verify that the .new() method produces a fresh hash object, except + # for MD5 and SHA1, which are hashlib objects. (But test any .new() + # method that does exist.) + if self.hashmod.__name__ not in ('Crypto.Hash.MD5', 'Crypto.Hash.SHA1') or hasattr(h, 'new'): + h2 = h.new() + h2.update(self.input) + out5 = binascii.b2a_hex(h2.digest()) + self.assertEqual(self.expected, out5) + + +class HashTestOID(unittest.TestCase): + def __init__(self, hashmod, oid, extra_params): + unittest.TestCase.__init__(self) + self.hashmod = hashmod + self.oid = oid + self.extra_params = extra_params + + def runTest(self): + h = self.hashmod.new(**self.extra_params) + self.assertEqual(h.oid, self.oid) + + +class ByteArrayTest(unittest.TestCase): + + def __init__(self, module, extra_params): + unittest.TestCase.__init__(self) + self.module = module + self.extra_params = extra_params + + def runTest(self): + data = b("\x00\x01\x02") + + # Data can be a bytearray (during initialization) + ba = bytearray(data) + + h1 = self.module.new(data, **self.extra_params) + h2 = self.module.new(ba, **self.extra_params) + ba[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a bytearray (during operation) + ba = bytearray(data) + + h1 = self.module.new(**self.extra_params) + h2 = self.module.new(**self.extra_params) + + h1.update(data) + h2.update(ba) + + ba[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + +class MemoryViewTest(unittest.TestCase): + + def __init__(self, module, extra_params): + unittest.TestCase.__init__(self) + self.module = module + self.extra_params = extra_params + + def runTest(self): + + data = b"\x00\x01\x02" + + def get_mv_ro(data): + return memoryview(data) + + def get_mv_rw(data): + return memoryview(bytearray(data)) + + for get_mv in get_mv_ro, get_mv_rw: + + # Data can be a memoryview (during initialization) + mv = get_mv(data) + + h1 = self.module.new(data, **self.extra_params) + h2 = self.module.new(mv, **self.extra_params) + if not mv.readonly: + mv[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a memoryview (during operation) + mv = get_mv(data) + + h1 = self.module.new(**self.extra_params) + h2 = self.module.new(**self.extra_params) + h1.update(data) + h2.update(mv) + if not mv.readonly: + mv[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + +class MACSelfTest(unittest.TestCase): + + def __init__(self, module, description, result, data, key, params): + unittest.TestCase.__init__(self) + self.module = module + self.result = t2b(result) + self.data = t2b(data) + self.key = t2b(key) + self.params = params + self.description = description + + def shortDescription(self): + return self.description + + def runTest(self): + + result_hex = hexlify(self.result) + + # Verify result + h = self.module.new(self.key, **self.params) + h.update(self.data) + self.assertEqual(self.result, h.digest()) + self.assertEqual(hexlify(self.result).decode('ascii'), h.hexdigest()) + + # Verify that correct MAC does not raise any exception + h.verify(self.result) + h.hexverify(result_hex) + + # Verify that incorrect MAC does raise ValueError exception + wrong_mac = strxor_c(self.result, 255) + self.assertRaises(ValueError, h.verify, wrong_mac) + self.assertRaises(ValueError, h.hexverify, "4556") + + # Verify again, with data passed to new() + h = self.module.new(self.key, self.data, **self.params) + self.assertEqual(self.result, h.digest()) + self.assertEqual(hexlify(self.result).decode('ascii'), h.hexdigest()) + + # Test .copy() + try: + h = self.module.new(self.key, self.data, **self.params) + h2 = h.copy() + h3 = h.copy() + + # Verify that changing the copy does not change the original + h2.update(b"bla") + self.assertEqual(h3.digest(), self.result) + + # Verify that both can reach the same state + h.update(b"bla") + self.assertEqual(h.digest(), h2.digest()) + except NotImplementedError: + pass + + # PY3K: Check that hexdigest() returns str and digest() returns bytes + self.assertTrue(isinstance(h.digest(), type(b""))) + self.assertTrue(isinstance(h.hexdigest(), type(""))) + + # PY3K: Check that .hexverify() accepts bytes or str + h.hexverify(h.hexdigest()) + h.hexverify(h.hexdigest().encode('ascii')) + + +def make_hash_tests(module, module_name, test_data, digest_size, oid=None, + extra_params={}): + tests = [] + for i in range(len(test_data)): + row = test_data[i] + (expected, input) = map(tobytes,row[0:2]) + if len(row) < 3: + description = repr(input) + else: + description = row[2] + name = "%s #%d: %s" % (module_name, i+1, description) + tests.append(HashSelfTest(module, name, expected, input, extra_params)) + + name = "%s #%d: digest_size" % (module_name, i+1) + tests.append(HashDigestSizeSelfTest(module, name, digest_size, extra_params)) + + if oid is not None: + tests.append(HashTestOID(module, oid, extra_params)) + + tests.append(ByteArrayTest(module, extra_params)) + + if not (sys.version_info[0] == 2 and sys.version_info[1] < 7): + tests.append(MemoryViewTest(module, extra_params)) + + return tests + + +def make_mac_tests(module, module_name, test_data): + tests = [] + for i, row in enumerate(test_data): + if len(row) == 4: + (key, data, results, description, params) = list(row) + [ {} ] + else: + (key, data, results, description, params) = row + name = "%s #%d: %s" % (module_name, i+1, description) + tests.append(MACSelfTest(module, name, results, data, key, params)) + return tests + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_BLAKE2.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_BLAKE2.py new file mode 100644 index 000000000..a2fea3e13 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_BLAKE2.py @@ -0,0 +1,443 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import re +import unittest +from binascii import unhexlify, hexlify + +from Crypto.Util.py3compat import tobytes +from Crypto.Util.strxor import strxor_c +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Hash import BLAKE2b, BLAKE2s + + +class Blake2Test(unittest.TestCase): + + def test_new_positive(self): + + h = self.BLAKE2.new(digest_bits=self.max_bits) + for new_func in self.BLAKE2.new, h.new: + + for dbits in range(8, self.max_bits + 1, 8): + hobj = new_func(digest_bits=dbits) + self.assertEqual(hobj.digest_size, dbits // 8) + + for dbytes in range(1, self.max_bytes + 1): + hobj = new_func(digest_bytes=dbytes) + self.assertEqual(hobj.digest_size, dbytes) + + digest1 = new_func(data=b"\x90", digest_bytes=self.max_bytes).digest() + digest2 = new_func(digest_bytes=self.max_bytes).update(b"\x90").digest() + self.assertEqual(digest1, digest2) + + new_func(data=b"A", key=b"5", digest_bytes=self.max_bytes) + + hobj = h.new() + self.assertEqual(hobj.digest_size, self.max_bytes) + + def test_new_negative(self): + + h = self.BLAKE2.new(digest_bits=self.max_bits) + for new_func in self.BLAKE2.new, h.new: + self.assertRaises(TypeError, new_func, + digest_bytes=self.max_bytes, + digest_bits=self.max_bits) + self.assertRaises(ValueError, new_func, digest_bytes=0) + self.assertRaises(ValueError, new_func, + digest_bytes=self.max_bytes + 1) + self.assertRaises(ValueError, new_func, digest_bits=7) + self.assertRaises(ValueError, new_func, digest_bits=15) + self.assertRaises(ValueError, new_func, + digest_bits=self.max_bits + 1) + self.assertRaises(TypeError, new_func, + digest_bytes=self.max_bytes, + key=u"string") + self.assertRaises(TypeError, new_func, + digest_bytes=self.max_bytes, + data=u"string") + + def test_default_digest_size(self): + digest = self.BLAKE2.new(data=b'abc').digest() + self.assertEquals(len(digest), self.max_bytes) + + def test_update(self): + pieces = [b"\x0A" * 200, b"\x14" * 300] + h = self.BLAKE2.new(digest_bytes=self.max_bytes) + h.update(pieces[0]).update(pieces[1]) + digest = h.digest() + h = self.BLAKE2.new(digest_bytes=self.max_bytes) + h.update(pieces[0] + pieces[1]) + self.assertEqual(h.digest(), digest) + + def test_update_negative(self): + h = self.BLAKE2.new(digest_bytes=self.max_bytes) + self.assertRaises(TypeError, h.update, u"string") + + def test_digest(self): + h = self.BLAKE2.new(digest_bytes=self.max_bytes) + digest = h.digest() + + # hexdigest does not change the state + self.assertEqual(h.digest(), digest) + # digest returns a byte string + self.failUnless(isinstance(digest, type(b"digest"))) + + def test_update_after_digest(self): + msg=b"rrrrttt" + + # Normally, update() cannot be done after digest() + h = self.BLAKE2.new(digest_bits=256, data=msg[:4]) + dig1 = h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + dig2 = self.BLAKE2.new(digest_bits=256, data=msg).digest() + + # With the proper flag, it is allowed + h = self.BLAKE2.new(digest_bits=256, data=msg[:4], update_after_digest=True) + self.assertEquals(h.digest(), dig1) + # ... and the subsequent digest applies to the entire message + # up to that point + h.update(msg[4:]) + self.assertEquals(h.digest(), dig2) + + def test_hex_digest(self): + mac = self.BLAKE2.new(digest_bits=self.max_bits) + digest = mac.digest() + hexdigest = mac.hexdigest() + + # hexdigest is equivalent to digest + self.assertEqual(hexlify(digest), tobytes(hexdigest)) + # hexdigest does not change the state + self.assertEqual(mac.hexdigest(), hexdigest) + # hexdigest returns a string + self.failUnless(isinstance(hexdigest, type("digest"))) + + def test_verify(self): + h = self.BLAKE2.new(digest_bytes=self.max_bytes, key=b"4") + mac = h.digest() + h.verify(mac) + wrong_mac = strxor_c(mac, 255) + self.assertRaises(ValueError, h.verify, wrong_mac) + + def test_hexverify(self): + h = self.BLAKE2.new(digest_bytes=self.max_bytes, key=b"4") + mac = h.hexdigest() + h.hexverify(mac) + self.assertRaises(ValueError, h.hexverify, "4556") + + def test_oid(self): + + prefix = "1.3.6.1.4.1.1722.12.2." + self.oid_variant + "." + + for digest_bits in self.digest_bits_oid: + h = self.BLAKE2.new(digest_bits=digest_bits) + self.assertEqual(h.oid, prefix + str(digest_bits // 8)) + + h = self.BLAKE2.new(digest_bits=digest_bits, key=b"secret") + self.assertRaises(AttributeError, lambda: h.oid) + + for digest_bits in (8, self.max_bits): + if digest_bits in self.digest_bits_oid: + continue + self.assertRaises(AttributeError, lambda: h.oid) + + def test_bytearray(self): + + key = b'0' * 16 + data = b"\x00\x01\x02" + + # Data and key can be a bytearray (during initialization) + key_ba = bytearray(key) + data_ba = bytearray(data) + + h1 = self.BLAKE2.new(data=data, key=key) + h2 = self.BLAKE2.new(data=data_ba, key=key_ba) + key_ba[:1] = b'\xFF' + data_ba[:1] = b'\xFF' + + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a bytearray (during operation) + data_ba = bytearray(data) + + h1 = self.BLAKE2.new() + h2 = self.BLAKE2.new() + h1.update(data) + h2.update(data_ba) + data_ba[:1] = b'\xFF' + + self.assertEqual(h1.digest(), h2.digest()) + + def test_memoryview(self): + + key = b'0' * 16 + data = b"\x00\x01\x02" + + def get_mv_ro(data): + return memoryview(data) + + def get_mv_rw(data): + return memoryview(bytearray(data)) + + for get_mv in (get_mv_ro, get_mv_rw): + + # Data and key can be a memoryview (during initialization) + key_mv = get_mv(key) + data_mv = get_mv(data) + + h1 = self.BLAKE2.new(data=data, key=key) + h2 = self.BLAKE2.new(data=data_mv, key=key_mv) + if not data_mv.readonly: + data_mv[:1] = b'\xFF' + key_mv[:1] = b'\xFF' + + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a memoryview (during operation) + data_mv = get_mv(data) + + h1 = self.BLAKE2.new() + h2 = self.BLAKE2.new() + h1.update(data) + h2.update(data_mv) + if not data_mv.readonly: + data_mv[:1] = b'\xFF' + + self.assertEqual(h1.digest(), h2.digest()) + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + + +class Blake2bTest(Blake2Test): + #: Module + BLAKE2 = BLAKE2b + #: Max output size (in bits) + max_bits = 512 + #: Max output size (in bytes) + max_bytes = 64 + #: Bit size of the digests for which an ASN OID exists + digest_bits_oid = (160, 256, 384, 512) + # http://tools.ietf.org/html/draft-saarinen-blake2-02 + oid_variant = "1" + + +class Blake2sTest(Blake2Test): + #: Module + BLAKE2 = BLAKE2s + #: Max output size (in bits) + max_bits = 256 + #: Max output size (in bytes) + max_bytes = 32 + #: Bit size of the digests for which an ASN OID exists + digest_bits_oid = (128, 160, 224, 256) + # http://tools.ietf.org/html/draft-saarinen-blake2-02 + oid_variant = "2" + + +class Blake2OfficialTestVector(unittest.TestCase): + + def setUp(self): + + test_vector_file = pycryptodome_filename( + ("Crypto", "SelfTest", "Hash", "test_vectors", self.name), + self.name.lower() + "-test.txt") + + expected = "in" + self.test_vectors = [] + with open(test_vector_file, "rt") as test_vector_fd: + for line_number, line in enumerate(test_vector_fd): + + if line.strip() == "" or line.startswith("#"): + continue + + res = re.match("%s:\t([0-9A-Fa-f]*)" % expected, line) + if not res: + raise ValueError("Incorrect test vector format (line %d)" + % line_number) + + if res.group(1): + bin_value = unhexlify(tobytes(res.group(1))) + else: + bin_value = b"" + if expected == "in": + input_data = bin_value + expected = "key" + elif expected == "key": + key = bin_value + expected = "hash" + else: + result = bin_value + expected = "in" + self.test_vectors.append((input_data, key, result)) + + def runTest(self): + for (input_data, key, result) in self.test_vectors: + mac = self.BLAKE2.new(key=key, digest_bytes=self.max_bytes) + mac.update(input_data) + self.assertEqual(mac.digest(), result) + + +class Blake2bOfficialTestVector(Blake2OfficialTestVector): + #: Module + BLAKE2 = BLAKE2b + #: Hash name + name = "BLAKE2b" + #: Max digest size + max_bytes = 64 + + +class Blake2sOfficialTestVector(Blake2OfficialTestVector): + #: Module + BLAKE2 = BLAKE2s + #: Hash name + name = "BLAKE2s" + #: Max digest size + max_bytes = 32 + + +class Blake2TestVector1(unittest.TestCase): + + def setUp(self): + test_vector_file = pycryptodome_filename( + ("Crypto", "SelfTest", "Hash", "test_vectors", self.name), + "tv1.txt") + + self.test_vectors = [] + with open(test_vector_file, "rt") as test_vector_fd: + for line_number, line in enumerate(test_vector_fd): + if line.strip() == "" or line.startswith("#"): + continue + res = re.match("digest: ([0-9A-Fa-f]*)", line) + if not res: + raise ValueError("Incorrect test vector format (line %d)" + % line_number) + + self.test_vectors.append(unhexlify(tobytes(res.group(1)))) + + def runTest(self): + + for tv in self.test_vectors: + digest_bytes = len(tv) + next_data = b"" + for _ in range(100): + h = self.BLAKE2.new(digest_bytes=digest_bytes) + h.update(next_data) + next_data = h.digest() + next_data + self.assertEqual(h.digest(), tv) + + +class Blake2bTestVector1(Blake2TestVector1): + #: Module + BLAKE2 = BLAKE2b + #: Hash name + name = "BLAKE2b" + + +class Blake2sTestVector1(Blake2TestVector1): + #: Module + BLAKE2 = BLAKE2s + #: Hash name + name = "BLAKE2s" + + +class Blake2TestVector2(unittest.TestCase): + + def setUp(self): + test_vector_file = pycryptodome_filename( + ("Crypto", "SelfTest", "Hash", "test_vectors", self.name), + "tv2.txt") + + self.test_vectors = [] + with open(test_vector_file, "rt") as test_vector_fd: + for line_number, line in enumerate(test_vector_fd): + if line.strip() == "" or line.startswith("#"): + continue + res = re.match(r"digest\(([0-9]+)\): ([0-9A-Fa-f]*)", line) + if not res: + raise ValueError("Incorrect test vector format (line %d)" + % line_number) + + key_size = int(res.group(1)) + result = unhexlify(tobytes(res.group(2))) + self.test_vectors.append((key_size, result)) + + def runTest(self): + + for key_size, result in self.test_vectors: + next_data = b"" + for _ in range(100): + h = self.BLAKE2.new(digest_bytes=self.max_bytes, + key=b"A" * key_size) + h.update(next_data) + next_data = h.digest() + next_data + self.assertEqual(h.digest(), result) + + +class Blake2bTestVector2(Blake2TestVector1): + #: Module + BLAKE2 = BLAKE2b + #: Hash name + name = "BLAKE2b" + #: Max digest size in bytes + max_bytes = 64 + + +class Blake2sTestVector2(Blake2TestVector1): + #: Module + BLAKE2 = BLAKE2s + #: Hash name + name = "BLAKE2s" + #: Max digest size in bytes + max_bytes = 32 + + +def get_tests(config={}): + tests = [] + + tests += list_test_cases(Blake2bTest) + tests.append(Blake2bOfficialTestVector()) + tests.append(Blake2bTestVector1()) + tests.append(Blake2bTestVector2()) + + tests += list_test_cases(Blake2sTest) + tests.append(Blake2sOfficialTestVector()) + tests.append(Blake2sTestVector1()) + tests.append(Blake2sTestVector2()) + + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_CMAC.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_CMAC.py new file mode 100644 index 000000000..dc6e397c5 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_CMAC.py @@ -0,0 +1,465 @@ +# +# SelfTest/Hash/CMAC.py: Self-test for the CMAC module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.CMAC""" + +import json +import unittest +from binascii import unhexlify + +from Crypto.Util.py3compat import tobytes, _memoryview + +from Crypto.Hash import CMAC +from Crypto.Cipher import AES, DES3 +from Crypto.Hash import SHAKE128 + +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.strxor import strxor + +from Crypto.SelfTest.st_common import list_test_cases + +# This is a list of (key, data, result, description, module) tuples. +test_data = [ + + ## Test vectors from RFC 4493 ## + ## The are also in NIST SP 800 38B D.2 ## + ( '2b7e151628aed2a6abf7158809cf4f3c', + '', + 'bb1d6929e95937287fa37d129b756746', + 'RFC 4493 #1', + AES + ), + + ( '2b7e151628aed2a6abf7158809cf4f3c', + '6bc1bee22e409f96e93d7e117393172a', + '070a16b46b4d4144f79bdd9dd04a287c', + 'RFC 4493 #2', + AES + ), + + ( '2b7e151628aed2a6abf7158809cf4f3c', + '6bc1bee22e409f96e93d7e117393172a'+ + 'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411', + 'dfa66747de9ae63030ca32611497c827', + 'RFC 4493 #3', + AES + ), + + ( '2b7e151628aed2a6abf7158809cf4f3c', + '6bc1bee22e409f96e93d7e117393172a'+ + 'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411e5fbc1191a0a52ef'+ + 'f69f2445df4f9b17ad2b417be66c3710', + '51f0bebf7e3b9d92fc49741779363cfe', + 'RFC 4493 #4', + AES + ), + + ## The rest of Appendix D of NIST SP 800 38B + ## was not totally correct. + ## Values in Examples 14, 15, 18, and 19 were wrong. + ## The updated test values are published in: + ## http://csrc.nist.gov/publications/nistpubs/800-38B/Updated_CMAC_Examples.pdf + + ( '8e73b0f7da0e6452c810f32b809079e5'+ + '62f8ead2522c6b7b', + '', + 'd17ddf46adaacde531cac483de7a9367', + 'NIST SP 800 38B D.2 Example 5', + AES + ), + + ( '8e73b0f7da0e6452c810f32b809079e5'+ + '62f8ead2522c6b7b', + '6bc1bee22e409f96e93d7e117393172a', + '9e99a7bf31e710900662f65e617c5184', + 'NIST SP 800 38B D.2 Example 6', + AES + ), + + ( '8e73b0f7da0e6452c810f32b809079e5'+ + '62f8ead2522c6b7b', + '6bc1bee22e409f96e93d7e117393172a'+ + 'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411', + '8a1de5be2eb31aad089a82e6ee908b0e', + 'NIST SP 800 38B D.2 Example 7', + AES + ), + + ( '8e73b0f7da0e6452c810f32b809079e5'+ + '62f8ead2522c6b7b', + '6bc1bee22e409f96e93d7e117393172a'+ + 'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411e5fbc1191a0a52ef'+ + 'f69f2445df4f9b17ad2b417be66c3710', + 'a1d5df0eed790f794d77589659f39a11', + 'NIST SP 800 38B D.2 Example 8', + AES + ), + + ( '603deb1015ca71be2b73aef0857d7781'+ + '1f352c073b6108d72d9810a30914dff4', + '', + '028962f61b7bf89efc6b551f4667d983', + 'NIST SP 800 38B D.3 Example 9', + AES + ), + + ( '603deb1015ca71be2b73aef0857d7781'+ + '1f352c073b6108d72d9810a30914dff4', + '6bc1bee22e409f96e93d7e117393172a', + '28a7023f452e8f82bd4bf28d8c37c35c', + 'NIST SP 800 38B D.3 Example 10', + AES + ), + + ( '603deb1015ca71be2b73aef0857d7781'+ + '1f352c073b6108d72d9810a30914dff4', + '6bc1bee22e409f96e93d7e117393172a'+ + 'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411', + 'aaf3d8f1de5640c232f5b169b9c911e6', + 'NIST SP 800 38B D.3 Example 11', + AES + ), + + ( '603deb1015ca71be2b73aef0857d7781'+ + '1f352c073b6108d72d9810a30914dff4', + '6bc1bee22e409f96e93d7e117393172a'+ + 'ae2d8a571e03ac9c9eb76fac45af8e51'+ + '30c81c46a35ce411e5fbc1191a0a52ef'+ + 'f69f2445df4f9b17ad2b417be66c3710', + 'e1992190549f6ed5696a2c056c315410', + 'NIST SP 800 38B D.3 Example 12', + AES + ), + + ( '8aa83bf8cbda1062'+ + '0bc1bf19fbb6cd58'+ + 'bc313d4a371ca8b5', + '', + 'b7a688e122ffaf95', + 'NIST SP 800 38B D.4 Example 13', + DES3 + ), + + ( '8aa83bf8cbda1062'+ + '0bc1bf19fbb6cd58'+ + 'bc313d4a371ca8b5', + '6bc1bee22e409f96', + '8e8f293136283797', + 'NIST SP 800 38B D.4 Example 14', + DES3 + ), + + ( '8aa83bf8cbda1062'+ + '0bc1bf19fbb6cd58'+ + 'bc313d4a371ca8b5', + '6bc1bee22e409f96'+ + 'e93d7e117393172a'+ + 'ae2d8a57', + '743ddbe0ce2dc2ed', + 'NIST SP 800 38B D.4 Example 15', + DES3 + ), + + ( '8aa83bf8cbda1062'+ + '0bc1bf19fbb6cd58'+ + 'bc313d4a371ca8b5', + '6bc1bee22e409f96'+ + 'e93d7e117393172a'+ + 'ae2d8a571e03ac9c'+ + '9eb76fac45af8e51', + '33e6b1092400eae5', + 'NIST SP 800 38B D.4 Example 16', + DES3 + ), + + ( '4cf15134a2850dd5'+ + '8a3d10ba80570d38', + '', + 'bd2ebf9a3ba00361', + 'NIST SP 800 38B D.7 Example 17', + DES3 + ), + + ( '4cf15134a2850dd5'+ + '8a3d10ba80570d38', + '6bc1bee22e409f96', + '4ff2ab813c53ce83', + 'NIST SP 800 38B D.7 Example 18', + DES3 + ), + + ( '4cf15134a2850dd5'+ + '8a3d10ba80570d38', + '6bc1bee22e409f96'+ + 'e93d7e117393172a'+ + 'ae2d8a57', + '62dd1b471902bd4e', + 'NIST SP 800 38B D.7 Example 19', + DES3 + ), + + ( '4cf15134a2850dd5'+ + '8a3d10ba80570d38', + '6bc1bee22e409f96'+ + 'e93d7e117393172a'+ + 'ae2d8a571e03ac9c'+ + '9eb76fac45af8e51', + '31b1e431dabc4eb8', + 'NIST SP 800 38B D.7 Example 20', + DES3 + ), + +] + + +def get_tag_random(tag, length): + return SHAKE128.new(data=tobytes(tag)).read(length) + + +class TestCMAC(unittest.TestCase): + + def test_internal_caching(self): + """Verify that internal caching is implemented correctly""" + + data_to_mac = get_tag_random("data_to_mac", 128) + key = get_tag_random("key", 16) + ref_mac = CMAC.new(key, msg=data_to_mac, ciphermod=AES).digest() + + # Break up in chunks of different length + # The result must always be the same + for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128: + + chunks = [data_to_mac[i:i+chunk_length] for i in + range(0, len(data_to_mac), chunk_length)] + + mac = CMAC.new(key, ciphermod=AES) + for chunk in chunks: + mac.update(chunk) + self.assertEqual(ref_mac, mac.digest()) + + def test_update_after_digest(self): + msg = b"rrrrttt" + key = b"4" * 16 + + # Normally, update() cannot be done after digest() + h = CMAC.new(key, msg[:4], ciphermod=AES) + dig1 = h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + dig2 = CMAC.new(key, msg, ciphermod=AES).digest() + + # With the proper flag, it is allowed + h2 = CMAC.new(key, msg[:4], ciphermod=AES, update_after_digest=True) + self.assertEquals(h2.digest(), dig1) + # ... and the subsequent digest applies to the entire message + # up to that point + h2.update(msg[4:]) + self.assertEquals(h2.digest(), dig2) + + +class ByteArrayTests(unittest.TestCase): + + def runTest(self): + + key = b"0" * 16 + data = b"\x00\x01\x02" + + # Data and key can be a bytearray (during initialization) + key_ba = bytearray(key) + data_ba = bytearray(data) + + h1 = CMAC.new(key, data, ciphermod=AES) + h2 = CMAC.new(key_ba, data_ba, ciphermod=AES) + key_ba[:1] = b'\xFF' + data_ba[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a bytearray (during operation) + key_ba = bytearray(key) + data_ba = bytearray(data) + + h1 = CMAC.new(key, ciphermod=AES) + h2 = CMAC.new(key, ciphermod=AES) + h1.update(data) + h2.update(data_ba) + data_ba[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + +class MemoryViewTests(unittest.TestCase): + + def runTest(self): + + key = b"0" * 16 + data = b"\x00\x01\x02" + + def get_mv_ro(data): + return memoryview(data) + + def get_mv_rw(data): + return memoryview(bytearray(data)) + + for get_mv in (get_mv_ro, get_mv_rw): + + # Data and key can be a memoryview (during initialization) + key_mv = get_mv(key) + data_mv = get_mv(data) + + h1 = CMAC.new(key, data, ciphermod=AES) + h2 = CMAC.new(key_mv, data_mv, ciphermod=AES) + if not data_mv.readonly: + key_mv[:1] = b'\xFF' + data_mv[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a memoryview (during operation) + data_mv = get_mv(data) + + h1 = CMAC.new(key, ciphermod=AES) + h2 = CMAC.new(key, ciphermod=AES) + h1.update(data) + h2.update(data_mv) + if not data_mv.readonly: + data_mv[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + +class TestVectorsWycheproof(unittest.TestCase): + + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + self._id = "None" + + def setUp(self): + comps = "Crypto.SelfTest.Hash.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, "aes_cmac_test.json"), "rt") as file_in: + tv_tree = json.load(file_in) + + class TestVector(object): + pass + self.tv = [] + + for group in tv_tree['testGroups']: + tag_size = group['tagSize'] // 8 + for test in group['tests']: + tv = TestVector() + tv.tag_size = tag_size + + tv.id = test['tcId'] + tv.comment = test['comment'] + for attr in 'key', 'msg', 'tag': + setattr(tv, attr, unhexlify(test[attr])) + tv.valid = test['result'] != "invalid" + tv.warning = test['result'] == "acceptable" + self.tv.append(tv) + + def shortDescription(self): + return self._id + + def warn(self, tv): + if tv.warning and self._wycheproof_warnings: + import warnings + warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment)) + + def test_create_mac(self, tv): + self._id = "Wycheproof MAC creation Test #" + str(tv.id) + + try: + tag = CMAC.new(tv.key, tv.msg, ciphermod=AES, mac_len=tv.tag_size).digest() + except ValueError as e: + if len(tv.key) not in (16, 24, 32) and "key length" in str(e): + return + raise e + if tv.valid: + self.assertEqual(tag, tv.tag) + self.warn(tv) + + def test_verify_mac(self, tv): + self._id = "Wycheproof MAC verification Test #" + str(tv.id) + + try: + mac = CMAC.new(tv.key, tv.msg, ciphermod=AES, mac_len=tv.tag_size) + except ValueError as e: + if len(tv.key) not in (16, 24, 32) and "key length" in str(e): + return + raise e + try: + mac.verify(tv.tag) + except ValueError: + assert not tv.valid + else: + assert tv.valid + self.warn(tv) + + def runTest(self): + + for tv in self.tv: + self.test_create_mac(tv) + self.test_verify_mac(tv) + + +def get_tests(config={}): + global test_data + import types + from .common import make_mac_tests + + wycheproof_warnings = config.get('wycheproof_warnings') + + # Add new() parameters to the back of each test vector + params_test_data = [] + for row in test_data: + t = list(row) + t[4] = dict(ciphermod=t[4]) + params_test_data.append(t) + + tests = make_mac_tests(CMAC, "CMAC", params_test_data) + tests.append(ByteArrayTests()) + tests.append(list_test_cases(TestCMAC)) + + import sys + if sys.version[:3] != "2.6": + tests.append(MemoryViewTests()) + + tests += [ TestVectorsWycheproof(wycheproof_warnings) ] + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_HMAC.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_HMAC.py new file mode 100644 index 000000000..ad3da94fe --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_HMAC.py @@ -0,0 +1,404 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/HMAC.py: Self-test for the HMAC module +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.HMAC""" + +import sys +import unittest +from binascii import hexlify +from Crypto.Util.py3compat import _memoryview, tostr, tobytes + +from Crypto.Hash import HMAC, MD5, SHA1, SHA256 +hash_modules = dict(MD5=MD5, SHA1=SHA1, SHA256=SHA256) + +try: + from Crypto.Hash import SHA224, SHA384, SHA512, RIPEMD160 + hash_modules.update(dict(SHA224=SHA224, SHA384=SHA384, SHA512=SHA512, + RIPEMD160=RIPEMD160)) +except ImportError: + sys.stderr.write("SelfTest: warning: not testing HMAC-SHA224/384/512" + " (not available)\n") + +default_hash = None + +def xl(text): + return tostr(hexlify(tobytes(text))) + +# This is a list of (key, data, results, description) tuples. +test_data = [ + ## Test vectors from RFC 2202 ## + # Test that the default hashmod is MD5 + ('0b' * 16, + '4869205468657265', + dict(default_hash='9294727a3638bb1c13f48ef8158bfc9d'), + 'default-is-MD5'), + + # Test case 1 (MD5) + ('0b' * 16, + '4869205468657265', + dict(MD5='9294727a3638bb1c13f48ef8158bfc9d'), + 'RFC 2202 #1-MD5 (HMAC-MD5)'), + + # Test case 1 (SHA1) + ('0b' * 20, + '4869205468657265', + dict(SHA1='b617318655057264e28bc0b6fb378c8ef146be00'), + 'RFC 2202 #1-SHA1 (HMAC-SHA1)'), + + # Test case 2 + ('4a656665', + '7768617420646f2079612077616e7420666f72206e6f7468696e673f', + dict(MD5='750c783e6ab0b503eaa86e310a5db738', + SHA1='effcdf6ae5eb2fa2d27416d5f184df9c259a7c79'), + 'RFC 2202 #2 (HMAC-MD5/SHA1)'), + + # Test case 3 (MD5) + ('aa' * 16, + 'dd' * 50, + dict(MD5='56be34521d144c88dbb8c733f0e8b3f6'), + 'RFC 2202 #3-MD5 (HMAC-MD5)'), + + # Test case 3 (SHA1) + ('aa' * 20, + 'dd' * 50, + dict(SHA1='125d7342b9ac11cd91a39af48aa17b4f63f175d3'), + 'RFC 2202 #3-SHA1 (HMAC-SHA1)'), + + # Test case 4 + ('0102030405060708090a0b0c0d0e0f10111213141516171819', + 'cd' * 50, + dict(MD5='697eaf0aca3a3aea3a75164746ffaa79', + SHA1='4c9007f4026250c6bc8414f9bf50c86c2d7235da'), + 'RFC 2202 #4 (HMAC-MD5/SHA1)'), + + # Test case 5 (MD5) + ('0c' * 16, + '546573742057697468205472756e636174696f6e', + dict(MD5='56461ef2342edc00f9bab995690efd4c'), + 'RFC 2202 #5-MD5 (HMAC-MD5)'), + + # Test case 5 (SHA1) + # NB: We do not implement hash truncation, so we only test the full hash here. + ('0c' * 20, + '546573742057697468205472756e636174696f6e', + dict(SHA1='4c1a03424b55e07fe7f27be1d58bb9324a9a5a04'), + 'RFC 2202 #5-SHA1 (HMAC-SHA1)'), + + # Test case 6 + ('aa' * 80, + '54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a' + + '65204b6579202d2048617368204b6579204669727374', + dict(MD5='6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd', + SHA1='aa4ae5e15272d00e95705637ce8a3b55ed402112'), + 'RFC 2202 #6 (HMAC-MD5/SHA1)'), + + # Test case 7 + ('aa' * 80, + '54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a' + + '65204b657920616e64204c6172676572205468616e204f6e6520426c6f636b2d' + + '53697a652044617461', + dict(MD5='6f630fad67cda0ee1fb1f562db3aa53e', + SHA1='e8e99d0f45237d786d6bbaa7965c7808bbff1a91'), + 'RFC 2202 #7 (HMAC-MD5/SHA1)'), + + ## Test vectors from RFC 4231 ## + # 4.2. Test Case 1 + ('0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b', + '4869205468657265', + dict(SHA256=''' + b0344c61d8db38535ca8afceaf0bf12b + 881dc200c9833da726e9376c2e32cff7 + '''), + 'RFC 4231 #1 (HMAC-SHA256)'), + + # 4.3. Test Case 2 - Test with a key shorter than the length of the HMAC + # output. + ('4a656665', + '7768617420646f2079612077616e7420666f72206e6f7468696e673f', + dict(SHA256=''' + 5bdcc146bf60754e6a042426089575c7 + 5a003f089d2739839dec58b964ec3843 + '''), + 'RFC 4231 #2 (HMAC-SHA256)'), + + # 4.4. Test Case 3 - Test with a combined length of key and data that is + # larger than 64 bytes (= block-size of SHA-224 and SHA-256). + ('aa' * 20, + 'dd' * 50, + dict(SHA256=''' + 773ea91e36800e46854db8ebd09181a7 + 2959098b3ef8c122d9635514ced565fe + '''), + 'RFC 4231 #3 (HMAC-SHA256)'), + + # 4.5. Test Case 4 - Test with a combined length of key and data that is + # larger than 64 bytes (= block-size of SHA-224 and SHA-256). + ('0102030405060708090a0b0c0d0e0f10111213141516171819', + 'cd' * 50, + dict(SHA256=''' + 82558a389a443c0ea4cc819899f2083a + 85f0faa3e578f8077a2e3ff46729665b + '''), + 'RFC 4231 #4 (HMAC-SHA256)'), + + # 4.6. Test Case 5 - Test with a truncation of output to 128 bits. + # + # Not included because we do not implement hash truncation. + # + + # 4.7. Test Case 6 - Test with a key larger than 128 bytes (= block-size of + # SHA-384 and SHA-512). + ('aa' * 131, + '54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a' + + '65204b6579202d2048617368204b6579204669727374', + dict(SHA256=''' + 60e431591ee0b67f0d8a26aacbf5b77f + 8e0bc6213728c5140546040f0ee37f54 + '''), + 'RFC 4231 #6 (HMAC-SHA256)'), + + # 4.8. Test Case 7 - Test with a key and data that is larger than 128 bytes + # (= block-size of SHA-384 and SHA-512). + ('aa' * 131, + '5468697320697320612074657374207573696e672061206c6172676572207468' + + '616e20626c6f636b2d73697a65206b657920616e642061206c61726765722074' + + '68616e20626c6f636b2d73697a6520646174612e20546865206b6579206e6565' + + '647320746f20626520686173686564206265666f7265206265696e6720757365' + + '642062792074686520484d414320616c676f726974686d2e', + dict(SHA256=''' + 9b09ffa71b942fcb27635fbcd5b0e944 + bfdc63644f0713938a7f51535c3a35e2 + '''), + 'RFC 4231 #7 (HMAC-SHA256)'), + + # Test case 8 (SHA224) + ('4a656665', + '7768617420646f2079612077616e74' + + '20666f72206e6f7468696e673f', + dict(SHA224='a30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44'), + 'RFC 4634 8.4 SHA224 (HMAC-SHA224)'), + + # Test case 9 (SHA384) + ('4a656665', + '7768617420646f2079612077616e74' + + '20666f72206e6f7468696e673f', + dict(SHA384='af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649'), + 'RFC 4634 8.4 SHA384 (HMAC-SHA384)'), + + # Test case 10 (SHA512) + ('4a656665', + '7768617420646f2079612077616e74' + + '20666f72206e6f7468696e673f', + dict(SHA512='164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737'), + 'RFC 4634 8.4 SHA512 (HMAC-SHA512)'), + + # Test case 11 (RIPEMD) + ('0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b', + xl("Hi There"), + dict(RIPEMD160='24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668'), + 'RFC 2286 #1 (HMAC-RIPEMD)'), + + # Test case 12 (RIPEMD) + (xl("Jefe"), + xl("what do ya want for nothing?"), + dict(RIPEMD160='dda6c0213a485a9e24f4742064a7f033b43c4069'), + 'RFC 2286 #2 (HMAC-RIPEMD)'), + + # Test case 13 (RIPEMD) + ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + 'dd' * 50, + dict(RIPEMD160='b0b105360de759960ab4f35298e116e295d8e7c1'), + 'RFC 2286 #3 (HMAC-RIPEMD)'), + + # Test case 14 (RIPEMD) + ('0102030405060708090a0b0c0d0e0f10111213141516171819', + 'cd' * 50, + dict(RIPEMD160='d5ca862f4d21d5e610e18b4cf1beb97a4365ecf4'), + 'RFC 2286 #4 (HMAC-RIPEMD)'), + + # Test case 15 (RIPEMD) + ('0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c', + xl("Test With Truncation"), + dict(RIPEMD160='7619693978f91d90539ae786500ff3d8e0518e39'), + 'RFC 2286 #5 (HMAC-RIPEMD)'), + + # Test case 16 (RIPEMD) + ('aa' * 80, + xl("Test Using Larger Than Block-Size Key - Hash Key First"), + dict(RIPEMD160='6466ca07ac5eac29e1bd523e5ada7605b791fd8b'), + 'RFC 2286 #6 (HMAC-RIPEMD)'), + + # Test case 17 (RIPEMD) + ('aa' * 80, + xl("Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"), + dict(RIPEMD160='69ea60798d71616cce5fd0871e23754cd75d5a0a'), + 'RFC 2286 #7 (HMAC-RIPEMD)'), + +] + + +class HMAC_Module_and_Instance_Test(unittest.TestCase): + """Test the HMAC construction and verify that it does not + matter if you initialize it with a hash module or + with an hash instance. + + See https://bugs.launchpad.net/pycrypto/+bug/1209399 + """ + + def __init__(self, hashmods): + """Initialize the test with a dictionary of hash modules + indexed by their names""" + + unittest.TestCase.__init__(self) + self.hashmods = hashmods + self.description = "" + + def shortDescription(self): + return self.description + + def runTest(self): + key = b"\x90\x91\x92\x93" * 4 + payload = b"\x00" * 100 + + for hashname, hashmod in self.hashmods.items(): + if hashmod is None: + continue + self.description = "Test HMAC in combination with " + hashname + one = HMAC.new(key, payload, hashmod).digest() + two = HMAC.new(key, payload, hashmod.new()).digest() + self.assertEqual(one, two) + + +class HMAC_None(unittest.TestCase): + + def runTest(self): + + key = b"\x04" * 20 + one = HMAC.new(key, b"", SHA1).digest() + two = HMAC.new(key, None, SHA1).digest() + self.assertEqual(one, two) + + +class ByteArrayTests(unittest.TestCase): + + def runTest(self): + + key = b"0" * 16 + data = b"\x00\x01\x02" + + # Data and key can be a bytearray (during initialization) + key_ba = bytearray(key) + data_ba = bytearray(data) + + h1 = HMAC.new(key, data) + h2 = HMAC.new(key_ba, data_ba) + key_ba[:1] = b'\xFF' + data_ba[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a bytearray (during operation) + key_ba = bytearray(key) + data_ba = bytearray(data) + + h1 = HMAC.new(key) + h2 = HMAC.new(key) + h1.update(data) + h2.update(data_ba) + data_ba[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + +class MemoryViewTests(unittest.TestCase): + + def runTest(self): + + key = b"0" * 16 + data = b"\x00\x01\x02" + + def get_mv_ro(data): + return memoryview(data) + + def get_mv_rw(data): + return memoryview(bytearray(data)) + + for get_mv in (get_mv_ro, get_mv_rw): + + # Data and key can be a memoryview (during initialization) + key_mv = get_mv(key) + data_mv = get_mv(data) + + h1 = HMAC.new(key, data) + h2 = HMAC.new(key_mv, data_mv) + if not data_mv.readonly: + key_mv[:1] = b'\xFF' + data_mv[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a memoryview (during operation) + data_mv = get_mv(data) + + h1 = HMAC.new(key) + h2 = HMAC.new(key) + h1.update(data) + h2.update(data_mv) + if not data_mv.readonly: + data_mv[:1] = b'\xFF' + self.assertEqual(h1.digest(), h2.digest()) + + +def get_tests(config={}): + global test_data + import types + from .common import make_mac_tests + + # A test vector contains multiple results, each one for a + # different hash algorithm. + # Here we expand each test vector into multiple ones, + # and add the relevant parameters that will be passed to new() + exp_test_data = [] + for row in test_data: + for modname in row[2].keys(): + t = list(row) + t[2] = row[2][modname] + try: + t.append(dict(digestmod=globals()[modname])) + exp_test_data.append(t) + except AttributeError: + sys.stderr.write("SelfTest: warning: not testing HMAC-%s" + " (not available)\n" % modname) + tests = make_mac_tests(HMAC, "HMAC", exp_test_data) + tests.append(HMAC_Module_and_Instance_Test(hash_modules)) + tests.append(HMAC_None()) + + tests.append(ByteArrayTests()) + import sys + if sys.version[:3] != "2.6": + tests.append(MemoryViewTests()) + + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_MD2.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_MD2.py new file mode 100644 index 000000000..93751687f --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_MD2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/MD2.py: Self-test for the MD2 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.MD2""" + +from Crypto.Util.py3compat import * + +# This is a list of (expected_result, input[, description]) tuples. +test_data = [ + # Test vectors from RFC 1319 + ('8350e5a3e24c153df2275c9f80692773', '', "'' (empty string)"), + ('32ec01ec4a6dac72c0ab96fb34c0b5d1', 'a'), + ('da853b0d3f88d99b30283a69e6ded6bb', 'abc'), + ('ab4f496bfb2a530b219ff33031fe06b0', 'message digest'), + + ('4e8ddff3650292ab5a4108c3aa47940b', 'abcdefghijklmnopqrstuvwxyz', + 'a-z'), + + ('da33def2a42df13975352846c30338cd', + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + 'A-Z, a-z, 0-9'), + + ('d5976f79d83d3a0dc9806c3c66f3efd8', + '1234567890123456789012345678901234567890123456' + + '7890123456789012345678901234567890', + "'1234567890' * 8"), +] + +def get_tests(config={}): + from Crypto.Hash import MD2 + from .common import make_hash_tests + return make_hash_tests(MD2, "MD2", test_data, + digest_size=16, + oid="1.2.840.113549.2.2") + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_MD4.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_MD4.py new file mode 100644 index 000000000..17b48a778 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_MD4.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/MD4.py: Self-test for the MD4 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.MD4""" + +__revision__ = "$Id$" + +from Crypto.Util.py3compat import * + +# This is a list of (expected_result, input[, description]) tuples. +test_data = [ + # Test vectors from RFC 1320 + ('31d6cfe0d16ae931b73c59d7e0c089c0', '', "'' (empty string)"), + ('bde52cb31de33e46245e05fbdbd6fb24', 'a'), + ('a448017aaf21d8525fc10ae87aa6729d', 'abc'), + ('d9130a8164549fe818874806e1c7014b', 'message digest'), + + ('d79e1c308aa5bbcdeea8ed63df412da9', 'abcdefghijklmnopqrstuvwxyz', + 'a-z'), + + ('043f8582f241db351ce627e153e7f0e4', + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + 'A-Z, a-z, 0-9'), + + ('e33b4ddc9c38f2199c3e7b164fcc0536', + '1234567890123456789012345678901234567890123456' + + '7890123456789012345678901234567890', + "'1234567890' * 8"), +] + +def get_tests(config={}): + from Crypto.Hash import MD4 + from .common import make_hash_tests + return make_hash_tests(MD4, "MD4", test_data, + digest_size=16, + oid="1.2.840.113549.2.4") + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_MD5.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_MD5.py new file mode 100644 index 000000000..830ace731 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_MD5.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/MD5.py: Self-test for the MD5 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.MD5""" + +from Crypto.Util.py3compat import * +from Crypto.Hash import MD5 +from binascii import unhexlify +import unittest +from Crypto.SelfTest.st_common import list_test_cases + + +# This is a list of (expected_result, input[, description]) tuples. +test_data = [ + # Test vectors from RFC 1321 + ('d41d8cd98f00b204e9800998ecf8427e', '', "'' (empty string)"), + ('0cc175b9c0f1b6a831c399e269772661', 'a'), + ('900150983cd24fb0d6963f7d28e17f72', 'abc'), + ('f96b697d7cb7938d525a2f31aaf161d0', 'message digest'), + + ('c3fcd3d76192e4007dfb496cca67e13b', 'abcdefghijklmnopqrstuvwxyz', + 'a-z'), + + ('d174ab98d277d9f5a5611c2c9f419d9f', + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + 'A-Z, a-z, 0-9'), + + ('57edf4a22be3c955ac49da2e2107b67a', + '1234567890123456789012345678901234567890123456' + + '7890123456789012345678901234567890', + "'1234567890' * 8"), + + # https://www.cosic.esat.kuleuven.be/nessie/testvectors/hash/md5/Md5-128.unverified.test-vectors + ('57EDF4A22BE3C955AC49DA2E2107B67A', '1234567890' * 8, 'Set 1, vector #7'), + ('7707D6AE4E027C70EEA2A935C2296F21', 'a'*1000000, 'Set 1, vector #8'), +] + + +class Md5IterTest(unittest.TestCase): + + def runTest(self): + message = b("\x00") * 16 + result1 = "4AE71336E44BF9BF79D2752E234818A5".lower() + result2 = "1A83F51285E4D89403D00C46EF8508FE".lower() + + h = MD5.new(message) + message = h.digest() + self.assertEqual(h.hexdigest(), result1) + + for _ in range(99999): + h = MD5.new(message) + message = h.digest() + + self.assertEqual(h.hexdigest(), result2) + + +def get_tests(config={}): + from .common import make_hash_tests + + tests = make_hash_tests(MD5, "MD5", test_data, + digest_size=16, + oid="1.2.840.113549.2.5") + if config.get('slow_tests'): + tests += [ Md5IterTest() ] + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_Poly1305.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_Poly1305.py new file mode 100644 index 000000000..49b9c55c4 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_Poly1305.py @@ -0,0 +1,546 @@ +# +# SelfTest/Hash/test_Poly1305.py: Self-test for the Poly1305 module +# +# =================================================================== +# +# Copyright (c) 2018, Helder Eijs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test suite for Crypto.Hash._Poly1305""" + +import json +import unittest +from binascii import unhexlify, hexlify + +from .common import make_mac_tests +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Hash import Poly1305 +from Crypto.Cipher import AES, ChaCha20 + +from Crypto.Util.py3compat import tobytes +from Crypto.Util.strxor import strxor_c + +# This is a list of (r+s keypair, data, result, description, keywords) tuples. +test_data_basic = [ + ( + "85d6be7857556d337f4452fe42d506a80103808afb0db2fd4abff6af4149f51b", + hexlify(b"Cryptographic Forum Research Group").decode(), + "a8061dc1305136c6c22b8baf0c0127a9", + "RFC7539" + ), + ( + "746869732069732033322d62797465206b657920666f7220506f6c7931333035", + "0000000000000000000000000000000000000000000000000000000000000000", + "49ec78090e481ec6c26b33b91ccc0307", + "https://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-00#section-7 A", + ), + ( + "746869732069732033322d62797465206b657920666f7220506f6c7931333035", + "48656c6c6f20776f726c6421", + "a6f745008f81c916a20dcc74eef2b2f0", + "https://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-00#section-7 B", + ), + ( + "746869732069732033322d62797465206b657920666f7220506f6c7931333035", + "", + "6b657920666f7220506f6c7931333035", + "Generated with pure Python", + ), + ( + "746869732069732033322d62797465206b657920666f7220506f6c7931333035", + "FF", + "f7e4e0ef4c46d106219da3d1bdaeb3ff", + "Generated with pure Python", + ), + ( + "746869732069732033322d62797465206b657920666f7220506f6c7931333035", + "FF00", + "7471eceeb22988fc936da1d6e838b70e", + "Generated with pure Python", + ), + ( + "746869732069732033322d62797465206b657920666f7220506f6c7931333035", + "AA" * 17, + "32590bc07cb2afaccca3f67f122975fe", + "Generated with pure Python", + ), + ( + "00" * 32, + "00" * 64, + "00" * 16, + "RFC7539 A.3 #1", + ), + ( + "0000000000000000000000000000000036e5f6b5c5e06070f0efca96227a863e", + hexlify( + b"Any submission t" + b"o the IETF inten" + b"ded by the Contr" + b"ibutor for publi" + b"cation as all or" + b" part of an IETF" + b" Internet-Draft " + b"or RFC and any s" + b"tatement made wi" + b"thin the context" + b" of an IETF acti" + b"vity is consider" + b"ed an \"IETF Cont" + b"ribution\". Such " + b"statements inclu" + b"de oral statemen" + b"ts in IETF sessi" + b"ons, as well as " + b"written and elec" + b"tronic communica" + b"tions made at an" + b"y time or place," + b" which are addre" + b"ssed to").decode(), + "36e5f6b5c5e06070f0efca96227a863e", + "RFC7539 A.3 #2", + ), + ( + "36e5f6b5c5e06070f0efca96227a863e00000000000000000000000000000000", + hexlify( + b"Any submission t" + b"o the IETF inten" + b"ded by the Contr" + b"ibutor for publi" + b"cation as all or" + b" part of an IETF" + b" Internet-Draft " + b"or RFC and any s" + b"tatement made wi" + b"thin the context" + b" of an IETF acti" + b"vity is consider" + b"ed an \"IETF Cont" + b"ribution\". Such " + b"statements inclu" + b"de oral statemen" + b"ts in IETF sessi" + b"ons, as well as " + b"written and elec" + b"tronic communica" + b"tions made at an" + b"y time or place," + b" which are addre" + b"ssed to").decode(), + "f3477e7cd95417af89a6b8794c310cf0", + "RFC7539 A.3 #3", + ), + ( + "1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0", + "2754776173206272696c6c69672c2061" + "6e642074686520736c6974687920746f" + "7665730a446964206779726520616e64" + "2067696d626c6520696e207468652077" + "6162653a0a416c6c206d696d73792077" + "6572652074686520626f726f676f7665" + "732c0a416e6420746865206d6f6d6520" + "7261746873206f757467726162652e", + "4541669a7eaaee61e708dc7cbcc5eb62", + "RFC7539 A.3 #4", + ), + ( + "02" + "00" * 31, + "FF" * 16, + "03" + "00" * 15, + "RFC7539 A.3 #5", + ), + ( + "02" + "00" * 15 + "FF" * 16, + "02" + "00" * 15, + "03" + "00" * 15, + "RFC7539 A.3 #6", + ), + ( + "01" + "00" * 31, + "FF" * 16 + "F0" + "FF" * 15 + "11" + "00" * 15, + "05" + "00" * 15, + "RFC7539 A.3 #7", + ), + ( + "01" + "00" * 31, + "FF" * 16 + "FB" + "FE" * 15 + "01" * 16, + "00" * 16, + "RFC7539 A.3 #8", + ), + ( + "02" + "00" * 31, + "FD" + "FF" * 15, + "FA" + "FF" * 15, + "RFC7539 A.3 #9", + ), + ( + "01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00" + "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + "E3 35 94 D7 50 5E 43 B9 00 00 00 00 00 00 00 00" + "33 94 D7 50 5E 43 79 CD 01 00 00 00 00 00 00 00" + "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + "01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + "14 00 00 00 00 00 00 00 55 00 00 00 00 00 00 00", + "RFC7539 A.3 #10", + ), + ( + "01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00" + "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + "E3 35 94 D7 50 5E 43 B9 00 00 00 00 00 00 00 00" + "33 94 D7 50 5E 43 79 CD 01 00 00 00 00 00 00 00" + "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + "13" + "00" * 15, + "RFC7539 A.3 #11", + ), +] + +# This is a list of (key(k+r), data, result, description, keywords) tuples. +test_data_aes = [ + ( + "ec074c835580741701425b623235add6851fc40c3467ac0be05cc20404f3f700", + "f3f6", + "f4c633c3044fc145f84f335cb81953de", + "http://cr.yp.to/mac/poly1305-20050329.pdf", + { 'cipher':AES, 'nonce':unhexlify("fb447350c4e868c52ac3275cf9d4327e") } + ), + ( + "75deaa25c09f208e1dc4ce6b5cad3fbfa0f3080000f46400d0c7e9076c834403", + "", + "dd3fab2251f11ac759f0887129cc2ee7", + "http://cr.yp.to/mac/poly1305-20050329.pdf", + { 'cipher':AES, 'nonce':unhexlify("61ee09218d29b0aaed7e154a2c5509cc") } + ), + ( + "6acb5f61a7176dd320c5c1eb2edcdc7448443d0bb0d21109c89a100b5ce2c208", + "663cea190ffb83d89593f3f476b6bc24" + "d7e679107ea26adb8caf6652d0656136", + "0ee1c16bb73f0f4fd19881753c01cdbe", + "http://cr.yp.to/mac/poly1305-20050329.pdf", + { 'cipher':AES, 'nonce':unhexlify("ae212a55399729595dea458bc621ff0e") } + ), + ( + "e1a5668a4d5b66a5f68cc5424ed5982d12976a08c4426d0ce8a82407c4f48207", + "ab0812724a7f1e342742cbed374d94d1" + "36c6b8795d45b3819830f2c04491faf0" + "990c62e48b8018b2c3e4a0fa3134cb67" + "fa83e158c994d961c4cb21095c1bf9", + "5154ad0d2cb26e01274fc51148491f1b", + "http://cr.yp.to/mac/poly1305-20050329.pdf", + { 'cipher':AES, 'nonce':unhexlify("9ae831e743978d3a23527c7128149e3a") } + ), +] + +test_data_chacha20 = [ + ( + "00" * 32, + "FF" * 15, + "13cc5bbadc36b03a5163928f0bcb65aa", + "RFC7539 A.4 #1", + { 'cipher':ChaCha20, 'nonce':unhexlify("00" * 12) } + ), + ( + "00" * 31 + "01", + "FF" * 15, + "0baf33c1d6df211bdd50a6767e98e00a", + "RFC7539 A.4 #2", + { 'cipher':ChaCha20, 'nonce':unhexlify("00" * 11 + "02") } + ), + ( + "1c 92 40 a5 eb 55 d3 8a f3 33 88 86 04 f6 b5 f0" + "47 39 17 c1 40 2b 80 09 9d ca 5c bc 20 70 75 c0", + "FF" * 15, + "e8b4c6db226cd8939e65e02eebf834ce", + "RFC7539 A.4 #3", + { 'cipher':ChaCha20, 'nonce':unhexlify("00" * 11 + "02") } + ), + ( + "1c 92 40 a5 eb 55 d3 8a f3 33 88 86 04 f6 b5 f0" + "47 39 17 c1 40 2b 80 09 9d ca 5c bc 20 70 75 c0", + "f3 33 88 86 00 00 00 00 00 00 4e 91 00 00 00 00" + "64 a0 86 15 75 86 1a f4 60 f0 62 c7 9b e6 43 bd" + "5e 80 5c fd 34 5c f3 89 f1 08 67 0a c7 6c 8c b2" + "4c 6c fc 18 75 5d 43 ee a0 9e e9 4e 38 2d 26 b0" + "bd b7 b7 3c 32 1b 01 00 d4 f0 3b 7f 35 58 94 cf" + "33 2f 83 0e 71 0b 97 ce 98 c8 a8 4a bd 0b 94 81" + "14 ad 17 6e 00 8d 33 bd 60 f9 82 b1 ff 37 c8 55" + "97 97 a0 6e f4 f0 ef 61 c1 86 32 4e 2b 35 06 38" + "36 06 90 7b 6a 7c 02 b0 f9 f6 15 7b 53 c8 67 e4" + "b9 16 6c 76 7b 80 4d 46 a5 9b 52 16 cd e7 a4 e9" + "90 40 c5 a4 04 33 22 5e e2 82 a1 b0 a0 6c 52 3e" + "af 45 34 d7 f8 3f a1 15 5b 00 47 71 8c bc 54 6a" + "0d 07 2b 04 b3 56 4e ea 1b 42 22 73 f5 48 27 1a" + "0b b2 31 60 53 fa 76 99 19 55 eb d6 31 59 43 4e" + "ce bb 4e 46 6d ae 5a 10 73 a6 72 76 27 09 7a 10" + "49 e6 17 d9 1d 36 10 94 fa 68 f0 ff 77 98 71 30" + "30 5b ea ba 2e da 04 df 99 7b 71 4d 6c 6f 2c 29" + "a6 ad 5c b4 02 2b 02 70 9b 00 00 00 00 00 00 00" + "0c 00 00 00 00 00 00 00 09 01 00 00 00 00 00 00", + "ee ad 9d 67 89 0c bb 22 39 23 36 fe a1 85 1f 38", + "RFC7539 A.5", + { 'cipher':ChaCha20, 'nonce':unhexlify("000000000102030405060708") } + ), +] + + +class Poly1305Test_AES(unittest.TestCase): + + key = b'\x11' * 32 + + def test_new_positive(self): + + data = b'r' * 100 + + h1 = Poly1305.new(key=self.key, cipher=AES) + self.assertEqual(h1.digest_size, 16) + self.assertEqual(len(h1.nonce), 16) + d1 = h1.update(data).digest() + self.assertEqual(len(d1), 16) + + h2 = Poly1305.new(key=self.key, nonce=h1.nonce, data=data, cipher=AES) + d2 = h2.digest() + self.assertEqual(h1.nonce, h2.nonce) + self.assertEqual(d1, d2) + + def test_new_negative(self): + from Crypto.Cipher import DES3 + + self.assertRaises(ValueError, Poly1305.new, key=self.key[:31], cipher=AES) + self.assertRaises(ValueError, Poly1305.new, key=self.key, cipher=DES3) + self.assertRaises(ValueError, Poly1305.new, key=self.key, nonce=b'1' * 15, cipher=AES) + self.assertRaises(TypeError, Poly1305.new, key=u"2" * 32, cipher=AES) + self.assertRaises(TypeError, Poly1305.new, key=self.key, data=u"2" * 100, cipher=AES) + + def test_update(self): + pieces = [b"\x0A" * 200, b"\x14" * 300] + h1 = Poly1305.new(key=self.key, cipher=AES) + h1.update(pieces[0]).update(pieces[1]) + d1 = h1.digest() + + h2 = Poly1305.new(key=self.key, cipher=AES, nonce=h1.nonce) + h2.update(pieces[0] + pieces[1]) + d2 = h2.digest() + self.assertEqual(d1, d2) + + def test_update_negative(self): + h = Poly1305.new(key=self.key, cipher=AES) + self.assertRaises(TypeError, h.update, u"string") + + def test_digest(self): + h = Poly1305.new(key=self.key, cipher=AES) + digest = h.digest() + + # hexdigest does not change the state + self.assertEqual(h.digest(), digest) + # digest returns a byte string + self.failUnless(isinstance(digest, type(b"digest"))) + + def test_update_after_digest(self): + msg=b"rrrrttt" + + # Normally, update() cannot be done after digest() + h = Poly1305.new(key=self.key, data=msg[:4], cipher=AES) + h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + + def test_hex_digest(self): + mac = Poly1305.new(key=self.key, cipher=AES) + digest = mac.digest() + hexdigest = mac.hexdigest() + + # hexdigest is equivalent to digest + self.assertEqual(hexlify(digest), tobytes(hexdigest)) + # hexdigest does not change the state + self.assertEqual(mac.hexdigest(), hexdigest) + # hexdigest returns a string + self.failUnless(isinstance(hexdigest, type("digest"))) + + def test_verify(self): + h = Poly1305.new(key=self.key, cipher=AES) + mac = h.digest() + h.verify(mac) + wrong_mac = strxor_c(mac, 255) + self.assertRaises(ValueError, h.verify, wrong_mac) + + def test_hexverify(self): + h = Poly1305.new(key=self.key, cipher=AES) + mac = h.hexdigest() + h.hexverify(mac) + self.assertRaises(ValueError, h.hexverify, "4556") + + def test_bytearray(self): + + data = b"\x00\x01\x02" + h0 = Poly1305.new(key=self.key, data=data, cipher=AES) + d_ref = h0.digest() + + # Data and key can be a bytearray (during initialization) + key_ba = bytearray(self.key) + data_ba = bytearray(data) + + h1 = Poly1305.new(key=self.key, data=data, cipher=AES, nonce=h0.nonce) + h2 = Poly1305.new(key=key_ba, data=data_ba, cipher=AES, nonce=h0.nonce) + key_ba[:1] = b'\xFF' + data_ba[:1] = b'\xEE' + + self.assertEqual(h1.digest(), d_ref) + self.assertEqual(h2.digest(), d_ref) + + # Data can be a bytearray (during operation) + data_ba = bytearray(data) + + h1 = Poly1305.new(key=self.key, cipher=AES) + h2 = Poly1305.new(key=self.key, cipher=AES, nonce=h1.nonce) + h1.update(data) + h2.update(data_ba) + data_ba[:1] = b'\xFF' + + self.assertEqual(h1.digest(), h2.digest()) + + def test_memoryview(self): + + data = b"\x00\x01\x02" + + def get_mv_ro(data): + return memoryview(data) + + def get_mv_rw(data): + return memoryview(bytearray(data)) + + for get_mv in (get_mv_ro, get_mv_rw): + + # Data and key can be a memoryview (during initialization) + key_mv = get_mv(self.key) + data_mv = get_mv(data) + + h1 = Poly1305.new(key=self.key, data=data, cipher=AES) + h2 = Poly1305.new(key=key_mv, data=data_mv, cipher=AES, + nonce=h1.nonce) + if not data_mv.readonly: + data_mv[:1] = b'\xFF' + key_mv[:1] = b'\xFF' + + self.assertEqual(h1.digest(), h2.digest()) + + # Data can be a memoryview (during operation) + data_mv = get_mv(data) + + h1 = Poly1305.new(key=self.key, cipher=AES) + h2 = Poly1305.new(key=self.key, cipher=AES, nonce=h1.nonce) + h1.update(data) + h2.update(data_mv) + if not data_mv.readonly: + data_mv[:1] = b'\xFF' + + self.assertEqual(h1.digest(), h2.digest()) + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + + +class Poly1305Test_ChaCha20(unittest.TestCase): + + key = b'\x11' * 32 + + def test_new_positive(self): + data = b'r' * 100 + + h1 = Poly1305.new(key=self.key, cipher=ChaCha20) + self.assertEqual(h1.digest_size, 16) + self.assertEqual(len(h1.nonce), 12) + + h2 = Poly1305.new(key=self.key, cipher=ChaCha20, nonce = b'8' * 8) + self.assertEqual(len(h2.nonce), 8) + self.assertEqual(h2.nonce, b'8' * 8) + + def test_new_negative(self): + + self.assertRaises(ValueError, Poly1305.new, key=self.key, nonce=b'1' * 7, cipher=ChaCha20) + + +# +# make_mac_tests() expect a new() function with signature new(key, data, +# **kwargs), and we need to adapt Poly1305's, as it only uses keywords +# +class Poly1305_New(object): + + @staticmethod + def new(key, *data, **kwds): + _kwds = dict(kwds) + if len(data) == 1: + _kwds['data'] = data[0] + _kwds['key'] = key + return Poly1305.new(**_kwds) + + +class Poly1305_Basic(object): + + @staticmethod + def new(key, *data, **kwds): + from Crypto.Hash.Poly1305 import Poly1305_MAC + + if len(data) == 1: + msg = data[0] + else: + msg = None + + return Poly1305_MAC(key[:16], key[16:], msg) + + +class Poly1305AES_MC(unittest.TestCase): + + def runTest(self): + tag = unhexlify(b"fb447350c4e868c52ac3275cf9d4327e") + + msg = b'' + for msg_len in range(5000 + 1): + key = tag + strxor_c(tag, 0xFF) + nonce = tag[::-1] + if msg_len > 0: + msg = msg + tobytes(tag[0]) + auth = Poly1305.new(key=key, nonce=nonce, cipher=AES, data=msg) + tag = auth.digest() + + # Compare against output of original DJB's poly1305aes-20050218 + self.assertEqual("CDFA436DDD629C7DC20E1128530BAED2", auth.hexdigest().upper()) + + +def get_tests(config={}): + tests = make_mac_tests(Poly1305_Basic, "Poly1305", test_data_basic) + tests += make_mac_tests(Poly1305_New, "Poly1305", test_data_aes) + tests += make_mac_tests(Poly1305_New, "Poly1305", test_data_chacha20) + tests += [ Poly1305AES_MC() ] + tests += list_test_cases(Poly1305Test_AES) + tests += list_test_cases(Poly1305Test_ChaCha20) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_RIPEMD160.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_RIPEMD160.py new file mode 100644 index 000000000..153c5700f --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_RIPEMD160.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_RIPEMD160.py: Self-test for the RIPEMD-160 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +#"""Self-test suite for Crypto.Hash.RIPEMD160""" + +from Crypto.Util.py3compat import * + +# This is a list of (expected_result, input[, description]) tuples. +test_data = [ + # Test vectors downloaded 2008-09-12 from + # http://homes.esat.kuleuven.be/~bosselae/ripemd160.html + ('9c1185a5c5e9fc54612808977ee8f548b2258d31', '', "'' (empty string)"), + ('0bdc9d2d256b3ee9daae347be6f4dc835a467ffe', 'a'), + ('8eb208f7e05d987a9b044a8e98c6b087f15a0bfc', 'abc'), + ('5d0689ef49d2fae572b881b123a85ffa21595f36', 'message digest'), + + ('f71c27109c692c1b56bbdceb5b9d2865b3708dbc', + 'abcdefghijklmnopqrstuvwxyz', + 'a-z'), + + ('12a053384a9c0c88e405a06c27dcf49ada62eb2b', + 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq', + 'abcdbcd...pnopq'), + + ('b0e20b6e3116640286ed3a87a5713079b21f5189', + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + 'A-Z, a-z, 0-9'), + + ('9b752e45573d4b39f4dbd3323cab82bf63326bfb', + '1234567890' * 8, + "'1234567890' * 8"), + + ('52783243c1697bdbe16d37f97f68f08325dc1528', + 'a' * 10**6, + '"a" * 10**6'), +] + +def get_tests(config={}): + from Crypto.Hash import RIPEMD160 + from .common import make_hash_tests + return make_hash_tests(RIPEMD160, "RIPEMD160", test_data, + digest_size=20, + oid="1.3.36.3.2.1") + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA1.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA1.py new file mode 100644 index 000000000..3afb65495 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA1.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/SHA1.py: Self-test for the SHA-1 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA""" + +from binascii import hexlify + +from Crypto.SelfTest.loader import load_tests + +# Test vectors from various sources +# This is a list of (expected_result, input[, description]) tuples. +test_data_various = [ + # FIPS PUB 180-2, A.1 - "One-Block Message" + ('a9993e364706816aba3e25717850c26c9cd0d89d', 'abc'), + + # FIPS PUB 180-2, A.2 - "Multi-Block Message" + ('84983e441c3bd26ebaae4aa1f95129e5e54670f1', + 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'), + + # FIPS PUB 180-2, A.3 - "Long Message" +# ('34aa973cd4c4daa4f61eeb2bdbad27316534016f', +# 'a' * 10**6, +# '"a" * 10**6'), + + # RFC 3174: Section 7.3, "TEST4" (multiple of 512 bits) + ('dea356a2cddd90c7a7ecedc5ebb563934f460452', + '01234567' * 80, + '"01234567" * 80'), +] + +def get_tests(config={}): + from Crypto.Hash import SHA1 + from .common import make_hash_tests + + tests = [] + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA1"), + "SHA1ShortMsg.rsp", + "KAT SHA-1", + { "len" : lambda x: int(x) } ) + + test_data = test_data_various[:] + for tv in test_vectors: + try: + if tv.startswith('['): + continue + except AttributeError: + pass + if tv.len == 0: + tv.msg = b"" + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + tests = make_hash_tests(SHA1, "SHA1", test_data, + digest_size=20, + oid="1.3.14.3.2.26") + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA224.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA224.py new file mode 100644 index 000000000..cf81ad980 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA224.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA224.py: Self-test for the SHA-224 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA224""" + +# Test vectors from various sources +# This is a list of (expected_result, input[, description]) tuples. +test_data = [ + + # RFC 3874: Section 3.1, "Test Vector #1 + ('23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7', 'abc'), + + # RFC 3874: Section 3.2, "Test Vector #2 + ('75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525', 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'), + + # RFC 3874: Section 3.3, "Test Vector #3 + ('20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67', 'a' * 10**6, "'a' * 10**6"), + + # Examples from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm + ('d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f', ''), + + ('49b08defa65e644cbf8a2dd9270bdededabc741997d1dadd42026d7b', + 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), + + ('58911e7fccf2971a7d07f93162d8bd13568e71aa8fc86fc1fe9043d1', + 'Frank jagt im komplett verwahrlosten Taxi quer durch Bayern'), + +] + +def get_tests(config={}): + from Crypto.Hash import SHA224 + from .common import make_hash_tests + return make_hash_tests(SHA224, "SHA224", test_data, + digest_size=28, + oid='2.16.840.1.101.3.4.2.4') + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA256.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA256.py new file mode 100644 index 000000000..bb99326db --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA256.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA256.py: Self-test for the SHA-256 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA256""" + +import unittest +from Crypto.Util.py3compat import * + +class LargeSHA256Test(unittest.TestCase): + def runTest(self): + """SHA256: 512/520 MiB test""" + from Crypto.Hash import SHA256 + zeros = bchr(0x00) * (1024*1024) + + h = SHA256.new(zeros) + for i in range(511): + h.update(zeros) + + # This test vector is from PyCrypto's old testdata.py file. + self.assertEqual('9acca8e8c22201155389f65abbf6bc9723edc7384ead80503839f49dcc56d767', h.hexdigest()) # 512 MiB + + for i in range(8): + h.update(zeros) + + # This test vector is from PyCrypto's old testdata.py file. + self.assertEqual('abf51ad954b246009dfe5a50ecd582fd5b8f1b8b27f30393853c3ef721e7fa6e', h.hexdigest()) # 520 MiB + +def get_tests(config={}): + # Test vectors from FIPS PUB 180-2 + # This is a list of (expected_result, input[, description]) tuples. + test_data = [ + # FIPS PUB 180-2, B.1 - "One-Block Message" + ('ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad', + 'abc'), + + # FIPS PUB 180-2, B.2 - "Multi-Block Message" + ('248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1', + 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'), + + # FIPS PUB 180-2, B.3 - "Long Message" + ('cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0', + 'a' * 10**6, + '"a" * 10**6'), + + # Test for an old PyCrypto bug. + ('f7fd017a3c721ce7ff03f3552c0813adcc48b7f33f07e5e2ba71e23ea393d103', + 'This message is precisely 55 bytes long, to test a bug.', + 'Length = 55 (mod 64)'), + + # Example from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm + ('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', ''), + + ('d32b568cd1b96d459e7291ebf4b25d007f275c9f13149beeb782fac0716613f8', + 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), + ] + + from Crypto.Hash import SHA256 + from .common import make_hash_tests + tests = make_hash_tests(SHA256, "SHA256", test_data, + digest_size=32, + oid="2.16.840.1.101.3.4.2.1") + + if config.get('slow_tests'): + tests += [LargeSHA256Test()] + + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA384.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA384.py new file mode 100644 index 000000000..c682eb439 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA384.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA.py: Self-test for the SHA-384 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA384""" + +# Test vectors from various sources +# This is a list of (expected_result, input[, description]) tuples. +test_data = [ + + # RFC 4634: Section Page 8.4, "Test 1" + ('cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7', 'abc'), + + # RFC 4634: Section Page 8.4, "Test 2.2" + ('09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039', 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu'), + + # RFC 4634: Section Page 8.4, "Test 3" + ('9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985', 'a' * 10**6, "'a' * 10**6"), + + # Taken from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm + ('38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b', ''), + + # Example from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm + ('71e8383a4cea32d6fd6877495db2ee353542f46fa44bc23100bca48f3366b84e809f0708e81041f427c6d5219a286677', + 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), + +] + +def get_tests(config={}): + from Crypto.Hash import SHA384 + from .common import make_hash_tests + return make_hash_tests(SHA384, "SHA384", test_data, + digest_size=48, + oid='2.16.840.1.101.3.4.2.2') + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_224.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_224.py new file mode 100644 index 000000000..33f9538b4 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_224.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA3_224.py: Self-test for the SHA-3/224 hash function +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA3_224""" + +import unittest +from binascii import hexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Hash import SHA3_224 as SHA3 +from Crypto.Util.py3compat import b + + +class APITest(unittest.TestCase): + + def test_update_after_digest(self): + msg=b("rrrrttt") + + # Normally, update() cannot be done after digest() + h = SHA3.new(data=msg[:4]) + dig1 = h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + dig2 = SHA3.new(data=msg).digest() + + # With the proper flag, it is allowed + h = SHA3.new(data=msg[:4], update_after_digest=True) + self.assertEquals(h.digest(), dig1) + # ... and the subsequent digest applies to the entire message + # up to that point + h.update(msg[4:]) + self.assertEquals(h.digest(), dig2) + + +def get_tests(config={}): + from .common import make_hash_tests + + tests = [] + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA3"), + "ShortMsgKAT_SHA3-224.txt", + "KAT SHA-3 224", + { "len" : lambda x: int(x) } ) + + test_data = [] + for tv in test_vectors: + if tv.len == 0: + tv.msg = b("") + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + tests += make_hash_tests(SHA3, "SHA3_224", test_data, + digest_size=SHA3.digest_size, + oid="2.16.840.1.101.3.4.2.7") + tests += list_test_cases(APITest) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_256.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_256.py new file mode 100644 index 000000000..50fbfeba9 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_256.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA3_256.py: Self-test for the SHA-3/256 hash function +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA3_256""" + +import unittest +from binascii import hexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Hash import SHA3_256 as SHA3 +from Crypto.Util.py3compat import b + + +class APITest(unittest.TestCase): + + def test_update_after_digest(self): + msg=b("rrrrttt") + + # Normally, update() cannot be done after digest() + h = SHA3.new(data=msg[:4]) + dig1 = h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + dig2 = SHA3.new(data=msg).digest() + + # With the proper flag, it is allowed + h = SHA3.new(data=msg[:4], update_after_digest=True) + self.assertEquals(h.digest(), dig1) + # ... and the subsequent digest applies to the entire message + # up to that point + h.update(msg[4:]) + self.assertEquals(h.digest(), dig2) + + +def get_tests(config={}): + from .common import make_hash_tests + + tests = [] + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA3"), + "ShortMsgKAT_SHA3-256.txt", + "KAT SHA-3 256", + { "len" : lambda x: int(x) } ) + + test_data = [] + for tv in test_vectors: + if tv.len == 0: + tv.msg = b("") + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + + tests += make_hash_tests(SHA3, "SHA3_256", test_data, + digest_size=SHA3.digest_size, + oid="2.16.840.1.101.3.4.2.8") + tests += list_test_cases(APITest) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_384.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_384.py new file mode 100644 index 000000000..b574eaeaf --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_384.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA3_384.py: Self-test for the SHA-3/384 hash function +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA3_384""" + +import unittest +from binascii import hexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Hash import SHA3_384 as SHA3 +from Crypto.Util.py3compat import b + + +class APITest(unittest.TestCase): + + def test_update_after_digest(self): + msg=b("rrrrttt") + + # Normally, update() cannot be done after digest() + h = SHA3.new(data=msg[:4]) + dig1 = h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + dig2 = SHA3.new(data=msg).digest() + + # With the proper flag, it is allowed + h = SHA3.new(data=msg[:4], update_after_digest=True) + self.assertEquals(h.digest(), dig1) + # ... and the subsequent digest applies to the entire message + # up to that point + h.update(msg[4:]) + self.assertEquals(h.digest(), dig2) + + +def get_tests(config={}): + from .common import make_hash_tests + + tests = [] + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA3"), + "ShortMsgKAT_SHA3-384.txt", + "KAT SHA-3 384", + { "len" : lambda x: int(x) } ) + + test_data = [] + for tv in test_vectors: + if tv.len == 0: + tv.msg = b("") + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + tests += make_hash_tests(SHA3, "SHA3_384", test_data, + digest_size=SHA3.digest_size, + oid="2.16.840.1.101.3.4.2.9") + tests += list_test_cases(APITest) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_512.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_512.py new file mode 100644 index 000000000..86ce05dd5 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA3_512.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA3_512.py: Self-test for the SHA-3/512 hash function +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA3_512""" + +import unittest +from binascii import hexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Hash import SHA3_512 as SHA3 +from Crypto.Util.py3compat import b + + +class APITest(unittest.TestCase): + + def test_update_after_digest(self): + msg=b("rrrrttt") + + # Normally, update() cannot be done after digest() + h = SHA3.new(data=msg[:4]) + dig1 = h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + dig2 = SHA3.new(data=msg).digest() + + # With the proper flag, it is allowed + h = SHA3.new(data=msg[:4], update_after_digest=True) + self.assertEquals(h.digest(), dig1) + # ... and the subsequent digest applies to the entire message + # up to that point + h.update(msg[4:]) + self.assertEquals(h.digest(), dig2) + + +def get_tests(config={}): + from .common import make_hash_tests + + tests = [] + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA3"), + "ShortMsgKAT_SHA3-512.txt", + "KAT SHA-3 512", + { "len" : lambda x: int(x) } ) + + test_data = [] + for tv in test_vectors: + if tv.len == 0: + tv.msg = b("") + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + tests += make_hash_tests(SHA3, "SHA3_512", test_data, + digest_size=SHA3.digest_size, + oid="2.16.840.1.101.3.4.2.10") + tests += list_test_cases(APITest) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA512.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA512.py new file mode 100644 index 000000000..2d2495215 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHA512.py @@ -0,0 +1,140 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Hash/test_SHA512.py: Self-test for the SHA-512 hash function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHA512""" + +from binascii import hexlify + +from Crypto.Hash import SHA512 +from .common import make_hash_tests +from Crypto.SelfTest.loader import load_tests + +# Test vectors from various sources +# This is a list of (expected_result, input[, description]) tuples. +test_data_512_other = [ + + # RFC 4634: Section Page 8.4, "Test 1" + ('ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f', 'abc'), + + # RFC 4634: Section Page 8.4, "Test 2.1" + ('8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909', 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu'), + + # RFC 4634: Section Page 8.4, "Test 3" + ('e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b', 'a' * 10**6, "'a' * 10**6"), + + # Taken from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm + ('cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e', ''), + + ('af9ed2de700433b803240a552b41b5a472a6ef3fe1431a722b2063c75e9f07451f67a28e37d09cde769424c96aea6f8971389db9e1993d6c565c3c71b855723c', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), +] + + +def get_tests_SHA512(): + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA2"), + "SHA512ShortMsg.rsp", + "KAT SHA-512", + { "len" : lambda x: int(x) } ) + + test_data = test_data_512_other[:] + for tv in test_vectors: + try: + if tv.startswith('['): + continue + except AttributeError: + pass + if tv.len == 0: + tv.msg = b"" + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + tests = make_hash_tests(SHA512, "SHA512", test_data, + digest_size=64, + oid="2.16.840.1.101.3.4.2.3") + return tests + + +def get_tests_SHA512_224(): + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA2"), + "SHA512_224ShortMsg.rsp", + "KAT SHA-512/224", + { "len" : lambda x: int(x) } ) + + test_data = [] + for tv in test_vectors: + try: + if tv.startswith('['): + continue + except AttributeError: + pass + if tv.len == 0: + tv.msg = b"" + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + tests = make_hash_tests(SHA512, "SHA512/224", test_data, + digest_size=28, + oid="2.16.840.1.101.3.4.2.5", + extra_params={ "truncate" : "224" }) + return tests + + +def get_tests_SHA512_256(): + + test_vectors = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA2"), + "SHA512_256ShortMsg.rsp", + "KAT SHA-512/256", + { "len" : lambda x: int(x) } ) + + test_data = [] + for tv in test_vectors: + try: + if tv.startswith('['): + continue + except AttributeError: + pass + if tv.len == 0: + tv.msg = b"" + test_data.append((hexlify(tv.md), tv.msg, tv.desc)) + + tests = make_hash_tests(SHA512, "SHA512/256", test_data, + digest_size=32, + oid="2.16.840.1.101.3.4.2.6", + extra_params={ "truncate" : "256" }) + return tests + + +def get_tests(config={}): + + tests = [] + tests += get_tests_SHA512() + tests += get_tests_SHA512_224() + tests += get_tests_SHA512_256() + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_SHAKE.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHAKE.py new file mode 100644 index 000000000..0da60563c --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_SHAKE.py @@ -0,0 +1,143 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.SHAKE128 and SHAKE256""" + +import unittest +from binascii import hexlify, unhexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Hash import SHAKE128, SHAKE256 +from Crypto.Util.py3compat import b, bchr, bord, tobytes + +class SHAKETest(unittest.TestCase): + + def test_new_positive(self): + + xof1 = self.shake.new() + xof2 = self.shake.new(data=b("90")) + xof3 = self.shake.new().update(b("90")) + + self.assertNotEqual(xof1.read(10), xof2.read(10)) + xof3.read(10) + self.assertEqual(xof2.read(10), xof3.read(10)) + + def test_update(self): + pieces = [bchr(10) * 200, bchr(20) * 300] + h = self.shake.new() + h.update(pieces[0]).update(pieces[1]) + digest = h.read(10) + h = self.shake.new() + h.update(pieces[0] + pieces[1]) + self.assertEqual(h.read(10), digest) + + def test_update_negative(self): + h = self.shake.new() + self.assertRaises(TypeError, h.update, u"string") + + def test_digest(self): + h = self.shake.new() + digest = h.read(90) + + # read returns a byte string of the right length + self.failUnless(isinstance(digest, type(b("digest")))) + self.assertEqual(len(digest), 90) + + def test_update_after_read(self): + mac = self.shake.new() + mac.update(b("rrrr")) + mac.read(90) + self.assertRaises(TypeError, mac.update, b("ttt")) + + +class SHAKE128Test(SHAKETest): + shake = SHAKE128 + + +class SHAKE256Test(SHAKETest): + shake = SHAKE256 + + +class SHAKEVectors(unittest.TestCase): + pass + + +test_vectors_128 = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA3"), + "ShortMsgKAT_SHAKE128.txt", + "Short Messages KAT SHAKE128", + { "len" : lambda x: int(x) } ) + +for idx, tv in enumerate(test_vectors_128): + if tv.len == 0: + data = b("") + else: + data = tobytes(tv.msg) + + def new_test(self, data=data, result=tv.md): + hobj = SHAKE128.new(data=data) + digest = hobj.read(len(result)) + self.assertEqual(digest, result) + + setattr(SHAKEVectors, "test_128_%d" % idx, new_test) + + +test_vectors_256 = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "SHA3"), + "ShortMsgKAT_SHAKE256.txt", + "Short Messages KAT SHAKE256", + { "len" : lambda x: int(x) } ) + +for idx, tv in enumerate(test_vectors_256): + if tv.len == 0: + data = b("") + else: + data = tobytes(tv.msg) + + def new_test(self, data=data, result=tv.md): + hobj = SHAKE256.new(data=data) + digest = hobj.read(len(result)) + self.assertEqual(digest, result) + + setattr(SHAKEVectors, "test_256_%d" % idx, new_test) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(SHAKE128Test) + tests += list_test_cases(SHAKE256Test) + tests += list_test_cases(SHAKEVectors) + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_keccak.py b/lib27/site-packages/Crypto/SelfTest/Hash/test_keccak.py new file mode 100644 index 000000000..a32f845ea --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_keccak.py @@ -0,0 +1,250 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test suite for Crypto.Hash.keccak""" + +import unittest +from binascii import hexlify, unhexlify + +from Crypto.SelfTest.loader import load_tests +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Hash import keccak +from Crypto.Util.py3compat import b, tobytes, bchr + +class KeccakTest(unittest.TestCase): + + def test_new_positive(self): + + for digest_bits in (224, 256, 384, 512): + hobj = keccak.new(digest_bits=digest_bits) + self.assertEqual(hobj.digest_size, digest_bits // 8) + + hobj2 = hobj.new() + self.assertEqual(hobj2.digest_size, digest_bits // 8) + + for digest_bytes in (28, 32, 48, 64): + hobj = keccak.new(digest_bytes=digest_bytes) + self.assertEqual(hobj.digest_size, digest_bytes) + + hobj2 = hobj.new() + self.assertEqual(hobj2.digest_size, digest_bytes) + + def test_new_positive2(self): + + digest1 = keccak.new(data=b("\x90"), digest_bytes=64).digest() + digest2 = keccak.new(digest_bytes=64).update(b("\x90")).digest() + self.assertEqual(digest1, digest2) + + def test_new_negative(self): + + # keccak.new needs digest size + self.assertRaises(TypeError, keccak.new) + + h = keccak.new(digest_bits=512) + + # Either bits or bytes can be specified + self.assertRaises(TypeError, keccak.new, + digest_bytes=64, + digest_bits=512) + + # Range + self.assertRaises(ValueError, keccak.new, digest_bytes=0) + self.assertRaises(ValueError, keccak.new, digest_bytes=1) + self.assertRaises(ValueError, keccak.new, digest_bytes=65) + self.assertRaises(ValueError, keccak.new, digest_bits=0) + self.assertRaises(ValueError, keccak.new, digest_bits=1) + self.assertRaises(ValueError, keccak.new, digest_bits=513) + + def test_update(self): + pieces = [bchr(10) * 200, bchr(20) * 300] + h = keccak.new(digest_bytes=64) + h.update(pieces[0]).update(pieces[1]) + digest = h.digest() + h = keccak.new(digest_bytes=64) + h.update(pieces[0] + pieces[1]) + self.assertEqual(h.digest(), digest) + + def test_update_negative(self): + h = keccak.new(digest_bytes=64) + self.assertRaises(TypeError, h.update, u"string") + + def test_digest(self): + h = keccak.new(digest_bytes=64) + digest = h.digest() + + # hexdigest does not change the state + self.assertEqual(h.digest(), digest) + # digest returns a byte string + self.failUnless(isinstance(digest, type(b("digest")))) + + def test_hex_digest(self): + mac = keccak.new(digest_bits=512) + digest = mac.digest() + hexdigest = mac.hexdigest() + + # hexdigest is equivalent to digest + self.assertEqual(hexlify(digest), tobytes(hexdigest)) + # hexdigest does not change the state + self.assertEqual(mac.hexdigest(), hexdigest) + # hexdigest returns a string + self.failUnless(isinstance(hexdigest, type("digest"))) + + def test_update_after_digest(self): + msg=b("rrrrttt") + + # Normally, update() cannot be done after digest() + h = keccak.new(digest_bits=512, data=msg[:4]) + dig1 = h.digest() + self.assertRaises(TypeError, h.update, msg[4:]) + dig2 = keccak.new(digest_bits=512, data=msg).digest() + + # With the proper flag, it is allowed + h = keccak.new(digest_bits=512, data=msg[:4], update_after_digest=True) + self.assertEquals(h.digest(), dig1) + # ... and the subsequent digest applies to the entire message + # up to that point + h.update(msg[4:]) + self.assertEquals(h.digest(), dig2) + + +class KeccakVectors(unittest.TestCase): + pass + + # TODO: add ExtremelyLong tests + + +test_vectors_224 = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "ShortMsgKAT_224.txt", + "Short Messages KAT 224", + { "len" : lambda x: int(x) } ) + +test_vectors_224 += load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "LongMsgKAT_224.txt", + "Long Messages KAT 224", + { "len" : lambda x: int(x) } ) + +for idx, tv in enumerate(test_vectors_224): + if tv.len == 0: + data = b("") + else: + data = tobytes(tv.msg) + + def new_test(self, data=data, result=tv.md): + hobj = keccak.new(digest_bits=224, data=data) + self.assertEqual(hobj.digest(), result) + + setattr(KeccakVectors, "test_224_%d" % idx, new_test) + +# --- + +test_vectors_256 = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "ShortMsgKAT_256.txt", + "Short Messages KAT 256", + { "len" : lambda x: int(x) } ) + +test_vectors_256 += load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "LongMsgKAT_256.txt", + "Long Messages KAT 256", + { "len" : lambda x: int(x) } ) + +for idx, tv in enumerate(test_vectors_256): + if tv.len == 0: + data = b("") + else: + data = tobytes(tv.msg) + + def new_test(self, data=data, result=tv.md): + hobj = keccak.new(digest_bits=256, data=data) + self.assertEqual(hobj.digest(), result) + + setattr(KeccakVectors, "test_256_%d" % idx, new_test) + + +# --- + +test_vectors_384 = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "ShortMsgKAT_384.txt", + "Short Messages KAT 384", + { "len" : lambda x: int(x) } ) + +test_vectors_384 += load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "LongMsgKAT_384.txt", + "Long Messages KAT 384", + { "len" : lambda x: int(x) } ) + +for idx, tv in enumerate(test_vectors_384): + if tv.len == 0: + data = b("") + else: + data = tobytes(tv.msg) + + def new_test(self, data=data, result=tv.md): + hobj = keccak.new(digest_bits=384, data=data) + self.assertEqual(hobj.digest(), result) + + setattr(KeccakVectors, "test_384_%d" % idx, new_test) + +# --- + +test_vectors_512 = load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "ShortMsgKAT_512.txt", + "Short Messages KAT 512", + { "len" : lambda x: int(x) } ) + +test_vectors_512 += load_tests(("Crypto", "SelfTest", "Hash", "test_vectors", "keccak"), + "LongMsgKAT_512.txt", + "Long Messages KAT 512", + { "len" : lambda x: int(x) } ) + +for idx, tv in enumerate(test_vectors_512): + if tv.len == 0: + data = b("") + else: + data = tobytes(tv.msg) + + def new_test(self, data=data, result=tv.md): + hobj = keccak.new(digest_bits=512, data=data) + self.assertEqual(hobj.digest(), result) + + setattr(KeccakVectors, "test_512_%d" % idx, new_test) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(KeccakTest) + tests += list_test_cases(KeccakVectors) + return tests + + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/blake2b-test.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/blake2b-test.txt new file mode 100644 index 000000000..bfcfb3fab --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/blake2b-test.txt @@ -0,0 +1,1025 @@ +# Fetched from https://blake2.net/blake2b-test.txt on April 4, 2015 + +in: +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 10ebb67700b1868efb4417987acf4690ae9d972fb7a590c2f02871799aaa4786b5e996e8f0f4eb981fc214b005f42d2ff4233499391653df7aefcbc13fc51568 + +in: 00 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 961f6dd1e4dd30f63901690c512e78e4b45e4742ed197c3c5e45c549fd25f2e4187b0bc9fe30492b16b0d0bc4ef9b0f34c7003fac09a5ef1532e69430234cebd + +in: 0001 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: da2cfbe2d8409a0f38026113884f84b50156371ae304c4430173d08a99d9fb1b983164a3770706d537f49e0c916d9f32b95cc37a95b99d857436f0232c88a965 + +in: 000102 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 33d0825dddf7ada99b0e7e307104ad07ca9cfd9692214f1561356315e784f3e5a17e364ae9dbb14cb2036df932b77f4b292761365fb328de7afdc6d8998f5fc1 + +in: 00010203 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: beaa5a3d08f3807143cf621d95cd690514d0b49efff9c91d24b59241ec0eefa5f60196d407048bba8d2146828ebcb0488d8842fd56bb4f6df8e19c4b4daab8ac + +in: 0001020304 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 098084b51fd13deae5f4320de94a688ee07baea2800486689a8636117b46c1f4c1f6af7f74ae7c857600456a58a3af251dc4723a64cc7c0a5ab6d9cac91c20bb + +in: 000102030405 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 6044540d560853eb1c57df0077dd381094781cdb9073e5b1b3d3f6c7829e12066bbaca96d989a690de72ca3133a83652ba284a6d62942b271ffa2620c9e75b1f + +in: 00010203040506 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7a8cfe9b90f75f7ecb3acc053aaed6193112b6f6a4aeeb3f65d3de541942deb9e2228152a3c4bbbe72fc3b12629528cfbb09fe630f0474339f54abf453e2ed52 + +in: 0001020304050607 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 380beaf6ea7cc9365e270ef0e6f3a64fb902acae51dd5512f84259ad2c91f4bc4108db73192a5bbfb0cbcf71e46c3e21aee1c5e860dc96e8eb0b7b8426e6abe9 + +in: 000102030405060708 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 60fe3c4535e1b59d9a61ea8500bfac41a69dffb1ceadd9aca323e9a625b64da5763bad7226da02b9c8c4f1a5de140ac5a6c1124e4f718ce0b28ea47393aa6637 + +in: 00010203040506070809 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 4fe181f54ad63a2983feaaf77d1e7235c2beb17fa328b6d9505bda327df19fc37f02c4b6f0368ce23147313a8e5738b5fa2a95b29de1c7f8264eb77b69f585cd + +in: 000102030405060708090a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f228773ce3f3a42b5f144d63237a72d99693adb8837d0e112a8a0f8ffff2c362857ac49c11ec740d1500749dac9b1f4548108bf3155794dcc9e4082849e2b85b + +in: 000102030405060708090a0b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 962452a8455cc56c8511317e3b1f3b2c37df75f588e94325fdd77070359cf63a9ae6e930936fdf8e1e08ffca440cfb72c28f06d89a2151d1c46cd5b268ef8563 + +in: 000102030405060708090a0b0c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 43d44bfa18768c59896bf7ed1765cb2d14af8c260266039099b25a603e4ddc5039d6ef3a91847d1088d401c0c7e847781a8a590d33a3c6cb4df0fab1c2f22355 + +in: 000102030405060708090a0b0c0d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: dcffa9d58c2a4ca2cdbb0c7aa4c4c1d45165190089f4e983bb1c2cab4aaeff1fa2b5ee516fecd780540240bf37e56c8bcca7fab980e1e61c9400d8a9a5b14ac6 + +in: 000102030405060708090a0b0c0d0e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 6fbf31b45ab0c0b8dad1c0f5f4061379912dde5aa922099a030b725c73346c524291adef89d2f6fd8dfcda6d07dad811a9314536c2915ed45da34947e83de34e + +in: 000102030405060708090a0b0c0d0e0f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: a0c65bddde8adef57282b04b11e7bc8aab105b99231b750c021f4a735cb1bcfab87553bba3abb0c3e64a0b6955285185a0bd35fb8cfde557329bebb1f629ee93 + +in: 000102030405060708090a0b0c0d0e0f10 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f99d815550558e81eca2f96718aed10d86f3f1cfb675cce06b0eff02f617c5a42c5aa760270f2679da2677c5aeb94f1142277f21c7f79f3c4f0cce4ed8ee62b1 + +in: 000102030405060708090a0b0c0d0e0f1011 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 95391da8fc7b917a2044b3d6f5374e1ca072b41454d572c7356c05fd4bc1e0f40b8bb8b4a9f6bce9be2c4623c399b0dca0dab05cb7281b71a21b0ebcd9e55670 + +in: 000102030405060708090a0b0c0d0e0f101112 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 04b9cd3d20d221c09ac86913d3dc63041989a9a1e694f1e639a3ba7e451840f750c2fc191d56ad61f2e7936bc0ac8e094b60caeed878c18799045402d61ceaf9 + +in: 000102030405060708090a0b0c0d0e0f10111213 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ec0e0ef707e4ed6c0c66f9e089e4954b058030d2dd86398fe84059631f9ee591d9d77375355149178c0cf8f8e7c49ed2a5e4f95488a2247067c208510fadc44c + +in: 000102030405060708090a0b0c0d0e0f1011121314 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 9a37cce273b79c09913677510eaf7688e89b3314d3532fd2764c39de022a2945b5710d13517af8ddc0316624e73bec1ce67df15228302036f330ab0cb4d218dd + +in: 000102030405060708090a0b0c0d0e0f101112131415 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 4cf9bb8fb3d4de8b38b2f262d3c40f46dfe747e8fc0a414c193d9fcf753106ce47a18f172f12e8a2f1c26726545358e5ee28c9e2213a8787aafbc516d2343152 + +in: 000102030405060708090a0b0c0d0e0f10111213141516 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 64e0c63af9c808fd893137129867fd91939d53f2af04be4fa268006100069b2d69daa5c5d8ed7fddcb2a70eeecdf2b105dd46a1e3b7311728f639ab489326bc9 + +in: 000102030405060708090a0b0c0d0e0f1011121314151617 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5e9c93158d659b2def06b0c3c7565045542662d6eee8a96a89b78ade09fe8b3dcc096d4fe48815d88d8f82620156602af541955e1f6ca30dce14e254c326b88f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7775dff889458dd11aef417276853e21335eb88e4dec9cfb4e9edb49820088551a2ca60339f12066101169f0dfe84b098fddb148d9da6b3d613df263889ad64b + +in: 000102030405060708090a0b0c0d0e0f10111213141516171819 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f0d2805afbb91f743951351a6d024f9353a23c7ce1fc2b051b3a8b968c233f46f50f806ecb1568ffaa0b60661e334b21dde04f8fa155ac740eeb42e20b60d764 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 86a2af316e7d7754201b942e275364ac12ea8962ab5bd8d7fb276dc5fbffc8f9a28cae4e4867df6780d9b72524160927c855da5b6078e0b554aa91e31cb9ca1d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 10bdf0caa0802705e706369baf8a3f79d72c0a03a80675a7bbb00be3a45e516424d1ee88efb56f6d5777545ae6e27765c3a8f5e493fc308915638933a1dfee55 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b01781092b1748459e2e4ec178696627bf4ebafebba774ecf018b79a68aeb84917bf0b84bb79d17b743151144cd66b7b33a4b9e52c76c4e112050ff5385b7f0b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c6dbc61dec6eaeac81e3d5f755203c8e220551534a0b2fd105a91889945a638550204f44093dd998c076205dffad703a0e5cd3c7f438a7e634cd59fededb539e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: eba51acffb4cea31db4b8d87e9bf7dd48fe97b0253ae67aa580f9ac4a9d941f2bea518ee286818cc9f633f2a3b9fb68e594b48cdd6d515bf1d52ba6c85a203a7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 86221f3ada52037b72224f105d7999231c5e5534d03da9d9c0a12acb68460cd375daf8e24386286f9668f72326dbf99ba094392437d398e95bb8161d717f8991 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5595e05c13a7ec4dc8f41fb70cb50a71bce17c024ff6de7af618d0cc4e9c32d9570d6d3ea45b86525491030c0d8f2b1836d5778c1ce735c17707df364d054347 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ce0f4f6aca89590a37fe034dd74dd5fa65eb1cbd0a41508aaddc09351a3cea6d18cb2189c54b700c009f4cbf0521c7ea01be61c5ae09cb54f27bc1b44d658c82 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7ee80b06a215a3bca970c77cda8761822bc103d44fa4b33f4d07dcb997e36d55298bceae12241b3fa07fa63be5576068da387b8d5859aeab701369848b176d42 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 940a84b6a84d109aab208c024c6ce9647676ba0aaa11f86dbb7018f9fd2220a6d901a9027f9abcf935372727cbf09ebd61a2a2eeb87653e8ecad1bab85dc8327 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 2020b78264a82d9f4151141adba8d44bf20c5ec062eee9b595a11f9e84901bf148f298e0c9f8777dcdbc7cc4670aac356cc2ad8ccb1629f16f6a76bcefbee760 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d1b897b0e075ba68ab572adf9d9c436663e43eb3d8e62d92fc49c9be214e6f27873fe215a65170e6bea902408a25b49506f47babd07cecf7113ec10c5dd31252 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b14d0c62abfa469a357177e594c10c194243ed2025ab8aa5ad2fa41ad318e0ff48cd5e60bec07b13634a711d2326e488a985f31e31153399e73088efc86a5c55 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 4169c5cc808d2697dc2a82430dc23e3cd356dc70a94566810502b8d655b39abf9e7f902fe717e0389219859e1945df1af6ada42e4ccda55a197b7100a30c30a1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 258a4edb113d66c839c8b1c91f15f35ade609f11cd7f8681a4045b9fef7b0b24c82cda06a5f2067b368825e3914e53d6948ede92efd6e8387fa2e537239b5bee + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 79d2d8696d30f30fb34657761171a11e6c3f1e64cbe7bebee159cb95bfaf812b4f411e2f26d9c421dc2c284a3342d823ec293849e42d1e46b0a4ac1e3c86abaa + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8b9436010dc5dee992ae38aea97f2cd63b946d94fedd2ec9671dcde3bd4ce9564d555c66c15bb2b900df72edb6b891ebcadfeff63c9ea4036a998be7973981e7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c8f68e696ed28242bf997f5b3b34959508e42d613810f1e2a435c96ed2ff560c7022f361a9234b9837feee90bf47922ee0fd5f8ddf823718d86d1e16c6090071 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b02d3eee4860d5868b2c39ce39bfe81011290564dd678c85e8783f29302dfc1399ba95b6b53cd9ebbf400cca1db0ab67e19a325f2d115812d25d00978ad1bca4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7693ea73af3ac4dad21ca0d8da85b3118a7d1c6024cfaf557699868217bc0c2f44a199bc6c0edd519798ba05bd5b1b4484346a47c2cadf6bf30b785cc88b2baf + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: a0e5c1c0031c02e48b7f09a5e896ee9aef2f17fc9e18e997d7f6cac7ae316422c2b1e77984e5f3a73cb45deed5d3f84600105e6ee38f2d090c7d0442ea34c46d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 41daa6adcfdb69f1440c37b596440165c15ada596813e2e22f060fcd551f24dee8e04ba6890387886ceec4a7a0d7fc6b44506392ec3822c0d8c1acfc7d5aebe8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 14d4d40d5984d84c5cf7523b7798b254e275a3a8cc0a1bd06ebc0bee726856acc3cbf516ff667cda2058ad5c3412254460a82c92187041363cc77a4dc215e487 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d0e7a1e2b9a447fee83e2277e9ff8010c2f375ae12fa7aaa8ca5a6317868a26a367a0b69fbc1cf32a55d34eb370663016f3d2110230eba754028a56f54acf57c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e771aa8db5a3e043e8178f39a0857ba04a3f18e4aa05743cf8d222b0b095825350ba422f63382a23d92e4149074e816a36c1cd28284d146267940b31f8818ea2 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: feb4fd6f9e87a56bef398b3284d2bda5b5b0e166583a66b61e538457ff0584872c21a32962b9928ffab58de4af2edd4e15d8b35570523207ff4e2a5aa7754caa + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 462f17bf005fb1c1b9e671779f665209ec2873e3e411f98dabf240a1d5ec3f95ce6796b6fc23fe171903b502023467dec7273ff74879b92967a2a43a5a183d33 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d3338193b64553dbd38d144bea71c5915bb110e2d88180dbc5db364fd6171df317fc7268831b5aef75e4342b2fad8797ba39eddcef80e6ec08159350b1ad696d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e1590d585a3d39f7cb599abd479070966409a6846d4377acf4471d065d5db94129cc9be92573b05ed226be1e9b7cb0cabe87918589f80dadd4ef5ef25a93d28e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f8f3726ac5a26cc80132493a6fedcb0e60760c09cfc84cad178175986819665e76842d7b9fedf76dddebf5d3f56faaad4477587af21606d396ae570d8e719af2 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 30186055c07949948183c850e9a756cc09937e247d9d928e869e20bafc3cd9721719d34e04a0899b92c736084550186886efba2e790d8be6ebf040b209c439a4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f3c4276cb863637712c241c444c5cc1e3554e0fddb174d035819dd83eb700b4ce88df3ab3841ba02085e1a99b4e17310c5341075c0458ba376c95a6818fbb3e2 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 0aa007c4dd9d5832393040a1583c930bca7dc5e77ea53add7e2b3f7c8e231368043520d4a3ef53c969b6bbfd025946f632bd7f765d53c21003b8f983f75e2a6a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 08e9464720533b23a04ec24f7ae8c103145f765387d738777d3d343477fd1c58db052142cab754ea674378e18766c53542f71970171cc4f81694246b717d7564 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d37ff7ad297993e7ec21e0f1b4b5ae719cdc83c5db687527f27516cbffa822888a6810ee5c1ca7bfe3321119be1ab7bfa0a502671c8329494df7ad6f522d440f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: dd9042f6e464dcf86b1262f6accfafbd8cfd902ed3ed89abf78ffa482dbdeeb6969842394c9a1168ae3d481a017842f660002d42447c6b22f7b72f21aae021c9 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: bd965bf31e87d70327536f2a341cebc4768eca275fa05ef98f7f1b71a0351298de006fba73fe6733ed01d75801b4a928e54231b38e38c562b2e33ea1284992fa + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 65676d800617972fbd87e4b9514e1c67402b7a331096d3bfac22f1abb95374abc942f16e9ab0ead33b87c91968a6e509e119ff07787b3ef483e1dcdccf6e3022 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 939fa189699c5d2c81ddd1ffc1fa207c970b6a3685bb29ce1d3e99d42f2f7442da53e95a72907314f4588399a3ff5b0a92beb3f6be2694f9f86ecf2952d5b41c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c516541701863f91005f314108ceece3c643e04fc8c42fd2ff556220e616aaa6a48aeb97a84bad74782e8dff96a1a2fa949339d722edcaa32b57067041df88cc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 987fd6e0d6857c553eaebb3d34970a2c2f6e89a3548f492521722b80a1c21a153892346d2cba6444212d56da9a26e324dccbc0dcde85d4d2ee4399eec5a64e8f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ae56deb1c2328d9c4017706bce6e99d41349053ba9d336d677c4c27d9fd50ae6aee17e853154e1f4fe7672346da2eaa31eea53fcf24a22804f11d03da6abfc2b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 49d6a608c9bde4491870498572ac31aac3fa40938b38a7818f72383eb040ad39532bc06571e13d767e6945ab77c0bdc3b0284253343f9f6c1244ebf2ff0df866 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: da582ad8c5370b4469af862aa6467a2293b2b28bd80ae0e91f425ad3d47249fdf98825cc86f14028c3308c9804c78bfeeeee461444ce243687e1a50522456a1d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243444546 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d5266aa3331194aef852eed86d7b5b2633a0af1c735906f2e13279f14931a9fc3b0eac5ce9245273bd1aa92905abe16278ef7efd47694789a7283b77da3c70f8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 2962734c28252186a9a1111c732ad4de4506d4b4480916303eb7991d659ccda07a9911914bc75c418ab7a4541757ad054796e26797feaf36e9f6ad43f14b35a4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e8b79ec5d06e111bdfafd71e9f5760f00ac8ac5d8bf768f9ff6f08b8f026096b1cc3a4c973333019f1e3553e77da3f98cb9f542e0a90e5f8a940cc58e59844b3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243444546474849 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: dfb320c44f9d41d1efdcc015f08dd5539e526e39c87d509ae6812a969e5431bf4fa7d91ffd03b981e0d544cf72d7b1c0374f8801482e6dea2ef903877eba675e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d88675118fdb55a5fb365ac2af1d217bf526ce1ee9c94b2f0090b2c58a06ca58187d7fe57c7bed9d26fca067b4110eefcd9a0a345de872abe20de368001b0745 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b893f2fc41f7b0dd6e2f6aa2e0370c0cff7df09e3acfcc0e920b6e6fad0ef747c40668417d342b80d2351e8c175f20897a062e9765e6c67b539b6ba8b9170545 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 6c67ec5697accd235c59b486d7b70baeedcbd4aa64ebd4eef3c7eac189561a726250aec4d48cadcafbbe2ce3c16ce2d691a8cce06e8879556d4483ed7165c063 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f1aa2b044f8f0c638a3f362e677b5d891d6fd2ab0765f6ee1e4987de057ead357883d9b405b9d609eea1b869d97fb16d9b51017c553f3b93c0a1e0f1296fedcd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: cbaa259572d4aebfc1917acddc582b9f8dfaa928a198ca7acd0f2aa76a134a90252e6298a65b08186a350d5b7626699f8cb721a3ea5921b753ae3a2dce24ba3a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: fa1549c9796cd4d303dcf452c1fbd5744fd9b9b47003d920b92de34839d07ef2a29ded68f6fc9e6c45e071a2e48bd50c5084e96b657dd0404045a1ddefe282ed + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5cf2ac897ab444dcb5c8d87c495dbdb34e1838b6b629427caa51702ad0f9688525f13bec503a3c3a2c80a65e0b5715e8afab00ffa56ec455a49a1ad30aa24fcd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 9aaf80207bace17bb7ab145757d5696bde32406ef22b44292ef65d4519c3bb2ad41a59b62cc3e94b6fa96d32a7faadae28af7d35097219aa3fd8cda31e40c275 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: af88b163402c86745cb650c2988fb95211b94b03ef290eed9662034241fd51cf398f8073e369354c43eae1052f9b63b08191caa138aa54fea889cc7024236897 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 48fa7d64e1ceee27b9864db5ada4b53d00c9bc7626555813d3cd6730ab3cc06ff342d727905e33171bde6e8476e77fb1720861e94b73a2c538d254746285f430 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051525354 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 0e6fd97a85e904f87bfe85bbeb34f69e1f18105cf4ed4f87aec36c6e8b5f68bd2a6f3dc8a9ecb2b61db4eedb6b2ea10bf9cb0251fb0f8b344abf7f366b6de5ab + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 06622da5787176287fdc8fed440bad187d830099c94e6d04c8e9c954cda70c8bb9e1fc4a6d0baa831b9b78ef6648681a4867a11da93ee36e5e6a37d87fc63f6f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 1da6772b58fabf9c61f68d412c82f182c0236d7d575ef0b58dd22458d643cd1dfc93b03871c316d8430d312995d4197f0874c99172ba004a01ee295abac24e46 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051525354555657 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3cd2d9320b7b1d5fb9aab951a76023fa667be14a9124e394513918a3f44096ae4904ba0ffc150b63bc7ab1eeb9a6e257e5c8f000a70394a5afd842715de15f29 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 04cdc14f7434e0b4be70cb41db4c779a88eaef6accebcb41f2d42fffe7f32a8e281b5c103a27021d0d08362250753cdf70292195a53a48728ceb5844c2d98bab + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 9071b7a8a075d0095b8fb3ae5113785735ab98e2b52faf91d5b89e44aac5b5d4ebbf91223b0ff4c71905da55342e64655d6ef8c89a4768c3f93a6dc0366b5bc8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ebb30240dd96c7bc8d0abe49aa4edcbb4afdc51ff9aaf720d3f9e7fbb0f9c6d6571350501769fc4ebd0b2141247ff400d4fd4be414edf37757bb90a32ac5c65a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8532c58bf3c8015d9d1cbe00eef1f5082f8f3632fbe9f1ed4f9dfb1fa79e8283066d77c44c4af943d76b300364aecbd0648c8a8939bd204123f4b56260422dec + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: fe9846d64f7c7708696f840e2d76cb4408b6595c2f81ec6a28a7f2f20cb88cfe6ac0b9e9b8244f08bd7095c350c1d0842f64fb01bb7f532dfcd47371b0aeeb79 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 28f17ea6fb6c42092dc264257e29746321fb5bdaea9873c2a7fa9d8f53818e899e161bc77dfe8090afd82bf2266c5c1bc930a8d1547624439e662ef695f26f24 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ec6b7d7f030d4850acae3cb615c21dd25206d63e84d1db8d957370737ba0e98467ea0ce274c66199901eaec18a08525715f53bfdb0aacb613d342ebdceeddc3b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b403d3691c03b0d3418df327d5860d34bbfcc4519bfbce36bf33b208385fadb9186bc78a76c489d89fd57e7dc75412d23bcd1dae8470ce9274754bb8585b13c5 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 31fc79738b8772b3f55cd8178813b3b52d0db5a419d30ba9495c4b9da0219fac6df8e7c23a811551a62b827f256ecdb8124ac8a6792ccfecc3b3012722e94463 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: bb2039ec287091bcc9642fc90049e73732e02e577e2862b32216ae9bedcd730c4c284ef3968c368b7d37584f97bd4b4dc6ef6127acfe2e6ae2509124e66c8af4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f53d68d13f45edfcb9bd415e2831e938350d5380d3432278fc1c0c381fcb7c65c82dafe051d8c8b0d44e0974a0e59ec7bf7ed0459f86e96f329fc79752510fd3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8d568c7984f0ecdf7640fbc483b5d8c9f86634f6f43291841b309a350ab9c1137d24066b09da9944bac54d5bb6580d836047aac74ab724b887ebf93d4b32eca9 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c0b65ce5a96ff774c456cac3b5f2c4cd359b4ff53ef93a3da0778be4900d1e8da1601e769e8f1b02d2a2f8c5b9fa10b44f1c186985468feeb008730283a6657d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 4900bba6f5fb103ece8ec96ada13a5c3c85488e05551da6b6b33d988e611ec0fe2e3c2aa48ea6ae8986a3a231b223c5d27cec2eadde91ce07981ee652862d1e4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263646566 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c7f5c37c7285f927f76443414d4357ff789647d7a005a5a787e03c346b57f49f21b64fa9cf4b7e45573e23049017567121a9c3d4b2b73ec5e9413577525db45a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656667 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ec7096330736fdb2d64b5653e7475da746c23a4613a82687a28062d3236364284ac01720ffb406cfe265c0df626a188c9e5963ace5d3d5bb363e32c38c2190a6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 82e744c75f4649ec52b80771a77d475a3bc091989556960e276a5f9ead92a03f718742cdcfeaee5cb85c44af198adc43a4a428f5f0c2ddb0be36059f06d7df73 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263646566676869 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 2834b7a7170f1f5b68559ab78c1050ec21c919740b784a9072f6e5d69f828d70c919c5039fb148e39e2c8a52118378b064ca8d5001cd10a5478387b966715ed6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 16b4ada883f72f853bb7ef253efcab0c3e2161687ad61543a0d2824f91c1f81347d86be709b16996e17f2dd486927b0288ad38d13063c4a9672c39397d3789b6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 78d048f3a69d8b54ae0ed63a573ae350d89f7c6cf1f3688930de899afa037697629b314e5cd303aa62feea72a25bf42b304b6c6bcb27fae21c16d925e1fbdac3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 0f746a48749287ada77a82961f05a4da4abdb7d77b1220f836d09ec814359c0ec0239b8c7b9ff9e02f569d1b301ef67c4612d1de4f730f81c12c40cc063c5caa + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f0fc859d3bd195fbdc2d591e4cdac15179ec0f1dc821c11df1f0c1d26e6260aaa65b79fafacafd7d3ad61e600f250905f5878c87452897647a35b995bcadc3a3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 2620f687e8625f6a412460b42e2cef67634208ce10a0cbd4dff7044a41b7880077e9f8dc3b8d1216d3376a21e015b58fb279b521d83f9388c7382c8505590b9b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 227e3aed8d2cb10b918fcb04f9de3e6d0a57e08476d93759cd7b2ed54a1cbf0239c528fb04bbf288253e601d3bc38b21794afef90b17094a182cac557745e75f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 1a929901b09c25f27d6b35be7b2f1c4745131fdebca7f3e2451926720434e0db6e74fd693ad29b777dc3355c592a361c4873b01133a57c2e3b7075cbdb86f4fc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5fd7968bc2fe34f220b5e3dc5af9571742d73b7d60819f2888b629072b96a9d8ab2d91b82d0a9aaba61bbd39958132fcc4257023d1eca591b3054e2dc81c8200 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: dfcce8cf32870cc6a503eadafc87fd6f78918b9b4d0737db6810be996b5497e7e5cc80e312f61e71ff3e9624436073156403f735f56b0b01845c18f6caf772e6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 02f7ef3a9ce0fff960f67032b296efca3061f4934d690749f2d01c35c81c14f39a67fa350bc8a0359bf1724bffc3bca6d7c7bba4791fd522a3ad353c02ec5aa8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727374 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 64be5c6aba65d594844ae78bb022e5bebe127fd6b6ffa5a13703855ab63b624dcd1a363f99203f632ec386f3ea767fc992e8ed9686586aa27555a8599d5b808f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f78585505c4eaa54a8b5be70a61e735e0ff97af944ddb3001e35d86c4e2199d976104b6ae31750a36a726ed285064f5981b503889fef822fcdc2898dddb7889a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273747576 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e4b5566033869572edfd87479a5bb73c80e8759b91232879d96b1dda36c012076ee5a2ed7ae2de63ef8406a06aea82c188031b560beafb583fb3de9e57952a7e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727374757677 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e1b3e7ed867f6c9484a2a97f7715f25e25294e992e41f6a7c161ffc2adc6daaeb7113102d5e6090287fe6ad94ce5d6b739c6ca240b05c76fb73f25dd024bf935 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 85fd085fdc12a080983df07bd7012b0d402a0f4043fcb2775adf0bad174f9b08d1676e476985785c0a5dcc41dbff6d95ef4d66a3fbdc4a74b82ba52da0512b74 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273747576777879 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: aed8fa764b0fbff821e05233d2f7b0900ec44d826f95e93c343c1bc3ba5a24374b1d616e7e7aba453a0ada5e4fab5382409e0d42ce9c2bc7fb39a99c340c20f0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7ba3b2e297233522eeb343bd3ebcfd835a04007735e87f0ca300cbee6d416565162171581e4020ff4cf176450f1291ea2285cb9ebffe4c56660627685145051c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: de748bcf89ec88084721e16b85f30adb1a6134d664b5843569babc5bbd1a15ca9b61803c901a4fef32965a1749c9f3a4e243e173939dc5a8dc495c671ab52145 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: aaf4d2bdf200a919706d9842dce16c98140d34bc433df320aba9bd429e549aa7a3397652a4d768277786cf993cde2338673ed2e6b66c961fefb82cd20c93338f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c408218968b788bf864f0997e6bc4c3dba68b276e2125a4843296052ff93bf5767b8cdce7131f0876430c1165fec6c4f47adaa4fd8bcfacef463b5d3d0fa61a0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 76d2d819c92bce55fa8e092ab1bf9b9eab237a25267986cacf2b8ee14d214d730dc9a5aa2d7b596e86a1fd8fa0804c77402d2fcd45083688b218b1cdfa0dcbcb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 72065ee4dd91c2d8509fa1fc28a37c7fc9fa7d5b3f8ad3d0d7a25626b57b1b44788d4caf806290425f9890a3a2a35a905ab4b37acfd0da6e4517b2525c9651e4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 64475dfe7600d7171bea0b394e27c9b00d8e74dd1e416a79473682ad3dfdbb706631558055cfc8a40e07bd015a4540dcdea15883cbbf31412df1de1cd4152b91 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 12cd1674a4488a5d7c2b3160d2e2c4b58371bedad793418d6f19c6ee385d70b3e06739369d4df910edb0b0a54cbff43d54544cd37ab3a06cfa0a3ddac8b66c89 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 60756966479dedc6dd4bcff8ea7d1d4ce4d4af2e7b097e32e3763518441147cc12b3c0ee6d2ecabf1198cec92e86a3616fba4f4e872f5825330adbb4c1dee444 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: a7803bcb71bc1d0f4383dde1e0612e04f872b715ad30815c2249cf34abb8b024915cb2fc9f4e7cc4c8cfd45be2d5a91eab0941c7d270e2da4ca4a9f7ac68663a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b84ef6a7229a34a750d9a98ee2529871816b87fbe3bc45b45fa5ae82d5141540211165c3c5d7a7476ba5a4aa06d66476f0d9dc49a3f1ee72c3acabd498967414 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: fae4b6d8efc3f8c8e64d001dabec3a21f544e82714745251b2b4b393f2f43e0da3d403c64db95a2cb6e23ebb7b9e94cdd5ddac54f07c4a61bd3cb10aa6f93b49 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283848586 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 34f7286605a122369540141ded79b8957255da2d4155abbf5a8dbb89c8eb7ede8eeef1daa46dc29d751d045dc3b1d658bb64b80ff8589eddb3824b13da235a6b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3b3b48434be27b9eababba43bf6b35f14b30f6a88dc2e750c358470d6b3aa3c18e47db4017fa55106d8252f016371a00f5f8b070b74ba5f23cffc5511c9f09f0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ba289ebd6562c48c3e10a8ad6ce02e73433d1e93d7c9279d4d60a7e879ee11f441a000f48ed9f7c4ed87a45136d7dccdca482109c78a51062b3ba4044ada2469 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283848586878889 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 022939e2386c5a37049856c850a2bb10a13dfea4212b4c732a8840a9ffa5faf54875c5448816b2785a007da8a8d2bc7d71a54e4e6571f10b600cbdb25d13ede3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e6fec19d89ce8717b1a087024670fe026f6c7cbda11caef959bb2d351bf856f8055d1c0ebdaaa9d1b17886fc2c562b5e99642fc064710c0d3488a02b5ed7f6fd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 94c96f02a8f576aca32ba61c2b206f907285d9299b83ac175c209a8d43d53bfe683dd1d83e7549cb906c28f59ab7c46f8751366a28c39dd5fe2693c9019666c8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 31a0cd215ebd2cb61de5b9edc91e6195e31c59a5648d5c9f737e125b2605708f2e325ab3381c8dce1a3e958886f1ecdc60318f882cfe20a24191352e617b0f21 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 91ab504a522dce78779f4c6c6ba2e6b6db5565c76d3e7e7c920caf7f757ef9db7c8fcf10e57f03379ea9bf75eb59895d96e149800b6aae01db778bb90afbc989 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d85cabc6bd5b1a01a5afd8c6734740da9fd1c1acc6db29bfc8a2e5b668b028b6b3154bfb8703fa3180251d589ad38040ceb707c4bad1b5343cb426b61eaa49c1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d62efbec2ca9c1f8bd66ce8b3f6a898cb3f7566ba6568c618ad1feb2b65b76c3ce1dd20f7395372faf28427f61c9278049cf0140df434f5633048c86b81e0399 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7c8fdc6175439e2c3db15bafa7fb06143a6a23bc90f449e79deef73c3d492a671715c193b6fea9f036050b946069856b897e08c00768f5ee5ddcf70b7cd6d0e0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 58602ee7468e6bc9df21bd51b23c005f72d6cb013f0a1b48cbec5eca299299f97f09f54a9a01483eaeb315a6478bad37ba47ca1347c7c8fc9e6695592c91d723 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 27f5b79ed256b050993d793496edf4807c1d85a7b0a67c9c4fa99860750b0ae66989670a8ffd7856d7ce411599e58c4d77b232a62bef64d15275be46a68235ff + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3957a976b9f1887bf004a8dca942c92d2b37ea52600f25e0c9bc5707d0279c00c6e85a839b0d2d8eb59c51d94788ebe62474a791cadf52cccf20f5070b6573fc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: eaa2376d55380bf772ecca9cb0aa4668c95c707162fa86d518c8ce0ca9bf7362b9f2a0adc3ff59922df921b94567e81e452f6c1a07fc817cebe99604b3505d38 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c1e2c78b6b2734e2480ec550434cb5d613111adcc21d475545c3b1b7e6ff12444476e5c055132e2229dc0f807044bb919b1a5662dd38a9ee65e243a3911aed1a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8ab48713389dd0fcf9f965d3ce66b1e559a1f8c58741d67683cd971354f452e62d0207a65e436c5d5d8f8ee71c6abfe50e669004c302b31a7ea8311d4a916051 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394959697 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 24ce0addaa4c65038bd1b1c0f1452a0b128777aabc94a29df2fd6c7e2f85f8ab9ac7eff516b0e0a825c84a24cfe492eaad0a6308e46dd42fe8333ab971bb30ca + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5154f929ee03045b6b0c0004fa778edee1d139893267cc84825ad7b36c63de32798e4a166d24686561354f63b00709a1364b3c241de3febf0754045897467cd4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596979899 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e74e907920fd87bd5ad636dd11085e50ee70459c443e1ce5809af2bc2eba39f9e6d7128e0e3712c316da06f4705d78a4838e28121d4344a2c79c5e0db307a677 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: bf91a22334bac20f3fd80663b3cd06c4e8802f30e6b59f90d3035cc9798a217ed5a31abbda7fa6842827bdf2a7a1c21f6fcfccbb54c6c52926f32da816269be1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d9d5c74be5121b0bd742f26bffb8c89f89171f3f934913492b0903c271bbe2b3395ef259669bef43b57f7fcc3027db01823f6baee66e4f9fead4d6726c741fce + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 50c8b8cf34cd879f80e2faab3230b0c0e1cc3e9dcadeb1b9d97ab923415dd9a1fe38addd5c11756c67990b256e95ad6d8f9fedce10bf1c90679cde0ecf1be347 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 0a386e7cd5dd9b77a035e09fe6fee2c8ce61b5383c87ea43205059c5e4cd4f4408319bb0a82360f6a58e6c9ce3f487c446063bf813bc6ba535e17fc1826cfc91 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 1f1459cb6b61cbac5f0efe8fc487538f42548987fcd56221cfa7beb22504769e792c45adfb1d6b3d60d7b749c8a75b0bdf14e8ea721b95dca538ca6e25711209 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e58b3836b7d8fedbb50ca5725c6571e74c0785e97821dab8b6298c10e4c079d4a6cdf22f0fedb55032925c16748115f01a105e77e00cee3d07924dc0d8f90659 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b929cc6505f020158672deda56d0db081a2ee34c00c1100029bdf8ea98034fa4bf3e8655ec697fe36f40553c5bb46801644a627d3342f4fc92b61f03290fb381 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 72d353994b49d3e03153929a1e4d4f188ee58ab9e72ee8e512f29bc773913819ce057ddd7002c0433ee0a16114e3d156dd2c4a7e80ee53378b8670f23e33ef56 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c70ef9bfd775d408176737a0736d68517ce1aaad7e81a93c8c1ed967ea214f56c8a377b1763e676615b60f3988241eae6eab9685a5124929d28188f29eab06f7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c230f0802679cb33822ef8b3b21bf7a9a28942092901d7dac3760300831026cf354c9232df3e084d9903130c601f63c1f4a4a4b8106e468cd443bbe5a734f45f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 6f43094cafb5ebf1f7a4937ec50f56a4c9da303cbb55ac1f27f1f1976cd96beda9464f0e7b9c54620b8a9fba983164b8be3578425a024f5fe199c36356b88972 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3745273f4c38225db2337381871a0c6aafd3af9b018c88aa02025850a5dc3a42a1a3e03e56cbf1b0876d63a441f1d2856a39b8801eb5af325201c415d65e97fe + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c50c44cca3ec3edaae779a7e179450ebdda2f97067c690aa6c5a4ac7c30139bb27c0df4db3220e63cb110d64f37ffe078db72653e2daacf93ae3f0a2d1a7eb2e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8aef263e385cbc61e19b28914243262af5afe8726af3ce39a79c27028cf3ecd3f8d2dfd9cfc9ad91b58f6f20778fd5f02894a3d91c7d57d1e4b866a7f364b6be + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 28696141de6e2d9bcb3235578a66166c1448d3e905a1b482d423be4bc5369bc8c74dae0acc9cc123e1d8ddce9f97917e8c019c552da32d39d2219b9abf0fa8c8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 2fb9eb2085830181903a9dafe3db428ee15be7662224efd643371fb25646aee716e531eca69b2bdc8233f1a8081fa43da1500302975a77f42fa592136710e9dc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 66f9a7143f7a3314a669bf2e24bbb35014261d639f495b6c9c1f104fe8e320aca60d4550d69d52edbd5a3cdeb4014ae65b1d87aa770b69ae5c15f4330b0b0ad8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f4c4dd1d594c3565e3e25ca43dad82f62abea4835ed4cd811bcd975e46279828d44d4c62c3679f1b7f7b9dd4571d7b49557347b8c5460cbdc1bef690fb2a08c0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabac +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8f1dc9649c3a84551f8f6e91cac68242a43b1f8f328ee92280257387fa7559aa6db12e4aeadc2d26099178749c6864b357f3f83b2fb3efa8d2a8db056bed6bcc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3139c1a7f97afd1675d460ebbc07f2728aa150df849624511ee04b743ba0a833092f18c12dc91b4dd243f333402f59fe28abdbbbae301e7b659c7a26d5c0f979 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadae +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 06f94a2996158a819fe34c40de3cf0379fd9fb85b3e363ba3926a0e7d960e3f4c2e0c70c7ce0ccb2a64fc29869f6e7ab12bd4d3f14fce943279027e785fb5c29 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c29c399ef3eee8961e87565c1ce263925fc3d0ce267d13e48dd9e732ee67b0f69fad56401b0f10fcaac119201046cca28c5b14abdea3212ae65562f7f138db3d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 4cec4c9df52eef05c3f6faaa9791bc7445937183224ecc37a1e58d0132d35617531d7e795f52af7b1eb9d147de1292d345fe341823f8e6bc1e5badca5c656108 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 898bfbae93b3e18d00697eab7d9704fa36ec339d076131cefdf30edbe8d9cc81c3a80b129659b163a323bab9793d4feed92d54dae966c77529764a09be88db45 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ee9bd0469d3aaf4f14035be48a2c3b84d9b4b1fff1d945e1f1c1d38980a951be197b25fe22c731f20aeacc930ba9c4a1f4762227617ad350fdabb4e80273a0f4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3d4d3113300581cd96acbf091c3d0f3c310138cd6979e6026cde623e2dd1b24d4a8638bed1073344783ad0649cc6305ccec04beb49f31c633088a99b65130267 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 95c0591ad91f921ac7be6d9ce37e0663ed8011c1cfd6d0162a5572e94368bac02024485e6a39854aa46fe38e97d6c6b1947cd272d86b06bb5b2f78b9b68d559d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 227b79ded368153bf46c0a3ca978bfdbef31f3024a5665842468490b0ff748ae04e7832ed4c9f49de9b1706709d623e5c8c15e3caecae8d5e433430ff72f20eb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5d34f3952f0105eef88ae8b64c6ce95ebfade0e02c69b08762a8712d2e4911ad3f941fc4034dc9b2e479fdbcd279b902faf5d838bb2e0c6495d372b5b7029813 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7f939bf8353abce49e77f14f3750af20b7b03902e1a1e7fb6aaf76d0259cd401a83190f15640e74f3e6c5a90e839c7821f6474757f75c7bf9002084ddc7a62dc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 062b61a2f9a33a71d7d0a06119644c70b0716a504de7e5e1be49bd7b86e7ed6817714f9f0fc313d06129597e9a2235ec8521de36f7290a90ccfc1ffa6d0aee29 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f29e01eeae64311eb7f1c6422f946bf7bea36379523e7b2bbaba7d1d34a22d5ea5f1c5a09d5ce1fe682cced9a4798d1a05b46cd72dff5c1b355440b2a2d476bc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ec38cd3bbab3ef35d7cb6d5c914298351d8a9dc97fcee051a8a02f58e3ed6184d0b7810a5615411ab1b95209c3c810114fdeb22452084e77f3f847c6dbaafe16 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c2aef5e0ca43e82641565b8cb943aa8ba53550caef793b6532fafad94b816082f0113a3ea2f63608ab40437ecc0f0229cb8fa224dcf1c478a67d9b64162b92d1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 15f534efff7105cd1c254d074e27d5898b89313b7d366dc2d7d87113fa7d53aae13f6dba487ad8103d5e854c91fdb6e1e74b2ef6d1431769c30767dde067a35c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 89acbca0b169897a0a2714c2df8c95b5b79cb69390142b7d6018bb3e3076b099b79a964152a9d912b1b86412b7e372e9cecad7f25d4cbab8a317be36492a67d7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbe +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e3c0739190ed849c9c962fd9dbb55e207e624fcac1eb417691515499eea8d8267b7e8f1287a63633af5011fde8c4ddf55bfdf722edf88831414f2cfaed59cb9a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8d6cf87c08380d2d1506eee46fd4222d21d8c04e585fbfd08269c98f702833a156326a0724656400ee09351d57b440175e2a5de93cc5f80db6daf83576cf75fa + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: da24bede383666d563eeed37f6319baf20d5c75d1635a6ba5ef4cfa1ac95487e96f8c08af600aab87c986ebad49fc70a58b4890b9c876e091016daf49e1d322e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f9d1d1b1e87ea7ae753a029750cc1cf3d0157d41805e245c5617bb934e732f0ae3180b78e05bfe76c7c3051e3e3ac78b9b50c05142657e1e03215d6ec7bfd0fc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 11b7bc1668032048aa43343de476395e814bbbc223678db951a1b03a021efac948cfbe215f97fe9a72a2f6bc039e3956bfa417c1a9f10d6d7ba5d3d32ff323e5 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b8d9000e4fc2b066edb91afee8e7eb0f24e3a201db8b6793c0608581e628ed0bcc4e5aa6787992a4bcc44e288093e63ee83abd0bc3ec6d0934a674a4da13838a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ce325e294f9b6719d6b61278276ae06a2564c03bb0b783fafe785bdf89c7d5acd83e78756d301b445699024eaeb77b54d477336ec2a4f332f2b3f88765ddb0c3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 29acc30e9603ae2fccf90bf97e6cc463ebe28c1b2f9b4b765e70537c25c702a29dcbfbf14c99c54345ba2b51f17b77b5f15db92bbad8fa95c471f5d070a137cc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3379cbaae562a87b4c0425550ffdd6bfe1203f0d666cc7ea095be407a5dfe61ee91441cd5154b3e53b4f5fb31ad4c7a9ad5c7af4ae679aa51a54003a54ca6b2d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3095a349d245708c7cf550118703d7302c27b60af5d4e67fc978f8a4e60953c7a04f92fcf41aee64321ccb707a895851552b1e37b00bc5e6b72fa5bcef9e3fff + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 07262d738b09321f4dbccec4bb26f48cb0f0ed246ce0b31b9a6e7bc683049f1f3e5545f28ce932dd985c5ab0f43bd6de0770560af329065ed2e49d34624c2cbb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b6405eca8ee3316c87061cc6ec18dba53e6c250c63ba1f3bae9e55dd3498036af08cd272aa24d713c6020d77ab2f3919af1a32f307420618ab97e73953994fb4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9ca +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 7ee682f63148ee45f6e5315da81e5c6e557c2c34641fc509c7a5701088c38a74756168e2cd8d351e88fd1a451f360a01f5b2580f9b5a2e8cfc138f3dd59a3ffc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 1d263c179d6b268f6fa016f3a4f29e943891125ed8593c81256059f5a7b44af2dcb2030d175c00e62ecaf7ee96682aa07ab20a611024a28532b1c25b86657902 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 106d132cbdb4cd2597812846e2bc1bf732fec5f0a5f65dbb39ec4e6dc64ab2ce6d24630d0f15a805c3540025d84afa98e36703c3dbee713e72dde8465bc1be7e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 0e79968226650667a8d862ea8da4891af56a4e3a8b6d1750e394f0dea76d640d85077bcec2cc86886e506751b4f6a5838f7f0b5fef765d9dc90dcdcbaf079f08 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdce +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 521156a82ab0c4e566e5844d5e31ad9aaf144bbd5a464fdca34dbd5717e8ff711d3ffebbfa085d67fe996a34f6d3e4e60b1396bf4b1610c263bdbb834d560816 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 1aba88befc55bc25efbce02db8b9933e46f57661baeabeb21cc2574d2a518a3cba5dc5a38e49713440b25f9c744e75f6b85c9d8f4681f676160f6105357b8406 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5a9949fcb2c473cda968ac1b5d08566dc2d816d960f57e63b898fa701cf8ebd3f59b124d95bfbbedc5f1cf0e17d5eaed0c02c50b69d8a402cabcca4433b51fd4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b0cead09807c672af2eb2b0f06dde46cf5370e15a4096b1a7d7cbb36ec31c205fbefca00b7a4162fa89fb4fb3eb78d79770c23f44e7206664ce3cd931c291e5d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: bb6664931ec97044e45b2ae420ae1c551a8874bc937d08e969399c3964ebdba8346cdd5d09caafe4c28ba7ec788191ceca65ddd6f95f18583e040d0f30d0364d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 65bc770a5faa3792369803683e844b0be7ee96f29f6d6a35568006bd5590f9a4ef639b7a8061c7b0424b66b60ac34af3119905f33a9d8c3ae18382ca9b689900 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: ea9b4dca333336aaf839a45c6eaa48b8cb4c7ddabffea4f643d6357ea6628a480a5b45f2b052c1b07d1fedca918b6f1139d80f74c24510dcbaa4be70eacc1b06 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: e6342fb4a780ad975d0e24bce149989b91d360557e87994f6b457b895575cc02d0c15bad3ce7577f4c63927ff13f3e381ff7e72bdbe745324844a9d27e3f1c01 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3e209c9b33e8e461178ab46b1c64b49a07fb745f1c8bc95fbfb94c6b87c69516651b264ef980937fad41238b91ddc011a5dd777c7efd4494b4b6ecd3a9c22ac0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: fd6a3d5b1875d80486d6e69694a56dbb04a99a4d051f15db2689776ba1c4882e6d462a603b7015dc9f4b7450f05394303b8652cfb404a266962c41bae6e18a94 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 951e27517e6bad9e4195fc8671dee3e7e9be69cee1422cb9fecfce0dba875f7b310b93ee3a3d558f941f635f668ff832d2c1d033c5e2f0997e4c66f147344e02 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8eba2f874f1ae84041903c7c4253c82292530fc8509550bfdc34c95c7e2889d5650b0ad8cb988e5c4894cb87fbfbb19612ea93ccc4c5cad17158b9763464b492 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9da +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 16f712eaa1b7c6354719a8e7dbdfaf55e4063a4d277d947550019b38dfb564830911057d50506136e2394c3b28945cc964967d54e3000c2181626cfb9b73efd2 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c39639e7d5c7fb8cdd0fd3e6a52096039437122f21c78f1679cea9d78a734c56ecbeb28654b4f18e342c331f6f7229ec4b4bc281b2d80a6eb50043f31796c88c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 72d081af99f8a173dcc9a0ac4eb3557405639a29084b54a40172912a2f8a395129d5536f0918e902f9e8fa6000995f4168ddc5f893011be6a0dbc9b8a1a3f5bb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c11aa81e5efd24d5fc27ee586cfd8847fbb0e27601ccece5ecca0198e3c7765393bb74457c7e7a27eb9170350e1fb53857177506be3e762cc0f14d8c3afe9077 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcddde +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c28f2150b452e6c0c424bcde6f8d72007f9310fed7f2f87de0dbb64f4479d6c1441ba66f44b2accee61609177ed340128b407ecec7c64bbe50d63d22d8627727 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f63d88122877ec30b8c8b00d22e89000a966426112bd44166e2f525b769ccbe9b286d437a0129130dde1a86c43e04bedb594e671d98283afe64ce331de9828fd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 348b0532880b88a6614a8d7408c3f913357fbb60e995c60205be9139e74998aede7f4581e42f6b52698f7fa1219708c14498067fd1e09502de83a77dd281150c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 5133dc8bef725359dff59792d85eaf75b7e1dcd1978b01c35b1b85fcebc63388ad99a17b6346a217dc1a9622ebd122ecf6913c4d31a6b52a695b86af00d741a0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 2753c4c0e98ecad806e88780ec27fccd0f5c1ab547f9e4bf1659d192c23aa2cc971b58b6802580baef8adc3b776ef7086b2545c2987f348ee3719cdef258c403 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b1663573ce4b9d8caefc865012f3e39714b9898a5da6ce17c25a6a47931a9ddb9bbe98adaa553beed436e89578455416c2a52a525cf2862b8d1d49a2531b7391 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 64f58bd6bfc856f5e873b2a2956ea0eda0d6db0da39c8c7fc67c9f9feefcff3072cdf9e6ea37f69a44f0c61aa0da3693c2db5b54960c0281a088151db42b11e8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 0764c7be28125d9065c4b98a69d60aede703547c66a12e17e1c618994132f5ef82482c1e3fe3146cc65376cc109f0138ed9a80e49f1f3c7d610d2f2432f20605 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: f748784398a2ff03ebeb07e155e66116a839741a336e32da71ec696001f0ad1b25cd48c69cfca7265eca1dd71904a0ce748ac4124f3571076dfa7116a9cf00e9 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3f0dbc0186bceb6b785ba78d2a2a013c910be157bdaffae81bb6663b1a73722f7f1228795f3ecada87cf6ef0078474af73f31eca0cc200ed975b6893f761cb6d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d4762cd4599876ca75b2b8fe249944dbd27ace741fdab93616cbc6e425460feb51d4e7adcc38180e7fc47c89024a7f56191adb878dfde4ead62223f5a2610efe + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: cd36b3d5b4c91b90fcbba79513cfee1907d8645a162afd0cd4cf4192d4a5f4c892183a8eacdb2b6b6a9d9aa8c11ac1b261b380dbee24ca468f1bfd043c58eefe + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9ea +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 98593452281661a53c48a9d8cd790826c1a1ce567738053d0bee4a91a3d5bd92eefdbabebe3204f2031ca5f781bda99ef5d8ae56e5b04a9e1ecd21b0eb05d3e1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaeb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 771f57dd2775ccdab55921d3e8e30ccf484d61fe1c1b9c2ae819d0fb2a12fab9be70c4a7a138da84e8280435daade5bbe66af0836a154f817fb17f3397e725a3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: c60897c6f828e21f16fbb5f15b323f87b6c8955eabf1d38061f707f608abdd993fac3070633e286cf8339ce295dd352df4b4b40b2f29da1dd50b3a05d079e6bb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebeced +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 8210cd2c2d3b135c2cf07fa0d1433cd771f325d075c6469d9c7f1ba0943cd4ab09808cabf4acb9ce5bb88b498929b4b847f681ad2c490d042db2aec94214b06b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedee +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 1d4edfffd8fd80f7e4107840fa3aa31e32598491e4af7013c197a65b7f36dd3ac4b478456111cd4309d9243510782fa31b7c4c95fa951520d020eb7e5c36e4ef + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeef +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: af8e6e91fab46ce4873e1a50a8ef448cc29121f7f74deef34a71ef89cc00d9274bc6c2454bbb3230d8b2ec94c62b1dec85f3593bfa30ea6f7a44d7c09465a253 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 29fd384ed4906f2d13aa9fe7af905990938bed807f1832454a372ab412eea1f5625a1fcc9ac8343b7c67c5aba6e0b1cc4644654913692c6b39eb9187ceacd3ec + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: a268c7885d9874a51c44dffed8ea53e94f78456e0b2ed99ff5a3924760813826d960a15edbedbb5de5226ba4b074e71b05c55b9756bb79e55c02754c2c7b6c8a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 0cf8545488d56a86817cd7ecb10f7116b7ea530a45b6ea497b6c72c997e09e3d0da8698f46bb006fc977c2cd3d1177463ac9057fdd1662c85d0c126443c10473 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b39614268fdd8781515e2cfebf89b4d5402bab10c226e6344e6b9ae000fb0d6c79cb2f3ec80e80eaeb1980d2f8698916bd2e9f747236655116649cd3ca23a837 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 74bef092fc6f1e5dba3663a3fb003b2a5ba257496536d99f62b9d73f8f9eb3ce9ff3eec709eb883655ec9eb896b9128f2afc89cf7d1ab58a72f4a3bf034d2b4a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 3a988d38d75611f3ef38b8774980b33e573b6c57bee0469ba5eed9b44f29945e7347967fba2c162e1c3be7f310f2f75ee2381e7bfd6b3f0baea8d95dfb1dafb1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 58aedfce6f67ddc85a28c992f1c0bd0969f041e66f1ee88020a125cbfcfebcd61709c9c4eba192c15e69f020d462486019fa8dea0cd7a42921a19d2fe546d43d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 9347bd291473e6b4e368437b8e561e065f649a6d8ada479ad09b1999a8f26b91cf6120fd3bfe014e83f23acfa4c0ad7b3712b2c3c0733270663112ccd9285cd9 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: b32163e7c5dbb5f51fdc11d2eac875efbbcb7e7699090a7e7ff8a8d50795af5d74d9ff98543ef8cdf89ac13d0485278756e0ef00c817745661e1d59fe38e7537 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 1085d78307b1c4b008c57a2e7e5b234658a0a82e4ff1e4aaac72b312fda0fe27d233bc5b10e9cc17fdc7697b540c7d95eb215a19a1a0e20e1abfa126efd568c7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 4e5c734c7dde011d83eac2b7347b373594f92d7091b9ca34cb9c6f39bdf5a8d2f134379e16d822f6522170ccf2ddd55c84b9e6c64fc927ac4cf8dfb2a17701f2 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 695d83bd990a1117b3d0ce06cc888027d12a054c2677fd82f0d4fbfc93575523e7991a5e35a3752e9b70ce62992e268a877744cdd435f5f130869c9a2074b338 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: a6213743568e3b3158b9184301f3690847554c68457cb40fc9a4b8cfd8d4a118c301a07737aeda0f929c68913c5f51c80394f53bff1c3e83b2e40ca97eba9e15 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: d444bfa2362a96df213d070e33fa841f51334e4e76866b8139e8af3bb3398be2dfaddcbc56b9146de9f68118dc5829e74b0c28d7711907b121f9161cb92b69a9 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +hash: 142709d62e28fcccd0af97fad0f8465b971e82201dc51070faa0372aa43e92484be1c1e73ba10906d5d1853db6a4106e0a7bf9800d373d6dee2d46d62ef2a461ok diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/tv1.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/tv1.txt new file mode 100644 index 000000000..89e7ce0aa --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/tv1.txt @@ -0,0 +1,68 @@ +# +# Compute the function h(100) for each digest size from 1 to 64, where: +# h(1) = Hash("") +# h(x) = Hash(h(x-1) + h(x-2) + ... + h(1)) +# +digest: 51 +digest: 75c3 +digest: 27f5ab +digest: ff9a5553 +digest: b348ecc702 +digest: c3b7176f1e2f +digest: 0fb363c714740d +digest: 0199023617a77ba5 +digest: 72e6ac842ed6102c8a +digest: cf98cc4eaf7885eba6f6 +digest: af3a3ca23bd506ced6eb81 +digest: 49075448d196d2479400fca1 +digest: 1942a1186466db1e9dbc1c052f +digest: 75f7a4111fee8349aa964184666f +digest: 62d23bc8055e743a09193ba6374878 +digest: a803a56be406297d2cb20ff09bef3998 +digest: fd4d0c64fc14c76557bb43a2e8963d4c5b +digest: d609cc846e76f73817ea1751913af681b614 +digest: 23488e1ead2411ce0671f5b2a841acb1d14549 +digest: e756cc01e687420dd0010c9f0d707cd7068e8aa0 +digest: 081d29e1523dfd0aeaad4579f7988f462d8fdd8aeb +digest: bbe42b23bf3d5b3505cd346364f9a268b368d9360ef8 +digest: 9002f2fc40e9bfbe682827e143a6e0d1ac5f637369808e +digest: d7428b7557cd38bfc051829af1c86bb64b97a3b800f1c7ab +digest: 37037c60c67c883b680208be5c5d06b14eafa1441f212a7336 +digest: 4a57ba9d80e097432349114d5fe21ae4a5d97caf365ef8011642 +digest: 66123d3202634ecfbaf73d5954181b0b3476de580116b9a660b06c +digest: 72d3449be99a02708bd74486a316c199f33307b2c287e88dc320f8f7 +digest: c7b878df5aa97910e6d2705361c22976d64a32bfaef0435bfdfd9dadd1 +digest: 914255cb7acfdf731b1b382c9aff4245ced383671ce955b9bc040c82d105 +digest: cb1409f26de3d44d9efa58ef0bb899bc09ddba4a8e4b088d0f629cdb9c692c +digest: 28df1518fd6dc91bb3caa93774b34d126cdc9d9252176f31d5d2e1da58ea8511 +digest: aba24453ba25b5acb1c77ac0325ab900faeed2e24abcf75f1a0d28b90ccb0bed68 +digest: 4da40391614f19e6fa6019eeef0322155c5e4b92300d4101723204d55bbbd9964c36 +digest: 10cec3947dc62e2d3f46ef0bfa921f87626aab885be7d4f855359c52a655a551dc0e42 +digest: f76f1f13bef92d1d44705ef1eb433df9bd77f2d7fd67aad90ede9ed0f1c36d553dc57f7d +digest: 39b408a21df152c385285104b3ecdd41eeb9bc7279e272cb3358ecddac4162f53106397989 +digest: 69867a08f4ff4e2579c778d1be28d9fb457de29d2c04c32f788d464b00c6a6bee21ba003f3d0 +digest: b4b3fa409a655b16ec57c32e7bead0547e31072b6094d299e36f5e91a8fc1ff928da973b0c1cca +digest: 1ff502ecdc30c628756e78ae69ab9ec4c1bc203a3355aef7b5d47fa5b492f5a7d7259f58f03c33a9 +digest: 7bbf15cc554c26338ebd7fcc9b80b80a9a5de9d90bdd8d231dd777c90bdbbe79d4f2dba687d8a8d802 +digest: a081a1a75955179492f5058fe0d3647b7184000ec4e37148f6951bc55874b410463c680a2481b10c0de8 +digest: 7aa711ceb50c3b3874670b9d8130116e73e8c5bede5144fa1f98c16ef1e6813c4882e997de56991a2056ec +digest: 6fabf02f1bfb1ae0f3b0f954c398b77341f0964b8d00f9bcba2a911dca0fe5d903a9e584fb2c3934119e1424 +digest: 8a47773706cf3e85cbb5ef44663dd4c10a2e23d0a0c81e6be4038ad337e1733c1e79394f7295a50313d8effa85 +digest: 7b64302c7b763dee4701b0529b06b45f57aec5a5e82b4a466d71d01e46b4a894591531f8fb5580d2fdcc9b0de475 +digest: a018240b278f67e9347d58527cff0496ef6983956fe51c7e3019f48f8033d0112031105549cb830362b597b0032969 +digest: da45711a313d5f89e72e8528c409e166e7cb497f87aa6cbd15e75cc176b3cb633d44ecb8548ed09329ee56218954f452 +digest: d78d8faebdbad5591d847080e65661cccda49d9c599ae1bc1874bf2bf7b8f40e76df5e4579b8d25816d0ce455da23d1699 +digest: 4fdcffd02318f3127ebca7688038e8b05e74aec8df0b58b99ae3a163f7def2bc9b6fc165c90f9a1817e31a5a5527d347e008 +digest: a937e1ba7979658fa6ee30fc7725040e5f3d5d40ff05696c646d6ab50a8f8c59dbd9dba10cb5dfa702408426ee36fafa590583 +digest: 36343ef33aa97f6274723c3e06bbbfb0db772d0697a62a8815d8ccc1ecf0a6f7b93c93ece7e2aa10c18fe880f1f0fcb27678786b +digest: 7baf9917094380fea5938a5eac6545c0630ac1d7ad5fb636aca4d7627143c7a913be058f6c421ddb67bb6436d5a6ade8315d4eaf63 +digest: d65e460d631a27c81d00b86fdb54b815dd06c717172a98de56fc1ef300c8775012e47847023b3e2a25678ea0178144301e73a751013a +digest: 51d3e91fea8e973b1b7432e46886c824d8cfa695f5e3ea335ee9698339b1f67deb0a8e629c1b84249e06abfa6e2a3309e2dc8265738d1f +digest: 6f61300d7cd1c903fee89922ea6415a281c1e16e73b4b2f79cdd9f38ecbb7ff290b44a1ff21b4a633cc744618fb416552b2a89df44a26615 +digest: 217417b8ccddad4517b79162fa7a0dfcda4621048241b98dd90d553d0b94c45cb1b64c3c698f83bad1cdc202704f0fcf320567f76d692e0deb +digest: 2b0d4a7dd11892a35cc2c37ee0d6c836a271ec3bcf30297560dfb53abf3bc7cba527f0bcd591b26360b58a9d72ca171ebd9644b0554f65828647 +digest: 217a9de1b13b5dee2405e08641991a0d4f2e48df17bec54bfdf85201474b904ffb249cfa2e4e08ba148e3cb024e383431422049fcbc749f7f3190b +digest: 55da063022e5089ca8887669bda7b71f07c18ff3f64c06dee2d2f47b529bc9a5f02275ab2a19b4f6f1c9779784532aff6595ff56158f74a974317a0c +digest: b5da5ffc80bfab4c99657f713fa82d12854561aec291afefe95a7d835a313ce38d10d041ec90ec70f106ed36ded1ffd295bf286ada7b799d1be21776b1 +digest: 5470b4809368ba73b17cac5506736c10faef839e386face780142ae921d579855110225eaf1c55dababeb6faba6097e6f4bdc2471c867756c26e88b191ed +digest: 0b44c54a1830d0ff0567c43f89b49540cd9caa76056f4509387673a338c3aaaded723984a7bc6dff76dad7e94aff5c830f6f0b0c7f5af8ad9d5ca909f66412 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/tv2.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/tv2.txt new file mode 100644 index 000000000..127147f70 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2b/tv2.txt @@ -0,0 +1,69 @@ +# +# Compute the function h(100) for each key size from 1 to 64, where: +# h(1) = KeyedHash("") +# h(x) = KeyedHash(h(x-1) + h(x-2) + ... + h(1)) +# where the key is a string of "A"s. +# +digest(1): 6d2c4be21e5fdc57ce6c33c39ef1f19dcad7a3e0747ea1db0d1e5df7b06a90162a4755c95c54b8451e8551473915d0087db4c609fa69e8e475e6efede1215976 +digest(2): c41173aeb0dffc34989d5c3742cfe1085f031b0d5658cc1fbff70916d4aeeed2a1d47d32b58dd27ece8f19e984e1de3a43c11ba13e9025ce69310e56c93afbe3 +digest(3): 4a87688b5b162f4655fcb62c63e8e989cb882b117febf3f4a7fc455ee55bfc7cb0987539fb042ca880dd911a6cc669239407e114eadd6bb90c8d0aafa547ba7c +digest(4): d7195f35464a95a6c38a051e8061bbb1e0280b5b0b540d65e06c6eea5ce156db3b284fb1ba0e16596bb4dcd8a55ac18a6352199075262a063325d691e39aaf5a +digest(5): 00ae23eebcda29537855051ce6d0fb72a5cc7987afb57f6cd1d32d94a72e3543c92dcc8cc12bb11015ac7d4e4166b19f054cd1fd2e53ac27712ecde13592b986 +digest(6): a8f5f76e1c1618f9d5a21444f42ed7f831940d9bf66a430b1c06f3afde6039eeb9d8decaede8496d61812cdb2e6a9002ab6221a73a1d328ca47463326f2c7166 +digest(7): 0500fe01d62b5ce5c8dba9841693bb62fa47afafb81b7eef2f7cdcf5fc12a90fdec2d8573aa2418044ea2a16372b7cd32d44752c1d9a95e9e704076c38139922 +digest(8): 32dcc7ff3c82aa503d3ad1760eb2e4eb299560e35bfb3eb5bd8d3636b776cb76a7f499407435a516c0d123e359d368ac1254bdb40a281aaac9fd211a63d9f039 +digest(9): e3bdc5edbaf8d231b31f7ccc5554e8078bcd069a875d8e53b9cde0aecea4d71e7e25ed1989f69ddc93d0ed2f7049702fe9e4638b1a7daa659c3f12dfbfbd6c2b +digest(10): 8f3ed8857a675881b7dbbf43e6a9d26bde56ca40788f30f2f79e96db75f04550a96dde009c538912ad25590de2b52e4be717fb1342692b751e8533b1d016301f +digest(11): 1bca41704cbabc8111cf3c73692fc0a021928ed49f0d6981af3e87ea83646ab89bf7ad6ec472772697c01e616e7357f59f680a5bcd2414adc4cd8a6f9b1aa004 +digest(12): 8a295c092e1c326e44456517afba77424e924164c2e7e6b0a81eb4fce07ff1ea567112f3f8c51ef364807b71007601f287615ac790c42fef8b33a7ec8edeba26 +digest(13): 032a0ecaedf44d0c239426bfa6d8baec33403986cf9fa9dd43f1589a24eb28e3aa49271c9df83aa2c13192155438712803f1a2ae44c04305c5b7daa0a01c320e +digest(14): e22f59a92601171b166d44f28bf13c04ec97ab3ffcbf5307b888e267d59cd815c0dbcccb5b6af41a57563d2df43f12170cf3bfb21f394a8b8b9efde166dc5170 +digest(15): b163ec9e26b79b3901bcd7a9e9b69dff2914dffa765e6bcc880118a350dc262c541a6a770d37edba33400063b8b45e53aec69f8eae32fef951606eccc14ad888 +digest(16): 1914ffd8610676e02a5508d39718d7da558fc64cc97ee915f77ea7ae866184dced37964b403d2ab0288b0793b46668b2fb4bc5c71ed5e0775d2d4e5a00f9888d +digest(17): 60422858f02dcda1ec5957360a7c54c9453eaab66f348cc10638c7c08d7500e3d17c0d8ab179fd3c3f357c66c924dc0034d47a46cdb73871c1fd74c4723ec370 +digest(18): 6a7ce550945ac013a2d8fc627510609ac711b3d9f1020714f5de0aa1c33a5f1a518435e6acf25b093252d74dba8551affc2d90cde5d0ccf042d7e5ac7d5991ee +digest(19): 2b12f9a74e6d85970681d99c5db552a4f648cdd277daa1914cc5371e81cccbc141c46301cd5d358eaece34111e2e23ae6186714925e14169b5fc5b5fe32c3165 +digest(20): 347d2941dc4f0df28a06114aacb03a8d40a1943164593a186d56aa6196e7830d9999afd96f8369ac90244746a88dcf82ea7969c670555ec2bcb5da522930eb51 +digest(21): d833c9441ab10f275463cf375feaf53459dcde287e75f60e9674fe7f4eeb2079ede3720e3cd29c048d420a397e2f6b7dd6cfcfb726f87075dfbfff3a5585f4ba +digest(22): 26249f2125c05b031f4d44fa562ee4b98c92755371683843d0aa3d824bc02922dc7cbadaa792aecd6ac76962658075c074b6543d14008de2d0951b47b969cdf0 +digest(23): 7c9e08f2667c5a785cdec55ced8c8fa58af041b1787d57d2fb044cdd7f3aac468a0d9a36d636485a7646171988fb67af8f18ecebf5b09df7b147bc07e34ab241 +digest(24): 0f2e05da4c18503b1bc0ef40ba90b079cb3473bde9e3ba268dfaa1a072588c5d0dffc2a1105412aa8f1712ee6f0be48b7d000e85b736d5decd4c20517631b258 +digest(25): c1369223639d94bc943e6752855f6705f9fcfba4df23dd73f3756c0babd942bcc6f96f229401246d6403ea24325f00fe0a1bcb8622edef58832dbb174d491ef2 +digest(26): c413792054d731a46c1a4e563a1227d2a207b957f952e3ac442582505f532f8e5f268922135d48ee20af00437e46f672d03414bd299ba13a4bb286dc4558f2f0 +digest(27): 81d6e263e54fb98aed83a6eeee61eaa1d766d6a2ead7b5225334ab4c1aae8ae3b9a6409be2d0d57f4964775e7fd7bc92e60501a4e2bdfb98e79a181e8fd683a2 +digest(28): fc066e9c68df988509a90f77bdd4bcb70c87e9a2572fbee38617677e493cb7de8ca83c7726d95af682dea4c11b8cb3400a8f70e993b4386311deb5ba47a262be +digest(29): 4873e0093bb37d17a5ff145b647f11356d95262a12d6bd35d520e89f43ade126957d17a5b28b3e73137a32fac9ff37cd994687ac0eb0241cce80547e2371e375 +digest(30): be997ad1b05763051960ecd6d81866f4f3b709b1488d7dddea49bcd21836562d9f6cfffdf7eba42f53bd118d04a655f21c1f88e643be9fa23ed66be9417ce882 +digest(31): 473e15c4efc95a96f0157c0409f7ea286d7e87174fe858d5b010cbe149423c8aa2aa890372067b92d2885408b5b6b974540eb8b359872259928cab24760bb2d7 +digest(32): 1aaa976bbd4461d7ba13d32535b3f22a5d9d5322f08cb2097b74830cfd0267cefcad67626251e3ed7a3d7e72a293c69295367e0e918ff2fa6fb47c0d58be92c4 +digest(33): a7eb73a1f83d10df53ccf57709a26a66d6ec96077f9d8252ff323fe6380c0008baecbbb4e6d6b79eb3e46644a2839d04e3dbac317b95b04265e9c72f31fcdb2b +digest(34): 70c5ec44061bac63efd7c029e499556e76f31535589f228cd4beecffa2c711c0ccd094ba3f1582cf7a31a8ee6fe65ce2dd161a4d2229c9a9a1e69f412717aba3 +digest(35): 05bc616695efb2537b94b8bd141460f888f4a65a1029619cc530df57ee1f9570acb88a7f7611e2cf8317a9ed11c4b94d1d80aeccdc5af114799628b5ea19ecf0 +digest(36): 9c8843c069659ed9029bbde010a757ddf9b70a68ef6c79e5b9768aa2d2bf534aeb13754b00a98fd30fd3b87a2e7a498e46cf185f2cc0616d9174a75769721021 +digest(37): 0af7248988065e7e0ef57128c62b1832d96b5524014fd88a552247526f6d7d1f68f5e2faab6e0708424d1e9314c6c78290ac83a5a6f5f590befe42188e67acd7 +digest(38): 9cd6db641ae6d657a06b1b8accec73077813a126b4e2752888beab4c49666d15e9ea5b3b532bda49219cee1288b95ec54bcb10318703078b108cd6a52ea219f5 +digest(39): 79b20e1fc0444fe0560aa76b419f169213964e0bd47ba3a4810b2c6bbcc832a4fe981e2793b4f189393726e9580099ece6210579ab4e0ab36ee44d2501e89a5c +digest(40): 6175fb4e09be6f57be35d463bc08701a2827740f2167fe14c30f056c3c72c4a33003af138a3bd59c3adf27e02be024dc65095447c496b879e9bb752ee0417cf2 +digest(41): d9310b3e4d6aec39b68bfcdd9342f64827533c8c6578fd4f458f2615d980737503985ec6a840500699bc0e82ef26d44a1d587a215cf5d2f1895363c812e6e8d1 +digest(42): 373daa436489d4a3fb712dbb35d1d88b17605c4c2696ac3633e5dd06754bddc071cf5a140c926da07fb2068583614cbabcbd871307db6c0e08c671abfde443e8 +digest(43): 6c24454d76da036c03b6a656d5a0a97ef1db198236ac6bfa0098de662f90d684ec2e60ece65a65875b734a179d36bc18b3aea96163f21d0786eeafdd5b942a9a +digest(44): 8a741354aad2690776fb1b90061601a72cee66605ff8428598ff4ee7d3f73dec04dfd790e2fcb807a666651ae5d1f0737af5e86eaf393c42e86691cc4689b8ca +digest(45): af9a093a49dc735678a8ab57af74db580cffcb0684ee78c8afc6ed0aff0a1a6c491f9f94b64e0fd73e5ebc7fbba9045c41c69f9c31f5ccedc1ffc318bfe82bc3 +digest(46): 523248eae8ca0c1950caa0bd7b662ca2c6f478bf2783a140eedc0b3bc6cef02c4c0ab2fc75e09070c99dd78c0eef8dbca893d0e2894e95b25bb994dcd45b9da6 +digest(47): e7aeb4fa6d2cdadecc310e22552a0fb2643bc9fe44d2ed07069019578e4a443da1c0b03e2c176bd0715378417853452878aa04438cf6c18162168b5ffc0fa419 +digest(48): 28847291119df6b91ff9afd6bf92766e4582ea3972f618061f10ad1353c79cd427447160c2659cc89a49710573080384d84005401c4d4a3a1a6f4798f71e027d +digest(49): b7085854ed8531fc1ed085e2e3fda77a24439165bed51494ec67bdabc67f3b6477b63b37150e741d78514041d9712a0d0dd36deb88aaf8916e74a8b8fef263a6 +digest(50): e3dcbd233954c82698da64f52963c94f9686e365f72620e8e0c28fe0099676cff442a9b4cb2db7670409cfb9e526731d7d5ec75aafd4823a69ae1ae927cbdab2 +digest(51): ff44a8a6243631deac23534016a88aa8594a0df46548f9d0a159c23a724b229425f840e3bc733b5ec6eac9615f416b3e66887daeebec1f96441bf44c656fb9a3 +digest(52): 7ece8bde923403edd531e0d3ccdcbd83f6586cd63701a49652ec75bc08a8c96d356beec2a49a3128b1b2840eb56c305b01db18ef9afaf01b5c3860736a1205e9 +digest(53): c3ccd4682d512f2530d2c03c60eadd4b7310fc91b5d0b2487a58a15d68ccb89cf8283904d2d22b59b8d38d04f989147220f8c47e59bf8af310bba91b0eb4fe94 +digest(54): 0eb929786f1f671cc3979b9c1e4aa728e4bee4aeb138eeecbc69c9a15b4b195eed8b3d7b52f27661424f417e8af634cc80add01a79b5daf557df681c2193a97a +digest(55): fe3f81f3a1eadd6723f5bd4682adf2ebda87c23d597cf95c7419a421047102d896af325984eb25b612e19f1a6aa788835115a929a77d6215d56850de9308e35c +digest(56): 8a5a8b0b8d7489353af63c34883fda176f3512d866c93f1d2369cd21baceece1325eab25323937af579da35ef59c07bbd554410f13f5d86a633a0327dc8b4382 +digest(57): 90ec0c500a90e4e6c475acc1c589c42cecbce85a7bb16fc49eab8031f8395bb40be01294cd6b5dc2f5f2665bf02fdede3ce3fdbf6425409988448d08da87e0ac +digest(58): 50b48141e3b4b538cf1b3ee85c592a029b440bff8b21a0d76e100b8023ef0ddd6bb615c3e80fc783ed6f45e9848ea543a91bf68b7ab43a12aa36a95073b41228 +digest(59): 4a9313459780228b54caaabb1e10739d07a8e9a43389efdc70fd3d8e572436d10a03a079be853326fe6f9b627a558bb59a970cf0203ef0b62e7fdbd634129464 +digest(60): 9cb773f4f8f3a8761049135966e52b91a6c4b70af89eeddb21c3d8790e726388017fc0d7087993f99cd0247f3bf9073b2f72c6f92614685b0963f5a72c7be8d7 +digest(61): 29f2d034dade97f1585b190aa5c7e328b6bf97426f88beeb44debc957f11bdf0d960ebe98fa45f0e808849ce0b5e4a5fa5d07ca1a19c4b38b08665e96b8fe7e1 +digest(62): 27445935e842e84cd36ff4647c33b5156c13d201722c3510aff3347f27ea76eb43a75ae110e1fce66275a90bd1499f6fa3a77a684b3ee7e66bd5fb3b8c07fb03 +digest(63): dd8aa2af8b71c13ee5b700894fc77edf6154374c89f59bb905939a7554fa330c6013f82a2721404e371093866ef4fb614f685544a2b1bbfbe04ed0fe7241a823 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/blake2s-test.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/blake2s-test.txt new file mode 100644 index 000000000..e73582222 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/blake2s-test.txt @@ -0,0 +1,1025 @@ +# Fetched from https://blake2.net/blake2s-test.txt on April 12, 2015 + +in: +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 48a8997da407876b3d79c0d92325ad3b89cbb754d86ab71aee047ad345fd2c49 + +in: 00 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 40d15fee7c328830166ac3f918650f807e7e01e177258cdc0a39b11f598066f1 + +in: 0001 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 6bb71300644cd3991b26ccd4d274acd1adeab8b1d7914546c1198bbe9fc9d803 + +in: 000102 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1d220dbe2ee134661fdf6d9e74b41704710556f2f6e5a091b227697445dbea6b + +in: 00010203 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f6c3fbadb4cc687a0064a5be6e791bec63b868ad62fba61b3757ef9ca52e05b2 + +in: 0001020304 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 49c1f21188dfd769aea0e911dd6b41f14dab109d2b85977aa3088b5c707e8598 + +in: 000102030405 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: fdd8993dcd43f696d44f3cea0ff35345234ec8ee083eb3cada017c7f78c17143 + +in: 00010203040506 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e6c8125637438d0905b749f46560ac89fd471cf8692e28fab982f73f019b83a9 + +in: 0001020304050607 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 19fc8ca6979d60e6edd3b4541e2f967ced740df6ec1eaebbfe813832e96b2974 + +in: 000102030405060708 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a6ad777ce881b52bb5a4421ab6cdd2dfba13e963652d4d6d122aee46548c14a7 + +in: 00010203040506070809 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f5c4b2ba1a00781b13aba0425242c69cb1552f3f71a9a3bb22b4a6b4277b46dd + +in: 000102030405060708090a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e33c4c9bd0cc7e45c80e65c77fa5997fec7002738541509e68a9423891e822a3 + +in: 000102030405060708090a0b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: fba16169b2c3ee105be6e1e650e5cbf40746b6753d036ab55179014ad7ef6651 + +in: 000102030405060708090a0b0c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f5c4bec6d62fc608bf41cc115f16d61c7efd3ff6c65692bbe0afffb1fede7475 + +in: 000102030405060708090a0b0c0d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a4862e76db847f05ba17ede5da4e7f91b5925cf1ad4ba12732c3995742a5cd6e + +in: 000102030405060708090a0b0c0d0e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 65f4b860cd15b38ef814a1a804314a55be953caa65fd758ad989ff34a41c1eea + +in: 000102030405060708090a0b0c0d0e0f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 19ba234f0a4f38637d1839f9d9f76ad91c8522307143c97d5f93f69274cec9a7 + +in: 000102030405060708090a0b0c0d0e0f10 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1a67186ca4a5cb8e65fca0e2ecbc5ddc14ae381bb8bffeb9e0a103449e3ef03c + +in: 000102030405060708090a0b0c0d0e0f1011 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: afbea317b5a2e89c0bd90ccf5d7fd0ed57fe585e4be3271b0a6bf0f5786b0f26 + +in: 000102030405060708090a0b0c0d0e0f101112 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f1b01558ce541262f5ec34299d6fb4090009e3434be2f49105cf46af4d2d4124 + +in: 000102030405060708090a0b0c0d0e0f10111213 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 13a0a0c86335635eaa74ca2d5d488c797bbb4f47dc07105015ed6a1f3309efce + +in: 000102030405060708090a0b0c0d0e0f1011121314 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1580afeebebb346f94d59fe62da0b79237ead7b1491f5667a90e45edf6ca8b03 + +in: 000102030405060708090a0b0c0d0e0f101112131415 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 20be1a875b38c573dd7faaa0de489d655c11efb6a552698e07a2d331b5f655c3 + +in: 000102030405060708090a0b0c0d0e0f10111213141516 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: be1fe3c4c04018c54c4a0f6b9a2ed3c53abe3a9f76b4d26de56fc9ae95059a99 + +in: 000102030405060708090a0b0c0d0e0f1011121314151617 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e3e3ace537eb3edd8463d9ad3582e13cf86533ffde43d668dd2e93bbdbd7195a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 110c50c0bf2c6e7aeb7e435d92d132ab6655168e78a2decdec3330777684d9c1 + +in: 000102030405060708090a0b0c0d0e0f10111213141516171819 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e9ba8f505c9c80c08666a701f3367e6cc665f34b22e73c3c0417eb1c2206082f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 26cd66fca02379c76df12317052bcafd6cd8c3a7b890d805f36c49989782433a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 213f3596d6e3a5d0e9932cd2159146015e2abc949f4729ee2632fe1edb78d337 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1015d70108e03be1c702fe97253607d14aee591f2413ea6787427b6459ff219a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 3ca989de10cfe609909472c8d35610805b2f977734cf652cc64b3bfc882d5d89 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b6156f72d380ee9ea6acd190464f2307a5c179ef01fd71f99f2d0f7a57360aea + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c03bc642b20959cbe133a0303e0c1abff3e31ec8e1a328ec8565c36decff5265 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 2c3e08176f760c6264c3a2cd66fec6c3d78de43fc192457b2a4a660a1e0eb22b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f738c02f3c1b190c512b1a32deabf353728e0e9ab034490e3c3409946a97aeec + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8b1880df301cc963418811088964839287ff7fe31c49ea6ebd9e48bdeee497c5 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1e75cb21c60989020375f1a7a242839f0b0b68973a4c2a05cf7555ed5aaec4c1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 62bf8a9c32a5bccf290b6c474d75b2a2a4093f1a9e27139433a8f2b3bce7b8d7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 166c8350d3173b5e702b783dfd33c66ee0432742e9b92b997fd23c60dc6756ca + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 044a14d822a90cacf2f5a101428adc8f4109386ccb158bf905c8618b8ee24ec3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 387d397ea43a994be84d2d544afbe481a2000f55252696bba2c50c8ebd101347 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 56f8ccf1f86409b46ce36166ae9165138441577589db08cbc5f66ca29743b9fd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9706c092b04d91f53dff91fa37b7493d28b576b5d710469df79401662236fc03 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 877968686c068ce2f7e2adcff68bf8748edf3cf862cfb4d3947a3106958054e3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8817e5719879acf7024787eccdb271035566cfa333e049407c0178ccc57a5b9f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8938249e4b50cadaccdf5b18621326cbb15253e33a20f5636e995d72478de472 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f164abba4963a44d107257e3232d90aca5e66a1408248c51741e991db5227756 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d05563e2b1cba0c4a2a1e8bde3a1a0d9f5b40c85a070d6f5fb21066ead5d0601 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 03fbb16384f0a3866f4c3117877666efbf124597564b293d4aab0d269fabddfa + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 5fa8486ac0e52964d1881bbe338eb54be2f719549224892057b4da04ba8b3475 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: cdfabcee46911111236a31708b2539d71fc211d9b09c0d8530a11e1dbf6eed01 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4f82de03b9504793b82a07a0bdcdff314d759e7b62d26b784946b0d36f916f52 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 259ec7f173bcc76a0994c967b4f5f024c56057fb79c965c4fae41875f06a0e4c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 193cc8e7c3e08bb30f5437aa27ade1f142369b246a675b2383e6da9b49a9809e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 5c10896f0e2856b2a2eee0fe4a2c1633565d18f0e93e1fab26c373e8f829654d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f16012d93f28851a1eb989f5d0b43f3f39ca73c9a62d5181bff237536bd348c3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 2966b3cfae1e44ea996dc5d686cf25fa053fb6f67201b9e46eade85d0ad6b806 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ddb8782485e900bc60bcf4c33a6fd585680cc683d516efa03eb9985fad8715fb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4c4d6e71aea05786413148fc7a786b0ecaf582cff1209f5a809fba8504ce662c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: fb4c5e86d7b2229b99b8ba6d94c247ef964aa3a2bae8edc77569f28dbbff2d4e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e94f526de9019633ecd54ac6120f23958d7718f1e7717bf329211a4faeed4e6d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: cbd6660a10db3f23f7a03d4b9d4044c7932b2801ac89d60bc9eb92d65a46c2a0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8818bbd3db4dc123b25cbba5f54c2bc4b3fcf9bf7d7a7709f4ae588b267c4ece + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c65382513f07460da39833cb666c5ed82e61b9e998f4b0c4287cee56c3cc9bcd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8975b0577fd35566d750b362b0897a26c399136df07bababbde6203ff2954ed4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 21fe0ceb0052be7fb0f004187cacd7de67fa6eb0938d927677f2398c132317a8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 2ef73f3c26f12d93889f3c78b6a66c1d52b649dc9e856e2c172ea7c58ac2b5e3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 388a3cd56d73867abb5f8401492b6e2681eb69851e767fd84210a56076fb3dd3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: af533e022fc9439e4e3cb838ecd18692232adf6fe9839526d3c3dd1b71910b1a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 751c09d41a9343882a81cd13ee40818d12eb44c6c7f40df16e4aea8fab91972a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 5b73ddb68d9d2b0aa265a07988d6b88ae9aac582af83032f8a9b21a2e1b7bf18 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243444546 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 3da29126c7c5d7f43e64242a79feaa4ef3459cdeccc898ed59a97f6ec93b9dab + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 566dc920293da5cb4fe0aa8abda8bbf56f552313bff19046641e3615c1e3ed3f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4115bea02f73f97f629e5c5590720c01e7e449ae2a6697d4d2783321303692f9 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243444546474849 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4ce08f4762468a7670012164878d68340c52a35e66c1884d5c864889abc96677 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 81ea0b7804124e0c22ea5fc71104a2afcb52a1fa816f3ecb7dcb5d9dea1786d0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: fe362733b05f6bedaf9379d7f7936ede209b1f8323c3922549d9e73681b5db7b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: eff37d30dfd20359be4e73fdf40d27734b3df90a97a55ed745297294ca85d09f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 172ffc67153d12e0ca76a8b6cd5d4731885b39ce0cac93a8972a18006c8b8baf + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c47957f1cc88e83ef9445839709a480a036bed5f88ac0fcc8e1e703ffaac132c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 30f3548370cfdceda5c37b569b6175e799eef1a62aaa943245ae7669c227a7b5 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c95dcb3cf1f27d0eef2f25d2413870904a877c4a56c2de1e83e2bc2ae2e46821 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d5d0b5d705434cd46b185749f66bfb5836dcdf6ee549a2b7a4aee7f58007caaf + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: bbc124a712f15d07c300e05b668389a439c91777f721f8320c1c9078066d2c7e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a451b48c35a6c7854cfaae60262e76990816382ac0667e5a5c9e1b46c4342ddf + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051525354 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b0d150fb55e778d01147f0b5d89d99ecb20ff07e5e6760d6b645eb5b654c622b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 34f737c0ab219951eee89a9f8dac299c9d4c38f33fa494c5c6eefc92b6db08bc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1a62cc3a00800dcbd99891080c1e098458193a8cc9f970ea99fbeff00318c289 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051525354555657 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: cfce55ebafc840d7ae48281c7fd57ec8b482d4b704437495495ac414cf4a374b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 6746facf71146d999dabd05d093ae586648d1ee28e72617b99d0f0086e1e45bf + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 571ced283b3f23b4e750bf12a2caf1781847bd890e43603cdc5976102b7bb11b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: cfcb765b048e35022c5d089d26e85a36b005a2b80493d03a144e09f409b6afd1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4050c7a27705bb27f42089b299f3cbe5054ead68727e8ef9318ce6f25cd6f31d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 184070bd5d265fbdc142cd1c5cd0d7e414e70369a266d627c8fba84fa5e84c34 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9edda9a4443902a9588c0d0ccc62b930218479a6841e6fe7d43003f04b1fd643 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e412feef7908324a6da1841629f35d3d358642019310ec57c614836b63d30763 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1a2b8edff3f9acc1554fcbae3cf1d6298c6462e22e5eb0259684f835012bd13f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 288c4ad9b9409762ea07c24a41f04f69a7d74bee2d95435374bde946d7241c7b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 805691bb286748cfb591d3aebe7e6f4e4dc6e2808c65143cc004e4eb6fd09d43 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d4ac8d3a0afc6cfa7b460ae3001baeb36dadb37da07d2e8ac91822df348aed3d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c376617014d20158bced3d3ba552b6eccf84e62aa3eb650e90029c84d13eea69 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c41f09f43cecae7293d6007ca0a357087d5ae59be500c1cd5b289ee810c7b082 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 03d1ced1fba5c39155c44b7765cb760c78708dcfc80b0bd8ade3a56da8830b29 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263646566 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 09bde6f152218dc92c41d7f45387e63e5869d807ec70b821405dbd884b7fcf4b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656667 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 71c9036e18179b90b37d39e9f05eb89cc5fc341fd7c477d0d7493285faca08a4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 5916833ebb05cd919ca7fe83b692d3205bef72392b2cf6bb0a6d43f994f95f11 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263646566676869 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f63aab3ec641b3b024964c2b437c04f6043c4c7e0279239995401958f86bbe54 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f172b180bfb09740493120b6326cbdc561e477def9bbcfd28cc8c1c5e3379a31 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: cb9b89cc18381dd9141ade588654d4e6a231d5bf49d4d59ac27d869cbe100cf3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 7bd8815046fdd810a923e1984aaebdcdf84d87c8992d68b5eeb460f93eb3c8d7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 607be66862fd08ee5b19facac09dfdbcd40c312101d66e6ebd2b841f1b9a9325 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9fe03bbe69ab1834f5219b0da88a08b30a66c5913f0151963c360560db0387b3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 90a83585717b75f0e9b725e055eeeeb9e7a028ea7e6cbc07b20917ec0363e38c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 336ea0530f4a7469126e0218587ebbde3358a0b31c29d200f7dc7eb15c6aadd8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a79e76dc0abca4396f0747cd7b748df913007626b1d659da0c1f78b9303d01a3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 44e78a773756e0951519504d7038d28d0213a37e0ce375371757bc996311e3b8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 77ac012a3f754dcfeab5eb996be9cd2d1f96111b6e49f3994df181f28569d825 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727374 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ce5a10db6fccdaf140aaa4ded6250a9c06e9222bc9f9f3658a4aff935f2b9f3a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ecc203a7fe2be4abd55bb53e6e673572e0078da8cd375ef430cc97f9f80083af + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273747576 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 14a5186de9d7a18b0412b8563e51cc5433840b4a129a8ff963b33a3c4afe8ebb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727374757677 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 13f8ef95cb86e6a638931c8e107673eb76ba10d7c2cd70b9d9920bbeed929409 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 0b338f4ee12f2dfcb78713377941e0b0632152581d1332516e4a2cab1942cca4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273747576777879 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: eaab0ec37b3b8ab796e9f57238de14a264a076f3887d86e29bb5906db5a00e02 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 23cb68b8c0e6dc26dc27766ddc0a13a99438fd55617aa4095d8f969720c872df + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 091d8ee30d6f2968d46b687dd65292665742de0bb83dcc0004c72ce10007a549 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 7f507abc6d19ba00c065a876ec5657868882d18a221bc46c7a6912541f5bc7ba + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a0607c24e14e8c223db0d70b4d30ee88014d603f437e9e02aa7dafa3cdfbad94 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ddbfea75cc467882eb3483ce5e2e756a4f4701b76b445519e89f22d60fa86e06 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 0c311f38c35a4fb90d651c289d486856cd1413df9b0677f53ece2cd9e477c60a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 46a73a8dd3e70f59d3942c01df599def783c9da82fd83222cd662b53dce7dbdf + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ad038ff9b14de84a801e4e621ce5df029dd93520d0c2fa38bff176a8b1d1698c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ab70c5dfbd1ea817fed0cd067293abf319e5d7901c2141d5d99b23f03a38e748 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1fffda67932b73c8ecaf009a3491a026953babfe1f663b0697c3c4ae8b2e7dcb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b0d2cc19472dd57f2b17efc03c8d58c2283dbb19da572f7755855aa9794317a0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a0d19a6ee33979c325510e276622df41f71583d07501b87071129a0ad94732a5 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283848586 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 724642a7032d1062b89e52bea34b75df7d8fe772d9fe3c93ddf3c4545ab5a99b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ade5eaa7e61f672d587ea03dae7d7b55229c01d06bc0a5701436cbd18366a626 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 013b31ebd228fcdda51fabb03bb02d60ac20ca215aafa83bdd855e3755a35f0b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283848586878889 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 332ed40bb10dde3c954a75d7b8999d4b26a1c063c1dc6e32c1d91bab7bbb7d16 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c7a197b3a05b566bcc9facd20e441d6f6c2860ac9651cd51d6b9d2cdeeea0390 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: bd9cf64ea8953c037108e6f654914f3958b68e29c16700dc184d94a21708ff60 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8835b0ac021151df716474ce27ce4d3c15f0b2dab48003cf3f3efd0945106b9a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 3bfefa3301aa55c080190cffda8eae51d9af488b4c1f24c3d9a75242fd8ea01d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 08284d14993cd47d53ebaecf0df0478cc182c89c00e1859c84851686ddf2c1b7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1ed7ef9f04c2ac8db6a864db131087f27065098e69c3fe78718d9b947f4a39d0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c161f2dcd57e9c1439b31a9dd43d8f3d7dd8f0eb7cfac6fb25a0f28e306f0661 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c01969ad34c52caf3dc4d80d19735c29731ac6e7a92085ab9250c48dea48a3fc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1720b3655619d2a52b3521ae0e49e345cb3389ebd6208acaf9f13fdacca8be49 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 756288361c83e24c617cf95c905b22d017cdc86f0bf1d658f4756c7379873b7f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e7d0eda3452693b752abcda1b55e276f82698f5f1605403eff830bea0071a394 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 2c82ecaa6b84803e044af63118afe544687cb6e6c7df49ed762dfd7c8693a1bc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 6136cbf4b441056fa1e2722498125d6ded45e17b52143959c7f4d4e395218ac2 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394959697 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 721d3245aafef27f6a624f47954b6c255079526ffa25e9ff77e5dcff473b1597 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9dd2fbd8cef16c353c0ac21191d509eb28dd9e3e0d8cea5d26ca839393851c3a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596979899 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b2394ceacdebf21bf9df2ced98e58f1c3a4bbbff660dd900f62202d6785cc46e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 57089f222749ad7871765f062b114f43ba20ec56422a8b1e3f87192c0ea718c6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e49a9459961cd33cdf4aae1b1078a5dea7c040e0fea340c93a724872fc4af806 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ede67f720effd2ca9c88994152d0201dee6b0a2d2c077aca6dae29f73f8b6309 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e0f434bf22e3088039c21f719ffc67f0f2cb5e98a7a0194c76e96bf4e8e17e61 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 277c04e2853484a4eba910ad336d01b477b67cc200c59f3c8d77eef8494f29cd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 156d5747d0c99c7f27097d7b7e002b2e185cb72d8dd7eb424a0321528161219f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 20ddd1ed9b1ca803946d64a83ae4659da67fba7a1a3eddb1e103c0f5e03e3a2c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f0af604d3dabbf9a0f2a7d3dda6bd38bba72c6d09be494fcef713ff10189b6e6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9802bb87def4cc10c4a5fd49aa58dfe2f3fddb46b4708814ead81d23ba95139b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4f8ce1e51d2fe7f24043a904d898ebfc91975418753413aa099b795ecb35cedb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: bddc6514d7ee6ace0a4ac1d0e068112288cbcf560454642705630177cba608bd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d635994f6291517b0281ffdd496afa862712e5b3c4e52e4cd5fdae8c0e72fb08 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 878d9ca600cf87e769cc305c1b35255186615a73a0da613b5f1c98dbf81283ea + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a64ebe5dc185de9fdde7607b6998702eb23456184957307d2fa72e87a47702d6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ce50eab7b5eb52bdc9ad8e5a480ab780ca9320e44360b1fe37e03f2f7ad7de01 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: eeddb7c0db6e30abe66d79e327511e61fcebbc29f159b40a86b046ecf0513823 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 787fc93440c1ec96b5ad01c16cf77916a1405f9426356ec921d8dff3ea63b7e0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 7f0d5eab47eefda696c0bf0fbf86ab216fce461e9303aba6ac374120e890e8df + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabac +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b68004b42f14ad029f4c2e03b1d5eb76d57160e26476d21131bef20ada7d27f4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b0c4eb18ae250b51a41382ead92d0dc7455f9379fc9884428e4770608db0faec + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadae +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f92b7a870c059f4d46464c824ec96355140bdce681322cc3a992ff103e3fea52 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 5364312614813398cc525d4c4e146edeb371265fba19133a2c3d2159298a1742 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f6620e68d37fb2af5000fc28e23b832297ecd8bce99e8be4d04e85309e3d3374 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 5316a27969d7fe04ff27b283961bffc3bf5dfb32fb6a89d101c6c3b1937c2871 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 81d1664fdf3cb33c24eebac0bd64244b77c4abea90bbe8b5ee0b2aafcf2d6a53 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 345782f295b0880352e924a0467b5fbc3e8f3bfbc3c7e48b67091fb5e80a9442 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 794111ea6cd65e311f74ee41d476cb632ce1e4b051dc1d9e9d061a19e1d0bb49 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 2a85daf6138816b99bf8d08ba2114b7ab07975a78420c1a3b06a777c22dd8bcb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 89b0d5f289ec16401a069a960d0b093e625da3cf41ee29b59b930c5820145455 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d0fdcb543943fc27d20864f52181471b942cc77ca675bcb30df31d358ef7b1eb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b17ea8d77063c709d4dc6b879413c343e3790e9e62ca85b7900b086f6b75c672 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e71a3e2c274db842d92114f217e2c0eac8b45093fdfd9df4ca7162394862d501 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c0476759ab7aa333234f6b44f5fd858390ec23694c622cb986e769c78edd733e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9ab8eabb1416434d85391341d56993c55458167d4418b19a0f2ad8b79a83a75b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 7992d0bbb15e23826f443e00505d68d3ed7372995a5c3e498654102fbcd0964e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c021b30085151435df33b007ccecc69df1269f39ba25092bed59d932ac0fdc28 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbe +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 91a25ec0ec0d9a567f89c4bfe1a65a0e432d07064b4190e27dfb81901fd3139b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 5950d39a23e1545f301270aa1a12f2e6c453776e4d6355de425cc153f9818867 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d79f14720c610af179a3765d4b7c0968f977962dbf655b521272b6f1e194488e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e9531bfc8b02995aeaa75ba27031fadbcbf4a0dab8961d9296cd7e84d25d6006 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 34e9c26a01d7f16181b454a9d1623c233cb99d31c694656e9413aca3e918692f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d9d7422f437bd439ddd4d883dae2a08350173414be78155133fff1964c3d7972 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4aee0c7aaf075414ff1793ead7eaca601775c615dbd60b640b0a9f0ce505d435 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 6bfdd15459c83b99f096bfb49ee87b063d69c1974c6928acfcfb4099f8c4ef67 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9fd1c408fd75c336193a2a14d94f6af5adf050b80387b4b010fb29f4cc72707c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 13c88480a5d00d6c8c7ad2110d76a82d9b70f4fa6696d4e5dd42a066dcaf9920 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 820e725ee25fe8fd3a8d5abe4c46c3ba889de6fa9191aa22ba67d5705421542b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 32d93a0eb02f42fbbcaf2bad0085b282e46046a4df7ad10657c9d6476375b93e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9ca +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: adc5187905b1669cd8ec9c721e1953786b9d89a9bae30780f1e1eab24a00523c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: e90756ff7f9ad810b239a10ced2cf9b2284354c1f8c7e0accc2461dc796d6e89 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1251f76e56978481875359801db589a0b22f86d8d634dc04506f322ed78f17e8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 3afa899fd980e73ecb7f4d8b8f291dc9af796bc65d27f974c6f193c9191a09fd + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdce +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: aa305be26e5deddc3c1010cbc213f95f051c785c5b431e6a7cd048f161787528 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8ea1884ff32e9d10f039b407d0d44e7e670abd884aeee0fb757ae94eaa97373d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d482b2155d4dec6b4736a1f1617b53aaa37310277d3fef0c37ad41768fc235b4 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 4d413971387e7a8898a8dc2a27500778539ea214a2dfe9b3d7e8ebdce5cf3db3 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 696e5d46e6c57e8796e4735d08916e0b7929b3cf298c296d22e9d3019653371c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1f5647c1d3b088228885865c8940908bf40d1a8272821973b160008e7a3ce2eb + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b6e76c330f021a5bda65875010b0edf09126c0f510ea849048192003aef4c61c + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 3cd952a0beada41abb424ce47f94b42be64e1ffb0fd0782276807946d0d0bc55 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 98d92677439b41b7bb513312afb92bcc8ee968b2e3b238cecb9b0f34c9bb63d0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ecbca2cf08ae57d517ad16158a32bfa7dc0382eaeda128e91886734c24a0b29d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 942cc7c0b52e2b16a4b89fa4fc7e0bf609e29a08c1a8543452b77c7bfd11bb28 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8a065d8b61a0dffb170d5627735a76b0e9506037808cba16c345007c9f79cf8f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9da +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 1b9fa19714659c78ff413871849215361029ac802b1cbcd54e408bd87287f81f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8dab071bcd6c7292a9ef727b4ae0d86713301da8618d9a48adce55f303a869a1 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8253e3e7c7b684b9cb2beb014ce330ff3d99d17abbdbabe4f4d674ded53ffc6b + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: f195f321e9e3d6bd7d074504dd2ab0e6241f92e784b1aa271ff648b1cab6d7f6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcddde +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 27e4cc72090f241266476a7c09495f2db153d5bcbd761903ef79275ec56b2ed8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 899c2405788e25b99a1846355e646d77cf400083415f7dc5afe69d6e17c00023 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a59b78c4905744076bfee894de707d4f120b5c6893ea0400297d0bb834727632 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 59dc78b105649707a2bb4419c48f005400d3973de3736610230435b10424b24f + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c0149d1d7e7a6353a6d906efe728f2f329fe14a4149a3ea77609bc42b975ddfa + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: a32f241474a6c16932e9243be0cf09bcdc7e0ca0e7a6a1b9b1a0f01e41502377 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b239b2e4f81841361c1339f68e2c359f929af9ad9f34e01aab4631ad6d5500b0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 85fb419c7002a3e0b4b6ea093b4c1ac6936645b65dac5ac15a8528b7b94c1754 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9619720625f190b93a3fad186ab314189633c0d3a01e6f9bc8c4a8f82f383dbf + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 7d620d90fe69fa469a6538388970a1aa09bb48a2d59b347b97e8ce71f48c7f46 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 294383568596fb37c75bbacd979c5ff6f20a556bf8879cc72924855df9b8240e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 16b18ab314359c2b833c1c6986d48c55a9fc97cde9a3c1f10a3177140f73f738 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9ea +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8cbbdd14bc33f04cf45813e4a153a273d36adad5ce71f499eeb87fb8ac63b729 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaeb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 69c9a498db174ecaefcc5a3ac9fdedf0f813a5bec727f1e775babdec7718816e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: b462c3be40448f1d4f80626254e535b08bc9cdcff599a768578d4b2881a8e3f0 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebeced +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 553e9d9c5f360ac0b74a7d44e5a391dad4ced03e0c24183b7e8ecabdf1715a64 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedee +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 7a7c55a56fa9ae51e655e01975d8a6ff4ae9e4b486fcbe4eac044588f245ebea + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeef +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 2afdf3c82abc4867f5de111286c2b3be7d6e48657ba923cfbf101a6dfcf9db9a + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 41037d2edcdce0c49b7fb4a6aa0999ca66976c7483afe631d4eda283144f6dfc + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c4466f8497ca2eeb4583a0b08e9d9ac74395709fda109d24f2e4462196779c5d + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 75f609338aa67d969a2ae2a2362b2da9d77c695dfd1df7224a6901db932c3364 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 68606ceb989d5488fc7cf649f3d7c272ef055da1a93faecd55fe06f6967098ca + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 44346bdeb7e052f6255048f0d9b42c425bab9c3dd24168212c3ecf1ebf34e6ae + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 8e9cf6e1f366471f2ac7d2ee9b5e6266fda71f8f2e4109f2237ed5f8813fc718 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 84bbeb8406d250951f8c1b3e86a7c010082921833dfd9555a2f909b1086eb4b8 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: ee666f3eef0f7e2a9c222958c97eaf35f51ced393d714485ab09a069340fdf88 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: c153d34a65c47b4a62c5cacf24010975d0356b2f32c8f5da530d338816ad5de6 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9 +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 9fc5450109e1b779f6c7ae79d56c27635c8dd426c5a9d54e2578db989b8c3b4e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: d12bf3732ef4af5c22fa90356af8fc50fcb40f8f2ea5c8594737a3b3d5abdbd7 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafb +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 11030b9289bba5af65260672ab6fee88b87420acef4a1789a2073b7ec2f2a09e + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfc +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 69cb192b8444005c8c0ceb12c846860768188cda0aec27a9c8a55cdee2123632 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfd +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: db444c15597b5f1a03d1f9edd16e4a9f43a667cc275175dfa2b704e3bb1a9b83 + +in: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe +key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +hash: 3fb735061abc519dfe979e54c1ee5bfad0a9d858b3315bad34bde999efd724ddok diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/tv1.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/tv1.txt new file mode 100644 index 000000000..a79219811 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/tv1.txt @@ -0,0 +1,36 @@ +# +# Compute the function h(100) for each digest size from 1 to 32, where: +# h(1) = Hash("") +# h(x) = Hash(h(x-1) + h(x-2) + ... + h(1)) +# +digest: d3 +digest: d61f +digest: a27ef6 +digest: dcf93511 +digest: ef7d1f664b +digest: a3b1d9a391c2 +digest: 75dae3283b6de5 +digest: bb7d01b685f17e4e +digest: 154c17197a3e409372 +digest: d5ece54d02f09665c8e2 +digest: 078576a174bdbf879f548d +digest: 3207ceaa9592179bf492e42d +digest: c52a64fa2a8235eed0c70f7f6c +digest: 0def3f9317cf40ef230b80d7a4da +digest: 16fb9675fb40afe183c2ee13a9b859 +digest: 8acd543291933e4ac1548904553b486f +digest: 901a5c217a4ba360992c26ab6491aa8363 +digest: bf8bb21a200a1c972cfe6c188cc4b7fe1098 +digest: 65d9ce3c6f8b606a2417178f304638b1a8bc54 +digest: 33d9c57e33cd208b82d771fe0347caf303a9d6d9 +digest: 4ade30b34b5b5235134b189f276ab0733c9038b505 +digest: 4454cc9fcd04ef6f45cdbd131f042c609870ed1dcacc +digest: 631ba8d46279052eb12e6d043be158a69e31e8cdcfe2c0 +digest: 857e5108030354252b3421d5fc75e633590a60eef2e93382 +digest: 6633f8a0b131b39a84e2253b7e4b04fb7de62554d72239b069 +digest: 85b8b55b304e12424614e4b37bfb3da25ef0d9859305da0e1be1 +digest: 43ad51b7ed6f4f695ca090a539f877f93bddc690195593bdf0cd21 +digest: 21bf7c481817a3cd71671c6519a7a829d5137324bfa1a340bbb8928b +digest: 7a51d96744348b6f5e666bfa6a3a5a6ed6104c79f0b6ac8b0f550321c8 +digest: d3f1a340e735cf0be01f194ae5754a9f08309d4d7e4b9fc16f9813ebf98a +digest: 69ad7695fa071bde9ddf2c0182c1598af26131ca05e63acacd84f60db201e6 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/tv2.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/tv2.txt new file mode 100644 index 000000000..526ef1430 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/BLAKE2s/tv2.txt @@ -0,0 +1,37 @@ +# +# Compute the function h(100) for each key size from 1 to 32, where: +# h(1) = KeyedHash("") +# h(x) = KeyedHash(h(x-1) + h(x-2) + ... + h(1)) +# where the key is a string of "A"s. +# +digest(1): 2a967ba7d5ae773dacedf8b88fbaac915abe20004108d1115f8eb1f4ae80d83b +digest(2): 2938faaee3d2ec1a3f18673c7cb1bb67c900c535311a1ce026b14b597bc76c8e +digest(3): f03e177a359555b47b0fc7b53d99215a2ef27e68a865624e0f89d168d1507cb8 +digest(4): 8e1cb9ffadddf05f073efb4781aa21cb19ecc3b2f4e3db26c82b9d09809c6b46 +digest(5): 242792e4fcb7de4480c849ccda85cc2ea420c2519727e290af63b19b78f6f40e +digest(6): a4ab02171bf8e039c777c722607654850df82235187cd8f02ede5a6194b4159d +digest(7): b2aa4708fdbebb7df875f8aeec201855924418e9ce3bfb8e85d1e587dc4b4793 +digest(8): 9eceefde4b9e77dad490178ff402e7df09bbfdaac1f07738570334ec7e00cb79 +digest(9): c706552236de6ad09281af9fc185f3c9fa50399a12b0acfab0f1067cbf96dc17 +digest(10): a39281fabb2e2b91bdd8dd86708353e78e8ac549e6d350c0b43f7ab1ee86a5e5 +digest(11): c03fd6dd2fbaf08570bdf166b4d9d4371deb98dff95562a739ab32426928a399 +digest(12): 1b9efd11915eadb6532049cf29850b38e312f20350b367ff45b874fb74fd90a2 +digest(13): 89985ae07290911517c4548154c76c8ef762a7e731b034a5a9ec18157bfb9ba3 +digest(14): c55b6d0f516ce55142ebba41da010eff5945ff14a5863e623f2b90a0727f7f69 +digest(15): 9feebef3690e37ff9649660428367731f4ff6cbc68c50793694e64540dbd159c +digest(16): ab7d5aa443e5ee41d18f30a4d56ea94c1d2c2517c981e0fa9534d69d872b3cdc +digest(17): aa52b4322756d7c36827597e12489832ecc847dfe28307d0d6fbb7893c5415ba +digest(18): 1c351e2537399cff8ac6d76332fe7f7b9f4bd403ab3f00ced9db59c6a61853a4 +digest(19): 090cdb16b53acb7531df0ea0423e22785c87645e1c916ed343e3d05859e2eb34 +digest(20): cfef19757b17357f673542bdc1bb6c3ef9739fe3cd9fc45c30a4bf1003b28e05 +digest(21): 9af9ccd27d5d175db9a6186765b1e23c77fbfe5e695c8b23f833f37cbbb4faef +digest(22): 46f721b6315d95dfb231ae1b7426fc9230a3e0d1a4e51a924b63267d8e273aa7 +digest(23): 9d30d6ef95cf7432947cb1c4c02278796b7aa3fb7e2c12d5e662da4de3a4efbc +digest(24): 3f58cf87601c064cf5287eeb880036515722e816f5c7ee8df7e8810fefbfa567 +digest(25): df6b7eb34accfd47ba864ba56301deb3fdc8f4894fdbcf6968f99cb31ac8c768 +digest(26): 3122aed35e3941b9346ad27fcd68c9be86d1cf59fb75cc6cdc5c478909193a15 +digest(27): f32463d4ff5cc9b3c9f221fc7ad4d571d6661ad39ac9b9c77fb200c1431e446e +digest(28): daa1202636a259ce91e1b73b376dcee34550f8a1d294aff7547bd652d98b99be +digest(29): 875fd90e8e5085fd48331a96d2e46f87ddf6f7086c9157dabae0bcf7de431220 +digest(30): 7eaa0af29ca24124f44c21d7c52a8585dd50a487d223bd466c7b4c0db6c016a8 +digest(31): d6865249ff4b0b2b2a7d7ff772b5279d589945c50239e9c17ee27cbe91251f31 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA1/SHA1ShortMsg.rsp b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA1/SHA1ShortMsg.rsp new file mode 100644 index 000000000..f4010fead --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA1/SHA1ShortMsg.rsp @@ -0,0 +1,267 @@ +# CAVS 11.0 +# "SHA-1 ShortMsg" information +# SHA-1 tests are configured for BYTE oriented implementations +# Generated on Tue Mar 15 08:23:35 2011 + +[L = 20] + +Len = 0 +Msg = 00 +MD = da39a3ee5e6b4b0d3255bfef95601890afd80709 + +Len = 8 +Msg = 36 +MD = c1dfd96eea8cc2b62785275bca38ac261256e278 + +Len = 16 +Msg = 195a +MD = 0a1c2d555bbe431ad6288af5a54f93e0449c9232 + +Len = 24 +Msg = df4bd2 +MD = bf36ed5d74727dfd5d7854ec6b1d49468d8ee8aa + +Len = 32 +Msg = 549e959e +MD = b78bae6d14338ffccfd5d5b5674a275f6ef9c717 + +Len = 40 +Msg = f7fb1be205 +MD = 60b7d5bb560a1acf6fa45721bd0abb419a841a89 + +Len = 48 +Msg = c0e5abeaea63 +MD = a6d338459780c08363090fd8fc7d28dc80e8e01f + +Len = 56 +Msg = 63bfc1ed7f78ab +MD = 860328d80509500c1783169ebf0ba0c4b94da5e5 + +Len = 64 +Msg = 7e3d7b3eada98866 +MD = 24a2c34b976305277ce58c2f42d5092031572520 + +Len = 72 +Msg = 9e61e55d9ed37b1c20 +MD = 411ccee1f6e3677df12698411eb09d3ff580af97 + +Len = 80 +Msg = 9777cf90dd7c7e863506 +MD = 05c915b5ed4e4c4afffc202961f3174371e90b5c + +Len = 88 +Msg = 4eb08c9e683c94bea00dfa +MD = af320b42d7785ca6c8dd220463be23a2d2cb5afc + +Len = 96 +Msg = 0938f2e2ebb64f8af8bbfc91 +MD = 9f4e66b6ceea40dcf4b9166c28f1c88474141da9 + +Len = 104 +Msg = 74c9996d14e87d3e6cbea7029d +MD = e6c4363c0852951991057f40de27ec0890466f01 + +Len = 112 +Msg = 51dca5c0f8e5d49596f32d3eb874 +MD = 046a7b396c01379a684a894558779b07d8c7da20 + +Len = 120 +Msg = 3a36ea49684820a2adc7fc4175ba78 +MD = d58a262ee7b6577c07228e71ae9b3e04c8abcda9 + +Len = 128 +Msg = 3552694cdf663fd94b224747ac406aaf +MD = a150de927454202d94e656de4c7c0ca691de955d + +Len = 136 +Msg = f216a1cbde2446b1edf41e93481d33e2ed +MD = 35a4b39fef560e7ea61246676e1b7e13d587be30 + +Len = 144 +Msg = a3cf714bf112647e727e8cfd46499acd35a6 +MD = 7ce69b1acdce52ea7dbd382531fa1a83df13cae7 + +Len = 152 +Msg = 148de640f3c11591a6f8c5c48632c5fb79d3b7 +MD = b47be2c64124fa9a124a887af9551a74354ca411 + +Len = 160 +Msg = 63a3cc83fd1ec1b6680e9974a0514e1a9ecebb6a +MD = 8bb8c0d815a9c68a1d2910f39d942603d807fbcc + +Len = 168 +Msg = 875a90909a8afc92fb7070047e9d081ec92f3d08b8 +MD = b486f87fb833ebf0328393128646a6f6e660fcb1 + +Len = 176 +Msg = 444b25f9c9259dc217772cc4478c44b6feff62353673 +MD = 76159368f99dece30aadcfb9b7b41dab33688858 + +Len = 184 +Msg = 487351c8a5f440e4d03386483d5fe7bb669d41adcbfdb7 +MD = dbc1cb575ce6aeb9dc4ebf0f843ba8aeb1451e89 + +Len = 192 +Msg = 46b061ef132b87f6d3b0ee2462f67d910977da20aed13705 +MD = d7a98289679005eb930ab75efd8f650f991ee952 + +Len = 200 +Msg = 3842b6137bb9d27f3ca5bafe5bbb62858344fe4ba5c41589a5 +MD = fda26fa9b4874ab701ed0bb64d134f89b9c4cc50 + +Len = 208 +Msg = 44d91d3d465a4111462ba0c7ec223da6735f4f5200453cf132c3 +MD = c2ff7ccde143c8f0601f6974b1903eb8d5741b6e + +Len = 216 +Msg = cce73f2eabcb52f785d5a6df63c0a105f34a91ca237fe534ee399d +MD = 643c9dc20a929608f6caa9709d843ca6fa7a76f4 + +Len = 224 +Msg = 664e6e7946839203037a65a12174b244de8cbc6ec3f578967a84f9ce +MD = 509ef787343d5b5a269229b961b96241864a3d74 + +Len = 232 +Msg = 9597f714b2e45e3399a7f02aec44921bd78be0fefee0c5e9b499488f6e +MD = b61ce538f1a1e6c90432b233d7af5b6524ebfbe3 + +Len = 240 +Msg = 75c5ad1f3cbd22e8a95fc3b089526788fb4ebceed3e7d4443da6e081a35e +MD = 5b7b94076b2fc20d6adb82479e6b28d07c902b75 + +Len = 248 +Msg = dd245bffe6a638806667768360a95d0574e1a0bd0d18329fdb915ca484ac0d +MD = 6066db99fc358952cf7fb0ec4d89cb0158ed91d7 + +Len = 256 +Msg = 0321794b739418c24e7c2e565274791c4be749752ad234ed56cb0a6347430c6b +MD = b89962c94d60f6a332fd60f6f07d4f032a586b76 + +Len = 264 +Msg = 4c3dcf95c2f0b5258c651fcd1d51bd10425d6203067d0748d37d1340d9ddda7db3 +MD = 17bda899c13d35413d2546212bcd8a93ceb0657b + +Len = 272 +Msg = b8d12582d25b45290a6e1bb95da429befcfdbf5b4dd41cdf3311d6988fa17cec0723 +MD = badcdd53fdc144b8bf2cc1e64d10f676eebe66ed + +Len = 280 +Msg = 6fda97527a662552be15efaeba32a3aea4ed449abb5c1ed8d9bfff544708a425d69b72 +MD = 01b4646180f1f6d2e06bbe22c20e50030322673a + +Len = 288 +Msg = 09fa2792acbb2417e8ed269041cc03c77006466e6e7ae002cf3f1af551e8ce0bb506d705 +MD = 10016dc3a2719f9034ffcc689426d28292c42fc9 + +Len = 296 +Msg = 5efa2987da0baf0a54d8d728792bcfa707a15798dc66743754406914d1cfe3709b1374eaeb +MD = 9f42fa2bce6ef021d93c6b2d902273797e426535 + +Len = 304 +Msg = 2836de99c0f641cd55e89f5af76638947b8227377ef88bfba662e5682babc1ec96c6992bc9a0 +MD = cdf48bacbff6f6152515323f9b43a286e0cb8113 + +Len = 312 +Msg = 42143a2b9e1d0b354df3264d08f7b602f54aad922a3d63006d097f683dc11b90178423bff2f7fe +MD = b88fb75274b9b0fd57c0045988cfcef6c3ce6554 + +Len = 320 +Msg = eb60c28ad8aeda807d69ebc87552024ad8aca68204f1bcd29dc5a81dd228b591e2efb7c4df75ef03 +MD = c06d3a6a12d9e8db62e8cff40ca23820d61d8aa7 + +Len = 328 +Msg = 7de4ba85ec54747cdc42b1f23546b7e490e31280f066e52fac117fd3b0792e4de62d5843ee98c72015 +MD = 6e40f9e83a4be93874bc97cdebb8da6889ae2c7a + +Len = 336 +Msg = e70653637bc5e388ccd8dc44e5eace36f7398f2bac993042b9bc2f4fb3b0ee7e23a96439dc01134b8c7d +MD = 3efc940c312ef0dfd4e1143812248db89542f6a5 + +Len = 344 +Msg = dd37bc9f0b3a4788f9b54966f252174c8ce487cbe59c53c22b81bf77621a7ce7616dcb5b1e2ee63c2c309b +MD = a0cf03f7badd0c3c3c4ea3717f5a4fb7e67b2e56 + +Len = 352 +Msg = 5f485c637ae30b1e30497f0fb7ec364e13c906e2813daa34161b7ac4a4fd7a1bddd79601bbd22cef1f57cbc7 +MD = a544e06f1a07ceb175a51d6d9c0111b3e15e9859 + +Len = 360 +Msg = f6c237fb3cfe95ec8414cc16d203b4874e644cc9a543465cad2dc563488a659e8a2e7c981e2a9f22e5e868ffe1 +MD = 199d986ed991b99a071f450c6b1121a727e8c735 + +Len = 368 +Msg = da7ab3291553c659873c95913768953c6e526d3a26590898c0ade89ff56fbd110f1436af590b17fed49f8c4b2b1e +MD = 33bac6104b0ad6128d091b5d5e2999099c9f05de + +Len = 376 +Msg = 8cfa5fd56ee239ca47737591cba103e41a18acf8e8d257b0dbe8851134a81ff6b2e97104b39b76e19da256a17ce52d +MD = 76d7db6e18c1f4ae225ce8ccc93c8f9a0dfeb969 + +Len = 384 +Msg = 57e89659d878f360af6de45a9a5e372ef40c384988e82640a3d5e4b76d2ef181780b9a099ac06ef0f8a7f3f764209720 +MD = f652f3b1549f16710c7402895911e2b86a9b2aee + +Len = 392 +Msg = b91e64235dbd234eea2ae14a92a173ebe835347239cff8b02074416f55c6b60dc6ced06ae9f8d705505f0d617e4b29aef9 +MD = 63faebb807f32be708cf00fc35519991dc4e7f68 + +Len = 400 +Msg = e42a67362a581e8cf3d847502215755d7ad425ca030c4360b0f7ef513e6980265f61c9fa18dd9ce668f38dbc2a1ef8f83cd6 +MD = 0e6730bc4a0e9322ea205f4edfff1fffda26af0a + +Len = 408 +Msg = 634db92c22010e1cbf1e1623923180406c515272209a8acc42de05cc2e96a1e94c1f9f6b93234b7f4c55de8b1961a3bf352259 +MD = b61a3a6f42e8e6604b93196c43c9e84d5359e6fe + +Len = 416 +Msg = cc6ca3a8cb391cd8a5aff1faa7b3ffbdd21a5a3ce66cfaddbfe8b179e4c860be5ec66bd2c6de6a39a25622f9f2fcb3fc05af12b5 +MD = 32d979ca1b3ed0ed8c890d99ec6dd85e6c16abf4 + +Len = 424 +Msg = 7c0e6a0d35f8ac854c7245ebc73693731bbbc3e6fab644466de27bb522fcb99307126ae718fe8f00742e6e5cb7a687c88447cbc961 +MD = 6f18190bd2d02fc93bce64756575cea36d08b1c3 + +Len = 432 +Msg = c5581d40b331e24003901bd6bf244aca9e9601b9d81252bb38048642731f1146b8a4c69f88e148b2c8f8c14f15e1d6da57b2daa9991e +MD = 68f525feea1d8dbe0117e417ca46708d18d7629a + +Len = 440 +Msg = ec6b4a88713df27c0f2d02e738b69db43abda3921317259c864c1c386e9a5a3f533dc05f3beeb2bec2aac8e06db4c6cb3cddcf697e03d5 +MD = a7272e2308622ff7a339460adc61efd0ea8dabdc + +Len = 448 +Msg = 0321736beba578e90abc1a90aa56157d871618f6de0d764cc8c91e06c68ecd3b9de3824064503384db67beb7fe012232dacaef93a000fba7 +MD = aef843b86916c16f66c84d83a6005d23fd005c9e + +Len = 456 +Msg = d0a249a97b5f1486721a50d4c4ab3f5d674a0e29925d5bf2678ef6d8d521e456bd84aa755328c83fc890837726a8e7877b570dba39579aabdd +MD = be2cd6f380969be59cde2dff5e848a44e7880bd6 + +Len = 464 +Msg = c32138531118f08c7dcc292428ad20b45ab27d9517a18445f38b8f0c2795bcdfe3ffe384e65ecbf74d2c9d0da88398575326074904c1709ba072 +MD = e5eb4543deee8f6a5287845af8b593a95a9749a1 + +Len = 472 +Msg = b0f4cfb939ea785eabb7e7ca7c476cdd9b227f015d905368ba00ae96b9aaf720297491b3921267576b72c8f58d577617e844f9f0759b399c6b064c +MD = 534c850448dd486787b62bdec2d4a0b140a1b170 + +Len = 480 +Msg = bd02e51b0cf2c2b8d204a026b41a66fbfc2ac37ee9411fc449c8d1194a0792a28ee731407dfc89b6dfc2b10faa27723a184afef8fd83def858a32d3f +MD = 6fbfa6e4edce4cc85a845bf0d228dc39acefc2fa + +Len = 488 +Msg = e33146b83e4bb671392218da9a77f8d9f5974147182fb95ba662cb66011989c16d9af104735d6f79841aa4d1df276615b50108df8a29dbc9de31f4260d +MD = 018872691d9b04e8220e09187df5bc5fa6257cd9 + +Len = 496 +Msg = 411c13c75073c1e2d4b1ecf13139ba9656cd35c14201f1c7c6f0eeb58d2dbfe35bfdeccc92c3961cfabb590bc1eb77eac15732fb0275798680e0c7292e50 +MD = d98d512a35572f8bd20de62e9510cc21145c5bf4 + +Len = 504 +Msg = f2c76ef617fa2bfc8a4d6bcbb15fe88436fdc2165d3074629579079d4d5b86f5081ab177b4c3f530376c9c924cbd421a8daf8830d0940c4fb7589865830699 +MD = 9f3ea255f6af95c5454e55d7354cabb45352ea0b + +Len = 512 +Msg = 45927e32ddf801caf35e18e7b5078b7f5435278212ec6bb99df884f49b327c6486feae46ba187dc1cc9145121e1492e6b06e9007394dc33b7748f86ac3207cfe +MD = a70cfbfe7563dd0e665c7c6715a96a8d756950c0 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512ShortMsg.rsp b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512ShortMsg.rsp new file mode 100644 index 000000000..daa10f463 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512ShortMsg.rsp @@ -0,0 +1,523 @@ +# CAVS 11.0 +# "SHA-512 ShortMsg" information +# SHA-512 tests are configured for BYTE oriented implementations +# Generated on Tue Mar 15 08:23:49 2011 + +[L = 64] + +Len = 0 +Msg = 00 +MD = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e + +Len = 8 +Msg = 21 +MD = 3831a6a6155e509dee59a7f451eb35324d8f8f2df6e3708894740f98fdee23889f4de5adb0c5010dfb555cda77c8ab5dc902094c52de3278f35a75ebc25f093a + +Len = 16 +Msg = 9083 +MD = 55586ebba48768aeb323655ab6f4298fc9f670964fc2e5f2731e34dfa4b0c09e6e1e12e3d7286b3145c61c2047fb1a2a1297f36da64160b31fa4c8c2cddd2fb4 + +Len = 24 +Msg = 0a55db +MD = 7952585e5330cb247d72bae696fc8a6b0f7d0804577e347d99bc1b11e52f384985a428449382306a89261ae143c2f3fb613804ab20b42dc097e5bf4a96ef919b + +Len = 32 +Msg = 23be86d5 +MD = 76d42c8eadea35a69990c63a762f330614a4699977f058adb988f406fb0be8f2ea3dce3a2bbd1d827b70b9b299ae6f9e5058ee97b50bd4922d6d37ddc761f8eb + +Len = 40 +Msg = eb0ca946c1 +MD = d39ecedfe6e705a821aee4f58bfc489c3d9433eb4ac1b03a97e321a2586b40dd0522f40fa5aef36afff591a78c916bfc6d1ca515c4983dd8695b1ec7951d723e + +Len = 48 +Msg = 38667f39277b +MD = 85708b8ff05d974d6af0801c152b95f5fa5c06af9a35230c5bea2752f031f9bd84bd844717b3add308a70dc777f90813c20b47b16385664eefc88449f04f2131 + +Len = 56 +Msg = b39f71aaa8a108 +MD = 258b8efa05b4a06b1e63c7a3f925c5ef11fa03e3d47d631bf4d474983783d8c0b09449009e842fc9fa15de586c67cf8955a17d790b20f41dadf67ee8cdcdfce6 + +Len = 64 +Msg = 6f8d58b7cab1888c +MD = a3941def2803c8dfc08f20c06ba7e9a332ae0c67e47ae57365c243ef40059b11be22c91da6a80c2cff0742a8f4bcd941bdee0b861ec872b215433ce8dcf3c031 + +Len = 72 +Msg = 162b0cf9b3750f9438 +MD = ade217305dc34392aa4b8e57f64f5a3afdd27f1fa969a9a2608353f82b95cfb4ae84598d01575a578a1068a59b34b5045ff6d5299c5cb7ee17180701b2d1d695 + +Len = 80 +Msg = bad7c618f45be207975e +MD = 5886828959d1f82254068be0bd14b6a88f59f534061fb20376a0541052dd3635edf3c6f0ca3d08775e13525df9333a2113c0b2af76515887529910b6c793c8a5 + +Len = 88 +Msg = 6213e10a4420e0d9b77037 +MD = 9982dc2a04dff165567f276fd463efef2b369fa2fbca8cee31ce0de8a79a2eb0b53e437f7d9d1f41c71d725cabb949b513075bad1740c9eefbf6a5c6633400c7 + +Len = 96 +Msg = 6332c3c2a0a625a61df71858 +MD = 9d60375d9858d9f2416fb86fa0a2189ee4213e8710314fd1ebed0fd158b043e6e7c9a76d62c6ba1e1d411a730902309ec676dd491433c6ef66c8f116233d6ce7 + +Len = 104 +Msg = f47be3a2b019d1beededf5b80c +MD = b94292625caa28c7be24a0997eb7328062a76d9b529c0f1d568f850df6d569b5e84df07e9e246be232033ffac3adf2d18f92ab9dacfc0ecf08aff7145f0b833b + +Len = 112 +Msg = b1715f782ff02c6b88937f054116 +MD = ee1a56ee78182ec41d2c3ab33d4c41871d437c5c1ca060ee9e219cb83689b4e5a4174dfdab5d1d1096a31a7c8d3abda75c1b5e6da97e1814901c505b0bc07f25 + +Len = 120 +Msg = 9bcd5262868cd9c8a96c9e82987f03 +MD = 2e07662a001b9755ae922c8e8a95756db5341dc0f2e62ae1cf827038f33ce055f63ad5c00b65391428434ddc01e5535e7fecbf53db66d93099b8e0b7e44e4b25 + +Len = 128 +Msg = cd67bd4054aaa3baa0db178ce232fd5a +MD = 0d8521f8f2f3900332d1a1a55c60ba81d04d28dfe8c504b6328ae787925fe0188f2ba91c3a9f0c1653c4bf0ada356455ea36fd31f8e73e3951cad4ebba8c6e04 + +Len = 136 +Msg = 6ba004fd176791efb381b862e298c67b08 +MD = 112e19144a9c51a223a002b977459920e38afd4ca610bd1c532349e9fa7c0d503215c01ad70e1b2ac5133cf2d10c9e8c1a4c9405f291da2dc45f706761c5e8fe + +Len = 144 +Msg = c6a170936568651020edfe15df8012acda8d +MD = c36c100cdb6c8c45b072f18256d63a66c9843acb4d07de62e0600711d4fbe64c8cf314ec3457c90308147cb7ac7e4d073ba10f0ced78ea724a474b32dae71231 + +Len = 152 +Msg = 61be0c9f5cf62745c7da47c104597194db245c +MD = b379249a3ca5f14c29456710114ba6f6136b34c3fc9f6fb91b59d491af782d6b237eb71aaffdd38079461cf690a46d9a4ddd602d19808ab6235d1d8aa01e8200 + +Len = 160 +Msg = e07056d4f7277bc548099577720a581eec94141d +MD = 59f1856303ff165e2ab5683dddeb6e8ad81f15bb578579b999eb5746680f22cfec6dba741e591ca4d9e53904837701b374be74bbc0847a92179ac2b67496d807 + +Len = 168 +Msg = 67ebda0a3573a9a58751d4169e10c7e8663febb3a8 +MD = 13963f81cfabfca71de4739fd24a10ce3897bba1d716907fc0a28490c192a7fc3ccb8db1f91af7a2d250d6617f0dfd1519d221d618a02e3e3fa9041cf35ed1ea + +Len = 176 +Msg = 63e09db99eb4cd6238677859a567df313c8520d845b4 +MD = 9083e5348b08eb9810b2d15781d8265845410de54fe61750d4b93853690649adc6e72490bc2b7c365e2390573d9414becc0939719e0cb78eca6b2c80c2fda920 + +Len = 184 +Msg = f3e06b4bd79e380a65cb679a98ccd732563cc5ebe892e2 +MD = 6b315f106b07c59eedc5ab1df813b3c0b903060e7217cc010e9070278512a885008dac8b2472a521e77835a7f4deadc1d591aa23b624b69948a99bb60121c54e + +Len = 192 +Msg = 16b17074d3e3d97557f9ed77d920b4b1bff4e845b345a922 +MD = 6884134582a760046433abcbd53db8ff1a89995862f305b887020f6da6c7b903a314721e972bf438483f452a8b09596298a576c903c91df4a414c7bd20fd1d07 + +Len = 200 +Msg = 3edf93251349d22806bed25345fd5c190aac96d6cdb2d758b8 +MD = 299e0daf6605e5b0c30e1ec8bb98e7a3bd7b33b388bdb457452dab509594406c8e7b841e6f4e75c8d6fbd614d5eb9e56c359bfafb4285754787ab72b46dd33f0 + +Len = 208 +Msg = b2d5a14f01e6b778888c562a059ec819ad89992d16a09f7a54b4 +MD = ab2e7d745d8ad393439af2a3fbc9cdc25510d4a04e78b526e12b1c0be3b22966872ebe652e2f46ed5c5acecd2f233a9175dd295ebeb3a0706fc66fa1b137042b + +Len = 216 +Msg = 844b66f12ba0c5f9e92731f571539d1eef332e1549a49dbfa4c6de +MD = c3f9c5781925774783ae9d839772d7513dfcea8c5af8da262c196f9fe80135b2b0c8c6ca0a1604e0a3460247620de20b299f2db7871982d27c2176ae5fa7ad65 + +Len = 224 +Msg = 6b6cc692d39860b1f30203653e25d09c01e6a8043c1a9cb8b249a41e +MD = 2e5263d9a4f21b210e0e161ed39df44102864325788647261a6e70ea4b1ee0abb57b57499bc82158d82336dd53f1ef4464c6a08126e138b2cc0892f765f6af85 + +Len = 232 +Msg = ab1fc9ee845eeb205ec13725daf1fb1f5d50629b14ea9a2235a9350a88 +MD = 72d188a9df5f3b00057bca22c92c0f8228422d974302d22d4b322e7a6c8fc3b2b50ec74c6842781f29f7075c3d4bd065878648846c39bb3e4e2692c0f053f7ed + +Len = 240 +Msg = 594ed82acfc03c0e359cc560b8e4b85f6ee77ee59a70023c2b3d5b3285b2 +MD = 5ef322cb4014ecbb713a13659612a222225984d31c187debc4459ba7901f03dac775400acfe3510b306b79894fb0e8437b412150c9193ee5a2164306ebb78301 + +Len = 248 +Msg = f2c66efbf2a76c5b041860ea576103cd8c6b25e50eca9ff6a2fa88083fe9ac +MD = 7978f93ef7ed02c4a24abecba124d14dd214e1492ff1e168304c0eab89637da0f7a569c43dc4562bdb9404a018b6314fe0eebaccfb25ba76506aa7e9dcd956a7 + +Len = 256 +Msg = 8ccb08d2a1a282aa8cc99902ecaf0f67a9f21cffe28005cb27fcf129e963f99d +MD = 4551def2f9127386eea8d4dae1ea8d8e49b2add0509f27ccbce7d9e950ac7db01d5bca579c271b9f2d806730d88f58252fd0c2587851c3ac8a0e72b4e1dc0da6 + +Len = 264 +Msg = 9f8c49320af9370cd3db20e9b50d3eaa59a6232d7a86fb7d472f124508d7968b05 +MD = 81b002f15c4d48be8517f7ed89df302fb1435c9435efefed58f3eb8ea11910623f1eb9028a66e02121a7f08a7c604226f2324f483e91548dbbd2c441ab704ce5 + +Len = 272 +Msg = 4ab9aa069475e54b25e5688a52dd4acd134169c858105f01a0a1b134c72d4af51f8e +MD = 48ba5a63aba7e7bd8e420475331125a947928c67fdb00f65c4080d9a0b99c0672424e76a1ba6bd76dfe492c730f6f9adccaee7bb11571aadb31f6bb628cfa933 + +Len = 280 +Msg = f0c1d3407de92ef7421e42df5c9ab31d2ec0a750a9522869cbe4cabd66908d5823ec04 +MD = 9e75c5bca2c2af1d7739787f46e1d981c4f98e493d0724b5252c2fbae3c526719f1d27e6ccd0d705240281e8fbf3db75b9b3205c1413436d3b5d140004b8cca1 + +Len = 288 +Msg = ae8c9f8fb41b519b6d943833fe1c32d1c4292fb1ddf1dbe2eb227d9e14d31ed74ebaef12 +MD = 042f9fd0a4ed3d9fec3655ae11011c6f2bc7e457e8812b6d8be2cd45fc6c432a94558c88f22c01439618865e8e49e509c448b342ca914b120344aaf7bcbdca18 + +Len = 296 +Msg = da39fb86237f00303844e61fc6cfe779e42af53349839590bcd2f0e4cbbc279ec0b7e885d1 +MD = ecb43de8c233a731b38e30c5696f8876761b7ea72efe283fd07bedf20029f47c6d2a4427823e100fb087abaf22d7eff42a951c97c3dd05f48a20163fa4367cba + +Len = 304 +Msg = 3e7271d2070ef095394620c4b016576c150f34bea60784613a0f660d7fa5ae56872b88c58398 +MD = 8154d0da634ab2266061acc123acb407650ffe9164a22de3fe29bf05393b2aece92cf4db00ea5b4341c31ddb7de151683c8a71b5a44d5c3175790feac67d18ee + +Len = 312 +Msg = 311fb67f6a0784bb01a2d5a3f3092c407a9d3322319dff9a79f894291c5fac37319fb408402e18 +MD = 1870fe913abb0a4b4f53b6581ae18322cd05328514556607f3f4d7b6a2ac8e9185d94d947d8b9c88e0efa66d89b59f7439c75fdadd1816f7412306ab2b59d664 + +Len = 320 +Msg = 7651ab491b8fa86f969d42977d09df5f8bee3e5899180b52c968b0db057a6f02a886ad617a84915a +MD = f35e50e2e02b8781345f8ceb2198f068ba103476f715cfb487a452882c9f0de0c720b2a088a39d06a8a6b64ce4d6470dfeadc4f65ae06672c057e29f14c4daf9 + +Len = 328 +Msg = dbe5db685ed7cb848c094524c1723519d49dc66ef9fe6d57e6862a6435750bfa0a70f104f5d396e61a +MD = 2fa6e5b2c443a68050f093e7fb713bd6b18f6274c061ed61d79bf0688a61dba1940bcc30998276860943ab038902896d0fbf59b88b07c80de927037097150c40 + +Len = 336 +Msg = 9fa83e96b2a6df23fb372895015678e0b2c9cd18a8542c3eaa2c435a76ae4dc9bd5136d970daff933acf +MD = 3a2c0ec88a3e5347cf0ea9c078838300ef7356f9a6c342063277c106b880a00ed2be205c13064097bd372fde38007bc306561eb4e74bba2bb20bd354aa690ca6 + +Len = 344 +Msg = 8a5a45e398bac1d9b896b5a2b4e3566b91d80ad20c977ea7450ff2efb521d82f65019ee762e0c85c6cc841 +MD = 3c704620f4066d79c1ff67752980f39ef3d9c1023fa5a213a5265376b14a15166ffe069b51df7710d8907fef9406bf375d502ce086ac82aff17229aaa7a5a334 + +Len = 352 +Msg = 49cfffdaf4d031e33b1d28a447450545f6c4293b38d5afbcb9883976c014f080576ec691ac1bff70b742efab +MD = 8bcc4f1ea2b7862ef1591bfa73916665de8faf65439ddf5cc1be43cebfd5f60f205e835a2b186b675b041258c5cff42669316ce25b46a2f4d4218e102f0f5d6f + +Len = 360 +Msg = 2ff845d85efbc4fa5637e9448d950496f19d8d57da99b7bd3df7474822f0a790586736416714e364c6e1fae04e +MD = 236f6f4ed6e858c02d51787e60c578f731f694f8e52b5df4ecd5b04dff14c78e56bad1028d6f626c29d85aeee151a2a2846d3eed5cfafa9854a69fea8af6d04a + +Len = 368 +Msg = cfca05fd893c0f005f5ff796f4da19ba27a1e729956b8b715e67ce4b2d2a382a72ec7814f2f507b1825209a20fcc +MD = d80969284a4565add4dad6ab9b3bdf53446142f84aaf92d4b23dd22ee7241e6c81489ac8b246edcb6df9bd7b23d91a0c517f546feba4ed5790a2be6e165c1709 + +Len = 376 +Msg = cfc425759a9c36bb9f4b32eed7767af6566f68ded0adeae25c7a70ca78ec09774d16c8bc357f6d6f7bd441bf62d942 +MD = b587a785cdf455cc9c544e756c1e306300aa3c59f8725012e68ab4d54020b6d227a164d9f83c905e86f8cebeef708a69f976d6e7b18b9bf78e9b98cc4a5cd1b6 + +Len = 384 +Msg = 097c9db919515242c99d973acb1dc4ed482768f974eb83b465f9f6c82503372006e4490835e2ec8f92301130bfb790b2 +MD = ff5a376f938e73014caef7fe3962944a7230d020b7087869ebe7ec70302721cd06fcdc981c893a425d05e2f99fe198e4db50a088aee2bf1263212110efed422c + +Len = 392 +Msg = 77e73d387e7bc80419ebf5482b61d5255caf819fb59251ff6a384e75f601ea026d83ef950ed0b67518fb99dee0d8aaef1f +MD = c4c89cd882ec945cc888fb9a0127d35e585ecc14a75e4b5b3d8330538d22da28cf6af1ebec96dc247f109cd2aaab9756e6946a3d80db8363a4da3e6ddbb510a1 + +Len = 400 +Msg = 317e5d9ac73ed0633fa18ebebbca7909ec3a5ef790478f9c38cacec44f196d895835b425774483043341381e7af2d383e51a +MD = b10bb04491b9c0c334709b407cda1d503efb6b63ee944f2d366b6855e6e63e5b80115be4be7ff63edecdfb5923792e68123976d79212b3884dec2179d1fcf382 + +Len = 408 +Msg = 209461f20666a346fedf4a530f41a6fa280c43665767be923bc1d80bbcb8c9f8f93ad75782ea2689c8c5d211d2053b993145a0 +MD = 67b7a328d9444056a52ca2f695c5d3f3baafb625a14fb32eee8ff26a40ccb296bec1771a826b55f7ddb6170d4caf7795b612448e66a0f19356fe505927149b47 + +Len = 416 +Msg = 5d61aa45c446f3bf93604b0511313b4e2f306d6b046fbd94797b926746836f2e1dbdc56124060c6ca9c911b1122192d112420827 +MD = d3931bde2bde8271ed18ca0b9148b12f6f16161e637e376fc961f65bc33bcacf2f6addf26a3eaa81b196653cc37e8a739ec5b3df870d8c38c8f28691c22a39bb + +Len = 424 +Msg = 9288c795bb0b86c0419d9c5637dcc37b39bfa18d441e3fbfca75bc0306e5432e8e7b3a5627b5bc7fdc424a77520abdff566e7f2bb8 +MD = e363d0e95d8cd18c384016ebeed6d99c4fa2768e2bd58fca019c5108b9cde1cb46f3f884028a55ce282ec310a10037faa1b16b4a6a669957f0b00f350bbd63d0 + +Len = 432 +Msg = 780427dc164b2f69b8c7d569266f461e2d30c88c4cd6057fb030a6cf636f24e3c0d0db742a7b6193fdaa15eec50dfb4fae6ec7653c91 +MD = 2964b009fb1bf996de12e030b9d6e0608ae8b9dbf2acfb9beb76fc5361cc104ee85c2a46fb7b4cee90848312da302de49afe61c546477e2b25d223d5e3d33560 + +Len = 440 +Msg = ec2a92e47f692b53c1355475c71ceff0b0952a8b3541b2938270247d44e7c5cc04e17236b353da028674eab4047d89ec5dad868cfd91ce +MD = c83aca6147bfcbbc72c377efa8d53654ba0830c5a6a89e1d2a19b713e68fb534640deb833ca512247166dd273b5897e57d526f88eef58f6ff97baee0b4ee5644 + +Len = 448 +Msg = c99e31ad4e23ac68e15e605d0b02437f8147c44f5445a55b68a10905276cce8676481c33e8cd3efe322bb13fe0107bb546ccbec7b8b38d10 +MD = 52992d45a88221d972958e9f2854adaa9a21d2bf7051e1f1019ae78004da50c5b55c144a02afffe539d753949a2b056534f5b4c21f248a05baa52a6c38c7f5dd + +Len = 456 +Msg = 9aa3e8ad92777dfeb121a646ce2e918d1e12b30754bc09470d6da4af6cc9642b012f041ff046569d4fd8d0dccfe448e59feefc908d9ad5af6f +MD = 994d1cda4de40aff4713237cf9f78f7033af83369ac9c64e504091ea2f1caff6c5152d6a0c5608f82886c0093b3d7fbadd49dfd1f9e0f85accf23bc7dad48904 + +Len = 464 +Msg = 5842512c37312511a3d8ae41f5801df60cd682d58b4a997342b6e717e94006c214813e6c63e75591f957a7ec301779838bec8ae3ed7febad0805 +MD = 9763c43331ad0eb279d704c5f6e97e02da8724115026827f889e9fcda21f60fd230894ab35abb719890f3afa51afd31bc6852183b9c51059910af460abd2474d + +Len = 472 +Msg = ca14e2ea2f37c78f78ef280f58707ec549a31a94361073e37701bfe503e4c01ee1f2e123e00e81a188f08fa050825709128a9b66bb8ae6ea47e41d +MD = 4600e022a02258739f67fdd367cc1e662631fb087918768352062b9b3c8de8dbca0e9ec751b91f284694fbddb8d325c0637bccb21dd2efa92e48dbab2e5e9c26 + +Len = 480 +Msg = 647629c779b24c1e76f41744aba17159487532a0156a7d8264db50d645e9595ff81e0c96a850f2aa56c844c613a4b892727a9bfc3d3e20386766f805 +MD = 5bc842fc2d3b7eb31d2d3044df3ec32af114feaa7cfc27ebc8630f46ab6f0c543f59b812e776e5303861d17da3f1f16097641f3b808d4d5cb3e483946409746c + +Len = 488 +Msg = 1c5dc0d1dd2e4c717635ff3e9b67caf957aec0f8f63c1b1e221e800a4c14848f4ea06e644e5d3e1de592ef5a8007fa3f07171b24bd07578d68963e5cb1 +MD = cbf1ea86fa5b3dbf67be82fac41e84cccd0d296c757169b37837d273ccc015eecd102b9ce1cff68fdc7f05d22f2b774734f62ded54c8ee0bf57a5a82010d74f5 + +Len = 496 +Msg = 8a555e75477d065b3af7e615475f37c0a667f73a4c7af5e4a69f28a68d9f4434776a8f90eab7f1d137eb4b22643c0a0d6a16fcfaa1bd62f2783546a9695f +MD = c088e4a3d7da2f6f99a8f3f717361108872b8ffef921b383c24b8061d4e7c27fc56f4f20dc8f952a14043c5650b5a9e777c49c41cfeb3f2de97ee2e16b2c3924 + +Len = 504 +Msg = ebb3e2ad7803508ba46e81e220b1cff33ea8381504110e9f8092ef085afef84db0d436931d085d0e1b06bd218cf571c79338da31a83b4cb1ec6c06d6b98768 +MD = f33428d8fc67aa2cc1adcb2822f37f29cbd72abff68190483e415824f0bcecd447cb4f05a9c47031b9c50e0411c552f31cd04c30cea2bc64bcf825a5f8a66028 + +Len = 512 +Msg = c1ca70ae1279ba0b918157558b4920d6b7fba8a06be515170f202fafd36fb7f79d69fad745dba6150568db1e2b728504113eeac34f527fc82f2200b462ecbf5d +MD = 046e46623912b3932b8d662ab42583423843206301b58bf20ab6d76fd47f1cbbcf421df536ecd7e56db5354e7e0f98822d2129c197f6f0f222b8ec5231f3967d + +Len = 520 +Msg = d3ddddf805b1678a02e39200f6440047acbb062e4a2f046a3ca7f1dd6eb03a18be00cd1eb158706a64af5834c68cf7f105b415194605222c99a2cbf72c50cb14bf +MD = bae7c5d590bf25a493d8f48b8b4638ccb10541c67996e47287b984322009d27d1348f3ef2999f5ee0d38e112cd5a807a57830cdc318a1181e6c4653cdb8cf122 + +Len = 528 +Msg = 8e8ef8aa336b3b98894c3126c71878910618838c00ac8590173c91749972ff3d42a61137029ad74501684f75e1b8d1d74336aa908c44082ae9eb162e901867f54905 +MD = 41672931558a93762522b1d55389ecf1b8c0feb8b88f4587fbd417ca809055b0cb630d8bea133ab7f6cf1f21c6b35e2e25c0d19583258808e6c23e1a75336103 + +Len = 536 +Msg = 52761e1dac0eaea898e0b07cd24f4b2e6bb7bc200ea4b0528842f17b87154559a2ea94459a0e480ae0bdf9f757dd4a335aed0e510138b024a04ed1d591b4323234dbd5 +MD = b826fe80494e19c51b42f2582b2d080ba6b90512f35f2db67dd7fd5ee532eaa16498afba08b4996cbcfdf8d1a2df6b1da939e8265115a48aefa42f38205db436 + +Len = 544 +Msg = 3804ebc43cbea80c2bd7e4fda5c5515500cd2d2b846a1378dbf218d5c377138606eb3cb8ac88f9076f6ff4436f90717427c9df1ba052acbbe4585e98b6e8e0bf800f1946 +MD = 17dd6d87bc6773051e52047fd444996afa8124b0483fe121877f98553448772bd0e7751fc655e9cc2d29830211015d310f191474ca6adc0477a187c03b8fe252 + +Len = 552 +Msg = 2249d698c4d807a8e7b4de21c485738959a0d67e5d2ca6f77983dfccb5dbf47931261e1f1537f3cbca253afb6bf4fe5e7672e1dcc860b3d6c8d243afe2d9758b375e955692 +MD = 6af44563fc468d51182f6c3be58d45932af1d985c6f283976c91a9ff421f383fe21dc7322f397ccead583e26b3e3fda067976a7f34665df25a2ced7b4b09cdec + +Len = 560 +Msg = 32a9c17033658c54f22c7135ddfc879de94d79593ef2dc7d3041bfa872738389864eeda27801794ccc4ff1fcb5ef3fc48833801d6fe959e3627f8ea1536ad00fa9c7d7d9f043 +MD = 6a47699dd3ada2f11bc4ea42072b06cc20857bf164497df1285400c250f5848b6f71957dbdc845f5daeab913036661f69387893fc2d61c25fa59b9d85b19f401 + +Len = 568 +Msg = 3d65f69a590a5baaabcd274fe3ef9e88920ffc7adf05c16d7b0f4d18d72bac1e94c3b3d83b8f4c552eb80e9fde3911403f8b000579816f02e1716fd627946031d0af0793e7f3e1 +MD = ffb2d9450943c24b5933c24812459b75d3d9f380344c9bc06fa3e17ee448eca2f98ff79f7e2235ccd9f9a8176f68a2254bbc9b834d6ac8d2bfdbc1597c432c9f + +Len = 576 +Msg = 76ff8b20a18cf104f6cdb65e2ba8f66ecf844af7e85e8ef2da19e8848a16052ec405a644dafb5ca08ec48f97327ac52c0e56218402c72a9a6dc1cf344d58a716a78d7d7529680bae +MD = f8858144c6d709dd0689a526a548a43f17494950ba2ac20544799e8ea27201d78bce5b921e29a7b4029278e68341ef2a0ca4ba3894566b3c8f8950e3e545a689 + +Len = 584 +Msg = ca88dddfc876a12f45f19562bc9ca250f43267ab251a7f345c3c022e20144e135604078762ef5c8a8f038cf1b1d6a91709b59dd068396a9e971ab628f74886e765384a23607c1a1e6e +MD = 4f3d9eeef349ca51a7e419af1686f42795abde58a85335ce68d496e81e4436a80a61dc143a4300008c23a3e71f4ba98743195a3694a8d02fee11bd314569abc0 + +Len = 592 +Msg = 0a78b16b4026f7ec063db4e7b77c42a298e524e268093c5038853e217dcd65f66428650165fca06a1b4c9cf1537fb5d463630ff3bd71cf32c3538b1fdda3fed5c9f601203319b7e1869a +MD = 6095c3df5b9db7ce524d76123f77421ce888b86a477ae8c6db1d0be8d326d22c852915ab03c0c81a5b7ac71e2c14e74bda17a78d2b10585fa214f6546eb710a0 + +Len = 600 +Msg = 20f10ef9a0e6128675340171cd248df30b586557620b615ca39a00db534315a9012dbdbfd6a994986eb829dbe6cdaf3a37d4f59ac27298742c8f777b6b12677f21eb289129579868705f27 +MD = b4ead3f860eabbd36c770d66c7356f8107acd1485c7c94178c2eaabd50266d7645d009972586ef83ed43ed92882137df5117b88f35231b894ec1741ae7501145 + +Len = 608 +Msg = 995c8f747ea418f7d63aba2260b34ac3c7dceebb78438ca4b1f982b7db9798ec1a7f32622264cb024c0d9e60e955a6e1d677c923518851990a459b767d0f13cd803460f61870db3391b44693 +MD = a00a601edeaca83041dc452d438a8de549594e25d843c2cf60a0e009fb92d87abe28a72690ab657c8d35b43cd02d22ec0755de229d1f922fa6ca18a6d6c2aaae + +Len = 616 +Msg = 0feb23c7e4a19bcbd70bd300d76ec9045d696f8c9687f49ec4154400e231d2f0862495150cf250b6f12f172a7d130f8fa5d175bf2f25e280172ccdfb327951701165302728a619aa2f242631c9 +MD = eeb6dee30c119fb1e1eb5c15ff2b32d8b9c7464a4e4cc6815cd251a6bae29b49961dd5c2fa9c44a9b142ca062c7072cbf3db04299b767789040196bf0c06aa76 + +Len = 624 +Msg = ac59a110623f1a64666f160ed32926676cb5be25dd9d962f441951b0efcb5d6a67ac1a4eae473e49c6257860728853ff415c5e8ec76a8a462ecfd343eeac22dad820722c597332fbfd94ebbd32c6 +MD = f65ea942ae0a47e73b02b1442e5b26083db79307f64dd34a039c476faf18d5c514bb77a2c412a6074a7afc326ea66c74e5705fe2abbabf274333325a15b61fd9 + +Len = 632 +Msg = 9e3e1077e1333a1fb1aa633ccf2f746588ad426489ea08dff5511438b5f4c0b110d1a4d47b540a12b21ea2aa070578ccfa5c22fe0b743ec0cc621c6b3a03b75f4d3eea5dce89e03269afcd9603d0db +MD = 4b5c5df80c344c12388c723856cd06965b2190af652480476747dc2195ea3716f87c1762359583a5f31522f83f7833bec30f1f47d14540417dd463f5d258cd4a + +Len = 640 +Msg = e881e3284c79d8f5237e699e4fbca84090c664bb53229f58cb0842b0436710c9b329d98191b8f030e9c1df89b03858c1569c6ff49a7c07c4a23a8a434b0fde13be4f94cb44ee629d5b44d336090d3de6 +MD = 147d8071c7871ef9256cff32aa63ea031404fa5ee4ec09c56afdd5da919b0cc84a9d35d142c417715203316011cc620cd6855bb117063a5e52867facc680d5f4 + +Len = 648 +Msg = e58521098911503de84311387d375c25929e6e55076eb6934fd8f2b1bb7b9667fbd76d5ee204828769a341b1f716da5bdfece6c62a9f4d4f988267fce1f5615540dbe375324eef607c910d976b45a5ea5f +MD = f97ba056fa41f43b8e1987072a09e828c71c5ff6ad4e37f9ab6b89e2a078933dd23052fa72c6615b613904259e9ff9b55ef7b923b89bc8752f6babddd256e117 + +Len = 656 +Msg = 3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c9f133e5f8527f1b184830e07c3458c83a8ca9f9d9c6998760e610668ba0f22e22b656a737e978b246a17840b7dc4091da85f +MD = c8a466199acbcbc93f2ce042968508c046901631e3118a2d0bf39a9b42b4197a379b3a86cdeca9df2de1a3eb71b79ae9bf2d6575eadf1878029c4093133f54d3 + +Len = 664 +Msg = 9af608d031ccf309d7273c607a8e5e36840d449b55db5b13f03aeb9af49fa7e7cf1383ee2ed9c5a8b7515f16fb1c7c84a681590bf90f56597b844db5ebee223d78109b72350772f7c72ea996603e1e84f2ba5f +MD = f0ded9495b4f64cac585be8a737cfa14247a4a81cdf7f01ebcb134ace71f5a83df2cd72e7773fea1e82beae17e13857372792c8231e2ab9fbeb633e399d5f0ae + +Len = 672 +Msg = d0df1bdf1df6203241722fb9c9c1cf7405017497ae154538ccf9224ad752e6ce1d4ae948639aca70cfe86b2b06543cb9914ebd3085aa3e2963f6e9b93d0b03a31ae26fcb9ca974eee016c091a6fcac37b21cc1d7 +MD = c2da3ea3c8a3fd88a5bc5dea2bc076f861abedefae5a5fbd941ddfd1c41cc3312eb2dc826c2c0f65414fe72ebee447d2f9b1a6a56302660d1f86632ee80a175f + +Len = 680 +Msg = 8cbc9480553acef7bcdba9716ea8d66b4131780917de2b0b048045fcb32b5cac054808e1fce6e94ad851ecb47fe6cb802225d3551e08ea122093d0078dada564212eacf1d6394e0007cc62a1d595ab14ca08a284bc +MD = 63b39b88ceb848188b37316e04560e75a5340ab8d417932d231c997e892b41daa69d9fe3e9a14dd19ccfbbfa01488c208e7b946cfaf16ca2b1bf7c8d8da4e6b2 + +Len = 688 +Msg = 38f184448f3cf82a54cafc556aff336f23f9149e612134b3fc00c8a56455653d88640b12f69062b8432c4335ad8f7ab4ff66cb7eb54f332561a36f024d92c3e26276f4fd48619628cff88e4b8e85cf14ca4767ed990d +MD = 9a49265fc641c59f1a91872cdae490d3da73c0c60fd59648e1d17dba1a647a5b95629392bb4ff5163d1a3cb45427c1437a3b2e1d9f030c0a8bcc5ed22da9e2ed + +Len = 696 +Msg = 70900618b1e9e9db62296fb6c6590c9f10b0a632765c489c887f1ab7c07791765a62e38465e1be281b1d396c6e080b7ee3e6fa56a30b9799d0e629be153ee76f81bc6a3295aa61489bfa87d53a8ad24248a6ede0dfcfe9 +MD = 1c8c3357ff1f8d6ac4defb3af462a73e09159e3a20c6506edd8cd3052df941c81f68c5fbb893912619e28640977fe8eaae8e9d5d4e7d5f132552cefab4540bac + +Len = 704 +Msg = 4e6ddae0d805afcd10a055bce584c848d050fb29fe8f1c64b18e1abfe46b65782e6ff536e89d8d40928b41ed7371365c8080a9647f7532ce6c6d4ac21cfb0c8020783851ec9a7dbc3948f8fca7adf8b2a78c04d898d31ff6 +MD = 5c2f996c779b91b3c4639311f54fabbdde7e2212b53dbae4828c8399588fc00d3b2ae60918aaaf6bb48bc757e52b2bcea84f5d15bf4ec25d5519fb54f6f26e1b + +Len = 712 +Msg = 696825f6d6ea8173ec47d0959a401c4ddf69f8f08ddd678a4d2ff976e3a4372bb39f4159845cb63585e1d4108d32e12fa7c5c9d7ce3508a7f53aca2b4bd951adbcd8984ebb7536563f5884c90bc5023b3316f7e4dc6958f743 +MD = 3ce940ca96b00011375daa95c65f66907d69b3eb3b8d779e6fc971afcc05e990bc4c541f434590f6b18b68c080d0f24475a3e764e9cb85343301314ee2fb661e + +Len = 720 +Msg = 79ecdfd47a29a74220a52819ce4589747f2b30b364d0852cce52f91e4f0f48e61c72fa76b60d3002cae89dfc5519d3430b95c098fa4678516b5e355109ea9b3745aa41d6f8206ee64ae720f8d44653b001057f2eba7f63cd42f9 +MD = ba3d0fe04470f4cf8f08c46d82ae3afd1caea8c13bebbe026b5c1777aa59860af2e3da7751844e0be24072af48bc8a6fd77678aaee04e08f63395f5c8a465763 + +Len = 728 +Msg = 9263fe75e8f6c7d5d642e2ca6a6eea4f44e9a0f249513ed79c9409ffca5526ca4491aebb1382057cc7c36722b0b6c3b15123cde312214f25353abfe30bca170568a8e1ba5408917403a01834080ab607c56a10d0265082498fe0b6 +MD = 7736d7a7fc1eb05857ce7d88abfffa87f58c670bfdfc0a8031f60f379e4b6ad94ac8f13ffe28c697809b5cfac7f13be01e7496a85237c4025539051fb2e32fb6 + +Len = 736 +Msg = 78c17bfe0e02eb526d1a44a1ac127be082181452b625394bd6dc093a2cb432e6ee59c2f8b5503aba30dae41e1a1c6702697c99b2c94e94af48b00caf53b2e0e4e1bbee81ee282c7b2b35f58cf421a07e828d57a6622626af25835399 +MD = b56b6e343166328523e0d1693e5174da643ae83cf69c85a7b3c3bee247b77b84702069d9e6b4cab03bf17fe612009bf4239683ca78ca7e876aca7d07603ba714 + +Len = 744 +Msg = 298bb304a920f960447d8fd38b061bf8fe4ac1f871d8a0feb4549feb72ca694a5a41b6867d94cd5af77d468ad2f315d127b6c41a862800f3985e573e037740298e2c5c6186a9fb83609be2d49f8b4c31f96a2e49b56dbf09571b38587f +MD = 34e3878627904ffbbbd85266cc973c34f931e3cab5d4c31f841c553dd69f84838206067df4f9f3b9102001be19267151e673f5c2d4c2f8438a6999a0a325487d + +Len = 752 +Msg = a3cf714bf112647e727e8cfd46499acd35a640dd393ddd263cd85cf6225f59890a0686dad1c54eb8d809b81c08a98dba131bbdd6fce8ff59d95db824d8831ea480529da739227a6e0f62b603b38c35cdc2581f614a31879b8be54aeefaa0 +MD = 6f230ae4903ddbef0ba384c2e3506eab318bfd1a46ea76099f65a3fd529c91bc2865b9fd943e346de64626b8529f9db1377bf2c5e0129c66b50c6a5cfb364b3a + +Len = 760 +Msg = 0a427ae55ef3a7e6044a08cf6128cbaaabfd776c4e9374708f2ece246fd73603d2f54ac3e01d16cfac2bdaf713920d66e8f0a3d54ee68cff64267d5528cdf2f295f474d10f81173e0143488ac53fc503c444ed23dec63a080ce90c2443dba8 +MD = f6bbe5d0cf13ddf41c1436748a5d1ccae2948547b452c2171c7c8e8b66c6ae4de3c0e8b2962bcb60d3de3608479f80e455c9024d9716c38f6f1206861ab1eaac + +Len = 768 +Msg = 2cbbb87511f4948efec3a61b511ededb1dda8b6ecfc0210c11e43a77ee32dc2e374afae4268e3d30427804868232a966b56006d3214037076bf6a265b72135af0fb2ef7909fea2dea412f7717446b276ff153753662b4d4148c02347e3259169 +MD = 76897b87a8a1cf835c434f6d391c9e5227351af9d3e20a3389c796b98b424281a59068d9c8d567ec2bebc435b0126b059e2d86394a9854d6611e1c922f385496 + +Len = 776 +Msg = 2b23324c9992f60a7fc010159a03cb9a2b290df4fa6a82359b9af602f0a403a5ef33ed5da5b2caf87b77e6a4b93b650348ce2a7dbc08f8da9203d710b587ba5947c65e899f4a759f8e2b049ae7850a8e3e2962f6ef93ea4c631de5d78e729ec5bc +MD = 3beea0b373ed09cf1c919c51d86d642c9125e0ee81698dc4cbadf02e9e6925efb562fd9b87301a6377ca192be79c4118deabc450b54639000c2e312945451fb5 + +Len = 784 +Msg = 4022f930c7033b00d986c65ff6bbbdf9ebd0e58c52844ff658df3893c3202dc533f873d4a7f5a5f944419fb5528c9b6788479a1e891306acae7995fc06db70a59baa95bef7da79f5e793f2db7f2a55825e4fdb4a34884af881ded1089fd5334502a2 +MD = 0358775bbb733ccc49e78f544aeee512370d480d0e13c7e8d5c444c423e592146b45fdb91a1b694d35e36b60e4bc8397fca8bb9790e619339778b9cd1abe3fe9 + +Len = 792 +Msg = 1cb77ba43ce77e236b9fc925f589b1c070780a84f99e8f50c1ff846ac92599cfe91612c8178325bee642a34f4dffdba2aa2ebcf7064339829b26f27993e1106c139c70d578cc05f0e1a777cceddb10a2c67fd9675e4a009df8037d6eeb38f5fba233df +MD = 6502f46551a3fab3a96428fb97801d7a4aa2f17fef6603238df84e17c74309ed3d9489c8b16a9384ee634a3f86d0b3ba9a4dbc9c51ec8bd4bf8d61de6d3d87d7 + +Len = 800 +Msg = 52167de2d6c502d99fa10c27b2ab6203bdebc2cafbbfdef15872a43dd610c2362f796ad9bcb5528d95870058fa454453f1e6065b315d410a3f2650e5d71e69d78d9767dfb4accc057fd2069266b0f180cb319e30ded7535bbe52d24be151de4bb598fc5c +MD = 25cb3ed3983a91b4cf37a65193916c5e3e211b63e943e2f7b50a85d349a463b941aad33eff16561bdfdc92fda06a4e1d94b162de48f06d3c626940b31020925f + +Len = 808 +Msg = cede6697d422ddaa78e2d55ae080b8b9e9356c69bc558201a2d4b0b3190a812c27b34bbcee3a62b781378b1bf636b372bcbae1fa2f816a046a0a649a5c555c641fea4ccd841cc761f38f777972f8c91b0324e71c333ce787f04741439bf087ef5e895011c0 +MD = 0be42a25d77ac6ad995c6be48e783380bad25a61732f87cefb0cce1a769cd69081f494a1a12d657664ef2b4d9c41f2ee83f6e9a84327d8756af9f985595e7d3b + +Len = 816 +Msg = 56d18d3e2e496440d0a5c9e1bcb464faf5bc70a8b562124f5fc9e9deb5fee6544b945e833b8b5d131b773ecb2cdd780cd4e1bb9e4f1e3cb0a1d64d19cf4b30e44e6c2d0cbcb4e284ce50db7a8a8062ddb63f981d9026c532bf8eeddf8af5a43848a32262178c +MD = 982dc61c91a93770582eee8025aa55da8e9edb966bf5cf70d4a6534c0d53a2789a8c4fb65b7fed478cda02ed1e0d198d85c5c735b2417c5fab5d34e969fc8e7e + +Len = 824 +Msg = 25a7320dfaec5af65da4d0f8688e29e8e95532ecc16679ea8aff0f407d898db6922855b0e8901aa9681aa3dca617cb440764cdc7293fbeaf7f585b593c2b0531738e0ade7c8626b9995f4a84d9fc9b593d6bbee01abc53c5be14bf6956fd2fd81000dafc7c7686 +MD = 749c928c3d5510925bfe98659025b0ed7c01acd4d59a9bf1c54863a088091771dc9d407bdbf83b0f44b0902e10349ba79c84d0981d5e8c4f5c733a117fed0790 + +Len = 832 +Msg = 3d7177b28ffd916e7e0634895833ba0bd9e0653df2cc4202c811536a005aec853a505e75db55d3c7107579041099e382a1feac80dde65d72368e909ab85f56d88e68d7c3c80c38f85bf8c2b36959409cc34ba8e3ad94fe8ee1927612d672d92141a329c4dd8a88a9 +MD = 14a331508cd7d94fcce56a66bf65f20870a281c8442f8dbd4c2371454a2b66f8d0994a0b67692e771efc6a5e0b887acae7d6f4ec7338e1aa89f2abc7034c4e4c + +Len = 840 +Msg = c033e4a512297caecdbead892b11a9f7007af9a74bcab89e0bd4ffdd542ca03ea12e17a06c42bd43fc5f3f757fce4f6f5831997abac3f95676e1ebdb11ca43e11aa31e5ebabe18ce8d1bbfd8b02f482e1ce581b532e307e6960eb97441506c2ed299e1282523f41527 +MD = 95ac9b7d22aa458921874c4b4331e7d64761853217c3f83c601abcbccd7e2eaa6ca6ce9a22ebcfe5046d52f8a09097f043ab8bc59243fd770090bb432c3155e9 + +Len = 848 +Msg = 69fff0f1a3dbfb36e32f025819fa99ea9a0edaef73145bf7fcd05d8bb0a646cb3b5d5256d524856acfd2e44d6b72e4ebf1ff23c0ff6c56f821e782d5a15f7052a1445b06668eeb4af700679ee7ae26496fbd4640c06aa149964dfd6011df835ac13b73c8ff21151e8440 +MD = 45d4daa652558d1c12beb0f5662c712f325b4c802fc6eb9ee039c949d002bb786f1a732712be941f9c5c79b3e5c43064d63a38578e5a54ee526acb735b9ad45f + +Len = 856 +Msg = b2c439c97ab7c63736b3796324d68eeb7a471ed142bd9622684167d61234fff82f93f907537a909bc2e75a4bcbc133cf57197662c1af746ae8b81e5b83de05d9b589851de25d3c99c004c1dfb12d93bf50d450af49c428716f5b90ef088e3b6a6b2c46d3ce67b379599018 +MD = c48ec83be5fa669e6ec8db90aca9676cfe2ec0d5e8e7a2431687bb953c0a300be3db4075cca3bac4dfa4d971baf0fa1aff46639db4b238856ff36d1dfcd520f1 + +Len = 864 +Msg = c016f522f26b7470e922b9a287e6d45f6c28813b68c1457e36d9ba266708272f9cbc5411f8db9d8bd5a9449fb6eb0cde7d4d03e5df019f2814a90ceed377c59d7d92623899bcb0268033073559d4d8de488686cbe3d67796e6df6ad4276d0b52cc62c49ebb58d7c95287aa6c +MD = 7402f1a99b47e102b3b73140c6771b07ee6c33b3715e9c4027c441bee40511b735d95e508baea78da26fded9b7038e9a53defa58448aba40dc1e62d7ec592107 + +Len = 872 +Msg = a766b2a7ef916721f4677b67dbc65ef9b4d1bda1ad4e53fc854b0236440822152a111939e5ab2ba207719472b63fd4f4a54f4bde44a205d334a2d72cfe05abf804f41841b86d36920be6b0b529331ac163a985556c84511ec986439f83e1d7311f57d848cfa02df9ea0cf6b99a +MD = ddd60f93a3babc78299cf763e7919d45ac6f479700e1adb05ab137acdf89c1521ecb9dfeacd091e58ca57a1db964a9c3cd1fa39192cc1e9f734caa1c5fa62975 + +Len = 880 +Msg = 10f2be77a4055771a67007cd8630e3230e38288499cb160380290174d66da57455b6baaa9785c84c8a663de41ed3bd544055b9170cec43cb3eb120eceaba1fe36e3eaa3fa4f99b425cd2519f09bc0282bada52d14ce625b1ded3b24d86b1dad342d2b7be322b775b04fc6b86afb4 +MD = a872fa33d463b3343cec57c20c66979c33e1ad067bfc703454696aab5dd0003bc194318f4a8ebbc74503feb7211a472dadee991efe3e38f21a1310f8a76eac80 + +Len = 888 +Msg = 324533e685f1852e358eea8ea8b81c288b3f3beb1f2bc2b8d3fdbac318382e3d7120de30c9c237aa0a34831deb1e5e060a7969cd3a9742ec1e64b354f7eb290cba1c681c66cc7ea994fdf5614f604d1a2718aab581c1c94931b1387e4b7dc73635bf3a7301174075fa70a9227d85d3 +MD = 3b26c5170729d0814153becb95f1b65cd42f9a6d0649d914e4f69d938b5e9dc041cd0f5c8da0b484d7c7bc7b1bdefb08fe8b1bfedc81109345bc9e9a399feedf + +Len = 896 +Msg = 518985977ee21d2bf622a20567124fcbf11c72df805365835ab3c041f4a9cd8a0ad63c9dee1018aa21a9fa3720f47dc48006f1aa3dba544950f87e627f369bc2793ede21223274492cceb77be7eea50e5a509059929a16d33a9f54796cde5770c74bd3ecc25318503f1a41976407aff2 +MD = c00926a374cde55b8fbd77f50da1363da19744d3f464e07ce31794c5a61b6f9c85689fa1cfe136553527fd876be91673c2cac2dd157b2defea360851b6d92cf4 + +Len = 904 +Msg = 9159767275ba6f79cbb3d58c0108339d8c6a41138991ab7aa58b14793b545b04bda61dd255127b12cc501d5aaad476e09fa14aec21626e8d57b7d08c36cdb79eea314bdd77e65779a0b54eab08c48ceb976adf631f4246a33f7ef896887ea8b5dfa2087a225c8c180f8970696101fc283b +MD = 3cd3380a90868de17dee4bd4d7f90d7512696f0a92b2d089240d61a9d20cd3af094c78bf466c2d404dd2f662ec5f4a299be2adeadf627b98e50e1c072b769d62 + +Len = 912 +Msg = fe2d8ae200e6657fdc7494af5a12b2ae940348f1f983f0ba98febbe99c80d115126d57dbf37296765ebb5990256696588b3851d54c8fbe7ade98a6faf7c20b5e4f730f54a7f912ca0ac31bbb53d17949ef69aa0de40c7bab12a871a9b90f68813ca87af4256422a268f4a1d8ec3aa1a947fd +MD = 8025a8608df0f6a01c34cdec012d4cb25852e1b100b68172fc4e86ac8b7126b64859cb9e767a7e59060989cedbd925afc475ca7369bd43f85ae590e224e036dd + +Len = 920 +Msg = dc28484ebfd293d62ac759d5754bdf502423e4d419fa79020805134b2ce3dff738c7556c91d810adbad8dd210f041296b73c2185d4646c97fc0a5b69ed49ac8c7ced0bd1cfd7e3c3cca47374d189247da6811a40b0ab097067ed4ad40ade2e4791e39204e398b3204971445822a1be0dd93af8 +MD = 615115d2e8b62e345adaa4bdb95395a3b4fe27d71c4a111b86c1841463c5f03d6b20d164a39948ab08ae060720d05c10f6022e5c8caf2fa3bca2e04d9c539ded + +Len = 928 +Msg = 5af8c0f26db4e99b47ec2e4a01a786e77899e46d464ac337f175027b61aef3149848af849d76ac39b9b0910fe6594817859e55974fa167518ed72d088dae6b414d744d477974fb719c626da792f981233de24b7579d8acca510a266d73c0ee8ee1424343eaf6ffcc59c86c1becce5894072c6c11 +MD = 09da284d5b6556508be54c8ab6c97bbd472995c6bbd585917ecdb54ea9167208daaa070a7b2b7d8e93ce1315f0d1ef8d69667429c44dc5ee1499de57b229a398 + +Len = 936 +Msg = 49cd0ba0df5bb3f43f68464e3e83e9cbd5d5ee077ffa5591e30f939cb30c93f7d454fb3fbf8bb05327a89c08dc4baf1eef50237317a405775357f1e0d1f31d9f0f0d98124019d47bf18363b1ecfbfe155c10cbc83300e01bc9ce0347c596b35f411e6d8229ad2855e42022b0373ade98663c6d6e9c +MD = 30cbf0679a97c871574d2fc05d7aa760c6bc8a864b7d246c39b9e812f9b7ff7b4ef5197dd5b69493306688b8564de1ad47d75505c913ba6a78788f8caf5788bd + +Len = 944 +Msg = a8a37dfc083ad2f47fff468738bf8b728eb7f1907e427fa15cb4424bc685e55ed7b2825c9c60b839ccc2fe5fb33e36f570cb8661609e630bda05ee641d938428867d90e00744a4aad494c93c5f6d1327878078590cdce1e647c9820818f467641fcd508e2f2ebfd0ff3d4f272393478f3b9e6f806b43 +MD = 8e1c91729be8eb40226f6c58a029380ef7edb9dc166a5c3cdbcefe90bd30d85cb7c4b248e66abf0a3a4c842281299bef6db88858d9e5ab5244f70b7969e1c072 + +Len = 952 +Msg = 36af17595494ef793c42f48410246df07d05936a918afe74cd005e537c586b2843701f5df8952242b74586f83339b48f4ba3a66bdeb457ecdf61784eac6765cd9b8c570dd628dbba6ae5836b9ac3dbcd795f9efdb8742a35bca232abf36eb3b6698b2933965802277ba953a6edcacaf330c1e4e8c7d45f +MD = 158bfc348a30b4fabbe355a7d44bdc2122a4c850444c03f289003ce01bfc1ebf3ecc0febb6a8ff523d25db7681b05bdce048d11943ab476c1967cf6556c4a120 + +Len = 960 +Msg = 42d66edc5f22e0c13c25504c5101a5d172d2db7209e461efa323c0bfaed27e5f808042ea9c3838ea31f9b76de465225ccfbd0c09ca0d9f07e9a43e3e46c7693e00a7e1d483900ddb0a629d5563456dbbf299ac91f92c3d3c17b05d180e6c87c6c93194c39d90273fcf4a482c56084f95e34c04311fa80438 +MD = 061afb119a3c60876e04c10f12ad0f4b977593dc5a2d21096a57e7d3f7d4d44fdef934b2c17d7530674e4f4a1c176dbdcc54811a22e1b8712e4192fc2d4bf8e8 + +Len = 968 +Msg = f91bb2e1a9c4cd96bf250426b3a6afd9b87ac51e93254d2dae3b16ec686ba80fb0bd7a84d218660e9007593075bc4f4c66567f0c7a5fd2010c999a8a0efa81f89ff5bfefe0fb910f0442e6d4a7c55bbb618c69a79a2ddd82a0938927f6fe3a80f04beaeb7c7636e3435d12dcf1c6bb6ed0a4edb69c9657fa93 +MD = 6e692c8c694ee0a3565f37a299e0006b85ab4a821b20e76798220229f656efc6a20211a4e7e4ed77facde0d70e4d5d95bc8ed1d7a56d8df1446d562f044b344c + +Len = 976 +Msg = d1eb961ca6a8f67c49b61e4d3ceaa2a1de6f0ea927b132bf987abdaa725b0e1e274e46830e99a2f75af608964df0dff9a99024fc6839bac5acd10202f921ac71a27fcda681aa3109ebf5f21ee3a849098ea3a551e844fae4b48b5c5bb97ccc802bc5520d68a14cb7e5fc056b67d889d876efb82d0e9a9a2499f1 +MD = 39b2c76ec207120de4b320c7fe069e602c9c38f257596da7369395e87eb64b3acff988c1839ac269d5012c093f9edd4b7cabf13bdea7d42e969ab108269c6ab0 + +Len = 984 +Msg = adf2263200f376886ba7b6f5e4411d5f07f7d9d101590c73ace114bafbcb0fdc99269e87cd2cead2a1cfe5744394d333aba408a07e21f30233b65b907472e9e3c7d6e7aa6d2c47a08a1be7bb877913a6b5604c723384478911c339e3b5fe527c7e288705a89c95d970b443347897e79f6c522bafe62b11ef8f3135 +MD = 3c23d2d8cf4db6ac6a42e27208180f37668bef5ee0a3f879483c8e604e7f42583f202037b8d242c04a87345b8be6dc8b121d6484b9edad0d73c894c1288f5cae + +Len = 992 +Msg = 18e75b47d898ac629c48e80dbfb75dae1e1700b771165eccdb18d628bfc4063dd6c3839a7ec4cd1255c4821b078cd174647b320bb685541d517c579f6b8e3cdd2e109a610c7a921653b204ad018d0340d9938735b60262662016767e1d8824a64954086229c0e3b5bd9ad88c54c1dc5aa4e768ff1a9470ee6f6e998f +MD = 01c756b7c20b5f95fd2b079ab6a50f28b946fb16266b07c6060945dc4fe9e0d279c5b1505b9ec7d8f8f3c9ebf0c5ee9365aec08cf278d65b64daeccc19d3cbf4 + +Len = 1000 +Msg = c2963342cfaa88ccd102a258e6d629f6b0d367dd55116502ca4451ea523623bc4175819a0648df3168e8ea8f10ed27354807d76e02ee1fdf1c9c655ee2b9fd08d557058dabdf8dcf964bfcacc996ae173971e26ea038d407c824260d06c2848a04a488c4c456dbcde2939e561ab908c4097b508638d6cda556465c9cc5 +MD = a4d2f59393a5fea612c3c745f4bb9f41aaf3a3ce1679aa8afc1a62baa4ed452819418c8ae1a1e658757976692390fc43d4decf7d855cd8b498b6dc60cae05a90 + +Len = 1008 +Msg = 85360c3d4257d9878e2f5c16d3cd7d0747df3d231e1a8f63fddc69b3b1101af72153de4c8154b090c9815f2466e0e4f02f3af3a89a7fd04e306664f93e5490d4ce7fc169d553c520ae15dd02c7c613c39b4acd00e0c9a3c501566e52cecea11f7303dd1da61abf3f2532fd396047b1887255f4b256c0afcf58f3ae48c947 +MD = e8352ddcac59e377ea0f9c32bbb43dfd1b6c829fad1954240c41b7c45b0b09db11064b64e2442a96f6530aac2c4abf3beb1eae77f2bce4efe88fee1a70cf5423 + +Len = 1016 +Msg = c13e6ca3abb893aa5f82c4a8ef754460628af6b75af02168f45b72f8f09e45ed127c203bc7bb80ff0c7bd96f8cc6d8110868eb2cfc01037d8058992a6cf2effcbfe498c842e53a2e68a793867968ba18efc4a78b21cdf6a11e5de821dcabab14921ddb33625d48a13baffad6fe8272dbdf4433bd0f7b813c981269c388f001 +MD = 6e56f77f6883d0bd4face8b8d557f144661989f66d51b1fe4b8fc7124d66d9d20218616fea1bcf86c08d63bf8f2f21845a3e519083b937e70aa7c358310b5a7c + +Len = 1024 +Msg = fd2203e467574e834ab07c9097ae164532f24be1eb5d88f1af7748ceff0d2c67a21f4e4097f9d3bb4e9fbf97186e0db6db0100230a52b453d421f8ab9c9a6043aa3295ea20d2f06a2f37470d8a99075f1b8a8336f6228cf08b5942fc1fb4299c7d2480e8e82bce175540bdfad7752bc95b577f229515394f3ae5cec870a4b2f8 +MD = a21b1077d52b27ac545af63b32746c6e3c51cb0cb9f281eb9f3580a6d4996d5c9917d2a6e484627a9d5a06fa1b25327a9d710e027387fc3e07d7c4d14c6086cc + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512_224ShortMsg.rsp b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512_224ShortMsg.rsp new file mode 100644 index 000000000..695aa797c --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512_224ShortMsg.rsp @@ -0,0 +1,523 @@ +# CAVS 21.1 +# "SHA-512/224 ShortMsg" information for "sha_values" +# SHA-512/224 tests are configured for BYTE oriented implementations +# Generated on Mon Jul 10 14:34:13 2017 + +[L = 28] + +Len = 0 +Msg = 00 +MD = 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 + +Len = 8 +Msg = cf +MD = 4199239e87d47b6feda016802bf367fb6e8b5655eff6225cb2668f4a + +Len = 16 +Msg = ca2d +MD = 392b99b593b85e147f031986c2a9edfdb4ffd9f24c77c452d339c9fc + +Len = 24 +Msg = 497604 +MD = a9c345d58a959af20a42c84e28523ba47e3bf8fad8e8c3f32b7a72ae + +Len = 32 +Msg = c2eb0c88 +MD = c5b97f1e46d91c3940be8cfef1e49baa77b475db943e49f00cddbe72 + +Len = 40 +Msg = d28bc2aa3f +MD = e79de552120a87585e7313e24ecd74139a3be9ba2812936c4b33ca23 + +Len = 48 +Msg = b4142ca79f6d +MD = 2a0ed8eb0e18bc189f5c836dc6a5825baa6f7286fa5b9689b641bb3b + +Len = 56 +Msg = 8daedf3c420c8c +MD = 4edac91a8eba35a1431ef4d49705db12da382a786d15636774cbd708 + +Len = 64 +Msg = 6963446913771410 +MD = 21f6c373637e6a5e89d6e88811110c5c3fa12e497144912914c546e1 + +Len = 72 +Msg = 6f316ab2b40f096819 +MD = 5899542e9a78d1403929c4346993e213b83c32f91274bddbc63e4192 + +Len = 80 +Msg = 5819a77fa1a8f9c35d17 +MD = 2e944a5c534b80922f6c21e97277b4a01a4a0fa652d6d40b37fb0fc9 + +Len = 88 +Msg = 3c7e038401fa74c6c06e41 +MD = a74af68819afe81bcdaceba64201c0d41f843e4b08e4002a375be761 + +Len = 96 +Msg = e243b9f901855447fa2af302 +MD = 330c77ed20dc93cabf0df3442c620c9df5c7a02d7c79fc1d2ff7ff94 + +Len = 104 +Msg = c5f942edc46407c6019cd926a0 +MD = e180a0d83683cb7e79d812ab5d4288399c78895c6a918e99a2839155 + +Len = 112 +Msg = e57d4c478ad6a64b8bf3352e75b6 +MD = 18b3e8f5a1fb603c67060c12a736e57c5ccc0b89fc62c90b02dd926b + +Len = 120 +Msg = 32d049928a583b5b954785805d8b26 +MD = 18f87e8e6b54ec4336442f76eda0b32dcb64d463c0be69e348f86c34 + +Len = 128 +Msg = 3b2542cb3fa560dd0d796d59ee151fee +MD = dc4ab34db241b3fc2055c54f70a8fd304523d8c4202852f5f077644f + +Len = 136 +Msg = ecbe367959a91b15eb08048b33752ef76d +MD = b76eaa7dde45ed50c07b5bafafbfdcc0959c1a64eca7adc391aba245 + +Len = 144 +Msg = 40bd7d47b636c2a749a247fdda75807c238b +MD = 087ed68f1db90ffb2fb4ff7dc4b17fe08100b64383850378ef543339 + +Len = 152 +Msg = 331c8939ef685ae0efcd4030378a8b0ab720c7 +MD = 97874d56296a28f8df280448f76a9e806605da257a6083598f232e4d + +Len = 160 +Msg = 26634d1eb3cc2793830c97f49674bda74743eb8f +MD = 8294b112588dfb9c553ac88fbd8441722cec6a1d435311fe72e0110c + +Len = 168 +Msg = 62ed23ab88c30fe1350f702f3b6d45253a0fc6aec1 +MD = 309db70638771e2eec309abfda219e5f13bac5fa9d5e84e727764bca + +Len = 176 +Msg = 827dbbe36fb2663c95eaf81c7ce441dca66405050ad8 +MD = 39e786a93dc90e96471e466950a5a0f7f142ca69c1251b932e8bbf45 + +Len = 184 +Msg = a2ada61a95cf8fb6f93cbd0aa67b70e286dc853afa51f8 +MD = e821247c7bc7ac8ef07fb31ac25fb48a3fbc50fde399a3cb5889545f + +Len = 192 +Msg = 5633ee7b8870002c01a3c6f68f7812f13adfe0bf6fa794bf +MD = c34b467858b65202fd8c73ffac67cd8ee55118d12beb2b110b63ae43 + +Len = 200 +Msg = da1dd1ebea3cc9474cf255dc23e35695026e86d6093abab251 +MD = e650802f29ad20b900148cf3e9361399e6207d455257fbae3efee50c + +Len = 208 +Msg = 8f71c9344ce6a535d104803d22119f57b5f9477e253817a52afa +MD = 6b3a288bd84137cd7600ccf2d2ab9b797d0e87a18ccb468183396235 + +Len = 216 +Msg = d668a21780594024db025dcb373ef3639bcd5743145527e24da67d +MD = 2b93446d3aa2f1f9ea858e47806cc472f40e33085b7c7a6522cf6548 + +Len = 224 +Msg = 03f8cf98035eac158ff18fd93b44cdb621597255d7c3d97a9e087989 +MD = e1fc5f508deed8bf74883b6fdef8c3e0c86306e7f1d6300cce4d36dc + +Len = 232 +Msg = 2a1f57998360e9216f5040e8f75f5bffba4368eeedede54aa0bb058a43 +MD = bdc91e679fc2f4e40af13f03eca3f61a7ba33ac2c613d948ed7fc0bc + +Len = 240 +Msg = cd5fee5fde5e9aa2884b4f4882cfa7d5571f8fd572c5f9bf77a3d21fda35 +MD = 72b43417b071f4811833027731b0ca28549c0357530fe258ca00533e + +Len = 248 +Msg = a9a73038a28e40feb374819df3a26db846fda284de7e88db01e2348c0ca38c +MD = a5baddceed5b58614c95b8a621d58cd4b12559bd34795ef5be9cd603 + +Len = 256 +Msg = be4850f5be6cb68cdba5948e3b94dbbce82989aa75b97073e55139aac849a894 +MD = c11eedaadc5249cefafc5a9fadf39e812db700bd2767b8de1cdd6099 + +Len = 264 +Msg = ced78bf0734a527f5c07ef6c8adf80ae252b8cff100d393ec1f8c01150721fcecd +MD = d4237aa1956d37a6dcab7b07269f18228f7e3156c3555cf4d3d68c1a + +Len = 272 +Msg = e400bc8994cff23eae189df3b1e7e440a6b5b1786197128105b5dfe2c6fe9d1ef31a +MD = 45351adffefcfb5e39085461f8bff5f5652a5aa5a0401f04d4f56452 + +Len = 280 +Msg = f15284a11c61e129ea0606bd6531f2f1213776e01e253d1def530bed1c3c42b3c68caa +MD = fa425bc732d6033566c073560b2c5fe322aa4fa22aaa3ec51154ffd8 + +Len = 288 +Msg = d858eed942fe926b52bada623fb8d0f18458e4163332e1c18c581f38cedafbba4d908462 +MD = b2b308db948d7169c8eebb4d7a19be96d5c4b5849593ec587d3865e6 + +Len = 296 +Msg = 78b8ad2372632398cf56717df3b141a4f38d5d83029bc1f02d07f52949a39917294141d414 +MD = 71be05862b44e9f57ad9be17f1de185471eabd111c1725e835e09625 + +Len = 304 +Msg = faff894c4a2ed70c4c9d6703b6bc3a3d2b2cba8f04769de350fc0cd01930056eea03fe688da1 +MD = 59f5a8c843b982989a08e6852e34f0c03397c99a87864dfb1bbafe1c + +Len = 312 +Msg = e6065e1eb7cf901c3b08dba4aeca7d4673c3fdbe60391c1b5d4d09202d7dd4ea8b6d25d379e72e +MD = ea8564c988cb67e302bd40df21a5f796a0a116846493c86c3a1d080e + +Len = 320 +Msg = 029d14c5a4a57a649a86c5f2e022e6ee098f29c9d4606548ff2775296038ec0931af0585acb4d9a0 +MD = 716668cba7b1c0ddc1c4b3e6fe3f8917eada62506b6855e5af2b54e5 + +Len = 328 +Msg = e3089c05ce1549c47a97785d82474c73cb096a27c5205de8ed9e3a8c971f7fa0eab741fd2c29879c40 +MD = 75a0fa978c45d268124d8cd9ef0a08ecabbbed53412cfc7cb1c00398 + +Len = 336 +Msg = 901db0f70f2d10626a8af408c5d15196693d49382178ad0de3b1c1d8b3ef3ff8c5a59e9ae286932d0c9a +MD = 1470a4199fe4c7bc330760c1197e79457b1644764e28a62d386a78b4 + +Len = 344 +Msg = 0431a7bfbbec1bb8116a62e1db7e1346862d31ad5110ff1bb9fa169a35dbb43a24e4575604ec8b18e41300 +MD = 1e7590e408c038b794e9820b25d011c262062b96d111dccc46dc6783 + +Len = 352 +Msg = d141753cef2e1b442eb01708f46719cd8653b22e1d9709073d7ccf9242b875d03cf19c2bfc7dcd596f6c6a83 +MD = 0f357b8ca676a86ca63620b2239327accbd4252814a6b8c56895ea58 + +Len = 360 +Msg = ce94e0126b020d68115a5ea41083b4717a13d9c57a5b6d0ae7a3237c19b62dd2fca2f42062b90dfc9edb68e04e +MD = 935d391d626a135772319ec93fd652bd9fd5680107c987872ae67212 + +Len = 368 +Msg = efc2d81b30043bb26c8d2c7a7d5bfe8ee579e463122d56a0e172b63060a83495d88bef7f0b625c9dba78ecb36ad0 +MD = d9214789b7b736a7b28cebff8829a3999ff0c7496095b130c1e2e829 + +Len = 376 +Msg = 5b27d6fe9981d136b52157b839bb5b78d7844df5a397efbe80986435d89889939139892c3c13acf58f56704315b0db +MD = 4c792bb6b1e33a3a042dd4a69ada802e3ec0bd839daa88635b225efb + +Len = 384 +Msg = 4dbe1290524bd73d9db5f21f9d035e183dc285b85ba755057c769777be227c470e3679ea9a7355d889bb8191ea2ea7e2 +MD = 33a5a8d6119bb6dd7b2e72ece8e4d5d02aa99048c0459169ee9e6d04 + +Len = 392 +Msg = bdfa173995a5b99fba74d8e255b711771731a8e1851d7dd693733b9d7567d3bab23229cd7a160cb8399c6c006c21c776b4 +MD = 33c934b5102063213e7b53675c47b19c397fc3a51fb37ab46e179b10 + +Len = 400 +Msg = 9463c563aa1fda894757398e11b04a4b4cee0dce9dab01ad134f449a673cfb388349f42e42728a7977cec90630c1d3803c72 +MD = 4cae18a39a5ca4512b959da06bc9d63d07168084e35aaf03c8ba5d8d + +Len = 408 +Msg = 2ee6e813ec84c2aded5800fc1cae94c09054e25d6bf0c4d10296d1e83e9adfb342a3c6364d016761e241ed4227fe53788cfa27 +MD = 89c6929b3c19a1472a4524e1427823768e46451e48faa7a7db7c8604 + +Len = 416 +Msg = 864833cb2912fa44929287bd0db7984968e5920d49f9725dc48707222d655f7f2b6e7fb40e80564263c7f450c53ef84df67247d7 +MD = 2c102a8349c4e362abd6a258217763229898e27c2e721c73bc880752 + +Len = 424 +Msg = e4dfe69723d430834bdcda7fa138f1fd26f22674be71169d914acfe2b2599014ff11d15c48108374b3f699165e78c7b547b08a6c69 +MD = 52310bacf78ddd40d7e93eb321da4de541a7296f98f0ad9745915887 + +Len = 432 +Msg = 6a3000176d0b029992d921e102eeee94dfb9b029d4019e4af06f517db44d78036a8dce00b90d49dd771994ebbe32c049420d3707e1df +MD = 07de1ed3f8ea774a8e5e080669206c8572edbc3f165870913ab1e4f6 + +Len = 440 +Msg = 55cab876556079eff98bf7b90e318f8ff583c2be55de882c0defe6996d1bc225a51ef7127df2a5cc47f2ca26123f17e72163fc859c3406 +MD = 811fd907f3f74b9f214193048d70eda44f3a7465cdb882173bf79a0a + +Len = 448 +Msg = 5dab016d4feb42ea606123c0ac4c3259cc7177af9cc955a64177b29f6bfc584ad8ae9abb1a673ac1997a8a73dbebd20b03dff2f89851482e +MD = 340b5a71ed65407a686706b068edb92d0ad2a079c1c88bf78ad8a3a0 + +Len = 456 +Msg = 0921afb403afd31e8b0839dcc15ba2c0fc32bcc90fa78ff8ccd51960c78e357d5d4cc2c6f469008583923de75679b24f0bcaa8f0e161df9b32 +MD = dd30882cda2144b31ab179e8f905460168b8758d8be8d8078dd610ab + +Len = 464 +Msg = c0facb87b9283d87fdd02760e4fa437b896b13de28786ba0cb192f9f263e5e75bf664fa7526d3b2073a5fcde752914ec8b6ef1902d1b70c5bd1b +MD = 1e7adf0737572d1aaa5d4c917c94d05dc092d6e59059df659490f1c7 + +Len = 472 +Msg = e0eafe1aed719fd7122a3edc9df7c4bedfbc1b0c3b1be6317c826f9c6b68e01ea2d3b7939b1e74c40cf9948c77b1c33afcb24e37734ad7e9b7af4c +MD = c260130197dc7774313c75843dd820d589a68df59e1aef7cf347f565 + +Len = 480 +Msg = c32ad1f821fbd8b5b7153ea8aa11055ea8fbde548660ecae28a8cb2ba2a6d1599c6e9305fb67abf6bea1b9db2568a88119193349c834a7da90b3ea13 +MD = c91ee4c740a5663b3b19ed778a0516c01a3c0cbd3dfd6c09ef1afdb9 + +Len = 488 +Msg = 2657c625f5ea51f66b1375f479123d863ba0514d208430574c61ba963ad2f191a6b8005aaad37dc02790ebc566228353ffd4342afa9ee81d35f6097e05 +MD = 92f1334f253260e513d5e6f0d1a6af6ed2fbbcdb7fac85c39d6d4040 + +Len = 496 +Msg = 5655c3671fbd8288ea14944af925eaec653408f56233650fc4391018c22f9977facd2facb6c5062b6e3dfc6b8e837b3a78fca153cd5e9e32e91f5e27ac2e +MD = 58d6e83ba02833ba0e23fe3472d28e8f986398620f7464ff18e9f6ea + +Len = 504 +Msg = 350bd6018cbbed86e050b3e7e60683e1f619b73b4c2e764b74eecdbb00f4018d7ce9245da4ede7e6d439afc8bf03eb8964a2a4d93ef3551abbfbfe1ff0ce74 +MD = c8ec854e632b2c132d505affe1bc00ddbe99452e5b59ba76a02dd838 + +Len = 512 +Msg = 4cd27324c28364873c6ddbc3e3a7e2cda9e8a72ad2f72201b262f874b8739f30ab60c34334c2e92f9d48533cd8ad2312c3e7c386aaa283b50dec844fa432d636 +MD = ced6081761ff5259f132aa831b7a1b432d093fc857da0eeeb82be71f + +Len = 520 +Msg = a4f2063fe6ec17550d7aa831091952dc4dc041a283c488187ef9b75e701ab0a25d6ab6e5cf9cc702ccf02cec05a04e37507acbda58cec933938a8b4b75a4425ce4 +MD = af6b7fafcbe9cb25003c5702995fd656365a20e113c8e5b10312cdf0 + +Len = 528 +Msg = c1d30f33ab4b410d0f8a809eb5cb681ec9153bde26693b20d440572cce350aa009fe8108b3a0fcaeb8e376b48b04885f23ab8bb6441cfd4cffb1255a7c88fa10f779 +MD = 408f4fae70d0fd745ae44ed66740bdf1fec0dd4e23db06920c6f8ec5 + +Len = 536 +Msg = 61b34b8aaae2e19e2d61924642351ade2baa6925f7a3a735a72e76b9905b775a004f0f7a24946b2529b3c144a205d9142ac6cdd74a6b0dca9d35a5563107c38a317573 +MD = 19658b285db6cb9dbb4ceabfe671434cf1b85455a8b4da385ead830c + +Len = 544 +Msg = 3413b09d3d12a333680f798c0e488776579d3f6a65f20412ced53c085060a6e1c061ed6a44b97e31c20297479875a1458e0ac08d08e0a8d281e0b2db349e2f831c7ffc05 +MD = 008a3c6ca57853adb1af5d44595e62016b7af47226492b9f3c1a9713 + +Len = 552 +Msg = b6e690d17d9d7f07185502bf6d275c84e3ac4f5f77c3d4b30d8e106603be84410c11849a3c18ea305f3e0b568f06ea540694ac0a306f4cd6048590b895703cb4e4f78578f9 +MD = f51dd594c7dfeccef95e3d4024bb00f931a9e9516958c32d2259f5ca + +Len = 560 +Msg = 13e6b1b4f021d610c81c97f0f952daba2766034d815b5dda4603bcf788ba60ee31541d5b4353b9f6645d96ad99ee90f6524b2963a7b7e476e1e8eeb83cbc0305eb29902a5d72 +MD = 09900c5ae3074fe73e6c4eef51f785e57947bafbe1d8dea38868e3d1 + +Len = 568 +Msg = 3a300f9c2dc3531917222034791824b49436be4dda760f67a21e54211fe77394935fd35cc08c71559fd231a2551672f46324e4081d4e9e725d566b9a788f6504713ec6d46d46fa +MD = d71c18afd448113a45d06ba616a1945a567e26f336cb94a45c2519d7 + +Len = 576 +Msg = 81c64d2313dce3126ba16d3216c0f334910f063b00720be322fdd68285587baef66860ff3c2b971506e46bdd21793911ee1982fe14213d8a7241727558db04dff6abcf0b14adf262 +MD = c85acd75ec4ddef1f179f98fdcf8e006a1d80afc14749310aa97599d + +Len = 584 +Msg = 09645b920bf81735d6b5caa43bb76dfda7497003a6595c2ca62ab7f5fe4928792ec2db426893275f50616eb6016a459c50bbd5a354a381b32667ca5de5376f6bfd61d8bca9c5b44fb7 +MD = 650e31a81dcc7f3498900d205d611b101e89d7243e1dd77551b6c422 + +Len = 592 +Msg = 3fd1d8fb9e7faf18a49a1bdc77fba093cbe09af00d461999e19aeee7cf9106e63955f7a491e1d9a8c9ae57c00a8f0500a8d9f50756c88584961e7af9740d53bf7457d74bc9b4f1afc774 +MD = fb2589e942890fed8f99ecfe02d3a51683a5da582be9dadd25305d33 + +Len = 600 +Msg = 5af0eb316e793fa9ea9d5141fa26cdc3cfcf9852976163a8ac1d81a10b5af5fd096fd06141d3baa0d183ce39c6a4ab21d46ac7c24b38074346098d0a250ed27f3e98f413d0395182382654 +MD = 8f4c6a61321c6e500cf0dc2b7d7d97da9301f71420fac604feae19f2 + +Len = 608 +Msg = b26d3233b551029077beea92859889691ac3853a9f972b2a6e8e55b8db40914f75927f1b892a7b1de8267c7aea0d3c19b3059a6cb5473c8e76d1788f945a750c068b8d02a46cf6e3ea1da2ea +MD = 4d8360f3692defa11eda027f94099b3054b841f809d2aeefc885d2b8 + +Len = 616 +Msg = 6fb0f3856dcc9addbd155916f0227630959f01c764acab99bc80dc435052ff4b1d7921639fd2baec4462caba213c2817e3a5170a09771bd951c30bcc70ba663406ceeaacd114639f21edc20a8c +MD = 71f8e09f911dc8ac67999c10c059c203af4af5e436eed8f8a97a6f2d + +Len = 624 +Msg = 8471e939d4531486c14c259aeec6f3c00dfdd6c050a8baa820db71cc122c4e0c1715ef55f3995a6bf02a4ce5d3cbcd790f72087939b05a9ebc93a905ceccf777a20d36eddfb55e5352afbe8ddf97 +MD = 065cb93bb2406003776440d9a02af1e4170e777c7d2c13a113262ce0 + +Len = 632 +Msg = c87a7448b7189a11e532a4320874186407fb32470d18904cdd512fd265a9968f95225132717fa146654e725ad9268d5f062e0f5108de1a1a340acab3ab1c6b8c2fa1e92e3607871f3da4d4055ffbdc +MD = a39c7c5eacdb22669587a1846c2975b41f9b74833d9979de2d7f11c2 + +Len = 640 +Msg = 26465ea06dbb61b4193a982c984a0358085fd6f14ca027ff60ede9fae9211d301194476691e51fc20ff68ae9ab37c864d528ef4861199816dd34d8e022be72ad299a4a1f200f1d53bdcb7009d327c605 +MD = 21afd5f923bc7bae234f14ffd662f174b4d179c7241ddb57576fe502 + +Len = 648 +Msg = 5dbf5c2711e26fba3423ecbff0d56eb8c934cb6f78ee8e96f6e2a8aad727621dd95096b3bdee1f2d55578e25dfa61e399103eb6b75255ec87714ec48bd3400f6367f35507612c9f1c1eb4f6d65f1a37d4d +MD = ec5a139936f2c42a1f4110e2c52bf7c3cd3bae49955c608fadfa163d + +Len = 656 +Msg = 25be46e3df2595aaaa9be9d21017aa2d64306720488c79b4719ce3eaaf867d4f276352d1e3ab46d18eedfc7978c4f650e106fe0b733ec5a7105dcbb4ceac7ef44005a624f843001a49f72910525dbe40378e +MD = 276a0dbb542fb69ed409a91994625f8469b051be25b5968b3a6fb0e3 + +Len = 664 +Msg = 2bf69b4b50312f07fcd68d466e329cea515af2bc9b78df5eb664ae82de74275aca94594f8e9996f6c0d2be40d9e0c1f1dfc85f534147322b0366efec1a4de92b1a5cd6530e78d69aa7a3b1339ad060c543f5d0 +MD = 45a66110f93ad7873923b97336c23e87642e79c7897d9011ddecf03a + +Len = 672 +Msg = a81a32139d69fbd64000f8d4a6ee10290ccc83e8c9e77b6081a2e59e9c157e33f6fa3137d8caa08d28230169dc6d2b10b4bdf0df29f9ae8fa13e21b7e47e7b92d36eb703589f2ad699ea5b49711214cb20a5b903 +MD = 4143fa448de5ebc14aa204d934ee3971051c4e3074d4caaf0cc62af1 + +Len = 680 +Msg = 471e434b7ef39a0551b2ed9250006353ecd915c82b77649ea1768fe99b3585ae9d7ff7a40f6bb23b33802cde5a1d5c755818cf2f35a6f97e257bc963ba3280eb59eec2faeb42ed47d44eaba8292bc3901d8a35d5bd +MD = a12a51a59f116f87f757f2fde30e11980d7d96ebc959774a734ede74 + +Len = 688 +Msg = 3e346c6aaf8f977620c3ac68fb608aef432d6cab296d1a93da6261949c10c07a19436414fad35793b827f434aff89e1f7557b18e69f2b9318f93e2d29be9b0354b8bf042fa3aef657366e93603f4c455d23ffe98725d +MD = 307467396d59103a897e6a5b16dbaa2a0dc365e22395465a035fd293 + +Len = 696 +Msg = 1ce1f01b46b4c9e04ce4b5e22fbbed4b025427c55848b03df98bbbe7d990f9834ab469de70d9729bf5512f33ffff0a3b5fb88ce60cef73cacf9205e73f2fa5e5f05ba49de85459db52e57462778a8f31e9d50605011009 +MD = 5ba94e26394485eb0a9e3f3d3d9a6083b35daed5f0c889bc78924c35 + +Len = 704 +Msg = d624f63f53be3d6c0a20c12263e4436e462407d72e3d854280d361131c169d9531430e9c556d0c69d57d6ecd4978b6926c0088162b1e6139fc3e8579717b395c0d1d330f56604f4c2b78838058d1152e689b0b8ebb86e47b +MD = 37cdd523d922362ad463216f340f254e76aaaa0b45f6dffca30d55d0 + +Len = 712 +Msg = 7f601132a3833a3e2a33a0f1a058d6a2db06f11e39afec8829974b64ed89ffee9ec98ab070496353371f9cb62a37c23de745056cb8fe98b415885b8c6a2fb8c41a59ca16c3bcc5ffc4ce92cdfc7db9f8d52184b581af62c984 +MD = 10871c0e562e11aa59406eb4bcc832efe4942260ef08cfcf99e7db58 + +Len = 720 +Msg = 12bf3a3337d3b6d553bb8cea92c369b930048ed2902c81f088820324ff244330bb9351317472d5822d8b01dcc413c4c2c72f411c89b77f227539627ba341daa6a9d75a9ab44a8ca9d72c43aaa29eb157f7cedaf419bd48320646 +MD = 6f763886f273aa5f943ececf7b765d83ed1a78b43abef25907226b52 + +Len = 728 +Msg = 424f1d07b708e60cc4d00396cb0e90597f3977aea7904be61f0b74de1f918dd3bf6b0a78bbf91e4674a3dc1438139ce7c3a1a00b060ff7632777a2fdc881f6e98cd9414cd7e1b0b0d6a3709ec009146f5b50375fc1ba62e3648330 +MD = 7742c1511fc5a0297634fb3d928a058626518b7fb88db428e2a282ae + +Len = 736 +Msg = 87e1b9edc7c6576998ca27a41ecf90410327adb96db5e8a12d4eca2c3a6511f05de803ed2d6503cb3e716263964a778160bbf2e8e5406d97b76b444b2f86a7451a7aed4db0f02bf7c6b506254463c5cdd83eabfdec5c831cd6097c72 +MD = 4331fbe48d8a7fd2e69ab0279509131d44eb132427311724e2dc19cc + +Len = 744 +Msg = 8fd0705684ca323c8ace2e7791d407697d05d522357dd23bf64f5501eec905d706fa46d5ff72f8b5c04961f0ee636724bef103b9073bf2c49c9eae2bd8d09c0b7a6c8756b3aa4dc17e6dd8dd3084508350298f76a8ced6449c1abe6dbb +MD = 43ee3b234ea91228c05358fa56bb5072031fa413be371413a257a0da + +Len = 752 +Msg = bdccba55407761a6b90ae88ecea8b95ce13ae66a34066d505184bb58a96c6e327b145fe9f7f9e016a49b4254ff8f9bf365cfc5f13254aa252be7bfbe1934cfecb720faddce5cfdeb9f3ab41481c0ddaacbfc1e4bf4964a14f9ace012ffd9 +MD = 21fa866d8695008099e400210d04a2013701887d7afa98e8324e96de + +Len = 760 +Msg = a8aa236cde557d8d365e6ed356636ee9117f7ae9e6bfb772c9da59fb271cc36724a4efd927cf11c998f47758e852b4e0d246fdd0e1c2d3b733fae39e7c602a9b4dd35ca3971387a06b79f3c303e54e1c06f705680882f52a503d43fddfbc88 +MD = 102fb3632c675224b30ffaa5a322aef3354e1ff0183cdbfd06e5a17f + +Len = 768 +Msg = 44c6c75e377f21fc9cd7c164ca5c4cb82c5538a58dfb323992e6bcf588c61b246053706bf88725a09d0a8adfcdeec0db419cd7732b0e3386bc3f3407e9e016546f4d15c314bfd57e30c302926deb3342cbc315a1e706c5607c127de42a9a739b +MD = b9b62986eebdb35c88b12e0257537a05394ef5a16fad01c2fec57d6f + +Len = 776 +Msg = d3c4a0b17f46cc5653bbd8300dfb0df6d0af3fb7c7639a830bdc9f68c7ab69a09a0235083cc721d465e73481eaed9f0c29d34262a8177217f912fa5ae1865f29b97669c1133ade59a1d2910f537b9b23c080e963c753f7e676dcdafd2a118467f8 +MD = 49e4553a6c26e7a82cf70b15528037cdd658ae33653bf4ce8e86799b + +Len = 784 +Msg = f6e3df95a4526aaf671b1ab9342db3ba0a6043da82b355c4a8d7664e09f29d5c0d9db601872e40e88b3d08f38061d521753b55b5b9b65895a58c3cf0bd0da823f81c7ede5b7a0a82cc4780ce26c5a5bb8960cca4f4eb04aa152d90575f9c97825e68 +MD = 4854cb2a3a9c9e3ec91b4e7d79a753f6e2240f4b6e2050590d6f1647 + +Len = 792 +Msg = c472244bd3325a84d37220e7ca6ecd40e3f20e52677a811ce8987f5bc0963950ba5c06c30e95fb48930ebdc1305e932493ccbf7f266d0f393f8daf9a9850418dfe992fa54d2b405f9b0f6aa7b435e89dc75e8c985e38556b93cb44e881156ca3faf149 +MD = d459400905f4c1eeff90decd9cc994b394b21430379d6328c03af436 + +Len = 800 +Msg = 8ff0520805a336aa768a1a75f2bec3ea876ac2246f2d496087bf3ebc03d88e3f604dc41a9b7cda2da1eb4ecd062c79c5f9041d9a78cc3d14c01631f90894f91c6e36d29632930754228a0ad25529c3251ccd283f368b0e6f43cf3e277b43cc02a0f3a405 +MD = 616fa8495f55e77a308c223afe470b42c0e1a014574aa36d01f484bb + +Len = 808 +Msg = 6a4cef9b8dca0ad7767515c8a61ac32c730b2894b60a106bc5699534a170f11370ff908f2d746a969ecf8fc1861503da1df2cd9cbda14bb9de11c8224440508277ebc30b746a2976a2d64545076c6d4cbc36996f9ee8b9ad47084c5e3d512eb8685ab198ca +MD = d20490eb9633a321a69eb27d42dd619aceee533e850075fd16589bef + +Len = 816 +Msg = 9a4fd44a08d9f5e7731603ac92b18e3d880ff2d5b9d7cee6dbb2b7ff504f2df3b3abcd38b18fc98d1a5a96df3700e46e5f53d32cc581646594de2da53ee452d71078b0aa0b6f5b39ef514bea985d52968dcd51ebd75bac0f0f03fb86bb0b0356db41e469be84 +MD = bf3a90e1e0e8b1a20b08331da3c1996c8395a1e3b835799f879cc7df + +Len = 824 +Msg = afce173b057b48406e163584c8d8c1a93b15804612c2278dca34412b692a2470120e24b0d57806e9cbf4b8a563053f22f76af0b1a39fe35c56a7a5cb29092d69f01911c20f78fa2f90de56b672174c2c434cf59cf184c9eddd6a57be31513a95747548395b840c +MD = 373d08139139af96f22810c8e8443a781c88344b73b9b717a97f4a04 + +Len = 832 +Msg = 5421cbce307d2c89a27a7b0a1d515e6927002bb65d3f0990b8b452f3106a3c52de80b9e6461e9b4555adfc368748ddc48c6d0d914bf94d6d2853b12782e749a380d6012d0eebc60d22d2ea5c4484ca164d06ae706f53f06b759761a94c9de87fc38b6c4d8fcdf40a +MD = 5bc1dcf59342499195a61a0661af7a8e96097660a9f7e576572f3d0b + +Len = 840 +Msg = 5add9071d1d5d1799c0f9223109b761b7b9ee1c30aa20025ea300a2baea1c512f1314b1c3c550e852a4f1ab9c9ff9ac444fc9e0abfe31b3883ef337a5bcab7ef3da3eb5a2d81891a5fd7085c9c581d8fe60c83185fa4f847670b888a053d0de1885cf7926e01491e84 +MD = 0c370410dc8e22ee61c49d7a3bd3d7e80cc4f3f51acb26ae4ec5a3a1 + +Len = 848 +Msg = e965ba8d1236a10b362cd75cacd0175cad0af65e13d9c57a6047b729029d470fd6d3d417ea4a8ec587be96c86f7661cf63bd5e9ee896d8614bac1d40e388e0339606dc189e0aba038d6f35d58f407c10f02bd7e9de328e9f6fa4070ce64c2e7a32e819b7b7dded6c5128 +MD = 175c4a7fa491e7dbe3a2c8604b07bab0e2a2e34b270e16b4392e9716 + +Len = 856 +Msg = 314158336fbf7845251e1a620613ad8c1a5996e512ae25cdd91ec84b6b837faeea4d9074ef7f7c6a1efa3115fdfe815106eed338fa531945792402b9d045703e124d2ccb6a8cd9c7af4d26713958487ff3bba805b2cad899c565ccb5ce79475dd0c9930188ef75a4019d60 +MD = d6cd1901bbeaf4b69a7c211c50546fce3538a8388460ec29ff8166df + +Len = 864 +Msg = 2c2d86197b39c194c65a93bdadc72a9e590fa75fa8ae6b758adf9116abb2bbf0525e121a89d8884b7ea5614a29ecf1a52fcfa7a606fb4a835a7e83d5b0da9c4b4a5787a04a9d22ca1a81b9750a20ccaf3b2a13e5bd81c00ef403042640a3d4dedcbfed9207ae167b6298a526 +MD = 49dae21e7733ce09e392dd980ec3a0c2c54269376e231c19dcf5a774 + +Len = 872 +Msg = bc106b071b53c4d855e1a3dda41db1a7a4460586b448a3fd9fd842747cbf532dd2763e7900f4ef2cdcc4914e9b5a9913f1a7070d78ebe8a156cb20b81ba366b6e81d90b0d60311da9551c03e548fdbb4e15d4b0e1250299363fc82afe05257e8462de814652733c9c8b1b71698 +MD = 3baff8bc1f4351fc62ca40904a002198b5ef6924afba1d1fc61d8ae1 + +Len = 880 +Msg = f627848c4afecd8df33da19c606aff119a3762c61c0539c3e6a8961bcd6a2a111552717f41a62a792aae0a2d4fbbb10d6c68dd314e20def6e5e04aec9b3ef1efe4ab139316f5d1c67c10e2b0a51587de028bc1a0b1e6c1af934da013a4a050448cbad39071f3aabc10e991ee0c81 +MD = 2e0b5455cce69262066fdbf9390ad0dc56138b221b75d51298bb5b2e + +Len = 888 +Msg = 15cb777ef3e451b928dbf288e46a3627044ff5de42add884a9af6b424d6e7399381581a6a743c7a577b02bb5da149ada4e449f48d09e34df4ca8d8f259f4e14c23471475a8f97331289f564ad6e8bd8fd4c5e51d5ecd19dd46dfcb4ea009e385bea857725fd1fc6423f09ccf42af48 +MD = 9fa12561f1df9a2d793292e0f4df5327af529336b5b2118952f5c24e + +Len = 896 +Msg = d24df75a00cf92677bb41a620fae519723937ebfe1f7b430970056505d76db4ff91acf16ff391a7a3d8085b655127a18acd80bfa831837f4644a6850c0273fbed6029449d65bb98a47b2ff1ca6997c50500d0b21a206936a5e4d8d56508ec01832ae4fddce5ef6ff62f1917c486adea6 +MD = 5cae12ea9652269ea2aafc656cb83424746ea1d5d491f9a159594b2a + +Len = 904 +Msg = 730963b1a462d234e8705db9278cc58dcb817bec6c9e62bcad0ad57c6158ec77f35bfb3d043c5c5355c96f2ae810de4e622d26e0b4605346fa630a21a3facd7fd3cb7b5305701622f5cbc9febd992ab83e4abc52c111b8b3de370d9e9eb4a5e5dc00eadaf1278907901c751fee4f303426 +MD = 46c7046aa633fb5bc4d6952f853e39c53e771009183b66961593a3cf + +Len = 912 +Msg = c1460b2e1e385c0b5756e210bffaa8f1cb12ebc3c60e7105c5fd1ce0def2beae95ad2fba97779d46ab4e24d3e5429e9c1c1fbd649f4c577124f300d90162defc9fb2b9522ba652678ed5f623a00c524f98ee8955c8dd8447871e8a236e371056c79cd27e428b2274ea35808a581e6c1126c6 +MD = d8402ee634e18c967d110bd7053a302da650ccb38f259cbee5a24715 + +Len = 920 +Msg = 48a84e3c4850a29e433c8a243bf4beb05b8a5bff38cc418158bfb968f1495cfff22e303e473e139b59cc5d22d561c1c8afb274fd66d09180899fbd777a8907bf72731181c5f0750668b562ccb04e86d95c0f314fd64cb741b6cd16c5887cd84acf613b2c4ad0908675e1e1485321d6896b87d9 +MD = 3748808c1a4d1dc1b82ebab4cffc9d8cf5c251d045dc8affd756dae3 + +Len = 928 +Msg = 41b2b071ee6a8e0bc62e9e03a8705f6da218e69b111c234c0a516520f981204f88bdef9bc3f4d58379c5c8bae59270d78dd62c4e6bb8569f4be0c8cd74899e128ad73ed1b36b96ccf936a597f08a3d4d987707818454c7773c9ce194e1fc1d140fa9a7fb07f75a4e0e283d8210814e3589a47f1c +MD = 8776f08070e38582d4604170a9e658fc17034cbde9e03a002e728131 + +Len = 936 +Msg = 54bf375944c002ccac87f55ff3eb58c45844f62d917ddd03b26b5fdb515d5ca6e8f5c4277a3657ab7addaff4e8f58176bda620c6894e424f5bd30747e13737e1d06ccbc4866ab0bdef80c7b0a5e730d55b9dc8207b70f0010e59914edd0c5d7ed5cd5717b0859569d215447d71eaee49f9d2f825af +MD = 0cd690736dd1f390694f65c3b89e0cc2269f3b8208c806929a8f8cb9 + +Len = 944 +Msg = d924b16dfe2f612d923b25669b45d9117d30a3531d5d30ad477c41734da2677ff19b0a268581b06b518d7c73352ef53990580a83601f5215aa8498241c8f960df19e014715fcc69689b594820aa99a08ede0928f4e1dfe1e69b6b1cb48a292779fd49db8f4c72a17025b727c60df4fe65e6f435f3080 +MD = 304e38689250380e322505b4e23fff35b341e2d94cc62cfb44b51db5 + +Len = 952 +Msg = 7d2d12b351a70306230e7dcc7664ca3883928093395ba8d5828f1f76c8813d82b8bab5ec45efbc24f0316eeb47646d67acf2cb7258c12a38a0622101768be24b32c71a1c936c199600cd33cc14b266d45a053d1e55cef303c462dca123d601e775ba0aec41046285db4b9516e436fda814339d3c376c4d +MD = 40a7947aad6c1e73436d78672038fb99a4ed7cb145445e276643cf38 + +Len = 960 +Msg = 5fee687802a5aac1332917cc5d0a9439ad95c764219bce45e2743094d34413306a7db0c1bfa5059ce25ac9e87293a5ff6b28a1174095dd222afb81f3bf67f6a1c65757304a7a226eedb8341c7f72f44ecf0bce15c1a7e35aa132fe0db7a5ca801c84430dccab6bfffb4b3eb0ad30e7ee814534a3cd5948b5 +MD = d6657f115db759444744a125e40ade361d8a40fd88c91187dc5a50b3 + +Len = 968 +Msg = 696730b7eca27066d541c4150a22e6a6b062c951f2177df6fd4254b14fff43b032ff8a418338972fb8db284f2287b1566ebcfded7292170827ab6b73f16629ad2755eafacff296b4a98d85e27089e40c5cc85b4deb64eca9e1a01fa18d1e5c054f52980a5736349caf3f21f57c90496f816f2a96e4f5c48235 +MD = 391d6c2b645d1eaa7a7dd68140fbb7c23dd4ac0347887a782e4c3442 + +Len = 976 +Msg = c8995ce09a8d80b790789915b77e53cb2ba0b3974327f0a509468555edfb843fba362d75c83dbf07744f8ecdcd8756609004cf6a574781200ddcda0ca53d7e100bf3dea85bfe0c6f5277cee50274f16fc92cdf9f835c74b6ffe90e67b0c6e3dea5189801bb980ff6123980e5bd0ccbffbe600cbf312d706fc7b3 +MD = 3a6ad16c5957b54ee6691d227b2d2ecf9348b68435a50647a2cd55c9 + +Len = 984 +Msg = 247f8754b008acea234d3b5cab5c613a695af8febdbcf3e4c5bbfdfb20015d7cf8a91d5b3f666b1d38023fe93a0b3ee1b1c9dfb36572cc6affa18b8bc9055d5db5566688a18e0fe1d955a985ddbd5325652f1da0a3a66dd7c81aa2bdc940f8ad6370ab015de660e00d2ec0571dda66ab8f76fbeeffbe9fd1280e8b +MD = fe66026c1c2410927fa442cc122d5aed90308273401d429fd1ac8f61 + +Len = 992 +Msg = 93dbada71b890e80d9b88a338a7df020a7bf9ffd9898536225fd3e8a2da25b589a18ff989438b188f5c53b96fd4d016c4850922afca57df2471866aa095858fdcd115da3fe554ce35840e3569cdc15ed8842a5350602f4daa4c5186b44312d5c140df051c1a68a9ae871a9f9cef1d5ac50db02a71d796122224c7c53 +MD = f73154e76b5998e0792fb0ab1d721ee730b64a1b3a543061fc76cd17 + +Len = 1000 +Msg = 6178736ea6aff4b99e7da97dee000adf72b37069df8ad5bba63fdb7e1be6109ad6c871a9596e2dabf4fcabfbe6c1cd82c50b772a20404b95622ab710f99332c2b812c2297a24c2c8097ee2193ea26fc969b1d524f28062cf41ed4cb5dc74f643cffd6fd851f83b77a4ac57c03dcc771e254c92419f72a0cf0b30a3560a +MD = 33a7425316d2f6be1bdbb870d953132d55e29fdf8530463977940908 + +Len = 1008 +Msg = 1c21b5842312111a9e2782fe97917e946b8d65987c43c91b27ed0cc8f63b316c16f6ecb60be5fb3ba2edb9bc277bf1acd927f0ed9b91dedbec8f4e8b198b1354b126558f3a21e59c227ece26f9e22da7dd3e422e35aec660a2a27fbc323b1324d7f81a99189176470723e7c1738eda8d5e1b82e3b1632ab22f6ccae4a814 +MD = db43ca3dd7bca3d899648692e4ed8f03119628df313e1573723c58e9 + +Len = 1016 +Msg = 4b9895235cb4956aefffe815415252e7d6b21921bd7f675315eff071d0bbd429b718c774aee96f6c3a330d5d40d1601e1069c7a2a19ea5ca1e87097da2608ffb4180816e478b42c3c4e9edb748773935eb7ca0df90dec0eb6b960130c1617880efb80b39ae03d617950ace4ce0aca4d36fd3ed0112a77f5d03021eb1b42458 +MD = 9a9176e97aec99ab07f468f6a226876710d6d877021d27061d4d0132 + +Len = 1024 +Msg = 9e127870be2431bcb4f4eb4efd5c2a6c5870c55e7a5e3b7503994a4cb136be4ed396887801450f600b22cb772fc00f8b8f0d2690e231a29f69b9f13f24f531e4479e45b5e8bc2992fac782567e0d7a59f853ca3a20bf18dbdbf684ac69817e2de075daaed9532659692d3b73530a12df7b8cd9e49ed0463041962c1ce7a24c31 +MD = 7e2cf6226623535784c59cd6a7b27dac60ee23fdce8a804dbd6dfedd + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512_256ShortMsg.rsp b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512_256ShortMsg.rsp new file mode 100644 index 000000000..faf7ac112 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA2/SHA512_256ShortMsg.rsp @@ -0,0 +1,523 @@ +# CAVS 21.1 +# "SHA-512/256 ShortMsg" information for "sha_values" +# SHA-512/256 tests are configured for BYTE oriented implementations +# Generated on Mon Jul 10 14:34:21 2017 + +[L = 32] + +Len = 0 +Msg = 00 +MD = c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a + +Len = 8 +Msg = fa +MD = c4ef36923c64e51e875720e550298a5ab8a3f2f875b1e1a4c9b95babf7344fef + +Len = 16 +Msg = 74e4 +MD = 0c994228b8d3bd5ea5b5259157a9bba7a193118ad22817e6fbed2df1a32a4148 + +Len = 24 +Msg = 6f63b4 +MD = a9e2427cec314b2814aaba87039485fc8d3ade992fa1d9acbb7f6769460a7317 + +Len = 32 +Msg = 2bf98e7f +MD = 97d455e6881adbb8bf26ddc3ef120df4abb330adf8ed2ac7a4b6cce4a1727068 + +Len = 40 +Msg = 77d2ee3fd1 +MD = 329d0ae26df3646fb7db0b322cf1f3488d5381f66eb376fee40f0596d6d9dc4b + +Len = 48 +Msg = 7dae8fc020d9 +MD = 447044f03bc30e2caa245d26ce4c72c1454f708cfcd9a215841a88cf5ecd2095 + +Len = 56 +Msg = 5b48b8b01a59d5 +MD = 1a86b4d34cd104c13b5b8d419784ce4c6d35594f2a9300e81468f4dc0634832a + +Len = 64 +Msg = b4e2e8501f54be91 +MD = d25265bf9cbc0dd2f108a2f5e8f69db7d15e5b8fe9100fe887dae20b6e054fe8 + +Len = 72 +Msg = 901db0f70f2d10626a +MD = f84ce7a760c85e67872ffca1722b1b7741032d9139211077f963a32d9f84771b + +Len = 80 +Msg = f24d98591ee3c732a172 +MD = da234c1d6d18ad8f53070e4e5b9cff75385c13f3e44b014fc45c3509d0d06adb + +Len = 88 +Msg = bfb272537f021ade9bb330 +MD = 7c49a59a3c3fd8e24de85854f68a3b7ec60c2031742a9a2dabf49199d88c2db5 + +Len = 96 +Msg = 0a5f7424babb5cb85715fb17 +MD = 5cd40c51502600f3a0eec7b3a3addbf6672eeecc50b3de2fd86dd1c0a47e8a3f + +Len = 104 +Msg = 57a10308aa2060aecad05adb2d +MD = a5208ece1de1342d02ea9ab7cfe537a2c81fa0eaedb427a7b3cb6c291959a6a8 + +Len = 112 +Msg = 5e4674e97a257c231d8e91391d0a +MD = a88d7cbb6e31e87a6c99734f599d1588cb9439979b8210800eca0aa2067cd556 + +Len = 120 +Msg = ba10b0da70e2a017cdc63f996dbc1b +MD = f8a5aa22937453719eb40b1dcf68a346e202ba225f4d7acc87e5a736abed3423 + +Len = 128 +Msg = a3481996c109c9efb6692b82173921b6 +MD = fba0f0813ca5c513d0b547419a15e27a7097d3eb280a298c1c693b55e03d2d2c + +Len = 136 +Msg = 0877c20cddcc86b833f7bc2dcf7a709a2e +MD = f4c3a2604e2725e4d179edd1b445ba489979f4ea5937e0c6b20b422c720d8bfa + +Len = 144 +Msg = 69445bd12f022f6a669bebe0467729f4dc7c +MD = 26bf709b3474554ab8dd12d9524faca43034118bd955fc52cb1f355c6df22391 + +Len = 152 +Msg = f751f428a0af0b90a912a3be78daf12a765b43 +MD = 5e0f8a8739f556daba4da4e861f39d1edaaece0204963942a4e66a11ec1fcf13 + +Len = 160 +Msg = 19829a8c723c58ca9580cdf0dad2b6d38cdf60a5 +MD = 3aa791b396ab81df9107278b8dd1c46ee57579db4cf5f9b83c54b37b0a601fc9 + +Len = 168 +Msg = ae43132ac30de180c24dadb88602caea91366b8e51 +MD = b9f0141ba006a3983972dbaa5e2bfe7152e38110e02475f03d84b0a3c743cda9 + +Len = 176 +Msg = 8d2782a7843aa477b8f3bca9f9f2bafb5813db4c8c43 +MD = 5424b31989031809b5fc8969b7c48b5dc0c233fc34ffb5b223cd5f3a9712a8d6 + +Len = 184 +Msg = 72321fffd7918d4f5cea105cb0b884a2356af11ebe1267 +MD = 17e3fb33e7f85b1ad5634fbbce9b5f9909f3329f4d74acad3dd0941c1531cf54 + +Len = 192 +Msg = a7efce3e31433fe68d75145d84bb02960fb968871a3c2f7f +MD = 8ff0be0601e3ae9290715aed30634b13b8eb6f3c8b3294ee9b1fc342c260313e + +Len = 200 +Msg = d4d022cf90e6437aa0bfdb89284244c16dee0b488bc345ab66 +MD = cb3a62feb0484be0ff9b56ea92414c7083f2b5776e883508b3a61e57305ee83c + +Len = 208 +Msg = 95de55287ad3cff69efec6e97c812456e47be25e433470c3259b +MD = 41c7027d16e37259645d0173c86141f38d808e9e27dc2dfeeaf335ed7c99490c + +Len = 216 +Msg = 63d8cfd72768c44920d7b015460489ad578c063be19053889cb809 +MD = 876e59c8a64faf9d665f7cde5d42fbb331ba818ddcd284491ac51ed50e1613be + +Len = 224 +Msg = bd2c5a9116bf0d75b3498ce2ee4ba2868e06e0c047ec40b181540896 +MD = eb537df04d512c2fc844020f8ff32e043c04614b88cea0a4e05e0ff32ccffa06 + +Len = 232 +Msg = 37a45643a280a9d1a1c83e094e01173acd8aa16825252dee4eb3a3678c +MD = 80bca5ba3e632e8bad1589cd02d75d7d3e6a1aa9ff64c2b982d572f3d00d947d + +Len = 240 +Msg = a7be84014e8d09d8d51657789c07f29f7da49c5b5c0f836fffc6baf8206d +MD = c575b2ba075a63c4540084493636deabe9b8df61952f071559394d4dab810e08 + +Len = 248 +Msg = 93c45fb91dcba420820bd3fee334b48fdf7b73d7b431ebdba79b2310a7fe19 +MD = 98151839b8f3574e0a0b9f19e84afeb1c620fb2dcef248149c00613233337997 + +Len = 256 +Msg = 1b77c8dcfd2fc4b54617054fa6b14d6e9d09ce9185a34a7fd2b27923998aab99 +MD = 683b486861e598dabba740ac919522cf3b609c18205b6beca4ccbe6b0f6dc6db + +Len = 264 +Msg = 8d5cb933401b35dc34b15de0f5474d3c9b6aeb9057531b7f4b6b32599f0eaef7d1 +MD = 16c523d2b8830ea90dd6b6b1ca49e4b51673006ca30ff47a4dcd4e7b35ad4f62 + +Len = 272 +Msg = d6a66d66bf546b97ebd033cbed3504931e45296334ae28f4178d3de6f03106aa8221 +MD = 3f607a5c7aef13fe98dc9f6b6a4b52979e7c68781ef5e12f69ded20c497eda47 + +Len = 280 +Msg = ce885ffb340fd7a43e2150699b3f98ef334270036794ec759aa01d29f087ed6b551549 +MD = 1071f8b57328b767209c15a43e1d8452763865ac93d58f93c840876c1a5b21e0 + +Len = 288 +Msg = f2c28d685486be99afe87bf90c9f309357b44f60b688446a1918aa321180bf4fe5be1559 +MD = 35bd192cc10fa24bd7954e0e0ee20c09440efc6416e94ca25a47e765bf32ef1d + +Len = 296 +Msg = 96e8e30c75fec82bef4de7ec8e053ea661cb72bc4eb9c1c1aaa638df07a826794dd8d00f0d +MD = b556798f76ef742cc1eb5d10732a925fd8208b4f079a6c0e1fe0d92fd87564a5 + +Len = 304 +Msg = 2915c9b58835f0ec1e011fe5e6db40ae3ef3d890e268934d1bb024a634394b202e503708b543 +MD = 3868885b4e3ae2172305acaad25ffe9094c72348ee9d7b0acc20029e26a7d013 + +Len = 312 +Msg = 673ccce2807cb47622b7e09ee8efd812b44faeef436c301505cc63cd2ca52db003e652c4827ba2 +MD = c7752098c3b5fcea98425a180a5c96146b443aa8d76a0c79fdcf3716bdd2b906 + +Len = 320 +Msg = c1a6ac69f48008db50958665df9d911b78dfe519d9f34366f6cd691f90f741d1081e592676d093c4 +MD = bd18af5b2b24d769eade525c8fcd535212abf8e5df180d7f3e3d023033fce192 + +Len = 328 +Msg = 3cd123ae7bfd2b31613ecc5ee8b86e8e59a52ff46aeb2bcfa9f4fbe41eba7b2c2c21d0cab98aaa3f8f +MD = 7ce19714e1d3be680dde0e919d90157aabca76439df8f0979d19b3a686df6b28 + +Len = 336 +Msg = a52dde5aea1f04399c5d91fb5c4e62da06b73a5d9bdc5a927fe85298e58e166187f154b69ac1057c01a7 +MD = 035d362a4265031434c3aa153ab4aef6b00d5176227197430bb62884a085c5fe + +Len = 344 +Msg = 381906808394c5f9385a06bc9b6e528095e6f6ac07f0fc755e13594768b7686766e897d662576178c2a17c +MD = 22ea5298af2aa311a5b53f8b2838dfc008ae470bf96d2bb6794735ea72108879 + +Len = 352 +Msg = a04a5d5d613d23703ab8dd0093d354829c5449823bcf09eb49124183fdc014b5a83b6b93a3c78c1b86edefb9 +MD = 8ae688d5e9d0de9de834befe5c0829644def9c5da71ae0da4f79d1890487e25b + +Len = 360 +Msg = 175e1059931a94e6e37ea53c87e3c71d46be2f410b2131f8f285f810a3c679f9df6fa9275838eeb8c6cdd45737 +MD = 5641036ef6221e08e3c795b2ad566aac9a69f85df1a8d35b3ea2b780ced33421 + +Len = 368 +Msg = 3ce38a2e287fda13384cb306237e8c74357848818d340a9488e64a157ddc2975aba9016f6f82418ebbe878f0c388 +MD = bc2041029b16895afb1f59f7280f8a8f09be5dd241c675343f7ad8d75b834b75 + +Len = 376 +Msg = 9628a195ca6e708cfccf9f434dbe6c5105327f0f28ee1cfd4a069d62a39f203366f67d364fa47b677b20439b7d8514 +MD = df6d891d2c204354b827f530c54652940cb483f58d6b433973752c1fd1d2f84d + +Len = 384 +Msg = d85bdb2df5d72f2190e4b3d4fa5b6d848a088bfcf0af52b8c64c584a689ff3fc06e8f1b7f7f0892350489210b6d5f315 +MD = eb2681edf92a1f5559d10177110ad21ffd3fc1296e3cc83ece32e42f56ef7ded + +Len = 392 +Msg = d078a5dc6ec589117119ba3cfb9b11de57fccb563bade8b34a4fd2c7dd6b3f7c0363586cc7a81babb12efee78f1dd5b474 +MD = 0fc7046f02d070642d821c746785f209bb332690bb34335e6c6428051793e1a9 + +Len = 400 +Msg = b7ae6037d9b452994fb755aa0cf57fbc687298060a471f9b0c3d8e9d5a9ae0ad5b3b4fa7d4e3628c09d327c0259bbd76db2f +MD = cd1040a0d94382a6446a691c0a07c4f643edc11e3103e343608603b5bd101be3 + +Len = 408 +Msg = 62f016dfc38a4c70b7f95d669e2d475704909e13c997d3da7e96b6cd11d83aa3adef789ddc49f7bcef042b319f033b15f44208 +MD = 8aee50572b6b155cf40d6ed6c738bdbcaff2ade09bd4d8bc9c2f9a673373c44f + +Len = 416 +Msg = be890898b03f7cb52a9d4300ac2e8a80715102b1538fe37ce92c3165f2fc3e07f67870bd2a1144a395c593bd71ef1475d463234b +MD = ad156f2f416cceeb9a6a2520e79bba5295b584c59606fbdfda6ed13ed9d99af0 + +Len = 424 +Msg = c12149eed4113efa31bb3c4b9aa933639a0e1ca716062ebe251e553a2217e07affe779cedb015bddd7d6bf44269c9780644e7f0e29 +MD = b4941556b37c22c9d841bd0b1c4e5d8778b1c598d8b1ec55c4cff11cc7402d05 + +Len = 432 +Msg = c579bffa9396172aa1d654b47930e65f95c0c74b6abda382a5ab3bd0b4d20bd588ee2a58992873de2b45e27bd01e40e92f5003d70334 +MD = 63f898b4fe7a7d8c7ac776ed7811a922052791406429318fd5386a8f7864cfc6 + +Len = 440 +Msg = 71b58f40e28bd9427f0f7821ece9c6e0f34b7f5cc924222692979a8e28ab1e0018445694ee52bfe0b3485011b3d05e3a84bcbdeb434028 +MD = 7614582f42d5a907d4ceba0025798ee61d38072485f54ba3d742f29503f1911f + +Len = 448 +Msg = 592335639cd4f2f9ae6624e895d6a729b5079ee1f45aba911b7fb98c7f8b2cafe24a7e4c94d63267dd686c25a06fb38138dff541a6cccb28 +MD = 68d64cb4331b71e72b42c88b8f6513f4bc17d995254f04dc2b7cac022ad5edfa + +Len = 456 +Msg = e26e1dc893fdced833eae15ac04ed4624a07e3c89dc3d1d8205be44bfd63327782ff1bc2c8f7175c920eb22e7790d40d442b46349cff72f1e1 +MD = e1470b2f44e3955d2b5496292679d9086b7c0aa94f0d516e53a142e486c6ded8 + +Len = 464 +Msg = 7def4d439a9b7a6c5700bb91688b1ca6c4ecdff263c6646446ab4d2ab947df80d5dbaac648ee6cd6593f339426fdc2c7303a36271a9ee9b6ae58 +MD = a59591e28eb92dfbf290a06772bb145655979cd0fa0df15bf82aa27665abac03 + +Len = 472 +Msg = 283998b5e2394fb1ce1cee355b677e79f89a09aa28fa52d5d993c307f27ea7b32b60995321333c52aa492d2a658d36ca960dc53a31b59c81355dc9 +MD = 82f27f2abbe5fc2184b428eb92551e898a5177e997e337eebdc49320095c605e + +Len = 480 +Msg = 09f352d1ae807b258a9d49873a4c4aa4c63bfb52bf9180728ae7981bfb93d1f5262df8e2714cd4e4ee91143be8e785cdbc0888cbea44c4926c7e18cf +MD = c30efcccacda26ded16e92b0f2f2e667dc98f289a754cac628dfcb421ecc7240 + +Len = 488 +Msg = e6c2b24789348d646a263ffcdb6fcd511e1aac527b227a7a907aecf6e9500806d09394a566b3ce6cf3a85db47b3588fb926ea6897078d5524890ef1fd6 +MD = bf9ae2941d2bb948d33ae2a822e8738f744b5a9d692997719bd1a118743a0731 + +Len = 496 +Msg = b099e1b52348f93a6c22896c72854ab04f2dd3d1f94c5fad21ddd12e5b35f57c80db097150997c4e5cd3f5ac241897b57cf7849334149f29f77b97017433 +MD = 01d582c82ce6e6a8c0cfa81792110bc950fa55e31c101cc6f2df6b2aebc18925 + +Len = 504 +Msg = ac4065c8dcd58031b7475c3debe032168fa9f7ae5ad02d48134dfe3b48c58bf243af82383ab5eeb2c65d54ad96e8fb1b657b8bd7297cda318e3f02a6a2e2b7 +MD = 9fb9d7e6b81e86e441695ca5c762cf3b7735a75dbc4b2b1e3e5667848f6cdd73 + +Len = 512 +Msg = d2bc0ce7217ff2e944e1ae47ad5873bf391f1b0cc07f6151eb4c50bb45b2fb6295326f716ce7e687fa0e3d5d25c5a8a8dd13a541a9292e8386e733f4f2a24728 +MD = 9c1fea5786702d027bb5b66b3fa92de34621a8626982ec21c0ecf8daa79dea05 + +Len = 520 +Msg = a82aa079ad878cf1d699e9612fd3aef603df30c3e8904358fb18a2976d7b91c33f43c0da4976732581c5e00d7a06d8302be4aab4f2d545dbd94d9cd817324fe2da +MD = 46eb49bfc5b2ee3c97b91102525b6666d56bffaab4baa03059b89f24ec4b5622 + +Len = 528 +Msg = 72fee29494c25b119b6c5a600c468ec22e42af5ba93eb79452864ebe469a86f83632c85201800f3288b553f7bec649ddfe704920a27a8f65d13aa755985a238b3cdc +MD = f7eeddf08d3c1ab524167c908bcd8613d581cb0d03520d7b6b64d181bf13bf1e + +Len = 536 +Msg = feb7a094dffb5c0cb6f723c1b5e7d764d4ab5f896b13e409005940a45defb3ebe67bd85e2a21d8d1b800de1434ffcbd2aac92aba211666dd742d3a575da66a32d375b1 +MD = 40cfd88d613bc7d105e178081d2e3c5a09cd629465821909dbc1e9b8cd04a266 + +Len = 544 +Msg = 8ce31ca2ab2e7cff5ff5bcbcee367463cd5eee65b80bdb010116446729d1c31ead8df2a3226024538425538accc35a0dc0b364a50fbca50d9d01480e1c3ea8e9dc4fc2f5 +MD = d61fcf2c3178cbf34042a0fc02869f4670ea400ea384ccf04d8460806fe11dce + +Len = 552 +Msg = 4963a36af562e045ec25e39a0d9c2a035d4f6d62044fc975986d1eaa9eabb6344ef0275e97007a1f63aa8cef1c44b5da6f54a8d350909a4a3e09a701c8a3711b50c80a760f +MD = 69df54c0fbb35859b5fb247c92b5665ed27962f042a790519db8ce27343b9590 + +Len = 560 +Msg = 0663ac246f643427d7198feb54919f97f9e036864dc32c02fc87af50cd26dbeed4b48a18e9f96e9059605d9fdb10eb57c5583e1c7f501e6338bd4cb8d9361506378526138d50 +MD = db458a327dd21bb9c073bd5736a745e467538d9476b7647b74dcd17031bad72d + +Len = 568 +Msg = e70df9ce76334cc2096c0e715d8c96652492b5b6637d3e801961c59421b9a66e59ff4a68047aa52d6d58036fcefc05dd6f99e64f120003448fb69b8fbc4ad34d8fe5fd1a872319 +MD = 229be9deedbd16e948eebf8aa5838d276e0e6e295570c49eadc9f27c0e2e5798 + +Len = 576 +Msg = dddad5815834a99d79abf4ed36af74065b2e70e87cb8483b2ee250d877e8de8b8296a2179768367b4bf0f674f478124360e9e2b0c7eb794ffd4e7c02eca935bf4240e394672b54e8 +MD = 13b11a38ef74ab16bd65b84e83d34848bf3c56e6cab5c56cc0541e783df1d4b7 + +Len = 584 +Msg = 84617bcdea87420cb0e93feebfde3aabbf7cc7178065c81c99e333684f381563b82fd76420f7c024ab31bc733c485c2996011d60c153ede0b078ebdb20446fdbc3b64af89ecd4f4eaf +MD = 5bb51bcfeedc618a28ccf3bbd96be08972eeb1bc22d9bb64883dabdc6c3c6b54 + +Len = 592 +Msg = 970f5a9308f929c5de78e8119b96caf0ad9c4a06f182c73e75a9711c82cd694fda3524863e2c118533b57b78067bb0870e0763aa31354fbfa9e91dda08fe88dc7a7fbf474b1a0a50a9d1 +MD = 930a9c33e393ae8b1c39e072b08f972ad840db5401a4eded1f1fd14f8a0f68c6 + +Len = 600 +Msg = f29ec443a7c4bf4fcbc2cc4e992f3b1e0c70ebf60a2019efdcb676c3e2617cd4853701706c8f0d53f3abe96dd99b78e6385dca60bb49ef7c0bad099f8ab4a5f6448c4cb723c754aa6202fc +MD = 36d1cb5d930d73f01999533b035313a54b1e2cc223f07af829424230b8405177 + +Len = 608 +Msg = 4913709a09e606f0034926f21ce0faeefc0483b5c0ade99fef950fd0b09a6bba3a6415e38b491de85d6d22c3562e20497fbf8af6f71299ede9fce33bbb942f5c88dc8800d1a3900f6fa917ea +MD = 0948d1dc7a0a0172d3dae4ae40d128444f2f6309b443ad6a8ab3849def606a7e + +Len = 616 +Msg = 3365dc87c7f29b50925f2d50b1e437a49ca995caac35fcb3db29dd19cc2e8c130b2ca1e795bd9f1f9be1d3df83f37f7530db383283868d782193e915774fbbcffce4d340b6cd0fe5008d38718a +MD = 579d6c492dcfb032b9272aa0f54d13ece0fb2276619dd7e75f86aef3f58bfaea + +Len = 624 +Msg = 45a899ee24ce1eb7ffe13aa5acb08cabe94ff003957153b72019c6664072d045e5fa096470e6e4331fc3cd44cc597452d8d468836226e7eabca7f5501ffeab349d45d2105868b0def2ce22db443c +MD = 5c088cd0c18bf699edf47ddbbd1e11c9caa9161b852a6024492e7ab7dd5745ee + +Len = 632 +Msg = 389d76c18d8d11eb5b7e6e80d79f93be52c784eb1101b7f35948c752c98f6c34ed05abdb0f964a4250b58700f8590a6e0b45170c1d8d08216656fba219ddc855f2bb36360e676e1a00fcaf92213c44 +MD = b32d1b0acc097eddc13dbba91d2c144774f4bf1ba2275770b52858471de26ca1 + +Len = 640 +Msg = 120b80b44a2435d4783766416ede1784e00d3467c7ed1b6304e75b5846febb812d637fa6b043e693bce4f7ca1df07d75a211519e7cbdd7a2e854cbe30e683ebe285bdbbde6306f0d119ba932705a1ef9 +MD = 200818a7fa963423d0a90bd85475d67befdfa43bb49be7c026b9693743404dcd + +Len = 648 +Msg = 713705674e20066d61bfe9ca763a8705cb6ca1e8cf95c6d729507661fcc687156922c8975645e5f36eba8a3069eccb298e96c498767c7c741259107df0180d15b9461d51ffc8e65035c92fcbfff744eead +MD = 786ea368156477616fd76039f9b1caaa95763adcebc1cfdae8198f82a41182a9 + +Len = 656 +Msg = 123ccaec522c2983b6cc2e06b0900c331db49dc5d5809cdf80cb14aeacbe184b1ddab5de643c2509b4204584f0a54a0408d0af6286d271f9648e7f5021566cf914f568b8fff36ee8e714bf1b23228e01b4ec +MD = 91b3e2463558941d0626936a8d275722fe2e600bb24df78d7c46752675d1c4da + +Len = 664 +Msg = 75d040ddea0428d8231dce4fbc98cc4a2f578a5f47475379d740aed8ab2ceb59bf6cfcf8af7786936fc438f13ceb5c02d207ab68e05e6637b944a2f94c3ce4f65661edb2d604d7b6c2976193f8c9882577f357 +MD = 749bae9322af588495dbc0ce426debd9e9cc4c02f50c52ca246b5582840a86cb + +Len = 672 +Msg = 7c238aafde6aabab177f718e0cfe1386cb1421b4799b15788b862bf03a8072bb30d02303888032baf5be242341822095fa71487c68024aa0c1df31aaa08e82e4b4508440b549df9c9de26844146c3cb82c060cb0 +MD = 36ba7bf53f7d253738f590ee25c6120e0e89b1b89c2a0691db6d38b72c20055b + +Len = 680 +Msg = 470be1ab595f8bfcbe651aafbe58a90cd4d72dba54f3437a50872c16bdc81593d21c9caeb13091874944f9977bca59e77b3031847afac62e82132450a165643549a72b78f77673bc13a88e9e17dd67e8f4560c07b2 +MD = 8ef8d6472e09f566f70e17b454489c193d11fd99855f7e69c0eed389515df577 + +Len = 688 +Msg = 6973b2d5fd42e78a2245c76f25681d704ea194e2b578281e58c6db6f6bbda92fef28bd2c86f4e55186f044824cd147c7d379daad8579dbe950d4ce3ffd06d3a2bd44d69d050606f19cc38880f3fb6c69b47be0759ddd +MD = 226fa54ab31f5a78eab4f92b10972fcfc8ccad25e0ffa49365da83f27220f6cd + +Len = 696 +Msg = c4d0d14c93058865d0fbe2e6e14e99f170cecd75c183f95343ef26bf65925fe9aab464dd005ea3a84eaa63bd4c3c43979711e39f0578e14f355d07986bcdc2819bb7d612c4f05170807abd49d8069a725cb70ccf7429d0 +MD = 88e183a794f478a850856966fdedd71b14d8aba72819fb26f14d2315c67f2deb + +Len = 704 +Msg = 73661799c7d2e24ea484299d8c8c1125739dce5cc307c327a3e5eaa879987757ad74b855b1b840fd3ec444bbe0864521b436ef3770434213a58defaa41d405e65870ccf92443f1f04aede48b5e3e7f4caaf1e8ce2b97b858 +MD = ad1affd1b194bc0afc389a2cb23281244a8d80a524262b2560d58f7f6d226f51 + +Len = 712 +Msg = d49063453b779b18933d233369881617c987fef4b18eea6fc600c1a24672d5643e0dbbcbfd345bf0c86743f2cf68413e609c300d5bb3122ee68c5f0561529dd49dec3139489475f8acc50afb9a5b7097a0f6d311829f2861e8 +MD = 6768946a3a27f46288ddfd4cb7b5fc9e27cd3ba46ec959e6f3d0cb5bff68e226 + +Len = 720 +Msg = 905888121360fe46f86dddd119076195213443f339907f87e5a05b122864a5b7ef2b3c6badabd2a74251ef5f21d63938b213f4f6f516c5336975bb572ce28fc463002b51dc766afaf2411fd6b14e58493b48e47a6aaf1207b72a +MD = 145ff262e203957a88a875ef986ac484204b20d9c4be7d35ad59612764991d49 + +Len = 728 +Msg = b752ac4adc97012119d895a800f318db6ae7e3c70344949d09e0f80550cc2fb48a860a41c570b8343581a261343b937487dd1ccce3d9378daf882af00c1daede13d851be5d7c198bc9026a29798f29f91ea422ab7694a753133c7a +MD = 2f399dc553da607b1c2d490e6461664a5a2c007f1800d76a2aaf7742a86b9617 + +Len = 736 +Msg = 1ef7001c52803938e937d93f5c853f661ce483b4262eac63d81a2389030368f841ec046289c2bfc100e012f512d9dfafc271608f3eec5e89b78ca38d6f55b1671413b4e44c9eb636915d12993f092b37ebb35d49f709348063d5dca3 +MD = 77e371349c466f6c331fac0284987537c15d0430e3f0cca8f1fe2aa7c794ef09 + +Len = 744 +Msg = 284bff3b6a683ff220f5cbfd3c2fb8a72bdb8506fcdd5b2dc50794a3422f7b14c084524739229a50c1e38e072078f1b8c1b9091ccb3aec888d1ffa651f31abe046318be2996c8243e28f593bc7bd7a19aadff737cd3bce2dba496c45e2 +MD = bfaa54963521e6e1ac72b55ee4d654c041f62b73ad5a5305c58f47bb25db7cc2 + +Len = 752 +Msg = 081d08397e1353073f8df24675588ad215e4dc3615a59d2ad9b9815aeecb9a69fa37e036f36f115e909dbb02fd8a96cad3be182947e944e3a281c3cdf1ad35d4fd62c9417dcb0b3c8beffe8e558e6bab154b78ef43117c2808af1255f7c5 +MD = ea8fbe273cd2bb3ab9cc7f3640fb4e3153a028d8ba9a880b3b8219006c28281f + +Len = 760 +Msg = 1ed6244a5996d5a4423c0106a4b8e785d750c7313843f3dfd6ac272c6eaa1dbe9abe5dcd457453e26246a3dfddbdc140d2d9bca0feb35a7f73616a428f1a567b2e9af86b1fc8aec6d597b1b55f2aa2219b3b662fa6bd340796c0ecda6c96ab +MD = 8fc2263517c85d7ab8926595b8047b4b838a075a29b24da712303c3e6e597e49 + +Len = 768 +Msg = 63188781f4e9cbd1e89a54a65da053b93722e1106f00f024ad1582421ab919326f8a6e17536d6596e3cf413a9231141733e37aae540f8711cefafe489a87c4f2e6fd942f6809f3bef3076763487de48c2ee88733c5bc870617a668c6f01471ed +MD = 91a8e285029085e224987078066486b6c605cbac27e49e84f4639710ddd05d33 + +Len = 776 +Msg = 371171b626ccea8b2980dcd33bcbb849fe57d201000bc2443d830a9be6befa2a6117d13f9177252b57c8855159ad5c7c02701876ca3c8cd6b78c931923e3f7f4c1be91e9dbc6b119dd4bc05917ee2387bf9d631f35c58b098bc2d2b5459b7a6a5d +MD = e68655149dc14bc5759b8cacb7c2d2a850456a64a87af41de84f567ffe9c5e60 + +Len = 784 +Msg = 9bf7c7d99059248589b18a3fd3b03f4a72d21d2aacd635b5cc71b86d2043180d440a6a62a2160f5c3afd93659f8fd5f1420c6857f3953adfa5e1731c7231a07cdf86111d60117fe21febf3c7f906e271c9649d0aea86e94bf728e9dad52b45d7f4d3 +MD = 385b95541558ad0a9a20cb91116eda03c5a694ca95eab1caf5c0d1501899d3bd + +Len = 792 +Msg = 1973263a26d4a418c691dd5f5ccb7dd7241ebcae24ccebbe60174c0f4eee279d89cc1a5bc9deb177136437e02d59cb065556b6e132b4fb340bf1301337548da3d5d44321bd370e25b6770e28e969d34495a0b73c059070bcbfefe5e2ff6141fc635346 +MD = 39d8740d56e58f027a6af13cce9b6484b23fa6b3693354175c034ac1778a1a75 + +Len = 800 +Msg = ec8ee65cef05452defe832e0a3a3ba6116a8d5d6a8638e2e566f63fd3c0aef8758c6c61a9182a1a2f899bb774d597a79c5b7525f0a40e74c845371a3d78e651dad865219b5bb0833eccb00171be5f898a081defc724eef9a606c20a899dcbd4e713550fe +MD = 3e7a652d89df9ed7cacf53d033997c87528b8cc37d59b8eafbedbe4e8e9c5c3b + +Len = 808 +Msg = df410a8b65f17139fc8eb8495df813b1f6f9f1b7471c7e628cc36d2e9c74f60311741a68a9972ef5ec5697060f22d3b719f8b90c4436016fa6ad066010f7cb68370a3c4e110eb78e826ccb07382840f4d470571d4a75524f8a7937096029d278982ef9a567 +MD = 294c8788036098f49c23016534d032939d5e9638e3e4e8474533f52b668f2da1 + +Len = 816 +Msg = 27c2ee5f63c114c1f61530685c19c21a4b7d47b3428e6b8265b87bf0884919628a773361e4a536f981e27e5ed1b312d619128ed20db6605ea09537bc1ba8b94c6cee75b0c1b3182c5612e3538bb95ce03aec44e247cdca1c79dafeab88b788e9772e9a922374 +MD = cf027f6017618d970da83865d8da560f454ce2bd86af59624fb87c8e48beb208 + +Len = 824 +Msg = 2f510b72ad1a26fead669ccafe9ad0fe31ce0a12f3d06bee9a6c2750fdebee6d89daabdb910d71aee6e3b2e2a8cab3f95b063ce43daf9427d7f9ad39d3b99b290d244a87edd97182f322c24e937664c94443a25dd4ebe528fe0cdf5a3e050adfe4b6513f68870c +MD = 8969727f522ab392d11c3cfa7d02fa2f9b457a1de2afd360ac9b2b4fece84e32 + +Len = 832 +Msg = 2a81eb0e6f1d13df6544c69321c561a489ff9d77b9ae11d7a604f8a201fc35c25feb945f965753536a0de1df696ee59c130a82b43e70d951b943d0563091124e4f6158a12a8be60eddcd58556f1a9e34fd354695147ff9065e0e496981feaaed440cbd3df460d5f7 +MD = 3818a14b4abd900c823275d45afea6ed1df6cc659eb3ef387445f8ad3903623f + +Len = 840 +Msg = 9aa1fa540acb4d2a59a6a3aa8c2fdbcd0a4a17b6b55508e65a036cb34b68d4f64a50ab05a9d574e1b03153b03fd0cf6db4aad6de0fcf01c655431a5d320ddcfde18bf91e510862848090c2b72b034bb4aa69b6e216858547acad8cfc76d9afde28f9ed87488c9e7d91 +MD = f9424b3dd79d555e2f5f8a185933f77db95864f4b597ee805d5b62fe0396673e + +Len = 848 +Msg = ccf2cc0cd223b80ebbd49db9ede7a22862812dbc4b1aa6c9fad07f8efe01716b9018084e2ea7616f85b7333d945c0c970f8cdd400130b98db67cda61d87ce55bd8f06e4e8f5abff22655d5d93328aca4249bbd76e10ac4a9adb7c6c04d64539d6d2209f53f6459006557 +MD = 06d1cd544f954160ade83a102eb935f7f948009591b3eadaf4765868c63450d8 + +Len = 856 +Msg = 5aa1b85ca84f24f487f69e796268826518154bd6a224583ef6c3f15c2bbb856bdd473599d32697badfefb33e06a55260e18b79a1433930751df0873c9e2bdb739e76562c3c83b5bbc67b4eb3da925111cbde4eb64669f71b36852840e45f24e563d722fd2b8f0860044276 +MD = c760de5612ec9d047848727b261c8876b6c33b2c57ee1ac99da0890c009b9540 + +Len = 864 +Msg = b613eebbad7a1860928ae7329a38cfe86f1174a579740ecc5cff1216c2470fe25accd5cc212cdd80e096e5d1f582db05579ffc73d50d3d519ecdeac706768d478729112106c627525860e99d05efbdde4c457d9a6744d5da104dec3a43fb463d4612e9e3e7b2be7e05d13bc1 +MD = 012499f4e6e2af3b530d264bce97e344405ffe59c04b31432e7f0446a6ef33ae + +Len = 872 +Msg = 823ef09a0a657d28ffe8173b6cf04bf4795a96b39b19339608d5323c6ed8cacfe42bf04121fc28d5eb439ce2d3a66bd42099437309c9326827bbb9fc29b02324cacd14bb0078650e76052f9d3d922620bf2f29c9f44317c9d82be3151c23eb6a1b6a858e11a1dbda8774faf512 +MD = 08042c79507268fdcebf12719610219d1364117e66916b9e0c1a2aedf5b4a8df + +Len = 880 +Msg = 9607cca45873add19a93dccf3d0f790e856ff30b84c8211ad69b8e628ffa142972ecac5264138423208c524c2b17e9250b780938b41d7cff43005eefeecfbdb53b4b62bf71eeedfe4cd028eaf5cb95c731dd4927d9cffdb18a1463209df4b68f5aea95f3684a11e9882605b28473 +MD = 73b4086d690ace6940c01912acb3a57bfc15c4a16c40a90b4329f1fa9f3085d2 + +Len = 888 +Msg = 5731f467c5b923c43af9c5fa849aad21ab8dd7db1ca1a687065571b705ea3ee4febdcd614ad4d98e16b79a4e09818ebb28367918f757ab06e1b481fbda822ef143adbb5b0e704d5d2222a73c0153ef14a817b5c9b7a2313fd115ccce4698e3f0efa9c73d5ab3089a27e3f3adb23759 +MD = f5253b5c69db9c724aebf762ec51c221f8a4d4e2174a4b7f56e4d69aa44adfa3 + +Len = 896 +Msg = 92b23c0bc4d8d07d22e28812710dff06cb9bbecea2c960ac0200f480164fa2e1ee19926c7f0b095cec51d55c040aec990bf9501abd7d355490c366f93a3ae5127347d14dfc3b8d98e0821feefa1cd671b75230ba1da1fa6d0cfbb910c42f491da8a5c455424ea65886db2e735b2d07b9 +MD = 55a0597f11ff71c426201715beb585f254bb31c1dbade533f04e499c3391ff79 + +Len = 904 +Msg = bcc51ea0a66564a171dabfa279e384f4d9fdcba38028215788ee7d78c3a2769596e6b2070a6fa2d1200d6ccb65e52900c7015154a70c736a2f562ac4e61f4c2c81116453fd0e63b9ea2c92cc0afecb541a16e90ef0c77d97c630c38cd675d4f027501ccea6c90f1f784118ed8fb5d2b97b +MD = c16ca79c0ab44f39da1c65e8943ad2e90888c3d80b5e3b3b1bff59408b59d6f3 + +Len = 912 +Msg = 2183bf5465b18359a451cf3030bab07fa761d11926444c7dba88c0a01760a4ec8d32db8837f588da76de234a9d3bcd49ee9fe092c63fcbb0149c1dc10f62df792990276a3edaea82124c12d5fa2fd09cd930347e4ebffb0f2cb6a8972b3bd614dde7cc82e328525960e3c358ae5e6481505e +MD = 7e5b4bd808b900735c0fe665da9437dacaf85249df653c6ee72fb296e8a9b8bb + +Len = 920 +Msg = 959ba94b728a8adf53513521022558183a632e24ad82a3904b47b966c2372a8741524ffa82fe408507423d7aa4344dd43db52482d15b4a03b7af7a3328994965fe1808b1bb36ea90cd3c6aa61122e7de954991bca26d89effad544265ecc312553559b18261bd0272ea7834a51d56f5fc9893d +MD = 85c2f125e6d11f831807820ccf0a53932713dbcef3e23b0e3c0aad8f89139cc4 + +Len = 928 +Msg = 30d62ff4263a731a205069cf7c0a0db0b50d3db13f08c00fb24586862b7e31c5eff1d51f52b6fc83d851eeae99842f9fea67484b39baca933979917340b1467ced9327840dc60b9cbf02a042d7dbf8d881da445527d2df3b94718ec9591606716fe2ae8c1f12a74d1f8c0af3feb77043c190b836 +MD = 4543378ed5a054557889b4634d4aa77bd30726b797235010d6a4920bf9cc3b40 + +Len = 936 +Msg = 3761a4861249c4e0115b997c2c87e85e5ea2bcaf44aea31ae65c1975d5cf45a476a3e3ba9d2e82625d05ef7e1fc2f10df205365222b98e330c9957df30f238b388aa135f19813444c797cf216d2fa9ef2db2150905f72290a3c1130e7b890f59167e1abbadcb444ff61820ae3e5378cbb8b03f1c15 +MD = 088167f12e82a45698cad25b405da5e24a0f4515b28b915bfe799d0990723598 + +Len = 944 +Msg = 6e26e2b41b80f26b87cba9bf5e11b734611e89110c9210157634c5667a89eaca14a612190d42e3f3db0f1baec34bd1924091fe49a8f63b910d51cc3461dade3adef70d5da55229bda62f3ad5bffdc1ae282a41520e3cfe847e1e05ae85b76c1b96c1db662bd94c33afd20e1c9c4f10efe1915c16868d +MD = ad549004c75fa7818dfa6e906062a850589f7a8d17a1c411fc955168215e45cc + +Len = 952 +Msg = fe8b3dca283022daf7022a88dfb8ff61847509c41e9cec4f22e652971fb2ea1ce59cb17ced5070e6f5a185d2ebd5e7ef0c43655d4d212e1dfa9796c69d17177921f196163722e8b0f96d953fcdaedc958d6af794e5aaa09dfc0ad34b560dd662f9b37702ce4e95214b91e1384feae63b4d1247cfade248 +MD = 37a89a63b4a30e6a21549a245a2633ee5fdb618e6749f60522f5ad03a34d4465 + +Len = 960 +Msg = 04c48b4c37a0dafe8ab2c517eeb472385661001376296ac5ca2aaf67db5c30dfbe0b59fcdd8b83c3fa271903705afa30bc421f6d3d517eeb38462e721f5bcb3d13c01c0ba749f373e7645578994ddb5dc28558bb6c80bcd0a79d391ace5ca4240bcc1da11d42f2b75950c19deff5dd686f12f3228c1dee1d +MD = 29a6b04353ea82f3f2a28503a125233f8afc5b601921637a0a24b83436abf9b5 + +Len = 968 +Msg = bc43ae59c1bed74fd4eb61be97b0276ec5adda96c67c3b4680378e026f3b4baff82c16b4fa3af159a7a2b1729277ae4208a2bf9aa42866411eab47986434df7eec2f727248b745f7fb140e3d8b82a9fdd7340ca5ab997db592de0369ebb41a983f53aadcd2bf3af3784a6165aa5a7e67d96ca9000259ea6a83 +MD = 6e1244587179eff28881bb80b02d193908a4c4d014b4da5b7e93c09e2b2964f5 + +Len = 976 +Msg = ddad789728581044ff760f79099e01a2cfc94ba27a070e22de714e28b85f54eb34db50e6b355432bca981cfa8efc21920fdd9147224d88d5640622f47ba2e32c9f0f57eb5a3df5d58b19495bb1bf538f66eb2a362ab1e41f626fbab4a0ff68cf2531d3cfa578eeea4ae3dec5fb4f5d41dddc5c981a9decaae294 +MD = 6e3ff96f4e4a722c912392b3b5fa20ae762ccef244c011268720962184383a66 + +Len = 984 +Msg = 8c7214e14eb6e0ee14de3ca0edcb510aec5079b3d143ff48e5d3268d261b6c99a4f80f432b18d1d82254f80fb3409a3e2d0017cda65de7ebe41896817e7d0c643e3c12cfca75121083121e81ae5934bad2c1c105600563139978f3edad98c32c20e5246d72f42c00ffbfb6e0243fa9e8a33d7e434965fc25ce9c46 +MD = b4b4e5edda4fb4f7c0e734cbcca3c78dbd6f2c9a997ae85a6394108cbc5c567d + +Len = 992 +Msg = 3b766fbba3339959b194163c36b4eb6505ac17e7b24e753e9916e3e1225da41b44d0031648213939d0fc91b3173dca587a60bdad3838403e76e449388600573368180d5091622084ecac74331f9382010ff6fde5a6aab57fd46fbbabd323c656b036d590075e16e30e8c07e3d41edb07cb561fb7850b9da6bb9e8162 +MD = b450e083d9f3f58284ef80023e3bacb1826e560a22f6e6625d14ad1348df96b1 + +Len = 1000 +Msg = 6ed8a9f9f2baf57e659aed127833edee9025a8481cf61d772556c75826a714f01fbc1953e5e184c4bc1cd21d27b3c272ffee09f1c31e470c2fde3adb109931bb564dc43c6b8ec33ac3cd6c49b5dae15789a8d98cd2519575fe5916622b378d0c3c11137b2cc89a27a334235ec7b132e555da7fe2f094eff9b94fc2b61f +MD = 17312a26ef9b41ffebe31ee7ee51162704a2f05a5905ff8b692fd603942e9668 + +Len = 1008 +Msg = dcb458193c4ba82a45bfdf028000841e4a8c671f8e2b841dd4dc2a3d7b0f5d86421478f00ed417bee7bf330e43058faf87095332cb13f744dd44633b89d055ee186702ca17f400225a8a63c7409b27d9376ccedc83c5490e3ced1cf896d6be4466943ecee1132cfea60ab754ff2b1344639d1e4540ab4225f8be9d9f2988 +MD = 9392ce14d344de05e4f87f634b457079343e270fff5b5c7b731e9fef137115dd + +Len = 1016 +Msg = 3e3a52d3261e1194249786d6c0e18d52d92f1c7639f079c26c51aa72d1032e5df13eea1d1006667002ad39de4099c29c3b4719b1f0904557bd2bb0a47374d869ac6b465b5f00c470b18ecb8c0ea53b5d790c4e832006cff534d587a0f77df95117ca4fd43a94935eda422228538d5e5d3a87a436f1db7e63785619ae86a6f9 +MD = b34e72cefefb63d6e309bcfb4f0b1d350f2c5c582de3b93ad137f921a92a7e79 + +Len = 1024 +Msg = bc8173c878ca60e9a0f823f9a589d4ff84547b389b117fb6bb1b614e7e75a9b1db0b21d9f73b42a73e94eccab3de5ae2845a54e5e24ba6c20fb4d245b964023b863040d6f080e953530d5fd944e8ffa525bf5364f65c88e06e6e22df4b8cee48e67738880a9f3f3406e9e6f001b0ac8f8e0ade7c814c0c5800d0b9e4ddf55622 +MD = f691d01ee9ab675f3872313b77e6a4543c71e3e89aa94c48f91d6ee7fa1ab4fb + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-224.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-224.txt new file mode 100644 index 000000000..80691bee0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-224.txt @@ -0,0 +1,1031 @@ +# File generated with ../../loader.py from ShortMsgKAT_SHA3-224.txt.old + +# This file contains the full content of the ShortMsgKAT_SHA3-224.txt file retrieved +# from https://github.com/gvanas/KeccakCodePackage on 8 May 2014. +# +# Keccak(input|01)[r=1152, c=448] truncated to 224 bits, or SHA3-224 as in FIPS 202 draft + +Len = 0 +Msg = 00 +MD = 6B4E03423667DBB73B6E15454F0EB1ABD4597F9A1B078E3F5B5A6BC7 + +Len = 8 +Msg = CC +MD = DF70ADC49B2E76EEE3A6931B93FA41841C3AF2CDF5B32A18B5478C39 + +Len = 16 +Msg = 41FB +MD = BFF295861DAEDF33E70519B1E2BCB4C2E9FE3364D789BC3B17301C15 + +Len = 24 +Msg = 1F877C +MD = 14889DF49C076A9AF2F4BCB16339BCC45A24EBF9CE4DCDCE7EC17217 + +Len = 32 +Msg = C1ECFDFC +MD = A33C58DF8A8026F0F9591966BD6D00EED3B1E829580AB9BE268CAF39 + +Len = 40 +Msg = 21F134AC57 +MD = 10E580A32199596169331AD43CFCF10264F81565037040028A06B458 + +Len = 48 +Msg = C6F50BB74E29 +MD = FE52C30C95C1E5193207E97D355FDE09453482708C0876AA961508F0 + +Len = 56 +Msg = 119713CC83EEEF +MD = 8B449849CB7C4776C593DE58FD5C2E322CB5316BE08A75057A01ED6A + +Len = 64 +Msg = 4A4F202484512526 +MD = 01386CDD70589B3B34941EFE16B85071E9BA948179922044F640868E + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = 86953D0864019C81FD3A805357A162FD76A13A7CBF6FF0D635015D0E + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = E56FC2A5A58709031DF02A2E46AD95F93583E2745630540D8D97F703 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = 1D783C37C32A2B71B504BCAA05FC00B639F1FAE7E8D8E3F3BC49F041 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = 54C7E4BF3C73E192ADE223DFEA86F2D04ACF953612731958F854C7BD + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 77E51CEADA2AA1CBBF95ACD821008B57E946F7940223B19F0C53E62E + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 9ED59ED155E97154E067FA0F5A130839B57BDBDA6FEB82DABE006F00 + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = 81B3E56CFEEE8E9138D3BFE24BB7CCDFD4B50D0B8CA11AE7D4B0C960 + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = B1571BED52E54EEF377D99DF7BE4BC6682C43387F2BF9ACC92DF608F + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 08045CF78D238D56972F1C850414BC404FC6DCB11F8D8210D034C610 + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = 9FFD840C550AD23971EB5CE89AE2FD6222ABFB7F0AAFD7EB0005716B + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = 72DECB5EA1B25A2DAAEB234A8D96E0F57211426666A2EE76B2385C62 + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = A589936370A3D20039C469D44A1C26E62823AB28CC50175A9897F98E + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = 96F43401AD49C58D887020F395BDD01F6DAD04128A85B17780408C37 + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = A3A0F0C552E7CD2723FE22E1D5719E213D9A3DA1DB99E32EFFFD0F46 + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = E991F4A14B56DC6B224EF352AE8BC8CAE8B1AF1C25C6733DFB7FFE1F + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 718866C21CBE3F291364C07B36078A6BF0B8258B0EC155E2E2B1AF23 + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 23606D06FD8F87C2205ABB5FD04C33EBA30509955200566A0F772B49 + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = 05935F0AD2264475DF34FA96F6A9118C32B217E86169EB7ADE4E2FDB + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = FBEC83CBDB6D08C7BFDDC2E37F73B16DC92926A5C23DAB41DEEBFB1B + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 1E693B0BCE2372550DAEF35B14F13AB43441ED6742DEE3E86FD1D8EF + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 1781F1344DC17F678571F4E5DF3998B1D38B1D83602B53B9B6F283D6 + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 03B74B7D8FC1F23F76BAB2B6C35F292C15506DE64978FCF6D9973FCE + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = 6A6857FBA903B9DA2753690C39C548BE008E22EBB372EEAA16C85918 + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = 887921848AD98458F3DB3E0ECD5AD5DB1F0BF9F2D0CA08601074D597 + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = E0573AD706B44D8C4D204F884B95AB18913E76F41CF29A16DBE34794 + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = BA31233099055483C99F7AD82D0D24AF487ED4B53FFF1A892A55DDB3 + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = BEFAA1CB47CF78DDD4E096B861BC340B776F52E351EBE378ADE305BA + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = F1E7A1B28EA4D6FB86570F66911E3258C3F49F891654FBCE9BC79B8B + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = C2B31746446934FE29E84CFB5C25B03BE33E9004F74E91C1AF0DB789 + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = 3A80645FE4271346AAEDC3AE5011B75DF163FAD3EE6128D87F3D9DA3 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 3C5EBE43A2571BCEF25E4EA67A4CA9838770D23599059955AF93FF83 + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = AF71DAB0F33D3B48733AD6335CA609398D894E6FA96F5510AE73E5D2 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = DD7512DAA0C634CC1588870B84691D7DE2C182E5570D57868E7DDA5D + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = 6CB4F9292BA33CA8D293B7A7EF76619E77309BA2178CD4A130BF9218 + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = A9B8435E55FC50FE935EC96798A629C13E856C3C5CFD248126976E0D + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = 93E79850622B91F729AB056EA402E27F01B5323158111B29362A96D5 + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 7E51D5531382490670115DE13137CB3ADB6E7621B7D9ECA8170FAA96 + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = 95C35037A8076926FC5C421C35160AC5FE533A2782F20F2D3F4B1B7D + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = BF024A4FE480636118FCC85B807704D59B64D16A150AA53CDE41F030 + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = B7A51FBB084DEEB55136EFD7260E5B112E3C40D1A2D14B142DF930DF + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = 61CF830A2C4F8F48BC643F97A25F822C013F73BDF4CB4194BC8D55DF + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = D87F62EA811A2F6BF3C5FDE13475B9C676620C0184F87149DC8686C8 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = 028A639C7EC0BA1DCEC0B689AA26E2C0167622462669A5C52031602B + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = 908EF28AB2B6CBB449B9AF7FA78B3D90E019C3916562EB4819A0C87F + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 6AC84149F890E1352C6D7397DAC3B3773947B3757E8ED4EC059EF899 + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = 45DA27715CD75F5875BEB7D914CF7488240D1B1F975D430D2F49E9BF + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 63AFBABBEC072140DFCEFE64CF7BC9534DCA10956042E31DBE58D0A5 + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = 6487193D9CBE593B3DAA50D4DFDF7DD2612300BB93CB39E3EEFA1AFA + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = 0DEC25BE3277E27D4F784AD5FF8F79D61D9A309BD693513ACBEED12F + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 130B67C6D1A5616227ABD73ABF6FEB70FCE1D5A4BF3338C6DCCB39D5 + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 3ABB5ACB8485E20BB620D4A030B9C25D3156A9B26893AE007C79F305 + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = 922E216529A95305307E908C69367EBB9AD931ECA314563AC36AAB80 + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = C72E93A2C39ABCD90AB11CD3F15D59DA3C23C0F17C4E26C9C5890887 + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = CCCC3B59F28C3FC462DC0A696150F5AEA62DA0ABA97C476BD0D866C1 + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = 28CFD0C6F0208D24AAA69E6C39F5257C13303E91C2D683A9AF29B973 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = C154607F986F9BF902D831293C8386D36B201EABA6F6FB0B678B4B81 + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = 95E87AC90F541AB90CBCF7FD7E0E0C152CEF78D5EE1830E9ED8A1ED7 + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = 35BD7D02541D6D4B10ACE6029A24C07A38FD563ABA227F0F776EA5E2 + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = 99DECB8CF1D474970B3CFA87FA462B75E3287B98B4BE4093429E22D6 + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = 8C20FD3D8E08235B01727A4DF44D86E71E824F14B0C2FE4E8DA7F1BB + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = E29E68439AECDE56F5297FB935DC7DBE63D61CE360A19629195BD8AA + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = 5D2164DA84E7707CD1E789711A664AB2EBCF66EBA899A909A1D0CBEC + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = FA263B093EA3F96B52DB6251EA25A5254ADA5B54D476CB0794D38889 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = D803E320A9865EBF3555E8A3E3134768A2EE1B3E59FA15F35C2EC550 + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = 102925B63B3E9395F88124C3BFA777F29A5B41C13B62ADD7C271CD6E + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = 6C4E83CD9258205F3C2BCF64149F4ACDCEE7742CB2D36038537171BD + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = C74C9EBB2EF9A9822A6228BD1186DCC4411BC59EC938DF27E54B0815 + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = D23420F9985D66F097D43A0FB2434149D2B33F21B5BAD6CFC250E072 + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = 102EDD2E946F33DD7AA553EA4CE4E659C7B240E1E28BC66200845D87 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 7C8EB98B7338403C013D65C0B5BB4B5D2CBF539CB1109CF447FA6650 + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = C7B07DE91EFCE42DAB78199EE2EB3014A494994236A12B3DE2330C25 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 2FCEF2594AE855DE4FC66DCCC517A659118B3A9F2E5FE638980ADBFB + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = D45873F0453CBF38156A1384E33E5C76588B7BFB48A709B3943D9186 + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = 3543ADD5B7EDFC83AFE7C1F2D55140AEDB858304628109FD077B3860 + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 36784F114958D8B5B625DD89A4E3973A113E5D1610DFA55B4FB45AEC + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 4187FEAED4FBD3D505A96A8D60668A88172E4F7C8451A4A6802C5747 + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 6E4766DB4E9D1102CEE6DFE0AE2221321B9C0FE707F0A7825D7557EC + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = E1FC972BFB294185F1980CA2938655FB583E812AD3D64FA5A4CF703E + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = F6F28E3B65B684C9D9506061980046061390CCDE2458A20F9B086BE5 + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = F686D2B1386B02B08F6B02BD5D50206D5E138440CB0D93EBCC3B32A7 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = 46483375D112FC2BE7F611BE4B98DFADA38892C43CEFA586726B48BB + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = E1E9AD568AE5B0D9731400BA4FC7DF0321A04EA41393BA6979C7179C + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = 133F31D9FBC1B2A33F1C98BFE21E129E0716A69EE27408743FFF17AC + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 31328F04CA64E8521A36A8943C33CEB95BE1B9080F4533D6DA07606D + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = ADD374B1D279469C08E7B27AE3FF1B04C3D0FB3EF6E59AA3AF86660B + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = FED7FDE894D92CC3BB68FCC396B5EB00C4156F04FC9CED99D12CFA5B + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = 17FC0327DE474C78F538B4F3981674FF470AA42EF3B82C0CC34DE6DA + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = 88FEFBE8995E296A9DEE4DA2B414D5A7E134045639A6B176C2D736ED + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = C002732F6F38AB83828921F5FCB4A8CE1FC561B0E9FA214C5FF02192 + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = 44E9002F9D97D98BB439AFC361F93BB959523E73136A2C65B2E2B066 + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 2BFF16CBA9E50762D2288EB780078462C086F4CBF59479F5387A0B27 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = 5EFDC3CAA22EE2C2EB632D4C6645CE3EC63960DFD69A04BBE01156C5 + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = E8FB64A74387C9A3E1AC4ABC82D3591B6B349F2E5CDE6584D8D7C371 + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = DB224BCCF5CA86DFBA3EA372E2269750B532409EA004E82D4B5835E8 + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = 4E28867DCEF3A7B759CA24D8107BEB0CBF9DB0F10A3C410A9B4BA8C8 + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = 5C0C2DF13A1FD6762B6E50FB3E080E649C3A7A8DDA415C42FB637136 + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = 36F5630EC2829B0FBAD84F150932E46647EDCC454E06B23166661D60 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = DAC2594BCD357E63928A21E98348F27D0FA2C70EB07C7E8E93D6D84E + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = 24970DF3CF8C9E30DCBE661817FF74538AD43BC90B149ED7CAB7811B + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = AD9BF420D2B570EBE7923A76B253F156F3513712955BCBB9A87394DB + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = 2F60928263FE1D5FA5136DA8DE1D2C3B60BD4B700A3E2C256E9536EF + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = BFB40F7E7F81F2FEC7644E08FBC99C768ADC6314B8CCD833332F1BF8 + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = 190E9FDA8A7D78343FF24ADE9FEE69650C7631AD6329D17D4BD575DB + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = E26CD20B87083CB9F246D216E3DA51EF7C5519B483DB439D37256DBE + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = 6CAF807F6ABC1A7721A5F209FC09FD00474B9E2A77EF7B57E1320271 + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = 64CD5291A1A0807BA7C14103A0F46C636795F8F8D3A12E59E88D9C51 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 29491256A80BF1A9325348B5841EDC726FA8A53117268C47F74B5E49 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = A523449B770A8DE3B39CD446046149FEAEE327D6D5B39929B9AAC915 + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = ABB2FCE213CE164C94AB7A763C21F638A3BB8D72F802DEADACC023AE + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = C40D969F7218D71B904C4E4EACEB0473BA0A2E7339649DA5DFEB8938 + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 2EB28FDF458D4FECB5B441D910B576F630E666BBF30AAC90AB64425B + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = A3387B2FA23A13BFAE77895F1F93935A0710EE3A027FF0D6399D8ECC + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = 75755F46C2FC86BD4AAE75919C6CA5B1A7375E466CA3170F70EEE490 + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 7184C69EE1C43FD564102CD68EF898D5D0D8264B9B0D044691BC18AF + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = F50CF78FF46513C905399CC2510681A90CE089FCED40FBC9CF218CA4 + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = F2AABE18D7B4DD8E4DC0AC8DCF4E9019C7C9AF33D4B952DA41219FE5 + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = AC5D00D177E71D7B9A97270E6200E4D3D07851EB2E58B12BE0BEED95 + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = CB7979B4C6C2826CDEF7E1AADA85F8C4546DD59D29FC0AEA444F8077 + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = F9D8CCF6684693C40C81EBBD006C49984FBAF3A2B2E905ABE60765DD + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = ED1F6387A7BE090277B65A5FCD7040C7BE0EEAF0FD7F14968097873B + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = 0A27CE6973CB22A8B10057A8E7A654058B71E6D8C69C653415FF0C81 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = BE3BE49980F43FB6598BE921D7D8FDA1F397F605D9708C5D125C4E9F + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = 932137BF2CD32DDFD3BA80C525268730B6F7458601B5296AEB325183 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 796698CE24EFCDA8214D161138F3C7DA6D7615E4CF1DAC63B69941F9 + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = B216930E158D65FB1FF424F9EAB6CD28996231EF5EE1D65DBE29D370 + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = AF6C676A62288B2D25A862F8866B262A74E3D2A0D414B966CE601E14 + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 418C83EB01881B4F38544665201DD05C939CA047D31834F637342342 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = 64D78817714FE05272D3805E6E19056B1649036CDCD5094FD1CC890A + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = 2C4E7C537D0E2AF2261A669BC24BD0DF16D2C72A7F98D7A5EF6A8150 + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = DF1FCB80AB380CA33BDB61F96ADAB334937E190F03C1B78B219E50F8 + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = 0DD77ADA384CAB6A7ACED19CFC8048C2566D4303E2010C98D16A0516 + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = B256D0D6B6D6A72E113D105AD9601C91933D53B20A30D8E2CF33F96D + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = B95F72512546E4AF685931246717BC482BFE922789A26EEF01BDE82D + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = 628238A9532727CC83F8FDCED11D138A17EEE4822C5D3549157D6D5E + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = AB0FD308590574D6F6130232D9FAFA9FFCFEA78579A6A8F67C590420 + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = D5134200DC98F4CA480CD24D24497737252B55977AE5A869BA27089D + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = 494CBC9B649E48EC5AD7364AEB9C8EDF4A4F400789EF203F7B818A44 + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = 7FF8A28AB12074102AEF3EFB8904284B617237322A2BF701C9FCFEFC + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = 50CDBEAB4BBAA0861F3E364AF520F9D8B54E79E3871ABCA7BBB2BAE5 + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = 29B6B523C82F499078C73630BA38227BBD08EF1A2D67B425C058DEF5 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = 93CE0C8D4355300D4E63D6599129DEA7420E5B609DBB35BE432B12B5 + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = D02896D957B599869F2B2A4992A49EEF7AB1308F456C78C809BDAC88 + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = 181E2301F629A569271BB740D32B1D3BD25ACB179E9AEBEF98009ED4 + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = 5CD017B269A6366C789D9CECAEF3EE9C3575181A084266D78A028DB7 + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = AC280A211C98A07F6FCBB719F250E3E5A6BA2C93A833976C9F3147EB + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = C284C9308A28B6D29CCAA7853F8C41BADCDDBC1AA4E99481A6EE2F4D + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 3D9A979B34D45569E1C98D09DC62D03616C0251C41A8B90138750F1E + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = 8DDC9F1E0F94C1247A67D6119A9169762C6C7F1EC7F611D61353AB30 + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = 46EDA2622D49B9148B40B6014C75A4086EB9DD4740F0DD591ACA53B2 + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = 57CFA137968C39EAA12533044B8265BB903EC16C8D17B6CF1F106C57 + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = 8730C219E19D9D37CB7A63A4DDD55E84DCB0236EF7C8828B2A23C9B9 + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 61C01FB4A010F319D193CB6D36063751950A1A8F93539BEA32F84EA1 + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 1459044DF9C26F5E240F6A6B9380734CAD84B6592FC9693DDD9F974E + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = EB5CC00173239851F3960EDAC336005109189DFC04B29CA4CDDE5BC1 + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = A640D4841390F47DC47D4BFCF130FCF51C5F2D491F91C13374CE5965 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = 85BB3ED98C4808D8F67C722C9119C54E6543B29E57BD4FB5CBC878C7 + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = 50B7D0ACB93211E0FC935F970BC43A00BE829D6B3C137D4A7E3B2BC1 + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 7CDC1782B39FC0EEB1F874D97C88051CF10508E0875FA173AC41CC8E + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = EE5D508A4E75900193E99A04B8D838A18DEDFCC431E7AF3182A47DD6 + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 5942BA8B58A355F2AEF07E29F8F9971301E877FA32D7025DF552B1EB + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = 29240A9E973888B98A3A836933855D41D8ABB6C3806A626C3DF18F6C + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = 9AF178B1DD3CEFC96227A289175BB61D9F6B0B352D7804F5E07EA45D + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = F543B4D423EAAC86338BB6D8C6181AD6DC0A25733953CED7EB8377F3 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = 77B4079EEE9D9E3FDA051EE0CA430B4DF011D056612C1AF446A187C2 + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = 987D30120C9AA4964650A6A730E99C86F7FBDDB4EA8D6B4815EE4EBF + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 46193359397BC3EACD69BFF410203583382DE93ECC4D80DCFB4FC51D + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 0BC29107C7E25D44F8CE83A415B1DE5DF38A6719769606762B7192C2 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = B485644C32283B280179F7C9714350F0B3ACFD7C45A247BF3B6CDB07 + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = F384542499EFD23381DEBCD9124C539C40BFA70E517280F56A0920E1 + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = D12E3884BC8CF9175D1778E8A3AAA119E4A897738F8D81B1278BC448 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = D8A348264D48045D4482F3FE002C1A1F36D4DF0D5E47FAC5125C7947 + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = 6865464C6A230B4BF64BA33BF97459D1D22DAFB19E08F4B7DACE02FF + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = 19D33CD354A13AB2A44044154BD865F117EF8A887FBD0570A8A4CA80 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = E438AE4153463B333AE4FE57BF131505C8C04A534A39A20574155E49 + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 454796C7219C6F7E88508DFC13668B81748211BD016D84B59293B445 + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = CE158AED6ED3C9D4432E2422AF8D255AB1F3898F6F5B5C5A1478552C + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = A0A21D95E640F13B25652484E244BE1B373E9B0609B685EFCE48107A + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = CA8CB1359F0B05E2FF9414CCE0DE6D2CB4D05B08354C2119A87342CA + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = 0DDDD152CF063F0F505B518EB8DB755704F45C9735780EC3A898A923 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = 57397BB1F84711641E94F413F5D73556B96BA5CFE15F709528626D07 + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = 68F6AC4289FD5214263130830FDA4DA601B88B1F8533EAC07A0338D9 + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = F145C45212392894E7F1C4E52728470F8A2D961514869990EFBE8232 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = 38CE7100E92EE4B65CC831915A06CFC2101990CB68E1004F7E9017D4 + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = BD63CA84DAC8BC586D0F0BE352DBBBA1F4CB430DEAA8119B8DA13C06 + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = 7EE4EAEA6127C68EFCE66991B8F0851FE072DF3B1E0B5D07E3A4BE06 + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 7F3EE578B0410687EAF536F9EC7D654B75F504C104B78793C4CF90D5 + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = C9C26396E560CD1E6824D9E56E179FCC8AAC4C0D932F7632BA594D4C + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = EF30652E3C6EA4EC214472BF96E5F30DCA1D31A78EB422734615EAF1 + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = 5A964BF38EB347684220A3E83EB1EFCB641C8F911CB068A774B25B8C + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = 07413665EDCB8A35021874984910B498CF74823050640243AE7C84CD + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = FCC9EAD160832F5F0FAFED6381AFD57FE1335FBFB05B7FB1F0075D37 + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = EC5C6DB60B0834FB2E0E7106AEEAFB9E614BE093C847018214D8A5DB + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = 0D5F6DE16B7CBBA49C28654F2AE98163257E7B6B500A3801EEF0733F + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = 7B7E1FC4D3833ED87FD166F909F5C2566DC0E95B17AC834F1E9E3DAD + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = C6AC9D5464855E5C2F83F2A56F9A992137DA47EC05C541295F8C43E7 + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = 4EE2F93C18974D978DD3A1CBF8B1DAC473807067B8807D026182B901 + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = D64AEE17ED8E2B85E6B097DB49554D356F032A34A15B7E844EC8D889 + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = 1BDDC92BE89A672C1BD956B450B9D7B47B4BB0BC58AC51F15F7E054D + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 0C8AC240170C6546DEBF4BFB5B38F8F30EA5DC6EF86C166E8E136D6B + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = 2FD9FDFD244B0A7342F886B87B3DDDCE54C8870FB26A71A8F6520231 + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 1B6BE19D72199BF75FD4075E54975AFA0433B9BF515BD300CE543D41 + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = A46B89B64B0C7930DD45F5B2582FD79C7AD90A58C94C52F9BFA55CFC + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = 21F0D8855387241D71A712E5F5682C156B9FD2AA6284294718853F0A + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 82EE85541D7A5B2A2B290003C3EE46574D58A7DDD54FBC210F8FEA57 + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = 278DD8A3F3208191CFF658B8D6DB35E133A16E47AA375EDB92C6A737 + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = B50527711C047DEF70B17CF20F970BED79C1C1B95275C2784C3903DE + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = F77CB5275212C92FA0DAD921B65F50814822E3D6D584C89528990F02 + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = 76CA9E685DFADC67576D44E8C1A82E8CF7E92FB0A81FE49E21108E09 + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = ABD313BC70B7FAB0EBC167D739B54C97389E752EE1A313B12673F51C + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = F79F6356328C580B811FEA81C5ED90A303CAF34A09BEB143BE450D42 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = 299D62F8DF5EADE6871883B033B830A9952A74B12F3D55AF798C6997 + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = 82BA2B8D65E14FDAC51F609F888881DB8070A0B70D7892C009A1AD28 + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = F8E5218DB087D38B1C773247FC22704C1FBDB20B1500E26AFA0B7572 + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = FA602F09B28F8679771E9C3966032B80FA2F0F33E84F3ED69BE7AE9C + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = C8D7568889DD6FCBC3B8874ED79051875D3CE29102DF0C5DAC8AEB8A + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = D83B06D509D332164087C0C3FA50B2264CB27F66D746B0470166CBC2 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 386147B0CF2365346E9846D3F3A7DCEEB6E3665BA7D1593C08B2B582 + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = A69C0C18A712408D8FA2389ACABC3BF6F6412F69783E9F37960D0B56 + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 0699FD35416D83791DC8E656F22718B09DA9E3DF6E7F37A250E22DCD + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = BF6A3598A15E28B776229F4D124D403FAD9D0FBC2B7668C95D8B5046 + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 56F8E9F69A399E528996C463D65F20DB41406533C7DF2BA1AFA2494A + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 9904D57DEDB935427F235A0009612235F14E9426B218E028F87B3C0C + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = FF7013679AB2BE65AEDD09739F56F8DD0072738B86E71A2470476C8C + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = 9DFB6A854A33914EAE1596DCD2BE363A96E7E088BE520F60E5A65C7F + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = C27E80C373B216703D3D9E67223CFC5497C3E74455D49B049AE3F5F4 + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = 3A189630F53C567B1C1825794D50DEF901A00E7F3728ECF2BBE00D90 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = 2585BD8D9158D6952BEE95B004F5FED70FAF061B68AB2D6A40469BE7 + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 7E64F3C5895D0586CC5B543B27DE1B66A935171E2E7F3CA48DD3718E + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = 0F837708E010375AF87F75415ED69988FE60EB2F2669AD051FA99727 + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = C79DE39778593810C03583D5962B36E04F343653074766D157A15993 + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = 95CC811CC56521A40E3CED8D9A230E2101E8061FB01E388B9964BF29 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = 2EBE13F12EC43E3F6B0506D7AB216E1C311394F7C89D69A920CD00C0 + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = 820101F5435D86E19BEC58ED0E1C7E630FE82DD92D7704E414802A16 + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = B1CF54F51F81FDB5B649BB6115126149296278BFF3D5395CF5F112D4 + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = B602722D1B9F31B9C5091E0FF720F1D1A8A51EB6F95ED3B412DE063D + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = 1368454E849F2D2299077F40826B4072E6FEE49B2062CB8E3B4523C9 + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 5765B70574F93341C1CC4ACB34F645B5D97B81D4CE8F38C3862F6C19 + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = B8FB318245B4042222B4063A053F15DA6B894F22736F3F9E26F72175 + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 353622E92C7907F5563BAF8F4E7AF0C2F872F4FB583B01AF9EB3D907 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = 87215AF73D5CDE98B355479AFB82A511180B7DC3D5342C88E133AED8 + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 25AE852DBA36B8D58A94DD5CFD8345141FF57E7DB7D7816C4F7252BB + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = ECE0394418F066F55023797551E06F6A7D1645682AA4D9DD75AF8E76 + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = 84A4BD2E3FA26C4FB01FE81953398F5B4B5704944354B51B887FD990 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = 170C413863D9F4E8C0B87A8532416B10A69C348D3A144658EAEEF0ED + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = D8C257DB76536F7EF1DCFB24976EB716D9491CD8651E0254E7C4A5BB + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = F81D8EE40869BB38A13A4F75588FA3308068DD1CDC27267D66FAC198 + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 94689EA9F347DDA8DD798A858605868743C6BD03A6A65C6085D52BED + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-256.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-256.txt new file mode 100644 index 000000000..96e5520f7 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-256.txt @@ -0,0 +1,1031 @@ +# File generated with ../../loader.py from ShortMsgKAT_SHA3-256.txt.old + +# This file contains the full content of the ShortMsgKAT_SHA3-256.txt file retrieved +# from https://github.com/gvanas/KeccakCodePackage on 8 May 2014. +# +# Keccak(input|01)[r=1088, c=512] truncated to 256 bits, or SHA3-256 as in FIPS 202 draft + +Len = 0 +Msg = 00 +MD = A7FFC6F8BF1ED76651C14756A061D662F580FF4DE43B49FA82D80A4B80F8434A + +Len = 8 +Msg = CC +MD = 677035391CD3701293D385F037BA32796252BB7CE180B00B582DD9B20AAAD7F0 + +Len = 16 +Msg = 41FB +MD = 39F31B6E653DFCD9CAED2602FD87F61B6254F581312FB6EEEC4D7148FA2E72AA + +Len = 24 +Msg = 1F877C +MD = BC22345E4BD3F792A341CF18AC0789F1C9C966712A501B19D1B6632CCD408EC5 + +Len = 32 +Msg = C1ECFDFC +MD = C5859BE82560CC8789133F7C834A6EE628E351E504E601E8059A0667FF62C124 + +Len = 40 +Msg = 21F134AC57 +MD = 55BD9224AF4EED0D121149E37FF4D7DD5BE24BD9FBE56E0171E87DB7A6F4E06D + +Len = 48 +Msg = C6F50BB74E29 +MD = AE0CBC757D4AB088E172ABFD8746289950F92D38A25295658DBF744B5635AF04 + +Len = 56 +Msg = 119713CC83EEEF +MD = E340C9A44373EFCC212F3CB66A047AC34C87FF1C58C4A14B16A2BFC34698BB1D + +Len = 64 +Msg = 4A4F202484512526 +MD = BA4FB009D57A5CEB85FC64D54E5C55A55854B41CC47AD15294BC41F32165DFBA + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = B9886EF905C8BDD272EDA8298865E0769869F1C964460D1AA9D7A0C687707CCD + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = FAB8F88D3191E21A725B21C63A02CAD3FA7C450EF8584B94CFA382F393422455 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = 9363ACD3F48BB91A8998AA0E8DF75C971770A16A71E7D2334409734CD7D0A9EE + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = 16932F6F65DEAAD5780E25AB410C66B0E4198EBA9F4ED1A25EE24F7879FAEFE2 + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 1C28100E0EF50671C7EA3E024FA3BA9DA2EBDDB4DE264C3A2426C36AD3F91C61 + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 8183BE4875FAB7EC5F99ED94F5F900CF1D6B953D8F71E1E7CC008687980E613A + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = 3B1A6D21FE44691DAC4EB7C593A6D8523CB606E63CF00E94D711A574248DACA5 + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 2C7E7CB356FDC68EC8927E499D2A6BAE2B781817919C829EBBE8225BAED46967 + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = C7B12EFF692D842110CC39AC60616707ACB3F9B0F1CB361B94577EFC529CA26C + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = 493EBAEBC04776F4E067555AFA09B58C850FDF1B0E22D4BF006CE41C091DC762 + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = 1D01F3120ECFBDD28DCE44317666CF864F52391B9ECA3843DB45667C2E0A98AD + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = 2C1E61E5D45203F27B86F1293A80BAB34192DAF42B8623B12005B2FB1C18ACB1 + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = AD0E3F29767067E929D1CECD95582DF8F2A9BEB92EAA27EEB315F620365A9244 + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 2B4EB5DE20E86074CABB55BFA63A5C8C6AE15679302061845B9CF233E17C906B + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = 6AE04C6C6F3651F1F64C0AD69733990B41747C93F87ACB813BB25BB1FC0EFF07 + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 40F9F55BC55DA466BC3DC1F89835A64094572DE73D64ED6646A1D3B667BE70A9 + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = C64BECF7B75FC885D5853924F2B7D37ABCEFD3DA126BB817697E1A09152B1EBE + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = 57D46A6BC8FAB33601538DAD27F98C66443032CC3912434C28EB88D0AF44C52C + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 7C956503D5B4DBB764FF8E66FA74CE0F9132DA90EA3543F669C9DD08E413E33C + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 6DE164A9626D5A4F54D854AC158994F35A8E362ECC753F55182790934A2E0D06 + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = B760312BD1B279FC672479D21C5ED349E5FE96F08940237B4515452721C49A16 + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 94FC255DE4EF19C0DA4B09B2E2FAC21F20048B46F17C30685ABE40D5C743F375 + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = 39A4A0FFC4603698AE0A4F3D24B1BC42AC7A2D7D923E7A5D602453E82D5323C5 + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = 2F1A5F7159E34EA19CDDC70EBF9B81F1A66DB40615D7EAD3CC1F1B954D82A3AF + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = 1C57FE0E38CD3A124EAA6CD87F70A079BCCC073A341E8C0EB1976FB3A3F7B774 + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = A905603B186EF4F2D5B2D1BCFDA504C68ED5EB9B0C7B7EA2A001575F5AA69E68 + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = FFFD39F7C451788EB0316F429EA0A7C0AC8091657ACA28F1560ED5775E8C4C12 + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = 6F55BECD168E0939BA2FA090257B1727FC66491A44493279A5BEACB9E3435324 + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = 84649BFFCD48527B9288E8DA5F52FBAB2604DC5A91C4B0B87D477DBD7B40B6AE + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = D4055B4E3E2AEA1C67CC99FD409D574E53E1E296CF9EEF73C472AB92A6CB6609 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 5694CA2F3B9962226A87163AB38325BCDC898A732DFEB2C36DB4EB88616B8741 + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 8CF287AD03AB4A74086620CFA4CCE74F48FA5CDB15EC02B1F721736A4F849E60 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = C5D5AF22A4DF9ACD0C056FA30D8E240B679A20D4D2630260F779FF815CA82D7D + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = 0AC75279ADFF65660464550A283FECD4E0610D88F35574C3D7AC5D22262A2FE8 + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = 81917AE290DBBA17289A8A67E5C2E8B12D3DDE0EFE9F990198A1763FF4F3DDA7 + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = 138E75E72FDDD927E591315AF8D3ABA280EFA36230A3309A97BCDE5A78C31589 + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 21BCDAD3FEF3E5B859CB0912A2991EFA661BAD812747292EF0F79A8FCC6B4E98 + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = 8D6FD9C559B0B4948F91337916084C0082A16A0755B0A00811096E973E48B3C8 + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = 1DD23AE7AADD61E712BDD82BD60A70DD9D66C9FD79DBFD8669E3EAABF7901CDC + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = 34F8607EC10C092C1BA0B6565CE6197062C4E1A35A8E8C723E48A2D2416C3790 + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = 19A8577FC90FAE5D6A6B2E0C1FF155515502CFA1757029C09BEBBFA263D9A363 + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = 9D9DBB4CE7D01D009E72A66051ACC16805E49F598CBE430C5D4C22A881A64B3F + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = 13F0D951B64481135466CFCCBE52418CC1D03FB16B5B696C35D724F6F55CBB6D + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = FB2FE7B00B75C42305CF31DE14D98F904E8C46DC57BB6F94C282CA8C13DC45DB + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = D54CBF7D5C80AE11A0D0BAD4E95AB18B5F07C970621F3936447A48EEF818D06E + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = FF050A45ADEEF4CFC7D964102BA877C80320A37794893E6865965EC2547CD4C9 + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 1BC1BCC70F638958DB1006AF37B02EBD8954EC59B3ACBAD12EACEDBC5B21E908 + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = F7BDE239AD087AA7DABE42CC4D3C49380A026CD239A7FAAF34A2233469A44A4D + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = EF845AAC2AAF0A793108204FF380E0A30F2558E7ACDE4531AB22F8EC79E26A69 + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 26DB514E01E034C678B636D40BA367DA2F37F67078BB576FF2B8559B3517484D + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 5DBD4B558463196211465C1FC32401FC2D8E41EBC5E6BADD1D8F7C4F090F728F + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = 355C79FD6E6FA88ED402B6979FDE1ED805498ABEB101F4231B5D64D1439D552D + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = 3D9C9BF09D88211C7E0056112D073EE85D00ACAA4DA7A668FA017B3273CD4D4B + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = 67980D28E2E658E7A24A2593A28167A13D907D06F47729D47CA4FE1772F8B3DF + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = A8DF6B76DF41994F7593F1A81967E77EE180E31183D1C4A569DB854E61E99B05 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = 27A6441EE939B46E2C378D7AFEB0E891C47A28120E488EFF0AB71AF08788CEB3 + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = C4BB067383002DB44CA773918BB74104B604A583E12B06BE56C270F8B43512F2 + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = AE773915CA642D80413330C9E0EE9BD06653C0023C5C0277100F3B1526EAA51D + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = 1CF9D6CE9CB658556B76CD7EBA3E51393699AD500B1AB3F56172748DB7F59667 + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = 8D60E889E2B1020DAD4B523301F5F6BBAB6C781AF276085AF6765546FCFB95AC + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = DD4FF4B530552F48AF9A7530A6464819ED1A5B733084F709E41DAF1ACB35ECFD + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = 7AC8D4BB53FC434DD8712DAEFEB474668F541418E6F617DBA523D8392EB0766E + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = F7B0E15A63232A2B800B23B311D357617DDFD1293E1FFE3F772692ADE3427152 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = B3D05AF7E8C406A7C2709223791D3F5F4B3129329993220053A36293AC2B0E06 + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = 6C47E2EA4BA29E17792DEFC4B707754C4664BDE15168A5100BF881EC7C02B258 + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = 82A66BED668DCC14AF12C14C976CE650049E9D1D9969B83D1DD3B6F1C07D252B + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = 2F21D07D7B10683B9AC7A63E9FCC70CF9F887CB905F9BFF5332551288B288524 + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = 80202F01E7140DB4FEE490DCC50AFAFDF6A48CA33D362C7875B8E8DB9C9D0655 + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = B2330A189047E3117479A2F20B3407A7D119E4AD431FE06FF1FF2A106F2AB3A2 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = BB9B9BB685C241F8D63FDBF0DBAABCEF7075ADD7BA405A2FFFE7AD5B23E021C7 + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = F8316A367AA0316DA3562F319D522E81F4A8BD2E2108D2532126F4A903704BA3 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 89E3EBD02B229CD759612A5521D867AB2A1594BC0B1FE6A78B7954CCC84CAF03 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 2E7CC875305EA6BB9C2FC770B9D84FD93B96405DF9B93307F6B5DE26E135724C + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = ECAB75F28A728429CB433EC13310D1B850CCF522C38D2FA6DFA489963D6D6CA7 + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 021C9459D1451F3DA4C07C029A8681945C87C5BEBC6C30DA1D95C5C49D8AB95C + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 4642E21622F15B09B9413659680116BF2F96CAC2384B8C79F1328D5DD36D7A01 + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 8DAA47C3572157266AD0276D5926AFF2872F06B0CD7B974A80D7A6827D41D782 + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = 345365232CE9AFC655DCE4BAC23F43C8ACBDF9016D4BC2344BE8D396A4919C34 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = F52E102E57293878C28F29DEB47792324FE455A62FA7441AABCC16A9CFC40FFA + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = 2B89AA88B1B7F9F8EA461C4C5CAE4829125F45F5697DEADB8DB2E964524C0D91 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = 3F3092365982C0B4278055BEEE9032FF9D1060E03C3B087E1A6197DEFC707E1A + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = 3C74AAE2F340A24178CBAB51004CBA1AAC3D91133C300715EA82C177269C0556 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = 0157C4BA44618DED11E9800AFA07A0D5B6C711FC16A576C5EDB71C4CC6894F82 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 8D53DBA107AAACB8422D6667F6778839F8965F8E4C8F4A851284CC91168A9030 + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 5163F02233E332AD9BE32C2346C9FCFE39AFA5FBE9BC1CFEB92F4920155B20EC + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = FAAF0E95217CA4B1568751EF2E4CD341D9EC33E16600BF09B92C6F1A6DF84D2E + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = B2C175D9D92AAA9EE72672F995B8DFD2DAAF6555A0327A508218A9B447F00BE8 + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = FB5388122306D37CEE790CAD1D3CDDBA8E9A93D5F9D78288B052482739C883FD + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = 1C2F8D418FF6718B18DD4C756DCC8ED0F4755E8C22497A6CC19F8D7AE7FD2DA7 + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = 7EA8116E6434C1CAA049069DBBD9B6F0E9DC6CDFD6A889343D3B2652803078FC + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 736D888751FAAC4D8E78B45B95ABB15D40D98D8038C7225BE0F523D5439EA5B6 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = 90E10B1CA8D352794D7DBD7BAE410BEF25F0EC7D080E053F48674237E33EA45F + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = 8A0A8D6D55CCCBE05EC74DC273B16D66C9B9006665EECB5B6023D2EA39C64554 + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = 122895D63AA6030FC8F23940C528E7A5D9C7FB170A79FE7BC42360CE50E25B7A + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = 3E04EE539505C52D814CAB3C5CDD7DF2D6EEE627EA44188153EA6B8C8BE5F6C2 + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = E360B424A5C06704D148352E04F4651F8D3B385C01F24FDA09D266D4ED7FF662 + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = 0D3BECB9E1B4AE1F15C9EE98732B4796E99FD799F76ED7332A68AB36C77A1EF9 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = 3AADD7E2086D383832489AA3088E903F5C6FA8E38DF2CF876E0B4DCDDCA5C923 + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = 715CED5776A802EB8EE02C9D46543FF46FE7A9CD192FA7D4FFB6E81427FE1B71 + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = DDE61F8BE25B8B23E1212C1C0B8A85A0D02D8548BB17D377133E3C06DDB58CA2 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = 059F2BEDF4A6EEFB95FC5C0AE17556CE8BDDC5E1880FAB2F688A03A46BB28C5F + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = 125B0EE7870A6F7EB4FD965D9E0B90D79FFFBC54A2018F4C68224682F3603F3F + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = 9A78E0B5A34CBF1716F14CF7B67EFDC4540A75CC646538A11A8EFD9D7CD7529F + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = 42305A251A8009EDFD62C7D91910B96B9B5DD8FDA5B1326FE41EF6EEF978D1BE + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = 6B9E8F3E82EA174EBC88A53C5DED06271D38F79E9CEC571A9D195EF549102EB8 + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = 358DE4C1ED30F48B084F961F653FEBC69318F93883612D5A04B9139A14EC702E + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 4A7BD18AE10EB9458924AA5CA00D3F634AB9753628107F15FF2BF24CCD3B94F4 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = 9889E4B3B1294A01556FA9DE6A6A508A9A763D5133FDCD4937B6BB23CA3E1901 + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = 3D02B41985BDD1835CB474FB364C25C2CCA9DA0ED2FBBAB75524B410903815B9 + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = 1CD92039BE4580C686796D5900EED431EBAD6EA566E9244E76BA6873EFCB49AB + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 680C70B243163BE6E58ED3B8E2D85E6894E5E89501C444C8C0A2D776ACAD8599 + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = D65E823D2CE4EFFB9B27DBBF6EFCDA738AD152FBB12D2108D2EC6D050A3FB295 + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = CE6D2DD8D5441FC15B888FED72061E129125431BEDEA32E00EE0A7655C06C358 + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 280713C0FA7160289FBFEE5AA580AD82512839153DAE47DE0D154384A4D8B3ED + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = 721FD872696F21DEAA9595C0CEE7BC07249601927C96A65826B4887CDBA1AE96 + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = B53AF8620B39CAD2D698A176A070AEAA9FB67BD0335C3485A3B6C73A71DC5C5C + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = 78A18BF0A52E6F77F15F7FFE4CA3C999E57E1C3F6BF10950581F403450EDB797 + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = A7F0151EEE6B21FE827E69256D560E1EA8D939B80962FC7FA8610AC189402AD2 + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = 0A09C4B18F5117F0E45D43E235BB14E55B162E99EB3744165196D04A854229F9 + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = B7D031AA69B7B4D26A35B896D761314F1D61EB12DCC1E72AAF61B9CD48003AF9 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = EC0858C9D017A2D3727CAADE7E4872684F17B822CAFECDA445A15CF30FAC8CF0 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = 71E1D610B576063F2B12F691220BEADF506BEC0A3A086BBE5864FB54F93DB556 + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = 72A8A7493309080ACCCA2A2A21D641F2B9685B7362BE496DC7BC330659F8CFE1 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = AF19E988D37E2577DA4F43463789B73625D354FCCCBD10CD2C61FBDC8BB01827 + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = F1E9B9CEF2B37E4EC3A0FCD5EFF5BF7E3D49100AEBF018DC92FB6A40E4297704 + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = DD3EBE0CCA0CAD3AF72AF73FB49D40DBDCC4B1F1FF465CCAEFE672F77992ACA0 + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = A19EEE92BB2097B64E823D597798AA18BE9B7C736B8059ABFD6779AC35AC81B5 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = DF673F4105379FF6B755EEAB20CEB0DC77B5286364FE16C59CC8A907AFF07732 + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = D52432CF3B6B4B949AA848E058DCD62D735E0177279222E7AC0AF8504762FAA0 + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = 07E65754D62E01B9A049D15DEC0D09C02F479CA2AEB4B18E37070B20F85A1B26 + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = 17A461B8EE507ABCFED51A50EF14891309FE402C569D94394CA7A3031BEFCD50 + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = A03C6B5B51AE4AA00912AF1CFB6C7B960EF58036156497CC567B1369149A5949 + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = 14C69C5EABDEFC9E3A1461A379EC92C32BC6B69071029CB3655159DB1A5251A7 + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = 3CBE06887C8AE360E957EB08CA577834C457FADF418D0CB73967FA827A22A4D7 + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = E58A947E98D6DD7E932D2FE02D9992E6118C0C2C606BDCDA06E7943D2C95E0E5 + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = A936FB9AF87FB67857B3EAD5C76226AD84DA47678F3C2FFE5A39FDB5F7E63FFB + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = 3A654B88F88086C2751EDAE6D39248143CF6235C6B0B7969342C45A35194B67E + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = 19A3CB3E8551F08FBBA5DB614E268F63D1F6A0C3689BBE973D59D35BB4F455D0 + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = CA8CFB13973FF8597D6AAA806BD32E82F4EA68BAC3FB543F26687DE4B9CBE8BD + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = 9AE670FA85AB5C6B3BC76797CF24CD385110708137B6F8EFD8D1A21C39881C18 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = E32DF6218BA75FD4788A7E5727A7D68C5829C49346683FC213E433AF3DBA5AB5 + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 028173E3C6C392E5D13AF748F3788D43449BC5DD5953124EA5EDF3930275F665 + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = 97450FC46F2E5DF8F81623B1CCA43FA50F51EA735E4421D7DFF66314D8E211BC + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = AB4E5A70390577F8AE260D53CB0E70914F8B9398ABAA841F7807F1476046C64F + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = 8118F2C157DF1250DB43B31183F442F89B322E496918838C5B668F9647AC6D6B + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = 736E30ACCC5559188412C797A1A5BE61D1F90F149401F631597944155A85FAF7 + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 9599DEECCC698A24A461A7419E91939C741613F4CE887DBA89DC7E327C51F5BF + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = BE0D871606A4C129CEF616F438600D5CBC0E9F49D2ADC8A86571C192361C3F4F + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = 4D30600C60ED94A0D2BCC17571A19BD0170CDACAC78D0421E0BBAE2A36A48B6D + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = 3BD6FB72764F7AD4391B7B40AEA424ABD5F5561AC56F9E072C753D6090FA4BFB + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = 6689BB25BAEE0C582F8F1B0C87073BE366644DA859313BECF446435D2F6E899E + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 2628DDC7758208AA9F1E49497224EB268C6D2BCDAAB4820DE9C16A65C6F6017A + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = DF448936EE72D9FE6CCFB37D183AAFDDC7908E016271AFA81EC083A10A144F5D + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = 2BB4CEC22A4FECD83FBBBAD1E3835343E36C6CB66C26964A432EC4C70F3E17B4 + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = 1462F2EA1C3580C0A2E8C0B30C27A608D82CD707F6D1A0AAD5CC7C3D1B8D6C30 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = 617B412ED64F56D6DB36B7E52EAD618D95A091D65052C3F376A532D8BBDAF7C7 + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = 82C541EA5CB15D1A4125F536825938C2358EEC2BDDC5D1CC4042DE3AF036CA55 + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 684BB7932433218C616F0590B039CEFAC972828470647D1591CEAC889C893272 + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = 508B2AF376BA6467CF982C767C848D2BDA8D068A53416F074A0C98C473D02F6B + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 55E228BCBDA7061642D004373D4E6407B72A37381D1BEFFCBFBF9F5F6EA093EA + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = 0523C09BBCFFE418D3FCD22C6ABF95ABFB38F94CE5562B8BFCD2EEA9FB729041 + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = DCBC258241ADED3799996C2AD6ED0E3D74CFCC67749D3480B2A9A78E5F8AFF82 + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = CBE8318E7B2FE72BFCD2530CCCECEA4018B1587F483B73F50CE5E84CED65E093 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = 8CEA2960087048E6E6D47E31554F305FCC81E03E90BA8F8332DD86C6B6B38E03 + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = 44E276991E5382BD7EB5ADCF1F79362804D346BEDFC6916F4DCA4B57240E9C99 + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 80891A086AF385025068799F192411C689CC4E0D9A59F3F41DBB02A343F1A759 + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 77DDF034B7DFD6B292AA3B0C1E552F47B1D8C23078042CC58BB3DD4720B9EE4D + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = 23D2688D867A18040E82F7876ACF04DC3A9C0140FEDD93EBE7ADF920B2F83DA4 + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = 2DF666FC5D4EAD1C3B10B9F8D4BB81AEA4F93D3873D5CE5CFBAC4B69435E1B7C + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = AF0C5474528032E2629B8FBB0E34405F7F251D41E73B5667BE3C07CCB2C1C953 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = 9BBEF7A75391354A388AAA7CA035DC62D3231B80091BB7748F76E52D8E9F20F0 + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = B108457A6BD331BE43C9FE1E2A02E8C744C2BCC927A9C3C486F110DCCF907F6B + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = A61109838DFA5B146DF4E6C3BDBC7A477BE36B6228EBD91025012AF4CC0EB409 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = 4F0F30C890B0AB404961158573538FE9A2B234B94A0991F26D5EA04FDDC9C565 + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 85459CFB0289599CDD67C473A0BA6DA616C608E367F58C50A03562424DCF1D06 + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = 5539D2E52A5A1BB3C246B0158356E2B2782FC13C10248937A0C4A40B091F6247 + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = 6D63419207B99D4DB1ADD795D852A8DAAC11B789AF0C7D6353036CB23F6428B4 + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = D2090DAE0FC201B2B9C03DD482A8EB1FFD3CF70C55F98D6F39A41B8BDAC27A17 + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = C9E8F96BA75EAF371DCA35DC69138ECA8CB3F2823F3BE551D9DC8AA6A4ED4169 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = 233B0BC28143C32A668B0AB5D76BE5712C0387056FB0E79F2C2F7F1C31E4A86A + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = B79B5F8182D3FB4ABAB63E7CB26A8E0865AE8D79BD4C514AD8917D5ECB7FED8F + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = F680198DE2943D20E9D809FD8312D674C9A250DA22BA6E920E408F6F2C0E0739 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = A190DD73556086EA70BC31022D6A4F95D89DC099E2030C19311CC8988281278F + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = 21166064C52B588C1EC7EA6DF1905A2B59BAD499B470F308A26B6E354DDFE58F + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = 051E19906464EC7FDC3D37EE3BCEF63438EC5EDBEA5AA202A24B7F7190B689E0 + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 18FE66C0CD095C9CC811F5410B5CFDC1B152AE3CAB0C3328974E7D4BBEB40053 + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = BDB42638921199D604294B5578CEBACCDF132E1D7AF7675B7768E50553FCB604 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = CBD88209B530018A856C5C2321D7E485511CA1513661F1FDE1FA06F4603DE117 + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = F0C4C1374F33A91DC657F8A3FA51763CBD0FBA1CAFDD2C595ED302AAB1AB75A9 + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = F2157C165EEBDFD04451E9E6CF0B112BB148EB9C40E8B2427EE8EA57E60D5DD6 + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = 0836ABBF77EF78E162DE8FB664B9996D5A03919B741EB4A3F02E7B97826569FA + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = 84970C79316E89B70E2B186A69DB1A4C3E33C7A376B45C1B79BD346DD33EF4CE + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = 06ED2EBC419D053949E88CC9C040B1EBCE74375AD0CE09C0CD4D562C62F8497D + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = CF9060AF3E4ED47316ACF51E5B92123CDC4827BD4AEF991588DCD8078B9EEA40 + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = 63E407300F99FF2360F02AAE0ADA35F6C1A90AED2C63282B23A7990BAE307254 + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = 427741570D5E21590E5045A8450216365BA95C2E72455A3DBD694F13155DE1B7 + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = B5E60A019E8414D470AE702738BC358F1C80BB6FF7BDE4F2DBB56C299C764B16 + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = C986BDAE9B13FBC92793619E4970ABC33398F2B5A57A6CBB40A622592E2695DF + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 224C7FC8A0EC3895E8969CE7C7F7ECAA54FE2EEC9AB3120726106F22AA297541 + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = FAF5E3B7A64629FFEEE07A67ED77A3A4F67F18C9381FE9B19F6EE601F5FB99AF + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = A8A98E6B3A005FCB319FEE58C5457D04B69D59F53873F6FCC6065D68F880833F + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = C89F2B346127EAB9E28095DC44918C1A1AAEAE04861C1DD0144A1EE07F823C18 + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = E7A81ACBEF35D7B24B706549B41ABD82628CCFF9ACF41F2C8ADD28743688AE01 + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = D81249143A69EA1C9DC168B55FFE06D46D0FBC007065110353D76C6CCE4FFE66 + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = AA8BBD4812142211212763BF8EE4D6E0AADAFE5E528AEA1FB1BE118806E49F66 + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = 4089B181DF5ECA5F14DAB1057AAAEECABA15F200FDDA0DE49357D6196FAAB44B + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = DEBF59BB233D05549853804FC67840821BD5802F87FC8A915B710D3E82070950 + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = 0FDBA1C79F55F233A1217F522D6C81F777F330FADB565E1171F39E1788913342 + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = ED45A06E95A6539270B02290D71005F01C55BA077414C3BCDB379537E6DBEFC9 + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = 37E7CF6A9A31B0982B2479432B7838657741B0EE79ADDA1B287550EB325C78CC + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = 373704F641FAF2B918E22E9142ABF6B4AC71B6883AC4D7A075F626E947837D3F + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = EE5994B3D32BDAE58E72566FC24B886461217FDD7273E1608F0B2926B7923546 + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = 6A584F9F4ACD8FC8E15DACD326291FE9311C20987225C51CF4251E52B47FA223 + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = 4F92839CDDB0DF31D16A0DB53BBE07698A7C1912D5590D21155D45DB1B48CAB4 + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = EAFD661F343AE834C621E074AC6903A2E3E6324F365B3432DFFA732F477AC129 + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = 3DCEC669C5D0176B1BDC002728D242C587DDA03B3ABFA6074523D3FAEF4820BE + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 4BDF731BBB3D0E2AB0EB3D972123A7A0A085E8A98AC6AF8ADBD335B37275DDFF + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = 47F904FEEA607225CAB2E3C52748878964BFEDCFE068727DE610F63421367BCF + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 324937607D9F16AF815701749F0377B3281AF9C5BB565D6F2B9611532B6BF044 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = B984C2D6B6FDC28574AAD551FC16B68F85BF6CC480A15C128AE5616561D46721 + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 91A5B9FC2DCC5FAEDA57D2E7A41E922DC32D572AEBDF6D54CB8C3AE4245E8565 + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 97DCA1050A465B60E91EBE26E29ADB5A286A0582EEE2E89B8B901954293F6146 + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = 6D033D85DAED3366D5F7D5E4F03B3D05B65778EEEA074B0C683CFFCD6F51D5BD + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = 01EBBB73410EEBAC665C3B40063D001F43DBE9D1722EB323FE08763D7FF0616C + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = 8D3A49CB572AB99C9BF0231366BB017C9ADF25479D35443A971E45787E738CE5 + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = FBB5A0AB1A3B4C4FA56ADB1C9531EB9979C554903053013C20FEFD3F57B5CCDB + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = 6B3DCC7AC6A5CB85B67FC71B4055D3798134DEEF26FD3EB03A042E0DAA35CC85 + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 5D1DBA8F1584AC3F36B3AC925EC13AC284013B9664965AB6265B942466B5D8EC + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = 89C6C86DB0A889AA67D8CB085F9F4312645972D977C5B952D9F6243D7D3BE4D5 + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = AC02432A5541C26238C6F99FADB2B23B5FFCAD8F04BD4C3B9A6620CAB1266E6B + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = F55AA01DEAB12148E35759DB818F1059351165E9E6F93D342F0ABFCA102E0801 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = 7C0BDA7CB42DADBD037F50A5F27E3AB5DA258D4670F1BEA90154C87C98136BA1 + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = F60C53BA2132293B881F0513E7AB47FE9746ED4A6AC9CADE61E6D802D5872372 + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = 1C66B9A7C50ED77D179A0C437D5890C9835A13F90A73A01332AB0731A41A115E + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = 48A00BA224AC5558F41A79F52137DB9182A93F1045D43789E5913D7BE40408C2 + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = 240A85EAF7F3016C192AD5E17E5F93B643FE3EDBA719F423693A34DA3784827A + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 2AA9D0A1D9B9B691B4B8641E68D454D2D9C34CE43A5B55DD57590716B8A46CF7 + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = 58C469E1A76835CC1A897B885B1B2A33B0AABCE4CFBB65523D2E0D08D6D1A413 + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 6C8DF81B1E1ED70A5413368018DB9628B0E0B4563423C051A54D000AADDE0C06 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = 108FFF41D5BCF654071B4414E666FDEBBE878C309D6DDC90AFAF5C61DF8559F0 + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 751EAAAFA4AEC8ACD26606D6439C55B5C66EC7DB807579EDC68994B300F7A077 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = 90C2D5F8E26B0BDDEA719064BB02A6242F2CC5A42936B14FE17F861B47B7E186 + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = 3298A95CFE59B9D6CAB99C36DC1324194C09F97F08944A02D9574BBCA3186B41 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = 1C4172928CB10E16AB3CDB33F815103B000A6C7D62376CAD29AF03F4B2B0E103 + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = F5CFB4DF3F7C5A778F38A3B43B26479A0E8A49030C59AC19FB0CFA806081CA4A + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 06AB8FDBE4DCE935E42003C17FF60BA236F43A843995B7FEF3A29DFE0C82F1D4 + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = C11F3522A8FB7B3532D80B6D40023A92B489ADDAD93BF5D64B23F35E9663521C + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-384.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-384.txt new file mode 100644 index 000000000..47476d669 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-384.txt @@ -0,0 +1,1031 @@ +# File generated with ../../loader.py from ShortMsgKAT_SHA3-384.txt.old + +# This file contains the full content of the ShortMsgKAT_SHA3-384.txt file retrieved +# from https://github.com/gvanas/KeccakCodePackage on 8 May 2014. +# +# Keccak(input|01)[r=832, c=768] truncated to 384 bits, or SHA3-384 as in FIPS 202 draft + +Len = 0 +Msg = 00 +MD = 0C63A75B845E4F7D01107D852E4C2485C51A50AAAA94FC61995E71BBEE983A2AC3713831264ADB47FB6BD1E058D5F004 + +Len = 8 +Msg = CC +MD = 5EE7F374973CD4BB3DC41E3081346798497FF6E36CB9352281DFE07D07FC530CA9AD8EF7AAD56EF5D41BE83D5E543807 + +Len = 16 +Msg = 41FB +MD = 1DD81609DCC290EFFD7AC0A95D4A20821580E56BD50DBD843920650BE7A80A1719577DA337CFDF86E51C764CAA2E10BD + +Len = 24 +Msg = 1F877C +MD = 14F6F486FB98ED46A4A198040DA8079E79E448DAACEBE905FB4CF0DF86EF2A7151F62FE095BF8516EB0677FE607734E2 + +Len = 32 +Msg = C1ECFDFC +MD = D92BBD604BDD24B9889508F8558B13E96595AC90BC8A441DAF9B51D6ABC14FFD0835FB9366E3912504264CE87E421CB8 + +Len = 40 +Msg = 21F134AC57 +MD = E248D6FF342D35A30EC230BA51CDB161025D6F1C251ACA6AE3531F0682C164A1FC0725B1BEFF808A200C131557A22809 + +Len = 48 +Msg = C6F50BB74E29 +MD = D6DD2ED08C1F644857A15DAFAF80538BEE597278C9ABE047BFBABFB8B1FCB7543E80AE9F7143D00F4DAAF39B138AB3FF + +Len = 56 +Msg = 119713CC83EEEF +MD = 49CA1EB8D71D1FDC7A72DAA320C8F9CA543671C2CB8FE9B2638A8416DF50A790A50D0BB6B88741D7816D6061F46AEA89 + +Len = 64 +Msg = 4A4F202484512526 +MD = 89DBF4C39B8FB46FDF0A6926CEC0355A4BDBF9C6A446E140B7C8BD08FF6F489F205DAF8EFFE160F437F67491EF897C23 + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = D6154641D7D9DF62F0CEDC2BD64EE82412B3A80F6EACE7C45F9703373379007EABF592D2D2116E093DC33DCBBA4649E9 + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = 2EE5DF2591CFC4CB1E1D0BD8B28727F0FA5359A75F7819A92A3CB80DDB5708E4705177B981396B4818D11E3CA615EC93 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = 786C3F73FB092BE184FC2B19F5920F3D94F25D4523165AE82F9B39B2C724FD62DC9A3263091A239D5EF1AD562DD4FD26 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = 79188139EC2CAD8D197D308B806CF383782C29A8C27EE29C5E31425B2DD18B2F5F491FBFB38D7078F58510125C064A0A + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 0C82B8C75C5D540E7D624928281FBA8B8D0B1583D74F3F0EA4F200F1CE5475149C282E05DB695DC67BAF42DEFFDC3F55 + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 830D2325C001623EDFEA97EA1D0E65982D4ED7ABB8E64EA61C85E9BC1882D11FC4153C30BE63FC66F5FBCE74BB394596 + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = 1DBE1BC60A9C6FBE10A727E2A6D397930D547AD2C390286948C3167EE77FF6E275EC8431C5AD4B4E4E5AE67A4BC88D05 + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = FEEE2EF332515284E0BA247C62F264199044D03877C58E54B51A62E39E91C27AAAE384837EB9D479B4C0308CFC6B779B + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 1888E953727CB837DE40C69869560C20729C50638E4561B385937BFC4C297E789EA6C03EFCF2DF3290B1FD36BE268C32 + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = 30DE7B544265422CE689E667F48498F455E8BF1055653F21294EAD7D2E898B05FA75EECA46DC2575C475C480AA49CA62 + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = 041B7C89BD4B582A7D20E579C6FDB18BA0C1251DABACC687AF448EB49151BBC04ADCB81D797D4BC51F03BFFF230FFCC6 + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = EAF751EE6E75AA2C56453F316C019BDA7D7AE1FDA03B79AC413BB1F2840D58AAAAC77F2DC106D22F1A71157F9F841C4B + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = 16C4A7F7E8BA7EA13C59576BE602F885E21BE7C34B3AC05CAC4262BAAD8AA3F95BD9260F13F08550CE331EC773BA758C + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 5119A4FC11DAF2EF5DEB7AEB35549162D9AFC827392A8868E7F8594A5C194D9C8F6A430CB386B8D825CC6DAB4EDB742A + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = A91F0170457E78B3BB15B0BDC0FF4EFE8D7313D2725D8E8DB875BCAFBC11314126559F45E86E78136EB214FF02764CAB + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 98FE81746CCF7CFE5571D6D8B09943ECAE44F606444F9DABF1A57FE4E871F6962266D18652FD4EEBDBE492CFC5B2B21F + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 3DD9054C105C40798DF45CFB5880F97A9536FA7BD13F1D816B8EE887FCBAFC102A7D4BDE9FE6E265538EEC2525B50D89 + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = DECD778B89B4295072DBF98689E2EB6066E406356EA4B7CAD550019F4A2ABB25163E9571D0ADB9ADC6A802B7E03C152C + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 37F14B317D46BDB3E5DD6F68986A08A098C46B9D85D1F254A17878C008F97926C8A13C3838721CFE3A58076F3992F26C + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 641A7AF13B889D1A0F1AA3E4E4FF8CC5903C47E1A52BDEA257D80E37E596564AB33EEAD06717CDB6B706CB6986293D4F + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 122B8B86103FE3C18FF28178A256ACB0CAB8518338D2CBA697E3F560ECFEE09B024B97D8D1F69632AD1F2C5F5628D3EF + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = F35A292E197007E28CE652A067173F3659C51B70438AA9E433081D3DF71B4A11E3F3BE5AF32E2C08D23A0B44E30B0BDF + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = 2EA596B446D5CCD8F0927A2E3790911E00F1F52CFBFC41F12290CBACD1C903C74DEEF840FD1398E12EE863ACD92BAEBF + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = BAAE7AAED4FBF42F9316C7E8F722EEB06A598B509F184B22FBD5A81C93D95FFF711F5DE90847B3248B6DF76CABCE07EE + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = 32CFC8A18A7116D4B9029051941808C3B332EFDB132C515F9110E19B8354355D94616C9965BC2D1F2489F8452AF7FB2F + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = 73443EA38A8801395C044E3CBECD45DD62D6E304C5440FA9FE9651A438C010A76712759BE20681F1416661E746E5EB77 + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = 6E82F460660F3D2CC33AA59A37F325EED0133FE29A9CB428A3C22572B6BF6C5DA2D0D4645C49135653A049795D4E2AD0 + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = 229160A61CF2842B37EA85788BB1CE8294DED9EAD266359D61DF3D6DF98EE155ED03AB1A51D6291B41680A00553298EB + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = F5D838DEDF07AC3A5646221ADC6CA59045976DF9C33367FDAA0BE3AFC57EEF0D434EE92CD618B3FA26C7EABD18D78772 + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = D41A324A1739BBCFC983A2B250750A1117E57BD26512CC5DCA7066D8B972AD9EB0BB3C7E36B9B84FC0E8129B69CD3847 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 170D73BAF77EAE7A852A1BB19BA6665F9EF425A66F2649E959B5CAA82D01FDB89C8C7FA6F40702F7C3391B146F6FA33E + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = A8F4A60A8FF5B3EBB4EADB9C46F1F403AB7FF632C7A11F80FC9153858B484291B3936713076955207D0C7E1964DC1346 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = 5815D78ACA9600632239B7CE8385D7E837F883857601EFB78F9C2DAC9A96AE0BFD107526F268D06FB4227D4774A9E727 + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = A5D91B01650D24B4753F41871FA700E997D5F1EF9C06D8F9B3A9B2D318716408E1566BB04B49B84E77F5F73D8F640541 + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = C7BA066881DB931E9C674D74CE2309B3002C6D5BC22056C454261CDBC5D93FE310EADD755E41FB1D789FDB9A73FDA28F + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = A52CA3413BB83934B1EAD4686F639B90C5EE3CB5BE7E29A1A5293C868441D79BE2EF246B427FFCF0568D4D01BE54FF0D + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 13E60554FA18CEF87CEABE147541886D97C2FB5F40F163D953306D2A26B013B33CB202D78AEF49FD47E7EC1C745920CD + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = E4E03CCBA92BBD28182D005F69DE4E71C61C62CD323DECFB2ADDBEEFF7EE74933AA7A167E4E1DBB3DF7E5C91184F2D88 + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = 9B26E9BF13B6FC33FD335DF976C8E1B781C800895EBD72E34F96EB875B41F04AAEE825CD8F0EB6C43D803F4E6EF688A9 + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = A127FEFCDD240F762CCE3F5F1551FC7E1CDEBC7950D1CD94C6888F490CB2285A10FD0EE797B168C5CA4761FA232AAF05 + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = FEB5A24EDB05BEF846B0A1F3F48DA212DFC2D0BAC746890D4AD72FBE3A7B4FF8E2B542B827779467122271B1E0DF2BD2 + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = 8DA4F3D1A13197171B02E1CCB07BF51CDBABD833FDC3C3797A113CFA5C71795782C47CE36C389FBAD461D0D5B59CA684 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = D19FE4A5F93BCD483DAA7AF8CB636807962D40AF9A507DC4FA4E1FD480A6E8FA3C25FA30EB6B74979EE456C1644A5C1D + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = 63FF3053ACE687FB91070CA7FC6A51C259E13DA8AC0DD741AB36D1FA930E3BB9AC6A1FAD654F7238CFC4485C5F9F8252 + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 39DDE02A319B5E869F4C51A1D30FF4D4D88EBE504C54F155AA5FAD3316404FDBD1918074D35D14BAC88D6F359108A1DC + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = 1959378F32117E58C0141160E16FACFE336590196BE805D149EB5AEEA641F9BB119B3EDDFEFD817701C82D2F528B823E + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 7B172A9BB311B1375E15ECE1C1E8F092BECFAFEC9F3144E93F596EB7E6ABFB34FCEDB08EDA7883EBBF40038B7A754F9F + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = 6BA32ECAAA0AA9C59E72173F2A7816AC51F313C467A017190DB9832C6311EC23B8D56B7B220FA09A9081962EFED5183E + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = 55FDF2EC27D334B5B59EFB9B6D518E25BE0F5FF6379F7B97945F3E1235EC70295B39EBEABF70FCAF1E61EDB1C21A4C06 + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = D51A3F33919FE5DA0EFEA6EDAD201F01FA8416C385A89D96DF743D243A6AABA5B7690D187B95CAFFDACD1E85F56B813B + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = F1D6E8F95C497D5BEAFB4215E07CDB59E0E3709CF561618F67E301931D204C6CE477E0F750099584B645E2F718650813 + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = B1D347D057CCD72867B12BF00BF511F87DEFCD0FA6ADADAF4BB1AD790F06ECBB1F4488A0319B05C46A7874857370CE76 + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = 4F192EDFA54FECE64AC0B3EC9E120B291ADE99948805A87BBB04947E928BB5EBA87E2EE599960C436EA7C7884187E78C + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = 75E23FED3B59DB6B1D3378B7E8772642CBBFF7710D8A91B249BB6C68E384CD416F19AC1E8ED92B71D0CA303D247EE9BD + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = C8D1E6BE5485FC13BF433F11A580ABBE89B12A66D0E5CB141E1D62CDC6A367725793FB25840B36CB7003F2E7DF3E5F2F + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = 423BA134D3BCB5E440AC83372C7EDDBA3AE3BDDF1222F505C19CDE246AD76A2B0D07239A54E1D0934C9B3D29D49E5FBD + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = 662C4851D311A786DE4CDA7E9EA1EFF0BFA462761FF6CF804E591ED9A15B0DC93A2BB6A6CFFDC8D7D23A233A52C86EAD + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = 5F54B1DAFA67ED9B498125E064F0B07F54E754E3F30720DD4A471E9BB6E307F05FB69BC81D391F503C95C3BB671E6973 + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = A21B55DED8FE41FB2B193FA490420A8B62FCAE9A185DA85E253DAEFE85270B6904BA4ECC76BB5128926FFF9D79F728AD + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = 341BE5677A05EED816A219669D680BBF185B31CF3EB0D289F90210FB1A7940D9BFF4909320AE4E3B7274E5BE479C46F1 + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = D70F78894E292B075A0FE56FB952B2CE87A94CA029347159FBB12B22103DD4DC4C265B7AE88950CCA89C40B531437AA4 + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = 89BD6B7CC9ADDDFFE46BF85C56B8CE66E1B1B46969B197ADBF2E34B7059D8BB05F9F53BD1A58A7E0A66E5EF208BF5695 + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = AE651EF50A20B0F496F104F56F845206ED544B28D0374CBB779146DFF2EA5894EB29301FE33872F9B299A79C0C0F28C4 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = A842918DFBBF3BFFCCC527B6DD2C0DF4EB3F100F0692727DA77DAF44A654876013B37031C493AC18950003EEBD107A29 + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = 20D16CC6AF5B4D5AECCEAD09F300B1DC1DA93A608370EE0B2CF15C316508B5EF8C9BE27D0F7288617B1E529FC2932038 + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = 69A3BB36F52EB650C6E8242DB05659573AF811A1A5DB908F773D65E74D327F5B65303DD0DD9BD07FF100D050E46FE97D + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = D239F2FA1675A1A031E2F6E8A53D6E2F37D081CDB029727B3ACBDD7CBFC7D3581BDE8D3068AA9A300AE12B7245124508 + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = 2F8D747DDF64320297B44F8547EF42FCE78A48F0A59A18DB1CFB9F43C049628F97C0BB93ADAAB9617155272424F74027 + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = 714BE6F2F934E0B6FD69E392D99ACC98592B015E48A1637262F99286502B06774783BB9F371C760C3EB78AEADFBD0DF0 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 22A41B117464F7F49682E8139A0D5BD23FE00D1190B1B419F27B490B729B56BBA9DE649DD7C988B6B308038661E1C362 + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = 77780F3646D288291790F2A5F4AA9C98A64A1115306994CD65C7620DDE06D35117CE4B79DAE08B5B4E798459010941BB + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 5CED3B7368582DD6DEBFE41D6AFFD82B72894B51FF4C4ACCBA09C595B36E23E347AB4BAAB0E5191D86E26E6596D62E23 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 1410EF9ABB8D98B1C65E113A61915B0E6933BC59DA31C8FCC39B7165E715919184375D822A07C778F63431BE2AEECD99 + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = 330ED51B045471DEA8CFF26510D68494611ECFD614D49E5A9CC8846A132519BBCF49907691AC5ACCFC0528DA0C14D49E + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 387111A206FC6488F78D41786886A9E5EC9F73E1131D92F290F68512320A408D5F63EAA5ABA32D9853EB11B5B0887E62 + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 78573F5D075200D3823194A71E55880F4FE78489234DBF3DF3E3734CBCAE8DC1D8C1AE95F9EFA9903DC4C4581B59DDDE + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = FDFE4F1B034733C2C94A7B36E2B52774A95C2BDE22FCDDFCEF52F7FEF7C67F08E2F7B9B8967E447F76EF91960DA76288 + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = 48D66A4165AA54528ECE89BD9AA00EAB196F32DFDC4D76F236655835527AAA1642E6BF4EDF24F030F5EEEF07FA40F5D2 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = 3C2575372CE1F380A6E66BB075FBAE98FC2E6D3D267A20FF0313ABC3DE252E03FD5BDFA8BC2B79FC874CCDA4ABDBB4A6 + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = 0EE6AECA8DD80B74225AC4882E2BC1E6819C9B94F0D0BC0A1E21AABF4B11CB74DB4734BC8D1179D7DCEF535BE9F3DA28 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = 8027E5044923F8EEE1DF184865CD97B635A78DA199FD80AD3D343A5AE03D1B165E58D1B0BD093EF916A16D6641BDA17C + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = 796818E047913D5AFB4AE4C5B7C5D5EF699A3A9EBEFB44462EE8FE603CA5628973369E4A9D8E10115FDD75C89707A8F9 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = 1E96EFF62E9F464B4802972FDAC77C3EA1131B2822619D2C5D863E357D0945C17F93EDE66AF05D46E63C2857A54F67F4 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 4CC41C2FB7D71DA1AD36D18029F755DAF342E732EC31F0C06E27091307718ACB53FA113AE508DF38B8C96834DE33F9F1 + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 9A8D4B560421C82991BDFCA0898A29A59BDB09D20F8A5B279096723BAB382789F081EAD50D273ECA436C526ABA6D5CFC + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = 367CB3FE03A3CBB50FAE1FE7EA883A0AE53CBE772F709DC5505F3C907564C08FC49707CFF9639B25C746B6039FF48AE9 + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = BBBD05D69D7A082FCDA8ED535D7E4E5DE1377BD91E72D42DC95295C9DB780169E2F9620EC7A5AFF959FF2D946FD20A72 + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = BE8BEC0C2EC721E0C326037CE86A1518FB395C3A9802DE01C3E234268EBB9AC9A39A6E404F25FB7FEBDCF1F7F25DC083 + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = 2AEEAF292AD625221BA79A621217FD1B3F8978BA83FE7FF13B38574FCFAFFBD207298854B6F9C27D6677494204221FDA + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = 9A1761C5759CE67C9C093EC5C831C1FF7CAB64AC7C8002066EDCAED044DEF57CEA3EF6BE98578363D2CE3D1F5BA448F8 + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 4A24A1AF68DB65C3977431EE81092C776F7CB33D6F08940100EA240A2D1F8623A41D07CE9937BCBEC8CA1072A1A78E8B + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = 928E94D19FC60065A5EF7E48018387C80F2D350F306D0F610173719D5C874D4A8ACC340FEAD4BE357E1F78124198AD77 + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = 78A18D62F8A7EFF5C6DD75B8CB073FD30EE68C878C2EC58AAD1C5DD0EB0AE43698A617BB0C670FCE2AA098E0ADF425B2 + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = EEEB56C3E54FA833B985EFA5923C3F0225F419664CEDD898C79F64D72D2AD4B125A38BE0201846C442EAF0051D516DC9 + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = 0A834E111B4E840E787C19748465A47D88B3F0F3DAAF15DB25536BDC6078FA9C05E6C953830274223968847DA8BFD20D + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = D1C0FA85C8D183BEFF99AD9D752B263E286B477F79F0710B010317017397813344B99DAF3BB7B1BC5E8D722BAC85943A + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = 6AEDCF4426B2483C0D0D04695BCC052BEDD04FA4D17A1BBB2797F6272FA476BFC138E4091409FEB1AC0E8BFF350A6663 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = ACB7013CE75124388187DC0E7430CB74A314D601B6C8D7A7DE5CF03197A84F7874FF058808575CB2F10185F561BB06B1 + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = F947469DB712EA26F25F709FF7879136EA2A79E0A2D0ED5EE4ADF0E167F106BC410C93AE1D986EC211E0FD9A40741857 + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = 65989BF4EBBF4C21B3DD34551D3F6167910236671BB7F348DC552ADB8028A468FA40EF4A8C1227A1A41C28105E64AC20 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = B77A69E373AF0F733CDAD399C9B12642A046E1A7893D3382943A8367D37740DF53916F6DAF90517B39621C14343754A2 + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = 3D14B6FAE6156E7876367897A49269181EA58CC3CA9621C0F81D6A5FB6F615680D909B29F6AF7E62FAD04D70046BE997 + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = 456AD01908E187CA2CE9E7A4DAED8788C909E9BC974EFD1C9A44AC36DB9B6DA985C947C7E0A47AB27BF10CD760FA48AF + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = C26BDAC454E1ADC0D090D0C5254A29966611B6673014CBACA24D26B6F63EC7E8F993BA3DF7DF89770E902D5F6574F6A8 + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = 1D85BF9AA2B6DCC3105E7D7F91069F01E4C998D6F03B77650D75839D65A7A049196FD935AFEFFDEB657BC8F96B7C17B5 + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = 085CFA581CF3F4F19416BEE3ED5AC2544662AA51BDF1D2E348D9BCC27343487DF20B18D9F6FB64565868504A6805D176 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 376088F09039CAA40BF19FF5E5F193FC9ECB6116A0ACB3237AAAB6CD807BD7AF45D804D837A18D2BD9A8C3DAA3A1D153 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = CD40B35FBD90B04D0641F71088F7C6159D8EB16DE8AAE09F355877A0333B53150B81D36C5C2446BF5AC462EF84D4E572 + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = DB14442400597871FA56D10F53BE7BB4002C44624C44E89C99B95122676A76FF28840285239E2E4FBFB751E4179577D8 + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = 4509ADB6177BC6DEBCA7E36948F07001159A57EC8CCA2B76C770735C5BCCC679DA6AB4E64D915D0E1A754C3FDA11B524 + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 193AF71BDD228AB3E8AE50E1B1CBF1984B0AF92AAC5A71CBE618AFD4187DED6B461411A39E72EA4E213FE0A5231C498D + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = 3E419569A4197BB71BAF416B38772EEDD9C1D5A3252111609F0FF8A18A749D5A56143A14925A82CD35C44400A49AFDFB + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = 6215C070D0CB388A134766035C4BA95143E608D15CAF742796304FFA1A62E55660AB9AB1F6538B4AF1F3EA89BE7D51FF + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 0E27ABAD85255A66217722B7D4E032BF29F638BAE965B99F8EAF309071FF8C107F5B6BBB6AB1985228E697DE60595DF6 + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = AB9FD51B3AA4CD944ABB6CDB063708B2D1203D65A1A2EBB48E0C19722A18B9EF54D7A11F7684462B995B6D38CDDC0463 + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = 03945325AC50E56BC8B515576529ABAA9A22BC2A7CED9142A75CE939A388AF0022A4E75A33964BBB3580564E0AF809D3 + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = 59126910A3462E3B7AC22892F637D87D90686BC0A9BBD4A32E2C4C71A168BA685F2184560E125DB3DC23D90B9E820F1A + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = D3239A33BAA55B0F21169E0FDE6114B08106BAF3F4BA0CA19D7B5CF44030057AC672CE529EB0F3BDA36819967819AAFA + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = 38A11581D874A574929C51F8DCC9E501900743864AEC3AC0889E62C1071CA5F8B6CCF9C0BDB3BB365916EB4340973DC7 + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = 8FD01909381EB713803419361D8E82E92476A08EDCC225BB8A135D215CB48D07B074624FCF2E73E666DBA59334719839 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = 5D7DC5FC9DE88B1C0C46AA6D49273505FF7A76A179E31AB5D976A69D89B83DFA6DEAE9E1B93440EC055DE1CC824D6B15 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = 3D6BBA145D7E69DBBB0F099D47A1F2138D4A00F26B07C62CF38471F0FB9CA022C61F7A769013A9BD8D5D87D8E01D9B4D + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = FBCEF80DD06E7E0B3B7A5485CA5BC2B388CB91A2890F181C857B3E0ABEFD6065499D82DD55F3FCD17E351C0A3636B859 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 338AACBAC8AC5BCC13FAFC0EC6D2ECF4A871F9B09D7B1BC5BD6F8D7C9DD1354B8E28C68158A36551DDDAB8B684579EE1 + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = FFC98D84C268BD09CAD09CD7B4BF9D35EDE97EC55885E839E557D21ECC0E28A855000386E68FAAE3E64A19B443B2587D + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = 471465890C3B9C03EDFBF0F6883D565740BADA3B7628AD6A27F729C35C1A8666953E8B99D2C89EDE0BD2D5D70FDEF11B + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 0F8BA7214DE0E3A9E13C282BFA09CEA782C31C052F516D0AAA403D97716E0D08B1F7F9BB4085B555740C813C4ECE1B90 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = CAD2D28FBDCC3A5D71FB3ADCEEC52313AD41D4FF1F915CAA34EE127839DBF2E9A7B06E1C4ECD6255926C16C06E51EFD0 + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = 5B192EBAB47215A8E9FB8E4D561B220B1DC36707A3F085F7BB0175335C393251E3467F945570420C743365D0F09B9E09 + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = DF6F80B6D56CFFA8545A27A245A50E6C2D117FC3598F465B6CD78560F4B3C7D2123F28F67CA9E65BFE0B7F566C57B9EF + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = CE97E9DF08789D84151A95C8134F0DB74E5D4E076E0C15966825C371B79B3192FD7C9C6BDAE86B775804B5363D1152C7 + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = 89BF889FBD7A384290D3B1D52709DBA686351E53937630B7C7F01BCDDA19B1517D317D65E799E686C71A0AB4D65B60B8 + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = 5D40E392C2E5B29C80C2D760A93AA1E193472D7EE59E203DD478FE24C5A6264E2873AF31ABDE81827862901AE59571BB + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = 7C63A0DC1C39CF4FAB2D22F62C1B00757AA4B89ED0D7128DA243D9082AD0C78784AC24DF34F5AB30375F1D581E7420BD + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = ED085D830AFD2D8F79627281C2A8163C391FEC2C58268F66F74CFF9751BB29E0D071EA8FD2FCF943020D0AD758281BFD + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = 29124752CCD4AC724A9C3D53B0B352AF2DBD76729F8C5C648B1E9D77819F32E2A7DE0E15286478A24DF9BB370F855C1C + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = FAEAB5687F39EC9894C5CCFFB57E82A84BBB7D493CC6AFC03D07AC7B4F181E61639B9A4771C99985ED7FA1773E1CA3F4 + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = E4E352B1D2D987A37C831629FE0C6AB9EAB2C35E401D1B5F443ADC54A96EF3C91D0876CCF46ADEF819C460369136DA87 + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = 6C288FE4A74F0ED1B36D12F2DB697FBC44017BB57D38C9EBD45F5A8B4FEB59148060AE4BA1FFA162E10E6916CEA1A794 + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = E1B6DAC3F138B5F336F1F75894F825FFC197836C92BF359B55BB2A78239F24F9C4AA1E063C9C2B273B9CFA766FBFBAE5 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = 6E07B59E93B22475633B5BA1AA6891119CFF690697AC679E9349E8694C654074D965F0C32FF517B10EE8F6993F6E4646 + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 19EB2E15262A839538846F7252676971207913279B9AE9B6BA3650D8F3A8E558B13C35B31F1AB7429E376255338C4AA2 + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = F4DA80B26FB5E6F7E5DFE47128EEE095D46D9ACEFBE76F74EFBC8A1AD68E8456634E9376025648EF7A3350299F366E29 + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = BDBA7838A1E7A601D559F49EC1323B7C5FABE1E109FDCAFF3F7865F9AF4196ABBF60AC123097A7B860FE438684355EB0 + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = 96DFE9996BFFA5E5D83C39B11F47F12D11210F7D4300B7180D1891EAAA7FE4809F9489B1E2407FF87FB2628DDF1FC020 + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = 79CF2A3017F82693C0A531A367186D055FCE63081EDF980C6A0B967B6ECCE75D635B98485E9B6B285B08336FF34E61C9 + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 0ED3CA1620CE3A923A22E9D13BBF7543ACEE05F66B67E6D6F435BC513F4698949C27528068F892F0871916FE2D0433C3 + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = 69A27BBF080E015592893D3B55D1957D267784569923A466165A6FB129613D8EA6F610F3760E349D46B09277CB854546 + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = E9C8830140629669A1DC5C8EE27BE669B7122F4DC88224635CDE334AD99615F3FDC4869E56263E3C7F4420736F714E26 + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = 4DF060276105BF002F8E9F3F08D5B51F7C2ADFE5AAB9A1A683C053E045C89A883028B1093461368262EA85F5239AC7B1 + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = 816AA6DB9B663288E5F932F0FEAFF0EE7875C3B3E6FBAC0CDDC458BD646371969CF50D2D0942FCC7403573B01B05B455 + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 125B51C253391677C59C0332C6A13D07DE55EAB80857593F0839A56FA678C5E2F7CB2F934ABE5E5887804AAB5D8F13E1 + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 130C4B06A55F11C80C41608ADFD7B4CE8795871BCF16900F20D2751E123B41D3B2048FD05267C2F9653ECE3630BDD330 + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = 3EA0FA3FC035EA40CBBE9A3C1C6F7E5A437BA20F26736F2895F81D53BEC92A186E74762910C4AA62565373D38B28D5FD + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = 7C1F1A46E409046B5A314767E8B7E7B1D9A92931443C5D02A581371B380AFA1867E554C3F7DF2E4557ACFD9F8E230C44 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = 2AD23817002C8F0089D423760F5569EB67CBEED2F0F2AA12F8EDE7856EE22AA6EB684F86AE91741A4AA3C80AC97C4A0B + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = D34974759C6A4AA9D1A4ED3DE341A2BA022DF127BE92EB0BBC1900EB5AC7B8AFE909B52DA5714668C3C4B7DB939F2436 + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 0FB38AE233520D4F57469463E1E68D5518EA4E965755C03AD458DD285AFB2DF518C3D389BD361CBDCE46B654631A18C2 + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = CB8F1CC9EB72465176B97B6226A87E69D77C65190114CCE1F830A3DFEFA5A8A278D5CF594B173AC58C06EC74958FF8C6 + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 87776D7022DC18592B578C534E2FCF57946E0F74C47DF85612F89C6593FD50A9E445C048D6CDA9A1D1D10EA3B3C973D0 + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = 83F4442147FEFC8E5BAD3E9EE4C6661A771AE8C87458AB67153DECD35DAF6756EEF28E4AE72E65EBFAE08886A6E773E0 + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = 51358159074D960C0B9D73D5F12AFDAFB8F5D7905BDA62379A6E0D6727D03EFD26EEA51B434368E2E566CB4747D0BA35 + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = 3ECEA8CAF0D8EFA42D54AC5EF36E624237D9F5508ED6FCB6434D67F3FB788C538C635798F52B2F073A4A7376FD31C4A3 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = A8876FE4652ACF72DCC8FD5133E5D4CA4E3766AB987CF66EAE5E3770E252D2FD2A890525016623EE69064690828C727B + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = 6A09735736780F199D75C60903AA24D7F8AA17516690854F7522EF0BBF47D41CBDC8BDB2CB2F3C5596510539677607E9 + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 83FC2B91AB81D4B15363F15E53BF639063BAC55502B4421CF9A53BCAB9FF47FD77DE5AC6934F67A412EA1910FAD67768 + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 77C0480B91F32EF809D8C23AB236581F0BCA8B9447A4D36228052B3ABB6AB69C61D19D720486A3FF497A4673B84CB951 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = 781466E257D2FA594E39DC220A260C7478D2158BB70E426F9E9587F5A51A7C29FDC7AF23E7AB9C774E33C08AB38CEDB7 + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = 51BEBFB5AAFE777F390E2851B7EB9AA3809194FE3BA1689ABEE7E43D44A5874E0C252793DFD42C1270C63C407AEF6780 + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = FCDF0032F34BA6C42D679B182D07B10F4DFF2189B0A5EF6642FBB71B16F910E3240ED9B502B1C6B395BEE74AD0FB4191 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = 92AADC02BB9795A48B031034EE6AB873DF481D232932FB5FD6C3762E50E58DA46D1F5E5E874597F15C83127F0A3042B1 + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = 0D0CCDBFEB0A933F211EAA94EB452900324340505CCF8DB7AD93E976271F812FB8907805F6313D0B0931F5C9203BDBA5 + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = FEF6B1F27B0CEBC4568588E627D28DD569A58A8F9A51A1D2887B40F5547B2C67C71917BE998D1987AC78E9077CC790AB + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = E9957732E7DAB64550F003EE6D0353AE89BDC6D69D05766024CFF189E4FC8FAA41DB72954E8E5AC0B29265C8F785E737 + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 98D73B3555F003058F7B5A145D89FAEC46C17099A354EF3834A20142DBD50A0E8054598CE7941BF5DD4DF7CCF218F02F + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = 3795DE490F43B9899947C1C305C30E26331BA0E611DCE7961172B2E4299932147BC9E241C32E61FA964D4F436ECCFD37 + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = E9F289E671541FEC4599915A0D9935BF5C20A12C203BCDE88A46EAF5CAB2D437F9FCDEF67B98768BB80C9A874B3F46C7 + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = 88C23BE040BE64D23AEE8D7EE962228A6F07831B0E05FBE2F25F07729F00C2C617EB6975F57B3F17DD540E8EBCA654A9 + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = 6C42DEE61CD97C50F5340CF4DC4F7E319FB5FAC7A26B41DEE66D789804BD1FEF1EF2911643C9C1E2C0485C979B36D927 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = 720150FD5A1CF94A42F922EFCBB723FF948F74CA6D0A3F399AC54DA8B3BC07F39E6E2979C16C875866CF2F584CA7F2DB + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = FA6F90935843D4F58E77CABE4BA662B4FABC1732725FAF952EEED70FA0AAD6A98FE67F3B6736A1C8F7C5BED4D9B017E0 + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = 4E2832FEE290D1917C15B31893F6578C1299445B99BC48708E13348A11EB2F27FE217A63F532583793D18CDECCAA78B9 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = 1FB97D6F42480E9F13C934C4A874877A808F1D73314C544D8570C0749F20FA35F53A0C0BDA1F10D1A10A029ABBB50BC7 + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = 86B3C81AA398C8819AFC4F282DFBCE24F4192B2530C267A78373D253C35C1DCC4F40835529563FD42A33FD2CBD680515 + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = A6BF548AB19FF60D6A8729FA62FDC9B59237843739AFFF877233ED374BCF70A017126974C2D1A3222D8D906BE850A25D + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = BA7D3B6AF5966C8C2723B1318820505D040DA810126ABC3E65088DC421E46D3E54DD31777C539AE083B7B8A4E2303836 + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = 48CA5912C111DB667A77BE7C77F841E8B37130248377A19CD2FA3CD2EEC48B337CFE07C290F2690AD49E79CE3A9F9E53 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = 4B3849B0916DD445B1856E1B908C414C752D280DE2183DD1F0193E73FD1BC02198599502391E8CA48D65E610D6EDCD8E + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = 02C90820D5FA9A91072991E87BFEEC7F18315F8CA1908EDBF19886C4CA5BD54AB9EC96A6AB7B815B58538F088867030F + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = 75967501FF781EFC3C9D597179C8CCAEE4373D9BF6AA6A5BED5118303EDC8B7478A47F2CEAF0A6B5B7224E53D5F1CDB3 + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = 298387BA8A3EB88EE36B4206E54193BC5857F2A303CE41DFF7C3BD53EF7EE3D34AE7E0C714311A7BD8D25502CAB414B7 + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = 27CEF65D1AECB7051BAD55DA0D601BC9D7A16D938A5715374A43109DD41B5C27D26C91CB44E4B47002D9B90ABA0584D1 + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = 4AC9BDFD9F717D01598908BA457627D3AF7C8123F7110DD7FDB40E91EE6CAC201A8B728A384E663890847DFD4DE7FA76 + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = F03FA03E4CF9C23443D7DBDBB66D9ABBAFEFB6500143FF0BFB5D7D6CA2BF1D7CD043A7BA7EFB48F15EBC68D1F94598E7 + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = 9C779D981F9B7E491FF868BE22B37FA9DF72DE55672A0226A821B29C045DF4FF788FA7271D557EF6025EEA255809F241 + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = 2C0BC54A67B00AD703FC595751074C4E447EFDE00CAAF8C8FCADF5768C330B6C7F1918F044F5C5C55810D078534A7BB3 + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = 2DB19CA557723CD3C17E7D8140CA301A5A2CB77E3F1F595F5B850A78943C7F36FC37056DCF2BADB90DDA77BFA969C0AA + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = 71E5DD0755CF8B82BC79AED6FB61C9E4FF8361C9AFC5AD980808A8BC480E09D59B234074472851080714E0275CE72DC5 + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 51F951B8F1013BA9BCED90478E248CD89D4DEBC6A19CEB6EF81BA1A5D8D3339D426D50A94C7CE3D143C45DECCEF94965 + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = 210EBC1556E31A27EAF60A5FE3E181135C5EA117E3FF21AF2D04BEAB9A243FFFF632E3D7778F9A6D0304C1ACF3659A3C + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = F5F659F6999BAD8CDC77C42901A8D64C1FA827F7848985136140BF5D4B3BBB3D964D2D8156F9FD02B6D382BC8410A88E + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = B151BF98C52F63F294A4B1E990C86CB73C4BDD476B25C138CA66B2BA08447540B0A787DFDDAA3D38AF44CA8EBBED74D8 + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = 47D74FDD9A19A5389313610643FA859FF0BD7B583B099FDDB9C980DCC000AFEB639DD99071EA31976DA35B7BC949BD4E + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 9B809198DCCE24175E33098331D3A402A821AE9326E72775AAE34D1A9BB53D2B57863905CFD60543BBC42B454007C315 + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = 93C9834501FC728508A15EB9205E678983F3BDB0BA447EE739AE5082DB37F2F2D485088130E0B1CBF0039D18BDF429F7 + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = C0AD8C3E7EA595104D4BC0A08DCBC85042ED50DD8D9B01AB47C9F066F91AD3BFFEDE4107F1EB1F5B61CA7D4091D68327 + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = AA8DAA02ABCBC5A4B3003BFF5CBC2C84594C5A0F84BD449A1A56BE59566E13EC6803010D422A4C244B99812F4537C93D + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = CAEB4F829A925679416F7CB177ED4C99721B851AB59D52979BFEC6D2AAA1E602F4310B15624F9D7BF2D351DB73BFB5EA + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = FC1FC7F19F6C9D0AD1462B24C121C89B01B4E083EDAD02A8DBDEB990D98CAFE0AFE01E2EBA646872CD816B5203EE8A87 + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = 84803E50DEC901FF930C8A76EBC1F98EC72874DEEF0D249020B1DBEB4EA7D8C7DA4761EDE077158460E054A7F71D1994 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = 05586BCB8077E19F3F43015216D623B1439C49ECDD3C53255553E9133FD1A9008891520D2EEBE5684C546028CA2CDDFE + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = A200D8EF3D120B917561EDC8420BDE022B3ACE792925C8FABF25AD9B0FA676D2260ABD8098F383C0F93043D5D3F56C47 + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = A8905D1E9F4FC96F2D769D31C9A120DE43A0B20115C8D17BF0313206EB9CD87AE41DF2D444C9D75F9366998263D61C07 + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = 88249AF84A7F1E49D144869A3D4FE8AA6E1A4874EE467BC99E9C33E2105AF2D097417D6B78537925392DB2C5CB1E0B92 + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = C46122D00B61E79DF025A4D525B8A602C7AC004304A993872E3A8AA37FC0E8EAAE5FAD9A220C5C6AFBD5A4783680013A + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = ABA0EE3C16D3DC753F6E466C33A998A73282C0DBEAF51324979A58437636886E5521B567C9A62D405EE558FFEBAE91BC + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 28B37125F233BA8D527E5284A16E6EFE9AE84D3EBC6EE4C88AEE0AB165C111A32FF2CDCC4213AC3267B0546DC0D74C84 + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = 258988E54D66E0C53B263BA68D9E3AA47D278DF87C51219CCE6F2547281EA6581540E28C1D7E069254791F0D385EA694 + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = F6A9399B482A3A5EA6FE79A2DB7BAE7E588C9B7DA03DD85C120112FDBC234350529A1F37ABBEBEB770299E141EEA7BA3 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = C0F957E52E40F9B8EA945D40779286F7257AD463A934B049DF40C31D3547AEF41AEA2DD981FD2579327229B54EE04E66 + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 779EECF39311318051BF73C441FB799708912049E28DF3FADDE449E4CD820CC4CA1BD0F8513927D9A64F5D34FAABA039 + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 3D6495EB3DA4E81D3470A050F416E2C8ABF657A26D4FD64AF35735B5782B611FB798A72FE7A61CE79D0496F69654CC80 + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = F8188EAFD0E2F9C7F44E70B38DB1FE3E12B1469739CA6A13ED5A8661673A318296FFAF8D37F6FCEC22A2D00EEE2ABEBA + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = 7D83C3F2265C90FEF4BC6BD0D17A218F0E196489CB2D8455BBEE80AB989FFEA46DE753346EDBD5C88448FEDB0D4AAD4D + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = FCC5FCFEF5BA874A317B73C9B1B4CF6877373D41F0B8080A5D4F021E0D67F3B9F8CCAACFD4244FC10BA58B3A470DB48B + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = 9B336B4C2B530F65C01AF3F0A46CF1B626D5DBF1B2E50F790B9F34CCA367315FDFBF7D9619CDA4DA22E39F9315303816 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = CAC442227F10C4935D42C2914043167890C3EE1F4556D38D20767E8402AEC4D70111F2034276E90F28102DE634E26AFD + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 05E3FB83EE8D609874D5935283702F29E5E896BB090C48033489295989C45DD2C06F5BD558B6BC786AB1251F75664B06 + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = 6E463C7FB5CF436B1444921AFE76D2FA4E7A23EDFC9D496AF1DC7E78A0173D797EFF80F2BB32CFD34DAF5633C4E6BCD6 + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = 90457E3D33FCE103420056A1C712441E04856B17CF37A4E133841E6D9A944B5EBEF98CB1C1CCD575632CD3B5C177669E + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = E5FC73C70028D1B82A9AA976D34F5FC72916839027038E79DF2E29149E861F09A41A8203CE922203F710964B4F5BEC2E + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = B0A1BBA912DAA6D80EDC6519B501B629456394D7BDA24D46AFC9FC1D93A0B5962FA4F95214273290D32B3EAEFF6F9DFE + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = FCE4637898BA0CBD9D7B636FEBDDC02A435901CBBEF8BF76D3E866D97D55354B71FC12E67A09E793D749316D714FE08C + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = 2B5471FAE3805852F4CF39541F8A0A3774818F79FE50476E225D89B62E43BE3255E96D19CBC334AEF04192840F075C7D + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = D4D3B49878AEC72E2E7FAFB687DA7EFE242CB60ADF5C65C577C444CFC95A2A2EC670000C8A78898A07400E3502D73F27 + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = FE1C2143F2957819DF9C9DD05D004BE0E557EED8C5A2B7CE457D5856132B1C43EECEC36AD704A930A85485A34C3860FE + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 4D1F626688E6899B5FCCD47FAAB45E96C61E169869CABEF40283B2418DFB2888FB80CC9F2C526497C50C5244784F195C + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = A063D778B0A2A11D3A9CBA425EE5938FCAA6E2BF1F30A665FA811601444D5749AFA18766DB5F0426C5B8392238B7862E + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 470EE6D35157846890A01B3809EB923CC45DFFF2FCA2826F458325466C983B1C64BEA38BCAECA921C90DD00432ECCF89 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = A8F0A3C89CF7E56ACC18ACE1638BCF133094FD9F75F05677C3CD0ED3614A593CBCEB09C78C86E350FD07FF4429A6A165 + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = C8A9A24464F21B133EBE20BA421A81EE34DCEACD5F04DCFB66D219F7F4145633692C572B63007834A406ECFB938A14F6 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = 91BADA31B57A4BF3D2EB19A34FF921DB10BD6406191486D25D5CA4DE5E00B5E2815DAE741064E5B877AC57511B949F91 + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = F310E80951C7BB6395CA168AAE7EC42DEFF6C4CD3F5BE9C8B49B85B405F731911AE8267FFEBD543DBDF409EC20A858D2 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = CFD05E080994FC6D7AEF2D8C6E44D8A5E90F5A231676E0FAE0D2B8CE162CA9D06712580C99997A7709A06180DD42FB91 + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = 8FA26DD5A54BF94A037A165EC5CE3ED86147A08DCFE3B48818B0C0BEEEFA33B145323B598F761DE2B639D05127F1CF3E + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 283FD61D1E50572EF403BF9C554D76D694A54F902C49795D1CF506F0EE263E7BA994F72BDC4732531FA7194257F2DFDA + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 128DC611762BE9B135B3739484CFAADCA7481D68514F3DFD6F5D78BB1863AE68130835CDC7061A7ED964B32F1DB75EE1 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-512.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-512.txt new file mode 100644 index 000000000..43f589a87 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-512.txt @@ -0,0 +1,1031 @@ +# File generated with ../../loader.py from ShortMsgKAT_SHA3-512.txt.old + +# This file contains the full content of the ShortMsgKAT_SHA3-512.txt file retrieved +# from https://github.com/gvanas/KeccakCodePackage on 8 May 2014. +# +# Keccak(input|01)[r=576, c=1024] truncated to 512 bits, or SHA3-512 as in FIPS 202 draft + +Len = 0 +Msg = 00 +MD = A69F73CCA23A9AC5C8B567DC185A756E97C982164FE25859E0D1DCC1475C80A615B2123AF1F5F94C11E3E9402C3AC558F500199D95B6D3E301758586281DCD26 + +Len = 8 +Msg = CC +MD = 3939FCC8B57B63612542DA31A834E5DCC36E2EE0F652AC72E02624FA2E5ADEECC7DD6BB3580224B4D6138706FC6E80597B528051230B00621CC2B22999EAA205 + +Len = 16 +Msg = 41FB +MD = AA092865A40694D91754DBC767B5202C546E226877147A95CB8B4C8F8709FE8CD6905256B089DA37896EA5CA19D2CD9AB94C7192FC39F7CD4D598975A3013C69 + +Len = 24 +Msg = 1F877C +MD = CB20DCF54955F8091111688BECCEF48C1A2F0D0608C3A575163751F002DB30F40F2F671834B22D208591CFAF1F5ECFE43C49863A53B3225BDFD7C6591BA7658B + +Len = 32 +Msg = C1ECFDFC +MD = D4B4BDFEF56B821D36F4F70AB0D231B8D0C9134638FD54C46309D14FADA92A2840186EED5415AD7CF3969BDFBF2DAF8CCA76ABFE549BE6578C6F4143617A4F1A + +Len = 40 +Msg = 21F134AC57 +MD = 584219A84E8796076BF1178B14B9D1E2F96A4B4EF11F10CC516FBE1A29639D6BA74FB92815F9E3C5192ED4DCA20AEA5B109D52237C9956401FD44B221F82AB37 + +Len = 48 +Msg = C6F50BB74E29 +MD = 4345B92A2AB7EADB6A24EE1D175AC258CCF2F694AC09EC9D47399E4D96F61F30B322C5438C51BACD0D597D00471A41ED8E9C9F146BBC807E6BC385F850FBABFE + +Len = 56 +Msg = 119713CC83EEEF +MD = 50081C93BF73ECC54A5FFE43FC14F8BAEEDBE7DA0302AC984C9E668389886BD064BAB26DDCB616EB4E0E726042B19F3FD50BDD0D2C5B34892E00E6F399DE254F + +Len = 64 +Msg = 4A4F202484512526 +MD = 150D787D6EB49670C2A4CCD17E6CCE7A04C1FE30FCE03D1EF2501752D92AE04CB345FD42E51038C83B2B4F8FD438D1B4B55CC588C6B913132F1A658FB122CB52 + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = A13C951C6C51F236A0197A29A8994B1C7294E17BA518ED1029D6F54AD739D8765920281BBB854D16FBB60E0385AFD6E6E433E63AAA77E73B8BEE7FDE569D6875 + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = 5A566FB181BE53A4109275537D80E5FD0F314D68884529CA66B8B0E9F240A673B64B28FFFE4C1EC4A5CEF0F430229C5757EBD172B4B0B68A81D8C58A9E96E164 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = 7C77E30ECE98EF88964458683C5E0287B5896E166CCCA71D2BFD8D8BBC6D6FE589A0225EB1D6AA7B220F1410C9A9EC0672CCDDAA1732C3E2877FB5D232C2A428 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = F5DF5952924E933330BD5BD7627A62C3672F24A4991DADAF78816E023769C91D1910537F9C19FCDE60FA6DE927982DD5F5970F74E30F2B040F67348A3394C48C + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 80A1317EC534ED48D8A813E0BCA0CEE04F705A2F86352306A932EDC548B9A8F1CF79F95027F43BDADA8213449C54F68F4DD800B15C4ABAD87AD7A3B371A7C918 + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 54C274C3DDF26D824F5FDFCB349A600890057EB2E2022245CBB8BDC0D2240CFA8348F02191FABC0E10F9287185211C9F569132EE6DDE4C396668B4BB50AEFC3F + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = 00767236A7352551B283A8ECF4C79274F8C4CEA553AB43FC71CF22FB2F6865AD02C88BF0092F213057340C85A5318F62F4991C00C63CB0558CBCF13D6D84E73D + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 001618372E75147AF90C0CF16C3BBDAA069DDBC62483B392D028DED49F75084A5DFCC53AECD9F57DDBB73DAA041FD71089D8FB5EDF6CFAF6F1E4E25AD3DE266C + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 9644E3C90B67E22124E96DFEDCE53D33C460F132868F0975D18B22CFD59F637DD85AA405E39808A45570A498C0B8F2CBA59F8E1437EAEF89F20B88298ADFA2DE + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = 4739994390728F4A938DF7B3201CD63771858453F0FF1DDE9A2B9C38A27A0F6C868460D00EE03DDCB0F063F5F8BB7CB0959B7A222259DA0F2C57FA400B50985B + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = AF69A46527C17117E6DFF32CBA289EDDD1EECDA13E5313E46678EB8006E7639854C3970DFEB4D907DB1151C1C5EE25CA6F195B09CA5A5CC97A4D64AC4C75578E + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = 191CEF1C6AA009B1ABA674BE2B3F0DA418FDF9E6A7ECF2BE42AC14F7D6E07331425133A83B4E0161CC7DEBF9DCD7FE3787DCB6622A38475189EDFE1DE6B053D6 + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = A60D7587424B7242D93BCCE515F1C75AE2BE7710F72ED3F4E5EA8BC2BA8D64099FE42B88A295E12FDAFAB441D772C4A9A7D794B27788EDEA271571A04305F253 + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 09FCAD97EA3CB6B7FC61580DE0968D238006B7E71F0BD58ABA2AA9D4ADB855D7606E7632138CCC0AA065CA0B92422262E029DA17D73CD3011FF285706C7FC1AE + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = F61FAAB080CF9A5F75407B081A03DEF4F49A601A2BB832E8C6401BE0C98B3CEB3F75C922A91BD5060B3217F737404EF4612B9A009B69CA648B1E37B2ED49229D + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 51DE0A622FC6FC702C7C2DB5CCB05CA0DDF792986E44B4D336A7A5DAF19A20A371D9BF7DDE822ECDD0A4CE28E4A0B46FE51A2AABEFA7865807EF3D3B1887F14D + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 6286C3DB87D3B45CFD4DE85A7ADD18E07AE22F1F0F4675E1D4E1FC77633734D7962818A9F3B96B37FE774FC26DEA787485317B9622275F63A7DD6D62D650D307 + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = 8146C43A0FFE481872142F56A9CEA44332EDC76B4E99C2BDC39D7F80B2A6B554C7598F09855BF7ABC5E6C048BE76F5F369EBB2884E6E37F186E8719DF3D523E4 + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 4B86FBF9DFB6767EB660AF9C30983ED65B6FD051247AB54767DFB49530EB3C01014EB26DF63E536CF55E0BCE2F62654FB2FCE3839B4BFD301570B1AB794DF67D + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 21132FC11F6040AD493D627027C752CE29816589DE7BE78562914B63D1A9219803DDBD9673AA749F37FF4D6E1B5AE2A12633BA8B0C9994E031EBF6C42E58A793 + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 8A5374D92FF9A58E0451E609AA5C0C5C172BB2068C80562D0324F9CB6A037436910C6593F950C44374B4E5BF6F6D3A436ECE6DAAEB56D147D8CD839CCA35EAC3 + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 71025D089A39D27327C46C27BD4E7565DDBF9C286F185A08178601C3BAB4667F368A3A8BDDACF25B2B0AA5C9E0CD6C87DC32C854027A8954B5C6AFD3A85097AC + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = DC29EB7130812A652AF3FF9B77629684634502EA6667E7E9F80090EC2A9D690C8C9A78645FB04D9CD269E706EE2C96E74207FBBDA559DC285C9BC52F15A256CA + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = B087C90421AEBF87911647DE9D465CBDA166B672EC47CCD4054A7135A1EF885E7903B52C3F2C3FE722B1C169297A91B82428956A02C631A2240F12162C7BC726 + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = D2A95C6FC0F39C8F7A86C4DD6261A79C940FCB313BCFBA9BF71527F5BC70EF827CD97DFA18280E5DDEE5CCBC1D63CE88CE2BCDD82DAB610F79867A7C20B11E4F + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = AF8C0FBD72B3F807DB95C9231BC4E93153DC6608B22F4707316AAB3D69AF0E63291B569F118B5C9E693C5BAC4630C4A923A4743581246AD3446DDA4F9076FDDB + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = BFC7D968D45342069807C5F1B96425CFFFE99ED136D47665E902E026C118701BB7C3E7FD691785115CFDB2EF235A66BCC1384A1D088B8CCA90D9D560913549DE + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = 9A348540AB669CDD8914426FBBAD192BA0DB16583E8D4E867B66CC78C6496E4D83DDBF7B972B0668DF7903B0FE9AB82B65153F947CF2AF2591121C9D1A78E515 + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = FFDB649D1AA7FF269B9BB0AE6192F7BCBC06612528DF0E68521D5C891E9BBA129271A07DC56393BB21218F5E2FB92CFFF833432066AA6380F3557A0748E65B33 + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = 9665808D39B4BECFDD9AA8020A0A72CFD4F823A15D670D51278A4AE95507E16020AEDED6E6C0E2DAB0BAD890A9E7552403D2AA8D1EBC0B8EAEC9A3A8DBB2A9EF + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 7ABA6B9F8F18D9D72B883EB988A5F4FFCC0217A3DA316AFF11B38976E90B0736CB000F522DBF2DDCBB61BA4BF44C356EC5B46FC86A5133F971A94FE2A9983260 + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 589C46625A6AC9A2C9C9A884F427C3C032887AE53A69932B72E1E3796BB9568929D163395A3AA8B2AB23C564937CD729206D9B62CC60353B68A69A739616EB35 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = F7CD8737A1AB36B37612E57D1E5A3D4A269D18CF2CB7644A12540E3B184631794EC1A1DA118A109AEF514DB3590FE27BE0752EC0826ACAF458FB0A754BDC51F1 + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = B21BDEDE484CA18F672058667CB2F2DC922C44351E95C2CDA75AF7E45577BF50E3F203139F6262279ADFC3221B94A072641F8BDB55DCC02F21D0879EB5E7466A + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = DB56265B9346968A390E9841D5B7878A158BAED946068E808E456735A67E49220FAB66239D5D506DD75A58F2C56E25C9C105A3827C1434C67255CFC9101A5D09 + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = 4C825FD9A795CCD20A0892DA1572B9B1F70BA05FF2D2DA3A4726A74F9AB5323CCBC4290459C1BB46F0A1E1FFC357FF4766F4F4879DAA91D31ECA986AA30C7B00 + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 8445A05766A30DDD0080589F8E8CBF7EC59FB7A3CE73C0209791B19CF712CF1635D63C8356822272309C6B9F01637088878DBFFBEDB26D2A566185225C4DA56B + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = 2DC25165CF317ED7DE2B4F2FD0995D7785978CA8581EA8033E912F2E44EE613DEBFC5535C48D63838F325D1416B9180C20BDE82614504B7161F9860530ECA70C + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = CB6110A02D7CA636463F6E3502CCF0173B000482C7E002AD9277C1D10317BDDEBC3DA7F91D0173E3E2F9552BDFDEA4DD1AFBF7508B096AAB1804921E95754E78 + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = 7EF3A2894C6ECBC4201B15348F90671515ACCBA3C8166621F864A9184BF08C3F5A895F6B599D3CB41F20A8A1DF25AE84F1A6D7C8DE74FB7CEF48F7E96FDE8D43 + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = 39C7AE0F80129D9D2980A6246E2B6F10A39EFAFD694DED12A6089509D95ECE506DC38C0A9DE487D9D401DB1F15193404911069533BCAE4C48C53F27BEE3CE0AC + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = 9B8A7D2F8519AD6DC3D2BC5B696B354C5A8B4796402CE1242C52638EEA6893A1269820A642BC9EFE56CD7E26DC46E97A7FC58FAF3F1A7A25F86ECDC1F2F17E64 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = B5CEEF23F56BE807B616C7FDA4867A1D12D0A16845459FC704CE631AD3279AB222DCA7ADDAE595D289CBA8996D46655FA9B6BE58700302E655C51C825F31BB2E + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = 143D024FA75C8D46273589B8F78432D49EF14178E4AAA27DC366C9CB787F24B73F4197A722F13031181A6FA6E4F66127893DA7B23A579BB93FE7D737A4194093 + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 0F48D008DD3AA630E8261658A55B565B6773992426B08592B4C1D77A58B067F05E25974E501628A2DB632F2DDDD73673119ADA5674D0CE92C7AA908B9E9C435E + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = 297498639FC7AA4152654E468E08F29AFFD7061D44E3F532BE4BAC169C877A2EA7B4D70D6BC0F678BE08AA064258EF57111310D13B889712D06530B690841DBE + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 1B6DA16151FCD18383372683480119A304796B2A5E54F7EDC6C7BC86817359E73F6FC5587C77BFC71B56EC67905FA7F15193F9F13CFA190BC7B05503A5782C8A + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = B2F40935E7C9018814C4E2721D9B5AEEED3370690378E472BD29F227442CA4942B06189C346FDA498123ECE59018E42C8B7EE38191F97789B4AA93223A8D80EF + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = C8D242FB5FF1C6CD11A040AEAF35CC09E355A975E04DED1D8341878BED5DFF8BBBD1B69F4D122CE53309AC08753B95D2A57721DFD12E70A8EF12E11E16DE0FD9 + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = D1D5D5DD7D196B87BE4A38F2D9B4A69DF9DFE0A6E8CE71B08CF22C7F670ECF273EAF395D12FC63E1741DEF113CC7104970194A7C7C807E5319D7BB702F20B568 + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = D812470B2D135B6E1BC0C85DC0652BF9F6C2F9EE707A2E667181CC9F689BC7DF9CC999B08716868AFAC78244B151B725A027D9250AB7A073A469E7F09BDB0B55 + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = 203EF6BB5132A9D44EAE93C7202B1469C2C2B93706D0A31B29223C411A39550F60F39B9556FD040BFB5F9F7099313B8874C8ED677CFC5F93D9A2941A9B0139DE + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = 23BEAD09707A77B295FD22FE001282338C2D368302A05FB114BA2A012C4DEFCF06F3887D6DB7A0A1DE04BC399BDE92D6BE71904A9AA7B92BEDFA0203F1D8B06F + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = 93A8DB85774B321090801DF4DC3CC75E94AF63FF6DCF50BD210E5B65FB35E1BEAEDED55602EB32380726029834982D77B434E94179D0A3EE1059345910EE1DCC + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = 3B7D98FF3152B2024AAD4FA0B40DC642E842D453305ECEF278574E386172F3C164E4EFB9C2951A23FC73D83C16B4900FB92AEB8EFE06B58F918BC4A481E4C238 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = EB5067BF762A291CF258AD69A816A0B089E0BD44F8E5B74CF60BCE64734E59853CCB8D091CD2E33F90AA063FB7942CF5965D459200144C1A0801ABD69A9A094A + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = B0E23D600BA4215F79D50047BBFED50DF7D6E769514D796AFD166DEECA88BD1CBE0AFC72A41E0317A223225B4F5882F723AFCBA3AF7C457EB525946DA6C53BB0 + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = 83021062117DA99327E521D7C91331208BF3F0A972A6C755ECA46760C0984871FE03724A51FB5441C3CDD3D24FA1B8127510D6A42CFE18B08E8096ED702EF33C + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = BCA9F06B6B9AB8F76C4F3DBE677D5B4B3103423644484C77CDD8C5DD6C1A0BF717C76E83DA9B2B4EDFE4CC133C1FC86396E8C3A9E42FDD20519FCAA19969189F + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = DCDF7617F79DA8475B3A4DB1306C9CAF87F1AE85EC97721892D8E20D0E54EC82EE7A0F2D17F21A61AECD89A6C4CF5019D7B8077447EFE03DEF5208010A8A1E84 + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = 9B8C7142180F0ED85359B6D186AE05B77B2DB7C3E1F066392E733B7EEFFD7C11F7A6C0C570273A1F3FEA1A0929D017C7A4FA00175B5ABA76861BCA7EE806458B + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = 3AB73A0A75B997C0EE8329C33E6EF1389E9821711867F775AF29517EDFFBE410D037143C6431FDED3D8CE728086C3512E94F038B9243B50CB820DC2445535D91 + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = DEF4AB6CDA8839729A03E000846604B17F03C5D5D7EC23C483670A13E11573C1E9347A63EC69A5ABB21305F9382ECDAAABC6850F92840E86F88F4DABFCD93CC0 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = A3E168B0D6C143EE9E17EAE92930B97E6600356B73AEBB5D68005DD1D07494451A37052F7B39FF030C1AE1D7EFC4E0C3667EB7A76C627EC14354C4F6A796E2C6 + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = 635741B37F66CD5CE4DBD1F78ACCD907F96146E770B239046AFB9181910B612D0E65841FF866806EED83C3AE7012FC55E42C3FFC9C6E3D03CE2870442F293AB4 + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = D6299A21CB1B31F0A6EB67D82D4E738249013B75C9BCB4A4FE419036A6043A7103E9CA9B7D25759177C4B64001377093CF39F35C9B1625C6819369FA375FA49D + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = 07F0A184734BA4BB721F36D7B1B383F6BF99CD5F75941ECF1FF2B325F03AF970D1DB1F035975702093F59A7610BF054D12017ECD6109177CF061AB1496F87860 + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = 89070B8B1E322CCF9D6307EDC11FC34E13874C4977DA9F6035D06FAF647D7F7D54B8250B541744298AACD4C54D9B41B4085DD35C491A461D504BDB42FC12F03C + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = 6C3FBE32556445DAD430CF15FE1243B6AB44349EEC2BE1132B0680E5EDF0B08B55F1ABE473439C5E0750132996195FD120C267B9100C47777B339132EC34CC80 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 6AE3E656CF94DB10AE3C185362A6625CEC53E0BA4DC7D1608A3F2FCA3C4F31F89FE1B06FE9CA345E3F5E967A3EBCF6A1A16E24521D5C4690D9B642483AC7A896 + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = ADA8E78CE3E6D447BA2B7DCF98718FE7D43B38D68117E5779A41EDD8FA72198E3B3C1C0215925BC9D007FD2C355EDD668A0C27EF0FF89F76CF85363D4C9EE001 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 3569D9A08DFB0001BE713940C464C119F5A4C1B9FF97D8297D04C7B2DCE2D684AEE16443C32E5BB2355AC8A336249D1BAAEAB4FBD04AB982D6B178DD0A5B5BC8 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 1343E3CD162D7986431BABE66383B84029665691E36CAF97CDACA17EE9E97D74201D2A828D72E9FBBD5E07831D90F09EAF3C863BD102CDB1EDEBC8AD58A53ECE + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = BBA01DBEA9660F9C2AD74460B67A82440701EB995143FFCF7434B5D2DE4E35C82CC757DF776D46199DD8E7355AEB1F42A88F6F0BB50FD239C73898156E4DDBBC + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 3268BC24E29392DDA1677B7A3CE3111994482D17BAD1C150AC885F1D29C308657C69FD4F7CE5967D04FCCB920DACB00D0CE09536EE92A6664CB20E692D91D8CE + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = EC13E390FA65FDC11054E32C9F5BF5E6E97FBC34C28089346FF22D9762BEBF6A14FA7F9C2E6643D1ED7EC6925D0FA2098F8149058E99D02AD5CB61B4CCBA6467 + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 6FD5A334D4B7F9C72A8DB1292CC8F19BF2A00F5C226C1636248024723CB876070A9657F48AB3B1D4229202B7BBC64053A48C3FF6B93AB11A2AF3237721C9CC09 + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = 016C80CBABED07C50F2C1B677C43E52DE8D11751E54E596E0C04B3837A7E34A9FF5D2E98E7C58182879C15847D18DCE88EA900337BC448112E98CE1118820C58 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = A4E85FF86482C10C6AAABC79A573CBF89A0A927110D755F22B529BD7CF3F6CC6CB9861E509657242A78B0C0AF78FF97ABCC1A8388270D6C8D302D45C9BA58404 + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = B97AFB77D39F8904AE8A5129A7DDC8EC9290AC40356E1B53DD057FA7584BA31AFAF9EF5B657097FC115EAA33E7EDE36DD00832D677EBD07C34B071E73580DD3A + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = AB2FC59A43A2666C9206B9317479285E660B670C6F111F999556E8151E0EB8D12BC82C9A7E7B3F8D6F382A8D96775EA417F754FF552E1BAC271FBD08240F1B86 + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = 0A673AF84E2D2317B80A873BFE38B252872708B38AF9B956E3554AC2DCE2F77C815593D99930E7AA666C57B59730712E5C4A9B57849EDDD712A378040EB824D8 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = 1D34645463EBBD932C730E593D9C108AA86807DB6785F05C4CE80F3E8302F87EFBCCB1AB884E25F1DCD5485D385502995E7ABE2EF11BD3469E036D7EB93B4F39 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 3F57FA915A782E3CC69815BA219F42AA2C222CD7F309F10AF843384B3D3939AA0B92DD9571686C7961E06BFEE818127FC5B5F32C67F4AA2AF10D4FA38F65E90D + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 151382CA35FB20B895A9DC074D687F2F335EAF57456D357A685EF752DA59174D3F239AA9E04F142138D9413B21904665EF4DF2F63E663B490383660481F78362 + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = 23AA4B74C54E8F450054B6ABDBC6F6C3E44366AFCEC099B155775DE040BF3B9CDD0B875F9D490FAA694F18CCBFFEC6CAB7DE57A59EC6327240AC59D62D50B21C + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = 3605CEC16A7AA8B2525479FCC1295411B6A952DCE233C9ACC856D6D17C9812C920178500CD0028B5998D07046C6A5CF398EE1EC97DF9182C33FCA86647861878 + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = C5A526D75816D41B53BF164B0467E0B80A9984D1830EDB9D49F7EC3ECFEFB01A2C824A0F645753AA463D567CB2782AFCB2B2C2102EA664C56998F79062636FC1 + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = B239941A31100AB1B24AF2D1FEF149DBA300105A31B72A8F217E306A0602D722CCD593A23E6539D3E4195A7E12CA19AE2BAE8B8399F7A9D50DB30216E973F2BF + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = D6AB0D0B416D1BBC85479F9850585761B91775A60307AFACF70943FEB58657740FE35DC760AB9CFA672C6B5552AA67BFA1F0D6A6F943B3912C229B8E0155C002 + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = BC0A28450368C288013E2EB1196E58933CE05869CB55FA2BDA61D9D92F83B903E59DDE0B927CA6DBC46F5AF2EB7E8831E8668888BFEA46D78F4D274818D56328 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = 7820A20056DF741E19FF4D150663488CF86F936353E99E25B93220F5230BFBC13363B458D6DB92F9D211D705362B01782EC118ACFE53BAE4C6AC2C7E5D0111FB + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = 0984A43286A3CB22FB59F7880E114E23E3AD3B0D43025F3987D0AA6FA8E53E6066F80F4769241DCD062431C7F6712C57C6E3275ED3F2BC591DB6DC20E5BE0953 + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = A6300497F650859CD744679885CD5437A64CC3961574DCCE65E1611616A9F97190F39130BA532094BD62464D0B8B52297A2C9C279B2C9860C072CD44449A9CDF + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = E2052884D112238807C02C135247F76E0E394BD6583BA83ED2731CF68F057276272B891A761CDEC6D8AD2E3F33E86AE9D9A234682BCE7A53816235692D2CF821 + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = FF6A7D0EFEA45E5F0ABCB173FCE2BE76B52D0F3FC363AFE31D219472742D73E56CEE2AB91A94D41335C4FA25CBDD6EBD1A087637CAA25099D5A9D60693CF62B9 + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = 4183F96759E7C0628F2FC81979274F42111A43BD5DBB3685BB21704CE6B0ED3D164DECF28A3A991B303E1D7B86E2B175BA89945A8524F9C9318F12B160A1E4D1 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = 940C6F0BACF11E4B045F432003F889278709F9C3D8E420C9A17155F57E776D72B4306BBA4ADF721708F6EF457444AB12238372E207AB41D5EF5A68529ED0B26C + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = 172F0C680310375156911C07B1819F0B9D124514EC2C3750CB2E39926A28A4636AB7ECDCDD9D6A960D16C864DD585645D87F145C5B315381F356656D617FE97D + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = 410DBAA5E3453F2DAFCE135DC014F28FBF693C84EB7D4BECB80A3DB32E16E89062B3FF59C1DFDFAB32D84D20284632A2AC7F8F88D4B7023F879463BA18FF6553 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = F93A099159C39617B75B188D527FC4DB287CBB4FDDDBA5AD4DCB4CFFC4DC59762BBC41A58D3A788EAE152AEA024BC4CC4F29FC7B8AB68065A68650A04B51818A + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = 05E69984EE99AA2BC851083AA44EE56FEEF86C45888867CDCDD0C7A8049080AE7858B93C19953A881BE5C036BD8FE83628C2E3AA9939A288B4AC4BC2876C2FBC + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = BE22F3E253C2563C3353E693D2D5A65DC6BAC2CBCDA8E43E8584F9D851E602D4374936403FD688F0135E363DE8099F249DD21C61695C109C27ED5F4F4C1808BF + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = 1D1836C4E2C3EB27A74A9CD600C064391BD9EDD45464A5795182C8794748BA51A345C6FAE2B91F5758401E4F427D50B6882B1DF0977976C2C9432C1A9B3AE03F + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = CB0D33C173C765BBA3714D56A4CF48FD6320AB8C5317E7AB1A46472AFB756232CD27F51473DCF9BD7DAC1AA7F669353FD8F3D27D17D3FE3EB3386876ECA38A85 + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = B579AD0C750B91E0671BB7F0482A519835D155AE1A4DB92112E66FBD158835E0C29E2F122A8C54C530F92633F6EC7B222CA3CED45B4B5A24426D99C59C1B6609 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 689C878D8A44C79EAF0579DC96C0E7FE7D33491F59A6058BEE60E14B8006BDF6A6070B2B6D3BB6D7C31CCAE09EC403DF49DD12BA72C8532A8E476B4B415D8369 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = 4E4DC49E414C794A4B6D8D2093FEAB46D91321CFD089B1FD8CB5154F3E342645F6233A9216DB04F080E5AF8B156E782AD16E0B15D814173E78FCF5E7CF8EA51F + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = 2C8F456F9091517CAFA9DF1D09EE621EDFEB2C00DAB944355D592DFDA128F837228578E3965D3767959D3CDDE4E7B67E02241F28C5417E33EA74E39032F938EA + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = 3AE18402AD4123AF1AD868450591C46F66431D422A29D932DF94AF9AB3E256F806575B3EB0D24EDC7531725E0336847B2E571AE667B619A9D79A3E168948AF5D + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 6F3E1294B67D875165FD09DD493DD55924E9E28E53AFA2DA80916D7D54E19C1705121D617E53F56EBA4767D6435E986FEEAEB965EC4956FD3C02DE1288FBC661 + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = AA3398BC7DAEB4F22CA6D1937B0C6097A49ADB6DBC03FC0F5226A644F217296BF55747269B861FC7B22BC5956CE3D8DA28E9F25D8C9599BC653CD0EE0C852473 + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = 8BCBBE36DBE305FBB558EA46721D25DE7AAB7898E583E8BDF26701224387C524C683475C242C7DE090608A4F17663D217276F94F4188B942A03039B5E38D6AE3 + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 4782DFCAB650E7A8DAE9A010CB002DD0373BFBD31247FA9860876D7FFFD2D57C355F2054CB2EFEB45C5871F284F46B025798344A3719EFAB34D15152DD0BBC6C + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = A4D538E449E2B3EBF9AAFC88D29E514BA0D2C8DE2706F3F6FA5A2C4F95F5DB5BAB59C1A69C16E4859A19730ABB2E6BF06152445EDA80E3BE5CE652023EA57E5E + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = 8732D243F1B3349F900DF430659B9AB9ED99F626AD35CB2084B57D60E5A5B47213AD213859CD40964C5A267C236D0E38167525F778E67E37D4F623A8884128ED + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = 97DC2606E14F7BFFF1FCA497965E36CAA3A81CFD6459D0254529F64DA40FFE7442C08A151D6CEE3B46BF3414E80110A0F71EEE44D7940027DEE90E919E498D65 + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = DE5978EACE4E51F7D289F2BEFBECB3AAC8E9CAD48FA0F7310C673D52BBCAEEBDE49CB5A76D334D6DFDD51AC1AB24E9E1CDC915069DBDDB3D2E30B0B0C26B3EE1 + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = 33ABCA29A8A7094CFB10BE4A80E81F8001EBB933C0D4B98A695B22AB553F94F07646ABCE6ADF491817D17B78C40747D56FAF88A613138CA0E596636C672397B4 + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = 4FAB45806B4628068458B5D0A2D4BF101B8BFC9276EF86AD5D883765C43F72CE8A5F7B4C5B535A915130BB185E699AB62228014E54DF790C0E93AADBE7E39E19 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = 5F0BFB4146910CF0C320364B6AD8A02B0966229AB2676D9670F0DD241E8104DB02797EEFEA0B9CABBE90A44757B033755925B2FCCF3A00054F9AE8FBCEF752A8 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = D38EF3B12EAA0BF62A75B6B63CFF3C9EF171DE1B75F5D02629365BCFE65BA7DDD30FCEF7FEBB82F19F9BEDCC1CC4C679B4292EA62C2A90A7562DA9A1318FE278 + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = 60C95C274F99B8643A186344BC01D1279010BE55D1BE76F4E6F919F6B54D335EE0E1CA92133F3D7A2520CD82C4000E15EFED8D8A66F31B16B0977C63DE1BEB05 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 9385D0ED9E73498E24B8C6E746A1C6BE8011EE30FCAC9BA17224EE2012378522C78F8737A224621FBA19C42040C5C7F38AC07B40E0E75EBC59D17975EE85D655 + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = 7487164D408874AFDF07EBDADE8C62E756147BEAB3238B8738AEED927F54FE6D33AF3917D4E181B50CBC88A379C73585F9FBA4C1B67B4BE449004EA0F66D11AD + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = 0F41AB2D10C51E28638DAD178655F160B2F753DB44EED6CE4104693CC4A938D887617774AFECB33B890EE7FC577656CE168EEA42C604D152B952C9B772C9B530 + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 7575A1FB4FC9A8F9C0466BD5FCA496D1CB78696773A212A5F62D02D14E3259D192A87EBA4407DD83893527331407B6DADAAD920DBC46489B677493CE5F20B595 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = 2E293765022D48996CE8EFF0BE54E87EFB94A14C72DE5ACD10D0EB5ECE029CADFA3BA17A40B2FFA2163991B17786E51CABA79E5E0FFD34CF085E2A098BE8BACB + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = BE8E14B6757FFE53C9B75F6DDE9A7B6C40474041DE83D4A60645A826D7AF1ABE1EEFCB7B74B62CA6A514E5F2697D585BFECECE12931BBE1D4ED7EBF7B0BE660E + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = 6C7E64EE0D826073D4F44BCF1586A83BACF3E2E138DFDB65B8B8B35FD7DAE300EA6E32C6245CCA27C674FEB2196755945AB7C5DCE99EAB9158A75518AC27C431 + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = 5842D4DA2C309D9B2AA7CFAE702262F770A8E646620D65C17271416E9D7981FF93D228CD60DC1CC16921020D841E439E87F085E503D466C904ABF8CDD5ECCAA9 + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = F8B24527B5C84CA9A702DB2F535F78ED0323C2932A255DB24F872551CA7F5C0482B3690C62EEC8AD69308DB2D72308C4D615CDE3835B39B4F6FF115466F32763 + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = 08C6E3938DE48171A99646BD090B7D53FF422AE63F99850032BD131AC7BDFBA8F83466AD31FAD3169D8A320FD9548BDFF2C40BA20E0D031A8054019C40ED2662 + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = 6978AD4BC4F0FC44C35C6691CA46627D840BAA572DE9B0216673C988197191CDF812CF21920E052CC9CE1D507D1BA7DB6F151D01620ADA702DC637BF90809C19 + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = 3A8E938C45F3F177991296B24565D9A6605516615D96A062C8BE53A0D6C5A6487BE35D2A8F3CF6620D0C2DBA2C560D68295F284BE7F82F3B92919033C9CE5D80 + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = FE45289874879720CE2A844AE34BB73522775DCB6019DCD22B8885994672A0889C69E8115C641DC8B83E39F7311815A164DC46E0BA2FCA344D86D4BC2EF2532C + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = AFF61C6E11B98E55AC213B1A0BC7DE0405221AC5EFB1229842E4614F4A029C9BD14A0ED7FD99AF3681429F3F309FDB53166AA9A3CD9F1F1223D04B4A9015E94A + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = 26410E1A0D1E3659438DDDB2953EB3AA082CEB02A327FA0098574D89F9236F5DFF9C17DEF37F6CE4B5DC1EE5F23F578FE191EE8B51F1B8034BCBBBB7B6A500A5 + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = 5015DA2A2E1661D3A52A65D19F02933029839F72717A77B5045198665093F944CFF85E094D418396A51C574157EED9FB6BDD4ECA53278FAB62AF699B53C82F58 + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = B27828CFEBCF4D896EABF1F84D079827B7DCC7F308A20476474DE518829A89AAC3DC50272CFA976B0B5819C45C9EEFC51B87A27D11C9E5F9579121125A887542 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = 42FC06DCF99B4E804BB349101B46D6A6A7366E47555406EA554248BAEF52E17AFA40829F5709D07FF407881DF106F156CA735622B0F051D8C372F6E811CDAE25 + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 0CA89C9B7273DE384FF33F1BACBB8505628C4D3E30350B335361563AD416ADA523122D37ACBEC57721F7BC5D9B049E1F4FE3C4CFE047E33A0E448EF5D5536CF0 + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = 78C59A8CDF4D1D07A66BB2FAA7FFA2112D5C0FCABF7E3589E97623BDB922AF9AF24918C2CCFCE2B880BF64145C70DC9A4FDE78FDF0918DD2CE5FEA9CF99ACD41 + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = CF4D52D20272DE014D367310775287EE5E5CB34CF9AF78E65D1D1FE7FB1F13B62DD9B83C382BAA6AB4F6949478C8598FEF78E8D535311FC19808CB75E22DADED + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = 33D632E403C9F9A9349B28AA4821A12B1DB557D8928003D30C57D701CFF1C49BAC9472CECFF450E4D91D36C6CD78221790EFF6F0FBF498034014CBBACE5DCF09 + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = 954C709ABCB0BB881592D93F5C2463CE8C060AD1DF3053302EA7B19F2B47BCF0FE359A832F9A865A8D3DBD3BE598DFD6D0FC1C574ECA0AEC78D8E3288399BE05 + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = A337062F5E5C9C35341A51224F2A59E6CF919A63BF59A6CFCE261194BBD660F28C2948D03CDCE5C7C151EC05B42AADD83051A16A62F0C7DF39AAA4EFC82CE4D3 + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = 43E9D0EA8E526E83234D7B63D8244C7E7B12AE2ACC8082F986367268F10156574300172873845B207A7252624246E7D32CE0F7282E00C4552F6180F34E590E2E + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = F7DA8D1E49D0D964400EE40F9C88E07025A8B0B00CADC624A63E2EA85B1598E22C8802BE0C1FF368519549A752E02546093D3B984E24600BA2AB7C792B9E074A + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = D9A42761F980C78C36CF54C4207B0A62954E15A907A7CEA149B37A4E0A6376202FF8F12E16EBAD3AECC7FF3A9D6AD093B068DFE272E3B9646B1AEDC04961DC81 + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = BB65D8943413CEF89FDB05B35A55EC7503E4546A50FC3ECC825DABC1A1DAE6C771BB197F323625877E0BCCAA41253C99B6692976B99FC687B0B6B3E9AAB478C4 + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 540DF22180B69B9A83306619B2CA8CD8E07A34BBEB2219AC7CF88B468A947C4448489B303BD65506C9E1CE59348A9D863AAB5154848E95B5389783F6F5FB6AD8 + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 062E4A11A79FDB9CBC3A0E4C5F9875CAAA568BC713066E02D2A9CA4D27886CE23F70083A2BF4D0E7C55B120FE6D197203DC1C2FD3469112A08836727859E1F83 + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = 9E1C6EE0C47B2D2CB77F602CAB53AC4C69C69778297894554196CB58060332C9FD8923F45C4B8EC26E16A5D04E6307FB99850A4540EA83E3F2626F3343E97225 + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = F18F0B072A6BF608A6C7420E891BE3795A6D19BA3E1276C826F1AE775CF125E428AE1A397CFD074BE0CD24F7100F51800F14471CCF4F485A6571E2B32E02611F + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = 2859A3165F38CB59DE4275658BBAE9A0AD647D972CF98FA0EEC4C07EE75D576DBF9F5DD19A881DB4E4F7DB31EC0D77165911329CBE8A46D14D3EA7FDCB8A5C80 + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = 9281BD03FE95545E5321A91A0AD8FA75A005B928C83450DF657419870C4E980E32484FCF1F598702ED20404FECE48A2EE9DBCF22120654AE402951605BED197E + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 6CA7023E20735624E83995A9E8AEBA66B9BC8D0A30DF67108EFF8AEDEB3B3CA484457BD0277C2552CBC7D63DC87EB556F2199C54EA73BAE647764DE18489B1F1 + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = A965E699C1FFAEE369B3651C3A318582AE329AE51E6CCFB5275F58F748CEDB8F6B8434FAC4A1135AD9B555AA8CC1FF99A2220CBE83BFC1C374FFC927BB00ABD3 + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 4B44EC2D1848D0EC43AB0793390D24535F3328AD23C5F8FC43F5579BD16D84BBA08B233B0B5E24E22BF6CA2DEFEACA16BB98F8CDEAF26EECF2FC94AFE4604CF4 + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = 73169F0BE264565E45FB8F4665753E55F240846EB0D481CEF0274E4A3D859521767D9F675C0628DDCE155267BA686F2142805713F20C4C25E0B24398C65E3480 + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = 9E1C196CB73D1EFA288D63902C64CE1A340BCDB8197F4AFECB1118DADD0D076B5FB7F6F809666CC58D2A8C1A68C65D0E91554C41D083F56D7B3DD37DF1B6C494 + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = 0C429CC164253C09538668135C9436FDBC79DA8E1FBE92E7BBC6EB30627591E7347CCB43F7AEC2D37FF3DABCFC9FA0C80629937C0C177C1C7ED0FC76A15DF075 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = 700112FA90A1A2FD039A41B6485401634E757840E422AEB4A236634958192FFB2F2DDFA2253FC1ECB211C7E036098B714E62F7BF2B6975B1E95FAA9B8D02A73A + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = 901C6D85509F01A47EA2E2792A5DB728EA39E5703EEDEAE41365EDF10A866B922B1093E52E687E312DB129DA1F053EF6848CB0B314C9A3A999EB3E75E14C9CC2 + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 4CC9A61FFE08984417712B80F962365AF36ED66A8AAB2A788D22A5C6B23962D23584638E712E9183C0A271383DB0877F722D399116F9BEF79A56AB096EF21749 + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = B36EA56BB6BF80D91D5A605F8409AE6B7D879EC40815B35C664CC6B01BF6C718AD464F15C34DD1315A79A5456B6C3F8ED89E60390BC71EF747E12CDC77706245 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = 8ECB8F622DAB7087E9A95CD0341192FEA6B1C956DF9AD3DED823948B7849C4F3150C9559520953EBDE98ED76F6E43BFE4FB25FDA712525C6D3DAA80323BE8E4A + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = 519215DA34ACFCD62DD617ECD5978365417D57C2671A7B48655B89F448B23B128D3AD04910A1BBBDC00E954A1E49765176A8ACA4C37D56ABF0E0B72E331A8D7C + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = 0D1C1AD4E1CFEFEE854C4A739A0342E39D700DBAF4891978D7C839E87C680717D63AB4AA1ED7EB657CED9F8D2CF47204262E609610842FC5B219ACFF7EB188C4 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = 0A5D9EF40BA2B98EDBD7918CC6779483A1A00BD94CC1E1495495CAF6CD47C6239571C3828F4565A0D53786781D712C10EF7333227F651974628887D442A5EF9D + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = EA83DE9AE057701F6EC68FF67E92E0334C18EBB79AF1953C2514408D58E69F105441642A1D5B7D6010F7CB15D131DD531855CA337A7B0B794FA6D6923F017AFA + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = 6651C25D33D10B72535F1DB26A1DFE2EB99CDD505448018589B5B88B7CAB63EB439C31A474C6F1191DF14EFC7D0665CC7B82A7DC54A7C6B0C2FD1F75C30D6872 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = A754652247F7285CE2DD8A10035C69961E4F9C025E1FD087CBD3126E049A9E832C3F3A491FCDE338B8C01946CDD7DEC32A8FD7ED1CB3045BCAF3398905B1BB42 + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = FC1127F6650F32638453AB773F5CE60F9F6165BC9928EFF18C7A3281540C7A615D2D62A92E557D4A1EC1229E84819D2DBF06CED4DE0FF90040ECB961D678E181 + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = 43C21BCCAC7ACEE8ED437B874ED7CDF20EA2E9DC98AB82124610DC4F8416248B51309045CDFBCE92EFA9E56C5B36D6E5D27580319CE69C22E5D6C87E551EED4A + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = 893934B8C630A9BF713C64FFD1128EAC75D1CEFDEF6642FB27F20CB56694C2FA8BA6EFCF3E0E56C7789CFAAC6B2F7B247DEA8367FFD269E74B9CDFB0537031EA + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = B4CB58D8497978916DC362D37ADE12C7A0D8FE3B08B370659B27218291E04EF343095A91887B040984CB80B0C8611FD12C18EAD37B95320D59EDDB32113E42A4 + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = 35C3F8F0DC28608EC942CB6287482219B42B2EBCBAD92B4C34E77E21B7D93B0E85EBF483DB2D4A979C48E58F746AC3DCF563CA7E1B2940371D8D83BF0795EC45 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = B90E0CC6BC53182C4F2D17AA51391C8250C3032A12DAF2FCC641B49AA81ED9449403567B75D4121376DD8CC2D2BDBAFA456308AD7C0C13BA85619D75350727E3 + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = 99497355AE1791799D11536C73605CDD1496C74E3E930B6272A103C3AA8C984D2D74B01AE72C94F2A4D3A069EAC6E00984D21EAE3DD7B32AD082B396601093BA + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = C98265396F3278FC532125DED097A6851FC5BF37CA32EC26F43E64874241309F568A217119BA984C54099F8899AC94B7900A4DD9D3877E18371F5DAFD1921F08 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = FC03BE193A5ED0E6B3502661C2D9E4E2A503CF3FDB231526A90C3C4C26089C787EE6CBF50D90AF61C17C5DF0B29C373B426740CD0D6FC370DE64EB2164BBAEB2 + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = FB9C3A9183B6D251BF61FAF1843455CB9C1BE35EABDC131D5BF38E98337934968291E9D6DC104374BC234FF22CC23CD6F338E7A3B019CDC9DF6E3750B6B01FDE + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = F7965B71198636F162D5A4E08D73E8C8A9AC1ADDBDFD7C180C489CCA7360B3FEE3A4286154460BF867923B348BFE32E79D9139A0CB52C46FA20785FAEAE0A8BC + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 5337477487A0AF43EB7B995293CA2BEF6EAB2432B1333DCAEAD7064406E22861FCEA623FD8B85B30465787352A36C943610F1458FD22E3F55DDD195A6ACAA374 + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = 28AB5C6298A602AE51EEEC4080245F7CA10F9A8C304F22B5AA88D0E49226C01C2FD3CC5D8E99309767816E4F6D52719876065495DDB61DD113CFFF06B11D8604 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = 2AEEAC015D93245F6BF727CD182894097B902CD407D7E0DD06DA1A63F4451C657FF39F925E7C8A894AE593D11EBC2D5D1DE3D9A18018806719277D993F7FABED + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = D0A119617B7E30C2A85ECBB3BBF325DDD589431C8C2E2F9FC6E324A6ED8BAF11870A80556CC0688FEE4DB70F22B9424B4F37A0F1E7EA314684DA31BF473B3F34 + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = 1C88789885DCCC9AE81029ACF0B6C9D083CDB9774C345F1C755E54C45E9AF63A70DC2ABAEFEB1AD416F1BD3D9B69D4C4404D22C85E636A4703769C0112B550B8 + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = F52D7DD7FF248A1BCA7B714F14A79DF5766FD67C0031A471CC509F3516D7C348C33F7D4B1CA331B9323896B7074E10A891CEA851F9AC20245812B8CFAA556352 + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = A8AEE42A77C9B6387DC97319581959D9BD878D061487FD069ACA04D6F84D347E23587A6C7C56329B2DF88C56C7100ED51ACE5B5F778D65478F059CAFD6C098FD + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = 4B961C4BB6035E7BDDA2E1A3B6F9CD52D1789866044C4A925693BEA88F65D046238BBEB4E7D3B060E47288041407392B291AE610BA70D6B4D64E74E7A7D0256F + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = C0515B65B640B3FFD0A1582A54F4C8FB35C109B7FB472666E043D3C00AE3E0E0FA156C4CEFB46B5B7B4C0E480623E1A26018BDAEDC3E27D9C0D44C3E1D862015 + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = 45C584564D9E0B8239CC1284939BA407A8E5E981691EAB6A04D9354C9C855E400B3037151122CED237636E61A7FF2905E0213A6D07306C459E2189E3E6A9E0B8 + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = 136723350857E03756F02E60451A28E711611927B8136DCFF3E567DC618FF36B3100737C9781B9C84A576745C1E6BE030DAC8803A71464AF39DB94D00253AF3E + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = C0F7713AA021A04525F751722A9AE5C4C7934D0A286F1FB05823D86A96251C04DECD960D8D4D66E2C565E6207A49612E1EFDE386536854B6AB9A4807B0A145BE + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = FE1CB67D77FB463F77747FED292A989A341044A8B65FA1DF1441AA41A5C795916626E0E479FD0BA7F9B1DC15FED245B99598D35359834E8FD25CF19685219BE2 + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 4043CDD3F0EA793E49A8EC382F8071F6020B529CF8C82E969429117B362129B7689D3F1EA7FF77EE50263CECDAC5A43AA2AEE97CF3E665CCF535F6DE65AD0100 + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = 7392BD445F58CD5D7D3CA98579CBAA9A9437D0C95E7932B4004117F207F8AA39156BC42537B0C790150D443C2D68C2C43E362DF9D019601797162E63076936C3 + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 9FF0F0D70CA076CA44C353A3C678C2095C89F619BB53EC9CB4888E2F14E50FBC146A7B521356369F1B9D5665836E45D5400F9856CC6DA3B3AFE6F3B0471FC9C6 + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = A981FAA9D3CAC492B2FA078D1158F81248DF8DB36ACBD5BAD3A6C633BBE500EB481D2937BEEE9A76C84EDCDFA0F997EDCE708F07851422A7597E2463FC1912CD + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = 89025C13BC6B61A1BFADB1D37D676E49E6754E9DFC00D52C5EF13BA57C845D14AC75D5AE6F06714028103C3424717F4C2FBF6D88D055690987620AC5B440576A + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 1545D8334836F7436F77F21532F5D3058E351DB8357EFC1E089583A0C40AD3A6AF5F2FEE793D3FE1B4721F6817A373499B20912A35C4609FA9D84BD274E978FC + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = AFAF201BA353316C1A7B810F120CFF941BB658B0763EEF59433403D8313B8F00BF18177898AE71907D3B524E68BB028EA1442866856111B12089BCBED177FD46 + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = 3FB4F21A231973D2247F206D47B19EE1551647FD4D4F21FBCD6F653577C1AC69EAE4DB432C0234ACBE17B2CED0238A56ACC34D7BB82FBC190903035B7C538857 + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = 0B1C53E68667314B5F3F0F30E25C622B1A86D10701D4A0473FD40F22C50ACB47D63EAFA582A2FBE5453A3F73BFBCA923680F4C2C7F99C98388C07DDD7AFF2C6E + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = D836D0CE3A28AD71C3A876796BF65AAB838D84E4802ED49AC04484AE06AA08ED31DEB5C38C1022F0ACEED49CB58E38D3AAB09EFECED9349FDC33379251259826 + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = 61B8A7520DAB4D395044B1A9CCC4F5263EDAE0325767E3D2A0EF225933A81F7E3796280870DBDAB8457D585C4106315B537653DC3D77E915100F421DB39F43B3 + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = B847B292818E800BAA415C2521A8158A6AB749934DB693D0D2E4613CDAE60BD56075CF2C29F587DC3530164190BC2C02D97CA32347FA2AA431E511BB7D1C87E8 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = 95ED6D8567774E66404FC32B7A01E1C625FC8322AB9BE0CD7C936731638B04C09748973D95665A35B218D1531411F3AA5E5C47E65D857A43783E2BD3C9D29005 + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = 98350793FC1540AE72757C2D1BA0FA34DF1923C987F365752788E3C65931746C36D13FD293DB8EA1B6374872CCF74E9B0CFF67C6DEBB4263390CD96E2BDD864F + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = C2493D60E1EFA6B472933EDE64D1F49EFF773635F66C6454E57E47935A0F4C5B94548DA5C369BDAC7146E54F017C3FD674CE32F8D95151C7CBC3E3BBA3EBE0D3 + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = 70D7BA6585CD2EF91BB261025F9DCC80F8359C9DC30C7C2961F0D1F6057B9C44E3AA67A4BC00F137886E3CF1316D75F8EBF651C79DF9A99CABD0383008372016 + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = B50D0DA9B3DB1545CC1D2F35465C74D07543B3564249F12C546A08797EEA73326CE624203A3D25C92CE636BCCE86DA9CB9F39BC755EC0F39C090A0E8A72DA70B + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = 83752A88C915D4193296725DECC50C9C05D25D6BBD9AF2E0EF06286ECFEE961DE959BEDBB130704D432C2BC89930208F450E0A022661724043D268CB24E7FC47 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 7288424BA855A76C7480B606F8F32E94396799BAB8BB3FC8FD21D180966C64971071E2645622524EC7D1645EEA7B7C1FA21F7F5B6B90F3E5BEB99222F05EA905 + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = E9399376D89C4DD4464E45825F4302CDCCD4C41DB4E8951BE17BCC6451858332398B7E4E7F5EEE6830C715451E4AACDB179DD5247BA6D5728CBD4060AEB77CB9 + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = CCEA447EFE6F8B06AC42076280377635F5FD0767F4AF8B245FE63B79FE4974E9156744E60E98D12018214C39F8A826D506D0D5948645E9F883C208D37D927A41 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = 7E03FCE3B67EBB28308823F56AA93DBB4D9EFDBD93300D97B1F99EFCB82C3684C5A5A5AA64E7A34C69B89399CAB05F22E8E88607B863336E4CBF8CF6E74B98C1 + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 6A457AE74F89C42BBD2BD2EBFFFBD71F036FF7B76C4AFDDFFBD52F32E588A9543CED09DA9A3E130AC1A19EF1ACB2FA68AC41917ED6BAD37A60982B16B5EB4FF3 + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 91B8CD795D1A6828601E00DB0C91FF9A6F837444F53FCF89E990B88F5F3E34EB490E72A1795FAB84F78DA3F7AFC89896C7CDE5865D1BCD74D5639E4903C683FE + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = 7635D79C1B32E4934EB0090C6D46C0B240F626C77D84F8EABF571BA8FDE924F4A1CF456704B101F667F912DEDBBCBEFF2180A419A68C7B790BA606E6602D5115 + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = DDD0C521ED60C55F65BAE241A9072D7F6F6CCA7F64624EC92C037BF8BC16F0602E75EE46879AF41F3EFF5CE235905F3856A031C3CC90A4851F4CD8463AAE6DE8 + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = C84C03564D024F90560001CA4CEF867AF77999943E313CA17328756C43D2FE31CF98812D3A7AAB1535C28ED29D692DB4824E8D6DCE06C9994DBCBE0F82633FBE + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = B4563191675191ED4D6107E52FA15ADC9D70642358D8C3E34DF10274E25D373FD8D19E92472B823E28BBDD1D541A95FDDD0D43C79FCB3BA18A7EC038D3EF69A6 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = A30BD80CB3ACB3BFA7E037A3D0D2500974D71957F68135133020C32EB4D688F132D0FB045BE027F124B3D935CB889E3CBC4A4A420026BB2AC2A4B1B15C57BB64 + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 4A5809E457F54D9C7E8209F6C482D52A4EFE6D8A20C4C6FBA83687294929232D25CD7BF511D8E6FBF272E983F07D044F8723098D7A381F04E957B0787087EF02 + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = A79016C34BEE41AB5CB10278478A5B55D07C2E0831835DDE6F8FF8DAFAC37A5F88FBA07CCEFFE35849DBD123B06DF2335B002645D078FE1B08843C257A1BBE56 + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = 603F7B09565634D4410B574A4DC9EA467437964517E5EFA51A362A30E8C632C55162A3351BB5532E40948AA9A1E3A8786C0422AEC3EC338C7F4B57679200452B + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = 1018692D530C55BAA580AE1E7384351100D4637CD33869C71E6076A3D4E310D964B81D593E89718845AC7A89E8AD5073506427C6C8F7FADFA0C5DC3CFAA5D924 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = E3C0EAFFC3567BD72CC02150A75F32DDE53DE2652C5313EB3E97018ADDDF629DA01D97D0A9E2519451A7292F5DE00EE4456FE6E4F14F96D5DE7E6F174EDB28C4 + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = 192AE7A0F7A816FD3D4020BDDCF2AAF52A64E6384DCA527F33AF4EE69099DCA97B890A99CFAB9D904A35F2707856696C30C6432DF70A6CEF704BB268055A6D07 + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = 6BCD7E7C359FDD93A56D79F97FC2D534619F14FE443AC8C9E042C5105FBAF2777718DE07424A62333FFD43A501A8544449A7CAC3C8D821E380B0CB8172B9493B + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = 1FCD1E38AB03C750366CF86DD72EC3BF22F5BBF7FEA0149D31B6A67B68B537B59BA37917FD88CED9AA8D2941A65F552B7928B3785C66D640F3B74AF039ED18CE + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = F39EF0626D3FBD9CD435A93E7EEE41E4A2FF5362F56C988B20870A3BEFA50470DC5FABE39895C0761289FAFD9147ABAB02561F300D0CEB9A732E14CA887CAF18 + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 81E8B59DDCD24811B405F7529DA125F0DC19AE21E8795CE9E6692DAB645B7959446ADCAA3061DC4642A51D8A562EFB03A7680AF0F52C01406D5C213EAAC6BE55 + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = 63424B09069FBD2D0FAC00805AAD07FD56E30BB8116B5476AE90BF6ACEC84C3B45368A9EBB7FCEA8D65965F52514A2A59A06E6E06B07DC6AEE7F756BFC188E25 + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 1E709FB3501FA818F57E70C365DB45CCF2EB8A8FA66DE9B5F211D6F0CC9722ADE963C965AD5F6937BA62EDC2D8983843E0F3679D9C97B30CD54F2409DDA5F474 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = 5B9F0C544627FAADEA82825A569DA33A75C5DA6CC169926DE0556A737E4DAA07ABF1DC3DB0704F5D67FCBC4CB62AAC442ECEC867A2C16846F1D53D205CB872AC + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 930AB42A9F5F5BC5F2222C748F2478A00F40C3B6D6487D6D7ED0D71100F40FCBB2C66566EA26AD0A417629F5A61DCA411CCD21F7367D308F3B1B24901824FA9B + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = 08203943C58210D3F82758272BEFBB9234FE913409A07944645959B1A6AF2F4363ABD7451232623DAA8E65C87F34939C140608950FBDBBE83D66407944F5423A + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = A24DD6A50333F289C175CD4EC185DA9906E38C287A339DC4DEFAFD71B2EA32A6F6AEFE758E25FC8F043E806F1B2EE019E13B85536CD3EFAA2A9B5994FCAE4788 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = CD1ED5FFF6FA3D453872510B6B2712EC9C6EBA9543734D88511ED475905E123ED6EF6624F220445FE89C257A9F9C5166A2772EF768B50E9290FB1D4761ECA6C8 + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = CFAA0EB1C9F02C0469EEFB31A1A53CA1A4765F78EC171CF15DA7D5C512817B8BF7D7CD7B1416B3DE2BBA05EDFB0B493495AC2107A4B686D5DD8D6AD41B4AA3D7 + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 2BE71EE9ACE2DBCFD43D6D020C07244554DAC8A2CF1571D0FA1D004933739E8978323056797E04C333F5BF187E64F1D881E502672567F204DE0E73CE26E7190D + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 6E8B8BD195BDD560689AF2348BDC74AB7CD05ED8B9A57711E9BE71E9726FDA4591FEE12205EDACAF82FFBBAF16DFF9E702A708862080166C2FF6BA379BC7FFC2 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHAKE128.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHAKE128.txt new file mode 100644 index 000000000..2b9b6621b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHAKE128.txt @@ -0,0 +1,1029 @@ +# File generated with ../../loader.py from ShortMsgKAT_SHAKE128.txt.old + +# File retrieved from https://github.com/gvanas/KeccakCodePackage on October 20, 2015 +# Keccak(SakuraSequential|11)[r=1344, c=256], or SHAKE128 as in FIPS 202 standard + +Len = 0 +Msg = 00 +MD = 7F9C2BA4E88F827D616045507605853ED73B8093F6EFBC88EB1A6EACFA66EF263CB1EEA988004B93103CFB0AEEFD2A686E01FA4A58E8A3639CA8A1E3F9AE57E235B8CC873C23DC62B8D260169AFA2F75AB916A58D974918835D25E6A435085B2BADFD6DFAAC359A5EFBB7BCC4B59D538DF9A04302E10C8BC1CBF1A0B3A5120EA17CDA7CFAD765F5623474D368CCCA8AF0007CD9F5E4C849F167A580B14AABDEFAEE7EEF47CB0FCA9767BE1FDA69419DFB927E9DF07348B196691ABAEB580B32DEF58538B8D23F87732EA63B02B4FA0F4873360E2841928CD60DD4CEE8CC0D4C922A96188D032675C8AC850933C7AFF1533B94C834ADBB69C6115BAD4692D8619F90B0CDF8A7B9C264029AC185B70B83F2801F2F4B3F70C593EA3AEEB613A7F1B1DE33FD75081F592305F2E4526EDC09631B10958F464D889F31BA010250FDA7F1368EC2967FC84EF2AE9AFF268E0B1700AFFC6820B523A3D917135F2DFF2EE06BFE72B3124721D4A26C04E53A75E30E73A7A9C4A95D91C55D495E9F51DD0B5E9D83C6D5E8CE803AA62B8D654DB53D09B8DCFF273CDFEB573FAD8BCD45578BEC2E770D01EFDE86E721A3F7C6CCE275DABE6E2143F1AF18DA7EFDDC4C7B70B5E345DB93CC936BEA323491CCB38A388F546A9FF00DD4E1300B9B2153D2041D205B443E41B45A653F2A5C4492C1ADD544512DDA2529833462B71A41A45BE97290B6F + +Len = 8 +Msg = CC +MD = 4DD4B0004A7D9E613A0F488B4846F804015F0F8CCDBA5F7C16810BBC5A1C6FB254EFC81969C5EB49E682BABAE02238A31FD2708E418D7B754E21E4B75B65E7D39B5B42D739066E7C63595DAF26C3A6A2F7001EE636C7CB2A6C69B1EC7314A21FF24833EAB61258327517B684928C7444380A6EACD60A6E9400DA37A61050E4CD1FBDD05DDE0901EA2F3F67567F7C9BF7AA53590F29C94CB4226E77C68E1600E4765BEA40B3644B4D1E93EDA6FB0380377C12D5BB9DF4728099E88B55D820C7F827034D809E756831A334C078FC28ACB76B5ADB3BFF6DD659CAA49CC34F726880F293BD3FC132027AE7602242064EFEC4D9D656E069D4DFAE0B40C1D6B6CDB21D89D00E168B0B74D72EBB3B672B57AF3E99C85DA2F41CE70672CD0E0521678FC56EAB6314A0B3AF8B724376C01433D84943A73AF703D293634BC24322992756EE261FFF0D71BFFB8AEBF1026A6A345F2EAED505BC7E02498A3225FC91499DD5F5E30E386557C5FE0A88BC2337C80D7EA42B60622960230577CE800CB63594F619B7DE31E026429B7648C5835AFC00559FA4C7695D6DD9F7B2537A265E9AF7A2C986F8B60E7DC6EB3C4D805A6EEFB6FBB5BFDE21ED7E41CFDBEB02B0BAB76F9998BA1E52815A246B084EFAE7960AFFC2BA5C647E7CC05EF8120568432DFDE1D7246473304808985600A1AFC20B99185AF25E89DC2EC6F4880DC79BAD50DFFCC9EA + +Len = 16 +Msg = 41FB +MD = 09C9652BB968996A35E4814E27587131F53FD01AB9FE83758ACEB8134FCECA24C84F592CEE43A4476E8853FCAB7DAFEF7B60ECFEBFD70DFCF587B3AF358A286FE3713BF4735A84975BB65E3586C81EA716BFB999626DC973A495A6E0024061387D628E9E59DFD2B39C68C8CEAD665AB43F6D2625A10630761DFB60276EA97B280442462246C6D74A1960A8419A76A37B68449A9E427D6A7EC1FBDF4760847AD6F6F5A08CEFB767CAEB6C2382F4F3D0E49DE4428CD4240635C9136911A82FF0B9C74569A1B7C8AF72AB1EA5F2F6F6A45E3BB08229ADDFA916B18A74F7939C5130152AC8343A10694154FDC6E1570EC7ECABBB01EDDC92EF0BB1B3DB914C74CCE399ACC9B766FD7494B2EF27AC57B80D52535942D55E2DBFAA61CDF3F48759AA612DED11421855AD15FFAB91462A56F873BBAF4FE88457A47B6C0594818D0A9189895239C1429ED8754EEE5498F4D0FB6C9D0DF0EB5316289E72C6AAEB8C61317B409156D4221CE6CFC7C5F39272D87C2D884F88F1B8B3C05CA9E235ED92C7DD7806CDADA7166CC1B9107DA5E6536D4FF111BF9199D6B72AC17D874323D68D76AEC4650F1A4B067C50215362201A7F71116BF6633AF08D712804B83F08A5DC7CCD4315963106D50453D44EFF59C9C652F4A924BE93C0B958EA286B0A4B597899A28C9BD5419C042668AA7B0CFCAC4CDF9260F2824ABF3EE79FEF53EBE3C36DF831 + +Len = 24 +Msg = 1F877C +MD = E2D3144669AB578347FCCA0B572783A269A8CF9ADDA4D87782053D80D5F0FDD27835CF883036E536CE76FEF689A5E7BD646A7FB7D74F090193B2390E614759B7EB7DE915A38328745890B1EF1E7AED78168E996D7AC774D47F8F118B3E00A7BD151131BA3705AE81B57FB7CBFFE114E2F4C3CA152B8874FB906E862840624E02BBF9502E46D8888433A38E82E04CAACB60019222D433E8F2E758BD41AAB395BF83611FD0C3F7FD5173306182449B9A22C4013F2263B41EAC4D0EDA16854961FBAA6AD04A89E72A602AC59659EC2A60C1D020BACC74A711D4254A2ECC5F8F0627B4F72AE130C50590F8B91C52957B795D12DA09BDD40D41E3CD48E30E37FE5FD0B86EB38AB4661085EF515E70231A5F11F9DBF7433763B17D84F36BF42FB6D57789C6DA2BE8D205EAD87BDCC3FA6AC85FCC3E70571EBB2EE4BBBFC04E71B3A88E000464608475C94C7D7EC1BBFCEC980B166096E9BDDE9192C53E350D3B92F3AB0FCEF4E49E05BBBC18B11ECA942C8A0776ED4F293B7FC9B8E7C0303A29A41DE64BFEBD2967875290D471640A914B0775CDFF140B2B66CB099A05F5357C9D5E7F9F1D78B828CCD23FC7CD58329613DE4BE9869B4F2DB18F5792795C34C43D23E2CC5525B4A363A9619AD57E42C36EC459FFAE56B61717EF36AFC9FBE5A72A7D23D435B2EF38A2B0E22AB5DFC8BB8747B6EBF17A63F6368795C6A16DEE05362422 + +Len = 32 +Msg = C1ECFDFC +MD = B5EB987E7CBFC7C9D140AFD20B500E30F2F71188BCE885951F22FBC35DE40E7411311BC8479F895A069600483751295F5C3855474D65436B347608583125A6BD41CA30DC99CB342B72A96F8A2213E98A16BBB9E38A141B4FBA68C1A723D1D578A91B4A1BAFD03B25BD3CFB6D4E1E044637889C6D7AF0209DBB5E10837D5C5991D2766012E7E86A82838B455B96D882B7E25C9072A66DA22B0ACB992FD3CCF5FBC28625B896BDF8D4B7358901D12698FD823FE09AFB4F238631EE1277752F2900E38C7FC163381A01601DBDE8CD30A9A8EE8353DEF6C610B50962D0EC1F4F3EEC2AFD7FCD5296E299C23005960C1AABF3408EDE96DE18E10FDE99774B5BD33092639D8BE9D872130C96311EB6DCA82CC28A62C01E3F9C454251D87FA890284C06187F904CF23CCC62690628C590BC8B84EEE68371D3412DCB5648A634F2359951CD011028E61C28A33EC4E31550C1C0E4123D1091E22D56BD587E73B7DD43C1B431D9547398C5E7EB6C682EA2FD758C86C1222C0D6AB236B8106DAC19338E86CB8F6EC0FB607D70C938CAC172C80079B018BB62939546505B8B6E146A3AD7A35F20D7F9A353F1E6535C23AE93CE8F78C045402E707A664F5918E6836D343240E6112EFA29DFC4D18778C91E2B8530E4FF6E4947623D31DAFAC9B0D194E36C44E10B1A846935684F89ADB44782E8FFF2E3E62B65D18140F10D36CD817F835EB0C0 + +Len = 40 +Msg = 21F134AC57 +MD = 7BFBB40DA3704A558291B39E1E56ED9F6F56AE783270AB02A202060C9173FBB0B45575B32348A6ED2C927A39A30DA0A2BBC1807497AD50F27A107754AF62762C0B9E8E62438101DECA378899C521CB76C75D299EDE19BA70E2AB91DA9E39EBDC917355B6FE28EE254C0CD48F3A28FB51766FD58154C98A5C650A4E4841D14E2C8F5BAEBF5AAF2A2120279D2D33214A51CA30C4E05209BBD60106CC343EC867EFFC826CB32A2E736C4AA561FFAECB46FFB74D1B3FD36242244312067C7CEA2EBBCF988E17742C3C80E8DEE6D509997866A308C101214F860512D38E3B6C307C1CE779FD42FDCB9D909A2D6F9DD5A3687708905390479950D55E8890D10D7057863CF006034A6D01D77FB33C0E28B093FE3337BE8416202DC866796739271C9E326199092FA27556C9F40D7E9BAC869B6D7E8018409EA92AF2464C58245E89556DA3E80B6B4200B9E53FC80C93149E3DC4921A5FBE7DF67F1D0B753CBA41B75EE5CBA78A89A2A85A46BBFAA625A40EE62616E68B07C06339717C81B4343760E97E2676C347D9625ECE383FBB8448E7837DC704E2956B18CC506E3BA1416C936BFD66E9AED3A2C7B0A8DEDADB04AB711D147F1C1C83322EC1E6F1468AD770663C7938D4032758462513652498CF124B6357B4F7C7E4DB0D0C0C1B7247875CB6685E0567A8AB8CFBE9383DAEAA27D224CA9C69C07AFA929FFC09A03E165D72153AD2 + +Len = 48 +Msg = C6F50BB74E29 +MD = 8D876C67A5CC15A544EB81E93B6FC15713FD1C55D778204EB6AF7086AF3FE97D12B4DD22C7AAD54EB9C9E391B90A7C55ABACC3C81DD1788895F17033D561060E2B9CFFD47974F196C6907907DFDC65CDF33BAAFA7049635A70353D92A56A59ECF0CD291AB9B509D296356E8B0C91983D158DB1568681DE035E56B86EAE32AD3E0193CB816BD2D111C266632DDF907BB276E14880571506E2C328A3EEAA9744210EBFEAD123E241A8C49C92ADA79B718D970F0E8525A60FFE9074E73491E6F0EED1E047EB95CB52C47F6A1BAB77017D020F016B64798E5D7FC360D5FA213D44E5B75C918C9ECBB134CE1DBE13C419DA62326A550AD4A22E171CE75A369BB820CD75FDE01993CA131F302BE7941F7950A9969D78148FE7C45BBD22FE83AD0354194859F2F0DDA1C92F2C8EDFD3F7A9D8F618D0D02222442DF41D858CBB7A46E5B12A0923DCB53587957EE07ED3E1C4A46EB1141CEE394972726DD003239ECFE8FDDC4E58C50359AF3F89FE58F5CD5AEBC0DC6B9D600F3ED08506256F18695DDC1E3B459AD75090F0764FA89E5CCEC98EE0B387B5FB778620BDA72CB3E2AE50DE8B0D6B43F26E13A16FDF08BEA752B457BF486CE427FD17BD4C5890A89AF2C85B292C51CEC75490C1C6DE9D60DC49D3A77EEB7E19002150794234194115BC685E9981F88B0E1D9C6585F2C5F9DC805FF6C7636C1E06D9F5C018F74A2CE92EFF6B26 + +Len = 56 +Msg = 119713CC83EEEF +MD = E2A9537BAC3C4DFC9008C1A7ABA653883D7A1DF35685DBF49ABE5A7E93BF044BC3312A5E4D9743D72BD28ACC16F64AC5090A71761D936FB9DA7C782AF9BC1F636D0E17CB41C7E0E9DFBDB2017ECABA6DBECDCE2AECCE3ED4F59324E74D58D434096356E567B35AC85F7CA9AB80B1C987CE70F998ABE6536FE485A866A22CDCC37DB08CC742B4612121CF34C2D404B37E8EA8D90CA9CFD0C8C6ECB6B44BF73F4D048A0FD85591D8726BE6246DF406472CA05D18DFFEBEAB7ED991BE6CD2940EC9B26F9C9219DFFFCD721F5DD93CF5342A89A6C69168871B14934D4F1794E14B92EA991A78292423F5CD0A5D3454E55DEE27077D6AF78D87BB3FB9E139331ABF326FDE2FE1D3B1533AA038BF59BDC2D6333F968611A4F9BA66EFE92AE8C099ECFC1A36BE726816FAFCC0B016C58B1E42D2CC7065E71ABBD7CEC1ED547AEBF46F5DD72BD472CD764CCB3C4AFACA540BDC27F52F63151E9FD90AD5BBA7F84C9EC7E996692B842FB1A54D2860A301A9DF6F357C2E05C14154F5FB77A86E4DA9E9A039CDDEB10D6E5DE2E0A585B2701D48E8298BF71F5F72351F8EB3FBA5426286A82ABB75EA46BFC0F65A2E49567CFC970C36D63B2CC73AD7F9791179B1A0C4D84651DCE57B966410CA23CFCB9BF5BD70D56F5BF1A7C939DE74924EDBFCC614113C83803B123F3EEFCE2C809A7A9FB01C709BC09B5F7632D6B59E31A6469D90185477 + +Len = 64 +Msg = 4A4F202484512526 +MD = 977735A853D872FF7C17C4A825AFD9DF886AC43387DF245C37A608AC7F4E0ED015811167222000AEE1968960174EE5A39369A23C5DFFB4991AD247B8801DE71BEA97069EA77202999F8E8CF3829816EE598B00C4049265DFBB2B138B13EC3194B988242BC099248BAF9997AED80E95B5F859D42B12DBD578FDEAE47CCC2F8D3E90BF6E8D98AFBE2F4813F68B6FBC4C18C9B8A557A0D87D744A4238D89260941030945538B2DF07E05FD45B50BD790A0510ED4430ADB3B7768DF8C4914E0914FB00DA09331F11371052D301031853C7F3C32528C0622A77C48463CD1CD96ECF7490F70F16E941CBFADE71DD8477ECFF1177B7193E456ECC42BEFBE070667D6F39ABEE5CBA354B33A83602C1C17280D2DBD0CE597ECF1FEC3B27810DF38C2805D8B85D60994EDD2C83F5898CC6623241F16C4C92444FB6A0714D8BF189AA5AEC9D5BF1448805764EA0CCC8B6E399961DFA7CB9D8DE8D800080EEB5D010BCACAC6728E8DE482C37270459DCBC80F496267377D97817149372A053B2D53209C2DD61216CC3AAD29C7238D6B142D71A92CEEE4710476C2A48FADB683B9423727CE772FCE2BDBCF781C119FB43526B8EAAF1D10F21E586952227E29BAE61FA2C7EDC6260F76AB543244E538180CD90C207330EF29CEA987F7ACDFA028A78D3E93F11EA159B21BF3F50FAEB7961874E816162D42735C9D3567AFA45D1D8B66CEFB58678 + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = 1D96E0454BE037D890FBEB776CE5C922BDFB827AF1D1ABEE1BC8B3AE95453532D40C0B3F9C93E400FF70F6FBD4DD0470DF1F06E04AB4A596B6F92BBCAAD3650D60B940096260226913435C9BBF5F29DE8BCC9721748E3F1DEB7FAE88741084507E1BA72A267C2C2276D8BD8ED284578B46AE81230F383214137CD7C190524818576F77B0A53C3421E0476D91E11BAE79ACC4995A24FD1398F6F67E22033BC381ABE6DE4E0563238FDC39A1B305FA9403EE35800432999EB3421C8CC17F77F2A544957AFC2CE9496D2B739511B3CC52DB118EE874E43E95FA69D7EF024931377AF86A9448F3899DD0A87EDCFECFC1BCF7C17D470C71CC488744F2B627626112AEE465ADDE9C6719AC0F6E928C77B0BA0AE8A5CE20005C46768021438B611826675E0B94FDC7484A3854936216E2239650C794EF001EF8F9F4CB440664472445875D06C519E14C957D6FCFB73FB72B46CFAC4548BA94B95979FE5FEAC07035E0FDD21AF7E3B69228AFB2D97F2A333A5D40A84399C6D4F5A7EBEF9ACD08D66C2781EB9085A42E38C434230816B90DD838A2F10E727EE5F58D7469B47FD5324EF53A88208C44943009AE7A2803D55760A6AD4BC6E961C8BCC7F7F5BD07DA63709D85832E26772E01886B2D5B73CA488B8402C6A15D2AEC605D154F9A41EFA93601D26374D3FE8A5337E98BB7A1B5F0071D3C8BCB69CBD0B3683E7A494808C9BC4490 + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = 0C5DB5EB4C5C83FDCEFE9EF623596F96D2078C6DCC5D9B5E4F1EB5ABBEA23ED4478895D9D9C8FDE4733933986C6CB4D03AAC65DC7BD628169785CFC5D9D4D33ECC7C6AC98312F020B117C831B2ACE85E1ADBE0A5349BBE9FECBC6E998C6DA1E2F333C105362506766D105F707D905CB616D8BD4B23ED5072E3F4D42412E3ED6C894CD37D8F9A46BE6EF9A53D60254F4E9627625A3671B234664740C24BDA608A44EDDA0CC652B843DF722AD38B9FD7F122C89D8DF0A68E03FBC0320BBA016A0F3C36FBA6278F9C2AF9BCFC9F312CE55F011255332505FCBAF0ADC512864D633CC0FB4D81BAE980E9522AEBB2A07199B238592E4379537E045CCDE8B0FC44B2781421DC657938851324F5FB6E1B7D9548A50CB6C02A71B16DACE90B84EF033594B2F0A688F6F9719A1008C1451353F8895AE1B7B16B27AC94B67F390D9586B7EE31AF7B6E7D110813A6A4E01D4C94F17A1EDB0633A1C4F69DE184BF4315DC98BD453FC22EA11F8EA5F5548C5DC09D3F186B40C4783AAA4BDE1A8F2AEED007A0BE440BE16649111921F779C7E284B8326785D87C3DF06A05B3373E88526D9E8AFDAFD8E673D1876711FF2F68ABADB7CAD4545F0DFF64BBA98C86D7422C4DFCFA8F2BF7D72FF0617BD076B4DE0B457F5FA2B881FCA5722864EBCA11602923BD0D6B21A9D7101ED1F34AD480F8F73E2ADF821B2B259D6DC535AA94D3CAD7158DF14E + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = 055C0A829125F20A0DBAA6106DE95579BE4188363C7D7E3F3EFC40AFF360298897968B250B8410829CDDCE5EDC80B764A5AFF16FFF1C3D29614C6BC4C80D095F0C73443E8FE596C86C83AC1D9BA69847F6E64CA643EF3D7010C5F9944A660B14559FF27D4A5AA9862CFFB67B47810D04C736BF842450A7E5239C5D2C61087888EB892B9BA495EF7031FFE2A56BC4E8FE4CA92D908666091D40F8DBADB0186DB30AF31A4BCD3FAF962B56271A4C5C4A02C75F11D13F3DEDB0F57EE554B9AA47B19109D3CC2AC58D9C55653B42BF5CC3C8143481146BB54B6284077E94A6B2DAADCCDB3E85FDEBD9003C12FC62DFD07DCD9CE747893DC611EB71580F2AFFC624958E1C78C1554706A1582359F6962ED70FCF82FCCDDF9FBFAF0023FA1FE771D358A5D69E6F8917EC3425543557ABA96D40303C5034FC7A873CA12D485998A856DB5724009B884590C284B685DE5677C76944D07DB1FF855743587374D9F0AB70136AFEE1D1EDF962D1AE9D9DB036F28499ADE8386E78D2D54F8F54A85EF0D771750A5D51511439ECFAB2A486FA1CF77E8973E977BEC186ED45F6C49845E9E19502CCB3CFBC4F2576D9D30A003F8C00DC209EE68F147CF17BEB5E5E410388A0CEC4643A3BA24B6532CD73DB049B74E4EC5DB415586095378297A60C2EFB70674C473488385B47EA9E9D39952AE9A515E139B20D76A30E65F09B7D701B3172899643 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = 9F8F1774FBEA8EC70D0661F8DCCA2953EBD20FD73BFD74E6BF037B4FBFEF17177F1A02E919FC2B40BEDCF640BE5F191D6572BC57C0F5EA29CDD413E8A97BC24BD490B221FA452594F78136C68B21984DAEA6B61899C386963EA6F078A9A903F05506D0C5592E341A798DC46C0198C039FA2913B7F7560CA6A703A6A86B18CD67ADB53A13295ADE0BA89522CF98263094B362C0635890CF4FD14D0CE5DEAE75049C5AF37EDBA5C0803B26EBE951996018D66390FBD37FF9F24FC5A7435513D3173E26E1850EF3AE729EFF8C38AA18A41B97E11A7AC452445D7EC617B8E0894153B067EB380D83209D05BC1B18B41272ECBEF29472EC90686256F0CBBF9F5089A78D853B50772E494BF27FC0DBD3492FB16B8AAD6D7AE027D41AEB633CFA3CA931CDACD968C1F24684267ABF45534F89A362C1195F8CB31F1026D3D554AF70DECA0C5FD3973F55F20218056FE70B74A3311AC394EFE4FC0130B5BB092B33BA3B91E2288815BAC931C5625297C2F3180DAE4B824409B435842AA12F7F01A185F699FDB2C6A9D42CB475B0493EB6759FD5809781560626FEF4A4522EE06A2D3FEE7CA2203EB84B717A1A825A2965D2C1C1CC0402658EC5D2448961F521AC318FA4A672F0F8051AE59C05394F84D25A1F9E27B21550A71EC285C8B2F86BBD8FC0DA09614BBB635F905AAE3D401E7969DDC9FE0837959A6749AA76FCD3A70920766662 + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = E73D11EF660C0F9B35CE16C12C58051953C229AC29229FD38E00ABEA6FC7917427D30952DC52FF435A928F34BF14EA4EDF960C78A5008F4678727BDB4C591D47C0D3A1ABC314CC475E47CF68B243A0F193B5A0FE06613C2715829E672EAE605905E6F52624F971731AED8D1CC022CF166C7391E249626FFC578F2CC48F89784D7F38DD14012151834DDFDAA245922A27FDDA1465A8056C511A72A784095496FA0258007394C193ED705588607DF19A6452F4E5C890FE648339A597418BA2E7E706C36D3DC493A3A6842F39409CE186222AFB81EB044081C6145CCF8B0E852DC602A2B7031355911A7C1B16ED74E8BD6C4EC8AC56511768C008BA25343FE5CC7AC262C4662AC803EC1082A52A0530F0C8431F68EF9F7C4C7DFC9C05228E3638B7A26DCD9FD28331F7B04BEF3956D6C49FC946DC97E935A76B3B2B4DECDA6113A9DCAB916538520B28DEFB05DB55F2D168FD6FAF678C6ED335A33C5DA6B575FCCFB64FF2EFBC5BCF2500F006E2F3DFB4C60A2BABEC8240143C779A3D9753F107BCF9981206922757E04FC93083ED10A77D5C603EFFF8592AC3902E2D07B72A5C75C71B631DFDBF3997744FD63250D2EBBEC2DD3BB10E05FBB3A993831D62A6C03F403E30EA3B80F2C8A3B80473C2D2F2C51B8B5563E46A0A57A02C4E73DA0491312865E15C4251D3DB6516A51DCFEFB1167CEF7021E570FDCBF862BB5B81B461E2 + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = B28D5EF1E7CB85B4406FD3349EC1D5F3727A9FC9C7132EF6593779B0D3677512D5F10A6022DF96AEFFB4252159CCE5562008E3E6BF02DC91A1DA479B5B091C88B65C80F4E8D83279DFECCAE72DA723842EDCB2BA02C4E3E9325804A04366E7FADCEE8BB2D678E31928D59F2F0A546C742D8120694F5F02810D5BCDC320855164F60226865BDCEC1437F262D6D222D1CBA8577910847B75D5C4549BDDDCA32C3768F1B789CEF62F56993CB72338274E5740062BE3EC7AFFF53215E894600B35DDEEB1AA1E9962B22329FC41A5696580DCCE450DE6C11F92332A3FD959CA5B367B9EC156FAD0318191314E98C1E2F82FCEBAFCB6523693A0C633B82251AA5AB4801B1AFB004FB28DE7B790E65F50E0CC85181FD914C76D915C1E220A53070D73BDC1C1BF2D0D9A3EA45697C3538AFAB5F577E09483195EC8B7737236491143D7AB0F81228031CDCA4EBB2442AD5AF92CAAEC92CC1F72E32E573D57BB48EB58453B0E0D680B7A3D46B4A5716B7756F8F73BC876DE181C443C082022C7A3322059F83AA16FCDFF5E078AF2F85562F0D60632F4A76B29F27BD91301B276CC414AF7C7B0A20FE0D0540DBC2B7A4F6918B37BAC345411247F2F7ED5AEDD12E72ADE756DA4962C2E19B998AE1A29E0DAF6379A45ADFEF26AECC80D9ED1714582F7D40DE0C3BFADF4A35DA62ED4357B88C45227810D63F33BE90529F426B6AF513C1B43BA + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = D7DA38E9032FFCADF7CB93C9969171A0493525F8EEE3073DCC9AFC83C704843A8173EF5374C4D564BDF246D41AF6EDD0872E5EE43F5D2C5C85134166F9B2AB9203CFCA96A405F934F3B834299C954A3D30A2CC6737935DB8C094636D659D8A3192AC8925809567719FAF13AD40CCBE7FB1099BF4FCF415817B32CE923B1AD764B88E6FA24A9F0876C84D8B6FBB0346A87248A99E15C528D8EFB167F6F1F00099D67F5B879FE8B7943726F648158C0356985CC48D92424A44B906B14EB8217B5C75D88E50311007C1CE7BADBD9A48ECCD4F8936B81D0C2A76918A06E3D2B2936C5A157D9375058162259D7D0AD25DBA2490AE1BABF69176B394FE2F00DC000EDA5A0DA049153C077D51A89100DD5B8EF4EC3868F5C9D8E4C1875F292C4FD22C51ECFFE30AA40EB4FF50FA00A61F6116A337BED4D13B52E12F06BB4F8A88060B77B9F1300B5D895F7314AE728421CA951FE8DA4BE55723AE5533E59E06E0BC8D828603CEDDDFDFB9D82506141E1D90FFCD65403A94586C9259A6CB18550BD22B241112DD9D866F12ADF2B009740AD71630C35B16E062460C708831DF28918A5DAE14BAB1CA781EFFAFBD267081A7FCDB418417717756F34BD98A799B02FF2E275193B0C1B721C2696AD732AC77AF212DA45B22F27D54D1559A1CD7B39A49A6286D305DD4A257452E930D5F2C3CF16C6674ADF81BE1D8231DB6C1B8A9CCAFA6E98B + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 3A0FACA70C9D2B81D1064D429EA3B05AD27366F64985379DDD75BC73D6A8381045C2AE2E9C723462EE09EFBB1C2A8ED7A0729D0D9B20F03BBCF55A86859ECBE80C8CAB60BAB4C5D063DEA224E825E38642124EA705327E075B61D08E0B49DC184C5194292BB4A797CD24D924CC64816BF911FBF4985130A59D68FF0673CC8C4A390AD593BEBF16419FF464ECB3FC78C160B6DB9F755A5FAA7A9365B58CE7F90465AF960C48B771699E0EB227F5370387E6248E17EE192007128EE7AD3D94BB9A2193BBD4618AFB3A399CB2016ECD5F9E41AF10701FF1915A6E091F44F193B0F729CC4AF5FECF683B1C7DD2644D7458C45FFD635EEB85C79E241C1F4869CDA9E77E80F7B878C24E9AF77D22D8C7C0C406C8AAF50F57BAB68FC6C3A20274B6BC353E6D60DA40E8369139B4508DAE96DBA12DCA9D80A19041A3798B252FD24BF2BE64035CDA6D95D6E570EA868EB8808193B3792897A2147396A47D27C81D40FF4BF9212AB239D7A789D8CDD545A98B447F6ABBFF4BF6FE631CF2483881E933C1E62A21BEC503A6EA60F3B179F9CA6852DAABA4CED7ADE5E35E960463FA4C3A32F4C580F03CD2E45F10E32507FB2880827F56BFC5030A4CA94635EDB134580715A23C87D755FD91B1566D1A471F310EDB2C12AA11F2D280683F43155D67E2EC04EC2CB2CEE53A4D00F77AA73DCD6CAD61D1AB7C30A627CC75F83D48BDF9A76AB456 + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 3D62E50DE92BF40637D481CEDBD22F2DBABAEEC0E94D1F99F3EF2E68B1F55D97ADA13D2372104D63946E3EB7C50D7E58F5AA0D5730E4366BBCB6CD332AEF45DA6C4E5EFFFDA948E4E7E6FB9C49B46AC954CBD53A925C8EBF73BC4FD53ECF34F0D67026136E8CFF3C8B8661C9D5D19420509B47A19D4C848C83B791D1F843F8DF7F69F736A414BB9075B4BB6070FA094A0095F101FE569E45E4E7FDD2B3622B5B912C21BE28208CE90C7C342E6DE485D7344DCF3E89D9C71F320001C52054EAD0EC37B4CB356CCF80088DFD2EB63823210CA3767ABB13623C9BAEA9BE5ECB8DBB8D3DC97C88F6BA9C4A9C443A00E9A476FDAD93ADA9F64D12803DC7FE1C7126D23430CF680F94F0B218A06D5FB4F7698DCB5C896070A03D5DAEAD54E3624EA55E966EA64D0714AAF9E17FEF5DA0998F6A301B20E988579FD98831649B5F71B67CE86F65003EF5F160B18CA218D446C6A18F341282CC89E585894A2CDB24E107BCEBE66D3265895A622E51B617A57020B29E236DF78271B1B87C5FFEEEFBDF3F36EB3152687209929C800B9CB4A29CFE7AFF4302C990E60CF61ACDBABC3CD7F98BFAA55BD61C7D97B3B0A935E254D1D46801FB6A02567DE9F75343B612F95DC555340BEE70E61BA8B3E1D7478D77D52C5F395301178D42FC3DDDD1322CD31ECB8E236F1748260F45AF38A57AA8DD1796BDBC99AC14D1801BE95A08C1C6C61B70AE + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = D062C8F1218F1DC5F3CA5C2FF3F33847F3F74C6A40A3C2C6C15E316B6C9FB36A7C1DA9C25833D25C8DC7FCF4F852E3955B4C9246F4CCC3FB9BEC64990E5D84730D56E5E4839EA23B258BE3660014C49645A268EB03BFD932D879B2260BF4C6CC4EE97C8BDC9C02E609372D1FC24029193475992A27C52C20F1F821F285BFD1F4C6ED944EE89A96860364E44971E0B6AAECD446D868C9F7175C7C23E980ADAFA860E690EBA14B71F7EEF16DA6017BA3FAFCE89628F64662AF12BEA0DC93222FEFA733434A4778F0F2F5C0DA2439C5C577345B59771A4991A56EBCAC98961E7EF8AE3F1F8062C1268DE1E6CA5291D4D7F1C1C4652A49AEA180A5685F9E6C8BA01F8E3BE7C1E5D40A9A0CB8661FC77F624F373C90DA1876218A78BE6507C2E999A25FE87E5F334ED83689936AD06A7F031590AD13105DCDFDE7554D42F85BBA80A03D3C1459A25F07E93B77293B48E8D831EC371E268E361454CA01539357D4C10255E3DB0576CA7F9E6F4AE766822274A6669AB218474F9D0CB5B96FD0A55D4F454C6EE31E3A040568CF77F97D5B8C4FA783AA5625BD8EA951DEB4BEF186F37663AE83B2CD27276A390D730EFBDBB798049B151E4962B5B17C4739F9127B87CD5ACB00C4CF04295ACBBF53324C3C539BDED5E64FB4A3BC08076F52EB0A4BAB60138E50DCFBE48765047FF4468404820088485974F4C4FD8546538698EA3904795D + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = ABC182A9D28B3E043F887C072ACEA1E0E6C26A90BF6FE9E1BF925D20100C3F8E46DD5634CE077F6768450626105210BBD36789FEB64E9E0A0EB5007EAE54D2431156A6BAA49D85B31A716B69336DBCAD7BD43F0C9AFD4D62BBE69D5EA276F01B1B39C637BA13F9D5CFD637FEFA3D80706896F47A58D602166645AA5CAFBF5C280EAF765A47F4981A9673EDB27089F31314A6367BFB333E4A937CCC3E704218696F998A3269518965BEA095A934C171F78979D6CED938F8FB3D6CC8F61EDEABFDEA038DBF7159917E3F941C2D17E351390AB77678477B11D2DFE2351180E305025403FB826255DEF38AAF0ED06BC2AF707337DCDC1E5A08FE03E9CD043D5A152EF37FD4893266ABC1875DD28E2C7160700899D5F39DF5DEAC2E91131360922F2ABB6BFC49A8FC0B638CD13B6037F99BD0D72A56346804E146E8B2889AD843813DACB56FD8D9909A989C82064E4838D4F01C19A8E8D1B189EB060F642CA5CEF14A2F361C1F34D968FDCF37D7837E3AA9B866935095966109C763C8DD1CC70DF91FBE7B5AC7FC6433F5DB4B780BC9BE4EF862B596E08AD32C201A07F04E267EE2705245C48918B71C84D78BA48AF70A4776523D37A8B90D53AD45465DABA2B48CE0C09978FAB5F4A0CFA6174D55612B7102CEDB7A591EB6A778BD41CF3C289D06E86B4D329F71DC6C3BE75D7E661E7E9B5F4CD92225FB5991F73237E2520B9AA604 + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = BFCBFB531C1689126C2323F9294C1BEA280013A2315A596ADA34F022BB6D3D8A699BA8E2C54AE3BB7B32C422C727B41678F781D652DCBF1A40B8627B56E004AA5F1753B1152920121B1A2D8CD5E9CA02929BE7F2EB433BAAE2FA41830F146C72A12AAA97E8F8B863749B3026E99E0BB7E0A937F003604B470C913546E73413A86EE2E9892FCA2A7839B20309AFC1FC9A0EF14478CE0CCB5CCBE37469B7DAC3A7B74B253CCF2ED085F9A0BEF3759A4002E2E67F81D953E9BD53A4D39A267CC0D262E5D80F50F8B87D816C91A2C64D798784A5677744EE02B5DA2CF07D79282BF8C791433E0B3E296C38AD9E0162BAEDC89F1B368537103EF797AE54E68AABD23DE81B760689839341155930796AD7A49702113F737D0812E20B850C38C3767421177B39FB60F3FCD0B81A50A8624E57B676203BE7C8BDC66BE9ABB5A1AB175705DBF65BDF5D119F331205AA74E6E04C766E408D0B2651511CDC513C75C6E326220DD3DA4A12C82317455D450F44F5F1E55BB7A91BAC1C34C1E405BAF53FC8BCBFF7EA119CA53F6DDFCB5E4F2892B837846CEAFD8ABF5BBACF09A3127685B8B40A2452E52EA6C006F22EC7FD9DF925B939570096E5E0AE74D67E46E5402DC94D4A47E460D718C98A4426F3E68DEAE1A4E509707A20B136FCCF3C26C8956C14312BD855F0B3FC6A97CF1C7E9ADE4A4907A7CCFE6EB5830D17451378ACFEE3884E8A + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = E3A05F6157BA90878E8C394E09753A69D271C77B233799E0D68A32209F0CDFCD5E3F41DC9109F836A4C45043E7EABF41946FD05922723B0E6526E5B99B10E89B3C4CA6CE5A2C6C431FB14E6CBC7986C4CA691037B1F306F8ECAA146D3E0B5736A53A2BE74E1704E65864C3ACF042459BBFBB440EC73EC884D89AEE7525CECBA651429F2CD092E4B3BF24AA144873EB870749564A52AE62FC86674B0D9FCEE67DE8910DFD812CA75A47F8FD0B2393E616FE8250899C36C27DBC30716C9F5FA181AC6A6065B73E3DDB94447E22EB858E8D1E12C24B80D99D4E6291A0D588508319C5B54E616270FCC504D5925B0ECB12F211C3B63286383498FA1A7B4B1BD399934DC6DF4B7A6BE0F42934052AAE7624EA4B6837E07EBA9EF2D066A911CF71776A2EEA41E04122E5AFA6F91865DAC64686212A93CCE21305D925606FAAFABF7C6D27A8A91C5BD24730E2EF0F11A9467F7661736123E7B8EC29B4ACABF9AED239EBF3C79F4C37F54DB912916EBA3A91AD6362DC616D7339AB457629BDD0FB97B8AB605B9FEFB65E2E70FEE3F2A29A3D6D487682BEE87D5C615870CB615ADF197AEC1E5EE35C242149DB2D5DCDD598DB5981A5EC57D31C9644CFBDDC03FD2F5F8881D2244A094FF4140D252E2505089337B925D84E3EF632C96888E0FE5C23B1D67A64FF3269A430DB1927CECE798ED159DAAA3B69819FED596EABA5B6BF4FE3E688 + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 2D81F6711464AD6B3DE6F985E02D52C30DDB350BCAD92FC15DF3A67290E4D74E2EAC52EBF9479DC223770D6481B1A640784B6E4A31EA840692E625BB2D400A5C0C7966E5C4AE2A4CD0A3204D7DB266745D64122F83141FDDC676B57713E45CA04139D49BF42EDCDF443B5600668C1534953AA95FCF4BF9A8EE8B52680C9463E5CB5AAF09F18EEB2885A061DAEE4C3EE5DD6E824BDEF31A93E092236F91B8E2ADE094E718F8E203E43EF00A843A2548457D0EF2315FF91E5221011B874CD798254FB4A2E4C65405644E0DEAC6529EF59EE52F2496D9B19485E8128A76548C212D667637213B637919186AFAF827A1A0CB5F584F475723D7D2EEF4162E05F9ACD221C3416E7E88D22D4C471A05EB0DC70822E912942261E9369C0D35A672ACC5A48C86D6835ED99BC201A02CE40E86E0C096B2C34E5BCA207E5C5C90CF86BB3CCD7FB89613E53EC90245F9D8315D1102462CE10AAEE4608101AEDB37857DB22ACCD5B024ED323151D75223E6CB0EF402F12EE2905869396EF6AD09F6FCFC57310BBE46CA7817021DF43FBDCCD9D62158AFA8F20300F8FA17B202733438C1F6B0F1D1FB1FC8AD8414E864DEBBEBB5F96367135224581B9B8E54E64937F708A2CF07573A42C45444C37DDB1287D4D27CD3A9DBE476EAB7C39A37722BC4A1345A34C168DC93D48BF719E79F25FF112FD687B86C20C98533CA4B0FBC1F3D4A6CA469E4 + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = CFDDA60353118CB298A271246886E4C7F976465C1B65FB51E87F7E5A9BE050B38BA3EB23F52116F0A13AD802E12AF81A0626A51C17E9EDEF5CFD1937BD774B4E63B19BF1BC61A4ED23A2ACF45869E4EFE9CFCC8C89AF6861E4122515E2B5EA8DBF024F36EFEDB7E6D6DDA829A5E45E21466F4BFC55596748A9FE0A61B3B9B9AB2906008DC3B8BFB71761EEACCE68FED2F0F0B380661831E4754175AE79E9C093DB7F2219C39CC36EC72EA39C65128D835127C3808DE4F3113E9CE42BF1F86250919C8907E21B0905D960480D9786ED5BE6FEA4CA1017708E1A153846AE80F8C81DF6118DE9C25DE8B72473E5A2F40980417259CA2D3FAC3AFCC42E1D5DDEF03673CC2D9A7E6170357085A135B31B6E8334D331E222055FE01AC3DDA56472572CFCD908797BBD7B8DA672E2F9A10497E423AC9E84C17C81F81A944952C7511FC34C5626471B85D80CBC618A68DCC343575219999F28D01F732E76DCD6B056F60D0A9CEB822C1BB772F55BC85FD122A0972B0C0FE8B88D731887656036A4A4278D0F46B27B93530D3DDA7A689DBBB73D9DE39A6F96082C8D9B9AEC1FCEF64C7434C38B132A66B3E2DD51367EB83FEC5E6AF8B18A151058D092ED381AB4A86CB542F54EBF5B0824DF726B91DE3BD088CF8D1E55EB1F2C834AB5AB9E25BDD0A4445C692D568B6458BC29CEDB6CB5C5E7C29F16E1B95F22C2752FE1175FFD41F112EE + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 8FDB0BFC41E23944858401D837455D17966DB41F4B9D2BAB52E208B2E32B22E1FBF3CD83F13B6B99F14BCDE767B286F7D16331FD56DB42A4ACD9C370BAFA8C99F91A5CEB24D52B52CC657686163057471F2D8C982AF779B05BA1E49114BD55BD59E1DFDC69F49EA96F771FB4F6B67D1606E6D652368A31CC3F7418427A8DF6FFF8E0B5E43EFB6D9795D766017284879AA199B6726C84623ED69288633A34D3742D20F1249E1C70370BB19320627598D208A7531EA233E772CF7F3994C06FFDA7E63B85BEF873CB89A83499174B461B36A375FAE6D5779E23EED9D6624DE2EF309721C428D8A64A2FA7ABDE1BB56F66F04225E30501AAD9B9D9078CCEFC8F721252A232B82D984DC5D1A03E9F94630B4023CCC4BA6A47FFBBCABEDD754BB403C25EBD27D445743E17DEF49EB16A75B25921E49373A4A669A3B3C6BF5ACF72FAAD2D9E0AEC3723FC07E541B72EA98DC3E7903CC89DF00F6B20F147302D6AF18FC94FBA446D37F5EA3A49A9B2942DC4926E06F6D385409753E3ED1C9E1672B783E491635B2701FCEB0F133C1CDF9364B7BD55CF1CA89DE5ACD13FD7B94B3EE849E789454EC39474636522FE41EA3504CE134610D675D5CF299F3E94686F1AD9BE58AF227928B9033823CA7195E6856F72008B31F4AD7095F98B4A5256D2A676817E02E7839B2B875B59AD020B97BCAEFD515B061F49526821043B3B1A1F29B61F5B + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 64C80B3CDEBA491185A9ED7E0B5EFC031E36D4F22F9B99A30237C5459C7DA37B16296A7D2E221B314B47F524A01D94845F7B1F38D7D52DA83860E576E8910365A217EBBA342C7E26A350FFCDA54FAD792756EB1D87096F0625D6B237E77060E350B9CB9179DB967BFD8C63E15AAA24336B8314B692F027C99EDBB757E572B0DA00B45D90200BD778B396D18375D77E0CF32E7EAC5003794A010B3A1DCC5968F59A0CEDD4B2EBF4F0F151E5D8F88C297506295080C91CA11DA2CF32447245E0667D1D4FB619C514014ADFB7733D972198BA4846D57EE8D9FF73D543CB32CB6822996D04B08AF13DF3A696DF38C29B677BA6FA481A5A22D2611B8D721EF11C4361A3205F75C90B7B439B47893CD5C38462646355800EE91DD9366D8CA3C2EF754B8DDB4FA83397FAAEE9BB24EE4FDA89532CD7E1F05CC4D52754ECB59DC6BCA363D9E804B32C47664BE92A23023BDEBABC70DC45F15A708D5A0CA7E6F461C825D58784748284722DF182296103D27A2868C06DEFCE8F0669A173A9EA7C9D7BA1AD721A48A7076CA7E005D0BE0C6F5DF889747A581B54674DDD18A3002662A8D1F1373CCF9C0760B008A805E737660CE28BE2DB4FDFCA40BFDE0357615B8B09B264B9A9C3EDFB70F967BB520B09A76654ECA9FDF6AF19B298DC3348E7A5771F3C3E2ABEE576819A1C59881E6B8FB1DB1B114D746E90CE6F9F6C09ACB5C46B03653E + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = 50102CB39FFBD98F3499FF53914870CBE4440CA8B6D61B79B7E6481B943D8E532947D06A5E04A6EC8E595958245088FA807600B1300ED4DE47A2E800D812BADA538E351DAC64DD3043E7F655B411241C9031ED2765264E372C6F59435988963EF83098452029761D43E4D329CBBD04825719ADAB1920DBED999C1C82BC9A362AB6C0DE15A65EA6E7EAF9B75FA15543910E7CFC214F25CAFBC771D9E641FA65A6F52FA97CE428910972EFCE8C23FFB56AA5ECCA3EFE08E12125E3C88C652C89765AB1B72C9D16AE3CF4C8A413ACA5675C18439F3909BC8DA92ED71C7219A89DCDBB3E07A3A8D4145B2D65E9525D3E583C70589D79519793F463DE6799D682E24E83E91A96E866BBF0BD72C041DFD44FF345FA83C24C13AE0689DE442DD01C85179E69FD9E07FE2E2AF1F5D1B5365FE16C3D9DA5F1D83A6BD71923252371D230D20DE8A76A810EF29469A370CC552BC0FE8329CDF85905134BA4F7C4F77FC83BEF84F7560ADCBBF8D384267AE24EFCBD78B8DEDC130BA739C5CE96D8CD05299C50037B94F9B48012BF346E079C4599C2DFBBB1F3980A1800BD593ACDF5C7E355D3CC44CA412A3565FBD8B2A9E8A9E44667979C9B261AAD8EC2B201259A2D7E4D5DA6D5DE05AE61760EE8DEA70CE5F380BF3F1620B3C67D8EC5DCD47EB14C078EFF113A952B7C77B8E832DFCBB5E7492F090D8D4A9893D222AB77BEE17501B8CBBE + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = EA2A6C14ACAA13B8CE15F4363206525A44AE834D82B000EFE0438A4321EC1EB6DE31390BB495EA7F067D4A3FD9BE173981076BBE4928F2E9173F4A3158DC4DE9F940BD4C8E76C2F886C5D4C07A28E6CA1B35A4C31C153323508DB12D63908ED758195CBA55B1B8C9687D219E4B053849D5134D3BDD8D8B0ADB2C02793677853D6FB496813D72DD415F9EE59B6C30AEBE1BE2CC5FC3D9B4D4456AC65BE1970E5853F87C57BEC289E995FAA9FFF16AAB0ECA5EEE8319897D24E6D68F29B9A8937A0D98717AD61370E25C0F0B68974D41ABF5DBC3C05A26C4B5BD4C60F5D2F2F0126675B785CC2A0D0BD1B2EFC2BFD14790AEB55DB281535950891BB90A6A02279852BC07D6F03F7C42B4E2B4DA0008E6CCC0A8FDDE198159F6A2BCD516EA80D48F8EE63580ABF97980530AB589FC2158705EB0B5015D6B92D41D4D985661BED07CD1E43595C1A9C902F08976F22E01825CD2C9970A2D09FA0AC68C3428FE2B4957E528DEAB2D1324DB176761ED9A3CEFD129EDAA882C848E994B45D7DF77A489569B1720C183902A5A7E8116223DC3CD0FE84826A28D2266834D0B09AFF134611203D8704FEB7F1BE1736EC9868F4F638598BD530F6D0DAA795EA85C2954DC188A27A14AACBE2EA7CDDF85B3DC9F2DF61175530127AF3594EA39186F9A18348F9D60DD2B32DB207E5398F59DBA345511D9798613D66318C7F3504A431A0CB8E9D9 + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 3325661A828829064E99ADEF00E99E8B9B08A53A4C6B008FAE8DB1A833CF26D83F3F8C613DEFA9885593996ADAE75995DD196893DE7A89718296F12611B3315E22218B8E26E8124BA7604B4CFE5F427DAFA90E78D0B5E14351D52F9B8EEE659B54E07F1A8AA08281B2D8672CD405359A681C74E84B1F6F6553ED9B5184D10EB608B37807E5A824C3F0E1126824ACF192C9767919F1070E77E2F81A1B5E5DDAFDCE09DE562CAA1470BC1023E0EDB8901EB9CCFB813366EF60DECF20D0BEB552E7883EA4063383B123D94C35F5D00D57827D60DFB3550485B75D2235400A696684289962C2F71227C847548961B4F3631C656ACCA90F9AB21547A99197C32FBDD410FB7DEF62D1B293BB0FA36921BEE609A6D7C2C9D6ABB287EB2920003C1E965BDDE75A90A41518855039E3EDFEF1A3DDDAA192FC6198ABA7C0631949F140291FCDFB8D387AD4C19F71B6EC4A6C3F5B22A0F8BBC0F852E03953057CEAC0183569815625F566F050AC6B14BD87D3056A8FA5D99E621632AAABE723189B0E87DCD3CC3D29A4E3ACF2EA915A8A7E0ED73AF0BB905A4E8B0599D20D699D2C971BBE338C964BB735F72540D8DFDC069F950AA13C814F46866A32C3EFD0EC5D28482298BEE0CFED7B8725E64C75ED0A35D8DB157278D169849B56AFF015603E1006C168276D96AAA91EBCFC6C6890D5382CDF1C6C5A1BB6A3C090F37ACA605E9E7459EE + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 1ACB385112F369E6D00420FAF1291B1BAEB428C09017B647D7343DD2FF50870CBD47601EFE679AC0724DC63CBF543C87DF5060CB0F11C786E97844A02BDAB528D3FA5890DBCADD9EDDF2DE00A639B0FFB8FB2CDE673F66C54BD554E737B5F370F53823B135B3257AF3394408A853666BB00139F147C6EC198A5829E8A5F85279B306A428DC2579E66E1E18EB3C4971644DBEDF4F99BDDC9E4096D0BC915AD1F72D522395C6306D047C399BB1C4877BD8278FD29926C3B74AAC5414E9E0936E01DAEE1061C5CD243C380AD802459972D3C2DF479719A554CD9318A8FAA3016AA6EE057A4E57CCCB698A4B0EC411F31D11F0642053880662EB3E098F88F74C65225669A4CC8F3A04E23F6E5E40F9A3C7FC2B4993782D58B27F80040DD94475A85A14BC792C6B86525D359CAB32744E2BDB4890A392EE847C065364BFA18C85D7E328E5ACD9F04E6A6542C8B734A3E3795898D7E48FFA8686CC12497883092395239A55E56AC18C4D63A9281FB8AECA2C099BDCCC65CD239CBE597CF5D577585FDDE3F4B573A666C2D1E3C611DF94C9C519DCE3110C33EA697FC1955127C91BDD420DE5EB667933A49E15959EB3049C7D265CB638BDFE3D6425E20DCE650892E0FC346922A4277C1CB1ADE59886F8006F0D0074937E852A0542B5A111CC4ACD65F3B2580670DFD41C0C9EE3CA5FCCDD7743D131EEFBA0543646B31A9EAAC4CD30DE + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 3C7002A2ECED36B19A3D71464F86A526D0F2A92CA76FE392810616E75A25C223F06BB1EC3BB5BA0D00A51958789DE67724E1D57C4806F6752E610327B4C84E9C5E815F8765E6B452376CB1EA5E3151C21E789FCBA16ED05306C53F2F089B21F2B5590CD4B48647CAAD444450A1A60E1CD0BD87465C2A3C2D25B15146767B6DCEA1A8AEB8B717410EEBAB139B041FBBA1F654A7136B7071573316B3A7E5BCF8929CC1465FFDE55DF7449C7068EB1D74C0B12418B50046FA2197A47F4CD15E7D3702E260C188CFDFBD55CF4332BE6CBB157FA8E62D003D902433719B516C59D31F8F935CED0F010EE66E8E48448FB9BF3A855BED9CC604DF713A689009223F858DE44137CFDAF2B194131B84559A98AFD4F86AB13D7A1DF01E414A10768F6D48E426EA64A0602BDACA1CA56C903940A35F28842922C114F25F7000D720EDD40AAE30F300ABCE4FA5A3B6088B27377D7767762B220DA383308D00A43E3B9EAA1899C3D4E261EB132C41029AC024D781001B56A1127226C3517A015782097D754233D83D3237A04754F3F22547C4321FC175F9E83E679B0EC7564D942D77F64EA480780242CCA0BA64A8C41C7E94E575CD9E60C229E4765C8BC993048A81EB4D9A7F1F1FE449ABCC1CC5B5CF500D922A3DD26D6ABC62085249AF7A60271177B19F2D150495FF3B4E8AA0414C58FC1A1979EB9938FCFC6AB3AF97B9A7C8C94D12C821 + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = E22AC7FE9DB19147B2DBD586D6C5837A5DD3DF2346EA61DAC753B0371274DC110612AE3DB350EAFEEB89BB1179EB9D84A0590B243D0DD9BAA00796030D2782F0163E85328A0AA06974A7321E66649281DB8C506400310AB3E21243F4C2CC5CD8B36AC7C35C235305E6B1585B33784897D82A2D31F664D963ADA323A9C922A61D9AA5BEF0B90C6B7183F1FD0ED4128B2FE0E12EB6B461176C52AEBFD608C00C7D79799071AB30DA33CA9AA26932AEEE0D585905BBC853E80AA746706FAF7BE50C90C1FBC18E290505277E9BB9BFA9C767E952A68C4F93A044F62E066E61A0AD301BBFB921C818690BF6D116C6CBE7DF174A7E57E22294303820494757B3254AC40404A7F4A6D1F9624E5CF3A770392B2DF9FD1FFEF01AC9AFDC74442C0EB6F11E1EABC59270B4DA6F2D6356E79607D6462C08A6F29154BCADF4FFD6E20ECB700E188E523B3930E35C8990AFAD2141FF71912ADB07DC00D5BB78D7FC5590467815BA9F46CE4F5CAD34910A574687D8F7FAC2F60B34D4C3BA6D25D3E5118B851BCB73C1B1004A623F8DDC8A0D07AD21B45F543CA8E705B3864D1C4FE024A19ED5FB0542DBA0C39FE0A82D83266D9C124E61DDB107D8E0AB57C970CFE5879DAAA7170022408F7A9A228196C5C7AC614CB98CC276D1F5ECD79347A41D97360A19E65681A5B75E78C7F79ADDCD401DA6DE7DED3B1DFF1F746806AE03F496CA701C8448 + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = FCDEAD82F39CDFCEF99C1BABB674A9A8E24AC594646C31D020A4CD2BC2554AFD78C4E413F7804FA1708B9F4000FD860E3070F2E1BA9EEE3805352AAD655B4B0A728F2D5FCC43243825BC0DCE33CA716626DC76E920D72575E26DDD7110D0F991A91200B513AEE23AC9BC7043A152ACE0CD0B49181D2BB6BD36E93C0B627ACA9C6AB6C85ED70CE762429C8F262708103284C0A792138F10E8568EFB2399B38A31055C1188BA59344E6A2B73D5C04AA524056649844D1DADCD07D35DF5D851EBAFFCA5703B80153EA627B1BADFB2885F70F786D34F5650FE73E3690A8A96610059253DD3ABB5FA7C54CF6E77695D24A6594077EE4D3673F9FC56C62FC7F710CF872014C0A7DE8B1CA6AE8CEFAADEAF5F4D055FF765AD418713F2DD08EAFB5E16EED9FE344EE8D4388FDC22351F63834017B539E3FF143F394B5B74D06F65E96A7A3D028FD14F6C7001EB7AD2DCFCF4B2447AA173A2AE8EDB581B5BBD89E8A468FE0A38507530B9795DA3BCEC6DDEBCE9EB3132EF18C9C2A8B936A431C8B121FA996FF9BA5CE522986B678A5EC99A103A91CF33196E08C82DC65E68AED238A9316A73E71CF5A67CE440B93BDB845B3A60539ECCDCE41BC723EC9A14EE4E082F60C0BE3D5E50DFC8BE1E86A97ECEE9D88E2BB2A3AFF47FBD6D6675D81EFE0708926B81AB314A524FC745090162D2AC723C4326E0F9E16FBDBA2B1E9914BBEEDFF96B + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = F9A4D63D82C6EFA5B1FF90B26510ECF06C53BB1C3B7427B64C41DE1FA03BC0728085C972E94A7FBFE5F3150A7B9FD8477C6CC1C250DC6FE017B0D0668ADCA12E3C1C9BDC78247529DD1F69198BB0A371072F0225420AFDDFD64AC1F7A8F06FEFDE803579491D8BF61D6CA84E985B1EBC7F0B48822B8BDA9CF9AAF75B7C33C5D360547A34C68114E8A894D658E4F27E3C137E1B2A203293C015975AEB49AB315D142024767836EFE41DDCF42458C5B5238ADE07302A0EDC28A5E4F686D1F98372A179DCDD2EFF78914AEFA492C05AFF03A5CA3E188F611AC24922CC28AC8010572F406C0ED1BBA849664952AE23842454F60D7F4091D0A4BC2CA6C7B3E1C7DC72659DF6A709587BDB30FFC3BFE6391FFE3D94084D93F2186024B9AA7EB52D5CBE760E5E3A49496A2239C9C71FD2C18C199441F7509108B8E32BCE086A110507038069F99477DD9F75EFDAD8ED861C38C61E2888F7BA3E1AC237A2703BCD64F19BEFE921259F88D225B9B5461F070297A28908A35D78BD66165C8CA532EC58C64DA1988E39D1237588661933320C80B30C183126A10222D6C2DEBA60A55EB6574AF1050AB4A6253817EF90A1DA8B42633B97F792950364D1E7C490A5A2BBB8C3412289329D2B0A644F8A447C5CE8A420C402429B94F4FE11BCC71FA2314D4692DB47EC2EB58C32513B07B7CF7DB276D1AB7190232E7025F805CA2FF9F27AFEC20E + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = CB65EDDD9ED9FBB19E03DDBEE2D0EB5F0C2610F0AE9F89C50A463A303C3CEBD64345F39F1CE7E04BD5AFF16B15D5DED79E717CE07ECAEE9B7BF1841B17A1266B5F92F2A92D6BF964E53C3727C50FD9418C1CDBD06F0F0510FEF3ABED7B4CC31534E885EDD00FB1316617D6433B249956E1565BE72E5483EDC6E5E90B470CB2E089150D3B3B70FFF3227131E0DFA12A2248C064DFC83702FC462FB2165CAFDBEF309EDF1BB785ADDBE17C6E6DE702BA4BE1229A7AB7BE122306E306E92D0DE7020FC1CB568F5EAB5F0A2140B010587DEBDD8404DDA2C4D6E728A4F1A55182E018789CFE03600301641D5DE2DC58FECADA9A9E1425DABF1F00EA013C05EF3D64113FF351F10916438C6B92B6B6BC5FD3D6CAB43669A1C60ECD39829C327899885EDBA19B8A9B4992805916C460E5B5F72F53242D206D2B3DA3A976784FC40B6A4F0FCDE7422453565398A040F9E5545C482EFBF9D3110100DFB04DBFB24A94FCF3FA05406EE9B7E677BA0D3A52032AEBC2CBA54DDDD8CC0900C90F48CB9AE107DE01C3218F0EF5BD9DB9D7DF8E926E60A384DCA5299610413316BCCAF2821B926174EFBB791D465F887CE3020B908B07E545A386283E17F980639E81E71B0203A3D22EF233B4B2E593FADB04503F0CFC5EAD74075767228458B1EF4C5DA77D126D6DB7EAAD6A2BF5FE9C18E562AFE5671DCCB60F8DDEF168375BE45EF2A391556F + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = 7A3E2CF760D677AB42125BC78324A8E42866E2C148087F92FF27E149DCB2ECC3F3209D3000583D96C60ACCBB637714C4175B0DB1F982A99A7D121774AFA37ADAC741AD9CF72BFE7175F591E18256A95A0CBEEA06B5CACE02C7903B1448DED23F3A7AD61F9C5CE0F61235520706667E94062CBA04F735CFF813A5B7501975BB7DE70747E619EFAD4D548CBA8FA818A0F4B59F8974429075DC492E014436CCEE77FF6947FE3702659A14BAF89FDEE45DEDCFE4CFB1D45D59EE5D79DDE87C187AD1E04F06217C41C35F1185E63B625E30E67C5377A11909612DAC6539F72A6BF46EFA1674D41F00FC2DF3A603A480517894B88556971B793FE3D14E7699762641913ACE9460A4791487937FC6C94B6A0A091C465A3EF24EC55ACC8BE486255848DC7BACE4A3F860C7DF0307B70FB33D8164FE3FEA9ACD2BF3484BACEEFBB4D24D77BDE756CF7614BC2F4D037E16943E08437695DAE204CA08972BE843F59D608325C7D6D64B136148887B49FC71ADE52B11E80576FACBA740D88993DC77DF9B7ADEC54A6DAF3149B21B9D0D910F2EEF2C39AB3304F2E5656DF646E551BAD1E4B2BAA3C7BA7857CA2387F516A0DE8600F14B653055DB1221A57CEAE2E4AE4D3102B60BEE67A5456E0E2C0E5A0A2EC249A3AD11B533005946BC6038A98D129FC696F48F05F0914913D45BD7626046ADDB5AE3BB4C4E1BEF5332767B49D8B576953832 + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = 0622ECABCDD9A8C2BC20FE0B9B39CE1A6A835B5181327794DB2E1B40070FD9D89A498D242AAAA8FB5063D5E2AF45A1CD04CB28B96EDF844AA37C7CF6EFE39363AAE56E1E6C1E537CF8E58C20D5AF57AA0687978E8EA46936DEFD6A6F3486ABB9E1F04B6128710F75314DF64706190F4AACCA8FA9F4E1008385E641F40FABD228B9DD421E30184995720D49112FC429165AAB6DADB0CFB6F986E11866D138DDA8A5B4656B062D73CFCBC8B8873509FEA2820E150672AE7C01EACF5D9575EC6B1DCFF1F55E6C2DCA4ECE5FB4A6F1EC7BD089C24149F1136AF9018920977519F390FB7929FE84228D5ECBF8FCD5291791CF7FB6CA7208350CFD5D7A761CB8B6524DE5A85467DEE4202232218CE6B39E5505EF02452B4FC0A87C32C9B9C9B8BF5FBD5755313F551891C5D11E26FD57B65A42DEF3BEB07C88D117CD168335A7749B97B1FDB04C7ED3D2AA1A2DB4E70226F3D8B87ACC19A1F34F60BFC1CD0EA1864C5A991CA21C72C163D0B6BA5833D8EFC7AAADE5BC6D335E62852ADDAB38831AA04DC4247DC7E1CA5E0B2DA9ECC5358A889EAD2F2CDFB538D900FACE60AA53228145644FC4AA2BE363655ED6CCC47D23CCAA0EEA0048887E2C670AB4AC85BC71D1CAF7A1C02EB3C784FB189AE756EE9133115232A92105B033148C1C9806821BEB545035A1359CB4290B736D3D14C5F990AD2E4FB02A1780E34DB86FEE3BD2A3A9FD + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = 0D126808ED2AC9458F8002CF172966C8DAF02045518EDBCF87FD315F31EA781C73579DD9BE6A3000F7D6E5C400970D4B6731F90D75CA01E55EDE430D8A459A98C71D9CE16BCFC334BFA1CE8E18A70A50E3B795B810FE3273B9EB7DE8D9B7175F97C32FB057678D819B1134AC30797F6FF7B622CE48616436FF7C38453029DD7B35E648C14AC725EB49067DE2F0DFCED2CB89AC6988CA178E72D0D19ECC481748BE17E8BAAABDBADBB84D0B2F2A49C4E60C00018ECB61D2CD25D8841157D9B6ED74C70C7791F6F88CE61B5FE0F28DDD2B4EAE5E2A71DFF495907FD883CCD522EA1DD55291A5B274B4333EB62650D55B0CE61EC1761CB2D5EA39C712365309537918EBAC6EB8A0BE3D19CDD0F32FCA2C32FDA5DEB68EA99FF5F7B66EC4FDBC2F8A829A4B3512A52044A7F7C567532376D971AE504601841C8091695533266D14A14AC46A7370372195CBB4BC212EF72A18F7962EEE6738EF1A669B663B336CB324ED808C3AFFE2F39514BECD5D654715C85F3E5CDBD9029C1F589CD0D563AA98C6FA99769815922CA7A30F13F55843DD952F5724CCDBB58A269DA7D066A548540C23F4A740D82F90246D193C22A0CD0601C2030E08E5F0A9AB7B468DE0530F50B156C38DBF08217B63B726B85227A5FAD8BF9165E76B02CB00CF7DDFB03D9D38C882E81E657FE5596B66E777E672FF416A3155D4E2EBEEAC5B49A8AE3851AB13BA + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = 863DD45342E1AF41F682C138EE8DAF96308B1973B3740CEBE9C2999D4190B05C7630EDC87F9942F31A089712BF2B705F1F3D835E25E51E8BC6D5FFD017A5FC2F30ECFA82C6B9033AA336ACAEC58FA5E0D4F4B40BE4F60B0AB303AD007336B5D08989E635E92C7C0F22CBEB049BB4761E786FDE0E7AA378F6C492B3357916DE530E7FDFAB45D2116B3137B0BA6BBC5A04313757B26CB3467031D82A98025E628F0A3BCDB234D4E7FAAEBD7F7F4E94A2C4DDBD947A3AD2E66F7D45E66C89AA037B956AF67D7A2DD696D231D31159B5E217EF4A911A24B4C012AD67152C9A1FBF85BFFDEF6523629BAF766E22F009B6371A4C9473A42AC84E2BE89D2698E668373A01A2E8EDF60F9C7D83BA415EBF8588C0812A4409A5EE205D794EC5E3B5A3688D8520C98D516C877F5448B6CDFC1A1DF445008CEE775160096237EFC27FD32E1629835B6663601647AADE495A117C025E03C80D8DC2F31BBB7CDD4D2C50C7987E8003AC04226E5E051E8D2930F93C143F2804DDDB343591CE11FE55BED40A5DEB0728EB575694D4F62B7E7901E3A005A306961051A0219FA49E263E85E87B2880CE9C9CAD37F5DCF001DF265FB448093CF08EE592C66D2BDD37907D6492B05EF24E96B08DA4E55A289E6A2CCF65624257A754C133B54DB543FFCE3D11093576357C75D09E0E5D18D95D2FD5206A1F5750030FA789B83A81B6E81D98B1D360C179 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 015BB0DE6A28737D365353E9F0052EDB5272A67F83863341A7B798CA9197A051039987E22E6FF95F31EF2BE455956F7C5704FA4108F600DB247802712ED268F35B27AB89AD0116245783DC7BE9B511EE4A0388A7EF9A234E1161F69910D3C0C76738DB4BE4480EA0E8BBABB081428410C34CB54968F7DBB8CDE3336317B6D813A9A859E4AE69BFCD855D261EC89A54C510C4DD2F68CD5D607B299204654F01DE5A8158F2E2BBFCB20857F029A579CB769B3F232A17F546A653D04FEFFBEDF3C6875DB3B1905E73A4C7BB383A6B825C240F047A2B6F6B944B3C51362DD2DCA46D23CB502A7267ACDE99A8E76E63086461EEC706612452E240F97873CA213F9FE6A72E66D91BD3F60D04F7DA7CB059258875F0D458120F0800BDFCEBDFFE2ABE784189406C9BB63F3E807BE88C72CEEA54A55244B481875DC2C736D899D9A928CF02C2B5176D8AC5B64BBA7D949C974E613F41B5CE1B687B91DBEECEB66AEBA8CE8799B3484D9255D54559ADB01D960710D198FA8C5A18EFF47E3399A8E2C386D846BDA56E5D9E7C9478DD563C50D840DC664D105EA92B62C6656E2CCD31955EE7C438256B2275036DEB2380C08D26D26C1E638F7EAE12F5E8539F74516F1340DA7B16A4EBF8ADC93F690FF39B39C612D42F8D4CBD764B2F7CECD12250527810C490B0FF8A3991E3924EAEC03F67BA99759232D00CD58130BB3BE9235E14772462 + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 9CE519A1F37B2C70C6F641C076F787E8AB26186EFABEB6CE18EB8E75B0A8EEDE06FD78D326EBB3B049AE484D6AF7B1DAEAD737653717796A34DE1DBCF900FC59B299756398EDCE063C5654205C5FD268AA71A639C35E35D4DEEBFB8DCA17686B58A639F0DA50E1A7938B47A466D03DE7041B5192FDAF036547B7F22D5A23F8B6AC48E7C67B7372AF0E358CF73D2FA922AB3CE823A68B95BC3A543BA236E413A3CC2B3181DF4D3649474213A0F8148836230BAB4AD722B2A3FC446C395977CB3875C06C0031E807C24BE7EA9B025248F1A99C494472CF417A803C69B3FF8880C0D364512166F7E34F9837B5C66931017A4DA3E63998D0F402D5A75212C8042712AE4AF4B4900EFE6C9E1EC5ACA07FC230E6E7834A5A865F2DA71EEC9054427945A913C5345506EE32E6AEFE4EA3E488BA07455D98C94B5078E75E2304F2E85DD9DD4BE18F023D1AC6ABE5924C8E7B8219E3248F14EB4B78B6C16FE2C3AA40B97566AD3BB89154926BAF8820D7E8E4557F8138EDAB423CC0C800DBAEC892482B6155422D2AE3C1E90DFC96AB800FD35DF97092AB0A83A40C7B925514CCA3833BC1FF6B7E25469D6744A117699C481E4EDDE082211E9D94A73A0C29FECDB271E75AD038EED0C7D5B856C1768C4B9749B25811F16B1C408C1F2E3F2BFDCFC8E5A329B675418ABC4809DCDF2A3C4F867AB9E0C0AE28924FCE90802715FD5424E783C4 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = 648167774B09A9FBFBFD351051D18F9112D63B066BEAF5070D3780189658FEBEA0A4581DAFC6948EC1FA96F0364EF3D1F2323EFE5294BD76C28632FDDEDA51079E9BCA5C1EFE95F76BCD4593836B9C64D82DD6ED02AD07622BF2B1F7F0B0738E0E3929F49EDAC321268C78D47D853390FDD8F1BB29C6DF469360E75E96493DD4FE5BB2D0816938D5642B87F0344FE4186DDFCCA06643A691BD9272F407D6DF7A1633550F076042277C325152C8673F3FD6C980D6BDE4EAB43018E322DD3647DA183910CF4BCD3464CDFE0D0283E79201553BF03B028FE6F4862953F865C6108BCE672C4DB5503C1D969F87BDC310F7B78D9DF08ADE46F54EF718083F90E60599E41CCE34110BEFBE315E8A0BB91D428DF35AF59CD4F0C8059B6ED68339307280B05C3AA490B7900C13C3E12F1A4A3983DB5F0A620179AF9EF900535E32146C8801C750080E363A6A67E4A9037FC4301FB28B006822598B38DC38DEE16AF9A1127518684BFD4A0920C7267AD52A447CBD6178A0329D4DA146657549CDCED7ECF9C2053541943AFCD508F677549F364D7F793A7B7BB8FF12B7594FF768FAF6DD77B3CEFE97715FE70D8CE8468AEB8266CB09F21285A001AE13D0FC8F29CF8380685034A886DDFE8D3AD57329E6FB92D2A079E5AF01F77AEFD78A29D294A6A8E37E20159408BBA4F10F6FBA5D54D4C4D93B1ACD65D84088ABA61EC29E122EFDCB6E + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = BE4DDBAD9BE9ABC823F65A647910AA06265B547B0234C1AF6A12987000F710016295EA57CC5F30656C56A66F28E85C24567ADF2224011191A045C23D4491E444114392B74BFBC60858E719A67BFDEBC135725DE961EF7A81AB90CE4192107A5CA84AABBFD919BCDB8270E8079E29EDA4C22E130A1F046E5A87A4F2CDFBB4DAFAE337C1FDB5BDD9DEB321704C585D632CBB7A0438427A86CCF7575856B535B2E92A3872F2B5D3C945C16F3547B4779E5798BC82883E850585A7FAE200A47B68FFBAE54B17238D7CB3FA2C9374942523584D85F1485969BF61AF5E117275FAD27577DAAD38EA3702B5DADE3D27B4A2E2A66F88CCDA568D5D4A11E1DDA5D8BA7ED9CBDEC91487C19E1F9A57D59AFE374741D8FC9DF32B3BB60F8FABEA1EAA95289B43D1FE712A50B73BF68CAD16AA25A1DD95D80A0F174061A01D9F18509589188D186BDB991AC9A41423BAF9154210ED6CB098D6844699F07A388EEE76E8DBA801276F6D2AA7965065F3C923AB64620DA1E17A444790F9B7B326A3579B9A5EA5FEC313D294F97FC846D721945B6ADDE91B66454FF2F2A81CFA19F6B45C51D07BE8216FE7C1E052A24904B2EC2E9929314CD9DA48450BEB8FFED8C499816C078AEB2A1B52F07B5917DEC0A7BEEC2B83F778BFB15CE413C9A4307CCB7C83C879824D0CFCCC4B3AECC519326FFAB353E37C59BB99FFBEB44A95BEB1DAD25843BECC51 + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = 2378C76E867947E94C0383861E60E659401B1177BDC1133FBDFBA3552B458DCF1BA41C825ED8F41F7F8C8986B0A47B25BFD5F0294FDC707C8389560BE932C582E2B5C63CD85754E9D96A9725C12AD234B887FD5E96CCD52507BC564F59E2E0A8FE89A444AA3542C2B302D1B9F8F3D41F1C960E1867A4FE64D5F6216E64199F3D66FE4BD22ABE7B23EF97328F5FDB5CD502A118000E0606D31560C2CBD4CB7EBF90A0AA1826CB32AC85156B678198D225F4D58D3076FFF881D9E6815DAE811E7A04191602E4287F72C95A497C2DC47C925B7B1B78BEF334B153566A8B46AC8F6CC0765300E970B12ADF8E0DFACCA6A59092891D73ED55DD624A2464509FB5610BE2AE0696097D5645CBC9E992B7F1F39005EEA0AE0A8B55ADA1F28EC2A544266462E6A3BA97A000EA722701690007EA7FD41FB3F83BF85D5E19AB140F2FFE6DD70F199B7995997EEC43B98ABCA0E7902442D0F14E7E4B288A83F8E4F5287F78F57A2DF951D62BDB9B9CFDF3D28F0374BBD3B4AB955244AE444E23988721E5B3C4F536A80FBB7114DE769D587600C92539D92C3B2621C679064693BD9893BED3C353AF5347707B6586912D6CED5903ABB41DBCD5B4BB67EF2A315F8BFD23073D76715E869F474DF6F5C98E3C1E65117B1844B03835187A6B2AE054EAE51797DE704C7D4C88A258EFB12D1FD618D9E95C4AE37EA0F54EFFE216C71A0F0514BD569B + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = 66C5253CB16C479B2D7B63E7DB76CA275F14319DACC1D00C08A7E170D97366638949FE0FE252448D9749EC105105E8BB483224076FA9204F9A4585F150EAADD931B5D895EDD8F2AE37E30FD991174064F7CD93B03434C22A8E5CD27CFE19B5D8F4BD405A9D182E4D7F9A2B009C68EF4798A469662E40467AD626FDD0553B0EE86320B3DB087C096B54FD9F367199AAE4490F796BFE72DF10756BB10E336DBA6305B686A291D1097FD9DCB1A629F38D2ED30B87A8F5C1EA1A2AE384BD5F316BF112F6BED8DDC50B4E17509C3D194750D02AE76FC1105753B07130861E866E89B2DF9C498C87BA2B9161753303E0DB34FA6A523A6BBCB262D3C644D1EC88F9FE1710A65290DB69FF847D850107E028EE6CF444E5AA986C98D3D5585D66B4FAFA1331FF4A6F54EACD712F39FCB234F4D4CB8C992D079471A269CD3D3F733F0806A78BFC30F8FB3AA97F2F2AD36E8AB019D7E833855299EBC91CA512FB226D797226486153133858649C31CE43308E6E0499EDE16AF5FCC5CC9593A71BEED6206063D471A79F65E640B8C20A131FB15439B9F35D6053DBA46B2F2682281E9572720BD3945CAC603E61E82BCE2144A19DC1F254179E011D096BD9FB2CAF77BDA529BF7F654118D5DB1CD2F973F55EC7B11AB616E731955752FD8347718CFDB2CF6EB6551C449CA601299166DD7E10EBA447DF8C29E96436B6834F162D7987D9F55B12 + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 0128B09A01815373846EB62037245B4BF522303FFF74A76B0AC17482AD79E0BB2686871B1916DF154A7506985F2A3A6D86074C988C2FA255DDC266CB8EFFDE2D0275BD3360C1E920595E185EDA95B54A0B02D6BAD88F63509C5B816CD375C0281D1FE29F11318BD35E4AFE0CDF51B9C7CCEA285787FA74A72878DD3878565606F4889D3454913B0DCB7ABC4B2F08FA3F2AAEB6856A25185A00B1BE8A8BC7A9A34670793923647AE426BB98C75E45896D4DB8A990D2712401694E202EF2E3F33DF1120EA9E821A874E67F37648A898CCD759A1DB6FA6FD5C14756538F725C468BD3C0B6973A7592C8CF0091D347174E8D954E5795D360C4DE1D0785FE45B71DA884659C98BAC3005E5BD88817450359B51510AD95F16F08ECC64CB9842F0F8EA005315F6CB17C1CF6E01BA64F6847EBD4472DB1AFFCBC0E7B7F5EE8DC5DD18B148BC542CF0987E294AFF2EDB3EE60C8AA4B8BFBD42433243D55B4B9E00CCDED77251F789AAD74681880AC765B21E01D499553ACEFA48456A7E70A9A39163C2E089F26C94733DD63EAC1D2BCA7082145402FD762665C3F72760DCFF13CA4E80F504148144054B714573381C7770C33E07D3A787ACC072F3C35B9573FCDC352CD87BE8653618D159F78BAF16ECF6F8E316A97ACDF4BCE2C65CA1BC98F257914FCE9BE62E899CA3BA40A98A57AFC3D63B0B0B92B69FD0DF0451D7F34297523A99D58 + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = FB206D80AA1D2AF8CE64890D3FA84600F80423AA98447792F732FCE4716E559F7FD4338BAFA60937781B68736603B7A86F1688A2EC60880F6A90781DC8BA3D9B329D662DE842961AC84D8FC876449DD8C393441767206188D561AF59BEFE6B91E365413A5F357622A670E22E730183358F9689E70F1B0D09CA9924903379394F516003E37B800602EDB84912492288A2E09B46BACFA3F4677D2B24605A584B3CE3174FCD1AE4DEBDC99C9A75EA7F4E770E2EF184F801E4D111EE5B11950B29376FF19B30A50C4DF93A82EC891A321F9A6EA1E0F96EDA2FA0C2FC176D5151A6DAE7C9536AB17BA47AE31AD69B2AF9248E5236AA58D7B864202512E5356DA226D5750CE12C062733BD73B7163812EFD452FFC4CDD8E5611996E23CC0A5824C5AE4ABB59A5DAE40563965483B66437B1E75369FF6AB31ABFB34581CCD00CA76CF72AF7ECA65824A46A48FB88C8ACA06CBC5D3785DB3AB78BB1174354C7AFFA85086444D3EC92538CAB178023E46C7E5E5EA2FEE1A970F41D374A73FA6D477D224F095A829AE8E0835D197DC66D1DEDAB9427DC085A6A95C4F065CF656AD1146ED0C45EE7BCF9F6185358702685E9539C921501E3338C2A6DF7B5F25BB248E567F2173164CDCBD8DAF0130879CA8362CC6CA28F531D81D607258B66D589EAA9CD5A22FD7490B9A01CB6C0958C2820FF832EB94F0E0CA959B93DCAE56A4FB52981F09 + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = EB74359AE344B26E3533947E26CEFBE809935CE7CE0D597D1C4125542FFBF1783052E0F90A402D7888CCA5F96CE9D874C600B2E026BA4E79ED427F3DA96448BEEF4701C27CA31860790156E93B12A9F42929A8F8D9771CA3BB59ACE00C4732983997DCAC1046E574EB9E5C912AD4E3813001C86C91B6385E92DFE92FF5CF90652680392A33F6A1937A77DF9B9EF2556643308029DC5B5FE23AC9B567E6C81D0E909A279E58215D22132ED83DCF743065C0CB16EB7B991F842125254BAC71D80B64F205D799F698F0FDF7EA19C9234357C5838A0BF6ADD176416DB3324CB07B543156C38C2FFB0DF104FE3884A6B8F03B0E751B3824FD097FBD3557C5B9C962E9FB29175D1F20799FF6AD9843E1A5B64B2E69FE39F77C2D1A3FD3ADB8672D1771FD6769C54775DF97B0964E14B2B326362D9792C0C4CDC37AFF30DC3D007AC62141D370F0984F4B3D16B87FEF8028792CA92CE6620952D766474566C1E96DF672F3C335BF2949228006BE2B1912C0DDFE66BA6648EB6EA8624B5DBBDEC70BD0A745434DC5404C7AC7DCC94197F8C48FA381A5E8E7FFD1C35442C04EE2378D2761B3647A7637423300CC09910B9A4EF90D4992A8FF8FAA3B6138AD01E7C3C89660E963BB2422649589DF53D5181479CD55A55B1B2807ED120FA9777ACFF785225129AB1802EC247C48DB4BBC284768BDC155D77B072D686462D831491C80752E13 + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = 691033AB5C34D52ACBB6EAE6A669CFB53C39A8020A6EBE9600ACA2D9A2ACFC898A0DAC7796D46E6F304550A8894A9E1C516A1A127287D4EF74E9A403D326DABE1FC548D1AA1323C2AC40938708D7872960E11248235D2AA39CF3ED88A18F8A2FC2794174DBD4C1FB8C686B37641C7CDDC565683F0D173952D2C1DC26ED5F5B806C127114910892B1BA0B0EB07C20AEF016AC83A78C152B4C4EC41CCD8974D93E686F52CA8656DA6D85BEBDE10C4447005278630595379F57C529C4EE94B8E4100AB930206D9CCEE8811FAC2F1B5425B6F0740FBAF2F8470A9985B77865750326CD60F855F4427F6EBBAA27CDF0A0444FF278BC22A55BCA5F90A58B27D792EE6E8998E94819B673B725079C95F0EAE473F62C09D9BB1060EE9F6263950150461A13D758B8DA498284F8F355259B2B332AE9117D2A35E0E09BC8CA406C14E8799CCBF0592BFBFB40C1DA7B5A88609D71093B46A91FBE94C78A6C9CE9C81A2E189BD832DD746CE19CA3AC9F56572FA691CB506CAE417F405088BBC6425118BDBC0C99F97702029C177D8EC398DFC19A98AE3A3F86AE1A8122ADC5952B1891269C46821C1561B21E4B47F36904FF7C6814C0A08B6045400BE72EC1E647887E27AF46EA49C9EC4FF621E544390BF60429CDF1307C93A3A1C8FAE2EFB6062B9314A06FAAE8F84481A369B64234ECEA944EC6FB3CFA31258017DDB373C55A64C0F9E74F + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = 68E791106DA01933EC70EB650AC2F03EEF1685213522F2E88EA7F8DFAF92AABE75EA0D169D9BC11D13E294338A57295279B28B41D8A4B738CFFD629FD4D7D5D8AC7B4304E384DB31B0328391C19CA9D381E66D41816E647ACB66F312A418795C0D65FDAA6E25AA24811022C2BE529C83BE47274E8C01D4A2710D6AB8BDF095566F1B3DBDA7D4F1BB5BBD3EAFD4486AFE67B682066B8CECD447B9C2E9E9416F2CE5CA8CA1282B4AE9BBD7C842F776BFF7372591CB3EED785C82A27076470ECA15A33D5B38AE02FCCCE396326F1BBE28995C0F8DDE42C09182995F143A0F2D4427E8F2497F0B257CCBBA286C2FB7885B642494F933B584B0CA83B545FF1521F67EC8E5AE4D93FC82544FC20778CE197F3A2F64EF3D9CA583A0D821A5151F462CD70C83724F9976457EE49D3CAEDF9B6CF0AB72FE7DC0C9F41F9C5ECD12D5F2D8BD6EDB2CBE11F0462D36CF248A9552B0265E386DD44B9853F0AC63FECE4F860107903F8DB2E1F6F4017F05338FEE8467C0C40720663B54F556464F4E87F20192299EFC178BC73FBBF350782520900644265863223BB42A5ED2E416B9D31F3021EBDBA693CD56C4B17EAE16D1A10A381713AE39D5AD6A220CDA8A91ADFCFAC51C65D03910DF4AAB7F7BC1CA49CA6AD08EDFCC976DE0229AE9D379E067AA9B3FC3A6CD0DBD7D1FC63C4AC2116F9BD3CD70B94A53B71987C17F65D5E77AD5674CC16F + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = 3AD90F57FCFFBB40076CB98869510BE446F8161AE4F37F57939F8084CDCDB4E64DC7F380FEF8B68CF274780A6A5FF31B1D573942E717470742E891B084E24F9441D27F7FAE86A8278E84601B9D4830AD9FAEC738FBBF86AA299653C2ECA3B233EA2D1350DE9FEAFA76FB8986010A26EDDFCF33FE976071B3C719EA15A2298D060F5AF88E3F06FFB4C70AB13886686B8643843C65BD882C924E760B9D78D705B78B2ED14980E9E89D6E99E8945B3A92B9AC282642651D94600D8E5E583A59BAE4CF6C4A38353B90894A7AFF2881BBE06464FECD3A54B2726A55FEC0FE5BB75F403DEFAB989F75DC04123F5563999D1503413412E16D671969AD0D97A6808B1957A7481D32BCCBDEEC7809A90343EE59C84CD6AD134529CEC5E42A31843BCCA3449DD3A2E075998788811A601A3661E241A88406071B90C88799F370DC83B440C9247DFFAB2955DC5EF8BAE47C1AD9157CD0F5DB61FA245D7179A8768BB3B2DA7AE28129258FB8A22F9FD4A7906432EAE33158D4AC1550E379EFEB091C883A0102F7DAEBEC2AA4EACD277A7E45DC03CC85FE952D326C3521BFF980E16BB00426D2138A9F32593CD1355EB7CCDE7FAFA16AD8638A9C16CE34920879E753C723C494E4F8B18251D20EC437FD42FB178017E7569647720D309097C982AFF3D6C54AB23DFC665023A01B3990E6A8999E7037C0405A4CAB91876BB660FAEE8AC30FDB9B + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = 58B040B46002BC13D05C76E840037B3EB08DD51881CA6281595D39B8B12D1C15F9CD40D94DAD00469BF5EB73205FC649C501B57A33F4EB39A7FD76769A6EB0F84BCF985C6ACB281E4989F5EDA5E823C31E94F41E577B0069809E1C3B09F4480677D56C487CA148DD5260027BD9EF399A3F08F5F5BE869AC7A403B53532B9775DDEF6B80918BF367AF8700D6B9E75FDCC45EB405D37E9A9D7F9BFE2517FB5BA5225C72AA292AC7835A5BF4FA245E782EA67081448F31854F91F21DF99BC13C615A67ADAD644FA6336B2288F1E29C649341C6A4959E5060A99F69981A10FECC30E29CC7784153816BD228FD7859186375FD66DCC78EE4AA5E9DC0B190FB8A6CF2CE15C7F3E0B54597A559BDCE7BCFAB8FCD25EB0E0C7DF02882CA67E2F04E6266558C7F36FD0A2BED459B50FA2D883C9B86AC8E40A8E92F4099CABBEE9E7FD1282F06B3D590897BDAFD8643729B09B47544BA3F3AE28DEFC3DEE3CD6586B340835F3AD34D6E16053E2AC94B5CBD4FCBBCE2D0245421AF021E6E0C55C53584CC917D99818D4F0585AD66500AFB13C7CF90B233D01DFDDC738C325E20B63CF82A307F44C543BE58974110BDAECF43468C902429DBFB0458936F67CB59C4E4415B5D03109E88451989CCED136DBA9002752CF608423CA52483B4253D24E5B45443016DEE2D75E7EB9DE415A148C439052621AC1DF79E60CB585A4B08CA70286C77949 + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = D0E4650C52BD1FF64C2F5B7853E8A906D7457B67CBEA12322B5D1D5BCB8C3EBF49CC6DFE8FB41895131956661C772D2B90DF4BD6B379715278C9E72B6FD93C3968FBFD3194C2C527D15C6311F1990DC2ABEE5B6645711251B3D39202C9D3FB147B39D1D3DA108254FF8DEADDAE6599E17C301BC18DEEF2A9BA8FD035A084D5917FB9E4E56FA6EE7731332B50CA3D2BD069F793AC6867448697395CC5147481F9F6499433D6242502EA1E6226A88068032F656FC8D509D041F1D0978EBD4F2EB347E75758A29287F5BE37F9D6C14E4934E5E16806D6DE41FF8268BCAEC27E999A7BA73B2131147FE05F9EE8A491E47A3A7C8CC93E6D2DB374BD5E091810F0D7103215726A6F80D62C19D9BEB92DDAE8C459002376F58511792CFBE7A2158EBBA922656ED88163072BF6667F121747F05B84D470193ECC8BBFAB750D162CEE7139EFECF889ACCEFB6CEC328A184F5CBAECEE51119A87CD21110FC20EE85560CC979362C12F1C7665ABE62D5ADA62DA0FF3682B32C6DA7150841205BFC43735741E07363B9CB15DAEDB03352BDFF62CF00399CC429A8A25CA1CC765AED117B72917B25CD2729CF46F92D8D3F1131AF9B6BF16226140CB57BE5C96CB2E4A369D226FA82BF0DF3FE2A4EE373434C5CA68682C0C594B783A0B2FA6604EF3828510E1C360A617588AC81BA8D1C18C23A30D245DADCD1C6893D3809D6EB305E538F39DCA + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 1EAE5DF54490647FF03985658785B5BC1480D5DDF3EB3A1FE649520E07C0174FDF1DDE9A8518879833D64A99F3255568223E2DD0C9A67BAABDF222C2A314936CD57578395288D40DD047D67ADF8289207C6C672023E25A5F66D2BAADBE2972EA32516AB753CA37AD5F436A94CFD62182B7D68EE0E7A016C8540840D1EADB3A158D88A9E7C90F551FE857C17265AC59BBA6947F24582319490817B99A591978CA945D4D0F23499DD3AA73216B7C28EEDB5C8F3C0851859D6BA9B04DC67FDB4BAE4D73BA540E66536BEFE2FFBB5DAAF91CEB627CF4869327C5D3C2CE79700795E7975A8C6F9C07B95265614DF45E50EA89DDF9FF5F2AB150629937B9197E543CA30086E829AFBDE5524DC1064AD96FFB4D83EA91CE7CA8843C4B1A9722872057B0AC9CE57E7C97D22CC06FF1F74658AA28BF398EDE9F186AF6E485D6408CA4A4564689183AD52EC0F38250CDD837D684A1E4FAE12306D066F2F1ACD56797F1DE2A9DE8095DD464BA58D5B2D58F9312F1779EB2B2ADF1773F82FBAC43B18EA5B0CC9FE2FFBD9D2AFDF61026363817B795A2590336EE1855384E2A26C7E15E8706AEF41C671F2D8E2A0EA2B0A558CB35A80952825C845875B2A907E84397E2A3D125F64C313C15DCF0CDC6637176A58FF6C0BE30315863C64A21A1FA147AF0ECEDC22FDBFA9CB892FB17D26C460B7ECEC9713E90A46499BC30CD2735FE98B13E5FDF + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = A8A37D45AACB607C3A2DD97A43E22E226F11EAA21DAFFB8ECE97E42DF057DDC9459EAE2AD1C04ABD300833E6D63600320EE9E368CD2DEB5E38ED7726C583FC9EB411C193C42DD8A1D5577ACA20B889A5382C0F1A59256BEE99AA09A6B2CC7296A8DE514CE14173E683268746738C2F8EB29D6F51AC434BF51872BE626241E43183F6C7621479B62739B975B6F25E63D9668D3198E82E66E9E5FB871DF0AD3A06DA385C4A7FC914CB371DC1EAA929583F14DB910C8883C7B90635E5D3FB5A3652E98AB62AC884C885C4606E8F453B89BADB15F7B9DE49EFBDBD210859AFC079FD2A1FD82ED87949AF0906B5E75E561102739D4CC58AC9420694F5C043DDC463E0438E3851AB841CE31D994E1FE378EF75E7F979B7801A284AA8BE26222B2BAF06857E8ED6765C9C040798B2A6520E56877C1E4297AA43A860F734A6667C1613C0EA76EB70435BD64D34B11728113BC5CA24734A41F3203641D931CFC74E46F3D23037E3878740A6B152A77BB10791E09420B288D89E06DBD6B882913589D82DCD808918AC853ADE79B7B8104637F8C73940890AB44E31DEA7830F2BC08C26EBA38E3B1B198650A9191F366D90BFE1A4CAA7E03DB8357BD8258F13E5BE051E638689E99BFA6DBB5E2A623BA8B2107AB7A4C7551918A1C023F1FE7DD5564861FAFF0060E30C14941379117A3D1845842D935C4072B28913A3C89D1A63D4658048B8 + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 140DFA98962AB4D69B6063B0252DE5E4D65E4C00A9BE1F8EDE781A54011D1DB01366193A4235F6E7D684B847B2DC4A0A5239589B4C0266817DC37D850E5B23A40B50A6D9D1BAE6E64FDA20A3D27F933AE866F9C8F00D455D97BC71D5F5A7C9778CC8FE1596191C2B1882DCEBCD37A9A8C3605359E886942B04EBBCAC83FE730B84BA3B4B3022E0B1A1110EB4D23D2E2D05D77C230E36A1ACCB885C0FAAA312B7F975CF8DA5D6B118ED773C5F1C75366E16A1AC75BE309EB328DA88C9FEDD1A13C84E2F856EB0DBB249B3C166F9CFE917A93A3EF624DD4782B1F84B3E2ED70E493615D6BA9928886A59617A35AEFED5B46D773FD5B22CBA302205CCD97426B7095872BBC7D1932F6157BD3FC9D4A2182FBBCF4BEAB71A026AA212BD8CCC81EEE265E4F53390740E3E9B1E37CA3A7C3A4FA824D0AFAAAB7CC89C35756D8F80896E8686260CCD94857870490AA8AEE2FD3842C62A256107A7A06F87894EE70D218B6166EEB67B6F711D421C45FF2CCC903DD1683D12EB5EBB9464EC0B3C92CB62EA6CBF37591B61E6BE15FCEB0C1731B42D8D3587762167C3A43F62FF57D58F2A2247CDF43CB756F6A25FCE0084D74BAA73A8CE12E41953C03C2A9FF94468A69C03C2B5F6B85A2F16397326C7DD562E90F8439E720C1AC0B4273A7DDCB71581DB1D6A57BA4E028BB96462DC54CEC9EBE36C704C44E5F60D04B993454DAF405795E2 + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = F0FC5662D4D28B3235E49CFF708D90BCAB50764C4081E2F30F0479573ED4FCADA1A85443D1369E09CAAD970570A4CE3D8EAB46CCCE3E48DF5F26C68C7485911286DDB1B369D13079498653B21E3BA7FBA9007500BE927490336082C1D7FA5B78BB741C459177C05E6294DEE054FBE526D983B496E731B3379DE525493733305DA1E1E09612CD179EFAB1E6E67AFCCF60776E319651CE1A1FC66AC945BEC6C45A99A5BD7763ABA920314F04E67EE193484E54461C68E67A922DAF9205FAF10F4653541F2A5CAAE6D28449CC919341CE63939A0433A9DBD307020E80B65AB7B2AB39A9C29D167DCFC05624860B50B0C3FC3986B020B48F5FCF00C3A6BD8FFBEC6A34ADD7E97B106B4C1DAA9E5EF91B797C55DE36B88E9AC19B301979BEBF36FB86F4F72A6560A4125BC1F657769F89CFB1F3A29B2A0287072740E52A60C1C898EA42CD9FCFCB3987A015DEDD297F8382D639CD7118CA85255D1F98ABF1F5D94649A161082D7D5944B2B4EFE4975D5EA38138B91AB5B61A790349D5463D2DD278196364115C18B95F916EEEBD71A21DE18C9AEB22566D3AEF009A84AB5479222EF8F37DD29C7B22D0F1627C25EE467607F86DEBD8267A493CE5C361A6F6126DBC8263B6FA5D5C9B9F8AC9FDDA42FAD433BC9A76A218C1134C1CB5F03F3F7387E245089A5B18C96DF31211B5983214B64FF3E1D90BC234A2F5EF7E993C8F4E5FA9BE + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = AAC37FF9FA6F64049B4D72457C87BEE3FFC23044ABE0F1D121392401B60E3FEC089D4AE3340961915BBC79DCA9337C4A02EE99AB932B346375169057E8BC731FAA49422CF5296122471580AE4263B6C01D8BF9C7F736A4CB652AA5E3521BDFCE2CE11332E53236EE4F613B2800C28E5907D2C3214F6071611496F80594193DCC09AFCE3EAB1769A5FA2DF9ABE16AB019759A07154D21C3365DC20BDD7C9ECA82045092EA5405B56861BBA693F322871BDD64E2E41985775ED7A3F1095C74EBDCA15B9EB9F2B86234967DB868A082A146A439746901EBA5DABDE0F133D99C89A4D6F769D1C6FB1758B3CB1E8986A025F5AC2A8D6F1A9AEB66DD3C41D41221706A4824CFAC6A6DB69E3D157244294B9D25B59274B1FDF992988F3F18B91FD78767ECCD352B7CCD335F96D3B3913902C885C470C2F7D2B00A92269709863E77D3FB4EA1C80CB58C9CFD996E0C6FB85F3BB5308B95E8B43555CCD4B589829DA442BBCBF0A5C7B9B24E3DE846E9E8433F1A4A326ABC7AF83A5BBCFE9B4BD848414B2560C58B3E9A3CAD48F860BA46A5111D0AB629B91369A964BF22B5C2C6DC5C3A521DE18DFCC43BB2E641AFC466B75FC3529BC4B99B843A809773DD2130452E61EC162FCCCB0A94B3AB0848EBD59C9FC25E84349CD2154E5E326CF2B97071E7C47F0F574D11729EEDADB3D0DD0FC69A7F7224891EFABE76942808D6459217F06A7D + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 3930D75F8AEC436928F62AC548FD6B215C2E6FC22E918690F0CD699A0CB1AC218BE324232295546CB3C421E939222827890A8FC563F6DC455B7D0CAF24C7B1BE44256DE645EBFD281F263C9006F78A69E8939809538A74E646E75C4D23CD06EF68B617E6C5D36C85348373FCFCCF19AA3BD69E18CA670091D2B50B0C2A3AAAE21FBEFF894A189512F4EEF17258AF048D073179F450D366295F609567EEA83CB6A2E2B8170F69E739DB47874E1F249AC9595442571D100CED32C151ED4399F5AEC97875142EC1E8B748A9FA5C3EDE5548B875E60A224D9830419E233FC9A88CF0F937566EB289591916C1D159BD68B380F784BD3E6A00D4C785694F38FE3D8FBFDE5063B91FA397AFCA0731B97294269EF8157B531B08E15CC52AC8E5E768E6DD3905BB9E1B462481AFA989441CF0780CE6B1926D71940D4EC82521A4347992B37AF9970F47658B05AB54A617275F51FD723A35E72F9F965BA4330569573A58A0021E1DAB0AF22EA03E1BFE1E88EB2D2B97E5857793FE7B63371F3569C77A77E331924DCFA9FB8072F4EAF3A78FB6462A5C68F26D034BFC0B3BC8ADA4992C66B4C8B2F0489A446B26333146B4420CF2B5AEB41934B3CC05B7ACE62AF74997B797C82845F4C4D7FED571879D255EB34482B86383E924D45B4C9EF52E76FF236A0DAA1C9F6D342BFF82305FCC88F8B13FBB724A9FE732CB33A6D53D95753FB350C4 + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 1C8C8643B1FA6B0D217D21E542850127895DD4E455DFD136C4E221787A8F3CAF76478BDE517C7DC3EDB97C8AD824292EDF671BC4874044B96A109BB5821858E544090E892B3EEACB739AF35EB05DCE51B131394C9972247F1C0D7D335D18B9355509BBE94C4DEBB0C1B18614CF3FA8119B70FCF5B59E37673B470CAB14302D805BC32352B340FB71F7E824EFDF2732EF3D74998A5AD70898115C9CBFF3D5067EF05D859FF932304A5AC5F6AFC46C879F0BEF369ECD7B5065ACB19C655F7FC2DEA4DD7AD38A2AE841A67EC1EB4869EC285B5A517C930350D7CBB9C61CDBA188553B9D4EF140DD1A8ED312822E79EA68662BBB1AC3643AA56DE5991F5F128F036B32023CE34B7A7AF7CC43D6B67DEADA4849BFFEC361699AC7175311195822382051BBE20565552014D6A4343CD94F7F4AA705E1D5388AFE2D96BBE8010FA0E82305B94B70AD954BD5F6FBDEAF090AC510B75CC91DB450EB522183371D6B9D09D3FCA171FD10174ACF3FC47D915619DC0D06D8567C4E8875D0216DE9C7AC1E7D1758DD59573273886897382CE8E77552961D51ED0B87FFCA38BDB6734A23FE0C9A403ABB4FED73DCD504289E7E14906A10B121A57B94C2C37542EA833C55C1130AD70F753C9A368F7C7D1B51450BBBE794F2824713153F83FE6AF09545ED91F0E39FA732205025A49E1538FF7DAAED5B72EEC88862DC0213A012239DEBD24FCB07 + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = 1DA38DF421AADB3DA692F4987E171113E15D3685DB1017EBBFD07BB68DB236903F3CD3EC679B6BC9004072E90ECBD0FE0F2FC4F5531D24FA6F25BC6EAF4B545A2149517CE19971E3AFB866DAA702DCB94982446E7AF77418164C5E92EDB14D98EA0DC32A3E0BFEA4E71E9C8F58A751578200772A1E0460083021552FEDA426AEC69346E0FD31FAE18B894B67DC38D7E54B662CE051A8453C1DB20F55095C177F5883625D40BC4B49965C48C4A1188954C50DFAE423A12315DEEE0FEB3548AA9752432CD6857AAF42BF80472178D0714D777135898F71D838058F9F31E6AC92D819C44775C2EDE28038E565DC33F1A157D8715AE67AB993179469D6C98E8574A7D8FF2A5F12353F18544E2D623AA42AF85159438F247AA947922A5AAF98BD562AE54599783853CBFA5CB67EB1FC36CFBE5AF1C18C99D867CB02966D90EA8ED648831A2228657972642A17DD34FD43C11CD7D407CAC86E20D8816E69763B60294C19497C151620A2B93B3B3E87639C233C17B9B865E920F6EAB6C72218A182DD46177A7AD18E3775FC0A5A0EC956B5E92D8B48A22A6364006BFD2843B3EA4CB63B8C0AC10970853D196918DFD513D4E1A1558EBD3D4C60BA253078417304A50851BCB6E41B5758A08BE338D62B0021851A42962313C11BAAA95E434F6329FD5D6C85D67A665A675CA527C555C77C7435786BDB8D9642050931C57CB79AEE5973AA + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = 660BA471FA9414C985A47B1941804295ADAE88BC1BA145DEFB407AD66F193BE41EEE4E0F71D175F6D1D65C4B227A899E0D282AC714E50E3002AAF8696B00A736A60C9CCF94D15E46DB68228BA174DAE1575138D3F9EB76CB16FB09A50A6F7024206D4A02277D2D0B53F189CD8E45E85F4C0FADFA235C963A9A63743D88FADFA6CB99BF47F32488B4E009B47F7BF59A01BD92C0B6E771E8784B67A0AEED96B29E6A1B110B868B144105B85C11CC01C589A89342DD456E154A0D2A638FEFEB03058CCB301FD551294251D32B3F03BD62AC5ECF5A249940C2401F751A9FCF036A384ED26F569D227235CB47673F7003C4EFB36676044D09CD586A54D744AB4922BB337D4436C4BC76CF4A478D1CFF7F7D97EE2DAE912C5BEC910FEF7BAFF0BC9E32DF5ACE8DAB30840A31CA192E258A4141275534361977D2FC22EB1C1BB62A21B893A65B16C45ADDD3032F2CCAE38BEB6DE32E1B5FC70214E2BE1B7BCDECAFD744F82EDCEC99F92D46AA66044EFFF26EF3BCE081A19F1B7392C68D2414D92D426D78B4BBED4AA32D05BEA547A8DCCA688CEF6B0BC754FAE7C13915B97478BFA72EBD409FBA5AE48CC89B37918F04C068AA1883F2A950675761120989A9F7821799F5EB64C07299ADE85E1DC1BB488BCA7B96BA7F04D49CAB2B41803F17BB94CBF04B641E140D8686EEDCE954ED1A712BDE789C31F02F721F467E167C3E9B035687 + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = 9D027F5434C6F6EC15B26BF3D61F31D81D46C0FF426D4209E0FD3F9A3E01D0AF5BAFEA98F9E3FB66E8390AA2ED009C0D6DBA82B3E36CED600FE79C0F50EB1C1F7530F20D51782C13A79AB1D0BC655112D745043911B5A9524E6EC88122CDDAF702C34FA8840E8785A7046B6794E623526826B471CD9F62CF9AF02E398C077C7F8608730578AD22A44CDA39DF8F101CCF21052C52FC12967DDFC77C153D8068A2B0B783376FE56B1DACD9A0B3E87645132BEC0F3C2C9A521DEAC286750C2C42B4A29B29144FB1B0F5CC997AD57D04BEA965343843788DABA5600A7AC5403D649097EB402205CE4BB12EF836FD4B7CEFF704F8A2BACA5D6381504793F1C6B47D15DFA45F749A28C7FC16C695A0BEF69437AD3F8C8D3DA5386A6D9752529EBCD84CF92D641A4CA1755177BF7E16CA144E270E4191EA26BFB144528521D32DFA8319FE37CD026E5F707F81DEE84327CD0B74C05CF69543E94848CE616FC118F73206B132F0257925B8D93DB60FA6E034D27A65EA0B2EB18056CC4690BE78D9BDCB4DEB61FE5089C58AD8CD08DB2AC9A2C2B0811EF71309DB1831D9ED1032A1267D3152E4ADBF2042EA48069D0519FC5B03A5375EB355BCC327766B4B3559737DD4EACDBDF5B28F121E7C13EEE9A8C10E66F22CC80EC40AE72CEB0B2821BB7215CC9E645B65E766076AB78D04771DA21B501987F8BAD685C6EEE40C9F60605DA631CD + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = 3951B52498F3C2E30411A6D89C55340A73066B36B1AE55D9C95142FA1EE13EE8B7296074D82E44D752EE29705606D823809786DF5A2312F8922E4C50FF0D7297B864FCC3BD81311D69D2657169773C41A8F7F0E62E076F5C0055DA042DDE07D82172BFFEFBBB031FB715546CA47903895DCB4807B9C435D16F90C41AB7836A53454E089A25951545F0B39A849F329AE9568A3640F08329B0422807AB15461F6C67E1A1E5B8439F4D0613C5B4A8CE10AC1DB59DA2CFDC1F8FA78C60E88A7E6C0F2488AFEBE16BBCA680EE65BB53421E29C8238B7F0D1387C60EAC50ECB43AF4FF075520199BEE31641CA433F35D62B96FE477C304265002440018E4A4C656679189ECA635FE4090724784F56DB38563EF05A8EBDA4271ADCE14B8644BAF09B83574DDB6803997AC473BF537F0F93A2FBBD0E0C75C387F21EDB2EEBE0088CE8886E6FA9952DB209BC16E624A72DA33878538549AA8F955CABA17947FBEB6A304EB9B1B494A197814EE4281A74334F71780455A352EE1586BF298361C40140C3B6A384167632D7EFD7F3FD327E18769DD481444400B669BE07EDDFD2783962751896B703B3E196EDC111411DB17531B96D0557066DD6D2FA3EABE0E4735837D1DA7BEA7543D6B591E55B2D95D46F822CFAB994770F8F51A58BCFC10B4A7DC9C8A645937F5AFF66A59687457CA35C42DC2C9D75EE0AAFD9BEF334D12DC33BC0881A9 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = B21B2ED68FA53BF4EDFB8EE5282964C8FC370A702A229D3C4BF87DFA5279B1AE2FBC85A00067F8407F586B52B5F1AAF97716025EC2E292206E18570AD50CB51E072A7A06781EB9E1B1B23C576C689DEEC4DA40513361B413F513A0EC21491F0E6EFB792688519C1E6B0760B3E1DE34890C2BBB5C3A44DAC9B0B0EF2B1B4CC4E30DA7F93F52D656712EB12DFCF30C80273FE5A8F42B909AA2C9E1E9C82199418AB858E1B8897AD632C0C030C9F56776378A86DF63A5CC284ADAFCEF50DF97847DE927F296E63933FC174EB3009C5580CFE39B77BF359A865DED988D3BB631256DE6EB736C637693DC5798429498609A6201C6E9CACD7782DEE77B3BD4728BA32A0DA88A14212BD204292B6EEFD0C7EC1814B7002D8FCB08975D4A9C62100F94404CFD32EBF49407BA4C6697CD65D7C40951CE7774234C4A793265CAE9037020E35D38C9C016B15D214550A94F6B245DC4F5B9B1C8298D683AC59ACBF177F266F1818628B4174D66129C057B1336F718F67D5CE7A3627E31D8E64CAB4BAA5E89B7B2971B4C82D23C36305B01D30F830BAEB2CACA3BAEDA18F912E4DBCB1F5CDCFA9F562E3BE2B01826EEF5CF0D80DA116765E0D467352264C8A9C1242F74D98D35F77472CA4DF8234E76F7600B6052E7516C514695BBCFC1793A9C9AF512E1D2EDD7490D8BE500710B305F9F54FFE4D87B50776A29C222B09F1913E71F63AEDB32 + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = 0A7A5CBFC9ED4A55B8C8CFE99E9D71D4EC34AA1C4FE8A69A39DDD2C0E1923A3D4D7EEB8769709172866F0F93D96504307700D75F4922EB0CC199ACACF31E8BDBFA166342CD7294A723608528732BC85D7AC57307C37D07AC03D99009C2052DE7536B9049B0750A5186855BF41FC58560EEBB743F6572C102F21D3A92F8908434519D8F797DB47CFB93BBE9A567ABA819FA035F64E2A718497FD815968F70869066AE8DB9314F006466FBC53660BCA5CC65B6586CD75E58427DC7B3F7D1A7F0A5804775234C8D0907C5906AEB4EC4DF01E081695897B324A97485C22F694E48EEDDC010D198E5DC4C65A24F62D6FE7EE0E60B2E4F79A6BF349F9612303CB272C0F1D0A952312F151EFBDE16D17D3B2F2BB9729F444DB0B1B993A6CD2EA973D430291D276CB479D8F07B9FE022F384743EB3C1593F062994D2853AEC6267E68C724F959ED98D9DDC0919F53DBD54E28BBB28AE5F0EABBC36A81E25A02174C14387E8C1695F97DE66C74BA20CC8EC1EB5D3DAFD147A894AAAD4B20DF7A06EB9B676846133868F02EAB7102E6D7EA8BBA678B0DBBF1F6D6D6AD0FA43412A8A53C6D814BA26388BEF08F89042E573FACAC5588E4B5C4E2806542F2E68148F4B7CFF1EC3DA21F633372B567005F2CBE81DDDD450E597FAB577A1935281F758193CEF43961C380B62F0CFD084FB4FF19045CEB3422C01E5CCF9EAE9C3B300A117F1D81D + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = 0F001A78A98382078267D5DE881F8717B55A31C1781473BA089C72CDB201CE93B943687E3863BC24BE5D255A4C02E43EB498B9EE4D8A0CB4778A742051DE21C4FC7745525ABF188F38B7B46DB5DD7AB30906F7A31E0B030DDA800C7766EB48E0F4B12C474C3535441985F40376EDB99FC2A0BB2BAA9ADAEC49C1F5FD3A604EE8DB5D0C51AF7EDD29306686B3795653E2EBABD2E9118B789868A7F821FB5BC5E4CF732456448417F43F6027337B4E1D481D65D239DD15EB66F5C6C289EE85E065FCA3DAB1126E4522DFE9A1B428310C7DF543BED5D4439E87549AB0BE6ACA17180714D2636FBAD2F7BAFDBB1961764F48518EA1ECDBA3328DE8A6684730E747174345B77052E8CCE9765ABAD9F7B3AC4E8C2155FA5AF14FBEC002B20BD2EE417F6CA5EB8B95087C34EA52C8D1DC95453F6744272BBD1F14A1AFFEBE475EB2D20CC26C5893F71995B63E725E7B02FA02B3145944D9D8A32F898DFE1F7FD7A73ED1D67DDE341C4F95B603597F74269835762A1F348E10BF5FF15B7A325077AA6DA99A8B92885A344AF35D9FE34A5B5549D37EC1C536D7B71962E1A54E2601E0F0EF19A2F81151A477D35F36374E7F44E00B25C2F7C4FD804490BBB68BC755F19EB25F04FF370107237153E50BB1F8867917CBB70332B41441B6434458C848970BBE860A07DCCB6E6F9C076998B54AD88D500634948A73A3478AFB1CBA9FBB399D39 + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = D442B526EE0DE0A7977AC04F9C822EF3369CD2CEDACC05ABEBC71128F0C0A2F8D5C2566CCDFCCEE773AFDD2C0F8AAE2E59B56995F219A9B06B638DD91D0C2AC8D11ADA3CC491A5985255716C75B474FBFE4DF204B75176468511807478FF873F17225D022A78141B962E1A4EDC7F93BDE19DC7D804C11C49942A54CE606322693845C11EB0E20E60AC7A15287848C37EACEED986F98476AC62A23E366804EBD5690856D69E82CAB976A79931FD5058F0562B006E822087DD8D277338A6E555C54A536D29831D6587B4796179A6F45C89DC9E85DD3067ADF043E3CC90E96391D60145DB31BE7778DF6402D7808F46E42C8BBE987591EDF593CE50515D4DFD647AFE7A65579E894EC6951C2F03CCB4FB4F4F212F3D87E953D4BF6093E4D390260791924EBC438B56693ECB11BEB8B10B85CD56D39A95BFA7924B9F78E181337E550AFFE40CFE99C709994EB9F81BA4E14C6663733477320EE3A62955975E5F3F25EB3922DDB67F0A312D916B8FF2C14493981C7A6FAE0E14F222F194B674173C051EDB795DED1041073BFAF62B76D3623D065F797A82BA490CECEE1136C08193D46FF6BB06B414C8A861A4604A4CBC87CC652EAAE3D648E4D2CEDEA13344AC22CBD4DAC4AC9D6662D3694B38BF12169320B5249021C85A7477E2587DF9617D7D44E09BF7FDAED71E3D5818DA093E6D019243A17D9F32A5046FC6BA19EDB0AE6349 + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = 6EC28683A74038F869A23B21669F27B746A1AC2BD41E3BBAED1CFDCF79D7D1A9499F2AD4701F64830F14C27FEC0CF645E553B3D76D8512B879D2D19E37D93B0E9357160FFC00F20CD96FC1AA520B0870F853B3241B687549DC2D1F119198CFFAE38402CE4CC77A973CF49F19A52EF7232E39B5638C680D44334762657397CEE9DC65FA37CF9FA1F902AB290F8CE4CEC82ABA455A794B576BE404ED24BD50B9A4923D04C3F19CB812E00D6D9DCA00A906EC0F3460F14D3CCE6CFEA1C78E8400C0FC1361A4A60810BF51AFA3CA21B18C7DF5FDFBBDD8FC1671D21CEB404F9DD37008419CDFEFBF1D57F7AB7665BAEFD500C38A5AB04ED47E4B3256B0B015D0511657290418D5DFECCED4AA47FA14A9A0E9766F3123C80B65FDC07CBED2C8B0753F2B20EE271D11D28FEE068BDD3C4F449973463C17F21F60A5E59BE4FB3A3490ED87AA1709A62643E65FF82F2980BF2460FABCA0719E575614A1211D256C59F86ABBCA382B36F970C489660C484CEAB850A13011FAA07C93D2FC2E8E447A997B0BFC286769017189A68D7DE05CDDF696EB93FB8792F25B2979AEDDAEA7A935589BE4825E83E9BB302C3A6E88D83BBAD06BA6BA274A672CED23276A499DAD01555D85C620B6FC64C62282C545195EEE61C8A127EA8994AD5A706A2DC17AE5C6F165B477655D067267D88374F674BE12F58A35DA878346BD48351175EA72A0CB5E40 + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = FF0DB45E2E8959375D3915DBB45FC32DC6CFE7D2BB227647F6877619BB6884D8BBF9668F407784739D34975576B99AB1325716C2B83212DBE9E5E33B5A6EC68FD75015124F1DA731F519F983CC783F176286228E59068AEC6241B24808406CD60F67D5A1AB7083D7854984A1F7030B7D700D5D48EEFC6BE0AEA46C8022256866CECDA897DC22D4A18B28126444D956B93190D7A060CEBC2E8BE65D90CF7837A90DFC9ACF4BE4193A892DBA8B3A068E7BD20D12C47A95E0482A2CD4252A34E1F13BCBCEB9C0A12E719A27E2759FDE1B2F6E75A0A38CB80EB44C023FB0EBC33BC8290513D95C431D72450951EC1A86A89D59D435CD3D4B4E069556A00A443F045224D46A8DBA8CD7E8BBC89A21D3CA024C4EC96BC7169E6AFFBB05DEF58A0F2535997F345C8660451E7CBCD83C622EDD0D8A8F30D8377BB31BEDEFB546C989231C53447B7817AC3F822D596B5C746D5839D6CC8F6D45C48281357E87312C33F62EC568DB4AEF7F194DE67981D67B2B6659268556EE38DF95FEC4BC340A3BB9539EB6143BFDDC12BD233BFFF5FE0743DA3DC89F57DD159A475D6D8882BADE66E4C93D6950ED026C747968F84DED68284F5F02A9F7549B88F244FDC261B34BD66CF2FF5A6925565A08BC8A5F8828775A5A35147C57CF327C49CFEA4797CC130D1E8AA278256FCBE416420FB7683E6D0A5B1466A586E98C144F4CD5FB277C1E59B190 + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = 5C00245176070CD2F23F1C5E15B21A9161BEBA24BA71D989BED890782ED39EB857E325AFA269ADB03FF1AEF7D26EE524D6CE821D2C842C43D0FAF47B602E55B7960FB0A9638E6DA8272DAB5B8DB784DAAC730BF0394D50A59C87B422080191769C21BD08A32AF4C263B09D61A13D0EC26B6D1D63A2EFA5B4FB9CD4214EA76B2C915F20E242D104745EA9AF73251F2CCC9E78AC8FD3C5EAE80CA665A87C517EA620CE5217C215AE38CC43F2756D9331B0359FDEA9CEF8FBBFD3606AA5FBE2D5BD31411A857B3C8E79A2FF1B00E3EF56BC25D0D83958B64DCDC095241837E333E58E4DA64F3B5B57308B165924B4C5F70567779248EF4400BE3E80F699FB3B6E40C36BADC2BFB504BC777733BA9B59659F8661D57B3543BD26101FC3DFD6CCF430036776DF0F2979B03DFF7E6B2E98F161E050A38F71EE438088D953EF72D5651B5674EA6FFD3440AF8AC94D5A808EE426959131E460C858A77C4690801B5B3A28C6BF555F02B5C60DE30C4301363BD6322A289F36B30E00E152627FF7485F032B61041D4C1EB872365B8BD22F1A6308F5CC56D4707752DC3E32315C8559A3B8083D2F743779A3EAB10394F8DF71A878CCE871E0835B57DE865CF16AD2D2BD1E5E5705F68C6BAEE103C785E43F3582F591DA55077C6B9EFA8F93300822C6EAAC9B5A71FB676C0E73928ADE3102B61284C676C140F33A17FAB48002394EB36265D1 + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = 812C14B78AEEE6820EA1CF8E0F3C61AE7CBD2AE493017ADE0756FBC57545830910DDC27F3183DF48C1E1D6D1A9F3DE220F17402830AC73F77AD2977BDEF013C739CA0E9EC11AC4FBEEF624F0FBBC534F0467F09E775BDBB8ACBCAC8B3DC6ECFA92F35EBD729A1BC90236F57AD32FFB46C055C93412D33CF612059C4D5BEDB6E45807A7CE2E5029C0594CBFAECEC3F9178EB01D60ACB5A72D5DBABD6F95691A1F949E4DA7B48AA78C1BEE810B175218C5902753B88253FEF57681E60FDA1851A18EC1F3953CDAA6B9C32D085C7EF9BEED9598354CEA388F3D8EEE372312168B590ACD0C330816949211D8CEAEA737EB87BF9E6D4929D83B87E287C887E32B66FAF1540B64C53593BCE073AAE4BBF711FDC7AF6E7CB0FE938D2F87643FC4DAB4A7D4154015E82422C14600E44E41D005DB80CBB4C297335EE0E616E32D7E9BA5BB0D88FBB05B4D5799DF5462E4544D3883CC2C4850FBE5B43613841B0D515093D246B714E96656E1F6227341E76051D5C9C52730D66D075DF0A9EDEED5D8E878A1FDE3AD2C962608CE17655AE769C484E676904A29F22A3B4524DE2894AA633DF9F65CFFA329AF056E9BE4E67E7EBB786AC3541C00A792B4217E5EA2E51FBD979CC8C6E40F59B6A665F1BE6E6F2FF4D1D48250BE44572FC5B731707B8611E8CD7679037D565BA7B066781437FADBB47F68AE752E879286A25020F8E00FD7E62AF6 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = CAFA188EBD8CDF392EB8E67776D6F574F72615ABBB5DA35999507460FB1D357938F521BB18699510D353D3B42EF72E704EE769C02A1EE7E366871F28B25F798725CA3FD147F7DA2B49329FC5A00E486A19E9465B782B1176B84465A96F083957F3D55512F6CEF4AF5E891108B468326C1051EE1519C21051353F1EAA2AD39A32E5ADFD30026D4B56A2498309C27B03A195FF5A7CA27E5184E322B9B783C44C4E0842F6695BD89D5648BE09B927990DC3980E7F818392380840E1C4310EA67ABF7285CFE20C50933A92E74FEF83AFA6B6CD6A372AAFF36DC582040B34E8521285EE9A67235D016CAFC9478B80D7B9778CAF5DA4E7D1865BDFB903DEDD7FB8477F007E60AF960BC04A81E77A74AD25641FDB9D81AEC87634D692E445807C0ACE094F99DB07FFA01C2DA7517D12C830973D425839722EC0C5A2DF093F01EB9F5A6D2E075CAEA8C7AA69BC899463D0E55C81596907F1B0F81BAEAE734B24FAE3D99984D5E39EB4822C4ADEEA640228D72387656938CFE5DB953C1ED993FD9705CA9C9C70E6DF0075392F965682BC163BD85911C99511896BAFC35D9378B12E00628EEF3EA11E908F92498C90314C55698A6B9C6D8FD88AB4D7250166FE57E9C106FA674619C1D53CB3DE576806742FA538B5653BE7D0C08282A0159E7B4F3273C4CBE1735F3B07AA0004CD5C7F763983CDE554AD9926FCFF1D1AC48B9777C7266C8D + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = 105ADA0018016331E288A355DACA7426116C7C0AF86060A1A652AF34C6D6BA4504E5C681F493AA44BB869997CF024403FE9516112C732C26DEE54865ADF6594BF7A546B5998EA1026FEB209E30D3BAA289B81651B29916EECB48E6B4D6F8CEE317F46732B2BC865D78FF0237DCA71EEC837215D67F9B7C244232529FB1801282F77CB08DD3B4992A0B4A551175173BD50FE8798836C60BB748E6D3112D7EAB27F0AC52F48FB776F92D89C895D7B1F148F27EF57B47DFEA43AAEE0C8507654DCA384FC7C64B39227B6E750B431588D56567EAE250ED6AED8F987D5A6140F0A7C9A4D47DE2B2036038D43D9630E849431B7A3F7C853399871BA360107009905164D9707C0A81D00A276699249ACCEFCDAF118A8D28FE791FA0FC4D4A2CA862913400FD550513D0CCEC4A487521EC53B33D4FBD2D5F6713F0F1F3C1E6A2895C4E2B56D86904CADE3EF04AF4CD1F3E8AB7876DE83D133170E3918639F508858A335D4244C8DA8893D51A7D6CAD5A2411DBA3B95EE3B95F3B2EC6DB652868A8158FFAD739199C47C32D9A4917AD06CDD7149738E8568B0EB6B7A0252E151538286D122AB6A6A68A6BBABA4958C0572625E7F4837BDF970DB69A943E5C80E5F98DD0FCC590B782308650B86E0C12A0CF2FEB059A2857118507639C4B56C749F3840AD13325C5E843ED1895F6CCD47BF2FD68D708C1B2001A083777896BA92BAC91E280 + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = B37F11D6837064D393422AA32CA502E6FC0DE85697E9DDF15B45648D99CD2B0E35653FD071546D893ACB91EA8438E768BF446781A2BAE49C6CF7E589FE80B2C6F35628A9577CC1F902F061E425A84D224D2D8C5FD4C06F1C7CEA72BBF53F982626DD1208CE375EE4F593EEDF93F72011CAB8281049A76EC1F90528D53AA2E0589BF90440907B0F02C51A1A1D9A4C4B31FDF378A548C4D65CE4EBBE77B4F95E9AE29A3CE0172A4D80C370D6967BF27DDDB29065566B2C3205FEA1E2871F6726DFD8FB5BE9199C31E77615BF060A33F3ADF9A1C86D205C2496DFA694D343C058F7F212D9E056D6525479DF0C4C184D2D8191A9FA849FC0DBB2BC27741CD5B43C65DB771DD99872862546B5D1C313456423E649E9869A43B6ECAFB030897D049907F307C767885014F7DCB21FC4C7E52E1F6E95A017F9AAD349BFE109AD8BCCCDA1E4FA761317BD7B7036A09095164A79A7A4952FA2512A5B826009414BE0C504A27CC3AF069718DAECDBE4F43D93A1AE4E1A9B28A48F69533E6EFCEB17520D78EA41500797B18E193C98C574A5339D2879DA6340D8EBE07723549E51F71BF956BD90E74325BD912FAB8C63150BBDEDD455973C084A6E96BE7AA3B8BA503D5215B77151007A7D32ECED117503F1F509A2F6750B242AC63D2A53873D8CBD3A30F105078F0ADCA870DC906C0CF7CBE1197C13C0C65FD8471BC52ED07D8090C83CFFB4 + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = A0042E6235AFF4430623E540E15655139EF9FB84BF8199702EC9A68D4802E7F37328A5CD7AF4153CD203938DCD947F0C7CB7F398A4867FCB38694BC3CFF4C10971C44EC166F225CD4B0F1C264743815CF7BF37933EDC38C3A1453852E3B220C5D5263D67C82A7E62FC19D24C9B32C10A8A6B2DBFA059197C97DEC62A05456A26CB555546A4219A905BDD2A0FFEFD1D63A56258F5A9FBD535276A163745E8911D55A5E47A4C3411A128F461149B3FF20B9EB422661A67B4785F38CCC43F7B87F5844D8E4665B0F010AFC1270B14176913DD56B76BFDDECAD17374553FBC5C31A7A28E98F58036171BBFCF79CE10861CC0CF343822399546E100C532BA2E5013126976E02C7783193EC43C7E35FC2DFF6AB1483F7B5E5955C91F7F7ABCB52A132A038FCE9387C4635E1A3394BFE589D6C9561D05CB210B25D575BFC0251374E541D72DC2C43E8FC51F98DBA46BDBD7A4C6EFD775E1E5CAB94C8E03540FDF4D1EA7AEFE8298958B618A288A31BBC9FE7B2381200652D5B2EAFC6A89F806102F753824ECEF4CDCC3E7329DC8F7C93D94F98BA5CB51DB8F615D59476B32BBE20111DDEB7AC6B9AC8CF66CF7B338E225BDEDAD4A2C5F0C2941808EE7BD2D2E59DA7010CE6656F6B11FE5925508E5A266E0C6F079533C97FC0FB5559E06793AE9BFBFEC8BF4D3114783ACF6D0E709AA1144326D08D415E7AFCA80725DEC248313E982DE + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = 439E31ECAFD806B8E573AF44AAD0B7143D82FBC725C963633D67665A2116949EED1BD5338839CB0F41FF79E4B5A7F0B3A2FDADCADF52D7379A935AD0357E7658FF2538B99A993EA6E9AFDC9A2B1DA9B68F9C9377DDC1CAABF7334099043E0997F446DBBAEAB14A507220CE36EF110128E0ABDD3DA6F98D2413E4742E82D749433C545EABA95151695B38D1E485C49CA747A11B83CAB42896CF35B275490CBCC856B227C0BBB11EE110E37054B9D8E64E645E1BCE138EAE18118357C362AE2A729407EFEFF38AD2ACFA4D17203D17B933479946E39C4E4BBC467C7B623042C4B770C179991BF159F8A1DF1D3A13218A441C7A3F296C34B1736A62F1C09005CBF972A66BB46D7DC124BB43CEDCCD07F9C7993C9E365A13ABAF64859CD4244223D074005906558147EE618F8C68403B3733AA633DF77F4F743652EE53C26FA64D251C09C8ADC99AEE3D6CA13CAC5C6A4B95B389E2FE51E11D85E060CB76E331628D0494216FB2378917D09A7558262DE00A345D7AE026BCC7938BC3BC039E9C50A62F8FA7AAB5AE44E8B9A1FCA0B65DE335F5D72FCBEC9010BA19040C38B5B37E1F03CED896106C3254663A5AC8A547E5E94738EB86787CB237A2AE65A0D7DC3EF44711325BD1BD4DB4ABB1C17DB9FAE2C7DEFC2CE08AA1E7B68654F936355EC50ABBA8A1AC45C9D95F1C0669E8812F313D63DBC7F7DC40D2EA71DC8F9F1581F43A + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = 91349C4ACA2EE1A2646A6A92E4335E7C1DA9F8482C2791FB96734E3301123E4059F603BB4C42B4FF5584CCE75960B5AD5F667FAA54DA85ACA5FEBD5908FFE7A1EBD05AD9E4DFA8C8D8D92B7F94666C119DE471326E1F673EA67EDA5D66C8035E047AB08157E1228B4B09309F19A0208EFE7BE1788C2F77347C644B4394933F6AA3E10C1B9A984D12A6D0C68E280785EFA11F1731580D6C71C98D6E6FCBCDF56DD55D87865ADB395E7913DAD6E9A4EC938A1D7E2391FB11CF6007FC9C02EA70F44B67EDB1206DC86C00D1DF6906C878FFD93B034F830C05F8571A6068D87A2AC42692DEC62F4318F8FE6DF3690C480E48FE406B85C9FCDAF558AC040FF15011B6C1AC183AEDA7B00BD48E16B7977098BA9412B470B7E7F4016209A02F0F585C29C554B5CF8ABA78E7E5E71447929E598046BAE2BC32958E65A7F7AA29A29C2EC8B34E521BD3601F755BD42EDF60B0D04539D4BF63ECC09943E0C12860F0C5665797A840E85496C4E3DF04B36CE8FBA42DDA559D630BC2CEC7459020FC32F1545B520B0806BAC854E6974A28FB95B41EEAF1CF01DFB3E89B8861F205C100DFC063CD8393330F6A00FB379901D0C47EC2E4EA5D96722EF13FE456E03107AD1179625F968864FB40D7B64879535CCA63CFDD660651FAC389CE4864BC3B382073D74D5346E6499801FBBDB590C1D4D983BEA74FA6A26FAFA4E57B65BE886D55A54622 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 5F8ECC71A5D264ABDDAF1B4895CB11EC9DD50F3DCCB1E1562F1840A0C196A85181BE2B69011DE4A3C75087A3A303555C074A281BEE10E66AA2F15E6A531E5133B6075F84A82BACAC7D771C3EBC74DA2A1CC1921B3C20E99E2866031BF725D08B4400F38BFEFA0F810F82FD1E4BC12DC9E20B3295745B7F132530583C44A18806F537D96B3F352E61ADF285810D32758284D29AE60FF4845893ED07EAF2720282016CF95E28C9BD49F0AD80B87A4C71179ED9D5744843E811D9C162CF57013A7FA9AA9D0A313D44C6BE7FF069506067817BFEB731EAFF820C812765614F3C1A33ABE050DCDE56FD5C6FAC1A43515E2F5CAFBB00A75DB2FA51145A994045B8F71A6998E6FE47CD467549E548EC4FB43C23E7759445BB36A444FB0C91DB3F9A81F1048E21CF32BC3E427A6109DE84FD0EA8B006CED78D08BB7C5678EE401EB2B73F0CD2638B2C7134EDF7F40166EB23D56F7E4BED122B70981F8133B594121ABEAD3E6C96E0C2D76D93B4323DC8CBD869A1811CAB6285E0CAF2C021792A759F8FB907FA45E2B276383F6A385EB299FA5C070AC7B1B713685D6454AFB9AE4850AEEBA6A042F25B1902D18CF5069EDEE770CA2B342B3D3208BDEBFD50822B1CA0C9526306C061B2B4EC6724A35D86B352504D79F44EA7B1A8926C392001EAF2018D4840500E5500472AB05593F3AEE0250C27EBDB3EEB5955DD7D73DDA812D988FF45 + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = FF65B09E0A806202E10997EC4F42A049E0A97654626056EBF7B92A44E06AA3D11769160A5EBF6357DD6591B373F9943110F609BA15B5893E7869B17C381B549267130047C1286ED9C56F83776A0F99124F8E8939C8EAD777DA433F8C786BEB7B16B3CA4E4F13CEF93B4236D82E870CD3C6945FD7B8F0CA527AEE5BA66B753D0E6DC84E4ACC7D51686C2D9E7E3A31BB0731FD0EF488F1CAE2A8CA588B428068E09E63696F05B71BFDBD89F4E7DCAC2BB804939868DFE7849FC68B095C8C6E7BFDDB3F35E9A8C1B353158C1F3533A0A327789CA271F6B5EE1711ADBE112166ECF76BD0BC91BF957D4B60D84440BEACCACBCE2C2775AD1A2437FFA3B7DCFE2B4A0CBDE28B09E4C306D8133ECA952810D22C132BDC680CFC7E74BF5949E7D532DA24AA71B22B4576CA48EC1FB264D157A0CEC81377ADC125F29B27CFF0640E0CDE89D3875B749E412A50A919A08586A62B8788C4ACEAACC2842C7799D125E99C6A2C1F6150CC503FD420F5900DC509B4815A54B893B8F36B1FE27052A5C66324D7EAE83957DB1FF627508B77FA072F2A01C4F406B6FEFC5F552CB38EA06FC2DBA6A9428F4980D880751E459A1D5B9B3E637917F177920314C7882AFC3298B3E21E18CC126E690A594FEFA0AB722E2B1EDD1C24C0EB118F9C16E4964D637C4BFC6865B9E290C4DB71C510A1CE623132FDC742CCB5C5BBBBAEFCFE6F95F40C861964F5 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 0C3F7284A63D46A75707ECE96D5DD51409A0E601765E8760F696175433BF34A781B7DCF131E425F25C5CCE52FB457CB5745E62E7A8F9BCBCB9113FBA1299D82E403E34A6E7438660D0C7930B8A5CF3F127084885447A91D1F5D5F117E3EE8E2C529ABE188745609E9948E02D82F1F87855BBF46E8E4FD39402F749AD00FE886759956FAF77E0689485C08022343167E23180F5F1B1D33B8BEB5F73EC818B92426CE60F5016B8E644DBACDBA9900CAA61D75985B5D063A3BBDD5B95937483A970BAC40A0664E95C7C4F26A2791754D77A6FE5C8A80DC3D7321BADCEE567B7950A686B1490FB0CA411F08FDAA06753B67477F67A1CAAA38F09530FE58184CA552DECC0E54B4B0073E77FF4351FDFC5F7C6E6F153935C1E5288ECB57C3DD6022DD0854B2F986E292FCAFAD0421AAEB47A7BA53C981DEFE9CFB53C95EAA02AC7F1DD155E476B6746DD2F1692A7E2D6EDF79E795924A0B919BEB278A2E65AF71FA1CAC81C5D5EFB138B1DD374F98B98CB5A14D96D9249F0F9CD42856A275F92075330B1926DDE0BDBF123A8BECBB6B6B3797DD89BA4EAC728E6B56696A752A07EEB1A09810D450B2682F2699DC6117BFB45FE306ABB889976838DD1BF31791402CE24F2895F70434FAD1AD4DC86F0F309EE90FAFACC7E72C0B717289D695E4000FADC058A119D9C4BDE9AC0F8B45CAD48C78BD2686105D9A27680CB82800509914206 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 88C391F4788DBBA363859497F71794349F3A81CC9D1746CA273208680A0CE4ACCC12021E1EFA31AE40EA75A009E95DA25F9F0CF451F658739E2453280EC6253BFC1D8DD72E91B4ABDCFCB240C6EFB4E829934BEF46069274A60B268DF86A7F265B23089DCC09D77B8BF9A02A84ECFBCA193208AED46101F48C10778619C154F880893FC0C440662AB04106B272A9FD18B8723EACDB8AD190DD58E9514BCD43A9299FB361DA76F7E079A0E83615B6CCE6E69CE3E724C36561C728010134ADE4C44B18D1FCE86289310D30195A936BB1E23C0CF98DFAD41E6007E56C905F5DB8DC13B56E16C3454146C31C9866628736B5F537268E0FFE463DBEB2F3DAF103D24F95CF5BA0A4D94C68D61B6319389761EF1A0F22B3D416E67AF916AA4772277F4E51D3A8DF919300805A0CAF8C36A43215E7307B49AA9697B6FEBEEEC4F4F5F7F664C120FF27C8DDCA2224CEA4733DB2D1A1C28F8C030A23039BD0514AD6808805FB5111F514A10EFEC4F425E1C91B0EE3DBFF70CCF6346E6F4640DB8184DA28FD8C63156B28226491C1922B862203F23C870A2D88EB5FF5A6930820A4D81A62DD8C4F381F35C18012336011DCF71D58D167F8C5BBD3E5F0F278507D085F01B0DB2EA2860490AABE253DF4694288EA862F9AB78FC60827241768DFE617E725482DF62275031474592A57FD33FFFDD837654C22C96424A09A62A5F146FCBCE1F2AD + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = 20F8FCA8BC4274E6CE95C558FCF5EFE7F6A43FB47BA3A4AEB4AFBCB53DBF5BF224654A242DFC1F318A4A26924E5F2759ABC96D8B9C50C7185B5A7C3ACE2BC0ADAF1E39C6EEFD79CF89D2F3A8829F180699DF802662F285960EB6676560655FACD507528D862473623AAE970E559117687F87AF4A981C7F2F1E40A1E01F2A3AC0E89D1C62ED751B9B178155F2A72F215E51E49A4E585F4422C757F891AD4004FA618DA654BA3CE4C6A7614924B9C0ABB8B2C6CDE9B8CCF22A1E30A21A33723992ADE39424252850535DA5FEF4F047CD998EC7AD87DC784DA7D755BFB9D5F6CDC9EE52BA15CFB7F1429A15F8F0C67F98D6E44CBC8BA16D0DFDA6D72FBC1A44932AEFC2D8A618814957D8B748E0CA0D3B5095BC8785B6C20053E4A204343316D74FC96E16C775AB43CC33FF2B4F4CE85086D47BCD132C0B0E196344B01CF6E8BDA3E06E2618D5604BB5040474413FB54669BB744704D89C5B06DEEA58D4E29F6DF9C926A6CEA1297967DC66583654FDD3F6449033A496199E4B6F37E0FB31BE50747376122951575095467010006D5F9EA709D0F15927A060D828AF4180393EAAFA27701B919DAF424BFDB3F59AF0B40D0A4890006C98894BDF402861C76655414AE631A50FD80F0E5C63002B604AD1AB9684C094BCDB82C0540FD6E5924AC51F3FC6DA074AC7DD7DA1A87A633C16ECDE716641975182803039231320E9FA16430B + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = F0E4F184D33E8B5F8AABC173B04E61BFB420E34AD22E3E8AC318AD06D92E8B5DFDF4B0F28157FC9E7D64545F527C805D9F953626BC35923C922FC09E7D2947D342BF91E54EF34FB5987704F7D0C36C9A9347F3A99027E192907342B2531BD1DA066D34ECC1FB50C85C261DA65F4AF9C2C9E93775F39D632E3DFC1216ABBBCC8DD2680F8081A2816BBDC1646540CEFE4881FCE2ED57B4822E11461B5E6443AE2DE5CCA426258D68B01520594B9547A714B0A377AD398F42599358F7F33855E64F12F88D9E2909E6397ACF34ACF79632AFDE5711858814B84F472EBCD03EBC9671F3985C99DCAB92FED40DE97A3C425D38DBC48ED34C2023771EDFA4F988931B7BAB6FDD612D4AB6DC39D43E66D74307EA8A9359AD73E0965E885AD919F12E6C645C0DC9925CE65F5F3EB132C7090BDFF4230CB16B6C9567AA62DD92949AF10A6FE66CC50B29CF189DBB521477A99DC45C937856DE855C303A5EEC572DA0CB0F584961971A15D8B0907151A046CC1B193E55F7E8419601C1699DB52BBFF3142270F22D628F53A18E64736C1DCC09F7497CB56ABD9AF5917EC07C35BFE8D041D00B379067F2D85E05732D5270C61C592F8088DEDA0CB76BB2826492A61BE9270A8CD7F9D26F51DB2207763BF41A465ECC8B877FC53139925D45541EC090DEB2622864D9E3529F0F23B090912E04BB95F56B1BD33381611D973AE347FCC232CBFF00 + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 1893FF8490BAEF747390ACAC15D42CEDB909C2FF3D30B2250A3F9DE11E79943B9AAA5C5747736E29E559F93115B0C029AD6AD8779804083C3F211C8D6CEE56AE65F0B650CC45B9DF5436456879F62648EC81FBF968583582CF4063B5F007E1B04A9BCB2249833170C1968E3040C808F2D9EBA238E74931CBAFAFD94690A275D1A1C1C29F71B8DCCCACC4E9543FF05900417D7E46C64FB4454B3DDB7A0BC01B85A0AECBDF9272EEFBDA881D2ABE77ADC9F17A26C50DE64DEF1AD2A09A79EC9F9C64895540FD56E93423DD7DF3E566D168E2560D8336177937F46DF87AC29F9FBDEE919DD8D2462FC1DB70E27B992E35F1376459FC15B76FDC3C6D9C3F6D994B300423F154B6FB28F845AA3DC8537DE62D81C78326BBF8A89E39C865F395BE31B38BAD26CFD4CD866B872D427ECE798968E66658839121301BC52E07CAE272B6C373B01C4ECD42F75D3CD45B2CB1131179A9F21F8CC84C08368547DACCCD56985477B4067B865B0268C1366D35C59D7C4EBE54E0C7EB383860EECFFE308A2E71858ACE60EE4A2898FFFFC507F0011F47B16BC9D696955C8E2C7FB64F4EE9DC9F9CF9987EE2CCB0FB780BFF780C4253E398763AC6668FF7082A848BD5E1E31E6B5E1E771F7AE21918C1ADA32E788D89822ECD3029AC5604132A681AED4348B631A2C9CCF19D14CB10F570E3B7F9F301B041E6B901CC007CDB125AD9CFDF7A889AEB + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 56758CE6042783CF0D18A2C44FBF953065571BCFC3D19DEEC28F0D6564B18B227B6DAEBAE658DD065F414E4FFAF756D10820FE38C61A767BF2FD0C242EA3E994CCC6516FCF68BD7514833E061A65392D175CB6EB87374DE426730E4E771C7905706BB5D7E3364F946B8A061462519D0BE6F72B0220451F2C6C6E5CE217262323E4FC81DBFF169DCA043487D88F02BB5C22434FC31043603A5140364B7C2CF179FF13241CED0911ADCE30C4D7B7EEA34E094C86B522EA88F0126943FC2E3F8C1C81753C4A10B844ADD7868457DFC91094458806B2C115A052BD616161AED4BC1690E5DAA09BADFFB3BE59318D7ABEC04E7B5B439B92E63BA3EBDE71AAE8C5BEC81C9073072EA49E85B53539C2462A446448F4D362136638EEC10F227A0A977B3460499A77A9E951124B55340E49F9D2B0A60808153D357B585F2C940398B12BB807E730DA556C3D156D84E5C0BE2C625E3FA725AC5659E07348894842711A704A15201C72F4FD2E54CAE47531C07C7D1FDBC61446E35666175B2CB7B25A5FEEDC1E5FEFD2547F408F0E91D65C7AD0E636FC7D8BAFBA355275AACD0E2BFAAE9FF7B750AE20C828D66793A7D275DE882DEB8A97002C9B7B90F5ABA4D1E7B9D5E4BAB59DCC44E487BE10854C76D2EE6EB5628F1E791B731E5B1CF339270E90B3F25AA78B28EFDB906AB2D5560D976AA8FD4A560A29DE12C47A360131BB5F1F8FD71A + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = D5076FE06DC454041F41D77DF1680958CB4EB8311940D58CBA2D6CCC1B57EF7D66D0D947B068928E0284A292D6F3610BE7CCDCD2117D59EDF468F4CEF33DE2BE52ADFEA056F586047F8FBD3BDFDED58237C4CF541200488A3DE301D5F36C735C387DD852959609A9609D370F63EC8E1649119F6966887C38C99F94B2293CE52EE234AA5AF55B0EB3AFB8B5A1D283BDE8F3580F5AD1951D8BEDB834EECBAC86CA72435B52519091D94647ACBBCB1B55DFD9A531C6C966B481FEFA1396CF42FBE362ECF403FB046AFF1B080D47BC282F4D053BA30C2A00364E11EF82FEFFC4096DF1F8AB109B45331611A8AC84B8DF0B7B94952A5AC80B075BFFBF16065D8E5A47F771C0F983E045D4104B7E8E5226EBD9D7ADD387DE852DF26EE9DA3EE70C7E20B877A45797DE836548664026A380F306705232ED37F4104114D58065B1C74441EB9CBF00B8073325B40851B44033FA4E65148161B0DE0C1517B6830CF5417EA3C004B7465C48F9B2766C43CCE5738E9EEF6D9D0F296DCBDB41DB35924EC1B746225142775268908A63EBE1240CEC4F02972523C8C7DE4B44530D1821BD43694647F355FC0473D7BD4D3E6D30EA453EFDEAC396E0DC03F796F70709F118920F8A76D4D85DA2B5DC2964A8824BB96AA892E43FCAD95470CDDE85433D5CAB38424609A9682E1FEDF7776F2D77F2FFD9707FF110387DE49F9422F11933D6CCE6DDF1 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = 904786DCB5A8F3C4BE4DC96CF168C65EFD3DE65FBE92DFD96B1CB99F33581F561E02A9D85740FC7295726F36F966392956B2C61122481D7DA372662D0F2B42BEB4228877BB85A3AFB52C689B3DA75637B52B81B9182EA56980E2C0AFD0D27644D0CD86B770FB3F4FF2618FF000FF7846055449E1ACB3721F03A0E65FC377F189824E06B13EA6A797DC7E8A8AF064075A9424A709456CBA62C43B51F4145D6F5456159678B09FF1A97BB19F4A41A836B0E6090617A2BB9B9ABB7D4B6777489FF1CC36E6FF828BB27B26DD61245A3F583839F4EFA1C453D6D5E9B2B3947EEE25D006DE476BB37D505FC5F0AC0AB97F8B56B8587A8FF2EB61C3F83598120B469E9CBC5FC03AFE2F72EE0B117F818EB8B33CD538AFAD801CB75D4B2F51578D628A1701DF56B9B9BBF10A30DE0893B6E3CAD4E264C5829B1C5C35B3A1B859BA7E49C29C93F98E69EBEBF8909F535956DCF767C51E2AFC49103C052AAC1A39D02909383AC02AB8220E4985872916DD6DEAA9E3F57475A33B0DEC69F266F1B990DF7F9F85EAA82FA226DBDB94292B91C3F124B8BA13C3ABE0908E52B67EA7131E61AFBF20293A61CB3659415EE890C151A5628225D61DED612DAD545B62D819A4F3D1ADE9CAE43B9CFDFA4C32A8D16116A58EE3743483663E9401CF1280DA465025EFB103139E4E8850D1329F1B9BF5E1A8C05D20E963E824EAE0AF586635D19D13244D + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = 9FB52B8120553CA1F4B801FCB753DBB0E45AF3F160749A05FC2ADF8FF1F507DC304214D785C5E0797C2F6F767D76A3EE22CBE0D114F5F8C32BBF8DA8505090381E16064C001F1807289D0DB586C09A85EF727F393BD2EF1F95CDC1777E137B43DE60D425C5F5D685D43D5F6912458FDA3F4ACECDC2024CB7E6F4340FCF6333CB29BA1801AA80C0F8A248A21305BA62D62E689D55D905EB03368783CB32F765A55D3061774C9344E85C35F8B944420F47070B34C9E8996C281D890E591D5B5CEF03463D86E88211917E7DB7F5BD4F36565BD855EFDDB859C97C206D5F3836840FF3863B93E17AA19281202AF6EC0B1B5DCC7C00D9DC08C2DCCCAE41EE2FB8E591A4AADADF2B28FC2133067D45F98B4ECBBB234593159888F832CDF1BD4864B8B720E42219A220C7FEAF6C0D6A1C14AF2F1020218C65A475386A71788F7BFDB172B12819F2D78D6D200382992D9F39500C4F15E44E1E48FD5734D110FFD1967E098F673492630074DF33434C36EC9FE067E8E794794191F355C2D564FA4BB691702DC55F4E6C83D1C487ABB281F0246814A1EBE626F05F06D09A371AFB4E746653872F83B42509504B057DB7BF06AFDC913F679EAE1FA4D945B93C4BB07E70F48F147BD668B121B05A777A5637CFE24A2BC155C97B9330B3E3B848F689A00AB1F916F321FEC05763DDC6D6563E7AAA3CA309ACECBB0884DEC5815558D8FF72E820 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = 906BFC0B13DBD86ACC32B93C56C7187ACC1E5984C1A7AB8CB4EC39A00355837F70B6790360AC9C447E28E93CDFB58CFAB3DC8EE4C2378E68298ECA240869FB5652803F590245F8F40810FEBD33FF25794E39758E9984E47626EEA8AB2145CD2E260873D4524759A855B2DA0C8A80C6C365E76E8B37AB4B9A6D9882870DC22F61A341FC932152BE5C84AF645EB71E6713B1D9B582491653A8365BE531D565B27159F9C5C7FAECA04FE1E626C1C9A7E7FF3882662B084B827BA96E865B753FE73E3936E47EF9F1EA151878F671AF51722A4755041960EC2A7C2C4CD364C4914F64E90BCAFFBEF147E935A6B03166065506FA7F20A707AD4771FF026D7BB0DB7E744FECD63782DCBD9DA7573D77F82E6A5446B1595F7EF81084CAEAE91E522FA604A370612A6BF464D5872ECDDDF46285A407D7835E22438E82E62CA0F1FDF7B420E15F9DC061A3519B8F389022BD06E9B31A34F854F0F75FB9CC538ADC0AE1D981DB68C17E6F3A91D6C60EFBAA357A49FBD148AB7EE2D96EAA8909782E74A9895890D02FE8C8B09B8A9F2A8E18200825C51896C42C59AF9AD93D847F4A4FCFF008D1BB8D6BB2E7C75912A086A23646939DE69D7BC42F568FCB076EF9C37912BCBC0259FFE04CA17F799FF7ACA1D34FBEA76EBEFDCF8D22BDA634DE9B6852A5DA831EDD0B92AC09D9D8235A0AF2BD5FA6B0157722115561EFE7C14C22145137D729 + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = E2746CD339332913E436FDC5B21215B39D0326E95882F291849BEF33AFC6C7B9A02F438C2E6F4175DE5FF04B79256B845213B917B34A0111814AF58B06C8B5AF9D2478AD18F012373B9F030ABB79BD7BF380C2C2EF07061E75D7BA113845C80E43BB718377732064B80339E8316068BCFD37ABE6AEA6EDA3C58BBF95A77799155B30FD6776012F098EF9F29DB911E11BAA67937A52EE25C429836FA45A2ADCFBC704A404AF8421FB3B75DFEA979F65415CE0E9B6D17B2E5825929115DAFA8E9A51E16F8E2563876702E04854D48AC2159BB782AA6B1B764A8359F7EC423CB00E9915BC63B27F6E758402B56799D7C3093B1A222FFB8C0F08273A6D5115D2CC7429B9382763807FCF97BA5EE82F78F835BCFA65645AD36F56D595ED06924574B581D6C460BB0209CD69581732EF9D1DE78F0B8109A6D4C271F2AC07179A84BF36AE328B1D0862F65B4ABFFFC0E4B6A17FDE288304234CC2447ABAAA223D16DB5AAE8E026D17A9ADDBA9C51F3B63446DEFBB9CC80323E6B22DFEE9D9E438BCF5E14EDDC490D9DCEC2F5C635D32A1B6C64D1CFD07DC72E954C97DB2A6E82DB75575172F6AB0D4519158F84C836F3B7B4830CE0856C37839DD7D7FAB6A9AB00F9DBC020AE45C6450C257B7C0661CD75F515EE380C2864F0610A682D49CB4D19409A317AA0D6667E3E61FBC2D9027F4A5BF4FB1A0D142183F84FFEFEB92EAD6ECB2A9 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = 0B82455171770082FF4A4FAD8A5DE99DF716033D27071278E9C1256D63C34778980889FDB7661153982EEB0FF904E24D31C8D48D89F412178E527D054F822DD2DF6C4FD555E55CCF3452FEC05F9CB3BD4F0B4D2EE851EE3E22ED180F0C02E618563BA89E42C4C6A7DA1A9256029B6449A9C63625CEFCD003F936613092CF59F676AC91298C820436F58BCBB2F61F3945E67353C854CC384D607DC11B906A1C1A5143D9AAA294CBE03F946CF2703C0983727FAACAFAB85C6725E8A9CAA7AA69891799C560BF6B885255674A2940DEAE220BBDA252E636C4526449BA895DE17312EE0BD0520FA68DB28BF122219E571C081DF18C2437E4174D1D6B529E394C4090E5FA957A996564D11A3B4652522FE2999903F6095422B4AEE2D47F2CDD4301BBE42AF671F58228D76D7CBFDCE870242872EF85D0D1E18CEA60C87565E48A1463030566C9E34DF8829A58FA36770E861D6543B50AC6A439ABC062236A065BBDD866A237C09897F3CE2EA5B0B1D8B576048685A53DA7A409FC6F121DA36AC23B9419F254C76E7024FAFF9D45BEE4392CE4C968E737E8F9EECD4800F7C928E30EF664FD4D2A7150954E0599CE5C4F07B9351A408CE35166DA4240F1E751CA4A7CC4946F5451A0BD137857DC003B61424A6682D942F4DA9644672ECE7A1EEE295EEF46B5AABA3F46099E93E01BE7AD9A5E27D378701CF9514B374204D387145349F5 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 4167BCE24865262ADADC78E611A960807758EC6D0D46E3CAC221B4FE9818937092BD3AC5219F0FD765B613F2EB7E36A5F48FCBE3CECC67540F9282DB1842F95CECF0648C12E52E7EA0C96FF7249A8446D0DDD7625BC55568642DA2F2CC897B14D2995DC382293CF2DBA9A63EAB9F6940AC9CA87FE5CFFA196DC930FF3353E34313894A3D2A0A86B0FCF7631735A2C663BCB71D5947C4B2E97441982B791A4F20BB86F7FB033210E4FE58DCE7256309FDBECD7D7F3FEF2D1DF7E0247FF981D417C56EB7B14B7C9453786C7B30F173C372275324E834D94DBC6D10714407EA7886D92F810F2DBAFD57484A09D70951CF85C0B7820643D0E7EF706934CEA0CCCF94B1D1F75F1E05B5D033A5CE1F804C3BC7A9CCF00C8CFEBDB62F8C654805C5ACD4FBEECB6745803721D17F2B8303A98ABB9B8618107B4493735B4001757890D772F78093AAECA244E5297CFBF0B9442370C9FE0EFEC199201E8667D61FE4B9CE20EDE827433C91F521EF2B296B15CFF658E18226F17DF114675F57E988A14B9F104F933BB685A3A9DBDA96A9B87F2EAFE028A7C656300814692C3DCF00D9F07CFF361F601BF2A1FAC9EA58D7543604382ED7CF35DE7AD7355247318796466081FBAA05FDAA65665448DE1FE67AB560250A213FE60F506E9EEE720FA762AF7D2A23492597BF37E0067997095FFD63480BFAFF67C084EDC5BE6C0BFFF969BF06E25E + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 4EC44E5E1F62935ECA450494ADD6AEF7DB1C1C8353F1354C4C9366E9E56A8D5BDD02383B9A04BA4927959531B9169606CD982B6B72927D2E433D900F3B402D7F5BCA979B3742E2E2C1DF8D4E163628357AEB37C94161F8A9269832DC28A4E4983B45140A5A7C9A4313FE39BB2C117453C2E5CEC3C0D4D5C1169B042E319C77712C0171E3487C590FE9B223B7F681F6C4B46ADC912BABA3F1E190CB66DA0B38B3389ABCACA3D4EACC26046CC71C4B3EE1520EA84A1B8897A7E39B9EFD65130DE8F694A0A81F4CE994A0F4FE1CD94439D6551CA8B695A5F22EC51022ADA24C3EBF42840C42B2E345F8AC07BD5561DB40D66DA87FFF248909EAFA8D35C380133AC87303C83A8368492406B45424CD0C7143BCA5BF6DDB6B2FA45FDF45B96BD1CB33F16C1843985C5A8B1B902361D10B235F3965457CCBF2ADE247CD371B9AD808FECFD503272D4918BC3CA6EDF09BDECD56DFF372DE8E2E1D35CCF55E7E81AC5DD717C49F492BD1B242331EB66287F10E15D7BC69DEE9C3F1032C162B0845083ED653D38F270747510F82E43F0EAE6EBDFCAF296D360998A5AE8E735FCE78AEE2332F7766FA8B289B46CD1F129BEC02DD6C3D7C63D544C22687AD7E4802E0363D05B8B7965C1D9C9EE8D08B0B54A8D55D2A52E0A053D31857EF350C713CAF7D7B00FA5513CBBD6FCCCAAC97501E3964DDB3012D2E101C59CB8FD8B28AA567292E27 + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = 4D2597545337647A12662A7A13065021A6D206EBD13459DB348C1F5361C5990DAFF469677E61DA9A4ADD24A1B4ADC67A092BDCF80D98C0A858EA96B0BE188619A82A1F5055B461660CF805AE75E4F869CB830E153E840D6F164DEABE9065695F6C8F982BBB7D2ACBFCD7DE93E8028AC978E0D78CE878D3F813ABF1E1B51806099DA8D76E16C47D0C1D6CB70E766F5F3F2336642B9BDC2958DEEA3D6EFC30FC4E54A90FDCA6BFA5E8D4410D38CECE522B3A32F11D4599D464E9CF16949385110D71D86A2943C03E67B19DA04ECDF7D30A3B9E16D256D5CB1545B1312B6E62AE028D61317E689CC3EAC351B034E83CBE91140E20E292A3AF44C27A026DCA5674B9497A10876CA0F21D79184922CE71FC11AC98072C2368F70D113A413E2B9FAF616E3729E515FE22146A35CB93D0178C1C07FF9F403BA947759CA0FBB09FD66C7EB562307F46C074501EA7418FC64911AC940C28E75E2146231E0B94893EFDB0DED97478796E87DD906FFFE9232368CD0673F9966E7B312C44F26649355448FE2FAEEA198A5F6EB45040D56068E5B98C02DD948277E1FE5061EFFCB028B61748E2D10128E0E0F7B70EC8CC6FFD071C65B5C1B9CED47C9B0DF76D3B0A5255E27391409B07B0C112CA444E2E926BFCFFB1AE7B00252F6831FFF4992D63BA2114502DF0A3489AC58F463C8F9A1B3CBD3C8836F4CAA301B7336D8DCD255C0762C15E24 + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = 05A819096B5B6835090CAD5109CD34F40A234F1569B226C42F0207AE06E6EB37A50AD688C81A98C9E747BEB1BB2AD741454430C0E36A8B4DE03A1DE7C3D1FBD836F90DDBF10B10AD9DC427F0039DE7C0A8336B10A5F2A24EF2A0DE7D5765ABE3ECCAE743AD3339521D78006F5859339F15B5A4C82FE758294CDCAD306D30E57EBFCA0C22042FD0CA678BF2E5D59CC39CF1174B1629243115B9247B620BB14217C7EDEA7CBFACD209FE77206275CA39D15F6995E27108C9740A27E98BC205606D68F4D5592756390DCF9C3B5C58585142BB6E31928AB39843538001D792DB744145E5E148F15336C1D6F334608D514C8A0D28515C17CD88C47AAFC95A7D42785D8425AAE5D2D8D74A90914AA30BD428F0282E51445DEEF80B7C1A4429E4E810C753DE4AB21D2E6E895FA4797F3B4C267CFB123C337CBE0ED977A9C3D4147780DD20B2E0C1781E3A8EC690F3D32F38D55D8AE641F61537E0649FD681857156837DD46D1E6005F5747882F895684A6817D40EA1DF7B6B049DB621CA257A3705896DA9B5E38A6D5EFD1D2FB4906285B1AF522D34A5F141C1B72E74FBF02C9BFC38D744C4D6B77C32317774F4F3743B7E684A72AB54BEAE64994F20DC8AB350FACAB35726B55667ABCDC7CDC18576076B5FCAAB6264687D497D32EC0D0A5C42FEF8899441F36F7B72925326885E1B67D59D7BC7DE352F8844F44C3B634753812844E5 + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = B83D4F95FEAFC7E5AA60BB1035F69C8074B1A25FF516AD6A18DE1808AE64AE212B63FD05F983A65BAF28B228EA3AB587B163E334A70ECEA2691A77AC940259827355C5459D074532A3EFD811F419E29FD67D8CE82BB4F79451F6AB0A8EAC6BC48713A04F318AA45DA6246FB8CD9C866FAFC9A48C5E6C6D05D501D00E08F7D4320E5E294FCA2B6439DD7EA3BEF65CFCF256E9C4E6F902BD9F6AEFA2AF303E0028D0DD0B7E266F31E21A23F546FC4CEB9BEA5A4034D3DDF7BF63B546F8A1D73F9F56E1C70B6B5E1ECBC244651322025086A933D94D1F21C9BA03493E38D28CDDF351F4DEC99C734589CC45684DEE9AAC79F367B940D6E1AB57AFDAFF422F9D60E83FD6A080D60267D19DE6626FCCDE0759697DC7CCEC6384B7AC7E936A7F12E134C053B80CFDC38609149B277B9F6881495562EB466B99D4D4A1B80C3751F51B3D53261DD5BBDAF1B5401373140C35D31907EA197397DFEA7C420A80C2151E73E0EE8E27495B0C9EDA13B93E8DDF9426C26995317CD273960301973FAA9AAFEBDEC14D92466B059D3FA7CDD533075F5861C538D69DE08F490616B650AB5A0FD177B500F05E011AE3AC06C2480816770D0EEF7908761AF08302DFCAC984BE0B3E60AFFCF5281FC6E28AEE30421E1DBEF6775CA9BCB2803954C0BE501D55D5D0A1CC7882AB5F1287B5A3EF564B91735B9CA85D5E7103D0175B2CA00EAC7B627BAE5E + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = 5A81FB81F8CB6473C04930BDC5C0A9CA96D4A500A7BA5A9167491573AA7178101D64F46A93486406614AB9F397E78B0198FC988CCA849EF70C39B0B3A844493439CECA2B7CFF8A32D18285BBD32B1E5EE26AB0F82626F4130C1B40CD6E2C9DBD6677E6644A1ED6A016DBDA139B868FC2F7C9263BF4535E8ECC24DC626B1F3ABF4B08E229CCD076DFCCD89C8EDDC77E9FF0252BDEC35DBF712CF0A5BBBA7B4C7B702CB9353EA4BA3D0E0DF48D6C56D0B51CA269C9E428B22951555C8CE65B5704CC3F4ED38649474C4C049A63894405186E116E616D686C7C033CFDB75B8202FC6B6EEAEF697A4F5277DA6C5E7EB9814A6798262535292AB6791633CD687E68EF223464493AE8D1E27F8B2F483F5B137E48F4390CC27D96A694971B28C9CDB1A24648A0E0573141DA6A1AB54789199E8E909F6FDB0766DEA735E2D87CCBF975FE8CDD6C728DF888FED6F049008D349A476EB63A87E0CDA622F9B611278868E8396BF4E878BFB58AA847F04C2E3A90DBF386954874BB7B1E8CEC42F1AC16C1824F328AF9CB154CAFD4C9E2348A02B0F9638C8562655CD5E3FC2BDED644DB61EA0C4DD27E8B79C7BE52F55C321619B5C8BEDA60D00DD3DA3C19D4C226ADF2D5C4A66518940F2441BCAFFA704C80900512516BE2710301579F023393892FB27EE9DBC71AD34EF26651E133B3C21D8914BB6E9446F11288E1A76431C3999686881D62 + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = E41027E76A055F0A826481C650FC24F7816460ED519AF8802AB191E411ECA719CA1696EA14CD62306071D4E1DD65333619D0193D9830B6E8796234F892010681923BF30A1A0AB89D82E36DCEF3ACC00DD286B84240D0282F5AE182FFB84BDA59531C519374ED5A2E80DB2137BEE790CF49B9FAA524F75ABCDC5AC3C3027F6DCA443B2CB5976B9B8D66E9EAA1F9F62A23D5C9A9D5FEC16A5925ECCF1021D3253BD67F471BA1530C0601DD96A4D7ED6E37DEA3EFB24284B61002158AF78E35F8BD617C9E7D33FA4128C31980A6D8631A009FEB0039B635D1030C200AB651C3701CEBE8F2CAABA57E452C0E8FE41FACFB398A2769AABCCB21AD2AA39DDB53EC706E796E7327E30FB4A631E6F2A35A8DCA86769BF6697F8490EC5980F3143EA2FB79FAA9A5F2AC7B5030170A4548AF817CD80C26E1B013BDECE9CBFC553464F1597077E3ED435804DCFF5FE05BD39E87B9B35D9F2810C32EEF8E30459566EA3CF380A7F9E1E2BD3E4843D06B018B55006FDB22EE1CCC0AE615917E8D17FB019F7419FEDB242F0676FF4815989821135073E5CF91DF42CC6C6F532D3BD8BE9118EA6E583D360F1F8C20600A740D9310A984AF3C82A48FBA84A84AFF42F2F1EC8C4115B5704704AC2073F2014BBEF1913FEF7862F514B198983BA63F4D38E81D822CFB548AF76F561EBAB987B208B11824481309B7AEDF0EF44376847162326193DCAA + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 28E204A3450796BA182A339CEF54A3B224626681C51297A71C2BC0ADD56BF57C7653BADCC1438E3CF7156EF7ED4EA9A084F3041A8157E1FD2AEAD827A5E79257C1BF7E37D4FBC089422ACFBE116A2E3889614B8B01BDDCF63B66589061A690790357BC31C68014CE422060CAB07F2A254C83E1A7A9AC1A0807462E6DE48B194AE5FA0D6BBF39AD1835C86BB25F5C273CB266DD5167350904EA22F912343E261E38B298495B38019724A1EEC356ED016BDE8A81B3764A39D153A5691C196557E6FD50DC5E42B6E6376E388D9C14970B67E9910499D94F5839ED933246DAFB712A122043D7D5047F1B53923C14979244DFED3CB742C1BD30176985AE2F76B912A6A3AB059F2BDC49DA4EB6A9D3FC9CBA1DFB1ED0A4ACF46829D51FDA861B8DCD62424A6E4272A1BCF28AB878FA9709DB43D800E9E6E33F6D644B62EA30BF758E496BD152E41715E6AADD766F1FC6BB95DBF19F497729BB30B29FDC4BC4F5502396969CF6957BE8FA7F17A4F04A6FDE71264B0F1B40EFFDFD560868056DAA10A6CCE695AA8A815E43121C971E4C4A3FC5E6EB27170D4539F3A37A4665F179CC6C804DBFB199814FB2D5121FBF93A472DE6F4D1DB176CED29F254F228538B065F8494ADCDC3D1117B33A1A51EB1AC3F6D7C8315E5A674703827C0C506977D1CD68873B4F18D9A03CA54F74D7F82900A27E8863CE13E92E0EAA86C2CD5BC99121F1D0 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = FE3145A2E9E54B8888C1FB87A70402EB4600B0A2D636DFB23F869583900544F602B9DC325B6A9E8C0A9192602EB5EE581E3B0BE65E918DBBB49EF017F174C3AEB12C20D13D20C3370E1CFC19634899833A91375631713DB2954A8E33CA839EE5F12703C814A63496BB438195D89AF5CDE1F22ED8AF340B72B6FD95660BB304568AF54F162D47CC3783806274F967835038858719A4E3115E76690B4E848FD6ACEC695B3174C7BBED140DB8FCC2187FC0585F4E975FA5EF3907588E415638F1487E6244F3A773F8E2B3D9C23B4154509F87564BC76FD437C718BFDEDBDAD24E3393A851EB30A82A641D3B144E3D9D223B1E92813DE477DAA28BC9CB621F8B3D06B4A3E3F9A52EFD9095365976144325269160F7B859EC570A14DD43057BF4AB3CD2ECF13E921FB8212F4379C59B332FA1817360747F58A63E0F635FA52C59E31962951AAA64264DD3F26ECA0AF7C423C0D3DCA624A4D33C383BA0F4E04630D74A40F760349116D6CC1A8BA17F228D7BF24AF707D130D13AC825DB8E6ED4B97B4AA589230CE9A471DECBB2DBAC9F68269030ADD24C712F1C2CE7E6DBD330DEB3249F7AF42E31E717666236DE7299283063D3DD6CC88D0096359A1E83795844714BCC9D88DA6FBA06D1156114C62FFB5D9A58274AE471D544D7E9701ECDAB9B63B2EC4FEEB07126F8C1CF8BCAE823E7BB18A9566627CF95E6D8AF7BE94275932629 + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = 4A021C69D45ECF926FE7592AC05951D86FACB97509B459D0459CDA7DCF2B084B91C8550A9F2A92C490C270CA90C41018C4F205E5A33B1584FB54BB1F163A3BE83DF0C721235E24D4410F73B2680C0835B840DB4C4244C1F85598C2B3A50A896F40C8FD249E99588A8AE1FD6D706A394541B942EC543343FB377854141A35BD35F10983543B17FC5C30B31F86C48F601506C21EA462420C5992F5B5DD12AE33CDD99BDD92667D4BC87410B1456929350D06C91A558A2A17964C3EAF7BDF67F743AF6ADAAA92766F36655A9496263B38F26A7F1DADB95B6A5B63F3FF9E0081F61D0351EE557199851596E5D221EE891CBA27349B4BA671EAE59473FF0C30F0DAA2F9706977C79746C8C1B70AA1397DF9F692DC4D1182EB479C98343DE7BC11D940DBB778AE8A75FF09D3BA328A032122318C021BF07AC179BEF0EE42FDE3D8A64FA0453057B1B2FF6804AC6719F6823270647E142BE5D338B1458F8CC7AD7637942AD4F0FCAB36EA6FF768273362B8EF001D50C4E5BDBE74F48DD91854A92FF02872C0963A2C2C52D0156E58BA1DF0B7FD9A178DE79CBCDEDC20CA2A226551C86835AE9ECAE09FFF19AEB6B114F7CC602065CBF6A6A740874FBD6662A3EE1D407337B935C4975D269DB7C54C453AC4674B9CFF128DC20C62CC86B9D14259E06315EAC81923D415E1F35BCCF48F48BF655E6B87F8A0B55A21AC760BDB828BA351DF + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = 2D008F8ED51C6A86910C30ECAF2B6441262D7CC66E54B39B9AABCEECAF2E96A0B5F1CBA234F45242BD8F96A57BAA98CAD302814C95E067CF8F47B2A4E6FB6BCC5C70A7A750F754824E9F970E4C54D43CF8F4E0D433B931DF2B6BEB10FE5B28F2A6B5CCE24D0C6B414DC8E3C064BD3B26BA82E4464B34C3735E935EC3B7AA36E6AF002A0AAADE986B0A15AF0E9F1AC5B8CDF3E9022CB6D2BE9CF5B30AC8E2BB5E766F528802FCAB3C3C3405F25367FEEFC12F1C7D99717F2EA62D7001B4845793B288DD9E777270608FE40586605AF8C9FF52D0FE4111E8DA8C315958694ABE386C85A86AAF2038DF6281D8CD73E201973704D314DFF7A5C3B4D6543A34C6FFC561195CB3B782C1ACC2793BA6A75974126BD3E4188FAA0E69B255336366DED52D809D6F70DAF11BA57B604DDC8359C1E5D9E8F2863EDFE71935BA18A4D373E4ACB73CCA7887B0F3A84B2BFBB5340AFB87BEAB7E3708484BB4EA2E17CFF49DAB7236BD83DD11B2761AF3E7E58452E9BAFE5C665ABC543F41D98C6478465BB67C6D9ADFFDEFECB1ADC2E22B97504590D07FC112E03D1E221CD860928D13995FF1DB025927B2B7EDB434DF01F1692AB329D07A1C6947E64258E53A8082EA6945E1FE21ACBCC1475054A0A9493ACF37E5B607C79A54C985E70A99041F3EB3D5511390A1F81FC845C9E29FC39F12D019A0DE262FA9426C123EC8C2C733ADB2217DEAAB + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = 7A46B367BAA023EE1922A3408B145DABC97A55EBC78CFFF95FD8D6206E5C10EFC9CBE3644A49C200097BA79F68B08193C6914E016DAB98361705D27B8B046F087DF7DD998C02BC80BB173772843645C4F93080B0EA657EB0902AFDDB28963BFC845ADAFF3A431705C74D92346BD678EE699FC12E9B06E0C0E08785A419CBC944E770CCBF89203FAF5D3B629D541BD51EAFA5857F585537CA60ECE26E09D6B9D05166360417B5259DFCBDDC5B6FA5B653423FE052E98387C97AED7DFAC41274D9BD912BDD661A02CB80CAAE1BD1704320BA54ACCA5EC6854D4F83E938F8535EF287AD26F9D47D047C74FF6E4EC338222BC7A1E346ECB50A72572D3F7A9621DD0574A9A109979992F18690750D035A65B29F0387FE78E91948B8EA8EA31A074FA405AC30D44FA3CF16BEC6D44B5C5791DC2376BD1C192175058C4CA5B1E0D989D866D9E076E8252AA53C5B89D7AAFE5B753705020DD7F79C93D31F768ADE1F54496B62F6D7B126A2558E4B2A3B7DFF1F046F9FDC7BB2902389E1C0FA49E00F4E892D75FBB5A18B22F863B7D57A8F1895B13AC99042B8BE114308B730ADCC2B8E5C2E6DB1C7DF35CC9E8160DF55BED2C9083A2BF79C8F141E44D48AB49DA6A77D7AB22F4E8A6401C9A600657C4E3D66700F452219BE1B5008344FD3B6E76D10445853C2814D7EAF753F57A70E0644C94A2E3D21478ED44D6C5D568E68231AA180BB + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = 224E3495D98A8729F88069BC2578F98F76EE3D73B1309F75357EF595D217E4D851BEEF015DC7BB03F9B8C80AD1B132AF1B99F42459527FB67ABE4B5EB3DBECB90E679454903BFB51E9ACE93A4784722B2D0453F3400632A86870A427DF2AAF93081AF99CFB012807766C440A010E6EA068C2BFE388F26D95BDB1947BDF1E364D252C81835AB7083AE5CDFC12EEE193016E5BC5A90C2529419DF2C0E14F8FD900D4B9519705221C70DB7178B81817B0BECACCEE975B396E63383F03FC8097CE6EE9A612D53EBC572738B17442C8C5F2D8E7C67073B6FE241E6DD00D356641552EED0D1C32A09A34223F1D3E0305A38675EE066B63155BC2B7851E0F51967DF90AAC3ED7F88B1EDBDF123D02C2F4BA23FD2F1DA2CFC2410CAD5188975BB5465F502B33A4F41D7B2DBF63B71085DDEEEEB6B9BD0C9F89F4424F55DDA4804E86E2B983130B46403FDE7B70C5006FEA04CF3350FD6124C735613DCEC7696FC3F75CEB8238D09D1B440E759AFA129788A91C43FF7423F05C6E9132F644458CE8369DD714CA9E4841DFBB29B942475058837FFBF1F59706915EBC473868A718F2887AAC888D2C7FECFC1F8E5CFDB5D3B2C71CF1CE400A0CAB18982BAA41B84415A0A49A25E18A8F4575B46A544F1079431E5F07915B92D8BA512340F2E43B689DEE6118786A2410D58CE5EF6E8446EE49CCD2A50557D32FD1E9E0954A4373545DA250CC + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = CB85425A1CC6A4FA6D8593BD03206867737F8D749D2BD7135ADE0D7A1F216FB92AC5C4897CE355835490699A0F715A2357100CB8932BEFADAD55C0B5D90C909F0272F16BEEE79CA7F7F1002F711BFA3BDE142FA6D5C908E8F5923291E0D48495E50DE065CFF609A24AAF17491D228E5AB226E21E790C13F8917C1284BE0434C8B2B2A3CC672D484A25A47820390FC50F2736FAF26E65E09DB68F52A9A65280789017F1336250D41C0DF4C93AF9E94036E598E6F06494068F4A59813D1396B00E65E179572FBEC6D30DDAFB3A898CC244E1B0E82043C1470B7602D0A65E455D297770265F72D82D584657316E52CAF4C8BA8CB4E3ECD82433DBDCE526EBC60217529CF03548CB114D7208B93726B5556E4DCBF2764712144024510AF30265FD4FB13E38BA677B34D69409F91F6F44DF602C9F84362767D1E1B587054FF7CAB98A3CD4BCD2319278F0144DA884306660DADE52096A10928C5AF800819E3D890DBCDBA7CDF1BFA4D992074D60CD6BA33C98CE2D9D849D60EDA8307B0F509AE78215BA900D5A571B3EAB6DF1575D7D2B8CAC2F03C4B552E5247AAFE2349F5EEB0AAA56627EB4D5C33C92D8B1FE5D591FD25828A5114C0F8B3B6E799BB69ADCFD03566C7959D1DB21B6FEB79E02006D1920CA35CEADA75B22A0B8235E9C6182872377B56A762AC54A719D8AED8DBA18AD925FD21C77E84D92A75F3FEB8692144F7D28 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = 93BF13DCDDEF177EECFAC1D8731237CBF8CE4459ADFFC34289016A689E88E5B000553F08989EF2B007ACB4AC69EDEB6CE2E5A7F85C9D75F7656858A7B824472BB89C2D25701CCEF18E8707D2C3444A28AE245D337CB3DBD4E2000D7C44D474CCB34033AB203D9B1CA69816ACE4569771E1F7F66C7E482F81A332D8D16D0A4AB5142DF5742570ACD048C52E8BB777D68041A67E870946AEC83DB5464AE2863020A4126EC32E1D64B5B1A21425C66471C7FB6C5CACA4091A96ACE9BB25DFE5627562892149EF463ED60D03549CB9643E9BC7403B244A0E9A5A8A38FD785984661C926FD959117C229EBD357847F853768F632A0A2A0F1703AB5E130524A33F825731740AD0B08DF92F8FF6EE73C1E60A35DED2882675C6A7941DEFF0D934BC2BCE9005DFD49A9CEB0F08A27CC972A66232A068A93C2B4A143C57387C257218E850CDAEB93C474C8B5AEC355BBA3A4D0B09FA9F7F32534CAAA727120C2D937CEE1039DE63AA5AF5803F7A1BB2F203C87DAB85ACA2E68A88C9C7584C1444024109F9E02CB994CD7C89E87B976A6BF7D75E570D4A11D15640A4235667669BAFAD64CF940158BBA56184ABA70E6097EE4F2379727F7BFC5FF67595B3DBBB7EFBC13EA4AA9C1093EE2174B5F0304B10A089AD1980C8A64A9B4E29F68F2BCE9AB7D31AC30B9ECB5E009169413B64D661E7BC6D909396C25EE3E64DE744FF937F2498A361 + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = 0DA9BF94215FDA7F85A36B7D31080F48FE09C92514A844E7F8E5A54E422997BE17E0EAD0C8CAF75A27B4D721F63DE3F4A9326E74081EC77A71DE52AA4E7DF346C7206C8ACECE21F739352B2EFD6446878075B585735471A189B32F41CF0C48C0E92BF492752792D05E324FDDBEAA786DECD3C0E24BE3CBFDF160F45CD87CF73E61C643E46772EF8C62DAAE119E0010FD84530025ECCE198B2B86FB6E8EE88F6C47F6B4710E5764F405E7856688EF030E5FB84B24B48292DF29260B918DD4FC54C325708B83A9E44AB92F67217B9EA0A488C9B45920B76A7644C38D36F9AE1A48F56284CC354BF35CB53F0E7A5745955E0E9A77400ECF97B0DEE9F4B32E8E7DBB100A1749762821AC0746CCAFEB49162B0115B4E3D26EB3B9FBF662CDCA1CEDAF5AD8933C7EC1CE6EBF154474FDECACE144F8B86E24B85C4FF0EC29736BB0B778AC071D2286EA20302C98B6883520D5B4BA22AFBEC4B6188FEFEEFBC487D147622B3E97DAB9319DCF6C7EFD3374FEC69D575BDAC70D400923234CC41435A803DDA6F1C1E91802F56D048B5147A1B9778FDCE25AFA4B0846D7D5FBD04614EA62263370B4CAA6E87E0B6D2BEFCA78E6A0B7E5A6B5E891F7BF4ACCB221359C98B3091C75FFD25805EC452F7251D8720AE51AC49620C6AD376F13A16A269942842FACD25C2F68A4B93A5A7CE9ED38C7285B2777AF32307D84A84CC5F937B7950689CF + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = 5BC15E410825D711C7219161491C5F068DC27D0B66B5A7F0AF4F86DBA7392037E886D236FFC9EA19511AA43FA27DD2C4B8026D074B3033D7184C95858DB5F237A84E93065F9AA4B40123AAF318356CABA01C20C97DF8ECF528F56B22A927C705F6DB6C2E64B60D36FADB2D867C0F5A515A2DC7DF26B151D700E43540B82A0CC2E105269EB6CABD3148871CCD3B2F36B101D051D60E28FA838C67E8F655B1532976E512DB752A2941DBF6FFBCFC0AFED99D379D4E86B8C32327F6105BB75D7669A2D69BD7A2C40DF3B13899377A29AD7D724574F545CD91A67659B3781B788B4E9EFB137BE1B3B8D93C491BC70581C241B184C915B651737A0B2A99B50E8786DF067CFE443879D4BF2EFA9970A2C214E538C2086AC7BC47DA706513BFCC4CBC6D5F387A9E3BAC080138F2D713C6C9AAD2E0CE7A938ADF4BFA3CF688CBE7E22FD5707EEF2D707E5004CF90DC880E3AF23A435A2682F9C117BEAEB8F5A57F521708EF7233BC6AD5750DF2272EC379142283BF5EF492240335740F43DD5042124C9B37E726438357472013ABE81ABE2C32E8E859E4D064C3C4220E5F0B5DC984EB1A8BBFD6DB41470174BFB8A1ED5DF559A65B1FF02CCFEF42DD546CFF79D34FEE13317BE00EABE8C6FF6D722D048EB757E7A38C65CA1A7B2418994D53CE8090122C94A934554D0BC3856E041D0A29F8539246924F7634B5265708208B4C59DCC084 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = D289FC6490F9DFE3335FE9F43131ADE538280B78DC2E16822D5FCE70E0BB307FC497E1390E04108C66C682FD6EDC0B47450AC2FCA43C151982F2EDE9F82196CAB4381F873AC6E21085B2B64C21A1A5DC59C440ADF566159798D6773A09FC737B6CF1BFE0CD0C9B90346F1290DE5E6AECC1F464E1B3E522DF1A986D8AD7C2A42B1A6067A3448FCF9E4BBB2335A3E4276B330C421894BACC448DB09F72751D2EA50873A9DF900C775D5E36579DC26830C37851BF456085925185B91CCF9A35B36E5358C4CC4F1C807D285421192BE028CB7D5D3DB67AA11AB666382641ABDE3F1690490DE0D556B0A25016D5B7171AE26592B5C460E41296C01222D074B8C53A9F73AEC29C63E54EF0D68FA1E57C604A2F4302B7AF05B20D28E5722B0229EAB76FDCDB1D2F7E58EEBE4BFCC82B4E4B6D5E6FAEF0AC442B78B483622EBCD98EFA538527D4C0E72526D9CFD1F13E24613BE03A79CE2612B19D7C9B639D3C2BAD28E968E7859D224958C017637458526521C770DCAB61A84181CD0E92AA485AC2D3883070E8DB9FB5F06EB5E71D10C175E0D7EC69947D1FBFF8A857362383368F52C193EFC3DF83F5A9B6DDD53D736A3543D46388B2845632C00F0676715CE8C1AA3329515495EEAF860A9AFDC9630B06E9B5CEDCC7CB571179F35735D02D185D7B03EDA48D30FC86C239AA3580816F3AF360FE78E84364872C2CD9AC5EBA876AF94F + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = B8C21DE1F120C5744352EB71EAEE81E9DE8A8CF6EE3E2394438013D9B1D7780803C28186E334A34B4CF17550AEFB58DE785E358D2AA6A61BD59BEB1B2F494CC9976D67085210D64FD1C8FFB0FE69814C2048D0937B17E79AC9CE6303562065D4C79438E87C7687B8B10AD1E8F9364EB9EF997B09B963C7A57FA9EAFED8571F5FF9B7981418AA8904FCC2267F3723FD67A427E7CD3D5EE6620BE53367ABA1BF9D2EE74C33BE1049356CD8A3B4AE481748872717394D6793A25CF02F95B6EE62EFD8E269841234F07041D5C3940C7BDFF37686B8E72C23342578FA0DB4DC21F4DC03D3539B851F5441B54BCD991322EF0FCC85C14DEF9BE72B8B4294EF34A6620854C291F91CA67152B48560683DF13F4DE00216180391AEA39BDD22D563E48CC622BDC72C990F795CC6CDC280BF917743A04854BBCAA2CF64128DE9C42E38B40107A97F71CD1B89DFEAF194674CDB35E036B45CAC35C45EB2ED6BD9F8ACB9402BE9E57ACC00E0AB6C5B32EEBB9867878C23F4275DC2A8754328DED15E206AE31B60BEEAF27F7E2A571C42994414355C28715621D39566FCAEBE6251EB5955FB8A9B1BF4D897A4931C5E7C29F27F28AB4D2B9950A81DABBA7EE63B679DF6E5C1DA4E23BB9529946E4F467A73EF02D1FF59D7141E6D59E14450B7A35BB4795EAEEE51545563BDF99BDB5DC0B17CC60FA04DFB3070930EE46577250FFA863528A498 + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = F1E1E702011F4A39197D769A6AF63160BED980DB70888266AFCB744A8FE41F1BD9A1B668B4A96A6C3C2FEA3EC1564592134854B26E31102D1B95F112118C959475AA6F2DFC300E389FD061FD6667DB36C32055901609EF59B3A8DE4F9BC05D52745C78E8D155738F30EB3A8E3B61B36AD34A6BF7C59B59C1F973B9F94C9ED61A746F85610B060E8BD04CC9691E7979EBDE5E9833AEEF21F9DCE96F61A21D2B8864F07FDCD6D3F2BB3DB29CECB6670E859A4962A5FE0179236BE7426E9C9B2A0B97D11B6C9E049ABAAB494513128471F88914E506C6A5006ED295F436410CD24B4CD1EC5AA0CA7A66E29DF6C362389C7A9B731E0720400C0923BD8C4A98A651B62AA8AADAA5FAD481E08A17A2B3F86AD23FF6303463DA6300B47483F7696962D33AF1DE2739C30346665F60C90FA35B74CC240D3831C01ED8CB91FA34A584DEA37846CF4A0B43B5D1C26597B2AA1C973A070F120F08C78A9FC8D524FEC1F10274F03A4A7E8E8C4C1FDB415A1AB18B4C1F07E1936F81FFE7F2A0A1A815E2F29334F1B1E8029E7E12A798187CCB20F6C1EAF91B14B61B2FE4C3852BC670295BCDAD418CA7FCF39C69FA9F9CE54AF17E695F1D614BCBD49FEE3935238CE59D9E378F3E596B34149149E14D9B81F0BB09C2DF8E6E632436EBD525BBDB657822940D25713B737A2DFDCDF0B4F6DD7920A8D1E69EAF7B764D0A469CC1CE6DEB70DDD69E + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = 98326BE2F713456EC96C941FA0B58E311C226474487F78734C8D0514AFDE43293116D6C33FA3EC687D1E9087572C68479AE1080FF8B2238C11AEA13D9A020A7B3FEEE56FC2FA69914489EE11B17CB9D3AF448525C3992232B58F2182AD27D93AB88B22DC94368D10B112AAAC096DCD8AB76250984EE4E4D3CCAB7FA3124F7B02D05111D97EF0CC52C5B8221383A6256C42762E546ACD6691DE9810FC2271D92834DA1992CF4031B98CD0919E01D35DDDC738D6A305C6E400049A97E14AFBF40822558832D23165CACAF16A514EFD6D207A95F97C330CA333C810C19AEFAE12F3AA267CC9FCAB0B73D2B7E5F3B007CD8055D0C4665C9C53FC818A53ECD9C0DA776EEB3904409ED63B337F755CC7783DA8CB713B51C720C2826711FF36D98723C8B00C4853EED1B3E2F8B8D74ECFAD079A49F37665DE5031F2FBF54DA6F1FB796913B9DCE2BA1206E4255F39C314A34AEEA01F1965C36CAF89A2F7FB9EAF7E9C97E2B70636ABF0ED00F59D1DDAD409AC33055E6F7517E962BC535EEDFCBAEC203F91FBD2B13C26A20F9C2236C55F4B506C7AEA579ED3A0204BC67002D158D80139379DC23DA06B0DEFEA079E8FC1D51976757E9A455719C45B8965959A2958E75B7E6DA966B86029D22FA50841494303AB6B16600324EF918AFF9DF161224F1A7F26B7DF364772724D4B1AFBA11B5C114563F9DA2604A2D1B60BCC3C116A5E9C58 + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = D539B406312A6A14A2CB8C2B2BCCB28B7C164DCA4BC34564E65B807F59809E0844FC897BBDA2FD7A0082BE317B8CD94C2B2DC8A625691D56AB21A2C854CC6952A4374CC34374AAAD9090326D493EAECC945848FC4653A15E2566A960CDEFF139508882B766A1ED60CD292C696CC75136A6DBC0BDA628ED1E16129A9025D715B7F83CE3A35F4EFC7178BDAD06FE6030E086D416775BE9DF9DB66A365F56129F7B25A8701502BD36CD439A4CC122DA4D78B1D832F5033123D9A9D72EDE2ED7D7815EB7A3EABBD21E2E507DE4EC4AEA0B40792337953DCD9D7BB952F710F8BBCD7E8CC1ACF3B7AB4EEA9C066D9D0D27AAD600405AB5DAAB1FE4551CDDEA659307B7ED1913BD8635AA409754A1860377E0453A63EE7C2C6CD1A33099A81240B92382572CAF3698C809237548002EAFCEA5BD042DB3A7506189E3FBB4DDA6DFB1C95BE136011FA127B0FA3A4A386DA3C327B072417BBC5346A5060D770933142B6CEEEE1021BC0DE076C2FC8ECF7A16A6CB752F39B8FA1EAD88A7D4364204BF613F5B108E2FB60854F801210180B9DC4757D145E715D4E2D79A7D4E8AA891977DFE08A92AA423A05D22B06C6A3D1EA5953214855BE7CBE9C2E62F2A7171BF014F3F077AD244FABF9C1584EE12DFCBEA4E4816C470AED4FCB900A5175C35189380829E92805E47969FF5A1C3B52FD850FB404BFE189866844E7B586DCDCBB236910011 + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = 60565A24B70C76463CDC5397BD0C077B77CC70CF33128A0366A7C30161E21C32F2F024511A9605040D699E1410311EC3E8952938C91D73AD71803BE3F7AB60E2AAC7A91D62FC0729294BCBB031DDD5926F775FA85D25C85E1CBC349237F9D1E400E64C15A797C1651FBE5B8079D586BB751E1B765C36A40008C9C612A8A67C49A2D4C15001562D7F7197CE107AA7601E490FD3CEE738D397A5D9E1A9568385A243975B9AEF5E24C4235CB3612527B7ABB7DCFD22A124F9BF5E1E169F2F58512B8AB04F4953D40E6B1D4FFB920186E4C0751F5D8516F142C426F3893B6B4F45567461059968369B3D333B74F9A596E7585C6646AF458173500B052213EC6074890AF149A6554A92106868A64C3957F43C8730DFB3136040EC688ADFD0E79EA74E07F6A6418656343D24E446013ADD76058241F19F5CD42F256F8E98C7A5F7B9C4CE3F5D19CFAE69AF8DE868FFB5807DDE0C4A5DAC1409297C5B8AD27C1E1B8FFD570BC41F71F21AF7C9639BC6502511FF9D6CF63BFE2E8AE791B50527D79334CB87D9BCA919833D7123B8D77F96D07106BDB50A3C4B9860E5E1CDBFE4B49CD4063D0C4796BFF2FE1507F43CEE6CA6BD19038CD6B7118120C25EA0DD1BAD05018DF08DB67AF168880C284DAF7DD33A7BF18248BA7E79BF18B68C3E14664D0E1349D458CE7E128999CDA5EE706FD48FAD8D0489CA8C5718CF3D2C16563178AE3309 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 7FD57AC85310E74667C025609A2CD37D12EB3FA49F9D9B9AA4568C1300C4B5FA69B6591F82D4C7C5B25EE6F4A6E2521090ACA1588D75B4F6BC1D58B106E825BA2409F84BE64AB520CF4513A7BFF52FA7A67A761B86E9D749FFC71532F202A2B619FF772EC25C00C269E7FF10EC38B93999DD8BC7B3DB40CBE870CBCEE6C0A6842A72F978BA9AF677CF4F055762ABB1C8DA60CF57E9352C48B0BDC0031FDE8A146B8D881DD4D0D05BD5D14B52C89ADB6A27CFDA2B3D7650EA650BB75D86748A722D7E3003E10E43D89AE21E9155231556B7335F576A922248EA2040DE648A0D49D8EB88DA240E586DEAAF9895CB2F35CDFE60E61D6643E5B38FBE40E82BCC8462FAC98F078DFEF5D42E1D562997EBBEAEF637FA8F65510E604E99933D92798CA05DFEE0E935910BE5086DBC8BA9493CE52CC49B85B062164F6BE8EBFB4F0C27641B65C397B92182A47D4E926C6D6947AAB598EA0D012EFC47556EC7F6407A2DFB3CBAE71237D968EFCF9192379384FD2DDA510BAD5B30F01852064938A17C38B6166170FE15F09F645CC740383715DC35C98F6E2738473D324C7C6F63E76124824554B0EA34120FACD2826C7F2A717D2817D871BABACF1F061CAC045EA61BED8D4AAAA1D41A277E50C09606B1786BE65E1ABEF10F6DC6D28EB8206D3E3B8A56FC83728291420ACBF606C34B2B3E852381EF31556FDAA341E05BEE90DC9AB7173D + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = CC03A5BACC26E1580F37813E60005111261AE521159086C7A6C3087E238D2731A02BE233200FA54BDED93D6959DD03B71A1A4C7CCA20E9685406F70D722DFA1718B3A169BE6A8C5FA275EAC81667046A605AE8514BAC24F216358A27F036BB618951A1FF5AECA2F64FE1571CD01EC7139F86D370BCBA6A721520BC115330398F55691D7A212BE824F27AA10305523F7C11262D2EA2520D72AF1E34A887BBB4A8DF9966FDEA757351EB67DF1DF9F9DFD7D7892D3CFD1F0B8A3A16AD5055D5904DDD900E4A5F94941FA796E8F32A04E807EDE1958191D58551378A57087A62F48E3AE2852EC03654CB142D2B851C5995324D15927F3DAAAAB188DDB6665E08596B71D9C2B740A15F8E78F02C6A820C79C3223A98D79D225375F6375EC21A5216A9D01D0238FB456857E7D6611CADC2DF844D99C6380CF59E7BDC268CE91D733FE00EE99A50ACFBED98E6AC17DD8A377EE4AF9F318BAF14143AD4873422DC56AA6E4DFB6B0C312AB14F16105D8CBEB7F57DA85644005CA4294FC8667C1CC1FC78256562CD7AEA9779899F431FB581AD6CE91A46F003248A42BD286E9F4A0909DDE99E2FF674D4D5E71EDA126995DA15F9C00F11BA6691E3614CE6FFF05AAD6B7C63A72DA235E900698D09BA3787742EF61701EB25C3D70927272441709D2625B23FC97FBFEB1FC06D3693509424FF5DBF005023CE06D80D7956D1DC0030BAE8D0BC + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = FDAED26927DC53F12F002A9C47467A4EB53D941B08106D6CD0BDFF6021B6AE116562D2255562F70BE884427A8B6D593E0CB7040ADDB87663E5F03981992435C2BAACE87C49CDABDA178D0663CF81E96C2EDFCB6D50D48ED128128F6F3B56E33BF33187BCCB5C2BCEB418DACD4C820EAF880B80E32F00B7105615CE305065716316221019A84CA2D29FA57565CEA5239484B8E9740AE07048BD0F75B50827C138979FC9671B4E684952DF9A681E0C7ED8101DF50620DEFD82132EC81F5073991E65E1DD72A52B596CDAFE6C5B6D9205533EF15D137A1FEEA7564C03E3A19E2B9F40600FF1A66A241737EF7FAA29EB83793BC40D1E48CDACF3936C499B572AEBF2DEF5086354DF7DFE682B9C281F4CF68405D0268168F5495913F930B6009357867398ACC5F951D55D854B0C42D2E2127CAC73AD0B75139111414F6D6A68E01CDB794EA6E524E45A62A82970D22168F37ED72575A513751368718AF490E28ACC47D2BB7D59F567DAAED80093929FAFC0EBA01F66D67DAC97A99886D0B11EC0C4C23A593BBF05F3F80A047A07C883063A9FB967CB9A796D18168D0A7F731132AADB3D105B1475C583BCD4B939015F460FEE9B6F23B0D3BB3E2E7B7C5615AC8EF7305567397EC4C1DE8EF5A05C2A14196AD00660DD0FD11838A707C0FAD38D343AD9D65056A4C3701490B3CA235063D7D21BF02FFB2E0DA3D9B9092E20DA716BF450 + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = F375FB504784706DCD5BC3A500BAE8DE6630009D865739A0B30C81C74E0379A59996410854FDFF996B46F9F30BEDD7DBA1C5801A68D1D3792119D7FEB29A648E08502CA04637AFB9427027D59E9DA235BAA4D602AB2FF257BB5FBA4AA79C9D285E99FC4314685181020C2E9C1CFB22D1E7B1ADD9C037A7F81B7E0135F9628CD67B8591271BC12D025322BC21E7BF4E91B049E291DA2828DE012384AA65E3CE26F98186828A3C144A095D82BBF5A325E41DC28A33828D9717BAED4BB8BC50116CF39C8EB6DF037E29ED6A32FC5039EC1704E199AFF83768E58F1858ED741DDDCF75E8B2621BBBE14420217CDAE7561C24213F76530204141EF5C7CE0A76C587C2223181F5F2DF58BA5D89EBD209C004F5A2155CBD896A17701B19D5CD5D555F2A964BFBEF27D22FB428DB161C0AB99D040AF196EFB7640EFC55B7CA8E1BAC86F4368F612EDB120E2A7CA084B9F5EF8DA0A11136C760DCF4426CA98F20514049BEE2F9E6F66AAFC4225CFBD4397BBBFBA872A47BE903EE0DBEBC7EF85A1395B14504C18A8B5BC5416739DAA543DFAD6B4B8A88BB87B388A6974AB90756E836DE528869EA2734E75D8AAD84EF1A60BD371190808436D5C7632A2F027C3CCFE8F3D94B0C262FB7AC99103B0688238BE68F26B8CF35876B6E214ED1973FB44B9C3F3DC7D7296BE8E150F82E80594E34A3E008EF40D9647EE26E1E4CFDD8DC673F2AC5 + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 98D27AC62145261BF2CDF99F8F77AC04697D2FE6F1531D3B1E113A7BEA4B9BE780394CDE5EC43EF820B0D39E20A287B29390A68091A8938EF5640437A0F09F5262BFB4C55F703D44E7E21EB69C27566B66BDC95A525B988BE281243DAC0CEF5E04195B318CDC96035205CCC556AD42B220FCB0E01516E66D8CA2D045AE0AF7FFF91119CD4C92E664FB339203E8C0B3766C78874DC85D48FE668BACE760A96F5D562FE4ACE97FB33C93F160057C0475EC440111C46777B0E2C95DF666EC753057596713FF452EE59DD7E1D4DC278238518E23C78E8882393B86427E8F6188D7A08D770B2D19E08CA672C89582431F30CF4A0CE89E87A635EC2E05765DA600115B704E35B787FA90AC545877EBC8A5616EB998380D4EA1C6B127844A422789B9B3A41DAEE940F75CF975B464736616D80D89387C171D919874F38453AF44ED16888212AC279D4890CBB5672254D76D5FB922412A2EEDA598087558B1E89528FB1EA285303ECF4843B18EDAF6130D1374273DEDE9EAAFD6E6F448547E96AA385235919600E4BFD04CC2BDD89E6860ADAC61E73E37C563709F3187439A305B9EA8DE8EB552A615712451D1DA495A8E02B9733AA1F7B78DE6C0F0CF6A379959EFBFA8A78CB6E93A758889D826D7E3DC741A10BFB55544993683B2383419D3F5BFBAB13EB1EA0575E528FCDD10FEDB0C0133C8E78FA0DDE413FD951262E0CC958D2850 + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = 6095C8CAF02D995DAAC5F6CD94A33FE0CFC2743574B352FC35A056135D20BE12FA7826DD41BACCA18C90060C08C5BAC8B3E706622A2BC8AAD1FB6EF93259A5B8092540F68497F09E47476F9D94111B2FAFE27CB04DEEAFF43A435E2A5C0E44AAC6DC3104453896C9C702E8F59BB61A62ACF889174955BEAC0319FC897BF989C97307A997F4570F3544E5A003F22A7C5295705201F025EE7D6B5B278DEBA559FFB82F22AFF5DB6D534E6C50FC4E55FDAA0DCDF977178DB7AC2D98416A6E0F5AB5A49C29E414BC0AC0122D608A592C605E418EDCD083B26429BA0A1A53584EBFEB4FC005F144F04CEACC971C9EDD23950A1B7E6A4A9308C517FF80EBB1610F8E78D963E222BF148659BEF6B0C8BE1F466FE786128431A9950D3C70493D1CD72731D0A3C956E34F35339AEA578F614806DBAD3C02389643340DB162661003D2CF42F1C913A7FAB77EC3B9E8E3177DC0394305C21D6E9713F34516CEE321992E4BFCA4DB5DD03E240A7FDBC83826EFFF82E2B36BDA326D8FD0C858B00E02A83D0DF7216A475CDF0A37B0389095F501CF47C497E23F199D711991FE71DFB56D789F30C86D3BD17C8BDEF8A797BCFD3EBCD5E62CF99BA0403B79BBC8A0FCF4FA7C4E65B674A796AF85E7D09134FE214CE8355EE337FAF6F04660753C1A96D95964E587F72F0FA5BFF435778084EADB1807DC66772850152AEA381866202C8A38723121 + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = 765A48E25EE43AC1630C65BF5138F5F792095E182483DE8887F0F56ABDFC0526A5B9EE792A2533409F3FCAD2B9CD43D7CFB5454194344169DEA3FC67CCB5B9969449454E18869E7CFD821ED0F3D655F5B33C528BED1778BD504B2C84BD38DBCBFBF5CAD7E46F37394622C4B065686773AC0171EF70717E8C6A887AD952343D02EE96B4129B3F189C631A719910F543540DE4AD65993B634AFCF313100771468C81B0E270769ABE2BD6603E525682AAF172CEDEADD12D9389B86DD6459DC490CB89A637F6E24C5819DFB51C817A3AC9837092D408C6816B57A4B0DCD0FD1C7AC49FC012BC9C22D16C779066A670252515938764F4E05FC57908FB67A3C6927B4639014AEA06EF91F8D43E507C48A567F36B94591EA1319D7F266722BC9AD6F5CB8196994F7DDEA570720EDD94E6C56D215D8290CF0227DE007B71E80B65301D53363D51C73303FDFE76A064BB1169862A02F541D782FC64C3DA45FDFE2FEFBEF8A9383690F1D6C695855387CC206B9E7266D6E6C9A2160074A962DE01FEBFABACC6E88CF7F724CB4B2F09862D63CFCCF1D880D956E7E5381F44568DE6BADA3923F2F09CAE80D25661B9431201C1918DF1E442F26710314D8B3F88E94502E6E9514C2EFEEC7A816E82517767BF7972D6329BB54AD1BF67842C449F54C8CFE2FFA312129995F17059F59E7AE05D21EA17F8E93C1FF4D9E2E71C9ECC9DD5512FD374 + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 270EE64E434D9CFA8A81B256AA86959D6D9E92B10325A1816776A309002E7C9346F21BFCBEFFB2FB31BF7214572A7F437E3450AF26743B418CDEA45AE28557078D8275E406864BCA916F178181CAA3396B8582B04148249102D761111507C48722506D0314A05767E89B3D9D5125A43A2B13EA8827CCECAECA6CBC864B8B7591B15BBE0BF1093CD15C5C14B4B3705E37CD97752CFCCA1C1A4340C02298B028A633CAB0E218525E94C3E150EEB8BA36C3AC4E8EAFA5ED05D9A79519CEE2A8B8EEA9D8EBAF54624ACB2BD593CBB353BD2F577CAB60508DAB081BD29200E9A9E9357978CC15F4B98A383C4A46594303143AD019D5BCB052504EFD2ECDABD1731DB02D6FA4AC9E1D3037B75B7A5CFF8702F8EDA7F2CE848A0B96EC2F7C62BDB1E23DEC39AF110A4E6C0597D61C8AEE900276FC7B1AB2F63BC9874A00C79705D87DE2135218EF233C8939671399A32C02DB4A6D779F7F933E7F7A467D236178E2137F1E5FF53A3E8FBBDD8D01B737EA95C762B4D4D65BDDF50C527E01DA1A322151757E0F10525196D3293E1443BC7282496F3DA971869DED47DDFB7BD99E799EE60FD3CC31BD4B3956DAF6D70F79D4A5E4348004F526D90CA47D7C3A9EB09074EEB00D799F14DE7AE5A4615D87496FAF2C60D1074C194E7CDDDC0765C7FE7C6FD419335189C2D584438D3879C50D43E6CB25D5776B4802819C5DEC7CB2197B334615 + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = 652A6B87D0E770909BBAA2172F47CD05B7A07B57D9EC47396E9CCA40EDB76B99BAE0A8FAFA517D12ED62B5E95AD89560F3EACD241A2AF24BB1F02BDA6F0A5ACFA85F4F86CFF75BE9E7A57E0F182890C39ACB6DE889D24EA360DD5A4C59E54DCA7306AAE46768205C3440AD777A853DC8FE2D2EF2E6A5FDEF23BF514472B89405FE1B7342AA4FB448E0EED8A46B6F259073057571B03A4DF2EAF696838A51449A5F7DBE9644A9D092AC68B9A30034460C1891A389D06A2AC3165ECA91F203DED47B5192C8F6AA2E5FABDE178A012D94A8A35A1D446D08EDF55F4E4163C2BB9C46025D8253B3F062926D17F853728EFEFB10D69E6846BCE7E7A037996654E1C36C3A55404A1FA579A1D55FB95B30EB61EB14A29BFB54878C0D59A4209E1C746F7B2A2F2A28BB19A5F0342026BD807BB366363623BD68D4C9D9BB42D2AC67DF49DD3727F4D2AAB52A678F6F98816FC86BA0073F4AFA336A32CD55DAAFFF5D993926522D770AA44D62F6AFF7E758AD33DAE3C642318894C2DA99F43ADF2F97E53BA48657604259A8BAC4268933F1B97BD47FB30F95AD284F8345D6E013AEB9DC2478CE49CEB054555D25E36B13B322E51BF1C1E7C062E328AA440F87EE883C7760FE2F86B487BBA73163A13755E6CBA804F0EA6399E875BDB2966D427933D66D82C4D17FAF6CDFBCDA36F09621A3923B4EB93A27E44796CD1C1770835B83E89D28ED + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = 2716A3A219BD690B9B0450CC0BF4F0713C46C4C02744F8F71DE261B94159278566583D4DD04CD573E79C576C1F25834C91D3AF69F3A301AEFA516082869F3CEB0F916A903D902175EF29A0B29AEE92CAD8555A26E7CD0395BB937750246A8D5A722DCADE4F44459A15ECC29B207FD8FFB8510722D925627372D86528B9B513967B5BCBBB233B459AFB5AEACE48E5355C3E7A387F9DCC9A55773276D14C85B8EEBE3D211FA08CBDD8AAC4656F028FC16A6D6083A969BD6EB5247695D8F6DE51C036A743D2DB7480DEA41C228FFDFAF129BCF0D0D5F7644405FF8AF778AD9A63EB54F62E1517EA4CFAA92F2F25E5F001A562B6B4D28BFB398C26DF8E88C288AED5B7AFE8686AA4AAC77C032D21203FB7BA79707A7E00371F56FDFEB0E607252448CDA319C39447ECB7C69F36424D74E33D723AE53996B35E5554182015493AE03DAEC5C31B00D481CD430F4723677C7B33F6E325A855300E66DB559DDBCCD550DE02D797D6B28A1EE01FA13A62F721BCC577A6C3363A03ED976391E969379BA3BB6BBF99271F3E5DFADDDBF0BB32DB9ECD658F0DA2863FE8F48CE2A13539D8E8276C083C4CAB1AA9D92914ACB238C3EF0A5952E5686E39D2804DED740E0457F69FEE9489B7E548514FEB18FCE21F265DCD56F0081528A24FCA7595E96D31CAEF0969F56B122749C74FA108C41D34902828B22F814BF352A1B5B52E9C65F75F232E + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = 6995A90158EA5FD54F6D4DA0C129B92EA3E716E196DE4AC014CAF106EF4CABDFB9ED799545A0E53E32ABA2EA78A6C7CB936947F79817D200F32053E81D10131278CBCB903980E13125C99B1696F26D355882A107FA65FA43766C929485696D56D49D371643E9D360E25668B5B7BC7CDE13B678723FDC4598B60B6B19B47791BA99F4258ACD94604F26D5587EE8DFF613DD53E083CB2B0A202930D61435601A1D3CA8D97C198CC278967BA493B675D2F42CF4F41072B7A9403DF36E0E15B8811E37CE1119542C5168C95396653F72FC9E59727DE36B693CA58FE374AEE8DEFC657035FC874B7851EC0DEDE274BE064D258C0B39A238D2863BF8B7EBD0F7E2C3FB2A7EDA6800DAB2DEF61FA8F5E6891652796C2E9CF586BB0549F6F73B3374A4D7C6345FF73FBF99FB25CA47823A4B0470738AA67CD26D2EB954EF40A4121DFED58A1741EF335E8ADB32A588452774FF26B04EAE29EC1AC3BD83D2F3A27AF2A464D29589AA837890D7711CC0AF76ECD6142EEEF1C904C0CFBB287BABF951B8A10281A7CD1B49D766704350C7612A74606D2BB80DE11A37CA9AAA1CCB91F4AAC8D382A5A16E0CC7B426065F3AF566592C51B52BBBF007F4F4B7910DD0C7042406F61E5EFB6E04EAAC76E07A7E86C6E3A5706B833C52BDDF814E1261724F97DA9B7887399B7FDCFB14321D8A16683C1DC615EA8C738F0BF6076E05855F80D8DA43F0 + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = 791C8B8021BEE5393FFAF003B9C429A5ABD2E35C5C7F556E843D735265C5B7807343EE946BFF31F45B5626555CFD792F55465AD9FF95647A41D9759DE484A0564492236FD770ED3F78C92514B90636CEEC76D3FC44A6CCA482BCF45D3B5BBCDBB1EEF6D5D6EABFD0FD10B0B4AEA88C5FA68182A8A9805B5E90B1767C9E79500237D07BE59C0F09A9AF2236AA954F9DDAADE492D691E36F3F4043F28BF0BA6349591700C4211185D99CB25553E2F6F405F9D8E00FB658BDF4A091CBC7092934A6DC6D65E42CC9042F90D169662F80D66386489D2E7F750251130E1529CD8BA70929252551B0617C960203EDE536CCA5EB0C5217E9E4756D7B57CCBE5087A4FB9710EE89FF62355203DF415975AD106D84DD5526B3EF3432770B163856B4D46F7315F1ED70055CBCC4C78C5C0CD4B19FCED545EA00F0E2E9752A227445DEC6D50B3D73ABD2D81C9AAC6B53E108DA04C42D491254AF39584068E34CE2F4026FB63C29A52B913E5D2FA42FF7ADF413227B784711A3513BEA6AAA97DC019A25A0F09EE27A46FEAC4EC13B43E341C505C308ADA1DB5D72E0609A0A68698C809067F2EF17434F3205E03BE67433C1D67072E8CAD0E2276723AE7D9F552DF19C142A68A7B875CD7A73FB586E128856A9259F7373242C498E621E7F16E7AF57F36953001925115806972ED2795B9A2F398676BF37F2EF8FD4325863D599E10FD84D8D77D1 + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = 42AEF4301642ED54CB1FF9B446BFAB73CDFAC0320167CA3460A9AF1995B5DD50C1ADB402A55A3E5C4F7BE66BB2041F3E4C9EDDF7F08826F8B9C1163B0CE8B31769AA72AB4C598B3BB1CD5791A6BC30D11F0591D0EAAB34D80F134734D792BCC6EA61AA535F4F28331AA6E9A572D43F776341C971829C67C0E7D9321B09807965E1E9C70E611A4BBC3C42743A2D04F50804730C857F02E631C1B81DBD33D3EA2539F9AEECA9842B3C95FA1B8B1C330926FE5C6A396214537BD06B49B7951AF0F9AE04D158F364757A52AB1F21B4155895929480D87AB365A7950B321D5FD0C18FE3FF63B10D3CFD74AF45774500AD3FAD98DA5D240D613B386E677D57211B8781AEA7EF4052A25E122064BAE6DD59B00D533E6B041130B89778DB87F88DD37DEB78136B55A958744B9769612A0DC6D29B6C0EF863934302029C800B50AB385DE742D436809C7665B868C83DC450E438E94EA3124DC080355AE5931797E75DFACD09A7C97345608E021BD2034F7660ECD194F628A9868BC0DEF0231DA66AB89E2DF1EDA2C403203F971C1E61E4098FD306202B9F96C78CCC37EFAA7983C5D7712034328D1E65FBE96DB94B3BD88732E60ACE5EF946E896ABD4E1F6978700C12C4A8A372CA54B6F8EFB3402B898838A26D8900F69393E56D2ADDD2A0EA26E7F630BA6D19C46DE493C516277FC491F1FE273D013F4A32BDE43994B031EA51C2CC8F5 + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = 5E0693E64DBE678055A31D80DA85A81A1BA5EB1CB6394B7B1AA2ADC2B8C1FEE4F41DFF3623502FCC349D4B2BEBBC1311EF291EF47F490C6FC1323075B519C87DBD77CB94C213EB548278A6C11B0C321C941FBEB9742B690A9777875D8A1FD0627B5CE3679A6DBCC8B53D775E73AC9F951749FC353EEE7220CAB40F4F7C2EEA311CD0B50974AF188EA9742509C4121FC07A70FC28F0633B56BABB451554BDF86396594B57B1F88DFA07DD4F8C47AB5FFBAD03DA1DA642EF4A6E75A952E8ACB3989136B8A792E6F33B24DA2CC4E422192EEBAF121561BD33A6D79DF6517B3F001E674F39BB98D9AA0E15226389B17655E7B2796D75EDE0430A0E7D07039B8E35642570F6457F8344A59DBDD5128F74F9AB83CD152DB17987019AA0B27B6E7951CEF67B574D05535CEB5EB023A39B5731B6AFE6CBB8BFEE0F71819D791C288BFE9EBE6706778FE62A80AEF22CB9C0920938502F30A20FB4A4822D0C0D42D50D67FA6A76EF919C985C6306FEA73A3BF41006F0FE60C0D92B80106D8C715B97E35E39FA8ECA59220B86C2C46B9C61EEBCE07DA4B64CAD247A67112F6548AA693BFC4BFC9AE78144571CBE7B81B83C8832938A71FD3AC6B8E4AECF17FD2848FD9558DC5DDB261CCAAF083AFFA341EA295C7264F35734F5179038AB70C90E03BF53E3FF438A9C0655EC38F5B9DAB7A4C3BA852A2A0593C80999818B460015C79093B1D6 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = B620CEAA437E16A85BE761A8563AC80D9C49608DD0EBF9A4F049B9541623F4A3783C9E67B85820BA44A80F1AFE3FD835791D9F3C785BD8A77C9623EAF11F695675E3A2FB951D54050D0500688860BD270D3B723BE51579B81CF4ED94CEBC294A97BEEBB5A851160012514D3BAFEE6E275ADC7BCC64EB7879C32D8E0605241786DC3CC1BD44DB64BBB2E9C6E1FC581A5124A734625CD811B6BBE00B203319A736EEA07AF977190D777C12465E1614FCA56DB7154F9C456F59989062D60899D7CD7925DF1E1AC2EECD9B070F7E380B0775089F303B864D5CE049C55177E3421443B508EDEEDAC6307967A4321121EE2227C47E357FA92B741FAB390957CCD9337B42BC18E6981FD9EFC9241FDD24BAD0C6772216BCCCB92C2EACAB3A312CE020216DDC9175F3F86343E204E1A76573294DE6EC6BB75679379645FB973C37354323E15202415172D7F3D6A1060FCD35DC011B3B2FB4FAE21C69AD0119191BA4277ED6F71045FCD69F267E667DC4D219FA256BF35ABFA06A05738D212C42EAB91C2C993A5B6ADF9ADC0F276E79EC9EED6F115AF4BCAFBA9CEC43B0532038E863B2686996E997807ED67DE7F48C14B17D40CFCCEFD9A943CFD7C96FC665EABC70E606213DA37CD7EB6F942A6A5608305B8CD8B9BD4D625DE5D7DCCB554D3CE466D6EA8C1D9F111FA4E96B253EA11B4DEE3BE218C880844006D6401659C35C2A293DA2 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = 224D0DE7B21690B72A375907A10A4284E9E730A20CB3B4FE396CC6078D9DDA5D1A8E81934745361D8EED0B31B6276DB8F280104CC0E0FF4B36723CB302381A9BE703B0DE4C624A27996155599204DD2E219FF77008463BEB4461DE2DE3010A002FDB300C24B1A80C8DF311C80D174590043EC365FAC147A671DAAE41F38914E1E6614CB62C4DB154735363D7C7B7135096D7EDC6DBFF1DB407C0061C3135BA4577D5682E57007AD6E5B9ADC87DC27EAC3D03B3FECE4D9B4C2B2667E6D9311E342D037D58BF67CF38A4AB448AA4DB2C847E678F66AB45F0BD1B581AF6E881E63FC170F44FD0F8D87D6FB160A78097A4896BE055D0167007D9CBA610DA08C8C342E4BCDACEC6F0BBB30108F29A21947A9D842510E68FB175078B9064364046E544023CCAE9448C0727E8FD26330F26FA60EF891489B8CFAA623086372C09C0373C9FFD7E3648EA0F8DA7FA99D9F2D6617C0467F2F069F85ADEE5535100C519A528C690EE9192A888ACBC11BEFEA2B81E8FD380CB8679B6D80E37CBE3271AD1EF633204A8B97DA2E05565F8500DB9B1FD8032C69F57409251932CBDF046E0AB99896109F2EB1217351B242EAF3236139F20EEAC594750231186628453970F3C8452E454BE3D4D80E99503F350BE1EFF8778ED13F3D8828768E2F66E03C246B4FB59CC2CED5CDD266D320195A601C4E4928D84C62CDD8AE2EA357E4A8F34223FB18A + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = 78023C45DC98541F14C21DF4148A80ECD01F52EBEAECF7C28E9FE2B2C69B4B882805515064800089E6F18223A624155DE37EC8EC07E68E282204F3AC9BC33F8ED6DD98ED2FFD9EBBD0627B0EFC88F7BBCB7815795928766698DD530BD0AA461AD9499971FE935BFE38B6A84ED2D842572EEB97D7290ACE13C41899656BC30317A95EFAFE163494EB7E358FC31A39A20012A82F564813234D598EFDBA11EDD2B0F3A2554BF4FB216084772DF94E3D43E55F188BD8B8B5B297E406F2B8407FFDEDE7EDE9227ED6AD78E098147A658269C26CCC0F2988F06DE00651A7156407CAD75884EDDF56A755EDDD45030A4C43A82D55600D8FDAD155D13014CD27F827A30F6031E0173A2E8DA9A8FD9F7590ECA5F37747E5ABCC9C0A0EA589422BF9647F3FA9893BA3616C38C15ED6CF1F9EC2A64B616A3C5E6C5862FDEF36E2A44A911269F4ADE8F7B90272EAB51FDA36D9CD0B88DC8951088EB0D7D68BEBB332D22C4240F5DD354CC67650CFE4659D354742ADA6828A7CDFA82F77F1C846361087D14173775F44C8601A56774280D941F256A89EEB850056B38480972A6BC0D893A2105C584BCC3E963DF2DCA0B39B82823F5A4261FB9D4412ABABA7785FCA635A84BB757E1380531F5EF986F3A771E4948653178B240A32F8672B8B655F0BC832F853C206D2F6E73DBBDC2669DA67666947EE50CA82CCA023B5A3C485A9D21623D8A3D8 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 31EDB63FA182A6DAADAE56C08BC794E74677457C69CB23EC82D2B8F74B8649F79754A8D9BD42BA3BDABE0C4A161F7464D2CD80972824E6A04BD9CECCA798C2E26937AFA93194246468D66BC8769A26088513962435D3DAD9B1DB5544E6A2050238A242397FF6E7419569AB3CE2EC14C54481D634F56D1F32D453AAEB23B2078502190C8D1CF54E467CFD51DCBC6E82F95197AD1F6CD301849B76CCDE540CFF8403D19ECB88DB81A45FC13629800D000FC5CFDF508014D4324FF6D2414535E5EF3418555B81AA3CCC74FFC80C6F4F170A3DDD304D1D5EFACF554164E0EA798572DBB3393F63A7B9C066AD68CF25AF0D36400E427A5DB9B3CE639BE2DB8EDAC6AB1EB2E362682D6B0ED0D2B84CB28B56F1AF4F4A9DF0FAF3447DE9A2841B49CB2AFF2423A2CF58930D0BE6331349511C26D6F07A0ABD32A54F70BFF5F43C599AAD00931EA7F28A85010ABE8C93F941B4B4931813796419FB41F3BD0A6203B14BBB288116736B3A31CB53FF26EBA377624C1A0A280B768DADAAC7AC69835D8C324234EB907B64053678F629784C6CF34E0AB5522D6E9326998AAF24D1C1C62B93652896CC6A9BD7DE4F4CE7F6D309AC957C2BB446E6BEB8B026537F7FCB7E45BA1083F1D690BCDA15B1487DEFBF59DCC1A5A6EDB3DFC783B4224702A7F6E466B4E48DA6C1ABDD918512783B6A7FB6446D32FB580FD292F2EBF8E3D0302545B8C163 + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = 2611992C1226B5B402F19662FDF3D9C44D118B949C8AA1073B8BF8A5DAF30D9802DF7B1ECFE6A9A1E9DB9AADE3B308867397BD48B89EEAF36C3EBDC97B35EECC2C241941CE702A0AE96F02E881F82AE2842E1A7BA19D3390B2D4B5E2BF3883ECADC81AFEB6543DCE3857FAB5F926B1621D32AAA0B1BE10452A4E4D2229B0E50B478E28595E564122318ECA4DE680E354A745501A8A11AD263E22B5A69E2F70A3F53594540B2B9160C3057A32E633C616F6DBDF8D6EE19936CE8EBE8BB7BBC118D720EC88F3536FAD10FB623801C720D07365148672384BDC9039F0118C356CE20EEB8CE68E7C85A0E4BA3AC5BC7B21E6B567F13FA1D5A4DB953589913CF2424B7B3DEF3B234388B7327A4E737B590B9AB1EE126D949C630420A04C32EDCE22DA326236980734249CFAE18AC0FC2A253CE77D2813694FFC66B0E60D3AD245AB4ADD0BDB1CCA7E4228B73C18335558959A06BBDF24DA8095184B31CDE2F4DEAD983C9E29DB2D4A3C5C40C7775EA30A80CDCA44B4DB2783379074017FFB6F27E45B86F26CA42742DB1B11E11BC5B99D5642E482409AAFAB2BC833B31774A8AC578BFF32131D714B2F8DFE91F4DB4448C34E341D26FB64AE00E5E985F16A35857E44B9A846402858A192EDC0CEB7A6FBFA90F0EB6D743BDA4BB9C9E621D7433AE693CFCC991B71EEC3B03DF1FB03BDBA05A63B9BF17C3CAABD40808CBEA2DF0697C8 + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = 6E722A099B2B47E38C69A0B967420FC5C1CA2926568BCE435E5F97D945B261C61483B45F517827DCA03FF3AE670883077D5625112ACA377E731364932767E5B3AE406ADC06283549D64FBF3EEAFBD79064420EDD544914FA479355F6BC6CD0A88269EB1B4C5E6E2F43F380BA5C1D343338FE73DA047E9AA9A06C4A14AA7096B5AE025759244A99A8FBE61B7E326841EDD3779A84591E9E44E810CC24870B42BCE705F06039FE93627B51DBB8163CF8D4AC0AD3983ECCD3A90A85C58AB222463323D5F786292DFFE07E607C100D2C830436AA1E4741ADC7A7439053045EE3538822CADFE37413EF7948B67F858951DF901A7E3D39EBAC040EAAF4C6277656EFF711034EE862DCC247672DD0BFF9B577286750083FEF332F630348119461CADC2089C332F9A0078D074CEBEE2E8B5B8A1A5B4818A53E9C99C330DA1682073A7631ACF1BF621C59AA45935FB82E634D2549FF405D36B23327C66F9B4C7E092B409228F8B0C95539C3A9D89FD7FF92D2F811055F6ED23CFD984445F7BE0B906F6A920EE0AF326F4F60D8B5987C736710796B33E58D2661AF11F8DDDDB12A12B196308F6493567904D49124DA69D291D73B104B5C99C002A6606718EAC2CA92F8A6BE6328A5DF6968DB53CA0DF2990B68F0A15A7F8B006BAFF2483A0F6D93281C62FE689F5856909CF3C56C5B16169482CD779A3137B6C702C7641B2EF2E9987F5497 + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 7B35855B74D677AB6DBDBBBEED8F8BED3B08DF15055606A7E7FE9F5E319BC70BD9DF00A8571ABB6E6C202461EA00A2D701DA5C3942975C48D78CE565689E36379EA603FB1C6C53B508E0952B892A5ABA6660980A38FBF7C91D43BDAD1F3EB20910BEB91502404B21D3C5283A0A88403C6AA47D9DD0A04A23DCEFCD3527E4E961782A0E585AAE6BC9B7E6ACDBBBFF9CC76F757887174CEE9CFA531C380467388FD2153BA8ACC2AF706F35667253216D3A1E623A747748FAD46AD65265E4530AB84D39D9988EB876853E976156900D9DE464CC2C57385F55242608C9E9C26B67683293B1F83181C60BD77549C576F2BEB8E54B3EC5BE2FEAC8CD340CF104B0A49D9FB484B538296B31E30E55F7A8421E5E16B91869214D2F7F4DC68736E09FF2981518FF83F24D51E5F9D9300938600EA6C007C9C98A392B2E63216DC1F07EF4D602F47C1F234B857D8650D23EDD344152EBB5DAA47BFF8E394931397AB2231DF1E22C566384112E8560E69EE422758E8A76E03D16770E5D417B6FB5C68D9CC93E16759987FE02BB8C99B8D368248A6893ADBEA888315D4AD251FC57FB1EABB2AB314B24ECD374F4566989038134788F344453714F05A81CCAEBE92C75200FD8A019E33A362722F222708C4F3894307D09A4B4D3666002A8EAF2D6CD19DB119A957D2B66B0C788241CB7702DDECB63142AA7CA5B028327CB51D72904F2D819B707 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = 5B31C72A95D9EA4AB6EBFB2B2501F14EC41223A010E123B68865DFB7061F8CC00F69BE86E56A376A377E9544860F44B543B48C8A56C6A25546AA7573C29DABA9B746A94EE82A33825047C019EEAD9E7A79D50362F649ACD1EF27DF8BDEAB02965AA0C0CE67312433E0511B19A5D213EF9720E688A80CBDC7BA1C50032701676BD4AAB79675F85F76B7458F3E6D723C62802B1892F0C2B45138142AD9EF329D771E6873BE098CB8C501C3732836EED9165B69AD40AE5A642D980C7BC843FA76B605FB68872DE523C591CE09F21976AB47FF64F773B5D7EB54366BC003FD6F75745C4B14EFBD1ACDFEC8439550681208543E469274A1FDDB16D4125A01E9107855149AEDDB7E21298DD8C309AB1C1BD506F2D377042F27FC275017B642456C93FC882E3CF44C1978307E7B9BBA16F612E28E99D2E18D2D85DDAA235FE65EE40D905A845768372DD621E6394AFA4C59378DB5FEEADEE6E342D004598779F08EB9A231BA0CCDA0A1C7D19AC741505F0D931C73F241D1999EEDE40AA53A8A47F629937D29D1A6D2AEF1807BE7C333DAA332B4C5551A7F37177F484740BE772EB03D04E82B2487AA65A2E4AD00F553060C6A9577D21A6C3B731D9D1659E54BF14CE4E4B7932250A8F3711FEB7D9997A5C554DBA364DD1F16AB4F34B37FCF5AFBA5B06BED58E6ACD232D69963AAED993F51A1C4A2347D8119D381686AB0942190680CCA + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = D4D8F990ACBC762BF3BF4382EE78466D36AEE8E7D3597C8ACDAE9A6245020BA5D936E82C2C8D7F861186D428F3ABAC5E1F5F4FA25EA3FEB4FCB850ABB7F654167118574A730CEB1EA5D4A3EF579AC58169CD02DEFB896FB0E8C0797D9A326C1AA696EB1AE150EB2ECE9B49725FC6C285AF8DA2908EED93B6B01512B80E03BDC74E9A528843ACD2B9FDEB352230BC1BD9F0F94EB5C9356259530E8E0060E0EB0751EE2F5CFCC2890E0FB8E5512530EA0D6A7475AFD535C34BFD14EBC48A0268F3FA671E87EFFE404D63A03EE92759C6490ADDA245BC924D582209E7406905678CDDE5529F68DB56602D546D2E36F5417DB7D3ACBFDAAC622A65560611FF98A262558B304728CBD7BA748174C0EB2FAA8907E1056B4AF0F820B849BD9411129F4FCF0CCBAA3400C2B7B16A2126C53EF6CA35122F8A8B92549E6AB330C4436268080898AC9C03C27CEE9164EBB9C4B1E54D211B65284047F2C535D3F871FF50B81C437DAEBC09507A318C296F1FF48572E4BABEAF96082B177B4B80BDFC2F99FC5B5BD6983E0DEFB28C98F5EB2ED1D4B36641D3DDDED2D8268C10900284B8146359694F4D09F176EEB550B7629E6A936E0BCE2877C8525CF4983327227E13B119791D465F9FEBAAD25943ADE5631F1DAB35AEEB7312EA7B908D19F257015C1CF6BFAA29728437F7620CC9C0B00E79F684E4F4313375845B9B524B3842FA0DD1560B + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = 77A1157DFD30A79C34D64CC29B9712C9E1CA76CA5565D0861D337627C20A25D85AA061B876A850B43C5EA74946D03E35B6669336AA47C5859EBFF82333C03741BDB0930375C34275F2B2CAEB83CFD28965DA12F60A646EE52372773DE04613A3DDEE266E20E0AC047B09260E0B69F4F134B5AB8EEEE481F887087C0F8639CD32C19FA514A3114E938EC70E8E7E6CF40D11342775C0AEAAFD8F8B2DCC884CAA603BC8FFB7A282FA6291BB3AA37F37CF9707632879532CC93C6F5C46FA6D6235D7FAC64DD9104FAF484275CC635C3F732C30B155E22552D2BEC2967AF002683DF1286F98F25D916EA9972DC6D2C5AF1A1572BC5363023621A33C0FE41285148CA9BFEC731ACF75743C9C64B48BF98FA32B6D92BEFC777F6B29996319BDD632D56F1BCEA5C52DB9E72BC71D6CC4D1CE7876B02FD48E4EB1110D727AFBA35AFBF8C43E3445B650F06C91B90B12C3036EBBDAEB3D2193129B22E188469A3C2D469F24B530200A08E931B2E95891D966C7A50C2365A73D169D010FDCCB7F3A739D4A589A84780ECDD84BB34D54EE5CED2C729A04B27F9C82DEB329E491C7B462308C397BEEC649E4D76239A75BC8BF28B1A8CBB81F25F73E53E19B882F0855AB1E93D45F9293508C66C2211E978267686F5F54AE987D59D73DB8144834FDB2DF2D52631C7671ACA994A99B8009C98A4F847B71A29B3A0636670721AA58BAA5A11B6FE8 + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = 4031B77C2A88AB9A31A357652B5EC18239EA42FEF5B390156D7A50A1C1D826A52297B169BC808725B00A671F83F856FC37AB8C48E5D12E277558896F19FDE5038C03A95A3762FF48DFAE4D644B904845DCBA1145084E6B7316FCB5742F31325308942FC31D7F465F6C4D686BE9788DE37FB57A6CBC67CCC39F09831ACB1B1D8010254E131FF7A05031F031E6375CFBED440BF0D66F7021A927AD249BD3C78E2596DCC4E4FFC58D0F7331BED5BCF249C8092832C17C701C65BDA1DC9C50894726B04661F5FB4FEB570D5D3773E33D2DCD957C171ED631E4AC5A8F42B3828F78BA032630596DD8B8462A2F25E502B25DA1747D80F96DAFFF366E787A340A0AF43AEB8D95D565B1BD8D7F8DB4FA4C76F5F8422E6C240339C3DFE8D4D13E1DB745D8212BCFE232AA5C519BECCF64B38085109753E2FE5014F9EAE6761D6D600EA05CF0AE6D4300C7670FA1849333BB739B43A7CE58998E4F834309E9505856ED020EB8205571D3FCBF3A9D316A4A8B6E3A397C0200977CA95E854AAE35A5581C88448966112FFC0128F6A7B5DE197019D830C619D70803B72D318D78FA067DBCAD646857FD8CA5B6FFBCD7E0E3D02B6D13EA02B9C346E0000C2488FCA6E8E868FDEE7891FA12B095860B11B7C5459465D09B6A7B388D9BF6EDB0B99486A8C949DCB2431CC8EF13870BB15956B17405DD1047B6D54CC74D0D4EDC3DF689E09D7381C2 + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = 31B51A74B7392B14E2FD94E248E7FB7740536FB6E88CA508D019066C6CDF83BAF2162F4DD175BD7E78326F1A5D6BD3A9D9B5874C474C08612EDC3935EE24BD643A0A3ABEE5626C43E99BFC73EA434872AA22BEA87311AB71880096CE23085DCD489FBB2CEFA4CFBB06D12CEABD4B1D28611606CAE04EF71E7B37E881C2C1089E08268CE45E0D25AAF6843B45AA50F2BFCBF8FE291FB2745B770CBD758CB0A86C8FA439893D93B5667011A8EBF345FA5059F062DA72D0E5C3417BBD3C6ABFF924EB6BC74F6DD0B30BF48848117E7820AC9892EC18DFB1B567612627F9C2585342D165418D211CA7FA4A1AD6511D3B68539CF2DB2F6C3A4C1055785517E0528A6CFB006B54808D7F897B0386F7514897874C5A4A3A30D8D8A277A6A59710D0BA870DF52F2A0916AEDB0870963C205BF49C6A2251EA92E2F9B4A9B9DF98BBE752A5DC258E55A8B3854BF19873F1908E95B537DE470319CE3648BBA5A038D11C87B4FB9DFC9ECCA1BED391C0D48825B022132DB26FA3D17D60985D5D0611353F96B03C4B5831FB9BC0C411D1909393B54734B59B15EE26A1952438C886D61C5FAAD119EBE8576AA904F18FBE19C549ABD70F02B1BE98D343CE0082CB6005DB51A6A10AB5E50A89EE44F3502AB19D62C04637ACD5C49DE78F5A509674AE8EAE906693FD8110E0D750F61562D088E0B87DDAF96FC775CEB0F13800669BF2A00424E6ED + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = 3CC7FD2AA14A9DBA70ADA029992842231C54ECD7D14FA4687424FE1B54A58C7DF8A1E9C87569B695CDA9B2A27548398440C77A5A66BA94217DC24854462FAAC1CAA8D171E610B6D280668BFBC87C8EE2160E148A6EEA29DC04A57FFC139089AD5EA85F89EED89212EC7439530767563137A4C028A5FB28C1AC53B3696282560E15C1585E51B799273709CC5A1C1A93C774BDB19C4E336CDFDB696A39EF6A8ED8EEAE92C5660718A7E90C691C84A56BFFF85DA418C9DF7A913352FA53D8635F9FF4644B8EF03892FFFFC937BCEE4B9D66154964623DB90BAB15EB783EB14888411CFE2EA417A373BEB4BE6CA5771F6FC0EA8266D56275F139EB3A90C3915AD6355287E06FFCE64D84FD8B0E06BAD9DFAF7F7EBC17CD7ED316977AB481AC47253E2508D349993FED324FBF97067AD19C255275D7EE2E119FC0F4490C62EDDA700C27B5088D57A7223729A64AC1A418071F4365C61F898A350CB9B82F59562847016A40E72F862E10398FDCCA0B86FA1F92D17F35A07C46B3ED570738D231DF3B80B0C2261ED932822D811970509D7C664D20BFD597543B3FF61D6CE3B6CCF924ECAB5FDD9D0B0DEB0444E62D950CB6A688BF470C53930B44FF4FC9B4DC7903E97BF29C5373582DDD79C115F66D31F839D7BBD34808539025AE3DA3FFD56778160E18F8FCDBF6744431D42CAF155028E96CE1096F856E805D7435AB1DA522708411 + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = 4144315DAE1FA8FA09E41ED69B72FB8FC64A62F8133EB9C4BD53D6CA7C3475048AFE1D0BC778672D715ED01C5532B393888BDDBDC4D43DFD82FBDE560A80329D03AB5F4D62358E65D36EAE4094880E810D022529A8945AC9BE8255CAC708FC435310A7741825257BABD70E84BE8A0099CA66754C135476340F1438237D7C227C31353D3878E67A1856868C665CF049E16FAB2FA6A2316053712C3EE808762920FC814B3F336FF8C9846CB43422458F743ACC398F922EEA476823CCE9AABA48D159C55BDCE636D231F18F49C9B70794FBF1DBC4F71D87B917EC9D1AD5545A4471592883D63F91CFAF7E64805F82411E715BB61CD96EAF2AAF6A22C14790FC76310FACF3C2FB78B34D3CFF50BB3F3A19227A18A91E7A6D3CD38D5281CDA2CEBE333C7EFF4D357C55889109D5E0B762471C565E1AAD50839D0298EAB2723EB4E9D1BE73FBFE507189E5F20C54F256084E5EBC04CC622B080EF52C38329F301F8F97FFF2A7D8249E2EFCA30BF77A8A3B9630CB5AF5E9A34318B94E17BD8248EDABDEBFDC37E3476155434D32B7A7905786487BA232786C290BDD790AC255BD100EFAE4BE59FA6B1674C651E8EB9FD2ADC4BF5BE6A763408DC558825B3A22BF141FA45E6DF862959F9F47A91BDE715AFA65099573F1062333FFED43870CECFAA423FD2211F82389BD80F0F033B4FA12964448846E55AE2BA46AC9E7422C228D75A1BD + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = 95597492CD331A89C013D6179031DDAA08A90FA825C5A77BB5E27E32EE7EB1F02EA0D348B5372EEF60A45A84B84D45C18695270FCFC07F3EC95E00A2FFE901E5C9EE3DAD600273AF0D73FFECFAF141C3B63F3FAEA90633917E260857CD1C4ED198FBD4753E82A42128F2525764B5A40A66E1623B81804BD3F17622598BF39FCA57D8C8D0E2E2EC45A4EF13A2B6B0ACD6E6878BA5BAEED796E3B3498385AD7E88576EA08E148698BE845B3D7483371B43FA9B35D785A0028BA84B0C8FD81122935DC09869E065D47D95287D3CB4346D8BCA8BF5D4DCA3BEDB1AAD70EA3B5ACD48C5C02FED30B4706C104DC159EA96971E8F44248501BB782DDC201569622C1F98E893F820D149164F9C465C41A998FFB561CFCD7B3E327F78961636192D6158DA80A7987533C01C2DD380912C1ACF14330B85E93CE05F2238AD0C1A05995B631ABC9CFBE70ACA565E9A1CDD424D3F8DDFEDDC0D3D3360CA917B30D7216A85A14BB13E8DA29228E57AECF1906B084C72236B91D669A312F01A4B7787C4DECEE4F63CA276F63766EDD2E46555C328D538581E86F2E3D74F5592C1016396082ED06ADF8DF9EA53B5E0C020AC75B636A828CCAFFC064657A657F24E62107D772AFB24A5EDDFDAA4EAF2B99341AFFAA1651010E15F6F4E41A67C1EA2101BF5A61C491D5A88577C1FA3BE0A0E0781C53BA9F9BB85DA59C5D0F3B2AAC31F45C9CA283928 + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = E7814E78CF280CD8D0B27B311476F21D6185ABF37FDFE2851143EC3425F12DCCCC0FAA95B2E6F8ECE8C4156124C9DFBFFA77624E5A4A9553F11675844C3AF0E816CEFCC3EEA430D7C730CF135FF6A34E542E50F25FCBDBF3A051F39CB028F20B8D6F85221B7DCDE00D7E45B78529638508AB2E6BB8D885752CA6C97455E61564C2FFAC68E5892BDEDFBADFCC88018A92B599807583E9B8BAD62306948FE52B397CF88D20D440898075E3674FD09469D1FDBBB2350751F21E48BE74F2B04E7A148286FD25A90995B5A95716D67AB566B78394746DA84326B83CFF482F82DF9B8CBDF3D92992D0F05275D37AF3FCD4CE211A9480DAD745B6CBC4789C9015AE23D1C3A25D067C9A9F7E611AD05B8D44940AD622C48730282789A839AF93D0735725CBEE9DC4231E8773B6DAD31178053014F11421AD0ABCBF32B1E6386691759D58EF7E2A6E2BBCC11B5E62CED89C4BE975FDA74ABE9395DFFD9E8C102A5142933252D94B0266FF776E9224985F3F2C96F7BEED03BA881B99479862F8B7DFA96AE0B2D2A97F773164E1B473A0C671ECCCEA64DC67F3A53A21E51B794AFC4531AE4F41898E250C80622E123B27FA28EB7F07D4B4FE63D75866FBDD730B54A9297697F541FB429084AD43DC69CCE73C6C17253C481A002AD7EE11FE077554A4BB45ACA4E9D8B8C8E8407866C011B749C3DBA372C2966AA0C20F43C86C01EA74BE5BFF + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = 50F678CE2970C84EA11DBDAF399535A692DF95267340A394616760BA82BAD865F920932DCE65D0F10B5AF1B378F76BBE05CD8C8E16E5720E527326FBF375A5F08AFF54C4554282058636C69B6010330C1DEFBA22F175BBFE434B6430C24C06F034F6BAC59D1063A4DB1FB4243162F368385C5083A93A7E693009BAB0F3D8F24AB45F3D20E9582D1E9D0AF578BFC8C9A0F09A92E4D76643EBA46E71AB177307EDBB2DC46139DED52FAD1459A41114EE88F439DDD064600402E237835797B4BE67EFCECFAC28D9F3F8B8CC773147400526202984C0CC2CC6616AD2EF5E0FC16509372F9EFE63D66CD41C61AE88928411054953BD95813E520E02ABBB52BC49CEF99CF09BC3C83DCFECF2F6F4768ECCCC8639752A28531C0A4038284C174B34978850B02E45D7810C4FEB224E3DE0C89CE69B06DFEE9CE2ABE8AFB209E29194ACB6C526EAC490D5A9518D5A7E1C1A7CF734C92579D162F2862EBE0722E2DCE53DFFE84A52A459B9C1D0A677A41B0F1A945AB597EBD8544AFDB1AF97CC1E3027EC287DF62EA1E81E91CF4325D202DDAB62E09E6094FAB327CDCFE2BA6F760C2FF7D7992A3FB675C07F77DB5BAD69056BBD3A50A0A24DF64A73ABC3CE3C1F131E7E6C76F0FB207F6D6DB54C8D128F2C8B670350602D7B0A52153452CC92EE4F185F4570405E54CB95647758A31B8434EBCEFDCBF00A43857A58F6506CF8B7AAFF3B4B + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = C860CD3E9223E1CB941E130F9F71C376EE3A9B89DA339C61D90FF2B48D1F285FC48A4B6D87C199989D3CFFCE4FD84699FE385C7CA018D4F31F00E41216412932A833794AF207132EA430B07201EED784C2FBAF9506957FB9F7E18EB9FDB06F051419BCC7D67ACDB93A9F78529D9B5344AE3C4FCCFFC406350847E228BE20C93B22760BA43977451B3740BE9E3B283C86959CF062B69D5BCCA35BA5362EF0B2ECFDAE225CFEEAC473E420EA1AB7CA03D4F4A82F6C32FFF843712B78476ACC46E4B88F280E3612D5AE2FDB94FC26D5C40812B0E9577DD995FD4F5282E180C37A02D6140FC88EBF5972739D591F13AEAB894F240ED4BE309DAA4F3B0E2D536F3DEF87BA53A881794B80EFEEF855BD35026EE9D8492C90208C313288CDE719A111BBBDC3BB56AA218ED1B466E6E01728DA23950F821016F313A69665D43BF2C619884D20E83D6202ACBF85BF86D271A1633F32372B067BE55570CCC2C7600B0CEA6133FFC787B743F3D2346564A2D598049D92F9C4160873AC7E03143BC3AC5366EE6C4621C25AAC1E0AE4EFF6A35ADD223A61DD044593629C082603847BF2B7F07A4115DC1C87AF0F7854563EB18FFA8E24EE09E299738FFD4F1E79019FCE4E4582B063EC1F36442B085F82FFB99D409B4F692A8EBE9AACF2589306204FE0F168373476393783874525FB808C2B90F1FC5D7A368C90AAB7AE46E21FEAB48D667A5A + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = 97AFED51EA7CE6D0082A0EF242C37FD626DB617DAEC0C967076D8E63E4861DB3AE1308F19EF4B9F0B7246AA0E255E7535B5C70B341BE15EA4537CD1F0235C0F9E60C2168C2B04FDB3DD871460E0BBF1E3193D04E171E0A24BECE6517CB04A0B020AD042F28680ED42EE01D4A05C3892B0654C961743591722054CCB0756341B54643817802B3E05D70D71E339E487206EC34765F5C0D2346135070F50D28B8AFD91EA2E88FB9DBC1A932FEEB781F13FE5E047F7F43F51464B9D28CEB8B19BF34F03C1C9D1DC77A8FE475B349251E7AE0AD171C1FC81B862F7F73302F7B48337EDC72D39C59785C5572929A6E4F947632B41ECB4EE9BC5E69CBB746E2512986D3A23C7F455FBE5F1891C7101BFD3AA738C5C84BC194753D9671B8F3EEE5A35399615537121713DC85D23E0A7B47B55DE82C8109DB1E0CA96C471F366318E5FD9671D6468A36BE694635F65249D65B9AB9A6E6A5361E35350CD258B8DD145A3B68DCC900673BD1A13369163E5B5D3BC524849F73C68F01C7C8B88C9643341D225E13DACA45C62D9B5693E2E04163F96454A52B4BAF64DFE2293E438E511854A99682059BAD034712FA3E99384244F83AEF74B96848D338CCF439BB073552137E903767117959A2D841A157F468E597522515BC43B121B257B698234D19280C4F41EB865882E4ABFB4571DFCB2DEC5A30CF7D6E867F8B5E0880DADFF8DA337230EB + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = 1A895365874A70F2304878B1334BAA09EF898A0607F3243410EF04B14A8490C193A18FC2FC0AF0655E219956A8DD3C7055DA00345CB411AF9167CB9BDAB8939D1565647EB251B7459045184BB050F3700CEB6285114509C8167DFC122B33CD3DF761F37A3573A75F5C16AA2376B3270A26522869157A3BF26C4D30A9C1D7B4E7490FC9FC5A4EEAC331996B16574A27C32659D0AF52E0E50F0C221342BBFE2AC04455B659B814CB888DBBC90DC3A899FDC538AE8E8FEE2FB085FBDB79830392084FA1761A49619018F5EBFEC31BE185F0945F4CF9F5A21AAC1DD3F1F3C7B9FA05069264F6368EE4D3BE24ADD6CE5B70E328DFFE08043587C39213DD66A6890FFAD586F9B13CF08DE44834278E04DA2F91DE05257E0AFC44B5BA9BFF15CC6F7EE306482704DE0FB80B93ADE6537358B252D050BEF48B9A246CA75D62CEE920272B9C4B06FD39FDA8DAD4D1C3B01ACC5D507299D44DDD034D21802E1FAC9E02A7C7CDB00F64FC7794A253B1BDC042C35416EC64A3392FDB954D63BDE0C1BD7E08CFC655BCD02E27537EE61FAE64C0187CCADC045F91F3BFB1758F224AA8768981617F20C889A390B59588E366648BB3A8680B3431A4D0596FC5B5F95C4184BF361B7A2CBEEB424FD08A98B322C37F703A73FA874946CF430A4F068BB1D16898DA8F9BB04C03AB3F068A36EACE3E2227E7E92BB189B1A4A14C9430EF5833214A62EA + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = 97FC612935AA839179BD26673524AEABC59FA66AD4F719106826D62D56EE0201965D4659877928087D079948D4B3FFE6CB55BB212E802807A0B9DCE7C6CA2CA07C357943891A5ABE2DDA248B8F703236FCE8EDE40EC6609DAF6E012791C53E10B0000EF3B8DF19082A3EAF5C0C0B524816B66BB7B08CB6B65207D0D7C84432AF10A552DF425FCB2FA965728EF2B974FB59065EEBB105719D2534A58435651D743C91FA1953255F777CF6F92D3345AB9AF11BEF3ABC00FC46DC4EEA0557DF7B683FE58CA3887311224567880C7FB5FFDD5B24B3B8EE66E63FA09202D3133768AC2A4933C923159D651D616791A1A2BDE91EA53736EA6B4A097BEE70F0EF943DD246184EFAEA018B9DEE2C4FADB93E7A93E40273B5938647A6A10D31A0354DEC08A03937C9E5AC71F52DB0F50F6D066169C03E883476EF512ECBE2D109D5015A1BF660EA842436060ACCA32E846612E8FD799EEF914E1EE2093BB2E30257BF432D5DAA8AF87625B07C3C6327768F0867AF0B80DCE96888FE27203BA076E5B8B90ACB51D2AE442B424D6651E8BB7B36BD770C3059CAF189AA6CC8575F16B58241FB0B7454E089949FD3AA8B347E0A76D2C5BE54A60D9DA4BE789656FCD7BD5ABB9851EC7B72AD4BE53D9D2D771EA11644A9AEB6061D74293866CB112D89E93BA0CDB02390AA66F5CEC4F9651E306876FB5100F8EAE6ADCBFB87BCE433983768D2CB + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 531D6B06BEFF0AF847CBF3484D1DC52B2E7799D3C5C384B25858603BE71B0C57AC073A330B816BBEE8164116424AC5AF8E5B44E875E9A6FF54C54E4030CF51215552D53FDF24FA63E95590D4B11A86E305AAB52A62F7F8B62FE3365D239B53B540ADC34303D5FFDE35B702844D05B3CC804365BC38C76F92F1EF81660FC8E8BA535EC58D2CBC4B0EFA6D840F537740675A1EC1619A8956BA91D3B91D2417C4D151AFF2CF54880B0F7B8CE36A432FC44B30312FE9817BE795F07C8E521A183930EC5422079B915FE6ACE193B7F59928A2F85605D257FFC3FAB1762CBAACE675FE130CD4FC90138AE5303332DB73C0649459C4F8E0C44291AA61EB3D5982E77E1DD1EA3646C2557E62DC13938E805DA7AE0CD2B3EFCFF6E6E61A8F2793E94665AA13456453282C7DB7ECCF7C52BD5BCD1A7A8D0FEC0A5D69DC71FB78E8FF08C7AD7420C0CA52C80E274D9BC623531E375FE41436B4062EFC72154657536391B91D43CEC7EF9B19B901183B70866EA2C4416021A339B827D23626380D72AA8A3D66BD4E119B2D254EA426F1B40CC564DB0605E015773907DD964471710E7EB3435C6CC7951BE6AD4207F40485693F57ECB41D6774A840E495CA1DCDBE1F112F61F8E135F1245FB09059DDAE40250862C79BEFC5432B50B8B8A4CE0804A3127697BDF3331D3CADEA1D459F565E0F2AC133234160F8111766D31A89C64351817AE4A3 + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = 4F56F2BAADD2B624F6643C1DBB5ED95F05FBD0550C3E5829472734BE3B4064529CC3DCB3F886C65F074539D3F1B13215256AF4952784FADDF00E184211DB2EC238A5EBDE55DAFA606B0AF6D108791F63121865B6D064CE12E446C0B719A856B1647DC4BA13614505D9B3A91417537E0B110D086750325AC8A1964B8A36BAB91BAA1141DCE862167A1EE4DAA01DA6B3EC875AF9636268CD995DD980DFB6476C0BCBDD8430462AA56BFBEA69130DD43640E23DDC4D9B469A521A533DCA9E8A197130C3A9503393E958A77CDBF9F93FCA6921283C96EE38C7EE92C7F0781AE962C68A07014D6C623A3338A1A19216925A432A9971E7F6366ADB701EFC4D4404E02DF452F9A6B9AECE18AA61C56CAB2582409E4E741B0CE17C6FF881E3F509F536F8F681268E71AEA6376767F5D49DF3239C65775199B68C84389D1D4A426AC10D42046FD6AEE02D4E0F48BA2EFCECF83130792996801E64B81797214A2EDA5B2296550A13E38E7DAF36F9F2A7B89C1DD0A95590E2B77415C3A35B9EEB89BE993333551D52835FE36D91D2F205F626FC03CC4F9386E4D815F6B8B128A9C13AF40386538AFD481650EF886D3DDB7B0772252B73E9F44D7822CC99455FE118C6D1003FE24F304B83E6C76419527F1CEC5E5CA57F7911554D1515A026E573D9D4BF5FF7536475AD14BDB8490CE353E1EDFCB038DBC2819D4EDF325D6C3479F2C3B02E67 + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = F153AFF7498C363D04FF8BEB191E394852B79F54681E8D03F04B31BC037102BFCD4E7D709A387A89C7DD124FC0192B586F7AD7755C36A8D5DFCB6DD855671298006EF379D2CBBD12CC5C05186717A3985594F19FB4AC62C673CEC6D374114270EC32E8C0946C3034AEACCFC38B745D758791842995BEDB09A4778BCD504A961CFDE3208728B57D246ABBC99DC632A2396AA5B3497D4F1F94FB2C90A5A1F51DFCFFAABA610C747CE10E5EF2ACC9AB03383C8B8DC73517E4D32FA7118BFF599A83F937358F7407B4EA4771D5C504311DCCEBC1262B464415ECA2E3662CA7DFCCFE38157F15B36682221F65B6F65877726072B9A30C0028DBDFD14C7842D99657778C339A5248AEDA1DFA8B9ED56B79F107CB3E690D56A3DCD5DB03C47E46D29C433BEA894D1386133A78E8EB83C2E6BC2E7593CC3AE4D2C0BDA573BCB16E7C44732A370FDE3AF4DC452D029F44DBE0F539811DDEE2CAFA9DAF752169FEC82EEC4F35093237F0ED1CA6CE62A1221AFC870020B0CA219D03E5ACFEF2592DF5916FEA97154E62485A38EFA4DF203EE808B12692064C609F29EA0C6960569E102122AC74E99A992F37C1A090A9927DEAB998303E47487E2910760A6D604A73C78D66213A5D2C28C91528340B2D6371A391C3330FDFAA70C5D109A209152D21B63CF616C9C78621EFBCF52064DA08D90510EBFBD957E28053EFD0B78F28DAD025A72127 + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = D44138D25419FDCEBB743314D267D3AB2839CD302EDB06DE0EFEB5B837F19D7CCBE8A1F22922437FC4EB591BB23EE25AF00BC1BB3FC6F43D524D5B8447AFA47D966440F620D45C3CE7B482FCCD768E436AEEE5C25E9CF4C3FD814949B61B40A54CA867825BA2A55E6C3E778FF5CDED4346530BBB8D1685A3300E995291B06AE05AEBAE336C37ABDE854E57180A79BF5BE46F6C879B11FFA6573717AC168AC16CBFBBF5C46F81A4EBE14F0A0FAEE8D09D8664D26C327721D25E551676A00492442E3F73E4B748943B188ED3E10A22C54C16BDC78AB1FA8A50D6D46EB057DC0FB048EA4FBEE4E5A1A653131855A03DB2FCC39F698D14D28FD9C361818267E222ABCA88EB0326F4672DC1305AF072E0B75674596A616401DF9A53D44D53FA529A7C28CE7D5A71C97880725D51A58A065136034DC3D706F13648A68AB4665AF00D5D0FA0FF44D1D1A4EBC44B3A13D273848A3BB558BBCB599300728B7FCC6FE16C5A6948BB09FD1B8185BC6863C1D9F5FFF7F0A82EDFF0CE04ECF004587AD52AFDED64E4E094B3BC15A3F7511620958FCFAA69E869E85DAF7DDCFF6CEA52C1631ED6418C822380FEFDBEC1255911829E780F99DAA9C6F4D729A91F28EF1D3DFC505971593663710F82BB95FCFD1BFD5C3CBF916AFDBD7CB89FBFE586982D0BB7E78D031EBE310606557F83A87FB1070B6839499E4D360E2D36607450C720AB8A72F5 + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = D03ED7399E6FC424AF6C4F08715B409BA54237CFBCC4B27A2D97811F1CFAF8FE8A1E72B72C9C0C04587D89D9D3B46487EDA3AC473DC325E2477FFD14F37DA4AE638A2B14E103E2AC9E2F94A8BE49B28DB4144E2EF8A673412B214EE502FB517C480123289DE425543A51910BCB3B52E9B0A5F25BAA700A3DE0782D4BB409938E7BDA9B9A31D1ADE69571E4F1835E7A89C41F35606B9FD7DD513200C3CDAAA0B25B6B2BAEA99B79380D33A21678BF7FD80B2B714E894E61321E559645047F68597244AB611FBA697A079634412B64E2AC53EC230859EC86300B4544239BBF88558CDD48BF183FF1026636A1A28B512704C60E805CAB7E1F8534BCEBB1D40EABB8B98877BCA3A98375F2C305803637B75E77EFFDDA79991F059F697910453D2E986C9E6450A6115BA82506376222FE56DA466FA8740707116F50F27911BA028A633E30A4F83558EF664B63B6890B766E46875A6AB2FEAF64C3587A3F3872D179E826D2E8C6079F159C8A54F36CB770025E7628E936B2BCED01B339E13EEDF21CF01B783731875BBF199227B9A87E5DD4EFA361B86BEE1198B54626D105FF05B293308A7DA89398F50B736D04113F38E3EB803BAF06F049D207E1B6E3C919139BA6A94EF97649151327B2649F7AE1CE88D42CCEE07D826B34943CC5D240C20D084391EA0F3AC7DFA5772BFC3DD37443C14682ACB0B127C66C284F341D5BADCFC381 + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 5C28103BE52C28589EC6B8EA53EB4769AA91CFB8A8F5875A6201BE4F03FC9A1CAA8E582A11FFC6C9FD4CBA3F5E3F21549514CBF8470568DFA2ECE224181B865E224F8F07CAA4A0891DCA60EEED7CCFD23A62731892A1EF32D515165BCC4885997ADD88F59D0124B53E14677F8C4FFF979E9998A76E7A3041D3FB0EE9FE528D08C80481B8E3EB77189AA29E64497269F88894DBF7141F21175132ECCC4E56BFE70CD2AAC208A6A0898A474470A5961324E16821A78AFC25FDB7CF1684295C5036C95DD52478BD2FDA24A733FC7E08BFFCA82387327E69BB63F8E769B423CDAFA965734B666C489044C23617594B309AFB2F262BEBF447A87F41E3824972FFFD9F4A0D06B4BDCE742123C6FC7B85939DD8F837ABF2990C6DEF398DF2B44E40E3C25A6D9E4987B1BD636FC276CB0000095CF441BA3FA274F1F95AB321DE9A5A9BCF219449EAB4E91EDFD058674A4E8CC5F8C0831969DE0C17D0EEC98DF883619FA1DF794F2D09372A7EF20BB06427125B6C0849EB80238855CDD3CAC4C4968601D053D7E972785AFF96D5483ABA9D55E3695655FFE879D27FF6CFEF0328764D87F786F6BC74CD40B48C50BD1428BCE5AA96A477EA02B70D17333FF176F2E70B6EB7BDEBDBD0750414E5F32BC521F381F1827214F4D5746A40558064D49E5484D54442F7414BF25DD469181D524462AB73B9D31A729DBFB06DA0615FBFE49869D98D + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = 0AA13616E9EE0C4C35FE2B921118C67145B8458E6179431E8145DA829A2EFD5B8831B067409487FF6C865B8CD69695FBB2B1C4AE1FCB014540B842F5FB3EA40DCF7C16FF295B2271215F5367FDEA93C17B530C472B6200362ABF8D81F3840738EEA11961F7262C163F5BAE5FED2ED42A936CE1A1917DF2360DDF4DECDAE45E1522400F37D55687CD334B47FB8B55464AB7CFF75E9DC0CE51D60B43BC2D468F1DD5BF489B690C7DCFCF6E75301C24BA534047739FE592E8637107CCCE1B3D2E4BC037AAB54B3F8DFE57B9580CAB38A983EC5DE9184AF589D939FB7F6EDC886790D1CA4C780F82437EEFE261EE4737545EB7379FF09B644936F8EC9775E9F118A1958E7E4687C205424E4A31C08BA819F6827654EED2451F6A2242F81AAB3A9AEDFA71437E5AC288BBAC9505B07E302BCDB109FDC9E2B753432AC6502A3FAF9EC54BFDA1CE399561410B62C4FF8FD922A1BFBA071348ED9F1B242DF772BBA66A76C0C1CB209CCF7828051F0A85BA54D10B4DB0D71E37A77ABDD510EA1FF02EC72BA6BEB54523DE49167BF01594D0C49020CEA7809BCC89A6BECF9A6C655D9D1F06C2CB1D2D15128FBEC2FC388DC39AEDE65029954735285463E2684226A10770358156C98300FA70FBE2C200DBC0D60F3194BCE21BCA23AA6554D56503C56E8D4A4B246348A8DAE6FD1150CB6663C113B3F15FE8DF8066C9BF3979CBB3DBCA43A4 + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = E27B1C3BA27DC48F20B9605C4FFFE0F610FF909B482D213C34B49F0FCB04A927F0B1C4D2C6AB6C9BBC6E7DB696F7E41FA1875D08A65E21D0459170E4BC955E7E596AA01C8F52127E858687E53F17691AD1B1AEF7BBE75D09613281CF96E86EF93850AB4277A54B45DE3663A906B55BCEB2528A55CA6E17094E5D0D63F3294D8BF4DF2DA524296CFCEAEC6F1063A7BFA92B300A1C4BA7E2CEA76EC4C7FE9531E7D9205BEB4E2B5FEE32CC0881401C573A88BA9D29B5F5A5CAF044B0A7931BD605073B19D50F82D822ACDF1A6674CBBA6C88362BAF769F4220D731F3E8DBE707B12D44208E646A441FE742290E9FF783744B0F5627CEE1B91DE431DFDCD7AEDCCDBE04EEAD6DC6EF9E9C50131FE37B6707EDF8A021B3D9BCB0F62AB331F43C80B49F3DD5AD47CD3956A2B45A510FEC358BD211B2FBF06B6DCEB82A3190BD0AB28C7CAFCFBA4432102CA3067201533D64D44DCE8A632C204CCAC68B248F0FDCD54BEB300E32CA76F03413B4401BA4721863577860C892252DB31774EBED6BF8418EF0A12508BBB15B41DC0F2EE5A890915ADB2D0F6E28ED207EE8B6536015B763A60A1A96C9945AEB4616613A0EBA3B87C02FB1DA1F9AA169EF4A5CCD967E811BF83D2728B88BB5CF2A5FEC6020137C668EE4F21EAE6D2759F054AB1559F9241EE2B65CF36A907720A7DCCE655FAFB5E534EAD32A4745A947BA6C4B20240DD1FC40 + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = B0FC5EAC13AD8A3CC49B96E1D9FA96CE4658EFACC7394DE19AA7A28CCBDE37CF1201DEA78B4C2F127D397AB5EDB08A505F72C70B61678AE081E139F761DBD5741DF0CDD04D5A9015C0A65975E7DB09D9999FB77324366EF22BB63F2776F9A783A263CE31583D0860F3B91A6620312ACA03EAC2C38BA62C9C9FA0B060A4F8CC0FCDCAE1D414323F2D649A8E9F808FB02DBF926DA2FD36C64ECCC04909E2308D2C0367A069DD64E2DFDFED7A5A941D2B84C5B6A69956D43843C9B7F14A0636036444870B1B9329B38285A1054A1019B6E01DB1C66A39EF9B20EC4E51580EF546E885B99C0E3EA1CD724F8BCF56D1D00D1AA3B8D9B487964E773330B3F84577DA7CE9385D37A8F503456897F8BE8DFA9A60D129E538AE0CA2F6BBF851F1E56CD3F14864EE0B119A1BAC4181C667EBB6C464AB76A6B72681758C70422207E6F62EE438ED6FA467408CA04E48C53350FB11282E89D41A35EFB31C80B18BBF4E28CEE577798B9726A270245F35FAA53DA25DCB9E445A842D843DA21F197F36D6B43E83C3617B2AC92AA937697D5589564D0FB4C225857B6CEF6EAD6F193AAD457A5F5F7EFD7FD88B1AC34B00F4788C4A549474A852403EFCFB151D941C949BE41151A7130D54730F615E638DAE243EAAB7648A028CCD05A542054E66B3D5507D78117734180D7656D77677A2C61040DC7AE56819489C0D106B798B9C549046251163A4 + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = 7B6BFD2981CC29669A120D28930CC39BA577D26BE4A822499FD5D36C7BE1528DBA41F2A60C0F1832AAE0EDCC384B5552013BE17E1C81C326CCE1FFF5E32B24985A2E2121B072902BD2FC6CE05476ACBF2D2719128AB1C35F93EF82290A56542A044B295A26C85E4BAF8B8544816F0BAC4753D405C9CE02AFEE0B312B5EC8AD12A07BD3D177F4BC7AFEF6E092D23C7D445F8B21DB59C9A6E819AF9AFDE919AB550E1A6640967D296D3DF3D987B6E62CF781A65BA41177ADB60B7CA83F57C5FFEA1D1D96BF9EB2914CCD73162A8B61B85211D010AFB8AFEDE8EA96473B080E98EB7A2F000485BFE6E1E7E6E2DDC1901E77C60DB3A65C2F5E57AE72B0CA4BAB6E2EC40F62F33E865F04598F66FE14039FE03C5DF379319413440A31782C2FE4092B0B701E4B792EE449FA452C023FA79EAC7A11A458B497213E7FACAD5D5ED475E71FABB4D9F6A2C2613A8D4DF3F574B5C2A884645B6D5FEFCB355FF18DB8ABD8A85F2BC531EFBEB96F24E204733E9EE3F0ED2ACDAF99713ADF32DCA518D5D86659F25EFB8EC5E5D82E64460094B88DB621962F76C9F12E739A5061ADB812043B9BD01FE9B4E549BEE9E304940DC7F05D45ACEDD417B9B37F214411F75B427E2E9CE14B6DCA4FAB0BC893001CB7A0529C1421E5B721A9BF9031D164C6C6192FB38C229C852474CBADD6924CC8A401662DB173D7FC9FC0028C905574802EA77820CD + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 6D3173F315362F961F2728C60EFFD5EC721D68EB7D2E11C1973A84A19060EB5E64DD8FAC20C76A89D811CE260D7020EA9F7ECC78EB3DC91171CBBD0818B31C4D717274DC164EC5AF48BD1916B0440B4BEA6E4D482329C17AA557DCB4DBAD69AD74BE1560EFB043B78301B3B1D42E9C2B096CF5D8138811DEE6FF3753055C77FB2C490BF79E2F7C48D492E59B5D74798A1095D9BD03EF74CD171E615DD3845499A546BF69AD263C1B845B05B5B3CB32351CE01EB10B918D192D1605802A6607EC5DE09824790B5750685A8C679B54789BEC0D6FABF80E5438F9BED0DA8DC5773FB21C4CF231E1163B30D676A68BA04F7C6BFE5AAA2807A52A84E1D12855EBFB2BDF44C34AD846293D71E3B05D17C1D4102D5C7775F30D13F8290C89DFF886B1D126834516FD3ACC848B988ED4C4F046B39CA0BF2F17A0876B5EA782160DEBF5A2709BD38FC0F6BF3D1E286B7A34A59AFDF4B7559AEB2330D94576BC10BF5D1247EEB12B45516C2287D6738080569FE9179B83A27F007073428C7316AC974DBD98E137E771FC7F4ED1B779C3C6774A2A36A5CABAF10CCC742D9190A3278A33D6AF490278796EA76D8706B99561390E06E90396C4CAF101AF1D86748171D07B5794FA831ACC94A2452769C83203B2F845AF987C81BBD02AA91A1CA481ABB0B25991C0E61836ADE076F25DD1852A032A223B3D8D12CD544ED0A2F97D735A0E1AA9AC + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 07CD8E0F1916D265A748A8EACBC81B045D004FA104FAA1E3752B9AF131367FF0CA7F63DB46480B67C405EC16EB2922E60667018B9ABD91FCE022AE9B0FAA249444B12223CB43750A42B1F9166F54836C7866BEE31ACC681B521D61EEA57C2E84A8F8CB9826E20AD2B14377B313225B50A1B49AFF085F89AAE22D3BEAED142C585316615281D88C5482E9F7E23770DA82F27D2511E30DD1958C903EF7AF6B2077252C7701D474F8DA4149AB45D80B6CE9EC1CF08877B6AB13CED7FDE405A1DED59F856068D3619AEA92789E8E31BE67DBC2F402FDDEC3E3E505FBAA396BCB6DFC5861E497EF576FE4015EF743BC4D5936F8A5247B7667A321614539BD4DFBFD79F3BC90E6CCE084E8AA6C9ADC17C2E1704E4E2EB879DB4D6A7A6621C972EE54CE582F3403C76BF3FE60ADF14D21D6438146EC92673B4D277825F1BA515C86345CC280FD66A006A387488BCD537C5B0325B21BB69E629763259884E9C3202A16ACB5234CAF9882ABC9B0935466F0C7104A04981F75488EEDCACA9EF55F03E3323FD4086E19043DB1F7ED7F9AFAFC968B7313FE6705673CC31387935F92C26AF140D2AABC7BB76F976ECB2A6F6DD1D0E65DD997F8648B7BB9F1C9ACEBFE1988E9514F8770DA4DF0B5EF397E58470C656898667A2E0218C70CEABCCE94025C3914C91BC1BC76E82B1C17A7B938E92A57E953CB80AB15726776382C74DBDB5FAEEA56 + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = 16CAA902C04424D5FBA44B3ADDA34326EEFF62D6354E3EF5200DC07A0325B2004CFBC3C972A453FA32BBD68AF381F78FD768158194ADAF9B10A2A95D9EA9E8D0266C5D3271BB7B59226C8EAA9F15F9ED324AC91FD88B9A23F50EAF0F17D8582E8476E8806F31B58ACC36EBAB6B856CE1738704753A7ED31F822BE83E4E08F2A3F3DD52D4BDF8090DAD90A015E9184A3202974897D525F23A4EAFD1A565B76411D8B78DF548AD2BEE3830FAAA3E8ADD2DBDE479236AD2DF12841622877EB4EE895A0AF9799DD727ED96ACEAD478C8F4B9AEDDFE7FA3879529C60026BA0A7966799B372B922B4CFF3F6213C5D73C0D778CC4B9CE67013D905870B12CB3E2326223F57FDDA8DA32F3700E855FDF3DA47BCA440B219A925258D6B38625AD1408AB303855E3734067ED188FE122C5C279710E8EDF954CE4F43F692DA7EDDD3B84164C567B2852EFA262AFB09F49E50B8DB278ED215EFE1F0F43EB8BED5C3F1ECAB591E191CD36B6EA75260285F667C204E159E72072E165457A170F32A7FE29664051396BA1BC202663F1CA8F17A99598DF58A512B6685798E5E93FAF9B49C9AF0CA8FE4B6544492027CB5599448643E1EFC642C7C71821BC06D5C600A80CF43FA64342CFACE0C57071627903DEF82A0AB3A3089C06F89F99A5B3E11524ED2FAD86B73F3F48BC5B912CF31286C498305B77CC8F7D54F343993888CED370DC93E0CAC9 + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = 1E8FD76A766A100A4434AD568DA7E753C08E76E515DC7A4D42A9CBE5369E3CFAAB7A09799B9CB66940DE779266051581E6B039E76F446327188A6B34565D738F1A926DA3BE16CF6EBD6FF7F788FDBABC0961158321E34C26207ECE1A122E73D5F9675A2FCB2E4871FC04875FBDB9B6411BEBBFDBE71DD643BA6BB2E2CCF46D1C1DF9DC6C0777E7A19823C1D55A648B847E398F52D02D5632A69323E588ACB113289260752BE85A42746E62087B5A32DF812817D0A2409C36F6C80912D4AB80D47C7DE7FFE26E10B1C850B7339274DFCA594D418C3C4948BB3528F4EA463CFB54F7944B32C050C1C3651168BDDCC873ED8057372743A6CC8365763B523FB3D9752A4FDB167A768E96C7D4F277BEA031B941BB7002DB130B76123A0EDC4544DA03D9255BDCD896789123D9999AA6BDECCA01E4FBFE33860C74ED2FDB54412DB927DF2D896D289A87591377923EDBCF2D2AE204AE6EA85B1A9AD2C2A2729DBA3D6E6FAB6269288416D569532793E49F61E7002871B8F4A68DE84DDC42D081D1C4CBE332AC58C3D81896A438D1861E594DB79390AC2BC9398DC21B27E6F7677A94F91EBED0103B2E8CA4068D6489BD0AE5D6B77053616335ECC7D7218B1B2DF70A279123268A06EA959965CA1AA26E1DC273142CFCAD570330AADAA62E04C383A938CE349C997BDC41E9BC38C29767B964FE2D8F6DF96EF1A5BD0A38F06734327315 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = 58407675270C110F4E998D9EB9F9BCAB175E4D17F2C3A88896F31CC97A389728B3A93729ACA3AAA426E2CAF11AC9D121B3239915C857FD377FA2871F76E533A954E6790847FF03531111A89B35192BD624A5FE0823992F9A7C25721E10897FE397C2DE7828C258EF6083544AAB1C7FA5AFCB7B27FC37E64DDFE827883FA0389B8E785676C92396C3E1C1E161E2776538CFE4B6E20653F5706F034929EA002926C0BFB6D9C31857BBBEF51CA094FAA6A7C9C6B34DD92182E21AA47923C908FA00617F9E910EEBFF2BE3696B6BBD489D72510840F075E24C81F63A52772B8B5F3296C7F7095B4ED732F5DCCEF632A37F0419378EDF651DF2870119A4F1EB0C961AE792D7DB1FEC88BA12BE14520648AC3C78D7304305B75D3B1AA631591C1B8128DBAE0EBEA7AE1DD44ED1950A87BBA1BB72FD0BCF158F7CFA4881DEF36B30A36425C429E3D4BAE81EC821B58B6EE1C5FB9C9D93993CC1C341921797797D39CC523D32987EB0D75C0E502F52EF1FFB3DC10A19766C2117122010AA729326AC5273BED622CD04B924C60CD405A14ED06ADFCAF35B1AD5EA469CDEA963D7E97B2058D2588BD866A17D701761439C491A0AF937F7B8B5E8FC781737986505CDCC593DC0627C0FFABC0A1737AFAE194E24888377AF99AD33AA8A0455CBA1411A40D1D66ABD03F2DA49C34C74C65C830BC68C36F87F9E578072AE67A60C23A6AB0F02E0 + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = D102BF50A47C12EA4C8D5169BFD14CC92EFBDC10B042631B1E0CFEDB32DE59947EB35402FBEAB157062BC6E89E0CBAE88BC68190B51FF1F45EE278A486E8535CD9D272A4439EC3F7E65F1C11209B77028B78EAE7A19CAC0BE054FE0811ED8A1F230954FD78130D27D909555EC58DAD0A7494BAC5323FC56E616795DE5D16C1E6427A02E7C33FA8C74459A24AC3A377A7D5D9036AFE7F23830FA3ED8F4762E86B3ABE0F3159377CEBB1E6844835374534F86C04B5215345947ED2062872F3C8FCC82826B0AB63A9A5EF699687C44602F61BF1E9AF303F977BFC3232235D95B5B6AEB5241010F01DCA2807FBD43D84675C5839A6E2D73B60C037A9E2D98F3AF199CB28E4EA6B3BEB9DE80A702C8B70C039B32B7D63C892A6DB1B6FE5A9E2638E8344E4EC2E77394FA03735C7201A656FF0A95E19A6F8D5A8C41605A2731235BA721A4A74F7BCE9CC2B1FED1B92F42C2EB665A41EF09B83E75D1B3A438DEFB704BB360404BA7D67BC00DDB8541949633A106A2BA75930F30F6079BDB01568E46435CA6BF80CEAF3F0D878A560C969263202A8EA9500B71369C958737D85BC3BFB4C3452A47CC9ABA4D69570AE9A2449C1CB84CA47F226471423F0AB54516458C23E31DF0F80F9A3EB37B0E74DABD4B27BD1DDB50650C92FD01ADADE439445A054D463F3B068E0F890C33D9F9BB4C31A15945080717CCC0CDB71199B7CF607AFDF5E + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 29F1559D1AC3E5F5D6F36852E6FA06AE720B939F3EE14FF2B354C9B941A4F608313FD16527486E4DC5C032D0278297797CB591B80F3190EC0F1FA08F87A529EB22A2247E71F05FB4B1ED4127BE219E73B8572F9AE21356D8C245FB3AD4DE33A743536DD852F2772595D2CAD5E85928B6199830EA78D6D0226E7D2CFC35AF41EBB590215E416201A58D990A848125247A1A8319630DB6FD7F5FF4CF2499F94F1C0041AFC9764C2BDF2B0FACA97B3A9F8F508162077FB21549AFD5095AC0F2D744065B90B9CCA781640213B3920B284C6AE6E9877366AC4695B19BC7DE88F3E6113FE6491E7830B4CDF74D3E170D7390D9B0403923C8B6471EB5D639E2704D3C360F4E38F6774C6A440D68C2898D11F17601F33EA893C5E4B42D2A7BE5D07492D20D1550BA335E3D105B4898A2707E5C97B61011707375D5AF0FEF1477FEA62D383C227E2DB4CD59B85E45A81A4562E7541DC2814F20C969028CA8A0E9C14386A648346898DBDE372ED9C09A40A2AF6E0AC541BE0ABBAB84B2DD6A2FDAC9EABBB8C87F58DD95BBA7DB96403B9BD2274367439775119DA7EBB8BC46FBA2A50C75454E386C3749D03691F6705E70AD716095CB30326B1E628B0E29D7AF932F554A6FC0D0769C4D0A56779A1878DE7C3671B68A4964C5A9FCD86DAA7BC5B95C6044AC825BAEB4F073AFA2502CF3388290F5658094DFF31F9C68EFA7AC1D74881CE092 + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = C73D8FAAB5D0B4D660BD5082E44C3CAC97E61648BE0A04B116724E6F6B657684674B4B0E90D0AE96C0853EBD837BD8249ADBD3B60A1AD1FCF8A6AB8E2F5AA7FF197A3D7DBEDEFB433B613536AEC4D655B7BCD778526BE667847ACD2E0564D96CE5140C91357FADE000EFCB40457E1B6CED41FA102E36E799792DB03E9A40C799BCA91262948E17605065FBF638FB40A157B45CF7911A753D0D205DF84716A57112BEAB44F6201FF75AADE0BAFBA504745CFE23E4E60E67E3993622AED73A1DD6A465BD453DD3C5BA7D2CDF3F1D39376A67C23E555F5ACF25BCE1E55F307252B9AAC2C0A39C885C7E44F204CB821C0D37A22DE3A71F3A1909B11B7181C42BE9B78AA0D0A15444F330007554BCFCC0D8FD87D6431FB93C7CC38767A55D30D3545560BD380DB8C4C0EDA9399F68F854644266C1B7958B270E75B79134AA01E7DCF1E6FDB6D9AE5D02CCE8CE8E480475E9617CC42A91C08D9AF6E5101B8AC5834ADB2C66987F42A580BB503A4B34A9F15ADCD0E23D0D4029479764831D06B5CAF3F14B91449F15A291F4AC250B270B6CB3C304725C99E32645E1FC02A0CDDD9E717911F2342D9482F8E0979985A0170D725DAB4EA66D44F626BA475925FA39FC9DEE929C06D009416C0ADC1D987CD625A20ACBA4CC87F72F610867C3A7A928A3A0379676E8FE257107AB2F5C030BD2480E3D1863562E1FD0790280333ED9D5DD5A5C + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 4A05F2EF1AAD5FF4306429EC0F19044077FB64BFE1DCC50F74C3F045E9A9C3DE4A3B5963AEF771B049111B7B4640E20B1BA84ED7AFEE325571ACF347E311F33C1D421F21D663065C4DADDBD1785C5DAC0D554CEDB1A45A32E28145E98F49DEE285B33DE14C336D10950ECC30966B79E8613FFEBB702FCC00A1C4250DD385ABB537A284E9108D16B6F08F4E103F2C5E9E5C879CB5095534151E3C9A316D06DCE53B7F01B424D375B564FE6839D1D1F00A2E62604060A9748BCDC8143737959FABBCAE1851213E6DC28BEFDA48149DE6AAF4A60D4615BED67D11796F6173C3DCF139037B31EEC9A8404DF07597BC266D3C7D9EB9A7CABF749FB44E40D746D0E9DFB5C8BBEB25E3F1612D03D3EB0C154DE4B2708C4F8A89762E171F744518AEC134A02EEAF49DB2E2C6C9914711288D6B0CE877861D9B10ACFCC19643738287DA005282F3FC82F9F50AA681F2F55FE1809C9E23A3A59E51C2E894F718372F9FA1564B47AB3F43F0747A17839E933369B6778053E1764F52C5F319E33C8B25678F72332E33CCA97C68F19E058E70C31410DF4DE7E08169D6096B7B4EA48271EB684FEE9FC8B561C3FEE2DCE83D092B142BEC1478D26B48C3C6E597A7B2E44027E1ECA23178D3AFCC67BB530A529C7E1336E1ADAE74EF0BE9CD61E91C6AEA57F7CCB23B64B2F84861CE159209FEF7A897A16A871AA99E63A5126DF2B03387E42C3D18 + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = D99E2166E72399F4B775C8C446CB809F149095DF22378DDAB711B867E3CAD17830EFC3B9F7D90FBA1327E103D3191595AD415EF71604C7A95DFC417F14F5B5AC1B6905396ED94D56ED993E240586E95D98F3D34630C32FC1719E7754BF4F12A321691EFDCD42DCA695BDA56F975EBB08D59F76911ECEC5B503E7030D1E626EC89CFDE51042F1B75063AFB50FF7B43563A09E209B7842507B67E85E87A99FFFA72DA7229CE5C9F5303EDA061A209F46C76BE4114BBF5EBC5AEDE7E22F5921DA87265C19F87F1E37CCC218ACB903BFB4D617CB95DF94255F980924A045B959AAE9C58DBFDDAFB47C9AD78324D27495EADFE665E8B7154EE52AD0219421014FE945AA8C2F3B6223F99E170D2D169C13C0D1CD481B6901A1770DFCB39ECCBB40FC6790E69C61C9EC6E99AF6E557EEA2AAD2E73D8A82FFDD2FD32C63DBE4858D97A5955C6B3420FA12AF5CDD10DD8C9D6D3C230272187E855B9F405853E6B8E199F071F0EC781BE8DFC29E93288F22F600302475CE1651D3CB671A0635BAA3DAEFB73487A813A0448EA5F2EFC915C847795BB0F4F5879DF7B5C95A2DD3A5CE79DF85BCFC1D99AE98748052A27B775B690FF9B0240E0BC0B79935AF998BBCDFD37A2829482A9F51FFB253152ECCD35588D2CD96BB19441A14D7CB3B7EB2F47CFFF6BD8FF73BDF9D9C2A613EBFC5D69A3D7912C4CF2B41DB244267AF889D47A037EB961 + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = CB7A1F8F3B4A92508EEDA0287EF3407C5F1A51F2600D3F13C214A36F54F5FA63878DBF6E76E570B72ED63159E01BB948D0ED7602E9D649AFEA2BDD4C97C7B22AC32485816D9F0BD8FE1443C7709884334E4AEB5104FAD05B6C62FBBA4F5C5BD2CC9CF576991DA24AE01827F3EA70509E45E1BB0742F3F21D673A34E9AE992ABFF4A33EFFE61C2C7ACDD0B653757C987DC1F575B7181E79702C82A389B0DDE618DDE5EE97A1A515365D04F3413BFF31C3F9F222BFBA2061993C7562AA7761175FD51D48BEAFE94E16AC34179CFE68791FFAD63358885C289C0D1D5C99DC42B7DEE58D9ED595CF5158D4D5055CB249025F3FA9690A18C9459D7E8111B88AA37D26B384A7BD02E923C2ACEDDBE31A6F3237CCAA778D5F7C71CA96E72E11920377C785AEE9DA9D8F11A4D4CAAC6CB66AE4F251422104E5330BF06C004791ADA67D687A0462070B51C0860F1AF7AF4968FEAEB157A4A4448B69AE1166578804D384720A2BAA55F06AB17FE0B4A5E4EF058A14D17F99BCA359CD1E95DE00B5F309052FF4231ACE9E1BCB6684355EDF7924BCE95264C3FFC641588FECC3775AF5E5361B5EE995F85F9A612A0055B22F2D440DFD80E91329A2FA02E20476CF84120634F9C320E6803992817947EFD9BCF620F4B038CDFDA1CD559801CE76FFCF4AF63A4AF6284293789B548314B2B88C2DDD31A6C92E4E62B705E196CFB2D978D6F32F3F + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = 908FC63FEE9E11D44E7BCEACBC161269A96993D101265F825B86C107C61CFD11EBA3CFDB0983BC9BA3A81DDBD8517D2E313997ACBE48A47AEF48B3BC1A56EEC2FAC280C96D9ADB557B14334C6C555F374AAF9F9560815EB7278DBC81A78E3DC4144B879119C310A2283862574D055D2B0D8D53219C479E8C2F6DAC3186C1EA36A6517D26E14F2230F00A1B30B44BF987B3A3F47240498734E6858444A82ED1098442688034D38C578E995424E1FC2386FB10E682EBA287F3757B8A4CEF19544CDA032C3592E13E07241AE38F0BFB77B030273B28D09637B4AD359C7798CF6A76980A3EA331597DAB4E18ADD97B8404D4AE4E5EC874D0F31A60636B2BDE4FCFCAB9569205E7261FC728A701F19E3791B538BB1AE8E1435A85F7E8F7B95AA45D275AF770FD9FF856F6666C8598626CB54404FBA35B523F55EC971F70E10E09FAB0A88E39CA1E7180B482985E82EACD81CBD2C8675F8BD41691CFBA39228D4FE2561C2E8BA1DA3124AE3204517F09CB4ABD54698F1010E1836E141C706B9FF0916BACF70010A0F75110E79E95A48FCF4724BC0674C9AFCF12DE59D31C64E532572DA4586BC73A6BEBED22752A05BD1ADD51464180DE96CDB44D11611FA661D0EAC1080DBD25DF51A2C7519489E05E1BE5B05C60070EB8075A9F0B3FDF6C14D6C07076578ED3A16D8E048350CE9B2956ED00AB61B024AEA9E07C87665B7F33E2F5BA + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = 080C392EE04A0D4EFE020FA6C20236E7C1290088BF6FFC2CFCF72D1B16A21ED000FC7A064491899BDA1AD4856449D89AC7BC54E3896534837EC4BF950A18A3ECD5FF286D1D0A02E90531298F2430484A667DE0121E0D0B392679AD9168BFB4F0D020E7EC1AEC006BD0E8A551BB7EF0B751D0075F615C02775C983F45212E4F394E7680D9F81254431BFB9E772EF2CA54600D2F1F4DB12D6DB49BB9ADF03BA6C912E0A8BFAB20C0F4D3DA675A908277522C8964ACE05F138D192B7A2EFD8FE663FB4B2486339555AA1C35DA18D8899149339F1AC47555080627C3AEF75DA932BB063FD3DACB6E0019C7DDC5627776250033E6F47EB5930907FCC1F1B627B520AA18B22B12103F3E361801C6EB8B72E18CA9C43EFD1E8A04948A9A7AE1B92E177AC6D3CFFA217E13CCE790EFC636153FE24821A7FB500E61F3098711F60FEFD6EA90F6F63D6822331D8CEACE7C192E3482192B0A408E5C5A36A7C7A5490756FE4022C7D16EB28232A70EC1BD675DEFE9F87A52CB633DC5BD99CA49D2BEE54870FB0919217810AC08312AA2DD16556089FC8706D0293EBFEBBDF11204793901190BFC7AFF9C87C9B4FE9116DD1E1789E08776EFEB71F619827A89287E183DD77C42D791E7CB4ED2E051F2CEC42D2AD83B50EF3C0FB6ADFCBAED484886A4DCFF41844ABBFA46016A0FBFDF2D891B982356B315DC17D9FB62517E3163A93AAF05A12A + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = 85F82CAF1A3D6DB8E7C6CD49C697DC314AEAA79309FECAAC21FF46639EE5CDCB719A6379D871138041F2908D4DD605AC31FDE9F89A0136018682FF1CC0E36A3019A260FDA0FE430B082445B7F10F56A50E69A8260954F72B356B710A35A5A2A22FAFAA5B3E4E3F0919A1FD44C24D33EFE5790F9FA707DF0E06CB4F195F1AF7B2578EEC38B8565D34DE9665987F3710D8388176AAB6F3D7CCAB61713B175D5343958419F7C2D65775B7BECADC1AB8DFE486EFB98D336AA17EC4083DEE1253A7E2B32437D75FCBD338F77BB1548C704090C3417DB225534F85C92AE1E9B16F66A624F5309297F2FA3DF12FAC8AF36A1F2A11093D4544E0A67C826D7CDA89730031D4A35C64BFF9CB9512C09FE45F0D628C075737819252B38724BB5A341D3045B4FA4B8BA742B947EB66A9A9121A48B8CFB83B41C90A7A672A4B9BCF2D1A32266C8F13EC46DF4D80384C117A56180398D2268C8009CF586ABBB7452911FD73C9C3449004A11AED41B557A33D7825C42575C75C0641393346C753B1415D4D4AC224C831F185C2B635C4B6B1C388358C232DC629A090FC0D472A4CCEED43FD9657EB33850171F9D6D2DEA433874B47F77DCA16CDCD782EC1A335D2DA3C235914315A243EAC2AB81E06D97DBAA25EC029A62F58A1DC78D586C226046886C23A3D9681D68503893F8A9ED9A5B53A22A1345DB167BE59A6AB8295B41FC464329A6CB739 + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = E07CAEB114B9180ED922574BADB071B5962ECAB18474D1A82216B152DD0DAE5CCE14001FBE59E25F55604CC3C26E5D88A25393303FF47C1F14C87EA4D16B0A435A43A3DDD22AABC7ADB4680C8FFA05BAF28F45F95ABF93F8453E267B5E584C7AAB8E2CF2723ECF211B958DD8277B89D3FF2470CDE45077DE7535840B0BFEF8D2AF5FCA3CD91FA6EA83C5F7B58C75DA302A67154474B563AE9B59B1A3BE93BA2BC2A5484BA24CC409896109CD57AB6357376FC0B65A46506D34DCCA170DA71CC52DFF4FA34BC4B979A130EF5663CCC28FBD3E36B6CD103212A96B8710B49EBDACF4A8C41A5860175B694F75F077718C93170A98EE9757237EE90E8692E4AD6C1AF6979D567C104FB3F30EBB5BC52B99A934D527FD44704DE65431D8063DF25E4B31A89629E1F7B7AED0E49C2AB6D3055675C7C63AA4E7686C880F3AF3F6CAF7251BD8B9EBC0A3C46C72B05AC4DB44E85068811EF050F042BE1E7EC841DC8F7EB2A7D9D2C10EB3603F952E307289C1634C7D9E648C36B75F31EA91C7125DEBC5BD3F70F7CCA9330484ABB5A73523013DC507E1FC5689848D6985F73866ED146506DF21BC98D35BC24256C4F911C3D4CE437798431F68E7EA9F608E7BD98D7DF892581B2756106A5C7590F6C33116B7C269D4A3010F121AEB0B10666AFDDEBD18AF9FF571241EE39E4F2E7802CC75DEC1ED6E7F19985774F0733C833CCB9D82CA1A + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 1BA3E5682B5210C2503367CF92FC02BA6FEFA6C43CF725D9E0A5A796F949BF605C9401D6235C09265C000AFCCA9FACF32B1C6CDE831D051DBC604B72B90689CFF3E9179BB0A8D151C2FCA7DB9147A8A95AE8831C475B16B2478FD794087D0D979FA66DA5240AC77BE4CECB3DBDE50FE372C5045BE23FDE7CC0B6B86A0007D47DE80D59A2DBC7883BBB2F76B74E7EB53E8C929AB73819BB09CD61010689DACEF17BEEADA0311F2F6594922EE835DD09A61B41AAF5792C63CEC79C40EC126A68DEB00EECA6AAEAD43072AC65E7101B4C7A3FB42101BFA922E43329E736D1DBC90EF45032C82E26CD102176CF8490B554AC9C6FFFE81D281CBF29BF5056C06CE2CDA918BB3C9F8F49A045DD2CC4D680BA8A22562F1DC53838665720EC60E4E3BCB76014B619EE24FF41B2860B3BA4438527D975A1302E8FF1923211F36673B0BE8B58BF0C7FEFB0CD50A28A386CE6DAD7C30B8F6A3A437E864143143E638FC6474A2A8A6640862FF4C4491FDD52ECE0834128137011D46EE7B0CF611B237AD515BCC11FB7B0A4650FD6E60BA8B6BC601DE5CF75A66C3F16AEAD1EF19C47420A9840CA4B1352AF4C5C217350840AD035621EABF2EADA2A517250D3A6AD834CAF2A472B2D5DCA3829C372EDC64703226EBBCCAFD316E4EA3A9BC9AA8DD42A9715B29702BBA9AE232C7806E5C0C02AEA68602F4B580396B27B94385A3DCEBECE345828 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = 7F8D0AB3060B5A6ACF3522A83AC1A432DD9EBDD62BEE5CA14CC54FEC0D3AB6D1EACC33603F214C35E8C256BBE7F0A1C110A65A6E7F5EBD6733350DCBBA851271A0EA684A0AFA032EF530511B5FD923399DF93567D9BB1EEC74D6FA4AC5451D81FEEFCE00A7074A1F32498AE68380E2D9800AD3DA75E0BFACDF66B9F34CE4C60615AB46A8310F85C2A7F9A737E8E19E0BCB540FA9F621378C44E2DBBF57C059D52F79FDA1DB8A3D5B44C558C8CC70901219AE76CF5F6DB962ADBB6515B25B5FC81CDCA21B7A51911C5F5C52E8F2A863E9F09E927D8F66B063AFC73CFA8592B710063544143A8B5D06CC78A604E9B72771DE91F48EE55C9FDD831BF91171532AE5EDCACA1BDE2B96362D4E30115E12ADA76ACA05DD128FCB524CA8831CF2459A53D97EBC3AC5A25517F254A14316A402A509FF5868CD290C88F43229BE54A3443BC547A093687B3C3D97A4D1A09004CBAA6939E86CD75F5135D9FBFDDE568E651806AF401095C3602BA958FB7A0F4276791B28A6BB75A6944EEC6EB8CB9A7A9E288916A15A496DF80777FEEA0F42695AC62E29F137E355A13B630F30E5D4E4435C3180EE86173F59BC19B79065CF3F33F8BBEFEFDE35A8AB09C13DD9D326E98C9730BD033CB2DAE20BF076EE9CE764D48BF8A0F7BB9181E60889293866E1C601AB38122220A2CCAAC996FB1770CFDBC4E628BBA2B3122E0CA351FADA84F8183FF4 + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = C625EC73E6D951EB899E865B5012ED72229958F2850A79CB8221AD2248A8D670A8072519AE6DFF8CFBF7A20863FD01183D55093C80CCD14106426579ED2FD99578532F9B4D8E11BE19A0F0A8336FCBF1BB1D6D91247DC87B563C1399F50144F563F8583DBC208165C106567EC51FFD321D9F2ABA7AD2E7F2C1950D04E9027D7364ED831C2155E17C0B083B2EE2C4E720A2638CBBB971CCCBA1DAC6860917D28D341A49CDE2B8727179C8B596C045382E6E7C23A35D47880B4A47D3DC79687919194397C3EC00D9AA232E666BA24A1A39CBE847B2E864478AF2F59F73B2ABF2A98481430943980BA197DB6E67A87F3782B7BD99A6E27F82F133DBC6D722B5CDE09277F2407671FF44C1117E1265F5EC9FABA0A946B67DD268C3B97BE198BD2B5185EB07378FBDACE2B4B97C8DE2C05176CD186B0AD3F7D54DA7701654EB1D1FA200191CEA96D0F02C86CAA277FEC59E1C93097FB5D0D43600E3403C53798A33EF5CCAB3D5405E5DB570A26C3A0BDB304328FCD36E327B5D957913AACDC4D938BD00577963D5FA343109F4719D8192B12272DDFA338612AAACDBB4CB91E129E4401E16A673D6FEB16294345FCD0E9BAC8BDC30EBECC3BC6DCFDF25ADBCB42777A6FF4C05B5981571AF8A33D9E7D34534F8F89F555A1A55761FBE2DD66B93330820D3EB032D7A56DB79AA7CC372340B953097453509F240BF9AC6DCD0DF08D21E10 + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = 5FCBA2303DA2ED78B7A3B3DBD3D7D57BBF37B25B75BF8330D39576EE26D830002F5FD36102BD09A6025532371A6246417F94A527220194F287BAB34A936836AE84D87C251674F1BD361FAF5ED3C023A96AC1E089050C7975D4FB6DDA11305D73F2D9BF03FCDB4ADC31C5356E231580AF9E23B8AC79B28409DC4EDE2CDC5D98C67508ED4D688377583E06FAE8F195B10C60FA61BA10A7A57A8A52029371CA12C9FBA5EDD2378FE78E5CC119695FA5F6ECB4F7C27B0552B1231D4A1BA31196CFC7D30E92603CF2BF14E2D4CF8860A3B4B543E48401D9FDC6B8D0E1AAA559E91ED8FE3D6DDE2F8A16A59AACA1FEFD304D0C42B78441D4AFE148B1ABF86C92706C5C1528D54566EBF0F4F7F6BA0ADAF6ABAF5BF8DEA607B6C86C789E7EA3229031BB69E60BA745F561208101DBE4774AAE3CCD7DA3E6C4625B0744B33E6697C31650FF94095C5CFB87024FAC512D81CD395D8A30FC562E8E817D5DE70E991E4B3ABF091591769EA3B42197A4F4DEC475F3CFFB47700E832FB072B4783DCF44014642D9930F09A2E3C4984A20BED71E4D2ED1C5FE750B0F803D4891A128731F48DF37D7E30EA34F7ED816C51F3DED629C7F430CB3F1ED74610E4D6535DE05EB6E7520B1CF6653DA236DC9E4F8CCA8BEB696AF2A3C15C42E6F87C2EE1E9013E7FE31E891F6F9658F2E270A423154824CCD6BE7498A6FFB8EA6C4E5B8A6CF1C33314C03 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = 07F4933F2A7C2988B9D753240C1EBBEA38E95AA1029508296BB49BBDF3BC164839C76D905596EA153C4746B4FEA069D2A784D9CACB598A24BAAD6D215F83F72D4B52604EEC0066344FD062B1835570028C1FD61D5B4785FF5B904F5DB03C4EFB61B424226578392B9E6259FD86DC979526C560057B9395E32116371B3737825A9579B92E1AB5FF9006AFDE8A618687205438D99B7E1BA038922B140BE0DAFB7423092F362F537CAC8272AA5DF14B2DFC2B73F5F4104BA1FE603E00AF8E47898C0E955D57DED792C3C93518CD84FAB72A2022F189773FAE574D5342EEBB23F7D7497F301023C1143CB3481ECB0EE732D1477E6BF872EA0D0DC0623A5C0AE526D8885DB1D3C1CA0A513D2E4D53E13BFD82129DBAA7A2BF6004D2091E627928203D05B11D9F6335DFC73CB9A7F5C3CF43990E8DF0269FA9BBB1FCE7646C6BA85BEFD3F9ECE88A93CBECC3F8F68CA4D0AE8197CA479EFE0327463AB5B78685BA4000482558CEC55D8B934726B820EA4FA9471AEF2962A7E1CB4B2891C0B545547A146CA28AD3E9CC6ABF69D7DFB87B298CA252387888E20CCABC9E9ED484262A3B6A1F857E6900330ABE74454A62E2DEDFEC3AFF7BE28E4351C4AC0738032B81C0FF12AFB4CB1B94F7119A6F2AB4157CB7C2FAB41879943A075233CEF8A64523F70E3C6F66C5EE3D5FDB99222B2A3EB09FFABCAC867E0B2D06955CB80E7EAE176788 + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = 7E3FBAD2449B2F16426651EA24F642FB8CBB40B1969FBF10C5A6C3E7B1AD2D413C1F8A78CCD5F4AB0BA0A04529EEB3F72B656EA1030CD94DA5CE6B6D7C44728C0CEFEBD7FA597073F8BEFD6BAA5325918C1BAAC3B8DE7D1E4B723C0518936CFDE3F039941FFEC3979AED13C16E5F24A8C01F4D87E07F797E2DB4D5CE17E4AC40565D32896E3B6DBDB50FC2BBC4D13C2E375F171D8EC62C423A126B45D3C13B6E3EF9CFB9B8FD25BFA74A1793EBBE1168705B7A26EF12C2424E9689D993BA8C02790E83CE166DDB7C838DE164744BAB16743231569645B144A34BDE3A40712F01DC02E476140D07BA3DC4F51DA894727443892E7B12555932AAA5755FD9887A9EAC8C949E71EE35414150B63B00247CADCDDA9C2FB245748DC519C39EC8877C860729D90BBEFB89C5D914F99AF63725E91401ECAE6F69C67CAE0C94BACF3D6B13C273019CC3B5D416D6A24D314EF01C6348F2E539578F9368C234EFB559352E5ACEDD53C14A35F680428BBA25A252F056C4E452A921E4F83D648838ECB076F4764256912D41D504044BA68F2734D7236FCCD924D22735F6CFADA2349421BFD51341EABA98DA57B3F1A1B9B7B4588CF3A0D1A7E116700FB90C3DE339DFB9EA3662364807B91F7D2105D59034A6F5816070B5C4B24ADAE525C1BF2D267EA4B03079405A436DA4264CC50B2B30A0881E4D22A1904DC7311CA397AF7399734A0CDB79 + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = B6869F1189F52EAFCC0353F7AFDB8076C5CE063E2DF404F3D1314A4DE573541927E9F4C67A554BC82E97C3A2F6C679C812C9DA6542681461BAF009F3ED10D7D2C571288A41EFF6FC73DFF8AA3CB40288C84C9ED5CFA70F59395E09CF3CDD58B4D2A65187CF38828B981EB5BA8F7E591070F97B3A567188AD4C455FEC91ECC2C9829E00639BF6CE1DDAEE45CE19D9A183F0E93630886F511125A69218D86C5008760E8EE0CD299062CD1A06D0D2A5E07A0A30DA7DE30531136B4BAE8546290469FA1B18557E3B1316ED8FF1BC94131E9797EFC0A2D997F8DA22CE6DE0358128AFAFF496DB6466210A8682F9D286AB66304E79CE92174ABCDD0C4DB508F03C2BEE0C87F6C39D0FA2EF7F3DBD4201B4A46F418CA1DE312A2FC9F82E6008BF06042050CA302C9A386AAB9A3A8FB558EABEA6771C6FC301F7DEA5C13DA704E4F41DFC2EA508F1EFAF743FD4A3EBD9370CC3C872A41C4BD40EDDF311C2F5B7C208BBDC7BC4A93804D10B32769A333E8BC2507143912CE4D918D0DCB4D6462F0790F10BFDDCD7FD711E14F411A6CE58D50E70E1EA23645E97B6C154E3BBA3AB35411537BC8830ECBF953BB8214DF95E6FB5AABBCE08F8D017958848916FE04B3D2D5F69DB9234220DA3388E3385CCB90194959027093A93F7048F35E3A5B0AEF90A792820B242C34700FBE7F7E00C00D6ABDFAE26DDC95CA47A72133F97924D67291C6F + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = EEDF8414ACBA3931CCB5C41B045E708926CC68C513372B2A5C9F8BEB76C060461CDBDE486F81952169B465061541E397192CAB92B64CD5AE0072811017140D53861F56A96A66211FB30BD1E911D31FDD29CE66882529874724A64216C13AEE8110B963ECC99CF46D2C1384CB39B27F2EB85B517893AC45A126F57E93DEDEC78CD2708E2C718D783D847E2FBC8B3FDC67260B33852576910D2E43923BCB8882D318AC5421B99BE5E532101833585E744B65EEA3104337FFAFFF4266B6ADD5F081E42A46C5365CC2F03DF43C3AA3D0F9A9C477D65E5EBE634C806246544B97EAC179C932E37948BB5E5C84DB32450F3B9FA54C89FD03FE58861B8E8A6C8C3D7205B7A65A02B90E0412C493ACBC3385E1A197DF785B02EF42B0BEBBD5431EE59DF31520B88E30BD376BC4E720D71F1C0C9AE4C2FBE126DADE6F667E2CE825CA1118F5B82F2A86FD5BD80621FA6FEA14768EFD08D75E4C416FD1245B0C07568DF42244DBF76614E0F3010684210E49D0868C3ABF1C89084510662BDCCF932176DAF9393B00A4FDF911EC8BA14E81B0648E5126B7B6CC1DFC902A53D0BA7204C256DE67FBB525F6C2D4C4DB08484A14431B350B76B0DDEE9924A8E0DDC4E6B9DFA90FD9BE0BE70BFFBF6F9ABFE0EC489822B94DFEDA911FAA7626271264100E2A40A2AB932CBE92BF2DBF57D273B0B056A6DDF29BA36A7F8138390865AD9ECC76BBC6 + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 61B6E091F3A8BEF3886484730629A32553B1EF7EFA8689AE6C01062F505ECF48E8460B66448D355046FA728AF5778FEB8B827BA30211E5B1BB82F6BEB7F2ED7450E9EE0A19A47AF63BB687A0A4E611B3762B97BFDC6E212EDE1F874C33636AB4EA613BA991E8B9558F24D1C02C5731B155DC1EDD6E984C5CF51BC59BE5E084AE89C87AC2AF5792C6DE0B76448AEF8C5F248CA6FD1525770C8B4434A76552834CF1481843A9E3A2051108D3DB6B8265F736395848DA2C5755B504F4B958755BA1820DEEE9EAD314C9515B996AB96C8F349BC12618FA4E8A026EFC5508707F642F5CAFE1EF135764515F4CE2DE357D93A0F3BDFE8E3A7E01140212A735FAECB49659039AA05F0C5EA0690E304C155A64804954E24039D001A1F7C2F1691E81120FD275A6FB292F3FC1BB16763887E3BF327FD36FF14D8B89D02990AE9D4B2B4F5492934079D17945613AA03771605B259446664FADE2292036ECA5894C4EC3D6673FB95617770AF54CA581BDC6B52097938A98BEDE6CA627A9322D4FF7390DF9A3E46FC5C0663A88A16A7D4EE708D92EB5EA6DE0527FA5BC3454455B678791E07586123CEC8864396B4B972BA29C935E6D3BA2F7B2FD315131C0F008D047E6CC234535D947F068548287140D4303365990E62B4845A3E7CD90667039C205BD1B836C4240B2120B54DF12C462D2B10FFE2D61B456F090EFA26C53E1F51D2292D31F + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = E4E5622998509E275AED8D103E2581877B09D570EFE558CF03626FDF3A2C04044C1531D3F92A025CA693FCAB59D90ED2A2DD33F4768F56B972B2E87D34E8F293862C22602DE928714C34FFE22C118C474467005C250F77971D59BD93581E5EDC4F2BE3C61F5414DA40DDFD3053595E616AFEB18D3CCE87691AF4C228DA5595E2C4498FDFDE8360DBCF014B368A88C5ED7A71EEEB003E8839A371B8D86F7B58DA353EDFB2891BF5A5CCBEAC1E5F2EDEC1442FD79B6A31B85E4702DF68ED3A0504E26489B15C0C1A52B443581BD671FD207302B4BADBA9F41B974BA6179EA1671E4660CC8F5A35F71A8B9BAAEDC457FF13263B062DB6059FB4275D2831218B04B2E24F1E3B3DC4CEE9261A1919343D5274D64CE11E0C27866ECA3C91BE98762834142C730F4C3354F0866D9F0CBDE0E54BF747E0D8E50C8654A1C87FDF7EB6D13C06A8D0A02FC6EA72C77D1D957B960D6726EB5F1D4B3C056B2B67D9C23DD393A25D03129FB4D894DCEE892D4D7CBBEAF404FDDEF8707C5850B319E04DF5D64BB9F256A6B2A7BFABE6487B16DBA0CF415F8DE98AC8D63498DF68DD9E209B23297C79D108BEE3756989D751D91FD0954A7F5B166109FA11C7AF4BB18B695FF6110659E37683F92BA03C24DB9276D88E6FA587543E785A4D49F37240CBD826162E0C2AB12DEEB71552FB1AD45E7E5780F832D831D2AAC556A3A0005C37C148C41AE1 + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = F3ADDAA4382A61CF38C2963346547922642B064CE36B4D424F41ACB02AFE7AEBBCA83DF589208FC828EF58300E96A4D20592BFD58640CDA4C970E1AD58BA410ACCC75CF6D2566B6A10D7FDF02D169E6BBE8953E5812CEBF84E6E79B952680B4CB59373D8A6741C3483389E611A290D1CA14178556D0CFE750C787C4DB1558A1F39A2F39F9021F1E420F57CA91CD1EFD2D61D0D8CD34AD1FF7E607096B9787A51CB7684D8040FC66710C63D85A510DDFDD3F60056051406E7F217F12867312197690EE8EA33E6935306B76AD816043FCD52255976F9691C31AFB361612886758BE8AE9112412456B4395017AE96A3D118E351EE2D17FBA96B3AF726AB1B2EFF01FC3B8B4DCE461A452F0E6885EE4937B34BBDD357A83A68A95D12BF9CDE1C5ABAD70CE7A30B76BDB601B8EB533D57E4DAB508956440FFA0EA3EF2773A446E2CB11F08226385A71D93CA67CF6CCC8EB8E48444D508EA035AB59AFF79E076FFF850CD497798F49BC633EF41B0A4239681DA28A3BCFB2FFA3A992909E0A0148781A1BC03FE3FDF9B7B9971213F9BA331E5B1235314B3F173D48BC3249E946627F84070AC2D8B57E184B0E8EAF0321B38857383BC1C27CF9390E79A2E09A3B5552A7AA9CC55AAB534BF7D7571D3ED97C258EFC9E2D3C1D34DC84EAAF55D1725AB388C0A5FA4DF270630E468980FEF3A79A67CBB2289BB03CD239C14F15A50403787A3 + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = EB6CCAAD9EF05B657B6835655748051E33250C4FA600B3431E96053B0AD6ADEF7D8E5CCEDA256D96CBCF713E1998B19F8033BF032C9B2A56309B31755DB88A5CB11669A49AF4999C551ECE42E69DBC4D53B0AB2705295A649364E8AE495C793B73AC4F5AAA01A7A66F4542A4A5B29AA266158D3379ABB4C26596CC3E7195EA9112507ABA0C1BBD8EFA5785254681E11ACBF65A977199D0D489CD4357CDF61F0DA3B640958FF3EC7CAB5ED0C3E725EC64D18CBC8BDB097967FCE3AF9A717F591DD49AFC38FBB4437915D7B161E6800C3D8C0EAAB61C5ED05D8711B00E75892AAC5169E42B95AC207A27981684A7A26B9C7E00F7AB9A2DD84437940A7169BC998A56E0A31693345AC53F45B9A7D0532ACC80E093624C5341312E7F2E7FFF5B0712E2B119F4C6F5CA1E55899F394C850EB038BEF7EB1DF1303B7C97292732F96F4F6B8CDFBAD6C8D6FB5721A5441B4897FCFCB2959026DEACF17A99A27EBDC108EB1D77518C342B8E9892CE44241F94B88803D7EF72E26E8209BC251FAF58B8E0E2CDACA5B4509174B07C98AEDBB2C3871FE972A4C31DFAFCA4109985904DAACAB1C124E659562B77287B6D9DB73A38A26AD0E746B71FA086F6AA4E39207093A04CDBC69993C2205CFEDC4D321694D3FAB832CD729EC2501EF2D386EB170A011BAAE3E83A7EFD110FD36C9A7FBDDB835FA033891FF21C4B634368FBE8AD991649A0 + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = 28721A5CA8A0B2F0EA39D1E51F18FF57F838B0F7F95106E13950D717E3BE00F9CDE1FB3EAA37E3B0DFB080B1A08EB6D07B4C36FBE73C248FB86E993A7A44A42501593B8721082AF6836EFB165084AB5DD13C26413AA4303D19183CBF09526E9D6F590990C7A61103F82C3E3E58A673F8EA1D00C85EFD867D4D7F9A0E295636933238C39A721ED301D4168B2346B115998279BA080D3D63A7F8A5BEE1DB83F415F9FA26CB0C6511A3AB2CA7CEE4B30188570FEDCA952B91A299DB985E0EA5D884646DE594F5A3ACD3CF975CB8987018EF6D5CB6C7044D946111D250B0EE5F40329D6EC2423D085DC8A8F8BEEA38EE4F3E4D7E206B6D1B988AABE52B074673C1D74C6DB329CC978B88B0C88A41BB91D541BA4D3ABF38F892E90639ECB37C79172352FA2273ADDF88BD6CD6A76B305E001F78E9D6C29C46477DE5ED69FD0D398C8008C839C87FD95C51D35AF3AC874F9E33E60813A984FFEE299547BDF305756A9F7560411B7BB475870D8ACE7671C093E210D3BDB10D31F48E0A78D1D9E3E44199CC49B7D2A9E2CA0EA8EBED0D265FBE461A12883EE515FD738BAC8299309C86B77ADBEA857C4C92ED8E0F380733B47853CE530091A6D700B4D1EBC9830C2443C7D82C3E0E446CC72D4FE75A5C3AB4E38971EA41FE993BF270C477FE90E2E207DF59D011E23777FBA3B454138B31F1E055818CE61649F0D4D06765247A9B8FEB8D + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = 1E98D0535E8D9201A8E74F5D60FE3151AB5C246993D2C39AE2C906720F898DA70500D14E94ADD0842DDD949FF614C1DF73D57879B3649CCFA780D22131DCB51E14CAF79948D497D0A4B8C3BE023551C68D88DC3E36AB8D73820FD880F3964964FABF60BF9009927F25D3EBCEE347C54B3E7B9A957F0CD10AD15D0A9A2DAACE6715633A9400DA882337E8505A431251BFA1B31096004E6E0F40F00F6C389A9FD5DDBBF7E7F26F1259D25F2C176B4B71F0C00DEB9185FF0E4508FDD0E057AF4F4D2DF3A15DFA5416ABCAF086D0118BE1AA70C7A14DA41B9612814C39B6E7DBEB9A415FD4E7AC8F3E046F0BE25BC0D05A183A4FFFC498100C21D013D712D7FB48667454A4A54BC6CE355107267E245675002AC83E00A26A76EE6081F8C621620C37A03FBFBDC6F7BD88A5D996BEA811F9F753A2486262E6452F896AB8F40B2BD97F95038DB68FED4A52194B9E85815E67DACA1EEE6B0788343999453E8758AFD73DC3E1B9088561305E929A0128C6D229743567C7885EAABFD9BEA8644FE8DB4D19187FF46388DB5C1583DFFE70DA6349ECA26E839DB999F75C1C72455643A902466C24717069EFADED38C138D6A499FCA999AB653F5B5DEF624EE990F46177FEC751F55833E721DF57F6B813A55C2D0C463D25E96A53DB14E6CB4340F6059C924CB7C4EDF94812959251282B5F46ADD9A97DC8951B6AE72F7FAF6EFE2BD11D9B34 + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = 518802FDC9FA52A2A70FDBF2AF1B43EDE346E59B2709319CB57FE6480C46C7513868686CD374AA43D656C6BA98A2A879A1A3D973C46A10E95BD0FE28029E5BC8AF03029D744F4B2D9BC9D83CE895618B9E21E6C4C2D295A285F251C26D22CB1662A2AA4E8609C8503CA9C908EF853BA212A87411059118596C88795C972F8FF55607BF82B8C128AB5D041E86D5784B35EDEE160FFCD06314510DC4AF9B9FC51999D70C9A10449C5B62B584614742032BE710E50B42ACA942C7C73776EAB51B0FEF37F5447E8CE2198266E7FD1E378D5CB2F296AFB77600B64677FA13BBB19DA426288F423EC6617BD19A77833F01CA5B684BDC5BAE939A79B6203B22F4FB27F4BE92EBF337F9153CD3D78DA095C0E76C9877A1A80D2AE4DF7CE56A8F876F32E1134E0C51E52798389C35646D3165DC164C5F77ED519345D21D055A332F87CCBA7D3EF19BE950977710E9706AD07E30928639148B1250026FF23B04A06E62C2799072A319E8346EE80F9A0A2389C4B80B9A397C45BC1F0E92620455A1A04B6BED80B1BB1B78370992C5E41FB56E984421FB1E8465132A33D6D227C85970DF92D7159E6F59EB766C3511B84C85865DE1FB3FB3405D2102F1CA0AA4C1EB6A0EC90F6B89D783423D848BD70C8220C7F024A43888B9947D1E9E52A6204CA17B04765F503A887EA929AC4866890110FED0713A0479C6FB619C08BF2CB24E026EBC6151 + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = DDBB83438554C66AA9D9569AF53EB13DA65440E0B1AFD88B80DF59E767E069AE4C70741F68ADC2A674D66E1829AB7DF21BAD9665E5ECD655F756A78EB9F78D838461A03C1A6D1836B27DDA6D269ED65B7E352030401ACC8266F41FBA4E234D225EE32BFF12406F7F620CB3484D6757EF3AB69ECD675A9250200735826B630B72E64F21E3D84B135A35E1F4AE48AB2E80424C10BE6BB7AA78F8DF9C91537FABB91DB4D58428F6DE62364292141E9A7FFED93F16D1D36C3CEB4960E7CB8FCD8B91EFF75B027159586DC304051556E1401A6C555A804616AB2757D699BFB1E37426983C39F34DF6C1FA6C084FDC9C633B6AA331C5E5028BD185A4EBF3EB0CA4CC397D481F404440F4AB2AB7DFE0FFC935D91D417D94D9858F89D28B4900E634A5CAAADE9F149C6CA1E011EC684CFA3B3042F9A320501522B6211DA5F5555C87102DF37F17E4AD3BA55A37381D204FBA5711ABED49EE51F3985ECEA7E239FBA0E8A060A4990590795EDD1A936C185BF37AF9B95FA3E6294A780DC9FFFAD7D9319002D18794FF0DA59CC6AD9E3AD9D74BDBCA343EF694CFD333F87278E59CC445FBE0E622857F3745FFD8C90A161F7F49EA875BB1CB234C63AA0C55E530A72B19CB770FE91872A91420FD1CAB520EE922C2B6FB59CB8E516C303F4C74852769EF1787FBD7429D33B2FC0ADC18B23034736FAC59F926E88DF27D811591F03E7009193D + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = 3A0476C8E248067F0F96F01561CD0F6E55BB31FED70D2AD5F282F030044A331C6A20F14F254D1CA11EEE4226323874A1035C0F522284627B51F29EE43B291D24001C4A44C638AAE5A89045C141E16B562FC1893F39CF49BBA6D17EFBCFA4919A1C60D60CDB132CEF068A05A81FA5C374273FE366F4CAA16887C5AD1288BD066B741D234FF63AAE976E742F5DCFF610CAA33826A7856E5E5265FDBFA04007FF3F0F701850DE3E911FD71E00012DE9823D78E381CCBAF09976FD686811255423A7CDCADBD854BED848EE0ED2977FC192573F2F36C62A5539CE807C2B01AE7220C6139D1ACCEC6CA37F2C964BE922547BC692274D557ABC1E7D521D1215CC56260D0C7EF4C3EEFA6D54182FE1928D8179FD4508B8A4C7A3F78D2D0CDF76ABF581F0689D1BBAE1F7ED3A8AF23D687C369398C715F71377DA92A518EAE81C7587876691AF81B982340D71F3FF3836AE9E87EEF7DB14AFECE5F57E45746173E7834132F922AB5AFDE73076B67E446A0F096ED2BC87E12216BACCEAF1E912CBE89483B5E0BC35DF7C38F79F31C1567D16A321920B2D0E6F3637B2C65AC762239522433AA51EB34A2A174C93A693C187E97B3BFA4C8C9C7DD512A74F26EF74EEE24D3F425F0CC05F0A3A630806FB960437F6EDB2C31B0103B3933986BA9E0B2D26B554FB9AF7DB5454A18A8D52EA8445F6844BA7371511CD14FBE171BB4045C7377553E7 + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = 868C7566EDF719D04D7457BCA5CA9B4B62F309FBE1046A7351F24DCBE2E2224E34CC23E2C859E83B8B09E15FD575FE5225A03D1869CD1879728825A67008CBD1C7F0535086DE803A3E55DBAD1BD9998EBEACE9CBE63C4500B5ED3380153A41C33948E82E2D375E70E2A8C3F1C1AEAE72D000EFCBD7F9DA3FE0422AEB9A10B81B07ECCEE0C227947E7DD5E2B277A80718015BF5CA4C9B3EA5EC7CAC5CBDC79642CC0B547729A0956C739C956D09FAF013F402D764EF87A5027049C4FA0BD8EE8D77D99F3124710DB8B274B1F8878AD74CF88F21ABC520153B2668B79F824D74C4F113A66A275FF882B64794E307182C5EA6C96A719FEC5FCDDB619579246EFACF142F976DE21ACEB21136E9AAABF231706C767A664602C676EA46C70F0BE2A7F9907A484BD6064E1BF132FEE115362DC13566F763F4CB29A3CCB68594D9E7427F2D29B1A3D02520A81AF9D41990E04C9766260841E86965DB59B764E1867F9F2B4BFC6C13BBC08C4DB843982E262F75CE6F0E034B58DE6ECDB71A5E32E9F91CA8398EC286277B0DD6A518031C16AB864971C243CEBCF3755A72AFCC186C5D200873EB27B070603A6FE494ADCAC893162CFFB544C2B69083693A407DD92CB4F6B1B341EBE491738258EC5D109856BF106B56E6B96481B933093DC4DBE2CD075C5E3B760D36F3B92A286F91AF57604B70206C8922ED21006E05A271F1415F84F6BA + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = 49D7FA3A63EE1611E9ECEFA88F80DFCAD8D7AD69E6A899AD04D102885AE1419F8E9E6897F1D6937177E1BD8CA104A7C227B8DCDAD473D0A2BC12C1A2287B5DC66A0F808D02C452BDFBF5AC4F43B38105B5A9F2E67A4C6C81FE5DDCC1AD3EAD625B29031FD5F1EF18F4AAE15EECC2B6F5A4336E5BE3FD7D3970D50261FF6F992E5A0F818BE342B910B267C8740B7F331E0623B5793D4146DBD8BA3636D12914DF35CCFBEEE62BF3E0033DDD26114EE709A641ED54C21A130C8B3E1F9A49965E48B8AB914AA2B2A377DB1873A1882625EBCFDD1C366360B8DBC631DB94BFF615BCAB90D8BAB3C14F2CF4A6E4C4130AF4255ACF14B2B3699EDF8753C745F9D8DC23AFBF449A05FE05FCC83FB609856A5BE79B06E57D3E42531EDCC13B1AEB76BE54CEDF8665439731CEE4144CEDC0E8ACF9EE2AF245769D24DA6261E368CF0D599225C397C61A87EA8C0EF648A74CB1E3C5ED2C6CDB766E83BC68299B1AD882CEF5B436608847548141FE1DB303BDB13771EF19674F196EFE3502B14A7A47283EE6BBBA86354B88A8FB15187E0AC84CE0E9CDF737F62C15ED3A4A6FA0708F91DA2190268C0923D1E696B5E98251A6783479E6BA28336C39E27680BB86BEC2991D82EFB40CFE6985944ED3B18E2ACC7E51BB24D0F2C19BDE84CB271FDA6BBB5DE6B40203AB54CEEAAB0D84A339DD84108929663A50EF23BCF1E79909E2275FDDBE57 + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 815BB24A227FF0B94478EC10D6B4FAC313D56FD9DED13E94A57869D8BC5E542E47CD97D42F1387757539A452C5C40492DA8A4D65190AE36BF2E169446BBE5CE0742A1A9865126EA07AD3875D47C5ED5F85C1A7A57CC350E05A4DCB1F052D9FF4AED38C5E1D65C05C3C7DB8A9A6C00AE2B3B45FEDCA8C309B2C369A7B9608AA365015AF193F33092D084B2A7AC5CFCC018A045A1D89989FAA5FB16F854453D9A6336B900ECC4D9EAEF9DE4C6A287C44D0E4866CC8E4F8CDE5317EEE01113DA6A64B88A1469835BBA057760EC1D03D63D9CA40AACD7CFD8619E92739CDD72C9A11B0705A4E50DC386D4D378E624818B2D36B4FFB6DD1AD2C9F9D2A8BC4A7FB73827930E98CFA03C221B7C9D648463B8C2AF1DD195A817C0E986E8DE6C11371AB830EF74CC5E734B56C6C013350C1212901322BFCB0CDDDF13344473E3950C393466DFDB59FFF9E582E9B79F5938B0476DE125FC36FF74C03CFB685CB09BFF4C234F272D9B1BA6A2560308464CE36DDC0EB6863AD42B7D0490091C05A745CA5F288B303A0FD08BFF7BA2265B6C12B25840357DAC735CEAD9E6087D38A97421CD4E54518D7C0CF0968860B6348D1531C56C1B4F6B5C7771377194EF24E91F9D9DF96253B80009341E10122C14D919A037C820822A23E47620B35D0DA729A1AE329F99EBCC26FCD8CB9C67334F8B04714D2B76D5D0EA6156187C9017E764AEA66E88B + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = 47A1ACF4036C3A62A24F7A2E1147F5729DB886339C7CE7A9A6E7613BB60C475724D573E64E4027F296023E762CA20F880AB6C73142D3D1D36C19905BBA147317880DD9210A75FD7C552076F2419432E46C858E69B7F7C72372BE510F07F21977DEA627514F6ECBB34DDCD6CF5D86B01BE3DA48481B25D56071CEEE2142A9956AAB4760666DE359A36B8808D1DF3F3C15F22163CEC7C1181445DF7D06E79BDA799A6C4F278968B677FB78C8157CDA2FB7447ACC2D485E6922D82E1AF596C760FCC2D7D83A6A4B52400E3FDF64A2A7E4D9D9C59930579D4516618FE9979B10562B35F26CEED8D53DE5B322B3BB4F1B989EAF31517AD896CE3E57F879D6DE9D4A847E4F7C9EE093D7AD482D84D947CAB0B6619D8895FACC2DA8BAC086E054B3ECEB72689DF5730FA6E51F98205B1FA5AC9DAF82A78867B655B39792C686518BE3024A5F975E97A021F64FC75014635371C9DCC8952F2B5404582855FFB049561F3E20013E74C8A05FD434516218CC6E463F62515B454B358C611F2902B9D11BAD43862497532DF84DE73A02054459B79CB956E6DFF229E8FBC8CC558D666E10660B87B9B0831DF729CD87A22FA33891D9CEB2CC7CEEB1F316600B9432346D1FC211CE1946946F33BA59D6B53F9208F8F1FA8362524448CF87A851CAE07D0CCE86E594B5EACCF0B4F10F8C4D414AC194909CFE526CC87FCCE1386C7F5537D10352F5 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = 2F06C83D5CBC776C9E2E490482D92BBD8D32B07B1028E046582DD17951C13CDFA27C065A2821D997F37CED1D3F69ED8A8EEC35A55C1419B28770800A66A8CCC05332C64B0A310A1F4A99EE9A18ED342CC03A89193BB63849A6F0288B29B0801000EC0E3961FD85E6CF488031F028232B8FEDE6827C7C24FBC33A26A87A9B6210004038C67EECF0EF9D19C3DC8FE2C7DB8A449F168A98CFC190043FD6E2FF366CC35556192E39D1664194D6943F9EA5B4675D5051100E1497C1970C2927506B5B717D2DBFFCC9F62A0AC338340C8C473B397B98812BC77202A67426ACB83F4A103687425D9F793312570FF6CBD897733CE7399A3853887918A9EF8D0BFAC5A303B9E66CEB5BA52B826EADA8E5E158422A6D42F89E986C30F9D8E14C8B3FC7DAA5B012452666612ACEE1884C069F98E476F89E74B35EF94002744108A0EEFB9A9992104973E1176F2AE0F560791B9486E7A27C75BAD42054047E87FB95F43AE211FED7E3948745624F8EAE4A81CFFCB4BA389E169C9B55FDE64DBC31E6287144D0803EC3F0E5A86DE5FCD0CBEBAAC40D7103B3C0BCC8AFDE491B25AA472BEEF91D2AFA59D980EF1A833002838A2159C0F9FDAE39489B6E865ADDA3EA6DC8E675E45A45857111A2EB49FE3ADCD52EFAE414B6EE423440419B310E3CF751F497ADED9BD3CEC9172A23FFC878DD9FF6033EAC9C4CE7697BA9EEF60B67665CEBABC43B + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = ACB6638C5302BFD244F9C4F1ADEA0461562CDBC92670F2C0C9135BA8754BFFEDF6621FB48B702792F71AC3B800BACD3A18791642865247B75D086AE816CE17F6D0CDD63D0A2FDBA9C743FC9E3273E6834D21F12554B977A146906682B5DFD85F41BEBD1ED03CA3B67DE188A0547493753465D76145F5F860EDD2F8F3C09ADEA139C3E057AC64487962E3EE38E1FB9F29BB5FCF2D70993AEF47E56A26C70D200D357758A4B34BD9327DBACF987754D805CCB5D2F4CAB0E238DE726E6FF78239C0F2E020A1FE4D4F6CC27C0747ECA37B4F72A110B3B8715E3DB07DBAABB0E580C4F20DDCB7ECE60B295211AB7CEF858153DBF3F8D0E27F621551B317534E9680576D629C5928F1A03C9928A93B67B4FFA019DBADF9AA71D37E79D40051F6BC6DA2D567E3E48706346275DAA4506A0CE668C2D4768FFF917A11E4C1726842D315DB4D189FCF686C8BC1061A63FB05A73720088C9FDCA783EAD1FB390ABBBF0B6BDCC775CA9AC32A1CBBD66BD80DA59152C97E295AB35DDEB7048B975C9E2A794993852F31A18840528D2F297454598A3F31BF9973B9CE54D5E2A8012EB2CEE9D49FD8299DAD5BB566629F6EE4EDDD71E6D08C223D0A1F48BB804096B24BC6DA27B80AC2EADF7B7B39C29F3DBE556AF66463785707A23495E2FFAA815640BC925230DDE6E5E545A7C414543D55CFA23330BE5CC1720A816E4064FDC0BB45C0D9A426 + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = 2856032A7399BC2D4A4D43D7DC024AA3040ED171982042E0D1A4063B6603526EB4DEA45FDB007AC0E61043A11A502D4C49440C174BB183979A5D3A35C593E1A01886C60472D40D161A0512E3372BD5F8D35A217391D5AD14DB17EB23BCB74D7701286A158B03A927CFD03C4062EC0461F8C9C3D4B8DE0D70CEC5EB018375E138278ED9ED366D546D896DD885DA0C3513C5AB7EFE2ECA848B270CDAC3D2FE7E14F3DE6848FE01D64D841F198C85CE57E16B06FF41FFD454B6C61569B71D538CE5729DC5A5AA1D4DFD5F1D3F4CCA0F424701E8857EC66C8DC3D44DAACAB9D05626751240E1E8F1ADC1E064AAF47C66D9EDB0EE114A6155E28BF4769F88C053313792CD9BB2D9687E595D321E152CFB42F67EC9DA6E373E7621E4379A3C22B4828412223AED28946784CF67B6CE99918E0C1217501624599E4E79E90016ABD265E21E91205824B7FBB95E9ED999C50F90C5748F83E71EABB66DC2C16CAB63C064BB88C865FD30EAB8FAFE0529312BE74B55BADC4C944C69B89D98E7E07054A0AAC8AAD91F53582B91CB22A56741C41998EC878B11671AFC9DF26B5261BE5EEAD565BE962E87A40A5200A0856123ED7D248431EFEC79D7932407A7D762137EEFABBBE0C6C482CBCE115FA9CB7254614DE54E361C5CBC4EAC03757B83F4E4A96BD47D8347ED5E2C9E96DF3F03A9762988D671AA75EC9F3B5E833570F13CEA7C323522 + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = 6AB8F0F45B860126332E32AD1819FD5A23DFEEE2C7FE47081AC855901D2DA3F590FB64F989EA616FAA0533E49A3B08589FF2DF8B8A27BAE25A23FA93710032F2DDEC4E3F905CA8AC37CBA1D9D225B2F62343DD5418283DB7D6E427EF537650944723DDD7DFED6394BA1540B2FE72944C330CFAEF76A9CC3998C1B6C38A83EA71B075F1E65C9209BEDD565149137A4BE1C640F4EC86A556B196BDF14F5C336418DCA1330CBE1781DFCBDFC26B562025C9DB90461658C4F1947A1B1374D8120168A1AB8D0CEA7527F0503F19C4605463CE134CABE1C72866F37EA2F105D44A3F2080DD42DA509ECDB1EA8C0AD439820D4BCFFCC5C34BF78CD8BEED8E394567A78864517CD183EC4366249FA9340FE4A112DBB418B32AEF24426CC95E12BD243F3BD4E744407F3B461B7E8C7FF096F2279962D60E778E1C362A5F47E4ACAE0561944BE126C8ED384BA5E71F8C23FD914D525D3AFFA915CEBA52CB3B6265E003D6B2483C7C331DB0F56EB5F4D0B4A7DB558A154E34F539136C6869126FE3A7FBBC07A92CA251A6ED301CB1A8415FF16CC28D1482FBB7A70DF1EF2D5AA55A084116577301EAACD88BFF5139D091D0BBAE55E31E50FBF28952E7071594FD81B626FA4194D97572058F217ED070B97ED42D8C7D9DCE730D270A01BF847929FF0E2190446D82F93D9C2BF309F836811DE1E4700D9BA736672B407E539219634F32956ECC + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = 6E9D7E55E8B258208FE6C1C50CE490BF81748DEB2B4401800C2423E9479AF3BC1B4C37249A2DC00F120DC5E2114ADE14C830437D6B0190FEC5AAAF57D4E9C5078B867B2905D48E6748E85CDBB3F1995389AB373014E6237948B8343AB418716F0E9971DB6A179B11277ACB2DF6B6B5903EBF311F2D94B10C3AD0BEDF2ADC7486929C8C43CF0ED6673C6468CF69B493C9EAC2ADE0AB3987179570886A28C08D0DCC83B0162A8D459680FDD2422C2C40A44E3FE55D0AB24CEADE4063C995915794B0C842573E2E7C4BFF8E201D3F9B3E8F49D90186AABC9DDC6110E98E3410617DA24FFBA5A7E5C3193C16B70CD6CF919DD6F15DA3627F42B6225EAF4BF1851A570E099FE3B8E7D746C34573A74744D42135332DAAC9A9341E598C714FAFBE052F7E745BA1D424CBE0CB1932A9E497D2111AC597F7E5010A86567C51218451EC3D1461D1D2D54F5E8754C854CD4D60972BC09482084AB865DFDA01D1C7AE4C749BFBDDD19BBCD95E8A53009529468BC4C47D9015A119B9C37DD2C149C65E6C99699C69C3CFA405C65E0E51A3585D35EAD701FEB58F1AC72D74E87D2C65FB072C11B235FFCDE39559A45F881DCB292CAED95B3AB6E0E468F86A235E2D83708044D75E768A2F3EB13523338761DBC38A8E014052DBD46A0064AE0255BAFBA6A0C8FBFB40CB41DCDACBC5466787638B901AD452D7D50A0C610001FBB6F126902D2FD5 + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = BF52ACA76D241CB569D39EB2D8669D1B2642C0CDB8B141E87C3B1BDB1F202641A1600AD388806BA9F5DB50A7CFFF97CB23EE977C0D3899F414FF5C47D689840F59E7E7DB2EDD92AFF3FB36FD198E7BF5D81FA279F743FDB6B9C00E974065802903DC40CC3E216FF727A72F267624894F114C62E7B101D9DA391E3A205C7B492B7EA28D836AC6657960CBBE4C38A73F87EA1F8A155A62C0A5D5BA821D9ADFD42BCF42CB3150267AEAAE507A4009BA8DCF70A13AFEDCB2121503CFFE786304E3AA980D0FCD7C908406FD2CD9CAE45DE97414647DE04D03C1214C967A14756830AFA6F83AD91CA66D9DE50B8F0483F99572A284BF9468A6ABEB45F335EAF0782C04563DFBF231956BA4575DD9BDFA10E2F6DF8878415B357867E5C22B9CF349B480DD0CA1F7CD432FCDA057A5F9AE580814A7CFE843FA831A5CDB87646BCBE70229A3EE7CBB3094E591FACC8680F298E10E1383D3A6387A503FD537A6ED924903CC9149879A95A164A8B3BDD385A69A93C58AACC066FBE4E59C7F6E16C00E45BDC19EC267F7684705CEF34D830ACCC03822EFE9C1B3903C47FCFA91FC7A7B58240765EEF217341FF96F0D0CDF5062D8B1939185C47FABE5498A784622D1B2DA0DBF06DAE6F661206F98EBDB257BB2FC4C86EF6E7C6E31E7756C8CFE7C4842CDA9878D6257EDD7F204A009A9E1A492F5ABFD42B48593231324728F8A510C47F516E2 + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = 08E74B227985F88B7C1884A179D0B9C9F58BD2078F8938519F460511B00003E51A8EF4C93F69B716DF11DF2839688108ADF72476D1675E4DF3399C05257B1DB542D92F0E27FC59A927F00C4758ADA0FD95DB9D3251C01CB9167B2D6310E051407A2EAF415A2E478BE53C3945A702F04E25713EC2E2E1D51D636870642F6023A43FD0859A3B468A9502A8EFECF19BF97906E199C095464600B0B7A1B180B841158C6C98D13C371F7AB56496EA14CFF3110AA9D33869069A1F9215A6FD99CE9226EEF5A272B004827DDE0E1B1BF4B0C0CBB670CAF16B1840C6E88E577ACC2ED4493C598B938AECE1824717964048786D9CAB9ED14DAD9F87DF1E9C374010D89D4A8616CCDBF687E12D7CDFB388CBBB88B56FEE3AEDBC5360088A49FC1B2E1DD5518E0E00F50E3C922C8CA600A41F72B985F02E32A1F9A1FEE1E1929F5746FFEB87EC41F08861EA3463ABB9803CCE8C8257853FDC0B0C077D4255DAD1FA9E5D865C981BA15236828E7E425F5DACC4B738DE18E6C68A6C925B72C14E3042916117E91CB69311081E4E845B09679CA0607BBAFCC1341B283BAD5465633073E5DAEED6541B1FD09537EDA2F0D2A51CFD8715D3064FB074B52D48D4E7175B4AD0A0A6084128424958275068BAD56B5AD2769918B6AABA7AB1E8C9F88859B3DAB310FBA2FF67BDD3FC9E0B2EDDE0B716897220AB75611975E137DB525DE4465ECBB2D9D1 + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = 3B3E210E0FB73556801A2250F1E76C45DAD31E12F9EE3448640B73D5AFD6D2D6FACDC1B0CFA53F46A56923CF16B6BDCAB566F3A0105E442ED7E88C09D705249BE34463D435C14D5118A7E028DC35FAA98112F80D816ABE04F7345EA55E7F7652995FC047AFF6B8E4D05C24A0C78FD9FD40835E523BE7867312630993FC9E5CBFB47048453C205880EEEEA2ED9A198AC145537BEA2C216A60774C400444C07CF6546159EAE47FD6CC79CA43D0D26C79DD13F39748A696F181984B5B8EAED82976C9B0C63C915BC2A2DF91139618AC82E4478EA26F9731D422C692AD1BCF483936D99F65CC8E5CE20CD94ABC2C4176B668D1813AA3ED84CBE68B8C982A8F884671CCD29B70EFBA765CB4BE7D0D139798FBF344D7D1829F3AFA946C3558B4C958A9235E4E96B28BE25641120E00EFE178304804D90946CDD1DB6229C0147339A1F75FBEC606A3B3FDCDDD9235EA6BD3F166AD132F8C222E45A805D166F8FEC56D488A2AB66737E3238E67419E194665DDAD4D8214394A4DA1AE09E0EC4EC5B209C18004F4008ABFE997E456BBF99F1FD9B31E69B934BA694ACADDD534E4BB4472179403BF9014A9EC311B16CA2900C669A8981BE3B5A8A9D3BF4D05028FE6D3D97D54B9BE443F9B0F73E59780D09AFC937D1F36C4CD8CAA1EB2A8522AAA175FF2E4A3285849C059991174BEC1BA6E42E399C4AB0A566BFBC09CF1B836BF42138026 + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = 615FBF41D7184EF0EDF7AB0B079B76A4A7BF2B10A79A2FFE8D22E2F0A8B6280559BFD74E4F68E7691264A5B4651AE0EDC504F6AC0677E14389D92913660E75626615622DD458B7CAE4EBF1DA4F7ADB0771A809BDB44E918F7D681711EAE7ED84745A1E7F3AFF0931162BBFBE975C394AE6843CEAD454A00EA54DB5A55AA845413EC88BDF9119E238E6C84BCB76342FA8BA1A448AF7CBA6D0F1C964EE981AEF20C5268BC1C3AE3F723E48D1932CDB14B95629DCC5269F2EA77F277354BF910B05BDED92D6B8BAF9601080156EF0D1600E80D8050B99243C64221E9B8AE82773C6BE95829203FBEE6CAEDF299509D6A2DA570320CA6410E9853575A342F9E9AE76E27E1B0C892B2C932D80AD2B91A8D62D805FFDE196DC1F169D2B9D51F28FAE6546887182B91298B7B2FDE472BFFD86384EE1B78B4B5654F3DC38FE4400CEF50338F1D79B478C6781ECA2130CF3A86D9124C31754989A22F022658CFA62833CD5F25A021B03A84A7AA3F8890922AD179D589E46B535B0E6033C8383CD6B80324EF8EFB3BC6CB9CF5BA0BF5F6B185B83EDBE3F0BF27A9942FA87D172A5C9294BD63396EC8E1A5C7EE0BD7DA1109A69E2ED928025B8383C55C6EDED0BB9E23E15F50388209B3508FBACB7DAC520E0327F2148FE27450D0C5C06712A45011C95D7B02C0E0F15BF8C222527451C1DA4AB70CF649A025F8C95CD919E937B079F364C97 + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = 8043574AA03D7C6409677E5E579FCBCE191118E2161C214640D725D384A3D941857498CC75480574F9BF4F7613241183B7B1354D4D08A9AD1AF03230636A14D40A30A1CE8D1DD9CBFFE41011E40D3FC3DC1ECCB83374F14209EB83BD16861E161882CFC86A5332BF0357DE84D38CB6FE65FF8EC3C8A01EBADAC09FBE960E5D55F752878A608B3E67EA840503D59B6625B42570F74671B4267246995B5575294D20B6E693D02395AC5329451F905B14D7FFF86A4401F78E6CC7B83806C19F30AF6C75787F56222B9FF673F5631165ED8F20DA13167F4DFA4C53476D7E2D7F76F4EA6DD77072FEF26AC3AC7F65EA2C4F113897D4F00ED38CBA8AB162B1BC3151D769D24A42DDF88F9515A04E3FE57FB4ECAAE26F608FA6A0E30166F5A12223C10ADB56803343E938EB88C839EF9F91FC7A0B9DF899AD3DC328166C8AF33DE8560EDE98EC371A22938252432FA57716C4058B7CDFB1DD7F5087CD45EAE5BF1A4C3AE03C19CCB580EC122DFD54DD2106A4E5A647558B24D15D30CE2FCA05673F8991003EC61270F279B7C2DE67D1930A5C948C9259D4E9DBDAB2D94DC1E1403697499544A1FA1109956AA22DA488B61A97E933FECAC59711E1BD5967DF18130CA394FDA025BA334B2857A1EDECB002BA56DCCECF9044E579143DC47BE03072D935607DE1E674C955A63508CB5D42AF7FDB80459F4A239DC78C31097E71C06924092A + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = 2ABA810B7512B1B3B179995F76F843BF39FEDB5B969267D5F545A605ABBB3F627B59550678B4E3C3B8E0959D5907F88B814413A5D94B0011FC8BC445096CF1B49D11FB2A4EA1EF1F219F7DDEC03B3678F2D95DD8FBDB7A1604AF0D8A5F3DC33E257A54CA3EB50C49C03BC55545A36F807ACE5A69F2D7069D3530F304F419B8D5DCB80890036299465C3C9C45FC49A73F9BE6C869113AC03DC5DAA116BC60F687DF7DB354201DAD9CD841467C27E6F0ABDF5EDA1F8B7646365A93BA71E1FF6C28D83AB5EA309E2C902A6A1A6396525A97EABF4F69C56B3527811046674F99EDD2779AE353654982A10C22BAF7FDDE401CE67E8044539995F528B398DDDE5132FC156E5587A9A3B3D5329F8DF4C55E86F3FEC30788D8E00DF696CCC46A564F2371932E21A45541315D8C31DED3A161E0F595EF47F8FB1DD7F1B57537FA36D105F1AD0E60C917F01D9C88FA0020349CCA8B01D77AFFE23CA4B575ABF1E42726B271FE77FF0FE81A8A20C06AC8DB699AA2E11F05CC5E9BB794B7E1F847F411FC4621281D257219709D38BA231E7060F745FEFF6B4BEF5DF477A24ED763E2BD49929E6C8C83EC776BE988A8528B1FB360BF5D7BCD654FF9A1CFE1EBD5F6F21954F155B1F6ECFAA7E6CD4E52D9B08C68943B29B54C5628F3EF3A966A94FA964A5874BD2FDAF65A663743F07EB0D6B3B3427DD419C8EF627675593728885A3DDB1E3C4D + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 3582DEF5C0EC3C751727CBDFF5D9561E3A0F9EFFEF28C063461605140A2126265FA88C15B9EA3AD5CFD82378F78AC98BAA5ED67969473ED9177EF14F44BA210BAFEBFCA9C8DDA7E1AB5C6881AAE8EE0C824B47493C38EA7B5180323C7E962ABA1DE928A0ACBA596B2F8B7AF188265EB92C5BEBC9EF0A41F692E4B762990A40866AEC96CEECB20EF9F7CCBFB83A85485163789811FED7B8E0A43FD15CFA4BB13099F3CAB95791F8B05F5027672EAC2D397FDE1CD7E06FAD506CA1EFC22AD9CBB354D98BE5790B4021C7AFE6EF25D223510664DEC63D35158999C9CDCC513C8C7E93175A677A30259CB280ACA38FC7A8997B663A29EBD98D1C35F7DC1DAABD6770BFD3B84F1C0314E67F14E7FA9A881C21BC0E5C2AFD5F1B14EF4EDF9AD382F7D7E008934EF762B41782DCAE9B64448ABAE73D5A3CC80094B4F9983CB92D61C3555E58C0D24726E8073C39C3480FB2BA9F8679B9E8618CFA04921741B3EE72A276568068334E61089CEA277CF0D34EA33E02095BE33202EC69D2314128DDAD63F001DF3809BAA75E3A5720B34E8C7A63E06DA419A4818E48B30D8B0AE2E2405053C9CE76AC45C52EDEAF6237260F18940F0300125CE674BE744DC2A07262A146CB3BF595B59EB499439D94F8135DE7E58C0FD09744EBBB97BD4C10C178904F52C7481B4D808E663DDDBBF3235844CEA3DB323BBCEC1756BC4480C4FED0C14E14D3 + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = 8C05C9635942C0661C29CDA0375395B595A82E4B1EF87D767E5A820CC6975F2B1AF87B76F69DE5BB9B77E14753C2EFEFCB735601DF5CB4DDAF5810BB89AC8863379192C578A3F2FEA30994EDF58F5A995857AF481FC4FBAA552E6564AE091C3EC2C5FB5144798405972C6947D45696F7E918D6820274BAC4ED1E721E85EE688E7EF7E6B4C87CA94CB6AD3221B5B0189D2F39A5482FFAB8A928A8FE4C117827E33E9C8B024BC35E30A9475D54293F196C83EED3B458D7E676A48D2BC2E09AD96167E556F00799E63C8C0668AA3710769C6533AF4F04816355BF4E88A2EBBA1B442BEF0BC9F7DD85A1FA42745893CD1F87614356E42E897821BBDE09CBA135ACE56612AD79A99A3397D2BBB6FCBDC505A0372DF7ACE31B53231887A618E4E846E3E458078B4AB9FA4D6D4D118F16EC8AA376B40CDD1594C0C41FEE2DFCC866FFB1F9B8AEFA04435F895B6D73E2FAA89BFF85FF14C133729B3789251E2A2CB38B8D5F9E6F8F0EEF26FA1A17A8255AE9EF58FA4BA9BD8A8FDE46ED5B0CFE9BFCBC20BDDAB37812FA44B0A1A99A6F10CF0E6BD931B6AFE22AF298483FB4D45BCCE9FD79C5A9CE2EB3359CBBB4673E0FEB2D1677F06A15F0938086DAA9CDF2B08FEF130BC793134369D4344D474F93C3C9EB877D0DE0CFEF351FB2589436DE6247B51352CA913C3E774B70655AD48BEFB6E4D494A6E610CD968E8CC613339D789C16DF + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 84E7658F462F68915CCCC917B3F7A01F18E9E883CDA1FA6C856E2D3B77C53B9E9C3841EF72295CE3418319E1DAFF2F58AA0CCF89C1107C459B505A46DF314E670B51753CCE3701822C4FAE1F08EA93789FAE1A8A61755FCC17F57C8C8E344208A299995A3C3ED6266756D17DFB70E67F27621A6AF9EF926ED36F3CB169C9BFBB84DF0B2C51602902C12F519EA23C3B4B8BB2B1241798F72A748C6AE4E439CF4FCF0FBA17407D1366047B4A8DED133DA17A5CC2BCD4E9803DF6E5FC76A732EC64CD4C556DC97C8E8BE5BAD0FE5FE440E462DA16FB1C7B18A97F58DA4B5EA9AE8700A3E2D1325EBDE9DBAD97FAAD13DB86D8F438588AD1E966E4A7DABD0BA4A3907DBEBD2B2599718B885730BC1D7491A0E2FA468F29843EBE5E551E0CEFD21F85568D6A77B8515EF42908360B57CAD79B0004724DD117028BBCEAADB514D45D76FCE77FABFA64C11B9AC2BCB830F77C79FCB67A71D669BF7DF2F3B7F5F9FAFAA9571C1F2A03892E6BC576699806539AF01C1A840D6B168686C5F0874BBA3EDE49B161719927B5E32E4F19982D6D32A0453877F08C592EBCF7AA323F78A66EE81CE5297E3B81A01EF64FC9454FBEDC15C13A39F6AC8BB9A0CEB14E879181F72719F325B8EE60B3CF56CCFB42FFF90CF1FC987F4ACD7F052F137572809BDDFC6D6D0A7F082F9868F3492924F8B9BA5D924C961A4B9282F312916100AED0966523C6 + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = 83E17CB699843EAA6308F12943513AB4E4912203026F4653EF6711E5968CFD2CC135DA5B4E87707CD732F538B904148B0A50BFDD3F72155D85A22936C2BD38BDBD2B13145ED531E85F2E0319B6022E8F2115E6FA99E8D92E8AB418A84AED36D574B82A282099DB5FBBCA069589A3EC308E76B03C8F6C3C5CE11DF0D5635740384A22F9047C52F8C561A9848F0104167D8BE0A4BC47BB8A6474180BBCE3EE691147B74DC57FDF56420848DECDF3FC5A06648C1C42A0172FA02DF905F8318482F8189D5351751DE1ED5A63512AE6A4C456FB7D55F83142CAC479452879E71FC774C9BD9FEA4560ACB7786CF56FABBBD3881BEA980061623645BCF1D20448ACBF69FAD1030008BFA7298FDE63963386AF5C2B230E9E367B78C4B172B142C7EF43022C866E975F71128719DCBC2663D892C6C4D888E66C67D9E767AF52231B93DA9ED7895B4B015D9D84623C3008871B95382EC788FB58222C4DD8834054C694722248F4A7D0A77E4BD2A5C418BB5229C0E2EC9ED3E03E79E3F824C2C6E1EECC72A13E341F46F3E30085B3A3FA0C55F59C56CE150537E305C37263AED88D8EF9BF0CDF9978636E03E7DEB701345D9442725664FCB38EDEF923CC11CFB94AE152D0BAE72E09A813A3C25002FABA1DBCC0BF5102BC466D348E6027F5AD72FF9DC35D9C27C4C1E5DD39A647CF24269E6437FA114C74B6C1604B906C8F5ABA1AE06B1BD9 + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = 2BEF02AAAB7478A7F4B6E3C22AA5A979BDBA90CE91A42782E785AD6D06F82EF0017B54C408CD7027FB3057BEAB1DA1B150E54194BDEEB87F65EAEF6754AD8E00EC4B3F98ED2E64B85A3907B353D68614515A2A2D110A1E3249286377446C5339284B3C3EBBF8D841D49A34F7C79C935A69CE342569E173D87DF08B332F45C42C9B318C6B02F4550058E2E0697F1E1E76DC0DC78F1DEAF7A44BBB58152964DA263F633F09FEFE2C62F4A482209FC9715B0C424221F7BC81C67F438D920E7D9CEF3D98BAB3A27AB5E136439DA3C5B8774C01E6906416F0D48675751174F09DCD2185AD246CDD351414B9B5591E500B29AABC046F048BBD5776DA155B13A5970F26B393EACB372BD28B4934A6F252BC45F7217B29FD77A1DECCB20B060C9858A98485671E02ABC45DCF956255E52B5D21A59902A33425BD6853D56C18000F5D637CDE2F109EC6D9FD3C5427E6BC2468A71CFF6C57476FB1A850DF304645C0E64F969A541611298E1B19F95EA628937C2ADFD563FA309838EE470FA4810317177D61ED849B9FEA54410C877B1C5C59625AE5314E823CBC1D3DD79BC1B6498E22F7D15328EB55D0823AA19F0922BE4D6F545B8A2256EE141EEBD18FD1644368AE4DDE10482E8758E4865FC1845CB50155F574E177A3B0A446361801C2847FEDB035EBDBC0C7A67D216A4EAA7E04862D6C09D3D04693DF25BD2E3FE0A43AD80A9212DA + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 824271A836FE959710453742E9D957981C2CFA672894C8A886F57F79608DD62FA4310FC0582528E15CA09C7A92D1084D45ED2A3020A9A2A10C2355FDF052EBAA1007B0C01E1CA19D95B1B05C03167923927AC26E33ED6A823C72D105A2B35085926BDED8E59A49CBD7C606116BF560FAC1364C7E5860A919167E844086D648BCBDB5F148CADEEBE2CA2D2C34E9BDE155DCC9CF99DB22785D8F5327AF41BA93AA1DD59A25F26615FD6EB6D57FF6475FE10BEDDECBD16CE84096CDC6AE5A6B7FAD0BFDF6E8CFC974B082A3F0C6D8C5B25295A81BD2650446E7447951F7002FD2F417F4F553F2733D294FF90C629EEF9FAF0B39DC9CC4EA6B50D438369FEC506BBC185D37DDA2EF1C6E7079B09BE893E6C1C62C24E6296C8CAD9921DC182F23C027CB753212E3EE41C401396322A43F4800C48ACDA4A6198E40B76F0F6CE78354BCBCC33017FB30C33D7A90AF566F4BD3BC2CBB08E800BBC7F309D749F9D2A352D9B284C358FF2109BD2C2CEEC6E85BC16B83A7D666E582C3E3D39A6A92C196A11A397203F9C5613E2ECC8B2B91C229FE785040A17485B3DBAD2B155C270AB2A510CDA80E99E1A79BE01C7262C217DDE69D068753F9E44A3B035E10BB7AA53F397D7A1EC95342DDC973CDDE9583B8348D832B976B255362240C5927D24A00050F970334AA404C531D93621516DAB81E0FD89611C238D85454C6D77F1AB5D7B2C5BB + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = 3768C48BF02D0DB9AADAFFFBD228A4119AC6B7A815D9C74C714EAC4B4BA4A062F7E9962B98C361A6B596838C671C95892FA4E82A95C60B9E8BA787158808C2C00BEA3BED0AB4846FD57E638DD29B2ED47DF5CD19699329626F6BDDD14BB709417A972AE8020D05AADFE12034A98F9121A191926566C499C536B2505AEBB97C9C49780E5E0007EE5596717E7BE42D40DB322BDE5B7FD227B15987B599C71F1F20EB8BE722DDBF3C76F9EA58B490EB11395BEFA02C259505F038B40E312B5AF1519BB6DA9E99E0214C2249A1E8C534D768A7DB9EF46970A64C6E5F746B7C50670CC8E7765C4B55B26F3A53E4C3178F9599435AAC9B96A203CD04988D1D95E1B5C29F632ECD66204B7BB2B7F776F2DE67DCBF7F0A81FFA1CD18506B8FD9DBBBD354E3CD388F21EDEC9A4EB319C766EBA3E1E8565B0CCEF3698592E19081472004AFE38FD8B17E6D1A5AFED52EE44990598CE17E09DED65965A380E3452CCE6D053F22F1E8CD24A76C74F6A69550C36B43890C7E239658B7DA6DA768869D3D96333BE7422AB7C2B5D90B2C3973D666B4E399A2C5F014566E3BA919AD1964A148DA2D35476B17799B82EA54AB6CA0BAA098D0734081C7D52B7DA8150AB3C1B8DD1174418700C46036E3918E5A21E70679D72952025FB52E9348509B4F10F412A8C8C11EF59D57A3A77C5462253C87475F38911AD2B08732DBDDCC6D6A1B438896327D + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = EA94DA7FEDF4B2296823EB57F0FD81468F4476E6F9035043F84BA952015AF88E68233219E4D31D809A9B13A703EE6E99C230E1E037D777FDC6B4BCE3F81FF2E7A15B9DAD86F4816D1ADF0F5C34E6EE2FEC26353444EFC417BABE16C45BDE0CB3B06ABD19F354F5BA5298CD486DDA4C6216D4826C3EB1B221C24A63BE7DC751F8AB5458000C28937809359A4C49200949048156D48D537466EFFD085610F221454ADDD95519071C8A671EAAFBA7B6F894A3274599C76BF0964801FA38B601869D4C04EE9FC6AC7E54B4A6D8522912F5F3F2A7C6CBEC20FAF1E164388D932C5260763457D27525288BE09ECDFAA1A892B99AD0DA9FC1CB3D60B1B85DC953CE9B37711AE6BB82A1F96CF2479155BC3B328803D1EAF56EE0F02223BF167FB33E6E7190F41A121DE59B9FE9790C8FBBC2B1B77ADD9C316D75A7F4DBDB52DA2EDD9D2356C6AA77A1CECB5330ABC382A748C8972FBD78315DD2A4ADDF335D18D5C97547641F6B5ABC4C5F166265D6934C77879A5B4CADD27A8A7F9F817ACB1307A88970D29DD929D5B03A71D5B863A997C84D01B58DBA539CCF6693B6004812727B254D22480BD50C5E07F162DB59EC112E1DCFF813BC266F704357202AD0723B373BDF49B1EE3D4E24D942D2E8F95E41FF496B9F4F535601980366FA79B662507CAF88AACE17ED6498E6DDB65C799EA698C7B8A49BF48021CF3B41E96225C43481B7C1 + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = 73E672E46B274D309899FF2C8186AF4A9F42872135309C85621347C55EDF8D3B5A7DB51B0242618AB6D750EF75CF816C23A0DDFA21ADC9976CF47A6957E914BAAB02E4C2DC809C0D2F67FE759E92D7755CE965EA4B4045D6172E1A0C749B4498795FC375AA6894118A1BE2821A7878D25F597633CEE5576B3D15E23CA7D664709ADA20E3CC182D3004B102BDCF5566AF522C5511049FECCF80D4A6C21D7CCAD1B24DDDDDDA0DAB0C2FF40E056D0A715A31DD35679FD4A4CA8BDD17293F7FD63319BB5B4ABD3698D574BA5D36445E7FBDA9EAB049F6A8B277C0593949DA84805036B776368566F622DF37FD3D42EFD06EB1D5C1C2847717F51D236D4317498514D95E1F4587669CE819DE249EBC8D05D55E2C35DBBFF3C017C7A8D55B1B184ECF72F288948027E2AC2CBE6589B351437E185A888EA5AE7219B9121E438EC3CB397133B75330B1418AF085E7B42FB4C3B0F41A95BC6583CA7DED8A470E2CEC237013DF9CBB866454F276648B1DC0BFDC6BC5346348735764F19F08905F1D17FDDD454BE1B0E8DF34879B4E7709BCA044AD49A14F9EE971283F2A20CF6377C648E9D85599FCE482697B8FEB218418B1EF0979935E0F88EA5A2D38506955532A0B9DA8AC1E7641622DCA9F2E31642AA41DB7FC73328590B69459741998AB90D796293999BA8A2111DF20256D2FE50AC6B0BCFD5EDD61C260512EC357E844596EFF10 + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = BDF536D8B28E91F00B710DECD109897B4E96882AEF06337FE83B053EAC20CC54523D246C41C9DE3115870B82A1BB2EB2B1E02CCF7A4E607BCEA3DCAFCA38F237DFC72D447CF8C544F541C1B53E7769B0CD6F2EC6D756891DFC818323CC1E1AD565F9130F59889798E418FE5FEB176E77F5FF8F10C6ACDDBC59C8D084AB19DA2EE5B737E537609BFA6F81DF1846B033663D586CED1F4E86D99131D37EA5807881D2DE749803E333AF2C360F8EE9FD99A166F3FB8F0C50BEF02DF50EE615C08E88299A1F3CDDF290A3BC9E4357F3D93D76EC5DF462175EDC5DE421A6BA456EA7C42ECEA24EEC74011132C27FC63F1E969B474438222C7DE33762F5377C197DDE9AFA9912900FF25373EFC3A3D023E091350D0D269BCBFF64EF35E2E1E1C300214C3671932CCCAD7C871FEF4C969B34CF6E8B0881C2F7704B455F118E3BD37A74BE89354D8C8DFCF649FA03701AE17B705A865C7CE9ED81E4FB374EB643294356EED48B3579315BCB32CE6C7F302ED5BCD68F2183110EF7FF60AEFAC6BFB8252BC66C0F4026DC37EBE4D9783CA7459394E929B8A83FD8378D9E097AFCB0A7163F16E5579E8F5546898C4B521264CAA006B3FCCDF46FFADC1925752EF47DA30F354D66F763AAE46A0BFB385FFBE153641569E5E222F374F8E21EE3EF8D42663A4C424803E7966F2F0A1EA723A06C92AF2393C8FA6711D89514C20B6170DCA448FD27 + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = B5BECCA38D903F2D87CFBA9A80C51D4A0733674C78EF85BB236E8FA64BDED9BDD01DB1905E46F4210BB65BFD26965AA3ADDDC893087AFB56089083C72F7649CD5987F449F9668CE66ED21514C05E7F09F52D84FDE30E96353D48DF0208415DB51EA5D120A7182DC9458C471127253ACA05D52FCC18B73CA1C3A5BCFF4D3B6A41C450826397D9B38AC5C8E301C7A4077EDCDB6A46B3979128F20B1080F7768EDC1F651D1D122F97620BF2B4E9FD20189BB331FF9026EA58D7203FFC49E901FDB9233255F349A19AAEDA9EA1E4F3C45EA9C54F41CE1625C0EF02DB370909949BBDFBAEA49FEE3E3CBB74E1807F553A2000A3C753BC5D529B4E25154E2C86F755645304F2D18ED0E62B62C87931DBDAD5D1CC9CBB64430D56AFBE7D4C708EC992EAA8E13C5B3CE0343C30AE3F09EA3ED5C0C933A0C76F0FC18FFD4BAF93BF95B2C1023DC87D4D641EBC6E1CEA6E756F45FD2E58E0562F43389A1048A8BC12C8B3B19E05180597B5CA79B7531C6B8FCAB88AC1AEA686494B98E211C975B48B7157F985F25B168B93FEA82218A227D0B89BEF905A5F13EB37438831C2CD871FD8A36A4EA22879570B22C63B67BB60EC1E415F4654F6A3EA5ACF74DF41FE09DE398351FDEEE499CD98DB89B320A58EE62F8569E10DA4C68B9B61620E9D51A343D06CEB484CA532AFA8FF141A4ED8EAC22870D72F5E1085107781D2E422B3EECABF88FC + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = EC7A09A04EC20DE5EE683681D42177715F85562DF50177CBE122DDFB9C5E81EE349D3E2A18726BE2E46287759D6D28398851ED22AFA78BB4B3A41C76F7006F785887D2D030428ED6ECF7DECBE20BF09B1A321B96616F9D1F4ECC90BC2FED1C30C18BAA23455303074F10ABA5BDB596F3BB5BC1FAA89589A92AA95DB198915C1FEC3420D6A4A5E79808012DE71B41CC7A77AB96821B5BD1E822A06E698101E7E4DE1E5E7CCF9093992C0B62419A660E1AC4FEE0B1D0C4735416C18570697220ADBBCA56289C2475E17AC6FA89E96AAAA8D5F174D6D9A3EDB4A6BEE4B606D0B789F942A1F8D5BAA758AF6F6DFBBE59686FF6A8D625302931C34C8D908BBB0C5269ADC95715F90259384A0F88B6BAA1FDAA5BD57F5FEB2FE0B968120AA0206F911D211C2D77CC465BB6E1839C0271CF55F12658A1FD1F2F4538BF7E9FD784E4C12AE95A5A2967D2847EABE150F2E113D8542B9A7CAD092B3D86AD4219632C5F3740EEE45AACA529D83F0BF3CD656384848AD577CE603D31B70C40A55DB571868C1F5B7ABA3CF853CB0ED682BDE964C3051E7E81D4454906DE1966491E1CAF7073035268311BC1CD3590656B1321D8D6885D15C0BF840BB40C0FA4D127878E422DFCA7C3BBE8CA4447D5228F83E453C94002C43F5D87E989627F89CF5B6057DE6D86D2A82ED982035519F47807CE6C61DDCD9160FF0DDB3BFE08ED966C08317E4EB5 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = E65D36FD64B13DB62CDF8640E6A217CD4952BE909BE1119B04CEB6C8A71550E953BE0ACE373231964D61B89A575AF582A66D7BB1441EA399D59A7C585D762433D64F44C53DD9B8FE8F357A26DC66E04B15B9FFD0FC7C1B4ED07DB3E4C80A3527602DD16BAB1F8ED85A821056F97FE2912411F7CF6BDB9070997CA4D5BC16B0B26159F7F3CFAC7252241C079633CD8287CC41FB3F7CB6185FCCEE1E3467E90788B9E943C936C1C82115EB5B5A1AF3FC6B0104959E98E0EBB0F72FA02FA5745380952A6C2EB0AB84CEE35661F34CF0DE4E6985BAEFFAF545D48ADF065F13B9272098D5906DA5C8B688A3C922AA74D840DD9C1EE31BECABC417EA07E2C45A90E1AFE588E65109C8DA674533D506E17EBA1ABBC25DD84CC79A4CA0E15013D9D014DACC5F696A7BECAC187F0A7B233D59A7BA6821B3EDC71C8073F2EE0CAA8C9F96032AEE6D9FBC15BED15E879D0F497BB8DE468B4050FDDD15C97AF4413C4CF60859EA04103A13704CC9B7076359E28A1B90949166F5B11055B415EC8B9A552AC94E4D1F45403AF5EBAC0762D1ED0967AE032DB30DFFC8132942F45626C7E50BBF80DDFAB80103E423BF00AC575194489BE02624BED16C4D1FDCD0011D0C64FAF6BB6FEB21E0F0653F05D8FB69CF891347DFF0A39136BB5D4D20101CB3EE900B508A136185FDD0FF54FEFBCC6C069E1A433742D51129A1B556CBCDB8A7E76DC43B5A + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = 2B6D5B37DA462A050946D447375EA4DEC9309EC30FB6C7FA68F67AEB7B6E1921A74FF35ED31560E695499F2A5AFCE3E900E1C6F199373951A406A8F57DEDDA8C9B9D2038E787CC54B62CBD97CD4247ED933DE1BD68FA670158701F088C6E785E8DDE870306B80DECAD2DBC40A8C2F02630499292A19339E4D63351EE5A44E36FEA062D2253674F5531B1C51FAF694A0E963859B26A11CE890A3E5C03815BAC2CCC43AAC806941BEFA00CC6BCE72FF59F60C85B5096BD7E9D4B60D23A050D3B4333A26B0CB6B69E62F33E87E65FC1562E5D1384F439D717A940E2A291897A4EB3F941397EAFFCF4EC738DC643E72721B5662F698BDD502ED1A82D924BC0D780A049F7D965BB585D0F674A06FE03F0B18AE56B7AEA705328072E4A374B7B9715882BD73C34E99656EC073B653C2608A04D84ADFB4607B62B4B504E43F07F9D4555935E3D432DDFF23D9AAFC87C743C1BF8A91EA4671A03E5461CF13E76E3C1779CD97DA4055EAB8E705556EB7538539FC6FFC1638E702CA2A60F0506693D54A35F7AF6FE0773A67767865B3F1397674EFF365B3849D261E29B160CDC91368899867689E599A85572464FD895CBA2BFB4ABA496F395E7950E064CA509AB8D8491BB193661E250F35D5E2AF12E1F981970390F456953A8FFDF72BF998D0FD7393C33FCBACE063C0D63F91E741F95FD542C6C509036824B2784F394E27F6BCE88B1FC + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = E8B51670E0D27D9F7989447A97C07D8D142804F876E701A49E6C4A0EE149938881900637AC7329EEAB1F1E032DDC2194B2417856401060EAF019AD4D9DA3BC702BD70BE5FD9D9C9B86F4044AC441560E887AE21E3C3EF3F05E38C7F8B078D3A66C6FC8B98E33EA8AD1D029433626CEAE2468E3034CB44326C89D7A7188A5272C116D3783FA16AF98BA3070AC96C07E459F1127304483A2394837EE1A10020A79F8519795895F4786F5A15134DD44FCBD9BD1EFD0EBEE9CD991001FCCB6A92E490793B6F16471670E1D69F9CE49020C1E8E3B453CDC1A8498D8C510B8D21FA00239088E065B742C51257766F19E17B397362DEC9453F50328C5E14BF800396A0A3A1A957B29CB1C8FA059BDE39B995D45900B56E2C8CD2F4E8BAC756350DE38293D1FE4436489D9B23860E1AD35E2411D0210DDD1C3D8994635F29674A64AA5F92B2088F3E7B4FEC26485D93483AF96FC4C5FC9F34254E014DDBAB361DC55E0F5019BA9FF8ED7B104E09122A80BE3BD29A3E4C4C26A7D2B08F8915087D9A6A2E7888710A5B2B87448B81F889830E26E6813385B761FE97E3729AD04BCF08F536A152039F04C283DD36B9544C4D6CBA97E26B61E034259CAAAADCE508343DAFBD4DBCBCE25957406B22E13DBBBB186C18DCBD5B8AA18C86D8660698AF26997726FB7AF26C397DF8608708AD5D6524001634575A2F1070A5EF72D327E91C7184B4A + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = 120CA7E361A65A0985563012CB908028105ABDBCB51CD8EACA141662B0C184E9B2D6DFCDADED7D7CBD42455B3F5A9F15596D2BACE19510256275209CC9899A87C6224DF8E919458EA46A35CBC8D66A488069703CBBDEEA6D767CC315FBF518F7B0A0154448F8D7C56DA1B116730A76954C288B4891B56FED41B2EFDE6C27DD4B3DE9BCC25A2A901D4C87975E82372AF173982601B605D845DEE7BAC94EB410B369BBBDE500D458F9F8A3933D3BCADBCC85EA05ACEFC9A7A77E26E28E82DB157EC1CB2C99C272F33B1B2685533CD988DBDB6E850BD3C71E0589A165FC236A65B1F1DB750A3FDC1392A76E7714469B47E20D8946AF7D68EF9B16109178F662320D60A0D843EFCC5B1E56CF6D8FA8B649DDC28E58983ABAC7B2CE019AA0E07B387D8BA46CD3FAF47B522D766971BA603C84684BB094E38D82EBCB108CE0353E38FA0A4D7294F7B7BAF745F3E036EC0231F6A194585FF7CE1C792E4879BB44E4AD65717952B080BEAAE1FD0CB8AE87E6F130F91BB06F95E54FA924E2D0C42921D7CA9965AE70A3587F12017CF1E4CB70D1704A51EFE27DFDD919C7FE70F967CF7044C62D6FF232B6680278E9498F247AD92D5E9491DB0F00D583C019142A8EB63678231E1273F0A263C57B98E0AF650FA207D4B21650417DDDB40830F89E15C85E934FC745AAD87BA35DC16B7A82CC97926494BCC1FEB4ED43D75F518ACC22D208D3 + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = F0715DE35692FD70123DC68368D0FEEC06A0C74CF8ADB05DDC255487B1A8D4D1213E9EABAF41F1161719D065D794B750F84BE32A3234B4D536460D5520688A5A79A17A4BA8987FCB61BF7DAA8B547BF5C1CE36B56A73257DBBF1BABB64F249BDCEB67BA1C888370A963DFD6B6A2ADE2CEFD14C3252CB3758520F0C65F4524682772499463AE1A341800183AA60EFA05118A28201744F7BA0B0A3928DD7C0263FD264B7CD7B2E2E09B322BFCEA8EED04275795BE7C0F00E113827370D051D50269580300005AC1288FEA6CD9AE9F4F37CE0F8ACE8BF3EBE1D7056255954C761931D3C42ED62F7F1CE1B945CDECC0A74322D7F64D6004FF21684149307288B448E45433475B1EA1314B00F1FC450089A9D1F7710C6D7652ECF654F3B487D0283D4D8A28EFB5066C4250D5AD698E15DBA88E925E4DE99B69BC383AC8045B7F1022ADD39D443546AE0924F13F4896096DFDF37CA72207987C4A7705A7ABE724B7FA10C909F3925449F010D61E207ADD95219071ACEEDB9B9DCED32A9E123561D6082D46AEFAE07EE1BD132765E3E513C66501B387AB2EE09A04AE63E25808517AFEA3E051169CFD2FFF8C5858E2D9623897C9E85175AC5A86394CD0A32A0A62A8F5D6CCCBF493DAA43F78362BBCA40ADF733F871E0C00998D9BFD6880656666CD7BE4FE9892C61DCD5CD23A5E4277EEE8B4AFD29B69BBA55660A217112FF6E3456B1 + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = 2E27811D2E132C58A1D053CCFAAA2813B620554C49C31CF208964CFA18A3EB5724D4EBB37E37398CE9201CA33C5F6A9409F262AFC5EBF0970BE0618EC7E56C15C13B2F0270AB5A9536FADEB84EB2D934B989354D47FCD1DBFB40FD96485FAD8DF7C6E62A60866F154901E4427C2B5E6059C76224589A6BE352673430740903E4225C1379561AE5D361B67F3ACACA9C7633CCCD2601ED278B5C7D6A378D713BC549E2797CA34FCB0A00E649AC3A4B59001E5D8E1E2785433ED65C76F4FEC4B0579059DD4DA49BBE678279F534B84A280F89DFBDA09E09C073EA11AFCAFD5685A714EC31E8F86B49D2C97E6A2A66B4F2AA76D9DF2D27CFACC2423AA18492E2F4EF6A9F8971627839375307F45A8B26133FF1D02F100EF05DF168A2BE02F0C17CCB90F23A0FBC5F536C410923B154E81A6557935E2572165A7E39F64F57E2B8CED8D2CD1025EDD5DEA6DBDACC8860BD6A0C598EEF14619D4BC11B6AEAEB5D10BFF3F9D5B20B7F2AB8254DB0C1765A10A125E98D762851F05261DAE06B224E2076112A62B4C3F3A56074E01CB3DD264CB1F4B58EFF2A1C9ACC4764A68680A40FCACC719286684FE0A742F13B5BDAC8AABFAC68174C7E153796C240279B0ACC719158D1FE4F78EC3D47EA8B8D3A1B3A6842970FD439C09096E8B032E551DBDFD0EF86DA0537F4E72F78368B319B6DB735AFFEA80633F2F8EB9D26C8CFC321C7C346F7 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 76A498F8112B364E0DB20CB4E7AEAA1C96400A3E1EB1A24ED865203C4A583CE5CA10B47E725C362696F0ADE5FD75058D6882B435849030868486318E566BE51B6D985A76B36D98D893A04CC715CD26C412BB4CCDC0DB6D1B13CC071FBFC83F114C72D3B54CBCFE57243189251A7C0608BCAA1409B243F2652CF5CC4386CF4551D2955F371591C0A04CBFDA2736A514E773B5EE8C5CFD820A7542CBA65245F729E650D085B3F60EBCE2CEC0D8C952ADD51A664788B3197952E7D0D9FDCCA35EE118BC0144688621DFB373C2BC1DE7CA7BC751D539276A119ECAE8AE2987E018E9FD70C632F2A54701302C12B971E0EE5308378669EA10D0E9A7B955BE1C1BB9E7FF6857C39EB6B074C061F28D1979B33AB8D2F81078325C9F7966806D2CB62903FBAF4C12AC4AA15F010034080571BEE9E863C1CB89CB01B86643DB1D1A6C224934A79D969616CC3F9C1382B81EB83A8CFA2CDF20BB03CB67DDAFCF9CD827D76A0661B85E82664BDCED0EF34D2F807AD956724EA2CBC511632D2C9E9F8E4FD71E127D581CBBB39782BE58902927B0C0D922493255F805C5CC78A96AEE84ED086AA93F8FBF7282D78DAA0B9C126216BD929EA4A4E53F78088CA154E9A63B3227A25705532F699606EE73A5FCE6E6C94DEF1324FF2E0EDF6807700DED2F088E2D77B7F690E646E7A73CA05FEBB2634D862D7B21AE2ACFE3A5B3DC6ED1071B0F3E5E + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = 760DD76E50C13B411D04ED9D81078F0E5B9FC5DF9523F7C2AEEB418CA328E047071852FC5EC2F96C2133C4AA7C68306FFD70A782490F92812E04A3343B9502C14B781A4800A8928956EA457A3CFB94A63BB4407524DCCDB6136C5228FC1CD426F75E1701F0AB7D7ADA8079E4761FCC4DCC72155B4B27370A7EB6A5E3995A729AD8D8B5356A084B0678B114078B0D43C657A23F09D0862D606A8A485FED68EBBBC63A126FBABDF36151D5A39BF17632B3D967983FD62E19C944400F7A68393603243CE499947F3EDCE7F30206BCBFF83615DBAB7642C5D82DE050D67C93B836B554949B96947B7D1534E0755859ADB7BA5AC9F519B18C3AA66300ACF9A26849665810250004529334169211624C6A63350B392F6DC6753D59A03997180980EE0E742388A2BDFCA619524DD16250800918E95CAB914EBBFB12232F1687BE0B46426E126787E394A91F775FA91EE1C5D57AB1FFA151D554B79DE8EE9A937AAF5C98497AAA726CF01A9DBCE6E57A07F8D098B2844ECEC9856D3D8B189D016B34C4AB61AA3191B3E4C2B44F6BCC9444E6093A56545230FCFAD19A2CB124ABF524689F4F665F2E84D10A2C93B8CA412B6D280C2680E946A6C9225DB6F97A86FA3415A84D52FF3A0A15DC7CE97738B0B2DC1430BD56BB71AB89EE108B5BDB706C7919D5EC67C487D9C8DFA6D2333C59248104F33F4C162A5156A3A666948E3A6DA13D0D + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 76BBAC5E72BFA9B5952D4FA8313C2C8995F1B762B0855EA28417A04CDF1BC9A72038014F4D1AF37D6338E217DAAB8993CFC222510A869403DC46B5D798646BB76ABF4006F31BE334DF8C6DA07AB8C6E6523DCAB9367E6B747600E785EA0BD3480A07D7AD1304019C0F00F90B2A650599B0B416655AE1B1D8FACBCE38D0DAB5A6375144790B0F7E8C61B4A98297C78EE6FCA19051DCF60B4EB1F6FC59DFBC5BD1B2ED6B9C72D7B5DC33E8D13566BC67013CC7114EAD63D25ECCAD196A5C258DE23D82E8CB2BA6753C9BC598A54F921CA924750A45353BD44593415AADD251B604457A3CAF3DA681C0FBF43E4F3814AEAD086A72A4787914FD08BC727A69CA5646AC709B9E0DF5B56C8FF82EDBE3C23218A1D5382AED38B3BF54EBFA6015C388C8E92D57CCB97FE8171E1D24360311D5ED53545B541E7F24CCCA9C5B520FECA2547ED6E1889A05EBA1C0831D8BA9162B38491287B46BBCDE9BD2198EEDA5FD0869A83543713BD294D84371F1932E3EB370E30210FDBC2853F27372DF095F71A34FA4BB0E1FDDA682170A29F9E29C2BCF946CD2865865A70DAC22A81BC387B6A06840230FF8790B6BF1953DB882DACB6A9208709C121AF24A6436B1A5312B3E6D77892FFF968138DEC8B933E3022B4141A4B4605524C95468CD89AA56BF577E16A365531434FB98FD8399DDDB58C0E5CE66C8A8955AE1ED8EAE5251026861C825A6 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = 1E7CDE630A92BD14100AE80073CCE0301AA6566DFEC50400147A9DFBE921BF35B110BC9C0B7AD6CFB50785C63881BE1569495092866BCE9AE303B3719B14A47DEA8FA19CAD3015D320C678CBD2B7488E71180D967BBACFCA686EFF014B7EED274F678CC43825E79C81269F99D1B824D913F8ACBA4DABF5441A29C2E769B44BBE9954A7444BFA438EF1BA2B6A3DB11E11151A1736BB8CA22494D4A3D126F100A41D49E6114CD66CB44B80C2E3308A0B551B692BC5B693BA9634E219E0EE8E7F28DF196D8C517F9D71A58F1D945E03FC25426E13612EF4158C17590922CD6A8DE677398690A8A1816C6A01B162FE6E5F0F502314C542FB568F12CA86F5CA6DA7B36255451360CA352C05D10C293A8A35417991EFE965BA6F5BB845BE9E8C021B2B4AF2AE50200C60B7BA42FB5D3147615339FD71343662090F2E7FAD4CD0AC0ED49C3FC8685116A8D51D4183CCC9F39B401D47CDE7EF7EEA63FC218C96EDEF7190A2529126633A7F3EEE421478D66CE367FDFDA6A9A60ACA3B288C6462BDFF20DBF78A3DD29E73D1A3E8F3FD824A3616722EE0B87A9E393CA89159EA8169DCA108F8E2FEB35C9372EC3B9112E534EDF733397B7585051257A564B844C07DB5DCF56403E59EAB6F56759D50C47779DD900849C94DCDAAC1AF51048098BF95A0B9EDA23DF0520A3DBD86A0B59CEE20822EFDB9DBA6D272A7CD5CC95498E340062539 + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 9576636B4F4D13A576B2DD4FBB3092F358E7CCE04CDDA4F83A10A8B5D35B5EE034543098D9A063FAC9CD26CA46837C5CB6E96F7596D4F07EA6FDD8AF8B59F9E86611F1514D5DC0B7A4216C69B9C85366059BED3EA5CED38A16E4D6945C7C9539E062DE51FA2DEE1C666DB1916369FA6BC0D7A2811ED1BEEAB61397B8A9FAF224FB4ACD7F8D9C7A8513C8A93D924FB4EE027821AB6DE0415AF9BAC5CF3D5CB7075BE5A6D410F12A9BBC96BF3FF254812C48423F383E4D74FFB5EDD7AD34C6E0D64BBE7F45288A49F5DE9AC14F317BD4862E1F25E338A0309739C8DDD27839B8AB3B04B9FBCE65CEAAB460DAB0B969222250FCAAD072C445D472BF251C4911C7D5D2B7D41C9D2840826E0BA6786309DB6E8EC0FD94031E2DDFBB0D880CB780772A93C0B4C32377C3C8CE97C73412F5C3E1CC72AEBC050737495C703459B9231C05477CD9A5DF1662F5FC883A91B42ED7ADABE6CB1EE654FE9E616B40CE9035CD3B91A05E050CB2558645A0939C536A2EF3B5C8353729C3EE238C5C88DB75C05DB6B2FEBE0A598F937CA7AD4FAF495A10CB3C3B9E754A570BFA5E723B8C0CC107F0EDFF76CE07A2CF3ACEC4BB44E11C633BDBF89E5501D6001206D457962AA2F57C9C2F3FCDD1B76ACE292728F21A6ADDAD4551970B1532BD3E46D9A5160B1A55CF4BE18FA15ADF0DB055BBB21ABD9A5B0FBC474CED2B8787732FCBBB231475F29F + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 68618F4B2868634D8FFD3483FA4AA9C200B43FE87D59107BAC648665613805242B1CBB4DB2761D4CBEA5337E5E07005B5B4E8C80038019DDEC76395BA981D36823522698C98B80D313A7B6110A0BDE7ED5E9268FA655B8DCC2C762510FF03506DC1CA8769B372F07D0E325786FB1C58206578E600E9093AA84468F01A2DF258E670959966B419BA5D4B6063C997822E073717565C6F9B4777E186A0BD6D72F65BB3CCA7E82601F25667FA0186208F7988611A76BC4D116AB3944D6797828FC5FCF17ADFA99D959F5013FB2516A2D3DC05508E9C28AB5F9E0770D0DB2FBF9CD3C8AB90F255B465A9B724D90C25E1EEF81B839A971DD84C4D610E00ED858C78B2FC6147CB6B1266ADFAC5FECDA9A6F78B31AE35BE6369C3E8290E6F297B7FDB35BBD59F0BFE16146CF3A5A75297FFD5D02685C39ED9394ADFD3C7C814AE86EB652D152B7AE980B328F3E16F883C7C6DF6672EA1EA6E08C61505E65852A1BE11DECB86D8386079E17E72EF8FA38B69EC192C0B90622150A5C43584C3159CF61189138089653AE6453D24F464D96A9BD0CFDEF7C1C9D92D46E854D644982BDBF0E5BE7C38EDF469AD3C0EBAE549322BF271590E38AE16A1FABDA49AD6BF8B1218FD9072C25027AB31787B9F38529156113A82A8DD27BD22CFA719B3AB0D31297A0DE9AF901A443057D34CDC11747D6576B7602D7D6DF58C292A69B4549ECB1518A02 + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = 9A3CDA57019548E6A68D89CDEBDF96557DAACAC29C5EF8532DCA123231D0226D0D7F62042D70BC225CBB1ED8902D8E6BE75B2B37504990471FD01F4C656E6F6B77961C753A780D91FE03598FA2D5F60B772B34918DB836D2CD278FB41B223A6D1F25C91A4B98B64BA3EB32DFA5DC5E1CC5BA1467F287D56CE98478BEEE91087DACA1E2FE0ADCA38883C9A73699AC98AADB5C4B087719EBA775B0ABB1B0E5ACB4F79F0F75DCB2E7E25CA22C06B1629EC1CA989AD1F1F12C4580E43DA76B2B58345B61085553A827BA0D3954B0BEFCA8394B9D19022D33DF6978148234CD16C7491075517081261E9AF8FE42C66A7580132EA3307AF3372489D8EFE01C5AE579A92399B844266D13804B887538D70D2A4EAE3C65E09F6BF877113992C42D490456CEC22FF8C60B0C7D2517A49D2822CB2B2AB6BEF74F87CE134F78141157D0498F267C94123E1606D4CE1AE8D7847CF9FB23D8A11901292CF36FB975FDF34AA0CE10B851E116EE7129B06D3EF10CC1ABA6F761EE2F1E4B497DA11FCA3E844A8DD1A6129DB5B3F863378D3488CE7E208241946BAC2E4AAFC912CC46E5A6451832A2A43176E06DBD49E9D379A69E6F08081F609B7207C5CD391445E10D10FF2B99E0D672C19CBD9F5FFC6CA46AD9536973368A747A7A2F23AADE81A43E49D2E9CCED3F64CA24C012CF3A306C40ECF36843317BE8D29803A40F6F71E7E9229154B0C4 + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = 2DEC1B61A2977A54FF13CEFC08F9EC6F11BE80E7F5B77C4CCF2692450CE86C9D57EA58CB34AB2995A6193935DDE84BFD62283A881CEDBF685CA26A8A727252223CD6E7BB8A3C7751B8721ED16D1209611803778DF77C6A005E1A05AAB97F6205E0C1C6B339F8D8346A84C6A6D86EFEB17B6F8C8E30960DADBA3DDDB860F46D2718C7307C55B65AEF1082B98E407F56B633A16578528B8211254FA6AF384AF0EE36BA49638386494E347E961D6D65CCDF2D5D221AC54F6A2F6C4EAB62B7B55E26192A2E223BB053558A6C3646355F3686DD1D3712406677F183E94CF822D0AFA9416815C14BAB7F5C5B4E44F364446E08464370E60A436653B2DD29E60562712136940DF4AE19617774776F0784F7E8AC600BCF8359E02B070C0480F372DFD69DF9C33ECD3484678087087C7DAD64E160B32A0372318AFF1668F5A0B03C940C384239994F546FEE94E3ED0FB8AC259002D09C3110806FFB56419CBDC76F28C8F828DB0AEC39A573A903A49C0C9F77F0504B9C8CBECA83B6D3A7AF24631F7E4B99E9B42EE201CDA0AC1FFB79AC24F3516D766B0F71E1EFEF8E6CBE38C24D86B83388D6D3C2F9BD6AF94B8A56B6B5CD53AF40837FECC5481F9AF1FE216852C281E068F0891908B583845B58A4CB4169A0F2AAB2C36FD184B15C3E4008E38E00C0B6DB256B89C4C373E8328D13E840D65605C44AE017B0876CB5ABE1AC4D9CA14A3B + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = DC2038C613A5F836BD3D7A4881B5B3BFF3023DA72D253E1B520BCAD5162E181685662D40252BEE982EB3214AA70DDF0A95C5D1031DE9781266B1E0972FC9777D4A74164DA68A5D4585F7A8E7438FE28D8AF577306B8E2CBF6863C83431CC4C898DDA50C94EFD4925432FCA36A6304790FBF4FEFAEEE279C01B8B6A8D1C275E3CB4E8BF17D880903FBAF27BFA65A2E3DB8E285878A94955F6FC14F05A0FA2556994B8612BB7A494B4DD8B3CF1BC9E4BF833D4BFBF878C4D3BDC8FC70D26D7B7EDAF0AFE2F963DC6884C871C1475F4B92378B9824970E40DA0A59780E84AC5138AA1EFA46C1B50C3B045BE59037C6A0C89E1D3CF246F1362794E8107B7CBA74888F0BF4B905CFB9C33517F472BAC16259809797F2FC883FFBDD7CEDE9518F891B9117DE5DDC6D3E29FA56EB617F25E9EB1B66F7E46ED54C1D43AC07471D35C57B8C73BC68F5612ED042BFF5E68634A4FB81E2EF0D92FFF1E11E43FD6D9A935678D2FDD04E06061DA3BA7DE415B93C5A8DB1653CF08DE1866F5C3D33BE32A3B8D2B7BB39E9745C6E88C782F220C367F945828B9B9250DE71E8A14EC847BBEEC2B1A486CE61731CEF21B4A3A6353C2C705759FAFA50AD33FB6ABC23B45F28EE7736DF6F59AAF38D59881547274CF9AF2CFC8FC1ECADF81AB72E38ABCCD281DF956F279BACC1796AD1F90D6930A5829BB95E94A8682A51A6743AE91B6C12C08E1465A + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = 91ECB5133525E291736CF8F4793BDB00A4EA32F48C3F24CBD3238E6408FEDFA6E7A750409F197041001C1A090659F8879CB26912B46A0E7E4E791FBF5692FD36EC84A55462B7876724EA944CE7246261F26038B166668E6B7EAB0B5119B44E4581F3A3280508CD8B3789AC37F992EB9777B9E11C0F19A3DA5F4B8D304AC4DE68B3C2CD6659F33FBE20B47E1F6B0CE06EC0963F8E7412FCD84E3DA3867CFF08F82AA17C43C19BDF3BC0D242FDA4874DDEC389564345AD11A267D7A466925D1E9BEEC667B029DA0982B37B51413B4601CAC17A02CBC681F927DEFAEDDB0F6A69FDFC39AB735470E86A00F82EADC94018A6E2A29E7F393F30D954C82936E158A364FB139FF29E42F30C0B95BD5714EB7A535A5B1D1B3B36A862E35D10D1F8A5AFBEEDECC51A855724271DA9FFB8EFC6615C42B03A57A2D762B46D5D94E097DAFE5D7A2EF522DDF2DDADC1F83EADB72510E770735463495B0217B8BC91DB597683254F6E0AC0E9B1E56ED0216EC9618173B163CB3F393152469268C056B1A204567EBE7367F863BA145C3BB367FA3C01E556D62FBC8381CB3C8A9BED907D481C093F14B70D1BD31AAA41FA753CE31FC59740A47BF5980F8A0E32EACA8A488572A3A91DB07A25C34330CB7DA7E0FB7D1541C3F3C377963DE4560A8D584E11E9C6A1B917F907C34F211CD78904471199FCF30D4180F88E7BDDC0392197444ADB1968D2 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = 54A3C3F41FFA1A12309CCC1D6B7915E126CB13371A2953F33D6512241A5B835005A7FC8844E4E5BC097B9C5D8E388DDB5A55F43905E11C380B8EF1DC661B77593DBFAFB6B2A4A28039ABF57706ED1193E860CEC1F5D9C522839607A02F3AE0D057100CDDFE48BD84F60DB063AA3011EF8A6AAD3947D8F86E2A6A28E258A99D72E998E4148DC877945844094125DB2BE06B98508704E3901AD2D8D2CADB19291AF8436DC4CD89D97060DF9F7CE0738ED5C1456CFEF18862DABE84A08A22BF310FE273496401619F156EDE9311697566B11C38BB10D4AC5787D4D6491CB43B4D79C5F062645FACDD48EDF609737C7FFC226E36587B39759F23DA6CF94349CFA50B9E18F1C6CD42DD22EA04A4A7A73ACCE723E4E5948FCCC9857EEBF22C9761AB8AFF73386D470A34254750BCE7EDC88A46F54AB64F562BEA863488F846671503E5E305F3CC61212E95D055851A4D4A9A145DF52DFBA84D27D084952F7E12AF3C4E20860A479156B48CD65AB2BEE5407AA200CE205E3E46C35DC4B50205C11187EC81ECA5BE3B2E90A170D53E6637947470220B2A6EDBA8C0D0E3525BE456417E6EA0FD98BF54A5804AAB6BFB728B22A5D01BAF0CEC173821F5E075A0E4B7649E303D17296981EFB88327D5B1A3A8CA72129B979DFBCFDC45EC3D1BFD01D10814F225C6BF09962F0491756CF9607D3974C24FDA6DDF6E87013EC5CB2B883BD0A50D + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 264A7D71BA8E67773AC5AB0CE3616F1147341EDEEBA1A177E8529B0DEF09C3A99D91029D77C3F9F85508AE74DE172F358CDD2BC4EFC8B27BF280E162B03A08272D0165D9012099B8EC0274801AF9A0D672FDA4510C09347ADD664505BE434469CE78DF597A7890381FBEEBCEE79FDE94EE240A2B3DFD60B23F4126A5FC397B4B4E5E21893CAFBABEC64BF53F603434F168FCB667828E79F44B1526E9875F9EC9982648B9C6FC1AD6527D7FD2AAD064227D9A85EF9733B2B484202E00F8929E18899BFA6B92C3AA8B05F9EAD25DF02E02C7E8C264B67EC07AB47A7D95905F660CC6722ACA28215AEE543FB7950F0204784AFF77374B803E5EA679F22A0F5659A363EE122AA76BDC881EB28D5E347842B2CC81FF0447B68989E744E187808D7AF0011A32B66F9050161168D6F246A5C7B212838B831E71D71606F21A40D8A9AEF42B21465689B7CE967DC2E53F869F0584E19DDC629068C1ACD7E6B986C3D1F1E24B1A907F7ED4E5B83EB7B0A5C6A4508E0DC21BE2C1BB5506BB2B97D9721B57DEB9D4D39D58B77DFE6C869F5FBFD74559082B5EFC3692E72A9B961B6A669ED700CC41FFEAF370F88373D5BDA8DB6DD2C3BCBF1D833F4B9CBD3B4134502931178C58FCFFA80CB496FD850352634F73D002FC4A6725848CE2541862B3C5566A915878E60B3B4C1EF7F014F0F32446298891A383F63568C849DF2A208E75EAE37ED8 + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = C87CC74FE777B2DC9A33473F88383DFECE2244A807FF92BABEB7BF08F37EABD9305BE93213A63A4851BCDC648C2EB31BD509844A56B7B890772E040E67D32A4098EFBCCD0ED6D25B2AB9EEFD0B65EBB76D540D0FECEC277AC98139AE8F67025DEC7AE76850E047098557D2EF7D9319BC153641B1D2A376F23E4A1F2FDF1168EB5901B3E11A0410C8563DC4BF1FB0F616CFEAB2B086384207CF1A10D51634874493DB0533787C0564C1400BC56CDB7C32A6FA4800F0E685156F2BB63A63B67F6D40AB574CE0EC54A4A533958B3A48266EE038E5D85E67F3BA429EA1671D89A083B406A568A0795C56EF042881AB67665258EDEDB97AD04B5A30388D7EF0DEA494BA645F8FE47E81A2CC4A9C6885ED80C6F6D37BB0E81A60575201C0EC3E9FF30F70AE746B86AA3EFB309F13FAD5CA2C824C2FCD34AF1DEA5E60E4A8CD92E7B653301721937E03ECC2AD5642A3922D4D666448759961C6D830CCB45D666B675C920AC2486B100B5A51A7659F24735C173F9FDF02B1401A03ED5BC45EF098E799E7A3C29EB262D408CA9A6D2C18C5636F3B378E63F8C71C70058976E880D8A0F23E0F2F1CAE00F4E06FD60673CF0968A2E3C5D97A79659BC81F6639FE69B18C6E4D1F3BF535814A4D6187F3F9BD7F7509B2EB899A6ED48526C665B706A526F0E5EE433DCB3B5C7BFC99078342B78EDCA9502D6F73566BAB6AFEAF63EC9A020A7EF5 + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = 61390F3D091CFA220147B1C85C59F1D6B7D9F87DB3A8910884AEDD2DB4EF65BD77F1D091D8375002713322F3AC618126D47DC4EA0404402FFFE139C8163CF8746030B2E57BB2A74965159F4484E3A4C41E7F849BFE872DB3B47EB91E4C9E67DC09AB0FB88FDE8A9815BAADCA11238B97DF04A0F5E5570DDC87D18E6E33339DD481D20CB746478162CD1464929DCE1FB906B6545D846D891CE91358B9EA029F281ECDC557CB769EC8C1FAAAD10FFE13B8076072455BDE3A3276CA458E8FFC4E377ACA54833C31E906866E9DEC7EAEAF74AE07339D70AD34278B076CA541CEF4DD10F68FB29C17F030052702B7B87D857F462414BFCB9FBA427BEEF0B930DF09C7A6BB35620EF843C9866E242EB2B30E30C4427C1E5671F2390F6F9F42B77305CB9969224355FB7A751E2066FB8C492D6070049C768B5263642802D21632DCF50EDC2C9357A4A3CA20C8446CD322CB5D8EDF82D31871424575F022D8B7A6B7BAA4F6326CE757AD523B8BD1B4A77C5D96E7EEF9E2963B02B107F7F74C9341D964D70DAA7C9E1ECBCC354935EE07192F22C15D693E5E10DF094FA8B74CB2CC87B967F11237B3AB5D3F53EEE9BB9E4CA16B7DF02E46EA9F141DCDA939B2D7C964574A0E11E3505706C0E9FE33BE262A7E6589D7BD42276CC3146F0A728131E9D346B91DA1EEB6B3E34EA5AE180396E219B5FFB6F87148ED8D4BAC21E760861B49F248 + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = 39EC35D31923584FBD73A715015CEF05B945A5AFD2D109E72E356BDBE0F73CDF666AA7B01E77BD3BC0C409991F1129961F6BDD772ADE7EA97AF0B88A8875190B453664FFB64FC4FAC3C1108A3C222F23B12B7613941B137449471BA4847EAA4A16BEB50960FFF5DFBB2E756938B38A93509BCE5F900A59E69FB0305A19E460FFAE88D74A727C82FC7138B88DB07EDB172B39566DD22F0E852F715AF9D3C3F0089E9EBA72FF6063357DE9A744F20E1DA367F27C6AB6FC9D231A606A79A621F8150773D1DFD52868820EE5BC28D286ED746BEAF8F13213548DF0A56BB0E01E5BF6BDD1C901EA8C791E7916E5679C88D4D85CB1ACCA63C211E7218FE6EB2ABFD2BADBB31147177F123FD111BAC4880F1224ED01F3259E4EB91DEB7562CB9C3009B3676998AFAB8D5D24BFE7D27BE7F3A57A932C895B60A9FA74504472808479F332FD9915B8ED0C11604E80457C0DE5F7015C19A607AAFDE448FC08BB185517E6AD7DD330A465F9043A0478E1CB4BE9185187604F30A1680C67D3A0DB1BACCC05D401AAA8FC66D9189089EB7DDBABA05FAA8DD83FA544FDE68A793A36D854752F22FA13333C6152F7F18ED789848A13327071D85D5E36C4FC291CF5B4B9391F8E2513D4B660B1290790AB50D12B73FCA21A93F8998D5706C037C387D662FC20BE35228D85E5BD007A7173BD06E5CBB7E41063AE4843BF3F5A77C44E1A36FD2E1C31 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = 9BCBAF72085F4EE5B2B237F520977C7CFE8780BD62B0ABA13C161D0E7EB036AB27E9B08407BD501B2482C280997EAE9C4B571ED6E39A13D74D7A1E2258CBF3583B28E738FB14AB2B60E6F1E188953D96A9361D282B85DDC243FE6C7CC644BA203B328FBC4E0088E40283B6A62122065A11A164DD1EA05F421B4ED60F44EC982636F0253AE4E6EA320EDA2351DFDE0285D1ED860A51699E702A0519B0C3119462BC9CB3DECD66647823EE139DBFE3EE125A6F74AEDF5044238389E0B0388698FD8D7D882D010C194F4478D6DA8FC195529A475932E4FB178CF318AD8F24427BBB90C0B08ADAB27BE5A48C9804ACD9E56E1CB2BFEB236388917458408C446C6B5F1D3BD55AC0F6F1AD06AB419460F525B564DC67BC6BB2CFD08CDB510161F71A29AEC95C67323259C214CC39401E483E982EE6576A7F1068B088348916A5C47D1378236DDF475733F394E14216D2AC112457295100EB70381E632876E700D355973944ED80AB91AC39F2D9DF4E338C02082505C028EDDF867E60ACEFFBA59480E6953BAEA105652BAC6D29DEF70962B6BB93E3D9424A77D31D3020FBB3BE37E7905A6360C1B624327FD68ED02639A2B54FBAFDD9804FCFD60AEC2B044C921A77B25B7032CF685475F503D00D9A8DB733CB6115C1BAD1C847C1BBBD342E62470D6DF7C21119A35179AD3C7F68CD246B8F3F51E2635DAC460DB83FCC5C0DD049A2B7 + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = 8536A6C25934A44FF97C0A09E026EB12B9C81CC8357859BA736B29BB329B182B5DA8FFD7B855200CB9D64FE463317C213997EBDF1810BF37E00D56F75791375C5FA84DCFA37EC196BB2DD3C66C1D33034AC48BC7FEAF15F9702D7D11E4712AC87934E2064283D04B56BDDBFB3B56C3CDE69B7D736196B9DC5623A3132BE33AF12A386A3004EEF98D4487B614547BA59EDABB0B83B6CA39A5955F925F35A5209C0CD567369751312A6A63D0F4821D442C14CC26FC147E63A4656745663CD96B01064F60FAA4BA98258B09C09833046412221A59E23D5266FAD8C068CC949D172862EC30EBDDEA21E1CFDD6B5FE4AF566A19D0D41FC9328EA915D8B97CB1D903BC40A4083F6997439055B44A695450039CC00931CF3BC9FC67BC417A8AA270B2B4A410BCE4A2131523749A957D293C1438A993432941A9FF4210B33A5CF8B4434553B17CFE869B940669CA9F18B128BA354855F08A692FC6D23BF0FA12D9F4DF0A571E44D4221E8018C4282559E6FF2EB02CCAC7A7B83E34ACA7D554C33F05CBAEEC49D0516B10DE06BCDEDC09D0C4A9810B0797B62CFFA75FC0D3BDD796327BB1FA5DCB546630E9BB0457D024E982D6D7930391066C58286BEAC627D6ECA09B4F6DFCCC71CE589B1DA1E890AE0C5A0CF531D9C1D2330BC8397F09F248F9919995326FB92147959C3E6C569ED662F6968F4E9EF42B6C2FB954D79DA22117373E27 + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = 7201FC2AF67D095A5E317269E750F965B8BEC311EDAD18DA2435D2872C0056617F0FCCC80552010F996E5B34084B09F31F35870486A8C53D220D7D009FFC2C58F26AC41BAE05EB486ED4A18E74FD1C31CEA640E8D47D88C5D506C5719A3EAA4716AD4FB906A5085AFD46570F2B048264D4BD3554F5AB0A8271D6529B9E2F1634B5C78ABAB6BBACF4F01A4E33377F9E1FB12FC20435DE0AFD62F90E2CA73BD5260285BF5CB9B4302A312BBE48C3B68A4DA6E842B7D87B3BE0BA82C9B7953CB63B7E7E86296B88557BEE2EC9576A468D556B77F872BF728FE3051E4932988029D88320088B70C8B19B59FC03F2F32BF34F42746A6E9672C21EA85087A46D5BAE484F460AF64F8F62BC615E79ADF67EFA9941DEB5B358A5833CCE4A92DA0F237A506D530D64435689E1DB79F7AFDA051CFC065397C9393B3A87D6DE9C08522BEBAEF1B33D2EAA746A5AE7FAD267F168ECE1DB4BDF453A100FA3743D9DCA3BD0C00DD7033AE1EB573BB79C6CF53BB38130AF279C0A0F8198C5145A5DFA32B322716EF6115BB5466CE54EEF73E68C4C2B1D0C321A03B6C7BD1BE98DFCB50C08DF2005DAD35C430004DE8E6C531368B5F37E53DF3D376CAAF854298657573BE7038052C2169BC907341CEB02925385A9FC03400F53CCCD6D3BC039BC49F7E5CADBB68FD5E1589CF1B97C9C6360A4DDE6474FF39B96CC2F4C698300DB2AD5668BC19F45 + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = C7B0EA1011BBE2D11DF8353D06A6AD5176DAC3E33039C621A635E1124EDF2425AD88BA552D6B6034AE3A5FBDC735E4381064925BFD6CB5E3E753D27C7A77F4BFD3D33652461F5409CA29C060AC991F3CA90A29B9F67502A524795F1306430FE7961430B431E9CB7C21EABE1EC3D1D6440EEA64496F30A3A44172B2C5670DA2F4DEA42F783F5138C966A642488231DCA509C144B59E0F4A40C191C035E4A464ABB6F4B9E0F9ACD86B7BDA0485238A56B2934C7AACB484287EE013C46E48FB648E73ADD7E8ECA6B2A8FC34EA0CEB46B0C360A6004B34403AE5FD345A78B55634B242CBE07A6FB13FAB721EF976B3E1F82FF4DB06F86DCA50348398F1DC831C70618FB387F0B13D84BC8A606E72D6B85991A4D7151E2D9B4B5E07D303E2D639D2A243E316B6C328EB01F52C524FA7D76763EDE5F0FEC6824D73EFE546547798D9C78B22765E69EE0F72B538C816B230481214099ACF758193AAE0688CB5A9E11B323704AB7724E5F1C4355C11EEB595312A25277794B996C6BC19C77F0A048CD31FC8AB70C7B6B6B0DFEF5F632879DCCFCF462908F04AFC8B440E9C4FBEB428B70A56511EB7B16053BE225B72CEE491366742A77152A9BB0FAC5D261C01ABEA1B632289F26FCD628598C1F9B6AB1A5C36F926A2B96BAF71644C0723A6A773DD14C66A770F11BD82EA85C6608C821139601F9B98232BFC21C7A3B54E0F7A2A6E4CE5 + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = FD6ABC78D5FF667AEE2029F1683E1EC57E82E69E6F3963E38486590650A18EB3A6B611D5ECDD6F8E556D2F8BED3726DC51B2086275923E2BAC576625FCA0A10CE1CAB318AE80806929EC5EF10F3262F460DB6D39D6DB17FE364792AC2CF5B067F260366FDA234EE09761858A3C5EDFA7D8C8BB7E968BF78922CAD2A276096E06164D15782B74E75ABCB32D1D87CC5BA1B188AE777B5FA570DAFC393C7FA0CA76623543BA75FF214A0F01AE3455A9C454BB6773721DF3376BF92B4C6DB9FD4EDCD802E30CDD698A865C29912517E0D195B1D05C391BE04710121C764DF515FD0ECDEF0D91603BC2A3B9F905B5D7C25133657FB6798ABA7119FFBBB836028764298EC082FD36CBD7D32A81C549B32E6E82C8C897318EEED0C3720AE2B620A40ABC87C28613AA2322EDD83414B8A532D48FA5769E4E8A46E159D5BF9926C6647836527BF5AB23846EA38F321EE7303A1DAFAF61C97D6059B10314F09F3D5DFF337802EDF70F27E0224D1B110453902D3F4D5A074F2FA532856EAE37307507C2E9BE3952EBCCDE1599A3A9B331FE760D29720AFD9134B6F5C33CDFA60E9B700E0FF15E13D197830BD93E785482BBA5DCECBE0977433AD8625280F0DAC5C6A4963F23844C7EE7AC6C88D098B8189B274D49194727118D6E73898584BA8FEAC1947E0B0ACB81DC7B580F06F52A5743F8E7E8066F6C76B5013DA694072434508C2802E0 + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = AEDA7E54B44C4EC1DC28A305AB30CDC9FBB1BD923F41DA60558ACC8C3FB34D85EF153DECD3090860E383151EBD008044B20B20B0C6216D16EA221ADDF00B99DFA692CE79E69AC853FD70C6D077860C54FF77AC55962CF0D06888CE0A95DEC7CE760E8E0364AE935CC8CE962BAFB617DBE45A4669F0F5C6A7767FB0C9BDC853C84CDEF5F722DA5C31D15181725158F946C8D810AF7296EC91F3EC782D38B00563E454AC9299B8DA2C4D2FE89C0C2C6E094A14DC3CDE4B4B5A868CBE8C6032812CCF17A1E511E7E59C0239E6696C2CE093CBF79F641CF1B59D97B88A16359DAE8366E23E13C7B8F9CCCC099F9B6CC0A228223FBDD5242139F3BE2C19C06A15563E404428052E32ED5F6EBC61AFE642340625C29174ED962D6EA5D8D6B06DAA63CDBE674CA6ABF8AACDF727BCF6279D4AB7B2511D782C21DB7BA2543C2273970CC18C136D74D6583782FD44422A2DD01BAB97AF2A420F8F1DE60AC0F4727B91972289943B5DCB3D22030D93A6ED0863E1920DC8A6688DFCFABFC3ECEE59AFC7B349F5B6B061E599145E2242C05D63566906A40B98F8D280F31D25880D0DB0A90AF20108715EC9FEE5FFE151BBA41E594254B7EAF61C5B444094B307511A1799D2E983500FE9643DDC2652B7B77FA27DB41B50F788224BE4B4F7DED43B56A3BD7EB52620689B4D22859ED3E0771431168D12404B5C56347FAFFB9E133FC5730EE76A + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = 9FEF3F4FEFEF93B5124DC0C0D3FCD29FC5D6F680F511C682BD41E397EEA9147441E698E4B420CF2A165B15AA36895BE8AE914ED53FC9950F16D540FF5054C0D731789D126091A75FC5C7DE3C28478E86E05C7A604CE904DA8F7EF031DC9D957401B155D110745F3145C34754A45B7FEF94D0253DE536BFA0ED5E655243E689FF909DED44948A339CD55B897D015BF49E890192D051A13C26BFD5E8E71AE287A6E2C18017FC997BBC41A7D39A18DE8B30F5F313D449C5095314E740501E2101807EAF33F596D0AD639C83BF7037E27C1D8597B4BC9F335433137EF4081E381B831F17AB09BC704BF1C581F4EDAF9502290A92501CD7A0E5F0AA10674BFC9B2C9C2C812F4C3725D6E7975A1F181BA63349D18EFB824DBC4D7D6267E7C4855AFB5F4DA4B26BF74785AC1E97D3E78DE97179739481A47686545A7B81F9D6BCA18CC3008BE300C34134EDCB9C87870D8BB4DA18CAD8C29CA349392FD82E0BBCA5A06A043826194A52AD80E1C3BAFA28751338BDAC266D8245E055546611CBF929CC8CE6DA35667A66AB87EC22CF3B54D8EC1D7CDEC5C75E0EC3B53ED0C030AE30913C12AAAA71567C731AC8C9CA1279C7A8FACCA20554A506661630F2B6B9792DBF5C8FD545C283DFC65E9D758B4B86079F569AF818138304E617D74081D80CCFF0179542F6FFF41151B85F84B2DD18FCD8C2B7790B645552C94C0348315BD91E1BEA + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = E62CFE44B169A061FAEDFE6CE667056BC0255D1F22A56D3DF255FFBB145433FBAC3DBC0B998A40001B805927BDC1EA47762980586CA088D64BABC0ACBD488C5F08B8C220FD5A15EC679448532BB992360C8B166BD8EFB59F2B5E091F06CB1DF8D79FF9B69C4A49A9ECECFD6403D6F984A987C0FCE8E6ED4C0E9CAEDE1C522E4F71495F8599F2864C42809C931771A32FCA62B0CCEB02E5D7FFA15754E6AFA27E568D84FB041CD35140A48F4B23204CAB939B5C48217711A5426F194CCBF07491C0DC2F885156B40C9F782F4A17BB7108E465D9AE1F52B494C74611A1D9D379EA8835E0F98AC6880C339D70B65436A07F056E9C118A89AA41A0E4463482B5B037E96736D265CAECF4764E6F206AB47EB83689E3380DB572BF815F7E2ACC67BBA3F4D074DF16D3B95AED1C4718EA77D1E38608400EA88C6F5FFA084EAEE206EEC8D2560A601587DDC5804D86912E4B844D87F2CBF10634CC32F492BBFC32B4E746EE3FE9E9C9B03DA7DE441A53C0E3B648366A4A997A28DF2A10628406C530175191F230A97E2248226ECF6293D39809B0DC0493CEEC48337468831A5EEF0038AFFC160732C097CF96BBB90F5A302406FFE8C0F1FBD7554C1C0679D2AF199E565D96AC5697F2FF748CF0BDD87A0DA1A9DE71020DA59BF69ADC9E7FB7D6B8A38113C3370A120815DDAAC8CE49ED4738C3A2805100DE7C6B2279AAAC367A930CADCC + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = E55556489CFF55AE9DF1AB48F860E81C3EB95D979929BED9C747FD1467D201FCF041D0B3D72EF227C82C93E6346CB02A5C78AFCF0B9CB6AF551E9645C09244EA67E02E17BF1941F3910B069C04DCD5FF7B4B9C69BB973EFA516B4AFF0F8947DA042E21BF838A94BC8D98E6A30FA830FB9774D14CED360125DA945F44528B99DF2095C5186776D434A4AB2202A8CD5443FF2636F6111228BF1F5C5BDFBCF6278598733776BB589230D74314083B983CBBC476E4C9F0996A01DDE09C8341DA4C2382923FBF32A1AB8E37E9A18DA38F54154C44FAB88AD8857EC5FF82CBE1C9D24D6AA676978FE7F18F1C2503AF6981551710690DB902F46AA5AB3856EBBA8EBC644C7339D6E28EEB2AEB6D5F168E0447CBEA439ECC89743BFDFA88F963A6B57F28157F55CF46B57C2396A357A8E44EC964CA32C51FA5DC17C1E0F6F80FA2C8D26E04F03C32CD763F6CCF0F16F915D72F6E9159174B69535D2229C8A543E992AB0E86BB51DA378EB378A0F28ED49A8F57F224E03C9C1248F0133D70AF45AC7F0D27C5804CC99E982A2A583AE566262F3CFBDB91BB0C2F2561651A812CBE22F1380929F85A94FA721AFE6BA1EE27430F2CFE89966A9919AB21036E81962AFDA1026B3B4A95FDF0BA51940053F01EEFCAC57CD11C4C60D66DE753F41A178CC56A938A72A0791874EAB6DAD49AF265CFC6A03016F0A1A490ECECD045B9F7509F1193F9 + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 5C3CD7AEFDDD08E09F343A8226155BC3BA959998299AED4CE4E85C6758833685A58E5CB8002FA4788ECB673E810C98BDF71A18F7A2DDFC351056D0639BC600FA42BD03B1315CC4C9640A8D61D481BC7F9077C9EFDEA6FC3993993CEC88481FCBA0E4C519CFBB57B465FD1E3D33557D8DA77321CB21E584E677F3A66D38C9E49D9A9545D6B84AFA37547F1CEB22C2ED9D8D97693A69EAA2D15F376E6DE77B0EE6C7DC28FB1C1BCB42BF8751400EA2470B87F19830A6EA33DA0912DC894892C6C242E90D24238439C6794243A5A6512E3486680F4F9166150502A1BC049F48EC80D2694FF8334515EB4A97D483E7E401BF6E446035FDDB8B600CA7478B8C40AEC176B79CC671E90CAAE5D1EC05E51D5E7EF9D8B4FF3B3B319D80C093A83A3D21F22EB4DD3B88FAB1345B29AB527F8D69CABE8FECE7E26D40A63B3FA08340501A40D433D77DD212FFB48265901D9A05E17E8F24786C7C23E50CFA11D5AD497D98579B02B642D48FD74CA608DC32E76C3961E07064168B898FDA5B4FEC10554F32426DD818B7E207F3FACAD3525577B5FBC19F1CFD39FE6453B274362C456B8FDB3AA26306E306EF1BFF87056AE99FD0CC9BBE36EC508532E8239B3C33B1705D6DA65813621E8D319460CB6BBE94C9CC0A5AB5C9CF538775D42068D9665239E1FAD0EE8FCA7EA4829C8BE493AC2DE44B340028DB1F27F9E4470D3EE6AB48B416CE36 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = 83D754C973E2F1CEA0A8EEF4CB2340F2BF78CB88CB3AA458E7C915B5C8412CEE403CB18E062D2D896D5BFFE7DD1C3CA2E5E37E193554A176BEB2C636ABB687E867AF6B9EB5FBA57F371C167CF210956C5855F27FBE890708A28321BBF2D1D44DC7A911906CC4054D6310CDDC4573EBFC9F7227031EE0EAED3A810AA18367D2F6F56B478881F628897E2678FAC39F76A745460DA7913374C9AF81415592891035F93286BFF02DC737EB087DB8FE7E77A188C206CAEC84832A120547D967107A49AF42D422EE7364DB5B6592185C07DC7FBC2D0ABC2A02C3CCE0070C23F2DAFF0C8FC61563CB7CE0E930B75C706AB8180BCECD4E2C47859217B42719EF341765FF7C59C239C1752A3CA73E04DA7918B61A4D98DF5481F3B2A23A4797D66786CCF940ED96D6817D6172F748262448A69844E59CE9673CD9AA3F5AEE057608D4DF64042D78A03920FA23DE7BC65881465B31C4204F68D69CDDCFAEB9A5A6F4AEAC6572DF206802403D169EB5B2B69CFE3FDFCDE19B198385605C864B5F02BDCABBF646C5945899F52830C3CDA909443C96DF6DC1417677BD80675621755D47D076DF56DAEDA124A3D6B1C7B6E050F6D3024C5627A62C57C94438A8A3C14C5F572210893BAFF4B7E4E84C99C6CA09EB3629087F1C700513F2447525EE23622099E8D8B5D2CA8918CC5775FEB5F34FE5141CCC93EC172168638A736CEB0541A1B18369 + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = C6D3296ECCE00F96E8E0224FC094279AFDC51F4D65790B7DE6612A536D16DCA57EDF5AF53B7DCFF98910F8C41AF597692C5B9590B7EBD712076A74BA9923C364E042286F754143B2F1E00C47D4D01ED6A08FC3B62918D4C7FC8A5AFEADF7B83A02ACBFDAD3032D72C60E5FF342AE9376C60CAC094780D9F0A6FCFE63496A1FC660A33E1111FF441BDB600B37A33256A35E86CB245CE8DD2951E6B4C7C96C8561207D402D143902F085191084EE39E8FB472965F51C6E556CF4EAE55C540ADCEDEB9E77699C161A88DD07093251DBF403E7A26EA6FF93B2E5C61E5C0538CC29D69DE806D995C9BB59B52915A61B9DAAA3B21FC325AE7E1D5923D7E2CDB4F71E9C1E9DEB331916F09B22A34CA70FD20410EEDB22118D606870188BBB9800445B136FFEF3D7539B7104EED36E3E663B5167A5649B0FD2013424153B92BF520845972C146F8E15670BE40CF2EF1E73E23E404F1753833ABEB111327E862904C7CA969F5820B41C6484AFCE6374C72620C1B0DF72C043C1BEF6B33EB17A64B0FBE48D68E60F90CFA669214F96709777B9A278B65F197956345395008272E6CC3DDF43DF36B39E491897323CEA03B88D2FB8FB9F9F1219E951F4CD652AA28C1CD03A369D85C7ECEE4C3016C89885373ACABC20E40DEA4BCFA7B499941D8BD06738A71F3B40ED89FFE85C7C84ECF5F644CF1F3A434D2B12EA3339303353890B3C4C5534 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = E7B210D8AC4395B2DE4A9066A345B1592A5C0649D47EC8392816A65C03B5717FFED2427F513EC34D3DB5AD59AF61E0EC5DF9664A1F24E50A31C6C146799745465E3A130C84B52EDC04140AAD1A8AFDBC22D816339D5AD126C616B55302CEA748E744C6F2F538E2285538697ED1B2E169D9B335B6194B59775CB19B14E2A5BB0754705E1342E25EE1824C75479D317CE844D477599CC6A637604DFDEAAA02A3CD2C1B707661DBD2B1FDD77D2187C1E2295D92D98D4E5AD4208DB1771713BBAF33E63F16163F63EC956C7DB48D265E53058363A923BD51BC3602B184EAF2B8855DFB15AB9015D5FA72999CECFDDE888F95252885988052C9F1666D4E90F82C1BA1C27E4B0FF07F99BC4A54B9FDE4BE5C3882C395F69AE3754576F65CA8CB03EB2890447CCFB37A475748742AC932B615537B7FFDBD9E73FEB1BD29A8039B1321F8B7F6BD80BCE4522174DDBC4D6E95F18DA7EA0D4DAE4D14AFDE65F8BA726662563C225DE20A218927E2CEEF7573AF8313DB530D5FEB42BB2FB7B4DD616D25DBCC6F443A9BC91BA616B858AD827B049A65916CFD0A823A2726243D8393E248A8E1A66A057350107D01B65F4BFA03E6F22A4C26645B7C2CC63767E89F2A8860632226CD6FA6A68DB79949AFFD3EF91758168A295A5342E10C402F2B2076ADC203BA107A177D6FA79F12DE20D084CB463BF0C74B9D3FF6ED9455301A850008499CEE + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = 8DD1F85C100C7F05B59A9A0A78581B5541ECE6A40672D9AF23E9F80A9D3FC96346E1B0F3DC309BB110E3F9F465E08371D93616258FC5CF5F3264B6F20CD795FACECABAD03BF361324E242F098FE715E14D0D207B5122B01E47238E8AD8CD9C2E874E816C970F8CABA5C148B9D2638ADC5D13384DD5867679B5821A37B77B5C8AE773F982D07F037E319B0C2A88B8716D8642EDB7C51AFDB44297AA2AD22ED1DEFFEBBB8A89A601B3C8ED2BC1894AD8EE27D85E4B88547D64394709532582EB95A682ACEB7C205F4A3CC9693E443D7CBB1E1DEF42905622AC0E12D0543BE1786C13A913D45C63CD7F06E058440B34DD44007CD2B7BA489D89358276A3D597E19A0B973F558B4BEE867712543C1BDC817495D3222D4472B00784D7CFD83BBCBCE7E2FCD0F9C1EC0FD003B3D8EC74233A3BF7E95430189EAAB5CE341739C8F198052A783B9EC0331CDC1E2BD8B25FBE9B471A768CC6B8F2C90298196BC65861678C7632B7914D365DE4BB2CF9DBC4A0A06034711086A0D09A9C139132556EFD7CEDA2933EB9B86AD5BA22196DF404684993A8E7FECFE6E582E5A3A4717753E5F3BEF462DD8820BF3857881D54AF1D0F2ACE27AB1C208C3D5087DB201F155164C398F2ADE81CE38CE0D741920364C57580522FE1F0299A6263C3F4A78E03300372D379A4A9A550FFAEEDA27B30B329435A8B2E3C127568B48B1A75462F576DAFDDF6 + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 16322D3005BEF6A6CD077C13F13A0DBA11CAC621605D78E2CA3EBB07386C0ACC23D0B21573123E1BD43ACCC1F12DBCC34874B5C18B6D037B339E958972902BA3174A9831EAAB3543B901B6CF4EF5CBD1CE1B60AC90E94F6E15C7DAD13AC4B8AFFAB3141326AE057852DAB28FB1564A7375204805747A45C0E96E2E046611FFB1BDDB6E6EF5C0BD75E4D654701BCD7F903DAA5B2D32E017C5A81A907FA908C8523D821A9947E647767F04FE6A8D0A9297F65610B1ECB332D3DD37EC4501400C3C1E0035A48652DE4F0BC038C90C5B4FC2D969B1951DE5400184E6C761C7129711ECF3F4146C2B8D662C96A30491771DAD21E0D9667F7312147D53B1377999F0274D239ADA0E2E2843676ECEC0D528C89A5E6C4EA111ACCFDEA9D10BD3F79326283A609F1E2C9FDD4120367DC5403D53A6D0B0DFC3A3726096EC7F6CE189A29F23053F79E179F275E32DB13567E108A63C7033286C4F6636AFA91C37E32A5B2BF01995133FAD11A96BA922CE4BF5192A0536F4F238F9CF0AEAD2265AE73FF3923682644CB414B8E92E9C5EB8D46E39E46A5A394D75BA2D01A18B2309DEC99931FD9C29DD61073B23A19EDCBACCA8D9227E8FE23D313947AB6D9C807C8C3BC8E189158A1815410A94CAC21D931560BAE3AFE409D4904C32D4AA5C7FF6463EC8C432F97EFFD812DDBBDE53EA65956C9C2AF72ADB2C7B5BC1EFCFC8EF4FF8A152AEB8 + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 14236E75B9784DF4F57935F945356CBE383FE513ED30286F91060759BCB0EF4BAAC858ECAE7C6E7EDD498F01A082B63FA57D22540231E2E25C83EFB3B3F2953A5F674502AB635226446B84937643DCD5789EE73F1D734BC8FE5F7F0883AB10961B9A31FF60DEE16159BC6982EFB08545984BF71FED1C4CD81C0914B4C19FCFEEF54AF4BBE372F18CFCD3A18657F5B9450F99A78F0FA2C3CDCA7461C4ED7569536883B66CD87E9C200962902EAA16A54DB6A0A5CC26D889038C0760810B5BB4F33F1E5D639B6F9BC7CA62BA6F8C9F8DE770260AFE47F4E0F82F102198EBA27F543252AC8DDD83E1B8DB0A91AC65633FD12A550EBE96F93AA6704ED5905C234FA6D9203910CBD02DE166C4C3348FB81EF7B84AE1455FE318B5FD170883F49BA2F24289C479A2C7531406BA989BEAEF3A79F659028642E9B033F7DEB9ECEC3A7A9F1DBD2451FCB47C81E21E91D20B924C6BD04C1F0B2710D2E570CD24BAD5B5DE4E49AA80B6ADD5507B4D2E510370C7AFA814D7E1A7E278E53D7CCF49A0A866CA3A7B5BB71EF3425E460FEEB29149F217066613695F85506A0946CF68979F04AE073AF8028976BF0C5BDC2212E8C364583DE9FBD03B34DDEE5EC4CFA8ED8CE592971D0108FAF76C8940E25E6C5F865584C34A233C14F00532673FDBE388CC7E98A5B867B1C591307A9015112B567FF6B4F318114111FC95E5BD7C9C60B74C1F8725 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHAKE256.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHAKE256.txt new file mode 100644 index 000000000..50db0b5f4 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHAKE256.txt @@ -0,0 +1,1029 @@ +# File generated with ../../loader.py from ShortMsgKAT_SHAKE256.txt.old + +# File retrieved from https://github.com/gvanas/KeccakCodePackage on October 20, 2015 +# Keccak(SakuraSequential|11)[r=1088, c=512], or SHAKE256 as in FIPS 202 standard + +Len = 0 +Msg = 00 +MD = 46B9DD2B0BA88D13233B3FEB743EEB243FCD52EA62B81B82B50C27646ED5762FD75DC4DDD8C0F200CB05019D67B592F6FC821C49479AB48640292EACB3B7C4BE141E96616FB13957692CC7EDD0B45AE3DC07223C8E92937BEF84BC0EAB862853349EC75546F58FB7C2775C38462C5010D846C185C15111E595522A6BCD16CF86F3D122109E3B1FDD943B6AEC468A2D621A7C06C6A957C62B54DAFC3BE87567D677231395F6147293B68CEAB7A9E0C58D864E8EFDE4E1B9A46CBE854713672F5CAAAE314ED9083DAB4B099F8E300F01B8650F1F4B1D8FCF3F3CB53FB8E9EB2EA203BDC970F50AE55428A91F7F53AC266B28419C3778A15FD248D339EDE785FB7F5A1AAA96D313EACC890936C173CDCD0FAB882C45755FEB3AED96D477FF96390BF9A66D1368B208E21F7C10D04A3DBD4E360633E5DB4B602601C14CEA737DB3DCF722632CC77851CBDDE2AAF0A33A07B373445DF490CC8FC1E4160FF118378F11F0477DE055A81A9EDA57A4A2CFB0C83929D310912F729EC6CFA36C6AC6A75837143045D791CC85EFF5B21932F23861BCF23A52B5DA67EAF7BAAE0F5FB1369DB78F3AC45F8C4AC5671D85735CDDDB09D2B1E34A1FC066FF4A162CB263D6541274AE2FCC865F618ABE27C124CD8B074CCD516301B91875824D09958F341EF274BDAB0BAE316339894304E35877B0C28A9B1FD166C796B9CC258A064A8F57E27F2A + +Len = 8 +Msg = CC +MD = DDBF55DBF65977E3E2A3674D33E479F78163D592666BC576FEB5E4C404EA5E5329C3A416BE758687DE1A55E23D9E48A7D3F3CE6D8F0B2006A935800ECA9C9FC903D86F065367221067658B4D7473ED54800D196FBE1089811DD9B47F21E3698B1573653ADAD231C39F145B586D6C0133378416138E4423F7AF7DACFFE965706A3C49024002B53BA05871E3F066694B163630B0053BE41FA45D4317EAA84214254038A37A9C83D62EB9EA6E6ACAFA6BBFE5AF9F389690D5A9E27BF97C1B93D93ECF36DF6DA212E12B2448154156E94687336B6DA91E368512B9F34C616166542923F3618640D930F922A3DDDD2F87920378541446F2223F593931BD1BA02E2907CE3404621F26B900D05A1119A9E4934A7CD818DD9237445BF50475A011EA0078788801D21DFECB7A2BB294E4956DFA71D8CC472405342BF80120FE18A551D88D6ABC24D83F077BFB25EBDE5F4B03678D677EE646DCE3496D5138BE108782CA5A00AAFF3CB4BB873EC0F2E932DD74847033EC5F07254E3027B0AC12DB7D6D3F90B53D8A5BD63B99C3BF5CD38B453D7CB12D0AE2BF1CFD3EE88AF71BB6606B0B791DEFC2D762C8641BB8319FE17321EBA407EB744699D92B35ABD79F5B9A85408C93D61233FECE638023875AA02B9EDBACC84003A28CCA2D55A0742D635FDA888905986CA01C1E6420D49EC25224D84E915DFD1638A492282F1FD053770168953C + +Len = 16 +Msg = 41FB +MD = B64ECACD5F7499ACC085C908D35DCC1FC0131816F28D360592E1265079F92A5F844C4BF6AA50D98D52720797E8C992F43C76A73FD95F9BC4CD272157842ADA2518190FCA342DC20D0C57CDDF01B3DDF77977EDED63445E40BE82DF8D26DB629A2D307EE9FE28D2FE557E3971858C6D67C42BE2CF44DD7570521CE06474467425B7AAAE39DB90945BAD388009ED5715C684BB4E4981EEA324ECF66584AD08D9F27C6A4DCF615591857BC7364E8A7C136661AE5FFE828C734DD5EA5A071276E8477B8525E02B7B445D91CC6E37D58740DC2B069BE6D92E7DF95C1AB52B76F7761AE34328962EAC7156E460B3C04FFECAEC8722A56E7373285E42D4CAC5498F8D7DD5ECDA9F9973A32F8D425171E1390BFC812C9EE4D4AB8FA9A0D93AA90A4C258FC64D77BBCF49977E87C3810C80C4585168996A31F446F9391A193B888CD321E22E9368F4F11495FE124141C04015532345D7CB0A13A4DD9007D737B3A176A88E5FC153D4AC2E8CD641C40C4261BBA70E1B87114030FF67CB22ACEC90AC288D6B59D25B00038468B4780254FAC4EF158EC2CD52C0AB9217EED1ED0A5E7B4C4B3A64B1824E2B27AA53398765D5352BD1ED0E9C7B3FB264D141741659F7D8FD0EEEC9F9163C42AFDB540D5F2C87833880A0C942AE4CCEA7FFF2F4C798B8AAF24C33BE8054A09459A3AF7200D555334241709A18ECF88CE93C99234D6AB0285916AE + +Len = 24 +Msg = 1F877C +MD = F6BF0397DBFBB20E4AE30F0A47FE976CD109B3AA09B0E3F29F560E4ED333C0D083326B03F6EAEB57E277BBFE1CCE36C499434D838CB4C8CD8B02A87790F4A6717B22D46F9220391C420A1A1BFAA9ED5B85116BA1D9E17FF16F6BCE6704C80A49FD9AC42689DB0996C6BD3266694077C6DE120043A827D44979CE8CCC6AA7E5308EBA64ACF9FFFF51D36BC4401F8117D4B96340C62D106B0A6445F01987F9C4C0A420E1A9BAEB594BCB1BDBFE59B6065EB91CBEB252473C7858ECA475E1C81E8425C7E2C1706C4C4ABB3AEAE39332479ECDEFDFA93C60EC4007A51C5DD093B527264155F2202E01D2083D27D71A6F6C92D839E6EA7D24AFDB5C43630F1BD06E2B45B2C0D0AD70BDA111363298AB9754F26DB00A3FD93D72981DD463DEFD286320A274F5422E9400DC6E7C78D75534C75AF6B0398596EEE5048919B8FE33467C2B7C227BC88994B28819815D821DC27BAD0458D57F40B12A8A933729A0F6BAE74DBD150325D14C302835AB95DABDE87A2ACEE9347609A6175DBB538FDFB278BE0B3D5F062768F9E0EB1AC9C36B4E05E3ADFCA73981CEBAF6E047A18196EA78846D9A782B6E1CEE2036866DBCA749644E74EF5A4538D4AFB1706B360F734814313D20A1AC626BEE7AC0FE9F277D48BC50816AC9743A61E32F8B26CA6F4DC81FE7F3558AA2F18586D89A8E3070868C76B4CA4727F541072DCDAB3D547D52ABB6F356 + +Len = 32 +Msg = C1ECFDFC +MD = CE7FBC15503986E3B84530D84A16EF64332A6EA57E354E9F2054BFC2AA8891F94B4FDD42FD227C94B33F9AD45CF3982239F81FBC2CBAC7809F01E1C294073AD6D2821C1283C5C427F41FD46455EF7B4EA0D6D5E249AF95FAC80A8678C1A5318443E63122DDFED2591FC690527F97A09920941B02439AF3BA36B17FD588E187FCBC1FF109AB4A9ECFC671926EF0CC9C82EE06EC6759E2758A8859B8FA9DDF46D6C049621FF589F3FF56C9419D6F48A68B68FEFD068ABEC24824D7FC150277C2439BF78D15D59DBAA2CB17E5282E6E9ED744841F4A4BBB778CFEAB0471CE850B2A2F948DB3926F733EF7B3AA9AB8EA84278DCA62B0691F5DD13EA11660A8E2FB5CD8BA74A352C044E7219E750F29B62F94ED268A68029B94B64F3D4F2193A7FC69ED34A59657471F04C4961084EBB581ABCC9D50E3674A7DEBB285FC7215BF6606DB1392A7F1619B347A4D07D230DA07811FDE2AEBE45A70178CF841C619F712EF26BEEECC4183A1040076E73FCF6FABE5C25A4B71D564A97CF3C88F1856D9C8B42E94F746CE4605D2AAEB56D1DA5527598E17E5680D309788E09910BEB74DF7D3C3CD4EC680083F5845F4A1C15070E57979C01B89DF7BE64435EA4817BC0AD23ACCA6CB878F7131F02F9215E2D5C12CF3B4D24B29620C891A54AC8BE6E3DEC08397887DE0EA86B81A5459B968FBAE18B4B0324DE7E7C1AEEFC7598644CE1FF8F9 + +Len = 40 +Msg = 21F134AC57 +MD = BB8A8447517BA9CA7FA34EC99A80004F228AB282472841EB3D3A76225C9DBE77F7E40A066776D32C74941202F9F4AA43D12C6264AFA59639C44E11F5E14F1E5695208DB78F37CF3AC172469DE67B80014D1A4B968A56F855BAF35A275B8EC77B9CA591257AA2EF048663CD05D76B72CF3A9D2BB44B154B16E95EB8B61BD8415A867367F0031BFF5D49237157C197473309FDAAFC8146AB9FCD4254477B052AB306BB575ECA6872863B5F43F026C2BE3289E857D50441330EC02F6AB4C6329B18D3AF0A1ED9DB70F34016EA0CAFF1F0EF08BA6D26566DF6CCE9A457E1900FBA3338A771E40CFB39581F16019D521E4F398539C4A6F2CA22ECF9158B96064C0F26B8A076E58B5F0BA3187342A5C9A5569E6D08A2AC27258CF0426D995724579C723A0FA8269B4239026A08D88738156943F1DFF6E0FFF5E4696149436CD97732424366626CE7B67A3BBE480E425B51872AAE7CE59E70995C194E00FEE82119A4320A4B91158DB65B83195C9B799D3EAF3CBF8593D11DC67EE8C0CD7CA4FAE69D9F46A7E70186A33DFAAD510D8DEF82AA5710B0ABB70DFC396ECFD33F56F66957B82A220D1ECA09166F72358A71054A179C1961B64F26A3D7AAFB030C28A73337862E8364D3F562B324CA2EBEF58B7A8F089213178C8D0ADDB5A18022154CF010C722C279AE60AA984597EC6542EE1ABDCAAE8D5545FF45E781ABC7145AE2A31249 + +Len = 48 +Msg = C6F50BB74E29 +MD = 69401EBF1D4C7EA500BE60EF06783DCB009A13B4FCD8B341E5F2E40F39E732237E86716F26873C1820BC36D20F6D5E64A9C5E636855305CBC3F4BE4A9905B5F79FB769A794299EAFA8E81FFA51BB4D602480B1C40F9EE9BEE017D5D7F6DE68C8A79EE92A20B9DA5BD3D01BC565CDD3E5786FC4D48F719C01CD6D3CAFCD500F4F768600E6891102FFC10F1394E3A40A1BD54381775BB400EE6E20B95420FCB2C86BBFCF380BC95EEFCA33BC8DE823E13B4B04A7AE1FDEB8279F3EF3E4FD50B2FDE530B0D4C8DABDA6F225A4121A79FED79D8A013C9DF1103ABF081294FCBBC5ABF20BA38E0075169A9C13CFFF94AEB271A46875710A60CD78915C33892D7FCD6C97A1C74846ADDA847F58ADCE8EF762D11C4F15FF8B97F9BEDC97E1A8AE554C0B9E66BA1D48BCFAD0D56F91B65E25B03A5E48CF4DB0DBC467BBBC1E037743991AC72B4B259D65013A2708EB825DFDC65093A4F4F5E98427DE7C60138467D8900ADFCE1F27408638DC66957D27CB774BBAFF0BEDEE0F6553BCBAC9724A20E8ED0CE6B2F764E4F0D80E4521788A5CC88C3D36F19925AC2F205CF6EB7E6D6888EEFD0BE49BC8BFD8A80B9E05DC7513BEBA7BE52D39BF9BD2B2DCD03FDC8F8E7F90A83DAB2AD85F51D040BA0F1C0A9DC38E929A50DB7F99A26836612E601C6E4346E5E895EF4CCFCD6A5CC3777FC11FA64A9AC27D2CDA67E29CB18A7E99E2CA0730C6 + +Len = 56 +Msg = 119713CC83EEEF +MD = C02561C12CCDD167CA959D9756CC70946F7FED8BA705E3EDC433D3C45D9299D0AEFE9E8E25D602C4DB0D14ECAEFDFDFED2DE134AC5D0C4DFC02ABEFFFDD7667A434936151D529A93CB266100B94AD0449597B1590398A1A63C42649385B4CFAA828C89037E0F97BEDA8450A68520143889A92C258645664EB57CBA01C3B1134318E11A1848D912D0D2CBAEBD59A71B52495671C548522F401394FE48DB49956C03044CAFBD40371EF657F1AA86E4969459BBBD21DEA563A51482A47147EF85487A5CCDBC532BC2AEBC3265E71BD8D56F4521CD93354A73D175FCCF5AABEF2768DE2D8E851D4FC21FF032829411DB2668300853BA5F8BB1FFDCE3FF59197BD1833D2ABFB8C3027B36B21969F7E36C3B6F3FABA9454ADDECDAFC213D347A44B0D364997A9E608BCFF3D2004139CD05005B9BD8FEC09E5976EAB977B5DE8E39373C10D9EE2D2EC196B33689783EF3ABC3DBCECA9BF33E8DEE9A1AFDEAA71A2FE42A3B0C60781C9A2D5714278CC7CB349A3B6E7251B96E4E2FAC606B459C28AE81B551168D28ACD01D4A08416B6714D8F82485A1C6D5348F7DC4981AA38E7F39EDABC981022C4CD3345383D8C25C929FBF66026F91664998BC34F9689375D06FF95D208D4ACC7791633B222ACFD3EA26F8B5C4858997A1FF77050F280AC7B7E5325ABE9E55FC27EA8ED1D9D32194B0C5D8807F94AE6F737276065CA08C323E9ED421 + +Len = 64 +Msg = 4A4F202484512526 +MD = 8A804FC3A4FEE6CEF6808C756A17BCDF6B235808493FC78E79701E59A9E9A67D60F0F256AA69DC0258A2510F9936AEE2BCBD0F679696F439F37BF9AFB170D44A58DBCF71EFF14CEC1E624D3D8F1DDDDD3E33421B1E305C794C2C88FCADF9D7C51F52E4352BF9C9C895AA457F5449E82FB36E2A64D1AA69771EF3D675F09030A95653837AB2237DAA7FCEC36651355B2507713CC6A2186E950DE82DC699122644193F8F231C607BA7F3BDD0A214B4EC0155D30517F681FDC2A89D3143040BE0E0B6DC7E5185C723464CCAA2FE321AF3B4174283355FE3D1CED518E00B6063DDD607B166BA388978294244EA8EC773A528003A04914B76E9BE3337D806CA20C584B2BB66AFCD144417E3D93243F185D26DBA90EA39259C7F23B8A6427AA8A7622F277605F4A463F78A0C189C8DE2C553AE20773D7CB4F7E26A13F4204B3752D9CEDDF29849798479A4BD0D7CE4D22CC51F88127435BD161F026B1811A723E786DB1DC01F921FE076C3532FA969EF1F8993E0A4FB6C17597D8DB38DD7AF259E322751CC0A1CCA2EE4940F4EA56CE9179941CF4696256CD04AB853266D12E7E679377D54E2C2F24832974C573192DD2FDD4DA5EFD72114109248B03F0AE03123252FFFF977BDE87AF8D8022C4C51DA68EFB87ABEEDA7A72EB4D0D1A2EB65EA4CEBC7CCABF3787B9BE98E14E4A273635F69E3E4BA557A1A42D1BF69EBD359B895320A + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = 7B5562ABA86E6329693CE1CAAB2506AF93AD28BE4DE045E66A7B277C4DC3C2C9E698AD5F6D8826230A38FCE87142DD83B28F055FA7A9212F5017374A7EAC5BB7824C1540597DE34BE9EC894EABCF751BFD5DE029A1CADA7E599D433BAC0499AAD9782579D28223A5D16264EFBF55EB1370748E7DAC4B56255468FA9694A93C4B3759F691D9A4A08B53A15F61FAA1268E38AAEB43B3FCDBF0BA003E2037EB52C8E9931DB9C60FFC1D1FCEE7663D1017AB6DCC1B92472A88A3D568AF5AFF930AEADBAE751753CBF2F987338DEB1AA822FE28788866073319662438B6CAF6BD8D79DE14FDB6D30F7983F5711177765D7D5E1EFB610FAFC9DE733C9DB3FD2F1C35421D29CB96F87A0DD1E83AD19ACDC7C2BF7A6F047994A96E6D91BEC34AAAF18AAB7B32A0B379A60F12AFC697770CC6039031C13B5DD66E0D368609D3018ACCFB02FA4973BDA707CDA096D712FAF59B43BE3EF5EB7C227530C987DC4991955796B2F588359112B9E7566CA785CC5706AC333D12E2DA37A97A13B69540084D1A5908ED3BAF73A0E1C55A6BD036F1342F8EC671593B9B555DEFBABB3364914E4396D6E2B2ADFA951A6A263AADA6D879B4FF330F848D2598CB418E530BC63BB11E7A247C5A2C21D5C2A34D23721955567E4452DF9F5E2108C1FEA8FBF672422BB3B85C7C5664B918D3F3644339367CEFBE609A9B00C250111801C3F365BA752709B76E + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = C92FDFEA927EEEE73162C436C6A3FB97291C33787BF7C2CD80DECF6004C043BC4509A2CFAC1FBEEB0BCBC7C2974B168AF3291DEE1AF2D0826935DA79C5BF7CF3A211F347C2A44630DCC20E964E3BE24A20766A2EC50310F4B1990A3987FD8D144D3A6F091C6F8ECB7B2069905A7A1BCE8A49A9779E9132BAE521FC44689F7861B7C735815448984D6809C2138ED64A45C4320E09BF459A985A41D024DC4CE0D95681DC9379FC4DEE3C024436E7A949589A74B434F6B5D5742501D1E4761E0DF89F4F1943614C5682086D31F6EB2B65A005FCA29B48777748132A15BCE74228E5CDCB95C05F51730E8E27E9DE71D582A95AD3E78E64B978D872B91A88C6175EC3F92D5AAC14BCEFD0F6D8D5E2E19DE467C530FDE86AAF6FA5AE0254EA01D70860278C24BE7F7C52669AEEEC52C606FE664D7A8E857EB64948D663DC11E9DE33A410DCB3EB61FDF6E9622B66B9B9F4A39C4B578A8D346906D14AA713D2B266DB5B85AED05186CCB2809B38BBB3C9F99C2861793FC70D972B51F2199674E734D46FE0E8EB675777AC9E4B578A7DE4DCFB5AC1E7A2EB0067237B985050D66885F85CE3410467B5CA374A9F420D8CE5DA4A4934FE78065541C53D071C88F0FF132EEADEFBDAC5E98251C597930CDB32D79656EB44F95C78BBDAFAA59B7E36DA08A58AF3DAEE99536EFB56319643FF422CFB53D152EA302A6458F58B5EB9F2C81C31C4 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = F772DECEFF020D1BE280E7F93DF5056577E78D104CB1E2AFD422B021C6206D94AF56EB9404F8294403173E4A6932A1576BCC47580B6CE2CC80B20FFB274FAC017FA05B3D804A6CD8E874CF258E5D46CCFE06D76DCC18C9874CD3B7543973EBE3367AD38E51F0A46B92D47A68018A819F2D90724EA9F5FC51F444003757B028FBF96F5413296AA9BB8532773EB8CB7CFC803578FAF52082D4BB8AF606301FA927A94FB62A73E2E9FE367E782351185516C181AA674E19301A38D1375E1658A181DBF927973C02207BAC3A0B65C0C6904E8195A3C6550D13CFD46C1885987263E82CE56485759BFFB2647F420625F2B483C2750FB0B4707A2014FF57B1A42375B37B444B0811CED4CB93D5C45551D5E1C8DF20BCCD9437B7E439156DD9AD4D905393AFAC1347AB2979811CD1BEAC7C454C4B7166B85BFE52FF6C4905C55D83C15C3A9A7760BDA9FC4B90EC4AABF9CB3660A883BE7137733A1477971D479049268ADD74E0C8210B1A9FABA84FB940F62B1193CCAAC3F020D10CE14DD8C058C46BC35846C07A10DAE9C03C3EDC323CBCC83987DF1FB2ABD141C7C0694624AA68DF9C306D2E179FB4D603F42C99EA369C90C176495104FA7DE772EA71A9FB014B467CA220F9C004F287F8F0786B3D47C9DAF3FEEE80B2CE4A92AEB0FF8E8C09448DAD76F5FB01D6997EBB139D7FA5DF8C0BF12BBE0AF2B6E354C4089F32B8C5294634 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = 00F3525289B33FB3C179398EC76F2E31B824A532B2AA6B2DA6FFAD5287E07F9F9A2FDD2F2032AC202119CA0A01B7C9C6DE724877FFC874D5E578066A4BE43757BC2D9B09AA7B483749E0F88582CF9CC3D47B8A0A98D70AC793326FC5EB6533F00EEC34BFAB3518FF4E98B79582621C2BC7BB7AC8AFAA8D60DF3F072FCAAF514FA7FD9EFE2B1FCD3CB96A7F70A87436922584B93EF74BB0325416EEFEC14EFD150432366C1C1E5F7949C2573CDE16A24C42918C919ABD988F8951207149F873F78D2793FD642F3B3E93041B8855B8CCF62A2F6A2B8ECE4DC704CF693069BC789D470FC4938AD23D5B5DD20D13E31345B2169F750E69C4913E3DFA1F1E54A3019A8333B6648659A6A2E93882FC4F8AE0234FD149123D831F148213F578E8961DD07CEDF94907ABADF7EFD84500E501BF2588E3B155E7D24815DA9584595EFD2FC6F1768F651C1EB10E00295534F89A8DDE9D37C05F7E4EF9EA236B615F82BFD07E7F6FEB1C62DFCDD4F598BDFB3CBB0FC3259ED96D52AE156B20F0F6EBB089127CF98F045BDCB12DB84C2EE47800CE36AB10F982231FE746D32FC5002700E264AAA6432E7BC6BF4F4AF41E82E256C3DD6DDEDB24B3607015CDDF78BC1AC56F835D03D8297BDEE57F87EFFBD066C3DE372F285EB2E7D7359684BD2072B090BB78C3EE71A45A0CB7C22EB4081CEB3CDB89CBAF3D124AD86A9A830457E273C8AB8B33 + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 1CF1698F0702653368463A9EEF102E8588FD5E711F4BA16E3798D7C7730ACDCE6C65EA3849CDCA9D08437BEE09F78D52397C92D0F00ACC9D5E9450213F337B9A75697E8FBBDDCA67CCBB7F8B2CAB1209397A4EDA1BA9AB1B44366E4F7A0D2DB47D5480247194D486D63D72FCFECEAC8CFBDB7F8784D4CC9214B3893FC7EEBC97A33B9DDEC9605484C96BB77CAE4D212F16229DD507622A01C861043320D9C06373E1E0D9649D95B42A990B0B447ADFBD307DAD1394C30D12E010AD5F6C8ACC729904CCDFCA2162C32C5EE5654316E10A97A192EC23BAAF594B711277A301FE6EEB4B54903D1BB736D4788F65DBEFECB4761685C683DB56C05D0F26F179010CB323C2FC8B9A44DD4A172BE2228C6B0A0779B0637E6B5DE047776597A17FE94D86AAED911A1DDD27F8F61710CCA8C5F38504A50F01304B559419F06B5F043DFE984B4DEA2DB6090C1A836F26C0728048C0D89401722B9576577F11700BBC5A6BBF1C23C687BB478112DA0DDA52C1ED622D0227382F76EDAE51DB2FF14C098BAE8D25A2A53D98508DA98C99AECDDB7EAD8DA98AE41BF21A59B3FE4B3DD68F0FB15242EF3056FBF77462D4FF67E0B344BE02CCF03FB98F6DD5F6D306A4C2B2451EC8AA2933172689BD11A7E3911B236905D6D8CE1C030E754A0B493CFBAA39123B0DC4B7085F9FE5988B0447B706CF226EDD34B644BCB591A002A08CBA030F6B1927 + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 413131ADD0DBA2B0A48443D3399896AD65BF5F4426D234AE20C9D2DB3D9DFAB81401D7722842A58312F837E7DE13069802F58C7CE9A3AD1703E9C7170D1AE751023147464CF8694515AB5E26836B935ED493B9D66D9229BB0B66F1C5AC721D8AEC1F883DEC33D0380BA79BE198A6AA1F2CF555818D54CD28C0682EB44FA0F1810DF50A8F005557C9BA52F02D70EF769EE7724B852A94E1710C6758307FFEE309C8F884DD0597012679F7C97CF59F8A41B06A845CCDEFD5CBDA268885A2781FEE48FE4ECF4D0559868607F3524AA25D1A5CBE5C33FE0E8E8E47B6705203D49CAE7F1749DA49CBC469B8870C1CD7D029F6398CF7AA0D3114F56F78885093A59C0C188ADAA40976827AE1000BD6AB4C7A2154D80AC6786CC23ADEF333A2C538152584045A87E942B8033C565506BD319AD99C85A4655F6E47979F55B5F9F9822F9A338CFBAA50D580E27953BA9D13BDB3FDB480226EDD2A8F8F56C75015714A51EA63C73FFFAC63DC3FC6FB8D509BC40B87B9332FA37DAAA441D05984BA56781AE25D324E508B300E6B07629EE5BD2DE33D3BBE6FDDB699E35C324FDB521CDEFCE30D01570AE82803B0B54A7C1AF4B45121461A848477C11F535B700633D88A68AD2ABD9AFD09A4DDC1BE5511B574CA6E525EAC7A6CD7C26EED3E5656142AB8B24D97A76FAB94EDD8AF21CA7170A98660A5CBDA15925E67C5C579363DC4F6970C95 + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = 2FEAF391D45B2B8632EA10806E35D465F2F767DCCEA9304502A4CF9CFD85F7CD46BF0E5CDF2C31A43C6AADEB0C4683B3FE54E042C014457D0542A8AC09529C1931FD1CEEB0EEF6C5A1D28F7FD1E7998537D78B9DCEAD530B0AB257E273432D3D7205E451CEFC6906451DDDC6B3B0DA1D1F2DF3F043396858E7619B8A420D0CB2CDFBBE43E19BD2BC670E2F5DA51A1B8141F7FA0FA79538FC909D31847C46653C8184114505C51C49C844EC18AE5C6EF7820400D0859B3820FED6B023D1A3455C2BD6E1A7D25169B58BB71A82107893F27E994BA04C79D209ED97E359D02B991E402CF0D14EB61D4C1ED931B4526D63E9E9517FAA5BC83A23521620FB5B9E9AC1CDF45536AF54E567F5D9BC31196D23C58C0C70939497A3E11FA544A37991B5C06B8D7F57D3057E83C3EAF1758EBD0F569E5A8979D340740A9FA1ADE5A9D956F171D9A0D0EFA871E98AE8D5F3D5733FDF0388FD8D9564E6C267C6438F0F78D7A224DBADF7E6E645EC6952B96A9D6FB441CDD640B576B2C92BC7C5FB11CE767B0105DE7907DC00DD4F8F25DC85B6A84083500F3127708ECC1250AA15D350437664D0D6ED61E83DBEB951260C1746C0F06423C4B84FE75A752E7F034B2584920288EE697926B9BC87FD0862992C3D9934876A978744043D8949273A3583A7C5DDBC25DDC0C7BEFBDA1F306C9EF7A2F21E15543EBD5EF87C39814C91E1B60B079700 + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 57119C4507F975AD0E9EA4F1166E5F9B590BF2671AAEB41D130D2C570BAFC579B0B9EC485CC736A0A848BBC886CBAA79FFCD067CE64B3B410741AB011C54422568089405BF1E8DDD9E3BCEFE1A713DDA18CC2B73FDE0EB323FA7518DE2808C875A6C55111BE3E0CD20663B794048F5FF44638EF871FBA0F4C2ED41A96D3621606740935E9EA1ABEFE15A1A3BD55C8AE6B2C021CC772B34DA219115C8F6072A09F2B718E26ECD2538E5F12068F577ED7D03A2BBCC7CA7DB81D2CBAEF2AC8F33B1355798576CD3545B9DC792FDBB9C8D1C123EE0407C6328E09103FA6CE1B4DC9FFB0BE7236DAB3ABD29E704D0C352C524FAC14E12FB61929D98DED973D7E8785A8ACF52AF56C01CE62AD93660C93B683FC22088D7302F72D0DAE54553B0C3E6DA7C498BEB3AA46E7459779A1B0E1FB19556A71635B404C0BBBF3F34536F2776FA12206513FBB1F2A11CE9683460D22778867ABA7335210D817B720B3D8A8C48243D128EA2A4BA8996D160351194C0AD3988ED0AC5ED61C1F576A33C914C2BEBEE0EEBE55878E2B43A51E510251068E3C0F7C7292189573EB6AF979CDAEBA8B8E359E6B632BABAFE3528773CDD4A1861B7AB2532113F2B259D45598A76D54C739DC2F4AF2700F3B5CF22431ED9F73D53CAF41D134F5CC67ECF8F99549C091CA6697FF20E08BF6AE9B6BE74BC77F26DB50D25F48E67A94DD705521F02D3CBD5FD56 + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 87F2A509E9D42B0F595662CC93094F26F06A86D79D98398B7F87EE2BB5FB25384F9FE3F7A72AB5DE21CB3B7836F73618307242D53937C67CC5F36A7552F917DB12A4364736B08671314EBCD3F34C670E0BB066D3E8792ACE223608F5A152ECBF9FCB4242FEDC1E27143835F0C06320174E7EEEEB60F6B5A8DC9AAE97ECA494D79B3DDFDDBE91D3294AB4C3B3CBD1341EA4917733FB13A15BA34B46F0D5981C9DC457A123C4152776E15B37870C24EDC0BD9CB73CFA5D290739C17289C2DE3A71ABA0DFACE3B76DF71CDB67697321772357587E3C2319C15D867A76F5C7BF5CA2F523265D4118EAD7F96BB30349F5C4373D5E4FAB4076CEB6AB8C11CCDA6B7272121A11F00F67D7D5AE31E86EDAB458BCDE042C58E3D3368DC485BDABD40A3F6B7294C038B8ED3026E70ECC9EC7D6060504F931AABA816D5AA5EC9FA7CEFEC123E71C5135178F252885A7153A4714E0D9C95AF171A6AAB936F0B464AB07E32AAF29CD4D931562F700CA1419BCA2ED1243F8EE1B442CDB1F5252225954136E2E80A7FBAF9095108647AFF7F31D4C4CAA050EB1A90AB1D1AC0F67B9F411006A4B76D5CB4B48D2154DA87303ED37C9F911064E4D2F0531474E98F3F96B1A0A008DDD0AF4B86435F8B26BFC7693C338C6AF5823FF7A9BEFA57D72E2F1BB2982DA356A8B3D08D4C19355FD6EFB35D68B3A41144B49713A470BF61D0CA05E52044768CD + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = 20561970BF01E4108BC498DA4B8F900A0FA378770DAAE9703E166898874A1821AB0432D7CB1D0A7006E5461DD3049387C4116327D1D3E0755CDE00A3C40BB5FCFBDE5AD0A7E46650AE7CB37DC2F0E4F506DBA47437EEEC9F823ACD89F3EAEF767AEB39D38F8800DA54790F362A3C183CB9BC420047EE86B3EC22E2B2F4C029EF64A5270C21255D39363894AEE6478788436C758E4101F2096CD7F13FE76E54CC5CD85C9183E6E1A1A3A218379997AEF9DA643D8012F402FBBF88E6D0AE991EC4645F3118FEF0F66D7C8EE74528D622E1E9EF1A69E39CA7EA0E045BB568980D4659ED20F0CE68503620A94ED7D5C9337DC20805D2DA7D0F14B5AB3B93637F771C9E63D0B57AAEE353AFF672596C4660CB39381A9010600CE93197CC6A06219A3778B89B0F6AE003B5F9BEF76CCF6D551B852E076A678A74E75E408E1D4D6B1960488FF21B6F6B7C308205F93BD9DA1C6DA1DE9707307410BD7AE22FF24E24BBFDAE849FFE2666B1BDBCA2E08CF9D0F3F7698C4F983D4B92EE28B5B4B8BD98C317AEFCB41E56DD5534F59DA6C84B3D21587D2EE740F54A0C7FAD62A63B98AF747237B68F78A39CBA4596F81A223367D34557688B324B5335CFAA67E78A8095C92D70802A2AA76129DEE69B91D175BDC0A485A58C91CB8EF326B2C8D1D82325C4ABE4A0F764FC01A9F0A743E7F107CE384DC223D7AD7481AC8AB7BB273237CD735E + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = F29097E10DE56C3A4A24746EE4E7A6507050D18E40F1CB8C701B5E589FB645A4E400A3FD2C9C4D48E57BB9E146ABB1EF98D0BBC6375C266754C7F1CF62682F0C6A6D6B11E2E0AEA41533DCDC851319A34FB197D56F4A35D3B82C3D314ECA59E03774E84391E8846D236D0CC51E7A5591205C6C1738B746E616B2A8267709103F51D0ACF3156BA42CB226BE3E94F2293E9E0FBC19BDF5717633E17B5944A02505CC53B01325D1D77965295EA6B6B50E12941767F7288B9F4E6CCF3F567A1EA3D17379BD1DDC357039FB356D9457956A8E149E30AA5092A4F85DBEE2083A62610F04FD28A5A1880183366211287E9CDBE8B261E93557A38F6EC2D13FCDDB5DD905599B5469257F3F2E83125DAE5F30E8E7514D55241121D968508D1FB55C8F339530A437BDBBE04C42B6B229666763400F5493E31CAAB061A67ACCF41954C2AA0A7FA0087A4B828A1AFBC62BA09E91A3AA44FA4A74652882B7FF38C9C1692BF83FBAAA17F32DEE6D25518FA0721463334FADFC6D050E0CB195E477150CA1198EBE4D19ECAE1B1321003823BF04D8F9D4866BA3013C9A47FF0B53FA6C70F57D220D86E8BFE71A61354F099245004487B65E7C45E090630E6F73FDC56B2EFE6B3469BD31D23384CD4A830A716D50C7A91DD09A45A79F47D73BB32D14BBE85CFB56BBAAC47D973A6F3F9FC23EDD774A31B533FCF7E78A2A75872C5954788097E04845 + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = BF4EEE53BAECA39E2884780A1F007B5069E7A90F1ABBD12EF77C77A4038CA56609D52B9BEE113536D8FEC7D264F2951072FADBF2D3A0B21690ED5478A540C02D903B3675787929AC44A2BDC6597B2EF2956B3640B3771EDB189E98FBE8FB4CDDC8C641ADC707D47EA2DBE17616AA0ACB4AF8D7197626577A5AB5A71AF7223327FE96C4472B3F21FBA242416A266BD863BE3598D57DD910A265335D17A7B51F59DEBF9F4049ABEA37CAD33B8F2032A4FD5FC6F124044FBF2A9E47421FD6C1488DF87B942CF01F9FC7F13F7824C7C09AAF6D739F4E3876B383546EC682DEAA6F633E630101646BD1456CC22A7BAC50190548EE56C5FB0115809BE6B1D7CF5488A26660E0A80DCA89EF655A963E8013A61CE27DA232430183D41C9C9AF96C14E846ADDF3684782E207916820F57E04C60E999340F9630E8505C98F467E2A122FEFD1031D67789F890BE96D7B629828CDA153F9CC19BF8B6D0B0716F931F17014D9AC4B6D983DD41EDFFABCF33693F7558DAB690F669C53C21A4D8DE7BC32ACA6CC45225A2C980AEF2307A7097995D97EE060005CB965512CC85CC81A75D3F2F0975183D9CEE293BC69A06C896634962369E01F475098C62D574A0D6A57A5FDAB004DDD8C3D96AEFACB39B3E4E1523447BC8FE397B488D8A5DA6E4978AED897AD0A2FB88C5ECF86CCA7A67438B988C04F3C14A754A74ED3D03D478CE9EFD752C0531 + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = A697F36886208CFBD55C3CC1C407C3F978A31574E4B9A790716E601C6EE0ABC421AA5E5488B57E293CAD8AF40065C161407D0DCDFCBD172FFE700B60D7EFA289C4755733FA535365DB90082EEE0B812442E367BCD4451F152FCD54687DE4AE20F7FC60FCB3DCD1C419EDF74251EC84471D35E4EA43E684995101ACAACDC0D8ECF5F39840850557C70BE1477A2F168CBE97FEA85EA188594A4BDB583EF9DD2C5B682774E7E7E0CC85C1723CF91603793C711E2DA65869BE3A24D481C032A8674C1E0CD91A267302CC084B53C84AF3D0A7D350BB62A2F3B9027E1F253C24D481A34AB8D8B164A78B0A60C95C13454BC4AE87C5E4E101B7D04C6C3F00E6BC4B4BB922F39C87A4AD843704E125F5CFCFD8A1E8E894230CDD7DBD7BD40A9CABABEB5BAE9CC49DB656AC90EBEE4AFBE3897B0F7A64059BB331A4767983403DF36C919759AD6BFA379920594D0F775BA2390A522C3FA7B0348781155EDD29BE53891B41F44E16BC5C290C1CF31EC33E66E588ADDD70E79FB26EEE21DFDF40A3C54D8E1CD79F2848B4238F7B803891EC01623AD92E53D3EA22197DF29BB6554AEA8CF2D29EC4B673FAA0A0C64675F3BDCE07288EED03D980C36E4D10689DD5E525F34DF78B1E76CD87F8FAC22DA1DB1FD9533F58577D136FE161A688F3FB9CFB42D909EFB98085FEFBD8D26498A847C9493E02E5364290CBFE45570BA39BCE1415DD5BCC + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = DA7660020D2EFF07955C3724CF85B1B9533278FFD2EC05522B8A876DB92C7F9998F0F029B2156D630DF390B3F8F5A31A8E74B943D6B36E1C97BC4F059408DE495462A8E039F590D5FCBC3965A663F33BE332F9E56BF37D9108554DC9FCDEA2E771A5E22EDE61AD5476153969D1ECF5ABB108BBAAF6323D7E570B2747EC04C35E7DE5EA2AC0306042CAECF38B0060984460D000DDD3DCABCDCACC83414E56EE2C44F6D6DCF4875EEDCC4EED761B62E1A3386970571EE127D84563034F1BA93D2A84310956C532F0EC4414BB01AD19BEDA20C714125176EC202A9F8F9917359794239DDF0376FAB51A5160F0FC5CD16E7B7DFB0943CD524064104BD1CCE97A342035FA47138C27DD9FB00F6528409E10BEC016503B17687C66F2A00072B6245EC061598DA570F36B9FE8F4C35E3E8FCB3CA1A8D913FEAB1890C8AEDE727E63C6085B5C196E82BBF872906C81440EC8B0A65B2271285616C7111C702964E3232AC34E7CD4AD5F5568C9E30B813941C02466B817CB1523D6717E58B4ECCBCD74A923E806D82AF352395F22526E06A71585B71569E87C3D1AAFE8C06098204042CB2E41E92117E4264ECD229A7F2BF2A9188A53264195766707430B432FC332E160D786A9415A0260DFD91482B683AEC0E62B0D1A480650041EB7CDCFFDC9601AB353D9197CA15604351FC226BD574C3B66B1C6227B7CF6577DF01520214A961D0403 + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = F887A018985C64AB3D5609BE2121E73F7AB70D4A90BF47660E535B72DFC0A1DF20EC0C372862BBDD1C74DB76A0ED12BBC032283AA5FA615AF320E1C15315EA171EB224184691D13D38EF39DEBFA2629DF136FEE74C49D61282DB8DBFD0CAC30B135330DD4F25644B73FE8276C66325BA588C7178D39EAD3C8DB5BFB6A5F30F590181C84C6B88C421A4ADE52B6DFB74D1F1D82EB206FBF8678D95442DB8292189EA349D3335C8A4B57E88C4F91B12CD0A3FB10830783869ACC88BA943ACD63ACDDFA8634FED8339626233614EFCE39D60DD2D8B1F6BC87799C4B7EBBB7D407C5621E56CB2E8D3952E07D5560544F810B2BBC56054DCFA0731A9B67067CD1C8C4951FB2AD6466098DA17C9547BC5831646AC73BBD06E596AEDCC57804B01EB817EDAF9D46E3728F003D286B95664317361EF0B5ADC00DCB1F6368295656DF2A41C950367BDD25BA8DB2B6B7AEEB1161FD089D02E35BB9188E7A91415DBA172F906264905BE8EE1E9DA5AF53B3ACFFB44437157DC275D26323402C07C77070D479CC89AFBA181029FB97F9F0C9DF1B4BE0F0B000A218E380CB84A40ABDD79E267578EE379C3B674A25A30E902400B0BFA6A69CB7AB96661781E7CF05A6F225F301065B59C033C5D873A5BE3307B6E59708599595FAB5D2A91C601FC75E97DAF27B9453BFE95029ED5B7F2B95C35377E5153DE2FE9AFC847A82888E9469E8DDCF4E7 + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 2DBE1B6F378F1C56AACB5F9A71A12EB3516942F2D45CD4628E2D6DBAAA4CA282D640806C927C93B3DC6D1C96D528FC2FBDC91D7773BDBC26B2E5429063889F0842640D4EB0A69F2C705A11FD40484F16A0248077897C8039C575C1A1C7BCCA09952EBB4914576C9A9D35B2043C7A5ADE1EC97B6D46CD647815941164BCD8D117E5C4892B6A5A5155B066BCA61A9293E705EDD00DED6402F12D0DAFCCF608391F24657283102C30E71777B7B9F39F069B90B44A6E84D87660D1BCF9587A25EB59F814CFFA8CBCE7D7EAC35B27E8707F65F5B78FB16BE7C17812857B8CB6A447BAFC1CDF793F83B6D29824B3C355ECD204631EF1E176B53A6B82FDAF3D224851FC7BC0F6B83A6D05D0432FB34567A48BE56368272D2012C0F296324BA45B7438F13759A4A1AF293C244C5B326D6C68D28A5A3FCEF1AE25CEEC38D866D747D62CB9B5F8CB38B047151192FF44FFE1B35B5D08E95344E09BD7194CAC4D66722C9E365F3C0B7B48FE0A2293E478B4E6C8E6B7C93F41637BB0FD15FDC24E6443595FAAC6C342E8DEF79F01DFD96E624A8954B0AE93591375B8FA6D7EDA21578A51AE0EB69D97DE7AFC1F4FA797FA6D11D5C2663A8B09665463770000249DB5A23233BF83D36C7A15D3E8673F52DCC06270B246086E5AD0648236C68EFBF04A311A9A090C72A6A79116EBBA4BACFE7F46B5630F27C99F257A3C563B864933B8FC3672A3 + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 59425FE5B259EAD7E04232543C65EB5ABD0C4DB6F9E03C184928E877805B9E7EC156D8C1BD0EE27E4FA931832B41781DAD3C7D23BEA681C74251B1EC51A90077356D3C5CA2A2779BDE6F45BE6ADC20FE6DD0BC489B3D6E43DEC4FF6E33A24C62421A20B8740BA1E13BD6447E2D6CCEDACB692A4468C898F815DF88B8A3E0240BCD64D2277D8456642CB129F8627EBA5380A9329932977021DFD641498B40F8D75DB5A4F9F62ED2EFE831EBA92EA600BC95152B3E2FDA2873F54800C15C2256768099BA5ACAD759734533E8F4B5C729B42FCACCFEA0D6C7B5DEAD8A5A1D0D115836D63476EB3C90325F3FFC48C964F69B2957E121D9501405ECF5CDF5C7827019BF4A92417B1E44C444D8B714EE85154BAD6462317515CF1B680AADCCAD3F3B69D70875020FA770A0F7A969E4B1672DCA70CCDB8D7122A7E8AE77CA7E0819D6CEE706D71F0732DD1AEF5106C65AD8C66FD350C13F2D02237D2B4B9AC3DDA52E3771FE5473C47C77BF84DD90EF38104D8571AE25F6B7AE6B292708F0B967A998A6D8F66429C1C81CE5C03843877AE4C56F14FE4F5A24C8F93072CE79E3A3BE409D902881B73D9BDD3AA0C8EDA88F0511E98EB93B271FF5F244B956B1DA8C7A8F377F39C803355F1D70D55775C7FBA96CC98C02999A47EEFD94E52811FAF30C099078C7C1C50772057FE65E954FBF28CC414CBD5C2EB12AE86A0912D3812A04ADFD + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = 48612B3A4374024BF509409FBC6B12E049F2F5065A0CC31C49EEDD57FFD19F1C1AF6263ADE73B4C29AA77E5C05BC0AAD40C904106A19A8FD55DB489AC77904569ACD0D62F18BAC28A287299EF6CACD0B342760ABAE5A35A2E67F85E854DF55C5BFE831408C14EA2B0A3C0FFDF29D8B9FEA747EDB856DF6591B3CC76D3F4BC7770E38FCF603F4455C9B5019B7D8A2C939340BEC5247E597CFCE386A458BDD4BA5007D03BC82BF310B4A8CD328A62E2FA1E8FAE543736C10633B3C70B21B98C769ADF07567C3F6D89A006BE4B2AD21643BEC00DE1EC9F7CA7CA733ECDBCE3C58B45119E5F593DCDC5C95BD07082CF5D9B9A1AA11530E302E1FC8D6D2FC3B0FA834AE3B2E98B428853C8A1B9266AEB7B8436543BFFAF69467D7EECE47F2DBC790FCF2EFE2791213482B641388D58B504577430878EF15485E437A4A1F2FEBCD994C088283D92C90975C976331D051EA2C2EA887A20DF5C90E4FC77A9370306152FD2CA6C6410FBD529BF9CA22B4C8FFD4444EEF136EF0B61276E42B0D0424F2682F291C7A704ACA96B355AEDA4D382C16B3AD879BC6B688197294203661F21E3E881BBF4265C6B71431B5DC29F614E090D723BA086B23051B00B7E81AE8D2315C41A90E1205CE8A1C5A744F82B7582A099D61FC5FA6B2E9A28920E503B32A84F4831201DAF2BAEA8CB98E034F7AB63655E670952EEA74E3DDBED01EA9DCA9533184 + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 775025E1E1E0A1C865E2B57B7B43ED67FF002DF27DE0A62AC1776F894E1DBDB2921029AFE631201298CD5D51B9A2A6E49717E68A180EB27B9954A807667E4D24024DC3A60A60A819EDF2870260AEA535698F9B5D83B820013547E570847EF9F4563931138791B44AD298217000F039A9933FF02B99AB66A571D2D5E16507DCA9EEF54B1910E26EF361887512D646CBAD74F99DEB082F7AD971E2E9EE37AF77B80B2A763DE07D91229E8B5A0E9BF220B0C15DC939253BDF45CAF4A8172AFDA5D096B47793461654341D08599BFAEE496369D5D6E37562F9AAC399A413FF892F9DC07E624DDBAB1C72FA0F2D1AA98EC442BB1BBF7609074E61ED16D25367869A5F54E33B52DEE5020B9ACE4DFE5115ED049A6CE62227661BDDEDDBF77AC1D45114CB734D9CABC634908FF540C2AC162CBAAB655CB35138CBDF81CF5318E92516EC9C4CF05E14547CADD18093755458621C0903FE6ABC29AD174187F0D5D6B314CAE5A4F9586012D396BBC69D81A66927352A9F4B926E1CAE962A73401587FFBC6D9FAFA35ECC1B678D0D050F790BD8CF4B6EA3C3B663CD77FC6004C257328256F26205EA41EF7A423CC757E81BD7BC408988DAB45E8D632B669DCAD4585DCF6348C8C5D2DC651A4AC1806F3A55DBE5FAE59D50E2B9F25F89200DD88BAAC59C14EA0798194B90641642B425317BDE993AD1467200432B1EBF23440D0F789EA5A83D + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 36DA0700FD13A62A128D5C87F69863A9EE8DFC65E5E1F97C495A675ED8253CADE4F79D45D9E34C8FCD3D5AF760344FA76B271A916A539D467F9FEA26DF0CB98DCA0409602910D7F298D6E93600EAE6447CD2EDE4A76526014FB58ABD4A48ABB38DA5ACCA349F140CBB391A6705E4E153C87A80C93E912C912B9C97CB89B101E6BCD0B739CF89D18B522A1FFB858B837C643240DCC8F8553508596EDBA0282847EA724B5D25CE6704CD3DF3EF40E5410D0C6746F97F390DCD77F69E6C41CB009FFCC9EF3C6F9B2DAA646DD07FCE398A9603BC223AA22AF0676931D4FDD5D2C06C6F2F4D31D4854F72E44EA149ED172BF152CDD08D33AF58878B8E268CE44E8246360AD41076FC4E9BD9F460CF5AD24EA05F4E32EE2AF4B1F56B8813599F23DDDA7FBD9195A40C5683988D1A84FBFC951D3613AB6FF84D372AA4A0EB2B68FFF9B37AD1ABF88725A5479E77E55F320BD8BF69A2E174F715B10D8FF4E8CA72F2E29AB501F9A74CD4DDFFA99522D1C48C619B1669ACF555F5E5221D34C7B36C56C53C3EA3AC302C197D74735A1FB295A39AE38D87F451F86C327B67C16A1D1BE50C453F3CA5C9BBC5F78D7C46F5FBE1B44C366159AF8797FBD29C6B025894B66266332078860D083A58873B8EDDE27300B4177F4B1A70EF2557610F19B2FD8DF4692FA548A018A014F55B90D77ED357987A033ED8E83E07A5D5D3648612854EB10430 + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 4D2453D01B5B3FBF0FBC4E6F7D2F28914EFDE730877568F3DA9CA256C3252560DC9F9AC94AC203AB2A3829A3202E6F4D385D215B843D64B52B3CC28B11E3876248B4CC692D4F7DDD46C36FB7292794875D8353D945438BFF037737E3E9133FB6559CF65E7129B98644141A1E5870B22751076F4AF9A14F2B0D198FF4772B91F4F5329B5BF9326FE39D5BEA9B6D4CD19BEEE8A6B8FE1CF3EA3E256C7E1A6A95C5B9336AC8CD2AF6D35C776B5563563CC59906ABF1ACFA707AE71E6E52D6A77CBA9E960BCE2D3C11E7A6AD237874F6316D982207CD5CDEAAB3C5EAE28A3E5364626891555721F81068F60301B1DB9CC8D8FE00D9949EF2998273BCEDF012A9824B5942831AFD4922908624F4C2D3D218FD440652F59F536F8B33EC88CC3E9DB8A4513EB8880B95F29876C4747A8F83D089879B29350DCB6CAB4497A8EB14AFA848432310C213D7439968D4942CDA32B5E6DF26D29F42BCD98FE7C67020804380D0D9E4A931EF9AA117F872C7C0AFF2E5F11451AF753C383144E60E661D6DB11FA78E542FD2C9DF493DA608CDEAD669E0AE4ACD76744CFA68088420FA24A43B6E2C1706A10DB468D8A7B6E18CE68C4EAF1CB1B9D794AF9457292C2999DC18337531ADCA5BE1225BE1825B31427EFA14BE2B500C0174333CBD3553E05AD1E4E27858BCA6F2BF2A966A8EAA6012F4ECF1F3387F3E3409D3986F2E2BF7DD239832C9FB + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 2D46D78B2BD91664CF875974D2CFDB0AE27E00FAEDEC3370C5CB83129EBE05EC438A0A02232601C33AD623162B8BB160F5D8F5C892BBA4606D1937A1E4F90782205CF7EDEF07C0EDACEDD95F486157A0C64E0303D30029CEF36894100E79693F3E794596CE99ADBAF2E3D4B4ADA5D43B9735DE4B24520EA9C8041CACEA8AC659699DF823C7BE9AE82D52BCB294A43A751A71F6E0B939BF9F0831443026A292058B62817FC9EB139DD0637B7EFA73344858078AED6FE93A6F22E1E14B92E87CC3CB5C4FD7170413C4949E5D06DDD44FE90AC4EBEAE413A7BAAB1FD2B99BAFF442E155E94EB49D75EFDDD9C0BBB6C1EC6AC6496145C755788DFEB766CA0256DF9C658B7BC660808F875E9E38B3E297543D2C9032B454161F9CEE80B0A7F9F49039728D2F12142EA22C4708307B6593CFD0EF5F38A1E29FE43058A735BA02D4EDC010C02F4B625AAF832030949E81264B213AA8A16BFB10D35C5A369B86CBBF4EEE8DF699B302B052315AB495B9B287E9883B05C6273B4C32FCA1D186D2DF481F54355DA3AF3E7EAB49C1406857CB9F590E7B1B8EA5B7A0C5DBB7FD778A4FB570BE2CB735F21CA599AF8903596E80F8379B517D6A0F7F7D5125A7D4375BD90175EFCF5316F13C8B09219BC84052B7FD2BC1D55656FDB9CF1918997717C6E2AA0FDB46530C27114263E017FE5D91153FDDA221DD63F14C25E3439E05F5DDDB3AC966 + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = B3DC434BAD278ECE68C6DFBAC1416BF47FB37645AC6E6B7E4DFD79E4605EE32B9795ED18683FCB56F910E223704FF1200F015EAFB2EE06181E9EAB1BA17BC5D84BC22A2D5C134991C906A71D8B20F6ECD6BBC27FE715EDABDCF1C4E1A374B15AB4D76EA6AC580904BC66010CD8352CAF365DA80094F461070CFFA34A86DF705B87CC277D80196C86C602326E8E3AACE1BE7F0136C0988FAA11A2FF91AE941799EC4DE96E9F167E4088C822BBACC46DFA327DF7210C9B31A9F7306AE753152A86F9E0ECB03FDEB7415C9ADBA6D61FCA7F4D3C776EE6FBE6901860292FCC6CB89FB45A68F6165E36885DD40671EE372283591BC90C2B4A542282B13BEE71EBBA4E12797DF59FE47649A27AF116DA9F41E0F0B6B962F7260DFA2F569A97BF47405A4EC4A6463680E3903CC7C3CA2F39E9366FCECA8031DA89E447B37F3B80769FDC0449291FAF1BB8F9CECED3C175062DAE783F51637581E913104C7042BC328E1F2571CAA5572E75EE3F5A0F559B50191F3ECBC1FFC039BD3DBA90F7007AADED690FF35D8D84FD0A9D427B2171072F1ED51A8EA9AA8A066FEF6B88915265D80CA283EAB1056B6BCA093D60BFE288E3B9029E5AA395C9F3E3913D4B22BADA270A282FF83C963E97F1F7543AA92B5F419973671EE03A79D1392C40EE57265FDAF75977C9F0E98C2CEDDD7F7C52B4122A4E517280C9547DF99FFB30692ED39929FA16 + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = BF7A4FFF6C7B53893BFBA9505594DFFF317A09278C3A59221B8DFBDBAFD08EE237FCC272ECB1C7672B41B8DEC7D54B988B4CCA65CF297E1D54DA65A176350AC489947359E11E34AB3E4D6744EAD1775DF90BD5BE0712BD54EF46DC279587527976461D6B8F9D0C0FE14B10372550ECF74B3CB30C463F25090ABF7DB84D32F51E8AEE7298C49607E4D3DD79B9348E33F2E58A7D0D76394C0B1C79642CF2C3077CA0764F291FF48A8CD723C953276A829CC1E7B798BECA33E8B0FC0BD44224CAB89BA334E52D6943A1ECAC72CA3BC825BD61DC4CAEE1A12E053EF31115456DA434747AA8D6DEFE56E35FE67D5E761881D681AD8EFD3AD5C69430FF75794FAEA5553FD91A4ECF7730EE8205AAAA0DB99AEDE2C52591696514AED17F7B8942026AE16D67588A943E5D13BF47F15F1A458F06ED83A48641941DAB491594DD02C681950B84718CAEF0E6187F23C89FE46A40D5C22AE297A05E8B613B264D204334BE5922A6DEDFF5B978767233AC58925C672F4F4B0B77326A5B283CB1DF217BDDFDFBF12E4FEBA42E23C18675E0FBF0269E2D53A024B4286FA90685C2D8E67E3A60BE0D7072C3AD8BE9F4A389FBBAFE191CF06EFF95605A89C3C668BAAB7657A90F23B6B791421D214767736CB617BF1481CE103768E5A8A3384978EAA8F56A6F2E729D6307973ED19B270247867E5861172467821A22872E52657BA2FFDDF6052025 + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = 2EA40CA6662A79D253A43DB2845535098F8F4D791E45EF610B47F90D0F28309EC047BF1C565F799253E32A3C538EC6AD842406D9BF127CC56AEBC442B4B8FBB5DA5C759E1BE0C201246B960324A087B3A3093EF07CDF45D915C2A4B0FF70D64C1611C17C629BE9852CC408AFE212FC303C196F422A085A72684C10460E294FB60CE9F2D5E2A599E4F1E3FAB86740F61EE2DCDAF7E1C8D8BC298F40B993CBD0A8EDBBE0EB8715B6A58D2CECD21FC637B02E05BAD75E3B8EF0C2BDB157288F763F0B190468016C186A945032572E71952325D30D2DCDE2A915169C51D0C448644D785AC658B0F0132B3CC96884C41DDEAD9B57425FDC013D067697C0FDE6A2DD31AFE31CCCF9D85B46325D6CEDD80B70EC717278D70C4344757088906A577C2EB030F8AD2B18A1A196DE26648915560D228F702956B27046ED63EA6BB863F797CDE111A02B19A6F49BDC7EAB20E040938B9977D534BDD01D19B15781235C249A24EC832770A76520F5C0E5F5ACC6E6DF757FDE79DE7AD8C43028515B82614D0DA808400C574E5A982D0CF9461BD25EB6521064152DC7BF3295595B7A16410012FB01AEF4ED6ECF22C209FCE011888E29B8C3F84CB29F42AE0EC1C4C6D4C02619F90BAAAF7219BE0F2129723EAD133ECA7E0D50478DE346F90089BAED5D1D04563F64E3A3D5E228988D71DA3DF85D906C9AFC972CA6314482BA62C557CE7CE8986E + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = 489A2DA0386AD9F87188CEF4BC2B22186F74B1561D79D8ADE98EC2190003B99795DAFEFE1851276ECF233EC9ACC0142DBAA3FF1D94692430F67C2B1D809A88A683B73E00BBD678D3728EA98DC1A751FD5839B8EFAD1F4CB45009411B8F9B9442AC797B55E1827B0B6FD2A4B1E9F078FD43D9553399B9A52E7567CDCE4A27647820D8483F16360104A7AC8F3594CD786F51A9ED172443BCAC49E1F4B32E4E915A3CBD7AC18FE691E4B9BF35F31D1E8FA401EA37458EBBB1CB6C4E99C6B031C6C6981D95422EC1A9AF5E74C0218F403AB62D54E28AA116FF96CE0D6E8076420846DCCF95C9AACFAB3A4864F93B5D3869A7DADA5BBF8197411966166B2F4F52E3150FE802C96C47AFD6A9F64F7554FE3D52B79BDACD6C95401C9A78F11594347E77F727ACD5E0131CF898C4F36DBB067EE05E438B6FAA70D8B7720EB94728440147B159577CB5CFCCFE9A9EC321081D429FF88C4ABE02C7BEA2B10B61E521889E5CCC29470DC16132489FB43092B6C9EFC9517CCDC0B0824A95501D74B44560662141114F0EB6C7A0B469CCABD358546CF1DF37DEA67E3946ACD70A504A787ACF86B07298938882D0B67EE67D69A8CABD0B835152633BCA5A76C2E6DB958FDA265756669D1105A67889F83C01918398BD296ED801A0B5F0FC8AEFDD5205793ADB85A8D6EA15CFBB6A82153EE69C10C2C92CB38C90CE0E73E32489522994096F08D4 + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = 578B2D3B14B19C349DCE30CAD612BC2FD7CE8D6F034FBF4D328E7A570EADEF3F9624B65251F992132D25E5363BD653122D5257002F806DCE93D0B15919FF9EF2C303C748D9782588C90E3B236D51B69B1EAA1301A703B8B6EAFB6C200745D5B08A07A69B6204BE3DB36CF6127E5F8399E5901318F9F0C18CEF9201CBD31324D87CE630A64518AA7042AB3E2C64F39231AC3DE7BBE859CD3A4D90109B2955FBE75A38F45C4B841C7E1E32F22EB69DB97F6AA4D45D12EC5180AFF7863C17FE1CB7DFF337DA46F7F5B0DBEF813B40DD67F985C978B9ECCC5685E059F55E503B5BE924769A11FE1873EA406AC79242FFD6D45334D7C51FD4D1D5EAA28E1388E3BCEB4D67320D9723D060EFF815766587FC11C13675DCC53F30EA1660DC8C20332A3FF05E2E70AC821E0CD250132A59DCC4F40ABBC8783690FAB8BD7693BF106E8F8C7A6D59495FB7301390819C87C86BD94442185DE8B4CC784A690D742A439F73AE7E8252A3D5C0E4C0410FE919CD7A53F85F522C138A3D654D9B947963BCF293BEC3D253DBAB8FD39A48A340F8AFD75C97519BFF4506550BE8F1C1C7C345C89EDAA8A56F128AF2DA8E86A19A6494BC33DAD412E6DDDE813E3338D16C4C34D40C2E6E1CA61FAECB934D4ED0BB0A19D3AB88EA32F7E277BF8521AA733D7240394733A3A1FD7623463857E1633F0FACE8BB83437DCC308E4F6791D8790A54FF8E06F8 + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = ABED83F7273F3C7A73A700565F16AECBB0E03D278594A29FAC83B38689AE49A72411CB6FCA5D636EBA8C560CC038B47DA874429BE7C50A9215B5098F94110EF4E38F88D8DB1C483D3EA4728F43B25D94E0C89BB50C66CFA25A62FBF536EBE3D8E7E71529EC5333A2823DE42C50F02414C99CFC61B1E7B4C767828748216BF6B14658C114C52B7A53C52A3F8BB35048343B19C5B19FA11FCF5D78769F1712E6F8FB5B31C017D3E23091B1E8184752ED0669AB38E890D3D7880A71B0B22149038E81AF04C4CC7CCBA8487027908CF2F50EF3D6563141DBB9B898D06B7253B4057E9A69D026A27F5DF48BBF2FEE2B603240D44B9453FF485B2212828061CEB54CDDC17C8DE430D2E86045C790B23C84499C6BB04151BEA457C8A18DCF0094F969365AE1F25032AE0524C2A09B69F71BD3EF46E8871AAD3B58C92BC4B694BD5D47A8A80CA8DAEBA6584E5D5B4D6B5671C823E6F78D8B67A6745236BF675E28A17C2F8CACB4B5D167991D27813C5500951A5E78086EB87C18D0E26863260F6919989F5EB180EA48DE6A3750B9E2C1F780230E0070E216D373D3E0ED3DAA0F668A8810DA759CFF1494E3BD17B369EA71DE73CF0E7EB3912515E454544BE78178DB41F9FBC4BE73D1EAC8C015496B08839344D963F070E5AEFDBF29BD056B77C2B98826AE397ECE0701DCA8AA45245F26D718D9F46C90F34AD8EF70972ACC600BF5EEA9 + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = A9D48CDDE90093FF80DC7846BAECF4C7D6F876703AA4404BE050345BF7D2F9FF3F93CE132E38EBEA01AB691BAC9F8943CB33AAE7887E9783E0A11EBA2D139A615DF8A62EE4AB9E57BCE1F7FA19C3B3F6AA88B547F0BD5AC0E2237B514145173AE8DEEB6F606CAF1545C9F442D84D36080BA514759E3C0D1D3688A3D8B7C28DD8404AA5E09AAC0AF3C14792D78434762169CAA935E2AED3264A1C0A005C359B3B58BB5F9B9A6E5ECE5186F9DC26C952A298B76C49138D20798BFCB843D06CF20AA1D540111BCD50C6D39DFC23EF7A8AA8E93526690C8608623A109B1554C840F15E670DC4C33E3BD81784287C3FE98FFCDE6AEF5DA5C0038E31D111C333F48AD6634ECB47C45213F23AC0C5787CB9665D3B31EC2A0FF9C597A4372DF2CE34D443A86B8091729049C4EE58E4ED17EC9503360739C966B1B3A005237C668A6258E67CF9B5B3611A91AB5779D6282ADCB74958B7D45C06819E78E904B4C557BEC431704FFC563F40321E64A7CC456211B5C981C6C987469FCE101A81076DDABE22408E949E86457658E07F61F5BE6BFC68B968FFFE044BFD278BD91180A05A40FE65F26D907D205411B880D3EB4945652FC0C112525E06C4795C01F4B67BE8868594E617BDA761465D7BEEBB2C564AB66FBF976D38521F83B8DF85A203197F0B6AEA473D3CF3946E4DC87739A418101AEF50D1A4355B1E8E5E1D638191DD815A5445 + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = 41CD43AF243BE7F0580A9B406AA597E72958D24E45F52A2E1A59BC535C207EFCBC9D8B65A567CA05DA450458C2FFD58CA8CA3B01617AB6DF19A4C384294AA174D728CB93D6D82BC135EC92F13870DCD556DB4421C1C6563803EEE5EBDBCF14B3AD79EDB4E062970BAFB3E801D5DE4ACAF052A6E07B0235B0CFA4CDDE1E54C3A0CEC7E8401A4D38E12193E7CBD66213B7C7B0B8046220FFAFE868E31CE93FE8BB7EAD861D96CC5A3EDD4820BC2C62DD8A4D449FE9B938F1A55262E7CC25BDE92315E329D8F612DF71649EE0AAA3983FB4984B6E1127188EA9F3D40590D854F5BE570543ADDD8E330BBA204919D7911E56702EFBA881793087ECF5CEA975A88DB706FB08AA8A10BA5F72D2302DB1A01BF15FCC3B05C969370050CAC51F54990D57D9A37790B5E26D08B56DE0AAFA61EB238687D4396B2899FF6D250F92B1DD2ACBEDBCC1C0A194BA00DA478D0BB659D901009FF593F6A4F66092F67238909056E1A0EE1C8D51CD39BA3794CA92786AAB18D03C13CFC41F08373D1275D75FC58A9314133E62C14E05467EC5829967856817E7AF85DC0A83AF3E87097210E71D7325748022E25194512E54B9B18697C3B70B96CA8D572861D25178CBA90E503B84930BF714AAFCE91CECC995B2623C63F15A1F0F50849F57F5037BEEC1056D4163D728C59BDE6F526F331DF17B5A34177D7B05103735461CD325EEC332FE02A85B15 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = A0B529DD351C0F7C539BFAC5A3302F5E88906A29E665DAF30571447C3DCE7BCDEA802E364B65B3037903C5EDBDA2412E084CBCD4F51A4024CA6E154DA70C4781DCFC7836F06E5E4606D16D2E1BED0D60FB36B84F582EAFB152191CF804D121F0F69324156B733DBC79E1355B9B4D1726E393C22C82BF1EE85372CF04A594018C63A02EDFBB2892221875F20DC73330EDCEE0E62CB57D2BA43FA1E8AF7ADF157A79861FB48ED49C97104C6D89D290061229D51BDFABA62CB77C498A8D71F627372244452549D4F7469ACE1E29EC39E60E8563D3FFBACA5804D6660C7C1559879FF1804CF864AE8D1C8EF258B41B21B48400ADF439A76C0BDD62FBBC2607D85F4295AA0875601FCC1C3BE531B526ED081188DA38B0E40F7FF4D7A41C4CBDBF8DB3F46C00D2DA9D7F8FA3459F60C7419AC6F691473136ECED7C342D3EB5A39F611EEDBB0DDB3EB12AD67F1BE696795B951A7308DF5FDB83BE7BF1B650C1C9222C22677A4B37EFE0CCE03D7237699FCA345A31238067F83547C5442946FAB4E129BDDD409F8A0176CE87A341BBC353CF8A3EB72E5C7AA696B12B16E12C13FCD597D864771C43777E8433899F157A0DD21117839D2BA21E85FF2E09FA0ED73C9AF26173B9C3B8AC5B1FC4BF7C87F06B5AF7626CA15EEF79D529454ACD23A7643F91811365146FB18CD0DDC3D46C72C7D1E97E4414225A76B55A19B226D5A77FB1B5D4 + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 5EB982A2754FE46D19D8CBF86B4D594D14B421C8AB3AE44762447E9F789271F5A1175CA9B6C604FE8046A9A8C11A9FF9354BDC91BDF051AB6FA1F6A44D0E42977897F5342958ADBCC1E612A49B46EE66420E34F2233E8AD857359EA92E3FBE3F84191127833D6BDFF88019BA5B6982F446326877B3D3662767C6E91B0A6F9D2888BEA239B25F1B6A248A6CDAC1775976958FA9624EDFA7DE3050CB73602D24D13763C2D67A016308BF4C53D9C7B4A95AB542549944B74A2EB30F688B1FC9138B57FB76AB320AC7BD48727CF4CE4BD34FC3B0C2EC0E95BDDD0EF0F5F70FD34C6C890982978613D2132FCCF37541042415FDDE4AF368A207D59251F50E14D7A5310BBBD378781DF611B425495FC69A2A6644FC6B29ACCFA9918EBE05436EE9E191946AF9CBF15011BB53CCED508C4CEC0BC4E156D0884347AA46A902F216ED6577E56129B441EFE731CF6C0EEAF378F5A29586F5A62D10BAB2778F106FC6C3EFBF2452C75045D578C38222E14247DB42FA60FA6D909E0AEC09EDFFF90CC41B32A9725714E41FFA9F350FF3C1008511534337DECE84A0F3D5DF085993BD3D5C755B95E6ED4B36FCEE70B68AF427C3C80386983920307878C1A01C5D782AF85C89C8BCBB0EDB2274BF7172DBF16AE9BA1CDD7A97D6B2BC2D06F20BD0431618115097621A36C41C9788DC68B95955EA5E097177D66B0897C7BFDAED8487A79E14DCDA + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = 78C7D0D0FDB5FFBCFE55AC06F0E6E58C805FBF76FC2D13911B6B63888088CBED5F7E2071F7BBC12063DE085394A691DEE09DD1DAE2EEE0DD9491C23B0949C870102EAEE2F39E20A62D9AE95B0426C0FA05545C0F128FB53E0B8BE090C1C82F0B66DF4D7CD0F63C9A85E17844988523296849AF7105F845E0F26200A260912128FE7F2265C9E41D7FE587BECD50B8B729EC445C7CE9135C95914C6C9686F43A56CF652A6DD275CA6A883651F78E8FCB8168E8DD8FD780735F087203EE1A30B5A13D5F6B7CEA34CCCA3BD336B208DAC5878E85BF147B0B4E70D87F73DE0487BCAFB6ED9C3002E2DF56F215B78C7020A1BC9F433161BA7FC94B4CE3679EE955D80363420768C9C7E3C6696E94ECCB0A748FC1F1F402EBEC068078862F1E2DFC8CD6FC23FE1051E51DFE3D65B3779CDE8824BFBA8AB63FEF474D648FE4A8F9C083EE0E6CF8FF6768D1F54F313705F4A3D7568192D91E9F0408E8EBB101CBE97AD9FF76A1F347FF152F45D9B20AEB7DE7CC2047E47635032953FC5CC5CE45D66ACD2E11C77FAD0DA8DCF15FF123365DC9F35DE92838173EBCBDA9DA15FA35D10B64E7BB71539708D8806145A1892FBD4176B2E9931514BEC17FDA5CDD82C8EF9F6EB4E2900D039115D5B1E940E8796FA8FD74127FA53990639F130732EB48CF50620A9DDCFB01FD69490A8B5105CFC7A3EA274006F51221C2356212581FB16963E7EA + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = 832BEFAECA90FEF41577649B6348182753EBEE32EA688306DBEEF8665D6FFC6C5A26EC69EC8C90A0FEA854893C0C4885A2DCA4AE77243F735048FF31B80D1A4C84F055DEB1C11F76BF45DAD9516899555AAFEA86A129C4EED1D4CFC7604045D22120C8E06F67793644533202A69B683B2ECB19AED3DB158397C922DC3A90B64A8825541BA5DD9AFD7F82DBC603F156B9F619A83C7132A0D8AD71205C83AA4A52B6223507493E0F9FAB9530762A190C9FC59680C961B08CF36DEB67A9A472FF93698FDB84DCF3CFF84C6E9D48804ABEB6AA47AD62DC9463C131BFFDB127F9F63F8FF88D9EADECC6B0E00C657CE54E7BF800B9A35173DFC6669BB54A069D9EE62BAFE9B3C791DD51A21994CEE03FA37FAA5D56518A6B65572C1B3A17EF52F642C7B2CEE065282FE742E5F9C9BA5003BF1676AB07439CCCFFF7D7B76DF84E3D99FAA269F0475CB5EA7DB25D3BEBEE36B96634B58596AC788C5F31B8DABA35211D4708EB1F778CA38ADB4C15A831D8769AA16110DDFC406B05BCF25B45611319603C17A40A24CB2C38079E5684B473DBDFB98877FFE06298C33337326CC2AD1BAEEF678BDBFFD89BB1E35827CE296E20B0084EEAA0AB1FC647EFCC0231DF9B9B5ADED6DAB34C75E6CBE206DEE3E794AA42500FBD837B6F6AA015BB4C923F8F1F769B049888933773CD24B688B0F787A2B74AD15275AD6C4C336CDFB1BD929ACE58CE + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = 0CB8AB1E6149F41D29171DBB444B0F3C07FEFDE56D9CBD1150FC43E29009E0F5EDC50F89EA7CC0EA6C9E23236C6AAC72BB3321A51AFCB32F9AB5D1051ED244E2A8D417431863649699077079E1687B36F75C995D6A78B87A9E949A56A2CFBCC15CEFCAA6C2CB51F054072A05C12FBA86B10D303B3EFEAC18F8515BFCDDB1172D56B8C92C1AFD4AD5DE2476CF073B7FB4B7DDB8FB2C4BA8AB0C53474857F1FF47CD3B1060612F7C564988D2881189248CD13D5EA347F10E1F21E299294651342EBDBA1657862306844E274D7B2DC9DC6D92F395AF2F5BD01B13FC7C7AFF630E854DB63EC517FD3251D12C10B5F6C17DCB8990FB39CF1AD3B65F2F019B24591B813D56D661A904405DD814AAE4334A8EEF7CFA455C994C3E31B9507FC0E2DE00A1A0AF4DBCCBCDBF393391C5AEC9E3B4D3C8E5F879D8E75F63078E686A1BDD5E6358C5807A669F89F90D4EBB31B7396C0152D5DBF665D28BC59327BBFEB466F1E7570462ED898A31E386DE5538DB505FBD1B9020C984A49BC39968A69D5B3E2B9A9B61D6776D5349D4334C3042C0317A2A34234E8CB64B89D29E3A8B6E8799822F57C3C6C739B3C263CB4B283EF0F859305C84D11A9DD0DEE36CC8976E6EA1BCD04451B0E0EFE343634DFEC7868AD52EBC551D5CFC0277B15B854614FAD548337F20467D175EF3DBB135FC37367B916CA35E714B998C3553D5F494903A8B9A4B7E + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = 9FA49C101D9901053C789B01A505853C8370FDD00F7FEC13ABFFC91C7B06E1211DC293FC0D52911CC12AA9CED634B398284F3870E82B7F5AF9C3298D53BCFC3A3DE488985CD1047318C2319B9E2AC85752B3B0BA2C151FCD08C99E1176CA599557D3A63F4F1EBF2FA31CCF9AFB729713387A7CEFFB6F61FF8162B1CD943D9154ECB362E6ECC6E2669F746B1422904A3DCD93313E4031238B6EB117166B374FA8AE8440A358C1EA7B11B88FDDBDE57370836644B72C0219747A0FE793A1D77F42E66D2D695BC1D9567CF1A1B743C33EE309CB4956BFC426B06FE20FFCE98A72FCDAD31EC5DED9EA45D494C89AE577BCB79967CB532B97CCC1708EB2AE8E830CAC0953C34ED28BE988E89992C9F0C8FC58FD5E7346DB2F24BBB57606302B0520D7AAE54F3492DF6040916AF04B30F7F2480B22B93AC47FC5DE2CCDEB27A47C25045695AE9F3E54FB27052CB58141918105E0621156FF4BAD6A35DF5BCAA0FBA8D67A18130F117A09FF90B8760A7027614BE569FB67659BF0DCD1F3B7D13222A338F9E5736D5DAD6032189E149D22D56861B72A561A9DA575D720F56C365C5C8BD0455C18B7B73DFA4652C1D570A338A5B1D2A2D00A4387613D11BAA57160A513F4B64D91739E032ED72BB2DCFAFE6BA6136FB381857071250CF63051059F9BA3719305D33EF9DC8D33FD6D427402EE348324C78920278D6E5B2678C1C4FD408760 + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 7818EC8E1A13963C319BD2199294E1459323556D3E1CA05EA11081FD706655C1CAD1A9270495E550DD34A71D6D6B2554C2CCE9776B30BF0CB151ED0A87CD09735CEBBB03A188EB8A1D62EC0FB614BB8D1D67418F91DF9E7FEF2EA9971CD46A1E6AD52D2433DFFE98DD59E0C9F32A4A493ACCE9E6B2D946A56DA432A43E45A7914959AF23F1D08F5CC55B3C06669308021C004F0AFB3DF5BC10A7F19A7ED2DCA14297281D49952D067B094A4068493E7DF99403063AD007CE8CE76E2A7ED02F7023543E43E9CFECE94601379A048A73663A9B06B04704D59FDB6DEBA49799D3E8052C1AB34302A2A2392B53A5FB9547628ED4F8F157DB8D795CDEA73F99212297512A04269B0D5F418E2795BFE76E939F8BC9F2137141DA25CF095F2B754F6D0CFD84B3901A903445B7A71612539F4F736DFC1D4DA1B9A8CFA87F15E34D4A813808CCFE2C9A9A710A1B9752166996EDE550E14B55DAD529C8A99BB9FE2688CF2CF29424570715C49EAF94C0EA0BFF227ED445435E3626F31CD5E887CF1490A9A2B7951AD42EBA5B24B02EE726F95E1E6862DC30636983C88DC915361F209DD5603672C9B4D4ADA1703F56955015B9128FF7C0547DFEDF772E63AD7EC847B946A66B6E4D3DC8A8EC3B50745FF7841318BD115BA649B662C99B973F4E7C26CB1604D407AE95CE967406E70396558CA27ABD91FA7190A5D0F4AC89A070F45B858B86 + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = 5F6539A11001926EF3E0DFFB0142588D4E48ED4A212753128C4C944CC6503E5FD4111583D67FBFD4B2ED2D82447E985DD03CB4DA9CCD8ECF25069E84B4741A4C5756D6295E55075601098D996A375DFC3156D5F56E28FD8F3BD4793601603BC999BF93659D63F3B95AD0AF1F5E1749DF5197C95AEB05C683DCF37E9F362DB1DD64578E8ED9C1CCF0A3AD93E69B82FAC004ABB2489B0734C4CAC5B1A9316CC30F44AC42914AE696698862938DD0DBB3D8FA6A53D1F70D25A175CF810AD901D29DC3BE40E4F19A5308CCB795F44F2EC364946D99F59D2DC1DC21C5DD162B7C8CD5BBE8F4CA8F606A0EF5B4619EA93B278DCDC2E943455F178ED62FA747193215D76C8F76077F9209A9311F1F848009483C82A82BE1A9FA17EE69D1DE59AA305DA992F709F2C9A1EFB33DBC8108A7D22AD38934D2995A3A5D58DCDB8E435D18099D9B3A5F9CAB18B940F9E1B2DB9BC9768B6D29C2098273BE3EB77D07DC6E48868CEED85484A46D94A3807CED72C292FD699ACFB6B1DA030EABFF5456FCDFAAE70E851BA49142CA528D91D00CE148758B54F0293E6C53C7540B55288322B015B6067DD16C0CB711C63970CC16BAFA980A8C3D8DA5FF2236D8DAB951A2FAFE29FC72257AD99409F418E405858FBD1A9EAB6930977C034B3D020A86C25586F8524D6577557D73268D225CB8E38892D3E7F0095F68A98C1B7355B5E331D69BD487FE4F + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = B3120C516E7A7039B7F8D2A886B4774FA9E14B80A7F7B1F33D1B4FAAAD74D549E2195E5B6345B19AFCDEBA3ACD5ADE7200500BCB9C94D6848357D6FA88CF9125E59D0CBCE876D681A68B6AE4E25DD5994D496B7C64F0B9124BEAC30348EA6B80803FF17C0846E19F9ACEE413E07E6FF849801C131DAF7A36F2EDE51CF9D21CC0ED6300EC5D6B64E6FB9F2A9B909DEB4069738D60D6F9F6CC50D749AA7EF264E2BBD6DC680823C45AA8D3A349255823EFBE4CAC62C0D38A4388B1FED31EFDC5BD3D6227106FE03B4A40F21F3F0411405A4A80E92F3CC045C7967CB7AF2F33879DCF9DA5E7ADF813091EB357EC9C0DD097B868FE2D715C124AD0A44E2B6DADF5B360FAF6A727448D5D7B76AB2C716543A09E2F75D570103A8E9589AE58D01904ACFA0DF54E6FFF01ED725266F7E52B992FB34144568173065E406A1E98D8DDE1889D0B7274011CA00357BCD07D4CF8323F103D682B272A98395A60A95237482F00DDD52204332947D4708D9B8697F9CE529ADF3599C440E2B435F4F6D039B351FBB198BF360D3A184616B86573E7E32113B1A5E1EB52A1D15BEBB3C49407AD6282EE2551859F9CF87D0D8F0AB362A439EC53540B4B024EB49B525ED29626DB292D1333F579B1896A6357F9D0B51BD283718D2A7ABD8F3786A7DF2B512070A2C9A1B53457F27C6B859A2C6956BFF50AA7906D546C67786B68EC1DF3E93CC60C6968 + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = F59933F9E9FC474342B7BCB8B4DD6BA7B02AF5EDD2C1824B227BBD2A56287267804534E943EA69B571990EAD3AD5DAD06CA9C0BF97FEA1F3878824782E244D77407E3E83D5F527A1F5BFD8C747FC08C5170E4F6CB114A9CC34E96AC2758782344451BFDCB0902EC52A9FC82087195CD1019A8E5B03E496A42762FDCCBA6EC573D5C0740391697D95934F983231ED9642A0C6A2F92198B49670AA7F76C1715F3C80648E606B97CF708596AB9D8DDC7D039DEA1F4DE4D22E6ED297790AD73D9EBC2B1BC55315BB60E90EC7A2FA9A7922FA5A4E824BE742EDF41693F595571CA33EEAFF4EFDF58FBC0B9B1CB610AB2E658CAF31FE6E0AE74064DB62CE339C1F439A55FDA0F594635573C511D040CB59F2BEF552F38D87F31AF2E98B59E9F0E67BC57D59F51204663511865BFFE1CFC42B00AC0D69487AABCC648BDD8201362A43AE19A9570DEF75BCFFA6D000962E931AD32E36A9118D74C777F9A6D853496E9638332C3E6D7B0A5F030B2B4198C9B31A82CE117412C144914E784D9B0DBCB8A3320FF22C4F4F4810D5885C7DF3D0FEF30B4F2272230278C600834133C4E11AE65BCAE2069FDC1C863CDD701DB750DAE4CDF37A2314E39DBA691ED7D4A0087B8057EE27B3F6AF14AC0A742826FEADA8C5B5D52557952DA2FFE45E7C328E04C3CD61A5D8F5E11B3ACB6667A08498AE0582FE0E06105101CCEC61C63FF3CDE8BD1798 + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = 5DB567B895164625131B8049728A0A66BCDD2B27D37828AF41353DF5AFA10DF9FCCCCC110DDA3071A35319EF50821CF1796B5C319D4FAE433E8A2599325C511C3C03E6EBB7C10E3BE3545175675F7AB719E906640DFECCDADF77C345DD798AC7E2B7EE83C98DD194CA19BC1131200494A4B67428C23061CDC4000762C12565FA1C731A574530D282C2502356A75F03685A4FD08D1E938BCC2D6E7EEE748DD1391950A44AFD63B73ED549895F0CB38F7D292697994520DE110F782B0CF47BFB07CFFBCCA6D476D468B227B3406F44CBF3C6EF6920B293FAC69927DCB2D153350C7C8BA2D84D411E3CA70EDD9321CC0387A6DFB84221915094EEE0A272F267DC111F18E46C6D82CD6B98933261B5A880FEDFD23AB2F7B6CE349789EDE97CC034D0E0408E3E3B75D951D7DF039700629CE147BFB2E2772EA80C8681D6DB87667A63E3FF358E74AB45712F0BC1C747551DD96F72A6290C5E9679A45F37934E7E22378A2BB4A03152DFD450B98D76C233E107C57142B72389350072027BCDF9BD182A304E8B255F28459D96687083765E46F9B4BB14DBC374BB401EA0DA7557ACB2684A96F2791E1B8DB0919365820CD315B730EF8BB83124577E55A139DE4C9236182B885ADFF4CA2298F157FC460972D6BD67D538CBA7E32F9051AFCC00FCDF797FC8231360BA6B7ECD5C4D647338F23E1F578469E1558F49F87FEFE28CD761BDE6 + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = B3D7178BC88BD577C5D95A67B110545C8ACF8F6FB56B5DA15F5738785E6C950347905B928DCA2E70CD2A5E574811DDBC894EF7FA8EC3446C7897B2BB2D68A61763A892632A3C5C6A3764AA0F576717ADA5CCDA30BACCDAF71740316910CC08E8272B67521292FE1749026FADDEA743358421EAB011087D10D4208FAE8D5D607EE0D89976BCD79A12F4ED8B1C5D0189B0E2ED5B0B396C85B27763BDBF52D56B92E015CF080DF4F2EC80398DFBD733519F3915D3F102D0066D425EF9FE1AA3AFC8584C8F4D594ABA86AD52E71FA77893266C4C606A63891C41A679964A5E3AEF1C277D6D35D410ECA6156F8CFED13DADF8022AC9159F913C4838AE1AF73EC268F9D3BF085639D69F2CC51C39EA594948FCD238D093A799F266FBD90B07F4619E342E38AFD178864760AB109CB4949E518305B82ADCD68FE6E922D1ABAB2D132D10E0AABDAF78F0CFB74DEEF78CBCB422BBDE5083E57F016F4C5679E9D5010D4091B3FE61545886A65AFA49716EF8CB5A6C0EBBA4A2386A6591BCEDB3563BDA7F0E792CF28D257BD066D44E3AEAE8478D093FA9482FC26C77D73DD3150D53D9F1A030063122916FDA66BAC51C69CEAE533F7A1569A3B9536CD35067EB190D2812EB2CD089D3E1DB98F2DFE5A6839F5B04B6EDCA6732837D23F985E1CC9444AC04DF0B2BBDBB44E24D39DF2F447D72FFB90B7E9C68A46329ED630CDAE94707704428 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = 341AA5C875EB43F10E8DE28505858865870E62A9A4FF45BF977B947D0BE17B2DCB74D5880FB5316C5C0B5E1C7DA24D8C8C72E5CDA4A9405912D12EC5316611EB40AE84A903703F67D3817BB73AC7C2C449D4D6D737CBE06C144A20F99DFFC12A8F104DF9E448A96DE38DC6D7F83324FB3A2626BC91405EE5917F3765D9F22887777226BE829584D6E0F6544B5E1C25F939FC9136BA2E0C0D6F6EE5F4EA97DE937352D9428222667D974F4840FEE0770657DAE58BBADB5F47EB9C88232FB7BCC6F1FEDA76600FA2659F7E831129B3E3856ACA6D78E0D7C582852503A67876877DC6599C10D42DBB81E6AFD2919A18E4EC01EC7A032ACF2A8320C5AE348D28CAB36C85CD256DB5C30BA1F8891005E68F91D7B0CB0AC4476937D1748F2ACE0A1C512AD07514E31CB0CFD743E5C29633C2646AD1882176BA15E7CC8427FA20B2295100621A6E01F7FF4F27A6AC0766F9C25934E64546F16F61B5CEC865028BD0D7DCAFDB3D6912C5786372E1E4ADC6CC8DD3E0A0F299B65BEAC5FAE69E8219787A8EFFEFCB50E40C8BC1C3D033742D98FF30D64D72D089AEEE28489791F6099CE354385DB83256150A1F9B6CC7444665BB95614AE6E6F511CEE0C49288B3EB31F9C7D04B3D126A1535531505F0C2710CF6CE7A6DB31F043C7C535F89467CE1F6E85A10AAF5486A3A6953CD351D865F818FE959E6E74F2DE42C1FD6E219DEB6066C86 + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = BA270D4DAD10865DF673F0DBB9D72EF788689673116CDC469A8CB9C89E6D8D511DBFFF6FA38E29257C9A5820781094300C088CDDA2A17AFBF164D13E360EC04FA44AE98CBFB972A68D35E6FEEE3AE61CC217487D7461F7315449E201D707F8CD0E9FBC64D92012B22175E677A304D903E556A5D1FEFAF8177A8EC3E506354496CD693531ADB22BE09BA71B4710549BCDD6D5EE1ED3975258C77760725D1C4416EF3F3B45DD8210433BB44882667A2154D41792A37F2B7C5C85DFF707BC2A89AFD652D83904EC084D1E03496A7F402FEBA9F77254772904580CFFB1E7A0A8D489B6CAD6D97C9A5824545FDA36FCFA2E0A6F7E11710A8BEC33767303FE8843195E9F17B1B75A4625C67E39FDADECADA6A7E7755DA7742548B797662B6A24194E07CE2E0302FEFF4671E6CD972324173F14F5A60D443F6162CF2D6A3E2E0A7F2A6BBADACEC5F4B43D4AAD809003722982FC7AF821AE4143D123AEA6B7D8550541DA9D704D81D9E12820EC03E8443866EAA80A534A5983581F1DAFC7F124915D42F9A24887207C2232B5EF9D8DED3A3ADCB4D493FA2FDD6061F39F28CA3B489676CCE7E0600DFAE247A62E96BE8A63ABB977A4F35F8361B71C8578BDD63F35D17CEA1463AE0709353F4667367F0FA0B6B6B6EEBFA049BE6133350F71E9CC1B157ED18C9D90A1A4D134E553165549C18004279ABA0C4EAD5F342CC05039DAE1C9CFAF + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = C2911768C4579E3876B6ABF0A4A30646D8271FCBF3DC682C48C10E41A878609301F10073F3EA87BFD934854147D129DEBA9124FC69B6E29C271062CC8B3A5785367FDEC382D365D4D60E7E63E946154F948B55E7E31A0CAB5D25BEA7CDCC82D8B6E200C28C7B4946B4CA30B46970EBB415FC18D9BB60C4F81A308BECFB2E40F796B8D6F914FA7F134664B8EEF9FFCA684B296D26BBA051BF45F3EDB68ACC5D0C79C08724BC7EACF702633C99C47DBF4E08AF43A48A51A25620C1F16BBFE4CE1A52A60B4DD603524DE38ACC2BE65240F51E36C6533D85A7B0FB06FDAE420A7E84C4644B943E5CC4AC48505CF042ECE8FBB4AB90B16B7AF3ADE3E24F871DA2D86813A100C82E62F949C3570FB117407AB71A660BB4284A114B1F6817621EEFE246CC0169CA7C09FE6684A9709BB5E7C5C09A35B4D5E109E133D23CEFFF9E438BE621577A98D9B49B0F30740E7E3038C8BCF07E88ACB767F9A43B60DA387B617D6FFF8A8D8784513D649EF3A142ABAC0BCD8159F4FB65DB24616225FB4FC636D6C1D94DB757E647934BA77C946BB7D010AE5C78E05157466590CBDA903630809649BEF7F0D27000A9156B2D05DB89AC90A91F4D1F295D296D7783E6872FACCB70CBCCD244BF620D5499382421C8CB3829E756E6B415AF3C26F952539D14BBBE56C034B58124AD973A726676B7F278E7D4111701D69681412BDF08731C4CB14EABFB + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = C2AFC53CC5DBE46697F64D5B6B37BF1DB7DDD06D54EE9DA7873C77D91DE47377DBC5D525BA8C14D5F24A2BDD473DE53FB1BCBAE0ADF93B4525C0A77D1952A21BA5E575AB9AA889A19D85A02A1AE4D420613BBEB7BD2A7032137F196E0566C284CD11822EF938C191763BEB392EAE3FD6FAD77EA7252EE72798E5B4318961EF67E595BFE0BE036C478C88B80C50C3F7BD047066F4CBE031A867644529AFBBE607C6FA77602ACEF9A635DE3B1FBD6C967B6133040D1A6649F1FF5598CE0E76AF8ACE89406FC02F2818EF8C29FAFF1F46A551B534BCE2C30E6FCA6F62DF3BDDDE56FFD8550466F48C0D14BEBB386F5BADCA240D848EFB66AC2D339A54AA1ACCB5C753B081F0B6F782388E7B82C77304F30E03B5D3BFCE0F1B5158AEDECAB4749C17305DCF231A04EA2436F423F5A818C461E90D65EDA69DDC5D977B19F26E4C9DB874F2602A3F5BE5AB8C5C70CDBC57E5BF757037768E1962D0AC697645B598C46D639C7A0DD31B7CCFB88E4745BF2776505308C28FDDB084F67618B84D0451AB2AA45437202474ABAA0780935EE78D47EBB4E07C6466D3F8E83C1B27EFFC1064FE01880D2A7D571A955DCD4F55D631DFBB3CB550E3541254C0D4041479FBB331EC591F8AFE5B644F6DF9F4300375805BED126EB96893BCAB7FC5AC5CCAD3596D8C011258F3ED269A6B0A6C4736D467BEE9D495D414B475D9354174B36E975655C8 + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = B9E75F5D4B74FFBD244CD9566DF861526B5DE9584D3280BA5A684EAC9D44C91C0DCEC5827DA4EC0FA7F60D29286D348F576F4E2FA03AC5BE8F27E9F9912BF500D0CD549F5E5799697C61F0403C264C4B2D986DDBFFE72FD8CA6439FC01D1F7138A92947364D586D67C300F27EC2E3E75F9088A5B787490494EBE0C42D00401A2ABA6374CB3E33BBD737ECFBF80EE24D4985F6D11FE24FEDBEFB387D4EDBF4AE1F409E67F10719F47397968E406A51B0DABB4E9391FEF03F9F7BC47193215205386914FADE37017EDFB0DFE8C51B4C35C0AEB6F8A8E6D4D69FB538ECDBF65CF92325A7F280E8069CF9FCFCDE610BD024CBA87827E92CAF22482413C694F9F1ADE65B67F8E1D32E4B5D51F038C2FA9D89FDB2BC1848E3E7B54C4CD4D021F4C8BAFF61875899B79EF4A1468B0443691981FABC95D076070BBD5890EFAEE194A6484E584364BAC001FCB37C22858F74E1A01EA8EEBD49D9A55A19F5967B898C5B71D5F2CE93F4E52CE4B4D00D7C42E58D71C174E9326C5AE1E40BFBD8BD37DBCE9369062124CB47D683DB245A4F289F052F89812440BE2ED28B40049A9DBC75B3FB1003BE8A1B996BE44270A83DC20A38D62C5971D09D06FFDC3F89379A99923F2BE2FB6651407EE37F4BC8073E396887166AD4F0A4E156C72463A524EDBF462F62AAB251E32159CB3D79A2CB3A8FCBC196721642682646A83EE60425DD7207F7360 + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = EB24ECB6C9CCCDA1E8AB1CA26683B63A43CA864E23AA7681A4927AFFBD8ADEE82704B24B321D6C909A1CBFCB453AC084557FE84AB25E044885ED8051A0EBBB457D9821E9C132230FF27C4F27951432DA415D90D59CF7148569CBA02AF32A8F4B774D5E4667AE594C2CC4776AEBA2CA7D5F678C522A03B426AB2325127E56A4057837CFEE2607207DEA5F913CD64BED09E7FA723148ACA13F522B584AF9A36E74E86415F7C064C7575176488895F0EE6A6795B51729AC947BF09668A9ADEEC199592B77227D62205857B75E01E62E3D2757F02C4892A9E9C2A9187F7F3DDB16B7ADC28C33F5889F87F949EB0A61E5FE431A3C11191DA6D127BFC899CDA0787EB269D0296F31F3580D9F630E0693F292D2B9954444E56A82D6C81319CD99D5DDB2F042E9242244455D5D9F59CE9DADF0BE780494FDCABC72AEE397F13CBD656D246B6240A1C21BAD6E0126CAEA1C93096A41CF648BC0ED7A051E03DCB51E2C48AE32C88188634021A4B64ADC4B2CA9A5118D4B6698E87C1E3D4C2666996F8754242214F3B07806C8EAC8CB63AFCE0A03B64D63D46AD53F0345DC3A9FE550D43E9E569F8C2BABB2C025D843F7D568DEE6BC762D3B4DB80B8A3119DCB19A17CF5FE1639CA313FC74EACEAB5F9BAC2E546C36DD7C292B959A2C9CA98CD143C5822BC94179DEF33D146A16091688CE192BF03A7E334BD033DB66A3D544A8FE17D2F5CB + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = 75102A95654D885655B910E6778F8A72B263B0854442230F8D8923AFCC92C5BC98EE5F2E8D53EE1EB7F7A85A7562FB96535AF6C78F0491EB11B4BE2CC71CCAD0442DBA422B84FB16ED529278C57A543A3B8910D17232B2B7FC4B81BEA56A6E99F64A50DD73ACD26E506EDD60A788548DBA27AA66BF6D41C8CA0CC603D8CA515F3BC948AFEE2E7EC3F8CEBC56A01682E66A082846E8EDD0CED85A6D5ADA77A9567424C73F049DBB2CDC180E6DD85AD73D624BFE10BA0CE3609771E50B51004BD62029259300E333D18697A3DD0408D37C5E275CC8A4C6C5AD85040365B3A427F21BFF9F1660DAD79D439C5DAD6855E75840577B6AA822F614B42CF57561A70EE8216F9CCDD8B10F36455A2677CF93756A3E30E2E177029C4E0A3860CC01619549AAB73B52E7E5340B42EBAE37478CD899B71F9FBAF7DDE36C57450CB5793E371C903EDE8143F9CA3C8EA2231BF5F3191A49681EE8F45374D81A774E9F8C6EE5465B567BCCE1C77E8289C72411A1C8F5402906046F42CAFE88B54A5E8C7FBC5311B1A7C43A1094047935A27B2D89E9470EA28569211F1E6D99E9FCD1AEA301A6271F90F51DDAB660E90A50D10003BF425858CFB0D67ED630F74D6FF46E57FFB7236D55703A55531F89D92EEAC17C6A050F56B46BD0466A0A918EC972E0947A991B024AF21D9F92B6147155A1EF08EBF620FBB65C309863A25F3BD1D9ECD818E354 + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 603CFB5E53D83CCDECB22C5C75E67F5DFA0DB7D874E6D280DE014555B1300192D9B769482878950ACDB484E87C26F366D2DB049FFE8C92799954FE31DDE56A061E2F80A5DA15B65A0C9382C7790EBEE8E676373405BC1BCFBE974797CBAA998A0315CD9051BF669E00611880AEDD88DC690192D8D485726B47879861A85349C2017D9892692DE8DF315EC3EB4E6C508B85002FC7E6D7812FC7E025FCA92F14EE57EC9F507EC05FB8D143DB2EF6B83B8785289C2FABA51E962B77754C0081CC1253DE4CF8C36D2150B263FA01E19E5157EAC5521E29414407FBCB604A442FDCE7DE9C99D46D71F78D1B9931033AF38940D70651884B766762605EAE11457A60F44BF5CEED9C0E9A9C600DA70B87B57E4B5C280E3AA568BC6E3988B5481006298BCF9239583F39C5EF439E551B6166DAF31970DDF7BB6B7E068DAE50C15D7A1B3D4F3587A91BDEAA59DC666220C2DFD238BEF11F99DD47B87DBA8C60598B531013468EA5F15EDB0E2F43D4F4EFA673E88AADF4572A50C25B3B7953C4FF0CA8F32D374FDC3C130CCF67E95ABDD315FE7390D5160F6B307F3A20497C76F69CCF18151E5995452F01ADF1D55BF3A678D0ACFF44C50852F940DA91AA3FA8A5BC8CC72DF7AF11AF0E19C167F6031DC780DF8583F290059F5ABEC6917F7EF54339538424234454004BE4398CD0CA6CD1E71D0372F2229591F7647142C13C5B0897806F30 + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 724E26AD36068E3825E1F997CFED8AD10194B96E76EF425BD347254BF19BB862DD449E0182E9B8E20C8CB5440E34CB7391935B6F5D49F3319A984E313A9F4ED7107C43D737F016BD20D7F454A670199566CAB98C4D05F0D31B2811A48EBA4DF019936B0C6E983C3557DCFFD42238885A7CBA1376CDAD15BC2FEF1E75013CD3ACA86FDE4B616F2BFE310131AA5EE826F5B0451D4DFC0F0EBDEACB36A8B6AB96D7D81B2A21F7E09C5E908FCACFA763DED4361E2D9EC86559DF71A827662EF692D503C72987CC9F5A9FD69F9AAC4231BF27E8C64ADE3F9B51FF7DF4775B966A6C2FA6F913FD191F9B79DDDFC077363E1E62810F9D82C82A0CA9FD45B9267B17998C2FB7E812195CAFB0A08831CA47857E00E329072037B3A96DC9780FDB52379E7180ED0E84866D42779D89F56F94A8D86C0600302A09255F838EFABBD08FA7B342EBCE887CBDE92743A36C14F61386BC9FA5662F7A2E39E0CD165E0E0F635478EB28217C1E97EE7DF96D6E6143918C7CFE29236E9911D10C756871E749E2CA721DC4F1D0DAFB1715591F3708971409A54712588AF7CEA3FD2D0D06C036CAE4F76B885F50B3FE11A39F304C9702BF5F24DD5A2006E9FE6AD23AEC9598E34B4B043B092CAED032C3FA42306064805E73FE03560ACE3BD87D974C8FB95DA0C68E0EC4B245C849BBD06B94A319209514707BF5447113EE3B14AFCA06A6BF308DBE03A8 + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = D0F92C3953C2696FC132FA48BA36EB7576D34C5BACFA4E9D9F6DEA8F7B0B6B746F6F7914EE8B9C25EBCA91D601E781B29C99D0DA92A1C8670918927A45B2AF16E9BF00CE9A877E361E797F9511B9A116AB72209D7E8DBF0E299991B173E4C654021517A94F9F4CBFE6FC4BB3C3EB5171435219EC0D80BE57E3900BCE9327D10DFDCE70BCD32C129FD5D5BCC54C4BC972F67562796466F9BCC7399DB8444C2EE896ECDA88E0F9ED729985992F0BD707ED3ECE97064480AA1D10D4BB176F65DB3327A0F34D3CC32140A95594DA7707F565849D1258435285C1B9828723EF42C475D30040AAFB3237A759141EDE73070E8995D2FF72C727B1F8A215AF3E5113852FEBC029413C2D2F21849CCFF5269B8D188C147D4FE3843D1950FC09409BA0E5FD2C5567F11F0DD098810924E56463CE5B6C7437163C6201A9252DC484800303FACF0D6B004CC856BC68AEDEC5496021B37A667B02F5F7E7234484B531F07ED78B6EB747CF595367EC3EF33DF41D25424A858F50A63D5D503EFEB895334466FC3B01DA6246A5801B9D06071D765A65E64F2214F93B6F072115343D711697EF2E1463E021CF3ED9CFCBE5A81E54DAB729D52F2F309BECF754E3D420CF0CA060C7BE4589D748B84028517AF7923767833858A35B26B0AB5C5E3B14E68BBF50AC28A3129F6AE086BF783612749DAF4CFE87E75A4C89DEF988064E32D616F1CCC17D46 + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = F31DE8CAD77A334C3480D93E3B30844DF1EC344A8D44CDD277B0099F28001239EB0DA5B566FDC383F0E1577F67EDD2BC0F11DE67F3E7A4D97C56C9F3BB0FCB4D3E4D08F7F3D5C30FBD2D964CD45F36826F614668193554A33BF0170AC3E64C10E4E3570EEF84DF387944A6436A814DCC53645D01968C4EBD1BD0BDD76354580805BFADAC96470FD354BA2630F7FF8F7AB29282ABA946B1A9E063C316A6D337A7CEC2FB4B562B899F626418BB61EB4F9E9BD7B294C7ECA75AB522D642CE495640E4BB1E2B14A10775704DCE5ADC7D7E3C091520B48DD18A291841CECE5EF56E1969915FB497960D011A8F46A5B08EB39232283EF332F7AB0D8FDBD900BC200183186BE31A6EFF7F5F4CD27C12BBEEDB0715A0E6E1F6E35753FE7F3996C75AE34D2E8E76E43F49EBDD505DEE66536E5F2332DAF4EE462B7B524F3BED1293BC45DF9511FC03D2734DA036EB3F8C62BB0E623031939E83745744F7DBE93E57ED65EAC1016E414715B54AE83A15FAC6E76057D77C3811491F390C0B4EA0BCE292372A8633E26C10C11E301E57983109903DBBF4D08434A6287B8DF665BDBFB03957CEA7AE4EEF506AB1F7AF1358EB48E7FFFC9606C266E6CD903C75772E2E88E954585DE90111A250EE62FC12D75C5C58CB7C03C9C06C2AAC9EDBFEB02A1207AE5F9A92D32DCE6528A13725EDBE757F309449A40E93286388D8C09F9BFBF49E5FB826 + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = A3D9ECECA03A1016A8546AD75C7B35102D5ABB0021FB5F2B1F53B591624EF0F6C199F64DBCF325E37F4A361368CF60F3BDA9F11BCF5FF2EB1A4C0B0546B5E898204EA5E4117F519F72F2F5DE1017B2BAE0723D91A430B2B3C1987FDD24FF0D0F1CDE2483A22FC37F296CE16998C12994603CFAB4B496D3333B25ED48ADB1EC926A44CD5DB14C2072588F15EA752A31A8A3AA559A35EBC900FCE948111AF7522AFBDF7C56065B196CDD00FDBAADE3A80D2DB10271BDF6418F0F817FE991EC055CCA474B61E1AF6BE6FF6396AB04716809433BC8AF75369049E605C1C0028A0D370E7CD0C1EB571FB379B757E8BD21AA61C2E2F2B0D0DBD2D73ACB2DD0887923B840079BC74F6C69682118B2B3DFD3FE94D3A76EB8BD68CFA94034DF0B5419104675B9F5E56F8C6E0EFF12D9B20E27535A09E9FA103803B62C66D7AE09F8E39A5F505F3BF93D27EEE1B16546F97AF0616BD4923425A1F0FEA1655334A528C5DA469850A0257496C820A351D826EEDAB469A3871182B8435615E8CB1C8C81D34F8904DF7F81D48FFDE990B69F0608E6B05AC130709D3DFA9E8D9F343622991BC686E80B4F0877C03D9B1E0A190D4C33C11246A20CFB297E127FC359AFD037B1A90C040D9E10F77A3F6D9FC45A2877711559C8B09348B203FC49A1770730D1206DD03B9E64C390A308BC27896309BE2EBCED1A7ADE8D7187E8F6F9A76523FC820E30 + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = 46F35DCE4FF3A34E944AC51B64AB60D314E30C2CA9C5B4675D759E1E852835977B6E247C025A8FF0248C622C492A04B87C5A2C906B2C1CC8F9CF2E03DBBE046644ED26F37B2C4EB2D16B558D82E2A3400EA2BEE9B4D0A3641B7065FCBC34ABD67EABDF5AB7B3F278C47D24EE127515A2C94BA955A01A098BEFB59261082F23383210FE82208574B95763FCA6132AFB3E644461B1D78F3C8E04D860FB0952F9A33A7E56C1AEC1CD3CA913CA62FD35FBCFF62B0032484ED07AB9C510C589F62965D676382EC7E55E359F5BFA7124A54B83C245725AD796987EF4E9186C74E8B1B53CF027533341278B0A6B621D7FC68B556F0B3E1A95312F4FD3471EF1BF3C3C5ECE8269B29A51470ADE59A3F15F2600B858EAF8B6B109339CF1B15B0EDF36E0004992BED6E1B187BA60ED3E92A542A83753E14E0CA85A0DF441E5B03A9709EB1AE714615C7C5F2F54C373BC5ABE342124BCA909BD4F6696950E0483BC798059A94CD8D852D6C5E596A6CE12FF053874F459E68062C5650ECC934EEDE1E7206BDE104CF33C95FE103D279108B60B4078DB9522F2CEB28B77DEF8E4E59C93552B8C09C0D74E8AECB3B6C50BE0C123E2EB39470908BB7288E451C51F6F7154143DC78D5F5C4ED402217A3B61466CE80CCA2257D77DBB99B6069FDC6CDCA949BCF279B3E4DE57968DD0EF83C19C5E1A07B19B85FC60E593600470C3F4603178BA08CA + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = 77B7496ED08C3933BD75983C0C0494BDD8262493A4B55DDCCC64167E67EAC0F6E6307ACC15C33F3963744E26CA6C504D393B3EE8165E4D49EB3B6E649207653048F8B822FF884DC74937443B1C4A888C7A768C63D5B5D29E7446873923B9D7A56FA5D9E90760AB86D5718E3464821B79EB46D169141FF16120BFB650C76D4B3E5B3F6CE61FEBDBE09AED7F4C91066D903AF6E56531E8FF71549508B6E420CAC6BEDFE0CBEAE6BC228476BC8C00EAE43D40C82CBDF6B460C376D7C11648EB2815B6506ABD4339B25D58D45CDD0A0B9E35A88E251FDC34D4810D659D179F59EBD03717FD31A6394CE12CD5569066E138885CB2BDEBBA06367557CE849EB869F3CAC38800D51C22B666AE2701E580796394DFA02F4910BF5F86AAB53951233364EA20CDA35AFBAB445BE7F686643856F825394BE7B4B6D2C918D0151F46FB9AEE8A7BA2D706E48CB0BC429B064262C1A0EB3524FF14632F5184575C15F6F4A3446E93CB4E86B6A931BA268409CE30B4595FD2059A27183B3BA8D0ACE8E482866D5C7D5B03DB8DBD24B99D59EB6EEFFD209E124535D154B98F9991D84FE1AA763C5133D41ECC233930957DCEB7896AF70F735A2F5C1E79480AFD50943BC5014BCF0A7354AA7F713163B55A1E41BDD05FBBA9C1DB2C69043ED9EEA4FA45C990CCB4A8DC41AFAB18164018E54C47AC5BD6980FD796ACF0DDB42C7042A4877E8BE3DE29 + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = 8229BFC635A769D86656396B7723FB46BBA9868712F27C377925CA6B358B8391E0AD8C30DA71FC8F0716BB95ACB0DA00C61F3A7BC8DF1315715E925F1EBFBFB5D72CB3E098F0C014A80E88A44231DDA194DFA8E35E359F60EA5D7A5E0D1E64A8FDE294F4ED2E3E98294DAB838B2C6B3FAFCB2995AC17AF67669A24FB71318233A82DC8B934C8693B3DF784A5BB34CE9CB3FDE79AFCBFA66C07D1202C954E849DADC0C1D5BA79BFA74919C1C6FFFDBB834287C852522A65AE3D32E337C2BF16C3B5E22D4577F5B05F1B87218532041B9692B0EC561881479C924BA92E154B57A1AFBA6214F68FD067D109A92A9B0E127A0A6B78E85808268567CBD1A2653201233B4E80BE103EB951748A1D1F8A205856A650C58DF15E8E1C76644E52614AB4DABF51A2320A98D259F8295412291464E1D918C9BB8F5282301BE5F91DCC507F140D8642B7A6FD37327CF38F510679845853CFA039FF4CBF749D48032D6650BC7AC2BECAEFC5672CA7C61A8F6A1BD69D321D2AC1E6095B3AF7111F509BE0062707617C62DA3336C3086C39B2DCB9DA7F23BE732EF32F906243250CE4D38668ACC8CEEBEE87C43F077DF2DF1EA4F6345477490FE37725ECCB8D4F47B14A85B0D36FEEADD4A020DA3DDA4A48895DDAA45B5EF8499E937D06BFE6DF88897A828DC19D9AD93C622E0263E74F818F921C4200856C9EC9D36CC99A6B0BD59FCCCE72CE3D + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = 66126E27DA8C1600B68D0ED65E9F47C4165FAA43DC4EB1B99FFEDDC33E61E20B01B160C84740B0F9FE29FDA1FB5EFF2819D98C047CDD0CF8A0D396864E54A34657BD0C0355C75C77E5C3D9AD203E71FC2785A83D254B953277B262EE0A5BB7D0C24ED57FAED4FDB96D5FD7820E6EFEEB5A9E9DF48C619C4872CF3B2516DBB28073273E2693544E271D6F0F64BE8DC236ECD021C00039FD362A843DC3681B166CBC2407495E18903E469403807FE623F3648F799F18FBD60FFF7705D07464E801E0AED4F2F0642B9A2C5CDD0C902B59B1DA19A09375C1C13175B618091B8882A0E7205EE63A9219ECBCFA943A10D2D9A50C8C0B5D43B003F67EF0D52ADBF9F659BB62FA6E00678BB8D4449648872A99EECDBB3DC381B5199FD500912AFA93C63A6B23D00D0A416468FDAB93AEDD9115265BE3A4440DD4029FF7F88D9755623E77F9430B934DAE529BE9A6B307B1B292AB5918EB24B14598554B4CC6269419C701494B7CBA5B3D69F6CDCD5181FD03E0748D08E1E0AA5C4EC62C47877C1085873C016EF24E7E45DA71D3DB9DB23B153CCEDA9A9AB5CCD8C5466CEF29810098E976E4867075601F83A2D2CDA1A476A1E990CE04C4567FFB99AAC428922D9D8B25AF68C36463D3AA4F689CD778F79E743E0BB5F935E6D45F978DCB2AED12DFCDCA469556556E19F25D4C959C98785FB471D4BD1675D3B84742766D5BA4BFF2A3F912 + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = EFAEE039C0412FCE8F55F6E7772889EC18D0604FB18040DC1E5783596CD820B421A0DCAA528C8A62B17A22164430672DA6D818E2E555AA8E79665A6F8F5721A4E17FE8FEDA551ACC9116F1F50E95839FFF2427DC1D988B0269838102547D4D46C11D2548BE3F885111D53F3061A74972C56579C681C20BD5D47A4C2A9523BCE154068FDF3813F5D45A8D446758C212614E3A6E80EBCFEF81E44034E0F2D02FCD0AE5E6B10DC24EA09B94DBC47873768C0DC6CF2991B9477448540924CB57D3582D7B8E453E946C57129285B548FCC831B3E311CFFFA3161941689E3CD649C3F47D96037804D0C6A4FA8C09B11A7D5A35F6C4AB89B64C735153422A3E529E19B9AD7F7CC346F904912E1A6C098CCED3BE9755137A26907CFD7F7AEB1A573A971C4A5760CA5399CBE642F0106497AA1D364DDCDABF375C547BDDB6011F26B564D0CCF4E055DC0869BC280391E5C0203005D92246E377DC560D16F3A9588068473B14FE7E39F9C25108EA279D98DF21902E60DD4EB03266E873D3B0C24DD33066991386C4311E58197F24AF80FA150068407821C2327E900340550E7826B2F510AC65D4B21E9336610945A0E5A0EC8D132D694316F2B8A21CC24520C6204EF036116B2FE66A79CBB202F65E1D1782AE10CC71BE51DD44718E2FE9D229C705B94B9BA6B27A3925E55DA290875588C8EDB8A1866FAC9EFB7FB292F69A89ED772CC68D + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = F64CB396701785B64767D4F17A768EE198297A74E5D1617FF74A3323C096579C0279E351C2407BB889CD4AE718B09ABA711FE3AC14AE7D7DE0072E8BB0B6A1F92A1C93DDB46DE891CFB1F36814E585F672BA871601E817BCD6327F3A7FA7DE35AF6A0948DCF3DEDBC8A7154CE8529033F67FC656F95FD47B60E49681895EBE0824DF50F8EA0480B50EB3264243A88BEF29F5F4FBA012B86A5DFC98054AF4D15248CDADCB160193DE7068CE71EB76E32ACDD0DD94F6B27B5158D9E63EB25831219768454C8A951E9678F41EF6F654CAACB0F2AB5DD614BF0BBD932DE06FC31D7259309B23DF8B5864322EB2D8F39A07E5A3F324B64876612BE4A1C47B06F7C5BB814169D94B78CE22AEB7249C96A29C52BDB5550C7B292C96EA9ED6700F5D3032D2A81CD68ED3A6DE8FCAF9379ED0D95C94BCB0082915FF7DB5EA1BC25645EF3B546A728AFF4CA20C6F8288FF0FF4B7DBF838E1A3EC5463AB88CC827D03A748FBB924797A98D309BAC09E73215BF8BE798C151D322D6110C280D85B45785D854DA39A80F64897918C169BD7E1FC52D003999C084BF69B696E6D747E859DD2D6EC6FA1339A395858477BC49241B302FC74E0188A2A8138507331923C357AB4EED3F64FFA908CDAD9116039A469229F9A62070799026097EC7F5A71A7FB01B5473E8035D383B9F236F2FAA0E06DBB135A939EF9CB31AF1E312F47C6C9BE1F50DA36 + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = CD85DEB9DA581AF66C0B3125B697371F16EE34606A577AD6D8AC7E4E4A948B36C844EC9EA85EB168D7A5A1EB4B72A685AEB80A75075B420C9B53B963D960F7BC88DCED631C734114C28B2E20F0657D9256AB01B1AFEDDA9B9F85FD30D0DE3B98DB38AB90DE60045836CFB12C41E5BDAE57B937B637C11ED47F7DE242EB9F72D3253C5D883B22333F181FFAD60A541DA08601791FC0F8D9F44A94B551B1A879B76FC2B7931A2F4301D121A4E6861F5C84FFCB0139FC37268B5F8A4C3FD490809CF44F68BC1E665B369D4D74DD0BDEA71ED0514C37A47124CE146927274D95067C80036ED9F1A5B0A10AE71E837A09DBE4DC358DF4687392D99B2ACE8BEADA9656677518B1607C8E13B7F45100BFCEFA1D4E38B9BB29EB23D17B9CC66F70635A6C531BE9CB890AE833CD7CE35498CC9F81C576493913BAD87532B711F3F88873E9ED48A83B6B2C503E096A33F824FEB4CCC702E82CEF00FBD938FF9BEF6E3F80E149EB3433816A1D3FE7F005734192CCB5A8B0D7D43327B535547A9CC7F5FA286F9EAC26E9E6A1CFB86DB35831F75A9902A3E78F6BF9B4728836C81B3C614923C3EA88D6C5F55449A83EBA0F5FF7B4F07084206D4590BF817C1FEB43595462037AFB6969A91EEB963BD244ADB1B654FC98A0B0BE99029B3D5BDD69D2158939D677B054CE55DECF0F332851E0A74EAF2BF3EB672D4CB1F467D0E5391F98501FEC2E + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = A90053A8F738A68C18CB87FBAA8370BD14270412D0014C5DE8008FBB74E619182A0442C121F7E2449A5B019DC0CE597BF1D7D3E64D1184946D45208A864723A73CC1E242F7187811C522F880ACF53056D835BD150FCB7DB61363D22074349FF54A3E5FF2571272910A7333959D8CC29F69B540E5ECCA50DF7799236338E29255656930E22679A3A585E32B88C27452BE75BDE73789B45623E695FB7408DC51891D50A3BF84C5088C5F6FBB1B740DEB7FE38BCA05F1A3BBB516E9AFED0A41F8FCE94411CB84D8BFD51EF917184A66C56B31A190AE02B86F62CDA2FD7471EC030E94EDB56C144025A1BA9B792A515DBBF402D33BB6451825E52A87B7B82C44CEE32669F96F3D8DAAC5923127B51AB5C5ED43E5A9344B32C5A3705345EE98CCC5259C9D3342CC10D660274DD628F1C2C031FE9ED282500D5C3982C7976620FB46190C57856E519C6FC1760A306C3497F2E001C7113248F53EA1A4BF9DB370285EE441E4B43459B6F8690CF10BC1785138F8855DF859BCF1AA581DB4A6EFB576D938FC273E7D126CAAB7FBCBAD62DBED1FE2C33F24640AFA899DEF2825AC2C0FE928DF223B1043117C061F1C7EEC723C5CBFA8314E1B18EA6CB63C02B9D6FA3B27929B4D42F1D785813FEFE1249F65B725D4DE59AE071A4F6A40AAA26935F4DEFDFA3760C98CBE805A50DEBB3011E006015FBE8400CFB1B6B3D2162014D675DF4246 + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = 27BF218A01125514BB1B78E582AAD16720267373BB27FF96A594B7F10CC1D0A393FA753F50437C89301542D27C12C03F53FF771CD0DF4B38F40B607B67CF419020D34C18F5BD3BD424D39F47D118C84A53A635E17365F84FA0340BE3212056C155FD227D3B52F9BE75538FC23287B5DEEC0E5737C8484ABBA0BE6CC43D956F17A41CF81DCE5E78326633CF09326E0004B172763089A593DFBBC1A0960A16F207F464F9EA2AFFE732208E970E00AA0BF1228634E98031155B61F6EE509648D4B0BF58FC9CDDD0B470B95A0AED8A3A96DEB2F7FCF65CE08A826300D4E48A681019C5A8EED66E7FD5FF098308138B4E11886528AA9ED32617392B0F6E133A99683DADDAC328838008BEFE9DC680720BF4231E88848660C8EF4A2973046D8E70D8EE8D8497AED8A748B3185A77B238B5650C99095D8702209C0C31FE1770042FE3BDC2582F5FB841EB5A234CB4C9B637FB4C5DD9F90225DB4C62DA420F3D1895FB2EB05E3A3D6767F73FDBC8B94D48A555CE4CDE5045BF5325B782E0C242FB3CD27D963A9EF014DDBA4B0608F2627FCABB2EDF570A49AD5377B1BC7193D9CCCC23F5D35C2DB59D05DF8D4A8E5146298B6EBE1DE25BA1089DC746EFEF6BCE22B43FB99EEABDDAA76566452F544EAA85CE4559BA683A122CE76927242050FB236BDA091480AB1B9ADCA148B639F986A3E936BBA565B54F727A0D45F369DF25B9AE8528 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = 2FCE215362A523D7B76FB836EB458667099C58BC51D7EE6F6DEB9894B6A337576B0DAF9A806488C3D238762B7A2E7B12AACD1D696517EED142AA5DC5A0747F08E5E39A2486D75F497CBD6C4899D6F5BF2AAAC9189A6ABC6E787B0D9C5283C840E518C6AB0393CF60337369251DF935A02DE0463DBFA4DCDC1DE9034FC9C21FFB9DBD7C48384DFF31012BD5F5A9CDFDB7139C3C35F560913D643DDB728910413F1267BF1BF1586C5EE69DAD26B53154934762D4C80C34D511BDD8A391F83D224F9F8F83B61DAA046C542BC78F153A3AED27E1268058F6952258D274F11C8D9634A5BDD4E69C60DCF1F89DF2238EADFE783CBA652A554186D9E8307C7773722D1049C3815526F583612BBD8F6C587D058B80FBD38113957E60212777A9F67B612312583FEFB67533C065286CF371001440B1A7A43DE2405E5E92D633F12A63EE2EBC408164545DF22803FF239DEE66EAA20780D103D940880E8BF68B9D815EFCF16F59E0D858AF33FE4D287A2B8E61C6EBF26E16E354B3EF63774EE01A14691B149D81F010A655F308E966C990E1BEFCB6E4253FF43BF473AFA78AA88C36EBBE735B6B2F92BA9D07A738E000C9B42BF8A3A4D8FB6C38AA36B3329F909676183FBB520196D0DEDC80DC6BA0DB4D72AC6544551CC38B23AFE000A91F10A89956D2120494543E3FF5D7D1B2791207860A0B921DEBBAE769E55713A1D611F6B1175BD0 + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = 992E831E9BF5FD994A73F17699CA0ACAEF65E8212E5C4A495569654B5DB523BB04431B7910A343FF254F4432485B4A6A88701AFA889B11C45C53B4A1C4A1872FC685D644DEB5DE2340511F29D062F6CF0F39803BC333044CDE83103155A49F77FF8946A77FB092D1CF1715F02297ED4F6B0A43254863641C4C244DB87FE486A3EB78DD3B57CCE06722CCBBF53ECCC862A8256625AB03563FE4730F74C8F78037BDE37D538DA822AE9141B8098A8B57D74FCEAA072746DBED8C4B23F91B3DE8B9B733D06CCFA2FC18747590C9AC01A9FA675D8CB51505098F8993C494592C2561F8F2FEE3B267D8FB77A1AB853432850F90B8C52D08E23A19226A61E0589842ECEB48059F8F1B749D563E2C652B70C426B91B8B0E19EF2B319F2D7DFC25F0D712A76CA9332F92BB38CF89DED9802BB7AD5654B2357325CB1CF6F1C9FB364EF41EE8B0A8BAF5FF9E8878E56BA4BEEAE384BDF029E4911DF8E84F5B570704D53B67D6BB1AEF37976B38F405D9AEA67C6A6D77370E37BD78034645A9B6405672366DC061BF384EB0E9E73466FF5D018C9BA52DD262DC97970CB4B8AB467847C23DA0FB101F5A7B9EBA51ACE6C0119ED03C7A14AFCA676BED44922EDCBACBC79B6DB231C60DCD4ABBBFA0C13C0AB3D680AECA78EB9BF0F71CE6886AFF6C309594A9DF2D01692C56265A6E9256C366C4C53B6C0FC38B6EF18ED8C571D94EE27E850D4C + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = 47CB72FC64AEB3F76085626534EA346A2B4797B5D61839BD7A15DF05D5E3552C2751C697BC2C532E2B3A8934B9ACD8985671450DB65D6F44D9B6E27972FBE050E6A76537EED3E9FB15849ED61C3B2F6E30A8523DF8E95BFAE3A93BB306343212F1C28811359442759C85C3E6829A179C03F86A442DBABF49940297DE3F29CA9F6EE25EEF49B9C7B37DC4499A9D16D3B32DA2AB391AC1E6BA6F3967532FA18E50B1E52D6D3EB2447EE20CE459ED970D71E33D80A20E933F09E494A753D15590A29B15733FBC93217B47B3685100AA31D5029DB16FD7E293C51C55E54E15457F99009590EF8C7B7BE110453B73B4652B2F9C048BD7F2EA2590D33ECC5508BD62BE3A0918C174D99C5939FEE9C48592CFC220F59F28F57777DDD43AAACBD23A61A8473D4CCF01389E982877282E8694F03683EBB44406C798104B9F3223B0DF50EC964665492EEE586CBDED57A75F17762A2903604F8120FD1D981AFED7D6AEA59FE70DDCE738A41F53F611B927EC3DD3AB7E89A0B0B3943EAA2A74FA2C020984DCEB577F6B3E7AE98CBB81F3CD9780E52D44BDEFFAF466FDAC7A4429BC89295204B0FBB9C8A22A5F202E8536542C244CBF3000C0CC1CBB0C4E18A29CC92697B0E58AB1AE77AE10B1D3EC92EB697364CA69279C4EEEF39D27C06E63DAC76028DF7A5A974F8C97AF5C7AA31B5BB5F1F4DB2E63B3D4C9F6849129084C77ADE97562B6 + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = 458FF16E716EE4C47F3B60B3E473D91157767621E9E3A200EA0BA18B511B00C9BA311C7D542289D03F07ADFA6110675DCB43D5D8EC69C0EEF6AAF4664F917E01FF8DC5F203E89540EB96640FF807ED60D761C4D3D92F55604EFA648C5CABA130731FC2BB535146EF6EA4FF3A7CF388647EC25C3879671874BA259C6ABB31B4A8090BEA5AA7D6B05F5647CAEADA7BA35B45FEEEE744BC0E76D8EA6B84CC4103D358192BACB126800CB5A6E114709E7DA7766B761B6FD0A83203B82B74E87D426E71AC1AFAE590F4F06008537E79E2025007CF2F5ECD0BC1A0E14C5CB8384B9DAEC501CD985C9858212CE2B9AB2422F6F7EE0E081FDA987AA90A6D51DDC1173CCBEE0592E970CD3DDA52431C57FA323758AC0A4E47D049EF3C51211A4F9312614312B6DC119336D7BEBBF325C2C4D24727E2909058543BE4065C58F4E9E3F3F0ED88B8C392CBF610680123210D5214650EF8DE411B7F6EBBCF2DD95F7FEACD074A29516E42EFBE37C239E9AAAE6E0E1E1C61B418BFF50F0D7D56347579A75ACA891D51CB5299987734EE208F0D85512C846AED6DB2A2F453B110FE2475852C92FF1BB3439D9D6F3EB76B49E239F72883D067BF9D1BFFBB1B668D677F940940B9D042C06EDFA9256B6AFAA37F918A99309E4E40CD3D374DB5A37BB43DA60682FFD1D01CD1EBF9E90971FE16176DFFDA5867150FB83F271E4402ED52C1DF78F2BF52 + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = 021F06C7138F663522BCD444E597C2B78F4C8369C88747A155080005E09A68C6A73C4F8D1C7C088D3CDA2B48F310D5371F336BC261697542028D48FF92523DD78C100CD858FC5FD1F4918142447E11281881D9C22680800DAC76D690444458D53E35D263B2E081F470C9E8577565EF7F8C530F78AEF2039A0B253A28E29E6C30FD26FFF9677E65121B5175822D0942D0DBBA9F764514FB936369F74324E8F950BFCC192A30921F04552245EE79CBFA319063E4DEC133E10EC6B02002FA61EBC288B8404DE81D9A513FA7FE6DB2C61BC4ADA6DFDDB4B49B5CAEE1D7CCF5BA6F40A39AF92EA26222850D4F4FA9079F79365806440B89663C705A247629C8E28E77FD17D39ACB37BDA2DEF7847C12D7F180A67BC788795D6AE9187E6AEDF164E282C1E76322A8F38856C6D95460977FE8F6A760F49111400467E7E0EAA5AD7E9C5F9A17B462CC8B45F308CBA6771CAB434F407CA6CCA371A6C7313CAC055A13D5C79195DBD949A4FC9C176C26E6D5ECF343B199E478A25DDA55FEC4FD416E2708AF001BB8AC3773E7824BBAC1C0656953984B1109F1F95DB0AADE0CB53BE77E88CA83A86563E1E87011E718FB3616BA3E54A2BF9DFF761A42EE1E809DD1A431C7A832442461DA90E7AD5FCD581827BFB2C8FDB0A046F09D30773FBC1481DA0FBB92A6AFD073BA96811ACDEEEDAADAFCE7C70E4CE75421C85E9C1AFB270D120E186A + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = DBC0350CCAAEE7F6E18576E435CAFC7CC65EBC81B27DA2F18A888ADEE19418BF6F4D1B3088E5824BF663028A690354F4A953AE73CDCE6B095A835CD45ED5752D72E699ACF031529D73348218EAB5DD6F98D675E33880F6E79D0FB3A78E843F26E018F543872A313560F8024A6756013DB3AB13FB23661D33EF9520EA60A04675454B5F3069230447000ED2A879A1B342F560A8AD2F37AFAA80668E90001D315BA266D03152E714434FB0F52E287A235EF5DC4252AABC8722B6920A069C98F69C64BFC31B1E13D01DD00524401D4F8494111137EE283EFE82C2215FEA54304C3297E6A1A88E46F000084AD090551A994308165AA2D0D96585DD4C826554CE80D3C00344140D4387322650F857350812C6C4E660D2E3EE5DEC73D27A6455D6170569FB0F56313A561BC6FD1BB6FC11BC6A830F32847050EAC3451E153C00BDAB83D8CEF319894DB18DD80F1112E560E2353DE9C2DB6BFD428327AABA644C218FABF3D75CC42B3773DB2113D037588AF31F1B1F21D076F285F1F5CAFE5312E7C2FCA07AF2E6FE3651AEFA91BEA2740AFD1C2AC77EF03BBCCEA36940AA9A7D733289F9575E9E14617AAE7402DD7847114C75EB4432FFC2D3D0BD56117F9286609DC91E9CA63E1E064F09F2653BA905CB12C8AB6D7772203B0AFE6332C4E9F73BA4B652FF16E9759FB70AD5F548540C7ECF6C6DD7D17C5D2A9B45C548B7EC8819E8A5 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 7AC057C0DDA89D3A001AB997F2E405B4C1D1906191C3A50399A9A49B2E01CB2C3D20DB6618A7AEC42F8143C580505145E60D6E1D4559FE3F46F5AA1373502EB0661A608C31839BC4D7FA44AD6586FBB53FBAD598C05B9443D6CAD708C8664079FB276947C4EF022C1BC7267B41C1764B249C8E7B347BF006DF1498E31CC9EF2558F96F7F7AE323D6A633E1BF23312C1E9E2146676730954648727B61A5DB507F1959250D49A52F9804668AB3A56ECB6C49EA7819D093E85A0A1335CCD4F54360466F7C37DF0F65CE52F7B396B49D39A3AAAA0FE33F053EA711351BFEC78A1E05F55954D7056B7380430B45275E2CF57AC13F7FE332B760D8BD793CE4F886130C3E4581A5995F865DF2C68CB2FC01B558997A54AB8A684F5BD67855972CB3BD54A9620F71CFD3C9F0FF260B80CB14CFE4FA9D61583CFABB12BE42C4C64C85D1F26D3B0645AC60065F9E85C70883BE7F06B9376737F83313DEBECAAC3F1146B050F8B360A614B6C72EC91A3E44B196713F5754F1249F6DCEEBAEA8049FF32F308513F9C0C2353C9814C0E67CAD64A1F332624490A39DF8F9BCFA61C315CF2563031429567334038F1D086BE0B9A4BADCD9C4A0840348BD476C00A7CDFD8862E80EB9A833BD2BB56D88CB55D3D064326B8FA084F92F3DC2D8CDFBA3E3A0E3EB9E44B1EFE0563BC7A75F9A736A87A89A15A6812110FE92ABF5B8F77EA88C2207517F + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = F0C453711D0CE1B3A120BFAF25570E3E949207F575782FFBEB8A6600D7CAA9938D28EC6872D1FC914BF8BB02331C40728D3BE531197694CE644DDD148D0EF54C077D56B6506A4A941B087A61D3D57B8AE53824DA8D8CF069D1CF5DF46E309108D74F318D38FE1968F1550AD7921D976ED5ABC60953E4FD073A3AE7FA378A105E0FC3BCCB3CE3469A536EFA3F9E5C8590F19EC7E8708AF92A9CA35CAEC1743F2284DA30E613AFB371507EC61C5574771BD7436583415D8E4406EF39150E50CBE233A781E8867639DD491B1F53217FDE1FC5B93671C1B6931E07966DE705D162F14EF3C95E67C40AB1C0841380F9A9165C5222477FEB97E9A3C88104D7CEE9B3EC6876A0ECF0198D258B9E308083B826F32FEE17E2A59FC20046CA815FE0955CA88A81FB56A7C90BC922136AB0B3F3E034B62634FC830837F2DFD86798A11B335D5FBA27398E5023CDE6F1340241509E92C6A4B298B3BD330ECB2012B8F95DEDF67B68D5309FA1AC9DB856561D6E81666A49AADE4DE719E1A4B519AECE0BD4941A36492E0B79CB7EFEFADF4EDC6A344C4B0640A17F0E7F70E90E77DDE40A82457DCD58658316B4B9378BF058B05AE39D0C750692B92BB2D16B5F43200DEF81CCC61B2A26CCE991BF939534D61592328BFBA68AA8C9F51F3A04466759D7D1B966789FCBA85EE120C66A8F3C308E6A1533220E4A38C21DDAA4B2FC51FB49F59C84B3 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 23F75EDBCD5D5F329F01E45502B66995CFB9A5F0748E9E1BCB344B639873BBA79D21EF36B8CC1BD8A2357D8DFBF3C32BA6C0C2E8936FB968389D8D1388C20B9F572BF9CEF93891C643D672C8655BD67ECC3D0EC9452C6D1A0789AD3C734B926188E4A1B3D684F14C0A5D9E72CD2A10C5CFA8BEDC0BA5F3AC6B5150A256F2B945586981F8092E0827294FB846986D3885F38BC6F945B900EBB546094E29FACDEAB1BDC1D7FE1C6C83E562D09E08319E2BCA1F3EBD4A82B9ECBD8E6B38906D861E2E0704EE4F55DED4E7A74F188210EE439183E80DFA8795A1F75F0EFD49A4FCEFEB97F18736069BCA02273FF542ADBB6EEC13128F1D74C87D6C6B45726F62EA57ED49321BE6FA516B1AA2349B3C85A5F971C4E15715BADEAFD2E8A217D1188129CF49A54FD85803EBB361D73F0D8D0A7D557D0E17C8D83C27DDCE473908A1CF9ECF0F8085E77FDA3DC89C82609A647E25FFA8D2FC86194B2A793C7B32B4C893115EAB9A704085047F9225A29236C6188F017AD4972661C796A3258ED49493533BEF9A59A27DCBCF614AEAAF20BEF156AD261BFA23FBEE2D84D76AF0E721739AF02DF710D020CB80E895BF20685D3AE61DECA82D34206351870AABBCE23CDA3567DC1AFFEF9319BB1A212D52BAAD92D069A332BD020420FD34E6FB6F97102C9AF3C877ABD9A790BDAB7E7940B1CC01702D2E4CEEA1A3A2F20E3B4027BDDC6E2FE0 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 0AF273F2384078BF8BECF3731049A763753EDB89CA1AE2BA03B82EF5DDE8C5E23E692982C524035D406DBAD8FB897AF5D7DB961652A0D6F5C18D71EF1F1A541D0A29085AAA1D26D2C4366DA7E41781C34FA40A3FC7E9132C3F0CFFFF267E2BC771DD29266E2C649A94F3F15FBC71A561968E0A755D4D0AC7540B9E674539AA4D15D2FE81AE969EE492CE89104F994C6201EAB2F6A726D9AB88479E324789BFD003EABC2944C43BC061C1E24B7DDFE1C980F65DD598C33942482475F4D717DEAE78BA3D8A7A887120D9A814D581BE9D593422AB033A1776C3C7A6DA30D4D83E8E120AC733303C401B68D1CA76B2A20AF4FF0FE49780E25B43850D495BA91AA727DBE6E28B677C8C7DDABFEBCFAAF67B8ECD8BE1B459BDD68B429E7B25B6B0A02DD2BF0ACEFC5CBCFE5CD07C814E3266027EAE612C39077C810E766A872A79D68BC8FE8EDFA04CE2C80325C2FEB03B5C838425860B24A6BB2D91BFA5F67102A3F6ACD3DD6C9337BDE3E94699F3B3431D8293F793886238228BDDF4B38F229FE244ABE471B16A1BCC73BB7BAE6A93788DE0D349CB75729D422AFB32CAECCEFFC42B7BD0694B154286F4CDA4517534D0C2FA7B98E72AEF0E2B8D8E0BB6A5FA82EB802C27511256C1352B20D2E59D0D3D63FF5EC33670FA27CA69D2F586826D3A1EA098CD9CCA9231E74B91E999EFDA12F63FA8076A44894B40840FDBC4D25DFE1CF7 + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = 7FC1F7FC27223766C8F4310087A3C54A5A8AA061EB20D367194243BB62C7D90099684BBF368CB6BB71802C62C9F3258992C0C979557622A5FB15CA0E50A26891E73790EA3DF4859829B4F683C7F5C2DB0FE08ECF76B9D4E897AB80530D9F1D1242B42170C198C7852566DFADAC5740D61A52C4882F46E29AFE2C7335C5A1157E5B93610D0A8E4529D8473330547EFE22DD9757503C7A67ADA4E9B2CEAB8AC5B383F2D6170D6D6A17C03EA9F9B9399FD6C1CBA624E7911DEE9892B31D463B3A44946FBF246D773629EA484CD20B03D8AC428BC8AE87CC8182D96F8D220A7312DDBF191F458493769691E7585CCD740C30FE7D63101023867C9A3F02D999BC0AD653B71DC9A611BE56A44D4DF2DBDE402A0B7B6D7644B5754D50DC81F59FB17F7C38E62427A844DB406846BC74DAE737E24FF806505C5C4351A54AA920CAD01DDD8A5960AE143F476608A6DB6168FD5D72453EA010B1139417277E6C5116D1D32008A40CB3006FB65EE9D4F5F9AAB1648B3990F5B9DD338836460075B8BC504B4DD2FC04EC57DBC63D32CA39C07EC7C2348A459FDE1533B30F496F84502367BE809D0AB0C6E86474EB2D7A3A4CE29CC8D0ECFB87B4662FDD789A99034A64C5B40F763D098888FB32346EB644C28FD6BD6BB62E0D5AADAFFEF0BF0BDB801A809F76D79B84606183067B5056528CFFF3ABA4F0EC0DC926FFCFC2377035C8B5F10D57 + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 1BDC443B8F1E6A47C575A1158C00EC9E69048BE22AC067CDC1233171A69E773B6319B0BFE0281F0CABB4DA1F75C583320A96A62FE8DDF10D0C3F7871023562177E827FE0B58A02D38C5A4903B7CD8B0CA80012238372DC5DDA701A4287D071FA2B29771F70548CE43ACB0F2E5A49313FC76EBAFE8B75E121F0294E417323EC9BCA9FAFFA81FED2AA775AA2D2C641D7BE624EA861BD5C24CCFDAC1FFDFAC4627C3985A41EE5EB57E229E1A1B9312C6FDA4291605D26BA4401EF106DFB5BEFA7DEB27500F11A09617E8CFFBD39AE95D9EEE736EBA41AE469988947A863FF6BFEEA212EEA29297025F96453DC3AD935E75F12C5A7F0E6C12213BD7BE910D70EB978624843CA772959B5918E29AA377A7B4413946A97E546A9A05BF107C881C9499B9E907A667CCD1B3C64D674E3A5796EC33F6D6E4A2AE7D114D744BEE7729773A627C063133AEEEC4757F999EA7F01298A783C32934D29FEE45E2048322AA3FBAF20F9D70C1D8A0183A630E3E73CB2EB1C934DB4DC9101C949C46C1954D95A17B7D362B87FC51BE9FE98FB76B19B7FE9D1D76104D3D49FA7F1CAFC252F2E4FF32C3CA43A23947EEDD4B88EA640E58DE625CB0A9E11212EC1FBB24BCCB39B06AC90973BBDD279578666E4D169290B0321C5B2197B6A5759FCCFD8CFA820ABA055F81F1030840F3BEF889E8ECFF87D0EE1C53DB99F67827710DD0CF59346F2CD53DB + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 78FA82E4172CD8CF41CAD3D431E39EA0C6A88544402B5CAD9FF3D8CD6DC8890260D989AEE087DAB49C092A94975EE3D5B8706D0F1F522E5AC350306B01B4B19A81377667B20C201241315C3C05A9F7484EBB70E79588EEAD5D9BEBE5ACC3E226B807B46192D64A2CB886E4B811817CF7F219934C57D5DC2D00E3EE234B579B6B6E2D5346D3876CDB3752624E65434E88D55E1284297CAE624995B1B37671B89C57E876FB361ED8AC6345693D82BDEBE00AC37DE6617239205AEF566C1619F406F4CB1C9777AF2C07F693E35E4289ACBD91C59F067C502446F21CA1602D10CB1D78D18DCB043C4B4E06972178BAB4C90062342FF3646CEC8120A5CD14E19715F66EC6F619DA0EDBF1C9D9BADA80F0BB210F09476085CDF383206FCDEB987623CD69D591F301D8DB94018EA3F90B8F067C3E147771F148A60B440CA6BE7A1943F544375D50D45DB2BAF33944190F19446F7A1F04F7E45D59B9548E01EAF6E4D6D525B37A65769D280DB6DB391F27A9D84E4D97C7CE0AFCA3BCCA7A97636FF3756C6CBA855DD5C625574277ECA6A2195027705827C0E4FF945AA57E25EFBB65F5128D312145C5A8DA0A4D46D805C3F6ACFFB151B0484EF811770BDD87935CDDE0444276CC8B64E84B877A31D817E95963F3621AFE6FCE57D94D50771F91CD0AB1BC61DD97BCF03EBCBC2C2EC687B705A2BCC5D0DEB20CBE6459644D14633C65B256 + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 414EADC6832F91A04B7700E668AA487E63DB05151E29EF1718C7D9F4C6EDD1C88B05910F23D8A854B94C7156C421126272EDB73A6E158350EC7A39980DA19316346D1F330C3FB987D7B4C46B6469B7A59EB6B1649BBB7BC0E074C00A152517624F22A4A58800447E7505D55F687F08FB939D1AA6DF8E73BAC6CE88467B30976150636146526031BAC9F6667AA71516F9C5F70E502D7D18868F6DD359D8D026A040AF3CAB533EA5A95DD7CB2006552796C5E1EB2C3B46DBD9F2481F1B428CFDD1287299E7C7129B377E3954AE0EE96F955B7F0354610B84652705A0594C045C3CDBD1B564BEC43FDB5928B905023B1BA41B448E39E649C0B65CABE745C1DABE9352D05F165BBED160DC2C52794C5D0F07D1E18F47CB94F2F97190944BE08C4BAE53755B30D062B3D697575AD56FD4C75ED40CF7C239941F7B052500EE5CA7CEDAA9190988F47A21216E907A63C795D2292CE926D541F331CBFFA9F16516D54999DFC9911310CF564D8F1F00B92BD9FAC0AAC99A951EAE3175AD20558E8B934E05FF58351056466A61EC5CF4F11A01E3FE0CD6EA280E27838899BCAF7FBD8CD4308098E2EE71A4E9EC258D03118F0BC4619C66E52F35F1AAD2378D82BDA8ADB750313705D41263CF2FDEBA1AD5E025FC76DC620CDC3B684ECDE0283F9A7D69A8463B58F4AC7F5B1E2F3F580CA7F4188F32706D722BE4543E8E0942B316960349B3 + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = 0CF9AA0F0478443DF90BEDFC2457009F3E58B06EFB22D1F282DA4A2320623A250D584F27E2D45F708DA667A9BCC26E35C19C55B16A993AE9D98948FF2366D8A0AA06915EE5712D137D46D48C536DB9A25BDF88F99A941683E342B5541AE481B1BA6A889B7ACBE9A6593C53349C1B7D6FC8FC66627A2FAF7811C0F0A49D904246B95E9B668E8BB25D521F0905841B7B2AC64B2E359FB48FF29D7A314B1D2E7E01B0D210986664C249DC711346449FC77BAEE4DF54344CC18A816AD9C980BD0D9D01C4AD4EF0C702CFD87805103910E81CD3F6CF4D13D1398E755E5470E23ACCA6B510CA59FFA0B523A9D7FF7A5D85FBAEB3E5A9C11D947AC5FDAC04B0B77E4AE7943F696849DF0FF931E2300CB099F0DEF86D835A8AF4B53FC6C3D38BA33158A1F95690E8C5560C060B0E48783AF1E2001BB04CB4399CD27280715AA0EDA7AE754B8A13F84916B003F87DCEEBAB5938FC4342167EFAA2A889C48CF92F6892BD9BA41B61CD1B3BF94D612C2ED603687DE8644613605FE9F066E4FCD8FF75DA8FBC9C63C37D1828C173BC4AC668AACD20AB1E3F449A7BC4F4EF0A6AB8D5B0A70CC2D706B6C6821771DEAD7CB29F2332F4292DF7E397BDEE393D57B06A1AAD3DA51CB8F1D11E43D2FDBE72F69F951D0FD9217F4462CBE5C701FFF1025515829CEBBAED488FC26798BEE9AD6CE88F33029061A588E177BC1CBB24EB393481F3B61616 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = 2B8F5423A417D9B827D98AC1D21EB7C1CDF4348F28FF08B6F06389E4CC2311C5721509A5888DF03F7F4B94D42CB66F3B885EA8B130934A1025220769D1C352F72D378F3A63CEA1E762ACEA57466C3AF188772872C16D889F06BF0AA321170FC1AA842B413BFF9FA32FC1E060F868A370434C99FE586E8DF4C6DF1D167912F35E7BB983D668225DFE5A00241A1050702A5CEF8CB5EC957B779D6CA1C9F6858ACEB4E927E104A1DC59C5E90B31F4A6E27623B46D40D472D6D4B6EA6CE8BA4721A5A765DE104C4ED808B4EBD73D60A56363727CE0273710E63FB8A2D565C49823823F7B001E44C8571B885AAC4E14F8651CC95C11EDB3599BD85989C931F866B7C63F80EFF135DB2FE1B17D5DFF147959606FACA0FE22E5BFC88D43F6057DB91EB0AD0C5491B66B2EC9B20EA01E215F40922F41ED4ED64616960272617F32D62F28897BA03C5A8657B1DD4ADBF0F8E53492998922A47BB2D7897502F8687C465C8A7615089062108D70164677E11E1F63917A4F230E8C577346F880B7B8ECD0640D10622131731CF447662AFEBBB230C902B28D8445C5F3EA031AE7AF04F5B22D3AE7CE58C6CB4EC4158DCA5266AF0C50F609B12C5F4527F836F8804777BD6C80F5D7D9B0F317CB5A663D3B7F3225361EA81415CD5AF56BF24629D511A80ECD169AAF9558AF487D46A569495A70C76CFE83462733BF58B2A7C78A7EA1FD05611DDF + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = C52001EE31F26ADB120EAD7699EE35AC178D71FB5B0731299552B57DF2A4F521A021CC56D54F2B43D18D7726FA977FEC221F6819B5B7F933BEE2EC643B67E16BCC26A7DC1BB1DA3B40F2FE02645CF5BDF3140E89ABACE926E710ABF0F07205291A336187AAECAD9371DA35867EE8D8845E09FB47269ED94D04B47A3B6C460BF419F13AD2F65D63824805ED264AFFCA9E7EC9774C4E3669580686C0A02ECCD98277365940F4CBEA5DD5B0BC84F981C16FA6CF2D6F1A292EC956C7D0714C6895E96A7C884173E662CE5DB1018FB512CE773ED4752CFABF9045269922D11718C572A94ACCA1EDC04CE16D533B064B416684D921D46A8F2859E7D09660F620DAFCC232029A20886A552D29CCC30509A3941847244609911CA6C596E2FD915FA8BE37D7EB41D403043683AE9C74DC7D6F4770086CF8C6E101E989FD6A5C60E34183C4EF08EA869FE2AF0FE5EF701A6A64EE0D0F813A14E574D504E219292C103469F9A11DE750832C2BDE0261475856D5C9FB4727CA49EA81908A1F7FAA20248C739179CC09D93E4901ED63F14A57B20EF9190176A27BC07F912CC62DD1328B032B893642118EF3426B1A8B95A0E36FCB8A7757025606E9E485B56E84D0E691234E072AD64FB8E836118634074FD8362405DBEC4D8AA12E9E84068EE3B29B7F573CE1B52649CA0DC1F758C1D4F5E2B72A861D6326F01084B6B49E478FB4CD8EE92750 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = 386C3B1A524F2EC39C33FB31CDD3981FDD57F1E33D04FAC54828C54F42EF763856B72202799D4CDF4AECF073B8B9EAC39F0F6954545BF60DD55CE2FAB4558DECD7E1A5A40B87A293D35394DA64A4F606956213326FF4D8849A3F19781AFA9DBC0AD0E0BED551164275D4FC11638AF3ACF95C86994C27AB72F0E5EE366CA8EF39C000661BDDF23551AA368F347B4526474496CE14C30503C2513501404987446A193DAE20C4B384D0D9926814BAAA863320946B9759C7BF1BC890F88826DA59E028F641CFDF7223DB20B34B6389B048CBB85C4A0E4E84DC5C5241D2DAEAA82E9092ED266971FD185D3B661971160C05C4B42BA8E1E8E31FE588C0BAA81A2BF2017B1E0B99BC360FAF13315CE88CE653C20BBCFAAA8ED013EB89FA5DA39FC49D99E3C050E622122B7E393BD933B72C5392B165E60538BB6E29DE30A5947053D4A23038AAEFB13DB8BA4FB3B1A65B474D94E4CF985B2402BF22CA7FB723DCDD83BA875DF3C60350886CAB6A1BD02FAB32F1DCA0CCD879B351196E1F8BCC3531AC653604932B69E7365B8B61E557585B7A836379D0229844F6B5D2C4F31A6BA2CF4A2585B7153C6005D10526DBC144189B0747CBE58EDF2F4FFCA80FF99A4BD7C8CCE3BCAC36AA5D0D7DC2B231A5B888198AD71042CDA93C5AEF246CF3FBE7A663FE60BC04CEC70480CC2D83C847371FF5347A93D54059926B6B8F52CE6AFD2E5630 + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = 6BB18C45BE71508441EE815061ED782F4BB5ACF5393BC9BB825FC79CAD025C6D970D615F4285185696CE226969D5E06E1643F8BA93F5617AFB096ABF46DE2EE7D32BBAA335628C41F1FF308418556C51E6DA30639BA5DA36A14976DFDC013551F632133723AA9555B8B11BF0594457A6B288B01185927A48412019E58621806FAA968CA26366B884C428607D2D6FE9E8924E6D8D769A7D2DE90195AB6DEE4896ABAC3119FD15EE61251FCAB1D3858527E2E6E1B8EC05BF8659EA345E519CADEDD779E40D2508BC6EAC6FB531DE15CF7F3478A4288DF556D4B6C9DDC5F1B6071FEDF3C4F9A960B18F8301064B4F83620F2402614C600EA80FB2B24BB9B8B777BBA3010AC1FBE61AE18BFFF9502F66111B8CA1E0DF671C311A6F11697DD8C245C4B946B8DB03D6C07EF14C45CFFC328E6C12948D4137D6803469E996C1D84C3C1DBB8CFCE592217155DC8F9E1E558CB58693620F57F5F81578F060B23A1A75ABE8010FC538524DC1B5543D84F5F28CDE4AA509B8A034522F2F61F8E3A683EAD34ECE04EE84663475D65D6DB75CD6FBE011D6F1994D76BE356604D93311CD0410D3B022FC328CC850D7BCC1BB96AE45E8B4C9E53904FD8BB8B0FA1D8AAB9BBEBBA0724DBA6A2C71F28AD705FBE6BFD958FE493AC47D70A1C4B3BD738C519558DF9F66130C68831A7D748B7B382023810865CD9989735E25186690FA187E8E24B77B + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = 51F3DE30531335B02C0A8CDA5285FBEF9AF618E433142E9E9713388602B0486A99707BE420AEAB53DCFACA68CC6CC6A3133075A518D2EB1C500F0AC2E0B8A91D3303594BB38FFC45B80AFB8E25C4304A85280E6124891E739FC9DF8E34ABD9262DCB4330C2C0F22E78447B3FA67677ACC1F3D8E836EEA94AEA4D616132650C9288804C3CCA5F1C0139624E198643D52C42960052FBBCF89AF00D58600A9597BD12A39A33AECEEB161EE527398BD915ABF642746E4C965A77E916E700CA905CB70222A3A8B8C5DE3ACF75A9A0065681497F27AEE6B1F4402EA711CE6B24592BC637F83BAF912D3E10E0A7E03CE9314FB264E5FFDC3564307362837C28AFBE2C94BD89AD3CD4A48C1A2EC38090C38E6CB4174149CF0D5841049C1D7DDA1E51DF8F3216CAA119A9E3229CAA062039EB165F4D5DE68FCB76ED32F1E191166BE83CB6384FEC4528588D8A3188A9DA7BC1F5DE68C42D9E2934CC1010DC535EC87804810C009982BE6646B3C50DCAB7EAF4DC7786503F29EB3F1558A7341E49348F73479A2D3EE6B8AC076BF5AD17375D81F9E4DBB365B2489F17C40B9A4CC10F6DE034B4B81A3D4F81475BABB9581C4BFEE62C5626FC436983570D5C6144FDD5A55E1898919A8BE4CE3780FB254832CCA90F988004D12039A947502216651775160D987DF82F43275FC7B8A308C63DB7C28959AD9D8E6D27A5A551E685B663974465D9 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 41143CE195B170FC23ED53D7AE8CA61F397CDBB72F261750A7BD26CFF56212AC7BB1B18D002493F418185ACC703DF4417F44B93F4A7684D3D68F8F042A73C3841B6B5FA0079163D4881C39BCECAA548A50237E3F8DF20F986552978ADA9C4EB2E57062DB8D91564BA4EB96503B932B5FBE3D88EFABF452A03EECE5B3E78492DC555ECC95714A1C5C1B201CB42E10852C9A5FE101ECD53FC6ACD7E1D0D6EFECF81BA76582E6E9CF80E70E52C0384EE05978A31234DDD1C2D501DEC0BF1F26706F1C6AF4A6DCFE1E7245D7BFBB96DA619EF27B4CD67527BD6B5117E4E55297B9474A5BCD251F0F17B10F196CFA95ED3CE61458ACC55CC2BA83904796AADD71E978D4615E6588954F7D48B1BC705B497E073DFE2ABD5224792ECA6C09D611C311C544BB332B2C9D144D24950F3A27857B9F9AD1DB4DFB9AEF65BCE2C224EE9FE9785593CC9CC74D076BB5DC575B4EA65FA59A6DFCE634EF83072CBBABC5AAA53AEF5CB4D2C19A613D0054EDA3954BE7E649C2C38CFA9F7746941E2B77DEB63E62A9FFEC59D15329CD7D02FCE7006406F3119CF579E1F6F0A1F4FC74C7031894D240B5BCC9A7306754AF9B43DF80005C7B62F885574AE9C44B90D5CFB93990CAB41FC3E9962CD0F8047CA1AEB1399FAAFC6D6FCCF66B2F02CFB9532899CCE1AA8E822EE9498A67C3972407DFE98969F9DF9CE328A4B9A1DAE1651BAFB32AE29BF666 + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 1B0D344DE5A414960E67D684D301901D8E89C25EBDF7494DB9A1FFED44E5D688207F4533CADD09FC8BD428FDC3592959E9095613BD808797BFEF5130FBFCC1FC72B58D93BC4A291284115D5EB47911FBC0A4AA5875AA2B6EE1E1BCB296507183AA5399AE8192EC6AE579D9AD172F72F5A1957BA10B0FA4E9666FEE9611B048730275A0F4D6D48F98D860939936C9B41D1AF5D729B11C93085346D8769C141B81FED9F17FD85C0197380482483C5F45B3D8BEA2C2E90EEF2EB489B6986A891BC0F29EE7E2943355E4223C241427C49D7A897C956323ED10B074132449FB6371A9BFFDAB8D113282016AF1F7E8E26807A0B0B4809BC035BAE86F476F7FFE002BBE7E30B4C06B00E712F1D54E954D59AF083DA123034E73B9854B45E9BC2EFBBB7282743DC5942BF372D94432379EBEA4A656997088004A5C2AEFD6A4CE6FE94C2A06C8A0446495DF224269E310F1DC184DD37ECE4EE46038369C031FF90AD3787331AB6BB1CBAAB7A0194FBA947FC6485B371A684E7E1CCF4E9F4D272158A36B559451E48095B3C09328DBB52C7659C7E163504587962D87A5E60BB3C4868CEBC204238FA08B97AF71DE9ABE7F409AD0D29455E1CE59433685EFEAAECCBE01462B1760FE25BACE44CFA6E1B5C28DCA00790D96D2B6FAE377CE4BAC7CE64A97AF68EE913C33107E4A62EFD4CC752DADB23877B54795A43A7AF8593E085480F9B43C + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = 69271E30637CE53639A9A80582F8E9D91E0A19AF1C25A4E316A4ACBFC4534D7B6DB55BBDEA37F2526E5CA0407D0A39D06E2AFB6538C125B3390A860E033378440419FF91634BCA42EEC9AD80E55E65D43147358146038C9BAEBAB808C1A9B2D796BF22BAAA54D92298212E7101E56D1A0A229CBCF9E08791C6BD464EB997164502445C2993B1D2A6AC4242D1F4108C2AE4DBF48FC403FB8F353C5CA3EDC09C5D4993048962D1DDB474928BFEE27DF6AF8BEAEB264EDD09DB4950AC5E12561751BD3ABC41C9A81F6C5C339AA9F7266CB4A28EE26F29571A7F4C9B350974BEB0AAAD642D9934E9EFF77ED136BF825A845041B9C01F0559BB1987FD6FC951322E4A4B4EE50C7A7CC43324391603D689BD19ADA54982E03A2BD12610A09BD076C0C3F6D6E0CA348110D8DC5DAA5C842198AC5EC92A79099ADEA1FDA0DF0B35E8871373B312D61554391DBC9E1C5F9007C9D3799C24DC4A0894E175706DF7D04EB2D69D90BAB57117E04B681FB24945F3BA3DD7F1912171556464500D4FBB9084008A79EAC50D8BF59163AFBA8E0F1E5F82E15255398F62890C9521A0571813210FCCB582818A6D1747A31822DB55C4B6BF15A19076B7D6349873C88E86BD87D08E0058A212780C86915CA559E581EC3DC7D5BFAB9C5403661F09484F908DFB2D98B65F8543FB3F102C2C5D0B89B15E565E9B04E07F7141E35102BDB056801100B160 + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = 2730675F5F4DB76D342EAE88CF856B370982277E24A1F95E071EB0C28D6655D9517CBA67DDE32BA6A4A322D37AD4A4EEF90A60E2FE3A568417BE75432F57964BB1DD7A5A165C24F38F4085CC4551C35BD0E2663198DF04EE86803D75EE5ECBB14D7BA616693432B0FFC83F27E82016D7E3436C2384D1A7AB87E4CE758A5A83A4FD63831D6F88E4E80D1CD257ED4B418FE1BB498004D1CE8CDACEDE429A53F06EB77D0A6AB47BEEAEE12FEBEB07D434E26A71957E55F4F3284BA0F8157DE3F1C8E0E4874DB4E65E5243982BFD57A9E70D18BE390834A9C3791E6AB6341739A963A946E1DA81A4D9B3722BAC231191EAA013E424C2B965967AE986D50426D9830E92499E0808FD6EA92A8A1054F93A0F84C11BF417DE01A7B0BA5890172BCAABB3D2CC23853822960E666558B2B4695F38A22B576757C0A1A84437E7B627989A4053B14954ECA09DF2221D6C6E88654EEA2A741DF3BBD6EF2A8C463D797222E72DE8E44C8C6F2FEB44E3D2310ECBB139AAF3FE2C4B2BC9D7142C0291BF9FC9771178A484417202DC721876800E010E53F1972E3630B5DCE0216351E687552AF2FABA699A4E3E0C5385D80DC367FD0D07258DD59A6BA5D2E0FFAE60A5E0C48243794913CACDFC14D20001CD9A097A9CC57D313006E0B8945ADE9791812B63E98A291CB009E899DFCC7BDF9F58F3866F6C33AE77718081A517720C34DAEEFA527641 + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = DF6FD8F4E768031B0CE25C199F02EC29053EA8200B7EB306E802C8DF23CB213CFA06C37630A3B14570968948C5269A6770622527C87D432098F0CBCCB733A5D28B035CADA562BD0FCC032D2F45DB8D2C948FB341AC2B0C5C699C62BAB551553099E8A21518AFF800C8ED42B44DE7C30F29E691C1435CE72CB67060307D1B1C38192FE198AD3D20E9E12A8C9529F8A134A0CCAC8DE552AF3FC05D48FE2E3ED1DE5ADFA0B7C324320E262232A14D3A7163A04980CFBF087BEC24E356DFD8AE4DE9B0620BFFD1FF904E58B3908522AC13D1D541F662D95008B1F8C52DA67829B7CD208BC9B8A3B6927E575BFBF7E29F1CAD832D9D01ED41E5512ACE419B92F71FA0CF5F79E33016D5E19EEFF561C94827584623118EA367D768BC24927C92FC19999FEFF28E3A09D2F266B28433CDCD515895711FC081F8B1D143323B680E8B7469EB0FDD467143C292C8D822CC16111E9AB2A0C9EAD40B2867303686FF4B9BB4DEC4C8B552E3796CD91443AF8C4542897769EADEAEA39A366E91D65E92F06CD6554A1F6CA905996F5F62CFD559D1B300D912E6FF91668534880E6A8C414FAD3C107A180BE3E0BBF4F33CDA343032D01C98C6320F6DE582DAB7B15FDD6E75AC3AC7FD079B191233D872AB351AE1A56F0A4CCA8D0215CA1FD5F9C45EE171F4BC72D18E78ED6D9D651E40AA77522F6E3451995FBC3207FC0F30D1B39EE836F9371A36 + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = 3C891240ED9F62F45658B5C1D3E4D77975E45CFB10C45513927EA9D911B3E41414DC0EEA38C8A6868A9E0AF20F96BAC833C1DAF71D0BFEABF41B8C26C011495F8DEC94D72ACB5C5C9ABB1C372F8B779BE741C860E722A0F85CAAC3D21C6C9EBE61C6489FF5581ADF5650B6416E0E88A889CA60CC641052D601D491057BEF36B4DC3B5B76BAF0DE4E7248A40D9BE6D55A7E8C26663828D08495DB33F94ACC7E7E49A7A61F352816D8C4C0E23F36540418AE6DC009FAB33C945C6E48ED60BC466478788002220DA9A5560425A6162AA03AFD5700CEBFAE439D20A85F2CB826CC8814940F2CF25E34754D8DF03DE448FD1D1AB38BBC2B1577BB1BC39DA7B91B7E63F78C5F43A875C427BB110E0D5FF07E004AC9D810D333300A2778A06369B7CD684AC86AEBC97D7B9C09442C35E66925BB0E4C04C5B3D11267F0F3812A5BEE8E18653D98B6B586D5735D4D3C92E3B76DB5BE509AB32060E954D97FC8B6A428509EA98E4F8210F42DB3229E07E1EEDA684B47911556A8C34FB0DCC0998A781FBCA574FA891C24B35251C9D0D8429763468CBF0214B2D1EC94AB3FAE82E57C748122531C615BDBD4CDA56ABF319D6EAFF738BDA7683BA4CDD78737941DCAC4FC45E379BD6512EAB6D14C4F3D5748A3CF45713792D314F81F1D1F5ACED67A0A9AA026433F320530632E5F72122B63ACF01F2BCCDA9BD4FC579E6DDC1371DFCBF7347B + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = 201561B1D68F1AFB93098777B7D95E56B790194F45057B3B50F08EA89436E54BAC9A5E945BD1CBB51ACFBB0D61E539D1B3E896A1BC1426C1FA408B5D16D706457C35E3D67377AB2817127A852DA463FE06D2EFDD25016521F19B8D5E54014A54E297014230C81C917A983FE4429B47F6A460FCC4AA5A4E1E322CF74A9DAFD30D313D2C0F9EBD1A8468A300F12E6CDC0E971BB7BFF172593C7DB286F467899B9A23ED3E222BD6124CB9C4FE2AFAC157CF81FF098F021B95F1069D7609963621C368AFD3EEAF84A17F1469AEEDDAEC2DB5BFFFBCC39A73AA2A62578775100A92AD74DDCE3A0DCB27A740A6E7C0F4C3E36E4AE55B04F04CB7D9527176BCD94DF3B884FD4CC2EAD608CAA016EDA2E2232D0AF888A3ADD12CDE0D8488650EC6047199842056744B77FA806BBBB96A47ED253192D46B47D828EEDB9DC0CB38D576735E870826F829D76F58CA7F3A80FCAEA1CAC1BC38A6339C307F23DC25E3231094211FC867B0F0BD9D1584FBFF5A52EC3B5624DC814208E484B5D069B78A577ECCC017FEDBBD139C13B50B395AD16CC551430229B56B4D75A14588A765728774CC234D1DC46F0E64E7845CF237330C3D2422CDEF5CB1D741741DA30F39D99035D7F7C49D6A3149D02DD061F85323D6E0054DB7395AB8FC496418B7770355B854FD36FC1DE72CEF330976C2FA6FC73469B71B80F5D9B5CAD008C38746A54578C3D195 + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 42A5915CC1DBAC56FF74825DB482AFB8752991EDD5B8F5D040FE45B30161C75178D5D56F8A6FE9B11A71E19D0EE241A656171EBD9501AA4B5F2CF0344FBD23EA5035D9A2C42FCFACB5F13D9212805F353932169A0628D015644ED450E8F8717A1901D5A21FD9F8360054946A29CA31DEBE683956FCC9F862BB5AB04F07AB11F751FC8D7CDB0FA9C616DF691794C6D26CC1A18A45847FEA76017D57D9BD6BFD1E5CEA4C92604ACC860252DD0F53886C48D0187054BDFE1939A2E6D5C570A82C300A6553BEE5E107EE319435F0AD18B92552ED9B4FFFD472CC482DF76B6DAAE5432D17C2475444BB76CD79313CD14620C1D2B3487D91C25A47ADE446E1DEFA7C6D2C2ECA3163106F10EDA5779EA6C21F8D778C29CA3601FE5F456B74DD08C7ECDE8FF599B26540624BAB26314453247A9456124F680E68CB91B8247E0E5A06CD366E46055F31712DCBA81B590FBA34C8E619C8F3EFD39D2B69CCC6C3D184FD058A9BED65148CE65680F31715373526C509EFF8DDF378A0127E1482809CA13A834FB3A1B00231F6B69A8523F72EF580150A4805981F9B1A7488AC880BC4018105545707B85F24569E4F864C30E66E750AE2065BFCEAA2DB440250568C6909590AFAC5C1DF88D3E6F02D2B4D609460A6BF76FF7994EB5F64B00831C849F7851A3E743DAED38668FD1548B333A01568140B1DCAA00E180429EC6BFEF620B06C98DDAD + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = BDA93EAFDEDDE22B029F4618B2135E9F7AFA583C8BAFC3B62CC667C4704CBCDD4AC6620361A0690AB8E857335C150C2D70FAC2C2F2D60D6472AE760C082775D54C8EEC450421D536B1A94A5DA5D803D951709A7F5BFFE63454306D7B229CCD3A89DBF9436C9C91C01A1D0964D86DE868B4FEAE6E3B88592A85E2BDC82CD5C52968C85F429B08A2E61E1FAAC0945606EC462EA7B2AF859609EAAE3025E43B4489F7B1274922FA72619B9EADE2F6C04D5863B03EF76189A81B9BED9A47BCC53501E96C2367067012036D07B95AC0604FB0E6A793881CD81D9577BF495FF769B72DC8B0D554CE70FED81FD3AED5426525241924423A4B11391D3AB16C02577ADE31301960A579833C3FF5F9DC0EC068C3C92234B9DE3051B58330AD87D0BB6F704B210E1C5A167684025AF9791757CB0DA0517E4A271C89AEEEEBE529609529B69E9A53C1631AB89AFA3D0FDC582E923E5F2293903B75A4C321117BBECF2E114BE505DE8CAC608C1DEAC6FA33C658D72454FC5C3784989803A839D565DA08436E700F3BC8DF99BD3465CB4C1E8886FB20354E132A629FC964B10714F006978121E9737D70A77DC73FF77830E2DFB3ADBAABC83657D8700206AF318714867A1BA3BDCB8354B91F4F1A8B09BF54805BA01BC303E5F9887210584913C5130B643F15AB603ADCA3D918C3D5F15E97EC27FDA51E4E6CB73402AFAD08678217E46B0E2283 + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = E4D90A392BAB78DD363C8747C586035358F051EE8909762C3D9AB4B2F1B7EB50B4738423C4A5087A5B12A9DEEFE186D0086F4DD0F9131ACCE891E43D131627316AE63C4E7D1250D809E78F94D276EF45C3C8EF4A37AC5910F1DD5F95989C938C98C55771B6DE1AE68F3A9015C1FBF2447F3F72C15847EB55E0296B711881E0C8518995BD7F75C3AA9C1193F3F7B47B9C133AF09CF53E1F55C17CD96318C821DB4A6C7E79DD718684CD83D43E3EAAD165FE26FA204B797C59F33589E92C43E7E799E5A857ACEE310E66F1C99A2406CF4D2690DAEC060CC7E3019CC4A842881657E58818BA193E4C8B8113EA7B3BA930ABD58A7965F4A176CD5EA1447B41747694FB36775FA90999D1898949F8CB5943013A9CBE7654FC5D7BD7C915C1D251A22D6D8F7671D77417459366581C5587065C55AAEAEAC19488876ED0D5E5F2F3F0A07006500D03EF8CC151AB6B46D587DFF8930AC8EDC3845BD2596387A56825A0036E1FEFE70E2A53A4C19B5E45AF6AD1C463042EEE139B244A7751DAACD4CA7C5CA075D2B639FB6AEE355DDD4FEC35F13C74E822E5F2C23A52EB2C2E209B62106195BDB80F19EF1636CA813E2FDD96425C971B6D0ED6B468A5E8F462D521E41586D7C848FE3103559D65B388A0D0F84FF6C4A48318BA3860CE5F2C419696931CD89F41733BAB732FCF8551B4ED28A3FD2F1DD14D2BD570048FABD6026C984ECBC8 + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = AB362A6667C3143E58DB5D5E18294445643F1FB212FAAFCEA656B4C9C9DA509609E7B99AB0BC1C7F782CC8BDD2C2C49A0299109F842442A6433D9515BADCB9E961C0EAA0CD90906C2970171EF25193CD49FFBE6609BC0F5702CC3FF1CAA859B50E59ED6407D9DA7AD2D44EA36BCF8B3F48AAB75C1EAF0C2A8A41E33135358EAED3C5005CDF6114D35E4EA2B14E2F8EE6B995CA73FD75E281C3A145309C620B66718E058E171740649DBF4786E8B83C19A5CD0FE67B68E3FE2509662D968F4212224B466D04E4878C70B47409E5FB56FF2A5F324A96E799CCFC6613B28DF7787A6D9670569687D8345FF1F187DEB2A909C66F5B890CBCDFE18594DD52328F5E1D3B15F6398F9C3B880AF4D314B1924CF2FC30F96B45869E40E4A147D94A4BD92E3CBF64CCCA69B3476477B79B571FC5F911529E151C3DD2FAEA561E9FDDF7DE4C93E5CE3BF3B90D25642EF62740EEAFA53CB4356CD598E9CF40339CD8166FE3CBEFC35B5990E642D5E2578D893C0A46505AF49280D544CE6865733C1AB75BBF194A4B6AB0447EE0F33FDBE80A41E860D80026A2D0C3FC2274C9A1BE2C07C57482B3E3982CE5495BFA0F9B5A10D2BC46F5DC78E78168B552CE4D6FC9EFFC0FAA5CBA0CFB66AE078E6DC8DB2459C127F970B379E87A267C3A0A5E1672B5A16C93E8E239C9C3E51A96EC777361D0583010D4A0773921DC48B63BA3155DA483C03D5C + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = D5D2074E7D45403D43D0FCE78C3AB81E2BD601A0337B163AB2E2E11CC4F0E73BC0E41ADEAECB5CE2B0422EE97DDD18869BCFDF9B4CFA9CDFF5DDFDE53B05D65B5ED250911B83BE8B9E58655685A8D33C72826A1EBC1F244A433A9440B24DCFC691D9A78F32379BD8BBDF4F8E2F8EDA7CA1CF74FC4E8C3C07349DE823980D9EC8229A3C43BEA5FEB0BB8F25610127ED1FA1741F90CF25DFE73315D440088C3523D9D5BE12431EB81E23EF5F5E9CB1571F08DD24A7EB421CAA74C374F7CCDCDDEB4ED57297222210FA4930888C9AAEF06E36C78C43BF9196848CB07E1D941C719CBFB6AF8A5014EDA9DF9B205DC905B28EF6F29E2C29CF457317E01BB34ACD8E34C67F468CF41729BEE3532833D147CE4E5618855F28936D3A4EB6E0382049614A5DE0B05B317240A6E091CEF8A26C7E13280E02D19A6635033633EFB03FCD57AE2678C639B262F016647C61CE5DED0151951C7EB1FA1E3BBD1808210A3D22ABA98835A686DF3612AE6536D2180DE2DB5103E4BE1B2D74A8482450BF1B9F4FA91861505F5739F64D7C8CB8C5A3A2F864161F9B495445A1F668EB9A86E0C25D1BD0C50FA6431C4D4BEED9F53B6E918008B3DCEF98B484161A8DAC12C642DF9278601CCD80F789B770F05E8359495DDEF5D6FE54086827FFA8E7B2BDF03A33397CA2898214DE5A36D18AC33EE1CC0EE0FC4416A86815C7B98EA08C63D23CEEA1977D + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = 8A80E00C325A49D17ACBB96FD41E874EAF00A0D141CB59DD1363365DB060F20C1015929E88E0BA0589FB35CA348B3F02CB256CD5FAFC7B1D1A7445C238167F325A2611F7C5E2B7ED44395938A5CE501D6CF78C9B9560D8F84210ECA3AC12ED40954EA0C8EF362DE08CF11FCF47C34A3D56F271453BD62F74578F06B1C3958BE6D87331D8128070C244900B6DDE1423B2561504156FBC045755E1B591234960E1A44FA54CACB1795AD8EEAAD38FAAAC0A4EB846A18B42A526018EAC0A5041DD1200C4169124590ACF93F2F26DB5D173608FB0B6C3C83F5C0B01349C558ED0E5851C9DE615CEB684A3C9C663119444008DA4A12E9386C98E15CF23CFEEB2F8632EBF15381D17268A5F92FD15D464D9E1F6EF896828420C9367B14C2B7E886F42C439801E0F119D1086F2A99B5E402E786B8C5A3B7902D2274FF1B5CB706AE0B5DA9CE63EA943B8AD8743C0AF4CACFA6EC9A2BFB45EF680385568AACC518755B7A2C4ED40F276E25BE1447F1131D064A5C54F3BDB80D4E6E1338108251B8294CBE4D3F182F3F462B3983ABB7F25B4D9AC8A3E2F3CCA397148EBCC154DE7DBA5A4820C677FADDCB502B6A67AF0DC0602CDE5BA983C7BE0235C8BEDF1916F51433D80AD87B4815C6C397A9906B2D075BFC0F72431DA10F04AAE61545A62364F336754248606AB062799988E6B0D71C2DBF907E211C963A3823332D6ABF4450D311080 + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = B645903F62E2A0394B7D98A526CE6C1725A03F4B35CAB927AD4FC2831F460CA6EB0959BDC5D90BB37E1D0E3DDC6CBDBB8F61D921B7CC496D903A92166BAB4A436BBE6E9230DD0F91A6ED791889B67727338EA636F54AFFE59D52CAD1B0D26ABA8A29C92874B5D6276369FC45769A3323C9788A7AB268081689614622BED3DFA207A0382680219D24B2854EEF3024A34DE3FD4ACC827D52FF2F1A4B40F1E957729609F8D3AFEF23A94D9E3EFBFA3E66BC1ED44C426D27ED4FDA0B4BBBAC6050DC71D064DE236DD800D0E24188EA0B1899AB6D0AC16986034BB1C8A21C7AD7F069E706730450F046D5F9B3C066C6CBF98C5151E5B45D6B0F3ECEF0377AEE19D83941CAD4484AD07338E7DA24439EE38875498207CFD01349A3CB8BCAB058C70B48827C22278667026ACCE65A8F643BDA30A3A6FEBB5EB7B981963CF07F6FDF20AED8769C8EC35425C4366EEEA26AB28BF43E7FDC8B4F762A2CAC06D10E1A8C6EE35BDA64C6F71CC02675EA4CD20B112B6E12D45DF6D37D83F04CE55DADB9F54C8A68E2C76AC55AAFB1A3231C277AE27BF2742D08FFEDF08DF3F098C5C60B59D2A89D2AF150B3FC73E399EF94B5002DC0AD1097767F47BA07F442D4DF4A4D72E5AECA7B2A37899F50FA3CDED91474DA106FCC96B28D8418EA340BC983344BB58F244ED6755AC342B9E6B00CB19F9AFEEB3135E0374CE803CDA44E316EAA0B6E1E93 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = B15D1DCC49B25B2ECD567E1D0F46732CAD3F9559EFCFBBD1793DA46A5D9BCFAD723E504B12B7C1B65EAFB9647DC35A484485344B9DEC5C378DDE04227F7224CFE6F06A962F380AE104146DBC2425FEE1D7AE7305E2D2C4E2F91D9188BC88799B730ABF3647A4365562ACDA20CBCC7DFDC5C6DEA8DDDB20443B9253466E4E215360F4066D918D938FDD204CA826E4A3358D169FB34410D45F8E783E7FCBF97A9CF0168E8EE6402C8B627DE5BC4DFFD8AE2C8807F863D10EDD57503A99A46035173A20DC10DF3E6BDA62B518E58E94E5624659890F1174B3B7D798206691D3FFA6924948293821616184E160F237C1241F11779CDEB4FDD858B73F3DF45F05F43BC81E0EAD584999DA04F71EA4914F8D8AE17DE086CDF69C31FCCB48B528781FBF8DCFC710AC421D28E93EA95DB4A6D38C1D47C800FCB3F816E36C86D6B3E5D6BB31C325C7A0DCA4D395867F436F077C6711BB96DCBA9A6DEC6318FB9BAB829AE40BF70C55146B87D9FAD9A839CEF462249BDC49B8022926E3C664D6659523123A6EE980B69BEA87437322DA1DD6235A74163968C0994AC0C21156476D83F2B8697A1B510795D936DBFC2CFE67ED401CE708C7531F1B4DE75E8506DB082FD9B3B24673938242FFF4F30BE97CAD8ECD2F88BB5F497A8F154465921C9469B70FBA1F45D76C9A40228A93D67836CB7CFE2F25A5F56C216084521484A7224A7A976323 + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = 7AF1CD3572930B440F871CC3388678A1C612D6A590CD2B8692E0B96010AB4E122CF856925DC84AA0A87C7FB1661C5C74B0811488D3D486014E81B0D29B73450A0670A6F8223DF95B542590B3F6506CC18949FB6593F1A552E064B4E1576AD7A7CF202E0B8F90EAF90147D44EF16031D390940DA5D74C35A269B4ADF4A663584292007DA777B04C15C03F7635BEF56C1CA807D1CB3A8DAE8218821C44C7E6275CBF64D82453F764B458ACEB881816234494F717F5240CFADDB3F11C1AF02B269F0F76B9DBC8ED643FB3B7C9F8A540A453C1EC85ABF9E8417B1E4DE9DC65181EE32802ABD6170A581AA2DD01188752C73D406461892D0D0909C5D3FE0ECBCA3D28F65B905A2DFF142E61CB088F9086D3C492E73C0EFF3AFBC37216EE98533B236406D80797933E54D3C21AE6B1B81F459FFD7B8BD1EB872FD62CC0B95F5384668A1BF91A474BFB97335DBD8C4761F3BB936E2032365256B534F98E9F4B3C50B4034478EFA268E9ED9EB9864044E90DCEDF4A2ECB9E8617C4E4ABE7CB499051143C30BF73D397836E422A2CCD222A299603A3E4EAEA9BD2C3D64A0ECB3CC7C0BC3D867C79231BBBC8C2ED4212EDC8B25C04C57E9A3EE8C103AEE4AD6AF025016C1A177288F4A17FE20A2E210B24A7AAB63D3FB4E687ED3BA2BC163F17C9067D07C18204D0AF96A41CDF5BE9C6B89502D7CF1283E82410B11537CC931443076D60CD + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = 6B1B8AAC47F782208F50AF3F977EAF8F2D69FC02390EE17BF1761ECB73D1088D236A5345380B6297AD1FDCD5117D16A3C410AEEA092D9892AE95C7B977930655C75CF7834C101F69D2E33A1A17A489E040C5DB3F83A5216ED5778D391630D17405EE0A96FD7B834448FE0BC61CEC5014A6AF9B0F85827832E7469869B0872497033822D3419D43379AEB6C31406AFD1199ABAECF3AC8E2546B9736F8C4E399C8698B674DF5CF6BE81C73E52DCA979D3281200B9DF8D99BB6C65A7B6F620E1E4E6538A918C99CDE6CB33150F0896BB75421B8265AABC241C02D93E63476C351396E5B86DC66A05C74AE2EC87EA1D175D15A12ADF18F9792970DE3B9E30890D8896309815D57AE238895AA7E76DD6A46019F005F193C737B452D32649A8F39B1ED00AB8961A6EB04F699EA62357B7A38C423BA9D421529266459EF292B324A16062538E8C6550F822C2C140816340F907D5D10B563198BB1539B82E5BEDE700F7FAB66EB8DA045B23035DECD3F8DF11DF98A297A49F5B896A3536BB5A3E17A9DA1B266EE18FF6D4A6E59AF619306BF30316FDCCB7FBF5800916C18832F4CD21659774411F105DED35DE8B0D4B0B54755440E26230E519B66319696E6ABD180FF5314EE184D3B2781F338FDD3E3935855F4C8B4021154EAFE67497599D0AE393A516673A970CFB9B7058826D7F0FC29F3ED34ED31F45790A63E5AC7918A4C3CB494 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = F76B436C25E0BF2D75A0DF0152D04117ED8DC0AE55B13A2CF839E41A90C6070415EB8EF70A90BF205B0BB330435ABB41BB3329D015E9E56E86418BD671D0375E3AF8056EB882AE4191F82E062339D5505526AB42BF6CD54F0D36251A78EF274CBC797B89672CA224CB9B94E36648B362338D4981821B0B388E08CE97253B5E8C776E9B3AEA33DFC3815B5929A3800BB83543D42E0F331C264B1855AD3C002BD80D035932268DFE4CD6600F2B1F215F1670D7A4512E89C3D1509271ABB42E2608D7B4A900E00593E0509F7C882AB0008AA83F5879F30D95A319A4058987804E5014212D415BA0E1C2407B9AA7B80945CF460E60609AC885BD7D639C9BCC961D6C32A96F041528B64747B5AB9557971EADA1EBEAC47F78B3992EEF2BF2806213952489934E7F5410602ED0987D8470AF3728A7F5BA326B77835694E32675E463C604C18DB4E4F5E1ABD05668966B8D102172E232B4EAEDB3C73E7A406C36DDC641469350D593336E9E5C8BA3C246154BD3CAC8E14CD60C9EA724FF059C931B778B00A3C6E1016C1C41B3002F01D937499518A969D02AD08B5AB385A60CF5D018EF405DF9CAA63BC49015407B04AEBBE02F206DAB67E72388022D99D5BA4F6D57695186873276770452D602635AEBBC988B7718F6EE99F9F05A6028E074BCE86FC134ABA4CB82E1529ACC2E50E53F466B9B38FD3FC7181163D9A3B58F143AAB6297 + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = C870CCF74F9A979827E1D0FF8E1DAC93A2E0F10A0BA7A4DE041853915DB7D86C65010DB41421201025D3465FF1267EA5DFC8E90CDB4D933FA58F5A5E830C646A74E5BF807495D973929CD2D4763A0615902B8DF2D04A9D2553BCA94696DB2A332EC56B5612DE10CBD2E117AB226769A0F5E12E380E890489C4CEE3156B4CF1D4FA2FE55E20DB06D84DBB0F9833A3364F64481567C74049517DB8D75F6607467EFED0D8976ADC7C7F265371A552767BF6DDF87F88DD1BD326C46CC7C9A895D1D88D4452A1D72E7ADBFF6C02C5114ED5799C4E75944294BFF16DC782D529341BD289DA6136E0A4223F27E886D8AD057446E6BD41AB8EFD676B5084084A313E0BBA30C1DBC3C461AFD8B5C0EE02AA0D1BFD0A1ACE35369F78D5531286FB268F94D4EF50BA6A502C2EB2B744651B71B59974202A8088780CDEBCAF18AB8CA8E5AE928309EFDB5D5A639D7C83BEF87E5AAB4D403F7A9D22EDD1CBCD409B822F33225F05AE21C2BBE9E7A0B116B502DA93D6547E3931763F4FBE1507DC031CBAFDB08F4492396D4D32FDF8936D0BD082D45E70B3CDF8B807D974A70BF17FC54A4A034BCD7F5DDA8C1002B92A641DA7E717D8C742B7F22FAB4918B1B3929C2CF7533666121184383746FC5FBB06E2796EEE83E6387DC610717FE4C7FF316D87367F6236E36524CF525691D656F77732B4989D87FBADCC67886E151F7A61FC9141AF81B4 + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = 7AA373D1AD451F79A4B17BC9D3E2EC4D43457C6251E958E44F8D5EF360EB256CE5ED5082B938095DF2EC30DEAC299EEA5268946CC240AE0CFC0B8565235A77BED4B58560F111FA5630996AD51065A6A957979344C26C0FBC9843251B64C899ABA1DBE5124A21A604E706A50478DB8E93F239CD11D53B2F168A946E979AEF98D6A3CEAE032713C241B8176F1F32A7F132ECECE3FC57309F6F0DC9876B9327C4C03C42A74EC216E0DBE026DD167EE94FE8B0032F9BA033ED3E6BEF8DCDDCB288CE5F8D1B4DBC01A5BF51FD725206283C7028D8013A170F0DC4AB107A442C95B0214A71D3BD7A27CC48CABE6BDE4A5AA4698F56258E175BA1C6F7BE6D7EE60CB5BC4926CEC0D94A422554FECD2D7666462E125FA3C2FB84E98F2095B119AC492EF8EB3666A3BBE51A6E4CE3CFD1375A21D1570BE8A1CD22009E8261B3CD6F2E2085443A6AA76C91A349A7C49CF5F477FC017AD18439C580DBAFC94E96739732DDADF4829F9DA5FCFB6851AFA968E208D4090AD99F61F9657EE958698FDD1DD5EF21543D238D05C4C604E26D21DCCC8C878344EA888F127372218A4511B803E3E6EA03CDDB2574E636EB40CA242FB31698290EB9C017D326A35D884A88C98B89C33E8656B717DD734223EE76B5EB147AF7521BF1F827827B37A6563E601AFDC3796D8DA4D1084FA462CD4AF969A800F522375E2C754BF20104F13A95FF2DADA5674F + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = A1D00913CC206BE2D1C38C22B6C732A05368C8AAB30865BE5343BE3C73AA6B7E8AFF69A544257DB1E6B6677E6CCDB6EB358A0ED096BC9FFF0DBF89B1E5345037864132FA7B820DDDDD5A88B953CE834F1AA89BF56FBB02670DFC9FA29892FFFE61DABA4195850CA669F6E4AE00687AE4AF3A15B27A4E489A4AA01AE62E23FA012CFE38BB601B343095B5DA20CC2B48352CB245C5306A2FA9F6CFB324B6DEBDA6513221197B24EB1EC2564E2527491B539289EAF593912458D835E3F8F46E058CD6B3B85D0833DE691A1E08CD6742E7B2957DDCD0E04858FD64987C66B6BAFA7A082F32D515852E931A382792AB4FFE17B39D8918CFF002CB01C0CB1E1FD32BB8B02DF964752523E64DF6C74B8442719C3D7DC75CE9DCE5474AD6F235280CBD1F0268F19E695549016E948A7141FF4602330A096C67699B29DDBBB8F6600770CBD0E398B013932B04526A055B51D92F0AE8535A7E91936BF21AE70368E09005B14F3FD9E3635F35960D89E134E9B1447971B0D1CACF554845AE74CD93F73FAFE94189BC22D1DB9815A65B414DDE694FD053AECCE3BBC3CE7362F353A9434A49FABCDFD7E3CBE73ECE064DECA30E4BE01B1135FF6303E45E8065EF415BEFEFA948ADF42DCEF4520C2772C8E8438B60113919975CA0DCD2798BB026D4B59D3904FBCA4998533ADED822B15CCC86457E8507AAADC7E3EE221543472A87B730F4E5C2 + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = E28D36BD926B9E8C105FE0099CFF1957ED7ACCB9618027421FEBF9DDD3129F4E6713376B3B7EE710430EF381CB12B831C80C7B1B93765F7693506733A75AC0E8FB5D3C30C6F4DC735C4C3599161ED02F4ABB5CDB174E53D93D91E1321EDFD79C0F63C92C7E5A253C1B8C4842F053CED0033405FAE5F16E2DC30024A6B1663A86829ABFF72DE6F2A91C1CFE5955CFB584F8C65B9334590C9C468A9B0FAC172792AA152F7DEDEAA4FA22FA7BA44131A1143F79053C7E2CB5AAF8ADCCB6AC72300892F792590BF5A1A9745FE5934C712CED382A316C487EFE0E6F146C8A562E6B40834FE20C362E495FE9E5CC871EDD2D61361492EE60CEF26ED38B4DA0480B4DFA66F5E71D44F10159016093841E02C34001800C5CDAAD0F9CD2A3144911031139CD6C54443A1D82405921B86DEB03E8F0C1ECD58F63B88944182F034BD07B0D021EBB7447F660E66BBC0A821C7852D183B806F0855AE194D80073280F3D07C2DC03571D5C6D0F0675AFD58ECFB211EA27733E870A6E86AE5108D8C1C3524B99648541B61935746310FC6E99935E7C9A5D144E0735F2CC32B6DC42B34679052203A777AECF26D9461946699F834940BD34F8FCAC7C22E29B2B0CECC60183C44A5A63078127C10C1C14112226520CEBF9D47A7FBD4002AD482CDE289E7DAD3AA891BBA0B6B2B2FA378D26D629B4CE428F375BAE3FEA5E5C6B048928EC92099F3C3E + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = E3E693B2585C32926882C97BEA160D46ACE5ABF0FA47A9084FCFDB22DE3C65F43717358C2C2CE680D6D132443D478478A304711BE3C5795F3EB0A7BF043CAE06E84443EB599DC259B3CE1F4184ABF1E6794556E9F2ABA99E5363DBC7E9C2C802976C87FDD7E0E3884B971AB33DA6CAFB65CCABD6CE492A59D359BC17D2216381AD838989DE9FE82245CE07CCB1239FA5A3D664D5B8F2E3410C023066AA47E030FC73BE5EBA27D83D656106401BEA73E36CC09F8A78BC0F4FD7C4B2B4E7D36F4E3CC31867D1EE207A7936FB3D5FCF512669AF63B9F01E4188ED39B1142CAF6578F788B53C3D6303C25C545DCE3F0B037456E3E7870392F43051FB2E8FDE663C80350F94F7A52D511A56CC268335D1ED24C9948C6E0426AEDBE1E082C0F075863E3DC0269BE5C83ACE9A98AF1EE45C79BA263AA81902E11F880205B7BBCDBA54F766150E744BD1E2C97E64B4A50A179B940C01A7AEFEA23E22DC3443D655E31FFAFA67FC555727C8D02C3FB3DE7D6C13438F6323B89B7C975FC5B90D80BE8EFD41BBCE90F636CA01FFBE3AB39AA0F43460F33DFA492718A411711E9E7D38EAB956655314F35D36120237BEA48EEEDC549256090DDEE8AB4BF2669131CFB590C65BBCE018CEEA3CE349A8CB83E3518CE8F353EB07F9007600C206C7F6B6B1DA24F1A263F039773EF5F99FAE6D9B2B3160199F17D49AD69D51BF66915451F43ECDF4 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = A178F3B574A841C88EF21B6A20A100625334F4FEE5966AB2164686151AB9FED082CA4A9115A0B5F099C5DD4BE4EF1082D533212BB862F084225655D8856E29F279418DE6FB723ED15C341CE310B53E695C08689F776E4474FB6DBDB7DA46A9A2DFB7BC374AF86984E1E10AD9D48B744A5FA98A0B161738468E06EE4E836BB718BEFA381CABE18E9973FF07DCE1920B19DD797F84CDDC52DBD49B4A462FD1A12ACD364804A290BEAB30AF0376CA098D44E5D141D1636F6073569F2CE7213F6407EE376680E8D676942211A9EFB756EF9DCA40574AAD2084FAE0B617D727D7951C1321616F26569D96DE5ADA8EE101BCFD2C43C338F8957DEC234E23F5A1A0F663EBECB98C35102DE1C101B99E8F42BD8EE7C528B1651099545F7BC9BC315C8861FD7EBF26B97A519931A63E0B06A73B14CD2365383B44A2107FE1AF0998F1574D9FA8818DC51D642240DBD0C104E89393B2C381944308D828720564763D3BFEE221BFA99D976701717D4214CCE2FC25763C1B25EF67286BB7E497593B1A077912E3AF76993A4E20D4E8ADD7AEF4F715E5F1C8BD68E8913D9D8057447F273FC41F70A0290A5EBFDCE46209090032801F2CEF44C8015E865D75759C7B2117C6E8EB6B57398B992B0E073C1FAC374C819B7AE16C464AB5019A45E7A6AD57B75380FF42D35339F23436A0D58497F7A12E4C3EB34816C4AAB9A2D3655079C12E05EA36 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = 11C57A7AF45809863E024835F2A86BCB81763412DBCEB53F31153730FDFDC32A8ADBE3A8BD6D4778EA33AFC063D9767BC9E3AFEEA3C78FFAF5FA3023093C798F39111A182516218F0BC78C0307C75EB212B0EDAD184500261E00823F423D84BC2DAD3FFC6C2AB675A24CCFDF0DE5F669D1EAF91973071D50EC7D2C0CC4B6E42552199CAC4B65938F7E704248CBFF272C647E953FB9719FA8AA9C319FCC45E4FAD0752E7416F9DF0063F1A8BF43E316533C046C4F2E7254A02FEEAEBDCD4DF19B01C18B8DFEC1D291FD670BA6D434B41EB6068A365973082107ABD6DFB62FD428B9B183E1FCFCB654A6C7A55B91E0615658529FA4F6178FA4F5CEF329376169AF143B137B9B81B273796CD26CFD8372AC3184600EBCB2DCE06AA7F22C055A7B622717DB8E15571ACC61D94D8DA250FB8E63549528CB53050322520925FE7FCD065BDEF0EC79AA38F1F105348614A57605C94BCD50DF80E692D1117C13BA3563AFB44E91117C9F6E4E7FA35397DFC58FE7F2DAADCDFC756EDAF5BDA38D6E1EB819A1080CF354F2AB779F63E2BCC763C8AC73C6D811AE2B5252E6FDEC79E2E97D8971D1EF39E2A144E84EE8087C673AADF3C46C4E6C1D9832E68BCAFF8C1E4DF1A5454D3A677040413BA32BED431B2F7D3F356CB060431A7F5B1B6CFBD5709736A408EF6CEF1B455EA74191F09FEEF230A1A0296807E8AB33403A9E3EA1650CD2AF + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = 8E03C6B48B4E91BF5364CF9311172442253B6ED58B95D147A4674BCA639D75820FFE93509AB08FBE7EBA70544A9331C3BA3347B0B44E0FE36F9B799963212514AB2E673133EA5D9CF3181FFAC7F79475971369F7A0188F1A3687792258617C7521CF2EC979241D8E9345B9205243A1CDA692418F8855BA61B57C75CE8A7B2D019880D2C56C61DC0E3CACA0CD632E8819DCAFF9336498E1D573C16269D2D56509BECED579C80C3F09E4165081EA7910BB8D13F0373FA802F498AF190EBF8D7565A93A771AFCC8C417EA460E67F4AEA898C73ECCE5B17EBCF6EEF8A6E31D160038604499B39965212588826D1F896915500497BF4F949E2CCC4C3439315E7AACC2904A77AC0113A2AEFE64F6D625A7EF547E99FDCF9374300A1CC15373494BC1210B8DD5B5CE04B190A824566A9AE4A02DFC70FF8DF3191528A91E97DAD97057AAFB0357AE7F509FF7E464675124D0D23399AB6DB37B80397BCAAE48B8520860B79EFD72D955F53611E8D782A28C729F51D3174850E4FD61A4328709DE8170D1BB7B5A811BC3E0FD06F20F03CE1567CCDC5891673CD8E659472015EE6A557D89B104E22E70315B40701B49C76BA0196F68A9255EEF2623E531D73D151A7F321409BDD8183CAAFFC18C6DD63C1EBA47F07B5B3D404C2203373EF356CD26D89DFD8F5BA2F700646507AF3CF63DB907F9F70DDCB125259F28275CE8F41B63D14058C3 + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = 845E0DD7FCEA5E19E5DBC6CD03D58C2BAC4B81CE809BA7D0C75CB867DA6ECDC9CEBCA177AB9C3273C8EAD7B8C9F571D6D1D14ED0CAF6FFAAE4F1B7EBE653443E9BF099DD54CE3A021E0944BB1F8B34CB8CF199ED9B23FFC94E2FCB6FBA03D50D0C84C2C943F17C1BD9EEC662420EE42ACD5C5F18223B92AC269B320BC1903550C1D55B7AE5804EAEB6F67C57537161EF8460E45E34FAB823AC0EEFA232404C7907DB88E4B1D74AF7DA5A2E38F82F96A86A506DF1E717E636AF1FA85BCA3259C78FE7CDE8FF56CD2461997FF8D3B31BE985B73E4EB0DBF36D39923CBA9982870DDEB52ACC02A97CAE8688E230364D5637170C328175208F8D225E2B19289A29205A9568F426FDBDA7BB04224808B2F21E4E80E2F18F4E790654E0D6E486340464B6FA48C95F99A4106E95A6A378458B8636556C700D79FC45697C09A84D2EC41BCFD560F0A147ECE640060713A86516ECC642396E16A63203CCE11809E7DADB5BDE418348E91E30DC65E66242E29B69B9CEC5548D4BEF3E15A6CD4937C492B2F0FF83DD3ACEF224EF66AA27726161A418820196738EBD9569B49D51D1583129AFAEE4F9128C55813151895A046E4D5B4E7D1695B0D47BC657EF7795107148B165D0484F346C9C49A8DEE187E3C1F28A6D57FC3B7DA49042B37250DD02BC9807FE1AF57D5A31664C90D5371542B28965E805224651F96836147E0300C2A938639E + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = EF1A40B1819AC20C49EE1F31E36B853619C8E960DA1A5BC86674C5720C0F255E8099CD4572D09FA5B8F035ABEE5FCA1725F988954513E2E7FDCA92A55A757145B0E1A223A7CD4E0D18D3EC7C8BB33221B24AEDEA4A08F01B2130D58E19570272456697DF883AB29F4D4F86DDBFD1D97F1018277F84FFB615451190762B9B72556677591E6EBA3FE45F8769072E234602E222C77DFD8CC095B73D1B231F3F09B89C2ECDCB741FED58085CD763E2B016623BF2392631984B6E4D2FE558B7F17973A8F58BE66D73AFAE5DE5C5B46A6205E15F8A7F5B3ECCE65985EDBFE4C86D3830E642C99E44EF35AA55B834696DC519635240D6A693AC09CB3D567105420449664EB7B6BC367C482CB2682B1A34A9A051470EE3DAF8045B0DEFAE0EF10581830A1C21F75045D1297C9EF4B874E9004D4BF86FD770B820A9AA1FE967388215AAF00DDAC57F9B3B9CF0A67FC81E27565F1F3378A620C9A99B50AF301359E98D31EAD034DCB0334BF45D3CECAE0A95E4F0F0D60B0725F97AAF0EC1C4EA1D7D062D5B13A69B68CE5FB382FF7E25A219C7FE8CD1D78B47660319F6EA04418970EB3B5FA6778D84EBD4377C8B3DB2632CB616631DB82CF68CC4A03A44768B082F8A5FB606FBEDE8AC366B9D0813BB58017098A9B2D5BAF9C5313451F7FC5144F8A89EC34DA3CDDACB079A963BAD7E08A4D68DE34612B116A0587731F4DF8135599940B3 + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = B9A11246D631A7C9F33911215F36281030AA4959E598F2E36602AD66E236F4EADC9E87A662FBB5E30555F7F2048571DB711D9B28389525DC1BFF502C1766BF7EC7A26688CF30EAA16A23D00BD408E11756BF0E9DC3265ABED5B83643260DA0F7B58919078EDCC9F62B2D14029657426407CFE5B514E17410F3351C401EE163D1897525441D6738ECCB5976C16EBF309ABE15FC5B15B362338516BB8FC50DC69EBFD5E3CFC7B79571C7DCA79D57970AE0904547677B30CDD7D09A0973AE65D6E00F3F9205BA0D806CF3DDB5ACBFB5AC1DEF3AA8766E4921B42DF7B9E3AD5299747300C9D26406CF195DCA47A673E232454DC80031FDAA0E3DA4B66DA9DF72B040893378AEDD6911D35D3E007828EB749BED4E16657E9D33867E0319E6D4BADA0F16C466F3B1B8502BDC2584BCBD7128A976C6C8BF2D553D38AB28B982802D1E626C47B5EE08530FF22A9852AC113C560DDEF6931F6E6145C3E525F5E6269E7DFCD4C0517C16884C681B1BD78D4A415039439BC5947C65CC35BD52E7E2D0FE0C88B2C92C903A0DB75D5BAC3D3D6A5A323CAEE0E55C61E8BBC1113A7D8AED0B031020CD7C50346B2C9EEFE61C20C14AB947CDB7B3D153172D5F32BD267B4D77A7606CFB5080058F56E51CE9F73E7D75C94A46A4E917BF575827D37773F2F9EB5A552420AEAD98DF822A7EED212538E2B27DF5EE2188561775BD862902F3DD19A9C6 + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = EA756978CE1BC77F9C84A151604F37CED854B00328DF4A486E9626C7DA6098F1A6380EFD8434FA59B037AB18C3488B404C03A4838A9E6C60B37C9348AA2CC3E09F016B1F07FED8D4A0B93BFD9121B4200A706887297A91AE12E1B385830536A88AFADDA80D4B14FC5CC9C49916CCCBB47F970378AEB5EA6F6F583D131E53AA708196F749644DD153A3177F424921254A7FC92CA5CA241D54C6A1E565298D2BAFFCB173D22160241A535D34358FD0B54640CFF9E04890BDF23BDA5DC770240FEBB778D1D0B4B3C98CA7AFD2512596EBDF02F8E1EE5C74BA26A35E1482784F6284D0D5FA17CBC695508026CD49F30D82FE5819378DE13150805555406B8EBB6BBB8DEBF55A28B5F1350EF5AF18DAC71C9A02E76054EAF28E2D1259EE670492E75E1B3BE45492D6E3BC5096BA2952E7B1E97DBF5E18618EE7B197E6FC3B0A31B2F071376F6C55CEA08BBDFA37CF676A24DE82F23878566B48269141C17C7304D6252952158078B481FA4270C2DD631AFEE7D7518D1F1DF43B9841F10871D3B80E4680DBB89CE8C4CDAF4E16A4892A83F927AC7E4EA692C6EF1FE6A6B2FED3C8393A5100DDEF4B56FD158E45A95844E2195160C3D3E02FBF51A715C0117627C783D503CB241C636DDE3443ADFDAD82F5D9226D49921FF60788295A47B0D76AF43977FCAFEA4D61DAD09E2318EA16E32C44B14AAAB6224193C3B9EEF105057A2BAE72 + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 609D7E2F634D0457E311972039E1645E66392CDBD1414D5A8C839F8B22618AC73BE81A745B9E2B83814A527F78D588119F7464CFB235E56D9E2F794A5BD510008689ECE3EE818707BE101A3B8A5E1211E3116AC0E9746F79A01AB9DCD01783E961C316EF4EE908CD69C7C2B0E3560FB6DD5649896403D07F021539F8ADF22CA4E3535A81EF643AC230A0C94913E9584FD8AF77926360D280FECA2283F8097DD843D509C5E34A9FA8B02BBA9015753D3F728AEF7053407A90DC48F15EA272DF1F478B967DA4C02C8D4F2903F9A98F90CA1589BEE5590195E0F6B24913641C2FFB42DA043B4548D82F8F0F580356E9946022B06DDB0BDE4947D4A25767C65D1CA02148954D1F33F07ED0886552C23286696067FACDF37B5D468B1A5F29126A2805BCBA687F61D920C53B8346579EE0D312691DFDA9E53B3A0EBDA1CE213C78DE4CDAA3C5D9C6D5A4C66A5B53237A7E5D80E8C1DB49656E28B2DF50C02E9BC580A62EE5E6F72D9681435BAA70C0B51AFD2CCC109D0D45634072BD404964FB44D2107A68E1A9CD60E63B847EA9C75EF14D19101E391D8F80D05F6BF0966C949DA6D9C8E2C865C0468C825E29BFB9CA2070518AD838A6B1530723F6261277EC7D1291104049503198B6C3B95D1D0EFCE786D5982F6D0120D9AB2D1C0DD9EA89644103442A76E6804A57B54FCA199E6D714576D631422BDA28C2A7F8838CEFF879E0D3 + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = F5D0630D6BD21787A4101E2287550ADED2C2BAEB0CA91D24CB61EACCF83B0D15700C6A95E643D8EA2383929D23DE5A1819EB7571F38CE173F378AB7275776A771380443B0CC1CFE1B9EFBAA8579FE6E002FE75B80FDC73AD20C727B003B6281A8BEFB7F7CB2545F42586AB879C9FF523D6ACF70F24994342EBADBDA27D3168A755C2DFC3C99360FE377C8A19F1465F6157CFF76A1D7C8A6FB991058D582D5F2E19ED583136320C4DA569D9EBA4692E0BB19E620C600260BFB0C95F7A8FA4560B1B715727CB04A8D37410DABE2ADC5CAB24465BBFB41AEC1E946BE1C50ECA676F47EA99D217D68F6B8F3536E879FDE16A355E71857143F7D07C9A207F4D61B89B82354F0A0273AECA1361C3F949EFC2A45BEC3933E8A6E7A86E90E0EFE5D11F6A20ED9811A1CCA507E33CF47FEA26D7E67FA88D374245B1A24D8F5C584DAE932BE1EE25ECC5EE61D31111A3D1EEBF220665EC401E28BB85B93D615B64EAD0FEF0E6AF725CA5EA8454B571A784EF95A020251FE236952D130692D81702B16F8DCF03CD82A809877B08774635A4859E1A516E9C4135FB415100359CA6DA69426D4139E90F00EFCADD155F85A4AB1CE154F8CBC84EFDFA7603FF48D5D1EE94A4D27DC9A450E35C60D9CF43594C9182B69FE9DF540F498C5C92DB68065F2ECDC52EE7D22736561FA617970375F6EA3D01FF39E2E22C979AB58DF80FFDB75B4258F49A + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = F3B73032FBC450B21DB7C6C263ABA819ACCB297B724CD95C55280FB7F4E6A5100181FDD6E010964C62FC51C0FB540794CD3BACD695A082B20016E1BE1F8FD89E77AADA0747AFAD6ACB2F963BB476F1B515CC0604CE5A7B18506BFEB875BF483189D268255146FAB7B7820A26DFFE97C737A7D5BEE677524C4B64539CE760CB4AB6D03FBA155D05130A50D5C1EA81873C8A45F1FB83C2EBC11A2A1BDDD45AABBCC572D9E93611C4A1429B802EAF44EE19A417243C069C99825959093A9E0E5BFF186C757A7270E33D02B81768D94014F17EFFAA3B2D92FEF370E552C8A8EF2B3557C2F930B7C79E9F6C0573BFFD8585000954D9264611E3D6BB305B08973D0583C7C2C5B2B0B5AA1B0ED46877FB02646472672121A6042419481D4A0A5EE001E1E067F6A7EE1EA4B880D00F7815FA9658AD9DD643139A37B3FEBB46585A2A74BE0EC2B8BCEBFD8F63672F2C1F213511E611C677CD92B2D6C4E43792CE3709AE1CACA3103F7D267940A0CA5868AFE6296458811BA67205A5BD4B27F96573F8B88F8DF2733B83C420CB2015DBECC6E0146657CDAE3C7A2D2DE5EAF8BC9EBD0A7FAB0FA37B24206B6118CC56087B0F573FBEE9BD0C4B70512EA4784D85D8A89E75E08F86D204A4A03D4C247CBF9AF7C20FD532A65D0C89311246CB572C77A35CBC9C65BE40FD7EA2D41A3F5A4AEF0BE01C4DF6AEF0190171932B03EB960172A38101 + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = FBBA34F9B8B88C9851E1B6A8613641A26E5E6944788449E7F78C66F32AAB088229599E67B048058A2BB6713C84033A2177B563407BF832D136FBA8A506B3E0C3AC8632F8C6DD058E1D242A24754D64D8A0E8DB424000561EA5298EDF2E5620237F4297CD4B2E48C87AF4ABB28167662B032F617D89C4CBBF064EF09AC2A122785D55C411970A610ADE46475CC0E371ACE344B3BEE172D73E9FA4CFFD1806070E7CF48B722DCEC0756EB1EA059E8481DEF23BDF94A0050CE2848AF21B49B59320D5F4EDFBF2C1A653306BE31F3634E5871156C44D15F8C39C7F50FCEBB93C61DF9258F81941AEE98C0AAE76D92560FC4987C0CA8CBF07CDD9B96E1F24E83F5977A2C561870D6FD4752796900CC41AA4F2B256988403065A9C506FA78C50E0B5B9592A4116FDE380EE9E6C7FC67FFCB5123FCE3B27A6D71EB875E88E0A8F20ACB50B3F2D46963913FCE830FB5E01BAF0F2FEDFA8E9717576B96F788FF8F8734C33C3CD9595EC2F6270BE920AA2A4FD56F83442141C1C1834820C1A41A51DA308F5CB8457E6C835C4F075706051A7CDB3901413FB9B42DD9E0A2B8664BE7490CB4043ACAD67CC806886EA5C41BC8D81E00EA1CC7AFB5BC34E150EC26E4D6D8D5F0C5A362A28C98ED6B3915A0935D7A237BB24AA18D41DB5271BE154F4F51DC25AF823A978B8D41F46AE142470ADC4D008B260928F7382BB08C320F4802705AF6EED + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = DD4FC79F3B1D5201767CE9A0F89D3AD0A3949BD75668744B95523562A5107CF45ADFB39B5999D79CD3CBDB1F622B2B250C86647A45419A243ADF4E7FBCFE227FFA2995BA39FDBC5BAE183B786704D8631EFF1F88CCB8563F112440DC48D87B97BF8E8CD8B894CEED6B43C857627AD1EFA81045CE505FEE7F370CFA478BCB4A4174D133D9A7057702E7122229F53CE03D281771CFE58EBD825C4285B4D7AAC7CB00A835FA094683F503E92B690A4A35D0E4F5F01DEDE83FC829E4F3C5F783737A68DFC9EAA3CCE682E3D5278675D17A2469FB0A814BF71FC212D7162ED80707AAA514CD5B682B95B948A8A9D79EE3CE1B9AD44D3E6E6EB455CF198927072D8F28950AAE0B5FDB628ED5280695E7A83665C94A23EBD163536797EE6733166AF631F21F6C1FF398D8D363D6F7ED518FEAC9EEA1F98E9E3976706F2EBB3430AF64CB788A2461B736D91876FD481F5F0135B458B57CC00959BCC1D145B2B776D7B5B1BD0ED154DFB602F78C8D567F30ACF34341C9356BE887DC85E9415602E19DB053E965601CE5DB866C1A9EDE8C12A81850F1A46CDC154112560A1E38C40A014E1109195FF23054954F463AA825FFE1A377D3CB1DB279D2E5BC7FEA045CF3B2681170CF42D4C0518BC9E51C3F854052263D31C50867426552E6CAEFE37267A7725A4460FE2A7F2D951DDCF55A66AB59DE1A66A7FD15169BFEE7339428308C0477B0 + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = FE149A9560E60DD76DAC07CD65722403AC64637033653BD60053F3958D0DF1EF1DAEB343FF6488587F49945A19479820A98DF8484CEC8E3608A8C7D15594F61FAF8547FB0BA643ABA3FE942E191D61E2A84A548A4B76E0144B71E061D01E5B46629DC585EDA21696B6F716ECD7D98E54FE49692B5FF7E74ED15183C4A4728A6A4FDC85FA56D49615E0141C65614DE51776C73A46D19E2EDA71226B5716FFD83C06813B631CDEF6BAC2B5F480CB59FB54DBD0E0FFF0539FF70FC1F5872D8B78B3E03335675925E2A6FB7FDC9378D3202F396F05DFCD0A2193FFA3DA954EB44486C054D7D8BC22194612047F2F8C5FD5423504D6A06F0FCD4E611880C74BC84D7D5C3B66E017DCC79EF5EE41F9322F7DD863AA5428439D8E5ED3222F2346E305759B46826E039FFA8A2B0C7147C2AA440602626FB79B0699ED15ED9CA54125603E9A9525DB238A518708E78709D5CEE0F3A196B4CAB52198ED5A58C98775EECBDE3EC721214DB7A981C81D419F013F1DB230746BA5EBF30CE37882376DF8785ADCA0E04E9E18D0EC75778369F7516F5215AE92D67C4C4751090246A8F3A719BF83E3B310D61FADDB911B2080266D2B43F31FC9E3A5D9747EEBFC8816F63E398C9F506C00821D0F1097349FECC2DC05FC420FE673F5398FFE828CB99B3EEEBE817EAB6208803339D8D905C845FC934487F51FFCDB4E83D8E337DACBCDC57F867EBD + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = E38785ED93686FA741FBB6E5BE64933963C3C872F7A4E8C8D540EC3F82284605625D32A24BCE8B40264EB51B164DD86F318ACFD9867F3BF23998275042AAF23BDA01F602622448957B81E51475F15CDB31A9297EE390F681E460EC01A024F183110C728BB09A12DDE89E6F5DE2B4F8C17D981E3E9C531E6D4C19448A4A6BE28853AFA2FBA216F7C8E2CE4E4DE31F6B0E129CB5DA118B4A59569A439C1095EB50C51CD83105B1A12B3F7086947EA7381969A78308F8FDDAC8B2D87F4540A8E7CAC8932CA76201F86561ADD09D833361851CEB9759AD1EEED4E00ED19C642BC6D0AED034276B66D818E8791A7C1F42F8604E8B026D4635E3BDB27CA0FB28E7517BF662BB99AE3A3C698AD0AA2F02408E76A5F93ABFC933B1691A89EE3EBCA2885EA633D0FEA4DBCD03B05B68E0F4D267144FDC0898DE46011832ADC872F4A7F0D8933CDD482CA54FFA81774BA083D3D9FE07DE94F8E03FF66D9F1BFE7504E8A497591BA8F52758F92E0A4CA6A93979CD1F55EE9DBA17BAC6C69E83DDED4CE2DBFFB0B48C0C6AED657405DE18E7891B3C854127459E89FE5442CA6D5C223B046147BFDEE435CF4EFAEFD705373DC87E20B7D31C7D37907D30B8B32054BB9ECA80D0AFABB5EC5053D94D517F158EA958C7458CF71FCA85B607A352A9A3B8F4F161E3B8853F6BB61864BAD12DD9B57ECDA507A3CAA63A1DEC726B518CB4FDDEED6A34 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = 66FB94B62645F96FD55EA261E08A93AABE783F160AAFFE07253A1C3D45DC65F6AFDE9DF121A894A1A13CED4E5D492675BDA35926A1B147D5317D3CC09D4D34EBC1BB223663B349D3F66F05DDE7A66616E7F89B0BC6859A3EB8402B881890B21979BE6F60CFDB9F6C2FDE570D79CA9D24099820E433DD995E4C2271EB269937CBB96839A03BA7AF726ADF23B7FA2F86348C0489E09A559D0FEBFFCBF33D77CED28A439F09E2EFAA7D6334A783075B588134C69433AEF0F8665C05E97EC2AFE49336EE2CEC0724842A64123C7F43689D1EE88873F89AAAE9730B1A29768BE0E49A87B52C1F5AD08D700EF9B57A20F5DCC7C238A5E56CEA3A0EE1F9BDE550F2792741F607E81744855A5F109FE91887BC580199966DFE28A30FD1FBEA9AC4259E7BDF7135E4A9D83234F9D7ABE3BFB1F264E23A67F456096E27F540FBBD5DF0E8DDB5A6A455ECE063D4D528C2582BE8F111E1F7C7F204B82D40F60C2AF6099DBDFD64DF85899BA2A02A26870E3FECA6C07E99AD43F93D21DC275E1AFD1E136D2F49142B4D208EC865F91DDBA5822148C6884B7CB283DE5AACC4E8BB66BE3B08804246C808569B2DF0AEB08BD4C255AE1829AA62AE9495A89D238DD93E2BDF5D14159E48510FC82B572402302C63956CD215341A1D367135623C644094CD845B08ABC7A8CBD4F3B66F48375DF7155BC5A781E69272EC1B3AE4E3CFA1D8D39BF0B4B1 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = 295E0FBF3C5B510D6B244381BEDF20F8BC3D915CFA4BF9FC42DBF6932F44DCA91744D812CB9F639A9C3D376C49CE3C7DA90D267D794805A61D20D00C79F42C37BE018C67857B6A02E46B6D6A147506210651E31B280043610584A1440A07BDC8540AC46E637F7D947792A65ADCE3B790636FE1794E90598CA6340982EC58F3B24AE1C703FBB91412F1AE7C23A3CAF78C4BBBF32C90C365726ED4832016C5A19E94685A7CCEE376184A10BEED6DA7E26D1A4260EFFB7E9F7A0A0C71D7F164CC967C7526A0F1EDF1FF54AEB114109F7B34361DB5AAEF9EAD31A4D4896CB86556D2619DE0ACE07C133B14006119BD4BC8CF4F8EC09CD2ED91B4E524012261EC9537B3BC4C67100102293836E22AB5524C979F1C1AF51FBAA2ABF3F0EFE6818BDAF37CEC4D6CDDC98A994BFF1AC458637D528BA5F701DE0BF4E4E9E691149A6CD4677BBD9821511DDFA6561C419B473D2BA019CF1B83B7AAA3BBEE141E2FA38F032635AA559CA629068DD4639CCF579118496A903BA7DDE88FF54806AE89BA3974B9DC0AC520241BEE278E3EBA1B3DF1C026A8E5F0D5F28C35C5B04145B570D2F06D25F45BEBF4DE2785D75B0BC9F1E6F9AEBE2AE510D422180CEF13F6B0C8A0CAF76609A158FB6F3B17E7282E168DCBA19E76DB7841E384B54F3AB29D78C86861560CDD934CDB63742933253D7BB82B453CF829F33B99B8E56B906C86131BD64F64 + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = 9E8438CFFC23A52D75838690E7074D2C713B1188375D1A77F8FC8C24A4B89CA5979F58692D90DB14DFBFCAA5EF0AC0C2D16F3E84E6F771ADC26FA9081F3B10E02A3EE1A3DE40DB5DE17F7628BA3E20E5563BAD66BC32BBFB1CEBA7598AA4480C86A0C4ED103608CCEB103AA13182F48D9FB363913000BA6559C855652B4EC29D06BC99148569B66C77F58A757B75C3BD5EF2FF832FAE020EC1C9E19C1117A107F0529EA66F0607A499DB0C32966A95D882699B96C4949912380150F951991AE7768E5A26267A8A43CA76AE9C5EDF31D7C52F2B09C9EB15E1CF47F85B20BD55CA47FEC048B8DF899A08DBE2E9C2F72BFDF3BB803AF10B5A1BBCD7B4E1915E099C22307154012C67A39FA77720D7006B86A1ED4F095B6644AF972CED451453B3DE57B1FAD8B4280AC62E1ED09E219873B92BFB50646343C46CD3C42E84E9C7F05F1AA5AFD583F685A20F996B7C0683002691CD28D454F71334C2387DFC43D32E633900699C8FC5E3A3F6494CA0BBA96EF10B7F367DD31623DDC14E9907F9FFC2C65DA666D06987DB1DF8ADCE1C74BDA7BC6C6D5263E3CD777A78B9020DB37D331A16C38D7419EC5036FD95B896373461E6B8384B2ACF96E46C7C9AB6D43C6EEEBF62B7BE5F95F8AB6B2AA5E05D66BC4DF8A2FA1AD9C3CD9362CD183C10C8CCE216FE48AAB2B1C4F6FFA39CA9F8D7B14AC5BBD8C71F55776F6C0EA8583ACCD1956A + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 07024716B8E95D104783A37F82E66D4F5B0BAE8897F1EF6C45DABF3A59253261300371A4FD20601503F6D187CED1067AECB11B4A4B5A31FDBDF4A2B1BA9C0EEB0C2BE7730178FE435905C1B80AFD9CD27BCC631C57A10F3BF3F285BB80D9C4F1C70ED30996941D1ED225386B7F4777C18A01EFB5F1086BE223EFDD082E01755ED517AD6A3E423E924147761C95B74F6BD338F1DC0E53715AA31BAC84F7E5BEDDCAF56574626B23DC247D0AEE8ED77760F53E7FFE467564AA3159AA300AD159159259DC3252D95942215C81ED5FAFE0CB065758F72366E50DF7FE6F2B41E36371408503C5E23A4CA0C93460C0ED713872F35CC71D1B71A34A80210069B12CCA79CBBB04836E6D9A15E78A638B0879F74034339BB4FB39EED0C8D6684A67DD89B201B46010FA73CE5FBAEE87FD89D4B5C40F04D9CEC8510BDC3D07539C82031FE9734826CF36BB41B30426D32A10225209C24B631A071FEB2A9B834810E81B6F87A6128F67815E4AF6A6582EA36D9BE5DCBB1D7FD0BDA2D583D1F6BC2AED7A534C33A8D183D5EDF42F3080BD07CE9D78647DF008D417D0DED5021D7B6996D6B541DE75DD175E820728037B531521851C9743ED03F8DAF292846B2EC019238655256EE960E0981DB7B65A3692B50F62033FD79A29F4A36C27BBE7A3B7BD1E813F3A2EDA1CEBB29979D91720CCD125D0C43D708892BC38D0D297047637447A19CB09 + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = 585F27AF67FEE2446767B05CE40627BB06D403430D94A62719DAE2864CD44E7A8EEA340B98DAD0520D8C16C1BB1AB562C0FDCFE6F1DE4F8A0601EB9A73FFDBAB82444E77487213D17BA31E2BC39FEC719979080A501C8E15932AD588000959A18447B98735C73A2A8F4A949A8FF187520E6A9901647F47DB442BFB2772E8E8E22FD759F88722A98D24D01308B15A0BC715ABE9568A34201B8675204BF68AFEAE8CB063D6CC9EA68AF9E4CD692F9718FB5EAB270A2B74AB623B521B4B085700CACE113168F56A994A639517F36E3165029BF100A6F19162A8696B858A0B0716751430DB7BF07480427C2CDA01070F5E78E3DED7471874DDB05D2944BFB04487629A98E06CC4C984AE8C5F7695248D01CEE11D75A9C7F545CF86BA745B8AD5564F33B0A8B72E78954A7FB253C07EC8FB3D3BDE29DDD91DBBD94D332FE9B7438937018E8243C2D2C30657959EA4D23A319854FB2CB994CED4286836E83324FEA54C58DB55A969165A1755D965C416E1D67468ABC701925F4A80BBD9AA9DA82D148A26158712C2B9830804A4CD1CA14A2B246DFE8E8A12EAC9C107E8CBBF34EF9517674350973E75799A251E72A352D2700291CC3F1AAD40ADC9050BEF9881170EACD3207AC0C573E238B65500B997DCEB347B94FCD5069CF43BF15AEEF15E4C135DD21B4046B201F411513AEA9629B9887D21CDC43768FC1C1B12EA4CA4595AD463 + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = E57DD7DF74504F52D00B8079631F542A532610D77DDB4BFF8915BDFBC9B8F25352AA3D9A2D00CA2E14C77FF661B3AA44E30BCD3D4B110A8CEB65E150DFD9109EE948FFF11CD01F6A98C0100D2323F52E323E32E9FE7BBA6D4411EEE3CCF70122DA5BFEC8B92E72119D4B1CB1A1626DC0CB79FB4E4C938A4A7CAA7962B04A1129B4A0A9C457FF38E8D3379044E4B65B82336709B95401CD0CA64C10F5D22A226678A1EA4E2C54509085ABDC41AEEAD761C7946F33140AB775D61F7B001F141D00F5209081B11FC2ACE5D9143FBCB710176BCC8AEE25D0182461AC1A446F3A94788B3513B88DDDF5DB0BEEFCB331CD2553416A3606F44B5CF36318C72501FA2007F76BA506EC510508B27D692CFDDEBF075B39E531BA243F3E271B5F70EA6B58AFEAA0B8264202BA2C430C33D1409693AC52519F44B001ABFA9C5595C0726DD1ED36C8B7CD2F29FAA912E2613D1C51E2D0C6F8B27FBCDD6137307ABDFC54C0E6C6FCE06303862A8EFECEE12EB87CBF8423BFEF01C6FB87225DC467CA7A0B0243CA9D531811A5E5090351313FA6F73D413755551F6E7187057FDF4CB58A1B3B3A63F28A17339A835A73BF21EC013EF4B2BF89CB3BF1369A87239A546A6816D8B06EC5B1D5A179E67A86665EEFCF439D667F5F9890DA8B9E1E7E1AD08F757CB0E3EC6D8CB8FD4A140846E3768076D342FDF0BE4CB135D68FAF5C93FAFBA4813786D1 + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 6C60955DCB8A663B6DC7F5EF7E069CA8FE3DA99A66DF6596925D557FED91F47091407D6FDE32023B57E2EE4C6AC97B077624FAC25F6E13F4191696B40A4DF75F61CD5521D982C6D09D8342C17A366EC6346E3528B26CFF915BE9442B9EBCC30FF2F6ADD0E82BA904C73700CC99ACFF480CAF0487CEE54CBA3753B6A5DD6F0DFE6571F0115E8737B071031023B6BB0D79864C3F33162E78269CEE23FCE47B91B4FDF91F98464A1D21E799D17F76C1BB807DEE667B0B273054BE298299BD12B7A80FB354CE3E6D1ACF98443879A554ECA6B96DF061D04A117C98AEEC1CDE1AFA9CEF62DD686DA91BB2B1F12379BBDC9FA32A6B6998B77E8EB0B50507862AFA7799D018E272091F51CADD81ADB587EF67BA67618C45D1F3D559DBD299ABC26EC712DA8FA34BA33BFF400D1F0F8B6345CF57269B858578C0072A91A63EF85F9D378900CD1A55D2BD4630DB829EB484D89CE7A414ACA173C52534AD5F9355E80E395E79156D751A930F7F8B5D9F4D5A2C9A753723083C5E8EC6CB24D8EF93C8FEF2D1BE4ECA222C6E6C2ACFD684893CEA65CBF5B096B3D866007136126A33EF496BF2310F293BFA4C93AB826821E2B93259C464E0AEB06D6DF8FFA30B1C1E7E384C7E427A2BA3D99FF8A666380C5C1B678F742C57B0C3B08849FD65300DF13499DD894EFC33116E7D0774064331FDD407487417D13BBA4285299AF650D3065D951131 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = CC2EAA04EEF8479CDAE8566EB8FFA1100A407995BF999AE97EDE526681DC3490616F28442D20DA92124CE081588B81491AEDF65CAAF0D27E82A4B0E1D1CAB23833328F1B8DA430C8A08766A86370FA848A79B5998DB3CFFD057B96E1E2EE0EF229ECA133C15548F9839902043730E44BC52C39FADC1DDEEAD95F9939F220CA300661540DF7EDD9AF378A5D4A19B2B93E6C78F49C353343A0B5F119132B5312D004831D01769A316D2F51BF64CCB20A21C2CF7AC8FB6F6E90706126BDAE0611DD13962E8B53D6EAE26C7B0D2551DAF6248E9D65817382B04D23392D108E4D3443DE5ADC7273C721A8F8320ECFE8177AC067CA8A50169A6E73000EBCDC1E4EE6339FC867C3D7AEAB84146398D7BADE121D1989FA457335564E975770A3A00259CA08706108261AA2D34DE00F8CAC7D45D35E5AA63EA69E1D1A2F7DAB3900D51E0BC65348A25554007039A52C3C309980D17CAD20F1156310A39CD393760CFE58F6F8ADE42131288280A35E1DB8708183B91CFAF5827E96B0F774C45093B417AFF9DD6417E59964A01BD2A612FFCFBA18A0F193DB297B9A6CC1D270D97AAE8F8A3A6B26695AB66431C202E139D63DD3A24778676CEFE3E21B02EC4E8F5CFD66587A12B44078FCD39EEE44BBEF4A949A63C0DFD58CF2FB2CD5F002E2B0219266CFC031817486DE70B4285A8A70F3D38A61D3155D99AAF4C25390D73645AB3E8D80F0 + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = 1279A95CB87B1CDF2F8A8A47CE55F0DA3766E35EC58CF921E07B43B176CFD6CE8508A208C9D6F5412515E0235C95397A47D2A4B13A357DB4882F69B9C910C985A5F82187BFCC46BD48CDDDA7F65C3E95481A37202EFF9C116BB3F784BD46574FBD49E19B45E5E2D18F57BE7DAC826A447ECA6E2A6BB44B0061930DF56864C378E020A183DEEE8445648EC2F95EE5F09CFB196E3D809053566446FCA6BC36896215BCE115B0AEE55737A4421316D2058F24C36D46279B458E901D3A8062300024068D99D8C1B8BFB6F3E5883BFEF3C1AED55989151C2CAD1EB940CC82398DEA1E5A92351F0D5AA7D47E16A949F396194EAE2EBEA1FB731BEC12D2734C2F1E7464CA2FE27F036BFB28A32A9657C75EAEE79F86F2CE5EFF1AADB68DA0B32A4BF88A37F1D66D13DF4ECE65059BD4ABF91A3EBF982A1F5E9A6DA639623D0C8E5FC5C0C8071965221C4B79CDE7D44FC258F20CABE3C38862851952741FC9E9E87C06AB0CF8B8FED6C18666C5C70EA25973FED36D90429C54B157174A2583E142E26F2ED492A9FA74F1985FE52A421C2F97F94B73EC7D881F0D0B0F930461FB896B1806C704307CEF682834CB583B6E996BD31A6F1D8586D416FD8C91EBA59935FEB12A1E77D0F3E05F80842B14F34F27ADD947EE3CA2E54BBE018FB8CA27FFD1C24227572CC277F723535CBA0133E359217D5522676485181ABBEFDBC31C8164F17847 + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = 7A2DFE06B3AFA54B49414379BB9C7A80EFBC8D0630B8CA170F6B22CF65BFF168F2BA6E32806E6E7D9D366D53A319BC2C8B8AAC7CF8158128617229D76AE594AD71C0E0541B86078A62D71E2992E555EE6FBEA906CCFE58FDC7101964EE8C3C05D0C2C7D8A01B7E1629BCF62233C0487E36E1C25474E129B72F1F9BAFD6E0F7C9FDE8DD44DDC1DD9668840294C5B39C408AA1BD1395D1F4A2368D9D1E5168093A63732545FE594B32EE91F89B297E3A33F53BE9A1A00642C17DA7061C10D1525F34180D04C78BABF6B1C866A8AC1D19FC17C24F13CA4032D650DDA748E2A09D3D97A2125D52E670C1DA4AFE56E60DD789608F50E914317EBDAF125BCCA849CE37F38EEFE8998BB2B1B10CC1B28AEAD1FC48FBF1C95B2A0F0637609CD569050BB5F3711024CDE92BBEFF1C73C9B6C8DBA71B2AA238AA26B4007978EFB346D3FE0031C391A70F362C4C5FE1DA2D3C73E4BC52A400E5998660D8C127C46CC7FD589DB2C952D2F077E4001B2B6B46EE5E56A44578B4B8DC1AFA33C3994CE7CE49B4D8181195076B938BF605F61A74F9C505C64C2A75601E7EC3A94B22157308BBD481553ABFD8ED5575B828CF247F6D321FF25FBAA245F9B30B39171E1CFF354B9F20D55196EF66D32C4693FDF249F528C86EB82779B5FEA03F8A95F31DC0579B1CBF178B23B276E5618941760B117AF65B83374C919D6D423B575C5C459B5AAD6A2D + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = FBA46834A6995933AADDF85B59F60EB3B77B5AD38BC21A862079D8D2227CB9B3CE3ECE89D90C70B990F7507D5C3A565974446B54D43288ADCCE2BFBA8914EB498DC6001BA169417AF6DA3ACF685DCBE3CFA0C59963F0F0AB94D39F05A69D5DFD320EF409DE76FF85E01636F57DB9B2DF436D94EC2845F0C0D1959DB6308941E40C946F4C3B3277A065847C9E3CCDCF113DEC5DCBEF5AAA1C5B91C19E05EEB66F6E698178B7B02FE00B89DCC98526FA0E7B2C6247E1C175A21EA34F5260B0C0A625D7AEE1680B20B4667B44F72F1353BC71DF6CCA4346EB54306DE3C380438A9B8E6CC47E6D18D84FBECBF9A6132F63C191635999105967C2E171B74615F456D2E111E7FEE5DF00217B49BB49270BEFE5BDFCE1486C13C6A94E31A20C1D377C410324C08A17C2D04710CA267E85A2CC1E17ADA367C0F65AC3A70AA5FE14378371132026169657D1BC1B84C1908AB46689494C3E8A34835F4DC43D19E9328ED0A16341E5E9ABB80BDDEF1BF5FEB5DDEA560253532A6607E2E128480DEE2083AF54C67E971CC6B56383A564B0BBD2D802C6FAA7BC62629595B17D04C3AE20F73B35A9AE4D356D401345E0A0D5174BC457256DBBD844F9A4BFCE0DD48F35C5F8A915E61A23899C40FA63A51F0D1160E16260BF4DA1902AF01C67E8997B2AAFE1989D013846CF985164C03418930E61FD06F9D30F06897460DFA1987D4B5D73B68CAF + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = 4B60950081987C82C2F1A1BB9EBAA9A72E125557E296BCE9895561C6A959371EB1AC9A13914F4419B4A0A1048B3D422B53261B0AC26EB9852E9933251E154996DEC6219A7063D87228A8D72F13FE94A0E75485C8F23DB2341EE7439FAF87A1B359CEAFE4290319F4705B49CBA0ADC24DB4FE8800AE05664C544D53EE119CF4F1572DAA355E48DB605695BDAE5BF22CFFB60C019934F2AA952918B388EDD9C53DC8FAC2186CA0F77AC6543AC379B1ACEE9913CD75CA8E0F9D89616383C9541603430AA548E9A9DD8F90F64263FE42A9B8F66991CB2B8B45AAF683F51D194A01098A10D4BA1107C56173825AFD79EE0A334CE739915D4F046C814412DF526ADFF4F23811BF1C6A254372E8E46F0008F6332637980417043BAB8FC21E3715B713AB4BD1DDB3D50FB9D5D6AEBF94FFDA51D3BD4E25C82B295BADC7F8F11CA787DCA045DE2B52A79226ABB945F69732A1D0DA3A3228D44D8F43828D8958E621851F4824590C0719982CDBB3602465C28A97CD4CFA33D6EBA65A3F6428ACD37D66967B8C996969D866A02FF6EFC1B6240AB557321260EB4C9D233FF4E1C293ECCA825DAC943DD1B9A624AC37ACD1A818D2F74AB99B2883F0837F77D4D00A52DE0924EF55C7536916677D2AB4FAA8F19E8DCE97C05690570FF0117C32A3F500C2FE817AD651DF2E3C28F5E867083F607E8D0509745588ADD19F1BB7482087A508217DAA + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = 5CBBC93FED206474A11100E1973984D5BC5D06AD92996FC8928C1E6BFDCFAD5E32665F4743EAE8FD28289DD226A0136ABBD5EDBA5016E975381D4C3CC95065FA4CDAC2336B39342BE8070AB2B59DBABDC77B8742E4B3C86F1EE9ED0C2B5030FE1ADBE28F827111FB137C180B9994FE150B1F5144081AD59131A6017CEB8FB0715DD2DE6B3BBECD2FDA4C3E9E8A652B5DAB4D0B39CAF68413838CB1960241AF59A46C8B5FCA40552693CEDA564862DF42C5827EB371311FEF9231FE1B23ED07F72DB6410172597EAFB5D077AED168197F20C3B01CC3C52A94546B722B4AB56211B48192F908E7E7A7B7020A8F6370A0B73E046E3211DF3352DEB1D59E4940E45129A6667F160D2ED6EB703EF962683540E3A9C7C94A61875CAC09C4E22ECCED9E2CA6DC519698042F67AA518EAF3D338C5ACCD5C2DE5C3DF6B4A2273A0FB8880CF3F81D046AD8B24E73A8F3BD7CA65CD21AC2D950A7E36D0A25362788F1AA26B71CA434AD14EF3B002BAF6327D4A5293D91CB838E4212949675DF185B70D8B42C0C01F289478F0A9FF736E6838EEC5E54413CA6F7F22F51AADA7F3E9C69B9009599BC437C0D806BAEDE6DC1B2FB9BBBA43FC3BFB5CFB408A9D8EC1C1DD1528CC2AAF144FBF9079F86577A4A042A085975BB1CB5DDBCD728DF6BA69CB23A8BDA0368924466A89DA791D4328DC55800FE8639987EFC172BB29836A901B3F4F3FE9F + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = CA9CF74ADED61A4BC20BA078E8053702BC1A444CEF69AB058B9C0F586286C138CF02AA36CB69E0CBCC52F455623D27B9597C9368EA5DAEC4278E75AD5E3FBCD480DDF8EF39B3D10808D202470D18118A215838A0F6C547D324FAAB761F7C8CEF462BE150DD49A26DF4E453F997C31FCD27280E846B15F640FF8C39BE270DF9E44CE57CA82F6F6762777089276A3E67D8EAB0E4A0C2E1946FB08B3FDD3FAE438CC2E9EC8BC1754275FCF4060E31428B9F08E953F9FB4F80560F2040E4B6CC7BFD6C278FF01ABA41F43549DC0AA0407E5C8346543B1F1C24D1E05475327A48821C1C1058850C180776EAD66996DD5A02865702E0E4705E8E2E7D4D25F058528AC980EB831D6B70E7CC06EDA314D80E1433B2A63EEC405BEE2ACB18CAC238ABDF254DDBBE72640C8C609F70D04C77D2BE9190F78C8E448035A9206841C55CF9152AE5F7CACD798AC696299551A5D45ED113C94CD862197EE118CAD47B8C08BF4FA1C6270A61DE6D538D608E126C0FFBEBC7F44D418BB87E557E550CDDA20C2C47F2CF635411189D30DEDDBB9075FA6F0521D2C4FF0E4D641006CF5EEA1231A87D020664366EBA5C5610B63EE5B5A50C2C8CA6D7EB8CDCBDDC34AED08ED7E0EE437E235449D4C1CF095514E581E3C8A15EAFDAEF19FDEB31DE6619BEE6B17B31A96140CDEBF7534E0C277EE33C54319B140AF0135D6F91F7D2166026C67C71A21287 + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = 9FB76F906CEF4A8C7A9CDDE3254E6D4581DCF745B26995FCBC123E716F079E0A0B9F7C8CCD9DC5AF8894B2D9783395F7BC05D95E20419C15D74EEAFB23B6F1BA427B4B20BAE38C2F6812B74A7A671384235DF3618A7531123412113D57B9C2924EE4AFDB9CC055070485A2960E8E5CF1971171F604781865624B075C3C01FA27F9B602C29E257821ED92B35F7941637C2BC6F0048A579E384503182CA8498AE7493D398476727A2AD321785D2273F9F548F6ACA80FA7F1ACC1144EAE7C0AE58C3C4BCA20EEDC93C3742954F2E2963282084853AF5C8F30A1A4333374B4A66188DE73F773FF6A576A0A0DF3C690CC59521378CADB123BD673A04FAFB26DB9D653D60A87F2834683D97F5D6E23FF2ACE2AD0A5FCAC71CB0032039EE01A2C3E37B3E1C14ACE44A5A6E43B1E1A0FBC8AFB0C811C911F2853C85F10D06253D29362D08523834273961E37C4BB0EAD4F79E33D77EBD0D843709B121F8B509C24396549D2187DF52C996EEA9805C4A3C4F7729003D7BD7FFAFD6384779D6B6163AD7C632A408922507188EA22D685E05C8851EA9C6E625D9461EF06AF864E93F9B4544F00244264DC57F4A91920FEC0120357B54304ECD0A45DD8A6879EE01F66F222C6CBEBE8617FC06B28805F480CBFE90D42A38D1981A4176985775CC92E3AA632CF4D5A49B201EAE275628A3CA7BBD4992A39ED5737CE0B4C32ED4C4D84D9E15A46 + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = D512EF86B19C0FAB408DF09A8CEFF07E8259CDCCBF0C060CFEFD8FCD3951BED94BCC30005DAD8002227AC4524A8E62709612666F54866074F2272E6CCA23A88D5A05DD5B44DCF411E137F44645187BF03D8CA19DB835974CE314ED8F3F1CB3407CC48650A61A8352FA34C4C307B8DC438634C292E91871A5DC55775BA740B8E1085C14BC779A0260288B48C80AB4B2CEFF645FC47751D6DFD3039246A5E7F8B1D66FAE0E2B71172C24D599CD5836FAF10B567CBB834804C16D111B56D8961EC67CE6DDC989B0AC0FB3975581D3BD70043725331685B959E22AF6509D4C9CBB8D4E10C9876DDF6460D62AB09A97A220038952F7025993F3F3C5EAAEDC9D9AB2AE948F56F956CCFA1DC670C47CE1946EBBC7F1F537CBDDD3938686E65E58F1573806EE42DB6E22E1D5070820787198F27B842409B337BF0A5647C63DD0355838F52971616FD7318164CF331641FAB6E3B2282547288A76BBA5B973E138E4182783FADB159CDB1141DC950B70EF4609055076E7EFB532C9A944C419BAEE914EBEEEF7E1890B292F27ECB8B7DA25B0C7DEBC52FA75F50247BB671087A0DFC15FF3DFF6A3E57791F2471889F356D44A3A10228DB2C3CE778ECBAC53F127DE3F4621E6D83F8714C0D66763460A011958101123E9CE31F5562B73EBD4F08947475E62C6D815BD02A3BCB12B8D058DEF7A9DE8B4A70A00D039381D61DC6C0317A0DE62AA + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = FBE450F412E4DEA6DF16609A1C5513DDC550F7D7FBEFC4F5F9F193F3AC88351CCFB1C25955818DFFE5DF50AD08B3DFAFACFD7BFD484A628F6C9BB4E32F271F4846BFB90BE00B80572C12457AD35541C7FE0FCAF156AB66548A7D90458713F8E10E725C5759086D33685D43F3ED682B1F53453707FE17F0D389D0A8497E258566E93062B31E3538ED95691CE730B1DF2F498F010A2C2DE04DC698410A3D4669329E685827DEAE4BAF2C15DBBE975C9DAA13430C440543AD94624501AA63AC4D012EDAE314DF68D7D4954D4119C5B9505D566B8AB9B54007F4B8D92D9FEEC562B9E0E37FD8643907D8E7B6FDE785195650580373D3FC69619FDD039606064E84C6C6E44118E4921A2DBD185E7DE90508FFE7380ED1C9917E0E38DE26D8941D6AB0D0B4FA213DB4B075A362B314BC7C3CF21A8341C611551057F9E07492C8D923D54336F3F0AA44422C423E2DB0D598216889753280B08103417F431658F1EBE267237802E1EBFCA862027A29AEBADF8ED9A603983E0BDBBE84B3D9A5F862ABBF5E18E5552C0D3E7577B96916123B4504AAF2107F643067B88ADE293F5B3FD3F6955CCD9AD7E134C9F5EE60F6DA78032AD1C85D710BC21939008111602147E0BF1D79F7F5302686729D44E44A7A6521B8270CC57CC8A6F16770BA66EDE8FA823FA088BB7DA7EEE980C6C947D7F510DEB93BF0B5F4380390408823AA8EB980CE0F04 + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = 6658EB2FEB9A739FF1724FE1526089D0AE807945741C2C6CB630E8F5B9C88F3455017BD81A5ED8F441AFD50414ED0B9C267E527786041C4E3F8DACCF1DB60A0ADE7199F689C8F0C04CC846318F0B8C34B122BB98386F48B0E69317938DF76C9C6D502BFAE1FDA37DDBA108AF9E2D07CFEB50BB79D828FD5A67C9C3771FFAA07C7A47FA681A1358611BA76B079F4FE14DAB9A0D3A4E5D2AC41F4F1374319FF9B81D970511464F5DA9AE9D6312FA8BAF22FCECA2B4BEC1A8D887F47811F1E7ACC1884DEE4740AB2F6E2B4F8C11C81C7E40BE19F90F27FD1722AB95BAA214B4096B4B11A1A9B553C4ECD789AED9F22FCE58AE1963A62E450D754CB048C68EEF0E7D2C2A146300A902C56ED8D149BB5C36566CB8A3DFA8582562A48927DDEC45BE750F639881CBC33D3B48C128D91108F2A55724BDC5162B652CC03D5F591E96F4BB40A571E1B22F504A6BB6D8D897A73884057E1D2EB15DE0D3585BC14CDDFAFCE3AD5D6A861D7CF82B5F1AF784637A99B79F91528C4976720F34A3A12BA0A4BC84975CEE3167D4E72292E9295629503D642A29196B934E71C63425AD701820E79DDC9220DA7C7A2AAAFFB852793E822B6915734FEC8B93344BBBC66C5192B7F1AB6BCC63713B11CC23D541441C04428ED11444BB2F7EA981603ED4103F86E6623014FF97CD32DA3C6E1CCC22EA8BBF3B6853764A733E61397302A96434ABF2905F + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = CF7D80DED88E700DED518B2F0049405AEA695691924B4EF06205DD2849E7A0090647C3A23407CD4EBD5B582C32B6554C506E416B9D13903A3AD69234826E36E3C5862BAEF9BD93EF345125678E32EBD5BAE0961935232D5BE54AC721FD75FE1165341A41FD880D239DE12065471AEE6CF970CB6A0F02ADDEA861FEFFF91E6C2E482EA9BC255FB00CCE1FE8CE3DA479EB28768F356C2EF83F400A0F0CE859606F3862A3579E609DE48F1CED3C86A9EA302462DE9A27B0F251798F9D0ACB22E6C71011F0DD45B11E8E33543A3275B24B6464980A5B6FFAB2E9C8055CDA16BE6C60FB616A8F3E8B759552A2DF2B05B846BEAE18A01DCAB1E92545B0B3CC2DC25134379021DD7DC294BD97A775C174A04F2F67591841E080308C587E208D1B497E229220C38469944EF41F61A64C83E06A4390BCF318E53E4A6E9214F943D1EE957B71E8580E0A183C6B05924CF32809772CDBA700EA369448AB56F399385D4B8D851CC8D6E8003F1035C6E739C91E03F1FCD9662AC99E372B45FC08610265E530F53FF726F599C33820AB468E6BC2C551204260271FE46C0A2975A18BCCFD87A53B2A7EEE2095A180B0A5BC7D64D57FF8EFA628349E00C84B271DDFE13EB009387B1055F3B0E7B556CE6A738B9DC880B22E79666148A6C4D97B2CA581864FF4400749750BAB03AF9232815BD21A1A6460483505C34F282D59863B9F491A39D028D5 + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = FDB4CBEF885524710F96F1B489099A8E5F9F5EF2BCCCC23B6A619BC81F9DBFF63B9AC609BD5DA0FA7AFAC0E67BB96A54A1A64B4B943E0A492A5BFFF399CC9A1FDDB5787434F5034A30CA767CD8A31B69276435C99C64F3C567EBAF3C69FBCEC540CB2FB671CA3835ECD228C7C7649410107D399EDD661BC8947D43D5BC441AB2EF39AFAC6788BCCDAC5462D5698F60616114A8346707606D1501C834447031CFEA921A85AC882194750FB8E4D22573A27F2901B75C6887D085A6B47E2BED5AF785C9B60DA38BC9F61750F16B2E06CAA1CC77CAD2B95C5D583D0E1BCD7E10B0D8FA8DA7E097507D11873395166E3591BAB851EF4CD7E1F05CD8401AE496737894EC50DA4EF475424485BE599A4E8387B0309629D5B634BD70C4C95BE723932EFC24CA8FF978CD31B08666F2F6DF9E94A6F8AFCDDE6C6A01AECB63950A4B4BCFB4ECBC1FEAF3B54454CBC7292A65282C9B0D7C6A053FFC11F6888DA2BBCD6496CA74CFAF0F49A6F5F56E14E51955B73994015313404D46BCF0CA0854407707C176F36C3AE5986F67984A33F252B86B2758CDB7D2FBD63606B2E43F7BF0919CBF97D2E38F01ACA8B3983421CA447A78BA415ADD0580FE56E391817783F11533C8D70E3B8FFC4A3CCDEC56297ED51F80215BE98C26B343736196F5C68A65B308835C8693280061865435383272A77397DD6FC3249B2CE17AB3417AC9DDA62EE74C43 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = 748DE9C6E6A8886E9C34D67A5B2625315D8B0057766CE2853F8DD047A3B58A410B2327E56234572DB7EA886C90F6DF31B795E93AF95A4C52632D7E03D255668255F54C0DC1264EE989E25DD0EA77A8855BC74EA1066F201C999C0BE63D1817DF33DB624F540EBF463C4B48569136E891C1082A37E6ADD6922C08FE512D925639CC37536A324F3850932B474F313647E65FBF28CC1804D2EF15492CE09E84413A465C69FCA84014F15F2FF3FF5BFA6A9C38CB69E75D66145BCBDC462E3A6FCDBD7835C44B9D95E1F6D72C1A7AF0E9E9730559499553715B0A7EDEB6E5C8C5A3536CABA0B67F619AB317AA8F60A005860599BD1A1ED20FFD191CF7AD26B63264CE022E1CA0EEC821D6A4BFC1E97482CC33A14BE20D3F6EF96A47DA800CE1A8FD6939069DF50C10145BEE28799F8A1C43D37CAA377AEAE5A2A19E6DA2F173124CED0AA5652AA34632BE11CFEB8FC3C9A0B4C45A7933B671432AA666FAFFE679562D727F786960609A91D0972C35B4B9AD27DADA6A24E00589CB1EB9E4706A476C5BF749091DF4370CF99FF6ADBE1B029505BBAD815AD50EBDCF22208937FBA80A453A99CA49004706A3CC3A95CFAB7F0C2FD2E03617F379FDFB8A91442754DE62805797ADB4CDAFDFB7A69F2B0CE9DC530A9EC8C741E892758512C4AAC208564935791713B49B95A9DF215FDD74F906F8EAA7B13A0EAA443D78A482364ABB883813 + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 1060697962EA79B9519FE3AAEF385C997B2E8028D68DEB08AB3B76F71CE161EADE98C89D223EF0384232AB3AF3A6CB1D43EF5D20C1B3BB819423C026BEF0BF54F4800CBF8E9E2D40F9A4C6CBE7487600BF451783A378558BA27268A5074AF0630F5F2CB890BDA971A4AB65CDC37C0215DB1C09BA96240BE066F95F158CF863CC18346866522529503E615E4CFEF990F49583EDE896BEB63B1489B6A62BBAD9330D5C3DEB673D42151ED98A3854C1E80E0868E27D8CBCDB90DBF3505610FE170537919EC7C191579148E06D7D89BE3F5C88C430E38FD36D820DB5A941680E08B5D1859EA327C82EF50ADB1D8E6E5184652064CAE2C617337ED36CBD1ED42CDF3ED0C411CBE1A9E92E0F4ECD3CF84CB6C07093D51CD4D5E7C7543D385B9F420248749675CABE9FBB87F56C865325B826C4D32E28B1E4BF1889F2D00BA87EF01720D73EEFBC38828CA76027C656E3758DDD1CE730E2AAAC0354EA71E79D53C0D3526ED8FC024BB8CD675AB290FEED6CEDA91A29A71F5C128473EC94EE59A29A381E5046EFEFA8BE3AF7FF0858DD54065B41FDE35F618235D5221AABE2B4BE62C1E7FDE8BEAD94F7BDDBAFB8A471199B3BC099E77D8190029CC7508D576DB31F362B09E5C1131B0572D86D4A7D4B533737EB4D7E504DD0852E079F2A1B2B3A526175948227EA2511ECD4385F616B3BB086C54F191046BD1782EEE9625796010493B3 + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = F31639CA0F9455E11389937E9E58792E3D73B9CB950ADBE806607B1AD53D80F2A199F577E278137035136AD2AFE7F8FAFFCF0E60F0B2A71E0BD9B938B28FCBA94A912F249FB9AE1779F87BB1AA714D1FCC57D4BFB899A233B99586F81F4885DE6693DCE78D9B6631957F1689E843C1463045CDA6B921173054E14BE9DBD068890DF88932F68ECEFAB3AD3EECAC1B4C398292446B17E826AA8E35F6067C908AFCE46FD92899726677E2C0589F525AE021A22A601839BEAFED00F6A8FF6223FC5A92EBCF6207341B63FA2E66E9DEE2FEF1217D9D39915924E522BB52FD29501247B1A7B9DBC06678C5F29AF7CEA3D8722374446992A4BFFB0E3E623E881EFA7F957DB1946496C2EAAE98F0929EF3DF633E67730D06483770197B9DD17C7C9838AA5003C5BDB4BC54E7389D453E769765879485ABB3D565749C8CD5E50DA9C4517F31ABBA38F1D7A0FAE0D2816CA0BA1DFFE569DF4215D215676DE0FCF55A75FA5F7E899F045A4B6051DD9355032DAC56FC56C4988A4C082FB85B74A4C8A407CE1A06C344B2E833281CA64C2F23FD8A9F996C563E9AF8742137617C0E46C5168E0B43877446E07563DEB3D7654D9EA3C8AE3DEC58C5753F34FDED605A49236336F0B355E95DEF3BEA7A367507F19F4E0A6DD03ED3090C285F761C48A3D3C5795CF277A87FCA688495EFFDF5D10FBE07840C3F202D85044FA3BC41CDEC4D0AAF59BB + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = F04B251F8F1A9FE87E9F8B0BD8A641566174CD2157ADFBA255A4DDB7A001ECD9B479B7877C38E487DFF1D830D01DAB9684F1438C4812BEF8DA03ECFE57E7EB68A68E4FEFD3E0A70D607EC77102538D5535C293339532953138995CB4F23AF709F5C103E662E7EDC447995FE5BC716C7BC482CD0CD13F17AB48D33C8BFAA67AB6AD30482B6DB8BA5B1290656BE81E1B543793D47C1D0EE7BC953C812E187535A0659B2CAE6BE47284419744C6AA66B9E53F76B9F90D4AEF8DFCB04A98C82FB434C0946E5B98F2C3BF25C128CEF77EFB9F6412EB11F36E484FAF2043A40CF44C6C3D28761F9CB7149C3DB4620D09B220720767AE41BB097C865720185C19A474E4C3D706A636E42050A23766C2FF3A21C4E9DD7AF62F47ECA671F473E2B487A65ABBFCA74CED063E33F75955E9958240BC3907BB90EC6F49F384DF5E936AE14FCB308F8ACC1F7A406DA680E4EFDC2D2BB74B922C7B49E4972E388596B4F05FBA68ADF9A22FE16737394DFDFFE2F0D32F1283EA81996B8309C2D10D4E32D4B7BC3D88484BAB364D0B7E35FF5647053CB34180E037A66349A254AE2AA8F81CC7FB5514E76D9A01F96394E3A0044039C452ECF0FDF5B8A57A2A5600AB31AFFD1E15D4642F1A37DECA0EC60EF753797AD668B7D9F2BC02DE248C719311E5696E11688DDDDF71F2F1994331CBCFBB9FF22438825620033734C27F9FE72766BD9C7FB021 + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = 8728A95B55D97271B701B1BF2C2987AB3045D39FE0978C9467C41D44C006486CF3CA11B8C0D22C619A8E4652AEBE67FE9FD7D35357633C8E11B865BD4C55571D764E6F92E29B5C93606273522A958EEE0CB2315E89A1B5C45E763B145B1166A4717784E993E4A7A699FAC6385957AA914BFC856E8CCC62DD39159F0FA5D2F4C74A4C9E1F3A1BF04F8D73BA5A3133243973562AFE874C40331086E7A9705AC76CE8482B7B029278CA61CF74B5AED280A6E795906C4C3F525C5CB382E55AF0AC5C9EAFDC520B0AC74F14E0203F1209FE6641D1D971C76370204FC14BCD6A8223E30CA81B7D9E94F35DC53634646A21C28E873BAF741705E4862AB6945653A312125F534A75B6F2D1CD4409D8F842DBDFF9FEA090F6677937DAF354F6130ED77C32711AA0C7CD448D92075909ED7CFED67BBD5CCEDFA34495624EE4373D66FC2F3B25B78AD6A1A9E9FA9A714EA24240161C8CD88F24FE72CC3160D5F68F2387347B580E945F401B0B025A21E97FEEC0D4DCC412D2597504489B3CC20E3C883C0D88F26591AB840799B5E9B253FE02656CA6AE1A1EF1BE5F1961F29CDBE35A40BDAF2760C7BBF051ECB62322DD178753B3922AF4CEF0AFF4955C32F32AC28D3A44B7F1E8CF93FE6547E8C3DD35159E92A9F3C6E4CF2A75C97CACC0D732B984A8B7A6AF9B8189896FEC2DBBEA60C3B94904F154BDC8FC291E027ED03EEECFED067969 + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = B0EE2D0215F195934D2937D523D38F1AF153FC142C04E5D684834596F3B909241938A56209D414BD1AE0CB43EB2B46C314C1A0A0B155D432947C318642FE5C5B4FD6D0E4C21A9DC594DB205307B41EFFD14141454EE55DAD5667CC7459D0283CA6652CD5092EF8BC35C908ADD07FD5DAED66AFC6740BAEC7FCD64B838368A8FF0DCFE25B0D46FEE0B842F9E9F59EEE18D73C2549CCE009C388B5A8EBBD54B35676B6140DEED07EFD4624D5A7F816189DFA779929C5F6B1B9489E27492AD0F1BD085EE890794529B75E10BA006C1B66F3F662C30DF8B1295E1FFC301DC7060010862CAA14D7FA09817F0D91E928ECD89FD8E76E69B3EF4986A15DFFCEDC9AC24E5E28783667731F07998F8A36DA512BB5BA0CE50640A1A5328FE037F5872A85288158CD5C66B6C03F1925C12258AC4B5E675ACD73716AEAC389F9C235B02FE363A98CB10D9A0B44FEED935AB067C2EEB499CA83FEDE967F576681A13C999FC7C1C0FDE2754DFBA713453545C6AE722F4FACA5F5F2647378BA9308DC27D91BD1538624F459D0769F303AE818CC52647AC15E2AF9BEC6476A232C1AE81BA4B355C9DBCD37323D125228A53086E0AFDC98C95F56E12A48843170E9CAE703F5001B52DA42C0AC9D285C8A13AD720104244F19C30B38CCD620EF8453401CA0FEEBC8B58025BBC6E6C2C788899871D3A5A363D51D8991B5CB5085F8AD525A71E985B3DE + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 19E39F7444A4A0E1C003631423A621C055D0E07F0E11EF5BE1836B71690CB0DE1565684C355EE9F2E6E65983B8101B5100F39157DDB8C8D92C736604693ABC56491C58CD66BD66498143554D0CE34D601072BF9D0E18EA1B018A7ED9A65EDBD0B81212EC13AB745728ED3A328EA157B9C4B3195F8CB8BAD94A977015B94FE8050F37A0BC14E58EEC7654B336A9E30BAAD27C441CF8AFE093132234CE47CE3FB3722990F6C5916468B50A13C611B194D148A151B9AC97A89539D1EFD2F9C6F72F56A8D22A557B23EC7D932A6E41B3F2C177CA9F2ECC2A1EAD4061DDFC04AB1198DB0E26C4B00301E35B18754DF79332A46190ECF89C0DA6834731CD19E2C8DA3A09ED16813D2A41F7A0A4ABE02C93F7307FEC1537ABA546865A3130D38ECC496E548A8EBD2858EC00A57E15E307C1A35D1355B8B97E9DECE5A63AD7CBC97B30F2C9DE69E4975DBACC31E04F15A8C02E5D23ED01506AEFEE60A449DE20C5A50F1208097BDDEDF6D2CB34036DA708BA53DFF7BD6A1E41057E05BB57B3F7561979EB69C40348DEF728BFA8382F5BC8DB63FBC08E6506AD80BCE0C71FC94036EEAB1C0C89A2C8AF4002BD15617834A901FFA42AA249F7EA700E6FF4B211F7B052ED5BDE9B242C9874ECF39B318A3713F1DC3066425ABE76C4AD47F43ECFEDC86A45E1E93544989CE7ADEA7E4CB3CF91047C4F9EAD7C98AE963F34E99874B4002E3FF1 + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = 18AF27FE1B4AE8A470778480F2586A370C93640BCDDC33453E6F3EA1346B5A4ED3EA3E2EA43B143A22FC66501DD52DF724C0E8F222380B4BA8BC23F2967D0A56EC241A0574E2783A461098F263533389D503B5D8550C8F60FD6FE953C5631635B6990434F8C68F8E9AC3701B3600C2D80F5B12D14218481904D1F15A776CFE1FA745103B995F9CA8E8E2CA062C5A3F1FDC848BFB0DE4A47EEADA11C51C743CD15C32BF921D07F242B83086660605B29FC36AE394C215251B49E9777A93AD91179CFB0551E113DC372F992674ADBCC2D90AEBC572B4C82B454CEB33910B60CF81B1BA558C2E01EC1D837FEE34B86124E15D7BEB7155E5456DC94D2427F7D916B9C34D24312EB2610A48002415182037AFE89B29DDF5DD7E70B28BEC4A1F3FEBD72CCFEE8360E838FD787D0AA2AF3A502D645433AEB1CFF47E8E6769834CF0A2A85BAFE9A89B43302BBC64C88AB6FE4712F3181A056921F6AC281C872E3EB21590C50B915F38172849CC8415BAD8161DFE0A39C2532A34551441D78825FE7904B3FEBD8F645BE5AA6F7DCC6EEF96431086781C17615141D4159D6DA40A3A5C22631BDDB7F00040F0D39107BB366D82747851548F3ED3DBD028E3261561C8D7FCC077D3905FF42BF3CAA9E351207137F7E8271EE970117E56D30B35294E8B91588DD9D9900274DBA4108BE1595833284047739DC4E90F9E20BA5EFB2B736DE6548C + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = AE82057AC5EA69CC1B5EBAC395B0EFF26850C394AF8178B55AD808879AD634569BFD8D0C5F34F9A3B26821F63082C5D2C322F347FA6976AA88ACFA9ED8393E126F7F47DFB523C0560DA5357937A74488B51FA67583C7A7E1230C015FB5F233E25B744F2FB6830278B123F7784C4F6070C8F905F96486B2D5FE137BE8D57150F47CC7DCC0011FD99F35DF4D9E15F0F937762C87153AC17645ED67581B38E2B34899A7D726A9ECC1CF2E5198ED5AFF13F2544AAA1A069CE8A30CB66E1B984002D20F769C0F94C95F99F914D32402741D5C4D631B9D6E561D32D1ADBD1F1DD692BB89F48C6BC4F88B669FE4BD2922CE6A3184605053322952E113C98B330385D6C4B6527303563DCDF099BC2102F915DDF3BE0989EC8BCEB029CE61974AC41A26D6DC7F53405A4F3A9130C5CCEAF71F828B3F7F58117EB476A46263423F68ECC3427D9A94C292EF7C4C1D67B323FE15F69894DF362E54B441BA5C94D3E0B56B772AFB5FCBF8CE62647DFFD78BA7F48DEDD2E457AE9FEE60580084A05F318907DFB90FAAEB9F4D9C160259A6F8523AF77C8CD8AF344F41DD511E46C699A8F9A5A85EACA57780005AF313705820D8051D780506D02A09B04470398D0AD323ADBAA8B3DBF61AF68D9FD9DF29A76E0A37678C08C9D102BA960DB0B5D20B6BCDAD7750D3F8CDE6E994267E190D7F3DA06C36CF7539B6B574034B43F55EF8DD370F727B97 + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = 39B12FE62B75D707C8E18FE1C8CD23D3C1E15B7F46FFCB24C70A1D86604FE6BBC36282595346A3374B0B2305F60CEBD77DE1125373F5230535AB0E4BA011C6154F65216CE58A65856C7EF60912877E44ED2527C3038CA202B5445E97BF817BB6419725ABE41EA1529B6DDC64920DD8396A7FE3B26054C09E310465BF65AA7B56B1877D949DDA06057B7373023EB09E4CA1790D66A773BF34F1B9D4011322E08BBB7139B1750278C2DCE88626AB16813803E320515640DDD9D6A7C5B0DFF8FDB445CD65D6BB454EDF83D6BF4F3387CC98E381C65AD3811C8DC3B6A42C203FD2AD6BC464783B073C1A9D37C1D29F85061E9C426DD195A98DF3EB0C258421962857EF89D643F8BB18DB27F339BA178E85144040BBEFEEB1160882C3EF2A1C4950873AC4E5C853E48DD7788250DAB58A06BEEE1903C2E68FF0F8D7E8F55AEB58CB0D65F5E74FB5E301BAE2258314D5B82E3C0D7C7782AA1B34E80BEF2EB258E0BD322451097B0DF4532A717E2F0FC166817E2A9E24A318E6A4DB618B6A8382A1BD1A600918CA08EBBC224AE9A7C1CCC8978759F512D7A97E4D1F05173B33F670BF3C40E2807128F752FD2995EC3A608915754275EBD215821A4F04AD21DD823341B15A484D0C12BB3D829BF99E182FE774D2EFC726EB37638CBBB521FF14E10D73C7FFBBD8B79EB86470DA14236C087EC3BDD336E8244E780454DA1A8E70524A19DA + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = 939D443F3AAF7809342B2EC600A9D1A47E0C4195C9E1D95CE22F95CB98AA970F4FDD29A7EC9DE471A1C342D4830D20DFC5ABFA98F8BFD4CDF752E00BFF151D7CA44D5BBE7AC18A9ECC1157354B2055AB08B1AE7B304623D643F6D471F23A82C2E1C67F11D527985208C5494138815C3CF6227A6A6FACC9E2A1E3D58B32E296415E5889E58E1DC8657B0324BD1EAC60FF8DB83674B75683348D69978F04697A1D1D3E6D29D02094C277CF034D8203DC4D705DF8EAB7046C4811C18F2EC906B735BFD1C2AA3306FA0C9AA47E160B6EAB89E0B390F37E53B92A1A160560E9A30EA3F005D100F0521AFF20A2DE0ADE53BCBEFC517647C81AB8684B2754FD62E5EDA0EBBF56AEED4F4992A0FD4D26AEC29BD186B2E254DA07E1C5AD03F8194AB350510998A3BC11F08EF33C61069D1CB7D271F7D7C799057E6C2ACC1D3FD8DD666E1B2C2E15CA2F99E55163BB01BCA7F9D53F6389704874B3E5DBE6E74D91F110CF8A4D5EACC7A519F664C962B11A48E022CF65D4DB4E4E506951513D83669C786FDF84A79AEFDAD75414A6CC82EA84EB3A173E887D39230631B6CC2AD26C55C938C6C82181F57820FE88DEA96AEA2B20E330C29C09A645134472B1B1303B1F46DA40901A63C079689DB2C84E46FC548270FE88A4A2FB5EA27C58A4374F72849B9C5C7C18AE2075546868A05EEDC3D867F9601C5C8EE585F14A1E3A84E2FE9A1A99A0 + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = FE0E80E36E66E0610581835D69A73908F1D951A81DE93FD2BC5F10736DEF8A887EEFEDE8BB6074862EEA4BB0F131E48D2C3FDC8B8B8B93AEF4C06BF97214F4D0C9000940F81664E04D88316F3732B39E7F9685BE377B90FD7343947E7A79FEE7BDF5757C386DE6D02035FD4082735CE2FE898F18BDF00F3DF5BD160D792D3A156584EEE92B273F9A52ED221831942EB0F148DFBBDBC21960064D0E9E1CFE4E08C7927FDF1F0956288419B0372D3DFF7D1A2528062D31D97D17F7F8CB09ACE01187710E9DC2CD842CC8C09A0D1FE34424283FCE75E64446608CAE796C1F6385F989FC93B31F1EDC36BD2C3EF3B71D14F25048B2E30A5F279180FF3FD0B8308CA93F4D1E72F7F45C7313AB6315D1F0B198F8D5B47742E94EDBD33643397661391A82832744EF99CAB293F26C8E9B0F9D6C9C82BEEEE0A4B4E6ED3EF2E7395FEF4222F3DF7B032EA28430478C038E45D36379DFD182877F827D86081647DB55B2A05067913DE694F84EE85BCCB1F60902F787CE27407F14C445EB5159BBF643EF6195DF2F23B0BC41ED595665D47B91223740709DBC82A86E35F615897BCDE5F597FE05047A6CEFD2529394CB85C4945F4188A078693C56A6124E040070771A4E509036DF1C9B24E2185908A43E4FF81ADC7D10D5578B00A6DB9FB56CEA6D51590B1CDA9BCEE86CBD8263557AAAFB7F81418FB9DCEB0DD67EE6EE7BC761920EF784 + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 083A1EBA0EE14492AF390762E0673F2B41C1179C8616870FA5AA69C40236A6CFF19F322A4FB8AEBDD659C5FFB5F1A953E65FC88C42C12E37FBFFD6184035F0F31AD80F7E257FB2E898C9E5DAA5A20603A0EA41FAE59E7684646A826C4501F0A7A8C622CF5A27D37E998ED954F0DFDA36A86CE59C8A8DF3DA65DA575DF05419269438F0DC0F41FB34064E48BC4EFEEC93BBA805B5DC97F7AEDFF9E08E3D4B7E2AAF58747255F09A4B53658D7AE61D97EF42396161CBC2080DC7BB7392BFB348AEF7F4B2925CDF9F641F3BFFA3F140C0142D0E61CBE3D1DF06B016579A748B56C89D5BA88466DB79E891CFA7B70532A4D6649C4176FC21531F62F7BAF5D9EF2976227ED6EB614DC44CA99F9580C82418FF886E169506F8BBED568FAEA7CE2551346EFCF70FD5C32B6A30572BB72C87C62B8992EDB3DB0B4C3EF8CA466B5144658BC4148909BD8D9E1AB5CE3A1801D15F93946217CE9D8C0ED536B3C2E75C17B7FEA2E99820C901E80EFEB0FF7FB8226CAD685CD768A41B8CDE2C5CC8BC44B673CE5C44F63840C99E557F3B45C9EC92981CFDB3E20EE040AF13A92DF41E8A0877D0559F6FF5D9DBCA2F53A4E2A8B47218CFAD9CA6AE3892F21A0D9C0FE91A4F027BC25985947AF0C906537E827B3C79BBA1F37EE38F2897CBE9ABA9438CCE9D972EC262D358C33E2E6F2F814F0E28B4709C2ED119B50594BE98F594CCD2B7D56F03 + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = AF0FF42EE50B300F202648FBE2DC08423944429568354570F787B96531A0045C76189E453369381CB7B0A537B9EC05AA22679E96C7BD7CA55793DDC73B6C3FAA3A0D2B03D7561D321FCB377A1BA87C098D9FCD1C03D7B7BBA6262687D71B1B608BF1486946739A69DBE87B95F0E7010103AF17A6B0C50DB308DE00442641B51C5852E91E621133EB561C24655C9D59C22B6AEA470E4D23535046FB88105E7DDFC08339E99D8A750B641E81EAAB46A18CAE3EFAA493790A9E942EEB6990EB0E14BEB6FCDDAAA0BDC5D67BEE8FDDF1931201F18D0B0EA4227D1E89BCEE6C293EEAC60D3A724FA6FDDA3AF62D5C4C5200E14E2D40F3E031E71A8DE27CE3D3956CABE9C6A5BCD67C0FE25DBBDEB5720B823777815EC277B594C914F07C989824CF0B1060ED0D4B3ECE3FB65A5AE726412E6EB6FCF3047C6326922A0BD1BA7604830DC4D4981FF12B0364435544D4836505719EEF8BCD246A326CA1A756193FA0A94EBE98A632CE5A0D88E115A4CCD1B030EA7B1651F43F22D2D2A530E2821F2380857E916920FAB974AEB69FDD7C3AF313B46F2DBD14D5B4BEA514041E015EC93A6A633BD6477DE78B51E592B3D87A708B831A37B70AC70730C606A7C880CE3FBC11B727E25849F2BE6586D32CF7F31E20A739CCB25B62C03C1DB5AFA7B1C00B003DD9C5BFA49606830CD5A9B9204E1A51EFA571688496D5A49F4733DAAA295AEE26 + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = 95D216D4FB11C900CB83674FCD99D4A0B0909B307A2020BB00D6D6A5590B6F82268D377E255BDDD9179249C3769AB3EA09D9357447E99F9C8E924FA8C39B378790CB629C46C914EC79BDB4AEF7C4D0ED5092B620A3CB3BF6D19DCB0ED4ECFDAFC9C049E7A8EDACD6C91A3C15D7587C58669E0AC51E151B613503DB2AFCA0AE81782CA58BEA22467B9FE7CF5F095B376BADFD9EBC0BDAEDBCC0832D80AECDD6919AB2D31646D9426CC46DA1E5398DD475E94FDFBA98129C8997AB4EDE6A204C17CAF9B1691160FA4362909B1C1BE81420092A8F5005A3FCD26FE0FCDEAD650665E4ED9CD22DB75382D898075BD2E68D240E13BC340C6E4A59AE944A626349A3E27F9C82F4DEE5B593CBBEBA0A2BA46A5C0FEBC5290675B2FB636EE868AFEBE35F7BD08F1137ACB12C6D8376CC8E737827F199C899B3D8AAA937349CC04B3C64691931DC13F10EC5C57F4D5A13A38E26614302C23E30F28AE09669C4A01F7FAC9FF0B2E1068343862364E799C63D74C7BFBC5F7CFFE79C24A58BC2CE1041045FB01653157C9945B626B3CD315D9D25CB0B694074AE8F29D372067C308F6BF0C44CECBE47E5528E0EF9E373DB63E554FDA5212E35898975D708652AD71C14A51C6E5E8A04CD9B7365ABD43F61FC7B3EFBE60715574C0AD0BCB0C1D53DBF51172E669E35B19F333A3CAEDBC4E08617C47E51AB3863D61A13A8A2B2D5FB54190A0B80 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = C2C5A2155AB4FBD3A3997BD00ED2EA8F049205A6E0668DA09E0DAAC49484B0168E6767AD78868347272E6D8C97EEF06AD0A3CB9FF91678DEC7385124AAC34817A6DD435A0A88DB8E19A4FC75E8F9EB34376E8C1CC7951623171DB22DB1CC5DF9D3D607E5FB17E450C15A20A748C340A56142289E0B1EC83CE82D7706DDBA124759E895CB7B91522BC46E011B4EB98927D860D09BA48EAF80D1FFDF9CCA026B5360AC8C2F04E9B0C30582611B8E8085B8E986D28C330BCFE80DCF11246D3544F4AE7C655E46654DC5151242CFA7B620C429757B1D527071FEE890C73EABF1BD1630DC5BB4621ED4C5C6FF7F41F4BCED4D31B215DD2BE6A5952BD06DADC42A355F628616DB922DB19CEC424BFCB893F948F1364AE7BE1F79413A879FA372EFBD59F62FC3879FBA03622CF947D0FD2C02460D1D735E41ECE1A2AB970FA9784DC67F0F7C2A3A0A5460F1B31029FB65D1A9A6809B4F2AE29F3A68CC2C780D0000F0790998C0FEBFAA59A1A56CED99F752684AF6DFCE832901B998156C73E007C77BF401CFDAB4E6BC582B6CD477FCCBB1549C870FD6E62633B90ED103EDB47D749D04C39D2DCAA3DD4793957EFD12D78B73F58D43087F456833432124E312D499779CDAE6332EE8D884F5719D07786A7C85A9642FEC61B66834F98C25E0A802B3F84DDE862D9127923E3A20E5A20E184984F8661058D53FFAA70C5ABBBCAB51CA8E0F + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = B3CC34C482E9402EA5A209CCAF5D017BC118F61E52BEDEE634FD56C7616E6ADAED42D02F072AB4EE1D8BCCB8038B00FF3072DCD971616FD6A2B0012581638F835E5441842631D12FE303D6E533D22EAB7CFCB702E4BDA509C832BBB5C24EC62A468CA885AB7E4E3B951C5380A30CB6F132408D31FADDEC570800B8EB58AAED9EBD8A0D6618D439B46F83116715568A5957D2DB94E0C2CDCF9821D86A71A96C622BA5C0F7C214375686E71F4AE74FCF5A75A6DB5F8EB274E6D93B52A2A5110C0B77A1E21E599ED0ABB78A93A5469747A6D1FC4E3E3BAECF8EF33580F00D55CDF9124E2BEEDB8814C8F5D5171CF6596DE35AFCE94CEC25FE5D6877F40DAC4B2D2FDAA0E98FC08DB03FDAFC3A4A2A98D0E865C99B766F55349B688506D7B701BB01BB06F80D6BE98DD374BD84211C61112DD0B9A25EFA21F9804D724154881906A7BF815F206F4AA1175348212C54538BEE673B56582501A659061A157444DCE84C226936E99E51252418498DFEB02F2DC665B8CC4622C0326978FA7A7A8D171D445CEE519A32D81721F99DF529614BF09E4273B24A6809CFAB9A1E81E5280C84ED3CBA6D4B232080BDD034F1895F4010BAEF462074898949A1CD5892AEF5DCB2B09D46201509847179505980A2846E58DDB22EA9FA0FCBE3AD9DFFAAA42F4FEF4A9DD8391495BA470A2EB80D5992DA78DCC8E893C1BA2C909CF8208A18C31EBACC + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 1A2EB5A7E3266CDADC696D082DBAD5D9F73777F5B95DAD3E9C6A936271F12762FF3E8D1D959ABBAC6933BB19D2A0125AD59477611F9F912F935D662ADE6E1E40412BDE3E00A99C06A4906B90855AF6095DD7E6114EA48DDC1A76F3C8FFFFDE5AC246F5C0F854831EE7B48DF6A32CECEC0E4243A792CE3FCE40BD5AB22838DEC6155C817D272F3AD602F58EF870D0126EA18AFD1F1527931C321A8D6DA1BF60665D077AD15EF615584A249ECF7D3728C0E9D3FC09BF8D3FBB9D260FA4FF13BBD4DBA6835590D67EABFAFB92CB3B0435F26E7EC265F7E2077446E1580FD1747E871D7AD1E992C1A909E068CA3F8B8A927053CF31EF7E071D5C7B4044F2CF61DDD48E7B7115AE0CC2861DB7E26302DF02CAD460358D06ACB7E2D07615C0F3786BA02000893FEBD088584ACA9FBE9F14F85C88943671D24E9CD0B8FA46601C2E40D3177EEB500E8AA2931473DC3BC46F71C749C281E02B67D8F0B3D012DE4942B1B3C60A2595E845CA454028489417842D9A6C4706424C5C0A073BFD080E5F820CCCEE99CC4FD372B0BBC447C5F3F54D87755C0A59C986D98E316F8F1899821CFAE312B9416A4622786B2910910B86D19692C8A7ED50D63E252A3A5655D6E49AF3082BDBBD07690DC6D4EA42F8A7BC57DB816929B9FF8375C4596F57D9359F9FCDF8A3FAB33AE27624265296A093DBCBDEA292450D345B8116B86FC54A0B4B55F12F + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = 1E67E9FBB0568660EBA48D1C701D75653D97D9A94E770C355E2F3F6DD9B7C3CDC771FE82EC87BEFE4AAB21BA7C689FACF51593CB278F7A8A4D81B9CE798CC2FBA50145EEB0DE079F016362FDE491620CB0A3C26CB5D5FB09980E783774C8FD2C9D8900EBB103D73F0BAB02D0A8E2827D2471DB29F3D6EE5D9D620D4D13D8925F1933B1C66869BF74EF967204238E095927961ED5925D1A271B9277AB9DD7A30DE1FECD4C6BD9615618BF79850EE7E247121C928AC9BE6F81D2B41378E984F4BA494180D7E45CB7ABB6DE308DB53804BCF43DACC10AB3A98157285FBAC9B183AA49EC18E98E9B40D12B022F40B213641CB2E18E3303E4C9078DA836466DB8E2E85962E5520E9FF66CF99F96E7699212816124313E5BA6347F99DA7109940081419B4EED3F4ED2763D655A00EC6D183CA879074F237BBC49D40D598FF2BD8F47D0D69F2E41397042B4398D4FE449CF553F6096BA25C1A2185A13BCE5545FD0DEFE4D11168BD81B85CA5B0502233C43B6E863447578EB6F074EE2EEFBBE6C52D0E8B1046F304DE2CAF6484AC24783DD77774F0FAFEBAC731E429DBACB0D95BE662ED9C71FDD6C0E6595CA063C748ECFF99206441F8E96C96063EF61D741B4D622B6EF6A6D547B738AB27B50FAD2EC5C479EA8069B9D67654C2F12D8232AB8A97C83AF190B8F09E2B8F62B7DAA334DC8F26A3EA62A999433FBA70A27B9CF7FCB61A2 + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 7204F8652F37D125BF692544B8BA0C8859BEAE66E4B04ADA5685C6B4C3C1B8A3825B2AD6BCB2F5443B4C28ADF57388FCFF481CA629934CABF872354E4A33942B738CCD4E1941621524E895188D2ACC9EFC69DE7A170BC974C430B9830E25DF96097B3785A2F6B86F39E59574E1D9C2B91EED2231D4D1AEFBD5DCEE3E5FAA42472949D0D19DA8980BFC6276E41DDD600DDF78E82393EEE5A9AE0C87578071D667B886EABBE6757A52AF9826F65E7CA8052982523F61184B5892465B3F82BAE68FE2FEC1577EB935309EDE804163DEE46EFBF5C93E7A9DC3BA79CD9A866966BA1FC0A721CA4AD17364C3A4033E805616FAA6075672DD6FAE31A67D891646B74DD8AA916E078BA7736A9B00F73DF90B09732A42E38FE3EC9F8FC907A5868CA170C669ABAF99571D14771B91F46C68F57DC6215B94DC0BB03F890BDE02DD41CE5D0F8F48E4FDAEAD1F0A05DA9A456DA80B82F44EFA53DB9899F42BA31CECD9D7CE6A5DE33B70DD6427D3A9B31C83ADEE1EE073E06EC4238FEE4EA0029876FE6ECA5DE76E4D32B65564EFCAA326AF3519EDA46EB3E443A85E78A8E26D21B158328A56AF40B07AD19734E341A45A5F43D1EC2C9EFFBC7C5DD92ACEF61607F3CFDA8BC72D33C045A6B883972CF4FD1282A0ADE3978D1803EE78BC6F6FD297EC9E3052460483DBF79E6C35AFDBC10FA87D769AE6A4E2849AD112EDDEC1135CDEC2ECFB6C + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = A3D5CFCDCC03334632027FA1B1ADB97C740F9C5D33F0B6D8468B4AA9B37A5EAE697D6DE7717B6F7C3E872DCC4A62682DDD76D87657096D143DEDF97F2B9BA36734B9FF5816E247243B1F32F5CA122AB49647FDA690B83AE0FEE45625B4A2606C8E366CD5031A0C938407CC9421414CE4631477C3D4494570916BB41C60FC05AC125A3E81346759DCA0CEBDD763B61493997B774A582475D2261F6F8500D2C51C70DE11123756EB6B958EE5F20FB4A49429358D743E4B62D76904D23FD5DAC9ECBFF14854BF27DDA819B3F52421329B0576CC399EAC734D73FD9BB8729168E35E2A3490D7BFAA39E53E54340457AEC4C5C8F4C0FEE9339053646E4D74EF1A1406EBA208822B8E66DE410CFCD49A464D9FF545604C26CAA4FE84B018C69BE18112B5C3D7325481078C712979DC88842E2842DF19F39025D28FDF45A5DD6E8FD2D12BF27D227E79210F6266B86CDC7BC6F81DB57AF57AA252C5BB95A235746B9C869BA7F8C90E0AD3F5DED409947173D071DE216ED1B137846752653CC6CFA3C52A32AD6CA0BCE29A5B12475C049488F0A79ADF5ADC4510E6468E714BBA37C0005A9CFA3DDB24363290A04BAFBBA92BBB2C2E16CDD9D40707C56F49C05C5276C89BEAC3B239DE284867611CA3DD8250E8C7FDF522E0E84EA47A3A06554DFFF6B7DA13349A5F36CA447499C45DA4C491DFC113892672B036507FF3A1E7E07B43FB95 + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = 23397CF5C6041FCA9F1503B12A47F1389C4C35301F1747D574B48DEB270CC2FD79DA5718D0D5ACB78A7F30782617AA2E03B9F46736620E512A6AA4E55E2B94537A74357E5C1E6216BDA724677BFC4CCAC3E3DCF4AE21D7E56D55ED2EFE6FB50A2222E98139DFC739FC759BE57963D8427D0B5D2093CF5F42347A6D9832E1FEBB4576935FA18E93DDB20E8CEF2F2EBA33C66F1E5741171BB64C49F128A7B0A9F095A35F5A20A996A3F9D7A68AB3B0D0F84E8F4FD43078A80266377D0D7020DE67E18DE20656BD59B86726C99B1DC8FA25B83A1FC8B7C256DDAFCC67540C1287CC377AC10D39288CE00839AF31A1C078B403A863171CC669DD72ABF4D48CC72AF222FE939A2D75CD7F195D3BD8CF8069F6557F1FB37BC8F9B677865E0D23BDD29C9B240CD2993874FBDD5FD3B8CC57B6226C40890057994A2E13129F4613D3ED31EA5804006F5753047F1128F9B8C0A7ABA719A1449B3A2D02ACFA0877E81306179F9AB717AC84819029006D73D48EE55CA13A3D39ED293AD0AFC8EAC8F8D41971242877788EC1286ED35F06330683FE33042A6255835CD54AA07C0166350B851F98F2AD2A06FDA56B180F11B9616BB51ED98A2FED5BC2F9EEF7046A38754B91543EBE97B8375A81B7FE9CE58DE4DCAFCDF8183541E44CC96F855CAD024C24EA87313DC05EAA1D933D6E238E9B3A0B9628239344E8E81B5341D615B63D881FFE45 + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = 3753866FC2D045059FA925412D3FF0FD1254724DEC38E00F1096AF36D0A7603903089900F95CF9BCFECEC4CEA14B7D80CB324C56E60569AAD9E0F45D3A726F87E6F18559701EE6AE0E7A8622B45DCC6991A1FF15DE6B78BBCB96F976089F26A38EF190EE0C609DB54F443F5F1014762F336F62EB5F7CB7B102E99FABD87F36AED3359EB0DBF739DF4EEC4AAC458546C00D16D412841142ACD2E08CAADBDDE86843ADD14E3D28426295762E564E1F4854E7C617F48EB6F2FAC79FFA8CDDB09FA09A8DD73EC389285036A5244041DBD60AB71F8FB59EB73629BB4A827A7584B20C12B96FB1F0B950BD3C87117DA69C7EDA0C1645B6C8C81DA8A6397DD821A983DE84390B1CA902F135160DB58F9F7B7AC9D010CE8D6BF7136270FAE0D3994F80612BB12916993AA73F22FAE642784D75E1CB5ACDBCC20A3AB148D6F3F171402391121BB404F8F576EEFC9ACD1903BF9AD2CD4EB1208F143DC84643E52570D406BA31F8DC9F3283B2691F826C4ADBAF431EB2F1DE1E860F9B4C0153C9F002C809822875F915F7131EF63262ABBD8BF4A5D9D1699D893435C731DE48756C8D03C94D11D1D484DDDBC5C35660B3318468FEFD82778CF907FF52D652BCDF68C20349F64006C640E7A544DEC1FE1709056FFD9EA7D41590F84F653AD4F7474D008765BFAEFFBA015DE99D523A56A6C989BA11AFAE097F4D5FA63F04AE0917212E4EAF48 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = 2381AA1E335043C1F7360D64C703FCF6190747A616C550F787C33A573B2F9E83DE427AD8EE50610A2FBB07AC92E4F912B3E5C10001044FA2CC3FF1C2182C672BC03183AF502D6530443D890AF4571611DF65A2FC50879D08E9D664D78D5F81D74957D38726CAEE5451AB88DF8853CC4A034065C532346A4F0D548D65745AB649683CFE185C649CEEA12D79E0904E2C059549F895DCB1ED12D1CDF00D530D4653B56EF9FCF8D3BCC70FA91397B87F34FF839D3C0DEB053D46FDFF9262219004961AF9D03F50E1016E737605F35EDED16ED51F4AA8FFE0A253AA21011DC002C5C0E0B1AC706E53DBFDDCB1B02C0148C3AFA9D69B6CF7A72B1F793EDAC9A99ACC99F988EBEE210EE108093CE8EED146FBD98436299B159760EDF3D07BFEC6A9C1D844E98DD632B1E773D93B9604CB635457E33C063991D2A6D4DD8AA72883FDD742E34ECA12975AFDBFA2EB997609F91CB4BD53CA40BA4793B9849ABD509A2B6C01094400526C493FF33E0F8F1908BBF783E0DFD92105830947338537C9F7B6B2D193CB2923F95CAF113C9248C601EB39147661F7C639FB05281E0728B916C59D98F36DAEC1F61FAD84E7292B6A5821009FCC30EE7267969243B36134675F3C8F1F18E9C341AFEB5377426BB04517D1498FA7A271029936FFBBB4248A786EAB072387B991222017025BB84EB4DC084781F21251CD8D8CCEA15EA2C37C89632BB67E + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = 325A6883E6918057ACC4D7E6863D245ED59957957AF4E8E59EC6ECA35EB380641BD39550268A68EBAD703A51F9B47DD05CA25681BDC853EF0897CBD4A0DA6BE9E911C26E801DA8F5360140FEA2EE9276747E1AD0879FD741E52A7DC8F0EE3CB199826F9C1D397E150641E8EC348300BA4F7EA7746ED0E94520577FDD253E04C47223521661A308D1C996A90DF8A9AD18418193D590E75F0F17FE0443B5B130C1AABE9F60E538E6193A19690368A2C17516D7FEBC3DF95DED8445ECC260BA46156C88B5218E582FEE9EBC4F28CC4171936F7C5BEF008D7AD76A70BE3CD3F0701791702A237160798223EEFBFEED7BC108E9C793CC42F93381BB9D5F97103499BDA63610303A55088FEF10FEE330C4F35D0A4D0F36C1CA06CD08496DB0D06553BD612848212539DE0D698A530DC287F2FBADDEDBAAEF0195E050E3968850FE8E1C72F8E3F11F24BCAC475593AA28AB2CC69C3FE6F3ED03A38D8B278FD678697A3F6DFED6CD52AFA4E9947CA56D1CDF10ECEF90BA6EF87D9C2765F2777C1432325C464C685557129808CE3B91310C301547B673D498A41058334562074A3BD3C64FC8B02BEE8EA642B12783ED71E990CA90B95B7020D5458FFAC57BD93F882F3EADD4707C98591CAA667BB0DAEE9880C3549FE9DDF7C9314387A85D308516C64FF98CCE50E253CDC710927DDA784DEEC547C4442A0818045696F4D4BA4E0D729D13 + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 0E479E6C1C78B597DE67FF30F0BE1D251DC86FF0AB0F4D5C6F64BDEFDCD6A77DAF29B772FCAB3EED9344D32BC3ED616C10F69CF4AB3B34709F3941F3951FCA1A173CA2CD707FA41B8E458634377596865BEF5CC8A3CF52C0ECDA7CCC0DFD8AA8CE0CD7CC1917A7BB9A3BC9084AFE456E5DC02569B3FA4D9B9DA03B8E4B223F7CF033C1A8BBD6002B3A457C0DE35A222A30A0E86F3EF9C9F255D449CE4EF5AFB51577391574F8271E07EA98820E0308EE56B1EEA91B35058030AB6AFDE356CC83D526BDAE2E55B1AD4E4D8016FEF14247BC7D95C34F06DAB7D9FFD1A9FEF761AE01F8DEE1D4675172C1F0CA15361CBA994EF062596BB767C52A275792F48B191B1078968C1793A9D274166DB592267E1822585FCB1A9734D4B503F5E1CB0754A7D9F47359CC91E0646C4A2E754A29584363ED4C8C806797FD102D6220DE1814E665409104D32BE7A346D3B126FCD51F55E5625A6BCAAB74F0E69BA1F75A4D5C4625E2F5AE124CEC4EA6A702858A3B03CBCB0B014D3D841CD7A87D02C622F96AAF3AAD96A62939602A2AA1F9D88DC555038560217BAAB657EE87367E05345E1612532F9B6D83043DB59837E1F75D82B8149B93F1105BE13BF51E20F18CECD5DF87067A0716D3F860DE8C998A487C8A197149E7C8AF4B414217B8579C314F698FD6A3B612B2DD67FF6E3471856FD9F66799FCEE14627293EA94D1C32D915CB81C5C + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 0A5995025C3DD9437884196FF09C0B92B5B0B51B59D0C3C9041AB172A1685DDCB3B0324186F11E2D7DCB6851F888ADE68052497BD16C4F1D98DC468D833E4AFDD2A9E3DADCFD188C9B1E35BA9FB9549F88C8C7C74352A7B420C1019D2E7CDF02601E5609635EAD96CC57FE29A5AD98B2FFF301B3640BA441CBBED877477C0DC1D6143454456C0EFEA8C4038281E97C02774A7ED709A446941A2819F3372E18BC1A6C119EB24CD16A623CBF91816CF2921D2FC65DEAC91F3E0EF24F97CA518D167F295454AF8208AB25540228A9AB1BFD0ED0C8D09AE579B7116389B9BAA6EE388612F323D1E1627D1667F4E524C562B0993A807BAA0E81D02241049A4C0BC8EC95701E9CB045A91C4340D8C3067686347867D4FD94D48C566672DA8C89468D71B488F7D5E1409B3F1AA17B019C57D5A94C0153A887EA366253DAD36E9ECBB20DE67E5F09F4516DAF93761700BB4E094B88ED56CF935F9D0E5454D2168FE5F5CE0682838386AD55B4C664526B48138EC270BE30135ED84A63FE04CFB99DBCE6B70CBDB32110F954491044970D3AAFB62B5123F2B43F3B8275CD2D1034068864A94A1B63532F31D2E65B9C197E13199F86638808D17DC9E3D914AC6E078CDE60A1EF9DB9F94E56C29F385418AAB5F5D5CC324F0B1E2B9F9CC9259971FC57A2BD18686045E04A3A74C3606B8EDE2E2E49E2B3F01CEB4B4516E695388AE331CEC186 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = 9FF0E63D6E1BD2C9B671298EF08FB86024EECF3A41662D465D8011E44C55E4312A2F4680A92984471B885FD730A3C3AAA6329CCC06E9684350543475D8CFE2F18079DAFAB03B9AA1368AAFD265C5ED3D0D160EF317BF5CA211642F7C86D4C59504C8E6D8EF5D52C7770659C91AE1121EABCE4318D58F2644DF56D18909EC977D75D27D25D291EC706A39A3EB13E49691F6C3188C300B827E3AD1F6F8088318DA476D07666AE4192C08D4AB797E53445239CEA485704F0266C49ACD7ED67D24DA7333AF799B40B301AAD8883703F03869628F8F1513629FF0888656782C23D43D435962A022BD19FD7E4AF8BE40CF34ABDB1D0DBAC698079312CDFD5B01D166E6933DE574914A62472C5B2954740A5A26217E9A67329CF47205701D8BAF5E660E231E16BB87EFDFCCA4E982F44CAD53B2893A83DFE251ACE8C49B225C3E929221D4FBE452CBBEE2F6E59F7868F876E20AF55F8B1DCB4AD5CCE9F0B8966D51128D08698AD8FB267D3164023985F5F5E48A237F4B638437E074FA4CF83030DA5846E64E03A23ED2EE12EE42646D1075B8F91B861D6DAA8BBDB07FBD56AC72FE8675031C1CD0622AFFDFC9227F4DCBB642146F87D2930B859181CF5AD7D6AFCC87BB905AD387AC8B8A7DA70CE626CBE3E13E115572780D38DCE4F3AA6A95641842109B9750AD3FB5F711E1F1363119BEA84B4589D0B7287BB4CD094564DB63251CFD + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = 9EC7D516BB276EE7BE68912E86FCD71EE08EA4BCB5A44B9520E84F7433811160E5A742BF8E444329F4FBE22D72F002F82459DD538D7C26401399B8882463CBCBF2457A7080F8ECC02A05F357BAF6BF8DE31984ABBFF66AD082CB995A180D7455BDFBAFAA83B74CD95488CD8F5CFCE16EBB2D9F08E54BA341345648D0FC557002487FE6F0D0418858698CAA9FD4171CCF3880FC0A9E751BFB566BA907E13BB78A19E7D0CC543F9B7303C74BD957149BC505530B246A8D41638023B83B84BEEC79A91CD21D3982B7E57582780C92BE8CA813218B287C280A42E73DEB3A84F1027010F79EA2CE9D4EE57DE696DD1D4A13F099E4E1CF4BC7CCEAE2C7A454775628D09FDCDC55C6B38F545566682D3546A6F6AA8B57D44EDC36B0C4B9C1B92CC2465B6BC7091EB78CA0030DB7D7E31805AB459040494DF1120307A2DE8315C3CE802491EBB0FF3F83FCF2F99D9F569D3E3F32F0CAF2D7D6057FFB6183D274919B9D4B4CBEB125C9002A816A83941ABB5120AD9AF40A76398D31B07E464482FAAC767BFEC63CC221DB2A54860BED4D5E9405821CB176B47838249C689FF1D9990CB3CEC4EF1A0D9280F35E8F23246537313B77F26D517221F0A21E7E6D4D28D88632B44D7F1C381F8E7442A71C0B0473F7BC702326364489A943B6A0CD0A8B868F21D7F26A1AA3B8C7A4C7CEB574FC2B266CD8067D83A53AD469DFFCA9088ECE439207 + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = 045E2BEF203B8E72121FC29E68F01176B8AD2E0F24352FE555C9F0B70FFB38AAFDDAE1B2FA04C3BC2DABAF4BF3BACDF7658A623446FD6840536572EFF9393F5AB66C080A68D2341AF34AA2A13B6EB57D8DC6CAACCABAEA593970B4D91A3B861AEE0B6E53F3263DA68DDF75CDE76E5BD94AFB4AC78ABED89788BA89804D6F1997684CFFED40B3761A782E3EC1F1A1FF12F8151E91A935A088D2AA2311C43FD731CEF31503C775781EF5724508B910976DD89ECBFE79B17F1813B01B82B6DCCEAADD6615CFB8D2EEA27EC7377F8911A39E9A15E622F3A91F88333811CDA86007E57EE652797BF9177C898CD8951B8C123B8188BDB2E60D32493F4E94C34B9FF3A00893795AE0028061050E9C03A53AC787787A332DD4C75FECC1B7AC1E6DA30E69A46DC94C87368C2150EEB3717582D5E5851BB5695CCB416E4D8462F0448E0D711B42F1B6FA0DBAD40E96C6B69E67BB1907B460DC319B8F01591867C73655F8A28F594EA2458E163EF0D562B36580AABC8E9FCCE61D09CD83BC4DEC826C8F7DBD76028588BC905777AB6B5A5DBE81665971B23C94DBAE8B513AFD7DF0B6C83469ACD22CBEF596359BA0203C6F320983A55274812B49E7663A6F48B420748AB10062EBCA4DCE4440D1EF9B72BF4E121B76075D209EB82DE30C074CFFF86CC28E464A6959691C66DB995C279BF50CE2ABECB94CBC850A33315E4ECF650FFC271DAD + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = 7FD29D970989B8F0DAD5286CD8CE7F5E793B80EF8F62506F75A119FB3ACB39D726CDBE6F4914F8A5930D30A0AC1E36E285AED490CD30FE63A2713AB0DD473A7A764A19A70BBD9AD5BCB2B2A0AD63A84FAD80466D1C9F513D4336E3D6C7F93645C3FA30AC5A54B46205322265D3EDBE4C8C58B5D8AEA1856D2FA81C81E12F27EADE6958F014ED3FA3C844A65321EAF484A2E7543D362627F2CBC4A83415FA3CA616B9CD7EA8CD1724F426C0161AE41CE8175F0598FE4AAE91A3F12D6C8659B063FF5C64FED548C206329F0C5DA4AEFBAD704D16A1B67A38D807E64F03A3A9DAE4B464C78462B842B0DAE0036EB466AC7CBDA234F2DE626D14764F6F49A8AFEB062402CC9DBA983268333225A6678D2FD9E506ECE66135E6AFE7A9DC3A16295F71440ED04E8E391EDC134E91C1699F0D31F81FCA6105F485566C13A93A2DB218DBE8D64F4B2E242462A67FE3A98A785BF276E510ADA824E88C5ADBD9889EF2857D5347544E431603E717EC7A7D17C98A7C326C0A4A83955C7EE31379B241C2F2ABE038B2357D3A9D940D875F2A5634CB47255DC92FF11AB7DAC4D675E13134C24FF7B058C2F99C985840287CB3009B6CC3D75AA5E79C29C68DFFD9D95E37592B6036A4CEEC5E34EEC8DE7EBCA4B80F0E103CF07D46E73734C831C0CC2B6E31C14F304D88D77D433699FFEA902058F8F4ED0FC7AFBC4874CD6786E6D82A96893A68 + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = EFA2939B59DC8F3527C78E384B1CF12C7E184687A0C3A1FD9FFB9797D72F13DF8E199B2916A6BA82FD7A914703687EE707C6F87845442DECA59F08E1D5DEF48BCC43BB1A64744D4DD020C866627AE212E5FF4EF9F63C14D2D1CFBB404E03573F9D110001ABD156754EF41A4C48E664E31B5922A27BBA26D2B3AC79F57720A4190AE55A5634AF6E43CDFB87450EE8CC690749A45367250A44B07E54FC1CA8EC1CACCC979751544568F0117AEBBE6F5415A35244A9255FB023E7C30B013D6C47DE992141929F25B3A43DA91CF8853EC88BA42DA3B17CF27351785BB16849E6BA680745F0294A85601D5A08CC924BB962CD8B67EE0667AF1E118E2E5144169DA0FBF03C974ECB202FFC473315185723B57521737CDFBCE99DDB81F88D81C71C5F02AC5DB801437D46DAF31BB9308074A21DA98F6899F6280E449C1B55CEB3E04522D038307AABE964B720AB331A172A53CCEF174A82F046F42820D11947D1B316EDF390C86EABE22408E0008F396A0E7F3D51B9988CD2FFBC49869FE0EC03A338A1A8E0A663246A37DEA111DE5249196114996102223D628AB70FB7F53B842B60F375DD6779D9426AEBAEE547662B6962E361009C83CDCEF6D8BC6311CC1760E784CB3CF6241257EBE14FD9550EC8316D95508390909BCD23EF9F78CDCB485E4C403671E5F20E7EAF4E0C06344D54E157791FC1B581AAC0C4EF947ACCB642E78CFB + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = 97922E827163B8869D9A7654AE4532EA26F9895625152012F147BE1E818DF802689D96B469C8B0E9010D0423DA90AB6EED2C835A01CA4C386C630A22D885B511F12799EACEA96D157A4432A320F3EC1CBBB6B8EFEDE3E92D99B1E79389B93AF7ACB27D7DC97CF88485DE6C85400A2DD88ACA540B3C921180002847B34A454465D014F4742815EC64F5FBFED6229294BA5EA89211E35327CDBAC7CE85565EB8F23C4154AFEC0DEE188E9D854ED56BCA174E14FEFCD0ED039B8DDAC3A3242CEB72D9116482F8B750A126505397ED261D7CDFE88F8E2F4E4A80628D66A7676E28D4E68C3E97A47C3844FB06692E5F4664B8A583A1836ADA9AEC095D011F12B3AD6688B0039B1B74D016F1BD477C932DDC1944B5F301F4D5690E212E45D26908BA09C52D6CA22098B7A080B0056F0CB891411D0B041CEA27030A2F9066AAF58CA5357344DD9AEA0B0D80932E98E205EE315312D19413240B2EC4B854C21BC2DC16040718D2509515BD45B6557083677C1882D48F687EA0EA86B05CC3F5E330DD4BCC17E5B4F2CC4F2C64773EDF3045FA48C53081929ECF31E84A905586D3AFB3120031FF75ABD8CDAD7CEE66386A7A718A90B98EE970864A167FA48BB7A3F78ADCC2105E0FEB27414B1B6C59C7BE5F7509E55D561C32523FC8C1C12628EE642D9A69F7D300B49A5B6551B487655B21FDC690F865196A35F138BB8E69571280FEF496 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = 289C52C39044BCE5CE8D320E2AC43DDF8DBB4A5E6698D536E304424CDDC251F7B181F58AD4948360972835CFA265E9B658F6F7D4B7BD92D68E75F0DA84F47C969C7F12CF5170117B7EEED8B77E3AEF06E52ADBF8F0EE6AD01DE3EC5E726BAE631A68F6FF364BAA1754D928386496010F0EE59390E041CC0A6EB8F3864087BF7BA5A57A116808BD496632081400B89CCB2A8A8EC795BF07C60951B46815E6BA72DB555B9CC03CAAC4BB8D60BAD5EC6C5E48D66F4C5B2D1669115E0F0BC80106EF06D48BA29E2899C0EF4D5C5F4E29CB29C8F578A824CD462A4018E889B67DA31A90BC58178D904C43296E4D3F4977F0CC1009FE51F37B2F8979C97DACC92C8D0E0FC45A004928F96260FE2A6F27DA15307AF55EFFBAC4814C9F4446253064897FA1E1747FE65E4C406A3879F8E2EBE5CFDE3765F2D7A2065A6E0D38B6B6A5F9FC3EC3CB1B35D33386EA75EDCE250D5917A17A6CB9D1517684472FCDF27D61BD03F4BB43C3A6359286E73B67D1A618A75EFC9AE2212BB507DD1BCB12D0B11FE2030BAC84DEC40D04324C8354C3F3C6ED79D7257B8A189C565A41F72AE3585A9BD91C9FD43184814BD64F7303607CD02B6613BE736BD13B3AA8C668F91F398A8F5AA6BF8EF4D9058637FAA3F0F0710ED60C2FA0F6DCE8EF0675EFA719EB03FEA27ABDE60C5B381EF4026FCEF49AC245483DA8B9B50DADCC310CD15C61E7A0AEAA6F + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 03E492E2E4C353A74245745981AEE10CB10ECD72015FC37621D2E07411AAB55DAAEAE78EC376CB20F268FE40392876A29B4163C3F1732FB58FBE26379F88C4388513C9E65DFB7A4B76DBA139B28673EA6691096EC526DE0084FBC516360B07ADC853A690264EC8C6E7F200D71B593FAAE6723C0A08B7CAC263D7F7DC5376B51A2C7C640359721FA93A950A7A1F07F366B0FCD5C79471EE237D11936B763840173710FB8CFE41DA287F61D13FBB174B451F30DA1A1FB0F02C2B34689A725B1F86A96247E6F48897E524E84D91BCC9F08DEAF189EFA84AF2A32DA7480ADA982E579A832FC3CB1FED55E8D0D4AA710EA5B0B779CF0667ECBE9F5827FD0ADF6FA6D98DEFDC0A3F3E84D5AE28D676CE703E1F060E4BAE4C0D931F84A76C2777D71B02F0DFD3DD00604C6EBB32642A9EBE9D34601FB78AE60145E32B6AD2A362BFF609CB2EFCDC66781B5AE2976F0249FDA97DCC06A8F7CEBDB32A2849B61142A7E55CD15FF51A821D233B3C35D9F69D47ABB6D2B55169AEA211A67475FD48D39B6863EF6E4ADAE89530B0A84F6D6AA9B0475289C084AE2E6078785289E03C6440DBEE352B9D39D11C9300730E4D224FE008696B8F27F6A9261C30C577B48401B2E90ED5830BD38C13416D19F9B6EC96F235F7A0571961F18C0F3A977740E9F5CC9CE62F695F9A9F797A33A2FB247A62BC635449E4FFEB2F24298BDB152E7772260F9E + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = 6C937D60095B762B69A69116DDE17251B6FC76117D2173E0702408BFD8A215A057F25D720FAB9410BF39EC033D68CC87572C7FC8B3C920C720C0A34FF468711F32753E8E6813D9D8ABC30AC3A5EA3F6509A22E01A389399FA09052465316BE70501B70CEBC21B5CE57FD935F7A265FB101232E95289E4234B43AC0BB45BFB8A29489E7C3410F4A64028CA7BDEB97B327193A30FCC54F1A9835E5BF497E0BBDE269E3F01BAD497AC3E09425B7E4D5D5A345B9CDC256683C3D73722B6B33F525DFDF21106574ED3A1B38990C0A18AEAA51621C6D603D58AAE2B1D89F57E802E66F8A7122BF4C4C1DF38FF9B147BBD4D084E119298C9C4AF1BC6390AAC20BD1DB5E68EAA7361601A40119A51EF26E2328F6CD52874E6F24B3460A7D531DBC5DE94B0D62C35C6F56D4E8984B20BE06A248E597543E29C314D67DB0B112E158321E6BC9494E14C9E33705E678AF9A6DC44BB567146E6D03AE590CF76C76398A4D5BFB9F0F12CB707EC79BB52B5488DBCF1A19623C9777F30F153C3E71E5F9A4841E1F53E88421947903C9DBB58CDF75CAD297755B704E6919F25EBF43520CEF6D71FD41AAD277AAB2BBC86B997B6A35C4C1A8B8C04E6C7741E88CE198A650841997287E53CF24A2FD939F1AEF79AC90DC787789AE0B344B658BF493F6DA6EF59112EF76FD39A8E0CF7973E002FC7AC455CC4FD98C0030C7C76178D1EDD1AB12E3493E + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = 176C854006AC910006248F1CEFFCF0BCA14015B7939B0065E59A838F213B9ED46C68A377AC3110DD08AE358D4C3C926D262A4906C196822D2D2031990D1F02B472B635EBD7B48AD7469671EA85683328A949C4B01E9AFDD0E780EC10F2A6EECD0524B77E6C9893416EB73C53286CD52DCE11550E96B70154F0A06521195B7BF6B260AD67D85FD2D3BA79D96B3C84D2EAF96350342FB33CBF5E4DC12D7F7B6C5AA0F82AE2864A38026B6392DEB539637D323C5A246EBB7A87EC7048DFCEC1DCA98D3239FF560598AC31D0E7229EE0A36BD7500B991BADC5F7275BD650DE740DAE8421E1A723013C9E52AF448E21919EC70FCF5D4C5FD888B96676E65B6C52D2353FE5D3D1423A73410234A2FF632CB09E922656FC233BE050FBAB499D3B0864439F79B56DF983CC67FC460B027AD14B8E112F898771545061DDF52652DD14AA034137764DEE5F896E3FCCA26F70B63B37CD8D8DF7106876F4EAECF211875D4A3392E09B8E4219326BA939DF7500183C3F039D1586D00BD36FBB97835FC4C73845DAB9639A0231C27E3C3815B4478780CD646F1157BBDA472577FAA829F8B13E2C8DA1F7685719F8B979E895996DD05D1BC5F0ED8F8F302E38E44A0F5174FCEB3253EE9CEA73315A1DD655E9A6BB59A3B67F5F15F41A8E483D8C98733916638D5E8EFBEA8C5BBA2000D2DDF330EAF3DB1E9A6072E5BBFDD5FD201F8A13800E7719 + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = F59CA6ABC514DF7EE5AF9B918A5355CAE65ADDCA95C80866EDE16594F5147DED549BB9187E4F51535D3EEFC20F59703E1EF74B86ADC45F8DE3265207B5A3B4223C3B70E9A9B24F08C2B1F15F858763381C89F2AB14AEC657E7E4CCADB9EAE9348B26450E9CABF9B54A56893796B2D4C04AA2B3B741D6F85E9A8CB6FBB0DD91FFB91E9B179D5692F9C689C4315ACE33C2E7934D49183A5305B8F50051242D73A225C557D787BAC8894D5987C8B4C91502C295FDEBB492285561286262DA7A78A87F068E07B4CBF82344E6FBA3C8B70A7CAE9023BB004C18A446DF8432C895A531DCAAB8D910C5623651A362C4E2034A314F00154A421DA604CBAAB56B40F9F3242E8F61CC9A9AB4C91304588AF9805180C8ADBFCD727C20D38F2DFDC24CC1A84FFFF83CDE8F94359AC5D1848D3385B419EAFAF09EF0317F99409F732EBAF75A7FCC74A4F0B7D038626078C8A775B1EE75591C6CF99EE2754EEEEA7DC9FB382F25F55D030293D53ED2F9D9DDAECB41172387FB19731639B37E3A26AF58B033E850880FFCA4EBACB945F7D445983042FD3EBF4F70DC2BF0E95A7CA9DA3C8F094BC937568A03486EBC127ABF44D150AC6DC0B7080A41884102172D6E6B6D819AB088CA55287D6912018B5D7F4C0C2A6973E532B40F9D0402C1525B2E7E11A948A5C833EFD7788B3CDA4501DD7884AEACD53B503313500C3D4ADAFFFFC69A2EAAEEDC + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = A8C3DD2CB2C0B8CD01C2550A1C20308B3A4280AAF80447484DCDFC69B5C2C2FBA310272E606D1CFB61D078E2D860F1A056A3E086AF9D7485611D64D1CE5F850B91920E778010A23390033DC15E372AF077611C9B5A945981CD27801C9B701D892143DA0F882C5D8F7F06B72B7107FBD22A4D890D1B00857FDE7E9B188088CCC9A67BC12B0A496F3FAC72789E7E52ED7CBF36BC7B846F0B4D3A221A8297A4BE76A1658A1547B32F534FD13C466BF1803C1300593F8C53CB5530632DABC03ACB369D7E87CDD61EA7DB6D5980C68F00AD5D28F50B5B499A373DAE132811C5DAFBBEDCA231E74610271BCD0E733A59D5ED6A6EE77AB4EE0D64CB00AC7EC586AD30F1F3BF5066268519209A9EE408B0DBB1E6E7CAFB63BCA7742A5A7C78D7933B30CDCE0F8B502E3666FBA0C2CAAB6CB0826641A74C02E5F9DF0616C001273487487C2EB693E8818A281CB58D10E0F911FA8EDA5DEF3CEA2136197E79A17F58E56C4262F3BDDD87D9BD40AA21762C43F7091659693D2BF5D8BC03632EAD0C680B6EBE53EADFED63727143FE47684188ADA6391EFEDB6A59770DA406B00905C124680B3B23D54C0255967C3BA8722DDF064F10F3253972C0A4FF5B1BA17F8B9247E2D81FA1E4F7E3BD064E71A3F4F18858D040027B45CBFBAE7CC6F04C125B867CCF3513C40F008C2C961020B597F864BFF2347B8ECDCBF4AE460B1915A5A5EB98AD31 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = 066F28311FEED21D06D61EEF566DEEC1F88E8D99DA9F6AE33E50321FBF7C1C458DB1E0C85C2685E806C583336F5620F44FF35596A725D37B1A7F149B30EEE6EDF2C46EE8F7FF1B51D5ABBC09EAD9AEF74188FBA0EFEB82DF86C304BF505FB02FF05B1797A7EB3549EB9E74BF685B15FE615BC7FAB569A2E8EAC5136F97E39397E091F97D7C11D8E6B6390961C0A1A08D2A75D00CB679C870879C24A4AD0FB4EEF187E60297668634F06B7F2D98B85CDCEEC842DB321CC7B7823D8F332FF5AB7C44D9F862B61D3423ACA663929EEA2B47C9C78F890D50A4FD04079D4F77A9B303FBCA8A852D5CBE0B09DF7DCD2178C8450370F60CE76AFECCFD3B4B346C79631439D879109357FAB4ADE37832D42D70B6390176FD864251FC65B695DB788F535B76077E3F69B1B2BB2BD26BBC0D1273109F71199A58053A8AB6D33C9A75B8C7D4423A330D03C5BF6A2B2CE43F27536AAC58D9D7CA8397BAE7C6C96D7279C19ACE6F7487412C7370992FAFCE97342E145795D7CD22F2135D627F5BD528FA3511B3EFCAA28ADA12B8F229BB594E802615A213D21CFDA091B736DAA0B18D9E77E9AD98441F23926F6C06DECA62BB91F6430352E857AA1488B82820F3624BE30E7ABD2785E8E9D6A3CBA0A926AE425253E1417AD70F80C1CFE49C730E1B287EF47FE65255AAEF1408C66F622CD1B6484FEC1675F1A74AFCC349EF4746B4468DABF577 + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = DC2A3560C3644C4ED659240CC9B275B7163F5C88B28839FA74FCA4A055B265E8E8DE186EC35097511D12F125B9EDAC4665EFE2E41DEFFFD4FECA65386D9A5B06DDE6B1AD1F70772ECC871C44529D413C603D7D8BF2CFDDC72C11D3B9684CDF4696EBEE1A88F939A997802AEE46BBE7ABE0915C4DF68C43EB06A1412C690EDEF8FD21F94D16EC47D42168C30B8A3C2A87E348352200040CEC7697835DD66A8E0596DB943ACD2BA8424A7D031C5AD0322C913AA9B11C4C1E09ACCF8B941FDA2CEFFAC3F38BD43FEB3E67D002E8D45D9C091D287A5F6C4B70A58129867C46FF1E98D402202C27E088DA5063157E0BE4A7C82638EB623947A59D15B1FBC965A73449711FEEEF521B61C4F94B7AFB015185BC7C696200F10C2657E233F643C0B20A72EE57E7E17EC806B0B4A128F9F0F6BAF129CCD82B19FCC72F62FA10456CBE37317BDE49BA0EE9FD83559E32204387CBB5D26064127448D2F2702CB37C3CA5B49989C7B903854907E1A748FD9E589A01EEDA6FB374178CE57C6027334399A7896C91FBA3F8C2EC917F2FDE3942D60FD37BEFDA64909A34F5D8BDEEEC6DEDAD93894E9C6A894637B8193895973C5DD8424326B592723C06583F683281AA90C3FB3A754AC8AEF614DC30DC608AD26EAAB42B4899137F4D42E4142F93706F88C8C98BB6B15E0992834785A27FFCC9FC2037A3A3B4B3C262ADE59E3A6718C79A8C0C82 + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = 5D5AE597772925F37C5D78176E15392BD53FB65B2925BF589DDF97D92EE412F2847ACE1B5A4A22515C910A0A7479AD4CFF5948C4A736EF021F062850383EA778389BF5F33C5357CE1D11D11DE27BDD076720692737E5887B0FC6B8FA46F2675650072848E26D94D596B921280649389A9C1621037AE9D91D460BDA8FEBDA7627C181F8EBB77F43DE66F9D64EF1D7CB66622E13FACEEBC7AB346C0C71A1FAA0DF2659D980AE4ACF04317379B81DBF8E9206F667EBCD2A8D736766D2FC64EA442A4BA0E331E7D3EC0AB1618BD90A9B97A4AB6556EB09DA3C551AC3F2714BE4CB094AC454F0DEBD1964ECF15118F677464C60108A87E8895046269DB21168E35EC4DFF11487E93B49A8FAEE8EE6C3FF05394D1D0C9030123CBFB9576C9015C30F9DA04331C995101F4589D27CE664D2D6928C803EE6ED655B661F286F12499427B0B3D4C19A870CC6065528D0D482FAE121766275ACD12731B127C454D17BBD32F779BDFD59D2221CC923764A023D48A109F259C2C4D9213E35411A7E4F03C1878E576F9AF4B84A983F64ED1255EE7CA9A4696762701950C97F374F207ACF4023C0E42651C650C330EBA2A7773AF833A9A7B1C9360BEC7FD788DB63AF83B699E1BAC014A86AE976F15809E4DFC8EB8225DE57C97CCCD0683ED0BEB67B752A6BD5EF128D9BC6AD343B04AEAE8C76D7A24E3025D436ECD9F03432991A19D1B1642AF5 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = B34E968BDD16E68C71ED69202A38C554F8362FA382F1DECCF89536B0D2FFA7CF8725CEC1D2D7AF57665496B643E8206566F8CBE4CBC42DB65481750319BBF37D9DEF13D050B2DAC53E163AC365E81AAE03BDB40B67D0786EDEFC2B339FEE7176DEDC90C92B16A726E61A3E4AB5B29741869A4E8FF254D335C62053EE9FCB5BAD309B11B916EDE9BA5D1594B0ABBCF73A7A231B4104037D10C32433F99DC35A356088F90298BB9BD150FC8252017BECF06111DAEEAC705BCCF25E8098995A8F7EFCBB10FD2C443223325FAC9172BE8B5FEF5FBCCC8D9361DEB61B361FBEA3D5CF13F4731E8AD4F567BBEF2655A79213193131020123E5FADC2782E8224208EB98C736FA9AF25EA3D00CAFDA04EB8F0544B58B29DA5D438A96914CA1D47F2A729128F60E56F5634A73133C1A0435A40FB7FF6F88105BA307B4B6479D0DCBB80A5F1A71954EE049E99B944E41EE89DE4B78A78786660A1516A3BF64779DF724BD82045245413CD82890340D29D07879C000934FBE4B4FEDA2EB4CD795C528E83BA11A92C9476E3273DD5D4553798489B8FFE76104EF154FECE05E4BE9775256F278DEB61552266745FC21DFD699DB5A34F4DAE4FB3E23146DB6767561F15EA776B67240C92C695EC83EE10978FCDAB7A57C692861F15E5E6AE0E3DC2C58489445DEF81F884A50DF8E78CE67C23967B27B419F36B905DC2D9EF1D27BFC94B456836A + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = 2D48CAA033F0273CEE712401A35D143C7E91216139682A77CA775F08BA77620DD02EA885667355740363D95DA3CEFD3E9F8D0575A41213C1E7F2A6C4B7212DD617C9B0A41D48674B6A19C63C1AB3F2CE7F1A0FA694CA8401A0121077F281CD5D6A5424AC1D3A11AA97F88783722E68ABDD3684907F63EE045D7F3E10545F33B84C30200DE3B135B4BE5033B854084E5912F17B14F2AC16D027FD02FCFF1AE096C983F0F4FCE7D6B641D2280DFB90D8A066D8CF53E2A5A1620DC50008CA375743C416C379FDC5AED3DE23244DE23AADC33BFD9609702DA4776881A1F588EE1FD98602FB831C8D857CB73DA50C99ACB34DC79D0F32FABE25FEFB54DBD494014A24EC55B4D4ECEF9D4B7A98A8BDE06E324E6B2BDBE7BEEE6A45E4FE8948D331561090B737CE14D302C9CB1D7EE3E78D0B7CDA6FD12CF038F8B92E35F7BD6E1664A5F4F75EE569F67C41A434330DFC06F8C6C7156208A11BD6708B22F3115E5D4D99F54451D967BB7935FC937AB2EE21C3DA93B1A3DF94DDD600D6AE8F43A35F85794E3BDABD82D4ECC923B0BC91EA85C3A2599F492495E8AAE970E1605FB642B6B93E3947B45D78ED6A563FA9D10CDFF934C61D78B46AEB754CFFECF00AED06839365D1A4B7D9CC5852A4F755F01723C8E3961C92F320A43EC23D8292C4F44336E78424A4E650D74BC47EC05EA8D692560206B9DC2310C893598370E5DF5D93ACB6 + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = 6F7549D58E91D97F0C1243C519EB6AD2CD72AE27E3C5DA2C6B92407823D1275210ED93B95692880015BBC14E72892A36D4D4924A48DBDD2E774ED36B739F587D200D9A789FF56542061AB4DE006B08749C31BAC057DDAFA581C6F756BC3FF23BBC43C1048BD2848204588C89E6C3199EC38DC9F4BB10BCEC5A5D236AB28113E4E43D529DE8424F118CB14A5FB02BA721BA4650CFFA35663820148E00A2A8C0B8F4C20DBBE20C146E4B5294A17C99C2DF7EA62F9107ACD5FEEB01ECDC064F2911A466BC1024B1AFE10F3DD7843BDEB8682339A95F7A0E615A216C89AE7E8A688926884F82BC2A487CB2695C658DB670EC286E63AFB5B244950497BE33081CCA0FD14A4958AE4EC94B642E3A9BFECA9481FEEDCEE34B6C13F301CFAF882105C14F20679B5E7E4263C29397F62B094490BDE56CBB1CFFEC550819E0ADD12DA85935AF2A9C08537ED3034D39933B80471D98B1562BA12C9B98A462093E79D247BFE4EE59CDF9F6533DAE9C2ABB66437B90D845B16C5318D0D12EC5CE30AA63B8A754CA93F04A3E3013A197A34DD8AF463A7AAE48D51C7EEEDC45B5BD4F9E5BE06D47C7991956E7BD828DEE21A4C4A69C3BCBEB914FB93832BE8A986A077FC3A990301532CEDB59CC03A0EFBE5FF88413F0DB07481D134B77200E05341C21C43A7FC0EF20F254A4438F9F49C28136EB7FF5D64E8812D4137CB3410B2482D3289ACC07 + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 2D534DC9501C6B18F9662128E227E3C7D8BC7F6773945B8CA653BF93F9B07BFBAD84F195CCFEAF35FFE97E1109212DDAF5701BF2F81A72B51A66FC1590534823172927BC3EA342A96DF9B0CF5952690804C37814BAD3A41849D71AACE71304183A4477D313654C731CB0A9AF39CAC8A8E4B6883AF7C4F94720A5919C2371C1AE472724F7062E47754066976B583CDFF98CB41796664C9B0C763C4530FB62DC22AE7B3C6B4DB593942F6144DA79AAC3F3CD53F90B7B634CAB679ED27341C83A3F9DE8763A0D083C4EA4EB3B8C189967E6970178CE26A3F2D43D1A62E4D26D61636257DB145A89EEEFB8C38AA9D69F0630B99B4FFAF9395A6AED9C63E78A7F8CEAF4884E4663E7C9E39F737703F5D1C73B2E846FA5AF03528C7F1D1378C9AC7CE02599278455FA6E1B7BEDF453ECD680A89A8C77FB727A688AC573A5ECB545218F5DDAB304DFB7862194514674A52F2F0EB2151BD936974FB5B677F621FF9E92A10C76E3B6A34E4279BF2E395743EC8FEEE4F4BB1D951AF744F9BB923A13C1D6F159F96B90D0371B135A8F64351DC8C9DFC0AF38098D3A8583DDA8978103B25495BFAB2B144E4D82774C06C4CCEBE085A5B902DC391B60035F4EA929DE8A56DB1EFECFB928BE97C23E6DACC79EF2C05D5C08F2CB3ECA5CF7626F13A95F29239AC8F457DCE85815BA83F099B1DCE79A32C6E04280B8CEFE8EC213E2375553D2214D + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = 4D0E55472FAEDA7E9F092EC4A561E835E261935BA5E6D115E9D4C4021725E7831C5B7F102F2D1494B019FFE9BF5525822C497883F0E5194B0B0989DBDAC834CBFCFDD31294DAE5752ADB56C23D45668F370963219D3A9BE504D8E93721242DB7D4D1CCD22F84687E3945E2037BA24670649913712FE6B5D99BB6C8492C3B853E481CA9C32B3E601D31C60D6B5F43A240B0711FDFCFC0AAC6A6E5F881B2AE1123F7568663D8415DB5ECB3000AAB268256888DD47C0FBB5C95AAA9450947244EE4CBCFABD76326D2D079C9F1BC4F3D43AE1D01028FC1705F74CD16132C79D3A43539D2A842DF2B69243CD37491CDAB57AC7E4E00350F8C08737B6CCB8A7C48DD50365A85C07A525C15AF65EC3B2AC1C73AA6B3433483D5EC77ED832B73A30C672E9DBF0778DBC20BA5A3513EC93B4165A60E68717AAABED5041D9EE445611EBDDC8597FDA3BA05245228D7C567BE1CE5D2BA75A256361E8259F43F3402E09B96A14014389B8CE19461A6512A4DD7F866E73ED26B1C454E014F901DD313D5E7214CE7A62C476DD28E4152EEEE89F309161C8F494F0BEE613B72696F496BB41659A3804683729B40682DE5D0F17AFC0FA9C27B2C96B55A05C536D283957783BB93C8F3E021A30D6051C9839DC48A70C127611449823B06F0DD460CA1DD990AEBCF3FCA9732D012E9650907BFC44729DF2827AE4055FCCA246ED3D75DC3B69DDB3666 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = C7EAAAE0CA10AA1CB0225920A8F2288EEC0E5889ABEB096A98310782D918AF4CB8C0A41384D8E0C408950EEA95DE8CA6EB87F5E86780FB91293C5D14A798DAD9B77EA8A5B50E17C19EF37ACC5166A74A1B37712290CFCF98AE6349DBD4842D8ABEC6735ECD392D59591824963D403B2804135BD46D17E26D5C498FD7111BF2782F758802A20AE6A169AA65CB0D6640396E982E30126C37F68E19CAE5FF9AE3743E38F902D306D8FEC8042DD914003F960625E8F2104C369CEC0CB8D3847C28D050802EEB53C5AF08D70EC02979019700E182B7127661DF869807C16F309EB08F376C5C30B0189F1B4B32423BE060402C1EC9B1E7AF2432FAFC09E4EFF7DC6F55A52108C5599BBD5A07F433B3EB4D439D43EA79407FA711132CA9A5E2F528E18821F38B894F624EE42400832F8C85AAAD0FEA54261E2B55647D9FF5F31AC212E7C38CC96689C72A4F543A2567D8EA79913727DAC3172F69CB16694E5D4EED7C16494A297C876C73256F6B30F88B6E180E8E62DB68458F2CA416C4A0317F70A3E2465BC543FB07AE518B6571664FE9C2E49E2AAD57AD933869C04A1CAB60903F9AB1C14E4FB3B6502F387B30693AE4A85A172FE6813C42026DE57291B3D854A191F553893B3D4A79C84B08C37E80C1ABDF03FAB58966410C2B8B950A275F68852F006B2B38A49E09165AAE5BA74B934A6B7133E431F01099F930B5FAD2790F126E + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = CF55585AD2CF64217E5CA23319EBA00C4EC74B7B9A453D1D7C144E8B68FA8EAA16B853344ABC905EEC90B35B681FD8A4A52460999BEE62489C467151EA5C0D7C8EF2B9959FD44D171D530AD4A576A0C76B147127921817B167FB43050D7F2F552F8E77ED5161AB00907599AB80FC546C859DBDC04F2CA3E38A7593DCD22EC89E73C4924152C7D1B5281699154A3325196E97E73DA29251F60BC68706885462002C126517E00D02DA6A23B0CA9410EB916C19FEC76DE9A907447A8DC1F8304EEBB6E38D0694821EE03865A5BEDE036E01AD74AB397AFBEF6C62C5DC211A47BCDCDDECB48B17BF5336FF831DB7EF9CE7643B285504D495161D4E864B6FEE67D0EFAD2888C04A8992F019E52A6632F72539FD65271E81537AFBE9E7795C658AA0C3B2C64EB34BDD0E5F19EA217B6EC9520FCDE446C2207C9AEE94A6AAFF4F1F39A91927DAFDC37BCA8173034A54FD535BF03212995975240F3002446DA1D111C0F97C92E395D96E120B958F643CB4EC52C6D2C148E6A0A497323565500AB117421C4A0CF0A055DC8B4D287F66FCF7EDAF931B614589EF6C6F4684A80A9DBFBAAAD85059B9399CE2617B55E04C2112B32A210D7530A3C58678B1D48EF24E2FB6B6F90D4FC605805B903085198B2C50432D9A99454B68AEF0C9D0D81931123D7D14C0DCFF84A54F3D4DCDC9E232BED26E2EF3334220F7B39EFADAB2CB9E247EE4E880 + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = 85225E389DF45458881A78277858D3B12EC5527BEE0D03F41EFBA24671F1C245EF33BC8CECF3CFB7EA82263EF8F5F4E2C0D033D1DF6AD35F1ECAEB2E40F22ED9F4CD0D1B9FB1FF5AFC3ED60549F1836E325AD6641E4444913A9AEACF36067A7E6EAFAE4F5D1738F4B42F5185AF334FEEE2838FAEA6203032F3C5C3D22863C02783D1562E12B0C73DF3098CEC208BC855BF84A9C231021AD5F1FBBE51A21E2BB66BC555612500822F43DB5594D0D60532B726E3A430C26D9E5BCCD57F83CD1CE3A5A31DDCC21DFD8A76D03A106FC77EB55EDF19A46023B5D70835C865952C463475769067FAB2BA2A11FBF7F29D6400D10A34B1DB497B5B1D8D8A30A5C4DFC40EBDD1BDC992380074ACCAC904DC24F22547A99E7F5ACC53BB83BF94A522E595D9AB54C4E7EE052ABF95FC5FF52967CA2FBB927ACF7127349BA7FD26AC820C380107B0E341866A9F57852DF4CE28C2989F04A40FF14033B3D36AE7D24A8E377AA40BABFB8502B0B9B12DF9B42C2A9982AA29697A2ED522E344814E59D91132F39AA537A521BB4B781CBCB5E1503354FE6A25072A52C54D248E13F8253FCAF93E849597C23F6952D0F7F38D1A4E7D08FAFAEF3ACBFC4371779C6795D1CAC6BF86C34FB227AAEF0AB51C480C4510C9F1F463CE311CF931E8219D71BCD3FB55D3A8E9A6C86710D18F9FEF6A00D1FB878069AD4A4E32653B0EE15866268D5772BD4990 + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = 561A3E8D8D57E0E32D7E9EA8AB6F58AEEA509CCE8740FE54E8DB9AABBB14AD782BA33C7F9A5007796CA2BA9089F525BCF80BCEDF4C09E24E8D14F1766AA97A82B807FB1ADF65430BBF5F87AF0A7FF26578C97AB50148B6B15711311FEE962A8B9C3D1ABAF62441CEB100DF3A8E588DFE3F6A356B348E312CA017C94143B3DF17F255DFAD5A7341B163C0562D24897FE9E4B99262FE5BF6920B79ABBAF856CE38AFC756A77F2BFD5C3A039C08480BAC81D641F8B955B22B66B455BC0637DD49A1218C4E8CA73BDB68B8849D2148C021C75BF8470D36167AC32FC88128C4E0568724BB2D631E7FEDFABB91F0343D267BF3A57BBCA57C21D56E339CB13DFA5E56F3A90F0241DBC0D0D73F40BA282ABD5E031364ABAF427713463EC5072B7AECCA62E074097BD0CB3169DDC06243F08B62527921F5FDC9332E99B2E6903D65BF809DCA706C5C0F93AF85B9BFEEA40504A3DBB390C6A417203979687A7C86CFE5AD3F0737DA1B907F8F941EDF44F8367B65EA8BB92B5285A3ED8E1F7EB0FC00536C15005E4F6D9F2969AD96721BFE7A6A4824A37159EF08B0FC60C68518FD4CE54E4033C41ADE6CB218CD7DAEE76622B711A1609168BC115AD4F6219EAFBC492E35BDC446E866433C744650669294E8D1827A2500F3E30893C14820DC24E36B3B451E9459BFDCAE62168706228BCD9C3EA22C4F1D0286367C7939DF31E28E7A2B28CF + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = 3340B37AEDD2F0C66F2483ABDC66C97B45055275231F1C7A925687B946C9135BB75AAB2D11E6463073A1A8CED0EA83A42736AE85D1B99D1D2EE9AAFB6FB9F4E7ABACB39BC9F6D59883A9D1B0DF86C259394A05842684E8A4573F1A3CEB46ECE59DF77259A0B025B831C2CC0DAE259551C86DB7DE0C434FCBC35328810201903B92802CD5DACF9A6F4ADCB05EC5E0629A3FA99BDF2A5CBDA2AF81CBD1438821A319408D67E5995342BF9BB4DA85BDCF43C5A2EAD9CB4FA26542EAC044DC70857FF1B1CF95026B6464B96A46F3A138FCB26B525E6A09F71ED05E57ADF4A3FAB611CD8069E016FED7B9F2F14C38102612D66803EF0854B2C7678E870AE7BE6CE43EDF447E476C0AD407F0D1AEAE1265521F43AD6CCF1F2E0C82E5395ABFC41E08AAB436A806083E246CAC452513BF8E9C9E47DE645055AE184D988D0D3CC1E5DFF6AA98B3EED26E788EA342C6B1914269113248B15D0B79A6BD71EEA6C0BF9D89698A2B943AE24F843B00B34620DEE9DE5AE1FA1E00677D8FD9716CF43EA1EBDBBFC2984FB1B27D444AF3B2D01A86412A32090A45385A912F394373F0610AF7D3C06D8564FAFAAD3B88C70196A1DEDF247AB515E5FCC8490A889F974E12D8DD5FDDDF8DE55500CDAF60FF2B70E7D26B481389C2232FDEE43AE99B221893FB7CDB688C06486571A09B9A9B5D2DAC509BA166D0C5F5D8EAC363324234C657678A0CD7 + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = FC9C58940908E1F78AA90E888879C9EF903CD450DB94E5BEE0D8ACF6A4E453A32A610C6209D9F5A44ECABD634D45D04F5D946BCD388E2943D00AD8A6C4682D985F45D796ABEA85F419D3990BBDC5A21294970FD42B6D06363E18EF7C00250E96AA96FF730DE2D92E69BD19C2EC40BA78F94B7D120CECE0B0A44890CC17529A054EDC97C25BF7AB6BC3C955466F656FE450BB25C34997DA94258A4473128DDBBF6EFBA41C1843F69AC2B86A5F13EA652EC19CAA10FD0D605B4F31CE170F9FF1D6C7DC064EB4106C6F4F54C88A463EA9B97206E567B370DCE4DCA5B998831362DE38D8DCBC0FE04E87BA9EC6CA571E6A3BDC246D316A55FAB5CE8AB0B71E0E8EDD9790B26E3482A95C732A304C1DD48A3955ED995DDB86AA7B4E6406D08E189596BC8C5A5F61A2AD336E39D94F6188DA5A1E4F2CC9593E92B0D89E12CB4E6FDF89C5C24ED83D66F5AC6BB0A6A3C88B151C35123DE2F3D2D18D8D302FB10299F68F65C9EA2E5521AED6CB9FF5E357DDC1B9D4D5BD7B13DC9B4FF63941BEC300CC787FA6DD0BC617F5389EB6058D05BFCAA16F08393F4F1DC5FD4226542F49F771E5E93D87E06C4E663ACFB2CC365F3F79016356656F92EE52DC6DDE14482E2CC8A9EDA71189E3C5A431EFE0A8768D014F05D45685E472BF22E359B8A6C8429D8F048314BFEF49AF2637108E774D5E41D6B38FDA700FA2145B0235E1DBA03BC8DBF3 + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = F723334037CE684CDEBEEE3F14B0D109B075EDE85C489EDF7981B3BF88B946E2851C9453B0E891349080405BC3B16A99879FD63AD7314FB7D26C050061D3A2F971E2A79C4B23338FC92E21466C27BEABB1FE045A0A10F33516BD77E7D87C49003F1CC173B61D4ABAE5151D5A723C2E6571B0B7039FCFDA72C149744512D5FA20DB8C736A70FC009211FDBE0D7245C5C26DD878CE52DA760AA90D45A5501EFA74677B85A736B2860876B23424D1CC47660040E919DDEE1F67314FD902A1D5C1DC69B70BAEA890B5691322C81B210DDCAA3CAABCC770E68B1BBA5B08C3D7676771608924A853FD770B2AEDD8D42B1E7CA6CC0499E22646732EDAEFB94761405B76C3A58D5CDD1439ED1BB06CEDEC79DCDF38E373ED17798A51B80665C026DC2BBA3EEAB43CB9024FF6F04B371C07423CE2D0B2E2A800B213D9FE193403FE868180569EBD002591959B8687E09F81C9B2B8DE7672D173F8EBD0794ACD309A2629ED0AA7E14B58635115A58CEAD5BE08D3105E2E65429D1F7823BD8DAB99084E1D63BBC637EE37AD4627E57E15DE35CA52FB8407760BD2AED167B6EA65B0C72B9B53C58A16D030A227CD92F19F14BA5AD6BB00A5775E4A091D7844AD2DE44CB9D866154127CA1B1A2422483A146C729AEB85E67D597EC6F700C9DC615F2BDFA6A1C9AB038B81AD0307DAEEFF021EBE7ABBA47BA002C27C2A07611027FC69C9B63992 + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = 37A534CC68DE78F87B85212464858780E143A5E0DC7D46419EB17E45E1872186DF8051353A6AF703C167B9233612ED68E9535244DD99A613FB43F277C833588F7A2ADF2EAD15ADA2D6ED7CCA6AC786741B7453EED605C7F8EA3A8E2AA8D5688D72EDF964C08542422DE589D402DA18E10E7ECBBD132A10FE382A7EA0A94C9E5C7F31C7BDF018F44BB6693EC64B266E1AEF1A3A941E336E479EFBE2BC897C93576F5F1BC9C6D4F6E948A14464287D1E82DFDD1E0CF0A68E9FF696B5D5392F4C46845DF19AD5BBF2B158659E856BBF6732A9AC0ED722BB5EB2C25D35FF83B892DD30BB01FE20F49A28C52B6F28550FE56D176790AE2D96648C66E389569BC2D47D0A5775E0F6F1B7AB8F999415B3EEE8AAE8A3B663F13E0EDE5C81CD001307FFB5AEA2801CAFCD1B09D31182220F52D39855E1DF732F1CF2671538AE37726B3B47760830B391EDBBAE70B52F1F2116762C685FB8523742D90A427C991F80DB823E349699456610720744BD2E4FB9C40D1371DEBDC7D01B2F5BE45C0231D297DE09D66616509BBDB854D84A2D7C140E8489884794D3679FF8E24F7F04CD72058EC305EC21823AB5A47AE9AF8D10EFDBE2642A97DADD44F174622597E4BD88698FA75F24314E82ACA60B42F66F84602C831FB9FA73E95955151F931841F1B9DE7C3F95DD786893B45DDF66045AAE6533AAA59060B415FE392BC585EB4C39115CC163 + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = 60C681E527396D6C9DC1E5FD71842F760F9873621A9BF2B9B98C5DF450DC7194379991D7A94397A206913AE1821259D308A5DC4D53E552DBF2287B8694F0B6184B737D5E32E1258CD7FF58E5AA9B5F37571413395B833CCC5620E37B0A64112968D4D7ACFFA3A66E044C36E23363F1A09EEE48EB6713FBACEA29ED63AF0DB94ED2BB22CC01B89D05391C1BC8844BE8BF105448925AD2373D46D3417F920046E8E4AFA0C11A8057B4A42FA4CAFEC592F8C2F8F1E2D603612FA38DFC3D3FD768EF7317802342E76E70D30745FBAFC0BD007EFF874CB32761D700C88E27DBEDB57CBFEEA688E0F06801847C1046CBF47E2C12EC0A4016D5E8238916DA887DEAB825F965F936C79A7316465B48A2B8BD5889BD04580FF7DC91C50DE8EB60AF74E74BB4F896FF73CD3D1C55948C19DC0ABC841D7BC3384AE4D60BD855F24BD2E402FAF5E47D66DDD2F0533F9A73FD483E3965E967C979382F643CDA535C4AE3AECBBDAA51CD7A89C8B2D9EBC0B7F9CC1C1EA355F9FECCB62345BE39A7D1073CBA7C5C46F2163DBC1E9A6190EF620D6053B88586E73B18E816206A72F297EF946C8B302A6E3FC92A3E7A9AA87E26C1466251CE1BBD204BBA7D08FEB28F99CF27BDB3E8479C9C57FAB8F00797938D471D53A1666156B66853C067E64695978D2E9AD5250FFF6CD1491F7BAC09B77ABF42249FBBD63DEB5919A1FC96A4E26DB9D789320A + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = D8EF59E48FE97B07649929B9194BCC57EAD8E0EF010FD65031C18B4CFCC0933152054AE17841D06C36BC375CB1F98D83E2F9C3DFD54B88312AE71D7A00590A759E4B8D524124CF480BCEC6816FCEECABC9E13356F99ADA2319C3EB0CC9E3BB504EDDCF7D3839511BA0B412A72C3A8C49F7964A4F2EED7B814722A487E3EA6E347CDC2585090130B4DC535C3FA98E085F107FA43222B167EBDF2BBD65ACE691D8C23D64DE52F966983A3D4479CEAC8AAB177947079656A454B7BA4548BCD5762974264C7BEB17DCB4FDAE572BD67067F304990611E7C7F4D50BBD2B29D19C02D51918D5BE6E856BFD8DCECEAB2EA9F82F5BE53E57D4B00AC371436EFF3898E930193DD1A21C5B54506C6C91EA665D0D9992BE999F1DC434BA587DA4EF05BB296087314C4408CE0C5851660D0B5D1746232E031934284F85B7AA38420FA6EB469171FAABE88F85CE64A7FEF8420ADA1F9BAAA4BC93D779C5A268A3F1F8A57CD2FD3B19CDD4E648E622552C1F16455F32631A3D91EC2F7A882DFD0EB13C4B85B0A23E2477B53E0FE5E174F058268F6A24BA3CFA38D090AE6088339957863733E1DA245432AB0394EAC05ED82428C4418DDEA00C45E57A1719C7D2D04A781F8D0187C7C33117A3FF5473BD5C1211476FB4EB64AEDE5A9E2DBFEE00671E7A9CCFEF7624E1F688B77CBC755B95B6EC391D8E9DD0B65CFF4E1FC22F566F0B598BF7ED6E + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = 984570A811CB6B53213280F8C06C69FF1D17E767B163F8AFD76674AC018A1CAFDA4D94B69BCF58F3AE8A53B107976ABEA6C616D85AEB98BC10F29177A3590BFE943F53D2512323E5E79D64F9F1319D47D6BA84C7EA37392BD15224D94BB16D99E0E1E7062FBC3EDD7C81418D816E875FBC9D7434249D89A6002BB777E367F79219BC7FACA03E1B9488307DEA98F304258FBCC53C58A483A6FCC78D9D9B28D99DB3709E32C1EE91FE305F72B041933C8CAE6F68C6229658D591CE9B1100D6974706BC21A45224778D12DFBA63CBE9A1A3FE9680A34771D9BAE39B4DC9C191C0A4E092F8EE92AF2A02C95242CBB24580E04774AB41B07FCB6F61ECC6ACB2E48A77E544AD9F25EC0ED7F440C26B8C9D25C7CF4494AF0802C4B482DA80251F7D1572DAE337725B9A976F70BB70B5037F333D53BC3C252AD9AA13EAA7C9DE1AE4B24F6C91D17A489AC9D392038B80EF7679E75CA6994821F153C62D6CD7EF58927636EDF95EF6F05520025C4BBBA23685A862F244AB3802AE1D842184A5F5F344D1193E1239990C331488C1A8B98F1707C389C05AFA919F5C17EAC158064350ADFB9532EB0AC9111E256251B11D082DB28206AF2AC514707D956A35E26495EDE4E98C2578427B48BC99B9AEB29B0FCBE44A0E51CE9BB37864DEDC30BBB5FF9A055423D8BBD453A65AB54E65CDF773CA695303FFD4767193D65F26706FED1CF35E740C + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 2C2E6AFFFDC10D54F74AFAAD553CCA0DDA3AE5A5EDE3BEB611E4C1441AD4E51B67EAA2306ABBB39115457FDF15FCE9607EBCF0537E4F9AA2703D222A2B5FE602F87F6B54CC7A9427807A10E56BE5B29BC3DD91FED0322F291D87F563BAF5B705534AE8BAC35D4AF68A23963C040F4A1AED9B3E51124303DFEBBAEDBAB35D7CCBD38D482EE45E261BCEFC53D0A25DFCA5DFB60CB2672D34CD4154873F92B33FAFB8068A95458BC1166B36C3977643BA159B655654D1755FD5E396AB9690718266EF6AE670452FBE332BE84750BF7A26778E555FDB59AE0F48D6EC3FF4A1FEABF2FF7F1CE4DBF3269DCD91E3CA9962D88DB9C527874DF15F7A6DB9682B1F0D904AA875D29A8885AE63E90461C69B688046FC771321FD6A61A6F1A93FC95FAC72BF86ED76EEBDFF0CD6960D72FC460753ABA0324F2D7CD7372F413D4A49E761CADE4F5911D18F7C712F61CE1A5C9F07ED2B042D5C86B4DB97E1B7ABA57E2F2DB98CCB4041A16EE21E08ACE213412C6D61CD3C42BB5D8DABD7B5A945FE512F2E64C3B1817D9BC5840D6E16F7E5E2AC36585BF8107ADDD0C269B8510DFE11222DE1BE13CCC2A5BA8536887A11A0A733EB81D93729D487481655F531BF4AAE624918401097EC0951F7FC535CBD85691E0E0EEEAC4A5848A61AE8D6D6121D3FBCBA345AB755C4E8441ED7853FF46CAA48090728A7AC39496C3002BAA99DC90F049EFE4C + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = E36806AC60D67682D34D80AD11A1415901FCCC216D7548DE3F2428B1963023A9394BC0E1766E279AE3509AE85D773D11DC8F11AE65C5C0D6401575CB33835081492C2B657F34514ED6B0DFCC2639FB758B5FDDF638576A64BD34759D629FF133112CC5200267D8C9997E1538D602CA356E821F06EF84C3125D8466673312C6903CE166FB97FCB3EAC9D30D61E13A1DEABB922DA6E5675DC8976CD4426EDF7A7A797DED8936E0A3E721DE5C4D956E8287C4B05D1210BBD36CE0E36B7F2A31945FCA6BAC1CAAB3C46D4C8245E3E589DBDDBD00A3B99D8DFE33783235026C1A990F1C383CF71C755446D8F5DF4A114B9004541065BDB81AB81B98ED47A1D05595AD5E168159EC620B1DA439C6CCB6C4D57A2ADB33A0E113FD0D8ACBFF5C759BFFA29B36E8416EBA1B8F45285EF3F496F6946EE1DDE798CF8F5BB78900E59785597101DAC9EC5E5F5CE0F0D6B173B6418A75BE30A84140FAC4899C4EB8DDCF87A0F78F22E237806E0871CDA9976DA0E7E42C4AD73FA49D3F9C257ED1CC6C389806BB2C32B1F7744DDCA53BA515237F1588F5FA7C636360B6B8D98DAFA7175DB320A1A3FD1B3A092D9E8A4466971B87E5B05189829AD8D3B407F3C5E4265026C8B801C391BE0F9C9DBAB2F56362F820384D859EAE1ED9B291F5F03F14F12D0FF8ADDAC128988A59707FACBE23814873246C99DB793099E6DC79712C612D41302F8B59 + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 939F4A4B5E37B675450782B0E8554BD6A2821EC805CE07FD4F5A3BC3816A2305F2353FFAF15883E760A3DEA064DF1583CFF5ED83A97A62DF9D174AA80958E7649460FB4880DFA21DD7C00F373AA9F010EBD1DE7E1AA73F51F84DF36BD2DCE6B37D7A1112C6C69EFB734CCE2AB12517FAE38F0F3592A4693251CB4F41AF7E820F1E6F432CB9F88B82FCF579B2A5FD0E9A5B3C28542ABDAA9C651EF1A05A385051682B3238262475AEEB53894B8274EF37B223F66A32C0D3DF45F3F191414FC0E8878E3D58852B4CDBD826D236A7010CA49C43095786CDE671070EDE3F5BB74F34DFFACEEE281042EAF3D2B39E53C25A61F3B0B2D79E4305B9A17C47787747D3CCA46E88BE79464BDFD16BB44EC7D862503077D3E4E3C55BA1A1FCDA217D53F5C22A35F883FBD0E786AF38276B341733F82BEEBC4118D486C32A3E7A460E24951BFBE760556E36981805B40B837B514FAC3E8213937ECB018449319AD3FE1C0EC19B502E8E0399398F3F8C74601F61A9BA3021F153ED45A99BC150AA886BF090B0134DA25B2740EE5156CFE28151EDA24A2C758303F505E465F9D6A409651D4705A80B3FF660B2D66AD061960A3C6B81FA8D831659830C5243AAE26334917660FFFF3B977FBDA3730313753FACF7E319CDFEFC064F2072AF7195A70EA74DB24E5FBD36D6FA78C0D0D1085D05E81A62D3449F16007D3CCA29E4403DCE5DE01D579B + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = 3C78C3BD49493560231A71A867BBB666536B22562F1502245991E3FF28E6F058264B382BBD61F9A16D4DDA0B3A72F84606F97E7CE53F4A57C132A920FE738F818E987095C1292D9873A772E12F74BF42EE1281F408DC2ED7BCEEB2FA6FD856B7A01A955350582C111B2CFBB65E26B745939E1DD4781A0265EC5AD4BDAFDE1EA40AD504EFB0E9F34E15E1526B1873F251D33C280F9CAD71BCA17C4925AF9C3DBD4C6798BD393625017C5D3B03666FBC3AEE276AE669AF2E9E10AE2D608247F3DCE876A8EA3BEE6EE001C3D5F847FC92A2A9CD0FDDEAD45C1F92414B23722005AAF8A7A0159D91B77F4A0E44DEBB9A0967977B04072633B4588DF0D699C8F990D60FF5A2E09690A624DBE88B998424620B5634ACDC02C75DED6DBA9431AA7A0FEBC01CC5DAA3094CDC818B2A6CA4D80890113408565A714558B6BDC3E1735BD1FC9FE84210D7D78E0C50E8961C39725F68F083094277B7B7ED3300A1FBF42F72AC9A79FF927E4F76ABF0BA233A9E82E535C32D7054078A6A4A63F1EA454C6AA33C5A2299DF7BECB5F911C25BD74532EDC882FF4312D2AE0ADD4D0F67958A520011851988F9D3846C0100B4C119EA818062A3C69401344CF94F49AB995C286F441D8241F60A73863628AD8AE1CC780EA99CEFF0DC18A3D85E16CA00756627F6A1B754635945120890313EE136438E01A41593B6EFD26926F48309122CF1DD806C8C + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = 1A73A838FBE2AEAC592433B7CAABFD17068510B165896F00217A1F9E2093591A77330E656FC53D1223BC9446C11D329673B4186A85DC6091140C070843760EFFA56918F414A9C6F2D198E7D0C19F44AD19D1E89E25365CEF40890987D255A616524AD68574C3C284825A48C3BCB0B48D41EE284B53BE97127DECF90402E8FE1317263D179814177B79DF92B9C71EFE9C3C2F3CBF8329BD9711E6393457F076C8BCF16A70E854DAF7BCE58C31F55B4D0E9681B39FDC19D0703A795C234016C5879857F25A64EAF0700C681E590B6D29605311F1BDBEA47762BBFB012BF103D34C2CAB53D53E1962BA6850B779B8673BA280B0FB79CC387E2559105DDBA2884FE493B85EE0F0747436013CED0ACE7280854E9BED8A42FC98DCF1AE5F845B677F4B802D01AEF9529FFFB6ACFBA047429D4DE3181FA959A3B74AEB5934E3F25498CCC850BFAED46738736DB5E5BDA73AC03162923D310A1F91658D15CFC5268FD5BCD9AE6F9D5652558F74C1DD85696233AB9EFEF5CEEE75F0A3489F46867B0BB1344CE24E5BE88ABB706CB49A07FEE3DD5911DCC0486B58FF2B024F844C3773A1C03CE35F02256157A6A2E6616569FB751ECC3E4CF01EF99BB0EA61E4AEFEBCC65450EF2999505427B23C7CB9278E27AB58C5FA2D5B0A432A6172CB1C23DAC420C92631495DC30DBE0AF3B6944F1E101D1566F0A1F4BA06B82C36A7CD068864FD3B + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 674343644B198DA1CB0709F842239CA1559AB643E48F8EEDB373671473CA24A99A74E20AC6368B661BA1824AF92985B3E7F957F9C935C715531703A6B8B5113A364F52C7DF7C5488997A3FF71873FDACB1A6F4AC3B631A3341BC36CB742F8100B28029ED6C44FCB41E93B6F171A064B0F13B2F83B1790330DEF22A387C52CEF7F16D1E398123CA0231B76494D708CC694A28E281B34ED163B7931312DAA56752080C4966F8638134680CB96C4F815AC678106FB243ED3B9C9A5599D3851BF3D89CB7BA463C71A868F74D07F0C6F9C6F940F53D88E18892EE6CFE5FE9C17B92569E5C1222FEE87792987663757459C35630CB355F445630826807909BB5CBC4F5C8E0BC669BE6C705C12BCB2B39552D4AF42204D237FAC5BEC56EF9AE6F60BA836AD865983DF2F25A1F8C3F5DF93F87EB76472DBEBDB20FDF894C0167287EF1A6355040C4D4A6949F488697498529217E4532A445CDED47687CFAA14DB98260DE9321A16FE84E4D82D2B1B0C2EE639B2ABA48D85E4D06A369CDD9B03A0A846EBF83ECD5ED257876BD5E3E7838108FB3B86B6558F8BB454F1E76FABE18F3B66CA1448C1B02DAB1BCD485E709CA800D5271952602E9B1BD585F61936D8DD678C900407892756A08730B891C154B33D83BCD1B2F441F1DFA79AF235316BE9A3E20ECEB4EB23AB76D9E9564C367BC27424DAE397E35BA16A8CD4BA15CFB7D9EEE2B82 + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = 791BE2551F426CD350322EB1AC0E6902996546D446C229E03D74E25CDFCAD06CD99BDD3658026EDBE8708AD18DB913057702450BAA457EE767B7F6085B0F1D35A86D8C5C62A35E5A11B81D409C12C8AD5777E245ACC369ABB5EA9D8D9517AE7FB4033EFBBBCBB70FD6CC1E55187AA8A27C75E5116EBA46DE2C8378997504A82390E6B085A45C5FAE52FC314E876DA7A7F90226CEDD3C4E985887F162513BDDAC323E85737F3954DC58D12E986BB1840D0EB046102C01381DB2915981B23DECE4987661B41B56D30C35A13DA21C6D2AB0BB7951F04804986DC2127F7F33C4937D27427C7B7062EF7EDE944EFD0015681C2FA0C115B67652A7EF1AAD03C0FC4542BADE7CDA11F0AFC57D8E2C6DF0E5BB5440C2B3ED2807C2798CADC6F371A2D6F2D647936B82936BA4B19A16F599689814AC4DE20CC7CD05A3452D9286B345037ABD23850F22A56BBA707B1D9CF299ED3EA21943882669735F69D25F240F87F3B34CD794B0C6353681006AAC5AD75CF46BC6464579BF5B715AC741CD1CC06CDCA6E8D579F2FF839E263C94588CCD268B1D375E5DF5BFC8B7A89FD72CFBF9BF5400EFEF53186B50497D942963EEDCD6A7426784F38F8808C50F867D22C10FA4D7DEDB4F5354FE1EB1484C9F645397582838F1C78076891C5E1E44959B5C74E28D7BCC3F6ACEE4E5393A5CE24E97CDBE1B22AE853C567068ACEE03CDB3157A3EF657 + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = 7C0247B191C924335D843B81614C0F1A6A9AB1ADB6C286922397D8C1B26220A35C13C7151E35FF9B3653A086DA339EA1F05881F414E7A16C61B1453287F924C48EA933995000A9C9B0EBD5E8BEF2C92820CCF9BB6CB0F465AAC124B5E794FDBCC60584B05CC3BAD06D41CF9DD5D3D3B7FE1CEF634DE558B6642E591BC2F69ABEAE61EF5DA27BEDF291D2A4106B3DA946FB57328E827C8D4EE1C3665AF79F96CC290F924348C30205D75B01BB05AA9DFC317CFDDEEB7E3764589C003E2AA1DDF60A3C98ADDE4517E40D08CF80646205EC9FC6E9A3E1B64B2EAD561957C3E2710DFF720BD7E5841481D9E1A048D1C76A3E1A08BF010428C8FD2A6F2DCA4FDE7C8CF59C826E6DF246CDE77D5823DD1E0C0759AF8356E89ED4C03276A37EBBA73DC196E7915B57BAADE13A7A276AAA4456E23E4454D44260D9EADD748D4E7E1857B6D2D9C301AF6118270859ACC43603C79A2F6D698871FD5384DAF43B16FEE4ECE1146ED54E1CA28EAAF2D94306383609BFB26D6634DF00198E0D19500215E178D77329F7504AF80DC6B727EA7791305FB38FDDB1CEF7F626A49AC6E34C3A6ED630F9310F890392704A2CDE00CC850FF7CE9F0E1F0CB4B1D0C161CA3B812309CB3C9E9D071024D61E5265A71E7ADC58A3D47A567F5B19F9E13FDCDCD34F3DEB12DA3151FE817E5844F5FCE12805B064895671F0C3767AF5A3D203D095BE306D4A26 + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = 73F5EDF85CBE959CDFBEABBE2A96A1812134EC9D3CCB72D6039D4FCDEF0B57BB72A782B76963C97AE0C2713CA657B9424851DC903CC0488A169538A0DB3EC58E67C4EEA1C18ABDB2036C79381E76F5C9F6CF1F830E0DAD77D2EB90F120EFBA42B20B15B8C8CE8532C5B668464AD4986A281E75E4FB2CBC59ABF886A8540622C2458FEFD190908A09FCD7F16B6E5BCC7E950917794FED485C82CEEF7FE0FE4665E0922406AE1F8D34E5F77BFC0AF8B4C881BF9F76C78A233898D120981BE96F67D135723407ED252432928C7F2580FB80000CB51E3EE8DB02D4EF4FCDBABB704DB0CDB9E31FBE76930D285702D91A74DB806DACCC01A15C0129A7F7D4712668ED633462A6A036A9EC2C4A7E4AACD4D62DF9DA1FE959DB9ACD0FB6F01A75F95CD9768F408AAB1760EDAD70E936EEC344E9506A586B9D42DB99EF828E58D281128FB0EAC1185BE704CC9D16E359EE3BC1361A776DE4803132822F99F7E477764C9408B045745150AB8A7481D266995C91EACA7A9497F4CA1848828FB5ED127B7A4A5FA0F23614165A8E4DE1E619A40D4E55AC28075AB2FF1BD42BEE19F2F9D63630CAC85EECA329A0A1877E848FB2A64176411A7FCC2DD63D6CA19452780BBE4EAB208B0FA7B25F21F17BE1CF7C5415A04FCAB687B7D4BA2F657E39D5EFC17F36A1A0E3DE4610788ECC43CBE70BA2DDC33ABF4C335940DD53891FB6DCE20DD039AC + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = 9F303DECCEA9369400C533CE2E162818957E18F65C05A675404CF8637FDB57F3251FDC2844CA194ED97CD021416E764E072598106E9D97D420087087DCF5F8ACF1047A7B4518E683E5AC6DF1EF1BA7EC7A418F12E386DFB7A4A5EDD9898CAE54D645AB3193982F4363DA670F1FBC7AAA1194A03BB76391A78DAE7E4FFF733A6F19393E9C4CC5EB3F5503D8B1CEFEEB7038B0565F29D6CD4460090FC63E3C4DBC7D5D3D107F8E905B21CC9B9EF3C535AA0D8EBCF787631744F80A05CACA3E50968A05F85E9CB0D775DAFCC714FD6D93C8B110E58F9AD1F8077CC80427515FC5C0CF081DE5FD4CFE6EA6DD2F33A2DF212918A3F86BBB8ABA45D808BBC2CAD8DD09E7B9AF1C33B0E58B988268DB39118B2B2090EABADEC0B84FD836DB6944E8E27B5F4F3B2876077D52B4648885EF55DFFF266C7264C46EF5A3CB63588D1A86C82D19449E0C93D968619CA4D33BCADCB21E6787A5E41F0D4E95E2B47E422FCFE5BD7EBC65A3023479330E989B3EDC8320EDC868FB122DF078470B0373732E187110D3964B6E7757E84F177106C2BFAC5BCC43A13DC40BA8AD5C1E772C58DF0F32FF0F10348686CF0662F2F30D41BA48B121E1A146C70E6131E13080CD8B63AB79869AF74E64B9899855C81D20F753F22C67F1E4DE2450740944CDF4FDEDED59927F92A9568DB95E5B8515C07BF4E9ADF952D4AD498F3DC19A2205640A8378A0FD5F + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = 1CC30597732904C49C0F6EAF777F82B1C33B4CF00FA720C7DB8473139266E7304D81999F322AE6803736D242E7408DBB8955D8F1C0B14C6F7678CACDF2F3CC2A17208033E8C70BC5141A072F41E759AD8EEDFF745DF0162C2EA877A7D673BC63D80C0F1DB765F9F5CDEB2EFF214411F95AD7C3C41F6AFEC798E001D31AE22432A54BADC751F7F713B4A3693267BE3CDD3A1DDE1A5E638143A2FAE59A2A359E197CF4E5E1D933DAD9F99773F164173E3E818987F19D122AAB725AF24497CA116EC201B2482F0539EC454292DF4D018E286247F8C857B53816E9623D580D69FAEF60009FE72F25B4609E8DAD73A06C006280EDB0137A25D5462368B18B8F37525C2C74FFEB4A7942683B86ACA6FB1D773E9C92311C4E197C5466CE90CF01C661EC2D928EE0D35A2FCF0EF1A87FA7D298747E44DBAA4C90C655348B8C2771F378FBAF0702EF9CB4B42CD5B26016D8F5FAC1B79A49F8022A180F04F8988B5895822404D346A03622A5DF8AD2E3F6841AB14644F6074A72DCDA253D7C9423DF9FC15D98F49E3B2A1DF2011CEAA61BB7DCEB3860B9B66DF3926A1E79E73EF6C4429AA9F344ADCE7D9A7451AD97D0C9653B916B029C4971E6756FBA775F191751416C3B0587C2FC5043F38D2B6205804C47DA3E85A99B47F1AAF42D9C709F21BEA94B8CA7340FBB8B262DE6C47B79DE5222AFEE7B1C994ED526AD4D5641136F5227A5BB + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = 6D96D224006DFBE8EEC28892FD2BF888FF543501F2F8AE5B6BEB67713173C88671E4B3804D695730FDD0CB04FFD873B0E401103DFAE8F014FFB0EA382333E33985D1037403029F0C642323183AC8668907DE791BDB0BF7112FD2C8BA5D3B933273B51082810C7515C78173DAB93C7AFC48B0A76D5488B76CA0E5DA2226B669A2EFA56F0A2041CC4A60212B2B4F4B02749B211856839868CCC0A935DB1F7305EF356024FC78795690B69CBEA01EC0B5AA8B3C4AC2D1815176B57062DC4742DEFA68081F21384FC875339F40985E85DEBF3AE9EF80CFCA746375492614FE5E76A96E506403FE2CF5BCB43AE6E4E697E86237E825BDB16087EB32D3DBCCF2AF2B624ACB4A960E0781E7C686B0B3A8A0E4BEB1F904E0D84B00038788A02CE66BAA59EF185E2678598013C60208E5CEB50B701BDD2694A24837F786931027AC0D64A229400B5783BF29AB39DF9AECED0CC8B9D6FEA52DE3E9220575B4F3AF6E2DF155A20D87FF3F5ECDC0437CF7A8A648A0BE9C81F0EC3457BBA5D5948149C3FF2411053549AC24DFFC65B54BB89B227499E35226FD9E1A85EBF5DD534852921BEB63BF850EDB495F9DC1876C6A481E9B774E6D4368974BD5A7BA7A16E90D078BD651F128CA7AC160EEC05CB8F3AE3CEE4BF998579B84418D7A70DA95E65E4DA9933EF8E399359D6D1993E5D9753CFD1B10737F6930FF0CBA3510D3BD9CF78F5F79DD + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = E0335CBFA877DA0DDD79072BD7F46EA6313144E633BA2C207CBD6948237CC32A39DB06F951A1A4B9B0B91011158D38938ADC1E42408A2D8A95C3EAC579C922943155624F6318E12BE7EB6A83679508E0910FB6E85A84998F0FBE06B087EFC6EC91EEE277B48D289DD6E12C820D0909E206750C82995DB86031E71B0D005CE898F1CF7C782F10B8CED5370CF27B74C6822910B653BBDD328AE5A4921478A4072B8C7C89B446E057F6DC4692186CAC39CF08E3C3F0C9457FF44DA73B88CE131A1E2B4C6A235DD464E4777B069D39A9EE2A5877E07E8669B0D610513102B00F8E2A7EC210C403F2E398EFF22E193A66376D0D08AB3013AEA4D508EE88EDD361FDA5AA4E17BA899632CB7222EDDD5B320AF686C80F2777D94FA2A3428A47AE7340054D2DEC1C42569A5EEE01759846FD10AF9D2AD2AE9F6FADFF825D184EAF7E8AB9D7C7C64AE07CD5A95F2B24CC3857BB239F5C0824EA7CA0C84CCCD9601580EA7A4C8937008617468B9122B466624D51AF29AE1B66D14C332F2535BD7C3603DE07A0B25C6A260E9E70EBD2DA622ACBCA660D425DE2E44B7E6242A83077BD24025ABD5F0F2F21743F80D9A6F1552C3957B220088D861F3E25823548BDCB448D19B3CFA14FC8F11CEAC5BB262364F100655D5099D564041F113503AEC817BB03CCB9A6E02196706FBB836C28421AFE0AB276772150FD0677ACE7655EA6214F61D2A6 + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = 74B8E6A2245E18432DB073B046FA0D6F63C85A05B9FB3B3098C8F2AAAD938CEC8A8232AC2CC4CD7EA85A29BBB4A2D03311CFA7F1ED8107DA574E659358408C60B1CDAE6A4BA6F3091574DFF998C97CA31E410B4132013AFAE543076BACA1989E7B5DA17E654E664C856A00D7DE43EB3A2C5B8E347EA3B18A94D534C0448671FE2C360034550F145F911ACB7C245A99FE37CA167EB8AE0FF5E9D0B65F255D24DE4239BA87C2E8B757192020B3A28D53861D29C845D4E4A21604ED2D5DC8E4C107CD47501847B50CE2452A31685012C5949E0CB630088178AAA5C9B0EAA6394E00096CDAFDC781833F37C64EE2955DB09F1C3B3767A0F0928863567513D5B02A3D24E66A79EA590D5DBEF5E8B5D9953ED9F72610C0D4F5EAD67B3421E90710138E09BB15959DFE9AE408AFA9ACFFCA19DD083BDF508D8FBA9F75A18F6229A9850DE36653A0A39987781EAE3F740E2CE387C004D47811E3F8B5F8DA9ECAFE90C5AF4ACE449FF7AF57B271B0C3059AE42180A1746EB3AABA944DBA5BF3946907A18B1D94DF4819872A24DEEDDA3AF7A3787AB6B3D5F128D0C3CCAB6AD0C34371BB76DAA321E36F6FF935FD58B590858F894B54BF9997DF8B73939919AF342D6593F31F76C3251AB3812E27F00F3AAE0C0535A8CBF9C6A9D20E26E619D6899ECA8A46526D7205A3F2F3971C60E432CE438F40C2CBEF0F2AD7253B18AD53C3BD8F108B + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = 10B27D45E1E91C3568B990F306D4D0338380C4A24C543DB7905AD8C20B9C469A79E50F7FE705C03D2D1CFF9E2C35FCE1E6E2035D3F464B6D2861EED223C32E960BB223F21193CD4734F36422C1DE6F0F81791D6A5E9DB7BA8C2CA1F2B7FEF2F94C53928695913471B5E1B02B75FB9B0DA1FEB46520F3E8558E03427BF371180EBACC91F3989F849B4EAB233C529006EE02050D85B548344C09CC7A6C6C40FCE5C55348E1BEB801482BA70D6CC5A24B3B0C9A3258B0934C3A41FBF07EF50460E2BDA507711954C83FFB91CF2B2827D5FCC6DAE70DF5882689C573F159A9B45694458D0FB8A5000B109BEA868160FCA781F50DB7B5EE56AE55BAE1FBEABDC155EC46C0EB16314851FE0446AC2BF171D99FBCFBE2ADFBAE4A6387B42FE41C5EE8E2AD1819D7F80BB1B4EC2DAFCD1D06C2C9750A600EE6627F62089B2EE59EA461E0DCF47188D1A8DC80B0294479C7EB03953C425D6EB3CAC6FFC34E484A35127B605CABFA59712141C4FA0840FB520A1D0A8DB4B298D24DE2A7246F28E036B511DB91794E35B75DAEBCB3B8833794B764F936200E7784348AE50B95363C027F3AF85762F3B8E6F31B7C2D8BD18814A723C0DE517F7B3937AF574A3FB5F52DE8A10A2055E8EB4281D383797DF4B8D5DD5266C5D438A10DE4BAD00E4C0B252110CF368707AA2FE785F518CC2F3DA5221634B52118348F231AAE0712DE096D70A43929 + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = 69304677315720D586605521E24D32745DFAB082D2BC23A3165C419831C19468A088D972AC672D7BAAB907005A0AE3910D4F06F0BC5ADF6AAF9E1D8CD7CB85DD166D0FB9703CDC7D45DAFAC4805612137D4720FB3FCE90D69864403E6C456FBD87677312ED7CAD9A28F7A98753265294F4820FA50868CFEA157EBA50DC5763E223238FB2032DBC6DC00C3710B6976F16034A9D851CD1BADDEC6071CADF10C8F9FA123FC0EB81ECAF4C16B8D52A6C1FFE330D114D71CEADE28BB0422855AA1E7E838A93523315BD0F8384361A58529A2264D66D65806659C49B7F80D95474A7965A0733D3DA4FE317C5AE6180746BD8DC70589F97B15E0FEF29D34D6BE4416ACB3F9EBA2F3E34F8E636A6B111DFD4ACEB2C9DE051B942EF021C78E0671F771058C4B59D34991DD2EFC6943C6E0156CC0E3FEAD10968F77BF4DA82B9FD3AB73B43E2890BC8AEB02D7178FAEB2FE1A0A194B1581F6322D817AFF2DE7DAA96F4A725EBBD8C9FC9C815D0A8E9FAC425F278F121084AD98AF9BB119235FFFDF1751AB6A805FA80F43A5682C2FD5BF9241FCA866DE6B5EFD36E692313F51FA8DD64B52DC2FC33C56687417C942680676143A459068401690DF9213E18604058E74011B111F1410531FBED32567AF7A0319B5A4A717F580D16D9E9341E78F717E27258A84A2CDBBB9CA118FD0F81568639F40176A1754C743B4B5E377DBB0175D160B414 + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = B32E9585694532B1018B05B9DFDB23B8924025786F5733769B4913B73B0FC35513D4C0FA1A1A5019DB5FC807ABADCD4589B4C5658A854FC919105A5F08799F7CBA3B8DFE72DE84027B341CB1946D6A4A907D6FFBC15B6A00805ABE25047476B99D53A6AABE9C758B3BF4476DFEFEF2E366617A1407853B0D0278DF42FB7003BB1610DA2AD52422A0ECCC74818EBB4DF264D0ADB9623B9EE0C5371E9F0E73D7FD31A2B41F9DA8C9955310166FCAE6BE9AA75D3F7C532F1502BEACFCD81A034B5D4A87647A5B9E2C49B7BF055A0F4BC3F555FEF5147BB7B9BD75772878FDDCFFD58FF2B09A61D6067C0F3498EFBB5FCB736813F798E213102E47A3DD61A6BF99DB2834DB63BEFDA6E290EA953A8B96FA37650DF510082294891C86892215850A34AF1EE0659694431DA636C9BDC854AB98FC796C28BD6272C9C5DF1D199CE9F55BB575786EBCD6851DAC97924AAFB102491BF4B80351AFD26EF027C745F98607C19ACF96B66ECFACD4C512BCC9A8E609DE5FFCDE0DF0E77760D8D44F12301336247F53CBED8894831765D12221C902127B65DD549E6C32124E0CA555586FCA8043097B9AE3D9BCF899FA06EE5D0A17EC0A2E657E37CF5D4A55CF4C99E9F10691602412D27F9B8DB5C4C2644FC822E11833B32168AC89F2D591748D12B527FD5EAB2291F201579A48AA9C370979DC2265B873AD65266E98FF668579B0F4274C73F9 + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = E6BBDDC5B154ABAB888F4E00C2BFC18A200DB6DED8EBAD70ECE03D10D123C52D4B5124CDFDE2D5A803B8BE98C646E29F64F2BDD55492531B2741C6040FC51F7DF18106D9AAE62F1930BAB26FD5167D516C4E4AFD3035D6AFDDD06DAA59B56BE3F188CBC11529909F6CA0618C321349B1B918C1CEE491C8D7996F10B02E0A085CE790648C586710D4916A528398FAC1E1FA71971EC85B203B83721AA006D7026C2647CEC53296E80EE3FBB6B880BD296D6B9DFFDF40C5537551EB0DDE86E85A72FD280888C08D67A9839EA61849B47FB010540BAA15530495CC8BF941F82B4B3114F6AE055C852B0978ECAA67108AECEB12E78C339071CA058FA4A534558899D71ED36C2164DE0C92612F07CF465F92C0A1987F7462AD303DE358DC9C9929AC205F366FE564C0B32B1E4D65EF4E0B45B2AAEA6A93C5626ED40C597B54A2074F255FC6C33F7DE535B5041F32085274EBDE9D7ACE9B458E7E7CC47193428A8873560C561230B03A72D993100B73FDC24231A39C227B05630B328645349E0025EF02002C34E6A7EF07AC5F7E299CFE0ECCCF01E1DFBDAC9BBC95B09B2EA505D8E74C85B9BC8E939363F3F062260711C44C132E1F3663123EC0B0A253DE7DB1DC2A08481571F64BAC3FCD9EAC737BDB42AA4D392DDF9547126191DDCB2F88A5705BEC9BE7C8D88E9521EF7BF9753155F6F3A75ACD4C9C913785CBFF81761DA8DD73B8 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = F40B4A6A7D88482C5BA65D17038D68184E1AAD676D3403003017A4348A7E3ABFE89804EF65D96EA5A467CAA9387020719184528944AAD358960B66A0E78F2E4C19F244C82CB0D10BD1DF49CFB89C24FBCE8AF1DC6B13DC61F40116ED3D1B51B80ACF08A7A9BADC6318DA75EB4CABBF4798923D639C2C3C24778660089384DE33F0EE7F957C78D4BF8D74EE1E3EA5E330C350584C319298166CDAFFE0C7ACE6A50D1551B30FA386A0ED5C20DA31DC35FE2DDB7FF030AEF1C0F2ECB0C1915554722DDD5A38DF758E321048FC4643FDFAF54AE558F9B40EB38DBE516256E8D97701022B68E1F0983A14D7DBEFB59DAC5073062DE8698BEB9C94DAE0A49FD51A661FA6AA84FE1088EB4E0F964953625A898B03993ECB248EFD5E66380667C2ED185FC568AE58E15B5A57ABFD84966094EE5C85284F3248C92E1300DB80CD6AE08662412D01503D598A1FCDB0EF8CA773EADACE543B867BADE24EFB25518E59E27FC921D8DB6D3AC286BD1ABA53D48983DF63D493F95B88610CBCF6DE2130AD63FB9860A839C3F98F5532B90225D1ADAD79B478F5C9D836435A9C9C0EBE229FA494B5F4253DA92C7382AB388C4F052911E9FF28CC43415C8A82065433D8CDAB9152CC13191F1729EA95693B4BBEBC3B03F298EF6B3739A0F34A545198FF5D2B4292AA8D6A04271463DF95145C99EC769167761690C97361984A665B0D5C2169ADDED2 + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = 92951EAA72195331ACDD63572FE112E0DF4B43CA1B67BA5C9184DA5667A8439E3AFD8784461010EB80178B07F278C0BD52582CEF5B4D869D77E764342651ACE52F1F5DBB5316A36CBE2D6FA455403A8FF0480A5DF002396B8E444B9005A9A97D301529F5FAEF77C0FC04C3B01C7C4907F197927904BC56DA2F850A0767E91C5B77D8A41CAFCBDD5CC768E220E844786093CE425BCB3BF6CF3FE9CCCBF6A5CB84D46AED8BEB079AC0F12F68836A71D8C9D738F9BE5A8311299EEC2AE86AB774D0D8345C6FA7A341223A43DBB85AD5274806B23A3BBE312723BED548F4C64353EE2875A44A8A37153DAFBE98E96EFAA402E7A68BCA09EDA8A744C3BB8FCDAEDD7EC54CA4066B69B4828AFE6285B6909BC2AE96CD62F3A5238987279F206C2593FD2BF4D5A643484A5155FFF290253650387C7BDC0B3FD749EB1A84F7A11790AFCDD3FC72FAE3BBB1C55596584B7246E77D0712562AEAFF1C5316A698DB9AA3524DC4AF4AA4619C5F9CBBE41AA1FF2A0BAD12F17ECF7C90E6FBC20EBF374D6335EF245BF449E3EE5870651587727D35BBED64885A8D375E43CC350E398C3D5DE83CE92354C08E16A6AC69AF10EFAEC2F0268CB7F998CEB45DB988B193C8D35E89A387DE6C212A2D2D5A9FFEC3D4DFF92D66992563C85E4E707730BDB669783357E5ED038ACEA7D8214313FC027733D51B2D21F47666DAB6C6F3E50A335E83C72ABD + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 9107BC54F9AE29BD282C37CF4BE15D2EDC4B5A20FCD8C131620CEE6C9326AF25896BD25550CC3B46C19BB58D825A7156A4AAC0AE72E38601AA6AAEDC4DDC578D145AE8A0AF4E630914B49FCD39C41924A19ED6E52EC150D1BDFBFE2717B9B46D6BE9BD6378761F167C1133EE31981F9B681D674E267B3A01B0F455F9A0C86B7E6BB3EDEDC2DD86C8EF6F6BF736BA9CFC4A20E602779F0CC626E0F3513807C8BC71546DD1E0E5210A6ABDBDB284F90EAEBFAE970CEE9EB8C58A5F0F197FEB3292AA8EE814DF5D86D6B1F43AD787E82AB6D1C01CF44F3B32522609CC51967FA9D2417A8B91461B41A5390BDAEE3763E152A2DB2E8B7842A73F1E05A05F7A7D19FC88F576B049F87E85835EA4DBED141AC1321B47AEDBFD285B6488B7613206E483559A8B0725D3091A04F10736EA1920FE234658AEC2A5FD0F85F50BED9EEA3E5513EE3B45F0CAEE09A1CA3DD8E96EBB408EC6A31F07ACEC024097C20038A6DB8B5A10396C6F3532D8B356BD664A9C3C153D2248F9D8587D21AD3ADB20D06C020F5AEA40E96C776202A17740F59BAC12195B49E19ABB87F693BA0B1B414C4C83DD7474FB212F0F8015D0019D33250BB890079278E027F0191B1A92FC40004050C4E88D1CD3469B656A2F6D1AB9E49118B18701FA85A5B1497F1FD0D3C999567F99D05CD8F20DBC05333F547598615FEE2452861AF0CDE27ACC4D763074DE840004 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = 02D21B8FEE4BB59B4D39D88DF91B675762640994D3A300BD7259A3E97DED831112D27339FC4F59C7F17DABEED310EE901D829A2193421C4D828DF1248A68F6AB928EE87AFD727DDC2766DE071103B144040F9EF22592599A0FA6CEDC2FCD9A774BEF862D2D51C8E2538D1DECE789A6756A1F9034C0949C3FF13190A141F3DD4F015A89DE643D65E5EC4AB25300739892A81911E3C48D8A58239203C7E828E8867230E46BB8BEFD018E9ACE92061E2BAA09B0FB8C0CFA7FD5024CC65826AA96BDDA6E21ECB7D0D77FE651CC25EC260C1C41F4D0DFA82963A2EEEF0AC0C6123D9726A02396A0612E8BA6CD4988C132E7CAB1B5097174B6BCA798C7B04E5F7175A3A5BFAA9D23DFCF5E531557BE9BA6F4B5D806287BCDF1CB5034FF94F709544E81D856CD8A1380774C5361710460D52CDFEAE9AF4AF3E9DAF7E6B679A6B881A378A1254DE7105396DB24497373430C36D24BD49425E7613FAF651747217EFC4E24A761CB4694A2AB3E0B43A8A4CDA5EBC9D7299B27EB600122C7EF54703E48F51DB2A5A8F3EB59A2C174DF966AD728DF0BC2E94418775E0186D3A527F86547980C8998B32F0365D9E430D33A92CF081A1525892FCCF3D8FB4DB1E0A728A856F2E2CC8EC4A08FEFF53DB85C6620CC8B57106097A96B668F97C3BDE8CFDC9600419B46EA24839D27A574BF63147A97B2B48CEE1C6FDA32F3B945E36FC03EAB485B4B + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 76919B60D28A57717EC190FC9990E32020E6436828D90D8A2F4A7AD21F18A4F5F1CA753ADCB0AA010D40334D1E58B8BD165B0151E631925055F4800DC01D466D11E88AE945545365B7F6072B36E11CB6F15DA6BA3B53E12473BEED09C5AA275CAD795E03838AEBF74A6B1A3371344C1E3104CDE3C768026963DE2ACC8935F5162D1D09C966B5FE2943CC723E8007559C0537126400F1A4C3D9004DF88126A23F9051630DE9FCAC524BF4A109CCCF5CD7F7972B64FCB5A8E5A78A85EE82FE553AB90754CD12EC77E2E3CC09AA1F172963DA44D29FC7F95F0C7C1207BDC858FE8B9785EAB55B6EE33612863FCFD1668A2FB13715F7910968708F22A9A88D97F84EF4212551D8FCB05992670AAFC9EF5CC34F0843246241C9EE011470131E0E6B56C9EF6A0E38423943BA502EC9D08C39F70797BD85F6D9207684022CADC282EED833B43CE450445075013F1B3270492AA6E412CCE8E9D9534C0A380B45CAD9328610EF3FACEA7FF5199F1E4D0342163B16961B0F98E46E8615AE2CD74D92E2DF30A3DF00BBBA2AE43A67F51EC52CDB37E00D979ACE6AF3AFA34A58B8CFC07DDC3C98FBE4A5E18539D03ACFA18152F4CD32CBD84AC30A99C325EBD57EF2870F36C711900CC23539BE7C19DC94F75457BDFF28B9B5DF876B5576CC37FB30B291DBF44904B36C3D96747DCD92A1550CF9323F358D15471FDFD35C2F4C4B104CC91FBA + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 72A343DF2C1854005653E1EC9C8F9492AF9EF7FACF46DF729AD910FA3A8B830971D22D5E017ECD515C0E972197C87968FD05D59C570634A3864DFEA159229746A967A2847F0F4E3C48DBDB21EBFA400E18BF289A2B146758EAEE64AA200287F7F55E57817ECE0470C35531D35BE824AD7E825E7A1FCA07CE5325DE6E27D6C6BF1602EC1069117E230ED9A0873D6538881992FDBCE93A4E12013A56F4D22F5846B4E04BD15E9AE9590C703EE7AE346B860D1B4B181A963C1DCD36AD485AA484CE534138789C2874AB5888B70E278E30534ACDF0D9798A44E1701D9447B5D6FD212344603A269A9D2E0437304F5153FBEB7BB5A1E437B63014ED6F01D4F6135EF189EE290E30C25DC2F63B7D8CF19E9D7959EB2F61703842E0C89EA487441B9C17FA6800A63C411F1D3FF4C35F1E89BB820D60B25CB1AD71E6583390E753934759A5467680405B1C9B6E391D6DDC4510FF24496559FE2604C038A5DF6638FD7F7880E0847B880C1628F47BEF49689D0C31C4867BAF6FCA08FEA898056DCB1716C95341ACA367BCD9BB372A93D2FCE947B5CAB707E744F15FBB85230FE7F86A9EF7C36069CA79D781D1CC76193D423229E51CE0612A2D61680D35CFD5AA482739442F94D205D72080BEC7A259B23B8D9B4F76F2A75235CC3BBD6738FD870905FA21BFE1315B0C678D7DB5F4DF36F5D43D04C11F3BCE3FB71B3B7AE410AD51CDE033 + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = AD4DD99AA71DBDEABF22FC7C82BB839F910A22E4CEBF8317899D0AF87279EBB321C442DFB9083C4676C16506C4006F18E8BF84EA9024B1DEEE4ABE6F90DBE0EFFCEBF4CB7B94D8A8B107C5BC3198277BEF87C9760AE2BEA86AC50C39A666AB09F276F2FA4C1EB5B8C37ADC3B4C9DE4BDC28074FF4B997518B44FE49B0D4E4F83CFE9E12EF7389625766A54BEA82DB3FB57276F47C418BDD5F20C8146C792DCB8E42C7ABF09331F599318265776CBB19C65BAC6DC4A683956C052AE5CEA02F1E4EA690F9E5D3BF3A06A726F0EFB6DAB5350753FFA7ADC477E9AE454C5E18F9D64EDEF0157D1F01FA78BF281468F14D79C39405D2B5B604C0EE116731C52C2432488C45A3E56D3F999855631381B5EF3C99A0352C16B92812A4889C1B8A72C84273A90ABF29C7EAD82F2E7C6DE67E7369DC02FB0F1D62BB8D245030A6D26E930476171547F33B9C9DBCD542F04C97B0A278D24E2BFEEA0209FA83D634AFE65EC9E7A5550774EDEDFFA36250DC5A400AE5FD6696F20E5FC6AFB15F54C7240A24CF11BF16730B8E676F948304D3EABF315E95B723FFBDE6D931ECF3BE6C69D8CC82F31D1F499BBAD8ADA9654630E7185BF6C1D882DD700F7F1B1ABBF384F58994D55C9E831ACA847B8F654B070F424267685103BB339A4CD43DF94894E912B64ACB15AAC65FD496424FDF02BE7A96E161CB6A0034997DDC918F6FB604D6DD55B4D92 + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = 7623AEA16ED0AC8AF23A7911BE015D44F93F3329AD1C0023BB9A6E486477D9CF5307B358527BF479FDAA473FE60CDCE59C33C4D1DB930057438CACB4006D2E6C327B3FB033BE384FF07EB40A44AE4D39EA9794C29C9F3A91F679EF4690C41422B193929654D00D44D06FCE9B35E5FEEA5C20CC02FD104A74764F3BBFF273086023AF4AFB3A29F9F9836C17C5A883BFA0FC4D8FCC9808FEBD82DF88F7DFC3F715C8B07DB1F2B61403CB6F4F7B18F898FEF9741E016CA0CB3A4B8F54F57DB2F2BB63289AA38A7A9FEBDE32089E4B479D9CF184F7D1C418B648CFE7E6079F7DC1CC35F22E31E620704736B44FE1E3A677CAFF61FD956883E6F6CB278284A05BF2B4CD9B832DE2058FAB356052C55B03D245BAAD53B86414441010767ABEA201E26F270649EA35B0479A66ADB9439C57A77E84B754A7E328E4AED0618742CD49AEF0AF116462F3A5B24343E141FC51F6B9FF376A30989B17BF4CA9DC2ACEBD4F22D8EAB082E62FFF99CFC55CA5E7C4B86613356F1CF05A9A3E8FD79123FB19627A75810D3AF44213DFDA590245FB22B48E8EC5F58EE1D51BEEE4D6BE0BDF7E8D18AEB37995D602E1EA1FC25D0D47D64D8A88B273FA8CC649C017A63F34C140A1D801F2558C8639FBEAACD1D961893E111450B85ECA907CB3B66027587FE9B39D635D01C4C369589B9D8907D54A9B73FDE7FFCED9FD443B18892F29FDEFD7B3E717B5 + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = A2CD7AE2955E2C2CFDCC374AD99E46F29FCE072E2C085E0F02281A4A85A822A2424546410466299CCA501BA5A86C12085320D2D0116196CD31E67E175BFAB909E279846C8FA2CDA475B0C9D604942D6332F3ED46E81D3DCA880527DEBABE55BCAE22C98EC42822BD1874561E7F8E8CC8092DC461577F2AE548580FAAB59AFDFEBF359847DEE5271C2E972C12D13424A50A9B3DC3DE5FA6F5B190F3DC060481118A595A8859ECDAC8C57FB16FD4DB9802C7BF344A68A0A91CA8629DD0A8FBB26FBA0E21C4D953626F66C0B33D30C2569D73BBEF7ED708212B2F66DDB9AEAC459A11C9862CB5674885619D240BABE380BBF23564F6D946D03AA544E348943A488C0FD223B36DB5B0EFBBE5C4E1253C3FF6C058AA95A80925523749BD228D89BF99F5CC681237FDCC8C872F652DAE6306A20D9422818A8DE2FA68C5A334EFE828A20A48CBC49EB6D7ED779B00DF50751446D0C850FF1F096FC50A03A8C407B8362CE03690D2D5699C70313B4F2D39E18ABE998EE73DE38308DCBACA27B8F6CBB3305B35C98B620A811C94AAE44B5DFA2F8664FB678FB1D73DDDF9FC27CF693DB9D5CF3B46C185B72C33E3BD0F6FFC01108C8A65772ACFC13DEFAF21596F2C9B9512F369588F6F8767FF61436AC67ECA3DE25D6C5A9746AFB3B3464A49F3A583740C432ED806BFD16EAB27D59A12975D7D09F7ECCD67C2527333FA95509F7209DFCC + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = A74B8704CCA1F4234742A5C8AD6B138E58D56281C98D95F76BFC0A0AE309D3DC227543F9AEE711C85021B89F259D002188F4E753DDDC4340DCA27B84445AFA007A1E502A1903A857583796BB124DDFD64B5C91B69CD9B230F27DFA5D22A09B07FCA1D860DCF316C22E57DA3589FB0F07ECF671DCB150913CE8606DA9CE39A5857B8382853056A5930F25E3647015B77B2DF4954314F1F8B1C774DE0BCD1842CAD3BFCAF5DAE8AB9D77290DDD2112AB060F5B017630C318A1A3DF5C15E6F8AA348EE3F3C171C4E8B98CB4A2956FA240EB289561E7CA30EEAA9CF79683DB7A2B0F28B3B1BF30BD5A62C96ECC8BD74D1F2D131295597C668838A8D3B20CE1A4EE4D1103DE547AC21F6442DF2CA10181319C76AE5827FD60EABA7C788CB369591E429B5DBBCD95049BFEE2A5829FFA0417772DB1BBFAC2EAF112B9712A02C1ECE830E17B22696AA6688E08BC705EA7F7010684D7006BC0A017BBAAB1D6119B1B589B326F1936C82C470245298F2167D884398ED408814323D369BD1126031DFEB56A160F90359054400DB3B3D267D42FFDA5BB710643721871DD4DE52446004AF00BA55706C93BEAF01F8D77664AF27AAD65C6D61FAE24E65FEB4310AFE6CA5322EE4DD2A55CA5FD7E651AC8D3118C0FDDAE4B2E42862AACCD8CD2134340DDD760BC7918A461B16ECABB601861B58EDEE6E78AC3FF75055997ABA8C0C57878ABA5A7 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = 4E12A03995768C80408869A5C45B174783EA2FB5E4C153A2C014A3FB8AB968D74C9B835D9C4C5FC304B5E68CF9AA72C2ADFC2DE961CC9A90E1D515A3234BB79DA1D5FA330C03DEFF46D304F0F0378324BE4FEC285758B2DE3788E71EDCD05754366C71B783A26D105A48BBF51C4F4E769BDD19CA477D80FA55695A04B06A0970B98BE48EF1E861F17B9540E63F54B6156FC2996B2D2CA69326E0CB7A4A5761B39FE089017322BF23B7B5DDBA1490541843BF703508F5512117370253248F23F30DCCF27061B8F81C1090CC8ED866263FB50AD6F3A027EFBDAAD7760EAFCEC0928BA40173A50C61596B75AA4D72986A8BACBA61DADDA139374D17843735136C8DC0E14C2EBCBC9EB110A682CB77A72E790C68E11848431441FF70CBBC513A9D389D349A63AAD6A948A42DD798F1A576DF57ED0613FFF5F569CE5D24061A386B2A5B4B1FDE6E3359CE4125241628B9A882CCFD34F266BD8B7806392D52DC8CCED80C52ECB6321CF3B3C911D206809FAF8FDA3F918F93FF507089CA4BD647AD4B5498F0FFCC7563FE5DB7BCD613B84EDF4A95A4F8D29E3ABE0C39C8A76B6FB5DB51DB09A21A48D3E2C0786B6A13351715F8DCA25EF288C46631B25D55A7473E5059D6A16661F948D8A7C1B4D7A21B531F915FC5A18305B6FDAADBC1F201C9A09DE221ADA6DE8BAEDFA4614E578156137FBF43896CB61CE38EF386FB68D55311C63C + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 8BB1E121FC89EA0F3D79EA823D876EAA74B6CCFAB369E7E4783CBCD3701875F1BE59B0F8B48C2587E7001B6E7ED1821E2649069E84201583B2562E5945AF5CF734E2F0C6090DC8281969CC95C861ECAEECB1CDA78E8FE119B60B05C54484BAC951B7784ED025FB878E29215916C5886B85B24BB2521FEEBEC3B8766BA14FE47EE0E81DAD68B238905377AFDBD55E41364A12181D46D2E272BBF1FBF41A83C29ED88361435396614A23730D84684D3F5A622A233FF1AD5583FA707DB008E3EED5A9716219EBF3571FB1CE9842D4A37B519767B7392F008193DE676F0CD192CD6D0CF651EE5F8331B0982F150A7DCC264C1465177AB98CC590BCA81E981AD2E98E47D2D855C0A74895970A96994700A5D55CBBAEA2472C4160DA0EF3AEDE987A99065948ADC558E7CB9A952495F70CEDE70CE0E3DECCB798EB58941F38C4B13C28B2E5CA4FE3A7CF3C973EB3391B705B9E9E7689E264F878396F438C393EB49E70D6A2BB0A6A92F80FDC2C2F70AFBB2A1DF1EC4634BC0CFDC9D1239182DFCFFD30096E11FC4A32BB44CF510A44D35EC3CBFC354E088E0B53932D0DE4DF83A963D902971392B74D95C475D26184559F6F9F5F91502A07011B9070F8E9BE5F5D1E599634E3BCED756A49AC7CB273396F7ACDFFB3BE1E441E8D8ED0588D0931353736DC1D9E889650B503A4FDBF5DF7B5708D4218404306B0E11AA08067B7DBE63E8C + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = 1887576149594F7FCD27145B5F535219BBC4313E62E7ABB6393D6015E8E45B48A211300F8303FB9BF370FE0A117D268624BB741E0BC343487015872E14F84B1EC1E2FAEB828F521ECE9E7E5EFB281DFEF05D86BD8EB0B51CF4C46D94EE0AFC72DA29C3D77EAEE07E24035A68792E8EAB1E0B96282E1D95B1B9D36B09D6A2E0EDD37227B0D29F9E490F1D6156DFCE1554E69A49B7660D288CCB6FAEF9A40F656A90A825A07C5EE0730926CEE14FF2694A3BD105D889C88A8CA1D271727DD0FCC0DDD1CA2EE955D02CF8CDA7F9E3A00B4362C69AC631523345DABD396354AD862458736D1BEFC4BC35EF4775F02F017BA2EB9FFF9229292432AB5603BA20342E627D380824050FF61C23B5E789DF2E835FD56C65FEBD001EE6960C782B627F90A7087EE24D32A85D0D780A8911945F3719C5CEEB9C7024DCB112C0FCDD72237040C5E964CA57EE504849E3015C200C44CA3A0EEC097BF718F6959C4D3E39455976F98DB5FD84F01EACBC1B2B57B6483C9E3D58EF76E18F8FBFA341E6399A3D986834E315A2762D239DBB6D1EFBD60BA4EE974523D2EC7A9F0A171484D3F09D59019FCBB6A480ABEBFC06A21DC5AF8FBF1B5388278CF84311E56329A6FC3A9426517C3CC581C8C8EADA1C656E568BF108F66287FB66A405EB307EDA530C18DB2CDEE78D8DE9DCB8E93F195F54086F875935F7736C7C85EAAC106F00D28D6753843C + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = EA520B7CEA0750C8F1AE4D7E5C80E95140D5A980D68F48807E0408A0D17DD084575191EC17A8D5B3D7A458774C453124509AEE866183DFCA7636D743B6B5798C4D62951D7DB5640D1F4467D8703E08411270F3493241AEF38FB757F00F0EE6A66C732F138294076DE25F0811E8E1BAF602E9F38CF92E96ACF630EBECCD62C2837DC0F361C014698B3CCF586D372BB0591AAFE68D138E1FBF05D205A6124B0AE5F483BBB429EB1BD517C799FBD2B9A154FDB7F687DD320106793D95D2ACECFCB4811C627B3287490116C5F5A3082B0C2BB3B703FB2BD92B65E1CC07C61E1AD67C0F5B45C33C981E56CEBD6C12D00D9D33C5DAC18A41C1025AD24798DE28518E5FAA6CECA295CD13254367F04CAC72FE0A0FE87214103FBDCD9AF3FDE362D6B7C0997B86CDDAB824210D1896DEB7C75A3EB92BE415F450CD62CAA1FE4D7A9DA2E8B57F2C31999F81CA8A22936684133DDDE9FBEC522C92B928191220E75F8FD20C29A1DA662455FE7B94A2292006052B354DB4F03375ACB65044C2FDAEB977CA8E81318D2EA95C3981CE76DD9292678BC5F05351D2B4A4A410DEC6790DCFA90AB7D9F8D7FE71B1A1E22BFC3EF06F21C7C99F01E11060ABD9122DD3FFA6F0C2B402D15C6D4E8F8524A5AE6F1248B6878170F8B4A7D95C85B04587066E340156D80B20E708F5470801F4A5F46A74DEE3332FB0ADF0472CCD592B2462EAE969AC5140 + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = AA38A2AA24D83C0055C05A4D8E5FD6E538DDECDDBC6876D816900F4329A5E6D00A25B14CA626F3C9185590A151E438CEC7164BD7135BF60AFB78AA0C4148FEBB606C50A0449360952C1BD6C4654804102521315E457AFDFA185565D96B6B230A4B36E0DBF215B19FB9B0BB3CFD6A8CC2E4ABD6A1A50D978EBB5D351F7A65D39855E9AE57D7343E8FF7EB6FE7974791EDF14861F30A428CFA9FA08E3EC4C4F1C6C5CF29A06D777459AECC379BF17E89A54B753FCBF3846835CEE9FA834CB294AE3699893ADC7DE63D96F1F7CB60739E7D672A9D70078F9903F6617EAD83EC5847424EBDB89B9A07762887F3A4CE8B7A839F0FFDEE21822DDF92A73E85F112D2A6E023C620056E97E3435CCC172E768A195BA50F0238AD3A474FDDAD6ECD5B90262170DD026826F69CC2ACE1D7D9AABA9F14C73C6F114ED5E5F75679679B7A2ECC81432BCBA993C4E1CAAD6DB7D9908B56E1404EE5080641A4D261D488457A1DA7D5E1F09BFE9DB23E3CD4BE23B8FA84C93011958D57588A06D8DF433428AA13CEFD6EC348A52E0076564F0DC849058A601137835F90478B41BD58D24ED9B5E4EE5940A0963BB4FD7A2F5817BE1903AB7D960F58EF88A310675AC0452AC6D1EE0CD65E2114865C4ADF78B983EB7E894F28A716ABBC766A1BAB1858641C8CBA3A18BA55584A1FDC2F80A61C36A9A56CD0289257CA0402ED99BC680AADCB29287119 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = 42DB17A940111F1A93B0D583F6173991252286BC5098E136D27196697AE45B878767E17AA8E826DCDE186CD76F2024E6772A0DEC4C4A8DB71959D75CFEF0F20CBCCD85F15AB5960C0CCDA5F14BA0F02958752A0494D4B50E2CC67C554196BFC061F651440C6812CF5319639F93DF1FE51D1511DF6A3A6AA6538F46EA2D00A3A0F64B25CC9EE8AD05E321649987C36387E2D31DA77EDC1AFA9632D77EE2D4ED54992BD51490A34DD743DCEC567DE957D55505D1D8DD43BE3309F25AE61275203BD9743F3027B9F34B34DB7504C2D7FD1AA99B936E7284F9E252DF2E3359D868C0C83AB140E14C01B4B650D99AC6DC54AB35DD825116EA96C5FE88822B2D7182FBE9B3F3CFBEDEE129EF0814C171A207FC9793E1EB72EDCD605C3E3B1534106093AA550BC8CFF8DE3C5D7152F18C87E161DA0FC90594161F03B0FF9F9EDD41F360DB7347B067D8FE1E901D78A77F1EC44E33ED7AADD463C7D676E50B03A92B5417628CF986D5F93197333BFEB5D7B6A7C7863707B7EC032E3F5C62CA6A02938313140E62479842F4CF68A54A14AE0AB35538025920F317039169636F35F02A8E05C344E15492EA02164C62392B0795D4889F7AB68AC969B3B096C21CFE179833BA5FB857751C4713FC928B4623DB593C9458AA36BA3B3693E07C3C5C84470F77E5CBDFD9770877A0999DCF8FF1AE27F51B65AAEF9754E8A71739AC00BE0F9458E0 + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = 82F8C16B8487E008284598FED9C5670C86FE35C8DEA51AC59D38722829C94094BB2766AA4CDA3139A15DD2AC0309253EC1A15B2969F84899637D3E2A5D55ED1E87561A546A2A7C190008BCF3BEC233EBD1DD55242D7FAC3A522C6016E62670F66EDB6290AFE801630E2BCCABB450E4D44A9BD8F63D4B04E9F280A2A0972AB229351906F5F32DE714867E8F04D276488F2AA5E62DB8B634287404A73723ABB7E152107A6DA60F0C7EFAA953DB706398A09835E5EDD99393DB5A162FE3E564298395FCDAAE8FA7E7A9081B8E14FA0E99E433E0D44326DC2E9E33378EA719EF780D303589F0A63841B5D5D74EC6E2BB073B55287A6419BC6AF759D13F8C8875C372C12D392D7F80608412EB9A92A786048BF9A6F03D11C48F48B96FBE8BBA329268242A5463C49B112AD71B8EC42A9A7F272F25819509E5C7A10D9C9F1A386E034BE2A89AE28917CF014156211C795D9D6EFB267D8F2BC48B5AA767CF8269A6E349701E77EF69F03FBB56C8E2A0C90905F1FDA649B75D716C67894E932C63B13911C80339A1DF4B7AE2035C7572BBB599E66E7CD9CF447F4F1F1DEB63F64508EBE19485DB3EB98607F3C87DEA60FAA331310FB4BA5730CE4024E07B4B134286472BC7B6C816C3F680618941F96539B81DF82CD15EDD426206F363A9E487C9FADBBB9DB90DA8F2D73E940C515A7B4FFA07443D35CAA0C89EE9E511D66C2C8FE2F0FF + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = 706CA15167517D46C47844D044D0FC94CAC5D23B90BDB64CE0A2DF052AB37C967E57A476FA23C4D3C160C47371CBADC07A48D6A7C0E0B8CE8B337CAC62E74E10B68C6FBB109B03547CE998780B605429D6E3061334C702B218C1D6686E3E8C7FCC2C4DEC034B9FE68572B45E58DE9661216D6A232D13A0EDDDA45892A4ABAB666CB528694DE50A50D1368BE99D257BC8C245429FE55000D3C9CC861FE9228E6EBFB7DDC53148B530E2FFE153B8F40007ED321B4464C0BD5DE00C9791073B199AD57F6C242F7CB772FF05A06D010D156AD35DD0ED74C9593855576B1C7A4360770AA88BBF56B65395B163471E4057D27B59B554EECCD9AB8F24F457E400150C5F83B55D703620D68ECD7A01A9B3FEC468B75C0F8BBBB08388318D50D38BECDCD30F8644A2EBD11FD8E1D103AF5F9B64D92BEC64FDDEFFC73D9932871CCD1DC62515F0EFA438393109C638F5C11405FD923D784B217F3417BEC855A7CA290253CDD902802EBF400015CC2AF646AEF63684ABB39BB98AA598AB767AC4DF96CDF631D0500BC61DC822F2C54D761F0C926E023310AC11F3748E8A75564FBDB7039CDD3A42B601339BE64BBDA4B3F70899700FBDA55D1337F5E33F5B00DF97E6CA218D212EB771ECFE27B265A8EE8AC9D9F34BAF279C49B318EBFBA497CE77233CAC4A9146EF5DF7B93672A553A3EC46DAFE8B7F93F233161FB91F5BCA89DB4D5F2C42 + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = A90A149C4B7BA649888F90721E9FF91CC3589E2094B07909959C9A15FF010C610824F7A49AD3CA2864089E93AD7075C1966033AB55E9263871DDD56943D568FE0867221034994B74A3F855544E77E313A29EFBA367F309243DB8A3027EB4DA5371439CF39C21EB57823E1E6C73C0707356B68828AAC6C8FD05F222F4C58B33CEA1AA6344DC33FA88D9A5BECC263B7CBF00045378910814C77C2224E56D913D2CBDC48EA6700DE0E0306B499A3888F535274069E7ED493C12D46D23B7344CDC11B3433E39ED9CFAEA6787704FFD63BEE0072BA60F526FB52DADDB41EC7E8216AC2A79BBE27E315A2E2824E1DD0BC2943F92393550AA6DC75F1C9755E5D8F811CEDBC2139805D5599C1E1F6D4F56AAD38E91FFB529A4820F260D752A93D7BE57BC2F75234FA615AC72AFEC7619E0F26071D8A3C90F1FB486497D5AF0EE45FD9D0B4AA0E07201B9E5F277E73D48EDFBF75DF8C3F1A635A733591615C392CE37738851D2AE847C6EB9AB5D91DCDA7E953041CC6CF02F0E6604E8AE5756DE528645FEAA0E8F1C5F6F0C53ABB72F84D0397A39A7FA3C7E8BC72B237E0D8B81C91ED18E09273CA20B763D34B779BB79D95C3749AAA703DE53FD7FCFB361E2D3E13068FA076021C1373CE99DDA0DDF931D2BEDD095A3F95E41A0B09C56D01253F29558348D6F841908984E3096A7A0DA6DE77A5DB124AA442EDC394126C2F67B1B4A0DEE + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = FCD5FEF0DE750C6BE7615BCB850676E9E83299C522BDC14FBAC162F927B0AA4EA6DD76E43B1500C72BE0D569566B57054B9340216904D518ECDB25EF39A62891290A1034F262A5E2C0FB37333BBD24323730CFD40FC161EDC37EEB7C69769D3AB1F1454560CA78FB96CF133689EF8E75F57C2442E2CBAE4F5C648666BFC7FA5DA87E7C0DD4816292DFD56B2BCB383B3FF971185B724430F9596F3509C767E159873614B1D4EC45FA8586EC2321B791560785E5E3CE13AD5E8E1550A3290175ACF2D78CDD17C0EA205ED7C1396BF9DC0844168BA3A66B4CB01C22629C80577DE68D72EDB44B419B13A2DB6D67877D9CC0A0201C14DAD69F25C88C3418AC45EA0D7ADA58A02BB7DD0C276DFAB29164E1844BAD901ACB6374AB75E21BFE2F3591B2C8F111A4606C8C52D85B4C073FDBBF25FC81758214CA172FBFE1C6B14476532F35F981C312739CE435F7AD3D0785DCD648E2A5391B64525A8785F3E06446C6BC1E09BFA19C7CE52651BFE1A2E355CD7C1C9CED6540D33194A2212B2A8768E7347042B560F68B4E22E42ED8F51C38375F9FA45C133A90D4F6F17CD5BF19DC9E1035DF78F7E0077411BFD0FDA23E6759388AFC45485BF271C8FDB316A32B898C3D6DCC0738B3AA043ACD1848FB7C6FE86A844FC764953D392569520E78FA11BCD6B0AF3BE8E7BCB0006F56881889CDDE27870FE7C9E703F57B6CBE0D6372F2322B + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = D4C1F39098D123B0DD88504FF6AB424E31F5D3726EFBF86500CE730BAE87EC671C97F768F9593C8411B57E306B0CB394F33B866493BBFC3F089FA4E875858FBCE814DEBB905FA7249F7DBE737F5F6725CF76D2A50B319D96BFCD55E03A6E923B01003E6D5976A66AA5250C337C9C4C402B9733C8F626789FB23FF1043494A73960297CA9110D23DEF1D72B601F6C42CF83938003B3A386CDDED4A70B24975C958597894FD6E2C412CDC6E32EA7F398242F84D4F4BD469DEE9AD10B717EBAA26F2481224F47135219231279C36867751A476AF60AC4AF8F151F301CACF5D7890D62A135B44149CC7405208212B7547EC0617ABF96A7741EB2E08D18AAA17357B4F2DDAB92257E893CFCB91BDD73DFF3F8E6C28FDF38DC89094C719E69508AF7ABEE4D1403E0F139348632A45708AAB27D4403F5D5B85A81AC72EDE9E2448F1FB87571CCA3631BDA9F9D0DC060000B03450FBC7D98AF74F0B0A8A1BBDEED01C4C8300B05E05CF7AF7824B246666EB53119FCFAAD3C7AAEEFE0274A55ABC01ABF0A38189E46CD3CE56F0A4DB8E9B498EEC68E03DB7FDC9177230DFC72F45A41A7064F42F3C527A5E5473B2F68D1C8BA960BD3B458BE2BEF2C3623B38A66266EACEA3CC93C09F4CF566327E78EC39CE5541E48142FEF380AF5161ED9C63724FA16384F574B1D1CBC3F1C852028CB9A8D1F411D6AC119E11E6202E566B49341D40D19 + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = D6FC1E61D2BC27CA5DD5ACD290C2831070E66C38F03D2DC91184AA9EAEAF03A28E009A1AE1C775F4274B3AE6B5491C9B0C838CF90D185FE94C49EF46ABABA62D6ED1F550D83466EFC6B97789CA36AD1A6A3E6703A5DA9764E47F29C8096E3D317FC7AFF0B79B1C278610AFE3F5E7FA7FD52FD36CC9E7000DA809346281EEBA1EE9BB06AAD61F3E02CF4A5BB7B211E2437ED21437FAE78378F28B14184B7DE7E80E845837A483C0C6DF8E233687F71F0F9745D585411F103356A0C474F9238403E40960F63A3418199325EA6E8EADA31C94F78CFF1B83A2EFA4E49045E0CE34A5C61025399328CD7F79A1E4CC792D8AE9F1AA954235B515158BE5F4064B889C14A3A83AB59CF26945DBBF70F3A5F3BDBE8674546D6DF384C40D56B286D309A114871BC18E144D2334C88C32F141F6DFA70859A9FF7D4996BD3FABA0299794E861DB8BE8A324822C4B1DFBFA70F8D9149C3DC01E0E556DC744C98FC2F92C8600C856BD174759AF467D6618C4347366CE04D06A0EE4FEB9A27B79BED01BEB7DEE41859C1306939D55B0E319DD2E0E001F6174361CB804CD3AC3332B8D8A1D8204D5255F81FAA0BDC29AE71693586C987E35C81E314A3848B03CF7B37EAEE2AD6ED4736E1F20A098DDAEC612AEE17294313DA16453D7901CF80FC729962206AD4820B00E8EF0D999857832256E5B784E8A89DFDDD38F6E15DE081A82E19A2A05D417 + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = F61115AE2FD5442877D08E39A57DF8D4A5F117D57C2688617A8DA64F9482F5A817E0D3DFE41A9CFF331F4D5E3240DA38E43B7B87925FE378512CD83172FC3CC2396A8ACDBF5010CA576603581BF7DF6D7529423709B30DB81620B9F660B5AA82EA6C98656DA27B4709DA85D364EC015C2EAAF2AADEDA2C040BADFAB16F7C2AE39DA6A1691057301B7C3252884CD9EE079E68857D6D3B7F4F85556140DB03421F09E98B80A8422500A349B5C0D8FFB25433A4121B7682F8517500930E5F2766C687846553C9F76DE38A0EE41F76D3A22696B95774BD5EB747F6445D8044147EE38B127892F4B0B1932470B454F8F1BB697A2F6659AB13F3E2003C97D292A7878E12CE47AA9619FCFE2135D8890710B2733DF40FC75DAD57B99042E4F54AEA9332ED52CAB8FFDE5195EDA05368B09E9FD55731DA20012A7D255AAA33D74E22917E58BD546EE90947A16044B14DFFFAB05916C382D1F038B63D2F20DC09C117C8724A4DB3970B7CB143B1522D010881FE6663410DB3400DB33B62A6E70DFD48C2FE773054E1494944B60FC5D3BC803027C4B12E6A230FE41CA4D072F3628D20782CD7DE4E98A29DF083FEF503E46EEFA787F8B0E9B1E7C884B9122977532BD71FB63120C1069156516D265FE3559B18965E968B9BBD653484866847E76262D0CCBEE8FB0314A8C40B8C35725337CA4A241592E47D5B8981D3212C62AE7E25F27495 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = 3BBF30FAF9241C9E3E27EC2C17AB24AA3673799371528CB98A6D9B91E553553680505D7CD6590377AB54E5DC7D7C72035300AF651AB0EA52ABA9FE1D490EE5C95B146138F61F957C5CEC8D4633175C99A00590DDB987D2E032547D99C691B32C12D7392742A5AE47D03B5A08A544548BBEC45B9580DE1CECB7B9F06A88614DAA116D7200DC8E81EF3C7C5A716044133D2A66FFBFA35E1668FED9C1045DA77DF92564F60087D173F71B75F040BC6CC149234659C1213BEEF18C53CDEFEF2FF466A2F16823D7659E04AD61F6B23DDCA8BF35AF892BFB8A952DF4ED254FFAC52CF71F4C872EF15EF11FAE9967FC8F1C218E7CABA5382936F4CBBDF7F41AA2A239BCF36FE158B7D771BECF8981DDAAAC31F744D949396623CB3BB754189FB5E78DD94171C1BD6AD3953DDA6D4DACD3B57D37B1B73FAB0D2CAA0B5B3F6A2C9F324F4B93C912991E50F8872BC276451969FF379AAEFC3C710DE16128136AE0D1268D106BBCE2AA4D2DB0C5EDB171DFF104DF4F7D49FE017C82083DD1E9F7DEE489BB38CE091C222C3A0898F17A0DA1D4B2830C7B7C3C372FDF2A4E9CD7B468107513D6E3ADCC91F662218A7364A7340966A4D692CF394443203DCE8B33503AEE6C1259BBCF36351AF93EF01764BE4863759ED0ABCA9E59CA6004F2E5738AF7EFC7BE8F9A1E106551B77AEFBFF9DBE99ED5ABB12207CF38F7FB9BA77D776FA0DF3BFAAC + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 32FFBC063291BD2C957DCDC76632DD1BCE0DBFCAC549228D277D81B6ABBA904D43330EF8081E164D8FCAF520E12B388C40168295A63D365B57A7694D4C50812B99C86E036116A07F0164B7088537688D4BAF1E0FCDC84C6DA8D92789466A606F1EE25CE7461FA65DF04BDEBC24A3A4BAC3B02B469C8E85F53D9481DBE244DC67B8BCE84CC7175113D4D7B2413601E9140B7802D9FB712938E9C5034CEEA753B7C77C08BC1C03D511ED0B4D5007BBAC38EE76B675B73AEF8623CA9CCD579E28BAE7D695BE25FBDB673F3401A75D5A57D142034A7BEE554ED30CC7F03CBB363C10A54F818937AE468F5845ADA4F9A2A1BF6887105879DA745AAE64D87F26F489A622370405ADA3D3688697DB8F04557736C51725ACA02E4B76F6A9E88DC6D52D5A63806BBA1BD687FAAC522D7B5B0A8D6073283659056E784320822EAF70666180ADFDBA2675B4EAD6F6B2EF826E7598BBD8C1956A15C1864D249368900D82498297C3E77A19EBE20A111D13FC03CA88D9332F919EA4AD15BE8E397ABA0A4E2BA85F3FA5999EB553780F0D2F35D76A63B0106406FC3B4550476572E1464C986870027849ADA0F164B48B839ECD3CA9AFEADEE3F63AA6CA06C635990922995DB0BB99A4AC4B7F3AAC52069F3130660AE0F074FBAA1D103A086B59AEE4DA3188CCA3227670FD43597ABFC1A2F6CFA67FA24EF0B20B4AADE9CE8E68CAB34111D10464 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = BA2B1CEC1BBB46EA19AF7A869FDC73CB3791708DEFDF530DC9999E9510FCB02AEF571B3C5E7258D86DC80EDB53B71644110B9E82C239FF17EF523840E6AF4D597D814D4E5EC2EA98E451C05318402D5BFF6E6E573565AB640E00BF6F8C3646B3F6656047C60ED43393AF7F2D8DF8915A0F6F44D69FE193DD5617FE39BDA638E4DDDA771B0E771318A53ADECBDBFF07D6CFEAA04A837034C6EA0E70C8FC244304804E0E890F31F951007A2F897BF3F00221B63EA3DD8D9D1DD3608596EF7817190D56D36EB99266F83B7F1A2080F7A5405CDE86017948BF977C6CC78565B3EEC570B36FC06566909951F31CAD6094F296F759E858BF7AA9298B2F4F7F5C3167C145EC126C40F6E5DCCD87C82489400FF8B9B79B19E472596618EED3FBC6FE5545BB3276ED710CA128A3C2FA9B831FA6FA3B126380C4BAED23D9186FAC830891F98C81D401A6513E139F6546F065E8AF6E1A9595218A025D8292176F8ACC4ACAEE6308C08DB5215FC0064D7279FF6165033E0946FB7C10BF5DEC2D26950B2ABDF71AE2B5BAB856386A25117214D5830B7D5E250FDF200CC5EEA0085648FA2AAB6EEC363DA41AFD82E14EDA957EA3AB7C65100F4A8071ACA6F1891B5465B7C46CAA9612CCB0875369CEC4BCF9D99BE35E03AE57C83FC80903AFE25ECF23D016CF6989EDA5B900EFCF59C529FD299CF155A1310B239CD364301F520D16C74E270D0D + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = 481CF76E2ED1A1EB74050E9632A3BCE4913D2D516E251816A2D55706314D6483B955B87B0A6EE013F248E2AB4517B800E23C8AD85926C36EABAB1F2C36625D0492C7F001760E3715EBA80AA912F5E3E1A7918D1EDE2FA7FDCBBAE23FF75ADB2BD88527BCE6F02FEF73175487781F26C7C7DBFD04143B70D636217ABF7EF69364B8B7C493C64434DD1CCB523E5CBCC81211A64FEFA9F41FFDB38D9D8D5E0A9E51BE38DCCE5225652CAB5A0EF8D8EE7DD175B929ABA19480299176D7122CE1A763345A091AEB8C5DF8AB37CD4D96C3230E8EA847C1D28986D3398DEA80F2C48C3B4406524BCD4850DC02621B470AC7DF27372D95822795E8A2D81AACCD72F535110FA01FDF0CABD7D848960603B80758406FFA78FB6C68DB4FDF40C146318C2D296CD1A5BD7C1E11EA967B72792A3A7FBAC9089588D3FB555F122F7AFB499AA3B3C43E07BD3D8F9FE980213C174D37DB9FBC8ECD318CC207689766A327614ED6B01BB0A5A2CF04F5B54EDD97BE72E5F894328EE86A1C9D2FFB65C9FD0FEA4BA865D0EA4F16DEF67CE1D6D42095C1C8488376A4326396FE3448484754153B2D4A94C442BDE7CF67E8B9994E958D3CC17D5B0FD7A4F203024EC29CEBF40B549F2936CC6C196AB83EC8C4585D28E31D3ECF5BB59AB24B2CC6908E51A9BCD5BBCFA92C02E61B08CA7E3AAAED73C450909C8B9BDB422CCAB0A86C5A5C3C10A634B17332 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = 47929C7D0C4DB7F9EBAEF5EA93BBC7B255C8E249EDF893257C7AEB996CC8EEAB1A6CA4520F4D4257144CD5A9A850A372BD00DCCA339C4781479E976B7508688DC63783CA9EC7A9FB8196721C8C24AFF5BF9385453E9B85A1F7FC75A029E09D45910DC24F1304D1E51EC702E79DC731B6120596BF3DF30DC0F756834AC0BB94F99243EAC8910015D10DC618252A77D8B900C4141CFF2461C408C19B978D1B58E690815C0C07B901137A45F045ABBD85428ACF51410135EB27128EC6725062665D1E6A6B8EBAD3B81D36770B0CD14303B9264D25DFEE14B27798E22B46A77ADF456FDAFEB6D597F7E3152AAD40E29AB7E7808A4E46F43E18856518CE6D716062029024AFE0EF0A7F3783F755977F8B10EEC658AABC20B2EE0E8D3ADE73E2A7E78E4CEC3C09ADA3089247C678238580891ADA460D60DA297A4EB7DDBA67D117E21E7461BCE7CFC7573352696B4643D6D9C9EC97EB431F6159AC438479BC6547BA04552748171F4AEAAA2EF0DD7ECCB4ABDB2E07AB536F0183516B1DCBF0E12FD134F9AD85B854AFDCCE14C1C52D0BF1EE1E52A12FDD63632D9DF1B78E7899B03527DA8597124AE3C8797E6832138508AB89069BF692A9E5D102CA20807A4BD5033D7BF7C918998D3D52B240B8449D12B402EE7F50B211F597F1BD39B69A4DFF9A0E6DBE347AC1137B3631DD15F97217A5BFE2C6579BC3C44F8789DED23EFEC51A64 + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = 401A2897FCA682A6949D88F939ECF943140ECA42F90D86D2DC301EFEA2DBD4C03998D686DCEC124334F0C5BA7674F25CDBF36FB9480E8DB2111BA4E78221D1855893A526F97535936AAC3D88D8908786BF5A9334EEE1A4D9B346A95573993DB7C9C7A75CE692DF5118963083B778865396501845E12E4DDDE82035B03A6C43697CDB2B1C5C4EB24D0D484ACB105549290B9FCD5C8B4EE31D4EB542A2C9637D8E34687B18AB2DCF92A826877F9F1766ECBC43E3879E481C4B6AD994586F110818A20B6F93C8CED8C1FBC0B54572714EF722E83046A93CE23D118E494969D5BD1A9E9C744C5A56D193D2BC7054A4A0BB22987AA2CA672E69C2B733C860F292C4F218557B7B921C4367B611E1D7FE30CF454EEBF09990C5ACD7B43A174A92E0B8D8180DFD409261274FF09F55013A7F58242D29330426BD4D8EF8365E4DE86469C436FC0FDC3B858EEE3E29C2ED6F650266A7B34D2A0E5ED438E60891DF92FE6B950D95BB99F90344FC5EF5B210692059E9F859A476A3AFF4BB478F5DDA80629E236AFD3742E35F46046BDF1522590562C8337C39FD38B8F57CEDD49198F8242D951330FC4D0BDF5413345BB7315EEB67E4B1D561D185FADF23C0979B036D885391643D7514B3FABCD16382CCC49E6B7C0707B90AC0F86176DCF9D7F1DCD270374D2AB8E1E9FAFB7DEC0F952FBD4456C9E7FCDA80CF0A46CE98AF6E9B588A370741 + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 8E756B09EE1679DFB957AEBC5B55CCCA4414AEAD58229106040A1A58F4768D241A0869A3A7D682DD937FB13352F635EC3D57838469BA6AB93A9DC86EF3598F53E044FEA98301971A2182A1725C32BF5529FCE04665C9F2C1275D484543E038E964D855E1D91983EA34F7D66E19E27B6F59B23E9690C291432793167A5E8A9B44AEB9ECBAA500E2616AC32AF6B6ACFB6C2B4A485BE4FE5072BD1F0E08AE343BF0C5CB241111F894BFD4BE6A26DBC7ED352D71744BD9A4D51F149AC4EA5AD323B063D93E56AE12B81D88EB083024D3D164C0FD7B4BCE8A800F69CB7C66594D7AB20818DC79F01853FEE81B345210CDF2964C3A25A0934ECE6B13029B5FDC3B780CD85A46E54495328F0BAA63078B3948172443B57D8571A82C717A4D93A6FD9ADA3A1EFC41F3697600D02FCB555EEF1D5162B346D892EABC60251B048979F49E3855FD5A49520A60D099ED2F5A5C8764875A4EA242407856B5DC393BA1E71FD04C53181572AD90E0184934D7B65E0EA56A8521A284E6A5B98BC704AD92E658A8B4C64CF67157AC0673159B9E2A9EA9D94C6FB3E5BD963DFCAAD484CF06BE75E3F23A11287B82BC6618B6EDA760D29D1D8400C41EC3B42A24EC1E070BCE0EEC7DC6C6F19E2A6BA7FAAB72DD81F31814A18CE984C7AAE6D9CAAA800318418F56871C8CFD8778FAA7DAD3426849E10B041D6190EB445410F5F5E476068579FEDC5869 + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 8A5199B4A7E133E264A86202720655894D48CFF344A928CF8347F48379CEF347DFC5BCFFAB99B27B1F89AA2735E23D30088FFA03B9EDB02B9635470AB9F1038985D55F9CA774572DD006470EA65145469609F9FA0831BF1FFD842DC24ACADE27BD9816E3B5BF2876CB112232A0EB4475F1DFF9F5C713D9FFD4CCB89AE5607FE35731DF06317949EEF646E9591CF3BE53ADD6B7DD2B6096E2B3FB06E662EC8B2D77422DAAD9463CD155204ACDBD38E319613F39F99B6DFB35CA9365160066DB19835888C2241FF9A731A4ACBB5663727AAC34A401247FBAA7499E7D5EE5B69D31025E63D04C35C798BCA1262D5673A9CF0930B5AD89BD485599DC184528DA4790F088EBD170B635D9581632D2FF90DB79665CED430089AF13C9F21F6D443A818064F17AEC9E9C5457001FA8DC6AFBADBE3138F388D89D0E6F22F66671255B210754ED63D81DCE75CE8F189B534E6D6B3539AA51E837C42DF9DF59C71E6171CD4902FE1BDC73FB1775B5C754A1ED4EA7F3105FC543EE0418DAD256F3F6118EA77114A16C15355B42877A1DB2A7DF0E155AE1D8670ABCEC3450F4E2EEC9838F895423EF63D261138BAAF5D9F104CB5A957AEA06C0B9B8C78B0D441796DC0350DDEABB78A33B6F1F9E68EDE3D1805C7B7E2CFD54E0FAD62F0D8CA67A775DC4546AF9096F2EDB221DB42843D65327861282DC946A0BA01A11863AB2D1DFD16E3973D4 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_224.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_224.txt new file mode 100644 index 000000000..1f8efcecb --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_224.txt @@ -0,0 +1,7 @@ +# ExtremelyLongMsgKAT_224.txt +# Algorithm Name: Keccak +# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche) + +Repeat = 16777216 +Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno +MD = C42E4AEE858E1A8AD2976896B9D23DD187F64436EE15969AFDBC68C5 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_256.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_256.txt new file mode 100644 index 000000000..b58c0354b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_256.txt @@ -0,0 +1,7 @@ +# ExtremelyLongMsgKAT_256.txt +# Algorithm Name: Keccak +# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche) + +Repeat = 16777216 +Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno +MD = 5F313C39963DCF792B5470D4ADE9F3A356A3E4021748690A958372E2B06F82A4 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_384.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_384.txt new file mode 100644 index 000000000..566565a56 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_384.txt @@ -0,0 +1,7 @@ +# ExtremelyLongMsgKAT_384.txt +# Algorithm Name: Keccak +# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche) + +Repeat = 16777216 +Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno +MD = 9B7168B4494A80A86408E6B9DC4E5A1837C85DD8FF452ED410F2832959C08C8C0D040A892EB9A755776372D4A8732315 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_512.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_512.txt new file mode 100644 index 000000000..2a66606af --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ExtremelyLongMsgKAT_512.txt @@ -0,0 +1,7 @@ +# ExtremelyLongMsgKAT_512.txt +# Algorithm Name: Keccak +# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche) + +Repeat = 16777216 +Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno +MD = 3E122EDAF37398231CFACA4C7C216C9D66D5B899EC1D7AC617C40C7261906A45FC01617A021E5DA3BD8D4182695B5CB785A28237CBB167590E34718E56D8AAB8 diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_224.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_224.txt new file mode 100644 index 000000000..49ebdabaa --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_224.txt @@ -0,0 +1,262 @@ +# File generated with ../../loader.py from LongMsgKAT_224.txt.old + +Len = 2048 +Msg = 724627916C50338643E6996F07877EAFD96BDF01DA7E991D4155B9BE1295EA7D21C9391F4C4A41C75F77E5D27389253393725F1427F57914B273AB862B9E31DABCE506E558720520D33352D119F699E784F9E548FF91BC35CA147042128709820D69A8287EA3257857615EB0321270E94B84F446942765CE882B191FAEE7E1C87E0F0BD4E0CD8A927703524B559B769CA4ECE1F6DBF313FDCF67C572EC4185C1A88E86EC11B6454B371980020F19633B6B95BD280E4FBCB0161E1A82470320CEC6ECFA25AC73D09F1536F286D3F9DACAFB2CD1D0CE72D64D197F5C7520B3CCB2FD74EB72664BA93853EF41EABF52F015DD591500D018DD162815CC993595B195 +MD = E90F81AE86D72DCC2190AF545A345150A629EE7DC7237C1958CFCDBC + +Len = 2552 +Msg = 3139840B8AD4BCD39092916FD9D01798FF5AA1E48F34702C72DFE74B12E98A114E318CDD2D47A9C320FFF908A8DBC2A5B1D87267C8E983829861A567558B37B292D4575E200DE9F1DE45755FAFF9EFAE34964E4336C259F1E66599A7C904EC02539F1A8EAB8706E0B4F48F72FEC2794909EE4A7B092D6061C74481C9E21B9332DC7C6E482D7F9CC3210B38A6F88F7918C2D8C55E64A428CE2B68FD07AB572A8B0A2388664F99489F04EB54DF1376271810E0E7BCE396F52807710E0DEA94EB49F4B367271260C3456B9818FC7A72234E6BF2205FF6A36546205015EBD7D8C2527AA430F58E0E8AC97A7B6B793CD403D517D66295F37A34D0B7D2FA7BC345AC04CA1E266480DEEC39F5C88641C9DC0BD1358158FDECDD96685BBBB5C1FE5EA89D2CB4A9D5D12BB8C893281FF38E87D6B4841F0650092D447E013F20EA934E18 +MD = C1C80B60ECBE67B7A49940DF5E3EE7F31C1304844D9A333A172983FF + +Len = 3056 +Msg = 023D91AC532601C7CA3942D62827566D9268BB4276FCAA1AE927693A6961652676DBA09219A01B3D5ADFA12547A946E78F3C5C62DD880B02D2EEEB4B96636529C6B01120B23EFC49CCFB36B8497CD19767B53710A636683BC5E0E5C9534CFC004691E87D1BEE39B86B953572927BD668620EAB87836D9F3F8F28ACE41150776C0BC6657178EBF297FE1F7214EDD9F215FFB491B681B06AC2032D35E6FDF832A8B06056DA70D77F1E9B4D26AE712D8523C86F79250718405F91B0A87C725F2D3F52088965F887D8CF87206DFDE422386E58EDDA34DDE2783B3049B86917B4628027A05D4D1F429D2B49C4B1C898DDDCB82F343E145596DE11A54182F39F4718ECAE8F506BD9739F5CD5D5686D7FEFC834514CD1B2C91C33B381B45E2E5335D7A8720A8F17AFC8C2CB2BD88B14AA2DCA099B00AA575D0A0CCF099CDEC4870FB710D2680E60C48BFC291FF0CEF2EEBF9B36902E9FBA8C889BF6B4B9F5CE53A19B0D9399CD19D61BD08C0C2EC25E099959848E6A550CA7137B63F43138D7B651 +MD = 230620D710CF3AB835059E1AA170735DB17CAE74B345765FF02E8D89 + +Len = 3560 +Msg = 20FF454369A5D05B81A78F3DB05819FEA9B08C2384F75CB0AB6AA115DD690DA3131874A1CA8F708AD1519EA952C1E249CB540D196392C79E87755424FEE7C890808C562722359EEA52E8A12FBBB969DD7961D2BA52037493755A5FA04F0D50A1AA26C9B44148C0D3B94D1C4A59A31ACA15AE8BD44ACB7833D8E91C4B86FA3135A423387B8151B4133ED23F6D7187B50EC2204AD901AD74D396E44274E0ECAFAAE17B3B9085E22260B35CA53B15CC52ABBA758AF6798FBD04ECEECED648F3AF4FDB3DED7557A9A5CFB7382612A8A8F3F45947D1A29CE29072928EC193CA25D51071BD5E1984ECF402F306EA762F0F25282F5296D997658BE3F983696FFA6D095C6369B4DAF79E9A5D3136229128F8EB63C12B9E9FA78AFF7A3E9E19A62022493CD136DEFBB5BB7BA1B938F367FD2F63EB5CA76C0B0FF21B9E36C3F07230CF3C3074E5DA587040A76975D7E39F4494ACE5486FCBF380AB7558C4FE89656335B82E4DB8659509EAB46A19613126E594042732DD4C411F41AA8CDEAC71C0FB40A94E6DA558C05E77B6182806F26D9AFDF3DA00C69419222C8186A6EFAD600B410E6CE2F2A797E49DC1F135319801FA6F396B06F975E2A190A023E474B618E7 +MD = 34A58DDFC5C2222281FA73EB34BFB5E152272CC3AC7FE97AC58C08B0 + +Len = 4064 +Msg = 4FBDC596508D24A2A0010E140980B809FB9C6D55EC75125891DD985D37665BD80F9BEB6A50207588ABF3CEEE8C77CD8A5AD48A9E0AA074ED388738362496D2FB2C87543BB3349EA64997CE3E7B424EA92D122F57DBB0855A803058437FE08AFB0C8B5E7179B9044BBF4D81A7163B3139E30888B536B0F957EFF99A7162F4CA5AA756A4A982DFADBF31EF255083C4B5C6C1B99A107D7D3AFFFDB89147C2CC4C9A2643F478E5E2D393AEA37B4C7CB4B5E97DADCF16B6B50AAE0F3B549ECE47746DB6CE6F67DD4406CD4E75595D5103D13F9DFA79372924D328F8DD1FCBEB5A8E2E8BF4C76DE08E3FC46AA021F989C49329C7ACAC5A688556D7BCBCB2A5D4BE69D3284E9C40EC4838EE8592120CE20A0B635ECADAA84FD5690509F54F77E35A417C584648BC9839B974E07BFAB0038E90295D0B13902530A830D1C2BDD53F1F9C9FAED43CA4EED0A8DD761BC7EDBDDA28A287C60CD42AF5F9C758E5C7250231C09A582563689AFC65E2B79A7A2B68200667752E9101746F03184E2399E4ED8835CB8E9AE90E296AF220AE234259FE0BD0BCC60F7A4A5FF3F70C5ED4DE9C8C519A10E962F673C82C5E9351786A8A3BFD570031857BD4C87F4FCA31ED4D50E14F2107DA02CB5058700B74EA241A8B41D78461658F1B2B90BFD84A4C2C9D6543861AB3C56451757DCFB9BA60333488DBDD02D601B41AAE317CA7474EB6E6DD +MD = 0790649A6F6ECC4DCACAFAFB6AEFBF6C6F7EC883C72671DB211CD163 + +Len = 4568 +Msg = FE06A4706468B369F7624F62D04F9FAC020F05152F13E350016B2A29EFFF9A393940C138553356B0E2848C01B622B95FFA11AB07585F7DCBBF90E9F8EC5FA2FB7B4CEE0D0A4E8D33490ABD058CF3BB85F0CD9B1BD3E9823082D70B1A92ACA6F2C87216B4BA09FEDDCAA4CF254336146CC75604FB1F286918FA2434CA36BE2621049438A400BDEEA6C657F0301503CD7E6E38350838F60EA7F001755DA4142CE4579B39029DA83F1646B7ECB9947EE89ABA377099B82026960B9EE600779BF00D6EB0CD09226DB6915A7ADED27E6749E2CBC2C8B030CE1850EBFBE24C0658F29E9E709CD10DB8A77EFDEFC90FDD7B9AD7A7E0334412A53D248C4C12BF2987B7ACCD2A8A602F184583AA560C016093B56B100154477B834664E6B85A19F8DC909B4D79816AF12266C731E29A304E9BED8EF1C8030365B7DEAF3D436957308117C7C5767E0CDA6E342DDAF824233CBF4E699DC667357CB35C602AC6BDDEE71B352AF55CB93941A1A6301A9904447AF9EE486114D57AE03901F10084ADC0096E465E2EAD2496273112F2FAE626E230D42EC22EA10A8289B3E35EEE42150769D6E663A3CA29174316EC93A24F148D984053B8F98664EACA3E0DEA0B42E8EE30F81A2CD6E42C189A25FECB6E643E693E1F8871B837C3F5FF2AAFD1650A465DC8E5C1993BE65CFFD87F2C680C86B0AD3118834A5F2E490015137BA945C2775DBD77FB3E5C67819A9A7A94A656FC4761659C5B30ED2AC55A6D249B700BC9C93D590490AAAAA75A9FC34A90D5A9106F2860BDE19FE5815436068A7F8EA4636A +MD = CCD8A5F3C0A2F6AAA25BE89791608C429AD8A6DE767A4794B305FB62 + +Len = 5072 +Msg = D0FF6E045F4B636F75A389799F314066644854821B6E7AE4047ADFDE2D0C0E02C250F0BE582BEC94011189B964A8AF430F5921ED9D9F4446E4C788515B89CA69E5F7CDFCCC9E83E8F9460145B43DDC41C07CC512B7E6FDD0E1E7AABA29A6C016CCB7BD54B145F3951EAB9BC4908F623E5A9B0C5B36056292540B79FD15C53457DC74A65FD773A34D6B313A056F79BC29A3FAC15F6A1446BFAEEAAFBAC8ECF8168DDE5F6AE6B6E579BD3CE74E7ABFADF361D0FD32D56586A8D2D4FF4CFDF8A750FAFDE4C2E9EB32B06847FA30B13CC273532D1A23C8257F80C60B8FA94FA976F534145CD61C41C0A511B62CADD5848CEFF643F83CE43F8E6969C5A559AFAD60E310599A34B2E5E029FBDDF2988FCE59269C7128A1FC79A74B154D8AA2850DCFDBF594684E74099E37882B440367C1DD3003F61CAFB46AC75D30E677AF54559A5DAB70C506CF61A9C35E0E56E1430746916DDEEC8D89B0C10DAA02C5D7E9F42621D2B312EAFFC9FF306297952A32D26C2148570AEC90501CA739CE5E689E7066D9580A4FC25E2023897C74C6856273133E1275A0D275DC5B75DB724CD12C9C01BB95AB5A227B7850020630506096878D289923177183EA9282A4C78EC212D2E898CB99D81A3364DF20927EE34D4475A5CF5CDB24088ED75B60201922E9C972D8556CA75F8274D15F3FB88A6B42C766DEF6B21329DEE7C457446DDE8C26405FE5D0309A04229F449E8490CF9000EE8DF400CB7C7EE831BD7059D24088FB42D61681CDE45050FCA78FF64D9C8D1F58B55F802FA5D2F2E723F3E4EED4338B060D31C8ACC46D26870BD45D0DE0798D48E32AAD1A6D4322E69F5E72309B9D7FA1F24BB1D63FF09ED47391C232497BF222C542A70975C8292D275197A4CA +MD = 68C938D6496BB507D7EDE9AC12FE8E010B3B2CFD44A5D4761031B9E2 + +Len = 5576 +Msg = C9A0B51F3199339C11A5753C9D9C95104B400127087177F14D3E15BE881EE89BF416F97D4F7AA9636C5EF29EBBF8930804006EB26839415D3984B920882499752C36A5BBD583308E716DB16F28DB98B3A3E718A2EBCDFEFA75D7CCBB6A746E32FEAA38D034843461DBCFCA7F983E19F5B23EC2E3D74D2B4402F3BDCE7D7A9DF1384668C746CCE466B0654CDD5CA56A77D68A100AE06D63CD9AF512AEBAE78993808CE672330E2065C0F71E05C0FE821CD5F85732315F04666F3E4E6C4F3E9F415E31FE0980D874994108E12464609C6D5C19CEDFC85846B0A84EF3CCBD3B655FB0DE8CB892BDF774DF39C955F04F322856D470981BEED0F752D82EAD73B4131C5DBF0424B4AB654F72E26EF0CD292B87BD5B66FBD5E7EBA96C62CFFEFD4B1D870BFEF312B86E38ED5C0F50935E2ECF9FCB8C95D35D19A8FC8F202BD9DBA768CA48FBBB071179413C0DE4FDE86762ED4B13E1EEF2A00ADD5D1C2A3AF7937787DEBAF1F6F12F3F0225FFE587A5540CB550F7BC11DD6AF864D6B6D16DB1488CB226EBB2199DA75FDD59A71158867298F63961B40A31209F8F16629B1CCE7FFB617072748FDE8920D11CC0D0678389D1F719DF3ED19846FE9893B04DB60FA603170D9573B1BFC7DA663E07254552AB6253DDE814117185F84373FECD7F98DED170C884D41D1AC81814C73EA48AD94ECA1B7733D8393E320C8C467EF6189B4AC324C68C8A2ECF679C893B7DBC4310CD05DADD80BB6326B51ECD99A441BFF77BE8D644D752F3C5C794E7D45BA76283ACF8913BBF2A420F9E5D14D7A23E95FDEBC69B455E466423012E9D1DE9353E40D4BDC3107C3144B96C6DAFD41CCEFEB2B7FF848CB9FDBEA8648BE32160FAB7E7DFCCB807FB019EBF159231EDCF2D487D76A3E882F3F50CA48DD08A23B06EE887BD7DF9D7C6CC2BDBE348E3125C4532448F400CD57A8679ABAB13E582B13D49442638E2698FB7A563C7FB264157 +MD = 2EAF74198569E05A0614B067C911D625A9222BCB6F7537C34E750393 + +Len = 6080 +Msg = DA5B2118CBD59F408CE56362489FDA69EF73172F46DEC16C0D4A66E3F3CCA373927CB6784CE62BBCB08A490D003A8F77391E82CDD87860909383B054DB95816720112E2F96DE9E0FFC8BABC1350ED46B9AEB5D46B66940EFA311F4853F3118063C550733E7679D871729001C12270E98439E375E0CD24769D318E03CBC97D643F1DC5F1B5EF59D12789F22449BD8FA43A13CE78A4186166523F3807B0B621079CC528F4E17C258D4F9BDD095A3E365614B94F2CD778CACABF26244891531EEDC24E1BF4598319EB8B7527736BB1E734429360F47F04B2E95D5AAE997763A467CC5303D1141C2C01F7AB9EDAB860D180697C906CE1558AEFF5ADCE603F8A4A10FC6C1699189E73B489F64CEFB89AC557C5BB8826C0317EAEF2302E855FBD96777898104365D96AE8A8ED8669C568C4DBEB0A70F6CF4C22FD933014473F91871C08D5A7B44A928295FB2AA56D5E2C39CA79D2837FB39B35C6810C378D749AACB543368A19C137B872229E0A6F469022AA93BCB2BE38B761C85AC09415CA7DEEB38FF2A2101507206FE322A89666D32750AF0F4D7B2E59571F02A048B8F94FE2D231072E301C8641D1CDB4F841AB165AF297495A348BCCD937712E68852A4ACA948C1294F8B733D06D67DE89F206498DD401E149FCC1EDCA92DEB92952EDE4EBDC7CD7992104769A04DE8705027A31337B88E8DE93F6624E8F10B9F9924E8CE5A9D841C9260753FA1492CDDFFE6B4400C5719D76FB5B01B234F32FFE64F04D0A00676FBFC58DBE17B4D552FDF0C5B802C0CADF723F73F86E8FFC493992D23E8C0B84F7220A983DDDA21170B1F730C736E75549AF6ECB8DC94FB25C26BCDDEE420C83E8A45AE4C345816B7163CFE016DCCFE47C66979D610A7F9B4A7B1BA5E230344C9F46BA076F2FCEA68AADA8FA09BF0B5CBB3850DDEDD80A30E1F7A639AC69E5595C6A4083AA959831EBBEB84C018068723192F58BAECDDD18C857E212D4C7E7215B6C954728183FBAA07720B97189AF6A7729C30D28DB33A889F225D027D164F254535770C504C506AEE4EC4676771F69F935BA08A1C6C85 +MD = 3A9695FC921064AD79921D76E91D7AC91C777A77BFB5380EA0686C87 + +Len = 6584 +Msg = D1890B4704E169C28E44DDF62A1091450404910539FC2DAEB26E8ACF4533B024E5215C2D02820DD8FB2CFC1743955CBACFF0F8F35DFBB5E3F942F36247F68211D518F3F601AAE12A1CDC000BAB43D4C973F287E80741DD1FCF6C34F2E6B4B6C313D01C4FF3CBF9166F26946F18EF2D58271BA9233F09A6B77BFD4F48B36EB3D73D1133C4F842A7DC3907F680B0B773242C11E3DD973A44327EA7CEA9C0F8E07D682B6651E506B587559FE01ED721000BAF570A16FBDD9EA29FA3DEF4BE912058321A8B720C5C102E48A6E7ED6F8838D400DD57D06EEDBCD15323F86D855C94B21E41B14EC9E1BBC8019211FD88138C91F9ABBD9BB3914D26C1DDC21673D2D51263B39D66E741D924CF2B192C5D2C1A140126A3D64A2C77BE6C2C6EBE8599978AE90BD36CBB9AF64D078910C4094AB3BF399C34F2AB8EF843E9FE1BF88BF443BA21E4377E5F49C07FD9653B526E14562237F02D11B904BCA6AC31AE721A43E3C4910A24AF6F4D80C031C109FC0FE49F15274BCA92BDA04C3B4196C192F6CE489C63A806ACFC895AB52CAD657C1783B528E12D0ED856E1F8FC91F2AAFDFA0A92498D68530772EE73B359FCF1418D1096C46B34DCF90E5B468BBB2970BECBD70089CFB039D64CC50FFF5EEF26384D34F24515A6558B06A1FDD88F1050C5BD78CC6ED83D4C2B0E882AEBCF84AFB0430D0BF09F2FB42B8B4589158093A7709AAE75A790910E211EE1333FFB6FD80778DA3BF73858978E9DD647978841B18001DBAAEA43CA0C0A03DBB9BCF30CE76A6F4B2CF2A9B6531B3E4051E7E05090CD421BC66C4731E7122AD129FC42DEDC83BB460E3F889992FBD3CA072686E56B72C720FBC98D723EF7F247286F77CCDDC728738E941B1A74D4F16671C21FDD5643A115DDBCB88EE7EC67EA66FD2BCE718DF6E085D4B5FC71A72696636A8F7B3A68AFA51A896771FAAA7F1F827430AC5E8089DBC0D4175E1B22A057BC5F1724EADC1A41E78FA3ACAA8B97E5F2E19EF9D59AE12B04E7F0E8A621E098A66910E2A5ED2102B824CD3EA044A854F1CD0B33E61E7F737414B2953549F25DD34D19AA1981DE7CD5649FF6C6364A4F25312EF62395A747AB88AAD722C05AEC40DEEA8EEE5E779EF458A68840BC6BD5D29AD40F98B3AE010B6213372ABB7BB8B8 +MD = 97495BFEDAF1CAB18E85190B374729F5543FA3F1CD88438156F01A0C + +Len = 7088 +Msg = D9257004993C7AE50D20F534B42B4EC39BF358393B9FB5C8E37F87AC7361354554BE596F40E67B2ED499887E26DC435C4331CDE3BF1A118F60FD821477FFA3B92F6469568CD2CDA6FC0A2B13906AE459CF5D5417DE2CE104D0B6499D3683BEB40715582CE70DED5C5F8461EDEAA38BFA31979661A2DC96D926307128F77700F2C7D38B8A9D6C6F70A3973005350F938B9B4A64E228CC3B3F9C4FD446FC650AA6377152D7F46903D8EC8E9340710E28475CF21E641737E7D7DA3CDF18D01C8F37131E727C7274B2DB759C5586FB84EC36A5CE2D820E553DE6426B8B96111295C19DBA8D17A2B7047FCDF662A59C2AF27A9ABEE37A7F8AFC06944346E343E779EBD895119D7460E7DA998962FB1100E950A8D7FE214360AD263B8D070F2B7DC91C9D77C6692DA0F472A0A4646A1EDB069CCD9CE4CA6FC24713D650153B9A253DB5136A3710198E60934DD2053315D313E27DD2C6FFD2ECF028625F0E937AFD8C2FFB1F646E51A768204D83A649798A51B8E87FCDDA7BDDF58ED943BB7E29C7D7C5DFF024545F6A689AA0E727FECD80B561011A731ACDD9B3F283123098BA66B6B9FCE6123B35B6F3A20EF1055BE9E257CDE97E5AF41EB796438727A62AA665CC9B771C4A2052EFAC61BC91BCDF573F7263107D44DFEB125E66D1F3DDED3BD63845AF3BF4185A9A24A7F4B777C32496A6107B7AC940AF24BE983F6A758E5064F8717EABBB86E6AADA7DA75F72ABED59A42DE82B1AA2642F5EF1B2E7304F642EB2AAFBF00C1183D9B5FB83893EDD48E9034DC7A7AB66F3F392F9666C00ECC9743AC4F777EDCF47B6818A34B7392B4AB8E38891FAB4018DFB99AF06369115D60C4FA073240D9C2605E020A42DB2E1E0AE4ADE3A04B825927A05D4FE3F50C1C7ADD7A496DA7E95825C064315196C2007524D1E1EF2C51303DD1203AB66D9FE89DE553CB4B95A6C5D629B89B7116463EE10AB3CF2C2615F95741CA226F9E9A20E99303888F725C77476533B4C393763170F18F292C89A22DF68EABDB81AEF11CC2AC329C174BDAE5D3CC0BDCEA6EB225E00C15021432264BA7C5EB49A49231D1F7A13AFC238BD4EFC04DA3C15AE0BB7D693A0150E6A5AD9B1E11A490B3CE90C027442501684C528FE260881162D9E5EF84D6E4F73F222E779E58B71D5176D9A27F65E49D83EFBB2D7810E5B06619D8CEF7E7B51CDFB6E8138E4CF5674242F947EAC13FAD08D68A8A11AAC9754A5316C93738BA7F3C3BD2E827A +MD = B9CBBF5F954CFE7A5617A17DAD9C439FBF2A071EFB4F3C233C0B3DF0 + +Len = 7592 +Msg = 09CF132AB943654184A3FC8D0368B421FDAC4EF1081A29F3691A527FBDBD74C6372233B38DC432BA610F9C54FA68699F9EC2A6BFB0B2CF7AA6D10AE2207A7554163AA14FB6A9CFA023CE63546B7B02AF03370A899EA73B27BDB5C380613C0EA670C659803D5F6F75C0CE62B311DC157DE843A93905E7A28A2557684AE3DB4FD009412A107098F881DC06622ED9E3DF2C8FE69FE50BFAE158B87CA761FE1E221856610BCA301EE68958C25BF58D3BE203AF928A919ACE53C3D99F55AB00DFC8A1A28AB83E78617F194EFC46DAA77573D02FFCAA1F9D96FD8DA8DEAD3D4E75EE5E65FC360B2A567CD34D52BC9AAB8B71160312E8E21AA506105D6644E6863E7D5E75ED47C1760743D113A4526553B303341FCEE5FDD005D35929F2AFA760BB8314D0C0EAC960FDA3263A1E6688098251618C90332005C757AF958714571B77BF2A69030D99F71D1A5259658BE565FBD098070122C43EDFD400999C90A98ACE95315FAEE4F1C0441C9315D527C7FF1A8171415D2A076E2C513D40B03CFE5513C0E74EA3A03AD4958C00A3E1916D34273E301D517B0A5E770393880D9AFB4D0EB44D3140FF7D827C48F67C6D92B865D8FE7C7E45AA50DFD8525F530DE1188F3AF98B3DC625D335E191FBAD5EE9DF09C97B43F203BFED798F7D171BF00C82EA0ED17D5890C3D6B9EF6FDC04C5FFB645E3050406FE2FB6BDBE2FFE083E751DC19F2F06445397019B61CF1F505875520F09C6B719E642B81B2FBFBDCC072B7981A666D51E7065E21244679DFE056BC9D42B8851F9D2905FD838707B279A8106EB894B60A72E4851C344119CEEB5BBE110B1C5B21C9A5F7545283002D4B1C115308B1CB20F6D9CB869ED0459C569662AA5729A7D7178DE7D69E4885CA77C011E785ECF0E2ECBB8F5245579DBEF7A5EB30307E0B40B817BD1112D28EEFD548374BC867E0C34D2236952B9F859903E87E977190FF94F5D815699154F96E5449DDC1A14E4196C83E4FB02F5F58C30EEED691DE47C81F4883BD84F6ED711FED0C198BFA2B8296182D7225E8989ACF55D3612A93E77D24F7B6EEF813FD514CE2183571602976391F5AC4E86DA59A64233230FB67FF0BB9EC40667F54CCB235D04B3FE1D9A47E163CB19C316046FC1353A6642219E9CECF6E3151C0F4FAE1177B67F19B4964DF96BB6AF37012B8EA9E5EE24C57A010C872B15C8A65D0266589F6DA20E38D9BE2E2C215C69F558084E48EEB61F4EAAE83C57F3F1CD08D05783FB9F5AB1CDA5E4B86291FFFB14FE9B497EC73292BBD295C5657D71CC74D38A2F3DB73BA972986B7169F76BA376376F4747ED65F2F1A5E67889AF38A380 +MD = 657651AA8D8715DB57FF7F18EA1F2A8CCDBC2D5BBEE8A510EB3D3A27 + +Len = 8096 +Msg = 670B79C6030DA4369146A7F14E6BD393DF729B60369D3D55461E5187D4F8E83114B227524EE955F64A2C607DA850235A1B49FEC6EB51EDC21941DCC67BD07412CFE058AF4505C325D94936EE36DE4133773ACF669515DAF4ED87508589CF651784A8C3820A88FBF7CB60E20A035ECD06405B50F6A13A36E174925B4E334E197E1E5FE86836ACBC1AC681CFD42B2F11F74587660DE867EBBA7222C3E89B42957AC4508F09B2DE9C3B57C883138F0D442A050D8AA3023EA920140F70237AB214BE9FA0C452C54B5020077ECC1F5DDF5D959A5AAEAACB381355FD7B493A1A51CE83E6EB52CC61214A02FAFB01593D5730C7058BF9106B8314F1005236E5BECEB3805BAC8FC4308B2007823BBDB3DC25042D6AB7745941B055A7648F99FFDACACA9801094EA86DBC9D2EF2B61A97AD5FB9FF754190A529CE65FE46AFDA3C0EAE0EC98ED5B089148BE358A8ABA6B2F014A5B74547FDC00501DDB1472EF4AD592EFA8031B0A4376DCCEA8714575BF055B1027824F463E8AF110CCB521B2F1363C0F13256B768645A0377541CF2F73DA03AF0C026E59570D6007BAFC297A41DEEEB32E79364F9EFFF6F81B69FDB99DBAE4DDBA46016F86BE1157693C63CBCFE24C7B6DBC2260798A6C397BD91D4ABE0D5C23B43769B0BA28B6B954E66035BDC52DE03B33CA004B670EA6E341B01ADBC40DE2F406BFC469122EE30192138868326BB642834F9E78F51976C3E6EA0EFA570926F47612CD0702EA82279D60E062832D31785933E3BEB86D187554A1675A61FB0B865092E518AD329F38A70E7DBD6025C9925FB0332B5ED97E77134B8684F6F167EA639FE6545FAE58B611922855B44E520601DD0758319E9491A1229DC49F9F6F9EEADD9CE88CE91E3BD3D13F64ED7745280F4828D3A00D66F3966E0EEDF930F563D8E48ED94BE42CE5F48E92E3F2D801FFC464692C10E7300AB0F85D1D44F353C742E20DE3706BBA4B24AC0048EA6E0B40454B06FA95E5DC2951CB4B0A7D1C15A3C12A3889C7191814161C5181880223FE3070404E61D9D382AAE8F236165FFF3121D1B4BBB5B4D9B01282E2663DE39C642839B34E853BADD9E2E2C82FE90FE755C8677DE6A405D1A23492D84AA272AD94C180300D737758E00DA835DA7BA9EFA3EA0C16DF2FD472C1B57E0D5CA40D43A3459A06A3360217ADF41645FEC31F104CA6166416E36597C35DCF0FA43298B7FCA4F5045AFF900298339FF5DBCC1408D703CEE178C6B194E1015DF362B038AFD349610819FAB289AC11CBB3F19FFC9FA0203C231711FBCC48922422059407EA225F8509761D3C53D83437B507814E61206558C8A27E7D55400C64C22AAE33C817324ABDD7114ABFC01CFB1AFC16296FF6B3DBC8218514B83102BC84272D41C05EAEADCF4A0FD9983FBB79627BA8F905E4CD345C874 +MD = 38A093A979528FCEAD9063C265B4FC440DDABB82771573C7C2D06B84 + +Len = 8600 +Msg = C595336827259B050DC783F22FF7B033ECC98F9C7CE026809CF388FBCAA29A9D3572547CCC0D5F8D26730617933F809B9559AB20339FA90A525C46A299EF14C9045E6275E22C34093E9BCDB1230198433672EDA8FDA5B16EA9313242ED777E86F4AFFFB4BB8A9CC0A902ADE774AE688095D271CE7DF975F1404FA5DC9ACB50D66D2F93D77E262586CAAC610AB990974845F75820319FE8C507C759DA479AFC5557C32618F65EF7EF36E69F5C893435A592C3D3B3B8A8110811362B22F2D7A660A767D88D6AC9656F0D83F1D0395D477AE9DF5016D982BD6CB972D733F2E010CADAAC4DD20F8B4B798C12C5FCCCB7C7A166E3BD451CE0B83F9FEAFD67AF647ADEB7EEF023CF2C0CBA8C379FBC4A5A3F58473A374E09FF096091DEC2E5B35A4283C7DD96C46EFE4F2768ACE5B43A08DBDEAF95BE5C2DB0540DDF80FC895DCE343EA93ED2ED748FC32435E7B28ED8474EDE0AD449B32739F7D74A37C928070D0C1C30053ADECAEBC88F56C013AD5439AD2CF6A3876364A6B68E0D1FC20906670EBE4E85CEF072FF67DA097E3B6A88F78DC10F95520762EE86E8B26363245555DA07649300893FF36854BCB875AA1924B7A99169E965803B74CBEA05F7C486FBEA2355CA033A77C2F4164A06EDE30DC6244FDB3E8DAF9E73F83544B79BAB20851A640DC83C43C8980A2729EC01F409DA9AF6E9B5B7A6286AE8F225AF90B2E5438892115E6DE72DF2848376490403A543765ECFE2CBB46EA7F0999CB3993CE099752E0999D84C2BBF91A9FBD39CB721F4C6266FEE4DF896EB296CAEB2B3483B025E4BE27DEB57A3A706BFF59829BAD9F11EB75A1D010EF1AE926D5F5CADAD5CB3CA7160A66846AB4F12F036933C90E115702E11B2657031EB28BD1E2793D0D0BEF4234C2B6166A038CF67DD60CDCB86FB323788AA673F2CE5ADC8FA8AAE911D7363FF833ABF619847E78F137FD0959B983E764A59FED29CEE31F2F47715FAEA7F91483A6E61DD7ECEC557CF24BB64CFCC0708DB55DA2426D4330438C42A4FA7D9DC4A1C625823DF1D701BC3BC3AAC584843DE330206C45DF0184FFAE4E347FCE6860C7E0C8FD54BED94CE321D62325AE12F932871A4724677BDDE95E542AD66CDF491F5708FBEAE6A6846D7068F8827400C188D6915AF83542A51A1E0BACDD07E25064E2915EA78C8CA8327E2375EEA19C565AF6B837CA5044ACFC4DF68EE324D5BB8EF4D974368EA9B1369B567E6D5A44573DA1249C84A789442CE16604A94788631E8906398EA3C2B8EA304B11E522BA82401FA2338CE925D31AE37BB3A67160DFF3DB6F7ED0C2DF645BFAA5E276F2CBFC4CA288F2C3B246C67315235C0546BCFD3E4DDC2D6A2FA02AB780EB0FB3491239A2FA1B5EC90A0203DED372D5F594847D279396730A9D8CE5CC92AE34F7C75A07BB4873A5C5EE78268DDD0D8A351794FBD6C801551B39FAD39E6CD2CAC30D4538E90EE24784BA1AC0BA9CBC287151C7D8EE7FF94524FAD65B3DC45265EF3B708CA2BCC5D +MD = 6861B5E0CFC223EB2B9B735567019F90B61A76840C89005511B66385 + +Len = 9104 +Msg = A867330D0C93083FBB159EFEEF907AA53ACE3995ACFE7587B404AF8C8334E32F9D35976D0466659F264826109B23A0DF2056A5479D0C0C5EA5166CA231525DA90B388C43259BA1696FD392FA10D146258040040B6AC2C3E91D1F224E2A2A0AB323B4CDE6EE570B4DCEDA7958D69A2FB85F0D9DAEFB3715E5825298B7D3D8F09268413A11B30A24358755F7ED9DF6F2FA9AE7A219E65BEA978FA1187806386EBA03AF491A1D5708AF2409B82DB03A19D665EC58119AC537CBDC75FF3ED1E0D0A26D291391DE6584BCC0D55B9931537EBE21F42AFEF05AD755DB1AF60988DAED8CB087733421679F8B2D381C659C1325D47688F2771A03BFD31CF8D3C20FD09F603BE7A13D1BA8D37CF492C93724A728BFDBCB6D3E8F0D770B5C260CFA3515AAF7C25FAEC42B2373970D11EB2A18C863D0D7121BB2DDA1B223B883C468281EFFF0170FFA48552F263C308658D969866781F041DA0AB149EB2020892A114A4A7758ADAE9FEBB4AA76604A65B87A2A5D0A45A8096391B3D1C09FC95746C449BAEB2F807AFC8E4F5EFAB2488EC19805691162AC8A3EACA1D25F0F4EB95ECF48C134584125AA0FAFD5589847E656BECADEBFBBD258EFCC6F749E15BA09DBF04B93877FA04EC2B6C3234FC49872C318B302252471705BE669022765FD01D157C4AA54173399548BDE8D8971A8CF0DB652814313B71BC062DB092FA5A5CAF1809DEFA1215B42B800072B2990E6FA31F69D52076AD293D966CBE4F89C6D4E45AFB76F23A5670E5B36FD60D784A736D0201CD2A119107F278E5474D87A97F53B12A8AB1D0191D19EC4103C472D1E7ABE7351258B26C445397AA5A3BA924238B275E7D53B20253695866EE8AE02F9DD8FA8BF4B76E549D9322BAEE58D70BDFE1AF34EBCBFD80AED8E40273727B7B919A28862171CDAE66EC885EEF41E5D237B9C308772DB7CAD7673646A7CC7CD78800AA12395E6DDD5004F0E4D4834B66D7EE7FEFBE4E0947CC2FE0993C3F506EAD51C9E9B6648228F03230F61AD23A708B11DCD328AB9081D102455DBF11A932F90946046D72D9102702114B8965F328D6F57DC0ECE0B1AEF7620640B4F43615A1123B6C3B58438B5760EF0BEE130C5655B756DAB1894FEC4736420180041698DCDEECB5EE98B043A870C9949B1141D5A0920A1EFA60A30D8CB33DB0CC3364C657EE7E3E582A2A49610E8C08B9ED733D4F584EF6B9FC43F62CFE9F69BD64C02B1D20EFE2EA9EBD6B6DCA5F6D9DE62A443D67C60CCE67C47B4EDAF24805DAD5AC498BF1634646D0C34FC3B7C4661EE8029CD4FA237531CFF681213012993F91106084DE20241CDE059BB37A26CAD85533E4C5E8A4C4E6F952162660C0C55D8E266F0ABDD4224487D06F7DA1F26B84D6D30101B535A1CE76355AE1D34DA2E71E244460848212D9076FF79D8A282359B8961C27A157ED6AA5E9990D56B4ED7113066BD560719A431E3822EF24C0630110AB448EF269F4FFAFDCE95FA57ADF3229E5EA639CF4649E598E70F517F8CA03C9AFAF4C752F7D14F96763F7A0EB4E5BEABE5FD17FA8EC15271A509B1BADE00D840073B52DE95C688F7AAAF25751055C8827D1C6B5BB2C9140EDCA4 +MD = 0C265320C0394C03FAE34D80DFFD04074D00C7214F95CECD9CFC8F7B + +Len = 9608 +Msg = 2EB31026155B7BC3672F060D8407B1622F6162CFE40E0286CF9BD73B185003827EB75CA080F0FA81D9E5893F462124F679EBAD807DF6AD87C809FF552DDFEF22C11C4AEFE1745A457462D346A3E0419347274F0A39F09AC211D79BBC13C799BC26E954BEF11FC7D9EBF0A0283B59498F6A271AFC5415F656F1C0A0E311EDD0BCB49853F0FB52C849848406A7DF6D7F3F32DEF50D8073AD2B1A197991D7D5337ECD5C1472E58DFE42859FFFAA4B858C34B305B8F921AFB319AB0C0A4D03024BC2AFEE1BD4B0F97848BBEE535460144E301334B90CCCEDA137A7E44C44CB538E9A3D10961ECFF2BBF16BEB1A40240FA63EB02FAF248191DAC569F44AA10B9E391416A41A1AF9B0379D2E52EB6C2C1A11018AB951D030FE5FB6317538F4DDA3D4B3871AFE479C4CCB0422301BCAEC7C0D6A12E1A4DB17DE2539492C3C003C3C89C6587CE25C7C7D697A11DCB41764DCDE7372E6EEDAB38B4004EC0805E1FEDAB9ED2550D976C223B0B0FB39FB006DD4AAFE042B0A771E098BAAFA72AA488A40A16BCE6272F64023E863262BB4D0A137F61F9E711DB096DD93254C5E4382D3F7F1914E9D18F86637E5E4A7B7FCEA80EDCA63B3ACDC7C692770D8ADE9AB0FFA87A2C7DD33317DB038C5709BCE686FE1BE395B3292033858A2FA3C8144D4A74B53CFA8222ECB7E0D788F4EBFD75D880DAABF66D888F3D7CF5D1E3DACAD33F3C6E05EB0FFE7E8CB1DBE1403530F1AA44F7028580C9084DD6DFCD7788B94050B5FE63EF079003A51FA43E726897E82EBE160F4F48C9855D59BB94B8BEB6B5492A66B38CFDF850B6F1CB368598443F2EA9653DD5E6A3ED60881D47956CD24F1B0567EDACFE3F87A67E1D90FF6459666043B4F550D9480F4D17FF0B40B71364366B17D958DB40F3B88189D2367572AB87A14B160344BEC8C69BC0374EBFC62FA8E090296E5CB43BB253D04F24E21CC55849BE4CB7E3EE80AA0DA1F8C71A55E1D98A85049CCA30F4000506E4F36F7096D4F88703A6B772690602019E17BEA5965B68CA1D78CB157E640CCE3AFE00A25B6172ECA4CB9902D3F39BDA25D57E46EE01A794DA2FA309C083CB103224964F8914E0BB39F67BC50B4103E41DC29C95041D5835178FBEEA6BD35ACDF51A6F5444CBFE5400439DC70CDFF870E30EA1239FAA2ECFEBACC73B2C104E99594AB81894F4EBA464F0096F4368D8662FA12B46CFFD7EB766072BC145E170BF6459429BEA5845BC4F088B98D9F1EC7B31B054FBF04BA5B7D44141CF26B24F1D80E39B2FC844E2C3CDF5C752F65057C9D4E982172CE094907721DA4967772533632632D7335342386628438DBA8CACB60139A7A7D7FF20F4E20E405CD3A029C3AF103A91BF2046C372C20E99E3B5971CAFD3E2CA4CC7E0E6ECC272BDC50FBD3F0184E58E6B26D329A9380049B3298CE33CF15CD7560E3D3E0C53CB029337236F9D848762D371D3279A8B1192D83CF1FF8C4F12DBEAFA383B47CD3F172B82D4D942D9976A4CF2E3E0F69E13F1D8EDE152938B978D2B1CBAF27088A10935EDA68B2E31448B09E586E9FCAC11C6CB056FC92512210C3A828B549A1CFD3516C4A5B4A59FFAF22D3BA324DA5E92C607A45C189D7482F9CE1FB005B314D6D8AC0CF523CB21B3D86CB21D451400695D1341345DBC9E6CBF02F565E8B02F7B2151131514EE7D3195CCC262EB615A6C6 +MD = FF5DC9CE960C604323CD9D2D5D8D52100DC184D2895BA876A535DBD3 + +Len = 10112 +Msg = 218A31573465B8A543E293E5A591113E9CCCD2095F519D2B0D7A195A625950AE2FD52AD7D5E5C984E5BCA89F7FBAEBAAF4686DB96826E8E0CDEF1B787CD08129F7AC7BB0E1635F7F52C5B6D6497A0DB6125BF0B2FDC06C8F72FE16F4D75D5EF9620786C85D0C128AECDD362390039E2548D1DCAA008B0FD870BE34E40E66C0AEFCA28BC631B8FD8031FE7A5F39E81D19C0CCA18F1AECBB8AE0C9A4D10B85393CB58412B565A29999CD039883EB095547E8CBF589B086444F0EC302236E6EFC508C3C08873CFE13D565F5508790FDAC239158AE65A23819F365ECBF4586EAAF39A5B73CE6AFEF6533D56D20758720F22E27E2A4BE08659B5B749AC209910EAF590E5D1276B8CE3BCC49331FE73813417C0B1E6EFBB2418C82724607032433A0D720C381474EBA5749305D8FEE1230EE0BEF48286E602C593B9C5434CD5E4DAA36ED48C47BB9B540F077D21FEFF369179C443665CCB98BA0D5A7B8932A8DD7D5DC020F6261E24FDEA9C6611A096BBFFC44AAD997C7BB3EA32305A6AB41E33C55F027D3A990520017CB8CC95094D225C98FE7FFC21C4480967376EC8A22B2216FE467C49E50ED8CCC42FE9BB3C5210B086A9FF194074842AFFFFDA8F4734E354C971DDAA48F38FBA1B7D5CD74F7433EF5A45D0F6CF1D99080C2A7C0DEA6E8ADF51BD59AAA502E75C96BF6D53974DA31AF027843F3AFCC34CE1ECB81B614E9D2C382D8B0B6007CB4C54EC507FEEBED9992DF8D1251C74E79B570EE4C268D8E03CD8573005F17DCE24C6A52C076995E72AB5F72F290682081932E3357F4CF0659F5AC6A0D324C9F52811BB52C9CD0CC858178B9283AA53C523045004B2B55BC273A49CAC17B95E36F8D39C64877530141C668DA715C3E1B2E2172422728C1F7C1FDD3476D13487F193CB18C1FCEF43CCE594B548F164A24D2E0C15DD4F65614C0F0BED2597B453A9349EC79F154E52E9FB74EB55161466617943CC9189E681A3CA51150CE23B3009AE991649C882629F76FFA9161BAA1D02042BAF0D816BACC3D3A5C90279F3994D4A5EED4DA6495CDF9560E900D7A7E582CCB92E543C3E42ABCBFC2A8D53E9141942E3B58115B6B64AA654F9C8EA1B856588D464B9A6A642D0FCF4430B88637206758AF500DAA35C7B652A844EDBBFD908AA93B7929248280DBF48CF1CBABE15ACA02FE6D72BFE7FBAC98A0032A32346F40B2ECEB6DE2BE6E580F89A86E4EACAF0E952E508537566577DD6DE6BEF2FC93559B96E64A2A9F9334C3C26D0BBD849788F328429D3A8B26647C96B3D553F380619AD4F799BBBD56AFF22CE8B61FE7C18ED88EBB5DBC4796BCE01606D1EB762FB11FDBBD3CC6C55AEB68BD93E9F355CF7B07CFD05C2502F0BA792C7703A030C52CBD545F394108140CB9B5A149B616FB6A45DBA59B5118B66CB0949A3DB9E39EDE0ABC2E2E4F76CBFC32D7D98D36D23E757F3C5B3CD3B37916B2CC32E4FB4CE191C03EDD7AB4F061C5F1075E59328EB696E7D000C9149C93126AAD94E30884C976172E75BF25967785EBB5AFA68409DAE873A612A744A1524C2B96843DE61BB959DBC7DC782B42C39171F60C420497DB5F77BD5F84B52CC3924605F534005F8068D24C47EF82ED7CD4E5216501C3304BDA3659906E8AFB98C74F865DAB33A700A6C8839E405BC6CEE1C361A72FB6BAF4B1183FC800BDEEDBEF141A597253AD54FE11D6DB361865DD58825116B534AE08B07586371A3791FC62710C4356E2BE12700DDFC7F3E309F5ECAC4754A4A2CEE266A37D67A3F8CF97C45D37 +MD = 999871B057E104E80A4885E35B72E0D579B52B29C44CFC36B9D4046C + +Len = 10616 +Msg = 4FA3DF1DEA75AD4B9C379206A95FED930000482E5B683FD2B17DC8E7D5C4BC1B73186CCC13C9FF2DD09FC1D4F68034D120E84CA73A00B71A3B46D1EFC6FF88CF2EDA65810B098CC5E651D9CF064E87076D5A871849F3B405D3D58EF5B1F10520A9FB4FC84A81A87B13DBFBF9D8674943E28C257E46D8AD7BE1785F1DC7C9B1BD574AD1DDA48F0255C853D2490BD3D63DA22A8369CFD02594999A2EF443308FB8298266A11EFA177102C75DC674E89FC9DCC1A0D3C863BC26141102175D2678EB6E13D90BBD9A5EB89AE8C0CB47D7F340D3D32042A2762BC9BF2B40EB40E87FB42610FE7E357051F01494704FBFF73321B47301A0799B7EE3FE5E62200F397A61ED4509A62F7106ED0EFB0ABD6AE9E4A1FE9B02C092DCDC75015CF602F3B9A8988B609E6C0D1C5C3E219FF57875C2EF01615F89447EA602DFC94EEC17A398C014BD346691FE209A002771DC8164422CD166AFB457A8B3071282178A3EBD201D9B07B27E711E7EE7D33AA5210ED4E4E92486775D14A6CED092E34A7AC82670939948FEC149F9C018FCAAD3FC597D315713F44FC5E1725F448ECAED40E8D841BD02F1E81C019B08F99412E360C0BD378391C67D964B47F50C26F0A483ED664023616B0FC9AFE43620DBE9CCFE070EF295C049EAC754C2123130C6B2C0232F6403AA7F0DC35A5999BF95D34AD612234C6289277ADB60E4F72EC2DF570F05395B3BE8A0A3C78B732821AA08927C524E15D65F66A3DB8C1C96FB70BC0686AAC310051F469FC5EF880C0F66947C1C328F97684EA24CBE63BAED8D114F40507C2901034E6AB3893F366D53F1CFCA309309218CABCECA4722FA9CCBC7249B87C12FF8397F40487EB00082E7F551D27E301C3BC7B5389F7042534BF7E692DFEA4DA24F7C34B8D2FF145F54B517FC97134EC5AC2CB925C508D7A6BD01FE7B764648274972BF08560D30802E0EB7EDCC57AF4797BBF92E8688268606B0F1BC901FCC22136281665EC16393FA9601C4FBDB18CD1D1EE382BC07973903E91FFA87399D1141D49F4F0C064ACF3AC9897891DF10BCA0116F2C3FEF180FE6A8E937C478F2EF293AE9186DCB1F76B6E48101DF64E57EA7C64C5C0025E221C8F5CBA5CC92D9CEC628140996B26D17F439B780F59A999301122F82D0495F8AB5AE1EA5790F45E992DFE00D5F82A7FF1354AEFDCEFC0D2D1731D22FA2B75AFD4FDA25AB194055FA9628381055247C8C7587D22E73C60136C4282452D47AE03AA035FEBC26FCCD42A1CB79CF866DB6418A49FD8261E877DDBB839CC39514DDB87A8A40D795532626FEA4A4C35D13E028F9ED1BC09B06BE999B8DDD2258AA0596BCBBF72AF67E10BEDD58D599B8D577A583D676BF5561F80CE5E9528729A92DF578FE75DBC70474B75747A8D55DE70E57BDD62D4344DC2115ED4DD62F1FC98BFA1E7421FC0700025C46D0ED1BEF35C3B778563211B9FA9E8BA4BBCBF01C2FB626AB7EF325CE9F468DF2CACDB178D36557CD85D542C067C289E926C1EA2F20ABD329E984168BB6DEF1DDCCF214DCB6A53AFD462F0E7E7A19E8C88F049244125A6D7DD41E58BC9B2FF7FA2478DF76AF73090CB1AB59E388BA20E2C297C967737A1AF61793B68ECD7439444C48E28E2D09C48FADA5E0D1D15E5B340A52F8B3B854CCA479F0A598445E14F53B3BA36891050C79673DF3E2B5825C955A29E5C9A22F3991D0AA785718CFEA1D2385F8E47E4A75ACBC7988D0558D541D71C4E6C5F1CB15B60CEA0C34A67BBCE105D7A896025E0254DE7D7AF724C9027D44B8642192A08AB8E1EF3046DDA6014DF7F4C9E63C635E48AB2E70B640D480998EC9357E665F99D76FE5529EF23C1BDFE017C3A66CD4EB2DDB42EF85EA0CD65534 +MD = 6297DABDC66A68A28E2F32FC95E5864035001CCB7A0DCF592467D415 + +Len = 11120 +Msg = BC259972AD109BDE603999728EF0BBF23A911829C1C910F0517AD7584AAB80B27D4A59523DB11EF7B86D73E480F82699E44E2E281172D41CEFE2A15AAE50E13918EFB63DE0785BA415C7DA3746A669C7F6ADAC8C7ED04FB5F8EC70207615C5B6157F3BD9AC31478F5005F0E8DE1139FDF40D2E01DBF54973F7225CA545AD7B8FAC8233CC579D4E06395BAE791A5E49838A806F69B57858612063935284F7AA2E3769104F13F0D3C531A3C766B1F008DB437A2BBB041691BB9377012A9A7359BA410836EF7BA949E5F56F70E83C99DF961CC3F49D4133BEC543DDAA14DABAA54FB6E5F5263B83DF6863E84179722577101CF3F67C08C753C5B079DE795D2922FA21AB23E2437A64C62AF634985266039F7CBF1E1D762DF49F12A4FF7EB9846E8E5DCEE559084F0AD175E0C6FCA984B168B7512541B7560B68C8AFD02FECE115F0E9327D3D6D57BC28C8F914E9A5B31D822B48E0E4865F652E9313F0ADE5665229631923A497D65E701778739C5842A08A09FB25683C38BB17EB95BAB4B358EF5647BB29D3BF86E15868E02DA7E0229E8213071A24B4CD373266563E36464C8B245DE4A62BE1AF9C7022F6C3894DE6AD8B9B17A6DF84AF65466C319BA43A5EBDBF24833CBCF17410E79637AD5B771B21576113B851BB73AF7BA9FA19E5CD7A5369068A51F5D6A928A8306829B810F59CDDFB42C3B58F6B0926877DD35C4173628BB554C7036779C000E80F93D26C8560DE78057EA74EB12230C8310D577473D94C2DF14577B4361B307D8BB6371BA7B3F8641488B1490B24DA9CEF1FFC732CAC6F9FCD69728C1B7B4E72E8FC5C42B6687F32FCF7B3A90A460E302F3A4E33B57B29803C611AD93BE3E6C33A8CEFD2A5297C28249FB64CE4C1A30DC1F8670482CF6E220A3E17CC95ADB289192FFCF0155F071AFE473D5BBD4204FB4308CD5CE0F13088A2587F10362D86465C3AAAA730CB82933F56912BE62F78BD6A413BD9842D71F125EC8A07442E1BB6AE8B9AADA6BC47CC2FF79B680F832685184FFCE05EF128D9D6462CF7728F2E582F8BA77EFF16085C262F945E3FB06B238B4A5345D1F83373DE40F95E0AE3C5F62EF4BEC3663688294F64D15310B6CCF4AAB03A358B0071114BB368FF489A0CAF7B222C013DD5D9AC39C736FBC2F7EAB5B4F5DA461C8E65D959140BDFFD2A871858ACD3F9DDAECE497B44565560FA96CA9B761764C6BA9D0888CF522410B605567D1FEC21264AD40F1CAF60F79452CA4F12616D6AD8AE73BB57112F6F77901FF444152BC287A90FD2C77187D50DB1F64801B8235FA410563C6EB4E5F3D3D285C1BB2203C618D1F4DF274F6C47A0CC6A892217C608CB3E9DA3E15A5E059B6C26CD5357F9AE1CA6710E2DDC79B5475B42E8DF2D9D6807692135B922611DD41A750B44BE0E4FEEDD632659BF0DAD6EEBE9FA9236E84AAAF278F69DA65428283B66E433387B3A4FAD8032175E7E9C565C95DC94A53E8C52B3BD25A66AE5C6975F32C45276D6DC4CBDE155B2B7BDB7E238D93F01B18BFFBC301E0A8A7036A70C4A656C66B9A1A85B51F690F271B7EE68BA6367B4C512209FC24CD286F0CED9F62572E22C5C6EA48BB92137F7B819CF54F62E4CD1F851F11D08CBD09AC24A6BD3FDDF65ABF05CB8DEAF2B94C7A3C8CB9913BD6FA9B68E22AAEF51729011DA21215571B39920FDD470CD2B4A0BD08C405578377C889418A87DBF14A8E4FDE203A2AC855F18DB0F9D910CA41AED5AC5EC7D08AE7F6ABCDA0646997B63343B35008EAD44CF3A8EDF0EB104BAC1EC3BA1DCA808530332D9C249C6271D25CE33B536CBA3D2F8D6C8B6A0DFC830CC426FE13D69ACBC24BACE7CBE27318ACBA7FB54BDA4104D07561B5BF0D8F0670FE60E6389B2D6E96924EC4E4BD827473668D4F28412123C31CF49912E73AB8F40CDBE3032BE127F36AF2DD75AB2D3DE8D2E017470A7AA3CBBCAE318B20D +MD = 5F70A35453B9BBB50A14F2349806CEDD49F06E3EEB9844C42C7963A3 + +Len = 11624 +Msg = 824A155D7798E12962F4464EAD9AF132A226DA4DA6E899629EFB938EA29A86937FB144866D8C7B2DF9988604CED96892DA482D4D0DEB4658844F41835F0D9C20C796929C83CFB49113F5D95A7B66D9116A4697BFE335BC83629678CD5DEEDB7C9F8F11DDA079BDCE8C2719B6CD400C02A6A5654F19B6D568473D37174F62AB6684C9C919C1CFAF35116FF7AE4F5B0F0BD243C74384C2C9392F1189B2AD448B9D7946C2CCAD04D2F20CB8CF1F9590D1504B1E1B1D74A04424BD27D0117676B8C823022858A4C12AADF21FA45C99FAD60120B24FE04BA3036B80AC5F46E983032B6D78830F51E65A62310B9058A4DD3F3F8F90ED5311E1F47987E0D410F78B2A76580FBFDDA0F944BBE466C8A8170B5C77E8132CCD7D5E9946A5FEDC73AB9465E30BEEE9CFAD68B70A2176393AD8A173CD9AFE8F9B33023E852876824B720365E688B3FB4BA925040385559FEF7BDCFA7DD18BBC31B24936557EDD679B502864588CD4BC270099A30DC3B3EF7A392F3E33E21A53FB83756EE371A1986930C4A34AE1301EC44E189E23ADB7EAAA121C6D787007A44E998D112484019F7D7D8E16985B039C8CE01EC8CCEFB647F07F9FAC114BABC3D831AFD6F08597222A4DA8C4F6CB22C673C0437C16FCCE7EEB64E7050AF9BF41E95D3A0112FC049D405DF0E322422072A16DF248E10AA22EE5F198C67C59EB8198421DA855DBF2C78B36352B1373F7F66B5A5BDCFFD44C76B7CDF56D894187DE7BFB05C0535C3D2AA491F37D35C3177E0F312A9FC7F1C6668AE0B6B4B6C195EB4AEA219F147A9799A9C84449D7477FCEEAA0ABB836150487ABEE7A1902540B905E998A532ADD68B2D15A1FBB63DDECC54C8C206EE655353C7D1DB411BD33419F6F905BEA567F8D67B5461F15ACFB8F8505CCDC29CD708BE679238CE30EA3D1AA183BEFC35938D755C50963FF9C89CEB28764A7BA8E72A2D22D168172DC5D91F4AD5980B12474A96DB75E1F7A9EF9CF1A0318D18B01B108CD165A3734D671D436708BA030C1E860EEE860B40E61EE5B72A4A98AEA24AC343BB6D4095F79FD9F1C8D64057B6672821B96F954DF23CF294F516BDC1045170E162BF58E75DB11288B466A4B83125F1B54286F14BA0B55267397D9605A57F16EC357853DF6F3C8943A73F7D20659EE01B3CF70BAFE432089BFD9DCE1E31D441C174F42D3BC04084705D0DA308C21F30875D68F8611B62F49AF1B937319346DCDDEE9632F5C7044107C3C5B49CD59169008D497C4BD9CF2123FF7636A5B20501BA368AC6D18A32BF798419BF93BF7CD7B1E998471D4C85A2BC50E316E89D17ACF327469F1F45A68FDE54714CFFA976D488989F65FB4E8F9F85D43010F982453223BD060BABEFDEB9DC10DBD28CFF842366DD55170C33EAAAFE90428D9E632785621C5F836D118C4BB97BD2DFC2A734C64F614A9FD3179512720C9511A1DF29EA9792226FA5D3B74D0D29D4741EDD5821904F52AA7961D303B51E54A6CCB80BB851AE57DB1F97B656772897190714A5DF7450D7EEFB982188131D81C6D273021A2AAAC777B0083F0CC363E619A1FAED4CC2CC7F28E24F682C9F9EED99E09E19A8200E68AB9DCAE56AA92C99823015F82C8F90A40DF0F729888C8320A7F0B1E2F6155C82AAD1B4ACA0870DEB69F04CD137B556B9919BD920DB20A1C1DCFC45236E6E90FA3054A8E29211BF76B13800F3AC4657449C89FB76D32892024E6FE7664BD23038457FA00B1EB88334F4C8AD05691C8E3100F2889C0E96A327C9B36DBE6D9CBFBF9DE93ADC8C17864CEE6D30EBF0BDF8F6B9D65D2D6471D26334089B40C9B0EDCC3D0DA4710E76B28B392F7C3BAD6F34C776A72AB211B720CCBE60E844CEC4832ECB8014BB236E0AF9A39912CE12A5386D409F5117C01478D75296EDAB33E1C5273718709487AD0AB5B180A2D065C31DBC1E0737D9A800260C71A0244F19528E79072D8B8322225C6C6AE8471068BFEB61C578BEB30F9AB6A173D70373D5F28E7C353FE723316143B2A6EDF78EABD60124138B607D9A09D6ACE70882D4303EEF2C2 +MD = A3D5128D5BC7852EC6B59D3D33ABE70F735239D149593E9D1798D1A9 + +Len = 12128 +Msg = FD76A3E9E0E303CFC3C2A84C43D19B6069167F7C7094BB379EC929AAA4F19E2E1A77E312C0CB08C544C95EBBABB5988F451B01CF9214B37C341A527CA584840111236757108FF138E364D93BB76629C095117FCE458EC03B87BF19F8C9936B3E1C4C79F9375815A658638E93C5102C66563F3A372E6348C6C1B9DFA6A4E427F418CC65EF67EE5241A85F7896B1A0E941453916007C67B47194352636DF36E2230F4502B2569AA8AFC79C71B8B675805375E1FFD2764AA8B8D58EA9C9B580D489B09EFEB1D707719F3AA99C447C112CC77B3F833989BD2DF98F32F068B9C0F7EEF240719817B11ED583C82CF3BBDA268D60B03FEE05797E3EBF65C153AC84E899E3DA3432880F18B09194A1D170DC23A1D17F53DE6F3109CA8A88E1390F0D49902A48520B9283C06746A55B041F4A7DDC0727A08DD5717FBA5584670CD0AFC7A9597749C718B8FD11222EC41506505ED3DB5B8288FD234E0A9237D6715F8996980D985587A8645357B0F53C480F72C8065F5188A0E132AD315F3E7C12A854E93D1CC2FE9252FBE68B3BEFBBEACE38531E5BF5F2C671FEC8EA58F5E31A4BB05B8A6EA87EA7BCCAB50CA65FB2A2F312F183B5B1504ED04739BA854AB436B8FC2E50C3434FDFD50682FD79B19CBBCE2C76EC1FFE0AC9E54C2F9BF51497AB95135B877328868D6AC2B7F764FEC866CBB6A53F3461221240F1BD6D99C38DF6121E3751CECB1E0AE1A02FE054059B78DD96FA0CB3D1952A80B8AB550EAA82D7524C02778416E035561D31AE99F2EA52CCD10EA09ECD6EF244576D18E3C12110E6D224C3D296A8BE95F47F5A3150B32F67B2C18F5BACE76DBCF9F4A7F58A818757ED06EB3E5C987B58AB40016BE4666CBA843BA4A09C579B2274130A8BDD7DC37557CCA365302AED9CCF465F3F970D9799646CFB9B2B69218045F6DDF5180D4E5D36A0F63FEA6B71E60C200F3418A8FD35C4F2684C81E3D715362061DE34B4AB7A118249D4E74EF7C6898073014120FF2D80EEB2664E47C2349C44905396F0B9CD0EC343D61EC4C6657AF7964CCF384E83AE0DF1736435F90B766528EFC69D9AB204D2D8A6D79D23886DE971852CCA9283EF87125C28442EB082BE6FE68F45F1B3C440C3F93BAC49CA855604134CEB4E968654B4C00D1E7A81959435FA36D0DC43400A8DDBF26EAC8714223B4D55AF42E75D3ED387E52E5222B3646BF018C79486789A672BB826841745F4769A6BE8F467AB2294CDECA2D974E8D3FEE417AB6D02CF16E9EC3FB22005A632CEBD64B5817286807405B9D78050E61B5D975989282D7DBDF2BB81AD2E15C07F9AF22DE7B80977E3442C1F119312A20B461261E8B681CA612E7C7A67A2076781600F057A6EB3F8A0654FB982771B6C661954B66D96086AFD110B0239E0BF9688004018E418CA2E3DF99DF01405508B8D69CD6A75A7FBDB52D378C2BF798045D02A9DB7B1D9D275FBCEC5CDAB923C57420AA26C31C0B632D23EA2DB8C193E55A1DF6CE8FE610BD91C4BA81A41C80CAB69744B8C88554F1FE8CC14A0C29467D7AB4840AC9E861F8A24C953D68CAA583291F1BA8603EED2C843001402AA2134A067EB6EE2830C4972530A5E4E2628E63266A51BB3537EE48EBB6DE869997943B08511ADC9647E8224D08DAA3C009F4D65F0C9A1AF4E8B225A30DABA352FD5D1F6C36683AA4F44602E32BF04484A7CE88709AAFCE1F93EAE095FCB89A1E32DC92C4150592ECFE99AA59938A211FB13733F30ED476BAC2DB34F5F0DA67A609C49CF3BCFBB90E1A7974B33D0252C5DC18E5C67BF5C0133449936E387B3C35823C9EEB2E5BF6337665AD41EBA1346E74362D3E5FD8636BA54C4ADB75448D7650FBB542684FD924F8234896569AA466622A53C042CA843ED6BB603F2D7B7058DFDA13983ED913ED565C2E1078F6731C76EC796CB41297CBCF3BCF442261D2293B813703AE9926B22F55E33AF4049063EA443D230AF25597CE20827952749D020FFF07A58AED951FD9CA9B2ACB15346D513B3490E2C1294605D91EC67CC73F76A38FFBD86D79C55C86515164A8BEACCB386E75EA181C76233C18549D41D5EF5F4DA25809DC71B5C3F83A1DC31D4D117A5751D77380B5419A2A4A8CFD2391DD97F88C7C8F39A22EA0EA3 +MD = DA3B6C908D947A02590239E111BBE4D6436655A30F7F6F17DDF525CF + +Len = 12632 +Msg = AF033772478B6C7A405906811D787ACDA7B775C28EBFFA06AEAB37EE363476239A4FA0AF7AFCEDADEB2DED7CA3997C82A54D6F0D1016C4BC2D182F6116232686F7B5BAEC00759E7B2ACF0A2F9DEC55F3E3C702F21D760A853283C75B1EDD75442E30DA1DE74197913BCAAB1A619E44C65F410E9B8F235D68D1EF0B7853AC836259C76B4A84F402C2E90F5879761351DD281E19219E274AC8D76589153FB5E687CC0DE9B543F763E632A465BE81F2FADE0FEEB96D4102BCFA276D7C9D06945CFEA6C82CAFED680BDD37F6EBE9B8013BC2E7DEC52A87A1C539D8AA5AD525F9405B1DB1EF942D4E98F40A01C3E5E555C92D18F36EF4DD8CBB5AA7207FEFFAF28A5762DDAFAB4C841063C64F0FBC32AAA69CC130C9A2ADD78C795F5E417B57263909526D2A741276E44D05A3C175B51FBA17FDAF7D83EFFCE3487159CD92F40A19C567DA4E667A008C5AE8E6E04F8526642CB4A2F4CF0A07AF44A65D4F1D6701D6E33BAD2B1AE2BC18EF4522F64F285652A1155487B8A49E9B0EB996567FDEFE07B8EF97DA55C493448FB0EED532088ADBD355E4966ED5996EF88CFB942543D5065F8826F85618DAABA9F1CEAE1483083CFD5272BE07FAA6270D51B7DF74258FF62C20A8B692A4FDF0F6955C1FFBB48C5BD5026BB257972A81849DB7B4EECDAC9531C2EF50F915119086D8E3B52191B765D6E38DDA2B125DEB8BA9BB841460B9755D1FE38C1765B72EFF98B93DFA87E0CD4787B74AE335A9A61B934E258ECB764284F0715DE438E5F2F59639021EF2B21FBF49D53B635F683E3711A2AF1D1E2555F5AE93158BB5F6670CCC0C99D23CCD4D228F2A6374BC7AA2C321F03A8ABB4D9DB673A63EA1CE5D5BA5133AF9EBDBCCEF97016B813A9765B9AC1EB51A93D7760B36751C766283AB13E773A128559155455131B8466701F6C16ACC822612C1BE81E14F5D9BDF8B9DCBAA7F3E10C35634004DAA506A26878AE7510DDAC3FC9F8DF0F52E0BE10513D641FDA741FD265F9E0E3DEDEEE45513D188445890C384DDA51BA4CD1AC63137550B595FB2C3ABA5B60A798C4418C9402333232E1A2661C8977DCCE606F4BA89E83A1BCAB88BA6F3DB5934C227D3CA820063A1DC2EEB0C1822DD2CB89BAA12D81BEBDFFBD054DBC4A063355ED3825E8196CA04D6D12D8C8C521D633E2F214E846853DE5D0877D41058CEB77545E773C0B5D5155D4B61B4CB060DBA7DFCE84D3E25F39EA6B95CDF83110E9C1051D746F0183C01B06E311035A28809F4CDDA0784D7903E132DE91E0F426D937C5E98FF8123AD11AC3E1133CFA6298BE0AB58B5DF55D6060D5163D847EE5965FAD60A8503C3BB54935856544D57404215FC843D41E5C73F1A8E500F0BAB3FBA3FE55475F89A967E7E07ED21D6D821A797A9B3E9334168FD6D1F19F312A5BB69422CAD506851770C3897DF838303B2783F86C8A506EE326EE4D8C492CD1150F4771A533440E74D7E9080193F6D4B44BC26658D8BBB53A132AFCE1899224BCEA0375A5E3E563FC16939BD3EC085D2A5364FAF11EDA41EEFF44409C5100F0AC2EF60EA8AB98C35F9FD65FA61D6A60AB0C35437867221DDB6A87702ED44E115BAEF16F25CCE2B11B8062A8C2A06E34C4000EAE881BE3671C566B4C2B52BE284FA7073364B7E9A6DBBA8AE7EBCF6008491C66C7EE49ED426E7A3EE3DE255B0B24F88A2E738177CF7AEE4FFB5F2CE4054CAB2378B0AF8A5A2BE2FBA43E5859436A4F321F8522C7507538B74D0D3E2B1B94E92600D7116BA319D886824908B04803531914AC7A8153937FCF2085968A7B924CFBC49324BF0144BE37FF39A235A151873F9BFEB57366BF9C8A0A9DC9C2E847C7B87D644A0BCF091F68E463CBB51660A0DC7C002765F6D15C446A1D84D625BD10CC97B818066618482803EC0C73B66BEE4FA71EE72ADD45D5BB671FCE5B278F7F19D909EC6E92019CCE4418796ED5B97E3A7D9006D2C3D82287C659A526DF519C11B21DAFA787BFDD03F4A2ED832EFE8C9206B59290CC3D1EF74976E38B05D2B9AA31C18E66CA7FE0CD803EB583F4A6ADC0E90A521492EFC83F9E51966FA69684EDD67F4A111FA894241E9DF30FA8D2227D7DB2E79FACB7A2D9B94D7D5B741CD9224F96155BE988E03205D2C47541A001E2A7EEEA3BE70DEC19BCC6125DC9DC0CAA94FEB638FCB605A46A224FA3BD180F6761D4D9289DB2D2E762699583F0B864D9081611DE2B1C032CA00C7 +MD = A6351B05AFE19121B15981A3D48AFA6FD5CD7B6589A947BC0CCDF5AB + +Len = 13136 +Msg = 8F1C1E85393B9C2A2B593363DCEB818B102D0F57D4E1D31BD33C034DFB1F17E2A9DB960D70D2FA0AAEBB7B56C809EA067E93C449F4026A258AC04B6CE809A734D15B7FE13E4FAF8F2614DB9C3A42435FBF158E3E6CB30AA727272A4E323DF21720AD65D72B18A4A6BAFF9DDE47CABB343DB282175D85FF51B34A197752138AF3A017D19939DF728A09C8F28CDEF4CE5FF540A6C9968F4635D8D3281F1A5126FC3A7ED368DFFD41B5AADFAAFCE5FC069056854A78054917D39A34945FB5E608FEBAC88F0A5360A524D9C887241D2953BD36E46DB75A458F4DF4940ED71110334407DD0008A6DCAE7D13FA5CBFCEFD6667BAC657DCBE1DFBAB483DAEC686AB870EB60225689633F71F0D3C4C870BFE6090298B372B73D5ACA2225AD724200CE2400A77D4788EE6D4B560332A020DA035DA3D520AA9CC52229329A81847ACF680B3AFEB2C1BC84B06800AF381CDB9AA0A687C50D03029A0A6B5641A8D3A8E40FD9318D3C5ADD51A4ABE661BC3C5C47D38507A8AA7D6275DF3082633637E5700787714FC977698EDD2218FFD47A81D428B0FD61BE651478DF0010DDDF9363E93D8B37B3D8E1B122B76E15985D9F4ECCF55936D918F0CBE39734A1C41B33B3EFD34D845DE5526C183D918786C8ED3FAF1DEB92E85CD6FC30421D209D6CCA47E9DB5341251E253E932C8F08628D2115E565C2D581F8C8955D71936DD505E8558DEA1409E84EA31BA5355D7E2D011F7DF83ACB9CE0C6DEFA51B16185A66D3D6D1D1D7142168D9B8A0832FD2ECADAD64CABEE8C79328B9513328FD4C7006222685AF6C39AB5F081EDD49154B5A25375EEBA3F663F7799AEDC40FD74748BE956EC66F77EC97457D1C08C4A03BA324365499D8D0AFE4A45E7563BC0E4E33AF704E7CBD8F85CE14FE1F84E1BBB871D361D46E0EB0B044D4AF33B8672B68483E7187F1F89BDE3DA29C405029DD3DA3B2EB8C248E3235CD8D2EC17271BA5563A09F5DAAA5E9D118B1E2AA61D232F4EF928DE1A10C786CE3270B889B6D859F35EE00DA10FBBCDE01A9CD472717E1BB35DAAC57531D44C0B62BF86063BF355E0C08E3BAF6499FA0BA8EA96FC338507B675D1A31008F97987B2CC366E715F43446F9DE4DC8C0AA7D81BB3B2E7BA7236D317B320C934AD80A7B17F0F591FD9DBBDB1800BC377B6B04DFF1D268F3F6191D3A37015624A8B4EFDDC1F6882D6679FB0FD92BFC9526272CD6A2CF768E6DBF3FD1732F6B46CD4CDE5D07B7AAB467FB8716E41CA9B8EA9139D09701736B038D25013666A8DBE63E0B60F93F6E77BD27055984730A6CC5791C6B5585A1A51F787EAA42B3DB7CE6159471DC5454B7313ABA20F2DF104BF98862340FE0A7043A555FFD07DD1112F9C1627D541A896BC66E78A01AF4AC308003CF970A5C11D2880E395BD92D455960446A67CCDCEE71CB6E76F9887CEBDD1D5A60131D2BAE7531E14F3E04A4EAF5BD366D4E1710293189131D2B9D8F28B8919B27F54A01FB804C2D1A66B49366C59465EDE6D6281BA5656E0BC14578ED3AE2189B1DC73DB53A217F534E27543004AF45451E6A8FB964B3FA2C8AF0144A3B22CA3B0D5F382417139DD8B1E62469ACEB1781ACB4986D9725BDCB8BD821A2C4490A6E75FA4E0540533C39A9DCC8697C169D535EC71BF1DB04A6446CCC07CF34EA440B4D45CD8D664A8A35AAE7A16FF8AC4D2360D400EA19E9F000E60B92229C51BEF3090FFE9C5461FE79D395EECF4C11AA546CA00CDA99B5CD5CE4F41E0F00BE6C2AE3C4EEC7DF60D7E760CD3076ECF5FA61DAC163DFE102E3917F692B36CC1BCEE79FF8FDCF8E18AC90D4AB0069CADC2EE6E4A92E52970E63152E77FB4A047D20E33526A4DEF63AB812A17F09065E60AABB7A2B898CFA10A35B7B7CA9FAB1583F357894CCD8AAAB08C6D9F6FDF1B8EEE4D938068D35B3EB0B1AEAC3D676CA5034448C6B07DF0C9E105890912693A84C981C636E7FC8D31B19FC2DEB423F13E422594BF34F74DB5AB0806F9F2E7C0F224F37E6C43CB192593C851A7CC1902741B55B86365BEBBBF1188005105F492D43E0A9A07C7AF5C605A3C0569BB4052697775A9905C7A0233BCB9699E6BB0982EA7DC252404451CE6DFD1A47C298C5ABFFA15041CA28157FCB4F484772767C025D0C4A8E89A1F59517D72693A45D13998816698EC21C640EB8E9F75D401B8118AA3A79F65E2592B50611113CF405002D6162540A0BA003D409C1D58E81D2F4A7175747EAEC68CB60A854580B7E9930524CDA26E9B74C488F98BA2BB08B06114B8D1F24B51F5B7ABF7E456178ADA8C77D9CA1A932F85DF4DB00CA44C483 +MD = D9AD06792161E74B191170AA2365A0443E67EA9DFFEAF1153ABABFE5 + +Len = 13640 +Msg = A8B748DD6959FA8770AD6673B8E70E35748DFD0C3BDEDAAA467CE4E502EB866D732683CB64E78C523208CB67DD9A6F3D3247F5B413B1025A33B28C63B42802CF6D7426DB5C7A265FD820610A14453C2800B1F5D77671B15BC792C0B0DD64AAD3532721FDA0AD87AD7A57D199DCF5B2FF0CC84A7F744EA7369E6F4D8F0F77DAAA7DA0A8255E32C473D981FDD4E9C855282BA0D58897EF2329655DFAF87537CFFC25A22AA0874EE8B54A370390601A5492E7634FEF8E24ABE3203550EE8788926F1BCB8B0DF70A0630357D991BB8F45DF6A03A17C000E97840FECEADF945165CAC4941CF363DB49891C86A54FA81B486A563492AA01F769A01BBFC7E8697B12B28CD1FCF608B0DA5EC7F5B65369364CB752C83D6891B7D870D52B3B65C3696043474F91A0345CCB7AF34CD5B308B1DBF2332099F671A8CF4D809E4605628B10B275FC5BAD4CAF299BB5801124BC86359AC83B33BD84DCF6D6DB41917A9A217CC682AEC1859A427A32BC1B11FFEEF825DF451C7CDC033E9148779F753CB4C05674EDE8EDCEAC80CD23DF372464F039000FA3AA47D5A99E14894CAA2FF5B90057D3F411B1459168A85C284D5C2814811BAA7700E5ED96E4517464FF1757811BF3691CE33D02445980BCC40E24E1F9DC6F9DF45342CA4E14E013C1FA06676D582555ED55D069FD2DB267C92DB577A556E6103E69D1D73335183E26ED88A5EFD87EBDDCAA5927B97F094209DBC7FB337DC0F7C98A975A74169600F3F1A1C7433ECFC74B319BA3DD8EF69FD1CC6CE83D1B4A0124969F6CD24B7E3D3418A80C735B4F7ADD091882673F01FF20E38461A2B389DCA81E5E6CA2213AF194895139CDB02130C1FE043E58783C130C36BB88A9AF656E406DCA114E96F2FC9F00EAAF5CA9911708A4A2E6CFEDA2503C49B644DD2562637134CFA33C50C62199E99A8A2ECCCFCC3C6A1FA62BC1AD9701B7C9CE14824451059414ED52AD36A69B3E0A4FB543F40099C437E89FB12F6AED816C9AF7778D91ADC6218A113AD9C9C0CAA4E602806C4339EB456DA4C092180FC8A91FB9FE305C95CC4AE5CCB06DDC64F4127906BE28F7014A9EE2EF9F9F075982F7273B1469DF14BB92CF29BBDB487B8DDF37F5E10DA60C70293448B7E8C5D92148FB466A28A16F2EA8A3FB12C8E8678BF4D139AA2DB2F171122E59705EA3409FDB324FCAF27909A66ED1CDE7B92B949E9073ADE4408E9D5537D3B1436853A0294B77564B70B1E43AB13327D617E86971D009C7DC1BE0337B185701A0521DAF4940BF5A151C6D2EFD077A3048EB7B37ACEA084E3A3ACEB4F2F44E4B42E9112FE6727F5B65AFDF28252F341DABC9FC8C8D5DD2FA6F263F95C00665854217E915D842CCB2F33310124E5B5792BF0863E2C1084DFA511387AEB1AC404D32ADB5C0306EFEC84688A956C7041C724E8741EF49DE2772FC3E174E02F81B7D970E5012913DCCD2CB0925CE51D725E8900BA589A970F19B558CDC57B30A7DB60FEC91AD0005B0DEFC05DFAAA2613095F53A478459B4E89170FCBB57F60B2801EF87F0665235C004B8F61A166DD5885DA1B04768C08F9EEDEAB78A1D7BB49294FFCD134522076C3E0B0A2A8FBCAE3D001F4E1DF0DE1669E533F4C9D95CC2AE0C42B67A628D0871B83CC599A8AC4828FDA49EC2F9C057CC995E79EE5FC51905BBEDC756A7486E79537B559B49EA57E87406C20EF94FA73025FE16AB588591D8E89C79C3F914F97AB1542DC6F86435F132405FF49463F6B836F8351BE8C1E21DD14B619B5193BCD04470EDC4B863174E4F1B20EDA5C3DE3253241D61CC17F4FE1DD6AB0A7CD102258F6366402B44DA9D7C415ABEA13411A89E77906DED43075135787820692A3785D09948C5E063551F51A0B8FE7BA9A070A6E0648B07C9CB99BEA7593393692EA6A365D0B2576AA030BB4CD288C42500C4297CB073B0F7370DFB7AADBD8569E51ED6A9E74AB58E647879F7A537DD1B3E4816AE90F6332A219439ABA6C9D7722A30C932A2542F257111450FC270971D2E6C1B9EBB34B786D215A01E89D536558D904422D8E5A5B3E2B2C54DA191B947C48EE0ED296355BE52ED192DA910CD47D8B4FE7A29A23BA2FA23B8C6CBF4CA572B9A72EA9688CA0DFB2F74AE6D78C2D96748E587D2D1F5D3C99AB0D98DF949456E067AA02B3B43D2916F051D636F28FCF971950E9D9C1C0C94B894EEE76E9AE942283B516C0E4A10527D0F120E15CAEDD19546ACBF1AB85CABA764C74DEC2AD190570D7D44B5DD637974E8BA26B60F0A408B7C56DB73395C1F1E7606016B661119CA4689B12AF8F608A1810703CB489BEAA12CD72CF37BE43FFCF2F7F8C21A8311A527831BFE5B7CF5E9839BA138187BABD9ADCA84C35B9AAFABA6BCF7ED0D22DA87FB6EB8145591C9B3652A4EAC256 +MD = B1A29C00AB2341A77CFED8398F232B1FB57BF4572EAAB7560D7D4CD6 + +Len = 14144 +Msg = 5B4D2985E61AA7145B5E760435FF0D8E12B546EAD825400FA6677B5E44435593A38AE2FE152D8B55879A6FB05D72DA1DF4F5CCAD61712B8E76BD69A9D3EF09DA0B2FFE0A00FBCFFC83263D48E3A263A97582D20D9195B23875176FFB45CB8A942C4860E3CE6C26437826DDCE61D4DA4FDA3878187D551C3BAAB37ED66EB10D71A18EA6E48B96FDE7CC1CECB821E7AE5BE07E34C6F5C20604424591A4EAC3728DDC786E23B07006441BAA56E174AB4C5CB417008A3D6656ABD07BB71787CC390F4E9004476D0DD9E9CB33DAC68A1C6C0CE45514DB4461F7992714B9DD28194856813C9F24C1DC4ACFFD0065B9D50C2662B41633472B25C358DAB53F85198D76C93AA20C7483A1DB21C373627538DB87035EED0E78BAF5205A2BE0CAB925A0FBCF141543B04FAC7AAAEFC3A53F64AB3A71004684A3507535D2530D8FEBB4E7909A3737F9A4964716108B19C491089A01249E4571742FF85872E9FC8E8E7569AC15655BA084EF6ABC582F6E91FE2309D5E4E3FADC554DCD87E118262DC408398AF5DDADAEF2CAFA99F6E033B3A422521F43DF2D720693124D6DA2BAF5FE2B37E775AE3ADC4610807C0E9B43ABF8FA71AB977CF9D3EDB07C5644F8556D849B2C40F523EAE927BCCCCF9FD7B76892BA4FCE9DE71F71FA7006E774F7EEFC201A5BBC694008F8076EDE5B85EA3FFF1867C8E215E192EAA9CC8883CAADD68BE57DFAC989B25D92AB8D53709490C6766AE8C21720E6A105888C2316BB301D392E8ECA464C8694300455571FDAB6CE25BFE3EFCDF08C7CEF99860926AA8CFCE6803DF0A7D0EEA883C2A54862E0B40135C3B3FB9D0EB218E5E1957E45FA64E2F7F8F2E294EDF69F26A8D65372A2CDBD792B7514EFFEE4A38FF2A78774FF8470FF3AF1A1B21D054B978A3F8E16D5D76199DDDEA87FDA4C290B6789067362FA6E6C37CE6660ED905EBD3161B9D05FCEC8E132956885518EBABF8525BB3C356301048151BF6DAA28EF6F125F165A79B8EE314A7FE20F25A7E2AC8CA3655096B1E77C1005582D82F28FFA108B38D1C2510C40F06A5F90195B8B2367313523981F2C7AF63F536DD3DC191A5FB0984A7AD0CF994DBFB8A5C8991DCA74BC1848C6CBCAE6EAADE0ABC4A45EF03575E82A2C3E0BF5EFC19FC9F2EB36C07E42693004397459D555F0D6F267504EB35AB798856300D96025A1A017433CBF492F7F3028381CFD1375C3D2C5B71CE285FBD1CB22987F5A2146043D2C1F26E6E937849935B6D6CD89601894AF6A0A7C94FCC100E8F167A7547D7C72A3B425FDC0EAFF68CD3674F9C07B4539BEE7E885749008CF538DFC3657F3708D778A8F39E5D7B13AD8ECF84DD4C0ACB65A4134C71DD590AAD97D6EEFD015FDE1EB5315038B483628CCAEBD095B1B4203B66095731E6292BD806C6DDE417CE9B564E2A7C9F69893F0B01FA8AAF3712258A3BB070CC502063B09C303EEA0A646A204E1EC0B31ABD6ED56F4FE3CD7F2694EBA27CAA4F581F31254C420B9A51B4339FDC813A446D29C61CF817467F40F6F55EB07C0C7A86182A1472B0BDB9BEB874B2572A2A1EA65242AC5EE41025DBF0D4BC338F09146CE59ED656F93C8D87BE9F0D73909291AD1336103E05FDE9E9BCC77ED75220A2B6339FF6CD8A388153F55C9CA03BE9DB5DA242B9E9F299E23217BC937ADC6FBBA90980A29B619988360301F7D8DDCF7B8FAD0651F31231B816620A295D1D6C6C90643E2F2593A0DCFB700C017F0A88E03D3D6871EBE420B7F435A58407C667EA684D5906C91D699D0F3868294432FD7FECBEC527D213FF7D94012A52C9F818CC19B3FF9F3D834DFBAB4B1A6B069375D5C3CA6C1704AC5CB391A3F4DA4EE3588551633B6B01476F9B13F1B36BAAA3BB6B5EFEA0D9D150E3325357151071125847038DB3EA6ECA114AC55F5DB1FCE8089E18D478D7AE82D173599A02DD670B46794E9E2CE91BAF90DBA5AFEFCD1BABBB8EA210640E14EA8E085A404DBD9FE15DC3CD0BC3A59BF997BC6A10DD4EC8970FB396505FBC17FA5D61D90C989B47FB367F7B2EB17702FD039FE16EC8745912003AAAEDA09CB644449DD85EF010488FB0FCDE2D804A0ABB59F2C4F594B3466B626205703507701BD4FB25AF83343AFF8A09A004A559F750CDF6B2ADB2CAB16E2AED2BDC0481ADDE1A8A79513E94E6F959F4E4265CF2ABADBBF173A897C50FDC2A219D260AFD0C3475148C645E65E343D4085B76CF14ECC839E4F7C725130777535ACB154F74B6738FDC82327F0BE5794D630CC81B87D5A19637468B191CC2AE6B67FD5C3990FAEED6A05F482E5DAC91DAEDECBA379FA68BFD85A218275F44A8011A74DE303007E9F5E955DF052D67465D4A1C1791B88C71DBBB6D14F3CFD49F414ADC26CF8FBB797C7F4D65AB1B260C43D0DA063837877883E87859F99A36FF2185289FB3B265CA1D017C731D6FA6437F954E55C4E7B90155156955D2495C3305EF196F9BD62204BF18DC1F3E8B6BE2C38956B169B75 +MD = 0C79F30DA2A4AB9968D5A7D9969D6C969D689108EBFFEE3EA4E18E1D + +Len = 14648 +Msg = 523DE8B1F4CBB65E81FF0B6CCD6EB8EF0A0F0A691ACAF4A77F25ACD2D66AD4B3EFD25BE70308853C094412A518A32020E3020A9F6AB32F0CD60EC0D7A194917D6C457B168A54A4B46F7B0D0C71BD61CD202F4C718776A701E0770B0EFA05418770F98E4E79CD066366FB3300E8BE359A98B82B764BC2FBBF59C7E8F94A157B01C6C7577B1428138CD422BC47330F8ED99F4C0AAB0D984287445539839389EE08D6345108AF26ADED0EC1D7BE774CFB8C5205DFE07CF6CAF8C1AFE37C7A2E4FE6013B93EB2463DE4E0971C7178D6A76B16A0E8960C984CE8BBE71B3B466EDF0445B835F09414D01F14C7B6167FF78FF118127BBD5F812C27FACD57B3B120E2BCFE87315C7A92B82EF5D50CA14A7174D1BEA7E056523E055A6AE42EA3765094E5544E5ED003C989C2F98F38A17E3DDA74DBAF9C669A319638A2698B0E4A611480D8AD3CF016792ECD1034925F42B9811A7214D623D047ABCA31997DDEB03275F80DD21F40DDC80616E7AD3D481E8EBC0A1A6A398E16A78369215541ED10B75671ADEB1AAE6E11142A1CF665FC1B7332DFBB0E10C21A2B48F78E57319AC9C58DFA8B1C2548E2979EF1ACCFEB215AFCD6C2C1B46FE97DD491758378330EFFC7283661D2CB84FA05281E9E517408508D24D042E7B9BCD34DB87CE972E4CBCDB98615FB93093369DFEDC782F44BCD03E81CF93051318B2401FF29F753A264BDA65AF199E3FCBB8B5D39C838A67D6C7A3DB046DC56C323DDBB5340CBC229E47CFF8C9D29B7A49AC0EC8C1440AE498C7D150EF91C29BEA7DF3EFCC2871A13A1D72D139CB4603D9FFFE85F6DDD544850EF63C3944FB35DBC00D4308CEAA6394B6E23F650D323F8F7EF50DDB68F1486EABF989BF44451F620EC9485C0B52D1415D3C909A2CFBE9D77DB19D069D33BAEE4D77292E63FCBF65C1EBA24BFFDDEFE95211EF0AAF8ABFDA9F94445E582976F986F5382CB669506AF2B4A5A0C43000A3C72C5CA4AACDC9D3D39FC5C492A393B6C341B86DACBBF6BA8B465100CC683EDB2D9B9F83EDF9C6A32645F51CC79ADC22A52A007BAACA618BE35E356D1FD1CFBDA73F1ED09253039DEF609450FD2D5943B9CD49CBD52A318EE3510D7CF3FD8FB388AC6CB9C6EEFEF3D3CAD8501B91CC04A888D33E16D6A4C9666F5F5F3B257193F2B46DEDDE11842909D8C48ADE57775B0B272E2DC9CEF1A083EB2CE58F4D1F211922FD6ADED1B82FE6F5B11251CD396E5A3666ED9626036E4E356231C146BBA0A91AFD3648EB7BFE0B9C14F15AF2F92309826F468945CAD0AC422DE3D6A773B76178422107CE0270E7F580B5CCEBA82CA0184AAFA8341141E65E39859885768FBC5CE63B965A0604B659E71D9DA2C7A43646088D8071D76926163AAFC69E25355BB0A222B7B2DA9F0A20C021ADC462E905A9C3BF31C16D87FBEC3F014F3957A720F1432E1741553092052FB58A198640479ABCAA51B104CC93E2636E1460643EA812BD44E819C2166EB6B349BA5BDEBAD59078910B5C22A56F004B8D9E4B1224D8D204B48ABE7355548A402736C5CB110F3A1476ED631FF168F4F3EFD89B38DE4751536548647523D334FAD7CC2D142973F2DB3C1FE08FC5CF83F9F2BD2DAA524B37864816AF29EE05951FA09D1C51D9D14EE4F72FD7BBF18B1A724FF5A0958A063947C430142AD2356E4400AAECA442E163372A8F1CD36E2DB988E7781165E5D4E7074ACE40858E8370E883694AF09977704347FB735C8717C42BC4EEEB2AAA50DFE637C640909CE379BFB9E2608F88751377038D1669F248178AD580A908D7A1B8DCC7E53E01801F1E485B5893F103F03E0F53B2B1440BE95644D85AA7F6EB7EDFBB46652196695EA23C08573397B111FF909025E20C5201293B4D223BF7AA01DE7CB28B94714370434B9588097E2401B62C7A0DEF1FBF89809E810749FD3CE9EC3C07CE4BF4C43DC966429B2BEB4D711FC6C448A12097B36F1E6817EAF4937A983F85D9CF3E62CC1B2AC6AE1EC9EAA8CD8EE2C3322239CFE5DB3D4E8786282E630A7D259C2FEFECA03031C960A66A71E436A3ED6F2F3CFAB4BD77C660D14205ABF606FE561A346F7D849B69475AC9F6822D80B9A2E56D5D495E4B309B0EA963C9FC5C7EF94B217EE5337989AFBC7107D233A8B362AC27C4F69DF9E191CD65AE97D6EB9E5484EB6F10349575E4CAE51452380151F902415AC9CF42C824EB23C9541D2DA1C26DB85F53CDAFB06A12B8393CD580A8E494EDB6710C720DCAE30832967E33E6303A92B1DF0841D7724284FFD2E00B95C6D623B168D21AC1BD3C675EDA33182A2C22370998DE1E5EB905372CC6EF32D5B765F5C94870DF4842D011603BE4CDB1C227E41EB2F2E8542CD325884FEDC9C5C7BB07A92D20D64B836215C59F162A3DA8BB67D6FC13FEF97CAB6ECB8A29E431A6519A6261C4521CCB90E6E609869E6FE398404AE047F64EC4263566DEFEE66329DD40AC985EB8A08D26529A544891B6F57CC235C63C09057AB6B6ED720EF41A3C9AE65768B43F6DCF4962A103DD93C213171DC2C9194E43265C689B49331450281A3FEBC618D1AA4D65A135137051FD46B568CE294C89 +MD = 2C700B4059916AF3F47D9017F5725F42B0D51895331F090048C276A0 + +Len = 15152 +Msg = 24B1190170418126DD7A5A81FC080A9804311B48C4E4DA680727B874318D17BDD34BE726DAA760A40208BB6F512E5AA889B135D277CFFE6AF802954BC918E4D599EE185D598701C2FA3C28F7EDB355D74A8D2F1A9EFF8B6C2ABED776BE8BACDCFC6C98C5E73C24FA0967B6F2F79051E648ECD953AB5430B8C7D96352E600A6FC04FD42250D24E4A5969BAE7712C6C1BF8B95481A0F8186298ED2A70E16FF8209C0511AD4E2EA17F539789F9A1D47EE291E157806CF680067D37231032B032D5EFB1552925497E57D088ECE2B3869684357C466DB454D4FD9EE9BCFC5DFD7AD3620B3FB244F717A48FACF0157F87CBBA94B91C0C39002F78351E3EA6D411CA587B91A0CBA4CE21A8932EC9F0F6E8FED5DE7DDD03A3B90B6C6D828F7831AAE1F879FCAFF77B76FBA1C0013CDDB19E93D878B3428FA91F1A5179F7240A5B47B146FA34E3997730B601DD56F587622114813B57239A289DBA2348B2BD8207FCDB1CE0032984D9389D731942EDC5A44D872EB86038E281F49C868DBA278D1C94AD1AC376D57085EBE875CBA7AD071D5CB3843DDADC6ECF8AF7D6C546938957668E4E8DC05700900FF2A0A2E8DBA726CCEA443F8681644A377D7FB39FD159F72B8B6EDABAB76E4AF39FA065C9B947F53702A3797552E92D313540A50E73981C4340E88722CE19797DD5305E561156BCCFAD147685FEF2B76F4CF8083515CE8F0C60A52699F08E6AB24C1DF612D93D7CA26CCB2D5156BACE4DA28E8F1E9992BB8480D301046BABF55954FD5F29C074806482FACEC432DA10BB7556287F2F108B114904C122DE43E6A77048AF3B47920515D1B03E280C1E7C05BC71089EC769F7FA04E0C4984D186F8C8EE305B1FB21D03F025C95C8CE9C50AD6FB527EF505BD203ACB5B12D4CFE08F4579971590BD43755A85A03BD296885128AE64333DC30301DD7C9B8E035E22F75F411050DB6A17265DCF3F3DCDF8FE0B728A680B60EEAD7FBE141F6D9298EDBDD07D52DECDE153AAFDA6698F415EAF8622861E54A2B279E3B1C0EAFD5A589E7121DF6E51E4D7698566BCD5021013180D77A1908C17169C9BBA1BCACD5AA4799DF84593013E21C303ACB670DE66B5CF08FAD04769CD05D69E3ADCD5B0002C75618A6A1F440918B04DF7B2DE363639152CB6A26D77DB7F400291E21479D5A7E0FACD36ED09F2A2E74F564B8B676D3E3DE07712E1F69840BFB48DE63141A2455DEBE2E9FB8186A01921BFC8D644DBE315EEA943D370EC648AE74657AA57512B39B6D872212DD13BBC7FDCB481F7201F65348017D0259FA99A69084D0B62E63A7408AAB24DA4D3BA6F7B187D014A372FA8160175F3B37399EEDD7F6FE869A1F0AB8B0A3B835C9D086927DA75AD483CDBF83F7571FE1041376B8B57A15DD1DA7075ECD040AE2F5BD6D371ED3EDDCC13F8D611C22B29FE9F246125B2B868ADAEAEED40BA1C3150BEB50940875B08E650C00A095EC2ABFF723F7F1F5B97985B7D1C1D81BFC031F64E452125CDD13732D86A9CB7EE1D89381434D939B515F3F461567B905CCE4D6A7A5A0B7F964FD6D5FE90FA726EFE18787D26B083BBC8AB5D7EE7F9D79D3556616E0282FC14B80C9CFE02A3BD845B1A3EAD1DEC61393F0049B85EA64A7BBC0585A0E24C53D774E5A085FC217EF6F0370A794A96E6BF572A4C3195E916C9A51814989DC4AE65D090976BAB9709FBB51B004694AB9C0833637FE100183EBECFA6F78D26014A00DBB204471A6A379D9E4294A5DA78F38EF2B0A474E92AE6D811E112FFB224C6EE2F5B2A3A5ED5B529EFD2B9106D878B386AC974CD5DA99113F11700783226315AE8B9CC9C41423E47B51D10B51AD503BA968A7046753D3F5FB0CB601F4A8D594B12E283843911710B8977412C3B64E8611728AD4684D7E242A1D85FFA5D01E7F3DADBC1B1691030C8AA51095CD2BAF36E5B45D1FB7DA28973A98FB3BCE835932A475EDAA12C232BBAE4F793324F82BBB4E19CC9E4482393438F94006246C3A81AB51BE7721311EBF1927488F1BCBBB26792D6180D0CE59B69E397A6D60DB83C321BF971F5D804512D554FC3453AEC14F6B0B5E82B8A87BC8EAFDF7CAD1EB07E164DF61B6D0DEAAED33D4B56B175184730102E77CF81823EE82BFE945E3B7923818157C579A774E8D05FD77FE84AB36A3D266BE1F094048B8E417FF0556C95C20C0CC1F3963965E5C37DF5B4D88653F831BB222F399D867ED77BF8C89BF6160449A34EA78AB7D9928001FD8DDE94F30C8CBDEE4D06FBA150852EC255C69C590D07B5A803707E11A0EF689CEEA9DC0EF8809AF685E48B79B4337C756B0E567D3BEC43B4431E86B79D6522C56DC31802B76893D548F8F851D7696D8FD8DD15F60253163F8335B9897C477E6D4C743BE22B1DEAFF90693337BA8032978E97BF73BD3FA1B53A46A779B13CBBA453346234C3A68F369AFCDDA203C058E3F3A21ADF8B7C872C8ACDECC0C292DCC43638D1326B5D2E1870537777EC8A47E69EB54A30F9B1AE214ED0A14506EC218B05CC44086F653048D7E06949D6017BDCC7713983B6EA9DD7D79365431DFECA3AF4F6CF1EFA18AD23B716814F614ED2A22A5D8B377F442F2C402DE05CC8C2DBAA5076133E0905FF843D64545A7409711E1563071C5D48E2AE765AFDBAA84C2499FAC8F1848DB65B745776A49211D0 +MD = F62ED9FF9D91DAA054C25927A1EA4C853ED9B3CA63FEA78A671213E6 + +Len = 15656 +Msg = B8B27EF941792BD6819747432CB844D11D3275E235D6A04842D0EA1BE5A7270E3D32924D2F74DEB9AC5A8691617A1CBC1046A5AB8F89A6E5A84E7CF3B319B0EFE21928AA00DF31FED34E2FCE5076100FD384273DC5B3ED56079ADC948E47919E8CE5DCE44726F9368854D5EB7EA9DF4445F4E9A3EA55652404B71E16CFF45E407C8E86A56B4D2328AF7DC9A11C7490D02DDAD8BC81316B0C70C2E0BDF3C4BFDFF2C661399531E134A599F9C2F8B5397285EF5447903C0B43A5ADD96CD5C688929D0C05B57B5C46328A4B0D8501DCCCD6B0D22F1CBB40F90FB3D28338EF4E1CED2DD56CB569EE63A14A5420176B2F1F8FA1B39296AD88B52E7D3D13AE066668E60835A04AE815D481428A5D39DF18E67C4FE0F3277CD74273B5F78F9FCB93D70ECCF9764798827BF4D6CFA8EEB685A769CEF964FDA3E1E13C96660EB0E1851E30F1EC4B9D915C6B620204A7F0988AD3990814A095DCEB3EBA9B7023F2337B09B3268DF41CB5C721DF9A28518583B1011763ABE62377CCAA5B3277475A9CF72E36B07BBE8F2E2B0D2FE26E8B81A5B04AD6BD0CB8C80CC359C4EB38EA250577D2D06D14CCCD761E0E51C83078517A500A810CF0840A9FE52F415F96EA1D1644FE3E81823BC2196051DA581931646193666E00EB8003A1DB1F95E0D4165D084D5891153B6F27B157CED6675ADFC53777843B1F33A4337A2DA2395BFA280BE711F3CBA2A961B6011EDCA35C57DC20D926982E2074243D644FE60C76AE70AB1E2D904C3BA68D8DC7B5813565F1461E52D46253DEB187F609592B1E92E062A8AED576CA3381B7625C2E84B3EF93A338B97D699377E99619A116EEF9EBF05A7F3EAA96F32B6B491A2AA785303AE03552311B113B6E08F2E18F60D7198035D2C8A600D9C572251B542ADB198C3B5B5978E09393274D09797BF2ACC0CBE6C9E501A3C67A3C54B8BCC169A68A3889FF5C02059762771EA9B87B7484B4604B20E1D324F48B0C807DCD885907003187696A0BBDBE5FA0B0B373450FC440F698967BAAB67B621D8346CC43462B171D0E2E710D696EC05DFD51578D6244375AC6ED69568223F17A67BDB18C86AA9A982B7269FD04E278B9EF1F379686CD5B6F5EEAD91BF7D8547EE868D71B6E07E907E8883018B26380A16E779A3A86483CCD678473C31838A04E1AEF78793788330D162D1ADBF9E0CB1551FC14ECB87356C62EE17F95D38A634917DD3A63C07CD59324198D3FE6EB4ABD928D78D8CFD9D05B74F44F691C8CC3533FAC926ECB0FFA989F504A9DC79CF86F39525A8DD3EECC4FD4842FAE92B02CFF25DDE9B08014C371F41DF226235253B9B36E1EA8C7E8F081DC0E958991515EEA0855CE7BDF3F2EFB01831632C55E065A2EC4D16048407396B2DDC233FA0422F833946AC32CE14320820051D5A68A7695854167264A6415BC078DC37C717C83ED7879D776FD8599A71F999DD5AA2A53E9B6A38CC177058F7A147B6E043B2B5AE5010D017D327805C858613081AB4943981CB7457426B7A857D2FEFA063DFB655997036437D18D8203F68D89FF5660D310CB99F5CA378A9FB80FD84852A0591F0E41311100D168AC7867E54D5C6938D72723F22016C962EBAA67368A173CACA26557B276A29ED4697AFB6AE9BE48D7C411A9177985CE34C0C1BC1FF87D476876705D3157A789B4F0A7DB6C272EF4AF614BD421029CF74FD17FF1B82DB190CA13F02E60A6F2B261AA4FDFF74E2DEAB18222C674FFED711EF887F7E4E605E3241B751C581E96E8B918974E90022F086E0F92B63FD7963DC1D0F5CAFA1EB9DF69C32B9D1BDE99E89193B974D41453EFD36783F92BF2CBE1EF6DC56EA20EE9AC1F3A7435DCC21A2066C63B746343E565182A941CD22998AA3413088AD2801120F562F64B7AF55D3C6621BA1301EEED652661BC22184BDB9A9AEAB67CB18D85612E7D8F7AA2F7D2A6B3C4545B40517A4A74CB0FBD4610AF8687BD6929DDEF85C0F74C66DBF64A83BE1077ECAB0C5EC92991C6B8652BDA8E6C088B0EBA61C9006158B48F88D8257AD30F7AA50FA0EDFA025FBB7028BB978396714BCDC2622290F907B84247B70B71AAF608315DDFC78C9AE4297195EB956A7990891D5C83DA71D45C8EC9379EEEE0F8F01A29CBB58B41EC75D905C77AE533C5122B907B6D2C6E4F423F6914C58D010BD4F26BEF3823587C95C7BB8670CA7512E8D7223619CCD9B88C6158B1500B9223AE31BE27D509DDEE72BB1C298E308C46CDDB93E500A0B54B41813BBA528EC1F8FD6E070F73E0289AF534670C8D2DDC98E95FEE6B39F3F3681012B5BE028C3CFE7B2DA5D7EFF3FF352B6450EB4710EE54899D9A09B0F2D10A8BB177BC30EAD38CD29933A715608E625D35D919ABCCBB58F7C23A047FECF9A9226930438E30F262187C7FC7AA872C3651C632479C2687777E152258972FA4FAA67633862BD2423248430D1F444565AC1A6A39D91536E003667D88DF89D9D1CF909451C4FCE3556B25101E887FA8ED5AA8D6FC2DA14CF379A54E3DA7987FF2C811DA0DE48625BC8C4DC345C4D195ECEDE0D18AC3709B4B6A8AEA78A979A6462CC0F19443096E392B3E142690163CA28F01BD606958F6A511AF5B191F0F37373FB451E28EEBE271E631CE1FAF09566D8C6E1D4BB38968785829667E37538712306A69CE67DD502F01CAD3560AB696FC2A5144B553FC44B5F1BAE4640B1347A99CE98E224F8810983D64154A7FF5CCABC138E4C42257DC2B5E5691FCE4BF4A88965AA3460871A6EAA3 +MD = 88F4699892C21E05645A035AE66259D446AFBAA22E352AE18F668C9E + +Len = 16160 +Msg = FBB36A6D35FA8C0174BF87FD3C232D1F6059B8C43CBD7106AEA406CA2EFDCABECF3B05DB8AE53CF98E866DFC5EE714EA3C555802F7515598560BB35E0F0B26D5F51B81FDCE914E3651C21951CC45DB3B480821E41654368B3259E953501621FA549114D80A534FEE583AD61D681C4FE402925D3BC72A7A63D042CF051EA2FBD2B110017D31218FA0BDA84286465740D549F7035492B2C0A282544CC536B8E4EB8695437D6038B13F9125F8C4799CEAF85339530E478AE2ECD4FF909BAB849A18CDD775B6758808141B94F1A243BCA4981C9D4B7A29CE53A2C17C3E62E657BF51B6163402D6C33F17FCEA979E40B0D6ADAF572A79030AAC63E02E99310B133BC007AAC9FC8564200A9BBBA0F5B1228B7D9E869DD824319568CEEED7A9C87E5A5C20A6F65879150D8D279F1376960E80A6E1CC929B30406765BAE97B22D08E0225BC320EB5004DB4F4648E6B8F8F1FF13182D1B20838CAF69B054E72DF07E3E5C53C669281E227A13FF0F6350578F2E257D9A2DBBE673F8D4666F3FE6B46E007A08D4C79FCCD4C8244DEF3DA4B8619B2389FC79D5C15432B672121FF14B58742DCD565EC5EAC780BB8832DA16C3307B8E63D41500E618C8FA9EE077F4A98236809CAA3F3DFFCEA6EEC7DC376226C80C5B1DF3EC161C9993DEF3903D542EBEC844C2E7E69FC215BC59FE86D5E98F98E3B8237D54CB2C28B414700E1E977B145C768301E78B9310119BEADF695A05C509D95863C4236A3B99C1997EC739EF4F3D74DAD5FDC66E494EAC463844874D6A9ADBA891C617A9F98D830FB0E24CC09B70114B32CF242B7C110715F2958219596E0AACCAB5DCA7AEB2C1649358DD95817EB35CEF4DF997242ECF387D6A06149E6B4661203627516812D7472B4D3F05F1AA200D5990201E97DA0F3D3ACC81377752C7B9455B591AB6B46AFE8DBDE732A9664A42175C20989B5A307209F64B0F2AA00BD297F8EB72ECA7255B99F07298B1C59E3D413327EF994EBCCAED1D986500AD2DE5915908DBEAFA00498FA374EED2537E0455EC5060F8CBCA77029CF2F21B0D2EF29950222947D3B926BCDAF61615F73F0195EBF189CBFBD25075E6C70640A81E64C36B54232CD76EF24AECD8E619F652AFFAA27A39FEC7EF7DF3B6C9D03B51C0975ECC0CE4C09CA29F56380F0B2B293321ECA37A6675F43CC7D7A4A196D3D11ACA35A54ECA60DB965EE1DB7095D481F1F276F6AB4C0B37398C76ED4A5CF2BB7B9C401E2686FF8678AC6C1D141C3A40D41C44B3F2933DD4B258EDB45DB5675984E6880C3927DD5087F94E122283FB76C0F622B671477B2C535193D1F4330EC09CDA03A1E4CCD1A06447E078AB7A37E34E54C2E0D911593FF522ED94B5FFC14E62FD21D00D7E5BCBEC5190D5A40615FF64740A1D31D0CDD07E39BBB4F615A4A0345AF40D0647F354F96FF2AF3EFBE25B9E38E1C5550968A18BE6DA252A5BC861CFE2D9CE84F56B0071CBAD937C947C58D0301E51DD1C3146F7810D795204BC0C7FB71F96224BE409FF732E14DB1C2CDABA7CC746C4FEED829A7077F48C7F466D1EC0C89E3E247D15A4A63114EA1E6FD855C98CD7870CEFC75ECC8114F1135A1540DE6A8E1C05C9D6DC554A6B08E86C8158EB3D844C5348A61D54A6559B0B7F4BC592558200A289CCCF39AA308782370B2981CB5EE050710E012D4F58A9D1E2E0B9DD5A3532455FBCC1DBABDF041F0E7B9DBAC805A503832DF59B29D0D1DD6E75E735DF9082B458DD10920C2CB72CA4AE28B63815785656A7BD897F1436393780DAC6004F68A745B235913C536DBD5C23EACC6BAE635C949EFDD2941D9F1A93ED944180427FF57D0AE76A5D584430FA031D8969883E09E853E6A29921D70214BBE2F7477CCC9F16D18EF6911091D2E62A8C00567B831FC79CE5DD65A95304FB7B0C56CD4D7FEF15DE5FBD19E312EF76C58C67645003BF0A55610F7A60C7D7C5418EE04C45FFBDF3D9C3C792A5E92979D6F8D1998C00A020C0F1974BB867335288F006DD0E973A376F353AC0D97646924C1B35C274E6AD1103A1BDECEE53D2CDE4686BD6AAB9407A568C7E029B86557617C261590384259B3093E0098F11C17DE7210113D586B4624C2E052AE6738EF10CCCC728F2AE111458E5FA1A93EA3A594E03AA1C65E5471F24F3B8AA126C385062A2FBC2AE2F2951874BBB64E02F3009A575941D4235B06C1FE451A825CE91BE59BAB85DA91645E0E2B8CE374DFB054A40809F26DB0AEC534AB5CC27E27477F1C1A729F2CC0C11FC51417B71443B657FD79DA807BB01CD01B036C6737258E60DA376DF08089F41056FC454044E0F1D173A7E6F11355851D36626A4C3E89721FE659BF58B72E411B015BF13396B269142C576A5976AB352E1708C1908C43D873964A097721A60485002F4675C5A5F582ED4BC7786EEB2D49232DADD6649BD9CEC32D6901EA5CDA7BA838817DB8C0AFC254B94E4AA39C0671EC45CAC70A73BDC77E821CD8BAA77DF6ED0F3F79386DE1FD7D7D81AE7E05DB6D1D9CCE8F42ED4FFB1A7FBEC62984DEA74C9480945EB916752EC9E0606815F8D5779CEEFD2DF49775A1CA29465AC9783944A0617279303AB86C2AEEB1AB4EF1FFF7465EA6850109D770C990B842A0A5DBB1CC14EA4947A356678FDA4EC44FC9D8FA352A546A2485F842A6BFAC20DEB0458762A72DD4A039D64AD8485D9F1C4D67EBB87B99FA95CD5B38DF8E32CB6EFF1401D0D2CD20A7DBBC3977B0854EB9F945510125464300C91577B21B6A0A61341379D1F1E15937C4EAC435D05BE9282F632F84C2AE1290C6DE6CA6C5ABAE90A6C9F37321966CD33D86C6275C018FD2C15AEC46C095AC0CD51593CFB646E8A5F8 +MD = 8689CE87864B65866E50AE8173BF9FDE1E6C00F50D2799F5AF77ED4F + +Len = 16664 +Msg = 6E1CADFB2A14C5FFB1DD69919C0124ED1B9A414B2BEA1E5E422D53B022BDD13A9C88E162972EBB9852330006B13C5B2F2AFBE754AB7BACF12479D4558D19DDBB1A6289387B3AC084981DF335330D1570850B97203DBA5F20CF7FF21775367A8401B6EBE5B822ED16C39383232003ABC412B0CE0DD7C7DA064E4BB73E8C58F222A1512D5FE6D947316E02F8AA87E7AA7A3AA1C299D92E6414AE3B927DB8FF708AC86A09B24E1884743BC34067BB0412453B4A6A6509504B550F53D518E4BCC3D9C1EFDB33DA2EACCB84C9F1CAEC81057A8508F423B25DB5500E5FC86AB3B5EB10D6D0BF033A716DDE55B09FD53451BBEA644217AE1EF91FAD2B5DCC6515249C96EE7EABFD12F1EF65256BD1CFF2087DABF2F69AD1FFB9CF3BC8CA437C7F18B6095BC08D65DF99CC7F657C418D8EB109FDC91A13DC20A438941726EF24F9738B6552751A320C4EA9C8D7E8E8592A3B69D30A419C55FB6CB0850989C029AAAE66305E2C14530B39EAA86EA3BA2A7DECF4B2848B01FAA8AA91F2440B7CC4334F63061CE78AA1589BEFA38B194711697AE3AADCB15C9FBF06743315E2F97F1A8B52236ACB444069550C2345F4ED12E5B8E881CDD472E803E5DCE63AE485C2713F81BC307F25AC74D39BAF7E3BC5E7617465C2B9C309CB0AC0A570A7E46C6116B2242E1C54F456F6589E20B1C0925BF1CD5F9344E01F63B5BA9D4671ABBF920C7ED32937A074C33836F0E019DFB6B35D865312C6058DFDAFF844C8D58B75071523E79DFBAB2EA37479DF12C474584F4FF40F00F92C6BADA025CE4DF8FAF0AFB2CE75C07773907CA288167D6B011599C3DE0FFF16C1161D31DF1C1DDE217CB574ED5A33751759F8ED2B1E6979C5088B940926B9155C9D250B479948C20ACB5578DC02C97593F646CC5C558A6A0F3D8D273258887CCFF259197CB1A7380622E371FD2EB5376225EC04F9ED1D1F2F08FA2376DB5B790E73086F581064ED1C5F47E989E955D77716B50FB64B853388FBA01DAC2CEAE99642341F2DA64C56BEFC4789C051E5EB79B063F2F084DB4491C3C5AA7B4BCF7DD7A1D7CED1554FA67DCA1F9515746A237547A4A1D22ACF649FA1ED3B9BB52BDE0C6996620F8CFDB293F8BACAD02BCE428363D0BB3D391469461D212769048219220A7ED39D1F9157DFEA3B4394CA8F5F612D9AC162BF0B961BFBC157E5F863CE659EB235CF98E8444BC8C7880BDDCD0B3B389AAA89D5E05F84D0649EEBACAB4F1C75352E89F0E9D91E4ACA264493A50D2F4AED66BD13650D1F18E7199E931C78AEB763E903807499F1CD99AF81276B615BE8EC709B039584B2B57445B014F6162577F3548329FD288B0800F936FC5EA1A412E3142E609FC8E39988CA53DF4D8FB5B5FB5F42C0A01648946AC6864CFB0E92856345B08E5DF0D235261E44CFE776456B40AEF0AC1A0DFA2FE639486666C05EA196B0C1A9D346435E03965E6139B1CE10129F8A53745F80100A94AE04D996C13AC14CF2713E39DFBB19A936CF3861318BD749B1FB82F40D73D714E406CBEB3D920EA037B7DE566455CCA51980F0F53A762D5BF8A4DBB55AAC0EDDB4B1F2AED2AA3D01449D34A57FDE4329E7FF3F6BECE4456207A4225218EE9F174C2DE0FF51CEAF2A07CF84F03D1DF316331E3E725C5421356C40ED25D5ABF9D24C4570FED618CA41000455DBD759E32E2BF0B6C5E61297C20F752C3042394CE840C70943C451DD5598EB0E4953CE26E833E5AF64FC1007C04456D19F87E45636F456B7DC9D31E757622E2739573342DE75497AE181AAE7A5425756C8E2A7EEF918E5C6A968AEFE92E8B261BBFE936B19F9E69A3C90094096DAE896450E1505ED5828EE2A7F0EA3A28E6EC47C0AF711823E7689166EA07ECA00FFC493131D65F93A4E1D03E0354AFC2115CFB8D23DAE8C6F96891031B23226B8BC82F1A73DAA5BB740FC8CC36C0975BEFA0C7895A9BBC261EDB7FD384103968F7A18353D5FE56274E4515768E4353046C785267DE01E816A2873F97AAD3AB4D7234EBFD9832716F43BE8245CF0B4408BA0F0F764CE9D24947AB6ABDD9879F24FCFF10078F5894B0D64F6A8D3EA3DD92A0C38609D3C14FDC0A44064D501926BE84BF8034F1D7A8C5F382E6989BFFA2109D4FBC56D1F091E8B6FABFF04D21BB19656929D19DECB8E8291E6AE5537A169874E0FE9890DFF11FFD159AD23D749FB9E8B676E2C31313C16D1EFA06F4D7BC191280A4EE63049FCEF23042B20303AECDD412A526D7A53F760A089FBDF13F361586F0DCA76BB928EDB41931D11F679619F948A6A9E8DBA919327769006303C6EF841438A7255C806242E2E7FF4621BB0F8AFA0B4A248EAD1A1E946F3E826FBFBBF8013CE5CC814E20FEF21FA5DB19EC7FF0B06C592247B27E500EB4705E6C37D41D09E83CB0A618008CA1AAAE8A215171D817659063C2FA385CFA3C1078D5C2B28CE7312876A276773821BE145785DFF24BBB24D590678158A61EA49F2BE56FDAC8CE7F94B05D62F15ADD351E5930FD4F31B3E7401D5C0FF7FC845B165FB6ABAFD4788A8B0615FEC91092B34B710A68DA518631622BA2AAE5D19010D307E565A161E64A4319A6B261FB2F6A90533997B1AEC32EF89CF1F232696E213DAFE4DBEB1CF1D5BBD12E5FF2EBB2809184E37CD9A0E58A4E0AF099493E6D8CC98B05A2F040A7E39515038F6EE21FC25F8D459A327B83EC1A28A234237ACD52465506942646AC248EC96EBBA6E1B092475F7ADAE4D35E009FD338613C7D4C12E381847310A10E6F02C02392FC32084FBE939689BC6518BE27AF7842DEEA8043828E3DFFE3BBAC4794CA0CC78699722709F2E4B0EAE7287DEB06A27B462423EC3F0DF227ACF589043292685F2C0E73203E8588B62554FF19D6260C7FE48DF301509D33BE0D8B31D3F658C921EF7F55449FF3887D91BFB894116DF57206098E8C5835B +MD = 3A447C96E97CABBA2AEDFB3DFD1A563FE05D0F13326BA54375274EB1 + +Len = 17168 +Msg = D7751AAC0B43C4AE8C2CE366256F95E3570CD6AD643C076F05652214B6CA4DC134E64077CB1B468CC19500BA1D3FB0D3C5BAFA267DCEE972EB4BA3B70AF32A00E481416BA6917DA4771DB3DF2DF38862D9ADC8150007E6C369F3EAEBE29D50E9A5A687793B3A41487D2096625A2D0AD46EE44021209E0F752615EF13232C3EB9597B0F75BF175250E72640F245DB41B6E18DD067DC628E364A92FC96CCBAABA0E924C8FA4E2E0BD8D5EB1F901E153DF1284F80B6B85916E2BCB3F0AC0F357C58CA356481C3E9020331EA63E87684032489658867F7BC88BD98FDAF081AE746A52714AD1BD830C1D65A9EA5E8F0B65385CAAD9E2BA9495223BEA661E69A5BA035235063F275C5C655FA0D165533FBFE70A48DE545DED7BEB72FD905FEFAEBD683F85344103DF0B8DA663348005492D8BE2AE95C30FC629C4D027D503D686B5A34BFB6856F24E8FD9E56EB589B79C28F727D4249C6A8CC5072BB19229D06F2A5F7B0223364B4A0CC55E53EDB771A2EDCD7F278ED5286721CDFF0696616566642CA04513B58D62371D8C533FADB90E43D78E488900E556C865E5CEE9C652F94440506713E4833CC6E119D5BAFB0FCDECF257DA9C7DBAE0E9825D4459532A2D71B226ADF8849D691D3270B73D95E1D393F6D323F0E39A443BB5DB50550959123E59035413FE4B15F32F3ADCB425801D881A24B241B1D95E8BEB2759411BA7F34DB03C88E55716A64BBA0A2F41F50008A57C31DB3A6EA1BE64691B388E93C3C4CFFC97AE4EF455A1BDD013D44F2BCBF4A45C0C4A6021C220270707C36435835CADD611386B5FF310E449778234603FD77A3DC176BB965A0EAB2142C1F489087D4BAC3D7AA03DA557D23C943F6588D64C3E14769898CD45A6FFEF50BA45391460E243A904B01A8B3D80814ADD1E6AF635E6B7DB457A47BBF707825FC72929DD1F8884904FB5D4F8C1A331B443B01B3EC8978927C1602ADC6A9455B332AD3D5074B7A400D22367A057EEBD3FF91DDE2FC3E367F5780A67F5E22B8450D2B738CEAA99AD29E0032D17D087725DACDDA2905CC79FB94BD835584620AD770F91F9626484BDB6535B08E130406A397CA732175E3A9B1D26A833DA2CEF70596D8DE6D2C544AC001AEFA0C5709220AF34994F32A20CD982C67EC3C3ACDF4DE6EDB4ED461F3B05C2E0CDB38C606376F0AF4687B9CFF71EBFEDC3B3D4E253CA4FBE89F4B19B820E9BA1D4FD4AC40D05BBD815093FA00CD5338508C71D5A5F73F3DE10E58A3AB8D555E5B32854943B924939792BB160FBCF1D82AD6E1DA7E3F86EE46274BC775C42D2F541C4FF0764EE1D9D635D71D849C1DB917377218F49A118454B4DFDC0CDCA20E4397137D6C5744F387FA3EADB245B0757C50BCA803A9F0FB764A761C77599027FF8822B2508597F46A41A03971AD32E59A2668AAD2E9798306800CBEFA0408ED528E58B1D5F312C4EAE7F70E7DACDEF0B2234F5B96BAC97817011DBD8822006B1FE5654B5A3E795977242C25F56CF3AD61231ED88E390B4A0199A5D06F0B3B9D9E918BF66BF376431F62D40721805945924938D8C47374EBE697FEAB839E6C26B6F3984FCD149C173E2FD85D9A45E5350C554DDA978EFE22C81B8978B651EE8775ED85D688ABC798E7D42D256CB36C09788D387699CB44970AC4A056147BE9BF5480A952724EE13368BDABE812EC8B16E4E168013F0DFD1747267DE2B19EE490EEB8DD4793A00C7ED8F779B90F2C004B30A607AC0DCAE6BE6D1DD6DBF2DBBBF0BCB5394904FC7C4351BDE6125115BA1FAAB76ADFD0A4112D962117C6C304B8B552A9DCAD1B9F7EA9595DC1A432BA8534C61DC7869EDABB46F99D5FBF13B257CA2803C73617CC32A3D39C2B8E5523326EE49755B3B49DB11471925D71C66F4E92E9C4B6832B236539DD886835253B9681729F493D304518EAEAF837CFAEA9798A6D4F8736F06FF37586D190783763A660465DF397883616A5CD1134AA8B63385DA8BDE87435F6EF79F069CD676EB7D141B1FE4D510DDE942F503F01BAD2FE5FE3DFA8483E8870E2A0C3F45E6E8B49E0BC7B1F473E5C382085AAA61F663B3A0F815B485FFDF9E76D18BAA643293A736EC6D8487D76F72BA9D210CE2C9091063295671B364CAC70A6B1C7B859F28075A8E4062BBCA72EEC1E3990F011251ADB36B92F5E140F6EB7034AECB10A865C774F2B297F088780C6C56BBD5EE56020ABB2BA1FE7B253FB799DE90261AB0B87306BAE0877053AA5BD6289B076914EAA987D631E5D11DC67E85B81F593D96CB6D99E62E5EFB5492BDBA4555540BD64DD1F343352ABA273395E0155B37EF2172C164ECFD2E4CF886C22D49754A7421FE4A12689AB6F28718611F2A48AD1CBC0117D2A668C9B2F543DEFE73595F9B2770108DD2619CFAEB0C40E65D65784748F5A5BA244836473A42F64E71BFD2F4196CD5447B7CF1C8A4600E8CDAF51005FFF2C0B43458966D79CE039E7AB1A1F485887909ED242BDCDFD4A26C294506478E16E71E7145F109A48E573CE658F62EFB6F667B486427E7C92348647DFB1EB23CA6E47B57D8F69126F89F2EFABD876236759414E775F6BB98AEC332B0DB289DD5B2B7BA3DBBCA2825B0303B44C3B90BA6D029A5B77556610AED32FF21D13BF38667CB31571F5FD2AE90DCE953D8DAD9C16A3EC34F0C3085A44C0213DF11539EFB80A013C31C6D72CF62ABCA1BE594F7D9A47833A863FCF581014A83E73D7E66178C0A007AA21B2314ED0B6E16F4149145C51AD8CBB6897A6E94EC091D9B8A11B4436213E7EA0D34D34953ACF4972A6E08B137F0A1168324BCB9D9BD4F03FE0CAEA5588C8C0A93722FA4A9673EA0B3175C370DCC23C287276DA6D050DE89B45A4BF2F0056B790634A77376EF02ED351CD5D33C54FF150DAEBFCE8D42EF3CCFC9021F83DA1186166FF2D526230D7EFB28958D66E2DE41B5D43C3DC035025B0D1A7C8627B92845F0E388ED29900075E84A6E20D9F7CE04688529F9452BBDFB68C912B0FECC2EC9C9283D65E22BC658FA3DEB3EBF0B5679E +MD = 9E49FE075B54F3C9C94362755645D90679CBCAF7ED7F7501D0C2937B + +Len = 17672 +Msg = CFF54596C315403090B3DF1253C9779B89E866F1421E13F7646E3CC16D0978C41B959499C249D229DCED6E267CB4CB6699E0478BE8DE4E13BE4B58D6B63083E9734573093FD33FF2FDEF48754C09E891C41DDB62C2B4208F779C44BD445D852E2BE9DA7FCA6C5D7C015F319E4BAF9F9B8C59710816A978F670EBDBF5EF455748204B3CF1501882530F7F95357B7C0C66B354AB947FADD41974101602C926928D8A2B3AE14597DE327DE07B724F9605BBB70A193F4BF6DB0F1250BBE0732CE9CDA13F2203EE04164438B8893238A1863C19F223266A047792E138B8CE77A96330386C86067C7F1097C1A4437ACCB9DFECC965D576955426F066D1CE72BAB6AA25B944EB7CD9859988C9FC38C77398839E5C3A6A94E9190335FA8A20F240B675A5E1F2544F957659B557F2C9393AA799ABAFD4D0A3169627A7985131C7C2BDAC9CCE99C8C744373C19582A14BEDB713B2068F101FAD706004C63DA2F5675347A095393BDE6E5EBACD2F88B0AEC6999FA0A1673D8F530C5A43E65A7BB24202A7DDB5BE1B2303BDEB0065D3D02B8A3A7B7463ADE755648197F991DB4E73379948D01D66F88E605285A14151C6A0326432C4005A852B6FE7410E7A774BA17D86F8BED48D83A777FCCFA08FF6C0F4AF9B44D20022DD711B1F9FA88A338AE412868DEEFD9AD161A910CD55F3375CA699F8F3F2C3276E30C2EECCE99BD8F254CFCA747FC398D96C3C9B5621ECF8DC777D4075344FDD0E99291556C9CA586CB5F06F1CCA32C1194FF82F20792440ADF15C176D01A4C4FF04A02D2D80A476A5BBBB1EB3B56F1DC76C4B0602C50B62A6DB0E160C43DF6C87882966BCE7C33CCE79BCA7CD265014858ACD6F0606E2D25B9A49409E41B2B17DEB24EF5EBE34CC713D5CECFD5EB560A8ADBB45699B2EA19876EC9F216BEB541446004898EE0FB56033ABEE5DAFE1B2A196F11E741E16445B1E882C2CE6E5F433C6BBF258AC9AFC81453D4F95D9C3756088E4288FBFDB81A72E1F2E5A4ADB99EB606E6B5AA484E578D97EB10BEC972D27AEF2444F340634EAD3AA681C0A43F04735ED744525E18C3EC9DD22213F8F99EA6334127BFC0D703677E15A413B1F28806234AD5106D1C93A0A54467336BC02AD71291605A87BF26C95A382852C48E017F082F7289C57E3E9243658E9C10523637FEDB5B3687305031621A6A62F65072D572E35325F3F47BB3683E437C1F648250046F462FF6143A372AEC2A80A999823ADB2BA65864A7C8055A1F38E8A455313FA4F091087609C84899641B944A2D764F5AFF9359944B33D0AD0005C08BAC003BA14D5086A88D3C12FBFF8CA5D5195068BC84EF6682AC2E279C0082DD0ABF42333E7E52CF8BD1253BC266F412D050C9CD2E2DD3A814C592193203547A6FD0CE704360FD9844FA1FB789181175D089DB4DB8659C5E2BC991F213442285879415618593EA76FBCF34067E7EE0B5BAB78D26B2A4964BFADD9FCF4770EDC62C0747800CE582BE6C3D44DCF6B448988103C4FF81C5224838F72168985B241E88D2CE3B05864B3DAABFE8063330765BD1093783AE2A2A104D3258CF0282E5165857FCE961FAD5627F508C4012A45F61602D076CB2108EFB8D963F266EDCC172F0729F3B4391B192868C90B58EF83CFD713A27CC8494BA5AB9EC88B33BE6F5DD03C15E1C2A84C1BB9A13FF4967FB20884FCFD9F107E13405307A1E524AB8804334108610B12BC3ECB2E7B6C02085A593208027A4E525BE7D4A156B975625DB2D87097D0EA36917920C47D90DACBFD5978DC62E11912017E28D4328B4CEA1C5D4BB8F176AA793BC8248F3F4F80F52156783C47148CE93F60E33FBCC7052A8CD490BF585A67B27930776C7B6A734D7E771B7DE929CF24C03B77A27AF2F86A75AF59D6BE581E3D1BBFE1F6EF070C73FA4BF580E87E786109E57A0CC1D027CEE3030D79EB67F4BF71BFB3A520FD6829EAEE6F5ACBC45C40D2D19BFFFC7310EB082D67E4CEB2B12BB77C334AC9B24A559A679474A86559F5294330B155B9F8C9D845856C37F7560FCD926ED0841C8D077249BBCCB28BC418DDC7D189FC0AEE67074E95F81619B8727500F163107EE17F06FDAAA1E6106FE558CD0707AD85884C51EB5CA108644C908EDE0433DB745930428B56406E063CDDDB1A5C835444A0733BA0497FE2C0CC2739C373E8F74B24BC1B3A09C28654E74C4842C5B1776009784A405B9F81EA961633DF7BE908593B1EF824E43ACB9EB4C3972A662462C42EE1CE406ED55DFE6245E9CE124FE7C038DEAA15E487CBC1FB9B0FEEC1536AA90F2EC9F0C979F369FF50FB99A14D3C0AA9F94E668A9801D514DE6901DFA189196D0FDB1E4313D55A3ED19E8768ED8450B387B8404BB9AD9DB1FA48FB43A2F056168F2369655D8383CDEFFCCDDB921F09421340241682CF1AD233E488DA9584895BBEFEC3602693EBB7ECA32BE773C9142569ACFC188A97D46801F613DEC226E82F29EF07C1E0197F4462B4F1F22EDE13E1242FF5101693112A410AA59D4931D2E98992172AA4DF8180D571FEA9EF94515910D6CE14D81ED8F060E8E6CFCCD1678A827736009DBC38DE3D63D2BF7AB78B0C9CF3524379527A7FE4A034E36DFAFB018B54F08EF3DD41904FBB2782D63EB7B755A6D306BCB004F0A8CEE3182B99ED6A01DF198A0027DE42938064D32E45D37A613FAEE1F1075F699125675B18908C23AB0BE248A5A1AE8A01B1BF76CE71371AFA56CB3462A1C52469A460A357E4C7874224C37C1366DB9FDD3A6F1F08A6718CA45BBD3B1850E74E27E76571DC89E5396EFD5C28AA37A61DD3F82FC4257C080AAD25ACB8B336E5D093955DC6847AF1AA4BBAE31A0E64BA5C021053E851E05E1FD398B5ECA2149219892EC0A644DF2277B77BDA83572A7906B168A9AB17370AB9E24B57667F9DE503FF0B1F9B798DDA99996356CF60555DC63EE40B23C77FCE438790C8F25003003320ABA731A2F233725FF7D62A49E76BCEB7EC76F58558C025672D7144E5943408F4DAF60E4D991990B510F548551F2ABAC996E603F559051C4A82C8181E967EEE72E05AE3508E181DB54C8EEA4C05D2C9440521EB19308B3D5F0B5485902A6B01A5AE04F0A4D5712C2838C815098 +MD = 13B72F2CBA9F9A26922EE7A8E5722AEDD62782D4679649ECA6CB48C6 + +Len = 18176 +Msg = 94133B8E14785FC19565A3AF0AEF60462BB7F8045E2EDF4A836718561AEEFBD0382434D319211C670FC699D25F02EC608CFED9786B7DA70E5595AC816688455CBCB4449536E8AD20863D76937796CB0C599918A21A0133B6C625B2000BED8884FC86356FD742AF78BB55D652CE4892E7C296853A40AF29116CC98D38874CA0F8BB5F6EC8C04DD7F3F9681858E0CD54D8F9B50A830C31A9781E70F63E5922B08617802104044EC2ED28566E39534FA8859573F024CA381D87BD6E04607B9440D3B7D4EF0FD172A6B8FDFA2235D46BAAE0778467BFED91D33C8DAC9DB5E7EB6C69FFCC2E9F2D6B5F53ECC800306103D86CCB1E3483EA2AC349EBA3833174D5CF058B8CA82855A938A6D38272851B1977319AD78A96A59B7D6300836B0B219974CAF8776BAB7ABF4665757F9CC941299A96998D3A910DD41FAF26D4AB54408FDB920FDE1D614A08C2F02716A17AC3A98554D9271F644D0D74C0D4A75C663AB8FDCBCBB75B250096C156366EE1A3DFDC6B28299B38C0C14BB685A89ACF6C41ACABF6B3C6745D08F73811009E9E5EA868D469A0C8CC35D83E99B2DA57D202324EDF0558E7632DE782740CEA7D6C4DB9590F675CED9E6C27C8D39884990D7B685C89F70E55E084AC8C1F366A2B8EA89370E7F7D724EB9170729E20BB18C7026BFDA8BE4A9813172B76F72B7FF8FDD31F3AD47282979DFA8704928042C24AE398050A4F4384517901A3A2D4230C56A0CF3BCA928AB211BCD2BCD4EF0B73DAF60240F39AC01A7AB29DC80896F6118A56DB957662C2058F045824DA79DA35EFDBA1F8D71094154643A570DEA95F30CD28F28AAC3F3204132571CF9CB688D27ADC77662AE925B75F3FA3854FB849C4450D4CB6169788E2AA6AF63A30C3654B81D08AA118773B87D0F76B7AC443246658662BEF132ED13218498F0E4646EC7782F63B0169DA7890C682A2D046E13C096FE521E4E42851617DFEAF85CB366C6DA7CE656553264BF673906872CE8EF4452C0993B2F5191F2E83117E2E8D66D3FD8333F0DEBBC9D2B1ADD31ED807BF3DD2DC056A2590F8FB1CAA31D110F389DFB045C26706802ACB2B4E7A2C1E5971D07920A58FDF2E30A48756A2BE92FC4729E5A779D61E82477603CEC73088C12314CC89C99C0AC91E41F72E830956F351D560136FA2412F5A47F627F5724A73FD4C584C9AB62F028342278E96B7F3F1EDD270CA45BC8B5673971007FC557E9C3F1CF7A65C80426502213EE2D5F32AA726C336894E35AE3FA3DC452F1E13F94D6AA2BA5AE7975C14C3C2804FE71998AC481241C66FB81AD62157E4058884931C93DA6C377FAC5DFAD4C6FAA505461BAB4FA85266922B2827BF3B9A431EAF25C5ACCF839F78A0029E0DBABA8A2D52B7E0203263B6C265B03C97600C7539129C3EBA3B55CA8820327920559D86878136E40460C45F5E3ED4D0A84E81BC2AF68473AE7C9EECA62E5591729DEAE74C4ACC974BB998BF6FE01CD2A781F10146CACAC66A492905973B06C3917C72268FF89E84736AE386ECA2913CEFEA3D55C6CCB392D1B1C1627269C060962ABEEEA388791F5BD4EAEB1FE0338BF18FC3401BE0B7AB55C28FBCDADA3AD2B39E7BFF28F4F8F31173390EEFDC9927A066A554E8175B92EFB8808C92527489194C6192D7F1CDA78ACEEAC77E67BA502F794E6DA3DADB8C12E5EC436A1AE0AF571F34A9B5EDCC64A8ED34354E36EB67E8D616317075160F725202B832C7ACD649A86FF7B135960A3F295786976DAC96637D949ECDDA43E7014C451EE50EC752BB20C8DEFB199207C6B2BB0DCD1FB212E6DB26476BB3E90F5ED2B9CBB3F1C243DADCC622CB503D08FF4B266A742C5C61A4FFF23DE25CAD7C3D13C2AB50AD2AE77BFF6E1B18E593283A0BB4AFD6111C9B5D5D062F77EB2CE8071561A796CEDD4C4F819373685B4C3D3D14BE5BC20A72EB9C6C2C1765BA887608157354D0A5BC1F4158D23ECF30AE3B3BEF24BCF8530F13B7FEA54722B57A761169CC827634A84314F697B090425BDF9EBDF88A6B53515E01D3194A8DEC7B8E15BABAFF42E0E0CBD1DF286A25C1FE3934201EE19447EB1E29BF9DDCD14EC9508AC213CE17C6A5BA3BCD207D1E41ACC4FCF9EF40EEA8943DFFA282200F37724413A438BADC59A13A07CAF163350F2663D2B381C14363E2372E30FAF1381A8936B61DF5370562BDBAA1102B6589DB74C635C791942A5EC148F66DAB803F469F6C39DC225FBA4EC87BDE2D5EA31EB517F3A43835D4B88C556E84D63B26894BDADFC4624ECB432720D164BFA5F9D2A685728BDF1195910A94C304369DE61C34BBE32FDED451534276DE8E3697490AF835FBD8153B807C8A45C1E7057333F99E820032F8051FE8FD6075027041DB4BAF7693BA2200A671B37679B7DD088122F48925C64E4C3E999BE84348445898C3A1690A265986FF558D8C6E0F2FD142E1A93F4EB307E4CF2047211E005A42C92A431D111D48EFE4762DAE025B183A2DBC57C45D98484DD85339EEC68E4A6CEB3157161217DA7DF44029C1D042E4FC302079B222043323079BB6851FA732A9A2A91A6D94C1EA5ECAAF91312953EA0D246CCB56C9C234EA53031C36D3550814AA8CB39D77F77AE842CDFFDE17D915AE29B8F118A46EDB08EC5E426E30DC4DCD0B1457371EE18C7853B93936B8EB4B4334CDF6413ACE28D68B1E6EF72050C121289DCC107D5E859730F97AEE4407048E4DB2B71C91C30B63F01C2D02845F3192E861853942E6DF816067F4C2A8FFC475FA7192245A5463C9793F4731DC4A4AC3CA203A270BBFC9BD841A224D347F8D30EF84AFDF9A70969330E0776670EDF1347C716AD931EE7B218BEF3B62C3EC4FCDB6B41B9D42509BF4E844E7C85ED2CB6D40E0BD125963458F8E060C1DD7D398615357D7C2662EB4139D952D67573C2DDC83048A7DA7B9D669CC5002BDBCE183889AAF434A6182E32F051DCFD93692B9C096B57E6BAB5D22E72AFA2AFEB53B4870B52F5F3AEBCE58ADDC005DB10580FBEE6CB9C598260F364962917A7323AF20EAF3F511E2346B1962ED247AEB7DE64E68D6C5C1C14A92F606B19BBDE4A68494BFC06D76DF422EC182FCA8C0D1E300896455DFBD49C29C858C64E80A17C80B51961C0ED312F071B0D62D7625DD3504A2CE214AAEA51AC81CED4479FD9DA06C7CB02021F4F347E1F20D62C78A50A30A82F288407966D69D837F881FCE431EF0 +MD = C7C4D180C1CD83C9284E38078A5E4850748965557271FF0A848489D2 + +Len = 18680 +Msg = F5080D4C59E804BF8F34B334CABBCC7D32011BDE3677F4B9069416AC204114CD9DA7A0ED0F4B4D8344416336EEC15553EF526B6DEC267B1242657DD0B508AF81FECF9CFF9C82A6A7A9539814DD7E097615EF15373836B5D2F765CC8D5F82E90449F13AA741D5EE2FE63898E55ACD85116846807606FE1E2E29F98F9940B067D0D1DF01F080211B2EE4B0A30803782A7BC2EAFDC5EBDBA91EB05F7D7DC8E34BF6D44FEC05824F53418F235FB64E899EE147BCB403C8855E94AF378D182D79C3EAF977CB4E9D4A16D990A6C388CEB567B97785E6F2BC6745102B99AE765E960B6B32BAF01E2379CD6ECB74D3E1A56552F5976DFE5C742BC92BE596CA742FFC3D0FA032AC29F9F7C1A5C43BCCA62DF7D9DE35D0C7C179DB2E1AA255CEDCCA55064C2049FEE1AF2CE5EF696ED4BC46B7C55BDD51F2D44C8713FB2475C0B85246AC0103CC3863B7EB026AE076A600313F6FB40A4DF62A2AF81B7E917951EA870ECB31B3401928B5046D9A1E62D14B30FDEBAF262868517318FE17EC3C0D52524F44120ED8ED3BA70C643300CD0BC70DA72C964A88F52C3A91EC20BFEB5CAEFCD4D9C7685D8407476B5F34676C5EBD1E88A6CFF1C625322F8CD59B9ED60CEFB21F9491B95E72791F7AC7EAA3C16159FE9DF7A989ADD6C2282C47585E11397EDA9F47DF2B40166E03BCDD6186B46C6835118268DDBEF19A28BBADE1BDE0228FFD7E8B3C3C598D89E24B8CDEE79C940254DE26CC6814BA2722E42F7571600B7325E1FF300251D52A895B8CCBD049B2953B8D231445F68F7C26EC25A4B8695C8AC116F736BE939EDD762C9B4743E463C9B9B2F88E0BC0CE78781CDDC3BCA825ACD463C7CAC2AA6C430BBE820EA94AF9A40B1B5C006E9641A2FFA6E427379E1AD49C81B98320B3431FF0030DC683D61026438BC6A6D34B2C73704D9F62EAEB13ABB3E4B0562B4E0482CD6B2D7AEBC0367EA29A88F4A76F3D76FA1197E1DCA92C8216C84C1AF9B8C78C9E3A7799A4A79A783033B0F5547E8E75E69CF3615AB04EF989FE1A463B1672C571D50AB56972896E8A50C242F22C7F6E27CA4CA793F627E79608680F5421B28BDD2589F05E65430DF774EE873FCD1234064F7A33CF5A1FA4E368137FF9C1597F1FA0FA36493F20538077669EADFD3B06F788C912C715FB5D334DB6BED133A8FDC40F5496E66AD63881F0BA3727416715865253DC5290327B515BF68DA188DD5B4B0EAC7CA712CAFA8FCAE0C5503FE58A219182F1C30DA6D0C19CFEE897B7D837C97996A35F4CA8CF0537A01D17E7DE0CC9C129E4DA0ADAF1FDA85030DF9127BE628263B0624F372C47C3AC87EB945A57F5C732BEEE81A7403001798992F3DC944114FF3D54C4666AC5AC8C98D0D5596CBDEB420665F5EDAAE747D54CF7EDD37B162E372249D135938CF17D174D12D88279CB4C32BD6F018C766DA6983D4EA51D6BD8FF0A9B34E9A93BBDA70CF1B4B867D60A74811FD98D52FAA559B52C755CB70A76C94BD19654CAE7017CCD70222BF08C5D7AD1F5E4E6344FDB3ABE703452C29A696F39F9826ED8BC510A4A148E5BF8A5DBE6B82D7220164F08011C05AC5159D52CE9D45D758B645BBB248C2D341DBEFA1F8602C5D458A64F38F3B04DB39089807B6A10E1BB52770B92CE72E2D3BB0C2241CDED35054B84558D1CC099EF7B2296951951D5B6A22F93BF962AC5EF8FB55EC6CC2B316428EDF12078ED1B66D525D022819CBD489E1BEDB02FFBD507D55F9B5D4E22F6396EA233453754688D20151A09C70044B8A5A9AC033C3C3B847AD833D5C05B33407666EE82F9581DF9034EE15A9CA67D52F1D9B634B84C1B8BA9E515F1F060A5AC5CBAE2DE75F94E112F7198E239DF08D3103F065627438995026DF511C6E5BFDEEE5667D511D4181850C7C5D179107C1B86D24D5532A88A4149A2810DCAE73731B0E1247281A6FD31613DF6891B4C17B7A6A9AD9B77468254B93F85958AA0F01CEFC10B25169DC46E035D3F24557B4BF0E7D60174219108D916FFDC55E25BFFD9809EFD058E12C14F39C69D8FB73D3EC6458F47F2F8DB901BA76C86550B11B54D0641D4DB3EB000057DD00F2E511FB7A47E959A4402A3AC5462234B40B184020FCF7A0396C4D00A987C8741A4537BC17102A5C42AFEAB9F71EA66ED4CBC7B5EE682FF04F56F4BA1EA0BB326C4089930F9E3F3FFA3E06637CCE32113881A06CC3A13837448145C2BD01307A580FDBC385D8F46FB92FFEDBC8918D269DD1871164D4B3E2023441EC8B99C82A5F09821CDDF6B38C9ACC3BF3A38D5628016159588C33EAA29D9463A537C000A16AD8C177DC4CF716E625F46FC4CA8C19FBD8EF320F1D680639195C8B195B0A02738E0665F4190D6287E589CD6DD45B9E8CC23B08E1681BFC6F66B88DE6B091E825EA4BBFBD697E10BC407570AE4F2A3EBE569554639C2B8E051656CC30C837F5A92260EAD1D552B45801B6D28134166796C87F900225CFDC3CC49D72DFBC18D8D95B1E160ED3CAFD5C3467D48AFF87402CBCB1E1420E3FCB588AA19C8F42753B59DB6FB6A9FDBA127CA806DBA7DD97F2488FC2E438EEF57A4CC85B88DCFDE76AE1FF61225A1CA8BF4A14F729950322EA681B16D6492902506702DC8F348E4D3AE7FB55FAC1231FDE82091B34F1791B6AE37587B10325F6FF5E23B855845B86EAE90785B9D10D90A16644D01BB626F343B908A9591F4069B21822CA4ECF985C1E710475F33DF9AF4764CFB0FFE649063775338F15BEA7CFF29F164678160960A80ED148C9B7FAA58E9139911D3DD9536F69646F718F083DC9029D6294FC4C607688AA75AF350AC2C0B001A157D023D73D86ED8133809FCB9592D12089CBD7A1BB6BBA882FE227C09A53FF088907CB4BC2FB4B7F62D41D3D397C4FE0AD12BB3964370E21712951C679814D506E738C0201E42181D231136A435AE0397B61CCBC5E8BBEBF8EA77C8BC48BD6211F29248F9D498D818E2B544D28A5E60BA727F32EF4BA2707962230C900076FB764D0ED5CE078C9DB14DE894BBB836C6DE9E83202AE89F9A8D8CB0341E1C81B5FA8B16731B8E231E969C0F1EF95336D4E73EAD6DA23DE3AD1EB608ACCE4D4D93996DD76EC1F5F2C576F6B3B76E07BD8A810FF5D88B00FFE48C42700B61CC499336E7FB57AD72FF44FC631C7222C9A3D1ABF6E77B5ED7FE2F7228FED6C849BF7142C4103989A80F7C15642AE61650CDCA7E854EB25E9E72F4C3E3768E6CCC8BFD556B56D3507EDDE9E5C331DDEA75568B07813D20E8F4C9547838ED28448F2E67158ACF0C00B131473847816C5E2DC215 +MD = B4978F5DE02905355D9D40FA09E6F8A297CA546AC8382CF10152B2B3 + +Len = 19184 +Msg = 34A8B8956BF5ADFA5EF8F10B673F6E53BC3FEF8DD1F9428078C256A8FA1D8DA1E724BA90B65BD4394EACAC5469C520BAC2CED1640BA26EFEF44F50BAA72A9E7CC8BFF69EB8719AA1D88A2450F5C3B4FA54A2977CED1A904C09356F483301ADD61006524FF814CA0B1FD50D3F3A30492BA70C2921E3B9DA58CF8F5BEE32AC15E39371FD9D784256054A3D145563C62E7258FFF3A16524D38767A75FC27FC3D0A9F0F585A0046D6369DC6DD17FC65B53380184B4D9EEAFF245FCE1AEA0D4E8407D2EBFF6EC0FAE8B654747EECCE13BEA89D4879E0C92E1F47EAD8E5CD7F56B04C62C2B7CC13C5CC2D9E6A87D77DE73E54DCB9829001A3A9813DC1958E4FA10BBE4027822F8923AF17D0B04BDE97B9810B31E26FF74F9AE95E50C6EA25A49EE557559C2C9C83D01737B6CD7216C46859D2833F04DEF7A7EFC849F8B13F627E20FCF0CD3E0B1CC7D0B22B4EBD576CBC2A397828EAED2E4AFE51104507C0B3176A74A0261A159525E0883F4514F1856D1BCA3CEB1084441E99FACDCC5B7EDBC5A4C803F6448119745C23E5D795A0AA96F31A48F431960B3C41C9C6B13A22826743839E571F40BF5C965EEEDB293DD5DDD22442071895BD9C34D8A344907E17AF7EF48008801066AA8F434019D95A01CE34C30DC116D6A5D9F6D43BC2CAE327B613E61299E75D580C7323ECEAF494D54825553C98514D841568F5BCE9C97194EC36A16F6B10D9F1808ECC1DA80BE4D37735ADB6D1B83A157EDEC266612E65E57EE419ABFC35E342A6772B5FFE8AB1D8095BC92BF9982A7A32E8505D8F2BDDDD626D09F208930427F14111B91AD66EBF710D9B1EAFB22FC34B2616458283E9FE1218A2886A7B73742342962BFE5DFC2F829A77226FA8BB6165EFC66873D618D8B6ACECE0412515C5A032E44685F7354F2DF2CA1F903ECF1A53894A9A87E07FB36759FF666560605CA55488A7B3BFCFEBF6A0D616417C93835ECE08FB69450E041A7C23981520CE03D5194DCE2AC492F2E4892B8028A7EAFBB913930942FB26643394BFDD67B9381B1581F9F62993708A3C461FFA43F11AF679B68F62F2553500ED3D7D04990A6FC1017D8D7AFF9B6DD58B22F168161E71EAD31183EB338C75C0BFA00A701A19F72B73C5A772090A86BEC03E4F9F2554948D94E150310C5AAEEE46D1AEE5B837695FB49368E59D176E0199CDDEA6085C897AE2829B10C592553D54EC9A0A7B8B78809A51B9DEAD66D0879E8D716B0519801AD71FCA62D848313D40F8224861E58F0D107EF855A6FE9315DF8EE624C04C56473C61C4006E9372CB22B4CC3DDE10E60ED03D6D6FC928EFEFE11BA7CEC15351FC0B0A5597DEABC58B91040B70BBDAF8E1615EA5246CA993BBF653EFEC3FAFF587467A18A4F3868C1109FB355338E54EFF58A1C90E2BBDADB0220F22511C5D8CBA90AC474FCCB0F9DAB7B66109BAFBA8E82382CBB851C2F0869B3BFF09A90751B591BDCB617C6871FD8E22BF554F3AF8097E9443D0D85F9A7AC3432DC8B3E3F0C8A570E2F97DFB0E4445152E4DD0B0EF1E656DD7B7A50B303B6BBC73439F873737B47AF21AF435C9703F704DDC153B26788FE932CFCF00E87E33EB195A38C58128A435C81A0DFB42EDBB0B9EB27F64C0FFE8357FD995E8AC70BF0C7FBB2622AB5477CA8F65EF1CCBFDDE0DDF2D610F7913D7FF69279DD33EAF4A49E3A5326E57AE3E8DFB752E989C99D170389C01C9ADBDA22846868CBAD5F62B974BFC6A5A4A88EB6E04A28752DE094391576FC17275D876A5D3B470845A7A064E00BE791B20DADDBE58812CEB296884FD7246FF67411AAB73D049FC3250DA9111D1B3F192BD8BC650FC4AC9392EB18840B36D8460A80D7967B20755BFCF8251836961F98B5E717D7F078D3A2CBB09BFEDA034274B93E8092D37F060CEE0659269A09A11CAC907C0EC027DA78A723A207B217735B15998ECFB3C43D87AEF6671B54A76666933DD98D5DB4C7A738C43173E77B2573C7618239F4B664031477029666FB8D3BC203F1190DCC27BA0608B276B51F7CFBBC70F5D4B1443DBE37DCEA0354DD288DD4D851F182283FBAD31D4A8E5734A28C49094DE61AF6674960DABB2E6332FD5A9217A92E5CB101223D98A4BD50E56824C7DA09AF1668B1E98BEEFA8CC9DA8F5B6489FF1F795B6F2E3DA96526EC0233604A5C300CA991D5090A358AD21B01E918E5FB9FC0070D3EC1A8647A1F40FD9A662DB16AAF39B8FC351D2FB077BA37800258202449DB1F1A95FA9DEF31E48CBBCC594F6AD63CCA4FC3EB3BB5728CBFE4026C4A7ABA1FED992661E58EDD334B555DC93D34BF346410122CAC14F774B3990E68508DD21EF27A83D6BB6CE21EEFDBAAA2CA63443000EBFAFDFC18C0C96D7FF7EB47448FC946A1A096B0008EAD107520E2536CFF86CEDDC93F5F8F727825575C7FD7D528477E14549C91FD86FBEEA832D1F69D21D05F220D81AF9C241766CAD8AA6154DD6661789EBD44B67915F2F55B38EAB1074E48B1137CFB1C440F1BEF438AC1DB4180B4D50CF735D39AF8201E9236DC6056D2974B951AB4174751969FA0B33705FB605D2E926A764DA3CA2992CC930854075C0DA0E5D1B7BCC8B66CB937FD6B92A2776C88C02B391D353759A04B5ABA5034905AAD61D0C330C9B00969D1FD1DD99284D2313E90A5B8B0803BCC19D702E131B4133BB91CED8AAB62B0106CBE3D0BA597C69CBBABE0CF669FE446AAD7DF1E4E6827E280FE8F2EE91C99B1DB44D10A6576A535B4FBC6C76269D1B0252CF482B921889AACBA14B4C0A2EB5907611290CE04B29AC5436EDB8D5D77A6E8AC5C672D67E107B6A866C4BAE36E82E22FE6FC5B31538484402A30A5221FA2357C3D17A1317EF8E5ACF7329C670B67D38F1CE60A05DD991BA855C598F9C32E518B95B6AEB84587103815019E39753D43A71A8C825895CF2569786358B78A74A5B47B7DFC3292146BADBE0867A353A7285487BADDE28E9D78F7E8B2FE0E7CF78330D4BADA0D606D6D40FE9296EB500CC906545D72596C8C98188673F410576D154E3BCB1F8887E5613C3CF279BE307C0224DADF58A91E93211F1173C461EF42F351C7DBA499D6974245E1D88BA22830B07F6D735C5A74DE475C7F08A940460512EEE2CAA46705580868D639E46B3FDE805AA1343CEC3805CEB7E624539FB2B362382F5BF0D55E6F3B90D2125162AE7BABDF96FEE54B29BFA9EFFD80A508E80B478EF67997AF166B5417620BA5886D631DF501EEB242CC40D05387C9730BBE8CB070B2210A8775DD25A5B76755380BA7E2EA02142E43A3FFFB6F1BED559CAA68B09DFC8DFC1864EDAFF705BB1E30FB58C3A27C5B1C425B22D0C1073726A2CAAE5CFA631CC2EDAC96C10FB25329F0E6D15E4D52694F8670D3D054E9FBB2 +MD = DF765785BB97BA3786EA56DFE85AF5C7344713EB5FEEF374EDE9E660 + +Len = 19688 +Msg = B7202C31C33E5579599D14D12511CD700E5A077679266B94B44586B363677692A4F2838F50D437C909E5A41BA747A6F2C72BE85149D53A834F7E66B6DC74927250B543121B6B4780542AB511ADF2011380F0D7133BF82B38A2E377B5C7755E49BB1ABC16EE0A4A772F5653BBFE06BE7773290AA4A9A059B98647C188BBA609D31AF594D0594B375963F249296FC6974D2520CFE9EBAB8C4154F1B9A7EEE66968B853F19F74D3125B8283E5F167395EE1077263EEF91CF573F1A258384D369C0A1B8F4E12C05F942B330D43A168290D82325EB2B77D49F25E028AA37751A28C405A6AB190B744C5F998D7CABAE18CE184D96BA9BE24281556387D710E66FD7780EB1A0D91A3F6396CCAA54A7B2B223ABC1902A660A44ED1FC2606AA054E1C0FD9124EEBCC0993922B79AB6DC225826CC3FBB0B99046529AB3CFC79EAB58EA68A153F0C14E5735CB4296FBFCB23ACD158ADC1B049BBF854054A7E08BFE0B7D4C8896670A90BC1A3A9D4A2F74D1FB5E143A4D22EDE79C738B41B91B93AB34A91C8E327BF17A1E86884544B70557D4EC184F82EA5B5C5682E33AF7CC38C5F91BF5D024CFFFD145A5AEA6FD7B6B0456AF14BDCF60734CC93C1387A48DFB97B91BB23D7F68EB783EB0CDBD0BBE4104AB212147C9CAA9DD923E883C3E24B53AEBCC3F7FA5AA5C887078628EFD7E82543F8600FDF89A3312AD6902271321B77C1F8DFF1B92250C59E037411C6791C7E930D686E7BF359EC480C6D0BD05D2009F2D339D2089D5202C65B8FE737EBEA6CB6D9271B0BBD3ECD6328AA27EC7722CBB3E700662EE6AFEBDC4FF5E9B00949EC3DA530AA271A78CA7328217BDB5600448D9F825836E04892CEF50A95F8CEAAA5C28F2B9B185536FF2DDF380808EA351BBD7A068BD43BFE8EEA7A3292C65130915E828204C0EC1939F1E3088058CCE4B2921530E3A2C8CBD3FCA2EE39504B72EE72DE1203164AB0AF78B66600B27A067CD62D7DFAC4815B23A712870AA4F2659157037285386BEAF2649741DA70FB7E031B4E1F37768A0C349C7B8C90A3DA6138447DB7CDA00C9FB01647E3239A680FFB6C8D4D536DEA7131480FA95C597BFF67AB5BAE2578954BE01BE5F3892688A98B0AD0A21B0AF40E562175164018D32D6A886DCCB256ED7C4148EEB963042BCA34B689C44BC485F286A65D1EC44E5A0C90F5A1E8D6A29DC30810917B8A3A6DEB0362D5967F75802E8174725B734B61787437AA6FF8A4FEA6C2390C477DDA085A62C6477E994913502B862BAE548798A17716A48FCECF315487844A1D98EAF122521173807CB72308CDFC6CFA2F1B9324A305869E47CE15CD18CB38CE83ED3B41A71205BE49CAB4B93142D8E20A4C4365E4B0E72B48E5440C8E8F5A8ABBE22E5C24D2FFA0E062434FB17119028299AD5AE732F0FA39127E533D591A27C7A0107A9442B7C2211C2F7FDADE86BF032CE72E94E71D6072466E7C50C62E01C35AF9BF5DE708A309C5694C84ED47AB397C409057219B2B81D9BCA7526765C11701E6993378BED05F5E5BA5F9C5FC3E3E6097D39C86B2995A9FE75DBDD0CBD3A9D96C335C8F30FB00419622F8D6119246F1B94EE8524A275738A2B312D036AD0A8AB72AC50F76C8642B00F354B00E0311AC1C11C1332372E4AD1A982027230536E7A3D451BB1E55E509AD026188668BE90B12CDCB64AB4C19E46BD19983F4E1D26F85258504AF4DAAA3C188FC2ACAF6ADE8FEFA7A42ABA19DC7D1F2269FDDFB15ED2C659725829E0736947DACC67D83B0FF4F1DFDB8B998EFD4E50D8E505583814E049A31923FEBE479EA88816A7FD044A52339B761F9E069C7585D9ED7F2397AD4C208AB06C5FE4BC6FF9B367D109DD3FBBBB48F319053C8BCF643E1B8346EA42920E9CDA202EA0A74E44305F8EF7B18CFA5C921C9E5E546276D3EAD2568A9DF7B7883D4C20B0F38BED538D9B41ABA491A4BA3E4C4787FBB6F75B18DC6C356A95DEBD8985A028C1D0C56AB5D06406E547CB4FE88BEA7D0F8B3D244F0D57652A18D122FBD1C6DF0002F3BFA071971399C749A05569F972AC0C79CF6532507740C3B906E1C56641942E215FE60002ACB2F330C99800B84100982123211A1BB9C05845C29ED03E3549861787868CDF9F20C9DC3DD9C638A9D5EC0238AB05BB2C31E475F008DD3E5C9ADCB0968D022B99F1C848339ED38601FD594F2BE5438440F6371AC954573012D626F9CFFFB06AF4DC2F0C522E5258968A6EB28822584835CB64DCB1A1593029588594665BE0F56848E24F6BA914D3AC6DF6EE019A4371D8D7CFC74733F29784EF56E0183639DBD8FE001C63E85FC3206B299F1EC1036DDDC01851D189B5EE270EE5293B77ABF4A4BC6F986814FC0ED65011754F4030DDCA7DC67D6051246136951CFCB6AAFE145F5C14DF5390B105FF1EF9D35D31ECBB05B2D88140A7C662CA6F58E2682CB21F1DA837191220E3B2DBF92546D576E27709C67FB3EA8AB8B53F394C82834DD9FCB317A1B51D1723BBDA7AB5315778B27AFA89D191F1A47F8A0E0C15E33F0BDF577F92EFE3EAED6546A9487233CF9C77550D482DA1B99FB3B721AB7EF7826550FC4BF953426B69CCA80549569E1EC6E523822060B4CB8A88BCAE1B9F480E073A90E4CDBC8E60994B6B953ED153C9DA146F4AC0D2030105BDEE296DC6BFDBEBF75E6353ADD84330E8011F9483F83A39F8D06A50961A07557D4ED83DBFD9E5CC434F0EAA70D69DE7D034E359A412864D8BE292F588D607294A57CC3C5065781E111439A2033DD64B94B7155AA565368045214C588D3EBE04A04B7F7DF5630A460BBFBC39DEDDE14D590B2C79664504EF027F4AC22712F8EE8B4399F01A7418A8AB9CDDC4DA649F5203A9CA15EB758059B911B7431EC07AC541D4D2ACBB3D67838F4BE54A387757F1D19D9CDCD7CA1E5E6EDD25046BA117844D98153008401A83989C6788274852488D9C3A90A3C0936DC09087A4DD6C08EB2813CCDB49F1EA8680F66D580B10EBB30901C832D833CED19B52B419CACC1E01A61D16913396CBCBD31EFAEFCF1FDA31072AF08C1F1213658C4C6DD7640CEA2C2C4111A4E2E39B806CDDDD6C6083CE7876BD196400BA07FBB9F6BEB7656281D9650317D8F2EDEB962E62E31FE73D53759A357DA4B8571337E3C7588B998628F567909CFBEC3D6BD818214FC7F0FE7225E0F8AB64BB4B0D74AA79D9945E56177F0E81793552B5F2D78289309E132D16FC7424155195E1F5DB8CC327B650F2E3F1AF987AF84149052F27A1DA66251B08A562E8BE10E92F976CEA41CDA5317035DD78B327D9FAAA0B3C897CE1106B0746606FC4B6AC5F358D2F2E10F7938E5FEF61E540181BDCED5A74D3AEAD4207E18305A4EE2E999435A75914F21202FE3F39C39E5FACE4E391910B937FB5ABE043D633410E47F99CDE9DB85015ADCBDF48F45190193ACF6E6251E99B65A56868CD248F6935AA9C6720C2979FB5A5D54B45FE84FCE1 +MD = E1CCC5E6571C04C676F702B52FF5C52B2AA4FF1B3076482B9976C955 + +Len = 20192 +Msg = CAD9EF077A98E3F2E5706EBEC4960D5A5B78B57CC8017DB1112F2C537076350C807D5CB1421C235AD2F8ABF7CE905C26B18566D8FD6AF44908269785E789CAAFA1002BEA64ED46B1ABE2A8812FFDF400B18A39B731040A8C703D837E463F29D4218CC4AC0E38945F5C79263D2EA86AE52811724424644EE274C55FB6A050782807F3DF60547BA058465372C8A664E833B5176CED42C40177CD3483E636AE6F0B9C7AAB5DDE5309E5F377AF74314680A72DC1088AFB861E6D564DB6DB6E6D3E66DA3F3D539616408D7B0727CDB924BBA38C3BD5EBB823E7F441D2567FB36D31313C5834154ABE1623723449FA8324C85A149ED1EB8687BE0E8A6C07527BC0D9282651CF36D5596E1E07489131AC3C71B75513AC3ACEE7CF9098D1D5C710D31A80B2A6037B37228810B885160B764223D4B016480CC9835A695DEC0013E9E064C0834B580C254C6F04689D0FF80C6999882CE2AE5B4D8F01CDC5C2728890C7C795B10C5B7E01AD2054E750783D4DAFA677CEF7CA6141B0C5FC6E5FC38B0D1AE088B16A02C31FFE242AFA4264C21D4AADEE3FE6B3F43AFD38FC554BF168C4331A388508ADB66A12B85AF205E6F2A6000C7F222B5E3E326AE9E572956330575A07713EE32F427878A62146810B85483F10363722279AF71290E58FD7DA3C79C8FA0378648423E18F2BC4649E8EBAC7E28AB3F8D1AB64750791FA9158B0C9261B2DA1A8174F5002AAFACA122EB2857851DE26278F594B59646B3B2F6B51A4011DED6188EE52D64311DB7E50DD8197EA0187EF00F0411D501E5D1BE946E31603242757B28F3D05CF1744D62CED24366566DD16A3F8F3DD4D52D7FC891A31E83EE8038DD78AFEA84EC8896958397AA7ABA0056DB3B16A04A2023AF67A1948DCBAD4A0A5376475A320371194919C939F4E63971BCADDC344799AAA151434D2A5C402D02D4CCC29ECB1BC40B297D9BF72AA09CA9DD2CC5268F2C3F49E10FBE4733EE83647B9EFC1F59BB9F7D8E2BDDFCE717CB1AFE7DF9FFE8B4A7BC79371B74F1A038C9C4FB8B7B1EEFD38988BD591DD2817E19E9D6C52B522E90DCD89C70D3EED91B1286C3891D546F4E198BFB385554E882ADE07AAAA4559AD517C5CD7CEA7CC659BEAF8214716ED9D750D382389EE8AB7C3C8AAC48968220027EDE85F939098FD679D97865926F120D8A9A360429CF00A7C1DEF836A9933655ABCB384E9F630B4163F204238E9A38ED949AF36F5204B74DCC45266F89AF90E6DB2C948E7D773D72E653D35C848C77936E6E689F75DD78EC2754E02FBE119C572885BF090B04A4390BC7D5983809E5AC7E4A16F6AD023C8B28E6B01591B0FAB80DFF9E1300DE11BE3168BA2F1691E6CB7C416C3201FAE3F171975BACDFFA520571F518FD8477553BE92539A0ECC5FFC161043139CBFA35673F71949FFBDA64693A032CDE6A34432CC7736F1856B4DAF68D39369327744355AFB6A4E89B82E5BBB1D53B5ECD1EBBCA25F6B51F1B0076C34068676B2B879C13F64D91B277FC82EAD7420F2497B86C9FEB5341AA553C7916EBE6620DE18EBA7F453883A6E8A037C314EC159869132E1856943CA6DA2411830D6AF8354346ACB06578CE89E277E2619596330476EE1B8A1ECD28E201C065BC30ECE1FEEE5E7AE182EFA8D0310EB731C30CA7184D6E9F3C9CF08EF2B2E63CCB369A36AD63207DDE3CCB04DE341B5D093A0A140AA0A8DBE811F03114B235F07499E622EBEC39521FAC671183F0798AC50919D260941415832B1C5686D7C27A7A5D0E6222A991E341C9A8B10A76E01E79B1E7A0C18227A39079D50F5EE94B18B62C51AC36650ED3ADFE142BA5A34A839449599355D4AC9542B146156BE4FC4DBFDD10CB8DD15D0C51AB23AB19C16500F770693C94EF61DF26DA43A09B00D4EB7206E9325CD66780AB47A7E95B50DF423C40767229DF1DD41A808FA70DA64771FB91B5F6F76872759A8CB77FDA87E2F2D7F030B9CDB456005DB9A88D0F27D4796803BD570440FD0B7E99C3D08FD8E603C92098AA4150D5A87C2917CD750BF0077E9D71C43F5BD3DAB919C23E16BB90537E7FE694A847EE843DF4C8262D44C39BCE4D9C49069B213F1074453EC66EA054833FBDB72B81161DBA424390413DBCF96CBD56A35FCE6510DDC2BD9296F7CD2F7474F86FE24CD61C9665CEE251420C0A0D1F56F9FB06C83FFDFCF034A5C27B8C68935C4B2ABD2FB92D570F1FB610B3FF4F66A3110A7A0B89C07191BD5928A39D579191633B96F1123E5535953F0D25D28675F5DDEE31FF2B6E13FF21A2DB1990F4EA8D0AB5D4A73AF9A41D5FF8B1467A11CD297EC416F448C5B0D77DF8D02E6880A7DCA283054BEAF1FB986ACBF838B68A32C6A4DFD097C9FC998FA13E382399677CC947AF6E4CA5B37BDBDE394B89582C04BD05DC7C04038C626C5B72788189FC01799A4CA03A1E65C744F6C4893B19D2749709B23AF92592044224ABA18E1052820250D0C35CF8D76E51C73C94386C6E0F147C770EC379976B574EF2EC6D68C39FF2C287FE5149F71497E1ABF07176B024E408479BB7B56B373367D40A5BD08AA38BCFCCC705531D2984CD386F0F47F0864E00D758EEC1BA0ED0971A0A2A84EEC663F198326AA62F931DAABE381DEA692A7C43425D54ACD99E2FF5B7464F5BB794D2009035CA9FF721B1B4494CD8CC5CCA9957660F29B77DDF173D78AC56B36AAC5E28374C38253B22E16BDB93E4CBDF9F0E854EA1D79983F8F9CF6D25DDAA7648055354A8CEA372BA54EEFCA4CD040D3EADD23B89AB64C545B7462D2D6D2D249A919703BCCBEA471251D36A1A27BF0FD653F5F1D8490586D9568AAB141383B186630A270BC7D2A8A299B4C90BB22FDF08C30B2745DBE6D6AE7DEC9BFD112F5611A83F9DEFF408346DD62F75DE00550F6E56B3F9F9B80D7027A0C7BF6306ACA159972F2AE43346985A4601B481722EABF3786696F9623E1366F93DC585758FE8F245E82211EF984BD31DCC9FC7D7CECD099DAC9E45CBE655DACD687A848F53353D7BC1D68103D4C8C740C91B69517B164F47ED718E52687757A51F086A4DDEF8EA4C858580D6EB8064A044534E277A7DD5975AF13EF5C43066EA26902E7A36DF395F2495ED4311C3736E91450650843A1828FEEB42E6BD5A05D0FE4AF8D7A543463038BCC3D31A589108038DCFFC8C7A3CB86C57CED3A1E3E22357CBACA328EBE1DBD16C1B882FB009A697C1EFEB3EFCA007753DDC51F6E7DA8900B3A37312EBBF41C0A7ECF23C39213FC8A23C2C5EE6D783A1B6520B07FF747A143F6A8DC512209C37ADBED276DE13C5CA27FF7A595545C024B11F5EEFEDCBF61D92EC0A107BD1CA00934618927DA450C940F6DAB1C180B29E72C0E8709627E51E91632C364FE45FBDAE43AB876D33000FB1AB437D499B33250D75A1D23192A55F813859CB693773DDDE616E5570E753128572BC119A46951C86F99B3F931416C0347D95D5A6BE502C3C8F696EE026C3E66E4F0A3847AA49815CF40C902BA79EC7C4E3D82EE140C8C09F73EBAAC0B5CA11723B08793FE17DFF3EFCAC0C576D8F5D9699B741861E6E2E9770A +MD = FD01D342D201AF012AD20CD58630DF4112ECCFE4CF2E872628D9FB80 + +Len = 20696 +Msg = 192632FDDE8F5D5C75B31A51A941B69D80E5B6A5A05FCBEBD9B8BE912EBEDE8935CD45C63AAACB845E8433C6C3A2B4A2A0822001018611CE54E8B1045D0D4AB45FE08714754FC6B8C71004335F3615534EFA0C19EEB06DEA3612DAE67F40D2EE6AFDFB119E1D87F234F380B8D7E2F44F5CF28FAE6998EC8DD6381033AD3709EAEAD1EBC3A51A3BB534DDFC1697BC49D9D9F0C2E06EDAC9B66C492500BD80C25C383C2BCC082EB6E6DA4F1C2C4149CD3BF84957B83612B3351D270754090502044E2E81D8236412A6905F96528CB0C43760C32809527A85729A3C3B151F0EDF53730368B6E844E1E09524CDA222E7284DDCF37E01E4B6AE1FB422907136434406059E69C8DB71A43C507C72567E66D5ED6F17AB757CC1F5BD57F246A308E5A93510AD80A565751274FFAA4679B131343223EEFACAEBDB523BD3ED313AA20899FF15CCA0E708F3622054981BB567000191807ED9DC2FFEB7928DF868DF13A4CDFB8E909FDE7867999DA248E5BDD361B3C1022CFC46FDE1DFEC94E96D609723E3C7F4D23A8C477B319650C997EE7A206088A5CB959D8B2799CA597B1193E43A75672395B8C205E3CA177DF6976E9F87853A189F33F766A452F111E99A3FB26BC1E3E5786990633F9C8695188BC3F8C8545172FC64E4A9896537B44F13D63E5620C3129EC95CD94D4E267CA7FAD4F42334E3A657C742E7EE75699B81856B1DE33D4F2BD8402286DCD8AFD5985DD38DDA6C853EA73B83829B6071AF5A69778D8FA0A5A0000DF4FACD723C6C9C9F50D612146DC229F071DEED3258E4EF0AA37693A7C2DCE6152469974694005E8D82CF0CA0F9F03436967CED5CA8278F065C9B5241D2D81ADC1AEDBDEF5AF4495A797975635C71180B6B3F802BE08F2AB4EC7BE3D159DF01D10B33E5F766CC3C9E2637E6AA39F46FDCECC37DC04B45B81C6E113BAD692A037EC392B075C05A7B6172BE9CF0D154CCE3CA84F5D78E9580BC31BF9E43FB6C10C6D8A7917C2028CB89F08D205E33A9D5A39A0EF1E61990DCBB64C06361FFE9B161A595BE165F333A2E148522D02EAB28AFCE3782403FBFD88C14E53CB09EC3F0A0F5038C0973590647958C64E34690CE0FF13396AA45329795D50901C5E984E289E2FC7E91C40DF0D44422700202AB3BDE481FCECC3DE99DF9609111C3F57A8FC39312C52AB761CA376F3ECFC7A9514192E98F7C89F43FA795931CF0970142D407CFDD8A4A5F27DB8F6E1DE352DA5820AB4A88F8AC4B5C199E6E46FD3777D068FD97C5669031D58A83129BC095BFFCF05F831DA8114B1898BF7649CDF5465923F13B82098D6B033808D2BEA2C3037E9EF25EBAAAF058AB69E6FA69D663A5070BEABC933F5D12A1346B1B7CDF46E1638CE163060F185D5BD88AB73704DA4F3854CDD3156A7F938441B13C616E6AD180D9B770A6A7A4AC6FA3798ACEBD24C8E0D3458F5A82791B50ED17EB0EF05C8EB80ED592F173F039956C67827684227063A402A37C009A5F5A075CF5C309EEFC8DA517054BBA094AE7B0A1126A791BA8E94E44B565C12618510B9E936E1C15EDA1522F0731424330EAAA3A9FFE94727F9CAF8EB404B01B4E1071BE6BF7E2E58513C193ED9CE22C870572FC3976EF10A2255C5980062F8BB9877B5048CD01B4029FF1C7D266B42DAD9D02F8C89C3BD7813C02DE27DE1F3BDCF80F6DC4FF1C80F30D10375BC1684BE8E9C818874C38575B511A2D80F9FB6539BB003DA871DFF26214DE6E806C31AF9681A075BA9AC4A4E07F7004480E4E3D8CC06A5398171998F03BDE219189C0627B8A4A4F8AE174C5DE721E29D7B9874F22349ACC6B35E76016A749273FEAAE94116C4E6C9FFE62B87189E61051EB9CFAAD72F2FE368258C4ED2D36342C81B78351348E0BDECF63A09FD24DF89C93EB181DECBE3F937B537A1BE0221F7C0E257B82D679CDD6B26A099B2E9BC1E5F9D54F979409A7BC4F4B375F5A37991E046E9B33C01E6019FE93F6D80528195D9281E61794D87776914CDF1E4615DC15EB0007E39797D14FA7DAC2E92C12353B2512A3099761F7737AAD3A5AD7F764C40E8878AB9903B8FAD5113A84603326FB237E8F2B1123F678CA09117AC36B505CA6BCAB8C4F75D5A36BF8E856E04BDAE19998A2B98FD3D68AFCD1DC5E33A5C26E4E8506D05EF879B98FD23E74989D4B8DF69C33217FDE5E403D85C02BC9C33A8556F0B02D92ABBE3A5EDBDD6B34581DA37E77BC816F50B6DD743E594E3548DAC57AAC1740FD08F416F113D6BD80E127CDF87E681EF223CB709F1AE4C70C81363C7E83F95F95784E2944AB1C0A5F4F15107F8944BEDC669D38D97E2CFCD6862D97CBE3CBE880C397356DE41F4CB4A64C63039C833B2E18570FE4B0610DB5A9430BCAC89FAD4062783E22ED9716C9B330AEF9B9CCADD78A0B543A5B070FD532D1B005612E68E6222E74A1BF2B1B677B1582196E8A062392269AA3AEA91EA0A6BB96459E652C4EC505344058CAEC530598DA6F423622DDA7813B59C833EB6E666C5B8C2FA4FFE358B3D69F175F883883E677C159AF9444959F0BC345FA81877A1602F9C65172669C33750052DC1AECFF644101AFA255DC7EF3C2F0F790B61A3062D68E475A75FC6ABAB80E6DC958C7CD1D87CBEA87BA27D186F7A2A52BA446E25E163B18189DAC6DC9351D24C7E17B725B38343196A732A9C4C6285DC10F3345D0CE3208A847D510FBA7AA4B88FCD812F67310B11D3E7DDC1B0DD30B1F86F6CE350CE26846DA8D0AD21ADC2F62BC4832988F30A479716C2F90A6BFA0FEFE75FCB08EF5ACA554781CFBEA1C8467AA45854EA026B9FFE1E9CF1DB5F3FC48E189C65FF2A743883B99988E2F067EE3CD9F2CC4F841C10CCBD7B52508252AE30F12B7C7619C557385333D469204056829C3A3E3558604DA89A214B8A66EADBB71D0736A0A03C44330E66BCE1A5FDF4F63FC46F6664FC9C1454290504C4AE2425D8FEB9577CAAD4E326B793AB688AE621C76999564A408BECF26C31B5D150CBD78E50D3AD3403E285E96EA57DADF6FE9962347069F6ECBC2F00EB09499C16C4C4453AE16F9A782556AE567F922028C30FF88A2CCC92428C9F5ABFB12ACFEBBDFFB0F1F2FF970C3BE378D221CFB340D107D92597C778657C8653C76BF9AFD185E9FF480746D8831B0CBC34F7988F2B8316CB0AC02E9DEE4149056067A912866787D5F552967D10D067D50C67959EFFD0998A5ABAB4A1E7F989C3A15A99CBD42E2F03BBEE719FE14C5B8D917C60AD002CF75D5AC13719D1A01FA70BA83DA1AE53AFA8FA937840851CCAE05073A65004541125B58C6F8D0BC7D706D704683DD046D5E7360B6669432F87205170624F231D1EEA8ABF2BCD611E8FD7C2C923D8CEF8E1AE92BA3E66AA85A2417066BB7BA68BA1456DE9D353A94B146A3631507F0688CC6CA406F7BE47EE6CB9488C293C4FB2BEE62763F2CCC7F3D7C81774EFB79238B1C3902370E5E9D94B41E7D0B8182878712319B8FE856CBC56E1C8530C41931D6C2B5A980A64938988ED84E0706188A56ACEC67EC4BA0EAF881D177CC1CFEB8E1034FC35774C6CF9A65F30BB01D822E64401D98FFB936FDDDD8CF0E70A482F224E0F4F3CCDEAA55A22655B4482EE23F7B5D3EE1036889FE5FF88856C0545B09F62FF8A54AAD8E5C1964491D3A +MD = 3DE27484A9AAF9427B6D7CE9F23455DA771DCD021A743B049CE85642 + +Len = 21200 +Msg = 28109F1E97641E7C246CA9DEE6FBAA15D985A84292ECAFFE025F66A9DCAEB1F0F8CD724896A0BC2E6F7B1763D7C15B61ACBBF13FCE74782B8A7151527C9BD375D4BF37C15CA39E20C352B2E0B0D8474F904FCA4E039DCD6E1E54E872A481F8E1E5FFD3D65257FF814FA0E59B5ECECC30FB1EE1B73A87C050B9C0C8DB6BAB93A24ADA3FA480F215E19F63308CEC77D1BD5AC1864AE246071203C7499F03EABCA4093058D9A98E26F29DD91AB0AC556BF1A6ED7649E5559D6E3C93254E6F4CD7943585D6E1502BBC6CFA4A38223B35EED2BF658448259F827830D897942A3AD0A8A5CC7E3018451E4FC884C5B7CC65F54EE75EBFD7C1D4C88C71A36341327B9772CEB9F8B7B4B725165011B848C2DC917FD5514182E2698F9EA181FE6C9711906D296AB9835DB7501E2EBF79ECC4475091E6719C8C06599DD2B88670BDB8C4A28BDDF78C97B81BD2FD673D5910E1247C43FDEFADD30D92E0D9B6E0B456635F96FA477FE5ECFCFA9F94F5C1D766640C596298502B20CFB3BDFE7F3FD237FCBEA947D24D0360776030B0B661A9BDD214764D0E70E60EFC696B9BB63E3BF171C62D1BC2B6E53F941B3915F85FB4B9B2E74F391B5DAD291FE9F9629E02FC3FC5395EC66FA6FCC5338D353CFCD409A1CF4B6BBEA517EF5979D086DDE35C08C885C3B9EE5C8C59284E10A5041C9DEB7860B112E05E051655DC374271012ECE9EAC4C840D2C47469074B77F808189A0EA645EEE5F5EEC17FDCB51D0D1B2D8293B4C8A259375700C3FA8FC48A39CC8B32B22CF7BB714FDC7EACD7190BACE15987C7F8674F30F4663F1BB50470D25437948D4353FC2B96E790C19413E9F28EC04A02B37CB0036481803BB6728B6D8814BCDD89DCFE458084B8C8495C4BE33B5F02EC69F22465D5FAC7D85331E8ED290787336A73238448271A237A34730764C2A4DF64774AC6A2512231C54FA7D68FBA4E888331FA28D1B4143A20CEC2234524C522070A2F3AC336A416C079B58E2EA8B2D71188170B6416B7057B11B999026BD672E0159FA85BC0A1A2657AAA11B6742F121F08DC8CBA4CD1624A2A33798D5F7ED096B769B79B810EDC81C4E05C17B62D8B2DF2140C5DCAC0EA9B50908043425CEE2EC17C3C3E522D1272969F1F8ABEBE82E1E1D2AE7B64BA14E00C17A6635498FD7FECC6421C89BAD4CB78005EEAAE96978BBFA2015B282917ACCEA60B0E0AAA2CF1ED7A6E7ED0C9588D6A6C06E49339823C6180B9A1D0E6114C0DE9D89ECA817298C6E3BE3F53404787638B2F883248EEEF055C18FD476E07A7EB5F179C8613CF4DF01419C1C6D6309BC53E214BDA546F272A372B813EF083BB3905A996274BD0BE73C9B79135D8167FA5A058A7F926F9F315F4F823C44BA6F2800E25ED8E1659444D3CE47F1A58E5011660B40392A942E901DC9AB949094D28AC38D1D7A13357F716511D1B12A294BAA1FE6DA6BF6D81B830DCBACA4F4C09A53331379CB6C42C3ADA8D61322DE1FFECBB1A7AFE3279F6EB63C8F020A51925862330451A0002A6E1755EB264F3C74FB62DC92E9E6AB822C8762CB9F93CDF0659A54A5696AD13EC6CECBAEDEBA6A41323D7540AD59250F1FFFE616DDE671D673E37D4A521305E47A645576D6AF9A6991B17F3C7119DB463A76EC933F05905A1DD621AD15775EB9475EB0CDEB6CD93ACC120B396782445637F4F8DBB38A3AA17537D9170DAAE4E4DDD899B16168A2F9DC4BFDF7A9BEE07BB9F7C312EFB78D37AE437392DAA755B184FC51100C54E82FC1792AA87E58778FBC150EDCB8C9F337227B4F6EA5837DF8A08719789356281C8FC7CE0663EAC9BA76CA0AB589CD3C5A82EA2A1A996D2CFDB245F1908AD74934823B9352FF0939AB228F6F8C59980CCDA984C212A0892928B88DFC52C4FC34997A6F0285F451DB3A1D5DC4C800B33A6863852C44A2E675A98B38EE8526FB794EEE592962A938660E1B7114ABCD42924CA4D70045807C50985565EFE24F3303987C307DE754D8625A5B7339F054A90DB37CE0B9F5BA0595425B26712AF4435AB8082AE5BC1B211FC6EE44262D26D82A88E662A47688E3DE67CF825BC62E1B3E3F625B5481460E0BAC451DB6B67F40E9CB6B87C77F2EE63792305EB697B1F2F7573180B852615841F6B9DC8E5BE40519E9C2C782FD0069B8D3B2ACA33853CD29CDB1FEC735D266AB25EFE2A0FD47476E5CC1173E9717BF402C02843E56BC70D956A3DAEBB0EB5F02A4021E6259DF33B65A363365AB7EAEAB3320716842E70A86D3EFA3550C59BC0E14B05E38AB9C4E38FE9E7DCF9B3002EF850B7899A0E17539359AD4322D1D53AFBF9EC45E1A637E4F0BA10D9D3B244CD90FDBB44F9E7200DCA987B1A5E1255C833F3F9D5AF3504479D6A900D3190664AB93755478CCE9A160AD793D2061FE3BF8C28E601172D2B4685D517083148C1368C4D853B3A4182720D47CC7363D9561EF31F3C108BB9F6642A34FF38846F38464771F494347839AB072E8E9B788CEA50330FF7297F9428F97D095F776B9DE590E6550DFE2F33273A36D6A201103973032147474335A63E83F04D7DBB940F38919BB45FCF7A4D2EF846EB24FDC4DA65DE53E2922AC07E177F0FE1E65E82CDAF8F65948EB1EAA031F0371BC49F547EECE7C4CE905AE97EE7DBBC78AB347577AE3985121FEB81100D2BE2E5771C4118F240EAEBC3CEDC911EC7588359DA18908EE3D8302D5E544381B66DBED785DD684CD0DB274E648ADFCC36AC870DB8689DCCFEA3CA09711B0BFC32C8B7F0676D65D63761422F077C9CCAA2EC80BBDF742629EFA5D9C4CE5B3238ECC05E1804A7C044BAE3BB4DC3AD6AA3C592F71DA7F548148AA11F352D2F0D09B84FB8F5BE629C3AA7C68D980294A6A172669BE5D987588014BDC1E917463B829ED623B87BC5FF20675DF37BE0197A5E2F48891E6CADD2ED860CE154354D4854E6D08F0A28E673C7A152FF2FEB7634F0085FBCAB1FB205CCF3660FA288F5D214212343B5485934A256F043396A039539CDA52DB6C47A3AB7E2374CB2870E14CA6423312D2A9C48F67352E1EA2732707CA11785D8C27351CA769141D2090E79472645AF2729C158479B4D138B1BCEAAC70AB7DD221BD89EEDD8E153215E522C837D7554F45E8877B6544F7071D45E7EC545F7F9BB27DB95E9AB2298C8A513D2A2FF8828F243982FDF23E4829D0FD811E9C19E7B2960D8C976E3EE653788C262692210B5D105C73268F92A5B2ECF6C283D85874B5AE3F37BDC520E2F4175FCFB2175C57F46096F9EEA1E0C76080C765C75193A9563ED5AD6E0AAE0AB0F3F94459AE4B9AB0BAAF302E70C08D58C1E1DA8308FDCA1BAB172AEB07D37E79AFEE3F3067DDAD92BD4F51F51EC8E647B212FF0907C9078CDDBD4059FDF22350241CA508935442463A6C23AC28B2C2A968A7DB22E8E7D4CC9DCB3FB11797439CC0095F45D21E075390CE3483DCD09463A4E977B56CA19FFE4C6FBA28874D96AC2C66B657314303AA68839262733E903F074A1463A2DDC8EA016F6802F917614C3CF44DAE4B4F6E78F50621B017B6D42265997F596EBFD7C1388BDFEF983CC91B9F98C17F85C100CB37DC40C31FFAF2C882A271C7F6DDFA94BF69C7E50CB6D78E489F6DDFD26E34EDBDC9A6FEA4FFCB7678FA609C8D006933F4BECB85283B13C04C6A27A89B0C2CD27125DEC2C49646496288EBB162CEC4D5A30E3B83A90B54AC61812A908014F9D22CA21F98C12357028971900E57ACF8EBF095687E2D +MD = AE5334FB2339D288D373F4367325F6A06A3E78169BF81B3CCA088A82 + +Len = 21704 +Msg = 06729047C0D4A7B3020865F527F0657EA5397EB58090ABD01912C485E73854AA9AA0394CB53D53E3D240D1BD6CBD1E1E353529CB87833B5F476483E684F11748D5AB7A1F18F5B76E5938458486D4D5B1FE1AF7EC2A139CF5C4B755165E182F23B9E69EDEDC39375F0F87B24DAB233049DB0B34627D53DABAD0AC3351FDD94010DB51AD3182F1B1276C498296DDD759ADC3384EE949E4B2B6412CFE3E8EF769DCAF76BE4B2FEDCE054515EE24F7601EB1553516187954BC0689EF278071EA7B95D58E7FF2116B450728E47571140AB10A327C8E6D333EF044DFA10866A82B9728D3F5F343E1B33064E1E860881DF05D78B77B1F363DA7D3EE4209E8E2426B6969B5544AFD81343FAACEE915269C6D3B12C22F2A5FA4E7A518C5539228373192F85D8123105B04C2866DEB8967E7CEC3C0FCCEDA19FDB84C72597E0EDFEEC620F8380E3CD5B5AC2053EAE404CD6052AAE7BC7C666628AAC1FC722244A6E80536246C9894C47BDCDA71C239E2FD276E6E041DF8A930639F7993300D68FDA7E2EACB310F49D48049A8B6B1BE42FED5BB26179D6E4328E60411AFA7BBEA122EA9037450D80E5FDF13C93BB7190BF447E3008A34ECA6EAE08AC71A5446BB568D4DF8CA4512B9BBEF21648ACF2DFEC95CD2D2985C97C461DA651C1C87DFAE35668C008001017A48292B4B0B050C00124446594FB27A418E3549171D151E5794070ACAAAA97B88045AEB3BDFFEA9CB3372950CDD727350EEFDF06E7652BCD1910312B35F5D4EF3B8418BBEEB52657A36CCB7979CCABEC0C4B2D22014F60F0E847DED96698A81A7F2F3E35932CC5D34D3A5EC366507DCF179309C1F4DE6018806284876A96CC9BC54FB5D9E5B3127C74723E0C3AF1FFFB01E4EDE2C59413F1FF56F8346C71E30DE5A66FE94878C0D7A217D754C94A7C3ACAE3AD264A3D2C7DF93AA29B4E0A1AB966E36FC8A81CDDE9C492E4A09A9C61E63C540A457489C7CE6D9EF3046C77812B97237833DA0D8E6DA300302210CC009F39BEAAA0ED1AA107FF0C06D210CA678ACD357709B25242DA3DE144BB397D9A3CF8441039766407A67BC9297C108E7A11E98B09046B4866C9A912817B6568A04CE10F43BAC7BF211DAEB90EC1A281437B55F88C6E883EF9A271D8573EACD965360FD8F84DADD72EAA12377A7E1F47FA49BD7C3961A15EF5C311CE62CCB43032CD86C509A100EF8A250EE84B9F7F9730196A86ADEE92FA93233B2E32C87AF90915B23B44CDA9186DD51EB9A049C478C2A5B363831AC5FD170DC84312440AA8C83B7FC44254BE6F4E81FF2D66F57B12D78905B89600E537754A46CC5B6C5CE2B6B04F8D6F1CB60359539023BAFC78AA0E834BA8709433F8C6F0ADD3D4D743F4B6FB484C10A4267505097082F30BA7DB81BDB2476CAE452B40F67409536141428B264CDB832D1D611CEFB5D4D1326428F9778F929C8C182346042CFA5FAFF0819667EF4ED29E8D92279A2999545C3335285F072DC952E7C7FC1116ED0C5115C6CE7ADC993C23A8B0C96C2884F70817B5C9063C75FF1875A7B080B76B9AA32E6F7E4E8464AFA40F7123AC79C45D88DAAC71D76F795F192C6CEBDE8C99F10CEB9E90F022E5801A78922F389725BB236AFB5DC28CBBF1C9BE9617CEA56C80C531BB7AC227F6B996C68583B74BFF78EF44D185E0D0E5E9D6F34B250DCC4639E3A1A937CDB96E78A217E03AC900834B4ABAA495C9BD9DBC2C4E85463CD1C6D1F4D8746EE4B58BAD78CBEE21CA3E53E6B6D42645FB96C9417A374EB62DF7F7D23983B53E1DA754487F3C0711712499DAEEA9E6AB939CBEBEA79D5B9C7299C06CE53CC8B0C8F8381E04C525CC691443318B70E447E83F485E18EBE4524DF0FE0F47ECBBA87EEFE4F709B7C84274F037E89D3E140DC2BD608F8BCD5F51B3FBF4EF93EDBD45AA7AE5326D18B719A5DC6AE91400E2B6C88E699C9F9A95BABE33E98397F77FB0FCCEA59F3BC02A479E6FE1059DFED546644DFBEC3F20FBDF4AA53D025C66DAB24875021D7934ECBCC0619AABE7F553C9287DD6FB916D2C5B8DA77555D91597D895B9F8E0C601EBCD38364C91F28445CE09D445A9E71493FE35FF723149E73DEA9EED1E19517B5A735F7ABD8D92D45472EEF1D2C4EAAAD6FDBBE9570950BEE94613AE2A934E1A2C7EE899F2861AE17BF8D60FCC1005ABEC7240C7EF98E7DF442E587FE2407CDEDAF6C4AD725FE54AC880A47530E08B6452F5D9D044833CD117EE4E1A242FDC07545AA74B559D394D837E55EBF07FD2D6771811DF95791E293A52A972B682446A29C4CE3E02F71565D537D12EEE21E1FF558C9B74FD4914C6684AB897D9C4FCC4A5F2685B78A8162DC1BB70203F5005ACC0257252E0FF9EFC43B102E09E9221BF908B83B497A88ED83D0DB7C8FACA741A28BC5A910048764C5098AA7B419F24AE5E1E2B013405E3976D938E781FBB10BA679E855D2FDCB772EE96BA264208CF4812607EE0BE58C307568063789AC783EC937C68607C87CD00F34EBFCFD2635E5C6B2F7D88469FDF8723B81312D3402C1AE85C3C12023880940595175D586298D215661A38A363DF4263A51F434362FD5A11BF69B121065BB08CEB2DAF2D9F844646916E4A2AFBABA77999E7664AF9670CBF68E7E4B10834A52CCF02E45A431E06A2760084475A74C4C66F8FF90F34C1D83D70EF8D6A3790A6E3BC9D816F1AB038D5C3140C8F36E66D3976BD831CCFD88C84E7788CF2A3246C8153A27454B0E7A3C59E292927F1DC04EE81E2AA291C06C8BB173B53FBF39ECFD6EC1F57A7478E37199DC39D058283BD046ABE25E91422B0B25329D175A7D0BFA21E297C96A5C3F1979AF84752A2FB67BCB0511B790124BD96ED13749F1E922C4ACE355DB866011A1551DCC9548EB46B961FEFF4F2851055833BC4083BA712E4FB9C30C49928683AD783FC370393A55F904FDEF279C0A4E1DC9E1ED7E9058FA5FE363AB1E17A7242D0921809CCAE1B9E5F28FA553F7CA3E58FCEF7BAEB88D03DA5E2C06FECD357C12CB04C5AB12DAFE4D68AD3C7AA9302C9E2E6E4B86D1C96C55FAC6F7B63196A15E8182C1BF0206119D67DF749E1428B3FB137AE7C6EBAF75A0FC64163C21C44329CB4457F7D4F36959E8A93462AAF1BFFCFDE02EC1A2C7E67891DC64C1EAF2A44DD7D8ECFA5F7D596C2C66C18A4D8B07E1909FA87884816F514EC17AF286DB0FB353BEFFF94F810942B56062A4A84A45324773BD26ED4B5CCF4E10BF715110FDAC5C4C05A3EF4A3134BC9C9A7B5774D50DC817EB6A5AA3BAC029AEB5505204DB40811F69ECF17EBC206746D7FAEC59B26170FF23EF456235A66CDA3B84188495771E53421C725671788633472365D474167A0BF9BA7B212BC6FD91C4210570FA3FEDB1ECF6FC77D049830EB1E991951DF439DC2116F72E9AE1679B452088FF0D8C76A4486EFF15EF9E7D80E529A97B368700A4C6C78847084505C8D9177F08C96FC4BAF5BE3F4043A21B6FCC200E7F59CFC8BCB71A1E2FB9D9AE85414D92D09BC6E2686EDA670EB5E903FC9406CCB0501F8BFA16C0167E2F48899BD14258D59E58AAA8F450387C9D80F66A6F9D15FABEC9CE121866B2B6BA09CC93165B8A567F86FE0423813D7A0B9ACDC505DB6FBF6D5063DC231BE1E2D801E80DCF0A82D3D8C98E80E3ADE2CDF4D8EBFB9966CA1C68FABF0E3136380E6AD17517607E2A36D41017E60EC0D20D6B17E5504493C94FBDA647E3C2195379B98D84C1DA0634577DC5FBC3638D9433FDB32F7DC25E52B621DB7F3A0194F3CCBBE51BE61B55B4E5D27E0BCB2712F6CD3A29AE2C5C8F9A29FE836C02B6E9086AA4D92C57C5AA8996F4561F +MD = ED18DAE77C7757F7AE75FDB085CA7F0D5029360EC0DE889D07090BC5 + +Len = 22208 +Msg = FA8203123566C334559F12F1C37181DA32759D0AC6CDEE696610445DA4484A51A867263AB6043AB52C6C097346D5BD6C83A2519B28D37844AE1DBB55CB8B86743D51881D1BC810F0E4A9E1F589D8E4CECDFE5859AB245A79E0D8805347991F23ECC83A307871C3D1A22D6BDB2A70DDA20EEB51496216ADAB2CAC4BC4346053A41A6FAC5CD78B5D2C51AF83A754F8F38C0CA7EB48241E34B738FF4CE7421471F8A792E36F32C16E067B85562BD752EE5E73C7920DF08F1090AD8CD251874D1164E15DC9C131AFE318C4CAF04DD044AD068CA856EB44F12C057A676CF2F5BE9C72C74C4709ECBE90A816AD2AF43EE892ADDEDB7089C89DA5ECDD20E7BD082CE5485D559BC9C771E49F872339252D66C368C9E94F4E23C85734CD567C4DE7ED49F92426A5D38783FBFCDECB7EF62ADC5319CC6334357C2D8389DA870146326B1BC12E9F70B3C2AFAD6C4F51F710DD77663EAF37C101700D64AFD4404773AB572A244B36C32737FEF7E168D41621123078AF025F4C25AAAB8C9C844E7400CD2D8E43B3BC621DB1592D3212E276C9A52EF56B6B4CF39A49673C483805D2450CB2EE045E3B8B5BBCF7FD413E8D34A8716363EEC48F76F54B4F2FD08E81C11997C5647173775D2607EDE1743E2A22420B3C87EEE4D75D14343C8735E2B6A7D276C739FCC75D3D1074C43EFC5A624304C4CDBAC9F123120406150D265D36C5D4DE4441C7FC637FA4B4237A403A5415EA01ACB33E5AC6507DBCB0E357245916CFD6B0D0E35E02CA15580D52660872B6C2869C4F1DA49B600AA3B3993DC569E35E4AF380DE7400AEA928E9D25510B3BF9AFF507CEC720068D4721F42C8ECAE2A48AEE31D0AF6F844458C441B93B3508D74CD43A44033B7618AA4D852BAA420CDD6B7428A8401E1B53EA2CE33B3F09991E691E53344163B2A8835E0F90E83C7278F9A0D8C64200C502D8DC1AE1B96F9947E60690032920E795950EBF6642CD5421CECD282CC470FA462083E221A900140BD511E616AA7471A7526180771B803A2265021BE2876AE04E4E4E86E830452BA79D4306AE45C7FD75716C6131211904F72E1F52D3A1DE2081770598628E33E244D93FB971488823DA9729169B699922876818D0D91848A3EBAA785B7029915F3D9238A4151910A88E2EFE6F41841EB85044443098322B0593826F8CB6B0B76E53120A004E913CE42E448D4BA1F2930849185E7C8E029533B275AA4C1B1DED8D38818EFE9535F4D0724A5EFBCE485CF493BA53F619B56C251465E8A07F3A085627E13D0E24EE6157DD76F4FB2FBAD7B58396BAE6919069EB0D32B8D57F933E6059FA2FF062BDC7FD86CDEBBA4E206A4C3CBB2A868D7E09867D316C8801A39DC7C71F2E7FE43EAE3C1CFC71E0CCF8EE9465E53F936A9AB608F29C9F2E0DEE8E450CD42637785CF84543D39BA6FDAB77F1C93D08C5D5D87419540B3A510D04B029888D0F2FA64CF5A62EDB4DB7F4A8FEF45B8D27A22C68952C405984BA94CD2FC0D79DB81A70BFAF9237DF9B86F3A7E3CD08D4A1CE6B1E25C3BBC5B206E4A018070F0B0ECDE81CA834FE21162CCE9ED32E1B507FB5D93A625602E123ED1EF25B3C291791C56B4500FB7B12646773B1F59E204193DBAA23C9AE79B293132CD5EC9B60965280AD0824F3E4A56FFCF966F6B2309F3CB78EA7E4CC587C4661A10D1E22AB268091E95E8702FD20DB71D73A6B9FA6696A5C0C8A67188FFCCB90696D73D8AEA1D9A0C0016CD449F9C9DD18DA90B25D182F556DF1857EE0B3E48C28882B110E20C9C9126FF73DF840C0A3F72474A14C91679EB5F5D9A2095A5ACF1015598CB5DE4294B4A78C7E5818C8F1323234B04E79C5A4385AA429CC3BB41255BE8796165CA3B2D0ADDCA422FE8CA3C75892ABC86316B2EB93D6E75600668E8AFE99DDE205EFAFA472BEC72CD312DD81570154490931613E8F0FF9FB0507DE56509A3C2E7C97C3BBFCEAD923A3F2FF11DD8B052D154C220D44E7B2E45BD652B6C885770E0E486325F54FDAC28AD7A760EFAF7C505164D520955E13527D186C2488A8017A530E02A57F61B5C5F373907714E6DF708D47C9923B70082FA641CE2D7B9CA4F3087D8FD88D2BA1533CC6751506A64E06EC92B4ABDA8DE2D75B020B2C0113C15B7FD92EE8494B572209C0B4C614EFF2FD89AF1FDCF489BB5BBB7768AAD64EA49A7DFD796FF7501D75DA439028575ED0BF0CEDB1FC71E68E3C6CB3DA3CBFEF8D12AC052CCCC1DE46BBB43835CEBD9A1111E83D6179E6CD10F67733EAA0D9BB166890729A48ABA05EC7745409209942BE44A278486F38CDDB6E9852B0EE4EAD981A8E8BCC46EF25A4C07F874A887F29CD61D47C38C9020A0F1F2D4A1BDD3C0B8E2C53C9B4312B54FFBDF69480B2A3707F0CF89638D7B7679AA91869A53664B15AD07EFA01E718871EC9410A1486A8DC2B41FF00DF7FA069A6E68A33F27A2EA0BA4A3191CDEFDF2349BE5DF727B7354767A299FAF5E87CCBEB98C4AF036898A80B5C485881645739FBC5A76C3934774F6A078AEF28183A0148305F8C0891832402DDEB993E1CA0EABD52D2FD5C5946A94B23B057B85931B698B46F68AD885800FF25AB1B5DBE42661FAA902074A3D45CE02FBDE7C1C38013B1000D9CF9C2F4226B5ED1ADFD18D676D14E7B1422C6321C0FA5171933041ABE963DB07C06953906C051D7AC1D356BCC0B800A7D5F19DC0EDF4D0CBD16A2254208235F972F59E71E410BB6D51A89E12A33979BA6A6F8F5CD5C1CB0329C73FDECBE24D66C6B5D5A1125D162A9B0E982BAD23D44EF9924C6E2903FEE8355223727E4FBE400E86E4BA8282593695018F50D96B7D1F5F83066F023BB7D0A568D0C396661B876A15A859AB08425AC1CC1563C7A094BF8D9A348B2EBE8CD8826C252123968AA90D9404BE82019DF5BA764D5E796CA43F5BCB34A1D4F908E7966D89833E5A0E8B00A9C0B385045CFF25AF35C4F566492769189873BA4380BFEF1AD52FA96EE049BACF892DBA6DDA605C1C00244C7C597543FD2B6AA6F0F044AB4A5219588D5480E759AB44E79C5759F1083F68165D42DA6CF04D16EC0A71400C1C6A50FFFB06A06AC0FCD23F05EE8431519407C470DA99BCA4B11EC233ED32C1B1F6E506E34270C5927F8C34CF30833C94A23C0F90ABE0FEE43D0DB8BC56EFF9A00C403A4C12F881119DB8B7C25905161F2030EFDAF80864880F6F93C50B7FB74644BCE061C20E9F20DBDDCD98E63CDC69E0F48A0497534BF59C06263108171D5E480F0954820634349D5BAFE9A4E8D96AE1C29C46C2895227B04A4412993B8B6BBE5D66D5D026635BCEFB162A53E484A9D9173D3A2AA60E6024429340B34485FDD68B077B13F4134CAF6DD7F38689E4936325B314223C684ED99D50163646A7B725F321C7BB60153F40E3CFECE9DE2A263F3A1030124832336E12BED3B81D99F3B6CE3ACF87BB1D57298BCA23BFF9034076EFA9A362F30B3B9B3E2EE83B455D8A63DEFF545EB6341910C767AB1FCA2960C724915DB60926AE6D40F5E87EF28DB3A133B69FD673F6BF1088D727CA8D6237D1055BD6B1CDA4E1BCC849B6BCFF9602AEB73A3F59BD3AAC6D0E54E9D5336FA3BC0C0FD22782EDBB0B9B35ECFBD99793FD910399D35E0809F16B53597C24E4841FB8E7EC3C4C434B9653E0C1F9D859DC9A365E461DB6827C2AD1E07C6130DA1B84ABF31A76084BD7EFB40F302DE75D62EED0EB4A2985345C85B80AE532266B39A704D84BB16E9A9FAEA7B3E7924306F650C2F338298CB38F07C04B1F41736876799C0D17C487BC5E0047E8534ED356C6F30DAF21610618D19BF1000BB8860C279B7EC27C6270709C00E3CCF78BC95CD550202275013235BC2B3F0E11791D0F87D125B2B1775F4A866DAA90A7CCB1C7D214B19F022825AA0A22DB78041250F63B5A683DC9FFE76AB035 +MD = 62EE8FC4E772F3B2C505154443CCA14DD4FFC8D4F40F91C7C4B8C5E6 + +Len = 22712 +Msg = 08944CB473B828B118A31986DB67FC757F238182E790553404B792AA4F0095A6A83291E287CDD16521A3AE8C48F56FBC909DFCCFAA7BCC570C2159F26592DCD6B15BC4DD55CC05595AC634B2C3DE15360B0F07A03B5957BC9333CC5097919399DD9973ACE15E55940178C4C96BB5E0A0A10BAE175769548EBCE11E0D7D9DB29647F197D4B87F7039F5D4E59E016531DBEBF55A797AC9A6835032CDF34240A7EE7423E89C09124829CAFC5F89431C8AFC54FD979E50D48A82B47A53523C84B6004DAA323EFB708203E5388A6A5110C6CE2E341048A65FDEADEB3837A03420F9FADDC3F02A544F1E46D96B07C90C7971A7040A179E8198E90AA019268E00367120D5F3D98A5CCE82C885E77144B1AAD66EE682847776B04F01F501DCBEFE3903080A8058B3B8F1D823D917ECF31FC2D5B0795BF95A55C7093ECA7C801DD0BD0DBDBEDE7D56513128B29FC0B4D25A6240B24C99E017BDFF7ACAFC8F8DE9FAF5A2944384AECE82BEA04DCCC6D51FC6E6F27AA38F131B7959B13681A09B311D242E6222A1CE5687DE5C080508B1DB16B6F8290D33A3CC0D0138AC61FD9093825E9D3752889E9F20DB9F80F92750EAC88B38AC81C0016D40371EAB4A87E845E91446B0A07081B84F559CDB95340CB020AF22AEA1BFF2FDA12F7A42973FF163A1C6F33DB8B8214AE27ABDF1C54F5B03E29310FA210125E1296E8AF93A2996DBAEFBADD4C51C2C3B8A3E2BC9FE060C42BA32768F6992A99599206CD2291CCC5BBD50856F7F8D2D0AE1EFB5892C15A799B77482DE4553736B162ABB06631F1688F6746E7D7A37EE7EF24E6CC901175F04960C01990178F81E957E941DEAAC8846B3704E24204F43DDB0765C433F3F7D4D201459CD65682B7DDF3D47E95CDB31B96A4CB22907F08BA6E92A4A07703B2DCF150F922C4B7CF181380303FB72547847305999C3C8F9AC877D05D9DC4159DEB8A13D36AD1D533A56950E20F906D29D51DDC45BD15C1773991707480E37B827044BDC6473181B760A9036E0D3FA491C2F08C55130D8CDD5AC8E97D0813164AF3D28A585F0C2EC7004D498F95C6B62231A632A56C2D0C48FC3A6992D4051957B9ED6D9A86DBCCD962A8883CF82CAF01DA2F51A203D56B6089BC8FD0B1BD414C8063031ED469555E22EF872689C130B1C101034D572FD8CD0EDDABEC9EF1503D7F728B0941EFE2B9512438C7DDB176BE2EC2D9FFCD56495A4511428DF02819CDDA18D1ED5D3B16C6F42AA0AC681A9FAB51E8A1A856C15C51A3EC1031427142EA12543014DD4ACAC640B8A7729E63AB7DF1051112CDEFD4B988A2258334FA9A7F5B3A87A02074B9F69DD81B83FC74089A91D76AA4041259E80FA255F2084902AEB9E996AC2288AB464BDEC47AAB26A28A2A8194989755D48FC9A5C9279285F2F1DBB8B8018F3E4E13115D78A879792E45A8F4F24ED4A317440BA63E6929056EFC1D2529B75A709D6C0097DC2D97F646F334EBE6195EC5630132FDE58E25DBC17DAD822D9FA0938A2A2C926B105D108403DC29CF371C3504FF73BCE9C7ACF9A74C4954CE6A32DA96B21CF3211B3E49953DAB78C49C3E532A349003C59C62F7D40261CBA63A9EA21C89A38AA63CE431C43AE261C4D9999B1CAF491FAB8E7BE6E8C3454F1BE8793B2D27141FC107DA599A4694C41353D7785C05B5E31440458D17C6DB66FEB8A9C5C073FB946A67AC0312BB669D9B12FABAA5272CA6631379EF4ED420A4424A5CD08526384C047C33A84D5D7DC0C2153663B54C73DD799A3568C01B818992CDF8143F1DADD6B50CAE6EAE13AC66F31FFA2B362CC4D2880592B7FEE4B9E4CD6AA5E5DE27AAB9B5DAD9F7D39407AE927530CAB2B61CD7394A21EF47BFB813B5EA6091458D239664923280ED0D5CCA8285BB2281A2F9FB3FFECC8E9147E1E8FAC957D90C9E5F513738745A47C2AD0C31FD8986EF3B6388C6E821F166513811D547AB4336B5E04643497FC9F8D6E380EF6478B82B6E2F5F65DD98A63C68C32B94610E1D3B9538F13A7688FBB1EC3448BE9BD77BB93A34546172AE8D614F85228988E7FEB18C9A0C9827699E8B3CBC69750BDFECDA8268F694F4C509BEFC1A1166F85C829725299D173F867A300987A2D36D1BBBE37BE3208FB8EFE9152A41A5F0E931B6382FF7F9B18937958FB180E61F2A8C28F36C3C80C3722935AACB81C24AA17FB3E7A1026F7031A7449818ED62BA7705CA27C2D3268F90B6322921683DFF800A306CFC186CF2A61B37F35837B217E3B2CECB0843D84EAC67431E3D689F01522D4A4C73618B7C2965C9DABB15C0BE637D10CEEF72271CF39A7B803B41767BC34433C3E6FF449A439AE13DA1EAFA038CB9F2E1C84F1CE39C05DF56FE3D7B82386C4E628B6E27CBC5D575C66ADA3510C246BD04DB48F4AFC2D7352966DA2266C2BC9831532F53655D8BE42B421AC0D70D8AD1D3587257886DBF93668E907E861BA64F45999BADB0F766EADCE5238B5ED397F265935194812C03C5769137BAC97140525303CF48D65F39004A3F59B1FAB09895CEE05335D15B9B12265892F4ABB92AB1DD2002ED00CF3562CB67DFE1055968E4AB3306BB34BB87D0F64B26848812A2F7B50424A21FF94081A7F70F7B684AB0F092B2B085DCF84CA38414CF7290F607BF79C37EA84253ABCA8D4184D2DBE2E900200B81479E1CE8B71DCF2BD6E3C557A8E431D627BA669C2EA03068E0F7EA62C29777B22142D7A1D451BD541EF8EBDDBBA4E3BD8FFCD340E935BE7C66EFC14A13EA48134F655B0DE3180101F09D204C379743A357E6DF1268B55A9F7524398ECF3A59849A27B142239059998083E8FA91785E91C4D220B2FB17E3389EBAA384A49D89B5D78136DD2454F06CDE9837F096B744D53221127869904AC227CDF30BFEA78CC5545583F999B9C42A1184E2FB9FF3EC095B9DA0D138205C4EAC4C8C480C43153608849F63E161135C79D8B6C9CFE9B8DFD8AFAB559D8B595DDD43835033B4BBD391E028BB2A60832D9B697EE61408F149744DCE71AA11BB2B0436C1E2626AC3A27CDA293366B90B9CDE2D927855130758D3946B867192DCF3FCE9A3B9A5276E8C37B8CB136FC90A6DC22650F95E796A9886EFD3F424BE63A66DBB1041CB3D4A06F4E7EEE89F0B6D15C36F9EA010C66B332011C8888E8E4AB2B3AB5223191E1388613A0FD0F07C1B26D7CC7CDF1AC62A226454D6291B431CC3EF2DB2B2442B37DEFB942117FA247096BEAE598611B8104F37BEBEDD8BB8B949A89B5BF8E228ECA1D8F16BFEC75A02FFBB4EEE3A6D4A6087C43634D675311E72A9F3253BB5DD364E07EB4B9C84F586BA267BAFFAEFEC79E03B83B18595FE06D7E063EE604FF287004D141C1A43AF0CA7C5651D98F633FA875B4743353FB07BDE59B6567AE25F7095F1D9EDF30570E2F7D7EC194216898D910F9E295A41DFEE072CB56F914BB78CC9854129250F9874B63BB3EBE9A1CDC6EBCB0916E1C440354DED6AA818F2811DA913912A21D3961AC94A39F0827D3A419616905DC45842C8E69A43004B8AE922C8DE1E8CD0668674A7760153213835BC63FAE4F8D65614AFD74A34D42ABAD5025B884B34639340B45D49CCED423771916E18AA077291923017CA50795F3B7A3F349A3D29923833CE57801C631576E23B838A7767CA1BDA92B82AC502DB3688FFC83C09A4E40CAC31D20D9D32FA6724A80BE7091CDE9C7A6560CFB326B467CADDB9E9B7A491EDA283EFB0B61B4A1116DD859D5C0897EAA2A3FB2CD82FFB33770BF9E08091363B6B81D23E61C2A647D2BE440C5C79EA89690656D9F10B1F07942834E1CB6E2D2DF106EB6D6A21FA23819E65028515E88BD279F9317BEAFFD394EA51F8639371C3A89F11305A4CA35FB0711F5E2C7C3DD1659C790245812113204B4ED8AAE9FF09D43C6DDB13F5070D98831B2C7639FB6B9B01C288812DDFA8861DB32DC8268C07D30CF969953042B3DAD530D9D744C06AABE7A886C0FE57B09B7F42D193FB3E9C06329818251A2F7E6474462C95DED +MD = C1756C010C173E999B6CF11E3B6BF4400C8C866A18C2673A4705DF79 + +Len = 23216 +Msg = 3D85E0037343FA076AE1A5AC3B9B3A299654A9F52E73312113E0EBD78F4B599848023AA97550DC77C91DBFC922BB965508D5CECB139153D6D6FAA4F8BABFA2250D29AE12BB010D6D3EE71F910773A15283AC916F8CA76D359AC6B654BE15CFC8EDF2460D0E993D1DF5ED9C73E95D357D3CFF052B3F4CE358F96A631F0F7BE4C1B9D88C7E6C04682CE65CDBCA2C4E9CD05D2F51027E5E992ADD31026D37FD91DA8C41A33EE726FADD3D516923C6CF5849E5842291039BC2EA94D93B2A8AC7FE7275FE868928F3FAC2BEAA44F06375D8B92CDE7C403AB9F35B4F0F34EB66A5A31DDA32DF9DCD77DCB040A6CC127FD109CFD54410D7B3E4E8498B04089400D61F0082CA48A9D1D9565487D708756A9B16947E9C05F94078E91C565A56C9F7205ADE6D8E9413D6DD0FC8885FE01AC7FAEE3605E22725C9A52FC1DAE92B110C38EEB87729A9BB2263B6D43FFAA57ABE9C8438B31D15CDC8D80DC81372B4D98154937E7EAA0EEC0BF9C71FB77E2F7C360B64112AC8D8FAB5B574C21FD31600D341A9173A3ED05B0F417C18C58E526A010EC9FFCA19461AA9EA5F85416D029689AFE7F69836F89D1712004B8C79020D6CFF0245C7D4B1C196750D44527DED407595A7B28EE8C95A85C6CED826BB7F61D8EAD9E0BE20E67D30D5AD6D2D4DCB38F20E41CEAD521511754901F10831F8BA88679AA42E9C47308BC5A7F3AE07C14A8AB992CF07A26715F564B11538E4C441A9AE54A5A8271B66966C2C9065A4EAED9884360CE60415E953BC31072B4B2E3F7579D6FDB70FC737C70CF55EA5F72743DAFF866BA482199F8594D6D72E1BD07BB82476EA95B7DF9243B0013542EC95AF486AB184BBD93E6ECCEAFECD1A64ECA30468129683F150657AD050014901D0D4EF1005C5B86F98F2D7553FB529D7524C3F1B27696FD98359355CDC39DE67CF18D8EF58653F3C0499E085A8F9BF555DB9A1604A9D640C09C45D2B4A8D81BE369349389AA833356338584704F864F04227536B5F95819919C8360111FA2F1C9F4B275A18F724647BDF2A7830BC0B6AF386E9B5FDFF023116FB4E220E9EACE1B6E6B4C68C1C7DC91902366A6CEF4C4163616B85DB15C3D35733727214B17A47A6D9C5E059CD0174B1E5FA764AC11D1E859B8F092A4DFDE12543E5AC4C27E396183A63FC0A76A52469145CE8B01BA733C1BF4AE0D3DA35F5B107F3083CF07BFBF0E0E76B3FC7FBF5E515C6B79403523DB6D668EFFCEC49DAD419669DADD343870C82BF5B7624C06B9F8DBE66E49A35495B0B17C25AC814A0A58E5467DAD961349CCC2E64C217B8C32DD28DB4B7A4D8FC841BC1ADBF9F1E3C1F871AC9E3D03B0E7FE25AA79391DE961B87209C6E41D73669C3A8883856403736236317247F332BC4FA1B14F19878E2DF7925192AD5C4F7BF431A01A1572DA98F2B01D1846760DBFE3E387357D115135F1DF6E4B1385DA5E591E0EE2295858705A2F16730B0CD7468C08612179E3C449F9977C0EF6688417190D7361BB94C4782D67B038C225EA703B8BC7309761561BBF1A3AE4925CB0E8E33331615EE3F0662641CEF3942F9A003140376393C58EAA46F6E994A375369277331795D9AE7055D4DFE87AD41A843202E598E492011833525D2D568B699841E6A82CCE59B51D400ED6F896C271194F2C8230E271BD21AD4345CB8CD89BADEA7FB6188B0167490E1493264B68BD995D56C93E6951CA8C554B1E0AF35850377BB87C13BAFDC81E3C433FF3B5F13FCB5338B31EE619C59EB160E4E6E5185ED41ECB18791E6AEC2DBB898C4F951F7179B3A523A3EE8D75BD375F03A1833E5046727A501178E8EAAB4E25A05799837F1C91FFD4EF364ED731F39AC656371CCE01DA73A85595AB9AE3CE41E799FF94C676A4509D774B720F38C1D924D17B09EAA04835513C96530654DCAF00521B8A74E40774F146B00AF65BCCBF477B58DE528AA2BB793F47D55F4F2893A114EED09F21CD79168C52134FEFEC9A79659D4AE45F28A56A6E65376188024652C0CBCDEB6DC8AED36604E03DD61D4ACE9A8B7C54EBD35A19CEC99C788FA02E45E5AA29160C661051B262080841DA9F3BE61AD421B4CEBE7EEC77D0A2C2F14658109CDE4741A8F0967D3E69D95E6909098A61085AE1237BA8BFCDBFC339DEB4A11AD80C118023D82D904A0282EE58D0ACC180F9E9A629C083CC70B6BCBAA47ADAD76BFA0BF0393E9FC86C6D4374B1FFF93E9AD8F7643BCC769D2E1B91A571FD04F4602AD08A7CAA92319137291883FF0CEE2023BD4120577611D687E71FD39BEE25D23D00619083171DE81A0475BF769C972A0696031719719187FB5C172EA05C7CF5740296683889F0CE5B28665C0EFCFBC95A4BF7B9C6CEE9E3ABEF317AAD2C829E59533DCE70186657C6DB44DA42820BD1F9191ABCD3495AA6D1661FE0735F4AE7D567EF0CCAB731036B24390C56096D3B56A1FFDC9CF36F175B587612DD7ECB41386F82BA6F81AF6E684BFD6055EE237E5A22A25DB0AC2985B8F4E7C553B10283C76ABFF2CFD415D6D39723BFDF88F2A8C587C5C921D4FD4A8E7298DE0E7B2E897FAA2513D5AE1C315A593421DB07DAE696344EF882414E323BD03BF8B97EEDD732E44C737CA232E4E6A1D260F367DBBAC2500C4619ED7D7170D2482A1A98F99F9D4D6F1832D07E83F58E682D89EEA023FB4A3A9438C906AA36411E37356D95689E4ED4D49548DA8E8FB59C9C880E776E2ED8707DCF4B57AE1657A5CDF77A4A757886AA59B496182A68B62CB41360956B511526E8955A8165898706258B3F6F9D504EFF7C2F573E7DB1064F9A16391B11D1D537CF709572EAEA023952FAB7C70BB4BE3872E794930CBE2CCEA92CDBBC8586830AFF81264CC0A4F3A3FF11A4D1A7D521A8EE737C4FFA47063D8E88D69D381A085D71EFEA51A3DC173F6F76F2F4E1209A536951FE946E548914BCD7BC4DD506B41B1DC5BAAB34874362CE0FF03BDA19CB5938B813C57E44E0D61DB6644501CBA3D59B6CFEBE20E35E4F670E1E878E3DAF70245D9C42A190D575B98F9BAF88EF59E5564630D1C0BE4E566708C4CA9131813332DFD7F267E37CAF7681EC9BF5AC84586FA9A97C6C8882FC24358BF8851688860E838703D3EBE1498EEC27D8CEEACC0AFB158F5CCF1846525477D3BF069F63FE26EDE5FF556387B7D92F9540857D799D77D1D3319C86695B0622F82C57A05952F6DCF114B1D36F5629962DF10727B2B3F9A9E583DABC8B561DFF53B3E17D72CBCAB8CA974018D65C4E3054BA51211C31F81344CFF4354F8122B6B2B28192E80999537D783DD5B34A47752575B3BAEFB04247703271F9EBD89649D0DF30BF030C9DFE39E616470F3DD75E0F0595E572E70A93D1CC2ED8CACB4DC2431546B123972649B82D5876E09D6C4D9E1D20CF46C75C4E2EF76C162E5267B0B9C11B6DF4F32925042E191B6ED5DA0245B68DE0B09087E64E177E41A5A6BDEDDB4842DD08664E03FA594572982D415A64B70749ED536EA12851177079DA7935B85A81F00AF0118FAA62B879BF5C0410672C5948E545218CAF9CEA64B60C9C054A128E7867572E022896534D14B97AB668BDC9B50CE34C2690788F47CC311B866D4DE1FACEBC1BCC306EFDD6956E58D391304769742A65CBA3F81D6C45A79CFC2E94BA44F9C73986BDCD68E9162D9FD52AFBAF0154E20E426836A68E6FC5D2273CD11F09DA0B3019B7A5288BBF21EB3ED02A66D787402494D51F1FCC372813BDDB5017B0BD468A88A50D65AE08076D7C754E64898074F3048C8E3CE1B0954DE60DD97E94FADDF31B383F7B1365CB83AB0B4D30A7F8953A73435F9160D45C370F39F3DB13EE46A37B5ACE3057B83993F035E8C1F8CEE6EF7C3591277CEF69301D54ECA4670255837504B709BA3B2DD091D95EF6E6C5591DE439F5A882E86E19D1A2D6DF56F0DD26E8E954DE5F3D1438987AD2FF1A22F4320E96FEB55DFACB83A53D1C84B6B25FADEEA4970C85E82866AAE5E7A7CBE85DDA0AB5E7BB0A074302C49609118C8E34AAFA5EC7BD1BEF5D81B25B5F8F4CC8F264086D3B046A5EEB89A307D044C076C3E4698E60789DADCF265172B75FB5E80B59CFF939C06F937856408F709 +MD = B6CDEA9DEC937E457FB945433E140610A5D5D93DC25F3007992477CA + +Len = 23720 +Msg = 16F85F578206F4D625A5831CB3B029F09D6F9E13F8E4271FD41A429CEB638A1300E51B403ED6124420B363191F55B32E14D286584B51D3572536A0B7022B63F844F85C457719F88D4B91B1034D2B58E77C3FAA34A33DB8089284AD13C993C234CA883E0263D4FBE209AFA31A445021A2FB4F457633A54D158D94F2342BEDB2CB65DD67088F8E017B58BB787ED0400AE30466085EB72F190118BCD6B00A7E1BE12D3E86553948859FDB930522AC99399685FA8D2927D4C97637EA57730C1216E00C2BD8E8BA684E1E8202289F8708D5E43F68EFBD1DCE5DB6408889E5E6D32BC6B20C1E40301471EE658A2B89873589A95F1B1923972377E6599DC7A0276D52B54B18245A38CF56B9E4603BB9BFB7F9A68CB63184221345895DFAEFB6DB77C8FC11A2B0637EE6478DB74F2DC771AE293C9D1B496A410AD012133F65EAF4D3737E01B4142B50C739B0766E846E3A372936E8F05D00CC91FC4B01DF2E39151DEC6C11C3E059AEEB884AD4B146F0CCC66CE48D8959D7AB9920F895FA911D6F127C97F1E8583D5AC8B0BBB959CA80E6F025B4DF440747648DAB69662EDB9F4EE44A6EB7B3A086870B167418C4CADFDF6408E86FC07459D37870F95D1AA11D3CAADB3FD65038CFADC758C69E8E77B9F0D08844F942A73B2A16B99FE58F35444C3E5CBFF03CC7CB4B95DA6CA7D9A70FFD846227CDA9BB71A7212CB7F66BD635B2B25116F1A68CCC239FB5C510E876BC602DBC518F068F55024715C2236BEA45F42964ACC022ECC3653C12399FD65095E0E30614D02D8274C63BC4B88F3D11DFEAD0E406B1CFBEC34065059DDCE76327973EF82D5B0A6DB9B3014607207E545BB9650518E4BE41BF9454AC5FBFC984586F6FC5714293ADC8438C897522FE2CC6B1B800BF64381D91ABFB2EF2B7703E337AD631D24498FA36FC948F7B7BD668187CE9D94C396FC322E53F341971F8B79D504289DA46199D7DF841B985D0EBE2F82D9B742A92CD1879CEF6A9FE968F3DD0875F4C172AFC3A289A86DA0F4D03E8E5E27DF20EB1C819B2566A6362A3A202ED318851F218D39364C4C47E5B47E16894B645FCC7A84FF4AE8A075A65237559E69F6F634736129A6783B7C13BFBBBC9E3FBF5F8FE52DCACF563EF41C1E876751206E5FB7CF869F3F6BF382C1E73334F1C05E5F6FE81344B7D5CDF58061775CB3457D7476C3085F9FE620CCA92679B1A5490D1620F613B7E8CE137C2F39BA5CCBCB7C61BCCBD6A024EAA79E58939B7CAEF19348F745A4640D15226C0532F1AC35740AE23CDF1C5F7113725022A7948615A33468A3F2E8450154E4D9DE452D3B9D5368980075858AC06AB9B30FDD432E44EDD9DD3C57281BFB5F4E6822D8BACC2E3512834AF79E0F8E13F8604C6CC838E2BD356BC3224D351187C89CF0A35069C7891BBF9F2E7D6B5D186EC92CA96A17A75B5315CA5ECA94C03767C500B2728E36B7C7C10A39155AF28A8C262152065CB68AE92965F0A0289FBC470FDF712CCE4A03CD0AFA7D9D3DA1E0799177D78C5E87EA5AE6AA1FCF4A514812D0ED0587417F706891CAB158429A326BFDA07F6C3112F7212756E6AED0E548CFD788AEDC7CB0D03D1345B2A28C6D3864EC67360CE237F008A225DE38B3C3D95047D2EA919E47DED2B2B8139CD37D300A5296550A162CAFA5BC0E8014830495487A3C2C4C49282B8E04BB988D744C0C7248AE2003F41CCD44666E06796C60A0E585BB1E10B5CB8D346E58F9843425FA3271B5227D0498AED2906F36D9076B1083BC26FA3F505D908F0B294148C796EE28AAB1191B9F46F5A4950485DBE913B9E22365F0064720E9F096884C0B36D18405F35EC928101ADCC82E3D56DD578B6E81DD0EF2A98DC9416682883522A5F357C36F292EDB5337E0E6B33DB1771EDD2E98CF440A6116EEE24C7EBA0BCFDB2FF1E1C852A6927CD122ED05A2D414C51A56944B3012F5F9EB545B838781C964BED1C55F0B4E36F258F4D0FFD1A01D5CAD9A2ED53DF6A192EE74DF63DF7F6587EB31ED365F58F1666343C33E42D75322FE5857543CAE191B799E312D1EBB8F70DB19F831F136EC11F3FDB80B693CD2D2C2A56A3D5A1F48C63DD691E036387D660EE988885F08E4DB47A72E57C8B16C583A7BA9C13D6F686E6C7164E9119709BEDD892DB2ED244E7325C311E3FFF4827CDE0AC7507DD2D2388BB978C6280AC6E096A12CC8B44C77A5E4B4C79E2CCEB84E24CE7E3046867F2B96AA3DC663A2D66D481F47D81AB487B1A7FB04B6B1443E1EDD6A2C8FA09015BC17CDA3D7A82B9DFA4194094B40353E0B23B1F878C3F3FBA505D7017ED16EF0A0372F1443E81D69DBE1FFF79943AC8B6FA31AABD090733109917730333B86C093D7227DD54FCB590614D8F195922B120904393974560CCC44E225D1740F5590AD873E3093BBB1EAAC54AC77047AFF1B8B1439944B5EC784CE8A4B1A116F7D008C3B23F2F7C9EA10B802B3BD0C57D00BA7D5FCAC12FC3B033C35ECAB30C2563A0143C7B54EBF3B5EE18D800FFEA1A04E92A41754B1B0F7190E9AA0F12F3498625F222DE621EC311186E2299F7F86B4D95E3024B46A58989723ED88AD57B9B9917647F948420FB0CFB24A865610F0650BA773C258DF09D739F73FDA76B12E7B56C1774E62ECBA24A0E00DA25CB890642E49AB6636CE5B2DDB572D6CAA0A9231D163A72D5666FBD466724DE80F7BC67A47F9ED51367164B9F8762B7B4A0CB4E91FEC551427CC9DB52855C6457CAD53599AE416D2E9434AA4AD72D191E162502D9AFD354E8A3BEF8B85A7CA1D52735F5C1AEE0A7F98E3D1D793148F0163E4F8639C07980C9780B025A8F2F78790186BC382B766D8018A1C3F6FC088E14FBAACCD9E97D67CA25938799798F11EDEEFAEC5F96D1782F1073A14B971FB09FCD37BE34D39A6B5E1308F53FF291CD19BBAE6ABB7997836178C074F7181D26931611E1C86E90BA8EF3781C81CA4C93086DD2F4DAABC2F7EF30CED53AAFB90F972B75774CF7D3112CD1CA5BFF8C1B463FDF46AECCEE30A2247E9A2023EC1E3EC21B2250B8E9FE2B4BCCA82C84F0BE24600589F7B9D6BE5BEA4D2AE543D738D0F2B7B086C88E92F7E18B323BEBC44EAEEA26BE12FE32753E3D2064E3DEB7EC9EA4925E69DE6B41E31820D49D6FA8E303DE0FAF1B1FE6C7C23A4E1DCC23BC626C108D5184141D6914C4DBBB15D0A2F55BC2DD4ECBED4C419B9B00A6444D639522600C8F9204B0DE1FCE3B6BE57E5A9B0E3CDE2A45595978FEFAA4008CF74B13CE86DB5C9AF0FF4CE122F60F07069423F5E8C513B5B955D2A5C22B11D4103F9F37AFABD606D50F7976C88FE0F01CACD075F4825615D3B9890F9DFEBE49AB86E60F390ED2D756594E94827A4946172232979665FA8264B7C0CE1D8BFCA203EDBD7D394A9DD06B90D428DA3F7D58F961D3680608AE82A0469BF3B3EADEDD344898240663088B62B6FD38235BC0D391151238963C8061470F07E21D3B7FE3BC6CFC4EFC550E2940872B67322353BDE6025CD6D65C169B9D66748D73B9DE6BF9EDC57DA1D7AA072BB2C35961DF26FC7BC5A4928A4C6A95371B87E03FC52C2A06342959F7A1BBE8961D69FF1704FAB283B4A5BD417A80E45D92727E0547A43AB04A59272EE8B3F6C4495414D00B88AA8A10E22A1A6829DC2B3EA2F9D2A544ADA933FB44251DC6FB814C82B0E2AB1DAD9F8609FE86EBEFA6277A6774C81D4963578D56A49CA1A5B80423A6B1D1735BA3E6C0A0CD4AEC877D9AAEA84245CABA678666CB5C2B48AE671BEFED3ED327188FF20C1A5E44A7E14E4EAA6BE3A01C8A658E37F337F3CC8074D65EB3725595441FE7D66E1321385B2181060EFCD92FDD5A556B8339890884A54EDF0AFE4133123F018E9A27051A9BCD04731E9EAD9233EF0564E162D546319B13FC430B8D434E2DDB069D983CC12BF178983868D34F39F252A8F1F1E827F83A53BD7C04FD83049DAE31E2DF2B5EFB6AB8538D090189A0A95570E3AEDE41E938F4AF84D195458402829BD27759D3A429153A0A8666011A023EC50CFDF765C55ECF05426B872B95FCF281DB662DD8F1689D08EE83BB32241B29765A1BE2D8C9E5342789DA439E7D94A4E6730741182DF1E61E18E5B820D190E46FA461EE4FAF5E797290D3458FE4BA805750AD85679A167718FDC1B35B07645D9E82194659FA4D524327600CBF69E19A76944EE7 +MD = 05692E46A953AE4A495773C87C6CCCA2D76FFABF559EF20D24079A54 + +Len = 24224 +Msg = 8598B32E7EE9469B6D33247AEB8AFB12D6BDC3EE4AE5A49683E84C73FB353A7BA6FDD95C497F429E82F07B2B652D7E415E9B93B59E541ABF46C88FA54EE068F90764564A11A59F1D04D8B88DE186C4217285B72796D5C0575DAECC30920F6BFDBEA772A7B18339A1E2CCFC79FC8A9839B20A981D5291025F341E5D7ACC1A3BB4129091A5062B9E54BE7ED8AF8196CA7A9ECAF18CCCE4A1D718149809D08A8AC86C9A12E76379F634AC1615AF03ABB9287C4B4A79847B52ED4FA17E1527495362B625155E9F1AA3A3E5D0821240D8360894E19A5620BDBE00A7AF6C40B1E513490671BDBE402379F495C528E218028D315F6EF820C383C83630F7564453F0E2D387273854FA05F4DA7BC24CAB0B71D4092A432CB0854916F71C3B8640CA602547922C9867B002DF7382AF29E4E1B993D1FA74D950063E527DB6CA0B736B8906962412EA1DAE218A0C86AACF51362BB8BCEB3826BC3249F1C5155F0CB50133D0527B98BA21F757F72A9C52D342DE013BB38EA52774A7C012DCC0A58051CDA565FDB45A1F065041BA5FE62D0C46CBB1B9EF7D669BE319D98834786F5532225D26D184ABB38E345C4CDA3FE3B85225D6F6C70AEEC801BB571C5E44D9298F02F632453C14D1C710CDEC5843B7A055817587D790FC589017348DACC18B686BA0EE29D074CFFA70017D972449F4D702C051125FECA48AD3C5F88431789714C90F48EDFC382C28F5D9439B88531B003BE7935A845DCF5EE545A6617A3B05EEEAD89ED5B950EDD0919BEE243EBF5CEF536A0A7C28158BED2F838F494A2E828C580B48D88E216F50492E754275697882C94D1ADD46FE443B766DABE2F9ADA142A5BB1A096D3DBB71FD6B55810EE5B2989745695D4BFA143013F7EA34424833FE09D8966A0B97B62953C4CBCAC86CFC83E14AB36A4D9F8E8CD9010713702E1DB6C27BD0166777E2BDB5268CA388394986683DB83AE0603FA611ACAD587FDFF471718F20F42360FB5C3DE8A3B3FEC068E9DC496F664FDC0C305AE936C7AE560A0568CC509F99AE62C6284F8BF2A2801C39C79295609B622247B9F1F6E0E77AD89FD5449CD9BBB84A523795F579432C19E92B270B6846D72986EF052DEC372B3DB6D8449F3602FBCD662E2DCD4EDCC59E2A6D15E8A41CA7932343981770121A78D34B7400778072C89DE969D0468AC052AE54D6076660C67E47AB93313E9A979D80E05442B4E328E89E798158B747AB237CA577ACBAA07CB85F8AE7B1C9325FE8B269765399EAD37522CDE1F071DC26BBC4D1E7AA8F5F4DD66A861A8F4FA38183B3962B9739341404253C93D7DEC6B454DDBAC9F942F2F78D6F75897E673B9ECACB1579E298B8B9446B11AA43C6BA7511ED9CA831152D3C3EF0EF390A2CE65F4F5F6E177B50C9AF912BA4B4548208571A43D6854A8ED4479D9538456539203D490103DD23BACE095D0BF66C17F2411D514084E047970696400E1BC9CE4898CA62FB358B096DAF8A3857AC398A07882E2201F8CA0E4D1CF0CA4E47BB268A91DBAFA837375384A1BD68F87894AF81BBF1E220C2D3C3B2B93A877CF6A7C253CF660B498D3EFA4F38B9B401816C0AA51FFD3BE9F36AA1D2335F4C079487BE16E532BB0FDF8E00D5D8379C0F617F7148009EC57DAE98CD41AC01D3D0B568E0085775694C74FC339FB5F5A57C274DA07CB4DAE54833BB74B0793E93E8F1B5A7F5A092E90459F2C6B7E7A6F488E3C7AE10AC90C358C5BFD603080A544822B4663AEC1A42D3F16E335047A1C9EF6939C36CC34DAFC9EEDB13E1A9559279866A6D71A97FFD317FBBCD8CF80476D59271136EDEA5A186E7EAB7FC28881C08FAF7C5416EA4801A1EB9E0C883DBDFD5CF0F0C9A619D91481E413A74F01D86BC762F4B05497E20893CD55C0C570CAA3FA00BD537D6373B60D32CA14A36BD2FDB3EAC1344E4052EFE7D1ABCC77480EE433008DEBAF71C9FB7070005D8365AC112F151B374DA141E1FC62B3E40A74F3546BF4F02EA8050B823CF2CD5FD134F10ABC2DB0B9B27F5C0A44E320EFF81A0F7EFD4271BC9D574D6A82FA807B05F3892564D8BF54DB7B81AC87B633C53F8187436C1DF435BA2D16D72353EF7B39CC550CFEC1EC2502902AA6BF4D50563301F0B39A9D201FC02B0C9ACBA147843A5AB0AD15E1FBD9D3880D99779D0FBCD217746AEBACC231A1285927F0BC808B2A52771798A9104792DD0E9C938F66929D30390D16F57591DFED8424792C1A0CFEA7CD2DA90C6C2A80234F3B3500DCEC078BDAE333816CEAABE9B686AD0BB24F65BFCA86222BFC628843BB4D328DA1EA28281D9A3D29E0D7EEB9FE24B33284D73486D8D5F37DF7450409722E828B879B8F7D17AAB002ED2C2FD7F03FA4647F49D4F1B204C0DE0B413C613963A0C3AD0026ADEC9279779A0C7986526F8C9742BAA00C088B6826C2449378F47EB6DB75CFA013BC19106E18D062B0698BA02054D8719F756284191461FDC5D33CF0D15419ABEA010C8BAD6E10B79CC39334FA8789383CA03732E3DE9E454D2944913ED2C74021B7B393B3641448A6233A9EEDE72B8DD5A463E5A2DD7B44128B09C1D256F6942CD7DB74E4893402B6AEC1C01170523BBF33015575FAC4534700E91153370006D829E4B76216B940F1945FED31378800BAE385A54C4D32DD7A960E8B2ED1E34FE8DB1CBC7D1E7A86847A69FF5FABD40B0E9191E426843FB79A1DEE7DD0BAE4C55E58F322A4F6586220B0A5D483E70F998B10656D1F56FE911CFB0D1CF9CE1A24C4B0D4F19A04129DDA063FE17CB8F00CF9D516D44BA0D1AF9AC23BEE55CA307FE69F6D1753ACE1B1893DCB455934F73485CA3D8C141B56CC8039BA3CF7F29DC680531FACF117BD0F6D10BE295426E18167A33D22A83B416DD1B848B558A944B168A2BB11BDE0C55F9F9B965745B0E8E367FCDC57030140B87B88613D5EC8136675FB3CD0DBD2035F1A72844EAC0C2394F2C4546674BDA13163370B1E3D623FF301780F06D1348E99C1386411DD152FF4255E869DB6E3187E736F7015AB4B8D72B45A22B0F4F3F05FFA703C3B576B376FEC2AA142E68BD1B5285C138AFEE111987A100BF56DAC66217C6CC3AA1F15B49942C9C3C00749E2CD78A0438444165E72DAE65B1BCE985325E341E2736F11EA5AF9C8D00C4DD1C1523A09603374AC32AAEF82BA4062A0CD93790C99595B9A82205FB5F968098E219002FB84CD587DD68F9BE290BC4752A5D9DFC864EA1BB67878C97147CF547DA959EE3CA1C433B72868527744D29BFCD2E323530A6547389978BC2315D5B34BE3632B641429CDF9355C48BE23AD6591581C706A0CD25793015D9D88887806C2FE8504B0ED19EE74B75627074A7124DC01F0D337F52044BDA1B0E057470ED886126A8A8B4BEBE21EDC21D6E3B9BDF88872777787EC42E9813F753CC776BFDE50CDEA090E5F6945F242EFE0A776DC42DE1B442E510AB87B08D97A56399D171BDE5F7461517F04B9B50C3C42824C301955EB9287756C30BAB6BE7531989BFC552272FAA237B1099C78F8EF3F78121B61BB2690C1728DD0300D1299439CB99D906C357672112A1EA35F83E9144F51F92DCACFB9285C75C73E2381433CDF39327A8B2D130CA2A73F5A769B00A85855AE967089AC941A5F1B535EA5B3C68D01AF72F692B700F6604FBEE54511973269984FD1744169A33029FBE76A43647F9A3119063065DCF3456CC75F74C5B9E17DBEB8CDACF9CDB5503687509E4B514BC1F9F90B4E17F167CC426F956602FB42C640133D7DAF0227A48DCF22885F58EA87FEB44CC4E67209116DC9E6008F2BC7A04045B9A0EF3EBDDC3AEAEB776CF63ADC4DE7F091FEA139EFC268FE243F1902434EED5A8D47F391BDEB52E4A4918AC40CB56C8A73CC0F89A643E6135361D098D9E4682D2526FF2848B8FA0DAA79573BF06FAD2D61381CE071BD8A71147B9164E6F8361A94BFA34F1E58CA8D44A806629F811148051F0CE620B3C4FF8F094C9EF5ECD24C0C61090BF4C8C6C99247557361AE4228E8ADD6831BC67D6FF9C0247BD896E150281598F1097594919070B971C23F4EDBF87871EA88A15420302968B01663366DAD4BE0DCEA375111BEBACC333723F17C2F36CAC75B9A890F34D4BF0BE5B943BB3DCA5C897BE3773818D6E784D733021AA07106F369BCA543EBC7E9BBECE36AE8335967DDCC28EE49B5869C1A212EC3D4EC5214A90D656BB87E62F7B25EABE97D0066C69963C73628AEAA32A3FCF443B29EF1EE389736CBBDF99FC7E1B77D40F651AE35881D2FF43E7D4A13A56E8DD +MD = 0AF7E1351C6A6B7359B59E22BF9C9BA24110A2CEFB647A790FAB41F1 + +Len = 24728 +Msg = D339611E4D57F858A0B749088D129CF1258C2035EE049D5F47816C0B82D640458C8FFA131AFDA45BEF3105DD60469A70EACD18EE594CCBAC487D94085E957F8A82086ECBDFCABB8ACEDA5120A7E15A12577985DEF9CED321A1C8D350255CCE7D336825484C86F9DD1823565D2624982516A6027A21FBA2702571CDC05C514F6B9A7138AB8A441D805FD37BDAFEEEE30159130EE5F90C90DE030F9A904E6D2A03CDBBE241F0430FA813A251D44643C04C4BEF5D07273C9237F70530C30CB269D7E7B6E7F10831069EEE541D5EF986CCF0E1E870564FE558BC1C219DD870AF2870321AB62DEC23118B77D16418465B54EF71A68DD17E2A0AD16E31B618191577BCAA5C29C2F36C2B56DC932EF2F8EF641118FA3A78B65B5604E0913A48539C4B26F0B5E73F77DE1D6D86EBE0038C7883C2F69C0FF462907DC3B85CCBD87B85B0678139297AA478F03A588C6CD9BACF2D5CB5540C066A5D52889BC370A08ACE06953C2398E92E2A6AA11616B40927C42203326B3888CECB70F7425C1038E57D6D3BB19BB643704F83AE6A55FE8B3234DC25175D243FFD7E16BC5CB84E8579E619CF699B54BF98890C0563C424477B5B18E59314999FBC4C13D2866DBEDD9836C11A62C4E1E5199BDA93D2C90483A4FC3590BF66472BB8B1F499DBF94A56D8A2D27F9607B019228ACC75F8DA8F3F9A24EA0FBEF55CBE6C3B55506AE4FED8499543B0F04BBA76F7F164F31DFC7681051EF05B32846933CE4C1261659D6C414BDFF597AF14D01D73D4F3270DB309B8E8B62001EA17B35BB7B7CC7CBBFCDC846A3D19929B7FED5693089A3F81A467A539BE1CEBCCEBFB5B384CD025EB2DEDF5C4390F607F7C9EE3EF273D7270E5150A241ABEB97B678CA3808F318DA5E38F6842A2A3C09CDF25C8D093CAEE7C5ADBAB436B8DA15AE3FE3F0B84AB2B43CF1CF9AE3C0D44770282B6F1CC1CD7E82D195BE2A5E5AF40735449F6948C7037F6E1733189984B4D1DA1F0BBCBAB8373C3A9A3C0DAE236768883634EB42E574525264403E90A503A7D890530834B4701ADC1A9C6B953981B9581721AE37AB01CFC2B9571F2D65D4E35F3381F7F05F2CDA160ED6143E25C6D9D2AD6DC9B3F69ED693A325110F49192E169AB5EED6BE88A3E0BE03D1FA29FC002335979971C16F096BDDC4D88EB2300BA514B167D4A9DCB353D7AB0C3DB7AD991415DA362275D3264360D0568BC5B60B5EBCDAA5BD62EDB040C6583A9B997D9838479A508F79E9ACAAFA63F90660FB0C0D0EECAA72BDE7FC7AB4B77D29C210FE6AEBC6ABEEC7F201C8C64CB306AEED1110768B3360B8B2F30F8D1D2C1EE7B5DFCFD5D56515F3F617DEC24F56C4FBE6604597EDACB6A42F9447BAC63C53B54010B5AD6F3A5A8C37F89CD345DEF631450C2B491E7AD6436F6F923A0CEC85A76FB04C0B559A6972284145954EC82CF84B0637E4BA11B3F8BD68DC125EB5693A3ED2CB3A62959CBF41C9409D84F2AC9264E99FF695443FFE689464B349B299AB240D542B29CEDEA37F2221B5444B92616386A2BC74414395B97EBD3DF78C583234883AF5C7907CD68BA81E19AE616B4950326E526CDEC80443497B1BC42CBC4111573D39ED236323A8EAB36AB7DD45D65DBBB9F5F7D657CCF944F00CED4F12817DE3D031960BC334ED3F864643737B2641C6F392A4A60527252272E1334BCED47637DCE95292A8E4273CBA03E17E16670225C2E2733D7858E2C7D9DA6E14333F2917C6DF92F233ACB60553BEDC68DA7A99F18C2D3854FEC8C0706980C5DDAC1174BEFAD6A7DA03DC1DF372CAED2B7B5625EEFE93D6419494C3DD1890113E190719ABC2B695F7F2AACCD372EF78181C428F19918BC2E2CC16FD97F1AEF7E4FC3297578E0BE19B8B2CE6DDFA200E593692EFA8B11FB5A55919393B98A2FE31BF7B80701B67430F1B33911AF41504B2C3CD000E3EAE148014C451D166C47B6FE8266F44E62ED7515C6F30511743143485982C3245332FE19890FC8E7DB99791A36E77ABFAFBD0B65CDD861EEFF1F29E142DF903E723B2EC3B4A4FFF8C5B4F3F4377E3837CF134D742D46EF148C986DD161A939482FDF40D4BB4A4231B7D5648E2DBD8A9D8516C6BDA0A370FA53620D5255341830B84C751E31B8E17F3FCE027906AFCC2AE7E5E104A1109E86FB20897E3109D07E700C13E6FFA7016EAD35969245A16BE032CADA0F2327844DFB3B45D9B3E9E309A98DD927C5E75AED3270714041E35A703C3EA7C10348FE521CFCDFB7C02EA9E123B267C22F091A4B98473330E93A362C358F92519F9F42B0E6D2AAFA0538EC32AF4A52358EFE45B59A9AC05CF4D6D82AF2B88BBF327D3EE61A4F341178BAD4B228CA86D9CEFFB459C64EF12E5C5339471054FE09DE0933595C2B1A5CD98581675DFA0B9C04DB65DDCF452C49D720C0876BE88E9D7232737865C598A5D20862D749D3807A7F052F4FC0E0961FF314DF69829B3A3085148A818B0F53840B92EBBA0266A42719D49902775B72D15162B1643F80993393A9280A99E72ACA1FC8B2F8454E566BC79CD9075FE091F5EDB4EB0DA5E0DC5C4ED85A8FC3997389D235CB5436E9A8AED1D4604575834C1EB2FCF1378E465F77CF037503639482A285A9D0B476CB9DDFFC0B82E64BBD175538C2647382D2D7587225C845D8C14F3874C1456205071C0C0B3965FE30E9CE3B616E4DE78B3953A9EC525E43CEEACC0C303C6400CB4D52FDFD142376075D26AC1123EC4CFBF82E77CB04EFC09CC95601B14681C90A7B0840EFC819613AA06FAFE2DAB4B036951F82579A02EFEFD08DF0EEEFD2146080734961725B6E917739FB80DEB9B8BB6DCE39E20372CCC079ADD9030799061EF1F011699445570EF0CB963483099EB17F22226698DEB110495C159EB63DA750D231E78C4A7C734941E443AF7F2B5A3A06CC5334EF76743FCBE8EDD3939ABD48CE32A03DD59D2553BA408B444D9599C2358443294C406D03D86A23F872992A1C455027AA4D7EA35AFCE35AF0A40A8B58CE2C149C00ED49DDFBF01F1EFBAD3DB59D2214B795C7F78229889DA77C4A4FAAB944EBB033A045156AAEB5B457BA7FE0A970FAC195EF5D206E28FF9151310CC91937FC33E61A50755AB1C109E4DD87DC511964F970784BC3019AFCF015C6EBADD5C4C32256311E8996FAB7DC3945CD87D55FC9C851E863DAD371D6E9D69157C5040BD702F828C088C5A8E4E35ED19E8731EB9ADDC7D31EDEB95E2FA57EC514D97FE5914264DD0016BB430FDD7DCD5A161732802963BEC1549E5CD5151CE9C8BD46B26F441CB68BBC9DCC08C139DD9ADAC1A158B5F9E54D2C20F01AE66BE788C10067C60E088FDCF828F7BE908D863604E19F318389E5AC148237E11BE711FF432869C5A9082E5FD9FD24C39E57863D63BD85D5B78C6329C6649F562324398C21CECA17CC78750AE9ADAB612CA3BD0AB6FFAA9F230637927DA9DEC3077AB6F425D21EE971A0744732F39ED82F6B06F1E84CD777F1910A9290A66C77264E484693108D973A25908A9701C414920CB0E3B82A74D1EA8304E8594C777290CD32864738C657BDBBD57EDF42EC9A2F522CE911C1378275AD43889CC26E9A3818987FF0671A7A94573C013EEEBDFCFAB5D9BB405D05B66EB641C976A4233169A46338895467F36F9FE7FC1CB3EAB830F46F261252AAC0492C0699443303949530687533CD09CBFF09DCC8F12A49E892A47AB0A2BFFE1B7A493BFD66D9E4822598781BB8A94A4D7D63D77C8F1B4112F89CA215DECB610F1339184F8CF66BB59169553013276472BBF7753A7EAB046F55E720C0B235407748B8CFA07E748808875A896661A54DDE939E0D64CB3031A4D48D565E24A56AE117ECFEB27928E42C06614B4327B9261BE4AB24169B26F9A7A463A42F0ADA305359314E7D48993EBFE46FED1EF6F65F733483B883B72DEEFD5AE803A0CBCE91E5161090DA188C475B38379FA2CB191D0C172E966376FC8C7A5EF4263949D75A955EE94E0391E70CE04C61D3F4F49CC5F1774515F01BA6CF83BEA9BDFB7F158F6CED3BC33BEFFACB80BA3767E476F3180C392F17DE1F72719466B4E814D7570C9B08EB3F053D728E5EFA2C28AEB4FA557A2C809E357F9CCAB21F4E9FC3291CEE7CCDE2EDF7B086F844B531C6D6D5744AB2C3FA2795A7C2B26A3FDE44AC46738972D374E534D1972322D4DC8B349FDD5D3AEE827BC4DE6DED715B87F1A26FE09FA12A495919997E07E75E268899D599BE0FC699433619D73C63B34A377F6CD511D095DA8ED29A9FA86944B3795BB69FB8F51FBC34D07809DEC6FC646BA63BA48322717A1EE01EC9B1CADCE556B07E943F619A073FAEC003ECFA657D7C0086631F41909BFDDAAE09054948934225A3 +MD = D6204196408AF4C73901E8F2CB0D0AD281FD6071301C6B7046D8247E + +Len = 25232 +Msg = 93B7161E99FDEE38713376A69FC4BCCC66C092CF4AC5B71C350089253CD17E7DB28A41490A354221017995ABBAECB67A2A989D81984F34D021FFF364E8D18FA58EF3DF090726DE7820F598DE625F90F10007F62C09F3E79EB21E847D28A8869EB217300CB4014AA83D7D7AC6DBB9ACB1E19A2BC76291527C571EF593B509AAB454F20BDCA4ABCD337B5087BA30BF4A87A936F400A13D4C455E60146596577C309FF25C22489D3D51A4BF1CEAC5B8E20A70C541922B78EED7F2C3C2DE6809D474237FF6B9221B6A20CC7046BD7A292A4A7E1ADB16B21DA6812422F0A2932494DA0DA8EAFC50260EDCE61D506F0F9DECE624E9B5C6EC555963D5F65BF5F978E441955B0276F156202C67ABAB3EA79013428DDFD880D861DF4E7A1BFFCEE619D04C0863B2D675DE97642B44FE7114C845B51E57306B2D0072DADA8673C0C056ECAF4B486653A6DCC00F337F1ACAB6B9B2D665B1A5BFEE45A754711D45C9AC63366C15143F89A5D32DE03C244CCF831C95A97D44C2BAEF5C90D8752E2CACCC11316E1B78E0F1C4B5B0A43871C784CF5D977058EF4CCA06172D6081996963F3DA127076493322D9BF39580F096A44169C9A93DD7C84A6AAF105270DB387990CA1BE0094BB28AD741DCB4295B16AF18C97E15A61AEC12E108D61D5F27215DC24DFA8B09CE5E35F61B230961727EDDBB907F69EA3988EA95F73299E4F3CBAB4A6506F0B4E083EDA4A24A7C309D4785AA1F2B1D63B0B021E3D7227AFBB6662C3E61586CBE8ACA227C61BD34EF7B7346F1E99DA9588DEB49BBA8A839A7D4CFBA9CF43A7B2EE85A97E3754EB9D1C7309BA8FCADD45641ACA4AE0612A9AC6872CCE7B6EC5493CCB45593017E6F918493B6882BA66FE8F96DA93D71CE4C435E405C44F4B67DEC0F896DA961F7BED7849580F3C88DD156EB8E31E7E325CABC1BC4F58E83BCF8E6204DAD75853788F121D9161427A435B06F08507258931FD7C36D39B4868DC575A70062168203D8BDD6067B458EB25AA5EC8AABBF9B1198DF0AECFCDA206DEE2DC4EE5721680CA364464A9E7EDD29608A3C6A2677A6492A549446E534E9A66C99B469F5DCC14D9148E280B39FEF77AFC6D97A48F194544A285DBF1B1D4DABE9E120E77774AD505DA0834E55D3E76FEB4F61779B86B883D6B3900B9DA38F3BC92E03643E7E0C7162B79FC6247C3F887E9C4F763B1F544504FE1C2D4A95BE2158A31FBB515431BE2B954275C706F3A3ED2B6A6A9705960C868271D0F3FE52D711BF377746F28F7BC1FEED6BF7DF64ABB5C61E3DEE6DDAB1FFA938EE21EA45CEAEC5F064F8436942BB48952E370C35A4DCFA8D73D9C75ADF8F3AF1D6FB98627258D96A63A398D90FDAA7F5C779DC8FD9733E432AC542BDD3995E5AC335EE30317A40D02FDC34720B84F253471654A709752D9ED2EA3DB089A05A579A9299DF1F4FE63780CBCEECE5E21B236368EAC7016890B533BF94B0E0EAB0D74D9BC9CB209840503B237821D03B71BC922FB4B74441CB8EEA845D6703525065395B6A72D47F901D052662465C48C1100C88A0A06799B4076B07704D65675FC3B52F1D0FD99E470B3209C6A90949ADE31AEB6272E94FB53398F0F289158FBBDAECB5CFEDE549D1BABD7E34A3BA9939331FF19A5CCDD53BB38D89A5B9255C0051B7392ED07B0D755E04B517934DC3FB6BFB9331198ED285B40A4B4388BA2E7C002C47A37C0B68BFDD72B61770DAEC39A9A01391D839B84AF6B71071CEFE6660C585372B3C6F9F735536ED0DFDA55F5F352768F716C4F6D412139A47B4304E5FDDA714C5E14F16187B9D8ACE53F6D3DD222985F8BC14EEABC1BA8EF7E0B68535DC50BC2E0322942FDF1233EF9CF4DBEBE205FC5E4604889BCA0F95381C11BADC6A3FFC71D7B28F0603EC720E7F8FB60ED463E72DE159AF0D49618E3DF16AFE272DD628106E3FE4DD198C685B6487060ECBB0E69DF995EA97E37A79789F147FC032B399889045623821473FD4D6CDB454C7B468D26EFBEA0DA4BBA85D993666560E1FAF8C09C2EC33EDB379245D8A5D261BAA60A6F367A517C2EA1CDF877AE2641ED22BB3C8A05A7FE287632C85230A41C44D9663D3008DF8E897E13970E3F013AB2F59A7AAE3BC50D28152E84EF607B1F1908812FDD0DA3285D982DD7C21C7673F93A3240CD01ACC88F6D70B958F89FC468550B6DDEBE8F3BC2E5C16FA9E3274668C3C54884412A55DD1EB3E81AB818696A7624705BF515E6B1EFB1D5CD504B6A733BC746661C5AB80CA5D9F5694B4E1DD664C41952BC1835E23087A61C050B328DE9CCBFC88BFF0CA64FBFF092EA7E61EF4A61232AD30378053CC59CE77C6BD262AD080342A4578E4EC21D338C717C567106482D1101EBC30669912D6B1FD3D1A2D1302D94BB8F442296C0A6377A90BD6CF627B7923BE4916F7442559B2964A70CE3B7F18A032DC0DD8F4C2503D6007FF7FBFB45F2F4CB61EFA79C74B301BD7C674D8CD5AFA38002744D5669D8F52F67A8783363B015092587DB9EC4F25329382D426AB9CA2731C8C2BED242E0D736F18D68BA906D5EFCF8845BCA9E006212C789355ABD40033D32BEF40E43123DA1B560D19BE7B2BEDEB3165A27FAF5AD3C8F8A6CBF1B2CD385F624E52F7E0635D6F203B04FAAC9604A44219C963C902B205D3449E9445223E9494FD4F6BC2CB3EADBD769C30FC39F62DF0B4541FCED20F96DDE4420188C808DA36D7F252D8D15D2CBFDD9D146A2C3C9EBDF4E7F16A3CE9D7EBBECF6E34F36AD52FBD7A4A90A708380D8C9AF17C14202470E61962AE1305789E4DACE05218836CCE567153C8509796DE7F6C59C61843F31ADCA02B0AC1483224B675DD3123CE720FBFCDF6F10E3C20D5343F63BD2D95C4FEAE809B2A2D7E30501E8361A1A3BDD4ACA01E9D10969C07355133680DF2FCE122E4395A3692A972FDB4AA1EDA5987539B19359C459C27ABEE0C0BDFAA7A3776B41147C61BC38916B74CBC6DCCA587DA2CDD6732C7BF1355CF182CD2FA3317F8DC49123442529E9D0042633AE5DD667248EFB1D85D6351A625975433B6D51F7B70CADAB215BCBEAA4CC5ABD3371568109DD1F7A8339EEBC1D11E3A77280BC445B3FFF984A53AA3DC3C96BE75AB26BB4C13DA4960F7CEB17EF36443149E00FE7041A83BE6DBAB71A627E1368FEBB0F98F710D560986D5A896FB9125BCC19D397661A10D27A65BCAED95CFC3A31F917CA9395CDC25C17AA3E1AC0D7043B41D49957FC93237EF22E0AE7791BDD30369AF5CAF672C4323EEAF53360341D046B69743BF7D8C34DE2791321372590B724B00279575CB44F41A5FD661868A7F7F7A4E035E9C3A2889A58063C65CC41FACC1E576D32BC02704610A9C15ED0F45DD4F365FB8157FF08E7CBE7585E314581750B5694CFB382FA16340EE7350F240E277EEB71E4CCE7CC9DF58DEDC7696120AA77FD8E6BFAE758CADBFD97ED29F8F0E62F4B142F1CBD43C8F9F4EBAB25B0359F9BA02E371A25F9573F1C773F86E53D7548D49F190FB7BF31FC726AA59E89D31039322EE53E203B476F5F32D68C2BEB6EC38DD9901434B877408DBBE8B3A88C2ED7F9445CF2AE091C85E4273F0FB7745BC693648FBAE3A4C76726E95F20A7FE1EDD8E43BF8CBC12379A7CC640D485BDD4747399BA5C206E1D224CEDC95617BCC204CBF8C2DB0E2C4F269644E3CCFC3D43A896B473A1E1BEA155CDB202036E5749C11C981FD80FE00E8EA85AE04A94500891AE660F09655AB9610CB51C7E80F2A7E638B269672A98266F9A358D51F937E5FC7E9BF5D89AFE8F5AEBC93750F6C1C5F5FAB800A17101FE7AD6E85B4BB79E0741AFF6418ED4B6C9C2772704FAADF6951F17CD76F518BC9E7A77FFEEE4748D8043D39699A46358580B639F9362EA1ACC6279590F9B691CE17DB4AC835D9874710BC3BCF0C18DB6B48B62549531C136AB0B8D756B08F9BC36AA13125569370DFFCC6C80E6F6388D1F465E0395E144FFD7A7F7CE081AD99C59D89440171A9E8CD606BFCD17567FF3FE63BE15794EC3B551E42A2286FFFEAF49D9096E63B75B1F75003FFE04475520B640E77E8D8738E155C457AC62DECEE08ABD4AF348402395BB6D579D7B840EEB95E186CE206C1A85270A9E541876BB10D560C3AE4A0E5E9BABB8B8841EA363EF8EE403B302490E5CF513796AE5092C7C9881A65064FC13B73A4756B886B8F016CF1D997686199AC24A21719AB293BA227E61EE8BD60A37384B5568455402665AF11D3D5D3FF941C1FE17CF490691BBDD74A205EF6E4E10AFD357F5546DEB185422882535CEF88A1C8A74BDC7DD722A9BD9DB55B80C2F6CF11AC6E381164B6FBA41ECBB33AF31278A19D6F20104D04011C2A2287D7597DBDA5FAFDF63584EDC3739674F2BDBC9012E0B7741F4C884CA742F7D5CEBB594AD7F55826EE85E3C06CC77686CBCDA0800FB4B08569D1D8F396BFCA7CF61FFBD3911B444E1C603 +MD = 1A320EA5D2C3B7209FE9AA05340CA28E514E1890806406C57681E420 + +Len = 25736 +Msg = 858EF34C28B8939BFB4644D1E458A67A034B9AF9F82DB786892D81C343D27B96EE49CFFBF2C3419EB11EFAEB9F8D0410B0EB688156654A8E32EE2A570C5A88007656A18380DF33F7756A6004766A6B96BB27A741057A7A0E22D732D797C488EB613F179DC3F1094B2B5C8E5A34BD57F26DE85E234FD894A2D276E8F31D0F7F23E570A0A4E13BDB635CC8897282A1AE00CB0C8F04124EDC6EDE1404272F1BFDF55AB2A0B3D5B3534A4C01CB0E1D5750EE71328FE3DACCE5420344108996B6DE1A443834B6BADFE616534EAAEA32681D57A2E41C77173D6DC0751DA26A17731B01833AD0B9C4D3B48BA23773AA6D2BB7029377F453484A44E6734A3ACB3725FFBA0547F1045F18BACB1E9C9C801759B9A16209F0158A4E8F21CCA9112FDE82388CF1FE58ADFA1F684C3158935EDF9388B42AC0E5B3B68E6E6A4D4476C4EAC78F166EC5FA464B565D481F57A9D263BAB7A1FED05D737974C4F7BDAF2CE5BA40B2A993E867E5844C7750014E66BCC5BBF5E500402529DDABF1EA2E395DB084C4BB85766FDA993B547788FCEF35381FB16AF0965A08EE5CBB4D68C934785594B37F78E76A6558AEE73E570E40CCC889B0D5269756BC40897EC0C2D6C33A33B1897AEF297F377CB58A7A1A389EA60F4B5F25D1305D046E48D5BFB1083A82C5AEED09208FF83076367156B9071BEAB5AA12D9DCA9F8AA093872C4C95B84CDBB0B84ABBB03F33B63A7C603D723DD9970524548E61F3804B7A914852AE55D377E25A8431B1E7CE78F1294664925D62B7D8CA3C880C4AC80E92F8E86554BCAFCD39CA44CAC017F4C4550BE119EBDEC7AEECCD527EFB478348425FC3668141607D14DFAC90451B2996DD46B23683210916B90E63EA2A4A006BF72C4DBB6ABF3D0505379C5B360966A25471E658EE24CABCEBB5C6ED5F8DCCC84614D64BCA54F35189F579C170F2A2B773AADFCF3C1C435885D0ADE7121A4D2FCC96AFA88DF6EA2C519A98AB279E9F75400AB053D457ED3FF957C20F282BD121EF67F53053FB4963D08F70EB287E011DFD015CFE492ADCB927BB80093545014736A12E236569ECC3453350A5E57D50B1BBCA5C8A01A946248370CDE6177D7B8C84F11EABAB0C3A5CE654FF85783EE8EEFEAB58451CE73E164A9DF47DCDC9ED24B0F7A87E0ECD1A3DD15E6D656B8945F096492EC72C0B51D13613B3134C3E31CD1A3093B8023649C1B3A3EE8A09E5A8D612A91B4B14646E22D575CC09348A5A58E0F9B641037D7B63D32B40EA5FC16C55A0875F3E64F25CA97F2A70DA0F4567C9626030B5B8463D8A55C34665481F2FC308D2B87111D23B1B6CA96013FF033B23216C27C9D2E1222DEE25B295E180CB6EB9BBF72F59AEC070AC809A79B3306E0BDB701521D4DE1D755F75EEAD5D79A72DCA55B6E25FD10C4EC68BC5C585AA1C392DA26BE5DCB75CF2FF4B31C3C578F9708191F59D04C2E00ABEABC6B217D89BA9BCD0CBE76E72E316A4C7F18AF642D9FAF3E76A6E4F4F5E80E1252E52F996DDEA279BAE6D88EF866AE6F3D77E0E105111D04D4145F09691925CEFC2A8DF96F0D340AC86C0B48EF5D18EC1DF59748BF5F261580ACDC4F58CDD2C2649E4B357872DD982D9FCB59916037A8247C6E374F0CEA924A25ED9A0B5DC15DA9AEECA8A9A9DE9811E1DCC4F05357867871B959AC9E1D3C4AA2633C9445AA2239D02E9E5C7D22FEBA47E7A0332F025E83DA06EAA82F30ADBFC8E1167391C6F3FA82B87857DEEC2F39D08D4AA3BA59E1598B54D665BA68438FC7493B351AB54B907A80945FEDA0ED5ABAC57584182E40CD4C8B48F61987A07AE6FF6196E5435324B3546F7712BF453A1F31CAC5778F94647B656DCB4FDD8B58AD3645FA1D54FA7D8EA1B627F65D68D40B9256778B46950CC2D1E4C3313D542105A3476A7AE2E51877254BD756E7FB55A55526A32B78C95ABD169DA1929CB3A1A098D246F029AF5DCD0BED4546B2559A6A4739396C2E222C77CC4D3AB47262CBE363465CCB3223452A35B91C15D4F2822FD75A91A191ED0B19EF0D4689A2F793D31607DDFAB5FE0292EB3126C6729B37BDF4EEF808A1A715982BEB2F9D6AD6571D2346AC4CC75374B4641A2BE62140DCEF6A105EB3AA593207DE595C439C8E94E8596F8D995690813B897F150670374DFD9BA0588C7AB7603958565BC31C274ED42DA1BA94372EBE0B4F08611DFE26127E7D05AFF7B9DE63B360B8C3E79B0057F92B40348C4A6CF8C238BDD33C204926C342170D9C15DC3D69C7E61F2A94807A4B84D04DF599411C11DEEBEAC243681FDEC8BE382EEEADEDF61F728646FDF9A421EA231FBBDE6613DE7A4F7BDA125AF5DF1149ACCAAABE2C2A01841D24E165AE76808CA9AF94EFFB1CF3B1E31C765559AEFEFDCCE122BDFE567E67C970E6B40B468DA0AD6B82BACCCDCB293722450AEAAE801A342ADC7F1F443D9935F5D438A16361A087228C2E26C12CB59BC98774CBDD9B49B2A065C8A767334CF16DD2717CF45A0C8EDE97B4F4FAF99ACB013B5E0079F2B3A6A2CB82B611DC7818221A679C007377EDBB9FD0A2000B32C6A17E1B0BE9B91208EDD3E417E631C2E6D23DFA763FD792972F9A9B1C8FA42F0AF5297EB49B0776BAB810B6856E0175EB1B87EC83CD2CD12E2C5C1610E1EEBE9E665A6C3467B870A1574E6F2CFC865687515D8A35F5E90D85138C3D2C9823696E25317B1BA5B0BE623FDC6CAA1041374D398578167F4352F315AE9DB4255A32EE4910F2742633D79D5B5F105ADB63B0A3D776350B8574477E572EFDCA09574445ECE8DD6382FC21D7B9D68B3A4BFCA158DF4A7AA4CC1C0DA1016C364C9FDC62ABC991A3504EABB590809B2D41E4D51CCBB0E92E8752A4C0F72E74CA7E45EB1968191D564D813131DB2B321279FE7A104ABC6E33FFACC553D0A62D69ED3CB67798BF8E927D4DB02A35334E9466052858E6828E0C28540880742ED54923BAAB85922E05E0B66EEB401453C82D5B4D7FF25297C1F9F1358BCFEB5D5294773DE203D7F2FF9FAD19FEDCE6C12896C1AE44ABE0905EA80D24BCAAD927AAFC6AFD48DDE526F3DDF4E6CF94EABB9E99CA6852360DF3DD2BFC7907E42A35744BA720FB0F366EEDAA8E86E44059F64B384E296F00ACFB469472AD01232E4A4833D11A2CF097C75492E2AA1FD7E425082195BF43F4CEF3B3477D16B606866F1AA62644F1A31119B9BC787ECF70686468A96AFCCE82625C860CEBE802C270605EA003B2B40124E8CA4EBC78A9CE226CBB3AE74A7FC829F53A51D925038CE9A3D3681CD50DC463AC3488C981DBB0ED6E4BE127CD3AEC473765C2AA762611A641848022E33AE6B5A1BD57D17221D172A1775AC54DAE58A1B0E21C54853BA59BA46CCE0C62399A547DE37557FF4B6694B86FEFE062AF6EFCC103C4A1A2BD06700E8769E4C70641011E5424C2A2F0A6A2C8EF989774FD59C0800EB0CB19EDB51B69E88BF4FAEA43F5C2C2818F9B95E27BC68F60BFBBBCDC778C6F6B116333DBC17DD352E2E97BFB5E33EBE9B3E518F93E86067E75F064A714DB634E37CE71D4BAD65FE2BBF326EA2793C87CB44572C965AD6598312BD9838DFA8E1B599CCB8701DCB397E8466A8524B568E77BE95CB96C79A64DC180A736A6D996EEB896DCD9D9AAA8B6A4A9AEEE6F213DF1A071F6F309C1ABAD52FD477F6F707F876F40EBFF3530195EC39887E3D764488EC4C7618FFBE79265EEE08CB809CDBD0F7D38A8A2D292822661C2273D8270D1E0B2BDA7DBF1362349A9206BA25C0DC1C668B39DB7724E29050618E43BBA05F50F202D9A026894EB20FEE7D6FCBB22D7DE3EB89EEFF428AAA1B3F18A9847FD5FCFE6AFB9EAD2C864E0DB5C0C7533E574CFCBD82F14DB20F851979722277AEB0EF579802336C90D3BE78B47DED5C829E83956FC9587ACD1B0157918C4A1DB3676E4001F068128CD4C4511385F4AC39EBC687AEEE6EC7D7535391062191F86B4A2F1818E6D1DDBB24E1E7CF743E399106AA1C39E52AD7EC2BE7BDFB32B54E923D50EF8AD4EBC6A80C65614EEA4AA5D07F48FC597A29EE20026DEF2F300C7D3CA727E8857A098A0FB22F2C6757268E390F839BE20D459830A9E3DAC71EF418215D9B89BA559A80341E1590DC964B8A6ABA07FAAE4A9AD8E5969E9471D53E4DA76889AF5F9923B18BB584D71E30231E0EBFD9FA4891AF34007C1235A9CFB2B0DB0EFC1A5417CBD53F694C6F3882E8553A0E01F7AE34C24439A97DEEACE8BDD2F59515DE0760589FF6230D602BE3893D27E34DCECCE7B8E310D87790FFF49AE5B530FDFDFF71E61BE2E1B90D4204194EFD263D1CCFF4584938C06666B0AB675A6CC5CA0C6578851730E281C107B58A27099647541CB2B9C46626662451137BE1B34438ED825C45628D7DD49303770BC3330E5E98E9ADA7A1CCB694EE5E00B27F7A5AA000D1D9D1F7614532BA4B8AB8A92367B6946247B5F69F870DE10775325C65ADE56A7D063757371739E053E971179D2BB6517C7D9F8EF37A78DD3B9D15C9D2F021D4B81FFE9437353A965D79B82177B6798A70EF8511D27FFF215B741B9 +MD = AF828B69423D5B667AA92CF1658C9A70D23BE64F61BCD80782DE5886 + +Len = 26240 +Msg = AE82EF09B711951F6082B1BDC5B175C81010E398B8F3B18F5AB99F78CB53A5F953BE09C98BD9723740C7A4E6D26A64AA62C6973F60DA560E14EED63D001F6E281701773C34A41260A2AE675DE543F2BF2FEEA4B17EBD928AAD65A17F7FBC4B7570FEFCA804956D4D9353937C3FAA15516C8FC140EE8F91F2711E3AC0879A1D3CF7AF7963CF82E08EEE05D3D913D2B7E568CAB7655A8BC5436193641D76F7443BEF83D5F468D84C80B8D37250F06B37781EFC0D885BC7358A2B90FDD5CBA3DFDD0C57B8F66750167546494E31BB751A9E08E209952DC1EFAA2B1210E69D974454EF55952E35CA7F40CDE944C665D9585580C70B8FCFF5BBB5635F5D8D549356F48D4B5F173C541CFC00C3F42695541CB778440F64EDEA6D0AC8DFD38023C7A013FDC28AB3C57FAD938937CBCFBCD941D315E751465428B82200B75B3AEC1776C18015AA39E25E162ADB0AE24C19609F365F45BBB8190FABDEBFA042076FCB0F2CBA3BF258F6FEEEBE3823BEBD9DBA95CDE03697D6722A3A64B926311EC03E6B56EA047D2F5C28730CE7B560FDE8EBFB1BA74AA1CD2E57A12847BF510C9B16AEF0C25AE397DD6022CEB1902C8ED2E24054875B5C0C9E6BE87E9F40C99B85F90A4779C109130F0236D1C129DC2962BB57479E65BC99D5DFB6BBC7D96A290ADCF3AE9ECCA75587DCCB2CC318DA3A669DA92CE2AF333897448A669F1A4C128DA3F964A01AD64E132CD940165F5708B1583623D20CC5A3AD9FB860F342A4D47E2CBE1C43577C9B98341E15B285A253C32B3B00C39F3F8F9983FBFD2D4F217C857960A7EE6C962C2CDE2547249FA56F97B6857348D8A449CE8DC83CC99F0BFC29E214E0A3DB6A636BFCDFB15A537979565161ECDFE6A4C29D88F4E465660E4B4A493B3395AC9696E5BF5F4D2FC6587E673F8B65BECE1CA4417382A3FE11215C5EAC591DDA0BE4A9F2FE0B1B18325280241BF7DFC621901A0E9F4CD471401064FAB73373BE0D800FE1CA296B27200DE5158C17E64216F01EB16E58B9C9DD51837101447558DCD07C7B782B6016313CBDFA95C07B9C2DD25DFB3645D8F22C3DEE68B1A43CBA114ED27A6F3E55CDDC7FA856FBD07DDB72F540D46F780EF5EDFA68F9C28FECFCD3E967A030570ABA49C8CB2A178D2557E6B9A3FB387ED2F6EDC7856C2B05168180BD6BD7A88A8BCC8A81C5A0331E095363508CD329EC504EA321A6766C58D658E0FAB942E1DC2A308BA7E122258719877BB8AFE692D1CDF2BCDBB410CBA4E5E5E4B8FC8E1449793FDA1C14AA337A1F88840C3A067582632B652E2AF72EC8874919F4D8AA94DE30EB3F1E44AEFEBC66F58E5EBDC766B7A3A8CD161CEB65B9047E52B931AC59A03B13EA6E3F41E38B40519AF385B57C72DEC99BB7BF37D71F4A409100A3BFE2045B292F92775AEAF7C2394A15135F971784441637D51467BFFE9B4BC853EA4CFF5DC8E251263A76062CAAB0B75824D21C763D33405A95668A53DA22951E9626A091A57F8A5A27DBE0B61C0F1C652DD0F04C12A3E3CF014D95BFD35E56447047ABE79B8FE04CEC137516C3EBA6D02E68290F91A47868AF424E1DBF5584647EDA7FADA8F051BEBADD654B14912404F5AB54CB7927C413EE02714D74E82B1445F92EAF64C28661478B508996EDB82014E014A968242135D40AF966F0CF6987E7616EAE588C298110AE42333B918B2DCCFE4C6A60E97E65B63E419D5F6B640250244268765B5AD9B73A5D016D508331C42F694C970C2BCB745BF037A4D22EB2B4971D96F3689EBF513BCB2A2BE78893E9888B623528676D94EFBC768174145F212C941938096472551178FCCF31250308041FCC72AFDC3B845A45FAD65487A7404C8970BF8A3BA2C8AB5E768BB0CD85B3A6F0F1C9EB66C103062161D6AEDBE76C43F8E39F6BBCA59956A5281B5F154CE2E6649701D03ACAEEC797267AA0623B70C1323D22FE6A01391143901E4F8CB9E8C76F40FBC443427FDF93EE909FBDC26891D445202891389410EB08F52FCC190E04219F2A75FBB50194A5DE57CFC0D00F1A7D03A0048B03C5B12F6F5BEEC8CEFCAA7BD41192865810252FAD91650CBADC85BC79F33A940D45A39E09A2D5EF506EEA567F695560C5189E9A686E3B363B999CBEFCC26070158EFA1A267A9B532D6C86C07CA47454B346CBAA4B4D78EF9F484CD11B2FBC26E352FC18C69203F8E9BCD8D4F1BCD1C3D4F7B12ABDBCC58EB6E61468EB8D0E733D9021B679EB1B5146AA68294DC508EE15BD6715170145A6704D3E3FA306E1F47A6064175DFCFB46856F524FFEC08851D558564BF943D9216D6199E75409516B8555A1429254D3677CEB193F163D01B444F418EC633FF9ED427FE28676B6B650C0B467EF2E7930EC43D3AF92D6C7B602ACD21CE6F22E1E463FCDB22BE9F2234A9331E39B3A5505B11531AC729E6F1A8452C9C225FA040132C62165A26C59E4879D93FBA9C75D3762FD1BB8D3EFF59D628A193C9BEC89810507F45EDB215602FB65385F99343593881AEA6D16B565F41D6CFAA0163F2A2871D21FA3DC94FCFD576F7DF9D37089BB3B4B1A0DB09EF42D91CEF3E35347D7B76F5B057C9CF09C5A418AFE3AF06D27A4D95BB276238CE06980B1FC9215838FB0730C354C4EEBA8491A5B793AD085DC5FC2697A19489132CA6193D96C4E1BB29DA6D719F86D3E8D17973E76B57410B298BB72B709ADDBDEBBA6618ABB26D557C9C883C8F159C91EF620D2FFF202A1805DE6C3EC478729A761E306A6ECC362C1C1F2CA18C7B5B3F9FEC42E41D61AB5963A7A2783AAC5E5159CF559F347C805FB7B45EB82986AAD4AB6FE71A112EA039CBCE663EA37CE6FC8A26277C8908CA6ECD9C40A702214FF22CF2A558E3B9BFDA2DDF6BAB5C7F182B8393AAF6E0AA1110A567FEE52496BD861A92EB175EAD0E728D28B2823BAE9E40636B6797A6CA4571D76858C44774FE14E2B99A315621A830CAFC9B8494D7D973B4FA8CDB8FCCB6E5A0A1F47152032747AFACDA130021B55C6D9161149936F19668D8CF562B8F42ACF4165377477E2447565861DCBFBE5301DA8663C11D86C9116D38D59C4EAC0F63479C90FC8E4F105D718023A1DC064CD1338825EA1241221698150AFA47BD6306595CA5DD37B1B2B0819C9E2A2A8802007886DE7C407C312F4DBD3E2EC5EC78F623F04ED7E4B27290831CA1CC9CB80AEA157EB7362D3079CDFB102342512BFB1AE0B979E4F162410D31E0959E8BEC4DDE2BD9FC27F0B48787CC541C184C5089D39C9166F83079808A99004049FF1C3CC452B12A88475E900AE0566930151A850BF572A8E6F168126252280853B16E3B815A8FE5C8A1359FF78BB0861B24BF8C5592C49B07C73330E342BD201C03629DDE238CC7B85D13CD2131B1E1FCB3957FC51E6CCFC9E4A26AF0C2364CE35D7A47375AE86277546CAF77635947EF7348759512BA6DED26785B1F905B39C9D1DB5BB347F1F9C46C0ADF8F02D3C030D6BBC2C89247E8705C7B1A901EDB762F1ABB4E62E874AD7538A07986803C49171F56DFE055F6323B3EA04166B0961BCB7F47DDDFEC344628B44B92E14CBF242911CCDD5719BCC8E7909782D890265CBB3745051BA36792DA22A556C762ADB228809F85FCBD1E521387906D4BE384F32379AD5674B523D0657EA7EBE7E1577A554864C8725DD8709C9B4A16DCBA3FC7A3B34B2E7C1017E401DE15DF06C0820233760B1DAC69353C25E981D11671B2A2834FA539423C7717173EAA9D83D88885219C7F7F4049B22CB9C3ED5D167CEE141A0D870BBC01766278D413027B4B11D016D53936B77700B243D3CF43182BC22EA0D86AA2F0D682193915A933BF693C44DA024C656940DDDCD469DA474940E509C584309D6795C857ADF9AE69FFAD2FA2A97D367520FB4A62FFA547F4615E343B6626FB263C43A87779ED79FE9C42DFBA6F35952FE3945503C7E99F3C4B1D11A8BD92BA34B61738FE2CAF33345587F60EC2ED6C6B914253E894CCB7F06260261465F12A66BA93645FF0EA96899FFE0DDFADC9603BC66A89E055FDB75809FC6D0B974B0D7BD7E470090CDADBC91069FE2E17DC7FF9158861B81BFAC6AE544A3F0BCED711A3B553DFDAC7A0FD48934B70C31F8644F8595B63AEA8536C346B505583F847796ABF0E89371CFCE938C4D2148B99DDDDE677EA04AE4AA33C58D0B2DBA36A8B7B6D3362C7B2C7A3BE454833E2E19C1C8F828F05D034D7D216641205F916C1A72E512090F924C4574DDB24BA89F760D6F52F40CD511CA2172FC0FEC366390B7A26C1F96B526ACE6494C9D252D68A9DA2A93FC4E4216D70A86E09FA5707562100FC69EFC6631823B0576D5AE8C668EA6AFBD7843A7A1104355CEC3B2032F4693995AE5F018C8A163D593F83C86B3873DF812D877AD92970503CDAB0F4F77F10B1DF1AF102F9201F6D92C512EFF44D1DB32678FF7A583AB6F1ACDF6C77D168E88E635F05297BF0E31E4826A27D8AD97702B9A1FEF9958D34BA04984DE027B22996DA1439DED3F859A3914EA27E4FF3ED4549C4AAB5D805D593C9ACF76648837C4566EEDE6D307CA8B7AAB4DDCC7F93F22715677A23055566A83C12D8330916B49179BE2B2979DBA70643A3307E4E0C6FC596649300557E3B7B587BFC80DCB36C7E8FBA9 +MD = D25B2D474F62F6CA7D0BB208ACFB8BD77A710B2644E03AFF275B1391 + +Len = 26744 +Msg = 1A3DEAFCE70AF6F3F55D66AD9CE78D5F4D5C5F2638A810AFCD07D67E9F9A1380D6B34BE482EF030C22F1E978F544609CCE35A74C5109EE7038495B6210CDBCA8DC82C6E9E7B0D593FAD9665382B3C401AB8941DF71307DD77EBAF140AA66A1F76316478850E58886A9610631E9C722F459FA00C0B53124FB4F12778BBBA3760826D3DBA67CD030A96B654AF93F8E395F5F439549489F8161683F124BC980E6939C83A6085E4B6CAAF8BCD89A0E01ED70DB487166CC29735D9235A9CDC57B80C9C2E591DF6322F5BEDD32937073F781A30389552AE83FBE147D1B3D3461A3DF96C15CD96900C56718EAAE838417057579115936862679F5F2A45DADF65D14108AF1641DF987B57986384FA1433789F5DFBE87E90BD4E9D8D4D0741FCDA7348322B967B566B18612DBB8FE64F151947C3F7E361EE868676BCCD0CB3A1AFE046BE70057A05ADD3E65AF31E3FF414A627C0183E8FF583B41B75B203650420216E6DFCAB289665F054CFE3EA0943647528518573BBB1D0F27E1449E98739EAF0D009432DF0C1EDC1625264B94A71DB762659FF5A3A7A867F182D1F1FD34B341A4A181221870DC4A494013091A7E3B2B07E0160C438F1EE1E8A2B989C4FFEC36B5083EA427606767C29672F44779A8505B422B25A56907F565B27690D011426A62DF0036D57D967CD1D14E915BBC2691E7AF818C769D9E1F9EDD40894BE88FA1D7A5952AFD898E837716ACD73953BF2D1D448123FD1A0276D2C2EBDC760A4B787416CFAE5E963FCBDC8B551CB70F91DA0ED4A8090FEF178E879F2C34F3A269DFFFF09772D44A13D7A17468B5834C460957D5243C325F63F05F89D4ED98D361E7F0AB8A83948A64D0CFF8514841AA21C7F337920A9983E59BE4A0F1339E1E462F92DC1FC070126206012458A499A8111FAE078E00B0CA3BC1D6C7087CD318D5603C1C7E0425E6F729CEECA5F35B82F8A42E0E9B950EFB0904C5FB5C06D91D239913665ED1F1EE4B82185A01BA86CA2D3EA94E5A8842231A94C05280183B7ACA289984103F122203EC2FBA4A382E6F5236D6F68DA05E3BB0C558421F0EFAB91DCEEF6D1ECDC60F9B88F8BEFE31CDC3C2F024A1AF2C7336AA5D151E8CDA814A5FE898BADEB9DD680E337E682EBC22BFAE445417E37D2D89A338659A280AB1206DB74DD42C6F25639C1803BFDF2156DF613B0F5924D209F7F9003CE8794F989F4F27B82121210F4F65EC5A1F7723305CEE438C41F793EE04496BBE337BBD2FD3023830B1C8889C6F4D0C1192E364EDBE1CD987BA5D66224EE9C9405E1DFCEC0EEFFC5C73D3123F6731C6295D1E6B854B884FD22B6A3BBBE5395312585CD138BCA67532C6AB71BEBC6657C50DA87D2AC6068FA3970202C5E15EB7B4B3D2676C0134BCF1EAC2B26BA46930B5E660B16060894884C88BFACD6779276B86F685AB6F17C6D53F621275FAD66D021D26D1D480AFAB4B5EC75E0E763FFC45F599EA02504DA5D91EB5EFC3E4AE196F219E45E7CB05594958C876FF474A020EF73C1F09B1F7F7457E816D3AF51D86663D4D461754CD5E907456691E02446D6CACFD33516206A31870543D574592087773653D4086C2BDCBAB3C9B65CA11AD0D4E58DDDA8B440309989857103929549B7300CED42651D4086661694092C42875CB62858E6D1BE5F7274B4BCD83AA4DA05CACA186A30902830790F9FFA24418E1F9DB00FA40477E83B05C2D11AD7D81DDDB1E31F94A9DD5E9E13391C22479B570976E3AFC1BE41086D3BE6689D87CA4326A7CDE8E5B396A678D3CDB2C80FECFBA2BC799AE8B1528E96D880CD098DDE910D097EAAE660AD4D7EA51C18F18AA1B39614299A172512521DFD231B9840909839EB69C892EE23F1BCEEC1FADBA75786C7DED93BC9983F74CEAB397EB8BA84F7E4130B34258D628594A6F9E2348FD91BA2594E07B8057E8A2AE3ADFEA0EF919555385977041C5B6DC4F3880569171F7217AAA9A85F2F5BBDFE3FFDF79248F2A35FD4DEC34980C67290339B1C0A5A6AB8838157AE2F5140B4A24924A6688AE5CE72A48103EE9029CE8A0F15B1FBB19A12FAAB80A7CD9C0E389FC2775833E3190F1CF735ECDFE7F6B6C326506AA82613CBEDA8DD3691B81F4C1E3B0FC32D7E6719CBFC12F4A26E0FC29D6417953ABC9568DB4ED9A294B9FD5F2A666DDA546ABA301B1C60985033953EFD6F4538333B5C7DD3148814A3FD7927C366F40B3D7ABBDEB2332DDB586AF80959097663CFAB2FEECAD6D368AE10EFF9663D5F8BAB95935D25F45776F7F04B46817D05165A9DD4770509ABB92F8B9E7373CA780703569981754A51D6D376D65C57F55CD70E2DF5FDF5A6B829AE30CE3BF942815C8B4BE858DB58151D02A68AAB9FD373E047EFA51BD1A0CD1B61744D9E97CEBA3334B3BAAFEA3BC9E43AE097CF2C3D713EECC247FF43EC74D54907D8BF45E45B2E0E11D82B126A8179D3F66C055E11F69EA67AACC5FEE8AF01FAA379E51998F5070F9EE0FD30A2EB22A925586FB1B39024EB5EB1E127C76A149E7F02AF1B73C16E9E5A5DBE378E08A9FADF1194C625132AB3FDEFE8FE9A89BB8E0035A1A3AC5278F5D3D0ADE0E41C81C6853A41C4AC45BE3F68180FE23F27F18BE2E339DE1D559D75DE63ADF7A32BAE42B037AEAA3E123A5314891BCD35CA48D57DF4C17540E97202A8EA1328DA25B1FD6BE2B56AEC1E5DEB209F3B7A13ADB1CBE53EB645956E577A7621D74E42376D70BC5C4AACD239A852FBB7B3F62CF59FE10438C1DC8E1E46566325DA0CA43AAA63FB7E0B450A2DB3E3A2204704D894DB24B72B3078106E096CD543DCF027650CB4965E38AC36A8AD588C5962B4E26548AB88F0BC20E10ACC1C3FC00EF415B3C32499264552B14E2C0E789A3B8A8BFF9620FD939D0B34E806177EC696A4B3B1CA4B32BA979B2690CFB3A6B17BCEE6877FFCE757E4116DA01099FFE82ADD5A0C593E73449A96DB9CC2B9E846D166B095174F2CAF8B35DD878C836D9BB6EEEAF8E1BC5D0E149C739828CC480D731DC16B35B80D4AD82ED7D29BD05018239EFECF8DEAE180C6A459DBCBFE4AAB9A5E2C1E1BC31418CF2EEEB31FDF8BA02C9A91525E9163F672BAE2EDEC38C1BDB84EA237B4EF86BF5C0F0FFE178E3761E82D94F66E5EA40BA8170BF768409E1B4177AAFD9937BCE3FBFF590320D7C445372463FBBFB34F57447F42C16E026F179CBF82F617C86D1E8D42F6C908F9C6B77E38D25D51303DBD781FFAB569B4CF31FD0B947C45E1768A2E9DFE8369F520DC38D77937B69B821DB4FFEA8F50EBC404F0587B5598189F54B5A5B98966FD16801C87DE2C3C7813DD70DC600824D426D88C55E89D47214D59206A7A65A65DA7CA2E42FA62ED17E7AA5B3ED446BCC71F17FEC8593BE96D2037BD07F9476D4D732B32BC5DF8C921316B45699004716FC89F8D45BAE402C26DBCDF1A340847B932FF882DBEAFBEDD252E126C89A1E1FDD8908A1F67D15D8E432DAD8E08E950A3BC46B96CB89CC5BDAC703B3FA3E986EF1C6E7E6606E6845BA1EB2FBDCFEE744B5E45206F4A419E1CB103C8490EB293EE9AEC1F0A0D294F9D3847737413D30873F3C94740E8FD072817815EBBCE3F09EDEC9D1211A9E99547D620B2EC56C89E9CB8144AE9E46636324BD13C6CCA3AB9CD9FD8F7F937ABABC598232384427A2D4CE0CBF9765F7225E208C3CE128602B0AD08A1BAAB77EDB3111F0C6CA7BA0EAC9D89D5B4378EB82C17F6EA08308A79A53D150D3F85EFAB77294F02EE0E2885EE2AB2793392B87DB11FA77992F5B4FD75EF2F1A822E87407A4878894215AB89B6CC4A120F5A78B3C31AB80FFCC9ACEF53FC6F7F85685EB9D56D30D87C21ABBF1652EEF8F32C7C567BD1F08623B09C29F33561D42727A5649A3850071AA6C11735AE63C4FD31559CE560B27A362786A83353FE460B37074664A9421D3B2F6A864D5ACA087187B27E2B82F31CB3DF5E985CEA271C609B94B4E58356D40C7D5C7FF2E5990FB39588154843EA5FCA92F120075D4C4D006661A0FA1B0585454BEA725473EEF7D58117D5840C8348999003736C5EEB7858FFD273A1C3EB2812F5697C59110275B08F6BEFBE84C92497D5F73B7B6F794A849713B23AC5F29D5C7112FB2E7A6E89EB54DDFA3122E6C79624C1BF25EBFB9FE5CE6DAA779F3ECB2984DA42F8C6ADC77B21DD291E684FCA50E46070962A2D4F00813D8DE1B8ED33FED9715180C7EA8E2BB74FA65D9C7F6E142F3C81CDC59172E1020F62F65CA5A12CF2BED9DEA04A4D8CABC2948F7BE823A3E792625275B3925A6C8D8E2B428C75A5DB0F7120278CD7D6CAB768755C7FE2FBF89FDED1FB38AC7F76A2F8798CA36ED42CB7C07F006271205F546A4812C20077F050D4CDC79459FA686E97F0704B7A9FF7DE16318E862C53D361BC635A55A264BE15016545DBFCE3C6D6849576ADEFB6884EDD768214E0B438B0231B4F2692C2C0B5C177674F8A0DE236EACD9E0CEC7C8647E4E9A5861B957EC834A2F8572F01304C3FD6A06019E5F1499B62BAA8670B652467FA9A4F10F053263BFE9743CC7D933F86136AAE3A6FB56754D7D238397A0030CEBEA87CB255AF36138C373DBBAC41DD4A697032E4796C552AD9C9B3FA713C3A4E09E0EC5581E94BE7F31065157662F9E9C678B1EF1B8B8A847C51789C22B1841BCFC855820AF3258AF9E08231090B45D10046A00178E89BD515616B8A44E77BF57795DABAF40687B2CDA7A5014168F +MD = 98E40C176C8C8EC46AB940688D47978B8D1CACEFF37C700FDD06CBB5 + +Len = 27248 +Msg = 93B01F62E3CB9658B4809361DA42E9074E311B9D632776D32A2A3E1BF168C7A6173E449F5EE483FF20B6030362A471FB3F02663D9D862A05767CBC32211D47EFA54607C052BEE3ECBC211C7DE60EA83BFF1638F80F203AC6675A07756CE149A56903F78DB2018DBAFEF1B93FCADAFB639A184155EE7A2AA9E49DC667012298B1D489143FF203F939E8A826290B95CC4C45A6FB25A4687E582328CE2D9690950A32FDC5B5F05F39582C8C689040CD4FEDD7919C5BB9DDCCEFB127750F2776B901EDAF7173E90C0354FB375C6249C935890632B86DFB37E475FC480E4ACEB702F9353D250EF73AC075B0BB6C6B2F0316842B19ACCAE8E084F0739533E3E3D62C5FC107033937EDBF1EC95E92512DBDDAEAAC8BDDC2CB8EC3488EEFEB62A1FE844901BC12D9A0ABDD8DA4A06F7B9A9F095761DD80E891D2245E5D359B39C2E461BA80E33E1BF7C532A8C7CB35002DEB5DDD49CB113C4EA214C04B95C4A5A68F68F513D9B470459CD87489E7E103D19BFE1EC3AA8269A611F0A516408232E396463DAD842D0C1E92B25E9A3CA1696A5F2A684C23DDE0A6B3F2FF2EA1D956D5E6AF67F7D72E3D0692930E446AAAE18373861A9521D67CF741C61EEAB4E8D7A3F496EEFAC6780BFB826B532BC868B75609B1BE86F9EC249732A831A6A8A490E2BB60BA628D144BE19502EB99910E3130E5658FB5E3348CE9DD030E68A519407197F563B365F237816D9F683C5B736C40B236FA4AC9CEC9A0CF8D5B54D5AB3609131A5A0E6BB4C4CACA24AAE1989F1859D1CD554CEF05FD31220F7F46CC2E2D94C7B94840735A0F3A70A556D7E5F4845123CF16DDFB563346B9035CCB3422197B2F8805ED2D3F6A15BCC02209B40FA7609AA86FB6B91F765AA189E283148517931EDE0F19552C945A341B1D693CEF0167EBB382933FDCA1E9D5B5E2F0D881AE1265E67E39793ABF652B2DF9813951D4335D988670FFBC2B9C98EBAEC716D13D221D8C448474ED813C1DFA3EE8F8BCDE51792E87F797A4EFD8003ECC9B274D0F8693AE5657629DA8E12468524EE8FF1E6790DF08E9AF05B1C6C061E6A24CF952BAF4CE54400F3A1E223C0C181CE974EB413664DB47BDCD62A0C368F8D4C2EB457BC5E7554B00E9DA621805D97F677202390079BDD8171796DC51B1ADC27723CE76F4FC1977B1B0F882599C8C4A1276B990912003B2D2BC9E8EF995BFC3D2993783688E1D7FF53EAA16700A4FD150340F84630D1CF90F9DA0C969A4ACDA92C7C7ADC9BB3F0B22B74E956FCFF9005B059451ADD0E9097843F43E980F5CAD9942018C6A801F779F04721D6896976BDD2748B3F2B2E2DA690214AFD6AFD2172AE29BFD6B071CE2D693814A79AE083E9B1DAD6474ECEB547CB18D55D24F98E8D5A343690A0FFB96F7F3213EB1A11A7BDD6C377A2D9E85BFB7D09C53A13640F0417BD0366B31F482C2D8B558DDFB3AB4E6FA99DFFA644BD693DE9204A1B61E0AD790F83ECBA5D445B3ED1C7D4A686D2AB014EBA7807A40A84FD39E5A7526A9EB5BE1CA254B02B529526ECE401AAC1899F6FB8C9EB0CDC5092B2208368BAF9AAE501283F8E7023CBA4F17BED1B6BC52C8CDE3F84FAEC6FC1F11FCD1F7DD3C6099486CC8F6CC7589FF18A4FB7EF203F6FCCEC16160D9197AC419E044D3BBAA2A42E03360585EF383C4B8C8C1025B8CE9CC99FCD3AF5F0EDC45409D5E3545CD66CDAA1DBCFBF727BDE4141D2E659A7888FFAF73AAEDFF9A79BD5E89A28F4FD692DA3FF432D2250774906B737ADFDB06FB70BF3F6D90CC3B0B2735F66A005297EAB3E3BCEF4299BD8127BC8648BF35F4F8A14766F1921985C939799E2DCF04243B142E21516B429111EC9472EBCC9D082CE72AD41DFD2C887BCB86C31435564DF1B397897DC7BF5565A1D59A4C7E3A1D5E28844A3C3E98EE11CFAC4E91DAEC761B796617B092CA922725B09492B6BDF7CBB02F327875D2312CAE9F312E18472E3EFE7497A3EBD4EC105BF6CC0819BEAEB6BEFD4D23CEF5E7070D3E6EFD79A64B4DB4FFF8726CCA73E180C822497D0A23A1B9802A90447156809EFEF25CBD7414BB945C8DC78D5E3E531E4AA93CBB12B1BE227AA6C9B90538634B01A50FDA8E786619A4C4EB1717726F8365CE568F83831FEF3D70D1A1BFCE193B48593AB270C0AE156B2E4BAABAF9F0FAE96D0075A59620E9AD574570C1F22D3FAC28A6641BD29E51D4D1D6BCFDC684C1470DE7332728A82F910D524CD3B89EB568EEA65899067D8E2D41A2B6BCA64871BF53616CCBB06D50AEFCEBBA942EF0D793C3E5827750D5C18017EBA0B8829820BEB3E8A938D5B2AFEDB984469C93DFF63DB17569BFC9D34BCF1F68D08EE24C4310CE9730BD5C8B0EE84A0FA6BB5E9FCC0A1DBC05DE24C19FF31713EED55A672F476605D310190DBFA313C9C7B39C41BFC5727DC5063DC0F86CB5685E721FAA85E42BD786206B2F8BE20848813ACE13AFEAC10A6F0A5CDB11B67FDC6DB81165393BD4EFC21A634450BCCDAEE378B71AE9E3A83A21A6B7C5D8A2B797D9178225C1E3E0A01905105CEB8F8A36FAF0F7A7B93B695AAC546BB7354AE0596E9BC49C1504CC2167BA959F58B0A2BE263072067D5D89311F005FBC146823E9F10017575223C9342757F6EAE3C00289FDAD155F5D5DF87651ED2E1D1EC43AD3ABF521E782200E8A2438DC6AD400D549F622AC6DD0F99D16CF5035FB61457BE66D1C7977420EAC767EDB3EE3500D072B04CBB3481BE845EC09883886A8A0660DFF30F25567ABC2DE05778D22797B4C1B2588CE383F28BA0C6CEE621FB464C5CEECBEDDEF1D9A26F45046D5332B33DEABDAB7DC2E07C7732BEE25F6B9E72E085D8965CE2A555A8B7DBF728BB85581120E16D4B4B53D5E8BF8A07D6F97010824E11B24A8566AD4D1075988AAA494142D3FBC9E5B29866B6C0090006C5E7A21AD534D5FD4FBC2ABF5646B3CD3FD3F3C321D188B608CF6B6657839AE7A7E124984E7AEF67A99C939EB3BF3B568583CF9FF13FDDEFBAC6B63D4E1D9968F0FDC223D16046B5ADB631C890C89ED795DD351CC51144872E57C750E7C01626A81B36BEA868D80D319A4D0EBA3DE56C41E706CE8D0B7071B130BD946BF5A7FD1F0777B6C7AB9F03DAF3EEFA62C63F40CD65F4DC4F957ACF9C4859819991CD0377370C58A71B2E78EE082E20EC09FDA691290241F722C0A54126906B971C18D7669B7956D0B20CFE454F93D8849230340A99EA23B7F07DC7586C293DD0A96F9C2C9731946542C0B39A8BD98F77FA3F3CD1F7DC6AF9786297300E7B0FB2C9A46DF02732D761443BA36DAABB8DFF1B8364738B65E4AD6564B9802100C9100CB6B4C3259AE7DB00031DA4D7B36032344A166DEE3867AE1AE499B89EE270DD5E87F421873012E2498B7AE63D40F68A123BDB238192653273EB360D852250024E24717037770454E23046C7DD84F980D76C4A0FE11EF4F02B9435FDF3378E2017F62274933AA23608F9AC426D9AAECE609745C71465EC8786D4E7D06A91B24492F9F98CA43703F0C4FA97C076E0F5FF46036506B4EBA5BA7A267346DAB8E1A9462C956E8F4C3782C1353FD5584BBEBE9EF40F92C9E8FBB28601B1138FF8A380213B672F4265018CED7630B5121807BA5A9DD2FF1086F7B70431A9F229F8695D6C66EB8B9FB83720F7C1F6C3EA50AED00AB3247DF979288BA6185D424D5548507D6A73FB8169B1E17DCE927E0CCE71323CE25BC45B2D7AC05E92723AD357F8C90ABB6A4B96EDFF1A76941F2C24BFC577D5B7D15D6250F87DBFE063306F19306D0ED329FDB6E5CDD6D6F6F21E019E58C3FFEC8BEDC57036AB69D9A0E19DA5C1DB8D0C6AC801687ED617DA94F85161D10868A277D9354CE1E7AEFECBFFCBBCD441CA9FEFD36646B28AC5CE2D9AA0624A5501BD8C5C2B2ED8D1C89ECBE58BD0B373B08E42FB222E7C4EF4BC8061E3555734267C07474B675DCCF9156CD94731604D06F7CBF5FA22C316920FD6448C935B5E5663C95550D0634C200656A040CA293FBDAC3E03239E0C6AE4B1926A16029D3FB00BD595E8E835B02885275310EC28B52B98C5C079629B8754A14DD4D88B3FEA948DFAFB235DA712A06784391D3BBB9018D0054427C1E92266E980D876B25D8D8D3E163A9E5812E4FAB120A2E297D2FACC6512542B254682C8DC7BE6BD1ACAA5D917321718F2A2C424B3BCE4E157EE4426EDA54E21CA2D35F6B38766A7F684D39F8F3B950C368FFB33A08A7533769CD77199552D773294CEC13050F4E7F65B5175A54A8591B079E9BDB496D597C0654700E1FCF3AB5C9942141C7BE487B1D57383D334BE037F45020885CFE71E4360AAB5CF47B124F0D3562770F0106F2A66F0CD7B5CBA869EE27EC6AF4D613EA8A86FA99EA78BD51F55E8951AFDD380D2A3F7EA077E62B215D7871FAFF18D2F807F6CECB50C1960C2A801D7F0436790877D1F19B708A183B3A949E35034640D38093A89FCB7FD3BADB077EC1502187F4A110F26C69A118F4DDE2296F20A7C2D444200E3B00B312D8863E478FBFF8FC4F9A1F792C2EDEB4F73F9A7C7C9E9AB4DCB7D7F5A39403D3B0D1945C2AF7C80F54FF3EAAB8D7EE5FF2B669FFFAAE319E6F4CFCC54F6CFFA715691959E3504F3349E90D6F04EF7BD0222F57F11C912F44744C2AD3108DA304995CA7D9BDB383B32A8110823D59A62BC32D610E083BF49560D76DBAEC82292818377EA5EA68ED76DAA15B2BFAE09D1729B44ADEEB45BD4709CC306E31953C74FB6FF05757CDA9B0B422746B1CCA7FA67C290A8C50A83C242F0BDF8ADDAE3DACC687F4F8A89FD9077590634F984A1871AAFBD9F2C35B +MD = 35707DD2A44DE66641DCFB35A06FDC001C74EE0C96ECC16B34696FE1 + +Len = 27752 +Msg = D80E6FE59B7228D25E78586F94F268EA62EBE04238AB44E97316B22E96C91D186FAC862EBA9212CE845BEDC23CEC43FC3DA42AA7025637E0EF65823EBA6FED261AFE9A48074258B235559A916E644BFBC9C3B6F44D760E3047BF7C885F9C70C44246A81D29F9C10594B9359EAA8C8C572C71426A930F02F2692D504E0F19E12F6BD115C085988BBDF2748A2EDCDCCAA3D29329B4E8A1A17CC20243191D2ABC7A4CFE384291FA8D7EC57821E12175A156F893587E2DBD5FD32C2C1A7804756AEC8FF12BCAD4308DD33EEF5CFF2983650FEFC04DDFC4301107193DFA9EB7E8A6EA2748072879B063C7B0955654AE2A68BF0F00C37F0323C6458310B4707DD2464DA5A52B8A8E7CE6589970116BA93EAB2024040C45F22E9B478B34EDFF4BC876896D143152565732FFF04EFE656E06EAC38F19F4EEBFF224E32159AB375511B42B6F74001DDB15AC0CB4F6BAEC84901059882F58EBF940CC973422F6F6940A94C5101EB24ED21BC0C417D959B4F08693173E88C6DBE28B487B3D0CA00AF26239B5B8992C60EC3BCD3855D2DB197AC95C4862B9B90C5B4AE366759A38868A2B838E36D7E42552B3566D7A28FE6E208AE9C6AEE50524881C482B8F48E9133AE2A9D9377A6F966F30603E25A0FF06106B2925012313CB3E79FA3F0DADA7CC3D015B4C0BAEA4A79EC8E37D792FA13C19AA173E134774DF393E1DE9133369E858E47200648B44740F18BC0550266F7EE7805B85D8A19368C68110CD11F14032A099CC797DB39390C2930F68059CA31592FBE73619043E1C095777D297158AE6C28C863FACE2299EA435CC1E7A09FB29071C21780924D2ECC41C9C9749DA3EF0819A41EC086CD2B7370870694B0392D18B6B721B81282DADFE3C3C3FE21288E992C7E3A8FA685F32307529E6D50ACB4252D3E170334C42C70FAB02DF832569C7E5E05042F71A4FA939B58572CC8B0CEE4331220742D2EA9B1117362A1831C8247E1F6E1F42A88FF5EB9AA665F9A637DB1BE7E4FF5A75DC21137A50D07087185DE1310BC5EB098450914B9C6AD8DDF67AC0DCC99AC61C3CB09B101DF6273E0C3ABB3768F24FD2C4BD2EF6DBECB1A1ECDE1418AE5FCA22D41DBA0CB6C16B06F2CD26FE1657C1EA7ABEBC5BBC8DCB58738F855BF38CD96F29BF7732E91B261B70A776EEE64145C1421FA300BDF80BDF6457E318F9BEBA2243CE8CF57DFA8BA0D5F124AFC6859DDB0F3ED457FCA64623B54A49BE589953078DFDA65745FA39CF0C4D9866C38F76231FCB44D3131F8DF389AB755742F16DB218B3978528799746A99DC7E3A958632563748039FDD9FFCBFF6F93BD83DACF06BA93E39251621AF02F8175CF541F0C800C5D2F5AF06894B2FA14B9A6FAA3A3C95570423613299F141CE25EE77C0259A40279A2FF60B51ACAFCF82CAE4297E57861645DC7442EB052309001E89FF2FF5BA41F2F7D48FC9A49BD3062B80C75BE51FBCC8764AD6D2E647574EDC03660C9F4B7AE58888678DEA4D6A5C2512F12A6AECD3047AD08CFECB6A4C95993164C583C91FC8558CAD146C73C7F4C24704EBBD00D9DC2C72F4AF1B24F1DD5C0BF97C283B7F69937A6AF0C5AB195AC8D179169BAB6B141A5A61F7FABD2B0A23EA29CC295AB04DE123290485048E06AF0EC211D93CDF8FEADA722B82B994134911B5EBCBF21D0130F910DDE8CF7CD3E46C2BE4AE26796F25B653F926569371EA09C7A5E2F38565D08C9D377BAF51B6DC854866C50563B9DA26FA30E0A87F5B2FC6472291550FCC7A0C423CE82D0AEF24F54C05087627FDE9C9EE2EBF228D12291B2B25CC8FACAE9C6209DC43547BA0208D359677C94FD17A76D0D84D9B18084C8AFE1548EF4B7FC94D70450087EDF0374CC414561E6575AD401C99908ECF28C6AEE82F3412379A86F78EA9841CEA2D597664340E90714C4F75453CBC4C24C963264DC8F13487A0BFD4FD04ACA1315A1B70EB4888265143D82CD63046F0DAF27D8F1A6EF988F48D13C56EABBBF27B5785E51D68DB08B4AE2B9411596AE87C760D28A4E2C38A76BD6B715293C59131D3D6308C722282495BEA69009CA71AA78A28B681CB782FE4274D499A856AAB6F19FE9F87931EA93774AB13CA5B3E29C1EC6B300E67E525B9438C2F3C3AF3C38276039FE82BB15CAC81013B195EA9C430B8381F73B5F95CDFCE403C0277BE77FB7D8CC38F5C075347CDF1DA4689845D803C9360911F0156F6C92B5F775D502674CCD635F642B266A2B03748ED6247250BA23878853ECC69CAB7EEF2A29A08E29072BDF32DB742DE368125CDDB36953D15712302A9E4AD58C8C63C7721D4647BDE4A16E582181144AD9EE4D51133A5534936FA3A7884D0981785F8EC556505738E5293020A2FC31BC3D95080E1F747B2E25281ED256540D279C07FE3218A35D4574D22D4155E3F12F7450F37F8FEC6C467566746720538BD1A297DD9B987DBABF2D6110FEF51B6991012CF338F2371E394F2D4967A7A462C054E43BCA22794A20675854D742D441F0AA289B0DBF55E48F0D495864E3EF5B145351B93A2459B6CA848F40DF1D8B588FF679771C0DCB69A7196D19C141EA0846D5D2934AA5C662ACF1A7859DB2C02C791250BDC1F5ACBA5638815DCFFFC858B0BF1E086EAD0BE46E9C4018159729E645C486A4973E6E1380F9850128F08F315E9F9D6EFE64EA210FB8070A498F98A1ECE8FF4279B4028EFC7D3634FA3CA8CFC10C58E349B988D3F6A13A18B6487B526AC779C82473D121456EB2C18167CDD74018C0079A5347C1F9873CEC00715F0FA530550C814CEC5B96121A9914A8291713D6C7B9F65A9E45B85EA43E93A79DCFB9DC6A6BDCEF820242DFE7CFA4C2A532E6371681C8F39FD659A1F54536ECEB20FB528C8B8BFA96069FAFC4A8B23DEAF0AB27D8E190FA846669F403BEC4F302C7CD5AB9972529827D5819E6D1FDF2B6CF2AFA57899F8F9CBE1FCCBEBE8D738E84779134545614243A1556CEB4601ED1A6DA90599BD3B2E2AEF9B060E27D879D1E08120651739456062A18CAB94AAE2807CE12FE0761AA96598AC40D1DB86887708041A90D59C66B37BA63AB409C9FB025C5992B985A35C1BC3FEA87B7791B6D0832A461A58B221933D2B9AD6CCD80E08CB8F85F52D3B9A0DD6ED57AB7A62F1AC77834BB86FC542131C779DAFEE3DF16E26CEB0953661AFF00843DEF77210011965016942B3FFAD479749817BA8A85EF288091F92EDBA11D7FC01681A80513B3281800632A33B3A73B4FF9187C12A5701520724E77AFC84E6A3FFCEEC439D530B38ABD9805EE0A8016831CBFB54B167B65D466F9EEC8058E13D25F977BCDCCF82C7274AD9A71DDAC8A0928E57B4CB732DED8D314E8312F99EFFAEA028CD48BE614256C6D39CA0B2F77A13829F172AF85FA857BB734383E757A0E526B019D188DF17BDD90815CC90D289E6FD1048C0963D65B5BDA595D34ED760AA1066F1E3D9E48AE2A2DC492701E9CE465BB5A39FF722CF55E9E2F8611790920A3EEAAB9AB0BF86ED270FE658C3A5F633FFF633ECE639A93332F3BFF0746B5C4A5EFE9AE4844F996FB842748C2E25EF24B6D0F8D5A476BDEB8328444E46393C0544EC9F1D28CB83A8C965E0D9B066DB0366B431306459B6C837DC9E672FDBA234A12ABEC8C8C813D2FF6FC625DE96D35461CF72EF1529E5425EA1988ECDA7381C0F84D86EBA98F4F4D0F45F1C16F5CB3F8456DA4BEA3030F97B56DD494EE97C630656E58ABB7AC6F2D8676C04A34C2EE4AB1BD10D1630DD59B6999ACDA447E646A84AA66D53C6AC0E3BEDD0FC01AEA8AA9FC7648D44BF585F6F133A25A590D63B4A83E6519F528B310BC03B9C97FDA5FE700978A66F1EF4227AFB3CBEC112CC4552DE5F605D9CD0772122B09AE196E8725827538C4473F82A3AA0F695C5C5D71F91F16CC8674445B799077E5516AB55853D86C1FE9E4BEE06CBF8F9601E14684B00579F277964AA162BEB92AB476E322E7ABA464C0657BCB65059B47668A82190FC093BA433A16F36B22936AB30F6790601907048C6ECF7C4A41A406ECF866D70A3A3AA2A1BC6472DDAC9F97D37AC790C117A609DD3741FAC7A011960AA6E278100FA04D345796645E5958A0AE0A68B3B6D3F11DF7403932E6AABC332A77417F2FED3651667BB0859133C0732C56EC52ACDF8614534E4A2E007343833389073DB6C212E567B7588B0BC81F0D622E1646ACDA0F5DFC807073EFA779D687357CCD1D102B2B6189680C502435BC6522CAF5CC16BEC795174503A884FBF209D0A235762C7162EBC66828BB8F23DFDBB6468A5E62294D4597FF4F91D99CB1417B685CF1849D9ABB58E63FC77F380EDE5AC5E658C103414F68DE7EAFEB3E69E6641C04B0CA57C7E938D9EBB290D61A2D42E1B5C0F956009A6A80403E0C77773F281EF604C1959EDFD1DF210DF127C302311E4A71A75622DEF0F91ECA4717FAE455DD9FEA557DEBA0EBE1AAB6186AAC0094EF34447C24125706102C0B27E17FDF4F1D22EBC6506F28685E0D1D886DD41729F9BAB64486E7E96155A26CFED69DF3BDEB62775189E9EDE39D7A0D03C511AB4D605343356BAD7AE86F43E1E9EAE2303028D187BC81FD3365D7B80E094BA629AD56CA352F3DE8ED6DFDBBE7D2064C757AF36B7DB4EFC0E9E8F2F25E6282780F7E059EC9ABA8C04F5913E9632981241F75514C50D6502D7B01F4008422318C0BACE5D135327E09E4F97FDBFD7CECDABBF16BA2887F76D9720E34C26CB8D199FB46B486D47E24FF943C1C23F3E99E472D96FB4B6477EAC3F364E02FF192F3FEFE13C69560FD4F4A2830A3A74BA8C8EAEB82E84D8ECEB983A6F1CB024A9DFFCE69AE0DC766FE283619C11C5885B2FDF38E230B187D822CC6A54A2B643029A5D9AF17C5C705F41403AE62956D977BBBC7CE900CEEC2B7 +MD = 9656F273CF78F3613D931D50278E273643CD6662C48D243A115CAD65 + +Len = 28256 +Msg = 3581D4AEF0860C1729EB3E6B504F00919C656A1C56C10111D21A2F9A77EC0EF7118BFF2A881973CBA46686D4F104CC94C30B93F62769AA2C0F4C7F3FB931B696DDB632B0FE71D57CADFE27573913CEA488A68D0E45B90CCEDA68D966B725152CCF054757211D4E9EB42A97308C6AF1E0B7A0DF67C61F9357A1542CEABF000CFDAA1FBE71D305300D43A448A4845EC94DF696C7C0129B088AAAC29A43BCE19726F94DFBADE2D0F7CD7C4EF0FCE12681FBE496BEE9D7725F549281F4AE666110BF40F5235526606127EE041C09874C103CAEC8EE320D5E9F2D62BDBCE321FDF7681FC988F453EF999B9FFFD9DC285BEDD0EBD36FC22B613765A34BC097DCD1F19B14C60140C8E23D7894132343FFC2B8ED144D9055D2795CBB20B8FEE92363F6672BEA4D40F9ACD55A2BE27CF813B0599CAB2E08225C4F909E7B647A39F888B9370EC69B2A6E6591604A38A5BC2E0ABF8B722E9AA2F05AD9AEDEF55A37810F935A46EEE33389C375613941102D670CA6709506861BEDD3DCD0F1467F4A0AB681084BD482730F7C753FA3F5AB47B7845C5CB17D17392581219AF440CD67013986CAC4FFA4B6FA004E7B5EEE95742E7C40044B9C5A4691C2B584DDE6A8A45A36481E715D6D9FB2734E5339DD5A1856392E8FECC416778805117989E30D422AB8D358B690787E9FED3767A408DD99234463B25B91C30ABB93F3CEEC89823C37023E7393F29F5065ACD499D22E13B5909857180F7785749734027AEB843245F5569C715A881A1E7554179D5D993FADFF2AAE71CB0016E1459AE6C2EC7954C0B6CC8BB1116BBB8CBD81CB62DDE57442F602147CBC64C2A4C456C1523B8075D0DEFA053578C31492B3234CC7370AEA593AEC0359ABE3D1C7431CB62973E93B0CF3C37018B468267B664DB3F45FCEE737CFF976BCE35E061AEF48E8CB20F0461D729FD1691E0D2F8F2E0D44F77B640131B9E62B80C751D0186F183760B63296B6BDCE97A9C0AB4CC37A27A85E1897F6DE52DF9F0B08F37C850F2405831CBE9826F3584E99F7811F08FD05B335F6D07409A80229A567763AD8F20539E1641236E87A7CD3C847C9E8EC063A5A8D21F77F941CA7A56E23F90130B74798B71E7A9CF8416739A4C750C0D5752A781B11F994A0B0E1CB6D8377488EC2DE642903F9B44657E85D8A213F1FC80E674DFFB747C63AAC85E62E295428AA315F60585BB5D5203598DB4F6BA78FBF3F053D579534A0C270B542DA82848B8189DE8A77A339D0052B74B21D806217E902D9DEEE2FBE97DB9E414CA9439ECE353FE0EA8A72ED2116F002365C88AF05D0E803AB494C3D1720297ACE858CAD90D30E8185D02DE9BB4CC3409772C08734CDBCE22B498661D73A18FE2738297F25F5466BECF4DF3BE1F3D9160DEF5566318620A22C0BCC27E91CBB3F1C586FC8E09C60DCD424E8C68418ECCE193FE29E4529E1419B1B0EA3597A98F19E999C780E543068CAC84D7EA226FFD535F75DE15134556D8D637064CF85F62799CBC15FA46A62C03B0012AF4615F7CC4A6FD09396A1A6D13D55D27CC76E9DD09597D6BECC0467B098F5DEC034EBCAE7A660394521CFF7D82BD418FF8CEF7C1E5C0FBE1C1F262B4DFA186C785B00CE614C4558D93716E17766D4D5EAC4B0B81C0B866E41E68BA0BE222D32F8D83507925417BAFEC4B7EE39C374412F71767DF78376605A002990845B9E791011724151CD3EF26191E6C2DB99AE0ECA5579F3A24D021F15A09319235508135B396E97819DCFF83617E641D6778829D6E3A26F7186EFB14DDEAF2113B9EA538FFB2C2207B737F7B708EF54C16252F2A63297FE571034FB4BCAA1EA6C4B65017FB4EC7050BDFA24BACB1AFE2E2D526EE2784E1AC92512E4EFDDB72E4B12810997CDC39EA1A827FA08DD2D7D88E781862E7C5BD964A143F61223423689B81675231CF97C64A3A71618F7CF6A44CE458037730A2592711582EA9D9EFF63400FCA70B7B5251DA70DA3D339B768762111D27B1A2E9CA559F544ADF00F8C2372CFBF03C215B75CEFBDD6B3634A8FD1054A5C016FF1FEAF0526ED8B968CB44D279C04159E77A0289717D3E2515DB6A7B5B4860681CF8C7A1589A3D85C5724A28976193312ADA24C2397D2C10BAF2FA933D71F2BB2794190730242E117C90FAA6391FDAC1EC61CE780A7864F6F1D6D8CC19C024F4791B4928F1A2B5EC91CDCC1FBC1E89E7CF5FEB974A0231DD71D435741D8FDC3730012795FCDB4B15267CD200E576B7D1EB9C5210F24B916A01DDD1BFB1378AA865ED86D0056CA5C92E5F7BD57D447572560ED23107EE6C08F0510E2594F47E19AD6725BB303EED63BE2F94C0501C609C565E40AD74211FE97DE80CDC82B20977A1D24A7E35C3EDCAC3A590EBF65EE6F5D044F43EEFEE6CA71326AA713FDD878CCB6F53D09913420113220AF1E37CEC5FD5B1F1743EC129267A6D5503943BB5D4D21BDBE149E1FF74626B191BF75B19B5A2E4225FA8EC887914787A75EBD7C0CAFBFE0F5CAEE05F2CF468A1604BBB1C5FFC78944017A814077B07EDF48524EB9A9BADCED4E562674210A5EA26507DFE26211B57AD3F613CF951306AE51D4DA53A976E139B3EFF7830D661CEDB059C92F93BDE0209C184BED15E38373A58E8E107B1FB0DF85DFFFCAFE9B005C0EF9C8C7BD3166F777FA5D061EE827CD45BAE34BCF7EBCA1A47F76F459D6DC5F85EFB0D9B5FA5C4BF19494EF7BB5F76FCCEC4EDE71B4BB4A4B37113289873F3D57D06B3D42CE543C113C789CFB88DB8207D26007C809BE2098C20034ECA5539AC8122640A714B0EE35F6B466DD0D0A1D07D6547E6EF4B243CE9835B9BF6CE2D1711744BE3A405F6E46E1824A625BEBC42FF340220E68B785AF5CD5C05C215A6D3E31DF1CA97D054298C0399FFB08B4CE8B2D6D08A3CAFB33EE536BB01FEFA5FCC7AA905C83AF895047CC7BB6051482DCD5AADA28E906EAD9B90CEE2B32F9B917123651258D474CC699934FE732A9DB3D830CE1C33FF39E946F6BBE363AEB3A3F0895CA09F78ED37B66C919A15D85E9EA68F9AEF383A7AB61101BC6D4BEB7E36BB9BCC04421A0BF7A263651C30A40B652286A5678EA0DA516D4BAF89D747D0559B119199A7A615528CCDB2D5B10E99B2BEC59B742B40F8A3046481858F70D18B5441974D4A5F4A732041B999773A93C3FB4325B6E5F5EB7849923407E15A55BA46F3804DE3E8CA9561BF87622EC8E91698C0FD97B6413D3212F1410D9AD0754B457F041A6805FC30D7A7A98700C5D6ADCEF4A1F23E51950F2FA40F74FDD6AEED47CBAE6CBCCB93E8A06950D980CA261705A8EFB5B7BC866F5451F709E8F01791600AA7E93AD41088DAB6AC9EA25285214D4FA5A1C4C31ED4E0157A3A6BB94F8E0ACB66B0E5FB323284C54FA9E07542030679384AAEA817576329FAD20BF28D80CF824D751206BE17A0CE16A9C2EBD0D80C7E643867CC32FF9CA92E9ADAB3E1096CDDE69B6C2990466611489BEDAECCB9BC135EB2EF54502ACFAFE497ED668AF4C984959CFF284B2AE81638F2E11CDC463318845A363EB08385B4002E3638FFFA347039B40EF7315C88EFBF01F9EAB73A6F0596A1A16943B03139F4E1A3EA5182B401F8DBE08527D81ED45682D6459BCC9362DE5D351A5B8437D79D24899BF5316E81A182ACF4F740EAFFFEF365AE54832822AB4F58D89596014FEDD5B99CAABC0E877604BF4DA5A4A8F8A93DAC8B5FF7F68BF4167560579317A7799D9ED14B7C4719E34AA3312F2B9F07321BD38FE232B66FCEBCFA5A15EA6971C92C0EB377C44A8B2C92BE3634705F7FD01F8E2B10F61A7ADAAB93009B0B612CFCAC9315EBFAF321C27B9FB2DA0120A08F512A9A9149B4797E400DA17E749BFD1683DF628DE0D062A86B931DD19A639AA7EE332C53A8C771E787F7B7C6D817F53B6E57153C32B25F87A1DF9407D2390F02CF6DA3A508D1721F55E155E6E20BFEC0D2550598D815F71E065426E4AFD677A1FCF41A24CBD82DB6135F45D74D0E8AED94BDA26A0F42D19F52028122DF55106E45F8B364F65E314EF77EF0B7BCDD82425D8E3212E3C7DDB4EA1D378E2300F10AE707466752B15EB4489CEA807E9AA03B886F3D623514A7D16672B6DC025502BBB69A8AC5E374B94A0F153DD86B3B55308AC05AE5869C0AE5E18208BB0AECEC3D5E399936D58FF9FB933BA349AD567F9CCF743C264606B41D8AA1A4C164FFDFC9853FBE6ACF11F213490A471E80C15DEF7D985AA9C340C126473D1D14BCC826C12C200D72E1A00B392767BDE0884005D270A1C62413AEF754804A2F04BA3C9B4A4FC9076951860F9A0DEA80BD6CF5FD6E51983AF344B887AC3F907A40A694DED8840998C3A273FB1267C4C7CBC2FD0A51315F313E32818B45D6C7FBEDB5AA673E7A8069C931AB838DE2045E79852FD832C0546228AEE6BC77D72D8E984575E27EC610E411DE7E02725085AAB0BA967A9300583F27A1893C1432F3E651BE3E49D60690652D6177B39BCD6B8E0A6A6A812048FB2CCFC6CC636A0FEA989CEACA7BFDB5286E9F9B34EE5BBE0CE93D4A4614A354EA91DEA8BA0FE6AF3A4350288B0CAAB1FCC135275AE5A659E4C3A08C9E2481FEBD150596E684009137DE6A0F1752E25240283DFA58451C94F9AB96BC4F3DF5507230E152BB0C7F0F4C0F00D9480509595EB25BDD3F3B299CD0D165EA4C2F2BA5B022BF57A30E8E39CBBDDE047F1C91F87B658215076EF534FDEC75580E210A948BB1C3ED8BE98181DFB6E15FFDE2BB7F3EC5DA5907A71FAB770D29ADA2762D5887B306F7A8586223D8CB89A8E8421609CD80F2175F2DAA61AE3BD7BD135BE39EDDD2B2687381420E2C92A107E28E3E00B507E325F4ACE54137B37A0A750E3629D64596E1C1B5091F1761F3EB7C34AB6C54E108A89DD1EDB833D21EC688EF3C37AB1F762E5AAD7C6B3764B5EC04B3C3F319732C1A3D20582D9EF30C4B3536B7C47197C97C76792145CB847BD2FB84A7CB460842F0956020C320D48 +MD = 15E10508A97946CF7D0842C51E63D34BD993563D9B3C6B81B756F6CD + +Len = 28760 +Msg = 9740CBE9EB65AD1CE913F40BE236B1AD7141F8EA72104B122FE9AC99B6552B1B3A34FD6C1B962F1ECADD53B530866BFDAD8D81F8405C1D54E20D99F30FB041975F70DD971C17424C601F46516C13534967318D3C5D60ECBEC607C42D0825FFB84D7C5C69858512A3C59EAEED3F61124DF79F13D63C382CFF70EBD250FF94E1684EB5AD806714B4132E855CB20C09951E3D1F185DA09B0DFC4C026FEF5D3487E5F607578D34C5A4E9C301C07DFBB72233542C04FEC18ECE500C4CA479A4762E5DA2BFE630F6E4558192D6561B69BE3695688362DC88DEFCF859858396F974E59744BD0224F578F3B1C6F46C7EAA523F672B52906DDA5AD7A410AC6ED5D3AB823EB7235B1CAB4BFAC92DD73F4FB796A299C5F39DE590CF90307C6BD8A7717C3251CD613917358DB837DBAAC615ACBE2885558FC7A0BEA8E15176756CF5C9204C3E3B02764ED608DDFC52A3BCCC2CF4AED6F8AF14953363B08A0885C131CBB5715EEF0A04D18C4E6EFD59E999F74EE69C79E96A9CE7A5D9FE27A6A651FEF54B09768C1AA49FB03B09B6AEB19B38B00065EC6DA01FB471D1792F7E3D5D8C14381CF68C42708A43EF343135929FCCFF2F6642C13ED2008FEBFE9972BC164E375383F50798CB84FF34E1FD07940A218DD174DC869025E5FC459BB0BBA969A2240EBFE0EFC1CD34154EC1AEA73FF7858749735F1B2722C6DDD4A6991D2069FC3D61A8B23977FAAE5C32D95F3F1897B0E86BC8705CFB6984D49C1EE26A90B3C8679EFFAB5ADB871A3E219801C7B15D6DFC62E9DCCC887CD7F25BB73EA2C3FEF764962246390A4AD96610F5E0E7EB59B32E7EC20145308D81F6F638299057B2276ED045AEA7103B44BC85D33CDD0FCD738035E670B285762C65C3EF52452ACE980C41161D8593F46DD2816D435DF7FE90871A9B4CA1C5CBE6362E225E8950889FEBC47545F607A7AE4BA8B86350B554F61D424FB51C8E9886000E4E07DEC324BB5119A5B5099BBB126B0C0CA0CD8FBC304780A9BB44A4ABF58D30DB4245B65CE20B0975C7869B39B966A59FE69290D5AB3FABB12DF5024DAA065A48A07A8C084DD61016178E69FBAF1FD87CDF78E1AABA8A3A03B9FB893AB7B674544E6B1E46F943B149CDFB8598F98AC08EFD8722836BA320AA13B406890449F985FF8A568C6643B24DB35C25DF8F0BAA2A17EF66C2EE0E6F6E2B42E184475921508FA64632A4629B72F7F39513A08C6B55A8F0483F3FE1AE7528E128FA30745F0583C23C27B9D1EBE56AE86ABC1E2448B15C4649E5E26E189090EA986223688F310F707575F7378C7AEB070E0DDFACFF069DEBEC773B8B50DC86A012DB58612EC90D64AEEEA037C3CF40E42F1948EF837937D67C7059732BB32FC618A203AD06D5F8B472D0D692D93707B6B1B85F83161D13BD0930FCDBCFF94495277D9E390AB671371D4540E66AC18F03D625C8D38E75F628B06F478E6CC4A498BDE811B9DD8B636F7C761277A56122E59D0AD8052AE00C8D08436408EA5433D6027F798F48DDF15BA7600363C7EF67236FA6EF377425CD9F634788E9CE34D08A956E24E3137149B08A0EAA2D831B0F3285BFD230859AD02D50FEB10B63EEA8044DBE97693C29C105C2164EF436B88D5D870F88AD5919FDE8149B39AA65E931BF5D461A109A423E81C376F11495C0671F3CF371F89F81D52235D3413992713141C3F28F14A926407A239D6AD9CFE565CC29F8A836E5643F5EAD4CBD6BC936EFFDC687B758384D070273C8C2D2DBB81123B524147979A8E0C0D99B09812EFAC739465D1A858EF233CDD13769BB8996856CCF509D50CB33E4480A6AD951E451CC637933BF8DBD5168C06A76DD08D42E6FB0BA1044FC33475A2342A53765BD4099546C9EF96DE5B78C59CA6123223E6F72680A0B9DD9A12B24CAFEE32F0B6E145515222CBF2ABBD7330B9A91303B688DCC35DB233C71046716821EE409083C790BCAA893D04C09A8F6A9C35C072E5033108406009564B4135C00FE4037D2D51AB1D721AE6B74E867074199B73B93A6D89DDB8EE74681213BB677014D1CD75821EADDDD7C1C78B6B75ACF574CBB288D2B778D84F8599A421C5B8B9A3B120F8B8F98B5CFB81F4F8BBC416E3E1E9462EEA5840B96EA874A6C8267F5D16451B93B72DD5951DE2C4D6D3F94BA87A62A19DA58E30CCF7FB782745C233CDCE1B0AE1B1F1476983D123440A765D5DB0C3E38C47BBFEC5CE37B94969377394A25A90471AA9DDC98D559DC982A7630B6009A7748E9E5F6FE9397FE4AFBA1EBE530B8C46F4F18CCA271856EFBFE5791FB9297114D952F0E37949E3DD5A38FD3805EFF33DBEC3BAEB22A8EE93B42F85C845CF3C2C00C706E11EC7975F6366C6A38C2417EDFDEFAF03AED01A987E464830D7891B0AB7F67F08096E81F937DF9AB605C3ABFD1F2673FA302882806718C0B8750C59D0B5F27BD16579E5E5AA1B5A98257627F97AE38BBD79A0C21E48EF7BAE4360C003E8F86B89B042B65F436CEDF39CA030DFCE9FF772CD99274BDD0E6252D8EAE877330A21BBF6F266F27D119700EA597A39ACC8C212B43DA9A775A6E165C60F6EFB75701B7AECA101F70AE541A44EBA7500DF14EFC38F2E8E12238CB7479FD4148322F1055680BBCA8E535CB5ECA77A55612E563F6CE2A57B1FB9B663AD0B55EF27B2EE32E6F779C6F9E74323256D3D0A2E247943DDD75836F4B07B1480A00CF4F62092E5FF60DBE75418B6BDBDBA59DA397F23B5470BB337487C863ADA5CD8483E6C54D201883A3367DA2B2F49C66B7FC675AC47DDF7D26CB3B40DD864CEA1A178BB1277B28F198937C12BDD8C14573C429FB139BCE19EC9B446552808D25F8610DBF949D33A06550383DF5F3CBF799B0FA41DC5935DAB118A7178381ED3EF9BDBD632472CBC48F21DEB7B5B26C6D6A4C6D8BBCA609EE39C501787F6EF2A9B45FFF5C6C57355DDB17B7A271C7B56F1B7B4CCAE8DF84C01514CF9F8138150C77AC95EA22B5C7DA74DF60EFB0605F310D42EE071438C514A418B62247DC2C55A23D0E731EF9E514D1DDA73F57B2B6FC4B4FCE62F1F0D0B545AB8FC08AD4449B966219E1D533F26A4C4F628C2948530C0518B96FA8B97925629DAD65FA6551BFE9102CF1B9B7C43C41F8BF4DE993FD53C4E582548ACC64F67B2E9FFA34B8B9E2F64C87436CA6D1D0F22A2CA236FBA10D9192400B11D77307B51487D986DDF418076833CCA1639A2C9B80C309A3A4EC9ED9108A69EC136B73982441674239A6A380850A7E18584E9556B7A6295578E4ADB010D5EC2A3C5BFDD3062A9BC5A2A8AC6EAA45F63BE5002A5B53A037CD2E996D3E0B256AFF17783528AB93EB48B2806ED0D4CA4A037022C585EE7789F8F253803D897EA6F0C40F07F04574AABCEC469CD98B7CF1B352857AE32DCDB2EDF8CC2E3594679B0969095CC4507DC3E9059CDE8AA2BF16FF730696FE75CB63555693C9E003B47E2902A05132745D5D48C0A36F101778C66EB9CA3287397E278BA4A3D1E80E5D7E1FA041344E2FF0D4795476B5D2098E39DDC7738F5B9A871E4D963483EB7286681A3DFAC38D5866BB95F2D6BC430FF11E395279DB711657023E2F4E542D9F39421910CA02ED7BC767B47A33D09696982FC6A0848F12F0A84BFBA1A0B42A0B55C3E3D98B05978B53BAA813130D18ADD76DB7EE8483A2D6B3410B08C7623C6B463E04D4D53BAB51F0A5A3F26B9E0BECF98C1067A21677C07822F5F730FCF5239D69D6D34B1D83EAE3409C4A9CB26B754F248271DFC775CF455372C61C6099F2D8172274EA4FA40D87759C2EF2F5F4B9086CA4A7DC6A5A2001A3B85076A6436AEDC3088E26AF74C98F185057E0781BBF8D52C0E4EB3C4A0D3E22CCA0A8E2D15FE75D87AAEA723A991D813A67D93E26B31289B46E21416A00EE86B785E0F470C2A3D0BEB18305915AE21D0E7D3C27C2D37A05C8FB808921D4E759A4D3139624BF2AC8D5CA8AEC0BA07D5A03E13BA45AC71AFCEAE9F2B55D0FE70AF8334245E716FBD6411800D6043F30D6699A81E1A902F8FB1DD23FC0D9443F05ABFFA7FD25B6F0D83701578C54E051055A5D2785941BEE2CED39E8FCAB9923B7C305FD23CDACD5C6F71E645517D0BF34DA56F7CC06175ED920CD1A6EB713200A212538690F481CBC4433B37BF7337C61EDF6D27FFAE8556941AAA5F43A5EB6110AE73E28E190AE0EC6E6A436312FA72D0AFFDD9EBAE433F60507F624BB7A5FC48C3AE853A8C146A332785666367A8B7F9FB5863AE75B09FC3194D890A3F724D6161B0C8D24E0F0F26BDAE711AE13BA8BCCA55F9AC3BBD9EE43CB3A451A13F9D53FBC4D503F91EC773022158FC66662A7B75A617FD1B9D030727F2D2505231C59D9223464AD713152FDD353AD500D605C38317FB5C6A9E052B95261BA6405389AEEA70855C0CB2870E97089D7F6A6231EAADC116AADFE3581D91B30B7EE22E1D8D91D812E641B7786C04C0BB4AB5A58F93DBC48493A51755B5CCDDDA373CDE4D71E2007F5BCC903215983BA847909739C8D80955C350208C61049F40272496D550E01397E8D817B91FEC0D15D61A28DBA51618FF3E8619AD9DE3CC3A9E35FC1777BB6189A1A50EF42CFF1EEB716C827F793D80AE55065671A29AF4BC1360C36F73D3281C690F7CF2E0F94245F9CE8A96CE53A99CB2302940D09BE86CF07CC7A37073382D2F560D733739FA9D99ED4D16FA5A81066F5AF01E17E757CFFBF9EF6CA9ECACC8128B0361B3ABDCE840C504C31497BA5E15933F18A1BBA1214CF2F019752CB5AE61F9000C85CAABA2252754936BA350A60C02B33EB418DA3572AF143CBB2E99D6BFD8856A88DBFD5329B11813E410A56B0D570EE39E262F902A82F890136E1AFEEDAC591904764CD5EF0676B7EF2A4317A484B994506E9A7FFD93550762975BAC0173C90992A9E938E6DEAC563D7F360AB7DA003248A1CBF3FD430672E21F87FAF0A1A91B305BA1F6AB46BF37BCBF70210B40AA22BEAEF8C878315C24E503B5AFAD8B9D2384F822AE8C3A7941F58F36C484B8298C39C409C32CDF2551CF8A90DF08DF6C4313799B0B781A4AA05D7631B73969C5404D00CB053B786B5EA67DBFA9C +MD = 4C052D375B07B3BE2BCBF54B29C0BD26C3BFD516AC264F4DE5E67BB9 + +Len = 29264 +Msg = E691E8FEB744957B275E5FD879A3ABE54D6D6C8C7F589F0B1A17C08C299C559E5F07C9EAA12B3DBF0E06342E6344229E9931217E77F34B53014577AB76FBEE38EC3F491E7E0A129500BEECAE77745F98370CF6D4D0E39C4273AEF366B9BB28640CCD6B11B4A7EA7F4BE9C5C9EE529D0A1BFD1450B5FB9190C1D8BBCF1B80336C212992D428C200B5CD34CA3CDD75E175997AC6181E3D4972886FC9D41038B077CD1E786AB3AC82C3C8AD6DD5D01EFFA39629540A3D6002C9AB63A183A8A85B3BDFCF4D817F6505C7747ABEB763DC78246B6F56A3E12E1001520F5D35C8E3F251702A66DE663C9CB9C53E0584207BEF86ECD046979044DEE55E2639F40A4D0520968BE443C46D71F9B6C75A82D8F7CF05A0D4A1A897E6B57C93922A5F82E4E7578612B3C68B7994D8EF2F85B35BD0DDDD149CCDD8C9084F6F8FF61900FE8CBEAE6525DFB8209026F6380AE677263B1D7CED5F8B2B0B313466966995A7AF768A3383215AD8327707C8CB2656DC1E91902806B613BACB93D04B1CAAEE759B97D7D13CD0770A20A3F229068B28FF36C7048208A4693D4896A9F12162F3DCF18E97DDB84946FABD8FD5039F6EF6DD09540DF8D5A6B7926CACBA509F985FDF23A1F4EEE5145D13D7D0E3E4BFDD1809A3918CAC7734609F6C3F38BEBEEA3FFC3E4B4A8ACAA1387440C92D1CED43511654E95B33B56F988DD43EDE143AFFFE3B6E04F4B38B593251E0FDDAD3D26BFC1B40C5FE0573F010671AC3E3E6210E8799F256B153E1D95093BD452D70968CE651C7717BC935BF2FB77C21029B6550F535C3BDF804E7C2B1A5728AE231C005E31913BE6AEA15BD90491F70CDD222A548C3F38C7B2CB454B3B550699F6EEA351A5BD69B97C2C823ACB21F48A52533587B3B2B51EFF4F453EA66A1EC559F11C387E7B5A111C7D885BFBB557959959AEAFDAC8693B22DEA0CD30454B2C4B1A07AA64E3DF3E4A36FA4666B70E0744F245DC0161AE2CFC5CD0F7A35E67651549E86407CF8D2EF259BF65EE75F2032E3A0D3CC6EA8EAF5FB16563671AE9F1185FDA552639083558DDE883ADF86CB31BBB8764BCC096DF60207E37CF5AA87E0D3565D5510FF0AC9359AF6540C513BD3AC35F1829C5B342E66EC78BE0356735E0ECD97D20F854094D124CD918A3BFD045545B1A7E17FE3E10EED4D11F8AA1B0E33285C7837DB7033AC0D712730C0BCE1C38514FD02985F99B88A20057C9781FF0444C290A7E0645E17D0BEB2CD3A458184F6B4B5E100CB0D69279A9A185736E7EEC42D8740E63D5B261CAE061B54183E4C21994CFE6CD5C5441D6C3D2300509A40CC2EFE67E63D0E1966C781BDF546E9E917FD283CFF735B0017550B5CFB8B5AB22ADAFCEE1E3EC19E0616DEC2E5E7B45C2E547E48425BE27123AAF91B4468B4B1389A095B3BCDC2CFA403B94231411ED835694190E54539F9126688F6232EA13002253E937E508C00165A3EF523621F06FEA1440B81E8499C20BD2D817422B48F8E83131E0AF707126CCAD03A23237A4AD20353EBCA6AF49F7E8599B32B708F9C3BAFEA0A7BE24C227FB0866703677ED85774F1069665CD8EF88C96CAB5EC3F5CEB4CEA915361DEC906A67539ABE4127954FD53B2D734D58F84E4C2E6E90CC1958C20B7080E6E067032186F2B38B80EDD45FDF1C7F10E2CDC0F0CCB734E7CB286A97594B6D90228911379FF4C6174B9AA1C8B291CE061A97C82ADD414F551A1EEB9FC89DBE645CF82DEC048D6BDE94835D6D476F6E5E08E47616ED5766CB369A94D51F2A5F03E5FEE943058C09DAD21E08B822D7F51BE5296DFC398B141817F5671DF7B032B5C4BEE779B7B5ECFD228FAD0A6F102ED8D7A620FB0C6E8E84A020948EECB10FA27EEDF71FF5E11D0E1A2DA41BE4029472CF6F26DD3F6ED6E4A5A7FD441200DC690307673FF9BBE81D71649680E3F62D62433CE3496269507AA4AF5B1E002CB01CAD3AE5080B152D5EA0C910376BD06E4C63F72AF731721E8AE38E91756D816A46830A11CCF5ADE1218A0301711D4889A90CF0527B8C29911CDABC832528D93B9EA9D80ADE81B5A1B8B261995CCC4823B09E3B4236CA9BFCF0F430390554E4C3B3A0EF0FBAF130778EE84420CB24490C5863CE5F3D84A46FA4DAD06A99EC00A17656B4C8497C5DDD4518AD30F929A1FC4F21DF78F87F99FC1F9D7528E63152A1668000776DA4658D3181D259903443FB9AA32D5E07D3F2464BBF241CB2FB60CD4C6A93DE4A6A93C6CC48DF885A8A8175E1A3805ADC539C1C98E1091A6B5DFA38EACAAC4EBD5FBA707DA54125A3DA9BC1FD1BE01E9BE53426E7415796EC7C5673BDA853B9A9A42FB762A63943D57F6554764A33301220AF0FF6648F8709CEF5244ADD70544586B033754F90CE00DD9B3884E27C25FD032261D57320CD8DC3435A22710569B22F95EAE3B98EF5BA723C04C49D53A8740603FDA4551A52716AA8BCAED8E505DF7ABF6D85383B9AC93F212B7110CC9AA680221AA148757B30185E2117BE1E31D6A91CB0D4CBAA397706BD1A9541A21D38A42B9C86EF146880D00ECFCB293AB9E04D3B4BC12BE7D35DA30D8EF2BAAF8684C07144A3322D355B993F1967BB6BFFAAE163631C4B7A865AC7C1BE3BE4B995B6C34F96A5E04BC54BB05B6CADCB6B82849EE9FC0B4A71972BBC36A00832B52B46ECD27117C60ABB0075E438BD58611EF61B4E5FB16D58E2C3481AD2CD10002A7929D6764A11699CD1EAFDA718A1524C6BF18D9FB141FC9CBE224351C6B693316AA81FEE436A30798B817C7B01787FB85103E730E62341AC2E803EA54506EE36E13C8DE2802A84E9F5562E8B14EF55496811E2C1732CAAEB39B030D752176F40B95CD5D5504B055E1A96E8CD190D956814344823F3BD57B5286067CB29A10ED94288EE8BC1658201571C15D79171A3FEEA48DF6D1753F9957DF79D7671E1697F17BE08CC02133C96F725A2F67D6EAE26DC67FF83324C4ADB4E11B732513C7C46F8142ECE31568C26176326FA4DF0376B015620C5ADF3C5EAD45E547EDE93E63F72187DE806681D6F69CFE7E03CFA4CC9B39F6F1B6A3A3AF90F5050A8A836B597DA1A0544C2FE8F1EA7FFB27784D8BB8D8030072947BEB283AF708FEBCC00E1B3708B64A2019D01673A2B57D125CB244E0378FA8FD9C36E58E5380BF1B8E2986B203F090780C8D2EFABE0C8204A6A86BC228179B165A6B5243C1A024A9A4FC2B60CE150BA1120BE333B8C753A6193D3DD24FB4100B29F9F5E0CD41D7A15D5FD4C6FCB11EB903C57A10D264E0FAE632526D0CEBB43236CFA2605F8028A4D504A0650358F5F5BC09FDD7BD31919C2AD1CADE90CDFC5D911691EB16D95C6FA0441F0294592A7565203C651C3057D9857CD1709662081D8C0B9D60625F66D51CCF94603EAA32D1183D1286B2483D251D4B4B16DE1647E4BAFB560E60F7C7F1B2897B450162D3FD2B491B38E1F42EAD2BA92AC5A0BB517CBA1080ECFCE7261045152570C98F43494960772DD8F2601C19D22CCB586A6C7268AF934597A55C79B30FCD44F9859CCCF4F04A8D9341A20F9C240BFA3236A115DED021936BFA3EC90194DD617FB2D73EE30CC39E7D8DB94EDAC85DD2479B3B1DFAAAD2AC1C77DB585586DA142D52B0BB48540F4648281ED4C2FDD2D00DDF7A38096BC6C6842038C5A6BFB94EDD676A690ABE8A82D36C530ADE04DD73F91218888D678C80BCBC530C886F09D61ADD7474BE8153BD95A25F18F8B0C7084DDEB3B32A295DDCA56068FA5A488C1A6949F2480334A54561D81BAD1E63B92485A05786CDAECD5F5731FA72A69B69E4706180D01299AD26A7A07359F9B5ADDCAFCC56C73F0B3E3A53EA8EF35757B39B46AAC121372F50AAB7EE71DA1DB329E00D5977C244255D43BA5232701D792534F441E2FC6C522ACFF45EE18577CF948D780488F5AC4C593D14D9438AB10F04D34B6CD118624C931E85623B4A7F08F844086882EDF0AD22FB1594511AB21C79F476E48BDD43212851921E55CF6C83FF3E8FB38D17182EEA9203A8D01FDBE8DC76FA8B88F290A25E0C46EAC28ECEA44CF436B34AF668298A4B2911FAB6FF585F175E8266F9E8709177305A81101CFC52B3517CBEF6EC44B1A27D32361463864E4D15739D85BADEBAF7C2F58FAFA8EA6A6D37379A30CA64E44139C68512D2713AA700C6FF2535B8EDB795F6E3C46829EDD1CD342FDB0DDDF2302A1CA593B4AA3956573D10BF2A920B05777ABE2E72A313C26A4EA385237E0F0B3FC6039C4AE5DBB055A4945CE74CC90627A5832C82D7667CBCFF0D3CB6425D2E1BA479D928576BD46056E8AF0C3B0AECA0A944858C97C0E64822FD3E91C2B763F888EF4A659BBBAE149FC4BDAC76AB6A507FF2D5C604719B08CFF84C871356F344294FDADFBD560BBA0D1EEFB6442FC88FF1CA10112031D3046D6E83D02CF9E8F31C5918ED87987DD1BA2AB8731126EE506B03F85D6F9FFAE34479C6A7D2D0FACAB8DCDBAFA9B2F02E21C666D78FA034893F2D1026608984D68F9333395E0BF195BCAF7F15CB122419E1F2BF3B3E1E831A61E27336E25EB6480403C90980BC597E87B52CF5D0FF7770355ED502810D265F3265241B75FE2CF37FE0D5ACC2FD3758A0414C4798BBA778E2452DBE86BF9E2C7A3A5563019F60DDD5344F29CCEBDB9DEFBB60C6C0F503432D76EEB47FE36D637A673596DBCA4E55A880FB28F4CB8193C7A40844309B55E4C010FAED3FAE05D85648A339B47D5AE3CD142759F6D009029719F9AF5F81C88ECA88EDD4372C7A827ECE87060F2576EA82389A5F3F3EE51F503709B46A6D3B7F2A97FEDC9BAE4F156A0ABDD77444DD5981A9882E5534CA71E315FEAECA7D5D06A9F74B6F089C3607A17EAC3A200557666817DB7EFD524BF37C58FFBFB0FEAE9D00F78D6EB7240C87DF54D1774F87BE2DCB26C9F0AC70B85C482C672051EA0020C24265CD97F265EA3E2DB3C93FE14DB832D20F5BCA7F0E57A3B7E438AFBDF349215A8D83B6DD80BF2997403DE350BCFA832E2F393B434EE515B46E4125039E0AB05B7914DDAEDB87C2C0A5BC32B2DE4568FDFF238C9C39408C604EAD6F4C5A24A7C36D96CBD897CC38BF600D51CE093B71C63A1C8C36F45730D18EBD951A6AB74B014D915EB2A951458CBEECB4512240342A83C58379B5C98664202F783453B8C8CAB89302883195 +MD = 8581AAD309E238D2DCD283B965497B8674CC8F1B99096F82D78001F0 + +Len = 29768 +Msg = 63D016D64A04183EA6ABFD3D353790E22B04CA89D7CDE3F2C60E8D36C7143AFAE96DE671C2CD915A7D8F41C9F80BF3C47AA37487CB9C938CD5AF8AEEB4A3C6294D2E12CAF1F2C7AB70DD144074FE083CF82D37CB38042862DA9FDE75C0121FB7C04F7A9F7114F89A7EE34869C1BB3F78BB58FC646C8B16CA2288A25A050E34B8F6315AF684ACF3629AB24EE6DED73571C1837FE909EFD3DE34985158579F049250B1874021354FB1715047D9158A31E906738FB32D3BA01F559B19EEF248781E23DC47FE2A3B12F1FC70D0AE922F6078F8BD1A9CE13E3C18DF4C5121C132F0DDEDC5961429ADF7B32D62058B4E7B7AABE5C5D050A8EA33D3B5B6E90D22044E58BAABCEB223539A339DE9917D7F5B3D72B910C1C8036C240CB1A58B7BCA0D77AD820ED1FB2F0ECF85A5D0C0F07976EA27871EC7D1FE9EA51AB1F20052307B3F09950C6D1E3822440E7ABCC34DBA278379115CA0690112EFE4B95699E6E135CA8DEBB173CF7A3AD551DC41E52E237C084C318DE290BE7AEFEBF12ADEB0243AE576392C767F087180A125BB30D8D56BFAF703A85C9359182894F50DAA694255D01ACB1D436B270A7B0D88772659E74910277C2E2E9AB0E9D3C72203E59770904789C12A38D0465090AC6285CA8B577505A25CC87CABA99B43166B521BC2BB6857B0FE26D99FBDBAA34849B2075B672D1FB6229254BD7108B199971E8593E1C8E83C2A631798DB5E84098A67F2164F16780481110CE6A9EB4C1BBC12E681E5D248B1E8E2FAAA081B3762F64DAD22C9E1C2AB45EA3ABAF547CE405AD56794F89E2086807279828782D4BA5E820D5D77D020B06536A2584D78D392B4ECE456606A6B7AA9C80B8D5AB0758A36E77F97DAA24C080FA4249F127B16CDF5BBF0F69B4DD425D2C422C0117E9085356235F49D7BD2773FED4E17712935BC4468A9ADAA30E9CCB9B160223064A2EE4E17E885EB3EAB5B72CF7B3715E518AA1BCFDF6CC3EB734FC75E6AD793A439B1221F895F67E6A924DC5863973B5304A07EA1118E7C72D46029048AA73A8BAEA1D8C9073F2ED3C0867F5AFF73AEB4BF477E58A8B6A5A57BEEB382117D3D406F3F1CF99C3C4D28D69A0BC05FC37735FC26AB83F11B6B31966831072EB960096E2C8B790679E816A5868828110047C474BA31F095B3EDA571B6CD8CC9FD3B6B96B8312482A69E3CAEE423AEB6027645AF2AAEF27414327E45AFB1C926E3094B36A5B3EBBA3ACF29E3687B6688321E4E244E50EA725AA0303ACD522505866AD9A6E4E7D5CDBDDAF2F7E327436AC51FC243BDEDBBFB7C27ADAB5DFB41446AC204833270ACB716929AB07CA60DA847A14A2B248B56AC082B3BD8C643878DE662F6BF764E45DC25FDED62495029211A5788D0495F86C4CD468110323334CCEA98558D5F9E2370D46D36286B5494042F978BCDA3BC8B89BC7BB7CC2E5C9050BD1315C74CE3E53A4C5ADC25121D15C7E55D4E290018209B3A077C73B1908DADBF21A42D2541FCE96792EEBEF091F6067294BC541671918374E5345017BC39FD64A4CC56303389CD5BCA803E897414F783252D937A61AE422956F8E6B0EF733DE26CE29D7D54A86CF51AA009E4ED1C5C859A3E23C7CD9F0DBBF0409D465548AA5316DA3FA5C161F4FA13020F92736D9337D2C172F19EA9C4532BA6CCE8E00F133B213B0816D85D83E3A390D0FD0F7CDB993C355614540B27039F45E5184DCE4C01F1CE6ADFFCFD35F3CFF682B5148BFDD3902624046218E5E84399E1F9F8F3DB5ACBB2E5F61CE51223FFAA867D80BF09A7FAB7E221A5B690E74D01C468269EE71DF69FA2F05625129C9CEBA4125208A9DD08FD68D618C687A43EA5AC1E6FB20507DCE29699511C2FD7B565307EDC53D77CD6EDEA24A01420659CA9712D8A76A8B10A0CD74CD144B063B1C314A0E965839E290C7F177E51B41CB92BFBCABFC6265901CD422BA182A218AE329D3A50EFA15626D66DF2F05AD2A9C0C6B9F1E445E9B0B52D37D6F3F518650E1792071B6E7FD9E1EC4B9049332B6253603683B4326120D9A978E8EBA2AC3B84C56C2B322D61BC693E3E1D151ED48B9BD2B255C3C9C600BBDDAF728E7E740B40BD564798F7BE87D74EC0647BA3FA094B6255DB4496C0C6FF7BC080F469E6B4884D998A4000090B93AA18B87222E41AE8E1B96349B2EF2A4CA1D34C5973B3830C894E0DA076819ECE774EA24635C2812736148D69420BD3112CD38F45100302AD4CE41E932C447AB25B79A1F5BDF86B11BB52098102359798E891D3939630223F973B904D7402C61E341F642F9C8123E472B7143875564F87209E94AF8200810092BE1FE1680B49889995C7E53C60AF9D4AAE258CAD2AAAAD1B2C0885D5BDC6A05C23AEC33A58C0855428C3F72CF19D53DF5BCAB8702B1169D0D3F920F11A1D5284CF6F9B215668D8AAD8BBEACA19CD28A2EED4788D753405EAAC40AC97790ED76F24651D0A30CE100B83943AD138D88C9E96648C3061384CB0FF87A331C326DC9027E13ECB70319947B345979C001CC44823A5927198265DD2018C18BD8D164B936229D69DEC5DFD656C74648532E505CA8CEBF8780D8C4E107945403DA3D3F2722E1BEC6A6C4732717486999B57169BFD627C255CBB1D67AC5B5CF0316EDCE1C1318EA35A53B28C6FB61728F0C47E06793694572A0AA1B5B1561810BC99E9654E2FE1725EF20F8D1F9C0CB74B025EC7627A18FCB2C4241793727F122183E5613F20EB3C7AE3710FF7B8DA1BFD52720CC204A1D796BD40996A74E77BB234D3ECC3D6627C6981A45EB18F03AB5B70E9E33059FAAA61841E8A3B2494328C965BC46D5B3AFF06C269F0C7E066E3E70A5D4279216511A78F2F68FE7B7D95C8B8188A4CA1DD0EB1642FF4DC25A5CA0B407D4E87284925473153B4E4AB1E97BD14C74BB52D07DB409CC11E1FC07DC7972126CBD819ADC8360222B4893E2DD6DC6305D4CB0002928F45C7F776631675C6747672FFB35A8616C24CBB0C079C1D201FBD02F934138E1ADFA82D506C883060B4630AB838AE8BB1360811AE8CA3AF047E247C026300025BE214A392EB05382CD5EE866553B7B3A819D9DA3B03B41258AF3008CB7DF06A325546677B954DD8031F2B2391F7B8E9B0DA937A7A47E43AF34BDA0BE6D4528BAE57BFF89B1B743912AAFD7A169A1629C285BB00633101EFB6E2C717305F57FA9967D174275CC603EB122941E0047B75E7A92C381D18549E222C4E3087DE670898D789215ABEF33CE70B2C2EB72ED51654D1FE3FFF93F813DDD86682A64AB795D19459AED7E0BAF9B9C01CE522E718755A23264D6748B5E7475E1D0FDE8D9828ACD57476FAE119195FABA768A1AC66BD3B0AF3AF80E14BA86BE075C7850324553114CEA9890089DC9703210C824ABFE3F656595ECDF0A9E9E59C2EF58BE826A5F135F3942C63A6D3EB40B39C8E234E8E2371AE94BF17E378D4E9DE4FBEA579052D8E0DC1BDB0DCE319D4DAB6C7F53A1FB75903FD2C281F033D985806E476794F40DB738BF774454DF114466E47BF57D93432DCFC3BFC09A59CEEE9877117287BB48BBCD5069EE3A2153A9C8CCEF2D2783884C399E59071F698E1E85DBEAAC203271852A056D287EF3084368AE32733D7ADC8CA4C1E732FE4A0EE41B53D2ED50CCC0D79E127A5CE58BC480E432D8C855648BD44EB87FF98D58E3EFC5EAAD36BF84572350672F7FCF07C47C23AC9465931BAA94431DE7EF44AA957EBCA2690063F3EC9A966B04C69B341C90524826D27869CC230327B883FE529EEA24BC11334F08CF836705C3CC22A460D142FF21A292B97634805B873A90D32BDC354D574A0AFDBB6B0BC472D27FD9116D6D911746BB104DD9C65A6A277E4E60A6A5D77B191C904A4BABCED9CD77F7A7B5C4B7B8C473A051B5EFF46D71C4A0CE81B87D449F583E6BBFEAE999D6EFBDFD6B4A7FF709DE3ECE939CB5B127DCB4DEC94ECB1CEBFFDD3D22237BE5800C371AFB56456882AB3DDE814EAFCD13A398C1739177312F8F7DDEF2386E08426355C0AD2AC2111EAFC57A16EA2385D38DDB85E32827BEF105366617BF8585A25EDDD66037B8F1B67C3911CE1052B2255B44F157E3E73F845B3F179EF540CECC30E41731B02A9BB3CE6F390D273EF3011C9227D274337670D2CE90629639E62A5171CF26D30DAED75EF9A02663627C142F9B84C9FB5CECBE070B4854E6E406BFC937C8A6B44E7EF5F56CBBE6D57FD5D5C1504D77A2A14D844AA14EA52AD888600FD7DDA4F819716963369E839B847E95CA7D89FBFBF11778903A884EDE8FCD1E00D80F9BB241E8E6CDDDF07A2DFCBB5CA7028A339999704D12903518FD33898AD0384D67D22CC63522AE64D57FE19CD0B778B56FB531C00B9F915C586A0DCA070EAAC22E84FF4DC718915AEB37A305BE02D0AF2F4108413FFD5DF74EA1BB50A6F7B172EAE0531384F6B11693D9AD6588C4FFA1C131AF8BCC39FB49D03C850EB45C360F9941D27C4CEEBF4D54DC75F40E3920613C372978DB8F9F5005A634E22CE15CD95F3EB73CB35854FB5FA9EAF0D8674934D2E44ACE74F473B1BF1DAEA7CBB91FF0B7524B51FCB51D76A21382D1E68DC6CCAA32432266A60EC5A15F154F390F17F2A32F22EC37F9546B066E5314428F1065EE24FA74E7C104B880991124D5F9C2C431C20497CB404F04662F583D9E545C08E10717D4A0331EDFA018933C72200667BEEF4A3042E34CB81777C20171F1334EC1863F5A77EBC55AA06E4EDD837C2FE057F8DA87DFFBF6107386573346A17BDC3FBD873AE7CBD3E78579CE308BB6CBE6DEEC7A24C5C7DE64C2C857787A22BB7A9E698E9A6BCE854D3BE63EACBE4E10F1B1705CBDADBA7DA8C2037A0438A6FA54E032547474EE8A28386B4F0F638396EF7125E77CDB760465A0E196F1E44CF776ECFFFFF94DA9D45A6C2A7747034FF6110F8C818A0B4DD7468D5237B6DC5C59B2403FB0BF2CDE553E0E7203AD2E08AC447BD36CC4259D404058D499F7D51BBF7D8A18FC598A9F322154DB7A406FC67C65B60AD2F9E4AEF5A20CA1A988292235D9E37F2CC6CAA46063124E4EDEF6F6DB0294637E0F5C24443FD9E8F14D04D44E6A0F89D390334102990991DADE07607F40FECCF010AFBD732DA1D70305E61A5C36AB8613BB27524CB64B8766F47E1C5D42F1778FA02ED13C275B12906FA1D6FFCC114310CDE819D3B428481AF4739E962E3A2D90D864D4319DC67F4BDDAC76448B67FB439793B68B79C1DEAA6DEF04A44AD66F2596CBB3A9B5460DDF05235D5 +MD = E01A40EFA78DE5BB500513CC1AD77326C950D991C0706AC66758EFA1 + +Len = 30272 +Msg = 86A9E1CE8C1F20458683CAD72CBA1A63789E61F8CBD6A54343064D72495A8C686A073A819DAB8582A29ED75B327F02E001F64BF54D4C7A42DF210B5FD2E225607289DDB67D002492EC0B2773E86097E631709AD777E9A12B14E6FB0B27D7A6B072A0CF1071365D04E7648470B6BE00D588D9378C8E1AF2F31768C56DAAC4282BB3911969B381371CA46B62F3EB1F50DF99535C00FF523D781B2519E1BCFE4309AE568B1AB92293FBCEDCAE52B1BD6C605BD35EF6330A61ADFD5CEBE62B78DF1C95168E41260B520B76C40CB767CE844837CC486E66A6D6892632B87AFD270A965352EEE8A8D234C566BF78B5390D940948F3DCE2E973D68656977939A787916922CCD949BD41A0640BD44A33CD772040407BAA11D95A6F2EF18E9F2974F1039C63C14FFF476D976CE57CAE6F2ACA0218AED385B6D91262977D23E5A0AC9FFFBDA87C54C895902465BAC9C5C6BB3E10A276C3AA7EF902B2FFEBFFB014A77F65383A277B10D1EA736B6D8B845408251046A1C5548F718E948E290BC94C86A05E030D7C0183CD2BD3F3166C8DF648FCC3764AB9C27E77F06BA72DE87C79CF7F8D6E83A8D5CE6287D2B17B9E7D90B25B9E757BECA72368F9909D8935179524C136B0EA3240D4108265558944D8E77701CA4F187BCB48708F4C015CBDB81DDB09CC6AFA46F4734F7853B1409413ADA5D5584494034F5B4517FA7DE3DFC07531CB6FD213A6874C212805DF0C8DAE74969E54CD9AC4AE778ABA8CA52619E379EA17FD109572F2DD38C031CDF58DE8F00E1E5FA2F1CF2EA39442116FD90DFF3DBC92CB52AFAE95EB17535D48415998F1235FD966499FADDC4135B269F6DB55E392C0D0B50E2A94D53B13F220567729698F4A6465EFCE138A5DB3AECA6EA2DA5A4311706BB8E3AC2FEF19CEE75877151898BECCF75B0555347E52C571B8C0001ACC08C3BFE64FD455628DC7B8BFE30873760306C548ACEA0B7E8C6124065A16B04AC50998BFA57FA1F595DF8272A0CF7D4CB401977F048D9530E5A1E5CADBCDB0A3D524B6CEB7D16B5D62725AA083B55BA595B46D68310EDF2DA3D6E0D50D87414E6421C6C31F51FA56BF9B46ED5216549E2A2E0900EB2194FD413A40E5BDE52A85063AA11E51739F7325E109E16882B9B8E0E2DF04727FB3EA6C66E415F2FAEB65CB02DB101D97B47932FCDE8F121051363FFC17DEBAAF557DE6314E8BAEEDA9D79CF7CB612BA87C7A2910A72BA20EDF2F6927CDD6D6792B1C7973A604B7EE9673EACFA9C014FBD088F3706CD762727169BBAED092D80C75B47CFFF0C6AFFD8B7883D8A8E1FE97FF1FF6E6F39CB47D876BBACE345E205900ECA0F6A193C1150748C2C5EE97EA8820B846AC7AF90634AA62CB6E9BA39C5D94434E9DA3A566CA2A089927AA9AC9A5E13F2CAB624F2A7277CA415FB3CF19CADCAFE6FC586E0439BFB120589C29012C873D5ED751E37727F867D0FD4E2DFE3B3CD53995A0F4269A3DB407F5ACE9FCE499983135FE2EBC48CD7E708680444AFBBE55838C92D23BEF0713A9FA381789E760FC64ABA84548461F62DCF93300BF8E1F0DE9B1E2FB54F3722E0748802704532A156367984604B64EB400559E907C1A2FF27D3D91C523AFB0ABCCC7575DE30C1AABCC4D0AE4259F0ACAC4B2EDA798970E4EE99C39C09E85AC281EFE136B835ECA8FD709D93C138E2C32E3D74444AF0CF0146FA8E90C25869EDB12ED7FB87CF170B65F203431F6C74C982FCFDD6A079E1487F1A8F2F1B2902564031A1ECEFA435B6E6A6F61BB1A8B6AC55D6E7C8709291F1DBF627EA1565F1B834C3765CE94A3A0E012DBE7D70146ADA1C74B08F21C38F05C05149EB0E7A6CFE7C16A1909CC3B5796768036813142CEA62CC49634E07CA2FB27476019D3F5D32670AD88919579B91F79126415896BFE30E16B82289D8BC775B5D1CABF9EC28C4CEC19E6EBC91E40976ED3C79B02DBB257458B84CD256CFC559E5BE5B9EE9AE24270E10448D497923A71FE428F13FD1D9FBB49F58EC62C5BDDFBD34276872BB3E7D55FDD1668F8856CD04B4F616B7B21E2B4ECA9F727903D935A8075FFA7F388DF6A89F5EEDA1DE46E26275EF5E5CBB60A0A745A38586FCB5BBD48312E6A665558CDF315969C2778F270CA2A2320AB4B99080A008C56E05D7BAA9E82FA53B0463D74CE409BECAADFBE45A3665945BAC2188D9607DEF5546BB895E5EA89EA1E0F77EC533929A7DB48410EABBDB346A309BE64DFD207DD20702341F1819FAAF938923E44B041F1127679549E3BBCCC5F8F6EC7131952522166B5352420CB210C09C20357CCAAB709628A92F57C92A21C1C9A7A7F4F83CE87C6033305814ACC8101013760AC25DD61148AD63F8B96F1D629EE5F42A09EC413593FA03B60E3BA22423413320C674A8ECB1AFEE2D6A7B0355EB8915709C1D4A0B42741E2958988ECDC18ABE89AC555543BB9AEBC35243397F9A3F7A53BAFFEE6BADC82D8A5D58F20856219F28D5695EE59BCF14DDFD5B703D93F371CB608FE010DC96688060B59C185B043DD8440558BF6975FA7B7933350FD69D70F9C9C1B89675F4B08CCB7CCF67CA457AB338F744AD9D5958E8EF51F3203F8D70E05C208A310AD2ED9898B1601EC3BF5693B020ABD7FE2B5019901B11D7407F13182311CB4E7E2368542106E03B5B3B864A42649485915B2584C62FEAE05C047B1EAD2303245C3450D7E872BF3D3A65D9E6AC6DD623D53F879000A3556D46760D0548A552B83ADC917EC8617E953F4D84064E3A48A795291240ECE56DBEDAD22D05C78752ACDD3B5854FE59C217EFA6F538D15EE1A78B5C4791B06057E593B3BB754AAADC08D71F7913A2202D53C8BD1D83B2142DE9B70ABFC0436312C1C59193F63E2D209F1D5F1F81FB4E8FB134F656887A71F68C07323FC534CF6ACCE144C4F7C7C41818B18E76E15C1C0258E5BC63887DCEA5F99738BE85CB1F4C9FDF1FAEBC534AE8A285C80F13B2E208C5FE4AFBAF5F6C38ECCCBC8B1E9AFDADA591247BA07F16BA9E4E36F940E569834F1F80CBCA9CE8E3EDD4CAF4D32D37EF45264864B36A29E1729B2AB9AED0C450B45F9D600E773DA9D6C5F780055306EAA6D19E7AAAFA8F41428247360FE13BDD873BBC749DCB509B02A76E79E2F2E528E4F381B7BB3AE24B26FA32A21D7723ECB9853C1B606A54F14B881BAB00C2231C770448656151F7ED9E4795600122C2FC459C872CF53E80E4241220882054708CA33B2F3B4F21FA384884C810512AB5EEA4B6612D3E4DEF6040D9E5F3603E6EAC73C73CB79CD540435ADA4A5D9B82DF4545B69EE0F4840D2954E023B48DA0444564FA3FF4259B7D8A20FCB66241C6F06412669CEFB3C8B9E9E0A83E9CA0AC744EC7A26D896CD43E994588278A56DD5827E2539B55F8DD9F121725527B07623D4876ADEDECBFE0B4BD41510BD30E3AAB253098844C60A0B598E69DB2E1CDDD77A964DB8433756B5F954453A2AE8620FABE6737B615DC4006D03327DF04E65C8E80946D9FE5AE5FF38A58232EEEBE85797A0D332B55B21770B10015379A9A5294404F4D356EEEEA47C129E40B6014C19F84CC1B96E3445935AED67AB3A1AA53DBA570AA0F29BA19B2AE1A6C48E345F39A1E1A28B2BF637723EB708D989EB25DECDEA9ECAE0B2B2D93FDDCC68377EA3FCD2A9386B0CEC6893BC3A57867B2E48201A6C019ADEFD0F05553B0554B938D744872D061FAC649A68D834CA52A4752AB4B36471C5D4C65754868C031FC35D8050E50E803960F8175FF0BACC08644B51D316DCFD9982D076A6A2CBADF7006167FABC7753084B7F75C138B059F145A668C59957637BB8F7ABEFB8922D509FEFBCDD357F15EDF1F62BB16B94B6A1E7B4E353256DBE17B2A466E6C4AD72D25A177AC333BE505DB8BAFD9244B5068BA7D4DD283EE08459BD47B2276F3C25DAC5D7001EBD0E8892BEF4F0F17272DBC70D15B626E3643E1664CB7BCB5CB6521C0CC8E2E08357FFC3A329C72DFF9B4F0009A3011931A1630020AD83DF6A803DC11DEDA448260206475FD7B2D0C4AE8057EE9358AC8EFEFEADD2835DE0EE6D8F5A2593B7EA0BD5F8A7FB0D003E5C175E4080EF77FCEFE8C34FD09AC0C5621E034BA475DE9DDE49D2D80DDE836E6A75E9B257E46373AC2CD1C81F8898CFE8B2DAB05D35C404477C13303438EADCD2502ECAB5689C3B0B01CC6128D27784BB283ED8888B204160361DAE14AEC97CBCD81A9C1CDFB372A543FBE7C0314613FA7A1149221A169F58F26C0F0086141292B10B9124D91123D95074E53EA029801E6B187E5D28D83EC90AD51C80D9B350813CC019C7E5A2BE39BFCEA02BF08B865E6B31C302F4090166AE3A624F19A219DD7E6ECBB29578BC96A919E04B650D794FD17C81EE27AE97455939727FFECF7BF36789BA34B04E8892FD2236D6402C80884EEFC9388DE1621C746D663582305B6A7B3E1D8854AFD6339785769D4ABE411B9F990A42A5EF9B43C8F5C459D50559F61690D7816D43CA9B15BFC4C5DD5A2F520527729BB187C14CB494885142BCCE3D9D1737EE57518A1CBB8E9194DD9D27276E875EDEAEC931B1227BDA3BEC2F7C3F0F5690C5DE5E9DB8ACED68B0963D35535E6F8962FF45264B0112B88C9BFC9212027DE6468E86F1AC632D4C8B264AD1EEFCF2F5971ACFEAE6B8925617034814CB3C9610E3B34284AD38FADD07DEF491DDFD660F4A54880C6B71D9DAFF18B5AE53A7274AA6F62C9ABCE4538E5CC76E9FD8B271778FB8587F154BFB0ED98E20A4A5E58D21C7201E70D268A744FB9DAA1A3DBEE501C6552EE5EB7E98FB426DECB5DB8771F0D1E8692AB8FCA7B62A5B14093DB30AC68518CF728FA8757677B67B95A732D8317D47A615EB6772817E89AA523940B9B08AA503E74A5D755E8C267480B57F398BAC10FC8717688D23A737822F7A031A3E02993896C57324B0C049E0D0A3B6EC32BF78DC16D5436B10A3988112AC87AEA164C0612DACD8FAC6ADE09EAA14B443524DADC696570F8BB9219FDA4AF04DDABCC83BEC86A4E30788242337C17D721DB5FA208883D2F00AF1D1599CD58D80DFEACE67F180EA8953F92C16BDA7E620312CF4599B4807A705C50354D8DCDC2D4B518CD66225BC9C90BD3383163B24EFF6DE768EABD77E6EBFA2C2EDAEBCE46E58ED8B858B55ED87FB14E3489BA11861ED0434D1C3C4D2090D28BF72ECD252DF9DC34BDC41DD409049811FAB93254B2395271244772DBDB594E2DA076906D0E0F85A025B2FF3C6EC1088C5C37F85B92F6EE7DB41F7C867E35B1AAE99A4E6B60F734E01E5980B608022EF2439D582685E5E1232B25C71BCED4A91E3ACEED3E6A1488D8B582D10B7971E9871E5AC2E6936EF2D55353D +MD = 9BDBEB56BBF060FD04E854C7480A646ACA77C8EE8A60AE07A2CE6D7C + +Len = 30776 +Msg = 1633256AB03B20CE079196B708A1C02D1B6072219070712C8589EE21341D50752ACB6CFDA17E982D828BBD6CDF54BC7232FD418A323D64939928597B9B52F07CF488250C5E42BFD3AB48012D709F8D747225839296386FCE5FC5AECC4BA7A1076D089DEA8ECEFAA0CF66FCA8602395719C12A04F929321784D7AB8239FCE2FF3BDAE046A266132B5C2AD9F7261F3014E87B389A6695978693D9371D0B1FF9C405F338C2FDE4687359603950A54CF4B9CDD9B24480B239ACC5405C14C886BBB0378391CEF0662A38882BDD09E3866AB9A66CFBD28EB5EE4F8009BDEFC4AEB16700EBA7DC557B489190A71FDA75E85F7EF841697F70FFD4FEA185E7A67C81C5B8F273BFB97B2CEF695C1C74446C4B425BE6B2E66DC0AAACB247E4467B7C7D84EC33B6B5AB8FA1979F503008BDCFF948CDBF1226B1B066CBCF34797298F3BA8C60FA01E0AC8B803223C656112FB91435D75453BAE4707B63330467DD13E0A4B992E6F7E46995899A2D95D23F4AC3D0802B2A6E7D024DEA19CA408C4BBE053F14C9CE264F129724A18BCB18F385B1CA091A11434EA96D98C8D0602E98EDC8DFA14141AF93ED0BA66E885E9FA108591AE59E109AE34D6B9F5586E4B4D75E7DF7C32958A65E88A9BAF41082A0A3F11539DC4EA2CBD9E1C6C3C439B622F1DE574FA75470C8C939B51D2D1C2A7204B859881D43086BFD8FB90346218D099C5AB36846F3B98A7C847318BDFA01E09717943FCD864C5A8A17B6CEB89D98E872D388F20ADC2BE5E2006846904F41682FB1283214F3D20DBC9FC9E0FF571844A1282E88590D7C085B2C568EC5ACC4462B389FEAA5757F7033187E2DE31955FCE55FEDC909255048B327CCAB2E582BBC9D8054BF5CB45145C7D3A3AF9CD5CF6ECBA490C634ECF00E646BF95E8642C43A4978EF08A574EF1F78F6CE57C3B34B5A123D123617FC8EC9B2AC0F9B70A7F6062D38DD7B8E9FB4ECCEF13DED5C0477483ADDAE4F1CC0CFCA274B1307ED0DE72FBCB819154CDA897D7575213042615F1741A8CB646A39F8D134FDF9E60E000EB8220F65CC30F5FA52C431B9E3B6101B96E25B8D0440B96E572A18A01747C02AFCD7513542F7AACE194632099D16274F31EBABB60DDD94FE43DACCE900EC0902EB5E686D48ED8D09AE63DA0E15C736809903A0297A92DE84E0260F11F446E1FC448E0EBF59FAEA3C726F97925C57CBDF85B1F77078D36257C85D56CBBEDCE180FE12B687ADA2DC9912FAC60334166BD2CEF06B089ED5C9563844D71D8FEAD2F3A93F3C07C52537336A8A70BF5B596B9007B9FDF2D082000F20E6B70D2A7E6C7ED27C4146895A6D85A246F623C1B9258A2F891F823ADE4CEFFD59D4FFAD077351E2F506E9A5BDD3900F0204B9E8969AFE72F5DCCB9CDF986D197AE4C4DB53014041AE6221B750E5290E307AD292C8DE6B899235212EF8CE954785537DC9435AF11E0F3427A9C7B22EFA752EA0B7EADE5F6EB4093BACB78676E506698139E4F774423B8942166F9A7D22480D814FC0AE19CF4960FBF6E01FFA65C8DA5BED4F1AE2B9ECEC5BE7B3C38DD4045B0C93EE6CC77A7E61E85D331B23C0D164B104518B3405497054445A353E9B48F2AC5E8E96298D6655614336CFFE6D8C9C915E387391519AD2632366AA3BC935030FD12927EFCA17505ED74C94650C778539004854DF6C24269AAB9C273A493D3E5B0B1D687C33C2FACE46B4BB3742D6DF743D09164D2E0EE7F6BA128BD5FBA2E3B33C199AE80FA9DEE3AD811D02BAA3D42A6362B2AD47BBA8A2C5CD00B46CF22CFE367281488A4852EB8B7FACE79F0CA6F8E78D32578DFEE01711C4DCF3C26D0BA13F3075478E708C5C5315AFDC2E4C0062D16458213BEC506A9E991A61825FF78DA9BA1BAABBEFA56B4A8C9E2E7B60EC4B7B541C8E0F79C86BB5F03F736761A37169B2AAB8884EC6EA217B02C59035F5BB327243D126B78D4AAB430212439B5A75B80618DAFEB66AA3AFF866C4DAEE47D374B512E74ADA933EF24A841BA271C6F02C870E8AB950FE06E93C91DF0E99165DC01BCB190E411ECCD85358FD4A88127A22E4CF4266A90845124BF97B25D7B1C46D3A0D68A684F84E2A638C692A52CB6E8C651A3AC492B0460004073D5349E35552359CA37660F77B2770D6B2B3F7B1922424AC4A8598B4C61A6DB507608A72A6A7D573CC055206276E14005A28A0EC41F28D7E260611D40F089FFE5E529375691412F4E9E12E62C3BE2C563C26D2444EA9C69E6C935FEB4DC4E802E5FE3906F8ACEF4798D940C3CD574BB5E74506C3E0B70CB62454A25F589EADB6B0709FE3B50417CD1D98F08E08B7CF68A04CCCF8D6588F9FC2F31E533CDA6159BAA4297FA446450D71C16EA2324EC09773E7C8817ECF680ED12F64A04863EFE3D9D8760F34DE5B0860B3991FF0EE5EDBA22C4D69120DE19D5429E4AAE91C9E7CF05CC807159A58F13B480872AC1609D87E7009DEDB71C09CEAAB640A2B6135855CEAE4AC2954933A0255B425D9FDCD9C246F82AEB7C3BB78C6E73E03DB7AEC4245A28693FBD36EF4938D59CCE19EAFC00671A0851612406A075713C5D1154D8E13B59B7C5B0902239D4BACFA386AC817AC5EE02A181A9A47C622B3ECF287E14843D452AF347110498A620B34AB4E116308D976062C9EE9CD35DB6CB79805B93AC9A15AFBCB52F1ED4309879D1924A4BA190B0B86E60A516E77D34B4E0A49D4EF2CEF3CC2F410FD8EC901363FC9EBD75EB460D4D8910BDF27CE26A8B4AEB94F9F76242401DC35D0644842B99FB6C439B82D82ECFE1AF0D01F9BECB15BEC83F13B260F7F714AA381032923FDE8F8018F3518547451435C9A5207294D08A907C73696F6CB000745E072E25B73B3EE11595433D27A1F11468686F08094F1D31F5ADA81F11F0677A29D72EBB2E1C4792CCC607CB938647E1F153F9EEF03D982595C631E49B6B7C1FA003A6EB8D59CB8892CD0888B05240F12701753F89007C859515A2FEF944BC60B36003A26702AC6FE04D2E942978FC31A97EB29871D6752399D3521720729007B6A7215A4282B2A4EFC2C56BD129E74C9B00847692B96FCC71CF7A7F19F3FD6B45C519FD73B4860880A2DD74E5727B31A93F0A87F0078155344AE9F7BDBF00D83393B634B5DCA88A398E42C320EB95C4A826ACEA90B65E4767B2EBA748F97C247568393E2FD3A66075CC12935B6D7EB5C2FF5282185CB62C73972A37B3CA508004B4F796BDF82B83B5BDF90D6BFD32B5089B0CA2683DC7FB2337DE42E650ED911DBEE1EF98257F9BA5AF54B1A54B04C0087A5A64BA779D86461BA15337C2E7D4955FDD777A025DE226306A17C384F1C52CDB5946FB0B46DD5C13BD7A55FE2E27E4C6D40D61D6FFC024468F8EDFC7C7992DF5DC5D05063FE723199224F53678E48F25250EA28BDF1089718EB8B730D1C06735C2F871164E2EB5E885A8DFD2A083BE97EDC94159CE9BF75D2433F1D782762F771903CBF9A1C9D13F710BA0E151B079DC0A8262BCEB1DBCBBC0F35DF6EECF7BAA7105B9808745853C96B4372E95E482035916B726DAC7BE95A72B19DAD48DB1B19E6EB2EDAB5AC1B3013839E7806625ABC129F41813E6D71EE4AB2040D81E42E6ED73ABBA64FF2EB433B910EA7D4F5ED3D8D27D39BB454EC019DF6114F544D7B155549D0C56D14551FAF353994A80F30F3C97E863A4F2AF316468A568038EB4D799350A6FACAFF90ECD44E0F44EFB6DC42EE4B0DC2C59EA9C1827326DF08C0A6E55CF4F9C3EA0E78CFF3635F5D08E44F1400D20F638D56BA84B4832090454DE57EF04B6C8805A36F63E5CCC6E830C87FFC164647CED20E4C486D09DE7A5F9E4B68D5456CDB22B0DDED2B95B3BCAE529215C2D25D6823C7D66A4FAE0A1E9F022BA5663204F2314DFA51A1F10E11D6D62A8BA6C28B6AE7DA1DEB5B57F2B65D7456059AD9F03DC5A524054DA39DD100D74EB657DE219795E3C45A0E4C762BA22F9DA9D8159E425A1EE783B4B22C250D8894CBEC706CE16D5CA393404FF478F141BE7CC69E45B077BA1955F1F49EFBE4847C795347F703300F672334F490ABF8B644A34B56DA00EC45A350314B9ADF27CAF7C51CB7DBA0C5477E7D37662F4F23247BCB8F7DD5F3E9CB8BDA40FA97568832AF0ADC68F71422E412254A6BFC8943BB465B01FCC8DE0B957677C78BC1F7566953E9D2446239F602C682A521C14F741FEA98C7E27AABEC339B6F5B94C78287A894AFDAE971F8DA7C7E4A4C92C8DA47BE82DC2532EC2DA9BACEDD2BE6DB2B2FB34DCCDCB34116507376578CBCA105E5E443BEC0F2EF23BE34CDF862EDAB34F0FF21335E3ACD92F59688B419F824EA61EEA82BC80E3463452192377131BA51FB0795E089FC077D0ECA8012E58B0637AD7022206887FE9EC00EE5DF7AD2E26FE819EE35C7A179C579098AA3DF645D9064CD557DA90BDD21F871CEB048CA56DF9653A10ED60F5E9F0ED7F8D89BCF5C22D1143CF44718FF2DFD8E10CEF8AABB67D2305F18177C1426BD4CD03F2625E459CE905067826A214E08E56D8F9455593E6B324E72DEDCC429D3BEFE2AE0599E360DF95E80D453A3A849E48389FA745635BEDE30E7932DE6A3816E31A2217F98D5E40238963D0A36C159FD4EC32D8A5CF59D433DEF3378634AF6887FDB3F3EDB96FC8840FE1B538C329674AE810E8C8B2B46DB208716D38E9D1AEAB097068AD83ADD7DD2647839B3A7388B0615BDE26F8692E9C07D8ADECC2A875203C3D3A9C6CB1D7D06307E9E1D9C3BC536DD8EB271E9A2159C904E61E8C9357FE759F36366AEF5A3D14CEE82913CD2708AA6069369CED763C8E830D70924E82E9015C2998E86EFC1DCE6AC2EBCB49455542A6D7DAB265AD6D7381FFEEE1AA40F8FAC0659B6FB56BB03CD8CAFAACD48D13672F7D524EB9684CFED4DBB7476E99149C28EC08F33BA6AFF839AA178F86B8EEAF1739C829177BA78547AD394136AA3FAD451A11E9642506568B39668B2436610E06EA45FA11D04D3759B033B5382645F15B3C39270B81B80487643913A24F2F1C1A1ED57C85CCDDC8CD6D59B62FA67CC80572968C8FD01894F0153634C88792A7C4A407A4A4CE46CEC5FE5D2569F95A27DE242444EA0C715B357518CAEA23E767E8545983F0D3A4DF66111B4AA1D399CCAFD796D7A80E592D5A51D2B3F60B5B04F8D9C009CA56CBD4DD84127A29B72ADB7645FB7279C9818B2B43963BD605F45B6575A5E2E369E0B401F5EC10EC703F1179B0AB9D4A89D6F096573952E513827364A84D38922734137E969D8167D6959B70F42F2BDA37E4C989ABAA8024C1A84ED6BEB74780927F78B32EA736B9B2B4A795C355C0319811729D9CC399D23519730338D62E16E5035FC52A817090703FE776D65EF9FEF5BA5F4FFEC3CC8E9EB2E312C50A479BDD4E6AB0A56C18C2DF69ED408417BEE28BB41DD13F8366FF6EDA4B34090FC9BC045271 +MD = 82698AD78DFC9E39665C9DFD54C7BC44DB0EBBA2E741E80D5292669B + +Len = 31280 +Msg = D1FA123C468D0052C58C93BF306C7C1DC90968ECCAC6B0C2F4E3ECC3F908F2BE6A54AB69AEC5C496D291D0263243BF1827773DBFFC02A9D5FBF7AFF63DA5355D5869F492B0CAE82B229A36331DFA642557C6F6627FFB0995E593DF8E0FBD3ABE66126B7E5DA1F1891BD28873FD9C96C0076215B60548075D16CDA92A2B99EAE5776F6D1E7AE2D8CA30546BD33271D50A6FD34B23809534AE6E4A875D6981492F23752A68D1E870D174A021FF8C550E01993E3DC3358274E4DA2B45C000C43FAC307D82EE2B5D42A6D9849C11A8A5676605B7B3C45220BFA5BFC7118E2487DA143DF0797870303C185C9233AF63F447CE53D8199B986ABA367735FD745F84F8D94BA0C1A08DB280D860BF656EE871AD1094FCB41C7BFBF0FBE0959A31B3ED573498AD35026694ABFB90684B35BE284B18D4B663CB2EA5DE1A88E2947BE8012858C57AD8601CFD1744573F79906849B4A5552AA87D5E64C21A054A7FD31B7EFE2A5E401553463FDDB881355FD94C9EF7F6F9E3DA4CD845EE16DB2D1A7D4E31C9E8B42C0EE5D30296A606B00AAD9EA09509208188D4A15B328EF7564C2E36FE79C06E466AF598EB64280F0019A3AC81B18FA254B0B79D7B80ECDC9ADA3DD3D13F1899CD3EEB6CEBDACC7F69E6ED02B2550EB3C76E1774E189661BF791AB8842A92D86AF9489771D1D6FE8302BE395D6750EBBFB1ED7237C2C97AB655C7A6C7157A5EA5C51036ACD9F1C031277A90450BDBAB5D4A9B36DA52A6EF7865BD0B5571F228D5D61D15A01C36C3A7D2F133F04D0A17255271A1FA0BC7CD60A85BFF17EFE1D49A24D7E87807F67A01358B7CED01A112D8B71A6DD70518BF6AA8B65A5D510E6F5084F5ECAEF108F6E6564032AD9259E8406076B9348CE337005FA4B205F47736A79693C7E963635EA634CA67B9749A098B299879973CA9CB355B1080DE5A9054C7F39C158AAE4E25BF72C0547FDA9F66A234AC3E2DF8DD22752AE66D26FDB32515B9E9239D1B583A314AE231DBDCE9013DA4F98213CD6AB9F42582F62D639E20CD183560F341007C600B2E01233098FC61A50C27D949822C6F99FDA51AD788BAE101CC379B48AC8CFAC3B5DF81C9F7B4E1E0353F7F10AB340157FC7A8F92FFC43D31F24B498B381C7B20BF0A31B74C45627B9E9858D8479AF5977782A5FA88D258EBCE97E6D0FA0971DBFCAB6AFBB3011F9CC24D8C4E3DB57698E299F6793741810E2A94295D0D91F3F769F184DA2FFFCA771A148728A2F95237B77864DEA20D80E09E7A0A36637062800065ACF15572355BEA8DFE27509F4A757079BEA6D6DF3429353AAEB7777A143E3ED1A20DE487162F6666BA5D27EB9D350D6A5C724BF19A1D058ACDEF126F6008EBCD192516FB0D4797DD5FD3216A9CDCD2EE24A2C40BB2CBFF75CC59DB2E3CDD8DF4E0B36A670952B07871A0299EEDA9377E8296AD3788C78728DE71D31241F20C2B2046928CA2751BEBD10BC0C455F49F30D7AD979B0D86B66A55429853AAB62575F9219483603924B4D39935489E8B2AD6E105B8D11E74785FEA9D1A9377D189BA290CD414F57ED67137523A355F90C9FF5FF2CB760D4A31FAA2F1C478F9547FE4C4B0B1CBBD71B690FB3EEAEF87A53EAA1EB6526B7488963FB64D17B37BB387105E39969DBABCD79EC28DFFB5A61A1101B34C14202BD0EC1CF800E21D695ABABA494431DDAA20D88ED7501AD360F9B6ED41B4CCDD0FB5778CF53D7C18C36C4BA783E68B9B0D26C7BBCB3B2A015BB1E2FB51FA9C323C08A7251E48F140A4E519B1C389E0FE4A87B9D65B8D91A2081405F05D01F71024A56BA89550A418BFAC2863928BC870413CEDE1411F0D7C3E77C760B76E0D94F7D9ADEDABE9E4A632B6A1FB5CCBF8EB2CFE772FC31DC0D1BA63ADEF21CAEBF846418C6ADF2E474EDB4A0207271C326F14D20C0B95E1AF7D86331F0D4F792D7545874F550892B3E081FCFAC6074E172F8826E04F289201420F064FF3C53AC7B9A15A291E878B590B3F47F53E6CCBBA897653D6FF4C6CBFAC90CB8666C86DFCA4D554D8B87AD1ED5BD39411EA35A417A51F9119B630904BE6575AA257BE54716A788922972CFDC5A5BCB4B6054532AAB913E7D8B0F5A450180A3E7DEEF61BB0815120D7869086291C3F3DFB71014BC66E3D5C8854B52E800C8F64765C4089E482012550E2377104F93AE57F047A35C0DB243BDC7E1846BA0D0EB42AAF97742984D2637C2F2BEFA40213900C3AF5A758F85FD4342F9FC0B3821FF97B5302332DB2DDEB688C8572691AAC5AFD777C5AC88200993D3EF100A5F95B51AA92881ACAA5FAF68E6134221391C04A88C7C07CB39D07D5A245AEE0D63395018C0C8E1D45BB640220C2F993831DCE2597133C87014D12F5CED521AA45273F7434DA8ACCA2FE35A26FEEDCF701AF1328E4C2358BF74513CDFBB6A0864EA9670C281C5E7C51E26F3DE15649985DE90ABBCFC2D85C26886F0A0C33C8FD74E33122C42012F1C5ECDD01FF96FD75C6B067C60F2501088E2C8C2530A0191C17A113B38240345414569B3B80F8DB755DC3362C52DD1D36C06D02442C3AFD24058343F9CFC6931CCA0442D3CA2CCC84C6267C42CC85F4D6BB78F34DF54D4E20205D7C379D924C649AC7EA8FC127B7EE288064B2B69FA95C93F0E0DF1E863C590E2069A0998A3C2B99C95B690B5F7014F401BEFAA835CFB414CCA8A5B7CD027E52AE3ACD21B618B6C9D1E240E5DA3A5F9D2EF4F9AAE6B3224070FC41C130251D93E8E4A9452A3A2ACE2E919B6CBE248A3EAB6479FFE4ACC55EAF54DADA9A84130CD6BBB0BE41637558A170982EAE9A88853FCBFA6CB076841A8E36E8824D21AD2E3AD1D7F829A5B13296B15D0053BDD521D7D15E76B356D62F02EE20EB78D04838AF7E4B084B0D2575EDE7DE2130C5472D8EB1839C19FDE06D7E77BACFAE1058A0A19EEC6485485D401A70A8920290AEE1D0F36C67324A6D87D3B9628FF69479AEA4740AB9F2563895D418F9A5F04C67CB4529115146629CADF3C1949B3AFF50E8976003688A376C5E889AA0B764027335FD8174F648C3E072CF4618FF2C2189521056C03BC2E530FB89B391CC5627964A6555E8CCF102D628CF1B3EF1C32499013CC37D81A0E8E3E033FACF41C1295F3F8ABE317D1CF1D2B1C5FB891E197CCA3422522A4B68C6481D4C74556E05E06D0E45BE294E910632B747F3FB34FE5D3AC012690D9E3B7A4338FD58818E622AE7F71DD90A34081496215D8F224252C50CB1BBFAA08810FB6B4D0DA50D007AD6D5309E5C0E27FD91B8B343746B6CBED1083F91523A7B51B9046737F7114F507BD7668835CE2EAE7398617E3F298F5B8B38966A9BDB3BEB342EEFBE61368DD8302747C682B83C3AD4E184A5F8DA2CCC4F7EE99A33156274D97134126B0B89627D811BF07F7683E840C51F15B711D1DB0C3C41BE989E0F156A5B948DBFFC19B4047A7D93C9D9A22DCDF0C14897B5CF29D03CD426C62E6014EE396C11483EEE85A2D3212387B5C48DF8252B21DB40AEC9F8A2A1AD8A55BAF263812094E9C81D5C18FE1FB56593E51888C8A0272EA2F8189782F462783BC996541B86EEE4F7BE53D535B4E85DD786BD982C5D494EA017CBF354617D219A495E6448B00992DF83C94FABB3567E75220705BC449C2367C118C76EF7482C9AB77A1E0AFCD3DAE4DBF0B211AD79EF141217DB599F4F74557B9333629A11AB482EC3D7050D95AE052F3E1F814F630E9809B87046D1CC408076B5CDDDB90A389F8EB3FDF64FC7DD71E6C0D5D6C2C2C507622A387C5A3AE60A6D723DFCCCD1B6A08B40CAE54D6FA519B5897497E0B972BFA1966CE2A3DB3FEFC41AB3393171BA46BAC2FA93AE3613CE88273AB92921F4CF8A5840CCE3F3B3C41622EDA57E33B436FF8108268E358CFE0AA72FD0D2AD5576712195F6336293BB3067ED389D69B8618DFEAA8CB1D12B43B370B17D29EC2035EE9348D69F0E64DFFD8096168F6CF020661E72BF64FA0D03E0602750A7DA0DAF4A4ED909BCF170E76EAB0889FF15D84E9F8233B3C57B34084BFBE7732500A4034BFF241AE4B89F9BCB2BE60715C14D3B2F5F8E3C9B9C7F7EB11E6B0EBE70C9B63571ABDD5A10A86C8F9C2EB64F7075EA1F0BC02573BF83C3AF68CA831E16F5F40E558AE0557DE3B046D5418A10B9E230CCD22D4CADD50CC912DF9A42AF82EC97C91AACF027240F95B19FAE3DDD36EAEB11FA79C6C17BC6A43796151700F587B64CF3A2ED521B22E36C8259DAD86DE55F46EB665AC0CE9C59D91D5310369F88754CCB1484F4999B9DBE31A9085C5D8AC64B624904A63DF3D1DAB994E0A845365CC6DAAF47633F32A929AC74B9E8A76F4091DA80E49F3AAEBBA70544D1705B60E408055F07E3CC71F0D2CEA3B4B16D5995A6A9F476466765BEDB2BD44F97D45858D1403C6348884AC7163AEB21364534D8C19B0796CCB507D9441F6266725FDB340AC1159D7C63ED0C5AB42DAA9918C0A3DAB2FA70F84D499ACDBAC62F74201302D6E2B854E37B1C790196E878ADC03C001F006D2196C285FE5001FE395795D843B2AEE6F7D6C22ACC3A42307F5F3FFA861E996F169318248C3C41BF9D1A51BDBCF5A33A79815063E07CDF5A0C4676EC96AB576D27E117B3DFF7A2F1DD219A1F1B1637A64F38B122D60B9501BBE3639CB76D8E746165EBBEBB90692461B61086EAE6F6F5AA5E0053D84B6FCA8147D976DE801B11B306C1A506110C6A8B0FF62236889718B18B5507CC2ED073F1AC48AD1DB1AA771295634272F338323AE5DC1FB19B937D891EFE2E960B17D343E38F2F208D4B8CE21F25FE87B5F12038EC57E29C7407914473E96C3654162E5DFAB9939A011BAACCE48010898F1157740780946B67E5A44D49240B1A694F679CD689E720B0381ADC691C8B24DE8EA99A4C739FD5A82C06CE12C9DF334E91C63B48CB833CD0E57D2435FBE1A6083278AAF574E2C0B706A27625FB4934E139163006FF91319773E996E08E91E0BBF55779971D458241CC27B4ADB43F3C52533F4A61365956F496332AF91A4B50C21365C5DA82FEAFC6ED819545C23E3153020B86471563AF40143A9213658EAB2321F5667A85DE88D6AD77D3ACC205D130DB4D88901E92F6CC8386A60CDBE8C604D2C577939B44F6B6E8DB738033084F84990932A21F8FF91A09A28BA1173B2DDB32422C999EB42AFEA02172A1451BD9070E281885024BBBE7008E340881BB2CD61EB36B6DD4AA3883A79B8399ACB8656D0DFD7520063FF1FF95A62376C1C99ADF2DCDF0E62E06FDD1C23E8B4B25DAAC31791EC772DC96EC1E8CCC4FB5455357DD6C32682B27FC929E5F28CAF9FD9EBFED73A13B0D74D9D47480DBC7D9550078B25492C9E2D3E3F5A86F58F0AD35744EDF214E3F810075E77BE797DE0862D4B3E771406F6007F7C29426C16FB3CC5483498646FDDE644C5542B28371019EFEFE50F29B2479CC68E7C40D681D8E496356D71BE30798897AE496416D7A3AB9751CFEBB143E00C036C542F79F69F051887E42984954EA5844DADF56B9BBD19E8D20CB9A4EA +MD = 1A74280B217A3DA32ACE42D8AE85DCF94C331998C2B116FF56868D90 + +Len = 31784 +Msg = 03978FA9DBF1EF4BEACB8F58D4C82E29177093520CDD8F3AF019FD34EE23B58966BD793D8783AE53B4D00238B833EB41D72A616903A1C4D9720B066745CE4CB320967F9BEED566903E1DB3C3124B64072CE048D2FC4C1238F909E152F46178AD0D597299323F58436BA3E15627BDF962343F862C766379260994B71B4A5A8F54B90B0C5A6B6B6B5C3C54BB7E4112EB7C86C4A66B73C3A010A57232FDC79AF02BEAFDCB9799EFD434A9883CDB7342BC29BFB176D2C667F6556AB415F54821CAC1D756A1C3300D8E663B2418A6443ED47965B05E2F2DDF339DAEF0378315AA0C55AFD9C416BADFE090E516A1326119A97BB8421A67AAD2051CAACE47122A86DC092383EB35BAE836676A238DF813E6013AF9420371E7CA95C9DA9E77202A74B0240BD97412B7B7BD1314F2EAE0F1BE897D7DDAE8CB96CD77887589F66A9068734F9C0FF7778AB45C1A59EC7DE35E6AB5FD6FA0FE055474CDF0CD1F27CCA435A66291DF8C1DB231E1AD3B38ECD9271259C770C69ED3622A869089CB917692F5FE05BEDA10D6765B15FDF9AB0A1F5D209CB5766842A06F6D8A298AD01B735FA4FD6300E46B0F54C9BF47089274DCB5DCD0D14CAD04ECE24A97196AE51176D4E1024487C075C8853C9FAF36291B9AB7B8853E366C9079544C528E103AD509C2A486050153F606273B7252691E83BE3EF689D37E7048396C175C7E83A5A2D45BB48FD867B01695636E3813914A7715ADA04CAD838DD98D9448935C004C8A905CAB06B4D6B3162354531E8AA74BC58F657070ED5F10E8559A5B52C3EE34441A0003D849AFE0E6D6399D79A6B6B06358119BB8F658685EEAE9A392A6E8D558F342EAF86B1C833218E0DE3D4E69AD825C1DBB966E9E13812B6416D9CCF03650F1FA85982EB37CB926E472634234F94BE6B227E03AB27A60B89C760F8A9B8C9AE8DAB4317627644AA2B1CA9966C446DD597DA367A63A30B1E3D44D1079598F235574202CA6F64EAD0DB6E0D1402097866B147430BEB0C6EC3EBDD02B42610410CECC3CEDA09C9CCCFAD4BA95C32F266B8486843FF7C854BB8D0E44E177CA294DEA15F6A865266343CA1144A7D30BBF48B0B4B4FB48EE2BFA531E2379F97E5D785F7FDC24270E981F8DE2DD045B36D6B2CE12AB7909C6CF2856550D600CA99422905C36179C61876E5C763324522527A2BAE8B6ACF35422583C881BE74D943DFACC1C25DF0B16DE5EF8FD434FC3396FDF0DCF272ABA5516A8221C29F01D7DC0CE3858F1C556DBAA8E5016FCF8A4E2BE7B7DEB5D388D617397D67BB798C75D7FD699A7CCF1E40192D636C1AB19CFD6297466B7067D2C434DC1FCA9215113A2C8CAACEF0E294282347C650E41E376CCFC3D883EBE1A6096FCD274FE72D408AAEF73CDDFE8573586A676A942A80DDFD2ABD860B1D6E6E77E65646676940750C091C0AA3710E3E3EC5104CCE4BF7C65CB32CB168E0AF7F63852BF6E40D67619C0A5769ACC963BEDA482A060B9D6E1F51B7F244B4E0032E1A6093A89B4BA1AB9FC076F25D1E55F6493F3DACB5B9A6E61BFD62967ED304518393D3D3DC5075469952368257851FC78C85A2039AB204FFCFEC5F140B4AC999021E53C49C0B5B7B9F95907CB6BBEEF40088AC80F4A2CAAAB8105CA5A04123AB4D83A1FA1E7738AD2590E0838556322020BFD5D603529435FBDBB951B76AAE8A9D63E68BA0779F197D9E50FA31D112A5CE4AFDE8F1FEC94412DF44D78C9885FF678140FD636AD28D9028A6E193B5DB85669D85D13FA7FF5B9294A0423B3DBCE88454BA6C6386149B471E5E20E5C39F5FE85869D0B23521DFF667E5744C2E0C273A9DB06405E95346A94C3A94059C9C7A23BEA476FC1AFBF91C00718B844BA4F3AF815896ECDCB58124D1D0218F292B65D152407975423332A8FA7676ADD341D4BB8F81086C417AA489C4125727F42CF52DF3164EA72886CB8CABB7872E3898CC557EFA6BE5F7431E99CCDCC2E087494DA483751F961ED7B60F5E7F93E10287D686DDEC675071F5DC0BADD6F4FFF07CB27D251FA41582A4F708ED9BD77662096E0F2BE33C4375BB51A051709C4F41026EC22D9759A829D654F166DA6BC158D076E753F6C004F3F2EA5562CB65ABC5D532BD3D782F9CE9C6006A0EBB8F09EEAF4FAE40A777081BCA82110CA6D3FE25B56589BBECB52DA668B22F5FA38E1684F1868CAF018E49DBA28C45DB86FD70921AAFA4E56B589A01AFEBDDAB78436C050A4DBF26AA82B7618AE1B2EAC7FD10D2D3C974531760AC0ED2AB4F1D42D92B0E445F32A6FA697ECBA299FD061A29A848EC636E0B7F00E6310208F9D21D229CCA2505528AD91DD22E4EEF4E723314CAC648C26CC85A9F68008763838025BE8AA598F1E43331C3496095BC0C5E0399EE1CC56AAF88AEF50716B37EB156FCBBE1B10C21BA301158E422D63116D7DB8C6935701FA7B3C2ACE9968A81F9063EACCE5794A255DD50A412D68A4D1DD12189DA612C293AA9A4756ADB25B585452E6F38479D63BFFABE4E87EC43956684693025FF59087423C09E8DF4BC204F89AA9C0769B32A7004DBE9F4521B993CA92945731CAC800EAE738FB17432BEE22A931952D7A9342E049E5C42207EBA15927BF1630E03A02AEF6DFE2F40D5A45F771000213F64CC07DCA61C5B2A68DFB38E42BC08BF3B64C146ED3C291E5B94F09EDE90D6C9C6FFE752AAD17F9777AA86BF1A6B5C4876CEA631E13443C00700F93B4F7972AA7FA21173E7170DE5F3E3B7F6F755BAEEEC9D880155A640BE61267CEB05CEA102C944AA45C6D4023EA258737DD752A44B27E2B5C16906156A774DD40D47D13E221C27EFFB4CCE100B3EB5429FF115B27006E338F5FDF663BDC90694D3253C11A24BCE40503BB04917EA4FE22BA5E8D87837C344C2FB17EAC5487AA7372EC202A6BC81D80DEC352CD090C040F1AD33859C02B7E21381BEA28FF0E971D52D9006424EEDD72A92951DA1FE3C48B45D51BE8430A99C9CA159093DDA75CE2FA8ACD7E06A31A1CD3A60FE33A241B9A649FF553333B9C9CD70380B494A731478698D833B89DEB3AD79C5FA80ED8BB03AD1D42F2C8D2FE4C457A019BE95F267080B32038E55A57E48D58044ACC691DAB6D7E17BC629E78EF7879BE8D398C77C115F4547F32B1CFA181AFF8F3DFC66C6E9A754B64BA932E700127476C590401454496F62742B85C17687140E13222512C369FA0825C07D26E5F01A774FF7A755D4CF17FD7F21DED83A9FEE43ECB42D4498AB1C3A937AAE69219FCC7C20780CC5AE86F969FAA067BCA9C6C3C7C866DA50CD1CEB255D104A314D9506957782FCDF1DBE03945C36D38A43202D7B34441B82E61E72AD401355FAE7557EFEE0BB6A90760EE54CC50E39A844E8F037FC9CAC0B055F71DCEA1AAFBA7F0E770E61EC8370159F8340C6FCB1F37270E4A71CF1110B7DA399FEF7E4604FE7BC41C71F366A451B4CB53CF4569C8C9A8A19897A40BE96A92EE6BC888E8585832DC4FEAB31A40743237BFB0A346EA90ACD848CC648B9F844C606C018816CA0DCC189036A2CFFF0C41891BD4C32606D87D67A6EA61754A150BBA6FFF9A0E57414A0B91CFD087955AAE7BC4FDA95A4499FEDE1B4D844AE057045ADB7C86B72DE4B25FAC0995EFFB5CFAB372AD895796F9873F5B0B954583ED815B4523B3B5A140A2DDB7A5AA2B61AD8D06BB70EFAD3EA237F6606A5DBCB88F46DD75AC8432039090AE2458672DB7800A7514A226516F41CCFD08A1F0720A77E5FC016B1B927B828784E421C0C9E04C45A79C2E8DB16E7A4E092D73C5124D2BD1463813C79581AB468E2D37DF3925189833F8B372838A9F89AEC3587E2B19044C095107ACD435B9340FA49ADF11F105D2C87B9F5AB62E382EB569D79CD8678A5B1A1F7D00F38031694EE6AAED223BA123E8822BE1181A7BBCE5DC90F8DF9E3FBAF96E4D82B388889F2BCACDD81ABD5B777D78CAB2EACA14CA97281603E5FD0C6708CC9E223D045EE2D1994B5DEE248390FA01CB4047473312F14293BD9F574535015A5FD0D16FACE6B0F88FFC949AB458A2C40FC9806401BC5E917EAFC56A8DB323C1FBE6A57CEEF5E638288C0917F0BE1B8D718BC0E7B2B96E461EDEC2D0C53B481845BD906A972336DB93DB6499D27B9B2A5CADCBC94DC093B8B11C9D8BF06330D15A223236D6E167CEA457C46B02BEF94A936E0BB98E14C8944C053DFCD7A243E748709A1C625A38EB156D943F12917AA077DBFA57B24E26C284509D534C1451F425D5D25456787F97401213374EF77D6C86BE8E0D311543B15CE7E42A152FFD10303B50046BE07464C9B99B51018A42062054DD7654193E81A05909CA7BB28C617F064F9936C0D3590882F0C26BA89FE6D2B2F50B3C67DA8CFCDCDEA6E600CDB6B09FB3C170979BC9B1ABFF44EB22E66E74FCE4FFB6E5B373F2F10B0CA5EE4C621F21F7A6F863FA739172C135566B55916F0BCC6EE4CF0D35B160AC8A1556E4327199DBF53682471BAEF09FAB7ABEDF518427BAFF19F29429C2DFD9587843D5CED12272A80B17A5FBDB1EF77A510CFFE70B7AB6F592763418AF4CB555C080D9196BD8951A2047046D8E1ED60A67DC63E01294E734CD77F430AE771E72A29A9A15F0DC10A40B18729173A54B62CCF0CBB5B68604431661B613DEEBC200D0F19F142B8550ECF256DCB2233069BCA839365EB8BA87204F83A8FCA237B11F1ADA6C44EAF2AAEBB1B8B5FAEEBD2EFAFC0764175AAF9A9A9620F533C26CC237B208AD6789CA6F60B39FD5A0E07AD582F70111C25616D0A3466769B3E945FA23DCFC7255C03AAD09977EBCB046707B6AAE59EA803CB56D223816F006B3EF06FB67787BB09F41A6B41D6FAD04ADE014434E3CDE87F5CFE8F14D9822D990745B26A6C0BD49A70D340C6288C133EE43A1B22BB1FFC3948F1FB03047CF6EA604067D33D00F3A1C88CA529B7B515F3FECAA3BF1CF5686E50E55A2C3E4176E7B0280132A8F21698137745A3CF2B5D6D32EC91E340CDB6328ABECC4364F3285D1FB9DD502C1D3A84F47EE09440899094AE539710CEF433F066D3055A466FC9BF5803BF92BC65CB5E0B1ABB4985EF85B00A3AFAB4F8F59352ECD7E8550BF46B4D9AAABE858766751EF9A99889083A2AD6FC178D6B142E1D9E002E07430F27CADF6481683264B1F6629F9E186A16C48286257D3B35427D765A12E918CED157CB1E5745713B0ECCBE529C7B304CE7E67CEB5431B832019995F89DFFDC96CF6550FE056AAD875C8D37099EDF82D1DF1026D605CD939985C372F4E95B6AEE386779527F79AFC24E18750A4EF0A93E1E315C09F785C3100FB43E44D6248BB7BCBCD29A7B46BA9BECA5947ECA2F5D7FD12F588AA30E2424FDF0F202000C678C9AE598345D6AACE4E29F85731B775CB49E7517E38104B7B287DC3A490C2E30D3E35AEB1E6D35D2ABC8D450D07463E3E46B908126DC831F624EA010E0E2FF87D7F4793C8F075215C29D45396F4A65D490DC1C2902BABEF3AB1D2FF8C9A24D9C5956C9A925C7B88703C7BB8E2C6F3A1BD6FC5EA0ACB4EC669C0FC03E974389187D97F49D2A6643DDBE1B1AA9CD2335A90741EA0BD044DA6FD28E78D35992B5B1A851F2CF5D9353A052CBF1E57B9782AB3620053C89D +MD = 77AB7668832A567E4F7F2EF3213C599AE93A4851EDA56BFDB814809A + +Len = 32288 +Msg = 09A96A0112B823C2212ABA52EEA13C48CAE3F5E08883453E2085A803EA852A9D6AE075392BBD8FCEC567A1524AA65C70C3EE1722AA079AFD41696CC5391F529299C71E99B0E08E411D3E1E05C43E979CE10AC9C2EA80CBF4B58371273C3D3A8DF48E2DE7F50560FFED25F6E65E9D96CBB379573BDBDD2859D13F866EBF3AF488C6D2E36505A70D81AFD07E321157795CDF40C1885DBAEBF3D4E425EB4CE0CFD6CA5019C8DFD54BC2A30095B312AF4548B9ACEBB6A207AD3BCA29F4DA443AFC7FA789AADBD65C9D45AF71594B790FDF84D9235933EE96FFD83D1A1DAC8C1F3C2BAFE668B8EA5C9649D1D8DAF2806F0519448A97AF1104DBA3FB05CC46D33FA0112DD0922CF1AC84D4A343F1AE597930042AFF6DAA75011BE4B18ACB257D889A80F0C3D4094EF7295ED4E8C2F1E2B8F56EDBC9B831333677A4E6CF6110218B23523EEEE1E024B6398D1CC572DF7AA103CF7F50FA488E19936D20393A55843C042B275B78CAA9EEFC77C44437C375D4D1100BC486FCB0D250526086EBD4D2D38FBC8E3E55F9262B4BE5E6CE6AA3164DC04D7FB12BE70AF6861AE0C21A04468339D335BE15F6A77A8BB84CA4BBE94B0782241500B595FD671B30DC6C26317DB3AF8DB1214B144FC42FE936771469D3838E41C16EACA8B44A5915D1CB4550A451BE5F0673FFE846F6A22BBD194C8870193E1B68459B0593930E178B765D5C19B0F9D65B1E25D60B727E50EE4C39D1B898CEA9C8E95E40110E40DDF882A7C89303BF1B6AF90506E4709A7916F207BEECB850C9E227C9557536138594513043FEBE778C471DFF08ED2ED7F8A54952F6F52422AEE3240EEF81D34CBBE47C0CC59A239D7AD75852CF62473FDFA9C723FEC82C384D06F2320C8C3E5A1483D9B573AEE03FE0F85087087B896A569D9A07B02A387EE09ED6B7C8D6C0ECA76EA61301791C9F835E5CADD14862393A698DB23577A68EFFDB68076FD8A0E7BBE9D93098E73F5A174CE406441DF48B969B4D2502EBBBD9937856777D6F13852D9AD3A39702BD556009082DC207C442D327EB33A24F18DC56428B181C7B4405D0B2720B8C4C62417AB9F9DA5566BD85FB7FC567F542D05111842DE09114D27A382F009BF737EA2D8D8E4F0900A0DEBA080CE6B0FD7F0ECB3F81791717EB121176412E7CA618735BB065A659B689A18069B2C43B00EBDE9DE272106E180EEA446242F7889E50920EE5DA2B7026965B6DFCF4239ED8EC7F7363903F10EF6CD80D76CB42298E913C829B66CE1A5B18047EF06FAD79DE360908065E3A0F61AAE3347A1D7601188DCFD62C56D67573EE4550D6269FF7181CADCF84059749C8A4AC1A46746FFCAB7CBFA1840E5990483795452EF93075C92A4D115ECA32EBE5EF0211764AC8F6D61EA5A75530508A8724CD118462CA6CE37E85E337E312C60E43342497A9C50C05B38A6D5C253E1C001538B43D1312A369D8301544CC24B3BF3089C5D119AFE9979430223191ADDE6B68135B5D8AD5CE4A808580BB1C34F650EB63EEF3D592BBC45BB7F2DE9ACF2D4BC2820EC1AA765F35FCB3F71D862AAA1156D0838EF06241914AA4B8632733B823ACA5801BD281D127238676380DD88E9BE0D6DDD0AC7E87CDC175A24343B752A46AFEECAC7561766BC33DE4363DDF07F43E9BC4A1EC5F0FE36F40C3001F1647058131629E2CCAF056B381FC3B576D8DD072B8B2AB0D251B9060A9F76B3D99F2D0EBF65781B9511DE31027D8286299DE9FBC9C1C28BE2E4DF9CE8240852FE042D572236AC54B42B690D25ADF27C26A96D0FD048F1D11299636B55631D378826370AF97D76E402CF49CA5687C17E2F8BBEA0ED83535535566D65F0C6F7B2D887DCD391DF0E9CEB27BC0A8A33039CDCA515C886D890D69A389AF7BCB9C9E58DE0636441397A53AF09A447BFFD49BEF7287AAD01A1827FCB8641F9BCB7642952D7E19448C4E88DC5ABB28E24BFEAC16BBCB9F8E9962F532B428CCF86EF635697E179EA3283879E9375FFDD4DD9986CF862170D3D8574340420B43512D5A368CF338B732EF447A669C511466DF0DDD9E5E26A19A2ADFB17CFC593570F6C6775D70319E4DCDC4BEAF70AC768E7837FEF94C785EB54B1A6C164E09FE88791B3DB6D1BCFA4EC170A3695FBC21C9AD1942D3A483CBD433D3FCC899F12BB9CF788666C0658CFDEA7F29D5CAFBF3B16B3ED95E52AE21E599E6354D65305D073DE34B677CFD9F0FF0CCEF956BF561043E0DB96762C3B9365247C151CD0607551BF8D781E0CE84D23EF7B6A3B67B698CF3EDC2DB9D968174C0A26010FA7FCCC5F87E8B25D12463392BBC404B22E046B53D183A6861F6677108484FE59E41077BCF6C3759663112BA951014F40952D29A159BA3F838A8CED3707E45E0837DC62D0576A6DD12F3C75CF902636DF5FBBDCD9B19037E69091B26082B7DE2EDC1EC5BC218EA760C4B534AAF352252043DC5B4ADA60A9DEE3218F18DE60BC654A90D82430567F0C591C7219042180FC8440B5E422A4BCAAF92553BA86B149C7D5E761390C52EE0139000595E1712938030F387BC886C7E66BB11F74A6CCB5CA93099DE06A0665A1A99E146E480FD80D7ED360E95FB3B2B08BC2354DFD56BFD4031538F438AC102B73472DFF3DDC93BBEC4F9987DCA8DF79115892A004E86F4FE8E76BEC145A19C013630DE218B3AE3C325DD622DBF17897D68833B43E8708349680AD1836044F09D0A36A00ABBFB9EB9B9FBC39EB71DEFED6B2B86F4B85091A2A1C6141A2D74A8B2F11E7CF4B5BD0A7605F43B752F1FE2B5529BC0B913B5981149F8E3E23808193741F152D77A1018498B0459820A8E6EB661B63325D41EA2E80D071417816551272EDB519DF379E5CB0730ED933597E0D62858275390331BB048D21F753FA50262FE9ED6FF00F54FC0752DB016A3F5F8DC4114DFB760E8E9E17A3B876CB7FBC3F443843A9DF4626740BD0C511BFFFE4F7849C77EA64857C489C204DA3FBF6C08ACDD705D7524245BD23E3767C6587B0A70743AABDA3434F0969D007BBFDD27968C4E7FBBAB2621EC26FC28FA984A0E7513C548F5BE67BAE139098873932BD651FA85F8978F8A52CA1111C354AAF07728A1A4D8E8BC45CDFB174FD8CFFDB8B23CEE7CB7C7CF2CA590B93C4EEB403123B2E10293021A737B2146B21327C0F2FFB59176D1B26DD3A1B7DFE3467613207426B3253FB61B0E42969E5F6F01A102699083010D5F53F10C36F0C69EF73B350B144FD295063B19770552CB2B06F215CD5F308658DD34C12E66EBF3A48DF9C81EA40A728A035E4D20AE4172A6556D3CD5DA109E0D2C5C40F58F104BE11509282B67826831A9560584466A93860731C3F88A293685F658C15D4E3A12B38EF63A4A175F74541F0AAC499E3916A5C7FA3A2B3085CFEDA45939C319B39F887705B9F089C90FA38D6269F04756152D6B58FC22AE8A16D1F093548019E9EAFD24323AEDC65FB80FB9A9950F96B9AA56886A9695BBAFA19A9DF70A97EB73729915AF4433D38A2ECEA40ECE0DA71C0EAEBB61D5C906815135882932B2442901DD719BFB3386DCB45746FC7603E1B57C3032D54AF98A528F3D2F8D801026CAF94FFC0A95258F28AF7BFA05A6CDC6DBC84DAD9F7FA520A708EE18E6ACB316235479C49CE5B8F0D896EEE70293F822FE85E9D15B5F4511CB2E5C4926D9EFC11FF931B465609532D3F78ACCB08B3C2597AAD082852238F24DE905D433484D041C9C90E1F9BDD14524EF593ADAC25B0EAA59F5D0223DE157DD2AEF4364227FCEFC25DC1E98785C40B8F491DBE834713C9C9E8CCB72133351C8AAC3625A3337D637C264D9AB02DE30D78A7AA54891EA52C96E7F061AFA558F5F661D8752F54DBEE025A68B72E205ECB2D14EE84C7DFFCAAD8F2829F21B778D85BA3C590394AD4DE39587D40EAB0915A3C7E7BC89BFCC7566D1F44D250FC3DCA327E7DFD2DC7E04C01C5773B7DEEE558106A3A4D7BDA8347C8F5C11500551345E963A34FADE1AADA6F88B7F73C3206173C5B5A831CB308AA338DEC57F0BB4D0D43B09880E2E150D438DBA83AB9F49B4C3B812386DD2E11FE992B32DDEB5F0B3F2F100D989A6482BF705E190E8201B614AFB5BA6736D0EC81DBB35778E65653F38F49694B85B0E78202C3F805FEDBF6EC5795F93966DB9656066944BC2E52C10A5DCFF5BA68F008C40E6C801D16EDD033512B2F2F5E51F3B49C415EEADAE4F878FA44B3AA6965BA6B7A118297FE5993C9A3EFC22DD57369CE8FF709D835C977874ADFEF7D8D252D1E8F6F5AD548D8D14D89C72F2294F954C6CE353D0C3F43A76BC5E3BA7C0707BF21E4A4D6EBC4B99D34506B4AB78E622BC32AAA7307DED2F55E575EAA6A601E627F09DFE02E1CF3D59D027E7AE1DBF4C1365231B724B03451E79A3512393C843EBE474D29E3EE1828B1010A746FBA2E6483A5F29336A6CF0C95E9D3B929D1FAC334D2F391BEEDE2F0DADF399805B4C039E66FC2076734DF2062A09AADC69DF10AFDEF8ED1A15B5D81041C3B0A04E1A12958627B58056FE33397BCF5EBFFF54D34FCBAD32906A5685EE8A4DD34DBEDF4DBA832F24640F090CCC21701A4B35ED37DAC3E6961EC89EA0815751D55871A13125D734EF178124AE1F593D89609D121878B3151BA96C8347B166558FBD27D4D201D76CDF4774244CEA527896874EBDAF9AF7293AFB14A4E3719D50D9C9902B92741BCFE0572D37EA11DA57298DC9F710F3D2294E48F68C47D972CD0261508482EFF8B290F52737E641B61E9926EEC020FDD74A1A0722BA534954D4CEDB3ED44EB255069708BCE9A22564F5B4990562278E2E89245C54B8278EC17C8B564157E87DD52CDC1A67D60DFDB6CC9ACE96A5BCC77CD33A10C506660548A167193A6A13FA6FBF310D803BD732A51BF85C72AAF8688979591C5D829EF4A7EEEC82017CAD0880209C4A64A0EA4BA22F40D26CD559ECEB9C879AE413D60240E26F88A7DF0557DB1E0BF938327DC4CC0664E0B40E9D0C67A431C1580635BDE040FF2079FBD5240D2DE2DB112AE4F3411D0F5908DBDAED1515163B621A66CF0F3D80AFA0E0B563F3AB81FD06117A7F21E7AE2FAA461EFCE961FEFDABCDCAE27C20F0114308BAAE0228D8490A0A840E39BC9A501C0C591CA28FBA025E145E4FFF4B432A161BD821FD862855A955035C1ADEADE98CDEDD8EC0BF0881CE6F3FB3B69501B164FAE089FF007A923F42546019844C06387B847071716B30491A50A836DF913DC2BA22D0DB14D18F848126AC124E5E9A004B5473C606AE5402357A93FBC7146324E269B6248B43CFC2291031F7202153CBC4563FBB0E6D008D6B0DAD9A02D03F33FBF8BC9207199BBC19ECA800EFAEBB5B7E1F8929846AA2CFCA4B13EE3652477FE3EEED93B63CF2508A1E540BD35250FA40F93A41AD70A4E5B547006968106531419E8DC60E423129FD627BCDF14BF0D294984BE3037D4F5CE6EB8AAC28744AA31325BB32CF85D95F04573040FAF554D87BA7E1BFD9CB37D43E2DF6A8EE09B8423F8FAA8F0744B0F383FE9AB403D5B77F8B2DA1E26E3BF20E5C195EF3415FF2DA74003B9F82D74F5A4AF4EC1F9E87E2ECF50B362990FFF432FC7A986578B0D0166175F087DC8D724FE43EA6D7A541AA7E5445B0273B41BA7818A96C28265DB7FC729FF72C8DD635269F0C35D43D8CD2A0D4ACEDF13C75130F17D65C57A9ED2D26D5A6ABE06E40CC7B78D2A554C0A2 +MD = AE38D7763D84CEA88E468ED4338DA58F4E10801E1519E65AACC3C6DA + +Len = 32792 +Msg = 0E31C80A1C41DF5F706DB8DA40DCC06E61B4D6969715EA02113E2A63663DA6AA3DF8BA755109A580446E7E94E9E33DC98EE6B119D3ABE78B3B9F990349A63DD609008FF72E2CB6710B99522021AED51B7485B7B3B89C4C5F81E0CE61B5310789556D93646D531744E6B393AA38E1ACA0D6565728560403423C5C5BF3B80B4E99BBA5FA53765A8F0B67E99BBD0F1E31929731175B49E237EEC448D08D282CA634D720CE74C55925B68F0BCF08B6493B180465CE03AB4DB3C74BEA45D245D21698E9F1CC8ED46EC4BF4AD4FFDAAAB9CA2BD75AF81780AE59610B652715A30F45812AD1075FB9051340167F69CCD01B05FDF1F4CFA36C053269B06E40D99C5CBC685DC18E266F60B23C19565776A5F76C5EA917AAB08DB863DC88C2342C7F7F0E00246B66EAFE2D3DE1384A108DF5DD5AAC8FCE8BEDBF495F065DBF4307C98B879A6B386F8A4261DAEAA00A331FD2D827E895D2FDEB840126564ED561624ABBEF25B0427FAFEFD705F56E2F362AB7410CB777591BB0126CF70E390EFBB4E7A13B0745D7EDD864E6F90E8E38B61C706E144BD50FBC6B5A5ABB810B5B82E2C0D13BC40EFC83E9E790F990D34A07A5F312E253900B57B04EB634DDFEAA537AAF8D118F1F0DB57D6E6206C0EAF94CE2D540F6EE2E2E204941848A537D868F9D95D681F0C5935881288E0D91C12DE10C3629E43E9DC43620189F44985B59427AC131B35AB4574A3CE288806B9F4CD23EE2463F3AE947FE6EEE2FD3CA9B7780E0939B615E8DCF94FF684FB41B76D25C6143C282CED5D9799EE19FCE194B047E8072B8154E9C3CEF1A34E7DFCA73D4EA1636CD8120A8483285B21AFFD02EE06EC882F74BB8ED08D011A9A17043D12C4BFE83EFC8208549E53874497741AFF8E5B8FC594191E1B92E581B1B7361EE57BD39C5B2DFD49F15C758B57DE8FD5F2D65F725804148A641A2E30A732B5932FE8CE43A212C6BE5563FEE8510E3B8A9FE21A0FFB64979180EC1D0842F612F1D58EA555F5B5C7DC82EBF2E4AE783F608A37DEA30186F558EE743C3C2D2C90D5F51269200A28455D15FD4065166AE51D5A8268793011B7777BB8DFB523C278C9A7D1F690AAF05BDF90E076B3DB87606E6575A8EC0A5C5BDA9635FDE179D40DEB4466DCD2CF2F0CE93554CA6C453B302498FDC5DFC4FE1CC717529C332C7771540B29CB3A3BABB522DCC7C0C108296893B4D90629492DECD4AF23EE8C84830FEA1482C9B9CBF0AF143AF68354EC57CDD8B3E1A503968A9691233D76B3630B18E1C79263EB05F8105D1E1070701D35CC032DBFD5B2E877212E7A11940DF6CDCA84D5CF7F7436E655716A0090D2124CB0DC6F07BD051EE9356287A9196F43B17F73D3F056DCD38CF0983F5DAE8DB939803D6866AD4F2800CF1B316CA31041EABBD59D0DF8380FCE7F3B62461A4DD6E14F9E48DC130791C04FF7C6E3E8462F38594B62B11D6B865622170B954FF9909AF29990AB4134D48D494BED3BF8F939FFBA76E3A3A8A263F75F8A1F3B219422525D8AC91948872F221F8C07987A4EE8529F71A9F2B8AE7C7A054C73F130F97A2EA8EBEAEEAC308AE9E984447573BCB295654261E09804C65D3ACCC932C32D265E8261250BC045FDB5896AB266CF3BA5B9254DD8E54112F2BFCC9F119EF4E2059A9EC0FF62B42C3DFFBA2868E4AA1C7021AC35C9AEC2CB5D133E2DB8E11CE6B2CCE87754F4DA3A40789F95EF560BC90578F50F8087F4E53444AF8C453774D998E13BCBF0CE54CBCF56958254959685979E56F0CFBEE657FAE0BDB0480907627AC2231EEDC0F78BAC28B5ABE1D20A0E428973D15E6F1296E3B0AB8761D77DC928A43AECE9CA5C502EF7466874B681085DDB5E7377E16D11EA20FD931F9BC213AE0F544AAEDEA9E4FB7F5465B94C14979F3BB231676831EE73FB7A379B789365701D6E2E2A247C1C21AE5EBF6F3EDD9C46898974B734306E70C9B5573B4D052E63F9C44396BC89C9566800A7E2A9A4C32902F799B4FF22CC9BC21F39B8A8AF4E34007CAE37ADE40CB859DECEA4D274BD11DBB2F5BA304313C66A77F7A43B5AA7DFE18BE40A9F499B95E4B825EA00BB83A0D4F11F2F62F5EA70FB817DC6C666B09BB6C919972B2A0C7BFB10C5B467492B8291A2B9820E2D8BC6E7250355E23F50662DAFEECE00CC8C0B74FE20278DDDF870DDDAF083480B1504E11B518D3F9E9933C3FF2F0CA3C423B8691683E3EA1902004AA51CD823709BB05141A8B8CFBCB4EF9F73ACA2F09716558D879418DC7B0882FAA381AACEFAAB611ECC336F36D6FD789EB734652A08BBFC61D19925067C6E5DCAC4F05BFDAB6FCF083599F2845D0429C05A616D1977004803BFFF90874514A79C0F45E4CC5B3182BE7C45A9E2F9A0DD976FE3C220542CF11CB527861CD7461E03F5335290E24C483B15DD2617B31371A6FF98CD62FD8E713F166C3954F0867DC8C3641C9CDB1A24F3A9EF270D56337537C98D3FE904CFC320D8D19A241E1540CF5CBFC5A5579C76026CDF961AE88D3224818E8EACD70AE4307B335BB759F8EB71D4A32D12F61184D91CB081737EB9EF5C36B8BD5A762B3781253403A9D621B9070EB22B77D41DB6A8B23B6B6DFFBA92B4D54D4C625FF55BA5BB0D1BF499FEE64813E762CBE9BE8A66566A5F733B0EB407CB025A0D90E6E2E8A415D9CED3217A541C28DEAFF17AB8655DB001F523FF303921337ED2EE0AEAC6070F8ADF9FFD61332ECBFD2DF68AB366751C83885367EFF7F589ECC4B7DA65103F814EBC2B399930316241323A1F5A2BFC71FCA019BF888F6D5632AC916D73A3E915D26DD11A2816A27E238568ED0BB4D2DBB13FE6B6DB57B0ED9ED500559791B01755179EA68F57FC40BC357925D114401F328BF6AFB7A3548F957EA12F76976671A8B5CC2A5B0D085ECA87CDB911D1344AA7FE02C92F10E5C86B6BD4C1FC2C6F02CCCEC98AAEB752057CB4E64434D1E0986B93E3F981D1B5835D75691CF580654B5AB3468859B214B0F3BF6A75605901A6A1EC1EF0EE0A6CE0132D28CD79E6365EC6A992F8AD730A4040C8BC2A0FEB8315A90639516B0D30DB4A66F7E7248B04FFEC3985B2A1995DF3ED58C3531675C4BA885D5A488A773DDB3E94D2982FA22A7D424414305A336171992DE01E31E7245CBD3B54D46209014921D5FBDD3077F3BFD86A3A99CF998D141C3A433E7D68AAD547C0EC99CA30F2D15FF5F26CD00F0D45F2F0461EF700A30038877004A22D54CE3F198B44AD470F20ADEAD37BD7F7482E727C1202145335488A739E688F7823254DD669DF59BFD94EC7B08C526286AABDED0EC28714E7C5C56379F5F0297E53512DD1E71DE493E463D3F4D180097B8771B5E055FC7E436C57B53365423D359EEA41496EFFC10F90B46A2204EF4CF3DAEBB60A3047866D736DA1A3553BD32A78A370AD149319EA4CDFEB9921FF920B4D6A2752E9F6396DA5F32AB8D79E717F04FF90D198D249976C081CD298159BACE7D7200E34C82D0C76A61DC0898287CA0A77E9F4D649557E0CD4C5E138DA53D30D47C5BB4CAD52677321CA0DEC309CB658F73D93D6C05726BBA1204D78CBE97BB3FB76C7B9F640D6F96170A8739F77430111711E13D9E4E734863CB39A3E366C406DE7BD0A716384E5A0EEFEE581CD16705D1745F13D56BB5053DD1866BF9CDE1AD9C462A76D882422F5C9A6025131F8B5878ADF97D32A0FD89321D62EA5F5B8BA3C3809057C4D553A391DEE75B93C8529AC498A49B52F2E3AB6BF659CDE1B210AEBC3A85EC8709E9AB6C6134081EA0B020E0B0867C72A654583B954CBCF8EF2A73CE983C2F8F0B5DB5776C16F56079239A6D7464696A182AC51855246F8DDF087FB403840FBFAF215B1C49D2E7B8CDC567431F1D00C37954DC7B40BEE9A868F2EADA29E6F0A73186C119278197AF054C7E3F88E5F696B0D4C94C1196F058FFD72722F6495F16DC41E675833DF9E4394AFBCC7A32B11CC2388E4929786865BE4178F540CA525D067F0A786BE596F10670A25FC6F2F525CAC40E7E341ADDCFCB91F069A5C2AECD7B86ED1FBEBE8E3BDBC3FE27F9042CC53BEC16198AD42230256C8386B46C4AD987EAFCB6F07E347CC7C4AB4B04EF9D20CB581245C9C102CCBA044A1884140666F38BE3E64FAC46350C4B3E983D9678845E9CFCC655A24BF89A8FD4600536D605082668612038B6255285BE6E6266C90756A3CB116931F7D7412D1725143760FEB86F4F8C4CDF1F4B06BEED0F69E3F64C5DC7975FACE5F209B4B67CEDB734C23073F9AE1D824EF849BE836F02D48AA40348221FD09E111C076E617374CC430F3120383FCEB38C42DD6F4B53E66EF6C80368E0FB96512FCB25ECBC4C2C3B99A07789E6920311DACA599DD8C9F0CA413A4BF9B9B986D9202137C9DDDD36F9B16B048268F8334AF0CFB13DCC2589007E4DDC4B34A216F7358F316EFFFF9DC33A8D5FD91A95BD433BAD8BB31D4A14D6D45F6CB5E8A8EC31180A76AA03E83AB3B2CB9A7DE0740EC7BBB55DDB5632D4BE1182E2ABE3F625923BF5B94488A00072414DEB2FBFC79444465EF10AA7EAABCC52E13F68601250F313B40D3DDE694FD935E92D04A940A8BB7D5670ED454B47725D933E64EA6485E4589F1D9E53DE5EB1C9450049F35D14BCF8C38D20BE815D5A61703F3636F6E293EA384B742A9088AE006D3ACB0A296EAD4680F3152DEB56801530D6044AA040505EA4FB656ECAE9E389A3E5040FB66490C79F26E980AF8856BCD381A53E0736A9A4BC004CEA03F127C42D3AA75A0B9D9084326F57CAF346229F818A94FDF92CF32FC3DF08080C57E2BD9342FA0E60004E9091D514C500D4C3100C73610ED989CCF5C2D40996F52E4FA469BBCEF2CE1A7B2EFB9D70DDB30B28728F7B599F503D921C59370FCAE3E07BAB4885E197261F9D0959AD49B418B2F445C02728DB039042824245CCC77542E0C0B15C73C8E01767BE6A2B0AB3709F35630225D9749E23110BC96F591B8D822491B90D7F893DC1127812181565954EE6B8122865BDB496AD533EB7481806D4BB061E18170A1DA37CB435CF356DBFA570AD4EEB26342612BC73F6E0D39CA45E0EB44CEB07E49D29E1B726712F510B68EF2975CFCFEB6561640B0F0C2EF923FC6810FA5CC5E5F7E5C2992FC7E023CCABC78B8D9F3EEABFFFF3A3C3C38D321657E595BB4E6CF104F8B59DD4491A88C96B11AA5179C3E2306305F49F813A0598037CDFA95A2449290659C8C1F1671CA688A19CA498EDA4F5771A972B234F02FA70CF198EA4222701D1F30131310F1BA4401EABC06190AC9DBC8EB1C7526D045FEE0A9CBDCB24E04464E0033123D6F8F2F24F123C5E6DFD75D943639C47A6114F8DDB7AF965B8DDA8460FDBC4B258489490E66326697404592A4AD4124E3D879DB864186279D307015D2C3ADF96E2F57160F0E4A2037D6C760C5C4C852D4000ADE51EBC6613A7B48C0AA400D0FCED3C5E47074C3B917703D2FB1B04B058ECF33FF54EFEA37495E45C9BBA1C1B26F160DE0BEEF21D26F19131041163BABFE16E4D38D83519BBC16622EF690E3FD0A61A968F06320A4454AA43883DA580A396BC65E8AF8727495CDE042A0587085399FDBDF68F77AE2BEC132D667904D1FFBFF7A2B361E67DBA5018D0D75C025D2FD77E4827448BEBA2E91C3C4F456565AABF8F9E1CAAB020A797D6B8C2C9A730FDD80F5D227EF9DAF88BB0026A9E93C3D80A1636830CE832B09B942CC6D6278CEC5E29429AA6D672F2BA0712D5A84580C154C0DF08B6032E5902353CEB6793AD9C8EC953531B4F0602EDBF3D069A070F4166F12A3AE3D3 +MD = 484785C8DB75CD2B16CF8165A0B61FCAD86F8038E0EE83939443F014 + +Len = 33296 +Msg = 61CC4D97F411D959562A0FC4109B442AFFF59BDB158415E8658F9545A4AA2BA8B64A65B0C71FDF338D2F48EE031D8B6FC2B049C2BE4F25CFB5D959C77099689B4C607A2F81C5FAFECB3290633C5E7766C2E766B4CBB1F97F8A4D61C6C55CA996C8FFEF51EF28A90C06DC75E20AFF339A28A44FC057FE51FEDE7260938E89AD74ACFE13767BCDB8D25BB890C1401C5986C6A1DDD366EB5EDCA55EC9B65C1014DEA47597DAB811446ED3C7A3571BC77D1E3E97CAC5608C43CD032C63455406EA98B311688F11A0792A0B8E65FF804526638A730EF25A6F4A7B1892DE226B6FA40B65E4FEF5387AC4EEDA6EECCF155712E7536C1A4AAAD5F78F8C8668420DA7A48D486F4C4F006329E7BD8750165512005D88061EF2354A84749EF29FC0D5D4753006878686D09825825D25589AA3F386ABD079396312E8CB26CC92420CCAC17492895B2ABD20170A1DF011181F4051AEFF2DE784913CC40FA85E5F26C3FB36BC396F6B1EE7117E77D29A253E37F02769F7574D6CA23A56F92514AA615A424B484F90F382E1AD0D3AC3915E048D99D74779BE1403E49C61F6760949E8945593F7A0DE5D884BDC2E94F4BBEFD51D83E331FDB7FE8E4C4B0429A24EC02ED9F3DF54404F6D7C8FF52895E5853442C03DCDB9A980377E09C21AB8819B29EC96AD0D0FABDB77E42BCCC7FC7A70B83EE053F556B905C63F8114C17A45AE8D19CECA6E5218336EC11613DC11532D91652E78F86726A80749D70CC54CA41C33D643F280F109F6269C3DA377BFE87BFA60A1D167881AF220FC8D2A6E290226FC2D0F66D2A1A7FABE47AA8007EEC301E82FF50BF7148463645DD2471927F9546DA78E15D102E701BF06C972EED2B489DE28BC2148577FB489141DE8CB51D24282E621267A4139D1F0BC35DC9D9C42BC33A04F81095AB3F176C4212E50B77EA2D132C9A5B90B1E32E631CF1E10C5583514325978581C1E55F752D76DBFFC8576F56422C5DA1CE20E77387F5173894467AB0588653BBB44BCBEBE4853FDB9CD39157068C907B32CFC4AA5DAF2D024E0C3B2A804FE5F2CDE75D299B37C5FB4422D7E61E959ABF90C9A3D8DF629E76F4A44B76263E9EB7AD1649EA89F8838705E1A632FA0B91482E907F077B992C96B3064D6D7604D09E682A5886A2D9334138161DF5141C3F06251BD470163875387AFB38163394B335B79210BAD92ACA568BD1AE1E511C22803BBA36079FEF028353AA0F5734A1C7C6C4E6ED684742BABAD0E93EDBCD0DE50473A5F46CBD9C592FA92D42EBE010ACEA97BB36FBABE2F14BD02B1A07B35701D131623BDD526BEDDAD0B4FC6FBBFD4CFCA8E513767ED4D10EC64F920E9E6CD528676875A070CA6D7AAC6807B53B7B13749CBE350D5FCFE1B34E4DF2E89507019BD6FCB24AFC3A1C9BD64CA4C7572FAC9D87649510D5F91B373EFA0B97EDE7B8768D0186B968E5A7F6D181CB5F45BE2EBB942E23D821BD7A8A1D7B0E2A735DEE8944C378FF9A98E13AD7344198B576C6CC770C082D640936D3F07021293764662F77195CF956E91AA7D14EBDD06C41B57C9E881F2DE467AEF05FE9EA1809C450A45F3F0D67D7447F8AF8F87DD52B30362F44AFAFF54A2A0331AD8C18C2F3594A1E187A1D94A4C1829D87EA67ECE045772BBC82C231FEAAFA81E2F6E18D7F45020AED2B22FEE1DF13FC31847EBC9F8CA140E4944F8D111A4DEB56C0888880EB95601FBACE79918A6BE2F0BD370215689988725E9AFA988553867F898C939A8DC4A58FAAB9B105185904CD543382F7DDE811EBD114AE109B97EFB4A7BD4E582C3F60423B48C1E35B8C0F291048C29375F9CC2D4C01079A207BB7BCF875FC7535BF47DB251ED8A60F03D84E49E32EC5E72F6DF26F18BA040F508A02ECE21597BD710C36052EBF7A0CFA8C1FDA132EE3F9DFF8814CFDFE0A514C91FC79546B82447926D422B8AAB87B94CC29F165E1F970FF274FE2A6621EAC5F12816129D27B8DF06E32A41752A65DE0B47283EF049422A9AF58A9BFCB042ACE1CE470124369A915E2BDDCC292431E88982BC6F9C51AC4C8B3E2AA96BFD6B574AE9D702A2673081EBF54FB332F552EE17BA638112816286E94FE43C6695752E67F69CE6DC4893E1DBE8C5DF8F292271F4F5C140F324AFB49A1565717FF0E0681F01CB7CF96D2F8C50A2D76FA6B4509701211E07C7142D22A2FC40C2CB47E91A0DDE3CD86FBD02EE53F8367D1F25E6BC0C04F19080AC19689E721327634289261827333594CF23A7CC0B0C95261257F2F2A4D9EAF72704890F29A5C6F12394C6A57688BBF61E187012CB7C92D720585976AEE344BCCBA607E74F5032C14592C317D211C3848FD76CBFD84D7A621E3D89FECA1AC8D1C0090855D530DF05978EA50C36DB86D311FDE0F8C6598DFFA94F094E4C034FCB13986ECCF09DCCA03F2BA06F86D2E49AA9115BD80CF49549E6FB23A81419826F7F3704A1FEACAA456DA4C107614C992443D5DBC8940F66C2F396786CE6520E08B715D1DC3AC0E695B7BE348972522DC4C831F02B4253DC76181F979C6F0450A7303288ABE8B9FD6F8A9F46AA93C4E6724E29C9891BA4EB8403013DEF6068413BCB4D413EABD69B812F479A2B63437ABE8C0CE4AAB34386DE580BD704AA364F17C031195F0DEF63CFD88F1246A5895D3D06C2BFC919939280ECB8D1177D799062B4F4F0B3C7D855AAD76A525301EB6706695639D03A4C0CFAB11A1EA74AAD65D68BAEFF5B0355AEC1BCDFF9FCA7F3BA5DFA9F7E1D073305BD96F9ABF5EC76A14BE21EE536E09866C1E0C4B9AB8E70430BC708DDE617F6686C2B6165981BF5C70C747AB222482B076F5032656EA780E0798C5F18223590D3872804C379E5114C6A49C8DBFC14BEE6804612EB21B2055AFCC7C1B2A8E8BE67FAD7FD8B5E2641FE8CF37792FE47BFC35C76949610F6718DB9403B29F536DE09CE4A254F9D612DCB93175F5592466CF9B7ED0585F83D1EB7AE64CD83C117A7F7A02A859A73377BAF4624BCB5B7C313F6C2613138245FA0A40B844CD8670111AA27BBB01A7368AA56BF24DC7D8E21FCA56E84A32776571FF60B3AE38B3AD1ED3ED3BDD19EDE8C24C2AA71ECC2B28124DD0AFC382B784E273E838AFB698D8AA336016C4988A58ECE0D8A2A2D94362D738346C950BF05008A10E29BF27F15B802F213B8E69473B023332952912F20472FDCF193077A0F460E684F9FDECD2D7793DDB33D5457BA30B4D91EC272D1E6E5D2795698A9AF406A8C05D1BA2A64F883D37EA18505A0F5745A2DDA217EAB1774A9D813B8387EA16C48EC8E5600C16D98FD4BA0A1EF2888FDFCEF5365401004B02CF704623277CE502A54E4E03D91914BA829C56740F777A5C28FBD45EAC571DDA7B89EC7FC982F65E5CB382415440162091C2F041FC0F97F20693305C25DE7837A2F650577AC6CBFFC09F1F695417CD5ECC555697693B12166CDA47B8A745F489406942C599AF5F085306EFAA508B5BF0A406269F600B68B58CE3E204C3BEA59E4F3C19157C60246EDF18141597BC0CFFF8308878E4F36E4C443BA874BE58278FD5B332CA73CBABA2A302579E5DF863DB92251C597CD45F836D0B9D3ADD59EF92468542B377E3250FBADE0833914066A39566009507D4C3D575851224E860429F617AC7EBEBDF534DEA8F3AC3F7A14F815751C8E72E907F9077B54AAC645B4BDADBFD969AB38312CBA888F0568170C02F36A4C5F0055E6702F39D62B2383835A719A60E3A6055DF550B3590341B66770897BCC66F8A52016F1491973D565EED5D1C718CA8997C8A64D467170608991D14F1E50A8FC63C4A3B464D08D05F72E9CEB8AC69B5F889EE16F99454BB5F822F153C9D9DCF4F0BBBEB510D706F2C7CE5E516E1AF5CBB838C95D973B34230379CC30299DA585BDD8AD8BDD43EA6AD8AA8F4447ED4F411E4A3CE25C4B338882C6DDDA40A8C2228491CB6CB33A5AE703D29865A151BEBBFC5910B6441B10CF64C189A71911677C10F11DECBA96A420DE0EF9C124F36FC5D27FDD75C388533C88667347B5277C2E1FC0026B75E38E6E46ACECB2BA8EFADBAF1489CF45F4A9225691492BC63785966C018A8FBEFE58C5533E2BF2C601A0A5EF08CBF1B115BF3452C94953ACB7294FF09C7FCE12F8CB86333AD7EEA514AE12333558F255F5D7039AF77D724F66C962192509C5B5E07CA8161D6002417B793F25B92532C61D67CA6CE4E1718B414A86B237FCF0199D7E560C2136AFB290711B3E2B8D403EE0537C351972E86551E5EB9A3535D7D602E5C444219B3B3D63412592399A7EE91BF3BFC26F5A3A91BFE9EF9A875CCA8C6CDE2FCC7CDDC971897E559BA56761599C5F883A7C2AA2E4CCB753C659678D16D158EF12AF987260FE98087C23773AE20F81FD590E1CF738D3C04B0955F2B20B30F54381C106115D4ED83FC7F6BE6D143B61C2D589A317E98E18336150B3350CE0E16E8214DA55476887DA6FC64D61BA49425DA1C156DB5ECA01411FA062183DD29FA1CED491E5E1E2E3CE160A8E9E4FF1000BAF632A92D8E972077C23C666810339E9D9B5F62FDA5BCDC45D315BF8DB41B81AA165763780BECB544F277BF10491CD085A8F5AD91EB6DCE793F480A27C448AC8DB95738E36AD0F15FAE23A98F73E1BD96A6DFA6B1A4DF4D34441D973AF7E1994C06763BBAB81AC19B0BE9EC856365DE6721840B2A4800F27E32D9046FC67B7F443A88C3BAE70138305E9F162DBA6219E6F8FD68494FE644BF6F198D1B3A934416E96AC219C72EA95648B1D9677C7DBA1E3CC6E6B01198EA85A6FA3DBE68FFD5B936747BF86253622BF0656C4178E9B259F01FBFBEF7DBB6F45EA2D01CF4AD075718440C00DC66321B311F399436064E7F56D254BAAE85A3199C31357B70E81180D1BEDE7FCE128D2AA7FE5C5095A05314B056205E719F13C738FC443F94DD3DD8BF28A8024491D3625794CEF85B2C2C810208A8557B04F517C42EFD9502A1B4DE412B47C530EE6F0056B5EAC5BE87AE7442AA84F30AD9B6C50D8518632BD4512783BD3FB358B9CBEE1ECD5D634D617A57BA8AC2D8F12C99C1A146D6FCB9901F46C05FDB5BC3DDB7D8C0D694B5E0432E29A2BB3BDA70D3977D7967082069AA36F425C60D3EDA2922FD41DDB7D1FA2CE76256E3EC53A5575DE0B0919BB719CD73884F052A35FDA47861C13BB523509BF91233ACFB82C674BC46FB5AABA970E29EA48AF84FEAEE9AAC0CDE8AD0FF2B38AA378963D62217B8C079BEE27985B725EC8327F8A496CBCA3EBC763793CDDA9C5C84B42678A0AA6B9BAA03A5CBD7E2F733E956DD9B5712317068EA369D7821E3C288C019110C0EB792EF4FE7BDE199EF10C973138AF40FA52FB35DFFA939E3D843ADA7750896917772101E49076812E623F8FE435452CC39CFC3C6BD3665BB7E20FD09E28C08D9D29CDB7A4C5F7302ACFB63A56BD481F535A136182577E0AF1436C050EA376B335DA9CF960042A1158FA842A85DCC923BB7EE96016860C2231A1F0D859275801958CEBDB374CC1BCEE2069AE9A2E970391172AB7BB9D39D991F68C2E087A0773387B62A608641EC54A7E8976B7A9AD1FA9904BB3FA98FBB332D14B6B23A82F4FFA69A8DBEEB4733B7E69430BF6B1EC5C8E5B0D7801B4C745D92DFE071224C7DA687A7E1991B03867E82E7F3D3DCC2C63AD5EE9CFC20451BEC862D421E03B11195BCAF01EC4428691CDE6618DB63AE73C08181304D4B06561383176664D20052BD5B7373A7EC53D1A4FCD63D7390D00D2217CFDE499036E6EA389DBAC12D08F40D6322A26C5681FF0C1F9B638CC08CED61524EC48A8E8BF93D2028DC10FFE063CB807C94CAD3C2B694ED9747385EF5934F4C84F907AF7999E476C2735E1318AAD6EBB7947D9A64B2F625E2DAB7E77B6FDBF +MD = 3BE8198D4841D57B6675571850543635DD9F22882D49328B755598D9 + +Len = 33800 +Msg = 6964E2D650B19AA6D31B839C604A90AA3D105834F3854DF4A41D4787A387042CC413DE27503A1EFC366B87ED677EA63DCCD40D9C7F699FFF9B8A42B596173014B9E811D42D2DE574ED5C80FC6A5A86B772A3EEBE5640102527401C0E9BEF57E05BBF06986535D3163788C60C92EC7460B7FC685FB45FB8A18FA84EF5A37C94A2EC3A948DCAFC69B83E2434ABCFDAFCE948D8C76ED9BA780D39AC3DD098EBB3208538A666CED8ACF1B3031C5EF23592FC432AC25BE0552C1A6463E3CC778D456A520432A8C55436573219C49E6BC27474AA4BD9B1B3BC64917D016B6580AEF2A0BA41ACFB98EA869D3995012715D06D64E0AAEFB2627125F225E2EFEA21AF7EC49304B8E6399623FAC15D6CDF39C4177A12254E5D807B4AAECED6D591F4D0BF50C07F5B69E7D60055062654E7B1C8B96AF726BCB34B10C60B7FC3B10DBC69107C7D81043BCAA681EB354CF19AF26AE3C7CB321B892C33CD044A24A5249F2F2EA3F804944B5049CA887EAA6D4CD5E52D17CF01CB0FCECDA47425EC85F8362AE045ED0D109758C90134EA27C4CBF6E3ABE7F283F4C3FFC4455EAE4790329AE47658DB2850B09A79A89BDBF72A20DC887B6AD7ADECBD5A86C08479D446EF817E13A37819C227792E3E0FF80A2831B20760B879A489A4AE50AFF9FB1DFF39132DD84300EF7ABE05E98C5929683A2DDFEA99468996D652DCCC698183F9A3103F7C049A7227733D0C14ED1BB809B4EF750DF19094885961D327394D6CFA0A21B341681738B7E6FEEFCBF4DD474B7B45EA64A3A60B97BFF297E8A52CD4AA6E92D6DBB7FEF7F736D29CE3B041488A6DB68D28F3C0204CFFF82CE6EAD11E11D7B060A0FF550711BE33288ACC63B6DCF2062251771544AD41B35B1EA5F11C4B196C48F5FBFCB4B39C60044A70E1DBB2CFBF9D8FCC855DEC9A0B33F2021CC76B236ADEB5A1356CFB8590FC1DDF8A721D9331861DB604AD0C8C89871E960019A0DABA43202ADDD526C1706E782FAC5F98295F4C6036B8E2DF6D225B6335D1314143573AB8E66A7750BDB6420452FA060B24FBBC3618D951490534718D97E3AE994D5E770D103E1F405A5357A2521E9393ED2ED197E7AAC87E142205C69DBEE846034FE6F2168DC207D13022E11427E8F02087D2F4E850E7FD21237D56BE970781CD779F7B0D8E9F689E6CADA3386B5E779E382AE3DEB6CB20DBA16A94D147101FE594790A5B331D40551C8C1D81052CE00642F56E4048F6831D713E74E3F4C6ED2352854854E35C06313F0104FA47EEB282AFF9A3ED3D683FC88E9684AA0C460C3EC333080D5F557520A359803563A1D8BA7C716082CBEA808DFF6296947CEF7EA30CBAD458C0B90A07847E3E557CFC33B0E3893D32924934DA966F6D451FF8C6B28ECAD7480CC137327E5DB10D180D41E8088660297DFA99126F7E2AB290F206C02644B4F28A603E959077E13D65C650CC0513259C36324CB5223E829350EB0A567317FA176213EBEFD40B98C38055B24AD85171FF0724410926B38D8A06DE500775D39E472B0B3212122204136D0793ED28F6EA070ED50745745DF57079F7D4C63C6B5A862A031DA93F4E576873E6ED03EAABC2A59D4FDE5A670850A52B17DFB059AD5A0822FF68B9A3A11A26BDE519E86A2C7F743BC932BB29208383621D509DA438A56B56E1AAADC330A0CEADE51EA65ECA256E3DEE4495C3FB94F41C121B03B6996981033D5D9E5540719E29EB1AD9A10C2182811629BB5A7D2296842FCA6018E44B1B2B0EE56DB63EDACFFA837A0147D1FBEA737FD66B614FA097819422DAEB9E1F04B81D4B1E569AA84708AFAC7A9DD92F95D9CAC1137404F950C70D0E337C956BFD2C7B64A3B99F1499F9B297391B0996B42289E205B47900168F8BC3A30C84CDF00AF52EF14D8B4A87675F8859E9C3980524C2081D3A08DE576C1FD5B40459E299BA89FBD05C8ED01E3BEDD893F7EC17DD1BE1EEE0B19186E739DDE650566C395EB143451C09EB51C6E14EEF3FC3E20210CE62C49D0BB862CEC28872C0CD989050B56EEEB062AE2645C1510635E4085F5940EEC6274CA982E312AB21BA0930BE4D6B57AD8D36BBF58DC05D353E32A5CFCC4EB008610E24A8F2A1FCB57BF6E4ADCF80D3408997D6872A2EA5E94E74CC184ECCBBA15882745E03146045DBF6E94127581CEE20F2F408841D1982132E5B7F582B91784740761EFDC9346BD9EBB3C1FD341C3056F4DBB4B36EA9E4BF05C965B367346472D0EB55B840ED49EF245C6F86EC5394063305BA0DF45DB30F7658D28AA988CC9AD97F0A9C0B3E59FB623D55C61F2E202521714970C2285BDBF7C6119FA3097D82F6A1EBC33D42C85A93630AE18521A2F8AA785A17C2D9354033FE297B172EA1F06CCA686DE4E1A28836DA559E4405856411D58533CE33C6B573EC51F0F565499F6FCA8837FC80BC4925867EEB6BDCAB15EF1C70B17E02A535E2F423D36591A22CF527D118D5C540A6749E1C206058C0452BD9C8F5885EB5823BA8515C105F8D96FD5F4AF9337E66D35069D19EC041A7D979452E5743A6A22DA0DF662FD9D1A2AC3F8D431A61F4FB944089C52233167E0D53899B6D45C51393F3EF6894921486D2F9F4D5E6E95107FB975C8E856AFC76B06BF3648668EAFF6AA59FC9A3AA536E548880D4D79C9EB5CFEBA4D6D5D402197C0E1608500D69833C069BD1C45D766A7BC783C0194A2C813B223F141D8AE2868FD65D68DD67EF463E34E4FC20C7777BE17A3FCFA51A9D98FB23B341B12CDD2B430B0602CAB03A226C7CEE4F9488C8319DDBF4EFF1B614BA9C1FE0098E9CE1B57EA4D8D777EE89F4C2E3C729216B6B2EE2685DB9C1945B27986C748DCA51BB361824824FB2A31EF9D7244B734779B86354BC0DBA438D378193A84785B6B864306EB6E6A0A80FA2AF04985FC540477B911D7EA859D8F956DD1DF3E464D884A6355E8B24CA3F05F25EE53B23EBE43CE6C32774FB74BACE33A12E7C1798B7116BEE1245CBE323882464C49B647D61350ADEB84CAE9C61B02BD702E6D8DE849FAD57A57AD297150312198D89EF1366E45286F4BCC8217DB2EDD39B144D6BA1D6CB0D1C74BE396CB535E6FF9900AC371A6F9E8DAA45DD1B1842FC685D1FDEE0FC127A165B03B561002CA56F19143024C41520489BEFA82AF92FCE5BB220DCEC1AA047B299F7FAC2BCB489C99044AEFAF2920C324597DAACAB92F6347BC0EF95CA619DC19A7F28A1CBBACEFC85EA2BD7A769E6BE424F4AF08AF7F24F5475EE2434ACEECEC18BFBCFD3479226363B2BFA915DA76B839857A33641B4B9F64F15702ADB3964E5DB19FAF48489A7F6F9F56A2A258C54E0E5F97F382FA99274B2607D3D6A6B94CA075EB454080B01435C5ABA8B45AD6EDFD00DDC0270C7E54919A43DC715CB7B37E8423C7D2285D222AEC66E4DC4B55BC6EED3CED1B8D5B364F5FED35BA0312E46418192937792E865EBF5D5315F1E395194004B77F1D15E48203E3E5BD2C508E3CD8D1E2075B3D6DB0A5B28C10F155B13954297DB518A3E47DB5DA1C0ED8536FA7B5945E952BB5C4E24C40FCA0C344302A5202B92A351738225505209D810789F7A590672ECAAD866ACE771A3F9091A1695DA17B3576213A0DB5C4641E78045822AFD939B6272D12E05CDD1040681AAEE55523BE6371C53FCED13638A9448C0E9AF8AEF55ACAF723D513DAB5138F62E28FEB489E75BE072418051CDFDABC7CEB0C99F181C6AD95E7EFF5226BE5C4F4EDEE7A8C4A0500241EDBC363CB4C3AC12DD046EF0C840933740F48C63DE39C082FF4374C2D8453F2B813F397B822E90FD59B448262C00FDCAE73BCF90CAE164BAE33041CB809E7CAFCFDD658065B84B7C370CE3E08D505F7A2BA783A666EF74D8743336FA4DF4E20A1F8D58CD0B0EFF66FA77803F42169F51109A4CCFD008F36E23EDBAAA6ABF53B822C9EF356B79027CF28DF9E5D5D7CA360AEB407CF02CA2689F8131C78CE6DE7C5D8A2DC65A91DF7ACA7787ECD5145C5C791B7428F3F9CBB22F584EB564AF89263F5750CB37C8151F205B2FCA7DF746226D5AFE10177C8BC456452EA65D449E19B4253D6625D5C3349F3EC3BE554D4158DF219DE226AF379A422A8DAC91B97C64E19C120141D806767F7EE931D88E293EE8AE1EFD2766EE83174DE19BB645EE3455133B81E2270AC1C7CCEB037A50A5CCD540F00ABE27F05BBC29A2F10542CA0AE130D2B2A1464DB03C0B2510A9E7FB98AB24FD391CBAE0A112A66EAC05304127D1545BE6638B6D35606877719C3CD782FAE3FAAD1B89EB603750C7B5C3CE84F93FAC147346350C750CF2CA7EF9099D6725BD31172C37FAE60E07F33572CB843E67E8662D0DD55E424AFA9B1D57CBF9DDCDE447A3B8B604EFA253EBB2CEBE01521F0353C521F457F451CD93346D815D6BCBA87B3D2F96A22ED17C17B90BE3DDF7E04838C4F780BE2C96B781558B4A4999B3ADBAACA1229F22FF637CFC068CE8802F8684AAC32AE32BD09CD5C1D770900CC7C5FE8DF41E8110FAAD782C15C3CD637BA619A0037D7378C72CB0C95A35A9109BE11F8C4BF0D3BB80949A15C64A0D6F52A9B52A521D06DC749CD0E553418E127FB519BDA401F59E5AE517CBC2F538B6C32F9CE5C34088CFFFE03FDC7D36A7A912EDE8254B7EA46F1262973BE564089C44825437D8DBA98BE04CF7F6AB5D03C5C10AB51557F331D0B1B919B9643EFAD709080D2FF46BE83E081551F64ECD826DB09469179FF4B068CCA172D1E16750BD6D4C805146DC0221A555C81931A60206AF7CB485D2FB7FA9D7AACBC3E3729EB09979D2E683EA3ED8AD3B4BAAF4FE25F8B227568795563D3F2902A97375C521BA20F9C5E860DFAC83A0F0ED347588F250A44F01C93611405AEB04C6E75153F0A6E064E19D895DF7596C6A48A0BB3804A78937A45BCD05486314BAF72661349E8EB516FCFBAFFB31639716C5B88CAF4255E20EE90A6EF402E7A39C5CCDC5B196A99C5455639E9ECB788F94ABD7A711833B92DB9FD56B6412BF84C6BEE9505682EA300CEEDA496EF06CC477C272318F9883212794E9AD88177B65CECC1BA8474D3DE7656B61A3B832240578A4FF704CAA65E01A29F365C1ABB1DF23D61AD41C08B092CE870BA1103857DA37D8F5647A5D5ADA7BB1D9804C547C187BD1767258292514491CEC97BA41F48C6B581FE8E74520D0F0F6B0E44C9920290F68684D169253087540EBE733AE2465254BA04BEB703F3A309BE14B4F22EA63AA2DE8E674D2AD446F356D1CFE1207A5ED7C2D565CCD5CC1EF0EB1E7919C26E92B851F7478C83DE6CD21A3547CD4464A6B6B4DA6A8D8F736D16D818063D1FB95A8D6A46911FC564AA5CFB1CF76EF09D0C104648F92DB9B28816F560A24935923A945A1FB52AD9FAC6EA2E640A64F79F25693398B0A0E567518D950714A8AAF343A68A4EB1EE1F518ACBE99E05041CA505AD509F6EBCC68C84D85DC17E60F0240EC848A842F4A1ABF11371F46CE69D5B535FAB5634523E359AE14DD07749FBC6390EEB9E5330FC07926C971C719CD02AA565048CDA7E534365A3F39555F25BEC847C0FE5A76EF68F038FF552DA2722581CC14ECEDA1297942A1A67D0501815747C61517A9AC876DB662641F750A917EDFD8EA199D27E5D56855E5200791CD404D15B6EF6F5771234B0902C9DB5B033F260359F1A52E6646DBDE9E4F9876A7BF2C5FD7BA028BAA306FF9D4287DF88AA055C833ED8AC6A56D2C83AD69AD3FD6FFA96AB717444035D3B8DAE9D26D475767CAD452B607B3ECA6C573C38530DB071968B7E1DC26058827C57AD84A14B495FE082419255C495C5E13F5BC34D96CB498378CC16DBF6683D54836E12D44D76956A6B0CE788AF5282B9F06B5BAD30347A1D537EF864BB0C1496176B1B10118D02A56407609C0208E860B86A47C82B6FDE76CEC5AA70CF58B4B110D67E70E7B37DFE3A1D530183111E2AC6B30736BE4FFD6DBAEC5DCBB7194B9F0CC733F0A3A +MD = 93436CF55014B533DA3F890BD31879B4DCDD88FBD80343B6248C8D7C + +Len = 34304 +Msg = 0EBF64AC017FEBDCA40FF85FD4AEB8F1A827561C150F74CD5E864857FBBA9C08A46EFB9FF7A16919618C9FB06BF8FE3F0859774DA6C38C5A0C54D44075D1BAF6482B7705C8E1A86E79B0FBF0328246B5E6BE013F934D4ECC34808A3639C49464309DF5AD250BF4521E41B4CDE563566B8625076AD7E260018EEE2F3252D15F36BDBBCE3C74758C68A0E72D83A37DB4D2022A80A4F6B16F4515053E1FE398CC6A74D343D4CBB403597AE68533E18EF893F756F6F554F98BCCBC84702D19F875D347C345B09EDFCB1C71BD6955C5178DFCB07376728CFC3AB9565C0A1A8DCA78221028B00B51B175A2DA2CC0A90C33C169EA8A1A2E375C087AC3657D28AC481D5B5C225AEFA85919FB8628F32F42F1FC0806A250143C084322FE9E30BCC8B89F3DA73469CEB935EE25887D843321CC8ABB3C75E15F4894CBB5731782372A5631979BBE6AEACDFB711A84F83BB89E0F92B88C5EE83E4F9A3C4F80624A17ED5549B77ED7D939C368CD9A92EAAE595105DE7E2889CAD71D01201580038FCF4AB4D285A13BEFAAA14FACFE5099A83F9E71D512519D055F44F757757BCEBBD2734CB91C5C4CE7B411D1E83B42689FDF8A69E63DDFD255B977D7435BEEB5DEBBBA7A47B19CDAB3F1C40E79B926A481A1629A818525C2A198983F23F0DA5DA8B99633689292332BCC2A4AD49769B3E448F8CEDB87C1DE2EF5D04E1C3A8116C3328F6B19B59C318E18F8DB29875C22A0A0C8EA615A593439F7B90AA2AD9C16CA573040A8190A834370378554BDA9DA9486AA3CE3F1B01DBA14B032B3C334F7A1E961426302ED2D38C34F61D7B4D182C0CA303C2F379E74EAF65A48D3D8A95616B2ABA5C88DBF6284C5CD68D902E3958A7B9529F49D38091BAC288734247FCE886D49BCE00AB98B1B962A8DA8B4710644E9DA418529E79A27408B52EB655FDE025A129A38EEEBA936657F725F0EC668380B9DD50C0759AC150F81B696B886E86A5447CCDCB3FBEC08C79471DC3111042FCFFFADC1A973340DD68610631FDDA6AD25148C2D0B48ADA24E6B2D42EA7510991C0455BA1B7F393CA1FA5801F182F89117885455DBF88F63CE0B77669BA965B73A344D3C4C787E3B4AAF58C56FB2589967C71969B1FE92C5E7D91094DBA84F470437339C1DC6918DD5FB835CBE69750363691B0CEE7B80F0D0AEB31DDBDAC52F904A3A91051B54ADF75B0D195763D29FD1B88244F61D6A304807B646326E76FB880D1DF37281A11CED52D5B5873668642C72CD7C70E36825CC17DA6E03C577D12F79CCEFD6B7B76C88B19F7606536793D8D33F7E0A598769883B417C3662B6267001BE7D0914563B2402149357D1C64680DA80B32207A67611EDF0E8D9A767E2BE2ABB21956FC764200945E4BC5830ACCCDC80DE485086514C63DA7F785CBA0C1E9CE5B249B52E7EE570D8657C63C4FC90856DFBBB24C8D2A711CB3A0960685EC55540F6EC2641A429D3DC99D82F26D2C7EACC614FFE988117D8F13B7442A9AE2929D3E1F67B974BB4A4AA960015C9216AFA844A243095F167B114700FB11215EB54357BCB1D4792A0B676C708E710211C3AF73D61B82F4D04BC40C898CE00A2D34C77F5E22DB71F46C939A0EC9C37D1647E23A0F44CC23D710A1DB20E38D009C6580192295C40B478A85A0930181D0962C3B18B6AAC7F5BE99607ADD25BBC23A7530E7E58C93F9FD4AFE5133FD228C6B4D9E43538CD9DCBE76C4D7DEDF22741839558A6B561847327DF7CFF1C17E03EB0ED9DD921974954638CADBF645A4BAA4A62774BA66E2E458A1F7AC67EC394429339C2F620D457F5DD06AE551B69BADDEE99A6C93EDC7BF7CD56898CEC4AB4E633489DD1934B3EAB68601E3560092CB9B1C64B90C9FBB6F62BE60B0E221F1F6E1D58444B731B30AB04C40988093FBD396E65BA703F52ACE0695035EE78E7A4969D3EB5834C58EF60FEE1DE0F0E03E4203FF50F957ED68513F9134A4332B56044EE14CE80EAD7CE532ACA58B1F98423C3CABD9921F83A81C7467B3C6F6DE4B12AD741C7345BD645854BBF859D110C8D60F53AFE65F6A8A0856BBF78954F8ECC831FBB43F030449A9FE72A3C86AB7962ACD28975530CB567CEA713BE76B2262A70896B8A3CAC66772C56A9ED139F3F4349898AECCDEBD5622F32A75EBBC9FE202FE56C957356D40AFEE4718C52D30FBF683CE17056E672F909110C087D361C196FE33C6D80DC6925769F6A93DD41B5BB5FEA806F3BF56C50D69B45A371AC5DCF5CF356BC552E0CF87E22AF0F121B21278B067138E2AFA098E7EDE1C0A8AB29B6CCF6B85D39ADB9CEDD013886D2C23C273A21267B2F2C22B5BF25D5A5CBD083684B454AB5FB854F90CB49B2F53795BBFD46348B30958398344F9C362040E1412F331E2DD1679F31ADBCF8D40BD3BF707A4F3558239A0B9488B3D6A264E6DA3911B0BE47DFF3257B193129DDA9F3C0D9ADEB161F8426CCD01AD2D0854F7319E12DF89DA88C98FBFEA96D1F40BD098AA46BEB471834B039D6F001F804ED3DC47CDE01D5B594D565D94F70BA7387822DBE8D0E44645A914F25D1D15F38EB4E5C9B4F48C6146DBEFF8D36C17E5E57A3F07E561AF390EDFA4E2CFECA19722A3BEEEA23782CD7AF8A61767B010F89A7082E04E807F5CEC49BF5AC71DB3DFDC5665CD1FA5B9EB0C3C7343C674730EC650A13BAE412126C68DAF917862ADB4E220461A6CD0C7511F4F31C47F8A41AC54FC0B34F07DC15060E9A43855DA0A162436B1D3A4B6D8EA87229FAECBBD9A2F0792266DD160E0F8671690411F8A9BC7429F8E0F4EB0098E33F0532057D1E05E6A78FF48A6BDF78176FB462E56B305476A78F099786A6793D2FC3F4F74DABD3A34BC2E50267F06157494B9966E1BF1F8708CBB770580CBB2467FC1B3595345A49A5D8EC528F3E2B3F91B06E0693F87FDA3B68CF99DF5C47BB18B767FBE74EC0B664AC0F1CC6592F01A5659A7F3B4293BFB8541F0A9E3F923A547DD1C784ED624CD3A2C9D1B8C308B3236E4146C93CDC36E17DFEDA5C123E735AD4FEAADCAABF9581BC1060726F545C308E56C7310093F7938A2083DC468BF5FF3C84C2271EC7533838FF15E6F7EE8C71115EA8E342BC33AD64467640B11EFE5F33CECDEE3058E8C17F8CA0488918506FE2FA10B92B9FA87DD7305362D24D4CE454A779612B112C7C7E6D4B632A8475EDADBEA13486CFAF5647E4DF1FB135AE793F8E6D23216B0ADF664A14397DAE07E133A1A58E15B25E9092B61FAD3619BD551858144B80D9075D34128C351643F101BADDFA990CE910F2A8D721B64C495A12F07AF3D32CEDAC92E20DD9638C0DB36EB7B1286138FE056EAE9D91C4A0AB7DC5267FB16A41B771EB01D54701FB43570482157BE10C6FA9E4D866B8B5D650EE6F3FE117B1FA79CBE4F8A9B97928EBA2FCA6D7669B384184895BFE76ABF484B03B9F7CA10308C6CE31197CA15B1A36CEDC3774B6B9DDCC2431E732DB36537F1F4F4883E81E7B3C6D368B4EBDCE34C657711D2CBB4158D519E027C5B4B64575AFCD87CE736C45028D378D70C0FDE73B5499FFB307B9DD82073833C0A84769964FBD7D01C4ECE805E122364B2B485B6DAC7793F1EE7F1CB2A50AE6565CD210308260EF64D9B2FE8378516AD093960D5CA8CFA9FCF28762998020743086B93EEDEC324784428EBA23141466185C740055B1E87BF7F6BEF5CE8E28DD270F9DA64D6FFF2CB0D73A734D45DC56CD03BE9414DB568EE2366F2166FD6D43AF9EEECB13C4A5D3A8E775BEE5942194033AE3EE1754FC046BE91130979AB88E47A4CEA379ED9E77BC4310DDAE2BDB7A5B941E3FB6081CC3ED710E0C603D47EFA82FCCC0D556D4AB58825EBE6EC7700F02FB7A0EED44CD2F8772CCDEE4BA4B883DAAB46264A569AAAE97A0E4369EC00F59D841A1A7CF2D39BC58725B248C7B159D6D68B3D9721231CACAAD38F26F357BFD31FFCEC18CF34EE42C3B375C827C4284B31FCD4374CFE8C2C7A6B952581C9837587CB161EECA237290AFE8095E069A99514DFAFC2FD8CFC734B4AE64807D3ACA2681ADE0FA018B17D2A61F30F0307AE86D67D4A14D9CE214CF41EDB702735F99D58BDACE7F28C7D95A9CAE8B079708C6C7E78ACCAB67F67A598F7C86FE8B8AB6539B2EBB376B6A17144A3ADAD6BE5D617D30607AB4D94C11A7C1858E19B5C7B12F9BE4AC245A9E91A22EE5471AA58538AFB35319F53D6DD69BC2AE48D2B649DFF6E71DEA3B797C071A0C345F66DF053475A40031F323908C71A198C7FB2D542AA8DD97B2F1CE01D11E7FC458518CE1CB451BB9B1D57530D15EC95BA73BD5A386947FF8D0F565549A11B88759D6ABA3A83967BF9543E640A33F6F9D9655A547785B42B11216EC1CCE067630E89708CA896733129DB5312169003B8FACB8DE3F99E65427AEF51CC1C91005BB7F5B65218B1B492FDD67761E0F7C2FC60F7ECA13B09DF6B2A53B5B9CEAB43D5A1EC3260A89B54BC257850F0659E3240DAF073CC5236F65B159CF8FDEC771911C054BB417F6799330D443A735704E66EA9F1D3351837197C19E8226D27A1EB5B664781CF0651231AB25678A4C9F9973DA830ED3871A6EE638DDA3C789B0AC27DF49717CA2A1DF46968D56035EF02B712D12067E72B1E661120FC1FDE4FE6B11BB4D189F29112DBBD6DD0D9E4E78501C8E5EEECC333B208D7B86522C61DE4ED0D4454D19CA62027627344F455C05F429FA17E4A6F0BAFCD4B575CBA3755B042382942190B6EAF762DF7714797E916D58E7DD0DE2CFC41D8E6E410DE623EA5C547334D3A21488CD2D65E6F9E0F123166FD8304309D0160B5A605317E0122308F9FF065AE6ED422437C962A1362EC1F2804B274E3BAE118292FF930BD519EFD3A93E40F949ABC60E8E9190DAAF9FC8099A44311861B02FFB4F9A0AEA81999170ED5BD14B727B42EB44B0B55983F1AC2F2BA80734630D6B7500D65EAB42F6771EEA6872677E252DA4C717BAA07760BFC5FE09D4835A65200A80C2759A476A930B7FB4A738241C3E73A9C75D5A7F0A0BE52138DDA2812AEFBA8FD78D5840E6EA1D15C57EA66A59B3A882A8FD04093A5815A5324BE75C4F83CF16B785D2D3BD36602A0026A9895CB343688EEA40CDB483EDCD87788B668A69D0BC75B07D8C8247A9780E4C1EC342C1198295D699F0829E41A78F0F9978DD52D6491898F1F05B979E587F711DF66F38C23C2BFF9C69086AB970C468315B3B6C36D58A7AE9C749FA06429E6781AE7D49B3B368048641A63DB95EE293A1954201CAD72E92A85E34C7A74B2FD1BCA6AA61435AF2DC32C1A2F559F63E716A6C96F076097E6C45F4372AE6828E9EAAE3EB82361710EC14F67F7D0ED9859249C18D14985302847FC8F3301BD31C7E1E09B2057E9EE46FCC7C9BD8DB59EB0DEB0B1D8D291508CB3837C9B2F191A49595D6AADDCEFEF0DD59ED3A05FA8F6EF03D38F534139D56BCBD4BC3256E1A120D49A5DB1BADB528B0256C61A2F179A23C49928738F9C0FA81FC196D1A74507998415F070EF9C38BAA53951FEE7B68008BC675E0E15BC32A61C30BC132E79C58A3A970FFDDB8B806782DD31242B3C3CF9810BEEA5FB5A1B250EA62336456E7694B4C829508C7DBFE090AF6A850F79D04D2C698637816017F8A920E1B1ADE236E227B3480899BCBB991F6C6C240BBD4114AAF9875935558394A486652B0942F3409B66FAF8B8BF711CC8C34CCA41B8E16C2CDF0160B92A332C1F04BC64582446B98AFF34189675B7A10FFC6F13B3F74654ED7C0590D4AF7F4D747BF89BB2A8F5C8CE610CF4FA4AB714A845E15649B53E54A95213D5A73905941D9467B0BEDDA2BECC1C219E1CAB699652D85B8CD7E0CD11CE5B0CAC76F9EF3D74BD829877898E7350CCA72101076A970BEC6756C3FD1AAF3396F72833F8D4E716AEC6F93718B262710B0DA2F3FD6CBDB204ED0E91D65CAB39ED35F22A01E5D509282752837EBEE968B140989EF5F4D513452784BDB892CAFD8387E05B3012C0458A369E62191F5BDC57DD63CE42E945F493C2B42306B8084F3B25E94ABACF08EE155F3621ACC9626EE487C7A7E4667F0377AE4B2 +MD = BADF580A485B279058183B4D53755FBAA8889D34B041619BC292E8D0 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_256.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_256.txt new file mode 100644 index 000000000..e6d51138d --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_256.txt @@ -0,0 +1,262 @@ +# File generated with ../../loader.py from LongMsgKAT_256.txt.old + +Len = 2048 +Msg = 724627916C50338643E6996F07877EAFD96BDF01DA7E991D4155B9BE1295EA7D21C9391F4C4A41C75F77E5D27389253393725F1427F57914B273AB862B9E31DABCE506E558720520D33352D119F699E784F9E548FF91BC35CA147042128709820D69A8287EA3257857615EB0321270E94B84F446942765CE882B191FAEE7E1C87E0F0BD4E0CD8A927703524B559B769CA4ECE1F6DBF313FDCF67C572EC4185C1A88E86EC11B6454B371980020F19633B6B95BD280E4FBCB0161E1A82470320CEC6ECFA25AC73D09F1536F286D3F9DACAFB2CD1D0CE72D64D197F5C7520B3CCB2FD74EB72664BA93853EF41EABF52F015DD591500D018DD162815CC993595B195 +MD = EA0E416C0F7B4F11E3F00479FDDF954F2539E5E557753BD546F69EE375A5DE29 + +Len = 2552 +Msg = 3139840B8AD4BCD39092916FD9D01798FF5AA1E48F34702C72DFE74B12E98A114E318CDD2D47A9C320FFF908A8DBC2A5B1D87267C8E983829861A567558B37B292D4575E200DE9F1DE45755FAFF9EFAE34964E4336C259F1E66599A7C904EC02539F1A8EAB8706E0B4F48F72FEC2794909EE4A7B092D6061C74481C9E21B9332DC7C6E482D7F9CC3210B38A6F88F7918C2D8C55E64A428CE2B68FD07AB572A8B0A2388664F99489F04EB54DF1376271810E0E7BCE396F52807710E0DEA94EB49F4B367271260C3456B9818FC7A72234E6BF2205FF6A36546205015EBD7D8C2527AA430F58E0E8AC97A7B6B793CD403D517D66295F37A34D0B7D2FA7BC345AC04CA1E266480DEEC39F5C88641C9DC0BD1358158FDECDD96685BBBB5C1FE5EA89D2CB4A9D5D12BB8C893281FF38E87D6B4841F0650092D447E013F20EA934E18 +MD = 59E904B2AA0CCBF2A9D127446F113B7CC3D07B970E07A322325ECEE66AE0C9CA + +Len = 3056 +Msg = 023D91AC532601C7CA3942D62827566D9268BB4276FCAA1AE927693A6961652676DBA09219A01B3D5ADFA12547A946E78F3C5C62DD880B02D2EEEB4B96636529C6B01120B23EFC49CCFB36B8497CD19767B53710A636683BC5E0E5C9534CFC004691E87D1BEE39B86B953572927BD668620EAB87836D9F3F8F28ACE41150776C0BC6657178EBF297FE1F7214EDD9F215FFB491B681B06AC2032D35E6FDF832A8B06056DA70D77F1E9B4D26AE712D8523C86F79250718405F91B0A87C725F2D3F52088965F887D8CF87206DFDE422386E58EDDA34DDE2783B3049B86917B4628027A05D4D1F429D2B49C4B1C898DDDCB82F343E145596DE11A54182F39F4718ECAE8F506BD9739F5CD5D5686D7FEFC834514CD1B2C91C33B381B45E2E5335D7A8720A8F17AFC8C2CB2BD88B14AA2DCA099B00AA575D0A0CCF099CDEC4870FB710D2680E60C48BFC291FF0CEF2EEBF9B36902E9FBA8C889BF6B4B9F5CE53A19B0D9399CD19D61BD08C0C2EC25E099959848E6A550CA7137B63F43138D7B651 +MD = 6C2A841318066B90A9604D0C8ECCB2986B84A0C8675CD243E96957D26E9C1CFD + +Len = 3560 +Msg = 20FF454369A5D05B81A78F3DB05819FEA9B08C2384F75CB0AB6AA115DD690DA3131874A1CA8F708AD1519EA952C1E249CB540D196392C79E87755424FEE7C890808C562722359EEA52E8A12FBBB969DD7961D2BA52037493755A5FA04F0D50A1AA26C9B44148C0D3B94D1C4A59A31ACA15AE8BD44ACB7833D8E91C4B86FA3135A423387B8151B4133ED23F6D7187B50EC2204AD901AD74D396E44274E0ECAFAAE17B3B9085E22260B35CA53B15CC52ABBA758AF6798FBD04ECEECED648F3AF4FDB3DED7557A9A5CFB7382612A8A8F3F45947D1A29CE29072928EC193CA25D51071BD5E1984ECF402F306EA762F0F25282F5296D997658BE3F983696FFA6D095C6369B4DAF79E9A5D3136229128F8EB63C12B9E9FA78AFF7A3E9E19A62022493CD136DEFBB5BB7BA1B938F367FD2F63EB5CA76C0B0FF21B9E36C3F07230CF3C3074E5DA587040A76975D7E39F4494ACE5486FCBF380AB7558C4FE89656335B82E4DB8659509EAB46A19613126E594042732DD4C411F41AA8CDEAC71C0FB40A94E6DA558C05E77B6182806F26D9AFDF3DA00C69419222C8186A6EFAD600B410E6CE2F2A797E49DC1F135319801FA6F396B06F975E2A190A023E474B618E7 +MD = 0EC8D9D20DDF0A7B0251E941A7261B557507FF6287B504362A8F1734C5A91012 + +Len = 4064 +Msg = 4FBDC596508D24A2A0010E140980B809FB9C6D55EC75125891DD985D37665BD80F9BEB6A50207588ABF3CEEE8C77CD8A5AD48A9E0AA074ED388738362496D2FB2C87543BB3349EA64997CE3E7B424EA92D122F57DBB0855A803058437FE08AFB0C8B5E7179B9044BBF4D81A7163B3139E30888B536B0F957EFF99A7162F4CA5AA756A4A982DFADBF31EF255083C4B5C6C1B99A107D7D3AFFFDB89147C2CC4C9A2643F478E5E2D393AEA37B4C7CB4B5E97DADCF16B6B50AAE0F3B549ECE47746DB6CE6F67DD4406CD4E75595D5103D13F9DFA79372924D328F8DD1FCBEB5A8E2E8BF4C76DE08E3FC46AA021F989C49329C7ACAC5A688556D7BCBCB2A5D4BE69D3284E9C40EC4838EE8592120CE20A0B635ECADAA84FD5690509F54F77E35A417C584648BC9839B974E07BFAB0038E90295D0B13902530A830D1C2BDD53F1F9C9FAED43CA4EED0A8DD761BC7EDBDDA28A287C60CD42AF5F9C758E5C7250231C09A582563689AFC65E2B79A7A2B68200667752E9101746F03184E2399E4ED8835CB8E9AE90E296AF220AE234259FE0BD0BCC60F7A4A5FF3F70C5ED4DE9C8C519A10E962F673C82C5E9351786A8A3BFD570031857BD4C87F4FCA31ED4D50E14F2107DA02CB5058700B74EA241A8B41D78461658F1B2B90BFD84A4C2C9D6543861AB3C56451757DCFB9BA60333488DBDD02D601B41AAE317CA7474EB6E6DD +MD = 0EA33E2E34F572440640244C7F1F5F04697CE97139BDA72A6558D8663C02B388 + +Len = 4568 +Msg = FE06A4706468B369F7624F62D04F9FAC020F05152F13E350016B2A29EFFF9A393940C138553356B0E2848C01B622B95FFA11AB07585F7DCBBF90E9F8EC5FA2FB7B4CEE0D0A4E8D33490ABD058CF3BB85F0CD9B1BD3E9823082D70B1A92ACA6F2C87216B4BA09FEDDCAA4CF254336146CC75604FB1F286918FA2434CA36BE2621049438A400BDEEA6C657F0301503CD7E6E38350838F60EA7F001755DA4142CE4579B39029DA83F1646B7ECB9947EE89ABA377099B82026960B9EE600779BF00D6EB0CD09226DB6915A7ADED27E6749E2CBC2C8B030CE1850EBFBE24C0658F29E9E709CD10DB8A77EFDEFC90FDD7B9AD7A7E0334412A53D248C4C12BF2987B7ACCD2A8A602F184583AA560C016093B56B100154477B834664E6B85A19F8DC909B4D79816AF12266C731E29A304E9BED8EF1C8030365B7DEAF3D436957308117C7C5767E0CDA6E342DDAF824233CBF4E699DC667357CB35C602AC6BDDEE71B352AF55CB93941A1A6301A9904447AF9EE486114D57AE03901F10084ADC0096E465E2EAD2496273112F2FAE626E230D42EC22EA10A8289B3E35EEE42150769D6E663A3CA29174316EC93A24F148D984053B8F98664EACA3E0DEA0B42E8EE30F81A2CD6E42C189A25FECB6E643E693E1F8871B837C3F5FF2AAFD1650A465DC8E5C1993BE65CFFD87F2C680C86B0AD3118834A5F2E490015137BA945C2775DBD77FB3E5C67819A9A7A94A656FC4761659C5B30ED2AC55A6D249B700BC9C93D590490AAAAA75A9FC34A90D5A9106F2860BDE19FE5815436068A7F8EA4636A +MD = D31038EC77CCAD00AF3D9D5E9F5CE717F5945BDE71C87CEA837BE4B360DE595A + +Len = 5072 +Msg = D0FF6E045F4B636F75A389799F314066644854821B6E7AE4047ADFDE2D0C0E02C250F0BE582BEC94011189B964A8AF430F5921ED9D9F4446E4C788515B89CA69E5F7CDFCCC9E83E8F9460145B43DDC41C07CC512B7E6FDD0E1E7AABA29A6C016CCB7BD54B145F3951EAB9BC4908F623E5A9B0C5B36056292540B79FD15C53457DC74A65FD773A34D6B313A056F79BC29A3FAC15F6A1446BFAEEAAFBAC8ECF8168DDE5F6AE6B6E579BD3CE74E7ABFADF361D0FD32D56586A8D2D4FF4CFDF8A750FAFDE4C2E9EB32B06847FA30B13CC273532D1A23C8257F80C60B8FA94FA976F534145CD61C41C0A511B62CADD5848CEFF643F83CE43F8E6969C5A559AFAD60E310599A34B2E5E029FBDDF2988FCE59269C7128A1FC79A74B154D8AA2850DCFDBF594684E74099E37882B440367C1DD3003F61CAFB46AC75D30E677AF54559A5DAB70C506CF61A9C35E0E56E1430746916DDEEC8D89B0C10DAA02C5D7E9F42621D2B312EAFFC9FF306297952A32D26C2148570AEC90501CA739CE5E689E7066D9580A4FC25E2023897C74C6856273133E1275A0D275DC5B75DB724CD12C9C01BB95AB5A227B7850020630506096878D289923177183EA9282A4C78EC212D2E898CB99D81A3364DF20927EE34D4475A5CF5CDB24088ED75B60201922E9C972D8556CA75F8274D15F3FB88A6B42C766DEF6B21329DEE7C457446DDE8C26405FE5D0309A04229F449E8490CF9000EE8DF400CB7C7EE831BD7059D24088FB42D61681CDE45050FCA78FF64D9C8D1F58B55F802FA5D2F2E723F3E4EED4338B060D31C8ACC46D26870BD45D0DE0798D48E32AAD1A6D4322E69F5E72309B9D7FA1F24BB1D63FF09ED47391C232497BF222C542A70975C8292D275197A4CA +MD = E4E3BB662BE094610F04D5594EEF5F78B1AB080F2EBE5ACF41D661FA13A68DBD + +Len = 5576 +Msg = C9A0B51F3199339C11A5753C9D9C95104B400127087177F14D3E15BE881EE89BF416F97D4F7AA9636C5EF29EBBF8930804006EB26839415D3984B920882499752C36A5BBD583308E716DB16F28DB98B3A3E718A2EBCDFEFA75D7CCBB6A746E32FEAA38D034843461DBCFCA7F983E19F5B23EC2E3D74D2B4402F3BDCE7D7A9DF1384668C746CCE466B0654CDD5CA56A77D68A100AE06D63CD9AF512AEBAE78993808CE672330E2065C0F71E05C0FE821CD5F85732315F04666F3E4E6C4F3E9F415E31FE0980D874994108E12464609C6D5C19CEDFC85846B0A84EF3CCBD3B655FB0DE8CB892BDF774DF39C955F04F322856D470981BEED0F752D82EAD73B4131C5DBF0424B4AB654F72E26EF0CD292B87BD5B66FBD5E7EBA96C62CFFEFD4B1D870BFEF312B86E38ED5C0F50935E2ECF9FCB8C95D35D19A8FC8F202BD9DBA768CA48FBBB071179413C0DE4FDE86762ED4B13E1EEF2A00ADD5D1C2A3AF7937787DEBAF1F6F12F3F0225FFE587A5540CB550F7BC11DD6AF864D6B6D16DB1488CB226EBB2199DA75FDD59A71158867298F63961B40A31209F8F16629B1CCE7FFB617072748FDE8920D11CC0D0678389D1F719DF3ED19846FE9893B04DB60FA603170D9573B1BFC7DA663E07254552AB6253DDE814117185F84373FECD7F98DED170C884D41D1AC81814C73EA48AD94ECA1B7733D8393E320C8C467EF6189B4AC324C68C8A2ECF679C893B7DBC4310CD05DADD80BB6326B51ECD99A441BFF77BE8D644D752F3C5C794E7D45BA76283ACF8913BBF2A420F9E5D14D7A23E95FDEBC69B455E466423012E9D1DE9353E40D4BDC3107C3144B96C6DAFD41CCEFEB2B7FF848CB9FDBEA8648BE32160FAB7E7DFCCB807FB019EBF159231EDCF2D487D76A3E882F3F50CA48DD08A23B06EE887BD7DF9D7C6CC2BDBE348E3125C4532448F400CD57A8679ABAB13E582B13D49442638E2698FB7A563C7FB264157 +MD = 6E1BB4D034E9B9816ED1A846F903F62CB1BDB8A00D446C9CC777E475A327C58D + +Len = 6080 +Msg = DA5B2118CBD59F408CE56362489FDA69EF73172F46DEC16C0D4A66E3F3CCA373927CB6784CE62BBCB08A490D003A8F77391E82CDD87860909383B054DB95816720112E2F96DE9E0FFC8BABC1350ED46B9AEB5D46B66940EFA311F4853F3118063C550733E7679D871729001C12270E98439E375E0CD24769D318E03CBC97D643F1DC5F1B5EF59D12789F22449BD8FA43A13CE78A4186166523F3807B0B621079CC528F4E17C258D4F9BDD095A3E365614B94F2CD778CACABF26244891531EEDC24E1BF4598319EB8B7527736BB1E734429360F47F04B2E95D5AAE997763A467CC5303D1141C2C01F7AB9EDAB860D180697C906CE1558AEFF5ADCE603F8A4A10FC6C1699189E73B489F64CEFB89AC557C5BB8826C0317EAEF2302E855FBD96777898104365D96AE8A8ED8669C568C4DBEB0A70F6CF4C22FD933014473F91871C08D5A7B44A928295FB2AA56D5E2C39CA79D2837FB39B35C6810C378D749AACB543368A19C137B872229E0A6F469022AA93BCB2BE38B761C85AC09415CA7DEEB38FF2A2101507206FE322A89666D32750AF0F4D7B2E59571F02A048B8F94FE2D231072E301C8641D1CDB4F841AB165AF297495A348BCCD937712E68852A4ACA948C1294F8B733D06D67DE89F206498DD401E149FCC1EDCA92DEB92952EDE4EBDC7CD7992104769A04DE8705027A31337B88E8DE93F6624E8F10B9F9924E8CE5A9D841C9260753FA1492CDDFFE6B4400C5719D76FB5B01B234F32FFE64F04D0A00676FBFC58DBE17B4D552FDF0C5B802C0CADF723F73F86E8FFC493992D23E8C0B84F7220A983DDDA21170B1F730C736E75549AF6ECB8DC94FB25C26BCDDEE420C83E8A45AE4C345816B7163CFE016DCCFE47C66979D610A7F9B4A7B1BA5E230344C9F46BA076F2FCEA68AADA8FA09BF0B5CBB3850DDEDD80A30E1F7A639AC69E5595C6A4083AA959831EBBEB84C018068723192F58BAECDDD18C857E212D4C7E7215B6C954728183FBAA07720B97189AF6A7729C30D28DB33A889F225D027D164F254535770C504C506AEE4EC4676771F69F935BA08A1C6C85 +MD = 6319C9117EC0FDFB189C83B551015145FC61FF66B0D1B1568AC8D17D61F2A08F + +Len = 6584 +Msg = D1890B4704E169C28E44DDF62A1091450404910539FC2DAEB26E8ACF4533B024E5215C2D02820DD8FB2CFC1743955CBACFF0F8F35DFBB5E3F942F36247F68211D518F3F601AAE12A1CDC000BAB43D4C973F287E80741DD1FCF6C34F2E6B4B6C313D01C4FF3CBF9166F26946F18EF2D58271BA9233F09A6B77BFD4F48B36EB3D73D1133C4F842A7DC3907F680B0B773242C11E3DD973A44327EA7CEA9C0F8E07D682B6651E506B587559FE01ED721000BAF570A16FBDD9EA29FA3DEF4BE912058321A8B720C5C102E48A6E7ED6F8838D400DD57D06EEDBCD15323F86D855C94B21E41B14EC9E1BBC8019211FD88138C91F9ABBD9BB3914D26C1DDC21673D2D51263B39D66E741D924CF2B192C5D2C1A140126A3D64A2C77BE6C2C6EBE8599978AE90BD36CBB9AF64D078910C4094AB3BF399C34F2AB8EF843E9FE1BF88BF443BA21E4377E5F49C07FD9653B526E14562237F02D11B904BCA6AC31AE721A43E3C4910A24AF6F4D80C031C109FC0FE49F15274BCA92BDA04C3B4196C192F6CE489C63A806ACFC895AB52CAD657C1783B528E12D0ED856E1F8FC91F2AAFDFA0A92498D68530772EE73B359FCF1418D1096C46B34DCF90E5B468BBB2970BECBD70089CFB039D64CC50FFF5EEF26384D34F24515A6558B06A1FDD88F1050C5BD78CC6ED83D4C2B0E882AEBCF84AFB0430D0BF09F2FB42B8B4589158093A7709AAE75A790910E211EE1333FFB6FD80778DA3BF73858978E9DD647978841B18001DBAAEA43CA0C0A03DBB9BCF30CE76A6F4B2CF2A9B6531B3E4051E7E05090CD421BC66C4731E7122AD129FC42DEDC83BB460E3F889992FBD3CA072686E56B72C720FBC98D723EF7F247286F77CCDDC728738E941B1A74D4F16671C21FDD5643A115DDBCB88EE7EC67EA66FD2BCE718DF6E085D4B5FC71A72696636A8F7B3A68AFA51A896771FAAA7F1F827430AC5E8089DBC0D4175E1B22A057BC5F1724EADC1A41E78FA3ACAA8B97E5F2E19EF9D59AE12B04E7F0E8A621E098A66910E2A5ED2102B824CD3EA044A854F1CD0B33E61E7F737414B2953549F25DD34D19AA1981DE7CD5649FF6C6364A4F25312EF62395A747AB88AAD722C05AEC40DEEA8EEE5E779EF458A68840BC6BD5D29AD40F98B3AE010B6213372ABB7BB8B8 +MD = C7490B05B172A1DBAAA66FAA823108D44C82F1E82A41FD57FD95000F30DE747E + +Len = 7088 +Msg = D9257004993C7AE50D20F534B42B4EC39BF358393B9FB5C8E37F87AC7361354554BE596F40E67B2ED499887E26DC435C4331CDE3BF1A118F60FD821477FFA3B92F6469568CD2CDA6FC0A2B13906AE459CF5D5417DE2CE104D0B6499D3683BEB40715582CE70DED5C5F8461EDEAA38BFA31979661A2DC96D926307128F77700F2C7D38B8A9D6C6F70A3973005350F938B9B4A64E228CC3B3F9C4FD446FC650AA6377152D7F46903D8EC8E9340710E28475CF21E641737E7D7DA3CDF18D01C8F37131E727C7274B2DB759C5586FB84EC36A5CE2D820E553DE6426B8B96111295C19DBA8D17A2B7047FCDF662A59C2AF27A9ABEE37A7F8AFC06944346E343E779EBD895119D7460E7DA998962FB1100E950A8D7FE214360AD263B8D070F2B7DC91C9D77C6692DA0F472A0A4646A1EDB069CCD9CE4CA6FC24713D650153B9A253DB5136A3710198E60934DD2053315D313E27DD2C6FFD2ECF028625F0E937AFD8C2FFB1F646E51A768204D83A649798A51B8E87FCDDA7BDDF58ED943BB7E29C7D7C5DFF024545F6A689AA0E727FECD80B561011A731ACDD9B3F283123098BA66B6B9FCE6123B35B6F3A20EF1055BE9E257CDE97E5AF41EB796438727A62AA665CC9B771C4A2052EFAC61BC91BCDF573F7263107D44DFEB125E66D1F3DDED3BD63845AF3BF4185A9A24A7F4B777C32496A6107B7AC940AF24BE983F6A758E5064F8717EABBB86E6AADA7DA75F72ABED59A42DE82B1AA2642F5EF1B2E7304F642EB2AAFBF00C1183D9B5FB83893EDD48E9034DC7A7AB66F3F392F9666C00ECC9743AC4F777EDCF47B6818A34B7392B4AB8E38891FAB4018DFB99AF06369115D60C4FA073240D9C2605E020A42DB2E1E0AE4ADE3A04B825927A05D4FE3F50C1C7ADD7A496DA7E95825C064315196C2007524D1E1EF2C51303DD1203AB66D9FE89DE553CB4B95A6C5D629B89B7116463EE10AB3CF2C2615F95741CA226F9E9A20E99303888F725C77476533B4C393763170F18F292C89A22DF68EABDB81AEF11CC2AC329C174BDAE5D3CC0BDCEA6EB225E00C15021432264BA7C5EB49A49231D1F7A13AFC238BD4EFC04DA3C15AE0BB7D693A0150E6A5AD9B1E11A490B3CE90C027442501684C528FE260881162D9E5EF84D6E4F73F222E779E58B71D5176D9A27F65E49D83EFBB2D7810E5B06619D8CEF7E7B51CDFB6E8138E4CF5674242F947EAC13FAD08D68A8A11AAC9754A5316C93738BA7F3C3BD2E827A +MD = 183642468BE2707C3349132CD3B0633AA63E5752488C3ADC0D501265FF0529B0 + +Len = 7592 +Msg = 09CF132AB943654184A3FC8D0368B421FDAC4EF1081A29F3691A527FBDBD74C6372233B38DC432BA610F9C54FA68699F9EC2A6BFB0B2CF7AA6D10AE2207A7554163AA14FB6A9CFA023CE63546B7B02AF03370A899EA73B27BDB5C380613C0EA670C659803D5F6F75C0CE62B311DC157DE843A93905E7A28A2557684AE3DB4FD009412A107098F881DC06622ED9E3DF2C8FE69FE50BFAE158B87CA761FE1E221856610BCA301EE68958C25BF58D3BE203AF928A919ACE53C3D99F55AB00DFC8A1A28AB83E78617F194EFC46DAA77573D02FFCAA1F9D96FD8DA8DEAD3D4E75EE5E65FC360B2A567CD34D52BC9AAB8B71160312E8E21AA506105D6644E6863E7D5E75ED47C1760743D113A4526553B303341FCEE5FDD005D35929F2AFA760BB8314D0C0EAC960FDA3263A1E6688098251618C90332005C757AF958714571B77BF2A69030D99F71D1A5259658BE565FBD098070122C43EDFD400999C90A98ACE95315FAEE4F1C0441C9315D527C7FF1A8171415D2A076E2C513D40B03CFE5513C0E74EA3A03AD4958C00A3E1916D34273E301D517B0A5E770393880D9AFB4D0EB44D3140FF7D827C48F67C6D92B865D8FE7C7E45AA50DFD8525F530DE1188F3AF98B3DC625D335E191FBAD5EE9DF09C97B43F203BFED798F7D171BF00C82EA0ED17D5890C3D6B9EF6FDC04C5FFB645E3050406FE2FB6BDBE2FFE083E751DC19F2F06445397019B61CF1F505875520F09C6B719E642B81B2FBFBDCC072B7981A666D51E7065E21244679DFE056BC9D42B8851F9D2905FD838707B279A8106EB894B60A72E4851C344119CEEB5BBE110B1C5B21C9A5F7545283002D4B1C115308B1CB20F6D9CB869ED0459C569662AA5729A7D7178DE7D69E4885CA77C011E785ECF0E2ECBB8F5245579DBEF7A5EB30307E0B40B817BD1112D28EEFD548374BC867E0C34D2236952B9F859903E87E977190FF94F5D815699154F96E5449DDC1A14E4196C83E4FB02F5F58C30EEED691DE47C81F4883BD84F6ED711FED0C198BFA2B8296182D7225E8989ACF55D3612A93E77D24F7B6EEF813FD514CE2183571602976391F5AC4E86DA59A64233230FB67FF0BB9EC40667F54CCB235D04B3FE1D9A47E163CB19C316046FC1353A6642219E9CECF6E3151C0F4FAE1177B67F19B4964DF96BB6AF37012B8EA9E5EE24C57A010C872B15C8A65D0266589F6DA20E38D9BE2E2C215C69F558084E48EEB61F4EAAE83C57F3F1CD08D05783FB9F5AB1CDA5E4B86291FFFB14FE9B497EC73292BBD295C5657D71CC74D38A2F3DB73BA972986B7169F76BA376376F4747ED65F2F1A5E67889AF38A380 +MD = CA372BECEABF8170B01127ADD4D3F709E1267AFB3EFB4271E2E68FE955080367 + +Len = 8096 +Msg = 670B79C6030DA4369146A7F14E6BD393DF729B60369D3D55461E5187D4F8E83114B227524EE955F64A2C607DA850235A1B49FEC6EB51EDC21941DCC67BD07412CFE058AF4505C325D94936EE36DE4133773ACF669515DAF4ED87508589CF651784A8C3820A88FBF7CB60E20A035ECD06405B50F6A13A36E174925B4E334E197E1E5FE86836ACBC1AC681CFD42B2F11F74587660DE867EBBA7222C3E89B42957AC4508F09B2DE9C3B57C883138F0D442A050D8AA3023EA920140F70237AB214BE9FA0C452C54B5020077ECC1F5DDF5D959A5AAEAACB381355FD7B493A1A51CE83E6EB52CC61214A02FAFB01593D5730C7058BF9106B8314F1005236E5BECEB3805BAC8FC4308B2007823BBDB3DC25042D6AB7745941B055A7648F99FFDACACA9801094EA86DBC9D2EF2B61A97AD5FB9FF754190A529CE65FE46AFDA3C0EAE0EC98ED5B089148BE358A8ABA6B2F014A5B74547FDC00501DDB1472EF4AD592EFA8031B0A4376DCCEA8714575BF055B1027824F463E8AF110CCB521B2F1363C0F13256B768645A0377541CF2F73DA03AF0C026E59570D6007BAFC297A41DEEEB32E79364F9EFFF6F81B69FDB99DBAE4DDBA46016F86BE1157693C63CBCFE24C7B6DBC2260798A6C397BD91D4ABE0D5C23B43769B0BA28B6B954E66035BDC52DE03B33CA004B670EA6E341B01ADBC40DE2F406BFC469122EE30192138868326BB642834F9E78F51976C3E6EA0EFA570926F47612CD0702EA82279D60E062832D31785933E3BEB86D187554A1675A61FB0B865092E518AD329F38A70E7DBD6025C9925FB0332B5ED97E77134B8684F6F167EA639FE6545FAE58B611922855B44E520601DD0758319E9491A1229DC49F9F6F9EEADD9CE88CE91E3BD3D13F64ED7745280F4828D3A00D66F3966E0EEDF930F563D8E48ED94BE42CE5F48E92E3F2D801FFC464692C10E7300AB0F85D1D44F353C742E20DE3706BBA4B24AC0048EA6E0B40454B06FA95E5DC2951CB4B0A7D1C15A3C12A3889C7191814161C5181880223FE3070404E61D9D382AAE8F236165FFF3121D1B4BBB5B4D9B01282E2663DE39C642839B34E853BADD9E2E2C82FE90FE755C8677DE6A405D1A23492D84AA272AD94C180300D737758E00DA835DA7BA9EFA3EA0C16DF2FD472C1B57E0D5CA40D43A3459A06A3360217ADF41645FEC31F104CA6166416E36597C35DCF0FA43298B7FCA4F5045AFF900298339FF5DBCC1408D703CEE178C6B194E1015DF362B038AFD349610819FAB289AC11CBB3F19FFC9FA0203C231711FBCC48922422059407EA225F8509761D3C53D83437B507814E61206558C8A27E7D55400C64C22AAE33C817324ABDD7114ABFC01CFB1AFC16296FF6B3DBC8218514B83102BC84272D41C05EAEADCF4A0FD9983FBB79627BA8F905E4CD345C874 +MD = 8FB55EED063F80476CC7B2A22EBDD351D0288DBA7149FF0A99D5C6F89546FB04 + +Len = 8600 +Msg = C595336827259B050DC783F22FF7B033ECC98F9C7CE026809CF388FBCAA29A9D3572547CCC0D5F8D26730617933F809B9559AB20339FA90A525C46A299EF14C9045E6275E22C34093E9BCDB1230198433672EDA8FDA5B16EA9313242ED777E86F4AFFFB4BB8A9CC0A902ADE774AE688095D271CE7DF975F1404FA5DC9ACB50D66D2F93D77E262586CAAC610AB990974845F75820319FE8C507C759DA479AFC5557C32618F65EF7EF36E69F5C893435A592C3D3B3B8A8110811362B22F2D7A660A767D88D6AC9656F0D83F1D0395D477AE9DF5016D982BD6CB972D733F2E010CADAAC4DD20F8B4B798C12C5FCCCB7C7A166E3BD451CE0B83F9FEAFD67AF647ADEB7EEF023CF2C0CBA8C379FBC4A5A3F58473A374E09FF096091DEC2E5B35A4283C7DD96C46EFE4F2768ACE5B43A08DBDEAF95BE5C2DB0540DDF80FC895DCE343EA93ED2ED748FC32435E7B28ED8474EDE0AD449B32739F7D74A37C928070D0C1C30053ADECAEBC88F56C013AD5439AD2CF6A3876364A6B68E0D1FC20906670EBE4E85CEF072FF67DA097E3B6A88F78DC10F95520762EE86E8B26363245555DA07649300893FF36854BCB875AA1924B7A99169E965803B74CBEA05F7C486FBEA2355CA033A77C2F4164A06EDE30DC6244FDB3E8DAF9E73F83544B79BAB20851A640DC83C43C8980A2729EC01F409DA9AF6E9B5B7A6286AE8F225AF90B2E5438892115E6DE72DF2848376490403A543765ECFE2CBB46EA7F0999CB3993CE099752E0999D84C2BBF91A9FBD39CB721F4C6266FEE4DF896EB296CAEB2B3483B025E4BE27DEB57A3A706BFF59829BAD9F11EB75A1D010EF1AE926D5F5CADAD5CB3CA7160A66846AB4F12F036933C90E115702E11B2657031EB28BD1E2793D0D0BEF4234C2B6166A038CF67DD60CDCB86FB323788AA673F2CE5ADC8FA8AAE911D7363FF833ABF619847E78F137FD0959B983E764A59FED29CEE31F2F47715FAEA7F91483A6E61DD7ECEC557CF24BB64CFCC0708DB55DA2426D4330438C42A4FA7D9DC4A1C625823DF1D701BC3BC3AAC584843DE330206C45DF0184FFAE4E347FCE6860C7E0C8FD54BED94CE321D62325AE12F932871A4724677BDDE95E542AD66CDF491F5708FBEAE6A6846D7068F8827400C188D6915AF83542A51A1E0BACDD07E25064E2915EA78C8CA8327E2375EEA19C565AF6B837CA5044ACFC4DF68EE324D5BB8EF4D974368EA9B1369B567E6D5A44573DA1249C84A789442CE16604A94788631E8906398EA3C2B8EA304B11E522BA82401FA2338CE925D31AE37BB3A67160DFF3DB6F7ED0C2DF645BFAA5E276F2CBFC4CA288F2C3B246C67315235C0546BCFD3E4DDC2D6A2FA02AB780EB0FB3491239A2FA1B5EC90A0203DED372D5F594847D279396730A9D8CE5CC92AE34F7C75A07BB4873A5C5EE78268DDD0D8A351794FBD6C801551B39FAD39E6CD2CAC30D4538E90EE24784BA1AC0BA9CBC287151C7D8EE7FF94524FAD65B3DC45265EF3B708CA2BCC5D +MD = E431208E1A690A1C9F83092CB57BF0126D0D3AFC0EA0D188460A259F4212D127 + +Len = 9104 +Msg = A867330D0C93083FBB159EFEEF907AA53ACE3995ACFE7587B404AF8C8334E32F9D35976D0466659F264826109B23A0DF2056A5479D0C0C5EA5166CA231525DA90B388C43259BA1696FD392FA10D146258040040B6AC2C3E91D1F224E2A2A0AB323B4CDE6EE570B4DCEDA7958D69A2FB85F0D9DAEFB3715E5825298B7D3D8F09268413A11B30A24358755F7ED9DF6F2FA9AE7A219E65BEA978FA1187806386EBA03AF491A1D5708AF2409B82DB03A19D665EC58119AC537CBDC75FF3ED1E0D0A26D291391DE6584BCC0D55B9931537EBE21F42AFEF05AD755DB1AF60988DAED8CB087733421679F8B2D381C659C1325D47688F2771A03BFD31CF8D3C20FD09F603BE7A13D1BA8D37CF492C93724A728BFDBCB6D3E8F0D770B5C260CFA3515AAF7C25FAEC42B2373970D11EB2A18C863D0D7121BB2DDA1B223B883C468281EFFF0170FFA48552F263C308658D969866781F041DA0AB149EB2020892A114A4A7758ADAE9FEBB4AA76604A65B87A2A5D0A45A8096391B3D1C09FC95746C449BAEB2F807AFC8E4F5EFAB2488EC19805691162AC8A3EACA1D25F0F4EB95ECF48C134584125AA0FAFD5589847E656BECADEBFBBD258EFCC6F749E15BA09DBF04B93877FA04EC2B6C3234FC49872C318B302252471705BE669022765FD01D157C4AA54173399548BDE8D8971A8CF0DB652814313B71BC062DB092FA5A5CAF1809DEFA1215B42B800072B2990E6FA31F69D52076AD293D966CBE4F89C6D4E45AFB76F23A5670E5B36FD60D784A736D0201CD2A119107F278E5474D87A97F53B12A8AB1D0191D19EC4103C472D1E7ABE7351258B26C445397AA5A3BA924238B275E7D53B20253695866EE8AE02F9DD8FA8BF4B76E549D9322BAEE58D70BDFE1AF34EBCBFD80AED8E40273727B7B919A28862171CDAE66EC885EEF41E5D237B9C308772DB7CAD7673646A7CC7CD78800AA12395E6DDD5004F0E4D4834B66D7EE7FEFBE4E0947CC2FE0993C3F506EAD51C9E9B6648228F03230F61AD23A708B11DCD328AB9081D102455DBF11A932F90946046D72D9102702114B8965F328D6F57DC0ECE0B1AEF7620640B4F43615A1123B6C3B58438B5760EF0BEE130C5655B756DAB1894FEC4736420180041698DCDEECB5EE98B043A870C9949B1141D5A0920A1EFA60A30D8CB33DB0CC3364C657EE7E3E582A2A49610E8C08B9ED733D4F584EF6B9FC43F62CFE9F69BD64C02B1D20EFE2EA9EBD6B6DCA5F6D9DE62A443D67C60CCE67C47B4EDAF24805DAD5AC498BF1634646D0C34FC3B7C4661EE8029CD4FA237531CFF681213012993F91106084DE20241CDE059BB37A26CAD85533E4C5E8A4C4E6F952162660C0C55D8E266F0ABDD4224487D06F7DA1F26B84D6D30101B535A1CE76355AE1D34DA2E71E244460848212D9076FF79D8A282359B8961C27A157ED6AA5E9990D56B4ED7113066BD560719A431E3822EF24C0630110AB448EF269F4FFAFDCE95FA57ADF3229E5EA639CF4649E598E70F517F8CA03C9AFAF4C752F7D14F96763F7A0EB4E5BEABE5FD17FA8EC15271A509B1BADE00D840073B52DE95C688F7AAAF25751055C8827D1C6B5BB2C9140EDCA4 +MD = 12BCF175BA9F1A6E3066855E3C23D462B83901618ABE536E86ED14B24AE53E0E + +Len = 9608 +Msg = 2EB31026155B7BC3672F060D8407B1622F6162CFE40E0286CF9BD73B185003827EB75CA080F0FA81D9E5893F462124F679EBAD807DF6AD87C809FF552DDFEF22C11C4AEFE1745A457462D346A3E0419347274F0A39F09AC211D79BBC13C799BC26E954BEF11FC7D9EBF0A0283B59498F6A271AFC5415F656F1C0A0E311EDD0BCB49853F0FB52C849848406A7DF6D7F3F32DEF50D8073AD2B1A197991D7D5337ECD5C1472E58DFE42859FFFAA4B858C34B305B8F921AFB319AB0C0A4D03024BC2AFEE1BD4B0F97848BBEE535460144E301334B90CCCEDA137A7E44C44CB538E9A3D10961ECFF2BBF16BEB1A40240FA63EB02FAF248191DAC569F44AA10B9E391416A41A1AF9B0379D2E52EB6C2C1A11018AB951D030FE5FB6317538F4DDA3D4B3871AFE479C4CCB0422301BCAEC7C0D6A12E1A4DB17DE2539492C3C003C3C89C6587CE25C7C7D697A11DCB41764DCDE7372E6EEDAB38B4004EC0805E1FEDAB9ED2550D976C223B0B0FB39FB006DD4AAFE042B0A771E098BAAFA72AA488A40A16BCE6272F64023E863262BB4D0A137F61F9E711DB096DD93254C5E4382D3F7F1914E9D18F86637E5E4A7B7FCEA80EDCA63B3ACDC7C692770D8ADE9AB0FFA87A2C7DD33317DB038C5709BCE686FE1BE395B3292033858A2FA3C8144D4A74B53CFA8222ECB7E0D788F4EBFD75D880DAABF66D888F3D7CF5D1E3DACAD33F3C6E05EB0FFE7E8CB1DBE1403530F1AA44F7028580C9084DD6DFCD7788B94050B5FE63EF079003A51FA43E726897E82EBE160F4F48C9855D59BB94B8BEB6B5492A66B38CFDF850B6F1CB368598443F2EA9653DD5E6A3ED60881D47956CD24F1B0567EDACFE3F87A67E1D90FF6459666043B4F550D9480F4D17FF0B40B71364366B17D958DB40F3B88189D2367572AB87A14B160344BEC8C69BC0374EBFC62FA8E090296E5CB43BB253D04F24E21CC55849BE4CB7E3EE80AA0DA1F8C71A55E1D98A85049CCA30F4000506E4F36F7096D4F88703A6B772690602019E17BEA5965B68CA1D78CB157E640CCE3AFE00A25B6172ECA4CB9902D3F39BDA25D57E46EE01A794DA2FA309C083CB103224964F8914E0BB39F67BC50B4103E41DC29C95041D5835178FBEEA6BD35ACDF51A6F5444CBFE5400439DC70CDFF870E30EA1239FAA2ECFEBACC73B2C104E99594AB81894F4EBA464F0096F4368D8662FA12B46CFFD7EB766072BC145E170BF6459429BEA5845BC4F088B98D9F1EC7B31B054FBF04BA5B7D44141CF26B24F1D80E39B2FC844E2C3CDF5C752F65057C9D4E982172CE094907721DA4967772533632632D7335342386628438DBA8CACB60139A7A7D7FF20F4E20E405CD3A029C3AF103A91BF2046C372C20E99E3B5971CAFD3E2CA4CC7E0E6ECC272BDC50FBD3F0184E58E6B26D329A9380049B3298CE33CF15CD7560E3D3E0C53CB029337236F9D848762D371D3279A8B1192D83CF1FF8C4F12DBEAFA383B47CD3F172B82D4D942D9976A4CF2E3E0F69E13F1D8EDE152938B978D2B1CBAF27088A10935EDA68B2E31448B09E586E9FCAC11C6CB056FC92512210C3A828B549A1CFD3516C4A5B4A59FFAF22D3BA324DA5E92C607A45C189D7482F9CE1FB005B314D6D8AC0CF523CB21B3D86CB21D451400695D1341345DBC9E6CBF02F565E8B02F7B2151131514EE7D3195CCC262EB615A6C6 +MD = 33C10CCC7EAC44F37DC5D0D58ED590C804402D64D2F1DDFCACF3B303EFCCA84B + +Len = 10112 +Msg = 218A31573465B8A543E293E5A591113E9CCCD2095F519D2B0D7A195A625950AE2FD52AD7D5E5C984E5BCA89F7FBAEBAAF4686DB96826E8E0CDEF1B787CD08129F7AC7BB0E1635F7F52C5B6D6497A0DB6125BF0B2FDC06C8F72FE16F4D75D5EF9620786C85D0C128AECDD362390039E2548D1DCAA008B0FD870BE34E40E66C0AEFCA28BC631B8FD8031FE7A5F39E81D19C0CCA18F1AECBB8AE0C9A4D10B85393CB58412B565A29999CD039883EB095547E8CBF589B086444F0EC302236E6EFC508C3C08873CFE13D565F5508790FDAC239158AE65A23819F365ECBF4586EAAF39A5B73CE6AFEF6533D56D20758720F22E27E2A4BE08659B5B749AC209910EAF590E5D1276B8CE3BCC49331FE73813417C0B1E6EFBB2418C82724607032433A0D720C381474EBA5749305D8FEE1230EE0BEF48286E602C593B9C5434CD5E4DAA36ED48C47BB9B540F077D21FEFF369179C443665CCB98BA0D5A7B8932A8DD7D5DC020F6261E24FDEA9C6611A096BBFFC44AAD997C7BB3EA32305A6AB41E33C55F027D3A990520017CB8CC95094D225C98FE7FFC21C4480967376EC8A22B2216FE467C49E50ED8CCC42FE9BB3C5210B086A9FF194074842AFFFFDA8F4734E354C971DDAA48F38FBA1B7D5CD74F7433EF5A45D0F6CF1D99080C2A7C0DEA6E8ADF51BD59AAA502E75C96BF6D53974DA31AF027843F3AFCC34CE1ECB81B614E9D2C382D8B0B6007CB4C54EC507FEEBED9992DF8D1251C74E79B570EE4C268D8E03CD8573005F17DCE24C6A52C076995E72AB5F72F290682081932E3357F4CF0659F5AC6A0D324C9F52811BB52C9CD0CC858178B9283AA53C523045004B2B55BC273A49CAC17B95E36F8D39C64877530141C668DA715C3E1B2E2172422728C1F7C1FDD3476D13487F193CB18C1FCEF43CCE594B548F164A24D2E0C15DD4F65614C0F0BED2597B453A9349EC79F154E52E9FB74EB55161466617943CC9189E681A3CA51150CE23B3009AE991649C882629F76FFA9161BAA1D02042BAF0D816BACC3D3A5C90279F3994D4A5EED4DA6495CDF9560E900D7A7E582CCB92E543C3E42ABCBFC2A8D53E9141942E3B58115B6B64AA654F9C8EA1B856588D464B9A6A642D0FCF4430B88637206758AF500DAA35C7B652A844EDBBFD908AA93B7929248280DBF48CF1CBABE15ACA02FE6D72BFE7FBAC98A0032A32346F40B2ECEB6DE2BE6E580F89A86E4EACAF0E952E508537566577DD6DE6BEF2FC93559B96E64A2A9F9334C3C26D0BBD849788F328429D3A8B26647C96B3D553F380619AD4F799BBBD56AFF22CE8B61FE7C18ED88EBB5DBC4796BCE01606D1EB762FB11FDBBD3CC6C55AEB68BD93E9F355CF7B07CFD05C2502F0BA792C7703A030C52CBD545F394108140CB9B5A149B616FB6A45DBA59B5118B66CB0949A3DB9E39EDE0ABC2E2E4F76CBFC32D7D98D36D23E757F3C5B3CD3B37916B2CC32E4FB4CE191C03EDD7AB4F061C5F1075E59328EB696E7D000C9149C93126AAD94E30884C976172E75BF25967785EBB5AFA68409DAE873A612A744A1524C2B96843DE61BB959DBC7DC782B42C39171F60C420497DB5F77BD5F84B52CC3924605F534005F8068D24C47EF82ED7CD4E5216501C3304BDA3659906E8AFB98C74F865DAB33A700A6C8839E405BC6CEE1C361A72FB6BAF4B1183FC800BDEEDBEF141A597253AD54FE11D6DB361865DD58825116B534AE08B07586371A3791FC62710C4356E2BE12700DDFC7F3E309F5ECAC4754A4A2CEE266A37D67A3F8CF97C45D37 +MD = F33C45D1420EEEAC9FA73846C080AEAA05253404F7D4028F57457C4AFE1545DE + +Len = 10616 +Msg = 4FA3DF1DEA75AD4B9C379206A95FED930000482E5B683FD2B17DC8E7D5C4BC1B73186CCC13C9FF2DD09FC1D4F68034D120E84CA73A00B71A3B46D1EFC6FF88CF2EDA65810B098CC5E651D9CF064E87076D5A871849F3B405D3D58EF5B1F10520A9FB4FC84A81A87B13DBFBF9D8674943E28C257E46D8AD7BE1785F1DC7C9B1BD574AD1DDA48F0255C853D2490BD3D63DA22A8369CFD02594999A2EF443308FB8298266A11EFA177102C75DC674E89FC9DCC1A0D3C863BC26141102175D2678EB6E13D90BBD9A5EB89AE8C0CB47D7F340D3D32042A2762BC9BF2B40EB40E87FB42610FE7E357051F01494704FBFF73321B47301A0799B7EE3FE5E62200F397A61ED4509A62F7106ED0EFB0ABD6AE9E4A1FE9B02C092DCDC75015CF602F3B9A8988B609E6C0D1C5C3E219FF57875C2EF01615F89447EA602DFC94EEC17A398C014BD346691FE209A002771DC8164422CD166AFB457A8B3071282178A3EBD201D9B07B27E711E7EE7D33AA5210ED4E4E92486775D14A6CED092E34A7AC82670939948FEC149F9C018FCAAD3FC597D315713F44FC5E1725F448ECAED40E8D841BD02F1E81C019B08F99412E360C0BD378391C67D964B47F50C26F0A483ED664023616B0FC9AFE43620DBE9CCFE070EF295C049EAC754C2123130C6B2C0232F6403AA7F0DC35A5999BF95D34AD612234C6289277ADB60E4F72EC2DF570F05395B3BE8A0A3C78B732821AA08927C524E15D65F66A3DB8C1C96FB70BC0686AAC310051F469FC5EF880C0F66947C1C328F97684EA24CBE63BAED8D114F40507C2901034E6AB3893F366D53F1CFCA309309218CABCECA4722FA9CCBC7249B87C12FF8397F40487EB00082E7F551D27E301C3BC7B5389F7042534BF7E692DFEA4DA24F7C34B8D2FF145F54B517FC97134EC5AC2CB925C508D7A6BD01FE7B764648274972BF08560D30802E0EB7EDCC57AF4797BBF92E8688268606B0F1BC901FCC22136281665EC16393FA9601C4FBDB18CD1D1EE382BC07973903E91FFA87399D1141D49F4F0C064ACF3AC9897891DF10BCA0116F2C3FEF180FE6A8E937C478F2EF293AE9186DCB1F76B6E48101DF64E57EA7C64C5C0025E221C8F5CBA5CC92D9CEC628140996B26D17F439B780F59A999301122F82D0495F8AB5AE1EA5790F45E992DFE00D5F82A7FF1354AEFDCEFC0D2D1731D22FA2B75AFD4FDA25AB194055FA9628381055247C8C7587D22E73C60136C4282452D47AE03AA035FEBC26FCCD42A1CB79CF866DB6418A49FD8261E877DDBB839CC39514DDB87A8A40D795532626FEA4A4C35D13E028F9ED1BC09B06BE999B8DDD2258AA0596BCBBF72AF67E10BEDD58D599B8D577A583D676BF5561F80CE5E9528729A92DF578FE75DBC70474B75747A8D55DE70E57BDD62D4344DC2115ED4DD62F1FC98BFA1E7421FC0700025C46D0ED1BEF35C3B778563211B9FA9E8BA4BBCBF01C2FB626AB7EF325CE9F468DF2CACDB178D36557CD85D542C067C289E926C1EA2F20ABD329E984168BB6DEF1DDCCF214DCB6A53AFD462F0E7E7A19E8C88F049244125A6D7DD41E58BC9B2FF7FA2478DF76AF73090CB1AB59E388BA20E2C297C967737A1AF61793B68ECD7439444C48E28E2D09C48FADA5E0D1D15E5B340A52F8B3B854CCA479F0A598445E14F53B3BA36891050C79673DF3E2B5825C955A29E5C9A22F3991D0AA785718CFEA1D2385F8E47E4A75ACBC7988D0558D541D71C4E6C5F1CB15B60CEA0C34A67BBCE105D7A896025E0254DE7D7AF724C9027D44B8642192A08AB8E1EF3046DDA6014DF7F4C9E63C635E48AB2E70B640D480998EC9357E665F99D76FE5529EF23C1BDFE017C3A66CD4EB2DDB42EF85EA0CD65534 +MD = EB351838FE8225FBEBEA9168DBB708872CA43AC93480C3AFFBE6CC3A15A2263C + +Len = 11120 +Msg = BC259972AD109BDE603999728EF0BBF23A911829C1C910F0517AD7584AAB80B27D4A59523DB11EF7B86D73E480F82699E44E2E281172D41CEFE2A15AAE50E13918EFB63DE0785BA415C7DA3746A669C7F6ADAC8C7ED04FB5F8EC70207615C5B6157F3BD9AC31478F5005F0E8DE1139FDF40D2E01DBF54973F7225CA545AD7B8FAC8233CC579D4E06395BAE791A5E49838A806F69B57858612063935284F7AA2E3769104F13F0D3C531A3C766B1F008DB437A2BBB041691BB9377012A9A7359BA410836EF7BA949E5F56F70E83C99DF961CC3F49D4133BEC543DDAA14DABAA54FB6E5F5263B83DF6863E84179722577101CF3F67C08C753C5B079DE795D2922FA21AB23E2437A64C62AF634985266039F7CBF1E1D762DF49F12A4FF7EB9846E8E5DCEE559084F0AD175E0C6FCA984B168B7512541B7560B68C8AFD02FECE115F0E9327D3D6D57BC28C8F914E9A5B31D822B48E0E4865F652E9313F0ADE5665229631923A497D65E701778739C5842A08A09FB25683C38BB17EB95BAB4B358EF5647BB29D3BF86E15868E02DA7E0229E8213071A24B4CD373266563E36464C8B245DE4A62BE1AF9C7022F6C3894DE6AD8B9B17A6DF84AF65466C319BA43A5EBDBF24833CBCF17410E79637AD5B771B21576113B851BB73AF7BA9FA19E5CD7A5369068A51F5D6A928A8306829B810F59CDDFB42C3B58F6B0926877DD35C4173628BB554C7036779C000E80F93D26C8560DE78057EA74EB12230C8310D577473D94C2DF14577B4361B307D8BB6371BA7B3F8641488B1490B24DA9CEF1FFC732CAC6F9FCD69728C1B7B4E72E8FC5C42B6687F32FCF7B3A90A460E302F3A4E33B57B29803C611AD93BE3E6C33A8CEFD2A5297C28249FB64CE4C1A30DC1F8670482CF6E220A3E17CC95ADB289192FFCF0155F071AFE473D5BBD4204FB4308CD5CE0F13088A2587F10362D86465C3AAAA730CB82933F56912BE62F78BD6A413BD9842D71F125EC8A07442E1BB6AE8B9AADA6BC47CC2FF79B680F832685184FFCE05EF128D9D6462CF7728F2E582F8BA77EFF16085C262F945E3FB06B238B4A5345D1F83373DE40F95E0AE3C5F62EF4BEC3663688294F64D15310B6CCF4AAB03A358B0071114BB368FF489A0CAF7B222C013DD5D9AC39C736FBC2F7EAB5B4F5DA461C8E65D959140BDFFD2A871858ACD3F9DDAECE497B44565560FA96CA9B761764C6BA9D0888CF522410B605567D1FEC21264AD40F1CAF60F79452CA4F12616D6AD8AE73BB57112F6F77901FF444152BC287A90FD2C77187D50DB1F64801B8235FA410563C6EB4E5F3D3D285C1BB2203C618D1F4DF274F6C47A0CC6A892217C608CB3E9DA3E15A5E059B6C26CD5357F9AE1CA6710E2DDC79B5475B42E8DF2D9D6807692135B922611DD41A750B44BE0E4FEEDD632659BF0DAD6EEBE9FA9236E84AAAF278F69DA65428283B66E433387B3A4FAD8032175E7E9C565C95DC94A53E8C52B3BD25A66AE5C6975F32C45276D6DC4CBDE155B2B7BDB7E238D93F01B18BFFBC301E0A8A7036A70C4A656C66B9A1A85B51F690F271B7EE68BA6367B4C512209FC24CD286F0CED9F62572E22C5C6EA48BB92137F7B819CF54F62E4CD1F851F11D08CBD09AC24A6BD3FDDF65ABF05CB8DEAF2B94C7A3C8CB9913BD6FA9B68E22AAEF51729011DA21215571B39920FDD470CD2B4A0BD08C405578377C889418A87DBF14A8E4FDE203A2AC855F18DB0F9D910CA41AED5AC5EC7D08AE7F6ABCDA0646997B63343B35008EAD44CF3A8EDF0EB104BAC1EC3BA1DCA808530332D9C249C6271D25CE33B536CBA3D2F8D6C8B6A0DFC830CC426FE13D69ACBC24BACE7CBE27318ACBA7FB54BDA4104D07561B5BF0D8F0670FE60E6389B2D6E96924EC4E4BD827473668D4F28412123C31CF49912E73AB8F40CDBE3032BE127F36AF2DD75AB2D3DE8D2E017470A7AA3CBBCAE318B20D +MD = A26370EDEFBA1AA516FA4E4902294F9FF7B491D0EAACEEC7486EB262E8B1249A + +Len = 11624 +Msg = 824A155D7798E12962F4464EAD9AF132A226DA4DA6E899629EFB938EA29A86937FB144866D8C7B2DF9988604CED96892DA482D4D0DEB4658844F41835F0D9C20C796929C83CFB49113F5D95A7B66D9116A4697BFE335BC83629678CD5DEEDB7C9F8F11DDA079BDCE8C2719B6CD400C02A6A5654F19B6D568473D37174F62AB6684C9C919C1CFAF35116FF7AE4F5B0F0BD243C74384C2C9392F1189B2AD448B9D7946C2CCAD04D2F20CB8CF1F9590D1504B1E1B1D74A04424BD27D0117676B8C823022858A4C12AADF21FA45C99FAD60120B24FE04BA3036B80AC5F46E983032B6D78830F51E65A62310B9058A4DD3F3F8F90ED5311E1F47987E0D410F78B2A76580FBFDDA0F944BBE466C8A8170B5C77E8132CCD7D5E9946A5FEDC73AB9465E30BEEE9CFAD68B70A2176393AD8A173CD9AFE8F9B33023E852876824B720365E688B3FB4BA925040385559FEF7BDCFA7DD18BBC31B24936557EDD679B502864588CD4BC270099A30DC3B3EF7A392F3E33E21A53FB83756EE371A1986930C4A34AE1301EC44E189E23ADB7EAAA121C6D787007A44E998D112484019F7D7D8E16985B039C8CE01EC8CCEFB647F07F9FAC114BABC3D831AFD6F08597222A4DA8C4F6CB22C673C0437C16FCCE7EEB64E7050AF9BF41E95D3A0112FC049D405DF0E322422072A16DF248E10AA22EE5F198C67C59EB8198421DA855DBF2C78B36352B1373F7F66B5A5BDCFFD44C76B7CDF56D894187DE7BFB05C0535C3D2AA491F37D35C3177E0F312A9FC7F1C6668AE0B6B4B6C195EB4AEA219F147A9799A9C84449D7477FCEEAA0ABB836150487ABEE7A1902540B905E998A532ADD68B2D15A1FBB63DDECC54C8C206EE655353C7D1DB411BD33419F6F905BEA567F8D67B5461F15ACFB8F8505CCDC29CD708BE679238CE30EA3D1AA183BEFC35938D755C50963FF9C89CEB28764A7BA8E72A2D22D168172DC5D91F4AD5980B12474A96DB75E1F7A9EF9CF1A0318D18B01B108CD165A3734D671D436708BA030C1E860EEE860B40E61EE5B72A4A98AEA24AC343BB6D4095F79FD9F1C8D64057B6672821B96F954DF23CF294F516BDC1045170E162BF58E75DB11288B466A4B83125F1B54286F14BA0B55267397D9605A57F16EC357853DF6F3C8943A73F7D20659EE01B3CF70BAFE432089BFD9DCE1E31D441C174F42D3BC04084705D0DA308C21F30875D68F8611B62F49AF1B937319346DCDDEE9632F5C7044107C3C5B49CD59169008D497C4BD9CF2123FF7636A5B20501BA368AC6D18A32BF798419BF93BF7CD7B1E998471D4C85A2BC50E316E89D17ACF327469F1F45A68FDE54714CFFA976D488989F65FB4E8F9F85D43010F982453223BD060BABEFDEB9DC10DBD28CFF842366DD55170C33EAAAFE90428D9E632785621C5F836D118C4BB97BD2DFC2A734C64F614A9FD3179512720C9511A1DF29EA9792226FA5D3B74D0D29D4741EDD5821904F52AA7961D303B51E54A6CCB80BB851AE57DB1F97B656772897190714A5DF7450D7EEFB982188131D81C6D273021A2AAAC777B0083F0CC363E619A1FAED4CC2CC7F28E24F682C9F9EED99E09E19A8200E68AB9DCAE56AA92C99823015F82C8F90A40DF0F729888C8320A7F0B1E2F6155C82AAD1B4ACA0870DEB69F04CD137B556B9919BD920DB20A1C1DCFC45236E6E90FA3054A8E29211BF76B13800F3AC4657449C89FB76D32892024E6FE7664BD23038457FA00B1EB88334F4C8AD05691C8E3100F2889C0E96A327C9B36DBE6D9CBFBF9DE93ADC8C17864CEE6D30EBF0BDF8F6B9D65D2D6471D26334089B40C9B0EDCC3D0DA4710E76B28B392F7C3BAD6F34C776A72AB211B720CCBE60E844CEC4832ECB8014BB236E0AF9A39912CE12A5386D409F5117C01478D75296EDAB33E1C5273718709487AD0AB5B180A2D065C31DBC1E0737D9A800260C71A0244F19528E79072D8B8322225C6C6AE8471068BFEB61C578BEB30F9AB6A173D70373D5F28E7C353FE723316143B2A6EDF78EABD60124138B607D9A09D6ACE70882D4303EEF2C2 +MD = 9F4EA3427642D8A8B392A57E3F00A5CABCCF568E0B81218814B18EA47C852726 + +Len = 12128 +Msg = FD76A3E9E0E303CFC3C2A84C43D19B6069167F7C7094BB379EC929AAA4F19E2E1A77E312C0CB08C544C95EBBABB5988F451B01CF9214B37C341A527CA584840111236757108FF138E364D93BB76629C095117FCE458EC03B87BF19F8C9936B3E1C4C79F9375815A658638E93C5102C66563F3A372E6348C6C1B9DFA6A4E427F418CC65EF67EE5241A85F7896B1A0E941453916007C67B47194352636DF36E2230F4502B2569AA8AFC79C71B8B675805375E1FFD2764AA8B8D58EA9C9B580D489B09EFEB1D707719F3AA99C447C112CC77B3F833989BD2DF98F32F068B9C0F7EEF240719817B11ED583C82CF3BBDA268D60B03FEE05797E3EBF65C153AC84E899E3DA3432880F18B09194A1D170DC23A1D17F53DE6F3109CA8A88E1390F0D49902A48520B9283C06746A55B041F4A7DDC0727A08DD5717FBA5584670CD0AFC7A9597749C718B8FD11222EC41506505ED3DB5B8288FD234E0A9237D6715F8996980D985587A8645357B0F53C480F72C8065F5188A0E132AD315F3E7C12A854E93D1CC2FE9252FBE68B3BEFBBEACE38531E5BF5F2C671FEC8EA58F5E31A4BB05B8A6EA87EA7BCCAB50CA65FB2A2F312F183B5B1504ED04739BA854AB436B8FC2E50C3434FDFD50682FD79B19CBBCE2C76EC1FFE0AC9E54C2F9BF51497AB95135B877328868D6AC2B7F764FEC866CBB6A53F3461221240F1BD6D99C38DF6121E3751CECB1E0AE1A02FE054059B78DD96FA0CB3D1952A80B8AB550EAA82D7524C02778416E035561D31AE99F2EA52CCD10EA09ECD6EF244576D18E3C12110E6D224C3D296A8BE95F47F5A3150B32F67B2C18F5BACE76DBCF9F4A7F58A818757ED06EB3E5C987B58AB40016BE4666CBA843BA4A09C579B2274130A8BDD7DC37557CCA365302AED9CCF465F3F970D9799646CFB9B2B69218045F6DDF5180D4E5D36A0F63FEA6B71E60C200F3418A8FD35C4F2684C81E3D715362061DE34B4AB7A118249D4E74EF7C6898073014120FF2D80EEB2664E47C2349C44905396F0B9CD0EC343D61EC4C6657AF7964CCF384E83AE0DF1736435F90B766528EFC69D9AB204D2D8A6D79D23886DE971852CCA9283EF87125C28442EB082BE6FE68F45F1B3C440C3F93BAC49CA855604134CEB4E968654B4C00D1E7A81959435FA36D0DC43400A8DDBF26EAC8714223B4D55AF42E75D3ED387E52E5222B3646BF018C79486789A672BB826841745F4769A6BE8F467AB2294CDECA2D974E8D3FEE417AB6D02CF16E9EC3FB22005A632CEBD64B5817286807405B9D78050E61B5D975989282D7DBDF2BB81AD2E15C07F9AF22DE7B80977E3442C1F119312A20B461261E8B681CA612E7C7A67A2076781600F057A6EB3F8A0654FB982771B6C661954B66D96086AFD110B0239E0BF9688004018E418CA2E3DF99DF01405508B8D69CD6A75A7FBDB52D378C2BF798045D02A9DB7B1D9D275FBCEC5CDAB923C57420AA26C31C0B632D23EA2DB8C193E55A1DF6CE8FE610BD91C4BA81A41C80CAB69744B8C88554F1FE8CC14A0C29467D7AB4840AC9E861F8A24C953D68CAA583291F1BA8603EED2C843001402AA2134A067EB6EE2830C4972530A5E4E2628E63266A51BB3537EE48EBB6DE869997943B08511ADC9647E8224D08DAA3C009F4D65F0C9A1AF4E8B225A30DABA352FD5D1F6C36683AA4F44602E32BF04484A7CE88709AAFCE1F93EAE095FCB89A1E32DC92C4150592ECFE99AA59938A211FB13733F30ED476BAC2DB34F5F0DA67A609C49CF3BCFBB90E1A7974B33D0252C5DC18E5C67BF5C0133449936E387B3C35823C9EEB2E5BF6337665AD41EBA1346E74362D3E5FD8636BA54C4ADB75448D7650FBB542684FD924F8234896569AA466622A53C042CA843ED6BB603F2D7B7058DFDA13983ED913ED565C2E1078F6731C76EC796CB41297CBCF3BCF442261D2293B813703AE9926B22F55E33AF4049063EA443D230AF25597CE20827952749D020FFF07A58AED951FD9CA9B2ACB15346D513B3490E2C1294605D91EC67CC73F76A38FFBD86D79C55C86515164A8BEACCB386E75EA181C76233C18549D41D5EF5F4DA25809DC71B5C3F83A1DC31D4D117A5751D77380B5419A2A4A8CFD2391DD97F88C7C8F39A22EA0EA3 +MD = 03B5A9218AF0FB5ABD1AD6DFB1B32E2EE82B054CBB046ABC656CC52620828553 + +Len = 12632 +Msg = AF033772478B6C7A405906811D787ACDA7B775C28EBFFA06AEAB37EE363476239A4FA0AF7AFCEDADEB2DED7CA3997C82A54D6F0D1016C4BC2D182F6116232686F7B5BAEC00759E7B2ACF0A2F9DEC55F3E3C702F21D760A853283C75B1EDD75442E30DA1DE74197913BCAAB1A619E44C65F410E9B8F235D68D1EF0B7853AC836259C76B4A84F402C2E90F5879761351DD281E19219E274AC8D76589153FB5E687CC0DE9B543F763E632A465BE81F2FADE0FEEB96D4102BCFA276D7C9D06945CFEA6C82CAFED680BDD37F6EBE9B8013BC2E7DEC52A87A1C539D8AA5AD525F9405B1DB1EF942D4E98F40A01C3E5E555C92D18F36EF4DD8CBB5AA7207FEFFAF28A5762DDAFAB4C841063C64F0FBC32AAA69CC130C9A2ADD78C795F5E417B57263909526D2A741276E44D05A3C175B51FBA17FDAF7D83EFFCE3487159CD92F40A19C567DA4E667A008C5AE8E6E04F8526642CB4A2F4CF0A07AF44A65D4F1D6701D6E33BAD2B1AE2BC18EF4522F64F285652A1155487B8A49E9B0EB996567FDEFE07B8EF97DA55C493448FB0EED532088ADBD355E4966ED5996EF88CFB942543D5065F8826F85618DAABA9F1CEAE1483083CFD5272BE07FAA6270D51B7DF74258FF62C20A8B692A4FDF0F6955C1FFBB48C5BD5026BB257972A81849DB7B4EECDAC9531C2EF50F915119086D8E3B52191B765D6E38DDA2B125DEB8BA9BB841460B9755D1FE38C1765B72EFF98B93DFA87E0CD4787B74AE335A9A61B934E258ECB764284F0715DE438E5F2F59639021EF2B21FBF49D53B635F683E3711A2AF1D1E2555F5AE93158BB5F6670CCC0C99D23CCD4D228F2A6374BC7AA2C321F03A8ABB4D9DB673A63EA1CE5D5BA5133AF9EBDBCCEF97016B813A9765B9AC1EB51A93D7760B36751C766283AB13E773A128559155455131B8466701F6C16ACC822612C1BE81E14F5D9BDF8B9DCBAA7F3E10C35634004DAA506A26878AE7510DDAC3FC9F8DF0F52E0BE10513D641FDA741FD265F9E0E3DEDEEE45513D188445890C384DDA51BA4CD1AC63137550B595FB2C3ABA5B60A798C4418C9402333232E1A2661C8977DCCE606F4BA89E83A1BCAB88BA6F3DB5934C227D3CA820063A1DC2EEB0C1822DD2CB89BAA12D81BEBDFFBD054DBC4A063355ED3825E8196CA04D6D12D8C8C521D633E2F214E846853DE5D0877D41058CEB77545E773C0B5D5155D4B61B4CB060DBA7DFCE84D3E25F39EA6B95CDF83110E9C1051D746F0183C01B06E311035A28809F4CDDA0784D7903E132DE91E0F426D937C5E98FF8123AD11AC3E1133CFA6298BE0AB58B5DF55D6060D5163D847EE5965FAD60A8503C3BB54935856544D57404215FC843D41E5C73F1A8E500F0BAB3FBA3FE55475F89A967E7E07ED21D6D821A797A9B3E9334168FD6D1F19F312A5BB69422CAD506851770C3897DF838303B2783F86C8A506EE326EE4D8C492CD1150F4771A533440E74D7E9080193F6D4B44BC26658D8BBB53A132AFCE1899224BCEA0375A5E3E563FC16939BD3EC085D2A5364FAF11EDA41EEFF44409C5100F0AC2EF60EA8AB98C35F9FD65FA61D6A60AB0C35437867221DDB6A87702ED44E115BAEF16F25CCE2B11B8062A8C2A06E34C4000EAE881BE3671C566B4C2B52BE284FA7073364B7E9A6DBBA8AE7EBCF6008491C66C7EE49ED426E7A3EE3DE255B0B24F88A2E738177CF7AEE4FFB5F2CE4054CAB2378B0AF8A5A2BE2FBA43E5859436A4F321F8522C7507538B74D0D3E2B1B94E92600D7116BA319D886824908B04803531914AC7A8153937FCF2085968A7B924CFBC49324BF0144BE37FF39A235A151873F9BFEB57366BF9C8A0A9DC9C2E847C7B87D644A0BCF091F68E463CBB51660A0DC7C002765F6D15C446A1D84D625BD10CC97B818066618482803EC0C73B66BEE4FA71EE72ADD45D5BB671FCE5B278F7F19D909EC6E92019CCE4418796ED5B97E3A7D9006D2C3D82287C659A526DF519C11B21DAFA787BFDD03F4A2ED832EFE8C9206B59290CC3D1EF74976E38B05D2B9AA31C18E66CA7FE0CD803EB583F4A6ADC0E90A521492EFC83F9E51966FA69684EDD67F4A111FA894241E9DF30FA8D2227D7DB2E79FACB7A2D9B94D7D5B741CD9224F96155BE988E03205D2C47541A001E2A7EEEA3BE70DEC19BCC6125DC9DC0CAA94FEB638FCB605A46A224FA3BD180F6761D4D9289DB2D2E762699583F0B864D9081611DE2B1C032CA00C7 +MD = E259703BE72CC326094D4D531CD7FFC6F2E50DDF394D964E8D29FEE3D758E456 + +Len = 13136 +Msg = 8F1C1E85393B9C2A2B593363DCEB818B102D0F57D4E1D31BD33C034DFB1F17E2A9DB960D70D2FA0AAEBB7B56C809EA067E93C449F4026A258AC04B6CE809A734D15B7FE13E4FAF8F2614DB9C3A42435FBF158E3E6CB30AA727272A4E323DF21720AD65D72B18A4A6BAFF9DDE47CABB343DB282175D85FF51B34A197752138AF3A017D19939DF728A09C8F28CDEF4CE5FF540A6C9968F4635D8D3281F1A5126FC3A7ED368DFFD41B5AADFAAFCE5FC069056854A78054917D39A34945FB5E608FEBAC88F0A5360A524D9C887241D2953BD36E46DB75A458F4DF4940ED71110334407DD0008A6DCAE7D13FA5CBFCEFD6667BAC657DCBE1DFBAB483DAEC686AB870EB60225689633F71F0D3C4C870BFE6090298B372B73D5ACA2225AD724200CE2400A77D4788EE6D4B560332A020DA035DA3D520AA9CC52229329A81847ACF680B3AFEB2C1BC84B06800AF381CDB9AA0A687C50D03029A0A6B5641A8D3A8E40FD9318D3C5ADD51A4ABE661BC3C5C47D38507A8AA7D6275DF3082633637E5700787714FC977698EDD2218FFD47A81D428B0FD61BE651478DF0010DDDF9363E93D8B37B3D8E1B122B76E15985D9F4ECCF55936D918F0CBE39734A1C41B33B3EFD34D845DE5526C183D918786C8ED3FAF1DEB92E85CD6FC30421D209D6CCA47E9DB5341251E253E932C8F08628D2115E565C2D581F8C8955D71936DD505E8558DEA1409E84EA31BA5355D7E2D011F7DF83ACB9CE0C6DEFA51B16185A66D3D6D1D1D7142168D9B8A0832FD2ECADAD64CABEE8C79328B9513328FD4C7006222685AF6C39AB5F081EDD49154B5A25375EEBA3F663F7799AEDC40FD74748BE956EC66F77EC97457D1C08C4A03BA324365499D8D0AFE4A45E7563BC0E4E33AF704E7CBD8F85CE14FE1F84E1BBB871D361D46E0EB0B044D4AF33B8672B68483E7187F1F89BDE3DA29C405029DD3DA3B2EB8C248E3235CD8D2EC17271BA5563A09F5DAAA5E9D118B1E2AA61D232F4EF928DE1A10C786CE3270B889B6D859F35EE00DA10FBBCDE01A9CD472717E1BB35DAAC57531D44C0B62BF86063BF355E0C08E3BAF6499FA0BA8EA96FC338507B675D1A31008F97987B2CC366E715F43446F9DE4DC8C0AA7D81BB3B2E7BA7236D317B320C934AD80A7B17F0F591FD9DBBDB1800BC377B6B04DFF1D268F3F6191D3A37015624A8B4EFDDC1F6882D6679FB0FD92BFC9526272CD6A2CF768E6DBF3FD1732F6B46CD4CDE5D07B7AAB467FB8716E41CA9B8EA9139D09701736B038D25013666A8DBE63E0B60F93F6E77BD27055984730A6CC5791C6B5585A1A51F787EAA42B3DB7CE6159471DC5454B7313ABA20F2DF104BF98862340FE0A7043A555FFD07DD1112F9C1627D541A896BC66E78A01AF4AC308003CF970A5C11D2880E395BD92D455960446A67CCDCEE71CB6E76F9887CEBDD1D5A60131D2BAE7531E14F3E04A4EAF5BD366D4E1710293189131D2B9D8F28B8919B27F54A01FB804C2D1A66B49366C59465EDE6D6281BA5656E0BC14578ED3AE2189B1DC73DB53A217F534E27543004AF45451E6A8FB964B3FA2C8AF0144A3B22CA3B0D5F382417139DD8B1E62469ACEB1781ACB4986D9725BDCB8BD821A2C4490A6E75FA4E0540533C39A9DCC8697C169D535EC71BF1DB04A6446CCC07CF34EA440B4D45CD8D664A8A35AAE7A16FF8AC4D2360D400EA19E9F000E60B92229C51BEF3090FFE9C5461FE79D395EECF4C11AA546CA00CDA99B5CD5CE4F41E0F00BE6C2AE3C4EEC7DF60D7E760CD3076ECF5FA61DAC163DFE102E3917F692B36CC1BCEE79FF8FDCF8E18AC90D4AB0069CADC2EE6E4A92E52970E63152E77FB4A047D20E33526A4DEF63AB812A17F09065E60AABB7A2B898CFA10A35B7B7CA9FAB1583F357894CCD8AAAB08C6D9F6FDF1B8EEE4D938068D35B3EB0B1AEAC3D676CA5034448C6B07DF0C9E105890912693A84C981C636E7FC8D31B19FC2DEB423F13E422594BF34F74DB5AB0806F9F2E7C0F224F37E6C43CB192593C851A7CC1902741B55B86365BEBBBF1188005105F492D43E0A9A07C7AF5C605A3C0569BB4052697775A9905C7A0233BCB9699E6BB0982EA7DC252404451CE6DFD1A47C298C5ABFFA15041CA28157FCB4F484772767C025D0C4A8E89A1F59517D72693A45D13998816698EC21C640EB8E9F75D401B8118AA3A79F65E2592B50611113CF405002D6162540A0BA003D409C1D58E81D2F4A7175747EAEC68CB60A854580B7E9930524CDA26E9B74C488F98BA2BB08B06114B8D1F24B51F5B7ABF7E456178ADA8C77D9CA1A932F85DF4DB00CA44C483 +MD = C42C010303456FBF39C43AA996D42AC86B363BC6365FDBD9EA758CC8961CD9DE + +Len = 13640 +Msg = A8B748DD6959FA8770AD6673B8E70E35748DFD0C3BDEDAAA467CE4E502EB866D732683CB64E78C523208CB67DD9A6F3D3247F5B413B1025A33B28C63B42802CF6D7426DB5C7A265FD820610A14453C2800B1F5D77671B15BC792C0B0DD64AAD3532721FDA0AD87AD7A57D199DCF5B2FF0CC84A7F744EA7369E6F4D8F0F77DAAA7DA0A8255E32C473D981FDD4E9C855282BA0D58897EF2329655DFAF87537CFFC25A22AA0874EE8B54A370390601A5492E7634FEF8E24ABE3203550EE8788926F1BCB8B0DF70A0630357D991BB8F45DF6A03A17C000E97840FECEADF945165CAC4941CF363DB49891C86A54FA81B486A563492AA01F769A01BBFC7E8697B12B28CD1FCF608B0DA5EC7F5B65369364CB752C83D6891B7D870D52B3B65C3696043474F91A0345CCB7AF34CD5B308B1DBF2332099F671A8CF4D809E4605628B10B275FC5BAD4CAF299BB5801124BC86359AC83B33BD84DCF6D6DB41917A9A217CC682AEC1859A427A32BC1B11FFEEF825DF451C7CDC033E9148779F753CB4C05674EDE8EDCEAC80CD23DF372464F039000FA3AA47D5A99E14894CAA2FF5B90057D3F411B1459168A85C284D5C2814811BAA7700E5ED96E4517464FF1757811BF3691CE33D02445980BCC40E24E1F9DC6F9DF45342CA4E14E013C1FA06676D582555ED55D069FD2DB267C92DB577A556E6103E69D1D73335183E26ED88A5EFD87EBDDCAA5927B97F094209DBC7FB337DC0F7C98A975A74169600F3F1A1C7433ECFC74B319BA3DD8EF69FD1CC6CE83D1B4A0124969F6CD24B7E3D3418A80C735B4F7ADD091882673F01FF20E38461A2B389DCA81E5E6CA2213AF194895139CDB02130C1FE043E58783C130C36BB88A9AF656E406DCA114E96F2FC9F00EAAF5CA9911708A4A2E6CFEDA2503C49B644DD2562637134CFA33C50C62199E99A8A2ECCCFCC3C6A1FA62BC1AD9701B7C9CE14824451059414ED52AD36A69B3E0A4FB543F40099C437E89FB12F6AED816C9AF7778D91ADC6218A113AD9C9C0CAA4E602806C4339EB456DA4C092180FC8A91FB9FE305C95CC4AE5CCB06DDC64F4127906BE28F7014A9EE2EF9F9F075982F7273B1469DF14BB92CF29BBDB487B8DDF37F5E10DA60C70293448B7E8C5D92148FB466A28A16F2EA8A3FB12C8E8678BF4D139AA2DB2F171122E59705EA3409FDB324FCAF27909A66ED1CDE7B92B949E9073ADE4408E9D5537D3B1436853A0294B77564B70B1E43AB13327D617E86971D009C7DC1BE0337B185701A0521DAF4940BF5A151C6D2EFD077A3048EB7B37ACEA084E3A3ACEB4F2F44E4B42E9112FE6727F5B65AFDF28252F341DABC9FC8C8D5DD2FA6F263F95C00665854217E915D842CCB2F33310124E5B5792BF0863E2C1084DFA511387AEB1AC404D32ADB5C0306EFEC84688A956C7041C724E8741EF49DE2772FC3E174E02F81B7D970E5012913DCCD2CB0925CE51D725E8900BA589A970F19B558CDC57B30A7DB60FEC91AD0005B0DEFC05DFAAA2613095F53A478459B4E89170FCBB57F60B2801EF87F0665235C004B8F61A166DD5885DA1B04768C08F9EEDEAB78A1D7BB49294FFCD134522076C3E0B0A2A8FBCAE3D001F4E1DF0DE1669E533F4C9D95CC2AE0C42B67A628D0871B83CC599A8AC4828FDA49EC2F9C057CC995E79EE5FC51905BBEDC756A7486E79537B559B49EA57E87406C20EF94FA73025FE16AB588591D8E89C79C3F914F97AB1542DC6F86435F132405FF49463F6B836F8351BE8C1E21DD14B619B5193BCD04470EDC4B863174E4F1B20EDA5C3DE3253241D61CC17F4FE1DD6AB0A7CD102258F6366402B44DA9D7C415ABEA13411A89E77906DED43075135787820692A3785D09948C5E063551F51A0B8FE7BA9A070A6E0648B07C9CB99BEA7593393692EA6A365D0B2576AA030BB4CD288C42500C4297CB073B0F7370DFB7AADBD8569E51ED6A9E74AB58E647879F7A537DD1B3E4816AE90F6332A219439ABA6C9D7722A30C932A2542F257111450FC270971D2E6C1B9EBB34B786D215A01E89D536558D904422D8E5A5B3E2B2C54DA191B947C48EE0ED296355BE52ED192DA910CD47D8B4FE7A29A23BA2FA23B8C6CBF4CA572B9A72EA9688CA0DFB2F74AE6D78C2D96748E587D2D1F5D3C99AB0D98DF949456E067AA02B3B43D2916F051D636F28FCF971950E9D9C1C0C94B894EEE76E9AE942283B516C0E4A10527D0F120E15CAEDD19546ACBF1AB85CABA764C74DEC2AD190570D7D44B5DD637974E8BA26B60F0A408B7C56DB73395C1F1E7606016B661119CA4689B12AF8F608A1810703CB489BEAA12CD72CF37BE43FFCF2F7F8C21A8311A527831BFE5B7CF5E9839BA138187BABD9ADCA84C35B9AAFABA6BCF7ED0D22DA87FB6EB8145591C9B3652A4EAC256 +MD = 1BAE639940EC63DCB67F9E806C4B2EDE6751CF540E63BCEC0AD83D7906A89137 + +Len = 14144 +Msg = 5B4D2985E61AA7145B5E760435FF0D8E12B546EAD825400FA6677B5E44435593A38AE2FE152D8B55879A6FB05D72DA1DF4F5CCAD61712B8E76BD69A9D3EF09DA0B2FFE0A00FBCFFC83263D48E3A263A97582D20D9195B23875176FFB45CB8A942C4860E3CE6C26437826DDCE61D4DA4FDA3878187D551C3BAAB37ED66EB10D71A18EA6E48B96FDE7CC1CECB821E7AE5BE07E34C6F5C20604424591A4EAC3728DDC786E23B07006441BAA56E174AB4C5CB417008A3D6656ABD07BB71787CC390F4E9004476D0DD9E9CB33DAC68A1C6C0CE45514DB4461F7992714B9DD28194856813C9F24C1DC4ACFFD0065B9D50C2662B41633472B25C358DAB53F85198D76C93AA20C7483A1DB21C373627538DB87035EED0E78BAF5205A2BE0CAB925A0FBCF141543B04FAC7AAAEFC3A53F64AB3A71004684A3507535D2530D8FEBB4E7909A3737F9A4964716108B19C491089A01249E4571742FF85872E9FC8E8E7569AC15655BA084EF6ABC582F6E91FE2309D5E4E3FADC554DCD87E118262DC408398AF5DDADAEF2CAFA99F6E033B3A422521F43DF2D720693124D6DA2BAF5FE2B37E775AE3ADC4610807C0E9B43ABF8FA71AB977CF9D3EDB07C5644F8556D849B2C40F523EAE927BCCCCF9FD7B76892BA4FCE9DE71F71FA7006E774F7EEFC201A5BBC694008F8076EDE5B85EA3FFF1867C8E215E192EAA9CC8883CAADD68BE57DFAC989B25D92AB8D53709490C6766AE8C21720E6A105888C2316BB301D392E8ECA464C8694300455571FDAB6CE25BFE3EFCDF08C7CEF99860926AA8CFCE6803DF0A7D0EEA883C2A54862E0B40135C3B3FB9D0EB218E5E1957E45FA64E2F7F8F2E294EDF69F26A8D65372A2CDBD792B7514EFFEE4A38FF2A78774FF8470FF3AF1A1B21D054B978A3F8E16D5D76199DDDEA87FDA4C290B6789067362FA6E6C37CE6660ED905EBD3161B9D05FCEC8E132956885518EBABF8525BB3C356301048151BF6DAA28EF6F125F165A79B8EE314A7FE20F25A7E2AC8CA3655096B1E77C1005582D82F28FFA108B38D1C2510C40F06A5F90195B8B2367313523981F2C7AF63F536DD3DC191A5FB0984A7AD0CF994DBFB8A5C8991DCA74BC1848C6CBCAE6EAADE0ABC4A45EF03575E82A2C3E0BF5EFC19FC9F2EB36C07E42693004397459D555F0D6F267504EB35AB798856300D96025A1A017433CBF492F7F3028381CFD1375C3D2C5B71CE285FBD1CB22987F5A2146043D2C1F26E6E937849935B6D6CD89601894AF6A0A7C94FCC100E8F167A7547D7C72A3B425FDC0EAFF68CD3674F9C07B4539BEE7E885749008CF538DFC3657F3708D778A8F39E5D7B13AD8ECF84DD4C0ACB65A4134C71DD590AAD97D6EEFD015FDE1EB5315038B483628CCAEBD095B1B4203B66095731E6292BD806C6DDE417CE9B564E2A7C9F69893F0B01FA8AAF3712258A3BB070CC502063B09C303EEA0A646A204E1EC0B31ABD6ED56F4FE3CD7F2694EBA27CAA4F581F31254C420B9A51B4339FDC813A446D29C61CF817467F40F6F55EB07C0C7A86182A1472B0BDB9BEB874B2572A2A1EA65242AC5EE41025DBF0D4BC338F09146CE59ED656F93C8D87BE9F0D73909291AD1336103E05FDE9E9BCC77ED75220A2B6339FF6CD8A388153F55C9CA03BE9DB5DA242B9E9F299E23217BC937ADC6FBBA90980A29B619988360301F7D8DDCF7B8FAD0651F31231B816620A295D1D6C6C90643E2F2593A0DCFB700C017F0A88E03D3D6871EBE420B7F435A58407C667EA684D5906C91D699D0F3868294432FD7FECBEC527D213FF7D94012A52C9F818CC19B3FF9F3D834DFBAB4B1A6B069375D5C3CA6C1704AC5CB391A3F4DA4EE3588551633B6B01476F9B13F1B36BAAA3BB6B5EFEA0D9D150E3325357151071125847038DB3EA6ECA114AC55F5DB1FCE8089E18D478D7AE82D173599A02DD670B46794E9E2CE91BAF90DBA5AFEFCD1BABBB8EA210640E14EA8E085A404DBD9FE15DC3CD0BC3A59BF997BC6A10DD4EC8970FB396505FBC17FA5D61D90C989B47FB367F7B2EB17702FD039FE16EC8745912003AAAEDA09CB644449DD85EF010488FB0FCDE2D804A0ABB59F2C4F594B3466B626205703507701BD4FB25AF83343AFF8A09A004A559F750CDF6B2ADB2CAB16E2AED2BDC0481ADDE1A8A79513E94E6F959F4E4265CF2ABADBBF173A897C50FDC2A219D260AFD0C3475148C645E65E343D4085B76CF14ECC839E4F7C725130777535ACB154F74B6738FDC82327F0BE5794D630CC81B87D5A19637468B191CC2AE6B67FD5C3990FAEED6A05F482E5DAC91DAEDECBA379FA68BFD85A218275F44A8011A74DE303007E9F5E955DF052D67465D4A1C1791B88C71DBBB6D14F3CFD49F414ADC26CF8FBB797C7F4D65AB1B260C43D0DA063837877883E87859F99A36FF2185289FB3B265CA1D017C731D6FA6437F954E55C4E7B90155156955D2495C3305EF196F9BD62204BF18DC1F3E8B6BE2C38956B169B75 +MD = 83F1111A37EC61E9D5231024B81E8883F7BD11BBA9A5DA46FA0F6F19B381B2A7 + +Len = 14648 +Msg = 523DE8B1F4CBB65E81FF0B6CCD6EB8EF0A0F0A691ACAF4A77F25ACD2D66AD4B3EFD25BE70308853C094412A518A32020E3020A9F6AB32F0CD60EC0D7A194917D6C457B168A54A4B46F7B0D0C71BD61CD202F4C718776A701E0770B0EFA05418770F98E4E79CD066366FB3300E8BE359A98B82B764BC2FBBF59C7E8F94A157B01C6C7577B1428138CD422BC47330F8ED99F4C0AAB0D984287445539839389EE08D6345108AF26ADED0EC1D7BE774CFB8C5205DFE07CF6CAF8C1AFE37C7A2E4FE6013B93EB2463DE4E0971C7178D6A76B16A0E8960C984CE8BBE71B3B466EDF0445B835F09414D01F14C7B6167FF78FF118127BBD5F812C27FACD57B3B120E2BCFE87315C7A92B82EF5D50CA14A7174D1BEA7E056523E055A6AE42EA3765094E5544E5ED003C989C2F98F38A17E3DDA74DBAF9C669A319638A2698B0E4A611480D8AD3CF016792ECD1034925F42B9811A7214D623D047ABCA31997DDEB03275F80DD21F40DDC80616E7AD3D481E8EBC0A1A6A398E16A78369215541ED10B75671ADEB1AAE6E11142A1CF665FC1B7332DFBB0E10C21A2B48F78E57319AC9C58DFA8B1C2548E2979EF1ACCFEB215AFCD6C2C1B46FE97DD491758378330EFFC7283661D2CB84FA05281E9E517408508D24D042E7B9BCD34DB87CE972E4CBCDB98615FB93093369DFEDC782F44BCD03E81CF93051318B2401FF29F753A264BDA65AF199E3FCBB8B5D39C838A67D6C7A3DB046DC56C323DDBB5340CBC229E47CFF8C9D29B7A49AC0EC8C1440AE498C7D150EF91C29BEA7DF3EFCC2871A13A1D72D139CB4603D9FFFE85F6DDD544850EF63C3944FB35DBC00D4308CEAA6394B6E23F650D323F8F7EF50DDB68F1486EABF989BF44451F620EC9485C0B52D1415D3C909A2CFBE9D77DB19D069D33BAEE4D77292E63FCBF65C1EBA24BFFDDEFE95211EF0AAF8ABFDA9F94445E582976F986F5382CB669506AF2B4A5A0C43000A3C72C5CA4AACDC9D3D39FC5C492A393B6C341B86DACBBF6BA8B465100CC683EDB2D9B9F83EDF9C6A32645F51CC79ADC22A52A007BAACA618BE35E356D1FD1CFBDA73F1ED09253039DEF609450FD2D5943B9CD49CBD52A318EE3510D7CF3FD8FB388AC6CB9C6EEFEF3D3CAD8501B91CC04A888D33E16D6A4C9666F5F5F3B257193F2B46DEDDE11842909D8C48ADE57775B0B272E2DC9CEF1A083EB2CE58F4D1F211922FD6ADED1B82FE6F5B11251CD396E5A3666ED9626036E4E356231C146BBA0A91AFD3648EB7BFE0B9C14F15AF2F92309826F468945CAD0AC422DE3D6A773B76178422107CE0270E7F580B5CCEBA82CA0184AAFA8341141E65E39859885768FBC5CE63B965A0604B659E71D9DA2C7A43646088D8071D76926163AAFC69E25355BB0A222B7B2DA9F0A20C021ADC462E905A9C3BF31C16D87FBEC3F014F3957A720F1432E1741553092052FB58A198640479ABCAA51B104CC93E2636E1460643EA812BD44E819C2166EB6B349BA5BDEBAD59078910B5C22A56F004B8D9E4B1224D8D204B48ABE7355548A402736C5CB110F3A1476ED631FF168F4F3EFD89B38DE4751536548647523D334FAD7CC2D142973F2DB3C1FE08FC5CF83F9F2BD2DAA524B37864816AF29EE05951FA09D1C51D9D14EE4F72FD7BBF18B1A724FF5A0958A063947C430142AD2356E4400AAECA442E163372A8F1CD36E2DB988E7781165E5D4E7074ACE40858E8370E883694AF09977704347FB735C8717C42BC4EEEB2AAA50DFE637C640909CE379BFB9E2608F88751377038D1669F248178AD580A908D7A1B8DCC7E53E01801F1E485B5893F103F03E0F53B2B1440BE95644D85AA7F6EB7EDFBB46652196695EA23C08573397B111FF909025E20C5201293B4D223BF7AA01DE7CB28B94714370434B9588097E2401B62C7A0DEF1FBF89809E810749FD3CE9EC3C07CE4BF4C43DC966429B2BEB4D711FC6C448A12097B36F1E6817EAF4937A983F85D9CF3E62CC1B2AC6AE1EC9EAA8CD8EE2C3322239CFE5DB3D4E8786282E630A7D259C2FEFECA03031C960A66A71E436A3ED6F2F3CFAB4BD77C660D14205ABF606FE561A346F7D849B69475AC9F6822D80B9A2E56D5D495E4B309B0EA963C9FC5C7EF94B217EE5337989AFBC7107D233A8B362AC27C4F69DF9E191CD65AE97D6EB9E5484EB6F10349575E4CAE51452380151F902415AC9CF42C824EB23C9541D2DA1C26DB85F53CDAFB06A12B8393CD580A8E494EDB6710C720DCAE30832967E33E6303A92B1DF0841D7724284FFD2E00B95C6D623B168D21AC1BD3C675EDA33182A2C22370998DE1E5EB905372CC6EF32D5B765F5C94870DF4842D011603BE4CDB1C227E41EB2F2E8542CD325884FEDC9C5C7BB07A92D20D64B836215C59F162A3DA8BB67D6FC13FEF97CAB6ECB8A29E431A6519A6261C4521CCB90E6E609869E6FE398404AE047F64EC4263566DEFEE66329DD40AC985EB8A08D26529A544891B6F57CC235C63C09057AB6B6ED720EF41A3C9AE65768B43F6DCF4962A103DD93C213171DC2C9194E43265C689B49331450281A3FEBC618D1AA4D65A135137051FD46B568CE294C89 +MD = 96BAEE8ECA9DCDBDC467549E307D95C20A07FEB72ECCC780DBC29D40AE7CAE45 + +Len = 15152 +Msg = 24B1190170418126DD7A5A81FC080A9804311B48C4E4DA680727B874318D17BDD34BE726DAA760A40208BB6F512E5AA889B135D277CFFE6AF802954BC918E4D599EE185D598701C2FA3C28F7EDB355D74A8D2F1A9EFF8B6C2ABED776BE8BACDCFC6C98C5E73C24FA0967B6F2F79051E648ECD953AB5430B8C7D96352E600A6FC04FD42250D24E4A5969BAE7712C6C1BF8B95481A0F8186298ED2A70E16FF8209C0511AD4E2EA17F539789F9A1D47EE291E157806CF680067D37231032B032D5EFB1552925497E57D088ECE2B3869684357C466DB454D4FD9EE9BCFC5DFD7AD3620B3FB244F717A48FACF0157F87CBBA94B91C0C39002F78351E3EA6D411CA587B91A0CBA4CE21A8932EC9F0F6E8FED5DE7DDD03A3B90B6C6D828F7831AAE1F879FCAFF77B76FBA1C0013CDDB19E93D878B3428FA91F1A5179F7240A5B47B146FA34E3997730B601DD56F587622114813B57239A289DBA2348B2BD8207FCDB1CE0032984D9389D731942EDC5A44D872EB86038E281F49C868DBA278D1C94AD1AC376D57085EBE875CBA7AD071D5CB3843DDADC6ECF8AF7D6C546938957668E4E8DC05700900FF2A0A2E8DBA726CCEA443F8681644A377D7FB39FD159F72B8B6EDABAB76E4AF39FA065C9B947F53702A3797552E92D313540A50E73981C4340E88722CE19797DD5305E561156BCCFAD147685FEF2B76F4CF8083515CE8F0C60A52699F08E6AB24C1DF612D93D7CA26CCB2D5156BACE4DA28E8F1E9992BB8480D301046BABF55954FD5F29C074806482FACEC432DA10BB7556287F2F108B114904C122DE43E6A77048AF3B47920515D1B03E280C1E7C05BC71089EC769F7FA04E0C4984D186F8C8EE305B1FB21D03F025C95C8CE9C50AD6FB527EF505BD203ACB5B12D4CFE08F4579971590BD43755A85A03BD296885128AE64333DC30301DD7C9B8E035E22F75F411050DB6A17265DCF3F3DCDF8FE0B728A680B60EEAD7FBE141F6D9298EDBDD07D52DECDE153AAFDA6698F415EAF8622861E54A2B279E3B1C0EAFD5A589E7121DF6E51E4D7698566BCD5021013180D77A1908C17169C9BBA1BCACD5AA4799DF84593013E21C303ACB670DE66B5CF08FAD04769CD05D69E3ADCD5B0002C75618A6A1F440918B04DF7B2DE363639152CB6A26D77DB7F400291E21479D5A7E0FACD36ED09F2A2E74F564B8B676D3E3DE07712E1F69840BFB48DE63141A2455DEBE2E9FB8186A01921BFC8D644DBE315EEA943D370EC648AE74657AA57512B39B6D872212DD13BBC7FDCB481F7201F65348017D0259FA99A69084D0B62E63A7408AAB24DA4D3BA6F7B187D014A372FA8160175F3B37399EEDD7F6FE869A1F0AB8B0A3B835C9D086927DA75AD483CDBF83F7571FE1041376B8B57A15DD1DA7075ECD040AE2F5BD6D371ED3EDDCC13F8D611C22B29FE9F246125B2B868ADAEAEED40BA1C3150BEB50940875B08E650C00A095EC2ABFF723F7F1F5B97985B7D1C1D81BFC031F64E452125CDD13732D86A9CB7EE1D89381434D939B515F3F461567B905CCE4D6A7A5A0B7F964FD6D5FE90FA726EFE18787D26B083BBC8AB5D7EE7F9D79D3556616E0282FC14B80C9CFE02A3BD845B1A3EAD1DEC61393F0049B85EA64A7BBC0585A0E24C53D774E5A085FC217EF6F0370A794A96E6BF572A4C3195E916C9A51814989DC4AE65D090976BAB9709FBB51B004694AB9C0833637FE100183EBECFA6F78D26014A00DBB204471A6A379D9E4294A5DA78F38EF2B0A474E92AE6D811E112FFB224C6EE2F5B2A3A5ED5B529EFD2B9106D878B386AC974CD5DA99113F11700783226315AE8B9CC9C41423E47B51D10B51AD503BA968A7046753D3F5FB0CB601F4A8D594B12E283843911710B8977412C3B64E8611728AD4684D7E242A1D85FFA5D01E7F3DADBC1B1691030C8AA51095CD2BAF36E5B45D1FB7DA28973A98FB3BCE835932A475EDAA12C232BBAE4F793324F82BBB4E19CC9E4482393438F94006246C3A81AB51BE7721311EBF1927488F1BCBBB26792D6180D0CE59B69E397A6D60DB83C321BF971F5D804512D554FC3453AEC14F6B0B5E82B8A87BC8EAFDF7CAD1EB07E164DF61B6D0DEAAED33D4B56B175184730102E77CF81823EE82BFE945E3B7923818157C579A774E8D05FD77FE84AB36A3D266BE1F094048B8E417FF0556C95C20C0CC1F3963965E5C37DF5B4D88653F831BB222F399D867ED77BF8C89BF6160449A34EA78AB7D9928001FD8DDE94F30C8CBDEE4D06FBA150852EC255C69C590D07B5A803707E11A0EF689CEEA9DC0EF8809AF685E48B79B4337C756B0E567D3BEC43B4431E86B79D6522C56DC31802B76893D548F8F851D7696D8FD8DD15F60253163F8335B9897C477E6D4C743BE22B1DEAFF90693337BA8032978E97BF73BD3FA1B53A46A779B13CBBA453346234C3A68F369AFCDDA203C058E3F3A21ADF8B7C872C8ACDECC0C292DCC43638D1326B5D2E1870537777EC8A47E69EB54A30F9B1AE214ED0A14506EC218B05CC44086F653048D7E06949D6017BDCC7713983B6EA9DD7D79365431DFECA3AF4F6CF1EFA18AD23B716814F614ED2A22A5D8B377F442F2C402DE05CC8C2DBAA5076133E0905FF843D64545A7409711E1563071C5D48E2AE765AFDBAA84C2499FAC8F1848DB65B745776A49211D0 +MD = FBF2FBA45D6F02BCFA8788C443701104FEC7C81700AAF2D0311132958E1BA57F + +Len = 15656 +Msg = B8B27EF941792BD6819747432CB844D11D3275E235D6A04842D0EA1BE5A7270E3D32924D2F74DEB9AC5A8691617A1CBC1046A5AB8F89A6E5A84E7CF3B319B0EFE21928AA00DF31FED34E2FCE5076100FD384273DC5B3ED56079ADC948E47919E8CE5DCE44726F9368854D5EB7EA9DF4445F4E9A3EA55652404B71E16CFF45E407C8E86A56B4D2328AF7DC9A11C7490D02DDAD8BC81316B0C70C2E0BDF3C4BFDFF2C661399531E134A599F9C2F8B5397285EF5447903C0B43A5ADD96CD5C688929D0C05B57B5C46328A4B0D8501DCCCD6B0D22F1CBB40F90FB3D28338EF4E1CED2DD56CB569EE63A14A5420176B2F1F8FA1B39296AD88B52E7D3D13AE066668E60835A04AE815D481428A5D39DF18E67C4FE0F3277CD74273B5F78F9FCB93D70ECCF9764798827BF4D6CFA8EEB685A769CEF964FDA3E1E13C96660EB0E1851E30F1EC4B9D915C6B620204A7F0988AD3990814A095DCEB3EBA9B7023F2337B09B3268DF41CB5C721DF9A28518583B1011763ABE62377CCAA5B3277475A9CF72E36B07BBE8F2E2B0D2FE26E8B81A5B04AD6BD0CB8C80CC359C4EB38EA250577D2D06D14CCCD761E0E51C83078517A500A810CF0840A9FE52F415F96EA1D1644FE3E81823BC2196051DA581931646193666E00EB8003A1DB1F95E0D4165D084D5891153B6F27B157CED6675ADFC53777843B1F33A4337A2DA2395BFA280BE711F3CBA2A961B6011EDCA35C57DC20D926982E2074243D644FE60C76AE70AB1E2D904C3BA68D8DC7B5813565F1461E52D46253DEB187F609592B1E92E062A8AED576CA3381B7625C2E84B3EF93A338B97D699377E99619A116EEF9EBF05A7F3EAA96F32B6B491A2AA785303AE03552311B113B6E08F2E18F60D7198035D2C8A600D9C572251B542ADB198C3B5B5978E09393274D09797BF2ACC0CBE6C9E501A3C67A3C54B8BCC169A68A3889FF5C02059762771EA9B87B7484B4604B20E1D324F48B0C807DCD885907003187696A0BBDBE5FA0B0B373450FC440F698967BAAB67B621D8346CC43462B171D0E2E710D696EC05DFD51578D6244375AC6ED69568223F17A67BDB18C86AA9A982B7269FD04E278B9EF1F379686CD5B6F5EEAD91BF7D8547EE868D71B6E07E907E8883018B26380A16E779A3A86483CCD678473C31838A04E1AEF78793788330D162D1ADBF9E0CB1551FC14ECB87356C62EE17F95D38A634917DD3A63C07CD59324198D3FE6EB4ABD928D78D8CFD9D05B74F44F691C8CC3533FAC926ECB0FFA989F504A9DC79CF86F39525A8DD3EECC4FD4842FAE92B02CFF25DDE9B08014C371F41DF226235253B9B36E1EA8C7E8F081DC0E958991515EEA0855CE7BDF3F2EFB01831632C55E065A2EC4D16048407396B2DDC233FA0422F833946AC32CE14320820051D5A68A7695854167264A6415BC078DC37C717C83ED7879D776FD8599A71F999DD5AA2A53E9B6A38CC177058F7A147B6E043B2B5AE5010D017D327805C858613081AB4943981CB7457426B7A857D2FEFA063DFB655997036437D18D8203F68D89FF5660D310CB99F5CA378A9FB80FD84852A0591F0E41311100D168AC7867E54D5C6938D72723F22016C962EBAA67368A173CACA26557B276A29ED4697AFB6AE9BE48D7C411A9177985CE34C0C1BC1FF87D476876705D3157A789B4F0A7DB6C272EF4AF614BD421029CF74FD17FF1B82DB190CA13F02E60A6F2B261AA4FDFF74E2DEAB18222C674FFED711EF887F7E4E605E3241B751C581E96E8B918974E90022F086E0F92B63FD7963DC1D0F5CAFA1EB9DF69C32B9D1BDE99E89193B974D41453EFD36783F92BF2CBE1EF6DC56EA20EE9AC1F3A7435DCC21A2066C63B746343E565182A941CD22998AA3413088AD2801120F562F64B7AF55D3C6621BA1301EEED652661BC22184BDB9A9AEAB67CB18D85612E7D8F7AA2F7D2A6B3C4545B40517A4A74CB0FBD4610AF8687BD6929DDEF85C0F74C66DBF64A83BE1077ECAB0C5EC92991C6B8652BDA8E6C088B0EBA61C9006158B48F88D8257AD30F7AA50FA0EDFA025FBB7028BB978396714BCDC2622290F907B84247B70B71AAF608315DDFC78C9AE4297195EB956A7990891D5C83DA71D45C8EC9379EEEE0F8F01A29CBB58B41EC75D905C77AE533C5122B907B6D2C6E4F423F6914C58D010BD4F26BEF3823587C95C7BB8670CA7512E8D7223619CCD9B88C6158B1500B9223AE31BE27D509DDEE72BB1C298E308C46CDDB93E500A0B54B41813BBA528EC1F8FD6E070F73E0289AF534670C8D2DDC98E95FEE6B39F3F3681012B5BE028C3CFE7B2DA5D7EFF3FF352B6450EB4710EE54899D9A09B0F2D10A8BB177BC30EAD38CD29933A715608E625D35D919ABCCBB58F7C23A047FECF9A9226930438E30F262187C7FC7AA872C3651C632479C2687777E152258972FA4FAA67633862BD2423248430D1F444565AC1A6A39D91536E003667D88DF89D9D1CF909451C4FCE3556B25101E887FA8ED5AA8D6FC2DA14CF379A54E3DA7987FF2C811DA0DE48625BC8C4DC345C4D195ECEDE0D18AC3709B4B6A8AEA78A979A6462CC0F19443096E392B3E142690163CA28F01BD606958F6A511AF5B191F0F37373FB451E28EEBE271E631CE1FAF09566D8C6E1D4BB38968785829667E37538712306A69CE67DD502F01CAD3560AB696FC2A5144B553FC44B5F1BAE4640B1347A99CE98E224F8810983D64154A7FF5CCABC138E4C42257DC2B5E5691FCE4BF4A88965AA3460871A6EAA3 +MD = A3BAD41905D8D509951EBECCF3148D5234D3987B34844270DCE8158F1504511E + +Len = 16160 +Msg = FBB36A6D35FA8C0174BF87FD3C232D1F6059B8C43CBD7106AEA406CA2EFDCABECF3B05DB8AE53CF98E866DFC5EE714EA3C555802F7515598560BB35E0F0B26D5F51B81FDCE914E3651C21951CC45DB3B480821E41654368B3259E953501621FA549114D80A534FEE583AD61D681C4FE402925D3BC72A7A63D042CF051EA2FBD2B110017D31218FA0BDA84286465740D549F7035492B2C0A282544CC536B8E4EB8695437D6038B13F9125F8C4799CEAF85339530E478AE2ECD4FF909BAB849A18CDD775B6758808141B94F1A243BCA4981C9D4B7A29CE53A2C17C3E62E657BF51B6163402D6C33F17FCEA979E40B0D6ADAF572A79030AAC63E02E99310B133BC007AAC9FC8564200A9BBBA0F5B1228B7D9E869DD824319568CEEED7A9C87E5A5C20A6F65879150D8D279F1376960E80A6E1CC929B30406765BAE97B22D08E0225BC320EB5004DB4F4648E6B8F8F1FF13182D1B20838CAF69B054E72DF07E3E5C53C669281E227A13FF0F6350578F2E257D9A2DBBE673F8D4666F3FE6B46E007A08D4C79FCCD4C8244DEF3DA4B8619B2389FC79D5C15432B672121FF14B58742DCD565EC5EAC780BB8832DA16C3307B8E63D41500E618C8FA9EE077F4A98236809CAA3F3DFFCEA6EEC7DC376226C80C5B1DF3EC161C9993DEF3903D542EBEC844C2E7E69FC215BC59FE86D5E98F98E3B8237D54CB2C28B414700E1E977B145C768301E78B9310119BEADF695A05C509D95863C4236A3B99C1997EC739EF4F3D74DAD5FDC66E494EAC463844874D6A9ADBA891C617A9F98D830FB0E24CC09B70114B32CF242B7C110715F2958219596E0AACCAB5DCA7AEB2C1649358DD95817EB35CEF4DF997242ECF387D6A06149E6B4661203627516812D7472B4D3F05F1AA200D5990201E97DA0F3D3ACC81377752C7B9455B591AB6B46AFE8DBDE732A9664A42175C20989B5A307209F64B0F2AA00BD297F8EB72ECA7255B99F07298B1C59E3D413327EF994EBCCAED1D986500AD2DE5915908DBEAFA00498FA374EED2537E0455EC5060F8CBCA77029CF2F21B0D2EF29950222947D3B926BCDAF61615F73F0195EBF189CBFBD25075E6C70640A81E64C36B54232CD76EF24AECD8E619F652AFFAA27A39FEC7EF7DF3B6C9D03B51C0975ECC0CE4C09CA29F56380F0B2B293321ECA37A6675F43CC7D7A4A196D3D11ACA35A54ECA60DB965EE1DB7095D481F1F276F6AB4C0B37398C76ED4A5CF2BB7B9C401E2686FF8678AC6C1D141C3A40D41C44B3F2933DD4B258EDB45DB5675984E6880C3927DD5087F94E122283FB76C0F622B671477B2C535193D1F4330EC09CDA03A1E4CCD1A06447E078AB7A37E34E54C2E0D911593FF522ED94B5FFC14E62FD21D00D7E5BCBEC5190D5A40615FF64740A1D31D0CDD07E39BBB4F615A4A0345AF40D0647F354F96FF2AF3EFBE25B9E38E1C5550968A18BE6DA252A5BC861CFE2D9CE84F56B0071CBAD937C947C58D0301E51DD1C3146F7810D795204BC0C7FB71F96224BE409FF732E14DB1C2CDABA7CC746C4FEED829A7077F48C7F466D1EC0C89E3E247D15A4A63114EA1E6FD855C98CD7870CEFC75ECC8114F1135A1540DE6A8E1C05C9D6DC554A6B08E86C8158EB3D844C5348A61D54A6559B0B7F4BC592558200A289CCCF39AA308782370B2981CB5EE050710E012D4F58A9D1E2E0B9DD5A3532455FBCC1DBABDF041F0E7B9DBAC805A503832DF59B29D0D1DD6E75E735DF9082B458DD10920C2CB72CA4AE28B63815785656A7BD897F1436393780DAC6004F68A745B235913C536DBD5C23EACC6BAE635C949EFDD2941D9F1A93ED944180427FF57D0AE76A5D584430FA031D8969883E09E853E6A29921D70214BBE2F7477CCC9F16D18EF6911091D2E62A8C00567B831FC79CE5DD65A95304FB7B0C56CD4D7FEF15DE5FBD19E312EF76C58C67645003BF0A55610F7A60C7D7C5418EE04C45FFBDF3D9C3C792A5E92979D6F8D1998C00A020C0F1974BB867335288F006DD0E973A376F353AC0D97646924C1B35C274E6AD1103A1BDECEE53D2CDE4686BD6AAB9407A568C7E029B86557617C261590384259B3093E0098F11C17DE7210113D586B4624C2E052AE6738EF10CCCC728F2AE111458E5FA1A93EA3A594E03AA1C65E5471F24F3B8AA126C385062A2FBC2AE2F2951874BBB64E02F3009A575941D4235B06C1FE451A825CE91BE59BAB85DA91645E0E2B8CE374DFB054A40809F26DB0AEC534AB5CC27E27477F1C1A729F2CC0C11FC51417B71443B657FD79DA807BB01CD01B036C6737258E60DA376DF08089F41056FC454044E0F1D173A7E6F11355851D36626A4C3E89721FE659BF58B72E411B015BF13396B269142C576A5976AB352E1708C1908C43D873964A097721A60485002F4675C5A5F582ED4BC7786EEB2D49232DADD6649BD9CEC32D6901EA5CDA7BA838817DB8C0AFC254B94E4AA39C0671EC45CAC70A73BDC77E821CD8BAA77DF6ED0F3F79386DE1FD7D7D81AE7E05DB6D1D9CCE8F42ED4FFB1A7FBEC62984DEA74C9480945EB916752EC9E0606815F8D5779CEEFD2DF49775A1CA29465AC9783944A0617279303AB86C2AEEB1AB4EF1FFF7465EA6850109D770C990B842A0A5DBB1CC14EA4947A356678FDA4EC44FC9D8FA352A546A2485F842A6BFAC20DEB0458762A72DD4A039D64AD8485D9F1C4D67EBB87B99FA95CD5B38DF8E32CB6EFF1401D0D2CD20A7DBBC3977B0854EB9F945510125464300C91577B21B6A0A61341379D1F1E15937C4EAC435D05BE9282F632F84C2AE1290C6DE6CA6C5ABAE90A6C9F37321966CD33D86C6275C018FD2C15AEC46C095AC0CD51593CFB646E8A5F8 +MD = 54216E68A6BBDDD27827D5FCA11B0110FFA89D7896E5914D57495BD2C39E9495 + +Len = 16664 +Msg = 6E1CADFB2A14C5FFB1DD69919C0124ED1B9A414B2BEA1E5E422D53B022BDD13A9C88E162972EBB9852330006B13C5B2F2AFBE754AB7BACF12479D4558D19DDBB1A6289387B3AC084981DF335330D1570850B97203DBA5F20CF7FF21775367A8401B6EBE5B822ED16C39383232003ABC412B0CE0DD7C7DA064E4BB73E8C58F222A1512D5FE6D947316E02F8AA87E7AA7A3AA1C299D92E6414AE3B927DB8FF708AC86A09B24E1884743BC34067BB0412453B4A6A6509504B550F53D518E4BCC3D9C1EFDB33DA2EACCB84C9F1CAEC81057A8508F423B25DB5500E5FC86AB3B5EB10D6D0BF033A716DDE55B09FD53451BBEA644217AE1EF91FAD2B5DCC6515249C96EE7EABFD12F1EF65256BD1CFF2087DABF2F69AD1FFB9CF3BC8CA437C7F18B6095BC08D65DF99CC7F657C418D8EB109FDC91A13DC20A438941726EF24F9738B6552751A320C4EA9C8D7E8E8592A3B69D30A419C55FB6CB0850989C029AAAE66305E2C14530B39EAA86EA3BA2A7DECF4B2848B01FAA8AA91F2440B7CC4334F63061CE78AA1589BEFA38B194711697AE3AADCB15C9FBF06743315E2F97F1A8B52236ACB444069550C2345F4ED12E5B8E881CDD472E803E5DCE63AE485C2713F81BC307F25AC74D39BAF7E3BC5E7617465C2B9C309CB0AC0A570A7E46C6116B2242E1C54F456F6589E20B1C0925BF1CD5F9344E01F63B5BA9D4671ABBF920C7ED32937A074C33836F0E019DFB6B35D865312C6058DFDAFF844C8D58B75071523E79DFBAB2EA37479DF12C474584F4FF40F00F92C6BADA025CE4DF8FAF0AFB2CE75C07773907CA288167D6B011599C3DE0FFF16C1161D31DF1C1DDE217CB574ED5A33751759F8ED2B1E6979C5088B940926B9155C9D250B479948C20ACB5578DC02C97593F646CC5C558A6A0F3D8D273258887CCFF259197CB1A7380622E371FD2EB5376225EC04F9ED1D1F2F08FA2376DB5B790E73086F581064ED1C5F47E989E955D77716B50FB64B853388FBA01DAC2CEAE99642341F2DA64C56BEFC4789C051E5EB79B063F2F084DB4491C3C5AA7B4BCF7DD7A1D7CED1554FA67DCA1F9515746A237547A4A1D22ACF649FA1ED3B9BB52BDE0C6996620F8CFDB293F8BACAD02BCE428363D0BB3D391469461D212769048219220A7ED39D1F9157DFEA3B4394CA8F5F612D9AC162BF0B961BFBC157E5F863CE659EB235CF98E8444BC8C7880BDDCD0B3B389AAA89D5E05F84D0649EEBACAB4F1C75352E89F0E9D91E4ACA264493A50D2F4AED66BD13650D1F18E7199E931C78AEB763E903807499F1CD99AF81276B615BE8EC709B039584B2B57445B014F6162577F3548329FD288B0800F936FC5EA1A412E3142E609FC8E39988CA53DF4D8FB5B5FB5F42C0A01648946AC6864CFB0E92856345B08E5DF0D235261E44CFE776456B40AEF0AC1A0DFA2FE639486666C05EA196B0C1A9D346435E03965E6139B1CE10129F8A53745F80100A94AE04D996C13AC14CF2713E39DFBB19A936CF3861318BD749B1FB82F40D73D714E406CBEB3D920EA037B7DE566455CCA51980F0F53A762D5BF8A4DBB55AAC0EDDB4B1F2AED2AA3D01449D34A57FDE4329E7FF3F6BECE4456207A4225218EE9F174C2DE0FF51CEAF2A07CF84F03D1DF316331E3E725C5421356C40ED25D5ABF9D24C4570FED618CA41000455DBD759E32E2BF0B6C5E61297C20F752C3042394CE840C70943C451DD5598EB0E4953CE26E833E5AF64FC1007C04456D19F87E45636F456B7DC9D31E757622E2739573342DE75497AE181AAE7A5425756C8E2A7EEF918E5C6A968AEFE92E8B261BBFE936B19F9E69A3C90094096DAE896450E1505ED5828EE2A7F0EA3A28E6EC47C0AF711823E7689166EA07ECA00FFC493131D65F93A4E1D03E0354AFC2115CFB8D23DAE8C6F96891031B23226B8BC82F1A73DAA5BB740FC8CC36C0975BEFA0C7895A9BBC261EDB7FD384103968F7A18353D5FE56274E4515768E4353046C785267DE01E816A2873F97AAD3AB4D7234EBFD9832716F43BE8245CF0B4408BA0F0F764CE9D24947AB6ABDD9879F24FCFF10078F5894B0D64F6A8D3EA3DD92A0C38609D3C14FDC0A44064D501926BE84BF8034F1D7A8C5F382E6989BFFA2109D4FBC56D1F091E8B6FABFF04D21BB19656929D19DECB8E8291E6AE5537A169874E0FE9890DFF11FFD159AD23D749FB9E8B676E2C31313C16D1EFA06F4D7BC191280A4EE63049FCEF23042B20303AECDD412A526D7A53F760A089FBDF13F361586F0DCA76BB928EDB41931D11F679619F948A6A9E8DBA919327769006303C6EF841438A7255C806242E2E7FF4621BB0F8AFA0B4A248EAD1A1E946F3E826FBFBBF8013CE5CC814E20FEF21FA5DB19EC7FF0B06C592247B27E500EB4705E6C37D41D09E83CB0A618008CA1AAAE8A215171D817659063C2FA385CFA3C1078D5C2B28CE7312876A276773821BE145785DFF24BBB24D590678158A61EA49F2BE56FDAC8CE7F94B05D62F15ADD351E5930FD4F31B3E7401D5C0FF7FC845B165FB6ABAFD4788A8B0615FEC91092B34B710A68DA518631622BA2AAE5D19010D307E565A161E64A4319A6B261FB2F6A90533997B1AEC32EF89CF1F232696E213DAFE4DBEB1CF1D5BBD12E5FF2EBB2809184E37CD9A0E58A4E0AF099493E6D8CC98B05A2F040A7E39515038F6EE21FC25F8D459A327B83EC1A28A234237ACD52465506942646AC248EC96EBBA6E1B092475F7ADAE4D35E009FD338613C7D4C12E381847310A10E6F02C02392FC32084FBE939689BC6518BE27AF7842DEEA8043828E3DFFE3BBAC4794CA0CC78699722709F2E4B0EAE7287DEB06A27B462423EC3F0DF227ACF589043292685F2C0E73203E8588B62554FF19D6260C7FE48DF301509D33BE0D8B31D3F658C921EF7F55449FF3887D91BFB894116DF57206098E8C5835B +MD = 3C79A3BD824542C20AF71F21D6C28DF2213A041F77DD79A328A0078123954E7B + +Len = 17168 +Msg = D7751AAC0B43C4AE8C2CE366256F95E3570CD6AD643C076F05652214B6CA4DC134E64077CB1B468CC19500BA1D3FB0D3C5BAFA267DCEE972EB4BA3B70AF32A00E481416BA6917DA4771DB3DF2DF38862D9ADC8150007E6C369F3EAEBE29D50E9A5A687793B3A41487D2096625A2D0AD46EE44021209E0F752615EF13232C3EB9597B0F75BF175250E72640F245DB41B6E18DD067DC628E364A92FC96CCBAABA0E924C8FA4E2E0BD8D5EB1F901E153DF1284F80B6B85916E2BCB3F0AC0F357C58CA356481C3E9020331EA63E87684032489658867F7BC88BD98FDAF081AE746A52714AD1BD830C1D65A9EA5E8F0B65385CAAD9E2BA9495223BEA661E69A5BA035235063F275C5C655FA0D165533FBFE70A48DE545DED7BEB72FD905FEFAEBD683F85344103DF0B8DA663348005492D8BE2AE95C30FC629C4D027D503D686B5A34BFB6856F24E8FD9E56EB589B79C28F727D4249C6A8CC5072BB19229D06F2A5F7B0223364B4A0CC55E53EDB771A2EDCD7F278ED5286721CDFF0696616566642CA04513B58D62371D8C533FADB90E43D78E488900E556C865E5CEE9C652F94440506713E4833CC6E119D5BAFB0FCDECF257DA9C7DBAE0E9825D4459532A2D71B226ADF8849D691D3270B73D95E1D393F6D323F0E39A443BB5DB50550959123E59035413FE4B15F32F3ADCB425801D881A24B241B1D95E8BEB2759411BA7F34DB03C88E55716A64BBA0A2F41F50008A57C31DB3A6EA1BE64691B388E93C3C4CFFC97AE4EF455A1BDD013D44F2BCBF4A45C0C4A6021C220270707C36435835CADD611386B5FF310E449778234603FD77A3DC176BB965A0EAB2142C1F489087D4BAC3D7AA03DA557D23C943F6588D64C3E14769898CD45A6FFEF50BA45391460E243A904B01A8B3D80814ADD1E6AF635E6B7DB457A47BBF707825FC72929DD1F8884904FB5D4F8C1A331B443B01B3EC8978927C1602ADC6A9455B332AD3D5074B7A400D22367A057EEBD3FF91DDE2FC3E367F5780A67F5E22B8450D2B738CEAA99AD29E0032D17D087725DACDDA2905CC79FB94BD835584620AD770F91F9626484BDB6535B08E130406A397CA732175E3A9B1D26A833DA2CEF70596D8DE6D2C544AC001AEFA0C5709220AF34994F32A20CD982C67EC3C3ACDF4DE6EDB4ED461F3B05C2E0CDB38C606376F0AF4687B9CFF71EBFEDC3B3D4E253CA4FBE89F4B19B820E9BA1D4FD4AC40D05BBD815093FA00CD5338508C71D5A5F73F3DE10E58A3AB8D555E5B32854943B924939792BB160FBCF1D82AD6E1DA7E3F86EE46274BC775C42D2F541C4FF0764EE1D9D635D71D849C1DB917377218F49A118454B4DFDC0CDCA20E4397137D6C5744F387FA3EADB245B0757C50BCA803A9F0FB764A761C77599027FF8822B2508597F46A41A03971AD32E59A2668AAD2E9798306800CBEFA0408ED528E58B1D5F312C4EAE7F70E7DACDEF0B2234F5B96BAC97817011DBD8822006B1FE5654B5A3E795977242C25F56CF3AD61231ED88E390B4A0199A5D06F0B3B9D9E918BF66BF376431F62D40721805945924938D8C47374EBE697FEAB839E6C26B6F3984FCD149C173E2FD85D9A45E5350C554DDA978EFE22C81B8978B651EE8775ED85D688ABC798E7D42D256CB36C09788D387699CB44970AC4A056147BE9BF5480A952724EE13368BDABE812EC8B16E4E168013F0DFD1747267DE2B19EE490EEB8DD4793A00C7ED8F779B90F2C004B30A607AC0DCAE6BE6D1DD6DBF2DBBBF0BCB5394904FC7C4351BDE6125115BA1FAAB76ADFD0A4112D962117C6C304B8B552A9DCAD1B9F7EA9595DC1A432BA8534C61DC7869EDABB46F99D5FBF13B257CA2803C73617CC32A3D39C2B8E5523326EE49755B3B49DB11471925D71C66F4E92E9C4B6832B236539DD886835253B9681729F493D304518EAEAF837CFAEA9798A6D4F8736F06FF37586D190783763A660465DF397883616A5CD1134AA8B63385DA8BDE87435F6EF79F069CD676EB7D141B1FE4D510DDE942F503F01BAD2FE5FE3DFA8483E8870E2A0C3F45E6E8B49E0BC7B1F473E5C382085AAA61F663B3A0F815B485FFDF9E76D18BAA643293A736EC6D8487D76F72BA9D210CE2C9091063295671B364CAC70A6B1C7B859F28075A8E4062BBCA72EEC1E3990F011251ADB36B92F5E140F6EB7034AECB10A865C774F2B297F088780C6C56BBD5EE56020ABB2BA1FE7B253FB799DE90261AB0B87306BAE0877053AA5BD6289B076914EAA987D631E5D11DC67E85B81F593D96CB6D99E62E5EFB5492BDBA4555540BD64DD1F343352ABA273395E0155B37EF2172C164ECFD2E4CF886C22D49754A7421FE4A12689AB6F28718611F2A48AD1CBC0117D2A668C9B2F543DEFE73595F9B2770108DD2619CFAEB0C40E65D65784748F5A5BA244836473A42F64E71BFD2F4196CD5447B7CF1C8A4600E8CDAF51005FFF2C0B43458966D79CE039E7AB1A1F485887909ED242BDCDFD4A26C294506478E16E71E7145F109A48E573CE658F62EFB6F667B486427E7C92348647DFB1EB23CA6E47B57D8F69126F89F2EFABD876236759414E775F6BB98AEC332B0DB289DD5B2B7BA3DBBCA2825B0303B44C3B90BA6D029A5B77556610AED32FF21D13BF38667CB31571F5FD2AE90DCE953D8DAD9C16A3EC34F0C3085A44C0213DF11539EFB80A013C31C6D72CF62ABCA1BE594F7D9A47833A863FCF581014A83E73D7E66178C0A007AA21B2314ED0B6E16F4149145C51AD8CBB6897A6E94EC091D9B8A11B4436213E7EA0D34D34953ACF4972A6E08B137F0A1168324BCB9D9BD4F03FE0CAEA5588C8C0A93722FA4A9673EA0B3175C370DCC23C287276DA6D050DE89B45A4BF2F0056B790634A77376EF02ED351CD5D33C54FF150DAEBFCE8D42EF3CCFC9021F83DA1186166FF2D526230D7EFB28958D66E2DE41B5D43C3DC035025B0D1A7C8627B92845F0E388ED29900075E84A6E20D9F7CE04688529F9452BBDFB68C912B0FECC2EC9C9283D65E22BC658FA3DEB3EBF0B5679E +MD = 22614D379659DEC8F34B8926F919151638C1EBB871304E519006E185F8E225DE + +Len = 17672 +Msg = CFF54596C315403090B3DF1253C9779B89E866F1421E13F7646E3CC16D0978C41B959499C249D229DCED6E267CB4CB6699E0478BE8DE4E13BE4B58D6B63083E9734573093FD33FF2FDEF48754C09E891C41DDB62C2B4208F779C44BD445D852E2BE9DA7FCA6C5D7C015F319E4BAF9F9B8C59710816A978F670EBDBF5EF455748204B3CF1501882530F7F95357B7C0C66B354AB947FADD41974101602C926928D8A2B3AE14597DE327DE07B724F9605BBB70A193F4BF6DB0F1250BBE0732CE9CDA13F2203EE04164438B8893238A1863C19F223266A047792E138B8CE77A96330386C86067C7F1097C1A4437ACCB9DFECC965D576955426F066D1CE72BAB6AA25B944EB7CD9859988C9FC38C77398839E5C3A6A94E9190335FA8A20F240B675A5E1F2544F957659B557F2C9393AA799ABAFD4D0A3169627A7985131C7C2BDAC9CCE99C8C744373C19582A14BEDB713B2068F101FAD706004C63DA2F5675347A095393BDE6E5EBACD2F88B0AEC6999FA0A1673D8F530C5A43E65A7BB24202A7DDB5BE1B2303BDEB0065D3D02B8A3A7B7463ADE755648197F991DB4E73379948D01D66F88E605285A14151C6A0326432C4005A852B6FE7410E7A774BA17D86F8BED48D83A777FCCFA08FF6C0F4AF9B44D20022DD711B1F9FA88A338AE412868DEEFD9AD161A910CD55F3375CA699F8F3F2C3276E30C2EECCE99BD8F254CFCA747FC398D96C3C9B5621ECF8DC777D4075344FDD0E99291556C9CA586CB5F06F1CCA32C1194FF82F20792440ADF15C176D01A4C4FF04A02D2D80A476A5BBBB1EB3B56F1DC76C4B0602C50B62A6DB0E160C43DF6C87882966BCE7C33CCE79BCA7CD265014858ACD6F0606E2D25B9A49409E41B2B17DEB24EF5EBE34CC713D5CECFD5EB560A8ADBB45699B2EA19876EC9F216BEB541446004898EE0FB56033ABEE5DAFE1B2A196F11E741E16445B1E882C2CE6E5F433C6BBF258AC9AFC81453D4F95D9C3756088E4288FBFDB81A72E1F2E5A4ADB99EB606E6B5AA484E578D97EB10BEC972D27AEF2444F340634EAD3AA681C0A43F04735ED744525E18C3EC9DD22213F8F99EA6334127BFC0D703677E15A413B1F28806234AD5106D1C93A0A54467336BC02AD71291605A87BF26C95A382852C48E017F082F7289C57E3E9243658E9C10523637FEDB5B3687305031621A6A62F65072D572E35325F3F47BB3683E437C1F648250046F462FF6143A372AEC2A80A999823ADB2BA65864A7C8055A1F38E8A455313FA4F091087609C84899641B944A2D764F5AFF9359944B33D0AD0005C08BAC003BA14D5086A88D3C12FBFF8CA5D5195068BC84EF6682AC2E279C0082DD0ABF42333E7E52CF8BD1253BC266F412D050C9CD2E2DD3A814C592193203547A6FD0CE704360FD9844FA1FB789181175D089DB4DB8659C5E2BC991F213442285879415618593EA76FBCF34067E7EE0B5BAB78D26B2A4964BFADD9FCF4770EDC62C0747800CE582BE6C3D44DCF6B448988103C4FF81C5224838F72168985B241E88D2CE3B05864B3DAABFE8063330765BD1093783AE2A2A104D3258CF0282E5165857FCE961FAD5627F508C4012A45F61602D076CB2108EFB8D963F266EDCC172F0729F3B4391B192868C90B58EF83CFD713A27CC8494BA5AB9EC88B33BE6F5DD03C15E1C2A84C1BB9A13FF4967FB20884FCFD9F107E13405307A1E524AB8804334108610B12BC3ECB2E7B6C02085A593208027A4E525BE7D4A156B975625DB2D87097D0EA36917920C47D90DACBFD5978DC62E11912017E28D4328B4CEA1C5D4BB8F176AA793BC8248F3F4F80F52156783C47148CE93F60E33FBCC7052A8CD490BF585A67B27930776C7B6A734D7E771B7DE929CF24C03B77A27AF2F86A75AF59D6BE581E3D1BBFE1F6EF070C73FA4BF580E87E786109E57A0CC1D027CEE3030D79EB67F4BF71BFB3A520FD6829EAEE6F5ACBC45C40D2D19BFFFC7310EB082D67E4CEB2B12BB77C334AC9B24A559A679474A86559F5294330B155B9F8C9D845856C37F7560FCD926ED0841C8D077249BBCCB28BC418DDC7D189FC0AEE67074E95F81619B8727500F163107EE17F06FDAAA1E6106FE558CD0707AD85884C51EB5CA108644C908EDE0433DB745930428B56406E063CDDDB1A5C835444A0733BA0497FE2C0CC2739C373E8F74B24BC1B3A09C28654E74C4842C5B1776009784A405B9F81EA961633DF7BE908593B1EF824E43ACB9EB4C3972A662462C42EE1CE406ED55DFE6245E9CE124FE7C038DEAA15E487CBC1FB9B0FEEC1536AA90F2EC9F0C979F369FF50FB99A14D3C0AA9F94E668A9801D514DE6901DFA189196D0FDB1E4313D55A3ED19E8768ED8450B387B8404BB9AD9DB1FA48FB43A2F056168F2369655D8383CDEFFCCDDB921F09421340241682CF1AD233E488DA9584895BBEFEC3602693EBB7ECA32BE773C9142569ACFC188A97D46801F613DEC226E82F29EF07C1E0197F4462B4F1F22EDE13E1242FF5101693112A410AA59D4931D2E98992172AA4DF8180D571FEA9EF94515910D6CE14D81ED8F060E8E6CFCCD1678A827736009DBC38DE3D63D2BF7AB78B0C9CF3524379527A7FE4A034E36DFAFB018B54F08EF3DD41904FBB2782D63EB7B755A6D306BCB004F0A8CEE3182B99ED6A01DF198A0027DE42938064D32E45D37A613FAEE1F1075F699125675B18908C23AB0BE248A5A1AE8A01B1BF76CE71371AFA56CB3462A1C52469A460A357E4C7874224C37C1366DB9FDD3A6F1F08A6718CA45BBD3B1850E74E27E76571DC89E5396EFD5C28AA37A61DD3F82FC4257C080AAD25ACB8B336E5D093955DC6847AF1AA4BBAE31A0E64BA5C021053E851E05E1FD398B5ECA2149219892EC0A644DF2277B77BDA83572A7906B168A9AB17370AB9E24B57667F9DE503FF0B1F9B798DDA99996356CF60555DC63EE40B23C77FCE438790C8F25003003320ABA731A2F233725FF7D62A49E76BCEB7EC76F58558C025672D7144E5943408F4DAF60E4D991990B510F548551F2ABAC996E603F559051C4A82C8181E967EEE72E05AE3508E181DB54C8EEA4C05D2C9440521EB19308B3D5F0B5485902A6B01A5AE04F0A4D5712C2838C815098 +MD = AB9BEBEF053AD57060FB0A7CBFC7E42A6D78B49F60CDB5AA8BD3BCE173B5C2B7 + +Len = 18176 +Msg = 94133B8E14785FC19565A3AF0AEF60462BB7F8045E2EDF4A836718561AEEFBD0382434D319211C670FC699D25F02EC608CFED9786B7DA70E5595AC816688455CBCB4449536E8AD20863D76937796CB0C599918A21A0133B6C625B2000BED8884FC86356FD742AF78BB55D652CE4892E7C296853A40AF29116CC98D38874CA0F8BB5F6EC8C04DD7F3F9681858E0CD54D8F9B50A830C31A9781E70F63E5922B08617802104044EC2ED28566E39534FA8859573F024CA381D87BD6E04607B9440D3B7D4EF0FD172A6B8FDFA2235D46BAAE0778467BFED91D33C8DAC9DB5E7EB6C69FFCC2E9F2D6B5F53ECC800306103D86CCB1E3483EA2AC349EBA3833174D5CF058B8CA82855A938A6D38272851B1977319AD78A96A59B7D6300836B0B219974CAF8776BAB7ABF4665757F9CC941299A96998D3A910DD41FAF26D4AB54408FDB920FDE1D614A08C2F02716A17AC3A98554D9271F644D0D74C0D4A75C663AB8FDCBCBB75B250096C156366EE1A3DFDC6B28299B38C0C14BB685A89ACF6C41ACABF6B3C6745D08F73811009E9E5EA868D469A0C8CC35D83E99B2DA57D202324EDF0558E7632DE782740CEA7D6C4DB9590F675CED9E6C27C8D39884990D7B685C89F70E55E084AC8C1F366A2B8EA89370E7F7D724EB9170729E20BB18C7026BFDA8BE4A9813172B76F72B7FF8FDD31F3AD47282979DFA8704928042C24AE398050A4F4384517901A3A2D4230C56A0CF3BCA928AB211BCD2BCD4EF0B73DAF60240F39AC01A7AB29DC80896F6118A56DB957662C2058F045824DA79DA35EFDBA1F8D71094154643A570DEA95F30CD28F28AAC3F3204132571CF9CB688D27ADC77662AE925B75F3FA3854FB849C4450D4CB6169788E2AA6AF63A30C3654B81D08AA118773B87D0F76B7AC443246658662BEF132ED13218498F0E4646EC7782F63B0169DA7890C682A2D046E13C096FE521E4E42851617DFEAF85CB366C6DA7CE656553264BF673906872CE8EF4452C0993B2F5191F2E83117E2E8D66D3FD8333F0DEBBC9D2B1ADD31ED807BF3DD2DC056A2590F8FB1CAA31D110F389DFB045C26706802ACB2B4E7A2C1E5971D07920A58FDF2E30A48756A2BE92FC4729E5A779D61E82477603CEC73088C12314CC89C99C0AC91E41F72E830956F351D560136FA2412F5A47F627F5724A73FD4C584C9AB62F028342278E96B7F3F1EDD270CA45BC8B5673971007FC557E9C3F1CF7A65C80426502213EE2D5F32AA726C336894E35AE3FA3DC452F1E13F94D6AA2BA5AE7975C14C3C2804FE71998AC481241C66FB81AD62157E4058884931C93DA6C377FAC5DFAD4C6FAA505461BAB4FA85266922B2827BF3B9A431EAF25C5ACCF839F78A0029E0DBABA8A2D52B7E0203263B6C265B03C97600C7539129C3EBA3B55CA8820327920559D86878136E40460C45F5E3ED4D0A84E81BC2AF68473AE7C9EECA62E5591729DEAE74C4ACC974BB998BF6FE01CD2A781F10146CACAC66A492905973B06C3917C72268FF89E84736AE386ECA2913CEFEA3D55C6CCB392D1B1C1627269C060962ABEEEA388791F5BD4EAEB1FE0338BF18FC3401BE0B7AB55C28FBCDADA3AD2B39E7BFF28F4F8F31173390EEFDC9927A066A554E8175B92EFB8808C92527489194C6192D7F1CDA78ACEEAC77E67BA502F794E6DA3DADB8C12E5EC436A1AE0AF571F34A9B5EDCC64A8ED34354E36EB67E8D616317075160F725202B832C7ACD649A86FF7B135960A3F295786976DAC96637D949ECDDA43E7014C451EE50EC752BB20C8DEFB199207C6B2BB0DCD1FB212E6DB26476BB3E90F5ED2B9CBB3F1C243DADCC622CB503D08FF4B266A742C5C61A4FFF23DE25CAD7C3D13C2AB50AD2AE77BFF6E1B18E593283A0BB4AFD6111C9B5D5D062F77EB2CE8071561A796CEDD4C4F819373685B4C3D3D14BE5BC20A72EB9C6C2C1765BA887608157354D0A5BC1F4158D23ECF30AE3B3BEF24BCF8530F13B7FEA54722B57A761169CC827634A84314F697B090425BDF9EBDF88A6B53515E01D3194A8DEC7B8E15BABAFF42E0E0CBD1DF286A25C1FE3934201EE19447EB1E29BF9DDCD14EC9508AC213CE17C6A5BA3BCD207D1E41ACC4FCF9EF40EEA8943DFFA282200F37724413A438BADC59A13A07CAF163350F2663D2B381C14363E2372E30FAF1381A8936B61DF5370562BDBAA1102B6589DB74C635C791942A5EC148F66DAB803F469F6C39DC225FBA4EC87BDE2D5EA31EB517F3A43835D4B88C556E84D63B26894BDADFC4624ECB432720D164BFA5F9D2A685728BDF1195910A94C304369DE61C34BBE32FDED451534276DE8E3697490AF835FBD8153B807C8A45C1E7057333F99E820032F8051FE8FD6075027041DB4BAF7693BA2200A671B37679B7DD088122F48925C64E4C3E999BE84348445898C3A1690A265986FF558D8C6E0F2FD142E1A93F4EB307E4CF2047211E005A42C92A431D111D48EFE4762DAE025B183A2DBC57C45D98484DD85339EEC68E4A6CEB3157161217DA7DF44029C1D042E4FC302079B222043323079BB6851FA732A9A2A91A6D94C1EA5ECAAF91312953EA0D246CCB56C9C234EA53031C36D3550814AA8CB39D77F77AE842CDFFDE17D915AE29B8F118A46EDB08EC5E426E30DC4DCD0B1457371EE18C7853B93936B8EB4B4334CDF6413ACE28D68B1E6EF72050C121289DCC107D5E859730F97AEE4407048E4DB2B71C91C30B63F01C2D02845F3192E861853942E6DF816067F4C2A8FFC475FA7192245A5463C9793F4731DC4A4AC3CA203A270BBFC9BD841A224D347F8D30EF84AFDF9A70969330E0776670EDF1347C716AD931EE7B218BEF3B62C3EC4FCDB6B41B9D42509BF4E844E7C85ED2CB6D40E0BD125963458F8E060C1DD7D398615357D7C2662EB4139D952D67573C2DDC83048A7DA7B9D669CC5002BDBCE183889AAF434A6182E32F051DCFD93692B9C096B57E6BAB5D22E72AFA2AFEB53B4870B52F5F3AEBCE58ADDC005DB10580FBEE6CB9C598260F364962917A7323AF20EAF3F511E2346B1962ED247AEB7DE64E68D6C5C1C14A92F606B19BBDE4A68494BFC06D76DF422EC182FCA8C0D1E300896455DFBD49C29C858C64E80A17C80B51961C0ED312F071B0D62D7625DD3504A2CE214AAEA51AC81CED4479FD9DA06C7CB02021F4F347E1F20D62C78A50A30A82F288407966D69D837F881FCE431EF0 +MD = 20526A0D4E6F0624521B036983FDD4F37BC79B790FE2AA8AED1B166B40CD999D + +Len = 18680 +Msg = F5080D4C59E804BF8F34B334CABBCC7D32011BDE3677F4B9069416AC204114CD9DA7A0ED0F4B4D8344416336EEC15553EF526B6DEC267B1242657DD0B508AF81FECF9CFF9C82A6A7A9539814DD7E097615EF15373836B5D2F765CC8D5F82E90449F13AA741D5EE2FE63898E55ACD85116846807606FE1E2E29F98F9940B067D0D1DF01F080211B2EE4B0A30803782A7BC2EAFDC5EBDBA91EB05F7D7DC8E34BF6D44FEC05824F53418F235FB64E899EE147BCB403C8855E94AF378D182D79C3EAF977CB4E9D4A16D990A6C388CEB567B97785E6F2BC6745102B99AE765E960B6B32BAF01E2379CD6ECB74D3E1A56552F5976DFE5C742BC92BE596CA742FFC3D0FA032AC29F9F7C1A5C43BCCA62DF7D9DE35D0C7C179DB2E1AA255CEDCCA55064C2049FEE1AF2CE5EF696ED4BC46B7C55BDD51F2D44C8713FB2475C0B85246AC0103CC3863B7EB026AE076A600313F6FB40A4DF62A2AF81B7E917951EA870ECB31B3401928B5046D9A1E62D14B30FDEBAF262868517318FE17EC3C0D52524F44120ED8ED3BA70C643300CD0BC70DA72C964A88F52C3A91EC20BFEB5CAEFCD4D9C7685D8407476B5F34676C5EBD1E88A6CFF1C625322F8CD59B9ED60CEFB21F9491B95E72791F7AC7EAA3C16159FE9DF7A989ADD6C2282C47585E11397EDA9F47DF2B40166E03BCDD6186B46C6835118268DDBEF19A28BBADE1BDE0228FFD7E8B3C3C598D89E24B8CDEE79C940254DE26CC6814BA2722E42F7571600B7325E1FF300251D52A895B8CCBD049B2953B8D231445F68F7C26EC25A4B8695C8AC116F736BE939EDD762C9B4743E463C9B9B2F88E0BC0CE78781CDDC3BCA825ACD463C7CAC2AA6C430BBE820EA94AF9A40B1B5C006E9641A2FFA6E427379E1AD49C81B98320B3431FF0030DC683D61026438BC6A6D34B2C73704D9F62EAEB13ABB3E4B0562B4E0482CD6B2D7AEBC0367EA29A88F4A76F3D76FA1197E1DCA92C8216C84C1AF9B8C78C9E3A7799A4A79A783033B0F5547E8E75E69CF3615AB04EF989FE1A463B1672C571D50AB56972896E8A50C242F22C7F6E27CA4CA793F627E79608680F5421B28BDD2589F05E65430DF774EE873FCD1234064F7A33CF5A1FA4E368137FF9C1597F1FA0FA36493F20538077669EADFD3B06F788C912C715FB5D334DB6BED133A8FDC40F5496E66AD63881F0BA3727416715865253DC5290327B515BF68DA188DD5B4B0EAC7CA712CAFA8FCAE0C5503FE58A219182F1C30DA6D0C19CFEE897B7D837C97996A35F4CA8CF0537A01D17E7DE0CC9C129E4DA0ADAF1FDA85030DF9127BE628263B0624F372C47C3AC87EB945A57F5C732BEEE81A7403001798992F3DC944114FF3D54C4666AC5AC8C98D0D5596CBDEB420665F5EDAAE747D54CF7EDD37B162E372249D135938CF17D174D12D88279CB4C32BD6F018C766DA6983D4EA51D6BD8FF0A9B34E9A93BBDA70CF1B4B867D60A74811FD98D52FAA559B52C755CB70A76C94BD19654CAE7017CCD70222BF08C5D7AD1F5E4E6344FDB3ABE703452C29A696F39F9826ED8BC510A4A148E5BF8A5DBE6B82D7220164F08011C05AC5159D52CE9D45D758B645BBB248C2D341DBEFA1F8602C5D458A64F38F3B04DB39089807B6A10E1BB52770B92CE72E2D3BB0C2241CDED35054B84558D1CC099EF7B2296951951D5B6A22F93BF962AC5EF8FB55EC6CC2B316428EDF12078ED1B66D525D022819CBD489E1BEDB02FFBD507D55F9B5D4E22F6396EA233453754688D20151A09C70044B8A5A9AC033C3C3B847AD833D5C05B33407666EE82F9581DF9034EE15A9CA67D52F1D9B634B84C1B8BA9E515F1F060A5AC5CBAE2DE75F94E112F7198E239DF08D3103F065627438995026DF511C6E5BFDEEE5667D511D4181850C7C5D179107C1B86D24D5532A88A4149A2810DCAE73731B0E1247281A6FD31613DF6891B4C17B7A6A9AD9B77468254B93F85958AA0F01CEFC10B25169DC46E035D3F24557B4BF0E7D60174219108D916FFDC55E25BFFD9809EFD058E12C14F39C69D8FB73D3EC6458F47F2F8DB901BA76C86550B11B54D0641D4DB3EB000057DD00F2E511FB7A47E959A4402A3AC5462234B40B184020FCF7A0396C4D00A987C8741A4537BC17102A5C42AFEAB9F71EA66ED4CBC7B5EE682FF04F56F4BA1EA0BB326C4089930F9E3F3FFA3E06637CCE32113881A06CC3A13837448145C2BD01307A580FDBC385D8F46FB92FFEDBC8918D269DD1871164D4B3E2023441EC8B99C82A5F09821CDDF6B38C9ACC3BF3A38D5628016159588C33EAA29D9463A537C000A16AD8C177DC4CF716E625F46FC4CA8C19FBD8EF320F1D680639195C8B195B0A02738E0665F4190D6287E589CD6DD45B9E8CC23B08E1681BFC6F66B88DE6B091E825EA4BBFBD697E10BC407570AE4F2A3EBE569554639C2B8E051656CC30C837F5A92260EAD1D552B45801B6D28134166796C87F900225CFDC3CC49D72DFBC18D8D95B1E160ED3CAFD5C3467D48AFF87402CBCB1E1420E3FCB588AA19C8F42753B59DB6FB6A9FDBA127CA806DBA7DD97F2488FC2E438EEF57A4CC85B88DCFDE76AE1FF61225A1CA8BF4A14F729950322EA681B16D6492902506702DC8F348E4D3AE7FB55FAC1231FDE82091B34F1791B6AE37587B10325F6FF5E23B855845B86EAE90785B9D10D90A16644D01BB626F343B908A9591F4069B21822CA4ECF985C1E710475F33DF9AF4764CFB0FFE649063775338F15BEA7CFF29F164678160960A80ED148C9B7FAA58E9139911D3DD9536F69646F718F083DC9029D6294FC4C607688AA75AF350AC2C0B001A157D023D73D86ED8133809FCB9592D12089CBD7A1BB6BBA882FE227C09A53FF088907CB4BC2FB4B7F62D41D3D397C4FE0AD12BB3964370E21712951C679814D506E738C0201E42181D231136A435AE0397B61CCBC5E8BBEBF8EA77C8BC48BD6211F29248F9D498D818E2B544D28A5E60BA727F32EF4BA2707962230C900076FB764D0ED5CE078C9DB14DE894BBB836C6DE9E83202AE89F9A8D8CB0341E1C81B5FA8B16731B8E231E969C0F1EF95336D4E73EAD6DA23DE3AD1EB608ACCE4D4D93996DD76EC1F5F2C576F6B3B76E07BD8A810FF5D88B00FFE48C42700B61CC499336E7FB57AD72FF44FC631C7222C9A3D1ABF6E77B5ED7FE2F7228FED6C849BF7142C4103989A80F7C15642AE61650CDCA7E854EB25E9E72F4C3E3768E6CCC8BFD556B56D3507EDDE9E5C331DDEA75568B07813D20E8F4C9547838ED28448F2E67158ACF0C00B131473847816C5E2DC215 +MD = 6C8723DA27CD98E20F2583D01868051EF2DAFA645901F82C74D5320EAFC18AAC + +Len = 19184 +Msg = 34A8B8956BF5ADFA5EF8F10B673F6E53BC3FEF8DD1F9428078C256A8FA1D8DA1E724BA90B65BD4394EACAC5469C520BAC2CED1640BA26EFEF44F50BAA72A9E7CC8BFF69EB8719AA1D88A2450F5C3B4FA54A2977CED1A904C09356F483301ADD61006524FF814CA0B1FD50D3F3A30492BA70C2921E3B9DA58CF8F5BEE32AC15E39371FD9D784256054A3D145563C62E7258FFF3A16524D38767A75FC27FC3D0A9F0F585A0046D6369DC6DD17FC65B53380184B4D9EEAFF245FCE1AEA0D4E8407D2EBFF6EC0FAE8B654747EECCE13BEA89D4879E0C92E1F47EAD8E5CD7F56B04C62C2B7CC13C5CC2D9E6A87D77DE73E54DCB9829001A3A9813DC1958E4FA10BBE4027822F8923AF17D0B04BDE97B9810B31E26FF74F9AE95E50C6EA25A49EE557559C2C9C83D01737B6CD7216C46859D2833F04DEF7A7EFC849F8B13F627E20FCF0CD3E0B1CC7D0B22B4EBD576CBC2A397828EAED2E4AFE51104507C0B3176A74A0261A159525E0883F4514F1856D1BCA3CEB1084441E99FACDCC5B7EDBC5A4C803F6448119745C23E5D795A0AA96F31A48F431960B3C41C9C6B13A22826743839E571F40BF5C965EEEDB293DD5DDD22442071895BD9C34D8A344907E17AF7EF48008801066AA8F434019D95A01CE34C30DC116D6A5D9F6D43BC2CAE327B613E61299E75D580C7323ECEAF494D54825553C98514D841568F5BCE9C97194EC36A16F6B10D9F1808ECC1DA80BE4D37735ADB6D1B83A157EDEC266612E65E57EE419ABFC35E342A6772B5FFE8AB1D8095BC92BF9982A7A32E8505D8F2BDDDD626D09F208930427F14111B91AD66EBF710D9B1EAFB22FC34B2616458283E9FE1218A2886A7B73742342962BFE5DFC2F829A77226FA8BB6165EFC66873D618D8B6ACECE0412515C5A032E44685F7354F2DF2CA1F903ECF1A53894A9A87E07FB36759FF666560605CA55488A7B3BFCFEBF6A0D616417C93835ECE08FB69450E041A7C23981520CE03D5194DCE2AC492F2E4892B8028A7EAFBB913930942FB26643394BFDD67B9381B1581F9F62993708A3C461FFA43F11AF679B68F62F2553500ED3D7D04990A6FC1017D8D7AFF9B6DD58B22F168161E71EAD31183EB338C75C0BFA00A701A19F72B73C5A772090A86BEC03E4F9F2554948D94E150310C5AAEEE46D1AEE5B837695FB49368E59D176E0199CDDEA6085C897AE2829B10C592553D54EC9A0A7B8B78809A51B9DEAD66D0879E8D716B0519801AD71FCA62D848313D40F8224861E58F0D107EF855A6FE9315DF8EE624C04C56473C61C4006E9372CB22B4CC3DDE10E60ED03D6D6FC928EFEFE11BA7CEC15351FC0B0A5597DEABC58B91040B70BBDAF8E1615EA5246CA993BBF653EFEC3FAFF587467A18A4F3868C1109FB355338E54EFF58A1C90E2BBDADB0220F22511C5D8CBA90AC474FCCB0F9DAB7B66109BAFBA8E82382CBB851C2F0869B3BFF09A90751B591BDCB617C6871FD8E22BF554F3AF8097E9443D0D85F9A7AC3432DC8B3E3F0C8A570E2F97DFB0E4445152E4DD0B0EF1E656DD7B7A50B303B6BBC73439F873737B47AF21AF435C9703F704DDC153B26788FE932CFCF00E87E33EB195A38C58128A435C81A0DFB42EDBB0B9EB27F64C0FFE8357FD995E8AC70BF0C7FBB2622AB5477CA8F65EF1CCBFDDE0DDF2D610F7913D7FF69279DD33EAF4A49E3A5326E57AE3E8DFB752E989C99D170389C01C9ADBDA22846868CBAD5F62B974BFC6A5A4A88EB6E04A28752DE094391576FC17275D876A5D3B470845A7A064E00BE791B20DADDBE58812CEB296884FD7246FF67411AAB73D049FC3250DA9111D1B3F192BD8BC650FC4AC9392EB18840B36D8460A80D7967B20755BFCF8251836961F98B5E717D7F078D3A2CBB09BFEDA034274B93E8092D37F060CEE0659269A09A11CAC907C0EC027DA78A723A207B217735B15998ECFB3C43D87AEF6671B54A76666933DD98D5DB4C7A738C43173E77B2573C7618239F4B664031477029666FB8D3BC203F1190DCC27BA0608B276B51F7CFBBC70F5D4B1443DBE37DCEA0354DD288DD4D851F182283FBAD31D4A8E5734A28C49094DE61AF6674960DABB2E6332FD5A9217A92E5CB101223D98A4BD50E56824C7DA09AF1668B1E98BEEFA8CC9DA8F5B6489FF1F795B6F2E3DA96526EC0233604A5C300CA991D5090A358AD21B01E918E5FB9FC0070D3EC1A8647A1F40FD9A662DB16AAF39B8FC351D2FB077BA37800258202449DB1F1A95FA9DEF31E48CBBCC594F6AD63CCA4FC3EB3BB5728CBFE4026C4A7ABA1FED992661E58EDD334B555DC93D34BF346410122CAC14F774B3990E68508DD21EF27A83D6BB6CE21EEFDBAAA2CA63443000EBFAFDFC18C0C96D7FF7EB47448FC946A1A096B0008EAD107520E2536CFF86CEDDC93F5F8F727825575C7FD7D528477E14549C91FD86FBEEA832D1F69D21D05F220D81AF9C241766CAD8AA6154DD6661789EBD44B67915F2F55B38EAB1074E48B1137CFB1C440F1BEF438AC1DB4180B4D50CF735D39AF8201E9236DC6056D2974B951AB4174751969FA0B33705FB605D2E926A764DA3CA2992CC930854075C0DA0E5D1B7BCC8B66CB937FD6B92A2776C88C02B391D353759A04B5ABA5034905AAD61D0C330C9B00969D1FD1DD99284D2313E90A5B8B0803BCC19D702E131B4133BB91CED8AAB62B0106CBE3D0BA597C69CBBABE0CF669FE446AAD7DF1E4E6827E280FE8F2EE91C99B1DB44D10A6576A535B4FBC6C76269D1B0252CF482B921889AACBA14B4C0A2EB5907611290CE04B29AC5436EDB8D5D77A6E8AC5C672D67E107B6A866C4BAE36E82E22FE6FC5B31538484402A30A5221FA2357C3D17A1317EF8E5ACF7329C670B67D38F1CE60A05DD991BA855C598F9C32E518B95B6AEB84587103815019E39753D43A71A8C825895CF2569786358B78A74A5B47B7DFC3292146BADBE0867A353A7285487BADDE28E9D78F7E8B2FE0E7CF78330D4BADA0D606D6D40FE9296EB500CC906545D72596C8C98188673F410576D154E3BCB1F8887E5613C3CF279BE307C0224DADF58A91E93211F1173C461EF42F351C7DBA499D6974245E1D88BA22830B07F6D735C5A74DE475C7F08A940460512EEE2CAA46705580868D639E46B3FDE805AA1343CEC3805CEB7E624539FB2B362382F5BF0D55E6F3B90D2125162AE7BABDF96FEE54B29BFA9EFFD80A508E80B478EF67997AF166B5417620BA5886D631DF501EEB242CC40D05387C9730BBE8CB070B2210A8775DD25A5B76755380BA7E2EA02142E43A3FFFB6F1BED559CAA68B09DFC8DFC1864EDAFF705BB1E30FB58C3A27C5B1C425B22D0C1073726A2CAAE5CFA631CC2EDAC96C10FB25329F0E6D15E4D52694F8670D3D054E9FBB2 +MD = C36AC151BE5458239AE7A0E6B4706950A1C6B046F02D64295DC1E5E96E7FFD5B + +Len = 19688 +Msg = B7202C31C33E5579599D14D12511CD700E5A077679266B94B44586B363677692A4F2838F50D437C909E5A41BA747A6F2C72BE85149D53A834F7E66B6DC74927250B543121B6B4780542AB511ADF2011380F0D7133BF82B38A2E377B5C7755E49BB1ABC16EE0A4A772F5653BBFE06BE7773290AA4A9A059B98647C188BBA609D31AF594D0594B375963F249296FC6974D2520CFE9EBAB8C4154F1B9A7EEE66968B853F19F74D3125B8283E5F167395EE1077263EEF91CF573F1A258384D369C0A1B8F4E12C05F942B330D43A168290D82325EB2B77D49F25E028AA37751A28C405A6AB190B744C5F998D7CABAE18CE184D96BA9BE24281556387D710E66FD7780EB1A0D91A3F6396CCAA54A7B2B223ABC1902A660A44ED1FC2606AA054E1C0FD9124EEBCC0993922B79AB6DC225826CC3FBB0B99046529AB3CFC79EAB58EA68A153F0C14E5735CB4296FBFCB23ACD158ADC1B049BBF854054A7E08BFE0B7D4C8896670A90BC1A3A9D4A2F74D1FB5E143A4D22EDE79C738B41B91B93AB34A91C8E327BF17A1E86884544B70557D4EC184F82EA5B5C5682E33AF7CC38C5F91BF5D024CFFFD145A5AEA6FD7B6B0456AF14BDCF60734CC93C1387A48DFB97B91BB23D7F68EB783EB0CDBD0BBE4104AB212147C9CAA9DD923E883C3E24B53AEBCC3F7FA5AA5C887078628EFD7E82543F8600FDF89A3312AD6902271321B77C1F8DFF1B92250C59E037411C6791C7E930D686E7BF359EC480C6D0BD05D2009F2D339D2089D5202C65B8FE737EBEA6CB6D9271B0BBD3ECD6328AA27EC7722CBB3E700662EE6AFEBDC4FF5E9B00949EC3DA530AA271A78CA7328217BDB5600448D9F825836E04892CEF50A95F8CEAAA5C28F2B9B185536FF2DDF380808EA351BBD7A068BD43BFE8EEA7A3292C65130915E828204C0EC1939F1E3088058CCE4B2921530E3A2C8CBD3FCA2EE39504B72EE72DE1203164AB0AF78B66600B27A067CD62D7DFAC4815B23A712870AA4F2659157037285386BEAF2649741DA70FB7E031B4E1F37768A0C349C7B8C90A3DA6138447DB7CDA00C9FB01647E3239A680FFB6C8D4D536DEA7131480FA95C597BFF67AB5BAE2578954BE01BE5F3892688A98B0AD0A21B0AF40E562175164018D32D6A886DCCB256ED7C4148EEB963042BCA34B689C44BC485F286A65D1EC44E5A0C90F5A1E8D6A29DC30810917B8A3A6DEB0362D5967F75802E8174725B734B61787437AA6FF8A4FEA6C2390C477DDA085A62C6477E994913502B862BAE548798A17716A48FCECF315487844A1D98EAF122521173807CB72308CDFC6CFA2F1B9324A305869E47CE15CD18CB38CE83ED3B41A71205BE49CAB4B93142D8E20A4C4365E4B0E72B48E5440C8E8F5A8ABBE22E5C24D2FFA0E062434FB17119028299AD5AE732F0FA39127E533D591A27C7A0107A9442B7C2211C2F7FDADE86BF032CE72E94E71D6072466E7C50C62E01C35AF9BF5DE708A309C5694C84ED47AB397C409057219B2B81D9BCA7526765C11701E6993378BED05F5E5BA5F9C5FC3E3E6097D39C86B2995A9FE75DBDD0CBD3A9D96C335C8F30FB00419622F8D6119246F1B94EE8524A275738A2B312D036AD0A8AB72AC50F76C8642B00F354B00E0311AC1C11C1332372E4AD1A982027230536E7A3D451BB1E55E509AD026188668BE90B12CDCB64AB4C19E46BD19983F4E1D26F85258504AF4DAAA3C188FC2ACAF6ADE8FEFA7A42ABA19DC7D1F2269FDDFB15ED2C659725829E0736947DACC67D83B0FF4F1DFDB8B998EFD4E50D8E505583814E049A31923FEBE479EA88816A7FD044A52339B761F9E069C7585D9ED7F2397AD4C208AB06C5FE4BC6FF9B367D109DD3FBBBB48F319053C8BCF643E1B8346EA42920E9CDA202EA0A74E44305F8EF7B18CFA5C921C9E5E546276D3EAD2568A9DF7B7883D4C20B0F38BED538D9B41ABA491A4BA3E4C4787FBB6F75B18DC6C356A95DEBD8985A028C1D0C56AB5D06406E547CB4FE88BEA7D0F8B3D244F0D57652A18D122FBD1C6DF0002F3BFA071971399C749A05569F972AC0C79CF6532507740C3B906E1C56641942E215FE60002ACB2F330C99800B84100982123211A1BB9C05845C29ED03E3549861787868CDF9F20C9DC3DD9C638A9D5EC0238AB05BB2C31E475F008DD3E5C9ADCB0968D022B99F1C848339ED38601FD594F2BE5438440F6371AC954573012D626F9CFFFB06AF4DC2F0C522E5258968A6EB28822584835CB64DCB1A1593029588594665BE0F56848E24F6BA914D3AC6DF6EE019A4371D8D7CFC74733F29784EF56E0183639DBD8FE001C63E85FC3206B299F1EC1036DDDC01851D189B5EE270EE5293B77ABF4A4BC6F986814FC0ED65011754F4030DDCA7DC67D6051246136951CFCB6AAFE145F5C14DF5390B105FF1EF9D35D31ECBB05B2D88140A7C662CA6F58E2682CB21F1DA837191220E3B2DBF92546D576E27709C67FB3EA8AB8B53F394C82834DD9FCB317A1B51D1723BBDA7AB5315778B27AFA89D191F1A47F8A0E0C15E33F0BDF577F92EFE3EAED6546A9487233CF9C77550D482DA1B99FB3B721AB7EF7826550FC4BF953426B69CCA80549569E1EC6E523822060B4CB8A88BCAE1B9F480E073A90E4CDBC8E60994B6B953ED153C9DA146F4AC0D2030105BDEE296DC6BFDBEBF75E6353ADD84330E8011F9483F83A39F8D06A50961A07557D4ED83DBFD9E5CC434F0EAA70D69DE7D034E359A412864D8BE292F588D607294A57CC3C5065781E111439A2033DD64B94B7155AA565368045214C588D3EBE04A04B7F7DF5630A460BBFBC39DEDDE14D590B2C79664504EF027F4AC22712F8EE8B4399F01A7418A8AB9CDDC4DA649F5203A9CA15EB758059B911B7431EC07AC541D4D2ACBB3D67838F4BE54A387757F1D19D9CDCD7CA1E5E6EDD25046BA117844D98153008401A83989C6788274852488D9C3A90A3C0936DC09087A4DD6C08EB2813CCDB49F1EA8680F66D580B10EBB30901C832D833CED19B52B419CACC1E01A61D16913396CBCBD31EFAEFCF1FDA31072AF08C1F1213658C4C6DD7640CEA2C2C4111A4E2E39B806CDDDD6C6083CE7876BD196400BA07FBB9F6BEB7656281D9650317D8F2EDEB962E62E31FE73D53759A357DA4B8571337E3C7588B998628F567909CFBEC3D6BD818214FC7F0FE7225E0F8AB64BB4B0D74AA79D9945E56177F0E81793552B5F2D78289309E132D16FC7424155195E1F5DB8CC327B650F2E3F1AF987AF84149052F27A1DA66251B08A562E8BE10E92F976CEA41CDA5317035DD78B327D9FAAA0B3C897CE1106B0746606FC4B6AC5F358D2F2E10F7938E5FEF61E540181BDCED5A74D3AEAD4207E18305A4EE2E999435A75914F21202FE3F39C39E5FACE4E391910B937FB5ABE043D633410E47F99CDE9DB85015ADCBDF48F45190193ACF6E6251E99B65A56868CD248F6935AA9C6720C2979FB5A5D54B45FE84FCE1 +MD = 260AFCF38DEDD0A23C5F75B4F044A665FB648BD7997C28E2D4DC6E64EE5E2420 + +Len = 20192 +Msg = CAD9EF077A98E3F2E5706EBEC4960D5A5B78B57CC8017DB1112F2C537076350C807D5CB1421C235AD2F8ABF7CE905C26B18566D8FD6AF44908269785E789CAAFA1002BEA64ED46B1ABE2A8812FFDF400B18A39B731040A8C703D837E463F29D4218CC4AC0E38945F5C79263D2EA86AE52811724424644EE274C55FB6A050782807F3DF60547BA058465372C8A664E833B5176CED42C40177CD3483E636AE6F0B9C7AAB5DDE5309E5F377AF74314680A72DC1088AFB861E6D564DB6DB6E6D3E66DA3F3D539616408D7B0727CDB924BBA38C3BD5EBB823E7F441D2567FB36D31313C5834154ABE1623723449FA8324C85A149ED1EB8687BE0E8A6C07527BC0D9282651CF36D5596E1E07489131AC3C71B75513AC3ACEE7CF9098D1D5C710D31A80B2A6037B37228810B885160B764223D4B016480CC9835A695DEC0013E9E064C0834B580C254C6F04689D0FF80C6999882CE2AE5B4D8F01CDC5C2728890C7C795B10C5B7E01AD2054E750783D4DAFA677CEF7CA6141B0C5FC6E5FC38B0D1AE088B16A02C31FFE242AFA4264C21D4AADEE3FE6B3F43AFD38FC554BF168C4331A388508ADB66A12B85AF205E6F2A6000C7F222B5E3E326AE9E572956330575A07713EE32F427878A62146810B85483F10363722279AF71290E58FD7DA3C79C8FA0378648423E18F2BC4649E8EBAC7E28AB3F8D1AB64750791FA9158B0C9261B2DA1A8174F5002AAFACA122EB2857851DE26278F594B59646B3B2F6B51A4011DED6188EE52D64311DB7E50DD8197EA0187EF00F0411D501E5D1BE946E31603242757B28F3D05CF1744D62CED24366566DD16A3F8F3DD4D52D7FC891A31E83EE8038DD78AFEA84EC8896958397AA7ABA0056DB3B16A04A2023AF67A1948DCBAD4A0A5376475A320371194919C939F4E63971BCADDC344799AAA151434D2A5C402D02D4CCC29ECB1BC40B297D9BF72AA09CA9DD2CC5268F2C3F49E10FBE4733EE83647B9EFC1F59BB9F7D8E2BDDFCE717CB1AFE7DF9FFE8B4A7BC79371B74F1A038C9C4FB8B7B1EEFD38988BD591DD2817E19E9D6C52B522E90DCD89C70D3EED91B1286C3891D546F4E198BFB385554E882ADE07AAAA4559AD517C5CD7CEA7CC659BEAF8214716ED9D750D382389EE8AB7C3C8AAC48968220027EDE85F939098FD679D97865926F120D8A9A360429CF00A7C1DEF836A9933655ABCB384E9F630B4163F204238E9A38ED949AF36F5204B74DCC45266F89AF90E6DB2C948E7D773D72E653D35C848C77936E6E689F75DD78EC2754E02FBE119C572885BF090B04A4390BC7D5983809E5AC7E4A16F6AD023C8B28E6B01591B0FAB80DFF9E1300DE11BE3168BA2F1691E6CB7C416C3201FAE3F171975BACDFFA520571F518FD8477553BE92539A0ECC5FFC161043139CBFA35673F71949FFBDA64693A032CDE6A34432CC7736F1856B4DAF68D39369327744355AFB6A4E89B82E5BBB1D53B5ECD1EBBCA25F6B51F1B0076C34068676B2B879C13F64D91B277FC82EAD7420F2497B86C9FEB5341AA553C7916EBE6620DE18EBA7F453883A6E8A037C314EC159869132E1856943CA6DA2411830D6AF8354346ACB06578CE89E277E2619596330476EE1B8A1ECD28E201C065BC30ECE1FEEE5E7AE182EFA8D0310EB731C30CA7184D6E9F3C9CF08EF2B2E63CCB369A36AD63207DDE3CCB04DE341B5D093A0A140AA0A8DBE811F03114B235F07499E622EBEC39521FAC671183F0798AC50919D260941415832B1C5686D7C27A7A5D0E6222A991E341C9A8B10A76E01E79B1E7A0C18227A39079D50F5EE94B18B62C51AC36650ED3ADFE142BA5A34A839449599355D4AC9542B146156BE4FC4DBFDD10CB8DD15D0C51AB23AB19C16500F770693C94EF61DF26DA43A09B00D4EB7206E9325CD66780AB47A7E95B50DF423C40767229DF1DD41A808FA70DA64771FB91B5F6F76872759A8CB77FDA87E2F2D7F030B9CDB456005DB9A88D0F27D4796803BD570440FD0B7E99C3D08FD8E603C92098AA4150D5A87C2917CD750BF0077E9D71C43F5BD3DAB919C23E16BB90537E7FE694A847EE843DF4C8262D44C39BCE4D9C49069B213F1074453EC66EA054833FBDB72B81161DBA424390413DBCF96CBD56A35FCE6510DDC2BD9296F7CD2F7474F86FE24CD61C9665CEE251420C0A0D1F56F9FB06C83FFDFCF034A5C27B8C68935C4B2ABD2FB92D570F1FB610B3FF4F66A3110A7A0B89C07191BD5928A39D579191633B96F1123E5535953F0D25D28675F5DDEE31FF2B6E13FF21A2DB1990F4EA8D0AB5D4A73AF9A41D5FF8B1467A11CD297EC416F448C5B0D77DF8D02E6880A7DCA283054BEAF1FB986ACBF838B68A32C6A4DFD097C9FC998FA13E382399677CC947AF6E4CA5B37BDBDE394B89582C04BD05DC7C04038C626C5B72788189FC01799A4CA03A1E65C744F6C4893B19D2749709B23AF92592044224ABA18E1052820250D0C35CF8D76E51C73C94386C6E0F147C770EC379976B574EF2EC6D68C39FF2C287FE5149F71497E1ABF07176B024E408479BB7B56B373367D40A5BD08AA38BCFCCC705531D2984CD386F0F47F0864E00D758EEC1BA0ED0971A0A2A84EEC663F198326AA62F931DAABE381DEA692A7C43425D54ACD99E2FF5B7464F5BB794D2009035CA9FF721B1B4494CD8CC5CCA9957660F29B77DDF173D78AC56B36AAC5E28374C38253B22E16BDB93E4CBDF9F0E854EA1D79983F8F9CF6D25DDAA7648055354A8CEA372BA54EEFCA4CD040D3EADD23B89AB64C545B7462D2D6D2D249A919703BCCBEA471251D36A1A27BF0FD653F5F1D8490586D9568AAB141383B186630A270BC7D2A8A299B4C90BB22FDF08C30B2745DBE6D6AE7DEC9BFD112F5611A83F9DEFF408346DD62F75DE00550F6E56B3F9F9B80D7027A0C7BF6306ACA159972F2AE43346985A4601B481722EABF3786696F9623E1366F93DC585758FE8F245E82211EF984BD31DCC9FC7D7CECD099DAC9E45CBE655DACD687A848F53353D7BC1D68103D4C8C740C91B69517B164F47ED718E52687757A51F086A4DDEF8EA4C858580D6EB8064A044534E277A7DD5975AF13EF5C43066EA26902E7A36DF395F2495ED4311C3736E91450650843A1828FEEB42E6BD5A05D0FE4AF8D7A543463038BCC3D31A589108038DCFFC8C7A3CB86C57CED3A1E3E22357CBACA328EBE1DBD16C1B882FB009A697C1EFEB3EFCA007753DDC51F6E7DA8900B3A37312EBBF41C0A7ECF23C39213FC8A23C2C5EE6D783A1B6520B07FF747A143F6A8DC512209C37ADBED276DE13C5CA27FF7A595545C024B11F5EEFEDCBF61D92EC0A107BD1CA00934618927DA450C940F6DAB1C180B29E72C0E8709627E51E91632C364FE45FBDAE43AB876D33000FB1AB437D499B33250D75A1D23192A55F813859CB693773DDDE616E5570E753128572BC119A46951C86F99B3F931416C0347D95D5A6BE502C3C8F696EE026C3E66E4F0A3847AA49815CF40C902BA79EC7C4E3D82EE140C8C09F73EBAAC0B5CA11723B08793FE17DFF3EFCAC0C576D8F5D9699B741861E6E2E9770A +MD = A020F8F6464853C46491D17DE76ED981570E182057EA64BFC4C988AE581BB89E + +Len = 20696 +Msg = 192632FDDE8F5D5C75B31A51A941B69D80E5B6A5A05FCBEBD9B8BE912EBEDE8935CD45C63AAACB845E8433C6C3A2B4A2A0822001018611CE54E8B1045D0D4AB45FE08714754FC6B8C71004335F3615534EFA0C19EEB06DEA3612DAE67F40D2EE6AFDFB119E1D87F234F380B8D7E2F44F5CF28FAE6998EC8DD6381033AD3709EAEAD1EBC3A51A3BB534DDFC1697BC49D9D9F0C2E06EDAC9B66C492500BD80C25C383C2BCC082EB6E6DA4F1C2C4149CD3BF84957B83612B3351D270754090502044E2E81D8236412A6905F96528CB0C43760C32809527A85729A3C3B151F0EDF53730368B6E844E1E09524CDA222E7284DDCF37E01E4B6AE1FB422907136434406059E69C8DB71A43C507C72567E66D5ED6F17AB757CC1F5BD57F246A308E5A93510AD80A565751274FFAA4679B131343223EEFACAEBDB523BD3ED313AA20899FF15CCA0E708F3622054981BB567000191807ED9DC2FFEB7928DF868DF13A4CDFB8E909FDE7867999DA248E5BDD361B3C1022CFC46FDE1DFEC94E96D609723E3C7F4D23A8C477B319650C997EE7A206088A5CB959D8B2799CA597B1193E43A75672395B8C205E3CA177DF6976E9F87853A189F33F766A452F111E99A3FB26BC1E3E5786990633F9C8695188BC3F8C8545172FC64E4A9896537B44F13D63E5620C3129EC95CD94D4E267CA7FAD4F42334E3A657C742E7EE75699B81856B1DE33D4F2BD8402286DCD8AFD5985DD38DDA6C853EA73B83829B6071AF5A69778D8FA0A5A0000DF4FACD723C6C9C9F50D612146DC229F071DEED3258E4EF0AA37693A7C2DCE6152469974694005E8D82CF0CA0F9F03436967CED5CA8278F065C9B5241D2D81ADC1AEDBDEF5AF4495A797975635C71180B6B3F802BE08F2AB4EC7BE3D159DF01D10B33E5F766CC3C9E2637E6AA39F46FDCECC37DC04B45B81C6E113BAD692A037EC392B075C05A7B6172BE9CF0D154CCE3CA84F5D78E9580BC31BF9E43FB6C10C6D8A7917C2028CB89F08D205E33A9D5A39A0EF1E61990DCBB64C06361FFE9B161A595BE165F333A2E148522D02EAB28AFCE3782403FBFD88C14E53CB09EC3F0A0F5038C0973590647958C64E34690CE0FF13396AA45329795D50901C5E984E289E2FC7E91C40DF0D44422700202AB3BDE481FCECC3DE99DF9609111C3F57A8FC39312C52AB761CA376F3ECFC7A9514192E98F7C89F43FA795931CF0970142D407CFDD8A4A5F27DB8F6E1DE352DA5820AB4A88F8AC4B5C199E6E46FD3777D068FD97C5669031D58A83129BC095BFFCF05F831DA8114B1898BF7649CDF5465923F13B82098D6B033808D2BEA2C3037E9EF25EBAAAF058AB69E6FA69D663A5070BEABC933F5D12A1346B1B7CDF46E1638CE163060F185D5BD88AB73704DA4F3854CDD3156A7F938441B13C616E6AD180D9B770A6A7A4AC6FA3798ACEBD24C8E0D3458F5A82791B50ED17EB0EF05C8EB80ED592F173F039956C67827684227063A402A37C009A5F5A075CF5C309EEFC8DA517054BBA094AE7B0A1126A791BA8E94E44B565C12618510B9E936E1C15EDA1522F0731424330EAAA3A9FFE94727F9CAF8EB404B01B4E1071BE6BF7E2E58513C193ED9CE22C870572FC3976EF10A2255C5980062F8BB9877B5048CD01B4029FF1C7D266B42DAD9D02F8C89C3BD7813C02DE27DE1F3BDCF80F6DC4FF1C80F30D10375BC1684BE8E9C818874C38575B511A2D80F9FB6539BB003DA871DFF26214DE6E806C31AF9681A075BA9AC4A4E07F7004480E4E3D8CC06A5398171998F03BDE219189C0627B8A4A4F8AE174C5DE721E29D7B9874F22349ACC6B35E76016A749273FEAAE94116C4E6C9FFE62B87189E61051EB9CFAAD72F2FE368258C4ED2D36342C81B78351348E0BDECF63A09FD24DF89C93EB181DECBE3F937B537A1BE0221F7C0E257B82D679CDD6B26A099B2E9BC1E5F9D54F979409A7BC4F4B375F5A37991E046E9B33C01E6019FE93F6D80528195D9281E61794D87776914CDF1E4615DC15EB0007E39797D14FA7DAC2E92C12353B2512A3099761F7737AAD3A5AD7F764C40E8878AB9903B8FAD5113A84603326FB237E8F2B1123F678CA09117AC36B505CA6BCAB8C4F75D5A36BF8E856E04BDAE19998A2B98FD3D68AFCD1DC5E33A5C26E4E8506D05EF879B98FD23E74989D4B8DF69C33217FDE5E403D85C02BC9C33A8556F0B02D92ABBE3A5EDBDD6B34581DA37E77BC816F50B6DD743E594E3548DAC57AAC1740FD08F416F113D6BD80E127CDF87E681EF223CB709F1AE4C70C81363C7E83F95F95784E2944AB1C0A5F4F15107F8944BEDC669D38D97E2CFCD6862D97CBE3CBE880C397356DE41F4CB4A64C63039C833B2E18570FE4B0610DB5A9430BCAC89FAD4062783E22ED9716C9B330AEF9B9CCADD78A0B543A5B070FD532D1B005612E68E6222E74A1BF2B1B677B1582196E8A062392269AA3AEA91EA0A6BB96459E652C4EC505344058CAEC530598DA6F423622DDA7813B59C833EB6E666C5B8C2FA4FFE358B3D69F175F883883E677C159AF9444959F0BC345FA81877A1602F9C65172669C33750052DC1AECFF644101AFA255DC7EF3C2F0F790B61A3062D68E475A75FC6ABAB80E6DC958C7CD1D87CBEA87BA27D186F7A2A52BA446E25E163B18189DAC6DC9351D24C7E17B725B38343196A732A9C4C6285DC10F3345D0CE3208A847D510FBA7AA4B88FCD812F67310B11D3E7DDC1B0DD30B1F86F6CE350CE26846DA8D0AD21ADC2F62BC4832988F30A479716C2F90A6BFA0FEFE75FCB08EF5ACA554781CFBEA1C8467AA45854EA026B9FFE1E9CF1DB5F3FC48E189C65FF2A743883B99988E2F067EE3CD9F2CC4F841C10CCBD7B52508252AE30F12B7C7619C557385333D469204056829C3A3E3558604DA89A214B8A66EADBB71D0736A0A03C44330E66BCE1A5FDF4F63FC46F6664FC9C1454290504C4AE2425D8FEB9577CAAD4E326B793AB688AE621C76999564A408BECF26C31B5D150CBD78E50D3AD3403E285E96EA57DADF6FE9962347069F6ECBC2F00EB09499C16C4C4453AE16F9A782556AE567F922028C30FF88A2CCC92428C9F5ABFB12ACFEBBDFFB0F1F2FF970C3BE378D221CFB340D107D92597C778657C8653C76BF9AFD185E9FF480746D8831B0CBC34F7988F2B8316CB0AC02E9DEE4149056067A912866787D5F552967D10D067D50C67959EFFD0998A5ABAB4A1E7F989C3A15A99CBD42E2F03BBEE719FE14C5B8D917C60AD002CF75D5AC13719D1A01FA70BA83DA1AE53AFA8FA937840851CCAE05073A65004541125B58C6F8D0BC7D706D704683DD046D5E7360B6669432F87205170624F231D1EEA8ABF2BCD611E8FD7C2C923D8CEF8E1AE92BA3E66AA85A2417066BB7BA68BA1456DE9D353A94B146A3631507F0688CC6CA406F7BE47EE6CB9488C293C4FB2BEE62763F2CCC7F3D7C81774EFB79238B1C3902370E5E9D94B41E7D0B8182878712319B8FE856CBC56E1C8530C41931D6C2B5A980A64938988ED84E0706188A56ACEC67EC4BA0EAF881D177CC1CFEB8E1034FC35774C6CF9A65F30BB01D822E64401D98FFB936FDDDD8CF0E70A482F224E0F4F3CCDEAA55A22655B4482EE23F7B5D3EE1036889FE5FF88856C0545B09F62FF8A54AAD8E5C1964491D3A +MD = 72F0BB32EB6E4BB970A12BACE80A7E3CA8616A3FA51F40438FC90B327F0E75F6 + +Len = 21200 +Msg = 28109F1E97641E7C246CA9DEE6FBAA15D985A84292ECAFFE025F66A9DCAEB1F0F8CD724896A0BC2E6F7B1763D7C15B61ACBBF13FCE74782B8A7151527C9BD375D4BF37C15CA39E20C352B2E0B0D8474F904FCA4E039DCD6E1E54E872A481F8E1E5FFD3D65257FF814FA0E59B5ECECC30FB1EE1B73A87C050B9C0C8DB6BAB93A24ADA3FA480F215E19F63308CEC77D1BD5AC1864AE246071203C7499F03EABCA4093058D9A98E26F29DD91AB0AC556BF1A6ED7649E5559D6E3C93254E6F4CD7943585D6E1502BBC6CFA4A38223B35EED2BF658448259F827830D897942A3AD0A8A5CC7E3018451E4FC884C5B7CC65F54EE75EBFD7C1D4C88C71A36341327B9772CEB9F8B7B4B725165011B848C2DC917FD5514182E2698F9EA181FE6C9711906D296AB9835DB7501E2EBF79ECC4475091E6719C8C06599DD2B88670BDB8C4A28BDDF78C97B81BD2FD673D5910E1247C43FDEFADD30D92E0D9B6E0B456635F96FA477FE5ECFCFA9F94F5C1D766640C596298502B20CFB3BDFE7F3FD237FCBEA947D24D0360776030B0B661A9BDD214764D0E70E60EFC696B9BB63E3BF171C62D1BC2B6E53F941B3915F85FB4B9B2E74F391B5DAD291FE9F9629E02FC3FC5395EC66FA6FCC5338D353CFCD409A1CF4B6BBEA517EF5979D086DDE35C08C885C3B9EE5C8C59284E10A5041C9DEB7860B112E05E051655DC374271012ECE9EAC4C840D2C47469074B77F808189A0EA645EEE5F5EEC17FDCB51D0D1B2D8293B4C8A259375700C3FA8FC48A39CC8B32B22CF7BB714FDC7EACD7190BACE15987C7F8674F30F4663F1BB50470D25437948D4353FC2B96E790C19413E9F28EC04A02B37CB0036481803BB6728B6D8814BCDD89DCFE458084B8C8495C4BE33B5F02EC69F22465D5FAC7D85331E8ED290787336A73238448271A237A34730764C2A4DF64774AC6A2512231C54FA7D68FBA4E888331FA28D1B4143A20CEC2234524C522070A2F3AC336A416C079B58E2EA8B2D71188170B6416B7057B11B999026BD672E0159FA85BC0A1A2657AAA11B6742F121F08DC8CBA4CD1624A2A33798D5F7ED096B769B79B810EDC81C4E05C17B62D8B2DF2140C5DCAC0EA9B50908043425CEE2EC17C3C3E522D1272969F1F8ABEBE82E1E1D2AE7B64BA14E00C17A6635498FD7FECC6421C89BAD4CB78005EEAAE96978BBFA2015B282917ACCEA60B0E0AAA2CF1ED7A6E7ED0C9588D6A6C06E49339823C6180B9A1D0E6114C0DE9D89ECA817298C6E3BE3F53404787638B2F883248EEEF055C18FD476E07A7EB5F179C8613CF4DF01419C1C6D6309BC53E214BDA546F272A372B813EF083BB3905A996274BD0BE73C9B79135D8167FA5A058A7F926F9F315F4F823C44BA6F2800E25ED8E1659444D3CE47F1A58E5011660B40392A942E901DC9AB949094D28AC38D1D7A13357F716511D1B12A294BAA1FE6DA6BF6D81B830DCBACA4F4C09A53331379CB6C42C3ADA8D61322DE1FFECBB1A7AFE3279F6EB63C8F020A51925862330451A0002A6E1755EB264F3C74FB62DC92E9E6AB822C8762CB9F93CDF0659A54A5696AD13EC6CECBAEDEBA6A41323D7540AD59250F1FFFE616DDE671D673E37D4A521305E47A645576D6AF9A6991B17F3C7119DB463A76EC933F05905A1DD621AD15775EB9475EB0CDEB6CD93ACC120B396782445637F4F8DBB38A3AA17537D9170DAAE4E4DDD899B16168A2F9DC4BFDF7A9BEE07BB9F7C312EFB78D37AE437392DAA755B184FC51100C54E82FC1792AA87E58778FBC150EDCB8C9F337227B4F6EA5837DF8A08719789356281C8FC7CE0663EAC9BA76CA0AB589CD3C5A82EA2A1A996D2CFDB245F1908AD74934823B9352FF0939AB228F6F8C59980CCDA984C212A0892928B88DFC52C4FC34997A6F0285F451DB3A1D5DC4C800B33A6863852C44A2E675A98B38EE8526FB794EEE592962A938660E1B7114ABCD42924CA4D70045807C50985565EFE24F3303987C307DE754D8625A5B7339F054A90DB37CE0B9F5BA0595425B26712AF4435AB8082AE5BC1B211FC6EE44262D26D82A88E662A47688E3DE67CF825BC62E1B3E3F625B5481460E0BAC451DB6B67F40E9CB6B87C77F2EE63792305EB697B1F2F7573180B852615841F6B9DC8E5BE40519E9C2C782FD0069B8D3B2ACA33853CD29CDB1FEC735D266AB25EFE2A0FD47476E5CC1173E9717BF402C02843E56BC70D956A3DAEBB0EB5F02A4021E6259DF33B65A363365AB7EAEAB3320716842E70A86D3EFA3550C59BC0E14B05E38AB9C4E38FE9E7DCF9B3002EF850B7899A0E17539359AD4322D1D53AFBF9EC45E1A637E4F0BA10D9D3B244CD90FDBB44F9E7200DCA987B1A5E1255C833F3F9D5AF3504479D6A900D3190664AB93755478CCE9A160AD793D2061FE3BF8C28E601172D2B4685D517083148C1368C4D853B3A4182720D47CC7363D9561EF31F3C108BB9F6642A34FF38846F38464771F494347839AB072E8E9B788CEA50330FF7297F9428F97D095F776B9DE590E6550DFE2F33273A36D6A201103973032147474335A63E83F04D7DBB940F38919BB45FCF7A4D2EF846EB24FDC4DA65DE53E2922AC07E177F0FE1E65E82CDAF8F65948EB1EAA031F0371BC49F547EECE7C4CE905AE97EE7DBBC78AB347577AE3985121FEB81100D2BE2E5771C4118F240EAEBC3CEDC911EC7588359DA18908EE3D8302D5E544381B66DBED785DD684CD0DB274E648ADFCC36AC870DB8689DCCFEA3CA09711B0BFC32C8B7F0676D65D63761422F077C9CCAA2EC80BBDF742629EFA5D9C4CE5B3238ECC05E1804A7C044BAE3BB4DC3AD6AA3C592F71DA7F548148AA11F352D2F0D09B84FB8F5BE629C3AA7C68D980294A6A172669BE5D987588014BDC1E917463B829ED623B87BC5FF20675DF37BE0197A5E2F48891E6CADD2ED860CE154354D4854E6D08F0A28E673C7A152FF2FEB7634F0085FBCAB1FB205CCF3660FA288F5D214212343B5485934A256F043396A039539CDA52DB6C47A3AB7E2374CB2870E14CA6423312D2A9C48F67352E1EA2732707CA11785D8C27351CA769141D2090E79472645AF2729C158479B4D138B1BCEAAC70AB7DD221BD89EEDD8E153215E522C837D7554F45E8877B6544F7071D45E7EC545F7F9BB27DB95E9AB2298C8A513D2A2FF8828F243982FDF23E4829D0FD811E9C19E7B2960D8C976E3EE653788C262692210B5D105C73268F92A5B2ECF6C283D85874B5AE3F37BDC520E2F4175FCFB2175C57F46096F9EEA1E0C76080C765C75193A9563ED5AD6E0AAE0AB0F3F94459AE4B9AB0BAAF302E70C08D58C1E1DA8308FDCA1BAB172AEB07D37E79AFEE3F3067DDAD92BD4F51F51EC8E647B212FF0907C9078CDDBD4059FDF22350241CA508935442463A6C23AC28B2C2A968A7DB22E8E7D4CC9DCB3FB11797439CC0095F45D21E075390CE3483DCD09463A4E977B56CA19FFE4C6FBA28874D96AC2C66B657314303AA68839262733E903F074A1463A2DDC8EA016F6802F917614C3CF44DAE4B4F6E78F50621B017B6D42265997F596EBFD7C1388BDFEF983CC91B9F98C17F85C100CB37DC40C31FFAF2C882A271C7F6DDFA94BF69C7E50CB6D78E489F6DDFD26E34EDBDC9A6FEA4FFCB7678FA609C8D006933F4BECB85283B13C04C6A27A89B0C2CD27125DEC2C49646496288EBB162CEC4D5A30E3B83A90B54AC61812A908014F9D22CA21F98C12357028971900E57ACF8EBF095687E2D +MD = 62E837A83D1CC3F6306420F091EA71F61DDC73E4BC1D3AD638AE28DAAE69B583 + +Len = 21704 +Msg = 06729047C0D4A7B3020865F527F0657EA5397EB58090ABD01912C485E73854AA9AA0394CB53D53E3D240D1BD6CBD1E1E353529CB87833B5F476483E684F11748D5AB7A1F18F5B76E5938458486D4D5B1FE1AF7EC2A139CF5C4B755165E182F23B9E69EDEDC39375F0F87B24DAB233049DB0B34627D53DABAD0AC3351FDD94010DB51AD3182F1B1276C498296DDD759ADC3384EE949E4B2B6412CFE3E8EF769DCAF76BE4B2FEDCE054515EE24F7601EB1553516187954BC0689EF278071EA7B95D58E7FF2116B450728E47571140AB10A327C8E6D333EF044DFA10866A82B9728D3F5F343E1B33064E1E860881DF05D78B77B1F363DA7D3EE4209E8E2426B6969B5544AFD81343FAACEE915269C6D3B12C22F2A5FA4E7A518C5539228373192F85D8123105B04C2866DEB8967E7CEC3C0FCCEDA19FDB84C72597E0EDFEEC620F8380E3CD5B5AC2053EAE404CD6052AAE7BC7C666628AAC1FC722244A6E80536246C9894C47BDCDA71C239E2FD276E6E041DF8A930639F7993300D68FDA7E2EACB310F49D48049A8B6B1BE42FED5BB26179D6E4328E60411AFA7BBEA122EA9037450D80E5FDF13C93BB7190BF447E3008A34ECA6EAE08AC71A5446BB568D4DF8CA4512B9BBEF21648ACF2DFEC95CD2D2985C97C461DA651C1C87DFAE35668C008001017A48292B4B0B050C00124446594FB27A418E3549171D151E5794070ACAAAA97B88045AEB3BDFFEA9CB3372950CDD727350EEFDF06E7652BCD1910312B35F5D4EF3B8418BBEEB52657A36CCB7979CCABEC0C4B2D22014F60F0E847DED96698A81A7F2F3E35932CC5D34D3A5EC366507DCF179309C1F4DE6018806284876A96CC9BC54FB5D9E5B3127C74723E0C3AF1FFFB01E4EDE2C59413F1FF56F8346C71E30DE5A66FE94878C0D7A217D754C94A7C3ACAE3AD264A3D2C7DF93AA29B4E0A1AB966E36FC8A81CDDE9C492E4A09A9C61E63C540A457489C7CE6D9EF3046C77812B97237833DA0D8E6DA300302210CC009F39BEAAA0ED1AA107FF0C06D210CA678ACD357709B25242DA3DE144BB397D9A3CF8441039766407A67BC9297C108E7A11E98B09046B4866C9A912817B6568A04CE10F43BAC7BF211DAEB90EC1A281437B55F88C6E883EF9A271D8573EACD965360FD8F84DADD72EAA12377A7E1F47FA49BD7C3961A15EF5C311CE62CCB43032CD86C509A100EF8A250EE84B9F7F9730196A86ADEE92FA93233B2E32C87AF90915B23B44CDA9186DD51EB9A049C478C2A5B363831AC5FD170DC84312440AA8C83B7FC44254BE6F4E81FF2D66F57B12D78905B89600E537754A46CC5B6C5CE2B6B04F8D6F1CB60359539023BAFC78AA0E834BA8709433F8C6F0ADD3D4D743F4B6FB484C10A4267505097082F30BA7DB81BDB2476CAE452B40F67409536141428B264CDB832D1D611CEFB5D4D1326428F9778F929C8C182346042CFA5FAFF0819667EF4ED29E8D92279A2999545C3335285F072DC952E7C7FC1116ED0C5115C6CE7ADC993C23A8B0C96C2884F70817B5C9063C75FF1875A7B080B76B9AA32E6F7E4E8464AFA40F7123AC79C45D88DAAC71D76F795F192C6CEBDE8C99F10CEB9E90F022E5801A78922F389725BB236AFB5DC28CBBF1C9BE9617CEA56C80C531BB7AC227F6B996C68583B74BFF78EF44D185E0D0E5E9D6F34B250DCC4639E3A1A937CDB96E78A217E03AC900834B4ABAA495C9BD9DBC2C4E85463CD1C6D1F4D8746EE4B58BAD78CBEE21CA3E53E6B6D42645FB96C9417A374EB62DF7F7D23983B53E1DA754487F3C0711712499DAEEA9E6AB939CBEBEA79D5B9C7299C06CE53CC8B0C8F8381E04C525CC691443318B70E447E83F485E18EBE4524DF0FE0F47ECBBA87EEFE4F709B7C84274F037E89D3E140DC2BD608F8BCD5F51B3FBF4EF93EDBD45AA7AE5326D18B719A5DC6AE91400E2B6C88E699C9F9A95BABE33E98397F77FB0FCCEA59F3BC02A479E6FE1059DFED546644DFBEC3F20FBDF4AA53D025C66DAB24875021D7934ECBCC0619AABE7F553C9287DD6FB916D2C5B8DA77555D91597D895B9F8E0C601EBCD38364C91F28445CE09D445A9E71493FE35FF723149E73DEA9EED1E19517B5A735F7ABD8D92D45472EEF1D2C4EAAAD6FDBBE9570950BEE94613AE2A934E1A2C7EE899F2861AE17BF8D60FCC1005ABEC7240C7EF98E7DF442E587FE2407CDEDAF6C4AD725FE54AC880A47530E08B6452F5D9D044833CD117EE4E1A242FDC07545AA74B559D394D837E55EBF07FD2D6771811DF95791E293A52A972B682446A29C4CE3E02F71565D537D12EEE21E1FF558C9B74FD4914C6684AB897D9C4FCC4A5F2685B78A8162DC1BB70203F5005ACC0257252E0FF9EFC43B102E09E9221BF908B83B497A88ED83D0DB7C8FACA741A28BC5A910048764C5098AA7B419F24AE5E1E2B013405E3976D938E781FBB10BA679E855D2FDCB772EE96BA264208CF4812607EE0BE58C307568063789AC783EC937C68607C87CD00F34EBFCFD2635E5C6B2F7D88469FDF8723B81312D3402C1AE85C3C12023880940595175D586298D215661A38A363DF4263A51F434362FD5A11BF69B121065BB08CEB2DAF2D9F844646916E4A2AFBABA77999E7664AF9670CBF68E7E4B10834A52CCF02E45A431E06A2760084475A74C4C66F8FF90F34C1D83D70EF8D6A3790A6E3BC9D816F1AB038D5C3140C8F36E66D3976BD831CCFD88C84E7788CF2A3246C8153A27454B0E7A3C59E292927F1DC04EE81E2AA291C06C8BB173B53FBF39ECFD6EC1F57A7478E37199DC39D058283BD046ABE25E91422B0B25329D175A7D0BFA21E297C96A5C3F1979AF84752A2FB67BCB0511B790124BD96ED13749F1E922C4ACE355DB866011A1551DCC9548EB46B961FEFF4F2851055833BC4083BA712E4FB9C30C49928683AD783FC370393A55F904FDEF279C0A4E1DC9E1ED7E9058FA5FE363AB1E17A7242D0921809CCAE1B9E5F28FA553F7CA3E58FCEF7BAEB88D03DA5E2C06FECD357C12CB04C5AB12DAFE4D68AD3C7AA9302C9E2E6E4B86D1C96C55FAC6F7B63196A15E8182C1BF0206119D67DF749E1428B3FB137AE7C6EBAF75A0FC64163C21C44329CB4457F7D4F36959E8A93462AAF1BFFCFDE02EC1A2C7E67891DC64C1EAF2A44DD7D8ECFA5F7D596C2C66C18A4D8B07E1909FA87884816F514EC17AF286DB0FB353BEFFF94F810942B56062A4A84A45324773BD26ED4B5CCF4E10BF715110FDAC5C4C05A3EF4A3134BC9C9A7B5774D50DC817EB6A5AA3BAC029AEB5505204DB40811F69ECF17EBC206746D7FAEC59B26170FF23EF456235A66CDA3B84188495771E53421C725671788633472365D474167A0BF9BA7B212BC6FD91C4210570FA3FEDB1ECF6FC77D049830EB1E991951DF439DC2116F72E9AE1679B452088FF0D8C76A4486EFF15EF9E7D80E529A97B368700A4C6C78847084505C8D9177F08C96FC4BAF5BE3F4043A21B6FCC200E7F59CFC8BCB71A1E2FB9D9AE85414D92D09BC6E2686EDA670EB5E903FC9406CCB0501F8BFA16C0167E2F48899BD14258D59E58AAA8F450387C9D80F66A6F9D15FABEC9CE121866B2B6BA09CC93165B8A567F86FE0423813D7A0B9ACDC505DB6FBF6D5063DC231BE1E2D801E80DCF0A82D3D8C98E80E3ADE2CDF4D8EBFB9966CA1C68FABF0E3136380E6AD17517607E2A36D41017E60EC0D20D6B17E5504493C94FBDA647E3C2195379B98D84C1DA0634577DC5FBC3638D9433FDB32F7DC25E52B621DB7F3A0194F3CCBBE51BE61B55B4E5D27E0BCB2712F6CD3A29AE2C5C8F9A29FE836C02B6E9086AA4D92C57C5AA8996F4561F +MD = FC98C16723D8B85312519793BF97BA50F420DF6871C61811778FC155C4ACB247 + +Len = 22208 +Msg = FA8203123566C334559F12F1C37181DA32759D0AC6CDEE696610445DA4484A51A867263AB6043AB52C6C097346D5BD6C83A2519B28D37844AE1DBB55CB8B86743D51881D1BC810F0E4A9E1F589D8E4CECDFE5859AB245A79E0D8805347991F23ECC83A307871C3D1A22D6BDB2A70DDA20EEB51496216ADAB2CAC4BC4346053A41A6FAC5CD78B5D2C51AF83A754F8F38C0CA7EB48241E34B738FF4CE7421471F8A792E36F32C16E067B85562BD752EE5E73C7920DF08F1090AD8CD251874D1164E15DC9C131AFE318C4CAF04DD044AD068CA856EB44F12C057A676CF2F5BE9C72C74C4709ECBE90A816AD2AF43EE892ADDEDB7089C89DA5ECDD20E7BD082CE5485D559BC9C771E49F872339252D66C368C9E94F4E23C85734CD567C4DE7ED49F92426A5D38783FBFCDECB7EF62ADC5319CC6334357C2D8389DA870146326B1BC12E9F70B3C2AFAD6C4F51F710DD77663EAF37C101700D64AFD4404773AB572A244B36C32737FEF7E168D41621123078AF025F4C25AAAB8C9C844E7400CD2D8E43B3BC621DB1592D3212E276C9A52EF56B6B4CF39A49673C483805D2450CB2EE045E3B8B5BBCF7FD413E8D34A8716363EEC48F76F54B4F2FD08E81C11997C5647173775D2607EDE1743E2A22420B3C87EEE4D75D14343C8735E2B6A7D276C739FCC75D3D1074C43EFC5A624304C4CDBAC9F123120406150D265D36C5D4DE4441C7FC637FA4B4237A403A5415EA01ACB33E5AC6507DBCB0E357245916CFD6B0D0E35E02CA15580D52660872B6C2869C4F1DA49B600AA3B3993DC569E35E4AF380DE7400AEA928E9D25510B3BF9AFF507CEC720068D4721F42C8ECAE2A48AEE31D0AF6F844458C441B93B3508D74CD43A44033B7618AA4D852BAA420CDD6B7428A8401E1B53EA2CE33B3F09991E691E53344163B2A8835E0F90E83C7278F9A0D8C64200C502D8DC1AE1B96F9947E60690032920E795950EBF6642CD5421CECD282CC470FA462083E221A900140BD511E616AA7471A7526180771B803A2265021BE2876AE04E4E4E86E830452BA79D4306AE45C7FD75716C6131211904F72E1F52D3A1DE2081770598628E33E244D93FB971488823DA9729169B699922876818D0D91848A3EBAA785B7029915F3D9238A4151910A88E2EFE6F41841EB85044443098322B0593826F8CB6B0B76E53120A004E913CE42E448D4BA1F2930849185E7C8E029533B275AA4C1B1DED8D38818EFE9535F4D0724A5EFBCE485CF493BA53F619B56C251465E8A07F3A085627E13D0E24EE6157DD76F4FB2FBAD7B58396BAE6919069EB0D32B8D57F933E6059FA2FF062BDC7FD86CDEBBA4E206A4C3CBB2A868D7E09867D316C8801A39DC7C71F2E7FE43EAE3C1CFC71E0CCF8EE9465E53F936A9AB608F29C9F2E0DEE8E450CD42637785CF84543D39BA6FDAB77F1C93D08C5D5D87419540B3A510D04B029888D0F2FA64CF5A62EDB4DB7F4A8FEF45B8D27A22C68952C405984BA94CD2FC0D79DB81A70BFAF9237DF9B86F3A7E3CD08D4A1CE6B1E25C3BBC5B206E4A018070F0B0ECDE81CA834FE21162CCE9ED32E1B507FB5D93A625602E123ED1EF25B3C291791C56B4500FB7B12646773B1F59E204193DBAA23C9AE79B293132CD5EC9B60965280AD0824F3E4A56FFCF966F6B2309F3CB78EA7E4CC587C4661A10D1E22AB268091E95E8702FD20DB71D73A6B9FA6696A5C0C8A67188FFCCB90696D73D8AEA1D9A0C0016CD449F9C9DD18DA90B25D182F556DF1857EE0B3E48C28882B110E20C9C9126FF73DF840C0A3F72474A14C91679EB5F5D9A2095A5ACF1015598CB5DE4294B4A78C7E5818C8F1323234B04E79C5A4385AA429CC3BB41255BE8796165CA3B2D0ADDCA422FE8CA3C75892ABC86316B2EB93D6E75600668E8AFE99DDE205EFAFA472BEC72CD312DD81570154490931613E8F0FF9FB0507DE56509A3C2E7C97C3BBFCEAD923A3F2FF11DD8B052D154C220D44E7B2E45BD652B6C885770E0E486325F54FDAC28AD7A760EFAF7C505164D520955E13527D186C2488A8017A530E02A57F61B5C5F373907714E6DF708D47C9923B70082FA641CE2D7B9CA4F3087D8FD88D2BA1533CC6751506A64E06EC92B4ABDA8DE2D75B020B2C0113C15B7FD92EE8494B572209C0B4C614EFF2FD89AF1FDCF489BB5BBB7768AAD64EA49A7DFD796FF7501D75DA439028575ED0BF0CEDB1FC71E68E3C6CB3DA3CBFEF8D12AC052CCCC1DE46BBB43835CEBD9A1111E83D6179E6CD10F67733EAA0D9BB166890729A48ABA05EC7745409209942BE44A278486F38CDDB6E9852B0EE4EAD981A8E8BCC46EF25A4C07F874A887F29CD61D47C38C9020A0F1F2D4A1BDD3C0B8E2C53C9B4312B54FFBDF69480B2A3707F0CF89638D7B7679AA91869A53664B15AD07EFA01E718871EC9410A1486A8DC2B41FF00DF7FA069A6E68A33F27A2EA0BA4A3191CDEFDF2349BE5DF727B7354767A299FAF5E87CCBEB98C4AF036898A80B5C485881645739FBC5A76C3934774F6A078AEF28183A0148305F8C0891832402DDEB993E1CA0EABD52D2FD5C5946A94B23B057B85931B698B46F68AD885800FF25AB1B5DBE42661FAA902074A3D45CE02FBDE7C1C38013B1000D9CF9C2F4226B5ED1ADFD18D676D14E7B1422C6321C0FA5171933041ABE963DB07C06953906C051D7AC1D356BCC0B800A7D5F19DC0EDF4D0CBD16A2254208235F972F59E71E410BB6D51A89E12A33979BA6A6F8F5CD5C1CB0329C73FDECBE24D66C6B5D5A1125D162A9B0E982BAD23D44EF9924C6E2903FEE8355223727E4FBE400E86E4BA8282593695018F50D96B7D1F5F83066F023BB7D0A568D0C396661B876A15A859AB08425AC1CC1563C7A094BF8D9A348B2EBE8CD8826C252123968AA90D9404BE82019DF5BA764D5E796CA43F5BCB34A1D4F908E7966D89833E5A0E8B00A9C0B385045CFF25AF35C4F566492769189873BA4380BFEF1AD52FA96EE049BACF892DBA6DDA605C1C00244C7C597543FD2B6AA6F0F044AB4A5219588D5480E759AB44E79C5759F1083F68165D42DA6CF04D16EC0A71400C1C6A50FFFB06A06AC0FCD23F05EE8431519407C470DA99BCA4B11EC233ED32C1B1F6E506E34270C5927F8C34CF30833C94A23C0F90ABE0FEE43D0DB8BC56EFF9A00C403A4C12F881119DB8B7C25905161F2030EFDAF80864880F6F93C50B7FB74644BCE061C20E9F20DBDDCD98E63CDC69E0F48A0497534BF59C06263108171D5E480F0954820634349D5BAFE9A4E8D96AE1C29C46C2895227B04A4412993B8B6BBE5D66D5D026635BCEFB162A53E484A9D9173D3A2AA60E6024429340B34485FDD68B077B13F4134CAF6DD7F38689E4936325B314223C684ED99D50163646A7B725F321C7BB60153F40E3CFECE9DE2A263F3A1030124832336E12BED3B81D99F3B6CE3ACF87BB1D57298BCA23BFF9034076EFA9A362F30B3B9B3E2EE83B455D8A63DEFF545EB6341910C767AB1FCA2960C724915DB60926AE6D40F5E87EF28DB3A133B69FD673F6BF1088D727CA8D6237D1055BD6B1CDA4E1BCC849B6BCFF9602AEB73A3F59BD3AAC6D0E54E9D5336FA3BC0C0FD22782EDBB0B9B35ECFBD99793FD910399D35E0809F16B53597C24E4841FB8E7EC3C4C434B9653E0C1F9D859DC9A365E461DB6827C2AD1E07C6130DA1B84ABF31A76084BD7EFB40F302DE75D62EED0EB4A2985345C85B80AE532266B39A704D84BB16E9A9FAEA7B3E7924306F650C2F338298CB38F07C04B1F41736876799C0D17C487BC5E0047E8534ED356C6F30DAF21610618D19BF1000BB8860C279B7EC27C6270709C00E3CCF78BC95CD550202275013235BC2B3F0E11791D0F87D125B2B1775F4A866DAA90A7CCB1C7D214B19F022825AA0A22DB78041250F63B5A683DC9FFE76AB035 +MD = 95C8E68259DCA8B85E81688C128280B59F7E105D8EDD89CB9F295B93EA40E291 + +Len = 22712 +Msg = 08944CB473B828B118A31986DB67FC757F238182E790553404B792AA4F0095A6A83291E287CDD16521A3AE8C48F56FBC909DFCCFAA7BCC570C2159F26592DCD6B15BC4DD55CC05595AC634B2C3DE15360B0F07A03B5957BC9333CC5097919399DD9973ACE15E55940178C4C96BB5E0A0A10BAE175769548EBCE11E0D7D9DB29647F197D4B87F7039F5D4E59E016531DBEBF55A797AC9A6835032CDF34240A7EE7423E89C09124829CAFC5F89431C8AFC54FD979E50D48A82B47A53523C84B6004DAA323EFB708203E5388A6A5110C6CE2E341048A65FDEADEB3837A03420F9FADDC3F02A544F1E46D96B07C90C7971A7040A179E8198E90AA019268E00367120D5F3D98A5CCE82C885E77144B1AAD66EE682847776B04F01F501DCBEFE3903080A8058B3B8F1D823D917ECF31FC2D5B0795BF95A55C7093ECA7C801DD0BD0DBDBEDE7D56513128B29FC0B4D25A6240B24C99E017BDFF7ACAFC8F8DE9FAF5A2944384AECE82BEA04DCCC6D51FC6E6F27AA38F131B7959B13681A09B311D242E6222A1CE5687DE5C080508B1DB16B6F8290D33A3CC0D0138AC61FD9093825E9D3752889E9F20DB9F80F92750EAC88B38AC81C0016D40371EAB4A87E845E91446B0A07081B84F559CDB95340CB020AF22AEA1BFF2FDA12F7A42973FF163A1C6F33DB8B8214AE27ABDF1C54F5B03E29310FA210125E1296E8AF93A2996DBAEFBADD4C51C2C3B8A3E2BC9FE060C42BA32768F6992A99599206CD2291CCC5BBD50856F7F8D2D0AE1EFB5892C15A799B77482DE4553736B162ABB06631F1688F6746E7D7A37EE7EF24E6CC901175F04960C01990178F81E957E941DEAAC8846B3704E24204F43DDB0765C433F3F7D4D201459CD65682B7DDF3D47E95CDB31B96A4CB22907F08BA6E92A4A07703B2DCF150F922C4B7CF181380303FB72547847305999C3C8F9AC877D05D9DC4159DEB8A13D36AD1D533A56950E20F906D29D51DDC45BD15C1773991707480E37B827044BDC6473181B760A9036E0D3FA491C2F08C55130D8CDD5AC8E97D0813164AF3D28A585F0C2EC7004D498F95C6B62231A632A56C2D0C48FC3A6992D4051957B9ED6D9A86DBCCD962A8883CF82CAF01DA2F51A203D56B6089BC8FD0B1BD414C8063031ED469555E22EF872689C130B1C101034D572FD8CD0EDDABEC9EF1503D7F728B0941EFE2B9512438C7DDB176BE2EC2D9FFCD56495A4511428DF02819CDDA18D1ED5D3B16C6F42AA0AC681A9FAB51E8A1A856C15C51A3EC1031427142EA12543014DD4ACAC640B8A7729E63AB7DF1051112CDEFD4B988A2258334FA9A7F5B3A87A02074B9F69DD81B83FC74089A91D76AA4041259E80FA255F2084902AEB9E996AC2288AB464BDEC47AAB26A28A2A8194989755D48FC9A5C9279285F2F1DBB8B8018F3E4E13115D78A879792E45A8F4F24ED4A317440BA63E6929056EFC1D2529B75A709D6C0097DC2D97F646F334EBE6195EC5630132FDE58E25DBC17DAD822D9FA0938A2A2C926B105D108403DC29CF371C3504FF73BCE9C7ACF9A74C4954CE6A32DA96B21CF3211B3E49953DAB78C49C3E532A349003C59C62F7D40261CBA63A9EA21C89A38AA63CE431C43AE261C4D9999B1CAF491FAB8E7BE6E8C3454F1BE8793B2D27141FC107DA599A4694C41353D7785C05B5E31440458D17C6DB66FEB8A9C5C073FB946A67AC0312BB669D9B12FABAA5272CA6631379EF4ED420A4424A5CD08526384C047C33A84D5D7DC0C2153663B54C73DD799A3568C01B818992CDF8143F1DADD6B50CAE6EAE13AC66F31FFA2B362CC4D2880592B7FEE4B9E4CD6AA5E5DE27AAB9B5DAD9F7D39407AE927530CAB2B61CD7394A21EF47BFB813B5EA6091458D239664923280ED0D5CCA8285BB2281A2F9FB3FFECC8E9147E1E8FAC957D90C9E5F513738745A47C2AD0C31FD8986EF3B6388C6E821F166513811D547AB4336B5E04643497FC9F8D6E380EF6478B82B6E2F5F65DD98A63C68C32B94610E1D3B9538F13A7688FBB1EC3448BE9BD77BB93A34546172AE8D614F85228988E7FEB18C9A0C9827699E8B3CBC69750BDFECDA8268F694F4C509BEFC1A1166F85C829725299D173F867A300987A2D36D1BBBE37BE3208FB8EFE9152A41A5F0E931B6382FF7F9B18937958FB180E61F2A8C28F36C3C80C3722935AACB81C24AA17FB3E7A1026F7031A7449818ED62BA7705CA27C2D3268F90B6322921683DFF800A306CFC186CF2A61B37F35837B217E3B2CECB0843D84EAC67431E3D689F01522D4A4C73618B7C2965C9DABB15C0BE637D10CEEF72271CF39A7B803B41767BC34433C3E6FF449A439AE13DA1EAFA038CB9F2E1C84F1CE39C05DF56FE3D7B82386C4E628B6E27CBC5D575C66ADA3510C246BD04DB48F4AFC2D7352966DA2266C2BC9831532F53655D8BE42B421AC0D70D8AD1D3587257886DBF93668E907E861BA64F45999BADB0F766EADCE5238B5ED397F265935194812C03C5769137BAC97140525303CF48D65F39004A3F59B1FAB09895CEE05335D15B9B12265892F4ABB92AB1DD2002ED00CF3562CB67DFE1055968E4AB3306BB34BB87D0F64B26848812A2F7B50424A21FF94081A7F70F7B684AB0F092B2B085DCF84CA38414CF7290F607BF79C37EA84253ABCA8D4184D2DBE2E900200B81479E1CE8B71DCF2BD6E3C557A8E431D627BA669C2EA03068E0F7EA62C29777B22142D7A1D451BD541EF8EBDDBBA4E3BD8FFCD340E935BE7C66EFC14A13EA48134F655B0DE3180101F09D204C379743A357E6DF1268B55A9F7524398ECF3A59849A27B142239059998083E8FA91785E91C4D220B2FB17E3389EBAA384A49D89B5D78136DD2454F06CDE9837F096B744D53221127869904AC227CDF30BFEA78CC5545583F999B9C42A1184E2FB9FF3EC095B9DA0D138205C4EAC4C8C480C43153608849F63E161135C79D8B6C9CFE9B8DFD8AFAB559D8B595DDD43835033B4BBD391E028BB2A60832D9B697EE61408F149744DCE71AA11BB2B0436C1E2626AC3A27CDA293366B90B9CDE2D927855130758D3946B867192DCF3FCE9A3B9A5276E8C37B8CB136FC90A6DC22650F95E796A9886EFD3F424BE63A66DBB1041CB3D4A06F4E7EEE89F0B6D15C36F9EA010C66B332011C8888E8E4AB2B3AB5223191E1388613A0FD0F07C1B26D7CC7CDF1AC62A226454D6291B431CC3EF2DB2B2442B37DEFB942117FA247096BEAE598611B8104F37BEBEDD8BB8B949A89B5BF8E228ECA1D8F16BFEC75A02FFBB4EEE3A6D4A6087C43634D675311E72A9F3253BB5DD364E07EB4B9C84F586BA267BAFFAEFEC79E03B83B18595FE06D7E063EE604FF287004D141C1A43AF0CA7C5651D98F633FA875B4743353FB07BDE59B6567AE25F7095F1D9EDF30570E2F7D7EC194216898D910F9E295A41DFEE072CB56F914BB78CC9854129250F9874B63BB3EBE9A1CDC6EBCB0916E1C440354DED6AA818F2811DA913912A21D3961AC94A39F0827D3A419616905DC45842C8E69A43004B8AE922C8DE1E8CD0668674A7760153213835BC63FAE4F8D65614AFD74A34D42ABAD5025B884B34639340B45D49CCED423771916E18AA077291923017CA50795F3B7A3F349A3D29923833CE57801C631576E23B838A7767CA1BDA92B82AC502DB3688FFC83C09A4E40CAC31D20D9D32FA6724A80BE7091CDE9C7A6560CFB326B467CADDB9E9B7A491EDA283EFB0B61B4A1116DD859D5C0897EAA2A3FB2CD82FFB33770BF9E08091363B6B81D23E61C2A647D2BE440C5C79EA89690656D9F10B1F07942834E1CB6E2D2DF106EB6D6A21FA23819E65028515E88BD279F9317BEAFFD394EA51F8639371C3A89F11305A4CA35FB0711F5E2C7C3DD1659C790245812113204B4ED8AAE9FF09D43C6DDB13F5070D98831B2C7639FB6B9B01C288812DDFA8861DB32DC8268C07D30CF969953042B3DAD530D9D744C06AABE7A886C0FE57B09B7F42D193FB3E9C06329818251A2F7E6474462C95DED +MD = 3D20746DDA871A104202EC1AD7D60D8E165FBF97AFC1929511E41781A35CBA45 + +Len = 23216 +Msg = 3D85E0037343FA076AE1A5AC3B9B3A299654A9F52E73312113E0EBD78F4B599848023AA97550DC77C91DBFC922BB965508D5CECB139153D6D6FAA4F8BABFA2250D29AE12BB010D6D3EE71F910773A15283AC916F8CA76D359AC6B654BE15CFC8EDF2460D0E993D1DF5ED9C73E95D357D3CFF052B3F4CE358F96A631F0F7BE4C1B9D88C7E6C04682CE65CDBCA2C4E9CD05D2F51027E5E992ADD31026D37FD91DA8C41A33EE726FADD3D516923C6CF5849E5842291039BC2EA94D93B2A8AC7FE7275FE868928F3FAC2BEAA44F06375D8B92CDE7C403AB9F35B4F0F34EB66A5A31DDA32DF9DCD77DCB040A6CC127FD109CFD54410D7B3E4E8498B04089400D61F0082CA48A9D1D9565487D708756A9B16947E9C05F94078E91C565A56C9F7205ADE6D8E9413D6DD0FC8885FE01AC7FAEE3605E22725C9A52FC1DAE92B110C38EEB87729A9BB2263B6D43FFAA57ABE9C8438B31D15CDC8D80DC81372B4D98154937E7EAA0EEC0BF9C71FB77E2F7C360B64112AC8D8FAB5B574C21FD31600D341A9173A3ED05B0F417C18C58E526A010EC9FFCA19461AA9EA5F85416D029689AFE7F69836F89D1712004B8C79020D6CFF0245C7D4B1C196750D44527DED407595A7B28EE8C95A85C6CED826BB7F61D8EAD9E0BE20E67D30D5AD6D2D4DCB38F20E41CEAD521511754901F10831F8BA88679AA42E9C47308BC5A7F3AE07C14A8AB992CF07A26715F564B11538E4C441A9AE54A5A8271B66966C2C9065A4EAED9884360CE60415E953BC31072B4B2E3F7579D6FDB70FC737C70CF55EA5F72743DAFF866BA482199F8594D6D72E1BD07BB82476EA95B7DF9243B0013542EC95AF486AB184BBD93E6ECCEAFECD1A64ECA30468129683F150657AD050014901D0D4EF1005C5B86F98F2D7553FB529D7524C3F1B27696FD98359355CDC39DE67CF18D8EF58653F3C0499E085A8F9BF555DB9A1604A9D640C09C45D2B4A8D81BE369349389AA833356338584704F864F04227536B5F95819919C8360111FA2F1C9F4B275A18F724647BDF2A7830BC0B6AF386E9B5FDFF023116FB4E220E9EACE1B6E6B4C68C1C7DC91902366A6CEF4C4163616B85DB15C3D35733727214B17A47A6D9C5E059CD0174B1E5FA764AC11D1E859B8F092A4DFDE12543E5AC4C27E396183A63FC0A76A52469145CE8B01BA733C1BF4AE0D3DA35F5B107F3083CF07BFBF0E0E76B3FC7FBF5E515C6B79403523DB6D668EFFCEC49DAD419669DADD343870C82BF5B7624C06B9F8DBE66E49A35495B0B17C25AC814A0A58E5467DAD961349CCC2E64C217B8C32DD28DB4B7A4D8FC841BC1ADBF9F1E3C1F871AC9E3D03B0E7FE25AA79391DE961B87209C6E41D73669C3A8883856403736236317247F332BC4FA1B14F19878E2DF7925192AD5C4F7BF431A01A1572DA98F2B01D1846760DBFE3E387357D115135F1DF6E4B1385DA5E591E0EE2295858705A2F16730B0CD7468C08612179E3C449F9977C0EF6688417190D7361BB94C4782D67B038C225EA703B8BC7309761561BBF1A3AE4925CB0E8E33331615EE3F0662641CEF3942F9A003140376393C58EAA46F6E994A375369277331795D9AE7055D4DFE87AD41A843202E598E492011833525D2D568B699841E6A82CCE59B51D400ED6F896C271194F2C8230E271BD21AD4345CB8CD89BADEA7FB6188B0167490E1493264B68BD995D56C93E6951CA8C554B1E0AF35850377BB87C13BAFDC81E3C433FF3B5F13FCB5338B31EE619C59EB160E4E6E5185ED41ECB18791E6AEC2DBB898C4F951F7179B3A523A3EE8D75BD375F03A1833E5046727A501178E8EAAB4E25A05799837F1C91FFD4EF364ED731F39AC656371CCE01DA73A85595AB9AE3CE41E799FF94C676A4509D774B720F38C1D924D17B09EAA04835513C96530654DCAF00521B8A74E40774F146B00AF65BCCBF477B58DE528AA2BB793F47D55F4F2893A114EED09F21CD79168C52134FEFEC9A79659D4AE45F28A56A6E65376188024652C0CBCDEB6DC8AED36604E03DD61D4ACE9A8B7C54EBD35A19CEC99C788FA02E45E5AA29160C661051B262080841DA9F3BE61AD421B4CEBE7EEC77D0A2C2F14658109CDE4741A8F0967D3E69D95E6909098A61085AE1237BA8BFCDBFC339DEB4A11AD80C118023D82D904A0282EE58D0ACC180F9E9A629C083CC70B6BCBAA47ADAD76BFA0BF0393E9FC86C6D4374B1FFF93E9AD8F7643BCC769D2E1B91A571FD04F4602AD08A7CAA92319137291883FF0CEE2023BD4120577611D687E71FD39BEE25D23D00619083171DE81A0475BF769C972A0696031719719187FB5C172EA05C7CF5740296683889F0CE5B28665C0EFCFBC95A4BF7B9C6CEE9E3ABEF317AAD2C829E59533DCE70186657C6DB44DA42820BD1F9191ABCD3495AA6D1661FE0735F4AE7D567EF0CCAB731036B24390C56096D3B56A1FFDC9CF36F175B587612DD7ECB41386F82BA6F81AF6E684BFD6055EE237E5A22A25DB0AC2985B8F4E7C553B10283C76ABFF2CFD415D6D39723BFDF88F2A8C587C5C921D4FD4A8E7298DE0E7B2E897FAA2513D5AE1C315A593421DB07DAE696344EF882414E323BD03BF8B97EEDD732E44C737CA232E4E6A1D260F367DBBAC2500C4619ED7D7170D2482A1A98F99F9D4D6F1832D07E83F58E682D89EEA023FB4A3A9438C906AA36411E37356D95689E4ED4D49548DA8E8FB59C9C880E776E2ED8707DCF4B57AE1657A5CDF77A4A757886AA59B496182A68B62CB41360956B511526E8955A8165898706258B3F6F9D504EFF7C2F573E7DB1064F9A16391B11D1D537CF709572EAEA023952FAB7C70BB4BE3872E794930CBE2CCEA92CDBBC8586830AFF81264CC0A4F3A3FF11A4D1A7D521A8EE737C4FFA47063D8E88D69D381A085D71EFEA51A3DC173F6F76F2F4E1209A536951FE946E548914BCD7BC4DD506B41B1DC5BAAB34874362CE0FF03BDA19CB5938B813C57E44E0D61DB6644501CBA3D59B6CFEBE20E35E4F670E1E878E3DAF70245D9C42A190D575B98F9BAF88EF59E5564630D1C0BE4E566708C4CA9131813332DFD7F267E37CAF7681EC9BF5AC84586FA9A97C6C8882FC24358BF8851688860E838703D3EBE1498EEC27D8CEEACC0AFB158F5CCF1846525477D3BF069F63FE26EDE5FF556387B7D92F9540857D799D77D1D3319C86695B0622F82C57A05952F6DCF114B1D36F5629962DF10727B2B3F9A9E583DABC8B561DFF53B3E17D72CBCAB8CA974018D65C4E3054BA51211C31F81344CFF4354F8122B6B2B28192E80999537D783DD5B34A47752575B3BAEFB04247703271F9EBD89649D0DF30BF030C9DFE39E616470F3DD75E0F0595E572E70A93D1CC2ED8CACB4DC2431546B123972649B82D5876E09D6C4D9E1D20CF46C75C4E2EF76C162E5267B0B9C11B6DF4F32925042E191B6ED5DA0245B68DE0B09087E64E177E41A5A6BDEDDB4842DD08664E03FA594572982D415A64B70749ED536EA12851177079DA7935B85A81F00AF0118FAA62B879BF5C0410672C5948E545218CAF9CEA64B60C9C054A128E7867572E022896534D14B97AB668BDC9B50CE34C2690788F47CC311B866D4DE1FACEBC1BCC306EFDD6956E58D391304769742A65CBA3F81D6C45A79CFC2E94BA44F9C73986BDCD68E9162D9FD52AFBAF0154E20E426836A68E6FC5D2273CD11F09DA0B3019B7A5288BBF21EB3ED02A66D787402494D51F1FCC372813BDDB5017B0BD468A88A50D65AE08076D7C754E64898074F3048C8E3CE1B0954DE60DD97E94FADDF31B383F7B1365CB83AB0B4D30A7F8953A73435F9160D45C370F39F3DB13EE46A37B5ACE3057B83993F035E8C1F8CEE6EF7C3591277CEF69301D54ECA4670255837504B709BA3B2DD091D95EF6E6C5591DE439F5A882E86E19D1A2D6DF56F0DD26E8E954DE5F3D1438987AD2FF1A22F4320E96FEB55DFACB83A53D1C84B6B25FADEEA4970C85E82866AAE5E7A7CBE85DDA0AB5E7BB0A074302C49609118C8E34AAFA5EC7BD1BEF5D81B25B5F8F4CC8F264086D3B046A5EEB89A307D044C076C3E4698E60789DADCF265172B75FB5E80B59CFF939C06F937856408F709 +MD = EA2DBCE665278AA9BF9AFEE34A0060215F1D257143D73F0FBE541B2942F1BCBC + +Len = 23720 +Msg = 16F85F578206F4D625A5831CB3B029F09D6F9E13F8E4271FD41A429CEB638A1300E51B403ED6124420B363191F55B32E14D286584B51D3572536A0B7022B63F844F85C457719F88D4B91B1034D2B58E77C3FAA34A33DB8089284AD13C993C234CA883E0263D4FBE209AFA31A445021A2FB4F457633A54D158D94F2342BEDB2CB65DD67088F8E017B58BB787ED0400AE30466085EB72F190118BCD6B00A7E1BE12D3E86553948859FDB930522AC99399685FA8D2927D4C97637EA57730C1216E00C2BD8E8BA684E1E8202289F8708D5E43F68EFBD1DCE5DB6408889E5E6D32BC6B20C1E40301471EE658A2B89873589A95F1B1923972377E6599DC7A0276D52B54B18245A38CF56B9E4603BB9BFB7F9A68CB63184221345895DFAEFB6DB77C8FC11A2B0637EE6478DB74F2DC771AE293C9D1B496A410AD012133F65EAF4D3737E01B4142B50C739B0766E846E3A372936E8F05D00CC91FC4B01DF2E39151DEC6C11C3E059AEEB884AD4B146F0CCC66CE48D8959D7AB9920F895FA911D6F127C97F1E8583D5AC8B0BBB959CA80E6F025B4DF440747648DAB69662EDB9F4EE44A6EB7B3A086870B167418C4CADFDF6408E86FC07459D37870F95D1AA11D3CAADB3FD65038CFADC758C69E8E77B9F0D08844F942A73B2A16B99FE58F35444C3E5CBFF03CC7CB4B95DA6CA7D9A70FFD846227CDA9BB71A7212CB7F66BD635B2B25116F1A68CCC239FB5C510E876BC602DBC518F068F55024715C2236BEA45F42964ACC022ECC3653C12399FD65095E0E30614D02D8274C63BC4B88F3D11DFEAD0E406B1CFBEC34065059DDCE76327973EF82D5B0A6DB9B3014607207E545BB9650518E4BE41BF9454AC5FBFC984586F6FC5714293ADC8438C897522FE2CC6B1B800BF64381D91ABFB2EF2B7703E337AD631D24498FA36FC948F7B7BD668187CE9D94C396FC322E53F341971F8B79D504289DA46199D7DF841B985D0EBE2F82D9B742A92CD1879CEF6A9FE968F3DD0875F4C172AFC3A289A86DA0F4D03E8E5E27DF20EB1C819B2566A6362A3A202ED318851F218D39364C4C47E5B47E16894B645FCC7A84FF4AE8A075A65237559E69F6F634736129A6783B7C13BFBBBC9E3FBF5F8FE52DCACF563EF41C1E876751206E5FB7CF869F3F6BF382C1E73334F1C05E5F6FE81344B7D5CDF58061775CB3457D7476C3085F9FE620CCA92679B1A5490D1620F613B7E8CE137C2F39BA5CCBCB7C61BCCBD6A024EAA79E58939B7CAEF19348F745A4640D15226C0532F1AC35740AE23CDF1C5F7113725022A7948615A33468A3F2E8450154E4D9DE452D3B9D5368980075858AC06AB9B30FDD432E44EDD9DD3C57281BFB5F4E6822D8BACC2E3512834AF79E0F8E13F8604C6CC838E2BD356BC3224D351187C89CF0A35069C7891BBF9F2E7D6B5D186EC92CA96A17A75B5315CA5ECA94C03767C500B2728E36B7C7C10A39155AF28A8C262152065CB68AE92965F0A0289FBC470FDF712CCE4A03CD0AFA7D9D3DA1E0799177D78C5E87EA5AE6AA1FCF4A514812D0ED0587417F706891CAB158429A326BFDA07F6C3112F7212756E6AED0E548CFD788AEDC7CB0D03D1345B2A28C6D3864EC67360CE237F008A225DE38B3C3D95047D2EA919E47DED2B2B8139CD37D300A5296550A162CAFA5BC0E8014830495487A3C2C4C49282B8E04BB988D744C0C7248AE2003F41CCD44666E06796C60A0E585BB1E10B5CB8D346E58F9843425FA3271B5227D0498AED2906F36D9076B1083BC26FA3F505D908F0B294148C796EE28AAB1191B9F46F5A4950485DBE913B9E22365F0064720E9F096884C0B36D18405F35EC928101ADCC82E3D56DD578B6E81DD0EF2A98DC9416682883522A5F357C36F292EDB5337E0E6B33DB1771EDD2E98CF440A6116EEE24C7EBA0BCFDB2FF1E1C852A6927CD122ED05A2D414C51A56944B3012F5F9EB545B838781C964BED1C55F0B4E36F258F4D0FFD1A01D5CAD9A2ED53DF6A192EE74DF63DF7F6587EB31ED365F58F1666343C33E42D75322FE5857543CAE191B799E312D1EBB8F70DB19F831F136EC11F3FDB80B693CD2D2C2A56A3D5A1F48C63DD691E036387D660EE988885F08E4DB47A72E57C8B16C583A7BA9C13D6F686E6C7164E9119709BEDD892DB2ED244E7325C311E3FFF4827CDE0AC7507DD2D2388BB978C6280AC6E096A12CC8B44C77A5E4B4C79E2CCEB84E24CE7E3046867F2B96AA3DC663A2D66D481F47D81AB487B1A7FB04B6B1443E1EDD6A2C8FA09015BC17CDA3D7A82B9DFA4194094B40353E0B23B1F878C3F3FBA505D7017ED16EF0A0372F1443E81D69DBE1FFF79943AC8B6FA31AABD090733109917730333B86C093D7227DD54FCB590614D8F195922B120904393974560CCC44E225D1740F5590AD873E3093BBB1EAAC54AC77047AFF1B8B1439944B5EC784CE8A4B1A116F7D008C3B23F2F7C9EA10B802B3BD0C57D00BA7D5FCAC12FC3B033C35ECAB30C2563A0143C7B54EBF3B5EE18D800FFEA1A04E92A41754B1B0F7190E9AA0F12F3498625F222DE621EC311186E2299F7F86B4D95E3024B46A58989723ED88AD57B9B9917647F948420FB0CFB24A865610F0650BA773C258DF09D739F73FDA76B12E7B56C1774E62ECBA24A0E00DA25CB890642E49AB6636CE5B2DDB572D6CAA0A9231D163A72D5666FBD466724DE80F7BC67A47F9ED51367164B9F8762B7B4A0CB4E91FEC551427CC9DB52855C6457CAD53599AE416D2E9434AA4AD72D191E162502D9AFD354E8A3BEF8B85A7CA1D52735F5C1AEE0A7F98E3D1D793148F0163E4F8639C07980C9780B025A8F2F78790186BC382B766D8018A1C3F6FC088E14FBAACCD9E97D67CA25938799798F11EDEEFAEC5F96D1782F1073A14B971FB09FCD37BE34D39A6B5E1308F53FF291CD19BBAE6ABB7997836178C074F7181D26931611E1C86E90BA8EF3781C81CA4C93086DD2F4DAABC2F7EF30CED53AAFB90F972B75774CF7D3112CD1CA5BFF8C1B463FDF46AECCEE30A2247E9A2023EC1E3EC21B2250B8E9FE2B4BCCA82C84F0BE24600589F7B9D6BE5BEA4D2AE543D738D0F2B7B086C88E92F7E18B323BEBC44EAEEA26BE12FE32753E3D2064E3DEB7EC9EA4925E69DE6B41E31820D49D6FA8E303DE0FAF1B1FE6C7C23A4E1DCC23BC626C108D5184141D6914C4DBBB15D0A2F55BC2DD4ECBED4C419B9B00A6444D639522600C8F9204B0DE1FCE3B6BE57E5A9B0E3CDE2A45595978FEFAA4008CF74B13CE86DB5C9AF0FF4CE122F60F07069423F5E8C513B5B955D2A5C22B11D4103F9F37AFABD606D50F7976C88FE0F01CACD075F4825615D3B9890F9DFEBE49AB86E60F390ED2D756594E94827A4946172232979665FA8264B7C0CE1D8BFCA203EDBD7D394A9DD06B90D428DA3F7D58F961D3680608AE82A0469BF3B3EADEDD344898240663088B62B6FD38235BC0D391151238963C8061470F07E21D3B7FE3BC6CFC4EFC550E2940872B67322353BDE6025CD6D65C169B9D66748D73B9DE6BF9EDC57DA1D7AA072BB2C35961DF26FC7BC5A4928A4C6A95371B87E03FC52C2A06342959F7A1BBE8961D69FF1704FAB283B4A5BD417A80E45D92727E0547A43AB04A59272EE8B3F6C4495414D00B88AA8A10E22A1A6829DC2B3EA2F9D2A544ADA933FB44251DC6FB814C82B0E2AB1DAD9F8609FE86EBEFA6277A6774C81D4963578D56A49CA1A5B80423A6B1D1735BA3E6C0A0CD4AEC877D9AAEA84245CABA678666CB5C2B48AE671BEFED3ED327188FF20C1A5E44A7E14E4EAA6BE3A01C8A658E37F337F3CC8074D65EB3725595441FE7D66E1321385B2181060EFCD92FDD5A556B8339890884A54EDF0AFE4133123F018E9A27051A9BCD04731E9EAD9233EF0564E162D546319B13FC430B8D434E2DDB069D983CC12BF178983868D34F39F252A8F1F1E827F83A53BD7C04FD83049DAE31E2DF2B5EFB6AB8538D090189A0A95570E3AEDE41E938F4AF84D195458402829BD27759D3A429153A0A8666011A023EC50CFDF765C55ECF05426B872B95FCF281DB662DD8F1689D08EE83BB32241B29765A1BE2D8C9E5342789DA439E7D94A4E6730741182DF1E61E18E5B820D190E46FA461EE4FAF5E797290D3458FE4BA805750AD85679A167718FDC1B35B07645D9E82194659FA4D524327600CBF69E19A76944EE7 +MD = 2597AAB9214E2CA7373C7E7E07B4F24BC9293C50FF226FFED8F02024127DE828 + +Len = 24224 +Msg = 8598B32E7EE9469B6D33247AEB8AFB12D6BDC3EE4AE5A49683E84C73FB353A7BA6FDD95C497F429E82F07B2B652D7E415E9B93B59E541ABF46C88FA54EE068F90764564A11A59F1D04D8B88DE186C4217285B72796D5C0575DAECC30920F6BFDBEA772A7B18339A1E2CCFC79FC8A9839B20A981D5291025F341E5D7ACC1A3BB4129091A5062B9E54BE7ED8AF8196CA7A9ECAF18CCCE4A1D718149809D08A8AC86C9A12E76379F634AC1615AF03ABB9287C4B4A79847B52ED4FA17E1527495362B625155E9F1AA3A3E5D0821240D8360894E19A5620BDBE00A7AF6C40B1E513490671BDBE402379F495C528E218028D315F6EF820C383C83630F7564453F0E2D387273854FA05F4DA7BC24CAB0B71D4092A432CB0854916F71C3B8640CA602547922C9867B002DF7382AF29E4E1B993D1FA74D950063E527DB6CA0B736B8906962412EA1DAE218A0C86AACF51362BB8BCEB3826BC3249F1C5155F0CB50133D0527B98BA21F757F72A9C52D342DE013BB38EA52774A7C012DCC0A58051CDA565FDB45A1F065041BA5FE62D0C46CBB1B9EF7D669BE319D98834786F5532225D26D184ABB38E345C4CDA3FE3B85225D6F6C70AEEC801BB571C5E44D9298F02F632453C14D1C710CDEC5843B7A055817587D790FC589017348DACC18B686BA0EE29D074CFFA70017D972449F4D702C051125FECA48AD3C5F88431789714C90F48EDFC382C28F5D9439B88531B003BE7935A845DCF5EE545A6617A3B05EEEAD89ED5B950EDD0919BEE243EBF5CEF536A0A7C28158BED2F838F494A2E828C580B48D88E216F50492E754275697882C94D1ADD46FE443B766DABE2F9ADA142A5BB1A096D3DBB71FD6B55810EE5B2989745695D4BFA143013F7EA34424833FE09D8966A0B97B62953C4CBCAC86CFC83E14AB36A4D9F8E8CD9010713702E1DB6C27BD0166777E2BDB5268CA388394986683DB83AE0603FA611ACAD587FDFF471718F20F42360FB5C3DE8A3B3FEC068E9DC496F664FDC0C305AE936C7AE560A0568CC509F99AE62C6284F8BF2A2801C39C79295609B622247B9F1F6E0E77AD89FD5449CD9BBB84A523795F579432C19E92B270B6846D72986EF052DEC372B3DB6D8449F3602FBCD662E2DCD4EDCC59E2A6D15E8A41CA7932343981770121A78D34B7400778072C89DE969D0468AC052AE54D6076660C67E47AB93313E9A979D80E05442B4E328E89E798158B747AB237CA577ACBAA07CB85F8AE7B1C9325FE8B269765399EAD37522CDE1F071DC26BBC4D1E7AA8F5F4DD66A861A8F4FA38183B3962B9739341404253C93D7DEC6B454DDBAC9F942F2F78D6F75897E673B9ECACB1579E298B8B9446B11AA43C6BA7511ED9CA831152D3C3EF0EF390A2CE65F4F5F6E177B50C9AF912BA4B4548208571A43D6854A8ED4479D9538456539203D490103DD23BACE095D0BF66C17F2411D514084E047970696400E1BC9CE4898CA62FB358B096DAF8A3857AC398A07882E2201F8CA0E4D1CF0CA4E47BB268A91DBAFA837375384A1BD68F87894AF81BBF1E220C2D3C3B2B93A877CF6A7C253CF660B498D3EFA4F38B9B401816C0AA51FFD3BE9F36AA1D2335F4C079487BE16E532BB0FDF8E00D5D8379C0F617F7148009EC57DAE98CD41AC01D3D0B568E0085775694C74FC339FB5F5A57C274DA07CB4DAE54833BB74B0793E93E8F1B5A7F5A092E90459F2C6B7E7A6F488E3C7AE10AC90C358C5BFD603080A544822B4663AEC1A42D3F16E335047A1C9EF6939C36CC34DAFC9EEDB13E1A9559279866A6D71A97FFD317FBBCD8CF80476D59271136EDEA5A186E7EAB7FC28881C08FAF7C5416EA4801A1EB9E0C883DBDFD5CF0F0C9A619D91481E413A74F01D86BC762F4B05497E20893CD55C0C570CAA3FA00BD537D6373B60D32CA14A36BD2FDB3EAC1344E4052EFE7D1ABCC77480EE433008DEBAF71C9FB7070005D8365AC112F151B374DA141E1FC62B3E40A74F3546BF4F02EA8050B823CF2CD5FD134F10ABC2DB0B9B27F5C0A44E320EFF81A0F7EFD4271BC9D574D6A82FA807B05F3892564D8BF54DB7B81AC87B633C53F8187436C1DF435BA2D16D72353EF7B39CC550CFEC1EC2502902AA6BF4D50563301F0B39A9D201FC02B0C9ACBA147843A5AB0AD15E1FBD9D3880D99779D0FBCD217746AEBACC231A1285927F0BC808B2A52771798A9104792DD0E9C938F66929D30390D16F57591DFED8424792C1A0CFEA7CD2DA90C6C2A80234F3B3500DCEC078BDAE333816CEAABE9B686AD0BB24F65BFCA86222BFC628843BB4D328DA1EA28281D9A3D29E0D7EEB9FE24B33284D73486D8D5F37DF7450409722E828B879B8F7D17AAB002ED2C2FD7F03FA4647F49D4F1B204C0DE0B413C613963A0C3AD0026ADEC9279779A0C7986526F8C9742BAA00C088B6826C2449378F47EB6DB75CFA013BC19106E18D062B0698BA02054D8719F756284191461FDC5D33CF0D15419ABEA010C8BAD6E10B79CC39334FA8789383CA03732E3DE9E454D2944913ED2C74021B7B393B3641448A6233A9EEDE72B8DD5A463E5A2DD7B44128B09C1D256F6942CD7DB74E4893402B6AEC1C01170523BBF33015575FAC4534700E91153370006D829E4B76216B940F1945FED31378800BAE385A54C4D32DD7A960E8B2ED1E34FE8DB1CBC7D1E7A86847A69FF5FABD40B0E9191E426843FB79A1DEE7DD0BAE4C55E58F322A4F6586220B0A5D483E70F998B10656D1F56FE911CFB0D1CF9CE1A24C4B0D4F19A04129DDA063FE17CB8F00CF9D516D44BA0D1AF9AC23BEE55CA307FE69F6D1753ACE1B1893DCB455934F73485CA3D8C141B56CC8039BA3CF7F29DC680531FACF117BD0F6D10BE295426E18167A33D22A83B416DD1B848B558A944B168A2BB11BDE0C55F9F9B965745B0E8E367FCDC57030140B87B88613D5EC8136675FB3CD0DBD2035F1A72844EAC0C2394F2C4546674BDA13163370B1E3D623FF301780F06D1348E99C1386411DD152FF4255E869DB6E3187E736F7015AB4B8D72B45A22B0F4F3F05FFA703C3B576B376FEC2AA142E68BD1B5285C138AFEE111987A100BF56DAC66217C6CC3AA1F15B49942C9C3C00749E2CD78A0438444165E72DAE65B1BCE985325E341E2736F11EA5AF9C8D00C4DD1C1523A09603374AC32AAEF82BA4062A0CD93790C99595B9A82205FB5F968098E219002FB84CD587DD68F9BE290BC4752A5D9DFC864EA1BB67878C97147CF547DA959EE3CA1C433B72868527744D29BFCD2E323530A6547389978BC2315D5B34BE3632B641429CDF9355C48BE23AD6591581C706A0CD25793015D9D88887806C2FE8504B0ED19EE74B75627074A7124DC01F0D337F52044BDA1B0E057470ED886126A8A8B4BEBE21EDC21D6E3B9BDF88872777787EC42E9813F753CC776BFDE50CDEA090E5F6945F242EFE0A776DC42DE1B442E510AB87B08D97A56399D171BDE5F7461517F04B9B50C3C42824C301955EB9287756C30BAB6BE7531989BFC552272FAA237B1099C78F8EF3F78121B61BB2690C1728DD0300D1299439CB99D906C357672112A1EA35F83E9144F51F92DCACFB9285C75C73E2381433CDF39327A8B2D130CA2A73F5A769B00A85855AE967089AC941A5F1B535EA5B3C68D01AF72F692B700F6604FBEE54511973269984FD1744169A33029FBE76A43647F9A3119063065DCF3456CC75F74C5B9E17DBEB8CDACF9CDB5503687509E4B514BC1F9F90B4E17F167CC426F956602FB42C640133D7DAF0227A48DCF22885F58EA87FEB44CC4E67209116DC9E6008F2BC7A04045B9A0EF3EBDDC3AEAEB776CF63ADC4DE7F091FEA139EFC268FE243F1902434EED5A8D47F391BDEB52E4A4918AC40CB56C8A73CC0F89A643E6135361D098D9E4682D2526FF2848B8FA0DAA79573BF06FAD2D61381CE071BD8A71147B9164E6F8361A94BFA34F1E58CA8D44A806629F811148051F0CE620B3C4FF8F094C9EF5ECD24C0C61090BF4C8C6C99247557361AE4228E8ADD6831BC67D6FF9C0247BD896E150281598F1097594919070B971C23F4EDBF87871EA88A15420302968B01663366DAD4BE0DCEA375111BEBACC333723F17C2F36CAC75B9A890F34D4BF0BE5B943BB3DCA5C897BE3773818D6E784D733021AA07106F369BCA543EBC7E9BBECE36AE8335967DDCC28EE49B5869C1A212EC3D4EC5214A90D656BB87E62F7B25EABE97D0066C69963C73628AEAA32A3FCF443B29EF1EE389736CBBDF99FC7E1B77D40F651AE35881D2FF43E7D4A13A56E8DD +MD = 3F3D3AFAF6173DC5A3811ADD409FF25301029CC0BCBDE4C70D21ECB5872C1C12 + +Len = 24728 +Msg = D339611E4D57F858A0B749088D129CF1258C2035EE049D5F47816C0B82D640458C8FFA131AFDA45BEF3105DD60469A70EACD18EE594CCBAC487D94085E957F8A82086ECBDFCABB8ACEDA5120A7E15A12577985DEF9CED321A1C8D350255CCE7D336825484C86F9DD1823565D2624982516A6027A21FBA2702571CDC05C514F6B9A7138AB8A441D805FD37BDAFEEEE30159130EE5F90C90DE030F9A904E6D2A03CDBBE241F0430FA813A251D44643C04C4BEF5D07273C9237F70530C30CB269D7E7B6E7F10831069EEE541D5EF986CCF0E1E870564FE558BC1C219DD870AF2870321AB62DEC23118B77D16418465B54EF71A68DD17E2A0AD16E31B618191577BCAA5C29C2F36C2B56DC932EF2F8EF641118FA3A78B65B5604E0913A48539C4B26F0B5E73F77DE1D6D86EBE0038C7883C2F69C0FF462907DC3B85CCBD87B85B0678139297AA478F03A588C6CD9BACF2D5CB5540C066A5D52889BC370A08ACE06953C2398E92E2A6AA11616B40927C42203326B3888CECB70F7425C1038E57D6D3BB19BB643704F83AE6A55FE8B3234DC25175D243FFD7E16BC5CB84E8579E619CF699B54BF98890C0563C424477B5B18E59314999FBC4C13D2866DBEDD9836C11A62C4E1E5199BDA93D2C90483A4FC3590BF66472BB8B1F499DBF94A56D8A2D27F9607B019228ACC75F8DA8F3F9A24EA0FBEF55CBE6C3B55506AE4FED8499543B0F04BBA76F7F164F31DFC7681051EF05B32846933CE4C1261659D6C414BDFF597AF14D01D73D4F3270DB309B8E8B62001EA17B35BB7B7CC7CBBFCDC846A3D19929B7FED5693089A3F81A467A539BE1CEBCCEBFB5B384CD025EB2DEDF5C4390F607F7C9EE3EF273D7270E5150A241ABEB97B678CA3808F318DA5E38F6842A2A3C09CDF25C8D093CAEE7C5ADBAB436B8DA15AE3FE3F0B84AB2B43CF1CF9AE3C0D44770282B6F1CC1CD7E82D195BE2A5E5AF40735449F6948C7037F6E1733189984B4D1DA1F0BBCBAB8373C3A9A3C0DAE236768883634EB42E574525264403E90A503A7D890530834B4701ADC1A9C6B953981B9581721AE37AB01CFC2B9571F2D65D4E35F3381F7F05F2CDA160ED6143E25C6D9D2AD6DC9B3F69ED693A325110F49192E169AB5EED6BE88A3E0BE03D1FA29FC002335979971C16F096BDDC4D88EB2300BA514B167D4A9DCB353D7AB0C3DB7AD991415DA362275D3264360D0568BC5B60B5EBCDAA5BD62EDB040C6583A9B997D9838479A508F79E9ACAAFA63F90660FB0C0D0EECAA72BDE7FC7AB4B77D29C210FE6AEBC6ABEEC7F201C8C64CB306AEED1110768B3360B8B2F30F8D1D2C1EE7B5DFCFD5D56515F3F617DEC24F56C4FBE6604597EDACB6A42F9447BAC63C53B54010B5AD6F3A5A8C37F89CD345DEF631450C2B491E7AD6436F6F923A0CEC85A76FB04C0B559A6972284145954EC82CF84B0637E4BA11B3F8BD68DC125EB5693A3ED2CB3A62959CBF41C9409D84F2AC9264E99FF695443FFE689464B349B299AB240D542B29CEDEA37F2221B5444B92616386A2BC74414395B97EBD3DF78C583234883AF5C7907CD68BA81E19AE616B4950326E526CDEC80443497B1BC42CBC4111573D39ED236323A8EAB36AB7DD45D65DBBB9F5F7D657CCF944F00CED4F12817DE3D031960BC334ED3F864643737B2641C6F392A4A60527252272E1334BCED47637DCE95292A8E4273CBA03E17E16670225C2E2733D7858E2C7D9DA6E14333F2917C6DF92F233ACB60553BEDC68DA7A99F18C2D3854FEC8C0706980C5DDAC1174BEFAD6A7DA03DC1DF372CAED2B7B5625EEFE93D6419494C3DD1890113E190719ABC2B695F7F2AACCD372EF78181C428F19918BC2E2CC16FD97F1AEF7E4FC3297578E0BE19B8B2CE6DDFA200E593692EFA8B11FB5A55919393B98A2FE31BF7B80701B67430F1B33911AF41504B2C3CD000E3EAE148014C451D166C47B6FE8266F44E62ED7515C6F30511743143485982C3245332FE19890FC8E7DB99791A36E77ABFAFBD0B65CDD861EEFF1F29E142DF903E723B2EC3B4A4FFF8C5B4F3F4377E3837CF134D742D46EF148C986DD161A939482FDF40D4BB4A4231B7D5648E2DBD8A9D8516C6BDA0A370FA53620D5255341830B84C751E31B8E17F3FCE027906AFCC2AE7E5E104A1109E86FB20897E3109D07E700C13E6FFA7016EAD35969245A16BE032CADA0F2327844DFB3B45D9B3E9E309A98DD927C5E75AED3270714041E35A703C3EA7C10348FE521CFCDFB7C02EA9E123B267C22F091A4B98473330E93A362C358F92519F9F42B0E6D2AAFA0538EC32AF4A52358EFE45B59A9AC05CF4D6D82AF2B88BBF327D3EE61A4F341178BAD4B228CA86D9CEFFB459C64EF12E5C5339471054FE09DE0933595C2B1A5CD98581675DFA0B9C04DB65DDCF452C49D720C0876BE88E9D7232737865C598A5D20862D749D3807A7F052F4FC0E0961FF314DF69829B3A3085148A818B0F53840B92EBBA0266A42719D49902775B72D15162B1643F80993393A9280A99E72ACA1FC8B2F8454E566BC79CD9075FE091F5EDB4EB0DA5E0DC5C4ED85A8FC3997389D235CB5436E9A8AED1D4604575834C1EB2FCF1378E465F77CF037503639482A285A9D0B476CB9DDFFC0B82E64BBD175538C2647382D2D7587225C845D8C14F3874C1456205071C0C0B3965FE30E9CE3B616E4DE78B3953A9EC525E43CEEACC0C303C6400CB4D52FDFD142376075D26AC1123EC4CFBF82E77CB04EFC09CC95601B14681C90A7B0840EFC819613AA06FAFE2DAB4B036951F82579A02EFEFD08DF0EEEFD2146080734961725B6E917739FB80DEB9B8BB6DCE39E20372CCC079ADD9030799061EF1F011699445570EF0CB963483099EB17F22226698DEB110495C159EB63DA750D231E78C4A7C734941E443AF7F2B5A3A06CC5334EF76743FCBE8EDD3939ABD48CE32A03DD59D2553BA408B444D9599C2358443294C406D03D86A23F872992A1C455027AA4D7EA35AFCE35AF0A40A8B58CE2C149C00ED49DDFBF01F1EFBAD3DB59D2214B795C7F78229889DA77C4A4FAAB944EBB033A045156AAEB5B457BA7FE0A970FAC195EF5D206E28FF9151310CC91937FC33E61A50755AB1C109E4DD87DC511964F970784BC3019AFCF015C6EBADD5C4C32256311E8996FAB7DC3945CD87D55FC9C851E863DAD371D6E9D69157C5040BD702F828C088C5A8E4E35ED19E8731EB9ADDC7D31EDEB95E2FA57EC514D97FE5914264DD0016BB430FDD7DCD5A161732802963BEC1549E5CD5151CE9C8BD46B26F441CB68BBC9DCC08C139DD9ADAC1A158B5F9E54D2C20F01AE66BE788C10067C60E088FDCF828F7BE908D863604E19F318389E5AC148237E11BE711FF432869C5A9082E5FD9FD24C39E57863D63BD85D5B78C6329C6649F562324398C21CECA17CC78750AE9ADAB612CA3BD0AB6FFAA9F230637927DA9DEC3077AB6F425D21EE971A0744732F39ED82F6B06F1E84CD777F1910A9290A66C77264E484693108D973A25908A9701C414920CB0E3B82A74D1EA8304E8594C777290CD32864738C657BDBBD57EDF42EC9A2F522CE911C1378275AD43889CC26E9A3818987FF0671A7A94573C013EEEBDFCFAB5D9BB405D05B66EB641C976A4233169A46338895467F36F9FE7FC1CB3EAB830F46F261252AAC0492C0699443303949530687533CD09CBFF09DCC8F12A49E892A47AB0A2BFFE1B7A493BFD66D9E4822598781BB8A94A4D7D63D77C8F1B4112F89CA215DECB610F1339184F8CF66BB59169553013276472BBF7753A7EAB046F55E720C0B235407748B8CFA07E748808875A896661A54DDE939E0D64CB3031A4D48D565E24A56AE117ECFEB27928E42C06614B4327B9261BE4AB24169B26F9A7A463A42F0ADA305359314E7D48993EBFE46FED1EF6F65F733483B883B72DEEFD5AE803A0CBCE91E5161090DA188C475B38379FA2CB191D0C172E966376FC8C7A5EF4263949D75A955EE94E0391E70CE04C61D3F4F49CC5F1774515F01BA6CF83BEA9BDFB7F158F6CED3BC33BEFFACB80BA3767E476F3180C392F17DE1F72719466B4E814D7570C9B08EB3F053D728E5EFA2C28AEB4FA557A2C809E357F9CCAB21F4E9FC3291CEE7CCDE2EDF7B086F844B531C6D6D5744AB2C3FA2795A7C2B26A3FDE44AC46738972D374E534D1972322D4DC8B349FDD5D3AEE827BC4DE6DED715B87F1A26FE09FA12A495919997E07E75E268899D599BE0FC699433619D73C63B34A377F6CD511D095DA8ED29A9FA86944B3795BB69FB8F51FBC34D07809DEC6FC646BA63BA48322717A1EE01EC9B1CADCE556B07E943F619A073FAEC003ECFA657D7C0086631F41909BFDDAAE09054948934225A3 +MD = A60377B7DCB5E0233285FDA3A54E5B91119380A8251AF2F4C216DA3363754E11 + +Len = 25232 +Msg = 93B7161E99FDEE38713376A69FC4BCCC66C092CF4AC5B71C350089253CD17E7DB28A41490A354221017995ABBAECB67A2A989D81984F34D021FFF364E8D18FA58EF3DF090726DE7820F598DE625F90F10007F62C09F3E79EB21E847D28A8869EB217300CB4014AA83D7D7AC6DBB9ACB1E19A2BC76291527C571EF593B509AAB454F20BDCA4ABCD337B5087BA30BF4A87A936F400A13D4C455E60146596577C309FF25C22489D3D51A4BF1CEAC5B8E20A70C541922B78EED7F2C3C2DE6809D474237FF6B9221B6A20CC7046BD7A292A4A7E1ADB16B21DA6812422F0A2932494DA0DA8EAFC50260EDCE61D506F0F9DECE624E9B5C6EC555963D5F65BF5F978E441955B0276F156202C67ABAB3EA79013428DDFD880D861DF4E7A1BFFCEE619D04C0863B2D675DE97642B44FE7114C845B51E57306B2D0072DADA8673C0C056ECAF4B486653A6DCC00F337F1ACAB6B9B2D665B1A5BFEE45A754711D45C9AC63366C15143F89A5D32DE03C244CCF831C95A97D44C2BAEF5C90D8752E2CACCC11316E1B78E0F1C4B5B0A43871C784CF5D977058EF4CCA06172D6081996963F3DA127076493322D9BF39580F096A44169C9A93DD7C84A6AAF105270DB387990CA1BE0094BB28AD741DCB4295B16AF18C97E15A61AEC12E108D61D5F27215DC24DFA8B09CE5E35F61B230961727EDDBB907F69EA3988EA95F73299E4F3CBAB4A6506F0B4E083EDA4A24A7C309D4785AA1F2B1D63B0B021E3D7227AFBB6662C3E61586CBE8ACA227C61BD34EF7B7346F1E99DA9588DEB49BBA8A839A7D4CFBA9CF43A7B2EE85A97E3754EB9D1C7309BA8FCADD45641ACA4AE0612A9AC6872CCE7B6EC5493CCB45593017E6F918493B6882BA66FE8F96DA93D71CE4C435E405C44F4B67DEC0F896DA961F7BED7849580F3C88DD156EB8E31E7E325CABC1BC4F58E83BCF8E6204DAD75853788F121D9161427A435B06F08507258931FD7C36D39B4868DC575A70062168203D8BDD6067B458EB25AA5EC8AABBF9B1198DF0AECFCDA206DEE2DC4EE5721680CA364464A9E7EDD29608A3C6A2677A6492A549446E534E9A66C99B469F5DCC14D9148E280B39FEF77AFC6D97A48F194544A285DBF1B1D4DABE9E120E77774AD505DA0834E55D3E76FEB4F61779B86B883D6B3900B9DA38F3BC92E03643E7E0C7162B79FC6247C3F887E9C4F763B1F544504FE1C2D4A95BE2158A31FBB515431BE2B954275C706F3A3ED2B6A6A9705960C868271D0F3FE52D711BF377746F28F7BC1FEED6BF7DF64ABB5C61E3DEE6DDAB1FFA938EE21EA45CEAEC5F064F8436942BB48952E370C35A4DCFA8D73D9C75ADF8F3AF1D6FB98627258D96A63A398D90FDAA7F5C779DC8FD9733E432AC542BDD3995E5AC335EE30317A40D02FDC34720B84F253471654A709752D9ED2EA3DB089A05A579A9299DF1F4FE63780CBCEECE5E21B236368EAC7016890B533BF94B0E0EAB0D74D9BC9CB209840503B237821D03B71BC922FB4B74441CB8EEA845D6703525065395B6A72D47F901D052662465C48C1100C88A0A06799B4076B07704D65675FC3B52F1D0FD99E470B3209C6A90949ADE31AEB6272E94FB53398F0F289158FBBDAECB5CFEDE549D1BABD7E34A3BA9939331FF19A5CCDD53BB38D89A5B9255C0051B7392ED07B0D755E04B517934DC3FB6BFB9331198ED285B40A4B4388BA2E7C002C47A37C0B68BFDD72B61770DAEC39A9A01391D839B84AF6B71071CEFE6660C585372B3C6F9F735536ED0DFDA55F5F352768F716C4F6D412139A47B4304E5FDDA714C5E14F16187B9D8ACE53F6D3DD222985F8BC14EEABC1BA8EF7E0B68535DC50BC2E0322942FDF1233EF9CF4DBEBE205FC5E4604889BCA0F95381C11BADC6A3FFC71D7B28F0603EC720E7F8FB60ED463E72DE159AF0D49618E3DF16AFE272DD628106E3FE4DD198C685B6487060ECBB0E69DF995EA97E37A79789F147FC032B399889045623821473FD4D6CDB454C7B468D26EFBEA0DA4BBA85D993666560E1FAF8C09C2EC33EDB379245D8A5D261BAA60A6F367A517C2EA1CDF877AE2641ED22BB3C8A05A7FE287632C85230A41C44D9663D3008DF8E897E13970E3F013AB2F59A7AAE3BC50D28152E84EF607B1F1908812FDD0DA3285D982DD7C21C7673F93A3240CD01ACC88F6D70B958F89FC468550B6DDEBE8F3BC2E5C16FA9E3274668C3C54884412A55DD1EB3E81AB818696A7624705BF515E6B1EFB1D5CD504B6A733BC746661C5AB80CA5D9F5694B4E1DD664C41952BC1835E23087A61C050B328DE9CCBFC88BFF0CA64FBFF092EA7E61EF4A61232AD30378053CC59CE77C6BD262AD080342A4578E4EC21D338C717C567106482D1101EBC30669912D6B1FD3D1A2D1302D94BB8F442296C0A6377A90BD6CF627B7923BE4916F7442559B2964A70CE3B7F18A032DC0DD8F4C2503D6007FF7FBFB45F2F4CB61EFA79C74B301BD7C674D8CD5AFA38002744D5669D8F52F67A8783363B015092587DB9EC4F25329382D426AB9CA2731C8C2BED242E0D736F18D68BA906D5EFCF8845BCA9E006212C789355ABD40033D32BEF40E43123DA1B560D19BE7B2BEDEB3165A27FAF5AD3C8F8A6CBF1B2CD385F624E52F7E0635D6F203B04FAAC9604A44219C963C902B205D3449E9445223E9494FD4F6BC2CB3EADBD769C30FC39F62DF0B4541FCED20F96DDE4420188C808DA36D7F252D8D15D2CBFDD9D146A2C3C9EBDF4E7F16A3CE9D7EBBECF6E34F36AD52FBD7A4A90A708380D8C9AF17C14202470E61962AE1305789E4DACE05218836CCE567153C8509796DE7F6C59C61843F31ADCA02B0AC1483224B675DD3123CE720FBFCDF6F10E3C20D5343F63BD2D95C4FEAE809B2A2D7E30501E8361A1A3BDD4ACA01E9D10969C07355133680DF2FCE122E4395A3692A972FDB4AA1EDA5987539B19359C459C27ABEE0C0BDFAA7A3776B41147C61BC38916B74CBC6DCCA587DA2CDD6732C7BF1355CF182CD2FA3317F8DC49123442529E9D0042633AE5DD667248EFB1D85D6351A625975433B6D51F7B70CADAB215BCBEAA4CC5ABD3371568109DD1F7A8339EEBC1D11E3A77280BC445B3FFF984A53AA3DC3C96BE75AB26BB4C13DA4960F7CEB17EF36443149E00FE7041A83BE6DBAB71A627E1368FEBB0F98F710D560986D5A896FB9125BCC19D397661A10D27A65BCAED95CFC3A31F917CA9395CDC25C17AA3E1AC0D7043B41D49957FC93237EF22E0AE7791BDD30369AF5CAF672C4323EEAF53360341D046B69743BF7D8C34DE2791321372590B724B00279575CB44F41A5FD661868A7F7F7A4E035E9C3A2889A58063C65CC41FACC1E576D32BC02704610A9C15ED0F45DD4F365FB8157FF08E7CBE7585E314581750B5694CFB382FA16340EE7350F240E277EEB71E4CCE7CC9DF58DEDC7696120AA77FD8E6BFAE758CADBFD97ED29F8F0E62F4B142F1CBD43C8F9F4EBAB25B0359F9BA02E371A25F9573F1C773F86E53D7548D49F190FB7BF31FC726AA59E89D31039322EE53E203B476F5F32D68C2BEB6EC38DD9901434B877408DBBE8B3A88C2ED7F9445CF2AE091C85E4273F0FB7745BC693648FBAE3A4C76726E95F20A7FE1EDD8E43BF8CBC12379A7CC640D485BDD4747399BA5C206E1D224CEDC95617BCC204CBF8C2DB0E2C4F269644E3CCFC3D43A896B473A1E1BEA155CDB202036E5749C11C981FD80FE00E8EA85AE04A94500891AE660F09655AB9610CB51C7E80F2A7E638B269672A98266F9A358D51F937E5FC7E9BF5D89AFE8F5AEBC93750F6C1C5F5FAB800A17101FE7AD6E85B4BB79E0741AFF6418ED4B6C9C2772704FAADF6951F17CD76F518BC9E7A77FFEEE4748D8043D39699A46358580B639F9362EA1ACC6279590F9B691CE17DB4AC835D9874710BC3BCF0C18DB6B48B62549531C136AB0B8D756B08F9BC36AA13125569370DFFCC6C80E6F6388D1F465E0395E144FFD7A7F7CE081AD99C59D89440171A9E8CD606BFCD17567FF3FE63BE15794EC3B551E42A2286FFFEAF49D9096E63B75B1F75003FFE04475520B640E77E8D8738E155C457AC62DECEE08ABD4AF348402395BB6D579D7B840EEB95E186CE206C1A85270A9E541876BB10D560C3AE4A0E5E9BABB8B8841EA363EF8EE403B302490E5CF513796AE5092C7C9881A65064FC13B73A4756B886B8F016CF1D997686199AC24A21719AB293BA227E61EE8BD60A37384B5568455402665AF11D3D5D3FF941C1FE17CF490691BBDD74A205EF6E4E10AFD357F5546DEB185422882535CEF88A1C8A74BDC7DD722A9BD9DB55B80C2F6CF11AC6E381164B6FBA41ECBB33AF31278A19D6F20104D04011C2A2287D7597DBDA5FAFDF63584EDC3739674F2BDBC9012E0B7741F4C884CA742F7D5CEBB594AD7F55826EE85E3C06CC77686CBCDA0800FB4B08569D1D8F396BFCA7CF61FFBD3911B444E1C603 +MD = A93287952DBF8598D69D817770558330C5DAE87C12688248E700314EE789628B + +Len = 25736 +Msg = 858EF34C28B8939BFB4644D1E458A67A034B9AF9F82DB786892D81C343D27B96EE49CFFBF2C3419EB11EFAEB9F8D0410B0EB688156654A8E32EE2A570C5A88007656A18380DF33F7756A6004766A6B96BB27A741057A7A0E22D732D797C488EB613F179DC3F1094B2B5C8E5A34BD57F26DE85E234FD894A2D276E8F31D0F7F23E570A0A4E13BDB635CC8897282A1AE00CB0C8F04124EDC6EDE1404272F1BFDF55AB2A0B3D5B3534A4C01CB0E1D5750EE71328FE3DACCE5420344108996B6DE1A443834B6BADFE616534EAAEA32681D57A2E41C77173D6DC0751DA26A17731B01833AD0B9C4D3B48BA23773AA6D2BB7029377F453484A44E6734A3ACB3725FFBA0547F1045F18BACB1E9C9C801759B9A16209F0158A4E8F21CCA9112FDE82388CF1FE58ADFA1F684C3158935EDF9388B42AC0E5B3B68E6E6A4D4476C4EAC78F166EC5FA464B565D481F57A9D263BAB7A1FED05D737974C4F7BDAF2CE5BA40B2A993E867E5844C7750014E66BCC5BBF5E500402529DDABF1EA2E395DB084C4BB85766FDA993B547788FCEF35381FB16AF0965A08EE5CBB4D68C934785594B37F78E76A6558AEE73E570E40CCC889B0D5269756BC40897EC0C2D6C33A33B1897AEF297F377CB58A7A1A389EA60F4B5F25D1305D046E48D5BFB1083A82C5AEED09208FF83076367156B9071BEAB5AA12D9DCA9F8AA093872C4C95B84CDBB0B84ABBB03F33B63A7C603D723DD9970524548E61F3804B7A914852AE55D377E25A8431B1E7CE78F1294664925D62B7D8CA3C880C4AC80E92F8E86554BCAFCD39CA44CAC017F4C4550BE119EBDEC7AEECCD527EFB478348425FC3668141607D14DFAC90451B2996DD46B23683210916B90E63EA2A4A006BF72C4DBB6ABF3D0505379C5B360966A25471E658EE24CABCEBB5C6ED5F8DCCC84614D64BCA54F35189F579C170F2A2B773AADFCF3C1C435885D0ADE7121A4D2FCC96AFA88DF6EA2C519A98AB279E9F75400AB053D457ED3FF957C20F282BD121EF67F53053FB4963D08F70EB287E011DFD015CFE492ADCB927BB80093545014736A12E236569ECC3453350A5E57D50B1BBCA5C8A01A946248370CDE6177D7B8C84F11EABAB0C3A5CE654FF85783EE8EEFEAB58451CE73E164A9DF47DCDC9ED24B0F7A87E0ECD1A3DD15E6D656B8945F096492EC72C0B51D13613B3134C3E31CD1A3093B8023649C1B3A3EE8A09E5A8D612A91B4B14646E22D575CC09348A5A58E0F9B641037D7B63D32B40EA5FC16C55A0875F3E64F25CA97F2A70DA0F4567C9626030B5B8463D8A55C34665481F2FC308D2B87111D23B1B6CA96013FF033B23216C27C9D2E1222DEE25B295E180CB6EB9BBF72F59AEC070AC809A79B3306E0BDB701521D4DE1D755F75EEAD5D79A72DCA55B6E25FD10C4EC68BC5C585AA1C392DA26BE5DCB75CF2FF4B31C3C578F9708191F59D04C2E00ABEABC6B217D89BA9BCD0CBE76E72E316A4C7F18AF642D9FAF3E76A6E4F4F5E80E1252E52F996DDEA279BAE6D88EF866AE6F3D77E0E105111D04D4145F09691925CEFC2A8DF96F0D340AC86C0B48EF5D18EC1DF59748BF5F261580ACDC4F58CDD2C2649E4B357872DD982D9FCB59916037A8247C6E374F0CEA924A25ED9A0B5DC15DA9AEECA8A9A9DE9811E1DCC4F05357867871B959AC9E1D3C4AA2633C9445AA2239D02E9E5C7D22FEBA47E7A0332F025E83DA06EAA82F30ADBFC8E1167391C6F3FA82B87857DEEC2F39D08D4AA3BA59E1598B54D665BA68438FC7493B351AB54B907A80945FEDA0ED5ABAC57584182E40CD4C8B48F61987A07AE6FF6196E5435324B3546F7712BF453A1F31CAC5778F94647B656DCB4FDD8B58AD3645FA1D54FA7D8EA1B627F65D68D40B9256778B46950CC2D1E4C3313D542105A3476A7AE2E51877254BD756E7FB55A55526A32B78C95ABD169DA1929CB3A1A098D246F029AF5DCD0BED4546B2559A6A4739396C2E222C77CC4D3AB47262CBE363465CCB3223452A35B91C15D4F2822FD75A91A191ED0B19EF0D4689A2F793D31607DDFAB5FE0292EB3126C6729B37BDF4EEF808A1A715982BEB2F9D6AD6571D2346AC4CC75374B4641A2BE62140DCEF6A105EB3AA593207DE595C439C8E94E8596F8D995690813B897F150670374DFD9BA0588C7AB7603958565BC31C274ED42DA1BA94372EBE0B4F08611DFE26127E7D05AFF7B9DE63B360B8C3E79B0057F92B40348C4A6CF8C238BDD33C204926C342170D9C15DC3D69C7E61F2A94807A4B84D04DF599411C11DEEBEAC243681FDEC8BE382EEEADEDF61F728646FDF9A421EA231FBBDE6613DE7A4F7BDA125AF5DF1149ACCAAABE2C2A01841D24E165AE76808CA9AF94EFFB1CF3B1E31C765559AEFEFDCCE122BDFE567E67C970E6B40B468DA0AD6B82BACCCDCB293722450AEAAE801A342ADC7F1F443D9935F5D438A16361A087228C2E26C12CB59BC98774CBDD9B49B2A065C8A767334CF16DD2717CF45A0C8EDE97B4F4FAF99ACB013B5E0079F2B3A6A2CB82B611DC7818221A679C007377EDBB9FD0A2000B32C6A17E1B0BE9B91208EDD3E417E631C2E6D23DFA763FD792972F9A9B1C8FA42F0AF5297EB49B0776BAB810B6856E0175EB1B87EC83CD2CD12E2C5C1610E1EEBE9E665A6C3467B870A1574E6F2CFC865687515D8A35F5E90D85138C3D2C9823696E25317B1BA5B0BE623FDC6CAA1041374D398578167F4352F315AE9DB4255A32EE4910F2742633D79D5B5F105ADB63B0A3D776350B8574477E572EFDCA09574445ECE8DD6382FC21D7B9D68B3A4BFCA158DF4A7AA4CC1C0DA1016C364C9FDC62ABC991A3504EABB590809B2D41E4D51CCBB0E92E8752A4C0F72E74CA7E45EB1968191D564D813131DB2B321279FE7A104ABC6E33FFACC553D0A62D69ED3CB67798BF8E927D4DB02A35334E9466052858E6828E0C28540880742ED54923BAAB85922E05E0B66EEB401453C82D5B4D7FF25297C1F9F1358BCFEB5D5294773DE203D7F2FF9FAD19FEDCE6C12896C1AE44ABE0905EA80D24BCAAD927AAFC6AFD48DDE526F3DDF4E6CF94EABB9E99CA6852360DF3DD2BFC7907E42A35744BA720FB0F366EEDAA8E86E44059F64B384E296F00ACFB469472AD01232E4A4833D11A2CF097C75492E2AA1FD7E425082195BF43F4CEF3B3477D16B606866F1AA62644F1A31119B9BC787ECF70686468A96AFCCE82625C860CEBE802C270605EA003B2B40124E8CA4EBC78A9CE226CBB3AE74A7FC829F53A51D925038CE9A3D3681CD50DC463AC3488C981DBB0ED6E4BE127CD3AEC473765C2AA762611A641848022E33AE6B5A1BD57D17221D172A1775AC54DAE58A1B0E21C54853BA59BA46CCE0C62399A547DE37557FF4B6694B86FEFE062AF6EFCC103C4A1A2BD06700E8769E4C70641011E5424C2A2F0A6A2C8EF989774FD59C0800EB0CB19EDB51B69E88BF4FAEA43F5C2C2818F9B95E27BC68F60BFBBBCDC778C6F6B116333DBC17DD352E2E97BFB5E33EBE9B3E518F93E86067E75F064A714DB634E37CE71D4BAD65FE2BBF326EA2793C87CB44572C965AD6598312BD9838DFA8E1B599CCB8701DCB397E8466A8524B568E77BE95CB96C79A64DC180A736A6D996EEB896DCD9D9AAA8B6A4A9AEEE6F213DF1A071F6F309C1ABAD52FD477F6F707F876F40EBFF3530195EC39887E3D764488EC4C7618FFBE79265EEE08CB809CDBD0F7D38A8A2D292822661C2273D8270D1E0B2BDA7DBF1362349A9206BA25C0DC1C668B39DB7724E29050618E43BBA05F50F202D9A026894EB20FEE7D6FCBB22D7DE3EB89EEFF428AAA1B3F18A9847FD5FCFE6AFB9EAD2C864E0DB5C0C7533E574CFCBD82F14DB20F851979722277AEB0EF579802336C90D3BE78B47DED5C829E83956FC9587ACD1B0157918C4A1DB3676E4001F068128CD4C4511385F4AC39EBC687AEEE6EC7D7535391062191F86B4A2F1818E6D1DDBB24E1E7CF743E399106AA1C39E52AD7EC2BE7BDFB32B54E923D50EF8AD4EBC6A80C65614EEA4AA5D07F48FC597A29EE20026DEF2F300C7D3CA727E8857A098A0FB22F2C6757268E390F839BE20D459830A9E3DAC71EF418215D9B89BA559A80341E1590DC964B8A6ABA07FAAE4A9AD8E5969E9471D53E4DA76889AF5F9923B18BB584D71E30231E0EBFD9FA4891AF34007C1235A9CFB2B0DB0EFC1A5417CBD53F694C6F3882E8553A0E01F7AE34C24439A97DEEACE8BDD2F59515DE0760589FF6230D602BE3893D27E34DCECCE7B8E310D87790FFF49AE5B530FDFDFF71E61BE2E1B90D4204194EFD263D1CCFF4584938C06666B0AB675A6CC5CA0C6578851730E281C107B58A27099647541CB2B9C46626662451137BE1B34438ED825C45628D7DD49303770BC3330E5E98E9ADA7A1CCB694EE5E00B27F7A5AA000D1D9D1F7614532BA4B8AB8A92367B6946247B5F69F870DE10775325C65ADE56A7D063757371739E053E971179D2BB6517C7D9F8EF37A78DD3B9D15C9D2F021D4B81FFE9437353A965D79B82177B6798A70EF8511D27FFF215B741B9 +MD = C8D65566E346B9D8D5EE750C13457D0D5B18223B5A92E3A5421DD15B3349FEEF + +Len = 26240 +Msg = AE82EF09B711951F6082B1BDC5B175C81010E398B8F3B18F5AB99F78CB53A5F953BE09C98BD9723740C7A4E6D26A64AA62C6973F60DA560E14EED63D001F6E281701773C34A41260A2AE675DE543F2BF2FEEA4B17EBD928AAD65A17F7FBC4B7570FEFCA804956D4D9353937C3FAA15516C8FC140EE8F91F2711E3AC0879A1D3CF7AF7963CF82E08EEE05D3D913D2B7E568CAB7655A8BC5436193641D76F7443BEF83D5F468D84C80B8D37250F06B37781EFC0D885BC7358A2B90FDD5CBA3DFDD0C57B8F66750167546494E31BB751A9E08E209952DC1EFAA2B1210E69D974454EF55952E35CA7F40CDE944C665D9585580C70B8FCFF5BBB5635F5D8D549356F48D4B5F173C541CFC00C3F42695541CB778440F64EDEA6D0AC8DFD38023C7A013FDC28AB3C57FAD938937CBCFBCD941D315E751465428B82200B75B3AEC1776C18015AA39E25E162ADB0AE24C19609F365F45BBB8190FABDEBFA042076FCB0F2CBA3BF258F6FEEEBE3823BEBD9DBA95CDE03697D6722A3A64B926311EC03E6B56EA047D2F5C28730CE7B560FDE8EBFB1BA74AA1CD2E57A12847BF510C9B16AEF0C25AE397DD6022CEB1902C8ED2E24054875B5C0C9E6BE87E9F40C99B85F90A4779C109130F0236D1C129DC2962BB57479E65BC99D5DFB6BBC7D96A290ADCF3AE9ECCA75587DCCB2CC318DA3A669DA92CE2AF333897448A669F1A4C128DA3F964A01AD64E132CD940165F5708B1583623D20CC5A3AD9FB860F342A4D47E2CBE1C43577C9B98341E15B285A253C32B3B00C39F3F8F9983FBFD2D4F217C857960A7EE6C962C2CDE2547249FA56F97B6857348D8A449CE8DC83CC99F0BFC29E214E0A3DB6A636BFCDFB15A537979565161ECDFE6A4C29D88F4E465660E4B4A493B3395AC9696E5BF5F4D2FC6587E673F8B65BECE1CA4417382A3FE11215C5EAC591DDA0BE4A9F2FE0B1B18325280241BF7DFC621901A0E9F4CD471401064FAB73373BE0D800FE1CA296B27200DE5158C17E64216F01EB16E58B9C9DD51837101447558DCD07C7B782B6016313CBDFA95C07B9C2DD25DFB3645D8F22C3DEE68B1A43CBA114ED27A6F3E55CDDC7FA856FBD07DDB72F540D46F780EF5EDFA68F9C28FECFCD3E967A030570ABA49C8CB2A178D2557E6B9A3FB387ED2F6EDC7856C2B05168180BD6BD7A88A8BCC8A81C5A0331E095363508CD329EC504EA321A6766C58D658E0FAB942E1DC2A308BA7E122258719877BB8AFE692D1CDF2BCDBB410CBA4E5E5E4B8FC8E1449793FDA1C14AA337A1F88840C3A067582632B652E2AF72EC8874919F4D8AA94DE30EB3F1E44AEFEBC66F58E5EBDC766B7A3A8CD161CEB65B9047E52B931AC59A03B13EA6E3F41E38B40519AF385B57C72DEC99BB7BF37D71F4A409100A3BFE2045B292F92775AEAF7C2394A15135F971784441637D51467BFFE9B4BC853EA4CFF5DC8E251263A76062CAAB0B75824D21C763D33405A95668A53DA22951E9626A091A57F8A5A27DBE0B61C0F1C652DD0F04C12A3E3CF014D95BFD35E56447047ABE79B8FE04CEC137516C3EBA6D02E68290F91A47868AF424E1DBF5584647EDA7FADA8F051BEBADD654B14912404F5AB54CB7927C413EE02714D74E82B1445F92EAF64C28661478B508996EDB82014E014A968242135D40AF966F0CF6987E7616EAE588C298110AE42333B918B2DCCFE4C6A60E97E65B63E419D5F6B640250244268765B5AD9B73A5D016D508331C42F694C970C2BCB745BF037A4D22EB2B4971D96F3689EBF513BCB2A2BE78893E9888B623528676D94EFBC768174145F212C941938096472551178FCCF31250308041FCC72AFDC3B845A45FAD65487A7404C8970BF8A3BA2C8AB5E768BB0CD85B3A6F0F1C9EB66C103062161D6AEDBE76C43F8E39F6BBCA59956A5281B5F154CE2E6649701D03ACAEEC797267AA0623B70C1323D22FE6A01391143901E4F8CB9E8C76F40FBC443427FDF93EE909FBDC26891D445202891389410EB08F52FCC190E04219F2A75FBB50194A5DE57CFC0D00F1A7D03A0048B03C5B12F6F5BEEC8CEFCAA7BD41192865810252FAD91650CBADC85BC79F33A940D45A39E09A2D5EF506EEA567F695560C5189E9A686E3B363B999CBEFCC26070158EFA1A267A9B532D6C86C07CA47454B346CBAA4B4D78EF9F484CD11B2FBC26E352FC18C69203F8E9BCD8D4F1BCD1C3D4F7B12ABDBCC58EB6E61468EB8D0E733D9021B679EB1B5146AA68294DC508EE15BD6715170145A6704D3E3FA306E1F47A6064175DFCFB46856F524FFEC08851D558564BF943D9216D6199E75409516B8555A1429254D3677CEB193F163D01B444F418EC633FF9ED427FE28676B6B650C0B467EF2E7930EC43D3AF92D6C7B602ACD21CE6F22E1E463FCDB22BE9F2234A9331E39B3A5505B11531AC729E6F1A8452C9C225FA040132C62165A26C59E4879D93FBA9C75D3762FD1BB8D3EFF59D628A193C9BEC89810507F45EDB215602FB65385F99343593881AEA6D16B565F41D6CFAA0163F2A2871D21FA3DC94FCFD576F7DF9D37089BB3B4B1A0DB09EF42D91CEF3E35347D7B76F5B057C9CF09C5A418AFE3AF06D27A4D95BB276238CE06980B1FC9215838FB0730C354C4EEBA8491A5B793AD085DC5FC2697A19489132CA6193D96C4E1BB29DA6D719F86D3E8D17973E76B57410B298BB72B709ADDBDEBBA6618ABB26D557C9C883C8F159C91EF620D2FFF202A1805DE6C3EC478729A761E306A6ECC362C1C1F2CA18C7B5B3F9FEC42E41D61AB5963A7A2783AAC5E5159CF559F347C805FB7B45EB82986AAD4AB6FE71A112EA039CBCE663EA37CE6FC8A26277C8908CA6ECD9C40A702214FF22CF2A558E3B9BFDA2DDF6BAB5C7F182B8393AAF6E0AA1110A567FEE52496BD861A92EB175EAD0E728D28B2823BAE9E40636B6797A6CA4571D76858C44774FE14E2B99A315621A830CAFC9B8494D7D973B4FA8CDB8FCCB6E5A0A1F47152032747AFACDA130021B55C6D9161149936F19668D8CF562B8F42ACF4165377477E2447565861DCBFBE5301DA8663C11D86C9116D38D59C4EAC0F63479C90FC8E4F105D718023A1DC064CD1338825EA1241221698150AFA47BD6306595CA5DD37B1B2B0819C9E2A2A8802007886DE7C407C312F4DBD3E2EC5EC78F623F04ED7E4B27290831CA1CC9CB80AEA157EB7362D3079CDFB102342512BFB1AE0B979E4F162410D31E0959E8BEC4DDE2BD9FC27F0B48787CC541C184C5089D39C9166F83079808A99004049FF1C3CC452B12A88475E900AE0566930151A850BF572A8E6F168126252280853B16E3B815A8FE5C8A1359FF78BB0861B24BF8C5592C49B07C73330E342BD201C03629DDE238CC7B85D13CD2131B1E1FCB3957FC51E6CCFC9E4A26AF0C2364CE35D7A47375AE86277546CAF77635947EF7348759512BA6DED26785B1F905B39C9D1DB5BB347F1F9C46C0ADF8F02D3C030D6BBC2C89247E8705C7B1A901EDB762F1ABB4E62E874AD7538A07986803C49171F56DFE055F6323B3EA04166B0961BCB7F47DDDFEC344628B44B92E14CBF242911CCDD5719BCC8E7909782D890265CBB3745051BA36792DA22A556C762ADB228809F85FCBD1E521387906D4BE384F32379AD5674B523D0657EA7EBE7E1577A554864C8725DD8709C9B4A16DCBA3FC7A3B34B2E7C1017E401DE15DF06C0820233760B1DAC69353C25E981D11671B2A2834FA539423C7717173EAA9D83D88885219C7F7F4049B22CB9C3ED5D167CEE141A0D870BBC01766278D413027B4B11D016D53936B77700B243D3CF43182BC22EA0D86AA2F0D682193915A933BF693C44DA024C656940DDDCD469DA474940E509C584309D6795C857ADF9AE69FFAD2FA2A97D367520FB4A62FFA547F4615E343B6626FB263C43A87779ED79FE9C42DFBA6F35952FE3945503C7E99F3C4B1D11A8BD92BA34B61738FE2CAF33345587F60EC2ED6C6B914253E894CCB7F06260261465F12A66BA93645FF0EA96899FFE0DDFADC9603BC66A89E055FDB75809FC6D0B974B0D7BD7E470090CDADBC91069FE2E17DC7FF9158861B81BFAC6AE544A3F0BCED711A3B553DFDAC7A0FD48934B70C31F8644F8595B63AEA8536C346B505583F847796ABF0E89371CFCE938C4D2148B99DDDDE677EA04AE4AA33C58D0B2DBA36A8B7B6D3362C7B2C7A3BE454833E2E19C1C8F828F05D034D7D216641205F916C1A72E512090F924C4574DDB24BA89F760D6F52F40CD511CA2172FC0FEC366390B7A26C1F96B526ACE6494C9D252D68A9DA2A93FC4E4216D70A86E09FA5707562100FC69EFC6631823B0576D5AE8C668EA6AFBD7843A7A1104355CEC3B2032F4693995AE5F018C8A163D593F83C86B3873DF812D877AD92970503CDAB0F4F77F10B1DF1AF102F9201F6D92C512EFF44D1DB32678FF7A583AB6F1ACDF6C77D168E88E635F05297BF0E31E4826A27D8AD97702B9A1FEF9958D34BA04984DE027B22996DA1439DED3F859A3914EA27E4FF3ED4549C4AAB5D805D593C9ACF76648837C4566EEDE6D307CA8B7AAB4DDCC7F93F22715677A23055566A83C12D8330916B49179BE2B2979DBA70643A3307E4E0C6FC596649300557E3B7B587BFC80DCB36C7E8FBA9 +MD = 316DBAABD73CB331E4CAD899B446DFF65EB8668F5C4EF9A1DB8E8AE424128F66 + +Len = 26744 +Msg = 1A3DEAFCE70AF6F3F55D66AD9CE78D5F4D5C5F2638A810AFCD07D67E9F9A1380D6B34BE482EF030C22F1E978F544609CCE35A74C5109EE7038495B6210CDBCA8DC82C6E9E7B0D593FAD9665382B3C401AB8941DF71307DD77EBAF140AA66A1F76316478850E58886A9610631E9C722F459FA00C0B53124FB4F12778BBBA3760826D3DBA67CD030A96B654AF93F8E395F5F439549489F8161683F124BC980E6939C83A6085E4B6CAAF8BCD89A0E01ED70DB487166CC29735D9235A9CDC57B80C9C2E591DF6322F5BEDD32937073F781A30389552AE83FBE147D1B3D3461A3DF96C15CD96900C56718EAAE838417057579115936862679F5F2A45DADF65D14108AF1641DF987B57986384FA1433789F5DFBE87E90BD4E9D8D4D0741FCDA7348322B967B566B18612DBB8FE64F151947C3F7E361EE868676BCCD0CB3A1AFE046BE70057A05ADD3E65AF31E3FF414A627C0183E8FF583B41B75B203650420216E6DFCAB289665F054CFE3EA0943647528518573BBB1D0F27E1449E98739EAF0D009432DF0C1EDC1625264B94A71DB762659FF5A3A7A867F182D1F1FD34B341A4A181221870DC4A494013091A7E3B2B07E0160C438F1EE1E8A2B989C4FFEC36B5083EA427606767C29672F44779A8505B422B25A56907F565B27690D011426A62DF0036D57D967CD1D14E915BBC2691E7AF818C769D9E1F9EDD40894BE88FA1D7A5952AFD898E837716ACD73953BF2D1D448123FD1A0276D2C2EBDC760A4B787416CFAE5E963FCBDC8B551CB70F91DA0ED4A8090FEF178E879F2C34F3A269DFFFF09772D44A13D7A17468B5834C460957D5243C325F63F05F89D4ED98D361E7F0AB8A83948A64D0CFF8514841AA21C7F337920A9983E59BE4A0F1339E1E462F92DC1FC070126206012458A499A8111FAE078E00B0CA3BC1D6C7087CD318D5603C1C7E0425E6F729CEECA5F35B82F8A42E0E9B950EFB0904C5FB5C06D91D239913665ED1F1EE4B82185A01BA86CA2D3EA94E5A8842231A94C05280183B7ACA289984103F122203EC2FBA4A382E6F5236D6F68DA05E3BB0C558421F0EFAB91DCEEF6D1ECDC60F9B88F8BEFE31CDC3C2F024A1AF2C7336AA5D151E8CDA814A5FE898BADEB9DD680E337E682EBC22BFAE445417E37D2D89A338659A280AB1206DB74DD42C6F25639C1803BFDF2156DF613B0F5924D209F7F9003CE8794F989F4F27B82121210F4F65EC5A1F7723305CEE438C41F793EE04496BBE337BBD2FD3023830B1C8889C6F4D0C1192E364EDBE1CD987BA5D66224EE9C9405E1DFCEC0EEFFC5C73D3123F6731C6295D1E6B854B884FD22B6A3BBBE5395312585CD138BCA67532C6AB71BEBC6657C50DA87D2AC6068FA3970202C5E15EB7B4B3D2676C0134BCF1EAC2B26BA46930B5E660B16060894884C88BFACD6779276B86F685AB6F17C6D53F621275FAD66D021D26D1D480AFAB4B5EC75E0E763FFC45F599EA02504DA5D91EB5EFC3E4AE196F219E45E7CB05594958C876FF474A020EF73C1F09B1F7F7457E816D3AF51D86663D4D461754CD5E907456691E02446D6CACFD33516206A31870543D574592087773653D4086C2BDCBAB3C9B65CA11AD0D4E58DDDA8B440309989857103929549B7300CED42651D4086661694092C42875CB62858E6D1BE5F7274B4BCD83AA4DA05CACA186A30902830790F9FFA24418E1F9DB00FA40477E83B05C2D11AD7D81DDDB1E31F94A9DD5E9E13391C22479B570976E3AFC1BE41086D3BE6689D87CA4326A7CDE8E5B396A678D3CDB2C80FECFBA2BC799AE8B1528E96D880CD098DDE910D097EAAE660AD4D7EA51C18F18AA1B39614299A172512521DFD231B9840909839EB69C892EE23F1BCEEC1FADBA75786C7DED93BC9983F74CEAB397EB8BA84F7E4130B34258D628594A6F9E2348FD91BA2594E07B8057E8A2AE3ADFEA0EF919555385977041C5B6DC4F3880569171F7217AAA9A85F2F5BBDFE3FFDF79248F2A35FD4DEC34980C67290339B1C0A5A6AB8838157AE2F5140B4A24924A6688AE5CE72A48103EE9029CE8A0F15B1FBB19A12FAAB80A7CD9C0E389FC2775833E3190F1CF735ECDFE7F6B6C326506AA82613CBEDA8DD3691B81F4C1E3B0FC32D7E6719CBFC12F4A26E0FC29D6417953ABC9568DB4ED9A294B9FD5F2A666DDA546ABA301B1C60985033953EFD6F4538333B5C7DD3148814A3FD7927C366F40B3D7ABBDEB2332DDB586AF80959097663CFAB2FEECAD6D368AE10EFF9663D5F8BAB95935D25F45776F7F04B46817D05165A9DD4770509ABB92F8B9E7373CA780703569981754A51D6D376D65C57F55CD70E2DF5FDF5A6B829AE30CE3BF942815C8B4BE858DB58151D02A68AAB9FD373E047EFA51BD1A0CD1B61744D9E97CEBA3334B3BAAFEA3BC9E43AE097CF2C3D713EECC247FF43EC74D54907D8BF45E45B2E0E11D82B126A8179D3F66C055E11F69EA67AACC5FEE8AF01FAA379E51998F5070F9EE0FD30A2EB22A925586FB1B39024EB5EB1E127C76A149E7F02AF1B73C16E9E5A5DBE378E08A9FADF1194C625132AB3FDEFE8FE9A89BB8E0035A1A3AC5278F5D3D0ADE0E41C81C6853A41C4AC45BE3F68180FE23F27F18BE2E339DE1D559D75DE63ADF7A32BAE42B037AEAA3E123A5314891BCD35CA48D57DF4C17540E97202A8EA1328DA25B1FD6BE2B56AEC1E5DEB209F3B7A13ADB1CBE53EB645956E577A7621D74E42376D70BC5C4AACD239A852FBB7B3F62CF59FE10438C1DC8E1E46566325DA0CA43AAA63FB7E0B450A2DB3E3A2204704D894DB24B72B3078106E096CD543DCF027650CB4965E38AC36A8AD588C5962B4E26548AB88F0BC20E10ACC1C3FC00EF415B3C32499264552B14E2C0E789A3B8A8BFF9620FD939D0B34E806177EC696A4B3B1CA4B32BA979B2690CFB3A6B17BCEE6877FFCE757E4116DA01099FFE82ADD5A0C593E73449A96DB9CC2B9E846D166B095174F2CAF8B35DD878C836D9BB6EEEAF8E1BC5D0E149C739828CC480D731DC16B35B80D4AD82ED7D29BD05018239EFECF8DEAE180C6A459DBCBFE4AAB9A5E2C1E1BC31418CF2EEEB31FDF8BA02C9A91525E9163F672BAE2EDEC38C1BDB84EA237B4EF86BF5C0F0FFE178E3761E82D94F66E5EA40BA8170BF768409E1B4177AAFD9937BCE3FBFF590320D7C445372463FBBFB34F57447F42C16E026F179CBF82F617C86D1E8D42F6C908F9C6B77E38D25D51303DBD781FFAB569B4CF31FD0B947C45E1768A2E9DFE8369F520DC38D77937B69B821DB4FFEA8F50EBC404F0587B5598189F54B5A5B98966FD16801C87DE2C3C7813DD70DC600824D426D88C55E89D47214D59206A7A65A65DA7CA2E42FA62ED17E7AA5B3ED446BCC71F17FEC8593BE96D2037BD07F9476D4D732B32BC5DF8C921316B45699004716FC89F8D45BAE402C26DBCDF1A340847B932FF882DBEAFBEDD252E126C89A1E1FDD8908A1F67D15D8E432DAD8E08E950A3BC46B96CB89CC5BDAC703B3FA3E986EF1C6E7E6606E6845BA1EB2FBDCFEE744B5E45206F4A419E1CB103C8490EB293EE9AEC1F0A0D294F9D3847737413D30873F3C94740E8FD072817815EBBCE3F09EDEC9D1211A9E99547D620B2EC56C89E9CB8144AE9E46636324BD13C6CCA3AB9CD9FD8F7F937ABABC598232384427A2D4CE0CBF9765F7225E208C3CE128602B0AD08A1BAAB77EDB3111F0C6CA7BA0EAC9D89D5B4378EB82C17F6EA08308A79A53D150D3F85EFAB77294F02EE0E2885EE2AB2793392B87DB11FA77992F5B4FD75EF2F1A822E87407A4878894215AB89B6CC4A120F5A78B3C31AB80FFCC9ACEF53FC6F7F85685EB9D56D30D87C21ABBF1652EEF8F32C7C567BD1F08623B09C29F33561D42727A5649A3850071AA6C11735AE63C4FD31559CE560B27A362786A83353FE460B37074664A9421D3B2F6A864D5ACA087187B27E2B82F31CB3DF5E985CEA271C609B94B4E58356D40C7D5C7FF2E5990FB39588154843EA5FCA92F120075D4C4D006661A0FA1B0585454BEA725473EEF7D58117D5840C8348999003736C5EEB7858FFD273A1C3EB2812F5697C59110275B08F6BEFBE84C92497D5F73B7B6F794A849713B23AC5F29D5C7112FB2E7A6E89EB54DDFA3122E6C79624C1BF25EBFB9FE5CE6DAA779F3ECB2984DA42F8C6ADC77B21DD291E684FCA50E46070962A2D4F00813D8DE1B8ED33FED9715180C7EA8E2BB74FA65D9C7F6E142F3C81CDC59172E1020F62F65CA5A12CF2BED9DEA04A4D8CABC2948F7BE823A3E792625275B3925A6C8D8E2B428C75A5DB0F7120278CD7D6CAB768755C7FE2FBF89FDED1FB38AC7F76A2F8798CA36ED42CB7C07F006271205F546A4812C20077F050D4CDC79459FA686E97F0704B7A9FF7DE16318E862C53D361BC635A55A264BE15016545DBFCE3C6D6849576ADEFB6884EDD768214E0B438B0231B4F2692C2C0B5C177674F8A0DE236EACD9E0CEC7C8647E4E9A5861B957EC834A2F8572F01304C3FD6A06019E5F1499B62BAA8670B652467FA9A4F10F053263BFE9743CC7D933F86136AAE3A6FB56754D7D238397A0030CEBEA87CB255AF36138C373DBBAC41DD4A697032E4796C552AD9C9B3FA713C3A4E09E0EC5581E94BE7F31065157662F9E9C678B1EF1B8B8A847C51789C22B1841BCFC855820AF3258AF9E08231090B45D10046A00178E89BD515616B8A44E77BF57795DABAF40687B2CDA7A5014168F +MD = 4BA150C2F4DB2449515CC9B545EC0012747324700D0AC1E554EAB84A262BAF00 + +Len = 27248 +Msg = 93B01F62E3CB9658B4809361DA42E9074E311B9D632776D32A2A3E1BF168C7A6173E449F5EE483FF20B6030362A471FB3F02663D9D862A05767CBC32211D47EFA54607C052BEE3ECBC211C7DE60EA83BFF1638F80F203AC6675A07756CE149A56903F78DB2018DBAFEF1B93FCADAFB639A184155EE7A2AA9E49DC667012298B1D489143FF203F939E8A826290B95CC4C45A6FB25A4687E582328CE2D9690950A32FDC5B5F05F39582C8C689040CD4FEDD7919C5BB9DDCCEFB127750F2776B901EDAF7173E90C0354FB375C6249C935890632B86DFB37E475FC480E4ACEB702F9353D250EF73AC075B0BB6C6B2F0316842B19ACCAE8E084F0739533E3E3D62C5FC107033937EDBF1EC95E92512DBDDAEAAC8BDDC2CB8EC3488EEFEB62A1FE844901BC12D9A0ABDD8DA4A06F7B9A9F095761DD80E891D2245E5D359B39C2E461BA80E33E1BF7C532A8C7CB35002DEB5DDD49CB113C4EA214C04B95C4A5A68F68F513D9B470459CD87489E7E103D19BFE1EC3AA8269A611F0A516408232E396463DAD842D0C1E92B25E9A3CA1696A5F2A684C23DDE0A6B3F2FF2EA1D956D5E6AF67F7D72E3D0692930E446AAAE18373861A9521D67CF741C61EEAB4E8D7A3F496EEFAC6780BFB826B532BC868B75609B1BE86F9EC249732A831A6A8A490E2BB60BA628D144BE19502EB99910E3130E5658FB5E3348CE9DD030E68A519407197F563B365F237816D9F683C5B736C40B236FA4AC9CEC9A0CF8D5B54D5AB3609131A5A0E6BB4C4CACA24AAE1989F1859D1CD554CEF05FD31220F7F46CC2E2D94C7B94840735A0F3A70A556D7E5F4845123CF16DDFB563346B9035CCB3422197B2F8805ED2D3F6A15BCC02209B40FA7609AA86FB6B91F765AA189E283148517931EDE0F19552C945A341B1D693CEF0167EBB382933FDCA1E9D5B5E2F0D881AE1265E67E39793ABF652B2DF9813951D4335D988670FFBC2B9C98EBAEC716D13D221D8C448474ED813C1DFA3EE8F8BCDE51792E87F797A4EFD8003ECC9B274D0F8693AE5657629DA8E12468524EE8FF1E6790DF08E9AF05B1C6C061E6A24CF952BAF4CE54400F3A1E223C0C181CE974EB413664DB47BDCD62A0C368F8D4C2EB457BC5E7554B00E9DA621805D97F677202390079BDD8171796DC51B1ADC27723CE76F4FC1977B1B0F882599C8C4A1276B990912003B2D2BC9E8EF995BFC3D2993783688E1D7FF53EAA16700A4FD150340F84630D1CF90F9DA0C969A4ACDA92C7C7ADC9BB3F0B22B74E956FCFF9005B059451ADD0E9097843F43E980F5CAD9942018C6A801F779F04721D6896976BDD2748B3F2B2E2DA690214AFD6AFD2172AE29BFD6B071CE2D693814A79AE083E9B1DAD6474ECEB547CB18D55D24F98E8D5A343690A0FFB96F7F3213EB1A11A7BDD6C377A2D9E85BFB7D09C53A13640F0417BD0366B31F482C2D8B558DDFB3AB4E6FA99DFFA644BD693DE9204A1B61E0AD790F83ECBA5D445B3ED1C7D4A686D2AB014EBA7807A40A84FD39E5A7526A9EB5BE1CA254B02B529526ECE401AAC1899F6FB8C9EB0CDC5092B2208368BAF9AAE501283F8E7023CBA4F17BED1B6BC52C8CDE3F84FAEC6FC1F11FCD1F7DD3C6099486CC8F6CC7589FF18A4FB7EF203F6FCCEC16160D9197AC419E044D3BBAA2A42E03360585EF383C4B8C8C1025B8CE9CC99FCD3AF5F0EDC45409D5E3545CD66CDAA1DBCFBF727BDE4141D2E659A7888FFAF73AAEDFF9A79BD5E89A28F4FD692DA3FF432D2250774906B737ADFDB06FB70BF3F6D90CC3B0B2735F66A005297EAB3E3BCEF4299BD8127BC8648BF35F4F8A14766F1921985C939799E2DCF04243B142E21516B429111EC9472EBCC9D082CE72AD41DFD2C887BCB86C31435564DF1B397897DC7BF5565A1D59A4C7E3A1D5E28844A3C3E98EE11CFAC4E91DAEC761B796617B092CA922725B09492B6BDF7CBB02F327875D2312CAE9F312E18472E3EFE7497A3EBD4EC105BF6CC0819BEAEB6BEFD4D23CEF5E7070D3E6EFD79A64B4DB4FFF8726CCA73E180C822497D0A23A1B9802A90447156809EFEF25CBD7414BB945C8DC78D5E3E531E4AA93CBB12B1BE227AA6C9B90538634B01A50FDA8E786619A4C4EB1717726F8365CE568F83831FEF3D70D1A1BFCE193B48593AB270C0AE156B2E4BAABAF9F0FAE96D0075A59620E9AD574570C1F22D3FAC28A6641BD29E51D4D1D6BCFDC684C1470DE7332728A82F910D524CD3B89EB568EEA65899067D8E2D41A2B6BCA64871BF53616CCBB06D50AEFCEBBA942EF0D793C3E5827750D5C18017EBA0B8829820BEB3E8A938D5B2AFEDB984469C93DFF63DB17569BFC9D34BCF1F68D08EE24C4310CE9730BD5C8B0EE84A0FA6BB5E9FCC0A1DBC05DE24C19FF31713EED55A672F476605D310190DBFA313C9C7B39C41BFC5727DC5063DC0F86CB5685E721FAA85E42BD786206B2F8BE20848813ACE13AFEAC10A6F0A5CDB11B67FDC6DB81165393BD4EFC21A634450BCCDAEE378B71AE9E3A83A21A6B7C5D8A2B797D9178225C1E3E0A01905105CEB8F8A36FAF0F7A7B93B695AAC546BB7354AE0596E9BC49C1504CC2167BA959F58B0A2BE263072067D5D89311F005FBC146823E9F10017575223C9342757F6EAE3C00289FDAD155F5D5DF87651ED2E1D1EC43AD3ABF521E782200E8A2438DC6AD400D549F622AC6DD0F99D16CF5035FB61457BE66D1C7977420EAC767EDB3EE3500D072B04CBB3481BE845EC09883886A8A0660DFF30F25567ABC2DE05778D22797B4C1B2588CE383F28BA0C6CEE621FB464C5CEECBEDDEF1D9A26F45046D5332B33DEABDAB7DC2E07C7732BEE25F6B9E72E085D8965CE2A555A8B7DBF728BB85581120E16D4B4B53D5E8BF8A07D6F97010824E11B24A8566AD4D1075988AAA494142D3FBC9E5B29866B6C0090006C5E7A21AD534D5FD4FBC2ABF5646B3CD3FD3F3C321D188B608CF6B6657839AE7A7E124984E7AEF67A99C939EB3BF3B568583CF9FF13FDDEFBAC6B63D4E1D9968F0FDC223D16046B5ADB631C890C89ED795DD351CC51144872E57C750E7C01626A81B36BEA868D80D319A4D0EBA3DE56C41E706CE8D0B7071B130BD946BF5A7FD1F0777B6C7AB9F03DAF3EEFA62C63F40CD65F4DC4F957ACF9C4859819991CD0377370C58A71B2E78EE082E20EC09FDA691290241F722C0A54126906B971C18D7669B7956D0B20CFE454F93D8849230340A99EA23B7F07DC7586C293DD0A96F9C2C9731946542C0B39A8BD98F77FA3F3CD1F7DC6AF9786297300E7B0FB2C9A46DF02732D761443BA36DAABB8DFF1B8364738B65E4AD6564B9802100C9100CB6B4C3259AE7DB00031DA4D7B36032344A166DEE3867AE1AE499B89EE270DD5E87F421873012E2498B7AE63D40F68A123BDB238192653273EB360D852250024E24717037770454E23046C7DD84F980D76C4A0FE11EF4F02B9435FDF3378E2017F62274933AA23608F9AC426D9AAECE609745C71465EC8786D4E7D06A91B24492F9F98CA43703F0C4FA97C076E0F5FF46036506B4EBA5BA7A267346DAB8E1A9462C956E8F4C3782C1353FD5584BBEBE9EF40F92C9E8FBB28601B1138FF8A380213B672F4265018CED7630B5121807BA5A9DD2FF1086F7B70431A9F229F8695D6C66EB8B9FB83720F7C1F6C3EA50AED00AB3247DF979288BA6185D424D5548507D6A73FB8169B1E17DCE927E0CCE71323CE25BC45B2D7AC05E92723AD357F8C90ABB6A4B96EDFF1A76941F2C24BFC577D5B7D15D6250F87DBFE063306F19306D0ED329FDB6E5CDD6D6F6F21E019E58C3FFEC8BEDC57036AB69D9A0E19DA5C1DB8D0C6AC801687ED617DA94F85161D10868A277D9354CE1E7AEFECBFFCBBCD441CA9FEFD36646B28AC5CE2D9AA0624A5501BD8C5C2B2ED8D1C89ECBE58BD0B373B08E42FB222E7C4EF4BC8061E3555734267C07474B675DCCF9156CD94731604D06F7CBF5FA22C316920FD6448C935B5E5663C95550D0634C200656A040CA293FBDAC3E03239E0C6AE4B1926A16029D3FB00BD595E8E835B02885275310EC28B52B98C5C079629B8754A14DD4D88B3FEA948DFAFB235DA712A06784391D3BBB9018D0054427C1E92266E980D876B25D8D8D3E163A9E5812E4FAB120A2E297D2FACC6512542B254682C8DC7BE6BD1ACAA5D917321718F2A2C424B3BCE4E157EE4426EDA54E21CA2D35F6B38766A7F684D39F8F3B950C368FFB33A08A7533769CD77199552D773294CEC13050F4E7F65B5175A54A8591B079E9BDB496D597C0654700E1FCF3AB5C9942141C7BE487B1D57383D334BE037F45020885CFE71E4360AAB5CF47B124F0D3562770F0106F2A66F0CD7B5CBA869EE27EC6AF4D613EA8A86FA99EA78BD51F55E8951AFDD380D2A3F7EA077E62B215D7871FAFF18D2F807F6CECB50C1960C2A801D7F0436790877D1F19B708A183B3A949E35034640D38093A89FCB7FD3BADB077EC1502187F4A110F26C69A118F4DDE2296F20A7C2D444200E3B00B312D8863E478FBFF8FC4F9A1F792C2EDEB4F73F9A7C7C9E9AB4DCB7D7F5A39403D3B0D1945C2AF7C80F54FF3EAAB8D7EE5FF2B669FFFAAE319E6F4CFCC54F6CFFA715691959E3504F3349E90D6F04EF7BD0222F57F11C912F44744C2AD3108DA304995CA7D9BDB383B32A8110823D59A62BC32D610E083BF49560D76DBAEC82292818377EA5EA68ED76DAA15B2BFAE09D1729B44ADEEB45BD4709CC306E31953C74FB6FF05757CDA9B0B422746B1CCA7FA67C290A8C50A83C242F0BDF8ADDAE3DACC687F4F8A89FD9077590634F984A1871AAFBD9F2C35B +MD = 17C8A5F52364C9F651DE5F10021E05DAF6CC63D68F66666E762EDBD757525882 + +Len = 27752 +Msg = D80E6FE59B7228D25E78586F94F268EA62EBE04238AB44E97316B22E96C91D186FAC862EBA9212CE845BEDC23CEC43FC3DA42AA7025637E0EF65823EBA6FED261AFE9A48074258B235559A916E644BFBC9C3B6F44D760E3047BF7C885F9C70C44246A81D29F9C10594B9359EAA8C8C572C71426A930F02F2692D504E0F19E12F6BD115C085988BBDF2748A2EDCDCCAA3D29329B4E8A1A17CC20243191D2ABC7A4CFE384291FA8D7EC57821E12175A156F893587E2DBD5FD32C2C1A7804756AEC8FF12BCAD4308DD33EEF5CFF2983650FEFC04DDFC4301107193DFA9EB7E8A6EA2748072879B063C7B0955654AE2A68BF0F00C37F0323C6458310B4707DD2464DA5A52B8A8E7CE6589970116BA93EAB2024040C45F22E9B478B34EDFF4BC876896D143152565732FFF04EFE656E06EAC38F19F4EEBFF224E32159AB375511B42B6F74001DDB15AC0CB4F6BAEC84901059882F58EBF940CC973422F6F6940A94C5101EB24ED21BC0C417D959B4F08693173E88C6DBE28B487B3D0CA00AF26239B5B8992C60EC3BCD3855D2DB197AC95C4862B9B90C5B4AE366759A38868A2B838E36D7E42552B3566D7A28FE6E208AE9C6AEE50524881C482B8F48E9133AE2A9D9377A6F966F30603E25A0FF06106B2925012313CB3E79FA3F0DADA7CC3D015B4C0BAEA4A79EC8E37D792FA13C19AA173E134774DF393E1DE9133369E858E47200648B44740F18BC0550266F7EE7805B85D8A19368C68110CD11F14032A099CC797DB39390C2930F68059CA31592FBE73619043E1C095777D297158AE6C28C863FACE2299EA435CC1E7A09FB29071C21780924D2ECC41C9C9749DA3EF0819A41EC086CD2B7370870694B0392D18B6B721B81282DADFE3C3C3FE21288E992C7E3A8FA685F32307529E6D50ACB4252D3E170334C42C70FAB02DF832569C7E5E05042F71A4FA939B58572CC8B0CEE4331220742D2EA9B1117362A1831C8247E1F6E1F42A88FF5EB9AA665F9A637DB1BE7E4FF5A75DC21137A50D07087185DE1310BC5EB098450914B9C6AD8DDF67AC0DCC99AC61C3CB09B101DF6273E0C3ABB3768F24FD2C4BD2EF6DBECB1A1ECDE1418AE5FCA22D41DBA0CB6C16B06F2CD26FE1657C1EA7ABEBC5BBC8DCB58738F855BF38CD96F29BF7732E91B261B70A776EEE64145C1421FA300BDF80BDF6457E318F9BEBA2243CE8CF57DFA8BA0D5F124AFC6859DDB0F3ED457FCA64623B54A49BE589953078DFDA65745FA39CF0C4D9866C38F76231FCB44D3131F8DF389AB755742F16DB218B3978528799746A99DC7E3A958632563748039FDD9FFCBFF6F93BD83DACF06BA93E39251621AF02F8175CF541F0C800C5D2F5AF06894B2FA14B9A6FAA3A3C95570423613299F141CE25EE77C0259A40279A2FF60B51ACAFCF82CAE4297E57861645DC7442EB052309001E89FF2FF5BA41F2F7D48FC9A49BD3062B80C75BE51FBCC8764AD6D2E647574EDC03660C9F4B7AE58888678DEA4D6A5C2512F12A6AECD3047AD08CFECB6A4C95993164C583C91FC8558CAD146C73C7F4C24704EBBD00D9DC2C72F4AF1B24F1DD5C0BF97C283B7F69937A6AF0C5AB195AC8D179169BAB6B141A5A61F7FABD2B0A23EA29CC295AB04DE123290485048E06AF0EC211D93CDF8FEADA722B82B994134911B5EBCBF21D0130F910DDE8CF7CD3E46C2BE4AE26796F25B653F926569371EA09C7A5E2F38565D08C9D377BAF51B6DC854866C50563B9DA26FA30E0A87F5B2FC6472291550FCC7A0C423CE82D0AEF24F54C05087627FDE9C9EE2EBF228D12291B2B25CC8FACAE9C6209DC43547BA0208D359677C94FD17A76D0D84D9B18084C8AFE1548EF4B7FC94D70450087EDF0374CC414561E6575AD401C99908ECF28C6AEE82F3412379A86F78EA9841CEA2D597664340E90714C4F75453CBC4C24C963264DC8F13487A0BFD4FD04ACA1315A1B70EB4888265143D82CD63046F0DAF27D8F1A6EF988F48D13C56EABBBF27B5785E51D68DB08B4AE2B9411596AE87C760D28A4E2C38A76BD6B715293C59131D3D6308C722282495BEA69009CA71AA78A28B681CB782FE4274D499A856AAB6F19FE9F87931EA93774AB13CA5B3E29C1EC6B300E67E525B9438C2F3C3AF3C38276039FE82BB15CAC81013B195EA9C430B8381F73B5F95CDFCE403C0277BE77FB7D8CC38F5C075347CDF1DA4689845D803C9360911F0156F6C92B5F775D502674CCD635F642B266A2B03748ED6247250BA23878853ECC69CAB7EEF2A29A08E29072BDF32DB742DE368125CDDB36953D15712302A9E4AD58C8C63C7721D4647BDE4A16E582181144AD9EE4D51133A5534936FA3A7884D0981785F8EC556505738E5293020A2FC31BC3D95080E1F747B2E25281ED256540D279C07FE3218A35D4574D22D4155E3F12F7450F37F8FEC6C467566746720538BD1A297DD9B987DBABF2D6110FEF51B6991012CF338F2371E394F2D4967A7A462C054E43BCA22794A20675854D742D441F0AA289B0DBF55E48F0D495864E3EF5B145351B93A2459B6CA848F40DF1D8B588FF679771C0DCB69A7196D19C141EA0846D5D2934AA5C662ACF1A7859DB2C02C791250BDC1F5ACBA5638815DCFFFC858B0BF1E086EAD0BE46E9C4018159729E645C486A4973E6E1380F9850128F08F315E9F9D6EFE64EA210FB8070A498F98A1ECE8FF4279B4028EFC7D3634FA3CA8CFC10C58E349B988D3F6A13A18B6487B526AC779C82473D121456EB2C18167CDD74018C0079A5347C1F9873CEC00715F0FA530550C814CEC5B96121A9914A8291713D6C7B9F65A9E45B85EA43E93A79DCFB9DC6A6BDCEF820242DFE7CFA4C2A532E6371681C8F39FD659A1F54536ECEB20FB528C8B8BFA96069FAFC4A8B23DEAF0AB27D8E190FA846669F403BEC4F302C7CD5AB9972529827D5819E6D1FDF2B6CF2AFA57899F8F9CBE1FCCBEBE8D738E84779134545614243A1556CEB4601ED1A6DA90599BD3B2E2AEF9B060E27D879D1E08120651739456062A18CAB94AAE2807CE12FE0761AA96598AC40D1DB86887708041A90D59C66B37BA63AB409C9FB025C5992B985A35C1BC3FEA87B7791B6D0832A461A58B221933D2B9AD6CCD80E08CB8F85F52D3B9A0DD6ED57AB7A62F1AC77834BB86FC542131C779DAFEE3DF16E26CEB0953661AFF00843DEF77210011965016942B3FFAD479749817BA8A85EF288091F92EDBA11D7FC01681A80513B3281800632A33B3A73B4FF9187C12A5701520724E77AFC84E6A3FFCEEC439D530B38ABD9805EE0A8016831CBFB54B167B65D466F9EEC8058E13D25F977BCDCCF82C7274AD9A71DDAC8A0928E57B4CB732DED8D314E8312F99EFFAEA028CD48BE614256C6D39CA0B2F77A13829F172AF85FA857BB734383E757A0E526B019D188DF17BDD90815CC90D289E6FD1048C0963D65B5BDA595D34ED760AA1066F1E3D9E48AE2A2DC492701E9CE465BB5A39FF722CF55E9E2F8611790920A3EEAAB9AB0BF86ED270FE658C3A5F633FFF633ECE639A93332F3BFF0746B5C4A5EFE9AE4844F996FB842748C2E25EF24B6D0F8D5A476BDEB8328444E46393C0544EC9F1D28CB83A8C965E0D9B066DB0366B431306459B6C837DC9E672FDBA234A12ABEC8C8C813D2FF6FC625DE96D35461CF72EF1529E5425EA1988ECDA7381C0F84D86EBA98F4F4D0F45F1C16F5CB3F8456DA4BEA3030F97B56DD494EE97C630656E58ABB7AC6F2D8676C04A34C2EE4AB1BD10D1630DD59B6999ACDA447E646A84AA66D53C6AC0E3BEDD0FC01AEA8AA9FC7648D44BF585F6F133A25A590D63B4A83E6519F528B310BC03B9C97FDA5FE700978A66F1EF4227AFB3CBEC112CC4552DE5F605D9CD0772122B09AE196E8725827538C4473F82A3AA0F695C5C5D71F91F16CC8674445B799077E5516AB55853D86C1FE9E4BEE06CBF8F9601E14684B00579F277964AA162BEB92AB476E322E7ABA464C0657BCB65059B47668A82190FC093BA433A16F36B22936AB30F6790601907048C6ECF7C4A41A406ECF866D70A3A3AA2A1BC6472DDAC9F97D37AC790C117A609DD3741FAC7A011960AA6E278100FA04D345796645E5958A0AE0A68B3B6D3F11DF7403932E6AABC332A77417F2FED3651667BB0859133C0732C56EC52ACDF8614534E4A2E007343833389073DB6C212E567B7588B0BC81F0D622E1646ACDA0F5DFC807073EFA779D687357CCD1D102B2B6189680C502435BC6522CAF5CC16BEC795174503A884FBF209D0A235762C7162EBC66828BB8F23DFDBB6468A5E62294D4597FF4F91D99CB1417B685CF1849D9ABB58E63FC77F380EDE5AC5E658C103414F68DE7EAFEB3E69E6641C04B0CA57C7E938D9EBB290D61A2D42E1B5C0F956009A6A80403E0C77773F281EF604C1959EDFD1DF210DF127C302311E4A71A75622DEF0F91ECA4717FAE455DD9FEA557DEBA0EBE1AAB6186AAC0094EF34447C24125706102C0B27E17FDF4F1D22EBC6506F28685E0D1D886DD41729F9BAB64486E7E96155A26CFED69DF3BDEB62775189E9EDE39D7A0D03C511AB4D605343356BAD7AE86F43E1E9EAE2303028D187BC81FD3365D7B80E094BA629AD56CA352F3DE8ED6DFDBBE7D2064C757AF36B7DB4EFC0E9E8F2F25E6282780F7E059EC9ABA8C04F5913E9632981241F75514C50D6502D7B01F4008422318C0BACE5D135327E09E4F97FDBFD7CECDABBF16BA2887F76D9720E34C26CB8D199FB46B486D47E24FF943C1C23F3E99E472D96FB4B6477EAC3F364E02FF192F3FEFE13C69560FD4F4A2830A3A74BA8C8EAEB82E84D8ECEB983A6F1CB024A9DFFCE69AE0DC766FE283619C11C5885B2FDF38E230B187D822CC6A54A2B643029A5D9AF17C5C705F41403AE62956D977BBBC7CE900CEEC2B7 +MD = 0238B0A1E357C7382129AD2940ED71820F7D45A7F0F2629391C10829AE801BF5 + +Len = 28256 +Msg = 3581D4AEF0860C1729EB3E6B504F00919C656A1C56C10111D21A2F9A77EC0EF7118BFF2A881973CBA46686D4F104CC94C30B93F62769AA2C0F4C7F3FB931B696DDB632B0FE71D57CADFE27573913CEA488A68D0E45B90CCEDA68D966B725152CCF054757211D4E9EB42A97308C6AF1E0B7A0DF67C61F9357A1542CEABF000CFDAA1FBE71D305300D43A448A4845EC94DF696C7C0129B088AAAC29A43BCE19726F94DFBADE2D0F7CD7C4EF0FCE12681FBE496BEE9D7725F549281F4AE666110BF40F5235526606127EE041C09874C103CAEC8EE320D5E9F2D62BDBCE321FDF7681FC988F453EF999B9FFFD9DC285BEDD0EBD36FC22B613765A34BC097DCD1F19B14C60140C8E23D7894132343FFC2B8ED144D9055D2795CBB20B8FEE92363F6672BEA4D40F9ACD55A2BE27CF813B0599CAB2E08225C4F909E7B647A39F888B9370EC69B2A6E6591604A38A5BC2E0ABF8B722E9AA2F05AD9AEDEF55A37810F935A46EEE33389C375613941102D670CA6709506861BEDD3DCD0F1467F4A0AB681084BD482730F7C753FA3F5AB47B7845C5CB17D17392581219AF440CD67013986CAC4FFA4B6FA004E7B5EEE95742E7C40044B9C5A4691C2B584DDE6A8A45A36481E715D6D9FB2734E5339DD5A1856392E8FECC416778805117989E30D422AB8D358B690787E9FED3767A408DD99234463B25B91C30ABB93F3CEEC89823C37023E7393F29F5065ACD499D22E13B5909857180F7785749734027AEB843245F5569C715A881A1E7554179D5D993FADFF2AAE71CB0016E1459AE6C2EC7954C0B6CC8BB1116BBB8CBD81CB62DDE57442F602147CBC64C2A4C456C1523B8075D0DEFA053578C31492B3234CC7370AEA593AEC0359ABE3D1C7431CB62973E93B0CF3C37018B468267B664DB3F45FCEE737CFF976BCE35E061AEF48E8CB20F0461D729FD1691E0D2F8F2E0D44F77B640131B9E62B80C751D0186F183760B63296B6BDCE97A9C0AB4CC37A27A85E1897F6DE52DF9F0B08F37C850F2405831CBE9826F3584E99F7811F08FD05B335F6D07409A80229A567763AD8F20539E1641236E87A7CD3C847C9E8EC063A5A8D21F77F941CA7A56E23F90130B74798B71E7A9CF8416739A4C750C0D5752A781B11F994A0B0E1CB6D8377488EC2DE642903F9B44657E85D8A213F1FC80E674DFFB747C63AAC85E62E295428AA315F60585BB5D5203598DB4F6BA78FBF3F053D579534A0C270B542DA82848B8189DE8A77A339D0052B74B21D806217E902D9DEEE2FBE97DB9E414CA9439ECE353FE0EA8A72ED2116F002365C88AF05D0E803AB494C3D1720297ACE858CAD90D30E8185D02DE9BB4CC3409772C08734CDBCE22B498661D73A18FE2738297F25F5466BECF4DF3BE1F3D9160DEF5566318620A22C0BCC27E91CBB3F1C586FC8E09C60DCD424E8C68418ECCE193FE29E4529E1419B1B0EA3597A98F19E999C780E543068CAC84D7EA226FFD535F75DE15134556D8D637064CF85F62799CBC15FA46A62C03B0012AF4615F7CC4A6FD09396A1A6D13D55D27CC76E9DD09597D6BECC0467B098F5DEC034EBCAE7A660394521CFF7D82BD418FF8CEF7C1E5C0FBE1C1F262B4DFA186C785B00CE614C4558D93716E17766D4D5EAC4B0B81C0B866E41E68BA0BE222D32F8D83507925417BAFEC4B7EE39C374412F71767DF78376605A002990845B9E791011724151CD3EF26191E6C2DB99AE0ECA5579F3A24D021F15A09319235508135B396E97819DCFF83617E641D6778829D6E3A26F7186EFB14DDEAF2113B9EA538FFB2C2207B737F7B708EF54C16252F2A63297FE571034FB4BCAA1EA6C4B65017FB4EC7050BDFA24BACB1AFE2E2D526EE2784E1AC92512E4EFDDB72E4B12810997CDC39EA1A827FA08DD2D7D88E781862E7C5BD964A143F61223423689B81675231CF97C64A3A71618F7CF6A44CE458037730A2592711582EA9D9EFF63400FCA70B7B5251DA70DA3D339B768762111D27B1A2E9CA559F544ADF00F8C2372CFBF03C215B75CEFBDD6B3634A8FD1054A5C016FF1FEAF0526ED8B968CB44D279C04159E77A0289717D3E2515DB6A7B5B4860681CF8C7A1589A3D85C5724A28976193312ADA24C2397D2C10BAF2FA933D71F2BB2794190730242E117C90FAA6391FDAC1EC61CE780A7864F6F1D6D8CC19C024F4791B4928F1A2B5EC91CDCC1FBC1E89E7CF5FEB974A0231DD71D435741D8FDC3730012795FCDB4B15267CD200E576B7D1EB9C5210F24B916A01DDD1BFB1378AA865ED86D0056CA5C92E5F7BD57D447572560ED23107EE6C08F0510E2594F47E19AD6725BB303EED63BE2F94C0501C609C565E40AD74211FE97DE80CDC82B20977A1D24A7E35C3EDCAC3A590EBF65EE6F5D044F43EEFEE6CA71326AA713FDD878CCB6F53D09913420113220AF1E37CEC5FD5B1F1743EC129267A6D5503943BB5D4D21BDBE149E1FF74626B191BF75B19B5A2E4225FA8EC887914787A75EBD7C0CAFBFE0F5CAEE05F2CF468A1604BBB1C5FFC78944017A814077B07EDF48524EB9A9BADCED4E562674210A5EA26507DFE26211B57AD3F613CF951306AE51D4DA53A976E139B3EFF7830D661CEDB059C92F93BDE0209C184BED15E38373A58E8E107B1FB0DF85DFFFCAFE9B005C0EF9C8C7BD3166F777FA5D061EE827CD45BAE34BCF7EBCA1A47F76F459D6DC5F85EFB0D9B5FA5C4BF19494EF7BB5F76FCCEC4EDE71B4BB4A4B37113289873F3D57D06B3D42CE543C113C789CFB88DB8207D26007C809BE2098C20034ECA5539AC8122640A714B0EE35F6B466DD0D0A1D07D6547E6EF4B243CE9835B9BF6CE2D1711744BE3A405F6E46E1824A625BEBC42FF340220E68B785AF5CD5C05C215A6D3E31DF1CA97D054298C0399FFB08B4CE8B2D6D08A3CAFB33EE536BB01FEFA5FCC7AA905C83AF895047CC7BB6051482DCD5AADA28E906EAD9B90CEE2B32F9B917123651258D474CC699934FE732A9DB3D830CE1C33FF39E946F6BBE363AEB3A3F0895CA09F78ED37B66C919A15D85E9EA68F9AEF383A7AB61101BC6D4BEB7E36BB9BCC04421A0BF7A263651C30A40B652286A5678EA0DA516D4BAF89D747D0559B119199A7A615528CCDB2D5B10E99B2BEC59B742B40F8A3046481858F70D18B5441974D4A5F4A732041B999773A93C3FB4325B6E5F5EB7849923407E15A55BA46F3804DE3E8CA9561BF87622EC8E91698C0FD97B6413D3212F1410D9AD0754B457F041A6805FC30D7A7A98700C5D6ADCEF4A1F23E51950F2FA40F74FDD6AEED47CBAE6CBCCB93E8A06950D980CA261705A8EFB5B7BC866F5451F709E8F01791600AA7E93AD41088DAB6AC9EA25285214D4FA5A1C4C31ED4E0157A3A6BB94F8E0ACB66B0E5FB323284C54FA9E07542030679384AAEA817576329FAD20BF28D80CF824D751206BE17A0CE16A9C2EBD0D80C7E643867CC32FF9CA92E9ADAB3E1096CDDE69B6C2990466611489BEDAECCB9BC135EB2EF54502ACFAFE497ED668AF4C984959CFF284B2AE81638F2E11CDC463318845A363EB08385B4002E3638FFFA347039B40EF7315C88EFBF01F9EAB73A6F0596A1A16943B03139F4E1A3EA5182B401F8DBE08527D81ED45682D6459BCC9362DE5D351A5B8437D79D24899BF5316E81A182ACF4F740EAFFFEF365AE54832822AB4F58D89596014FEDD5B99CAABC0E877604BF4DA5A4A8F8A93DAC8B5FF7F68BF4167560579317A7799D9ED14B7C4719E34AA3312F2B9F07321BD38FE232B66FCEBCFA5A15EA6971C92C0EB377C44A8B2C92BE3634705F7FD01F8E2B10F61A7ADAAB93009B0B612CFCAC9315EBFAF321C27B9FB2DA0120A08F512A9A9149B4797E400DA17E749BFD1683DF628DE0D062A86B931DD19A639AA7EE332C53A8C771E787F7B7C6D817F53B6E57153C32B25F87A1DF9407D2390F02CF6DA3A508D1721F55E155E6E20BFEC0D2550598D815F71E065426E4AFD677A1FCF41A24CBD82DB6135F45D74D0E8AED94BDA26A0F42D19F52028122DF55106E45F8B364F65E314EF77EF0B7BCDD82425D8E3212E3C7DDB4EA1D378E2300F10AE707466752B15EB4489CEA807E9AA03B886F3D623514A7D16672B6DC025502BBB69A8AC5E374B94A0F153DD86B3B55308AC05AE5869C0AE5E18208BB0AECEC3D5E399936D58FF9FB933BA349AD567F9CCF743C264606B41D8AA1A4C164FFDFC9853FBE6ACF11F213490A471E80C15DEF7D985AA9C340C126473D1D14BCC826C12C200D72E1A00B392767BDE0884005D270A1C62413AEF754804A2F04BA3C9B4A4FC9076951860F9A0DEA80BD6CF5FD6E51983AF344B887AC3F907A40A694DED8840998C3A273FB1267C4C7CBC2FD0A51315F313E32818B45D6C7FBEDB5AA673E7A8069C931AB838DE2045E79852FD832C0546228AEE6BC77D72D8E984575E27EC610E411DE7E02725085AAB0BA967A9300583F27A1893C1432F3E651BE3E49D60690652D6177B39BCD6B8E0A6A6A812048FB2CCFC6CC636A0FEA989CEACA7BFDB5286E9F9B34EE5BBE0CE93D4A4614A354EA91DEA8BA0FE6AF3A4350288B0CAAB1FCC135275AE5A659E4C3A08C9E2481FEBD150596E684009137DE6A0F1752E25240283DFA58451C94F9AB96BC4F3DF5507230E152BB0C7F0F4C0F00D9480509595EB25BDD3F3B299CD0D165EA4C2F2BA5B022BF57A30E8E39CBBDDE047F1C91F87B658215076EF534FDEC75580E210A948BB1C3ED8BE98181DFB6E15FFDE2BB7F3EC5DA5907A71FAB770D29ADA2762D5887B306F7A8586223D8CB89A8E8421609CD80F2175F2DAA61AE3BD7BD135BE39EDDD2B2687381420E2C92A107E28E3E00B507E325F4ACE54137B37A0A750E3629D64596E1C1B5091F1761F3EB7C34AB6C54E108A89DD1EDB833D21EC688EF3C37AB1F762E5AAD7C6B3764B5EC04B3C3F319732C1A3D20582D9EF30C4B3536B7C47197C97C76792145CB847BD2FB84A7CB460842F0956020C320D48 +MD = DF6E9B0844153E3CD654D460D5370EE1917762F67DC29BECE44DF2652EA6AE59 + +Len = 28760 +Msg = 9740CBE9EB65AD1CE913F40BE236B1AD7141F8EA72104B122FE9AC99B6552B1B3A34FD6C1B962F1ECADD53B530866BFDAD8D81F8405C1D54E20D99F30FB041975F70DD971C17424C601F46516C13534967318D3C5D60ECBEC607C42D0825FFB84D7C5C69858512A3C59EAEED3F61124DF79F13D63C382CFF70EBD250FF94E1684EB5AD806714B4132E855CB20C09951E3D1F185DA09B0DFC4C026FEF5D3487E5F607578D34C5A4E9C301C07DFBB72233542C04FEC18ECE500C4CA479A4762E5DA2BFE630F6E4558192D6561B69BE3695688362DC88DEFCF859858396F974E59744BD0224F578F3B1C6F46C7EAA523F672B52906DDA5AD7A410AC6ED5D3AB823EB7235B1CAB4BFAC92DD73F4FB796A299C5F39DE590CF90307C6BD8A7717C3251CD613917358DB837DBAAC615ACBE2885558FC7A0BEA8E15176756CF5C9204C3E3B02764ED608DDFC52A3BCCC2CF4AED6F8AF14953363B08A0885C131CBB5715EEF0A04D18C4E6EFD59E999F74EE69C79E96A9CE7A5D9FE27A6A651FEF54B09768C1AA49FB03B09B6AEB19B38B00065EC6DA01FB471D1792F7E3D5D8C14381CF68C42708A43EF343135929FCCFF2F6642C13ED2008FEBFE9972BC164E375383F50798CB84FF34E1FD07940A218DD174DC869025E5FC459BB0BBA969A2240EBFE0EFC1CD34154EC1AEA73FF7858749735F1B2722C6DDD4A6991D2069FC3D61A8B23977FAAE5C32D95F3F1897B0E86BC8705CFB6984D49C1EE26A90B3C8679EFFAB5ADB871A3E219801C7B15D6DFC62E9DCCC887CD7F25BB73EA2C3FEF764962246390A4AD96610F5E0E7EB59B32E7EC20145308D81F6F638299057B2276ED045AEA7103B44BC85D33CDD0FCD738035E670B285762C65C3EF52452ACE980C41161D8593F46DD2816D435DF7FE90871A9B4CA1C5CBE6362E225E8950889FEBC47545F607A7AE4BA8B86350B554F61D424FB51C8E9886000E4E07DEC324BB5119A5B5099BBB126B0C0CA0CD8FBC304780A9BB44A4ABF58D30DB4245B65CE20B0975C7869B39B966A59FE69290D5AB3FABB12DF5024DAA065A48A07A8C084DD61016178E69FBAF1FD87CDF78E1AABA8A3A03B9FB893AB7B674544E6B1E46F943B149CDFB8598F98AC08EFD8722836BA320AA13B406890449F985FF8A568C6643B24DB35C25DF8F0BAA2A17EF66C2EE0E6F6E2B42E184475921508FA64632A4629B72F7F39513A08C6B55A8F0483F3FE1AE7528E128FA30745F0583C23C27B9D1EBE56AE86ABC1E2448B15C4649E5E26E189090EA986223688F310F707575F7378C7AEB070E0DDFACFF069DEBEC773B8B50DC86A012DB58612EC90D64AEEEA037C3CF40E42F1948EF837937D67C7059732BB32FC618A203AD06D5F8B472D0D692D93707B6B1B85F83161D13BD0930FCDBCFF94495277D9E390AB671371D4540E66AC18F03D625C8D38E75F628B06F478E6CC4A498BDE811B9DD8B636F7C761277A56122E59D0AD8052AE00C8D08436408EA5433D6027F798F48DDF15BA7600363C7EF67236FA6EF377425CD9F634788E9CE34D08A956E24E3137149B08A0EAA2D831B0F3285BFD230859AD02D50FEB10B63EEA8044DBE97693C29C105C2164EF436B88D5D870F88AD5919FDE8149B39AA65E931BF5D461A109A423E81C376F11495C0671F3CF371F89F81D52235D3413992713141C3F28F14A926407A239D6AD9CFE565CC29F8A836E5643F5EAD4CBD6BC936EFFDC687B758384D070273C8C2D2DBB81123B524147979A8E0C0D99B09812EFAC739465D1A858EF233CDD13769BB8996856CCF509D50CB33E4480A6AD951E451CC637933BF8DBD5168C06A76DD08D42E6FB0BA1044FC33475A2342A53765BD4099546C9EF96DE5B78C59CA6123223E6F72680A0B9DD9A12B24CAFEE32F0B6E145515222CBF2ABBD7330B9A91303B688DCC35DB233C71046716821EE409083C790BCAA893D04C09A8F6A9C35C072E5033108406009564B4135C00FE4037D2D51AB1D721AE6B74E867074199B73B93A6D89DDB8EE74681213BB677014D1CD75821EADDDD7C1C78B6B75ACF574CBB288D2B778D84F8599A421C5B8B9A3B120F8B8F98B5CFB81F4F8BBC416E3E1E9462EEA5840B96EA874A6C8267F5D16451B93B72DD5951DE2C4D6D3F94BA87A62A19DA58E30CCF7FB782745C233CDCE1B0AE1B1F1476983D123440A765D5DB0C3E38C47BBFEC5CE37B94969377394A25A90471AA9DDC98D559DC982A7630B6009A7748E9E5F6FE9397FE4AFBA1EBE530B8C46F4F18CCA271856EFBFE5791FB9297114D952F0E37949E3DD5A38FD3805EFF33DBEC3BAEB22A8EE93B42F85C845CF3C2C00C706E11EC7975F6366C6A38C2417EDFDEFAF03AED01A987E464830D7891B0AB7F67F08096E81F937DF9AB605C3ABFD1F2673FA302882806718C0B8750C59D0B5F27BD16579E5E5AA1B5A98257627F97AE38BBD79A0C21E48EF7BAE4360C003E8F86B89B042B65F436CEDF39CA030DFCE9FF772CD99274BDD0E6252D8EAE877330A21BBF6F266F27D119700EA597A39ACC8C212B43DA9A775A6E165C60F6EFB75701B7AECA101F70AE541A44EBA7500DF14EFC38F2E8E12238CB7479FD4148322F1055680BBCA8E535CB5ECA77A55612E563F6CE2A57B1FB9B663AD0B55EF27B2EE32E6F779C6F9E74323256D3D0A2E247943DDD75836F4B07B1480A00CF4F62092E5FF60DBE75418B6BDBDBA59DA397F23B5470BB337487C863ADA5CD8483E6C54D201883A3367DA2B2F49C66B7FC675AC47DDF7D26CB3B40DD864CEA1A178BB1277B28F198937C12BDD8C14573C429FB139BCE19EC9B446552808D25F8610DBF949D33A06550383DF5F3CBF799B0FA41DC5935DAB118A7178381ED3EF9BDBD632472CBC48F21DEB7B5B26C6D6A4C6D8BBCA609EE39C501787F6EF2A9B45FFF5C6C57355DDB17B7A271C7B56F1B7B4CCAE8DF84C01514CF9F8138150C77AC95EA22B5C7DA74DF60EFB0605F310D42EE071438C514A418B62247DC2C55A23D0E731EF9E514D1DDA73F57B2B6FC4B4FCE62F1F0D0B545AB8FC08AD4449B966219E1D533F26A4C4F628C2948530C0518B96FA8B97925629DAD65FA6551BFE9102CF1B9B7C43C41F8BF4DE993FD53C4E582548ACC64F67B2E9FFA34B8B9E2F64C87436CA6D1D0F22A2CA236FBA10D9192400B11D77307B51487D986DDF418076833CCA1639A2C9B80C309A3A4EC9ED9108A69EC136B73982441674239A6A380850A7E18584E9556B7A6295578E4ADB010D5EC2A3C5BFDD3062A9BC5A2A8AC6EAA45F63BE5002A5B53A037CD2E996D3E0B256AFF17783528AB93EB48B2806ED0D4CA4A037022C585EE7789F8F253803D897EA6F0C40F07F04574AABCEC469CD98B7CF1B352857AE32DCDB2EDF8CC2E3594679B0969095CC4507DC3E9059CDE8AA2BF16FF730696FE75CB63555693C9E003B47E2902A05132745D5D48C0A36F101778C66EB9CA3287397E278BA4A3D1E80E5D7E1FA041344E2FF0D4795476B5D2098E39DDC7738F5B9A871E4D963483EB7286681A3DFAC38D5866BB95F2D6BC430FF11E395279DB711657023E2F4E542D9F39421910CA02ED7BC767B47A33D09696982FC6A0848F12F0A84BFBA1A0B42A0B55C3E3D98B05978B53BAA813130D18ADD76DB7EE8483A2D6B3410B08C7623C6B463E04D4D53BAB51F0A5A3F26B9E0BECF98C1067A21677C07822F5F730FCF5239D69D6D34B1D83EAE3409C4A9CB26B754F248271DFC775CF455372C61C6099F2D8172274EA4FA40D87759C2EF2F5F4B9086CA4A7DC6A5A2001A3B85076A6436AEDC3088E26AF74C98F185057E0781BBF8D52C0E4EB3C4A0D3E22CCA0A8E2D15FE75D87AAEA723A991D813A67D93E26B31289B46E21416A00EE86B785E0F470C2A3D0BEB18305915AE21D0E7D3C27C2D37A05C8FB808921D4E759A4D3139624BF2AC8D5CA8AEC0BA07D5A03E13BA45AC71AFCEAE9F2B55D0FE70AF8334245E716FBD6411800D6043F30D6699A81E1A902F8FB1DD23FC0D9443F05ABFFA7FD25B6F0D83701578C54E051055A5D2785941BEE2CED39E8FCAB9923B7C305FD23CDACD5C6F71E645517D0BF34DA56F7CC06175ED920CD1A6EB713200A212538690F481CBC4433B37BF7337C61EDF6D27FFAE8556941AAA5F43A5EB6110AE73E28E190AE0EC6E6A436312FA72D0AFFDD9EBAE433F60507F624BB7A5FC48C3AE853A8C146A332785666367A8B7F9FB5863AE75B09FC3194D890A3F724D6161B0C8D24E0F0F26BDAE711AE13BA8BCCA55F9AC3BBD9EE43CB3A451A13F9D53FBC4D503F91EC773022158FC66662A7B75A617FD1B9D030727F2D2505231C59D9223464AD713152FDD353AD500D605C38317FB5C6A9E052B95261BA6405389AEEA70855C0CB2870E97089D7F6A6231EAADC116AADFE3581D91B30B7EE22E1D8D91D812E641B7786C04C0BB4AB5A58F93DBC48493A51755B5CCDDDA373CDE4D71E2007F5BCC903215983BA847909739C8D80955C350208C61049F40272496D550E01397E8D817B91FEC0D15D61A28DBA51618FF3E8619AD9DE3CC3A9E35FC1777BB6189A1A50EF42CFF1EEB716C827F793D80AE55065671A29AF4BC1360C36F73D3281C690F7CF2E0F94245F9CE8A96CE53A99CB2302940D09BE86CF07CC7A37073382D2F560D733739FA9D99ED4D16FA5A81066F5AF01E17E757CFFBF9EF6CA9ECACC8128B0361B3ABDCE840C504C31497BA5E15933F18A1BBA1214CF2F019752CB5AE61F9000C85CAABA2252754936BA350A60C02B33EB418DA3572AF143CBB2E99D6BFD8856A88DBFD5329B11813E410A56B0D570EE39E262F902A82F890136E1AFEEDAC591904764CD5EF0676B7EF2A4317A484B994506E9A7FFD93550762975BAC0173C90992A9E938E6DEAC563D7F360AB7DA003248A1CBF3FD430672E21F87FAF0A1A91B305BA1F6AB46BF37BCBF70210B40AA22BEAEF8C878315C24E503B5AFAD8B9D2384F822AE8C3A7941F58F36C484B8298C39C409C32CDF2551CF8A90DF08DF6C4313799B0B781A4AA05D7631B73969C5404D00CB053B786B5EA67DBFA9C +MD = E379775AE8003B80A825F794C83EB652969FB064C541A799E174549580CB7659 + +Len = 29264 +Msg = E691E8FEB744957B275E5FD879A3ABE54D6D6C8C7F589F0B1A17C08C299C559E5F07C9EAA12B3DBF0E06342E6344229E9931217E77F34B53014577AB76FBEE38EC3F491E7E0A129500BEECAE77745F98370CF6D4D0E39C4273AEF366B9BB28640CCD6B11B4A7EA7F4BE9C5C9EE529D0A1BFD1450B5FB9190C1D8BBCF1B80336C212992D428C200B5CD34CA3CDD75E175997AC6181E3D4972886FC9D41038B077CD1E786AB3AC82C3C8AD6DD5D01EFFA39629540A3D6002C9AB63A183A8A85B3BDFCF4D817F6505C7747ABEB763DC78246B6F56A3E12E1001520F5D35C8E3F251702A66DE663C9CB9C53E0584207BEF86ECD046979044DEE55E2639F40A4D0520968BE443C46D71F9B6C75A82D8F7CF05A0D4A1A897E6B57C93922A5F82E4E7578612B3C68B7994D8EF2F85B35BD0DDDD149CCDD8C9084F6F8FF61900FE8CBEAE6525DFB8209026F6380AE677263B1D7CED5F8B2B0B313466966995A7AF768A3383215AD8327707C8CB2656DC1E91902806B613BACB93D04B1CAAEE759B97D7D13CD0770A20A3F229068B28FF36C7048208A4693D4896A9F12162F3DCF18E97DDB84946FABD8FD5039F6EF6DD09540DF8D5A6B7926CACBA509F985FDF23A1F4EEE5145D13D7D0E3E4BFDD1809A3918CAC7734609F6C3F38BEBEEA3FFC3E4B4A8ACAA1387440C92D1CED43511654E95B33B56F988DD43EDE143AFFFE3B6E04F4B38B593251E0FDDAD3D26BFC1B40C5FE0573F010671AC3E3E6210E8799F256B153E1D95093BD452D70968CE651C7717BC935BF2FB77C21029B6550F535C3BDF804E7C2B1A5728AE231C005E31913BE6AEA15BD90491F70CDD222A548C3F38C7B2CB454B3B550699F6EEA351A5BD69B97C2C823ACB21F48A52533587B3B2B51EFF4F453EA66A1EC559F11C387E7B5A111C7D885BFBB557959959AEAFDAC8693B22DEA0CD30454B2C4B1A07AA64E3DF3E4A36FA4666B70E0744F245DC0161AE2CFC5CD0F7A35E67651549E86407CF8D2EF259BF65EE75F2032E3A0D3CC6EA8EAF5FB16563671AE9F1185FDA552639083558DDE883ADF86CB31BBB8764BCC096DF60207E37CF5AA87E0D3565D5510FF0AC9359AF6540C513BD3AC35F1829C5B342E66EC78BE0356735E0ECD97D20F854094D124CD918A3BFD045545B1A7E17FE3E10EED4D11F8AA1B0E33285C7837DB7033AC0D712730C0BCE1C38514FD02985F99B88A20057C9781FF0444C290A7E0645E17D0BEB2CD3A458184F6B4B5E100CB0D69279A9A185736E7EEC42D8740E63D5B261CAE061B54183E4C21994CFE6CD5C5441D6C3D2300509A40CC2EFE67E63D0E1966C781BDF546E9E917FD283CFF735B0017550B5CFB8B5AB22ADAFCEE1E3EC19E0616DEC2E5E7B45C2E547E48425BE27123AAF91B4468B4B1389A095B3BCDC2CFA403B94231411ED835694190E54539F9126688F6232EA13002253E937E508C00165A3EF523621F06FEA1440B81E8499C20BD2D817422B48F8E83131E0AF707126CCAD03A23237A4AD20353EBCA6AF49F7E8599B32B708F9C3BAFEA0A7BE24C227FB0866703677ED85774F1069665CD8EF88C96CAB5EC3F5CEB4CEA915361DEC906A67539ABE4127954FD53B2D734D58F84E4C2E6E90CC1958C20B7080E6E067032186F2B38B80EDD45FDF1C7F10E2CDC0F0CCB734E7CB286A97594B6D90228911379FF4C6174B9AA1C8B291CE061A97C82ADD414F551A1EEB9FC89DBE645CF82DEC048D6BDE94835D6D476F6E5E08E47616ED5766CB369A94D51F2A5F03E5FEE943058C09DAD21E08B822D7F51BE5296DFC398B141817F5671DF7B032B5C4BEE779B7B5ECFD228FAD0A6F102ED8D7A620FB0C6E8E84A020948EECB10FA27EEDF71FF5E11D0E1A2DA41BE4029472CF6F26DD3F6ED6E4A5A7FD441200DC690307673FF9BBE81D71649680E3F62D62433CE3496269507AA4AF5B1E002CB01CAD3AE5080B152D5EA0C910376BD06E4C63F72AF731721E8AE38E91756D816A46830A11CCF5ADE1218A0301711D4889A90CF0527B8C29911CDABC832528D93B9EA9D80ADE81B5A1B8B261995CCC4823B09E3B4236CA9BFCF0F430390554E4C3B3A0EF0FBAF130778EE84420CB24490C5863CE5F3D84A46FA4DAD06A99EC00A17656B4C8497C5DDD4518AD30F929A1FC4F21DF78F87F99FC1F9D7528E63152A1668000776DA4658D3181D259903443FB9AA32D5E07D3F2464BBF241CB2FB60CD4C6A93DE4A6A93C6CC48DF885A8A8175E1A3805ADC539C1C98E1091A6B5DFA38EACAAC4EBD5FBA707DA54125A3DA9BC1FD1BE01E9BE53426E7415796EC7C5673BDA853B9A9A42FB762A63943D57F6554764A33301220AF0FF6648F8709CEF5244ADD70544586B033754F90CE00DD9B3884E27C25FD032261D57320CD8DC3435A22710569B22F95EAE3B98EF5BA723C04C49D53A8740603FDA4551A52716AA8BCAED8E505DF7ABF6D85383B9AC93F212B7110CC9AA680221AA148757B30185E2117BE1E31D6A91CB0D4CBAA397706BD1A9541A21D38A42B9C86EF146880D00ECFCB293AB9E04D3B4BC12BE7D35DA30D8EF2BAAF8684C07144A3322D355B993F1967BB6BFFAAE163631C4B7A865AC7C1BE3BE4B995B6C34F96A5E04BC54BB05B6CADCB6B82849EE9FC0B4A71972BBC36A00832B52B46ECD27117C60ABB0075E438BD58611EF61B4E5FB16D58E2C3481AD2CD10002A7929D6764A11699CD1EAFDA718A1524C6BF18D9FB141FC9CBE224351C6B693316AA81FEE436A30798B817C7B01787FB85103E730E62341AC2E803EA54506EE36E13C8DE2802A84E9F5562E8B14EF55496811E2C1732CAAEB39B030D752176F40B95CD5D5504B055E1A96E8CD190D956814344823F3BD57B5286067CB29A10ED94288EE8BC1658201571C15D79171A3FEEA48DF6D1753F9957DF79D7671E1697F17BE08CC02133C96F725A2F67D6EAE26DC67FF83324C4ADB4E11B732513C7C46F8142ECE31568C26176326FA4DF0376B015620C5ADF3C5EAD45E547EDE93E63F72187DE806681D6F69CFE7E03CFA4CC9B39F6F1B6A3A3AF90F5050A8A836B597DA1A0544C2FE8F1EA7FFB27784D8BB8D8030072947BEB283AF708FEBCC00E1B3708B64A2019D01673A2B57D125CB244E0378FA8FD9C36E58E5380BF1B8E2986B203F090780C8D2EFABE0C8204A6A86BC228179B165A6B5243C1A024A9A4FC2B60CE150BA1120BE333B8C753A6193D3DD24FB4100B29F9F5E0CD41D7A15D5FD4C6FCB11EB903C57A10D264E0FAE632526D0CEBB43236CFA2605F8028A4D504A0650358F5F5BC09FDD7BD31919C2AD1CADE90CDFC5D911691EB16D95C6FA0441F0294592A7565203C651C3057D9857CD1709662081D8C0B9D60625F66D51CCF94603EAA32D1183D1286B2483D251D4B4B16DE1647E4BAFB560E60F7C7F1B2897B450162D3FD2B491B38E1F42EAD2BA92AC5A0BB517CBA1080ECFCE7261045152570C98F43494960772DD8F2601C19D22CCB586A6C7268AF934597A55C79B30FCD44F9859CCCF4F04A8D9341A20F9C240BFA3236A115DED021936BFA3EC90194DD617FB2D73EE30CC39E7D8DB94EDAC85DD2479B3B1DFAAAD2AC1C77DB585586DA142D52B0BB48540F4648281ED4C2FDD2D00DDF7A38096BC6C6842038C5A6BFB94EDD676A690ABE8A82D36C530ADE04DD73F91218888D678C80BCBC530C886F09D61ADD7474BE8153BD95A25F18F8B0C7084DDEB3B32A295DDCA56068FA5A488C1A6949F2480334A54561D81BAD1E63B92485A05786CDAECD5F5731FA72A69B69E4706180D01299AD26A7A07359F9B5ADDCAFCC56C73F0B3E3A53EA8EF35757B39B46AAC121372F50AAB7EE71DA1DB329E00D5977C244255D43BA5232701D792534F441E2FC6C522ACFF45EE18577CF948D780488F5AC4C593D14D9438AB10F04D34B6CD118624C931E85623B4A7F08F844086882EDF0AD22FB1594511AB21C79F476E48BDD43212851921E55CF6C83FF3E8FB38D17182EEA9203A8D01FDBE8DC76FA8B88F290A25E0C46EAC28ECEA44CF436B34AF668298A4B2911FAB6FF585F175E8266F9E8709177305A81101CFC52B3517CBEF6EC44B1A27D32361463864E4D15739D85BADEBAF7C2F58FAFA8EA6A6D37379A30CA64E44139C68512D2713AA700C6FF2535B8EDB795F6E3C46829EDD1CD342FDB0DDDF2302A1CA593B4AA3956573D10BF2A920B05777ABE2E72A313C26A4EA385237E0F0B3FC6039C4AE5DBB055A4945CE74CC90627A5832C82D7667CBCFF0D3CB6425D2E1BA479D928576BD46056E8AF0C3B0AECA0A944858C97C0E64822FD3E91C2B763F888EF4A659BBBAE149FC4BDAC76AB6A507FF2D5C604719B08CFF84C871356F344294FDADFBD560BBA0D1EEFB6442FC88FF1CA10112031D3046D6E83D02CF9E8F31C5918ED87987DD1BA2AB8731126EE506B03F85D6F9FFAE34479C6A7D2D0FACAB8DCDBAFA9B2F02E21C666D78FA034893F2D1026608984D68F9333395E0BF195BCAF7F15CB122419E1F2BF3B3E1E831A61E27336E25EB6480403C90980BC597E87B52CF5D0FF7770355ED502810D265F3265241B75FE2CF37FE0D5ACC2FD3758A0414C4798BBA778E2452DBE86BF9E2C7A3A5563019F60DDD5344F29CCEBDB9DEFBB60C6C0F503432D76EEB47FE36D637A673596DBCA4E55A880FB28F4CB8193C7A40844309B55E4C010FAED3FAE05D85648A339B47D5AE3CD142759F6D009029719F9AF5F81C88ECA88EDD4372C7A827ECE87060F2576EA82389A5F3F3EE51F503709B46A6D3B7F2A97FEDC9BAE4F156A0ABDD77444DD5981A9882E5534CA71E315FEAECA7D5D06A9F74B6F089C3607A17EAC3A200557666817DB7EFD524BF37C58FFBFB0FEAE9D00F78D6EB7240C87DF54D1774F87BE2DCB26C9F0AC70B85C482C672051EA0020C24265CD97F265EA3E2DB3C93FE14DB832D20F5BCA7F0E57A3B7E438AFBDF349215A8D83B6DD80BF2997403DE350BCFA832E2F393B434EE515B46E4125039E0AB05B7914DDAEDB87C2C0A5BC32B2DE4568FDFF238C9C39408C604EAD6F4C5A24A7C36D96CBD897CC38BF600D51CE093B71C63A1C8C36F45730D18EBD951A6AB74B014D915EB2A951458CBEECB4512240342A83C58379B5C98664202F783453B8C8CAB89302883195 +MD = 312083D969689740C23CC287077B60AD35316A14F2EB015FA0A1125CB6347F76 + +Len = 29768 +Msg = 63D016D64A04183EA6ABFD3D353790E22B04CA89D7CDE3F2C60E8D36C7143AFAE96DE671C2CD915A7D8F41C9F80BF3C47AA37487CB9C938CD5AF8AEEB4A3C6294D2E12CAF1F2C7AB70DD144074FE083CF82D37CB38042862DA9FDE75C0121FB7C04F7A9F7114F89A7EE34869C1BB3F78BB58FC646C8B16CA2288A25A050E34B8F6315AF684ACF3629AB24EE6DED73571C1837FE909EFD3DE34985158579F049250B1874021354FB1715047D9158A31E906738FB32D3BA01F559B19EEF248781E23DC47FE2A3B12F1FC70D0AE922F6078F8BD1A9CE13E3C18DF4C5121C132F0DDEDC5961429ADF7B32D62058B4E7B7AABE5C5D050A8EA33D3B5B6E90D22044E58BAABCEB223539A339DE9917D7F5B3D72B910C1C8036C240CB1A58B7BCA0D77AD820ED1FB2F0ECF85A5D0C0F07976EA27871EC7D1FE9EA51AB1F20052307B3F09950C6D1E3822440E7ABCC34DBA278379115CA0690112EFE4B95699E6E135CA8DEBB173CF7A3AD551DC41E52E237C084C318DE290BE7AEFEBF12ADEB0243AE576392C767F087180A125BB30D8D56BFAF703A85C9359182894F50DAA694255D01ACB1D436B270A7B0D88772659E74910277C2E2E9AB0E9D3C72203E59770904789C12A38D0465090AC6285CA8B577505A25CC87CABA99B43166B521BC2BB6857B0FE26D99FBDBAA34849B2075B672D1FB6229254BD7108B199971E8593E1C8E83C2A631798DB5E84098A67F2164F16780481110CE6A9EB4C1BBC12E681E5D248B1E8E2FAAA081B3762F64DAD22C9E1C2AB45EA3ABAF547CE405AD56794F89E2086807279828782D4BA5E820D5D77D020B06536A2584D78D392B4ECE456606A6B7AA9C80B8D5AB0758A36E77F97DAA24C080FA4249F127B16CDF5BBF0F69B4DD425D2C422C0117E9085356235F49D7BD2773FED4E17712935BC4468A9ADAA30E9CCB9B160223064A2EE4E17E885EB3EAB5B72CF7B3715E518AA1BCFDF6CC3EB734FC75E6AD793A439B1221F895F67E6A924DC5863973B5304A07EA1118E7C72D46029048AA73A8BAEA1D8C9073F2ED3C0867F5AFF73AEB4BF477E58A8B6A5A57BEEB382117D3D406F3F1CF99C3C4D28D69A0BC05FC37735FC26AB83F11B6B31966831072EB960096E2C8B790679E816A5868828110047C474BA31F095B3EDA571B6CD8CC9FD3B6B96B8312482A69E3CAEE423AEB6027645AF2AAEF27414327E45AFB1C926E3094B36A5B3EBBA3ACF29E3687B6688321E4E244E50EA725AA0303ACD522505866AD9A6E4E7D5CDBDDAF2F7E327436AC51FC243BDEDBBFB7C27ADAB5DFB41446AC204833270ACB716929AB07CA60DA847A14A2B248B56AC082B3BD8C643878DE662F6BF764E45DC25FDED62495029211A5788D0495F86C4CD468110323334CCEA98558D5F9E2370D46D36286B5494042F978BCDA3BC8B89BC7BB7CC2E5C9050BD1315C74CE3E53A4C5ADC25121D15C7E55D4E290018209B3A077C73B1908DADBF21A42D2541FCE96792EEBEF091F6067294BC541671918374E5345017BC39FD64A4CC56303389CD5BCA803E897414F783252D937A61AE422956F8E6B0EF733DE26CE29D7D54A86CF51AA009E4ED1C5C859A3E23C7CD9F0DBBF0409D465548AA5316DA3FA5C161F4FA13020F92736D9337D2C172F19EA9C4532BA6CCE8E00F133B213B0816D85D83E3A390D0FD0F7CDB993C355614540B27039F45E5184DCE4C01F1CE6ADFFCFD35F3CFF682B5148BFDD3902624046218E5E84399E1F9F8F3DB5ACBB2E5F61CE51223FFAA867D80BF09A7FAB7E221A5B690E74D01C468269EE71DF69FA2F05625129C9CEBA4125208A9DD08FD68D618C687A43EA5AC1E6FB20507DCE29699511C2FD7B565307EDC53D77CD6EDEA24A01420659CA9712D8A76A8B10A0CD74CD144B063B1C314A0E965839E290C7F177E51B41CB92BFBCABFC6265901CD422BA182A218AE329D3A50EFA15626D66DF2F05AD2A9C0C6B9F1E445E9B0B52D37D6F3F518650E1792071B6E7FD9E1EC4B9049332B6253603683B4326120D9A978E8EBA2AC3B84C56C2B322D61BC693E3E1D151ED48B9BD2B255C3C9C600BBDDAF728E7E740B40BD564798F7BE87D74EC0647BA3FA094B6255DB4496C0C6FF7BC080F469E6B4884D998A4000090B93AA18B87222E41AE8E1B96349B2EF2A4CA1D34C5973B3830C894E0DA076819ECE774EA24635C2812736148D69420BD3112CD38F45100302AD4CE41E932C447AB25B79A1F5BDF86B11BB52098102359798E891D3939630223F973B904D7402C61E341F642F9C8123E472B7143875564F87209E94AF8200810092BE1FE1680B49889995C7E53C60AF9D4AAE258CAD2AAAAD1B2C0885D5BDC6A05C23AEC33A58C0855428C3F72CF19D53DF5BCAB8702B1169D0D3F920F11A1D5284CF6F9B215668D8AAD8BBEACA19CD28A2EED4788D753405EAAC40AC97790ED76F24651D0A30CE100B83943AD138D88C9E96648C3061384CB0FF87A331C326DC9027E13ECB70319947B345979C001CC44823A5927198265DD2018C18BD8D164B936229D69DEC5DFD656C74648532E505CA8CEBF8780D8C4E107945403DA3D3F2722E1BEC6A6C4732717486999B57169BFD627C255CBB1D67AC5B5CF0316EDCE1C1318EA35A53B28C6FB61728F0C47E06793694572A0AA1B5B1561810BC99E9654E2FE1725EF20F8D1F9C0CB74B025EC7627A18FCB2C4241793727F122183E5613F20EB3C7AE3710FF7B8DA1BFD52720CC204A1D796BD40996A74E77BB234D3ECC3D6627C6981A45EB18F03AB5B70E9E33059FAAA61841E8A3B2494328C965BC46D5B3AFF06C269F0C7E066E3E70A5D4279216511A78F2F68FE7B7D95C8B8188A4CA1DD0EB1642FF4DC25A5CA0B407D4E87284925473153B4E4AB1E97BD14C74BB52D07DB409CC11E1FC07DC7972126CBD819ADC8360222B4893E2DD6DC6305D4CB0002928F45C7F776631675C6747672FFB35A8616C24CBB0C079C1D201FBD02F934138E1ADFA82D506C883060B4630AB838AE8BB1360811AE8CA3AF047E247C026300025BE214A392EB05382CD5EE866553B7B3A819D9DA3B03B41258AF3008CB7DF06A325546677B954DD8031F2B2391F7B8E9B0DA937A7A47E43AF34BDA0BE6D4528BAE57BFF89B1B743912AAFD7A169A1629C285BB00633101EFB6E2C717305F57FA9967D174275CC603EB122941E0047B75E7A92C381D18549E222C4E3087DE670898D789215ABEF33CE70B2C2EB72ED51654D1FE3FFF93F813DDD86682A64AB795D19459AED7E0BAF9B9C01CE522E718755A23264D6748B5E7475E1D0FDE8D9828ACD57476FAE119195FABA768A1AC66BD3B0AF3AF80E14BA86BE075C7850324553114CEA9890089DC9703210C824ABFE3F656595ECDF0A9E9E59C2EF58BE826A5F135F3942C63A6D3EB40B39C8E234E8E2371AE94BF17E378D4E9DE4FBEA579052D8E0DC1BDB0DCE319D4DAB6C7F53A1FB75903FD2C281F033D985806E476794F40DB738BF774454DF114466E47BF57D93432DCFC3BFC09A59CEEE9877117287BB48BBCD5069EE3A2153A9C8CCEF2D2783884C399E59071F698E1E85DBEAAC203271852A056D287EF3084368AE32733D7ADC8CA4C1E732FE4A0EE41B53D2ED50CCC0D79E127A5CE58BC480E432D8C855648BD44EB87FF98D58E3EFC5EAAD36BF84572350672F7FCF07C47C23AC9465931BAA94431DE7EF44AA957EBCA2690063F3EC9A966B04C69B341C90524826D27869CC230327B883FE529EEA24BC11334F08CF836705C3CC22A460D142FF21A292B97634805B873A90D32BDC354D574A0AFDBB6B0BC472D27FD9116D6D911746BB104DD9C65A6A277E4E60A6A5D77B191C904A4BABCED9CD77F7A7B5C4B7B8C473A051B5EFF46D71C4A0CE81B87D449F583E6BBFEAE999D6EFBDFD6B4A7FF709DE3ECE939CB5B127DCB4DEC94ECB1CEBFFDD3D22237BE5800C371AFB56456882AB3DDE814EAFCD13A398C1739177312F8F7DDEF2386E08426355C0AD2AC2111EAFC57A16EA2385D38DDB85E32827BEF105366617BF8585A25EDDD66037B8F1B67C3911CE1052B2255B44F157E3E73F845B3F179EF540CECC30E41731B02A9BB3CE6F390D273EF3011C9227D274337670D2CE90629639E62A5171CF26D30DAED75EF9A02663627C142F9B84C9FB5CECBE070B4854E6E406BFC937C8A6B44E7EF5F56CBBE6D57FD5D5C1504D77A2A14D844AA14EA52AD888600FD7DDA4F819716963369E839B847E95CA7D89FBFBF11778903A884EDE8FCD1E00D80F9BB241E8E6CDDDF07A2DFCBB5CA7028A339999704D12903518FD33898AD0384D67D22CC63522AE64D57FE19CD0B778B56FB531C00B9F915C586A0DCA070EAAC22E84FF4DC718915AEB37A305BE02D0AF2F4108413FFD5DF74EA1BB50A6F7B172EAE0531384F6B11693D9AD6588C4FFA1C131AF8BCC39FB49D03C850EB45C360F9941D27C4CEEBF4D54DC75F40E3920613C372978DB8F9F5005A634E22CE15CD95F3EB73CB35854FB5FA9EAF0D8674934D2E44ACE74F473B1BF1DAEA7CBB91FF0B7524B51FCB51D76A21382D1E68DC6CCAA32432266A60EC5A15F154F390F17F2A32F22EC37F9546B066E5314428F1065EE24FA74E7C104B880991124D5F9C2C431C20497CB404F04662F583D9E545C08E10717D4A0331EDFA018933C72200667BEEF4A3042E34CB81777C20171F1334EC1863F5A77EBC55AA06E4EDD837C2FE057F8DA87DFFBF6107386573346A17BDC3FBD873AE7CBD3E78579CE308BB6CBE6DEEC7A24C5C7DE64C2C857787A22BB7A9E698E9A6BCE854D3BE63EACBE4E10F1B1705CBDADBA7DA8C2037A0438A6FA54E032547474EE8A28386B4F0F638396EF7125E77CDB760465A0E196F1E44CF776ECFFFFF94DA9D45A6C2A7747034FF6110F8C818A0B4DD7468D5237B6DC5C59B2403FB0BF2CDE553E0E7203AD2E08AC447BD36CC4259D404058D499F7D51BBF7D8A18FC598A9F322154DB7A406FC67C65B60AD2F9E4AEF5A20CA1A988292235D9E37F2CC6CAA46063124E4EDEF6F6DB0294637E0F5C24443FD9E8F14D04D44E6A0F89D390334102990991DADE07607F40FECCF010AFBD732DA1D70305E61A5C36AB8613BB27524CB64B8766F47E1C5D42F1778FA02ED13C275B12906FA1D6FFCC114310CDE819D3B428481AF4739E962E3A2D90D864D4319DC67F4BDDAC76448B67FB439793B68B79C1DEAA6DEF04A44AD66F2596CBB3A9B5460DDF05235D5 +MD = 07128F9452CF601E2A305AB75CDD13017BBF79B0AE3B5B43C2CE0771B04F5719 + +Len = 30272 +Msg = 86A9E1CE8C1F20458683CAD72CBA1A63789E61F8CBD6A54343064D72495A8C686A073A819DAB8582A29ED75B327F02E001F64BF54D4C7A42DF210B5FD2E225607289DDB67D002492EC0B2773E86097E631709AD777E9A12B14E6FB0B27D7A6B072A0CF1071365D04E7648470B6BE00D588D9378C8E1AF2F31768C56DAAC4282BB3911969B381371CA46B62F3EB1F50DF99535C00FF523D781B2519E1BCFE4309AE568B1AB92293FBCEDCAE52B1BD6C605BD35EF6330A61ADFD5CEBE62B78DF1C95168E41260B520B76C40CB767CE844837CC486E66A6D6892632B87AFD270A965352EEE8A8D234C566BF78B5390D940948F3DCE2E973D68656977939A787916922CCD949BD41A0640BD44A33CD772040407BAA11D95A6F2EF18E9F2974F1039C63C14FFF476D976CE57CAE6F2ACA0218AED385B6D91262977D23E5A0AC9FFFBDA87C54C895902465BAC9C5C6BB3E10A276C3AA7EF902B2FFEBFFB014A77F65383A277B10D1EA736B6D8B845408251046A1C5548F718E948E290BC94C86A05E030D7C0183CD2BD3F3166C8DF648FCC3764AB9C27E77F06BA72DE87C79CF7F8D6E83A8D5CE6287D2B17B9E7D90B25B9E757BECA72368F9909D8935179524C136B0EA3240D4108265558944D8E77701CA4F187BCB48708F4C015CBDB81DDB09CC6AFA46F4734F7853B1409413ADA5D5584494034F5B4517FA7DE3DFC07531CB6FD213A6874C212805DF0C8DAE74969E54CD9AC4AE778ABA8CA52619E379EA17FD109572F2DD38C031CDF58DE8F00E1E5FA2F1CF2EA39442116FD90DFF3DBC92CB52AFAE95EB17535D48415998F1235FD966499FADDC4135B269F6DB55E392C0D0B50E2A94D53B13F220567729698F4A6465EFCE138A5DB3AECA6EA2DA5A4311706BB8E3AC2FEF19CEE75877151898BECCF75B0555347E52C571B8C0001ACC08C3BFE64FD455628DC7B8BFE30873760306C548ACEA0B7E8C6124065A16B04AC50998BFA57FA1F595DF8272A0CF7D4CB401977F048D9530E5A1E5CADBCDB0A3D524B6CEB7D16B5D62725AA083B55BA595B46D68310EDF2DA3D6E0D50D87414E6421C6C31F51FA56BF9B46ED5216549E2A2E0900EB2194FD413A40E5BDE52A85063AA11E51739F7325E109E16882B9B8E0E2DF04727FB3EA6C66E415F2FAEB65CB02DB101D97B47932FCDE8F121051363FFC17DEBAAF557DE6314E8BAEEDA9D79CF7CB612BA87C7A2910A72BA20EDF2F6927CDD6D6792B1C7973A604B7EE9673EACFA9C014FBD088F3706CD762727169BBAED092D80C75B47CFFF0C6AFFD8B7883D8A8E1FE97FF1FF6E6F39CB47D876BBACE345E205900ECA0F6A193C1150748C2C5EE97EA8820B846AC7AF90634AA62CB6E9BA39C5D94434E9DA3A566CA2A089927AA9AC9A5E13F2CAB624F2A7277CA415FB3CF19CADCAFE6FC586E0439BFB120589C29012C873D5ED751E37727F867D0FD4E2DFE3B3CD53995A0F4269A3DB407F5ACE9FCE499983135FE2EBC48CD7E708680444AFBBE55838C92D23BEF0713A9FA381789E760FC64ABA84548461F62DCF93300BF8E1F0DE9B1E2FB54F3722E0748802704532A156367984604B64EB400559E907C1A2FF27D3D91C523AFB0ABCCC7575DE30C1AABCC4D0AE4259F0ACAC4B2EDA798970E4EE99C39C09E85AC281EFE136B835ECA8FD709D93C138E2C32E3D74444AF0CF0146FA8E90C25869EDB12ED7FB87CF170B65F203431F6C74C982FCFDD6A079E1487F1A8F2F1B2902564031A1ECEFA435B6E6A6F61BB1A8B6AC55D6E7C8709291F1DBF627EA1565F1B834C3765CE94A3A0E012DBE7D70146ADA1C74B08F21C38F05C05149EB0E7A6CFE7C16A1909CC3B5796768036813142CEA62CC49634E07CA2FB27476019D3F5D32670AD88919579B91F79126415896BFE30E16B82289D8BC775B5D1CABF9EC28C4CEC19E6EBC91E40976ED3C79B02DBB257458B84CD256CFC559E5BE5B9EE9AE24270E10448D497923A71FE428F13FD1D9FBB49F58EC62C5BDDFBD34276872BB3E7D55FDD1668F8856CD04B4F616B7B21E2B4ECA9F727903D935A8075FFA7F388DF6A89F5EEDA1DE46E26275EF5E5CBB60A0A745A38586FCB5BBD48312E6A665558CDF315969C2778F270CA2A2320AB4B99080A008C56E05D7BAA9E82FA53B0463D74CE409BECAADFBE45A3665945BAC2188D9607DEF5546BB895E5EA89EA1E0F77EC533929A7DB48410EABBDB346A309BE64DFD207DD20702341F1819FAAF938923E44B041F1127679549E3BBCCC5F8F6EC7131952522166B5352420CB210C09C20357CCAAB709628A92F57C92A21C1C9A7A7F4F83CE87C6033305814ACC8101013760AC25DD61148AD63F8B96F1D629EE5F42A09EC413593FA03B60E3BA22423413320C674A8ECB1AFEE2D6A7B0355EB8915709C1D4A0B42741E2958988ECDC18ABE89AC555543BB9AEBC35243397F9A3F7A53BAFFEE6BADC82D8A5D58F20856219F28D5695EE59BCF14DDFD5B703D93F371CB608FE010DC96688060B59C185B043DD8440558BF6975FA7B7933350FD69D70F9C9C1B89675F4B08CCB7CCF67CA457AB338F744AD9D5958E8EF51F3203F8D70E05C208A310AD2ED9898B1601EC3BF5693B020ABD7FE2B5019901B11D7407F13182311CB4E7E2368542106E03B5B3B864A42649485915B2584C62FEAE05C047B1EAD2303245C3450D7E872BF3D3A65D9E6AC6DD623D53F879000A3556D46760D0548A552B83ADC917EC8617E953F4D84064E3A48A795291240ECE56DBEDAD22D05C78752ACDD3B5854FE59C217EFA6F538D15EE1A78B5C4791B06057E593B3BB754AAADC08D71F7913A2202D53C8BD1D83B2142DE9B70ABFC0436312C1C59193F63E2D209F1D5F1F81FB4E8FB134F656887A71F68C07323FC534CF6ACCE144C4F7C7C41818B18E76E15C1C0258E5BC63887DCEA5F99738BE85CB1F4C9FDF1FAEBC534AE8A285C80F13B2E208C5FE4AFBAF5F6C38ECCCBC8B1E9AFDADA591247BA07F16BA9E4E36F940E569834F1F80CBCA9CE8E3EDD4CAF4D32D37EF45264864B36A29E1729B2AB9AED0C450B45F9D600E773DA9D6C5F780055306EAA6D19E7AAAFA8F41428247360FE13BDD873BBC749DCB509B02A76E79E2F2E528E4F381B7BB3AE24B26FA32A21D7723ECB9853C1B606A54F14B881BAB00C2231C770448656151F7ED9E4795600122C2FC459C872CF53E80E4241220882054708CA33B2F3B4F21FA384884C810512AB5EEA4B6612D3E4DEF6040D9E5F3603E6EAC73C73CB79CD540435ADA4A5D9B82DF4545B69EE0F4840D2954E023B48DA0444564FA3FF4259B7D8A20FCB66241C6F06412669CEFB3C8B9E9E0A83E9CA0AC744EC7A26D896CD43E994588278A56DD5827E2539B55F8DD9F121725527B07623D4876ADEDECBFE0B4BD41510BD30E3AAB253098844C60A0B598E69DB2E1CDDD77A964DB8433756B5F954453A2AE8620FABE6737B615DC4006D03327DF04E65C8E80946D9FE5AE5FF38A58232EEEBE85797A0D332B55B21770B10015379A9A5294404F4D356EEEEA47C129E40B6014C19F84CC1B96E3445935AED67AB3A1AA53DBA570AA0F29BA19B2AE1A6C48E345F39A1E1A28B2BF637723EB708D989EB25DECDEA9ECAE0B2B2D93FDDCC68377EA3FCD2A9386B0CEC6893BC3A57867B2E48201A6C019ADEFD0F05553B0554B938D744872D061FAC649A68D834CA52A4752AB4B36471C5D4C65754868C031FC35D8050E50E803960F8175FF0BACC08644B51D316DCFD9982D076A6A2CBADF7006167FABC7753084B7F75C138B059F145A668C59957637BB8F7ABEFB8922D509FEFBCDD357F15EDF1F62BB16B94B6A1E7B4E353256DBE17B2A466E6C4AD72D25A177AC333BE505DB8BAFD9244B5068BA7D4DD283EE08459BD47B2276F3C25DAC5D7001EBD0E8892BEF4F0F17272DBC70D15B626E3643E1664CB7BCB5CB6521C0CC8E2E08357FFC3A329C72DFF9B4F0009A3011931A1630020AD83DF6A803DC11DEDA448260206475FD7B2D0C4AE8057EE9358AC8EFEFEADD2835DE0EE6D8F5A2593B7EA0BD5F8A7FB0D003E5C175E4080EF77FCEFE8C34FD09AC0C5621E034BA475DE9DDE49D2D80DDE836E6A75E9B257E46373AC2CD1C81F8898CFE8B2DAB05D35C404477C13303438EADCD2502ECAB5689C3B0B01CC6128D27784BB283ED8888B204160361DAE14AEC97CBCD81A9C1CDFB372A543FBE7C0314613FA7A1149221A169F58F26C0F0086141292B10B9124D91123D95074E53EA029801E6B187E5D28D83EC90AD51C80D9B350813CC019C7E5A2BE39BFCEA02BF08B865E6B31C302F4090166AE3A624F19A219DD7E6ECBB29578BC96A919E04B650D794FD17C81EE27AE97455939727FFECF7BF36789BA34B04E8892FD2236D6402C80884EEFC9388DE1621C746D663582305B6A7B3E1D8854AFD6339785769D4ABE411B9F990A42A5EF9B43C8F5C459D50559F61690D7816D43CA9B15BFC4C5DD5A2F520527729BB187C14CB494885142BCCE3D9D1737EE57518A1CBB8E9194DD9D27276E875EDEAEC931B1227BDA3BEC2F7C3F0F5690C5DE5E9DB8ACED68B0963D35535E6F8962FF45264B0112B88C9BFC9212027DE6468E86F1AC632D4C8B264AD1EEFCF2F5971ACFEAE6B8925617034814CB3C9610E3B34284AD38FADD07DEF491DDFD660F4A54880C6B71D9DAFF18B5AE53A7274AA6F62C9ABCE4538E5CC76E9FD8B271778FB8587F154BFB0ED98E20A4A5E58D21C7201E70D268A744FB9DAA1A3DBEE501C6552EE5EB7E98FB426DECB5DB8771F0D1E8692AB8FCA7B62A5B14093DB30AC68518CF728FA8757677B67B95A732D8317D47A615EB6772817E89AA523940B9B08AA503E74A5D755E8C267480B57F398BAC10FC8717688D23A737822F7A031A3E02993896C57324B0C049E0D0A3B6EC32BF78DC16D5436B10A3988112AC87AEA164C0612DACD8FAC6ADE09EAA14B443524DADC696570F8BB9219FDA4AF04DDABCC83BEC86A4E30788242337C17D721DB5FA208883D2F00AF1D1599CD58D80DFEACE67F180EA8953F92C16BDA7E620312CF4599B4807A705C50354D8DCDC2D4B518CD66225BC9C90BD3383163B24EFF6DE768EABD77E6EBFA2C2EDAEBCE46E58ED8B858B55ED87FB14E3489BA11861ED0434D1C3C4D2090D28BF72ECD252DF9DC34BDC41DD409049811FAB93254B2395271244772DBDB594E2DA076906D0E0F85A025B2FF3C6EC1088C5C37F85B92F6EE7DB41F7C867E35B1AAE99A4E6B60F734E01E5980B608022EF2439D582685E5E1232B25C71BCED4A91E3ACEED3E6A1488D8B582D10B7971E9871E5AC2E6936EF2D55353D +MD = C6C25CFB97E85B3D59C5F7CEAEF6D06FC314C0B23F37C3C0454890821A9CC816 + +Len = 30776 +Msg = 1633256AB03B20CE079196B708A1C02D1B6072219070712C8589EE21341D50752ACB6CFDA17E982D828BBD6CDF54BC7232FD418A323D64939928597B9B52F07CF488250C5E42BFD3AB48012D709F8D747225839296386FCE5FC5AECC4BA7A1076D089DEA8ECEFAA0CF66FCA8602395719C12A04F929321784D7AB8239FCE2FF3BDAE046A266132B5C2AD9F7261F3014E87B389A6695978693D9371D0B1FF9C405F338C2FDE4687359603950A54CF4B9CDD9B24480B239ACC5405C14C886BBB0378391CEF0662A38882BDD09E3866AB9A66CFBD28EB5EE4F8009BDEFC4AEB16700EBA7DC557B489190A71FDA75E85F7EF841697F70FFD4FEA185E7A67C81C5B8F273BFB97B2CEF695C1C74446C4B425BE6B2E66DC0AAACB247E4467B7C7D84EC33B6B5AB8FA1979F503008BDCFF948CDBF1226B1B066CBCF34797298F3BA8C60FA01E0AC8B803223C656112FB91435D75453BAE4707B63330467DD13E0A4B992E6F7E46995899A2D95D23F4AC3D0802B2A6E7D024DEA19CA408C4BBE053F14C9CE264F129724A18BCB18F385B1CA091A11434EA96D98C8D0602E98EDC8DFA14141AF93ED0BA66E885E9FA108591AE59E109AE34D6B9F5586E4B4D75E7DF7C32958A65E88A9BAF41082A0A3F11539DC4EA2CBD9E1C6C3C439B622F1DE574FA75470C8C939B51D2D1C2A7204B859881D43086BFD8FB90346218D099C5AB36846F3B98A7C847318BDFA01E09717943FCD864C5A8A17B6CEB89D98E872D388F20ADC2BE5E2006846904F41682FB1283214F3D20DBC9FC9E0FF571844A1282E88590D7C085B2C568EC5ACC4462B389FEAA5757F7033187E2DE31955FCE55FEDC909255048B327CCAB2E582BBC9D8054BF5CB45145C7D3A3AF9CD5CF6ECBA490C634ECF00E646BF95E8642C43A4978EF08A574EF1F78F6CE57C3B34B5A123D123617FC8EC9B2AC0F9B70A7F6062D38DD7B8E9FB4ECCEF13DED5C0477483ADDAE4F1CC0CFCA274B1307ED0DE72FBCB819154CDA897D7575213042615F1741A8CB646A39F8D134FDF9E60E000EB8220F65CC30F5FA52C431B9E3B6101B96E25B8D0440B96E572A18A01747C02AFCD7513542F7AACE194632099D16274F31EBABB60DDD94FE43DACCE900EC0902EB5E686D48ED8D09AE63DA0E15C736809903A0297A92DE84E0260F11F446E1FC448E0EBF59FAEA3C726F97925C57CBDF85B1F77078D36257C85D56CBBEDCE180FE12B687ADA2DC9912FAC60334166BD2CEF06B089ED5C9563844D71D8FEAD2F3A93F3C07C52537336A8A70BF5B596B9007B9FDF2D082000F20E6B70D2A7E6C7ED27C4146895A6D85A246F623C1B9258A2F891F823ADE4CEFFD59D4FFAD077351E2F506E9A5BDD3900F0204B9E8969AFE72F5DCCB9CDF986D197AE4C4DB53014041AE6221B750E5290E307AD292C8DE6B899235212EF8CE954785537DC9435AF11E0F3427A9C7B22EFA752EA0B7EADE5F6EB4093BACB78676E506698139E4F774423B8942166F9A7D22480D814FC0AE19CF4960FBF6E01FFA65C8DA5BED4F1AE2B9ECEC5BE7B3C38DD4045B0C93EE6CC77A7E61E85D331B23C0D164B104518B3405497054445A353E9B48F2AC5E8E96298D6655614336CFFE6D8C9C915E387391519AD2632366AA3BC935030FD12927EFCA17505ED74C94650C778539004854DF6C24269AAB9C273A493D3E5B0B1D687C33C2FACE46B4BB3742D6DF743D09164D2E0EE7F6BA128BD5FBA2E3B33C199AE80FA9DEE3AD811D02BAA3D42A6362B2AD47BBA8A2C5CD00B46CF22CFE367281488A4852EB8B7FACE79F0CA6F8E78D32578DFEE01711C4DCF3C26D0BA13F3075478E708C5C5315AFDC2E4C0062D16458213BEC506A9E991A61825FF78DA9BA1BAABBEFA56B4A8C9E2E7B60EC4B7B541C8E0F79C86BB5F03F736761A37169B2AAB8884EC6EA217B02C59035F5BB327243D126B78D4AAB430212439B5A75B80618DAFEB66AA3AFF866C4DAEE47D374B512E74ADA933EF24A841BA271C6F02C870E8AB950FE06E93C91DF0E99165DC01BCB190E411ECCD85358FD4A88127A22E4CF4266A90845124BF97B25D7B1C46D3A0D68A684F84E2A638C692A52CB6E8C651A3AC492B0460004073D5349E35552359CA37660F77B2770D6B2B3F7B1922424AC4A8598B4C61A6DB507608A72A6A7D573CC055206276E14005A28A0EC41F28D7E260611D40F089FFE5E529375691412F4E9E12E62C3BE2C563C26D2444EA9C69E6C935FEB4DC4E802E5FE3906F8ACEF4798D940C3CD574BB5E74506C3E0B70CB62454A25F589EADB6B0709FE3B50417CD1D98F08E08B7CF68A04CCCF8D6588F9FC2F31E533CDA6159BAA4297FA446450D71C16EA2324EC09773E7C8817ECF680ED12F64A04863EFE3D9D8760F34DE5B0860B3991FF0EE5EDBA22C4D69120DE19D5429E4AAE91C9E7CF05CC807159A58F13B480872AC1609D87E7009DEDB71C09CEAAB640A2B6135855CEAE4AC2954933A0255B425D9FDCD9C246F82AEB7C3BB78C6E73E03DB7AEC4245A28693FBD36EF4938D59CCE19EAFC00671A0851612406A075713C5D1154D8E13B59B7C5B0902239D4BACFA386AC817AC5EE02A181A9A47C622B3ECF287E14843D452AF347110498A620B34AB4E116308D976062C9EE9CD35DB6CB79805B93AC9A15AFBCB52F1ED4309879D1924A4BA190B0B86E60A516E77D34B4E0A49D4EF2CEF3CC2F410FD8EC901363FC9EBD75EB460D4D8910BDF27CE26A8B4AEB94F9F76242401DC35D0644842B99FB6C439B82D82ECFE1AF0D01F9BECB15BEC83F13B260F7F714AA381032923FDE8F8018F3518547451435C9A5207294D08A907C73696F6CB000745E072E25B73B3EE11595433D27A1F11468686F08094F1D31F5ADA81F11F0677A29D72EBB2E1C4792CCC607CB938647E1F153F9EEF03D982595C631E49B6B7C1FA003A6EB8D59CB8892CD0888B05240F12701753F89007C859515A2FEF944BC60B36003A26702AC6FE04D2E942978FC31A97EB29871D6752399D3521720729007B6A7215A4282B2A4EFC2C56BD129E74C9B00847692B96FCC71CF7A7F19F3FD6B45C519FD73B4860880A2DD74E5727B31A93F0A87F0078155344AE9F7BDBF00D83393B634B5DCA88A398E42C320EB95C4A826ACEA90B65E4767B2EBA748F97C247568393E2FD3A66075CC12935B6D7EB5C2FF5282185CB62C73972A37B3CA508004B4F796BDF82B83B5BDF90D6BFD32B5089B0CA2683DC7FB2337DE42E650ED911DBEE1EF98257F9BA5AF54B1A54B04C0087A5A64BA779D86461BA15337C2E7D4955FDD777A025DE226306A17C384F1C52CDB5946FB0B46DD5C13BD7A55FE2E27E4C6D40D61D6FFC024468F8EDFC7C7992DF5DC5D05063FE723199224F53678E48F25250EA28BDF1089718EB8B730D1C06735C2F871164E2EB5E885A8DFD2A083BE97EDC94159CE9BF75D2433F1D782762F771903CBF9A1C9D13F710BA0E151B079DC0A8262BCEB1DBCBBC0F35DF6EECF7BAA7105B9808745853C96B4372E95E482035916B726DAC7BE95A72B19DAD48DB1B19E6EB2EDAB5AC1B3013839E7806625ABC129F41813E6D71EE4AB2040D81E42E6ED73ABBA64FF2EB433B910EA7D4F5ED3D8D27D39BB454EC019DF6114F544D7B155549D0C56D14551FAF353994A80F30F3C97E863A4F2AF316468A568038EB4D799350A6FACAFF90ECD44E0F44EFB6DC42EE4B0DC2C59EA9C1827326DF08C0A6E55CF4F9C3EA0E78CFF3635F5D08E44F1400D20F638D56BA84B4832090454DE57EF04B6C8805A36F63E5CCC6E830C87FFC164647CED20E4C486D09DE7A5F9E4B68D5456CDB22B0DDED2B95B3BCAE529215C2D25D6823C7D66A4FAE0A1E9F022BA5663204F2314DFA51A1F10E11D6D62A8BA6C28B6AE7DA1DEB5B57F2B65D7456059AD9F03DC5A524054DA39DD100D74EB657DE219795E3C45A0E4C762BA22F9DA9D8159E425A1EE783B4B22C250D8894CBEC706CE16D5CA393404FF478F141BE7CC69E45B077BA1955F1F49EFBE4847C795347F703300F672334F490ABF8B644A34B56DA00EC45A350314B9ADF27CAF7C51CB7DBA0C5477E7D37662F4F23247BCB8F7DD5F3E9CB8BDA40FA97568832AF0ADC68F71422E412254A6BFC8943BB465B01FCC8DE0B957677C78BC1F7566953E9D2446239F602C682A521C14F741FEA98C7E27AABEC339B6F5B94C78287A894AFDAE971F8DA7C7E4A4C92C8DA47BE82DC2532EC2DA9BACEDD2BE6DB2B2FB34DCCDCB34116507376578CBCA105E5E443BEC0F2EF23BE34CDF862EDAB34F0FF21335E3ACD92F59688B419F824EA61EEA82BC80E3463452192377131BA51FB0795E089FC077D0ECA8012E58B0637AD7022206887FE9EC00EE5DF7AD2E26FE819EE35C7A179C579098AA3DF645D9064CD557DA90BDD21F871CEB048CA56DF9653A10ED60F5E9F0ED7F8D89BCF5C22D1143CF44718FF2DFD8E10CEF8AABB67D2305F18177C1426BD4CD03F2625E459CE905067826A214E08E56D8F9455593E6B324E72DEDCC429D3BEFE2AE0599E360DF95E80D453A3A849E48389FA745635BEDE30E7932DE6A3816E31A2217F98D5E40238963D0A36C159FD4EC32D8A5CF59D433DEF3378634AF6887FDB3F3EDB96FC8840FE1B538C329674AE810E8C8B2B46DB208716D38E9D1AEAB097068AD83ADD7DD2647839B3A7388B0615BDE26F8692E9C07D8ADECC2A875203C3D3A9C6CB1D7D06307E9E1D9C3BC536DD8EB271E9A2159C904E61E8C9357FE759F36366AEF5A3D14CEE82913CD2708AA6069369CED763C8E830D70924E82E9015C2998E86EFC1DCE6AC2EBCB49455542A6D7DAB265AD6D7381FFEEE1AA40F8FAC0659B6FB56BB03CD8CAFAACD48D13672F7D524EB9684CFED4DBB7476E99149C28EC08F33BA6AFF839AA178F86B8EEAF1739C829177BA78547AD394136AA3FAD451A11E9642506568B39668B2436610E06EA45FA11D04D3759B033B5382645F15B3C39270B81B80487643913A24F2F1C1A1ED57C85CCDDC8CD6D59B62FA67CC80572968C8FD01894F0153634C88792A7C4A407A4A4CE46CEC5FE5D2569F95A27DE242444EA0C715B357518CAEA23E767E8545983F0D3A4DF66111B4AA1D399CCAFD796D7A80E592D5A51D2B3F60B5B04F8D9C009CA56CBD4DD84127A29B72ADB7645FB7279C9818B2B43963BD605F45B6575A5E2E369E0B401F5EC10EC703F1179B0AB9D4A89D6F096573952E513827364A84D38922734137E969D8167D6959B70F42F2BDA37E4C989ABAA8024C1A84ED6BEB74780927F78B32EA736B9B2B4A795C355C0319811729D9CC399D23519730338D62E16E5035FC52A817090703FE776D65EF9FEF5BA5F4FFEC3CC8E9EB2E312C50A479BDD4E6AB0A56C18C2DF69ED408417BEE28BB41DD13F8366FF6EDA4B34090FC9BC045271 +MD = 192EAEA84038D588AD55DC5143F2BB10040EF78BFC7FB91F6B5E4C053466AF00 + +Len = 31280 +Msg = D1FA123C468D0052C58C93BF306C7C1DC90968ECCAC6B0C2F4E3ECC3F908F2BE6A54AB69AEC5C496D291D0263243BF1827773DBFFC02A9D5FBF7AFF63DA5355D5869F492B0CAE82B229A36331DFA642557C6F6627FFB0995E593DF8E0FBD3ABE66126B7E5DA1F1891BD28873FD9C96C0076215B60548075D16CDA92A2B99EAE5776F6D1E7AE2D8CA30546BD33271D50A6FD34B23809534AE6E4A875D6981492F23752A68D1E870D174A021FF8C550E01993E3DC3358274E4DA2B45C000C43FAC307D82EE2B5D42A6D9849C11A8A5676605B7B3C45220BFA5BFC7118E2487DA143DF0797870303C185C9233AF63F447CE53D8199B986ABA367735FD745F84F8D94BA0C1A08DB280D860BF656EE871AD1094FCB41C7BFBF0FBE0959A31B3ED573498AD35026694ABFB90684B35BE284B18D4B663CB2EA5DE1A88E2947BE8012858C57AD8601CFD1744573F79906849B4A5552AA87D5E64C21A054A7FD31B7EFE2A5E401553463FDDB881355FD94C9EF7F6F9E3DA4CD845EE16DB2D1A7D4E31C9E8B42C0EE5D30296A606B00AAD9EA09509208188D4A15B328EF7564C2E36FE79C06E466AF598EB64280F0019A3AC81B18FA254B0B79D7B80ECDC9ADA3DD3D13F1899CD3EEB6CEBDACC7F69E6ED02B2550EB3C76E1774E189661BF791AB8842A92D86AF9489771D1D6FE8302BE395D6750EBBFB1ED7237C2C97AB655C7A6C7157A5EA5C51036ACD9F1C031277A90450BDBAB5D4A9B36DA52A6EF7865BD0B5571F228D5D61D15A01C36C3A7D2F133F04D0A17255271A1FA0BC7CD60A85BFF17EFE1D49A24D7E87807F67A01358B7CED01A112D8B71A6DD70518BF6AA8B65A5D510E6F5084F5ECAEF108F6E6564032AD9259E8406076B9348CE337005FA4B205F47736A79693C7E963635EA634CA67B9749A098B299879973CA9CB355B1080DE5A9054C7F39C158AAE4E25BF72C0547FDA9F66A234AC3E2DF8DD22752AE66D26FDB32515B9E9239D1B583A314AE231DBDCE9013DA4F98213CD6AB9F42582F62D639E20CD183560F341007C600B2E01233098FC61A50C27D949822C6F99FDA51AD788BAE101CC379B48AC8CFAC3B5DF81C9F7B4E1E0353F7F10AB340157FC7A8F92FFC43D31F24B498B381C7B20BF0A31B74C45627B9E9858D8479AF5977782A5FA88D258EBCE97E6D0FA0971DBFCAB6AFBB3011F9CC24D8C4E3DB57698E299F6793741810E2A94295D0D91F3F769F184DA2FFFCA771A148728A2F95237B77864DEA20D80E09E7A0A36637062800065ACF15572355BEA8DFE27509F4A757079BEA6D6DF3429353AAEB7777A143E3ED1A20DE487162F6666BA5D27EB9D350D6A5C724BF19A1D058ACDEF126F6008EBCD192516FB0D4797DD5FD3216A9CDCD2EE24A2C40BB2CBFF75CC59DB2E3CDD8DF4E0B36A670952B07871A0299EEDA9377E8296AD3788C78728DE71D31241F20C2B2046928CA2751BEBD10BC0C455F49F30D7AD979B0D86B66A55429853AAB62575F9219483603924B4D39935489E8B2AD6E105B8D11E74785FEA9D1A9377D189BA290CD414F57ED67137523A355F90C9FF5FF2CB760D4A31FAA2F1C478F9547FE4C4B0B1CBBD71B690FB3EEAEF87A53EAA1EB6526B7488963FB64D17B37BB387105E39969DBABCD79EC28DFFB5A61A1101B34C14202BD0EC1CF800E21D695ABABA494431DDAA20D88ED7501AD360F9B6ED41B4CCDD0FB5778CF53D7C18C36C4BA783E68B9B0D26C7BBCB3B2A015BB1E2FB51FA9C323C08A7251E48F140A4E519B1C389E0FE4A87B9D65B8D91A2081405F05D01F71024A56BA89550A418BFAC2863928BC870413CEDE1411F0D7C3E77C760B76E0D94F7D9ADEDABE9E4A632B6A1FB5CCBF8EB2CFE772FC31DC0D1BA63ADEF21CAEBF846418C6ADF2E474EDB4A0207271C326F14D20C0B95E1AF7D86331F0D4F792D7545874F550892B3E081FCFAC6074E172F8826E04F289201420F064FF3C53AC7B9A15A291E878B590B3F47F53E6CCBBA897653D6FF4C6CBFAC90CB8666C86DFCA4D554D8B87AD1ED5BD39411EA35A417A51F9119B630904BE6575AA257BE54716A788922972CFDC5A5BCB4B6054532AAB913E7D8B0F5A450180A3E7DEEF61BB0815120D7869086291C3F3DFB71014BC66E3D5C8854B52E800C8F64765C4089E482012550E2377104F93AE57F047A35C0DB243BDC7E1846BA0D0EB42AAF97742984D2637C2F2BEFA40213900C3AF5A758F85FD4342F9FC0B3821FF97B5302332DB2DDEB688C8572691AAC5AFD777C5AC88200993D3EF100A5F95B51AA92881ACAA5FAF68E6134221391C04A88C7C07CB39D07D5A245AEE0D63395018C0C8E1D45BB640220C2F993831DCE2597133C87014D12F5CED521AA45273F7434DA8ACCA2FE35A26FEEDCF701AF1328E4C2358BF74513CDFBB6A0864EA9670C281C5E7C51E26F3DE15649985DE90ABBCFC2D85C26886F0A0C33C8FD74E33122C42012F1C5ECDD01FF96FD75C6B067C60F2501088E2C8C2530A0191C17A113B38240345414569B3B80F8DB755DC3362C52DD1D36C06D02442C3AFD24058343F9CFC6931CCA0442D3CA2CCC84C6267C42CC85F4D6BB78F34DF54D4E20205D7C379D924C649AC7EA8FC127B7EE288064B2B69FA95C93F0E0DF1E863C590E2069A0998A3C2B99C95B690B5F7014F401BEFAA835CFB414CCA8A5B7CD027E52AE3ACD21B618B6C9D1E240E5DA3A5F9D2EF4F9AAE6B3224070FC41C130251D93E8E4A9452A3A2ACE2E919B6CBE248A3EAB6479FFE4ACC55EAF54DADA9A84130CD6BBB0BE41637558A170982EAE9A88853FCBFA6CB076841A8E36E8824D21AD2E3AD1D7F829A5B13296B15D0053BDD521D7D15E76B356D62F02EE20EB78D04838AF7E4B084B0D2575EDE7DE2130C5472D8EB1839C19FDE06D7E77BACFAE1058A0A19EEC6485485D401A70A8920290AEE1D0F36C67324A6D87D3B9628FF69479AEA4740AB9F2563895D418F9A5F04C67CB4529115146629CADF3C1949B3AFF50E8976003688A376C5E889AA0B764027335FD8174F648C3E072CF4618FF2C2189521056C03BC2E530FB89B391CC5627964A6555E8CCF102D628CF1B3EF1C32499013CC37D81A0E8E3E033FACF41C1295F3F8ABE317D1CF1D2B1C5FB891E197CCA3422522A4B68C6481D4C74556E05E06D0E45BE294E910632B747F3FB34FE5D3AC012690D9E3B7A4338FD58818E622AE7F71DD90A34081496215D8F224252C50CB1BBFAA08810FB6B4D0DA50D007AD6D5309E5C0E27FD91B8B343746B6CBED1083F91523A7B51B9046737F7114F507BD7668835CE2EAE7398617E3F298F5B8B38966A9BDB3BEB342EEFBE61368DD8302747C682B83C3AD4E184A5F8DA2CCC4F7EE99A33156274D97134126B0B89627D811BF07F7683E840C51F15B711D1DB0C3C41BE989E0F156A5B948DBFFC19B4047A7D93C9D9A22DCDF0C14897B5CF29D03CD426C62E6014EE396C11483EEE85A2D3212387B5C48DF8252B21DB40AEC9F8A2A1AD8A55BAF263812094E9C81D5C18FE1FB56593E51888C8A0272EA2F8189782F462783BC996541B86EEE4F7BE53D535B4E85DD786BD982C5D494EA017CBF354617D219A495E6448B00992DF83C94FABB3567E75220705BC449C2367C118C76EF7482C9AB77A1E0AFCD3DAE4DBF0B211AD79EF141217DB599F4F74557B9333629A11AB482EC3D7050D95AE052F3E1F814F630E9809B87046D1CC408076B5CDDDB90A389F8EB3FDF64FC7DD71E6C0D5D6C2C2C507622A387C5A3AE60A6D723DFCCCD1B6A08B40CAE54D6FA519B5897497E0B972BFA1966CE2A3DB3FEFC41AB3393171BA46BAC2FA93AE3613CE88273AB92921F4CF8A5840CCE3F3B3C41622EDA57E33B436FF8108268E358CFE0AA72FD0D2AD5576712195F6336293BB3067ED389D69B8618DFEAA8CB1D12B43B370B17D29EC2035EE9348D69F0E64DFFD8096168F6CF020661E72BF64FA0D03E0602750A7DA0DAF4A4ED909BCF170E76EAB0889FF15D84E9F8233B3C57B34084BFBE7732500A4034BFF241AE4B89F9BCB2BE60715C14D3B2F5F8E3C9B9C7F7EB11E6B0EBE70C9B63571ABDD5A10A86C8F9C2EB64F7075EA1F0BC02573BF83C3AF68CA831E16F5F40E558AE0557DE3B046D5418A10B9E230CCD22D4CADD50CC912DF9A42AF82EC97C91AACF027240F95B19FAE3DDD36EAEB11FA79C6C17BC6A43796151700F587B64CF3A2ED521B22E36C8259DAD86DE55F46EB665AC0CE9C59D91D5310369F88754CCB1484F4999B9DBE31A9085C5D8AC64B624904A63DF3D1DAB994E0A845365CC6DAAF47633F32A929AC74B9E8A76F4091DA80E49F3AAEBBA70544D1705B60E408055F07E3CC71F0D2CEA3B4B16D5995A6A9F476466765BEDB2BD44F97D45858D1403C6348884AC7163AEB21364534D8C19B0796CCB507D9441F6266725FDB340AC1159D7C63ED0C5AB42DAA9918C0A3DAB2FA70F84D499ACDBAC62F74201302D6E2B854E37B1C790196E878ADC03C001F006D2196C285FE5001FE395795D843B2AEE6F7D6C22ACC3A42307F5F3FFA861E996F169318248C3C41BF9D1A51BDBCF5A33A79815063E07CDF5A0C4676EC96AB576D27E117B3DFF7A2F1DD219A1F1B1637A64F38B122D60B9501BBE3639CB76D8E746165EBBEBB90692461B61086EAE6F6F5AA5E0053D84B6FCA8147D976DE801B11B306C1A506110C6A8B0FF62236889718B18B5507CC2ED073F1AC48AD1DB1AA771295634272F338323AE5DC1FB19B937D891EFE2E960B17D343E38F2F208D4B8CE21F25FE87B5F12038EC57E29C7407914473E96C3654162E5DFAB9939A011BAACCE48010898F1157740780946B67E5A44D49240B1A694F679CD689E720B0381ADC691C8B24DE8EA99A4C739FD5A82C06CE12C9DF334E91C63B48CB833CD0E57D2435FBE1A6083278AAF574E2C0B706A27625FB4934E139163006FF91319773E996E08E91E0BBF55779971D458241CC27B4ADB43F3C52533F4A61365956F496332AF91A4B50C21365C5DA82FEAFC6ED819545C23E3153020B86471563AF40143A9213658EAB2321F5667A85DE88D6AD77D3ACC205D130DB4D88901E92F6CC8386A60CDBE8C604D2C577939B44F6B6E8DB738033084F84990932A21F8FF91A09A28BA1173B2DDB32422C999EB42AFEA02172A1451BD9070E281885024BBBE7008E340881BB2CD61EB36B6DD4AA3883A79B8399ACB8656D0DFD7520063FF1FF95A62376C1C99ADF2DCDF0E62E06FDD1C23E8B4B25DAAC31791EC772DC96EC1E8CCC4FB5455357DD6C32682B27FC929E5F28CAF9FD9EBFED73A13B0D74D9D47480DBC7D9550078B25492C9E2D3E3F5A86F58F0AD35744EDF214E3F810075E77BE797DE0862D4B3E771406F6007F7C29426C16FB3CC5483498646FDDE644C5542B28371019EFEFE50F29B2479CC68E7C40D681D8E496356D71BE30798897AE496416D7A3AB9751CFEBB143E00C036C542F79F69F051887E42984954EA5844DADF56B9BBD19E8D20CB9A4EA +MD = 7C96CFF2D7CAF02D6FCD46A3120C1DD940FAB7BC5B70CF97E182CCF71ABEB643 + +Len = 31784 +Msg = 03978FA9DBF1EF4BEACB8F58D4C82E29177093520CDD8F3AF019FD34EE23B58966BD793D8783AE53B4D00238B833EB41D72A616903A1C4D9720B066745CE4CB320967F9BEED566903E1DB3C3124B64072CE048D2FC4C1238F909E152F46178AD0D597299323F58436BA3E15627BDF962343F862C766379260994B71B4A5A8F54B90B0C5A6B6B6B5C3C54BB7E4112EB7C86C4A66B73C3A010A57232FDC79AF02BEAFDCB9799EFD434A9883CDB7342BC29BFB176D2C667F6556AB415F54821CAC1D756A1C3300D8E663B2418A6443ED47965B05E2F2DDF339DAEF0378315AA0C55AFD9C416BADFE090E516A1326119A97BB8421A67AAD2051CAACE47122A86DC092383EB35BAE836676A238DF813E6013AF9420371E7CA95C9DA9E77202A74B0240BD97412B7B7BD1314F2EAE0F1BE897D7DDAE8CB96CD77887589F66A9068734F9C0FF7778AB45C1A59EC7DE35E6AB5FD6FA0FE055474CDF0CD1F27CCA435A66291DF8C1DB231E1AD3B38ECD9271259C770C69ED3622A869089CB917692F5FE05BEDA10D6765B15FDF9AB0A1F5D209CB5766842A06F6D8A298AD01B735FA4FD6300E46B0F54C9BF47089274DCB5DCD0D14CAD04ECE24A97196AE51176D4E1024487C075C8853C9FAF36291B9AB7B8853E366C9079544C528E103AD509C2A486050153F606273B7252691E83BE3EF689D37E7048396C175C7E83A5A2D45BB48FD867B01695636E3813914A7715ADA04CAD838DD98D9448935C004C8A905CAB06B4D6B3162354531E8AA74BC58F657070ED5F10E8559A5B52C3EE34441A0003D849AFE0E6D6399D79A6B6B06358119BB8F658685EEAE9A392A6E8D558F342EAF86B1C833218E0DE3D4E69AD825C1DBB966E9E13812B6416D9CCF03650F1FA85982EB37CB926E472634234F94BE6B227E03AB27A60B89C760F8A9B8C9AE8DAB4317627644AA2B1CA9966C446DD597DA367A63A30B1E3D44D1079598F235574202CA6F64EAD0DB6E0D1402097866B147430BEB0C6EC3EBDD02B42610410CECC3CEDA09C9CCCFAD4BA95C32F266B8486843FF7C854BB8D0E44E177CA294DEA15F6A865266343CA1144A7D30BBF48B0B4B4FB48EE2BFA531E2379F97E5D785F7FDC24270E981F8DE2DD045B36D6B2CE12AB7909C6CF2856550D600CA99422905C36179C61876E5C763324522527A2BAE8B6ACF35422583C881BE74D943DFACC1C25DF0B16DE5EF8FD434FC3396FDF0DCF272ABA5516A8221C29F01D7DC0CE3858F1C556DBAA8E5016FCF8A4E2BE7B7DEB5D388D617397D67BB798C75D7FD699A7CCF1E40192D636C1AB19CFD6297466B7067D2C434DC1FCA9215113A2C8CAACEF0E294282347C650E41E376CCFC3D883EBE1A6096FCD274FE72D408AAEF73CDDFE8573586A676A942A80DDFD2ABD860B1D6E6E77E65646676940750C091C0AA3710E3E3EC5104CCE4BF7C65CB32CB168E0AF7F63852BF6E40D67619C0A5769ACC963BEDA482A060B9D6E1F51B7F244B4E0032E1A6093A89B4BA1AB9FC076F25D1E55F6493F3DACB5B9A6E61BFD62967ED304518393D3D3DC5075469952368257851FC78C85A2039AB204FFCFEC5F140B4AC999021E53C49C0B5B7B9F95907CB6BBEEF40088AC80F4A2CAAAB8105CA5A04123AB4D83A1FA1E7738AD2590E0838556322020BFD5D603529435FBDBB951B76AAE8A9D63E68BA0779F197D9E50FA31D112A5CE4AFDE8F1FEC94412DF44D78C9885FF678140FD636AD28D9028A6E193B5DB85669D85D13FA7FF5B9294A0423B3DBCE88454BA6C6386149B471E5E20E5C39F5FE85869D0B23521DFF667E5744C2E0C273A9DB06405E95346A94C3A94059C9C7A23BEA476FC1AFBF91C00718B844BA4F3AF815896ECDCB58124D1D0218F292B65D152407975423332A8FA7676ADD341D4BB8F81086C417AA489C4125727F42CF52DF3164EA72886CB8CABB7872E3898CC557EFA6BE5F7431E99CCDCC2E087494DA483751F961ED7B60F5E7F93E10287D686DDEC675071F5DC0BADD6F4FFF07CB27D251FA41582A4F708ED9BD77662096E0F2BE33C4375BB51A051709C4F41026EC22D9759A829D654F166DA6BC158D076E753F6C004F3F2EA5562CB65ABC5D532BD3D782F9CE9C6006A0EBB8F09EEAF4FAE40A777081BCA82110CA6D3FE25B56589BBECB52DA668B22F5FA38E1684F1868CAF018E49DBA28C45DB86FD70921AAFA4E56B589A01AFEBDDAB78436C050A4DBF26AA82B7618AE1B2EAC7FD10D2D3C974531760AC0ED2AB4F1D42D92B0E445F32A6FA697ECBA299FD061A29A848EC636E0B7F00E6310208F9D21D229CCA2505528AD91DD22E4EEF4E723314CAC648C26CC85A9F68008763838025BE8AA598F1E43331C3496095BC0C5E0399EE1CC56AAF88AEF50716B37EB156FCBBE1B10C21BA301158E422D63116D7DB8C6935701FA7B3C2ACE9968A81F9063EACCE5794A255DD50A412D68A4D1DD12189DA612C293AA9A4756ADB25B585452E6F38479D63BFFABE4E87EC43956684693025FF59087423C09E8DF4BC204F89AA9C0769B32A7004DBE9F4521B993CA92945731CAC800EAE738FB17432BEE22A931952D7A9342E049E5C42207EBA15927BF1630E03A02AEF6DFE2F40D5A45F771000213F64CC07DCA61C5B2A68DFB38E42BC08BF3B64C146ED3C291E5B94F09EDE90D6C9C6FFE752AAD17F9777AA86BF1A6B5C4876CEA631E13443C00700F93B4F7972AA7FA21173E7170DE5F3E3B7F6F755BAEEEC9D880155A640BE61267CEB05CEA102C944AA45C6D4023EA258737DD752A44B27E2B5C16906156A774DD40D47D13E221C27EFFB4CCE100B3EB5429FF115B27006E338F5FDF663BDC90694D3253C11A24BCE40503BB04917EA4FE22BA5E8D87837C344C2FB17EAC5487AA7372EC202A6BC81D80DEC352CD090C040F1AD33859C02B7E21381BEA28FF0E971D52D9006424EEDD72A92951DA1FE3C48B45D51BE8430A99C9CA159093DDA75CE2FA8ACD7E06A31A1CD3A60FE33A241B9A649FF553333B9C9CD70380B494A731478698D833B89DEB3AD79C5FA80ED8BB03AD1D42F2C8D2FE4C457A019BE95F267080B32038E55A57E48D58044ACC691DAB6D7E17BC629E78EF7879BE8D398C77C115F4547F32B1CFA181AFF8F3DFC66C6E9A754B64BA932E700127476C590401454496F62742B85C17687140E13222512C369FA0825C07D26E5F01A774FF7A755D4CF17FD7F21DED83A9FEE43ECB42D4498AB1C3A937AAE69219FCC7C20780CC5AE86F969FAA067BCA9C6C3C7C866DA50CD1CEB255D104A314D9506957782FCDF1DBE03945C36D38A43202D7B34441B82E61E72AD401355FAE7557EFEE0BB6A90760EE54CC50E39A844E8F037FC9CAC0B055F71DCEA1AAFBA7F0E770E61EC8370159F8340C6FCB1F37270E4A71CF1110B7DA399FEF7E4604FE7BC41C71F366A451B4CB53CF4569C8C9A8A19897A40BE96A92EE6BC888E8585832DC4FEAB31A40743237BFB0A346EA90ACD848CC648B9F844C606C018816CA0DCC189036A2CFFF0C41891BD4C32606D87D67A6EA61754A150BBA6FFF9A0E57414A0B91CFD087955AAE7BC4FDA95A4499FEDE1B4D844AE057045ADB7C86B72DE4B25FAC0995EFFB5CFAB372AD895796F9873F5B0B954583ED815B4523B3B5A140A2DDB7A5AA2B61AD8D06BB70EFAD3EA237F6606A5DBCB88F46DD75AC8432039090AE2458672DB7800A7514A226516F41CCFD08A1F0720A77E5FC016B1B927B828784E421C0C9E04C45A79C2E8DB16E7A4E092D73C5124D2BD1463813C79581AB468E2D37DF3925189833F8B372838A9F89AEC3587E2B19044C095107ACD435B9340FA49ADF11F105D2C87B9F5AB62E382EB569D79CD8678A5B1A1F7D00F38031694EE6AAED223BA123E8822BE1181A7BBCE5DC90F8DF9E3FBAF96E4D82B388889F2BCACDD81ABD5B777D78CAB2EACA14CA97281603E5FD0C6708CC9E223D045EE2D1994B5DEE248390FA01CB4047473312F14293BD9F574535015A5FD0D16FACE6B0F88FFC949AB458A2C40FC9806401BC5E917EAFC56A8DB323C1FBE6A57CEEF5E638288C0917F0BE1B8D718BC0E7B2B96E461EDEC2D0C53B481845BD906A972336DB93DB6499D27B9B2A5CADCBC94DC093B8B11C9D8BF06330D15A223236D6E167CEA457C46B02BEF94A936E0BB98E14C8944C053DFCD7A243E748709A1C625A38EB156D943F12917AA077DBFA57B24E26C284509D534C1451F425D5D25456787F97401213374EF77D6C86BE8E0D311543B15CE7E42A152FFD10303B50046BE07464C9B99B51018A42062054DD7654193E81A05909CA7BB28C617F064F9936C0D3590882F0C26BA89FE6D2B2F50B3C67DA8CFCDCDEA6E600CDB6B09FB3C170979BC9B1ABFF44EB22E66E74FCE4FFB6E5B373F2F10B0CA5EE4C621F21F7A6F863FA739172C135566B55916F0BCC6EE4CF0D35B160AC8A1556E4327199DBF53682471BAEF09FAB7ABEDF518427BAFF19F29429C2DFD9587843D5CED12272A80B17A5FBDB1EF77A510CFFE70B7AB6F592763418AF4CB555C080D9196BD8951A2047046D8E1ED60A67DC63E01294E734CD77F430AE771E72A29A9A15F0DC10A40B18729173A54B62CCF0CBB5B68604431661B613DEEBC200D0F19F142B8550ECF256DCB2233069BCA839365EB8BA87204F83A8FCA237B11F1ADA6C44EAF2AAEBB1B8B5FAEEBD2EFAFC0764175AAF9A9A9620F533C26CC237B208AD6789CA6F60B39FD5A0E07AD582F70111C25616D0A3466769B3E945FA23DCFC7255C03AAD09977EBCB046707B6AAE59EA803CB56D223816F006B3EF06FB67787BB09F41A6B41D6FAD04ADE014434E3CDE87F5CFE8F14D9822D990745B26A6C0BD49A70D340C6288C133EE43A1B22BB1FFC3948F1FB03047CF6EA604067D33D00F3A1C88CA529B7B515F3FECAA3BF1CF5686E50E55A2C3E4176E7B0280132A8F21698137745A3CF2B5D6D32EC91E340CDB6328ABECC4364F3285D1FB9DD502C1D3A84F47EE09440899094AE539710CEF433F066D3055A466FC9BF5803BF92BC65CB5E0B1ABB4985EF85B00A3AFAB4F8F59352ECD7E8550BF46B4D9AAABE858766751EF9A99889083A2AD6FC178D6B142E1D9E002E07430F27CADF6481683264B1F6629F9E186A16C48286257D3B35427D765A12E918CED157CB1E5745713B0ECCBE529C7B304CE7E67CEB5431B832019995F89DFFDC96CF6550FE056AAD875C8D37099EDF82D1DF1026D605CD939985C372F4E95B6AEE386779527F79AFC24E18750A4EF0A93E1E315C09F785C3100FB43E44D6248BB7BCBCD29A7B46BA9BECA5947ECA2F5D7FD12F588AA30E2424FDF0F202000C678C9AE598345D6AACE4E29F85731B775CB49E7517E38104B7B287DC3A490C2E30D3E35AEB1E6D35D2ABC8D450D07463E3E46B908126DC831F624EA010E0E2FF87D7F4793C8F075215C29D45396F4A65D490DC1C2902BABEF3AB1D2FF8C9A24D9C5956C9A925C7B88703C7BB8E2C6F3A1BD6FC5EA0ACB4EC669C0FC03E974389187D97F49D2A6643DDBE1B1AA9CD2335A90741EA0BD044DA6FD28E78D35992B5B1A851F2CF5D9353A052CBF1E57B9782AB3620053C89D +MD = 96805C12A752A26900CFBE7A47FB94D03C949A8DD3D7EC1521DD1C9AEF0068B2 + +Len = 32288 +Msg = 09A96A0112B823C2212ABA52EEA13C48CAE3F5E08883453E2085A803EA852A9D6AE075392BBD8FCEC567A1524AA65C70C3EE1722AA079AFD41696CC5391F529299C71E99B0E08E411D3E1E05C43E979CE10AC9C2EA80CBF4B58371273C3D3A8DF48E2DE7F50560FFED25F6E65E9D96CBB379573BDBDD2859D13F866EBF3AF488C6D2E36505A70D81AFD07E321157795CDF40C1885DBAEBF3D4E425EB4CE0CFD6CA5019C8DFD54BC2A30095B312AF4548B9ACEBB6A207AD3BCA29F4DA443AFC7FA789AADBD65C9D45AF71594B790FDF84D9235933EE96FFD83D1A1DAC8C1F3C2BAFE668B8EA5C9649D1D8DAF2806F0519448A97AF1104DBA3FB05CC46D33FA0112DD0922CF1AC84D4A343F1AE597930042AFF6DAA75011BE4B18ACB257D889A80F0C3D4094EF7295ED4E8C2F1E2B8F56EDBC9B831333677A4E6CF6110218B23523EEEE1E024B6398D1CC572DF7AA103CF7F50FA488E19936D20393A55843C042B275B78CAA9EEFC77C44437C375D4D1100BC486FCB0D250526086EBD4D2D38FBC8E3E55F9262B4BE5E6CE6AA3164DC04D7FB12BE70AF6861AE0C21A04468339D335BE15F6A77A8BB84CA4BBE94B0782241500B595FD671B30DC6C26317DB3AF8DB1214B144FC42FE936771469D3838E41C16EACA8B44A5915D1CB4550A451BE5F0673FFE846F6A22BBD194C8870193E1B68459B0593930E178B765D5C19B0F9D65B1E25D60B727E50EE4C39D1B898CEA9C8E95E40110E40DDF882A7C89303BF1B6AF90506E4709A7916F207BEECB850C9E227C9557536138594513043FEBE778C471DFF08ED2ED7F8A54952F6F52422AEE3240EEF81D34CBBE47C0CC59A239D7AD75852CF62473FDFA9C723FEC82C384D06F2320C8C3E5A1483D9B573AEE03FE0F85087087B896A569D9A07B02A387EE09ED6B7C8D6C0ECA76EA61301791C9F835E5CADD14862393A698DB23577A68EFFDB68076FD8A0E7BBE9D93098E73F5A174CE406441DF48B969B4D2502EBBBD9937856777D6F13852D9AD3A39702BD556009082DC207C442D327EB33A24F18DC56428B181C7B4405D0B2720B8C4C62417AB9F9DA5566BD85FB7FC567F542D05111842DE09114D27A382F009BF737EA2D8D8E4F0900A0DEBA080CE6B0FD7F0ECB3F81791717EB121176412E7CA618735BB065A659B689A18069B2C43B00EBDE9DE272106E180EEA446242F7889E50920EE5DA2B7026965B6DFCF4239ED8EC7F7363903F10EF6CD80D76CB42298E913C829B66CE1A5B18047EF06FAD79DE360908065E3A0F61AAE3347A1D7601188DCFD62C56D67573EE4550D6269FF7181CADCF84059749C8A4AC1A46746FFCAB7CBFA1840E5990483795452EF93075C92A4D115ECA32EBE5EF0211764AC8F6D61EA5A75530508A8724CD118462CA6CE37E85E337E312C60E43342497A9C50C05B38A6D5C253E1C001538B43D1312A369D8301544CC24B3BF3089C5D119AFE9979430223191ADDE6B68135B5D8AD5CE4A808580BB1C34F650EB63EEF3D592BBC45BB7F2DE9ACF2D4BC2820EC1AA765F35FCB3F71D862AAA1156D0838EF06241914AA4B8632733B823ACA5801BD281D127238676380DD88E9BE0D6DDD0AC7E87CDC175A24343B752A46AFEECAC7561766BC33DE4363DDF07F43E9BC4A1EC5F0FE36F40C3001F1647058131629E2CCAF056B381FC3B576D8DD072B8B2AB0D251B9060A9F76B3D99F2D0EBF65781B9511DE31027D8286299DE9FBC9C1C28BE2E4DF9CE8240852FE042D572236AC54B42B690D25ADF27C26A96D0FD048F1D11299636B55631D378826370AF97D76E402CF49CA5687C17E2F8BBEA0ED83535535566D65F0C6F7B2D887DCD391DF0E9CEB27BC0A8A33039CDCA515C886D890D69A389AF7BCB9C9E58DE0636441397A53AF09A447BFFD49BEF7287AAD01A1827FCB8641F9BCB7642952D7E19448C4E88DC5ABB28E24BFEAC16BBCB9F8E9962F532B428CCF86EF635697E179EA3283879E9375FFDD4DD9986CF862170D3D8574340420B43512D5A368CF338B732EF447A669C511466DF0DDD9E5E26A19A2ADFB17CFC593570F6C6775D70319E4DCDC4BEAF70AC768E7837FEF94C785EB54B1A6C164E09FE88791B3DB6D1BCFA4EC170A3695FBC21C9AD1942D3A483CBD433D3FCC899F12BB9CF788666C0658CFDEA7F29D5CAFBF3B16B3ED95E52AE21E599E6354D65305D073DE34B677CFD9F0FF0CCEF956BF561043E0DB96762C3B9365247C151CD0607551BF8D781E0CE84D23EF7B6A3B67B698CF3EDC2DB9D968174C0A26010FA7FCCC5F87E8B25D12463392BBC404B22E046B53D183A6861F6677108484FE59E41077BCF6C3759663112BA951014F40952D29A159BA3F838A8CED3707E45E0837DC62D0576A6DD12F3C75CF902636DF5FBBDCD9B19037E69091B26082B7DE2EDC1EC5BC218EA760C4B534AAF352252043DC5B4ADA60A9DEE3218F18DE60BC654A90D82430567F0C591C7219042180FC8440B5E422A4BCAAF92553BA86B149C7D5E761390C52EE0139000595E1712938030F387BC886C7E66BB11F74A6CCB5CA93099DE06A0665A1A99E146E480FD80D7ED360E95FB3B2B08BC2354DFD56BFD4031538F438AC102B73472DFF3DDC93BBEC4F9987DCA8DF79115892A004E86F4FE8E76BEC145A19C013630DE218B3AE3C325DD622DBF17897D68833B43E8708349680AD1836044F09D0A36A00ABBFB9EB9B9FBC39EB71DEFED6B2B86F4B85091A2A1C6141A2D74A8B2F11E7CF4B5BD0A7605F43B752F1FE2B5529BC0B913B5981149F8E3E23808193741F152D77A1018498B0459820A8E6EB661B63325D41EA2E80D071417816551272EDB519DF379E5CB0730ED933597E0D62858275390331BB048D21F753FA50262FE9ED6FF00F54FC0752DB016A3F5F8DC4114DFB760E8E9E17A3B876CB7FBC3F443843A9DF4626740BD0C511BFFFE4F7849C77EA64857C489C204DA3FBF6C08ACDD705D7524245BD23E3767C6587B0A70743AABDA3434F0969D007BBFDD27968C4E7FBBAB2621EC26FC28FA984A0E7513C548F5BE67BAE139098873932BD651FA85F8978F8A52CA1111C354AAF07728A1A4D8E8BC45CDFB174FD8CFFDB8B23CEE7CB7C7CF2CA590B93C4EEB403123B2E10293021A737B2146B21327C0F2FFB59176D1B26DD3A1B7DFE3467613207426B3253FB61B0E42969E5F6F01A102699083010D5F53F10C36F0C69EF73B350B144FD295063B19770552CB2B06F215CD5F308658DD34C12E66EBF3A48DF9C81EA40A728A035E4D20AE4172A6556D3CD5DA109E0D2C5C40F58F104BE11509282B67826831A9560584466A93860731C3F88A293685F658C15D4E3A12B38EF63A4A175F74541F0AAC499E3916A5C7FA3A2B3085CFEDA45939C319B39F887705B9F089C90FA38D6269F04756152D6B58FC22AE8A16D1F093548019E9EAFD24323AEDC65FB80FB9A9950F96B9AA56886A9695BBAFA19A9DF70A97EB73729915AF4433D38A2ECEA40ECE0DA71C0EAEBB61D5C906815135882932B2442901DD719BFB3386DCB45746FC7603E1B57C3032D54AF98A528F3D2F8D801026CAF94FFC0A95258F28AF7BFA05A6CDC6DBC84DAD9F7FA520A708EE18E6ACB316235479C49CE5B8F0D896EEE70293F822FE85E9D15B5F4511CB2E5C4926D9EFC11FF931B465609532D3F78ACCB08B3C2597AAD082852238F24DE905D433484D041C9C90E1F9BDD14524EF593ADAC25B0EAA59F5D0223DE157DD2AEF4364227FCEFC25DC1E98785C40B8F491DBE834713C9C9E8CCB72133351C8AAC3625A3337D637C264D9AB02DE30D78A7AA54891EA52C96E7F061AFA558F5F661D8752F54DBEE025A68B72E205ECB2D14EE84C7DFFCAAD8F2829F21B778D85BA3C590394AD4DE39587D40EAB0915A3C7E7BC89BFCC7566D1F44D250FC3DCA327E7DFD2DC7E04C01C5773B7DEEE558106A3A4D7BDA8347C8F5C11500551345E963A34FADE1AADA6F88B7F73C3206173C5B5A831CB308AA338DEC57F0BB4D0D43B09880E2E150D438DBA83AB9F49B4C3B812386DD2E11FE992B32DDEB5F0B3F2F100D989A6482BF705E190E8201B614AFB5BA6736D0EC81DBB35778E65653F38F49694B85B0E78202C3F805FEDBF6EC5795F93966DB9656066944BC2E52C10A5DCFF5BA68F008C40E6C801D16EDD033512B2F2F5E51F3B49C415EEADAE4F878FA44B3AA6965BA6B7A118297FE5993C9A3EFC22DD57369CE8FF709D835C977874ADFEF7D8D252D1E8F6F5AD548D8D14D89C72F2294F954C6CE353D0C3F43A76BC5E3BA7C0707BF21E4A4D6EBC4B99D34506B4AB78E622BC32AAA7307DED2F55E575EAA6A601E627F09DFE02E1CF3D59D027E7AE1DBF4C1365231B724B03451E79A3512393C843EBE474D29E3EE1828B1010A746FBA2E6483A5F29336A6CF0C95E9D3B929D1FAC334D2F391BEEDE2F0DADF399805B4C039E66FC2076734DF2062A09AADC69DF10AFDEF8ED1A15B5D81041C3B0A04E1A12958627B58056FE33397BCF5EBFFF54D34FCBAD32906A5685EE8A4DD34DBEDF4DBA832F24640F090CCC21701A4B35ED37DAC3E6961EC89EA0815751D55871A13125D734EF178124AE1F593D89609D121878B3151BA96C8347B166558FBD27D4D201D76CDF4774244CEA527896874EBDAF9AF7293AFB14A4E3719D50D9C9902B92741BCFE0572D37EA11DA57298DC9F710F3D2294E48F68C47D972CD0261508482EFF8B290F52737E641B61E9926EEC020FDD74A1A0722BA534954D4CEDB3ED44EB255069708BCE9A22564F5B4990562278E2E89245C54B8278EC17C8B564157E87DD52CDC1A67D60DFDB6CC9ACE96A5BCC77CD33A10C506660548A167193A6A13FA6FBF310D803BD732A51BF85C72AAF8688979591C5D829EF4A7EEEC82017CAD0880209C4A64A0EA4BA22F40D26CD559ECEB9C879AE413D60240E26F88A7DF0557DB1E0BF938327DC4CC0664E0B40E9D0C67A431C1580635BDE040FF2079FBD5240D2DE2DB112AE4F3411D0F5908DBDAED1515163B621A66CF0F3D80AFA0E0B563F3AB81FD06117A7F21E7AE2FAA461EFCE961FEFDABCDCAE27C20F0114308BAAE0228D8490A0A840E39BC9A501C0C591CA28FBA025E145E4FFF4B432A161BD821FD862855A955035C1ADEADE98CDEDD8EC0BF0881CE6F3FB3B69501B164FAE089FF007A923F42546019844C06387B847071716B30491A50A836DF913DC2BA22D0DB14D18F848126AC124E5E9A004B5473C606AE5402357A93FBC7146324E269B6248B43CFC2291031F7202153CBC4563FBB0E6D008D6B0DAD9A02D03F33FBF8BC9207199BBC19ECA800EFAEBB5B7E1F8929846AA2CFCA4B13EE3652477FE3EEED93B63CF2508A1E540BD35250FA40F93A41AD70A4E5B547006968106531419E8DC60E423129FD627BCDF14BF0D294984BE3037D4F5CE6EB8AAC28744AA31325BB32CF85D95F04573040FAF554D87BA7E1BFD9CB37D43E2DF6A8EE09B8423F8FAA8F0744B0F383FE9AB403D5B77F8B2DA1E26E3BF20E5C195EF3415FF2DA74003B9F82D74F5A4AF4EC1F9E87E2ECF50B362990FFF432FC7A986578B0D0166175F087DC8D724FE43EA6D7A541AA7E5445B0273B41BA7818A96C28265DB7FC729FF72C8DD635269F0C35D43D8CD2A0D4ACEDF13C75130F17D65C57A9ED2D26D5A6ABE06E40CC7B78D2A554C0A2 +MD = 00856EECB7B72E76D815F7AE0424519EB5B50C8128C4B17D15DF0113BC302A0B + +Len = 32792 +Msg = 0E31C80A1C41DF5F706DB8DA40DCC06E61B4D6969715EA02113E2A63663DA6AA3DF8BA755109A580446E7E94E9E33DC98EE6B119D3ABE78B3B9F990349A63DD609008FF72E2CB6710B99522021AED51B7485B7B3B89C4C5F81E0CE61B5310789556D93646D531744E6B393AA38E1ACA0D6565728560403423C5C5BF3B80B4E99BBA5FA53765A8F0B67E99BBD0F1E31929731175B49E237EEC448D08D282CA634D720CE74C55925B68F0BCF08B6493B180465CE03AB4DB3C74BEA45D245D21698E9F1CC8ED46EC4BF4AD4FFDAAAB9CA2BD75AF81780AE59610B652715A30F45812AD1075FB9051340167F69CCD01B05FDF1F4CFA36C053269B06E40D99C5CBC685DC18E266F60B23C19565776A5F76C5EA917AAB08DB863DC88C2342C7F7F0E00246B66EAFE2D3DE1384A108DF5DD5AAC8FCE8BEDBF495F065DBF4307C98B879A6B386F8A4261DAEAA00A331FD2D827E895D2FDEB840126564ED561624ABBEF25B0427FAFEFD705F56E2F362AB7410CB777591BB0126CF70E390EFBB4E7A13B0745D7EDD864E6F90E8E38B61C706E144BD50FBC6B5A5ABB810B5B82E2C0D13BC40EFC83E9E790F990D34A07A5F312E253900B57B04EB634DDFEAA537AAF8D118F1F0DB57D6E6206C0EAF94CE2D540F6EE2E2E204941848A537D868F9D95D681F0C5935881288E0D91C12DE10C3629E43E9DC43620189F44985B59427AC131B35AB4574A3CE288806B9F4CD23EE2463F3AE947FE6EEE2FD3CA9B7780E0939B615E8DCF94FF684FB41B76D25C6143C282CED5D9799EE19FCE194B047E8072B8154E9C3CEF1A34E7DFCA73D4EA1636CD8120A8483285B21AFFD02EE06EC882F74BB8ED08D011A9A17043D12C4BFE83EFC8208549E53874497741AFF8E5B8FC594191E1B92E581B1B7361EE57BD39C5B2DFD49F15C758B57DE8FD5F2D65F725804148A641A2E30A732B5932FE8CE43A212C6BE5563FEE8510E3B8A9FE21A0FFB64979180EC1D0842F612F1D58EA555F5B5C7DC82EBF2E4AE783F608A37DEA30186F558EE743C3C2D2C90D5F51269200A28455D15FD4065166AE51D5A8268793011B7777BB8DFB523C278C9A7D1F690AAF05BDF90E076B3DB87606E6575A8EC0A5C5BDA9635FDE179D40DEB4466DCD2CF2F0CE93554CA6C453B302498FDC5DFC4FE1CC717529C332C7771540B29CB3A3BABB522DCC7C0C108296893B4D90629492DECD4AF23EE8C84830FEA1482C9B9CBF0AF143AF68354EC57CDD8B3E1A503968A9691233D76B3630B18E1C79263EB05F8105D1E1070701D35CC032DBFD5B2E877212E7A11940DF6CDCA84D5CF7F7436E655716A0090D2124CB0DC6F07BD051EE9356287A9196F43B17F73D3F056DCD38CF0983F5DAE8DB939803D6866AD4F2800CF1B316CA31041EABBD59D0DF8380FCE7F3B62461A4DD6E14F9E48DC130791C04FF7C6E3E8462F38594B62B11D6B865622170B954FF9909AF29990AB4134D48D494BED3BF8F939FFBA76E3A3A8A263F75F8A1F3B219422525D8AC91948872F221F8C07987A4EE8529F71A9F2B8AE7C7A054C73F130F97A2EA8EBEAEEAC308AE9E984447573BCB295654261E09804C65D3ACCC932C32D265E8261250BC045FDB5896AB266CF3BA5B9254DD8E54112F2BFCC9F119EF4E2059A9EC0FF62B42C3DFFBA2868E4AA1C7021AC35C9AEC2CB5D133E2DB8E11CE6B2CCE87754F4DA3A40789F95EF560BC90578F50F8087F4E53444AF8C453774D998E13BCBF0CE54CBCF56958254959685979E56F0CFBEE657FAE0BDB0480907627AC2231EEDC0F78BAC28B5ABE1D20A0E428973D15E6F1296E3B0AB8761D77DC928A43AECE9CA5C502EF7466874B681085DDB5E7377E16D11EA20FD931F9BC213AE0F544AAEDEA9E4FB7F5465B94C14979F3BB231676831EE73FB7A379B789365701D6E2E2A247C1C21AE5EBF6F3EDD9C46898974B734306E70C9B5573B4D052E63F9C44396BC89C9566800A7E2A9A4C32902F799B4FF22CC9BC21F39B8A8AF4E34007CAE37ADE40CB859DECEA4D274BD11DBB2F5BA304313C66A77F7A43B5AA7DFE18BE40A9F499B95E4B825EA00BB83A0D4F11F2F62F5EA70FB817DC6C666B09BB6C919972B2A0C7BFB10C5B467492B8291A2B9820E2D8BC6E7250355E23F50662DAFEECE00CC8C0B74FE20278DDDF870DDDAF083480B1504E11B518D3F9E9933C3FF2F0CA3C423B8691683E3EA1902004AA51CD823709BB05141A8B8CFBCB4EF9F73ACA2F09716558D879418DC7B0882FAA381AACEFAAB611ECC336F36D6FD789EB734652A08BBFC61D19925067C6E5DCAC4F05BFDAB6FCF083599F2845D0429C05A616D1977004803BFFF90874514A79C0F45E4CC5B3182BE7C45A9E2F9A0DD976FE3C220542CF11CB527861CD7461E03F5335290E24C483B15DD2617B31371A6FF98CD62FD8E713F166C3954F0867DC8C3641C9CDB1A24F3A9EF270D56337537C98D3FE904CFC320D8D19A241E1540CF5CBFC5A5579C76026CDF961AE88D3224818E8EACD70AE4307B335BB759F8EB71D4A32D12F61184D91CB081737EB9EF5C36B8BD5A762B3781253403A9D621B9070EB22B77D41DB6A8B23B6B6DFFBA92B4D54D4C625FF55BA5BB0D1BF499FEE64813E762CBE9BE8A66566A5F733B0EB407CB025A0D90E6E2E8A415D9CED3217A541C28DEAFF17AB8655DB001F523FF303921337ED2EE0AEAC6070F8ADF9FFD61332ECBFD2DF68AB366751C83885367EFF7F589ECC4B7DA65103F814EBC2B399930316241323A1F5A2BFC71FCA019BF888F6D5632AC916D73A3E915D26DD11A2816A27E238568ED0BB4D2DBB13FE6B6DB57B0ED9ED500559791B01755179EA68F57FC40BC357925D114401F328BF6AFB7A3548F957EA12F76976671A8B5CC2A5B0D085ECA87CDB911D1344AA7FE02C92F10E5C86B6BD4C1FC2C6F02CCCEC98AAEB752057CB4E64434D1E0986B93E3F981D1B5835D75691CF580654B5AB3468859B214B0F3BF6A75605901A6A1EC1EF0EE0A6CE0132D28CD79E6365EC6A992F8AD730A4040C8BC2A0FEB8315A90639516B0D30DB4A66F7E7248B04FFEC3985B2A1995DF3ED58C3531675C4BA885D5A488A773DDB3E94D2982FA22A7D424414305A336171992DE01E31E7245CBD3B54D46209014921D5FBDD3077F3BFD86A3A99CF998D141C3A433E7D68AAD547C0EC99CA30F2D15FF5F26CD00F0D45F2F0461EF700A30038877004A22D54CE3F198B44AD470F20ADEAD37BD7F7482E727C1202145335488A739E688F7823254DD669DF59BFD94EC7B08C526286AABDED0EC28714E7C5C56379F5F0297E53512DD1E71DE493E463D3F4D180097B8771B5E055FC7E436C57B53365423D359EEA41496EFFC10F90B46A2204EF4CF3DAEBB60A3047866D736DA1A3553BD32A78A370AD149319EA4CDFEB9921FF920B4D6A2752E9F6396DA5F32AB8D79E717F04FF90D198D249976C081CD298159BACE7D7200E34C82D0C76A61DC0898287CA0A77E9F4D649557E0CD4C5E138DA53D30D47C5BB4CAD52677321CA0DEC309CB658F73D93D6C05726BBA1204D78CBE97BB3FB76C7B9F640D6F96170A8739F77430111711E13D9E4E734863CB39A3E366C406DE7BD0A716384E5A0EEFEE581CD16705D1745F13D56BB5053DD1866BF9CDE1AD9C462A76D882422F5C9A6025131F8B5878ADF97D32A0FD89321D62EA5F5B8BA3C3809057C4D553A391DEE75B93C8529AC498A49B52F2E3AB6BF659CDE1B210AEBC3A85EC8709E9AB6C6134081EA0B020E0B0867C72A654583B954CBCF8EF2A73CE983C2F8F0B5DB5776C16F56079239A6D7464696A182AC51855246F8DDF087FB403840FBFAF215B1C49D2E7B8CDC567431F1D00C37954DC7B40BEE9A868F2EADA29E6F0A73186C119278197AF054C7E3F88E5F696B0D4C94C1196F058FFD72722F6495F16DC41E675833DF9E4394AFBCC7A32B11CC2388E4929786865BE4178F540CA525D067F0A786BE596F10670A25FC6F2F525CAC40E7E341ADDCFCB91F069A5C2AECD7B86ED1FBEBE8E3BDBC3FE27F9042CC53BEC16198AD42230256C8386B46C4AD987EAFCB6F07E347CC7C4AB4B04EF9D20CB581245C9C102CCBA044A1884140666F38BE3E64FAC46350C4B3E983D9678845E9CFCC655A24BF89A8FD4600536D605082668612038B6255285BE6E6266C90756A3CB116931F7D7412D1725143760FEB86F4F8C4CDF1F4B06BEED0F69E3F64C5DC7975FACE5F209B4B67CEDB734C23073F9AE1D824EF849BE836F02D48AA40348221FD09E111C076E617374CC430F3120383FCEB38C42DD6F4B53E66EF6C80368E0FB96512FCB25ECBC4C2C3B99A07789E6920311DACA599DD8C9F0CA413A4BF9B9B986D9202137C9DDDD36F9B16B048268F8334AF0CFB13DCC2589007E4DDC4B34A216F7358F316EFFFF9DC33A8D5FD91A95BD433BAD8BB31D4A14D6D45F6CB5E8A8EC31180A76AA03E83AB3B2CB9A7DE0740EC7BBB55DDB5632D4BE1182E2ABE3F625923BF5B94488A00072414DEB2FBFC79444465EF10AA7EAABCC52E13F68601250F313B40D3DDE694FD935E92D04A940A8BB7D5670ED454B47725D933E64EA6485E4589F1D9E53DE5EB1C9450049F35D14BCF8C38D20BE815D5A61703F3636F6E293EA384B742A9088AE006D3ACB0A296EAD4680F3152DEB56801530D6044AA040505EA4FB656ECAE9E389A3E5040FB66490C79F26E980AF8856BCD381A53E0736A9A4BC004CEA03F127C42D3AA75A0B9D9084326F57CAF346229F818A94FDF92CF32FC3DF08080C57E2BD9342FA0E60004E9091D514C500D4C3100C73610ED989CCF5C2D40996F52E4FA469BBCEF2CE1A7B2EFB9D70DDB30B28728F7B599F503D921C59370FCAE3E07BAB4885E197261F9D0959AD49B418B2F445C02728DB039042824245CCC77542E0C0B15C73C8E01767BE6A2B0AB3709F35630225D9749E23110BC96F591B8D822491B90D7F893DC1127812181565954EE6B8122865BDB496AD533EB7481806D4BB061E18170A1DA37CB435CF356DBFA570AD4EEB26342612BC73F6E0D39CA45E0EB44CEB07E49D29E1B726712F510B68EF2975CFCFEB6561640B0F0C2EF923FC6810FA5CC5E5F7E5C2992FC7E023CCABC78B8D9F3EEABFFFF3A3C3C38D321657E595BB4E6CF104F8B59DD4491A88C96B11AA5179C3E2306305F49F813A0598037CDFA95A2449290659C8C1F1671CA688A19CA498EDA4F5771A972B234F02FA70CF198EA4222701D1F30131310F1BA4401EABC06190AC9DBC8EB1C7526D045FEE0A9CBDCB24E04464E0033123D6F8F2F24F123C5E6DFD75D943639C47A6114F8DDB7AF965B8DDA8460FDBC4B258489490E66326697404592A4AD4124E3D879DB864186279D307015D2C3ADF96E2F57160F0E4A2037D6C760C5C4C852D4000ADE51EBC6613A7B48C0AA400D0FCED3C5E47074C3B917703D2FB1B04B058ECF33FF54EFEA37495E45C9BBA1C1B26F160DE0BEEF21D26F19131041163BABFE16E4D38D83519BBC16622EF690E3FD0A61A968F06320A4454AA43883DA580A396BC65E8AF8727495CDE042A0587085399FDBDF68F77AE2BEC132D667904D1FFBFF7A2B361E67DBA5018D0D75C025D2FD77E4827448BEBA2E91C3C4F456565AABF8F9E1CAAB020A797D6B8C2C9A730FDD80F5D227EF9DAF88BB0026A9E93C3D80A1636830CE832B09B942CC6D6278CEC5E29429AA6D672F2BA0712D5A84580C154C0DF08B6032E5902353CEB6793AD9C8EC953531B4F0602EDBF3D069A070F4166F12A3AE3D3 +MD = EC23F3C45243233933A581AB554EA391ACB3AFFF8CED26E7ED29445040A8D527 + +Len = 33296 +Msg = 61CC4D97F411D959562A0FC4109B442AFFF59BDB158415E8658F9545A4AA2BA8B64A65B0C71FDF338D2F48EE031D8B6FC2B049C2BE4F25CFB5D959C77099689B4C607A2F81C5FAFECB3290633C5E7766C2E766B4CBB1F97F8A4D61C6C55CA996C8FFEF51EF28A90C06DC75E20AFF339A28A44FC057FE51FEDE7260938E89AD74ACFE13767BCDB8D25BB890C1401C5986C6A1DDD366EB5EDCA55EC9B65C1014DEA47597DAB811446ED3C7A3571BC77D1E3E97CAC5608C43CD032C63455406EA98B311688F11A0792A0B8E65FF804526638A730EF25A6F4A7B1892DE226B6FA40B65E4FEF5387AC4EEDA6EECCF155712E7536C1A4AAAD5F78F8C8668420DA7A48D486F4C4F006329E7BD8750165512005D88061EF2354A84749EF29FC0D5D4753006878686D09825825D25589AA3F386ABD079396312E8CB26CC92420CCAC17492895B2ABD20170A1DF011181F4051AEFF2DE784913CC40FA85E5F26C3FB36BC396F6B1EE7117E77D29A253E37F02769F7574D6CA23A56F92514AA615A424B484F90F382E1AD0D3AC3915E048D99D74779BE1403E49C61F6760949E8945593F7A0DE5D884BDC2E94F4BBEFD51D83E331FDB7FE8E4C4B0429A24EC02ED9F3DF54404F6D7C8FF52895E5853442C03DCDB9A980377E09C21AB8819B29EC96AD0D0FABDB77E42BCCC7FC7A70B83EE053F556B905C63F8114C17A45AE8D19CECA6E5218336EC11613DC11532D91652E78F86726A80749D70CC54CA41C33D643F280F109F6269C3DA377BFE87BFA60A1D167881AF220FC8D2A6E290226FC2D0F66D2A1A7FABE47AA8007EEC301E82FF50BF7148463645DD2471927F9546DA78E15D102E701BF06C972EED2B489DE28BC2148577FB489141DE8CB51D24282E621267A4139D1F0BC35DC9D9C42BC33A04F81095AB3F176C4212E50B77EA2D132C9A5B90B1E32E631CF1E10C5583514325978581C1E55F752D76DBFFC8576F56422C5DA1CE20E77387F5173894467AB0588653BBB44BCBEBE4853FDB9CD39157068C907B32CFC4AA5DAF2D024E0C3B2A804FE5F2CDE75D299B37C5FB4422D7E61E959ABF90C9A3D8DF629E76F4A44B76263E9EB7AD1649EA89F8838705E1A632FA0B91482E907F077B992C96B3064D6D7604D09E682A5886A2D9334138161DF5141C3F06251BD470163875387AFB38163394B335B79210BAD92ACA568BD1AE1E511C22803BBA36079FEF028353AA0F5734A1C7C6C4E6ED684742BABAD0E93EDBCD0DE50473A5F46CBD9C592FA92D42EBE010ACEA97BB36FBABE2F14BD02B1A07B35701D131623BDD526BEDDAD0B4FC6FBBFD4CFCA8E513767ED4D10EC64F920E9E6CD528676875A070CA6D7AAC6807B53B7B13749CBE350D5FCFE1B34E4DF2E89507019BD6FCB24AFC3A1C9BD64CA4C7572FAC9D87649510D5F91B373EFA0B97EDE7B8768D0186B968E5A7F6D181CB5F45BE2EBB942E23D821BD7A8A1D7B0E2A735DEE8944C378FF9A98E13AD7344198B576C6CC770C082D640936D3F07021293764662F77195CF956E91AA7D14EBDD06C41B57C9E881F2DE467AEF05FE9EA1809C450A45F3F0D67D7447F8AF8F87DD52B30362F44AFAFF54A2A0331AD8C18C2F3594A1E187A1D94A4C1829D87EA67ECE045772BBC82C231FEAAFA81E2F6E18D7F45020AED2B22FEE1DF13FC31847EBC9F8CA140E4944F8D111A4DEB56C0888880EB95601FBACE79918A6BE2F0BD370215689988725E9AFA988553867F898C939A8DC4A58FAAB9B105185904CD543382F7DDE811EBD114AE109B97EFB4A7BD4E582C3F60423B48C1E35B8C0F291048C29375F9CC2D4C01079A207BB7BCF875FC7535BF47DB251ED8A60F03D84E49E32EC5E72F6DF26F18BA040F508A02ECE21597BD710C36052EBF7A0CFA8C1FDA132EE3F9DFF8814CFDFE0A514C91FC79546B82447926D422B8AAB87B94CC29F165E1F970FF274FE2A6621EAC5F12816129D27B8DF06E32A41752A65DE0B47283EF049422A9AF58A9BFCB042ACE1CE470124369A915E2BDDCC292431E88982BC6F9C51AC4C8B3E2AA96BFD6B574AE9D702A2673081EBF54FB332F552EE17BA638112816286E94FE43C6695752E67F69CE6DC4893E1DBE8C5DF8F292271F4F5C140F324AFB49A1565717FF0E0681F01CB7CF96D2F8C50A2D76FA6B4509701211E07C7142D22A2FC40C2CB47E91A0DDE3CD86FBD02EE53F8367D1F25E6BC0C04F19080AC19689E721327634289261827333594CF23A7CC0B0C95261257F2F2A4D9EAF72704890F29A5C6F12394C6A57688BBF61E187012CB7C92D720585976AEE344BCCBA607E74F5032C14592C317D211C3848FD76CBFD84D7A621E3D89FECA1AC8D1C0090855D530DF05978EA50C36DB86D311FDE0F8C6598DFFA94F094E4C034FCB13986ECCF09DCCA03F2BA06F86D2E49AA9115BD80CF49549E6FB23A81419826F7F3704A1FEACAA456DA4C107614C992443D5DBC8940F66C2F396786CE6520E08B715D1DC3AC0E695B7BE348972522DC4C831F02B4253DC76181F979C6F0450A7303288ABE8B9FD6F8A9F46AA93C4E6724E29C9891BA4EB8403013DEF6068413BCB4D413EABD69B812F479A2B63437ABE8C0CE4AAB34386DE580BD704AA364F17C031195F0DEF63CFD88F1246A5895D3D06C2BFC919939280ECB8D1177D799062B4F4F0B3C7D855AAD76A525301EB6706695639D03A4C0CFAB11A1EA74AAD65D68BAEFF5B0355AEC1BCDFF9FCA7F3BA5DFA9F7E1D073305BD96F9ABF5EC76A14BE21EE536E09866C1E0C4B9AB8E70430BC708DDE617F6686C2B6165981BF5C70C747AB222482B076F5032656EA780E0798C5F18223590D3872804C379E5114C6A49C8DBFC14BEE6804612EB21B2055AFCC7C1B2A8E8BE67FAD7FD8B5E2641FE8CF37792FE47BFC35C76949610F6718DB9403B29F536DE09CE4A254F9D612DCB93175F5592466CF9B7ED0585F83D1EB7AE64CD83C117A7F7A02A859A73377BAF4624BCB5B7C313F6C2613138245FA0A40B844CD8670111AA27BBB01A7368AA56BF24DC7D8E21FCA56E84A32776571FF60B3AE38B3AD1ED3ED3BDD19EDE8C24C2AA71ECC2B28124DD0AFC382B784E273E838AFB698D8AA336016C4988A58ECE0D8A2A2D94362D738346C950BF05008A10E29BF27F15B802F213B8E69473B023332952912F20472FDCF193077A0F460E684F9FDECD2D7793DDB33D5457BA30B4D91EC272D1E6E5D2795698A9AF406A8C05D1BA2A64F883D37EA18505A0F5745A2DDA217EAB1774A9D813B8387EA16C48EC8E5600C16D98FD4BA0A1EF2888FDFCEF5365401004B02CF704623277CE502A54E4E03D91914BA829C56740F777A5C28FBD45EAC571DDA7B89EC7FC982F65E5CB382415440162091C2F041FC0F97F20693305C25DE7837A2F650577AC6CBFFC09F1F695417CD5ECC555697693B12166CDA47B8A745F489406942C599AF5F085306EFAA508B5BF0A406269F600B68B58CE3E204C3BEA59E4F3C19157C60246EDF18141597BC0CFFF8308878E4F36E4C443BA874BE58278FD5B332CA73CBABA2A302579E5DF863DB92251C597CD45F836D0B9D3ADD59EF92468542B377E3250FBADE0833914066A39566009507D4C3D575851224E860429F617AC7EBEBDF534DEA8F3AC3F7A14F815751C8E72E907F9077B54AAC645B4BDADBFD969AB38312CBA888F0568170C02F36A4C5F0055E6702F39D62B2383835A719A60E3A6055DF550B3590341B66770897BCC66F8A52016F1491973D565EED5D1C718CA8997C8A64D467170608991D14F1E50A8FC63C4A3B464D08D05F72E9CEB8AC69B5F889EE16F99454BB5F822F153C9D9DCF4F0BBBEB510D706F2C7CE5E516E1AF5CBB838C95D973B34230379CC30299DA585BDD8AD8BDD43EA6AD8AA8F4447ED4F411E4A3CE25C4B338882C6DDDA40A8C2228491CB6CB33A5AE703D29865A151BEBBFC5910B6441B10CF64C189A71911677C10F11DECBA96A420DE0EF9C124F36FC5D27FDD75C388533C88667347B5277C2E1FC0026B75E38E6E46ACECB2BA8EFADBAF1489CF45F4A9225691492BC63785966C018A8FBEFE58C5533E2BF2C601A0A5EF08CBF1B115BF3452C94953ACB7294FF09C7FCE12F8CB86333AD7EEA514AE12333558F255F5D7039AF77D724F66C962192509C5B5E07CA8161D6002417B793F25B92532C61D67CA6CE4E1718B414A86B237FCF0199D7E560C2136AFB290711B3E2B8D403EE0537C351972E86551E5EB9A3535D7D602E5C444219B3B3D63412592399A7EE91BF3BFC26F5A3A91BFE9EF9A875CCA8C6CDE2FCC7CDDC971897E559BA56761599C5F883A7C2AA2E4CCB753C659678D16D158EF12AF987260FE98087C23773AE20F81FD590E1CF738D3C04B0955F2B20B30F54381C106115D4ED83FC7F6BE6D143B61C2D589A317E98E18336150B3350CE0E16E8214DA55476887DA6FC64D61BA49425DA1C156DB5ECA01411FA062183DD29FA1CED491E5E1E2E3CE160A8E9E4FF1000BAF632A92D8E972077C23C666810339E9D9B5F62FDA5BCDC45D315BF8DB41B81AA165763780BECB544F277BF10491CD085A8F5AD91EB6DCE793F480A27C448AC8DB95738E36AD0F15FAE23A98F73E1BD96A6DFA6B1A4DF4D34441D973AF7E1994C06763BBAB81AC19B0BE9EC856365DE6721840B2A4800F27E32D9046FC67B7F443A88C3BAE70138305E9F162DBA6219E6F8FD68494FE644BF6F198D1B3A934416E96AC219C72EA95648B1D9677C7DBA1E3CC6E6B01198EA85A6FA3DBE68FFD5B936747BF86253622BF0656C4178E9B259F01FBFBEF7DBB6F45EA2D01CF4AD075718440C00DC66321B311F399436064E7F56D254BAAE85A3199C31357B70E81180D1BEDE7FCE128D2AA7FE5C5095A05314B056205E719F13C738FC443F94DD3DD8BF28A8024491D3625794CEF85B2C2C810208A8557B04F517C42EFD9502A1B4DE412B47C530EE6F0056B5EAC5BE87AE7442AA84F30AD9B6C50D8518632BD4512783BD3FB358B9CBEE1ECD5D634D617A57BA8AC2D8F12C99C1A146D6FCB9901F46C05FDB5BC3DDB7D8C0D694B5E0432E29A2BB3BDA70D3977D7967082069AA36F425C60D3EDA2922FD41DDB7D1FA2CE76256E3EC53A5575DE0B0919BB719CD73884F052A35FDA47861C13BB523509BF91233ACFB82C674BC46FB5AABA970E29EA48AF84FEAEE9AAC0CDE8AD0FF2B38AA378963D62217B8C079BEE27985B725EC8327F8A496CBCA3EBC763793CDDA9C5C84B42678A0AA6B9BAA03A5CBD7E2F733E956DD9B5712317068EA369D7821E3C288C019110C0EB792EF4FE7BDE199EF10C973138AF40FA52FB35DFFA939E3D843ADA7750896917772101E49076812E623F8FE435452CC39CFC3C6BD3665BB7E20FD09E28C08D9D29CDB7A4C5F7302ACFB63A56BD481F535A136182577E0AF1436C050EA376B335DA9CF960042A1158FA842A85DCC923BB7EE96016860C2231A1F0D859275801958CEBDB374CC1BCEE2069AE9A2E970391172AB7BB9D39D991F68C2E087A0773387B62A608641EC54A7E8976B7A9AD1FA9904BB3FA98FBB332D14B6B23A82F4FFA69A8DBEEB4733B7E69430BF6B1EC5C8E5B0D7801B4C745D92DFE071224C7DA687A7E1991B03867E82E7F3D3DCC2C63AD5EE9CFC20451BEC862D421E03B11195BCAF01EC4428691CDE6618DB63AE73C08181304D4B06561383176664D20052BD5B7373A7EC53D1A4FCD63D7390D00D2217CFDE499036E6EA389DBAC12D08F40D6322A26C5681FF0C1F9B638CC08CED61524EC48A8E8BF93D2028DC10FFE063CB807C94CAD3C2B694ED9747385EF5934F4C84F907AF7999E476C2735E1318AAD6EBB7947D9A64B2F625E2DAB7E77B6FDBF +MD = 9471607946031A2E589DDF6F7AE6896CD94E7D0F86306E0D1A75774513AC9553 + +Len = 33800 +Msg = 6964E2D650B19AA6D31B839C604A90AA3D105834F3854DF4A41D4787A387042CC413DE27503A1EFC366B87ED677EA63DCCD40D9C7F699FFF9B8A42B596173014B9E811D42D2DE574ED5C80FC6A5A86B772A3EEBE5640102527401C0E9BEF57E05BBF06986535D3163788C60C92EC7460B7FC685FB45FB8A18FA84EF5A37C94A2EC3A948DCAFC69B83E2434ABCFDAFCE948D8C76ED9BA780D39AC3DD098EBB3208538A666CED8ACF1B3031C5EF23592FC432AC25BE0552C1A6463E3CC778D456A520432A8C55436573219C49E6BC27474AA4BD9B1B3BC64917D016B6580AEF2A0BA41ACFB98EA869D3995012715D06D64E0AAEFB2627125F225E2EFEA21AF7EC49304B8E6399623FAC15D6CDF39C4177A12254E5D807B4AAECED6D591F4D0BF50C07F5B69E7D60055062654E7B1C8B96AF726BCB34B10C60B7FC3B10DBC69107C7D81043BCAA681EB354CF19AF26AE3C7CB321B892C33CD044A24A5249F2F2EA3F804944B5049CA887EAA6D4CD5E52D17CF01CB0FCECDA47425EC85F8362AE045ED0D109758C90134EA27C4CBF6E3ABE7F283F4C3FFC4455EAE4790329AE47658DB2850B09A79A89BDBF72A20DC887B6AD7ADECBD5A86C08479D446EF817E13A37819C227792E3E0FF80A2831B20760B879A489A4AE50AFF9FB1DFF39132DD84300EF7ABE05E98C5929683A2DDFEA99468996D652DCCC698183F9A3103F7C049A7227733D0C14ED1BB809B4EF750DF19094885961D327394D6CFA0A21B341681738B7E6FEEFCBF4DD474B7B45EA64A3A60B97BFF297E8A52CD4AA6E92D6DBB7FEF7F736D29CE3B041488A6DB68D28F3C0204CFFF82CE6EAD11E11D7B060A0FF550711BE33288ACC63B6DCF2062251771544AD41B35B1EA5F11C4B196C48F5FBFCB4B39C60044A70E1DBB2CFBF9D8FCC855DEC9A0B33F2021CC76B236ADEB5A1356CFB8590FC1DDF8A721D9331861DB604AD0C8C89871E960019A0DABA43202ADDD526C1706E782FAC5F98295F4C6036B8E2DF6D225B6335D1314143573AB8E66A7750BDB6420452FA060B24FBBC3618D951490534718D97E3AE994D5E770D103E1F405A5357A2521E9393ED2ED197E7AAC87E142205C69DBEE846034FE6F2168DC207D13022E11427E8F02087D2F4E850E7FD21237D56BE970781CD779F7B0D8E9F689E6CADA3386B5E779E382AE3DEB6CB20DBA16A94D147101FE594790A5B331D40551C8C1D81052CE00642F56E4048F6831D713E74E3F4C6ED2352854854E35C06313F0104FA47EEB282AFF9A3ED3D683FC88E9684AA0C460C3EC333080D5F557520A359803563A1D8BA7C716082CBEA808DFF6296947CEF7EA30CBAD458C0B90A07847E3E557CFC33B0E3893D32924934DA966F6D451FF8C6B28ECAD7480CC137327E5DB10D180D41E8088660297DFA99126F7E2AB290F206C02644B4F28A603E959077E13D65C650CC0513259C36324CB5223E829350EB0A567317FA176213EBEFD40B98C38055B24AD85171FF0724410926B38D8A06DE500775D39E472B0B3212122204136D0793ED28F6EA070ED50745745DF57079F7D4C63C6B5A862A031DA93F4E576873E6ED03EAABC2A59D4FDE5A670850A52B17DFB059AD5A0822FF68B9A3A11A26BDE519E86A2C7F743BC932BB29208383621D509DA438A56B56E1AAADC330A0CEADE51EA65ECA256E3DEE4495C3FB94F41C121B03B6996981033D5D9E5540719E29EB1AD9A10C2182811629BB5A7D2296842FCA6018E44B1B2B0EE56DB63EDACFFA837A0147D1FBEA737FD66B614FA097819422DAEB9E1F04B81D4B1E569AA84708AFAC7A9DD92F95D9CAC1137404F950C70D0E337C956BFD2C7B64A3B99F1499F9B297391B0996B42289E205B47900168F8BC3A30C84CDF00AF52EF14D8B4A87675F8859E9C3980524C2081D3A08DE576C1FD5B40459E299BA89FBD05C8ED01E3BEDD893F7EC17DD1BE1EEE0B19186E739DDE650566C395EB143451C09EB51C6E14EEF3FC3E20210CE62C49D0BB862CEC28872C0CD989050B56EEEB062AE2645C1510635E4085F5940EEC6274CA982E312AB21BA0930BE4D6B57AD8D36BBF58DC05D353E32A5CFCC4EB008610E24A8F2A1FCB57BF6E4ADCF80D3408997D6872A2EA5E94E74CC184ECCBBA15882745E03146045DBF6E94127581CEE20F2F408841D1982132E5B7F582B91784740761EFDC9346BD9EBB3C1FD341C3056F4DBB4B36EA9E4BF05C965B367346472D0EB55B840ED49EF245C6F86EC5394063305BA0DF45DB30F7658D28AA988CC9AD97F0A9C0B3E59FB623D55C61F2E202521714970C2285BDBF7C6119FA3097D82F6A1EBC33D42C85A93630AE18521A2F8AA785A17C2D9354033FE297B172EA1F06CCA686DE4E1A28836DA559E4405856411D58533CE33C6B573EC51F0F565499F6FCA8837FC80BC4925867EEB6BDCAB15EF1C70B17E02A535E2F423D36591A22CF527D118D5C540A6749E1C206058C0452BD9C8F5885EB5823BA8515C105F8D96FD5F4AF9337E66D35069D19EC041A7D979452E5743A6A22DA0DF662FD9D1A2AC3F8D431A61F4FB944089C52233167E0D53899B6D45C51393F3EF6894921486D2F9F4D5E6E95107FB975C8E856AFC76B06BF3648668EAFF6AA59FC9A3AA536E548880D4D79C9EB5CFEBA4D6D5D402197C0E1608500D69833C069BD1C45D766A7BC783C0194A2C813B223F141D8AE2868FD65D68DD67EF463E34E4FC20C7777BE17A3FCFA51A9D98FB23B341B12CDD2B430B0602CAB03A226C7CEE4F9488C8319DDBF4EFF1B614BA9C1FE0098E9CE1B57EA4D8D777EE89F4C2E3C729216B6B2EE2685DB9C1945B27986C748DCA51BB361824824FB2A31EF9D7244B734779B86354BC0DBA438D378193A84785B6B864306EB6E6A0A80FA2AF04985FC540477B911D7EA859D8F956DD1DF3E464D884A6355E8B24CA3F05F25EE53B23EBE43CE6C32774FB74BACE33A12E7C1798B7116BEE1245CBE323882464C49B647D61350ADEB84CAE9C61B02BD702E6D8DE849FAD57A57AD297150312198D89EF1366E45286F4BCC8217DB2EDD39B144D6BA1D6CB0D1C74BE396CB535E6FF9900AC371A6F9E8DAA45DD1B1842FC685D1FDEE0FC127A165B03B561002CA56F19143024C41520489BEFA82AF92FCE5BB220DCEC1AA047B299F7FAC2BCB489C99044AEFAF2920C324597DAACAB92F6347BC0EF95CA619DC19A7F28A1CBBACEFC85EA2BD7A769E6BE424F4AF08AF7F24F5475EE2434ACEECEC18BFBCFD3479226363B2BFA915DA76B839857A33641B4B9F64F15702ADB3964E5DB19FAF48489A7F6F9F56A2A258C54E0E5F97F382FA99274B2607D3D6A6B94CA075EB454080B01435C5ABA8B45AD6EDFD00DDC0270C7E54919A43DC715CB7B37E8423C7D2285D222AEC66E4DC4B55BC6EED3CED1B8D5B364F5FED35BA0312E46418192937792E865EBF5D5315F1E395194004B77F1D15E48203E3E5BD2C508E3CD8D1E2075B3D6DB0A5B28C10F155B13954297DB518A3E47DB5DA1C0ED8536FA7B5945E952BB5C4E24C40FCA0C344302A5202B92A351738225505209D810789F7A590672ECAAD866ACE771A3F9091A1695DA17B3576213A0DB5C4641E78045822AFD939B6272D12E05CDD1040681AAEE55523BE6371C53FCED13638A9448C0E9AF8AEF55ACAF723D513DAB5138F62E28FEB489E75BE072418051CDFDABC7CEB0C99F181C6AD95E7EFF5226BE5C4F4EDEE7A8C4A0500241EDBC363CB4C3AC12DD046EF0C840933740F48C63DE39C082FF4374C2D8453F2B813F397B822E90FD59B448262C00FDCAE73BCF90CAE164BAE33041CB809E7CAFCFDD658065B84B7C370CE3E08D505F7A2BA783A666EF74D8743336FA4DF4E20A1F8D58CD0B0EFF66FA77803F42169F51109A4CCFD008F36E23EDBAAA6ABF53B822C9EF356B79027CF28DF9E5D5D7CA360AEB407CF02CA2689F8131C78CE6DE7C5D8A2DC65A91DF7ACA7787ECD5145C5C791B7428F3F9CBB22F584EB564AF89263F5750CB37C8151F205B2FCA7DF746226D5AFE10177C8BC456452EA65D449E19B4253D6625D5C3349F3EC3BE554D4158DF219DE226AF379A422A8DAC91B97C64E19C120141D806767F7EE931D88E293EE8AE1EFD2766EE83174DE19BB645EE3455133B81E2270AC1C7CCEB037A50A5CCD540F00ABE27F05BBC29A2F10542CA0AE130D2B2A1464DB03C0B2510A9E7FB98AB24FD391CBAE0A112A66EAC05304127D1545BE6638B6D35606877719C3CD782FAE3FAAD1B89EB603750C7B5C3CE84F93FAC147346350C750CF2CA7EF9099D6725BD31172C37FAE60E07F33572CB843E67E8662D0DD55E424AFA9B1D57CBF9DDCDE447A3B8B604EFA253EBB2CEBE01521F0353C521F457F451CD93346D815D6BCBA87B3D2F96A22ED17C17B90BE3DDF7E04838C4F780BE2C96B781558B4A4999B3ADBAACA1229F22FF637CFC068CE8802F8684AAC32AE32BD09CD5C1D770900CC7C5FE8DF41E8110FAAD782C15C3CD637BA619A0037D7378C72CB0C95A35A9109BE11F8C4BF0D3BB80949A15C64A0D6F52A9B52A521D06DC749CD0E553418E127FB519BDA401F59E5AE517CBC2F538B6C32F9CE5C34088CFFFE03FDC7D36A7A912EDE8254B7EA46F1262973BE564089C44825437D8DBA98BE04CF7F6AB5D03C5C10AB51557F331D0B1B919B9643EFAD709080D2FF46BE83E081551F64ECD826DB09469179FF4B068CCA172D1E16750BD6D4C805146DC0221A555C81931A60206AF7CB485D2FB7FA9D7AACBC3E3729EB09979D2E683EA3ED8AD3B4BAAF4FE25F8B227568795563D3F2902A97375C521BA20F9C5E860DFAC83A0F0ED347588F250A44F01C93611405AEB04C6E75153F0A6E064E19D895DF7596C6A48A0BB3804A78937A45BCD05486314BAF72661349E8EB516FCFBAFFB31639716C5B88CAF4255E20EE90A6EF402E7A39C5CCDC5B196A99C5455639E9ECB788F94ABD7A711833B92DB9FD56B6412BF84C6BEE9505682EA300CEEDA496EF06CC477C272318F9883212794E9AD88177B65CECC1BA8474D3DE7656B61A3B832240578A4FF704CAA65E01A29F365C1ABB1DF23D61AD41C08B092CE870BA1103857DA37D8F5647A5D5ADA7BB1D9804C547C187BD1767258292514491CEC97BA41F48C6B581FE8E74520D0F0F6B0E44C9920290F68684D169253087540EBE733AE2465254BA04BEB703F3A309BE14B4F22EA63AA2DE8E674D2AD446F356D1CFE1207A5ED7C2D565CCD5CC1EF0EB1E7919C26E92B851F7478C83DE6CD21A3547CD4464A6B6B4DA6A8D8F736D16D818063D1FB95A8D6A46911FC564AA5CFB1CF76EF09D0C104648F92DB9B28816F560A24935923A945A1FB52AD9FAC6EA2E640A64F79F25693398B0A0E567518D950714A8AAF343A68A4EB1EE1F518ACBE99E05041CA505AD509F6EBCC68C84D85DC17E60F0240EC848A842F4A1ABF11371F46CE69D5B535FAB5634523E359AE14DD07749FBC6390EEB9E5330FC07926C971C719CD02AA565048CDA7E534365A3F39555F25BEC847C0FE5A76EF68F038FF552DA2722581CC14ECEDA1297942A1A67D0501815747C61517A9AC876DB662641F750A917EDFD8EA199D27E5D56855E5200791CD404D15B6EF6F5771234B0902C9DB5B033F260359F1A52E6646DBDE9E4F9876A7BF2C5FD7BA028BAA306FF9D4287DF88AA055C833ED8AC6A56D2C83AD69AD3FD6FFA96AB717444035D3B8DAE9D26D475767CAD452B607B3ECA6C573C38530DB071968B7E1DC26058827C57AD84A14B495FE082419255C495C5E13F5BC34D96CB498378CC16DBF6683D54836E12D44D76956A6B0CE788AF5282B9F06B5BAD30347A1D537EF864BB0C1496176B1B10118D02A56407609C0208E860B86A47C82B6FDE76CEC5AA70CF58B4B110D67E70E7B37DFE3A1D530183111E2AC6B30736BE4FFD6DBAEC5DCBB7194B9F0CC733F0A3A +MD = 89D2231FC658E28BE2A1CA2382187137479E3834B498D8E070711515EF670B4D + +Len = 34304 +Msg = 0EBF64AC017FEBDCA40FF85FD4AEB8F1A827561C150F74CD5E864857FBBA9C08A46EFB9FF7A16919618C9FB06BF8FE3F0859774DA6C38C5A0C54D44075D1BAF6482B7705C8E1A86E79B0FBF0328246B5E6BE013F934D4ECC34808A3639C49464309DF5AD250BF4521E41B4CDE563566B8625076AD7E260018EEE2F3252D15F36BDBBCE3C74758C68A0E72D83A37DB4D2022A80A4F6B16F4515053E1FE398CC6A74D343D4CBB403597AE68533E18EF893F756F6F554F98BCCBC84702D19F875D347C345B09EDFCB1C71BD6955C5178DFCB07376728CFC3AB9565C0A1A8DCA78221028B00B51B175A2DA2CC0A90C33C169EA8A1A2E375C087AC3657D28AC481D5B5C225AEFA85919FB8628F32F42F1FC0806A250143C084322FE9E30BCC8B89F3DA73469CEB935EE25887D843321CC8ABB3C75E15F4894CBB5731782372A5631979BBE6AEACDFB711A84F83BB89E0F92B88C5EE83E4F9A3C4F80624A17ED5549B77ED7D939C368CD9A92EAAE595105DE7E2889CAD71D01201580038FCF4AB4D285A13BEFAAA14FACFE5099A83F9E71D512519D055F44F757757BCEBBD2734CB91C5C4CE7B411D1E83B42689FDF8A69E63DDFD255B977D7435BEEB5DEBBBA7A47B19CDAB3F1C40E79B926A481A1629A818525C2A198983F23F0DA5DA8B99633689292332BCC2A4AD49769B3E448F8CEDB87C1DE2EF5D04E1C3A8116C3328F6B19B59C318E18F8DB29875C22A0A0C8EA615A593439F7B90AA2AD9C16CA573040A8190A834370378554BDA9DA9486AA3CE3F1B01DBA14B032B3C334F7A1E961426302ED2D38C34F61D7B4D182C0CA303C2F379E74EAF65A48D3D8A95616B2ABA5C88DBF6284C5CD68D902E3958A7B9529F49D38091BAC288734247FCE886D49BCE00AB98B1B962A8DA8B4710644E9DA418529E79A27408B52EB655FDE025A129A38EEEBA936657F725F0EC668380B9DD50C0759AC150F81B696B886E86A5447CCDCB3FBEC08C79471DC3111042FCFFFADC1A973340DD68610631FDDA6AD25148C2D0B48ADA24E6B2D42EA7510991C0455BA1B7F393CA1FA5801F182F89117885455DBF88F63CE0B77669BA965B73A344D3C4C787E3B4AAF58C56FB2589967C71969B1FE92C5E7D91094DBA84F470437339C1DC6918DD5FB835CBE69750363691B0CEE7B80F0D0AEB31DDBDAC52F904A3A91051B54ADF75B0D195763D29FD1B88244F61D6A304807B646326E76FB880D1DF37281A11CED52D5B5873668642C72CD7C70E36825CC17DA6E03C577D12F79CCEFD6B7B76C88B19F7606536793D8D33F7E0A598769883B417C3662B6267001BE7D0914563B2402149357D1C64680DA80B32207A67611EDF0E8D9A767E2BE2ABB21956FC764200945E4BC5830ACCCDC80DE485086514C63DA7F785CBA0C1E9CE5B249B52E7EE570D8657C63C4FC90856DFBBB24C8D2A711CB3A0960685EC55540F6EC2641A429D3DC99D82F26D2C7EACC614FFE988117D8F13B7442A9AE2929D3E1F67B974BB4A4AA960015C9216AFA844A243095F167B114700FB11215EB54357BCB1D4792A0B676C708E710211C3AF73D61B82F4D04BC40C898CE00A2D34C77F5E22DB71F46C939A0EC9C37D1647E23A0F44CC23D710A1DB20E38D009C6580192295C40B478A85A0930181D0962C3B18B6AAC7F5BE99607ADD25BBC23A7530E7E58C93F9FD4AFE5133FD228C6B4D9E43538CD9DCBE76C4D7DEDF22741839558A6B561847327DF7CFF1C17E03EB0ED9DD921974954638CADBF645A4BAA4A62774BA66E2E458A1F7AC67EC394429339C2F620D457F5DD06AE551B69BADDEE99A6C93EDC7BF7CD56898CEC4AB4E633489DD1934B3EAB68601E3560092CB9B1C64B90C9FBB6F62BE60B0E221F1F6E1D58444B731B30AB04C40988093FBD396E65BA703F52ACE0695035EE78E7A4969D3EB5834C58EF60FEE1DE0F0E03E4203FF50F957ED68513F9134A4332B56044EE14CE80EAD7CE532ACA58B1F98423C3CABD9921F83A81C7467B3C6F6DE4B12AD741C7345BD645854BBF859D110C8D60F53AFE65F6A8A0856BBF78954F8ECC831FBB43F030449A9FE72A3C86AB7962ACD28975530CB567CEA713BE76B2262A70896B8A3CAC66772C56A9ED139F3F4349898AECCDEBD5622F32A75EBBC9FE202FE56C957356D40AFEE4718C52D30FBF683CE17056E672F909110C087D361C196FE33C6D80DC6925769F6A93DD41B5BB5FEA806F3BF56C50D69B45A371AC5DCF5CF356BC552E0CF87E22AF0F121B21278B067138E2AFA098E7EDE1C0A8AB29B6CCF6B85D39ADB9CEDD013886D2C23C273A21267B2F2C22B5BF25D5A5CBD083684B454AB5FB854F90CB49B2F53795BBFD46348B30958398344F9C362040E1412F331E2DD1679F31ADBCF8D40BD3BF707A4F3558239A0B9488B3D6A264E6DA3911B0BE47DFF3257B193129DDA9F3C0D9ADEB161F8426CCD01AD2D0854F7319E12DF89DA88C98FBFEA96D1F40BD098AA46BEB471834B039D6F001F804ED3DC47CDE01D5B594D565D94F70BA7387822DBE8D0E44645A914F25D1D15F38EB4E5C9B4F48C6146DBEFF8D36C17E5E57A3F07E561AF390EDFA4E2CFECA19722A3BEEEA23782CD7AF8A61767B010F89A7082E04E807F5CEC49BF5AC71DB3DFDC5665CD1FA5B9EB0C3C7343C674730EC650A13BAE412126C68DAF917862ADB4E220461A6CD0C7511F4F31C47F8A41AC54FC0B34F07DC15060E9A43855DA0A162436B1D3A4B6D8EA87229FAECBBD9A2F0792266DD160E0F8671690411F8A9BC7429F8E0F4EB0098E33F0532057D1E05E6A78FF48A6BDF78176FB462E56B305476A78F099786A6793D2FC3F4F74DABD3A34BC2E50267F06157494B9966E1BF1F8708CBB770580CBB2467FC1B3595345A49A5D8EC528F3E2B3F91B06E0693F87FDA3B68CF99DF5C47BB18B767FBE74EC0B664AC0F1CC6592F01A5659A7F3B4293BFB8541F0A9E3F923A547DD1C784ED624CD3A2C9D1B8C308B3236E4146C93CDC36E17DFEDA5C123E735AD4FEAADCAABF9581BC1060726F545C308E56C7310093F7938A2083DC468BF5FF3C84C2271EC7533838FF15E6F7EE8C71115EA8E342BC33AD64467640B11EFE5F33CECDEE3058E8C17F8CA0488918506FE2FA10B92B9FA87DD7305362D24D4CE454A779612B112C7C7E6D4B632A8475EDADBEA13486CFAF5647E4DF1FB135AE793F8E6D23216B0ADF664A14397DAE07E133A1A58E15B25E9092B61FAD3619BD551858144B80D9075D34128C351643F101BADDFA990CE910F2A8D721B64C495A12F07AF3D32CEDAC92E20DD9638C0DB36EB7B1286138FE056EAE9D91C4A0AB7DC5267FB16A41B771EB01D54701FB43570482157BE10C6FA9E4D866B8B5D650EE6F3FE117B1FA79CBE4F8A9B97928EBA2FCA6D7669B384184895BFE76ABF484B03B9F7CA10308C6CE31197CA15B1A36CEDC3774B6B9DDCC2431E732DB36537F1F4F4883E81E7B3C6D368B4EBDCE34C657711D2CBB4158D519E027C5B4B64575AFCD87CE736C45028D378D70C0FDE73B5499FFB307B9DD82073833C0A84769964FBD7D01C4ECE805E122364B2B485B6DAC7793F1EE7F1CB2A50AE6565CD210308260EF64D9B2FE8378516AD093960D5CA8CFA9FCF28762998020743086B93EEDEC324784428EBA23141466185C740055B1E87BF7F6BEF5CE8E28DD270F9DA64D6FFF2CB0D73A734D45DC56CD03BE9414DB568EE2366F2166FD6D43AF9EEECB13C4A5D3A8E775BEE5942194033AE3EE1754FC046BE91130979AB88E47A4CEA379ED9E77BC4310DDAE2BDB7A5B941E3FB6081CC3ED710E0C603D47EFA82FCCC0D556D4AB58825EBE6EC7700F02FB7A0EED44CD2F8772CCDEE4BA4B883DAAB46264A569AAAE97A0E4369EC00F59D841A1A7CF2D39BC58725B248C7B159D6D68B3D9721231CACAAD38F26F357BFD31FFCEC18CF34EE42C3B375C827C4284B31FCD4374CFE8C2C7A6B952581C9837587CB161EECA237290AFE8095E069A99514DFAFC2FD8CFC734B4AE64807D3ACA2681ADE0FA018B17D2A61F30F0307AE86D67D4A14D9CE214CF41EDB702735F99D58BDACE7F28C7D95A9CAE8B079708C6C7E78ACCAB67F67A598F7C86FE8B8AB6539B2EBB376B6A17144A3ADAD6BE5D617D30607AB4D94C11A7C1858E19B5C7B12F9BE4AC245A9E91A22EE5471AA58538AFB35319F53D6DD69BC2AE48D2B649DFF6E71DEA3B797C071A0C345F66DF053475A40031F323908C71A198C7FB2D542AA8DD97B2F1CE01D11E7FC458518CE1CB451BB9B1D57530D15EC95BA73BD5A386947FF8D0F565549A11B88759D6ABA3A83967BF9543E640A33F6F9D9655A547785B42B11216EC1CCE067630E89708CA896733129DB5312169003B8FACB8DE3F99E65427AEF51CC1C91005BB7F5B65218B1B492FDD67761E0F7C2FC60F7ECA13B09DF6B2A53B5B9CEAB43D5A1EC3260A89B54BC257850F0659E3240DAF073CC5236F65B159CF8FDEC771911C054BB417F6799330D443A735704E66EA9F1D3351837197C19E8226D27A1EB5B664781CF0651231AB25678A4C9F9973DA830ED3871A6EE638DDA3C789B0AC27DF49717CA2A1DF46968D56035EF02B712D12067E72B1E661120FC1FDE4FE6B11BB4D189F29112DBBD6DD0D9E4E78501C8E5EEECC333B208D7B86522C61DE4ED0D4454D19CA62027627344F455C05F429FA17E4A6F0BAFCD4B575CBA3755B042382942190B6EAF762DF7714797E916D58E7DD0DE2CFC41D8E6E410DE623EA5C547334D3A21488CD2D65E6F9E0F123166FD8304309D0160B5A605317E0122308F9FF065AE6ED422437C962A1362EC1F2804B274E3BAE118292FF930BD519EFD3A93E40F949ABC60E8E9190DAAF9FC8099A44311861B02FFB4F9A0AEA81999170ED5BD14B727B42EB44B0B55983F1AC2F2BA80734630D6B7500D65EAB42F6771EEA6872677E252DA4C717BAA07760BFC5FE09D4835A65200A80C2759A476A930B7FB4A738241C3E73A9C75D5A7F0A0BE52138DDA2812AEFBA8FD78D5840E6EA1D15C57EA66A59B3A882A8FD04093A5815A5324BE75C4F83CF16B785D2D3BD36602A0026A9895CB343688EEA40CDB483EDCD87788B668A69D0BC75B07D8C8247A9780E4C1EC342C1198295D699F0829E41A78F0F9978DD52D6491898F1F05B979E587F711DF66F38C23C2BFF9C69086AB970C468315B3B6C36D58A7AE9C749FA06429E6781AE7D49B3B368048641A63DB95EE293A1954201CAD72E92A85E34C7A74B2FD1BCA6AA61435AF2DC32C1A2F559F63E716A6C96F076097E6C45F4372AE6828E9EAAE3EB82361710EC14F67F7D0ED9859249C18D14985302847FC8F3301BD31C7E1E09B2057E9EE46FCC7C9BD8DB59EB0DEB0B1D8D291508CB3837C9B2F191A49595D6AADDCEFEF0DD59ED3A05FA8F6EF03D38F534139D56BCBD4BC3256E1A120D49A5DB1BADB528B0256C61A2F179A23C49928738F9C0FA81FC196D1A74507998415F070EF9C38BAA53951FEE7B68008BC675E0E15BC32A61C30BC132E79C58A3A970FFDDB8B806782DD31242B3C3CF9810BEEA5FB5A1B250EA62336456E7694B4C829508C7DBFE090AF6A850F79D04D2C698637816017F8A920E1B1ADE236E227B3480899BCBB991F6C6C240BBD4114AAF9875935558394A486652B0942F3409B66FAF8B8BF711CC8C34CCA41B8E16C2CDF0160B92A332C1F04BC64582446B98AFF34189675B7A10FFC6F13B3F74654ED7C0590D4AF7F4D747BF89BB2A8F5C8CE610CF4FA4AB714A845E15649B53E54A95213D5A73905941D9467B0BEDDA2BECC1C219E1CAB699652D85B8CD7E0CD11CE5B0CAC76F9EF3D74BD829877898E7350CCA72101076A970BEC6756C3FD1AAF3396F72833F8D4E716AEC6F93718B262710B0DA2F3FD6CBDB204ED0E91D65CAB39ED35F22A01E5D509282752837EBEE968B140989EF5F4D513452784BDB892CAFD8387E05B3012C0458A369E62191F5BDC57DD63CE42E945F493C2B42306B8084F3B25E94ABACF08EE155F3621ACC9626EE487C7A7E4667F0377AE4B2 +MD = 86EC5342AB7607103547985BD832A271426ACDE8DCAC941AA7C4FF17CFB17602 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_384.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_384.txt new file mode 100644 index 000000000..87ef8b9fa --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_384.txt @@ -0,0 +1,262 @@ +# File generated with ../../loader.py from LongMsgKAT_384.txt.old + +Len = 2048 +Msg = 724627916C50338643E6996F07877EAFD96BDF01DA7E991D4155B9BE1295EA7D21C9391F4C4A41C75F77E5D27389253393725F1427F57914B273AB862B9E31DABCE506E558720520D33352D119F699E784F9E548FF91BC35CA147042128709820D69A8287EA3257857615EB0321270E94B84F446942765CE882B191FAEE7E1C87E0F0BD4E0CD8A927703524B559B769CA4ECE1F6DBF313FDCF67C572EC4185C1A88E86EC11B6454B371980020F19633B6B95BD280E4FBCB0161E1A82470320CEC6ECFA25AC73D09F1536F286D3F9DACAFB2CD1D0CE72D64D197F5C7520B3CCB2FD74EB72664BA93853EF41EABF52F015DD591500D018DD162815CC993595B195 +MD = 86B7CC3544E5F91F12A910A56ADDD6B5E7DC7DF51FAECC2FC515EE669B5912DD116AA13052569EAB597CECA922B1ED32 + +Len = 2552 +Msg = 3139840B8AD4BCD39092916FD9D01798FF5AA1E48F34702C72DFE74B12E98A114E318CDD2D47A9C320FFF908A8DBC2A5B1D87267C8E983829861A567558B37B292D4575E200DE9F1DE45755FAFF9EFAE34964E4336C259F1E66599A7C904EC02539F1A8EAB8706E0B4F48F72FEC2794909EE4A7B092D6061C74481C9E21B9332DC7C6E482D7F9CC3210B38A6F88F7918C2D8C55E64A428CE2B68FD07AB572A8B0A2388664F99489F04EB54DF1376271810E0E7BCE396F52807710E0DEA94EB49F4B367271260C3456B9818FC7A72234E6BF2205FF6A36546205015EBD7D8C2527AA430F58E0E8AC97A7B6B793CD403D517D66295F37A34D0B7D2FA7BC345AC04CA1E266480DEEC39F5C88641C9DC0BD1358158FDECDD96685BBBB5C1FE5EA89D2CB4A9D5D12BB8C893281FF38E87D6B4841F0650092D447E013F20EA934E18 +MD = E0100D6A02568B244DF7EA67F280AE5D956BE63836B02BBFE8875D6DBED16465582E5B4DA7A67602508C679F0A50EA2D + +Len = 3056 +Msg = 023D91AC532601C7CA3942D62827566D9268BB4276FCAA1AE927693A6961652676DBA09219A01B3D5ADFA12547A946E78F3C5C62DD880B02D2EEEB4B96636529C6B01120B23EFC49CCFB36B8497CD19767B53710A636683BC5E0E5C9534CFC004691E87D1BEE39B86B953572927BD668620EAB87836D9F3F8F28ACE41150776C0BC6657178EBF297FE1F7214EDD9F215FFB491B681B06AC2032D35E6FDF832A8B06056DA70D77F1E9B4D26AE712D8523C86F79250718405F91B0A87C725F2D3F52088965F887D8CF87206DFDE422386E58EDDA34DDE2783B3049B86917B4628027A05D4D1F429D2B49C4B1C898DDDCB82F343E145596DE11A54182F39F4718ECAE8F506BD9739F5CD5D5686D7FEFC834514CD1B2C91C33B381B45E2E5335D7A8720A8F17AFC8C2CB2BD88B14AA2DCA099B00AA575D0A0CCF099CDEC4870FB710D2680E60C48BFC291FF0CEF2EEBF9B36902E9FBA8C889BF6B4B9F5CE53A19B0D9399CD19D61BD08C0C2EC25E099959848E6A550CA7137B63F43138D7B651 +MD = AE559C732E55C521B7731E9C8065931B93AB5EF16728E3F3C738E7D507B18489388CC3CA7BA01AF672C22CB767C295D2 + +Len = 3560 +Msg = 20FF454369A5D05B81A78F3DB05819FEA9B08C2384F75CB0AB6AA115DD690DA3131874A1CA8F708AD1519EA952C1E249CB540D196392C79E87755424FEE7C890808C562722359EEA52E8A12FBBB969DD7961D2BA52037493755A5FA04F0D50A1AA26C9B44148C0D3B94D1C4A59A31ACA15AE8BD44ACB7833D8E91C4B86FA3135A423387B8151B4133ED23F6D7187B50EC2204AD901AD74D396E44274E0ECAFAAE17B3B9085E22260B35CA53B15CC52ABBA758AF6798FBD04ECEECED648F3AF4FDB3DED7557A9A5CFB7382612A8A8F3F45947D1A29CE29072928EC193CA25D51071BD5E1984ECF402F306EA762F0F25282F5296D997658BE3F983696FFA6D095C6369B4DAF79E9A5D3136229128F8EB63C12B9E9FA78AFF7A3E9E19A62022493CD136DEFBB5BB7BA1B938F367FD2F63EB5CA76C0B0FF21B9E36C3F07230CF3C3074E5DA587040A76975D7E39F4494ACE5486FCBF380AB7558C4FE89656335B82E4DB8659509EAB46A19613126E594042732DD4C411F41AA8CDEAC71C0FB40A94E6DA558C05E77B6182806F26D9AFDF3DA00C69419222C8186A6EFAD600B410E6CE2F2A797E49DC1F135319801FA6F396B06F975E2A190A023E474B618E7 +MD = 5975FA4BCEFC79FADC79CCF1254BBA9EAC252E24C7DEC7EB8972D265EFAD3F6CF648C49DFFF5453AD27D62FF867A2F03 + +Len = 4064 +Msg = 4FBDC596508D24A2A0010E140980B809FB9C6D55EC75125891DD985D37665BD80F9BEB6A50207588ABF3CEEE8C77CD8A5AD48A9E0AA074ED388738362496D2FB2C87543BB3349EA64997CE3E7B424EA92D122F57DBB0855A803058437FE08AFB0C8B5E7179B9044BBF4D81A7163B3139E30888B536B0F957EFF99A7162F4CA5AA756A4A982DFADBF31EF255083C4B5C6C1B99A107D7D3AFFFDB89147C2CC4C9A2643F478E5E2D393AEA37B4C7CB4B5E97DADCF16B6B50AAE0F3B549ECE47746DB6CE6F67DD4406CD4E75595D5103D13F9DFA79372924D328F8DD1FCBEB5A8E2E8BF4C76DE08E3FC46AA021F989C49329C7ACAC5A688556D7BCBCB2A5D4BE69D3284E9C40EC4838EE8592120CE20A0B635ECADAA84FD5690509F54F77E35A417C584648BC9839B974E07BFAB0038E90295D0B13902530A830D1C2BDD53F1F9C9FAED43CA4EED0A8DD761BC7EDBDDA28A287C60CD42AF5F9C758E5C7250231C09A582563689AFC65E2B79A7A2B68200667752E9101746F03184E2399E4ED8835CB8E9AE90E296AF220AE234259FE0BD0BCC60F7A4A5FF3F70C5ED4DE9C8C519A10E962F673C82C5E9351786A8A3BFD570031857BD4C87F4FCA31ED4D50E14F2107DA02CB5058700B74EA241A8B41D78461658F1B2B90BFD84A4C2C9D6543861AB3C56451757DCFB9BA60333488DBDD02D601B41AAE317CA7474EB6E6DD +MD = D8A18FDF0DBC4D9DC9A399EED833D258BDF4E06C50C12550B50297DDA05784AEE91F339766021B2CA6BE1577823D920B + +Len = 4568 +Msg = FE06A4706468B369F7624F62D04F9FAC020F05152F13E350016B2A29EFFF9A393940C138553356B0E2848C01B622B95FFA11AB07585F7DCBBF90E9F8EC5FA2FB7B4CEE0D0A4E8D33490ABD058CF3BB85F0CD9B1BD3E9823082D70B1A92ACA6F2C87216B4BA09FEDDCAA4CF254336146CC75604FB1F286918FA2434CA36BE2621049438A400BDEEA6C657F0301503CD7E6E38350838F60EA7F001755DA4142CE4579B39029DA83F1646B7ECB9947EE89ABA377099B82026960B9EE600779BF00D6EB0CD09226DB6915A7ADED27E6749E2CBC2C8B030CE1850EBFBE24C0658F29E9E709CD10DB8A77EFDEFC90FDD7B9AD7A7E0334412A53D248C4C12BF2987B7ACCD2A8A602F184583AA560C016093B56B100154477B834664E6B85A19F8DC909B4D79816AF12266C731E29A304E9BED8EF1C8030365B7DEAF3D436957308117C7C5767E0CDA6E342DDAF824233CBF4E699DC667357CB35C602AC6BDDEE71B352AF55CB93941A1A6301A9904447AF9EE486114D57AE03901F10084ADC0096E465E2EAD2496273112F2FAE626E230D42EC22EA10A8289B3E35EEE42150769D6E663A3CA29174316EC93A24F148D984053B8F98664EACA3E0DEA0B42E8EE30F81A2CD6E42C189A25FECB6E643E693E1F8871B837C3F5FF2AAFD1650A465DC8E5C1993BE65CFFD87F2C680C86B0AD3118834A5F2E490015137BA945C2775DBD77FB3E5C67819A9A7A94A656FC4761659C5B30ED2AC55A6D249B700BC9C93D590490AAAAA75A9FC34A90D5A9106F2860BDE19FE5815436068A7F8EA4636A +MD = 99FDEE84A6E06E7E8B21AF156448B3168F777135029565694608E147537CE26239D6898F0B01E407EF9E1CE52BED345E + +Len = 5072 +Msg = D0FF6E045F4B636F75A389799F314066644854821B6E7AE4047ADFDE2D0C0E02C250F0BE582BEC94011189B964A8AF430F5921ED9D9F4446E4C788515B89CA69E5F7CDFCCC9E83E8F9460145B43DDC41C07CC512B7E6FDD0E1E7AABA29A6C016CCB7BD54B145F3951EAB9BC4908F623E5A9B0C5B36056292540B79FD15C53457DC74A65FD773A34D6B313A056F79BC29A3FAC15F6A1446BFAEEAAFBAC8ECF8168DDE5F6AE6B6E579BD3CE74E7ABFADF361D0FD32D56586A8D2D4FF4CFDF8A750FAFDE4C2E9EB32B06847FA30B13CC273532D1A23C8257F80C60B8FA94FA976F534145CD61C41C0A511B62CADD5848CEFF643F83CE43F8E6969C5A559AFAD60E310599A34B2E5E029FBDDF2988FCE59269C7128A1FC79A74B154D8AA2850DCFDBF594684E74099E37882B440367C1DD3003F61CAFB46AC75D30E677AF54559A5DAB70C506CF61A9C35E0E56E1430746916DDEEC8D89B0C10DAA02C5D7E9F42621D2B312EAFFC9FF306297952A32D26C2148570AEC90501CA739CE5E689E7066D9580A4FC25E2023897C74C6856273133E1275A0D275DC5B75DB724CD12C9C01BB95AB5A227B7850020630506096878D289923177183EA9282A4C78EC212D2E898CB99D81A3364DF20927EE34D4475A5CF5CDB24088ED75B60201922E9C972D8556CA75F8274D15F3FB88A6B42C766DEF6B21329DEE7C457446DDE8C26405FE5D0309A04229F449E8490CF9000EE8DF400CB7C7EE831BD7059D24088FB42D61681CDE45050FCA78FF64D9C8D1F58B55F802FA5D2F2E723F3E4EED4338B060D31C8ACC46D26870BD45D0DE0798D48E32AAD1A6D4322E69F5E72309B9D7FA1F24BB1D63FF09ED47391C232497BF222C542A70975C8292D275197A4CA +MD = E72AFBD3ACD35B7F878FCEFAC78DC534E425052213769DC3EE172AE562F4A0FC946D9C8E546F1578A2ACF3D06D9F3CC9 + +Len = 5576 +Msg = C9A0B51F3199339C11A5753C9D9C95104B400127087177F14D3E15BE881EE89BF416F97D4F7AA9636C5EF29EBBF8930804006EB26839415D3984B920882499752C36A5BBD583308E716DB16F28DB98B3A3E718A2EBCDFEFA75D7CCBB6A746E32FEAA38D034843461DBCFCA7F983E19F5B23EC2E3D74D2B4402F3BDCE7D7A9DF1384668C746CCE466B0654CDD5CA56A77D68A100AE06D63CD9AF512AEBAE78993808CE672330E2065C0F71E05C0FE821CD5F85732315F04666F3E4E6C4F3E9F415E31FE0980D874994108E12464609C6D5C19CEDFC85846B0A84EF3CCBD3B655FB0DE8CB892BDF774DF39C955F04F322856D470981BEED0F752D82EAD73B4131C5DBF0424B4AB654F72E26EF0CD292B87BD5B66FBD5E7EBA96C62CFFEFD4B1D870BFEF312B86E38ED5C0F50935E2ECF9FCB8C95D35D19A8FC8F202BD9DBA768CA48FBBB071179413C0DE4FDE86762ED4B13E1EEF2A00ADD5D1C2A3AF7937787DEBAF1F6F12F3F0225FFE587A5540CB550F7BC11DD6AF864D6B6D16DB1488CB226EBB2199DA75FDD59A71158867298F63961B40A31209F8F16629B1CCE7FFB617072748FDE8920D11CC0D0678389D1F719DF3ED19846FE9893B04DB60FA603170D9573B1BFC7DA663E07254552AB6253DDE814117185F84373FECD7F98DED170C884D41D1AC81814C73EA48AD94ECA1B7733D8393E320C8C467EF6189B4AC324C68C8A2ECF679C893B7DBC4310CD05DADD80BB6326B51ECD99A441BFF77BE8D644D752F3C5C794E7D45BA76283ACF8913BBF2A420F9E5D14D7A23E95FDEBC69B455E466423012E9D1DE9353E40D4BDC3107C3144B96C6DAFD41CCEFEB2B7FF848CB9FDBEA8648BE32160FAB7E7DFCCB807FB019EBF159231EDCF2D487D76A3E882F3F50CA48DD08A23B06EE887BD7DF9D7C6CC2BDBE348E3125C4532448F400CD57A8679ABAB13E582B13D49442638E2698FB7A563C7FB264157 +MD = 256432CFE8F9F0C3EFBB6CD135FD92A92AC5772F3CD905389C5E76A43E4F680308C134ACB8D17BF7CCA2E66757C67C33 + +Len = 6080 +Msg = DA5B2118CBD59F408CE56362489FDA69EF73172F46DEC16C0D4A66E3F3CCA373927CB6784CE62BBCB08A490D003A8F77391E82CDD87860909383B054DB95816720112E2F96DE9E0FFC8BABC1350ED46B9AEB5D46B66940EFA311F4853F3118063C550733E7679D871729001C12270E98439E375E0CD24769D318E03CBC97D643F1DC5F1B5EF59D12789F22449BD8FA43A13CE78A4186166523F3807B0B621079CC528F4E17C258D4F9BDD095A3E365614B94F2CD778CACABF26244891531EEDC24E1BF4598319EB8B7527736BB1E734429360F47F04B2E95D5AAE997763A467CC5303D1141C2C01F7AB9EDAB860D180697C906CE1558AEFF5ADCE603F8A4A10FC6C1699189E73B489F64CEFB89AC557C5BB8826C0317EAEF2302E855FBD96777898104365D96AE8A8ED8669C568C4DBEB0A70F6CF4C22FD933014473F91871C08D5A7B44A928295FB2AA56D5E2C39CA79D2837FB39B35C6810C378D749AACB543368A19C137B872229E0A6F469022AA93BCB2BE38B761C85AC09415CA7DEEB38FF2A2101507206FE322A89666D32750AF0F4D7B2E59571F02A048B8F94FE2D231072E301C8641D1CDB4F841AB165AF297495A348BCCD937712E68852A4ACA948C1294F8B733D06D67DE89F206498DD401E149FCC1EDCA92DEB92952EDE4EBDC7CD7992104769A04DE8705027A31337B88E8DE93F6624E8F10B9F9924E8CE5A9D841C9260753FA1492CDDFFE6B4400C5719D76FB5B01B234F32FFE64F04D0A00676FBFC58DBE17B4D552FDF0C5B802C0CADF723F73F86E8FFC493992D23E8C0B84F7220A983DDDA21170B1F730C736E75549AF6ECB8DC94FB25C26BCDDEE420C83E8A45AE4C345816B7163CFE016DCCFE47C66979D610A7F9B4A7B1BA5E230344C9F46BA076F2FCEA68AADA8FA09BF0B5CBB3850DDEDD80A30E1F7A639AC69E5595C6A4083AA959831EBBEB84C018068723192F58BAECDDD18C857E212D4C7E7215B6C954728183FBAA07720B97189AF6A7729C30D28DB33A889F225D027D164F254535770C504C506AEE4EC4676771F69F935BA08A1C6C85 +MD = 61F47F6BC797D1665809A39CF99B093926B33F926EF6B0A1EC8D82523511FF719B3B625CB1B56A966298FA77E5BF16F0 + +Len = 6584 +Msg = D1890B4704E169C28E44DDF62A1091450404910539FC2DAEB26E8ACF4533B024E5215C2D02820DD8FB2CFC1743955CBACFF0F8F35DFBB5E3F942F36247F68211D518F3F601AAE12A1CDC000BAB43D4C973F287E80741DD1FCF6C34F2E6B4B6C313D01C4FF3CBF9166F26946F18EF2D58271BA9233F09A6B77BFD4F48B36EB3D73D1133C4F842A7DC3907F680B0B773242C11E3DD973A44327EA7CEA9C0F8E07D682B6651E506B587559FE01ED721000BAF570A16FBDD9EA29FA3DEF4BE912058321A8B720C5C102E48A6E7ED6F8838D400DD57D06EEDBCD15323F86D855C94B21E41B14EC9E1BBC8019211FD88138C91F9ABBD9BB3914D26C1DDC21673D2D51263B39D66E741D924CF2B192C5D2C1A140126A3D64A2C77BE6C2C6EBE8599978AE90BD36CBB9AF64D078910C4094AB3BF399C34F2AB8EF843E9FE1BF88BF443BA21E4377E5F49C07FD9653B526E14562237F02D11B904BCA6AC31AE721A43E3C4910A24AF6F4D80C031C109FC0FE49F15274BCA92BDA04C3B4196C192F6CE489C63A806ACFC895AB52CAD657C1783B528E12D0ED856E1F8FC91F2AAFDFA0A92498D68530772EE73B359FCF1418D1096C46B34DCF90E5B468BBB2970BECBD70089CFB039D64CC50FFF5EEF26384D34F24515A6558B06A1FDD88F1050C5BD78CC6ED83D4C2B0E882AEBCF84AFB0430D0BF09F2FB42B8B4589158093A7709AAE75A790910E211EE1333FFB6FD80778DA3BF73858978E9DD647978841B18001DBAAEA43CA0C0A03DBB9BCF30CE76A6F4B2CF2A9B6531B3E4051E7E05090CD421BC66C4731E7122AD129FC42DEDC83BB460E3F889992FBD3CA072686E56B72C720FBC98D723EF7F247286F77CCDDC728738E941B1A74D4F16671C21FDD5643A115DDBCB88EE7EC67EA66FD2BCE718DF6E085D4B5FC71A72696636A8F7B3A68AFA51A896771FAAA7F1F827430AC5E8089DBC0D4175E1B22A057BC5F1724EADC1A41E78FA3ACAA8B97E5F2E19EF9D59AE12B04E7F0E8A621E098A66910E2A5ED2102B824CD3EA044A854F1CD0B33E61E7F737414B2953549F25DD34D19AA1981DE7CD5649FF6C6364A4F25312EF62395A747AB88AAD722C05AEC40DEEA8EEE5E779EF458A68840BC6BD5D29AD40F98B3AE010B6213372ABB7BB8B8 +MD = 96AC67D6C90BE81E7F5EF052C4CDE52C891F48FE9E387758DA5DCDF13A07F75DE17FC03C6137999AB1DE0CE90E15EAD5 + +Len = 7088 +Msg = D9257004993C7AE50D20F534B42B4EC39BF358393B9FB5C8E37F87AC7361354554BE596F40E67B2ED499887E26DC435C4331CDE3BF1A118F60FD821477FFA3B92F6469568CD2CDA6FC0A2B13906AE459CF5D5417DE2CE104D0B6499D3683BEB40715582CE70DED5C5F8461EDEAA38BFA31979661A2DC96D926307128F77700F2C7D38B8A9D6C6F70A3973005350F938B9B4A64E228CC3B3F9C4FD446FC650AA6377152D7F46903D8EC8E9340710E28475CF21E641737E7D7DA3CDF18D01C8F37131E727C7274B2DB759C5586FB84EC36A5CE2D820E553DE6426B8B96111295C19DBA8D17A2B7047FCDF662A59C2AF27A9ABEE37A7F8AFC06944346E343E779EBD895119D7460E7DA998962FB1100E950A8D7FE214360AD263B8D070F2B7DC91C9D77C6692DA0F472A0A4646A1EDB069CCD9CE4CA6FC24713D650153B9A253DB5136A3710198E60934DD2053315D313E27DD2C6FFD2ECF028625F0E937AFD8C2FFB1F646E51A768204D83A649798A51B8E87FCDDA7BDDF58ED943BB7E29C7D7C5DFF024545F6A689AA0E727FECD80B561011A731ACDD9B3F283123098BA66B6B9FCE6123B35B6F3A20EF1055BE9E257CDE97E5AF41EB796438727A62AA665CC9B771C4A2052EFAC61BC91BCDF573F7263107D44DFEB125E66D1F3DDED3BD63845AF3BF4185A9A24A7F4B777C32496A6107B7AC940AF24BE983F6A758E5064F8717EABBB86E6AADA7DA75F72ABED59A42DE82B1AA2642F5EF1B2E7304F642EB2AAFBF00C1183D9B5FB83893EDD48E9034DC7A7AB66F3F392F9666C00ECC9743AC4F777EDCF47B6818A34B7392B4AB8E38891FAB4018DFB99AF06369115D60C4FA073240D9C2605E020A42DB2E1E0AE4ADE3A04B825927A05D4FE3F50C1C7ADD7A496DA7E95825C064315196C2007524D1E1EF2C51303DD1203AB66D9FE89DE553CB4B95A6C5D629B89B7116463EE10AB3CF2C2615F95741CA226F9E9A20E99303888F725C77476533B4C393763170F18F292C89A22DF68EABDB81AEF11CC2AC329C174BDAE5D3CC0BDCEA6EB225E00C15021432264BA7C5EB49A49231D1F7A13AFC238BD4EFC04DA3C15AE0BB7D693A0150E6A5AD9B1E11A490B3CE90C027442501684C528FE260881162D9E5EF84D6E4F73F222E779E58B71D5176D9A27F65E49D83EFBB2D7810E5B06619D8CEF7E7B51CDFB6E8138E4CF5674242F947EAC13FAD08D68A8A11AAC9754A5316C93738BA7F3C3BD2E827A +MD = 9872C7E0594006C8B59C3719AF32821A600C264D5EDE1E168F3F8C3F94FED37ECCB130C041290393F32DF69F04F708F9 + +Len = 7592 +Msg = 09CF132AB943654184A3FC8D0368B421FDAC4EF1081A29F3691A527FBDBD74C6372233B38DC432BA610F9C54FA68699F9EC2A6BFB0B2CF7AA6D10AE2207A7554163AA14FB6A9CFA023CE63546B7B02AF03370A899EA73B27BDB5C380613C0EA670C659803D5F6F75C0CE62B311DC157DE843A93905E7A28A2557684AE3DB4FD009412A107098F881DC06622ED9E3DF2C8FE69FE50BFAE158B87CA761FE1E221856610BCA301EE68958C25BF58D3BE203AF928A919ACE53C3D99F55AB00DFC8A1A28AB83E78617F194EFC46DAA77573D02FFCAA1F9D96FD8DA8DEAD3D4E75EE5E65FC360B2A567CD34D52BC9AAB8B71160312E8E21AA506105D6644E6863E7D5E75ED47C1760743D113A4526553B303341FCEE5FDD005D35929F2AFA760BB8314D0C0EAC960FDA3263A1E6688098251618C90332005C757AF958714571B77BF2A69030D99F71D1A5259658BE565FBD098070122C43EDFD400999C90A98ACE95315FAEE4F1C0441C9315D527C7FF1A8171415D2A076E2C513D40B03CFE5513C0E74EA3A03AD4958C00A3E1916D34273E301D517B0A5E770393880D9AFB4D0EB44D3140FF7D827C48F67C6D92B865D8FE7C7E45AA50DFD8525F530DE1188F3AF98B3DC625D335E191FBAD5EE9DF09C97B43F203BFED798F7D171BF00C82EA0ED17D5890C3D6B9EF6FDC04C5FFB645E3050406FE2FB6BDBE2FFE083E751DC19F2F06445397019B61CF1F505875520F09C6B719E642B81B2FBFBDCC072B7981A666D51E7065E21244679DFE056BC9D42B8851F9D2905FD838707B279A8106EB894B60A72E4851C344119CEEB5BBE110B1C5B21C9A5F7545283002D4B1C115308B1CB20F6D9CB869ED0459C569662AA5729A7D7178DE7D69E4885CA77C011E785ECF0E2ECBB8F5245579DBEF7A5EB30307E0B40B817BD1112D28EEFD548374BC867E0C34D2236952B9F859903E87E977190FF94F5D815699154F96E5449DDC1A14E4196C83E4FB02F5F58C30EEED691DE47C81F4883BD84F6ED711FED0C198BFA2B8296182D7225E8989ACF55D3612A93E77D24F7B6EEF813FD514CE2183571602976391F5AC4E86DA59A64233230FB67FF0BB9EC40667F54CCB235D04B3FE1D9A47E163CB19C316046FC1353A6642219E9CECF6E3151C0F4FAE1177B67F19B4964DF96BB6AF37012B8EA9E5EE24C57A010C872B15C8A65D0266589F6DA20E38D9BE2E2C215C69F558084E48EEB61F4EAAE83C57F3F1CD08D05783FB9F5AB1CDA5E4B86291FFFB14FE9B497EC73292BBD295C5657D71CC74D38A2F3DB73BA972986B7169F76BA376376F4747ED65F2F1A5E67889AF38A380 +MD = EE3627832FBDF254AED70185D68DBF873C5F5482B6D156381388DFAC4F336B8E005EEDD2B8298CA0090788F0A6FA5F52 + +Len = 8096 +Msg = 670B79C6030DA4369146A7F14E6BD393DF729B60369D3D55461E5187D4F8E83114B227524EE955F64A2C607DA850235A1B49FEC6EB51EDC21941DCC67BD07412CFE058AF4505C325D94936EE36DE4133773ACF669515DAF4ED87508589CF651784A8C3820A88FBF7CB60E20A035ECD06405B50F6A13A36E174925B4E334E197E1E5FE86836ACBC1AC681CFD42B2F11F74587660DE867EBBA7222C3E89B42957AC4508F09B2DE9C3B57C883138F0D442A050D8AA3023EA920140F70237AB214BE9FA0C452C54B5020077ECC1F5DDF5D959A5AAEAACB381355FD7B493A1A51CE83E6EB52CC61214A02FAFB01593D5730C7058BF9106B8314F1005236E5BECEB3805BAC8FC4308B2007823BBDB3DC25042D6AB7745941B055A7648F99FFDACACA9801094EA86DBC9D2EF2B61A97AD5FB9FF754190A529CE65FE46AFDA3C0EAE0EC98ED5B089148BE358A8ABA6B2F014A5B74547FDC00501DDB1472EF4AD592EFA8031B0A4376DCCEA8714575BF055B1027824F463E8AF110CCB521B2F1363C0F13256B768645A0377541CF2F73DA03AF0C026E59570D6007BAFC297A41DEEEB32E79364F9EFFF6F81B69FDB99DBAE4DDBA46016F86BE1157693C63CBCFE24C7B6DBC2260798A6C397BD91D4ABE0D5C23B43769B0BA28B6B954E66035BDC52DE03B33CA004B670EA6E341B01ADBC40DE2F406BFC469122EE30192138868326BB642834F9E78F51976C3E6EA0EFA570926F47612CD0702EA82279D60E062832D31785933E3BEB86D187554A1675A61FB0B865092E518AD329F38A70E7DBD6025C9925FB0332B5ED97E77134B8684F6F167EA639FE6545FAE58B611922855B44E520601DD0758319E9491A1229DC49F9F6F9EEADD9CE88CE91E3BD3D13F64ED7745280F4828D3A00D66F3966E0EEDF930F563D8E48ED94BE42CE5F48E92E3F2D801FFC464692C10E7300AB0F85D1D44F353C742E20DE3706BBA4B24AC0048EA6E0B40454B06FA95E5DC2951CB4B0A7D1C15A3C12A3889C7191814161C5181880223FE3070404E61D9D382AAE8F236165FFF3121D1B4BBB5B4D9B01282E2663DE39C642839B34E853BADD9E2E2C82FE90FE755C8677DE6A405D1A23492D84AA272AD94C180300D737758E00DA835DA7BA9EFA3EA0C16DF2FD472C1B57E0D5CA40D43A3459A06A3360217ADF41645FEC31F104CA6166416E36597C35DCF0FA43298B7FCA4F5045AFF900298339FF5DBCC1408D703CEE178C6B194E1015DF362B038AFD349610819FAB289AC11CBB3F19FFC9FA0203C231711FBCC48922422059407EA225F8509761D3C53D83437B507814E61206558C8A27E7D55400C64C22AAE33C817324ABDD7114ABFC01CFB1AFC16296FF6B3DBC8218514B83102BC84272D41C05EAEADCF4A0FD9983FBB79627BA8F905E4CD345C874 +MD = 843EBE1B883607A35E5B5A50D1C5A3B9BA443F593D404C4E95A19C0742324D43A93BFAAF2AEE7CB04FACAE49DD68A88C + +Len = 8600 +Msg = C595336827259B050DC783F22FF7B033ECC98F9C7CE026809CF388FBCAA29A9D3572547CCC0D5F8D26730617933F809B9559AB20339FA90A525C46A299EF14C9045E6275E22C34093E9BCDB1230198433672EDA8FDA5B16EA9313242ED777E86F4AFFFB4BB8A9CC0A902ADE774AE688095D271CE7DF975F1404FA5DC9ACB50D66D2F93D77E262586CAAC610AB990974845F75820319FE8C507C759DA479AFC5557C32618F65EF7EF36E69F5C893435A592C3D3B3B8A8110811362B22F2D7A660A767D88D6AC9656F0D83F1D0395D477AE9DF5016D982BD6CB972D733F2E010CADAAC4DD20F8B4B798C12C5FCCCB7C7A166E3BD451CE0B83F9FEAFD67AF647ADEB7EEF023CF2C0CBA8C379FBC4A5A3F58473A374E09FF096091DEC2E5B35A4283C7DD96C46EFE4F2768ACE5B43A08DBDEAF95BE5C2DB0540DDF80FC895DCE343EA93ED2ED748FC32435E7B28ED8474EDE0AD449B32739F7D74A37C928070D0C1C30053ADECAEBC88F56C013AD5439AD2CF6A3876364A6B68E0D1FC20906670EBE4E85CEF072FF67DA097E3B6A88F78DC10F95520762EE86E8B26363245555DA07649300893FF36854BCB875AA1924B7A99169E965803B74CBEA05F7C486FBEA2355CA033A77C2F4164A06EDE30DC6244FDB3E8DAF9E73F83544B79BAB20851A640DC83C43C8980A2729EC01F409DA9AF6E9B5B7A6286AE8F225AF90B2E5438892115E6DE72DF2848376490403A543765ECFE2CBB46EA7F0999CB3993CE099752E0999D84C2BBF91A9FBD39CB721F4C6266FEE4DF896EB296CAEB2B3483B025E4BE27DEB57A3A706BFF59829BAD9F11EB75A1D010EF1AE926D5F5CADAD5CB3CA7160A66846AB4F12F036933C90E115702E11B2657031EB28BD1E2793D0D0BEF4234C2B6166A038CF67DD60CDCB86FB323788AA673F2CE5ADC8FA8AAE911D7363FF833ABF619847E78F137FD0959B983E764A59FED29CEE31F2F47715FAEA7F91483A6E61DD7ECEC557CF24BB64CFCC0708DB55DA2426D4330438C42A4FA7D9DC4A1C625823DF1D701BC3BC3AAC584843DE330206C45DF0184FFAE4E347FCE6860C7E0C8FD54BED94CE321D62325AE12F932871A4724677BDDE95E542AD66CDF491F5708FBEAE6A6846D7068F8827400C188D6915AF83542A51A1E0BACDD07E25064E2915EA78C8CA8327E2375EEA19C565AF6B837CA5044ACFC4DF68EE324D5BB8EF4D974368EA9B1369B567E6D5A44573DA1249C84A789442CE16604A94788631E8906398EA3C2B8EA304B11E522BA82401FA2338CE925D31AE37BB3A67160DFF3DB6F7ED0C2DF645BFAA5E276F2CBFC4CA288F2C3B246C67315235C0546BCFD3E4DDC2D6A2FA02AB780EB0FB3491239A2FA1B5EC90A0203DED372D5F594847D279396730A9D8CE5CC92AE34F7C75A07BB4873A5C5EE78268DDD0D8A351794FBD6C801551B39FAD39E6CD2CAC30D4538E90EE24784BA1AC0BA9CBC287151C7D8EE7FF94524FAD65B3DC45265EF3B708CA2BCC5D +MD = FFB155232A1EF40A531EED1AA61C7FCCA0F21332651BEF0E71FC11A3576C855FE98CBD7E75FF026A18A691A96A753D68 + +Len = 9104 +Msg = A867330D0C93083FBB159EFEEF907AA53ACE3995ACFE7587B404AF8C8334E32F9D35976D0466659F264826109B23A0DF2056A5479D0C0C5EA5166CA231525DA90B388C43259BA1696FD392FA10D146258040040B6AC2C3E91D1F224E2A2A0AB323B4CDE6EE570B4DCEDA7958D69A2FB85F0D9DAEFB3715E5825298B7D3D8F09268413A11B30A24358755F7ED9DF6F2FA9AE7A219E65BEA978FA1187806386EBA03AF491A1D5708AF2409B82DB03A19D665EC58119AC537CBDC75FF3ED1E0D0A26D291391DE6584BCC0D55B9931537EBE21F42AFEF05AD755DB1AF60988DAED8CB087733421679F8B2D381C659C1325D47688F2771A03BFD31CF8D3C20FD09F603BE7A13D1BA8D37CF492C93724A728BFDBCB6D3E8F0D770B5C260CFA3515AAF7C25FAEC42B2373970D11EB2A18C863D0D7121BB2DDA1B223B883C468281EFFF0170FFA48552F263C308658D969866781F041DA0AB149EB2020892A114A4A7758ADAE9FEBB4AA76604A65B87A2A5D0A45A8096391B3D1C09FC95746C449BAEB2F807AFC8E4F5EFAB2488EC19805691162AC8A3EACA1D25F0F4EB95ECF48C134584125AA0FAFD5589847E656BECADEBFBBD258EFCC6F749E15BA09DBF04B93877FA04EC2B6C3234FC49872C318B302252471705BE669022765FD01D157C4AA54173399548BDE8D8971A8CF0DB652814313B71BC062DB092FA5A5CAF1809DEFA1215B42B800072B2990E6FA31F69D52076AD293D966CBE4F89C6D4E45AFB76F23A5670E5B36FD60D784A736D0201CD2A119107F278E5474D87A97F53B12A8AB1D0191D19EC4103C472D1E7ABE7351258B26C445397AA5A3BA924238B275E7D53B20253695866EE8AE02F9DD8FA8BF4B76E549D9322BAEE58D70BDFE1AF34EBCBFD80AED8E40273727B7B919A28862171CDAE66EC885EEF41E5D237B9C308772DB7CAD7673646A7CC7CD78800AA12395E6DDD5004F0E4D4834B66D7EE7FEFBE4E0947CC2FE0993C3F506EAD51C9E9B6648228F03230F61AD23A708B11DCD328AB9081D102455DBF11A932F90946046D72D9102702114B8965F328D6F57DC0ECE0B1AEF7620640B4F43615A1123B6C3B58438B5760EF0BEE130C5655B756DAB1894FEC4736420180041698DCDEECB5EE98B043A870C9949B1141D5A0920A1EFA60A30D8CB33DB0CC3364C657EE7E3E582A2A49610E8C08B9ED733D4F584EF6B9FC43F62CFE9F69BD64C02B1D20EFE2EA9EBD6B6DCA5F6D9DE62A443D67C60CCE67C47B4EDAF24805DAD5AC498BF1634646D0C34FC3B7C4661EE8029CD4FA237531CFF681213012993F91106084DE20241CDE059BB37A26CAD85533E4C5E8A4C4E6F952162660C0C55D8E266F0ABDD4224487D06F7DA1F26B84D6D30101B535A1CE76355AE1D34DA2E71E244460848212D9076FF79D8A282359B8961C27A157ED6AA5E9990D56B4ED7113066BD560719A431E3822EF24C0630110AB448EF269F4FFAFDCE95FA57ADF3229E5EA639CF4649E598E70F517F8CA03C9AFAF4C752F7D14F96763F7A0EB4E5BEABE5FD17FA8EC15271A509B1BADE00D840073B52DE95C688F7AAAF25751055C8827D1C6B5BB2C9140EDCA4 +MD = B82E19A328F67276BA1B0202F4FE3740102E0E6072EBAEB16CFEE721DB381CA935D32E1A2F2D4EEAF979F8F60B6718DE + +Len = 9608 +Msg = 2EB31026155B7BC3672F060D8407B1622F6162CFE40E0286CF9BD73B185003827EB75CA080F0FA81D9E5893F462124F679EBAD807DF6AD87C809FF552DDFEF22C11C4AEFE1745A457462D346A3E0419347274F0A39F09AC211D79BBC13C799BC26E954BEF11FC7D9EBF0A0283B59498F6A271AFC5415F656F1C0A0E311EDD0BCB49853F0FB52C849848406A7DF6D7F3F32DEF50D8073AD2B1A197991D7D5337ECD5C1472E58DFE42859FFFAA4B858C34B305B8F921AFB319AB0C0A4D03024BC2AFEE1BD4B0F97848BBEE535460144E301334B90CCCEDA137A7E44C44CB538E9A3D10961ECFF2BBF16BEB1A40240FA63EB02FAF248191DAC569F44AA10B9E391416A41A1AF9B0379D2E52EB6C2C1A11018AB951D030FE5FB6317538F4DDA3D4B3871AFE479C4CCB0422301BCAEC7C0D6A12E1A4DB17DE2539492C3C003C3C89C6587CE25C7C7D697A11DCB41764DCDE7372E6EEDAB38B4004EC0805E1FEDAB9ED2550D976C223B0B0FB39FB006DD4AAFE042B0A771E098BAAFA72AA488A40A16BCE6272F64023E863262BB4D0A137F61F9E711DB096DD93254C5E4382D3F7F1914E9D18F86637E5E4A7B7FCEA80EDCA63B3ACDC7C692770D8ADE9AB0FFA87A2C7DD33317DB038C5709BCE686FE1BE395B3292033858A2FA3C8144D4A74B53CFA8222ECB7E0D788F4EBFD75D880DAABF66D888F3D7CF5D1E3DACAD33F3C6E05EB0FFE7E8CB1DBE1403530F1AA44F7028580C9084DD6DFCD7788B94050B5FE63EF079003A51FA43E726897E82EBE160F4F48C9855D59BB94B8BEB6B5492A66B38CFDF850B6F1CB368598443F2EA9653DD5E6A3ED60881D47956CD24F1B0567EDACFE3F87A67E1D90FF6459666043B4F550D9480F4D17FF0B40B71364366B17D958DB40F3B88189D2367572AB87A14B160344BEC8C69BC0374EBFC62FA8E090296E5CB43BB253D04F24E21CC55849BE4CB7E3EE80AA0DA1F8C71A55E1D98A85049CCA30F4000506E4F36F7096D4F88703A6B772690602019E17BEA5965B68CA1D78CB157E640CCE3AFE00A25B6172ECA4CB9902D3F39BDA25D57E46EE01A794DA2FA309C083CB103224964F8914E0BB39F67BC50B4103E41DC29C95041D5835178FBEEA6BD35ACDF51A6F5444CBFE5400439DC70CDFF870E30EA1239FAA2ECFEBACC73B2C104E99594AB81894F4EBA464F0096F4368D8662FA12B46CFFD7EB766072BC145E170BF6459429BEA5845BC4F088B98D9F1EC7B31B054FBF04BA5B7D44141CF26B24F1D80E39B2FC844E2C3CDF5C752F65057C9D4E982172CE094907721DA4967772533632632D7335342386628438DBA8CACB60139A7A7D7FF20F4E20E405CD3A029C3AF103A91BF2046C372C20E99E3B5971CAFD3E2CA4CC7E0E6ECC272BDC50FBD3F0184E58E6B26D329A9380049B3298CE33CF15CD7560E3D3E0C53CB029337236F9D848762D371D3279A8B1192D83CF1FF8C4F12DBEAFA383B47CD3F172B82D4D942D9976A4CF2E3E0F69E13F1D8EDE152938B978D2B1CBAF27088A10935EDA68B2E31448B09E586E9FCAC11C6CB056FC92512210C3A828B549A1CFD3516C4A5B4A59FFAF22D3BA324DA5E92C607A45C189D7482F9CE1FB005B314D6D8AC0CF523CB21B3D86CB21D451400695D1341345DBC9E6CBF02F565E8B02F7B2151131514EE7D3195CCC262EB615A6C6 +MD = D79ACA6F2DDD225B1B72C65988096F0DD212EE636124F7FB9583DE56F2F63261686DE1DD0694D2187DF3254C379783A6 + +Len = 10112 +Msg = 218A31573465B8A543E293E5A591113E9CCCD2095F519D2B0D7A195A625950AE2FD52AD7D5E5C984E5BCA89F7FBAEBAAF4686DB96826E8E0CDEF1B787CD08129F7AC7BB0E1635F7F52C5B6D6497A0DB6125BF0B2FDC06C8F72FE16F4D75D5EF9620786C85D0C128AECDD362390039E2548D1DCAA008B0FD870BE34E40E66C0AEFCA28BC631B8FD8031FE7A5F39E81D19C0CCA18F1AECBB8AE0C9A4D10B85393CB58412B565A29999CD039883EB095547E8CBF589B086444F0EC302236E6EFC508C3C08873CFE13D565F5508790FDAC239158AE65A23819F365ECBF4586EAAF39A5B73CE6AFEF6533D56D20758720F22E27E2A4BE08659B5B749AC209910EAF590E5D1276B8CE3BCC49331FE73813417C0B1E6EFBB2418C82724607032433A0D720C381474EBA5749305D8FEE1230EE0BEF48286E602C593B9C5434CD5E4DAA36ED48C47BB9B540F077D21FEFF369179C443665CCB98BA0D5A7B8932A8DD7D5DC020F6261E24FDEA9C6611A096BBFFC44AAD997C7BB3EA32305A6AB41E33C55F027D3A990520017CB8CC95094D225C98FE7FFC21C4480967376EC8A22B2216FE467C49E50ED8CCC42FE9BB3C5210B086A9FF194074842AFFFFDA8F4734E354C971DDAA48F38FBA1B7D5CD74F7433EF5A45D0F6CF1D99080C2A7C0DEA6E8ADF51BD59AAA502E75C96BF6D53974DA31AF027843F3AFCC34CE1ECB81B614E9D2C382D8B0B6007CB4C54EC507FEEBED9992DF8D1251C74E79B570EE4C268D8E03CD8573005F17DCE24C6A52C076995E72AB5F72F290682081932E3357F4CF0659F5AC6A0D324C9F52811BB52C9CD0CC858178B9283AA53C523045004B2B55BC273A49CAC17B95E36F8D39C64877530141C668DA715C3E1B2E2172422728C1F7C1FDD3476D13487F193CB18C1FCEF43CCE594B548F164A24D2E0C15DD4F65614C0F0BED2597B453A9349EC79F154E52E9FB74EB55161466617943CC9189E681A3CA51150CE23B3009AE991649C882629F76FFA9161BAA1D02042BAF0D816BACC3D3A5C90279F3994D4A5EED4DA6495CDF9560E900D7A7E582CCB92E543C3E42ABCBFC2A8D53E9141942E3B58115B6B64AA654F9C8EA1B856588D464B9A6A642D0FCF4430B88637206758AF500DAA35C7B652A844EDBBFD908AA93B7929248280DBF48CF1CBABE15ACA02FE6D72BFE7FBAC98A0032A32346F40B2ECEB6DE2BE6E580F89A86E4EACAF0E952E508537566577DD6DE6BEF2FC93559B96E64A2A9F9334C3C26D0BBD849788F328429D3A8B26647C96B3D553F380619AD4F799BBBD56AFF22CE8B61FE7C18ED88EBB5DBC4796BCE01606D1EB762FB11FDBBD3CC6C55AEB68BD93E9F355CF7B07CFD05C2502F0BA792C7703A030C52CBD545F394108140CB9B5A149B616FB6A45DBA59B5118B66CB0949A3DB9E39EDE0ABC2E2E4F76CBFC32D7D98D36D23E757F3C5B3CD3B37916B2CC32E4FB4CE191C03EDD7AB4F061C5F1075E59328EB696E7D000C9149C93126AAD94E30884C976172E75BF25967785EBB5AFA68409DAE873A612A744A1524C2B96843DE61BB959DBC7DC782B42C39171F60C420497DB5F77BD5F84B52CC3924605F534005F8068D24C47EF82ED7CD4E5216501C3304BDA3659906E8AFB98C74F865DAB33A700A6C8839E405BC6CEE1C361A72FB6BAF4B1183FC800BDEEDBEF141A597253AD54FE11D6DB361865DD58825116B534AE08B07586371A3791FC62710C4356E2BE12700DDFC7F3E309F5ECAC4754A4A2CEE266A37D67A3F8CF97C45D37 +MD = 5CB275F4612F0B3AF31EA29B1EBFC7D808D145E6954F337E9EB5D9EF452097F30D441827ED72729CC9051E4583CD4F11 + +Len = 10616 +Msg = 4FA3DF1DEA75AD4B9C379206A95FED930000482E5B683FD2B17DC8E7D5C4BC1B73186CCC13C9FF2DD09FC1D4F68034D120E84CA73A00B71A3B46D1EFC6FF88CF2EDA65810B098CC5E651D9CF064E87076D5A871849F3B405D3D58EF5B1F10520A9FB4FC84A81A87B13DBFBF9D8674943E28C257E46D8AD7BE1785F1DC7C9B1BD574AD1DDA48F0255C853D2490BD3D63DA22A8369CFD02594999A2EF443308FB8298266A11EFA177102C75DC674E89FC9DCC1A0D3C863BC26141102175D2678EB6E13D90BBD9A5EB89AE8C0CB47D7F340D3D32042A2762BC9BF2B40EB40E87FB42610FE7E357051F01494704FBFF73321B47301A0799B7EE3FE5E62200F397A61ED4509A62F7106ED0EFB0ABD6AE9E4A1FE9B02C092DCDC75015CF602F3B9A8988B609E6C0D1C5C3E219FF57875C2EF01615F89447EA602DFC94EEC17A398C014BD346691FE209A002771DC8164422CD166AFB457A8B3071282178A3EBD201D9B07B27E711E7EE7D33AA5210ED4E4E92486775D14A6CED092E34A7AC82670939948FEC149F9C018FCAAD3FC597D315713F44FC5E1725F448ECAED40E8D841BD02F1E81C019B08F99412E360C0BD378391C67D964B47F50C26F0A483ED664023616B0FC9AFE43620DBE9CCFE070EF295C049EAC754C2123130C6B2C0232F6403AA7F0DC35A5999BF95D34AD612234C6289277ADB60E4F72EC2DF570F05395B3BE8A0A3C78B732821AA08927C524E15D65F66A3DB8C1C96FB70BC0686AAC310051F469FC5EF880C0F66947C1C328F97684EA24CBE63BAED8D114F40507C2901034E6AB3893F366D53F1CFCA309309218CABCECA4722FA9CCBC7249B87C12FF8397F40487EB00082E7F551D27E301C3BC7B5389F7042534BF7E692DFEA4DA24F7C34B8D2FF145F54B517FC97134EC5AC2CB925C508D7A6BD01FE7B764648274972BF08560D30802E0EB7EDCC57AF4797BBF92E8688268606B0F1BC901FCC22136281665EC16393FA9601C4FBDB18CD1D1EE382BC07973903E91FFA87399D1141D49F4F0C064ACF3AC9897891DF10BCA0116F2C3FEF180FE6A8E937C478F2EF293AE9186DCB1F76B6E48101DF64E57EA7C64C5C0025E221C8F5CBA5CC92D9CEC628140996B26D17F439B780F59A999301122F82D0495F8AB5AE1EA5790F45E992DFE00D5F82A7FF1354AEFDCEFC0D2D1731D22FA2B75AFD4FDA25AB194055FA9628381055247C8C7587D22E73C60136C4282452D47AE03AA035FEBC26FCCD42A1CB79CF866DB6418A49FD8261E877DDBB839CC39514DDB87A8A40D795532626FEA4A4C35D13E028F9ED1BC09B06BE999B8DDD2258AA0596BCBBF72AF67E10BEDD58D599B8D577A583D676BF5561F80CE5E9528729A92DF578FE75DBC70474B75747A8D55DE70E57BDD62D4344DC2115ED4DD62F1FC98BFA1E7421FC0700025C46D0ED1BEF35C3B778563211B9FA9E8BA4BBCBF01C2FB626AB7EF325CE9F468DF2CACDB178D36557CD85D542C067C289E926C1EA2F20ABD329E984168BB6DEF1DDCCF214DCB6A53AFD462F0E7E7A19E8C88F049244125A6D7DD41E58BC9B2FF7FA2478DF76AF73090CB1AB59E388BA20E2C297C967737A1AF61793B68ECD7439444C48E28E2D09C48FADA5E0D1D15E5B340A52F8B3B854CCA479F0A598445E14F53B3BA36891050C79673DF3E2B5825C955A29E5C9A22F3991D0AA785718CFEA1D2385F8E47E4A75ACBC7988D0558D541D71C4E6C5F1CB15B60CEA0C34A67BBCE105D7A896025E0254DE7D7AF724C9027D44B8642192A08AB8E1EF3046DDA6014DF7F4C9E63C635E48AB2E70B640D480998EC9357E665F99D76FE5529EF23C1BDFE017C3A66CD4EB2DDB42EF85EA0CD65534 +MD = 3CB4482B4F5FA15B8C240ADE9D99534E8D914A4C01290EF4B9417597431EDB1ECE456DC60B26FBD9C88DB5802D1CDCD9 + +Len = 11120 +Msg = BC259972AD109BDE603999728EF0BBF23A911829C1C910F0517AD7584AAB80B27D4A59523DB11EF7B86D73E480F82699E44E2E281172D41CEFE2A15AAE50E13918EFB63DE0785BA415C7DA3746A669C7F6ADAC8C7ED04FB5F8EC70207615C5B6157F3BD9AC31478F5005F0E8DE1139FDF40D2E01DBF54973F7225CA545AD7B8FAC8233CC579D4E06395BAE791A5E49838A806F69B57858612063935284F7AA2E3769104F13F0D3C531A3C766B1F008DB437A2BBB041691BB9377012A9A7359BA410836EF7BA949E5F56F70E83C99DF961CC3F49D4133BEC543DDAA14DABAA54FB6E5F5263B83DF6863E84179722577101CF3F67C08C753C5B079DE795D2922FA21AB23E2437A64C62AF634985266039F7CBF1E1D762DF49F12A4FF7EB9846E8E5DCEE559084F0AD175E0C6FCA984B168B7512541B7560B68C8AFD02FECE115F0E9327D3D6D57BC28C8F914E9A5B31D822B48E0E4865F652E9313F0ADE5665229631923A497D65E701778739C5842A08A09FB25683C38BB17EB95BAB4B358EF5647BB29D3BF86E15868E02DA7E0229E8213071A24B4CD373266563E36464C8B245DE4A62BE1AF9C7022F6C3894DE6AD8B9B17A6DF84AF65466C319BA43A5EBDBF24833CBCF17410E79637AD5B771B21576113B851BB73AF7BA9FA19E5CD7A5369068A51F5D6A928A8306829B810F59CDDFB42C3B58F6B0926877DD35C4173628BB554C7036779C000E80F93D26C8560DE78057EA74EB12230C8310D577473D94C2DF14577B4361B307D8BB6371BA7B3F8641488B1490B24DA9CEF1FFC732CAC6F9FCD69728C1B7B4E72E8FC5C42B6687F32FCF7B3A90A460E302F3A4E33B57B29803C611AD93BE3E6C33A8CEFD2A5297C28249FB64CE4C1A30DC1F8670482CF6E220A3E17CC95ADB289192FFCF0155F071AFE473D5BBD4204FB4308CD5CE0F13088A2587F10362D86465C3AAAA730CB82933F56912BE62F78BD6A413BD9842D71F125EC8A07442E1BB6AE8B9AADA6BC47CC2FF79B680F832685184FFCE05EF128D9D6462CF7728F2E582F8BA77EFF16085C262F945E3FB06B238B4A5345D1F83373DE40F95E0AE3C5F62EF4BEC3663688294F64D15310B6CCF4AAB03A358B0071114BB368FF489A0CAF7B222C013DD5D9AC39C736FBC2F7EAB5B4F5DA461C8E65D959140BDFFD2A871858ACD3F9DDAECE497B44565560FA96CA9B761764C6BA9D0888CF522410B605567D1FEC21264AD40F1CAF60F79452CA4F12616D6AD8AE73BB57112F6F77901FF444152BC287A90FD2C77187D50DB1F64801B8235FA410563C6EB4E5F3D3D285C1BB2203C618D1F4DF274F6C47A0CC6A892217C608CB3E9DA3E15A5E059B6C26CD5357F9AE1CA6710E2DDC79B5475B42E8DF2D9D6807692135B922611DD41A750B44BE0E4FEEDD632659BF0DAD6EEBE9FA9236E84AAAF278F69DA65428283B66E433387B3A4FAD8032175E7E9C565C95DC94A53E8C52B3BD25A66AE5C6975F32C45276D6DC4CBDE155B2B7BDB7E238D93F01B18BFFBC301E0A8A7036A70C4A656C66B9A1A85B51F690F271B7EE68BA6367B4C512209FC24CD286F0CED9F62572E22C5C6EA48BB92137F7B819CF54F62E4CD1F851F11D08CBD09AC24A6BD3FDDF65ABF05CB8DEAF2B94C7A3C8CB9913BD6FA9B68E22AAEF51729011DA21215571B39920FDD470CD2B4A0BD08C405578377C889418A87DBF14A8E4FDE203A2AC855F18DB0F9D910CA41AED5AC5EC7D08AE7F6ABCDA0646997B63343B35008EAD44CF3A8EDF0EB104BAC1EC3BA1DCA808530332D9C249C6271D25CE33B536CBA3D2F8D6C8B6A0DFC830CC426FE13D69ACBC24BACE7CBE27318ACBA7FB54BDA4104D07561B5BF0D8F0670FE60E6389B2D6E96924EC4E4BD827473668D4F28412123C31CF49912E73AB8F40CDBE3032BE127F36AF2DD75AB2D3DE8D2E017470A7AA3CBBCAE318B20D +MD = 8C3DE4C97946DD884E47AE6618F9B0B6BCB7140FC36C8B392CDD7589CD611E625222FE85AB385960A7E035FE705A0A49 + +Len = 11624 +Msg = 824A155D7798E12962F4464EAD9AF132A226DA4DA6E899629EFB938EA29A86937FB144866D8C7B2DF9988604CED96892DA482D4D0DEB4658844F41835F0D9C20C796929C83CFB49113F5D95A7B66D9116A4697BFE335BC83629678CD5DEEDB7C9F8F11DDA079BDCE8C2719B6CD400C02A6A5654F19B6D568473D37174F62AB6684C9C919C1CFAF35116FF7AE4F5B0F0BD243C74384C2C9392F1189B2AD448B9D7946C2CCAD04D2F20CB8CF1F9590D1504B1E1B1D74A04424BD27D0117676B8C823022858A4C12AADF21FA45C99FAD60120B24FE04BA3036B80AC5F46E983032B6D78830F51E65A62310B9058A4DD3F3F8F90ED5311E1F47987E0D410F78B2A76580FBFDDA0F944BBE466C8A8170B5C77E8132CCD7D5E9946A5FEDC73AB9465E30BEEE9CFAD68B70A2176393AD8A173CD9AFE8F9B33023E852876824B720365E688B3FB4BA925040385559FEF7BDCFA7DD18BBC31B24936557EDD679B502864588CD4BC270099A30DC3B3EF7A392F3E33E21A53FB83756EE371A1986930C4A34AE1301EC44E189E23ADB7EAAA121C6D787007A44E998D112484019F7D7D8E16985B039C8CE01EC8CCEFB647F07F9FAC114BABC3D831AFD6F08597222A4DA8C4F6CB22C673C0437C16FCCE7EEB64E7050AF9BF41E95D3A0112FC049D405DF0E322422072A16DF248E10AA22EE5F198C67C59EB8198421DA855DBF2C78B36352B1373F7F66B5A5BDCFFD44C76B7CDF56D894187DE7BFB05C0535C3D2AA491F37D35C3177E0F312A9FC7F1C6668AE0B6B4B6C195EB4AEA219F147A9799A9C84449D7477FCEEAA0ABB836150487ABEE7A1902540B905E998A532ADD68B2D15A1FBB63DDECC54C8C206EE655353C7D1DB411BD33419F6F905BEA567F8D67B5461F15ACFB8F8505CCDC29CD708BE679238CE30EA3D1AA183BEFC35938D755C50963FF9C89CEB28764A7BA8E72A2D22D168172DC5D91F4AD5980B12474A96DB75E1F7A9EF9CF1A0318D18B01B108CD165A3734D671D436708BA030C1E860EEE860B40E61EE5B72A4A98AEA24AC343BB6D4095F79FD9F1C8D64057B6672821B96F954DF23CF294F516BDC1045170E162BF58E75DB11288B466A4B83125F1B54286F14BA0B55267397D9605A57F16EC357853DF6F3C8943A73F7D20659EE01B3CF70BAFE432089BFD9DCE1E31D441C174F42D3BC04084705D0DA308C21F30875D68F8611B62F49AF1B937319346DCDDEE9632F5C7044107C3C5B49CD59169008D497C4BD9CF2123FF7636A5B20501BA368AC6D18A32BF798419BF93BF7CD7B1E998471D4C85A2BC50E316E89D17ACF327469F1F45A68FDE54714CFFA976D488989F65FB4E8F9F85D43010F982453223BD060BABEFDEB9DC10DBD28CFF842366DD55170C33EAAAFE90428D9E632785621C5F836D118C4BB97BD2DFC2A734C64F614A9FD3179512720C9511A1DF29EA9792226FA5D3B74D0D29D4741EDD5821904F52AA7961D303B51E54A6CCB80BB851AE57DB1F97B656772897190714A5DF7450D7EEFB982188131D81C6D273021A2AAAC777B0083F0CC363E619A1FAED4CC2CC7F28E24F682C9F9EED99E09E19A8200E68AB9DCAE56AA92C99823015F82C8F90A40DF0F729888C8320A7F0B1E2F6155C82AAD1B4ACA0870DEB69F04CD137B556B9919BD920DB20A1C1DCFC45236E6E90FA3054A8E29211BF76B13800F3AC4657449C89FB76D32892024E6FE7664BD23038457FA00B1EB88334F4C8AD05691C8E3100F2889C0E96A327C9B36DBE6D9CBFBF9DE93ADC8C17864CEE6D30EBF0BDF8F6B9D65D2D6471D26334089B40C9B0EDCC3D0DA4710E76B28B392F7C3BAD6F34C776A72AB211B720CCBE60E844CEC4832ECB8014BB236E0AF9A39912CE12A5386D409F5117C01478D75296EDAB33E1C5273718709487AD0AB5B180A2D065C31DBC1E0737D9A800260C71A0244F19528E79072D8B8322225C6C6AE8471068BFEB61C578BEB30F9AB6A173D70373D5F28E7C353FE723316143B2A6EDF78EABD60124138B607D9A09D6ACE70882D4303EEF2C2 +MD = 9D5A130773C696ACD0F30AD53A93A71F18932A25EC313B29ED9B701DECD4DBB789D30A33E6246486095DE3B0FA033D2F + +Len = 12128 +Msg = FD76A3E9E0E303CFC3C2A84C43D19B6069167F7C7094BB379EC929AAA4F19E2E1A77E312C0CB08C544C95EBBABB5988F451B01CF9214B37C341A527CA584840111236757108FF138E364D93BB76629C095117FCE458EC03B87BF19F8C9936B3E1C4C79F9375815A658638E93C5102C66563F3A372E6348C6C1B9DFA6A4E427F418CC65EF67EE5241A85F7896B1A0E941453916007C67B47194352636DF36E2230F4502B2569AA8AFC79C71B8B675805375E1FFD2764AA8B8D58EA9C9B580D489B09EFEB1D707719F3AA99C447C112CC77B3F833989BD2DF98F32F068B9C0F7EEF240719817B11ED583C82CF3BBDA268D60B03FEE05797E3EBF65C153AC84E899E3DA3432880F18B09194A1D170DC23A1D17F53DE6F3109CA8A88E1390F0D49902A48520B9283C06746A55B041F4A7DDC0727A08DD5717FBA5584670CD0AFC7A9597749C718B8FD11222EC41506505ED3DB5B8288FD234E0A9237D6715F8996980D985587A8645357B0F53C480F72C8065F5188A0E132AD315F3E7C12A854E93D1CC2FE9252FBE68B3BEFBBEACE38531E5BF5F2C671FEC8EA58F5E31A4BB05B8A6EA87EA7BCCAB50CA65FB2A2F312F183B5B1504ED04739BA854AB436B8FC2E50C3434FDFD50682FD79B19CBBCE2C76EC1FFE0AC9E54C2F9BF51497AB95135B877328868D6AC2B7F764FEC866CBB6A53F3461221240F1BD6D99C38DF6121E3751CECB1E0AE1A02FE054059B78DD96FA0CB3D1952A80B8AB550EAA82D7524C02778416E035561D31AE99F2EA52CCD10EA09ECD6EF244576D18E3C12110E6D224C3D296A8BE95F47F5A3150B32F67B2C18F5BACE76DBCF9F4A7F58A818757ED06EB3E5C987B58AB40016BE4666CBA843BA4A09C579B2274130A8BDD7DC37557CCA365302AED9CCF465F3F970D9799646CFB9B2B69218045F6DDF5180D4E5D36A0F63FEA6B71E60C200F3418A8FD35C4F2684C81E3D715362061DE34B4AB7A118249D4E74EF7C6898073014120FF2D80EEB2664E47C2349C44905396F0B9CD0EC343D61EC4C6657AF7964CCF384E83AE0DF1736435F90B766528EFC69D9AB204D2D8A6D79D23886DE971852CCA9283EF87125C28442EB082BE6FE68F45F1B3C440C3F93BAC49CA855604134CEB4E968654B4C00D1E7A81959435FA36D0DC43400A8DDBF26EAC8714223B4D55AF42E75D3ED387E52E5222B3646BF018C79486789A672BB826841745F4769A6BE8F467AB2294CDECA2D974E8D3FEE417AB6D02CF16E9EC3FB22005A632CEBD64B5817286807405B9D78050E61B5D975989282D7DBDF2BB81AD2E15C07F9AF22DE7B80977E3442C1F119312A20B461261E8B681CA612E7C7A67A2076781600F057A6EB3F8A0654FB982771B6C661954B66D96086AFD110B0239E0BF9688004018E418CA2E3DF99DF01405508B8D69CD6A75A7FBDB52D378C2BF798045D02A9DB7B1D9D275FBCEC5CDAB923C57420AA26C31C0B632D23EA2DB8C193E55A1DF6CE8FE610BD91C4BA81A41C80CAB69744B8C88554F1FE8CC14A0C29467D7AB4840AC9E861F8A24C953D68CAA583291F1BA8603EED2C843001402AA2134A067EB6EE2830C4972530A5E4E2628E63266A51BB3537EE48EBB6DE869997943B08511ADC9647E8224D08DAA3C009F4D65F0C9A1AF4E8B225A30DABA352FD5D1F6C36683AA4F44602E32BF04484A7CE88709AAFCE1F93EAE095FCB89A1E32DC92C4150592ECFE99AA59938A211FB13733F30ED476BAC2DB34F5F0DA67A609C49CF3BCFBB90E1A7974B33D0252C5DC18E5C67BF5C0133449936E387B3C35823C9EEB2E5BF6337665AD41EBA1346E74362D3E5FD8636BA54C4ADB75448D7650FBB542684FD924F8234896569AA466622A53C042CA843ED6BB603F2D7B7058DFDA13983ED913ED565C2E1078F6731C76EC796CB41297CBCF3BCF442261D2293B813703AE9926B22F55E33AF4049063EA443D230AF25597CE20827952749D020FFF07A58AED951FD9CA9B2ACB15346D513B3490E2C1294605D91EC67CC73F76A38FFBD86D79C55C86515164A8BEACCB386E75EA181C76233C18549D41D5EF5F4DA25809DC71B5C3F83A1DC31D4D117A5751D77380B5419A2A4A8CFD2391DD97F88C7C8F39A22EA0EA3 +MD = 8A1249F0AF805079B5F1D823C7101EDB47917BF092A8AF98DA8E1B1EE1E822A8098355D451420EE24143C99781969698 + +Len = 12632 +Msg = AF033772478B6C7A405906811D787ACDA7B775C28EBFFA06AEAB37EE363476239A4FA0AF7AFCEDADEB2DED7CA3997C82A54D6F0D1016C4BC2D182F6116232686F7B5BAEC00759E7B2ACF0A2F9DEC55F3E3C702F21D760A853283C75B1EDD75442E30DA1DE74197913BCAAB1A619E44C65F410E9B8F235D68D1EF0B7853AC836259C76B4A84F402C2E90F5879761351DD281E19219E274AC8D76589153FB5E687CC0DE9B543F763E632A465BE81F2FADE0FEEB96D4102BCFA276D7C9D06945CFEA6C82CAFED680BDD37F6EBE9B8013BC2E7DEC52A87A1C539D8AA5AD525F9405B1DB1EF942D4E98F40A01C3E5E555C92D18F36EF4DD8CBB5AA7207FEFFAF28A5762DDAFAB4C841063C64F0FBC32AAA69CC130C9A2ADD78C795F5E417B57263909526D2A741276E44D05A3C175B51FBA17FDAF7D83EFFCE3487159CD92F40A19C567DA4E667A008C5AE8E6E04F8526642CB4A2F4CF0A07AF44A65D4F1D6701D6E33BAD2B1AE2BC18EF4522F64F285652A1155487B8A49E9B0EB996567FDEFE07B8EF97DA55C493448FB0EED532088ADBD355E4966ED5996EF88CFB942543D5065F8826F85618DAABA9F1CEAE1483083CFD5272BE07FAA6270D51B7DF74258FF62C20A8B692A4FDF0F6955C1FFBB48C5BD5026BB257972A81849DB7B4EECDAC9531C2EF50F915119086D8E3B52191B765D6E38DDA2B125DEB8BA9BB841460B9755D1FE38C1765B72EFF98B93DFA87E0CD4787B74AE335A9A61B934E258ECB764284F0715DE438E5F2F59639021EF2B21FBF49D53B635F683E3711A2AF1D1E2555F5AE93158BB5F6670CCC0C99D23CCD4D228F2A6374BC7AA2C321F03A8ABB4D9DB673A63EA1CE5D5BA5133AF9EBDBCCEF97016B813A9765B9AC1EB51A93D7760B36751C766283AB13E773A128559155455131B8466701F6C16ACC822612C1BE81E14F5D9BDF8B9DCBAA7F3E10C35634004DAA506A26878AE7510DDAC3FC9F8DF0F52E0BE10513D641FDA741FD265F9E0E3DEDEEE45513D188445890C384DDA51BA4CD1AC63137550B595FB2C3ABA5B60A798C4418C9402333232E1A2661C8977DCCE606F4BA89E83A1BCAB88BA6F3DB5934C227D3CA820063A1DC2EEB0C1822DD2CB89BAA12D81BEBDFFBD054DBC4A063355ED3825E8196CA04D6D12D8C8C521D633E2F214E846853DE5D0877D41058CEB77545E773C0B5D5155D4B61B4CB060DBA7DFCE84D3E25F39EA6B95CDF83110E9C1051D746F0183C01B06E311035A28809F4CDDA0784D7903E132DE91E0F426D937C5E98FF8123AD11AC3E1133CFA6298BE0AB58B5DF55D6060D5163D847EE5965FAD60A8503C3BB54935856544D57404215FC843D41E5C73F1A8E500F0BAB3FBA3FE55475F89A967E7E07ED21D6D821A797A9B3E9334168FD6D1F19F312A5BB69422CAD506851770C3897DF838303B2783F86C8A506EE326EE4D8C492CD1150F4771A533440E74D7E9080193F6D4B44BC26658D8BBB53A132AFCE1899224BCEA0375A5E3E563FC16939BD3EC085D2A5364FAF11EDA41EEFF44409C5100F0AC2EF60EA8AB98C35F9FD65FA61D6A60AB0C35437867221DDB6A87702ED44E115BAEF16F25CCE2B11B8062A8C2A06E34C4000EAE881BE3671C566B4C2B52BE284FA7073364B7E9A6DBBA8AE7EBCF6008491C66C7EE49ED426E7A3EE3DE255B0B24F88A2E738177CF7AEE4FFB5F2CE4054CAB2378B0AF8A5A2BE2FBA43E5859436A4F321F8522C7507538B74D0D3E2B1B94E92600D7116BA319D886824908B04803531914AC7A8153937FCF2085968A7B924CFBC49324BF0144BE37FF39A235A151873F9BFEB57366BF9C8A0A9DC9C2E847C7B87D644A0BCF091F68E463CBB51660A0DC7C002765F6D15C446A1D84D625BD10CC97B818066618482803EC0C73B66BEE4FA71EE72ADD45D5BB671FCE5B278F7F19D909EC6E92019CCE4418796ED5B97E3A7D9006D2C3D82287C659A526DF519C11B21DAFA787BFDD03F4A2ED832EFE8C9206B59290CC3D1EF74976E38B05D2B9AA31C18E66CA7FE0CD803EB583F4A6ADC0E90A521492EFC83F9E51966FA69684EDD67F4A111FA894241E9DF30FA8D2227D7DB2E79FACB7A2D9B94D7D5B741CD9224F96155BE988E03205D2C47541A001E2A7EEEA3BE70DEC19BCC6125DC9DC0CAA94FEB638FCB605A46A224FA3BD180F6761D4D9289DB2D2E762699583F0B864D9081611DE2B1C032CA00C7 +MD = A7CFBB3E0067350257ABE88F848E174DAAF4B957E22F2EEA4AC3A36F6F3C014E19CAD58345785EAA37CC523387C8ED54 + +Len = 13136 +Msg = 8F1C1E85393B9C2A2B593363DCEB818B102D0F57D4E1D31BD33C034DFB1F17E2A9DB960D70D2FA0AAEBB7B56C809EA067E93C449F4026A258AC04B6CE809A734D15B7FE13E4FAF8F2614DB9C3A42435FBF158E3E6CB30AA727272A4E323DF21720AD65D72B18A4A6BAFF9DDE47CABB343DB282175D85FF51B34A197752138AF3A017D19939DF728A09C8F28CDEF4CE5FF540A6C9968F4635D8D3281F1A5126FC3A7ED368DFFD41B5AADFAAFCE5FC069056854A78054917D39A34945FB5E608FEBAC88F0A5360A524D9C887241D2953BD36E46DB75A458F4DF4940ED71110334407DD0008A6DCAE7D13FA5CBFCEFD6667BAC657DCBE1DFBAB483DAEC686AB870EB60225689633F71F0D3C4C870BFE6090298B372B73D5ACA2225AD724200CE2400A77D4788EE6D4B560332A020DA035DA3D520AA9CC52229329A81847ACF680B3AFEB2C1BC84B06800AF381CDB9AA0A687C50D03029A0A6B5641A8D3A8E40FD9318D3C5ADD51A4ABE661BC3C5C47D38507A8AA7D6275DF3082633637E5700787714FC977698EDD2218FFD47A81D428B0FD61BE651478DF0010DDDF9363E93D8B37B3D8E1B122B76E15985D9F4ECCF55936D918F0CBE39734A1C41B33B3EFD34D845DE5526C183D918786C8ED3FAF1DEB92E85CD6FC30421D209D6CCA47E9DB5341251E253E932C8F08628D2115E565C2D581F8C8955D71936DD505E8558DEA1409E84EA31BA5355D7E2D011F7DF83ACB9CE0C6DEFA51B16185A66D3D6D1D1D7142168D9B8A0832FD2ECADAD64CABEE8C79328B9513328FD4C7006222685AF6C39AB5F081EDD49154B5A25375EEBA3F663F7799AEDC40FD74748BE956EC66F77EC97457D1C08C4A03BA324365499D8D0AFE4A45E7563BC0E4E33AF704E7CBD8F85CE14FE1F84E1BBB871D361D46E0EB0B044D4AF33B8672B68483E7187F1F89BDE3DA29C405029DD3DA3B2EB8C248E3235CD8D2EC17271BA5563A09F5DAAA5E9D118B1E2AA61D232F4EF928DE1A10C786CE3270B889B6D859F35EE00DA10FBBCDE01A9CD472717E1BB35DAAC57531D44C0B62BF86063BF355E0C08E3BAF6499FA0BA8EA96FC338507B675D1A31008F97987B2CC366E715F43446F9DE4DC8C0AA7D81BB3B2E7BA7236D317B320C934AD80A7B17F0F591FD9DBBDB1800BC377B6B04DFF1D268F3F6191D3A37015624A8B4EFDDC1F6882D6679FB0FD92BFC9526272CD6A2CF768E6DBF3FD1732F6B46CD4CDE5D07B7AAB467FB8716E41CA9B8EA9139D09701736B038D25013666A8DBE63E0B60F93F6E77BD27055984730A6CC5791C6B5585A1A51F787EAA42B3DB7CE6159471DC5454B7313ABA20F2DF104BF98862340FE0A7043A555FFD07DD1112F9C1627D541A896BC66E78A01AF4AC308003CF970A5C11D2880E395BD92D455960446A67CCDCEE71CB6E76F9887CEBDD1D5A60131D2BAE7531E14F3E04A4EAF5BD366D4E1710293189131D2B9D8F28B8919B27F54A01FB804C2D1A66B49366C59465EDE6D6281BA5656E0BC14578ED3AE2189B1DC73DB53A217F534E27543004AF45451E6A8FB964B3FA2C8AF0144A3B22CA3B0D5F382417139DD8B1E62469ACEB1781ACB4986D9725BDCB8BD821A2C4490A6E75FA4E0540533C39A9DCC8697C169D535EC71BF1DB04A6446CCC07CF34EA440B4D45CD8D664A8A35AAE7A16FF8AC4D2360D400EA19E9F000E60B92229C51BEF3090FFE9C5461FE79D395EECF4C11AA546CA00CDA99B5CD5CE4F41E0F00BE6C2AE3C4EEC7DF60D7E760CD3076ECF5FA61DAC163DFE102E3917F692B36CC1BCEE79FF8FDCF8E18AC90D4AB0069CADC2EE6E4A92E52970E63152E77FB4A047D20E33526A4DEF63AB812A17F09065E60AABB7A2B898CFA10A35B7B7CA9FAB1583F357894CCD8AAAB08C6D9F6FDF1B8EEE4D938068D35B3EB0B1AEAC3D676CA5034448C6B07DF0C9E105890912693A84C981C636E7FC8D31B19FC2DEB423F13E422594BF34F74DB5AB0806F9F2E7C0F224F37E6C43CB192593C851A7CC1902741B55B86365BEBBBF1188005105F492D43E0A9A07C7AF5C605A3C0569BB4052697775A9905C7A0233BCB9699E6BB0982EA7DC252404451CE6DFD1A47C298C5ABFFA15041CA28157FCB4F484772767C025D0C4A8E89A1F59517D72693A45D13998816698EC21C640EB8E9F75D401B8118AA3A79F65E2592B50611113CF405002D6162540A0BA003D409C1D58E81D2F4A7175747EAEC68CB60A854580B7E9930524CDA26E9B74C488F98BA2BB08B06114B8D1F24B51F5B7ABF7E456178ADA8C77D9CA1A932F85DF4DB00CA44C483 +MD = 49AAEB1A48A1892F4DAE928D6C40F03E49614BCDFAA2D9BF2BE07387543E66716940C50E36C34646D0C38D7B90C74B1E + +Len = 13640 +Msg = A8B748DD6959FA8770AD6673B8E70E35748DFD0C3BDEDAAA467CE4E502EB866D732683CB64E78C523208CB67DD9A6F3D3247F5B413B1025A33B28C63B42802CF6D7426DB5C7A265FD820610A14453C2800B1F5D77671B15BC792C0B0DD64AAD3532721FDA0AD87AD7A57D199DCF5B2FF0CC84A7F744EA7369E6F4D8F0F77DAAA7DA0A8255E32C473D981FDD4E9C855282BA0D58897EF2329655DFAF87537CFFC25A22AA0874EE8B54A370390601A5492E7634FEF8E24ABE3203550EE8788926F1BCB8B0DF70A0630357D991BB8F45DF6A03A17C000E97840FECEADF945165CAC4941CF363DB49891C86A54FA81B486A563492AA01F769A01BBFC7E8697B12B28CD1FCF608B0DA5EC7F5B65369364CB752C83D6891B7D870D52B3B65C3696043474F91A0345CCB7AF34CD5B308B1DBF2332099F671A8CF4D809E4605628B10B275FC5BAD4CAF299BB5801124BC86359AC83B33BD84DCF6D6DB41917A9A217CC682AEC1859A427A32BC1B11FFEEF825DF451C7CDC033E9148779F753CB4C05674EDE8EDCEAC80CD23DF372464F039000FA3AA47D5A99E14894CAA2FF5B90057D3F411B1459168A85C284D5C2814811BAA7700E5ED96E4517464FF1757811BF3691CE33D02445980BCC40E24E1F9DC6F9DF45342CA4E14E013C1FA06676D582555ED55D069FD2DB267C92DB577A556E6103E69D1D73335183E26ED88A5EFD87EBDDCAA5927B97F094209DBC7FB337DC0F7C98A975A74169600F3F1A1C7433ECFC74B319BA3DD8EF69FD1CC6CE83D1B4A0124969F6CD24B7E3D3418A80C735B4F7ADD091882673F01FF20E38461A2B389DCA81E5E6CA2213AF194895139CDB02130C1FE043E58783C130C36BB88A9AF656E406DCA114E96F2FC9F00EAAF5CA9911708A4A2E6CFEDA2503C49B644DD2562637134CFA33C50C62199E99A8A2ECCCFCC3C6A1FA62BC1AD9701B7C9CE14824451059414ED52AD36A69B3E0A4FB543F40099C437E89FB12F6AED816C9AF7778D91ADC6218A113AD9C9C0CAA4E602806C4339EB456DA4C092180FC8A91FB9FE305C95CC4AE5CCB06DDC64F4127906BE28F7014A9EE2EF9F9F075982F7273B1469DF14BB92CF29BBDB487B8DDF37F5E10DA60C70293448B7E8C5D92148FB466A28A16F2EA8A3FB12C8E8678BF4D139AA2DB2F171122E59705EA3409FDB324FCAF27909A66ED1CDE7B92B949E9073ADE4408E9D5537D3B1436853A0294B77564B70B1E43AB13327D617E86971D009C7DC1BE0337B185701A0521DAF4940BF5A151C6D2EFD077A3048EB7B37ACEA084E3A3ACEB4F2F44E4B42E9112FE6727F5B65AFDF28252F341DABC9FC8C8D5DD2FA6F263F95C00665854217E915D842CCB2F33310124E5B5792BF0863E2C1084DFA511387AEB1AC404D32ADB5C0306EFEC84688A956C7041C724E8741EF49DE2772FC3E174E02F81B7D970E5012913DCCD2CB0925CE51D725E8900BA589A970F19B558CDC57B30A7DB60FEC91AD0005B0DEFC05DFAAA2613095F53A478459B4E89170FCBB57F60B2801EF87F0665235C004B8F61A166DD5885DA1B04768C08F9EEDEAB78A1D7BB49294FFCD134522076C3E0B0A2A8FBCAE3D001F4E1DF0DE1669E533F4C9D95CC2AE0C42B67A628D0871B83CC599A8AC4828FDA49EC2F9C057CC995E79EE5FC51905BBEDC756A7486E79537B559B49EA57E87406C20EF94FA73025FE16AB588591D8E89C79C3F914F97AB1542DC6F86435F132405FF49463F6B836F8351BE8C1E21DD14B619B5193BCD04470EDC4B863174E4F1B20EDA5C3DE3253241D61CC17F4FE1DD6AB0A7CD102258F6366402B44DA9D7C415ABEA13411A89E77906DED43075135787820692A3785D09948C5E063551F51A0B8FE7BA9A070A6E0648B07C9CB99BEA7593393692EA6A365D0B2576AA030BB4CD288C42500C4297CB073B0F7370DFB7AADBD8569E51ED6A9E74AB58E647879F7A537DD1B3E4816AE90F6332A219439ABA6C9D7722A30C932A2542F257111450FC270971D2E6C1B9EBB34B786D215A01E89D536558D904422D8E5A5B3E2B2C54DA191B947C48EE0ED296355BE52ED192DA910CD47D8B4FE7A29A23BA2FA23B8C6CBF4CA572B9A72EA9688CA0DFB2F74AE6D78C2D96748E587D2D1F5D3C99AB0D98DF949456E067AA02B3B43D2916F051D636F28FCF971950E9D9C1C0C94B894EEE76E9AE942283B516C0E4A10527D0F120E15CAEDD19546ACBF1AB85CABA764C74DEC2AD190570D7D44B5DD637974E8BA26B60F0A408B7C56DB73395C1F1E7606016B661119CA4689B12AF8F608A1810703CB489BEAA12CD72CF37BE43FFCF2F7F8C21A8311A527831BFE5B7CF5E9839BA138187BABD9ADCA84C35B9AAFABA6BCF7ED0D22DA87FB6EB8145591C9B3652A4EAC256 +MD = 1D67E994AF9186A21ABB67AA4C5441FBD86F07814AA9EB38508F099C5C0BBB4196F5173DE48F19BBAB6842EA51962D8C + +Len = 14144 +Msg = 5B4D2985E61AA7145B5E760435FF0D8E12B546EAD825400FA6677B5E44435593A38AE2FE152D8B55879A6FB05D72DA1DF4F5CCAD61712B8E76BD69A9D3EF09DA0B2FFE0A00FBCFFC83263D48E3A263A97582D20D9195B23875176FFB45CB8A942C4860E3CE6C26437826DDCE61D4DA4FDA3878187D551C3BAAB37ED66EB10D71A18EA6E48B96FDE7CC1CECB821E7AE5BE07E34C6F5C20604424591A4EAC3728DDC786E23B07006441BAA56E174AB4C5CB417008A3D6656ABD07BB71787CC390F4E9004476D0DD9E9CB33DAC68A1C6C0CE45514DB4461F7992714B9DD28194856813C9F24C1DC4ACFFD0065B9D50C2662B41633472B25C358DAB53F85198D76C93AA20C7483A1DB21C373627538DB87035EED0E78BAF5205A2BE0CAB925A0FBCF141543B04FAC7AAAEFC3A53F64AB3A71004684A3507535D2530D8FEBB4E7909A3737F9A4964716108B19C491089A01249E4571742FF85872E9FC8E8E7569AC15655BA084EF6ABC582F6E91FE2309D5E4E3FADC554DCD87E118262DC408398AF5DDADAEF2CAFA99F6E033B3A422521F43DF2D720693124D6DA2BAF5FE2B37E775AE3ADC4610807C0E9B43ABF8FA71AB977CF9D3EDB07C5644F8556D849B2C40F523EAE927BCCCCF9FD7B76892BA4FCE9DE71F71FA7006E774F7EEFC201A5BBC694008F8076EDE5B85EA3FFF1867C8E215E192EAA9CC8883CAADD68BE57DFAC989B25D92AB8D53709490C6766AE8C21720E6A105888C2316BB301D392E8ECA464C8694300455571FDAB6CE25BFE3EFCDF08C7CEF99860926AA8CFCE6803DF0A7D0EEA883C2A54862E0B40135C3B3FB9D0EB218E5E1957E45FA64E2F7F8F2E294EDF69F26A8D65372A2CDBD792B7514EFFEE4A38FF2A78774FF8470FF3AF1A1B21D054B978A3F8E16D5D76199DDDEA87FDA4C290B6789067362FA6E6C37CE6660ED905EBD3161B9D05FCEC8E132956885518EBABF8525BB3C356301048151BF6DAA28EF6F125F165A79B8EE314A7FE20F25A7E2AC8CA3655096B1E77C1005582D82F28FFA108B38D1C2510C40F06A5F90195B8B2367313523981F2C7AF63F536DD3DC191A5FB0984A7AD0CF994DBFB8A5C8991DCA74BC1848C6CBCAE6EAADE0ABC4A45EF03575E82A2C3E0BF5EFC19FC9F2EB36C07E42693004397459D555F0D6F267504EB35AB798856300D96025A1A017433CBF492F7F3028381CFD1375C3D2C5B71CE285FBD1CB22987F5A2146043D2C1F26E6E937849935B6D6CD89601894AF6A0A7C94FCC100E8F167A7547D7C72A3B425FDC0EAFF68CD3674F9C07B4539BEE7E885749008CF538DFC3657F3708D778A8F39E5D7B13AD8ECF84DD4C0ACB65A4134C71DD590AAD97D6EEFD015FDE1EB5315038B483628CCAEBD095B1B4203B66095731E6292BD806C6DDE417CE9B564E2A7C9F69893F0B01FA8AAF3712258A3BB070CC502063B09C303EEA0A646A204E1EC0B31ABD6ED56F4FE3CD7F2694EBA27CAA4F581F31254C420B9A51B4339FDC813A446D29C61CF817467F40F6F55EB07C0C7A86182A1472B0BDB9BEB874B2572A2A1EA65242AC5EE41025DBF0D4BC338F09146CE59ED656F93C8D87BE9F0D73909291AD1336103E05FDE9E9BCC77ED75220A2B6339FF6CD8A388153F55C9CA03BE9DB5DA242B9E9F299E23217BC937ADC6FBBA90980A29B619988360301F7D8DDCF7B8FAD0651F31231B816620A295D1D6C6C90643E2F2593A0DCFB700C017F0A88E03D3D6871EBE420B7F435A58407C667EA684D5906C91D699D0F3868294432FD7FECBEC527D213FF7D94012A52C9F818CC19B3FF9F3D834DFBAB4B1A6B069375D5C3CA6C1704AC5CB391A3F4DA4EE3588551633B6B01476F9B13F1B36BAAA3BB6B5EFEA0D9D150E3325357151071125847038DB3EA6ECA114AC55F5DB1FCE8089E18D478D7AE82D173599A02DD670B46794E9E2CE91BAF90DBA5AFEFCD1BABBB8EA210640E14EA8E085A404DBD9FE15DC3CD0BC3A59BF997BC6A10DD4EC8970FB396505FBC17FA5D61D90C989B47FB367F7B2EB17702FD039FE16EC8745912003AAAEDA09CB644449DD85EF010488FB0FCDE2D804A0ABB59F2C4F594B3466B626205703507701BD4FB25AF83343AFF8A09A004A559F750CDF6B2ADB2CAB16E2AED2BDC0481ADDE1A8A79513E94E6F959F4E4265CF2ABADBBF173A897C50FDC2A219D260AFD0C3475148C645E65E343D4085B76CF14ECC839E4F7C725130777535ACB154F74B6738FDC82327F0BE5794D630CC81B87D5A19637468B191CC2AE6B67FD5C3990FAEED6A05F482E5DAC91DAEDECBA379FA68BFD85A218275F44A8011A74DE303007E9F5E955DF052D67465D4A1C1791B88C71DBBB6D14F3CFD49F414ADC26CF8FBB797C7F4D65AB1B260C43D0DA063837877883E87859F99A36FF2185289FB3B265CA1D017C731D6FA6437F954E55C4E7B90155156955D2495C3305EF196F9BD62204BF18DC1F3E8B6BE2C38956B169B75 +MD = 0A822AE24C6DD072957A8C7409B8D8BB40097D8CE833C928209BB73CD3FA917319EB93AE77DA8BA5373C5E5F94A95408 + +Len = 14648 +Msg = 523DE8B1F4CBB65E81FF0B6CCD6EB8EF0A0F0A691ACAF4A77F25ACD2D66AD4B3EFD25BE70308853C094412A518A32020E3020A9F6AB32F0CD60EC0D7A194917D6C457B168A54A4B46F7B0D0C71BD61CD202F4C718776A701E0770B0EFA05418770F98E4E79CD066366FB3300E8BE359A98B82B764BC2FBBF59C7E8F94A157B01C6C7577B1428138CD422BC47330F8ED99F4C0AAB0D984287445539839389EE08D6345108AF26ADED0EC1D7BE774CFB8C5205DFE07CF6CAF8C1AFE37C7A2E4FE6013B93EB2463DE4E0971C7178D6A76B16A0E8960C984CE8BBE71B3B466EDF0445B835F09414D01F14C7B6167FF78FF118127BBD5F812C27FACD57B3B120E2BCFE87315C7A92B82EF5D50CA14A7174D1BEA7E056523E055A6AE42EA3765094E5544E5ED003C989C2F98F38A17E3DDA74DBAF9C669A319638A2698B0E4A611480D8AD3CF016792ECD1034925F42B9811A7214D623D047ABCA31997DDEB03275F80DD21F40DDC80616E7AD3D481E8EBC0A1A6A398E16A78369215541ED10B75671ADEB1AAE6E11142A1CF665FC1B7332DFBB0E10C21A2B48F78E57319AC9C58DFA8B1C2548E2979EF1ACCFEB215AFCD6C2C1B46FE97DD491758378330EFFC7283661D2CB84FA05281E9E517408508D24D042E7B9BCD34DB87CE972E4CBCDB98615FB93093369DFEDC782F44BCD03E81CF93051318B2401FF29F753A264BDA65AF199E3FCBB8B5D39C838A67D6C7A3DB046DC56C323DDBB5340CBC229E47CFF8C9D29B7A49AC0EC8C1440AE498C7D150EF91C29BEA7DF3EFCC2871A13A1D72D139CB4603D9FFFE85F6DDD544850EF63C3944FB35DBC00D4308CEAA6394B6E23F650D323F8F7EF50DDB68F1486EABF989BF44451F620EC9485C0B52D1415D3C909A2CFBE9D77DB19D069D33BAEE4D77292E63FCBF65C1EBA24BFFDDEFE95211EF0AAF8ABFDA9F94445E582976F986F5382CB669506AF2B4A5A0C43000A3C72C5CA4AACDC9D3D39FC5C492A393B6C341B86DACBBF6BA8B465100CC683EDB2D9B9F83EDF9C6A32645F51CC79ADC22A52A007BAACA618BE35E356D1FD1CFBDA73F1ED09253039DEF609450FD2D5943B9CD49CBD52A318EE3510D7CF3FD8FB388AC6CB9C6EEFEF3D3CAD8501B91CC04A888D33E16D6A4C9666F5F5F3B257193F2B46DEDDE11842909D8C48ADE57775B0B272E2DC9CEF1A083EB2CE58F4D1F211922FD6ADED1B82FE6F5B11251CD396E5A3666ED9626036E4E356231C146BBA0A91AFD3648EB7BFE0B9C14F15AF2F92309826F468945CAD0AC422DE3D6A773B76178422107CE0270E7F580B5CCEBA82CA0184AAFA8341141E65E39859885768FBC5CE63B965A0604B659E71D9DA2C7A43646088D8071D76926163AAFC69E25355BB0A222B7B2DA9F0A20C021ADC462E905A9C3BF31C16D87FBEC3F014F3957A720F1432E1741553092052FB58A198640479ABCAA51B104CC93E2636E1460643EA812BD44E819C2166EB6B349BA5BDEBAD59078910B5C22A56F004B8D9E4B1224D8D204B48ABE7355548A402736C5CB110F3A1476ED631FF168F4F3EFD89B38DE4751536548647523D334FAD7CC2D142973F2DB3C1FE08FC5CF83F9F2BD2DAA524B37864816AF29EE05951FA09D1C51D9D14EE4F72FD7BBF18B1A724FF5A0958A063947C430142AD2356E4400AAECA442E163372A8F1CD36E2DB988E7781165E5D4E7074ACE40858E8370E883694AF09977704347FB735C8717C42BC4EEEB2AAA50DFE637C640909CE379BFB9E2608F88751377038D1669F248178AD580A908D7A1B8DCC7E53E01801F1E485B5893F103F03E0F53B2B1440BE95644D85AA7F6EB7EDFBB46652196695EA23C08573397B111FF909025E20C5201293B4D223BF7AA01DE7CB28B94714370434B9588097E2401B62C7A0DEF1FBF89809E810749FD3CE9EC3C07CE4BF4C43DC966429B2BEB4D711FC6C448A12097B36F1E6817EAF4937A983F85D9CF3E62CC1B2AC6AE1EC9EAA8CD8EE2C3322239CFE5DB3D4E8786282E630A7D259C2FEFECA03031C960A66A71E436A3ED6F2F3CFAB4BD77C660D14205ABF606FE561A346F7D849B69475AC9F6822D80B9A2E56D5D495E4B309B0EA963C9FC5C7EF94B217EE5337989AFBC7107D233A8B362AC27C4F69DF9E191CD65AE97D6EB9E5484EB6F10349575E4CAE51452380151F902415AC9CF42C824EB23C9541D2DA1C26DB85F53CDAFB06A12B8393CD580A8E494EDB6710C720DCAE30832967E33E6303A92B1DF0841D7724284FFD2E00B95C6D623B168D21AC1BD3C675EDA33182A2C22370998DE1E5EB905372CC6EF32D5B765F5C94870DF4842D011603BE4CDB1C227E41EB2F2E8542CD325884FEDC9C5C7BB07A92D20D64B836215C59F162A3DA8BB67D6FC13FEF97CAB6ECB8A29E431A6519A6261C4521CCB90E6E609869E6FE398404AE047F64EC4263566DEFEE66329DD40AC985EB8A08D26529A544891B6F57CC235C63C09057AB6B6ED720EF41A3C9AE65768B43F6DCF4962A103DD93C213171DC2C9194E43265C689B49331450281A3FEBC618D1AA4D65A135137051FD46B568CE294C89 +MD = E17A2A660782BD0EB57B463AFAA745F658BD6D073C56F69DEADB629D4EA93C1C3603392DC6D8414527A962AE3477FD34 + +Len = 15152 +Msg = 24B1190170418126DD7A5A81FC080A9804311B48C4E4DA680727B874318D17BDD34BE726DAA760A40208BB6F512E5AA889B135D277CFFE6AF802954BC918E4D599EE185D598701C2FA3C28F7EDB355D74A8D2F1A9EFF8B6C2ABED776BE8BACDCFC6C98C5E73C24FA0967B6F2F79051E648ECD953AB5430B8C7D96352E600A6FC04FD42250D24E4A5969BAE7712C6C1BF8B95481A0F8186298ED2A70E16FF8209C0511AD4E2EA17F539789F9A1D47EE291E157806CF680067D37231032B032D5EFB1552925497E57D088ECE2B3869684357C466DB454D4FD9EE9BCFC5DFD7AD3620B3FB244F717A48FACF0157F87CBBA94B91C0C39002F78351E3EA6D411CA587B91A0CBA4CE21A8932EC9F0F6E8FED5DE7DDD03A3B90B6C6D828F7831AAE1F879FCAFF77B76FBA1C0013CDDB19E93D878B3428FA91F1A5179F7240A5B47B146FA34E3997730B601DD56F587622114813B57239A289DBA2348B2BD8207FCDB1CE0032984D9389D731942EDC5A44D872EB86038E281F49C868DBA278D1C94AD1AC376D57085EBE875CBA7AD071D5CB3843DDADC6ECF8AF7D6C546938957668E4E8DC05700900FF2A0A2E8DBA726CCEA443F8681644A377D7FB39FD159F72B8B6EDABAB76E4AF39FA065C9B947F53702A3797552E92D313540A50E73981C4340E88722CE19797DD5305E561156BCCFAD147685FEF2B76F4CF8083515CE8F0C60A52699F08E6AB24C1DF612D93D7CA26CCB2D5156BACE4DA28E8F1E9992BB8480D301046BABF55954FD5F29C074806482FACEC432DA10BB7556287F2F108B114904C122DE43E6A77048AF3B47920515D1B03E280C1E7C05BC71089EC769F7FA04E0C4984D186F8C8EE305B1FB21D03F025C95C8CE9C50AD6FB527EF505BD203ACB5B12D4CFE08F4579971590BD43755A85A03BD296885128AE64333DC30301DD7C9B8E035E22F75F411050DB6A17265DCF3F3DCDF8FE0B728A680B60EEAD7FBE141F6D9298EDBDD07D52DECDE153AAFDA6698F415EAF8622861E54A2B279E3B1C0EAFD5A589E7121DF6E51E4D7698566BCD5021013180D77A1908C17169C9BBA1BCACD5AA4799DF84593013E21C303ACB670DE66B5CF08FAD04769CD05D69E3ADCD5B0002C75618A6A1F440918B04DF7B2DE363639152CB6A26D77DB7F400291E21479D5A7E0FACD36ED09F2A2E74F564B8B676D3E3DE07712E1F69840BFB48DE63141A2455DEBE2E9FB8186A01921BFC8D644DBE315EEA943D370EC648AE74657AA57512B39B6D872212DD13BBC7FDCB481F7201F65348017D0259FA99A69084D0B62E63A7408AAB24DA4D3BA6F7B187D014A372FA8160175F3B37399EEDD7F6FE869A1F0AB8B0A3B835C9D086927DA75AD483CDBF83F7571FE1041376B8B57A15DD1DA7075ECD040AE2F5BD6D371ED3EDDCC13F8D611C22B29FE9F246125B2B868ADAEAEED40BA1C3150BEB50940875B08E650C00A095EC2ABFF723F7F1F5B97985B7D1C1D81BFC031F64E452125CDD13732D86A9CB7EE1D89381434D939B515F3F461567B905CCE4D6A7A5A0B7F964FD6D5FE90FA726EFE18787D26B083BBC8AB5D7EE7F9D79D3556616E0282FC14B80C9CFE02A3BD845B1A3EAD1DEC61393F0049B85EA64A7BBC0585A0E24C53D774E5A085FC217EF6F0370A794A96E6BF572A4C3195E916C9A51814989DC4AE65D090976BAB9709FBB51B004694AB9C0833637FE100183EBECFA6F78D26014A00DBB204471A6A379D9E4294A5DA78F38EF2B0A474E92AE6D811E112FFB224C6EE2F5B2A3A5ED5B529EFD2B9106D878B386AC974CD5DA99113F11700783226315AE8B9CC9C41423E47B51D10B51AD503BA968A7046753D3F5FB0CB601F4A8D594B12E283843911710B8977412C3B64E8611728AD4684D7E242A1D85FFA5D01E7F3DADBC1B1691030C8AA51095CD2BAF36E5B45D1FB7DA28973A98FB3BCE835932A475EDAA12C232BBAE4F793324F82BBB4E19CC9E4482393438F94006246C3A81AB51BE7721311EBF1927488F1BCBBB26792D6180D0CE59B69E397A6D60DB83C321BF971F5D804512D554FC3453AEC14F6B0B5E82B8A87BC8EAFDF7CAD1EB07E164DF61B6D0DEAAED33D4B56B175184730102E77CF81823EE82BFE945E3B7923818157C579A774E8D05FD77FE84AB36A3D266BE1F094048B8E417FF0556C95C20C0CC1F3963965E5C37DF5B4D88653F831BB222F399D867ED77BF8C89BF6160449A34EA78AB7D9928001FD8DDE94F30C8CBDEE4D06FBA150852EC255C69C590D07B5A803707E11A0EF689CEEA9DC0EF8809AF685E48B79B4337C756B0E567D3BEC43B4431E86B79D6522C56DC31802B76893D548F8F851D7696D8FD8DD15F60253163F8335B9897C477E6D4C743BE22B1DEAFF90693337BA8032978E97BF73BD3FA1B53A46A779B13CBBA453346234C3A68F369AFCDDA203C058E3F3A21ADF8B7C872C8ACDECC0C292DCC43638D1326B5D2E1870537777EC8A47E69EB54A30F9B1AE214ED0A14506EC218B05CC44086F653048D7E06949D6017BDCC7713983B6EA9DD7D79365431DFECA3AF4F6CF1EFA18AD23B716814F614ED2A22A5D8B377F442F2C402DE05CC8C2DBAA5076133E0905FF843D64545A7409711E1563071C5D48E2AE765AFDBAA84C2499FAC8F1848DB65B745776A49211D0 +MD = C8AA4AAA57D5241ABFA4B498640A365D987682CF66A0DD2359B823921B9462356569C966FC3911ECFC40A714EDD2B358 + +Len = 15656 +Msg = B8B27EF941792BD6819747432CB844D11D3275E235D6A04842D0EA1BE5A7270E3D32924D2F74DEB9AC5A8691617A1CBC1046A5AB8F89A6E5A84E7CF3B319B0EFE21928AA00DF31FED34E2FCE5076100FD384273DC5B3ED56079ADC948E47919E8CE5DCE44726F9368854D5EB7EA9DF4445F4E9A3EA55652404B71E16CFF45E407C8E86A56B4D2328AF7DC9A11C7490D02DDAD8BC81316B0C70C2E0BDF3C4BFDFF2C661399531E134A599F9C2F8B5397285EF5447903C0B43A5ADD96CD5C688929D0C05B57B5C46328A4B0D8501DCCCD6B0D22F1CBB40F90FB3D28338EF4E1CED2DD56CB569EE63A14A5420176B2F1F8FA1B39296AD88B52E7D3D13AE066668E60835A04AE815D481428A5D39DF18E67C4FE0F3277CD74273B5F78F9FCB93D70ECCF9764798827BF4D6CFA8EEB685A769CEF964FDA3E1E13C96660EB0E1851E30F1EC4B9D915C6B620204A7F0988AD3990814A095DCEB3EBA9B7023F2337B09B3268DF41CB5C721DF9A28518583B1011763ABE62377CCAA5B3277475A9CF72E36B07BBE8F2E2B0D2FE26E8B81A5B04AD6BD0CB8C80CC359C4EB38EA250577D2D06D14CCCD761E0E51C83078517A500A810CF0840A9FE52F415F96EA1D1644FE3E81823BC2196051DA581931646193666E00EB8003A1DB1F95E0D4165D084D5891153B6F27B157CED6675ADFC53777843B1F33A4337A2DA2395BFA280BE711F3CBA2A961B6011EDCA35C57DC20D926982E2074243D644FE60C76AE70AB1E2D904C3BA68D8DC7B5813565F1461E52D46253DEB187F609592B1E92E062A8AED576CA3381B7625C2E84B3EF93A338B97D699377E99619A116EEF9EBF05A7F3EAA96F32B6B491A2AA785303AE03552311B113B6E08F2E18F60D7198035D2C8A600D9C572251B542ADB198C3B5B5978E09393274D09797BF2ACC0CBE6C9E501A3C67A3C54B8BCC169A68A3889FF5C02059762771EA9B87B7484B4604B20E1D324F48B0C807DCD885907003187696A0BBDBE5FA0B0B373450FC440F698967BAAB67B621D8346CC43462B171D0E2E710D696EC05DFD51578D6244375AC6ED69568223F17A67BDB18C86AA9A982B7269FD04E278B9EF1F379686CD5B6F5EEAD91BF7D8547EE868D71B6E07E907E8883018B26380A16E779A3A86483CCD678473C31838A04E1AEF78793788330D162D1ADBF9E0CB1551FC14ECB87356C62EE17F95D38A634917DD3A63C07CD59324198D3FE6EB4ABD928D78D8CFD9D05B74F44F691C8CC3533FAC926ECB0FFA989F504A9DC79CF86F39525A8DD3EECC4FD4842FAE92B02CFF25DDE9B08014C371F41DF226235253B9B36E1EA8C7E8F081DC0E958991515EEA0855CE7BDF3F2EFB01831632C55E065A2EC4D16048407396B2DDC233FA0422F833946AC32CE14320820051D5A68A7695854167264A6415BC078DC37C717C83ED7879D776FD8599A71F999DD5AA2A53E9B6A38CC177058F7A147B6E043B2B5AE5010D017D327805C858613081AB4943981CB7457426B7A857D2FEFA063DFB655997036437D18D8203F68D89FF5660D310CB99F5CA378A9FB80FD84852A0591F0E41311100D168AC7867E54D5C6938D72723F22016C962EBAA67368A173CACA26557B276A29ED4697AFB6AE9BE48D7C411A9177985CE34C0C1BC1FF87D476876705D3157A789B4F0A7DB6C272EF4AF614BD421029CF74FD17FF1B82DB190CA13F02E60A6F2B261AA4FDFF74E2DEAB18222C674FFED711EF887F7E4E605E3241B751C581E96E8B918974E90022F086E0F92B63FD7963DC1D0F5CAFA1EB9DF69C32B9D1BDE99E89193B974D41453EFD36783F92BF2CBE1EF6DC56EA20EE9AC1F3A7435DCC21A2066C63B746343E565182A941CD22998AA3413088AD2801120F562F64B7AF55D3C6621BA1301EEED652661BC22184BDB9A9AEAB67CB18D85612E7D8F7AA2F7D2A6B3C4545B40517A4A74CB0FBD4610AF8687BD6929DDEF85C0F74C66DBF64A83BE1077ECAB0C5EC92991C6B8652BDA8E6C088B0EBA61C9006158B48F88D8257AD30F7AA50FA0EDFA025FBB7028BB978396714BCDC2622290F907B84247B70B71AAF608315DDFC78C9AE4297195EB956A7990891D5C83DA71D45C8EC9379EEEE0F8F01A29CBB58B41EC75D905C77AE533C5122B907B6D2C6E4F423F6914C58D010BD4F26BEF3823587C95C7BB8670CA7512E8D7223619CCD9B88C6158B1500B9223AE31BE27D509DDEE72BB1C298E308C46CDDB93E500A0B54B41813BBA528EC1F8FD6E070F73E0289AF534670C8D2DDC98E95FEE6B39F3F3681012B5BE028C3CFE7B2DA5D7EFF3FF352B6450EB4710EE54899D9A09B0F2D10A8BB177BC30EAD38CD29933A715608E625D35D919ABCCBB58F7C23A047FECF9A9226930438E30F262187C7FC7AA872C3651C632479C2687777E152258972FA4FAA67633862BD2423248430D1F444565AC1A6A39D91536E003667D88DF89D9D1CF909451C4FCE3556B25101E887FA8ED5AA8D6FC2DA14CF379A54E3DA7987FF2C811DA0DE48625BC8C4DC345C4D195ECEDE0D18AC3709B4B6A8AEA78A979A6462CC0F19443096E392B3E142690163CA28F01BD606958F6A511AF5B191F0F37373FB451E28EEBE271E631CE1FAF09566D8C6E1D4BB38968785829667E37538712306A69CE67DD502F01CAD3560AB696FC2A5144B553FC44B5F1BAE4640B1347A99CE98E224F8810983D64154A7FF5CCABC138E4C42257DC2B5E5691FCE4BF4A88965AA3460871A6EAA3 +MD = 92CE8DBEABA7359751939F3B5C8FA6DF41C2E54B428641ACA91E41EB52C58D41E13484A74143AAD545C8FE620FB7FA72 + +Len = 16160 +Msg = FBB36A6D35FA8C0174BF87FD3C232D1F6059B8C43CBD7106AEA406CA2EFDCABECF3B05DB8AE53CF98E866DFC5EE714EA3C555802F7515598560BB35E0F0B26D5F51B81FDCE914E3651C21951CC45DB3B480821E41654368B3259E953501621FA549114D80A534FEE583AD61D681C4FE402925D3BC72A7A63D042CF051EA2FBD2B110017D31218FA0BDA84286465740D549F7035492B2C0A282544CC536B8E4EB8695437D6038B13F9125F8C4799CEAF85339530E478AE2ECD4FF909BAB849A18CDD775B6758808141B94F1A243BCA4981C9D4B7A29CE53A2C17C3E62E657BF51B6163402D6C33F17FCEA979E40B0D6ADAF572A79030AAC63E02E99310B133BC007AAC9FC8564200A9BBBA0F5B1228B7D9E869DD824319568CEEED7A9C87E5A5C20A6F65879150D8D279F1376960E80A6E1CC929B30406765BAE97B22D08E0225BC320EB5004DB4F4648E6B8F8F1FF13182D1B20838CAF69B054E72DF07E3E5C53C669281E227A13FF0F6350578F2E257D9A2DBBE673F8D4666F3FE6B46E007A08D4C79FCCD4C8244DEF3DA4B8619B2389FC79D5C15432B672121FF14B58742DCD565EC5EAC780BB8832DA16C3307B8E63D41500E618C8FA9EE077F4A98236809CAA3F3DFFCEA6EEC7DC376226C80C5B1DF3EC161C9993DEF3903D542EBEC844C2E7E69FC215BC59FE86D5E98F98E3B8237D54CB2C28B414700E1E977B145C768301E78B9310119BEADF695A05C509D95863C4236A3B99C1997EC739EF4F3D74DAD5FDC66E494EAC463844874D6A9ADBA891C617A9F98D830FB0E24CC09B70114B32CF242B7C110715F2958219596E0AACCAB5DCA7AEB2C1649358DD95817EB35CEF4DF997242ECF387D6A06149E6B4661203627516812D7472B4D3F05F1AA200D5990201E97DA0F3D3ACC81377752C7B9455B591AB6B46AFE8DBDE732A9664A42175C20989B5A307209F64B0F2AA00BD297F8EB72ECA7255B99F07298B1C59E3D413327EF994EBCCAED1D986500AD2DE5915908DBEAFA00498FA374EED2537E0455EC5060F8CBCA77029CF2F21B0D2EF29950222947D3B926BCDAF61615F73F0195EBF189CBFBD25075E6C70640A81E64C36B54232CD76EF24AECD8E619F652AFFAA27A39FEC7EF7DF3B6C9D03B51C0975ECC0CE4C09CA29F56380F0B2B293321ECA37A6675F43CC7D7A4A196D3D11ACA35A54ECA60DB965EE1DB7095D481F1F276F6AB4C0B37398C76ED4A5CF2BB7B9C401E2686FF8678AC6C1D141C3A40D41C44B3F2933DD4B258EDB45DB5675984E6880C3927DD5087F94E122283FB76C0F622B671477B2C535193D1F4330EC09CDA03A1E4CCD1A06447E078AB7A37E34E54C2E0D911593FF522ED94B5FFC14E62FD21D00D7E5BCBEC5190D5A40615FF64740A1D31D0CDD07E39BBB4F615A4A0345AF40D0647F354F96FF2AF3EFBE25B9E38E1C5550968A18BE6DA252A5BC861CFE2D9CE84F56B0071CBAD937C947C58D0301E51DD1C3146F7810D795204BC0C7FB71F96224BE409FF732E14DB1C2CDABA7CC746C4FEED829A7077F48C7F466D1EC0C89E3E247D15A4A63114EA1E6FD855C98CD7870CEFC75ECC8114F1135A1540DE6A8E1C05C9D6DC554A6B08E86C8158EB3D844C5348A61D54A6559B0B7F4BC592558200A289CCCF39AA308782370B2981CB5EE050710E012D4F58A9D1E2E0B9DD5A3532455FBCC1DBABDF041F0E7B9DBAC805A503832DF59B29D0D1DD6E75E735DF9082B458DD10920C2CB72CA4AE28B63815785656A7BD897F1436393780DAC6004F68A745B235913C536DBD5C23EACC6BAE635C949EFDD2941D9F1A93ED944180427FF57D0AE76A5D584430FA031D8969883E09E853E6A29921D70214BBE2F7477CCC9F16D18EF6911091D2E62A8C00567B831FC79CE5DD65A95304FB7B0C56CD4D7FEF15DE5FBD19E312EF76C58C67645003BF0A55610F7A60C7D7C5418EE04C45FFBDF3D9C3C792A5E92979D6F8D1998C00A020C0F1974BB867335288F006DD0E973A376F353AC0D97646924C1B35C274E6AD1103A1BDECEE53D2CDE4686BD6AAB9407A568C7E029B86557617C261590384259B3093E0098F11C17DE7210113D586B4624C2E052AE6738EF10CCCC728F2AE111458E5FA1A93EA3A594E03AA1C65E5471F24F3B8AA126C385062A2FBC2AE2F2951874BBB64E02F3009A575941D4235B06C1FE451A825CE91BE59BAB85DA91645E0E2B8CE374DFB054A40809F26DB0AEC534AB5CC27E27477F1C1A729F2CC0C11FC51417B71443B657FD79DA807BB01CD01B036C6737258E60DA376DF08089F41056FC454044E0F1D173A7E6F11355851D36626A4C3E89721FE659BF58B72E411B015BF13396B269142C576A5976AB352E1708C1908C43D873964A097721A60485002F4675C5A5F582ED4BC7786EEB2D49232DADD6649BD9CEC32D6901EA5CDA7BA838817DB8C0AFC254B94E4AA39C0671EC45CAC70A73BDC77E821CD8BAA77DF6ED0F3F79386DE1FD7D7D81AE7E05DB6D1D9CCE8F42ED4FFB1A7FBEC62984DEA74C9480945EB916752EC9E0606815F8D5779CEEFD2DF49775A1CA29465AC9783944A0617279303AB86C2AEEB1AB4EF1FFF7465EA6850109D770C990B842A0A5DBB1CC14EA4947A356678FDA4EC44FC9D8FA352A546A2485F842A6BFAC20DEB0458762A72DD4A039D64AD8485D9F1C4D67EBB87B99FA95CD5B38DF8E32CB6EFF1401D0D2CD20A7DBBC3977B0854EB9F945510125464300C91577B21B6A0A61341379D1F1E15937C4EAC435D05BE9282F632F84C2AE1290C6DE6CA6C5ABAE90A6C9F37321966CD33D86C6275C018FD2C15AEC46C095AC0CD51593CFB646E8A5F8 +MD = 53CCE2B593E0D1FABD91B62E33491566F95DA2106ADAED055E010615C93F0734CD27792123C3F43F44A94FD52D5ECA97 + +Len = 16664 +Msg = 6E1CADFB2A14C5FFB1DD69919C0124ED1B9A414B2BEA1E5E422D53B022BDD13A9C88E162972EBB9852330006B13C5B2F2AFBE754AB7BACF12479D4558D19DDBB1A6289387B3AC084981DF335330D1570850B97203DBA5F20CF7FF21775367A8401B6EBE5B822ED16C39383232003ABC412B0CE0DD7C7DA064E4BB73E8C58F222A1512D5FE6D947316E02F8AA87E7AA7A3AA1C299D92E6414AE3B927DB8FF708AC86A09B24E1884743BC34067BB0412453B4A6A6509504B550F53D518E4BCC3D9C1EFDB33DA2EACCB84C9F1CAEC81057A8508F423B25DB5500E5FC86AB3B5EB10D6D0BF033A716DDE55B09FD53451BBEA644217AE1EF91FAD2B5DCC6515249C96EE7EABFD12F1EF65256BD1CFF2087DABF2F69AD1FFB9CF3BC8CA437C7F18B6095BC08D65DF99CC7F657C418D8EB109FDC91A13DC20A438941726EF24F9738B6552751A320C4EA9C8D7E8E8592A3B69D30A419C55FB6CB0850989C029AAAE66305E2C14530B39EAA86EA3BA2A7DECF4B2848B01FAA8AA91F2440B7CC4334F63061CE78AA1589BEFA38B194711697AE3AADCB15C9FBF06743315E2F97F1A8B52236ACB444069550C2345F4ED12E5B8E881CDD472E803E5DCE63AE485C2713F81BC307F25AC74D39BAF7E3BC5E7617465C2B9C309CB0AC0A570A7E46C6116B2242E1C54F456F6589E20B1C0925BF1CD5F9344E01F63B5BA9D4671ABBF920C7ED32937A074C33836F0E019DFB6B35D865312C6058DFDAFF844C8D58B75071523E79DFBAB2EA37479DF12C474584F4FF40F00F92C6BADA025CE4DF8FAF0AFB2CE75C07773907CA288167D6B011599C3DE0FFF16C1161D31DF1C1DDE217CB574ED5A33751759F8ED2B1E6979C5088B940926B9155C9D250B479948C20ACB5578DC02C97593F646CC5C558A6A0F3D8D273258887CCFF259197CB1A7380622E371FD2EB5376225EC04F9ED1D1F2F08FA2376DB5B790E73086F581064ED1C5F47E989E955D77716B50FB64B853388FBA01DAC2CEAE99642341F2DA64C56BEFC4789C051E5EB79B063F2F084DB4491C3C5AA7B4BCF7DD7A1D7CED1554FA67DCA1F9515746A237547A4A1D22ACF649FA1ED3B9BB52BDE0C6996620F8CFDB293F8BACAD02BCE428363D0BB3D391469461D212769048219220A7ED39D1F9157DFEA3B4394CA8F5F612D9AC162BF0B961BFBC157E5F863CE659EB235CF98E8444BC8C7880BDDCD0B3B389AAA89D5E05F84D0649EEBACAB4F1C75352E89F0E9D91E4ACA264493A50D2F4AED66BD13650D1F18E7199E931C78AEB763E903807499F1CD99AF81276B615BE8EC709B039584B2B57445B014F6162577F3548329FD288B0800F936FC5EA1A412E3142E609FC8E39988CA53DF4D8FB5B5FB5F42C0A01648946AC6864CFB0E92856345B08E5DF0D235261E44CFE776456B40AEF0AC1A0DFA2FE639486666C05EA196B0C1A9D346435E03965E6139B1CE10129F8A53745F80100A94AE04D996C13AC14CF2713E39DFBB19A936CF3861318BD749B1FB82F40D73D714E406CBEB3D920EA037B7DE566455CCA51980F0F53A762D5BF8A4DBB55AAC0EDDB4B1F2AED2AA3D01449D34A57FDE4329E7FF3F6BECE4456207A4225218EE9F174C2DE0FF51CEAF2A07CF84F03D1DF316331E3E725C5421356C40ED25D5ABF9D24C4570FED618CA41000455DBD759E32E2BF0B6C5E61297C20F752C3042394CE840C70943C451DD5598EB0E4953CE26E833E5AF64FC1007C04456D19F87E45636F456B7DC9D31E757622E2739573342DE75497AE181AAE7A5425756C8E2A7EEF918E5C6A968AEFE92E8B261BBFE936B19F9E69A3C90094096DAE896450E1505ED5828EE2A7F0EA3A28E6EC47C0AF711823E7689166EA07ECA00FFC493131D65F93A4E1D03E0354AFC2115CFB8D23DAE8C6F96891031B23226B8BC82F1A73DAA5BB740FC8CC36C0975BEFA0C7895A9BBC261EDB7FD384103968F7A18353D5FE56274E4515768E4353046C785267DE01E816A2873F97AAD3AB4D7234EBFD9832716F43BE8245CF0B4408BA0F0F764CE9D24947AB6ABDD9879F24FCFF10078F5894B0D64F6A8D3EA3DD92A0C38609D3C14FDC0A44064D501926BE84BF8034F1D7A8C5F382E6989BFFA2109D4FBC56D1F091E8B6FABFF04D21BB19656929D19DECB8E8291E6AE5537A169874E0FE9890DFF11FFD159AD23D749FB9E8B676E2C31313C16D1EFA06F4D7BC191280A4EE63049FCEF23042B20303AECDD412A526D7A53F760A089FBDF13F361586F0DCA76BB928EDB41931D11F679619F948A6A9E8DBA919327769006303C6EF841438A7255C806242E2E7FF4621BB0F8AFA0B4A248EAD1A1E946F3E826FBFBBF8013CE5CC814E20FEF21FA5DB19EC7FF0B06C592247B27E500EB4705E6C37D41D09E83CB0A618008CA1AAAE8A215171D817659063C2FA385CFA3C1078D5C2B28CE7312876A276773821BE145785DFF24BBB24D590678158A61EA49F2BE56FDAC8CE7F94B05D62F15ADD351E5930FD4F31B3E7401D5C0FF7FC845B165FB6ABAFD4788A8B0615FEC91092B34B710A68DA518631622BA2AAE5D19010D307E565A161E64A4319A6B261FB2F6A90533997B1AEC32EF89CF1F232696E213DAFE4DBEB1CF1D5BBD12E5FF2EBB2809184E37CD9A0E58A4E0AF099493E6D8CC98B05A2F040A7E39515038F6EE21FC25F8D459A327B83EC1A28A234237ACD52465506942646AC248EC96EBBA6E1B092475F7ADAE4D35E009FD338613C7D4C12E381847310A10E6F02C02392FC32084FBE939689BC6518BE27AF7842DEEA8043828E3DFFE3BBAC4794CA0CC78699722709F2E4B0EAE7287DEB06A27B462423EC3F0DF227ACF589043292685F2C0E73203E8588B62554FF19D6260C7FE48DF301509D33BE0D8B31D3F658C921EF7F55449FF3887D91BFB894116DF57206098E8C5835B +MD = 2AAD661EBC404EFEDCFB0711E69D00F1FB7D403D9725AA1FB9A43E40D0F3249571A3ADA01F73F83B2D46995748053F77 + +Len = 17168 +Msg = D7751AAC0B43C4AE8C2CE366256F95E3570CD6AD643C076F05652214B6CA4DC134E64077CB1B468CC19500BA1D3FB0D3C5BAFA267DCEE972EB4BA3B70AF32A00E481416BA6917DA4771DB3DF2DF38862D9ADC8150007E6C369F3EAEBE29D50E9A5A687793B3A41487D2096625A2D0AD46EE44021209E0F752615EF13232C3EB9597B0F75BF175250E72640F245DB41B6E18DD067DC628E364A92FC96CCBAABA0E924C8FA4E2E0BD8D5EB1F901E153DF1284F80B6B85916E2BCB3F0AC0F357C58CA356481C3E9020331EA63E87684032489658867F7BC88BD98FDAF081AE746A52714AD1BD830C1D65A9EA5E8F0B65385CAAD9E2BA9495223BEA661E69A5BA035235063F275C5C655FA0D165533FBFE70A48DE545DED7BEB72FD905FEFAEBD683F85344103DF0B8DA663348005492D8BE2AE95C30FC629C4D027D503D686B5A34BFB6856F24E8FD9E56EB589B79C28F727D4249C6A8CC5072BB19229D06F2A5F7B0223364B4A0CC55E53EDB771A2EDCD7F278ED5286721CDFF0696616566642CA04513B58D62371D8C533FADB90E43D78E488900E556C865E5CEE9C652F94440506713E4833CC6E119D5BAFB0FCDECF257DA9C7DBAE0E9825D4459532A2D71B226ADF8849D691D3270B73D95E1D393F6D323F0E39A443BB5DB50550959123E59035413FE4B15F32F3ADCB425801D881A24B241B1D95E8BEB2759411BA7F34DB03C88E55716A64BBA0A2F41F50008A57C31DB3A6EA1BE64691B388E93C3C4CFFC97AE4EF455A1BDD013D44F2BCBF4A45C0C4A6021C220270707C36435835CADD611386B5FF310E449778234603FD77A3DC176BB965A0EAB2142C1F489087D4BAC3D7AA03DA557D23C943F6588D64C3E14769898CD45A6FFEF50BA45391460E243A904B01A8B3D80814ADD1E6AF635E6B7DB457A47BBF707825FC72929DD1F8884904FB5D4F8C1A331B443B01B3EC8978927C1602ADC6A9455B332AD3D5074B7A400D22367A057EEBD3FF91DDE2FC3E367F5780A67F5E22B8450D2B738CEAA99AD29E0032D17D087725DACDDA2905CC79FB94BD835584620AD770F91F9626484BDB6535B08E130406A397CA732175E3A9B1D26A833DA2CEF70596D8DE6D2C544AC001AEFA0C5709220AF34994F32A20CD982C67EC3C3ACDF4DE6EDB4ED461F3B05C2E0CDB38C606376F0AF4687B9CFF71EBFEDC3B3D4E253CA4FBE89F4B19B820E9BA1D4FD4AC40D05BBD815093FA00CD5338508C71D5A5F73F3DE10E58A3AB8D555E5B32854943B924939792BB160FBCF1D82AD6E1DA7E3F86EE46274BC775C42D2F541C4FF0764EE1D9D635D71D849C1DB917377218F49A118454B4DFDC0CDCA20E4397137D6C5744F387FA3EADB245B0757C50BCA803A9F0FB764A761C77599027FF8822B2508597F46A41A03971AD32E59A2668AAD2E9798306800CBEFA0408ED528E58B1D5F312C4EAE7F70E7DACDEF0B2234F5B96BAC97817011DBD8822006B1FE5654B5A3E795977242C25F56CF3AD61231ED88E390B4A0199A5D06F0B3B9D9E918BF66BF376431F62D40721805945924938D8C47374EBE697FEAB839E6C26B6F3984FCD149C173E2FD85D9A45E5350C554DDA978EFE22C81B8978B651EE8775ED85D688ABC798E7D42D256CB36C09788D387699CB44970AC4A056147BE9BF5480A952724EE13368BDABE812EC8B16E4E168013F0DFD1747267DE2B19EE490EEB8DD4793A00C7ED8F779B90F2C004B30A607AC0DCAE6BE6D1DD6DBF2DBBBF0BCB5394904FC7C4351BDE6125115BA1FAAB76ADFD0A4112D962117C6C304B8B552A9DCAD1B9F7EA9595DC1A432BA8534C61DC7869EDABB46F99D5FBF13B257CA2803C73617CC32A3D39C2B8E5523326EE49755B3B49DB11471925D71C66F4E92E9C4B6832B236539DD886835253B9681729F493D304518EAEAF837CFAEA9798A6D4F8736F06FF37586D190783763A660465DF397883616A5CD1134AA8B63385DA8BDE87435F6EF79F069CD676EB7D141B1FE4D510DDE942F503F01BAD2FE5FE3DFA8483E8870E2A0C3F45E6E8B49E0BC7B1F473E5C382085AAA61F663B3A0F815B485FFDF9E76D18BAA643293A736EC6D8487D76F72BA9D210CE2C9091063295671B364CAC70A6B1C7B859F28075A8E4062BBCA72EEC1E3990F011251ADB36B92F5E140F6EB7034AECB10A865C774F2B297F088780C6C56BBD5EE56020ABB2BA1FE7B253FB799DE90261AB0B87306BAE0877053AA5BD6289B076914EAA987D631E5D11DC67E85B81F593D96CB6D99E62E5EFB5492BDBA4555540BD64DD1F343352ABA273395E0155B37EF2172C164ECFD2E4CF886C22D49754A7421FE4A12689AB6F28718611F2A48AD1CBC0117D2A668C9B2F543DEFE73595F9B2770108DD2619CFAEB0C40E65D65784748F5A5BA244836473A42F64E71BFD2F4196CD5447B7CF1C8A4600E8CDAF51005FFF2C0B43458966D79CE039E7AB1A1F485887909ED242BDCDFD4A26C294506478E16E71E7145F109A48E573CE658F62EFB6F667B486427E7C92348647DFB1EB23CA6E47B57D8F69126F89F2EFABD876236759414E775F6BB98AEC332B0DB289DD5B2B7BA3DBBCA2825B0303B44C3B90BA6D029A5B77556610AED32FF21D13BF38667CB31571F5FD2AE90DCE953D8DAD9C16A3EC34F0C3085A44C0213DF11539EFB80A013C31C6D72CF62ABCA1BE594F7D9A47833A863FCF581014A83E73D7E66178C0A007AA21B2314ED0B6E16F4149145C51AD8CBB6897A6E94EC091D9B8A11B4436213E7EA0D34D34953ACF4972A6E08B137F0A1168324BCB9D9BD4F03FE0CAEA5588C8C0A93722FA4A9673EA0B3175C370DCC23C287276DA6D050DE89B45A4BF2F0056B790634A77376EF02ED351CD5D33C54FF150DAEBFCE8D42EF3CCFC9021F83DA1186166FF2D526230D7EFB28958D66E2DE41B5D43C3DC035025B0D1A7C8627B92845F0E388ED29900075E84A6E20D9F7CE04688529F9452BBDFB68C912B0FECC2EC9C9283D65E22BC658FA3DEB3EBF0B5679E +MD = 0D25FCC63527EFF52D6E4C3E3F9663A90F8DBBFB50BC20355C4E887926E8DD45CC04152C88F423013C3C40CAC76EA780 + +Len = 17672 +Msg = CFF54596C315403090B3DF1253C9779B89E866F1421E13F7646E3CC16D0978C41B959499C249D229DCED6E267CB4CB6699E0478BE8DE4E13BE4B58D6B63083E9734573093FD33FF2FDEF48754C09E891C41DDB62C2B4208F779C44BD445D852E2BE9DA7FCA6C5D7C015F319E4BAF9F9B8C59710816A978F670EBDBF5EF455748204B3CF1501882530F7F95357B7C0C66B354AB947FADD41974101602C926928D8A2B3AE14597DE327DE07B724F9605BBB70A193F4BF6DB0F1250BBE0732CE9CDA13F2203EE04164438B8893238A1863C19F223266A047792E138B8CE77A96330386C86067C7F1097C1A4437ACCB9DFECC965D576955426F066D1CE72BAB6AA25B944EB7CD9859988C9FC38C77398839E5C3A6A94E9190335FA8A20F240B675A5E1F2544F957659B557F2C9393AA799ABAFD4D0A3169627A7985131C7C2BDAC9CCE99C8C744373C19582A14BEDB713B2068F101FAD706004C63DA2F5675347A095393BDE6E5EBACD2F88B0AEC6999FA0A1673D8F530C5A43E65A7BB24202A7DDB5BE1B2303BDEB0065D3D02B8A3A7B7463ADE755648197F991DB4E73379948D01D66F88E605285A14151C6A0326432C4005A852B6FE7410E7A774BA17D86F8BED48D83A777FCCFA08FF6C0F4AF9B44D20022DD711B1F9FA88A338AE412868DEEFD9AD161A910CD55F3375CA699F8F3F2C3276E30C2EECCE99BD8F254CFCA747FC398D96C3C9B5621ECF8DC777D4075344FDD0E99291556C9CA586CB5F06F1CCA32C1194FF82F20792440ADF15C176D01A4C4FF04A02D2D80A476A5BBBB1EB3B56F1DC76C4B0602C50B62A6DB0E160C43DF6C87882966BCE7C33CCE79BCA7CD265014858ACD6F0606E2D25B9A49409E41B2B17DEB24EF5EBE34CC713D5CECFD5EB560A8ADBB45699B2EA19876EC9F216BEB541446004898EE0FB56033ABEE5DAFE1B2A196F11E741E16445B1E882C2CE6E5F433C6BBF258AC9AFC81453D4F95D9C3756088E4288FBFDB81A72E1F2E5A4ADB99EB606E6B5AA484E578D97EB10BEC972D27AEF2444F340634EAD3AA681C0A43F04735ED744525E18C3EC9DD22213F8F99EA6334127BFC0D703677E15A413B1F28806234AD5106D1C93A0A54467336BC02AD71291605A87BF26C95A382852C48E017F082F7289C57E3E9243658E9C10523637FEDB5B3687305031621A6A62F65072D572E35325F3F47BB3683E437C1F648250046F462FF6143A372AEC2A80A999823ADB2BA65864A7C8055A1F38E8A455313FA4F091087609C84899641B944A2D764F5AFF9359944B33D0AD0005C08BAC003BA14D5086A88D3C12FBFF8CA5D5195068BC84EF6682AC2E279C0082DD0ABF42333E7E52CF8BD1253BC266F412D050C9CD2E2DD3A814C592193203547A6FD0CE704360FD9844FA1FB789181175D089DB4DB8659C5E2BC991F213442285879415618593EA76FBCF34067E7EE0B5BAB78D26B2A4964BFADD9FCF4770EDC62C0747800CE582BE6C3D44DCF6B448988103C4FF81C5224838F72168985B241E88D2CE3B05864B3DAABFE8063330765BD1093783AE2A2A104D3258CF0282E5165857FCE961FAD5627F508C4012A45F61602D076CB2108EFB8D963F266EDCC172F0729F3B4391B192868C90B58EF83CFD713A27CC8494BA5AB9EC88B33BE6F5DD03C15E1C2A84C1BB9A13FF4967FB20884FCFD9F107E13405307A1E524AB8804334108610B12BC3ECB2E7B6C02085A593208027A4E525BE7D4A156B975625DB2D87097D0EA36917920C47D90DACBFD5978DC62E11912017E28D4328B4CEA1C5D4BB8F176AA793BC8248F3F4F80F52156783C47148CE93F60E33FBCC7052A8CD490BF585A67B27930776C7B6A734D7E771B7DE929CF24C03B77A27AF2F86A75AF59D6BE581E3D1BBFE1F6EF070C73FA4BF580E87E786109E57A0CC1D027CEE3030D79EB67F4BF71BFB3A520FD6829EAEE6F5ACBC45C40D2D19BFFFC7310EB082D67E4CEB2B12BB77C334AC9B24A559A679474A86559F5294330B155B9F8C9D845856C37F7560FCD926ED0841C8D077249BBCCB28BC418DDC7D189FC0AEE67074E95F81619B8727500F163107EE17F06FDAAA1E6106FE558CD0707AD85884C51EB5CA108644C908EDE0433DB745930428B56406E063CDDDB1A5C835444A0733BA0497FE2C0CC2739C373E8F74B24BC1B3A09C28654E74C4842C5B1776009784A405B9F81EA961633DF7BE908593B1EF824E43ACB9EB4C3972A662462C42EE1CE406ED55DFE6245E9CE124FE7C038DEAA15E487CBC1FB9B0FEEC1536AA90F2EC9F0C979F369FF50FB99A14D3C0AA9F94E668A9801D514DE6901DFA189196D0FDB1E4313D55A3ED19E8768ED8450B387B8404BB9AD9DB1FA48FB43A2F056168F2369655D8383CDEFFCCDDB921F09421340241682CF1AD233E488DA9584895BBEFEC3602693EBB7ECA32BE773C9142569ACFC188A97D46801F613DEC226E82F29EF07C1E0197F4462B4F1F22EDE13E1242FF5101693112A410AA59D4931D2E98992172AA4DF8180D571FEA9EF94515910D6CE14D81ED8F060E8E6CFCCD1678A827736009DBC38DE3D63D2BF7AB78B0C9CF3524379527A7FE4A034E36DFAFB018B54F08EF3DD41904FBB2782D63EB7B755A6D306BCB004F0A8CEE3182B99ED6A01DF198A0027DE42938064D32E45D37A613FAEE1F1075F699125675B18908C23AB0BE248A5A1AE8A01B1BF76CE71371AFA56CB3462A1C52469A460A357E4C7874224C37C1366DB9FDD3A6F1F08A6718CA45BBD3B1850E74E27E76571DC89E5396EFD5C28AA37A61DD3F82FC4257C080AAD25ACB8B336E5D093955DC6847AF1AA4BBAE31A0E64BA5C021053E851E05E1FD398B5ECA2149219892EC0A644DF2277B77BDA83572A7906B168A9AB17370AB9E24B57667F9DE503FF0B1F9B798DDA99996356CF60555DC63EE40B23C77FCE438790C8F25003003320ABA731A2F233725FF7D62A49E76BCEB7EC76F58558C025672D7144E5943408F4DAF60E4D991990B510F548551F2ABAC996E603F559051C4A82C8181E967EEE72E05AE3508E181DB54C8EEA4C05D2C9440521EB19308B3D5F0B5485902A6B01A5AE04F0A4D5712C2838C815098 +MD = 9291D01C913EE25E11C16A2FD24E89AB091491FBFBE85ADE411228AC35C28DC0CE9B2E9A0908AD288B3BF88C4929AE05 + +Len = 18176 +Msg = 94133B8E14785FC19565A3AF0AEF60462BB7F8045E2EDF4A836718561AEEFBD0382434D319211C670FC699D25F02EC608CFED9786B7DA70E5595AC816688455CBCB4449536E8AD20863D76937796CB0C599918A21A0133B6C625B2000BED8884FC86356FD742AF78BB55D652CE4892E7C296853A40AF29116CC98D38874CA0F8BB5F6EC8C04DD7F3F9681858E0CD54D8F9B50A830C31A9781E70F63E5922B08617802104044EC2ED28566E39534FA8859573F024CA381D87BD6E04607B9440D3B7D4EF0FD172A6B8FDFA2235D46BAAE0778467BFED91D33C8DAC9DB5E7EB6C69FFCC2E9F2D6B5F53ECC800306103D86CCB1E3483EA2AC349EBA3833174D5CF058B8CA82855A938A6D38272851B1977319AD78A96A59B7D6300836B0B219974CAF8776BAB7ABF4665757F9CC941299A96998D3A910DD41FAF26D4AB54408FDB920FDE1D614A08C2F02716A17AC3A98554D9271F644D0D74C0D4A75C663AB8FDCBCBB75B250096C156366EE1A3DFDC6B28299B38C0C14BB685A89ACF6C41ACABF6B3C6745D08F73811009E9E5EA868D469A0C8CC35D83E99B2DA57D202324EDF0558E7632DE782740CEA7D6C4DB9590F675CED9E6C27C8D39884990D7B685C89F70E55E084AC8C1F366A2B8EA89370E7F7D724EB9170729E20BB18C7026BFDA8BE4A9813172B76F72B7FF8FDD31F3AD47282979DFA8704928042C24AE398050A4F4384517901A3A2D4230C56A0CF3BCA928AB211BCD2BCD4EF0B73DAF60240F39AC01A7AB29DC80896F6118A56DB957662C2058F045824DA79DA35EFDBA1F8D71094154643A570DEA95F30CD28F28AAC3F3204132571CF9CB688D27ADC77662AE925B75F3FA3854FB849C4450D4CB6169788E2AA6AF63A30C3654B81D08AA118773B87D0F76B7AC443246658662BEF132ED13218498F0E4646EC7782F63B0169DA7890C682A2D046E13C096FE521E4E42851617DFEAF85CB366C6DA7CE656553264BF673906872CE8EF4452C0993B2F5191F2E83117E2E8D66D3FD8333F0DEBBC9D2B1ADD31ED807BF3DD2DC056A2590F8FB1CAA31D110F389DFB045C26706802ACB2B4E7A2C1E5971D07920A58FDF2E30A48756A2BE92FC4729E5A779D61E82477603CEC73088C12314CC89C99C0AC91E41F72E830956F351D560136FA2412F5A47F627F5724A73FD4C584C9AB62F028342278E96B7F3F1EDD270CA45BC8B5673971007FC557E9C3F1CF7A65C80426502213EE2D5F32AA726C336894E35AE3FA3DC452F1E13F94D6AA2BA5AE7975C14C3C2804FE71998AC481241C66FB81AD62157E4058884931C93DA6C377FAC5DFAD4C6FAA505461BAB4FA85266922B2827BF3B9A431EAF25C5ACCF839F78A0029E0DBABA8A2D52B7E0203263B6C265B03C97600C7539129C3EBA3B55CA8820327920559D86878136E40460C45F5E3ED4D0A84E81BC2AF68473AE7C9EECA62E5591729DEAE74C4ACC974BB998BF6FE01CD2A781F10146CACAC66A492905973B06C3917C72268FF89E84736AE386ECA2913CEFEA3D55C6CCB392D1B1C1627269C060962ABEEEA388791F5BD4EAEB1FE0338BF18FC3401BE0B7AB55C28FBCDADA3AD2B39E7BFF28F4F8F31173390EEFDC9927A066A554E8175B92EFB8808C92527489194C6192D7F1CDA78ACEEAC77E67BA502F794E6DA3DADB8C12E5EC436A1AE0AF571F34A9B5EDCC64A8ED34354E36EB67E8D616317075160F725202B832C7ACD649A86FF7B135960A3F295786976DAC96637D949ECDDA43E7014C451EE50EC752BB20C8DEFB199207C6B2BB0DCD1FB212E6DB26476BB3E90F5ED2B9CBB3F1C243DADCC622CB503D08FF4B266A742C5C61A4FFF23DE25CAD7C3D13C2AB50AD2AE77BFF6E1B18E593283A0BB4AFD6111C9B5D5D062F77EB2CE8071561A796CEDD4C4F819373685B4C3D3D14BE5BC20A72EB9C6C2C1765BA887608157354D0A5BC1F4158D23ECF30AE3B3BEF24BCF8530F13B7FEA54722B57A761169CC827634A84314F697B090425BDF9EBDF88A6B53515E01D3194A8DEC7B8E15BABAFF42E0E0CBD1DF286A25C1FE3934201EE19447EB1E29BF9DDCD14EC9508AC213CE17C6A5BA3BCD207D1E41ACC4FCF9EF40EEA8943DFFA282200F37724413A438BADC59A13A07CAF163350F2663D2B381C14363E2372E30FAF1381A8936B61DF5370562BDBAA1102B6589DB74C635C791942A5EC148F66DAB803F469F6C39DC225FBA4EC87BDE2D5EA31EB517F3A43835D4B88C556E84D63B26894BDADFC4624ECB432720D164BFA5F9D2A685728BDF1195910A94C304369DE61C34BBE32FDED451534276DE8E3697490AF835FBD8153B807C8A45C1E7057333F99E820032F8051FE8FD6075027041DB4BAF7693BA2200A671B37679B7DD088122F48925C64E4C3E999BE84348445898C3A1690A265986FF558D8C6E0F2FD142E1A93F4EB307E4CF2047211E005A42C92A431D111D48EFE4762DAE025B183A2DBC57C45D98484DD85339EEC68E4A6CEB3157161217DA7DF44029C1D042E4FC302079B222043323079BB6851FA732A9A2A91A6D94C1EA5ECAAF91312953EA0D246CCB56C9C234EA53031C36D3550814AA8CB39D77F77AE842CDFFDE17D915AE29B8F118A46EDB08EC5E426E30DC4DCD0B1457371EE18C7853B93936B8EB4B4334CDF6413ACE28D68B1E6EF72050C121289DCC107D5E859730F97AEE4407048E4DB2B71C91C30B63F01C2D02845F3192E861853942E6DF816067F4C2A8FFC475FA7192245A5463C9793F4731DC4A4AC3CA203A270BBFC9BD841A224D347F8D30EF84AFDF9A70969330E0776670EDF1347C716AD931EE7B218BEF3B62C3EC4FCDB6B41B9D42509BF4E844E7C85ED2CB6D40E0BD125963458F8E060C1DD7D398615357D7C2662EB4139D952D67573C2DDC83048A7DA7B9D669CC5002BDBCE183889AAF434A6182E32F051DCFD93692B9C096B57E6BAB5D22E72AFA2AFEB53B4870B52F5F3AEBCE58ADDC005DB10580FBEE6CB9C598260F364962917A7323AF20EAF3F511E2346B1962ED247AEB7DE64E68D6C5C1C14A92F606B19BBDE4A68494BFC06D76DF422EC182FCA8C0D1E300896455DFBD49C29C858C64E80A17C80B51961C0ED312F071B0D62D7625DD3504A2CE214AAEA51AC81CED4479FD9DA06C7CB02021F4F347E1F20D62C78A50A30A82F288407966D69D837F881FCE431EF0 +MD = FC0F04E5C16721101E7A9254D2783B619F78A526E4006C43E6D12351281227D13BC57C8CF38652FFDF56A888CD90229D + +Len = 18680 +Msg = F5080D4C59E804BF8F34B334CABBCC7D32011BDE3677F4B9069416AC204114CD9DA7A0ED0F4B4D8344416336EEC15553EF526B6DEC267B1242657DD0B508AF81FECF9CFF9C82A6A7A9539814DD7E097615EF15373836B5D2F765CC8D5F82E90449F13AA741D5EE2FE63898E55ACD85116846807606FE1E2E29F98F9940B067D0D1DF01F080211B2EE4B0A30803782A7BC2EAFDC5EBDBA91EB05F7D7DC8E34BF6D44FEC05824F53418F235FB64E899EE147BCB403C8855E94AF378D182D79C3EAF977CB4E9D4A16D990A6C388CEB567B97785E6F2BC6745102B99AE765E960B6B32BAF01E2379CD6ECB74D3E1A56552F5976DFE5C742BC92BE596CA742FFC3D0FA032AC29F9F7C1A5C43BCCA62DF7D9DE35D0C7C179DB2E1AA255CEDCCA55064C2049FEE1AF2CE5EF696ED4BC46B7C55BDD51F2D44C8713FB2475C0B85246AC0103CC3863B7EB026AE076A600313F6FB40A4DF62A2AF81B7E917951EA870ECB31B3401928B5046D9A1E62D14B30FDEBAF262868517318FE17EC3C0D52524F44120ED8ED3BA70C643300CD0BC70DA72C964A88F52C3A91EC20BFEB5CAEFCD4D9C7685D8407476B5F34676C5EBD1E88A6CFF1C625322F8CD59B9ED60CEFB21F9491B95E72791F7AC7EAA3C16159FE9DF7A989ADD6C2282C47585E11397EDA9F47DF2B40166E03BCDD6186B46C6835118268DDBEF19A28BBADE1BDE0228FFD7E8B3C3C598D89E24B8CDEE79C940254DE26CC6814BA2722E42F7571600B7325E1FF300251D52A895B8CCBD049B2953B8D231445F68F7C26EC25A4B8695C8AC116F736BE939EDD762C9B4743E463C9B9B2F88E0BC0CE78781CDDC3BCA825ACD463C7CAC2AA6C430BBE820EA94AF9A40B1B5C006E9641A2FFA6E427379E1AD49C81B98320B3431FF0030DC683D61026438BC6A6D34B2C73704D9F62EAEB13ABB3E4B0562B4E0482CD6B2D7AEBC0367EA29A88F4A76F3D76FA1197E1DCA92C8216C84C1AF9B8C78C9E3A7799A4A79A783033B0F5547E8E75E69CF3615AB04EF989FE1A463B1672C571D50AB56972896E8A50C242F22C7F6E27CA4CA793F627E79608680F5421B28BDD2589F05E65430DF774EE873FCD1234064F7A33CF5A1FA4E368137FF9C1597F1FA0FA36493F20538077669EADFD3B06F788C912C715FB5D334DB6BED133A8FDC40F5496E66AD63881F0BA3727416715865253DC5290327B515BF68DA188DD5B4B0EAC7CA712CAFA8FCAE0C5503FE58A219182F1C30DA6D0C19CFEE897B7D837C97996A35F4CA8CF0537A01D17E7DE0CC9C129E4DA0ADAF1FDA85030DF9127BE628263B0624F372C47C3AC87EB945A57F5C732BEEE81A7403001798992F3DC944114FF3D54C4666AC5AC8C98D0D5596CBDEB420665F5EDAAE747D54CF7EDD37B162E372249D135938CF17D174D12D88279CB4C32BD6F018C766DA6983D4EA51D6BD8FF0A9B34E9A93BBDA70CF1B4B867D60A74811FD98D52FAA559B52C755CB70A76C94BD19654CAE7017CCD70222BF08C5D7AD1F5E4E6344FDB3ABE703452C29A696F39F9826ED8BC510A4A148E5BF8A5DBE6B82D7220164F08011C05AC5159D52CE9D45D758B645BBB248C2D341DBEFA1F8602C5D458A64F38F3B04DB39089807B6A10E1BB52770B92CE72E2D3BB0C2241CDED35054B84558D1CC099EF7B2296951951D5B6A22F93BF962AC5EF8FB55EC6CC2B316428EDF12078ED1B66D525D022819CBD489E1BEDB02FFBD507D55F9B5D4E22F6396EA233453754688D20151A09C70044B8A5A9AC033C3C3B847AD833D5C05B33407666EE82F9581DF9034EE15A9CA67D52F1D9B634B84C1B8BA9E515F1F060A5AC5CBAE2DE75F94E112F7198E239DF08D3103F065627438995026DF511C6E5BFDEEE5667D511D4181850C7C5D179107C1B86D24D5532A88A4149A2810DCAE73731B0E1247281A6FD31613DF6891B4C17B7A6A9AD9B77468254B93F85958AA0F01CEFC10B25169DC46E035D3F24557B4BF0E7D60174219108D916FFDC55E25BFFD9809EFD058E12C14F39C69D8FB73D3EC6458F47F2F8DB901BA76C86550B11B54D0641D4DB3EB000057DD00F2E511FB7A47E959A4402A3AC5462234B40B184020FCF7A0396C4D00A987C8741A4537BC17102A5C42AFEAB9F71EA66ED4CBC7B5EE682FF04F56F4BA1EA0BB326C4089930F9E3F3FFA3E06637CCE32113881A06CC3A13837448145C2BD01307A580FDBC385D8F46FB92FFEDBC8918D269DD1871164D4B3E2023441EC8B99C82A5F09821CDDF6B38C9ACC3BF3A38D5628016159588C33EAA29D9463A537C000A16AD8C177DC4CF716E625F46FC4CA8C19FBD8EF320F1D680639195C8B195B0A02738E0665F4190D6287E589CD6DD45B9E8CC23B08E1681BFC6F66B88DE6B091E825EA4BBFBD697E10BC407570AE4F2A3EBE569554639C2B8E051656CC30C837F5A92260EAD1D552B45801B6D28134166796C87F900225CFDC3CC49D72DFBC18D8D95B1E160ED3CAFD5C3467D48AFF87402CBCB1E1420E3FCB588AA19C8F42753B59DB6FB6A9FDBA127CA806DBA7DD97F2488FC2E438EEF57A4CC85B88DCFDE76AE1FF61225A1CA8BF4A14F729950322EA681B16D6492902506702DC8F348E4D3AE7FB55FAC1231FDE82091B34F1791B6AE37587B10325F6FF5E23B855845B86EAE90785B9D10D90A16644D01BB626F343B908A9591F4069B21822CA4ECF985C1E710475F33DF9AF4764CFB0FFE649063775338F15BEA7CFF29F164678160960A80ED148C9B7FAA58E9139911D3DD9536F69646F718F083DC9029D6294FC4C607688AA75AF350AC2C0B001A157D023D73D86ED8133809FCB9592D12089CBD7A1BB6BBA882FE227C09A53FF088907CB4BC2FB4B7F62D41D3D397C4FE0AD12BB3964370E21712951C679814D506E738C0201E42181D231136A435AE0397B61CCBC5E8BBEBF8EA77C8BC48BD6211F29248F9D498D818E2B544D28A5E60BA727F32EF4BA2707962230C900076FB764D0ED5CE078C9DB14DE894BBB836C6DE9E83202AE89F9A8D8CB0341E1C81B5FA8B16731B8E231E969C0F1EF95336D4E73EAD6DA23DE3AD1EB608ACCE4D4D93996DD76EC1F5F2C576F6B3B76E07BD8A810FF5D88B00FFE48C42700B61CC499336E7FB57AD72FF44FC631C7222C9A3D1ABF6E77B5ED7FE2F7228FED6C849BF7142C4103989A80F7C15642AE61650CDCA7E854EB25E9E72F4C3E3768E6CCC8BFD556B56D3507EDDE9E5C331DDEA75568B07813D20E8F4C9547838ED28448F2E67158ACF0C00B131473847816C5E2DC215 +MD = 74B19A3CC577847C757B08C2E19C9E9492F8C5A8EB9E983C68DCEF4AD4EE3028D2E626D343ED2DBE90906EDCBA513E8B + +Len = 19184 +Msg = 34A8B8956BF5ADFA5EF8F10B673F6E53BC3FEF8DD1F9428078C256A8FA1D8DA1E724BA90B65BD4394EACAC5469C520BAC2CED1640BA26EFEF44F50BAA72A9E7CC8BFF69EB8719AA1D88A2450F5C3B4FA54A2977CED1A904C09356F483301ADD61006524FF814CA0B1FD50D3F3A30492BA70C2921E3B9DA58CF8F5BEE32AC15E39371FD9D784256054A3D145563C62E7258FFF3A16524D38767A75FC27FC3D0A9F0F585A0046D6369DC6DD17FC65B53380184B4D9EEAFF245FCE1AEA0D4E8407D2EBFF6EC0FAE8B654747EECCE13BEA89D4879E0C92E1F47EAD8E5CD7F56B04C62C2B7CC13C5CC2D9E6A87D77DE73E54DCB9829001A3A9813DC1958E4FA10BBE4027822F8923AF17D0B04BDE97B9810B31E26FF74F9AE95E50C6EA25A49EE557559C2C9C83D01737B6CD7216C46859D2833F04DEF7A7EFC849F8B13F627E20FCF0CD3E0B1CC7D0B22B4EBD576CBC2A397828EAED2E4AFE51104507C0B3176A74A0261A159525E0883F4514F1856D1BCA3CEB1084441E99FACDCC5B7EDBC5A4C803F6448119745C23E5D795A0AA96F31A48F431960B3C41C9C6B13A22826743839E571F40BF5C965EEEDB293DD5DDD22442071895BD9C34D8A344907E17AF7EF48008801066AA8F434019D95A01CE34C30DC116D6A5D9F6D43BC2CAE327B613E61299E75D580C7323ECEAF494D54825553C98514D841568F5BCE9C97194EC36A16F6B10D9F1808ECC1DA80BE4D37735ADB6D1B83A157EDEC266612E65E57EE419ABFC35E342A6772B5FFE8AB1D8095BC92BF9982A7A32E8505D8F2BDDDD626D09F208930427F14111B91AD66EBF710D9B1EAFB22FC34B2616458283E9FE1218A2886A7B73742342962BFE5DFC2F829A77226FA8BB6165EFC66873D618D8B6ACECE0412515C5A032E44685F7354F2DF2CA1F903ECF1A53894A9A87E07FB36759FF666560605CA55488A7B3BFCFEBF6A0D616417C93835ECE08FB69450E041A7C23981520CE03D5194DCE2AC492F2E4892B8028A7EAFBB913930942FB26643394BFDD67B9381B1581F9F62993708A3C461FFA43F11AF679B68F62F2553500ED3D7D04990A6FC1017D8D7AFF9B6DD58B22F168161E71EAD31183EB338C75C0BFA00A701A19F72B73C5A772090A86BEC03E4F9F2554948D94E150310C5AAEEE46D1AEE5B837695FB49368E59D176E0199CDDEA6085C897AE2829B10C592553D54EC9A0A7B8B78809A51B9DEAD66D0879E8D716B0519801AD71FCA62D848313D40F8224861E58F0D107EF855A6FE9315DF8EE624C04C56473C61C4006E9372CB22B4CC3DDE10E60ED03D6D6FC928EFEFE11BA7CEC15351FC0B0A5597DEABC58B91040B70BBDAF8E1615EA5246CA993BBF653EFEC3FAFF587467A18A4F3868C1109FB355338E54EFF58A1C90E2BBDADB0220F22511C5D8CBA90AC474FCCB0F9DAB7B66109BAFBA8E82382CBB851C2F0869B3BFF09A90751B591BDCB617C6871FD8E22BF554F3AF8097E9443D0D85F9A7AC3432DC8B3E3F0C8A570E2F97DFB0E4445152E4DD0B0EF1E656DD7B7A50B303B6BBC73439F873737B47AF21AF435C9703F704DDC153B26788FE932CFCF00E87E33EB195A38C58128A435C81A0DFB42EDBB0B9EB27F64C0FFE8357FD995E8AC70BF0C7FBB2622AB5477CA8F65EF1CCBFDDE0DDF2D610F7913D7FF69279DD33EAF4A49E3A5326E57AE3E8DFB752E989C99D170389C01C9ADBDA22846868CBAD5F62B974BFC6A5A4A88EB6E04A28752DE094391576FC17275D876A5D3B470845A7A064E00BE791B20DADDBE58812CEB296884FD7246FF67411AAB73D049FC3250DA9111D1B3F192BD8BC650FC4AC9392EB18840B36D8460A80D7967B20755BFCF8251836961F98B5E717D7F078D3A2CBB09BFEDA034274B93E8092D37F060CEE0659269A09A11CAC907C0EC027DA78A723A207B217735B15998ECFB3C43D87AEF6671B54A76666933DD98D5DB4C7A738C43173E77B2573C7618239F4B664031477029666FB8D3BC203F1190DCC27BA0608B276B51F7CFBBC70F5D4B1443DBE37DCEA0354DD288DD4D851F182283FBAD31D4A8E5734A28C49094DE61AF6674960DABB2E6332FD5A9217A92E5CB101223D98A4BD50E56824C7DA09AF1668B1E98BEEFA8CC9DA8F5B6489FF1F795B6F2E3DA96526EC0233604A5C300CA991D5090A358AD21B01E918E5FB9FC0070D3EC1A8647A1F40FD9A662DB16AAF39B8FC351D2FB077BA37800258202449DB1F1A95FA9DEF31E48CBBCC594F6AD63CCA4FC3EB3BB5728CBFE4026C4A7ABA1FED992661E58EDD334B555DC93D34BF346410122CAC14F774B3990E68508DD21EF27A83D6BB6CE21EEFDBAAA2CA63443000EBFAFDFC18C0C96D7FF7EB47448FC946A1A096B0008EAD107520E2536CFF86CEDDC93F5F8F727825575C7FD7D528477E14549C91FD86FBEEA832D1F69D21D05F220D81AF9C241766CAD8AA6154DD6661789EBD44B67915F2F55B38EAB1074E48B1137CFB1C440F1BEF438AC1DB4180B4D50CF735D39AF8201E9236DC6056D2974B951AB4174751969FA0B33705FB605D2E926A764DA3CA2992CC930854075C0DA0E5D1B7BCC8B66CB937FD6B92A2776C88C02B391D353759A04B5ABA5034905AAD61D0C330C9B00969D1FD1DD99284D2313E90A5B8B0803BCC19D702E131B4133BB91CED8AAB62B0106CBE3D0BA597C69CBBABE0CF669FE446AAD7DF1E4E6827E280FE8F2EE91C99B1DB44D10A6576A535B4FBC6C76269D1B0252CF482B921889AACBA14B4C0A2EB5907611290CE04B29AC5436EDB8D5D77A6E8AC5C672D67E107B6A866C4BAE36E82E22FE6FC5B31538484402A30A5221FA2357C3D17A1317EF8E5ACF7329C670B67D38F1CE60A05DD991BA855C598F9C32E518B95B6AEB84587103815019E39753D43A71A8C825895CF2569786358B78A74A5B47B7DFC3292146BADBE0867A353A7285487BADDE28E9D78F7E8B2FE0E7CF78330D4BADA0D606D6D40FE9296EB500CC906545D72596C8C98188673F410576D154E3BCB1F8887E5613C3CF279BE307C0224DADF58A91E93211F1173C461EF42F351C7DBA499D6974245E1D88BA22830B07F6D735C5A74DE475C7F08A940460512EEE2CAA46705580868D639E46B3FDE805AA1343CEC3805CEB7E624539FB2B362382F5BF0D55E6F3B90D2125162AE7BABDF96FEE54B29BFA9EFFD80A508E80B478EF67997AF166B5417620BA5886D631DF501EEB242CC40D05387C9730BBE8CB070B2210A8775DD25A5B76755380BA7E2EA02142E43A3FFFB6F1BED559CAA68B09DFC8DFC1864EDAFF705BB1E30FB58C3A27C5B1C425B22D0C1073726A2CAAE5CFA631CC2EDAC96C10FB25329F0E6D15E4D52694F8670D3D054E9FBB2 +MD = 2EF16BFEF6EA7A06C380B88DBC41277BEA796EF1BA8D7CDD32EF15CF6EB07A2304FBBCE055478DA50A1CEA345EA0279F + +Len = 19688 +Msg = B7202C31C33E5579599D14D12511CD700E5A077679266B94B44586B363677692A4F2838F50D437C909E5A41BA747A6F2C72BE85149D53A834F7E66B6DC74927250B543121B6B4780542AB511ADF2011380F0D7133BF82B38A2E377B5C7755E49BB1ABC16EE0A4A772F5653BBFE06BE7773290AA4A9A059B98647C188BBA609D31AF594D0594B375963F249296FC6974D2520CFE9EBAB8C4154F1B9A7EEE66968B853F19F74D3125B8283E5F167395EE1077263EEF91CF573F1A258384D369C0A1B8F4E12C05F942B330D43A168290D82325EB2B77D49F25E028AA37751A28C405A6AB190B744C5F998D7CABAE18CE184D96BA9BE24281556387D710E66FD7780EB1A0D91A3F6396CCAA54A7B2B223ABC1902A660A44ED1FC2606AA054E1C0FD9124EEBCC0993922B79AB6DC225826CC3FBB0B99046529AB3CFC79EAB58EA68A153F0C14E5735CB4296FBFCB23ACD158ADC1B049BBF854054A7E08BFE0B7D4C8896670A90BC1A3A9D4A2F74D1FB5E143A4D22EDE79C738B41B91B93AB34A91C8E327BF17A1E86884544B70557D4EC184F82EA5B5C5682E33AF7CC38C5F91BF5D024CFFFD145A5AEA6FD7B6B0456AF14BDCF60734CC93C1387A48DFB97B91BB23D7F68EB783EB0CDBD0BBE4104AB212147C9CAA9DD923E883C3E24B53AEBCC3F7FA5AA5C887078628EFD7E82543F8600FDF89A3312AD6902271321B77C1F8DFF1B92250C59E037411C6791C7E930D686E7BF359EC480C6D0BD05D2009F2D339D2089D5202C65B8FE737EBEA6CB6D9271B0BBD3ECD6328AA27EC7722CBB3E700662EE6AFEBDC4FF5E9B00949EC3DA530AA271A78CA7328217BDB5600448D9F825836E04892CEF50A95F8CEAAA5C28F2B9B185536FF2DDF380808EA351BBD7A068BD43BFE8EEA7A3292C65130915E828204C0EC1939F1E3088058CCE4B2921530E3A2C8CBD3FCA2EE39504B72EE72DE1203164AB0AF78B66600B27A067CD62D7DFAC4815B23A712870AA4F2659157037285386BEAF2649741DA70FB7E031B4E1F37768A0C349C7B8C90A3DA6138447DB7CDA00C9FB01647E3239A680FFB6C8D4D536DEA7131480FA95C597BFF67AB5BAE2578954BE01BE5F3892688A98B0AD0A21B0AF40E562175164018D32D6A886DCCB256ED7C4148EEB963042BCA34B689C44BC485F286A65D1EC44E5A0C90F5A1E8D6A29DC30810917B8A3A6DEB0362D5967F75802E8174725B734B61787437AA6FF8A4FEA6C2390C477DDA085A62C6477E994913502B862BAE548798A17716A48FCECF315487844A1D98EAF122521173807CB72308CDFC6CFA2F1B9324A305869E47CE15CD18CB38CE83ED3B41A71205BE49CAB4B93142D8E20A4C4365E4B0E72B48E5440C8E8F5A8ABBE22E5C24D2FFA0E062434FB17119028299AD5AE732F0FA39127E533D591A27C7A0107A9442B7C2211C2F7FDADE86BF032CE72E94E71D6072466E7C50C62E01C35AF9BF5DE708A309C5694C84ED47AB397C409057219B2B81D9BCA7526765C11701E6993378BED05F5E5BA5F9C5FC3E3E6097D39C86B2995A9FE75DBDD0CBD3A9D96C335C8F30FB00419622F8D6119246F1B94EE8524A275738A2B312D036AD0A8AB72AC50F76C8642B00F354B00E0311AC1C11C1332372E4AD1A982027230536E7A3D451BB1E55E509AD026188668BE90B12CDCB64AB4C19E46BD19983F4E1D26F85258504AF4DAAA3C188FC2ACAF6ADE8FEFA7A42ABA19DC7D1F2269FDDFB15ED2C659725829E0736947DACC67D83B0FF4F1DFDB8B998EFD4E50D8E505583814E049A31923FEBE479EA88816A7FD044A52339B761F9E069C7585D9ED7F2397AD4C208AB06C5FE4BC6FF9B367D109DD3FBBBB48F319053C8BCF643E1B8346EA42920E9CDA202EA0A74E44305F8EF7B18CFA5C921C9E5E546276D3EAD2568A9DF7B7883D4C20B0F38BED538D9B41ABA491A4BA3E4C4787FBB6F75B18DC6C356A95DEBD8985A028C1D0C56AB5D06406E547CB4FE88BEA7D0F8B3D244F0D57652A18D122FBD1C6DF0002F3BFA071971399C749A05569F972AC0C79CF6532507740C3B906E1C56641942E215FE60002ACB2F330C99800B84100982123211A1BB9C05845C29ED03E3549861787868CDF9F20C9DC3DD9C638A9D5EC0238AB05BB2C31E475F008DD3E5C9ADCB0968D022B99F1C848339ED38601FD594F2BE5438440F6371AC954573012D626F9CFFFB06AF4DC2F0C522E5258968A6EB28822584835CB64DCB1A1593029588594665BE0F56848E24F6BA914D3AC6DF6EE019A4371D8D7CFC74733F29784EF56E0183639DBD8FE001C63E85FC3206B299F1EC1036DDDC01851D189B5EE270EE5293B77ABF4A4BC6F986814FC0ED65011754F4030DDCA7DC67D6051246136951CFCB6AAFE145F5C14DF5390B105FF1EF9D35D31ECBB05B2D88140A7C662CA6F58E2682CB21F1DA837191220E3B2DBF92546D576E27709C67FB3EA8AB8B53F394C82834DD9FCB317A1B51D1723BBDA7AB5315778B27AFA89D191F1A47F8A0E0C15E33F0BDF577F92EFE3EAED6546A9487233CF9C77550D482DA1B99FB3B721AB7EF7826550FC4BF953426B69CCA80549569E1EC6E523822060B4CB8A88BCAE1B9F480E073A90E4CDBC8E60994B6B953ED153C9DA146F4AC0D2030105BDEE296DC6BFDBEBF75E6353ADD84330E8011F9483F83A39F8D06A50961A07557D4ED83DBFD9E5CC434F0EAA70D69DE7D034E359A412864D8BE292F588D607294A57CC3C5065781E111439A2033DD64B94B7155AA565368045214C588D3EBE04A04B7F7DF5630A460BBFBC39DEDDE14D590B2C79664504EF027F4AC22712F8EE8B4399F01A7418A8AB9CDDC4DA649F5203A9CA15EB758059B911B7431EC07AC541D4D2ACBB3D67838F4BE54A387757F1D19D9CDCD7CA1E5E6EDD25046BA117844D98153008401A83989C6788274852488D9C3A90A3C0936DC09087A4DD6C08EB2813CCDB49F1EA8680F66D580B10EBB30901C832D833CED19B52B419CACC1E01A61D16913396CBCBD31EFAEFCF1FDA31072AF08C1F1213658C4C6DD7640CEA2C2C4111A4E2E39B806CDDDD6C6083CE7876BD196400BA07FBB9F6BEB7656281D9650317D8F2EDEB962E62E31FE73D53759A357DA4B8571337E3C7588B998628F567909CFBEC3D6BD818214FC7F0FE7225E0F8AB64BB4B0D74AA79D9945E56177F0E81793552B5F2D78289309E132D16FC7424155195E1F5DB8CC327B650F2E3F1AF987AF84149052F27A1DA66251B08A562E8BE10E92F976CEA41CDA5317035DD78B327D9FAAA0B3C897CE1106B0746606FC4B6AC5F358D2F2E10F7938E5FEF61E540181BDCED5A74D3AEAD4207E18305A4EE2E999435A75914F21202FE3F39C39E5FACE4E391910B937FB5ABE043D633410E47F99CDE9DB85015ADCBDF48F45190193ACF6E6251E99B65A56868CD248F6935AA9C6720C2979FB5A5D54B45FE84FCE1 +MD = 53C1190F68F5ADFF07E051C7BCA8961C48E97684B3A29CF6A608232330007367CFB4E39DD90398D9303E1F85F51D1466 + +Len = 20192 +Msg = CAD9EF077A98E3F2E5706EBEC4960D5A5B78B57CC8017DB1112F2C537076350C807D5CB1421C235AD2F8ABF7CE905C26B18566D8FD6AF44908269785E789CAAFA1002BEA64ED46B1ABE2A8812FFDF400B18A39B731040A8C703D837E463F29D4218CC4AC0E38945F5C79263D2EA86AE52811724424644EE274C55FB6A050782807F3DF60547BA058465372C8A664E833B5176CED42C40177CD3483E636AE6F0B9C7AAB5DDE5309E5F377AF74314680A72DC1088AFB861E6D564DB6DB6E6D3E66DA3F3D539616408D7B0727CDB924BBA38C3BD5EBB823E7F441D2567FB36D31313C5834154ABE1623723449FA8324C85A149ED1EB8687BE0E8A6C07527BC0D9282651CF36D5596E1E07489131AC3C71B75513AC3ACEE7CF9098D1D5C710D31A80B2A6037B37228810B885160B764223D4B016480CC9835A695DEC0013E9E064C0834B580C254C6F04689D0FF80C6999882CE2AE5B4D8F01CDC5C2728890C7C795B10C5B7E01AD2054E750783D4DAFA677CEF7CA6141B0C5FC6E5FC38B0D1AE088B16A02C31FFE242AFA4264C21D4AADEE3FE6B3F43AFD38FC554BF168C4331A388508ADB66A12B85AF205E6F2A6000C7F222B5E3E326AE9E572956330575A07713EE32F427878A62146810B85483F10363722279AF71290E58FD7DA3C79C8FA0378648423E18F2BC4649E8EBAC7E28AB3F8D1AB64750791FA9158B0C9261B2DA1A8174F5002AAFACA122EB2857851DE26278F594B59646B3B2F6B51A4011DED6188EE52D64311DB7E50DD8197EA0187EF00F0411D501E5D1BE946E31603242757B28F3D05CF1744D62CED24366566DD16A3F8F3DD4D52D7FC891A31E83EE8038DD78AFEA84EC8896958397AA7ABA0056DB3B16A04A2023AF67A1948DCBAD4A0A5376475A320371194919C939F4E63971BCADDC344799AAA151434D2A5C402D02D4CCC29ECB1BC40B297D9BF72AA09CA9DD2CC5268F2C3F49E10FBE4733EE83647B9EFC1F59BB9F7D8E2BDDFCE717CB1AFE7DF9FFE8B4A7BC79371B74F1A038C9C4FB8B7B1EEFD38988BD591DD2817E19E9D6C52B522E90DCD89C70D3EED91B1286C3891D546F4E198BFB385554E882ADE07AAAA4559AD517C5CD7CEA7CC659BEAF8214716ED9D750D382389EE8AB7C3C8AAC48968220027EDE85F939098FD679D97865926F120D8A9A360429CF00A7C1DEF836A9933655ABCB384E9F630B4163F204238E9A38ED949AF36F5204B74DCC45266F89AF90E6DB2C948E7D773D72E653D35C848C77936E6E689F75DD78EC2754E02FBE119C572885BF090B04A4390BC7D5983809E5AC7E4A16F6AD023C8B28E6B01591B0FAB80DFF9E1300DE11BE3168BA2F1691E6CB7C416C3201FAE3F171975BACDFFA520571F518FD8477553BE92539A0ECC5FFC161043139CBFA35673F71949FFBDA64693A032CDE6A34432CC7736F1856B4DAF68D39369327744355AFB6A4E89B82E5BBB1D53B5ECD1EBBCA25F6B51F1B0076C34068676B2B879C13F64D91B277FC82EAD7420F2497B86C9FEB5341AA553C7916EBE6620DE18EBA7F453883A6E8A037C314EC159869132E1856943CA6DA2411830D6AF8354346ACB06578CE89E277E2619596330476EE1B8A1ECD28E201C065BC30ECE1FEEE5E7AE182EFA8D0310EB731C30CA7184D6E9F3C9CF08EF2B2E63CCB369A36AD63207DDE3CCB04DE341B5D093A0A140AA0A8DBE811F03114B235F07499E622EBEC39521FAC671183F0798AC50919D260941415832B1C5686D7C27A7A5D0E6222A991E341C9A8B10A76E01E79B1E7A0C18227A39079D50F5EE94B18B62C51AC36650ED3ADFE142BA5A34A839449599355D4AC9542B146156BE4FC4DBFDD10CB8DD15D0C51AB23AB19C16500F770693C94EF61DF26DA43A09B00D4EB7206E9325CD66780AB47A7E95B50DF423C40767229DF1DD41A808FA70DA64771FB91B5F6F76872759A8CB77FDA87E2F2D7F030B9CDB456005DB9A88D0F27D4796803BD570440FD0B7E99C3D08FD8E603C92098AA4150D5A87C2917CD750BF0077E9D71C43F5BD3DAB919C23E16BB90537E7FE694A847EE843DF4C8262D44C39BCE4D9C49069B213F1074453EC66EA054833FBDB72B81161DBA424390413DBCF96CBD56A35FCE6510DDC2BD9296F7CD2F7474F86FE24CD61C9665CEE251420C0A0D1F56F9FB06C83FFDFCF034A5C27B8C68935C4B2ABD2FB92D570F1FB610B3FF4F66A3110A7A0B89C07191BD5928A39D579191633B96F1123E5535953F0D25D28675F5DDEE31FF2B6E13FF21A2DB1990F4EA8D0AB5D4A73AF9A41D5FF8B1467A11CD297EC416F448C5B0D77DF8D02E6880A7DCA283054BEAF1FB986ACBF838B68A32C6A4DFD097C9FC998FA13E382399677CC947AF6E4CA5B37BDBDE394B89582C04BD05DC7C04038C626C5B72788189FC01799A4CA03A1E65C744F6C4893B19D2749709B23AF92592044224ABA18E1052820250D0C35CF8D76E51C73C94386C6E0F147C770EC379976B574EF2EC6D68C39FF2C287FE5149F71497E1ABF07176B024E408479BB7B56B373367D40A5BD08AA38BCFCCC705531D2984CD386F0F47F0864E00D758EEC1BA0ED0971A0A2A84EEC663F198326AA62F931DAABE381DEA692A7C43425D54ACD99E2FF5B7464F5BB794D2009035CA9FF721B1B4494CD8CC5CCA9957660F29B77DDF173D78AC56B36AAC5E28374C38253B22E16BDB93E4CBDF9F0E854EA1D79983F8F9CF6D25DDAA7648055354A8CEA372BA54EEFCA4CD040D3EADD23B89AB64C545B7462D2D6D2D249A919703BCCBEA471251D36A1A27BF0FD653F5F1D8490586D9568AAB141383B186630A270BC7D2A8A299B4C90BB22FDF08C30B2745DBE6D6AE7DEC9BFD112F5611A83F9DEFF408346DD62F75DE00550F6E56B3F9F9B80D7027A0C7BF6306ACA159972F2AE43346985A4601B481722EABF3786696F9623E1366F93DC585758FE8F245E82211EF984BD31DCC9FC7D7CECD099DAC9E45CBE655DACD687A848F53353D7BC1D68103D4C8C740C91B69517B164F47ED718E52687757A51F086A4DDEF8EA4C858580D6EB8064A044534E277A7DD5975AF13EF5C43066EA26902E7A36DF395F2495ED4311C3736E91450650843A1828FEEB42E6BD5A05D0FE4AF8D7A543463038BCC3D31A589108038DCFFC8C7A3CB86C57CED3A1E3E22357CBACA328EBE1DBD16C1B882FB009A697C1EFEB3EFCA007753DDC51F6E7DA8900B3A37312EBBF41C0A7ECF23C39213FC8A23C2C5EE6D783A1B6520B07FF747A143F6A8DC512209C37ADBED276DE13C5CA27FF7A595545C024B11F5EEFEDCBF61D92EC0A107BD1CA00934618927DA450C940F6DAB1C180B29E72C0E8709627E51E91632C364FE45FBDAE43AB876D33000FB1AB437D499B33250D75A1D23192A55F813859CB693773DDDE616E5570E753128572BC119A46951C86F99B3F931416C0347D95D5A6BE502C3C8F696EE026C3E66E4F0A3847AA49815CF40C902BA79EC7C4E3D82EE140C8C09F73EBAAC0B5CA11723B08793FE17DFF3EFCAC0C576D8F5D9699B741861E6E2E9770A +MD = AD99C97F0CA5A5680F2A895FF79EA09A4220DC7428DD5E78081BC54C7A49A4DE4F0183610388287EA0DE880AC6EABEFA + +Len = 20696 +Msg = 192632FDDE8F5D5C75B31A51A941B69D80E5B6A5A05FCBEBD9B8BE912EBEDE8935CD45C63AAACB845E8433C6C3A2B4A2A0822001018611CE54E8B1045D0D4AB45FE08714754FC6B8C71004335F3615534EFA0C19EEB06DEA3612DAE67F40D2EE6AFDFB119E1D87F234F380B8D7E2F44F5CF28FAE6998EC8DD6381033AD3709EAEAD1EBC3A51A3BB534DDFC1697BC49D9D9F0C2E06EDAC9B66C492500BD80C25C383C2BCC082EB6E6DA4F1C2C4149CD3BF84957B83612B3351D270754090502044E2E81D8236412A6905F96528CB0C43760C32809527A85729A3C3B151F0EDF53730368B6E844E1E09524CDA222E7284DDCF37E01E4B6AE1FB422907136434406059E69C8DB71A43C507C72567E66D5ED6F17AB757CC1F5BD57F246A308E5A93510AD80A565751274FFAA4679B131343223EEFACAEBDB523BD3ED313AA20899FF15CCA0E708F3622054981BB567000191807ED9DC2FFEB7928DF868DF13A4CDFB8E909FDE7867999DA248E5BDD361B3C1022CFC46FDE1DFEC94E96D609723E3C7F4D23A8C477B319650C997EE7A206088A5CB959D8B2799CA597B1193E43A75672395B8C205E3CA177DF6976E9F87853A189F33F766A452F111E99A3FB26BC1E3E5786990633F9C8695188BC3F8C8545172FC64E4A9896537B44F13D63E5620C3129EC95CD94D4E267CA7FAD4F42334E3A657C742E7EE75699B81856B1DE33D4F2BD8402286DCD8AFD5985DD38DDA6C853EA73B83829B6071AF5A69778D8FA0A5A0000DF4FACD723C6C9C9F50D612146DC229F071DEED3258E4EF0AA37693A7C2DCE6152469974694005E8D82CF0CA0F9F03436967CED5CA8278F065C9B5241D2D81ADC1AEDBDEF5AF4495A797975635C71180B6B3F802BE08F2AB4EC7BE3D159DF01D10B33E5F766CC3C9E2637E6AA39F46FDCECC37DC04B45B81C6E113BAD692A037EC392B075C05A7B6172BE9CF0D154CCE3CA84F5D78E9580BC31BF9E43FB6C10C6D8A7917C2028CB89F08D205E33A9D5A39A0EF1E61990DCBB64C06361FFE9B161A595BE165F333A2E148522D02EAB28AFCE3782403FBFD88C14E53CB09EC3F0A0F5038C0973590647958C64E34690CE0FF13396AA45329795D50901C5E984E289E2FC7E91C40DF0D44422700202AB3BDE481FCECC3DE99DF9609111C3F57A8FC39312C52AB761CA376F3ECFC7A9514192E98F7C89F43FA795931CF0970142D407CFDD8A4A5F27DB8F6E1DE352DA5820AB4A88F8AC4B5C199E6E46FD3777D068FD97C5669031D58A83129BC095BFFCF05F831DA8114B1898BF7649CDF5465923F13B82098D6B033808D2BEA2C3037E9EF25EBAAAF058AB69E6FA69D663A5070BEABC933F5D12A1346B1B7CDF46E1638CE163060F185D5BD88AB73704DA4F3854CDD3156A7F938441B13C616E6AD180D9B770A6A7A4AC6FA3798ACEBD24C8E0D3458F5A82791B50ED17EB0EF05C8EB80ED592F173F039956C67827684227063A402A37C009A5F5A075CF5C309EEFC8DA517054BBA094AE7B0A1126A791BA8E94E44B565C12618510B9E936E1C15EDA1522F0731424330EAAA3A9FFE94727F9CAF8EB404B01B4E1071BE6BF7E2E58513C193ED9CE22C870572FC3976EF10A2255C5980062F8BB9877B5048CD01B4029FF1C7D266B42DAD9D02F8C89C3BD7813C02DE27DE1F3BDCF80F6DC4FF1C80F30D10375BC1684BE8E9C818874C38575B511A2D80F9FB6539BB003DA871DFF26214DE6E806C31AF9681A075BA9AC4A4E07F7004480E4E3D8CC06A5398171998F03BDE219189C0627B8A4A4F8AE174C5DE721E29D7B9874F22349ACC6B35E76016A749273FEAAE94116C4E6C9FFE62B87189E61051EB9CFAAD72F2FE368258C4ED2D36342C81B78351348E0BDECF63A09FD24DF89C93EB181DECBE3F937B537A1BE0221F7C0E257B82D679CDD6B26A099B2E9BC1E5F9D54F979409A7BC4F4B375F5A37991E046E9B33C01E6019FE93F6D80528195D9281E61794D87776914CDF1E4615DC15EB0007E39797D14FA7DAC2E92C12353B2512A3099761F7737AAD3A5AD7F764C40E8878AB9903B8FAD5113A84603326FB237E8F2B1123F678CA09117AC36B505CA6BCAB8C4F75D5A36BF8E856E04BDAE19998A2B98FD3D68AFCD1DC5E33A5C26E4E8506D05EF879B98FD23E74989D4B8DF69C33217FDE5E403D85C02BC9C33A8556F0B02D92ABBE3A5EDBDD6B34581DA37E77BC816F50B6DD743E594E3548DAC57AAC1740FD08F416F113D6BD80E127CDF87E681EF223CB709F1AE4C70C81363C7E83F95F95784E2944AB1C0A5F4F15107F8944BEDC669D38D97E2CFCD6862D97CBE3CBE880C397356DE41F4CB4A64C63039C833B2E18570FE4B0610DB5A9430BCAC89FAD4062783E22ED9716C9B330AEF9B9CCADD78A0B543A5B070FD532D1B005612E68E6222E74A1BF2B1B677B1582196E8A062392269AA3AEA91EA0A6BB96459E652C4EC505344058CAEC530598DA6F423622DDA7813B59C833EB6E666C5B8C2FA4FFE358B3D69F175F883883E677C159AF9444959F0BC345FA81877A1602F9C65172669C33750052DC1AECFF644101AFA255DC7EF3C2F0F790B61A3062D68E475A75FC6ABAB80E6DC958C7CD1D87CBEA87BA27D186F7A2A52BA446E25E163B18189DAC6DC9351D24C7E17B725B38343196A732A9C4C6285DC10F3345D0CE3208A847D510FBA7AA4B88FCD812F67310B11D3E7DDC1B0DD30B1F86F6CE350CE26846DA8D0AD21ADC2F62BC4832988F30A479716C2F90A6BFA0FEFE75FCB08EF5ACA554781CFBEA1C8467AA45854EA026B9FFE1E9CF1DB5F3FC48E189C65FF2A743883B99988E2F067EE3CD9F2CC4F841C10CCBD7B52508252AE30F12B7C7619C557385333D469204056829C3A3E3558604DA89A214B8A66EADBB71D0736A0A03C44330E66BCE1A5FDF4F63FC46F6664FC9C1454290504C4AE2425D8FEB9577CAAD4E326B793AB688AE621C76999564A408BECF26C31B5D150CBD78E50D3AD3403E285E96EA57DADF6FE9962347069F6ECBC2F00EB09499C16C4C4453AE16F9A782556AE567F922028C30FF88A2CCC92428C9F5ABFB12ACFEBBDFFB0F1F2FF970C3BE378D221CFB340D107D92597C778657C8653C76BF9AFD185E9FF480746D8831B0CBC34F7988F2B8316CB0AC02E9DEE4149056067A912866787D5F552967D10D067D50C67959EFFD0998A5ABAB4A1E7F989C3A15A99CBD42E2F03BBEE719FE14C5B8D917C60AD002CF75D5AC13719D1A01FA70BA83DA1AE53AFA8FA937840851CCAE05073A65004541125B58C6F8D0BC7D706D704683DD046D5E7360B6669432F87205170624F231D1EEA8ABF2BCD611E8FD7C2C923D8CEF8E1AE92BA3E66AA85A2417066BB7BA68BA1456DE9D353A94B146A3631507F0688CC6CA406F7BE47EE6CB9488C293C4FB2BEE62763F2CCC7F3D7C81774EFB79238B1C3902370E5E9D94B41E7D0B8182878712319B8FE856CBC56E1C8530C41931D6C2B5A980A64938988ED84E0706188A56ACEC67EC4BA0EAF881D177CC1CFEB8E1034FC35774C6CF9A65F30BB01D822E64401D98FFB936FDDDD8CF0E70A482F224E0F4F3CCDEAA55A22655B4482EE23F7B5D3EE1036889FE5FF88856C0545B09F62FF8A54AAD8E5C1964491D3A +MD = 183C13EB17C66F15F2D73D51CA7017728248957D600E89A7CC0BC067C975BC32F4E0786FF40E625CC7C0E0AC787F6236 + +Len = 21200 +Msg = 28109F1E97641E7C246CA9DEE6FBAA15D985A84292ECAFFE025F66A9DCAEB1F0F8CD724896A0BC2E6F7B1763D7C15B61ACBBF13FCE74782B8A7151527C9BD375D4BF37C15CA39E20C352B2E0B0D8474F904FCA4E039DCD6E1E54E872A481F8E1E5FFD3D65257FF814FA0E59B5ECECC30FB1EE1B73A87C050B9C0C8DB6BAB93A24ADA3FA480F215E19F63308CEC77D1BD5AC1864AE246071203C7499F03EABCA4093058D9A98E26F29DD91AB0AC556BF1A6ED7649E5559D6E3C93254E6F4CD7943585D6E1502BBC6CFA4A38223B35EED2BF658448259F827830D897942A3AD0A8A5CC7E3018451E4FC884C5B7CC65F54EE75EBFD7C1D4C88C71A36341327B9772CEB9F8B7B4B725165011B848C2DC917FD5514182E2698F9EA181FE6C9711906D296AB9835DB7501E2EBF79ECC4475091E6719C8C06599DD2B88670BDB8C4A28BDDF78C97B81BD2FD673D5910E1247C43FDEFADD30D92E0D9B6E0B456635F96FA477FE5ECFCFA9F94F5C1D766640C596298502B20CFB3BDFE7F3FD237FCBEA947D24D0360776030B0B661A9BDD214764D0E70E60EFC696B9BB63E3BF171C62D1BC2B6E53F941B3915F85FB4B9B2E74F391B5DAD291FE9F9629E02FC3FC5395EC66FA6FCC5338D353CFCD409A1CF4B6BBEA517EF5979D086DDE35C08C885C3B9EE5C8C59284E10A5041C9DEB7860B112E05E051655DC374271012ECE9EAC4C840D2C47469074B77F808189A0EA645EEE5F5EEC17FDCB51D0D1B2D8293B4C8A259375700C3FA8FC48A39CC8B32B22CF7BB714FDC7EACD7190BACE15987C7F8674F30F4663F1BB50470D25437948D4353FC2B96E790C19413E9F28EC04A02B37CB0036481803BB6728B6D8814BCDD89DCFE458084B8C8495C4BE33B5F02EC69F22465D5FAC7D85331E8ED290787336A73238448271A237A34730764C2A4DF64774AC6A2512231C54FA7D68FBA4E888331FA28D1B4143A20CEC2234524C522070A2F3AC336A416C079B58E2EA8B2D71188170B6416B7057B11B999026BD672E0159FA85BC0A1A2657AAA11B6742F121F08DC8CBA4CD1624A2A33798D5F7ED096B769B79B810EDC81C4E05C17B62D8B2DF2140C5DCAC0EA9B50908043425CEE2EC17C3C3E522D1272969F1F8ABEBE82E1E1D2AE7B64BA14E00C17A6635498FD7FECC6421C89BAD4CB78005EEAAE96978BBFA2015B282917ACCEA60B0E0AAA2CF1ED7A6E7ED0C9588D6A6C06E49339823C6180B9A1D0E6114C0DE9D89ECA817298C6E3BE3F53404787638B2F883248EEEF055C18FD476E07A7EB5F179C8613CF4DF01419C1C6D6309BC53E214BDA546F272A372B813EF083BB3905A996274BD0BE73C9B79135D8167FA5A058A7F926F9F315F4F823C44BA6F2800E25ED8E1659444D3CE47F1A58E5011660B40392A942E901DC9AB949094D28AC38D1D7A13357F716511D1B12A294BAA1FE6DA6BF6D81B830DCBACA4F4C09A53331379CB6C42C3ADA8D61322DE1FFECBB1A7AFE3279F6EB63C8F020A51925862330451A0002A6E1755EB264F3C74FB62DC92E9E6AB822C8762CB9F93CDF0659A54A5696AD13EC6CECBAEDEBA6A41323D7540AD59250F1FFFE616DDE671D673E37D4A521305E47A645576D6AF9A6991B17F3C7119DB463A76EC933F05905A1DD621AD15775EB9475EB0CDEB6CD93ACC120B396782445637F4F8DBB38A3AA17537D9170DAAE4E4DDD899B16168A2F9DC4BFDF7A9BEE07BB9F7C312EFB78D37AE437392DAA755B184FC51100C54E82FC1792AA87E58778FBC150EDCB8C9F337227B4F6EA5837DF8A08719789356281C8FC7CE0663EAC9BA76CA0AB589CD3C5A82EA2A1A996D2CFDB245F1908AD74934823B9352FF0939AB228F6F8C59980CCDA984C212A0892928B88DFC52C4FC34997A6F0285F451DB3A1D5DC4C800B33A6863852C44A2E675A98B38EE8526FB794EEE592962A938660E1B7114ABCD42924CA4D70045807C50985565EFE24F3303987C307DE754D8625A5B7339F054A90DB37CE0B9F5BA0595425B26712AF4435AB8082AE5BC1B211FC6EE44262D26D82A88E662A47688E3DE67CF825BC62E1B3E3F625B5481460E0BAC451DB6B67F40E9CB6B87C77F2EE63792305EB697B1F2F7573180B852615841F6B9DC8E5BE40519E9C2C782FD0069B8D3B2ACA33853CD29CDB1FEC735D266AB25EFE2A0FD47476E5CC1173E9717BF402C02843E56BC70D956A3DAEBB0EB5F02A4021E6259DF33B65A363365AB7EAEAB3320716842E70A86D3EFA3550C59BC0E14B05E38AB9C4E38FE9E7DCF9B3002EF850B7899A0E17539359AD4322D1D53AFBF9EC45E1A637E4F0BA10D9D3B244CD90FDBB44F9E7200DCA987B1A5E1255C833F3F9D5AF3504479D6A900D3190664AB93755478CCE9A160AD793D2061FE3BF8C28E601172D2B4685D517083148C1368C4D853B3A4182720D47CC7363D9561EF31F3C108BB9F6642A34FF38846F38464771F494347839AB072E8E9B788CEA50330FF7297F9428F97D095F776B9DE590E6550DFE2F33273A36D6A201103973032147474335A63E83F04D7DBB940F38919BB45FCF7A4D2EF846EB24FDC4DA65DE53E2922AC07E177F0FE1E65E82CDAF8F65948EB1EAA031F0371BC49F547EECE7C4CE905AE97EE7DBBC78AB347577AE3985121FEB81100D2BE2E5771C4118F240EAEBC3CEDC911EC7588359DA18908EE3D8302D5E544381B66DBED785DD684CD0DB274E648ADFCC36AC870DB8689DCCFEA3CA09711B0BFC32C8B7F0676D65D63761422F077C9CCAA2EC80BBDF742629EFA5D9C4CE5B3238ECC05E1804A7C044BAE3BB4DC3AD6AA3C592F71DA7F548148AA11F352D2F0D09B84FB8F5BE629C3AA7C68D980294A6A172669BE5D987588014BDC1E917463B829ED623B87BC5FF20675DF37BE0197A5E2F48891E6CADD2ED860CE154354D4854E6D08F0A28E673C7A152FF2FEB7634F0085FBCAB1FB205CCF3660FA288F5D214212343B5485934A256F043396A039539CDA52DB6C47A3AB7E2374CB2870E14CA6423312D2A9C48F67352E1EA2732707CA11785D8C27351CA769141D2090E79472645AF2729C158479B4D138B1BCEAAC70AB7DD221BD89EEDD8E153215E522C837D7554F45E8877B6544F7071D45E7EC545F7F9BB27DB95E9AB2298C8A513D2A2FF8828F243982FDF23E4829D0FD811E9C19E7B2960D8C976E3EE653788C262692210B5D105C73268F92A5B2ECF6C283D85874B5AE3F37BDC520E2F4175FCFB2175C57F46096F9EEA1E0C76080C765C75193A9563ED5AD6E0AAE0AB0F3F94459AE4B9AB0BAAF302E70C08D58C1E1DA8308FDCA1BAB172AEB07D37E79AFEE3F3067DDAD92BD4F51F51EC8E647B212FF0907C9078CDDBD4059FDF22350241CA508935442463A6C23AC28B2C2A968A7DB22E8E7D4CC9DCB3FB11797439CC0095F45D21E075390CE3483DCD09463A4E977B56CA19FFE4C6FBA28874D96AC2C66B657314303AA68839262733E903F074A1463A2DDC8EA016F6802F917614C3CF44DAE4B4F6E78F50621B017B6D42265997F596EBFD7C1388BDFEF983CC91B9F98C17F85C100CB37DC40C31FFAF2C882A271C7F6DDFA94BF69C7E50CB6D78E489F6DDFD26E34EDBDC9A6FEA4FFCB7678FA609C8D006933F4BECB85283B13C04C6A27A89B0C2CD27125DEC2C49646496288EBB162CEC4D5A30E3B83A90B54AC61812A908014F9D22CA21F98C12357028971900E57ACF8EBF095687E2D +MD = 687AB7C4B4DAC40AF84080B3EA25137C01B07B546651DDBFA98F359EEAF304313DD27B955000AA7B356650F6854C67EE + +Len = 21704 +Msg = 06729047C0D4A7B3020865F527F0657EA5397EB58090ABD01912C485E73854AA9AA0394CB53D53E3D240D1BD6CBD1E1E353529CB87833B5F476483E684F11748D5AB7A1F18F5B76E5938458486D4D5B1FE1AF7EC2A139CF5C4B755165E182F23B9E69EDEDC39375F0F87B24DAB233049DB0B34627D53DABAD0AC3351FDD94010DB51AD3182F1B1276C498296DDD759ADC3384EE949E4B2B6412CFE3E8EF769DCAF76BE4B2FEDCE054515EE24F7601EB1553516187954BC0689EF278071EA7B95D58E7FF2116B450728E47571140AB10A327C8E6D333EF044DFA10866A82B9728D3F5F343E1B33064E1E860881DF05D78B77B1F363DA7D3EE4209E8E2426B6969B5544AFD81343FAACEE915269C6D3B12C22F2A5FA4E7A518C5539228373192F85D8123105B04C2866DEB8967E7CEC3C0FCCEDA19FDB84C72597E0EDFEEC620F8380E3CD5B5AC2053EAE404CD6052AAE7BC7C666628AAC1FC722244A6E80536246C9894C47BDCDA71C239E2FD276E6E041DF8A930639F7993300D68FDA7E2EACB310F49D48049A8B6B1BE42FED5BB26179D6E4328E60411AFA7BBEA122EA9037450D80E5FDF13C93BB7190BF447E3008A34ECA6EAE08AC71A5446BB568D4DF8CA4512B9BBEF21648ACF2DFEC95CD2D2985C97C461DA651C1C87DFAE35668C008001017A48292B4B0B050C00124446594FB27A418E3549171D151E5794070ACAAAA97B88045AEB3BDFFEA9CB3372950CDD727350EEFDF06E7652BCD1910312B35F5D4EF3B8418BBEEB52657A36CCB7979CCABEC0C4B2D22014F60F0E847DED96698A81A7F2F3E35932CC5D34D3A5EC366507DCF179309C1F4DE6018806284876A96CC9BC54FB5D9E5B3127C74723E0C3AF1FFFB01E4EDE2C59413F1FF56F8346C71E30DE5A66FE94878C0D7A217D754C94A7C3ACAE3AD264A3D2C7DF93AA29B4E0A1AB966E36FC8A81CDDE9C492E4A09A9C61E63C540A457489C7CE6D9EF3046C77812B97237833DA0D8E6DA300302210CC009F39BEAAA0ED1AA107FF0C06D210CA678ACD357709B25242DA3DE144BB397D9A3CF8441039766407A67BC9297C108E7A11E98B09046B4866C9A912817B6568A04CE10F43BAC7BF211DAEB90EC1A281437B55F88C6E883EF9A271D8573EACD965360FD8F84DADD72EAA12377A7E1F47FA49BD7C3961A15EF5C311CE62CCB43032CD86C509A100EF8A250EE84B9F7F9730196A86ADEE92FA93233B2E32C87AF90915B23B44CDA9186DD51EB9A049C478C2A5B363831AC5FD170DC84312440AA8C83B7FC44254BE6F4E81FF2D66F57B12D78905B89600E537754A46CC5B6C5CE2B6B04F8D6F1CB60359539023BAFC78AA0E834BA8709433F8C6F0ADD3D4D743F4B6FB484C10A4267505097082F30BA7DB81BDB2476CAE452B40F67409536141428B264CDB832D1D611CEFB5D4D1326428F9778F929C8C182346042CFA5FAFF0819667EF4ED29E8D92279A2999545C3335285F072DC952E7C7FC1116ED0C5115C6CE7ADC993C23A8B0C96C2884F70817B5C9063C75FF1875A7B080B76B9AA32E6F7E4E8464AFA40F7123AC79C45D88DAAC71D76F795F192C6CEBDE8C99F10CEB9E90F022E5801A78922F389725BB236AFB5DC28CBBF1C9BE9617CEA56C80C531BB7AC227F6B996C68583B74BFF78EF44D185E0D0E5E9D6F34B250DCC4639E3A1A937CDB96E78A217E03AC900834B4ABAA495C9BD9DBC2C4E85463CD1C6D1F4D8746EE4B58BAD78CBEE21CA3E53E6B6D42645FB96C9417A374EB62DF7F7D23983B53E1DA754487F3C0711712499DAEEA9E6AB939CBEBEA79D5B9C7299C06CE53CC8B0C8F8381E04C525CC691443318B70E447E83F485E18EBE4524DF0FE0F47ECBBA87EEFE4F709B7C84274F037E89D3E140DC2BD608F8BCD5F51B3FBF4EF93EDBD45AA7AE5326D18B719A5DC6AE91400E2B6C88E699C9F9A95BABE33E98397F77FB0FCCEA59F3BC02A479E6FE1059DFED546644DFBEC3F20FBDF4AA53D025C66DAB24875021D7934ECBCC0619AABE7F553C9287DD6FB916D2C5B8DA77555D91597D895B9F8E0C601EBCD38364C91F28445CE09D445A9E71493FE35FF723149E73DEA9EED1E19517B5A735F7ABD8D92D45472EEF1D2C4EAAAD6FDBBE9570950BEE94613AE2A934E1A2C7EE899F2861AE17BF8D60FCC1005ABEC7240C7EF98E7DF442E587FE2407CDEDAF6C4AD725FE54AC880A47530E08B6452F5D9D044833CD117EE4E1A242FDC07545AA74B559D394D837E55EBF07FD2D6771811DF95791E293A52A972B682446A29C4CE3E02F71565D537D12EEE21E1FF558C9B74FD4914C6684AB897D9C4FCC4A5F2685B78A8162DC1BB70203F5005ACC0257252E0FF9EFC43B102E09E9221BF908B83B497A88ED83D0DB7C8FACA741A28BC5A910048764C5098AA7B419F24AE5E1E2B013405E3976D938E781FBB10BA679E855D2FDCB772EE96BA264208CF4812607EE0BE58C307568063789AC783EC937C68607C87CD00F34EBFCFD2635E5C6B2F7D88469FDF8723B81312D3402C1AE85C3C12023880940595175D586298D215661A38A363DF4263A51F434362FD5A11BF69B121065BB08CEB2DAF2D9F844646916E4A2AFBABA77999E7664AF9670CBF68E7E4B10834A52CCF02E45A431E06A2760084475A74C4C66F8FF90F34C1D83D70EF8D6A3790A6E3BC9D816F1AB038D5C3140C8F36E66D3976BD831CCFD88C84E7788CF2A3246C8153A27454B0E7A3C59E292927F1DC04EE81E2AA291C06C8BB173B53FBF39ECFD6EC1F57A7478E37199DC39D058283BD046ABE25E91422B0B25329D175A7D0BFA21E297C96A5C3F1979AF84752A2FB67BCB0511B790124BD96ED13749F1E922C4ACE355DB866011A1551DCC9548EB46B961FEFF4F2851055833BC4083BA712E4FB9C30C49928683AD783FC370393A55F904FDEF279C0A4E1DC9E1ED7E9058FA5FE363AB1E17A7242D0921809CCAE1B9E5F28FA553F7CA3E58FCEF7BAEB88D03DA5E2C06FECD357C12CB04C5AB12DAFE4D68AD3C7AA9302C9E2E6E4B86D1C96C55FAC6F7B63196A15E8182C1BF0206119D67DF749E1428B3FB137AE7C6EBAF75A0FC64163C21C44329CB4457F7D4F36959E8A93462AAF1BFFCFDE02EC1A2C7E67891DC64C1EAF2A44DD7D8ECFA5F7D596C2C66C18A4D8B07E1909FA87884816F514EC17AF286DB0FB353BEFFF94F810942B56062A4A84A45324773BD26ED4B5CCF4E10BF715110FDAC5C4C05A3EF4A3134BC9C9A7B5774D50DC817EB6A5AA3BAC029AEB5505204DB40811F69ECF17EBC206746D7FAEC59B26170FF23EF456235A66CDA3B84188495771E53421C725671788633472365D474167A0BF9BA7B212BC6FD91C4210570FA3FEDB1ECF6FC77D049830EB1E991951DF439DC2116F72E9AE1679B452088FF0D8C76A4486EFF15EF9E7D80E529A97B368700A4C6C78847084505C8D9177F08C96FC4BAF5BE3F4043A21B6FCC200E7F59CFC8BCB71A1E2FB9D9AE85414D92D09BC6E2686EDA670EB5E903FC9406CCB0501F8BFA16C0167E2F48899BD14258D59E58AAA8F450387C9D80F66A6F9D15FABEC9CE121866B2B6BA09CC93165B8A567F86FE0423813D7A0B9ACDC505DB6FBF6D5063DC231BE1E2D801E80DCF0A82D3D8C98E80E3ADE2CDF4D8EBFB9966CA1C68FABF0E3136380E6AD17517607E2A36D41017E60EC0D20D6B17E5504493C94FBDA647E3C2195379B98D84C1DA0634577DC5FBC3638D9433FDB32F7DC25E52B621DB7F3A0194F3CCBBE51BE61B55B4E5D27E0BCB2712F6CD3A29AE2C5C8F9A29FE836C02B6E9086AA4D92C57C5AA8996F4561F +MD = AE31EDA8D6B74F3E4A7DF33DBE75A146BCFEB516012DED58A70B32DACE055A79C89820431365D6A0E28C081628D95E1F + +Len = 22208 +Msg = FA8203123566C334559F12F1C37181DA32759D0AC6CDEE696610445DA4484A51A867263AB6043AB52C6C097346D5BD6C83A2519B28D37844AE1DBB55CB8B86743D51881D1BC810F0E4A9E1F589D8E4CECDFE5859AB245A79E0D8805347991F23ECC83A307871C3D1A22D6BDB2A70DDA20EEB51496216ADAB2CAC4BC4346053A41A6FAC5CD78B5D2C51AF83A754F8F38C0CA7EB48241E34B738FF4CE7421471F8A792E36F32C16E067B85562BD752EE5E73C7920DF08F1090AD8CD251874D1164E15DC9C131AFE318C4CAF04DD044AD068CA856EB44F12C057A676CF2F5BE9C72C74C4709ECBE90A816AD2AF43EE892ADDEDB7089C89DA5ECDD20E7BD082CE5485D559BC9C771E49F872339252D66C368C9E94F4E23C85734CD567C4DE7ED49F92426A5D38783FBFCDECB7EF62ADC5319CC6334357C2D8389DA870146326B1BC12E9F70B3C2AFAD6C4F51F710DD77663EAF37C101700D64AFD4404773AB572A244B36C32737FEF7E168D41621123078AF025F4C25AAAB8C9C844E7400CD2D8E43B3BC621DB1592D3212E276C9A52EF56B6B4CF39A49673C483805D2450CB2EE045E3B8B5BBCF7FD413E8D34A8716363EEC48F76F54B4F2FD08E81C11997C5647173775D2607EDE1743E2A22420B3C87EEE4D75D14343C8735E2B6A7D276C739FCC75D3D1074C43EFC5A624304C4CDBAC9F123120406150D265D36C5D4DE4441C7FC637FA4B4237A403A5415EA01ACB33E5AC6507DBCB0E357245916CFD6B0D0E35E02CA15580D52660872B6C2869C4F1DA49B600AA3B3993DC569E35E4AF380DE7400AEA928E9D25510B3BF9AFF507CEC720068D4721F42C8ECAE2A48AEE31D0AF6F844458C441B93B3508D74CD43A44033B7618AA4D852BAA420CDD6B7428A8401E1B53EA2CE33B3F09991E691E53344163B2A8835E0F90E83C7278F9A0D8C64200C502D8DC1AE1B96F9947E60690032920E795950EBF6642CD5421CECD282CC470FA462083E221A900140BD511E616AA7471A7526180771B803A2265021BE2876AE04E4E4E86E830452BA79D4306AE45C7FD75716C6131211904F72E1F52D3A1DE2081770598628E33E244D93FB971488823DA9729169B699922876818D0D91848A3EBAA785B7029915F3D9238A4151910A88E2EFE6F41841EB85044443098322B0593826F8CB6B0B76E53120A004E913CE42E448D4BA1F2930849185E7C8E029533B275AA4C1B1DED8D38818EFE9535F4D0724A5EFBCE485CF493BA53F619B56C251465E8A07F3A085627E13D0E24EE6157DD76F4FB2FBAD7B58396BAE6919069EB0D32B8D57F933E6059FA2FF062BDC7FD86CDEBBA4E206A4C3CBB2A868D7E09867D316C8801A39DC7C71F2E7FE43EAE3C1CFC71E0CCF8EE9465E53F936A9AB608F29C9F2E0DEE8E450CD42637785CF84543D39BA6FDAB77F1C93D08C5D5D87419540B3A510D04B029888D0F2FA64CF5A62EDB4DB7F4A8FEF45B8D27A22C68952C405984BA94CD2FC0D79DB81A70BFAF9237DF9B86F3A7E3CD08D4A1CE6B1E25C3BBC5B206E4A018070F0B0ECDE81CA834FE21162CCE9ED32E1B507FB5D93A625602E123ED1EF25B3C291791C56B4500FB7B12646773B1F59E204193DBAA23C9AE79B293132CD5EC9B60965280AD0824F3E4A56FFCF966F6B2309F3CB78EA7E4CC587C4661A10D1E22AB268091E95E8702FD20DB71D73A6B9FA6696A5C0C8A67188FFCCB90696D73D8AEA1D9A0C0016CD449F9C9DD18DA90B25D182F556DF1857EE0B3E48C28882B110E20C9C9126FF73DF840C0A3F72474A14C91679EB5F5D9A2095A5ACF1015598CB5DE4294B4A78C7E5818C8F1323234B04E79C5A4385AA429CC3BB41255BE8796165CA3B2D0ADDCA422FE8CA3C75892ABC86316B2EB93D6E75600668E8AFE99DDE205EFAFA472BEC72CD312DD81570154490931613E8F0FF9FB0507DE56509A3C2E7C97C3BBFCEAD923A3F2FF11DD8B052D154C220D44E7B2E45BD652B6C885770E0E486325F54FDAC28AD7A760EFAF7C505164D520955E13527D186C2488A8017A530E02A57F61B5C5F373907714E6DF708D47C9923B70082FA641CE2D7B9CA4F3087D8FD88D2BA1533CC6751506A64E06EC92B4ABDA8DE2D75B020B2C0113C15B7FD92EE8494B572209C0B4C614EFF2FD89AF1FDCF489BB5BBB7768AAD64EA49A7DFD796FF7501D75DA439028575ED0BF0CEDB1FC71E68E3C6CB3DA3CBFEF8D12AC052CCCC1DE46BBB43835CEBD9A1111E83D6179E6CD10F67733EAA0D9BB166890729A48ABA05EC7745409209942BE44A278486F38CDDB6E9852B0EE4EAD981A8E8BCC46EF25A4C07F874A887F29CD61D47C38C9020A0F1F2D4A1BDD3C0B8E2C53C9B4312B54FFBDF69480B2A3707F0CF89638D7B7679AA91869A53664B15AD07EFA01E718871EC9410A1486A8DC2B41FF00DF7FA069A6E68A33F27A2EA0BA4A3191CDEFDF2349BE5DF727B7354767A299FAF5E87CCBEB98C4AF036898A80B5C485881645739FBC5A76C3934774F6A078AEF28183A0148305F8C0891832402DDEB993E1CA0EABD52D2FD5C5946A94B23B057B85931B698B46F68AD885800FF25AB1B5DBE42661FAA902074A3D45CE02FBDE7C1C38013B1000D9CF9C2F4226B5ED1ADFD18D676D14E7B1422C6321C0FA5171933041ABE963DB07C06953906C051D7AC1D356BCC0B800A7D5F19DC0EDF4D0CBD16A2254208235F972F59E71E410BB6D51A89E12A33979BA6A6F8F5CD5C1CB0329C73FDECBE24D66C6B5D5A1125D162A9B0E982BAD23D44EF9924C6E2903FEE8355223727E4FBE400E86E4BA8282593695018F50D96B7D1F5F83066F023BB7D0A568D0C396661B876A15A859AB08425AC1CC1563C7A094BF8D9A348B2EBE8CD8826C252123968AA90D9404BE82019DF5BA764D5E796CA43F5BCB34A1D4F908E7966D89833E5A0E8B00A9C0B385045CFF25AF35C4F566492769189873BA4380BFEF1AD52FA96EE049BACF892DBA6DDA605C1C00244C7C597543FD2B6AA6F0F044AB4A5219588D5480E759AB44E79C5759F1083F68165D42DA6CF04D16EC0A71400C1C6A50FFFB06A06AC0FCD23F05EE8431519407C470DA99BCA4B11EC233ED32C1B1F6E506E34270C5927F8C34CF30833C94A23C0F90ABE0FEE43D0DB8BC56EFF9A00C403A4C12F881119DB8B7C25905161F2030EFDAF80864880F6F93C50B7FB74644BCE061C20E9F20DBDDCD98E63CDC69E0F48A0497534BF59C06263108171D5E480F0954820634349D5BAFE9A4E8D96AE1C29C46C2895227B04A4412993B8B6BBE5D66D5D026635BCEFB162A53E484A9D9173D3A2AA60E6024429340B34485FDD68B077B13F4134CAF6DD7F38689E4936325B314223C684ED99D50163646A7B725F321C7BB60153F40E3CFECE9DE2A263F3A1030124832336E12BED3B81D99F3B6CE3ACF87BB1D57298BCA23BFF9034076EFA9A362F30B3B9B3E2EE83B455D8A63DEFF545EB6341910C767AB1FCA2960C724915DB60926AE6D40F5E87EF28DB3A133B69FD673F6BF1088D727CA8D6237D1055BD6B1CDA4E1BCC849B6BCFF9602AEB73A3F59BD3AAC6D0E54E9D5336FA3BC0C0FD22782EDBB0B9B35ECFBD99793FD910399D35E0809F16B53597C24E4841FB8E7EC3C4C434B9653E0C1F9D859DC9A365E461DB6827C2AD1E07C6130DA1B84ABF31A76084BD7EFB40F302DE75D62EED0EB4A2985345C85B80AE532266B39A704D84BB16E9A9FAEA7B3E7924306F650C2F338298CB38F07C04B1F41736876799C0D17C487BC5E0047E8534ED356C6F30DAF21610618D19BF1000BB8860C279B7EC27C6270709C00E3CCF78BC95CD550202275013235BC2B3F0E11791D0F87D125B2B1775F4A866DAA90A7CCB1C7D214B19F022825AA0A22DB78041250F63B5A683DC9FFE76AB035 +MD = DE42C7B0079D738B18C702FE8128391AE13E5B9FB30CDC43E33D02CD63D7CA8CAE2FD3C717D7CACE83C07D41425BA737 + +Len = 22712 +Msg = 08944CB473B828B118A31986DB67FC757F238182E790553404B792AA4F0095A6A83291E287CDD16521A3AE8C48F56FBC909DFCCFAA7BCC570C2159F26592DCD6B15BC4DD55CC05595AC634B2C3DE15360B0F07A03B5957BC9333CC5097919399DD9973ACE15E55940178C4C96BB5E0A0A10BAE175769548EBCE11E0D7D9DB29647F197D4B87F7039F5D4E59E016531DBEBF55A797AC9A6835032CDF34240A7EE7423E89C09124829CAFC5F89431C8AFC54FD979E50D48A82B47A53523C84B6004DAA323EFB708203E5388A6A5110C6CE2E341048A65FDEADEB3837A03420F9FADDC3F02A544F1E46D96B07C90C7971A7040A179E8198E90AA019268E00367120D5F3D98A5CCE82C885E77144B1AAD66EE682847776B04F01F501DCBEFE3903080A8058B3B8F1D823D917ECF31FC2D5B0795BF95A55C7093ECA7C801DD0BD0DBDBEDE7D56513128B29FC0B4D25A6240B24C99E017BDFF7ACAFC8F8DE9FAF5A2944384AECE82BEA04DCCC6D51FC6E6F27AA38F131B7959B13681A09B311D242E6222A1CE5687DE5C080508B1DB16B6F8290D33A3CC0D0138AC61FD9093825E9D3752889E9F20DB9F80F92750EAC88B38AC81C0016D40371EAB4A87E845E91446B0A07081B84F559CDB95340CB020AF22AEA1BFF2FDA12F7A42973FF163A1C6F33DB8B8214AE27ABDF1C54F5B03E29310FA210125E1296E8AF93A2996DBAEFBADD4C51C2C3B8A3E2BC9FE060C42BA32768F6992A99599206CD2291CCC5BBD50856F7F8D2D0AE1EFB5892C15A799B77482DE4553736B162ABB06631F1688F6746E7D7A37EE7EF24E6CC901175F04960C01990178F81E957E941DEAAC8846B3704E24204F43DDB0765C433F3F7D4D201459CD65682B7DDF3D47E95CDB31B96A4CB22907F08BA6E92A4A07703B2DCF150F922C4B7CF181380303FB72547847305999C3C8F9AC877D05D9DC4159DEB8A13D36AD1D533A56950E20F906D29D51DDC45BD15C1773991707480E37B827044BDC6473181B760A9036E0D3FA491C2F08C55130D8CDD5AC8E97D0813164AF3D28A585F0C2EC7004D498F95C6B62231A632A56C2D0C48FC3A6992D4051957B9ED6D9A86DBCCD962A8883CF82CAF01DA2F51A203D56B6089BC8FD0B1BD414C8063031ED469555E22EF872689C130B1C101034D572FD8CD0EDDABEC9EF1503D7F728B0941EFE2B9512438C7DDB176BE2EC2D9FFCD56495A4511428DF02819CDDA18D1ED5D3B16C6F42AA0AC681A9FAB51E8A1A856C15C51A3EC1031427142EA12543014DD4ACAC640B8A7729E63AB7DF1051112CDEFD4B988A2258334FA9A7F5B3A87A02074B9F69DD81B83FC74089A91D76AA4041259E80FA255F2084902AEB9E996AC2288AB464BDEC47AAB26A28A2A8194989755D48FC9A5C9279285F2F1DBB8B8018F3E4E13115D78A879792E45A8F4F24ED4A317440BA63E6929056EFC1D2529B75A709D6C0097DC2D97F646F334EBE6195EC5630132FDE58E25DBC17DAD822D9FA0938A2A2C926B105D108403DC29CF371C3504FF73BCE9C7ACF9A74C4954CE6A32DA96B21CF3211B3E49953DAB78C49C3E532A349003C59C62F7D40261CBA63A9EA21C89A38AA63CE431C43AE261C4D9999B1CAF491FAB8E7BE6E8C3454F1BE8793B2D27141FC107DA599A4694C41353D7785C05B5E31440458D17C6DB66FEB8A9C5C073FB946A67AC0312BB669D9B12FABAA5272CA6631379EF4ED420A4424A5CD08526384C047C33A84D5D7DC0C2153663B54C73DD799A3568C01B818992CDF8143F1DADD6B50CAE6EAE13AC66F31FFA2B362CC4D2880592B7FEE4B9E4CD6AA5E5DE27AAB9B5DAD9F7D39407AE927530CAB2B61CD7394A21EF47BFB813B5EA6091458D239664923280ED0D5CCA8285BB2281A2F9FB3FFECC8E9147E1E8FAC957D90C9E5F513738745A47C2AD0C31FD8986EF3B6388C6E821F166513811D547AB4336B5E04643497FC9F8D6E380EF6478B82B6E2F5F65DD98A63C68C32B94610E1D3B9538F13A7688FBB1EC3448BE9BD77BB93A34546172AE8D614F85228988E7FEB18C9A0C9827699E8B3CBC69750BDFECDA8268F694F4C509BEFC1A1166F85C829725299D173F867A300987A2D36D1BBBE37BE3208FB8EFE9152A41A5F0E931B6382FF7F9B18937958FB180E61F2A8C28F36C3C80C3722935AACB81C24AA17FB3E7A1026F7031A7449818ED62BA7705CA27C2D3268F90B6322921683DFF800A306CFC186CF2A61B37F35837B217E3B2CECB0843D84EAC67431E3D689F01522D4A4C73618B7C2965C9DABB15C0BE637D10CEEF72271CF39A7B803B41767BC34433C3E6FF449A439AE13DA1EAFA038CB9F2E1C84F1CE39C05DF56FE3D7B82386C4E628B6E27CBC5D575C66ADA3510C246BD04DB48F4AFC2D7352966DA2266C2BC9831532F53655D8BE42B421AC0D70D8AD1D3587257886DBF93668E907E861BA64F45999BADB0F766EADCE5238B5ED397F265935194812C03C5769137BAC97140525303CF48D65F39004A3F59B1FAB09895CEE05335D15B9B12265892F4ABB92AB1DD2002ED00CF3562CB67DFE1055968E4AB3306BB34BB87D0F64B26848812A2F7B50424A21FF94081A7F70F7B684AB0F092B2B085DCF84CA38414CF7290F607BF79C37EA84253ABCA8D4184D2DBE2E900200B81479E1CE8B71DCF2BD6E3C557A8E431D627BA669C2EA03068E0F7EA62C29777B22142D7A1D451BD541EF8EBDDBBA4E3BD8FFCD340E935BE7C66EFC14A13EA48134F655B0DE3180101F09D204C379743A357E6DF1268B55A9F7524398ECF3A59849A27B142239059998083E8FA91785E91C4D220B2FB17E3389EBAA384A49D89B5D78136DD2454F06CDE9837F096B744D53221127869904AC227CDF30BFEA78CC5545583F999B9C42A1184E2FB9FF3EC095B9DA0D138205C4EAC4C8C480C43153608849F63E161135C79D8B6C9CFE9B8DFD8AFAB559D8B595DDD43835033B4BBD391E028BB2A60832D9B697EE61408F149744DCE71AA11BB2B0436C1E2626AC3A27CDA293366B90B9CDE2D927855130758D3946B867192DCF3FCE9A3B9A5276E8C37B8CB136FC90A6DC22650F95E796A9886EFD3F424BE63A66DBB1041CB3D4A06F4E7EEE89F0B6D15C36F9EA010C66B332011C8888E8E4AB2B3AB5223191E1388613A0FD0F07C1B26D7CC7CDF1AC62A226454D6291B431CC3EF2DB2B2442B37DEFB942117FA247096BEAE598611B8104F37BEBEDD8BB8B949A89B5BF8E228ECA1D8F16BFEC75A02FFBB4EEE3A6D4A6087C43634D675311E72A9F3253BB5DD364E07EB4B9C84F586BA267BAFFAEFEC79E03B83B18595FE06D7E063EE604FF287004D141C1A43AF0CA7C5651D98F633FA875B4743353FB07BDE59B6567AE25F7095F1D9EDF30570E2F7D7EC194216898D910F9E295A41DFEE072CB56F914BB78CC9854129250F9874B63BB3EBE9A1CDC6EBCB0916E1C440354DED6AA818F2811DA913912A21D3961AC94A39F0827D3A419616905DC45842C8E69A43004B8AE922C8DE1E8CD0668674A7760153213835BC63FAE4F8D65614AFD74A34D42ABAD5025B884B34639340B45D49CCED423771916E18AA077291923017CA50795F3B7A3F349A3D29923833CE57801C631576E23B838A7767CA1BDA92B82AC502DB3688FFC83C09A4E40CAC31D20D9D32FA6724A80BE7091CDE9C7A6560CFB326B467CADDB9E9B7A491EDA283EFB0B61B4A1116DD859D5C0897EAA2A3FB2CD82FFB33770BF9E08091363B6B81D23E61C2A647D2BE440C5C79EA89690656D9F10B1F07942834E1CB6E2D2DF106EB6D6A21FA23819E65028515E88BD279F9317BEAFFD394EA51F8639371C3A89F11305A4CA35FB0711F5E2C7C3DD1659C790245812113204B4ED8AAE9FF09D43C6DDB13F5070D98831B2C7639FB6B9B01C288812DDFA8861DB32DC8268C07D30CF969953042B3DAD530D9D744C06AABE7A886C0FE57B09B7F42D193FB3E9C06329818251A2F7E6474462C95DED +MD = 5531A34D8565A94B7357BA7171AE7EDD1E61ACAFC1747DBAC4D4C022B8ACC6649C8E44EC2D6455E623BCACF10C3915E4 + +Len = 23216 +Msg = 3D85E0037343FA076AE1A5AC3B9B3A299654A9F52E73312113E0EBD78F4B599848023AA97550DC77C91DBFC922BB965508D5CECB139153D6D6FAA4F8BABFA2250D29AE12BB010D6D3EE71F910773A15283AC916F8CA76D359AC6B654BE15CFC8EDF2460D0E993D1DF5ED9C73E95D357D3CFF052B3F4CE358F96A631F0F7BE4C1B9D88C7E6C04682CE65CDBCA2C4E9CD05D2F51027E5E992ADD31026D37FD91DA8C41A33EE726FADD3D516923C6CF5849E5842291039BC2EA94D93B2A8AC7FE7275FE868928F3FAC2BEAA44F06375D8B92CDE7C403AB9F35B4F0F34EB66A5A31DDA32DF9DCD77DCB040A6CC127FD109CFD54410D7B3E4E8498B04089400D61F0082CA48A9D1D9565487D708756A9B16947E9C05F94078E91C565A56C9F7205ADE6D8E9413D6DD0FC8885FE01AC7FAEE3605E22725C9A52FC1DAE92B110C38EEB87729A9BB2263B6D43FFAA57ABE9C8438B31D15CDC8D80DC81372B4D98154937E7EAA0EEC0BF9C71FB77E2F7C360B64112AC8D8FAB5B574C21FD31600D341A9173A3ED05B0F417C18C58E526A010EC9FFCA19461AA9EA5F85416D029689AFE7F69836F89D1712004B8C79020D6CFF0245C7D4B1C196750D44527DED407595A7B28EE8C95A85C6CED826BB7F61D8EAD9E0BE20E67D30D5AD6D2D4DCB38F20E41CEAD521511754901F10831F8BA88679AA42E9C47308BC5A7F3AE07C14A8AB992CF07A26715F564B11538E4C441A9AE54A5A8271B66966C2C9065A4EAED9884360CE60415E953BC31072B4B2E3F7579D6FDB70FC737C70CF55EA5F72743DAFF866BA482199F8594D6D72E1BD07BB82476EA95B7DF9243B0013542EC95AF486AB184BBD93E6ECCEAFECD1A64ECA30468129683F150657AD050014901D0D4EF1005C5B86F98F2D7553FB529D7524C3F1B27696FD98359355CDC39DE67CF18D8EF58653F3C0499E085A8F9BF555DB9A1604A9D640C09C45D2B4A8D81BE369349389AA833356338584704F864F04227536B5F95819919C8360111FA2F1C9F4B275A18F724647BDF2A7830BC0B6AF386E9B5FDFF023116FB4E220E9EACE1B6E6B4C68C1C7DC91902366A6CEF4C4163616B85DB15C3D35733727214B17A47A6D9C5E059CD0174B1E5FA764AC11D1E859B8F092A4DFDE12543E5AC4C27E396183A63FC0A76A52469145CE8B01BA733C1BF4AE0D3DA35F5B107F3083CF07BFBF0E0E76B3FC7FBF5E515C6B79403523DB6D668EFFCEC49DAD419669DADD343870C82BF5B7624C06B9F8DBE66E49A35495B0B17C25AC814A0A58E5467DAD961349CCC2E64C217B8C32DD28DB4B7A4D8FC841BC1ADBF9F1E3C1F871AC9E3D03B0E7FE25AA79391DE961B87209C6E41D73669C3A8883856403736236317247F332BC4FA1B14F19878E2DF7925192AD5C4F7BF431A01A1572DA98F2B01D1846760DBFE3E387357D115135F1DF6E4B1385DA5E591E0EE2295858705A2F16730B0CD7468C08612179E3C449F9977C0EF6688417190D7361BB94C4782D67B038C225EA703B8BC7309761561BBF1A3AE4925CB0E8E33331615EE3F0662641CEF3942F9A003140376393C58EAA46F6E994A375369277331795D9AE7055D4DFE87AD41A843202E598E492011833525D2D568B699841E6A82CCE59B51D400ED6F896C271194F2C8230E271BD21AD4345CB8CD89BADEA7FB6188B0167490E1493264B68BD995D56C93E6951CA8C554B1E0AF35850377BB87C13BAFDC81E3C433FF3B5F13FCB5338B31EE619C59EB160E4E6E5185ED41ECB18791E6AEC2DBB898C4F951F7179B3A523A3EE8D75BD375F03A1833E5046727A501178E8EAAB4E25A05799837F1C91FFD4EF364ED731F39AC656371CCE01DA73A85595AB9AE3CE41E799FF94C676A4509D774B720F38C1D924D17B09EAA04835513C96530654DCAF00521B8A74E40774F146B00AF65BCCBF477B58DE528AA2BB793F47D55F4F2893A114EED09F21CD79168C52134FEFEC9A79659D4AE45F28A56A6E65376188024652C0CBCDEB6DC8AED36604E03DD61D4ACE9A8B7C54EBD35A19CEC99C788FA02E45E5AA29160C661051B262080841DA9F3BE61AD421B4CEBE7EEC77D0A2C2F14658109CDE4741A8F0967D3E69D95E6909098A61085AE1237BA8BFCDBFC339DEB4A11AD80C118023D82D904A0282EE58D0ACC180F9E9A629C083CC70B6BCBAA47ADAD76BFA0BF0393E9FC86C6D4374B1FFF93E9AD8F7643BCC769D2E1B91A571FD04F4602AD08A7CAA92319137291883FF0CEE2023BD4120577611D687E71FD39BEE25D23D00619083171DE81A0475BF769C972A0696031719719187FB5C172EA05C7CF5740296683889F0CE5B28665C0EFCFBC95A4BF7B9C6CEE9E3ABEF317AAD2C829E59533DCE70186657C6DB44DA42820BD1F9191ABCD3495AA6D1661FE0735F4AE7D567EF0CCAB731036B24390C56096D3B56A1FFDC9CF36F175B587612DD7ECB41386F82BA6F81AF6E684BFD6055EE237E5A22A25DB0AC2985B8F4E7C553B10283C76ABFF2CFD415D6D39723BFDF88F2A8C587C5C921D4FD4A8E7298DE0E7B2E897FAA2513D5AE1C315A593421DB07DAE696344EF882414E323BD03BF8B97EEDD732E44C737CA232E4E6A1D260F367DBBAC2500C4619ED7D7170D2482A1A98F99F9D4D6F1832D07E83F58E682D89EEA023FB4A3A9438C906AA36411E37356D95689E4ED4D49548DA8E8FB59C9C880E776E2ED8707DCF4B57AE1657A5CDF77A4A757886AA59B496182A68B62CB41360956B511526E8955A8165898706258B3F6F9D504EFF7C2F573E7DB1064F9A16391B11D1D537CF709572EAEA023952FAB7C70BB4BE3872E794930CBE2CCEA92CDBBC8586830AFF81264CC0A4F3A3FF11A4D1A7D521A8EE737C4FFA47063D8E88D69D381A085D71EFEA51A3DC173F6F76F2F4E1209A536951FE946E548914BCD7BC4DD506B41B1DC5BAAB34874362CE0FF03BDA19CB5938B813C57E44E0D61DB6644501CBA3D59B6CFEBE20E35E4F670E1E878E3DAF70245D9C42A190D575B98F9BAF88EF59E5564630D1C0BE4E566708C4CA9131813332DFD7F267E37CAF7681EC9BF5AC84586FA9A97C6C8882FC24358BF8851688860E838703D3EBE1498EEC27D8CEEACC0AFB158F5CCF1846525477D3BF069F63FE26EDE5FF556387B7D92F9540857D799D77D1D3319C86695B0622F82C57A05952F6DCF114B1D36F5629962DF10727B2B3F9A9E583DABC8B561DFF53B3E17D72CBCAB8CA974018D65C4E3054BA51211C31F81344CFF4354F8122B6B2B28192E80999537D783DD5B34A47752575B3BAEFB04247703271F9EBD89649D0DF30BF030C9DFE39E616470F3DD75E0F0595E572E70A93D1CC2ED8CACB4DC2431546B123972649B82D5876E09D6C4D9E1D20CF46C75C4E2EF76C162E5267B0B9C11B6DF4F32925042E191B6ED5DA0245B68DE0B09087E64E177E41A5A6BDEDDB4842DD08664E03FA594572982D415A64B70749ED536EA12851177079DA7935B85A81F00AF0118FAA62B879BF5C0410672C5948E545218CAF9CEA64B60C9C054A128E7867572E022896534D14B97AB668BDC9B50CE34C2690788F47CC311B866D4DE1FACEBC1BCC306EFDD6956E58D391304769742A65CBA3F81D6C45A79CFC2E94BA44F9C73986BDCD68E9162D9FD52AFBAF0154E20E426836A68E6FC5D2273CD11F09DA0B3019B7A5288BBF21EB3ED02A66D787402494D51F1FCC372813BDDB5017B0BD468A88A50D65AE08076D7C754E64898074F3048C8E3CE1B0954DE60DD97E94FADDF31B383F7B1365CB83AB0B4D30A7F8953A73435F9160D45C370F39F3DB13EE46A37B5ACE3057B83993F035E8C1F8CEE6EF7C3591277CEF69301D54ECA4670255837504B709BA3B2DD091D95EF6E6C5591DE439F5A882E86E19D1A2D6DF56F0DD26E8E954DE5F3D1438987AD2FF1A22F4320E96FEB55DFACB83A53D1C84B6B25FADEEA4970C85E82866AAE5E7A7CBE85DDA0AB5E7BB0A074302C49609118C8E34AAFA5EC7BD1BEF5D81B25B5F8F4CC8F264086D3B046A5EEB89A307D044C076C3E4698E60789DADCF265172B75FB5E80B59CFF939C06F937856408F709 +MD = B3FBB56B7F1CE44E08394F8E21E28B97B5EC2D6037FCA455674B40649157684D5A19143D8D9A9FC951BA98E5407D029A + +Len = 23720 +Msg = 16F85F578206F4D625A5831CB3B029F09D6F9E13F8E4271FD41A429CEB638A1300E51B403ED6124420B363191F55B32E14D286584B51D3572536A0B7022B63F844F85C457719F88D4B91B1034D2B58E77C3FAA34A33DB8089284AD13C993C234CA883E0263D4FBE209AFA31A445021A2FB4F457633A54D158D94F2342BEDB2CB65DD67088F8E017B58BB787ED0400AE30466085EB72F190118BCD6B00A7E1BE12D3E86553948859FDB930522AC99399685FA8D2927D4C97637EA57730C1216E00C2BD8E8BA684E1E8202289F8708D5E43F68EFBD1DCE5DB6408889E5E6D32BC6B20C1E40301471EE658A2B89873589A95F1B1923972377E6599DC7A0276D52B54B18245A38CF56B9E4603BB9BFB7F9A68CB63184221345895DFAEFB6DB77C8FC11A2B0637EE6478DB74F2DC771AE293C9D1B496A410AD012133F65EAF4D3737E01B4142B50C739B0766E846E3A372936E8F05D00CC91FC4B01DF2E39151DEC6C11C3E059AEEB884AD4B146F0CCC66CE48D8959D7AB9920F895FA911D6F127C97F1E8583D5AC8B0BBB959CA80E6F025B4DF440747648DAB69662EDB9F4EE44A6EB7B3A086870B167418C4CADFDF6408E86FC07459D37870F95D1AA11D3CAADB3FD65038CFADC758C69E8E77B9F0D08844F942A73B2A16B99FE58F35444C3E5CBFF03CC7CB4B95DA6CA7D9A70FFD846227CDA9BB71A7212CB7F66BD635B2B25116F1A68CCC239FB5C510E876BC602DBC518F068F55024715C2236BEA45F42964ACC022ECC3653C12399FD65095E0E30614D02D8274C63BC4B88F3D11DFEAD0E406B1CFBEC34065059DDCE76327973EF82D5B0A6DB9B3014607207E545BB9650518E4BE41BF9454AC5FBFC984586F6FC5714293ADC8438C897522FE2CC6B1B800BF64381D91ABFB2EF2B7703E337AD631D24498FA36FC948F7B7BD668187CE9D94C396FC322E53F341971F8B79D504289DA46199D7DF841B985D0EBE2F82D9B742A92CD1879CEF6A9FE968F3DD0875F4C172AFC3A289A86DA0F4D03E8E5E27DF20EB1C819B2566A6362A3A202ED318851F218D39364C4C47E5B47E16894B645FCC7A84FF4AE8A075A65237559E69F6F634736129A6783B7C13BFBBBC9E3FBF5F8FE52DCACF563EF41C1E876751206E5FB7CF869F3F6BF382C1E73334F1C05E5F6FE81344B7D5CDF58061775CB3457D7476C3085F9FE620CCA92679B1A5490D1620F613B7E8CE137C2F39BA5CCBCB7C61BCCBD6A024EAA79E58939B7CAEF19348F745A4640D15226C0532F1AC35740AE23CDF1C5F7113725022A7948615A33468A3F2E8450154E4D9DE452D3B9D5368980075858AC06AB9B30FDD432E44EDD9DD3C57281BFB5F4E6822D8BACC2E3512834AF79E0F8E13F8604C6CC838E2BD356BC3224D351187C89CF0A35069C7891BBF9F2E7D6B5D186EC92CA96A17A75B5315CA5ECA94C03767C500B2728E36B7C7C10A39155AF28A8C262152065CB68AE92965F0A0289FBC470FDF712CCE4A03CD0AFA7D9D3DA1E0799177D78C5E87EA5AE6AA1FCF4A514812D0ED0587417F706891CAB158429A326BFDA07F6C3112F7212756E6AED0E548CFD788AEDC7CB0D03D1345B2A28C6D3864EC67360CE237F008A225DE38B3C3D95047D2EA919E47DED2B2B8139CD37D300A5296550A162CAFA5BC0E8014830495487A3C2C4C49282B8E04BB988D744C0C7248AE2003F41CCD44666E06796C60A0E585BB1E10B5CB8D346E58F9843425FA3271B5227D0498AED2906F36D9076B1083BC26FA3F505D908F0B294148C796EE28AAB1191B9F46F5A4950485DBE913B9E22365F0064720E9F096884C0B36D18405F35EC928101ADCC82E3D56DD578B6E81DD0EF2A98DC9416682883522A5F357C36F292EDB5337E0E6B33DB1771EDD2E98CF440A6116EEE24C7EBA0BCFDB2FF1E1C852A6927CD122ED05A2D414C51A56944B3012F5F9EB545B838781C964BED1C55F0B4E36F258F4D0FFD1A01D5CAD9A2ED53DF6A192EE74DF63DF7F6587EB31ED365F58F1666343C33E42D75322FE5857543CAE191B799E312D1EBB8F70DB19F831F136EC11F3FDB80B693CD2D2C2A56A3D5A1F48C63DD691E036387D660EE988885F08E4DB47A72E57C8B16C583A7BA9C13D6F686E6C7164E9119709BEDD892DB2ED244E7325C311E3FFF4827CDE0AC7507DD2D2388BB978C6280AC6E096A12CC8B44C77A5E4B4C79E2CCEB84E24CE7E3046867F2B96AA3DC663A2D66D481F47D81AB487B1A7FB04B6B1443E1EDD6A2C8FA09015BC17CDA3D7A82B9DFA4194094B40353E0B23B1F878C3F3FBA505D7017ED16EF0A0372F1443E81D69DBE1FFF79943AC8B6FA31AABD090733109917730333B86C093D7227DD54FCB590614D8F195922B120904393974560CCC44E225D1740F5590AD873E3093BBB1EAAC54AC77047AFF1B8B1439944B5EC784CE8A4B1A116F7D008C3B23F2F7C9EA10B802B3BD0C57D00BA7D5FCAC12FC3B033C35ECAB30C2563A0143C7B54EBF3B5EE18D800FFEA1A04E92A41754B1B0F7190E9AA0F12F3498625F222DE621EC311186E2299F7F86B4D95E3024B46A58989723ED88AD57B9B9917647F948420FB0CFB24A865610F0650BA773C258DF09D739F73FDA76B12E7B56C1774E62ECBA24A0E00DA25CB890642E49AB6636CE5B2DDB572D6CAA0A9231D163A72D5666FBD466724DE80F7BC67A47F9ED51367164B9F8762B7B4A0CB4E91FEC551427CC9DB52855C6457CAD53599AE416D2E9434AA4AD72D191E162502D9AFD354E8A3BEF8B85A7CA1D52735F5C1AEE0A7F98E3D1D793148F0163E4F8639C07980C9780B025A8F2F78790186BC382B766D8018A1C3F6FC088E14FBAACCD9E97D67CA25938799798F11EDEEFAEC5F96D1782F1073A14B971FB09FCD37BE34D39A6B5E1308F53FF291CD19BBAE6ABB7997836178C074F7181D26931611E1C86E90BA8EF3781C81CA4C93086DD2F4DAABC2F7EF30CED53AAFB90F972B75774CF7D3112CD1CA5BFF8C1B463FDF46AECCEE30A2247E9A2023EC1E3EC21B2250B8E9FE2B4BCCA82C84F0BE24600589F7B9D6BE5BEA4D2AE543D738D0F2B7B086C88E92F7E18B323BEBC44EAEEA26BE12FE32753E3D2064E3DEB7EC9EA4925E69DE6B41E31820D49D6FA8E303DE0FAF1B1FE6C7C23A4E1DCC23BC626C108D5184141D6914C4DBBB15D0A2F55BC2DD4ECBED4C419B9B00A6444D639522600C8F9204B0DE1FCE3B6BE57E5A9B0E3CDE2A45595978FEFAA4008CF74B13CE86DB5C9AF0FF4CE122F60F07069423F5E8C513B5B955D2A5C22B11D4103F9F37AFABD606D50F7976C88FE0F01CACD075F4825615D3B9890F9DFEBE49AB86E60F390ED2D756594E94827A4946172232979665FA8264B7C0CE1D8BFCA203EDBD7D394A9DD06B90D428DA3F7D58F961D3680608AE82A0469BF3B3EADEDD344898240663088B62B6FD38235BC0D391151238963C8061470F07E21D3B7FE3BC6CFC4EFC550E2940872B67322353BDE6025CD6D65C169B9D66748D73B9DE6BF9EDC57DA1D7AA072BB2C35961DF26FC7BC5A4928A4C6A95371B87E03FC52C2A06342959F7A1BBE8961D69FF1704FAB283B4A5BD417A80E45D92727E0547A43AB04A59272EE8B3F6C4495414D00B88AA8A10E22A1A6829DC2B3EA2F9D2A544ADA933FB44251DC6FB814C82B0E2AB1DAD9F8609FE86EBEFA6277A6774C81D4963578D56A49CA1A5B80423A6B1D1735BA3E6C0A0CD4AEC877D9AAEA84245CABA678666CB5C2B48AE671BEFED3ED327188FF20C1A5E44A7E14E4EAA6BE3A01C8A658E37F337F3CC8074D65EB3725595441FE7D66E1321385B2181060EFCD92FDD5A556B8339890884A54EDF0AFE4133123F018E9A27051A9BCD04731E9EAD9233EF0564E162D546319B13FC430B8D434E2DDB069D983CC12BF178983868D34F39F252A8F1F1E827F83A53BD7C04FD83049DAE31E2DF2B5EFB6AB8538D090189A0A95570E3AEDE41E938F4AF84D195458402829BD27759D3A429153A0A8666011A023EC50CFDF765C55ECF05426B872B95FCF281DB662DD8F1689D08EE83BB32241B29765A1BE2D8C9E5342789DA439E7D94A4E6730741182DF1E61E18E5B820D190E46FA461EE4FAF5E797290D3458FE4BA805750AD85679A167718FDC1B35B07645D9E82194659FA4D524327600CBF69E19A76944EE7 +MD = A98C5EFF26D27C8DDA17E919A45BF90A600F236E3F0BD8DB1F2F611F0A770696CEE4598ECD0A15D3A1DB7EA998949FF6 + +Len = 24224 +Msg = 8598B32E7EE9469B6D33247AEB8AFB12D6BDC3EE4AE5A49683E84C73FB353A7BA6FDD95C497F429E82F07B2B652D7E415E9B93B59E541ABF46C88FA54EE068F90764564A11A59F1D04D8B88DE186C4217285B72796D5C0575DAECC30920F6BFDBEA772A7B18339A1E2CCFC79FC8A9839B20A981D5291025F341E5D7ACC1A3BB4129091A5062B9E54BE7ED8AF8196CA7A9ECAF18CCCE4A1D718149809D08A8AC86C9A12E76379F634AC1615AF03ABB9287C4B4A79847B52ED4FA17E1527495362B625155E9F1AA3A3E5D0821240D8360894E19A5620BDBE00A7AF6C40B1E513490671BDBE402379F495C528E218028D315F6EF820C383C83630F7564453F0E2D387273854FA05F4DA7BC24CAB0B71D4092A432CB0854916F71C3B8640CA602547922C9867B002DF7382AF29E4E1B993D1FA74D950063E527DB6CA0B736B8906962412EA1DAE218A0C86AACF51362BB8BCEB3826BC3249F1C5155F0CB50133D0527B98BA21F757F72A9C52D342DE013BB38EA52774A7C012DCC0A58051CDA565FDB45A1F065041BA5FE62D0C46CBB1B9EF7D669BE319D98834786F5532225D26D184ABB38E345C4CDA3FE3B85225D6F6C70AEEC801BB571C5E44D9298F02F632453C14D1C710CDEC5843B7A055817587D790FC589017348DACC18B686BA0EE29D074CFFA70017D972449F4D702C051125FECA48AD3C5F88431789714C90F48EDFC382C28F5D9439B88531B003BE7935A845DCF5EE545A6617A3B05EEEAD89ED5B950EDD0919BEE243EBF5CEF536A0A7C28158BED2F838F494A2E828C580B48D88E216F50492E754275697882C94D1ADD46FE443B766DABE2F9ADA142A5BB1A096D3DBB71FD6B55810EE5B2989745695D4BFA143013F7EA34424833FE09D8966A0B97B62953C4CBCAC86CFC83E14AB36A4D9F8E8CD9010713702E1DB6C27BD0166777E2BDB5268CA388394986683DB83AE0603FA611ACAD587FDFF471718F20F42360FB5C3DE8A3B3FEC068E9DC496F664FDC0C305AE936C7AE560A0568CC509F99AE62C6284F8BF2A2801C39C79295609B622247B9F1F6E0E77AD89FD5449CD9BBB84A523795F579432C19E92B270B6846D72986EF052DEC372B3DB6D8449F3602FBCD662E2DCD4EDCC59E2A6D15E8A41CA7932343981770121A78D34B7400778072C89DE969D0468AC052AE54D6076660C67E47AB93313E9A979D80E05442B4E328E89E798158B747AB237CA577ACBAA07CB85F8AE7B1C9325FE8B269765399EAD37522CDE1F071DC26BBC4D1E7AA8F5F4DD66A861A8F4FA38183B3962B9739341404253C93D7DEC6B454DDBAC9F942F2F78D6F75897E673B9ECACB1579E298B8B9446B11AA43C6BA7511ED9CA831152D3C3EF0EF390A2CE65F4F5F6E177B50C9AF912BA4B4548208571A43D6854A8ED4479D9538456539203D490103DD23BACE095D0BF66C17F2411D514084E047970696400E1BC9CE4898CA62FB358B096DAF8A3857AC398A07882E2201F8CA0E4D1CF0CA4E47BB268A91DBAFA837375384A1BD68F87894AF81BBF1E220C2D3C3B2B93A877CF6A7C253CF660B498D3EFA4F38B9B401816C0AA51FFD3BE9F36AA1D2335F4C079487BE16E532BB0FDF8E00D5D8379C0F617F7148009EC57DAE98CD41AC01D3D0B568E0085775694C74FC339FB5F5A57C274DA07CB4DAE54833BB74B0793E93E8F1B5A7F5A092E90459F2C6B7E7A6F488E3C7AE10AC90C358C5BFD603080A544822B4663AEC1A42D3F16E335047A1C9EF6939C36CC34DAFC9EEDB13E1A9559279866A6D71A97FFD317FBBCD8CF80476D59271136EDEA5A186E7EAB7FC28881C08FAF7C5416EA4801A1EB9E0C883DBDFD5CF0F0C9A619D91481E413A74F01D86BC762F4B05497E20893CD55C0C570CAA3FA00BD537D6373B60D32CA14A36BD2FDB3EAC1344E4052EFE7D1ABCC77480EE433008DEBAF71C9FB7070005D8365AC112F151B374DA141E1FC62B3E40A74F3546BF4F02EA8050B823CF2CD5FD134F10ABC2DB0B9B27F5C0A44E320EFF81A0F7EFD4271BC9D574D6A82FA807B05F3892564D8BF54DB7B81AC87B633C53F8187436C1DF435BA2D16D72353EF7B39CC550CFEC1EC2502902AA6BF4D50563301F0B39A9D201FC02B0C9ACBA147843A5AB0AD15E1FBD9D3880D99779D0FBCD217746AEBACC231A1285927F0BC808B2A52771798A9104792DD0E9C938F66929D30390D16F57591DFED8424792C1A0CFEA7CD2DA90C6C2A80234F3B3500DCEC078BDAE333816CEAABE9B686AD0BB24F65BFCA86222BFC628843BB4D328DA1EA28281D9A3D29E0D7EEB9FE24B33284D73486D8D5F37DF7450409722E828B879B8F7D17AAB002ED2C2FD7F03FA4647F49D4F1B204C0DE0B413C613963A0C3AD0026ADEC9279779A0C7986526F8C9742BAA00C088B6826C2449378F47EB6DB75CFA013BC19106E18D062B0698BA02054D8719F756284191461FDC5D33CF0D15419ABEA010C8BAD6E10B79CC39334FA8789383CA03732E3DE9E454D2944913ED2C74021B7B393B3641448A6233A9EEDE72B8DD5A463E5A2DD7B44128B09C1D256F6942CD7DB74E4893402B6AEC1C01170523BBF33015575FAC4534700E91153370006D829E4B76216B940F1945FED31378800BAE385A54C4D32DD7A960E8B2ED1E34FE8DB1CBC7D1E7A86847A69FF5FABD40B0E9191E426843FB79A1DEE7DD0BAE4C55E58F322A4F6586220B0A5D483E70F998B10656D1F56FE911CFB0D1CF9CE1A24C4B0D4F19A04129DDA063FE17CB8F00CF9D516D44BA0D1AF9AC23BEE55CA307FE69F6D1753ACE1B1893DCB455934F73485CA3D8C141B56CC8039BA3CF7F29DC680531FACF117BD0F6D10BE295426E18167A33D22A83B416DD1B848B558A944B168A2BB11BDE0C55F9F9B965745B0E8E367FCDC57030140B87B88613D5EC8136675FB3CD0DBD2035F1A72844EAC0C2394F2C4546674BDA13163370B1E3D623FF301780F06D1348E99C1386411DD152FF4255E869DB6E3187E736F7015AB4B8D72B45A22B0F4F3F05FFA703C3B576B376FEC2AA142E68BD1B5285C138AFEE111987A100BF56DAC66217C6CC3AA1F15B49942C9C3C00749E2CD78A0438444165E72DAE65B1BCE985325E341E2736F11EA5AF9C8D00C4DD1C1523A09603374AC32AAEF82BA4062A0CD93790C99595B9A82205FB5F968098E219002FB84CD587DD68F9BE290BC4752A5D9DFC864EA1BB67878C97147CF547DA959EE3CA1C433B72868527744D29BFCD2E323530A6547389978BC2315D5B34BE3632B641429CDF9355C48BE23AD6591581C706A0CD25793015D9D88887806C2FE8504B0ED19EE74B75627074A7124DC01F0D337F52044BDA1B0E057470ED886126A8A8B4BEBE21EDC21D6E3B9BDF88872777787EC42E9813F753CC776BFDE50CDEA090E5F6945F242EFE0A776DC42DE1B442E510AB87B08D97A56399D171BDE5F7461517F04B9B50C3C42824C301955EB9287756C30BAB6BE7531989BFC552272FAA237B1099C78F8EF3F78121B61BB2690C1728DD0300D1299439CB99D906C357672112A1EA35F83E9144F51F92DCACFB9285C75C73E2381433CDF39327A8B2D130CA2A73F5A769B00A85855AE967089AC941A5F1B535EA5B3C68D01AF72F692B700F6604FBEE54511973269984FD1744169A33029FBE76A43647F9A3119063065DCF3456CC75F74C5B9E17DBEB8CDACF9CDB5503687509E4B514BC1F9F90B4E17F167CC426F956602FB42C640133D7DAF0227A48DCF22885F58EA87FEB44CC4E67209116DC9E6008F2BC7A04045B9A0EF3EBDDC3AEAEB776CF63ADC4DE7F091FEA139EFC268FE243F1902434EED5A8D47F391BDEB52E4A4918AC40CB56C8A73CC0F89A643E6135361D098D9E4682D2526FF2848B8FA0DAA79573BF06FAD2D61381CE071BD8A71147B9164E6F8361A94BFA34F1E58CA8D44A806629F811148051F0CE620B3C4FF8F094C9EF5ECD24C0C61090BF4C8C6C99247557361AE4228E8ADD6831BC67D6FF9C0247BD896E150281598F1097594919070B971C23F4EDBF87871EA88A15420302968B01663366DAD4BE0DCEA375111BEBACC333723F17C2F36CAC75B9A890F34D4BF0BE5B943BB3DCA5C897BE3773818D6E784D733021AA07106F369BCA543EBC7E9BBECE36AE8335967DDCC28EE49B5869C1A212EC3D4EC5214A90D656BB87E62F7B25EABE97D0066C69963C73628AEAA32A3FCF443B29EF1EE389736CBBDF99FC7E1B77D40F651AE35881D2FF43E7D4A13A56E8DD +MD = 0163B6F7680AD718F4CFCC39750482CBB0CF6E93A85E996B9CDEA9F84097B062D3B01C66EBF822DB3B8BDB27091B0819 + +Len = 24728 +Msg = D339611E4D57F858A0B749088D129CF1258C2035EE049D5F47816C0B82D640458C8FFA131AFDA45BEF3105DD60469A70EACD18EE594CCBAC487D94085E957F8A82086ECBDFCABB8ACEDA5120A7E15A12577985DEF9CED321A1C8D350255CCE7D336825484C86F9DD1823565D2624982516A6027A21FBA2702571CDC05C514F6B9A7138AB8A441D805FD37BDAFEEEE30159130EE5F90C90DE030F9A904E6D2A03CDBBE241F0430FA813A251D44643C04C4BEF5D07273C9237F70530C30CB269D7E7B6E7F10831069EEE541D5EF986CCF0E1E870564FE558BC1C219DD870AF2870321AB62DEC23118B77D16418465B54EF71A68DD17E2A0AD16E31B618191577BCAA5C29C2F36C2B56DC932EF2F8EF641118FA3A78B65B5604E0913A48539C4B26F0B5E73F77DE1D6D86EBE0038C7883C2F69C0FF462907DC3B85CCBD87B85B0678139297AA478F03A588C6CD9BACF2D5CB5540C066A5D52889BC370A08ACE06953C2398E92E2A6AA11616B40927C42203326B3888CECB70F7425C1038E57D6D3BB19BB643704F83AE6A55FE8B3234DC25175D243FFD7E16BC5CB84E8579E619CF699B54BF98890C0563C424477B5B18E59314999FBC4C13D2866DBEDD9836C11A62C4E1E5199BDA93D2C90483A4FC3590BF66472BB8B1F499DBF94A56D8A2D27F9607B019228ACC75F8DA8F3F9A24EA0FBEF55CBE6C3B55506AE4FED8499543B0F04BBA76F7F164F31DFC7681051EF05B32846933CE4C1261659D6C414BDFF597AF14D01D73D4F3270DB309B8E8B62001EA17B35BB7B7CC7CBBFCDC846A3D19929B7FED5693089A3F81A467A539BE1CEBCCEBFB5B384CD025EB2DEDF5C4390F607F7C9EE3EF273D7270E5150A241ABEB97B678CA3808F318DA5E38F6842A2A3C09CDF25C8D093CAEE7C5ADBAB436B8DA15AE3FE3F0B84AB2B43CF1CF9AE3C0D44770282B6F1CC1CD7E82D195BE2A5E5AF40735449F6948C7037F6E1733189984B4D1DA1F0BBCBAB8373C3A9A3C0DAE236768883634EB42E574525264403E90A503A7D890530834B4701ADC1A9C6B953981B9581721AE37AB01CFC2B9571F2D65D4E35F3381F7F05F2CDA160ED6143E25C6D9D2AD6DC9B3F69ED693A325110F49192E169AB5EED6BE88A3E0BE03D1FA29FC002335979971C16F096BDDC4D88EB2300BA514B167D4A9DCB353D7AB0C3DB7AD991415DA362275D3264360D0568BC5B60B5EBCDAA5BD62EDB040C6583A9B997D9838479A508F79E9ACAAFA63F90660FB0C0D0EECAA72BDE7FC7AB4B77D29C210FE6AEBC6ABEEC7F201C8C64CB306AEED1110768B3360B8B2F30F8D1D2C1EE7B5DFCFD5D56515F3F617DEC24F56C4FBE6604597EDACB6A42F9447BAC63C53B54010B5AD6F3A5A8C37F89CD345DEF631450C2B491E7AD6436F6F923A0CEC85A76FB04C0B559A6972284145954EC82CF84B0637E4BA11B3F8BD68DC125EB5693A3ED2CB3A62959CBF41C9409D84F2AC9264E99FF695443FFE689464B349B299AB240D542B29CEDEA37F2221B5444B92616386A2BC74414395B97EBD3DF78C583234883AF5C7907CD68BA81E19AE616B4950326E526CDEC80443497B1BC42CBC4111573D39ED236323A8EAB36AB7DD45D65DBBB9F5F7D657CCF944F00CED4F12817DE3D031960BC334ED3F864643737B2641C6F392A4A60527252272E1334BCED47637DCE95292A8E4273CBA03E17E16670225C2E2733D7858E2C7D9DA6E14333F2917C6DF92F233ACB60553BEDC68DA7A99F18C2D3854FEC8C0706980C5DDAC1174BEFAD6A7DA03DC1DF372CAED2B7B5625EEFE93D6419494C3DD1890113E190719ABC2B695F7F2AACCD372EF78181C428F19918BC2E2CC16FD97F1AEF7E4FC3297578E0BE19B8B2CE6DDFA200E593692EFA8B11FB5A55919393B98A2FE31BF7B80701B67430F1B33911AF41504B2C3CD000E3EAE148014C451D166C47B6FE8266F44E62ED7515C6F30511743143485982C3245332FE19890FC8E7DB99791A36E77ABFAFBD0B65CDD861EEFF1F29E142DF903E723B2EC3B4A4FFF8C5B4F3F4377E3837CF134D742D46EF148C986DD161A939482FDF40D4BB4A4231B7D5648E2DBD8A9D8516C6BDA0A370FA53620D5255341830B84C751E31B8E17F3FCE027906AFCC2AE7E5E104A1109E86FB20897E3109D07E700C13E6FFA7016EAD35969245A16BE032CADA0F2327844DFB3B45D9B3E9E309A98DD927C5E75AED3270714041E35A703C3EA7C10348FE521CFCDFB7C02EA9E123B267C22F091A4B98473330E93A362C358F92519F9F42B0E6D2AAFA0538EC32AF4A52358EFE45B59A9AC05CF4D6D82AF2B88BBF327D3EE61A4F341178BAD4B228CA86D9CEFFB459C64EF12E5C5339471054FE09DE0933595C2B1A5CD98581675DFA0B9C04DB65DDCF452C49D720C0876BE88E9D7232737865C598A5D20862D749D3807A7F052F4FC0E0961FF314DF69829B3A3085148A818B0F53840B92EBBA0266A42719D49902775B72D15162B1643F80993393A9280A99E72ACA1FC8B2F8454E566BC79CD9075FE091F5EDB4EB0DA5E0DC5C4ED85A8FC3997389D235CB5436E9A8AED1D4604575834C1EB2FCF1378E465F77CF037503639482A285A9D0B476CB9DDFFC0B82E64BBD175538C2647382D2D7587225C845D8C14F3874C1456205071C0C0B3965FE30E9CE3B616E4DE78B3953A9EC525E43CEEACC0C303C6400CB4D52FDFD142376075D26AC1123EC4CFBF82E77CB04EFC09CC95601B14681C90A7B0840EFC819613AA06FAFE2DAB4B036951F82579A02EFEFD08DF0EEEFD2146080734961725B6E917739FB80DEB9B8BB6DCE39E20372CCC079ADD9030799061EF1F011699445570EF0CB963483099EB17F22226698DEB110495C159EB63DA750D231E78C4A7C734941E443AF7F2B5A3A06CC5334EF76743FCBE8EDD3939ABD48CE32A03DD59D2553BA408B444D9599C2358443294C406D03D86A23F872992A1C455027AA4D7EA35AFCE35AF0A40A8B58CE2C149C00ED49DDFBF01F1EFBAD3DB59D2214B795C7F78229889DA77C4A4FAAB944EBB033A045156AAEB5B457BA7FE0A970FAC195EF5D206E28FF9151310CC91937FC33E61A50755AB1C109E4DD87DC511964F970784BC3019AFCF015C6EBADD5C4C32256311E8996FAB7DC3945CD87D55FC9C851E863DAD371D6E9D69157C5040BD702F828C088C5A8E4E35ED19E8731EB9ADDC7D31EDEB95E2FA57EC514D97FE5914264DD0016BB430FDD7DCD5A161732802963BEC1549E5CD5151CE9C8BD46B26F441CB68BBC9DCC08C139DD9ADAC1A158B5F9E54D2C20F01AE66BE788C10067C60E088FDCF828F7BE908D863604E19F318389E5AC148237E11BE711FF432869C5A9082E5FD9FD24C39E57863D63BD85D5B78C6329C6649F562324398C21CECA17CC78750AE9ADAB612CA3BD0AB6FFAA9F230637927DA9DEC3077AB6F425D21EE971A0744732F39ED82F6B06F1E84CD777F1910A9290A66C77264E484693108D973A25908A9701C414920CB0E3B82A74D1EA8304E8594C777290CD32864738C657BDBBD57EDF42EC9A2F522CE911C1378275AD43889CC26E9A3818987FF0671A7A94573C013EEEBDFCFAB5D9BB405D05B66EB641C976A4233169A46338895467F36F9FE7FC1CB3EAB830F46F261252AAC0492C0699443303949530687533CD09CBFF09DCC8F12A49E892A47AB0A2BFFE1B7A493BFD66D9E4822598781BB8A94A4D7D63D77C8F1B4112F89CA215DECB610F1339184F8CF66BB59169553013276472BBF7753A7EAB046F55E720C0B235407748B8CFA07E748808875A896661A54DDE939E0D64CB3031A4D48D565E24A56AE117ECFEB27928E42C06614B4327B9261BE4AB24169B26F9A7A463A42F0ADA305359314E7D48993EBFE46FED1EF6F65F733483B883B72DEEFD5AE803A0CBCE91E5161090DA188C475B38379FA2CB191D0C172E966376FC8C7A5EF4263949D75A955EE94E0391E70CE04C61D3F4F49CC5F1774515F01BA6CF83BEA9BDFB7F158F6CED3BC33BEFFACB80BA3767E476F3180C392F17DE1F72719466B4E814D7570C9B08EB3F053D728E5EFA2C28AEB4FA557A2C809E357F9CCAB21F4E9FC3291CEE7CCDE2EDF7B086F844B531C6D6D5744AB2C3FA2795A7C2B26A3FDE44AC46738972D374E534D1972322D4DC8B349FDD5D3AEE827BC4DE6DED715B87F1A26FE09FA12A495919997E07E75E268899D599BE0FC699433619D73C63B34A377F6CD511D095DA8ED29A9FA86944B3795BB69FB8F51FBC34D07809DEC6FC646BA63BA48322717A1EE01EC9B1CADCE556B07E943F619A073FAEC003ECFA657D7C0086631F41909BFDDAAE09054948934225A3 +MD = ED58EB86D59570547FEF42BBE24692D0679DA764115DF89874F37FF0E0D47BED718256E0926C85D062ED7350474CB8F1 + +Len = 25232 +Msg = 93B7161E99FDEE38713376A69FC4BCCC66C092CF4AC5B71C350089253CD17E7DB28A41490A354221017995ABBAECB67A2A989D81984F34D021FFF364E8D18FA58EF3DF090726DE7820F598DE625F90F10007F62C09F3E79EB21E847D28A8869EB217300CB4014AA83D7D7AC6DBB9ACB1E19A2BC76291527C571EF593B509AAB454F20BDCA4ABCD337B5087BA30BF4A87A936F400A13D4C455E60146596577C309FF25C22489D3D51A4BF1CEAC5B8E20A70C541922B78EED7F2C3C2DE6809D474237FF6B9221B6A20CC7046BD7A292A4A7E1ADB16B21DA6812422F0A2932494DA0DA8EAFC50260EDCE61D506F0F9DECE624E9B5C6EC555963D5F65BF5F978E441955B0276F156202C67ABAB3EA79013428DDFD880D861DF4E7A1BFFCEE619D04C0863B2D675DE97642B44FE7114C845B51E57306B2D0072DADA8673C0C056ECAF4B486653A6DCC00F337F1ACAB6B9B2D665B1A5BFEE45A754711D45C9AC63366C15143F89A5D32DE03C244CCF831C95A97D44C2BAEF5C90D8752E2CACCC11316E1B78E0F1C4B5B0A43871C784CF5D977058EF4CCA06172D6081996963F3DA127076493322D9BF39580F096A44169C9A93DD7C84A6AAF105270DB387990CA1BE0094BB28AD741DCB4295B16AF18C97E15A61AEC12E108D61D5F27215DC24DFA8B09CE5E35F61B230961727EDDBB907F69EA3988EA95F73299E4F3CBAB4A6506F0B4E083EDA4A24A7C309D4785AA1F2B1D63B0B021E3D7227AFBB6662C3E61586CBE8ACA227C61BD34EF7B7346F1E99DA9588DEB49BBA8A839A7D4CFBA9CF43A7B2EE85A97E3754EB9D1C7309BA8FCADD45641ACA4AE0612A9AC6872CCE7B6EC5493CCB45593017E6F918493B6882BA66FE8F96DA93D71CE4C435E405C44F4B67DEC0F896DA961F7BED7849580F3C88DD156EB8E31E7E325CABC1BC4F58E83BCF8E6204DAD75853788F121D9161427A435B06F08507258931FD7C36D39B4868DC575A70062168203D8BDD6067B458EB25AA5EC8AABBF9B1198DF0AECFCDA206DEE2DC4EE5721680CA364464A9E7EDD29608A3C6A2677A6492A549446E534E9A66C99B469F5DCC14D9148E280B39FEF77AFC6D97A48F194544A285DBF1B1D4DABE9E120E77774AD505DA0834E55D3E76FEB4F61779B86B883D6B3900B9DA38F3BC92E03643E7E0C7162B79FC6247C3F887E9C4F763B1F544504FE1C2D4A95BE2158A31FBB515431BE2B954275C706F3A3ED2B6A6A9705960C868271D0F3FE52D711BF377746F28F7BC1FEED6BF7DF64ABB5C61E3DEE6DDAB1FFA938EE21EA45CEAEC5F064F8436942BB48952E370C35A4DCFA8D73D9C75ADF8F3AF1D6FB98627258D96A63A398D90FDAA7F5C779DC8FD9733E432AC542BDD3995E5AC335EE30317A40D02FDC34720B84F253471654A709752D9ED2EA3DB089A05A579A9299DF1F4FE63780CBCEECE5E21B236368EAC7016890B533BF94B0E0EAB0D74D9BC9CB209840503B237821D03B71BC922FB4B74441CB8EEA845D6703525065395B6A72D47F901D052662465C48C1100C88A0A06799B4076B07704D65675FC3B52F1D0FD99E470B3209C6A90949ADE31AEB6272E94FB53398F0F289158FBBDAECB5CFEDE549D1BABD7E34A3BA9939331FF19A5CCDD53BB38D89A5B9255C0051B7392ED07B0D755E04B517934DC3FB6BFB9331198ED285B40A4B4388BA2E7C002C47A37C0B68BFDD72B61770DAEC39A9A01391D839B84AF6B71071CEFE6660C585372B3C6F9F735536ED0DFDA55F5F352768F716C4F6D412139A47B4304E5FDDA714C5E14F16187B9D8ACE53F6D3DD222985F8BC14EEABC1BA8EF7E0B68535DC50BC2E0322942FDF1233EF9CF4DBEBE205FC5E4604889BCA0F95381C11BADC6A3FFC71D7B28F0603EC720E7F8FB60ED463E72DE159AF0D49618E3DF16AFE272DD628106E3FE4DD198C685B6487060ECBB0E69DF995EA97E37A79789F147FC032B399889045623821473FD4D6CDB454C7B468D26EFBEA0DA4BBA85D993666560E1FAF8C09C2EC33EDB379245D8A5D261BAA60A6F367A517C2EA1CDF877AE2641ED22BB3C8A05A7FE287632C85230A41C44D9663D3008DF8E897E13970E3F013AB2F59A7AAE3BC50D28152E84EF607B1F1908812FDD0DA3285D982DD7C21C7673F93A3240CD01ACC88F6D70B958F89FC468550B6DDEBE8F3BC2E5C16FA9E3274668C3C54884412A55DD1EB3E81AB818696A7624705BF515E6B1EFB1D5CD504B6A733BC746661C5AB80CA5D9F5694B4E1DD664C41952BC1835E23087A61C050B328DE9CCBFC88BFF0CA64FBFF092EA7E61EF4A61232AD30378053CC59CE77C6BD262AD080342A4578E4EC21D338C717C567106482D1101EBC30669912D6B1FD3D1A2D1302D94BB8F442296C0A6377A90BD6CF627B7923BE4916F7442559B2964A70CE3B7F18A032DC0DD8F4C2503D6007FF7FBFB45F2F4CB61EFA79C74B301BD7C674D8CD5AFA38002744D5669D8F52F67A8783363B015092587DB9EC4F25329382D426AB9CA2731C8C2BED242E0D736F18D68BA906D5EFCF8845BCA9E006212C789355ABD40033D32BEF40E43123DA1B560D19BE7B2BEDEB3165A27FAF5AD3C8F8A6CBF1B2CD385F624E52F7E0635D6F203B04FAAC9604A44219C963C902B205D3449E9445223E9494FD4F6BC2CB3EADBD769C30FC39F62DF0B4541FCED20F96DDE4420188C808DA36D7F252D8D15D2CBFDD9D146A2C3C9EBDF4E7F16A3CE9D7EBBECF6E34F36AD52FBD7A4A90A708380D8C9AF17C14202470E61962AE1305789E4DACE05218836CCE567153C8509796DE7F6C59C61843F31ADCA02B0AC1483224B675DD3123CE720FBFCDF6F10E3C20D5343F63BD2D95C4FEAE809B2A2D7E30501E8361A1A3BDD4ACA01E9D10969C07355133680DF2FCE122E4395A3692A972FDB4AA1EDA5987539B19359C459C27ABEE0C0BDFAA7A3776B41147C61BC38916B74CBC6DCCA587DA2CDD6732C7BF1355CF182CD2FA3317F8DC49123442529E9D0042633AE5DD667248EFB1D85D6351A625975433B6D51F7B70CADAB215BCBEAA4CC5ABD3371568109DD1F7A8339EEBC1D11E3A77280BC445B3FFF984A53AA3DC3C96BE75AB26BB4C13DA4960F7CEB17EF36443149E00FE7041A83BE6DBAB71A627E1368FEBB0F98F710D560986D5A896FB9125BCC19D397661A10D27A65BCAED95CFC3A31F917CA9395CDC25C17AA3E1AC0D7043B41D49957FC93237EF22E0AE7791BDD30369AF5CAF672C4323EEAF53360341D046B69743BF7D8C34DE2791321372590B724B00279575CB44F41A5FD661868A7F7F7A4E035E9C3A2889A58063C65CC41FACC1E576D32BC02704610A9C15ED0F45DD4F365FB8157FF08E7CBE7585E314581750B5694CFB382FA16340EE7350F240E277EEB71E4CCE7CC9DF58DEDC7696120AA77FD8E6BFAE758CADBFD97ED29F8F0E62F4B142F1CBD43C8F9F4EBAB25B0359F9BA02E371A25F9573F1C773F86E53D7548D49F190FB7BF31FC726AA59E89D31039322EE53E203B476F5F32D68C2BEB6EC38DD9901434B877408DBBE8B3A88C2ED7F9445CF2AE091C85E4273F0FB7745BC693648FBAE3A4C76726E95F20A7FE1EDD8E43BF8CBC12379A7CC640D485BDD4747399BA5C206E1D224CEDC95617BCC204CBF8C2DB0E2C4F269644E3CCFC3D43A896B473A1E1BEA155CDB202036E5749C11C981FD80FE00E8EA85AE04A94500891AE660F09655AB9610CB51C7E80F2A7E638B269672A98266F9A358D51F937E5FC7E9BF5D89AFE8F5AEBC93750F6C1C5F5FAB800A17101FE7AD6E85B4BB79E0741AFF6418ED4B6C9C2772704FAADF6951F17CD76F518BC9E7A77FFEEE4748D8043D39699A46358580B639F9362EA1ACC6279590F9B691CE17DB4AC835D9874710BC3BCF0C18DB6B48B62549531C136AB0B8D756B08F9BC36AA13125569370DFFCC6C80E6F6388D1F465E0395E144FFD7A7F7CE081AD99C59D89440171A9E8CD606BFCD17567FF3FE63BE15794EC3B551E42A2286FFFEAF49D9096E63B75B1F75003FFE04475520B640E77E8D8738E155C457AC62DECEE08ABD4AF348402395BB6D579D7B840EEB95E186CE206C1A85270A9E541876BB10D560C3AE4A0E5E9BABB8B8841EA363EF8EE403B302490E5CF513796AE5092C7C9881A65064FC13B73A4756B886B8F016CF1D997686199AC24A21719AB293BA227E61EE8BD60A37384B5568455402665AF11D3D5D3FF941C1FE17CF490691BBDD74A205EF6E4E10AFD357F5546DEB185422882535CEF88A1C8A74BDC7DD722A9BD9DB55B80C2F6CF11AC6E381164B6FBA41ECBB33AF31278A19D6F20104D04011C2A2287D7597DBDA5FAFDF63584EDC3739674F2BDBC9012E0B7741F4C884CA742F7D5CEBB594AD7F55826EE85E3C06CC77686CBCDA0800FB4B08569D1D8F396BFCA7CF61FFBD3911B444E1C603 +MD = A3329B0AB358F010CEAD136FA0767C84C9624FA2A6DE470F23DA8732FE65639F71B1DD47633F09AE86349E977E4DE804 + +Len = 25736 +Msg = 858EF34C28B8939BFB4644D1E458A67A034B9AF9F82DB786892D81C343D27B96EE49CFFBF2C3419EB11EFAEB9F8D0410B0EB688156654A8E32EE2A570C5A88007656A18380DF33F7756A6004766A6B96BB27A741057A7A0E22D732D797C488EB613F179DC3F1094B2B5C8E5A34BD57F26DE85E234FD894A2D276E8F31D0F7F23E570A0A4E13BDB635CC8897282A1AE00CB0C8F04124EDC6EDE1404272F1BFDF55AB2A0B3D5B3534A4C01CB0E1D5750EE71328FE3DACCE5420344108996B6DE1A443834B6BADFE616534EAAEA32681D57A2E41C77173D6DC0751DA26A17731B01833AD0B9C4D3B48BA23773AA6D2BB7029377F453484A44E6734A3ACB3725FFBA0547F1045F18BACB1E9C9C801759B9A16209F0158A4E8F21CCA9112FDE82388CF1FE58ADFA1F684C3158935EDF9388B42AC0E5B3B68E6E6A4D4476C4EAC78F166EC5FA464B565D481F57A9D263BAB7A1FED05D737974C4F7BDAF2CE5BA40B2A993E867E5844C7750014E66BCC5BBF5E500402529DDABF1EA2E395DB084C4BB85766FDA993B547788FCEF35381FB16AF0965A08EE5CBB4D68C934785594B37F78E76A6558AEE73E570E40CCC889B0D5269756BC40897EC0C2D6C33A33B1897AEF297F377CB58A7A1A389EA60F4B5F25D1305D046E48D5BFB1083A82C5AEED09208FF83076367156B9071BEAB5AA12D9DCA9F8AA093872C4C95B84CDBB0B84ABBB03F33B63A7C603D723DD9970524548E61F3804B7A914852AE55D377E25A8431B1E7CE78F1294664925D62B7D8CA3C880C4AC80E92F8E86554BCAFCD39CA44CAC017F4C4550BE119EBDEC7AEECCD527EFB478348425FC3668141607D14DFAC90451B2996DD46B23683210916B90E63EA2A4A006BF72C4DBB6ABF3D0505379C5B360966A25471E658EE24CABCEBB5C6ED5F8DCCC84614D64BCA54F35189F579C170F2A2B773AADFCF3C1C435885D0ADE7121A4D2FCC96AFA88DF6EA2C519A98AB279E9F75400AB053D457ED3FF957C20F282BD121EF67F53053FB4963D08F70EB287E011DFD015CFE492ADCB927BB80093545014736A12E236569ECC3453350A5E57D50B1BBCA5C8A01A946248370CDE6177D7B8C84F11EABAB0C3A5CE654FF85783EE8EEFEAB58451CE73E164A9DF47DCDC9ED24B0F7A87E0ECD1A3DD15E6D656B8945F096492EC72C0B51D13613B3134C3E31CD1A3093B8023649C1B3A3EE8A09E5A8D612A91B4B14646E22D575CC09348A5A58E0F9B641037D7B63D32B40EA5FC16C55A0875F3E64F25CA97F2A70DA0F4567C9626030B5B8463D8A55C34665481F2FC308D2B87111D23B1B6CA96013FF033B23216C27C9D2E1222DEE25B295E180CB6EB9BBF72F59AEC070AC809A79B3306E0BDB701521D4DE1D755F75EEAD5D79A72DCA55B6E25FD10C4EC68BC5C585AA1C392DA26BE5DCB75CF2FF4B31C3C578F9708191F59D04C2E00ABEABC6B217D89BA9BCD0CBE76E72E316A4C7F18AF642D9FAF3E76A6E4F4F5E80E1252E52F996DDEA279BAE6D88EF866AE6F3D77E0E105111D04D4145F09691925CEFC2A8DF96F0D340AC86C0B48EF5D18EC1DF59748BF5F261580ACDC4F58CDD2C2649E4B357872DD982D9FCB59916037A8247C6E374F0CEA924A25ED9A0B5DC15DA9AEECA8A9A9DE9811E1DCC4F05357867871B959AC9E1D3C4AA2633C9445AA2239D02E9E5C7D22FEBA47E7A0332F025E83DA06EAA82F30ADBFC8E1167391C6F3FA82B87857DEEC2F39D08D4AA3BA59E1598B54D665BA68438FC7493B351AB54B907A80945FEDA0ED5ABAC57584182E40CD4C8B48F61987A07AE6FF6196E5435324B3546F7712BF453A1F31CAC5778F94647B656DCB4FDD8B58AD3645FA1D54FA7D8EA1B627F65D68D40B9256778B46950CC2D1E4C3313D542105A3476A7AE2E51877254BD756E7FB55A55526A32B78C95ABD169DA1929CB3A1A098D246F029AF5DCD0BED4546B2559A6A4739396C2E222C77CC4D3AB47262CBE363465CCB3223452A35B91C15D4F2822FD75A91A191ED0B19EF0D4689A2F793D31607DDFAB5FE0292EB3126C6729B37BDF4EEF808A1A715982BEB2F9D6AD6571D2346AC4CC75374B4641A2BE62140DCEF6A105EB3AA593207DE595C439C8E94E8596F8D995690813B897F150670374DFD9BA0588C7AB7603958565BC31C274ED42DA1BA94372EBE0B4F08611DFE26127E7D05AFF7B9DE63B360B8C3E79B0057F92B40348C4A6CF8C238BDD33C204926C342170D9C15DC3D69C7E61F2A94807A4B84D04DF599411C11DEEBEAC243681FDEC8BE382EEEADEDF61F728646FDF9A421EA231FBBDE6613DE7A4F7BDA125AF5DF1149ACCAAABE2C2A01841D24E165AE76808CA9AF94EFFB1CF3B1E31C765559AEFEFDCCE122BDFE567E67C970E6B40B468DA0AD6B82BACCCDCB293722450AEAAE801A342ADC7F1F443D9935F5D438A16361A087228C2E26C12CB59BC98774CBDD9B49B2A065C8A767334CF16DD2717CF45A0C8EDE97B4F4FAF99ACB013B5E0079F2B3A6A2CB82B611DC7818221A679C007377EDBB9FD0A2000B32C6A17E1B0BE9B91208EDD3E417E631C2E6D23DFA763FD792972F9A9B1C8FA42F0AF5297EB49B0776BAB810B6856E0175EB1B87EC83CD2CD12E2C5C1610E1EEBE9E665A6C3467B870A1574E6F2CFC865687515D8A35F5E90D85138C3D2C9823696E25317B1BA5B0BE623FDC6CAA1041374D398578167F4352F315AE9DB4255A32EE4910F2742633D79D5B5F105ADB63B0A3D776350B8574477E572EFDCA09574445ECE8DD6382FC21D7B9D68B3A4BFCA158DF4A7AA4CC1C0DA1016C364C9FDC62ABC991A3504EABB590809B2D41E4D51CCBB0E92E8752A4C0F72E74CA7E45EB1968191D564D813131DB2B321279FE7A104ABC6E33FFACC553D0A62D69ED3CB67798BF8E927D4DB02A35334E9466052858E6828E0C28540880742ED54923BAAB85922E05E0B66EEB401453C82D5B4D7FF25297C1F9F1358BCFEB5D5294773DE203D7F2FF9FAD19FEDCE6C12896C1AE44ABE0905EA80D24BCAAD927AAFC6AFD48DDE526F3DDF4E6CF94EABB9E99CA6852360DF3DD2BFC7907E42A35744BA720FB0F366EEDAA8E86E44059F64B384E296F00ACFB469472AD01232E4A4833D11A2CF097C75492E2AA1FD7E425082195BF43F4CEF3B3477D16B606866F1AA62644F1A31119B9BC787ECF70686468A96AFCCE82625C860CEBE802C270605EA003B2B40124E8CA4EBC78A9CE226CBB3AE74A7FC829F53A51D925038CE9A3D3681CD50DC463AC3488C981DBB0ED6E4BE127CD3AEC473765C2AA762611A641848022E33AE6B5A1BD57D17221D172A1775AC54DAE58A1B0E21C54853BA59BA46CCE0C62399A547DE37557FF4B6694B86FEFE062AF6EFCC103C4A1A2BD06700E8769E4C70641011E5424C2A2F0A6A2C8EF989774FD59C0800EB0CB19EDB51B69E88BF4FAEA43F5C2C2818F9B95E27BC68F60BFBBBCDC778C6F6B116333DBC17DD352E2E97BFB5E33EBE9B3E518F93E86067E75F064A714DB634E37CE71D4BAD65FE2BBF326EA2793C87CB44572C965AD6598312BD9838DFA8E1B599CCB8701DCB397E8466A8524B568E77BE95CB96C79A64DC180A736A6D996EEB896DCD9D9AAA8B6A4A9AEEE6F213DF1A071F6F309C1ABAD52FD477F6F707F876F40EBFF3530195EC39887E3D764488EC4C7618FFBE79265EEE08CB809CDBD0F7D38A8A2D292822661C2273D8270D1E0B2BDA7DBF1362349A9206BA25C0DC1C668B39DB7724E29050618E43BBA05F50F202D9A026894EB20FEE7D6FCBB22D7DE3EB89EEFF428AAA1B3F18A9847FD5FCFE6AFB9EAD2C864E0DB5C0C7533E574CFCBD82F14DB20F851979722277AEB0EF579802336C90D3BE78B47DED5C829E83956FC9587ACD1B0157918C4A1DB3676E4001F068128CD4C4511385F4AC39EBC687AEEE6EC7D7535391062191F86B4A2F1818E6D1DDBB24E1E7CF743E399106AA1C39E52AD7EC2BE7BDFB32B54E923D50EF8AD4EBC6A80C65614EEA4AA5D07F48FC597A29EE20026DEF2F300C7D3CA727E8857A098A0FB22F2C6757268E390F839BE20D459830A9E3DAC71EF418215D9B89BA559A80341E1590DC964B8A6ABA07FAAE4A9AD8E5969E9471D53E4DA76889AF5F9923B18BB584D71E30231E0EBFD9FA4891AF34007C1235A9CFB2B0DB0EFC1A5417CBD53F694C6F3882E8553A0E01F7AE34C24439A97DEEACE8BDD2F59515DE0760589FF6230D602BE3893D27E34DCECCE7B8E310D87790FFF49AE5B530FDFDFF71E61BE2E1B90D4204194EFD263D1CCFF4584938C06666B0AB675A6CC5CA0C6578851730E281C107B58A27099647541CB2B9C46626662451137BE1B34438ED825C45628D7DD49303770BC3330E5E98E9ADA7A1CCB694EE5E00B27F7A5AA000D1D9D1F7614532BA4B8AB8A92367B6946247B5F69F870DE10775325C65ADE56A7D063757371739E053E971179D2BB6517C7D9F8EF37A78DD3B9D15C9D2F021D4B81FFE9437353A965D79B82177B6798A70EF8511D27FFF215B741B9 +MD = 74B86343AAFC1BB07D40BE7BFEBECCF4BA3B12DCF681F3458DE208829F704D3512B7C60C7D211A549EC8C9D4F4806257 + +Len = 26240 +Msg = AE82EF09B711951F6082B1BDC5B175C81010E398B8F3B18F5AB99F78CB53A5F953BE09C98BD9723740C7A4E6D26A64AA62C6973F60DA560E14EED63D001F6E281701773C34A41260A2AE675DE543F2BF2FEEA4B17EBD928AAD65A17F7FBC4B7570FEFCA804956D4D9353937C3FAA15516C8FC140EE8F91F2711E3AC0879A1D3CF7AF7963CF82E08EEE05D3D913D2B7E568CAB7655A8BC5436193641D76F7443BEF83D5F468D84C80B8D37250F06B37781EFC0D885BC7358A2B90FDD5CBA3DFDD0C57B8F66750167546494E31BB751A9E08E209952DC1EFAA2B1210E69D974454EF55952E35CA7F40CDE944C665D9585580C70B8FCFF5BBB5635F5D8D549356F48D4B5F173C541CFC00C3F42695541CB778440F64EDEA6D0AC8DFD38023C7A013FDC28AB3C57FAD938937CBCFBCD941D315E751465428B82200B75B3AEC1776C18015AA39E25E162ADB0AE24C19609F365F45BBB8190FABDEBFA042076FCB0F2CBA3BF258F6FEEEBE3823BEBD9DBA95CDE03697D6722A3A64B926311EC03E6B56EA047D2F5C28730CE7B560FDE8EBFB1BA74AA1CD2E57A12847BF510C9B16AEF0C25AE397DD6022CEB1902C8ED2E24054875B5C0C9E6BE87E9F40C99B85F90A4779C109130F0236D1C129DC2962BB57479E65BC99D5DFB6BBC7D96A290ADCF3AE9ECCA75587DCCB2CC318DA3A669DA92CE2AF333897448A669F1A4C128DA3F964A01AD64E132CD940165F5708B1583623D20CC5A3AD9FB860F342A4D47E2CBE1C43577C9B98341E15B285A253C32B3B00C39F3F8F9983FBFD2D4F217C857960A7EE6C962C2CDE2547249FA56F97B6857348D8A449CE8DC83CC99F0BFC29E214E0A3DB6A636BFCDFB15A537979565161ECDFE6A4C29D88F4E465660E4B4A493B3395AC9696E5BF5F4D2FC6587E673F8B65BECE1CA4417382A3FE11215C5EAC591DDA0BE4A9F2FE0B1B18325280241BF7DFC621901A0E9F4CD471401064FAB73373BE0D800FE1CA296B27200DE5158C17E64216F01EB16E58B9C9DD51837101447558DCD07C7B782B6016313CBDFA95C07B9C2DD25DFB3645D8F22C3DEE68B1A43CBA114ED27A6F3E55CDDC7FA856FBD07DDB72F540D46F780EF5EDFA68F9C28FECFCD3E967A030570ABA49C8CB2A178D2557E6B9A3FB387ED2F6EDC7856C2B05168180BD6BD7A88A8BCC8A81C5A0331E095363508CD329EC504EA321A6766C58D658E0FAB942E1DC2A308BA7E122258719877BB8AFE692D1CDF2BCDBB410CBA4E5E5E4B8FC8E1449793FDA1C14AA337A1F88840C3A067582632B652E2AF72EC8874919F4D8AA94DE30EB3F1E44AEFEBC66F58E5EBDC766B7A3A8CD161CEB65B9047E52B931AC59A03B13EA6E3F41E38B40519AF385B57C72DEC99BB7BF37D71F4A409100A3BFE2045B292F92775AEAF7C2394A15135F971784441637D51467BFFE9B4BC853EA4CFF5DC8E251263A76062CAAB0B75824D21C763D33405A95668A53DA22951E9626A091A57F8A5A27DBE0B61C0F1C652DD0F04C12A3E3CF014D95BFD35E56447047ABE79B8FE04CEC137516C3EBA6D02E68290F91A47868AF424E1DBF5584647EDA7FADA8F051BEBADD654B14912404F5AB54CB7927C413EE02714D74E82B1445F92EAF64C28661478B508996EDB82014E014A968242135D40AF966F0CF6987E7616EAE588C298110AE42333B918B2DCCFE4C6A60E97E65B63E419D5F6B640250244268765B5AD9B73A5D016D508331C42F694C970C2BCB745BF037A4D22EB2B4971D96F3689EBF513BCB2A2BE78893E9888B623528676D94EFBC768174145F212C941938096472551178FCCF31250308041FCC72AFDC3B845A45FAD65487A7404C8970BF8A3BA2C8AB5E768BB0CD85B3A6F0F1C9EB66C103062161D6AEDBE76C43F8E39F6BBCA59956A5281B5F154CE2E6649701D03ACAEEC797267AA0623B70C1323D22FE6A01391143901E4F8CB9E8C76F40FBC443427FDF93EE909FBDC26891D445202891389410EB08F52FCC190E04219F2A75FBB50194A5DE57CFC0D00F1A7D03A0048B03C5B12F6F5BEEC8CEFCAA7BD41192865810252FAD91650CBADC85BC79F33A940D45A39E09A2D5EF506EEA567F695560C5189E9A686E3B363B999CBEFCC26070158EFA1A267A9B532D6C86C07CA47454B346CBAA4B4D78EF9F484CD11B2FBC26E352FC18C69203F8E9BCD8D4F1BCD1C3D4F7B12ABDBCC58EB6E61468EB8D0E733D9021B679EB1B5146AA68294DC508EE15BD6715170145A6704D3E3FA306E1F47A6064175DFCFB46856F524FFEC08851D558564BF943D9216D6199E75409516B8555A1429254D3677CEB193F163D01B444F418EC633FF9ED427FE28676B6B650C0B467EF2E7930EC43D3AF92D6C7B602ACD21CE6F22E1E463FCDB22BE9F2234A9331E39B3A5505B11531AC729E6F1A8452C9C225FA040132C62165A26C59E4879D93FBA9C75D3762FD1BB8D3EFF59D628A193C9BEC89810507F45EDB215602FB65385F99343593881AEA6D16B565F41D6CFAA0163F2A2871D21FA3DC94FCFD576F7DF9D37089BB3B4B1A0DB09EF42D91CEF3E35347D7B76F5B057C9CF09C5A418AFE3AF06D27A4D95BB276238CE06980B1FC9215838FB0730C354C4EEBA8491A5B793AD085DC5FC2697A19489132CA6193D96C4E1BB29DA6D719F86D3E8D17973E76B57410B298BB72B709ADDBDEBBA6618ABB26D557C9C883C8F159C91EF620D2FFF202A1805DE6C3EC478729A761E306A6ECC362C1C1F2CA18C7B5B3F9FEC42E41D61AB5963A7A2783AAC5E5159CF559F347C805FB7B45EB82986AAD4AB6FE71A112EA039CBCE663EA37CE6FC8A26277C8908CA6ECD9C40A702214FF22CF2A558E3B9BFDA2DDF6BAB5C7F182B8393AAF6E0AA1110A567FEE52496BD861A92EB175EAD0E728D28B2823BAE9E40636B6797A6CA4571D76858C44774FE14E2B99A315621A830CAFC9B8494D7D973B4FA8CDB8FCCB6E5A0A1F47152032747AFACDA130021B55C6D9161149936F19668D8CF562B8F42ACF4165377477E2447565861DCBFBE5301DA8663C11D86C9116D38D59C4EAC0F63479C90FC8E4F105D718023A1DC064CD1338825EA1241221698150AFA47BD6306595CA5DD37B1B2B0819C9E2A2A8802007886DE7C407C312F4DBD3E2EC5EC78F623F04ED7E4B27290831CA1CC9CB80AEA157EB7362D3079CDFB102342512BFB1AE0B979E4F162410D31E0959E8BEC4DDE2BD9FC27F0B48787CC541C184C5089D39C9166F83079808A99004049FF1C3CC452B12A88475E900AE0566930151A850BF572A8E6F168126252280853B16E3B815A8FE5C8A1359FF78BB0861B24BF8C5592C49B07C73330E342BD201C03629DDE238CC7B85D13CD2131B1E1FCB3957FC51E6CCFC9E4A26AF0C2364CE35D7A47375AE86277546CAF77635947EF7348759512BA6DED26785B1F905B39C9D1DB5BB347F1F9C46C0ADF8F02D3C030D6BBC2C89247E8705C7B1A901EDB762F1ABB4E62E874AD7538A07986803C49171F56DFE055F6323B3EA04166B0961BCB7F47DDDFEC344628B44B92E14CBF242911CCDD5719BCC8E7909782D890265CBB3745051BA36792DA22A556C762ADB228809F85FCBD1E521387906D4BE384F32379AD5674B523D0657EA7EBE7E1577A554864C8725DD8709C9B4A16DCBA3FC7A3B34B2E7C1017E401DE15DF06C0820233760B1DAC69353C25E981D11671B2A2834FA539423C7717173EAA9D83D88885219C7F7F4049B22CB9C3ED5D167CEE141A0D870BBC01766278D413027B4B11D016D53936B77700B243D3CF43182BC22EA0D86AA2F0D682193915A933BF693C44DA024C656940DDDCD469DA474940E509C584309D6795C857ADF9AE69FFAD2FA2A97D367520FB4A62FFA547F4615E343B6626FB263C43A87779ED79FE9C42DFBA6F35952FE3945503C7E99F3C4B1D11A8BD92BA34B61738FE2CAF33345587F60EC2ED6C6B914253E894CCB7F06260261465F12A66BA93645FF0EA96899FFE0DDFADC9603BC66A89E055FDB75809FC6D0B974B0D7BD7E470090CDADBC91069FE2E17DC7FF9158861B81BFAC6AE544A3F0BCED711A3B553DFDAC7A0FD48934B70C31F8644F8595B63AEA8536C346B505583F847796ABF0E89371CFCE938C4D2148B99DDDDE677EA04AE4AA33C58D0B2DBA36A8B7B6D3362C7B2C7A3BE454833E2E19C1C8F828F05D034D7D216641205F916C1A72E512090F924C4574DDB24BA89F760D6F52F40CD511CA2172FC0FEC366390B7A26C1F96B526ACE6494C9D252D68A9DA2A93FC4E4216D70A86E09FA5707562100FC69EFC6631823B0576D5AE8C668EA6AFBD7843A7A1104355CEC3B2032F4693995AE5F018C8A163D593F83C86B3873DF812D877AD92970503CDAB0F4F77F10B1DF1AF102F9201F6D92C512EFF44D1DB32678FF7A583AB6F1ACDF6C77D168E88E635F05297BF0E31E4826A27D8AD97702B9A1FEF9958D34BA04984DE027B22996DA1439DED3F859A3914EA27E4FF3ED4549C4AAB5D805D593C9ACF76648837C4566EEDE6D307CA8B7AAB4DDCC7F93F22715677A23055566A83C12D8330916B49179BE2B2979DBA70643A3307E4E0C6FC596649300557E3B7B587BFC80DCB36C7E8FBA9 +MD = F7652AB4EC1EBEF1183C8DB0BD217F8BD557F604F459F5A26D17F5B3E50D9DADAF1385367D1C375FA9BA42D2514C78B5 + +Len = 26744 +Msg = 1A3DEAFCE70AF6F3F55D66AD9CE78D5F4D5C5F2638A810AFCD07D67E9F9A1380D6B34BE482EF030C22F1E978F544609CCE35A74C5109EE7038495B6210CDBCA8DC82C6E9E7B0D593FAD9665382B3C401AB8941DF71307DD77EBAF140AA66A1F76316478850E58886A9610631E9C722F459FA00C0B53124FB4F12778BBBA3760826D3DBA67CD030A96B654AF93F8E395F5F439549489F8161683F124BC980E6939C83A6085E4B6CAAF8BCD89A0E01ED70DB487166CC29735D9235A9CDC57B80C9C2E591DF6322F5BEDD32937073F781A30389552AE83FBE147D1B3D3461A3DF96C15CD96900C56718EAAE838417057579115936862679F5F2A45DADF65D14108AF1641DF987B57986384FA1433789F5DFBE87E90BD4E9D8D4D0741FCDA7348322B967B566B18612DBB8FE64F151947C3F7E361EE868676BCCD0CB3A1AFE046BE70057A05ADD3E65AF31E3FF414A627C0183E8FF583B41B75B203650420216E6DFCAB289665F054CFE3EA0943647528518573BBB1D0F27E1449E98739EAF0D009432DF0C1EDC1625264B94A71DB762659FF5A3A7A867F182D1F1FD34B341A4A181221870DC4A494013091A7E3B2B07E0160C438F1EE1E8A2B989C4FFEC36B5083EA427606767C29672F44779A8505B422B25A56907F565B27690D011426A62DF0036D57D967CD1D14E915BBC2691E7AF818C769D9E1F9EDD40894BE88FA1D7A5952AFD898E837716ACD73953BF2D1D448123FD1A0276D2C2EBDC760A4B787416CFAE5E963FCBDC8B551CB70F91DA0ED4A8090FEF178E879F2C34F3A269DFFFF09772D44A13D7A17468B5834C460957D5243C325F63F05F89D4ED98D361E7F0AB8A83948A64D0CFF8514841AA21C7F337920A9983E59BE4A0F1339E1E462F92DC1FC070126206012458A499A8111FAE078E00B0CA3BC1D6C7087CD318D5603C1C7E0425E6F729CEECA5F35B82F8A42E0E9B950EFB0904C5FB5C06D91D239913665ED1F1EE4B82185A01BA86CA2D3EA94E5A8842231A94C05280183B7ACA289984103F122203EC2FBA4A382E6F5236D6F68DA05E3BB0C558421F0EFAB91DCEEF6D1ECDC60F9B88F8BEFE31CDC3C2F024A1AF2C7336AA5D151E8CDA814A5FE898BADEB9DD680E337E682EBC22BFAE445417E37D2D89A338659A280AB1206DB74DD42C6F25639C1803BFDF2156DF613B0F5924D209F7F9003CE8794F989F4F27B82121210F4F65EC5A1F7723305CEE438C41F793EE04496BBE337BBD2FD3023830B1C8889C6F4D0C1192E364EDBE1CD987BA5D66224EE9C9405E1DFCEC0EEFFC5C73D3123F6731C6295D1E6B854B884FD22B6A3BBBE5395312585CD138BCA67532C6AB71BEBC6657C50DA87D2AC6068FA3970202C5E15EB7B4B3D2676C0134BCF1EAC2B26BA46930B5E660B16060894884C88BFACD6779276B86F685AB6F17C6D53F621275FAD66D021D26D1D480AFAB4B5EC75E0E763FFC45F599EA02504DA5D91EB5EFC3E4AE196F219E45E7CB05594958C876FF474A020EF73C1F09B1F7F7457E816D3AF51D86663D4D461754CD5E907456691E02446D6CACFD33516206A31870543D574592087773653D4086C2BDCBAB3C9B65CA11AD0D4E58DDDA8B440309989857103929549B7300CED42651D4086661694092C42875CB62858E6D1BE5F7274B4BCD83AA4DA05CACA186A30902830790F9FFA24418E1F9DB00FA40477E83B05C2D11AD7D81DDDB1E31F94A9DD5E9E13391C22479B570976E3AFC1BE41086D3BE6689D87CA4326A7CDE8E5B396A678D3CDB2C80FECFBA2BC799AE8B1528E96D880CD098DDE910D097EAAE660AD4D7EA51C18F18AA1B39614299A172512521DFD231B9840909839EB69C892EE23F1BCEEC1FADBA75786C7DED93BC9983F74CEAB397EB8BA84F7E4130B34258D628594A6F9E2348FD91BA2594E07B8057E8A2AE3ADFEA0EF919555385977041C5B6DC4F3880569171F7217AAA9A85F2F5BBDFE3FFDF79248F2A35FD4DEC34980C67290339B1C0A5A6AB8838157AE2F5140B4A24924A6688AE5CE72A48103EE9029CE8A0F15B1FBB19A12FAAB80A7CD9C0E389FC2775833E3190F1CF735ECDFE7F6B6C326506AA82613CBEDA8DD3691B81F4C1E3B0FC32D7E6719CBFC12F4A26E0FC29D6417953ABC9568DB4ED9A294B9FD5F2A666DDA546ABA301B1C60985033953EFD6F4538333B5C7DD3148814A3FD7927C366F40B3D7ABBDEB2332DDB586AF80959097663CFAB2FEECAD6D368AE10EFF9663D5F8BAB95935D25F45776F7F04B46817D05165A9DD4770509ABB92F8B9E7373CA780703569981754A51D6D376D65C57F55CD70E2DF5FDF5A6B829AE30CE3BF942815C8B4BE858DB58151D02A68AAB9FD373E047EFA51BD1A0CD1B61744D9E97CEBA3334B3BAAFEA3BC9E43AE097CF2C3D713EECC247FF43EC74D54907D8BF45E45B2E0E11D82B126A8179D3F66C055E11F69EA67AACC5FEE8AF01FAA379E51998F5070F9EE0FD30A2EB22A925586FB1B39024EB5EB1E127C76A149E7F02AF1B73C16E9E5A5DBE378E08A9FADF1194C625132AB3FDEFE8FE9A89BB8E0035A1A3AC5278F5D3D0ADE0E41C81C6853A41C4AC45BE3F68180FE23F27F18BE2E339DE1D559D75DE63ADF7A32BAE42B037AEAA3E123A5314891BCD35CA48D57DF4C17540E97202A8EA1328DA25B1FD6BE2B56AEC1E5DEB209F3B7A13ADB1CBE53EB645956E577A7621D74E42376D70BC5C4AACD239A852FBB7B3F62CF59FE10438C1DC8E1E46566325DA0CA43AAA63FB7E0B450A2DB3E3A2204704D894DB24B72B3078106E096CD543DCF027650CB4965E38AC36A8AD588C5962B4E26548AB88F0BC20E10ACC1C3FC00EF415B3C32499264552B14E2C0E789A3B8A8BFF9620FD939D0B34E806177EC696A4B3B1CA4B32BA979B2690CFB3A6B17BCEE6877FFCE757E4116DA01099FFE82ADD5A0C593E73449A96DB9CC2B9E846D166B095174F2CAF8B35DD878C836D9BB6EEEAF8E1BC5D0E149C739828CC480D731DC16B35B80D4AD82ED7D29BD05018239EFECF8DEAE180C6A459DBCBFE4AAB9A5E2C1E1BC31418CF2EEEB31FDF8BA02C9A91525E9163F672BAE2EDEC38C1BDB84EA237B4EF86BF5C0F0FFE178E3761E82D94F66E5EA40BA8170BF768409E1B4177AAFD9937BCE3FBFF590320D7C445372463FBBFB34F57447F42C16E026F179CBF82F617C86D1E8D42F6C908F9C6B77E38D25D51303DBD781FFAB569B4CF31FD0B947C45E1768A2E9DFE8369F520DC38D77937B69B821DB4FFEA8F50EBC404F0587B5598189F54B5A5B98966FD16801C87DE2C3C7813DD70DC600824D426D88C55E89D47214D59206A7A65A65DA7CA2E42FA62ED17E7AA5B3ED446BCC71F17FEC8593BE96D2037BD07F9476D4D732B32BC5DF8C921316B45699004716FC89F8D45BAE402C26DBCDF1A340847B932FF882DBEAFBEDD252E126C89A1E1FDD8908A1F67D15D8E432DAD8E08E950A3BC46B96CB89CC5BDAC703B3FA3E986EF1C6E7E6606E6845BA1EB2FBDCFEE744B5E45206F4A419E1CB103C8490EB293EE9AEC1F0A0D294F9D3847737413D30873F3C94740E8FD072817815EBBCE3F09EDEC9D1211A9E99547D620B2EC56C89E9CB8144AE9E46636324BD13C6CCA3AB9CD9FD8F7F937ABABC598232384427A2D4CE0CBF9765F7225E208C3CE128602B0AD08A1BAAB77EDB3111F0C6CA7BA0EAC9D89D5B4378EB82C17F6EA08308A79A53D150D3F85EFAB77294F02EE0E2885EE2AB2793392B87DB11FA77992F5B4FD75EF2F1A822E87407A4878894215AB89B6CC4A120F5A78B3C31AB80FFCC9ACEF53FC6F7F85685EB9D56D30D87C21ABBF1652EEF8F32C7C567BD1F08623B09C29F33561D42727A5649A3850071AA6C11735AE63C4FD31559CE560B27A362786A83353FE460B37074664A9421D3B2F6A864D5ACA087187B27E2B82F31CB3DF5E985CEA271C609B94B4E58356D40C7D5C7FF2E5990FB39588154843EA5FCA92F120075D4C4D006661A0FA1B0585454BEA725473EEF7D58117D5840C8348999003736C5EEB7858FFD273A1C3EB2812F5697C59110275B08F6BEFBE84C92497D5F73B7B6F794A849713B23AC5F29D5C7112FB2E7A6E89EB54DDFA3122E6C79624C1BF25EBFB9FE5CE6DAA779F3ECB2984DA42F8C6ADC77B21DD291E684FCA50E46070962A2D4F00813D8DE1B8ED33FED9715180C7EA8E2BB74FA65D9C7F6E142F3C81CDC59172E1020F62F65CA5A12CF2BED9DEA04A4D8CABC2948F7BE823A3E792625275B3925A6C8D8E2B428C75A5DB0F7120278CD7D6CAB768755C7FE2FBF89FDED1FB38AC7F76A2F8798CA36ED42CB7C07F006271205F546A4812C20077F050D4CDC79459FA686E97F0704B7A9FF7DE16318E862C53D361BC635A55A264BE15016545DBFCE3C6D6849576ADEFB6884EDD768214E0B438B0231B4F2692C2C0B5C177674F8A0DE236EACD9E0CEC7C8647E4E9A5861B957EC834A2F8572F01304C3FD6A06019E5F1499B62BAA8670B652467FA9A4F10F053263BFE9743CC7D933F86136AAE3A6FB56754D7D238397A0030CEBEA87CB255AF36138C373DBBAC41DD4A697032E4796C552AD9C9B3FA713C3A4E09E0EC5581E94BE7F31065157662F9E9C678B1EF1B8B8A847C51789C22B1841BCFC855820AF3258AF9E08231090B45D10046A00178E89BD515616B8A44E77BF57795DABAF40687B2CDA7A5014168F +MD = 978A5C74CAB4D5B773ADF64CABEC0DE036D087E041F6C1A985530C2250D283FAAA7FFAA0142588694E67245BBA56B9C8 + +Len = 27248 +Msg = 93B01F62E3CB9658B4809361DA42E9074E311B9D632776D32A2A3E1BF168C7A6173E449F5EE483FF20B6030362A471FB3F02663D9D862A05767CBC32211D47EFA54607C052BEE3ECBC211C7DE60EA83BFF1638F80F203AC6675A07756CE149A56903F78DB2018DBAFEF1B93FCADAFB639A184155EE7A2AA9E49DC667012298B1D489143FF203F939E8A826290B95CC4C45A6FB25A4687E582328CE2D9690950A32FDC5B5F05F39582C8C689040CD4FEDD7919C5BB9DDCCEFB127750F2776B901EDAF7173E90C0354FB375C6249C935890632B86DFB37E475FC480E4ACEB702F9353D250EF73AC075B0BB6C6B2F0316842B19ACCAE8E084F0739533E3E3D62C5FC107033937EDBF1EC95E92512DBDDAEAAC8BDDC2CB8EC3488EEFEB62A1FE844901BC12D9A0ABDD8DA4A06F7B9A9F095761DD80E891D2245E5D359B39C2E461BA80E33E1BF7C532A8C7CB35002DEB5DDD49CB113C4EA214C04B95C4A5A68F68F513D9B470459CD87489E7E103D19BFE1EC3AA8269A611F0A516408232E396463DAD842D0C1E92B25E9A3CA1696A5F2A684C23DDE0A6B3F2FF2EA1D956D5E6AF67F7D72E3D0692930E446AAAE18373861A9521D67CF741C61EEAB4E8D7A3F496EEFAC6780BFB826B532BC868B75609B1BE86F9EC249732A831A6A8A490E2BB60BA628D144BE19502EB99910E3130E5658FB5E3348CE9DD030E68A519407197F563B365F237816D9F683C5B736C40B236FA4AC9CEC9A0CF8D5B54D5AB3609131A5A0E6BB4C4CACA24AAE1989F1859D1CD554CEF05FD31220F7F46CC2E2D94C7B94840735A0F3A70A556D7E5F4845123CF16DDFB563346B9035CCB3422197B2F8805ED2D3F6A15BCC02209B40FA7609AA86FB6B91F765AA189E283148517931EDE0F19552C945A341B1D693CEF0167EBB382933FDCA1E9D5B5E2F0D881AE1265E67E39793ABF652B2DF9813951D4335D988670FFBC2B9C98EBAEC716D13D221D8C448474ED813C1DFA3EE8F8BCDE51792E87F797A4EFD8003ECC9B274D0F8693AE5657629DA8E12468524EE8FF1E6790DF08E9AF05B1C6C061E6A24CF952BAF4CE54400F3A1E223C0C181CE974EB413664DB47BDCD62A0C368F8D4C2EB457BC5E7554B00E9DA621805D97F677202390079BDD8171796DC51B1ADC27723CE76F4FC1977B1B0F882599C8C4A1276B990912003B2D2BC9E8EF995BFC3D2993783688E1D7FF53EAA16700A4FD150340F84630D1CF90F9DA0C969A4ACDA92C7C7ADC9BB3F0B22B74E956FCFF9005B059451ADD0E9097843F43E980F5CAD9942018C6A801F779F04721D6896976BDD2748B3F2B2E2DA690214AFD6AFD2172AE29BFD6B071CE2D693814A79AE083E9B1DAD6474ECEB547CB18D55D24F98E8D5A343690A0FFB96F7F3213EB1A11A7BDD6C377A2D9E85BFB7D09C53A13640F0417BD0366B31F482C2D8B558DDFB3AB4E6FA99DFFA644BD693DE9204A1B61E0AD790F83ECBA5D445B3ED1C7D4A686D2AB014EBA7807A40A84FD39E5A7526A9EB5BE1CA254B02B529526ECE401AAC1899F6FB8C9EB0CDC5092B2208368BAF9AAE501283F8E7023CBA4F17BED1B6BC52C8CDE3F84FAEC6FC1F11FCD1F7DD3C6099486CC8F6CC7589FF18A4FB7EF203F6FCCEC16160D9197AC419E044D3BBAA2A42E03360585EF383C4B8C8C1025B8CE9CC99FCD3AF5F0EDC45409D5E3545CD66CDAA1DBCFBF727BDE4141D2E659A7888FFAF73AAEDFF9A79BD5E89A28F4FD692DA3FF432D2250774906B737ADFDB06FB70BF3F6D90CC3B0B2735F66A005297EAB3E3BCEF4299BD8127BC8648BF35F4F8A14766F1921985C939799E2DCF04243B142E21516B429111EC9472EBCC9D082CE72AD41DFD2C887BCB86C31435564DF1B397897DC7BF5565A1D59A4C7E3A1D5E28844A3C3E98EE11CFAC4E91DAEC761B796617B092CA922725B09492B6BDF7CBB02F327875D2312CAE9F312E18472E3EFE7497A3EBD4EC105BF6CC0819BEAEB6BEFD4D23CEF5E7070D3E6EFD79A64B4DB4FFF8726CCA73E180C822497D0A23A1B9802A90447156809EFEF25CBD7414BB945C8DC78D5E3E531E4AA93CBB12B1BE227AA6C9B90538634B01A50FDA8E786619A4C4EB1717726F8365CE568F83831FEF3D70D1A1BFCE193B48593AB270C0AE156B2E4BAABAF9F0FAE96D0075A59620E9AD574570C1F22D3FAC28A6641BD29E51D4D1D6BCFDC684C1470DE7332728A82F910D524CD3B89EB568EEA65899067D8E2D41A2B6BCA64871BF53616CCBB06D50AEFCEBBA942EF0D793C3E5827750D5C18017EBA0B8829820BEB3E8A938D5B2AFEDB984469C93DFF63DB17569BFC9D34BCF1F68D08EE24C4310CE9730BD5C8B0EE84A0FA6BB5E9FCC0A1DBC05DE24C19FF31713EED55A672F476605D310190DBFA313C9C7B39C41BFC5727DC5063DC0F86CB5685E721FAA85E42BD786206B2F8BE20848813ACE13AFEAC10A6F0A5CDB11B67FDC6DB81165393BD4EFC21A634450BCCDAEE378B71AE9E3A83A21A6B7C5D8A2B797D9178225C1E3E0A01905105CEB8F8A36FAF0F7A7B93B695AAC546BB7354AE0596E9BC49C1504CC2167BA959F58B0A2BE263072067D5D89311F005FBC146823E9F10017575223C9342757F6EAE3C00289FDAD155F5D5DF87651ED2E1D1EC43AD3ABF521E782200E8A2438DC6AD400D549F622AC6DD0F99D16CF5035FB61457BE66D1C7977420EAC767EDB3EE3500D072B04CBB3481BE845EC09883886A8A0660DFF30F25567ABC2DE05778D22797B4C1B2588CE383F28BA0C6CEE621FB464C5CEECBEDDEF1D9A26F45046D5332B33DEABDAB7DC2E07C7732BEE25F6B9E72E085D8965CE2A555A8B7DBF728BB85581120E16D4B4B53D5E8BF8A07D6F97010824E11B24A8566AD4D1075988AAA494142D3FBC9E5B29866B6C0090006C5E7A21AD534D5FD4FBC2ABF5646B3CD3FD3F3C321D188B608CF6B6657839AE7A7E124984E7AEF67A99C939EB3BF3B568583CF9FF13FDDEFBAC6B63D4E1D9968F0FDC223D16046B5ADB631C890C89ED795DD351CC51144872E57C750E7C01626A81B36BEA868D80D319A4D0EBA3DE56C41E706CE8D0B7071B130BD946BF5A7FD1F0777B6C7AB9F03DAF3EEFA62C63F40CD65F4DC4F957ACF9C4859819991CD0377370C58A71B2E78EE082E20EC09FDA691290241F722C0A54126906B971C18D7669B7956D0B20CFE454F93D8849230340A99EA23B7F07DC7586C293DD0A96F9C2C9731946542C0B39A8BD98F77FA3F3CD1F7DC6AF9786297300E7B0FB2C9A46DF02732D761443BA36DAABB8DFF1B8364738B65E4AD6564B9802100C9100CB6B4C3259AE7DB00031DA4D7B36032344A166DEE3867AE1AE499B89EE270DD5E87F421873012E2498B7AE63D40F68A123BDB238192653273EB360D852250024E24717037770454E23046C7DD84F980D76C4A0FE11EF4F02B9435FDF3378E2017F62274933AA23608F9AC426D9AAECE609745C71465EC8786D4E7D06A91B24492F9F98CA43703F0C4FA97C076E0F5FF46036506B4EBA5BA7A267346DAB8E1A9462C956E8F4C3782C1353FD5584BBEBE9EF40F92C9E8FBB28601B1138FF8A380213B672F4265018CED7630B5121807BA5A9DD2FF1086F7B70431A9F229F8695D6C66EB8B9FB83720F7C1F6C3EA50AED00AB3247DF979288BA6185D424D5548507D6A73FB8169B1E17DCE927E0CCE71323CE25BC45B2D7AC05E92723AD357F8C90ABB6A4B96EDFF1A76941F2C24BFC577D5B7D15D6250F87DBFE063306F19306D0ED329FDB6E5CDD6D6F6F21E019E58C3FFEC8BEDC57036AB69D9A0E19DA5C1DB8D0C6AC801687ED617DA94F85161D10868A277D9354CE1E7AEFECBFFCBBCD441CA9FEFD36646B28AC5CE2D9AA0624A5501BD8C5C2B2ED8D1C89ECBE58BD0B373B08E42FB222E7C4EF4BC8061E3555734267C07474B675DCCF9156CD94731604D06F7CBF5FA22C316920FD6448C935B5E5663C95550D0634C200656A040CA293FBDAC3E03239E0C6AE4B1926A16029D3FB00BD595E8E835B02885275310EC28B52B98C5C079629B8754A14DD4D88B3FEA948DFAFB235DA712A06784391D3BBB9018D0054427C1E92266E980D876B25D8D8D3E163A9E5812E4FAB120A2E297D2FACC6512542B254682C8DC7BE6BD1ACAA5D917321718F2A2C424B3BCE4E157EE4426EDA54E21CA2D35F6B38766A7F684D39F8F3B950C368FFB33A08A7533769CD77199552D773294CEC13050F4E7F65B5175A54A8591B079E9BDB496D597C0654700E1FCF3AB5C9942141C7BE487B1D57383D334BE037F45020885CFE71E4360AAB5CF47B124F0D3562770F0106F2A66F0CD7B5CBA869EE27EC6AF4D613EA8A86FA99EA78BD51F55E8951AFDD380D2A3F7EA077E62B215D7871FAFF18D2F807F6CECB50C1960C2A801D7F0436790877D1F19B708A183B3A949E35034640D38093A89FCB7FD3BADB077EC1502187F4A110F26C69A118F4DDE2296F20A7C2D444200E3B00B312D8863E478FBFF8FC4F9A1F792C2EDEB4F73F9A7C7C9E9AB4DCB7D7F5A39403D3B0D1945C2AF7C80F54FF3EAAB8D7EE5FF2B669FFFAAE319E6F4CFCC54F6CFFA715691959E3504F3349E90D6F04EF7BD0222F57F11C912F44744C2AD3108DA304995CA7D9BDB383B32A8110823D59A62BC32D610E083BF49560D76DBAEC82292818377EA5EA68ED76DAA15B2BFAE09D1729B44ADEEB45BD4709CC306E31953C74FB6FF05757CDA9B0B422746B1CCA7FA67C290A8C50A83C242F0BDF8ADDAE3DACC687F4F8A89FD9077590634F984A1871AAFBD9F2C35B +MD = D5F378421CAC0582D1A2D12C8C9B75C6A9A95C7489B694C0A600AEC6047F54D38B22DFFFB63B95E235F3682828AEE61E + +Len = 27752 +Msg = D80E6FE59B7228D25E78586F94F268EA62EBE04238AB44E97316B22E96C91D186FAC862EBA9212CE845BEDC23CEC43FC3DA42AA7025637E0EF65823EBA6FED261AFE9A48074258B235559A916E644BFBC9C3B6F44D760E3047BF7C885F9C70C44246A81D29F9C10594B9359EAA8C8C572C71426A930F02F2692D504E0F19E12F6BD115C085988BBDF2748A2EDCDCCAA3D29329B4E8A1A17CC20243191D2ABC7A4CFE384291FA8D7EC57821E12175A156F893587E2DBD5FD32C2C1A7804756AEC8FF12BCAD4308DD33EEF5CFF2983650FEFC04DDFC4301107193DFA9EB7E8A6EA2748072879B063C7B0955654AE2A68BF0F00C37F0323C6458310B4707DD2464DA5A52B8A8E7CE6589970116BA93EAB2024040C45F22E9B478B34EDFF4BC876896D143152565732FFF04EFE656E06EAC38F19F4EEBFF224E32159AB375511B42B6F74001DDB15AC0CB4F6BAEC84901059882F58EBF940CC973422F6F6940A94C5101EB24ED21BC0C417D959B4F08693173E88C6DBE28B487B3D0CA00AF26239B5B8992C60EC3BCD3855D2DB197AC95C4862B9B90C5B4AE366759A38868A2B838E36D7E42552B3566D7A28FE6E208AE9C6AEE50524881C482B8F48E9133AE2A9D9377A6F966F30603E25A0FF06106B2925012313CB3E79FA3F0DADA7CC3D015B4C0BAEA4A79EC8E37D792FA13C19AA173E134774DF393E1DE9133369E858E47200648B44740F18BC0550266F7EE7805B85D8A19368C68110CD11F14032A099CC797DB39390C2930F68059CA31592FBE73619043E1C095777D297158AE6C28C863FACE2299EA435CC1E7A09FB29071C21780924D2ECC41C9C9749DA3EF0819A41EC086CD2B7370870694B0392D18B6B721B81282DADFE3C3C3FE21288E992C7E3A8FA685F32307529E6D50ACB4252D3E170334C42C70FAB02DF832569C7E5E05042F71A4FA939B58572CC8B0CEE4331220742D2EA9B1117362A1831C8247E1F6E1F42A88FF5EB9AA665F9A637DB1BE7E4FF5A75DC21137A50D07087185DE1310BC5EB098450914B9C6AD8DDF67AC0DCC99AC61C3CB09B101DF6273E0C3ABB3768F24FD2C4BD2EF6DBECB1A1ECDE1418AE5FCA22D41DBA0CB6C16B06F2CD26FE1657C1EA7ABEBC5BBC8DCB58738F855BF38CD96F29BF7732E91B261B70A776EEE64145C1421FA300BDF80BDF6457E318F9BEBA2243CE8CF57DFA8BA0D5F124AFC6859DDB0F3ED457FCA64623B54A49BE589953078DFDA65745FA39CF0C4D9866C38F76231FCB44D3131F8DF389AB755742F16DB218B3978528799746A99DC7E3A958632563748039FDD9FFCBFF6F93BD83DACF06BA93E39251621AF02F8175CF541F0C800C5D2F5AF06894B2FA14B9A6FAA3A3C95570423613299F141CE25EE77C0259A40279A2FF60B51ACAFCF82CAE4297E57861645DC7442EB052309001E89FF2FF5BA41F2F7D48FC9A49BD3062B80C75BE51FBCC8764AD6D2E647574EDC03660C9F4B7AE58888678DEA4D6A5C2512F12A6AECD3047AD08CFECB6A4C95993164C583C91FC8558CAD146C73C7F4C24704EBBD00D9DC2C72F4AF1B24F1DD5C0BF97C283B7F69937A6AF0C5AB195AC8D179169BAB6B141A5A61F7FABD2B0A23EA29CC295AB04DE123290485048E06AF0EC211D93CDF8FEADA722B82B994134911B5EBCBF21D0130F910DDE8CF7CD3E46C2BE4AE26796F25B653F926569371EA09C7A5E2F38565D08C9D377BAF51B6DC854866C50563B9DA26FA30E0A87F5B2FC6472291550FCC7A0C423CE82D0AEF24F54C05087627FDE9C9EE2EBF228D12291B2B25CC8FACAE9C6209DC43547BA0208D359677C94FD17A76D0D84D9B18084C8AFE1548EF4B7FC94D70450087EDF0374CC414561E6575AD401C99908ECF28C6AEE82F3412379A86F78EA9841CEA2D597664340E90714C4F75453CBC4C24C963264DC8F13487A0BFD4FD04ACA1315A1B70EB4888265143D82CD63046F0DAF27D8F1A6EF988F48D13C56EABBBF27B5785E51D68DB08B4AE2B9411596AE87C760D28A4E2C38A76BD6B715293C59131D3D6308C722282495BEA69009CA71AA78A28B681CB782FE4274D499A856AAB6F19FE9F87931EA93774AB13CA5B3E29C1EC6B300E67E525B9438C2F3C3AF3C38276039FE82BB15CAC81013B195EA9C430B8381F73B5F95CDFCE403C0277BE77FB7D8CC38F5C075347CDF1DA4689845D803C9360911F0156F6C92B5F775D502674CCD635F642B266A2B03748ED6247250BA23878853ECC69CAB7EEF2A29A08E29072BDF32DB742DE368125CDDB36953D15712302A9E4AD58C8C63C7721D4647BDE4A16E582181144AD9EE4D51133A5534936FA3A7884D0981785F8EC556505738E5293020A2FC31BC3D95080E1F747B2E25281ED256540D279C07FE3218A35D4574D22D4155E3F12F7450F37F8FEC6C467566746720538BD1A297DD9B987DBABF2D6110FEF51B6991012CF338F2371E394F2D4967A7A462C054E43BCA22794A20675854D742D441F0AA289B0DBF55E48F0D495864E3EF5B145351B93A2459B6CA848F40DF1D8B588FF679771C0DCB69A7196D19C141EA0846D5D2934AA5C662ACF1A7859DB2C02C791250BDC1F5ACBA5638815DCFFFC858B0BF1E086EAD0BE46E9C4018159729E645C486A4973E6E1380F9850128F08F315E9F9D6EFE64EA210FB8070A498F98A1ECE8FF4279B4028EFC7D3634FA3CA8CFC10C58E349B988D3F6A13A18B6487B526AC779C82473D121456EB2C18167CDD74018C0079A5347C1F9873CEC00715F0FA530550C814CEC5B96121A9914A8291713D6C7B9F65A9E45B85EA43E93A79DCFB9DC6A6BDCEF820242DFE7CFA4C2A532E6371681C8F39FD659A1F54536ECEB20FB528C8B8BFA96069FAFC4A8B23DEAF0AB27D8E190FA846669F403BEC4F302C7CD5AB9972529827D5819E6D1FDF2B6CF2AFA57899F8F9CBE1FCCBEBE8D738E84779134545614243A1556CEB4601ED1A6DA90599BD3B2E2AEF9B060E27D879D1E08120651739456062A18CAB94AAE2807CE12FE0761AA96598AC40D1DB86887708041A90D59C66B37BA63AB409C9FB025C5992B985A35C1BC3FEA87B7791B6D0832A461A58B221933D2B9AD6CCD80E08CB8F85F52D3B9A0DD6ED57AB7A62F1AC77834BB86FC542131C779DAFEE3DF16E26CEB0953661AFF00843DEF77210011965016942B3FFAD479749817BA8A85EF288091F92EDBA11D7FC01681A80513B3281800632A33B3A73B4FF9187C12A5701520724E77AFC84E6A3FFCEEC439D530B38ABD9805EE0A8016831CBFB54B167B65D466F9EEC8058E13D25F977BCDCCF82C7274AD9A71DDAC8A0928E57B4CB732DED8D314E8312F99EFFAEA028CD48BE614256C6D39CA0B2F77A13829F172AF85FA857BB734383E757A0E526B019D188DF17BDD90815CC90D289E6FD1048C0963D65B5BDA595D34ED760AA1066F1E3D9E48AE2A2DC492701E9CE465BB5A39FF722CF55E9E2F8611790920A3EEAAB9AB0BF86ED270FE658C3A5F633FFF633ECE639A93332F3BFF0746B5C4A5EFE9AE4844F996FB842748C2E25EF24B6D0F8D5A476BDEB8328444E46393C0544EC9F1D28CB83A8C965E0D9B066DB0366B431306459B6C837DC9E672FDBA234A12ABEC8C8C813D2FF6FC625DE96D35461CF72EF1529E5425EA1988ECDA7381C0F84D86EBA98F4F4D0F45F1C16F5CB3F8456DA4BEA3030F97B56DD494EE97C630656E58ABB7AC6F2D8676C04A34C2EE4AB1BD10D1630DD59B6999ACDA447E646A84AA66D53C6AC0E3BEDD0FC01AEA8AA9FC7648D44BF585F6F133A25A590D63B4A83E6519F528B310BC03B9C97FDA5FE700978A66F1EF4227AFB3CBEC112CC4552DE5F605D9CD0772122B09AE196E8725827538C4473F82A3AA0F695C5C5D71F91F16CC8674445B799077E5516AB55853D86C1FE9E4BEE06CBF8F9601E14684B00579F277964AA162BEB92AB476E322E7ABA464C0657BCB65059B47668A82190FC093BA433A16F36B22936AB30F6790601907048C6ECF7C4A41A406ECF866D70A3A3AA2A1BC6472DDAC9F97D37AC790C117A609DD3741FAC7A011960AA6E278100FA04D345796645E5958A0AE0A68B3B6D3F11DF7403932E6AABC332A77417F2FED3651667BB0859133C0732C56EC52ACDF8614534E4A2E007343833389073DB6C212E567B7588B0BC81F0D622E1646ACDA0F5DFC807073EFA779D687357CCD1D102B2B6189680C502435BC6522CAF5CC16BEC795174503A884FBF209D0A235762C7162EBC66828BB8F23DFDBB6468A5E62294D4597FF4F91D99CB1417B685CF1849D9ABB58E63FC77F380EDE5AC5E658C103414F68DE7EAFEB3E69E6641C04B0CA57C7E938D9EBB290D61A2D42E1B5C0F956009A6A80403E0C77773F281EF604C1959EDFD1DF210DF127C302311E4A71A75622DEF0F91ECA4717FAE455DD9FEA557DEBA0EBE1AAB6186AAC0094EF34447C24125706102C0B27E17FDF4F1D22EBC6506F28685E0D1D886DD41729F9BAB64486E7E96155A26CFED69DF3BDEB62775189E9EDE39D7A0D03C511AB4D605343356BAD7AE86F43E1E9EAE2303028D187BC81FD3365D7B80E094BA629AD56CA352F3DE8ED6DFDBBE7D2064C757AF36B7DB4EFC0E9E8F2F25E6282780F7E059EC9ABA8C04F5913E9632981241F75514C50D6502D7B01F4008422318C0BACE5D135327E09E4F97FDBFD7CECDABBF16BA2887F76D9720E34C26CB8D199FB46B486D47E24FF943C1C23F3E99E472D96FB4B6477EAC3F364E02FF192F3FEFE13C69560FD4F4A2830A3A74BA8C8EAEB82E84D8ECEB983A6F1CB024A9DFFCE69AE0DC766FE283619C11C5885B2FDF38E230B187D822CC6A54A2B643029A5D9AF17C5C705F41403AE62956D977BBBC7CE900CEEC2B7 +MD = 00062A3ECB491A34681A52D116DE2F0A661A535224CAD882862FD8A68B152A5F54D304BF8F1B7D6147164CB66A43C6B7 + +Len = 28256 +Msg = 3581D4AEF0860C1729EB3E6B504F00919C656A1C56C10111D21A2F9A77EC0EF7118BFF2A881973CBA46686D4F104CC94C30B93F62769AA2C0F4C7F3FB931B696DDB632B0FE71D57CADFE27573913CEA488A68D0E45B90CCEDA68D966B725152CCF054757211D4E9EB42A97308C6AF1E0B7A0DF67C61F9357A1542CEABF000CFDAA1FBE71D305300D43A448A4845EC94DF696C7C0129B088AAAC29A43BCE19726F94DFBADE2D0F7CD7C4EF0FCE12681FBE496BEE9D7725F549281F4AE666110BF40F5235526606127EE041C09874C103CAEC8EE320D5E9F2D62BDBCE321FDF7681FC988F453EF999B9FFFD9DC285BEDD0EBD36FC22B613765A34BC097DCD1F19B14C60140C8E23D7894132343FFC2B8ED144D9055D2795CBB20B8FEE92363F6672BEA4D40F9ACD55A2BE27CF813B0599CAB2E08225C4F909E7B647A39F888B9370EC69B2A6E6591604A38A5BC2E0ABF8B722E9AA2F05AD9AEDEF55A37810F935A46EEE33389C375613941102D670CA6709506861BEDD3DCD0F1467F4A0AB681084BD482730F7C753FA3F5AB47B7845C5CB17D17392581219AF440CD67013986CAC4FFA4B6FA004E7B5EEE95742E7C40044B9C5A4691C2B584DDE6A8A45A36481E715D6D9FB2734E5339DD5A1856392E8FECC416778805117989E30D422AB8D358B690787E9FED3767A408DD99234463B25B91C30ABB93F3CEEC89823C37023E7393F29F5065ACD499D22E13B5909857180F7785749734027AEB843245F5569C715A881A1E7554179D5D993FADFF2AAE71CB0016E1459AE6C2EC7954C0B6CC8BB1116BBB8CBD81CB62DDE57442F602147CBC64C2A4C456C1523B8075D0DEFA053578C31492B3234CC7370AEA593AEC0359ABE3D1C7431CB62973E93B0CF3C37018B468267B664DB3F45FCEE737CFF976BCE35E061AEF48E8CB20F0461D729FD1691E0D2F8F2E0D44F77B640131B9E62B80C751D0186F183760B63296B6BDCE97A9C0AB4CC37A27A85E1897F6DE52DF9F0B08F37C850F2405831CBE9826F3584E99F7811F08FD05B335F6D07409A80229A567763AD8F20539E1641236E87A7CD3C847C9E8EC063A5A8D21F77F941CA7A56E23F90130B74798B71E7A9CF8416739A4C750C0D5752A781B11F994A0B0E1CB6D8377488EC2DE642903F9B44657E85D8A213F1FC80E674DFFB747C63AAC85E62E295428AA315F60585BB5D5203598DB4F6BA78FBF3F053D579534A0C270B542DA82848B8189DE8A77A339D0052B74B21D806217E902D9DEEE2FBE97DB9E414CA9439ECE353FE0EA8A72ED2116F002365C88AF05D0E803AB494C3D1720297ACE858CAD90D30E8185D02DE9BB4CC3409772C08734CDBCE22B498661D73A18FE2738297F25F5466BECF4DF3BE1F3D9160DEF5566318620A22C0BCC27E91CBB3F1C586FC8E09C60DCD424E8C68418ECCE193FE29E4529E1419B1B0EA3597A98F19E999C780E543068CAC84D7EA226FFD535F75DE15134556D8D637064CF85F62799CBC15FA46A62C03B0012AF4615F7CC4A6FD09396A1A6D13D55D27CC76E9DD09597D6BECC0467B098F5DEC034EBCAE7A660394521CFF7D82BD418FF8CEF7C1E5C0FBE1C1F262B4DFA186C785B00CE614C4558D93716E17766D4D5EAC4B0B81C0B866E41E68BA0BE222D32F8D83507925417BAFEC4B7EE39C374412F71767DF78376605A002990845B9E791011724151CD3EF26191E6C2DB99AE0ECA5579F3A24D021F15A09319235508135B396E97819DCFF83617E641D6778829D6E3A26F7186EFB14DDEAF2113B9EA538FFB2C2207B737F7B708EF54C16252F2A63297FE571034FB4BCAA1EA6C4B65017FB4EC7050BDFA24BACB1AFE2E2D526EE2784E1AC92512E4EFDDB72E4B12810997CDC39EA1A827FA08DD2D7D88E781862E7C5BD964A143F61223423689B81675231CF97C64A3A71618F7CF6A44CE458037730A2592711582EA9D9EFF63400FCA70B7B5251DA70DA3D339B768762111D27B1A2E9CA559F544ADF00F8C2372CFBF03C215B75CEFBDD6B3634A8FD1054A5C016FF1FEAF0526ED8B968CB44D279C04159E77A0289717D3E2515DB6A7B5B4860681CF8C7A1589A3D85C5724A28976193312ADA24C2397D2C10BAF2FA933D71F2BB2794190730242E117C90FAA6391FDAC1EC61CE780A7864F6F1D6D8CC19C024F4791B4928F1A2B5EC91CDCC1FBC1E89E7CF5FEB974A0231DD71D435741D8FDC3730012795FCDB4B15267CD200E576B7D1EB9C5210F24B916A01DDD1BFB1378AA865ED86D0056CA5C92E5F7BD57D447572560ED23107EE6C08F0510E2594F47E19AD6725BB303EED63BE2F94C0501C609C565E40AD74211FE97DE80CDC82B20977A1D24A7E35C3EDCAC3A590EBF65EE6F5D044F43EEFEE6CA71326AA713FDD878CCB6F53D09913420113220AF1E37CEC5FD5B1F1743EC129267A6D5503943BB5D4D21BDBE149E1FF74626B191BF75B19B5A2E4225FA8EC887914787A75EBD7C0CAFBFE0F5CAEE05F2CF468A1604BBB1C5FFC78944017A814077B07EDF48524EB9A9BADCED4E562674210A5EA26507DFE26211B57AD3F613CF951306AE51D4DA53A976E139B3EFF7830D661CEDB059C92F93BDE0209C184BED15E38373A58E8E107B1FB0DF85DFFFCAFE9B005C0EF9C8C7BD3166F777FA5D061EE827CD45BAE34BCF7EBCA1A47F76F459D6DC5F85EFB0D9B5FA5C4BF19494EF7BB5F76FCCEC4EDE71B4BB4A4B37113289873F3D57D06B3D42CE543C113C789CFB88DB8207D26007C809BE2098C20034ECA5539AC8122640A714B0EE35F6B466DD0D0A1D07D6547E6EF4B243CE9835B9BF6CE2D1711744BE3A405F6E46E1824A625BEBC42FF340220E68B785AF5CD5C05C215A6D3E31DF1CA97D054298C0399FFB08B4CE8B2D6D08A3CAFB33EE536BB01FEFA5FCC7AA905C83AF895047CC7BB6051482DCD5AADA28E906EAD9B90CEE2B32F9B917123651258D474CC699934FE732A9DB3D830CE1C33FF39E946F6BBE363AEB3A3F0895CA09F78ED37B66C919A15D85E9EA68F9AEF383A7AB61101BC6D4BEB7E36BB9BCC04421A0BF7A263651C30A40B652286A5678EA0DA516D4BAF89D747D0559B119199A7A615528CCDB2D5B10E99B2BEC59B742B40F8A3046481858F70D18B5441974D4A5F4A732041B999773A93C3FB4325B6E5F5EB7849923407E15A55BA46F3804DE3E8CA9561BF87622EC8E91698C0FD97B6413D3212F1410D9AD0754B457F041A6805FC30D7A7A98700C5D6ADCEF4A1F23E51950F2FA40F74FDD6AEED47CBAE6CBCCB93E8A06950D980CA261705A8EFB5B7BC866F5451F709E8F01791600AA7E93AD41088DAB6AC9EA25285214D4FA5A1C4C31ED4E0157A3A6BB94F8E0ACB66B0E5FB323284C54FA9E07542030679384AAEA817576329FAD20BF28D80CF824D751206BE17A0CE16A9C2EBD0D80C7E643867CC32FF9CA92E9ADAB3E1096CDDE69B6C2990466611489BEDAECCB9BC135EB2EF54502ACFAFE497ED668AF4C984959CFF284B2AE81638F2E11CDC463318845A363EB08385B4002E3638FFFA347039B40EF7315C88EFBF01F9EAB73A6F0596A1A16943B03139F4E1A3EA5182B401F8DBE08527D81ED45682D6459BCC9362DE5D351A5B8437D79D24899BF5316E81A182ACF4F740EAFFFEF365AE54832822AB4F58D89596014FEDD5B99CAABC0E877604BF4DA5A4A8F8A93DAC8B5FF7F68BF4167560579317A7799D9ED14B7C4719E34AA3312F2B9F07321BD38FE232B66FCEBCFA5A15EA6971C92C0EB377C44A8B2C92BE3634705F7FD01F8E2B10F61A7ADAAB93009B0B612CFCAC9315EBFAF321C27B9FB2DA0120A08F512A9A9149B4797E400DA17E749BFD1683DF628DE0D062A86B931DD19A639AA7EE332C53A8C771E787F7B7C6D817F53B6E57153C32B25F87A1DF9407D2390F02CF6DA3A508D1721F55E155E6E20BFEC0D2550598D815F71E065426E4AFD677A1FCF41A24CBD82DB6135F45D74D0E8AED94BDA26A0F42D19F52028122DF55106E45F8B364F65E314EF77EF0B7BCDD82425D8E3212E3C7DDB4EA1D378E2300F10AE707466752B15EB4489CEA807E9AA03B886F3D623514A7D16672B6DC025502BBB69A8AC5E374B94A0F153DD86B3B55308AC05AE5869C0AE5E18208BB0AECEC3D5E399936D58FF9FB933BA349AD567F9CCF743C264606B41D8AA1A4C164FFDFC9853FBE6ACF11F213490A471E80C15DEF7D985AA9C340C126473D1D14BCC826C12C200D72E1A00B392767BDE0884005D270A1C62413AEF754804A2F04BA3C9B4A4FC9076951860F9A0DEA80BD6CF5FD6E51983AF344B887AC3F907A40A694DED8840998C3A273FB1267C4C7CBC2FD0A51315F313E32818B45D6C7FBEDB5AA673E7A8069C931AB838DE2045E79852FD832C0546228AEE6BC77D72D8E984575E27EC610E411DE7E02725085AAB0BA967A9300583F27A1893C1432F3E651BE3E49D60690652D6177B39BCD6B8E0A6A6A812048FB2CCFC6CC636A0FEA989CEACA7BFDB5286E9F9B34EE5BBE0CE93D4A4614A354EA91DEA8BA0FE6AF3A4350288B0CAAB1FCC135275AE5A659E4C3A08C9E2481FEBD150596E684009137DE6A0F1752E25240283DFA58451C94F9AB96BC4F3DF5507230E152BB0C7F0F4C0F00D9480509595EB25BDD3F3B299CD0D165EA4C2F2BA5B022BF57A30E8E39CBBDDE047F1C91F87B658215076EF534FDEC75580E210A948BB1C3ED8BE98181DFB6E15FFDE2BB7F3EC5DA5907A71FAB770D29ADA2762D5887B306F7A8586223D8CB89A8E8421609CD80F2175F2DAA61AE3BD7BD135BE39EDDD2B2687381420E2C92A107E28E3E00B507E325F4ACE54137B37A0A750E3629D64596E1C1B5091F1761F3EB7C34AB6C54E108A89DD1EDB833D21EC688EF3C37AB1F762E5AAD7C6B3764B5EC04B3C3F319732C1A3D20582D9EF30C4B3536B7C47197C97C76792145CB847BD2FB84A7CB460842F0956020C320D48 +MD = DB722FD096992D5F25FBFEF7991EA8C1BCE6B1C2AD4921AC619FE19C505E3E2D82D1CA644DEDADEC876F51FDB215780B + +Len = 28760 +Msg = 9740CBE9EB65AD1CE913F40BE236B1AD7141F8EA72104B122FE9AC99B6552B1B3A34FD6C1B962F1ECADD53B530866BFDAD8D81F8405C1D54E20D99F30FB041975F70DD971C17424C601F46516C13534967318D3C5D60ECBEC607C42D0825FFB84D7C5C69858512A3C59EAEED3F61124DF79F13D63C382CFF70EBD250FF94E1684EB5AD806714B4132E855CB20C09951E3D1F185DA09B0DFC4C026FEF5D3487E5F607578D34C5A4E9C301C07DFBB72233542C04FEC18ECE500C4CA479A4762E5DA2BFE630F6E4558192D6561B69BE3695688362DC88DEFCF859858396F974E59744BD0224F578F3B1C6F46C7EAA523F672B52906DDA5AD7A410AC6ED5D3AB823EB7235B1CAB4BFAC92DD73F4FB796A299C5F39DE590CF90307C6BD8A7717C3251CD613917358DB837DBAAC615ACBE2885558FC7A0BEA8E15176756CF5C9204C3E3B02764ED608DDFC52A3BCCC2CF4AED6F8AF14953363B08A0885C131CBB5715EEF0A04D18C4E6EFD59E999F74EE69C79E96A9CE7A5D9FE27A6A651FEF54B09768C1AA49FB03B09B6AEB19B38B00065EC6DA01FB471D1792F7E3D5D8C14381CF68C42708A43EF343135929FCCFF2F6642C13ED2008FEBFE9972BC164E375383F50798CB84FF34E1FD07940A218DD174DC869025E5FC459BB0BBA969A2240EBFE0EFC1CD34154EC1AEA73FF7858749735F1B2722C6DDD4A6991D2069FC3D61A8B23977FAAE5C32D95F3F1897B0E86BC8705CFB6984D49C1EE26A90B3C8679EFFAB5ADB871A3E219801C7B15D6DFC62E9DCCC887CD7F25BB73EA2C3FEF764962246390A4AD96610F5E0E7EB59B32E7EC20145308D81F6F638299057B2276ED045AEA7103B44BC85D33CDD0FCD738035E670B285762C65C3EF52452ACE980C41161D8593F46DD2816D435DF7FE90871A9B4CA1C5CBE6362E225E8950889FEBC47545F607A7AE4BA8B86350B554F61D424FB51C8E9886000E4E07DEC324BB5119A5B5099BBB126B0C0CA0CD8FBC304780A9BB44A4ABF58D30DB4245B65CE20B0975C7869B39B966A59FE69290D5AB3FABB12DF5024DAA065A48A07A8C084DD61016178E69FBAF1FD87CDF78E1AABA8A3A03B9FB893AB7B674544E6B1E46F943B149CDFB8598F98AC08EFD8722836BA320AA13B406890449F985FF8A568C6643B24DB35C25DF8F0BAA2A17EF66C2EE0E6F6E2B42E184475921508FA64632A4629B72F7F39513A08C6B55A8F0483F3FE1AE7528E128FA30745F0583C23C27B9D1EBE56AE86ABC1E2448B15C4649E5E26E189090EA986223688F310F707575F7378C7AEB070E0DDFACFF069DEBEC773B8B50DC86A012DB58612EC90D64AEEEA037C3CF40E42F1948EF837937D67C7059732BB32FC618A203AD06D5F8B472D0D692D93707B6B1B85F83161D13BD0930FCDBCFF94495277D9E390AB671371D4540E66AC18F03D625C8D38E75F628B06F478E6CC4A498BDE811B9DD8B636F7C761277A56122E59D0AD8052AE00C8D08436408EA5433D6027F798F48DDF15BA7600363C7EF67236FA6EF377425CD9F634788E9CE34D08A956E24E3137149B08A0EAA2D831B0F3285BFD230859AD02D50FEB10B63EEA8044DBE97693C29C105C2164EF436B88D5D870F88AD5919FDE8149B39AA65E931BF5D461A109A423E81C376F11495C0671F3CF371F89F81D52235D3413992713141C3F28F14A926407A239D6AD9CFE565CC29F8A836E5643F5EAD4CBD6BC936EFFDC687B758384D070273C8C2D2DBB81123B524147979A8E0C0D99B09812EFAC739465D1A858EF233CDD13769BB8996856CCF509D50CB33E4480A6AD951E451CC637933BF8DBD5168C06A76DD08D42E6FB0BA1044FC33475A2342A53765BD4099546C9EF96DE5B78C59CA6123223E6F72680A0B9DD9A12B24CAFEE32F0B6E145515222CBF2ABBD7330B9A91303B688DCC35DB233C71046716821EE409083C790BCAA893D04C09A8F6A9C35C072E5033108406009564B4135C00FE4037D2D51AB1D721AE6B74E867074199B73B93A6D89DDB8EE74681213BB677014D1CD75821EADDDD7C1C78B6B75ACF574CBB288D2B778D84F8599A421C5B8B9A3B120F8B8F98B5CFB81F4F8BBC416E3E1E9462EEA5840B96EA874A6C8267F5D16451B93B72DD5951DE2C4D6D3F94BA87A62A19DA58E30CCF7FB782745C233CDCE1B0AE1B1F1476983D123440A765D5DB0C3E38C47BBFEC5CE37B94969377394A25A90471AA9DDC98D559DC982A7630B6009A7748E9E5F6FE9397FE4AFBA1EBE530B8C46F4F18CCA271856EFBFE5791FB9297114D952F0E37949E3DD5A38FD3805EFF33DBEC3BAEB22A8EE93B42F85C845CF3C2C00C706E11EC7975F6366C6A38C2417EDFDEFAF03AED01A987E464830D7891B0AB7F67F08096E81F937DF9AB605C3ABFD1F2673FA302882806718C0B8750C59D0B5F27BD16579E5E5AA1B5A98257627F97AE38BBD79A0C21E48EF7BAE4360C003E8F86B89B042B65F436CEDF39CA030DFCE9FF772CD99274BDD0E6252D8EAE877330A21BBF6F266F27D119700EA597A39ACC8C212B43DA9A775A6E165C60F6EFB75701B7AECA101F70AE541A44EBA7500DF14EFC38F2E8E12238CB7479FD4148322F1055680BBCA8E535CB5ECA77A55612E563F6CE2A57B1FB9B663AD0B55EF27B2EE32E6F779C6F9E74323256D3D0A2E247943DDD75836F4B07B1480A00CF4F62092E5FF60DBE75418B6BDBDBA59DA397F23B5470BB337487C863ADA5CD8483E6C54D201883A3367DA2B2F49C66B7FC675AC47DDF7D26CB3B40DD864CEA1A178BB1277B28F198937C12BDD8C14573C429FB139BCE19EC9B446552808D25F8610DBF949D33A06550383DF5F3CBF799B0FA41DC5935DAB118A7178381ED3EF9BDBD632472CBC48F21DEB7B5B26C6D6A4C6D8BBCA609EE39C501787F6EF2A9B45FFF5C6C57355DDB17B7A271C7B56F1B7B4CCAE8DF84C01514CF9F8138150C77AC95EA22B5C7DA74DF60EFB0605F310D42EE071438C514A418B62247DC2C55A23D0E731EF9E514D1DDA73F57B2B6FC4B4FCE62F1F0D0B545AB8FC08AD4449B966219E1D533F26A4C4F628C2948530C0518B96FA8B97925629DAD65FA6551BFE9102CF1B9B7C43C41F8BF4DE993FD53C4E582548ACC64F67B2E9FFA34B8B9E2F64C87436CA6D1D0F22A2CA236FBA10D9192400B11D77307B51487D986DDF418076833CCA1639A2C9B80C309A3A4EC9ED9108A69EC136B73982441674239A6A380850A7E18584E9556B7A6295578E4ADB010D5EC2A3C5BFDD3062A9BC5A2A8AC6EAA45F63BE5002A5B53A037CD2E996D3E0B256AFF17783528AB93EB48B2806ED0D4CA4A037022C585EE7789F8F253803D897EA6F0C40F07F04574AABCEC469CD98B7CF1B352857AE32DCDB2EDF8CC2E3594679B0969095CC4507DC3E9059CDE8AA2BF16FF730696FE75CB63555693C9E003B47E2902A05132745D5D48C0A36F101778C66EB9CA3287397E278BA4A3D1E80E5D7E1FA041344E2FF0D4795476B5D2098E39DDC7738F5B9A871E4D963483EB7286681A3DFAC38D5866BB95F2D6BC430FF11E395279DB711657023E2F4E542D9F39421910CA02ED7BC767B47A33D09696982FC6A0848F12F0A84BFBA1A0B42A0B55C3E3D98B05978B53BAA813130D18ADD76DB7EE8483A2D6B3410B08C7623C6B463E04D4D53BAB51F0A5A3F26B9E0BECF98C1067A21677C07822F5F730FCF5239D69D6D34B1D83EAE3409C4A9CB26B754F248271DFC775CF455372C61C6099F2D8172274EA4FA40D87759C2EF2F5F4B9086CA4A7DC6A5A2001A3B85076A6436AEDC3088E26AF74C98F185057E0781BBF8D52C0E4EB3C4A0D3E22CCA0A8E2D15FE75D87AAEA723A991D813A67D93E26B31289B46E21416A00EE86B785E0F470C2A3D0BEB18305915AE21D0E7D3C27C2D37A05C8FB808921D4E759A4D3139624BF2AC8D5CA8AEC0BA07D5A03E13BA45AC71AFCEAE9F2B55D0FE70AF8334245E716FBD6411800D6043F30D6699A81E1A902F8FB1DD23FC0D9443F05ABFFA7FD25B6F0D83701578C54E051055A5D2785941BEE2CED39E8FCAB9923B7C305FD23CDACD5C6F71E645517D0BF34DA56F7CC06175ED920CD1A6EB713200A212538690F481CBC4433B37BF7337C61EDF6D27FFAE8556941AAA5F43A5EB6110AE73E28E190AE0EC6E6A436312FA72D0AFFDD9EBAE433F60507F624BB7A5FC48C3AE853A8C146A332785666367A8B7F9FB5863AE75B09FC3194D890A3F724D6161B0C8D24E0F0F26BDAE711AE13BA8BCCA55F9AC3BBD9EE43CB3A451A13F9D53FBC4D503F91EC773022158FC66662A7B75A617FD1B9D030727F2D2505231C59D9223464AD713152FDD353AD500D605C38317FB5C6A9E052B95261BA6405389AEEA70855C0CB2870E97089D7F6A6231EAADC116AADFE3581D91B30B7EE22E1D8D91D812E641B7786C04C0BB4AB5A58F93DBC48493A51755B5CCDDDA373CDE4D71E2007F5BCC903215983BA847909739C8D80955C350208C61049F40272496D550E01397E8D817B91FEC0D15D61A28DBA51618FF3E8619AD9DE3CC3A9E35FC1777BB6189A1A50EF42CFF1EEB716C827F793D80AE55065671A29AF4BC1360C36F73D3281C690F7CF2E0F94245F9CE8A96CE53A99CB2302940D09BE86CF07CC7A37073382D2F560D733739FA9D99ED4D16FA5A81066F5AF01E17E757CFFBF9EF6CA9ECACC8128B0361B3ABDCE840C504C31497BA5E15933F18A1BBA1214CF2F019752CB5AE61F9000C85CAABA2252754936BA350A60C02B33EB418DA3572AF143CBB2E99D6BFD8856A88DBFD5329B11813E410A56B0D570EE39E262F902A82F890136E1AFEEDAC591904764CD5EF0676B7EF2A4317A484B994506E9A7FFD93550762975BAC0173C90992A9E938E6DEAC563D7F360AB7DA003248A1CBF3FD430672E21F87FAF0A1A91B305BA1F6AB46BF37BCBF70210B40AA22BEAEF8C878315C24E503B5AFAD8B9D2384F822AE8C3A7941F58F36C484B8298C39C409C32CDF2551CF8A90DF08DF6C4313799B0B781A4AA05D7631B73969C5404D00CB053B786B5EA67DBFA9C +MD = 3D437A921B29AECEE06B46A26B8DDE14DD95CB62433D7552C9F94CAF8299FBB6A0BDC82294D3016C254B9A41CAD9CC15 + +Len = 29264 +Msg = E691E8FEB744957B275E5FD879A3ABE54D6D6C8C7F589F0B1A17C08C299C559E5F07C9EAA12B3DBF0E06342E6344229E9931217E77F34B53014577AB76FBEE38EC3F491E7E0A129500BEECAE77745F98370CF6D4D0E39C4273AEF366B9BB28640CCD6B11B4A7EA7F4BE9C5C9EE529D0A1BFD1450B5FB9190C1D8BBCF1B80336C212992D428C200B5CD34CA3CDD75E175997AC6181E3D4972886FC9D41038B077CD1E786AB3AC82C3C8AD6DD5D01EFFA39629540A3D6002C9AB63A183A8A85B3BDFCF4D817F6505C7747ABEB763DC78246B6F56A3E12E1001520F5D35C8E3F251702A66DE663C9CB9C53E0584207BEF86ECD046979044DEE55E2639F40A4D0520968BE443C46D71F9B6C75A82D8F7CF05A0D4A1A897E6B57C93922A5F82E4E7578612B3C68B7994D8EF2F85B35BD0DDDD149CCDD8C9084F6F8FF61900FE8CBEAE6525DFB8209026F6380AE677263B1D7CED5F8B2B0B313466966995A7AF768A3383215AD8327707C8CB2656DC1E91902806B613BACB93D04B1CAAEE759B97D7D13CD0770A20A3F229068B28FF36C7048208A4693D4896A9F12162F3DCF18E97DDB84946FABD8FD5039F6EF6DD09540DF8D5A6B7926CACBA509F985FDF23A1F4EEE5145D13D7D0E3E4BFDD1809A3918CAC7734609F6C3F38BEBEEA3FFC3E4B4A8ACAA1387440C92D1CED43511654E95B33B56F988DD43EDE143AFFFE3B6E04F4B38B593251E0FDDAD3D26BFC1B40C5FE0573F010671AC3E3E6210E8799F256B153E1D95093BD452D70968CE651C7717BC935BF2FB77C21029B6550F535C3BDF804E7C2B1A5728AE231C005E31913BE6AEA15BD90491F70CDD222A548C3F38C7B2CB454B3B550699F6EEA351A5BD69B97C2C823ACB21F48A52533587B3B2B51EFF4F453EA66A1EC559F11C387E7B5A111C7D885BFBB557959959AEAFDAC8693B22DEA0CD30454B2C4B1A07AA64E3DF3E4A36FA4666B70E0744F245DC0161AE2CFC5CD0F7A35E67651549E86407CF8D2EF259BF65EE75F2032E3A0D3CC6EA8EAF5FB16563671AE9F1185FDA552639083558DDE883ADF86CB31BBB8764BCC096DF60207E37CF5AA87E0D3565D5510FF0AC9359AF6540C513BD3AC35F1829C5B342E66EC78BE0356735E0ECD97D20F854094D124CD918A3BFD045545B1A7E17FE3E10EED4D11F8AA1B0E33285C7837DB7033AC0D712730C0BCE1C38514FD02985F99B88A20057C9781FF0444C290A7E0645E17D0BEB2CD3A458184F6B4B5E100CB0D69279A9A185736E7EEC42D8740E63D5B261CAE061B54183E4C21994CFE6CD5C5441D6C3D2300509A40CC2EFE67E63D0E1966C781BDF546E9E917FD283CFF735B0017550B5CFB8B5AB22ADAFCEE1E3EC19E0616DEC2E5E7B45C2E547E48425BE27123AAF91B4468B4B1389A095B3BCDC2CFA403B94231411ED835694190E54539F9126688F6232EA13002253E937E508C00165A3EF523621F06FEA1440B81E8499C20BD2D817422B48F8E83131E0AF707126CCAD03A23237A4AD20353EBCA6AF49F7E8599B32B708F9C3BAFEA0A7BE24C227FB0866703677ED85774F1069665CD8EF88C96CAB5EC3F5CEB4CEA915361DEC906A67539ABE4127954FD53B2D734D58F84E4C2E6E90CC1958C20B7080E6E067032186F2B38B80EDD45FDF1C7F10E2CDC0F0CCB734E7CB286A97594B6D90228911379FF4C6174B9AA1C8B291CE061A97C82ADD414F551A1EEB9FC89DBE645CF82DEC048D6BDE94835D6D476F6E5E08E47616ED5766CB369A94D51F2A5F03E5FEE943058C09DAD21E08B822D7F51BE5296DFC398B141817F5671DF7B032B5C4BEE779B7B5ECFD228FAD0A6F102ED8D7A620FB0C6E8E84A020948EECB10FA27EEDF71FF5E11D0E1A2DA41BE4029472CF6F26DD3F6ED6E4A5A7FD441200DC690307673FF9BBE81D71649680E3F62D62433CE3496269507AA4AF5B1E002CB01CAD3AE5080B152D5EA0C910376BD06E4C63F72AF731721E8AE38E91756D816A46830A11CCF5ADE1218A0301711D4889A90CF0527B8C29911CDABC832528D93B9EA9D80ADE81B5A1B8B261995CCC4823B09E3B4236CA9BFCF0F430390554E4C3B3A0EF0FBAF130778EE84420CB24490C5863CE5F3D84A46FA4DAD06A99EC00A17656B4C8497C5DDD4518AD30F929A1FC4F21DF78F87F99FC1F9D7528E63152A1668000776DA4658D3181D259903443FB9AA32D5E07D3F2464BBF241CB2FB60CD4C6A93DE4A6A93C6CC48DF885A8A8175E1A3805ADC539C1C98E1091A6B5DFA38EACAAC4EBD5FBA707DA54125A3DA9BC1FD1BE01E9BE53426E7415796EC7C5673BDA853B9A9A42FB762A63943D57F6554764A33301220AF0FF6648F8709CEF5244ADD70544586B033754F90CE00DD9B3884E27C25FD032261D57320CD8DC3435A22710569B22F95EAE3B98EF5BA723C04C49D53A8740603FDA4551A52716AA8BCAED8E505DF7ABF6D85383B9AC93F212B7110CC9AA680221AA148757B30185E2117BE1E31D6A91CB0D4CBAA397706BD1A9541A21D38A42B9C86EF146880D00ECFCB293AB9E04D3B4BC12BE7D35DA30D8EF2BAAF8684C07144A3322D355B993F1967BB6BFFAAE163631C4B7A865AC7C1BE3BE4B995B6C34F96A5E04BC54BB05B6CADCB6B82849EE9FC0B4A71972BBC36A00832B52B46ECD27117C60ABB0075E438BD58611EF61B4E5FB16D58E2C3481AD2CD10002A7929D6764A11699CD1EAFDA718A1524C6BF18D9FB141FC9CBE224351C6B693316AA81FEE436A30798B817C7B01787FB85103E730E62341AC2E803EA54506EE36E13C8DE2802A84E9F5562E8B14EF55496811E2C1732CAAEB39B030D752176F40B95CD5D5504B055E1A96E8CD190D956814344823F3BD57B5286067CB29A10ED94288EE8BC1658201571C15D79171A3FEEA48DF6D1753F9957DF79D7671E1697F17BE08CC02133C96F725A2F67D6EAE26DC67FF83324C4ADB4E11B732513C7C46F8142ECE31568C26176326FA4DF0376B015620C5ADF3C5EAD45E547EDE93E63F72187DE806681D6F69CFE7E03CFA4CC9B39F6F1B6A3A3AF90F5050A8A836B597DA1A0544C2FE8F1EA7FFB27784D8BB8D8030072947BEB283AF708FEBCC00E1B3708B64A2019D01673A2B57D125CB244E0378FA8FD9C36E58E5380BF1B8E2986B203F090780C8D2EFABE0C8204A6A86BC228179B165A6B5243C1A024A9A4FC2B60CE150BA1120BE333B8C753A6193D3DD24FB4100B29F9F5E0CD41D7A15D5FD4C6FCB11EB903C57A10D264E0FAE632526D0CEBB43236CFA2605F8028A4D504A0650358F5F5BC09FDD7BD31919C2AD1CADE90CDFC5D911691EB16D95C6FA0441F0294592A7565203C651C3057D9857CD1709662081D8C0B9D60625F66D51CCF94603EAA32D1183D1286B2483D251D4B4B16DE1647E4BAFB560E60F7C7F1B2897B450162D3FD2B491B38E1F42EAD2BA92AC5A0BB517CBA1080ECFCE7261045152570C98F43494960772DD8F2601C19D22CCB586A6C7268AF934597A55C79B30FCD44F9859CCCF4F04A8D9341A20F9C240BFA3236A115DED021936BFA3EC90194DD617FB2D73EE30CC39E7D8DB94EDAC85DD2479B3B1DFAAAD2AC1C77DB585586DA142D52B0BB48540F4648281ED4C2FDD2D00DDF7A38096BC6C6842038C5A6BFB94EDD676A690ABE8A82D36C530ADE04DD73F91218888D678C80BCBC530C886F09D61ADD7474BE8153BD95A25F18F8B0C7084DDEB3B32A295DDCA56068FA5A488C1A6949F2480334A54561D81BAD1E63B92485A05786CDAECD5F5731FA72A69B69E4706180D01299AD26A7A07359F9B5ADDCAFCC56C73F0B3E3A53EA8EF35757B39B46AAC121372F50AAB7EE71DA1DB329E00D5977C244255D43BA5232701D792534F441E2FC6C522ACFF45EE18577CF948D780488F5AC4C593D14D9438AB10F04D34B6CD118624C931E85623B4A7F08F844086882EDF0AD22FB1594511AB21C79F476E48BDD43212851921E55CF6C83FF3E8FB38D17182EEA9203A8D01FDBE8DC76FA8B88F290A25E0C46EAC28ECEA44CF436B34AF668298A4B2911FAB6FF585F175E8266F9E8709177305A81101CFC52B3517CBEF6EC44B1A27D32361463864E4D15739D85BADEBAF7C2F58FAFA8EA6A6D37379A30CA64E44139C68512D2713AA700C6FF2535B8EDB795F6E3C46829EDD1CD342FDB0DDDF2302A1CA593B4AA3956573D10BF2A920B05777ABE2E72A313C26A4EA385237E0F0B3FC6039C4AE5DBB055A4945CE74CC90627A5832C82D7667CBCFF0D3CB6425D2E1BA479D928576BD46056E8AF0C3B0AECA0A944858C97C0E64822FD3E91C2B763F888EF4A659BBBAE149FC4BDAC76AB6A507FF2D5C604719B08CFF84C871356F344294FDADFBD560BBA0D1EEFB6442FC88FF1CA10112031D3046D6E83D02CF9E8F31C5918ED87987DD1BA2AB8731126EE506B03F85D6F9FFAE34479C6A7D2D0FACAB8DCDBAFA9B2F02E21C666D78FA034893F2D1026608984D68F9333395E0BF195BCAF7F15CB122419E1F2BF3B3E1E831A61E27336E25EB6480403C90980BC597E87B52CF5D0FF7770355ED502810D265F3265241B75FE2CF37FE0D5ACC2FD3758A0414C4798BBA778E2452DBE86BF9E2C7A3A5563019F60DDD5344F29CCEBDB9DEFBB60C6C0F503432D76EEB47FE36D637A673596DBCA4E55A880FB28F4CB8193C7A40844309B55E4C010FAED3FAE05D85648A339B47D5AE3CD142759F6D009029719F9AF5F81C88ECA88EDD4372C7A827ECE87060F2576EA82389A5F3F3EE51F503709B46A6D3B7F2A97FEDC9BAE4F156A0ABDD77444DD5981A9882E5534CA71E315FEAECA7D5D06A9F74B6F089C3607A17EAC3A200557666817DB7EFD524BF37C58FFBFB0FEAE9D00F78D6EB7240C87DF54D1774F87BE2DCB26C9F0AC70B85C482C672051EA0020C24265CD97F265EA3E2DB3C93FE14DB832D20F5BCA7F0E57A3B7E438AFBDF349215A8D83B6DD80BF2997403DE350BCFA832E2F393B434EE515B46E4125039E0AB05B7914DDAEDB87C2C0A5BC32B2DE4568FDFF238C9C39408C604EAD6F4C5A24A7C36D96CBD897CC38BF600D51CE093B71C63A1C8C36F45730D18EBD951A6AB74B014D915EB2A951458CBEECB4512240342A83C58379B5C98664202F783453B8C8CAB89302883195 +MD = 55274F25790ADF33322AE08FA33B3E48B493991D1164CB7D11B74F4C76EC327206EC11EE2F2B7B3B04EE581AA835D53F + +Len = 29768 +Msg = 63D016D64A04183EA6ABFD3D353790E22B04CA89D7CDE3F2C60E8D36C7143AFAE96DE671C2CD915A7D8F41C9F80BF3C47AA37487CB9C938CD5AF8AEEB4A3C6294D2E12CAF1F2C7AB70DD144074FE083CF82D37CB38042862DA9FDE75C0121FB7C04F7A9F7114F89A7EE34869C1BB3F78BB58FC646C8B16CA2288A25A050E34B8F6315AF684ACF3629AB24EE6DED73571C1837FE909EFD3DE34985158579F049250B1874021354FB1715047D9158A31E906738FB32D3BA01F559B19EEF248781E23DC47FE2A3B12F1FC70D0AE922F6078F8BD1A9CE13E3C18DF4C5121C132F0DDEDC5961429ADF7B32D62058B4E7B7AABE5C5D050A8EA33D3B5B6E90D22044E58BAABCEB223539A339DE9917D7F5B3D72B910C1C8036C240CB1A58B7BCA0D77AD820ED1FB2F0ECF85A5D0C0F07976EA27871EC7D1FE9EA51AB1F20052307B3F09950C6D1E3822440E7ABCC34DBA278379115CA0690112EFE4B95699E6E135CA8DEBB173CF7A3AD551DC41E52E237C084C318DE290BE7AEFEBF12ADEB0243AE576392C767F087180A125BB30D8D56BFAF703A85C9359182894F50DAA694255D01ACB1D436B270A7B0D88772659E74910277C2E2E9AB0E9D3C72203E59770904789C12A38D0465090AC6285CA8B577505A25CC87CABA99B43166B521BC2BB6857B0FE26D99FBDBAA34849B2075B672D1FB6229254BD7108B199971E8593E1C8E83C2A631798DB5E84098A67F2164F16780481110CE6A9EB4C1BBC12E681E5D248B1E8E2FAAA081B3762F64DAD22C9E1C2AB45EA3ABAF547CE405AD56794F89E2086807279828782D4BA5E820D5D77D020B06536A2584D78D392B4ECE456606A6B7AA9C80B8D5AB0758A36E77F97DAA24C080FA4249F127B16CDF5BBF0F69B4DD425D2C422C0117E9085356235F49D7BD2773FED4E17712935BC4468A9ADAA30E9CCB9B160223064A2EE4E17E885EB3EAB5B72CF7B3715E518AA1BCFDF6CC3EB734FC75E6AD793A439B1221F895F67E6A924DC5863973B5304A07EA1118E7C72D46029048AA73A8BAEA1D8C9073F2ED3C0867F5AFF73AEB4BF477E58A8B6A5A57BEEB382117D3D406F3F1CF99C3C4D28D69A0BC05FC37735FC26AB83F11B6B31966831072EB960096E2C8B790679E816A5868828110047C474BA31F095B3EDA571B6CD8CC9FD3B6B96B8312482A69E3CAEE423AEB6027645AF2AAEF27414327E45AFB1C926E3094B36A5B3EBBA3ACF29E3687B6688321E4E244E50EA725AA0303ACD522505866AD9A6E4E7D5CDBDDAF2F7E327436AC51FC243BDEDBBFB7C27ADAB5DFB41446AC204833270ACB716929AB07CA60DA847A14A2B248B56AC082B3BD8C643878DE662F6BF764E45DC25FDED62495029211A5788D0495F86C4CD468110323334CCEA98558D5F9E2370D46D36286B5494042F978BCDA3BC8B89BC7BB7CC2E5C9050BD1315C74CE3E53A4C5ADC25121D15C7E55D4E290018209B3A077C73B1908DADBF21A42D2541FCE96792EEBEF091F6067294BC541671918374E5345017BC39FD64A4CC56303389CD5BCA803E897414F783252D937A61AE422956F8E6B0EF733DE26CE29D7D54A86CF51AA009E4ED1C5C859A3E23C7CD9F0DBBF0409D465548AA5316DA3FA5C161F4FA13020F92736D9337D2C172F19EA9C4532BA6CCE8E00F133B213B0816D85D83E3A390D0FD0F7CDB993C355614540B27039F45E5184DCE4C01F1CE6ADFFCFD35F3CFF682B5148BFDD3902624046218E5E84399E1F9F8F3DB5ACBB2E5F61CE51223FFAA867D80BF09A7FAB7E221A5B690E74D01C468269EE71DF69FA2F05625129C9CEBA4125208A9DD08FD68D618C687A43EA5AC1E6FB20507DCE29699511C2FD7B565307EDC53D77CD6EDEA24A01420659CA9712D8A76A8B10A0CD74CD144B063B1C314A0E965839E290C7F177E51B41CB92BFBCABFC6265901CD422BA182A218AE329D3A50EFA15626D66DF2F05AD2A9C0C6B9F1E445E9B0B52D37D6F3F518650E1792071B6E7FD9E1EC4B9049332B6253603683B4326120D9A978E8EBA2AC3B84C56C2B322D61BC693E3E1D151ED48B9BD2B255C3C9C600BBDDAF728E7E740B40BD564798F7BE87D74EC0647BA3FA094B6255DB4496C0C6FF7BC080F469E6B4884D998A4000090B93AA18B87222E41AE8E1B96349B2EF2A4CA1D34C5973B3830C894E0DA076819ECE774EA24635C2812736148D69420BD3112CD38F45100302AD4CE41E932C447AB25B79A1F5BDF86B11BB52098102359798E891D3939630223F973B904D7402C61E341F642F9C8123E472B7143875564F87209E94AF8200810092BE1FE1680B49889995C7E53C60AF9D4AAE258CAD2AAAAD1B2C0885D5BDC6A05C23AEC33A58C0855428C3F72CF19D53DF5BCAB8702B1169D0D3F920F11A1D5284CF6F9B215668D8AAD8BBEACA19CD28A2EED4788D753405EAAC40AC97790ED76F24651D0A30CE100B83943AD138D88C9E96648C3061384CB0FF87A331C326DC9027E13ECB70319947B345979C001CC44823A5927198265DD2018C18BD8D164B936229D69DEC5DFD656C74648532E505CA8CEBF8780D8C4E107945403DA3D3F2722E1BEC6A6C4732717486999B57169BFD627C255CBB1D67AC5B5CF0316EDCE1C1318EA35A53B28C6FB61728F0C47E06793694572A0AA1B5B1561810BC99E9654E2FE1725EF20F8D1F9C0CB74B025EC7627A18FCB2C4241793727F122183E5613F20EB3C7AE3710FF7B8DA1BFD52720CC204A1D796BD40996A74E77BB234D3ECC3D6627C6981A45EB18F03AB5B70E9E33059FAAA61841E8A3B2494328C965BC46D5B3AFF06C269F0C7E066E3E70A5D4279216511A78F2F68FE7B7D95C8B8188A4CA1DD0EB1642FF4DC25A5CA0B407D4E87284925473153B4E4AB1E97BD14C74BB52D07DB409CC11E1FC07DC7972126CBD819ADC8360222B4893E2DD6DC6305D4CB0002928F45C7F776631675C6747672FFB35A8616C24CBB0C079C1D201FBD02F934138E1ADFA82D506C883060B4630AB838AE8BB1360811AE8CA3AF047E247C026300025BE214A392EB05382CD5EE866553B7B3A819D9DA3B03B41258AF3008CB7DF06A325546677B954DD8031F2B2391F7B8E9B0DA937A7A47E43AF34BDA0BE6D4528BAE57BFF89B1B743912AAFD7A169A1629C285BB00633101EFB6E2C717305F57FA9967D174275CC603EB122941E0047B75E7A92C381D18549E222C4E3087DE670898D789215ABEF33CE70B2C2EB72ED51654D1FE3FFF93F813DDD86682A64AB795D19459AED7E0BAF9B9C01CE522E718755A23264D6748B5E7475E1D0FDE8D9828ACD57476FAE119195FABA768A1AC66BD3B0AF3AF80E14BA86BE075C7850324553114CEA9890089DC9703210C824ABFE3F656595ECDF0A9E9E59C2EF58BE826A5F135F3942C63A6D3EB40B39C8E234E8E2371AE94BF17E378D4E9DE4FBEA579052D8E0DC1BDB0DCE319D4DAB6C7F53A1FB75903FD2C281F033D985806E476794F40DB738BF774454DF114466E47BF57D93432DCFC3BFC09A59CEEE9877117287BB48BBCD5069EE3A2153A9C8CCEF2D2783884C399E59071F698E1E85DBEAAC203271852A056D287EF3084368AE32733D7ADC8CA4C1E732FE4A0EE41B53D2ED50CCC0D79E127A5CE58BC480E432D8C855648BD44EB87FF98D58E3EFC5EAAD36BF84572350672F7FCF07C47C23AC9465931BAA94431DE7EF44AA957EBCA2690063F3EC9A966B04C69B341C90524826D27869CC230327B883FE529EEA24BC11334F08CF836705C3CC22A460D142FF21A292B97634805B873A90D32BDC354D574A0AFDBB6B0BC472D27FD9116D6D911746BB104DD9C65A6A277E4E60A6A5D77B191C904A4BABCED9CD77F7A7B5C4B7B8C473A051B5EFF46D71C4A0CE81B87D449F583E6BBFEAE999D6EFBDFD6B4A7FF709DE3ECE939CB5B127DCB4DEC94ECB1CEBFFDD3D22237BE5800C371AFB56456882AB3DDE814EAFCD13A398C1739177312F8F7DDEF2386E08426355C0AD2AC2111EAFC57A16EA2385D38DDB85E32827BEF105366617BF8585A25EDDD66037B8F1B67C3911CE1052B2255B44F157E3E73F845B3F179EF540CECC30E41731B02A9BB3CE6F390D273EF3011C9227D274337670D2CE90629639E62A5171CF26D30DAED75EF9A02663627C142F9B84C9FB5CECBE070B4854E6E406BFC937C8A6B44E7EF5F56CBBE6D57FD5D5C1504D77A2A14D844AA14EA52AD888600FD7DDA4F819716963369E839B847E95CA7D89FBFBF11778903A884EDE8FCD1E00D80F9BB241E8E6CDDDF07A2DFCBB5CA7028A339999704D12903518FD33898AD0384D67D22CC63522AE64D57FE19CD0B778B56FB531C00B9F915C586A0DCA070EAAC22E84FF4DC718915AEB37A305BE02D0AF2F4108413FFD5DF74EA1BB50A6F7B172EAE0531384F6B11693D9AD6588C4FFA1C131AF8BCC39FB49D03C850EB45C360F9941D27C4CEEBF4D54DC75F40E3920613C372978DB8F9F5005A634E22CE15CD95F3EB73CB35854FB5FA9EAF0D8674934D2E44ACE74F473B1BF1DAEA7CBB91FF0B7524B51FCB51D76A21382D1E68DC6CCAA32432266A60EC5A15F154F390F17F2A32F22EC37F9546B066E5314428F1065EE24FA74E7C104B880991124D5F9C2C431C20497CB404F04662F583D9E545C08E10717D4A0331EDFA018933C72200667BEEF4A3042E34CB81777C20171F1334EC1863F5A77EBC55AA06E4EDD837C2FE057F8DA87DFFBF6107386573346A17BDC3FBD873AE7CBD3E78579CE308BB6CBE6DEEC7A24C5C7DE64C2C857787A22BB7A9E698E9A6BCE854D3BE63EACBE4E10F1B1705CBDADBA7DA8C2037A0438A6FA54E032547474EE8A28386B4F0F638396EF7125E77CDB760465A0E196F1E44CF776ECFFFFF94DA9D45A6C2A7747034FF6110F8C818A0B4DD7468D5237B6DC5C59B2403FB0BF2CDE553E0E7203AD2E08AC447BD36CC4259D404058D499F7D51BBF7D8A18FC598A9F322154DB7A406FC67C65B60AD2F9E4AEF5A20CA1A988292235D9E37F2CC6CAA46063124E4EDEF6F6DB0294637E0F5C24443FD9E8F14D04D44E6A0F89D390334102990991DADE07607F40FECCF010AFBD732DA1D70305E61A5C36AB8613BB27524CB64B8766F47E1C5D42F1778FA02ED13C275B12906FA1D6FFCC114310CDE819D3B428481AF4739E962E3A2D90D864D4319DC67F4BDDAC76448B67FB439793B68B79C1DEAA6DEF04A44AD66F2596CBB3A9B5460DDF05235D5 +MD = 92B0EFC8248E8C6A9646DF49B8759921BEA6F4042E1BDD1C128C421E6CA6FEB4B785CD8AE0A48AD18A1D05A65DBDE281 + +Len = 30272 +Msg = 86A9E1CE8C1F20458683CAD72CBA1A63789E61F8CBD6A54343064D72495A8C686A073A819DAB8582A29ED75B327F02E001F64BF54D4C7A42DF210B5FD2E225607289DDB67D002492EC0B2773E86097E631709AD777E9A12B14E6FB0B27D7A6B072A0CF1071365D04E7648470B6BE00D588D9378C8E1AF2F31768C56DAAC4282BB3911969B381371CA46B62F3EB1F50DF99535C00FF523D781B2519E1BCFE4309AE568B1AB92293FBCEDCAE52B1BD6C605BD35EF6330A61ADFD5CEBE62B78DF1C95168E41260B520B76C40CB767CE844837CC486E66A6D6892632B87AFD270A965352EEE8A8D234C566BF78B5390D940948F3DCE2E973D68656977939A787916922CCD949BD41A0640BD44A33CD772040407BAA11D95A6F2EF18E9F2974F1039C63C14FFF476D976CE57CAE6F2ACA0218AED385B6D91262977D23E5A0AC9FFFBDA87C54C895902465BAC9C5C6BB3E10A276C3AA7EF902B2FFEBFFB014A77F65383A277B10D1EA736B6D8B845408251046A1C5548F718E948E290BC94C86A05E030D7C0183CD2BD3F3166C8DF648FCC3764AB9C27E77F06BA72DE87C79CF7F8D6E83A8D5CE6287D2B17B9E7D90B25B9E757BECA72368F9909D8935179524C136B0EA3240D4108265558944D8E77701CA4F187BCB48708F4C015CBDB81DDB09CC6AFA46F4734F7853B1409413ADA5D5584494034F5B4517FA7DE3DFC07531CB6FD213A6874C212805DF0C8DAE74969E54CD9AC4AE778ABA8CA52619E379EA17FD109572F2DD38C031CDF58DE8F00E1E5FA2F1CF2EA39442116FD90DFF3DBC92CB52AFAE95EB17535D48415998F1235FD966499FADDC4135B269F6DB55E392C0D0B50E2A94D53B13F220567729698F4A6465EFCE138A5DB3AECA6EA2DA5A4311706BB8E3AC2FEF19CEE75877151898BECCF75B0555347E52C571B8C0001ACC08C3BFE64FD455628DC7B8BFE30873760306C548ACEA0B7E8C6124065A16B04AC50998BFA57FA1F595DF8272A0CF7D4CB401977F048D9530E5A1E5CADBCDB0A3D524B6CEB7D16B5D62725AA083B55BA595B46D68310EDF2DA3D6E0D50D87414E6421C6C31F51FA56BF9B46ED5216549E2A2E0900EB2194FD413A40E5BDE52A85063AA11E51739F7325E109E16882B9B8E0E2DF04727FB3EA6C66E415F2FAEB65CB02DB101D97B47932FCDE8F121051363FFC17DEBAAF557DE6314E8BAEEDA9D79CF7CB612BA87C7A2910A72BA20EDF2F6927CDD6D6792B1C7973A604B7EE9673EACFA9C014FBD088F3706CD762727169BBAED092D80C75B47CFFF0C6AFFD8B7883D8A8E1FE97FF1FF6E6F39CB47D876BBACE345E205900ECA0F6A193C1150748C2C5EE97EA8820B846AC7AF90634AA62CB6E9BA39C5D94434E9DA3A566CA2A089927AA9AC9A5E13F2CAB624F2A7277CA415FB3CF19CADCAFE6FC586E0439BFB120589C29012C873D5ED751E37727F867D0FD4E2DFE3B3CD53995A0F4269A3DB407F5ACE9FCE499983135FE2EBC48CD7E708680444AFBBE55838C92D23BEF0713A9FA381789E760FC64ABA84548461F62DCF93300BF8E1F0DE9B1E2FB54F3722E0748802704532A156367984604B64EB400559E907C1A2FF27D3D91C523AFB0ABCCC7575DE30C1AABCC4D0AE4259F0ACAC4B2EDA798970E4EE99C39C09E85AC281EFE136B835ECA8FD709D93C138E2C32E3D74444AF0CF0146FA8E90C25869EDB12ED7FB87CF170B65F203431F6C74C982FCFDD6A079E1487F1A8F2F1B2902564031A1ECEFA435B6E6A6F61BB1A8B6AC55D6E7C8709291F1DBF627EA1565F1B834C3765CE94A3A0E012DBE7D70146ADA1C74B08F21C38F05C05149EB0E7A6CFE7C16A1909CC3B5796768036813142CEA62CC49634E07CA2FB27476019D3F5D32670AD88919579B91F79126415896BFE30E16B82289D8BC775B5D1CABF9EC28C4CEC19E6EBC91E40976ED3C79B02DBB257458B84CD256CFC559E5BE5B9EE9AE24270E10448D497923A71FE428F13FD1D9FBB49F58EC62C5BDDFBD34276872BB3E7D55FDD1668F8856CD04B4F616B7B21E2B4ECA9F727903D935A8075FFA7F388DF6A89F5EEDA1DE46E26275EF5E5CBB60A0A745A38586FCB5BBD48312E6A665558CDF315969C2778F270CA2A2320AB4B99080A008C56E05D7BAA9E82FA53B0463D74CE409BECAADFBE45A3665945BAC2188D9607DEF5546BB895E5EA89EA1E0F77EC533929A7DB48410EABBDB346A309BE64DFD207DD20702341F1819FAAF938923E44B041F1127679549E3BBCCC5F8F6EC7131952522166B5352420CB210C09C20357CCAAB709628A92F57C92A21C1C9A7A7F4F83CE87C6033305814ACC8101013760AC25DD61148AD63F8B96F1D629EE5F42A09EC413593FA03B60E3BA22423413320C674A8ECB1AFEE2D6A7B0355EB8915709C1D4A0B42741E2958988ECDC18ABE89AC555543BB9AEBC35243397F9A3F7A53BAFFEE6BADC82D8A5D58F20856219F28D5695EE59BCF14DDFD5B703D93F371CB608FE010DC96688060B59C185B043DD8440558BF6975FA7B7933350FD69D70F9C9C1B89675F4B08CCB7CCF67CA457AB338F744AD9D5958E8EF51F3203F8D70E05C208A310AD2ED9898B1601EC3BF5693B020ABD7FE2B5019901B11D7407F13182311CB4E7E2368542106E03B5B3B864A42649485915B2584C62FEAE05C047B1EAD2303245C3450D7E872BF3D3A65D9E6AC6DD623D53F879000A3556D46760D0548A552B83ADC917EC8617E953F4D84064E3A48A795291240ECE56DBEDAD22D05C78752ACDD3B5854FE59C217EFA6F538D15EE1A78B5C4791B06057E593B3BB754AAADC08D71F7913A2202D53C8BD1D83B2142DE9B70ABFC0436312C1C59193F63E2D209F1D5F1F81FB4E8FB134F656887A71F68C07323FC534CF6ACCE144C4F7C7C41818B18E76E15C1C0258E5BC63887DCEA5F99738BE85CB1F4C9FDF1FAEBC534AE8A285C80F13B2E208C5FE4AFBAF5F6C38ECCCBC8B1E9AFDADA591247BA07F16BA9E4E36F940E569834F1F80CBCA9CE8E3EDD4CAF4D32D37EF45264864B36A29E1729B2AB9AED0C450B45F9D600E773DA9D6C5F780055306EAA6D19E7AAAFA8F41428247360FE13BDD873BBC749DCB509B02A76E79E2F2E528E4F381B7BB3AE24B26FA32A21D7723ECB9853C1B606A54F14B881BAB00C2231C770448656151F7ED9E4795600122C2FC459C872CF53E80E4241220882054708CA33B2F3B4F21FA384884C810512AB5EEA4B6612D3E4DEF6040D9E5F3603E6EAC73C73CB79CD540435ADA4A5D9B82DF4545B69EE0F4840D2954E023B48DA0444564FA3FF4259B7D8A20FCB66241C6F06412669CEFB3C8B9E9E0A83E9CA0AC744EC7A26D896CD43E994588278A56DD5827E2539B55F8DD9F121725527B07623D4876ADEDECBFE0B4BD41510BD30E3AAB253098844C60A0B598E69DB2E1CDDD77A964DB8433756B5F954453A2AE8620FABE6737B615DC4006D03327DF04E65C8E80946D9FE5AE5FF38A58232EEEBE85797A0D332B55B21770B10015379A9A5294404F4D356EEEEA47C129E40B6014C19F84CC1B96E3445935AED67AB3A1AA53DBA570AA0F29BA19B2AE1A6C48E345F39A1E1A28B2BF637723EB708D989EB25DECDEA9ECAE0B2B2D93FDDCC68377EA3FCD2A9386B0CEC6893BC3A57867B2E48201A6C019ADEFD0F05553B0554B938D744872D061FAC649A68D834CA52A4752AB4B36471C5D4C65754868C031FC35D8050E50E803960F8175FF0BACC08644B51D316DCFD9982D076A6A2CBADF7006167FABC7753084B7F75C138B059F145A668C59957637BB8F7ABEFB8922D509FEFBCDD357F15EDF1F62BB16B94B6A1E7B4E353256DBE17B2A466E6C4AD72D25A177AC333BE505DB8BAFD9244B5068BA7D4DD283EE08459BD47B2276F3C25DAC5D7001EBD0E8892BEF4F0F17272DBC70D15B626E3643E1664CB7BCB5CB6521C0CC8E2E08357FFC3A329C72DFF9B4F0009A3011931A1630020AD83DF6A803DC11DEDA448260206475FD7B2D0C4AE8057EE9358AC8EFEFEADD2835DE0EE6D8F5A2593B7EA0BD5F8A7FB0D003E5C175E4080EF77FCEFE8C34FD09AC0C5621E034BA475DE9DDE49D2D80DDE836E6A75E9B257E46373AC2CD1C81F8898CFE8B2DAB05D35C404477C13303438EADCD2502ECAB5689C3B0B01CC6128D27784BB283ED8888B204160361DAE14AEC97CBCD81A9C1CDFB372A543FBE7C0314613FA7A1149221A169F58F26C0F0086141292B10B9124D91123D95074E53EA029801E6B187E5D28D83EC90AD51C80D9B350813CC019C7E5A2BE39BFCEA02BF08B865E6B31C302F4090166AE3A624F19A219DD7E6ECBB29578BC96A919E04B650D794FD17C81EE27AE97455939727FFECF7BF36789BA34B04E8892FD2236D6402C80884EEFC9388DE1621C746D663582305B6A7B3E1D8854AFD6339785769D4ABE411B9F990A42A5EF9B43C8F5C459D50559F61690D7816D43CA9B15BFC4C5DD5A2F520527729BB187C14CB494885142BCCE3D9D1737EE57518A1CBB8E9194DD9D27276E875EDEAEC931B1227BDA3BEC2F7C3F0F5690C5DE5E9DB8ACED68B0963D35535E6F8962FF45264B0112B88C9BFC9212027DE6468E86F1AC632D4C8B264AD1EEFCF2F5971ACFEAE6B8925617034814CB3C9610E3B34284AD38FADD07DEF491DDFD660F4A54880C6B71D9DAFF18B5AE53A7274AA6F62C9ABCE4538E5CC76E9FD8B271778FB8587F154BFB0ED98E20A4A5E58D21C7201E70D268A744FB9DAA1A3DBEE501C6552EE5EB7E98FB426DECB5DB8771F0D1E8692AB8FCA7B62A5B14093DB30AC68518CF728FA8757677B67B95A732D8317D47A615EB6772817E89AA523940B9B08AA503E74A5D755E8C267480B57F398BAC10FC8717688D23A737822F7A031A3E02993896C57324B0C049E0D0A3B6EC32BF78DC16D5436B10A3988112AC87AEA164C0612DACD8FAC6ADE09EAA14B443524DADC696570F8BB9219FDA4AF04DDABCC83BEC86A4E30788242337C17D721DB5FA208883D2F00AF1D1599CD58D80DFEACE67F180EA8953F92C16BDA7E620312CF4599B4807A705C50354D8DCDC2D4B518CD66225BC9C90BD3383163B24EFF6DE768EABD77E6EBFA2C2EDAEBCE46E58ED8B858B55ED87FB14E3489BA11861ED0434D1C3C4D2090D28BF72ECD252DF9DC34BDC41DD409049811FAB93254B2395271244772DBDB594E2DA076906D0E0F85A025B2FF3C6EC1088C5C37F85B92F6EE7DB41F7C867E35B1AAE99A4E6B60F734E01E5980B608022EF2439D582685E5E1232B25C71BCED4A91E3ACEED3E6A1488D8B582D10B7971E9871E5AC2E6936EF2D55353D +MD = BD9C83B753E6CEAB4E92DF626F6470F881B585BCEED8959E512D3A238AC2D581FE4294BD8E0F69F8647256CC29A9393F + +Len = 30776 +Msg = 1633256AB03B20CE079196B708A1C02D1B6072219070712C8589EE21341D50752ACB6CFDA17E982D828BBD6CDF54BC7232FD418A323D64939928597B9B52F07CF488250C5E42BFD3AB48012D709F8D747225839296386FCE5FC5AECC4BA7A1076D089DEA8ECEFAA0CF66FCA8602395719C12A04F929321784D7AB8239FCE2FF3BDAE046A266132B5C2AD9F7261F3014E87B389A6695978693D9371D0B1FF9C405F338C2FDE4687359603950A54CF4B9CDD9B24480B239ACC5405C14C886BBB0378391CEF0662A38882BDD09E3866AB9A66CFBD28EB5EE4F8009BDEFC4AEB16700EBA7DC557B489190A71FDA75E85F7EF841697F70FFD4FEA185E7A67C81C5B8F273BFB97B2CEF695C1C74446C4B425BE6B2E66DC0AAACB247E4467B7C7D84EC33B6B5AB8FA1979F503008BDCFF948CDBF1226B1B066CBCF34797298F3BA8C60FA01E0AC8B803223C656112FB91435D75453BAE4707B63330467DD13E0A4B992E6F7E46995899A2D95D23F4AC3D0802B2A6E7D024DEA19CA408C4BBE053F14C9CE264F129724A18BCB18F385B1CA091A11434EA96D98C8D0602E98EDC8DFA14141AF93ED0BA66E885E9FA108591AE59E109AE34D6B9F5586E4B4D75E7DF7C32958A65E88A9BAF41082A0A3F11539DC4EA2CBD9E1C6C3C439B622F1DE574FA75470C8C939B51D2D1C2A7204B859881D43086BFD8FB90346218D099C5AB36846F3B98A7C847318BDFA01E09717943FCD864C5A8A17B6CEB89D98E872D388F20ADC2BE5E2006846904F41682FB1283214F3D20DBC9FC9E0FF571844A1282E88590D7C085B2C568EC5ACC4462B389FEAA5757F7033187E2DE31955FCE55FEDC909255048B327CCAB2E582BBC9D8054BF5CB45145C7D3A3AF9CD5CF6ECBA490C634ECF00E646BF95E8642C43A4978EF08A574EF1F78F6CE57C3B34B5A123D123617FC8EC9B2AC0F9B70A7F6062D38DD7B8E9FB4ECCEF13DED5C0477483ADDAE4F1CC0CFCA274B1307ED0DE72FBCB819154CDA897D7575213042615F1741A8CB646A39F8D134FDF9E60E000EB8220F65CC30F5FA52C431B9E3B6101B96E25B8D0440B96E572A18A01747C02AFCD7513542F7AACE194632099D16274F31EBABB60DDD94FE43DACCE900EC0902EB5E686D48ED8D09AE63DA0E15C736809903A0297A92DE84E0260F11F446E1FC448E0EBF59FAEA3C726F97925C57CBDF85B1F77078D36257C85D56CBBEDCE180FE12B687ADA2DC9912FAC60334166BD2CEF06B089ED5C9563844D71D8FEAD2F3A93F3C07C52537336A8A70BF5B596B9007B9FDF2D082000F20E6B70D2A7E6C7ED27C4146895A6D85A246F623C1B9258A2F891F823ADE4CEFFD59D4FFAD077351E2F506E9A5BDD3900F0204B9E8969AFE72F5DCCB9CDF986D197AE4C4DB53014041AE6221B750E5290E307AD292C8DE6B899235212EF8CE954785537DC9435AF11E0F3427A9C7B22EFA752EA0B7EADE5F6EB4093BACB78676E506698139E4F774423B8942166F9A7D22480D814FC0AE19CF4960FBF6E01FFA65C8DA5BED4F1AE2B9ECEC5BE7B3C38DD4045B0C93EE6CC77A7E61E85D331B23C0D164B104518B3405497054445A353E9B48F2AC5E8E96298D6655614336CFFE6D8C9C915E387391519AD2632366AA3BC935030FD12927EFCA17505ED74C94650C778539004854DF6C24269AAB9C273A493D3E5B0B1D687C33C2FACE46B4BB3742D6DF743D09164D2E0EE7F6BA128BD5FBA2E3B33C199AE80FA9DEE3AD811D02BAA3D42A6362B2AD47BBA8A2C5CD00B46CF22CFE367281488A4852EB8B7FACE79F0CA6F8E78D32578DFEE01711C4DCF3C26D0BA13F3075478E708C5C5315AFDC2E4C0062D16458213BEC506A9E991A61825FF78DA9BA1BAABBEFA56B4A8C9E2E7B60EC4B7B541C8E0F79C86BB5F03F736761A37169B2AAB8884EC6EA217B02C59035F5BB327243D126B78D4AAB430212439B5A75B80618DAFEB66AA3AFF866C4DAEE47D374B512E74ADA933EF24A841BA271C6F02C870E8AB950FE06E93C91DF0E99165DC01BCB190E411ECCD85358FD4A88127A22E4CF4266A90845124BF97B25D7B1C46D3A0D68A684F84E2A638C692A52CB6E8C651A3AC492B0460004073D5349E35552359CA37660F77B2770D6B2B3F7B1922424AC4A8598B4C61A6DB507608A72A6A7D573CC055206276E14005A28A0EC41F28D7E260611D40F089FFE5E529375691412F4E9E12E62C3BE2C563C26D2444EA9C69E6C935FEB4DC4E802E5FE3906F8ACEF4798D940C3CD574BB5E74506C3E0B70CB62454A25F589EADB6B0709FE3B50417CD1D98F08E08B7CF68A04CCCF8D6588F9FC2F31E533CDA6159BAA4297FA446450D71C16EA2324EC09773E7C8817ECF680ED12F64A04863EFE3D9D8760F34DE5B0860B3991FF0EE5EDBA22C4D69120DE19D5429E4AAE91C9E7CF05CC807159A58F13B480872AC1609D87E7009DEDB71C09CEAAB640A2B6135855CEAE4AC2954933A0255B425D9FDCD9C246F82AEB7C3BB78C6E73E03DB7AEC4245A28693FBD36EF4938D59CCE19EAFC00671A0851612406A075713C5D1154D8E13B59B7C5B0902239D4BACFA386AC817AC5EE02A181A9A47C622B3ECF287E14843D452AF347110498A620B34AB4E116308D976062C9EE9CD35DB6CB79805B93AC9A15AFBCB52F1ED4309879D1924A4BA190B0B86E60A516E77D34B4E0A49D4EF2CEF3CC2F410FD8EC901363FC9EBD75EB460D4D8910BDF27CE26A8B4AEB94F9F76242401DC35D0644842B99FB6C439B82D82ECFE1AF0D01F9BECB15BEC83F13B260F7F714AA381032923FDE8F8018F3518547451435C9A5207294D08A907C73696F6CB000745E072E25B73B3EE11595433D27A1F11468686F08094F1D31F5ADA81F11F0677A29D72EBB2E1C4792CCC607CB938647E1F153F9EEF03D982595C631E49B6B7C1FA003A6EB8D59CB8892CD0888B05240F12701753F89007C859515A2FEF944BC60B36003A26702AC6FE04D2E942978FC31A97EB29871D6752399D3521720729007B6A7215A4282B2A4EFC2C56BD129E74C9B00847692B96FCC71CF7A7F19F3FD6B45C519FD73B4860880A2DD74E5727B31A93F0A87F0078155344AE9F7BDBF00D83393B634B5DCA88A398E42C320EB95C4A826ACEA90B65E4767B2EBA748F97C247568393E2FD3A66075CC12935B6D7EB5C2FF5282185CB62C73972A37B3CA508004B4F796BDF82B83B5BDF90D6BFD32B5089B0CA2683DC7FB2337DE42E650ED911DBEE1EF98257F9BA5AF54B1A54B04C0087A5A64BA779D86461BA15337C2E7D4955FDD777A025DE226306A17C384F1C52CDB5946FB0B46DD5C13BD7A55FE2E27E4C6D40D61D6FFC024468F8EDFC7C7992DF5DC5D05063FE723199224F53678E48F25250EA28BDF1089718EB8B730D1C06735C2F871164E2EB5E885A8DFD2A083BE97EDC94159CE9BF75D2433F1D782762F771903CBF9A1C9D13F710BA0E151B079DC0A8262BCEB1DBCBBC0F35DF6EECF7BAA7105B9808745853C96B4372E95E482035916B726DAC7BE95A72B19DAD48DB1B19E6EB2EDAB5AC1B3013839E7806625ABC129F41813E6D71EE4AB2040D81E42E6ED73ABBA64FF2EB433B910EA7D4F5ED3D8D27D39BB454EC019DF6114F544D7B155549D0C56D14551FAF353994A80F30F3C97E863A4F2AF316468A568038EB4D799350A6FACAFF90ECD44E0F44EFB6DC42EE4B0DC2C59EA9C1827326DF08C0A6E55CF4F9C3EA0E78CFF3635F5D08E44F1400D20F638D56BA84B4832090454DE57EF04B6C8805A36F63E5CCC6E830C87FFC164647CED20E4C486D09DE7A5F9E4B68D5456CDB22B0DDED2B95B3BCAE529215C2D25D6823C7D66A4FAE0A1E9F022BA5663204F2314DFA51A1F10E11D6D62A8BA6C28B6AE7DA1DEB5B57F2B65D7456059AD9F03DC5A524054DA39DD100D74EB657DE219795E3C45A0E4C762BA22F9DA9D8159E425A1EE783B4B22C250D8894CBEC706CE16D5CA393404FF478F141BE7CC69E45B077BA1955F1F49EFBE4847C795347F703300F672334F490ABF8B644A34B56DA00EC45A350314B9ADF27CAF7C51CB7DBA0C5477E7D37662F4F23247BCB8F7DD5F3E9CB8BDA40FA97568832AF0ADC68F71422E412254A6BFC8943BB465B01FCC8DE0B957677C78BC1F7566953E9D2446239F602C682A521C14F741FEA98C7E27AABEC339B6F5B94C78287A894AFDAE971F8DA7C7E4A4C92C8DA47BE82DC2532EC2DA9BACEDD2BE6DB2B2FB34DCCDCB34116507376578CBCA105E5E443BEC0F2EF23BE34CDF862EDAB34F0FF21335E3ACD92F59688B419F824EA61EEA82BC80E3463452192377131BA51FB0795E089FC077D0ECA8012E58B0637AD7022206887FE9EC00EE5DF7AD2E26FE819EE35C7A179C579098AA3DF645D9064CD557DA90BDD21F871CEB048CA56DF9653A10ED60F5E9F0ED7F8D89BCF5C22D1143CF44718FF2DFD8E10CEF8AABB67D2305F18177C1426BD4CD03F2625E459CE905067826A214E08E56D8F9455593E6B324E72DEDCC429D3BEFE2AE0599E360DF95E80D453A3A849E48389FA745635BEDE30E7932DE6A3816E31A2217F98D5E40238963D0A36C159FD4EC32D8A5CF59D433DEF3378634AF6887FDB3F3EDB96FC8840FE1B538C329674AE810E8C8B2B46DB208716D38E9D1AEAB097068AD83ADD7DD2647839B3A7388B0615BDE26F8692E9C07D8ADECC2A875203C3D3A9C6CB1D7D06307E9E1D9C3BC536DD8EB271E9A2159C904E61E8C9357FE759F36366AEF5A3D14CEE82913CD2708AA6069369CED763C8E830D70924E82E9015C2998E86EFC1DCE6AC2EBCB49455542A6D7DAB265AD6D7381FFEEE1AA40F8FAC0659B6FB56BB03CD8CAFAACD48D13672F7D524EB9684CFED4DBB7476E99149C28EC08F33BA6AFF839AA178F86B8EEAF1739C829177BA78547AD394136AA3FAD451A11E9642506568B39668B2436610E06EA45FA11D04D3759B033B5382645F15B3C39270B81B80487643913A24F2F1C1A1ED57C85CCDDC8CD6D59B62FA67CC80572968C8FD01894F0153634C88792A7C4A407A4A4CE46CEC5FE5D2569F95A27DE242444EA0C715B357518CAEA23E767E8545983F0D3A4DF66111B4AA1D399CCAFD796D7A80E592D5A51D2B3F60B5B04F8D9C009CA56CBD4DD84127A29B72ADB7645FB7279C9818B2B43963BD605F45B6575A5E2E369E0B401F5EC10EC703F1179B0AB9D4A89D6F096573952E513827364A84D38922734137E969D8167D6959B70F42F2BDA37E4C989ABAA8024C1A84ED6BEB74780927F78B32EA736B9B2B4A795C355C0319811729D9CC399D23519730338D62E16E5035FC52A817090703FE776D65EF9FEF5BA5F4FFEC3CC8E9EB2E312C50A479BDD4E6AB0A56C18C2DF69ED408417BEE28BB41DD13F8366FF6EDA4B34090FC9BC045271 +MD = DD29ED9468BB12DE8F9CF64AA766B04477D659F032746AB4D09D56A540DB1A3D13F7C91B27FCE10C4CA8466F4A06C2C2 + +Len = 31280 +Msg = D1FA123C468D0052C58C93BF306C7C1DC90968ECCAC6B0C2F4E3ECC3F908F2BE6A54AB69AEC5C496D291D0263243BF1827773DBFFC02A9D5FBF7AFF63DA5355D5869F492B0CAE82B229A36331DFA642557C6F6627FFB0995E593DF8E0FBD3ABE66126B7E5DA1F1891BD28873FD9C96C0076215B60548075D16CDA92A2B99EAE5776F6D1E7AE2D8CA30546BD33271D50A6FD34B23809534AE6E4A875D6981492F23752A68D1E870D174A021FF8C550E01993E3DC3358274E4DA2B45C000C43FAC307D82EE2B5D42A6D9849C11A8A5676605B7B3C45220BFA5BFC7118E2487DA143DF0797870303C185C9233AF63F447CE53D8199B986ABA367735FD745F84F8D94BA0C1A08DB280D860BF656EE871AD1094FCB41C7BFBF0FBE0959A31B3ED573498AD35026694ABFB90684B35BE284B18D4B663CB2EA5DE1A88E2947BE8012858C57AD8601CFD1744573F79906849B4A5552AA87D5E64C21A054A7FD31B7EFE2A5E401553463FDDB881355FD94C9EF7F6F9E3DA4CD845EE16DB2D1A7D4E31C9E8B42C0EE5D30296A606B00AAD9EA09509208188D4A15B328EF7564C2E36FE79C06E466AF598EB64280F0019A3AC81B18FA254B0B79D7B80ECDC9ADA3DD3D13F1899CD3EEB6CEBDACC7F69E6ED02B2550EB3C76E1774E189661BF791AB8842A92D86AF9489771D1D6FE8302BE395D6750EBBFB1ED7237C2C97AB655C7A6C7157A5EA5C51036ACD9F1C031277A90450BDBAB5D4A9B36DA52A6EF7865BD0B5571F228D5D61D15A01C36C3A7D2F133F04D0A17255271A1FA0BC7CD60A85BFF17EFE1D49A24D7E87807F67A01358B7CED01A112D8B71A6DD70518BF6AA8B65A5D510E6F5084F5ECAEF108F6E6564032AD9259E8406076B9348CE337005FA4B205F47736A79693C7E963635EA634CA67B9749A098B299879973CA9CB355B1080DE5A9054C7F39C158AAE4E25BF72C0547FDA9F66A234AC3E2DF8DD22752AE66D26FDB32515B9E9239D1B583A314AE231DBDCE9013DA4F98213CD6AB9F42582F62D639E20CD183560F341007C600B2E01233098FC61A50C27D949822C6F99FDA51AD788BAE101CC379B48AC8CFAC3B5DF81C9F7B4E1E0353F7F10AB340157FC7A8F92FFC43D31F24B498B381C7B20BF0A31B74C45627B9E9858D8479AF5977782A5FA88D258EBCE97E6D0FA0971DBFCAB6AFBB3011F9CC24D8C4E3DB57698E299F6793741810E2A94295D0D91F3F769F184DA2FFFCA771A148728A2F95237B77864DEA20D80E09E7A0A36637062800065ACF15572355BEA8DFE27509F4A757079BEA6D6DF3429353AAEB7777A143E3ED1A20DE487162F6666BA5D27EB9D350D6A5C724BF19A1D058ACDEF126F6008EBCD192516FB0D4797DD5FD3216A9CDCD2EE24A2C40BB2CBFF75CC59DB2E3CDD8DF4E0B36A670952B07871A0299EEDA9377E8296AD3788C78728DE71D31241F20C2B2046928CA2751BEBD10BC0C455F49F30D7AD979B0D86B66A55429853AAB62575F9219483603924B4D39935489E8B2AD6E105B8D11E74785FEA9D1A9377D189BA290CD414F57ED67137523A355F90C9FF5FF2CB760D4A31FAA2F1C478F9547FE4C4B0B1CBBD71B690FB3EEAEF87A53EAA1EB6526B7488963FB64D17B37BB387105E39969DBABCD79EC28DFFB5A61A1101B34C14202BD0EC1CF800E21D695ABABA494431DDAA20D88ED7501AD360F9B6ED41B4CCDD0FB5778CF53D7C18C36C4BA783E68B9B0D26C7BBCB3B2A015BB1E2FB51FA9C323C08A7251E48F140A4E519B1C389E0FE4A87B9D65B8D91A2081405F05D01F71024A56BA89550A418BFAC2863928BC870413CEDE1411F0D7C3E77C760B76E0D94F7D9ADEDABE9E4A632B6A1FB5CCBF8EB2CFE772FC31DC0D1BA63ADEF21CAEBF846418C6ADF2E474EDB4A0207271C326F14D20C0B95E1AF7D86331F0D4F792D7545874F550892B3E081FCFAC6074E172F8826E04F289201420F064FF3C53AC7B9A15A291E878B590B3F47F53E6CCBBA897653D6FF4C6CBFAC90CB8666C86DFCA4D554D8B87AD1ED5BD39411EA35A417A51F9119B630904BE6575AA257BE54716A788922972CFDC5A5BCB4B6054532AAB913E7D8B0F5A450180A3E7DEEF61BB0815120D7869086291C3F3DFB71014BC66E3D5C8854B52E800C8F64765C4089E482012550E2377104F93AE57F047A35C0DB243BDC7E1846BA0D0EB42AAF97742984D2637C2F2BEFA40213900C3AF5A758F85FD4342F9FC0B3821FF97B5302332DB2DDEB688C8572691AAC5AFD777C5AC88200993D3EF100A5F95B51AA92881ACAA5FAF68E6134221391C04A88C7C07CB39D07D5A245AEE0D63395018C0C8E1D45BB640220C2F993831DCE2597133C87014D12F5CED521AA45273F7434DA8ACCA2FE35A26FEEDCF701AF1328E4C2358BF74513CDFBB6A0864EA9670C281C5E7C51E26F3DE15649985DE90ABBCFC2D85C26886F0A0C33C8FD74E33122C42012F1C5ECDD01FF96FD75C6B067C60F2501088E2C8C2530A0191C17A113B38240345414569B3B80F8DB755DC3362C52DD1D36C06D02442C3AFD24058343F9CFC6931CCA0442D3CA2CCC84C6267C42CC85F4D6BB78F34DF54D4E20205D7C379D924C649AC7EA8FC127B7EE288064B2B69FA95C93F0E0DF1E863C590E2069A0998A3C2B99C95B690B5F7014F401BEFAA835CFB414CCA8A5B7CD027E52AE3ACD21B618B6C9D1E240E5DA3A5F9D2EF4F9AAE6B3224070FC41C130251D93E8E4A9452A3A2ACE2E919B6CBE248A3EAB6479FFE4ACC55EAF54DADA9A84130CD6BBB0BE41637558A170982EAE9A88853FCBFA6CB076841A8E36E8824D21AD2E3AD1D7F829A5B13296B15D0053BDD521D7D15E76B356D62F02EE20EB78D04838AF7E4B084B0D2575EDE7DE2130C5472D8EB1839C19FDE06D7E77BACFAE1058A0A19EEC6485485D401A70A8920290AEE1D0F36C67324A6D87D3B9628FF69479AEA4740AB9F2563895D418F9A5F04C67CB4529115146629CADF3C1949B3AFF50E8976003688A376C5E889AA0B764027335FD8174F648C3E072CF4618FF2C2189521056C03BC2E530FB89B391CC5627964A6555E8CCF102D628CF1B3EF1C32499013CC37D81A0E8E3E033FACF41C1295F3F8ABE317D1CF1D2B1C5FB891E197CCA3422522A4B68C6481D4C74556E05E06D0E45BE294E910632B747F3FB34FE5D3AC012690D9E3B7A4338FD58818E622AE7F71DD90A34081496215D8F224252C50CB1BBFAA08810FB6B4D0DA50D007AD6D5309E5C0E27FD91B8B343746B6CBED1083F91523A7B51B9046737F7114F507BD7668835CE2EAE7398617E3F298F5B8B38966A9BDB3BEB342EEFBE61368DD8302747C682B83C3AD4E184A5F8DA2CCC4F7EE99A33156274D97134126B0B89627D811BF07F7683E840C51F15B711D1DB0C3C41BE989E0F156A5B948DBFFC19B4047A7D93C9D9A22DCDF0C14897B5CF29D03CD426C62E6014EE396C11483EEE85A2D3212387B5C48DF8252B21DB40AEC9F8A2A1AD8A55BAF263812094E9C81D5C18FE1FB56593E51888C8A0272EA2F8189782F462783BC996541B86EEE4F7BE53D535B4E85DD786BD982C5D494EA017CBF354617D219A495E6448B00992DF83C94FABB3567E75220705BC449C2367C118C76EF7482C9AB77A1E0AFCD3DAE4DBF0B211AD79EF141217DB599F4F74557B9333629A11AB482EC3D7050D95AE052F3E1F814F630E9809B87046D1CC408076B5CDDDB90A389F8EB3FDF64FC7DD71E6C0D5D6C2C2C507622A387C5A3AE60A6D723DFCCCD1B6A08B40CAE54D6FA519B5897497E0B972BFA1966CE2A3DB3FEFC41AB3393171BA46BAC2FA93AE3613CE88273AB92921F4CF8A5840CCE3F3B3C41622EDA57E33B436FF8108268E358CFE0AA72FD0D2AD5576712195F6336293BB3067ED389D69B8618DFEAA8CB1D12B43B370B17D29EC2035EE9348D69F0E64DFFD8096168F6CF020661E72BF64FA0D03E0602750A7DA0DAF4A4ED909BCF170E76EAB0889FF15D84E9F8233B3C57B34084BFBE7732500A4034BFF241AE4B89F9BCB2BE60715C14D3B2F5F8E3C9B9C7F7EB11E6B0EBE70C9B63571ABDD5A10A86C8F9C2EB64F7075EA1F0BC02573BF83C3AF68CA831E16F5F40E558AE0557DE3B046D5418A10B9E230CCD22D4CADD50CC912DF9A42AF82EC97C91AACF027240F95B19FAE3DDD36EAEB11FA79C6C17BC6A43796151700F587B64CF3A2ED521B22E36C8259DAD86DE55F46EB665AC0CE9C59D91D5310369F88754CCB1484F4999B9DBE31A9085C5D8AC64B624904A63DF3D1DAB994E0A845365CC6DAAF47633F32A929AC74B9E8A76F4091DA80E49F3AAEBBA70544D1705B60E408055F07E3CC71F0D2CEA3B4B16D5995A6A9F476466765BEDB2BD44F97D45858D1403C6348884AC7163AEB21364534D8C19B0796CCB507D9441F6266725FDB340AC1159D7C63ED0C5AB42DAA9918C0A3DAB2FA70F84D499ACDBAC62F74201302D6E2B854E37B1C790196E878ADC03C001F006D2196C285FE5001FE395795D843B2AEE6F7D6C22ACC3A42307F5F3FFA861E996F169318248C3C41BF9D1A51BDBCF5A33A79815063E07CDF5A0C4676EC96AB576D27E117B3DFF7A2F1DD219A1F1B1637A64F38B122D60B9501BBE3639CB76D8E746165EBBEBB90692461B61086EAE6F6F5AA5E0053D84B6FCA8147D976DE801B11B306C1A506110C6A8B0FF62236889718B18B5507CC2ED073F1AC48AD1DB1AA771295634272F338323AE5DC1FB19B937D891EFE2E960B17D343E38F2F208D4B8CE21F25FE87B5F12038EC57E29C7407914473E96C3654162E5DFAB9939A011BAACCE48010898F1157740780946B67E5A44D49240B1A694F679CD689E720B0381ADC691C8B24DE8EA99A4C739FD5A82C06CE12C9DF334E91C63B48CB833CD0E57D2435FBE1A6083278AAF574E2C0B706A27625FB4934E139163006FF91319773E996E08E91E0BBF55779971D458241CC27B4ADB43F3C52533F4A61365956F496332AF91A4B50C21365C5DA82FEAFC6ED819545C23E3153020B86471563AF40143A9213658EAB2321F5667A85DE88D6AD77D3ACC205D130DB4D88901E92F6CC8386A60CDBE8C604D2C577939B44F6B6E8DB738033084F84990932A21F8FF91A09A28BA1173B2DDB32422C999EB42AFEA02172A1451BD9070E281885024BBBE7008E340881BB2CD61EB36B6DD4AA3883A79B8399ACB8656D0DFD7520063FF1FF95A62376C1C99ADF2DCDF0E62E06FDD1C23E8B4B25DAAC31791EC772DC96EC1E8CCC4FB5455357DD6C32682B27FC929E5F28CAF9FD9EBFED73A13B0D74D9D47480DBC7D9550078B25492C9E2D3E3F5A86F58F0AD35744EDF214E3F810075E77BE797DE0862D4B3E771406F6007F7C29426C16FB3CC5483498646FDDE644C5542B28371019EFEFE50F29B2479CC68E7C40D681D8E496356D71BE30798897AE496416D7A3AB9751CFEBB143E00C036C542F79F69F051887E42984954EA5844DADF56B9BBD19E8D20CB9A4EA +MD = 6BDF6FD183AD49A1ED91D9A02DA099F95689F4373EB5310DD4C1ADD451C8F682E8895EDEF34B5EF1E35F3CAB4E6EEB83 + +Len = 31784 +Msg = 03978FA9DBF1EF4BEACB8F58D4C82E29177093520CDD8F3AF019FD34EE23B58966BD793D8783AE53B4D00238B833EB41D72A616903A1C4D9720B066745CE4CB320967F9BEED566903E1DB3C3124B64072CE048D2FC4C1238F909E152F46178AD0D597299323F58436BA3E15627BDF962343F862C766379260994B71B4A5A8F54B90B0C5A6B6B6B5C3C54BB7E4112EB7C86C4A66B73C3A010A57232FDC79AF02BEAFDCB9799EFD434A9883CDB7342BC29BFB176D2C667F6556AB415F54821CAC1D756A1C3300D8E663B2418A6443ED47965B05E2F2DDF339DAEF0378315AA0C55AFD9C416BADFE090E516A1326119A97BB8421A67AAD2051CAACE47122A86DC092383EB35BAE836676A238DF813E6013AF9420371E7CA95C9DA9E77202A74B0240BD97412B7B7BD1314F2EAE0F1BE897D7DDAE8CB96CD77887589F66A9068734F9C0FF7778AB45C1A59EC7DE35E6AB5FD6FA0FE055474CDF0CD1F27CCA435A66291DF8C1DB231E1AD3B38ECD9271259C770C69ED3622A869089CB917692F5FE05BEDA10D6765B15FDF9AB0A1F5D209CB5766842A06F6D8A298AD01B735FA4FD6300E46B0F54C9BF47089274DCB5DCD0D14CAD04ECE24A97196AE51176D4E1024487C075C8853C9FAF36291B9AB7B8853E366C9079544C528E103AD509C2A486050153F606273B7252691E83BE3EF689D37E7048396C175C7E83A5A2D45BB48FD867B01695636E3813914A7715ADA04CAD838DD98D9448935C004C8A905CAB06B4D6B3162354531E8AA74BC58F657070ED5F10E8559A5B52C3EE34441A0003D849AFE0E6D6399D79A6B6B06358119BB8F658685EEAE9A392A6E8D558F342EAF86B1C833218E0DE3D4E69AD825C1DBB966E9E13812B6416D9CCF03650F1FA85982EB37CB926E472634234F94BE6B227E03AB27A60B89C760F8A9B8C9AE8DAB4317627644AA2B1CA9966C446DD597DA367A63A30B1E3D44D1079598F235574202CA6F64EAD0DB6E0D1402097866B147430BEB0C6EC3EBDD02B42610410CECC3CEDA09C9CCCFAD4BA95C32F266B8486843FF7C854BB8D0E44E177CA294DEA15F6A865266343CA1144A7D30BBF48B0B4B4FB48EE2BFA531E2379F97E5D785F7FDC24270E981F8DE2DD045B36D6B2CE12AB7909C6CF2856550D600CA99422905C36179C61876E5C763324522527A2BAE8B6ACF35422583C881BE74D943DFACC1C25DF0B16DE5EF8FD434FC3396FDF0DCF272ABA5516A8221C29F01D7DC0CE3858F1C556DBAA8E5016FCF8A4E2BE7B7DEB5D388D617397D67BB798C75D7FD699A7CCF1E40192D636C1AB19CFD6297466B7067D2C434DC1FCA9215113A2C8CAACEF0E294282347C650E41E376CCFC3D883EBE1A6096FCD274FE72D408AAEF73CDDFE8573586A676A942A80DDFD2ABD860B1D6E6E77E65646676940750C091C0AA3710E3E3EC5104CCE4BF7C65CB32CB168E0AF7F63852BF6E40D67619C0A5769ACC963BEDA482A060B9D6E1F51B7F244B4E0032E1A6093A89B4BA1AB9FC076F25D1E55F6493F3DACB5B9A6E61BFD62967ED304518393D3D3DC5075469952368257851FC78C85A2039AB204FFCFEC5F140B4AC999021E53C49C0B5B7B9F95907CB6BBEEF40088AC80F4A2CAAAB8105CA5A04123AB4D83A1FA1E7738AD2590E0838556322020BFD5D603529435FBDBB951B76AAE8A9D63E68BA0779F197D9E50FA31D112A5CE4AFDE8F1FEC94412DF44D78C9885FF678140FD636AD28D9028A6E193B5DB85669D85D13FA7FF5B9294A0423B3DBCE88454BA6C6386149B471E5E20E5C39F5FE85869D0B23521DFF667E5744C2E0C273A9DB06405E95346A94C3A94059C9C7A23BEA476FC1AFBF91C00718B844BA4F3AF815896ECDCB58124D1D0218F292B65D152407975423332A8FA7676ADD341D4BB8F81086C417AA489C4125727F42CF52DF3164EA72886CB8CABB7872E3898CC557EFA6BE5F7431E99CCDCC2E087494DA483751F961ED7B60F5E7F93E10287D686DDEC675071F5DC0BADD6F4FFF07CB27D251FA41582A4F708ED9BD77662096E0F2BE33C4375BB51A051709C4F41026EC22D9759A829D654F166DA6BC158D076E753F6C004F3F2EA5562CB65ABC5D532BD3D782F9CE9C6006A0EBB8F09EEAF4FAE40A777081BCA82110CA6D3FE25B56589BBECB52DA668B22F5FA38E1684F1868CAF018E49DBA28C45DB86FD70921AAFA4E56B589A01AFEBDDAB78436C050A4DBF26AA82B7618AE1B2EAC7FD10D2D3C974531760AC0ED2AB4F1D42D92B0E445F32A6FA697ECBA299FD061A29A848EC636E0B7F00E6310208F9D21D229CCA2505528AD91DD22E4EEF4E723314CAC648C26CC85A9F68008763838025BE8AA598F1E43331C3496095BC0C5E0399EE1CC56AAF88AEF50716B37EB156FCBBE1B10C21BA301158E422D63116D7DB8C6935701FA7B3C2ACE9968A81F9063EACCE5794A255DD50A412D68A4D1DD12189DA612C293AA9A4756ADB25B585452E6F38479D63BFFABE4E87EC43956684693025FF59087423C09E8DF4BC204F89AA9C0769B32A7004DBE9F4521B993CA92945731CAC800EAE738FB17432BEE22A931952D7A9342E049E5C42207EBA15927BF1630E03A02AEF6DFE2F40D5A45F771000213F64CC07DCA61C5B2A68DFB38E42BC08BF3B64C146ED3C291E5B94F09EDE90D6C9C6FFE752AAD17F9777AA86BF1A6B5C4876CEA631E13443C00700F93B4F7972AA7FA21173E7170DE5F3E3B7F6F755BAEEEC9D880155A640BE61267CEB05CEA102C944AA45C6D4023EA258737DD752A44B27E2B5C16906156A774DD40D47D13E221C27EFFB4CCE100B3EB5429FF115B27006E338F5FDF663BDC90694D3253C11A24BCE40503BB04917EA4FE22BA5E8D87837C344C2FB17EAC5487AA7372EC202A6BC81D80DEC352CD090C040F1AD33859C02B7E21381BEA28FF0E971D52D9006424EEDD72A92951DA1FE3C48B45D51BE8430A99C9CA159093DDA75CE2FA8ACD7E06A31A1CD3A60FE33A241B9A649FF553333B9C9CD70380B494A731478698D833B89DEB3AD79C5FA80ED8BB03AD1D42F2C8D2FE4C457A019BE95F267080B32038E55A57E48D58044ACC691DAB6D7E17BC629E78EF7879BE8D398C77C115F4547F32B1CFA181AFF8F3DFC66C6E9A754B64BA932E700127476C590401454496F62742B85C17687140E13222512C369FA0825C07D26E5F01A774FF7A755D4CF17FD7F21DED83A9FEE43ECB42D4498AB1C3A937AAE69219FCC7C20780CC5AE86F969FAA067BCA9C6C3C7C866DA50CD1CEB255D104A314D9506957782FCDF1DBE03945C36D38A43202D7B34441B82E61E72AD401355FAE7557EFEE0BB6A90760EE54CC50E39A844E8F037FC9CAC0B055F71DCEA1AAFBA7F0E770E61EC8370159F8340C6FCB1F37270E4A71CF1110B7DA399FEF7E4604FE7BC41C71F366A451B4CB53CF4569C8C9A8A19897A40BE96A92EE6BC888E8585832DC4FEAB31A40743237BFB0A346EA90ACD848CC648B9F844C606C018816CA0DCC189036A2CFFF0C41891BD4C32606D87D67A6EA61754A150BBA6FFF9A0E57414A0B91CFD087955AAE7BC4FDA95A4499FEDE1B4D844AE057045ADB7C86B72DE4B25FAC0995EFFB5CFAB372AD895796F9873F5B0B954583ED815B4523B3B5A140A2DDB7A5AA2B61AD8D06BB70EFAD3EA237F6606A5DBCB88F46DD75AC8432039090AE2458672DB7800A7514A226516F41CCFD08A1F0720A77E5FC016B1B927B828784E421C0C9E04C45A79C2E8DB16E7A4E092D73C5124D2BD1463813C79581AB468E2D37DF3925189833F8B372838A9F89AEC3587E2B19044C095107ACD435B9340FA49ADF11F105D2C87B9F5AB62E382EB569D79CD8678A5B1A1F7D00F38031694EE6AAED223BA123E8822BE1181A7BBCE5DC90F8DF9E3FBAF96E4D82B388889F2BCACDD81ABD5B777D78CAB2EACA14CA97281603E5FD0C6708CC9E223D045EE2D1994B5DEE248390FA01CB4047473312F14293BD9F574535015A5FD0D16FACE6B0F88FFC949AB458A2C40FC9806401BC5E917EAFC56A8DB323C1FBE6A57CEEF5E638288C0917F0BE1B8D718BC0E7B2B96E461EDEC2D0C53B481845BD906A972336DB93DB6499D27B9B2A5CADCBC94DC093B8B11C9D8BF06330D15A223236D6E167CEA457C46B02BEF94A936E0BB98E14C8944C053DFCD7A243E748709A1C625A38EB156D943F12917AA077DBFA57B24E26C284509D534C1451F425D5D25456787F97401213374EF77D6C86BE8E0D311543B15CE7E42A152FFD10303B50046BE07464C9B99B51018A42062054DD7654193E81A05909CA7BB28C617F064F9936C0D3590882F0C26BA89FE6D2B2F50B3C67DA8CFCDCDEA6E600CDB6B09FB3C170979BC9B1ABFF44EB22E66E74FCE4FFB6E5B373F2F10B0CA5EE4C621F21F7A6F863FA739172C135566B55916F0BCC6EE4CF0D35B160AC8A1556E4327199DBF53682471BAEF09FAB7ABEDF518427BAFF19F29429C2DFD9587843D5CED12272A80B17A5FBDB1EF77A510CFFE70B7AB6F592763418AF4CB555C080D9196BD8951A2047046D8E1ED60A67DC63E01294E734CD77F430AE771E72A29A9A15F0DC10A40B18729173A54B62CCF0CBB5B68604431661B613DEEBC200D0F19F142B8550ECF256DCB2233069BCA839365EB8BA87204F83A8FCA237B11F1ADA6C44EAF2AAEBB1B8B5FAEEBD2EFAFC0764175AAF9A9A9620F533C26CC237B208AD6789CA6F60B39FD5A0E07AD582F70111C25616D0A3466769B3E945FA23DCFC7255C03AAD09977EBCB046707B6AAE59EA803CB56D223816F006B3EF06FB67787BB09F41A6B41D6FAD04ADE014434E3CDE87F5CFE8F14D9822D990745B26A6C0BD49A70D340C6288C133EE43A1B22BB1FFC3948F1FB03047CF6EA604067D33D00F3A1C88CA529B7B515F3FECAA3BF1CF5686E50E55A2C3E4176E7B0280132A8F21698137745A3CF2B5D6D32EC91E340CDB6328ABECC4364F3285D1FB9DD502C1D3A84F47EE09440899094AE539710CEF433F066D3055A466FC9BF5803BF92BC65CB5E0B1ABB4985EF85B00A3AFAB4F8F59352ECD7E8550BF46B4D9AAABE858766751EF9A99889083A2AD6FC178D6B142E1D9E002E07430F27CADF6481683264B1F6629F9E186A16C48286257D3B35427D765A12E918CED157CB1E5745713B0ECCBE529C7B304CE7E67CEB5431B832019995F89DFFDC96CF6550FE056AAD875C8D37099EDF82D1DF1026D605CD939985C372F4E95B6AEE386779527F79AFC24E18750A4EF0A93E1E315C09F785C3100FB43E44D6248BB7BCBCD29A7B46BA9BECA5947ECA2F5D7FD12F588AA30E2424FDF0F202000C678C9AE598345D6AACE4E29F85731B775CB49E7517E38104B7B287DC3A490C2E30D3E35AEB1E6D35D2ABC8D450D07463E3E46B908126DC831F624EA010E0E2FF87D7F4793C8F075215C29D45396F4A65D490DC1C2902BABEF3AB1D2FF8C9A24D9C5956C9A925C7B88703C7BB8E2C6F3A1BD6FC5EA0ACB4EC669C0FC03E974389187D97F49D2A6643DDBE1B1AA9CD2335A90741EA0BD044DA6FD28E78D35992B5B1A851F2CF5D9353A052CBF1E57B9782AB3620053C89D +MD = D25871994D478F0CC40676F0C53C9C601D9602DAC2B84220AF46CDB33C4759ED971C52922E66236390CBE95368A263A4 + +Len = 32288 +Msg = 09A96A0112B823C2212ABA52EEA13C48CAE3F5E08883453E2085A803EA852A9D6AE075392BBD8FCEC567A1524AA65C70C3EE1722AA079AFD41696CC5391F529299C71E99B0E08E411D3E1E05C43E979CE10AC9C2EA80CBF4B58371273C3D3A8DF48E2DE7F50560FFED25F6E65E9D96CBB379573BDBDD2859D13F866EBF3AF488C6D2E36505A70D81AFD07E321157795CDF40C1885DBAEBF3D4E425EB4CE0CFD6CA5019C8DFD54BC2A30095B312AF4548B9ACEBB6A207AD3BCA29F4DA443AFC7FA789AADBD65C9D45AF71594B790FDF84D9235933EE96FFD83D1A1DAC8C1F3C2BAFE668B8EA5C9649D1D8DAF2806F0519448A97AF1104DBA3FB05CC46D33FA0112DD0922CF1AC84D4A343F1AE597930042AFF6DAA75011BE4B18ACB257D889A80F0C3D4094EF7295ED4E8C2F1E2B8F56EDBC9B831333677A4E6CF6110218B23523EEEE1E024B6398D1CC572DF7AA103CF7F50FA488E19936D20393A55843C042B275B78CAA9EEFC77C44437C375D4D1100BC486FCB0D250526086EBD4D2D38FBC8E3E55F9262B4BE5E6CE6AA3164DC04D7FB12BE70AF6861AE0C21A04468339D335BE15F6A77A8BB84CA4BBE94B0782241500B595FD671B30DC6C26317DB3AF8DB1214B144FC42FE936771469D3838E41C16EACA8B44A5915D1CB4550A451BE5F0673FFE846F6A22BBD194C8870193E1B68459B0593930E178B765D5C19B0F9D65B1E25D60B727E50EE4C39D1B898CEA9C8E95E40110E40DDF882A7C89303BF1B6AF90506E4709A7916F207BEECB850C9E227C9557536138594513043FEBE778C471DFF08ED2ED7F8A54952F6F52422AEE3240EEF81D34CBBE47C0CC59A239D7AD75852CF62473FDFA9C723FEC82C384D06F2320C8C3E5A1483D9B573AEE03FE0F85087087B896A569D9A07B02A387EE09ED6B7C8D6C0ECA76EA61301791C9F835E5CADD14862393A698DB23577A68EFFDB68076FD8A0E7BBE9D93098E73F5A174CE406441DF48B969B4D2502EBBBD9937856777D6F13852D9AD3A39702BD556009082DC207C442D327EB33A24F18DC56428B181C7B4405D0B2720B8C4C62417AB9F9DA5566BD85FB7FC567F542D05111842DE09114D27A382F009BF737EA2D8D8E4F0900A0DEBA080CE6B0FD7F0ECB3F81791717EB121176412E7CA618735BB065A659B689A18069B2C43B00EBDE9DE272106E180EEA446242F7889E50920EE5DA2B7026965B6DFCF4239ED8EC7F7363903F10EF6CD80D76CB42298E913C829B66CE1A5B18047EF06FAD79DE360908065E3A0F61AAE3347A1D7601188DCFD62C56D67573EE4550D6269FF7181CADCF84059749C8A4AC1A46746FFCAB7CBFA1840E5990483795452EF93075C92A4D115ECA32EBE5EF0211764AC8F6D61EA5A75530508A8724CD118462CA6CE37E85E337E312C60E43342497A9C50C05B38A6D5C253E1C001538B43D1312A369D8301544CC24B3BF3089C5D119AFE9979430223191ADDE6B68135B5D8AD5CE4A808580BB1C34F650EB63EEF3D592BBC45BB7F2DE9ACF2D4BC2820EC1AA765F35FCB3F71D862AAA1156D0838EF06241914AA4B8632733B823ACA5801BD281D127238676380DD88E9BE0D6DDD0AC7E87CDC175A24343B752A46AFEECAC7561766BC33DE4363DDF07F43E9BC4A1EC5F0FE36F40C3001F1647058131629E2CCAF056B381FC3B576D8DD072B8B2AB0D251B9060A9F76B3D99F2D0EBF65781B9511DE31027D8286299DE9FBC9C1C28BE2E4DF9CE8240852FE042D572236AC54B42B690D25ADF27C26A96D0FD048F1D11299636B55631D378826370AF97D76E402CF49CA5687C17E2F8BBEA0ED83535535566D65F0C6F7B2D887DCD391DF0E9CEB27BC0A8A33039CDCA515C886D890D69A389AF7BCB9C9E58DE0636441397A53AF09A447BFFD49BEF7287AAD01A1827FCB8641F9BCB7642952D7E19448C4E88DC5ABB28E24BFEAC16BBCB9F8E9962F532B428CCF86EF635697E179EA3283879E9375FFDD4DD9986CF862170D3D8574340420B43512D5A368CF338B732EF447A669C511466DF0DDD9E5E26A19A2ADFB17CFC593570F6C6775D70319E4DCDC4BEAF70AC768E7837FEF94C785EB54B1A6C164E09FE88791B3DB6D1BCFA4EC170A3695FBC21C9AD1942D3A483CBD433D3FCC899F12BB9CF788666C0658CFDEA7F29D5CAFBF3B16B3ED95E52AE21E599E6354D65305D073DE34B677CFD9F0FF0CCEF956BF561043E0DB96762C3B9365247C151CD0607551BF8D781E0CE84D23EF7B6A3B67B698CF3EDC2DB9D968174C0A26010FA7FCCC5F87E8B25D12463392BBC404B22E046B53D183A6861F6677108484FE59E41077BCF6C3759663112BA951014F40952D29A159BA3F838A8CED3707E45E0837DC62D0576A6DD12F3C75CF902636DF5FBBDCD9B19037E69091B26082B7DE2EDC1EC5BC218EA760C4B534AAF352252043DC5B4ADA60A9DEE3218F18DE60BC654A90D82430567F0C591C7219042180FC8440B5E422A4BCAAF92553BA86B149C7D5E761390C52EE0139000595E1712938030F387BC886C7E66BB11F74A6CCB5CA93099DE06A0665A1A99E146E480FD80D7ED360E95FB3B2B08BC2354DFD56BFD4031538F438AC102B73472DFF3DDC93BBEC4F9987DCA8DF79115892A004E86F4FE8E76BEC145A19C013630DE218B3AE3C325DD622DBF17897D68833B43E8708349680AD1836044F09D0A36A00ABBFB9EB9B9FBC39EB71DEFED6B2B86F4B85091A2A1C6141A2D74A8B2F11E7CF4B5BD0A7605F43B752F1FE2B5529BC0B913B5981149F8E3E23808193741F152D77A1018498B0459820A8E6EB661B63325D41EA2E80D071417816551272EDB519DF379E5CB0730ED933597E0D62858275390331BB048D21F753FA50262FE9ED6FF00F54FC0752DB016A3F5F8DC4114DFB760E8E9E17A3B876CB7FBC3F443843A9DF4626740BD0C511BFFFE4F7849C77EA64857C489C204DA3FBF6C08ACDD705D7524245BD23E3767C6587B0A70743AABDA3434F0969D007BBFDD27968C4E7FBBAB2621EC26FC28FA984A0E7513C548F5BE67BAE139098873932BD651FA85F8978F8A52CA1111C354AAF07728A1A4D8E8BC45CDFB174FD8CFFDB8B23CEE7CB7C7CF2CA590B93C4EEB403123B2E10293021A737B2146B21327C0F2FFB59176D1B26DD3A1B7DFE3467613207426B3253FB61B0E42969E5F6F01A102699083010D5F53F10C36F0C69EF73B350B144FD295063B19770552CB2B06F215CD5F308658DD34C12E66EBF3A48DF9C81EA40A728A035E4D20AE4172A6556D3CD5DA109E0D2C5C40F58F104BE11509282B67826831A9560584466A93860731C3F88A293685F658C15D4E3A12B38EF63A4A175F74541F0AAC499E3916A5C7FA3A2B3085CFEDA45939C319B39F887705B9F089C90FA38D6269F04756152D6B58FC22AE8A16D1F093548019E9EAFD24323AEDC65FB80FB9A9950F96B9AA56886A9695BBAFA19A9DF70A97EB73729915AF4433D38A2ECEA40ECE0DA71C0EAEBB61D5C906815135882932B2442901DD719BFB3386DCB45746FC7603E1B57C3032D54AF98A528F3D2F8D801026CAF94FFC0A95258F28AF7BFA05A6CDC6DBC84DAD9F7FA520A708EE18E6ACB316235479C49CE5B8F0D896EEE70293F822FE85E9D15B5F4511CB2E5C4926D9EFC11FF931B465609532D3F78ACCB08B3C2597AAD082852238F24DE905D433484D041C9C90E1F9BDD14524EF593ADAC25B0EAA59F5D0223DE157DD2AEF4364227FCEFC25DC1E98785C40B8F491DBE834713C9C9E8CCB72133351C8AAC3625A3337D637C264D9AB02DE30D78A7AA54891EA52C96E7F061AFA558F5F661D8752F54DBEE025A68B72E205ECB2D14EE84C7DFFCAAD8F2829F21B778D85BA3C590394AD4DE39587D40EAB0915A3C7E7BC89BFCC7566D1F44D250FC3DCA327E7DFD2DC7E04C01C5773B7DEEE558106A3A4D7BDA8347C8F5C11500551345E963A34FADE1AADA6F88B7F73C3206173C5B5A831CB308AA338DEC57F0BB4D0D43B09880E2E150D438DBA83AB9F49B4C3B812386DD2E11FE992B32DDEB5F0B3F2F100D989A6482BF705E190E8201B614AFB5BA6736D0EC81DBB35778E65653F38F49694B85B0E78202C3F805FEDBF6EC5795F93966DB9656066944BC2E52C10A5DCFF5BA68F008C40E6C801D16EDD033512B2F2F5E51F3B49C415EEADAE4F878FA44B3AA6965BA6B7A118297FE5993C9A3EFC22DD57369CE8FF709D835C977874ADFEF7D8D252D1E8F6F5AD548D8D14D89C72F2294F954C6CE353D0C3F43A76BC5E3BA7C0707BF21E4A4D6EBC4B99D34506B4AB78E622BC32AAA7307DED2F55E575EAA6A601E627F09DFE02E1CF3D59D027E7AE1DBF4C1365231B724B03451E79A3512393C843EBE474D29E3EE1828B1010A746FBA2E6483A5F29336A6CF0C95E9D3B929D1FAC334D2F391BEEDE2F0DADF399805B4C039E66FC2076734DF2062A09AADC69DF10AFDEF8ED1A15B5D81041C3B0A04E1A12958627B58056FE33397BCF5EBFFF54D34FCBAD32906A5685EE8A4DD34DBEDF4DBA832F24640F090CCC21701A4B35ED37DAC3E6961EC89EA0815751D55871A13125D734EF178124AE1F593D89609D121878B3151BA96C8347B166558FBD27D4D201D76CDF4774244CEA527896874EBDAF9AF7293AFB14A4E3719D50D9C9902B92741BCFE0572D37EA11DA57298DC9F710F3D2294E48F68C47D972CD0261508482EFF8B290F52737E641B61E9926EEC020FDD74A1A0722BA534954D4CEDB3ED44EB255069708BCE9A22564F5B4990562278E2E89245C54B8278EC17C8B564157E87DD52CDC1A67D60DFDB6CC9ACE96A5BCC77CD33A10C506660548A167193A6A13FA6FBF310D803BD732A51BF85C72AAF8688979591C5D829EF4A7EEEC82017CAD0880209C4A64A0EA4BA22F40D26CD559ECEB9C879AE413D60240E26F88A7DF0557DB1E0BF938327DC4CC0664E0B40E9D0C67A431C1580635BDE040FF2079FBD5240D2DE2DB112AE4F3411D0F5908DBDAED1515163B621A66CF0F3D80AFA0E0B563F3AB81FD06117A7F21E7AE2FAA461EFCE961FEFDABCDCAE27C20F0114308BAAE0228D8490A0A840E39BC9A501C0C591CA28FBA025E145E4FFF4B432A161BD821FD862855A955035C1ADEADE98CDEDD8EC0BF0881CE6F3FB3B69501B164FAE089FF007A923F42546019844C06387B847071716B30491A50A836DF913DC2BA22D0DB14D18F848126AC124E5E9A004B5473C606AE5402357A93FBC7146324E269B6248B43CFC2291031F7202153CBC4563FBB0E6D008D6B0DAD9A02D03F33FBF8BC9207199BBC19ECA800EFAEBB5B7E1F8929846AA2CFCA4B13EE3652477FE3EEED93B63CF2508A1E540BD35250FA40F93A41AD70A4E5B547006968106531419E8DC60E423129FD627BCDF14BF0D294984BE3037D4F5CE6EB8AAC28744AA31325BB32CF85D95F04573040FAF554D87BA7E1BFD9CB37D43E2DF6A8EE09B8423F8FAA8F0744B0F383FE9AB403D5B77F8B2DA1E26E3BF20E5C195EF3415FF2DA74003B9F82D74F5A4AF4EC1F9E87E2ECF50B362990FFF432FC7A986578B0D0166175F087DC8D724FE43EA6D7A541AA7E5445B0273B41BA7818A96C28265DB7FC729FF72C8DD635269F0C35D43D8CD2A0D4ACEDF13C75130F17D65C57A9ED2D26D5A6ABE06E40CC7B78D2A554C0A2 +MD = 85EB70F7C2BB04085352333DF76938012D151D76A5E165E6E1796C6932F3A71988ABFFAEBE1B1408AE4ECCDEF7198BD9 + +Len = 32792 +Msg = 0E31C80A1C41DF5F706DB8DA40DCC06E61B4D6969715EA02113E2A63663DA6AA3DF8BA755109A580446E7E94E9E33DC98EE6B119D3ABE78B3B9F990349A63DD609008FF72E2CB6710B99522021AED51B7485B7B3B89C4C5F81E0CE61B5310789556D93646D531744E6B393AA38E1ACA0D6565728560403423C5C5BF3B80B4E99BBA5FA53765A8F0B67E99BBD0F1E31929731175B49E237EEC448D08D282CA634D720CE74C55925B68F0BCF08B6493B180465CE03AB4DB3C74BEA45D245D21698E9F1CC8ED46EC4BF4AD4FFDAAAB9CA2BD75AF81780AE59610B652715A30F45812AD1075FB9051340167F69CCD01B05FDF1F4CFA36C053269B06E40D99C5CBC685DC18E266F60B23C19565776A5F76C5EA917AAB08DB863DC88C2342C7F7F0E00246B66EAFE2D3DE1384A108DF5DD5AAC8FCE8BEDBF495F065DBF4307C98B879A6B386F8A4261DAEAA00A331FD2D827E895D2FDEB840126564ED561624ABBEF25B0427FAFEFD705F56E2F362AB7410CB777591BB0126CF70E390EFBB4E7A13B0745D7EDD864E6F90E8E38B61C706E144BD50FBC6B5A5ABB810B5B82E2C0D13BC40EFC83E9E790F990D34A07A5F312E253900B57B04EB634DDFEAA537AAF8D118F1F0DB57D6E6206C0EAF94CE2D540F6EE2E2E204941848A537D868F9D95D681F0C5935881288E0D91C12DE10C3629E43E9DC43620189F44985B59427AC131B35AB4574A3CE288806B9F4CD23EE2463F3AE947FE6EEE2FD3CA9B7780E0939B615E8DCF94FF684FB41B76D25C6143C282CED5D9799EE19FCE194B047E8072B8154E9C3CEF1A34E7DFCA73D4EA1636CD8120A8483285B21AFFD02EE06EC882F74BB8ED08D011A9A17043D12C4BFE83EFC8208549E53874497741AFF8E5B8FC594191E1B92E581B1B7361EE57BD39C5B2DFD49F15C758B57DE8FD5F2D65F725804148A641A2E30A732B5932FE8CE43A212C6BE5563FEE8510E3B8A9FE21A0FFB64979180EC1D0842F612F1D58EA555F5B5C7DC82EBF2E4AE783F608A37DEA30186F558EE743C3C2D2C90D5F51269200A28455D15FD4065166AE51D5A8268793011B7777BB8DFB523C278C9A7D1F690AAF05BDF90E076B3DB87606E6575A8EC0A5C5BDA9635FDE179D40DEB4466DCD2CF2F0CE93554CA6C453B302498FDC5DFC4FE1CC717529C332C7771540B29CB3A3BABB522DCC7C0C108296893B4D90629492DECD4AF23EE8C84830FEA1482C9B9CBF0AF143AF68354EC57CDD8B3E1A503968A9691233D76B3630B18E1C79263EB05F8105D1E1070701D35CC032DBFD5B2E877212E7A11940DF6CDCA84D5CF7F7436E655716A0090D2124CB0DC6F07BD051EE9356287A9196F43B17F73D3F056DCD38CF0983F5DAE8DB939803D6866AD4F2800CF1B316CA31041EABBD59D0DF8380FCE7F3B62461A4DD6E14F9E48DC130791C04FF7C6E3E8462F38594B62B11D6B865622170B954FF9909AF29990AB4134D48D494BED3BF8F939FFBA76E3A3A8A263F75F8A1F3B219422525D8AC91948872F221F8C07987A4EE8529F71A9F2B8AE7C7A054C73F130F97A2EA8EBEAEEAC308AE9E984447573BCB295654261E09804C65D3ACCC932C32D265E8261250BC045FDB5896AB266CF3BA5B9254DD8E54112F2BFCC9F119EF4E2059A9EC0FF62B42C3DFFBA2868E4AA1C7021AC35C9AEC2CB5D133E2DB8E11CE6B2CCE87754F4DA3A40789F95EF560BC90578F50F8087F4E53444AF8C453774D998E13BCBF0CE54CBCF56958254959685979E56F0CFBEE657FAE0BDB0480907627AC2231EEDC0F78BAC28B5ABE1D20A0E428973D15E6F1296E3B0AB8761D77DC928A43AECE9CA5C502EF7466874B681085DDB5E7377E16D11EA20FD931F9BC213AE0F544AAEDEA9E4FB7F5465B94C14979F3BB231676831EE73FB7A379B789365701D6E2E2A247C1C21AE5EBF6F3EDD9C46898974B734306E70C9B5573B4D052E63F9C44396BC89C9566800A7E2A9A4C32902F799B4FF22CC9BC21F39B8A8AF4E34007CAE37ADE40CB859DECEA4D274BD11DBB2F5BA304313C66A77F7A43B5AA7DFE18BE40A9F499B95E4B825EA00BB83A0D4F11F2F62F5EA70FB817DC6C666B09BB6C919972B2A0C7BFB10C5B467492B8291A2B9820E2D8BC6E7250355E23F50662DAFEECE00CC8C0B74FE20278DDDF870DDDAF083480B1504E11B518D3F9E9933C3FF2F0CA3C423B8691683E3EA1902004AA51CD823709BB05141A8B8CFBCB4EF9F73ACA2F09716558D879418DC7B0882FAA381AACEFAAB611ECC336F36D6FD789EB734652A08BBFC61D19925067C6E5DCAC4F05BFDAB6FCF083599F2845D0429C05A616D1977004803BFFF90874514A79C0F45E4CC5B3182BE7C45A9E2F9A0DD976FE3C220542CF11CB527861CD7461E03F5335290E24C483B15DD2617B31371A6FF98CD62FD8E713F166C3954F0867DC8C3641C9CDB1A24F3A9EF270D56337537C98D3FE904CFC320D8D19A241E1540CF5CBFC5A5579C76026CDF961AE88D3224818E8EACD70AE4307B335BB759F8EB71D4A32D12F61184D91CB081737EB9EF5C36B8BD5A762B3781253403A9D621B9070EB22B77D41DB6A8B23B6B6DFFBA92B4D54D4C625FF55BA5BB0D1BF499FEE64813E762CBE9BE8A66566A5F733B0EB407CB025A0D90E6E2E8A415D9CED3217A541C28DEAFF17AB8655DB001F523FF303921337ED2EE0AEAC6070F8ADF9FFD61332ECBFD2DF68AB366751C83885367EFF7F589ECC4B7DA65103F814EBC2B399930316241323A1F5A2BFC71FCA019BF888F6D5632AC916D73A3E915D26DD11A2816A27E238568ED0BB4D2DBB13FE6B6DB57B0ED9ED500559791B01755179EA68F57FC40BC357925D114401F328BF6AFB7A3548F957EA12F76976671A8B5CC2A5B0D085ECA87CDB911D1344AA7FE02C92F10E5C86B6BD4C1FC2C6F02CCCEC98AAEB752057CB4E64434D1E0986B93E3F981D1B5835D75691CF580654B5AB3468859B214B0F3BF6A75605901A6A1EC1EF0EE0A6CE0132D28CD79E6365EC6A992F8AD730A4040C8BC2A0FEB8315A90639516B0D30DB4A66F7E7248B04FFEC3985B2A1995DF3ED58C3531675C4BA885D5A488A773DDB3E94D2982FA22A7D424414305A336171992DE01E31E7245CBD3B54D46209014921D5FBDD3077F3BFD86A3A99CF998D141C3A433E7D68AAD547C0EC99CA30F2D15FF5F26CD00F0D45F2F0461EF700A30038877004A22D54CE3F198B44AD470F20ADEAD37BD7F7482E727C1202145335488A739E688F7823254DD669DF59BFD94EC7B08C526286AABDED0EC28714E7C5C56379F5F0297E53512DD1E71DE493E463D3F4D180097B8771B5E055FC7E436C57B53365423D359EEA41496EFFC10F90B46A2204EF4CF3DAEBB60A3047866D736DA1A3553BD32A78A370AD149319EA4CDFEB9921FF920B4D6A2752E9F6396DA5F32AB8D79E717F04FF90D198D249976C081CD298159BACE7D7200E34C82D0C76A61DC0898287CA0A77E9F4D649557E0CD4C5E138DA53D30D47C5BB4CAD52677321CA0DEC309CB658F73D93D6C05726BBA1204D78CBE97BB3FB76C7B9F640D6F96170A8739F77430111711E13D9E4E734863CB39A3E366C406DE7BD0A716384E5A0EEFEE581CD16705D1745F13D56BB5053DD1866BF9CDE1AD9C462A76D882422F5C9A6025131F8B5878ADF97D32A0FD89321D62EA5F5B8BA3C3809057C4D553A391DEE75B93C8529AC498A49B52F2E3AB6BF659CDE1B210AEBC3A85EC8709E9AB6C6134081EA0B020E0B0867C72A654583B954CBCF8EF2A73CE983C2F8F0B5DB5776C16F56079239A6D7464696A182AC51855246F8DDF087FB403840FBFAF215B1C49D2E7B8CDC567431F1D00C37954DC7B40BEE9A868F2EADA29E6F0A73186C119278197AF054C7E3F88E5F696B0D4C94C1196F058FFD72722F6495F16DC41E675833DF9E4394AFBCC7A32B11CC2388E4929786865BE4178F540CA525D067F0A786BE596F10670A25FC6F2F525CAC40E7E341ADDCFCB91F069A5C2AECD7B86ED1FBEBE8E3BDBC3FE27F9042CC53BEC16198AD42230256C8386B46C4AD987EAFCB6F07E347CC7C4AB4B04EF9D20CB581245C9C102CCBA044A1884140666F38BE3E64FAC46350C4B3E983D9678845E9CFCC655A24BF89A8FD4600536D605082668612038B6255285BE6E6266C90756A3CB116931F7D7412D1725143760FEB86F4F8C4CDF1F4B06BEED0F69E3F64C5DC7975FACE5F209B4B67CEDB734C23073F9AE1D824EF849BE836F02D48AA40348221FD09E111C076E617374CC430F3120383FCEB38C42DD6F4B53E66EF6C80368E0FB96512FCB25ECBC4C2C3B99A07789E6920311DACA599DD8C9F0CA413A4BF9B9B986D9202137C9DDDD36F9B16B048268F8334AF0CFB13DCC2589007E4DDC4B34A216F7358F316EFFFF9DC33A8D5FD91A95BD433BAD8BB31D4A14D6D45F6CB5E8A8EC31180A76AA03E83AB3B2CB9A7DE0740EC7BBB55DDB5632D4BE1182E2ABE3F625923BF5B94488A00072414DEB2FBFC79444465EF10AA7EAABCC52E13F68601250F313B40D3DDE694FD935E92D04A940A8BB7D5670ED454B47725D933E64EA6485E4589F1D9E53DE5EB1C9450049F35D14BCF8C38D20BE815D5A61703F3636F6E293EA384B742A9088AE006D3ACB0A296EAD4680F3152DEB56801530D6044AA040505EA4FB656ECAE9E389A3E5040FB66490C79F26E980AF8856BCD381A53E0736A9A4BC004CEA03F127C42D3AA75A0B9D9084326F57CAF346229F818A94FDF92CF32FC3DF08080C57E2BD9342FA0E60004E9091D514C500D4C3100C73610ED989CCF5C2D40996F52E4FA469BBCEF2CE1A7B2EFB9D70DDB30B28728F7B599F503D921C59370FCAE3E07BAB4885E197261F9D0959AD49B418B2F445C02728DB039042824245CCC77542E0C0B15C73C8E01767BE6A2B0AB3709F35630225D9749E23110BC96F591B8D822491B90D7F893DC1127812181565954EE6B8122865BDB496AD533EB7481806D4BB061E18170A1DA37CB435CF356DBFA570AD4EEB26342612BC73F6E0D39CA45E0EB44CEB07E49D29E1B726712F510B68EF2975CFCFEB6561640B0F0C2EF923FC6810FA5CC5E5F7E5C2992FC7E023CCABC78B8D9F3EEABFFFF3A3C3C38D321657E595BB4E6CF104F8B59DD4491A88C96B11AA5179C3E2306305F49F813A0598037CDFA95A2449290659C8C1F1671CA688A19CA498EDA4F5771A972B234F02FA70CF198EA4222701D1F30131310F1BA4401EABC06190AC9DBC8EB1C7526D045FEE0A9CBDCB24E04464E0033123D6F8F2F24F123C5E6DFD75D943639C47A6114F8DDB7AF965B8DDA8460FDBC4B258489490E66326697404592A4AD4124E3D879DB864186279D307015D2C3ADF96E2F57160F0E4A2037D6C760C5C4C852D4000ADE51EBC6613A7B48C0AA400D0FCED3C5E47074C3B917703D2FB1B04B058ECF33FF54EFEA37495E45C9BBA1C1B26F160DE0BEEF21D26F19131041163BABFE16E4D38D83519BBC16622EF690E3FD0A61A968F06320A4454AA43883DA580A396BC65E8AF8727495CDE042A0587085399FDBDF68F77AE2BEC132D667904D1FFBFF7A2B361E67DBA5018D0D75C025D2FD77E4827448BEBA2E91C3C4F456565AABF8F9E1CAAB020A797D6B8C2C9A730FDD80F5D227EF9DAF88BB0026A9E93C3D80A1636830CE832B09B942CC6D6278CEC5E29429AA6D672F2BA0712D5A84580C154C0DF08B6032E5902353CEB6793AD9C8EC953531B4F0602EDBF3D069A070F4166F12A3AE3D3 +MD = 096AFC47CF5686FB785070A2E09FBF69F509FF9200B345857FB0B8E70CBBB012B928627159ABDB35631AFAE84C6D0C58 + +Len = 33296 +Msg = 61CC4D97F411D959562A0FC4109B442AFFF59BDB158415E8658F9545A4AA2BA8B64A65B0C71FDF338D2F48EE031D8B6FC2B049C2BE4F25CFB5D959C77099689B4C607A2F81C5FAFECB3290633C5E7766C2E766B4CBB1F97F8A4D61C6C55CA996C8FFEF51EF28A90C06DC75E20AFF339A28A44FC057FE51FEDE7260938E89AD74ACFE13767BCDB8D25BB890C1401C5986C6A1DDD366EB5EDCA55EC9B65C1014DEA47597DAB811446ED3C7A3571BC77D1E3E97CAC5608C43CD032C63455406EA98B311688F11A0792A0B8E65FF804526638A730EF25A6F4A7B1892DE226B6FA40B65E4FEF5387AC4EEDA6EECCF155712E7536C1A4AAAD5F78F8C8668420DA7A48D486F4C4F006329E7BD8750165512005D88061EF2354A84749EF29FC0D5D4753006878686D09825825D25589AA3F386ABD079396312E8CB26CC92420CCAC17492895B2ABD20170A1DF011181F4051AEFF2DE784913CC40FA85E5F26C3FB36BC396F6B1EE7117E77D29A253E37F02769F7574D6CA23A56F92514AA615A424B484F90F382E1AD0D3AC3915E048D99D74779BE1403E49C61F6760949E8945593F7A0DE5D884BDC2E94F4BBEFD51D83E331FDB7FE8E4C4B0429A24EC02ED9F3DF54404F6D7C8FF52895E5853442C03DCDB9A980377E09C21AB8819B29EC96AD0D0FABDB77E42BCCC7FC7A70B83EE053F556B905C63F8114C17A45AE8D19CECA6E5218336EC11613DC11532D91652E78F86726A80749D70CC54CA41C33D643F280F109F6269C3DA377BFE87BFA60A1D167881AF220FC8D2A6E290226FC2D0F66D2A1A7FABE47AA8007EEC301E82FF50BF7148463645DD2471927F9546DA78E15D102E701BF06C972EED2B489DE28BC2148577FB489141DE8CB51D24282E621267A4139D1F0BC35DC9D9C42BC33A04F81095AB3F176C4212E50B77EA2D132C9A5B90B1E32E631CF1E10C5583514325978581C1E55F752D76DBFFC8576F56422C5DA1CE20E77387F5173894467AB0588653BBB44BCBEBE4853FDB9CD39157068C907B32CFC4AA5DAF2D024E0C3B2A804FE5F2CDE75D299B37C5FB4422D7E61E959ABF90C9A3D8DF629E76F4A44B76263E9EB7AD1649EA89F8838705E1A632FA0B91482E907F077B992C96B3064D6D7604D09E682A5886A2D9334138161DF5141C3F06251BD470163875387AFB38163394B335B79210BAD92ACA568BD1AE1E511C22803BBA36079FEF028353AA0F5734A1C7C6C4E6ED684742BABAD0E93EDBCD0DE50473A5F46CBD9C592FA92D42EBE010ACEA97BB36FBABE2F14BD02B1A07B35701D131623BDD526BEDDAD0B4FC6FBBFD4CFCA8E513767ED4D10EC64F920E9E6CD528676875A070CA6D7AAC6807B53B7B13749CBE350D5FCFE1B34E4DF2E89507019BD6FCB24AFC3A1C9BD64CA4C7572FAC9D87649510D5F91B373EFA0B97EDE7B8768D0186B968E5A7F6D181CB5F45BE2EBB942E23D821BD7A8A1D7B0E2A735DEE8944C378FF9A98E13AD7344198B576C6CC770C082D640936D3F07021293764662F77195CF956E91AA7D14EBDD06C41B57C9E881F2DE467AEF05FE9EA1809C450A45F3F0D67D7447F8AF8F87DD52B30362F44AFAFF54A2A0331AD8C18C2F3594A1E187A1D94A4C1829D87EA67ECE045772BBC82C231FEAAFA81E2F6E18D7F45020AED2B22FEE1DF13FC31847EBC9F8CA140E4944F8D111A4DEB56C0888880EB95601FBACE79918A6BE2F0BD370215689988725E9AFA988553867F898C939A8DC4A58FAAB9B105185904CD543382F7DDE811EBD114AE109B97EFB4A7BD4E582C3F60423B48C1E35B8C0F291048C29375F9CC2D4C01079A207BB7BCF875FC7535BF47DB251ED8A60F03D84E49E32EC5E72F6DF26F18BA040F508A02ECE21597BD710C36052EBF7A0CFA8C1FDA132EE3F9DFF8814CFDFE0A514C91FC79546B82447926D422B8AAB87B94CC29F165E1F970FF274FE2A6621EAC5F12816129D27B8DF06E32A41752A65DE0B47283EF049422A9AF58A9BFCB042ACE1CE470124369A915E2BDDCC292431E88982BC6F9C51AC4C8B3E2AA96BFD6B574AE9D702A2673081EBF54FB332F552EE17BA638112816286E94FE43C6695752E67F69CE6DC4893E1DBE8C5DF8F292271F4F5C140F324AFB49A1565717FF0E0681F01CB7CF96D2F8C50A2D76FA6B4509701211E07C7142D22A2FC40C2CB47E91A0DDE3CD86FBD02EE53F8367D1F25E6BC0C04F19080AC19689E721327634289261827333594CF23A7CC0B0C95261257F2F2A4D9EAF72704890F29A5C6F12394C6A57688BBF61E187012CB7C92D720585976AEE344BCCBA607E74F5032C14592C317D211C3848FD76CBFD84D7A621E3D89FECA1AC8D1C0090855D530DF05978EA50C36DB86D311FDE0F8C6598DFFA94F094E4C034FCB13986ECCF09DCCA03F2BA06F86D2E49AA9115BD80CF49549E6FB23A81419826F7F3704A1FEACAA456DA4C107614C992443D5DBC8940F66C2F396786CE6520E08B715D1DC3AC0E695B7BE348972522DC4C831F02B4253DC76181F979C6F0450A7303288ABE8B9FD6F8A9F46AA93C4E6724E29C9891BA4EB8403013DEF6068413BCB4D413EABD69B812F479A2B63437ABE8C0CE4AAB34386DE580BD704AA364F17C031195F0DEF63CFD88F1246A5895D3D06C2BFC919939280ECB8D1177D799062B4F4F0B3C7D855AAD76A525301EB6706695639D03A4C0CFAB11A1EA74AAD65D68BAEFF5B0355AEC1BCDFF9FCA7F3BA5DFA9F7E1D073305BD96F9ABF5EC76A14BE21EE536E09866C1E0C4B9AB8E70430BC708DDE617F6686C2B6165981BF5C70C747AB222482B076F5032656EA780E0798C5F18223590D3872804C379E5114C6A49C8DBFC14BEE6804612EB21B2055AFCC7C1B2A8E8BE67FAD7FD8B5E2641FE8CF37792FE47BFC35C76949610F6718DB9403B29F536DE09CE4A254F9D612DCB93175F5592466CF9B7ED0585F83D1EB7AE64CD83C117A7F7A02A859A73377BAF4624BCB5B7C313F6C2613138245FA0A40B844CD8670111AA27BBB01A7368AA56BF24DC7D8E21FCA56E84A32776571FF60B3AE38B3AD1ED3ED3BDD19EDE8C24C2AA71ECC2B28124DD0AFC382B784E273E838AFB698D8AA336016C4988A58ECE0D8A2A2D94362D738346C950BF05008A10E29BF27F15B802F213B8E69473B023332952912F20472FDCF193077A0F460E684F9FDECD2D7793DDB33D5457BA30B4D91EC272D1E6E5D2795698A9AF406A8C05D1BA2A64F883D37EA18505A0F5745A2DDA217EAB1774A9D813B8387EA16C48EC8E5600C16D98FD4BA0A1EF2888FDFCEF5365401004B02CF704623277CE502A54E4E03D91914BA829C56740F777A5C28FBD45EAC571DDA7B89EC7FC982F65E5CB382415440162091C2F041FC0F97F20693305C25DE7837A2F650577AC6CBFFC09F1F695417CD5ECC555697693B12166CDA47B8A745F489406942C599AF5F085306EFAA508B5BF0A406269F600B68B58CE3E204C3BEA59E4F3C19157C60246EDF18141597BC0CFFF8308878E4F36E4C443BA874BE58278FD5B332CA73CBABA2A302579E5DF863DB92251C597CD45F836D0B9D3ADD59EF92468542B377E3250FBADE0833914066A39566009507D4C3D575851224E860429F617AC7EBEBDF534DEA8F3AC3F7A14F815751C8E72E907F9077B54AAC645B4BDADBFD969AB38312CBA888F0568170C02F36A4C5F0055E6702F39D62B2383835A719A60E3A6055DF550B3590341B66770897BCC66F8A52016F1491973D565EED5D1C718CA8997C8A64D467170608991D14F1E50A8FC63C4A3B464D08D05F72E9CEB8AC69B5F889EE16F99454BB5F822F153C9D9DCF4F0BBBEB510D706F2C7CE5E516E1AF5CBB838C95D973B34230379CC30299DA585BDD8AD8BDD43EA6AD8AA8F4447ED4F411E4A3CE25C4B338882C6DDDA40A8C2228491CB6CB33A5AE703D29865A151BEBBFC5910B6441B10CF64C189A71911677C10F11DECBA96A420DE0EF9C124F36FC5D27FDD75C388533C88667347B5277C2E1FC0026B75E38E6E46ACECB2BA8EFADBAF1489CF45F4A9225691492BC63785966C018A8FBEFE58C5533E2BF2C601A0A5EF08CBF1B115BF3452C94953ACB7294FF09C7FCE12F8CB86333AD7EEA514AE12333558F255F5D7039AF77D724F66C962192509C5B5E07CA8161D6002417B793F25B92532C61D67CA6CE4E1718B414A86B237FCF0199D7E560C2136AFB290711B3E2B8D403EE0537C351972E86551E5EB9A3535D7D602E5C444219B3B3D63412592399A7EE91BF3BFC26F5A3A91BFE9EF9A875CCA8C6CDE2FCC7CDDC971897E559BA56761599C5F883A7C2AA2E4CCB753C659678D16D158EF12AF987260FE98087C23773AE20F81FD590E1CF738D3C04B0955F2B20B30F54381C106115D4ED83FC7F6BE6D143B61C2D589A317E98E18336150B3350CE0E16E8214DA55476887DA6FC64D61BA49425DA1C156DB5ECA01411FA062183DD29FA1CED491E5E1E2E3CE160A8E9E4FF1000BAF632A92D8E972077C23C666810339E9D9B5F62FDA5BCDC45D315BF8DB41B81AA165763780BECB544F277BF10491CD085A8F5AD91EB6DCE793F480A27C448AC8DB95738E36AD0F15FAE23A98F73E1BD96A6DFA6B1A4DF4D34441D973AF7E1994C06763BBAB81AC19B0BE9EC856365DE6721840B2A4800F27E32D9046FC67B7F443A88C3BAE70138305E9F162DBA6219E6F8FD68494FE644BF6F198D1B3A934416E96AC219C72EA95648B1D9677C7DBA1E3CC6E6B01198EA85A6FA3DBE68FFD5B936747BF86253622BF0656C4178E9B259F01FBFBEF7DBB6F45EA2D01CF4AD075718440C00DC66321B311F399436064E7F56D254BAAE85A3199C31357B70E81180D1BEDE7FCE128D2AA7FE5C5095A05314B056205E719F13C738FC443F94DD3DD8BF28A8024491D3625794CEF85B2C2C810208A8557B04F517C42EFD9502A1B4DE412B47C530EE6F0056B5EAC5BE87AE7442AA84F30AD9B6C50D8518632BD4512783BD3FB358B9CBEE1ECD5D634D617A57BA8AC2D8F12C99C1A146D6FCB9901F46C05FDB5BC3DDB7D8C0D694B5E0432E29A2BB3BDA70D3977D7967082069AA36F425C60D3EDA2922FD41DDB7D1FA2CE76256E3EC53A5575DE0B0919BB719CD73884F052A35FDA47861C13BB523509BF91233ACFB82C674BC46FB5AABA970E29EA48AF84FEAEE9AAC0CDE8AD0FF2B38AA378963D62217B8C079BEE27985B725EC8327F8A496CBCA3EBC763793CDDA9C5C84B42678A0AA6B9BAA03A5CBD7E2F733E956DD9B5712317068EA369D7821E3C288C019110C0EB792EF4FE7BDE199EF10C973138AF40FA52FB35DFFA939E3D843ADA7750896917772101E49076812E623F8FE435452CC39CFC3C6BD3665BB7E20FD09E28C08D9D29CDB7A4C5F7302ACFB63A56BD481F535A136182577E0AF1436C050EA376B335DA9CF960042A1158FA842A85DCC923BB7EE96016860C2231A1F0D859275801958CEBDB374CC1BCEE2069AE9A2E970391172AB7BB9D39D991F68C2E087A0773387B62A608641EC54A7E8976B7A9AD1FA9904BB3FA98FBB332D14B6B23A82F4FFA69A8DBEEB4733B7E69430BF6B1EC5C8E5B0D7801B4C745D92DFE071224C7DA687A7E1991B03867E82E7F3D3DCC2C63AD5EE9CFC20451BEC862D421E03B11195BCAF01EC4428691CDE6618DB63AE73C08181304D4B06561383176664D20052BD5B7373A7EC53D1A4FCD63D7390D00D2217CFDE499036E6EA389DBAC12D08F40D6322A26C5681FF0C1F9B638CC08CED61524EC48A8E8BF93D2028DC10FFE063CB807C94CAD3C2B694ED9747385EF5934F4C84F907AF7999E476C2735E1318AAD6EBB7947D9A64B2F625E2DAB7E77B6FDBF +MD = A41AA8F943117DE41B2FA4245BC9758D672F5D0FECF432AC44635BFF2A46D38F168E231EADEF2C77D3441F1D36D2B22A + +Len = 33800 +Msg = 6964E2D650B19AA6D31B839C604A90AA3D105834F3854DF4A41D4787A387042CC413DE27503A1EFC366B87ED677EA63DCCD40D9C7F699FFF9B8A42B596173014B9E811D42D2DE574ED5C80FC6A5A86B772A3EEBE5640102527401C0E9BEF57E05BBF06986535D3163788C60C92EC7460B7FC685FB45FB8A18FA84EF5A37C94A2EC3A948DCAFC69B83E2434ABCFDAFCE948D8C76ED9BA780D39AC3DD098EBB3208538A666CED8ACF1B3031C5EF23592FC432AC25BE0552C1A6463E3CC778D456A520432A8C55436573219C49E6BC27474AA4BD9B1B3BC64917D016B6580AEF2A0BA41ACFB98EA869D3995012715D06D64E0AAEFB2627125F225E2EFEA21AF7EC49304B8E6399623FAC15D6CDF39C4177A12254E5D807B4AAECED6D591F4D0BF50C07F5B69E7D60055062654E7B1C8B96AF726BCB34B10C60B7FC3B10DBC69107C7D81043BCAA681EB354CF19AF26AE3C7CB321B892C33CD044A24A5249F2F2EA3F804944B5049CA887EAA6D4CD5E52D17CF01CB0FCECDA47425EC85F8362AE045ED0D109758C90134EA27C4CBF6E3ABE7F283F4C3FFC4455EAE4790329AE47658DB2850B09A79A89BDBF72A20DC887B6AD7ADECBD5A86C08479D446EF817E13A37819C227792E3E0FF80A2831B20760B879A489A4AE50AFF9FB1DFF39132DD84300EF7ABE05E98C5929683A2DDFEA99468996D652DCCC698183F9A3103F7C049A7227733D0C14ED1BB809B4EF750DF19094885961D327394D6CFA0A21B341681738B7E6FEEFCBF4DD474B7B45EA64A3A60B97BFF297E8A52CD4AA6E92D6DBB7FEF7F736D29CE3B041488A6DB68D28F3C0204CFFF82CE6EAD11E11D7B060A0FF550711BE33288ACC63B6DCF2062251771544AD41B35B1EA5F11C4B196C48F5FBFCB4B39C60044A70E1DBB2CFBF9D8FCC855DEC9A0B33F2021CC76B236ADEB5A1356CFB8590FC1DDF8A721D9331861DB604AD0C8C89871E960019A0DABA43202ADDD526C1706E782FAC5F98295F4C6036B8E2DF6D225B6335D1314143573AB8E66A7750BDB6420452FA060B24FBBC3618D951490534718D97E3AE994D5E770D103E1F405A5357A2521E9393ED2ED197E7AAC87E142205C69DBEE846034FE6F2168DC207D13022E11427E8F02087D2F4E850E7FD21237D56BE970781CD779F7B0D8E9F689E6CADA3386B5E779E382AE3DEB6CB20DBA16A94D147101FE594790A5B331D40551C8C1D81052CE00642F56E4048F6831D713E74E3F4C6ED2352854854E35C06313F0104FA47EEB282AFF9A3ED3D683FC88E9684AA0C460C3EC333080D5F557520A359803563A1D8BA7C716082CBEA808DFF6296947CEF7EA30CBAD458C0B90A07847E3E557CFC33B0E3893D32924934DA966F6D451FF8C6B28ECAD7480CC137327E5DB10D180D41E8088660297DFA99126F7E2AB290F206C02644B4F28A603E959077E13D65C650CC0513259C36324CB5223E829350EB0A567317FA176213EBEFD40B98C38055B24AD85171FF0724410926B38D8A06DE500775D39E472B0B3212122204136D0793ED28F6EA070ED50745745DF57079F7D4C63C6B5A862A031DA93F4E576873E6ED03EAABC2A59D4FDE5A670850A52B17DFB059AD5A0822FF68B9A3A11A26BDE519E86A2C7F743BC932BB29208383621D509DA438A56B56E1AAADC330A0CEADE51EA65ECA256E3DEE4495C3FB94F41C121B03B6996981033D5D9E5540719E29EB1AD9A10C2182811629BB5A7D2296842FCA6018E44B1B2B0EE56DB63EDACFFA837A0147D1FBEA737FD66B614FA097819422DAEB9E1F04B81D4B1E569AA84708AFAC7A9DD92F95D9CAC1137404F950C70D0E337C956BFD2C7B64A3B99F1499F9B297391B0996B42289E205B47900168F8BC3A30C84CDF00AF52EF14D8B4A87675F8859E9C3980524C2081D3A08DE576C1FD5B40459E299BA89FBD05C8ED01E3BEDD893F7EC17DD1BE1EEE0B19186E739DDE650566C395EB143451C09EB51C6E14EEF3FC3E20210CE62C49D0BB862CEC28872C0CD989050B56EEEB062AE2645C1510635E4085F5940EEC6274CA982E312AB21BA0930BE4D6B57AD8D36BBF58DC05D353E32A5CFCC4EB008610E24A8F2A1FCB57BF6E4ADCF80D3408997D6872A2EA5E94E74CC184ECCBBA15882745E03146045DBF6E94127581CEE20F2F408841D1982132E5B7F582B91784740761EFDC9346BD9EBB3C1FD341C3056F4DBB4B36EA9E4BF05C965B367346472D0EB55B840ED49EF245C6F86EC5394063305BA0DF45DB30F7658D28AA988CC9AD97F0A9C0B3E59FB623D55C61F2E202521714970C2285BDBF7C6119FA3097D82F6A1EBC33D42C85A93630AE18521A2F8AA785A17C2D9354033FE297B172EA1F06CCA686DE4E1A28836DA559E4405856411D58533CE33C6B573EC51F0F565499F6FCA8837FC80BC4925867EEB6BDCAB15EF1C70B17E02A535E2F423D36591A22CF527D118D5C540A6749E1C206058C0452BD9C8F5885EB5823BA8515C105F8D96FD5F4AF9337E66D35069D19EC041A7D979452E5743A6A22DA0DF662FD9D1A2AC3F8D431A61F4FB944089C52233167E0D53899B6D45C51393F3EF6894921486D2F9F4D5E6E95107FB975C8E856AFC76B06BF3648668EAFF6AA59FC9A3AA536E548880D4D79C9EB5CFEBA4D6D5D402197C0E1608500D69833C069BD1C45D766A7BC783C0194A2C813B223F141D8AE2868FD65D68DD67EF463E34E4FC20C7777BE17A3FCFA51A9D98FB23B341B12CDD2B430B0602CAB03A226C7CEE4F9488C8319DDBF4EFF1B614BA9C1FE0098E9CE1B57EA4D8D777EE89F4C2E3C729216B6B2EE2685DB9C1945B27986C748DCA51BB361824824FB2A31EF9D7244B734779B86354BC0DBA438D378193A84785B6B864306EB6E6A0A80FA2AF04985FC540477B911D7EA859D8F956DD1DF3E464D884A6355E8B24CA3F05F25EE53B23EBE43CE6C32774FB74BACE33A12E7C1798B7116BEE1245CBE323882464C49B647D61350ADEB84CAE9C61B02BD702E6D8DE849FAD57A57AD297150312198D89EF1366E45286F4BCC8217DB2EDD39B144D6BA1D6CB0D1C74BE396CB535E6FF9900AC371A6F9E8DAA45DD1B1842FC685D1FDEE0FC127A165B03B561002CA56F19143024C41520489BEFA82AF92FCE5BB220DCEC1AA047B299F7FAC2BCB489C99044AEFAF2920C324597DAACAB92F6347BC0EF95CA619DC19A7F28A1CBBACEFC85EA2BD7A769E6BE424F4AF08AF7F24F5475EE2434ACEECEC18BFBCFD3479226363B2BFA915DA76B839857A33641B4B9F64F15702ADB3964E5DB19FAF48489A7F6F9F56A2A258C54E0E5F97F382FA99274B2607D3D6A6B94CA075EB454080B01435C5ABA8B45AD6EDFD00DDC0270C7E54919A43DC715CB7B37E8423C7D2285D222AEC66E4DC4B55BC6EED3CED1B8D5B364F5FED35BA0312E46418192937792E865EBF5D5315F1E395194004B77F1D15E48203E3E5BD2C508E3CD8D1E2075B3D6DB0A5B28C10F155B13954297DB518A3E47DB5DA1C0ED8536FA7B5945E952BB5C4E24C40FCA0C344302A5202B92A351738225505209D810789F7A590672ECAAD866ACE771A3F9091A1695DA17B3576213A0DB5C4641E78045822AFD939B6272D12E05CDD1040681AAEE55523BE6371C53FCED13638A9448C0E9AF8AEF55ACAF723D513DAB5138F62E28FEB489E75BE072418051CDFDABC7CEB0C99F181C6AD95E7EFF5226BE5C4F4EDEE7A8C4A0500241EDBC363CB4C3AC12DD046EF0C840933740F48C63DE39C082FF4374C2D8453F2B813F397B822E90FD59B448262C00FDCAE73BCF90CAE164BAE33041CB809E7CAFCFDD658065B84B7C370CE3E08D505F7A2BA783A666EF74D8743336FA4DF4E20A1F8D58CD0B0EFF66FA77803F42169F51109A4CCFD008F36E23EDBAAA6ABF53B822C9EF356B79027CF28DF9E5D5D7CA360AEB407CF02CA2689F8131C78CE6DE7C5D8A2DC65A91DF7ACA7787ECD5145C5C791B7428F3F9CBB22F584EB564AF89263F5750CB37C8151F205B2FCA7DF746226D5AFE10177C8BC456452EA65D449E19B4253D6625D5C3349F3EC3BE554D4158DF219DE226AF379A422A8DAC91B97C64E19C120141D806767F7EE931D88E293EE8AE1EFD2766EE83174DE19BB645EE3455133B81E2270AC1C7CCEB037A50A5CCD540F00ABE27F05BBC29A2F10542CA0AE130D2B2A1464DB03C0B2510A9E7FB98AB24FD391CBAE0A112A66EAC05304127D1545BE6638B6D35606877719C3CD782FAE3FAAD1B89EB603750C7B5C3CE84F93FAC147346350C750CF2CA7EF9099D6725BD31172C37FAE60E07F33572CB843E67E8662D0DD55E424AFA9B1D57CBF9DDCDE447A3B8B604EFA253EBB2CEBE01521F0353C521F457F451CD93346D815D6BCBA87B3D2F96A22ED17C17B90BE3DDF7E04838C4F780BE2C96B781558B4A4999B3ADBAACA1229F22FF637CFC068CE8802F8684AAC32AE32BD09CD5C1D770900CC7C5FE8DF41E8110FAAD782C15C3CD637BA619A0037D7378C72CB0C95A35A9109BE11F8C4BF0D3BB80949A15C64A0D6F52A9B52A521D06DC749CD0E553418E127FB519BDA401F59E5AE517CBC2F538B6C32F9CE5C34088CFFFE03FDC7D36A7A912EDE8254B7EA46F1262973BE564089C44825437D8DBA98BE04CF7F6AB5D03C5C10AB51557F331D0B1B919B9643EFAD709080D2FF46BE83E081551F64ECD826DB09469179FF4B068CCA172D1E16750BD6D4C805146DC0221A555C81931A60206AF7CB485D2FB7FA9D7AACBC3E3729EB09979D2E683EA3ED8AD3B4BAAF4FE25F8B227568795563D3F2902A97375C521BA20F9C5E860DFAC83A0F0ED347588F250A44F01C93611405AEB04C6E75153F0A6E064E19D895DF7596C6A48A0BB3804A78937A45BCD05486314BAF72661349E8EB516FCFBAFFB31639716C5B88CAF4255E20EE90A6EF402E7A39C5CCDC5B196A99C5455639E9ECB788F94ABD7A711833B92DB9FD56B6412BF84C6BEE9505682EA300CEEDA496EF06CC477C272318F9883212794E9AD88177B65CECC1BA8474D3DE7656B61A3B832240578A4FF704CAA65E01A29F365C1ABB1DF23D61AD41C08B092CE870BA1103857DA37D8F5647A5D5ADA7BB1D9804C547C187BD1767258292514491CEC97BA41F48C6B581FE8E74520D0F0F6B0E44C9920290F68684D169253087540EBE733AE2465254BA04BEB703F3A309BE14B4F22EA63AA2DE8E674D2AD446F356D1CFE1207A5ED7C2D565CCD5CC1EF0EB1E7919C26E92B851F7478C83DE6CD21A3547CD4464A6B6B4DA6A8D8F736D16D818063D1FB95A8D6A46911FC564AA5CFB1CF76EF09D0C104648F92DB9B28816F560A24935923A945A1FB52AD9FAC6EA2E640A64F79F25693398B0A0E567518D950714A8AAF343A68A4EB1EE1F518ACBE99E05041CA505AD509F6EBCC68C84D85DC17E60F0240EC848A842F4A1ABF11371F46CE69D5B535FAB5634523E359AE14DD07749FBC6390EEB9E5330FC07926C971C719CD02AA565048CDA7E534365A3F39555F25BEC847C0FE5A76EF68F038FF552DA2722581CC14ECEDA1297942A1A67D0501815747C61517A9AC876DB662641F750A917EDFD8EA199D27E5D56855E5200791CD404D15B6EF6F5771234B0902C9DB5B033F260359F1A52E6646DBDE9E4F9876A7BF2C5FD7BA028BAA306FF9D4287DF88AA055C833ED8AC6A56D2C83AD69AD3FD6FFA96AB717444035D3B8DAE9D26D475767CAD452B607B3ECA6C573C38530DB071968B7E1DC26058827C57AD84A14B495FE082419255C495C5E13F5BC34D96CB498378CC16DBF6683D54836E12D44D76956A6B0CE788AF5282B9F06B5BAD30347A1D537EF864BB0C1496176B1B10118D02A56407609C0208E860B86A47C82B6FDE76CEC5AA70CF58B4B110D67E70E7B37DFE3A1D530183111E2AC6B30736BE4FFD6DBAEC5DCBB7194B9F0CC733F0A3A +MD = E73F2BA0DD0057B8E3A29F8DC43F525C36A2E03EC771DB1D76D87D86D57C948084AEF36D9231C7D099B7B42DF4568D5B + +Len = 34304 +Msg = 0EBF64AC017FEBDCA40FF85FD4AEB8F1A827561C150F74CD5E864857FBBA9C08A46EFB9FF7A16919618C9FB06BF8FE3F0859774DA6C38C5A0C54D44075D1BAF6482B7705C8E1A86E79B0FBF0328246B5E6BE013F934D4ECC34808A3639C49464309DF5AD250BF4521E41B4CDE563566B8625076AD7E260018EEE2F3252D15F36BDBBCE3C74758C68A0E72D83A37DB4D2022A80A4F6B16F4515053E1FE398CC6A74D343D4CBB403597AE68533E18EF893F756F6F554F98BCCBC84702D19F875D347C345B09EDFCB1C71BD6955C5178DFCB07376728CFC3AB9565C0A1A8DCA78221028B00B51B175A2DA2CC0A90C33C169EA8A1A2E375C087AC3657D28AC481D5B5C225AEFA85919FB8628F32F42F1FC0806A250143C084322FE9E30BCC8B89F3DA73469CEB935EE25887D843321CC8ABB3C75E15F4894CBB5731782372A5631979BBE6AEACDFB711A84F83BB89E0F92B88C5EE83E4F9A3C4F80624A17ED5549B77ED7D939C368CD9A92EAAE595105DE7E2889CAD71D01201580038FCF4AB4D285A13BEFAAA14FACFE5099A83F9E71D512519D055F44F757757BCEBBD2734CB91C5C4CE7B411D1E83B42689FDF8A69E63DDFD255B977D7435BEEB5DEBBBA7A47B19CDAB3F1C40E79B926A481A1629A818525C2A198983F23F0DA5DA8B99633689292332BCC2A4AD49769B3E448F8CEDB87C1DE2EF5D04E1C3A8116C3328F6B19B59C318E18F8DB29875C22A0A0C8EA615A593439F7B90AA2AD9C16CA573040A8190A834370378554BDA9DA9486AA3CE3F1B01DBA14B032B3C334F7A1E961426302ED2D38C34F61D7B4D182C0CA303C2F379E74EAF65A48D3D8A95616B2ABA5C88DBF6284C5CD68D902E3958A7B9529F49D38091BAC288734247FCE886D49BCE00AB98B1B962A8DA8B4710644E9DA418529E79A27408B52EB655FDE025A129A38EEEBA936657F725F0EC668380B9DD50C0759AC150F81B696B886E86A5447CCDCB3FBEC08C79471DC3111042FCFFFADC1A973340DD68610631FDDA6AD25148C2D0B48ADA24E6B2D42EA7510991C0455BA1B7F393CA1FA5801F182F89117885455DBF88F63CE0B77669BA965B73A344D3C4C787E3B4AAF58C56FB2589967C71969B1FE92C5E7D91094DBA84F470437339C1DC6918DD5FB835CBE69750363691B0CEE7B80F0D0AEB31DDBDAC52F904A3A91051B54ADF75B0D195763D29FD1B88244F61D6A304807B646326E76FB880D1DF37281A11CED52D5B5873668642C72CD7C70E36825CC17DA6E03C577D12F79CCEFD6B7B76C88B19F7606536793D8D33F7E0A598769883B417C3662B6267001BE7D0914563B2402149357D1C64680DA80B32207A67611EDF0E8D9A767E2BE2ABB21956FC764200945E4BC5830ACCCDC80DE485086514C63DA7F785CBA0C1E9CE5B249B52E7EE570D8657C63C4FC90856DFBBB24C8D2A711CB3A0960685EC55540F6EC2641A429D3DC99D82F26D2C7EACC614FFE988117D8F13B7442A9AE2929D3E1F67B974BB4A4AA960015C9216AFA844A243095F167B114700FB11215EB54357BCB1D4792A0B676C708E710211C3AF73D61B82F4D04BC40C898CE00A2D34C77F5E22DB71F46C939A0EC9C37D1647E23A0F44CC23D710A1DB20E38D009C6580192295C40B478A85A0930181D0962C3B18B6AAC7F5BE99607ADD25BBC23A7530E7E58C93F9FD4AFE5133FD228C6B4D9E43538CD9DCBE76C4D7DEDF22741839558A6B561847327DF7CFF1C17E03EB0ED9DD921974954638CADBF645A4BAA4A62774BA66E2E458A1F7AC67EC394429339C2F620D457F5DD06AE551B69BADDEE99A6C93EDC7BF7CD56898CEC4AB4E633489DD1934B3EAB68601E3560092CB9B1C64B90C9FBB6F62BE60B0E221F1F6E1D58444B731B30AB04C40988093FBD396E65BA703F52ACE0695035EE78E7A4969D3EB5834C58EF60FEE1DE0F0E03E4203FF50F957ED68513F9134A4332B56044EE14CE80EAD7CE532ACA58B1F98423C3CABD9921F83A81C7467B3C6F6DE4B12AD741C7345BD645854BBF859D110C8D60F53AFE65F6A8A0856BBF78954F8ECC831FBB43F030449A9FE72A3C86AB7962ACD28975530CB567CEA713BE76B2262A70896B8A3CAC66772C56A9ED139F3F4349898AECCDEBD5622F32A75EBBC9FE202FE56C957356D40AFEE4718C52D30FBF683CE17056E672F909110C087D361C196FE33C6D80DC6925769F6A93DD41B5BB5FEA806F3BF56C50D69B45A371AC5DCF5CF356BC552E0CF87E22AF0F121B21278B067138E2AFA098E7EDE1C0A8AB29B6CCF6B85D39ADB9CEDD013886D2C23C273A21267B2F2C22B5BF25D5A5CBD083684B454AB5FB854F90CB49B2F53795BBFD46348B30958398344F9C362040E1412F331E2DD1679F31ADBCF8D40BD3BF707A4F3558239A0B9488B3D6A264E6DA3911B0BE47DFF3257B193129DDA9F3C0D9ADEB161F8426CCD01AD2D0854F7319E12DF89DA88C98FBFEA96D1F40BD098AA46BEB471834B039D6F001F804ED3DC47CDE01D5B594D565D94F70BA7387822DBE8D0E44645A914F25D1D15F38EB4E5C9B4F48C6146DBEFF8D36C17E5E57A3F07E561AF390EDFA4E2CFECA19722A3BEEEA23782CD7AF8A61767B010F89A7082E04E807F5CEC49BF5AC71DB3DFDC5665CD1FA5B9EB0C3C7343C674730EC650A13BAE412126C68DAF917862ADB4E220461A6CD0C7511F4F31C47F8A41AC54FC0B34F07DC15060E9A43855DA0A162436B1D3A4B6D8EA87229FAECBBD9A2F0792266DD160E0F8671690411F8A9BC7429F8E0F4EB0098E33F0532057D1E05E6A78FF48A6BDF78176FB462E56B305476A78F099786A6793D2FC3F4F74DABD3A34BC2E50267F06157494B9966E1BF1F8708CBB770580CBB2467FC1B3595345A49A5D8EC528F3E2B3F91B06E0693F87FDA3B68CF99DF5C47BB18B767FBE74EC0B664AC0F1CC6592F01A5659A7F3B4293BFB8541F0A9E3F923A547DD1C784ED624CD3A2C9D1B8C308B3236E4146C93CDC36E17DFEDA5C123E735AD4FEAADCAABF9581BC1060726F545C308E56C7310093F7938A2083DC468BF5FF3C84C2271EC7533838FF15E6F7EE8C71115EA8E342BC33AD64467640B11EFE5F33CECDEE3058E8C17F8CA0488918506FE2FA10B92B9FA87DD7305362D24D4CE454A779612B112C7C7E6D4B632A8475EDADBEA13486CFAF5647E4DF1FB135AE793F8E6D23216B0ADF664A14397DAE07E133A1A58E15B25E9092B61FAD3619BD551858144B80D9075D34128C351643F101BADDFA990CE910F2A8D721B64C495A12F07AF3D32CEDAC92E20DD9638C0DB36EB7B1286138FE056EAE9D91C4A0AB7DC5267FB16A41B771EB01D54701FB43570482157BE10C6FA9E4D866B8B5D650EE6F3FE117B1FA79CBE4F8A9B97928EBA2FCA6D7669B384184895BFE76ABF484B03B9F7CA10308C6CE31197CA15B1A36CEDC3774B6B9DDCC2431E732DB36537F1F4F4883E81E7B3C6D368B4EBDCE34C657711D2CBB4158D519E027C5B4B64575AFCD87CE736C45028D378D70C0FDE73B5499FFB307B9DD82073833C0A84769964FBD7D01C4ECE805E122364B2B485B6DAC7793F1EE7F1CB2A50AE6565CD210308260EF64D9B2FE8378516AD093960D5CA8CFA9FCF28762998020743086B93EEDEC324784428EBA23141466185C740055B1E87BF7F6BEF5CE8E28DD270F9DA64D6FFF2CB0D73A734D45DC56CD03BE9414DB568EE2366F2166FD6D43AF9EEECB13C4A5D3A8E775BEE5942194033AE3EE1754FC046BE91130979AB88E47A4CEA379ED9E77BC4310DDAE2BDB7A5B941E3FB6081CC3ED710E0C603D47EFA82FCCC0D556D4AB58825EBE6EC7700F02FB7A0EED44CD2F8772CCDEE4BA4B883DAAB46264A569AAAE97A0E4369EC00F59D841A1A7CF2D39BC58725B248C7B159D6D68B3D9721231CACAAD38F26F357BFD31FFCEC18CF34EE42C3B375C827C4284B31FCD4374CFE8C2C7A6B952581C9837587CB161EECA237290AFE8095E069A99514DFAFC2FD8CFC734B4AE64807D3ACA2681ADE0FA018B17D2A61F30F0307AE86D67D4A14D9CE214CF41EDB702735F99D58BDACE7F28C7D95A9CAE8B079708C6C7E78ACCAB67F67A598F7C86FE8B8AB6539B2EBB376B6A17144A3ADAD6BE5D617D30607AB4D94C11A7C1858E19B5C7B12F9BE4AC245A9E91A22EE5471AA58538AFB35319F53D6DD69BC2AE48D2B649DFF6E71DEA3B797C071A0C345F66DF053475A40031F323908C71A198C7FB2D542AA8DD97B2F1CE01D11E7FC458518CE1CB451BB9B1D57530D15EC95BA73BD5A386947FF8D0F565549A11B88759D6ABA3A83967BF9543E640A33F6F9D9655A547785B42B11216EC1CCE067630E89708CA896733129DB5312169003B8FACB8DE3F99E65427AEF51CC1C91005BB7F5B65218B1B492FDD67761E0F7C2FC60F7ECA13B09DF6B2A53B5B9CEAB43D5A1EC3260A89B54BC257850F0659E3240DAF073CC5236F65B159CF8FDEC771911C054BB417F6799330D443A735704E66EA9F1D3351837197C19E8226D27A1EB5B664781CF0651231AB25678A4C9F9973DA830ED3871A6EE638DDA3C789B0AC27DF49717CA2A1DF46968D56035EF02B712D12067E72B1E661120FC1FDE4FE6B11BB4D189F29112DBBD6DD0D9E4E78501C8E5EEECC333B208D7B86522C61DE4ED0D4454D19CA62027627344F455C05F429FA17E4A6F0BAFCD4B575CBA3755B042382942190B6EAF762DF7714797E916D58E7DD0DE2CFC41D8E6E410DE623EA5C547334D3A21488CD2D65E6F9E0F123166FD8304309D0160B5A605317E0122308F9FF065AE6ED422437C962A1362EC1F2804B274E3BAE118292FF930BD519EFD3A93E40F949ABC60E8E9190DAAF9FC8099A44311861B02FFB4F9A0AEA81999170ED5BD14B727B42EB44B0B55983F1AC2F2BA80734630D6B7500D65EAB42F6771EEA6872677E252DA4C717BAA07760BFC5FE09D4835A65200A80C2759A476A930B7FB4A738241C3E73A9C75D5A7F0A0BE52138DDA2812AEFBA8FD78D5840E6EA1D15C57EA66A59B3A882A8FD04093A5815A5324BE75C4F83CF16B785D2D3BD36602A0026A9895CB343688EEA40CDB483EDCD87788B668A69D0BC75B07D8C8247A9780E4C1EC342C1198295D699F0829E41A78F0F9978DD52D6491898F1F05B979E587F711DF66F38C23C2BFF9C69086AB970C468315B3B6C36D58A7AE9C749FA06429E6781AE7D49B3B368048641A63DB95EE293A1954201CAD72E92A85E34C7A74B2FD1BCA6AA61435AF2DC32C1A2F559F63E716A6C96F076097E6C45F4372AE6828E9EAAE3EB82361710EC14F67F7D0ED9859249C18D14985302847FC8F3301BD31C7E1E09B2057E9EE46FCC7C9BD8DB59EB0DEB0B1D8D291508CB3837C9B2F191A49595D6AADDCEFEF0DD59ED3A05FA8F6EF03D38F534139D56BCBD4BC3256E1A120D49A5DB1BADB528B0256C61A2F179A23C49928738F9C0FA81FC196D1A74507998415F070EF9C38BAA53951FEE7B68008BC675E0E15BC32A61C30BC132E79C58A3A970FFDDB8B806782DD31242B3C3CF9810BEEA5FB5A1B250EA62336456E7694B4C829508C7DBFE090AF6A850F79D04D2C698637816017F8A920E1B1ADE236E227B3480899BCBB991F6C6C240BBD4114AAF9875935558394A486652B0942F3409B66FAF8B8BF711CC8C34CCA41B8E16C2CDF0160B92A332C1F04BC64582446B98AFF34189675B7A10FFC6F13B3F74654ED7C0590D4AF7F4D747BF89BB2A8F5C8CE610CF4FA4AB714A845E15649B53E54A95213D5A73905941D9467B0BEDDA2BECC1C219E1CAB699652D85B8CD7E0CD11CE5B0CAC76F9EF3D74BD829877898E7350CCA72101076A970BEC6756C3FD1AAF3396F72833F8D4E716AEC6F93718B262710B0DA2F3FD6CBDB204ED0E91D65CAB39ED35F22A01E5D509282752837EBEE968B140989EF5F4D513452784BDB892CAFD8387E05B3012C0458A369E62191F5BDC57DD63CE42E945F493C2B42306B8084F3B25E94ABACF08EE155F3621ACC9626EE487C7A7E4667F0377AE4B2 +MD = BE964D9AF67D2A10602DDC5F5E5C79D23951112C56246EC75931D9DFB3F0B06DE4478838DAD9DE9F8C76FEF0AAA7C628 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_512.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_512.txt new file mode 100644 index 000000000..0297b849f --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/LongMsgKAT_512.txt @@ -0,0 +1,262 @@ +# File generated with ../../loader.py from LongMsgKAT_512.txt.old + +Len = 2048 +Msg = 724627916C50338643E6996F07877EAFD96BDF01DA7E991D4155B9BE1295EA7D21C9391F4C4A41C75F77E5D27389253393725F1427F57914B273AB862B9E31DABCE506E558720520D33352D119F699E784F9E548FF91BC35CA147042128709820D69A8287EA3257857615EB0321270E94B84F446942765CE882B191FAEE7E1C87E0F0BD4E0CD8A927703524B559B769CA4ECE1F6DBF313FDCF67C572EC4185C1A88E86EC11B6454B371980020F19633B6B95BD280E4FBCB0161E1A82470320CEC6ECFA25AC73D09F1536F286D3F9DACAFB2CD1D0CE72D64D197F5C7520B3CCB2FD74EB72664BA93853EF41EABF52F015DD591500D018DD162815CC993595B195 +MD = 4E987768469F546296AD1A43D54C0A0A6C87E7E4E26B686612B1E5B1554B689BFFD56D6A4B454CE4A5717625BBAD321F8D05F19C225259646F21416AA2D7C2ED + +Len = 2552 +Msg = 3139840B8AD4BCD39092916FD9D01798FF5AA1E48F34702C72DFE74B12E98A114E318CDD2D47A9C320FFF908A8DBC2A5B1D87267C8E983829861A567558B37B292D4575E200DE9F1DE45755FAFF9EFAE34964E4336C259F1E66599A7C904EC02539F1A8EAB8706E0B4F48F72FEC2794909EE4A7B092D6061C74481C9E21B9332DC7C6E482D7F9CC3210B38A6F88F7918C2D8C55E64A428CE2B68FD07AB572A8B0A2388664F99489F04EB54DF1376271810E0E7BCE396F52807710E0DEA94EB49F4B367271260C3456B9818FC7A72234E6BF2205FF6A36546205015EBD7D8C2527AA430F58E0E8AC97A7B6B793CD403D517D66295F37A34D0B7D2FA7BC345AC04CA1E266480DEEC39F5C88641C9DC0BD1358158FDECDD96685BBBB5C1FE5EA89D2CB4A9D5D12BB8C893281FF38E87D6B4841F0650092D447E013F20EA934E18 +MD = 3D370DC850BC7E159CEE3F24D9E915B5B1306FF403C32C7A3A3844F3FC8D90E35F56D83BDD9C637BC45E440E1F27CCD56B6B3872EC19101BBE31845108DCE929 + +Len = 3056 +Msg = 023D91AC532601C7CA3942D62827566D9268BB4276FCAA1AE927693A6961652676DBA09219A01B3D5ADFA12547A946E78F3C5C62DD880B02D2EEEB4B96636529C6B01120B23EFC49CCFB36B8497CD19767B53710A636683BC5E0E5C9534CFC004691E87D1BEE39B86B953572927BD668620EAB87836D9F3F8F28ACE41150776C0BC6657178EBF297FE1F7214EDD9F215FFB491B681B06AC2032D35E6FDF832A8B06056DA70D77F1E9B4D26AE712D8523C86F79250718405F91B0A87C725F2D3F52088965F887D8CF87206DFDE422386E58EDDA34DDE2783B3049B86917B4628027A05D4D1F429D2B49C4B1C898DDDCB82F343E145596DE11A54182F39F4718ECAE8F506BD9739F5CD5D5686D7FEFC834514CD1B2C91C33B381B45E2E5335D7A8720A8F17AFC8C2CB2BD88B14AA2DCA099B00AA575D0A0CCF099CDEC4870FB710D2680E60C48BFC291FF0CEF2EEBF9B36902E9FBA8C889BF6B4B9F5CE53A19B0D9399CD19D61BD08C0C2EC25E099959848E6A550CA7137B63F43138D7B651 +MD = 218A55796529149F29CC4A19C80E05C26F048ABC9894AD79F11BAC7C28DE53BDC9BDB8BE4984F924640867FCFCE42310ADFA949E2B2568FFA0795FBB3203DE65 + +Len = 3560 +Msg = 20FF454369A5D05B81A78F3DB05819FEA9B08C2384F75CB0AB6AA115DD690DA3131874A1CA8F708AD1519EA952C1E249CB540D196392C79E87755424FEE7C890808C562722359EEA52E8A12FBBB969DD7961D2BA52037493755A5FA04F0D50A1AA26C9B44148C0D3B94D1C4A59A31ACA15AE8BD44ACB7833D8E91C4B86FA3135A423387B8151B4133ED23F6D7187B50EC2204AD901AD74D396E44274E0ECAFAAE17B3B9085E22260B35CA53B15CC52ABBA758AF6798FBD04ECEECED648F3AF4FDB3DED7557A9A5CFB7382612A8A8F3F45947D1A29CE29072928EC193CA25D51071BD5E1984ECF402F306EA762F0F25282F5296D997658BE3F983696FFA6D095C6369B4DAF79E9A5D3136229128F8EB63C12B9E9FA78AFF7A3E9E19A62022493CD136DEFBB5BB7BA1B938F367FD2F63EB5CA76C0B0FF21B9E36C3F07230CF3C3074E5DA587040A76975D7E39F4494ACE5486FCBF380AB7558C4FE89656335B82E4DB8659509EAB46A19613126E594042732DD4C411F41AA8CDEAC71C0FB40A94E6DA558C05E77B6182806F26D9AFDF3DA00C69419222C8186A6EFAD600B410E6CE2F2A797E49DC1F135319801FA6F396B06F975E2A190A023E474B618E7 +MD = 116AE94C86F68F96B8AEF298A9F5852CC9913A2AD3C3C344F28DCC9B29292A716FAF51DD04A9433D8A12572E1DBC581A7CDC4E50BC1CA9051DDBC121F2E864E2 + +Len = 4064 +Msg = 4FBDC596508D24A2A0010E140980B809FB9C6D55EC75125891DD985D37665BD80F9BEB6A50207588ABF3CEEE8C77CD8A5AD48A9E0AA074ED388738362496D2FB2C87543BB3349EA64997CE3E7B424EA92D122F57DBB0855A803058437FE08AFB0C8B5E7179B9044BBF4D81A7163B3139E30888B536B0F957EFF99A7162F4CA5AA756A4A982DFADBF31EF255083C4B5C6C1B99A107D7D3AFFFDB89147C2CC4C9A2643F478E5E2D393AEA37B4C7CB4B5E97DADCF16B6B50AAE0F3B549ECE47746DB6CE6F67DD4406CD4E75595D5103D13F9DFA79372924D328F8DD1FCBEB5A8E2E8BF4C76DE08E3FC46AA021F989C49329C7ACAC5A688556D7BCBCB2A5D4BE69D3284E9C40EC4838EE8592120CE20A0B635ECADAA84FD5690509F54F77E35A417C584648BC9839B974E07BFAB0038E90295D0B13902530A830D1C2BDD53F1F9C9FAED43CA4EED0A8DD761BC7EDBDDA28A287C60CD42AF5F9C758E5C7250231C09A582563689AFC65E2B79A7A2B68200667752E9101746F03184E2399E4ED8835CB8E9AE90E296AF220AE234259FE0BD0BCC60F7A4A5FF3F70C5ED4DE9C8C519A10E962F673C82C5E9351786A8A3BFD570031857BD4C87F4FCA31ED4D50E14F2107DA02CB5058700B74EA241A8B41D78461658F1B2B90BFD84A4C2C9D6543861AB3C56451757DCFB9BA60333488DBDD02D601B41AAE317CA7474EB6E6DD +MD = DEA56BDABBC6D24183CF7BDE1E1F78631B2B0230C76FF2F43075F2FDE77CF052769276CAD98DA62394EC62D77730F5761489585E093EA7315F3592717C485C84 + +Len = 4568 +Msg = FE06A4706468B369F7624F62D04F9FAC020F05152F13E350016B2A29EFFF9A393940C138553356B0E2848C01B622B95FFA11AB07585F7DCBBF90E9F8EC5FA2FB7B4CEE0D0A4E8D33490ABD058CF3BB85F0CD9B1BD3E9823082D70B1A92ACA6F2C87216B4BA09FEDDCAA4CF254336146CC75604FB1F286918FA2434CA36BE2621049438A400BDEEA6C657F0301503CD7E6E38350838F60EA7F001755DA4142CE4579B39029DA83F1646B7ECB9947EE89ABA377099B82026960B9EE600779BF00D6EB0CD09226DB6915A7ADED27E6749E2CBC2C8B030CE1850EBFBE24C0658F29E9E709CD10DB8A77EFDEFC90FDD7B9AD7A7E0334412A53D248C4C12BF2987B7ACCD2A8A602F184583AA560C016093B56B100154477B834664E6B85A19F8DC909B4D79816AF12266C731E29A304E9BED8EF1C8030365B7DEAF3D436957308117C7C5767E0CDA6E342DDAF824233CBF4E699DC667357CB35C602AC6BDDEE71B352AF55CB93941A1A6301A9904447AF9EE486114D57AE03901F10084ADC0096E465E2EAD2496273112F2FAE626E230D42EC22EA10A8289B3E35EEE42150769D6E663A3CA29174316EC93A24F148D984053B8F98664EACA3E0DEA0B42E8EE30F81A2CD6E42C189A25FECB6E643E693E1F8871B837C3F5FF2AAFD1650A465DC8E5C1993BE65CFFD87F2C680C86B0AD3118834A5F2E490015137BA945C2775DBD77FB3E5C67819A9A7A94A656FC4761659C5B30ED2AC55A6D249B700BC9C93D590490AAAAA75A9FC34A90D5A9106F2860BDE19FE5815436068A7F8EA4636A +MD = 2E6236117C4F99478BFF204A443C64777CC0D658A24605E810E5FF12F279BC326C439111A911583176280D63C4BF9C69F40729CB976996AE7765E591004CD799 + +Len = 5072 +Msg = D0FF6E045F4B636F75A389799F314066644854821B6E7AE4047ADFDE2D0C0E02C250F0BE582BEC94011189B964A8AF430F5921ED9D9F4446E4C788515B89CA69E5F7CDFCCC9E83E8F9460145B43DDC41C07CC512B7E6FDD0E1E7AABA29A6C016CCB7BD54B145F3951EAB9BC4908F623E5A9B0C5B36056292540B79FD15C53457DC74A65FD773A34D6B313A056F79BC29A3FAC15F6A1446BFAEEAAFBAC8ECF8168DDE5F6AE6B6E579BD3CE74E7ABFADF361D0FD32D56586A8D2D4FF4CFDF8A750FAFDE4C2E9EB32B06847FA30B13CC273532D1A23C8257F80C60B8FA94FA976F534145CD61C41C0A511B62CADD5848CEFF643F83CE43F8E6969C5A559AFAD60E310599A34B2E5E029FBDDF2988FCE59269C7128A1FC79A74B154D8AA2850DCFDBF594684E74099E37882B440367C1DD3003F61CAFB46AC75D30E677AF54559A5DAB70C506CF61A9C35E0E56E1430746916DDEEC8D89B0C10DAA02C5D7E9F42621D2B312EAFFC9FF306297952A32D26C2148570AEC90501CA739CE5E689E7066D9580A4FC25E2023897C74C6856273133E1275A0D275DC5B75DB724CD12C9C01BB95AB5A227B7850020630506096878D289923177183EA9282A4C78EC212D2E898CB99D81A3364DF20927EE34D4475A5CF5CDB24088ED75B60201922E9C972D8556CA75F8274D15F3FB88A6B42C766DEF6B21329DEE7C457446DDE8C26405FE5D0309A04229F449E8490CF9000EE8DF400CB7C7EE831BD7059D24088FB42D61681CDE45050FCA78FF64D9C8D1F58B55F802FA5D2F2E723F3E4EED4338B060D31C8ACC46D26870BD45D0DE0798D48E32AAD1A6D4322E69F5E72309B9D7FA1F24BB1D63FF09ED47391C232497BF222C542A70975C8292D275197A4CA +MD = C8EE158CC1AD478A5B16645BCB3A54A38C7A554AB5840D13FA07C70C18A35E3035FB64445A9B65DA06EB7CFA5BD3C921B20D150CFB73213154283840B728DE1E + +Len = 5576 +Msg = C9A0B51F3199339C11A5753C9D9C95104B400127087177F14D3E15BE881EE89BF416F97D4F7AA9636C5EF29EBBF8930804006EB26839415D3984B920882499752C36A5BBD583308E716DB16F28DB98B3A3E718A2EBCDFEFA75D7CCBB6A746E32FEAA38D034843461DBCFCA7F983E19F5B23EC2E3D74D2B4402F3BDCE7D7A9DF1384668C746CCE466B0654CDD5CA56A77D68A100AE06D63CD9AF512AEBAE78993808CE672330E2065C0F71E05C0FE821CD5F85732315F04666F3E4E6C4F3E9F415E31FE0980D874994108E12464609C6D5C19CEDFC85846B0A84EF3CCBD3B655FB0DE8CB892BDF774DF39C955F04F322856D470981BEED0F752D82EAD73B4131C5DBF0424B4AB654F72E26EF0CD292B87BD5B66FBD5E7EBA96C62CFFEFD4B1D870BFEF312B86E38ED5C0F50935E2ECF9FCB8C95D35D19A8FC8F202BD9DBA768CA48FBBB071179413C0DE4FDE86762ED4B13E1EEF2A00ADD5D1C2A3AF7937787DEBAF1F6F12F3F0225FFE587A5540CB550F7BC11DD6AF864D6B6D16DB1488CB226EBB2199DA75FDD59A71158867298F63961B40A31209F8F16629B1CCE7FFB617072748FDE8920D11CC0D0678389D1F719DF3ED19846FE9893B04DB60FA603170D9573B1BFC7DA663E07254552AB6253DDE814117185F84373FECD7F98DED170C884D41D1AC81814C73EA48AD94ECA1B7733D8393E320C8C467EF6189B4AC324C68C8A2ECF679C893B7DBC4310CD05DADD80BB6326B51ECD99A441BFF77BE8D644D752F3C5C794E7D45BA76283ACF8913BBF2A420F9E5D14D7A23E95FDEBC69B455E466423012E9D1DE9353E40D4BDC3107C3144B96C6DAFD41CCEFEB2B7FF848CB9FDBEA8648BE32160FAB7E7DFCCB807FB019EBF159231EDCF2D487D76A3E882F3F50CA48DD08A23B06EE887BD7DF9D7C6CC2BDBE348E3125C4532448F400CD57A8679ABAB13E582B13D49442638E2698FB7A563C7FB264157 +MD = 656ABB69554D7D34855C0C36D99B73B9569B1F0F86B2CCA6C46E8039377D22C70F4D457E3AD1DD33012CB1BB2620BC1DBC4C68F0B2A302B81B64D207B04E0F4F + +Len = 6080 +Msg = DA5B2118CBD59F408CE56362489FDA69EF73172F46DEC16C0D4A66E3F3CCA373927CB6784CE62BBCB08A490D003A8F77391E82CDD87860909383B054DB95816720112E2F96DE9E0FFC8BABC1350ED46B9AEB5D46B66940EFA311F4853F3118063C550733E7679D871729001C12270E98439E375E0CD24769D318E03CBC97D643F1DC5F1B5EF59D12789F22449BD8FA43A13CE78A4186166523F3807B0B621079CC528F4E17C258D4F9BDD095A3E365614B94F2CD778CACABF26244891531EEDC24E1BF4598319EB8B7527736BB1E734429360F47F04B2E95D5AAE997763A467CC5303D1141C2C01F7AB9EDAB860D180697C906CE1558AEFF5ADCE603F8A4A10FC6C1699189E73B489F64CEFB89AC557C5BB8826C0317EAEF2302E855FBD96777898104365D96AE8A8ED8669C568C4DBEB0A70F6CF4C22FD933014473F91871C08D5A7B44A928295FB2AA56D5E2C39CA79D2837FB39B35C6810C378D749AACB543368A19C137B872229E0A6F469022AA93BCB2BE38B761C85AC09415CA7DEEB38FF2A2101507206FE322A89666D32750AF0F4D7B2E59571F02A048B8F94FE2D231072E301C8641D1CDB4F841AB165AF297495A348BCCD937712E68852A4ACA948C1294F8B733D06D67DE89F206498DD401E149FCC1EDCA92DEB92952EDE4EBDC7CD7992104769A04DE8705027A31337B88E8DE93F6624E8F10B9F9924E8CE5A9D841C9260753FA1492CDDFFE6B4400C5719D76FB5B01B234F32FFE64F04D0A00676FBFC58DBE17B4D552FDF0C5B802C0CADF723F73F86E8FFC493992D23E8C0B84F7220A983DDDA21170B1F730C736E75549AF6ECB8DC94FB25C26BCDDEE420C83E8A45AE4C345816B7163CFE016DCCFE47C66979D610A7F9B4A7B1BA5E230344C9F46BA076F2FCEA68AADA8FA09BF0B5CBB3850DDEDD80A30E1F7A639AC69E5595C6A4083AA959831EBBEB84C018068723192F58BAECDDD18C857E212D4C7E7215B6C954728183FBAA07720B97189AF6A7729C30D28DB33A889F225D027D164F254535770C504C506AEE4EC4676771F69F935BA08A1C6C85 +MD = FC069339A52A689ADD5BBBB66D4582FF1AF7C220524899A5EE9A1442966DFADB6D98ED2F746789000827F7BBA77407E4B87FA10B3B85B9245CAB9C734A1F9159 + +Len = 6584 +Msg = D1890B4704E169C28E44DDF62A1091450404910539FC2DAEB26E8ACF4533B024E5215C2D02820DD8FB2CFC1743955CBACFF0F8F35DFBB5E3F942F36247F68211D518F3F601AAE12A1CDC000BAB43D4C973F287E80741DD1FCF6C34F2E6B4B6C313D01C4FF3CBF9166F26946F18EF2D58271BA9233F09A6B77BFD4F48B36EB3D73D1133C4F842A7DC3907F680B0B773242C11E3DD973A44327EA7CEA9C0F8E07D682B6651E506B587559FE01ED721000BAF570A16FBDD9EA29FA3DEF4BE912058321A8B720C5C102E48A6E7ED6F8838D400DD57D06EEDBCD15323F86D855C94B21E41B14EC9E1BBC8019211FD88138C91F9ABBD9BB3914D26C1DDC21673D2D51263B39D66E741D924CF2B192C5D2C1A140126A3D64A2C77BE6C2C6EBE8599978AE90BD36CBB9AF64D078910C4094AB3BF399C34F2AB8EF843E9FE1BF88BF443BA21E4377E5F49C07FD9653B526E14562237F02D11B904BCA6AC31AE721A43E3C4910A24AF6F4D80C031C109FC0FE49F15274BCA92BDA04C3B4196C192F6CE489C63A806ACFC895AB52CAD657C1783B528E12D0ED856E1F8FC91F2AAFDFA0A92498D68530772EE73B359FCF1418D1096C46B34DCF90E5B468BBB2970BECBD70089CFB039D64CC50FFF5EEF26384D34F24515A6558B06A1FDD88F1050C5BD78CC6ED83D4C2B0E882AEBCF84AFB0430D0BF09F2FB42B8B4589158093A7709AAE75A790910E211EE1333FFB6FD80778DA3BF73858978E9DD647978841B18001DBAAEA43CA0C0A03DBB9BCF30CE76A6F4B2CF2A9B6531B3E4051E7E05090CD421BC66C4731E7122AD129FC42DEDC83BB460E3F889992FBD3CA072686E56B72C720FBC98D723EF7F247286F77CCDDC728738E941B1A74D4F16671C21FDD5643A115DDBCB88EE7EC67EA66FD2BCE718DF6E085D4B5FC71A72696636A8F7B3A68AFA51A896771FAAA7F1F827430AC5E8089DBC0D4175E1B22A057BC5F1724EADC1A41E78FA3ACAA8B97E5F2E19EF9D59AE12B04E7F0E8A621E098A66910E2A5ED2102B824CD3EA044A854F1CD0B33E61E7F737414B2953549F25DD34D19AA1981DE7CD5649FF6C6364A4F25312EF62395A747AB88AAD722C05AEC40DEEA8EEE5E779EF458A68840BC6BD5D29AD40F98B3AE010B6213372ABB7BB8B8 +MD = 6E010624E0C2589F52A7FABB75B077C86DF04E4BE6FC736DD00346231370A9A0F6715E683F9733226C6AAD1947EB466C7DB79979DD367C33900D9727BDBA24A9 + +Len = 7088 +Msg = D9257004993C7AE50D20F534B42B4EC39BF358393B9FB5C8E37F87AC7361354554BE596F40E67B2ED499887E26DC435C4331CDE3BF1A118F60FD821477FFA3B92F6469568CD2CDA6FC0A2B13906AE459CF5D5417DE2CE104D0B6499D3683BEB40715582CE70DED5C5F8461EDEAA38BFA31979661A2DC96D926307128F77700F2C7D38B8A9D6C6F70A3973005350F938B9B4A64E228CC3B3F9C4FD446FC650AA6377152D7F46903D8EC8E9340710E28475CF21E641737E7D7DA3CDF18D01C8F37131E727C7274B2DB759C5586FB84EC36A5CE2D820E553DE6426B8B96111295C19DBA8D17A2B7047FCDF662A59C2AF27A9ABEE37A7F8AFC06944346E343E779EBD895119D7460E7DA998962FB1100E950A8D7FE214360AD263B8D070F2B7DC91C9D77C6692DA0F472A0A4646A1EDB069CCD9CE4CA6FC24713D650153B9A253DB5136A3710198E60934DD2053315D313E27DD2C6FFD2ECF028625F0E937AFD8C2FFB1F646E51A768204D83A649798A51B8E87FCDDA7BDDF58ED943BB7E29C7D7C5DFF024545F6A689AA0E727FECD80B561011A731ACDD9B3F283123098BA66B6B9FCE6123B35B6F3A20EF1055BE9E257CDE97E5AF41EB796438727A62AA665CC9B771C4A2052EFAC61BC91BCDF573F7263107D44DFEB125E66D1F3DDED3BD63845AF3BF4185A9A24A7F4B777C32496A6107B7AC940AF24BE983F6A758E5064F8717EABBB86E6AADA7DA75F72ABED59A42DE82B1AA2642F5EF1B2E7304F642EB2AAFBF00C1183D9B5FB83893EDD48E9034DC7A7AB66F3F392F9666C00ECC9743AC4F777EDCF47B6818A34B7392B4AB8E38891FAB4018DFB99AF06369115D60C4FA073240D9C2605E020A42DB2E1E0AE4ADE3A04B825927A05D4FE3F50C1C7ADD7A496DA7E95825C064315196C2007524D1E1EF2C51303DD1203AB66D9FE89DE553CB4B95A6C5D629B89B7116463EE10AB3CF2C2615F95741CA226F9E9A20E99303888F725C77476533B4C393763170F18F292C89A22DF68EABDB81AEF11CC2AC329C174BDAE5D3CC0BDCEA6EB225E00C15021432264BA7C5EB49A49231D1F7A13AFC238BD4EFC04DA3C15AE0BB7D693A0150E6A5AD9B1E11A490B3CE90C027442501684C528FE260881162D9E5EF84D6E4F73F222E779E58B71D5176D9A27F65E49D83EFBB2D7810E5B06619D8CEF7E7B51CDFB6E8138E4CF5674242F947EAC13FAD08D68A8A11AAC9754A5316C93738BA7F3C3BD2E827A +MD = 1C9135E79D19D05F45E32520012199B4A46333B548A5A5F2616AFC78923E064F1F21EA02496700547ECC19D334512DFE932019505BA6448145879D42B2AB722F + +Len = 7592 +Msg = 09CF132AB943654184A3FC8D0368B421FDAC4EF1081A29F3691A527FBDBD74C6372233B38DC432BA610F9C54FA68699F9EC2A6BFB0B2CF7AA6D10AE2207A7554163AA14FB6A9CFA023CE63546B7B02AF03370A899EA73B27BDB5C380613C0EA670C659803D5F6F75C0CE62B311DC157DE843A93905E7A28A2557684AE3DB4FD009412A107098F881DC06622ED9E3DF2C8FE69FE50BFAE158B87CA761FE1E221856610BCA301EE68958C25BF58D3BE203AF928A919ACE53C3D99F55AB00DFC8A1A28AB83E78617F194EFC46DAA77573D02FFCAA1F9D96FD8DA8DEAD3D4E75EE5E65FC360B2A567CD34D52BC9AAB8B71160312E8E21AA506105D6644E6863E7D5E75ED47C1760743D113A4526553B303341FCEE5FDD005D35929F2AFA760BB8314D0C0EAC960FDA3263A1E6688098251618C90332005C757AF958714571B77BF2A69030D99F71D1A5259658BE565FBD098070122C43EDFD400999C90A98ACE95315FAEE4F1C0441C9315D527C7FF1A8171415D2A076E2C513D40B03CFE5513C0E74EA3A03AD4958C00A3E1916D34273E301D517B0A5E770393880D9AFB4D0EB44D3140FF7D827C48F67C6D92B865D8FE7C7E45AA50DFD8525F530DE1188F3AF98B3DC625D335E191FBAD5EE9DF09C97B43F203BFED798F7D171BF00C82EA0ED17D5890C3D6B9EF6FDC04C5FFB645E3050406FE2FB6BDBE2FFE083E751DC19F2F06445397019B61CF1F505875520F09C6B719E642B81B2FBFBDCC072B7981A666D51E7065E21244679DFE056BC9D42B8851F9D2905FD838707B279A8106EB894B60A72E4851C344119CEEB5BBE110B1C5B21C9A5F7545283002D4B1C115308B1CB20F6D9CB869ED0459C569662AA5729A7D7178DE7D69E4885CA77C011E785ECF0E2ECBB8F5245579DBEF7A5EB30307E0B40B817BD1112D28EEFD548374BC867E0C34D2236952B9F859903E87E977190FF94F5D815699154F96E5449DDC1A14E4196C83E4FB02F5F58C30EEED691DE47C81F4883BD84F6ED711FED0C198BFA2B8296182D7225E8989ACF55D3612A93E77D24F7B6EEF813FD514CE2183571602976391F5AC4E86DA59A64233230FB67FF0BB9EC40667F54CCB235D04B3FE1D9A47E163CB19C316046FC1353A6642219E9CECF6E3151C0F4FAE1177B67F19B4964DF96BB6AF37012B8EA9E5EE24C57A010C872B15C8A65D0266589F6DA20E38D9BE2E2C215C69F558084E48EEB61F4EAAE83C57F3F1CD08D05783FB9F5AB1CDA5E4B86291FFFB14FE9B497EC73292BBD295C5657D71CC74D38A2F3DB73BA972986B7169F76BA376376F4747ED65F2F1A5E67889AF38A380 +MD = 75FF7D8FA4B9370B5B81DD88B646A2B5463A8FFA4982FB90C55B681C271619208A1B24DEA32F79F19D9A96DC642096A5AEC2AAD828B38E42CF3D9EC7F12393BF + +Len = 8096 +Msg = 670B79C6030DA4369146A7F14E6BD393DF729B60369D3D55461E5187D4F8E83114B227524EE955F64A2C607DA850235A1B49FEC6EB51EDC21941DCC67BD07412CFE058AF4505C325D94936EE36DE4133773ACF669515DAF4ED87508589CF651784A8C3820A88FBF7CB60E20A035ECD06405B50F6A13A36E174925B4E334E197E1E5FE86836ACBC1AC681CFD42B2F11F74587660DE867EBBA7222C3E89B42957AC4508F09B2DE9C3B57C883138F0D442A050D8AA3023EA920140F70237AB214BE9FA0C452C54B5020077ECC1F5DDF5D959A5AAEAACB381355FD7B493A1A51CE83E6EB52CC61214A02FAFB01593D5730C7058BF9106B8314F1005236E5BECEB3805BAC8FC4308B2007823BBDB3DC25042D6AB7745941B055A7648F99FFDACACA9801094EA86DBC9D2EF2B61A97AD5FB9FF754190A529CE65FE46AFDA3C0EAE0EC98ED5B089148BE358A8ABA6B2F014A5B74547FDC00501DDB1472EF4AD592EFA8031B0A4376DCCEA8714575BF055B1027824F463E8AF110CCB521B2F1363C0F13256B768645A0377541CF2F73DA03AF0C026E59570D6007BAFC297A41DEEEB32E79364F9EFFF6F81B69FDB99DBAE4DDBA46016F86BE1157693C63CBCFE24C7B6DBC2260798A6C397BD91D4ABE0D5C23B43769B0BA28B6B954E66035BDC52DE03B33CA004B670EA6E341B01ADBC40DE2F406BFC469122EE30192138868326BB642834F9E78F51976C3E6EA0EFA570926F47612CD0702EA82279D60E062832D31785933E3BEB86D187554A1675A61FB0B865092E518AD329F38A70E7DBD6025C9925FB0332B5ED97E77134B8684F6F167EA639FE6545FAE58B611922855B44E520601DD0758319E9491A1229DC49F9F6F9EEADD9CE88CE91E3BD3D13F64ED7745280F4828D3A00D66F3966E0EEDF930F563D8E48ED94BE42CE5F48E92E3F2D801FFC464692C10E7300AB0F85D1D44F353C742E20DE3706BBA4B24AC0048EA6E0B40454B06FA95E5DC2951CB4B0A7D1C15A3C12A3889C7191814161C5181880223FE3070404E61D9D382AAE8F236165FFF3121D1B4BBB5B4D9B01282E2663DE39C642839B34E853BADD9E2E2C82FE90FE755C8677DE6A405D1A23492D84AA272AD94C180300D737758E00DA835DA7BA9EFA3EA0C16DF2FD472C1B57E0D5CA40D43A3459A06A3360217ADF41645FEC31F104CA6166416E36597C35DCF0FA43298B7FCA4F5045AFF900298339FF5DBCC1408D703CEE178C6B194E1015DF362B038AFD349610819FAB289AC11CBB3F19FFC9FA0203C231711FBCC48922422059407EA225F8509761D3C53D83437B507814E61206558C8A27E7D55400C64C22AAE33C817324ABDD7114ABFC01CFB1AFC16296FF6B3DBC8218514B83102BC84272D41C05EAEADCF4A0FD9983FBB79627BA8F905E4CD345C874 +MD = E298E7240246FF59F9CC0E1961FC6860B87323AC5267562B539053F7C6AD1A3D2371547CEE171C2010FDD5038D227020CDD8C7A1FAC0761982BA575F369AE8AC + +Len = 8600 +Msg = C595336827259B050DC783F22FF7B033ECC98F9C7CE026809CF388FBCAA29A9D3572547CCC0D5F8D26730617933F809B9559AB20339FA90A525C46A299EF14C9045E6275E22C34093E9BCDB1230198433672EDA8FDA5B16EA9313242ED777E86F4AFFFB4BB8A9CC0A902ADE774AE688095D271CE7DF975F1404FA5DC9ACB50D66D2F93D77E262586CAAC610AB990974845F75820319FE8C507C759DA479AFC5557C32618F65EF7EF36E69F5C893435A592C3D3B3B8A8110811362B22F2D7A660A767D88D6AC9656F0D83F1D0395D477AE9DF5016D982BD6CB972D733F2E010CADAAC4DD20F8B4B798C12C5FCCCB7C7A166E3BD451CE0B83F9FEAFD67AF647ADEB7EEF023CF2C0CBA8C379FBC4A5A3F58473A374E09FF096091DEC2E5B35A4283C7DD96C46EFE4F2768ACE5B43A08DBDEAF95BE5C2DB0540DDF80FC895DCE343EA93ED2ED748FC32435E7B28ED8474EDE0AD449B32739F7D74A37C928070D0C1C30053ADECAEBC88F56C013AD5439AD2CF6A3876364A6B68E0D1FC20906670EBE4E85CEF072FF67DA097E3B6A88F78DC10F95520762EE86E8B26363245555DA07649300893FF36854BCB875AA1924B7A99169E965803B74CBEA05F7C486FBEA2355CA033A77C2F4164A06EDE30DC6244FDB3E8DAF9E73F83544B79BAB20851A640DC83C43C8980A2729EC01F409DA9AF6E9B5B7A6286AE8F225AF90B2E5438892115E6DE72DF2848376490403A543765ECFE2CBB46EA7F0999CB3993CE099752E0999D84C2BBF91A9FBD39CB721F4C6266FEE4DF896EB296CAEB2B3483B025E4BE27DEB57A3A706BFF59829BAD9F11EB75A1D010EF1AE926D5F5CADAD5CB3CA7160A66846AB4F12F036933C90E115702E11B2657031EB28BD1E2793D0D0BEF4234C2B6166A038CF67DD60CDCB86FB323788AA673F2CE5ADC8FA8AAE911D7363FF833ABF619847E78F137FD0959B983E764A59FED29CEE31F2F47715FAEA7F91483A6E61DD7ECEC557CF24BB64CFCC0708DB55DA2426D4330438C42A4FA7D9DC4A1C625823DF1D701BC3BC3AAC584843DE330206C45DF0184FFAE4E347FCE6860C7E0C8FD54BED94CE321D62325AE12F932871A4724677BDDE95E542AD66CDF491F5708FBEAE6A6846D7068F8827400C188D6915AF83542A51A1E0BACDD07E25064E2915EA78C8CA8327E2375EEA19C565AF6B837CA5044ACFC4DF68EE324D5BB8EF4D974368EA9B1369B567E6D5A44573DA1249C84A789442CE16604A94788631E8906398EA3C2B8EA304B11E522BA82401FA2338CE925D31AE37BB3A67160DFF3DB6F7ED0C2DF645BFAA5E276F2CBFC4CA288F2C3B246C67315235C0546BCFD3E4DDC2D6A2FA02AB780EB0FB3491239A2FA1B5EC90A0203DED372D5F594847D279396730A9D8CE5CC92AE34F7C75A07BB4873A5C5EE78268DDD0D8A351794FBD6C801551B39FAD39E6CD2CAC30D4538E90EE24784BA1AC0BA9CBC287151C7D8EE7FF94524FAD65B3DC45265EF3B708CA2BCC5D +MD = 54B2EFF173B406BA663E39908AF6768F33283B8BFB0F48A58C1004C523159A681E6063FE225167BDCB0C902E533C0E535415634910E1C8A69F6249871B1B1794 + +Len = 9104 +Msg = A867330D0C93083FBB159EFEEF907AA53ACE3995ACFE7587B404AF8C8334E32F9D35976D0466659F264826109B23A0DF2056A5479D0C0C5EA5166CA231525DA90B388C43259BA1696FD392FA10D146258040040B6AC2C3E91D1F224E2A2A0AB323B4CDE6EE570B4DCEDA7958D69A2FB85F0D9DAEFB3715E5825298B7D3D8F09268413A11B30A24358755F7ED9DF6F2FA9AE7A219E65BEA978FA1187806386EBA03AF491A1D5708AF2409B82DB03A19D665EC58119AC537CBDC75FF3ED1E0D0A26D291391DE6584BCC0D55B9931537EBE21F42AFEF05AD755DB1AF60988DAED8CB087733421679F8B2D381C659C1325D47688F2771A03BFD31CF8D3C20FD09F603BE7A13D1BA8D37CF492C93724A728BFDBCB6D3E8F0D770B5C260CFA3515AAF7C25FAEC42B2373970D11EB2A18C863D0D7121BB2DDA1B223B883C468281EFFF0170FFA48552F263C308658D969866781F041DA0AB149EB2020892A114A4A7758ADAE9FEBB4AA76604A65B87A2A5D0A45A8096391B3D1C09FC95746C449BAEB2F807AFC8E4F5EFAB2488EC19805691162AC8A3EACA1D25F0F4EB95ECF48C134584125AA0FAFD5589847E656BECADEBFBBD258EFCC6F749E15BA09DBF04B93877FA04EC2B6C3234FC49872C318B302252471705BE669022765FD01D157C4AA54173399548BDE8D8971A8CF0DB652814313B71BC062DB092FA5A5CAF1809DEFA1215B42B800072B2990E6FA31F69D52076AD293D966CBE4F89C6D4E45AFB76F23A5670E5B36FD60D784A736D0201CD2A119107F278E5474D87A97F53B12A8AB1D0191D19EC4103C472D1E7ABE7351258B26C445397AA5A3BA924238B275E7D53B20253695866EE8AE02F9DD8FA8BF4B76E549D9322BAEE58D70BDFE1AF34EBCBFD80AED8E40273727B7B919A28862171CDAE66EC885EEF41E5D237B9C308772DB7CAD7673646A7CC7CD78800AA12395E6DDD5004F0E4D4834B66D7EE7FEFBE4E0947CC2FE0993C3F506EAD51C9E9B6648228F03230F61AD23A708B11DCD328AB9081D102455DBF11A932F90946046D72D9102702114B8965F328D6F57DC0ECE0B1AEF7620640B4F43615A1123B6C3B58438B5760EF0BEE130C5655B756DAB1894FEC4736420180041698DCDEECB5EE98B043A870C9949B1141D5A0920A1EFA60A30D8CB33DB0CC3364C657EE7E3E582A2A49610E8C08B9ED733D4F584EF6B9FC43F62CFE9F69BD64C02B1D20EFE2EA9EBD6B6DCA5F6D9DE62A443D67C60CCE67C47B4EDAF24805DAD5AC498BF1634646D0C34FC3B7C4661EE8029CD4FA237531CFF681213012993F91106084DE20241CDE059BB37A26CAD85533E4C5E8A4C4E6F952162660C0C55D8E266F0ABDD4224487D06F7DA1F26B84D6D30101B535A1CE76355AE1D34DA2E71E244460848212D9076FF79D8A282359B8961C27A157ED6AA5E9990D56B4ED7113066BD560719A431E3822EF24C0630110AB448EF269F4FFAFDCE95FA57ADF3229E5EA639CF4649E598E70F517F8CA03C9AFAF4C752F7D14F96763F7A0EB4E5BEABE5FD17FA8EC15271A509B1BADE00D840073B52DE95C688F7AAAF25751055C8827D1C6B5BB2C9140EDCA4 +MD = B952C756F1DFD6A3F7652E3B13AD5CD293E3AF870BF3E739E2E520BF2545DAE08C5E459147C8589C331A2424D48EAC3AC2CCF1EF95FBB591CC5757182A57A7A8 + +Len = 9608 +Msg = 2EB31026155B7BC3672F060D8407B1622F6162CFE40E0286CF9BD73B185003827EB75CA080F0FA81D9E5893F462124F679EBAD807DF6AD87C809FF552DDFEF22C11C4AEFE1745A457462D346A3E0419347274F0A39F09AC211D79BBC13C799BC26E954BEF11FC7D9EBF0A0283B59498F6A271AFC5415F656F1C0A0E311EDD0BCB49853F0FB52C849848406A7DF6D7F3F32DEF50D8073AD2B1A197991D7D5337ECD5C1472E58DFE42859FFFAA4B858C34B305B8F921AFB319AB0C0A4D03024BC2AFEE1BD4B0F97848BBEE535460144E301334B90CCCEDA137A7E44C44CB538E9A3D10961ECFF2BBF16BEB1A40240FA63EB02FAF248191DAC569F44AA10B9E391416A41A1AF9B0379D2E52EB6C2C1A11018AB951D030FE5FB6317538F4DDA3D4B3871AFE479C4CCB0422301BCAEC7C0D6A12E1A4DB17DE2539492C3C003C3C89C6587CE25C7C7D697A11DCB41764DCDE7372E6EEDAB38B4004EC0805E1FEDAB9ED2550D976C223B0B0FB39FB006DD4AAFE042B0A771E098BAAFA72AA488A40A16BCE6272F64023E863262BB4D0A137F61F9E711DB096DD93254C5E4382D3F7F1914E9D18F86637E5E4A7B7FCEA80EDCA63B3ACDC7C692770D8ADE9AB0FFA87A2C7DD33317DB038C5709BCE686FE1BE395B3292033858A2FA3C8144D4A74B53CFA8222ECB7E0D788F4EBFD75D880DAABF66D888F3D7CF5D1E3DACAD33F3C6E05EB0FFE7E8CB1DBE1403530F1AA44F7028580C9084DD6DFCD7788B94050B5FE63EF079003A51FA43E726897E82EBE160F4F48C9855D59BB94B8BEB6B5492A66B38CFDF850B6F1CB368598443F2EA9653DD5E6A3ED60881D47956CD24F1B0567EDACFE3F87A67E1D90FF6459666043B4F550D9480F4D17FF0B40B71364366B17D958DB40F3B88189D2367572AB87A14B160344BEC8C69BC0374EBFC62FA8E090296E5CB43BB253D04F24E21CC55849BE4CB7E3EE80AA0DA1F8C71A55E1D98A85049CCA30F4000506E4F36F7096D4F88703A6B772690602019E17BEA5965B68CA1D78CB157E640CCE3AFE00A25B6172ECA4CB9902D3F39BDA25D57E46EE01A794DA2FA309C083CB103224964F8914E0BB39F67BC50B4103E41DC29C95041D5835178FBEEA6BD35ACDF51A6F5444CBFE5400439DC70CDFF870E30EA1239FAA2ECFEBACC73B2C104E99594AB81894F4EBA464F0096F4368D8662FA12B46CFFD7EB766072BC145E170BF6459429BEA5845BC4F088B98D9F1EC7B31B054FBF04BA5B7D44141CF26B24F1D80E39B2FC844E2C3CDF5C752F65057C9D4E982172CE094907721DA4967772533632632D7335342386628438DBA8CACB60139A7A7D7FF20F4E20E405CD3A029C3AF103A91BF2046C372C20E99E3B5971CAFD3E2CA4CC7E0E6ECC272BDC50FBD3F0184E58E6B26D329A9380049B3298CE33CF15CD7560E3D3E0C53CB029337236F9D848762D371D3279A8B1192D83CF1FF8C4F12DBEAFA383B47CD3F172B82D4D942D9976A4CF2E3E0F69E13F1D8EDE152938B978D2B1CBAF27088A10935EDA68B2E31448B09E586E9FCAC11C6CB056FC92512210C3A828B549A1CFD3516C4A5B4A59FFAF22D3BA324DA5E92C607A45C189D7482F9CE1FB005B314D6D8AC0CF523CB21B3D86CB21D451400695D1341345DBC9E6CBF02F565E8B02F7B2151131514EE7D3195CCC262EB615A6C6 +MD = D9982CC753EA96DAABB5EE67124A2983C618E25B00B48E3DBBC7A57BBA3834172F11F0F305AD6C0E99832DE625005C6D8D2CB789B016338D2EE88335DAB834CB + +Len = 10112 +Msg = 218A31573465B8A543E293E5A591113E9CCCD2095F519D2B0D7A195A625950AE2FD52AD7D5E5C984E5BCA89F7FBAEBAAF4686DB96826E8E0CDEF1B787CD08129F7AC7BB0E1635F7F52C5B6D6497A0DB6125BF0B2FDC06C8F72FE16F4D75D5EF9620786C85D0C128AECDD362390039E2548D1DCAA008B0FD870BE34E40E66C0AEFCA28BC631B8FD8031FE7A5F39E81D19C0CCA18F1AECBB8AE0C9A4D10B85393CB58412B565A29999CD039883EB095547E8CBF589B086444F0EC302236E6EFC508C3C08873CFE13D565F5508790FDAC239158AE65A23819F365ECBF4586EAAF39A5B73CE6AFEF6533D56D20758720F22E27E2A4BE08659B5B749AC209910EAF590E5D1276B8CE3BCC49331FE73813417C0B1E6EFBB2418C82724607032433A0D720C381474EBA5749305D8FEE1230EE0BEF48286E602C593B9C5434CD5E4DAA36ED48C47BB9B540F077D21FEFF369179C443665CCB98BA0D5A7B8932A8DD7D5DC020F6261E24FDEA9C6611A096BBFFC44AAD997C7BB3EA32305A6AB41E33C55F027D3A990520017CB8CC95094D225C98FE7FFC21C4480967376EC8A22B2216FE467C49E50ED8CCC42FE9BB3C5210B086A9FF194074842AFFFFDA8F4734E354C971DDAA48F38FBA1B7D5CD74F7433EF5A45D0F6CF1D99080C2A7C0DEA6E8ADF51BD59AAA502E75C96BF6D53974DA31AF027843F3AFCC34CE1ECB81B614E9D2C382D8B0B6007CB4C54EC507FEEBED9992DF8D1251C74E79B570EE4C268D8E03CD8573005F17DCE24C6A52C076995E72AB5F72F290682081932E3357F4CF0659F5AC6A0D324C9F52811BB52C9CD0CC858178B9283AA53C523045004B2B55BC273A49CAC17B95E36F8D39C64877530141C668DA715C3E1B2E2172422728C1F7C1FDD3476D13487F193CB18C1FCEF43CCE594B548F164A24D2E0C15DD4F65614C0F0BED2597B453A9349EC79F154E52E9FB74EB55161466617943CC9189E681A3CA51150CE23B3009AE991649C882629F76FFA9161BAA1D02042BAF0D816BACC3D3A5C90279F3994D4A5EED4DA6495CDF9560E900D7A7E582CCB92E543C3E42ABCBFC2A8D53E9141942E3B58115B6B64AA654F9C8EA1B856588D464B9A6A642D0FCF4430B88637206758AF500DAA35C7B652A844EDBBFD908AA93B7929248280DBF48CF1CBABE15ACA02FE6D72BFE7FBAC98A0032A32346F40B2ECEB6DE2BE6E580F89A86E4EACAF0E952E508537566577DD6DE6BEF2FC93559B96E64A2A9F9334C3C26D0BBD849788F328429D3A8B26647C96B3D553F380619AD4F799BBBD56AFF22CE8B61FE7C18ED88EBB5DBC4796BCE01606D1EB762FB11FDBBD3CC6C55AEB68BD93E9F355CF7B07CFD05C2502F0BA792C7703A030C52CBD545F394108140CB9B5A149B616FB6A45DBA59B5118B66CB0949A3DB9E39EDE0ABC2E2E4F76CBFC32D7D98D36D23E757F3C5B3CD3B37916B2CC32E4FB4CE191C03EDD7AB4F061C5F1075E59328EB696E7D000C9149C93126AAD94E30884C976172E75BF25967785EBB5AFA68409DAE873A612A744A1524C2B96843DE61BB959DBC7DC782B42C39171F60C420497DB5F77BD5F84B52CC3924605F534005F8068D24C47EF82ED7CD4E5216501C3304BDA3659906E8AFB98C74F865DAB33A700A6C8839E405BC6CEE1C361A72FB6BAF4B1183FC800BDEEDBEF141A597253AD54FE11D6DB361865DD58825116B534AE08B07586371A3791FC62710C4356E2BE12700DDFC7F3E309F5ECAC4754A4A2CEE266A37D67A3F8CF97C45D37 +MD = F1C0976FFDFBBD9EB46FBFAA34109491910CEF2F2BCE024A60896E80E92E60C50C9935230E5E16524C17053F0C719DBABAE3FEA9FD4A88FFC02D6A2A483F338D + +Len = 10616 +Msg = 4FA3DF1DEA75AD4B9C379206A95FED930000482E5B683FD2B17DC8E7D5C4BC1B73186CCC13C9FF2DD09FC1D4F68034D120E84CA73A00B71A3B46D1EFC6FF88CF2EDA65810B098CC5E651D9CF064E87076D5A871849F3B405D3D58EF5B1F10520A9FB4FC84A81A87B13DBFBF9D8674943E28C257E46D8AD7BE1785F1DC7C9B1BD574AD1DDA48F0255C853D2490BD3D63DA22A8369CFD02594999A2EF443308FB8298266A11EFA177102C75DC674E89FC9DCC1A0D3C863BC26141102175D2678EB6E13D90BBD9A5EB89AE8C0CB47D7F340D3D32042A2762BC9BF2B40EB40E87FB42610FE7E357051F01494704FBFF73321B47301A0799B7EE3FE5E62200F397A61ED4509A62F7106ED0EFB0ABD6AE9E4A1FE9B02C092DCDC75015CF602F3B9A8988B609E6C0D1C5C3E219FF57875C2EF01615F89447EA602DFC94EEC17A398C014BD346691FE209A002771DC8164422CD166AFB457A8B3071282178A3EBD201D9B07B27E711E7EE7D33AA5210ED4E4E92486775D14A6CED092E34A7AC82670939948FEC149F9C018FCAAD3FC597D315713F44FC5E1725F448ECAED40E8D841BD02F1E81C019B08F99412E360C0BD378391C67D964B47F50C26F0A483ED664023616B0FC9AFE43620DBE9CCFE070EF295C049EAC754C2123130C6B2C0232F6403AA7F0DC35A5999BF95D34AD612234C6289277ADB60E4F72EC2DF570F05395B3BE8A0A3C78B732821AA08927C524E15D65F66A3DB8C1C96FB70BC0686AAC310051F469FC5EF880C0F66947C1C328F97684EA24CBE63BAED8D114F40507C2901034E6AB3893F366D53F1CFCA309309218CABCECA4722FA9CCBC7249B87C12FF8397F40487EB00082E7F551D27E301C3BC7B5389F7042534BF7E692DFEA4DA24F7C34B8D2FF145F54B517FC97134EC5AC2CB925C508D7A6BD01FE7B764648274972BF08560D30802E0EB7EDCC57AF4797BBF92E8688268606B0F1BC901FCC22136281665EC16393FA9601C4FBDB18CD1D1EE382BC07973903E91FFA87399D1141D49F4F0C064ACF3AC9897891DF10BCA0116F2C3FEF180FE6A8E937C478F2EF293AE9186DCB1F76B6E48101DF64E57EA7C64C5C0025E221C8F5CBA5CC92D9CEC628140996B26D17F439B780F59A999301122F82D0495F8AB5AE1EA5790F45E992DFE00D5F82A7FF1354AEFDCEFC0D2D1731D22FA2B75AFD4FDA25AB194055FA9628381055247C8C7587D22E73C60136C4282452D47AE03AA035FEBC26FCCD42A1CB79CF866DB6418A49FD8261E877DDBB839CC39514DDB87A8A40D795532626FEA4A4C35D13E028F9ED1BC09B06BE999B8DDD2258AA0596BCBBF72AF67E10BEDD58D599B8D577A583D676BF5561F80CE5E9528729A92DF578FE75DBC70474B75747A8D55DE70E57BDD62D4344DC2115ED4DD62F1FC98BFA1E7421FC0700025C46D0ED1BEF35C3B778563211B9FA9E8BA4BBCBF01C2FB626AB7EF325CE9F468DF2CACDB178D36557CD85D542C067C289E926C1EA2F20ABD329E984168BB6DEF1DDCCF214DCB6A53AFD462F0E7E7A19E8C88F049244125A6D7DD41E58BC9B2FF7FA2478DF76AF73090CB1AB59E388BA20E2C297C967737A1AF61793B68ECD7439444C48E28E2D09C48FADA5E0D1D15E5B340A52F8B3B854CCA479F0A598445E14F53B3BA36891050C79673DF3E2B5825C955A29E5C9A22F3991D0AA785718CFEA1D2385F8E47E4A75ACBC7988D0558D541D71C4E6C5F1CB15B60CEA0C34A67BBCE105D7A896025E0254DE7D7AF724C9027D44B8642192A08AB8E1EF3046DDA6014DF7F4C9E63C635E48AB2E70B640D480998EC9357E665F99D76FE5529EF23C1BDFE017C3A66CD4EB2DDB42EF85EA0CD65534 +MD = 7AEE30930355718679D387DFBED08EB700B324BB2775BCFD11A88D37AA69A5B1B0010E8A5C38BB20E5E5DDCF5BB2436830DCE8DA2048197756FC85B20C16F0A0 + +Len = 11120 +Msg = BC259972AD109BDE603999728EF0BBF23A911829C1C910F0517AD7584AAB80B27D4A59523DB11EF7B86D73E480F82699E44E2E281172D41CEFE2A15AAE50E13918EFB63DE0785BA415C7DA3746A669C7F6ADAC8C7ED04FB5F8EC70207615C5B6157F3BD9AC31478F5005F0E8DE1139FDF40D2E01DBF54973F7225CA545AD7B8FAC8233CC579D4E06395BAE791A5E49838A806F69B57858612063935284F7AA2E3769104F13F0D3C531A3C766B1F008DB437A2BBB041691BB9377012A9A7359BA410836EF7BA949E5F56F70E83C99DF961CC3F49D4133BEC543DDAA14DABAA54FB6E5F5263B83DF6863E84179722577101CF3F67C08C753C5B079DE795D2922FA21AB23E2437A64C62AF634985266039F7CBF1E1D762DF49F12A4FF7EB9846E8E5DCEE559084F0AD175E0C6FCA984B168B7512541B7560B68C8AFD02FECE115F0E9327D3D6D57BC28C8F914E9A5B31D822B48E0E4865F652E9313F0ADE5665229631923A497D65E701778739C5842A08A09FB25683C38BB17EB95BAB4B358EF5647BB29D3BF86E15868E02DA7E0229E8213071A24B4CD373266563E36464C8B245DE4A62BE1AF9C7022F6C3894DE6AD8B9B17A6DF84AF65466C319BA43A5EBDBF24833CBCF17410E79637AD5B771B21576113B851BB73AF7BA9FA19E5CD7A5369068A51F5D6A928A8306829B810F59CDDFB42C3B58F6B0926877DD35C4173628BB554C7036779C000E80F93D26C8560DE78057EA74EB12230C8310D577473D94C2DF14577B4361B307D8BB6371BA7B3F8641488B1490B24DA9CEF1FFC732CAC6F9FCD69728C1B7B4E72E8FC5C42B6687F32FCF7B3A90A460E302F3A4E33B57B29803C611AD93BE3E6C33A8CEFD2A5297C28249FB64CE4C1A30DC1F8670482CF6E220A3E17CC95ADB289192FFCF0155F071AFE473D5BBD4204FB4308CD5CE0F13088A2587F10362D86465C3AAAA730CB82933F56912BE62F78BD6A413BD9842D71F125EC8A07442E1BB6AE8B9AADA6BC47CC2FF79B680F832685184FFCE05EF128D9D6462CF7728F2E582F8BA77EFF16085C262F945E3FB06B238B4A5345D1F83373DE40F95E0AE3C5F62EF4BEC3663688294F64D15310B6CCF4AAB03A358B0071114BB368FF489A0CAF7B222C013DD5D9AC39C736FBC2F7EAB5B4F5DA461C8E65D959140BDFFD2A871858ACD3F9DDAECE497B44565560FA96CA9B761764C6BA9D0888CF522410B605567D1FEC21264AD40F1CAF60F79452CA4F12616D6AD8AE73BB57112F6F77901FF444152BC287A90FD2C77187D50DB1F64801B8235FA410563C6EB4E5F3D3D285C1BB2203C618D1F4DF274F6C47A0CC6A892217C608CB3E9DA3E15A5E059B6C26CD5357F9AE1CA6710E2DDC79B5475B42E8DF2D9D6807692135B922611DD41A750B44BE0E4FEEDD632659BF0DAD6EEBE9FA9236E84AAAF278F69DA65428283B66E433387B3A4FAD8032175E7E9C565C95DC94A53E8C52B3BD25A66AE5C6975F32C45276D6DC4CBDE155B2B7BDB7E238D93F01B18BFFBC301E0A8A7036A70C4A656C66B9A1A85B51F690F271B7EE68BA6367B4C512209FC24CD286F0CED9F62572E22C5C6EA48BB92137F7B819CF54F62E4CD1F851F11D08CBD09AC24A6BD3FDDF65ABF05CB8DEAF2B94C7A3C8CB9913BD6FA9B68E22AAEF51729011DA21215571B39920FDD470CD2B4A0BD08C405578377C889418A87DBF14A8E4FDE203A2AC855F18DB0F9D910CA41AED5AC5EC7D08AE7F6ABCDA0646997B63343B35008EAD44CF3A8EDF0EB104BAC1EC3BA1DCA808530332D9C249C6271D25CE33B536CBA3D2F8D6C8B6A0DFC830CC426FE13D69ACBC24BACE7CBE27318ACBA7FB54BDA4104D07561B5BF0D8F0670FE60E6389B2D6E96924EC4E4BD827473668D4F28412123C31CF49912E73AB8F40CDBE3032BE127F36AF2DD75AB2D3DE8D2E017470A7AA3CBBCAE318B20D +MD = 6C1B14A6A30126D1AC4C84C20E2F1D14CA938B19A0FE8CCA8116CAF489B0FE4359E592CFE76255A7F8D085EEB655FCEB127C12BBBA74B1092F37BA1C9BB13BD2 + +Len = 11624 +Msg = 824A155D7798E12962F4464EAD9AF132A226DA4DA6E899629EFB938EA29A86937FB144866D8C7B2DF9988604CED96892DA482D4D0DEB4658844F41835F0D9C20C796929C83CFB49113F5D95A7B66D9116A4697BFE335BC83629678CD5DEEDB7C9F8F11DDA079BDCE8C2719B6CD400C02A6A5654F19B6D568473D37174F62AB6684C9C919C1CFAF35116FF7AE4F5B0F0BD243C74384C2C9392F1189B2AD448B9D7946C2CCAD04D2F20CB8CF1F9590D1504B1E1B1D74A04424BD27D0117676B8C823022858A4C12AADF21FA45C99FAD60120B24FE04BA3036B80AC5F46E983032B6D78830F51E65A62310B9058A4DD3F3F8F90ED5311E1F47987E0D410F78B2A76580FBFDDA0F944BBE466C8A8170B5C77E8132CCD7D5E9946A5FEDC73AB9465E30BEEE9CFAD68B70A2176393AD8A173CD9AFE8F9B33023E852876824B720365E688B3FB4BA925040385559FEF7BDCFA7DD18BBC31B24936557EDD679B502864588CD4BC270099A30DC3B3EF7A392F3E33E21A53FB83756EE371A1986930C4A34AE1301EC44E189E23ADB7EAAA121C6D787007A44E998D112484019F7D7D8E16985B039C8CE01EC8CCEFB647F07F9FAC114BABC3D831AFD6F08597222A4DA8C4F6CB22C673C0437C16FCCE7EEB64E7050AF9BF41E95D3A0112FC049D405DF0E322422072A16DF248E10AA22EE5F198C67C59EB8198421DA855DBF2C78B36352B1373F7F66B5A5BDCFFD44C76B7CDF56D894187DE7BFB05C0535C3D2AA491F37D35C3177E0F312A9FC7F1C6668AE0B6B4B6C195EB4AEA219F147A9799A9C84449D7477FCEEAA0ABB836150487ABEE7A1902540B905E998A532ADD68B2D15A1FBB63DDECC54C8C206EE655353C7D1DB411BD33419F6F905BEA567F8D67B5461F15ACFB8F8505CCDC29CD708BE679238CE30EA3D1AA183BEFC35938D755C50963FF9C89CEB28764A7BA8E72A2D22D168172DC5D91F4AD5980B12474A96DB75E1F7A9EF9CF1A0318D18B01B108CD165A3734D671D436708BA030C1E860EEE860B40E61EE5B72A4A98AEA24AC343BB6D4095F79FD9F1C8D64057B6672821B96F954DF23CF294F516BDC1045170E162BF58E75DB11288B466A4B83125F1B54286F14BA0B55267397D9605A57F16EC357853DF6F3C8943A73F7D20659EE01B3CF70BAFE432089BFD9DCE1E31D441C174F42D3BC04084705D0DA308C21F30875D68F8611B62F49AF1B937319346DCDDEE9632F5C7044107C3C5B49CD59169008D497C4BD9CF2123FF7636A5B20501BA368AC6D18A32BF798419BF93BF7CD7B1E998471D4C85A2BC50E316E89D17ACF327469F1F45A68FDE54714CFFA976D488989F65FB4E8F9F85D43010F982453223BD060BABEFDEB9DC10DBD28CFF842366DD55170C33EAAAFE90428D9E632785621C5F836D118C4BB97BD2DFC2A734C64F614A9FD3179512720C9511A1DF29EA9792226FA5D3B74D0D29D4741EDD5821904F52AA7961D303B51E54A6CCB80BB851AE57DB1F97B656772897190714A5DF7450D7EEFB982188131D81C6D273021A2AAAC777B0083F0CC363E619A1FAED4CC2CC7F28E24F682C9F9EED99E09E19A8200E68AB9DCAE56AA92C99823015F82C8F90A40DF0F729888C8320A7F0B1E2F6155C82AAD1B4ACA0870DEB69F04CD137B556B9919BD920DB20A1C1DCFC45236E6E90FA3054A8E29211BF76B13800F3AC4657449C89FB76D32892024E6FE7664BD23038457FA00B1EB88334F4C8AD05691C8E3100F2889C0E96A327C9B36DBE6D9CBFBF9DE93ADC8C17864CEE6D30EBF0BDF8F6B9D65D2D6471D26334089B40C9B0EDCC3D0DA4710E76B28B392F7C3BAD6F34C776A72AB211B720CCBE60E844CEC4832ECB8014BB236E0AF9A39912CE12A5386D409F5117C01478D75296EDAB33E1C5273718709487AD0AB5B180A2D065C31DBC1E0737D9A800260C71A0244F19528E79072D8B8322225C6C6AE8471068BFEB61C578BEB30F9AB6A173D70373D5F28E7C353FE723316143B2A6EDF78EABD60124138B607D9A09D6ACE70882D4303EEF2C2 +MD = 62D9FF2D862FD2C6DC57DC25CC51EFE52447027B9A34F40848C2133370C1E0FDB5A8A08FD19541B5A67B514265676BE14CF71D19F66F1D8ABE307568FECA3965 + +Len = 12128 +Msg = FD76A3E9E0E303CFC3C2A84C43D19B6069167F7C7094BB379EC929AAA4F19E2E1A77E312C0CB08C544C95EBBABB5988F451B01CF9214B37C341A527CA584840111236757108FF138E364D93BB76629C095117FCE458EC03B87BF19F8C9936B3E1C4C79F9375815A658638E93C5102C66563F3A372E6348C6C1B9DFA6A4E427F418CC65EF67EE5241A85F7896B1A0E941453916007C67B47194352636DF36E2230F4502B2569AA8AFC79C71B8B675805375E1FFD2764AA8B8D58EA9C9B580D489B09EFEB1D707719F3AA99C447C112CC77B3F833989BD2DF98F32F068B9C0F7EEF240719817B11ED583C82CF3BBDA268D60B03FEE05797E3EBF65C153AC84E899E3DA3432880F18B09194A1D170DC23A1D17F53DE6F3109CA8A88E1390F0D49902A48520B9283C06746A55B041F4A7DDC0727A08DD5717FBA5584670CD0AFC7A9597749C718B8FD11222EC41506505ED3DB5B8288FD234E0A9237D6715F8996980D985587A8645357B0F53C480F72C8065F5188A0E132AD315F3E7C12A854E93D1CC2FE9252FBE68B3BEFBBEACE38531E5BF5F2C671FEC8EA58F5E31A4BB05B8A6EA87EA7BCCAB50CA65FB2A2F312F183B5B1504ED04739BA854AB436B8FC2E50C3434FDFD50682FD79B19CBBCE2C76EC1FFE0AC9E54C2F9BF51497AB95135B877328868D6AC2B7F764FEC866CBB6A53F3461221240F1BD6D99C38DF6121E3751CECB1E0AE1A02FE054059B78DD96FA0CB3D1952A80B8AB550EAA82D7524C02778416E035561D31AE99F2EA52CCD10EA09ECD6EF244576D18E3C12110E6D224C3D296A8BE95F47F5A3150B32F67B2C18F5BACE76DBCF9F4A7F58A818757ED06EB3E5C987B58AB40016BE4666CBA843BA4A09C579B2274130A8BDD7DC37557CCA365302AED9CCF465F3F970D9799646CFB9B2B69218045F6DDF5180D4E5D36A0F63FEA6B71E60C200F3418A8FD35C4F2684C81E3D715362061DE34B4AB7A118249D4E74EF7C6898073014120FF2D80EEB2664E47C2349C44905396F0B9CD0EC343D61EC4C6657AF7964CCF384E83AE0DF1736435F90B766528EFC69D9AB204D2D8A6D79D23886DE971852CCA9283EF87125C28442EB082BE6FE68F45F1B3C440C3F93BAC49CA855604134CEB4E968654B4C00D1E7A81959435FA36D0DC43400A8DDBF26EAC8714223B4D55AF42E75D3ED387E52E5222B3646BF018C79486789A672BB826841745F4769A6BE8F467AB2294CDECA2D974E8D3FEE417AB6D02CF16E9EC3FB22005A632CEBD64B5817286807405B9D78050E61B5D975989282D7DBDF2BB81AD2E15C07F9AF22DE7B80977E3442C1F119312A20B461261E8B681CA612E7C7A67A2076781600F057A6EB3F8A0654FB982771B6C661954B66D96086AFD110B0239E0BF9688004018E418CA2E3DF99DF01405508B8D69CD6A75A7FBDB52D378C2BF798045D02A9DB7B1D9D275FBCEC5CDAB923C57420AA26C31C0B632D23EA2DB8C193E55A1DF6CE8FE610BD91C4BA81A41C80CAB69744B8C88554F1FE8CC14A0C29467D7AB4840AC9E861F8A24C953D68CAA583291F1BA8603EED2C843001402AA2134A067EB6EE2830C4972530A5E4E2628E63266A51BB3537EE48EBB6DE869997943B08511ADC9647E8224D08DAA3C009F4D65F0C9A1AF4E8B225A30DABA352FD5D1F6C36683AA4F44602E32BF04484A7CE88709AAFCE1F93EAE095FCB89A1E32DC92C4150592ECFE99AA59938A211FB13733F30ED476BAC2DB34F5F0DA67A609C49CF3BCFBB90E1A7974B33D0252C5DC18E5C67BF5C0133449936E387B3C35823C9EEB2E5BF6337665AD41EBA1346E74362D3E5FD8636BA54C4ADB75448D7650FBB542684FD924F8234896569AA466622A53C042CA843ED6BB603F2D7B7058DFDA13983ED913ED565C2E1078F6731C76EC796CB41297CBCF3BCF442261D2293B813703AE9926B22F55E33AF4049063EA443D230AF25597CE20827952749D020FFF07A58AED951FD9CA9B2ACB15346D513B3490E2C1294605D91EC67CC73F76A38FFBD86D79C55C86515164A8BEACCB386E75EA181C76233C18549D41D5EF5F4DA25809DC71B5C3F83A1DC31D4D117A5751D77380B5419A2A4A8CFD2391DD97F88C7C8F39A22EA0EA3 +MD = D23B6E24247ACE200AAED69F425B65FCA378112A2B53BE7E5912522D95A25ADE40F5C7CA9F7CB9F150A9FED4782BDD3FB863BC02E9EB0EFCEC44234AF7663771 + +Len = 12632 +Msg = AF033772478B6C7A405906811D787ACDA7B775C28EBFFA06AEAB37EE363476239A4FA0AF7AFCEDADEB2DED7CA3997C82A54D6F0D1016C4BC2D182F6116232686F7B5BAEC00759E7B2ACF0A2F9DEC55F3E3C702F21D760A853283C75B1EDD75442E30DA1DE74197913BCAAB1A619E44C65F410E9B8F235D68D1EF0B7853AC836259C76B4A84F402C2E90F5879761351DD281E19219E274AC8D76589153FB5E687CC0DE9B543F763E632A465BE81F2FADE0FEEB96D4102BCFA276D7C9D06945CFEA6C82CAFED680BDD37F6EBE9B8013BC2E7DEC52A87A1C539D8AA5AD525F9405B1DB1EF942D4E98F40A01C3E5E555C92D18F36EF4DD8CBB5AA7207FEFFAF28A5762DDAFAB4C841063C64F0FBC32AAA69CC130C9A2ADD78C795F5E417B57263909526D2A741276E44D05A3C175B51FBA17FDAF7D83EFFCE3487159CD92F40A19C567DA4E667A008C5AE8E6E04F8526642CB4A2F4CF0A07AF44A65D4F1D6701D6E33BAD2B1AE2BC18EF4522F64F285652A1155487B8A49E9B0EB996567FDEFE07B8EF97DA55C493448FB0EED532088ADBD355E4966ED5996EF88CFB942543D5065F8826F85618DAABA9F1CEAE1483083CFD5272BE07FAA6270D51B7DF74258FF62C20A8B692A4FDF0F6955C1FFBB48C5BD5026BB257972A81849DB7B4EECDAC9531C2EF50F915119086D8E3B52191B765D6E38DDA2B125DEB8BA9BB841460B9755D1FE38C1765B72EFF98B93DFA87E0CD4787B74AE335A9A61B934E258ECB764284F0715DE438E5F2F59639021EF2B21FBF49D53B635F683E3711A2AF1D1E2555F5AE93158BB5F6670CCC0C99D23CCD4D228F2A6374BC7AA2C321F03A8ABB4D9DB673A63EA1CE5D5BA5133AF9EBDBCCEF97016B813A9765B9AC1EB51A93D7760B36751C766283AB13E773A128559155455131B8466701F6C16ACC822612C1BE81E14F5D9BDF8B9DCBAA7F3E10C35634004DAA506A26878AE7510DDAC3FC9F8DF0F52E0BE10513D641FDA741FD265F9E0E3DEDEEE45513D188445890C384DDA51BA4CD1AC63137550B595FB2C3ABA5B60A798C4418C9402333232E1A2661C8977DCCE606F4BA89E83A1BCAB88BA6F3DB5934C227D3CA820063A1DC2EEB0C1822DD2CB89BAA12D81BEBDFFBD054DBC4A063355ED3825E8196CA04D6D12D8C8C521D633E2F214E846853DE5D0877D41058CEB77545E773C0B5D5155D4B61B4CB060DBA7DFCE84D3E25F39EA6B95CDF83110E9C1051D746F0183C01B06E311035A28809F4CDDA0784D7903E132DE91E0F426D937C5E98FF8123AD11AC3E1133CFA6298BE0AB58B5DF55D6060D5163D847EE5965FAD60A8503C3BB54935856544D57404215FC843D41E5C73F1A8E500F0BAB3FBA3FE55475F89A967E7E07ED21D6D821A797A9B3E9334168FD6D1F19F312A5BB69422CAD506851770C3897DF838303B2783F86C8A506EE326EE4D8C492CD1150F4771A533440E74D7E9080193F6D4B44BC26658D8BBB53A132AFCE1899224BCEA0375A5E3E563FC16939BD3EC085D2A5364FAF11EDA41EEFF44409C5100F0AC2EF60EA8AB98C35F9FD65FA61D6A60AB0C35437867221DDB6A87702ED44E115BAEF16F25CCE2B11B8062A8C2A06E34C4000EAE881BE3671C566B4C2B52BE284FA7073364B7E9A6DBBA8AE7EBCF6008491C66C7EE49ED426E7A3EE3DE255B0B24F88A2E738177CF7AEE4FFB5F2CE4054CAB2378B0AF8A5A2BE2FBA43E5859436A4F321F8522C7507538B74D0D3E2B1B94E92600D7116BA319D886824908B04803531914AC7A8153937FCF2085968A7B924CFBC49324BF0144BE37FF39A235A151873F9BFEB57366BF9C8A0A9DC9C2E847C7B87D644A0BCF091F68E463CBB51660A0DC7C002765F6D15C446A1D84D625BD10CC97B818066618482803EC0C73B66BEE4FA71EE72ADD45D5BB671FCE5B278F7F19D909EC6E92019CCE4418796ED5B97E3A7D9006D2C3D82287C659A526DF519C11B21DAFA787BFDD03F4A2ED832EFE8C9206B59290CC3D1EF74976E38B05D2B9AA31C18E66CA7FE0CD803EB583F4A6ADC0E90A521492EFC83F9E51966FA69684EDD67F4A111FA894241E9DF30FA8D2227D7DB2E79FACB7A2D9B94D7D5B741CD9224F96155BE988E03205D2C47541A001E2A7EEEA3BE70DEC19BCC6125DC9DC0CAA94FEB638FCB605A46A224FA3BD180F6761D4D9289DB2D2E762699583F0B864D9081611DE2B1C032CA00C7 +MD = 27739BDA639D107275FA9F848E40F93C20A88945A62A15218F0B26C4A537EE429C1F0D06E98112384DA6B01FEB15806052B5C835C8296D75198FB5995CF3DD79 + +Len = 13136 +Msg = 8F1C1E85393B9C2A2B593363DCEB818B102D0F57D4E1D31BD33C034DFB1F17E2A9DB960D70D2FA0AAEBB7B56C809EA067E93C449F4026A258AC04B6CE809A734D15B7FE13E4FAF8F2614DB9C3A42435FBF158E3E6CB30AA727272A4E323DF21720AD65D72B18A4A6BAFF9DDE47CABB343DB282175D85FF51B34A197752138AF3A017D19939DF728A09C8F28CDEF4CE5FF540A6C9968F4635D8D3281F1A5126FC3A7ED368DFFD41B5AADFAAFCE5FC069056854A78054917D39A34945FB5E608FEBAC88F0A5360A524D9C887241D2953BD36E46DB75A458F4DF4940ED71110334407DD0008A6DCAE7D13FA5CBFCEFD6667BAC657DCBE1DFBAB483DAEC686AB870EB60225689633F71F0D3C4C870BFE6090298B372B73D5ACA2225AD724200CE2400A77D4788EE6D4B560332A020DA035DA3D520AA9CC52229329A81847ACF680B3AFEB2C1BC84B06800AF381CDB9AA0A687C50D03029A0A6B5641A8D3A8E40FD9318D3C5ADD51A4ABE661BC3C5C47D38507A8AA7D6275DF3082633637E5700787714FC977698EDD2218FFD47A81D428B0FD61BE651478DF0010DDDF9363E93D8B37B3D8E1B122B76E15985D9F4ECCF55936D918F0CBE39734A1C41B33B3EFD34D845DE5526C183D918786C8ED3FAF1DEB92E85CD6FC30421D209D6CCA47E9DB5341251E253E932C8F08628D2115E565C2D581F8C8955D71936DD505E8558DEA1409E84EA31BA5355D7E2D011F7DF83ACB9CE0C6DEFA51B16185A66D3D6D1D1D7142168D9B8A0832FD2ECADAD64CABEE8C79328B9513328FD4C7006222685AF6C39AB5F081EDD49154B5A25375EEBA3F663F7799AEDC40FD74748BE956EC66F77EC97457D1C08C4A03BA324365499D8D0AFE4A45E7563BC0E4E33AF704E7CBD8F85CE14FE1F84E1BBB871D361D46E0EB0B044D4AF33B8672B68483E7187F1F89BDE3DA29C405029DD3DA3B2EB8C248E3235CD8D2EC17271BA5563A09F5DAAA5E9D118B1E2AA61D232F4EF928DE1A10C786CE3270B889B6D859F35EE00DA10FBBCDE01A9CD472717E1BB35DAAC57531D44C0B62BF86063BF355E0C08E3BAF6499FA0BA8EA96FC338507B675D1A31008F97987B2CC366E715F43446F9DE4DC8C0AA7D81BB3B2E7BA7236D317B320C934AD80A7B17F0F591FD9DBBDB1800BC377B6B04DFF1D268F3F6191D3A37015624A8B4EFDDC1F6882D6679FB0FD92BFC9526272CD6A2CF768E6DBF3FD1732F6B46CD4CDE5D07B7AAB467FB8716E41CA9B8EA9139D09701736B038D25013666A8DBE63E0B60F93F6E77BD27055984730A6CC5791C6B5585A1A51F787EAA42B3DB7CE6159471DC5454B7313ABA20F2DF104BF98862340FE0A7043A555FFD07DD1112F9C1627D541A896BC66E78A01AF4AC308003CF970A5C11D2880E395BD92D455960446A67CCDCEE71CB6E76F9887CEBDD1D5A60131D2BAE7531E14F3E04A4EAF5BD366D4E1710293189131D2B9D8F28B8919B27F54A01FB804C2D1A66B49366C59465EDE6D6281BA5656E0BC14578ED3AE2189B1DC73DB53A217F534E27543004AF45451E6A8FB964B3FA2C8AF0144A3B22CA3B0D5F382417139DD8B1E62469ACEB1781ACB4986D9725BDCB8BD821A2C4490A6E75FA4E0540533C39A9DCC8697C169D535EC71BF1DB04A6446CCC07CF34EA440B4D45CD8D664A8A35AAE7A16FF8AC4D2360D400EA19E9F000E60B92229C51BEF3090FFE9C5461FE79D395EECF4C11AA546CA00CDA99B5CD5CE4F41E0F00BE6C2AE3C4EEC7DF60D7E760CD3076ECF5FA61DAC163DFE102E3917F692B36CC1BCEE79FF8FDCF8E18AC90D4AB0069CADC2EE6E4A92E52970E63152E77FB4A047D20E33526A4DEF63AB812A17F09065E60AABB7A2B898CFA10A35B7B7CA9FAB1583F357894CCD8AAAB08C6D9F6FDF1B8EEE4D938068D35B3EB0B1AEAC3D676CA5034448C6B07DF0C9E105890912693A84C981C636E7FC8D31B19FC2DEB423F13E422594BF34F74DB5AB0806F9F2E7C0F224F37E6C43CB192593C851A7CC1902741B55B86365BEBBBF1188005105F492D43E0A9A07C7AF5C605A3C0569BB4052697775A9905C7A0233BCB9699E6BB0982EA7DC252404451CE6DFD1A47C298C5ABFFA15041CA28157FCB4F484772767C025D0C4A8E89A1F59517D72693A45D13998816698EC21C640EB8E9F75D401B8118AA3A79F65E2592B50611113CF405002D6162540A0BA003D409C1D58E81D2F4A7175747EAEC68CB60A854580B7E9930524CDA26E9B74C488F98BA2BB08B06114B8D1F24B51F5B7ABF7E456178ADA8C77D9CA1A932F85DF4DB00CA44C483 +MD = BCB9E27B760FD6E3151FEF53AED0A9CB8E43C08A4BD54FC5703400647E05C006010DDDA0AC7AF964AF4522414E13CB4C26CBA71C13F3346131C93527C402A097 + +Len = 13640 +Msg = A8B748DD6959FA8770AD6673B8E70E35748DFD0C3BDEDAAA467CE4E502EB866D732683CB64E78C523208CB67DD9A6F3D3247F5B413B1025A33B28C63B42802CF6D7426DB5C7A265FD820610A14453C2800B1F5D77671B15BC792C0B0DD64AAD3532721FDA0AD87AD7A57D199DCF5B2FF0CC84A7F744EA7369E6F4D8F0F77DAAA7DA0A8255E32C473D981FDD4E9C855282BA0D58897EF2329655DFAF87537CFFC25A22AA0874EE8B54A370390601A5492E7634FEF8E24ABE3203550EE8788926F1BCB8B0DF70A0630357D991BB8F45DF6A03A17C000E97840FECEADF945165CAC4941CF363DB49891C86A54FA81B486A563492AA01F769A01BBFC7E8697B12B28CD1FCF608B0DA5EC7F5B65369364CB752C83D6891B7D870D52B3B65C3696043474F91A0345CCB7AF34CD5B308B1DBF2332099F671A8CF4D809E4605628B10B275FC5BAD4CAF299BB5801124BC86359AC83B33BD84DCF6D6DB41917A9A217CC682AEC1859A427A32BC1B11FFEEF825DF451C7CDC033E9148779F753CB4C05674EDE8EDCEAC80CD23DF372464F039000FA3AA47D5A99E14894CAA2FF5B90057D3F411B1459168A85C284D5C2814811BAA7700E5ED96E4517464FF1757811BF3691CE33D02445980BCC40E24E1F9DC6F9DF45342CA4E14E013C1FA06676D582555ED55D069FD2DB267C92DB577A556E6103E69D1D73335183E26ED88A5EFD87EBDDCAA5927B97F094209DBC7FB337DC0F7C98A975A74169600F3F1A1C7433ECFC74B319BA3DD8EF69FD1CC6CE83D1B4A0124969F6CD24B7E3D3418A80C735B4F7ADD091882673F01FF20E38461A2B389DCA81E5E6CA2213AF194895139CDB02130C1FE043E58783C130C36BB88A9AF656E406DCA114E96F2FC9F00EAAF5CA9911708A4A2E6CFEDA2503C49B644DD2562637134CFA33C50C62199E99A8A2ECCCFCC3C6A1FA62BC1AD9701B7C9CE14824451059414ED52AD36A69B3E0A4FB543F40099C437E89FB12F6AED816C9AF7778D91ADC6218A113AD9C9C0CAA4E602806C4339EB456DA4C092180FC8A91FB9FE305C95CC4AE5CCB06DDC64F4127906BE28F7014A9EE2EF9F9F075982F7273B1469DF14BB92CF29BBDB487B8DDF37F5E10DA60C70293448B7E8C5D92148FB466A28A16F2EA8A3FB12C8E8678BF4D139AA2DB2F171122E59705EA3409FDB324FCAF27909A66ED1CDE7B92B949E9073ADE4408E9D5537D3B1436853A0294B77564B70B1E43AB13327D617E86971D009C7DC1BE0337B185701A0521DAF4940BF5A151C6D2EFD077A3048EB7B37ACEA084E3A3ACEB4F2F44E4B42E9112FE6727F5B65AFDF28252F341DABC9FC8C8D5DD2FA6F263F95C00665854217E915D842CCB2F33310124E5B5792BF0863E2C1084DFA511387AEB1AC404D32ADB5C0306EFEC84688A956C7041C724E8741EF49DE2772FC3E174E02F81B7D970E5012913DCCD2CB0925CE51D725E8900BA589A970F19B558CDC57B30A7DB60FEC91AD0005B0DEFC05DFAAA2613095F53A478459B4E89170FCBB57F60B2801EF87F0665235C004B8F61A166DD5885DA1B04768C08F9EEDEAB78A1D7BB49294FFCD134522076C3E0B0A2A8FBCAE3D001F4E1DF0DE1669E533F4C9D95CC2AE0C42B67A628D0871B83CC599A8AC4828FDA49EC2F9C057CC995E79EE5FC51905BBEDC756A7486E79537B559B49EA57E87406C20EF94FA73025FE16AB588591D8E89C79C3F914F97AB1542DC6F86435F132405FF49463F6B836F8351BE8C1E21DD14B619B5193BCD04470EDC4B863174E4F1B20EDA5C3DE3253241D61CC17F4FE1DD6AB0A7CD102258F6366402B44DA9D7C415ABEA13411A89E77906DED43075135787820692A3785D09948C5E063551F51A0B8FE7BA9A070A6E0648B07C9CB99BEA7593393692EA6A365D0B2576AA030BB4CD288C42500C4297CB073B0F7370DFB7AADBD8569E51ED6A9E74AB58E647879F7A537DD1B3E4816AE90F6332A219439ABA6C9D7722A30C932A2542F257111450FC270971D2E6C1B9EBB34B786D215A01E89D536558D904422D8E5A5B3E2B2C54DA191B947C48EE0ED296355BE52ED192DA910CD47D8B4FE7A29A23BA2FA23B8C6CBF4CA572B9A72EA9688CA0DFB2F74AE6D78C2D96748E587D2D1F5D3C99AB0D98DF949456E067AA02B3B43D2916F051D636F28FCF971950E9D9C1C0C94B894EEE76E9AE942283B516C0E4A10527D0F120E15CAEDD19546ACBF1AB85CABA764C74DEC2AD190570D7D44B5DD637974E8BA26B60F0A408B7C56DB73395C1F1E7606016B661119CA4689B12AF8F608A1810703CB489BEAA12CD72CF37BE43FFCF2F7F8C21A8311A527831BFE5B7CF5E9839BA138187BABD9ADCA84C35B9AAFABA6BCF7ED0D22DA87FB6EB8145591C9B3652A4EAC256 +MD = 26D93E60413E8323BCF67144E846E19751103CD1EC474993092517A63F40101BEA10C8D120FA077AF743EEC16C381270887DEFE3F41CA4A501D8384294BC537F + +Len = 14144 +Msg = 5B4D2985E61AA7145B5E760435FF0D8E12B546EAD825400FA6677B5E44435593A38AE2FE152D8B55879A6FB05D72DA1DF4F5CCAD61712B8E76BD69A9D3EF09DA0B2FFE0A00FBCFFC83263D48E3A263A97582D20D9195B23875176FFB45CB8A942C4860E3CE6C26437826DDCE61D4DA4FDA3878187D551C3BAAB37ED66EB10D71A18EA6E48B96FDE7CC1CECB821E7AE5BE07E34C6F5C20604424591A4EAC3728DDC786E23B07006441BAA56E174AB4C5CB417008A3D6656ABD07BB71787CC390F4E9004476D0DD9E9CB33DAC68A1C6C0CE45514DB4461F7992714B9DD28194856813C9F24C1DC4ACFFD0065B9D50C2662B41633472B25C358DAB53F85198D76C93AA20C7483A1DB21C373627538DB87035EED0E78BAF5205A2BE0CAB925A0FBCF141543B04FAC7AAAEFC3A53F64AB3A71004684A3507535D2530D8FEBB4E7909A3737F9A4964716108B19C491089A01249E4571742FF85872E9FC8E8E7569AC15655BA084EF6ABC582F6E91FE2309D5E4E3FADC554DCD87E118262DC408398AF5DDADAEF2CAFA99F6E033B3A422521F43DF2D720693124D6DA2BAF5FE2B37E775AE3ADC4610807C0E9B43ABF8FA71AB977CF9D3EDB07C5644F8556D849B2C40F523EAE927BCCCCF9FD7B76892BA4FCE9DE71F71FA7006E774F7EEFC201A5BBC694008F8076EDE5B85EA3FFF1867C8E215E192EAA9CC8883CAADD68BE57DFAC989B25D92AB8D53709490C6766AE8C21720E6A105888C2316BB301D392E8ECA464C8694300455571FDAB6CE25BFE3EFCDF08C7CEF99860926AA8CFCE6803DF0A7D0EEA883C2A54862E0B40135C3B3FB9D0EB218E5E1957E45FA64E2F7F8F2E294EDF69F26A8D65372A2CDBD792B7514EFFEE4A38FF2A78774FF8470FF3AF1A1B21D054B978A3F8E16D5D76199DDDEA87FDA4C290B6789067362FA6E6C37CE6660ED905EBD3161B9D05FCEC8E132956885518EBABF8525BB3C356301048151BF6DAA28EF6F125F165A79B8EE314A7FE20F25A7E2AC8CA3655096B1E77C1005582D82F28FFA108B38D1C2510C40F06A5F90195B8B2367313523981F2C7AF63F536DD3DC191A5FB0984A7AD0CF994DBFB8A5C8991DCA74BC1848C6CBCAE6EAADE0ABC4A45EF03575E82A2C3E0BF5EFC19FC9F2EB36C07E42693004397459D555F0D6F267504EB35AB798856300D96025A1A017433CBF492F7F3028381CFD1375C3D2C5B71CE285FBD1CB22987F5A2146043D2C1F26E6E937849935B6D6CD89601894AF6A0A7C94FCC100E8F167A7547D7C72A3B425FDC0EAFF68CD3674F9C07B4539BEE7E885749008CF538DFC3657F3708D778A8F39E5D7B13AD8ECF84DD4C0ACB65A4134C71DD590AAD97D6EEFD015FDE1EB5315038B483628CCAEBD095B1B4203B66095731E6292BD806C6DDE417CE9B564E2A7C9F69893F0B01FA8AAF3712258A3BB070CC502063B09C303EEA0A646A204E1EC0B31ABD6ED56F4FE3CD7F2694EBA27CAA4F581F31254C420B9A51B4339FDC813A446D29C61CF817467F40F6F55EB07C0C7A86182A1472B0BDB9BEB874B2572A2A1EA65242AC5EE41025DBF0D4BC338F09146CE59ED656F93C8D87BE9F0D73909291AD1336103E05FDE9E9BCC77ED75220A2B6339FF6CD8A388153F55C9CA03BE9DB5DA242B9E9F299E23217BC937ADC6FBBA90980A29B619988360301F7D8DDCF7B8FAD0651F31231B816620A295D1D6C6C90643E2F2593A0DCFB700C017F0A88E03D3D6871EBE420B7F435A58407C667EA684D5906C91D699D0F3868294432FD7FECBEC527D213FF7D94012A52C9F818CC19B3FF9F3D834DFBAB4B1A6B069375D5C3CA6C1704AC5CB391A3F4DA4EE3588551633B6B01476F9B13F1B36BAAA3BB6B5EFEA0D9D150E3325357151071125847038DB3EA6ECA114AC55F5DB1FCE8089E18D478D7AE82D173599A02DD670B46794E9E2CE91BAF90DBA5AFEFCD1BABBB8EA210640E14EA8E085A404DBD9FE15DC3CD0BC3A59BF997BC6A10DD4EC8970FB396505FBC17FA5D61D90C989B47FB367F7B2EB17702FD039FE16EC8745912003AAAEDA09CB644449DD85EF010488FB0FCDE2D804A0ABB59F2C4F594B3466B626205703507701BD4FB25AF83343AFF8A09A004A559F750CDF6B2ADB2CAB16E2AED2BDC0481ADDE1A8A79513E94E6F959F4E4265CF2ABADBBF173A897C50FDC2A219D260AFD0C3475148C645E65E343D4085B76CF14ECC839E4F7C725130777535ACB154F74B6738FDC82327F0BE5794D630CC81B87D5A19637468B191CC2AE6B67FD5C3990FAEED6A05F482E5DAC91DAEDECBA379FA68BFD85A218275F44A8011A74DE303007E9F5E955DF052D67465D4A1C1791B88C71DBBB6D14F3CFD49F414ADC26CF8FBB797C7F4D65AB1B260C43D0DA063837877883E87859F99A36FF2185289FB3B265CA1D017C731D6FA6437F954E55C4E7B90155156955D2495C3305EF196F9BD62204BF18DC1F3E8B6BE2C38956B169B75 +MD = 4AB10433D2AFE4543DBB591114149B283DF03C8D18575224E10B5DBFA715E5DE7EC27BD508D1B892CE668F3693D89F9E35C3DD2A0BADCC1C7BBDE602EBA4733C + +Len = 14648 +Msg = 523DE8B1F4CBB65E81FF0B6CCD6EB8EF0A0F0A691ACAF4A77F25ACD2D66AD4B3EFD25BE70308853C094412A518A32020E3020A9F6AB32F0CD60EC0D7A194917D6C457B168A54A4B46F7B0D0C71BD61CD202F4C718776A701E0770B0EFA05418770F98E4E79CD066366FB3300E8BE359A98B82B764BC2FBBF59C7E8F94A157B01C6C7577B1428138CD422BC47330F8ED99F4C0AAB0D984287445539839389EE08D6345108AF26ADED0EC1D7BE774CFB8C5205DFE07CF6CAF8C1AFE37C7A2E4FE6013B93EB2463DE4E0971C7178D6A76B16A0E8960C984CE8BBE71B3B466EDF0445B835F09414D01F14C7B6167FF78FF118127BBD5F812C27FACD57B3B120E2BCFE87315C7A92B82EF5D50CA14A7174D1BEA7E056523E055A6AE42EA3765094E5544E5ED003C989C2F98F38A17E3DDA74DBAF9C669A319638A2698B0E4A611480D8AD3CF016792ECD1034925F42B9811A7214D623D047ABCA31997DDEB03275F80DD21F40DDC80616E7AD3D481E8EBC0A1A6A398E16A78369215541ED10B75671ADEB1AAE6E11142A1CF665FC1B7332DFBB0E10C21A2B48F78E57319AC9C58DFA8B1C2548E2979EF1ACCFEB215AFCD6C2C1B46FE97DD491758378330EFFC7283661D2CB84FA05281E9E517408508D24D042E7B9BCD34DB87CE972E4CBCDB98615FB93093369DFEDC782F44BCD03E81CF93051318B2401FF29F753A264BDA65AF199E3FCBB8B5D39C838A67D6C7A3DB046DC56C323DDBB5340CBC229E47CFF8C9D29B7A49AC0EC8C1440AE498C7D150EF91C29BEA7DF3EFCC2871A13A1D72D139CB4603D9FFFE85F6DDD544850EF63C3944FB35DBC00D4308CEAA6394B6E23F650D323F8F7EF50DDB68F1486EABF989BF44451F620EC9485C0B52D1415D3C909A2CFBE9D77DB19D069D33BAEE4D77292E63FCBF65C1EBA24BFFDDEFE95211EF0AAF8ABFDA9F94445E582976F986F5382CB669506AF2B4A5A0C43000A3C72C5CA4AACDC9D3D39FC5C492A393B6C341B86DACBBF6BA8B465100CC683EDB2D9B9F83EDF9C6A32645F51CC79ADC22A52A007BAACA618BE35E356D1FD1CFBDA73F1ED09253039DEF609450FD2D5943B9CD49CBD52A318EE3510D7CF3FD8FB388AC6CB9C6EEFEF3D3CAD8501B91CC04A888D33E16D6A4C9666F5F5F3B257193F2B46DEDDE11842909D8C48ADE57775B0B272E2DC9CEF1A083EB2CE58F4D1F211922FD6ADED1B82FE6F5B11251CD396E5A3666ED9626036E4E356231C146BBA0A91AFD3648EB7BFE0B9C14F15AF2F92309826F468945CAD0AC422DE3D6A773B76178422107CE0270E7F580B5CCEBA82CA0184AAFA8341141E65E39859885768FBC5CE63B965A0604B659E71D9DA2C7A43646088D8071D76926163AAFC69E25355BB0A222B7B2DA9F0A20C021ADC462E905A9C3BF31C16D87FBEC3F014F3957A720F1432E1741553092052FB58A198640479ABCAA51B104CC93E2636E1460643EA812BD44E819C2166EB6B349BA5BDEBAD59078910B5C22A56F004B8D9E4B1224D8D204B48ABE7355548A402736C5CB110F3A1476ED631FF168F4F3EFD89B38DE4751536548647523D334FAD7CC2D142973F2DB3C1FE08FC5CF83F9F2BD2DAA524B37864816AF29EE05951FA09D1C51D9D14EE4F72FD7BBF18B1A724FF5A0958A063947C430142AD2356E4400AAECA442E163372A8F1CD36E2DB988E7781165E5D4E7074ACE40858E8370E883694AF09977704347FB735C8717C42BC4EEEB2AAA50DFE637C640909CE379BFB9E2608F88751377038D1669F248178AD580A908D7A1B8DCC7E53E01801F1E485B5893F103F03E0F53B2B1440BE95644D85AA7F6EB7EDFBB46652196695EA23C08573397B111FF909025E20C5201293B4D223BF7AA01DE7CB28B94714370434B9588097E2401B62C7A0DEF1FBF89809E810749FD3CE9EC3C07CE4BF4C43DC966429B2BEB4D711FC6C448A12097B36F1E6817EAF4937A983F85D9CF3E62CC1B2AC6AE1EC9EAA8CD8EE2C3322239CFE5DB3D4E8786282E630A7D259C2FEFECA03031C960A66A71E436A3ED6F2F3CFAB4BD77C660D14205ABF606FE561A346F7D849B69475AC9F6822D80B9A2E56D5D495E4B309B0EA963C9FC5C7EF94B217EE5337989AFBC7107D233A8B362AC27C4F69DF9E191CD65AE97D6EB9E5484EB6F10349575E4CAE51452380151F902415AC9CF42C824EB23C9541D2DA1C26DB85F53CDAFB06A12B8393CD580A8E494EDB6710C720DCAE30832967E33E6303A92B1DF0841D7724284FFD2E00B95C6D623B168D21AC1BD3C675EDA33182A2C22370998DE1E5EB905372CC6EF32D5B765F5C94870DF4842D011603BE4CDB1C227E41EB2F2E8542CD325884FEDC9C5C7BB07A92D20D64B836215C59F162A3DA8BB67D6FC13FEF97CAB6ECB8A29E431A6519A6261C4521CCB90E6E609869E6FE398404AE047F64EC4263566DEFEE66329DD40AC985EB8A08D26529A544891B6F57CC235C63C09057AB6B6ED720EF41A3C9AE65768B43F6DCF4962A103DD93C213171DC2C9194E43265C689B49331450281A3FEBC618D1AA4D65A135137051FD46B568CE294C89 +MD = 76583E740EEFB6394F6AF310AE896E1B2D181581165CE1DCC2317D7EB044677AC0AA6323B5B14243D0822EE49DA1C676FBBC1F189B919BCE8A0AB283D60308C8 + +Len = 15152 +Msg = 24B1190170418126DD7A5A81FC080A9804311B48C4E4DA680727B874318D17BDD34BE726DAA760A40208BB6F512E5AA889B135D277CFFE6AF802954BC918E4D599EE185D598701C2FA3C28F7EDB355D74A8D2F1A9EFF8B6C2ABED776BE8BACDCFC6C98C5E73C24FA0967B6F2F79051E648ECD953AB5430B8C7D96352E600A6FC04FD42250D24E4A5969BAE7712C6C1BF8B95481A0F8186298ED2A70E16FF8209C0511AD4E2EA17F539789F9A1D47EE291E157806CF680067D37231032B032D5EFB1552925497E57D088ECE2B3869684357C466DB454D4FD9EE9BCFC5DFD7AD3620B3FB244F717A48FACF0157F87CBBA94B91C0C39002F78351E3EA6D411CA587B91A0CBA4CE21A8932EC9F0F6E8FED5DE7DDD03A3B90B6C6D828F7831AAE1F879FCAFF77B76FBA1C0013CDDB19E93D878B3428FA91F1A5179F7240A5B47B146FA34E3997730B601DD56F587622114813B57239A289DBA2348B2BD8207FCDB1CE0032984D9389D731942EDC5A44D872EB86038E281F49C868DBA278D1C94AD1AC376D57085EBE875CBA7AD071D5CB3843DDADC6ECF8AF7D6C546938957668E4E8DC05700900FF2A0A2E8DBA726CCEA443F8681644A377D7FB39FD159F72B8B6EDABAB76E4AF39FA065C9B947F53702A3797552E92D313540A50E73981C4340E88722CE19797DD5305E561156BCCFAD147685FEF2B76F4CF8083515CE8F0C60A52699F08E6AB24C1DF612D93D7CA26CCB2D5156BACE4DA28E8F1E9992BB8480D301046BABF55954FD5F29C074806482FACEC432DA10BB7556287F2F108B114904C122DE43E6A77048AF3B47920515D1B03E280C1E7C05BC71089EC769F7FA04E0C4984D186F8C8EE305B1FB21D03F025C95C8CE9C50AD6FB527EF505BD203ACB5B12D4CFE08F4579971590BD43755A85A03BD296885128AE64333DC30301DD7C9B8E035E22F75F411050DB6A17265DCF3F3DCDF8FE0B728A680B60EEAD7FBE141F6D9298EDBDD07D52DECDE153AAFDA6698F415EAF8622861E54A2B279E3B1C0EAFD5A589E7121DF6E51E4D7698566BCD5021013180D77A1908C17169C9BBA1BCACD5AA4799DF84593013E21C303ACB670DE66B5CF08FAD04769CD05D69E3ADCD5B0002C75618A6A1F440918B04DF7B2DE363639152CB6A26D77DB7F400291E21479D5A7E0FACD36ED09F2A2E74F564B8B676D3E3DE07712E1F69840BFB48DE63141A2455DEBE2E9FB8186A01921BFC8D644DBE315EEA943D370EC648AE74657AA57512B39B6D872212DD13BBC7FDCB481F7201F65348017D0259FA99A69084D0B62E63A7408AAB24DA4D3BA6F7B187D014A372FA8160175F3B37399EEDD7F6FE869A1F0AB8B0A3B835C9D086927DA75AD483CDBF83F7571FE1041376B8B57A15DD1DA7075ECD040AE2F5BD6D371ED3EDDCC13F8D611C22B29FE9F246125B2B868ADAEAEED40BA1C3150BEB50940875B08E650C00A095EC2ABFF723F7F1F5B97985B7D1C1D81BFC031F64E452125CDD13732D86A9CB7EE1D89381434D939B515F3F461567B905CCE4D6A7A5A0B7F964FD6D5FE90FA726EFE18787D26B083BBC8AB5D7EE7F9D79D3556616E0282FC14B80C9CFE02A3BD845B1A3EAD1DEC61393F0049B85EA64A7BBC0585A0E24C53D774E5A085FC217EF6F0370A794A96E6BF572A4C3195E916C9A51814989DC4AE65D090976BAB9709FBB51B004694AB9C0833637FE100183EBECFA6F78D26014A00DBB204471A6A379D9E4294A5DA78F38EF2B0A474E92AE6D811E112FFB224C6EE2F5B2A3A5ED5B529EFD2B9106D878B386AC974CD5DA99113F11700783226315AE8B9CC9C41423E47B51D10B51AD503BA968A7046753D3F5FB0CB601F4A8D594B12E283843911710B8977412C3B64E8611728AD4684D7E242A1D85FFA5D01E7F3DADBC1B1691030C8AA51095CD2BAF36E5B45D1FB7DA28973A98FB3BCE835932A475EDAA12C232BBAE4F793324F82BBB4E19CC9E4482393438F94006246C3A81AB51BE7721311EBF1927488F1BCBBB26792D6180D0CE59B69E397A6D60DB83C321BF971F5D804512D554FC3453AEC14F6B0B5E82B8A87BC8EAFDF7CAD1EB07E164DF61B6D0DEAAED33D4B56B175184730102E77CF81823EE82BFE945E3B7923818157C579A774E8D05FD77FE84AB36A3D266BE1F094048B8E417FF0556C95C20C0CC1F3963965E5C37DF5B4D88653F831BB222F399D867ED77BF8C89BF6160449A34EA78AB7D9928001FD8DDE94F30C8CBDEE4D06FBA150852EC255C69C590D07B5A803707E11A0EF689CEEA9DC0EF8809AF685E48B79B4337C756B0E567D3BEC43B4431E86B79D6522C56DC31802B76893D548F8F851D7696D8FD8DD15F60253163F8335B9897C477E6D4C743BE22B1DEAFF90693337BA8032978E97BF73BD3FA1B53A46A779B13CBBA453346234C3A68F369AFCDDA203C058E3F3A21ADF8B7C872C8ACDECC0C292DCC43638D1326B5D2E1870537777EC8A47E69EB54A30F9B1AE214ED0A14506EC218B05CC44086F653048D7E06949D6017BDCC7713983B6EA9DD7D79365431DFECA3AF4F6CF1EFA18AD23B716814F614ED2A22A5D8B377F442F2C402DE05CC8C2DBAA5076133E0905FF843D64545A7409711E1563071C5D48E2AE765AFDBAA84C2499FAC8F1848DB65B745776A49211D0 +MD = 31061C59C5C60C55F0D33EA77494947E6FDB71E84E3C2007AFF1257ADA79710D416B3A71A4108F3189E2898A191247F0F2E02CB9F21A933D1405B155D9AB3332 + +Len = 15656 +Msg = B8B27EF941792BD6819747432CB844D11D3275E235D6A04842D0EA1BE5A7270E3D32924D2F74DEB9AC5A8691617A1CBC1046A5AB8F89A6E5A84E7CF3B319B0EFE21928AA00DF31FED34E2FCE5076100FD384273DC5B3ED56079ADC948E47919E8CE5DCE44726F9368854D5EB7EA9DF4445F4E9A3EA55652404B71E16CFF45E407C8E86A56B4D2328AF7DC9A11C7490D02DDAD8BC81316B0C70C2E0BDF3C4BFDFF2C661399531E134A599F9C2F8B5397285EF5447903C0B43A5ADD96CD5C688929D0C05B57B5C46328A4B0D8501DCCCD6B0D22F1CBB40F90FB3D28338EF4E1CED2DD56CB569EE63A14A5420176B2F1F8FA1B39296AD88B52E7D3D13AE066668E60835A04AE815D481428A5D39DF18E67C4FE0F3277CD74273B5F78F9FCB93D70ECCF9764798827BF4D6CFA8EEB685A769CEF964FDA3E1E13C96660EB0E1851E30F1EC4B9D915C6B620204A7F0988AD3990814A095DCEB3EBA9B7023F2337B09B3268DF41CB5C721DF9A28518583B1011763ABE62377CCAA5B3277475A9CF72E36B07BBE8F2E2B0D2FE26E8B81A5B04AD6BD0CB8C80CC359C4EB38EA250577D2D06D14CCCD761E0E51C83078517A500A810CF0840A9FE52F415F96EA1D1644FE3E81823BC2196051DA581931646193666E00EB8003A1DB1F95E0D4165D084D5891153B6F27B157CED6675ADFC53777843B1F33A4337A2DA2395BFA280BE711F3CBA2A961B6011EDCA35C57DC20D926982E2074243D644FE60C76AE70AB1E2D904C3BA68D8DC7B5813565F1461E52D46253DEB187F609592B1E92E062A8AED576CA3381B7625C2E84B3EF93A338B97D699377E99619A116EEF9EBF05A7F3EAA96F32B6B491A2AA785303AE03552311B113B6E08F2E18F60D7198035D2C8A600D9C572251B542ADB198C3B5B5978E09393274D09797BF2ACC0CBE6C9E501A3C67A3C54B8BCC169A68A3889FF5C02059762771EA9B87B7484B4604B20E1D324F48B0C807DCD885907003187696A0BBDBE5FA0B0B373450FC440F698967BAAB67B621D8346CC43462B171D0E2E710D696EC05DFD51578D6244375AC6ED69568223F17A67BDB18C86AA9A982B7269FD04E278B9EF1F379686CD5B6F5EEAD91BF7D8547EE868D71B6E07E907E8883018B26380A16E779A3A86483CCD678473C31838A04E1AEF78793788330D162D1ADBF9E0CB1551FC14ECB87356C62EE17F95D38A634917DD3A63C07CD59324198D3FE6EB4ABD928D78D8CFD9D05B74F44F691C8CC3533FAC926ECB0FFA989F504A9DC79CF86F39525A8DD3EECC4FD4842FAE92B02CFF25DDE9B08014C371F41DF226235253B9B36E1EA8C7E8F081DC0E958991515EEA0855CE7BDF3F2EFB01831632C55E065A2EC4D16048407396B2DDC233FA0422F833946AC32CE14320820051D5A68A7695854167264A6415BC078DC37C717C83ED7879D776FD8599A71F999DD5AA2A53E9B6A38CC177058F7A147B6E043B2B5AE5010D017D327805C858613081AB4943981CB7457426B7A857D2FEFA063DFB655997036437D18D8203F68D89FF5660D310CB99F5CA378A9FB80FD84852A0591F0E41311100D168AC7867E54D5C6938D72723F22016C962EBAA67368A173CACA26557B276A29ED4697AFB6AE9BE48D7C411A9177985CE34C0C1BC1FF87D476876705D3157A789B4F0A7DB6C272EF4AF614BD421029CF74FD17FF1B82DB190CA13F02E60A6F2B261AA4FDFF74E2DEAB18222C674FFED711EF887F7E4E605E3241B751C581E96E8B918974E90022F086E0F92B63FD7963DC1D0F5CAFA1EB9DF69C32B9D1BDE99E89193B974D41453EFD36783F92BF2CBE1EF6DC56EA20EE9AC1F3A7435DCC21A2066C63B746343E565182A941CD22998AA3413088AD2801120F562F64B7AF55D3C6621BA1301EEED652661BC22184BDB9A9AEAB67CB18D85612E7D8F7AA2F7D2A6B3C4545B40517A4A74CB0FBD4610AF8687BD6929DDEF85C0F74C66DBF64A83BE1077ECAB0C5EC92991C6B8652BDA8E6C088B0EBA61C9006158B48F88D8257AD30F7AA50FA0EDFA025FBB7028BB978396714BCDC2622290F907B84247B70B71AAF608315DDFC78C9AE4297195EB956A7990891D5C83DA71D45C8EC9379EEEE0F8F01A29CBB58B41EC75D905C77AE533C5122B907B6D2C6E4F423F6914C58D010BD4F26BEF3823587C95C7BB8670CA7512E8D7223619CCD9B88C6158B1500B9223AE31BE27D509DDEE72BB1C298E308C46CDDB93E500A0B54B41813BBA528EC1F8FD6E070F73E0289AF534670C8D2DDC98E95FEE6B39F3F3681012B5BE028C3CFE7B2DA5D7EFF3FF352B6450EB4710EE54899D9A09B0F2D10A8BB177BC30EAD38CD29933A715608E625D35D919ABCCBB58F7C23A047FECF9A9226930438E30F262187C7FC7AA872C3651C632479C2687777E152258972FA4FAA67633862BD2423248430D1F444565AC1A6A39D91536E003667D88DF89D9D1CF909451C4FCE3556B25101E887FA8ED5AA8D6FC2DA14CF379A54E3DA7987FF2C811DA0DE48625BC8C4DC345C4D195ECEDE0D18AC3709B4B6A8AEA78A979A6462CC0F19443096E392B3E142690163CA28F01BD606958F6A511AF5B191F0F37373FB451E28EEBE271E631CE1FAF09566D8C6E1D4BB38968785829667E37538712306A69CE67DD502F01CAD3560AB696FC2A5144B553FC44B5F1BAE4640B1347A99CE98E224F8810983D64154A7FF5CCABC138E4C42257DC2B5E5691FCE4BF4A88965AA3460871A6EAA3 +MD = 39205E6DFF2316F000A6E82D563E79A9027280A5EFBD6EF2464362CFC93F0E25FDA2C6110D40451A6352F95E32B66620427E3A959E2155A14697C07561185EAE + +Len = 16160 +Msg = FBB36A6D35FA8C0174BF87FD3C232D1F6059B8C43CBD7106AEA406CA2EFDCABECF3B05DB8AE53CF98E866DFC5EE714EA3C555802F7515598560BB35E0F0B26D5F51B81FDCE914E3651C21951CC45DB3B480821E41654368B3259E953501621FA549114D80A534FEE583AD61D681C4FE402925D3BC72A7A63D042CF051EA2FBD2B110017D31218FA0BDA84286465740D549F7035492B2C0A282544CC536B8E4EB8695437D6038B13F9125F8C4799CEAF85339530E478AE2ECD4FF909BAB849A18CDD775B6758808141B94F1A243BCA4981C9D4B7A29CE53A2C17C3E62E657BF51B6163402D6C33F17FCEA979E40B0D6ADAF572A79030AAC63E02E99310B133BC007AAC9FC8564200A9BBBA0F5B1228B7D9E869DD824319568CEEED7A9C87E5A5C20A6F65879150D8D279F1376960E80A6E1CC929B30406765BAE97B22D08E0225BC320EB5004DB4F4648E6B8F8F1FF13182D1B20838CAF69B054E72DF07E3E5C53C669281E227A13FF0F6350578F2E257D9A2DBBE673F8D4666F3FE6B46E007A08D4C79FCCD4C8244DEF3DA4B8619B2389FC79D5C15432B672121FF14B58742DCD565EC5EAC780BB8832DA16C3307B8E63D41500E618C8FA9EE077F4A98236809CAA3F3DFFCEA6EEC7DC376226C80C5B1DF3EC161C9993DEF3903D542EBEC844C2E7E69FC215BC59FE86D5E98F98E3B8237D54CB2C28B414700E1E977B145C768301E78B9310119BEADF695A05C509D95863C4236A3B99C1997EC739EF4F3D74DAD5FDC66E494EAC463844874D6A9ADBA891C617A9F98D830FB0E24CC09B70114B32CF242B7C110715F2958219596E0AACCAB5DCA7AEB2C1649358DD95817EB35CEF4DF997242ECF387D6A06149E6B4661203627516812D7472B4D3F05F1AA200D5990201E97DA0F3D3ACC81377752C7B9455B591AB6B46AFE8DBDE732A9664A42175C20989B5A307209F64B0F2AA00BD297F8EB72ECA7255B99F07298B1C59E3D413327EF994EBCCAED1D986500AD2DE5915908DBEAFA00498FA374EED2537E0455EC5060F8CBCA77029CF2F21B0D2EF29950222947D3B926BCDAF61615F73F0195EBF189CBFBD25075E6C70640A81E64C36B54232CD76EF24AECD8E619F652AFFAA27A39FEC7EF7DF3B6C9D03B51C0975ECC0CE4C09CA29F56380F0B2B293321ECA37A6675F43CC7D7A4A196D3D11ACA35A54ECA60DB965EE1DB7095D481F1F276F6AB4C0B37398C76ED4A5CF2BB7B9C401E2686FF8678AC6C1D141C3A40D41C44B3F2933DD4B258EDB45DB5675984E6880C3927DD5087F94E122283FB76C0F622B671477B2C535193D1F4330EC09CDA03A1E4CCD1A06447E078AB7A37E34E54C2E0D911593FF522ED94B5FFC14E62FD21D00D7E5BCBEC5190D5A40615FF64740A1D31D0CDD07E39BBB4F615A4A0345AF40D0647F354F96FF2AF3EFBE25B9E38E1C5550968A18BE6DA252A5BC861CFE2D9CE84F56B0071CBAD937C947C58D0301E51DD1C3146F7810D795204BC0C7FB71F96224BE409FF732E14DB1C2CDABA7CC746C4FEED829A7077F48C7F466D1EC0C89E3E247D15A4A63114EA1E6FD855C98CD7870CEFC75ECC8114F1135A1540DE6A8E1C05C9D6DC554A6B08E86C8158EB3D844C5348A61D54A6559B0B7F4BC592558200A289CCCF39AA308782370B2981CB5EE050710E012D4F58A9D1E2E0B9DD5A3532455FBCC1DBABDF041F0E7B9DBAC805A503832DF59B29D0D1DD6E75E735DF9082B458DD10920C2CB72CA4AE28B63815785656A7BD897F1436393780DAC6004F68A745B235913C536DBD5C23EACC6BAE635C949EFDD2941D9F1A93ED944180427FF57D0AE76A5D584430FA031D8969883E09E853E6A29921D70214BBE2F7477CCC9F16D18EF6911091D2E62A8C00567B831FC79CE5DD65A95304FB7B0C56CD4D7FEF15DE5FBD19E312EF76C58C67645003BF0A55610F7A60C7D7C5418EE04C45FFBDF3D9C3C792A5E92979D6F8D1998C00A020C0F1974BB867335288F006DD0E973A376F353AC0D97646924C1B35C274E6AD1103A1BDECEE53D2CDE4686BD6AAB9407A568C7E029B86557617C261590384259B3093E0098F11C17DE7210113D586B4624C2E052AE6738EF10CCCC728F2AE111458E5FA1A93EA3A594E03AA1C65E5471F24F3B8AA126C385062A2FBC2AE2F2951874BBB64E02F3009A575941D4235B06C1FE451A825CE91BE59BAB85DA91645E0E2B8CE374DFB054A40809F26DB0AEC534AB5CC27E27477F1C1A729F2CC0C11FC51417B71443B657FD79DA807BB01CD01B036C6737258E60DA376DF08089F41056FC454044E0F1D173A7E6F11355851D36626A4C3E89721FE659BF58B72E411B015BF13396B269142C576A5976AB352E1708C1908C43D873964A097721A60485002F4675C5A5F582ED4BC7786EEB2D49232DADD6649BD9CEC32D6901EA5CDA7BA838817DB8C0AFC254B94E4AA39C0671EC45CAC70A73BDC77E821CD8BAA77DF6ED0F3F79386DE1FD7D7D81AE7E05DB6D1D9CCE8F42ED4FFB1A7FBEC62984DEA74C9480945EB916752EC9E0606815F8D5779CEEFD2DF49775A1CA29465AC9783944A0617279303AB86C2AEEB1AB4EF1FFF7465EA6850109D770C990B842A0A5DBB1CC14EA4947A356678FDA4EC44FC9D8FA352A546A2485F842A6BFAC20DEB0458762A72DD4A039D64AD8485D9F1C4D67EBB87B99FA95CD5B38DF8E32CB6EFF1401D0D2CD20A7DBBC3977B0854EB9F945510125464300C91577B21B6A0A61341379D1F1E15937C4EAC435D05BE9282F632F84C2AE1290C6DE6CA6C5ABAE90A6C9F37321966CD33D86C6275C018FD2C15AEC46C095AC0CD51593CFB646E8A5F8 +MD = F715DDAE51ACE7B5BBD91332984A9217B339FAC4C1C7B17618F50A0F2D16D86AE38566646504065F67CDF3C6C8E4C8F65F7D73D6F38123F25DE045907B512F46 + +Len = 16664 +Msg = 6E1CADFB2A14C5FFB1DD69919C0124ED1B9A414B2BEA1E5E422D53B022BDD13A9C88E162972EBB9852330006B13C5B2F2AFBE754AB7BACF12479D4558D19DDBB1A6289387B3AC084981DF335330D1570850B97203DBA5F20CF7FF21775367A8401B6EBE5B822ED16C39383232003ABC412B0CE0DD7C7DA064E4BB73E8C58F222A1512D5FE6D947316E02F8AA87E7AA7A3AA1C299D92E6414AE3B927DB8FF708AC86A09B24E1884743BC34067BB0412453B4A6A6509504B550F53D518E4BCC3D9C1EFDB33DA2EACCB84C9F1CAEC81057A8508F423B25DB5500E5FC86AB3B5EB10D6D0BF033A716DDE55B09FD53451BBEA644217AE1EF91FAD2B5DCC6515249C96EE7EABFD12F1EF65256BD1CFF2087DABF2F69AD1FFB9CF3BC8CA437C7F18B6095BC08D65DF99CC7F657C418D8EB109FDC91A13DC20A438941726EF24F9738B6552751A320C4EA9C8D7E8E8592A3B69D30A419C55FB6CB0850989C029AAAE66305E2C14530B39EAA86EA3BA2A7DECF4B2848B01FAA8AA91F2440B7CC4334F63061CE78AA1589BEFA38B194711697AE3AADCB15C9FBF06743315E2F97F1A8B52236ACB444069550C2345F4ED12E5B8E881CDD472E803E5DCE63AE485C2713F81BC307F25AC74D39BAF7E3BC5E7617465C2B9C309CB0AC0A570A7E46C6116B2242E1C54F456F6589E20B1C0925BF1CD5F9344E01F63B5BA9D4671ABBF920C7ED32937A074C33836F0E019DFB6B35D865312C6058DFDAFF844C8D58B75071523E79DFBAB2EA37479DF12C474584F4FF40F00F92C6BADA025CE4DF8FAF0AFB2CE75C07773907CA288167D6B011599C3DE0FFF16C1161D31DF1C1DDE217CB574ED5A33751759F8ED2B1E6979C5088B940926B9155C9D250B479948C20ACB5578DC02C97593F646CC5C558A6A0F3D8D273258887CCFF259197CB1A7380622E371FD2EB5376225EC04F9ED1D1F2F08FA2376DB5B790E73086F581064ED1C5F47E989E955D77716B50FB64B853388FBA01DAC2CEAE99642341F2DA64C56BEFC4789C051E5EB79B063F2F084DB4491C3C5AA7B4BCF7DD7A1D7CED1554FA67DCA1F9515746A237547A4A1D22ACF649FA1ED3B9BB52BDE0C6996620F8CFDB293F8BACAD02BCE428363D0BB3D391469461D212769048219220A7ED39D1F9157DFEA3B4394CA8F5F612D9AC162BF0B961BFBC157E5F863CE659EB235CF98E8444BC8C7880BDDCD0B3B389AAA89D5E05F84D0649EEBACAB4F1C75352E89F0E9D91E4ACA264493A50D2F4AED66BD13650D1F18E7199E931C78AEB763E903807499F1CD99AF81276B615BE8EC709B039584B2B57445B014F6162577F3548329FD288B0800F936FC5EA1A412E3142E609FC8E39988CA53DF4D8FB5B5FB5F42C0A01648946AC6864CFB0E92856345B08E5DF0D235261E44CFE776456B40AEF0AC1A0DFA2FE639486666C05EA196B0C1A9D346435E03965E6139B1CE10129F8A53745F80100A94AE04D996C13AC14CF2713E39DFBB19A936CF3861318BD749B1FB82F40D73D714E406CBEB3D920EA037B7DE566455CCA51980F0F53A762D5BF8A4DBB55AAC0EDDB4B1F2AED2AA3D01449D34A57FDE4329E7FF3F6BECE4456207A4225218EE9F174C2DE0FF51CEAF2A07CF84F03D1DF316331E3E725C5421356C40ED25D5ABF9D24C4570FED618CA41000455DBD759E32E2BF0B6C5E61297C20F752C3042394CE840C70943C451DD5598EB0E4953CE26E833E5AF64FC1007C04456D19F87E45636F456B7DC9D31E757622E2739573342DE75497AE181AAE7A5425756C8E2A7EEF918E5C6A968AEFE92E8B261BBFE936B19F9E69A3C90094096DAE896450E1505ED5828EE2A7F0EA3A28E6EC47C0AF711823E7689166EA07ECA00FFC493131D65F93A4E1D03E0354AFC2115CFB8D23DAE8C6F96891031B23226B8BC82F1A73DAA5BB740FC8CC36C0975BEFA0C7895A9BBC261EDB7FD384103968F7A18353D5FE56274E4515768E4353046C785267DE01E816A2873F97AAD3AB4D7234EBFD9832716F43BE8245CF0B4408BA0F0F764CE9D24947AB6ABDD9879F24FCFF10078F5894B0D64F6A8D3EA3DD92A0C38609D3C14FDC0A44064D501926BE84BF8034F1D7A8C5F382E6989BFFA2109D4FBC56D1F091E8B6FABFF04D21BB19656929D19DECB8E8291E6AE5537A169874E0FE9890DFF11FFD159AD23D749FB9E8B676E2C31313C16D1EFA06F4D7BC191280A4EE63049FCEF23042B20303AECDD412A526D7A53F760A089FBDF13F361586F0DCA76BB928EDB41931D11F679619F948A6A9E8DBA919327769006303C6EF841438A7255C806242E2E7FF4621BB0F8AFA0B4A248EAD1A1E946F3E826FBFBBF8013CE5CC814E20FEF21FA5DB19EC7FF0B06C592247B27E500EB4705E6C37D41D09E83CB0A618008CA1AAAE8A215171D817659063C2FA385CFA3C1078D5C2B28CE7312876A276773821BE145785DFF24BBB24D590678158A61EA49F2BE56FDAC8CE7F94B05D62F15ADD351E5930FD4F31B3E7401D5C0FF7FC845B165FB6ABAFD4788A8B0615FEC91092B34B710A68DA518631622BA2AAE5D19010D307E565A161E64A4319A6B261FB2F6A90533997B1AEC32EF89CF1F232696E213DAFE4DBEB1CF1D5BBD12E5FF2EBB2809184E37CD9A0E58A4E0AF099493E6D8CC98B05A2F040A7E39515038F6EE21FC25F8D459A327B83EC1A28A234237ACD52465506942646AC248EC96EBBA6E1B092475F7ADAE4D35E009FD338613C7D4C12E381847310A10E6F02C02392FC32084FBE939689BC6518BE27AF7842DEEA8043828E3DFFE3BBAC4794CA0CC78699722709F2E4B0EAE7287DEB06A27B462423EC3F0DF227ACF589043292685F2C0E73203E8588B62554FF19D6260C7FE48DF301509D33BE0D8B31D3F658C921EF7F55449FF3887D91BFB894116DF57206098E8C5835B +MD = 5FB52AB6BADFE3D5F1EE5A569B77C43B3F375616F1CC8838398BA65493FEC67E665C1A067CA4629B22685543D6051F6FBD4F258050D3A271110C1337F6E54C3D + +Len = 17168 +Msg = D7751AAC0B43C4AE8C2CE366256F95E3570CD6AD643C076F05652214B6CA4DC134E64077CB1B468CC19500BA1D3FB0D3C5BAFA267DCEE972EB4BA3B70AF32A00E481416BA6917DA4771DB3DF2DF38862D9ADC8150007E6C369F3EAEBE29D50E9A5A687793B3A41487D2096625A2D0AD46EE44021209E0F752615EF13232C3EB9597B0F75BF175250E72640F245DB41B6E18DD067DC628E364A92FC96CCBAABA0E924C8FA4E2E0BD8D5EB1F901E153DF1284F80B6B85916E2BCB3F0AC0F357C58CA356481C3E9020331EA63E87684032489658867F7BC88BD98FDAF081AE746A52714AD1BD830C1D65A9EA5E8F0B65385CAAD9E2BA9495223BEA661E69A5BA035235063F275C5C655FA0D165533FBFE70A48DE545DED7BEB72FD905FEFAEBD683F85344103DF0B8DA663348005492D8BE2AE95C30FC629C4D027D503D686B5A34BFB6856F24E8FD9E56EB589B79C28F727D4249C6A8CC5072BB19229D06F2A5F7B0223364B4A0CC55E53EDB771A2EDCD7F278ED5286721CDFF0696616566642CA04513B58D62371D8C533FADB90E43D78E488900E556C865E5CEE9C652F94440506713E4833CC6E119D5BAFB0FCDECF257DA9C7DBAE0E9825D4459532A2D71B226ADF8849D691D3270B73D95E1D393F6D323F0E39A443BB5DB50550959123E59035413FE4B15F32F3ADCB425801D881A24B241B1D95E8BEB2759411BA7F34DB03C88E55716A64BBA0A2F41F50008A57C31DB3A6EA1BE64691B388E93C3C4CFFC97AE4EF455A1BDD013D44F2BCBF4A45C0C4A6021C220270707C36435835CADD611386B5FF310E449778234603FD77A3DC176BB965A0EAB2142C1F489087D4BAC3D7AA03DA557D23C943F6588D64C3E14769898CD45A6FFEF50BA45391460E243A904B01A8B3D80814ADD1E6AF635E6B7DB457A47BBF707825FC72929DD1F8884904FB5D4F8C1A331B443B01B3EC8978927C1602ADC6A9455B332AD3D5074B7A400D22367A057EEBD3FF91DDE2FC3E367F5780A67F5E22B8450D2B738CEAA99AD29E0032D17D087725DACDDA2905CC79FB94BD835584620AD770F91F9626484BDB6535B08E130406A397CA732175E3A9B1D26A833DA2CEF70596D8DE6D2C544AC001AEFA0C5709220AF34994F32A20CD982C67EC3C3ACDF4DE6EDB4ED461F3B05C2E0CDB38C606376F0AF4687B9CFF71EBFEDC3B3D4E253CA4FBE89F4B19B820E9BA1D4FD4AC40D05BBD815093FA00CD5338508C71D5A5F73F3DE10E58A3AB8D555E5B32854943B924939792BB160FBCF1D82AD6E1DA7E3F86EE46274BC775C42D2F541C4FF0764EE1D9D635D71D849C1DB917377218F49A118454B4DFDC0CDCA20E4397137D6C5744F387FA3EADB245B0757C50BCA803A9F0FB764A761C77599027FF8822B2508597F46A41A03971AD32E59A2668AAD2E9798306800CBEFA0408ED528E58B1D5F312C4EAE7F70E7DACDEF0B2234F5B96BAC97817011DBD8822006B1FE5654B5A3E795977242C25F56CF3AD61231ED88E390B4A0199A5D06F0B3B9D9E918BF66BF376431F62D40721805945924938D8C47374EBE697FEAB839E6C26B6F3984FCD149C173E2FD85D9A45E5350C554DDA978EFE22C81B8978B651EE8775ED85D688ABC798E7D42D256CB36C09788D387699CB44970AC4A056147BE9BF5480A952724EE13368BDABE812EC8B16E4E168013F0DFD1747267DE2B19EE490EEB8DD4793A00C7ED8F779B90F2C004B30A607AC0DCAE6BE6D1DD6DBF2DBBBF0BCB5394904FC7C4351BDE6125115BA1FAAB76ADFD0A4112D962117C6C304B8B552A9DCAD1B9F7EA9595DC1A432BA8534C61DC7869EDABB46F99D5FBF13B257CA2803C73617CC32A3D39C2B8E5523326EE49755B3B49DB11471925D71C66F4E92E9C4B6832B236539DD886835253B9681729F493D304518EAEAF837CFAEA9798A6D4F8736F06FF37586D190783763A660465DF397883616A5CD1134AA8B63385DA8BDE87435F6EF79F069CD676EB7D141B1FE4D510DDE942F503F01BAD2FE5FE3DFA8483E8870E2A0C3F45E6E8B49E0BC7B1F473E5C382085AAA61F663B3A0F815B485FFDF9E76D18BAA643293A736EC6D8487D76F72BA9D210CE2C9091063295671B364CAC70A6B1C7B859F28075A8E4062BBCA72EEC1E3990F011251ADB36B92F5E140F6EB7034AECB10A865C774F2B297F088780C6C56BBD5EE56020ABB2BA1FE7B253FB799DE90261AB0B87306BAE0877053AA5BD6289B076914EAA987D631E5D11DC67E85B81F593D96CB6D99E62E5EFB5492BDBA4555540BD64DD1F343352ABA273395E0155B37EF2172C164ECFD2E4CF886C22D49754A7421FE4A12689AB6F28718611F2A48AD1CBC0117D2A668C9B2F543DEFE73595F9B2770108DD2619CFAEB0C40E65D65784748F5A5BA244836473A42F64E71BFD2F4196CD5447B7CF1C8A4600E8CDAF51005FFF2C0B43458966D79CE039E7AB1A1F485887909ED242BDCDFD4A26C294506478E16E71E7145F109A48E573CE658F62EFB6F667B486427E7C92348647DFB1EB23CA6E47B57D8F69126F89F2EFABD876236759414E775F6BB98AEC332B0DB289DD5B2B7BA3DBBCA2825B0303B44C3B90BA6D029A5B77556610AED32FF21D13BF38667CB31571F5FD2AE90DCE953D8DAD9C16A3EC34F0C3085A44C0213DF11539EFB80A013C31C6D72CF62ABCA1BE594F7D9A47833A863FCF581014A83E73D7E66178C0A007AA21B2314ED0B6E16F4149145C51AD8CBB6897A6E94EC091D9B8A11B4436213E7EA0D34D34953ACF4972A6E08B137F0A1168324BCB9D9BD4F03FE0CAEA5588C8C0A93722FA4A9673EA0B3175C370DCC23C287276DA6D050DE89B45A4BF2F0056B790634A77376EF02ED351CD5D33C54FF150DAEBFCE8D42EF3CCFC9021F83DA1186166FF2D526230D7EFB28958D66E2DE41B5D43C3DC035025B0D1A7C8627B92845F0E388ED29900075E84A6E20D9F7CE04688529F9452BBDFB68C912B0FECC2EC9C9283D65E22BC658FA3DEB3EBF0B5679E +MD = 8B06CD2B1EBA5B4F607B2EF61E1DC24B26CE8A50F226FD78613540675009E946881FA19D4EF0172C90E5D1A19927C6D92D862FD513DA66428B08491623584938 + +Len = 17672 +Msg = CFF54596C315403090B3DF1253C9779B89E866F1421E13F7646E3CC16D0978C41B959499C249D229DCED6E267CB4CB6699E0478BE8DE4E13BE4B58D6B63083E9734573093FD33FF2FDEF48754C09E891C41DDB62C2B4208F779C44BD445D852E2BE9DA7FCA6C5D7C015F319E4BAF9F9B8C59710816A978F670EBDBF5EF455748204B3CF1501882530F7F95357B7C0C66B354AB947FADD41974101602C926928D8A2B3AE14597DE327DE07B724F9605BBB70A193F4BF6DB0F1250BBE0732CE9CDA13F2203EE04164438B8893238A1863C19F223266A047792E138B8CE77A96330386C86067C7F1097C1A4437ACCB9DFECC965D576955426F066D1CE72BAB6AA25B944EB7CD9859988C9FC38C77398839E5C3A6A94E9190335FA8A20F240B675A5E1F2544F957659B557F2C9393AA799ABAFD4D0A3169627A7985131C7C2BDAC9CCE99C8C744373C19582A14BEDB713B2068F101FAD706004C63DA2F5675347A095393BDE6E5EBACD2F88B0AEC6999FA0A1673D8F530C5A43E65A7BB24202A7DDB5BE1B2303BDEB0065D3D02B8A3A7B7463ADE755648197F991DB4E73379948D01D66F88E605285A14151C6A0326432C4005A852B6FE7410E7A774BA17D86F8BED48D83A777FCCFA08FF6C0F4AF9B44D20022DD711B1F9FA88A338AE412868DEEFD9AD161A910CD55F3375CA699F8F3F2C3276E30C2EECCE99BD8F254CFCA747FC398D96C3C9B5621ECF8DC777D4075344FDD0E99291556C9CA586CB5F06F1CCA32C1194FF82F20792440ADF15C176D01A4C4FF04A02D2D80A476A5BBBB1EB3B56F1DC76C4B0602C50B62A6DB0E160C43DF6C87882966BCE7C33CCE79BCA7CD265014858ACD6F0606E2D25B9A49409E41B2B17DEB24EF5EBE34CC713D5CECFD5EB560A8ADBB45699B2EA19876EC9F216BEB541446004898EE0FB56033ABEE5DAFE1B2A196F11E741E16445B1E882C2CE6E5F433C6BBF258AC9AFC81453D4F95D9C3756088E4288FBFDB81A72E1F2E5A4ADB99EB606E6B5AA484E578D97EB10BEC972D27AEF2444F340634EAD3AA681C0A43F04735ED744525E18C3EC9DD22213F8F99EA6334127BFC0D703677E15A413B1F28806234AD5106D1C93A0A54467336BC02AD71291605A87BF26C95A382852C48E017F082F7289C57E3E9243658E9C10523637FEDB5B3687305031621A6A62F65072D572E35325F3F47BB3683E437C1F648250046F462FF6143A372AEC2A80A999823ADB2BA65864A7C8055A1F38E8A455313FA4F091087609C84899641B944A2D764F5AFF9359944B33D0AD0005C08BAC003BA14D5086A88D3C12FBFF8CA5D5195068BC84EF6682AC2E279C0082DD0ABF42333E7E52CF8BD1253BC266F412D050C9CD2E2DD3A814C592193203547A6FD0CE704360FD9844FA1FB789181175D089DB4DB8659C5E2BC991F213442285879415618593EA76FBCF34067E7EE0B5BAB78D26B2A4964BFADD9FCF4770EDC62C0747800CE582BE6C3D44DCF6B448988103C4FF81C5224838F72168985B241E88D2CE3B05864B3DAABFE8063330765BD1093783AE2A2A104D3258CF0282E5165857FCE961FAD5627F508C4012A45F61602D076CB2108EFB8D963F266EDCC172F0729F3B4391B192868C90B58EF83CFD713A27CC8494BA5AB9EC88B33BE6F5DD03C15E1C2A84C1BB9A13FF4967FB20884FCFD9F107E13405307A1E524AB8804334108610B12BC3ECB2E7B6C02085A593208027A4E525BE7D4A156B975625DB2D87097D0EA36917920C47D90DACBFD5978DC62E11912017E28D4328B4CEA1C5D4BB8F176AA793BC8248F3F4F80F52156783C47148CE93F60E33FBCC7052A8CD490BF585A67B27930776C7B6A734D7E771B7DE929CF24C03B77A27AF2F86A75AF59D6BE581E3D1BBFE1F6EF070C73FA4BF580E87E786109E57A0CC1D027CEE3030D79EB67F4BF71BFB3A520FD6829EAEE6F5ACBC45C40D2D19BFFFC7310EB082D67E4CEB2B12BB77C334AC9B24A559A679474A86559F5294330B155B9F8C9D845856C37F7560FCD926ED0841C8D077249BBCCB28BC418DDC7D189FC0AEE67074E95F81619B8727500F163107EE17F06FDAAA1E6106FE558CD0707AD85884C51EB5CA108644C908EDE0433DB745930428B56406E063CDDDB1A5C835444A0733BA0497FE2C0CC2739C373E8F74B24BC1B3A09C28654E74C4842C5B1776009784A405B9F81EA961633DF7BE908593B1EF824E43ACB9EB4C3972A662462C42EE1CE406ED55DFE6245E9CE124FE7C038DEAA15E487CBC1FB9B0FEEC1536AA90F2EC9F0C979F369FF50FB99A14D3C0AA9F94E668A9801D514DE6901DFA189196D0FDB1E4313D55A3ED19E8768ED8450B387B8404BB9AD9DB1FA48FB43A2F056168F2369655D8383CDEFFCCDDB921F09421340241682CF1AD233E488DA9584895BBEFEC3602693EBB7ECA32BE773C9142569ACFC188A97D46801F613DEC226E82F29EF07C1E0197F4462B4F1F22EDE13E1242FF5101693112A410AA59D4931D2E98992172AA4DF8180D571FEA9EF94515910D6CE14D81ED8F060E8E6CFCCD1678A827736009DBC38DE3D63D2BF7AB78B0C9CF3524379527A7FE4A034E36DFAFB018B54F08EF3DD41904FBB2782D63EB7B755A6D306BCB004F0A8CEE3182B99ED6A01DF198A0027DE42938064D32E45D37A613FAEE1F1075F699125675B18908C23AB0BE248A5A1AE8A01B1BF76CE71371AFA56CB3462A1C52469A460A357E4C7874224C37C1366DB9FDD3A6F1F08A6718CA45BBD3B1850E74E27E76571DC89E5396EFD5C28AA37A61DD3F82FC4257C080AAD25ACB8B336E5D093955DC6847AF1AA4BBAE31A0E64BA5C021053E851E05E1FD398B5ECA2149219892EC0A644DF2277B77BDA83572A7906B168A9AB17370AB9E24B57667F9DE503FF0B1F9B798DDA99996356CF60555DC63EE40B23C77FCE438790C8F25003003320ABA731A2F233725FF7D62A49E76BCEB7EC76F58558C025672D7144E5943408F4DAF60E4D991990B510F548551F2ABAC996E603F559051C4A82C8181E967EEE72E05AE3508E181DB54C8EEA4C05D2C9440521EB19308B3D5F0B5485902A6B01A5AE04F0A4D5712C2838C815098 +MD = 060715BAF220BACEAB6EF15756985CC0CC2D60854099510620896B7653204DFA9E57FDBBA3455C637ED488C1A13E6C67893849BC017C341845485A3A8C388CF3 + +Len = 18176 +Msg = 94133B8E14785FC19565A3AF0AEF60462BB7F8045E2EDF4A836718561AEEFBD0382434D319211C670FC699D25F02EC608CFED9786B7DA70E5595AC816688455CBCB4449536E8AD20863D76937796CB0C599918A21A0133B6C625B2000BED8884FC86356FD742AF78BB55D652CE4892E7C296853A40AF29116CC98D38874CA0F8BB5F6EC8C04DD7F3F9681858E0CD54D8F9B50A830C31A9781E70F63E5922B08617802104044EC2ED28566E39534FA8859573F024CA381D87BD6E04607B9440D3B7D4EF0FD172A6B8FDFA2235D46BAAE0778467BFED91D33C8DAC9DB5E7EB6C69FFCC2E9F2D6B5F53ECC800306103D86CCB1E3483EA2AC349EBA3833174D5CF058B8CA82855A938A6D38272851B1977319AD78A96A59B7D6300836B0B219974CAF8776BAB7ABF4665757F9CC941299A96998D3A910DD41FAF26D4AB54408FDB920FDE1D614A08C2F02716A17AC3A98554D9271F644D0D74C0D4A75C663AB8FDCBCBB75B250096C156366EE1A3DFDC6B28299B38C0C14BB685A89ACF6C41ACABF6B3C6745D08F73811009E9E5EA868D469A0C8CC35D83E99B2DA57D202324EDF0558E7632DE782740CEA7D6C4DB9590F675CED9E6C27C8D39884990D7B685C89F70E55E084AC8C1F366A2B8EA89370E7F7D724EB9170729E20BB18C7026BFDA8BE4A9813172B76F72B7FF8FDD31F3AD47282979DFA8704928042C24AE398050A4F4384517901A3A2D4230C56A0CF3BCA928AB211BCD2BCD4EF0B73DAF60240F39AC01A7AB29DC80896F6118A56DB957662C2058F045824DA79DA35EFDBA1F8D71094154643A570DEA95F30CD28F28AAC3F3204132571CF9CB688D27ADC77662AE925B75F3FA3854FB849C4450D4CB6169788E2AA6AF63A30C3654B81D08AA118773B87D0F76B7AC443246658662BEF132ED13218498F0E4646EC7782F63B0169DA7890C682A2D046E13C096FE521E4E42851617DFEAF85CB366C6DA7CE656553264BF673906872CE8EF4452C0993B2F5191F2E83117E2E8D66D3FD8333F0DEBBC9D2B1ADD31ED807BF3DD2DC056A2590F8FB1CAA31D110F389DFB045C26706802ACB2B4E7A2C1E5971D07920A58FDF2E30A48756A2BE92FC4729E5A779D61E82477603CEC73088C12314CC89C99C0AC91E41F72E830956F351D560136FA2412F5A47F627F5724A73FD4C584C9AB62F028342278E96B7F3F1EDD270CA45BC8B5673971007FC557E9C3F1CF7A65C80426502213EE2D5F32AA726C336894E35AE3FA3DC452F1E13F94D6AA2BA5AE7975C14C3C2804FE71998AC481241C66FB81AD62157E4058884931C93DA6C377FAC5DFAD4C6FAA505461BAB4FA85266922B2827BF3B9A431EAF25C5ACCF839F78A0029E0DBABA8A2D52B7E0203263B6C265B03C97600C7539129C3EBA3B55CA8820327920559D86878136E40460C45F5E3ED4D0A84E81BC2AF68473AE7C9EECA62E5591729DEAE74C4ACC974BB998BF6FE01CD2A781F10146CACAC66A492905973B06C3917C72268FF89E84736AE386ECA2913CEFEA3D55C6CCB392D1B1C1627269C060962ABEEEA388791F5BD4EAEB1FE0338BF18FC3401BE0B7AB55C28FBCDADA3AD2B39E7BFF28F4F8F31173390EEFDC9927A066A554E8175B92EFB8808C92527489194C6192D7F1CDA78ACEEAC77E67BA502F794E6DA3DADB8C12E5EC436A1AE0AF571F34A9B5EDCC64A8ED34354E36EB67E8D616317075160F725202B832C7ACD649A86FF7B135960A3F295786976DAC96637D949ECDDA43E7014C451EE50EC752BB20C8DEFB199207C6B2BB0DCD1FB212E6DB26476BB3E90F5ED2B9CBB3F1C243DADCC622CB503D08FF4B266A742C5C61A4FFF23DE25CAD7C3D13C2AB50AD2AE77BFF6E1B18E593283A0BB4AFD6111C9B5D5D062F77EB2CE8071561A796CEDD4C4F819373685B4C3D3D14BE5BC20A72EB9C6C2C1765BA887608157354D0A5BC1F4158D23ECF30AE3B3BEF24BCF8530F13B7FEA54722B57A761169CC827634A84314F697B090425BDF9EBDF88A6B53515E01D3194A8DEC7B8E15BABAFF42E0E0CBD1DF286A25C1FE3934201EE19447EB1E29BF9DDCD14EC9508AC213CE17C6A5BA3BCD207D1E41ACC4FCF9EF40EEA8943DFFA282200F37724413A438BADC59A13A07CAF163350F2663D2B381C14363E2372E30FAF1381A8936B61DF5370562BDBAA1102B6589DB74C635C791942A5EC148F66DAB803F469F6C39DC225FBA4EC87BDE2D5EA31EB517F3A43835D4B88C556E84D63B26894BDADFC4624ECB432720D164BFA5F9D2A685728BDF1195910A94C304369DE61C34BBE32FDED451534276DE8E3697490AF835FBD8153B807C8A45C1E7057333F99E820032F8051FE8FD6075027041DB4BAF7693BA2200A671B37679B7DD088122F48925C64E4C3E999BE84348445898C3A1690A265986FF558D8C6E0F2FD142E1A93F4EB307E4CF2047211E005A42C92A431D111D48EFE4762DAE025B183A2DBC57C45D98484DD85339EEC68E4A6CEB3157161217DA7DF44029C1D042E4FC302079B222043323079BB6851FA732A9A2A91A6D94C1EA5ECAAF91312953EA0D246CCB56C9C234EA53031C36D3550814AA8CB39D77F77AE842CDFFDE17D915AE29B8F118A46EDB08EC5E426E30DC4DCD0B1457371EE18C7853B93936B8EB4B4334CDF6413ACE28D68B1E6EF72050C121289DCC107D5E859730F97AEE4407048E4DB2B71C91C30B63F01C2D02845F3192E861853942E6DF816067F4C2A8FFC475FA7192245A5463C9793F4731DC4A4AC3CA203A270BBFC9BD841A224D347F8D30EF84AFDF9A70969330E0776670EDF1347C716AD931EE7B218BEF3B62C3EC4FCDB6B41B9D42509BF4E844E7C85ED2CB6D40E0BD125963458F8E060C1DD7D398615357D7C2662EB4139D952D67573C2DDC83048A7DA7B9D669CC5002BDBCE183889AAF434A6182E32F051DCFD93692B9C096B57E6BAB5D22E72AFA2AFEB53B4870B52F5F3AEBCE58ADDC005DB10580FBEE6CB9C598260F364962917A7323AF20EAF3F511E2346B1962ED247AEB7DE64E68D6C5C1C14A92F606B19BBDE4A68494BFC06D76DF422EC182FCA8C0D1E300896455DFBD49C29C858C64E80A17C80B51961C0ED312F071B0D62D7625DD3504A2CE214AAEA51AC81CED4479FD9DA06C7CB02021F4F347E1F20D62C78A50A30A82F288407966D69D837F881FCE431EF0 +MD = 50593ED5ADF3215010531E3A1BB6585F94CAD6B57F34727418C29DA1DDF9D0610BAC7781FFF796627C9F51C18B1F0F0460F9BA9C13B095617CC78D180A719B01 + +Len = 18680 +Msg = F5080D4C59E804BF8F34B334CABBCC7D32011BDE3677F4B9069416AC204114CD9DA7A0ED0F4B4D8344416336EEC15553EF526B6DEC267B1242657DD0B508AF81FECF9CFF9C82A6A7A9539814DD7E097615EF15373836B5D2F765CC8D5F82E90449F13AA741D5EE2FE63898E55ACD85116846807606FE1E2E29F98F9940B067D0D1DF01F080211B2EE4B0A30803782A7BC2EAFDC5EBDBA91EB05F7D7DC8E34BF6D44FEC05824F53418F235FB64E899EE147BCB403C8855E94AF378D182D79C3EAF977CB4E9D4A16D990A6C388CEB567B97785E6F2BC6745102B99AE765E960B6B32BAF01E2379CD6ECB74D3E1A56552F5976DFE5C742BC92BE596CA742FFC3D0FA032AC29F9F7C1A5C43BCCA62DF7D9DE35D0C7C179DB2E1AA255CEDCCA55064C2049FEE1AF2CE5EF696ED4BC46B7C55BDD51F2D44C8713FB2475C0B85246AC0103CC3863B7EB026AE076A600313F6FB40A4DF62A2AF81B7E917951EA870ECB31B3401928B5046D9A1E62D14B30FDEBAF262868517318FE17EC3C0D52524F44120ED8ED3BA70C643300CD0BC70DA72C964A88F52C3A91EC20BFEB5CAEFCD4D9C7685D8407476B5F34676C5EBD1E88A6CFF1C625322F8CD59B9ED60CEFB21F9491B95E72791F7AC7EAA3C16159FE9DF7A989ADD6C2282C47585E11397EDA9F47DF2B40166E03BCDD6186B46C6835118268DDBEF19A28BBADE1BDE0228FFD7E8B3C3C598D89E24B8CDEE79C940254DE26CC6814BA2722E42F7571600B7325E1FF300251D52A895B8CCBD049B2953B8D231445F68F7C26EC25A4B8695C8AC116F736BE939EDD762C9B4743E463C9B9B2F88E0BC0CE78781CDDC3BCA825ACD463C7CAC2AA6C430BBE820EA94AF9A40B1B5C006E9641A2FFA6E427379E1AD49C81B98320B3431FF0030DC683D61026438BC6A6D34B2C73704D9F62EAEB13ABB3E4B0562B4E0482CD6B2D7AEBC0367EA29A88F4A76F3D76FA1197E1DCA92C8216C84C1AF9B8C78C9E3A7799A4A79A783033B0F5547E8E75E69CF3615AB04EF989FE1A463B1672C571D50AB56972896E8A50C242F22C7F6E27CA4CA793F627E79608680F5421B28BDD2589F05E65430DF774EE873FCD1234064F7A33CF5A1FA4E368137FF9C1597F1FA0FA36493F20538077669EADFD3B06F788C912C715FB5D334DB6BED133A8FDC40F5496E66AD63881F0BA3727416715865253DC5290327B515BF68DA188DD5B4B0EAC7CA712CAFA8FCAE0C5503FE58A219182F1C30DA6D0C19CFEE897B7D837C97996A35F4CA8CF0537A01D17E7DE0CC9C129E4DA0ADAF1FDA85030DF9127BE628263B0624F372C47C3AC87EB945A57F5C732BEEE81A7403001798992F3DC944114FF3D54C4666AC5AC8C98D0D5596CBDEB420665F5EDAAE747D54CF7EDD37B162E372249D135938CF17D174D12D88279CB4C32BD6F018C766DA6983D4EA51D6BD8FF0A9B34E9A93BBDA70CF1B4B867D60A74811FD98D52FAA559B52C755CB70A76C94BD19654CAE7017CCD70222BF08C5D7AD1F5E4E6344FDB3ABE703452C29A696F39F9826ED8BC510A4A148E5BF8A5DBE6B82D7220164F08011C05AC5159D52CE9D45D758B645BBB248C2D341DBEFA1F8602C5D458A64F38F3B04DB39089807B6A10E1BB52770B92CE72E2D3BB0C2241CDED35054B84558D1CC099EF7B2296951951D5B6A22F93BF962AC5EF8FB55EC6CC2B316428EDF12078ED1B66D525D022819CBD489E1BEDB02FFBD507D55F9B5D4E22F6396EA233453754688D20151A09C70044B8A5A9AC033C3C3B847AD833D5C05B33407666EE82F9581DF9034EE15A9CA67D52F1D9B634B84C1B8BA9E515F1F060A5AC5CBAE2DE75F94E112F7198E239DF08D3103F065627438995026DF511C6E5BFDEEE5667D511D4181850C7C5D179107C1B86D24D5532A88A4149A2810DCAE73731B0E1247281A6FD31613DF6891B4C17B7A6A9AD9B77468254B93F85958AA0F01CEFC10B25169DC46E035D3F24557B4BF0E7D60174219108D916FFDC55E25BFFD9809EFD058E12C14F39C69D8FB73D3EC6458F47F2F8DB901BA76C86550B11B54D0641D4DB3EB000057DD00F2E511FB7A47E959A4402A3AC5462234B40B184020FCF7A0396C4D00A987C8741A4537BC17102A5C42AFEAB9F71EA66ED4CBC7B5EE682FF04F56F4BA1EA0BB326C4089930F9E3F3FFA3E06637CCE32113881A06CC3A13837448145C2BD01307A580FDBC385D8F46FB92FFEDBC8918D269DD1871164D4B3E2023441EC8B99C82A5F09821CDDF6B38C9ACC3BF3A38D5628016159588C33EAA29D9463A537C000A16AD8C177DC4CF716E625F46FC4CA8C19FBD8EF320F1D680639195C8B195B0A02738E0665F4190D6287E589CD6DD45B9E8CC23B08E1681BFC6F66B88DE6B091E825EA4BBFBD697E10BC407570AE4F2A3EBE569554639C2B8E051656CC30C837F5A92260EAD1D552B45801B6D28134166796C87F900225CFDC3CC49D72DFBC18D8D95B1E160ED3CAFD5C3467D48AFF87402CBCB1E1420E3FCB588AA19C8F42753B59DB6FB6A9FDBA127CA806DBA7DD97F2488FC2E438EEF57A4CC85B88DCFDE76AE1FF61225A1CA8BF4A14F729950322EA681B16D6492902506702DC8F348E4D3AE7FB55FAC1231FDE82091B34F1791B6AE37587B10325F6FF5E23B855845B86EAE90785B9D10D90A16644D01BB626F343B908A9591F4069B21822CA4ECF985C1E710475F33DF9AF4764CFB0FFE649063775338F15BEA7CFF29F164678160960A80ED148C9B7FAA58E9139911D3DD9536F69646F718F083DC9029D6294FC4C607688AA75AF350AC2C0B001A157D023D73D86ED8133809FCB9592D12089CBD7A1BB6BBA882FE227C09A53FF088907CB4BC2FB4B7F62D41D3D397C4FE0AD12BB3964370E21712951C679814D506E738C0201E42181D231136A435AE0397B61CCBC5E8BBEBF8EA77C8BC48BD6211F29248F9D498D818E2B544D28A5E60BA727F32EF4BA2707962230C900076FB764D0ED5CE078C9DB14DE894BBB836C6DE9E83202AE89F9A8D8CB0341E1C81B5FA8B16731B8E231E969C0F1EF95336D4E73EAD6DA23DE3AD1EB608ACCE4D4D93996DD76EC1F5F2C576F6B3B76E07BD8A810FF5D88B00FFE48C42700B61CC499336E7FB57AD72FF44FC631C7222C9A3D1ABF6E77B5ED7FE2F7228FED6C849BF7142C4103989A80F7C15642AE61650CDCA7E854EB25E9E72F4C3E3768E6CCC8BFD556B56D3507EDDE9E5C331DDEA75568B07813D20E8F4C9547838ED28448F2E67158ACF0C00B131473847816C5E2DC215 +MD = 68CFEB4AFC84FDE5B1A2F73A914C705BC211CAC69FC68189E3587412EA741E46FD230AF54BAB9AF65AD5322CB691B04EF045C15A187FECC7AEE9FAF20C8FC658 + +Len = 19184 +Msg = 34A8B8956BF5ADFA5EF8F10B673F6E53BC3FEF8DD1F9428078C256A8FA1D8DA1E724BA90B65BD4394EACAC5469C520BAC2CED1640BA26EFEF44F50BAA72A9E7CC8BFF69EB8719AA1D88A2450F5C3B4FA54A2977CED1A904C09356F483301ADD61006524FF814CA0B1FD50D3F3A30492BA70C2921E3B9DA58CF8F5BEE32AC15E39371FD9D784256054A3D145563C62E7258FFF3A16524D38767A75FC27FC3D0A9F0F585A0046D6369DC6DD17FC65B53380184B4D9EEAFF245FCE1AEA0D4E8407D2EBFF6EC0FAE8B654747EECCE13BEA89D4879E0C92E1F47EAD8E5CD7F56B04C62C2B7CC13C5CC2D9E6A87D77DE73E54DCB9829001A3A9813DC1958E4FA10BBE4027822F8923AF17D0B04BDE97B9810B31E26FF74F9AE95E50C6EA25A49EE557559C2C9C83D01737B6CD7216C46859D2833F04DEF7A7EFC849F8B13F627E20FCF0CD3E0B1CC7D0B22B4EBD576CBC2A397828EAED2E4AFE51104507C0B3176A74A0261A159525E0883F4514F1856D1BCA3CEB1084441E99FACDCC5B7EDBC5A4C803F6448119745C23E5D795A0AA96F31A48F431960B3C41C9C6B13A22826743839E571F40BF5C965EEEDB293DD5DDD22442071895BD9C34D8A344907E17AF7EF48008801066AA8F434019D95A01CE34C30DC116D6A5D9F6D43BC2CAE327B613E61299E75D580C7323ECEAF494D54825553C98514D841568F5BCE9C97194EC36A16F6B10D9F1808ECC1DA80BE4D37735ADB6D1B83A157EDEC266612E65E57EE419ABFC35E342A6772B5FFE8AB1D8095BC92BF9982A7A32E8505D8F2BDDDD626D09F208930427F14111B91AD66EBF710D9B1EAFB22FC34B2616458283E9FE1218A2886A7B73742342962BFE5DFC2F829A77226FA8BB6165EFC66873D618D8B6ACECE0412515C5A032E44685F7354F2DF2CA1F903ECF1A53894A9A87E07FB36759FF666560605CA55488A7B3BFCFEBF6A0D616417C93835ECE08FB69450E041A7C23981520CE03D5194DCE2AC492F2E4892B8028A7EAFBB913930942FB26643394BFDD67B9381B1581F9F62993708A3C461FFA43F11AF679B68F62F2553500ED3D7D04990A6FC1017D8D7AFF9B6DD58B22F168161E71EAD31183EB338C75C0BFA00A701A19F72B73C5A772090A86BEC03E4F9F2554948D94E150310C5AAEEE46D1AEE5B837695FB49368E59D176E0199CDDEA6085C897AE2829B10C592553D54EC9A0A7B8B78809A51B9DEAD66D0879E8D716B0519801AD71FCA62D848313D40F8224861E58F0D107EF855A6FE9315DF8EE624C04C56473C61C4006E9372CB22B4CC3DDE10E60ED03D6D6FC928EFEFE11BA7CEC15351FC0B0A5597DEABC58B91040B70BBDAF8E1615EA5246CA993BBF653EFEC3FAFF587467A18A4F3868C1109FB355338E54EFF58A1C90E2BBDADB0220F22511C5D8CBA90AC474FCCB0F9DAB7B66109BAFBA8E82382CBB851C2F0869B3BFF09A90751B591BDCB617C6871FD8E22BF554F3AF8097E9443D0D85F9A7AC3432DC8B3E3F0C8A570E2F97DFB0E4445152E4DD0B0EF1E656DD7B7A50B303B6BBC73439F873737B47AF21AF435C9703F704DDC153B26788FE932CFCF00E87E33EB195A38C58128A435C81A0DFB42EDBB0B9EB27F64C0FFE8357FD995E8AC70BF0C7FBB2622AB5477CA8F65EF1CCBFDDE0DDF2D610F7913D7FF69279DD33EAF4A49E3A5326E57AE3E8DFB752E989C99D170389C01C9ADBDA22846868CBAD5F62B974BFC6A5A4A88EB6E04A28752DE094391576FC17275D876A5D3B470845A7A064E00BE791B20DADDBE58812CEB296884FD7246FF67411AAB73D049FC3250DA9111D1B3F192BD8BC650FC4AC9392EB18840B36D8460A80D7967B20755BFCF8251836961F98B5E717D7F078D3A2CBB09BFEDA034274B93E8092D37F060CEE0659269A09A11CAC907C0EC027DA78A723A207B217735B15998ECFB3C43D87AEF6671B54A76666933DD98D5DB4C7A738C43173E77B2573C7618239F4B664031477029666FB8D3BC203F1190DCC27BA0608B276B51F7CFBBC70F5D4B1443DBE37DCEA0354DD288DD4D851F182283FBAD31D4A8E5734A28C49094DE61AF6674960DABB2E6332FD5A9217A92E5CB101223D98A4BD50E56824C7DA09AF1668B1E98BEEFA8CC9DA8F5B6489FF1F795B6F2E3DA96526EC0233604A5C300CA991D5090A358AD21B01E918E5FB9FC0070D3EC1A8647A1F40FD9A662DB16AAF39B8FC351D2FB077BA37800258202449DB1F1A95FA9DEF31E48CBBCC594F6AD63CCA4FC3EB3BB5728CBFE4026C4A7ABA1FED992661E58EDD334B555DC93D34BF346410122CAC14F774B3990E68508DD21EF27A83D6BB6CE21EEFDBAAA2CA63443000EBFAFDFC18C0C96D7FF7EB47448FC946A1A096B0008EAD107520E2536CFF86CEDDC93F5F8F727825575C7FD7D528477E14549C91FD86FBEEA832D1F69D21D05F220D81AF9C241766CAD8AA6154DD6661789EBD44B67915F2F55B38EAB1074E48B1137CFB1C440F1BEF438AC1DB4180B4D50CF735D39AF8201E9236DC6056D2974B951AB4174751969FA0B33705FB605D2E926A764DA3CA2992CC930854075C0DA0E5D1B7BCC8B66CB937FD6B92A2776C88C02B391D353759A04B5ABA5034905AAD61D0C330C9B00969D1FD1DD99284D2313E90A5B8B0803BCC19D702E131B4133BB91CED8AAB62B0106CBE3D0BA597C69CBBABE0CF669FE446AAD7DF1E4E6827E280FE8F2EE91C99B1DB44D10A6576A535B4FBC6C76269D1B0252CF482B921889AACBA14B4C0A2EB5907611290CE04B29AC5436EDB8D5D77A6E8AC5C672D67E107B6A866C4BAE36E82E22FE6FC5B31538484402A30A5221FA2357C3D17A1317EF8E5ACF7329C670B67D38F1CE60A05DD991BA855C598F9C32E518B95B6AEB84587103815019E39753D43A71A8C825895CF2569786358B78A74A5B47B7DFC3292146BADBE0867A353A7285487BADDE28E9D78F7E8B2FE0E7CF78330D4BADA0D606D6D40FE9296EB500CC906545D72596C8C98188673F410576D154E3BCB1F8887E5613C3CF279BE307C0224DADF58A91E93211F1173C461EF42F351C7DBA499D6974245E1D88BA22830B07F6D735C5A74DE475C7F08A940460512EEE2CAA46705580868D639E46B3FDE805AA1343CEC3805CEB7E624539FB2B362382F5BF0D55E6F3B90D2125162AE7BABDF96FEE54B29BFA9EFFD80A508E80B478EF67997AF166B5417620BA5886D631DF501EEB242CC40D05387C9730BBE8CB070B2210A8775DD25A5B76755380BA7E2EA02142E43A3FFFB6F1BED559CAA68B09DFC8DFC1864EDAFF705BB1E30FB58C3A27C5B1C425B22D0C1073726A2CAAE5CFA631CC2EDAC96C10FB25329F0E6D15E4D52694F8670D3D054E9FBB2 +MD = 1CB0D89895FABC04E0B19A71B274024A67F08A3D881193EF438AFB3A8FFB033A472A357F9DA351C7D5BDDE9B888E9C4D8FC9216A1701FEA2606F8A5A6475D32F + +Len = 19688 +Msg = B7202C31C33E5579599D14D12511CD700E5A077679266B94B44586B363677692A4F2838F50D437C909E5A41BA747A6F2C72BE85149D53A834F7E66B6DC74927250B543121B6B4780542AB511ADF2011380F0D7133BF82B38A2E377B5C7755E49BB1ABC16EE0A4A772F5653BBFE06BE7773290AA4A9A059B98647C188BBA609D31AF594D0594B375963F249296FC6974D2520CFE9EBAB8C4154F1B9A7EEE66968B853F19F74D3125B8283E5F167395EE1077263EEF91CF573F1A258384D369C0A1B8F4E12C05F942B330D43A168290D82325EB2B77D49F25E028AA37751A28C405A6AB190B744C5F998D7CABAE18CE184D96BA9BE24281556387D710E66FD7780EB1A0D91A3F6396CCAA54A7B2B223ABC1902A660A44ED1FC2606AA054E1C0FD9124EEBCC0993922B79AB6DC225826CC3FBB0B99046529AB3CFC79EAB58EA68A153F0C14E5735CB4296FBFCB23ACD158ADC1B049BBF854054A7E08BFE0B7D4C8896670A90BC1A3A9D4A2F74D1FB5E143A4D22EDE79C738B41B91B93AB34A91C8E327BF17A1E86884544B70557D4EC184F82EA5B5C5682E33AF7CC38C5F91BF5D024CFFFD145A5AEA6FD7B6B0456AF14BDCF60734CC93C1387A48DFB97B91BB23D7F68EB783EB0CDBD0BBE4104AB212147C9CAA9DD923E883C3E24B53AEBCC3F7FA5AA5C887078628EFD7E82543F8600FDF89A3312AD6902271321B77C1F8DFF1B92250C59E037411C6791C7E930D686E7BF359EC480C6D0BD05D2009F2D339D2089D5202C65B8FE737EBEA6CB6D9271B0BBD3ECD6328AA27EC7722CBB3E700662EE6AFEBDC4FF5E9B00949EC3DA530AA271A78CA7328217BDB5600448D9F825836E04892CEF50A95F8CEAAA5C28F2B9B185536FF2DDF380808EA351BBD7A068BD43BFE8EEA7A3292C65130915E828204C0EC1939F1E3088058CCE4B2921530E3A2C8CBD3FCA2EE39504B72EE72DE1203164AB0AF78B66600B27A067CD62D7DFAC4815B23A712870AA4F2659157037285386BEAF2649741DA70FB7E031B4E1F37768A0C349C7B8C90A3DA6138447DB7CDA00C9FB01647E3239A680FFB6C8D4D536DEA7131480FA95C597BFF67AB5BAE2578954BE01BE5F3892688A98B0AD0A21B0AF40E562175164018D32D6A886DCCB256ED7C4148EEB963042BCA34B689C44BC485F286A65D1EC44E5A0C90F5A1E8D6A29DC30810917B8A3A6DEB0362D5967F75802E8174725B734B61787437AA6FF8A4FEA6C2390C477DDA085A62C6477E994913502B862BAE548798A17716A48FCECF315487844A1D98EAF122521173807CB72308CDFC6CFA2F1B9324A305869E47CE15CD18CB38CE83ED3B41A71205BE49CAB4B93142D8E20A4C4365E4B0E72B48E5440C8E8F5A8ABBE22E5C24D2FFA0E062434FB17119028299AD5AE732F0FA39127E533D591A27C7A0107A9442B7C2211C2F7FDADE86BF032CE72E94E71D6072466E7C50C62E01C35AF9BF5DE708A309C5694C84ED47AB397C409057219B2B81D9BCA7526765C11701E6993378BED05F5E5BA5F9C5FC3E3E6097D39C86B2995A9FE75DBDD0CBD3A9D96C335C8F30FB00419622F8D6119246F1B94EE8524A275738A2B312D036AD0A8AB72AC50F76C8642B00F354B00E0311AC1C11C1332372E4AD1A982027230536E7A3D451BB1E55E509AD026188668BE90B12CDCB64AB4C19E46BD19983F4E1D26F85258504AF4DAAA3C188FC2ACAF6ADE8FEFA7A42ABA19DC7D1F2269FDDFB15ED2C659725829E0736947DACC67D83B0FF4F1DFDB8B998EFD4E50D8E505583814E049A31923FEBE479EA88816A7FD044A52339B761F9E069C7585D9ED7F2397AD4C208AB06C5FE4BC6FF9B367D109DD3FBBBB48F319053C8BCF643E1B8346EA42920E9CDA202EA0A74E44305F8EF7B18CFA5C921C9E5E546276D3EAD2568A9DF7B7883D4C20B0F38BED538D9B41ABA491A4BA3E4C4787FBB6F75B18DC6C356A95DEBD8985A028C1D0C56AB5D06406E547CB4FE88BEA7D0F8B3D244F0D57652A18D122FBD1C6DF0002F3BFA071971399C749A05569F972AC0C79CF6532507740C3B906E1C56641942E215FE60002ACB2F330C99800B84100982123211A1BB9C05845C29ED03E3549861787868CDF9F20C9DC3DD9C638A9D5EC0238AB05BB2C31E475F008DD3E5C9ADCB0968D022B99F1C848339ED38601FD594F2BE5438440F6371AC954573012D626F9CFFFB06AF4DC2F0C522E5258968A6EB28822584835CB64DCB1A1593029588594665BE0F56848E24F6BA914D3AC6DF6EE019A4371D8D7CFC74733F29784EF56E0183639DBD8FE001C63E85FC3206B299F1EC1036DDDC01851D189B5EE270EE5293B77ABF4A4BC6F986814FC0ED65011754F4030DDCA7DC67D6051246136951CFCB6AAFE145F5C14DF5390B105FF1EF9D35D31ECBB05B2D88140A7C662CA6F58E2682CB21F1DA837191220E3B2DBF92546D576E27709C67FB3EA8AB8B53F394C82834DD9FCB317A1B51D1723BBDA7AB5315778B27AFA89D191F1A47F8A0E0C15E33F0BDF577F92EFE3EAED6546A9487233CF9C77550D482DA1B99FB3B721AB7EF7826550FC4BF953426B69CCA80549569E1EC6E523822060B4CB8A88BCAE1B9F480E073A90E4CDBC8E60994B6B953ED153C9DA146F4AC0D2030105BDEE296DC6BFDBEBF75E6353ADD84330E8011F9483F83A39F8D06A50961A07557D4ED83DBFD9E5CC434F0EAA70D69DE7D034E359A412864D8BE292F588D607294A57CC3C5065781E111439A2033DD64B94B7155AA565368045214C588D3EBE04A04B7F7DF5630A460BBFBC39DEDDE14D590B2C79664504EF027F4AC22712F8EE8B4399F01A7418A8AB9CDDC4DA649F5203A9CA15EB758059B911B7431EC07AC541D4D2ACBB3D67838F4BE54A387757F1D19D9CDCD7CA1E5E6EDD25046BA117844D98153008401A83989C6788274852488D9C3A90A3C0936DC09087A4DD6C08EB2813CCDB49F1EA8680F66D580B10EBB30901C832D833CED19B52B419CACC1E01A61D16913396CBCBD31EFAEFCF1FDA31072AF08C1F1213658C4C6DD7640CEA2C2C4111A4E2E39B806CDDDD6C6083CE7876BD196400BA07FBB9F6BEB7656281D9650317D8F2EDEB962E62E31FE73D53759A357DA4B8571337E3C7588B998628F567909CFBEC3D6BD818214FC7F0FE7225E0F8AB64BB4B0D74AA79D9945E56177F0E81793552B5F2D78289309E132D16FC7424155195E1F5DB8CC327B650F2E3F1AF987AF84149052F27A1DA66251B08A562E8BE10E92F976CEA41CDA5317035DD78B327D9FAAA0B3C897CE1106B0746606FC4B6AC5F358D2F2E10F7938E5FEF61E540181BDCED5A74D3AEAD4207E18305A4EE2E999435A75914F21202FE3F39C39E5FACE4E391910B937FB5ABE043D633410E47F99CDE9DB85015ADCBDF48F45190193ACF6E6251E99B65A56868CD248F6935AA9C6720C2979FB5A5D54B45FE84FCE1 +MD = 7B4DFF95FA7360E9ECA68629303D093F3CA92944F991B0A719FCC316F657BBA3FAAEF5D43568EB88591E86427DEF6BD7C88FC7DB271182EE8C495BDF4DEC74E8 + +Len = 20192 +Msg = CAD9EF077A98E3F2E5706EBEC4960D5A5B78B57CC8017DB1112F2C537076350C807D5CB1421C235AD2F8ABF7CE905C26B18566D8FD6AF44908269785E789CAAFA1002BEA64ED46B1ABE2A8812FFDF400B18A39B731040A8C703D837E463F29D4218CC4AC0E38945F5C79263D2EA86AE52811724424644EE274C55FB6A050782807F3DF60547BA058465372C8A664E833B5176CED42C40177CD3483E636AE6F0B9C7AAB5DDE5309E5F377AF74314680A72DC1088AFB861E6D564DB6DB6E6D3E66DA3F3D539616408D7B0727CDB924BBA38C3BD5EBB823E7F441D2567FB36D31313C5834154ABE1623723449FA8324C85A149ED1EB8687BE0E8A6C07527BC0D9282651CF36D5596E1E07489131AC3C71B75513AC3ACEE7CF9098D1D5C710D31A80B2A6037B37228810B885160B764223D4B016480CC9835A695DEC0013E9E064C0834B580C254C6F04689D0FF80C6999882CE2AE5B4D8F01CDC5C2728890C7C795B10C5B7E01AD2054E750783D4DAFA677CEF7CA6141B0C5FC6E5FC38B0D1AE088B16A02C31FFE242AFA4264C21D4AADEE3FE6B3F43AFD38FC554BF168C4331A388508ADB66A12B85AF205E6F2A6000C7F222B5E3E326AE9E572956330575A07713EE32F427878A62146810B85483F10363722279AF71290E58FD7DA3C79C8FA0378648423E18F2BC4649E8EBAC7E28AB3F8D1AB64750791FA9158B0C9261B2DA1A8174F5002AAFACA122EB2857851DE26278F594B59646B3B2F6B51A4011DED6188EE52D64311DB7E50DD8197EA0187EF00F0411D501E5D1BE946E31603242757B28F3D05CF1744D62CED24366566DD16A3F8F3DD4D52D7FC891A31E83EE8038DD78AFEA84EC8896958397AA7ABA0056DB3B16A04A2023AF67A1948DCBAD4A0A5376475A320371194919C939F4E63971BCADDC344799AAA151434D2A5C402D02D4CCC29ECB1BC40B297D9BF72AA09CA9DD2CC5268F2C3F49E10FBE4733EE83647B9EFC1F59BB9F7D8E2BDDFCE717CB1AFE7DF9FFE8B4A7BC79371B74F1A038C9C4FB8B7B1EEFD38988BD591DD2817E19E9D6C52B522E90DCD89C70D3EED91B1286C3891D546F4E198BFB385554E882ADE07AAAA4559AD517C5CD7CEA7CC659BEAF8214716ED9D750D382389EE8AB7C3C8AAC48968220027EDE85F939098FD679D97865926F120D8A9A360429CF00A7C1DEF836A9933655ABCB384E9F630B4163F204238E9A38ED949AF36F5204B74DCC45266F89AF90E6DB2C948E7D773D72E653D35C848C77936E6E689F75DD78EC2754E02FBE119C572885BF090B04A4390BC7D5983809E5AC7E4A16F6AD023C8B28E6B01591B0FAB80DFF9E1300DE11BE3168BA2F1691E6CB7C416C3201FAE3F171975BACDFFA520571F518FD8477553BE92539A0ECC5FFC161043139CBFA35673F71949FFBDA64693A032CDE6A34432CC7736F1856B4DAF68D39369327744355AFB6A4E89B82E5BBB1D53B5ECD1EBBCA25F6B51F1B0076C34068676B2B879C13F64D91B277FC82EAD7420F2497B86C9FEB5341AA553C7916EBE6620DE18EBA7F453883A6E8A037C314EC159869132E1856943CA6DA2411830D6AF8354346ACB06578CE89E277E2619596330476EE1B8A1ECD28E201C065BC30ECE1FEEE5E7AE182EFA8D0310EB731C30CA7184D6E9F3C9CF08EF2B2E63CCB369A36AD63207DDE3CCB04DE341B5D093A0A140AA0A8DBE811F03114B235F07499E622EBEC39521FAC671183F0798AC50919D260941415832B1C5686D7C27A7A5D0E6222A991E341C9A8B10A76E01E79B1E7A0C18227A39079D50F5EE94B18B62C51AC36650ED3ADFE142BA5A34A839449599355D4AC9542B146156BE4FC4DBFDD10CB8DD15D0C51AB23AB19C16500F770693C94EF61DF26DA43A09B00D4EB7206E9325CD66780AB47A7E95B50DF423C40767229DF1DD41A808FA70DA64771FB91B5F6F76872759A8CB77FDA87E2F2D7F030B9CDB456005DB9A88D0F27D4796803BD570440FD0B7E99C3D08FD8E603C92098AA4150D5A87C2917CD750BF0077E9D71C43F5BD3DAB919C23E16BB90537E7FE694A847EE843DF4C8262D44C39BCE4D9C49069B213F1074453EC66EA054833FBDB72B81161DBA424390413DBCF96CBD56A35FCE6510DDC2BD9296F7CD2F7474F86FE24CD61C9665CEE251420C0A0D1F56F9FB06C83FFDFCF034A5C27B8C68935C4B2ABD2FB92D570F1FB610B3FF4F66A3110A7A0B89C07191BD5928A39D579191633B96F1123E5535953F0D25D28675F5DDEE31FF2B6E13FF21A2DB1990F4EA8D0AB5D4A73AF9A41D5FF8B1467A11CD297EC416F448C5B0D77DF8D02E6880A7DCA283054BEAF1FB986ACBF838B68A32C6A4DFD097C9FC998FA13E382399677CC947AF6E4CA5B37BDBDE394B89582C04BD05DC7C04038C626C5B72788189FC01799A4CA03A1E65C744F6C4893B19D2749709B23AF92592044224ABA18E1052820250D0C35CF8D76E51C73C94386C6E0F147C770EC379976B574EF2EC6D68C39FF2C287FE5149F71497E1ABF07176B024E408479BB7B56B373367D40A5BD08AA38BCFCCC705531D2984CD386F0F47F0864E00D758EEC1BA0ED0971A0A2A84EEC663F198326AA62F931DAABE381DEA692A7C43425D54ACD99E2FF5B7464F5BB794D2009035CA9FF721B1B4494CD8CC5CCA9957660F29B77DDF173D78AC56B36AAC5E28374C38253B22E16BDB93E4CBDF9F0E854EA1D79983F8F9CF6D25DDAA7648055354A8CEA372BA54EEFCA4CD040D3EADD23B89AB64C545B7462D2D6D2D249A919703BCCBEA471251D36A1A27BF0FD653F5F1D8490586D9568AAB141383B186630A270BC7D2A8A299B4C90BB22FDF08C30B2745DBE6D6AE7DEC9BFD112F5611A83F9DEFF408346DD62F75DE00550F6E56B3F9F9B80D7027A0C7BF6306ACA159972F2AE43346985A4601B481722EABF3786696F9623E1366F93DC585758FE8F245E82211EF984BD31DCC9FC7D7CECD099DAC9E45CBE655DACD687A848F53353D7BC1D68103D4C8C740C91B69517B164F47ED718E52687757A51F086A4DDEF8EA4C858580D6EB8064A044534E277A7DD5975AF13EF5C43066EA26902E7A36DF395F2495ED4311C3736E91450650843A1828FEEB42E6BD5A05D0FE4AF8D7A543463038BCC3D31A589108038DCFFC8C7A3CB86C57CED3A1E3E22357CBACA328EBE1DBD16C1B882FB009A697C1EFEB3EFCA007753DDC51F6E7DA8900B3A37312EBBF41C0A7ECF23C39213FC8A23C2C5EE6D783A1B6520B07FF747A143F6A8DC512209C37ADBED276DE13C5CA27FF7A595545C024B11F5EEFEDCBF61D92EC0A107BD1CA00934618927DA450C940F6DAB1C180B29E72C0E8709627E51E91632C364FE45FBDAE43AB876D33000FB1AB437D499B33250D75A1D23192A55F813859CB693773DDDE616E5570E753128572BC119A46951C86F99B3F931416C0347D95D5A6BE502C3C8F696EE026C3E66E4F0A3847AA49815CF40C902BA79EC7C4E3D82EE140C8C09F73EBAAC0B5CA11723B08793FE17DFF3EFCAC0C576D8F5D9699B741861E6E2E9770A +MD = F29C92BA7AE087BF535126ED9CE31858BBF5CC07F738FA686291AF9CB47639C7F50D6EA5A211FDBDA73DD99FEA7ADF79A8BDFBBB5B47E3045937FADAFA553B36 + +Len = 20696 +Msg = 192632FDDE8F5D5C75B31A51A941B69D80E5B6A5A05FCBEBD9B8BE912EBEDE8935CD45C63AAACB845E8433C6C3A2B4A2A0822001018611CE54E8B1045D0D4AB45FE08714754FC6B8C71004335F3615534EFA0C19EEB06DEA3612DAE67F40D2EE6AFDFB119E1D87F234F380B8D7E2F44F5CF28FAE6998EC8DD6381033AD3709EAEAD1EBC3A51A3BB534DDFC1697BC49D9D9F0C2E06EDAC9B66C492500BD80C25C383C2BCC082EB6E6DA4F1C2C4149CD3BF84957B83612B3351D270754090502044E2E81D8236412A6905F96528CB0C43760C32809527A85729A3C3B151F0EDF53730368B6E844E1E09524CDA222E7284DDCF37E01E4B6AE1FB422907136434406059E69C8DB71A43C507C72567E66D5ED6F17AB757CC1F5BD57F246A308E5A93510AD80A565751274FFAA4679B131343223EEFACAEBDB523BD3ED313AA20899FF15CCA0E708F3622054981BB567000191807ED9DC2FFEB7928DF868DF13A4CDFB8E909FDE7867999DA248E5BDD361B3C1022CFC46FDE1DFEC94E96D609723E3C7F4D23A8C477B319650C997EE7A206088A5CB959D8B2799CA597B1193E43A75672395B8C205E3CA177DF6976E9F87853A189F33F766A452F111E99A3FB26BC1E3E5786990633F9C8695188BC3F8C8545172FC64E4A9896537B44F13D63E5620C3129EC95CD94D4E267CA7FAD4F42334E3A657C742E7EE75699B81856B1DE33D4F2BD8402286DCD8AFD5985DD38DDA6C853EA73B83829B6071AF5A69778D8FA0A5A0000DF4FACD723C6C9C9F50D612146DC229F071DEED3258E4EF0AA37693A7C2DCE6152469974694005E8D82CF0CA0F9F03436967CED5CA8278F065C9B5241D2D81ADC1AEDBDEF5AF4495A797975635C71180B6B3F802BE08F2AB4EC7BE3D159DF01D10B33E5F766CC3C9E2637E6AA39F46FDCECC37DC04B45B81C6E113BAD692A037EC392B075C05A7B6172BE9CF0D154CCE3CA84F5D78E9580BC31BF9E43FB6C10C6D8A7917C2028CB89F08D205E33A9D5A39A0EF1E61990DCBB64C06361FFE9B161A595BE165F333A2E148522D02EAB28AFCE3782403FBFD88C14E53CB09EC3F0A0F5038C0973590647958C64E34690CE0FF13396AA45329795D50901C5E984E289E2FC7E91C40DF0D44422700202AB3BDE481FCECC3DE99DF9609111C3F57A8FC39312C52AB761CA376F3ECFC7A9514192E98F7C89F43FA795931CF0970142D407CFDD8A4A5F27DB8F6E1DE352DA5820AB4A88F8AC4B5C199E6E46FD3777D068FD97C5669031D58A83129BC095BFFCF05F831DA8114B1898BF7649CDF5465923F13B82098D6B033808D2BEA2C3037E9EF25EBAAAF058AB69E6FA69D663A5070BEABC933F5D12A1346B1B7CDF46E1638CE163060F185D5BD88AB73704DA4F3854CDD3156A7F938441B13C616E6AD180D9B770A6A7A4AC6FA3798ACEBD24C8E0D3458F5A82791B50ED17EB0EF05C8EB80ED592F173F039956C67827684227063A402A37C009A5F5A075CF5C309EEFC8DA517054BBA094AE7B0A1126A791BA8E94E44B565C12618510B9E936E1C15EDA1522F0731424330EAAA3A9FFE94727F9CAF8EB404B01B4E1071BE6BF7E2E58513C193ED9CE22C870572FC3976EF10A2255C5980062F8BB9877B5048CD01B4029FF1C7D266B42DAD9D02F8C89C3BD7813C02DE27DE1F3BDCF80F6DC4FF1C80F30D10375BC1684BE8E9C818874C38575B511A2D80F9FB6539BB003DA871DFF26214DE6E806C31AF9681A075BA9AC4A4E07F7004480E4E3D8CC06A5398171998F03BDE219189C0627B8A4A4F8AE174C5DE721E29D7B9874F22349ACC6B35E76016A749273FEAAE94116C4E6C9FFE62B87189E61051EB9CFAAD72F2FE368258C4ED2D36342C81B78351348E0BDECF63A09FD24DF89C93EB181DECBE3F937B537A1BE0221F7C0E257B82D679CDD6B26A099B2E9BC1E5F9D54F979409A7BC4F4B375F5A37991E046E9B33C01E6019FE93F6D80528195D9281E61794D87776914CDF1E4615DC15EB0007E39797D14FA7DAC2E92C12353B2512A3099761F7737AAD3A5AD7F764C40E8878AB9903B8FAD5113A84603326FB237E8F2B1123F678CA09117AC36B505CA6BCAB8C4F75D5A36BF8E856E04BDAE19998A2B98FD3D68AFCD1DC5E33A5C26E4E8506D05EF879B98FD23E74989D4B8DF69C33217FDE5E403D85C02BC9C33A8556F0B02D92ABBE3A5EDBDD6B34581DA37E77BC816F50B6DD743E594E3548DAC57AAC1740FD08F416F113D6BD80E127CDF87E681EF223CB709F1AE4C70C81363C7E83F95F95784E2944AB1C0A5F4F15107F8944BEDC669D38D97E2CFCD6862D97CBE3CBE880C397356DE41F4CB4A64C63039C833B2E18570FE4B0610DB5A9430BCAC89FAD4062783E22ED9716C9B330AEF9B9CCADD78A0B543A5B070FD532D1B005612E68E6222E74A1BF2B1B677B1582196E8A062392269AA3AEA91EA0A6BB96459E652C4EC505344058CAEC530598DA6F423622DDA7813B59C833EB6E666C5B8C2FA4FFE358B3D69F175F883883E677C159AF9444959F0BC345FA81877A1602F9C65172669C33750052DC1AECFF644101AFA255DC7EF3C2F0F790B61A3062D68E475A75FC6ABAB80E6DC958C7CD1D87CBEA87BA27D186F7A2A52BA446E25E163B18189DAC6DC9351D24C7E17B725B38343196A732A9C4C6285DC10F3345D0CE3208A847D510FBA7AA4B88FCD812F67310B11D3E7DDC1B0DD30B1F86F6CE350CE26846DA8D0AD21ADC2F62BC4832988F30A479716C2F90A6BFA0FEFE75FCB08EF5ACA554781CFBEA1C8467AA45854EA026B9FFE1E9CF1DB5F3FC48E189C65FF2A743883B99988E2F067EE3CD9F2CC4F841C10CCBD7B52508252AE30F12B7C7619C557385333D469204056829C3A3E3558604DA89A214B8A66EADBB71D0736A0A03C44330E66BCE1A5FDF4F63FC46F6664FC9C1454290504C4AE2425D8FEB9577CAAD4E326B793AB688AE621C76999564A408BECF26C31B5D150CBD78E50D3AD3403E285E96EA57DADF6FE9962347069F6ECBC2F00EB09499C16C4C4453AE16F9A782556AE567F922028C30FF88A2CCC92428C9F5ABFB12ACFEBBDFFB0F1F2FF970C3BE378D221CFB340D107D92597C778657C8653C76BF9AFD185E9FF480746D8831B0CBC34F7988F2B8316CB0AC02E9DEE4149056067A912866787D5F552967D10D067D50C67959EFFD0998A5ABAB4A1E7F989C3A15A99CBD42E2F03BBEE719FE14C5B8D917C60AD002CF75D5AC13719D1A01FA70BA83DA1AE53AFA8FA937840851CCAE05073A65004541125B58C6F8D0BC7D706D704683DD046D5E7360B6669432F87205170624F231D1EEA8ABF2BCD611E8FD7C2C923D8CEF8E1AE92BA3E66AA85A2417066BB7BA68BA1456DE9D353A94B146A3631507F0688CC6CA406F7BE47EE6CB9488C293C4FB2BEE62763F2CCC7F3D7C81774EFB79238B1C3902370E5E9D94B41E7D0B8182878712319B8FE856CBC56E1C8530C41931D6C2B5A980A64938988ED84E0706188A56ACEC67EC4BA0EAF881D177CC1CFEB8E1034FC35774C6CF9A65F30BB01D822E64401D98FFB936FDDDD8CF0E70A482F224E0F4F3CCDEAA55A22655B4482EE23F7B5D3EE1036889FE5FF88856C0545B09F62FF8A54AAD8E5C1964491D3A +MD = 0EA2C8587E4646226F46952350E3BF0E71B0B8ABF707C8C1EC99877E3831EE3D3D224DFDAC17B0ACAE62F507CE2A1705D518EF452B972F33F6002308C9726994 + +Len = 21200 +Msg = 28109F1E97641E7C246CA9DEE6FBAA15D985A84292ECAFFE025F66A9DCAEB1F0F8CD724896A0BC2E6F7B1763D7C15B61ACBBF13FCE74782B8A7151527C9BD375D4BF37C15CA39E20C352B2E0B0D8474F904FCA4E039DCD6E1E54E872A481F8E1E5FFD3D65257FF814FA0E59B5ECECC30FB1EE1B73A87C050B9C0C8DB6BAB93A24ADA3FA480F215E19F63308CEC77D1BD5AC1864AE246071203C7499F03EABCA4093058D9A98E26F29DD91AB0AC556BF1A6ED7649E5559D6E3C93254E6F4CD7943585D6E1502BBC6CFA4A38223B35EED2BF658448259F827830D897942A3AD0A8A5CC7E3018451E4FC884C5B7CC65F54EE75EBFD7C1D4C88C71A36341327B9772CEB9F8B7B4B725165011B848C2DC917FD5514182E2698F9EA181FE6C9711906D296AB9835DB7501E2EBF79ECC4475091E6719C8C06599DD2B88670BDB8C4A28BDDF78C97B81BD2FD673D5910E1247C43FDEFADD30D92E0D9B6E0B456635F96FA477FE5ECFCFA9F94F5C1D766640C596298502B20CFB3BDFE7F3FD237FCBEA947D24D0360776030B0B661A9BDD214764D0E70E60EFC696B9BB63E3BF171C62D1BC2B6E53F941B3915F85FB4B9B2E74F391B5DAD291FE9F9629E02FC3FC5395EC66FA6FCC5338D353CFCD409A1CF4B6BBEA517EF5979D086DDE35C08C885C3B9EE5C8C59284E10A5041C9DEB7860B112E05E051655DC374271012ECE9EAC4C840D2C47469074B77F808189A0EA645EEE5F5EEC17FDCB51D0D1B2D8293B4C8A259375700C3FA8FC48A39CC8B32B22CF7BB714FDC7EACD7190BACE15987C7F8674F30F4663F1BB50470D25437948D4353FC2B96E790C19413E9F28EC04A02B37CB0036481803BB6728B6D8814BCDD89DCFE458084B8C8495C4BE33B5F02EC69F22465D5FAC7D85331E8ED290787336A73238448271A237A34730764C2A4DF64774AC6A2512231C54FA7D68FBA4E888331FA28D1B4143A20CEC2234524C522070A2F3AC336A416C079B58E2EA8B2D71188170B6416B7057B11B999026BD672E0159FA85BC0A1A2657AAA11B6742F121F08DC8CBA4CD1624A2A33798D5F7ED096B769B79B810EDC81C4E05C17B62D8B2DF2140C5DCAC0EA9B50908043425CEE2EC17C3C3E522D1272969F1F8ABEBE82E1E1D2AE7B64BA14E00C17A6635498FD7FECC6421C89BAD4CB78005EEAAE96978BBFA2015B282917ACCEA60B0E0AAA2CF1ED7A6E7ED0C9588D6A6C06E49339823C6180B9A1D0E6114C0DE9D89ECA817298C6E3BE3F53404787638B2F883248EEEF055C18FD476E07A7EB5F179C8613CF4DF01419C1C6D6309BC53E214BDA546F272A372B813EF083BB3905A996274BD0BE73C9B79135D8167FA5A058A7F926F9F315F4F823C44BA6F2800E25ED8E1659444D3CE47F1A58E5011660B40392A942E901DC9AB949094D28AC38D1D7A13357F716511D1B12A294BAA1FE6DA6BF6D81B830DCBACA4F4C09A53331379CB6C42C3ADA8D61322DE1FFECBB1A7AFE3279F6EB63C8F020A51925862330451A0002A6E1755EB264F3C74FB62DC92E9E6AB822C8762CB9F93CDF0659A54A5696AD13EC6CECBAEDEBA6A41323D7540AD59250F1FFFE616DDE671D673E37D4A521305E47A645576D6AF9A6991B17F3C7119DB463A76EC933F05905A1DD621AD15775EB9475EB0CDEB6CD93ACC120B396782445637F4F8DBB38A3AA17537D9170DAAE4E4DDD899B16168A2F9DC4BFDF7A9BEE07BB9F7C312EFB78D37AE437392DAA755B184FC51100C54E82FC1792AA87E58778FBC150EDCB8C9F337227B4F6EA5837DF8A08719789356281C8FC7CE0663EAC9BA76CA0AB589CD3C5A82EA2A1A996D2CFDB245F1908AD74934823B9352FF0939AB228F6F8C59980CCDA984C212A0892928B88DFC52C4FC34997A6F0285F451DB3A1D5DC4C800B33A6863852C44A2E675A98B38EE8526FB794EEE592962A938660E1B7114ABCD42924CA4D70045807C50985565EFE24F3303987C307DE754D8625A5B7339F054A90DB37CE0B9F5BA0595425B26712AF4435AB8082AE5BC1B211FC6EE44262D26D82A88E662A47688E3DE67CF825BC62E1B3E3F625B5481460E0BAC451DB6B67F40E9CB6B87C77F2EE63792305EB697B1F2F7573180B852615841F6B9DC8E5BE40519E9C2C782FD0069B8D3B2ACA33853CD29CDB1FEC735D266AB25EFE2A0FD47476E5CC1173E9717BF402C02843E56BC70D956A3DAEBB0EB5F02A4021E6259DF33B65A363365AB7EAEAB3320716842E70A86D3EFA3550C59BC0E14B05E38AB9C4E38FE9E7DCF9B3002EF850B7899A0E17539359AD4322D1D53AFBF9EC45E1A637E4F0BA10D9D3B244CD90FDBB44F9E7200DCA987B1A5E1255C833F3F9D5AF3504479D6A900D3190664AB93755478CCE9A160AD793D2061FE3BF8C28E601172D2B4685D517083148C1368C4D853B3A4182720D47CC7363D9561EF31F3C108BB9F6642A34FF38846F38464771F494347839AB072E8E9B788CEA50330FF7297F9428F97D095F776B9DE590E6550DFE2F33273A36D6A201103973032147474335A63E83F04D7DBB940F38919BB45FCF7A4D2EF846EB24FDC4DA65DE53E2922AC07E177F0FE1E65E82CDAF8F65948EB1EAA031F0371BC49F547EECE7C4CE905AE97EE7DBBC78AB347577AE3985121FEB81100D2BE2E5771C4118F240EAEBC3CEDC911EC7588359DA18908EE3D8302D5E544381B66DBED785DD684CD0DB274E648ADFCC36AC870DB8689DCCFEA3CA09711B0BFC32C8B7F0676D65D63761422F077C9CCAA2EC80BBDF742629EFA5D9C4CE5B3238ECC05E1804A7C044BAE3BB4DC3AD6AA3C592F71DA7F548148AA11F352D2F0D09B84FB8F5BE629C3AA7C68D980294A6A172669BE5D987588014BDC1E917463B829ED623B87BC5FF20675DF37BE0197A5E2F48891E6CADD2ED860CE154354D4854E6D08F0A28E673C7A152FF2FEB7634F0085FBCAB1FB205CCF3660FA288F5D214212343B5485934A256F043396A039539CDA52DB6C47A3AB7E2374CB2870E14CA6423312D2A9C48F67352E1EA2732707CA11785D8C27351CA769141D2090E79472645AF2729C158479B4D138B1BCEAAC70AB7DD221BD89EEDD8E153215E522C837D7554F45E8877B6544F7071D45E7EC545F7F9BB27DB95E9AB2298C8A513D2A2FF8828F243982FDF23E4829D0FD811E9C19E7B2960D8C976E3EE653788C262692210B5D105C73268F92A5B2ECF6C283D85874B5AE3F37BDC520E2F4175FCFB2175C57F46096F9EEA1E0C76080C765C75193A9563ED5AD6E0AAE0AB0F3F94459AE4B9AB0BAAF302E70C08D58C1E1DA8308FDCA1BAB172AEB07D37E79AFEE3F3067DDAD92BD4F51F51EC8E647B212FF0907C9078CDDBD4059FDF22350241CA508935442463A6C23AC28B2C2A968A7DB22E8E7D4CC9DCB3FB11797439CC0095F45D21E075390CE3483DCD09463A4E977B56CA19FFE4C6FBA28874D96AC2C66B657314303AA68839262733E903F074A1463A2DDC8EA016F6802F917614C3CF44DAE4B4F6E78F50621B017B6D42265997F596EBFD7C1388BDFEF983CC91B9F98C17F85C100CB37DC40C31FFAF2C882A271C7F6DDFA94BF69C7E50CB6D78E489F6DDFD26E34EDBDC9A6FEA4FFCB7678FA609C8D006933F4BECB85283B13C04C6A27A89B0C2CD27125DEC2C49646496288EBB162CEC4D5A30E3B83A90B54AC61812A908014F9D22CA21F98C12357028971900E57ACF8EBF095687E2D +MD = 0ED01574E6054A13DC6367FC47DAA24208F025115148845B04B40AC238F61589378DC19C652A5091D0C7F925FF1D5C7E062728AEF406A2AD75F61FB878FB5E78 + +Len = 21704 +Msg = 06729047C0D4A7B3020865F527F0657EA5397EB58090ABD01912C485E73854AA9AA0394CB53D53E3D240D1BD6CBD1E1E353529CB87833B5F476483E684F11748D5AB7A1F18F5B76E5938458486D4D5B1FE1AF7EC2A139CF5C4B755165E182F23B9E69EDEDC39375F0F87B24DAB233049DB0B34627D53DABAD0AC3351FDD94010DB51AD3182F1B1276C498296DDD759ADC3384EE949E4B2B6412CFE3E8EF769DCAF76BE4B2FEDCE054515EE24F7601EB1553516187954BC0689EF278071EA7B95D58E7FF2116B450728E47571140AB10A327C8E6D333EF044DFA10866A82B9728D3F5F343E1B33064E1E860881DF05D78B77B1F363DA7D3EE4209E8E2426B6969B5544AFD81343FAACEE915269C6D3B12C22F2A5FA4E7A518C5539228373192F85D8123105B04C2866DEB8967E7CEC3C0FCCEDA19FDB84C72597E0EDFEEC620F8380E3CD5B5AC2053EAE404CD6052AAE7BC7C666628AAC1FC722244A6E80536246C9894C47BDCDA71C239E2FD276E6E041DF8A930639F7993300D68FDA7E2EACB310F49D48049A8B6B1BE42FED5BB26179D6E4328E60411AFA7BBEA122EA9037450D80E5FDF13C93BB7190BF447E3008A34ECA6EAE08AC71A5446BB568D4DF8CA4512B9BBEF21648ACF2DFEC95CD2D2985C97C461DA651C1C87DFAE35668C008001017A48292B4B0B050C00124446594FB27A418E3549171D151E5794070ACAAAA97B88045AEB3BDFFEA9CB3372950CDD727350EEFDF06E7652BCD1910312B35F5D4EF3B8418BBEEB52657A36CCB7979CCABEC0C4B2D22014F60F0E847DED96698A81A7F2F3E35932CC5D34D3A5EC366507DCF179309C1F4DE6018806284876A96CC9BC54FB5D9E5B3127C74723E0C3AF1FFFB01E4EDE2C59413F1FF56F8346C71E30DE5A66FE94878C0D7A217D754C94A7C3ACAE3AD264A3D2C7DF93AA29B4E0A1AB966E36FC8A81CDDE9C492E4A09A9C61E63C540A457489C7CE6D9EF3046C77812B97237833DA0D8E6DA300302210CC009F39BEAAA0ED1AA107FF0C06D210CA678ACD357709B25242DA3DE144BB397D9A3CF8441039766407A67BC9297C108E7A11E98B09046B4866C9A912817B6568A04CE10F43BAC7BF211DAEB90EC1A281437B55F88C6E883EF9A271D8573EACD965360FD8F84DADD72EAA12377A7E1F47FA49BD7C3961A15EF5C311CE62CCB43032CD86C509A100EF8A250EE84B9F7F9730196A86ADEE92FA93233B2E32C87AF90915B23B44CDA9186DD51EB9A049C478C2A5B363831AC5FD170DC84312440AA8C83B7FC44254BE6F4E81FF2D66F57B12D78905B89600E537754A46CC5B6C5CE2B6B04F8D6F1CB60359539023BAFC78AA0E834BA8709433F8C6F0ADD3D4D743F4B6FB484C10A4267505097082F30BA7DB81BDB2476CAE452B40F67409536141428B264CDB832D1D611CEFB5D4D1326428F9778F929C8C182346042CFA5FAFF0819667EF4ED29E8D92279A2999545C3335285F072DC952E7C7FC1116ED0C5115C6CE7ADC993C23A8B0C96C2884F70817B5C9063C75FF1875A7B080B76B9AA32E6F7E4E8464AFA40F7123AC79C45D88DAAC71D76F795F192C6CEBDE8C99F10CEB9E90F022E5801A78922F389725BB236AFB5DC28CBBF1C9BE9617CEA56C80C531BB7AC227F6B996C68583B74BFF78EF44D185E0D0E5E9D6F34B250DCC4639E3A1A937CDB96E78A217E03AC900834B4ABAA495C9BD9DBC2C4E85463CD1C6D1F4D8746EE4B58BAD78CBEE21CA3E53E6B6D42645FB96C9417A374EB62DF7F7D23983B53E1DA754487F3C0711712499DAEEA9E6AB939CBEBEA79D5B9C7299C06CE53CC8B0C8F8381E04C525CC691443318B70E447E83F485E18EBE4524DF0FE0F47ECBBA87EEFE4F709B7C84274F037E89D3E140DC2BD608F8BCD5F51B3FBF4EF93EDBD45AA7AE5326D18B719A5DC6AE91400E2B6C88E699C9F9A95BABE33E98397F77FB0FCCEA59F3BC02A479E6FE1059DFED546644DFBEC3F20FBDF4AA53D025C66DAB24875021D7934ECBCC0619AABE7F553C9287DD6FB916D2C5B8DA77555D91597D895B9F8E0C601EBCD38364C91F28445CE09D445A9E71493FE35FF723149E73DEA9EED1E19517B5A735F7ABD8D92D45472EEF1D2C4EAAAD6FDBBE9570950BEE94613AE2A934E1A2C7EE899F2861AE17BF8D60FCC1005ABEC7240C7EF98E7DF442E587FE2407CDEDAF6C4AD725FE54AC880A47530E08B6452F5D9D044833CD117EE4E1A242FDC07545AA74B559D394D837E55EBF07FD2D6771811DF95791E293A52A972B682446A29C4CE3E02F71565D537D12EEE21E1FF558C9B74FD4914C6684AB897D9C4FCC4A5F2685B78A8162DC1BB70203F5005ACC0257252E0FF9EFC43B102E09E9221BF908B83B497A88ED83D0DB7C8FACA741A28BC5A910048764C5098AA7B419F24AE5E1E2B013405E3976D938E781FBB10BA679E855D2FDCB772EE96BA264208CF4812607EE0BE58C307568063789AC783EC937C68607C87CD00F34EBFCFD2635E5C6B2F7D88469FDF8723B81312D3402C1AE85C3C12023880940595175D586298D215661A38A363DF4263A51F434362FD5A11BF69B121065BB08CEB2DAF2D9F844646916E4A2AFBABA77999E7664AF9670CBF68E7E4B10834A52CCF02E45A431E06A2760084475A74C4C66F8FF90F34C1D83D70EF8D6A3790A6E3BC9D816F1AB038D5C3140C8F36E66D3976BD831CCFD88C84E7788CF2A3246C8153A27454B0E7A3C59E292927F1DC04EE81E2AA291C06C8BB173B53FBF39ECFD6EC1F57A7478E37199DC39D058283BD046ABE25E91422B0B25329D175A7D0BFA21E297C96A5C3F1979AF84752A2FB67BCB0511B790124BD96ED13749F1E922C4ACE355DB866011A1551DCC9548EB46B961FEFF4F2851055833BC4083BA712E4FB9C30C49928683AD783FC370393A55F904FDEF279C0A4E1DC9E1ED7E9058FA5FE363AB1E17A7242D0921809CCAE1B9E5F28FA553F7CA3E58FCEF7BAEB88D03DA5E2C06FECD357C12CB04C5AB12DAFE4D68AD3C7AA9302C9E2E6E4B86D1C96C55FAC6F7B63196A15E8182C1BF0206119D67DF749E1428B3FB137AE7C6EBAF75A0FC64163C21C44329CB4457F7D4F36959E8A93462AAF1BFFCFDE02EC1A2C7E67891DC64C1EAF2A44DD7D8ECFA5F7D596C2C66C18A4D8B07E1909FA87884816F514EC17AF286DB0FB353BEFFF94F810942B56062A4A84A45324773BD26ED4B5CCF4E10BF715110FDAC5C4C05A3EF4A3134BC9C9A7B5774D50DC817EB6A5AA3BAC029AEB5505204DB40811F69ECF17EBC206746D7FAEC59B26170FF23EF456235A66CDA3B84188495771E53421C725671788633472365D474167A0BF9BA7B212BC6FD91C4210570FA3FEDB1ECF6FC77D049830EB1E991951DF439DC2116F72E9AE1679B452088FF0D8C76A4486EFF15EF9E7D80E529A97B368700A4C6C78847084505C8D9177F08C96FC4BAF5BE3F4043A21B6FCC200E7F59CFC8BCB71A1E2FB9D9AE85414D92D09BC6E2686EDA670EB5E903FC9406CCB0501F8BFA16C0167E2F48899BD14258D59E58AAA8F450387C9D80F66A6F9D15FABEC9CE121866B2B6BA09CC93165B8A567F86FE0423813D7A0B9ACDC505DB6FBF6D5063DC231BE1E2D801E80DCF0A82D3D8C98E80E3ADE2CDF4D8EBFB9966CA1C68FABF0E3136380E6AD17517607E2A36D41017E60EC0D20D6B17E5504493C94FBDA647E3C2195379B98D84C1DA0634577DC5FBC3638D9433FDB32F7DC25E52B621DB7F3A0194F3CCBBE51BE61B55B4E5D27E0BCB2712F6CD3A29AE2C5C8F9A29FE836C02B6E9086AA4D92C57C5AA8996F4561F +MD = 319D567CE6C71629F4D0801E388A4BE339338F6894AB474750332E956EB3F1B0D497830F8A4ECED8DE90EA0881CF5D1A733B86DCE9D99E4029309646321B4DB2 + +Len = 22208 +Msg = FA8203123566C334559F12F1C37181DA32759D0AC6CDEE696610445DA4484A51A867263AB6043AB52C6C097346D5BD6C83A2519B28D37844AE1DBB55CB8B86743D51881D1BC810F0E4A9E1F589D8E4CECDFE5859AB245A79E0D8805347991F23ECC83A307871C3D1A22D6BDB2A70DDA20EEB51496216ADAB2CAC4BC4346053A41A6FAC5CD78B5D2C51AF83A754F8F38C0CA7EB48241E34B738FF4CE7421471F8A792E36F32C16E067B85562BD752EE5E73C7920DF08F1090AD8CD251874D1164E15DC9C131AFE318C4CAF04DD044AD068CA856EB44F12C057A676CF2F5BE9C72C74C4709ECBE90A816AD2AF43EE892ADDEDB7089C89DA5ECDD20E7BD082CE5485D559BC9C771E49F872339252D66C368C9E94F4E23C85734CD567C4DE7ED49F92426A5D38783FBFCDECB7EF62ADC5319CC6334357C2D8389DA870146326B1BC12E9F70B3C2AFAD6C4F51F710DD77663EAF37C101700D64AFD4404773AB572A244B36C32737FEF7E168D41621123078AF025F4C25AAAB8C9C844E7400CD2D8E43B3BC621DB1592D3212E276C9A52EF56B6B4CF39A49673C483805D2450CB2EE045E3B8B5BBCF7FD413E8D34A8716363EEC48F76F54B4F2FD08E81C11997C5647173775D2607EDE1743E2A22420B3C87EEE4D75D14343C8735E2B6A7D276C739FCC75D3D1074C43EFC5A624304C4CDBAC9F123120406150D265D36C5D4DE4441C7FC637FA4B4237A403A5415EA01ACB33E5AC6507DBCB0E357245916CFD6B0D0E35E02CA15580D52660872B6C2869C4F1DA49B600AA3B3993DC569E35E4AF380DE7400AEA928E9D25510B3BF9AFF507CEC720068D4721F42C8ECAE2A48AEE31D0AF6F844458C441B93B3508D74CD43A44033B7618AA4D852BAA420CDD6B7428A8401E1B53EA2CE33B3F09991E691E53344163B2A8835E0F90E83C7278F9A0D8C64200C502D8DC1AE1B96F9947E60690032920E795950EBF6642CD5421CECD282CC470FA462083E221A900140BD511E616AA7471A7526180771B803A2265021BE2876AE04E4E4E86E830452BA79D4306AE45C7FD75716C6131211904F72E1F52D3A1DE2081770598628E33E244D93FB971488823DA9729169B699922876818D0D91848A3EBAA785B7029915F3D9238A4151910A88E2EFE6F41841EB85044443098322B0593826F8CB6B0B76E53120A004E913CE42E448D4BA1F2930849185E7C8E029533B275AA4C1B1DED8D38818EFE9535F4D0724A5EFBCE485CF493BA53F619B56C251465E8A07F3A085627E13D0E24EE6157DD76F4FB2FBAD7B58396BAE6919069EB0D32B8D57F933E6059FA2FF062BDC7FD86CDEBBA4E206A4C3CBB2A868D7E09867D316C8801A39DC7C71F2E7FE43EAE3C1CFC71E0CCF8EE9465E53F936A9AB608F29C9F2E0DEE8E450CD42637785CF84543D39BA6FDAB77F1C93D08C5D5D87419540B3A510D04B029888D0F2FA64CF5A62EDB4DB7F4A8FEF45B8D27A22C68952C405984BA94CD2FC0D79DB81A70BFAF9237DF9B86F3A7E3CD08D4A1CE6B1E25C3BBC5B206E4A018070F0B0ECDE81CA834FE21162CCE9ED32E1B507FB5D93A625602E123ED1EF25B3C291791C56B4500FB7B12646773B1F59E204193DBAA23C9AE79B293132CD5EC9B60965280AD0824F3E4A56FFCF966F6B2309F3CB78EA7E4CC587C4661A10D1E22AB268091E95E8702FD20DB71D73A6B9FA6696A5C0C8A67188FFCCB90696D73D8AEA1D9A0C0016CD449F9C9DD18DA90B25D182F556DF1857EE0B3E48C28882B110E20C9C9126FF73DF840C0A3F72474A14C91679EB5F5D9A2095A5ACF1015598CB5DE4294B4A78C7E5818C8F1323234B04E79C5A4385AA429CC3BB41255BE8796165CA3B2D0ADDCA422FE8CA3C75892ABC86316B2EB93D6E75600668E8AFE99DDE205EFAFA472BEC72CD312DD81570154490931613E8F0FF9FB0507DE56509A3C2E7C97C3BBFCEAD923A3F2FF11DD8B052D154C220D44E7B2E45BD652B6C885770E0E486325F54FDAC28AD7A760EFAF7C505164D520955E13527D186C2488A8017A530E02A57F61B5C5F373907714E6DF708D47C9923B70082FA641CE2D7B9CA4F3087D8FD88D2BA1533CC6751506A64E06EC92B4ABDA8DE2D75B020B2C0113C15B7FD92EE8494B572209C0B4C614EFF2FD89AF1FDCF489BB5BBB7768AAD64EA49A7DFD796FF7501D75DA439028575ED0BF0CEDB1FC71E68E3C6CB3DA3CBFEF8D12AC052CCCC1DE46BBB43835CEBD9A1111E83D6179E6CD10F67733EAA0D9BB166890729A48ABA05EC7745409209942BE44A278486F38CDDB6E9852B0EE4EAD981A8E8BCC46EF25A4C07F874A887F29CD61D47C38C9020A0F1F2D4A1BDD3C0B8E2C53C9B4312B54FFBDF69480B2A3707F0CF89638D7B7679AA91869A53664B15AD07EFA01E718871EC9410A1486A8DC2B41FF00DF7FA069A6E68A33F27A2EA0BA4A3191CDEFDF2349BE5DF727B7354767A299FAF5E87CCBEB98C4AF036898A80B5C485881645739FBC5A76C3934774F6A078AEF28183A0148305F8C0891832402DDEB993E1CA0EABD52D2FD5C5946A94B23B057B85931B698B46F68AD885800FF25AB1B5DBE42661FAA902074A3D45CE02FBDE7C1C38013B1000D9CF9C2F4226B5ED1ADFD18D676D14E7B1422C6321C0FA5171933041ABE963DB07C06953906C051D7AC1D356BCC0B800A7D5F19DC0EDF4D0CBD16A2254208235F972F59E71E410BB6D51A89E12A33979BA6A6F8F5CD5C1CB0329C73FDECBE24D66C6B5D5A1125D162A9B0E982BAD23D44EF9924C6E2903FEE8355223727E4FBE400E86E4BA8282593695018F50D96B7D1F5F83066F023BB7D0A568D0C396661B876A15A859AB08425AC1CC1563C7A094BF8D9A348B2EBE8CD8826C252123968AA90D9404BE82019DF5BA764D5E796CA43F5BCB34A1D4F908E7966D89833E5A0E8B00A9C0B385045CFF25AF35C4F566492769189873BA4380BFEF1AD52FA96EE049BACF892DBA6DDA605C1C00244C7C597543FD2B6AA6F0F044AB4A5219588D5480E759AB44E79C5759F1083F68165D42DA6CF04D16EC0A71400C1C6A50FFFB06A06AC0FCD23F05EE8431519407C470DA99BCA4B11EC233ED32C1B1F6E506E34270C5927F8C34CF30833C94A23C0F90ABE0FEE43D0DB8BC56EFF9A00C403A4C12F881119DB8B7C25905161F2030EFDAF80864880F6F93C50B7FB74644BCE061C20E9F20DBDDCD98E63CDC69E0F48A0497534BF59C06263108171D5E480F0954820634349D5BAFE9A4E8D96AE1C29C46C2895227B04A4412993B8B6BBE5D66D5D026635BCEFB162A53E484A9D9173D3A2AA60E6024429340B34485FDD68B077B13F4134CAF6DD7F38689E4936325B314223C684ED99D50163646A7B725F321C7BB60153F40E3CFECE9DE2A263F3A1030124832336E12BED3B81D99F3B6CE3ACF87BB1D57298BCA23BFF9034076EFA9A362F30B3B9B3E2EE83B455D8A63DEFF545EB6341910C767AB1FCA2960C724915DB60926AE6D40F5E87EF28DB3A133B69FD673F6BF1088D727CA8D6237D1055BD6B1CDA4E1BCC849B6BCFF9602AEB73A3F59BD3AAC6D0E54E9D5336FA3BC0C0FD22782EDBB0B9B35ECFBD99793FD910399D35E0809F16B53597C24E4841FB8E7EC3C4C434B9653E0C1F9D859DC9A365E461DB6827C2AD1E07C6130DA1B84ABF31A76084BD7EFB40F302DE75D62EED0EB4A2985345C85B80AE532266B39A704D84BB16E9A9FAEA7B3E7924306F650C2F338298CB38F07C04B1F41736876799C0D17C487BC5E0047E8534ED356C6F30DAF21610618D19BF1000BB8860C279B7EC27C6270709C00E3CCF78BC95CD550202275013235BC2B3F0E11791D0F87D125B2B1775F4A866DAA90A7CCB1C7D214B19F022825AA0A22DB78041250F63B5A683DC9FFE76AB035 +MD = 5146CC4C42A2652E958A2CE8674F5E1748E3BD674D496C976FE28D098517DA3CD44C1ACDD4BC471826001567B7668CAD3960F455F45300095DCCF1B8F5681AE2 + +Len = 22712 +Msg = 08944CB473B828B118A31986DB67FC757F238182E790553404B792AA4F0095A6A83291E287CDD16521A3AE8C48F56FBC909DFCCFAA7BCC570C2159F26592DCD6B15BC4DD55CC05595AC634B2C3DE15360B0F07A03B5957BC9333CC5097919399DD9973ACE15E55940178C4C96BB5E0A0A10BAE175769548EBCE11E0D7D9DB29647F197D4B87F7039F5D4E59E016531DBEBF55A797AC9A6835032CDF34240A7EE7423E89C09124829CAFC5F89431C8AFC54FD979E50D48A82B47A53523C84B6004DAA323EFB708203E5388A6A5110C6CE2E341048A65FDEADEB3837A03420F9FADDC3F02A544F1E46D96B07C90C7971A7040A179E8198E90AA019268E00367120D5F3D98A5CCE82C885E77144B1AAD66EE682847776B04F01F501DCBEFE3903080A8058B3B8F1D823D917ECF31FC2D5B0795BF95A55C7093ECA7C801DD0BD0DBDBEDE7D56513128B29FC0B4D25A6240B24C99E017BDFF7ACAFC8F8DE9FAF5A2944384AECE82BEA04DCCC6D51FC6E6F27AA38F131B7959B13681A09B311D242E6222A1CE5687DE5C080508B1DB16B6F8290D33A3CC0D0138AC61FD9093825E9D3752889E9F20DB9F80F92750EAC88B38AC81C0016D40371EAB4A87E845E91446B0A07081B84F559CDB95340CB020AF22AEA1BFF2FDA12F7A42973FF163A1C6F33DB8B8214AE27ABDF1C54F5B03E29310FA210125E1296E8AF93A2996DBAEFBADD4C51C2C3B8A3E2BC9FE060C42BA32768F6992A99599206CD2291CCC5BBD50856F7F8D2D0AE1EFB5892C15A799B77482DE4553736B162ABB06631F1688F6746E7D7A37EE7EF24E6CC901175F04960C01990178F81E957E941DEAAC8846B3704E24204F43DDB0765C433F3F7D4D201459CD65682B7DDF3D47E95CDB31B96A4CB22907F08BA6E92A4A07703B2DCF150F922C4B7CF181380303FB72547847305999C3C8F9AC877D05D9DC4159DEB8A13D36AD1D533A56950E20F906D29D51DDC45BD15C1773991707480E37B827044BDC6473181B760A9036E0D3FA491C2F08C55130D8CDD5AC8E97D0813164AF3D28A585F0C2EC7004D498F95C6B62231A632A56C2D0C48FC3A6992D4051957B9ED6D9A86DBCCD962A8883CF82CAF01DA2F51A203D56B6089BC8FD0B1BD414C8063031ED469555E22EF872689C130B1C101034D572FD8CD0EDDABEC9EF1503D7F728B0941EFE2B9512438C7DDB176BE2EC2D9FFCD56495A4511428DF02819CDDA18D1ED5D3B16C6F42AA0AC681A9FAB51E8A1A856C15C51A3EC1031427142EA12543014DD4ACAC640B8A7729E63AB7DF1051112CDEFD4B988A2258334FA9A7F5B3A87A02074B9F69DD81B83FC74089A91D76AA4041259E80FA255F2084902AEB9E996AC2288AB464BDEC47AAB26A28A2A8194989755D48FC9A5C9279285F2F1DBB8B8018F3E4E13115D78A879792E45A8F4F24ED4A317440BA63E6929056EFC1D2529B75A709D6C0097DC2D97F646F334EBE6195EC5630132FDE58E25DBC17DAD822D9FA0938A2A2C926B105D108403DC29CF371C3504FF73BCE9C7ACF9A74C4954CE6A32DA96B21CF3211B3E49953DAB78C49C3E532A349003C59C62F7D40261CBA63A9EA21C89A38AA63CE431C43AE261C4D9999B1CAF491FAB8E7BE6E8C3454F1BE8793B2D27141FC107DA599A4694C41353D7785C05B5E31440458D17C6DB66FEB8A9C5C073FB946A67AC0312BB669D9B12FABAA5272CA6631379EF4ED420A4424A5CD08526384C047C33A84D5D7DC0C2153663B54C73DD799A3568C01B818992CDF8143F1DADD6B50CAE6EAE13AC66F31FFA2B362CC4D2880592B7FEE4B9E4CD6AA5E5DE27AAB9B5DAD9F7D39407AE927530CAB2B61CD7394A21EF47BFB813B5EA6091458D239664923280ED0D5CCA8285BB2281A2F9FB3FFECC8E9147E1E8FAC957D90C9E5F513738745A47C2AD0C31FD8986EF3B6388C6E821F166513811D547AB4336B5E04643497FC9F8D6E380EF6478B82B6E2F5F65DD98A63C68C32B94610E1D3B9538F13A7688FBB1EC3448BE9BD77BB93A34546172AE8D614F85228988E7FEB18C9A0C9827699E8B3CBC69750BDFECDA8268F694F4C509BEFC1A1166F85C829725299D173F867A300987A2D36D1BBBE37BE3208FB8EFE9152A41A5F0E931B6382FF7F9B18937958FB180E61F2A8C28F36C3C80C3722935AACB81C24AA17FB3E7A1026F7031A7449818ED62BA7705CA27C2D3268F90B6322921683DFF800A306CFC186CF2A61B37F35837B217E3B2CECB0843D84EAC67431E3D689F01522D4A4C73618B7C2965C9DABB15C0BE637D10CEEF72271CF39A7B803B41767BC34433C3E6FF449A439AE13DA1EAFA038CB9F2E1C84F1CE39C05DF56FE3D7B82386C4E628B6E27CBC5D575C66ADA3510C246BD04DB48F4AFC2D7352966DA2266C2BC9831532F53655D8BE42B421AC0D70D8AD1D3587257886DBF93668E907E861BA64F45999BADB0F766EADCE5238B5ED397F265935194812C03C5769137BAC97140525303CF48D65F39004A3F59B1FAB09895CEE05335D15B9B12265892F4ABB92AB1DD2002ED00CF3562CB67DFE1055968E4AB3306BB34BB87D0F64B26848812A2F7B50424A21FF94081A7F70F7B684AB0F092B2B085DCF84CA38414CF7290F607BF79C37EA84253ABCA8D4184D2DBE2E900200B81479E1CE8B71DCF2BD6E3C557A8E431D627BA669C2EA03068E0F7EA62C29777B22142D7A1D451BD541EF8EBDDBBA4E3BD8FFCD340E935BE7C66EFC14A13EA48134F655B0DE3180101F09D204C379743A357E6DF1268B55A9F7524398ECF3A59849A27B142239059998083E8FA91785E91C4D220B2FB17E3389EBAA384A49D89B5D78136DD2454F06CDE9837F096B744D53221127869904AC227CDF30BFEA78CC5545583F999B9C42A1184E2FB9FF3EC095B9DA0D138205C4EAC4C8C480C43153608849F63E161135C79D8B6C9CFE9B8DFD8AFAB559D8B595DDD43835033B4BBD391E028BB2A60832D9B697EE61408F149744DCE71AA11BB2B0436C1E2626AC3A27CDA293366B90B9CDE2D927855130758D3946B867192DCF3FCE9A3B9A5276E8C37B8CB136FC90A6DC22650F95E796A9886EFD3F424BE63A66DBB1041CB3D4A06F4E7EEE89F0B6D15C36F9EA010C66B332011C8888E8E4AB2B3AB5223191E1388613A0FD0F07C1B26D7CC7CDF1AC62A226454D6291B431CC3EF2DB2B2442B37DEFB942117FA247096BEAE598611B8104F37BEBEDD8BB8B949A89B5BF8E228ECA1D8F16BFEC75A02FFBB4EEE3A6D4A6087C43634D675311E72A9F3253BB5DD364E07EB4B9C84F586BA267BAFFAEFEC79E03B83B18595FE06D7E063EE604FF287004D141C1A43AF0CA7C5651D98F633FA875B4743353FB07BDE59B6567AE25F7095F1D9EDF30570E2F7D7EC194216898D910F9E295A41DFEE072CB56F914BB78CC9854129250F9874B63BB3EBE9A1CDC6EBCB0916E1C440354DED6AA818F2811DA913912A21D3961AC94A39F0827D3A419616905DC45842C8E69A43004B8AE922C8DE1E8CD0668674A7760153213835BC63FAE4F8D65614AFD74A34D42ABAD5025B884B34639340B45D49CCED423771916E18AA077291923017CA50795F3B7A3F349A3D29923833CE57801C631576E23B838A7767CA1BDA92B82AC502DB3688FFC83C09A4E40CAC31D20D9D32FA6724A80BE7091CDE9C7A6560CFB326B467CADDB9E9B7A491EDA283EFB0B61B4A1116DD859D5C0897EAA2A3FB2CD82FFB33770BF9E08091363B6B81D23E61C2A647D2BE440C5C79EA89690656D9F10B1F07942834E1CB6E2D2DF106EB6D6A21FA23819E65028515E88BD279F9317BEAFFD394EA51F8639371C3A89F11305A4CA35FB0711F5E2C7C3DD1659C790245812113204B4ED8AAE9FF09D43C6DDB13F5070D98831B2C7639FB6B9B01C288812DDFA8861DB32DC8268C07D30CF969953042B3DAD530D9D744C06AABE7A886C0FE57B09B7F42D193FB3E9C06329818251A2F7E6474462C95DED +MD = B141289FC8E97191C3A45A125EB29831C532F764C9924A5EC1755267E7DBACE68C9EC4A685455BE06A75DDFA80421F16A3FC96203277E3CB22543B9C07A94C7F + +Len = 23216 +Msg = 3D85E0037343FA076AE1A5AC3B9B3A299654A9F52E73312113E0EBD78F4B599848023AA97550DC77C91DBFC922BB965508D5CECB139153D6D6FAA4F8BABFA2250D29AE12BB010D6D3EE71F910773A15283AC916F8CA76D359AC6B654BE15CFC8EDF2460D0E993D1DF5ED9C73E95D357D3CFF052B3F4CE358F96A631F0F7BE4C1B9D88C7E6C04682CE65CDBCA2C4E9CD05D2F51027E5E992ADD31026D37FD91DA8C41A33EE726FADD3D516923C6CF5849E5842291039BC2EA94D93B2A8AC7FE7275FE868928F3FAC2BEAA44F06375D8B92CDE7C403AB9F35B4F0F34EB66A5A31DDA32DF9DCD77DCB040A6CC127FD109CFD54410D7B3E4E8498B04089400D61F0082CA48A9D1D9565487D708756A9B16947E9C05F94078E91C565A56C9F7205ADE6D8E9413D6DD0FC8885FE01AC7FAEE3605E22725C9A52FC1DAE92B110C38EEB87729A9BB2263B6D43FFAA57ABE9C8438B31D15CDC8D80DC81372B4D98154937E7EAA0EEC0BF9C71FB77E2F7C360B64112AC8D8FAB5B574C21FD31600D341A9173A3ED05B0F417C18C58E526A010EC9FFCA19461AA9EA5F85416D029689AFE7F69836F89D1712004B8C79020D6CFF0245C7D4B1C196750D44527DED407595A7B28EE8C95A85C6CED826BB7F61D8EAD9E0BE20E67D30D5AD6D2D4DCB38F20E41CEAD521511754901F10831F8BA88679AA42E9C47308BC5A7F3AE07C14A8AB992CF07A26715F564B11538E4C441A9AE54A5A8271B66966C2C9065A4EAED9884360CE60415E953BC31072B4B2E3F7579D6FDB70FC737C70CF55EA5F72743DAFF866BA482199F8594D6D72E1BD07BB82476EA95B7DF9243B0013542EC95AF486AB184BBD93E6ECCEAFECD1A64ECA30468129683F150657AD050014901D0D4EF1005C5B86F98F2D7553FB529D7524C3F1B27696FD98359355CDC39DE67CF18D8EF58653F3C0499E085A8F9BF555DB9A1604A9D640C09C45D2B4A8D81BE369349389AA833356338584704F864F04227536B5F95819919C8360111FA2F1C9F4B275A18F724647BDF2A7830BC0B6AF386E9B5FDFF023116FB4E220E9EACE1B6E6B4C68C1C7DC91902366A6CEF4C4163616B85DB15C3D35733727214B17A47A6D9C5E059CD0174B1E5FA764AC11D1E859B8F092A4DFDE12543E5AC4C27E396183A63FC0A76A52469145CE8B01BA733C1BF4AE0D3DA35F5B107F3083CF07BFBF0E0E76B3FC7FBF5E515C6B79403523DB6D668EFFCEC49DAD419669DADD343870C82BF5B7624C06B9F8DBE66E49A35495B0B17C25AC814A0A58E5467DAD961349CCC2E64C217B8C32DD28DB4B7A4D8FC841BC1ADBF9F1E3C1F871AC9E3D03B0E7FE25AA79391DE961B87209C6E41D73669C3A8883856403736236317247F332BC4FA1B14F19878E2DF7925192AD5C4F7BF431A01A1572DA98F2B01D1846760DBFE3E387357D115135F1DF6E4B1385DA5E591E0EE2295858705A2F16730B0CD7468C08612179E3C449F9977C0EF6688417190D7361BB94C4782D67B038C225EA703B8BC7309761561BBF1A3AE4925CB0E8E33331615EE3F0662641CEF3942F9A003140376393C58EAA46F6E994A375369277331795D9AE7055D4DFE87AD41A843202E598E492011833525D2D568B699841E6A82CCE59B51D400ED6F896C271194F2C8230E271BD21AD4345CB8CD89BADEA7FB6188B0167490E1493264B68BD995D56C93E6951CA8C554B1E0AF35850377BB87C13BAFDC81E3C433FF3B5F13FCB5338B31EE619C59EB160E4E6E5185ED41ECB18791E6AEC2DBB898C4F951F7179B3A523A3EE8D75BD375F03A1833E5046727A501178E8EAAB4E25A05799837F1C91FFD4EF364ED731F39AC656371CCE01DA73A85595AB9AE3CE41E799FF94C676A4509D774B720F38C1D924D17B09EAA04835513C96530654DCAF00521B8A74E40774F146B00AF65BCCBF477B58DE528AA2BB793F47D55F4F2893A114EED09F21CD79168C52134FEFEC9A79659D4AE45F28A56A6E65376188024652C0CBCDEB6DC8AED36604E03DD61D4ACE9A8B7C54EBD35A19CEC99C788FA02E45E5AA29160C661051B262080841DA9F3BE61AD421B4CEBE7EEC77D0A2C2F14658109CDE4741A8F0967D3E69D95E6909098A61085AE1237BA8BFCDBFC339DEB4A11AD80C118023D82D904A0282EE58D0ACC180F9E9A629C083CC70B6BCBAA47ADAD76BFA0BF0393E9FC86C6D4374B1FFF93E9AD8F7643BCC769D2E1B91A571FD04F4602AD08A7CAA92319137291883FF0CEE2023BD4120577611D687E71FD39BEE25D23D00619083171DE81A0475BF769C972A0696031719719187FB5C172EA05C7CF5740296683889F0CE5B28665C0EFCFBC95A4BF7B9C6CEE9E3ABEF317AAD2C829E59533DCE70186657C6DB44DA42820BD1F9191ABCD3495AA6D1661FE0735F4AE7D567EF0CCAB731036B24390C56096D3B56A1FFDC9CF36F175B587612DD7ECB41386F82BA6F81AF6E684BFD6055EE237E5A22A25DB0AC2985B8F4E7C553B10283C76ABFF2CFD415D6D39723BFDF88F2A8C587C5C921D4FD4A8E7298DE0E7B2E897FAA2513D5AE1C315A593421DB07DAE696344EF882414E323BD03BF8B97EEDD732E44C737CA232E4E6A1D260F367DBBAC2500C4619ED7D7170D2482A1A98F99F9D4D6F1832D07E83F58E682D89EEA023FB4A3A9438C906AA36411E37356D95689E4ED4D49548DA8E8FB59C9C880E776E2ED8707DCF4B57AE1657A5CDF77A4A757886AA59B496182A68B62CB41360956B511526E8955A8165898706258B3F6F9D504EFF7C2F573E7DB1064F9A16391B11D1D537CF709572EAEA023952FAB7C70BB4BE3872E794930CBE2CCEA92CDBBC8586830AFF81264CC0A4F3A3FF11A4D1A7D521A8EE737C4FFA47063D8E88D69D381A085D71EFEA51A3DC173F6F76F2F4E1209A536951FE946E548914BCD7BC4DD506B41B1DC5BAAB34874362CE0FF03BDA19CB5938B813C57E44E0D61DB6644501CBA3D59B6CFEBE20E35E4F670E1E878E3DAF70245D9C42A190D575B98F9BAF88EF59E5564630D1C0BE4E566708C4CA9131813332DFD7F267E37CAF7681EC9BF5AC84586FA9A97C6C8882FC24358BF8851688860E838703D3EBE1498EEC27D8CEEACC0AFB158F5CCF1846525477D3BF069F63FE26EDE5FF556387B7D92F9540857D799D77D1D3319C86695B0622F82C57A05952F6DCF114B1D36F5629962DF10727B2B3F9A9E583DABC8B561DFF53B3E17D72CBCAB8CA974018D65C4E3054BA51211C31F81344CFF4354F8122B6B2B28192E80999537D783DD5B34A47752575B3BAEFB04247703271F9EBD89649D0DF30BF030C9DFE39E616470F3DD75E0F0595E572E70A93D1CC2ED8CACB4DC2431546B123972649B82D5876E09D6C4D9E1D20CF46C75C4E2EF76C162E5267B0B9C11B6DF4F32925042E191B6ED5DA0245B68DE0B09087E64E177E41A5A6BDEDDB4842DD08664E03FA594572982D415A64B70749ED536EA12851177079DA7935B85A81F00AF0118FAA62B879BF5C0410672C5948E545218CAF9CEA64B60C9C054A128E7867572E022896534D14B97AB668BDC9B50CE34C2690788F47CC311B866D4DE1FACEBC1BCC306EFDD6956E58D391304769742A65CBA3F81D6C45A79CFC2E94BA44F9C73986BDCD68E9162D9FD52AFBAF0154E20E426836A68E6FC5D2273CD11F09DA0B3019B7A5288BBF21EB3ED02A66D787402494D51F1FCC372813BDDB5017B0BD468A88A50D65AE08076D7C754E64898074F3048C8E3CE1B0954DE60DD97E94FADDF31B383F7B1365CB83AB0B4D30A7F8953A73435F9160D45C370F39F3DB13EE46A37B5ACE3057B83993F035E8C1F8CEE6EF7C3591277CEF69301D54ECA4670255837504B709BA3B2DD091D95EF6E6C5591DE439F5A882E86E19D1A2D6DF56F0DD26E8E954DE5F3D1438987AD2FF1A22F4320E96FEB55DFACB83A53D1C84B6B25FADEEA4970C85E82866AAE5E7A7CBE85DDA0AB5E7BB0A074302C49609118C8E34AAFA5EC7BD1BEF5D81B25B5F8F4CC8F264086D3B046A5EEB89A307D044C076C3E4698E60789DADCF265172B75FB5E80B59CFF939C06F937856408F709 +MD = F2CD0745F59F2E40D29EC5C9C3F6691A1BF62D194653934F3DBC87B4A27DE3E2153AEC970C51F5201FB7550844A7E4B6964570B2A4BD873904F9FD9C704900DA + +Len = 23720 +Msg = 16F85F578206F4D625A5831CB3B029F09D6F9E13F8E4271FD41A429CEB638A1300E51B403ED6124420B363191F55B32E14D286584B51D3572536A0B7022B63F844F85C457719F88D4B91B1034D2B58E77C3FAA34A33DB8089284AD13C993C234CA883E0263D4FBE209AFA31A445021A2FB4F457633A54D158D94F2342BEDB2CB65DD67088F8E017B58BB787ED0400AE30466085EB72F190118BCD6B00A7E1BE12D3E86553948859FDB930522AC99399685FA8D2927D4C97637EA57730C1216E00C2BD8E8BA684E1E8202289F8708D5E43F68EFBD1DCE5DB6408889E5E6D32BC6B20C1E40301471EE658A2B89873589A95F1B1923972377E6599DC7A0276D52B54B18245A38CF56B9E4603BB9BFB7F9A68CB63184221345895DFAEFB6DB77C8FC11A2B0637EE6478DB74F2DC771AE293C9D1B496A410AD012133F65EAF4D3737E01B4142B50C739B0766E846E3A372936E8F05D00CC91FC4B01DF2E39151DEC6C11C3E059AEEB884AD4B146F0CCC66CE48D8959D7AB9920F895FA911D6F127C97F1E8583D5AC8B0BBB959CA80E6F025B4DF440747648DAB69662EDB9F4EE44A6EB7B3A086870B167418C4CADFDF6408E86FC07459D37870F95D1AA11D3CAADB3FD65038CFADC758C69E8E77B9F0D08844F942A73B2A16B99FE58F35444C3E5CBFF03CC7CB4B95DA6CA7D9A70FFD846227CDA9BB71A7212CB7F66BD635B2B25116F1A68CCC239FB5C510E876BC602DBC518F068F55024715C2236BEA45F42964ACC022ECC3653C12399FD65095E0E30614D02D8274C63BC4B88F3D11DFEAD0E406B1CFBEC34065059DDCE76327973EF82D5B0A6DB9B3014607207E545BB9650518E4BE41BF9454AC5FBFC984586F6FC5714293ADC8438C897522FE2CC6B1B800BF64381D91ABFB2EF2B7703E337AD631D24498FA36FC948F7B7BD668187CE9D94C396FC322E53F341971F8B79D504289DA46199D7DF841B985D0EBE2F82D9B742A92CD1879CEF6A9FE968F3DD0875F4C172AFC3A289A86DA0F4D03E8E5E27DF20EB1C819B2566A6362A3A202ED318851F218D39364C4C47E5B47E16894B645FCC7A84FF4AE8A075A65237559E69F6F634736129A6783B7C13BFBBBC9E3FBF5F8FE52DCACF563EF41C1E876751206E5FB7CF869F3F6BF382C1E73334F1C05E5F6FE81344B7D5CDF58061775CB3457D7476C3085F9FE620CCA92679B1A5490D1620F613B7E8CE137C2F39BA5CCBCB7C61BCCBD6A024EAA79E58939B7CAEF19348F745A4640D15226C0532F1AC35740AE23CDF1C5F7113725022A7948615A33468A3F2E8450154E4D9DE452D3B9D5368980075858AC06AB9B30FDD432E44EDD9DD3C57281BFB5F4E6822D8BACC2E3512834AF79E0F8E13F8604C6CC838E2BD356BC3224D351187C89CF0A35069C7891BBF9F2E7D6B5D186EC92CA96A17A75B5315CA5ECA94C03767C500B2728E36B7C7C10A39155AF28A8C262152065CB68AE92965F0A0289FBC470FDF712CCE4A03CD0AFA7D9D3DA1E0799177D78C5E87EA5AE6AA1FCF4A514812D0ED0587417F706891CAB158429A326BFDA07F6C3112F7212756E6AED0E548CFD788AEDC7CB0D03D1345B2A28C6D3864EC67360CE237F008A225DE38B3C3D95047D2EA919E47DED2B2B8139CD37D300A5296550A162CAFA5BC0E8014830495487A3C2C4C49282B8E04BB988D744C0C7248AE2003F41CCD44666E06796C60A0E585BB1E10B5CB8D346E58F9843425FA3271B5227D0498AED2906F36D9076B1083BC26FA3F505D908F0B294148C796EE28AAB1191B9F46F5A4950485DBE913B9E22365F0064720E9F096884C0B36D18405F35EC928101ADCC82E3D56DD578B6E81DD0EF2A98DC9416682883522A5F357C36F292EDB5337E0E6B33DB1771EDD2E98CF440A6116EEE24C7EBA0BCFDB2FF1E1C852A6927CD122ED05A2D414C51A56944B3012F5F9EB545B838781C964BED1C55F0B4E36F258F4D0FFD1A01D5CAD9A2ED53DF6A192EE74DF63DF7F6587EB31ED365F58F1666343C33E42D75322FE5857543CAE191B799E312D1EBB8F70DB19F831F136EC11F3FDB80B693CD2D2C2A56A3D5A1F48C63DD691E036387D660EE988885F08E4DB47A72E57C8B16C583A7BA9C13D6F686E6C7164E9119709BEDD892DB2ED244E7325C311E3FFF4827CDE0AC7507DD2D2388BB978C6280AC6E096A12CC8B44C77A5E4B4C79E2CCEB84E24CE7E3046867F2B96AA3DC663A2D66D481F47D81AB487B1A7FB04B6B1443E1EDD6A2C8FA09015BC17CDA3D7A82B9DFA4194094B40353E0B23B1F878C3F3FBA505D7017ED16EF0A0372F1443E81D69DBE1FFF79943AC8B6FA31AABD090733109917730333B86C093D7227DD54FCB590614D8F195922B120904393974560CCC44E225D1740F5590AD873E3093BBB1EAAC54AC77047AFF1B8B1439944B5EC784CE8A4B1A116F7D008C3B23F2F7C9EA10B802B3BD0C57D00BA7D5FCAC12FC3B033C35ECAB30C2563A0143C7B54EBF3B5EE18D800FFEA1A04E92A41754B1B0F7190E9AA0F12F3498625F222DE621EC311186E2299F7F86B4D95E3024B46A58989723ED88AD57B9B9917647F948420FB0CFB24A865610F0650BA773C258DF09D739F73FDA76B12E7B56C1774E62ECBA24A0E00DA25CB890642E49AB6636CE5B2DDB572D6CAA0A9231D163A72D5666FBD466724DE80F7BC67A47F9ED51367164B9F8762B7B4A0CB4E91FEC551427CC9DB52855C6457CAD53599AE416D2E9434AA4AD72D191E162502D9AFD354E8A3BEF8B85A7CA1D52735F5C1AEE0A7F98E3D1D793148F0163E4F8639C07980C9780B025A8F2F78790186BC382B766D8018A1C3F6FC088E14FBAACCD9E97D67CA25938799798F11EDEEFAEC5F96D1782F1073A14B971FB09FCD37BE34D39A6B5E1308F53FF291CD19BBAE6ABB7997836178C074F7181D26931611E1C86E90BA8EF3781C81CA4C93086DD2F4DAABC2F7EF30CED53AAFB90F972B75774CF7D3112CD1CA5BFF8C1B463FDF46AECCEE30A2247E9A2023EC1E3EC21B2250B8E9FE2B4BCCA82C84F0BE24600589F7B9D6BE5BEA4D2AE543D738D0F2B7B086C88E92F7E18B323BEBC44EAEEA26BE12FE32753E3D2064E3DEB7EC9EA4925E69DE6B41E31820D49D6FA8E303DE0FAF1B1FE6C7C23A4E1DCC23BC626C108D5184141D6914C4DBBB15D0A2F55BC2DD4ECBED4C419B9B00A6444D639522600C8F9204B0DE1FCE3B6BE57E5A9B0E3CDE2A45595978FEFAA4008CF74B13CE86DB5C9AF0FF4CE122F60F07069423F5E8C513B5B955D2A5C22B11D4103F9F37AFABD606D50F7976C88FE0F01CACD075F4825615D3B9890F9DFEBE49AB86E60F390ED2D756594E94827A4946172232979665FA8264B7C0CE1D8BFCA203EDBD7D394A9DD06B90D428DA3F7D58F961D3680608AE82A0469BF3B3EADEDD344898240663088B62B6FD38235BC0D391151238963C8061470F07E21D3B7FE3BC6CFC4EFC550E2940872B67322353BDE6025CD6D65C169B9D66748D73B9DE6BF9EDC57DA1D7AA072BB2C35961DF26FC7BC5A4928A4C6A95371B87E03FC52C2A06342959F7A1BBE8961D69FF1704FAB283B4A5BD417A80E45D92727E0547A43AB04A59272EE8B3F6C4495414D00B88AA8A10E22A1A6829DC2B3EA2F9D2A544ADA933FB44251DC6FB814C82B0E2AB1DAD9F8609FE86EBEFA6277A6774C81D4963578D56A49CA1A5B80423A6B1D1735BA3E6C0A0CD4AEC877D9AAEA84245CABA678666CB5C2B48AE671BEFED3ED327188FF20C1A5E44A7E14E4EAA6BE3A01C8A658E37F337F3CC8074D65EB3725595441FE7D66E1321385B2181060EFCD92FDD5A556B8339890884A54EDF0AFE4133123F018E9A27051A9BCD04731E9EAD9233EF0564E162D546319B13FC430B8D434E2DDB069D983CC12BF178983868D34F39F252A8F1F1E827F83A53BD7C04FD83049DAE31E2DF2B5EFB6AB8538D090189A0A95570E3AEDE41E938F4AF84D195458402829BD27759D3A429153A0A8666011A023EC50CFDF765C55ECF05426B872B95FCF281DB662DD8F1689D08EE83BB32241B29765A1BE2D8C9E5342789DA439E7D94A4E6730741182DF1E61E18E5B820D190E46FA461EE4FAF5E797290D3458FE4BA805750AD85679A167718FDC1B35B07645D9E82194659FA4D524327600CBF69E19A76944EE7 +MD = 518AA264FFE3820382C98EA1254AC82C3045BBCBC9AF9D7E7FA368525BB95B074CE3B47CE6D6A76FF1212B791AEF6FF191A0A04AD38E6A98C3D26E24284CEE3D + +Len = 24224 +Msg = 8598B32E7EE9469B6D33247AEB8AFB12D6BDC3EE4AE5A49683E84C73FB353A7BA6FDD95C497F429E82F07B2B652D7E415E9B93B59E541ABF46C88FA54EE068F90764564A11A59F1D04D8B88DE186C4217285B72796D5C0575DAECC30920F6BFDBEA772A7B18339A1E2CCFC79FC8A9839B20A981D5291025F341E5D7ACC1A3BB4129091A5062B9E54BE7ED8AF8196CA7A9ECAF18CCCE4A1D718149809D08A8AC86C9A12E76379F634AC1615AF03ABB9287C4B4A79847B52ED4FA17E1527495362B625155E9F1AA3A3E5D0821240D8360894E19A5620BDBE00A7AF6C40B1E513490671BDBE402379F495C528E218028D315F6EF820C383C83630F7564453F0E2D387273854FA05F4DA7BC24CAB0B71D4092A432CB0854916F71C3B8640CA602547922C9867B002DF7382AF29E4E1B993D1FA74D950063E527DB6CA0B736B8906962412EA1DAE218A0C86AACF51362BB8BCEB3826BC3249F1C5155F0CB50133D0527B98BA21F757F72A9C52D342DE013BB38EA52774A7C012DCC0A58051CDA565FDB45A1F065041BA5FE62D0C46CBB1B9EF7D669BE319D98834786F5532225D26D184ABB38E345C4CDA3FE3B85225D6F6C70AEEC801BB571C5E44D9298F02F632453C14D1C710CDEC5843B7A055817587D790FC589017348DACC18B686BA0EE29D074CFFA70017D972449F4D702C051125FECA48AD3C5F88431789714C90F48EDFC382C28F5D9439B88531B003BE7935A845DCF5EE545A6617A3B05EEEAD89ED5B950EDD0919BEE243EBF5CEF536A0A7C28158BED2F838F494A2E828C580B48D88E216F50492E754275697882C94D1ADD46FE443B766DABE2F9ADA142A5BB1A096D3DBB71FD6B55810EE5B2989745695D4BFA143013F7EA34424833FE09D8966A0B97B62953C4CBCAC86CFC83E14AB36A4D9F8E8CD9010713702E1DB6C27BD0166777E2BDB5268CA388394986683DB83AE0603FA611ACAD587FDFF471718F20F42360FB5C3DE8A3B3FEC068E9DC496F664FDC0C305AE936C7AE560A0568CC509F99AE62C6284F8BF2A2801C39C79295609B622247B9F1F6E0E77AD89FD5449CD9BBB84A523795F579432C19E92B270B6846D72986EF052DEC372B3DB6D8449F3602FBCD662E2DCD4EDCC59E2A6D15E8A41CA7932343981770121A78D34B7400778072C89DE969D0468AC052AE54D6076660C67E47AB93313E9A979D80E05442B4E328E89E798158B747AB237CA577ACBAA07CB85F8AE7B1C9325FE8B269765399EAD37522CDE1F071DC26BBC4D1E7AA8F5F4DD66A861A8F4FA38183B3962B9739341404253C93D7DEC6B454DDBAC9F942F2F78D6F75897E673B9ECACB1579E298B8B9446B11AA43C6BA7511ED9CA831152D3C3EF0EF390A2CE65F4F5F6E177B50C9AF912BA4B4548208571A43D6854A8ED4479D9538456539203D490103DD23BACE095D0BF66C17F2411D514084E047970696400E1BC9CE4898CA62FB358B096DAF8A3857AC398A07882E2201F8CA0E4D1CF0CA4E47BB268A91DBAFA837375384A1BD68F87894AF81BBF1E220C2D3C3B2B93A877CF6A7C253CF660B498D3EFA4F38B9B401816C0AA51FFD3BE9F36AA1D2335F4C079487BE16E532BB0FDF8E00D5D8379C0F617F7148009EC57DAE98CD41AC01D3D0B568E0085775694C74FC339FB5F5A57C274DA07CB4DAE54833BB74B0793E93E8F1B5A7F5A092E90459F2C6B7E7A6F488E3C7AE10AC90C358C5BFD603080A544822B4663AEC1A42D3F16E335047A1C9EF6939C36CC34DAFC9EEDB13E1A9559279866A6D71A97FFD317FBBCD8CF80476D59271136EDEA5A186E7EAB7FC28881C08FAF7C5416EA4801A1EB9E0C883DBDFD5CF0F0C9A619D91481E413A74F01D86BC762F4B05497E20893CD55C0C570CAA3FA00BD537D6373B60D32CA14A36BD2FDB3EAC1344E4052EFE7D1ABCC77480EE433008DEBAF71C9FB7070005D8365AC112F151B374DA141E1FC62B3E40A74F3546BF4F02EA8050B823CF2CD5FD134F10ABC2DB0B9B27F5C0A44E320EFF81A0F7EFD4271BC9D574D6A82FA807B05F3892564D8BF54DB7B81AC87B633C53F8187436C1DF435BA2D16D72353EF7B39CC550CFEC1EC2502902AA6BF4D50563301F0B39A9D201FC02B0C9ACBA147843A5AB0AD15E1FBD9D3880D99779D0FBCD217746AEBACC231A1285927F0BC808B2A52771798A9104792DD0E9C938F66929D30390D16F57591DFED8424792C1A0CFEA7CD2DA90C6C2A80234F3B3500DCEC078BDAE333816CEAABE9B686AD0BB24F65BFCA86222BFC628843BB4D328DA1EA28281D9A3D29E0D7EEB9FE24B33284D73486D8D5F37DF7450409722E828B879B8F7D17AAB002ED2C2FD7F03FA4647F49D4F1B204C0DE0B413C613963A0C3AD0026ADEC9279779A0C7986526F8C9742BAA00C088B6826C2449378F47EB6DB75CFA013BC19106E18D062B0698BA02054D8719F756284191461FDC5D33CF0D15419ABEA010C8BAD6E10B79CC39334FA8789383CA03732E3DE9E454D2944913ED2C74021B7B393B3641448A6233A9EEDE72B8DD5A463E5A2DD7B44128B09C1D256F6942CD7DB74E4893402B6AEC1C01170523BBF33015575FAC4534700E91153370006D829E4B76216B940F1945FED31378800BAE385A54C4D32DD7A960E8B2ED1E34FE8DB1CBC7D1E7A86847A69FF5FABD40B0E9191E426843FB79A1DEE7DD0BAE4C55E58F322A4F6586220B0A5D483E70F998B10656D1F56FE911CFB0D1CF9CE1A24C4B0D4F19A04129DDA063FE17CB8F00CF9D516D44BA0D1AF9AC23BEE55CA307FE69F6D1753ACE1B1893DCB455934F73485CA3D8C141B56CC8039BA3CF7F29DC680531FACF117BD0F6D10BE295426E18167A33D22A83B416DD1B848B558A944B168A2BB11BDE0C55F9F9B965745B0E8E367FCDC57030140B87B88613D5EC8136675FB3CD0DBD2035F1A72844EAC0C2394F2C4546674BDA13163370B1E3D623FF301780F06D1348E99C1386411DD152FF4255E869DB6E3187E736F7015AB4B8D72B45A22B0F4F3F05FFA703C3B576B376FEC2AA142E68BD1B5285C138AFEE111987A100BF56DAC66217C6CC3AA1F15B49942C9C3C00749E2CD78A0438444165E72DAE65B1BCE985325E341E2736F11EA5AF9C8D00C4DD1C1523A09603374AC32AAEF82BA4062A0CD93790C99595B9A82205FB5F968098E219002FB84CD587DD68F9BE290BC4752A5D9DFC864EA1BB67878C97147CF547DA959EE3CA1C433B72868527744D29BFCD2E323530A6547389978BC2315D5B34BE3632B641429CDF9355C48BE23AD6591581C706A0CD25793015D9D88887806C2FE8504B0ED19EE74B75627074A7124DC01F0D337F52044BDA1B0E057470ED886126A8A8B4BEBE21EDC21D6E3B9BDF88872777787EC42E9813F753CC776BFDE50CDEA090E5F6945F242EFE0A776DC42DE1B442E510AB87B08D97A56399D171BDE5F7461517F04B9B50C3C42824C301955EB9287756C30BAB6BE7531989BFC552272FAA237B1099C78F8EF3F78121B61BB2690C1728DD0300D1299439CB99D906C357672112A1EA35F83E9144F51F92DCACFB9285C75C73E2381433CDF39327A8B2D130CA2A73F5A769B00A85855AE967089AC941A5F1B535EA5B3C68D01AF72F692B700F6604FBEE54511973269984FD1744169A33029FBE76A43647F9A3119063065DCF3456CC75F74C5B9E17DBEB8CDACF9CDB5503687509E4B514BC1F9F90B4E17F167CC426F956602FB42C640133D7DAF0227A48DCF22885F58EA87FEB44CC4E67209116DC9E6008F2BC7A04045B9A0EF3EBDDC3AEAEB776CF63ADC4DE7F091FEA139EFC268FE243F1902434EED5A8D47F391BDEB52E4A4918AC40CB56C8A73CC0F89A643E6135361D098D9E4682D2526FF2848B8FA0DAA79573BF06FAD2D61381CE071BD8A71147B9164E6F8361A94BFA34F1E58CA8D44A806629F811148051F0CE620B3C4FF8F094C9EF5ECD24C0C61090BF4C8C6C99247557361AE4228E8ADD6831BC67D6FF9C0247BD896E150281598F1097594919070B971C23F4EDBF87871EA88A15420302968B01663366DAD4BE0DCEA375111BEBACC333723F17C2F36CAC75B9A890F34D4BF0BE5B943BB3DCA5C897BE3773818D6E784D733021AA07106F369BCA543EBC7E9BBECE36AE8335967DDCC28EE49B5869C1A212EC3D4EC5214A90D656BB87E62F7B25EABE97D0066C69963C73628AEAA32A3FCF443B29EF1EE389736CBBDF99FC7E1B77D40F651AE35881D2FF43E7D4A13A56E8DD +MD = 912E6AE7278FEB203C33D44D7AC31A4C3E87F13C02DB14977D2CBF8EDF033CF49EB38E67B9019CB0B4C16B7BD4A6CE8A098C684ADD4223A36D6DEADA9C83A04B + +Len = 24728 +Msg = D339611E4D57F858A0B749088D129CF1258C2035EE049D5F47816C0B82D640458C8FFA131AFDA45BEF3105DD60469A70EACD18EE594CCBAC487D94085E957F8A82086ECBDFCABB8ACEDA5120A7E15A12577985DEF9CED321A1C8D350255CCE7D336825484C86F9DD1823565D2624982516A6027A21FBA2702571CDC05C514F6B9A7138AB8A441D805FD37BDAFEEEE30159130EE5F90C90DE030F9A904E6D2A03CDBBE241F0430FA813A251D44643C04C4BEF5D07273C9237F70530C30CB269D7E7B6E7F10831069EEE541D5EF986CCF0E1E870564FE558BC1C219DD870AF2870321AB62DEC23118B77D16418465B54EF71A68DD17E2A0AD16E31B618191577BCAA5C29C2F36C2B56DC932EF2F8EF641118FA3A78B65B5604E0913A48539C4B26F0B5E73F77DE1D6D86EBE0038C7883C2F69C0FF462907DC3B85CCBD87B85B0678139297AA478F03A588C6CD9BACF2D5CB5540C066A5D52889BC370A08ACE06953C2398E92E2A6AA11616B40927C42203326B3888CECB70F7425C1038E57D6D3BB19BB643704F83AE6A55FE8B3234DC25175D243FFD7E16BC5CB84E8579E619CF699B54BF98890C0563C424477B5B18E59314999FBC4C13D2866DBEDD9836C11A62C4E1E5199BDA93D2C90483A4FC3590BF66472BB8B1F499DBF94A56D8A2D27F9607B019228ACC75F8DA8F3F9A24EA0FBEF55CBE6C3B55506AE4FED8499543B0F04BBA76F7F164F31DFC7681051EF05B32846933CE4C1261659D6C414BDFF597AF14D01D73D4F3270DB309B8E8B62001EA17B35BB7B7CC7CBBFCDC846A3D19929B7FED5693089A3F81A467A539BE1CEBCCEBFB5B384CD025EB2DEDF5C4390F607F7C9EE3EF273D7270E5150A241ABEB97B678CA3808F318DA5E38F6842A2A3C09CDF25C8D093CAEE7C5ADBAB436B8DA15AE3FE3F0B84AB2B43CF1CF9AE3C0D44770282B6F1CC1CD7E82D195BE2A5E5AF40735449F6948C7037F6E1733189984B4D1DA1F0BBCBAB8373C3A9A3C0DAE236768883634EB42E574525264403E90A503A7D890530834B4701ADC1A9C6B953981B9581721AE37AB01CFC2B9571F2D65D4E35F3381F7F05F2CDA160ED6143E25C6D9D2AD6DC9B3F69ED693A325110F49192E169AB5EED6BE88A3E0BE03D1FA29FC002335979971C16F096BDDC4D88EB2300BA514B167D4A9DCB353D7AB0C3DB7AD991415DA362275D3264360D0568BC5B60B5EBCDAA5BD62EDB040C6583A9B997D9838479A508F79E9ACAAFA63F90660FB0C0D0EECAA72BDE7FC7AB4B77D29C210FE6AEBC6ABEEC7F201C8C64CB306AEED1110768B3360B8B2F30F8D1D2C1EE7B5DFCFD5D56515F3F617DEC24F56C4FBE6604597EDACB6A42F9447BAC63C53B54010B5AD6F3A5A8C37F89CD345DEF631450C2B491E7AD6436F6F923A0CEC85A76FB04C0B559A6972284145954EC82CF84B0637E4BA11B3F8BD68DC125EB5693A3ED2CB3A62959CBF41C9409D84F2AC9264E99FF695443FFE689464B349B299AB240D542B29CEDEA37F2221B5444B92616386A2BC74414395B97EBD3DF78C583234883AF5C7907CD68BA81E19AE616B4950326E526CDEC80443497B1BC42CBC4111573D39ED236323A8EAB36AB7DD45D65DBBB9F5F7D657CCF944F00CED4F12817DE3D031960BC334ED3F864643737B2641C6F392A4A60527252272E1334BCED47637DCE95292A8E4273CBA03E17E16670225C2E2733D7858E2C7D9DA6E14333F2917C6DF92F233ACB60553BEDC68DA7A99F18C2D3854FEC8C0706980C5DDAC1174BEFAD6A7DA03DC1DF372CAED2B7B5625EEFE93D6419494C3DD1890113E190719ABC2B695F7F2AACCD372EF78181C428F19918BC2E2CC16FD97F1AEF7E4FC3297578E0BE19B8B2CE6DDFA200E593692EFA8B11FB5A55919393B98A2FE31BF7B80701B67430F1B33911AF41504B2C3CD000E3EAE148014C451D166C47B6FE8266F44E62ED7515C6F30511743143485982C3245332FE19890FC8E7DB99791A36E77ABFAFBD0B65CDD861EEFF1F29E142DF903E723B2EC3B4A4FFF8C5B4F3F4377E3837CF134D742D46EF148C986DD161A939482FDF40D4BB4A4231B7D5648E2DBD8A9D8516C6BDA0A370FA53620D5255341830B84C751E31B8E17F3FCE027906AFCC2AE7E5E104A1109E86FB20897E3109D07E700C13E6FFA7016EAD35969245A16BE032CADA0F2327844DFB3B45D9B3E9E309A98DD927C5E75AED3270714041E35A703C3EA7C10348FE521CFCDFB7C02EA9E123B267C22F091A4B98473330E93A362C358F92519F9F42B0E6D2AAFA0538EC32AF4A52358EFE45B59A9AC05CF4D6D82AF2B88BBF327D3EE61A4F341178BAD4B228CA86D9CEFFB459C64EF12E5C5339471054FE09DE0933595C2B1A5CD98581675DFA0B9C04DB65DDCF452C49D720C0876BE88E9D7232737865C598A5D20862D749D3807A7F052F4FC0E0961FF314DF69829B3A3085148A818B0F53840B92EBBA0266A42719D49902775B72D15162B1643F80993393A9280A99E72ACA1FC8B2F8454E566BC79CD9075FE091F5EDB4EB0DA5E0DC5C4ED85A8FC3997389D235CB5436E9A8AED1D4604575834C1EB2FCF1378E465F77CF037503639482A285A9D0B476CB9DDFFC0B82E64BBD175538C2647382D2D7587225C845D8C14F3874C1456205071C0C0B3965FE30E9CE3B616E4DE78B3953A9EC525E43CEEACC0C303C6400CB4D52FDFD142376075D26AC1123EC4CFBF82E77CB04EFC09CC95601B14681C90A7B0840EFC819613AA06FAFE2DAB4B036951F82579A02EFEFD08DF0EEEFD2146080734961725B6E917739FB80DEB9B8BB6DCE39E20372CCC079ADD9030799061EF1F011699445570EF0CB963483099EB17F22226698DEB110495C159EB63DA750D231E78C4A7C734941E443AF7F2B5A3A06CC5334EF76743FCBE8EDD3939ABD48CE32A03DD59D2553BA408B444D9599C2358443294C406D03D86A23F872992A1C455027AA4D7EA35AFCE35AF0A40A8B58CE2C149C00ED49DDFBF01F1EFBAD3DB59D2214B795C7F78229889DA77C4A4FAAB944EBB033A045156AAEB5B457BA7FE0A970FAC195EF5D206E28FF9151310CC91937FC33E61A50755AB1C109E4DD87DC511964F970784BC3019AFCF015C6EBADD5C4C32256311E8996FAB7DC3945CD87D55FC9C851E863DAD371D6E9D69157C5040BD702F828C088C5A8E4E35ED19E8731EB9ADDC7D31EDEB95E2FA57EC514D97FE5914264DD0016BB430FDD7DCD5A161732802963BEC1549E5CD5151CE9C8BD46B26F441CB68BBC9DCC08C139DD9ADAC1A158B5F9E54D2C20F01AE66BE788C10067C60E088FDCF828F7BE908D863604E19F318389E5AC148237E11BE711FF432869C5A9082E5FD9FD24C39E57863D63BD85D5B78C6329C6649F562324398C21CECA17CC78750AE9ADAB612CA3BD0AB6FFAA9F230637927DA9DEC3077AB6F425D21EE971A0744732F39ED82F6B06F1E84CD777F1910A9290A66C77264E484693108D973A25908A9701C414920CB0E3B82A74D1EA8304E8594C777290CD32864738C657BDBBD57EDF42EC9A2F522CE911C1378275AD43889CC26E9A3818987FF0671A7A94573C013EEEBDFCFAB5D9BB405D05B66EB641C976A4233169A46338895467F36F9FE7FC1CB3EAB830F46F261252AAC0492C0699443303949530687533CD09CBFF09DCC8F12A49E892A47AB0A2BFFE1B7A493BFD66D9E4822598781BB8A94A4D7D63D77C8F1B4112F89CA215DECB610F1339184F8CF66BB59169553013276472BBF7753A7EAB046F55E720C0B235407748B8CFA07E748808875A896661A54DDE939E0D64CB3031A4D48D565E24A56AE117ECFEB27928E42C06614B4327B9261BE4AB24169B26F9A7A463A42F0ADA305359314E7D48993EBFE46FED1EF6F65F733483B883B72DEEFD5AE803A0CBCE91E5161090DA188C475B38379FA2CB191D0C172E966376FC8C7A5EF4263949D75A955EE94E0391E70CE04C61D3F4F49CC5F1774515F01BA6CF83BEA9BDFB7F158F6CED3BC33BEFFACB80BA3767E476F3180C392F17DE1F72719466B4E814D7570C9B08EB3F053D728E5EFA2C28AEB4FA557A2C809E357F9CCAB21F4E9FC3291CEE7CCDE2EDF7B086F844B531C6D6D5744AB2C3FA2795A7C2B26A3FDE44AC46738972D374E534D1972322D4DC8B349FDD5D3AEE827BC4DE6DED715B87F1A26FE09FA12A495919997E07E75E268899D599BE0FC699433619D73C63B34A377F6CD511D095DA8ED29A9FA86944B3795BB69FB8F51FBC34D07809DEC6FC646BA63BA48322717A1EE01EC9B1CADCE556B07E943F619A073FAEC003ECFA657D7C0086631F41909BFDDAAE09054948934225A3 +MD = EEF31F9811D780B1A6F0EDFC476352801E9084FCA3EC4BB2BEF822DF0D9580A698D36C57D9D2D6666D8BFC0AAE4859315908D755F6167FD86D464DB0BD84872F + +Len = 25232 +Msg = 93B7161E99FDEE38713376A69FC4BCCC66C092CF4AC5B71C350089253CD17E7DB28A41490A354221017995ABBAECB67A2A989D81984F34D021FFF364E8D18FA58EF3DF090726DE7820F598DE625F90F10007F62C09F3E79EB21E847D28A8869EB217300CB4014AA83D7D7AC6DBB9ACB1E19A2BC76291527C571EF593B509AAB454F20BDCA4ABCD337B5087BA30BF4A87A936F400A13D4C455E60146596577C309FF25C22489D3D51A4BF1CEAC5B8E20A70C541922B78EED7F2C3C2DE6809D474237FF6B9221B6A20CC7046BD7A292A4A7E1ADB16B21DA6812422F0A2932494DA0DA8EAFC50260EDCE61D506F0F9DECE624E9B5C6EC555963D5F65BF5F978E441955B0276F156202C67ABAB3EA79013428DDFD880D861DF4E7A1BFFCEE619D04C0863B2D675DE97642B44FE7114C845B51E57306B2D0072DADA8673C0C056ECAF4B486653A6DCC00F337F1ACAB6B9B2D665B1A5BFEE45A754711D45C9AC63366C15143F89A5D32DE03C244CCF831C95A97D44C2BAEF5C90D8752E2CACCC11316E1B78E0F1C4B5B0A43871C784CF5D977058EF4CCA06172D6081996963F3DA127076493322D9BF39580F096A44169C9A93DD7C84A6AAF105270DB387990CA1BE0094BB28AD741DCB4295B16AF18C97E15A61AEC12E108D61D5F27215DC24DFA8B09CE5E35F61B230961727EDDBB907F69EA3988EA95F73299E4F3CBAB4A6506F0B4E083EDA4A24A7C309D4785AA1F2B1D63B0B021E3D7227AFBB6662C3E61586CBE8ACA227C61BD34EF7B7346F1E99DA9588DEB49BBA8A839A7D4CFBA9CF43A7B2EE85A97E3754EB9D1C7309BA8FCADD45641ACA4AE0612A9AC6872CCE7B6EC5493CCB45593017E6F918493B6882BA66FE8F96DA93D71CE4C435E405C44F4B67DEC0F896DA961F7BED7849580F3C88DD156EB8E31E7E325CABC1BC4F58E83BCF8E6204DAD75853788F121D9161427A435B06F08507258931FD7C36D39B4868DC575A70062168203D8BDD6067B458EB25AA5EC8AABBF9B1198DF0AECFCDA206DEE2DC4EE5721680CA364464A9E7EDD29608A3C6A2677A6492A549446E534E9A66C99B469F5DCC14D9148E280B39FEF77AFC6D97A48F194544A285DBF1B1D4DABE9E120E77774AD505DA0834E55D3E76FEB4F61779B86B883D6B3900B9DA38F3BC92E03643E7E0C7162B79FC6247C3F887E9C4F763B1F544504FE1C2D4A95BE2158A31FBB515431BE2B954275C706F3A3ED2B6A6A9705960C868271D0F3FE52D711BF377746F28F7BC1FEED6BF7DF64ABB5C61E3DEE6DDAB1FFA938EE21EA45CEAEC5F064F8436942BB48952E370C35A4DCFA8D73D9C75ADF8F3AF1D6FB98627258D96A63A398D90FDAA7F5C779DC8FD9733E432AC542BDD3995E5AC335EE30317A40D02FDC34720B84F253471654A709752D9ED2EA3DB089A05A579A9299DF1F4FE63780CBCEECE5E21B236368EAC7016890B533BF94B0E0EAB0D74D9BC9CB209840503B237821D03B71BC922FB4B74441CB8EEA845D6703525065395B6A72D47F901D052662465C48C1100C88A0A06799B4076B07704D65675FC3B52F1D0FD99E470B3209C6A90949ADE31AEB6272E94FB53398F0F289158FBBDAECB5CFEDE549D1BABD7E34A3BA9939331FF19A5CCDD53BB38D89A5B9255C0051B7392ED07B0D755E04B517934DC3FB6BFB9331198ED285B40A4B4388BA2E7C002C47A37C0B68BFDD72B61770DAEC39A9A01391D839B84AF6B71071CEFE6660C585372B3C6F9F735536ED0DFDA55F5F352768F716C4F6D412139A47B4304E5FDDA714C5E14F16187B9D8ACE53F6D3DD222985F8BC14EEABC1BA8EF7E0B68535DC50BC2E0322942FDF1233EF9CF4DBEBE205FC5E4604889BCA0F95381C11BADC6A3FFC71D7B28F0603EC720E7F8FB60ED463E72DE159AF0D49618E3DF16AFE272DD628106E3FE4DD198C685B6487060ECBB0E69DF995EA97E37A79789F147FC032B399889045623821473FD4D6CDB454C7B468D26EFBEA0DA4BBA85D993666560E1FAF8C09C2EC33EDB379245D8A5D261BAA60A6F367A517C2EA1CDF877AE2641ED22BB3C8A05A7FE287632C85230A41C44D9663D3008DF8E897E13970E3F013AB2F59A7AAE3BC50D28152E84EF607B1F1908812FDD0DA3285D982DD7C21C7673F93A3240CD01ACC88F6D70B958F89FC468550B6DDEBE8F3BC2E5C16FA9E3274668C3C54884412A55DD1EB3E81AB818696A7624705BF515E6B1EFB1D5CD504B6A733BC746661C5AB80CA5D9F5694B4E1DD664C41952BC1835E23087A61C050B328DE9CCBFC88BFF0CA64FBFF092EA7E61EF4A61232AD30378053CC59CE77C6BD262AD080342A4578E4EC21D338C717C567106482D1101EBC30669912D6B1FD3D1A2D1302D94BB8F442296C0A6377A90BD6CF627B7923BE4916F7442559B2964A70CE3B7F18A032DC0DD8F4C2503D6007FF7FBFB45F2F4CB61EFA79C74B301BD7C674D8CD5AFA38002744D5669D8F52F67A8783363B015092587DB9EC4F25329382D426AB9CA2731C8C2BED242E0D736F18D68BA906D5EFCF8845BCA9E006212C789355ABD40033D32BEF40E43123DA1B560D19BE7B2BEDEB3165A27FAF5AD3C8F8A6CBF1B2CD385F624E52F7E0635D6F203B04FAAC9604A44219C963C902B205D3449E9445223E9494FD4F6BC2CB3EADBD769C30FC39F62DF0B4541FCED20F96DDE4420188C808DA36D7F252D8D15D2CBFDD9D146A2C3C9EBDF4E7F16A3CE9D7EBBECF6E34F36AD52FBD7A4A90A708380D8C9AF17C14202470E61962AE1305789E4DACE05218836CCE567153C8509796DE7F6C59C61843F31ADCA02B0AC1483224B675DD3123CE720FBFCDF6F10E3C20D5343F63BD2D95C4FEAE809B2A2D7E30501E8361A1A3BDD4ACA01E9D10969C07355133680DF2FCE122E4395A3692A972FDB4AA1EDA5987539B19359C459C27ABEE0C0BDFAA7A3776B41147C61BC38916B74CBC6DCCA587DA2CDD6732C7BF1355CF182CD2FA3317F8DC49123442529E9D0042633AE5DD667248EFB1D85D6351A625975433B6D51F7B70CADAB215BCBEAA4CC5ABD3371568109DD1F7A8339EEBC1D11E3A77280BC445B3FFF984A53AA3DC3C96BE75AB26BB4C13DA4960F7CEB17EF36443149E00FE7041A83BE6DBAB71A627E1368FEBB0F98F710D560986D5A896FB9125BCC19D397661A10D27A65BCAED95CFC3A31F917CA9395CDC25C17AA3E1AC0D7043B41D49957FC93237EF22E0AE7791BDD30369AF5CAF672C4323EEAF53360341D046B69743BF7D8C34DE2791321372590B724B00279575CB44F41A5FD661868A7F7F7A4E035E9C3A2889A58063C65CC41FACC1E576D32BC02704610A9C15ED0F45DD4F365FB8157FF08E7CBE7585E314581750B5694CFB382FA16340EE7350F240E277EEB71E4CCE7CC9DF58DEDC7696120AA77FD8E6BFAE758CADBFD97ED29F8F0E62F4B142F1CBD43C8F9F4EBAB25B0359F9BA02E371A25F9573F1C773F86E53D7548D49F190FB7BF31FC726AA59E89D31039322EE53E203B476F5F32D68C2BEB6EC38DD9901434B877408DBBE8B3A88C2ED7F9445CF2AE091C85E4273F0FB7745BC693648FBAE3A4C76726E95F20A7FE1EDD8E43BF8CBC12379A7CC640D485BDD4747399BA5C206E1D224CEDC95617BCC204CBF8C2DB0E2C4F269644E3CCFC3D43A896B473A1E1BEA155CDB202036E5749C11C981FD80FE00E8EA85AE04A94500891AE660F09655AB9610CB51C7E80F2A7E638B269672A98266F9A358D51F937E5FC7E9BF5D89AFE8F5AEBC93750F6C1C5F5FAB800A17101FE7AD6E85B4BB79E0741AFF6418ED4B6C9C2772704FAADF6951F17CD76F518BC9E7A77FFEEE4748D8043D39699A46358580B639F9362EA1ACC6279590F9B691CE17DB4AC835D9874710BC3BCF0C18DB6B48B62549531C136AB0B8D756B08F9BC36AA13125569370DFFCC6C80E6F6388D1F465E0395E144FFD7A7F7CE081AD99C59D89440171A9E8CD606BFCD17567FF3FE63BE15794EC3B551E42A2286FFFEAF49D9096E63B75B1F75003FFE04475520B640E77E8D8738E155C457AC62DECEE08ABD4AF348402395BB6D579D7B840EEB95E186CE206C1A85270A9E541876BB10D560C3AE4A0E5E9BABB8B8841EA363EF8EE403B302490E5CF513796AE5092C7C9881A65064FC13B73A4756B886B8F016CF1D997686199AC24A21719AB293BA227E61EE8BD60A37384B5568455402665AF11D3D5D3FF941C1FE17CF490691BBDD74A205EF6E4E10AFD357F5546DEB185422882535CEF88A1C8A74BDC7DD722A9BD9DB55B80C2F6CF11AC6E381164B6FBA41ECBB33AF31278A19D6F20104D04011C2A2287D7597DBDA5FAFDF63584EDC3739674F2BDBC9012E0B7741F4C884CA742F7D5CEBB594AD7F55826EE85E3C06CC77686CBCDA0800FB4B08569D1D8F396BFCA7CF61FFBD3911B444E1C603 +MD = B5BDB3FAD8B5B89ED47DB1489E19E27B846DCC9D965D32543E94A53051499EEEFE88CD123C58D5EE258112D3EC7F4434199976237F69971F69BA8ADA7D8D3DA7 + +Len = 25736 +Msg = 858EF34C28B8939BFB4644D1E458A67A034B9AF9F82DB786892D81C343D27B96EE49CFFBF2C3419EB11EFAEB9F8D0410B0EB688156654A8E32EE2A570C5A88007656A18380DF33F7756A6004766A6B96BB27A741057A7A0E22D732D797C488EB613F179DC3F1094B2B5C8E5A34BD57F26DE85E234FD894A2D276E8F31D0F7F23E570A0A4E13BDB635CC8897282A1AE00CB0C8F04124EDC6EDE1404272F1BFDF55AB2A0B3D5B3534A4C01CB0E1D5750EE71328FE3DACCE5420344108996B6DE1A443834B6BADFE616534EAAEA32681D57A2E41C77173D6DC0751DA26A17731B01833AD0B9C4D3B48BA23773AA6D2BB7029377F453484A44E6734A3ACB3725FFBA0547F1045F18BACB1E9C9C801759B9A16209F0158A4E8F21CCA9112FDE82388CF1FE58ADFA1F684C3158935EDF9388B42AC0E5B3B68E6E6A4D4476C4EAC78F166EC5FA464B565D481F57A9D263BAB7A1FED05D737974C4F7BDAF2CE5BA40B2A993E867E5844C7750014E66BCC5BBF5E500402529DDABF1EA2E395DB084C4BB85766FDA993B547788FCEF35381FB16AF0965A08EE5CBB4D68C934785594B37F78E76A6558AEE73E570E40CCC889B0D5269756BC40897EC0C2D6C33A33B1897AEF297F377CB58A7A1A389EA60F4B5F25D1305D046E48D5BFB1083A82C5AEED09208FF83076367156B9071BEAB5AA12D9DCA9F8AA093872C4C95B84CDBB0B84ABBB03F33B63A7C603D723DD9970524548E61F3804B7A914852AE55D377E25A8431B1E7CE78F1294664925D62B7D8CA3C880C4AC80E92F8E86554BCAFCD39CA44CAC017F4C4550BE119EBDEC7AEECCD527EFB478348425FC3668141607D14DFAC90451B2996DD46B23683210916B90E63EA2A4A006BF72C4DBB6ABF3D0505379C5B360966A25471E658EE24CABCEBB5C6ED5F8DCCC84614D64BCA54F35189F579C170F2A2B773AADFCF3C1C435885D0ADE7121A4D2FCC96AFA88DF6EA2C519A98AB279E9F75400AB053D457ED3FF957C20F282BD121EF67F53053FB4963D08F70EB287E011DFD015CFE492ADCB927BB80093545014736A12E236569ECC3453350A5E57D50B1BBCA5C8A01A946248370CDE6177D7B8C84F11EABAB0C3A5CE654FF85783EE8EEFEAB58451CE73E164A9DF47DCDC9ED24B0F7A87E0ECD1A3DD15E6D656B8945F096492EC72C0B51D13613B3134C3E31CD1A3093B8023649C1B3A3EE8A09E5A8D612A91B4B14646E22D575CC09348A5A58E0F9B641037D7B63D32B40EA5FC16C55A0875F3E64F25CA97F2A70DA0F4567C9626030B5B8463D8A55C34665481F2FC308D2B87111D23B1B6CA96013FF033B23216C27C9D2E1222DEE25B295E180CB6EB9BBF72F59AEC070AC809A79B3306E0BDB701521D4DE1D755F75EEAD5D79A72DCA55B6E25FD10C4EC68BC5C585AA1C392DA26BE5DCB75CF2FF4B31C3C578F9708191F59D04C2E00ABEABC6B217D89BA9BCD0CBE76E72E316A4C7F18AF642D9FAF3E76A6E4F4F5E80E1252E52F996DDEA279BAE6D88EF866AE6F3D77E0E105111D04D4145F09691925CEFC2A8DF96F0D340AC86C0B48EF5D18EC1DF59748BF5F261580ACDC4F58CDD2C2649E4B357872DD982D9FCB59916037A8247C6E374F0CEA924A25ED9A0B5DC15DA9AEECA8A9A9DE9811E1DCC4F05357867871B959AC9E1D3C4AA2633C9445AA2239D02E9E5C7D22FEBA47E7A0332F025E83DA06EAA82F30ADBFC8E1167391C6F3FA82B87857DEEC2F39D08D4AA3BA59E1598B54D665BA68438FC7493B351AB54B907A80945FEDA0ED5ABAC57584182E40CD4C8B48F61987A07AE6FF6196E5435324B3546F7712BF453A1F31CAC5778F94647B656DCB4FDD8B58AD3645FA1D54FA7D8EA1B627F65D68D40B9256778B46950CC2D1E4C3313D542105A3476A7AE2E51877254BD756E7FB55A55526A32B78C95ABD169DA1929CB3A1A098D246F029AF5DCD0BED4546B2559A6A4739396C2E222C77CC4D3AB47262CBE363465CCB3223452A35B91C15D4F2822FD75A91A191ED0B19EF0D4689A2F793D31607DDFAB5FE0292EB3126C6729B37BDF4EEF808A1A715982BEB2F9D6AD6571D2346AC4CC75374B4641A2BE62140DCEF6A105EB3AA593207DE595C439C8E94E8596F8D995690813B897F150670374DFD9BA0588C7AB7603958565BC31C274ED42DA1BA94372EBE0B4F08611DFE26127E7D05AFF7B9DE63B360B8C3E79B0057F92B40348C4A6CF8C238BDD33C204926C342170D9C15DC3D69C7E61F2A94807A4B84D04DF599411C11DEEBEAC243681FDEC8BE382EEEADEDF61F728646FDF9A421EA231FBBDE6613DE7A4F7BDA125AF5DF1149ACCAAABE2C2A01841D24E165AE76808CA9AF94EFFB1CF3B1E31C765559AEFEFDCCE122BDFE567E67C970E6B40B468DA0AD6B82BACCCDCB293722450AEAAE801A342ADC7F1F443D9935F5D438A16361A087228C2E26C12CB59BC98774CBDD9B49B2A065C8A767334CF16DD2717CF45A0C8EDE97B4F4FAF99ACB013B5E0079F2B3A6A2CB82B611DC7818221A679C007377EDBB9FD0A2000B32C6A17E1B0BE9B91208EDD3E417E631C2E6D23DFA763FD792972F9A9B1C8FA42F0AF5297EB49B0776BAB810B6856E0175EB1B87EC83CD2CD12E2C5C1610E1EEBE9E665A6C3467B870A1574E6F2CFC865687515D8A35F5E90D85138C3D2C9823696E25317B1BA5B0BE623FDC6CAA1041374D398578167F4352F315AE9DB4255A32EE4910F2742633D79D5B5F105ADB63B0A3D776350B8574477E572EFDCA09574445ECE8DD6382FC21D7B9D68B3A4BFCA158DF4A7AA4CC1C0DA1016C364C9FDC62ABC991A3504EABB590809B2D41E4D51CCBB0E92E8752A4C0F72E74CA7E45EB1968191D564D813131DB2B321279FE7A104ABC6E33FFACC553D0A62D69ED3CB67798BF8E927D4DB02A35334E9466052858E6828E0C28540880742ED54923BAAB85922E05E0B66EEB401453C82D5B4D7FF25297C1F9F1358BCFEB5D5294773DE203D7F2FF9FAD19FEDCE6C12896C1AE44ABE0905EA80D24BCAAD927AAFC6AFD48DDE526F3DDF4E6CF94EABB9E99CA6852360DF3DD2BFC7907E42A35744BA720FB0F366EEDAA8E86E44059F64B384E296F00ACFB469472AD01232E4A4833D11A2CF097C75492E2AA1FD7E425082195BF43F4CEF3B3477D16B606866F1AA62644F1A31119B9BC787ECF70686468A96AFCCE82625C860CEBE802C270605EA003B2B40124E8CA4EBC78A9CE226CBB3AE74A7FC829F53A51D925038CE9A3D3681CD50DC463AC3488C981DBB0ED6E4BE127CD3AEC473765C2AA762611A641848022E33AE6B5A1BD57D17221D172A1775AC54DAE58A1B0E21C54853BA59BA46CCE0C62399A547DE37557FF4B6694B86FEFE062AF6EFCC103C4A1A2BD06700E8769E4C70641011E5424C2A2F0A6A2C8EF989774FD59C0800EB0CB19EDB51B69E88BF4FAEA43F5C2C2818F9B95E27BC68F60BFBBBCDC778C6F6B116333DBC17DD352E2E97BFB5E33EBE9B3E518F93E86067E75F064A714DB634E37CE71D4BAD65FE2BBF326EA2793C87CB44572C965AD6598312BD9838DFA8E1B599CCB8701DCB397E8466A8524B568E77BE95CB96C79A64DC180A736A6D996EEB896DCD9D9AAA8B6A4A9AEEE6F213DF1A071F6F309C1ABAD52FD477F6F707F876F40EBFF3530195EC39887E3D764488EC4C7618FFBE79265EEE08CB809CDBD0F7D38A8A2D292822661C2273D8270D1E0B2BDA7DBF1362349A9206BA25C0DC1C668B39DB7724E29050618E43BBA05F50F202D9A026894EB20FEE7D6FCBB22D7DE3EB89EEFF428AAA1B3F18A9847FD5FCFE6AFB9EAD2C864E0DB5C0C7533E574CFCBD82F14DB20F851979722277AEB0EF579802336C90D3BE78B47DED5C829E83956FC9587ACD1B0157918C4A1DB3676E4001F068128CD4C4511385F4AC39EBC687AEEE6EC7D7535391062191F86B4A2F1818E6D1DDBB24E1E7CF743E399106AA1C39E52AD7EC2BE7BDFB32B54E923D50EF8AD4EBC6A80C65614EEA4AA5D07F48FC597A29EE20026DEF2F300C7D3CA727E8857A098A0FB22F2C6757268E390F839BE20D459830A9E3DAC71EF418215D9B89BA559A80341E1590DC964B8A6ABA07FAAE4A9AD8E5969E9471D53E4DA76889AF5F9923B18BB584D71E30231E0EBFD9FA4891AF34007C1235A9CFB2B0DB0EFC1A5417CBD53F694C6F3882E8553A0E01F7AE34C24439A97DEEACE8BDD2F59515DE0760589FF6230D602BE3893D27E34DCECCE7B8E310D87790FFF49AE5B530FDFDFF71E61BE2E1B90D4204194EFD263D1CCFF4584938C06666B0AB675A6CC5CA0C6578851730E281C107B58A27099647541CB2B9C46626662451137BE1B34438ED825C45628D7DD49303770BC3330E5E98E9ADA7A1CCB694EE5E00B27F7A5AA000D1D9D1F7614532BA4B8AB8A92367B6946247B5F69F870DE10775325C65ADE56A7D063757371739E053E971179D2BB6517C7D9F8EF37A78DD3B9D15C9D2F021D4B81FFE9437353A965D79B82177B6798A70EF8511D27FFF215B741B9 +MD = C304B29C9F467187FCADA42BC36116584DEE215201D2E8B7D9CF9505888222A443D058F37A7E1DDA05D91ACC35391595B6AA7B6786E224FEBE7059701D9964B2 + +Len = 26240 +Msg = AE82EF09B711951F6082B1BDC5B175C81010E398B8F3B18F5AB99F78CB53A5F953BE09C98BD9723740C7A4E6D26A64AA62C6973F60DA560E14EED63D001F6E281701773C34A41260A2AE675DE543F2BF2FEEA4B17EBD928AAD65A17F7FBC4B7570FEFCA804956D4D9353937C3FAA15516C8FC140EE8F91F2711E3AC0879A1D3CF7AF7963CF82E08EEE05D3D913D2B7E568CAB7655A8BC5436193641D76F7443BEF83D5F468D84C80B8D37250F06B37781EFC0D885BC7358A2B90FDD5CBA3DFDD0C57B8F66750167546494E31BB751A9E08E209952DC1EFAA2B1210E69D974454EF55952E35CA7F40CDE944C665D9585580C70B8FCFF5BBB5635F5D8D549356F48D4B5F173C541CFC00C3F42695541CB778440F64EDEA6D0AC8DFD38023C7A013FDC28AB3C57FAD938937CBCFBCD941D315E751465428B82200B75B3AEC1776C18015AA39E25E162ADB0AE24C19609F365F45BBB8190FABDEBFA042076FCB0F2CBA3BF258F6FEEEBE3823BEBD9DBA95CDE03697D6722A3A64B926311EC03E6B56EA047D2F5C28730CE7B560FDE8EBFB1BA74AA1CD2E57A12847BF510C9B16AEF0C25AE397DD6022CEB1902C8ED2E24054875B5C0C9E6BE87E9F40C99B85F90A4779C109130F0236D1C129DC2962BB57479E65BC99D5DFB6BBC7D96A290ADCF3AE9ECCA75587DCCB2CC318DA3A669DA92CE2AF333897448A669F1A4C128DA3F964A01AD64E132CD940165F5708B1583623D20CC5A3AD9FB860F342A4D47E2CBE1C43577C9B98341E15B285A253C32B3B00C39F3F8F9983FBFD2D4F217C857960A7EE6C962C2CDE2547249FA56F97B6857348D8A449CE8DC83CC99F0BFC29E214E0A3DB6A636BFCDFB15A537979565161ECDFE6A4C29D88F4E465660E4B4A493B3395AC9696E5BF5F4D2FC6587E673F8B65BECE1CA4417382A3FE11215C5EAC591DDA0BE4A9F2FE0B1B18325280241BF7DFC621901A0E9F4CD471401064FAB73373BE0D800FE1CA296B27200DE5158C17E64216F01EB16E58B9C9DD51837101447558DCD07C7B782B6016313CBDFA95C07B9C2DD25DFB3645D8F22C3DEE68B1A43CBA114ED27A6F3E55CDDC7FA856FBD07DDB72F540D46F780EF5EDFA68F9C28FECFCD3E967A030570ABA49C8CB2A178D2557E6B9A3FB387ED2F6EDC7856C2B05168180BD6BD7A88A8BCC8A81C5A0331E095363508CD329EC504EA321A6766C58D658E0FAB942E1DC2A308BA7E122258719877BB8AFE692D1CDF2BCDBB410CBA4E5E5E4B8FC8E1449793FDA1C14AA337A1F88840C3A067582632B652E2AF72EC8874919F4D8AA94DE30EB3F1E44AEFEBC66F58E5EBDC766B7A3A8CD161CEB65B9047E52B931AC59A03B13EA6E3F41E38B40519AF385B57C72DEC99BB7BF37D71F4A409100A3BFE2045B292F92775AEAF7C2394A15135F971784441637D51467BFFE9B4BC853EA4CFF5DC8E251263A76062CAAB0B75824D21C763D33405A95668A53DA22951E9626A091A57F8A5A27DBE0B61C0F1C652DD0F04C12A3E3CF014D95BFD35E56447047ABE79B8FE04CEC137516C3EBA6D02E68290F91A47868AF424E1DBF5584647EDA7FADA8F051BEBADD654B14912404F5AB54CB7927C413EE02714D74E82B1445F92EAF64C28661478B508996EDB82014E014A968242135D40AF966F0CF6987E7616EAE588C298110AE42333B918B2DCCFE4C6A60E97E65B63E419D5F6B640250244268765B5AD9B73A5D016D508331C42F694C970C2BCB745BF037A4D22EB2B4971D96F3689EBF513BCB2A2BE78893E9888B623528676D94EFBC768174145F212C941938096472551178FCCF31250308041FCC72AFDC3B845A45FAD65487A7404C8970BF8A3BA2C8AB5E768BB0CD85B3A6F0F1C9EB66C103062161D6AEDBE76C43F8E39F6BBCA59956A5281B5F154CE2E6649701D03ACAEEC797267AA0623B70C1323D22FE6A01391143901E4F8CB9E8C76F40FBC443427FDF93EE909FBDC26891D445202891389410EB08F52FCC190E04219F2A75FBB50194A5DE57CFC0D00F1A7D03A0048B03C5B12F6F5BEEC8CEFCAA7BD41192865810252FAD91650CBADC85BC79F33A940D45A39E09A2D5EF506EEA567F695560C5189E9A686E3B363B999CBEFCC26070158EFA1A267A9B532D6C86C07CA47454B346CBAA4B4D78EF9F484CD11B2FBC26E352FC18C69203F8E9BCD8D4F1BCD1C3D4F7B12ABDBCC58EB6E61468EB8D0E733D9021B679EB1B5146AA68294DC508EE15BD6715170145A6704D3E3FA306E1F47A6064175DFCFB46856F524FFEC08851D558564BF943D9216D6199E75409516B8555A1429254D3677CEB193F163D01B444F418EC633FF9ED427FE28676B6B650C0B467EF2E7930EC43D3AF92D6C7B602ACD21CE6F22E1E463FCDB22BE9F2234A9331E39B3A5505B11531AC729E6F1A8452C9C225FA040132C62165A26C59E4879D93FBA9C75D3762FD1BB8D3EFF59D628A193C9BEC89810507F45EDB215602FB65385F99343593881AEA6D16B565F41D6CFAA0163F2A2871D21FA3DC94FCFD576F7DF9D37089BB3B4B1A0DB09EF42D91CEF3E35347D7B76F5B057C9CF09C5A418AFE3AF06D27A4D95BB276238CE06980B1FC9215838FB0730C354C4EEBA8491A5B793AD085DC5FC2697A19489132CA6193D96C4E1BB29DA6D719F86D3E8D17973E76B57410B298BB72B709ADDBDEBBA6618ABB26D557C9C883C8F159C91EF620D2FFF202A1805DE6C3EC478729A761E306A6ECC362C1C1F2CA18C7B5B3F9FEC42E41D61AB5963A7A2783AAC5E5159CF559F347C805FB7B45EB82986AAD4AB6FE71A112EA039CBCE663EA37CE6FC8A26277C8908CA6ECD9C40A702214FF22CF2A558E3B9BFDA2DDF6BAB5C7F182B8393AAF6E0AA1110A567FEE52496BD861A92EB175EAD0E728D28B2823BAE9E40636B6797A6CA4571D76858C44774FE14E2B99A315621A830CAFC9B8494D7D973B4FA8CDB8FCCB6E5A0A1F47152032747AFACDA130021B55C6D9161149936F19668D8CF562B8F42ACF4165377477E2447565861DCBFBE5301DA8663C11D86C9116D38D59C4EAC0F63479C90FC8E4F105D718023A1DC064CD1338825EA1241221698150AFA47BD6306595CA5DD37B1B2B0819C9E2A2A8802007886DE7C407C312F4DBD3E2EC5EC78F623F04ED7E4B27290831CA1CC9CB80AEA157EB7362D3079CDFB102342512BFB1AE0B979E4F162410D31E0959E8BEC4DDE2BD9FC27F0B48787CC541C184C5089D39C9166F83079808A99004049FF1C3CC452B12A88475E900AE0566930151A850BF572A8E6F168126252280853B16E3B815A8FE5C8A1359FF78BB0861B24BF8C5592C49B07C73330E342BD201C03629DDE238CC7B85D13CD2131B1E1FCB3957FC51E6CCFC9E4A26AF0C2364CE35D7A47375AE86277546CAF77635947EF7348759512BA6DED26785B1F905B39C9D1DB5BB347F1F9C46C0ADF8F02D3C030D6BBC2C89247E8705C7B1A901EDB762F1ABB4E62E874AD7538A07986803C49171F56DFE055F6323B3EA04166B0961BCB7F47DDDFEC344628B44B92E14CBF242911CCDD5719BCC8E7909782D890265CBB3745051BA36792DA22A556C762ADB228809F85FCBD1E521387906D4BE384F32379AD5674B523D0657EA7EBE7E1577A554864C8725DD8709C9B4A16DCBA3FC7A3B34B2E7C1017E401DE15DF06C0820233760B1DAC69353C25E981D11671B2A2834FA539423C7717173EAA9D83D88885219C7F7F4049B22CB9C3ED5D167CEE141A0D870BBC01766278D413027B4B11D016D53936B77700B243D3CF43182BC22EA0D86AA2F0D682193915A933BF693C44DA024C656940DDDCD469DA474940E509C584309D6795C857ADF9AE69FFAD2FA2A97D367520FB4A62FFA547F4615E343B6626FB263C43A87779ED79FE9C42DFBA6F35952FE3945503C7E99F3C4B1D11A8BD92BA34B61738FE2CAF33345587F60EC2ED6C6B914253E894CCB7F06260261465F12A66BA93645FF0EA96899FFE0DDFADC9603BC66A89E055FDB75809FC6D0B974B0D7BD7E470090CDADBC91069FE2E17DC7FF9158861B81BFAC6AE544A3F0BCED711A3B553DFDAC7A0FD48934B70C31F8644F8595B63AEA8536C346B505583F847796ABF0E89371CFCE938C4D2148B99DDDDE677EA04AE4AA33C58D0B2DBA36A8B7B6D3362C7B2C7A3BE454833E2E19C1C8F828F05D034D7D216641205F916C1A72E512090F924C4574DDB24BA89F760D6F52F40CD511CA2172FC0FEC366390B7A26C1F96B526ACE6494C9D252D68A9DA2A93FC4E4216D70A86E09FA5707562100FC69EFC6631823B0576D5AE8C668EA6AFBD7843A7A1104355CEC3B2032F4693995AE5F018C8A163D593F83C86B3873DF812D877AD92970503CDAB0F4F77F10B1DF1AF102F9201F6D92C512EFF44D1DB32678FF7A583AB6F1ACDF6C77D168E88E635F05297BF0E31E4826A27D8AD97702B9A1FEF9958D34BA04984DE027B22996DA1439DED3F859A3914EA27E4FF3ED4549C4AAB5D805D593C9ACF76648837C4566EEDE6D307CA8B7AAB4DDCC7F93F22715677A23055566A83C12D8330916B49179BE2B2979DBA70643A3307E4E0C6FC596649300557E3B7B587BFC80DCB36C7E8FBA9 +MD = FD90ED9A5820443E58F118FAD2ED0F65938976873E1CE6DE77A337FCFEC392B3275FD805CCC64426871ABCCA3250D31A9FDB6C8C7BD85B1E9E09F429843FA926 + +Len = 26744 +Msg = 1A3DEAFCE70AF6F3F55D66AD9CE78D5F4D5C5F2638A810AFCD07D67E9F9A1380D6B34BE482EF030C22F1E978F544609CCE35A74C5109EE7038495B6210CDBCA8DC82C6E9E7B0D593FAD9665382B3C401AB8941DF71307DD77EBAF140AA66A1F76316478850E58886A9610631E9C722F459FA00C0B53124FB4F12778BBBA3760826D3DBA67CD030A96B654AF93F8E395F5F439549489F8161683F124BC980E6939C83A6085E4B6CAAF8BCD89A0E01ED70DB487166CC29735D9235A9CDC57B80C9C2E591DF6322F5BEDD32937073F781A30389552AE83FBE147D1B3D3461A3DF96C15CD96900C56718EAAE838417057579115936862679F5F2A45DADF65D14108AF1641DF987B57986384FA1433789F5DFBE87E90BD4E9D8D4D0741FCDA7348322B967B566B18612DBB8FE64F151947C3F7E361EE868676BCCD0CB3A1AFE046BE70057A05ADD3E65AF31E3FF414A627C0183E8FF583B41B75B203650420216E6DFCAB289665F054CFE3EA0943647528518573BBB1D0F27E1449E98739EAF0D009432DF0C1EDC1625264B94A71DB762659FF5A3A7A867F182D1F1FD34B341A4A181221870DC4A494013091A7E3B2B07E0160C438F1EE1E8A2B989C4FFEC36B5083EA427606767C29672F44779A8505B422B25A56907F565B27690D011426A62DF0036D57D967CD1D14E915BBC2691E7AF818C769D9E1F9EDD40894BE88FA1D7A5952AFD898E837716ACD73953BF2D1D448123FD1A0276D2C2EBDC760A4B787416CFAE5E963FCBDC8B551CB70F91DA0ED4A8090FEF178E879F2C34F3A269DFFFF09772D44A13D7A17468B5834C460957D5243C325F63F05F89D4ED98D361E7F0AB8A83948A64D0CFF8514841AA21C7F337920A9983E59BE4A0F1339E1E462F92DC1FC070126206012458A499A8111FAE078E00B0CA3BC1D6C7087CD318D5603C1C7E0425E6F729CEECA5F35B82F8A42E0E9B950EFB0904C5FB5C06D91D239913665ED1F1EE4B82185A01BA86CA2D3EA94E5A8842231A94C05280183B7ACA289984103F122203EC2FBA4A382E6F5236D6F68DA05E3BB0C558421F0EFAB91DCEEF6D1ECDC60F9B88F8BEFE31CDC3C2F024A1AF2C7336AA5D151E8CDA814A5FE898BADEB9DD680E337E682EBC22BFAE445417E37D2D89A338659A280AB1206DB74DD42C6F25639C1803BFDF2156DF613B0F5924D209F7F9003CE8794F989F4F27B82121210F4F65EC5A1F7723305CEE438C41F793EE04496BBE337BBD2FD3023830B1C8889C6F4D0C1192E364EDBE1CD987BA5D66224EE9C9405E1DFCEC0EEFFC5C73D3123F6731C6295D1E6B854B884FD22B6A3BBBE5395312585CD138BCA67532C6AB71BEBC6657C50DA87D2AC6068FA3970202C5E15EB7B4B3D2676C0134BCF1EAC2B26BA46930B5E660B16060894884C88BFACD6779276B86F685AB6F17C6D53F621275FAD66D021D26D1D480AFAB4B5EC75E0E763FFC45F599EA02504DA5D91EB5EFC3E4AE196F219E45E7CB05594958C876FF474A020EF73C1F09B1F7F7457E816D3AF51D86663D4D461754CD5E907456691E02446D6CACFD33516206A31870543D574592087773653D4086C2BDCBAB3C9B65CA11AD0D4E58DDDA8B440309989857103929549B7300CED42651D4086661694092C42875CB62858E6D1BE5F7274B4BCD83AA4DA05CACA186A30902830790F9FFA24418E1F9DB00FA40477E83B05C2D11AD7D81DDDB1E31F94A9DD5E9E13391C22479B570976E3AFC1BE41086D3BE6689D87CA4326A7CDE8E5B396A678D3CDB2C80FECFBA2BC799AE8B1528E96D880CD098DDE910D097EAAE660AD4D7EA51C18F18AA1B39614299A172512521DFD231B9840909839EB69C892EE23F1BCEEC1FADBA75786C7DED93BC9983F74CEAB397EB8BA84F7E4130B34258D628594A6F9E2348FD91BA2594E07B8057E8A2AE3ADFEA0EF919555385977041C5B6DC4F3880569171F7217AAA9A85F2F5BBDFE3FFDF79248F2A35FD4DEC34980C67290339B1C0A5A6AB8838157AE2F5140B4A24924A6688AE5CE72A48103EE9029CE8A0F15B1FBB19A12FAAB80A7CD9C0E389FC2775833E3190F1CF735ECDFE7F6B6C326506AA82613CBEDA8DD3691B81F4C1E3B0FC32D7E6719CBFC12F4A26E0FC29D6417953ABC9568DB4ED9A294B9FD5F2A666DDA546ABA301B1C60985033953EFD6F4538333B5C7DD3148814A3FD7927C366F40B3D7ABBDEB2332DDB586AF80959097663CFAB2FEECAD6D368AE10EFF9663D5F8BAB95935D25F45776F7F04B46817D05165A9DD4770509ABB92F8B9E7373CA780703569981754A51D6D376D65C57F55CD70E2DF5FDF5A6B829AE30CE3BF942815C8B4BE858DB58151D02A68AAB9FD373E047EFA51BD1A0CD1B61744D9E97CEBA3334B3BAAFEA3BC9E43AE097CF2C3D713EECC247FF43EC74D54907D8BF45E45B2E0E11D82B126A8179D3F66C055E11F69EA67AACC5FEE8AF01FAA379E51998F5070F9EE0FD30A2EB22A925586FB1B39024EB5EB1E127C76A149E7F02AF1B73C16E9E5A5DBE378E08A9FADF1194C625132AB3FDEFE8FE9A89BB8E0035A1A3AC5278F5D3D0ADE0E41C81C6853A41C4AC45BE3F68180FE23F27F18BE2E339DE1D559D75DE63ADF7A32BAE42B037AEAA3E123A5314891BCD35CA48D57DF4C17540E97202A8EA1328DA25B1FD6BE2B56AEC1E5DEB209F3B7A13ADB1CBE53EB645956E577A7621D74E42376D70BC5C4AACD239A852FBB7B3F62CF59FE10438C1DC8E1E46566325DA0CA43AAA63FB7E0B450A2DB3E3A2204704D894DB24B72B3078106E096CD543DCF027650CB4965E38AC36A8AD588C5962B4E26548AB88F0BC20E10ACC1C3FC00EF415B3C32499264552B14E2C0E789A3B8A8BFF9620FD939D0B34E806177EC696A4B3B1CA4B32BA979B2690CFB3A6B17BCEE6877FFCE757E4116DA01099FFE82ADD5A0C593E73449A96DB9CC2B9E846D166B095174F2CAF8B35DD878C836D9BB6EEEAF8E1BC5D0E149C739828CC480D731DC16B35B80D4AD82ED7D29BD05018239EFECF8DEAE180C6A459DBCBFE4AAB9A5E2C1E1BC31418CF2EEEB31FDF8BA02C9A91525E9163F672BAE2EDEC38C1BDB84EA237B4EF86BF5C0F0FFE178E3761E82D94F66E5EA40BA8170BF768409E1B4177AAFD9937BCE3FBFF590320D7C445372463FBBFB34F57447F42C16E026F179CBF82F617C86D1E8D42F6C908F9C6B77E38D25D51303DBD781FFAB569B4CF31FD0B947C45E1768A2E9DFE8369F520DC38D77937B69B821DB4FFEA8F50EBC404F0587B5598189F54B5A5B98966FD16801C87DE2C3C7813DD70DC600824D426D88C55E89D47214D59206A7A65A65DA7CA2E42FA62ED17E7AA5B3ED446BCC71F17FEC8593BE96D2037BD07F9476D4D732B32BC5DF8C921316B45699004716FC89F8D45BAE402C26DBCDF1A340847B932FF882DBEAFBEDD252E126C89A1E1FDD8908A1F67D15D8E432DAD8E08E950A3BC46B96CB89CC5BDAC703B3FA3E986EF1C6E7E6606E6845BA1EB2FBDCFEE744B5E45206F4A419E1CB103C8490EB293EE9AEC1F0A0D294F9D3847737413D30873F3C94740E8FD072817815EBBCE3F09EDEC9D1211A9E99547D620B2EC56C89E9CB8144AE9E46636324BD13C6CCA3AB9CD9FD8F7F937ABABC598232384427A2D4CE0CBF9765F7225E208C3CE128602B0AD08A1BAAB77EDB3111F0C6CA7BA0EAC9D89D5B4378EB82C17F6EA08308A79A53D150D3F85EFAB77294F02EE0E2885EE2AB2793392B87DB11FA77992F5B4FD75EF2F1A822E87407A4878894215AB89B6CC4A120F5A78B3C31AB80FFCC9ACEF53FC6F7F85685EB9D56D30D87C21ABBF1652EEF8F32C7C567BD1F08623B09C29F33561D42727A5649A3850071AA6C11735AE63C4FD31559CE560B27A362786A83353FE460B37074664A9421D3B2F6A864D5ACA087187B27E2B82F31CB3DF5E985CEA271C609B94B4E58356D40C7D5C7FF2E5990FB39588154843EA5FCA92F120075D4C4D006661A0FA1B0585454BEA725473EEF7D58117D5840C8348999003736C5EEB7858FFD273A1C3EB2812F5697C59110275B08F6BEFBE84C92497D5F73B7B6F794A849713B23AC5F29D5C7112FB2E7A6E89EB54DDFA3122E6C79624C1BF25EBFB9FE5CE6DAA779F3ECB2984DA42F8C6ADC77B21DD291E684FCA50E46070962A2D4F00813D8DE1B8ED33FED9715180C7EA8E2BB74FA65D9C7F6E142F3C81CDC59172E1020F62F65CA5A12CF2BED9DEA04A4D8CABC2948F7BE823A3E792625275B3925A6C8D8E2B428C75A5DB0F7120278CD7D6CAB768755C7FE2FBF89FDED1FB38AC7F76A2F8798CA36ED42CB7C07F006271205F546A4812C20077F050D4CDC79459FA686E97F0704B7A9FF7DE16318E862C53D361BC635A55A264BE15016545DBFCE3C6D6849576ADEFB6884EDD768214E0B438B0231B4F2692C2C0B5C177674F8A0DE236EACD9E0CEC7C8647E4E9A5861B957EC834A2F8572F01304C3FD6A06019E5F1499B62BAA8670B652467FA9A4F10F053263BFE9743CC7D933F86136AAE3A6FB56754D7D238397A0030CEBEA87CB255AF36138C373DBBAC41DD4A697032E4796C552AD9C9B3FA713C3A4E09E0EC5581E94BE7F31065157662F9E9C678B1EF1B8B8A847C51789C22B1841BCFC855820AF3258AF9E08231090B45D10046A00178E89BD515616B8A44E77BF57795DABAF40687B2CDA7A5014168F +MD = 29E5CD96099C4834FD0ECBE8132621D0345BE3DF0C7AB9B8B86D91E87FD8AFA0A4F209506B8D8FBABA154AC65552BE5F5C6BEFEA1DB664BC558F57480A3126B4 + +Len = 27248 +Msg = 93B01F62E3CB9658B4809361DA42E9074E311B9D632776D32A2A3E1BF168C7A6173E449F5EE483FF20B6030362A471FB3F02663D9D862A05767CBC32211D47EFA54607C052BEE3ECBC211C7DE60EA83BFF1638F80F203AC6675A07756CE149A56903F78DB2018DBAFEF1B93FCADAFB639A184155EE7A2AA9E49DC667012298B1D489143FF203F939E8A826290B95CC4C45A6FB25A4687E582328CE2D9690950A32FDC5B5F05F39582C8C689040CD4FEDD7919C5BB9DDCCEFB127750F2776B901EDAF7173E90C0354FB375C6249C935890632B86DFB37E475FC480E4ACEB702F9353D250EF73AC075B0BB6C6B2F0316842B19ACCAE8E084F0739533E3E3D62C5FC107033937EDBF1EC95E92512DBDDAEAAC8BDDC2CB8EC3488EEFEB62A1FE844901BC12D9A0ABDD8DA4A06F7B9A9F095761DD80E891D2245E5D359B39C2E461BA80E33E1BF7C532A8C7CB35002DEB5DDD49CB113C4EA214C04B95C4A5A68F68F513D9B470459CD87489E7E103D19BFE1EC3AA8269A611F0A516408232E396463DAD842D0C1E92B25E9A3CA1696A5F2A684C23DDE0A6B3F2FF2EA1D956D5E6AF67F7D72E3D0692930E446AAAE18373861A9521D67CF741C61EEAB4E8D7A3F496EEFAC6780BFB826B532BC868B75609B1BE86F9EC249732A831A6A8A490E2BB60BA628D144BE19502EB99910E3130E5658FB5E3348CE9DD030E68A519407197F563B365F237816D9F683C5B736C40B236FA4AC9CEC9A0CF8D5B54D5AB3609131A5A0E6BB4C4CACA24AAE1989F1859D1CD554CEF05FD31220F7F46CC2E2D94C7B94840735A0F3A70A556D7E5F4845123CF16DDFB563346B9035CCB3422197B2F8805ED2D3F6A15BCC02209B40FA7609AA86FB6B91F765AA189E283148517931EDE0F19552C945A341B1D693CEF0167EBB382933FDCA1E9D5B5E2F0D881AE1265E67E39793ABF652B2DF9813951D4335D988670FFBC2B9C98EBAEC716D13D221D8C448474ED813C1DFA3EE8F8BCDE51792E87F797A4EFD8003ECC9B274D0F8693AE5657629DA8E12468524EE8FF1E6790DF08E9AF05B1C6C061E6A24CF952BAF4CE54400F3A1E223C0C181CE974EB413664DB47BDCD62A0C368F8D4C2EB457BC5E7554B00E9DA621805D97F677202390079BDD8171796DC51B1ADC27723CE76F4FC1977B1B0F882599C8C4A1276B990912003B2D2BC9E8EF995BFC3D2993783688E1D7FF53EAA16700A4FD150340F84630D1CF90F9DA0C969A4ACDA92C7C7ADC9BB3F0B22B74E956FCFF9005B059451ADD0E9097843F43E980F5CAD9942018C6A801F779F04721D6896976BDD2748B3F2B2E2DA690214AFD6AFD2172AE29BFD6B071CE2D693814A79AE083E9B1DAD6474ECEB547CB18D55D24F98E8D5A343690A0FFB96F7F3213EB1A11A7BDD6C377A2D9E85BFB7D09C53A13640F0417BD0366B31F482C2D8B558DDFB3AB4E6FA99DFFA644BD693DE9204A1B61E0AD790F83ECBA5D445B3ED1C7D4A686D2AB014EBA7807A40A84FD39E5A7526A9EB5BE1CA254B02B529526ECE401AAC1899F6FB8C9EB0CDC5092B2208368BAF9AAE501283F8E7023CBA4F17BED1B6BC52C8CDE3F84FAEC6FC1F11FCD1F7DD3C6099486CC8F6CC7589FF18A4FB7EF203F6FCCEC16160D9197AC419E044D3BBAA2A42E03360585EF383C4B8C8C1025B8CE9CC99FCD3AF5F0EDC45409D5E3545CD66CDAA1DBCFBF727BDE4141D2E659A7888FFAF73AAEDFF9A79BD5E89A28F4FD692DA3FF432D2250774906B737ADFDB06FB70BF3F6D90CC3B0B2735F66A005297EAB3E3BCEF4299BD8127BC8648BF35F4F8A14766F1921985C939799E2DCF04243B142E21516B429111EC9472EBCC9D082CE72AD41DFD2C887BCB86C31435564DF1B397897DC7BF5565A1D59A4C7E3A1D5E28844A3C3E98EE11CFAC4E91DAEC761B796617B092CA922725B09492B6BDF7CBB02F327875D2312CAE9F312E18472E3EFE7497A3EBD4EC105BF6CC0819BEAEB6BEFD4D23CEF5E7070D3E6EFD79A64B4DB4FFF8726CCA73E180C822497D0A23A1B9802A90447156809EFEF25CBD7414BB945C8DC78D5E3E531E4AA93CBB12B1BE227AA6C9B90538634B01A50FDA8E786619A4C4EB1717726F8365CE568F83831FEF3D70D1A1BFCE193B48593AB270C0AE156B2E4BAABAF9F0FAE96D0075A59620E9AD574570C1F22D3FAC28A6641BD29E51D4D1D6BCFDC684C1470DE7332728A82F910D524CD3B89EB568EEA65899067D8E2D41A2B6BCA64871BF53616CCBB06D50AEFCEBBA942EF0D793C3E5827750D5C18017EBA0B8829820BEB3E8A938D5B2AFEDB984469C93DFF63DB17569BFC9D34BCF1F68D08EE24C4310CE9730BD5C8B0EE84A0FA6BB5E9FCC0A1DBC05DE24C19FF31713EED55A672F476605D310190DBFA313C9C7B39C41BFC5727DC5063DC0F86CB5685E721FAA85E42BD786206B2F8BE20848813ACE13AFEAC10A6F0A5CDB11B67FDC6DB81165393BD4EFC21A634450BCCDAEE378B71AE9E3A83A21A6B7C5D8A2B797D9178225C1E3E0A01905105CEB8F8A36FAF0F7A7B93B695AAC546BB7354AE0596E9BC49C1504CC2167BA959F58B0A2BE263072067D5D89311F005FBC146823E9F10017575223C9342757F6EAE3C00289FDAD155F5D5DF87651ED2E1D1EC43AD3ABF521E782200E8A2438DC6AD400D549F622AC6DD0F99D16CF5035FB61457BE66D1C7977420EAC767EDB3EE3500D072B04CBB3481BE845EC09883886A8A0660DFF30F25567ABC2DE05778D22797B4C1B2588CE383F28BA0C6CEE621FB464C5CEECBEDDEF1D9A26F45046D5332B33DEABDAB7DC2E07C7732BEE25F6B9E72E085D8965CE2A555A8B7DBF728BB85581120E16D4B4B53D5E8BF8A07D6F97010824E11B24A8566AD4D1075988AAA494142D3FBC9E5B29866B6C0090006C5E7A21AD534D5FD4FBC2ABF5646B3CD3FD3F3C321D188B608CF6B6657839AE7A7E124984E7AEF67A99C939EB3BF3B568583CF9FF13FDDEFBAC6B63D4E1D9968F0FDC223D16046B5ADB631C890C89ED795DD351CC51144872E57C750E7C01626A81B36BEA868D80D319A4D0EBA3DE56C41E706CE8D0B7071B130BD946BF5A7FD1F0777B6C7AB9F03DAF3EEFA62C63F40CD65F4DC4F957ACF9C4859819991CD0377370C58A71B2E78EE082E20EC09FDA691290241F722C0A54126906B971C18D7669B7956D0B20CFE454F93D8849230340A99EA23B7F07DC7586C293DD0A96F9C2C9731946542C0B39A8BD98F77FA3F3CD1F7DC6AF9786297300E7B0FB2C9A46DF02732D761443BA36DAABB8DFF1B8364738B65E4AD6564B9802100C9100CB6B4C3259AE7DB00031DA4D7B36032344A166DEE3867AE1AE499B89EE270DD5E87F421873012E2498B7AE63D40F68A123BDB238192653273EB360D852250024E24717037770454E23046C7DD84F980D76C4A0FE11EF4F02B9435FDF3378E2017F62274933AA23608F9AC426D9AAECE609745C71465EC8786D4E7D06A91B24492F9F98CA43703F0C4FA97C076E0F5FF46036506B4EBA5BA7A267346DAB8E1A9462C956E8F4C3782C1353FD5584BBEBE9EF40F92C9E8FBB28601B1138FF8A380213B672F4265018CED7630B5121807BA5A9DD2FF1086F7B70431A9F229F8695D6C66EB8B9FB83720F7C1F6C3EA50AED00AB3247DF979288BA6185D424D5548507D6A73FB8169B1E17DCE927E0CCE71323CE25BC45B2D7AC05E92723AD357F8C90ABB6A4B96EDFF1A76941F2C24BFC577D5B7D15D6250F87DBFE063306F19306D0ED329FDB6E5CDD6D6F6F21E019E58C3FFEC8BEDC57036AB69D9A0E19DA5C1DB8D0C6AC801687ED617DA94F85161D10868A277D9354CE1E7AEFECBFFCBBCD441CA9FEFD36646B28AC5CE2D9AA0624A5501BD8C5C2B2ED8D1C89ECBE58BD0B373B08E42FB222E7C4EF4BC8061E3555734267C07474B675DCCF9156CD94731604D06F7CBF5FA22C316920FD6448C935B5E5663C95550D0634C200656A040CA293FBDAC3E03239E0C6AE4B1926A16029D3FB00BD595E8E835B02885275310EC28B52B98C5C079629B8754A14DD4D88B3FEA948DFAFB235DA712A06784391D3BBB9018D0054427C1E92266E980D876B25D8D8D3E163A9E5812E4FAB120A2E297D2FACC6512542B254682C8DC7BE6BD1ACAA5D917321718F2A2C424B3BCE4E157EE4426EDA54E21CA2D35F6B38766A7F684D39F8F3B950C368FFB33A08A7533769CD77199552D773294CEC13050F4E7F65B5175A54A8591B079E9BDB496D597C0654700E1FCF3AB5C9942141C7BE487B1D57383D334BE037F45020885CFE71E4360AAB5CF47B124F0D3562770F0106F2A66F0CD7B5CBA869EE27EC6AF4D613EA8A86FA99EA78BD51F55E8951AFDD380D2A3F7EA077E62B215D7871FAFF18D2F807F6CECB50C1960C2A801D7F0436790877D1F19B708A183B3A949E35034640D38093A89FCB7FD3BADB077EC1502187F4A110F26C69A118F4DDE2296F20A7C2D444200E3B00B312D8863E478FBFF8FC4F9A1F792C2EDEB4F73F9A7C7C9E9AB4DCB7D7F5A39403D3B0D1945C2AF7C80F54FF3EAAB8D7EE5FF2B669FFFAAE319E6F4CFCC54F6CFFA715691959E3504F3349E90D6F04EF7BD0222F57F11C912F44744C2AD3108DA304995CA7D9BDB383B32A8110823D59A62BC32D610E083BF49560D76DBAEC82292818377EA5EA68ED76DAA15B2BFAE09D1729B44ADEEB45BD4709CC306E31953C74FB6FF05757CDA9B0B422746B1CCA7FA67C290A8C50A83C242F0BDF8ADDAE3DACC687F4F8A89FD9077590634F984A1871AAFBD9F2C35B +MD = 9B7359F35DF41049E9F2D847FEDCF2B749BDEC88628A58BDD20FA7EE57735BB542843C48322DE5A6114413546EF5E43C04345D98A8B39E1E4A6B0B97D0905F69 + +Len = 27752 +Msg = D80E6FE59B7228D25E78586F94F268EA62EBE04238AB44E97316B22E96C91D186FAC862EBA9212CE845BEDC23CEC43FC3DA42AA7025637E0EF65823EBA6FED261AFE9A48074258B235559A916E644BFBC9C3B6F44D760E3047BF7C885F9C70C44246A81D29F9C10594B9359EAA8C8C572C71426A930F02F2692D504E0F19E12F6BD115C085988BBDF2748A2EDCDCCAA3D29329B4E8A1A17CC20243191D2ABC7A4CFE384291FA8D7EC57821E12175A156F893587E2DBD5FD32C2C1A7804756AEC8FF12BCAD4308DD33EEF5CFF2983650FEFC04DDFC4301107193DFA9EB7E8A6EA2748072879B063C7B0955654AE2A68BF0F00C37F0323C6458310B4707DD2464DA5A52B8A8E7CE6589970116BA93EAB2024040C45F22E9B478B34EDFF4BC876896D143152565732FFF04EFE656E06EAC38F19F4EEBFF224E32159AB375511B42B6F74001DDB15AC0CB4F6BAEC84901059882F58EBF940CC973422F6F6940A94C5101EB24ED21BC0C417D959B4F08693173E88C6DBE28B487B3D0CA00AF26239B5B8992C60EC3BCD3855D2DB197AC95C4862B9B90C5B4AE366759A38868A2B838E36D7E42552B3566D7A28FE6E208AE9C6AEE50524881C482B8F48E9133AE2A9D9377A6F966F30603E25A0FF06106B2925012313CB3E79FA3F0DADA7CC3D015B4C0BAEA4A79EC8E37D792FA13C19AA173E134774DF393E1DE9133369E858E47200648B44740F18BC0550266F7EE7805B85D8A19368C68110CD11F14032A099CC797DB39390C2930F68059CA31592FBE73619043E1C095777D297158AE6C28C863FACE2299EA435CC1E7A09FB29071C21780924D2ECC41C9C9749DA3EF0819A41EC086CD2B7370870694B0392D18B6B721B81282DADFE3C3C3FE21288E992C7E3A8FA685F32307529E6D50ACB4252D3E170334C42C70FAB02DF832569C7E5E05042F71A4FA939B58572CC8B0CEE4331220742D2EA9B1117362A1831C8247E1F6E1F42A88FF5EB9AA665F9A637DB1BE7E4FF5A75DC21137A50D07087185DE1310BC5EB098450914B9C6AD8DDF67AC0DCC99AC61C3CB09B101DF6273E0C3ABB3768F24FD2C4BD2EF6DBECB1A1ECDE1418AE5FCA22D41DBA0CB6C16B06F2CD26FE1657C1EA7ABEBC5BBC8DCB58738F855BF38CD96F29BF7732E91B261B70A776EEE64145C1421FA300BDF80BDF6457E318F9BEBA2243CE8CF57DFA8BA0D5F124AFC6859DDB0F3ED457FCA64623B54A49BE589953078DFDA65745FA39CF0C4D9866C38F76231FCB44D3131F8DF389AB755742F16DB218B3978528799746A99DC7E3A958632563748039FDD9FFCBFF6F93BD83DACF06BA93E39251621AF02F8175CF541F0C800C5D2F5AF06894B2FA14B9A6FAA3A3C95570423613299F141CE25EE77C0259A40279A2FF60B51ACAFCF82CAE4297E57861645DC7442EB052309001E89FF2FF5BA41F2F7D48FC9A49BD3062B80C75BE51FBCC8764AD6D2E647574EDC03660C9F4B7AE58888678DEA4D6A5C2512F12A6AECD3047AD08CFECB6A4C95993164C583C91FC8558CAD146C73C7F4C24704EBBD00D9DC2C72F4AF1B24F1DD5C0BF97C283B7F69937A6AF0C5AB195AC8D179169BAB6B141A5A61F7FABD2B0A23EA29CC295AB04DE123290485048E06AF0EC211D93CDF8FEADA722B82B994134911B5EBCBF21D0130F910DDE8CF7CD3E46C2BE4AE26796F25B653F926569371EA09C7A5E2F38565D08C9D377BAF51B6DC854866C50563B9DA26FA30E0A87F5B2FC6472291550FCC7A0C423CE82D0AEF24F54C05087627FDE9C9EE2EBF228D12291B2B25CC8FACAE9C6209DC43547BA0208D359677C94FD17A76D0D84D9B18084C8AFE1548EF4B7FC94D70450087EDF0374CC414561E6575AD401C99908ECF28C6AEE82F3412379A86F78EA9841CEA2D597664340E90714C4F75453CBC4C24C963264DC8F13487A0BFD4FD04ACA1315A1B70EB4888265143D82CD63046F0DAF27D8F1A6EF988F48D13C56EABBBF27B5785E51D68DB08B4AE2B9411596AE87C760D28A4E2C38A76BD6B715293C59131D3D6308C722282495BEA69009CA71AA78A28B681CB782FE4274D499A856AAB6F19FE9F87931EA93774AB13CA5B3E29C1EC6B300E67E525B9438C2F3C3AF3C38276039FE82BB15CAC81013B195EA9C430B8381F73B5F95CDFCE403C0277BE77FB7D8CC38F5C075347CDF1DA4689845D803C9360911F0156F6C92B5F775D502674CCD635F642B266A2B03748ED6247250BA23878853ECC69CAB7EEF2A29A08E29072BDF32DB742DE368125CDDB36953D15712302A9E4AD58C8C63C7721D4647BDE4A16E582181144AD9EE4D51133A5534936FA3A7884D0981785F8EC556505738E5293020A2FC31BC3D95080E1F747B2E25281ED256540D279C07FE3218A35D4574D22D4155E3F12F7450F37F8FEC6C467566746720538BD1A297DD9B987DBABF2D6110FEF51B6991012CF338F2371E394F2D4967A7A462C054E43BCA22794A20675854D742D441F0AA289B0DBF55E48F0D495864E3EF5B145351B93A2459B6CA848F40DF1D8B588FF679771C0DCB69A7196D19C141EA0846D5D2934AA5C662ACF1A7859DB2C02C791250BDC1F5ACBA5638815DCFFFC858B0BF1E086EAD0BE46E9C4018159729E645C486A4973E6E1380F9850128F08F315E9F9D6EFE64EA210FB8070A498F98A1ECE8FF4279B4028EFC7D3634FA3CA8CFC10C58E349B988D3F6A13A18B6487B526AC779C82473D121456EB2C18167CDD74018C0079A5347C1F9873CEC00715F0FA530550C814CEC5B96121A9914A8291713D6C7B9F65A9E45B85EA43E93A79DCFB9DC6A6BDCEF820242DFE7CFA4C2A532E6371681C8F39FD659A1F54536ECEB20FB528C8B8BFA96069FAFC4A8B23DEAF0AB27D8E190FA846669F403BEC4F302C7CD5AB9972529827D5819E6D1FDF2B6CF2AFA57899F8F9CBE1FCCBEBE8D738E84779134545614243A1556CEB4601ED1A6DA90599BD3B2E2AEF9B060E27D879D1E08120651739456062A18CAB94AAE2807CE12FE0761AA96598AC40D1DB86887708041A90D59C66B37BA63AB409C9FB025C5992B985A35C1BC3FEA87B7791B6D0832A461A58B221933D2B9AD6CCD80E08CB8F85F52D3B9A0DD6ED57AB7A62F1AC77834BB86FC542131C779DAFEE3DF16E26CEB0953661AFF00843DEF77210011965016942B3FFAD479749817BA8A85EF288091F92EDBA11D7FC01681A80513B3281800632A33B3A73B4FF9187C12A5701520724E77AFC84E6A3FFCEEC439D530B38ABD9805EE0A8016831CBFB54B167B65D466F9EEC8058E13D25F977BCDCCF82C7274AD9A71DDAC8A0928E57B4CB732DED8D314E8312F99EFFAEA028CD48BE614256C6D39CA0B2F77A13829F172AF85FA857BB734383E757A0E526B019D188DF17BDD90815CC90D289E6FD1048C0963D65B5BDA595D34ED760AA1066F1E3D9E48AE2A2DC492701E9CE465BB5A39FF722CF55E9E2F8611790920A3EEAAB9AB0BF86ED270FE658C3A5F633FFF633ECE639A93332F3BFF0746B5C4A5EFE9AE4844F996FB842748C2E25EF24B6D0F8D5A476BDEB8328444E46393C0544EC9F1D28CB83A8C965E0D9B066DB0366B431306459B6C837DC9E672FDBA234A12ABEC8C8C813D2FF6FC625DE96D35461CF72EF1529E5425EA1988ECDA7381C0F84D86EBA98F4F4D0F45F1C16F5CB3F8456DA4BEA3030F97B56DD494EE97C630656E58ABB7AC6F2D8676C04A34C2EE4AB1BD10D1630DD59B6999ACDA447E646A84AA66D53C6AC0E3BEDD0FC01AEA8AA9FC7648D44BF585F6F133A25A590D63B4A83E6519F528B310BC03B9C97FDA5FE700978A66F1EF4227AFB3CBEC112CC4552DE5F605D9CD0772122B09AE196E8725827538C4473F82A3AA0F695C5C5D71F91F16CC8674445B799077E5516AB55853D86C1FE9E4BEE06CBF8F9601E14684B00579F277964AA162BEB92AB476E322E7ABA464C0657BCB65059B47668A82190FC093BA433A16F36B22936AB30F6790601907048C6ECF7C4A41A406ECF866D70A3A3AA2A1BC6472DDAC9F97D37AC790C117A609DD3741FAC7A011960AA6E278100FA04D345796645E5958A0AE0A68B3B6D3F11DF7403932E6AABC332A77417F2FED3651667BB0859133C0732C56EC52ACDF8614534E4A2E007343833389073DB6C212E567B7588B0BC81F0D622E1646ACDA0F5DFC807073EFA779D687357CCD1D102B2B6189680C502435BC6522CAF5CC16BEC795174503A884FBF209D0A235762C7162EBC66828BB8F23DFDBB6468A5E62294D4597FF4F91D99CB1417B685CF1849D9ABB58E63FC77F380EDE5AC5E658C103414F68DE7EAFEB3E69E6641C04B0CA57C7E938D9EBB290D61A2D42E1B5C0F956009A6A80403E0C77773F281EF604C1959EDFD1DF210DF127C302311E4A71A75622DEF0F91ECA4717FAE455DD9FEA557DEBA0EBE1AAB6186AAC0094EF34447C24125706102C0B27E17FDF4F1D22EBC6506F28685E0D1D886DD41729F9BAB64486E7E96155A26CFED69DF3BDEB62775189E9EDE39D7A0D03C511AB4D605343356BAD7AE86F43E1E9EAE2303028D187BC81FD3365D7B80E094BA629AD56CA352F3DE8ED6DFDBBE7D2064C757AF36B7DB4EFC0E9E8F2F25E6282780F7E059EC9ABA8C04F5913E9632981241F75514C50D6502D7B01F4008422318C0BACE5D135327E09E4F97FDBFD7CECDABBF16BA2887F76D9720E34C26CB8D199FB46B486D47E24FF943C1C23F3E99E472D96FB4B6477EAC3F364E02FF192F3FEFE13C69560FD4F4A2830A3A74BA8C8EAEB82E84D8ECEB983A6F1CB024A9DFFCE69AE0DC766FE283619C11C5885B2FDF38E230B187D822CC6A54A2B643029A5D9AF17C5C705F41403AE62956D977BBBC7CE900CEEC2B7 +MD = E6674B978B94AAFA19E449D3DBF9C8D58701084B002962CAD799C568831710130DA778281954558A6194D51CB77931C51789B9F8DF0255A81B2AADF40F7F023F + +Len = 28256 +Msg = 3581D4AEF0860C1729EB3E6B504F00919C656A1C56C10111D21A2F9A77EC0EF7118BFF2A881973CBA46686D4F104CC94C30B93F62769AA2C0F4C7F3FB931B696DDB632B0FE71D57CADFE27573913CEA488A68D0E45B90CCEDA68D966B725152CCF054757211D4E9EB42A97308C6AF1E0B7A0DF67C61F9357A1542CEABF000CFDAA1FBE71D305300D43A448A4845EC94DF696C7C0129B088AAAC29A43BCE19726F94DFBADE2D0F7CD7C4EF0FCE12681FBE496BEE9D7725F549281F4AE666110BF40F5235526606127EE041C09874C103CAEC8EE320D5E9F2D62BDBCE321FDF7681FC988F453EF999B9FFFD9DC285BEDD0EBD36FC22B613765A34BC097DCD1F19B14C60140C8E23D7894132343FFC2B8ED144D9055D2795CBB20B8FEE92363F6672BEA4D40F9ACD55A2BE27CF813B0599CAB2E08225C4F909E7B647A39F888B9370EC69B2A6E6591604A38A5BC2E0ABF8B722E9AA2F05AD9AEDEF55A37810F935A46EEE33389C375613941102D670CA6709506861BEDD3DCD0F1467F4A0AB681084BD482730F7C753FA3F5AB47B7845C5CB17D17392581219AF440CD67013986CAC4FFA4B6FA004E7B5EEE95742E7C40044B9C5A4691C2B584DDE6A8A45A36481E715D6D9FB2734E5339DD5A1856392E8FECC416778805117989E30D422AB8D358B690787E9FED3767A408DD99234463B25B91C30ABB93F3CEEC89823C37023E7393F29F5065ACD499D22E13B5909857180F7785749734027AEB843245F5569C715A881A1E7554179D5D993FADFF2AAE71CB0016E1459AE6C2EC7954C0B6CC8BB1116BBB8CBD81CB62DDE57442F602147CBC64C2A4C456C1523B8075D0DEFA053578C31492B3234CC7370AEA593AEC0359ABE3D1C7431CB62973E93B0CF3C37018B468267B664DB3F45FCEE737CFF976BCE35E061AEF48E8CB20F0461D729FD1691E0D2F8F2E0D44F77B640131B9E62B80C751D0186F183760B63296B6BDCE97A9C0AB4CC37A27A85E1897F6DE52DF9F0B08F37C850F2405831CBE9826F3584E99F7811F08FD05B335F6D07409A80229A567763AD8F20539E1641236E87A7CD3C847C9E8EC063A5A8D21F77F941CA7A56E23F90130B74798B71E7A9CF8416739A4C750C0D5752A781B11F994A0B0E1CB6D8377488EC2DE642903F9B44657E85D8A213F1FC80E674DFFB747C63AAC85E62E295428AA315F60585BB5D5203598DB4F6BA78FBF3F053D579534A0C270B542DA82848B8189DE8A77A339D0052B74B21D806217E902D9DEEE2FBE97DB9E414CA9439ECE353FE0EA8A72ED2116F002365C88AF05D0E803AB494C3D1720297ACE858CAD90D30E8185D02DE9BB4CC3409772C08734CDBCE22B498661D73A18FE2738297F25F5466BECF4DF3BE1F3D9160DEF5566318620A22C0BCC27E91CBB3F1C586FC8E09C60DCD424E8C68418ECCE193FE29E4529E1419B1B0EA3597A98F19E999C780E543068CAC84D7EA226FFD535F75DE15134556D8D637064CF85F62799CBC15FA46A62C03B0012AF4615F7CC4A6FD09396A1A6D13D55D27CC76E9DD09597D6BECC0467B098F5DEC034EBCAE7A660394521CFF7D82BD418FF8CEF7C1E5C0FBE1C1F262B4DFA186C785B00CE614C4558D93716E17766D4D5EAC4B0B81C0B866E41E68BA0BE222D32F8D83507925417BAFEC4B7EE39C374412F71767DF78376605A002990845B9E791011724151CD3EF26191E6C2DB99AE0ECA5579F3A24D021F15A09319235508135B396E97819DCFF83617E641D6778829D6E3A26F7186EFB14DDEAF2113B9EA538FFB2C2207B737F7B708EF54C16252F2A63297FE571034FB4BCAA1EA6C4B65017FB4EC7050BDFA24BACB1AFE2E2D526EE2784E1AC92512E4EFDDB72E4B12810997CDC39EA1A827FA08DD2D7D88E781862E7C5BD964A143F61223423689B81675231CF97C64A3A71618F7CF6A44CE458037730A2592711582EA9D9EFF63400FCA70B7B5251DA70DA3D339B768762111D27B1A2E9CA559F544ADF00F8C2372CFBF03C215B75CEFBDD6B3634A8FD1054A5C016FF1FEAF0526ED8B968CB44D279C04159E77A0289717D3E2515DB6A7B5B4860681CF8C7A1589A3D85C5724A28976193312ADA24C2397D2C10BAF2FA933D71F2BB2794190730242E117C90FAA6391FDAC1EC61CE780A7864F6F1D6D8CC19C024F4791B4928F1A2B5EC91CDCC1FBC1E89E7CF5FEB974A0231DD71D435741D8FDC3730012795FCDB4B15267CD200E576B7D1EB9C5210F24B916A01DDD1BFB1378AA865ED86D0056CA5C92E5F7BD57D447572560ED23107EE6C08F0510E2594F47E19AD6725BB303EED63BE2F94C0501C609C565E40AD74211FE97DE80CDC82B20977A1D24A7E35C3EDCAC3A590EBF65EE6F5D044F43EEFEE6CA71326AA713FDD878CCB6F53D09913420113220AF1E37CEC5FD5B1F1743EC129267A6D5503943BB5D4D21BDBE149E1FF74626B191BF75B19B5A2E4225FA8EC887914787A75EBD7C0CAFBFE0F5CAEE05F2CF468A1604BBB1C5FFC78944017A814077B07EDF48524EB9A9BADCED4E562674210A5EA26507DFE26211B57AD3F613CF951306AE51D4DA53A976E139B3EFF7830D661CEDB059C92F93BDE0209C184BED15E38373A58E8E107B1FB0DF85DFFFCAFE9B005C0EF9C8C7BD3166F777FA5D061EE827CD45BAE34BCF7EBCA1A47F76F459D6DC5F85EFB0D9B5FA5C4BF19494EF7BB5F76FCCEC4EDE71B4BB4A4B37113289873F3D57D06B3D42CE543C113C789CFB88DB8207D26007C809BE2098C20034ECA5539AC8122640A714B0EE35F6B466DD0D0A1D07D6547E6EF4B243CE9835B9BF6CE2D1711744BE3A405F6E46E1824A625BEBC42FF340220E68B785AF5CD5C05C215A6D3E31DF1CA97D054298C0399FFB08B4CE8B2D6D08A3CAFB33EE536BB01FEFA5FCC7AA905C83AF895047CC7BB6051482DCD5AADA28E906EAD9B90CEE2B32F9B917123651258D474CC699934FE732A9DB3D830CE1C33FF39E946F6BBE363AEB3A3F0895CA09F78ED37B66C919A15D85E9EA68F9AEF383A7AB61101BC6D4BEB7E36BB9BCC04421A0BF7A263651C30A40B652286A5678EA0DA516D4BAF89D747D0559B119199A7A615528CCDB2D5B10E99B2BEC59B742B40F8A3046481858F70D18B5441974D4A5F4A732041B999773A93C3FB4325B6E5F5EB7849923407E15A55BA46F3804DE3E8CA9561BF87622EC8E91698C0FD97B6413D3212F1410D9AD0754B457F041A6805FC30D7A7A98700C5D6ADCEF4A1F23E51950F2FA40F74FDD6AEED47CBAE6CBCCB93E8A06950D980CA261705A8EFB5B7BC866F5451F709E8F01791600AA7E93AD41088DAB6AC9EA25285214D4FA5A1C4C31ED4E0157A3A6BB94F8E0ACB66B0E5FB323284C54FA9E07542030679384AAEA817576329FAD20BF28D80CF824D751206BE17A0CE16A9C2EBD0D80C7E643867CC32FF9CA92E9ADAB3E1096CDDE69B6C2990466611489BEDAECCB9BC135EB2EF54502ACFAFE497ED668AF4C984959CFF284B2AE81638F2E11CDC463318845A363EB08385B4002E3638FFFA347039B40EF7315C88EFBF01F9EAB73A6F0596A1A16943B03139F4E1A3EA5182B401F8DBE08527D81ED45682D6459BCC9362DE5D351A5B8437D79D24899BF5316E81A182ACF4F740EAFFFEF365AE54832822AB4F58D89596014FEDD5B99CAABC0E877604BF4DA5A4A8F8A93DAC8B5FF7F68BF4167560579317A7799D9ED14B7C4719E34AA3312F2B9F07321BD38FE232B66FCEBCFA5A15EA6971C92C0EB377C44A8B2C92BE3634705F7FD01F8E2B10F61A7ADAAB93009B0B612CFCAC9315EBFAF321C27B9FB2DA0120A08F512A9A9149B4797E400DA17E749BFD1683DF628DE0D062A86B931DD19A639AA7EE332C53A8C771E787F7B7C6D817F53B6E57153C32B25F87A1DF9407D2390F02CF6DA3A508D1721F55E155E6E20BFEC0D2550598D815F71E065426E4AFD677A1FCF41A24CBD82DB6135F45D74D0E8AED94BDA26A0F42D19F52028122DF55106E45F8B364F65E314EF77EF0B7BCDD82425D8E3212E3C7DDB4EA1D378E2300F10AE707466752B15EB4489CEA807E9AA03B886F3D623514A7D16672B6DC025502BBB69A8AC5E374B94A0F153DD86B3B55308AC05AE5869C0AE5E18208BB0AECEC3D5E399936D58FF9FB933BA349AD567F9CCF743C264606B41D8AA1A4C164FFDFC9853FBE6ACF11F213490A471E80C15DEF7D985AA9C340C126473D1D14BCC826C12C200D72E1A00B392767BDE0884005D270A1C62413AEF754804A2F04BA3C9B4A4FC9076951860F9A0DEA80BD6CF5FD6E51983AF344B887AC3F907A40A694DED8840998C3A273FB1267C4C7CBC2FD0A51315F313E32818B45D6C7FBEDB5AA673E7A8069C931AB838DE2045E79852FD832C0546228AEE6BC77D72D8E984575E27EC610E411DE7E02725085AAB0BA967A9300583F27A1893C1432F3E651BE3E49D60690652D6177B39BCD6B8E0A6A6A812048FB2CCFC6CC636A0FEA989CEACA7BFDB5286E9F9B34EE5BBE0CE93D4A4614A354EA91DEA8BA0FE6AF3A4350288B0CAAB1FCC135275AE5A659E4C3A08C9E2481FEBD150596E684009137DE6A0F1752E25240283DFA58451C94F9AB96BC4F3DF5507230E152BB0C7F0F4C0F00D9480509595EB25BDD3F3B299CD0D165EA4C2F2BA5B022BF57A30E8E39CBBDDE047F1C91F87B658215076EF534FDEC75580E210A948BB1C3ED8BE98181DFB6E15FFDE2BB7F3EC5DA5907A71FAB770D29ADA2762D5887B306F7A8586223D8CB89A8E8421609CD80F2175F2DAA61AE3BD7BD135BE39EDDD2B2687381420E2C92A107E28E3E00B507E325F4ACE54137B37A0A750E3629D64596E1C1B5091F1761F3EB7C34AB6C54E108A89DD1EDB833D21EC688EF3C37AB1F762E5AAD7C6B3764B5EC04B3C3F319732C1A3D20582D9EF30C4B3536B7C47197C97C76792145CB847BD2FB84A7CB460842F0956020C320D48 +MD = 81307DA551CF05766E29B8FE5C33FA5A124BD0202BC5E309D648E0ECFADB442806DC5E2F8AE9C46614C2399EF91CD215915DFD48555985A5C63138915BBE2737 + +Len = 28760 +Msg = 9740CBE9EB65AD1CE913F40BE236B1AD7141F8EA72104B122FE9AC99B6552B1B3A34FD6C1B962F1ECADD53B530866BFDAD8D81F8405C1D54E20D99F30FB041975F70DD971C17424C601F46516C13534967318D3C5D60ECBEC607C42D0825FFB84D7C5C69858512A3C59EAEED3F61124DF79F13D63C382CFF70EBD250FF94E1684EB5AD806714B4132E855CB20C09951E3D1F185DA09B0DFC4C026FEF5D3487E5F607578D34C5A4E9C301C07DFBB72233542C04FEC18ECE500C4CA479A4762E5DA2BFE630F6E4558192D6561B69BE3695688362DC88DEFCF859858396F974E59744BD0224F578F3B1C6F46C7EAA523F672B52906DDA5AD7A410AC6ED5D3AB823EB7235B1CAB4BFAC92DD73F4FB796A299C5F39DE590CF90307C6BD8A7717C3251CD613917358DB837DBAAC615ACBE2885558FC7A0BEA8E15176756CF5C9204C3E3B02764ED608DDFC52A3BCCC2CF4AED6F8AF14953363B08A0885C131CBB5715EEF0A04D18C4E6EFD59E999F74EE69C79E96A9CE7A5D9FE27A6A651FEF54B09768C1AA49FB03B09B6AEB19B38B00065EC6DA01FB471D1792F7E3D5D8C14381CF68C42708A43EF343135929FCCFF2F6642C13ED2008FEBFE9972BC164E375383F50798CB84FF34E1FD07940A218DD174DC869025E5FC459BB0BBA969A2240EBFE0EFC1CD34154EC1AEA73FF7858749735F1B2722C6DDD4A6991D2069FC3D61A8B23977FAAE5C32D95F3F1897B0E86BC8705CFB6984D49C1EE26A90B3C8679EFFAB5ADB871A3E219801C7B15D6DFC62E9DCCC887CD7F25BB73EA2C3FEF764962246390A4AD96610F5E0E7EB59B32E7EC20145308D81F6F638299057B2276ED045AEA7103B44BC85D33CDD0FCD738035E670B285762C65C3EF52452ACE980C41161D8593F46DD2816D435DF7FE90871A9B4CA1C5CBE6362E225E8950889FEBC47545F607A7AE4BA8B86350B554F61D424FB51C8E9886000E4E07DEC324BB5119A5B5099BBB126B0C0CA0CD8FBC304780A9BB44A4ABF58D30DB4245B65CE20B0975C7869B39B966A59FE69290D5AB3FABB12DF5024DAA065A48A07A8C084DD61016178E69FBAF1FD87CDF78E1AABA8A3A03B9FB893AB7B674544E6B1E46F943B149CDFB8598F98AC08EFD8722836BA320AA13B406890449F985FF8A568C6643B24DB35C25DF8F0BAA2A17EF66C2EE0E6F6E2B42E184475921508FA64632A4629B72F7F39513A08C6B55A8F0483F3FE1AE7528E128FA30745F0583C23C27B9D1EBE56AE86ABC1E2448B15C4649E5E26E189090EA986223688F310F707575F7378C7AEB070E0DDFACFF069DEBEC773B8B50DC86A012DB58612EC90D64AEEEA037C3CF40E42F1948EF837937D67C7059732BB32FC618A203AD06D5F8B472D0D692D93707B6B1B85F83161D13BD0930FCDBCFF94495277D9E390AB671371D4540E66AC18F03D625C8D38E75F628B06F478E6CC4A498BDE811B9DD8B636F7C761277A56122E59D0AD8052AE00C8D08436408EA5433D6027F798F48DDF15BA7600363C7EF67236FA6EF377425CD9F634788E9CE34D08A956E24E3137149B08A0EAA2D831B0F3285BFD230859AD02D50FEB10B63EEA8044DBE97693C29C105C2164EF436B88D5D870F88AD5919FDE8149B39AA65E931BF5D461A109A423E81C376F11495C0671F3CF371F89F81D52235D3413992713141C3F28F14A926407A239D6AD9CFE565CC29F8A836E5643F5EAD4CBD6BC936EFFDC687B758384D070273C8C2D2DBB81123B524147979A8E0C0D99B09812EFAC739465D1A858EF233CDD13769BB8996856CCF509D50CB33E4480A6AD951E451CC637933BF8DBD5168C06A76DD08D42E6FB0BA1044FC33475A2342A53765BD4099546C9EF96DE5B78C59CA6123223E6F72680A0B9DD9A12B24CAFEE32F0B6E145515222CBF2ABBD7330B9A91303B688DCC35DB233C71046716821EE409083C790BCAA893D04C09A8F6A9C35C072E5033108406009564B4135C00FE4037D2D51AB1D721AE6B74E867074199B73B93A6D89DDB8EE74681213BB677014D1CD75821EADDDD7C1C78B6B75ACF574CBB288D2B778D84F8599A421C5B8B9A3B120F8B8F98B5CFB81F4F8BBC416E3E1E9462EEA5840B96EA874A6C8267F5D16451B93B72DD5951DE2C4D6D3F94BA87A62A19DA58E30CCF7FB782745C233CDCE1B0AE1B1F1476983D123440A765D5DB0C3E38C47BBFEC5CE37B94969377394A25A90471AA9DDC98D559DC982A7630B6009A7748E9E5F6FE9397FE4AFBA1EBE530B8C46F4F18CCA271856EFBFE5791FB9297114D952F0E37949E3DD5A38FD3805EFF33DBEC3BAEB22A8EE93B42F85C845CF3C2C00C706E11EC7975F6366C6A38C2417EDFDEFAF03AED01A987E464830D7891B0AB7F67F08096E81F937DF9AB605C3ABFD1F2673FA302882806718C0B8750C59D0B5F27BD16579E5E5AA1B5A98257627F97AE38BBD79A0C21E48EF7BAE4360C003E8F86B89B042B65F436CEDF39CA030DFCE9FF772CD99274BDD0E6252D8EAE877330A21BBF6F266F27D119700EA597A39ACC8C212B43DA9A775A6E165C60F6EFB75701B7AECA101F70AE541A44EBA7500DF14EFC38F2E8E12238CB7479FD4148322F1055680BBCA8E535CB5ECA77A55612E563F6CE2A57B1FB9B663AD0B55EF27B2EE32E6F779C6F9E74323256D3D0A2E247943DDD75836F4B07B1480A00CF4F62092E5FF60DBE75418B6BDBDBA59DA397F23B5470BB337487C863ADA5CD8483E6C54D201883A3367DA2B2F49C66B7FC675AC47DDF7D26CB3B40DD864CEA1A178BB1277B28F198937C12BDD8C14573C429FB139BCE19EC9B446552808D25F8610DBF949D33A06550383DF5F3CBF799B0FA41DC5935DAB118A7178381ED3EF9BDBD632472CBC48F21DEB7B5B26C6D6A4C6D8BBCA609EE39C501787F6EF2A9B45FFF5C6C57355DDB17B7A271C7B56F1B7B4CCAE8DF84C01514CF9F8138150C77AC95EA22B5C7DA74DF60EFB0605F310D42EE071438C514A418B62247DC2C55A23D0E731EF9E514D1DDA73F57B2B6FC4B4FCE62F1F0D0B545AB8FC08AD4449B966219E1D533F26A4C4F628C2948530C0518B96FA8B97925629DAD65FA6551BFE9102CF1B9B7C43C41F8BF4DE993FD53C4E582548ACC64F67B2E9FFA34B8B9E2F64C87436CA6D1D0F22A2CA236FBA10D9192400B11D77307B51487D986DDF418076833CCA1639A2C9B80C309A3A4EC9ED9108A69EC136B73982441674239A6A380850A7E18584E9556B7A6295578E4ADB010D5EC2A3C5BFDD3062A9BC5A2A8AC6EAA45F63BE5002A5B53A037CD2E996D3E0B256AFF17783528AB93EB48B2806ED0D4CA4A037022C585EE7789F8F253803D897EA6F0C40F07F04574AABCEC469CD98B7CF1B352857AE32DCDB2EDF8CC2E3594679B0969095CC4507DC3E9059CDE8AA2BF16FF730696FE75CB63555693C9E003B47E2902A05132745D5D48C0A36F101778C66EB9CA3287397E278BA4A3D1E80E5D7E1FA041344E2FF0D4795476B5D2098E39DDC7738F5B9A871E4D963483EB7286681A3DFAC38D5866BB95F2D6BC430FF11E395279DB711657023E2F4E542D9F39421910CA02ED7BC767B47A33D09696982FC6A0848F12F0A84BFBA1A0B42A0B55C3E3D98B05978B53BAA813130D18ADD76DB7EE8483A2D6B3410B08C7623C6B463E04D4D53BAB51F0A5A3F26B9E0BECF98C1067A21677C07822F5F730FCF5239D69D6D34B1D83EAE3409C4A9CB26B754F248271DFC775CF455372C61C6099F2D8172274EA4FA40D87759C2EF2F5F4B9086CA4A7DC6A5A2001A3B85076A6436AEDC3088E26AF74C98F185057E0781BBF8D52C0E4EB3C4A0D3E22CCA0A8E2D15FE75D87AAEA723A991D813A67D93E26B31289B46E21416A00EE86B785E0F470C2A3D0BEB18305915AE21D0E7D3C27C2D37A05C8FB808921D4E759A4D3139624BF2AC8D5CA8AEC0BA07D5A03E13BA45AC71AFCEAE9F2B55D0FE70AF8334245E716FBD6411800D6043F30D6699A81E1A902F8FB1DD23FC0D9443F05ABFFA7FD25B6F0D83701578C54E051055A5D2785941BEE2CED39E8FCAB9923B7C305FD23CDACD5C6F71E645517D0BF34DA56F7CC06175ED920CD1A6EB713200A212538690F481CBC4433B37BF7337C61EDF6D27FFAE8556941AAA5F43A5EB6110AE73E28E190AE0EC6E6A436312FA72D0AFFDD9EBAE433F60507F624BB7A5FC48C3AE853A8C146A332785666367A8B7F9FB5863AE75B09FC3194D890A3F724D6161B0C8D24E0F0F26BDAE711AE13BA8BCCA55F9AC3BBD9EE43CB3A451A13F9D53FBC4D503F91EC773022158FC66662A7B75A617FD1B9D030727F2D2505231C59D9223464AD713152FDD353AD500D605C38317FB5C6A9E052B95261BA6405389AEEA70855C0CB2870E97089D7F6A6231EAADC116AADFE3581D91B30B7EE22E1D8D91D812E641B7786C04C0BB4AB5A58F93DBC48493A51755B5CCDDDA373CDE4D71E2007F5BCC903215983BA847909739C8D80955C350208C61049F40272496D550E01397E8D817B91FEC0D15D61A28DBA51618FF3E8619AD9DE3CC3A9E35FC1777BB6189A1A50EF42CFF1EEB716C827F793D80AE55065671A29AF4BC1360C36F73D3281C690F7CF2E0F94245F9CE8A96CE53A99CB2302940D09BE86CF07CC7A37073382D2F560D733739FA9D99ED4D16FA5A81066F5AF01E17E757CFFBF9EF6CA9ECACC8128B0361B3ABDCE840C504C31497BA5E15933F18A1BBA1214CF2F019752CB5AE61F9000C85CAABA2252754936BA350A60C02B33EB418DA3572AF143CBB2E99D6BFD8856A88DBFD5329B11813E410A56B0D570EE39E262F902A82F890136E1AFEEDAC591904764CD5EF0676B7EF2A4317A484B994506E9A7FFD93550762975BAC0173C90992A9E938E6DEAC563D7F360AB7DA003248A1CBF3FD430672E21F87FAF0A1A91B305BA1F6AB46BF37BCBF70210B40AA22BEAEF8C878315C24E503B5AFAD8B9D2384F822AE8C3A7941F58F36C484B8298C39C409C32CDF2551CF8A90DF08DF6C4313799B0B781A4AA05D7631B73969C5404D00CB053B786B5EA67DBFA9C +MD = 5614A6D6F552D4C9DAD48641ECE0CEF2A3F050114526F81236AE53AD7E8F8499940673A8AC51319369B8214A358B4E0476C949691122B4677AB13C3B98B2479B + +Len = 29264 +Msg = E691E8FEB744957B275E5FD879A3ABE54D6D6C8C7F589F0B1A17C08C299C559E5F07C9EAA12B3DBF0E06342E6344229E9931217E77F34B53014577AB76FBEE38EC3F491E7E0A129500BEECAE77745F98370CF6D4D0E39C4273AEF366B9BB28640CCD6B11B4A7EA7F4BE9C5C9EE529D0A1BFD1450B5FB9190C1D8BBCF1B80336C212992D428C200B5CD34CA3CDD75E175997AC6181E3D4972886FC9D41038B077CD1E786AB3AC82C3C8AD6DD5D01EFFA39629540A3D6002C9AB63A183A8A85B3BDFCF4D817F6505C7747ABEB763DC78246B6F56A3E12E1001520F5D35C8E3F251702A66DE663C9CB9C53E0584207BEF86ECD046979044DEE55E2639F40A4D0520968BE443C46D71F9B6C75A82D8F7CF05A0D4A1A897E6B57C93922A5F82E4E7578612B3C68B7994D8EF2F85B35BD0DDDD149CCDD8C9084F6F8FF61900FE8CBEAE6525DFB8209026F6380AE677263B1D7CED5F8B2B0B313466966995A7AF768A3383215AD8327707C8CB2656DC1E91902806B613BACB93D04B1CAAEE759B97D7D13CD0770A20A3F229068B28FF36C7048208A4693D4896A9F12162F3DCF18E97DDB84946FABD8FD5039F6EF6DD09540DF8D5A6B7926CACBA509F985FDF23A1F4EEE5145D13D7D0E3E4BFDD1809A3918CAC7734609F6C3F38BEBEEA3FFC3E4B4A8ACAA1387440C92D1CED43511654E95B33B56F988DD43EDE143AFFFE3B6E04F4B38B593251E0FDDAD3D26BFC1B40C5FE0573F010671AC3E3E6210E8799F256B153E1D95093BD452D70968CE651C7717BC935BF2FB77C21029B6550F535C3BDF804E7C2B1A5728AE231C005E31913BE6AEA15BD90491F70CDD222A548C3F38C7B2CB454B3B550699F6EEA351A5BD69B97C2C823ACB21F48A52533587B3B2B51EFF4F453EA66A1EC559F11C387E7B5A111C7D885BFBB557959959AEAFDAC8693B22DEA0CD30454B2C4B1A07AA64E3DF3E4A36FA4666B70E0744F245DC0161AE2CFC5CD0F7A35E67651549E86407CF8D2EF259BF65EE75F2032E3A0D3CC6EA8EAF5FB16563671AE9F1185FDA552639083558DDE883ADF86CB31BBB8764BCC096DF60207E37CF5AA87E0D3565D5510FF0AC9359AF6540C513BD3AC35F1829C5B342E66EC78BE0356735E0ECD97D20F854094D124CD918A3BFD045545B1A7E17FE3E10EED4D11F8AA1B0E33285C7837DB7033AC0D712730C0BCE1C38514FD02985F99B88A20057C9781FF0444C290A7E0645E17D0BEB2CD3A458184F6B4B5E100CB0D69279A9A185736E7EEC42D8740E63D5B261CAE061B54183E4C21994CFE6CD5C5441D6C3D2300509A40CC2EFE67E63D0E1966C781BDF546E9E917FD283CFF735B0017550B5CFB8B5AB22ADAFCEE1E3EC19E0616DEC2E5E7B45C2E547E48425BE27123AAF91B4468B4B1389A095B3BCDC2CFA403B94231411ED835694190E54539F9126688F6232EA13002253E937E508C00165A3EF523621F06FEA1440B81E8499C20BD2D817422B48F8E83131E0AF707126CCAD03A23237A4AD20353EBCA6AF49F7E8599B32B708F9C3BAFEA0A7BE24C227FB0866703677ED85774F1069665CD8EF88C96CAB5EC3F5CEB4CEA915361DEC906A67539ABE4127954FD53B2D734D58F84E4C2E6E90CC1958C20B7080E6E067032186F2B38B80EDD45FDF1C7F10E2CDC0F0CCB734E7CB286A97594B6D90228911379FF4C6174B9AA1C8B291CE061A97C82ADD414F551A1EEB9FC89DBE645CF82DEC048D6BDE94835D6D476F6E5E08E47616ED5766CB369A94D51F2A5F03E5FEE943058C09DAD21E08B822D7F51BE5296DFC398B141817F5671DF7B032B5C4BEE779B7B5ECFD228FAD0A6F102ED8D7A620FB0C6E8E84A020948EECB10FA27EEDF71FF5E11D0E1A2DA41BE4029472CF6F26DD3F6ED6E4A5A7FD441200DC690307673FF9BBE81D71649680E3F62D62433CE3496269507AA4AF5B1E002CB01CAD3AE5080B152D5EA0C910376BD06E4C63F72AF731721E8AE38E91756D816A46830A11CCF5ADE1218A0301711D4889A90CF0527B8C29911CDABC832528D93B9EA9D80ADE81B5A1B8B261995CCC4823B09E3B4236CA9BFCF0F430390554E4C3B3A0EF0FBAF130778EE84420CB24490C5863CE5F3D84A46FA4DAD06A99EC00A17656B4C8497C5DDD4518AD30F929A1FC4F21DF78F87F99FC1F9D7528E63152A1668000776DA4658D3181D259903443FB9AA32D5E07D3F2464BBF241CB2FB60CD4C6A93DE4A6A93C6CC48DF885A8A8175E1A3805ADC539C1C98E1091A6B5DFA38EACAAC4EBD5FBA707DA54125A3DA9BC1FD1BE01E9BE53426E7415796EC7C5673BDA853B9A9A42FB762A63943D57F6554764A33301220AF0FF6648F8709CEF5244ADD70544586B033754F90CE00DD9B3884E27C25FD032261D57320CD8DC3435A22710569B22F95EAE3B98EF5BA723C04C49D53A8740603FDA4551A52716AA8BCAED8E505DF7ABF6D85383B9AC93F212B7110CC9AA680221AA148757B30185E2117BE1E31D6A91CB0D4CBAA397706BD1A9541A21D38A42B9C86EF146880D00ECFCB293AB9E04D3B4BC12BE7D35DA30D8EF2BAAF8684C07144A3322D355B993F1967BB6BFFAAE163631C4B7A865AC7C1BE3BE4B995B6C34F96A5E04BC54BB05B6CADCB6B82849EE9FC0B4A71972BBC36A00832B52B46ECD27117C60ABB0075E438BD58611EF61B4E5FB16D58E2C3481AD2CD10002A7929D6764A11699CD1EAFDA718A1524C6BF18D9FB141FC9CBE224351C6B693316AA81FEE436A30798B817C7B01787FB85103E730E62341AC2E803EA54506EE36E13C8DE2802A84E9F5562E8B14EF55496811E2C1732CAAEB39B030D752176F40B95CD5D5504B055E1A96E8CD190D956814344823F3BD57B5286067CB29A10ED94288EE8BC1658201571C15D79171A3FEEA48DF6D1753F9957DF79D7671E1697F17BE08CC02133C96F725A2F67D6EAE26DC67FF83324C4ADB4E11B732513C7C46F8142ECE31568C26176326FA4DF0376B015620C5ADF3C5EAD45E547EDE93E63F72187DE806681D6F69CFE7E03CFA4CC9B39F6F1B6A3A3AF90F5050A8A836B597DA1A0544C2FE8F1EA7FFB27784D8BB8D8030072947BEB283AF708FEBCC00E1B3708B64A2019D01673A2B57D125CB244E0378FA8FD9C36E58E5380BF1B8E2986B203F090780C8D2EFABE0C8204A6A86BC228179B165A6B5243C1A024A9A4FC2B60CE150BA1120BE333B8C753A6193D3DD24FB4100B29F9F5E0CD41D7A15D5FD4C6FCB11EB903C57A10D264E0FAE632526D0CEBB43236CFA2605F8028A4D504A0650358F5F5BC09FDD7BD31919C2AD1CADE90CDFC5D911691EB16D95C6FA0441F0294592A7565203C651C3057D9857CD1709662081D8C0B9D60625F66D51CCF94603EAA32D1183D1286B2483D251D4B4B16DE1647E4BAFB560E60F7C7F1B2897B450162D3FD2B491B38E1F42EAD2BA92AC5A0BB517CBA1080ECFCE7261045152570C98F43494960772DD8F2601C19D22CCB586A6C7268AF934597A55C79B30FCD44F9859CCCF4F04A8D9341A20F9C240BFA3236A115DED021936BFA3EC90194DD617FB2D73EE30CC39E7D8DB94EDAC85DD2479B3B1DFAAAD2AC1C77DB585586DA142D52B0BB48540F4648281ED4C2FDD2D00DDF7A38096BC6C6842038C5A6BFB94EDD676A690ABE8A82D36C530ADE04DD73F91218888D678C80BCBC530C886F09D61ADD7474BE8153BD95A25F18F8B0C7084DDEB3B32A295DDCA56068FA5A488C1A6949F2480334A54561D81BAD1E63B92485A05786CDAECD5F5731FA72A69B69E4706180D01299AD26A7A07359F9B5ADDCAFCC56C73F0B3E3A53EA8EF35757B39B46AAC121372F50AAB7EE71DA1DB329E00D5977C244255D43BA5232701D792534F441E2FC6C522ACFF45EE18577CF948D780488F5AC4C593D14D9438AB10F04D34B6CD118624C931E85623B4A7F08F844086882EDF0AD22FB1594511AB21C79F476E48BDD43212851921E55CF6C83FF3E8FB38D17182EEA9203A8D01FDBE8DC76FA8B88F290A25E0C46EAC28ECEA44CF436B34AF668298A4B2911FAB6FF585F175E8266F9E8709177305A81101CFC52B3517CBEF6EC44B1A27D32361463864E4D15739D85BADEBAF7C2F58FAFA8EA6A6D37379A30CA64E44139C68512D2713AA700C6FF2535B8EDB795F6E3C46829EDD1CD342FDB0DDDF2302A1CA593B4AA3956573D10BF2A920B05777ABE2E72A313C26A4EA385237E0F0B3FC6039C4AE5DBB055A4945CE74CC90627A5832C82D7667CBCFF0D3CB6425D2E1BA479D928576BD46056E8AF0C3B0AECA0A944858C97C0E64822FD3E91C2B763F888EF4A659BBBAE149FC4BDAC76AB6A507FF2D5C604719B08CFF84C871356F344294FDADFBD560BBA0D1EEFB6442FC88FF1CA10112031D3046D6E83D02CF9E8F31C5918ED87987DD1BA2AB8731126EE506B03F85D6F9FFAE34479C6A7D2D0FACAB8DCDBAFA9B2F02E21C666D78FA034893F2D1026608984D68F9333395E0BF195BCAF7F15CB122419E1F2BF3B3E1E831A61E27336E25EB6480403C90980BC597E87B52CF5D0FF7770355ED502810D265F3265241B75FE2CF37FE0D5ACC2FD3758A0414C4798BBA778E2452DBE86BF9E2C7A3A5563019F60DDD5344F29CCEBDB9DEFBB60C6C0F503432D76EEB47FE36D637A673596DBCA4E55A880FB28F4CB8193C7A40844309B55E4C010FAED3FAE05D85648A339B47D5AE3CD142759F6D009029719F9AF5F81C88ECA88EDD4372C7A827ECE87060F2576EA82389A5F3F3EE51F503709B46A6D3B7F2A97FEDC9BAE4F156A0ABDD77444DD5981A9882E5534CA71E315FEAECA7D5D06A9F74B6F089C3607A17EAC3A200557666817DB7EFD524BF37C58FFBFB0FEAE9D00F78D6EB7240C87DF54D1774F87BE2DCB26C9F0AC70B85C482C672051EA0020C24265CD97F265EA3E2DB3C93FE14DB832D20F5BCA7F0E57A3B7E438AFBDF349215A8D83B6DD80BF2997403DE350BCFA832E2F393B434EE515B46E4125039E0AB05B7914DDAEDB87C2C0A5BC32B2DE4568FDFF238C9C39408C604EAD6F4C5A24A7C36D96CBD897CC38BF600D51CE093B71C63A1C8C36F45730D18EBD951A6AB74B014D915EB2A951458CBEECB4512240342A83C58379B5C98664202F783453B8C8CAB89302883195 +MD = 854766871677E00FC9803782329BF08B935FE60206E1F5D02652881ED47EB3ED6B92DF1F1893AA1739E6B74C490D56B0818E41B1D76BAA196471543A13C22595 + +Len = 29768 +Msg = 63D016D64A04183EA6ABFD3D353790E22B04CA89D7CDE3F2C60E8D36C7143AFAE96DE671C2CD915A7D8F41C9F80BF3C47AA37487CB9C938CD5AF8AEEB4A3C6294D2E12CAF1F2C7AB70DD144074FE083CF82D37CB38042862DA9FDE75C0121FB7C04F7A9F7114F89A7EE34869C1BB3F78BB58FC646C8B16CA2288A25A050E34B8F6315AF684ACF3629AB24EE6DED73571C1837FE909EFD3DE34985158579F049250B1874021354FB1715047D9158A31E906738FB32D3BA01F559B19EEF248781E23DC47FE2A3B12F1FC70D0AE922F6078F8BD1A9CE13E3C18DF4C5121C132F0DDEDC5961429ADF7B32D62058B4E7B7AABE5C5D050A8EA33D3B5B6E90D22044E58BAABCEB223539A339DE9917D7F5B3D72B910C1C8036C240CB1A58B7BCA0D77AD820ED1FB2F0ECF85A5D0C0F07976EA27871EC7D1FE9EA51AB1F20052307B3F09950C6D1E3822440E7ABCC34DBA278379115CA0690112EFE4B95699E6E135CA8DEBB173CF7A3AD551DC41E52E237C084C318DE290BE7AEFEBF12ADEB0243AE576392C767F087180A125BB30D8D56BFAF703A85C9359182894F50DAA694255D01ACB1D436B270A7B0D88772659E74910277C2E2E9AB0E9D3C72203E59770904789C12A38D0465090AC6285CA8B577505A25CC87CABA99B43166B521BC2BB6857B0FE26D99FBDBAA34849B2075B672D1FB6229254BD7108B199971E8593E1C8E83C2A631798DB5E84098A67F2164F16780481110CE6A9EB4C1BBC12E681E5D248B1E8E2FAAA081B3762F64DAD22C9E1C2AB45EA3ABAF547CE405AD56794F89E2086807279828782D4BA5E820D5D77D020B06536A2584D78D392B4ECE456606A6B7AA9C80B8D5AB0758A36E77F97DAA24C080FA4249F127B16CDF5BBF0F69B4DD425D2C422C0117E9085356235F49D7BD2773FED4E17712935BC4468A9ADAA30E9CCB9B160223064A2EE4E17E885EB3EAB5B72CF7B3715E518AA1BCFDF6CC3EB734FC75E6AD793A439B1221F895F67E6A924DC5863973B5304A07EA1118E7C72D46029048AA73A8BAEA1D8C9073F2ED3C0867F5AFF73AEB4BF477E58A8B6A5A57BEEB382117D3D406F3F1CF99C3C4D28D69A0BC05FC37735FC26AB83F11B6B31966831072EB960096E2C8B790679E816A5868828110047C474BA31F095B3EDA571B6CD8CC9FD3B6B96B8312482A69E3CAEE423AEB6027645AF2AAEF27414327E45AFB1C926E3094B36A5B3EBBA3ACF29E3687B6688321E4E244E50EA725AA0303ACD522505866AD9A6E4E7D5CDBDDAF2F7E327436AC51FC243BDEDBBFB7C27ADAB5DFB41446AC204833270ACB716929AB07CA60DA847A14A2B248B56AC082B3BD8C643878DE662F6BF764E45DC25FDED62495029211A5788D0495F86C4CD468110323334CCEA98558D5F9E2370D46D36286B5494042F978BCDA3BC8B89BC7BB7CC2E5C9050BD1315C74CE3E53A4C5ADC25121D15C7E55D4E290018209B3A077C73B1908DADBF21A42D2541FCE96792EEBEF091F6067294BC541671918374E5345017BC39FD64A4CC56303389CD5BCA803E897414F783252D937A61AE422956F8E6B0EF733DE26CE29D7D54A86CF51AA009E4ED1C5C859A3E23C7CD9F0DBBF0409D465548AA5316DA3FA5C161F4FA13020F92736D9337D2C172F19EA9C4532BA6CCE8E00F133B213B0816D85D83E3A390D0FD0F7CDB993C355614540B27039F45E5184DCE4C01F1CE6ADFFCFD35F3CFF682B5148BFDD3902624046218E5E84399E1F9F8F3DB5ACBB2E5F61CE51223FFAA867D80BF09A7FAB7E221A5B690E74D01C468269EE71DF69FA2F05625129C9CEBA4125208A9DD08FD68D618C687A43EA5AC1E6FB20507DCE29699511C2FD7B565307EDC53D77CD6EDEA24A01420659CA9712D8A76A8B10A0CD74CD144B063B1C314A0E965839E290C7F177E51B41CB92BFBCABFC6265901CD422BA182A218AE329D3A50EFA15626D66DF2F05AD2A9C0C6B9F1E445E9B0B52D37D6F3F518650E1792071B6E7FD9E1EC4B9049332B6253603683B4326120D9A978E8EBA2AC3B84C56C2B322D61BC693E3E1D151ED48B9BD2B255C3C9C600BBDDAF728E7E740B40BD564798F7BE87D74EC0647BA3FA094B6255DB4496C0C6FF7BC080F469E6B4884D998A4000090B93AA18B87222E41AE8E1B96349B2EF2A4CA1D34C5973B3830C894E0DA076819ECE774EA24635C2812736148D69420BD3112CD38F45100302AD4CE41E932C447AB25B79A1F5BDF86B11BB52098102359798E891D3939630223F973B904D7402C61E341F642F9C8123E472B7143875564F87209E94AF8200810092BE1FE1680B49889995C7E53C60AF9D4AAE258CAD2AAAAD1B2C0885D5BDC6A05C23AEC33A58C0855428C3F72CF19D53DF5BCAB8702B1169D0D3F920F11A1D5284CF6F9B215668D8AAD8BBEACA19CD28A2EED4788D753405EAAC40AC97790ED76F24651D0A30CE100B83943AD138D88C9E96648C3061384CB0FF87A331C326DC9027E13ECB70319947B345979C001CC44823A5927198265DD2018C18BD8D164B936229D69DEC5DFD656C74648532E505CA8CEBF8780D8C4E107945403DA3D3F2722E1BEC6A6C4732717486999B57169BFD627C255CBB1D67AC5B5CF0316EDCE1C1318EA35A53B28C6FB61728F0C47E06793694572A0AA1B5B1561810BC99E9654E2FE1725EF20F8D1F9C0CB74B025EC7627A18FCB2C4241793727F122183E5613F20EB3C7AE3710FF7B8DA1BFD52720CC204A1D796BD40996A74E77BB234D3ECC3D6627C6981A45EB18F03AB5B70E9E33059FAAA61841E8A3B2494328C965BC46D5B3AFF06C269F0C7E066E3E70A5D4279216511A78F2F68FE7B7D95C8B8188A4CA1DD0EB1642FF4DC25A5CA0B407D4E87284925473153B4E4AB1E97BD14C74BB52D07DB409CC11E1FC07DC7972126CBD819ADC8360222B4893E2DD6DC6305D4CB0002928F45C7F776631675C6747672FFB35A8616C24CBB0C079C1D201FBD02F934138E1ADFA82D506C883060B4630AB838AE8BB1360811AE8CA3AF047E247C026300025BE214A392EB05382CD5EE866553B7B3A819D9DA3B03B41258AF3008CB7DF06A325546677B954DD8031F2B2391F7B8E9B0DA937A7A47E43AF34BDA0BE6D4528BAE57BFF89B1B743912AAFD7A169A1629C285BB00633101EFB6E2C717305F57FA9967D174275CC603EB122941E0047B75E7A92C381D18549E222C4E3087DE670898D789215ABEF33CE70B2C2EB72ED51654D1FE3FFF93F813DDD86682A64AB795D19459AED7E0BAF9B9C01CE522E718755A23264D6748B5E7475E1D0FDE8D9828ACD57476FAE119195FABA768A1AC66BD3B0AF3AF80E14BA86BE075C7850324553114CEA9890089DC9703210C824ABFE3F656595ECDF0A9E9E59C2EF58BE826A5F135F3942C63A6D3EB40B39C8E234E8E2371AE94BF17E378D4E9DE4FBEA579052D8E0DC1BDB0DCE319D4DAB6C7F53A1FB75903FD2C281F033D985806E476794F40DB738BF774454DF114466E47BF57D93432DCFC3BFC09A59CEEE9877117287BB48BBCD5069EE3A2153A9C8CCEF2D2783884C399E59071F698E1E85DBEAAC203271852A056D287EF3084368AE32733D7ADC8CA4C1E732FE4A0EE41B53D2ED50CCC0D79E127A5CE58BC480E432D8C855648BD44EB87FF98D58E3EFC5EAAD36BF84572350672F7FCF07C47C23AC9465931BAA94431DE7EF44AA957EBCA2690063F3EC9A966B04C69B341C90524826D27869CC230327B883FE529EEA24BC11334F08CF836705C3CC22A460D142FF21A292B97634805B873A90D32BDC354D574A0AFDBB6B0BC472D27FD9116D6D911746BB104DD9C65A6A277E4E60A6A5D77B191C904A4BABCED9CD77F7A7B5C4B7B8C473A051B5EFF46D71C4A0CE81B87D449F583E6BBFEAE999D6EFBDFD6B4A7FF709DE3ECE939CB5B127DCB4DEC94ECB1CEBFFDD3D22237BE5800C371AFB56456882AB3DDE814EAFCD13A398C1739177312F8F7DDEF2386E08426355C0AD2AC2111EAFC57A16EA2385D38DDB85E32827BEF105366617BF8585A25EDDD66037B8F1B67C3911CE1052B2255B44F157E3E73F845B3F179EF540CECC30E41731B02A9BB3CE6F390D273EF3011C9227D274337670D2CE90629639E62A5171CF26D30DAED75EF9A02663627C142F9B84C9FB5CECBE070B4854E6E406BFC937C8A6B44E7EF5F56CBBE6D57FD5D5C1504D77A2A14D844AA14EA52AD888600FD7DDA4F819716963369E839B847E95CA7D89FBFBF11778903A884EDE8FCD1E00D80F9BB241E8E6CDDDF07A2DFCBB5CA7028A339999704D12903518FD33898AD0384D67D22CC63522AE64D57FE19CD0B778B56FB531C00B9F915C586A0DCA070EAAC22E84FF4DC718915AEB37A305BE02D0AF2F4108413FFD5DF74EA1BB50A6F7B172EAE0531384F6B11693D9AD6588C4FFA1C131AF8BCC39FB49D03C850EB45C360F9941D27C4CEEBF4D54DC75F40E3920613C372978DB8F9F5005A634E22CE15CD95F3EB73CB35854FB5FA9EAF0D8674934D2E44ACE74F473B1BF1DAEA7CBB91FF0B7524B51FCB51D76A21382D1E68DC6CCAA32432266A60EC5A15F154F390F17F2A32F22EC37F9546B066E5314428F1065EE24FA74E7C104B880991124D5F9C2C431C20497CB404F04662F583D9E545C08E10717D4A0331EDFA018933C72200667BEEF4A3042E34CB81777C20171F1334EC1863F5A77EBC55AA06E4EDD837C2FE057F8DA87DFFBF6107386573346A17BDC3FBD873AE7CBD3E78579CE308BB6CBE6DEEC7A24C5C7DE64C2C857787A22BB7A9E698E9A6BCE854D3BE63EACBE4E10F1B1705CBDADBA7DA8C2037A0438A6FA54E032547474EE8A28386B4F0F638396EF7125E77CDB760465A0E196F1E44CF776ECFFFFF94DA9D45A6C2A7747034FF6110F8C818A0B4DD7468D5237B6DC5C59B2403FB0BF2CDE553E0E7203AD2E08AC447BD36CC4259D404058D499F7D51BBF7D8A18FC598A9F322154DB7A406FC67C65B60AD2F9E4AEF5A20CA1A988292235D9E37F2CC6CAA46063124E4EDEF6F6DB0294637E0F5C24443FD9E8F14D04D44E6A0F89D390334102990991DADE07607F40FECCF010AFBD732DA1D70305E61A5C36AB8613BB27524CB64B8766F47E1C5D42F1778FA02ED13C275B12906FA1D6FFCC114310CDE819D3B428481AF4739E962E3A2D90D864D4319DC67F4BDDAC76448B67FB439793B68B79C1DEAA6DEF04A44AD66F2596CBB3A9B5460DDF05235D5 +MD = 46193D201098712E16FA957D9B9F9540CF0B53B6A1E0BD5EFE6B6DBB401816FC5A78B8F706C6FB579DE45B7E33B3F9BCAE01F456C90C762F36FA624B75858384 + +Len = 30272 +Msg = 86A9E1CE8C1F20458683CAD72CBA1A63789E61F8CBD6A54343064D72495A8C686A073A819DAB8582A29ED75B327F02E001F64BF54D4C7A42DF210B5FD2E225607289DDB67D002492EC0B2773E86097E631709AD777E9A12B14E6FB0B27D7A6B072A0CF1071365D04E7648470B6BE00D588D9378C8E1AF2F31768C56DAAC4282BB3911969B381371CA46B62F3EB1F50DF99535C00FF523D781B2519E1BCFE4309AE568B1AB92293FBCEDCAE52B1BD6C605BD35EF6330A61ADFD5CEBE62B78DF1C95168E41260B520B76C40CB767CE844837CC486E66A6D6892632B87AFD270A965352EEE8A8D234C566BF78B5390D940948F3DCE2E973D68656977939A787916922CCD949BD41A0640BD44A33CD772040407BAA11D95A6F2EF18E9F2974F1039C63C14FFF476D976CE57CAE6F2ACA0218AED385B6D91262977D23E5A0AC9FFFBDA87C54C895902465BAC9C5C6BB3E10A276C3AA7EF902B2FFEBFFB014A77F65383A277B10D1EA736B6D8B845408251046A1C5548F718E948E290BC94C86A05E030D7C0183CD2BD3F3166C8DF648FCC3764AB9C27E77F06BA72DE87C79CF7F8D6E83A8D5CE6287D2B17B9E7D90B25B9E757BECA72368F9909D8935179524C136B0EA3240D4108265558944D8E77701CA4F187BCB48708F4C015CBDB81DDB09CC6AFA46F4734F7853B1409413ADA5D5584494034F5B4517FA7DE3DFC07531CB6FD213A6874C212805DF0C8DAE74969E54CD9AC4AE778ABA8CA52619E379EA17FD109572F2DD38C031CDF58DE8F00E1E5FA2F1CF2EA39442116FD90DFF3DBC92CB52AFAE95EB17535D48415998F1235FD966499FADDC4135B269F6DB55E392C0D0B50E2A94D53B13F220567729698F4A6465EFCE138A5DB3AECA6EA2DA5A4311706BB8E3AC2FEF19CEE75877151898BECCF75B0555347E52C571B8C0001ACC08C3BFE64FD455628DC7B8BFE30873760306C548ACEA0B7E8C6124065A16B04AC50998BFA57FA1F595DF8272A0CF7D4CB401977F048D9530E5A1E5CADBCDB0A3D524B6CEB7D16B5D62725AA083B55BA595B46D68310EDF2DA3D6E0D50D87414E6421C6C31F51FA56BF9B46ED5216549E2A2E0900EB2194FD413A40E5BDE52A85063AA11E51739F7325E109E16882B9B8E0E2DF04727FB3EA6C66E415F2FAEB65CB02DB101D97B47932FCDE8F121051363FFC17DEBAAF557DE6314E8BAEEDA9D79CF7CB612BA87C7A2910A72BA20EDF2F6927CDD6D6792B1C7973A604B7EE9673EACFA9C014FBD088F3706CD762727169BBAED092D80C75B47CFFF0C6AFFD8B7883D8A8E1FE97FF1FF6E6F39CB47D876BBACE345E205900ECA0F6A193C1150748C2C5EE97EA8820B846AC7AF90634AA62CB6E9BA39C5D94434E9DA3A566CA2A089927AA9AC9A5E13F2CAB624F2A7277CA415FB3CF19CADCAFE6FC586E0439BFB120589C29012C873D5ED751E37727F867D0FD4E2DFE3B3CD53995A0F4269A3DB407F5ACE9FCE499983135FE2EBC48CD7E708680444AFBBE55838C92D23BEF0713A9FA381789E760FC64ABA84548461F62DCF93300BF8E1F0DE9B1E2FB54F3722E0748802704532A156367984604B64EB400559E907C1A2FF27D3D91C523AFB0ABCCC7575DE30C1AABCC4D0AE4259F0ACAC4B2EDA798970E4EE99C39C09E85AC281EFE136B835ECA8FD709D93C138E2C32E3D74444AF0CF0146FA8E90C25869EDB12ED7FB87CF170B65F203431F6C74C982FCFDD6A079E1487F1A8F2F1B2902564031A1ECEFA435B6E6A6F61BB1A8B6AC55D6E7C8709291F1DBF627EA1565F1B834C3765CE94A3A0E012DBE7D70146ADA1C74B08F21C38F05C05149EB0E7A6CFE7C16A1909CC3B5796768036813142CEA62CC49634E07CA2FB27476019D3F5D32670AD88919579B91F79126415896BFE30E16B82289D8BC775B5D1CABF9EC28C4CEC19E6EBC91E40976ED3C79B02DBB257458B84CD256CFC559E5BE5B9EE9AE24270E10448D497923A71FE428F13FD1D9FBB49F58EC62C5BDDFBD34276872BB3E7D55FDD1668F8856CD04B4F616B7B21E2B4ECA9F727903D935A8075FFA7F388DF6A89F5EEDA1DE46E26275EF5E5CBB60A0A745A38586FCB5BBD48312E6A665558CDF315969C2778F270CA2A2320AB4B99080A008C56E05D7BAA9E82FA53B0463D74CE409BECAADFBE45A3665945BAC2188D9607DEF5546BB895E5EA89EA1E0F77EC533929A7DB48410EABBDB346A309BE64DFD207DD20702341F1819FAAF938923E44B041F1127679549E3BBCCC5F8F6EC7131952522166B5352420CB210C09C20357CCAAB709628A92F57C92A21C1C9A7A7F4F83CE87C6033305814ACC8101013760AC25DD61148AD63F8B96F1D629EE5F42A09EC413593FA03B60E3BA22423413320C674A8ECB1AFEE2D6A7B0355EB8915709C1D4A0B42741E2958988ECDC18ABE89AC555543BB9AEBC35243397F9A3F7A53BAFFEE6BADC82D8A5D58F20856219F28D5695EE59BCF14DDFD5B703D93F371CB608FE010DC96688060B59C185B043DD8440558BF6975FA7B7933350FD69D70F9C9C1B89675F4B08CCB7CCF67CA457AB338F744AD9D5958E8EF51F3203F8D70E05C208A310AD2ED9898B1601EC3BF5693B020ABD7FE2B5019901B11D7407F13182311CB4E7E2368542106E03B5B3B864A42649485915B2584C62FEAE05C047B1EAD2303245C3450D7E872BF3D3A65D9E6AC6DD623D53F879000A3556D46760D0548A552B83ADC917EC8617E953F4D84064E3A48A795291240ECE56DBEDAD22D05C78752ACDD3B5854FE59C217EFA6F538D15EE1A78B5C4791B06057E593B3BB754AAADC08D71F7913A2202D53C8BD1D83B2142DE9B70ABFC0436312C1C59193F63E2D209F1D5F1F81FB4E8FB134F656887A71F68C07323FC534CF6ACCE144C4F7C7C41818B18E76E15C1C0258E5BC63887DCEA5F99738BE85CB1F4C9FDF1FAEBC534AE8A285C80F13B2E208C5FE4AFBAF5F6C38ECCCBC8B1E9AFDADA591247BA07F16BA9E4E36F940E569834F1F80CBCA9CE8E3EDD4CAF4D32D37EF45264864B36A29E1729B2AB9AED0C450B45F9D600E773DA9D6C5F780055306EAA6D19E7AAAFA8F41428247360FE13BDD873BBC749DCB509B02A76E79E2F2E528E4F381B7BB3AE24B26FA32A21D7723ECB9853C1B606A54F14B881BAB00C2231C770448656151F7ED9E4795600122C2FC459C872CF53E80E4241220882054708CA33B2F3B4F21FA384884C810512AB5EEA4B6612D3E4DEF6040D9E5F3603E6EAC73C73CB79CD540435ADA4A5D9B82DF4545B69EE0F4840D2954E023B48DA0444564FA3FF4259B7D8A20FCB66241C6F06412669CEFB3C8B9E9E0A83E9CA0AC744EC7A26D896CD43E994588278A56DD5827E2539B55F8DD9F121725527B07623D4876ADEDECBFE0B4BD41510BD30E3AAB253098844C60A0B598E69DB2E1CDDD77A964DB8433756B5F954453A2AE8620FABE6737B615DC4006D03327DF04E65C8E80946D9FE5AE5FF38A58232EEEBE85797A0D332B55B21770B10015379A9A5294404F4D356EEEEA47C129E40B6014C19F84CC1B96E3445935AED67AB3A1AA53DBA570AA0F29BA19B2AE1A6C48E345F39A1E1A28B2BF637723EB708D989EB25DECDEA9ECAE0B2B2D93FDDCC68377EA3FCD2A9386B0CEC6893BC3A57867B2E48201A6C019ADEFD0F05553B0554B938D744872D061FAC649A68D834CA52A4752AB4B36471C5D4C65754868C031FC35D8050E50E803960F8175FF0BACC08644B51D316DCFD9982D076A6A2CBADF7006167FABC7753084B7F75C138B059F145A668C59957637BB8F7ABEFB8922D509FEFBCDD357F15EDF1F62BB16B94B6A1E7B4E353256DBE17B2A466E6C4AD72D25A177AC333BE505DB8BAFD9244B5068BA7D4DD283EE08459BD47B2276F3C25DAC5D7001EBD0E8892BEF4F0F17272DBC70D15B626E3643E1664CB7BCB5CB6521C0CC8E2E08357FFC3A329C72DFF9B4F0009A3011931A1630020AD83DF6A803DC11DEDA448260206475FD7B2D0C4AE8057EE9358AC8EFEFEADD2835DE0EE6D8F5A2593B7EA0BD5F8A7FB0D003E5C175E4080EF77FCEFE8C34FD09AC0C5621E034BA475DE9DDE49D2D80DDE836E6A75E9B257E46373AC2CD1C81F8898CFE8B2DAB05D35C404477C13303438EADCD2502ECAB5689C3B0B01CC6128D27784BB283ED8888B204160361DAE14AEC97CBCD81A9C1CDFB372A543FBE7C0314613FA7A1149221A169F58F26C0F0086141292B10B9124D91123D95074E53EA029801E6B187E5D28D83EC90AD51C80D9B350813CC019C7E5A2BE39BFCEA02BF08B865E6B31C302F4090166AE3A624F19A219DD7E6ECBB29578BC96A919E04B650D794FD17C81EE27AE97455939727FFECF7BF36789BA34B04E8892FD2236D6402C80884EEFC9388DE1621C746D663582305B6A7B3E1D8854AFD6339785769D4ABE411B9F990A42A5EF9B43C8F5C459D50559F61690D7816D43CA9B15BFC4C5DD5A2F520527729BB187C14CB494885142BCCE3D9D1737EE57518A1CBB8E9194DD9D27276E875EDEAEC931B1227BDA3BEC2F7C3F0F5690C5DE5E9DB8ACED68B0963D35535E6F8962FF45264B0112B88C9BFC9212027DE6468E86F1AC632D4C8B264AD1EEFCF2F5971ACFEAE6B8925617034814CB3C9610E3B34284AD38FADD07DEF491DDFD660F4A54880C6B71D9DAFF18B5AE53A7274AA6F62C9ABCE4538E5CC76E9FD8B271778FB8587F154BFB0ED98E20A4A5E58D21C7201E70D268A744FB9DAA1A3DBEE501C6552EE5EB7E98FB426DECB5DB8771F0D1E8692AB8FCA7B62A5B14093DB30AC68518CF728FA8757677B67B95A732D8317D47A615EB6772817E89AA523940B9B08AA503E74A5D755E8C267480B57F398BAC10FC8717688D23A737822F7A031A3E02993896C57324B0C049E0D0A3B6EC32BF78DC16D5436B10A3988112AC87AEA164C0612DACD8FAC6ADE09EAA14B443524DADC696570F8BB9219FDA4AF04DDABCC83BEC86A4E30788242337C17D721DB5FA208883D2F00AF1D1599CD58D80DFEACE67F180EA8953F92C16BDA7E620312CF4599B4807A705C50354D8DCDC2D4B518CD66225BC9C90BD3383163B24EFF6DE768EABD77E6EBFA2C2EDAEBCE46E58ED8B858B55ED87FB14E3489BA11861ED0434D1C3C4D2090D28BF72ECD252DF9DC34BDC41DD409049811FAB93254B2395271244772DBDB594E2DA076906D0E0F85A025B2FF3C6EC1088C5C37F85B92F6EE7DB41F7C867E35B1AAE99A4E6B60F734E01E5980B608022EF2439D582685E5E1232B25C71BCED4A91E3ACEED3E6A1488D8B582D10B7971E9871E5AC2E6936EF2D55353D +MD = CCA3470EF3CAFC49C23F74C8EBED081275713A8E5CEA53D590830552E6698FEB7FB9DE3F7281176468A1D6F37DB7E4C100683A1A51DA233F903B082ABF648DAA + +Len = 30776 +Msg = 1633256AB03B20CE079196B708A1C02D1B6072219070712C8589EE21341D50752ACB6CFDA17E982D828BBD6CDF54BC7232FD418A323D64939928597B9B52F07CF488250C5E42BFD3AB48012D709F8D747225839296386FCE5FC5AECC4BA7A1076D089DEA8ECEFAA0CF66FCA8602395719C12A04F929321784D7AB8239FCE2FF3BDAE046A266132B5C2AD9F7261F3014E87B389A6695978693D9371D0B1FF9C405F338C2FDE4687359603950A54CF4B9CDD9B24480B239ACC5405C14C886BBB0378391CEF0662A38882BDD09E3866AB9A66CFBD28EB5EE4F8009BDEFC4AEB16700EBA7DC557B489190A71FDA75E85F7EF841697F70FFD4FEA185E7A67C81C5B8F273BFB97B2CEF695C1C74446C4B425BE6B2E66DC0AAACB247E4467B7C7D84EC33B6B5AB8FA1979F503008BDCFF948CDBF1226B1B066CBCF34797298F3BA8C60FA01E0AC8B803223C656112FB91435D75453BAE4707B63330467DD13E0A4B992E6F7E46995899A2D95D23F4AC3D0802B2A6E7D024DEA19CA408C4BBE053F14C9CE264F129724A18BCB18F385B1CA091A11434EA96D98C8D0602E98EDC8DFA14141AF93ED0BA66E885E9FA108591AE59E109AE34D6B9F5586E4B4D75E7DF7C32958A65E88A9BAF41082A0A3F11539DC4EA2CBD9E1C6C3C439B622F1DE574FA75470C8C939B51D2D1C2A7204B859881D43086BFD8FB90346218D099C5AB36846F3B98A7C847318BDFA01E09717943FCD864C5A8A17B6CEB89D98E872D388F20ADC2BE5E2006846904F41682FB1283214F3D20DBC9FC9E0FF571844A1282E88590D7C085B2C568EC5ACC4462B389FEAA5757F7033187E2DE31955FCE55FEDC909255048B327CCAB2E582BBC9D8054BF5CB45145C7D3A3AF9CD5CF6ECBA490C634ECF00E646BF95E8642C43A4978EF08A574EF1F78F6CE57C3B34B5A123D123617FC8EC9B2AC0F9B70A7F6062D38DD7B8E9FB4ECCEF13DED5C0477483ADDAE4F1CC0CFCA274B1307ED0DE72FBCB819154CDA897D7575213042615F1741A8CB646A39F8D134FDF9E60E000EB8220F65CC30F5FA52C431B9E3B6101B96E25B8D0440B96E572A18A01747C02AFCD7513542F7AACE194632099D16274F31EBABB60DDD94FE43DACCE900EC0902EB5E686D48ED8D09AE63DA0E15C736809903A0297A92DE84E0260F11F446E1FC448E0EBF59FAEA3C726F97925C57CBDF85B1F77078D36257C85D56CBBEDCE180FE12B687ADA2DC9912FAC60334166BD2CEF06B089ED5C9563844D71D8FEAD2F3A93F3C07C52537336A8A70BF5B596B9007B9FDF2D082000F20E6B70D2A7E6C7ED27C4146895A6D85A246F623C1B9258A2F891F823ADE4CEFFD59D4FFAD077351E2F506E9A5BDD3900F0204B9E8969AFE72F5DCCB9CDF986D197AE4C4DB53014041AE6221B750E5290E307AD292C8DE6B899235212EF8CE954785537DC9435AF11E0F3427A9C7B22EFA752EA0B7EADE5F6EB4093BACB78676E506698139E4F774423B8942166F9A7D22480D814FC0AE19CF4960FBF6E01FFA65C8DA5BED4F1AE2B9ECEC5BE7B3C38DD4045B0C93EE6CC77A7E61E85D331B23C0D164B104518B3405497054445A353E9B48F2AC5E8E96298D6655614336CFFE6D8C9C915E387391519AD2632366AA3BC935030FD12927EFCA17505ED74C94650C778539004854DF6C24269AAB9C273A493D3E5B0B1D687C33C2FACE46B4BB3742D6DF743D09164D2E0EE7F6BA128BD5FBA2E3B33C199AE80FA9DEE3AD811D02BAA3D42A6362B2AD47BBA8A2C5CD00B46CF22CFE367281488A4852EB8B7FACE79F0CA6F8E78D32578DFEE01711C4DCF3C26D0BA13F3075478E708C5C5315AFDC2E4C0062D16458213BEC506A9E991A61825FF78DA9BA1BAABBEFA56B4A8C9E2E7B60EC4B7B541C8E0F79C86BB5F03F736761A37169B2AAB8884EC6EA217B02C59035F5BB327243D126B78D4AAB430212439B5A75B80618DAFEB66AA3AFF866C4DAEE47D374B512E74ADA933EF24A841BA271C6F02C870E8AB950FE06E93C91DF0E99165DC01BCB190E411ECCD85358FD4A88127A22E4CF4266A90845124BF97B25D7B1C46D3A0D68A684F84E2A638C692A52CB6E8C651A3AC492B0460004073D5349E35552359CA37660F77B2770D6B2B3F7B1922424AC4A8598B4C61A6DB507608A72A6A7D573CC055206276E14005A28A0EC41F28D7E260611D40F089FFE5E529375691412F4E9E12E62C3BE2C563C26D2444EA9C69E6C935FEB4DC4E802E5FE3906F8ACEF4798D940C3CD574BB5E74506C3E0B70CB62454A25F589EADB6B0709FE3B50417CD1D98F08E08B7CF68A04CCCF8D6588F9FC2F31E533CDA6159BAA4297FA446450D71C16EA2324EC09773E7C8817ECF680ED12F64A04863EFE3D9D8760F34DE5B0860B3991FF0EE5EDBA22C4D69120DE19D5429E4AAE91C9E7CF05CC807159A58F13B480872AC1609D87E7009DEDB71C09CEAAB640A2B6135855CEAE4AC2954933A0255B425D9FDCD9C246F82AEB7C3BB78C6E73E03DB7AEC4245A28693FBD36EF4938D59CCE19EAFC00671A0851612406A075713C5D1154D8E13B59B7C5B0902239D4BACFA386AC817AC5EE02A181A9A47C622B3ECF287E14843D452AF347110498A620B34AB4E116308D976062C9EE9CD35DB6CB79805B93AC9A15AFBCB52F1ED4309879D1924A4BA190B0B86E60A516E77D34B4E0A49D4EF2CEF3CC2F410FD8EC901363FC9EBD75EB460D4D8910BDF27CE26A8B4AEB94F9F76242401DC35D0644842B99FB6C439B82D82ECFE1AF0D01F9BECB15BEC83F13B260F7F714AA381032923FDE8F8018F3518547451435C9A5207294D08A907C73696F6CB000745E072E25B73B3EE11595433D27A1F11468686F08094F1D31F5ADA81F11F0677A29D72EBB2E1C4792CCC607CB938647E1F153F9EEF03D982595C631E49B6B7C1FA003A6EB8D59CB8892CD0888B05240F12701753F89007C859515A2FEF944BC60B36003A26702AC6FE04D2E942978FC31A97EB29871D6752399D3521720729007B6A7215A4282B2A4EFC2C56BD129E74C9B00847692B96FCC71CF7A7F19F3FD6B45C519FD73B4860880A2DD74E5727B31A93F0A87F0078155344AE9F7BDBF00D83393B634B5DCA88A398E42C320EB95C4A826ACEA90B65E4767B2EBA748F97C247568393E2FD3A66075CC12935B6D7EB5C2FF5282185CB62C73972A37B3CA508004B4F796BDF82B83B5BDF90D6BFD32B5089B0CA2683DC7FB2337DE42E650ED911DBEE1EF98257F9BA5AF54B1A54B04C0087A5A64BA779D86461BA15337C2E7D4955FDD777A025DE226306A17C384F1C52CDB5946FB0B46DD5C13BD7A55FE2E27E4C6D40D61D6FFC024468F8EDFC7C7992DF5DC5D05063FE723199224F53678E48F25250EA28BDF1089718EB8B730D1C06735C2F871164E2EB5E885A8DFD2A083BE97EDC94159CE9BF75D2433F1D782762F771903CBF9A1C9D13F710BA0E151B079DC0A8262BCEB1DBCBBC0F35DF6EECF7BAA7105B9808745853C96B4372E95E482035916B726DAC7BE95A72B19DAD48DB1B19E6EB2EDAB5AC1B3013839E7806625ABC129F41813E6D71EE4AB2040D81E42E6ED73ABBA64FF2EB433B910EA7D4F5ED3D8D27D39BB454EC019DF6114F544D7B155549D0C56D14551FAF353994A80F30F3C97E863A4F2AF316468A568038EB4D799350A6FACAFF90ECD44E0F44EFB6DC42EE4B0DC2C59EA9C1827326DF08C0A6E55CF4F9C3EA0E78CFF3635F5D08E44F1400D20F638D56BA84B4832090454DE57EF04B6C8805A36F63E5CCC6E830C87FFC164647CED20E4C486D09DE7A5F9E4B68D5456CDB22B0DDED2B95B3BCAE529215C2D25D6823C7D66A4FAE0A1E9F022BA5663204F2314DFA51A1F10E11D6D62A8BA6C28B6AE7DA1DEB5B57F2B65D7456059AD9F03DC5A524054DA39DD100D74EB657DE219795E3C45A0E4C762BA22F9DA9D8159E425A1EE783B4B22C250D8894CBEC706CE16D5CA393404FF478F141BE7CC69E45B077BA1955F1F49EFBE4847C795347F703300F672334F490ABF8B644A34B56DA00EC45A350314B9ADF27CAF7C51CB7DBA0C5477E7D37662F4F23247BCB8F7DD5F3E9CB8BDA40FA97568832AF0ADC68F71422E412254A6BFC8943BB465B01FCC8DE0B957677C78BC1F7566953E9D2446239F602C682A521C14F741FEA98C7E27AABEC339B6F5B94C78287A894AFDAE971F8DA7C7E4A4C92C8DA47BE82DC2532EC2DA9BACEDD2BE6DB2B2FB34DCCDCB34116507376578CBCA105E5E443BEC0F2EF23BE34CDF862EDAB34F0FF21335E3ACD92F59688B419F824EA61EEA82BC80E3463452192377131BA51FB0795E089FC077D0ECA8012E58B0637AD7022206887FE9EC00EE5DF7AD2E26FE819EE35C7A179C579098AA3DF645D9064CD557DA90BDD21F871CEB048CA56DF9653A10ED60F5E9F0ED7F8D89BCF5C22D1143CF44718FF2DFD8E10CEF8AABB67D2305F18177C1426BD4CD03F2625E459CE905067826A214E08E56D8F9455593E6B324E72DEDCC429D3BEFE2AE0599E360DF95E80D453A3A849E48389FA745635BEDE30E7932DE6A3816E31A2217F98D5E40238963D0A36C159FD4EC32D8A5CF59D433DEF3378634AF6887FDB3F3EDB96FC8840FE1B538C329674AE810E8C8B2B46DB208716D38E9D1AEAB097068AD83ADD7DD2647839B3A7388B0615BDE26F8692E9C07D8ADECC2A875203C3D3A9C6CB1D7D06307E9E1D9C3BC536DD8EB271E9A2159C904E61E8C9357FE759F36366AEF5A3D14CEE82913CD2708AA6069369CED763C8E830D70924E82E9015C2998E86EFC1DCE6AC2EBCB49455542A6D7DAB265AD6D7381FFEEE1AA40F8FAC0659B6FB56BB03CD8CAFAACD48D13672F7D524EB9684CFED4DBB7476E99149C28EC08F33BA6AFF839AA178F86B8EEAF1739C829177BA78547AD394136AA3FAD451A11E9642506568B39668B2436610E06EA45FA11D04D3759B033B5382645F15B3C39270B81B80487643913A24F2F1C1A1ED57C85CCDDC8CD6D59B62FA67CC80572968C8FD01894F0153634C88792A7C4A407A4A4CE46CEC5FE5D2569F95A27DE242444EA0C715B357518CAEA23E767E8545983F0D3A4DF66111B4AA1D399CCAFD796D7A80E592D5A51D2B3F60B5B04F8D9C009CA56CBD4DD84127A29B72ADB7645FB7279C9818B2B43963BD605F45B6575A5E2E369E0B401F5EC10EC703F1179B0AB9D4A89D6F096573952E513827364A84D38922734137E969D8167D6959B70F42F2BDA37E4C989ABAA8024C1A84ED6BEB74780927F78B32EA736B9B2B4A795C355C0319811729D9CC399D23519730338D62E16E5035FC52A817090703FE776D65EF9FEF5BA5F4FFEC3CC8E9EB2E312C50A479BDD4E6AB0A56C18C2DF69ED408417BEE28BB41DD13F8366FF6EDA4B34090FC9BC045271 +MD = FC4E8EEF8A77598A389BD58A31C348B22C6328235A39F1F097C06D189DFE08658B89C16D9B26A43D17A25F1B4007852CED212856059D8B5EB42EF6066C845850 + +Len = 31280 +Msg = D1FA123C468D0052C58C93BF306C7C1DC90968ECCAC6B0C2F4E3ECC3F908F2BE6A54AB69AEC5C496D291D0263243BF1827773DBFFC02A9D5FBF7AFF63DA5355D5869F492B0CAE82B229A36331DFA642557C6F6627FFB0995E593DF8E0FBD3ABE66126B7E5DA1F1891BD28873FD9C96C0076215B60548075D16CDA92A2B99EAE5776F6D1E7AE2D8CA30546BD33271D50A6FD34B23809534AE6E4A875D6981492F23752A68D1E870D174A021FF8C550E01993E3DC3358274E4DA2B45C000C43FAC307D82EE2B5D42A6D9849C11A8A5676605B7B3C45220BFA5BFC7118E2487DA143DF0797870303C185C9233AF63F447CE53D8199B986ABA367735FD745F84F8D94BA0C1A08DB280D860BF656EE871AD1094FCB41C7BFBF0FBE0959A31B3ED573498AD35026694ABFB90684B35BE284B18D4B663CB2EA5DE1A88E2947BE8012858C57AD8601CFD1744573F79906849B4A5552AA87D5E64C21A054A7FD31B7EFE2A5E401553463FDDB881355FD94C9EF7F6F9E3DA4CD845EE16DB2D1A7D4E31C9E8B42C0EE5D30296A606B00AAD9EA09509208188D4A15B328EF7564C2E36FE79C06E466AF598EB64280F0019A3AC81B18FA254B0B79D7B80ECDC9ADA3DD3D13F1899CD3EEB6CEBDACC7F69E6ED02B2550EB3C76E1774E189661BF791AB8842A92D86AF9489771D1D6FE8302BE395D6750EBBFB1ED7237C2C97AB655C7A6C7157A5EA5C51036ACD9F1C031277A90450BDBAB5D4A9B36DA52A6EF7865BD0B5571F228D5D61D15A01C36C3A7D2F133F04D0A17255271A1FA0BC7CD60A85BFF17EFE1D49A24D7E87807F67A01358B7CED01A112D8B71A6DD70518BF6AA8B65A5D510E6F5084F5ECAEF108F6E6564032AD9259E8406076B9348CE337005FA4B205F47736A79693C7E963635EA634CA67B9749A098B299879973CA9CB355B1080DE5A9054C7F39C158AAE4E25BF72C0547FDA9F66A234AC3E2DF8DD22752AE66D26FDB32515B9E9239D1B583A314AE231DBDCE9013DA4F98213CD6AB9F42582F62D639E20CD183560F341007C600B2E01233098FC61A50C27D949822C6F99FDA51AD788BAE101CC379B48AC8CFAC3B5DF81C9F7B4E1E0353F7F10AB340157FC7A8F92FFC43D31F24B498B381C7B20BF0A31B74C45627B9E9858D8479AF5977782A5FA88D258EBCE97E6D0FA0971DBFCAB6AFBB3011F9CC24D8C4E3DB57698E299F6793741810E2A94295D0D91F3F769F184DA2FFFCA771A148728A2F95237B77864DEA20D80E09E7A0A36637062800065ACF15572355BEA8DFE27509F4A757079BEA6D6DF3429353AAEB7777A143E3ED1A20DE487162F6666BA5D27EB9D350D6A5C724BF19A1D058ACDEF126F6008EBCD192516FB0D4797DD5FD3216A9CDCD2EE24A2C40BB2CBFF75CC59DB2E3CDD8DF4E0B36A670952B07871A0299EEDA9377E8296AD3788C78728DE71D31241F20C2B2046928CA2751BEBD10BC0C455F49F30D7AD979B0D86B66A55429853AAB62575F9219483603924B4D39935489E8B2AD6E105B8D11E74785FEA9D1A9377D189BA290CD414F57ED67137523A355F90C9FF5FF2CB760D4A31FAA2F1C478F9547FE4C4B0B1CBBD71B690FB3EEAEF87A53EAA1EB6526B7488963FB64D17B37BB387105E39969DBABCD79EC28DFFB5A61A1101B34C14202BD0EC1CF800E21D695ABABA494431DDAA20D88ED7501AD360F9B6ED41B4CCDD0FB5778CF53D7C18C36C4BA783E68B9B0D26C7BBCB3B2A015BB1E2FB51FA9C323C08A7251E48F140A4E519B1C389E0FE4A87B9D65B8D91A2081405F05D01F71024A56BA89550A418BFAC2863928BC870413CEDE1411F0D7C3E77C760B76E0D94F7D9ADEDABE9E4A632B6A1FB5CCBF8EB2CFE772FC31DC0D1BA63ADEF21CAEBF846418C6ADF2E474EDB4A0207271C326F14D20C0B95E1AF7D86331F0D4F792D7545874F550892B3E081FCFAC6074E172F8826E04F289201420F064FF3C53AC7B9A15A291E878B590B3F47F53E6CCBBA897653D6FF4C6CBFAC90CB8666C86DFCA4D554D8B87AD1ED5BD39411EA35A417A51F9119B630904BE6575AA257BE54716A788922972CFDC5A5BCB4B6054532AAB913E7D8B0F5A450180A3E7DEEF61BB0815120D7869086291C3F3DFB71014BC66E3D5C8854B52E800C8F64765C4089E482012550E2377104F93AE57F047A35C0DB243BDC7E1846BA0D0EB42AAF97742984D2637C2F2BEFA40213900C3AF5A758F85FD4342F9FC0B3821FF97B5302332DB2DDEB688C8572691AAC5AFD777C5AC88200993D3EF100A5F95B51AA92881ACAA5FAF68E6134221391C04A88C7C07CB39D07D5A245AEE0D63395018C0C8E1D45BB640220C2F993831DCE2597133C87014D12F5CED521AA45273F7434DA8ACCA2FE35A26FEEDCF701AF1328E4C2358BF74513CDFBB6A0864EA9670C281C5E7C51E26F3DE15649985DE90ABBCFC2D85C26886F0A0C33C8FD74E33122C42012F1C5ECDD01FF96FD75C6B067C60F2501088E2C8C2530A0191C17A113B38240345414569B3B80F8DB755DC3362C52DD1D36C06D02442C3AFD24058343F9CFC6931CCA0442D3CA2CCC84C6267C42CC85F4D6BB78F34DF54D4E20205D7C379D924C649AC7EA8FC127B7EE288064B2B69FA95C93F0E0DF1E863C590E2069A0998A3C2B99C95B690B5F7014F401BEFAA835CFB414CCA8A5B7CD027E52AE3ACD21B618B6C9D1E240E5DA3A5F9D2EF4F9AAE6B3224070FC41C130251D93E8E4A9452A3A2ACE2E919B6CBE248A3EAB6479FFE4ACC55EAF54DADA9A84130CD6BBB0BE41637558A170982EAE9A88853FCBFA6CB076841A8E36E8824D21AD2E3AD1D7F829A5B13296B15D0053BDD521D7D15E76B356D62F02EE20EB78D04838AF7E4B084B0D2575EDE7DE2130C5472D8EB1839C19FDE06D7E77BACFAE1058A0A19EEC6485485D401A70A8920290AEE1D0F36C67324A6D87D3B9628FF69479AEA4740AB9F2563895D418F9A5F04C67CB4529115146629CADF3C1949B3AFF50E8976003688A376C5E889AA0B764027335FD8174F648C3E072CF4618FF2C2189521056C03BC2E530FB89B391CC5627964A6555E8CCF102D628CF1B3EF1C32499013CC37D81A0E8E3E033FACF41C1295F3F8ABE317D1CF1D2B1C5FB891E197CCA3422522A4B68C6481D4C74556E05E06D0E45BE294E910632B747F3FB34FE5D3AC012690D9E3B7A4338FD58818E622AE7F71DD90A34081496215D8F224252C50CB1BBFAA08810FB6B4D0DA50D007AD6D5309E5C0E27FD91B8B343746B6CBED1083F91523A7B51B9046737F7114F507BD7668835CE2EAE7398617E3F298F5B8B38966A9BDB3BEB342EEFBE61368DD8302747C682B83C3AD4E184A5F8DA2CCC4F7EE99A33156274D97134126B0B89627D811BF07F7683E840C51F15B711D1DB0C3C41BE989E0F156A5B948DBFFC19B4047A7D93C9D9A22DCDF0C14897B5CF29D03CD426C62E6014EE396C11483EEE85A2D3212387B5C48DF8252B21DB40AEC9F8A2A1AD8A55BAF263812094E9C81D5C18FE1FB56593E51888C8A0272EA2F8189782F462783BC996541B86EEE4F7BE53D535B4E85DD786BD982C5D494EA017CBF354617D219A495E6448B00992DF83C94FABB3567E75220705BC449C2367C118C76EF7482C9AB77A1E0AFCD3DAE4DBF0B211AD79EF141217DB599F4F74557B9333629A11AB482EC3D7050D95AE052F3E1F814F630E9809B87046D1CC408076B5CDDDB90A389F8EB3FDF64FC7DD71E6C0D5D6C2C2C507622A387C5A3AE60A6D723DFCCCD1B6A08B40CAE54D6FA519B5897497E0B972BFA1966CE2A3DB3FEFC41AB3393171BA46BAC2FA93AE3613CE88273AB92921F4CF8A5840CCE3F3B3C41622EDA57E33B436FF8108268E358CFE0AA72FD0D2AD5576712195F6336293BB3067ED389D69B8618DFEAA8CB1D12B43B370B17D29EC2035EE9348D69F0E64DFFD8096168F6CF020661E72BF64FA0D03E0602750A7DA0DAF4A4ED909BCF170E76EAB0889FF15D84E9F8233B3C57B34084BFBE7732500A4034BFF241AE4B89F9BCB2BE60715C14D3B2F5F8E3C9B9C7F7EB11E6B0EBE70C9B63571ABDD5A10A86C8F9C2EB64F7075EA1F0BC02573BF83C3AF68CA831E16F5F40E558AE0557DE3B046D5418A10B9E230CCD22D4CADD50CC912DF9A42AF82EC97C91AACF027240F95B19FAE3DDD36EAEB11FA79C6C17BC6A43796151700F587B64CF3A2ED521B22E36C8259DAD86DE55F46EB665AC0CE9C59D91D5310369F88754CCB1484F4999B9DBE31A9085C5D8AC64B624904A63DF3D1DAB994E0A845365CC6DAAF47633F32A929AC74B9E8A76F4091DA80E49F3AAEBBA70544D1705B60E408055F07E3CC71F0D2CEA3B4B16D5995A6A9F476466765BEDB2BD44F97D45858D1403C6348884AC7163AEB21364534D8C19B0796CCB507D9441F6266725FDB340AC1159D7C63ED0C5AB42DAA9918C0A3DAB2FA70F84D499ACDBAC62F74201302D6E2B854E37B1C790196E878ADC03C001F006D2196C285FE5001FE395795D843B2AEE6F7D6C22ACC3A42307F5F3FFA861E996F169318248C3C41BF9D1A51BDBCF5A33A79815063E07CDF5A0C4676EC96AB576D27E117B3DFF7A2F1DD219A1F1B1637A64F38B122D60B9501BBE3639CB76D8E746165EBBEBB90692461B61086EAE6F6F5AA5E0053D84B6FCA8147D976DE801B11B306C1A506110C6A8B0FF62236889718B18B5507CC2ED073F1AC48AD1DB1AA771295634272F338323AE5DC1FB19B937D891EFE2E960B17D343E38F2F208D4B8CE21F25FE87B5F12038EC57E29C7407914473E96C3654162E5DFAB9939A011BAACCE48010898F1157740780946B67E5A44D49240B1A694F679CD689E720B0381ADC691C8B24DE8EA99A4C739FD5A82C06CE12C9DF334E91C63B48CB833CD0E57D2435FBE1A6083278AAF574E2C0B706A27625FB4934E139163006FF91319773E996E08E91E0BBF55779971D458241CC27B4ADB43F3C52533F4A61365956F496332AF91A4B50C21365C5DA82FEAFC6ED819545C23E3153020B86471563AF40143A9213658EAB2321F5667A85DE88D6AD77D3ACC205D130DB4D88901E92F6CC8386A60CDBE8C604D2C577939B44F6B6E8DB738033084F84990932A21F8FF91A09A28BA1173B2DDB32422C999EB42AFEA02172A1451BD9070E281885024BBBE7008E340881BB2CD61EB36B6DD4AA3883A79B8399ACB8656D0DFD7520063FF1FF95A62376C1C99ADF2DCDF0E62E06FDD1C23E8B4B25DAAC31791EC772DC96EC1E8CCC4FB5455357DD6C32682B27FC929E5F28CAF9FD9EBFED73A13B0D74D9D47480DBC7D9550078B25492C9E2D3E3F5A86F58F0AD35744EDF214E3F810075E77BE797DE0862D4B3E771406F6007F7C29426C16FB3CC5483498646FDDE644C5542B28371019EFEFE50F29B2479CC68E7C40D681D8E496356D71BE30798897AE496416D7A3AB9751CFEBB143E00C036C542F79F69F051887E42984954EA5844DADF56B9BBD19E8D20CB9A4EA +MD = 1E6325EE0E57FC9297ED58D35CA29EB06B034FC337A0AD0B453AF76776C59FC9A115AE1C3DF91B02583281AFF83BFF918F63B10D9822250FC4E297B10772E181 + +Len = 31784 +Msg = 03978FA9DBF1EF4BEACB8F58D4C82E29177093520CDD8F3AF019FD34EE23B58966BD793D8783AE53B4D00238B833EB41D72A616903A1C4D9720B066745CE4CB320967F9BEED566903E1DB3C3124B64072CE048D2FC4C1238F909E152F46178AD0D597299323F58436BA3E15627BDF962343F862C766379260994B71B4A5A8F54B90B0C5A6B6B6B5C3C54BB7E4112EB7C86C4A66B73C3A010A57232FDC79AF02BEAFDCB9799EFD434A9883CDB7342BC29BFB176D2C667F6556AB415F54821CAC1D756A1C3300D8E663B2418A6443ED47965B05E2F2DDF339DAEF0378315AA0C55AFD9C416BADFE090E516A1326119A97BB8421A67AAD2051CAACE47122A86DC092383EB35BAE836676A238DF813E6013AF9420371E7CA95C9DA9E77202A74B0240BD97412B7B7BD1314F2EAE0F1BE897D7DDAE8CB96CD77887589F66A9068734F9C0FF7778AB45C1A59EC7DE35E6AB5FD6FA0FE055474CDF0CD1F27CCA435A66291DF8C1DB231E1AD3B38ECD9271259C770C69ED3622A869089CB917692F5FE05BEDA10D6765B15FDF9AB0A1F5D209CB5766842A06F6D8A298AD01B735FA4FD6300E46B0F54C9BF47089274DCB5DCD0D14CAD04ECE24A97196AE51176D4E1024487C075C8853C9FAF36291B9AB7B8853E366C9079544C528E103AD509C2A486050153F606273B7252691E83BE3EF689D37E7048396C175C7E83A5A2D45BB48FD867B01695636E3813914A7715ADA04CAD838DD98D9448935C004C8A905CAB06B4D6B3162354531E8AA74BC58F657070ED5F10E8559A5B52C3EE34441A0003D849AFE0E6D6399D79A6B6B06358119BB8F658685EEAE9A392A6E8D558F342EAF86B1C833218E0DE3D4E69AD825C1DBB966E9E13812B6416D9CCF03650F1FA85982EB37CB926E472634234F94BE6B227E03AB27A60B89C760F8A9B8C9AE8DAB4317627644AA2B1CA9966C446DD597DA367A63A30B1E3D44D1079598F235574202CA6F64EAD0DB6E0D1402097866B147430BEB0C6EC3EBDD02B42610410CECC3CEDA09C9CCCFAD4BA95C32F266B8486843FF7C854BB8D0E44E177CA294DEA15F6A865266343CA1144A7D30BBF48B0B4B4FB48EE2BFA531E2379F97E5D785F7FDC24270E981F8DE2DD045B36D6B2CE12AB7909C6CF2856550D600CA99422905C36179C61876E5C763324522527A2BAE8B6ACF35422583C881BE74D943DFACC1C25DF0B16DE5EF8FD434FC3396FDF0DCF272ABA5516A8221C29F01D7DC0CE3858F1C556DBAA8E5016FCF8A4E2BE7B7DEB5D388D617397D67BB798C75D7FD699A7CCF1E40192D636C1AB19CFD6297466B7067D2C434DC1FCA9215113A2C8CAACEF0E294282347C650E41E376CCFC3D883EBE1A6096FCD274FE72D408AAEF73CDDFE8573586A676A942A80DDFD2ABD860B1D6E6E77E65646676940750C091C0AA3710E3E3EC5104CCE4BF7C65CB32CB168E0AF7F63852BF6E40D67619C0A5769ACC963BEDA482A060B9D6E1F51B7F244B4E0032E1A6093A89B4BA1AB9FC076F25D1E55F6493F3DACB5B9A6E61BFD62967ED304518393D3D3DC5075469952368257851FC78C85A2039AB204FFCFEC5F140B4AC999021E53C49C0B5B7B9F95907CB6BBEEF40088AC80F4A2CAAAB8105CA5A04123AB4D83A1FA1E7738AD2590E0838556322020BFD5D603529435FBDBB951B76AAE8A9D63E68BA0779F197D9E50FA31D112A5CE4AFDE8F1FEC94412DF44D78C9885FF678140FD636AD28D9028A6E193B5DB85669D85D13FA7FF5B9294A0423B3DBCE88454BA6C6386149B471E5E20E5C39F5FE85869D0B23521DFF667E5744C2E0C273A9DB06405E95346A94C3A94059C9C7A23BEA476FC1AFBF91C00718B844BA4F3AF815896ECDCB58124D1D0218F292B65D152407975423332A8FA7676ADD341D4BB8F81086C417AA489C4125727F42CF52DF3164EA72886CB8CABB7872E3898CC557EFA6BE5F7431E99CCDCC2E087494DA483751F961ED7B60F5E7F93E10287D686DDEC675071F5DC0BADD6F4FFF07CB27D251FA41582A4F708ED9BD77662096E0F2BE33C4375BB51A051709C4F41026EC22D9759A829D654F166DA6BC158D076E753F6C004F3F2EA5562CB65ABC5D532BD3D782F9CE9C6006A0EBB8F09EEAF4FAE40A777081BCA82110CA6D3FE25B56589BBECB52DA668B22F5FA38E1684F1868CAF018E49DBA28C45DB86FD70921AAFA4E56B589A01AFEBDDAB78436C050A4DBF26AA82B7618AE1B2EAC7FD10D2D3C974531760AC0ED2AB4F1D42D92B0E445F32A6FA697ECBA299FD061A29A848EC636E0B7F00E6310208F9D21D229CCA2505528AD91DD22E4EEF4E723314CAC648C26CC85A9F68008763838025BE8AA598F1E43331C3496095BC0C5E0399EE1CC56AAF88AEF50716B37EB156FCBBE1B10C21BA301158E422D63116D7DB8C6935701FA7B3C2ACE9968A81F9063EACCE5794A255DD50A412D68A4D1DD12189DA612C293AA9A4756ADB25B585452E6F38479D63BFFABE4E87EC43956684693025FF59087423C09E8DF4BC204F89AA9C0769B32A7004DBE9F4521B993CA92945731CAC800EAE738FB17432BEE22A931952D7A9342E049E5C42207EBA15927BF1630E03A02AEF6DFE2F40D5A45F771000213F64CC07DCA61C5B2A68DFB38E42BC08BF3B64C146ED3C291E5B94F09EDE90D6C9C6FFE752AAD17F9777AA86BF1A6B5C4876CEA631E13443C00700F93B4F7972AA7FA21173E7170DE5F3E3B7F6F755BAEEEC9D880155A640BE61267CEB05CEA102C944AA45C6D4023EA258737DD752A44B27E2B5C16906156A774DD40D47D13E221C27EFFB4CCE100B3EB5429FF115B27006E338F5FDF663BDC90694D3253C11A24BCE40503BB04917EA4FE22BA5E8D87837C344C2FB17EAC5487AA7372EC202A6BC81D80DEC352CD090C040F1AD33859C02B7E21381BEA28FF0E971D52D9006424EEDD72A92951DA1FE3C48B45D51BE8430A99C9CA159093DDA75CE2FA8ACD7E06A31A1CD3A60FE33A241B9A649FF553333B9C9CD70380B494A731478698D833B89DEB3AD79C5FA80ED8BB03AD1D42F2C8D2FE4C457A019BE95F267080B32038E55A57E48D58044ACC691DAB6D7E17BC629E78EF7879BE8D398C77C115F4547F32B1CFA181AFF8F3DFC66C6E9A754B64BA932E700127476C590401454496F62742B85C17687140E13222512C369FA0825C07D26E5F01A774FF7A755D4CF17FD7F21DED83A9FEE43ECB42D4498AB1C3A937AAE69219FCC7C20780CC5AE86F969FAA067BCA9C6C3C7C866DA50CD1CEB255D104A314D9506957782FCDF1DBE03945C36D38A43202D7B34441B82E61E72AD401355FAE7557EFEE0BB6A90760EE54CC50E39A844E8F037FC9CAC0B055F71DCEA1AAFBA7F0E770E61EC8370159F8340C6FCB1F37270E4A71CF1110B7DA399FEF7E4604FE7BC41C71F366A451B4CB53CF4569C8C9A8A19897A40BE96A92EE6BC888E8585832DC4FEAB31A40743237BFB0A346EA90ACD848CC648B9F844C606C018816CA0DCC189036A2CFFF0C41891BD4C32606D87D67A6EA61754A150BBA6FFF9A0E57414A0B91CFD087955AAE7BC4FDA95A4499FEDE1B4D844AE057045ADB7C86B72DE4B25FAC0995EFFB5CFAB372AD895796F9873F5B0B954583ED815B4523B3B5A140A2DDB7A5AA2B61AD8D06BB70EFAD3EA237F6606A5DBCB88F46DD75AC8432039090AE2458672DB7800A7514A226516F41CCFD08A1F0720A77E5FC016B1B927B828784E421C0C9E04C45A79C2E8DB16E7A4E092D73C5124D2BD1463813C79581AB468E2D37DF3925189833F8B372838A9F89AEC3587E2B19044C095107ACD435B9340FA49ADF11F105D2C87B9F5AB62E382EB569D79CD8678A5B1A1F7D00F38031694EE6AAED223BA123E8822BE1181A7BBCE5DC90F8DF9E3FBAF96E4D82B388889F2BCACDD81ABD5B777D78CAB2EACA14CA97281603E5FD0C6708CC9E223D045EE2D1994B5DEE248390FA01CB4047473312F14293BD9F574535015A5FD0D16FACE6B0F88FFC949AB458A2C40FC9806401BC5E917EAFC56A8DB323C1FBE6A57CEEF5E638288C0917F0BE1B8D718BC0E7B2B96E461EDEC2D0C53B481845BD906A972336DB93DB6499D27B9B2A5CADCBC94DC093B8B11C9D8BF06330D15A223236D6E167CEA457C46B02BEF94A936E0BB98E14C8944C053DFCD7A243E748709A1C625A38EB156D943F12917AA077DBFA57B24E26C284509D534C1451F425D5D25456787F97401213374EF77D6C86BE8E0D311543B15CE7E42A152FFD10303B50046BE07464C9B99B51018A42062054DD7654193E81A05909CA7BB28C617F064F9936C0D3590882F0C26BA89FE6D2B2F50B3C67DA8CFCDCDEA6E600CDB6B09FB3C170979BC9B1ABFF44EB22E66E74FCE4FFB6E5B373F2F10B0CA5EE4C621F21F7A6F863FA739172C135566B55916F0BCC6EE4CF0D35B160AC8A1556E4327199DBF53682471BAEF09FAB7ABEDF518427BAFF19F29429C2DFD9587843D5CED12272A80B17A5FBDB1EF77A510CFFE70B7AB6F592763418AF4CB555C080D9196BD8951A2047046D8E1ED60A67DC63E01294E734CD77F430AE771E72A29A9A15F0DC10A40B18729173A54B62CCF0CBB5B68604431661B613DEEBC200D0F19F142B8550ECF256DCB2233069BCA839365EB8BA87204F83A8FCA237B11F1ADA6C44EAF2AAEBB1B8B5FAEEBD2EFAFC0764175AAF9A9A9620F533C26CC237B208AD6789CA6F60B39FD5A0E07AD582F70111C25616D0A3466769B3E945FA23DCFC7255C03AAD09977EBCB046707B6AAE59EA803CB56D223816F006B3EF06FB67787BB09F41A6B41D6FAD04ADE014434E3CDE87F5CFE8F14D9822D990745B26A6C0BD49A70D340C6288C133EE43A1B22BB1FFC3948F1FB03047CF6EA604067D33D00F3A1C88CA529B7B515F3FECAA3BF1CF5686E50E55A2C3E4176E7B0280132A8F21698137745A3CF2B5D6D32EC91E340CDB6328ABECC4364F3285D1FB9DD502C1D3A84F47EE09440899094AE539710CEF433F066D3055A466FC9BF5803BF92BC65CB5E0B1ABB4985EF85B00A3AFAB4F8F59352ECD7E8550BF46B4D9AAABE858766751EF9A99889083A2AD6FC178D6B142E1D9E002E07430F27CADF6481683264B1F6629F9E186A16C48286257D3B35427D765A12E918CED157CB1E5745713B0ECCBE529C7B304CE7E67CEB5431B832019995F89DFFDC96CF6550FE056AAD875C8D37099EDF82D1DF1026D605CD939985C372F4E95B6AEE386779527F79AFC24E18750A4EF0A93E1E315C09F785C3100FB43E44D6248BB7BCBCD29A7B46BA9BECA5947ECA2F5D7FD12F588AA30E2424FDF0F202000C678C9AE598345D6AACE4E29F85731B775CB49E7517E38104B7B287DC3A490C2E30D3E35AEB1E6D35D2ABC8D450D07463E3E46B908126DC831F624EA010E0E2FF87D7F4793C8F075215C29D45396F4A65D490DC1C2902BABEF3AB1D2FF8C9A24D9C5956C9A925C7B88703C7BB8E2C6F3A1BD6FC5EA0ACB4EC669C0FC03E974389187D97F49D2A6643DDBE1B1AA9CD2335A90741EA0BD044DA6FD28E78D35992B5B1A851F2CF5D9353A052CBF1E57B9782AB3620053C89D +MD = 2CB3F8E2D3227D3213931C0CD45406ED0ECE373E93A574618D5B6CFDC31A756FFFE80EFACFF93A708EE72B76BC8EA0AB40BF533E442110284343721B43C1A17E + +Len = 32288 +Msg = 09A96A0112B823C2212ABA52EEA13C48CAE3F5E08883453E2085A803EA852A9D6AE075392BBD8FCEC567A1524AA65C70C3EE1722AA079AFD41696CC5391F529299C71E99B0E08E411D3E1E05C43E979CE10AC9C2EA80CBF4B58371273C3D3A8DF48E2DE7F50560FFED25F6E65E9D96CBB379573BDBDD2859D13F866EBF3AF488C6D2E36505A70D81AFD07E321157795CDF40C1885DBAEBF3D4E425EB4CE0CFD6CA5019C8DFD54BC2A30095B312AF4548B9ACEBB6A207AD3BCA29F4DA443AFC7FA789AADBD65C9D45AF71594B790FDF84D9235933EE96FFD83D1A1DAC8C1F3C2BAFE668B8EA5C9649D1D8DAF2806F0519448A97AF1104DBA3FB05CC46D33FA0112DD0922CF1AC84D4A343F1AE597930042AFF6DAA75011BE4B18ACB257D889A80F0C3D4094EF7295ED4E8C2F1E2B8F56EDBC9B831333677A4E6CF6110218B23523EEEE1E024B6398D1CC572DF7AA103CF7F50FA488E19936D20393A55843C042B275B78CAA9EEFC77C44437C375D4D1100BC486FCB0D250526086EBD4D2D38FBC8E3E55F9262B4BE5E6CE6AA3164DC04D7FB12BE70AF6861AE0C21A04468339D335BE15F6A77A8BB84CA4BBE94B0782241500B595FD671B30DC6C26317DB3AF8DB1214B144FC42FE936771469D3838E41C16EACA8B44A5915D1CB4550A451BE5F0673FFE846F6A22BBD194C8870193E1B68459B0593930E178B765D5C19B0F9D65B1E25D60B727E50EE4C39D1B898CEA9C8E95E40110E40DDF882A7C89303BF1B6AF90506E4709A7916F207BEECB850C9E227C9557536138594513043FEBE778C471DFF08ED2ED7F8A54952F6F52422AEE3240EEF81D34CBBE47C0CC59A239D7AD75852CF62473FDFA9C723FEC82C384D06F2320C8C3E5A1483D9B573AEE03FE0F85087087B896A569D9A07B02A387EE09ED6B7C8D6C0ECA76EA61301791C9F835E5CADD14862393A698DB23577A68EFFDB68076FD8A0E7BBE9D93098E73F5A174CE406441DF48B969B4D2502EBBBD9937856777D6F13852D9AD3A39702BD556009082DC207C442D327EB33A24F18DC56428B181C7B4405D0B2720B8C4C62417AB9F9DA5566BD85FB7FC567F542D05111842DE09114D27A382F009BF737EA2D8D8E4F0900A0DEBA080CE6B0FD7F0ECB3F81791717EB121176412E7CA618735BB065A659B689A18069B2C43B00EBDE9DE272106E180EEA446242F7889E50920EE5DA2B7026965B6DFCF4239ED8EC7F7363903F10EF6CD80D76CB42298E913C829B66CE1A5B18047EF06FAD79DE360908065E3A0F61AAE3347A1D7601188DCFD62C56D67573EE4550D6269FF7181CADCF84059749C8A4AC1A46746FFCAB7CBFA1840E5990483795452EF93075C92A4D115ECA32EBE5EF0211764AC8F6D61EA5A75530508A8724CD118462CA6CE37E85E337E312C60E43342497A9C50C05B38A6D5C253E1C001538B43D1312A369D8301544CC24B3BF3089C5D119AFE9979430223191ADDE6B68135B5D8AD5CE4A808580BB1C34F650EB63EEF3D592BBC45BB7F2DE9ACF2D4BC2820EC1AA765F35FCB3F71D862AAA1156D0838EF06241914AA4B8632733B823ACA5801BD281D127238676380DD88E9BE0D6DDD0AC7E87CDC175A24343B752A46AFEECAC7561766BC33DE4363DDF07F43E9BC4A1EC5F0FE36F40C3001F1647058131629E2CCAF056B381FC3B576D8DD072B8B2AB0D251B9060A9F76B3D99F2D0EBF65781B9511DE31027D8286299DE9FBC9C1C28BE2E4DF9CE8240852FE042D572236AC54B42B690D25ADF27C26A96D0FD048F1D11299636B55631D378826370AF97D76E402CF49CA5687C17E2F8BBEA0ED83535535566D65F0C6F7B2D887DCD391DF0E9CEB27BC0A8A33039CDCA515C886D890D69A389AF7BCB9C9E58DE0636441397A53AF09A447BFFD49BEF7287AAD01A1827FCB8641F9BCB7642952D7E19448C4E88DC5ABB28E24BFEAC16BBCB9F8E9962F532B428CCF86EF635697E179EA3283879E9375FFDD4DD9986CF862170D3D8574340420B43512D5A368CF338B732EF447A669C511466DF0DDD9E5E26A19A2ADFB17CFC593570F6C6775D70319E4DCDC4BEAF70AC768E7837FEF94C785EB54B1A6C164E09FE88791B3DB6D1BCFA4EC170A3695FBC21C9AD1942D3A483CBD433D3FCC899F12BB9CF788666C0658CFDEA7F29D5CAFBF3B16B3ED95E52AE21E599E6354D65305D073DE34B677CFD9F0FF0CCEF956BF561043E0DB96762C3B9365247C151CD0607551BF8D781E0CE84D23EF7B6A3B67B698CF3EDC2DB9D968174C0A26010FA7FCCC5F87E8B25D12463392BBC404B22E046B53D183A6861F6677108484FE59E41077BCF6C3759663112BA951014F40952D29A159BA3F838A8CED3707E45E0837DC62D0576A6DD12F3C75CF902636DF5FBBDCD9B19037E69091B26082B7DE2EDC1EC5BC218EA760C4B534AAF352252043DC5B4ADA60A9DEE3218F18DE60BC654A90D82430567F0C591C7219042180FC8440B5E422A4BCAAF92553BA86B149C7D5E761390C52EE0139000595E1712938030F387BC886C7E66BB11F74A6CCB5CA93099DE06A0665A1A99E146E480FD80D7ED360E95FB3B2B08BC2354DFD56BFD4031538F438AC102B73472DFF3DDC93BBEC4F9987DCA8DF79115892A004E86F4FE8E76BEC145A19C013630DE218B3AE3C325DD622DBF17897D68833B43E8708349680AD1836044F09D0A36A00ABBFB9EB9B9FBC39EB71DEFED6B2B86F4B85091A2A1C6141A2D74A8B2F11E7CF4B5BD0A7605F43B752F1FE2B5529BC0B913B5981149F8E3E23808193741F152D77A1018498B0459820A8E6EB661B63325D41EA2E80D071417816551272EDB519DF379E5CB0730ED933597E0D62858275390331BB048D21F753FA50262FE9ED6FF00F54FC0752DB016A3F5F8DC4114DFB760E8E9E17A3B876CB7FBC3F443843A9DF4626740BD0C511BFFFE4F7849C77EA64857C489C204DA3FBF6C08ACDD705D7524245BD23E3767C6587B0A70743AABDA3434F0969D007BBFDD27968C4E7FBBAB2621EC26FC28FA984A0E7513C548F5BE67BAE139098873932BD651FA85F8978F8A52CA1111C354AAF07728A1A4D8E8BC45CDFB174FD8CFFDB8B23CEE7CB7C7CF2CA590B93C4EEB403123B2E10293021A737B2146B21327C0F2FFB59176D1B26DD3A1B7DFE3467613207426B3253FB61B0E42969E5F6F01A102699083010D5F53F10C36F0C69EF73B350B144FD295063B19770552CB2B06F215CD5F308658DD34C12E66EBF3A48DF9C81EA40A728A035E4D20AE4172A6556D3CD5DA109E0D2C5C40F58F104BE11509282B67826831A9560584466A93860731C3F88A293685F658C15D4E3A12B38EF63A4A175F74541F0AAC499E3916A5C7FA3A2B3085CFEDA45939C319B39F887705B9F089C90FA38D6269F04756152D6B58FC22AE8A16D1F093548019E9EAFD24323AEDC65FB80FB9A9950F96B9AA56886A9695BBAFA19A9DF70A97EB73729915AF4433D38A2ECEA40ECE0DA71C0EAEBB61D5C906815135882932B2442901DD719BFB3386DCB45746FC7603E1B57C3032D54AF98A528F3D2F8D801026CAF94FFC0A95258F28AF7BFA05A6CDC6DBC84DAD9F7FA520A708EE18E6ACB316235479C49CE5B8F0D896EEE70293F822FE85E9D15B5F4511CB2E5C4926D9EFC11FF931B465609532D3F78ACCB08B3C2597AAD082852238F24DE905D433484D041C9C90E1F9BDD14524EF593ADAC25B0EAA59F5D0223DE157DD2AEF4364227FCEFC25DC1E98785C40B8F491DBE834713C9C9E8CCB72133351C8AAC3625A3337D637C264D9AB02DE30D78A7AA54891EA52C96E7F061AFA558F5F661D8752F54DBEE025A68B72E205ECB2D14EE84C7DFFCAAD8F2829F21B778D85BA3C590394AD4DE39587D40EAB0915A3C7E7BC89BFCC7566D1F44D250FC3DCA327E7DFD2DC7E04C01C5773B7DEEE558106A3A4D7BDA8347C8F5C11500551345E963A34FADE1AADA6F88B7F73C3206173C5B5A831CB308AA338DEC57F0BB4D0D43B09880E2E150D438DBA83AB9F49B4C3B812386DD2E11FE992B32DDEB5F0B3F2F100D989A6482BF705E190E8201B614AFB5BA6736D0EC81DBB35778E65653F38F49694B85B0E78202C3F805FEDBF6EC5795F93966DB9656066944BC2E52C10A5DCFF5BA68F008C40E6C801D16EDD033512B2F2F5E51F3B49C415EEADAE4F878FA44B3AA6965BA6B7A118297FE5993C9A3EFC22DD57369CE8FF709D835C977874ADFEF7D8D252D1E8F6F5AD548D8D14D89C72F2294F954C6CE353D0C3F43A76BC5E3BA7C0707BF21E4A4D6EBC4B99D34506B4AB78E622BC32AAA7307DED2F55E575EAA6A601E627F09DFE02E1CF3D59D027E7AE1DBF4C1365231B724B03451E79A3512393C843EBE474D29E3EE1828B1010A746FBA2E6483A5F29336A6CF0C95E9D3B929D1FAC334D2F391BEEDE2F0DADF399805B4C039E66FC2076734DF2062A09AADC69DF10AFDEF8ED1A15B5D81041C3B0A04E1A12958627B58056FE33397BCF5EBFFF54D34FCBAD32906A5685EE8A4DD34DBEDF4DBA832F24640F090CCC21701A4B35ED37DAC3E6961EC89EA0815751D55871A13125D734EF178124AE1F593D89609D121878B3151BA96C8347B166558FBD27D4D201D76CDF4774244CEA527896874EBDAF9AF7293AFB14A4E3719D50D9C9902B92741BCFE0572D37EA11DA57298DC9F710F3D2294E48F68C47D972CD0261508482EFF8B290F52737E641B61E9926EEC020FDD74A1A0722BA534954D4CEDB3ED44EB255069708BCE9A22564F5B4990562278E2E89245C54B8278EC17C8B564157E87DD52CDC1A67D60DFDB6CC9ACE96A5BCC77CD33A10C506660548A167193A6A13FA6FBF310D803BD732A51BF85C72AAF8688979591C5D829EF4A7EEEC82017CAD0880209C4A64A0EA4BA22F40D26CD559ECEB9C879AE413D60240E26F88A7DF0557DB1E0BF938327DC4CC0664E0B40E9D0C67A431C1580635BDE040FF2079FBD5240D2DE2DB112AE4F3411D0F5908DBDAED1515163B621A66CF0F3D80AFA0E0B563F3AB81FD06117A7F21E7AE2FAA461EFCE961FEFDABCDCAE27C20F0114308BAAE0228D8490A0A840E39BC9A501C0C591CA28FBA025E145E4FFF4B432A161BD821FD862855A955035C1ADEADE98CDEDD8EC0BF0881CE6F3FB3B69501B164FAE089FF007A923F42546019844C06387B847071716B30491A50A836DF913DC2BA22D0DB14D18F848126AC124E5E9A004B5473C606AE5402357A93FBC7146324E269B6248B43CFC2291031F7202153CBC4563FBB0E6D008D6B0DAD9A02D03F33FBF8BC9207199BBC19ECA800EFAEBB5B7E1F8929846AA2CFCA4B13EE3652477FE3EEED93B63CF2508A1E540BD35250FA40F93A41AD70A4E5B547006968106531419E8DC60E423129FD627BCDF14BF0D294984BE3037D4F5CE6EB8AAC28744AA31325BB32CF85D95F04573040FAF554D87BA7E1BFD9CB37D43E2DF6A8EE09B8423F8FAA8F0744B0F383FE9AB403D5B77F8B2DA1E26E3BF20E5C195EF3415FF2DA74003B9F82D74F5A4AF4EC1F9E87E2ECF50B362990FFF432FC7A986578B0D0166175F087DC8D724FE43EA6D7A541AA7E5445B0273B41BA7818A96C28265DB7FC729FF72C8DD635269F0C35D43D8CD2A0D4ACEDF13C75130F17D65C57A9ED2D26D5A6ABE06E40CC7B78D2A554C0A2 +MD = A917F77EADC2B7A014409FD124AB380005FF9EA6DAF924540B721642C0C73D30D2403CA78BAA5B791360468DFB475A558E61E15EF712C79FA2A8D6C38341CB1B + +Len = 32792 +Msg = 0E31C80A1C41DF5F706DB8DA40DCC06E61B4D6969715EA02113E2A63663DA6AA3DF8BA755109A580446E7E94E9E33DC98EE6B119D3ABE78B3B9F990349A63DD609008FF72E2CB6710B99522021AED51B7485B7B3B89C4C5F81E0CE61B5310789556D93646D531744E6B393AA38E1ACA0D6565728560403423C5C5BF3B80B4E99BBA5FA53765A8F0B67E99BBD0F1E31929731175B49E237EEC448D08D282CA634D720CE74C55925B68F0BCF08B6493B180465CE03AB4DB3C74BEA45D245D21698E9F1CC8ED46EC4BF4AD4FFDAAAB9CA2BD75AF81780AE59610B652715A30F45812AD1075FB9051340167F69CCD01B05FDF1F4CFA36C053269B06E40D99C5CBC685DC18E266F60B23C19565776A5F76C5EA917AAB08DB863DC88C2342C7F7F0E00246B66EAFE2D3DE1384A108DF5DD5AAC8FCE8BEDBF495F065DBF4307C98B879A6B386F8A4261DAEAA00A331FD2D827E895D2FDEB840126564ED561624ABBEF25B0427FAFEFD705F56E2F362AB7410CB777591BB0126CF70E390EFBB4E7A13B0745D7EDD864E6F90E8E38B61C706E144BD50FBC6B5A5ABB810B5B82E2C0D13BC40EFC83E9E790F990D34A07A5F312E253900B57B04EB634DDFEAA537AAF8D118F1F0DB57D6E6206C0EAF94CE2D540F6EE2E2E204941848A537D868F9D95D681F0C5935881288E0D91C12DE10C3629E43E9DC43620189F44985B59427AC131B35AB4574A3CE288806B9F4CD23EE2463F3AE947FE6EEE2FD3CA9B7780E0939B615E8DCF94FF684FB41B76D25C6143C282CED5D9799EE19FCE194B047E8072B8154E9C3CEF1A34E7DFCA73D4EA1636CD8120A8483285B21AFFD02EE06EC882F74BB8ED08D011A9A17043D12C4BFE83EFC8208549E53874497741AFF8E5B8FC594191E1B92E581B1B7361EE57BD39C5B2DFD49F15C758B57DE8FD5F2D65F725804148A641A2E30A732B5932FE8CE43A212C6BE5563FEE8510E3B8A9FE21A0FFB64979180EC1D0842F612F1D58EA555F5B5C7DC82EBF2E4AE783F608A37DEA30186F558EE743C3C2D2C90D5F51269200A28455D15FD4065166AE51D5A8268793011B7777BB8DFB523C278C9A7D1F690AAF05BDF90E076B3DB87606E6575A8EC0A5C5BDA9635FDE179D40DEB4466DCD2CF2F0CE93554CA6C453B302498FDC5DFC4FE1CC717529C332C7771540B29CB3A3BABB522DCC7C0C108296893B4D90629492DECD4AF23EE8C84830FEA1482C9B9CBF0AF143AF68354EC57CDD8B3E1A503968A9691233D76B3630B18E1C79263EB05F8105D1E1070701D35CC032DBFD5B2E877212E7A11940DF6CDCA84D5CF7F7436E655716A0090D2124CB0DC6F07BD051EE9356287A9196F43B17F73D3F056DCD38CF0983F5DAE8DB939803D6866AD4F2800CF1B316CA31041EABBD59D0DF8380FCE7F3B62461A4DD6E14F9E48DC130791C04FF7C6E3E8462F38594B62B11D6B865622170B954FF9909AF29990AB4134D48D494BED3BF8F939FFBA76E3A3A8A263F75F8A1F3B219422525D8AC91948872F221F8C07987A4EE8529F71A9F2B8AE7C7A054C73F130F97A2EA8EBEAEEAC308AE9E984447573BCB295654261E09804C65D3ACCC932C32D265E8261250BC045FDB5896AB266CF3BA5B9254DD8E54112F2BFCC9F119EF4E2059A9EC0FF62B42C3DFFBA2868E4AA1C7021AC35C9AEC2CB5D133E2DB8E11CE6B2CCE87754F4DA3A40789F95EF560BC90578F50F8087F4E53444AF8C453774D998E13BCBF0CE54CBCF56958254959685979E56F0CFBEE657FAE0BDB0480907627AC2231EEDC0F78BAC28B5ABE1D20A0E428973D15E6F1296E3B0AB8761D77DC928A43AECE9CA5C502EF7466874B681085DDB5E7377E16D11EA20FD931F9BC213AE0F544AAEDEA9E4FB7F5465B94C14979F3BB231676831EE73FB7A379B789365701D6E2E2A247C1C21AE5EBF6F3EDD9C46898974B734306E70C9B5573B4D052E63F9C44396BC89C9566800A7E2A9A4C32902F799B4FF22CC9BC21F39B8A8AF4E34007CAE37ADE40CB859DECEA4D274BD11DBB2F5BA304313C66A77F7A43B5AA7DFE18BE40A9F499B95E4B825EA00BB83A0D4F11F2F62F5EA70FB817DC6C666B09BB6C919972B2A0C7BFB10C5B467492B8291A2B9820E2D8BC6E7250355E23F50662DAFEECE00CC8C0B74FE20278DDDF870DDDAF083480B1504E11B518D3F9E9933C3FF2F0CA3C423B8691683E3EA1902004AA51CD823709BB05141A8B8CFBCB4EF9F73ACA2F09716558D879418DC7B0882FAA381AACEFAAB611ECC336F36D6FD789EB734652A08BBFC61D19925067C6E5DCAC4F05BFDAB6FCF083599F2845D0429C05A616D1977004803BFFF90874514A79C0F45E4CC5B3182BE7C45A9E2F9A0DD976FE3C220542CF11CB527861CD7461E03F5335290E24C483B15DD2617B31371A6FF98CD62FD8E713F166C3954F0867DC8C3641C9CDB1A24F3A9EF270D56337537C98D3FE904CFC320D8D19A241E1540CF5CBFC5A5579C76026CDF961AE88D3224818E8EACD70AE4307B335BB759F8EB71D4A32D12F61184D91CB081737EB9EF5C36B8BD5A762B3781253403A9D621B9070EB22B77D41DB6A8B23B6B6DFFBA92B4D54D4C625FF55BA5BB0D1BF499FEE64813E762CBE9BE8A66566A5F733B0EB407CB025A0D90E6E2E8A415D9CED3217A541C28DEAFF17AB8655DB001F523FF303921337ED2EE0AEAC6070F8ADF9FFD61332ECBFD2DF68AB366751C83885367EFF7F589ECC4B7DA65103F814EBC2B399930316241323A1F5A2BFC71FCA019BF888F6D5632AC916D73A3E915D26DD11A2816A27E238568ED0BB4D2DBB13FE6B6DB57B0ED9ED500559791B01755179EA68F57FC40BC357925D114401F328BF6AFB7A3548F957EA12F76976671A8B5CC2A5B0D085ECA87CDB911D1344AA7FE02C92F10E5C86B6BD4C1FC2C6F02CCCEC98AAEB752057CB4E64434D1E0986B93E3F981D1B5835D75691CF580654B5AB3468859B214B0F3BF6A75605901A6A1EC1EF0EE0A6CE0132D28CD79E6365EC6A992F8AD730A4040C8BC2A0FEB8315A90639516B0D30DB4A66F7E7248B04FFEC3985B2A1995DF3ED58C3531675C4BA885D5A488A773DDB3E94D2982FA22A7D424414305A336171992DE01E31E7245CBD3B54D46209014921D5FBDD3077F3BFD86A3A99CF998D141C3A433E7D68AAD547C0EC99CA30F2D15FF5F26CD00F0D45F2F0461EF700A30038877004A22D54CE3F198B44AD470F20ADEAD37BD7F7482E727C1202145335488A739E688F7823254DD669DF59BFD94EC7B08C526286AABDED0EC28714E7C5C56379F5F0297E53512DD1E71DE493E463D3F4D180097B8771B5E055FC7E436C57B53365423D359EEA41496EFFC10F90B46A2204EF4CF3DAEBB60A3047866D736DA1A3553BD32A78A370AD149319EA4CDFEB9921FF920B4D6A2752E9F6396DA5F32AB8D79E717F04FF90D198D249976C081CD298159BACE7D7200E34C82D0C76A61DC0898287CA0A77E9F4D649557E0CD4C5E138DA53D30D47C5BB4CAD52677321CA0DEC309CB658F73D93D6C05726BBA1204D78CBE97BB3FB76C7B9F640D6F96170A8739F77430111711E13D9E4E734863CB39A3E366C406DE7BD0A716384E5A0EEFEE581CD16705D1745F13D56BB5053DD1866BF9CDE1AD9C462A76D882422F5C9A6025131F8B5878ADF97D32A0FD89321D62EA5F5B8BA3C3809057C4D553A391DEE75B93C8529AC498A49B52F2E3AB6BF659CDE1B210AEBC3A85EC8709E9AB6C6134081EA0B020E0B0867C72A654583B954CBCF8EF2A73CE983C2F8F0B5DB5776C16F56079239A6D7464696A182AC51855246F8DDF087FB403840FBFAF215B1C49D2E7B8CDC567431F1D00C37954DC7B40BEE9A868F2EADA29E6F0A73186C119278197AF054C7E3F88E5F696B0D4C94C1196F058FFD72722F6495F16DC41E675833DF9E4394AFBCC7A32B11CC2388E4929786865BE4178F540CA525D067F0A786BE596F10670A25FC6F2F525CAC40E7E341ADDCFCB91F069A5C2AECD7B86ED1FBEBE8E3BDBC3FE27F9042CC53BEC16198AD42230256C8386B46C4AD987EAFCB6F07E347CC7C4AB4B04EF9D20CB581245C9C102CCBA044A1884140666F38BE3E64FAC46350C4B3E983D9678845E9CFCC655A24BF89A8FD4600536D605082668612038B6255285BE6E6266C90756A3CB116931F7D7412D1725143760FEB86F4F8C4CDF1F4B06BEED0F69E3F64C5DC7975FACE5F209B4B67CEDB734C23073F9AE1D824EF849BE836F02D48AA40348221FD09E111C076E617374CC430F3120383FCEB38C42DD6F4B53E66EF6C80368E0FB96512FCB25ECBC4C2C3B99A07789E6920311DACA599DD8C9F0CA413A4BF9B9B986D9202137C9DDDD36F9B16B048268F8334AF0CFB13DCC2589007E4DDC4B34A216F7358F316EFFFF9DC33A8D5FD91A95BD433BAD8BB31D4A14D6D45F6CB5E8A8EC31180A76AA03E83AB3B2CB9A7DE0740EC7BBB55DDB5632D4BE1182E2ABE3F625923BF5B94488A00072414DEB2FBFC79444465EF10AA7EAABCC52E13F68601250F313B40D3DDE694FD935E92D04A940A8BB7D5670ED454B47725D933E64EA6485E4589F1D9E53DE5EB1C9450049F35D14BCF8C38D20BE815D5A61703F3636F6E293EA384B742A9088AE006D3ACB0A296EAD4680F3152DEB56801530D6044AA040505EA4FB656ECAE9E389A3E5040FB66490C79F26E980AF8856BCD381A53E0736A9A4BC004CEA03F127C42D3AA75A0B9D9084326F57CAF346229F818A94FDF92CF32FC3DF08080C57E2BD9342FA0E60004E9091D514C500D4C3100C73610ED989CCF5C2D40996F52E4FA469BBCEF2CE1A7B2EFB9D70DDB30B28728F7B599F503D921C59370FCAE3E07BAB4885E197261F9D0959AD49B418B2F445C02728DB039042824245CCC77542E0C0B15C73C8E01767BE6A2B0AB3709F35630225D9749E23110BC96F591B8D822491B90D7F893DC1127812181565954EE6B8122865BDB496AD533EB7481806D4BB061E18170A1DA37CB435CF356DBFA570AD4EEB26342612BC73F6E0D39CA45E0EB44CEB07E49D29E1B726712F510B68EF2975CFCFEB6561640B0F0C2EF923FC6810FA5CC5E5F7E5C2992FC7E023CCABC78B8D9F3EEABFFFF3A3C3C38D321657E595BB4E6CF104F8B59DD4491A88C96B11AA5179C3E2306305F49F813A0598037CDFA95A2449290659C8C1F1671CA688A19CA498EDA4F5771A972B234F02FA70CF198EA4222701D1F30131310F1BA4401EABC06190AC9DBC8EB1C7526D045FEE0A9CBDCB24E04464E0033123D6F8F2F24F123C5E6DFD75D943639C47A6114F8DDB7AF965B8DDA8460FDBC4B258489490E66326697404592A4AD4124E3D879DB864186279D307015D2C3ADF96E2F57160F0E4A2037D6C760C5C4C852D4000ADE51EBC6613A7B48C0AA400D0FCED3C5E47074C3B917703D2FB1B04B058ECF33FF54EFEA37495E45C9BBA1C1B26F160DE0BEEF21D26F19131041163BABFE16E4D38D83519BBC16622EF690E3FD0A61A968F06320A4454AA43883DA580A396BC65E8AF8727495CDE042A0587085399FDBDF68F77AE2BEC132D667904D1FFBFF7A2B361E67DBA5018D0D75C025D2FD77E4827448BEBA2E91C3C4F456565AABF8F9E1CAAB020A797D6B8C2C9A730FDD80F5D227EF9DAF88BB0026A9E93C3D80A1636830CE832B09B942CC6D6278CEC5E29429AA6D672F2BA0712D5A84580C154C0DF08B6032E5902353CEB6793AD9C8EC953531B4F0602EDBF3D069A070F4166F12A3AE3D3 +MD = AB2CD61771329254977D3331B3BB8B9440BA1B32360A581F44C17CC783231737AFF14EA952786B2F5CE2DBE2B276F2848B25D7BD1D84F073E5036FC7B8D08DA1 + +Len = 33296 +Msg = 61CC4D97F411D959562A0FC4109B442AFFF59BDB158415E8658F9545A4AA2BA8B64A65B0C71FDF338D2F48EE031D8B6FC2B049C2BE4F25CFB5D959C77099689B4C607A2F81C5FAFECB3290633C5E7766C2E766B4CBB1F97F8A4D61C6C55CA996C8FFEF51EF28A90C06DC75E20AFF339A28A44FC057FE51FEDE7260938E89AD74ACFE13767BCDB8D25BB890C1401C5986C6A1DDD366EB5EDCA55EC9B65C1014DEA47597DAB811446ED3C7A3571BC77D1E3E97CAC5608C43CD032C63455406EA98B311688F11A0792A0B8E65FF804526638A730EF25A6F4A7B1892DE226B6FA40B65E4FEF5387AC4EEDA6EECCF155712E7536C1A4AAAD5F78F8C8668420DA7A48D486F4C4F006329E7BD8750165512005D88061EF2354A84749EF29FC0D5D4753006878686D09825825D25589AA3F386ABD079396312E8CB26CC92420CCAC17492895B2ABD20170A1DF011181F4051AEFF2DE784913CC40FA85E5F26C3FB36BC396F6B1EE7117E77D29A253E37F02769F7574D6CA23A56F92514AA615A424B484F90F382E1AD0D3AC3915E048D99D74779BE1403E49C61F6760949E8945593F7A0DE5D884BDC2E94F4BBEFD51D83E331FDB7FE8E4C4B0429A24EC02ED9F3DF54404F6D7C8FF52895E5853442C03DCDB9A980377E09C21AB8819B29EC96AD0D0FABDB77E42BCCC7FC7A70B83EE053F556B905C63F8114C17A45AE8D19CECA6E5218336EC11613DC11532D91652E78F86726A80749D70CC54CA41C33D643F280F109F6269C3DA377BFE87BFA60A1D167881AF220FC8D2A6E290226FC2D0F66D2A1A7FABE47AA8007EEC301E82FF50BF7148463645DD2471927F9546DA78E15D102E701BF06C972EED2B489DE28BC2148577FB489141DE8CB51D24282E621267A4139D1F0BC35DC9D9C42BC33A04F81095AB3F176C4212E50B77EA2D132C9A5B90B1E32E631CF1E10C5583514325978581C1E55F752D76DBFFC8576F56422C5DA1CE20E77387F5173894467AB0588653BBB44BCBEBE4853FDB9CD39157068C907B32CFC4AA5DAF2D024E0C3B2A804FE5F2CDE75D299B37C5FB4422D7E61E959ABF90C9A3D8DF629E76F4A44B76263E9EB7AD1649EA89F8838705E1A632FA0B91482E907F077B992C96B3064D6D7604D09E682A5886A2D9334138161DF5141C3F06251BD470163875387AFB38163394B335B79210BAD92ACA568BD1AE1E511C22803BBA36079FEF028353AA0F5734A1C7C6C4E6ED684742BABAD0E93EDBCD0DE50473A5F46CBD9C592FA92D42EBE010ACEA97BB36FBABE2F14BD02B1A07B35701D131623BDD526BEDDAD0B4FC6FBBFD4CFCA8E513767ED4D10EC64F920E9E6CD528676875A070CA6D7AAC6807B53B7B13749CBE350D5FCFE1B34E4DF2E89507019BD6FCB24AFC3A1C9BD64CA4C7572FAC9D87649510D5F91B373EFA0B97EDE7B8768D0186B968E5A7F6D181CB5F45BE2EBB942E23D821BD7A8A1D7B0E2A735DEE8944C378FF9A98E13AD7344198B576C6CC770C082D640936D3F07021293764662F77195CF956E91AA7D14EBDD06C41B57C9E881F2DE467AEF05FE9EA1809C450A45F3F0D67D7447F8AF8F87DD52B30362F44AFAFF54A2A0331AD8C18C2F3594A1E187A1D94A4C1829D87EA67ECE045772BBC82C231FEAAFA81E2F6E18D7F45020AED2B22FEE1DF13FC31847EBC9F8CA140E4944F8D111A4DEB56C0888880EB95601FBACE79918A6BE2F0BD370215689988725E9AFA988553867F898C939A8DC4A58FAAB9B105185904CD543382F7DDE811EBD114AE109B97EFB4A7BD4E582C3F60423B48C1E35B8C0F291048C29375F9CC2D4C01079A207BB7BCF875FC7535BF47DB251ED8A60F03D84E49E32EC5E72F6DF26F18BA040F508A02ECE21597BD710C36052EBF7A0CFA8C1FDA132EE3F9DFF8814CFDFE0A514C91FC79546B82447926D422B8AAB87B94CC29F165E1F970FF274FE2A6621EAC5F12816129D27B8DF06E32A41752A65DE0B47283EF049422A9AF58A9BFCB042ACE1CE470124369A915E2BDDCC292431E88982BC6F9C51AC4C8B3E2AA96BFD6B574AE9D702A2673081EBF54FB332F552EE17BA638112816286E94FE43C6695752E67F69CE6DC4893E1DBE8C5DF8F292271F4F5C140F324AFB49A1565717FF0E0681F01CB7CF96D2F8C50A2D76FA6B4509701211E07C7142D22A2FC40C2CB47E91A0DDE3CD86FBD02EE53F8367D1F25E6BC0C04F19080AC19689E721327634289261827333594CF23A7CC0B0C95261257F2F2A4D9EAF72704890F29A5C6F12394C6A57688BBF61E187012CB7C92D720585976AEE344BCCBA607E74F5032C14592C317D211C3848FD76CBFD84D7A621E3D89FECA1AC8D1C0090855D530DF05978EA50C36DB86D311FDE0F8C6598DFFA94F094E4C034FCB13986ECCF09DCCA03F2BA06F86D2E49AA9115BD80CF49549E6FB23A81419826F7F3704A1FEACAA456DA4C107614C992443D5DBC8940F66C2F396786CE6520E08B715D1DC3AC0E695B7BE348972522DC4C831F02B4253DC76181F979C6F0450A7303288ABE8B9FD6F8A9F46AA93C4E6724E29C9891BA4EB8403013DEF6068413BCB4D413EABD69B812F479A2B63437ABE8C0CE4AAB34386DE580BD704AA364F17C031195F0DEF63CFD88F1246A5895D3D06C2BFC919939280ECB8D1177D799062B4F4F0B3C7D855AAD76A525301EB6706695639D03A4C0CFAB11A1EA74AAD65D68BAEFF5B0355AEC1BCDFF9FCA7F3BA5DFA9F7E1D073305BD96F9ABF5EC76A14BE21EE536E09866C1E0C4B9AB8E70430BC708DDE617F6686C2B6165981BF5C70C747AB222482B076F5032656EA780E0798C5F18223590D3872804C379E5114C6A49C8DBFC14BEE6804612EB21B2055AFCC7C1B2A8E8BE67FAD7FD8B5E2641FE8CF37792FE47BFC35C76949610F6718DB9403B29F536DE09CE4A254F9D612DCB93175F5592466CF9B7ED0585F83D1EB7AE64CD83C117A7F7A02A859A73377BAF4624BCB5B7C313F6C2613138245FA0A40B844CD8670111AA27BBB01A7368AA56BF24DC7D8E21FCA56E84A32776571FF60B3AE38B3AD1ED3ED3BDD19EDE8C24C2AA71ECC2B28124DD0AFC382B784E273E838AFB698D8AA336016C4988A58ECE0D8A2A2D94362D738346C950BF05008A10E29BF27F15B802F213B8E69473B023332952912F20472FDCF193077A0F460E684F9FDECD2D7793DDB33D5457BA30B4D91EC272D1E6E5D2795698A9AF406A8C05D1BA2A64F883D37EA18505A0F5745A2DDA217EAB1774A9D813B8387EA16C48EC8E5600C16D98FD4BA0A1EF2888FDFCEF5365401004B02CF704623277CE502A54E4E03D91914BA829C56740F777A5C28FBD45EAC571DDA7B89EC7FC982F65E5CB382415440162091C2F041FC0F97F20693305C25DE7837A2F650577AC6CBFFC09F1F695417CD5ECC555697693B12166CDA47B8A745F489406942C599AF5F085306EFAA508B5BF0A406269F600B68B58CE3E204C3BEA59E4F3C19157C60246EDF18141597BC0CFFF8308878E4F36E4C443BA874BE58278FD5B332CA73CBABA2A302579E5DF863DB92251C597CD45F836D0B9D3ADD59EF92468542B377E3250FBADE0833914066A39566009507D4C3D575851224E860429F617AC7EBEBDF534DEA8F3AC3F7A14F815751C8E72E907F9077B54AAC645B4BDADBFD969AB38312CBA888F0568170C02F36A4C5F0055E6702F39D62B2383835A719A60E3A6055DF550B3590341B66770897BCC66F8A52016F1491973D565EED5D1C718CA8997C8A64D467170608991D14F1E50A8FC63C4A3B464D08D05F72E9CEB8AC69B5F889EE16F99454BB5F822F153C9D9DCF4F0BBBEB510D706F2C7CE5E516E1AF5CBB838C95D973B34230379CC30299DA585BDD8AD8BDD43EA6AD8AA8F4447ED4F411E4A3CE25C4B338882C6DDDA40A8C2228491CB6CB33A5AE703D29865A151BEBBFC5910B6441B10CF64C189A71911677C10F11DECBA96A420DE0EF9C124F36FC5D27FDD75C388533C88667347B5277C2E1FC0026B75E38E6E46ACECB2BA8EFADBAF1489CF45F4A9225691492BC63785966C018A8FBEFE58C5533E2BF2C601A0A5EF08CBF1B115BF3452C94953ACB7294FF09C7FCE12F8CB86333AD7EEA514AE12333558F255F5D7039AF77D724F66C962192509C5B5E07CA8161D6002417B793F25B92532C61D67CA6CE4E1718B414A86B237FCF0199D7E560C2136AFB290711B3E2B8D403EE0537C351972E86551E5EB9A3535D7D602E5C444219B3B3D63412592399A7EE91BF3BFC26F5A3A91BFE9EF9A875CCA8C6CDE2FCC7CDDC971897E559BA56761599C5F883A7C2AA2E4CCB753C659678D16D158EF12AF987260FE98087C23773AE20F81FD590E1CF738D3C04B0955F2B20B30F54381C106115D4ED83FC7F6BE6D143B61C2D589A317E98E18336150B3350CE0E16E8214DA55476887DA6FC64D61BA49425DA1C156DB5ECA01411FA062183DD29FA1CED491E5E1E2E3CE160A8E9E4FF1000BAF632A92D8E972077C23C666810339E9D9B5F62FDA5BCDC45D315BF8DB41B81AA165763780BECB544F277BF10491CD085A8F5AD91EB6DCE793F480A27C448AC8DB95738E36AD0F15FAE23A98F73E1BD96A6DFA6B1A4DF4D34441D973AF7E1994C06763BBAB81AC19B0BE9EC856365DE6721840B2A4800F27E32D9046FC67B7F443A88C3BAE70138305E9F162DBA6219E6F8FD68494FE644BF6F198D1B3A934416E96AC219C72EA95648B1D9677C7DBA1E3CC6E6B01198EA85A6FA3DBE68FFD5B936747BF86253622BF0656C4178E9B259F01FBFBEF7DBB6F45EA2D01CF4AD075718440C00DC66321B311F399436064E7F56D254BAAE85A3199C31357B70E81180D1BEDE7FCE128D2AA7FE5C5095A05314B056205E719F13C738FC443F94DD3DD8BF28A8024491D3625794CEF85B2C2C810208A8557B04F517C42EFD9502A1B4DE412B47C530EE6F0056B5EAC5BE87AE7442AA84F30AD9B6C50D8518632BD4512783BD3FB358B9CBEE1ECD5D634D617A57BA8AC2D8F12C99C1A146D6FCB9901F46C05FDB5BC3DDB7D8C0D694B5E0432E29A2BB3BDA70D3977D7967082069AA36F425C60D3EDA2922FD41DDB7D1FA2CE76256E3EC53A5575DE0B0919BB719CD73884F052A35FDA47861C13BB523509BF91233ACFB82C674BC46FB5AABA970E29EA48AF84FEAEE9AAC0CDE8AD0FF2B38AA378963D62217B8C079BEE27985B725EC8327F8A496CBCA3EBC763793CDDA9C5C84B42678A0AA6B9BAA03A5CBD7E2F733E956DD9B5712317068EA369D7821E3C288C019110C0EB792EF4FE7BDE199EF10C973138AF40FA52FB35DFFA939E3D843ADA7750896917772101E49076812E623F8FE435452CC39CFC3C6BD3665BB7E20FD09E28C08D9D29CDB7A4C5F7302ACFB63A56BD481F535A136182577E0AF1436C050EA376B335DA9CF960042A1158FA842A85DCC923BB7EE96016860C2231A1F0D859275801958CEBDB374CC1BCEE2069AE9A2E970391172AB7BB9D39D991F68C2E087A0773387B62A608641EC54A7E8976B7A9AD1FA9904BB3FA98FBB332D14B6B23A82F4FFA69A8DBEEB4733B7E69430BF6B1EC5C8E5B0D7801B4C745D92DFE071224C7DA687A7E1991B03867E82E7F3D3DCC2C63AD5EE9CFC20451BEC862D421E03B11195BCAF01EC4428691CDE6618DB63AE73C08181304D4B06561383176664D20052BD5B7373A7EC53D1A4FCD63D7390D00D2217CFDE499036E6EA389DBAC12D08F40D6322A26C5681FF0C1F9B638CC08CED61524EC48A8E8BF93D2028DC10FFE063CB807C94CAD3C2B694ED9747385EF5934F4C84F907AF7999E476C2735E1318AAD6EBB7947D9A64B2F625E2DAB7E77B6FDBF +MD = 08CD2ECAA895C0E2B31994DCAAE2C1F76B02E761FB5F929449AC32A477CC167AB1D4E23843C3BD01F70D831C4A77C5B7CC9012318AD87C6551A5B6AA5BFDF86F + +Len = 33800 +Msg = 6964E2D650B19AA6D31B839C604A90AA3D105834F3854DF4A41D4787A387042CC413DE27503A1EFC366B87ED677EA63DCCD40D9C7F699FFF9B8A42B596173014B9E811D42D2DE574ED5C80FC6A5A86B772A3EEBE5640102527401C0E9BEF57E05BBF06986535D3163788C60C92EC7460B7FC685FB45FB8A18FA84EF5A37C94A2EC3A948DCAFC69B83E2434ABCFDAFCE948D8C76ED9BA780D39AC3DD098EBB3208538A666CED8ACF1B3031C5EF23592FC432AC25BE0552C1A6463E3CC778D456A520432A8C55436573219C49E6BC27474AA4BD9B1B3BC64917D016B6580AEF2A0BA41ACFB98EA869D3995012715D06D64E0AAEFB2627125F225E2EFEA21AF7EC49304B8E6399623FAC15D6CDF39C4177A12254E5D807B4AAECED6D591F4D0BF50C07F5B69E7D60055062654E7B1C8B96AF726BCB34B10C60B7FC3B10DBC69107C7D81043BCAA681EB354CF19AF26AE3C7CB321B892C33CD044A24A5249F2F2EA3F804944B5049CA887EAA6D4CD5E52D17CF01CB0FCECDA47425EC85F8362AE045ED0D109758C90134EA27C4CBF6E3ABE7F283F4C3FFC4455EAE4790329AE47658DB2850B09A79A89BDBF72A20DC887B6AD7ADECBD5A86C08479D446EF817E13A37819C227792E3E0FF80A2831B20760B879A489A4AE50AFF9FB1DFF39132DD84300EF7ABE05E98C5929683A2DDFEA99468996D652DCCC698183F9A3103F7C049A7227733D0C14ED1BB809B4EF750DF19094885961D327394D6CFA0A21B341681738B7E6FEEFCBF4DD474B7B45EA64A3A60B97BFF297E8A52CD4AA6E92D6DBB7FEF7F736D29CE3B041488A6DB68D28F3C0204CFFF82CE6EAD11E11D7B060A0FF550711BE33288ACC63B6DCF2062251771544AD41B35B1EA5F11C4B196C48F5FBFCB4B39C60044A70E1DBB2CFBF9D8FCC855DEC9A0B33F2021CC76B236ADEB5A1356CFB8590FC1DDF8A721D9331861DB604AD0C8C89871E960019A0DABA43202ADDD526C1706E782FAC5F98295F4C6036B8E2DF6D225B6335D1314143573AB8E66A7750BDB6420452FA060B24FBBC3618D951490534718D97E3AE994D5E770D103E1F405A5357A2521E9393ED2ED197E7AAC87E142205C69DBEE846034FE6F2168DC207D13022E11427E8F02087D2F4E850E7FD21237D56BE970781CD779F7B0D8E9F689E6CADA3386B5E779E382AE3DEB6CB20DBA16A94D147101FE594790A5B331D40551C8C1D81052CE00642F56E4048F6831D713E74E3F4C6ED2352854854E35C06313F0104FA47EEB282AFF9A3ED3D683FC88E9684AA0C460C3EC333080D5F557520A359803563A1D8BA7C716082CBEA808DFF6296947CEF7EA30CBAD458C0B90A07847E3E557CFC33B0E3893D32924934DA966F6D451FF8C6B28ECAD7480CC137327E5DB10D180D41E8088660297DFA99126F7E2AB290F206C02644B4F28A603E959077E13D65C650CC0513259C36324CB5223E829350EB0A567317FA176213EBEFD40B98C38055B24AD85171FF0724410926B38D8A06DE500775D39E472B0B3212122204136D0793ED28F6EA070ED50745745DF57079F7D4C63C6B5A862A031DA93F4E576873E6ED03EAABC2A59D4FDE5A670850A52B17DFB059AD5A0822FF68B9A3A11A26BDE519E86A2C7F743BC932BB29208383621D509DA438A56B56E1AAADC330A0CEADE51EA65ECA256E3DEE4495C3FB94F41C121B03B6996981033D5D9E5540719E29EB1AD9A10C2182811629BB5A7D2296842FCA6018E44B1B2B0EE56DB63EDACFFA837A0147D1FBEA737FD66B614FA097819422DAEB9E1F04B81D4B1E569AA84708AFAC7A9DD92F95D9CAC1137404F950C70D0E337C956BFD2C7B64A3B99F1499F9B297391B0996B42289E205B47900168F8BC3A30C84CDF00AF52EF14D8B4A87675F8859E9C3980524C2081D3A08DE576C1FD5B40459E299BA89FBD05C8ED01E3BEDD893F7EC17DD1BE1EEE0B19186E739DDE650566C395EB143451C09EB51C6E14EEF3FC3E20210CE62C49D0BB862CEC28872C0CD989050B56EEEB062AE2645C1510635E4085F5940EEC6274CA982E312AB21BA0930BE4D6B57AD8D36BBF58DC05D353E32A5CFCC4EB008610E24A8F2A1FCB57BF6E4ADCF80D3408997D6872A2EA5E94E74CC184ECCBBA15882745E03146045DBF6E94127581CEE20F2F408841D1982132E5B7F582B91784740761EFDC9346BD9EBB3C1FD341C3056F4DBB4B36EA9E4BF05C965B367346472D0EB55B840ED49EF245C6F86EC5394063305BA0DF45DB30F7658D28AA988CC9AD97F0A9C0B3E59FB623D55C61F2E202521714970C2285BDBF7C6119FA3097D82F6A1EBC33D42C85A93630AE18521A2F8AA785A17C2D9354033FE297B172EA1F06CCA686DE4E1A28836DA559E4405856411D58533CE33C6B573EC51F0F565499F6FCA8837FC80BC4925867EEB6BDCAB15EF1C70B17E02A535E2F423D36591A22CF527D118D5C540A6749E1C206058C0452BD9C8F5885EB5823BA8515C105F8D96FD5F4AF9337E66D35069D19EC041A7D979452E5743A6A22DA0DF662FD9D1A2AC3F8D431A61F4FB944089C52233167E0D53899B6D45C51393F3EF6894921486D2F9F4D5E6E95107FB975C8E856AFC76B06BF3648668EAFF6AA59FC9A3AA536E548880D4D79C9EB5CFEBA4D6D5D402197C0E1608500D69833C069BD1C45D766A7BC783C0194A2C813B223F141D8AE2868FD65D68DD67EF463E34E4FC20C7777BE17A3FCFA51A9D98FB23B341B12CDD2B430B0602CAB03A226C7CEE4F9488C8319DDBF4EFF1B614BA9C1FE0098E9CE1B57EA4D8D777EE89F4C2E3C729216B6B2EE2685DB9C1945B27986C748DCA51BB361824824FB2A31EF9D7244B734779B86354BC0DBA438D378193A84785B6B864306EB6E6A0A80FA2AF04985FC540477B911D7EA859D8F956DD1DF3E464D884A6355E8B24CA3F05F25EE53B23EBE43CE6C32774FB74BACE33A12E7C1798B7116BEE1245CBE323882464C49B647D61350ADEB84CAE9C61B02BD702E6D8DE849FAD57A57AD297150312198D89EF1366E45286F4BCC8217DB2EDD39B144D6BA1D6CB0D1C74BE396CB535E6FF9900AC371A6F9E8DAA45DD1B1842FC685D1FDEE0FC127A165B03B561002CA56F19143024C41520489BEFA82AF92FCE5BB220DCEC1AA047B299F7FAC2BCB489C99044AEFAF2920C324597DAACAB92F6347BC0EF95CA619DC19A7F28A1CBBACEFC85EA2BD7A769E6BE424F4AF08AF7F24F5475EE2434ACEECEC18BFBCFD3479226363B2BFA915DA76B839857A33641B4B9F64F15702ADB3964E5DB19FAF48489A7F6F9F56A2A258C54E0E5F97F382FA99274B2607D3D6A6B94CA075EB454080B01435C5ABA8B45AD6EDFD00DDC0270C7E54919A43DC715CB7B37E8423C7D2285D222AEC66E4DC4B55BC6EED3CED1B8D5B364F5FED35BA0312E46418192937792E865EBF5D5315F1E395194004B77F1D15E48203E3E5BD2C508E3CD8D1E2075B3D6DB0A5B28C10F155B13954297DB518A3E47DB5DA1C0ED8536FA7B5945E952BB5C4E24C40FCA0C344302A5202B92A351738225505209D810789F7A590672ECAAD866ACE771A3F9091A1695DA17B3576213A0DB5C4641E78045822AFD939B6272D12E05CDD1040681AAEE55523BE6371C53FCED13638A9448C0E9AF8AEF55ACAF723D513DAB5138F62E28FEB489E75BE072418051CDFDABC7CEB0C99F181C6AD95E7EFF5226BE5C4F4EDEE7A8C4A0500241EDBC363CB4C3AC12DD046EF0C840933740F48C63DE39C082FF4374C2D8453F2B813F397B822E90FD59B448262C00FDCAE73BCF90CAE164BAE33041CB809E7CAFCFDD658065B84B7C370CE3E08D505F7A2BA783A666EF74D8743336FA4DF4E20A1F8D58CD0B0EFF66FA77803F42169F51109A4CCFD008F36E23EDBAAA6ABF53B822C9EF356B79027CF28DF9E5D5D7CA360AEB407CF02CA2689F8131C78CE6DE7C5D8A2DC65A91DF7ACA7787ECD5145C5C791B7428F3F9CBB22F584EB564AF89263F5750CB37C8151F205B2FCA7DF746226D5AFE10177C8BC456452EA65D449E19B4253D6625D5C3349F3EC3BE554D4158DF219DE226AF379A422A8DAC91B97C64E19C120141D806767F7EE931D88E293EE8AE1EFD2766EE83174DE19BB645EE3455133B81E2270AC1C7CCEB037A50A5CCD540F00ABE27F05BBC29A2F10542CA0AE130D2B2A1464DB03C0B2510A9E7FB98AB24FD391CBAE0A112A66EAC05304127D1545BE6638B6D35606877719C3CD782FAE3FAAD1B89EB603750C7B5C3CE84F93FAC147346350C750CF2CA7EF9099D6725BD31172C37FAE60E07F33572CB843E67E8662D0DD55E424AFA9B1D57CBF9DDCDE447A3B8B604EFA253EBB2CEBE01521F0353C521F457F451CD93346D815D6BCBA87B3D2F96A22ED17C17B90BE3DDF7E04838C4F780BE2C96B781558B4A4999B3ADBAACA1229F22FF637CFC068CE8802F8684AAC32AE32BD09CD5C1D770900CC7C5FE8DF41E8110FAAD782C15C3CD637BA619A0037D7378C72CB0C95A35A9109BE11F8C4BF0D3BB80949A15C64A0D6F52A9B52A521D06DC749CD0E553418E127FB519BDA401F59E5AE517CBC2F538B6C32F9CE5C34088CFFFE03FDC7D36A7A912EDE8254B7EA46F1262973BE564089C44825437D8DBA98BE04CF7F6AB5D03C5C10AB51557F331D0B1B919B9643EFAD709080D2FF46BE83E081551F64ECD826DB09469179FF4B068CCA172D1E16750BD6D4C805146DC0221A555C81931A60206AF7CB485D2FB7FA9D7AACBC3E3729EB09979D2E683EA3ED8AD3B4BAAF4FE25F8B227568795563D3F2902A97375C521BA20F9C5E860DFAC83A0F0ED347588F250A44F01C93611405AEB04C6E75153F0A6E064E19D895DF7596C6A48A0BB3804A78937A45BCD05486314BAF72661349E8EB516FCFBAFFB31639716C5B88CAF4255E20EE90A6EF402E7A39C5CCDC5B196A99C5455639E9ECB788F94ABD7A711833B92DB9FD56B6412BF84C6BEE9505682EA300CEEDA496EF06CC477C272318F9883212794E9AD88177B65CECC1BA8474D3DE7656B61A3B832240578A4FF704CAA65E01A29F365C1ABB1DF23D61AD41C08B092CE870BA1103857DA37D8F5647A5D5ADA7BB1D9804C547C187BD1767258292514491CEC97BA41F48C6B581FE8E74520D0F0F6B0E44C9920290F68684D169253087540EBE733AE2465254BA04BEB703F3A309BE14B4F22EA63AA2DE8E674D2AD446F356D1CFE1207A5ED7C2D565CCD5CC1EF0EB1E7919C26E92B851F7478C83DE6CD21A3547CD4464A6B6B4DA6A8D8F736D16D818063D1FB95A8D6A46911FC564AA5CFB1CF76EF09D0C104648F92DB9B28816F560A24935923A945A1FB52AD9FAC6EA2E640A64F79F25693398B0A0E567518D950714A8AAF343A68A4EB1EE1F518ACBE99E05041CA505AD509F6EBCC68C84D85DC17E60F0240EC848A842F4A1ABF11371F46CE69D5B535FAB5634523E359AE14DD07749FBC6390EEB9E5330FC07926C971C719CD02AA565048CDA7E534365A3F39555F25BEC847C0FE5A76EF68F038FF552DA2722581CC14ECEDA1297942A1A67D0501815747C61517A9AC876DB662641F750A917EDFD8EA199D27E5D56855E5200791CD404D15B6EF6F5771234B0902C9DB5B033F260359F1A52E6646DBDE9E4F9876A7BF2C5FD7BA028BAA306FF9D4287DF88AA055C833ED8AC6A56D2C83AD69AD3FD6FFA96AB717444035D3B8DAE9D26D475767CAD452B607B3ECA6C573C38530DB071968B7E1DC26058827C57AD84A14B495FE082419255C495C5E13F5BC34D96CB498378CC16DBF6683D54836E12D44D76956A6B0CE788AF5282B9F06B5BAD30347A1D537EF864BB0C1496176B1B10118D02A56407609C0208E860B86A47C82B6FDE76CEC5AA70CF58B4B110D67E70E7B37DFE3A1D530183111E2AC6B30736BE4FFD6DBAEC5DCBB7194B9F0CC733F0A3A +MD = 936191DCB96F5A3A3AC16CD8172238A513CF1F9CC19620BD7CCB7EB1135A7AC57FD2E76BE88665136024C48D87745E76CEE09EEFC3B352ACB7C7F27D17C82E15 + +Len = 34304 +Msg = 0EBF64AC017FEBDCA40FF85FD4AEB8F1A827561C150F74CD5E864857FBBA9C08A46EFB9FF7A16919618C9FB06BF8FE3F0859774DA6C38C5A0C54D44075D1BAF6482B7705C8E1A86E79B0FBF0328246B5E6BE013F934D4ECC34808A3639C49464309DF5AD250BF4521E41B4CDE563566B8625076AD7E260018EEE2F3252D15F36BDBBCE3C74758C68A0E72D83A37DB4D2022A80A4F6B16F4515053E1FE398CC6A74D343D4CBB403597AE68533E18EF893F756F6F554F98BCCBC84702D19F875D347C345B09EDFCB1C71BD6955C5178DFCB07376728CFC3AB9565C0A1A8DCA78221028B00B51B175A2DA2CC0A90C33C169EA8A1A2E375C087AC3657D28AC481D5B5C225AEFA85919FB8628F32F42F1FC0806A250143C084322FE9E30BCC8B89F3DA73469CEB935EE25887D843321CC8ABB3C75E15F4894CBB5731782372A5631979BBE6AEACDFB711A84F83BB89E0F92B88C5EE83E4F9A3C4F80624A17ED5549B77ED7D939C368CD9A92EAAE595105DE7E2889CAD71D01201580038FCF4AB4D285A13BEFAAA14FACFE5099A83F9E71D512519D055F44F757757BCEBBD2734CB91C5C4CE7B411D1E83B42689FDF8A69E63DDFD255B977D7435BEEB5DEBBBA7A47B19CDAB3F1C40E79B926A481A1629A818525C2A198983F23F0DA5DA8B99633689292332BCC2A4AD49769B3E448F8CEDB87C1DE2EF5D04E1C3A8116C3328F6B19B59C318E18F8DB29875C22A0A0C8EA615A593439F7B90AA2AD9C16CA573040A8190A834370378554BDA9DA9486AA3CE3F1B01DBA14B032B3C334F7A1E961426302ED2D38C34F61D7B4D182C0CA303C2F379E74EAF65A48D3D8A95616B2ABA5C88DBF6284C5CD68D902E3958A7B9529F49D38091BAC288734247FCE886D49BCE00AB98B1B962A8DA8B4710644E9DA418529E79A27408B52EB655FDE025A129A38EEEBA936657F725F0EC668380B9DD50C0759AC150F81B696B886E86A5447CCDCB3FBEC08C79471DC3111042FCFFFADC1A973340DD68610631FDDA6AD25148C2D0B48ADA24E6B2D42EA7510991C0455BA1B7F393CA1FA5801F182F89117885455DBF88F63CE0B77669BA965B73A344D3C4C787E3B4AAF58C56FB2589967C71969B1FE92C5E7D91094DBA84F470437339C1DC6918DD5FB835CBE69750363691B0CEE7B80F0D0AEB31DDBDAC52F904A3A91051B54ADF75B0D195763D29FD1B88244F61D6A304807B646326E76FB880D1DF37281A11CED52D5B5873668642C72CD7C70E36825CC17DA6E03C577D12F79CCEFD6B7B76C88B19F7606536793D8D33F7E0A598769883B417C3662B6267001BE7D0914563B2402149357D1C64680DA80B32207A67611EDF0E8D9A767E2BE2ABB21956FC764200945E4BC5830ACCCDC80DE485086514C63DA7F785CBA0C1E9CE5B249B52E7EE570D8657C63C4FC90856DFBBB24C8D2A711CB3A0960685EC55540F6EC2641A429D3DC99D82F26D2C7EACC614FFE988117D8F13B7442A9AE2929D3E1F67B974BB4A4AA960015C9216AFA844A243095F167B114700FB11215EB54357BCB1D4792A0B676C708E710211C3AF73D61B82F4D04BC40C898CE00A2D34C77F5E22DB71F46C939A0EC9C37D1647E23A0F44CC23D710A1DB20E38D009C6580192295C40B478A85A0930181D0962C3B18B6AAC7F5BE99607ADD25BBC23A7530E7E58C93F9FD4AFE5133FD228C6B4D9E43538CD9DCBE76C4D7DEDF22741839558A6B561847327DF7CFF1C17E03EB0ED9DD921974954638CADBF645A4BAA4A62774BA66E2E458A1F7AC67EC394429339C2F620D457F5DD06AE551B69BADDEE99A6C93EDC7BF7CD56898CEC4AB4E633489DD1934B3EAB68601E3560092CB9B1C64B90C9FBB6F62BE60B0E221F1F6E1D58444B731B30AB04C40988093FBD396E65BA703F52ACE0695035EE78E7A4969D3EB5834C58EF60FEE1DE0F0E03E4203FF50F957ED68513F9134A4332B56044EE14CE80EAD7CE532ACA58B1F98423C3CABD9921F83A81C7467B3C6F6DE4B12AD741C7345BD645854BBF859D110C8D60F53AFE65F6A8A0856BBF78954F8ECC831FBB43F030449A9FE72A3C86AB7962ACD28975530CB567CEA713BE76B2262A70896B8A3CAC66772C56A9ED139F3F4349898AECCDEBD5622F32A75EBBC9FE202FE56C957356D40AFEE4718C52D30FBF683CE17056E672F909110C087D361C196FE33C6D80DC6925769F6A93DD41B5BB5FEA806F3BF56C50D69B45A371AC5DCF5CF356BC552E0CF87E22AF0F121B21278B067138E2AFA098E7EDE1C0A8AB29B6CCF6B85D39ADB9CEDD013886D2C23C273A21267B2F2C22B5BF25D5A5CBD083684B454AB5FB854F90CB49B2F53795BBFD46348B30958398344F9C362040E1412F331E2DD1679F31ADBCF8D40BD3BF707A4F3558239A0B9488B3D6A264E6DA3911B0BE47DFF3257B193129DDA9F3C0D9ADEB161F8426CCD01AD2D0854F7319E12DF89DA88C98FBFEA96D1F40BD098AA46BEB471834B039D6F001F804ED3DC47CDE01D5B594D565D94F70BA7387822DBE8D0E44645A914F25D1D15F38EB4E5C9B4F48C6146DBEFF8D36C17E5E57A3F07E561AF390EDFA4E2CFECA19722A3BEEEA23782CD7AF8A61767B010F89A7082E04E807F5CEC49BF5AC71DB3DFDC5665CD1FA5B9EB0C3C7343C674730EC650A13BAE412126C68DAF917862ADB4E220461A6CD0C7511F4F31C47F8A41AC54FC0B34F07DC15060E9A43855DA0A162436B1D3A4B6D8EA87229FAECBBD9A2F0792266DD160E0F8671690411F8A9BC7429F8E0F4EB0098E33F0532057D1E05E6A78FF48A6BDF78176FB462E56B305476A78F099786A6793D2FC3F4F74DABD3A34BC2E50267F06157494B9966E1BF1F8708CBB770580CBB2467FC1B3595345A49A5D8EC528F3E2B3F91B06E0693F87FDA3B68CF99DF5C47BB18B767FBE74EC0B664AC0F1CC6592F01A5659A7F3B4293BFB8541F0A9E3F923A547DD1C784ED624CD3A2C9D1B8C308B3236E4146C93CDC36E17DFEDA5C123E735AD4FEAADCAABF9581BC1060726F545C308E56C7310093F7938A2083DC468BF5FF3C84C2271EC7533838FF15E6F7EE8C71115EA8E342BC33AD64467640B11EFE5F33CECDEE3058E8C17F8CA0488918506FE2FA10B92B9FA87DD7305362D24D4CE454A779612B112C7C7E6D4B632A8475EDADBEA13486CFAF5647E4DF1FB135AE793F8E6D23216B0ADF664A14397DAE07E133A1A58E15B25E9092B61FAD3619BD551858144B80D9075D34128C351643F101BADDFA990CE910F2A8D721B64C495A12F07AF3D32CEDAC92E20DD9638C0DB36EB7B1286138FE056EAE9D91C4A0AB7DC5267FB16A41B771EB01D54701FB43570482157BE10C6FA9E4D866B8B5D650EE6F3FE117B1FA79CBE4F8A9B97928EBA2FCA6D7669B384184895BFE76ABF484B03B9F7CA10308C6CE31197CA15B1A36CEDC3774B6B9DDCC2431E732DB36537F1F4F4883E81E7B3C6D368B4EBDCE34C657711D2CBB4158D519E027C5B4B64575AFCD87CE736C45028D378D70C0FDE73B5499FFB307B9DD82073833C0A84769964FBD7D01C4ECE805E122364B2B485B6DAC7793F1EE7F1CB2A50AE6565CD210308260EF64D9B2FE8378516AD093960D5CA8CFA9FCF28762998020743086B93EEDEC324784428EBA23141466185C740055B1E87BF7F6BEF5CE8E28DD270F9DA64D6FFF2CB0D73A734D45DC56CD03BE9414DB568EE2366F2166FD6D43AF9EEECB13C4A5D3A8E775BEE5942194033AE3EE1754FC046BE91130979AB88E47A4CEA379ED9E77BC4310DDAE2BDB7A5B941E3FB6081CC3ED710E0C603D47EFA82FCCC0D556D4AB58825EBE6EC7700F02FB7A0EED44CD2F8772CCDEE4BA4B883DAAB46264A569AAAE97A0E4369EC00F59D841A1A7CF2D39BC58725B248C7B159D6D68B3D9721231CACAAD38F26F357BFD31FFCEC18CF34EE42C3B375C827C4284B31FCD4374CFE8C2C7A6B952581C9837587CB161EECA237290AFE8095E069A99514DFAFC2FD8CFC734B4AE64807D3ACA2681ADE0FA018B17D2A61F30F0307AE86D67D4A14D9CE214CF41EDB702735F99D58BDACE7F28C7D95A9CAE8B079708C6C7E78ACCAB67F67A598F7C86FE8B8AB6539B2EBB376B6A17144A3ADAD6BE5D617D30607AB4D94C11A7C1858E19B5C7B12F9BE4AC245A9E91A22EE5471AA58538AFB35319F53D6DD69BC2AE48D2B649DFF6E71DEA3B797C071A0C345F66DF053475A40031F323908C71A198C7FB2D542AA8DD97B2F1CE01D11E7FC458518CE1CB451BB9B1D57530D15EC95BA73BD5A386947FF8D0F565549A11B88759D6ABA3A83967BF9543E640A33F6F9D9655A547785B42B11216EC1CCE067630E89708CA896733129DB5312169003B8FACB8DE3F99E65427AEF51CC1C91005BB7F5B65218B1B492FDD67761E0F7C2FC60F7ECA13B09DF6B2A53B5B9CEAB43D5A1EC3260A89B54BC257850F0659E3240DAF073CC5236F65B159CF8FDEC771911C054BB417F6799330D443A735704E66EA9F1D3351837197C19E8226D27A1EB5B664781CF0651231AB25678A4C9F9973DA830ED3871A6EE638DDA3C789B0AC27DF49717CA2A1DF46968D56035EF02B712D12067E72B1E661120FC1FDE4FE6B11BB4D189F29112DBBD6DD0D9E4E78501C8E5EEECC333B208D7B86522C61DE4ED0D4454D19CA62027627344F455C05F429FA17E4A6F0BAFCD4B575CBA3755B042382942190B6EAF762DF7714797E916D58E7DD0DE2CFC41D8E6E410DE623EA5C547334D3A21488CD2D65E6F9E0F123166FD8304309D0160B5A605317E0122308F9FF065AE6ED422437C962A1362EC1F2804B274E3BAE118292FF930BD519EFD3A93E40F949ABC60E8E9190DAAF9FC8099A44311861B02FFB4F9A0AEA81999170ED5BD14B727B42EB44B0B55983F1AC2F2BA80734630D6B7500D65EAB42F6771EEA6872677E252DA4C717BAA07760BFC5FE09D4835A65200A80C2759A476A930B7FB4A738241C3E73A9C75D5A7F0A0BE52138DDA2812AEFBA8FD78D5840E6EA1D15C57EA66A59B3A882A8FD04093A5815A5324BE75C4F83CF16B785D2D3BD36602A0026A9895CB343688EEA40CDB483EDCD87788B668A69D0BC75B07D8C8247A9780E4C1EC342C1198295D699F0829E41A78F0F9978DD52D6491898F1F05B979E587F711DF66F38C23C2BFF9C69086AB970C468315B3B6C36D58A7AE9C749FA06429E6781AE7D49B3B368048641A63DB95EE293A1954201CAD72E92A85E34C7A74B2FD1BCA6AA61435AF2DC32C1A2F559F63E716A6C96F076097E6C45F4372AE6828E9EAAE3EB82361710EC14F67F7D0ED9859249C18D14985302847FC8F3301BD31C7E1E09B2057E9EE46FCC7C9BD8DB59EB0DEB0B1D8D291508CB3837C9B2F191A49595D6AADDCEFEF0DD59ED3A05FA8F6EF03D38F534139D56BCBD4BC3256E1A120D49A5DB1BADB528B0256C61A2F179A23C49928738F9C0FA81FC196D1A74507998415F070EF9C38BAA53951FEE7B68008BC675E0E15BC32A61C30BC132E79C58A3A970FFDDB8B806782DD31242B3C3CF9810BEEA5FB5A1B250EA62336456E7694B4C829508C7DBFE090AF6A850F79D04D2C698637816017F8A920E1B1ADE236E227B3480899BCBB991F6C6C240BBD4114AAF9875935558394A486652B0942F3409B66FAF8B8BF711CC8C34CCA41B8E16C2CDF0160B92A332C1F04BC64582446B98AFF34189675B7A10FFC6F13B3F74654ED7C0590D4AF7F4D747BF89BB2A8F5C8CE610CF4FA4AB714A845E15649B53E54A95213D5A73905941D9467B0BEDDA2BECC1C219E1CAB699652D85B8CD7E0CD11CE5B0CAC76F9EF3D74BD829877898E7350CCA72101076A970BEC6756C3FD1AAF3396F72833F8D4E716AEC6F93718B262710B0DA2F3FD6CBDB204ED0E91D65CAB39ED35F22A01E5D509282752837EBEE968B140989EF5F4D513452784BDB892CAFD8387E05B3012C0458A369E62191F5BDC57DD63CE42E945F493C2B42306B8084F3B25E94ABACF08EE155F3621ACC9626EE487C7A7E4667F0377AE4B2 +MD = DBD19904881F4912F99EC39B6703727036C767D2097B9D1460B483FB1802CE5F6F5DE383A3CF40679D2A6415FE6EED2EBBFFA3A5BDD425295B0EBCF981AD1D3E + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_224.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_224.txt new file mode 100644 index 000000000..347a9fef9 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_224.txt @@ -0,0 +1,1026 @@ +# File generated with ../../loader.py from ShortMsgKAT_224.txt.old + +Len = 0 +Msg = 00 +MD = F71837502BA8E10837BDD8D365ADB85591895602FC552B48B7390ABD + +Len = 8 +Msg = CC +MD = A9CAB59EB40A10B246290F2D6086E32E3689FAF1D26B470C899F2802 + +Len = 16 +Msg = 41FB +MD = 615BA367AFDC35AAC397BC7EB5D58D106A734B24986D5D978FEFD62C + +Len = 24 +Msg = 1F877C +MD = 6F9D2898EFD096BAAAAAB2E97482DDB6389B8E6CAA964B7A0E347E13 + +Len = 32 +Msg = C1ECFDFC +MD = E405869DA1464A705700A3CBCE131AABEEBA9C8D2FE6576B21BCBE16 + +Len = 40 +Msg = 21F134AC57 +MD = 5573DA2B02216A860389A581F6E9FB8D805E9E02F6FA911701EEE298 + +Len = 48 +Msg = C6F50BB74E29 +MD = 163C9060163AA66B8B7C0CFAA65D934BFF219BCBC267187CABA0042F + +Len = 56 +Msg = 119713CC83EEEF +MD = CFC04C6F8463DDAB24CDF8B8652BD11DF23DD1B95F118328DD01580E + +Len = 64 +Msg = 4A4F202484512526 +MD = 7A5C2CB3F999DD00EFF7399963314CA647DD0E5AE1BDDEC611F8338D + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = A5A75806083AA9307074EF8FBD7DF592985E5F714611E812216C0449 + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = AC78FC53A1DB90A634F1AAAF90119C889C8C24B59B98B7366029CC73 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = 672CA6826686BEDB258532830D606B258C6DE60154EC0957CD8B858B + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = D98CA07E172B0BC53D679D2F8D002C63FD24A6307F2B7E1EEEF28BE0 + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = F122BE39C91A6C17CD5900F531E680D54CEDEFD4F0E3D113D26543D4 + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 2A26D2AD2015C67CABB7895EC5FA25473D4D1433FAE92B9B2CDA31F0 + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = A69E4EC1648CBBD595558EE4EA345E4196C2881E85E853739B1F4604 + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 5679CD509C5120AF54795CF477149641CF27B2EBB6A5F90340704E57 + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 455584A1A3BBFBB977AE08DDEE93DA5ACAE0F2F4C3CDAAF089728AAE + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = BB779E7267CAF0E891547EE3E3BABF17837671CF731ED56334F61CC3 + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = E7B181DAEC132D3B6C9DFBF61841135B87FB995BE20957B8CD095E2B + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = 44729646A05AD0503A876B448F88F177A0A263AB746CA6E30676ADB2 + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = 05E15793E417DD4E02CD6C5636D42C1638C164D70B79F717F25D1A15 + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 2C4077A8858966EF79AAC3EC6D82855EAD22867BA45D617A68CB926E + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = 2E897B479FBCBF42D2139F6768DF147A3B85C36A5B3F3C066EB0565E + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = BA76FFEFD006B81EF5991E697D0425621B16818EA27C11056E00904E + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 1C1E758D87399A36BF7C8A2E6A55CE6A4F0C498737956959959FD2AC + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = DDEA76409C61F6D1873F01A34251C74C37B34F28F7F482A84395B5F3 + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 777C523CF42D0006ED1F88F1BD0C3A5EF21814723794B8461A375C3A + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 8D7474ED6DEA4626AD3C1D06D2AD5B198CAAD07B12077C680CF6D89B + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = F525D4515D3CA54A2FAB9C679E93561FE151EA0960751352CD7F591A + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 9A8455F41F693B91B3DE46BF66FF09D42DC300B856B1DC2DFD12555C + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = 81AF3A7A5BD4C1F948D6AF4B96F93C3B0CF9C0E7A6DA6FCD71EEC7F6 + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = A27A051A36A1501974AD8E9873E9DF231AA9AD90EC1D7A8BBF8F639A + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = F217812E362EC64D4DC5EACFABC165184BFA456E5C32C2C7900253D0 + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = 5CA92B5F5830E1E5F8DF4391339DF7DF1F23BB31AA05437C103F1652 + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = 9F01F07D930F40A26407760104EFD10D4436295F6B8C41FE2A4E09EA + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = 22A3FED1F4E298C37A1D7BA0C80E994B11D95F290F3945A3CEB2E2E6 + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = 35F1AB1263211F738D3F97D0E4840C387E09369F23BF9239150D0306 + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = 34CC708B874D40478E82324BF3AA32FE9F85AFF8C60B4BADF97003E3 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 5F339B2F87E7F695B236267C819BA1705D97644AD72E0871C7E3A913 + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 8E20D5C83CDA8226B58CEFD74C293CA7579CBB3949CA9EB2F61565B8 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = 606255348812CFB5082F4D4BB6BBC2FEEF044E381FEB0E346061AA4F + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = C885274CC3BF110995FEF1154A86772F28B41E745E86E935B4E3A03F + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = EFA7F7E7BFFA6A5E7F7D1C24E7A0A9DC9A6F72B3E9550A0AAA06CCE6 + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = ACA7DCCC6B809D511F4C248CAA5D1374E734C1ED6B995760CC3C56D2 + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 6F1EF55CCC6EF9B68DE54C14448487901022452AB761F84644E9A127 + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = B297F61FF06021BFE1B9D350B3F54D810BC16ADE17001BAE1B4CD4A2 + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = BE9A75436C3988FB2FE21D0C10EAD9B9C807DE2E13A9BD8437F13332 + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = 4304582C3892942B1960822C965788B22DE19F1C6D5E204476ADFD26 + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = 0480EF8519C32F89C65B8DD450025EC49CBDADA6C4CFCFC6FB4F1C61 + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = 0BDE9CD50D70F00EED97CCE40C3DF22BB4904C08C4177C3A95985D97 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = 3BF3ADDB761AB32A38B7B47047AD45B68EDFD88ED475227447EA1B1E + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = 6182614C8257EB05E9AC0950E15E6044872E5C0AB2AF4540764CA0C8 + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 0B5DC722EEA2C348325FD9B3D7F08F365B71D5B582C27BEB79B51D5D + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = 29C2B817C75B6417BC89C262AF9D58F0C18FBD991F59F4181F237038 + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 62C5876694D88007709B50900EE2E6CA9505CC90067EFBF4C1D95B0B + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = D362BE7896B2AC3CA4DC3161B7F6C5B3FBE65F32D040402B8D306B15 + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = D420C7BDF8D86D7B1CBD1AF7868EBC4FF17245595B94959A0714333C + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 2E04DAE6E3FDF2A47FF40E6F3E61B371F3E51A5864A31CC11D127620 + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 22817A21CFCEC4FD2348B6BE8A7042A37754D76A3F33A8F818312CC7 + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = 68CAF2203317A8BED30C1792E888910124F2F0EE1D24D47274BCC856 + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = 7BBAC0C0F192D2C479348358D2247E4C08966A512F73D40445B52EC7 + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = D226D9E1F36EC4222693699B6D0383C1452E391C41EFD7645289F8E3 + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = 294A1E5A0629A2736F188691A35FE1ABB55472785DAFF6CD88C6D537 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = C533DCF88CD1A5DFF22B914D3875BD57FC17B2E1F474AE360C3877D2 + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = C9B7AD7A32B70DFB5A8A2FF9D98B300E484B996ED752A732D84DB6F7 + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = CF646D5E5C81818C97A01F393F8033CE3CB7CCD07FDAC9988766BD1C + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = D411E8A7CF50AAF91076A8CC5F01BF5B6BB2CCAE8046BF47871891FD + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = E094C0303D1841C6E4C0864857CF36CFC980E3CB4D78F18E301117C4 + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = 51948E1772C2C2EE49158D02A975B27477BD041262954C3E60F5ACC2 + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = 8214A2B0E8BB60CD3E4DFB0D0855D0F6C4BA6D2728D0687BDF75F79E + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = 8A2AE6B9AA7B1E08F8C7DC3BF5AE876660D30F79391714A175381091 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = 702B1906A63D0F924AFEC3BB5E5C5742E85F9834EA6F5306644811A1 + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = BF2101511220B7DFE54B127C2476EAADFD4EAB7FD0F6BDD193078AC8 + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = B07ADBED912723A07FA5353F665EC14FF82D85E90BE3E5A1F5C90FFF + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = D1718F0D387AC427111A7E90E575DE5F04778EA2BA147A8451914FF0 + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = FAF7D793024E6D05E77C5231712478822C915292FCC1427E6ACFD3CF + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = A375D756A8F39C72F67CA489C95F99350FFD0515B151A3BFF288CAAA + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 1BD1B6F3144A3DEE93DEA1DF03C0E958F485B8AE164DCEE55F973413 + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = BE88B495D0CD90281AF2094B8D7E72EB417288CA16F751C09694B682 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 7DAC046254808464024617D63A038267FE2CA65052BDEB569A0A9C15 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 89F6B320EFABE42CE13C9E20E4829F31A7848EEE3FC854E603FBD46F + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = A805DBD3B8DF5E03E05EFFFDE1B94B35A23C5D77C2797D984E56656F + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = F05742CC1DB422A3113AC49602E8D0DD6CB472E7ED26BCE40BBA09BD + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 45945F867B7E1E75EE496E0FC4AAFF71A0CC539841D153439AED4DFC + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 5A8AC7533E1354068B564CCD214EB2A2E097DD60E08BD69FC782B0AF + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = 059F7EB983362FD44E94E2BFD59CCED43CAE959C9A483EBD5E6E2036 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = 22D62AD272FEFC89F73256EAACE00C7B8E998FB322C8EB67DC1EAC6A + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = A396EA905EB612554BD00E4FC1BB4C5247D73FDE4BBAF5380ED42DD0 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = D8B5B24B9E92326FDE5DB1058EEDBEEDB0B65982925734B6E2844036 + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = FDB9015B20DB446F79575E6B8C73A98EAC731CFE2E59BD46DBDA0E35 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = DF1B47E73E8CBD2CA852CF58AD68B5F8BAA1169C0795961041E8A918 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 1E8A90918D6EAD31E446D4EE2673871ECC5C7DA9B18ED511E1632E0D + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 1060AFD1E1B9F7F41291A4861774B3B0C95A812788A41D7EBEF4A893 + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = EA91EDC393491B4CBC035B8538DF08E3C6B8CAD18338053C81FE2E08 + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = DF1AF149E5C92CB29174C1EDB6ED891EBCE4366010DC7CBFC9B1D757 + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = 5F698408BFF0246B05BAD96CB342B2FD2F11B6804EF2FA07A81B0920 + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = EBE6D61E8A946E0D45D3889F9E360ACD3A1A7D6C4B1307448E6E7357 + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = 1B7F6BCB2271AC9C3B558E95F85285EE756B03B767A01AC57D7C6E94 + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 436D1BCD6B3DE2677A72B93E2CEDB60C84A4FE125A802E2997EB2E67 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = 62B10F1B6236EBC2DA72957742A8D4E48E213B5F8934604BFD4D2C3A + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = 1186BEA0880D0A96F6A56BBB431F4D264838BB0180DCF66EF0B599CA + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = 383D2F41ECFDA5994E815432999D192E1A282FF5663196A4A268A67D + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = E2594A633B2DC671FD0DDFD3BF7238332C425520827C524FB0E19778 + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = 234764AAE8C39B1571D7741BB176FF86246070EC9AC97A1B2EB35472 + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = A634D7EBAA2BC0043EB5E237690E38FF1E05EE5A042882A233A2D92A + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = EF03FBB1EF3296EECFB98909E416D113B5741E44962EC57993C6DA5D + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = 210D245CC8B5A7B4C1B118A9890ECDDC34A66EA92805B7A7C19A944A + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = 517BAE010715A020435CFDB531B856C5704E0EC611360F60D5B76161 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = 79D478B4BC5E6FC2D406BB1C3834A5CE397A88E80135F55D8FE32C5E + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = F7BA7A56AFC1C58E62841C3B98F5677199F24B534B0D52D9A5C95495 + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = 78A90B769E9A326C93D5A6A6105AEE031DCEB2C8D222B36E02F27DB6 + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = 3D9D5C2FD2F60F4BB89E11FD3BC2FBD65602EB3F3F38D6FA03BDCE2C + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = E1FABE16152560387FADAD3324CBB94D8AF968786C3C994C8F926D32 + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = CEF84F1966215B1511F5E0DB564D6827898184FBCB88BE0213FC563F + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 8E4B5A2B79FC1E7D0526AACB5B9AC01A569635644C9249DFFEE3B927 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = BAFF55CDAD66AA77AD677E13A138B2F17286B504EA6B94EFFD9D9A95 + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = B4EFBE1167755F5A75B72CF15E0601662D036A16CAC8602A909FB328 + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = FA4BB608F8F60841E1189F8770051695CDC9935BDA7187C36419228A + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = B3A877231519C24E2EFA424E6057128EA105B54C65E58074B5B1583C + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = 9F385C0B645DB8DB8B73C98C40BE264FFEE6151C7B5A0964E67DAA9F + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = BD6C865993082EC7B3808C13FD140FE0C0667B3EE51B9F8F1F4DFFD8 + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 8CA844ACFCAABD3B969F86C2F1ECDF1620574EC8C24426BE2DCC1BB5 + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = E8D549FF8D53745A4C5C75BDAD92314025DA877A77CE49EA134840FA + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = E6BD80787F8704FFF73112E8B368ADFBA3A1109162C769491349DCEF + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = BD7D9E6CF9D2C1030F892533E01B72B5288E174B0864D81D71F8C6E6 + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = A5312E8C7F0A3594A8ECD1ABC5CBC14B2585F0B1FE32A4E1FA0A2E25 + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = 2E0D739386AAAF37980EE421AA8C19B19AF52E70F59DC0A6988471F5 + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = AF3E0CC6E64501F10FD39722E852355FD6D80D32190631E2F06C22AD + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = F009E05D1AFE2D33D2C5F4008B46F31468A7BF5299D4F0AB0EFE4FD3 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = 76281BD1613843A3ADBCBC78D1923AFB5B8AA2DCBC48934DEEC84AAA + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = DA7C79E04FCA2B69AAA58199CA69105B6B18FE67E29F380501AA7FA8 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 70ECB261757371A282903C696715DC03F106A339F076203BAB436E94 + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = 740D3CB455133173EC652AA04709EF0F549F19A9D4CC6BEC9E876B5A + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = 663835A81A2A38D5AD3A37BD9BC96618D27CA32286E9091834A0871A + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 2594153AC2DE681F4DEE340FA344EC388773A377D5B89E503254FD2E + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = 42275C296937745758FF2B7BEE9A897191AE87E42BD10198D9466C19 + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = 143F9055EB1F736729C77721FB65ED5EE142F6E969132FB22989C11F + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = 449A0313CCAB4427032B6BE9D66F827FFB4C71B538B2104F9D14D14A + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = 21E2760644A19ED18ED0CD74C4E4C071D770132AD215EB6F7D42B01D + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = D5534C72BE2E4B1FAAA813118B0D29DBB86F624067EA34515AFA08BE + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = C0CD413B1CE000A1BBE3A2CD103C7F8F95925AC6C8A5C922AFB5F96D + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = 93C6BF585E994B1669184AC71DC8E772B53443E668DA0786D528090B + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = BFE15BB51F680F2F489F0FDEB32F271090A09D1563F29FEAF92104E0 + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = 6D735FB7579135F61B771B2BB0D81514CDE9C977ACCF6FEAF6EDEBF0 + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = 6D93153145904CEBE0E8A66C272BEDF4F0D0A3C53AB30264135431A7 + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = AFE30535675A7021BF618941D94DDFFCCEFCAA1EF06CDE306D5D7A75 + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = 916501614891BD99400A8AEAABF69326FA98B833AED82386AB19E507 + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = 9C3759905E47E49CC7057C9237545D444F758535F991F7E8728F3A51 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = 733ACDF9CED47F2E43936ED6C2AC0F824F4F5B5D2942522D4DE5F6FC + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 530438B7A86B16434C82713EF7392D25C5CF814C7C6408368C4F2EAF + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = 84944EB018F8A124E3C969C037464EE32BACF8E58901D2E22291DF9A + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = 1311DA757C405F2A0EAB110B0C515F05FCD59F5495A9704252DA5AB8 + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = B5FDAEAD7E68333CEDB5D4AD636AE7059EB31305E2C831787FD51265 + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = 2919FD6C376AEC9F502893A9970B9AC6591855227C0E137BE01705AC + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 8910E7ABC3DAA506974EC13E35C43133EBFA91DEEC99BFAD4954447E + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = F8B4A4A6FBB8C8432712B5B815B36685C86656C3F67D05BDBB44B49A + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = 926FE0044B12422D3E4BFA52C59252ACC91DBF09C488AE9D31C7EB63 + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = A4E4B4A573F7B8865D77D7E57F7D840A55261A96E5FEDD763D0811F4 + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = EBFD796B29F6059931732F98602185B6377C4E6E40BD26C810D6DA96 + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 3FB7392A6621B852312A374C14A679AFB0E3D2EC6A2D147BD5E873F6 + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 8B3750655AF5ECA10CC4F291043590E2D19759253047A4C1DBC86577 + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = D3A5004477BBB21CF7D0FCA84E51A7A57E93FAE7222570C01B00E89A + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = 75B77C36E394711DFD35C11AEC8C033DCD7C18712F3B06D1FEDC1077 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = E52DF7FDF957269CA0B0F46553D554FE2E6367019B379A1E4F4C7A9F + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = 41853CD54692DBD478BB1E2D6CEDCDA1D139C838AC956A37C87F098F + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 1F2727D5132C453BD321A9FC7AA46FB8B3341D90988C41DE8439D2F1 + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = 5E745F8966D91EEE013B061281BC20C79B0323000A15BBDE7E0D25AE + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = CD2EEB7D48D0260986BADF16F15AA09B5229B7830C73EE95B8CBF85A + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = 3322FA727A0089F500A6A99D67419A76C7AF77EF2893E8D385B42720 + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = 234C1BC03FD4C3D38DD4C736B59A9107911210D54E98B3A372F57236 + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = BF229F4017E1674D4CB87B70D3D777C7114F085D77216437B860D641 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = F95DE3F40E5FAF58D3320B5B24ACEC7DE6B4B7E54C2F80F6D314AB5A + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = 04B3BBBDDFEBA441005A48CEBDBB1C6B6A674C2D9B224DA29844374D + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 6C1809CD88A0EDB211986359498E0AC37E25E8EB62946938C37D3C26 + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = D2744A1BBB34718FCBB614C21E1FCCD0FF88615CB82AA03803AB9460 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = F6115F635D98B572FD1BA85763ECCF8BF273FBF7B96F0DB0120CA8AD + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = 5EE73A4F13A08A2D9B1E52DF88972FFB9F03B843A387EE52B00EDCEE + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = 44BC64559BDB910B7079E0261FF8B49DBA141B32ECBCB70B3ABDFBF9 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = DE82ADDE823C312F83B3D4C0BD35AA0395AB747ABBC22A70973E2A6C + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = B1BA910C9F5E126607FF2531AFFECBA791261E354E2C1A81FDA7A756 + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = 3EF8D4A6BB8E172374E806E8D65D5F81B3FDB36299DE1C0CCC26DC65 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = 1C89D6460B3F13584BF8319EE538F24C850CA771A51ECC547652BAE3 + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 99981766CFE3B1888F2A008EFA1088016CB29993567F9BB74B5C4D3C + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = 0215E91EF992DCC7E82D16A2C9B27921C1310C182F59DF8BED5151E8 + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = E52EA6714A3978810DC19E999C32516D4ACF0CBCD67E917A4FEB56D0 + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = 4C3D6321133EF74810E60D3190FFF3CF20C8521CAEA6FF782D7E3BAB + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = B9F006DBF853C023DEBE2F40035A7E83C49CDE656EC86A4621950F3E + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = 0A5AA6BC564B8CB2F5FD7255455C0E7A5DACE0050C3BBD259FDE2AB9 + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = 8CA4E085F04956B5B16520E3A767F8BA937364FE5F4460288AD4F231 + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = C0AA34391CB3104C41995F3DE782F012D421585E5384E047A997062F + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = 33C10010A0B810386AE62F3F927DEAFC0D5AF0AF3DC7A8355CB779CD + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = 842A2E13D2728CA55B42D784BB6BC4B889E56775AD56BF75789CC57A + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = A576281CFAA89DCEFB1D37772400BA4CABCEEF33CBA2F833336A74F2 + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = B1579476972D42FA388FEEB8424834672C4D1A4225EE2DB89DEA7359 + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = A32EC69648B4FD9BA2431ED0FEF036188C19788D7DDF0D25B6B03ECD + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = 2B8CF4C8D9E6717EBCE4F0584ADA59A8ACDFAB98AD7E33F355B77095 + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = E583849474F3C759B7A3093C7ABADD61425073AEA2678E278215708D + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = 10795D3ABCC077F4A1F5B5653C478F9DB42110EA9F34925470B3CD11 + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = 31A843B4A9F332F3B6B099843540AA70651B26B80E0BD75B77F3AA9B + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = 1029CA117957D80F3C859E8394DD34969331CA3BCEDC436B1EAB0849 + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = 6096E9914C1AC93A6809DE7AD91119C637B00BBD64DCC3E1FAC1E1ED + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = F583F07DF2327887C6F10A9B1D509A744F3C294A4227976E3C3722E8 + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = A9F43B9621FC5902DF2458FD53D0CDE90AAE7000855C67D853C7937A + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = E9675FAAC37C93AA61FF9730679A3D1209ADBAD4652582DFF5B1BAAF + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = CDB500740812A0D70C68D0097DCC7ACA86EC066C89D36642879A74A5 + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = 66F205D7147991A940AFFB7401B692275338519A97608C584362FFEE + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 909FB29277AB2C4CE4279C485D4FBA7E18FF1A88C66DAF7ACF630310 + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = ED535EC075C983A08F7D7AD5714EBC846F25E8661492B2B31978EDF2 + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 87F15CC2AEC24168D8BBAF188825F3BB0178CFB5C5899F2FD042CE89 + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = 31BB872545217FDBF11077E86B1EE451475C31DC5E0E636EFBE50825 + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = 26D69F0AE8E4DC61C6354FF570FDD913CAF21C18697F0371F2D323AF + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 175393534D90B614B158105C95E18A1052A56D0E775EA1CF51AD5853 + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = 3DECD71DA22639985CF242F2FAE7172459042C826495C8D8D95C3719 + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = 2D0A56864BBEC6449FBF7B2EAE53DA46647183B56FA4EDB1602E5163 + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = A0FF9E11FBB451943A17E3AC510DE0B582BB072B16DC4E03F9E4019F + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = 4FEFBE74645949A1291C6F6F05EAF4B780EA01EC5EA5105ECDCB984A + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = 7CC9EEBBE0DF46A398233FA31286F8A530292B53E48BA54B6AE40472 + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = 03D718DA677C4018E52288BB30E4E6E732A16144931176F0A8C73970 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = A9ABB430FC1B3D8C6CDEB5319878E7B12B118E2E03F40562A376418C + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = 4A7A58B337872189A06B53B6BCC50C29EF9D0BBC491832907AF14EC8 + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = 808E01CD273919BA1BFF011E0E7094EC6D5C4962912B08F11965AB58 + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = DCBCC30B6909FDF00650F1A10CFBBD419408F9D37F378C5CA693B803 + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = BE077F12762EF51859B6C520B19231E30442AC268CE4FD47366FF9F1 + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = 25C425265AB07D0A8EC659D4D5EE618BDE87003B7255FF4B5315F1C7 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 046CF62C41CE9B0F54B667558063023F59887BADA9CC288414ADEE7F + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = 37E3844080986179FDA99E9B8C54E294643060795B66E810E3E25D9E + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 3B503D615E54132B42CAC1A0450A0D7E2EDC63ED87BF109C509C7987 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = CB40837DAF4A882538464DEC0A999DA482B4AAE08708EA6D5D7FF461 + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = EAE911E66661DCD3472B458A48B74730468923C7ABCAC7F311F02463 + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 307D5A8BA5865A4D281ACB2F3C5EF16E3B11BCD8C0F82D22D47C2CC8 + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = 58666B325D81CBE6A4BBAD91720E2BA93C70EA114E7F77323C5BE486 + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = BC296FFD39381CF1C96228A9F380F41C871B8788C654ED9B384C17FE + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = 0CCEAE713E5E39BCEFE7A2273004816FE005D5EDFB2A965CC9AC9948 + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = 7997FDF30837D8B25E85FC01316E31B61EE814490DA002A04816D7CA + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = 9897B479871AC73DABBE6221E27BFA67278F2BB044E3D0726FCB2B81 + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = EAD2620FBC4BDFB14AEC8C7B9AA882BA3EB2AACC9A15D7D36DBA086D + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = 545E59812C7AEA1BD1CD48880D6650117DFD9E58A791DAC1072B19DA + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = 7C2FA00961BCF020B95A0ED7193EA3583340BBD37898EF6A464C1940 + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = 232DB22EB2C19109AFEFB71918EA2DAA7C0D76652E1884EA7A8AE646 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = DB85AF5CFCE746240E6D44E73CEF66A72CE5968284D35FFEF7FBFF6C + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = A1EB42FB0792361F0D6809A2E8DC062F09F2855B39BC2C4B7F54311E + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = 1AF4A3AB9A07CF064C254D122CC7DE15E0F0D3CA3DFA50EA1C43A78D + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = C14D43525E18892C79142D887D2AD3992848B72CCC087F64F0F1D621 + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = 116C0462D50D57F948015EC74BE9015707313712B45883C02FE84E1E + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 96F7111176641F6373701BA594090079146D4220F30B5120C12498BA + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = 9EDDAB2C9C60B122503C1C30EC6E74050EE13C7E103A05F9ED41D992 + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 54CC87B9655180C0E1C6672350AE1952DDF51EE5D7E215569652AA2E + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = 4629C97F9BA98698E0DDECA5E0A3B6DE210EA9E84BF942C2CCF4EC68 + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = F45034AA94C1A2686EB849EF4262F2F5BA9ACDD0E8EA32401E060B43 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = 62153F592C49D3C0485F80073319049A510C730327940CD9D52F3698 + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = ECDE4D6EB0CF28010B45D0D310E7D05F08B80AFC44B8A359BE7E1923 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = 3BFC5018CF15CB88007929924B3E014635EF135C91F9671B29BE8731 + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = 22715559AD15717722B1FA0583996090C79C3DF16CC1E6E0F6D3E898 + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 2F36FF8AB7264F7A5766DE025018E19B5A64D90994B743B8FBFBDCCA + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 5AF56987EA9CF11FCD0EAC5EBC14B037365E9B1123E31CB2DFC7929A + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_256.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_256.txt new file mode 100644 index 000000000..15a1ba0bb --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_256.txt @@ -0,0 +1,1026 @@ +# File generated with ../../loader.py from ShortMsgKAT_256.txt.old + +Len = 0 +Msg = 00 +MD = C5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470 + +Len = 8 +Msg = CC +MD = EEAD6DBFC7340A56CAEDC044696A168870549A6A7F6F56961E84A54BD9970B8A + +Len = 16 +Msg = 41FB +MD = A8EACEDA4D47B3281A795AD9E1EA2122B407BAF9AABCB9E18B5717B7873537D2 + +Len = 24 +Msg = 1F877C +MD = 627D7BC1491B2AB127282827B8DE2D276B13D7D70FB4C5957FDF20655BC7AC30 + +Len = 32 +Msg = C1ECFDFC +MD = B149E766D7612EAF7D55F74E1A4FDD63709A8115B14F61FCD22AA4ABC8B8E122 + +Len = 40 +Msg = 21F134AC57 +MD = 67F05544DBE97D5D6417C1B1EA9BC0E3A99A541381D1CD9B08A9765687EB5BB4 + +Len = 48 +Msg = C6F50BB74E29 +MD = 923062C4E6F057597220D182DBB10E81CD25F60B54005B2A75DD33D6DAC518D0 + +Len = 56 +Msg = 119713CC83EEEF +MD = FEB8405DCD315D48C6CBF7A3504996DE8E25CC22566EFEC67433712EDA99894F + +Len = 64 +Msg = 4A4F202484512526 +MD = E620D8F2982B24FEDAAA3BAA9B46C3F9CE204EE356666553ECB35E15C3FF9BF9 + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = 9E03F7C9A3D055ECA1D786ED6FB624D93F1CF0AC27F9C2B6C05E509FAC9E7FCA + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = CAAD8E1ED546630748A12F5351B518A9A431CDA6BA56CBFC3CCBDD8AAE5092F7 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = D61708BDB3211A9AAB28D4DF01DFA4B29ED40285844D841042257E97488617B0 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = 0F53BE55990780B3FAD9870F04F7D8153C3AE605C057C85ABB5D71765043AAA8 + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 32215AE88204A782B62D1810D945DE49948DE458600F5E1E3896CECA2ED3292B + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 9510DA68E58EBB8D2AB9DE8485BB408E358299A9C011AE8544B0D0FAF9D4A4EA + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = F20B3BCF743AA6FA084038520791C364CB6D3D1DD75841F8D7021CD98322BD8F + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 0E32DEFA2071F0B5AC0E6A108B842ED0F1D3249712F58EE0DDF956FE332A5F95 + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 9204550677B9AA770E6E93E319B9958540D54FF4DCCB063C8561302CD8AFF676 + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = A6D5444CB7AA61F5106CDEDB39D5E1DD7D608F102798D7E818AC87289123A1DB + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = 5796B993D0BD1257CF26782B4E58FAFB22B0986D88684AB5A2E6CEC6706275F9 + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = CFBE73C6585BE6204DD473ABE356B539477174C4B770BFC91E9FDBCBC57086E6 + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = 31C8006B0EC35E690674297CB27476DB6066B5FA9825C60728E9E0BB338FB7C3 + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 3B8FA3904FE1B837565A50D0FBF03E487D6D72FC3CEA41ADCCE33DF1B835D247 + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = 37FEBC4DF9D50DAEABD0CAA6578812A687E55F1AC0B109D2512810D00548C85B + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 2329810B5A4735BCD49C10E6456C0B1DED5EAC258AF47CBB797CA162AB6D1BA8 + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 6FFFA070B865BE3EE766DC2DB49B6AA55C369F7DE3703ADA2612D754145C01E6 + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = B30761C053E926F150B9DCE7E005B4D87811CCFB9E3B6EDB0221022F01711CF0 + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 04F1B3C1E25BA5D012E22AD144E5A8719D94322D05AD9EF61E7DB49B59959B3A + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = AEEF4B4DA420834FFCED26DB291248FB2D01E765E2B0564057F8E6C2030AC37F + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 03D26AEEB4A7BDDDBFF7CFF667198C425941A2776922DF2BEC545F5304E2C61C + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 435CFC0D1AFD8D5509A9CCBF49706575038685BF08DB549D9714548240463EE9 + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = D477FB02CAAA95B3280EC8EE882C29D9E8A654B21EF178E0F97571BF9D4D3C1C + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = 24DD2EE02482144F539F810D2CAA8A7B75D0FA33657E47932122D273C3F6F6D1 + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = E78C421E6213AFF8DE1F025759A4F2C943DB62BBDE359C8737E19B3776ED2DD2 + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = CCE3E3D498328A4D9C5B4DBF9A1209628AB82621AD1A0D0A18680362889E6164 + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = F871DB93C5C92ECD65D4EDB96FCB12E4729BC2A1899F7FB029F50BFF431CBB72 + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = 4EB143477431DF019311AED936CAB91A912EC1E6868B71E9EDDB777408D4AF34 + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = 9A0C1D50A59DBF657F6713C795ED14E1F23B4EAA137C5540AACDB0A7E32C29FC + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = BA062E5D370216D11985C4CA7A2658DDC7328B4BE4B40A52DD8FA3CA662F09D1 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 3A083AE163DF42BD51B9C664BEE9DC4362F16E63383DF16473DF71BE6DD40C1C + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 4876E273AC00942576D9608D5B63ECC9A3E75D5E0C42C6ABDBCDE037785AF9A7 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = 4797BA1C7AB7197050D6B2E506F2DF4550E4B673DF78F18C465424E48DF5E997 + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = 41C91BE98C5813A4C5D8AE7C29B9919C1CC95B4A05F82433948CB99D9A6D039C + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = EE354290E3F9CE9123C49BA616E1A2684A90F3DDD84E73A1D2C232F740412B18 + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = FBEC0B6D71696EEDE900B77AA6D7D25F4AB45DF8961CA9C8B3F4F9B51AF983AB + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 9D24AEEA08F9A4B5FB8B6DE85A2296F5F4108DDD1EEA4F8EE58819CF84EDB765 + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = 732034CAE3FF1116F07FC18B5A26EF8FAF3FE75D3DBCA05E48795365E0A17C40 + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = DEAC521805BC6A97C0870E9E225D1C4B2FD8F3A9A7F6B39E357C26414821E2DD + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = AD55537347B20D9FCA02683E6DE1032EC10EB84DA4CBD501E49744A666292EDF + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = B1F990204BF630569A3EDC634864274786F40CE1C57165EE32D0E29F5D0C6851 + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = FA460CD51BC611786D364FCABE39052BCD5F009EDFA81F4701C5B22B729B0016 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = F7B0FE5A69FF44060D4F6AD2486E6CDE9ED679AF9AA1ADA613E4CC392442BEB5 + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = 24204D491F202534859FC0A208237184471A2D801FB3B934D0968D0D843D0345 + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 81147CBA0647EEE78C4784874C0557621A138CA781FB6F5DCD0D9C609AF56F35 + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = 5B6D7EDA559574FAE882E6266F4C2BE362133E44B5A947ECB6E75DB9FC8567E0 + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 86F87E75C87F9BE39E4AA6D0C5A37A5964D6FFDC462525C0642C9DB010DE38EE + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = 959FE007B57C2947C36D1D66CC0808D80DB7DF45D68A34852B70D2DDA192C25C + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = 1A93567EEBC41CC44D9346CDE646005D3E82DE8EEEB131E9C1F6D1E4AFD260F7 + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 549DB056B65EDF7D05BD66661B6D0A39B29B825BC80910F8BF7060A53BFF68E1 + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 794ABFD7EB622D5608C1C7B3F0A7821A71900B7172847FB0907AA2899972663E + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = 9CE89958CBDDD8DCB22F66E8CBA5F6091A51953189464803BDC773ABC7FAA906 + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = 6DA733817DC826E8DA773BECA7338131AB7396417104EDA25970980C4EB2A15F + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = 66C9CDC8E8C6C9417D7FFBEF3B54B702EEE5F01A9BDA8DD4E28FE3335DEBBB51 + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = 24AB37A93674CCB1CEEC9E5681EFC8BDF9FCC7721CF1CAC175E0B20E461575B8 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = 574271CD13959E8DDEAE5BFBDB02A3FDF54F2BABFD0CBEB893082A974957D0C1 + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = 1947E901FA59EA789845775F2A4DB9B4848F8A776073D53D84CBD5D927A96BFF + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = 0C1B8C1AF237E9C5501B50316A80865AAC08A34ACF4F8BEDD4A2D6E7B7BCBB85 + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = C4315666C71FEA834D8FF27F025F5CC34F37C1AAE78604A4B08DAC45DECD42BE + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = 5FF8734DB3F9977EEE9CF5E2CF725C57AF09926490C55ABD9D00A42E91A8C344 + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = 1E141A171CAB085252EA4C2F8F1F1087DD85A75AB3ACD0B3C28EAA5735D349AF + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = EF763F22F359DD7F5B3FE6A745C423D6B641EC07BA5235232A0701510F74426E + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = 6A769F93F255B078FE73AFF68F0422A279939920E4690B4AFF0E433CFA3D3DF3 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = C06DD4261638C44AFCB186F0AF5DE20EA53AA63316FBB71728F874FF3DACEB0D + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = B5D84B1809E83B5E75AA53BDEE79E3A97F3FE3A7D3162EBD4908240FF69131D8 + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = CAD7ABB5BBA5905B5181DD2DBC4E68CFD01BA8659F21C8290D3F835C1A68BBE5 + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = 83CA09C1F418B5DAD0A7F64A904A2E07C3314F7D02D92622F8F4674BC1F6AA3D + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = 330DE3EE16AEF6711461A994863EED47AF71B362D4C2F243534EF432F63A091A + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = B5675197E49B357218F7118CD15EE773B39BD59B224D9A45CA71C6E371D938F1 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = CD9038C1066A59990DF5752107B066EEBBE672CBCA0F60D687D03A9D821934BE + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = D3172CA263AFF2B9DB6FB13337F2543C5AF51151801A76194012F710306C14F6 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 9E3D4BCF580EECE39BCF13E5716E5BB8F5E8C3FC3723F66246F836D8DB1238F1 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = EDC2D3B49C85B8DD75F7B5128DA04CD76BF4878779A0077AF3F1D7FB44F18931 + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = 80DCE7F04DD6AC17CE709B56CF6EA6C0A57190649BB187B5E6D95FA18100C7AC + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 49BBD5435D2706F85FE77B84A5FA15DDD8259E5D2C20FB947F139373E5C86121 + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 6B6C11F9731D60789D713DAF53D2EB10AB9CCF15430EA5D1249BE06EDFE2BFF6 + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 7E738E8EB3D47D18E97D87C7B3FC681F86417883CED92BA93C3077812BBD17E7 + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = A278BA93BA0D7CD2677BE08C9DFC5F516A37F722BB06565FA22500F66FE031A9 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = 9C0A9F0DA113D39F491B7DA6C4DA5D84FE1CC46367E5ACC433CA3E0500951738 + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = 6BED496D02FE4CC27D96DCEED14A67DA7BDF75E19B624896DFF6B0B68E4FCC12 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = ECD2E3FAF4BA4DD67E5A8656CEBEBDB24611611678E92EB60F7CBD3111D0A345 + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = 634A95A7E8BA58F7818A13903EC8F3411B6ECB7E389EC9AA97C0ECF87FADD588 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = A0FE352BA2389B0430EDBE1201032EB09C255514C5C5B529C4BAAFCEB1AC9817 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 9A0BFE14F9F3127ACA86773A620945731DF781A6D7DC82930CCDE2F69DAC8F94 + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 19E5101BDE60B200A8B171E4C3EA3DFD913E10111D96F9682ACC7467282B4E31 + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = 4CC2AFF141987F4C2E683FA2DE30042BACDCD06087D7A7B014996E9CFEAA58CE + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = 9A8CE819894EFCCC2153B239C3ADC3F07D0968EAC5EC8080AC0174F2D5E6959C + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = 8B35768525F59AC77D35522AC885831A9947299E114A8956FE5BCA103DB7BB2C + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = 955F1F7E4E54660B26F30086F2DDDAEDD32813547C1B95D305D882682B4FF7A0 + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = 8FAC5A34EBAFA38B55333624A9514FE97D9956E74309C5252CD2090D3BBE2F9E + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 62039E0F53869480F88C87BB3D19A31AAD32878F27F2C4E78FF02BBEA2B8B0B9 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = CE87A5173BFFD92399221658F801D45C294D9006EE9F3F9D419C8D427748DC41 + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = 2EF8907B60108638E50EAC535CC46CA02E04581DDB4235FBAC5CB5C53583E24B + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = BE8B5BD36518E9C5F4C768FC02461BB3D39A5D00EDEF82CEC7DF351DF80238E0 + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = 52CBC5DBE49B009663C43F079DD180E38A77533778062A72A29E864A58522922 + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = 3A8DFCFD1B362003DDFA17910727539E64B18021ABBA018B5F58D71F7A449733 + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = FA221DEEE80E25E53C6C448AA22028B72501F07D1FF2C3FC7F93AF9838B2D0A9 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = ED9C8B87FCE27BE4E95610DB1DDD0C035847F4699DFC8C039A798A30343A6059 + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = A485CC9CF4CA4F659F89A0B791A4423953424AC57146B879D385A9E4062AFE52 + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = 93CD4369A7796239A5CDF78BCE22EBB2137A631C3A613D5E35816D2A64A34947 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = 3751CE08750D927EB5C3AE4CA62A703A481D86A4FA1C011E812B4BC0A2FEF08D + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = A88C7EF7B89B7B6F75D83922B8FD00F034D719F97C67884121434447AE9DD3B9 + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = 2B4F8F9EF7D6ED60BB4881E635E0F887A51B0C1A42BAB077976B43D2C715E11A + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = 586CFFDC434313CC4E133E85AC88B3E5DEA71818ABCAC236F0AAE418F72B6CDE + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = 52D14AB96B24AA4A7A55721AA8550B1FCCAC3653C78234783F7295AE5F39A17A + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = B6345EDD966030CF70DFB5B7552BC141C42EFE7A7E84F957B1BAF4671BAE4354 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 0347901965D3635005E75A1095695CCA050BC9ED2D440C0372A31B348514A889 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = F0BF7105870F2382B76863BB97AEE79F95AE0E8142675BBCCDB3475B0C99352F + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = 631C6F5ABE50B27C9DEA557FC3FBD3FB25781FCB1BBF9F2E010CCA20EC52DBC4 + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = 3757A53D195B43B403A796A74AAFB2064072A69E372EE5B36CC2B7A791F75C9F + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 0CC903ACBCED724B221D34877D1D1427182F9493A33DF7758720E8BFC7AF98EE + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = F23750C32973F24C2422F4E2B43589D9E76D6A575938E01A96AE8E73D026569C + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = 1ECE87E44A99F59D26411418FB8793689FF8A9C6EF75599056087D8C995BCE1E + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 71B4F90AC9215D7474B1197D1B8B24449FD57E9B05483D32EDBEBCB21A82F866 + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = 3B3678BB116FADAB484291F0CF972606523501F5B45D51063797972928E333C0 + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = 4068246495F508897813332962D3AE0B84685045E832A9A39AD5E94C154D2679 + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = 82696259536520E5E4D47E106BD1DCB397529AAFB75878F332D2AF2684493F1B + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = B494852603393B2B71845BACBDCE89FA1427DFE4AF9CDF925D4F93FA83B9966B + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = D8A619C0DFBED2A9498A147B53D7B33DD653D390E5C0CD691F02C8608822D06A + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = D82E257D000DC9FA279A00E2961E3286D2FE1C02EF59833AB8A6A7101BC25054 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = 8D5B7DBF3947219ACDB04FB2E11A84A313C54C22F2AE858DFC8887BF6265F5F3 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = 607C3F31342C3EE5C93E552A8DD79FA86DCCAE2C1B58AABAC25B5918ACFA4DA5 + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = 0656DE9DCD7B7112A86C7BA199637D2C1C9E9CFBB713E4EDE79F8862EE69993F + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 4DDD6224858299F3378E3F5A0ECC52FA4C419C8EBB20F635C4C43F36324ECB4E + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = EC096314E2F73B6A7027FFFA02104C2F6DD187F20C743445BEFD4B5C034B3295 + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = FE71D01C2EE50E054D6B07147EF62954FDE7E6959D6EEBA68E3C94107EB0084D + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = BD6F5492582A7C1B116304DE28314DF9FFFE95B0DA11AF52FE9440A717A34859 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = E717A7769448ABBE5FEF8187954A88AC56DED1D22E63940AB80D029585A21921 + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = A95D50B50B4545F0947441DF74A1E9D74622EB3BAA49C1BBFC3A0CCE6619C1AA + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = ED53D72595ACE3A6D5166A4EDE41CCE362D644BDED772BE616B87BCF678A6364 + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = 810401B247C23529E24655CAB86C42DF44085DA76CA01C9A14618E563B7C41BE + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = 9F01E63F2355393ECB1908D0CAF39718833004A4BF37EBF4CF8D7319B65172DF + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = 7EC11DE7DB790A850281F043592779B409195DB4ECEDEEFBB93BA683D3BCA851 + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = A74AF9C523B4A08D9DB9692EA89255977A5919B9292B7CD0D92C90C97C98E224 + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = 344D129C228359463C40555D94213D015627E5871C04F106A0FEEF9361CDECB6 + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = 4CE7C2B935F21FC34C5E56D940A555C593872AEC2F896DE4E68F2A017060F535 + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = 24B69D8AB35BACCBD92F94E1B70B07C4C0ECF14EAEAC4B6B8560966D5BE086F3 + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = 19F34215373E8E80F686953E03CA472B50216719CB515E0667D4E686E45FCF7C + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = 290BD4808E5676EB0C978084E4CD68E745031659A26807AD615B10CDA589B969 + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = 70999AB9818309AFA8F1ADC4FEA47A071A8ABD94012F7CE28CC794A0D997C5CB + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = 83120033B0140FE3E3E1CBFEBFF323ABC08535C0AA017803F5D2F4ECB35F5DFB + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 5584BF3E93BC25945C508B9188D0502C6E755BBEBABFC8CB907FA7A252EF464A + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = C234B252C21EDB842634CC124DA5BEE8A4749CFFBA134723F7963B3A9729C0B4 + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = 645F25456752091FFFCAADE806C34C79DFFE72140C7C75D6A6ECFEEDF6DB401C + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = 2D7CAC697E7410C1F7735DD691624A7D04FA51815858E8BA98B19B0DED0638B5 + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = F664F626BC6B7A8CF03BE429155EE1F5CD6ECF14816DE49A5E229903F89A4DC6 + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 06425E83E4AF817D735E9962C0CDDCE2CD40A087A6B0AF3599719E415AB9A72A + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = E8C329149B075C459E11C8AC1E7E6ACFA51CA981C89EC0768ED79D19F4E484FB + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = C86768F6C349EB323BD82DB19676E10BD8AE9F7057763556BBB6D0B671E60F2A + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = D97F46F3B7EDBFB16E52BFEC7DBA0815B94D46E4251E48A853EABDF876127714 + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = 51D08E00AAA252812D873357107616055B1B8C5FB2AC7917D0F901DFB01FAC47 + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = C6A188A6BDACA4DD7B1BC3E41019AFE93473063F932C166E3242B7F52A3C6F8E + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 2B31FBC565110110011AB2C8F6CC3DA8FB55D41B1AE5E04310283F207D39682D + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = 1351F5DBA46098B9A773381D85D52FAD491B3A82AF9107F173DB81FB35ED91D2 + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = DFFC700F3E4D84D9131CBB1F98FB843DBAFCB2EF94A52E89D204D431451A3331 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = 26726B52242EF8ECF4C66AED9C4B46BF6F5D87044A0B99D4E4AF47DC360B9B0E + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = 25E536315F08A40976ADECB54756EBC0B224C38FAF11509371B5A692A5269AB5 + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = AB504592AD7184BE83CC659EFB5D3DE88BA04B060B45D16A76F034080DDE56C6 + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = 5D8EE133EC441A3DF50A5268A8F393F13F30F23F226AE3A18EC331844402FF54 + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 712B1CC04C009B52035CC44C9505BB5CB577BA0AD1734EC23620F57EEF3D37FB + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = 942E39E230A2251FFDB2F85202871C98597008401B322FF9840CC90CC85B337D + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = B542B6CD8EF2DAB4ED83B77AC6DC52DAF554ECDA4EF7AB0A50E546BEBE2D8E5A + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = F7E9E825722E6554A8619CCA3E57F5B5E6B7347431D55CE178372C917BFB3DC2 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = 14BB22B98EAF41A4C224FD3C37188A755F9B04F46F3E23A652DA3DB9E25D2F2C + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = EB5668F9941C06E5E38EA01B7FA980638B9536CA1939950C1629F84A6EFF3866 + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 913014BB6E243FAC3A22A185F8227A68C2311DC0B718E276BBBDB73AF98BE35F + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 0284418C10190F413042E3ECEB3954979B94AFBF2E545FC7F8A3C7DB2C235916 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = 8FEBFF801787F5803E151DCA3434A5CD44ADB49F1C2FFD5D0CD077A9075A492D + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = EA7511B993B786DF59A3B3E0B3CD876C0F056D6CA43CC89C51C1B21CCDC79B42 + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = BAAECB6E9DB57971D5C70F5819FF89C5093254DE19EF6059C43CC0AFDA7C5D34 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = 56DB69430B8CA852221D55D7BBFF477DC83F7CB44AB44DDD64C31A52C483DB4F + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = F8538F597F4463CAD7A91905744B87156DB33C65BA87B912427FEC3669F425D4 + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = 447EDA923CFE1112A6F1A3E4C735BF8EE9E4F2AEE7DE666A472FF8CF0FC65315 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = 74D94C13AFEA4DDD07A637B68B6FE095017C092B3CDCCDC498E26035D86D921E + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = CC11196C095BFFA090A05BA0BC255D38BDA7218D9311143F4F200B1852D1BB0D + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = 8C085B54C213704374DDD920A45168608BE65DFD036A562659F47143604144C2 + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = D2E233264A3773495FFD12159EF7B631660C1B3E53A3DA0F24AE14466F167757 + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = FFAC7CA5FA067419D1BDB00C0E49C6E1A748880923A23ED5DD67DDE63D777EDB + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = 5B2ECA0920D32B1964BBF5810A6E6E53675ED1B83897FD04600D72E097845859 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = 68F41FDFC7217E89687ED118BC31AC6ED2D9D1E1A2F1B20A2D429729FA03517B + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = FA2F3DE31E9CF25AB9A978C82D605A43EE39B68AC8E30F49F9D209CB4E172AB4 + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = BA2AF506C10DA8D7751E67ED766CFCD47D048D6EF9277DBD2ABFE2FD5D787B79 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = 3CD33F8811AF12183C53E978528F53AE7D559432724029E55FCFA9B990B91713 + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = 3ECC9D27994022045CBEAB4FC041F12419CEC8060C8F6F9F0372884DF6074B5C + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = 1501988A55372AC1B0B78849F3B7E107E0BF1F2CBAF670DE7F15ACBB1A00AD3D + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 5C4E860A0175C92C1E6AF2CBB3084162403CED073FAAC901D0D358B6BF5EEFA9 + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = 272B4F689263057FBF7605AAA67AF012D742267164C4FAB68035D99C5829B4F0 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = 9B28E42B67EF32EC80DA10A07B004E1D71C6DCE71D8013FFA0305D0D0CE0469D + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = EE53F83D2E2CCC315C6377EADDA5F42F42F3AADD664E3E895C37CBE9D0E9B9DE + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = 21CCFDA65C4B915303012B852AB29481030F87347C29917E21F210F2BD5EFC9C + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = F5BF70710DA440EDB43AFD3EB7698180317FFEFA81406BB4DF9C2BB8B0B1C034 + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = E83EA21F5BC0976953AF86069A10EB6024A1AC59D609688E4A9759BB8B6C9441 + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = A2D93C6367E1862809D367EC37F9DA44CB3A8B4319C6A094C5E7D7266FE3A593 + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = 3C647B195F22DC16D6DECC8873017DF369EE1C4696340934DB158DC4059C76DF + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = 3BB394D056D94FDE68920CD383378EE3ABCC44B7259D3DB9CD0A897E021F7E2E + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = 43640F408613CBF7393D900B921F22B826357F3B4FDFF7168EC45CBFB3EF5EFF + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = CB3713A5D5ABBC6AF72F8B38A701C71269B3B51C62EC5116F96AD0D42A10FD90 + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = B304FC4CA22131857D242EB12FE899ED9E6B55717C3360F113512A84174E6A77 + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = A3CA830D4771C1BAA7FADA76C5FCEADD0F3CB9736E19CFEC52E9E74F56BFDD55 + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = CA158C46370E64A9F032F5BA8E091460FD555EF700EDF7087E56BEBFFA261DE7 + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 5901CDA0CD1510DB5455D072D2737A6721AD9EE3272953A19C7AB378BF3646C5 + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = F64562D6273EFB5EBD027E0A6F38C3FB204A6DBE894EE01200EA249B747CFE66 + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = E7D7A113B3A33175D0ABD2CF4F9ADD8E41DC86C93C9552C5B3588277FBCAA24A + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 3B40C1493AF411AE7849904D478DF2407254BF62B88E9BFFD7B42BD2A60CE0FA + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = FEEB172AEAB2F0DEB748FB77801CA22D3CE99B7A9F9789E479B93D1F4B1D227F + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = B240BC52B8AF1B502E26BF1D5E75FE2663BFBA503FAF10F46754DC3D23CB61C1 + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = 3EBACE41F578FDE6603E032FC1C7CFEEF1CB79FE938A94D4C7B58B0BA4CB9720 + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = 65EB4BD5ECCA7164CE9B66727F112C1AC6120DDD200DCB5CE75B7487843FCDB8 + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = D7155F6D3A90801F5E547689389FF62A604C81B7C1583D9204AC6B0194F0E8DD + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = AA7ADAF16F39E398B4AB0ADA037710556B720B0248D84817B2CFDF7600933595 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = B195463FE22A160802BE0A0464EE3AB4D2B117DE517B331C7BF04C8BA90C6120 + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = 9F9296C53E753A4DE4E5C5A547F51763A96903B083FBC7A7828EFFE4763A7CE6 + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = 51DE4090AEC36F6C446476C709253272CAB595D9887CA5D52A9B38086854D58F + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = 87A17400F919F2F53232B2205E1E8B14BD5698A76E74B9BDD5638A5C7BA5DE1E + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = 9742536C461D0C3503A6C943FA8105DBCD1E542F728D71CCC0517CFFC232EA68 + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = AE3BF0936497A2955DF874B7F2685314C7606030B9C6E7BFB8A8DFF9825957B5 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 5FE0216DCC1BDB48F3375B9173B7B232939AA2177C6D056E908C8F2B9293B030 + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = C339904EC865F24FB3F88F142A8786D770934E006EAEDDBF45ACBB6B38431021 + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 4CA8B7FEBDF0A8062E9B76185CF4165071BB30928C18F14338C305626789C6D3 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = 23D2614420859B2F13AC084453DD35C33FE47C894DD50C087FD1653FCAEEA00B + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 5590BB75247D7CD0B35620F0062B90FFB2A24DE41220ED629D9E9A7ABCADFB51 + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = E5932441B012E503B0B0C6104703BA02613E472AD65655C085B0ADB07656B28F + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = 21C0D84EB7B61774F97DB5D9ACF1DFFAFB662C01ED291A442BEC6F14D1334699 + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = 0D1E6BB88188B49AF0A9A05EB1AF94255E6799515A2F8EB46AA6AF9A9DD5B9E0 + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = 935DED24F5CECC69E1F012B60B7831ABCE7EF50EEB0BEA7F816C3DBF2B4ABDC1 + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = 6755BF7E60E4E07965BAC24E51B1DE93E3DD42AE780F256647D4CC2EF8EFF771 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = 62C9F5E5B56E2994327A7F9A03888DA7BAD67E387593803B1807482B137B4509 + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 9927FA5EFD86304E73D54AA4928818C05B01504672C529471394A82E049E5F95 + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = 84E056BF7BDFC73A3AAA95B00A74A136D776069BEEB304423BEAD90120DB6350 + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = 401C3BE59CC373453AEF9603F7335C1D5FE669909A1425D7671DCB84A49887CA + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = 020485DCD264296AFDB7F643CA828C93356F1714CBCC2FBBDD30F9896C3F2789 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = F8C43E28816BB41993BDB866888F3CC59EFBA208390144D3878DBF9FBFA1D57E + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = 4EA524E705020284B18284E34683725590E1EE565A6FF598ED4D42B1C987471E + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = E4963E74AE01FF7774B96B4F614D1CB2A4CF8D206ED93C66FA42F71432BE2C3F + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = 0F0D72BF8C0198459E45ECE9CC18E930CB86263ACCF1FC7A00BC857AC9F201AD + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = DD1D2A92B3F3F3902F064365838E1F5F3468730C343E2974E7A9ECFCD84AA6DB + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 21BF20664CEC2CD2CEB1DFFC1D78893D5CA1A7DA88EB6BFD0C6EFCA6190C9E15 + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = 6472D7C530B548E4B47D2278D7172B421A0FB6398A2823DD2F2B26208AF8942E + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 2AC7FF80EE36D500995C973B8746D8466715E6D8B0F554AACB5D2876D7F5B874 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = 9FF81D575F7BF0C4EF340B4279D56E16CE68821AFCDF2A69105D4F9CADADD3CF + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 09EDC465D4FD91C5E86B292F041BCC17571E1F2E17D584DFF21DD7DD8D8BFF35 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = C6D86CC4CCEF3BB70BF7BFDDEC6A9A04A0DD0A68FE1BF51C14648CF506A03E98 + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = 1AFC9BA63EEA27603B3A7A5562E12B31E8FE9A96812B531E9D048385FB76D44F + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = 9B5E15531385F0D495FDBE686E3E02ECA42B9F1B1CE8837AD3B3E42E6198050A + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = 216FC325F942EED08401527A8F41C088527C6479342622C907EA08FF3290F8C6 + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 43184B9F2DB5B6DA5160BC255DBE19A0C94533B884809815B7B326D868589EDC + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 348FB774ADC970A16B1105669442625E6ADAA8257A89EFFDB5A802F161B862EA + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_384.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_384.txt new file mode 100644 index 000000000..ab58160b8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_384.txt @@ -0,0 +1,1026 @@ +# File generated with ../../loader.py from ShortMsgKAT_384.txt.old + +Len = 0 +Msg = 00 +MD = 2C23146A63A29ACF99E73B88F8C24EAA7DC60AA771780CCC006AFBFA8FE2479B2DD2B21362337441AC12B515911957FF + +Len = 8 +Msg = CC +MD = 1B84E62A46E5A201861754AF5DC95C4A1A69CAF4A796AE405680161E29572641F5FA1E8641D7958336EE7B11C58F73E9 + +Len = 16 +Msg = 41FB +MD = 495CCE2714CD72C8C53C3363D22C58B55960FE26BE0BF3BBC7A3316DD563AD1DB8410E75EEFEA655E39D4670EC0B1792 + +Len = 24 +Msg = 1F877C +MD = B0665C345F45E6DE145B0190335EF5D5AA59E0B49FC1425D5EAE7355EA442284CB8A2152D565EBDF2810ECCAB15AF04F + +Len = 32 +Msg = C1ECFDFC +MD = F1850B2ABB24F3FD683C701582789D9E92B6A45F9C345F9DAE7F7997C8C910E88003E592E59281CF92C92D6B51A1AFD1 + +Len = 40 +Msg = 21F134AC57 +MD = 68D437327F158287C304BBAF36F782F497DA2C480A1FBB268682362218641F9070A014919AD7331C49BEEFCCB437FE9A + +Len = 48 +Msg = C6F50BB74E29 +MD = 03566EC003FF55184F0C85BEEBC6D1ECF5E5D082D8D40137246F8FD42BCE097C09418845EF60286FDD894A00FD2D6589 + +Len = 56 +Msg = 119713CC83EEEF +MD = 790D700FA34D6A835BE311B639474780148A2F087AC2FA86E8A1A433EC7A04FCBFC5284A3E188B7D91C6D094EAFBEECB + +Len = 64 +Msg = 4A4F202484512526 +MD = 638E65758A297CB09DED1AC5B9E8F779802000AB791F67F33C60BE36443793ADCC8A4A58E98688157A41784F02A4BCB2 + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = 308EC6F2EE3F6E01FB3AA06EB7C8CADD199354751B69FD4BA4D4671858F28BB45C94E712AD9D356FCB443067EF5ACA2D + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = A88F2FD112E5F11E775AA7858A3A5202E8FCD259F5D112BAA6F568240D2ECC047EAD88509E4B8A747D370751FFB2FDC0 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = A22A31349D7816545BE31B80E992BDBB62A29480917CEABD0AF5F2FAFBF276D4C29B63A04910B830B8757C81E223B7F9 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = 36CA9CC329F9A00FAA5F4F21170A017742174D3CF03C084AEB759F6FA0390349E1B502E435CFFB0BCE4ED46C0012A65C + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 3DA54976B291DF77F10BF95E9B7EF9FB2F88DE075DDF6650BA788590F4E2E3C830D3B7DFC0193656B0A185E3AAD9AA5A + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = D21A7CF252358A1159A55934456E67D9E1DA538D4E9F9F1ACE2FD75F3074B27AE2B356144BDA7BA0B1ECA1AA201B20DE + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = 8A0C6331429375F052960AFFF6D5FE33759F97145D60B262BEDE86D5254994558FC1800ADD09D6887C275F4DD3531CB0 + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 18422AC1D3A1E54BAD876883D2D6DD65F65C1D5F33A7125CC4C186405A12ED64BA96672EEDDA8C5A6331D28683F488EB + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = 4A59DA05C6E035D59D93F559D4A130D3ED91C22EADA53FD679FB0B0F31398A6FF83A5A9739BFD4E95F57318FCCB816F0 + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = 98E6BCCA5F2BB30C554700202E0604F7C86B4941F0345325100C83B1234C45856DFA761E70DCD972ECB1247AEAC29259 + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = D3C3D76B3D3926FD4CC4C05A087C2D76992998A5CD8C13FA3D233E0ECB2AD8B81BA4BE581E02BE91C7F82CCAC90013A0 + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = 7C53DA060058183CA6204E77F0709AEBEF73557C8F5E45C195B7E9416E7261365D03B8A2D6C01A102655344E725475C4 + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = 2415C1D053CA207C17D99D02DBD177CD1AA7F00B0D0CA2CF30B4D2098EEA1A04A68E5B1C6DF2FB25ECE157C423EE8AB7 + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 90DA42B0C314445EAFD8656B26644ADDEDDC713EAB36289BFFC6ED4A85BE66A10F5ACD6B3C61E9C36A17C26260872DC8 + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = EE209E98A75A67B09008202CAD380917EB1F92C5DB4E8F2C64900AF8C603D265CAB317BF7B8E2251E479F8818D3022CA + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = 1198EFA57E1A7884DAC827E683255575510E1F92024A135144659BE87BBF0D063ED26C987647B923A091CF11680316FE + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 0435E54C016C0791677DDBC6BADD55D146754296B31132B0B1C0B5CE4AEDB03AEAA9A2DC5157D7AF20B8E36D75E1CC00 + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = 88D898ED7E6E54A683812B372F678A5FD73BCF3160A969FE4584651ADB3255F9ADCC8B85DCCA5C3BF8EBA3A1B69D9B90 + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 7AC343A9369FA7BF45AFED43084DC1E275AB1B70034CFAACD4F3CB5E5E2201CFBD1CFFF83BAAD3897A4CB8A0DE5C35C4 + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = 58877B8DD98C51339E4302ABE95CF57662CF05AA01938161CBFB5DDDA724517F0C002D54B54EEA7EBD64E209DAEB8F01 + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 1CD638128718BE351385E7A156C3F0EE8B210D1565876F8ED46C227B930D188FE8CA27760FE189D3B136836561E9A0EE + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = B4DBDFD9922AFD1CE46FF1CB27C30E2AEAA967631A04001C7EF2B5EABD3C0678C0FF219BE7B9FA04CF83DD40BC1B33B6 + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = 503DCAA4ADDA5A9420B2E436DD62D9AB2E0254295C2982EF67FCE40F117A2400AB492F7BD5D133C6EC2232268BC27B42 + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = 64D11ADC77AF5C568F37E44EFAC5FD03C460391AA833ABEC4E464237A8937EEDD23EC513DD2A71D0329BEAA8BEF395C9 + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = CF38764973F1EC1C34B5433AE75A3AAD1AAEF6AB197850C56C8617BCD6A882F6666883AC17B2DCCDBAA647075D0972B5 + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = 882BFF904BFF1031139503BF6E0274C7A3928C2D73BF474A65B97C22F65F32BE26AD1C5F7E4FA35D5B6253AA4076361A + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = 80448B7A76E0F0666048C02165A4FA8DFD250A227CCDD4471C3703D07762362DC1DF55FEC29E2A31FE70958374271DD7 + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = 6268CD6B41F4C5123EC4D54D1E6943ABB32DBE7BFFB8EB95E4FCEE5C12D4647BE143C27F1281CDD275904920441508DA + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = C73D18DE07A65ACC7E2D8B2A51002AE28CBC4B0A6EE7F81A6B483F81A6DF8FF6B33F632A6E6312888CA714821C0B13DF + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = 3A0BEA62F42F9CEEDB348F6E1613F00356ED9766A5C19F0C2EEB05C74DE69D3943E16CF72281FDD92715FA3D51515931 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = 1092F63955F3DFEF1322CF9516F21540215552BC5709CCDA17AD276ECAA091A78451FE9925791B8A9191B5D42010156F + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 8CD022971D5769761B8E96B442444FA1850F1201AAB0AC9F6E8404E2B3EA1D936244EEDC7957C80B7FAE60B3F216C6A0 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = B6575D53D353360521B20AA1F993F6E2B5A262D1F508789D5CE2469E9F3F33CCE8848DF690CCB0D676FB949EB171A7D7 + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = 7358C6A0AE58EFA14F65B8E162F07EF2D0AD8DD2006A98293307B76B3BA9E71C308A6694F0B56DE8D59E58536C3513E8 + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = 18030C2B5EA23B6C66BDAF180A41173394540215CA48FB3E758433FF9884EFB9E56D2922BA5320BA84BE36E6EFE6B89D + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = 6F9F9016AC3B6A5978A5DC8C7506C8B4D28742253BC542E79D95824417AA542991EEF7E2B9C58CDB0C93616AE9C1F88F + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 424421BB9399BD44AB76500273D7F1E1421A2BFDE1A1C130C0B3474409D8AE92B3E38539CFB09ED1D23C62BB32B9364B + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = D07A2CACEEA869274BAEECDA43B6020930EF383A897C72A7AC7FBD8FF5CEA7F8BE655844D9F9BD2B498880FA1527D94F + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = 25D7AB5E930819CF5F59ACD2542691AD66481DA547EAA9C2ADD7C8EA69A475F416C430EA1DE840974E3236A62520911F + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = 36A6BF2D4EB3CC6FB797914E734B2CA8702CA7CC6D539B4DDB233EFAFCF068712E845364A4A929D31A440C7DAF8B134C + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = B69D40A90207EDB20C0068F402008C0E64300B89A1B6AF7930708B263C790A087F3ADBB4C84295D23392E0692F35BDBC + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = CDDB883B9EADC59D2894178B3BA6F61E5E11C2C415C89E554E20A17E4909F8D960F02AA80E1A5129AEEBF2CF975711A4 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = FBE0056D65AF279EFF1573F169809A05B6A52112B662D07CDD2570BE5E198A28D1EA49CBEAF0C05E76A9F09BAF6D1F34 + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = 26473DE684CF58D559C7C0CFD360A9AFFDF33900FD69A3A946581484B93EF6FE6FFAC461B4551E136BEAC64CC33A4C15 + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 462AD97BB0156A5DA3DD0E9E5BF06D31024FE43BB80C018F6858EE4332F2EB5A78ADA06CB55DDC172AD87F88E26D2451 + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = 9F890FA80A4C48B67181E89DBF15175CE48B21F9D09405218A8CE3C0759282780E142FC59851157D14509FCE79D1B17F + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = 2D9A3447D7723D837B8784FEAF03B8F9694CDE5FFB84C6A6628895A345BB8F3F5BA725416906DE063B1CEFB722C7E56A + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = AF415063A5E25C6E55ECA7F9BD1CB0C71A7A059B569737036B339CA559CC9C7466FA239EA57CFB5FCC50944871C008FB + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = 6811EC07E6E85A289C881722AE84E6AEF01FD2761294C6ED9856D2F7EA1C71A89B2FCF4A9E56533360EA22317561EC05 + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 7C90268E981A3C0FF19E14CE9830A1B9DA5FC183950875961582644462059DD2FADCFA68750D7D2F44DFCAB9FFCE5832 + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 64E9AD357B58C6FA0D26D0D1F48C4AB057B9F80965AC38494E88F542BA41D6B798FC2DD88290F8DDE7948C19B5A1F260 + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = 3D73B33F001387FD1E752068AF39454E476B8407038C772D94400458C93664EC5226AD1BD3A19A6D9A6FBD6E6A62695C + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = FC619CA9810CAAE3639B3FC661388C454167271E65ED0A2E5E8BC718AD21B9EDE895A658C946DC2FB15B33354DFE402A + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = 5843123A28F0B50C082023AC43B7299C4FE67302532DF4805BE6DEC3B84515B1C6C98F8A4E3D6CA826DA4A11300C3B9B + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = 81EDF06E9B64F3016B1547535ABA4DB08760FD23E9580163192F663FF62106001006A1393CF20DE4656DBCB029FB6314 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = 14AA679B0C11F9C363F549330261B45E1E90CE31F4A1B0CE5CB9EB81BD6079A3742D8602356C50985D0D3E540FDFDCFB + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = E430CE80BCC61D87FDE0A278CFF54D730C03A03377F4AC10B93ED59C5880117ACB20F1705AEFD29BE033D2F202594655 + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = C9F74AC47F9146F091DE6309357F3C2AF3A9C4474CC005AEFACE3C7A552B6127E34EC82C3AFCAACDD83E695CB86241E4 + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = C42ECC8863077ABFF689413CE37B61F0436DDB62E56DE4E3333C26D95AEE9E9CBE1D8AAA6744C0DE6BA9CFF0FF01A6BF + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = B15392718CBF4A7C7FAD1C15E7F26C446E79D54251404E646B4DCA3D42142ED5140D0D30BD836C7D513CE6F5E104D42D + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = E03294C68EDF4E8826B699ABDDBEF75467C49CAB56E085E4B83A58B2D9BDFAC9D58B45AACC0EC0CE2D6D79686A41AC13 + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = D5539D7AEFF9F74DC75B6E95EADE063BE419B15A4179CFD06D4FD2741E22B2A24395AAA1C0242C995EB5EA891347B4DB + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = B115A9968B054C934C396D8188BA0C33A23C7189CE88B1DE4A06CD319792D28647EAE1D88FB0B87443E46292A5C645E8 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = C8FAEF757E6D7B0AF46DA1E57C71ABB4AAF7CC91C5CDC33BA8A738172B95DE087EC4C92692CB40EE3787BCE3206FB7EA + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = F4F21BB74593AA107DC195FF52A3F90816CCEAE8D3EB9D4577B28B49C339837A52700A62EB421E8CA1C87F456310F62C + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = 83544511A07F6058D9FE5AAD7EA837A9E180D8BBB884C5650B798942983A605A514C21D8D63DB0E25AAE51D26F410BC5 + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = 8ECD8459FB904D2EDDB14207659C2BF96EFBD3E4C8988736EC75088F1CC8115D3FFFC8CEDF1C01721469D27968A6856B + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = BE60246E27959DC8065C6D4DCAC93EB7F7146B49C759BF1DD5EBA46A3ECF074784A9DF18DEAB7A19AF7F6290CDACA87B + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = 9235BA18C55E2CBCA0FB1DA3BC8D0DFD848CA0E51DDC1020D4BECC0F138DA1087929FEC93AF16F5FB29C4A777DD91548 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 08739DD866C6216ADCA26D6121E5D81FDB1F7BCD4802C2B811D73C282277D4014B4936E5589F62279BB33075705795F8 + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = D2A2E858A5DD85D62E6F51AF7E42352AC0D7A68A835431BCCA47557E3B5C3373F40D3BAF85AE416012C7C982B2325790 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 2990D7EA068A0307047B151D5DD6B1B2358A9EC8AD9B6B826CF1BEF399D488BD68D77DF8BE99F7DF7AF14AE0CE636379 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 4B3087F800E4084D7F685737AC635DB459CF70C4FA863C711C1143CC10F0C4AB0A2370C099FB282F9C1CE5F015BF3F79 + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = 5D347FDDB118FD7DB270898407979D2D1531D3FF6642EC4F22917EBBEDA6CEE0FB0DE11432EDDDFCBF0E2AB9CFA65804 + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 954637B87FDCC484F2B61F7F42558068029F96099C1D6B9246585092EAE68924E5441B45027248A2728833169BFA5004 + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = 78726E91AC311F4D104706362B0314C243CD81644125881FBC03670210C89FB8E7BFF6C61FF68B234C3171F16B398F36 + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 80763FB54688F122269430980AA3ABE09091020B8CFA6BDE0EDC2C63AED8B8BA097CDB79B8FC7F5117508FCA4864A14D + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = 80447583262DED037DA88F3B98698BD8F7AED7D9BF4D99F8132EC3E7D16BB844ADAD188757CEB32B359C56E5007EA3E4 + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = E5FB4AE5DDFB4CE8221DF4BE70240B76851E55FAE86BAF35BAD9E7179E24C95DA6F0F0695A8A5291A2394B92A6FF7B7C + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = CE6B07C0C7DA2FA1E6CA05DE0652FC9F1F452FC261E73E52457C72BF0D51BAC7D66160CFF16D6A03527982E7D4393507 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = FA76E05F8D2832DADFEBA0107A3137B7B9D4D19A77A1E78F8BBFECDA7EF46414C363453E8C4902C302A4E18CEA4BA157 + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = 1B43B70B6BBBC768C1F4B3CE241667ADB5246D29981723846168D2234E19A5130B1F576B4974C613639A449E61B2CA79 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = 938252393A532D9E1F91D5C222E2DF2CC7AE102705BFB83FE30DCAEBCEA82BFF9BDA7CA67095439859146632494D3CE4 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 47633AD0C80AF26BF74D9598DBD5BCF77FC6BFF1BCA015A611D7B8240F597D8767FB8B0BF5C333156580AFEE121C299C + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = 04456322E1BF27785EDF3F596DB33E693AADF76D9D259352D97ACD561BC45236506FBA3530772242CB369A83A38CD749 + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = F8B1F2C317B9D1898C305DEC3C6C0AC45CFE7F995E944968206C1C1B2C92BD1D4FA392FFAA6094C6AFF95E47DC259EE9 + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = 4F439197C66439BAF65618F826E299A329380B558A52B0711182580BDBADBABB13AD66D60FADDB9DED226F0B401AA8BE + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = 1C8B99BF6A3E80F0B8C67FA9BBF07D19C15D484CDE38F8FAADB748AE024A02E29FD2D7BDCE66D46C1A5239D7453FD3E3 + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = 46F87BC07849E95104E67CC3DC71BDC109C1102BFB1ACDFE2F6A23173B52BF836CE00CD7A5A5FFE7D3BB8FAB33DECEDF + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = FA12B9D070F697FD5391F3FC9C44056CEDA63F035D766655AA7D0A575ED55B15BA6BAF56300940B565E37A248E2DCAB8 + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = 5304D6DB2730FB07B85348B0226B1A81A546BA1FE201ECCE1E552DBA6AFB84CCE7A6F954E3100AE1724B82CF1CBC4128 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = 135114508DD63E279E709C26F7817C0482766CDE49132E3EDF2EEDD8996F4E3596D184100B384868249F1D8B8FDAA2C9 + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = D560D54A2881ED47CC8C5AF9818FEEAF08B621B1AED4569D08807A0B61F902C1691D8B08FF75590FEAAED6E75F4C9E3F + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = FE5F30A315584092A271FDBCF4347A24D14A1F98CADC88DF288C36CEA8F89E9020019933BCD4F5A7479E3E4A57644C49 + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = A4E5EE130FC105818CD1A0DE74F1085B9B4D93889C509DC3A208B5230D39D8F304BB403F72BF0CF5E02C4C4A0831F328 + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = 9FB5700502E01926824F46E9F61894F9487DBCF8AE6217203C85606F975566539376D6239DB04AEF9BF48CA4F191A90B + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = F2E0FF6CF4801CFF2ECA1703E4E956C007A1F2709430F1F7A0A4FDD16A063522A4DFB6C41FA529C2E325F8CDD4F8DA96 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = 62029D962D2E323688DC5851C549DA39EF49CB994D2D6C51C57B9BBAB375AA10BD0605208D9946EA472573880230DD2D + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = 25E546F76EA9F98E03E3B2F4AB608185073658E7EDA0777BD5B047A59085C3C500916347D4F77E38E35159AF133ED638 + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = BEEFCEFF9E2D0825D60EA20E5271BF49C4AE3A5B54B56050988DD3DF5DB5EB4F1002EFBFBAED2FC72179DE44116976B2 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = 7D18254D46A14D0383EC56AC9CA2FDA7885AE673468C9F3B45BA792C2C23C9FF82491E6AECA15D076AD3A3432CFA650C + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = 1E3E007CE37792D8A4423B797E876E89859590DEDD39711AD0F1DE2FD925F4320B44BD57DDC7050427943E3C957D4B6D + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = D1D263B5311B05C7B9F7783E3AFD9A2E75791CE0503ED820474B35340D2CC84B0270921BBD965722011AA30CE4352926 + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = E482B0C1B2057F1B6B897BDC230DCA2B48FFC0E4600AC40A44DCE03E99A8D1DF94908A9FEBA0405DA79569E75059F9CE + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = E54BC3B249DFF637001B58D13CBF64F453E01AD68A554CA994F71EC710216EF9769F1C8B463DC7B4A90A0CEACED41E3D + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = 01DC4CED4693B36814443857931C5D3CEE8762FDA0220F8E9E63AB1EE9A7135ADE21C5AB3791821352FFBC322F3ED208 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 587C8104936BDD74700666663843746015906CF4C681C2A6FFDD07B732E9E7787B165E117DA340BCE4E27302BA288299 + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = 51753384C8F9584BE3ED4526B9B29A97DC8A87D195D0155E7444950EEA55ABEC5C0D7814F1DFCE5CA4BF1D50EBC709AD + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = BD1E1E9AE80B7FA79ADBD47D7A28BA44F4874108CD9BE5D327CC93C6ED4DACF8A9E2A3491D4168BFFAE63FB2F1070DE7 + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = 6B7C1144FA984261377DBAACA78A03AE580B7F3A17D69BA0D56EE908DD9EC9F87EA30A7626ED7CCF25B53A6994E121E8 + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 76414F3B9E4FF8D150280C8E44BC54056849B25351352D9D9E986B3ECB6EC050542709AFE01979D2EB97E51D41217E6E + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = 92AC60E5DC492010A45F46AEF05F403F7569E1B4E2D0C909C871A783FC12457DE281AFF4C4CEE0207D20EAF546285070 + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = 8F99032CB49BB022EE5FB32446E1D39AA0FCD749741E4796979D4BEA5AB1B04D241592EC6058E54B8EC9EAB274EE632D + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = 8BB4F3CF0390A31D682213D22354DFE7D580C811682259872F2A29A08D373FD998F842334F64F81349364A930C82BAD4 + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = 0BB7DAC544569E6EB74ACAB01A846F74AD2A0F31D8FACEE4D09FA49C81B93BD83B4F129B96DA4C0EAF165FDE52EF295B + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = 10DD9348B2D95889EE613907824A10EFC708A101A67672FCA4C6539F5156C7DF805DBE666FCF4CC578F421AE3CF27122 + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = 444B8A6F1EE118DE3FB3EC76B2FBAD9EF31916E1F99077DEFC51C2E59C8E6A3E207BA48E5EDD66C72B5BEBA67401D794 + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = F4D17C6299BAE7D0E6D15A550B311F30C1B038AEF56FE375F3B4BAE14F7EA427C5AA987EF93285975CE5F9E46A3E4C20 + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = 39F911E9CB2763C8911AC3153040E48F403ABFE373E14B709A476868D3AB5841D1088F8393DD728305BA341138365D27 + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = 3ADEB7EEECF9069F143A10151FD4506AEEF3A0EF94CA65D4448ACF1E892B8EBB0887631804DD64E153AD41FAE0127A85 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = 14830877DFAFE6F886A22DE7CE9A5FC74733A8FC27ECC523B6B4524E6312CBB22B51D7EB9DDAB37BA54BB2C0BFC32A6F + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = D109532BC4217326B3D25ED2D2F3F0D2482CC5BDD054218FA8BEDB91CD814F7FD683AA2AFCB8342CD34CE54D607E3DA0 + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = DE64A37A7456638D3ACA1B895F4A88C26817177986A9F2F5B77B49CFF2C3E46BE2C49ABE89D741375DB87F4C898F6762 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = 8D9743710C171CD399A0D712E9D53374ED8E0A97672A40294C74F0D503F0292D6F41D5CEA08FB3C623C4EBA56848770D + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = FAE998D1074E30F2EA0A8B9FE259FD2E2A36804995EBE7E3A5AD34865B1A3316675297FE8E33EEF8ADCC02BE8C4765BE + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = 0AA9CCC3C9CAE1603D3DA5E95F304ADB8FA575833929B09F7C1095D968BEA0471DFE8AAAD3AD11266DAAFF95F6667ABC + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 8FFDF6A4752D17D496F8ADEE7116BD2AF0A4B726BB3F4C5F85BE2C9DFC34055A509E4FE016930D9951A7212553E2E908 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = 278E83CFF1FF6CC4B3AC41F3879DA87AE63B535B43815E273687A4CC519855B452CB6AF0198BB9FD0F3E43739BC0CDD7 + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = AA4B5A5FB94FE19578F33323BA1EEFC5B6ED70B34BC70193F386C99F73863611AF20581B4B1B3ED776DF9E235D3D4E45 + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = 3174CF3754A6FE603631ECDA4895171A9DCF7AFB02EB72AE270A9E3EBF2A65A72C3436C233FD4F17F7FBAFBAC0680C63 + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = 354813D9823D2F02D75D13893A6ABDB44E9E99666533429CC6F7EB3FBA10BF9ECD4A18BB9D5188E6E8F91DFDDBE8409A + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = E2EFDC5007E4C13F811043DB967A423DE02AF411B4A251A225CAD041E83BD4DD89D8B24198DA00096CFE2E1B3F5D1960 + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = E44C0856F0C245E002F914CF300E98C496E725A4DB561F2995AD9C8B97F341E15625B56B03D4D5880927B8574F5E5D74 + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = 5D290C5DFF59A3A3DB8BC7320B8F64A4DBF67CA4F5DF9A07F235EDB6460345FC8971040481C9A5D0F09B62262B9ED9F8 + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = FE680250CAB1FBDB6AC8800DDC28E70100DF8DAAE38DA27004872AB05D40B15AE93EB44266E3014F0960038B28252C7B + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = 511B13E53FD353FA4D38EF0CF8F1AF30DA554828A5FD1C53EC41F73D9ACA6C54AC7972C933AF4A2FC7AB852CA63A1BA6 + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = 554CF00A9AAFE0DFC8D49EA03288B52AED43A5104E22B838E40FDE7358491B5774DF455CF2EC73C53A7B30627A142A41 + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = C13C177E6453F78E81BC4EFEA7A10E9CA02273A6EB757497368539BF4AE1F1BBCBAE0FFF5DAD55EDCA61F474976CBF64 + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = C3E5DDF4572A386C99F998E68FCCC7F85867A73E13C2058C18391A922416FD352CA6B659BAD021E0D9A05789F59D3C67 + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = 157481D0A24BA9FAFA1800C9713E702976167FDDF52367A7932AA3CFF22F4A2E19A016C7BACBD97CEC3EA6B1E87CB3D3 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = BCDD36EE35C2C771852E27DB2CDDABC155AB43D28E6289F0ABA4F93E793C999F30836C7483FBEA5A73F4EEB5D8D32FE3 + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = FA7F66D37C1DC3E81BF55C443ABAD5CF79A3D9834F77A206291138AE31438B986737DC4599EC5D10F7F005D1833B7D2E + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = 8F0E47ED680661F1ACE9EEEE855D935FDFC66B97C2E9A6FC7341F14D9327C8E72BCA3FA67E59804CEA41F09E1C4F8715 + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = F105810E724C2C55162CF71721E3F59871F06010BC7F052AB282BFB6D4A3BF184B892BAF8FADD02070F64B9E036DC5F7 + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = CBB0FCE4AF36D14B63BC72D37FB4028327843FB22EC033BFC068E7B081287E31E3451D8A1D97692B379FF9E6ACD40240 + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = 44E4F77C0D7BCA6AD57D334F974BDA8DE2E08E104F14A8713280CE73897A945DC23AD058533B85750D9DD9D2D7B5D1AF + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = 6913184FAE1EF9FA2D57B1B7BD586D51DE9A5F387037266E7B4A83F4366498FF86C89934C05332A7E641149EF627FA34 + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = F04FF5AAA68F2558586D2748587DEE3CF28BACAB5BE5F887D24A068311BA2D9E9BC0206C2706B9C109E7162E3ECB6346 + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = D4B8CFB2FE5B63BB5BB678B98B465A2DFD23DFF498E778EE0535A5C077705AA2CA2F039832BAEA0F735609B3E4E18CF7 + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = 25B7237DA9D40DE047D41A30BD37155C0F108D7296B09079957D4EE31224A4BA256AF756D154878910C158E49186728B + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = F41B2D02D321F4BA106F931EE27D3F74E8D397BACECB0A1FA90BF5C837ACEB2ED8F0FEFF07B7EBEA6A88D0CC54AE8E6A + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 9673A1A3535B8975CA0F512CDB0FDCDFB0179CE229E756AD70EAF1E5C3E1A4135E9FA7653EDBDCA4975AC18B17A662EB + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 32429CB1B5DAD663A0663E49033DB2290945019DF7E792CDFF3723EEDB88CD0603B3FAE0228A184F8EFFAC45112F453E + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = E91DEEBCD72BA12E2215602B488DED203A1E211D6358CADC6F906FBD89CA928F541222CBD8FC9A20B573EF22FC178778 + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = 45290A24291E81CCB8D7840B6C4812AC98983D7BD3AFE46B427296AD636862B9E03ECF605B114CB47C0207267BC05958 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = E6BB2FAF5ABB3EDAFFE9E47F62586409B443E4C698070D61FC082261053270ECDC2484AA0145C851031E3C99DEFF2389 + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = 79B792B34DA4425BB0B4217ABE23E5DBE4E87D3940E2F7BA52CA146618580A62545C44B81E06620AF6E273499073E3A8 + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = 9FA1D0AC7C37831731B71C19AC9E81EA115083ACE6D94349CE89FDB79B3462A749D76FDC93892F2F16AB0F7E18CDB79C + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = 187CDFDB3757D80010D1E53157A5CCB0FCC34998EFC6BB3CE2E60768F5EEAA590656B49C0E036A3F34C9EF25F3BE587A + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = 7043F54F390B6ABD0DFF06F266E0E7B3E41F8D2E8DD43F899AC456662447A823A567B1B0FB8C2DF24E5F6689060CDDB4 + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = D0CE0259AAEEA5BAEFF52929423C3DA07A8C75195F86D733A718D1C46A1E40AAD404750C41D7A158E79F278830B4C07A + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = E4385A3BE011AF20FE4566C1CEBF4AA68270E42BE50AAAAE65F8F605E980B1D2736FB0E794330D764CA96BC68B8360BC + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = C979F00656A09E68485CCF07FBBB9108B00C5FC11D41F5966FF086F26C7102478EC177EE6D78C623C375A9E6F761809A + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = 36139336110D1D6C27E4CC1F26F428EB8BDBCBA3AA9FFDCECF72009FB46BFAF9E3464C48BEFA4745BE36C697DD3BED8B + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = CE3268B8EC923B3331EA2CF85132C0733CF8BF87DAA544F8EE386D5DE9FBD4D8AD94E00B705CA5B61A3C1790B650080C + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = DDC398879BD16FB681FAE1512E3A1AE7ED2362DAD8BEE0D12D2256B2D856282043DC0CBBC0F63197B75E9982A1DAA8AE + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 350B4B2768020EAA95452B90414439A38BE03686131D45612C1B85FE06FD9196F27D221F4FF83251AA8E69AEF72F904D + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = 4CD1367112C40FB7E3919DF20697A4E1CDC55FD0F01BE3953B1998B5FCB473E76E9E75D5D82E2973B3DB89538554933B + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = 878AD52FA09FD4B6465083C9C9E6A2DDB81302E2DB0CAA934D03A196972ADDD4BB8FF869BF0069E970D6BAEB5BBA9B79 + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = 60071A7E2ECFAF3B5B2E84A677FB98E44BD3725ADDEEC5C37EC62052D57AF7B687A063FD39C8F6E86F79D97F246C757B + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = EB929023D66AC20F11BF68EBC43069D27F35077A68D21FAB30854FFE53CBD784D7B25776D9F266F106433751E6C38A68 + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = 6A51975C9FFEE8B94135A3BDA954DFE14E6267DBC9253F0BB04515A6B7745AEC611B7B66AE57D3FD3770AED4F412EC84 + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = D2DC49C04553F09A8C3D7DB51DE890A71DBC10FE4E910C68BA5CA5DDB313D0A68375275C291B4DEB41F45E35A558BF77 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = AAB5747D7DCC77BACDE81A58C37764F8F41E08F2413B40D4E6C792CEFE52E4E2A406338752D7AD1269E7D5284FCB7400 + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 72B526D74CF9521E00D9D6BCDFC1FB1760C6ACDF2DD75171305DB45D38098FF23C5B8ED3C21DA73FFB8DF7217CE46DBB + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = 800CFA48B4647F7783BCD41B2C0F7F7D4D0FAA72481A2A42C4E9C43C9F62E27ACB4DDB73E318061D396059AADE4145E2 + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = F782FF0DE7D5442D562CC500256EE4B5A00E885C8CD86009C53F337AE003854DE4B89794281A64375E3F696A415B95D2 + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = DE34506AD69085C6357D62B0B127CE66E25E8EC5FACA5BA898C75CA19E9AF24F02406716C61A71D62BDC28D718C125DF + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = 6F4FEEDBA0ABB4DBF824302250E6B668CBFFDCA0B8C338236FE02A8779D8ACA391D8D116B2BC43D40E736096470A0BC0 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = A040CE1CBB996723CBCDBDFF7A6A5F69289737609534C5AF36F6C420A6ADFD570794079509D07E62566C58062D8186DB + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = FF13C29C5E0D746CA27AEE38B6B49A13C1B3D70E62875443BCFC22A22E75031E60D68A917E3AE1D42D374D44CDC9F4C8 + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = 3A4418A16896ADAB7C6DC783A0FC9F8D7E949937BE1D68B5EF02574B2B0C9BA902FB9C15ED64FC825D598AAFC1B26347 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = 17F84411E60F6BD856D09C0ACF314E7546466AB0C1616284D2240D22BCCC7240E5A2D656D35257AB49781BDABEF6FCF9 + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = E577F79B0E05355B8F63EC1E639BC5A51A72BBB0ABAFE76D3133DEC4DA9BEF9A361F3E3C0ADB4C07E2757FE1D4790B9A + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = F78106F10E6C1F1CA5190FE541345145EE25BC51D3C1CBAAA04C0DB2A3BA2584DDD30F3A889B94BBCB9573CD9417574C + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 6F42FAF87DA65516FC0CCA70A385F26EBDAA94DF64AA5E7A3119AC18C6214E3D0B61158FBD6C2487E0ABFB0C6C85EF87 + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = 82FC97EE34A8FCC276AE1C8130555CC2D339AA6CB34003488378855529F9EE3AF819EC104DD2DE300AB7DBC04B2B4017 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = 75D140BE47E116211F4F668E05ADD36C83B3E481DF9F28064A41898335D97C805471214E29C0B849875845C9B8DE25E3 + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = 1A04CD93747CA583A58AB4A8C7C8C7A33F025EDE1B2DD080E5AF0C4DC63C8715E436DD57FF7F401DECEF813F330D6588 + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = FB0626F2B189679DD998BC18F30DF82D0907B62AA77C8669E22B53860E3988503D884884163A561739254CA13929B69B + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = CC2EF9602F80D0734295C7C158EC366608CF60A423D0836644B60831A94E7EAF994C81F19174FD6CA75BB246BBCCA200 + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = B5A7160112E0825A7C03643BEB98B1FC2549B81F01C3C4271DFF99BE57D472A7FAD133808D7D2D414D6011E9A2E8DFEC + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = E7B3118D7FCA9D294F596D820F468CD9027920777A41A706EDE877CBEB9517F223B268C5E805A374051822692E9AB44B + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = C3FA6C9D0FF231198AECA80EA428AC4B32C481D390CE4A90D0F65FF7D58F696C1FAADA1673D7E2D161462C95C2E2A310 + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = C4BD1157C093ACB27BD3BD7F444F836BFCBA0DAFE11675104C6437E5981442BE999C860DD6E1B75FAF6A553E907B61EE + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = D099F3C8052CAA2CF9751B1ED2D472C21FED667892BC1C417600A4C93EFFE88F1B17B36D37E4D26B9CD65ACB13A6DB6F + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = 7A9FE13FE3318121BABB340A3B045DC89D1BE2D0EC05802C9254FEC39EFCDE163C514DCDBA3FF93F9B097486C2012385 + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = 8AEEDE5D6E2F9F1C7A6644A8DA0F93574DF8CA33B2ED9D364615E1F9CF1A801315410733881CE0DAD2F6FB5A916A97E1 + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = 29E62D8C1B71F826544A0CBFCDD99CF8AA1C97E153063120D295EDF69E2ECB5A2783C66760D0F87BF944516824CCFCB1 + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = EB2F1BF2D9EE857B189318DFAF49DC3FAD79501189AC9B5765DFB234EC4A62F0B0E34E7AC3F494D6F05C7BB86AE5CDA2 + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 2A9CF2FD012B025616478CEF6971B6F9E494A63AAB5F53310DDE70FC6ED27F1E2D7804AEB8D206F641A73E054DA620E6 + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = 5F8E2DE742036B6AC4A7D8987B47C4C7A1CCB7239E1B3EEFD1116D6392C79177D68C66221F31D0FAED9134429B89BEEA + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = B0B1F4058417516A5C5A9683A5D72B489E6AD42273D591791D2CDA7360A4008E86C8899369946F7ABFE29BF92C9CA965 + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = 9172AAD6C15B4DCD79BBD84FAD0601119D8B4E3AFED17B594FF38424157985EE27B65826B9905486E767E85AA031E07B + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = BAFBB3321C4798548F5DD983EAC1E16E1F3EF2BA5C9D69A340F6CABC9C7FE9F1FD95A692B7387342304945674D9D2E4A + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = A055E0A9C4575CD4D7AD84A240176F21ED68F484A269E0C9EFFB6FA93746E31F64B0B90C513D2B57EC78E9E5BA3BA99C + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = 788D19AD68D1B26CB0078389B45FB18B3DA35A57A1EC914273158EAD43749BF1AB49B1A68D4831CE193F5852D20FD96C + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = 9C8A4F5BE01AD5AE0946EF7E9F5A82287B6344B966EE28BDEDFE4BD43D840D232054D5E216716EA4F80B457CBC110D1A + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = A29BCB89FD2B89006782088BF9A4AB939EABAFF6F4EEFC31B01A66B73CDF0B977D945E051D7E9F02F19CF32AD4BEBA6C + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = 61D3B13728925646476D67C8D626D2ECE69D9B42503FA6A0DF2B24A5F2AB0FB7D74C2F1F7F04304C49AC94BD4E93FDA4 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = 589AB9981D9ABD1D712D59C6863D850BB1D412D24A967D76CCE78FFC998F8C016DD4B115A1BC4DC49248AB5F758C215A + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = B3CC7224A1DD208E739C5528239B8D335A129EE20E59102621180E6B51714E0D60078F4E7328726434AE41CA273515BA + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = D33AD2A71C712A6F8AD9AC923966B4DB8C4818C79CC60F8275367D2452CFD2F5542FD1888D64C9E912B92A186842B000 + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = C12D450A020CDE18C24323FB4E3FB23255714B1D4CBF29719F74DA5E6151FAE901DC21A6680AD159FFB2E7C0AAABDF5B + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = E5B7A9B41FA0CEC3252FF95099523DC845C69B670D8DFEBA3E4AF6DEC659C4B2D4B04F5F7062209485A37C542CCBE7E6 + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = 5E2BA5382C357B5A1987BDAB9A2A0B053EB75EE770E1994E630F24015AB102E482A95A25B68F5DE99FE9748FA48FF696 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = 0467C2B9F02AF8CEAF4F8FE88D1DE3EE03D78EC26EDEE0E34B6E7EE49AC357C35A9AE352FF4932D75E0617B8B0C61C80 + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = 87F9ECB906C9D8AAFA8DC62AF858C99609A8E9590BA5BC91A89205DE44F06AE7976A9BE918AAFC9134DE9029117152A1 + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 510CB484B6D4B47A590F6211C7F33592246A2E05A1C69258B6CF9A24C1A3AFC2527841AE3FCD552E5103DD24743AC6B3 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = 03F3BB45FD70966AC5EFD9598C480ED677C86C7CF00B10261AE6790C5279A5E47386F3D31726D9CB619B92A79CCAE25C + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = 68A47C7D124E8AEA5CFEEF7A9D8CA7AA8DF6EEE6652DE3A385231F29BC4B983AEC8AF2A61329B64BB59A45B77A38E4DF + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = DD3BBA1B4F8493E0639151D9303835F492606E2DB3AF34FE65156A642794196D00A6C34A3A5FEA66202C3B5A79980A8A + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = 50D3B02AC7B907B310C1C0105EB47F6DCF3AF0E473785DAA54D8037A9A3E74A5D1A41D811202F1E3C8A140173D92F60F + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = A6BBAE1FF8E00DCE34F640CEE2CDB5BCFE4382761BE36A940E50EEC12B5C2A02B2B6BE18A7C87A36FD2194C4D243EC38 + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = 7ED83EB659536B36061773073B148ED2117512372E49E0A3AEE48B96353EC936B32688B150C585944D2008F21366B531 + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = 2516E0015ED162073238996D5A03239087E01C2091F7B03637E6C89A758F565E45C908DE873E378CAA433BAF339D0552 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = 6BAE42ADD06C6A20A05D845E7BF391F1EAB83E83A710A18527FC03646104E52A8B417CFF375753882081F31B6F2295EB + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = 14690DDB5A48FDF382DBC745AD0330C1486124F6AD2E5AE4A850E38C264F99AEAE6F156062AB1946DD07AFE1700A8294 + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = 9DA6652BA890007A01126F0F65970ABF3474C7659C6C80B04DA2CA592EDF0F399601BC0DAD10A0DD6E316A286E2338EF + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = B94D578DE79A437BEAD951E9AEE912540D0139965CF0142F1FD403534959B75D11E0B2463201B10364B905CF9BAA57B3 + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = B85F56F69D3BE57A1C2AA553F90BC1B089E8F1C561881BE64630EA6BA4DD3BD5301512313A18C26DF3E97E056A59EDCF + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = 7D9508FB795811EA1442DB3ECB779CB0494736E7123B252CF88A9A0B50D57CF00B87A6C4FAC27F821CD55979D586AA39 + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = AFD94B061F354B04D0718326D7E10A6B598CE31CC39C52D265D6CF04E4D9EE75CC200149367600312E7514A62F0F0964 + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = EC63CE9DD979FCD132244BE11A45DDB1D00FC8F80160B8CC456F5C5EB89E0C3F675B28B92DD9E6CEFAA5DA57B4908646 + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = 86301FE98F3FFABB0CB0085AAA1EC61BCAD6171459A8623BB780EC32E46F52649946A421EBFC7DE90F0E74EC787A3E03 + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = DDF8D547BBA4F43D8864CAEF1B1BED77AA12E41F6886A5D8758C654B7EC1FA5B0E77BA4E7680C7830DA161E14CB1E65C + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 72953FE4CA34E717E304DC77AFD9DEDE32A8467127B9F78BB0BE6191A7ECD051B7DAE091B1758907DDA3B1D25C0C5883 + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = F36A9EE455066E562FB675F399D9DCC6BCCF68FD1B0BA9F7DCC1EDFAC1F1E234CB67B5A0F770E55435F75F9EC84A9151 + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 37368F5A074DA0E5075845F76B1AC5858DF793EEF88A854C7DAFE3B90720707A145A5DCB0D9266C6148204CE693C5432 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = DAAC83B0C5C8F8FC3BCCD259C27D964673B4DCA790B4B63899E1B6C19CC291FE6F88376281E0FA320ADFADC82A8FF4EF + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 357258FA6579867CC0089C8B3C93CE10677A5AD4DBEEE2A27CEA90317ACEBE7254505468875BCB334E0B6F70CFE59082 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = 06E9F892A2716DE18DAC1B8946604473ADE060AFC8CB1287E389994076FF92B4BAE3D84854470ED061AE31A97B7D0DCF + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = 64047790B1656E78953B981B1BBFAEAF9D2B1B8953AB0304791238393F3372C6373A1E087B57BE48806229DB73E1B1A4 + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = 9CA6F39087E6457E12C969D41C8BD66BDD6990CE23D355669E7606B9203D216811237955DF6739495D94F0C48CE02845 + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = FE99F19C79A89080E2FF90981DDE91994542D4BCC1276A82D1A2E53850341B9AD5422CEAB81E69DAE5E91DC5FF60E1A3 + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = 92E1D994FEA2FD500A4B7F5139119058A5B70EF6174E553F12FE7BCFCA24B00A28391E3761BDCBA3FD6B033C1286E28E + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 6BFF1C8405A3FE594E360E3BCCEA1EBCD509310DC79B9E45C263783D7A5DD662C6789B18BD567DBDDA1554F5BEE6A860 + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_512.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_512.txt new file mode 100644 index 000000000..4e9b3bd53 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_512.txt @@ -0,0 +1,1026 @@ +# File generated with ../../loader.py from ShortMsgKAT_512.txt.old + +Len = 0 +Msg = 00 +MD = 0EAB42DE4C3CEB9235FC91ACFFE746B29C29A8C366B7C60E4E67C466F36A4304C00FA9CAF9D87976BA469BCBE06713B435F091EF2769FB160CDAB33D3670680E + +Len = 8 +Msg = CC +MD = 8630C13CBD066EA74BBE7FE468FEC1DEE10EDC1254FB4C1B7C5FD69B646E44160B8CE01D05A0908CA790DFB080F4B513BC3B6225ECE7A810371441A5AC666EB9 + +Len = 16 +Msg = 41FB +MD = 551DA6236F8B96FCE9F97F1190E901324F0B45E06DBBB5CDB8355D6ED1DC34B3F0EAE7DCB68622FF232FA3CECE0D4616CDEB3931F93803662A28DF1CD535B731 + +Len = 24 +Msg = 1F877C +MD = EB7F2A98E00AF37D964F7D8C44C1FB6E114D8EE21A7B976AE736539EFDC1E3FE43BECEF5015171E6DA30168CAE99A82C53FA99042774EF982C01626A540F08C0 + +Len = 32 +Msg = C1ECFDFC +MD = 952D4C0A6F0EF5CE438C52E3EDD345EA00F91CF5DA8097C1168A16069E958FC05BAD90A0C5FB4DD9EC28E84B226B94A847D6BB89235692EF4C9712F0C7030FAE + +Len = 40 +Msg = 21F134AC57 +MD = 2E76D93AFFD62B92FC4F29CB83EFBE4BA21D88426AA7F075BFC20960EA258787898172E17045AF43AB1FE445532BE0185FBEA84D9BE788B05F14DBF4856A5254 + +Len = 48 +Msg = C6F50BB74E29 +MD = 40FA8074E1E509B206448FBE757D9494B9B51E8D6E674A67F53C11EF92E96C3EA08B95EBD4172B020010CD6CF29539A34D6BFA002A2042787AA8D879A0F5B54C + +Len = 56 +Msg = 119713CC83EEEF +MD = D1116786A3C1EA46A8F22D82ABB4C5D06DC0691B2E747AC9726D0B290E6959F7B23428519A656B237695E56403855EC4C98DB0CF87F31B6CEABF2B9B8589B713 + +Len = 64 +Msg = 4A4F202484512526 +MD = F326C7C126DDC277922760FEEF77C9BAB6FB5D3430F652593703D7C5E30135CD0B0575257509A624184330D6AB1F508A666391B5D4690426B4E05301891DF897 + +Len = 72 +Msg = 1F66AB4185ED9B6375 +MD = 1F5B8A6E8D94F5E2535D46842B9CED467C39C2DB323963D3F3D937E9DDA76FBC17072DDA2AB4771CD7A645145A2AEC1B5749BF9EFE0CDE006CC3EF8936438E0D + +Len = 80 +Msg = EED7422227613B6F53C9 +MD = 2AEEE7A720C030A820CD7BAA8570D72CB90B7A238C38C358676358A7AE9A5CF26635B2320D61C1284899E654F0BFDD0A3A9C343FFBD11838B57465E6C3AD3A57 + +Len = 88 +Msg = EAEED5CDFFD89DECE455F1 +MD = 7B1C1BEF3B4DEB4B4812C81A6E7B3F2C66FA95157FA3B9D2959DC56B8ADD100170D3C8D1745FD230A31F89FA17889C4C58946B5D746E47B71ED0394B66D1BDB2 + +Len = 96 +Msg = 5BE43C90F22902E4FE8ED2D3 +MD = EE41401AF509D6FC0944CD4A0BB29D2DCE0DCC862606E669E31381E5D6CECB463143645D696D14E40169CDC71C75686D6E8732B432092626421CC6CC196F80BF + +Len = 104 +Msg = A746273228122F381C3B46E4F1 +MD = 9B53B410B9F5DCE90A77244DB407A3D0F4898D112D0044A8F66AF933E26666DE63EBD2A4322D8FE525AB354CE9676B6A14D0CE6B3D24E6CD5832BEA0C5153CEF + +Len = 112 +Msg = 3C5871CD619C69A63B540EB5A625 +MD = 2B53FE6583FC24EE8A63801067E4D3BD6E6934EF16BC822FC3A69F4EE13A404D9A3CE2BB4A12C77382BFDE4D843F87FD06ED8AECC234A3A24CEDFE60BFC06933 + +Len = 120 +Msg = FA22874BCC068879E8EF11A69F0722 +MD = 80946CA68E8C16A9667CD8339D1C5B00F1E0D401D0ECC79458754794838F3AE2949A8CC5FE5584033BCA9C5BE62C7C08F402EF02F727CEFA43BBD374C2A67C52 + +Len = 128 +Msg = 52A608AB21CCDD8A4457A57EDE782176 +MD = 4B39D3DA5BCDF4D9B769015995644311C14C435BF72B1009D6DD71B01A63B97CFB596418E8E42342D117E07471A8914314BA7B0E264DADF0CEA381868CBD43D1 + +Len = 136 +Msg = 82E192E4043DDCD12ECF52969D0F807EED +MD = C37C9DC2E20D8E2F0AE588D7D45A807CCFA000FC948AC42A8ED63BB14F318FC3D4B963F7305980E6A0FD2316B55B63142373B1A29002264855C716C5C9F17F4C + +Len = 144 +Msg = 75683DCB556140C522543BB6E9098B21A21E +MD = 9073C62555E6095F17DF71AD02BABB9100288633898489B21C906A3190875BAEACCC83BE80ABD11466FEC371BA2C4623D07F0131DEFAEC13A8C732A9F8417163 + +Len = 152 +Msg = 06E4EFE45035E61FAAF4287B4D8D1F12CA97E5 +MD = 23E9352856718E1E2D68A21D56D93117CED7628E984FF04ED8C0CB9B10539E4EDE284F94FA71BF4B83BBB493435FD6BE26EDDB09DEAC39680E6B05ACC87B8C4E + +Len = 160 +Msg = E26193989D06568FE688E75540AEA06747D9F851 +MD = 909D753426B1DEE09FC474F18CF810D5D5AADBF8A09AF495BF6C22ACA0C673021BFC5D2AD94F50B24E1569E956694B21CF2CC8B4F3C7EE4CF195E4424CC415DD + +Len = 168 +Msg = D8DC8FDEFBDCE9D44E4CBAFE78447BAE3B5436102A +MD = 046C6019FC4D628AE0DA7092F9910F269B853D3B57052039AD1375C665405F9FD79D57579F42C4FFF249BB85AE65113A9F4276CEDE73E9CCB0C24753935A006E + +Len = 176 +Msg = 57085FD7E14216AB102D8317B0CB338A786D5FC32D8F +MD = 51C909A6528949BADDAF1BA0B154EA9C33FDE5074359505B76D4B7ED54352DD893D40B142A5F802F378CBA7B8C3782ECF2A048542BE6C5936822214846A8D5E4 + +Len = 184 +Msg = A05404DF5DBB57697E2C16FA29DEFAC8AB3560D6126FA0 +MD = EFC8917E1247742A2D4EC29AFEDDF1E6ECE377B3D8AC6E58C9851CE9C99BD599ADEBFED657BAACD1793FC91B04DF2957BF6F1888869286002DC4AD9AC7F76793 + +Len = 192 +Msg = AECBB02759F7433D6FCB06963C74061CD83B5B3FFA6F13C6 +MD = FCEF88BCC7EF70D8C3973429AC5139155F9BA643B431013F1817ECD2FF3AB287880F9EA54DF7503CB3F73D7CF2B87D2E9BDBD203378FAE74CA4BD2667A4AA706 + +Len = 200 +Msg = AAFDC9243D3D4A096558A360CC27C8D862F0BE73DB5E88AA55 +MD = 470BDD8D709875C8E6F88591B97D6486C5F03B54BFC905757483E013F63A6C56984D4518D45C2D2298EADB44AF3A0C35A76B573D452F5747844D3AD8F84A2E85 + +Len = 208 +Msg = 7BC84867F6F9E9FDC3E1046CAE3A52C77ED485860EE260E30B15 +MD = 429FD438B390AD0224028975467EC228F9ADCDE71E1738005E3717C58F727AA2B7C61780BF0C5F8B766CC6D34551D87D22A130B8C215614204E607AA82FF8469 + +Len = 216 +Msg = FAC523575A99EC48279A7A459E98FF901918A475034327EFB55843 +MD = 790A010AEB6F13E019A1DC35574B1219E74FF5DB6FBD8746733664FFDBCFE1CC6E8AB39117E3244C4FA3C0A962C9F50030AEF88E193E7E0D4C4747345F30CB54 + +Len = 224 +Msg = 0F8B2D8FCFD9D68CFFC17CCFB117709B53D26462A3F346FB7C79B85E +MD = AAF7A391600270F7B5A2A3BBC7474AC4154EBEAC03A790A57FDAD96CEA2D043C9FA5F6916790B92F8032D668ED9A07112DC5B2373EC816AABCA6F577CE60415E + +Len = 232 +Msg = A963C3E895FF5A0BE4824400518D81412F875FA50521E26E85EAC90C04 +MD = 3E2880A974E50F98BD6CC0F9D769AF348CE3B7E8FA38CF0CA2DA5FD704C9C0E57D5500BEA3CB7477927F9C394AA3F9BBC01824350291B9A0A0CBF094BB37DA55 + +Len = 240 +Msg = 03A18688B10CC0EDF83ADF0A84808A9718383C4070C6C4F295098699AC2C +MD = 48E55E0340F20466881A732AA88459AD4BCDEF364C3BD045AE099F953D89F15957AEF204265C3915BA42FE4235196BE3D0F564676227C3C0DEACFBAF68F9E717 + +Len = 248 +Msg = 84FB51B517DF6C5ACCB5D022F8F28DA09B10232D42320FFC32DBECC3835B29 +MD = 9D8098D8D6EDBBAA2BCFC6FB2F89C3EAC67FEC25CDFE75AA7BD570A648E8C8945FF2EC280F6DCF73386109155C5BBC444C707BB42EAB873F5F7476657B1BC1A8 + +Len = 256 +Msg = 9F2FCC7C90DE090D6B87CD7E9718C1EA6CB21118FC2D5DE9F97E5DB6AC1E9C10 +MD = 1EAFEDCE7292BA73B80AE6151745F43AC95BFC9F31694D422473ABCA2E69D695CB6544DB65506078CB20DBE0762F84AA6AFD14A60AB597955BE73F3F5C50F7A8 + +Len = 264 +Msg = DE8F1B3FAA4B7040ED4563C3B8E598253178E87E4D0DF75E4FF2F2DEDD5A0BE046 +MD = 9A7688E31AAF40C15575FC58C6B39267AAD3722E696E518A9945CF7F7C0FEA84CB3CB2E9F0384A6B5DC671ADE7FB4D2B27011173F3EEEAF17CB451CF26542031 + +Len = 272 +Msg = 62F154EC394D0BC757D045C798C8B87A00E0655D0481A7D2D9FB58D93AEDC676B5A0 +MD = ADA5CA5630660003C4D16149F235FAEB78132F7F773A631F820CC5C654B08EAB4206BB4EA1389D1CF74D3B60B86E484C90C817CDB5DD5DBF327163B4646F7213 + +Len = 280 +Msg = B2DCFE9FF19E2B23CE7DA2A4207D3E5EC7C6112A8A22AEC9675A886378E14E5BFBAD4E +MD = 71A0801D32587980B09963A0F547B8B6EE3BADE224671BF44F12E3DA4F21778BAC37FCC73EF45FEE1C96688BAF9020F487B1A16E3AC91B504845D6FBA879134F + +Len = 288 +Msg = 47F5697AC8C31409C0868827347A613A3562041C633CF1F1F86865A576E02835ED2C2492 +MD = EBA678B7A0E5669DC7FA5ECA5D5F19FE625E113E5028DA5EFB138923CD444757B06078E0BA064B36C72CA2187AB9DD31DDA6F24668F46C32F8EC21AC59AAFA24 + +Len = 296 +Msg = 512A6D292E67ECB2FE486BFE92660953A75484FF4C4F2ECA2B0AF0EDCDD4339C6B2EE4E542 +MD = 12DF92D889D7BA0DF05BCD02D9DE58C97F4813126967FF78BDF759C66C4CBE9DF68AB31A0256C776730BB25DEECF91F0997868AC8BB86DF7A0FC110CB0A4DE5D + +Len = 304 +Msg = 973CF2B4DCF0BFA872B41194CB05BB4E16760A1840D8343301802576197EC19E2A1493D8F4FB +MD = B8C7CE2BE4CB32C140E75B75474248C1DD77D19B0CBCA31A3ECC2A35C532E4FA3ED4ABBCDA27AA68A9DDA06B245443E5903A65652A94ED3AF15065D3E7736E47 + +Len = 312 +Msg = 80BEEBCD2E3F8A9451D4499961C9731AE667CDC24EA020CE3B9AA4BBC0A7F79E30A934467DA4B0 +MD = A0AE9DFB56831FE4A3223C501B697BD8243C471E8343ACFD37A6B587FEAC74571C23DEEBC9B94A540A02F1B1E2251E01229C9D58C4279F155D5566FB18E81295 + +Len = 320 +Msg = 7ABAA12EC2A7347674E444140AE0FB659D08E1C66DECD8D6EAE925FA451D65F3C0308E29446B8ED3 +MD = 631E7847124A70FE6EB293A44A25C50600B5E7E975CA9FAB5AE64AB86C7E42C912DD6EC093F01A8DEBC6E1F5E487AF97DC3FD6C53002765050BE963FFCD4D989 + +Len = 328 +Msg = C88DEE9927679B8AF422ABCBACF283B904FF31E1CAC58C7819809F65D5807D46723B20F67BA610C2B7 +MD = B989263BB4E0424F95FDC9A49C83A3769FBF31DCEDDA7E005AB5F22F43D2718DEBD39085971F7EB7822C9FA0F67F776CEC4E35A9A8B8C835EF4E9EBDA1922E4D + +Len = 336 +Msg = 01E43FE350FCEC450EC9B102053E6B5D56E09896E0DDD9074FE138E6038210270C834CE6EADC2BB86BF6 +MD = FF6ADCB9E1546798D396DB78452DF1A375B65EE3D54FCC915A8CA3DA693E24931999B0FC8A4EB92F6FF85E42BB4CFD9CE7D7863EEE709C9EF37642B696174474 + +Len = 344 +Msg = 337023370A48B62EE43546F17C4EF2BF8D7ECD1D49F90BAB604B839C2E6E5BD21540D29BA27AB8E309A4B7 +MD = 1051B7FF77274B784E7FB7823E756F0C4355047E489775BBEDAA7CE5A75EFAC331492C016CE02EB2BE8BA2FE6B735B9A1484E73AC06DE573C5D0B4A58822A36A + +Len = 352 +Msg = 6892540F964C8C74BD2DB02C0AD884510CB38AFD4438AF31FC912756F3EFEC6B32B58EBC38FC2A6B913596A8 +MD = 5639A2824297CA099ECF2A81EEF1753F6314CB663D860F05A39E3E801FF82060BBA10628E2C0D9E0A84DD05ED637FC0B65BA03BB66E46FB256F2A5B28D3F41D2 + +Len = 360 +Msg = F5961DFD2B1FFFFDA4FFBF30560C165BFEDAB8CE0BE525845DEB8DC61004B7DB38467205F5DCFB34A2ACFE96C0 +MD = 97F9D642507E6DD179D56F4B815E92D0D486826F273EC711B8F9CB76AFC79F900816FDBC13DD3A59FBECBA1F3B6953F879F27C8987B24C6FF8557A2C834076B9 + +Len = 368 +Msg = CA061A2EB6CEED8881CE2057172D869D73A1951E63D57261384B80CEB5451E77B06CF0F5A0EA15CA907EE1C27EBA +MD = AFEF2AF5A01B89BE190A0E6E796AA51F1F8C356772C6FC7731F08AAB8BD81AEE1287C70D564F4F169E37B07F28202A85F468281B4CDC1273CF61EB30E3BDCEE1 + +Len = 376 +Msg = 1743A77251D69242750C4F1140532CD3C33F9B5CCDF7514E8584D4A5F9FBD730BCF84D0D4726364B9BF95AB251D9BB +MD = F467CCA67C387FFC9F1B173A084C451095D01AD0BF3953AC103A76F0F1BC86167305A926A941A53417F1611A505AAA205BCFCCBFD343465DAD8A6C1E80609A9D + +Len = 384 +Msg = D8FABA1F5194C4DB5F176FABFFF856924EF627A37CD08CF55608BBA8F1E324D7C7F157298EABC4DCE7D89CE5162499F9 +MD = 4B389A2A0DF5E295EA9444F2739B5492F290C4467B0B4CDC1CC9ED2CEFA7A9E527E0627CDAF0BDA58F17D13F94AF7D2DEFF6FC5D53DD9157674475527FBB4F86 + +Len = 392 +Msg = BE9684BE70340860373C9C482BA517E899FC81BAAA12E5C6D7727975D1D41BA8BEF788CDB5CF4606C9C1C7F61AED59F97D +MD = 6590FFFB7311AB7DAB370FB518CCC19BAA9AF7C84179ADB002F8FACD3C44AF2830A84DF1E2C2402368CC36614A6EA22903063E57D00EC511A46A9A03FE3819F7 + +Len = 400 +Msg = 7E15D2B9EA74CA60F66C8DFAB377D9198B7B16DEB6A1BA0EA3C7EE2042F89D3786E779CF053C77785AA9E692F821F14A7F51 +MD = 895796B2A0824C55F030D82E794925C38D8459F38CF848519F120FF6A9D5A03EBF006C3EA5021E8F3B3408FF12F01BCDDF7A085BA0A9A58944FEC1F554836DF8 + +Len = 408 +Msg = 9A219BE43713BD578015E9FDA66C0F2D83CAC563B776AB9F38F3E4F7EF229CB443304FBA401EFB2BDBD7ECE939102298651C86 +MD = E4BBD54BFB99D345471F8AB94271B4B748F5CE70C21C28AE6559E03EE7890A2C814043E624A6BD2944350756B37FA8208FC7473A67B310CEEBC17D965ED688B2 + +Len = 416 +Msg = C8F2B693BD0D75EF99CAEBDC22ADF4088A95A3542F637203E283BBC3268780E787D68D28CC3897452F6A22AA8573CCEBF245972A +MD = 80D862AD05428A299213E65B50310463FD22C505E693DD4719E0A120EEAA35C5FC1608A08D22E2CCDDECA49878BC26ABE55A3C9A546347439A942ED0C1A6A23E + +Len = 424 +Msg = EC0F99711016C6A2A07AD80D16427506CE6F441059FD269442BAAA28C6CA037B22EEAC49D5D894C0BF66219F2C08E9D0E8AB21DE52 +MD = 021B3B392DECCB9075559F88C0C229026A2048CEF8EEB2D4F94803DCF2DA0A73E004D7F14E9FD662670B59229AB3883C340F4E3A8C42624CCB90BEC1156F95D4 + +Len = 432 +Msg = 0DC45181337CA32A8222FE7A3BF42FC9F89744259CFF653504D6051FE84B1A7FFD20CB47D4696CE212A686BB9BE9A8AB1C697B6D6A33 +MD = 97BF33A5254C8ACA27486428440B1034AAAFAC8B498ECB830C2581DC68518079B65FB0C595997693DDB8D68D9564EA98DC43CD287E2E018DB7DFAAAA205C547A + +Len = 440 +Msg = DE286BA4206E8B005714F80FB1CDFAEBDE91D29F84603E4A3EBC04686F99A46C9E880B96C574825582E8812A26E5A857FFC6579F63742F +MD = C05FD9C3FA73F80956FF1C3B89160EB520CA640E201B3FE5E6E296220E81B59D530476010D3784CA08692B8C716A3BE982B37450A96D30A401D3BA3C390D9DE3 + +Len = 448 +Msg = EEBCC18057252CBF3F9C070F1A73213356D5D4BC19AC2A411EC8CDEEE7A571E2E20EAF61FD0C33A0FFEB297DDB77A97F0A415347DB66BCAF +MD = B980E657C13726DBADB6570EA3A9E633869CADB798EB35C482697A04CB712F1C1E8C5D0BD67E43E52DA294E82D5E80A695A74A3D27C0C672ADCFE2C928859A6D + +Len = 456 +Msg = 416B5CDC9FE951BD361BD7ABFC120A5054758EBA88FDD68FD84E39D3B09AC25497D36B43CBE7B85A6A3CEBDA8DB4E5549C3EE51BB6FCB6AC1E +MD = 6ADFC561835FDDD70A9FEB57C513165D12AEB3283F0DD7774DD58852DA9E969ABDAF20DD44856FA60E11BDFA2DBB7E3347669FFF7A57A8D8D37431C2B309972D + +Len = 464 +Msg = 5C5FAF66F32E0F8311C32E8DA8284A4ED60891A5A7E50FB2956B3CBAA79FC66CA376460E100415401FC2B8518C64502F187EA14BFC9503759705 +MD = 0E7459BDC857B949CC59A9C649B9625268BF9A11EA81EEEFA4ECDD410E2F6FD2C78289C01365F99034FF8FA8C115DDCEBEFA26A8D6468F5030E641745950061E + +Len = 472 +Msg = 7167E1E02BE1A7CA69D788666F823AE4EEF39271F3C26A5CF7CEE05BCA83161066DC2E217B330DF821103799DF6D74810EED363ADC4AB99F36046A +MD = 2A8CE9DF40879B24DADF61C9131F694E5531ADE6B7AB071CA10ABDD3C2E4A22C868A52986A329F880137EE76109770927D2658E63EB486D880290AC0782CF5BF + +Len = 480 +Msg = 2FDA311DBBA27321C5329510FAE6948F03210B76D43E7448D1689A063877B6D14C4F6D0EAA96C150051371F7DD8A4119F7DA5C483CC3E6723C01FB7D +MD = A83CE5A6A58376D57DB4C58DA1B46C131FF1BF8FF2DE5E8617FB37E5098398EDB53F9888B8752A8AFF19178F2F6BD7A33FD36C59E4A631906280907FC1C5AB07 + +Len = 488 +Msg = 95D1474A5AAB5D2422ACA6E481187833A6212BD2D0F91451A67DD786DFC91DFED51B35F47E1DEB8A8AB4B9CB67B70179CC26F553AE7B569969CE151B8D +MD = 9EBFCEA2DB1676EEE6B103119543C6049DEBD8FB8F1E01A5AB5B348E2919E14C8CFE8E542F2AB747B0FD4A4C3EEE4019BB046E24BFE2091FB9C65DCA527B71AD + +Len = 496 +Msg = C71BD7941F41DF044A2927A8FF55B4B467C33D089F0988AA253D294ADDBDB32530C0D4208B10D9959823F0C0F0734684006DF79F7099870F6BF53211A88D +MD = 97B08BE7653E9DF1B5AFA459EA750A3AC9BF3577BCC7E5344FC861184880926DEF354E4C65B20EC66C47B7AFFD3E7493958BAB0A90724D3D8DD9E1D561FA60C2 + +Len = 504 +Msg = F57C64006D9EA761892E145C99DF1B24640883DA79D9ED5262859DCDA8C3C32E05B03D984F1AB4A230242AB6B78D368DC5AAA1E6D3498D53371E84B0C1D4BA +MD = EF8AAF08159BBCB88EFAC49A33A5248B7ED0544960D8DD54D748A91C0D84C69F308BB54CB5EC97D3F81CDF76E68E0320815B93F2A00942F2168CBC18E8377708 + +Len = 512 +Msg = E926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7 +MD = C0A4D8DCA967772DBF6E5508C913E7BEBA1B749A2B1AC963D0676E6F1DCD4EBAA3F909EF87DD849882DC8253347A5F6520B5B9F510973F443976455F923CFCB9 + +Len = 520 +Msg = 16E8B3D8F988E9BB04DE9C96F2627811C973CE4A5296B4772CA3EEFEB80A652BDF21F50DF79F32DB23F9F73D393B2D57D9A0297F7A2F2E79CFDA39FA393DF1AC00 +MD = CF03C946EB7022F60FB5439462AC22684E47EAACBFFE19B797760B4A24A5238BE9D90E17D40EA6FE7B2885CEF7DFB8BB489401CAA94F2DD6E04592E33E76B9D1 + +Len = 528 +Msg = FC424EEB27C18A11C01F39C555D8B78A805B88DBA1DC2A42ED5E2C0EC737FF68B2456D80EB85E11714FA3F8EABFB906D3C17964CB4F5E76B29C1765DB03D91BE37FC +MD = 2C35F1A57A17CB29403A2B40FC307BDE10BA8F7FEC7B94E1E42EB4EEB952AAD00EC46A26646CD51DB0C6B238189D7D470E21C29BF8710423CB5602CAB75E29E7 + +Len = 536 +Msg = ABE3472B54E72734BDBA7D9158736464251C4F21B33FBBC92D7FAC9A35C4E3322FF01D2380CBAA4EF8FB07D21A2128B7B9F5B6D9F34E13F39C7FFC2E72E47888599BA5 +MD = 505E6E607C90C57BBE7CE52BB42DF3D90BC32DE554025730C84ED0F89A0132885D7A40FADFF7A4B01DE4D29735AEFE0E0469F4F172B62A0DABA889E152308FC4 + +Len = 544 +Msg = 36F9F0A65F2CA498D739B944D6EFF3DA5EBBA57E7D9C41598A2B0E4380F3CF4B479EC2348D015FFE6256273511154AFCF3B4B4BF09D6C4744FDD0F62D75079D440706B05 +MD = 7BE2C95413C589EC5AD69F8D80BFE9F26540D5C1832C7A49A31A8F5655D9CE8B47D97C69CCCD693C211904142A5403DA7AD09FBDB825698FE201988FCCCD2BB2 + +Len = 552 +Msg = ABC87763CAE1CA98BD8C5B82CABA54AC83286F87E9610128AE4DE68AC95DF5E329C360717BD349F26B872528492CA7C94C2C1E1EF56B74DBB65C2AC351981FDB31D06C77A4 +MD = 8AAC9201D76DF13424A32552F04390E499B6168711B70C875789DDAA9B115F8B8259A60D17835E2587F8901C3CA782DA9AFB28BA87B9FCBE05A47A42F48FCD48 + +Len = 560 +Msg = 94F7CA8E1A54234C6D53CC734BB3D3150C8BA8C5F880EAB8D25FED13793A9701EBE320509286FD8E422E931D99C98DA4DF7E70AE447BAB8CFFD92382D8A77760A259FC4FBD72 +MD = AA52587D84586317028FB7D3C20892E0288BFE2FEABD76D7F89155FFE9CCBF1A09FA0FFB0553E83F79AE58BD30A35FA54892B6ABA0093A012427DDAB71CDF819 + +Len = 568 +Msg = 13BD2811F6ED2B6F04FF3895ACEED7BEF8DCD45EB121791BC194A0F806206BFFC3B9281C2B308B1A729CE008119DD3066E9378ACDCC50A98A82E20738800B6CDDBE5FE9694AD6D +MD = 48FC282F37A3E1FB5DF4D2DA1F7197EC899AE573CA08DF550E61EE847EEB1D24C074FF46BCAEE224EC7D8CEA4256154F0C4D434E682834F6D827BFBDF75112F5 + +Len = 576 +Msg = 1EED9CBA179A009EC2EC5508773DD305477CA117E6D569E66B5F64C6BC64801CE25A8424CE4A26D575B8A6FB10EAD3FD1992EDDDEEC2EBE7150DC98F63ADC3237EF57B91397AA8A7 +MD = 6B4B0F126863552A6F40F45E295DC79B9BA2A88EA7C3B2F607AC1A8431A97844C2A7B664443FB23C05739DF5494FE9824DB80B7F3E67872142F17E2C5544E1EF + +Len = 584 +Msg = BA5B67B5EC3A3FFAE2C19DD8176A2EF75C0CD903725D45C9CB7009A900C0B0CA7A2967A95AE68269A6DBF8466C7B6844A1D608AC661F7EFF00538E323DB5F2C644B78B2D48DE1A08AA +MD = 7EEC7B730056B1BD4F6FFC186FB45591E50CD93CF6E4FC958889F82D3F32C5C74D03A4BCF7D2754298F134698AF4559B0E29BAAA365CC00DB0D51D407179C56D + +Len = 592 +Msg = 0EFA26AC5673167DCACAB860932ED612F65FF49B80FA9AE65465E5542CB62075DF1C5AE54FBA4DB807BE25B070033EFA223BDD5B1D3C94C6E1909C02B620D4B1B3A6C9FED24D70749604 +MD = 79CB925ACA072EBB3B49A9D0E59BB07DD1C223C1F26C91768B929472C51B977F85C6CEEB54BCE89CF9FF6155D7FE8091540F1348CE9592A6403F92105477870E + +Len = 600 +Msg = BBFD933D1FD7BF594AC7F435277DC17D8D5A5B8E4D13D96D2F64E771ABBD51A5A8AEA741BECCBDDB177BCEA05243EBD003CFDEAE877CCA4DA94605B67691919D8B033F77D384CA01593C1B +MD = B5D1ED8F039044BCFEF41E99B2F564F45991B329B503FC91FA29D2408512F8711E9DB66F8AE172164650545AE9E3DB32AA369EC47E81A77111276E6CA38E4D92 + +Len = 608 +Msg = 90078999FD3C35B8AFBF4066CBDE335891365F0FC75C1286CDD88FA51FAB94F9B8DEF7C9AC582A5DBCD95817AFB7D1B48F63704E19C2BAA4DF347F48D4A6D603013C23F1E9611D595EBAC37C +MD = 782C008A9EE3DDA0A182267185C995A2AF737BA8CB2F6179F2CDF52505F8D933E712FC4E56D10E175EC8CDD62DE6529CE1F078BFA0DC7A5284F8C565182F85D9 + +Len = 616 +Msg = 64105ECA863515C20E7CFBAA0A0B8809046164F374D691CDBD6508AAABC1819F9AC84B52BAFC1B0FE7CDDBC554B608C01C8904C669D8DB316A0953A4C68ECE324EC5A49FFDB59A1BD6A292AA0E +MD = 91A0241EDA8CA597CBB0F703AB7DBAAF859CFF77B20401AD46230CE3B2BEEF6685775DE37576014D8DA1BA672D47AAD95FB53C590B650634CEBB43A175738569 + +Len = 624 +Msg = D4654BE288B9F3B711C2D02015978A8CC57471D5680A092AA534F7372C71CEAAB725A383C4FCF4D8DEAA57FCA3CE056F312961ECCF9B86F14981BA5BED6AB5B4498E1F6C82C6CAE6FC14845B3C8A +MD = 00B02DBCB7A3BC117701F2F159FC4492923C437D3369833A9BD09E78E260D48D37168D36C49777B2E68E6FE9846106A6AB8768C3971FAB31FD922AACB87D1CAC + +Len = 632 +Msg = 12D9394888305AC96E65F2BF0E1B18C29C90FE9D714DD59F651F52B88B3008C588435548066EA2FC4C101118C91F32556224A540DE6EFDDBCA296EF1FB00341F5B01FECFC146BDB251B3BDAD556CD2 +MD = 3DEDF819B357DFAB1C7092ABD872A1554DD0962E9944EEF9F7F8BCE830F2D74F1D9BA2B748BBC6EE0B7600BE8CB0FFCB79924D9F51CDB9B06BD6FD37F3050229 + +Len = 640 +Msg = 871A0D7A5F36C3DA1DFCE57ACD8AB8487C274FAD336BC137EBD6FF4658B547C1DCFAB65F037AA58F35EF16AFF4ABE77BA61F65826F7BE681B5B6D5A1EA8085E2AE9CD5CF0991878A311B549A6D6AF230 +MD = 5FBE194557B0426F96BA60712176DF073EAFE04F2A50515455412EA3D80C116758AD952598F48031612181D82A16EFE4668FFB3BCCE9563A772FE416FF6DB3B3 + +Len = 648 +Msg = E90B4FFEF4D457BC7711FF4AA72231CA25AF6B2E206F8BF859D8758B89A7CD36105DB2538D06DA83BAD5F663BA11A5F6F61F236FD5F8D53C5E89F183A3CEC615B50C7C681E773D109FF7491B5CC22296C5 +MD = 2E8AB1619859C11473DC7C474CE8B0AE44B1C38417816FD95B9E0614F31E51EBB1DD16D1CBB584C4EBD28AA99F4A68E09DFE3AD462487F2608124B7528293045 + +Len = 656 +Msg = E728DE62D75856500C4C77A428612CD804F30C3F10D36FB219C5CA0AA30726AB190E5F3F279E0733D77E7267C17BE27D21650A9A4D1E32F649627638DBADA9702C7CA303269ED14014B2F3CF8B894EAC8554 +MD = DB2D182BDBAC6AC866537E24712332CAE74DC3D36168982E4453DD6E009658345255013BC0A54FCA17AEEDCC4BEB79BDEE192CFAB516D24591C8699F7C758179 + +Len = 664 +Msg = 6348F229E7B1DF3B770C77544E5166E081850FA1C6C88169DB74C76E42EB983FACB276AD6A0D1FA7B50D3E3B6FCD799EC97470920A7ABED47D288FF883E24CA21C7F8016B93BB9B9E078BDB9703D2B781B616E +MD = 90A2C05F7001D985B587A046B488BF4ED29D75CC03A745731B5B0CE51BB86387C4CE34018A6D906EB7BEB41A09AFE9FEDD99AACC41B4556F75229C8688C7FCA2 + +Len = 672 +Msg = 4B127FDE5DE733A1680C2790363627E63AC8A3F1B4707D982CAEA258655D9BF18F89AFE54127482BA01E08845594B671306A025C9A5C5B6F93B0A39522DC877437BE5C2436CBF300CE7AB6747934FCFC30AEAAF6 +MD = EA3991C4A8A5F0146402DE4AE235054C78A48DCA340A7D4AD8753995F82347ECFC0054D64EB4F20ABC4F415C54701CBC61A7B239A7C221B833D9EA9F94B154E8 + +Len = 680 +Msg = 08461F006CFF4CC64B752C957287E5A0FAABC05C9BFF89D23FD902D324C79903B48FCB8F8F4B01F3E4DDB483593D25F000386698F5ADE7FAADE9615FDC50D32785EA51D49894E45BAA3DC707E224688C6408B68B11 +MD = 1313023B753ED1727F13CC67A64B989A8BF6548324DF9854D8D5A963ED3D860257FE6522B9C6D6CB1BCADF322C985601BA36F7E67110192094AA8F9869A458A8 + +Len = 688 +Msg = 68C8F8849B120E6E0C9969A5866AF591A829B92F33CD9A4A3196957A148C49138E1E2F5C7619A6D5EDEBE995ACD81EC8BB9C7B9CFCA678D081EA9E25A75D39DB04E18D475920CE828B94E72241F24DB72546B352A0E4 +MD = 9BCA2A1A5546A11275BF42F0B48492868359C78D94785A0EE12DC1C3D70A8E97EB462148FAED1FFA4DAB0E91519BD36C0C5C5FE7CFCFF3E180680318E1FCF75B + +Len = 696 +Msg = B8D56472954E31FB54E28FCA743F84D8DC34891CB564C64B08F7B71636DEBD64CA1EDBDBA7FC5C3E40049CE982BBA8C7E0703034E331384695E9DE76B5104F2FBC4535ECBEEBC33BC27F29F18F6F27E8023B0FBB6F563C +MD = 8492F5E621E82FDBFF1976B1BEECFF7D137805B5736AB49216122A95396B863A0481212B6DABA8B05E29E287BB0E2F588F86407C84DBFB894E6ACFC6F6B2E571 + +Len = 704 +Msg = 0D58AC665FA84342E60CEFEE31B1A4EACDB092F122DFC68309077AED1F3E528F578859EE9E4CEFB4A728E946324927B675CD4F4AC84F64DB3DACFE850C1DD18744C74CECCD9FE4DC214085108F404EAB6D8F452B5442A47D +MD = EEBE4EC0FE3E0266527F4D9F57A017637EAB92377D82B15856A55A22B008DF67F27AA5AC04E1DEEEB2C819CE41DB07DBF6DCAF17A192A4371A1E92BADF1E6389 + +Len = 712 +Msg = 1755E2D2E5D1C1B0156456B539753FF416651D44698E87002DCF61DCFA2B4E72F264D9AD591DF1FDEE7B41B2EB00283C5AEBB3411323B672EAA145C5125185104F20F335804B02325B6DEA65603F349F4D5D8B782DD3469CCD +MD = 9E36E6291BC2296CB4BA71109CEDCC2A3F0B4F1AE5E5406DC4B3E594551D5C70E6F814D2C9B8413103EF07535886B4AC518AAF7AED64ABED7A5B0A26F7171425 + +Len = 720 +Msg = B180DE1A611111EE7584BA2C4B020598CD574AC77E404E853D15A101C6F5A2E5C801D7D85DC95286A1804C870BB9F00FD4DCB03AA8328275158819DCAD7253F3E3D237AEAA7979268A5DB1C6CE08A9EC7C2579783C8AFC1F91A7 +MD = F1089483A00B2601BE9C16469A090EFC49FCB70E62AC0FFEA2D1E508083CD5D41DCF2DAAE1E0EAC217859E5FEADDCB782AC471C01D7266136185D37B568E9606 + +Len = 728 +Msg = CF3583CBDFD4CBC17063B1E7D90B02F0E6E2EE05F99D77E24E560392535E47E05077157F96813544A17046914F9EFB64762A23CF7A49FE52A0A4C01C630CFE8727B81FB99A89FF7CC11DCA5173057E0417B8FE7A9EFBA6D95C555F +MD = D063EA794CFD2ED9248665A6084A7B99051C1051E41B7D9DCB1537A1C79CBA6DEB4D844C6A618E43C7CA020D16976999684FEB084616F707209F75C4BD584D86 + +Len = 736 +Msg = 072FC02340EF99115BAD72F92C01E4C093B9599F6CFC45CB380EE686CB5EB019E806AB9BD55E634AB10AA62A9510CC0672CD3EDDB589C7DF2B67FCD3329F61B1A4441ECA87A33C8F55DA4FBBAD5CF2B2527B8E983BB31A2FADEC7523 +MD = 424A86D746C87C85DABD1DAE298A488E4CA2183DE692D1D01C4B7994EE5124F9004BEA84933C311CC38EA6F604A7769EE178E1EC160A9891C42C462A13A62286 + +Len = 744 +Msg = 76EECF956A52649F877528146DE33DF249CD800E21830F65E90F0F25CA9D6540FDE40603230ECA6760F1139C7F268DEBA2060631EEA92B1FFF05F93FD5572FBE29579ECD48BC3A8D6C2EB4A6B26E38D6C5FBF2C08044AEEA470A8F2F26 +MD = A9403C26A96DE2C3D359EE29F3FD1C581154852D19AD12884B79E7082D2DA22EC83553BABA2BDFF2A2FA15947A8E6ACD5F5D113EC091BFD1962A0A10401D2C98 + +Len = 752 +Msg = 7ADC0B6693E61C269F278E6944A5A2D8300981E40022F839AC644387BFAC9086650085C2CDC585FEA47B9D2E52D65A2B29A7DC370401EF5D60DD0D21F9E2B90FAE919319B14B8C5565B0423CEFB827D5F1203302A9D01523498A4DB10374 +MD = 3D23632EE4C2D4F4118A02A677B5A32427C72BA54899BA2E6CCD22EC3DEFE0FCB052E3F83D35786CEA2080EED148A0A94628E735202E6B2809994C5F5BDAFDD6 + +Len = 760 +Msg = E1FFFA9826CCE8B86BCCEFB8794E48C46CDF372013F782ECED1E378269B7BE2B7BF51374092261AE120E822BE685F2E7A83664BCFBE38FE8633F24E633FFE1988E1BC5ACF59A587079A57A910BDA60060E85B5F5B6F776F0529639D9CCE4BD +MD = D8FA886884CE577A7282DECEACF4786E7C68FC69B141137FF5DC7CB3C5F8ABC845716DD27397E8BD5CE245107A984A3F8B21F19F99ED40118621DC85303A30B4 + +Len = 768 +Msg = 69F9ABBA65592EE01DB4DCE52DBAB90B08FC04193602792EE4DAA263033D59081587B09BBE49D0B49C9825D22840B2FF5D9C5155F975F8F2C2E7A90C75D2E4A8040FE39F63BBAFB403D9E28CC3B86E04E394A9C9E8065BD3C85FA9F0C7891600 +MD = C768CD313602FABB2193F9EDBF667B4CDABD57D5FF60BDC22BA7BAD5319EA04E7CBEC5D4B4C4560AD52609FDD22750B618951796376ED41B2A8EAFFDD9927722 + +Len = 776 +Msg = 38A10A352CA5AEDFA8E19C64787D8E9C3A75DBF3B8674BFAB29B5DBFC15A63D10FAE66CD1A6E6D2452D557967EAAD89A4C98449787B0B3164CA5B717A93F24EB0B506CEB70CBBCB8D72B2A72993F909AAD92F044E0B5A2C9AC9CB16A0CA2F81F49 +MD = 8562CE9399806623B2695712266AF3D4C14F77D2449143379246962C22398C813544A7DEE4C4847F09D3CBE437349B7FC6738AC97075B5DD9E2ADD6ECAA610F4 + +Len = 784 +Msg = 6D8C6E449BC13634F115749C248C17CD148B72157A2C37BF8969EA83B4D6BA8C0EE2711C28EE11495F43049596520CE436004B026B6C1F7292B9C436B055CBB72D530D860D1276A1502A5140E3C3F54A93663E4D20EDEC32D284E25564F624955B52 +MD = 99ADE7B13E8E79AEA6ED01A25E10E401CD1D055884575EAB3E66B2294F03F8D5DBF72AB1AE39103189383EBFD2E43258510C124A894A793B206FAC752C035789 + +Len = 792 +Msg = 6EFCBCAF451C129DBE00B9CEF0C3749D3EE9D41C7BD500ADE40CDC65DEDBBBADB885A5B14B32A0C0D087825201E303288A733842FA7E599C0C514E078F05C821C7A4498B01C40032E9F1872A1C925FA17CE253E8935E4C3C71282242CB716B2089CCC1 +MD = D12831BA39DBCD41F56BC7FC071BDAABFB6E7572D08B2FDA3BDDFC6FA5662F4BDBFA431CA2E38B18172709072E50120DB6BE93E86CB4ACE3C11DD0E1F3F5C712 + +Len = 800 +Msg = 433C5303131624C0021D868A30825475E8D0BD3052A022180398F4CA4423B98214B6BEAAC21C8807A2C33F8C93BD42B092CC1B06CEDF3224D5ED1EC29784444F22E08A55AA58542B524B02CD3D5D5F6907AFE71C5D7462224A3F9D9E53E7E0846DCBB4CE +MD = 527D28E341E6B14F4684ADB4B824C496C6482E51149565D3D17226828884306B51D6148A72622C2B75F5D3510B799D8BDC03EAEDE453676A6EC8FE03A1AD0EAB + +Len = 808 +Msg = A873E0C67CA639026B6683008F7AA6324D4979550E9BCE064CA1E1FB97A30B147A24F3F666C0A72D71348EDE701CF2D17E2253C34D1EC3B647DBCEF2F879F4EB881C4830B791378C901EB725EA5C172316C6D606E0AF7DF4DF7F76E490CD30B2BADF45685F +MD = CACDCF8BF855040E9795C422069D8E37B6286066A2197A320BD934061F66995227BE6B85FD928B834D3CA45E1AC3844D9DC66D61581E7799CCFDE008639AB3DD + +Len = 816 +Msg = 006917B64F9DCDF1D2D87C8A6173B64F6587168E80FAA80F82D84F60301E561E312D9FBCE62F39A6FB476E01E925F26BCC91DE621449BE6504C504830AAE394096C8FC7694651051365D4EE9070101EC9B68086F2EA8F8AB7B811EA8AD934D5C9B62C60A4771 +MD = F454A953501E191A12A80C7A5398F081CEF738E25D48B076A52F77FB09EF0BC2325116020BB06C2C585DA9F115BD9D8F13B50E8E1FB1664450FAE690B7783400 + +Len = 824 +Msg = F13C972C52CB3CC4A4DF28C97F2DF11CE089B815466BE88863243EB318C2ADB1A417CB1041308598541720197B9B1CB5BA2318BD5574D1DF2174AF14884149BA9B2F446D609DF240CE335599957B8EC80876D9A085AE084907BC5961B20BF5F6CA58D5DAB38ADB +MD = 5F968CC6ECF71C588A3C3BA68858BBFF96861F66C0733FD61FA91A479A49618DF22D9490219DF8008DC78840AE022C5D41AF2B890D0214E562DA8DF0CB3F8522 + +Len = 832 +Msg = E35780EB9799AD4C77535D4DDB683CF33EF367715327CF4C4A58ED9CBDCDD486F669F80189D549A9364FA82A51A52654EC721BB3AAB95DCEB4A86A6AFA93826DB923517E928F33E3FBA850D45660EF83B9876ACCAFA2A9987A254B137C6E140A21691E1069413848 +MD = E7149461F9CD00B71C216C50041B3EDA9707D7360D4C21740C44C212256A31DA398FE09708E450EA4E2826B7EC20BEF76CD2FBD9D096AF6F77F84ABC2E4FB093 + +Len = 840 +Msg = 64EC021C9585E01FFE6D31BB50D44C79B6993D72678163DB474947A053674619D158016ADB243F5C8D50AA92F50AB36E579FF2DABB780A2B529370DAA299207CFBCDD3A9A25006D19C4F1FE33E4B1EAEC315D8C6EE1E730623FD1941875B924EB57D6D0C2EDC4E78D6 +MD = 77097413CAA5A2D38259D47EC078871FA09EE5614D4C14FEB7A95C921C0AAE93B8737A6DC89E57693BE8A0710206664B80B657A1079605A0FF9664BBCB0722D6 + +Len = 848 +Msg = 5954BAB512CF327D66B5D9F296180080402624AD7628506B555EEA8382562324CF452FBA4A2130DE3E165D11831A270D9CB97CE8C2D32A96F50D71600BB4CA268CF98E90D6496B0A6619A5A8C63DB6D8A0634DFC6C7EC8EA9C006B6C456F1B20CD19E781AF20454AC880 +MD = 55D8E5202360D7D5841419362F864CC900E11C582FD0CAB2FF5F1680F6CE927B5379E27A335EBAFE1286B9D4A172AB761A36EADE60F10468EAC4CEAFBF63C7CC + +Len = 856 +Msg = 03D9F92B2C565709A568724A0AFF90F8F347F43B02338F94A03ED32E6F33666FF5802DA4C81BDCE0D0E86C04AFD4EDC2FC8B4141C2975B6F07639B1994C973D9A9AFCE3D9D365862003498513BFA166D2629E314D97441667B007414E739D7FEBF0FE3C32C17AA188A8683 +MD = EFFB03B497ADD6230A0ED99122EA868138644AB81E861491E526FAE37C39872CA731804A0004599849478A787BC7FCE21903ED551D7DB881D2A2C367B6168547 + +Len = 864 +Msg = F31E8B4F9E0621D531D22A380BE5D9ABD56FAEC53CBD39B1FAB230EA67184440E5B1D15457BD25F56204FA917FA48E669016CB48C1FFC1E1E45274B3B47379E00A43843CF8601A5551411EC12503E5AAC43D8676A1B2297EC7A0800DBFEE04292E937F21C005F17411473041 +MD = A2269A6EF2EA8F1CF8BC3394D27657B0DB996C55E7C47784C0B451202FC5279679D79E06F8DBAA9A63665FD0E914D13C6E056EA006DAAF4CB61D2629468E3D25 + +Len = 872 +Msg = 758EA3FEA738973DB0B8BE7E599BBEF4519373D6E6DCD7195EA885FC991D896762992759C2A09002912FB08E0CB5B76F49162AEB8CF87B172CF3AD190253DF612F77B1F0C532E3B5FC99C2D31F8F65011695A087A35EE4EEE5E334C369D8EE5D29F695815D866DA99DF3F79403 +MD = 5A2970D5EC346A8E4E1D5D1E57DC22F6875DDF1CE3626B49A91109E0DE991033E932F883B6A795016D5014E268304ABE2F7577505AAB00956911781F075D113A + +Len = 880 +Msg = 47C6E0C2B74948465921868804F0F7BD50DD323583DC784F998A93CD1CA4C6EF84D41DC81C2C40F34B5BEE6A93867B3BDBA0052C5F59E6F3657918C382E771D33109122CC8BB0E1E53C4E3D13B43CE44970F5E0C079D2AD7D7A3549CD75760C21BB15B447589E86E8D76B1E9CED2 +MD = 2B4356A64DF31936B27F4530F076EE73E71E4E48ABDE04FF1F548E0727F4A5810B71874187FD96ED510D0D6886AF11960A0B3BAD1EE75DDA4CDC148E162EDAE9 + +Len = 888 +Msg = F690A132AB46B28EDFA6479283D6444E371C6459108AFD9C35DBD235E0B6B6FF4C4EA58E7554BD002460433B2164CA51E868F7947D7D7A0D792E4ABF0BE5F450853CC40D85485B2B8857EA31B5EA6E4CCFA2F3A7EF3380066D7D8979FDAC618AAD3D7E886DEA4F005AE4AD05E5065F +MD = EDCB59984267BB00402A78F2CA345EF2494956172E10927EE63AFF23D0C834BCA50C47CDBFFD8995036307E9ED4B143E853450367D0E14AFC8490073653CD850 + +Len = 896 +Msg = 58D6A99BC6458824B256916770A8417040721CCCFD4B79EACD8B65A3767CE5BA7E74104C985AC56B8CC9AEBD16FEBD4CDA5ADB130B0FF2329CC8D611EB14DAC268A2F9E633C99DE33997FEA41C52A7C5E1317D5B5DAED35EBA7D5A60E45D1FA7EAABC35F5C2B0A0F2379231953322C4E +MD = D0B453FBE709C69125DC8FE9E8AE9245211612970373B454F8656A755E8435B321DD3A980FA28719641747E254DC42C9BF012B4D6DBD7ED13020A83B44C504AA + +Len = 904 +Msg = BEFAB574396D7F8B6705E2D5B58B2C1C820BB24E3F4BAE3E8FBCD36DBF734EE14E5D6AB972AEDD3540235466E825850EE4C512EA9795ABFD33F330D9FD7F79E62BBB63A6EA85DE15BEAEEA6F8D204A28956059E2632D11861DFB0E65BC07AC8A159388D5C3277E227286F65FF5E5B5AEC1 +MD = FE97C011E525110E03149FAC4179891AFCB6304E1CFD9D84CB7389755554EE723571D76B80B9333A695884192340B3FE022D4A233B7AA8E8C7686745CFE75E67 + +Len = 912 +Msg = 8E58144FA9179D686478622CE450C748260C95D1BA43B8F9B59ABECA8D93488DA73463EF40198B4D16FB0B0707201347E0506FF19D01BEA0F42B8AF9E71A1F1BD168781069D4D338FDEF00BF419FBB003031DF671F4A37979564F69282DE9C65407847DD0DA505AB1641C02DEA4F0D834986 +MD = 1BC4AC8D979CA62A7FC81C710CEDF65AF56C9B652EEC356AA92DA924D370FDEBDF076F91BA4FE1EC5CD78FC4C8885EA4304BA2E8E64944AB4BF4D1B3D7DEE745 + +Len = 920 +Msg = B55C10EAE0EC684C16D13463F29291BF26C82E2FA0422A99C71DB4AF14DD9C7F33EDA52FD73D017CC0F2DBE734D831F0D820D06D5F89DACC485739144F8CFD4799223B1AFF9031A105CB6A029BA71E6E5867D85A554991C38DF3C9EF8C1E1E9A7630BE61CAABCA69280C399C1FB7A12D12AEFC +MD = 76E970E9449D868067CD23B1A202CBDC99693FF6FA74BA644EC41CBF8FD139CB0F5D1106FCD6C871C315FF41C3EAF99C636288F0FCF6A40B480CB881D87E098F + +Len = 928 +Msg = 2EEEA693F585F4ED6F6F8865BBAE47A6908AECD7C429E4BEC4F0DE1D0CA0183FA201A0CB14A529B7D7AC0E6FF6607A3243EE9FB11BCF3E2304FE75FFCDDD6C5C2E2A4CD45F63C962D010645058D36571404A6D2B4F44755434D76998E83409C3205AA1615DB44057DB991231D2CB42624574F545 +MD = 871666B230C5AD75B96D63BE22870621C68FD0899655BA7DC0E0E5299915AF252C226DD7217601D3A6880D55EE5A20B10820E21C74F730EEA9D47FE26DEBE006 + +Len = 936 +Msg = DAB11DC0B047DB0420A585F56C42D93175562852428499F66A0DB811FCDDDAB2F7CDFFED1543E5FB72110B64686BC7B6887A538AD44C050F1E42631BC4EC8A9F2A047163D822A38989EE4AAB01B4C1F161B062D873B1CFA388FD301514F62224157B9BEF423C7783B7AAC8D30D65CD1BBA8D689C2D +MD = 7E3EF62552B28A2B18A71CEEF2DD8659C8BDF291385AD02FED353775E01594F27CC28CC78663E17CB8B39FD4EA48D494AD0BD7AEE9277EC9B21E46523812736E + +Len = 944 +Msg = 42E99A2F80AEE0E001279A2434F731E01D34A44B1A8101726921C0590C30F3120EB83059F325E894A5AC959DCA71CE2214799916424E859D27D789437B9D27240BF8C35ADBAFCECC322B48AA205B293962D858652ABACBD588BCF6CBC388D0993BD622F96ED54614C25B6A9AA527589EAAFFCF17DDF7 +MD = 0B87F6EBAA293FF79C873820846C0FCC943E3A83BD8111931FF03FF3B0BF785C961CA84CF3FD40E0D831DBAEA595498FC12DA88CC507DE720A35C01D73FC9595 + +Len = 952 +Msg = 3C9B46450C0F2CAE8E3823F8BDB4277F31B744CE2EB17054BDDC6DFF36AF7F49FB8A2320CC3BDF8E0A2EA29AD3A55DE1165D219ADEDDB5175253E2D1489E9B6FDD02E2C3D3A4B54D60E3A47334C37913C5695378A669E9B72DEC32AF5434F93F46176EBF044C4784467C700470D0C0B40C8A088C815816 +MD = 681BABBD2E351501C285812E06F20940FD865516CF028B4787D1FFCCD0D537705E8E9B73C608D5A8DC4F08EEE0902AC12936DDB8C7B29228C6AAF8D0B909C30D + +Len = 960 +Msg = D1E654B77CB155F5C77971A64DF9E5D34C26A3CAD6C7F6B300D39DEB1910094691ADAA095BE4BA5D86690A976428635D5526F3E946F7DC3BD4DBC78999E653441187A81F9ADCD5A3C5F254BC8256B0158F54673DCC1232F6E918EBFC6C51CE67EAEB042D9F57EEC4BFE910E169AF78B3DE48D137DF4F2840 +MD = C46D2262F186421D07FD740F922306D99B1E3826F6A32486BE5A91DC298F177F50915E17EB4EA2E45494C501736CEFB0E22ACD989DA41AC7BB7BE56B04BFB5E1 + +Len = 968 +Msg = 626F68C18A69A6590159A9C46BE03D5965698F2DAC3DE779B878B3D9C421E0F21B955A16C715C1EC1E22CE3EB645B8B4F263F60660EA3028981EEBD6C8C3A367285B691C8EE56944A7CD1217997E1D9C21620B536BDBD5DE8925FF71DEC6FBC06624AB6B21E329813DE90D1E572DFB89A18120C3F606355D25 +MD = 0B3DBC770332823E686470D842104D3B3C1452F64F1BCC71C5F3FAD1C0D93F21EFBD48D73C7D4909227B06B06D54057A74E03C36D9C106EBA79411F1E6E1CFFE + +Len = 976 +Msg = 651A6FB3C4B80C7C68C6011675E6094EB56ABF5FC3057324EBC6477825061F9F27E7A94633ABD1FA598A746E4A577CAF524C52EC1788471F92B8C37F23795CA19D559D446CAB16CBCDCE90B79FA1026CEE77BF4AB1B503C5B94C2256AD75B3EAC6FD5DCB96ACA4B03A834BFB4E9AF988CECBF2AE597CB9097940 +MD = CA46276B0DC2EC4424BB7136EAE1AF207BD6E5CD833691C7D37B2CAEAF4F484B96A3476FC25FEB206AD37CF975383DD522CA0CC6200A3867FEE7F178D6953FEF + +Len = 984 +Msg = 8AAF072FCE8A2D96BC10B3C91C809EE93072FB205CA7F10ABD82ECD82CF040B1BC49EA13D1857815C0E99781DE3ADBB5443CE1C897E55188CEAF221AA9681638DE05AE1B322938F46BCE51543B57ECDB4C266272259D1798DE13BE90E10EFEC2D07484D9B21A3870E2AA9E06C21AA2D0C9CF420080A80A91DEE16F +MD = 815B44668BF3751A3392940FCA54C1E3E4EF5227B052332AFE6EB7A10AC8AD6438CE8A0277AA14BCC41590F6D6A10B6B1BABE6BB4F8D777EA576D634B0BE41C0 + +Len = 992 +Msg = 53F918FD00B1701BD504F8CDEA803ACCA21AC18C564AB90C2A17DA592C7D69688F6580575395551E8CD33E0FEF08CA6ED4588D4D140B3E44C032355DF1C531564D7F4835753344345A6781E11CD5E095B73DF5F82C8AE3AD00877936896671E947CC52E2B29DCD463D90A0C9929128DA222B5A211450BBC0E02448E2 +MD = F47799A8547FC9C07D0F808029E7335607D72224BE286E118657BD13A2C51D0374426D9EEB7693BDE5EC6181574C1404DF29BF96941862BA1A0A9A5903319498 + +Len = 1000 +Msg = A64599B8A61B5CCEC9E67AED69447459C8DA3D1EC6C7C7C82A7428B9B584FA67E90F68E2C00FBBED4613666E5168DA4A16F395F7A3C3832B3B134BFC9CBAA95D2A0FE252F44AC6681EB6D40AB91C1D0282FED6701C57463D3C5F2BB8C6A7301FB4576AA3B5F15510DB8956FF77478C26A7C09BEA7B398CFC83503F538E +MD = 8A0AE12A9E797FB7BD46CBB910076A32873BFFCB9AD98B4FC37316AED681EC49C65ABBB9586405FF96CC80DA4BB8FA73BE1BA9E737595B2307CF369D61BAF59C + +Len = 1008 +Msg = 0E3AB0E054739B00CDB6A87BD12CAE024B54CB5E550E6C425360C2E87E59401F5EC24EF0314855F0F56C47695D56A7FB1417693AF2A1ED5291F2FEE95F75EED54A1B1C2E81226FBFF6F63ADE584911C71967A8EB70933BC3F5D15BC91B5C2644D9516D3C3A8C154EE48E118BD1442C043C7A0DBA5AC5B1D5360AAE5B9065 +MD = A3C6D58872BAFDEDFDD50C0309089240D6977D4D3D59FB3F2BE133C57D2DFCFCC7C027296F74FE58B2A9A6CB7E5D70088934D051CBA57001FE27965CFA071A6F + +Len = 1016 +Msg = A62FC595B4096E6336E53FCDFC8D1CC175D71DAC9D750A6133D23199EAAC288207944CEA6B16D27631915B4619F743DA2E30A0C00BBDB1BBB35AB852EF3B9AEC6B0A8DCC6E9E1ABAA3AD62AC0A6C5DE765DE2C3711B769E3FDE44A74016FFF82AC46FA8F1797D3B2A726B696E3DEA5530439ACEE3A45C2A51BC32DD055650B +MD = 11E0E521B55F02BEFC7207C06444FCC0C16DCF6F34962921B709A322F35E2193477B0DFA21F213F209705FF3958531A75D94346075FEB29A288B62E2315AE270 + +Len = 1024 +Msg = 2B6DB7CED8665EBE9DEB080295218426BDAA7C6DA9ADD2088932CDFFBAA1C14129BCCDD70F369EFB149285858D2B1D155D14DE2FDB680A8B027284055182A0CAE275234CC9C92863C1B4AB66F304CF0621CD54565F5BFF461D3B461BD40DF28198E3732501B4860EADD503D26D6E69338F4E0456E9E9BAF3D827AE685FB1D817 +MD = AEBBA57C8ED5AF6EC93F4AA45772FF5167B7EA88DFA71364F37D8FC5FDB7DC3B2C8331A08023F21D110B7D821E2DC7E860826235E7E6291912AC521384747354 + +Len = 1032 +Msg = 10DB509B2CDCABA6C062AE33BE48116A29EB18E390E1BBADA5CA0A2718AFBCD23431440106594893043CC7F2625281BF7DE2655880966A23705F0C5155C2F5CCA9F2C2142E96D0A2E763B70686CD421B5DB812DACED0C6D65035FDE558E94F26B3E6DDE5BD13980CC80292B723013BD033284584BFF27657871B0CF07A849F4AE2 +MD = 2DF1E09540B53A17222DAB66275CEBECEB1F8A5DB26B0C41F955FA0549F3367E82299E0CD673958AF7DFA04D741AA63BA2C1AD351764DC9228D215F22C24CA58 + +Len = 1040 +Msg = 9334DE60C997BDA6086101A6314F64E4458F5FF9450C509DF006E8C547983C651CA97879175AABA0C539E82D05C1E02C480975CBB30118121061B1EBAC4F8D9A3781E2DB6B18042E01ECF9017A64A0E57447EC7FCBE6A7F82585F7403EE2223D52D37B4BF426428613D6B4257980972A0ACAB508A7620C1CB28EB4E9D30FC41361EC +MD = 8299CFCEA5F00C93A5EB8A84A13628A68B26796D53FB6A986C95B0B1C248920FB946D8AF98343D14EFC74A4611C53CCC27C5F14C7237AF28364346CA5CD70D1A + +Len = 1048 +Msg = E88AB086891693AA535CEB20E64C7AB97C7DD3548F3786339897A5F0C39031549CA870166E477743CCFBE016B4428D89738E426F5FFE81626137F17AECFF61B72DBEE2DC20961880CFE281DFAB5EE38B1921881450E16032DE5E4D55AD8D4FCA609721B0692BAC79BE5A06E177FE8C80C0C83519FB3347DE9F43D5561CB8107B9B5EDC +MD = AF57BEA357FCBA0579C4204C0F8DFF181BC8A473014BAE78DF76069DE478B2F2A390327A65BDD24BE926551C78F70B0D5F1C8F4B970997D557F06336A315A749 + +Len = 1056 +Msg = FD19E01A83EB6EC810B94582CB8FBFA2FCB992B53684FB748D2264F020D3B960CB1D6B8C348C2B54A9FCEA72330C2AAA9A24ECDB00C436ABC702361A82BB8828B85369B8C72ECE0082FE06557163899C2A0EFA466C33C04343A839417057399A63A3929BE1EE4805D6CE3E5D0D0967FE9004696A5663F4CAC9179006A2CEB75542D75D68 +MD = B299E421061EF26C32BB4F50EE669D05FEB2CCBA3297289C30E6434057B3EA7F617BBBF7A5555328FC291F794987577F458350DF99AF3A5778300BE0BD80164F + +Len = 1064 +Msg = 59AE20B6F7E0B3C7A989AFB28324A40FCA25D8651CF1F46AE383EF6D8441587AA1C04C3E3BF88E8131CE6145CFB8973D961E8432B202FA5AF3E09D625FAAD825BC19DA9B5C6C20D02ABDA2FCC58B5BD3FE507BF201263F30543819510C12BC23E2DDB4F711D087A86EDB1B355313363A2DE996B891025E147036087401CCF3CA7815BF3C49 +MD = CBDFB0D0E720F87259DD0D0B4E9C5319E7F88AAEF7F7AB2FA1CA639AFA0160822F96B3C357A4894CE53CD713FAB23AD052E8565FA3B3A523CB9CE39A6BD535CC + +Len = 1072 +Msg = 77EE804B9F3295AB2362798B72B0A1B2D3291DCEB8139896355830F34B3B328561531F8079B79A6E9980705150866402FDC176C05897E359A6CB1A7AB067383EB497182A7E5AEF7038E4C96D133B2782917417E391535B5E1B51F47D8ED7E4D4025FE98DC87B9C1622614BFF3D1029E68E372DE719803857CA52067CDDAAD958951CB2068CC6 +MD = 059A181C83A22BFF0AA9BAA22D872BDF23CBE341032CF0BF57997A4A1924D24FBAE9DCA14B6D290692B6A6B6344CBE531734F58AD0224C6E39BD1E87F870AAD6 + +Len = 1080 +Msg = B771D5CEF5D1A41A93D15643D7181D2A2EF0A8E84D91812F20ED21F147BEF732BF3A60EF4067C3734B85BC8CD471780F10DC9E8291B58339A677B960218F71E793F2797AEA349406512829065D37BB55EA796FA4F56FD8896B49B2CD19B43215AD967C712B24E5032D065232E02C127409D2ED4146B9D75D763D52DB98D949D3B0FED6A8052FBB +MD = 9EDEEB10EE1B7BB8F16A280D8CC3EDA5E909C554419DDC523B69ECEDF2ADF3B3C9BC66FEF365342471C458126F083A3B8E7C0C9D9D77E9F90196B71F9AADF492 + +Len = 1088 +Msg = B32D95B0B9AAD2A8816DE6D06D1F86008505BD8C14124F6E9A163B5A2ADE55F835D0EC3880EF50700D3B25E42CC0AF050CCD1BE5E555B23087E04D7BF9813622780C7313A1954F8740B6EE2D3F71F768DD417F520482BD3A08D4F222B4EE9DBD015447B33507DD50F3AB4247C5DE9A8ABD62A8DECEA01E3B87C8B927F5B08BEB37674C6F8E380C04 +MD = A6054FFC3D81591BE964C4B004A3A21142365B59EE98B2873D488293F93A8D7154BF72100012C60D3C9418F6AF8EA66372CB4703F5F6381DE6D4B9B98CFF1E90 + +Len = 1096 +Msg = 04410E31082A47584B406F051398A6ABE74E4DA59BB6F85E6B49E8A1F7F2CA00DFBA5462C2CD2BFDE8B64FB21D70C083F11318B56A52D03B81CAC5EEC29EB31BD0078B6156786DA3D6D8C33098C5C47BB67AC64DB14165AF65B44544D806DDE5F487D5373C7F9792C299E9686B7E5821E7C8E2458315B996B5677D926DAC57B3F22DA873C601016A0D +MD = B0E54A12FDBA0738898F1BBF0BA81F81DE77648D8D14C20BDD5D90F300D382E069F5DBA7EEC6B23168B008B9F39C2B93FD742A5902A5E02728F57712D6A61D4E + +Len = 1104 +Msg = 8B81E9BADDE026F14D95C019977024C9E13DB7A5CD21F9E9FC491D716164BBACDC7060D882615D411438AEA056C340CDF977788F6E17D118DE55026855F93270472D1FD18B9E7E812BAE107E0DFDE7063301B71F6CFE4E225CAB3B232905A56E994F08EE2891BA922D49C3DAFEB75F7C69750CB67D822C96176C46BD8A29F1701373FB09A1A6E3C7158F +MD = 3CE96077EB17C6A9C95A9A477748876C6451098DBEA2B3261E6D75B64A988E1C75D7EAC73BC2402AFC726543E2A5BDB76689C0931FF762818DD2D3FE57A50FA9 + +Len = 1112 +Msg = FA6EED24DA6666A22208146B19A532C2EC9BA94F09F1DEF1E7FC13C399A48E41ACC2A589D099276296348F396253B57CB0E40291BD282773656B6E0D8BEA1CDA084A3738816A840485FCF3FB307F777FA5FEAC48695C2AF4769720258C77943FB4556C362D9CBA8BF103AEB9034BAA8EA8BFB9C4F8E6742CE0D52C49EA8E974F339612E830E9E7A9C29065 +MD = C9ACD6D98A349512B952D151ED501562F04EA4BB4B8965812510B9B842531A2B41A0108AC129CF9C9517BE790921DF64AD1DFC0B93DDBA3415EEBAF0DA72F6A0 + +Len = 1120 +Msg = 9BB4AF1B4F09C071CE3CAFA92E4EB73CE8A6F5D82A85733440368DEE4EB1CBC7B55AC150773B6FE47DBE036C45582ED67E23F4C74585DAB509DF1B83610564545642B2B1EC463E18048FC23477C6B2AA035594ECD33791AF6AF4CBC2A1166ABA8D628C57E707F0B0E8707CAF91CD44BDB915E0296E0190D56D33D8DDE10B5B60377838973C1D943C22ED335E +MD = 26B4E5C4FA85CB33359450E7F7158FB6A0739984565E9D9EBE6AD65B118296E9C1098C11541C871EB1B89853F1FA73AD8702EBF4FC9BE4D0AB057E4391DF964E + +Len = 1128 +Msg = 2167F02118CC62043E9091A647CADBED95611A521FE0D64E8518F16C808AB297725598AE296880A773607A798F7C3CFCE80D251EBEC6885015F9ABF7EAABAE46798F82CB5926DE5C23F44A3F9F9534B3C6F405B5364C2F8A8BDC5CA49C749BED8CE4BA48897062AE8424CA6DDE5F55C0E42A95D1E292CA54FB46A84FBC9CD87F2D0C9E7448DE3043AE22FDD229 +MD = 913BBA5C0C13CC49D8310014CF5AF1B63BA3D5DB8A27699FCFC573688F0E826FB5A7B5D10D3A1DE693AA66E08C0915E7278F61B5FA30F1263B134F016F74841F + +Len = 1136 +Msg = 94B7FA0BC1C44E949B1D7617D31B4720CBE7CA57C6FA4F4094D4761567E389ECC64F6968E4064DF70DF836A47D0C713336B5028B35930D29EB7A7F9A5AF9AD5CF441745BAEC9BB014CEEFF5A41BA5C1CE085FEB980BAB9CF79F2158E03EF7E63E29C38D7816A84D4F71E0F548B7FC316085AE38A060FF9B8DEC36F91AD9EBC0A5B6C338CBB8F6659D342A24368CF +MD = E5D53E81866283179012D9239340B0CBFB8D7AEBCE0C824DC6653A652BB1B54E0883991BE2C3E39AD111A7B24E95DAF6F7D9A379D884D64F9C2AFD645E1DB5E2 + +Len = 1144 +Msg = EA40E83CB18B3A242C1ECC6CCD0B7853A439DAB2C569CFC6DC38A19F5C90ACBF76AEF9EA3742FF3B54EF7D36EB7CE4FF1C9AB3BC119CFF6BE93C03E208783335C0AB8137BE5B10CDC66FF3F89A1BDDC6A1EED74F504CBE7290690BB295A872B9E3FE2CEE9E6C67C41DB8EFD7D863CF10F840FE618E7936DA3DCA5CA6DF933F24F6954BA0801A1294CD8D7E66DFAFEC +MD = 5DA83B7E221933CD67FA2AF8C9934DB74CE822212C99E0EE01F5220B4FE1E9B0388E42E328A1D174E6368F5773853042543A9B493A94B625980B73DF3F3FCCBB + +Len = 1152 +Msg = 157D5B7E4507F66D9A267476D33831E7BB768D4D04CC3438DA12F9010263EA5FCAFBDE2579DB2F6B58F911D593D5F79FB05FE3596E3FA80FF2F761D1B0E57080055C118C53E53CDB63055261D7C9B2B39BD90ACC32520CBBDBDA2C4FD8856DBCEE173132A2679198DAF83007A9B5C51511AE49766C792A29520388444EBEFE28256FB33D4260439CBA73A9479EE00C63 +MD = 72DE9184BEB5C6A37EA2C395734D0D5412991A57CFFCC13FF9B5FA0F2046EE87C61811FE8EF2470239D5066C220173DE5EBE41885ED8ACAE397FB395E6CA9AEE + +Len = 1160 +Msg = 836B34B515476F613FE447A4E0C3F3B8F20910AC89A3977055C960D2D5D2B72BD8ACC715A9035321B86703A411DDE0466D58A59769672AA60AD587B8481DE4BBA552A1645779789501EC53D540B904821F32B0BD1855B04E4848F9F8CFE9EBD8911BE95781A759D7AD9724A7102DBE576776B7C632BC39B9B5E19057E226552A5994C1DBB3B5C7871A11F5537011044C53 +MD = B678FA7655584970DEDBBC73A16D7840935B104D06DCB468DDD9814D6CF443FA6F9245824DBFF3AB5FFFEF24B29CB2978796F37E7B49B1682D59F79E3C169E81 + +Len = 1168 +Msg = CC7784A4912A7AB5AD3620AAB29BA87077CD3CB83636ADC9F3DC94F51EDF521B2161EF108F21A0A298557981C0E53CE6CED45BDF782C1EF200D29BAB81DD6460586964EDAB7CEBDBBEC75FD7925060F7DA2B853B2B089588FA0F8C16EC6498B14C55DCEE335CB3A91D698E4D393AB8E8EAC0825F8ADEBEEE196DF41205C011674E53426CAA453F8DE1CBB57932B0B741D4C6 +MD = 66C64D5B0585DD8C40BECD456E4B0188061AE8059F03E79FE04C40925442BA93B052F52087B30BDBFD4816BBD148696D4FA6C61F216253D7AC178B39EC44C770 + +Len = 1176 +Msg = 7639B461FFF270B2455AC1D1AFCE782944AEA5E9087EB4A39EB96BB5C3BAAF0E868C8526D3404F9405E79E77BFAC5FFB89BF1957B523E17D341D7323C302EA7083872DD5E8705694ACDDA36D5A1B895AAA16ECA6104C82688532C8BFE1790B5DC9F4EC5FE95BAED37E1D287BE710431F1E5E8EE105BC42ED37D74B1E55984BF1C09FE6A1FA13EF3B96FAEAED6A2A1950A12153 +MD = A7BD506DB9C0509AD47413AF4B0E3948B47C18278F15F5B19FBB0B76E2C1C1F19DB9438528EB6D87B0B4A509567DB39F32641E2944365780914296CF3E48CECF + +Len = 1184 +Msg = EB6513FC61B30CFBA58D4D7E80F94D14589090CF1D80B1DF2E68088DC6104959BA0D583D585E9578AB0AEC0CF36C48435EB52ED9AB4BBCE7A5ABE679C97AE2DBE35E8CC1D45B06DDA3CF418665C57CBEE4BBB47FA4CAF78F4EE656FEC237FE4EEBBAFA206E1EF2BD0EE4AE71BD0E9B2F54F91DAADF1FEBFD7032381D636B733DCB3BF76FB14E23AFF1F68ED3DBCF75C9B99C6F26 +MD = 2E681F9DDBD7C77EAB0D225E2AD1F72256BE239DF25933BCD6CEDD757269B35E2A5352B3298A4CDA0542FF7D3ADD2B0CF42F10FBE05A67C8763D54A78A43AEA7 + +Len = 1192 +Msg = 1594D74BF5DDE444265D4C04DAD9721FF3E34CBF622DAF341FE16B96431F6C4DF1F760D34F296EB97D98D560AD5286FEC4DCE1724F20B54FD7DF51D4BF137ADD656C80546FB1BF516D62EE82BAA992910EF4CC18B70F3F8698276FCFB44E0EC546C2C39CFD8EE91034FF9303058B4252462F86C823EB15BF481E6B79CC3A02218595B3658E8B37382BD5048EAED5FD02C37944E73B +MD = FD9BE24763F682043243525E5E0780534A82AD5E83B65EB4ACAF5353313A4CC7C5EEA9DA141DE570232CB4126287E5C77657CA8D6A16B5BE53F470343E722FD6 + +Len = 1200 +Msg = 4CFA1278903026F66FEDD41374558BE1B585D03C5C55DAC94361DF286D4BD39C7CB8037ED3B267B07C346626449D0CC5B0DD2CF221F7E4C3449A4BE99985D2D5E67BFF2923357DDEAB5ABCB4619F3A3A57B2CF928A022EB27676C6CF805689004FCA4D41EA6C2D0A4789C7605F7BB838DD883B3AD3E6027E775BCF262881428099C7FFF95B14C095EA130E0B9938A5E22FC52650F591 +MD = 14EA33BB33FDF0426E0DFB12DE1C613BA97141454C8971BCCE25C6D87A6C2403CCFAD1E8A6C15754C3CC5AC1718B7F7F1EC003C1B98D70968C5DBB95540B4A17 + +Len = 1208 +Msg = D3E65CB92CFA79662F6AF493D696A07CCF32AAADCCEFF06E73E8D9F6F909209E66715D6E978788C49EFB9087B170ECF3AA86D2D4D1A065AE0EFC8924F365D676B3CB9E2BEC918FD96D0B43DEE83727C9A93BF56CA2B2E59ADBA85696546A815067FC7A78039629D4948D157E7B0D826D1BF8E81237BAB7321312FDAA4D521744F988DB6FDF04549D0FDCA393D639C729AF716E9C8BBA48 +MD = 3B4B395514E0CAB04FC9F9D6C358006CE06C93831E8948FB9BD2A863F3FA064E78EB57C76DD2D058D09AB3D105C28C2DACAEBD4A473F1FA023053CC15366082F + +Len = 1216 +Msg = 842CC583504539622D7F71E7E31863A2B885C56A0BA62DB4C2A3F2FD12E79660DC7205CA29A0DC0A87DB4DC62EE47A41DB36B9DDB3293B9AC4BAAE7DF5C6E7201E17F717AB56E12CAD476BE49608AD2D50309E7D48D2D8DE4FA58AC3CFEAFEEE48C0A9EEC88498E3EFC51F54D300D828DDDCCB9D0B06DD021A29CF5CB5B2506915BEB8A11998B8B886E0F9B7A80E97D91A7D01270F9A7717 +MD = 2D7D28C4311E0424D71E7F9D267A2E048AA175455FCB724CF0B13DEBF448B59B0F28265B0F010F4E4F4065004904A7C2687A5A1B30AB593BC44F698DFF5DDE33 + +Len = 1224 +Msg = 6C4B0A0719573E57248661E98FEBE326571F9A1CA813D3638531AE28B4860F23C3A3A8AC1C250034A660E2D71E16D3ACC4BF9CE215C6F15B1C0FC7E77D3D27157E66DA9CEEC9258F8F2BF9E02B4AC93793DD6E29E307EDE3695A0DF63CBDC0FC66FB770813EB149CA2A916911BEE4902C47C7802E69E405FE3C04CEB5522792A5503FA829F707272226621F7C488A7698C0D69AA561BE9F378 +MD = CB665EC69ABD75743C8713034E9E41736F8C1CE2C77A8518E50388C411E6284D9AADCD4D3BD5A9EB74672325E41E8A67ACF380D1E8A61684F0E501F5663A031D + +Len = 1232 +Msg = 51B7DBB7CE2FFEB427A91CCFE5218FD40F9E0B7E24756D4C47CD55606008BDC27D16400933906FD9F30EFFDD4880022D081155342AF3FB6CD53672AB7FB5B3A3BCBE47BE1FD3A2278CAE8A5FD61C1433F7D350675DD21803746CADCA574130F01200024C6340AB0CC2CF74F2234669F34E9009EF2EB94823D62B31407F4BA46F1A1EEC41641E84D77727B59E746B8A671BEF936F05BE820759FA +MD = 4515A104FC68094D244B234D9DC06A0243B71D419D29A95C46E3CBA6F51E121ABE049B34535DB3CCBF2AD68D83FC36331F615B3E33DEB39A3381DFBCB798FE4D + +Len = 1240 +Msg = 83599D93F5561E821BD01A472386BC2FF4EFBD4AED60D5821E84AAE74D8071029810F5E286F8F17651CD27DA07B1EB4382F754CD1C95268783AD09220F5502840370D494BEB17124220F6AFCE91EC8A0F55231F9652433E5CE3489B727716CF4AEBA7DCDA20CD29AA9A859201253F948DD94395ABA9E3852BD1D60DDA7AE5DC045B283DA006E1CBAD83CC13292A315DB5553305C628DD091146597 +MD = CEE3E60A49F7CAED9387F3EA699524C4CCAFD37C1A7E60D2F0AB037720649F108CCE8769F70B0C5D049359EEB821022F17C4B5F646B750E3070558EC127057F1 + +Len = 1248 +Msg = 2BE9BF526C9D5A75D565DD11EF63B979D068659C7F026C08BEA4AF161D85A462D80E45040E91F4165C074C43AC661380311A8CBED59CC8E4C4518E80CD2C78AB1CABF66BFF83EAB3A80148550307310950D034A6286C93A1ECE8929E6385C5E3BB6EA8A7C0FB6D6332E320E71CC4EB462A2A62E2BFE08F0CCAD93E61BEDB5DD0B786A728AB666F07E0576D189C92BF9FB20DCA49AC2D3956D47385E2 +MD = E6ED6F060906D1A772F47E83907507F88A151DE401ED79ACB56BE57C2596792DC0BC5A9DC1045E37C6A31DA1C36200214E4F5698AA2754EEB2CAECFC03BEC39D + +Len = 1256 +Msg = CA76D3A12595A817682617006848675547D3E8F50C2210F9AF906C0E7CE50B4460186FE70457A9E879E79FD4D1A688C70A347361C847BA0DD6AA52936EAF8E58A1BE2F5C1C704E20146D366AEB3853BED9DE9BEFE9569AC8AAEA37A9FB7139A1A1A7D5C748605A8DEFB297869EBEDD71D615A5DA23496D11E11ABBB126B206FA0A7797EE7DE117986012D0362DCEF775C2FE145ADA6BDA1CCB326BF644 +MD = 9ED4EEE87F56AE2741E8E4D65623E4D1FA3AA111F64A85F66E99093BAED990FE1D788D6A4BE1A72A6615281EB45E1B6FB60AFEFDD93987F794084BDA962FAC7F + +Len = 1264 +Msg = F76B85DC67421025D64E93096D1D712B7BAF7FB001716F02D33B2160C2C882C310EF13A576B1C2D30EF8F78EF8D2F465007109AAD93F74CB9E7D7BEF7C9590E8AF3B267C89C15DB238138C45833C98CC4A471A7802723EF4C744A853CF80A0C2568DD4ED58A2C9644806F42104CEE53628E5BDF7B63B0B338E931E31B87C24B146C6D040605567CEEF5960DF9E022CB469D4C787F4CBA3C544A1AC91F95F +MD = 23139BDD84E9F43A6CC615F0F036199328D39807BEC9E786D4251B83B30800F9DBE8EDC0B910FCD9D9F204C2DDD4D3B92BC26A0CFAABE764BFB90A1444733CD0 + +Len = 1272 +Msg = 25B8C9C032EA6BCD733FFC8718FBB2A503A4EA8F71DEA1176189F694304F0FF68E862A8197B839957549EF243A5279FC2646BD4C009B6D1EDEBF24738197ABB4C992F6B1DC9BA891F570879ACCD5A6B18691A93C7D0A8D38F95B639C1DAEB48C4C2F15CCF5B9D508F8333C32DE78781B41850F261B855C4BEBCC125A380C54D501C5D3BD07E6B52102116088E53D76583B0161E2A58D0778F091206AABD5A1 +MD = EC69397000AED63CB7E86B4FB0BFD3DCEE8A6F6A1CFE01A324DA13484B73599FCD37AD392662D4C41D90BACA66BE4D6E3424EFD35D7FF4CB07CBDFBEBDDB7B50 + +Len = 1280 +Msg = 21CFDC2A7CCB7F331B3D2EEFFF37E48AD9FA9C788C3F3C200E0173D99963E1CBCA93623B264E920394AE48BB4C3A5BB96FFBC8F0E53F30E22956ADABC2765F57FB761E147ECBF8567533DB6E50C8A1F894310A94EDF806DD8CA6A0E141C0FA7C9FAE6C6AE65F18C93A8529E6E5B553BF55F25BE2E80A9882BD37F145FECBEB3D447A3C4E46C21524CC55CDD62F521AB92A8BA72B897996C49BB273198B7B1C9E +MD = 2EA3EA00E6E9305CED0FC160E004265221306A2BE9613474126825AA3C3170AE07E5EA42F6B74F0B2C1BD2A6CD4D26EB1E04C67C9A4AFEFC1DD0CB57C2A9F4C7 + +Len = 1288 +Msg = 4E452BA42127DCC956EF4F8F35DD68CB225FB73B5BC7E1EC5A898BBA2931563E74FAFF3B67314F241EC49F4A7061E3BD0213AE826BAB380F1F14FAAB8B0EFDDD5FD1BB49373853A08F30553D5A55CCBBB8153DE4704F29CA2BDEEF0419468E05DD51557CCC80C0A96190BBCC4D77ECFF21C66BDF486459D427F986410F883A80A5BCC32C20F0478BB9A97A126FC5F95451E40F292A4614930D054C851ACD019CCF +MD = 6A7ADDB28F4F2C23CF0C264579FBA5F892E010689F837B84D006D91402FBFE9BA44B9126F8B5DE1EC6BBE194A3E3854235056A09901D18E8D6F1727DD430212A + +Len = 1296 +Msg = FA85671DF7DADF99A6FFEE97A3AB9991671F5629195049880497487867A6C446B60087FAC9A0F2FCC8E3B24E97E42345B93B5F7D3691829D3F8CCD4BB36411B85FC2328EB0C51CB3151F70860AD3246CE0623A8DC8B3C49F958F8690F8E3860E71EB2B1479A5CEA0B3F8BEFD87ACAF5362435EAECCB52F38617BC6C5C2C6E269EAD1FBD69E941D4AD2012DA2C5B21BCFBF98E4A77AB2AF1F3FDA3233F046D38F1DC8 +MD = 2C0EE8A165BF88C44C8601C6372E522DA9ECF42544DCDC098698F50DF8E70EB7440CAB2953BB490CD2A5E0887BEEAE3482192DA95E5098D3B318F16FC08D1E1E + +Len = 1304 +Msg = E90847AE6797FBC0B6B36D6E588C0A743D725788CA50B6D792352EA8294F5BA654A15366B8E1B288D84F5178240827975A763BC45C7B0430E8A559DF4488505E009C63DA994F1403F407958203CEBB6E37D89C94A5EACF6039A327F6C4DBBC7A2A307D976AA39E41AF6537243FC218DFA6AB4DD817B6A397DF5CA69107A9198799ED248641B63B42CB4C29BFDD7975AC96EDFC274AC562D0474C60347A078CE4C25E88 +MD = DDD4FF117231ECA0445EADA7C7F1D84686520DAA70E160C87DBBB3FB32BB9E2F4CC53DB5413D4E88DE18A0118570318BD6D0E5264D779339AC6F4F4A95546A53 + +Len = 1312 +Msg = F6D5C2B6C93954FC627602C00C4CA9A7D3ED12B27173F0B2C9B0E4A5939398A665E67E69D0B12FB7E4CEB253E8083D1CEB724AC07F009F094E42F2D6F2129489E846EAFF0700A8D4453EF453A3EDDC18F408C77A83275617FABC4EA3A2833AA73406C0E966276079D38E8E38539A70E194CC5513AAA457C699383FD1900B1E72BDFB835D1FD321B37BA80549B078A49EA08152869A918CA57F5B54ED71E4FD3AC5C06729 +MD = A9744EFA42887DF292FC09DFEB885F1E801855DED09DC2F97CBFCBD019751878619DA1BC9573201C7CC050E2AA1D453E951366D81C188D329B3CB861C1D78F92 + +Len = 1320 +Msg = CF8562B1BED89892D67DDAAF3DEEB28246456E972326DBCDB5CF3FB289ACA01E68DA5D59896E3A6165358B071B304D6AB3D018944BE5049D5E0E2BB819ACF67A6006111089E6767132D72DD85BEDDCBB2D64496DB0CC92955AB4C6234F1EEA24F2D51483F2E209E4589BF9519FAC51B4D061E801125E605F8093BB6997BC163D551596FE4AB7CFAE8FB9A90F6980480CE0C229FD1675409BD788354DAF316240CFE0AF93EB +MD = 89CAE46246EFEDAD1147EB1868C23A6BE54F6BAC75F0C98A9AEFC6BF3CCB89AE012F2E88A9C838B55E57B232CB3C80BC3C2E9FB3FC9768C6226E93284E208BF2 + +Len = 1328 +Msg = 2ACE31ABB0A2E3267944D2F75E1559985DB7354C6E605F18DC8470423FCA30B7331D9B33C4A4326783D1CAAE1B4F07060EFF978E4746BF0C7E30CD61040BD5EC2746B29863EB7F103EBDA614C4291A805B6A4C8214230564A0557BC7102E0BD3ED23719252F7435D64D210EE2AAFC585BE903FA41E1968C50FD5D5367926DF7A05E3A42CF07E656FF92DE73B036CF8B19898C0CB34557C0C12C2D8B84E91181AF467BC75A9D1 +MD = E80A63FAF248AE762D13887AFE8E1954F97327EDD9641CE563F4148F9796669827B3A12B06EBD710D4171B86E21BC13360A541845354E0F4934E6FBBD7ACBF2D + +Len = 1336 +Msg = 0D8D09AED19F1013969CE5E7EB92F83A209AE76BE31C754844EA9116CEB39A22EBB6003017BBCF26555FA6624185187DB8F0CB3564B8B1C06BF685D47F3286EDA20B83358F599D2044BBF0583FAB8D78F854FE0A596183230C5EF8E54426750EAF2CC4E29D3BDD037E734D863C2BD9789B4C243096138F7672C232314EFFDFC6513427E2DA76916B5248933BE312EB5DDE4CF70804FB258AC5FB82D58D08177AC6F4756017FFF5 +MD = 09C10C4818A6821C170D6780D006F7E853E30FE2D9A4E96545673704EC0A1A3E356375715994E1AC1D8CB0E56DBDB2F77DC558ED228FB56EE62217E63455FD0B + +Len = 1344 +Msg = C3236B73DEB7662BF3F3DAA58F137B358BA610560EF7455785A9BEFDB035A066E90704F929BD9689CEF0CE3BDA5ACF4480BCEB8D09D10B098AD8500D9B6071DFC3A14AF6C77511D81E3AA8844986C3BEA6F469F9E02194C92868CD5F51646256798FF0424954C1434BDFED9FACB390B07D342E992936E0F88BFD0E884A0DDB679D0547CCDEC6384285A45429D115AC7D235A717242021D1DC35641F5F0A48E8445DBA58E6CB2C8EA +MD = D1CAB5979EB7F53C97DCA5D725D8B33008906D7759FD3EBB8401EE2FFF01DB895495A0A062D47F251BC3FC13988607C6798969D213C941EFC152E7DB1DA68E72 + +Len = 1352 +Msg = B39FEB8283EADC63E8184B51DF5AE3FD41AAC8A963BB0BE1CD08AA5867D8D910C669221E73243360646F6553D1CA05A84E8DC0DE05B6419EC349CA994480193D01C92525F3FB3DCEFB08AFC6D26947BDBBFD85193F53B50609C6140905C53A6686B58E53A319A57B962331EDE98149AF3DE3118A819DA4D76706A0424B4E1D2910B0ED26AF61D150EBCB46595D4266A0BD7F651BA47D0C7F179CA28545007D92E8419D48FDFBD744CE +MD = 96AD163869AE2FFDB89B96F4DC700ECE27D1F4DAAFBC5FB81A8E9513C6EA5E2B6A8BCCF4E49A294AF326F872740661629AB780581155810E492424C24F8D1DD3 + +Len = 1360 +Msg = A983D54F503803E8C7999F4EDBBE82E9084F422143A932DDDDC47A17B0B7564A7F37A99D0786E99476428D29E29D3C197A72BFAB1342C12A0FC4787FD7017D7A6174049EA43B5779169EF7472BDBBD941DCB82FC73AAC45A8A94C9F2BD3477F61FD3B796F02A1B8264A214C6FEA74B7051B226C722099EC7883A462B83B6AFDD4009248B8A237F605FE5A08FE7D8B45321421EBBA67BD70A0B00DDBF94BAAB7F359D5D1EEA105F28DCFB +MD = FD2E7A6E11E5D00278099EAF403054D617ACAC5BD3D0A4908191782C89F9217A3F0118BC2B284FDBCE803F66B78DD795EB18DC16BA85E19CB6393DC56C06ECCA + +Len = 1368 +Msg = E4D1C1897A0A866CE564635B74222F9696BF2C7F640DD78D7E2ACA66E1B61C642BB03EA7536AAE597811E9BF4A7B453EDE31F97B46A5F0EF51A071A2B3918DF16B152519AE3776F9F1EDAB4C2A377C3292E96408359D3613844D5EB393000283D5AD3401A318B12FD1474B8612F2BB50FB6A8B9E023A54D7DDE28C43D6D8854C8D9D1155935C199811DBFC87E9E0072E90EB88681CC7529714F8FB8A2C9D88567ADFB974EE205A9BF7B848 +MD = AE53776D969A9B285641998A9F2C70CA71856C956A3C430A32A1E03A8E08D544F16511A27CFA59F6B8275A2357F8EFA6544B1CD0C00A9460F47954A146429E49 + +Len = 1376 +Msg = B10C59723E3DCADD6D75DF87D0A1580E73133A9B7D00CB95EC19F5547027323BE75158B11F80B6E142C6A78531886D9047B08E551E75E6261E79785366D7024BD7CD9CF322D9BE7D57FB661069F2481C7BB759CD71B4B36CA2BC2DF6D3A328FAEBDB995A9794A8D72155ED551A1F87C80BF6059B43FC764900B18A1C2441F7487743CF84E565F61F8DD2ECE6B6CCC9444049197AAAF53E926FBEE3BFCA8BE588EC77F29D211BE89DE18B15F6 +MD = D4748C8E17F4117BF2BF71557ABB559247552126C36192C5DF5C6C3E307D879B703C3FCD7099DDAB243E2F1D5AE5066990A7B38D3F2CD7FB115AA6D135E7261D + +Len = 1384 +Msg = DB11F609BABA7B0CA634926B1DD539C8CBADA24967D7ADD4D9876F77C2D80C0F4DCEFBD7121548373582705CCA2495BD2A43716FE64ED26D059CFB566B3364BD49EE0717BDD9810DD14D8FAD80DBBDC4CAFB37CC60FB0FE2A80FB4541B8CA9D59DCE457738A9D3D8F641AF8C3FD6DA162DC16FC01AAC527A4A0255B4D231C0BE50F44F0DB0B713AF03D968FE7F0F61ED0824C55C4B5265548FEBD6AAD5C5EEDF63EFE793489C39B8FD29D104CE +MD = D8FF0481A63890F0E5A536EBBA2F253FA2CFA19C0F353587AF4BDC3190E4F8F54D17D665E8B2011121D444BFADFFF3E192D97FA03B849D63F36DB20F4CF88A74 + +Len = 1392 +Msg = BEBD4F1A84FC8B15E4452A54BD02D69E304B7F32616AADD90537937106AE4E28DE9D8AAB02D19BC3E2FDE1D651559E296453E4DBA94370A14DBBB2D1D4E2022302EE90E208321EFCD8528AD89E46DC839EA9DF618EA8394A6BFF308E7726BAE0C19BCD4BE52DA6258E2EF4E96AA21244429F49EF5CB486D7FF35CAC1BACB7E95711944BCCB2AB34700D42D1EB38B5D536B947348A458EDE3DC6BD6EC547B1B0CAE5B257BE36A7124E1060C170FFA +MD = 52D771B5016C6B1B93D3BF6A13F718A7B4741D528798609308B54CEA6037862D923751FDDCE10580A7D6431BF208DF17C1B825F7C7401CCBD6D806B744241ACF + +Len = 1400 +Msg = 5ACA56A03A13784BDC3289D9364F79E2A85C12276B49B92DB0ADAA4F206D5028F213F678C3510E111F9DC4C1C1F8B6ACB17A6413AA227607C515C62A733817BA5E762CC6748E7E0D6872C984D723C9BB3B117EB8963185300A80BFA65CDE495D70A46C44858605FCCBED086C2B45CEF963D33294DBE9706B13AF22F1B7C4CD5A001CFEC251FBA18E722C6E1C4B1166918B4F6F48A98B64B3C07FC86A6B17A6D0480AB79D4E6415B520F1C484D675B1 +MD = 36D472A8AE13D1E70E1FD275117FFE34063BEFCCF6706FAB0816E1B81F7FE7F2DDB2A122F1F52C9950644659430F81BCEDAD5D833DF4814CF60AE6C542CC4478 + +Len = 1408 +Msg = A5AAD0E4646A32C85CFCAC73F02FC5300F1982FABB2F2179E28303E447854094CDFC854310E5C0F60993CEFF54D84D6B46323D930ADB07C17599B35B505F09E784BCA5985E0172257797FB53649E2E9723EFD16865C31B5C3D5113B58BB0BFC8920FABDDA086D7537E66D709D050BD14D0C960873F156FAD5B3D3840CDFCDC9BE6AF519DB262A27F40896AB25CC39F96984D650611C0D5A3080D5B3A1BF186ABD42956588B3B58CD948970D298776060 +MD = E504AD7F33D65B8D3487B28805D478778C901C0AFF5F889AE95E2919B4F431A80116A8993469E822895F3C21A41D67AFDA93A5B29B6250F76335A76FE8919274 + +Len = 1416 +Msg = 06CBBE67E94A978203EAD6C057A1A5B098478B4B4CBEF5A97E93C8E42F5572713575FC2A884531D7622F8F879387A859A80F10EF02708CD8F7413AB385AFC357678B9578C0EBF641EF076A1A30F1F75379E9DCB2A885BDD295905EE80C0168A62A9597D10CF12DD2D8CEE46645C7E5A141F6E0E23AA482ABE5661C16E69EF1E28371E2E236C359BA4E92C25626A7B7FF13F6EA4AE906E1CFE163E91719B1F750A96CBDE5FBC953D9E576CD216AFC90323A +MD = 1DCA53BE0A34114447D1C1443B92B69DFDED705956EAE60BBAB39178CCB11F526A302AAE83720652EF4C5DD450A3647DF7B77C4664717D935B4F5B20F206FEFE + +Len = 1424 +Msg = F1C528CF7739874707D4D8AD5B98F7C77169DE0B57188DF233B2DC8A5B31EDA5DB4291DD9F68E6BAD37B8D7F6C9C0044B3BF74BBC3D7D1798E138709B0D75E7C593D3CCCDC1B20C7174B4E692ADD820ACE262D45CCFAE2077E878796347168060A162ECCA8C38C1A88350BD63BB539134F700FD4ADDD5959E255337DAA06BC86358FABCBEFDFB5BC889783D843C08AADC6C4F6C36F65F156E851C9A0F917E4A367B5AD93D874812A1DE6A7B93CD53AD97232 +MD = CB1B03B180E04021E0099050EB6B7EB9092C5BD5C445E9D31EE39C724F038E9F619A96D3A2812CA7F208FEB2D074C3F817262F7504705623E635B9F273E37A59 + +Len = 1432 +Msg = 9D9F3A7ECD51B41F6572FD0D0881E30390DFB780991DAE7DB3B47619134718E6F987810E542619DFAA7B505C76B7350C6432D8BF1CFEBDF1069B90A35F0D04CBDF130B0DFC7875F4A4E62CDB8E525AADD7CE842520A482AC18F09442D78305FE85A74E39E760A4837482ED2F437DD13B2EC1042AFCF9DECDC3E877E50FF4106AD10A525230D11920324A81094DA31DEAB6476AA42F20C84843CFC1C58545EE80352BDD3740DD6A16792AE2D86F11641BB717C2 +MD = F0482F098B93624BCDE1AAB58097198649A8DC84421826D1C1011AD41B948384C8ED5A97C64C134B38A0075812A35F9CE3CB200972C2ECDFC408714139B9BFF0 + +Len = 1440 +Msg = 5179888724819FBAD3AFA927D3577796660E6A81C52D98E9303261D5A4A83232F6F758934D50AA83FF9E20A5926DFEBAAC49529D006EB923C5AE5048ED544EC471ED7191EDF46363383824F915769B3E688094C682B02151E5EE01E510B431C8865AFF8B6B6F2F59CB6D129DA79E97C6D2B8FA6C6DA3F603199D2D1BCAB547682A81CD6CF65F6551121391D78BCC23B5BD0E922EC6D8BF97C952E84DD28AEF909ABA31EDB903B28FBFC33B7703CD996215A11238 +MD = A3188426CEA0C18CB638BCC45C4337C40BE41F6E03CD2D7C4FEE26025C5CA281CFBB3AD1554D45EDC2EB03E2EBE3DE02F57D36D5B6A88A3C61A6AAEDE62180D0 + +Len = 1448 +Msg = 576EF3520D30B7A4899B8C0D5E359E45C5189ADD100E43BE429A02FB3DE5FF4F8FD0E79D9663ACCA72CD29C94582B19292A557C5B1315297D168FBB54E9E2ECD13809C2B5FCE998EDC6570545E1499DBE7FB74D47CD7F35823B212B05BF3F5A79CAA34224FDD670D335FCB106F5D92C3946F44D3AFCBAE2E41AC554D8E6759F332B76BE89A0324AA12C5482D1EA3EE89DED4936F3E3C080436F539FA137E74C6D3389BDF5A45074C47BC7B20B0948407A66D855E2F +MD = 0B14693E6320668D64EBB3BF6EEB81AAFCDB7320ECDE80A245786D1B0A808A15C717DC8E8813BF64BF4AA57C29C33E913D6CE1879E52E1919FB83E4A208EDAA4 + +Len = 1456 +Msg = 0DF2152FA4F4357C8741529DD77E783925D3D76E95BAFA2B542A2C33F3D1D117D159CF473F82310356FEE4C90A9E505E70F8F24859656368BA09381FA245EB6C3D763F3093F0C89B972E66B53D59406D9F01AEA07F8B3B615CAC4EE4D05F542E7D0DAB45D67CCCCD3A606CCBEB31EA1FA7005BA07176E60DAB7D78F6810EF086F42F08E595F0EC217372B98970CC6321576D92CE38F7C397A403BADA1548D205C343AC09DECA86325373C3B76D9F32028FEA8EB32515 +MD = A9ABC3F554C1E717935D28C28E7C26AA9DC5BD6D7B02ED7DC6AFE21A0EA027A8801AE076F2872D08635EE81420711862EDC4E448C85513289438B3C8BE456B5B + +Len = 1464 +Msg = 3E15350D87D6EBB5C8AD99D42515CFE17980933C7A8F6B8BBBF0A63728CEFAAD2052623C0BD5931839112A48633FB3C2004E0749C87A41B26A8B48945539D1FF41A4B269462FD199BFECD45374756F55A9116E92093AC99451AEFB2AF9FD32D6D7F5FBC7F7A540D5097C096EBC3B3A721541DE073A1CC02F7FB0FB1B9327FB0B1218CA49C9487AB5396622A13AE546C97ABDEF6B56380DDA7012A8384091B6656D0AB272D363CEA78163FF765CDD13AB1738B940D16CAE +MD = 04DD83D20F58E854D857F24720C50A4B5F83DBC8CABD460D379417CD4813772AA85591B90462F34DB3FAA4DCAE335FB1252BF41162E24975A0DBD308C41A4A6B + +Len = 1472 +Msg = C38D6B0B757CB552BE40940ECE0009EF3B0B59307C1451686F1A22702922800D58BCE7A636C1727EE547C01B214779E898FC0E560F8AE7F61BEF4D75EAA696B921FD6B735D171535E9EDD267C192B99880C87997711002009095D8A7A437E258104A41A505E5EF71E5613DDD2008195F0C574E6BA3FE40099CFA116E5F1A2FA8A6DA04BADCB4E2D5D0DE31FDC4800891C45781A0AAC7C907B56D631FCA5CE8B2CDE620D11D1777ED9FA603541DE794DDC5758FCD5FAD78C0 +MD = CE76B25C928CB75C09C0674E8FCD22089654182CD3D84B85CC44B186A8B1A7CC1BB66F389DA6D744A24A7B02BF5C85542D1BA8EF0DB4A86D2FC394471B396519 + +Len = 1480 +Msg = 8D2DE3F0B37A6385C90739805B170057F091CD0C7A0BC951540F26A5A75B3E694631BB64C7635EED316F51318E9D8DE13C70A2ABA04A14836855F35E480528B776D0A1E8A23B547C8B8D6A0D09B241D3BE9377160CCA4E6793D00A515DC2992CB7FC741DACA171431DA99CCE6F7789F129E2AC5CF65B40D703035CD2185BB936C82002DAF8CBC27A7A9E554B06196630446A6F0A14BA155ED26D95BD627B7205C072D02B60DB0FD7E49EA058C2E0BA202DAFF0DE91E845CF79 +MD = 02D1671981C2E85D0455EE85F41B8E9C32B1C80221DD432B8BCB5FCEFE0996F32FE9FC3EEB3F1F557AE1632750B92D05239AF857C42D59A3DAEB9629E1158BEC + +Len = 1488 +Msg = C464BBDAD275C50DCD983B65AD1019B9FF85A1E71C807F3204BB2C921DC31FBCD8C5FC45868AE9EF85B6C9B83BBA2A5A822201ED68586EC5EC27FB2857A5D1A2D09D09115F22DCC39FE61F5E1BA0FF6E8B4ACB4C6DA748BE7F3F0839739394FF7FA8E39F7F7E84A33C3866875C01BCB1263C9405D91908E9E0B50E7459FABB63D8C6BBB73D8E3483C099B55BC30FF092FF68B6ADEDFD477D63570C9F5515847F36E24BA0B705557130CEC57EBAD1D0B31A378E91894EE26E3A04 +MD = 6B8BC6211FE5001E07B7D20E0C49D314211E3893A39DA241B8839BB3A494F9A2FD8561009D22CCA1330A69362B386E715F1DBE6291DBEECFADF196DA47E53198 + +Len = 1496 +Msg = 8B8D68BB8A75732FE272815A68A1C9C5AA31B41DEDC8493E76525D1D013D33CEBD9E21A5BB95DB2616976A8C07FCF411F5F6BC6F7E0B57ACA78CC2790A6F9B898858AC9C79B165FF24E66677531E39F572BE5D81EB3264524181115F32780257BFB9AEEC6AF12AF28E587CAC068A1A2953B59AD680F4C245B2E3EC36F59940D37E1D3DB38E13EDB29B5C0F404F6FF87F80FC8BE7A225FF22FBB9C8B6B1D7330C57840D24BC75B06B80D30DAD6806544D510AF6C4785E823AC3E0B8 +MD = D00E919DAFFF3D5E51AD3A3046F5E59D64B69CBCDA223CB28BC370201D2C722BAE74DFE0086B0EB47BDCB62FABEE870C3340D46E55D8CFEDF2DD3CED8A8DB3F2 + +Len = 1504 +Msg = 6B018710446F368E7421F1BC0CCF562D9C1843846BC8D98D1C9BF7D9D6FCB48BFC3BF83B36D44C4FA93430AF75CD190BDE36A7F92F867F58A803900DF8018150384D85D82132F123006AC2AEBA58E02A037FE6AFBD65ECA7C44977DD3DC74F48B6E7A1BFD5CC4DCF24E4D52E92BD4455848E4928B0EAC8B7476FE3CC03E862AA4DFF4470DBFED6DE48E410F25096487ECFC32A27277F3F5023B2725ADE461B1355889554A8836C9CF53BD767F5737D55184EEA1AB3F53EDD0976C485 +MD = CF63F28F107A509A416F9A92C4E4DB4DBF00FB52C2E16D8BB9694E09F9142A904C34E1E960BD97B8CFB2C53E7660C79B841D1565CDAB83293234026A23A56D12 + +Len = 1512 +Msg = C9534A24714BD4BE37C88A3DA1082EDA7CABD154C309D7BD670DCCD95AA535594463058A29F79031D6ECAA9F675D1211E9359BE82669A79C855EA8D89DD38C2C761DDD0EC0CE9E97597432E9A1BEAE062CDD71EDFDFD464119BE9E69D18A7A7FD7CE0E2106F0C8B0ABF4715E2CA48EF9F454DC203C96656653B727083513F8EFB86E49C513BB758B3B052FE21F1C05BB33C37129D6CC81F1AEF6ADC45B0E8827A830FE545CF57D0955802C117D23CCB55EA28F95C0D8C2F9C5A242B33F +MD = F21B8D45B6A857CE663C074C18CC54D914CDD5EB0D968E6153A5F70069345D205DDF4370EC473FC80B05F937D014C0A464582CB4A73B1B72041C5C99F576A41E + +Len = 1520 +Msg = 07906C87297B867ABF4576E9F3CC7F82F22B154AFCBF293B9319F1B0584DA6A40C27B32E0B1B7F412C4F1B82480E70A9235B12EC27090A5A33175A2BB28D8ADC475CEFE33F7803F8CE27967217381F02E67A3B4F84A71F1C5228E0C2AD971373F6F672624FCEA8D1A9F85170FAD30FA0BBD25035C3B41A6175D467998BD1215F6F3866F53847F9CF68EF3E2FBB54BC994DE2302B829C5EEA68EC441FCBAFD7D16AE4FE9FFF98BF00E5BC2AD54DD91FF9FDA4DD77B6C754A91955D1FBAAD0 +MD = 92287F42AB1A2123669C4D35F18257D3A536445F0E4D2C801E99F8529CD9E2A79205982C280C7A6CDDDEF24CE960EC6CA9A35F590AEEBC40448C389E915FC4E0 + +Len = 1528 +Msg = 588E94B9054ABC2189DF69B8BA34341B77CDD528E7860E5DEFCAA79B0C9A452AD4B82AA306BE84536EB7CEDCBE058D7B84A6AEF826B028B8A0271B69AC3605A9635EA9F5EA0AA700F3EB7835BC54611B922964300C953EFE7491E3677C2CEBE0822E956CD16433B02C68C4A23252C3F9E151A416B4963257B783E038F6B4D5C9F110F871652C7A649A7BCEDCBCCC6F2D0725BB903CC196BA76C76AA9F10A190B1D1168993BAA9FFC96A1655216773458BEC72B0E39C9F2C121378FEAB4E76A +MD = 74A9D8F9F72908C7502D1C41212CD86CF4344721A6F02D390346F2BAEC6E6137421E6516C3235443BC2337B3A77630712A12F11B7BA24B2D7085499BA74BCB90 + +Len = 1536 +Msg = 08959A7E4BAAE874928813364071194E2939772F20DB7C3157078987C557C2A6D5ABE68D520EEF3DC491692E1E21BCD880ADEBF63BB4213B50897FA005256ED41B5690F78F52855C8D9168A4B666FCE2DA2B456D7A7E7C17AB5F2FB1EE90B79E698712E963715983FD07641AE4B4E9DC73203FAC1AE11FA1F8C7941FCC82EAB247ADDB56E2638447E9D609E610B60CE086656AAEBF1DA3C8A231D7D94E2FD0AFE46B391FF14A72EAEB3F44AD4DF85866DEF43D4781A0B3578BC996C87970B132 +MD = 7432861132E6894BB6AE5115398198317E12CC73C0C5DFC61CB189FF5AA9FB0D62224CBB1BFA8B105784405718E6F8E15E041DAD80D11AE507B33C15C6CAC824 + +Len = 1544 +Msg = CB2A234F45E2ECD5863895A451D389A369AAB99CFEF0D5C9FFCA1E6E63F763B5C14FB9B478313C8E8C0EFEB3AC9500CF5FD93791B789E67EAC12FD038E2547CC8E0FC9DB591F33A1E4907C64A922DDA23EC9827310B306098554A4A78F050262DB5B545B159E1FF1DCA6EB734B872343B842C57EAFCFDA8405EEDBB48EF32E99696D135979235C3A05364E371C2D76F1902F1D83146DF9495C0A6C57D7BF9EE77E80F9787AEE27BE1FE126CDC9EF893A4A7DCBBC367E40FE4E1EE90B42EA25AF01 +MD = 6AF4FF4C423051E3306ACE812E5CFA85532B73DEEF0DFE601D2630632389D0FAB2A109214D32508D2391775665B87A94D1DF29DB1214CB48DEC10DBD3D8CF591 + +Len = 1552 +Msg = D16BEADF02AB1D4DC6F88B8C4554C51E866DF830B89C06E786A5F8757E8909310AF51C840EFE8D20B35331F4355D80F73295974653DDD620CDDE4730FB6C8D0D2DCB2B45D92D4FBDB567C0A3E86BD1A8A795AF26FBF29FC6C65941CDDB090FF7CD230AC5268AB4606FCCBA9EDED0A2B5D014EE0C34F0B2881AC036E24E151BE89EEB6CD9A7A790AFCCFF234D7CB11B99EBF58CD0C589F20BDAC4F9F0E28F75E3E04E5B3DEBCE607A496D848D67FA7B49132C71B878FD5557E082A18ECA1FBDA94D4B +MD = 4648D263B608CF28CA65B28A361EBB00E0784C65AB1D55C46A785737B6C8D83DD52E3367D898921EA36DADA42D893800D0BFCF86554CDF5E7630D60A2E8EE29F + +Len = 1560 +Msg = 8F65F6BC59A85705016E2BAE7FE57980DE3127E5AB275F573D334F73F8603106EC3553016608EF2DD6E69B24BE0B7113BF6A760BA6E9CE1C48F9E186012CF96A1D4849D75DF5BB8315387FD78E9E153E76F8BA7EC6C8849810F59FB4BB9B004318210B37F1299526866F44059E017E22E96CBE418699D014C6EA01C9F0038B10299884DBEC3199BB05ADC94E955A1533219C1115FED0E5F21228B071F40DD57C4240D98D37B73E412FE0FA4703120D7C0C67972ED233E5DEB300A22605472FA3A3BA86 +MD = DBD3732440010595AB26F84EFEB07732227A7B7B52D6FF339C7FF1B6442249202AE33A0AEF5167F5B0474D74A5B50CDB033D6C5C72894A3686FE6ECB36E357F3 + +Len = 1568 +Msg = 84891E52E0D451813210C3FD635B39A03A6B7A7317B221A7ABC270DFA946C42669AACBBBDF801E1584F330E28C729847EA14152BD637B3D0F2B38B4BD5BF9C791C58806281103A3EABBAEDE5E711E539E6A8B2CF297CF351C078B4FA8F7F35CF61BEBF8814BF248A01D41E86C5715EA40C63F7375379A7EB1D78F27622FB468AB784AAABA4E534A6DFD1DF6FA15511341E725ED2E87F98737CCB7B6A6DFAE416477472B046BF1811187D151BFA9F7B2BF9ACDB23A3BE507CDF14CFDF517D2CB5FB9E4AB6 +MD = C24D4054110889290CBC40B82AD8599229D8E86E4CE76BDDBBB6F5386223512C9D7E00973C706442B2C80EDD20904067AF8E4E681AECBFADC6AA15A2EBFE7DDD + +Len = 1576 +Msg = FDD7A9433A3B4AFABD7A3A5E3457E56DEBF78E84B7A0B0CA0E8C6D53BD0C2DAE31B2700C6128334F43981BE3B213B1D7A118D59C7E6B6493A86F866A1635C12859CFB9AD17460A77B4522A5C1883C3D6ACC86E6162667EC414E9A104AA892053A2B1D72165A855BACD8FAF8034A5DD9B716F47A0818C09BB6BAF22AA503C06B4CA261F557761989D2AFBD88B6A678AD128AF68672107D0F1FC73C5CA740459297B3292B281E93BCEB761BDE7221C3A55708E5EC84472CDDCAA84ECF23723CC0991355C6280 +MD = 4A6404D278A0BA70488C18D7D1861CDE26FD57D66A9AFFE74F1E646E616003A52FE42520504AC4ACE5CA6665CF9155F44ECAA05D55F80FE9794ADE17871C5728 + +Len = 1584 +Msg = 70A40BFBEF92277A1AAD72F6B79D0177197C4EBD432668CFEC05D099ACCB651062B5DFF156C0B27336687A94B26679CFDD9DAF7AD204338DD9C4D14114033A5C225BD11F217B5F4732DA167EE3F939262D4043FC9CBA92303B7B5E96AEA12ADDA64859DF4B86E9EE0B58E39091E6B188B408AC94E1294A8911245EE361E60E601EFF58D1D37639F3753BEC80EBB4EFDE25817436076623FC65415FE51D1B0280366D12C554D86743F3C3B6572E400361A60726131441BA493A83FBE9AFDA90F7AF1AE717238D +MD = FFFD1B1E31377DFF00B492295BCCC735733B021F47BB4AFBA6549EA6C1BA3832E8587099AD0CC216AF5899AC683EB7C246871E21C30FEEF9BCEEDFC78D0C966C + +Len = 1592 +Msg = 74356E449F4BF8644F77B14F4D67CB6BD9C1F5AE357621D5B8147E562B65C66585CAF2E491B48529A01A34D226D436959153815380D5689E30B35357CDAC6E08D3F2B0E88E200600D62BD9F5EAF488DF86A4470EA227006182E44809009868C4C280C43D7D64A5268FA719074960087B3A6ABC837882F882C837834535929389A12B2C78187E2EA07EF8B8EEF27DC85002C3AE35F1A50BEE6A1C48BA7E175F3316670B27983472AA6A61EED0A683A39EE323080620EA44A9F74411AE5CE99030528F9AB49C79F2 +MD = 33C8F40E1BD1EB1A3A70D2071D27460EF0F6B2D3ECE373743842D6B928F3771E4B7446A9ECFBBF552C064F6B26095401097581C38B95E9551119A1FDCB3D58E7 + +Len = 1600 +Msg = 8C3798E51BC68482D7337D3ABB75DC9FFE860714A9AD73551E120059860DDE24AB87327222B64CF774415A70F724CDF270DE3FE47DDA07B61C9EF2A3551F45A5584860248FABDE676E1CD75F6355AA3EAEABE3B51DC813D9FB2EAA4F0F1D9F834D7CAD9C7C695AE84B329385BC0BEF895B9F1EDF44A03D4B410CC23A79A6B62E4F346A5E8DD851C2857995DDBF5B2D717AEB847310E1F6A46AC3D26A7F9B44985AF656D2B7C9406E8A9E8F47DCB4EF6B83CAACF9AEFB6118BFCFF7E44BEF6937EBDDC89186839B77 +MD = 2A11CB6921EA662A39DDEE7982E3CF5B317195661D5505AD04D11EE23E178ED65F3E06A7F096F4EAF1FF6A09239CF5A0A39DC9F4C92AF63FDF7211E1CF467653 + +Len = 1608 +Msg = FA56BF730C4F8395875189C10C4FB251605757A8FECC31F9737E3C2503B02608E6731E85D7A38393C67DE516B85304824BFB135E33BF22B3A23B913BF6ACD2B7AB85198B8187B2BCD454D5E3318CACB32FD6261C31AE7F6C54EF6A7A2A4C9F3ECB81CE3555D4F0AD466DD4C108A90399D70041997C3B25345A9653F3C9A6711AB1B91D6A9D2216442DA2C973CBD685EE7643BFD77327A2F7AE9CB283620A08716DFB462E5C1D65432CA9D56A90E811443CD1ECB8F0DE179C9CB48BA4F6FEC360C66F252F6E64EDC96B +MD = 9196BBBD194541FFEE7EDBAB970738BDD3AADBD6B73D1C85B580AFAC1232AE8077F743CE8B5B6F2B418B5134CCCD4F83645E8631885B14FBBCB909A9836C374C + +Len = 1616 +Msg = B6134F9C3E91DD8000740D009DD806240811D51AB1546A974BCB18D344642BAA5CD5903AF84D58EC5BA17301D5EC0F10CCD0509CBB3FD3FFF9172D193AF0F782252FD1338C7244D40E0E42362275B22D01C4C3389F19DD69BDF958EBE28E31A4FFE2B5F18A87831CFB7095F58A87C9FA21DB72BA269379B2DC2384B3DA953C7925761FED324620ACEA435E52B424A7723F6A2357374157A34CD8252351C25A1B232826CEFE1BD3E70FFC15A31E7C0598219D7F00436294D11891B82497BC78AA5363892A2495DF8C1EEF +MD = 1959CAE3600F128F72E1821C337D841B14CBBFEF3A6D22286F18BDFC3EF63528C11BFFA841A6D2208AFEB5664D524DE83090AB0DB07CD47EF52F4D2EAA8454CE + +Len = 1624 +Msg = C941CDB9C28AB0A791F2E5C8E8BB52850626AA89205BEC3A7E22682313D198B1FA33FC7295381354858758AE6C8EC6FAC3245C6E454D16FA2F51C4166FAB51DF272858F2D603770C40987F64442D487AF49CD5C3991CE858EA2A60DAB6A65A34414965933973AC2457089E359160B7CDEDC42F29E10A91921785F6B7224EE0B349393CDCFF6151B50B377D609559923D0984CDA6000829B916AB6896693EF6A2199B3C22F7DC5500A15B8258420E314C222BC000BC4E5413E6DD82C993F8330F5C6D1BE4BC79F08A1A0A46 +MD = A913DDC5BB089C121FF093BE529225148DF787D48F4F61699EFF9FC2910282A898A81A38D66BE9B06428D6466A614CA822A872C1C2C4D503D434D3B1D6942102 + +Len = 1632 +Msg = 4499EFFFAC4BCEA52747EFD1E4F20B73E48758BE915C88A1FFE5299B0B005837A46B2F20A9CB3C6E64A9E3C564A27C0F1C6AD1960373036EC5BFE1A8FC6A435C2185ED0F114C50E8B3E4C7ED96B06A036819C9463E864A58D6286F785E32A804443A56AF0B4DF6ABC57ED5C2B185DDEE8489EA080DEEEE66AA33C2E6DAB36251C402682B6824821F998C32163164298E1FAFD31BABBCFFB594C91888C6219079D907FDB438ED89529D6D96212FD55ABE20399DBEFD342248507436931CDEAD496EB6E4A80358ACC78647D043 +MD = F10B91564AD93D734743281949BACEF065A6432A455236F1BF798DE9AEC6CCAC9B8D373B07C5ACFBD676EF21E4A3A9E0F7C38E8756D177D0A5C283D520844B4D + +Len = 1640 +Msg = EECBB8FDFA4DA62170FD06727F697D81F83F601FF61E478105D3CB7502F2C89BF3E8F56EDD469D049807A38882A7EEFBC85FC9A950952E9FA84B8AFEBD3CE782D4DA598002827B1EB98882EA1F0A8F7AA9CE013A6E9BC462FB66C8D4A18DA21401E1B93356EB12F3725B6DB1684F2300A98B9A119E5D27FF704AFFB618E12708E77E6E5F34139A5A41131FD1D6336C272A8FC37080F041C71341BEE6AB550CB4A20A6DDB6A8E0299F2B14BC730C54B8B1C1C487B494BDCCFD3A53535AB2F231590BF2C4062FD2AD58F906A2D0D +MD = EF26A1BAF33D4DE047BDD2CE34736E042ECD33AA569FFC0CB81ECFA66E9F87DA8D025ECBA24BCB187E4201046FB99A02DFA6F1BF88EC2B88DE216CF759FAC41D + +Len = 1648 +Msg = E64F3E4ACE5C8418D65FEC2BC5D2A303DD458034736E3B0DF719098BE7A206DEAF52D6BA82316CAF330EF852375188CDE2B39CC94AA449578A7E2A8E3F5A9D68E816B8D16889FBC0EBF0939D04F63033AE9AE2BDAB73B88C26D6BD25EE460EE1EF58FB0AFA92CC539F8C76D3D097E7A6A63EBB9B5887EDF3CF076028C5BBD5B9DB3211371AD3FE121D4E9BF44229F4E1ECF5A0F9F0EBA4D5CEB72878AB22C3F0EB5A625323AC66F7061F4A81FAC834471E0C59553F108475FE290D43E6A055AE3EE46FB67422F814A68C4BE3E8C9 +MD = F8E079A6DC5A6A7E7F32FF7E8015D1B26D43B54F166F2111CFB2B1EB238CABEE58630EF845E0DB00DDF1D800AD67CE7B2B658B42118CC15C8EF3BC9FB252DB64 + +Len = 1656 +Msg = D2CB2D733033F9E91395312808383CC4F0CA974E87EC68400D52E96B3FA6984AC58D9AD0938DDE5A973008D818C49607D9DE2284E7618F1B8AED8372FBD52ED54557AF4220FAC09DFA8443011699B97D743F8F2B1AEF3537EBB45DCC9E13DFB438428EE190A4EFDB3CAEB7F3933117BF63ABDC7E57BEB4171C7E1AD260AB0587806C4D137B6316B50ABC9CCE0DFF3ACADA47BBB86BE777E617BBE578FF4519844DB360E0A96C6701290E76BB95D26F0F804C8A4F2717EAC4E7DE9F2CFF3BBC55A17E776C0D02856032A6CD10AD2838 +MD = A5BFAA52499A688D9C8D3DDC0BA06DECDF3829BE5D444ACFA412F4C6E863F4786BE9935805310734E4F0AFFE05558999807408E97E100FADD0C93FF160F8B11B + +Len = 1664 +Msg = F2998955613DD414CC111DF5CE30A995BB792E260B0E37A5B1D942FE90171A4AC2F66D4928D7AD377F4D0554CBF4C523D21F6E5F379D6F4B028CDCB9B1758D3B39663242FF3CB6EDE6A36A6F05DB3BC41E0D861B384B6DEC58BB096D0A422FD542DF175E1BE1571FB52AE66F2D86A2F6824A8CFAACBAC4A7492AD0433EEB15454AF8F312B3B2A577750E3EFBD370E8A8CAC1582581971FBA3BA4BD0D76E718DACF8433D33A59D287F8CC92234E7A271041B526E389EFB0E40B6A18B3AAF658E82ED1C78631FD23B4C3EB27C3FAEC8685 +MD = CCEA9FCF1AD93270AC4690E96B875122C5B5EC20D2CC27079CBF893126C44E0208A8BFA139057D72BD2638059EC8DA8A720499AF9D4C117F86799D7515DFC6E0 + +Len = 1672 +Msg = 447797E2899B72A356BA55BF4DF3ACCA6CDB1041EB477BD1834A9F9ACBC340A294D729F2F97DF3A610BE0FF15EDB9C6D5DB41644B9874360140FC64F52AA03F0286C8A640670067A84E017926A70438DB1BB361DEFEE7317021425F8821DEF26D1EFD77FC853B818545D055ADC9284796E583C76E6FE74C9AC2587AA46AA8F8804F2FEB5836CC4B3ABABAB8429A5783E17D5999F32242EB59EF30CD7ADABC16D72DBDB097623047C98989F88D14EAF02A7212BE16EC2D07981AAA99949DDF89ECD90333A77BC4E1988A82ABF7C7CAF3291 +MD = 2EFC5DFE028A35503A25BDF8B2164D86CA7496B7C5DED09C5D414B6977ADBB4A6988AB9939D1EC65F46BCC99C1DCD5F19E035D8D3DC387361200E4DA80C80671 + +Len = 1680 +Msg = 9F2C18ADE9B380C784E170FB763E9AA205F64303067EB1BCEA93DF5DAC4BF5A2E00B78195F808DF24FC76E26CB7BE31DC35F0844CDED1567BBA29858CFFC97FB29010331B01D6A3FB3159CC1B973D255DA9843E34A0A4061CABDB9ED37F241BFABB3C20D32743F4026B59A4CCC385A2301F83C0B0A190B0F2D01ACB8F0D41111E10F2F4E149379275599A52DC089B35FDD5234B0CFB7B6D8AEBD563CA1FA653C5C021DFD6F5920E6F18BFAFDBECBF0AB00281333ED50B9A999549C1C8F8C63D7626C48322E9791D5FF72294049BDE91E73F8 +MD = E80D7A934FDAF17DB8DBB1DC6C42E90E139211C2F599890C06B15D6248FDBE682D77D4E05F26D72852F7492BCE118CE7C36950BD2C50F9699BB47D89C3115377 + +Len = 1688 +Msg = AE159F3FA33619002AE6BCCE8CBBDD7D28E5ED9D61534595C4C9F43C402A9BB31F3B301CBFD4A43CE4C24CD5C9849CC6259ECA90E2A79E01FFBAC07BA0E147FA42676A1D668570E0396387B5BCD599E8E66AAED1B8A191C5A47547F61373021FA6DEADCB55363D233C24440F2C73DBB519F7C9FA5A8962EFD5F6252C0407F190DFEFAD707F3C7007D69FF36B8489A5B6B7C557E79DD4F50C06511F599F56C896B35C917B63BA35C6FF8092BAF7D1658E77FC95D8A6A43EEB4C01F33F03877F92774BE89C1114DD531C011E53A34DC248A2F0E6 +MD = C414B29FD07720F46C351F5C80BE2094E95D13AD97BDD1F7C5207B695693CD5E1E0169B1AA2E271115BD5171FEC51D04B71E3E7CE1618FBFEB382F56F65F7EFF + +Len = 1696 +Msg = 3B8E97C5FFC2D6A40FA7DE7FCEFC90F3B12C940E7AB415321E29EE692DFAC799B009C99DCDDB708FCE5A178C5C35EE2B8617143EDC4C40B4D313661F49ABDD93CEA79D117518805496FE6ACF292C4C2A1F76B403A97D7C399DAF85B46AD84E16246C67D6836757BDE336C290D5D401E6C1386AB32797AF6BB251E9B2D8FE754C47482B72E0B394EAB76916126FD68EA7D65EB93D59F5B4C5AC40F7C3B37E7F3694F29424C24AF8C8F0EF59CD9DBF1D28E0E10F799A6F78CAD1D45B9DB3D7DEE4A7059ABE99182714983B9C9D44D7F5643596D4F3 +MD = A4679A4CBEE6292203BAFBA8913245F30E046ABA6C0937B407C00B73D17D8D696690EE25BA1B39DEB3DB93525A8FBCFD88173BA9C7A65B4406D0550BA9B6CC07 + +Len = 1704 +Msg = 3434EC31B10FAFDBFEEC0DD6BD94E80F7BA9DCA19EF075F7EB017512AF66D6A4BCF7D16BA0819A1892A6372F9B35BCC7CA8155EE19E8428BC22D214856ED5FA9374C3C09BDE169602CC219679F65A1566FC7316F4CC3B631A18FB4449FA6AFA16A3DB2BC4212EFF539C67CF184680826535589C7111D73BFFCE431B4C40492E763D9279560AAA38EB2DC14A212D723F994A1FE656FF4DD14551CE4E7C621B2AA5604A10001B2878A897A28A08095C325E10A26D2FB1A75BFD64C250309BB55A44F23BBAC0D5516A1C687D3B41EF2FBBF9CC56D4739 +MD = 5F49D6594DA939987D1906294B33A037F63C79E078531DFA7E6CE67279D4D5DBEB650FF8690F23B63B7E9C48EA8791B80FDB34EF66DCF0CEFE45842ECFF4AD1D + +Len = 1712 +Msg = 7C7953D81C8D208FD1C97681D48F49DD003456DE60475B84070EF4847C333B74575B1FC8D2A186964485A3B8634FEAA3595AAA1A2F4595A7D6B6153563DEE31BBAC443C8A33EED6D5D956A980A68366C2527B550EE950250DFB691EACBD5D56AE14B970668BE174C89DF2FEA43AE52F13142639C884FD62A3683C0C3792F0F24AB1318BCB27E21F4737FAB62C77EA38BC8FD1CF41F7DAB64C13FEBE7152BF5BB7AB5A78F5346D43CC741CB6F72B7B8980F268B68BF62ABDFB1577A52438FE14B591498CC95F071228460C7C5D5CEB4A7BDE588E7F21C +MD = B77FB79669EA52C738E58A9EF3ED1501BBE7974478AFB5A8BED44549D6232FF8D7AA9EEEAF02F6755327951093243110D7BCFC0E51299DB793856B57A77E8420 + +Len = 1720 +Msg = 7A6A4F4FDC59A1D223381AE5AF498D74B7252ECF59E389E49130C7EAEE626E7BD9897EFFD92017F4CCDE66B0440462CDEDFD352D8153E6A4C8D7A0812F701CC737B5178C2556F07111200EB627DBC299CAA792DFA58F35935299FA3A3519E9B03166DFFA159103FFA35E8577F7C0A86C6B46FE13DB8E2CDD9DCFBA85BDDDCCE0A7A8E155F81F712D8E9FE646153D3D22C811BD39F830433B2213DD46301941B59293FD0A33E2B63ADBD95239BC01315C46FDB678875B3C81E053A40F581CFBEC24A1404B1671A1B88A6D06120229518FB13A74CA0AC5AE +MD = CACA0FF43107F730A7FBE6869FBA5AF1E626C96303BE3BC95155164199C88922194511B24C48911186F647CA246427F2CE7BA747271CD8D7C5E1D127C21F1EAA + +Len = 1728 +Msg = D9FAA14CEBE9B7DE551B6C0765409A33938562013B5E8E0E1E0A6418DF7399D0A6A771FB81C3CA9BD3BB8E2951B0BC792525A294EBD1083688806FE5E7F1E17FD4E3A41D00C89E8FCF4A363CAEDB1ACB558E3D562F1302B3D83BB886ED27B76033798131DAB05B4217381EAAA7BA15EC820BB5C13B516DD640EAEC5A27D05FDFCA0F35B3A5312146806B4C0275BCD0AAA3B2017F346975DB566F9B4D137F4EE10644C2A2DA66DEECA5342E236495C3C6280528BFD32E90AF4CD9BB908F34012B52B4BC56D48CC8A6B59BAB014988EABD12E1A0A1C2E170E7 +MD = E5106B2A0D49D6D1E13E3323232101CEA5DA71CAA24E70EFCAC57E0CCF156CDF4C2492B03CE0E13437018DAB76B9C989883BEA69E849F33BB937A397B84ADA6A + +Len = 1736 +Msg = 2D8427433D0C61F2D96CFE80CF1E932265A191365C3B61AAA3D6DCC039F6BA2AD52A6A8CC30FC10F705E6B7705105977FA496C1C708A277A124304F1FC40911E7441D1B5E77B951AAD7B01FD5DB1B377D165B05BBF898042E39660CAF8B279FE5229D1A8DB86C0999ED65E53D01CCBC4B43173CCF992B3A14586F6BA42F5FE30AFA8AE40C5DF29966F9346DA5F8B35F16A1DE3AB6DE0F477D8D8660918060E88B9B9E9CA6A4207033B87A812DBF5544D39E4882010F82B6CE005F8E8FF6FE3C3806BC2B73C2B83AFB704345629304F9F86358712E9FAE3CA3E +MD = FAEE462E4BCED12AD54D3757D644396ED9203037741661AEA32BCCADAE568C4BDC925EDA76610E964FBE3FB26B33BC0BC123DDF9B528715317CE5C92E00AC96F + +Len = 1744 +Msg = 5E19D97887FCAAC0387E22C6F803C34A3DACD2604172433F7A8A7A526CA4A2A1271ECFC5D5D7BE5AC0D85D921095350DFC65997D443C21C8094E0A3FEFD2961BCB94AED03291AE310CCDA75D8ACE4BC7D89E7D3E5D1650BDA5D668B8B50BFC8E608E184F4D3A9A2BADC4FF5F07E0C0BC8A9F2E0B2A26FD6D8C550008FAAAB75FD71AF2A424BEC9A7CD9D83FAD4C8E9319115656A8717D3B523A68FF8004258B9990ED362308461804BA3E3A7E92D8F2FFAE5C2FBA55BA5A3C27C0A2F71BD711D2FE1799C2ADB31B200035481E9EE5C4ADF2AB9C0FA50B23975CF +MD = FBE25B43E540104A3AADE897838C63511928AF5ADD4F952F1E6D4C39E70C923DF191FAA36F46B21F827D9B437996FF7206F73337CF20C6B0DB748A707455B420 + +Len = 1752 +Msg = C8E976AB4638909387CE3B8D4E510C3230E5690E02C45093B1D297910ABC481E56EEA0F296F98379DFC9080AF69E73B2399D1C143BEE80AE1328162CE1BA7F6A8374679B20AACD380EB4E61382C99998704D62701AFA914F9A2705CDB065885F50D086C3EB5753700C387118BB142F3E6DA1E988DFB31AC75D7368931E45D1391A274B22F83CEB072F9BCABC0B216685BFD789F5023971024B1878A205442522F9EA7D8797A4102A3DF41703768251FD5E017C85D1200A464118AA35654E7CA39F3C375B8EF8CBE7534DBC64BC20BEFB417CF60EC92F63D9EE7397 +MD = 0A41A004573E0A983FE9C93BD57439A20C8F99B800A60D4A07117E8D9B25C0EE38BAB3CDB6FC9216B8E07F0CCDD028C418EF97B6D7E15DECDE7425497644E2E4 + +Len = 1760 +Msg = 7145FA124B7429A1FC2231237A949BA7201BCC1822D3272DE005B682398196C25F7E5CC2F289FBF44415F699CB7FE6757791B1443410234AE061EDF623359E2B4E32C19BF88450432DD01CAA5EB16A1DC378F391CA5E3C4E5F356728BDDD4975DB7C890DA8BBC84CC73FF244394D0D48954978765E4A00B593F70F2CA082673A261ED88DBCEF1127728D8CD89BC2C597E9102CED6010F65FA75A14EBE467FA57CE3BD4948B6867D74A9DF5C0EC6F530CBF2EE61CE6F06BC8F2864DFF5583776B31DF8C7FFCB61428A56BF7BD37188B4A5123BBF338393AF46EDA85E6 +MD = FF081507F979F69C6743E42EE758858713B570CB48FF85EF0D728C4E1BB5456D035E498C05EA4CEBD820E134BB252AC76BA4949A4FAD76871A9972AE2FCCCEEA + +Len = 1768 +Msg = 7FDFADCC9D29BAD23AE038C6C65CDA1AEF757221B8872ED3D75FF8DF7DA0627D266E224E812C39F7983E4558BFD0A1F2BEF3FEB56BA09120EF762917B9C093867948547AEE98600D10D87B20106878A8D22C64378BF634F7F75900C03986B077B0BF8B740A82447B61B99FEE5376C5EB6680EC9E3088F0BDD0C56883413D60C1357D3C811950E5890E7600103C916341B80C743C6A852B7B4FB60C3BA21F3BC15B8382437A68454779CF3CD7F9F90CCC8EF28D0B706535B1E4108EB5627BB45D719CB046839AEE311CA1ABDC8319E050D67972CB35A6B1601B25DBF487 +MD = 03444AE8319EBD121E7707B9CDFD1FDFD52F3D6B3D4BCB2748AF421A3C8666C22D8C0D8A096767B1CD16A8D54738C5F67A6F9D48C90827BE71691A42BE87108B + +Len = 1776 +Msg = 988638219FD3095421F826F56E4F09E356296B628C3CE6930C9F2E758FD1A80C8273F2F61E4DAAE65C4F110D3E7CA0965AC7D24E34C0DC4BA2D6FF0BF5BBE93B3585F354D7543CB542A1AA54674D375077F2D360A8F4D42F3DB131C3B7AB7306267BA107659864A90C8C909460A73621D1F5D9D3FD95BEB19B23DB1CB6C0D0FBA91D36891529B8BD8263CAA1BAB56A4AFFAED44962DF096D8D5B1EB845EF31188B3E10F1AF811A13F156BEB7A288AAE593EBD1471B624AA1A7C6ADF01E2200B3D72D88A3AED3100C88231E41EFC376906F0B580DC895F080FDA5741DB1CB +MD = 5EE0A4459724037B7318815A80147C172D6C8F8874C9A0057706FB3E300FE936815F07672E6447B771DE699DFADF345C3BB5974CF019315FADD5534DFF6A079C + +Len = 1784 +Msg = 5AAB62756D307A669D146ABA988D9074C5A159B3DE85151A819B117CA1FF6597F6156E80FDD28C9C3176835164D37DA7DA11D94E09ADD770B68A6E081CD22CA0C004BFE7CD283BF43A588DA91F509B27A6584C474A4A2F3EE0F1F56447379240A5AB1FB77FDCA49B305F07BA86B62756FB9EFB4FC225C86845F026EA542076B91A0BC2CDD136E122C659BE259D98E5841DF4C2F60330D4D8CDEE7BF1A0A244524EECC68FF2AEF5BF0069C9E87A11C6E519DE1A4062A10C83837388F7EF58598A3846F49D499682B683C4A062B421594FAFBC1383C943BA83BDEF515EFCF10D +MD = 54085A2F9C327E5D8EE225EFF5BD2C2837E44E8057CF1691E6202050079D26851061C4DA8D88FC19237E5B658950E66866E92019D9E425E2416240A59D25A6CF + +Len = 1792 +Msg = 47B8216AA0FBB5D67966F2E82C17C07AA2D6327E96FCD83E3DE7333689F3EE79994A1BF45082C4D725ED8D41205CB5BCDF5C341F77FACB1DA46A5B9B2CBC49EADF786BCD881F371A95FA17DF73F606519AEA0FF79D5A11427B98EE7F13A5C00637E2854134691059839121FEA9ABE2CD1BCBBBF27C74CAF3678E05BFB1C949897EA01F56FFA4DAFBE8644611685C617A3206C7A7036E4AC816799F693DAFE7F19F303CE4EBA09D21E03610201BFC665B72400A547A1E00FA9B7AD8D84F84B34AEF118515E74DEF11B9188BD1E1F97D9A12C30132EC2806339BDADACDA2FD8B78 +MD = 3EA49B6ABD39CDF04BCCD648FB7E1F8AE3DAE9D3E3A5EAB9CE29BE356DEFBBBEB1BB93AE40D31CC1F011DCC6C6AC85B102F2654E2DBBAC47333BCDB4758A1A28 + +Len = 1800 +Msg = 8CFF1F67FE53C098896D9136389BD8881816CCAB34862BB67A656E3D98896F3CE6FFD4DA73975809FCDF9666760D6E561C55238B205D8049C1CEDEEF374D1735DAA533147BFA960B2CCE4A4F254176BB4D1BD1E89654432B8DBE1A135C42115B394B024856A2A83DC85D6782BE4B444239567CCEC4B184D4548EAE3FF6A192F343292BA2E32A0F267F31CC26719EB85245D415FB897AC2DA433EE91A99424C9D7F1766A44171D1651001C38FC79294ACCC68CEB5665D36218454D3BA169AE058A831338C17743603F81EE173BFC0927464F9BD728DEE94C6AEAB7AAE6EE3A627E8 +MD = B3851790CA47575DBF988F82C3B501DC8390A8E8598698166167567A0332913CCC8868584DB4ACFB2C9DC0F0A6833292F4DCEDC47CF003217689BC2422B53B93 + +Len = 1808 +Msg = EACD07971CFF9B9939903F8C1D8CBB5D4DB1B548A85D04E037514A583604E787F32992BF2111B97AC5E8A938233552731321522AB5E8583561260B7D13EBEEF785B23A41FD8576A6DA764A8ED6D822D4957A545D5244756C18AA80E1AAD4D1F9C20D259DEE1711E2CC8FD013169FB7CC4CE38B362F8E0936AE9198B7E838DCEA4F7A5B9429BB3F6BBCF2DC92565E3676C1C5E6EB3DD2A0F86AA23EDD3D0891F197447692794B3DFA269611AD97F72B795602B4FDB198F3FD3EB41B415064256E345E8D8C51C555DC8A21904A9B0F1AD0EFFAB7786AAC2DA3B196507E9F33CA356427 +MD = A710CB26C632F289504CD0039BA6AB9B4D3524C52B286D466E2F8939F8684E3F18DCA298A2BA67EB710997B7BB10AE279438B9B4868D0ADB248F282BB440A130 + +Len = 1816 +Msg = 23AC4E9A42C6EF45C3336CE6DFC2FF7DE8884CD23DC912FEF0F7756C09D335C189F3AD3A23697ABDA851A81881A0C8CCAFC980AB2C702564C2BE15FE4C4B9F10DFB2248D0D0CB2E2887FD4598A1D4ACDA897944A2FFC580FF92719C95CF2AA42DC584674CB5A9BC5765B9D6DDF5789791D15F8DD925AA12BFFAFBCE60827B490BB7DF3DDA6F2A143C8BF96ABC903D83D59A791E2D62814A89B8080A28060568CF24A80AE61179FE84E0FFAD00388178CB6A617D37EFD54CC01970A4A41D1A8D3DDCE46EDBBA4AB7C90AD565398D376F431189CE8C1C33E132FEAE6A8CD17A61C630012 +MD = 8F677A8089052B47BE60C0BB7666E403A5DAA5E28A2B632F2E496C587F1FDCA0EE33D9E78DAA4EF575B13389748B8C24110053B0B96A082C06C3F80EBE8DE976 + +Len = 1824 +Msg = 0172DF732282C9D488669C358E3492260CBE91C95CFBC1E3FEA6C4B0EC129B45F242ACE09F152FC6234E1BEE8AAB8CD56E8B486E1DCBA9C05407C2F95DA8D8F1C0AF78EE2ED82A3A79EC0CB0709396EE62AADB84F8A4EE8A7CCCA3C1EE84E302A09EA802204AFECF04097E67D0F8E8A9D2651126C0A598A37081E42D168B0AE8A71951C524259E4E2054E535B779679BDADE566FE55700858618E626B4A0FAF895BCCE9011504A49E05FD56127EAE3D1F8917AFB548ECADABDA1020111FEC9314C413498A360B08640549A22CB23C731ACE743252A8227A0D2689D4C6001606678DFB921 +MD = CE631E6F2C2DC5738C0FA958571773B58AF130B94824331419EE57E2691CE5F29DB3D8FE456CD1E7CDC07F6105FA1B6FD729C2B419008CCD889169C3385DB1B9 + +Len = 1832 +Msg = 3875B9240CF3E0A8B59C658540F26A701CF188496E2C2174788B126FD29402D6A75453BA0635284D08835F40051A2A9683DC92AFB9383719191231170379BA6F4ADC816FECBB0F9C446B785BF520796841E58878B73C58D3EBB097CE4761FDEABE15DE2F319DFBAF1742CDEB389559C788131A6793E193856661376C81CE9568DA19AA6925B47FFD77A43C7A0E758C37D69254909FF0FBD415EF8EB937BCD49F91468B49974C07DC819ABD67395DB0E05874FF83DDDAB895344ABD0E7111B2DF9E58D76D85AD98106B36295826BE04D435615595605E4B4BB824B33C4AFEB5E7BB0D19F909 +MD = FFF677BB58909C158EA677BE704253505B106AF934F639ABFEC63BD0C63097AA4BF032FE924149DD991D335E1C44C0220E4D13CBC41B6A98FB5A05FAA3FE15B3 + +Len = 1840 +Msg = 747CC1A59FEFBA94A9C75BA866C30DC5C1CB0C0F8E9361D98484956DD5D1A40F6184AFBE3DAC9F76028D1CAECCFBF69199C6CE2B4C092A3F4D2A56FE5A33A00757F4D7DEE5DFB0524311A97AE0668A47971B95766E2F6DD48C3F57841F91F04A00AD5EA70F2D479A2620DC5CD78EAAB3A3B011719B7E78D19DDF70D9423798AF77517EBC55392FCD01FC600D8D466B9E7A7A85BF33F9CC5419E9BD874DDFD60981150DDAF8D7FEBAA4374F0872A5628D318000311E2F5655365AD4D407C20E5C04DF17A222E7DEEC79C5AB1116D8572F91CD06E1CCC7CED53736FC867FD49ECEBE6BF8082E8A +MD = 451EE587226C99989F5EC10050983B1FD661228A4AB48618F1D1173C94FAC39ECFD3C26C16653633B26097E31A0F2213B4F1153A57CB48A70D2AF1ADEB1BBC06 + +Len = 1848 +Msg = 57AF971FCCAEC97435DC2EC9EF0429BCEDC6B647729EA168858A6E49AC1071E706F4A5A645CA14E8C7746D65511620682C906C8B86EC901F3DDED4167B3F00B06CBFAC6AEE3728051B3E5FF10B4F9ED8BD0B8DA94303C833755B3CA3AEDDF0B54BC8D6632138B5D25BAB03D17B3458A9D782108006F5BB7DE75B5C0BA854B423D8BB801E701E99DC4FEAAD59BC1C7112453B04D33EA3635639FB802C73C2B71D58A56BBD671B18FE34ED2E3DCA38827D63FDB1D4FB3285405004B2B3E26081A8FF08CD6D2B08F8E7B7E90A2AB1ED7A41B1D0128522C2F8BFF56A7FE67969422CE839A9D4608F03 +MD = F9D6AD8686125E71FE0856E806D68BA97EF123443938D28283387F33E3AC6E2A7DE042A3EE5F7994C1EECC5B6F22CBAE1349CAB2FB7A0A0125EC2320320858D4 + +Len = 1856 +Msg = 04E16DEDC1227902BAAF332D3D08923601BDD64F573FAA1BB7201918CFE16B1E10151DAE875DA0C0D63C59C3DD050C4C6A874011B018421AFC4623AB0381831B2DA2A8BA42C96E4F70864AC44E106F94311051E74C77C1291BF5DB9539E69567BF6A11CF6932BBBAD33F8946BF5814C066D851633D1A513510039B349939BFD42B858C21827C8FF05F1D09B1B0765DC78A135B5CA4DFBA0801BCADDFA175623C8B647EACFB4444B85A44F73890607D06D507A4F8393658788669F6EF4DEB58D08C50CA0756D5E2F49D1A7AD73E0F0B3D3B5F090ACF622B1878C59133E4A848E05153592EA81C6FBF +MD = F26F3268FD620FC476A49AAC3ED1580864934A2F6BA881ED8C8FB757AAAA64BCDF501E1913DE600BBEF6F12C949FEA8FD68C645086D5E30C9253588FFBD19BE5 + +Len = 1864 +Msg = 7C815C384EEE0F288ECE27CCED52A01603127B079C007378BC5D1E6C5E9E6D1C735723ACBBD5801AC49854B2B569D4472D33F40BBB8882956245C366DC3582D71696A97A4E19557E41E54DEE482A14229005F93AFD2C4A7D8614D10A97A9DFA07F7CD946FA45263063DDD29DB8F9E34DB60DAA32684F0072EA2A9426ECEBFA5239FB67F29C18CBAA2AF6ED4BF4283936823AC1790164FEC5457A9CBA7C767CA59392D94CAB7448F50EB34E9A93A80027471CE59736F099C886DEA1AB4CBA4D89F5FC7AE2F21CCD27F611ECA4626B2D08DC22382E92C1EFB2F6AFDC8FDC3D2172604F5035C46B8197D3 +MD = 080845D6FD22A00B30FA01A4B4F81FDC7B46CA4C6A676AD5863A9DBF6611BA97F24FB59BB5BAC4E376B3B8B3357166782876B701273FF351BC8C5805532767D4 + +Len = 1872 +Msg = E29D505158DBDD937D9E3D2145658EE6F5992A2FC790F4F608D9CDB44A091D5B94B88E81FAC4FDF5C49442F13B911C55886469629551189EAFF62488F1A479B7DB11A1560E198DDCCCCF50159093425FF7F1CB8D1D1246D0978764087D6BAC257026B090EFAE8CEC5F22B6F21C59ACE1AC7386F5B8837CA6A12B6FBF5534DD0560EF05CA78104D3B943DDB220FEAEC89AA5E692A00F822A2AB9A2FE60350D75E7BE16FF2526DC643872502D01F42F188ABED0A6E9A6F5FD0D1CE7D5755C9FFA66B0AF0B20BD806F08E06156690D81AC811778CA3DAC2C249B96002017FCE93E507E3B953ACF99964B847 +MD = 2678A8715FC7E538522DD7608D769508B63017D9EB6CC48F1CB07D14E741066936C8316BF3211E09F62611E140DDD14A07F97F9F372E99C084FFE289EB302BD8 + +Len = 1880 +Msg = D85588696F576E65ECA0155F395F0CFACD83F36A99111ED5768DF2D116D2121E32357BA4F54EDE927F189F297D3A97FAD4E9A0F5B41D8D89DD7FE20156799C2B7B6BF9C957BA0D6763F5C3BC5129747BBB53652B49290CFF1C87E2CDF2C4B95D8AAEE09BC8FBFA6883E62D237885810491BFC101F1D8C636E3D0EDE838AD05C207A3DF4FAD76452979EB99F29AFAECEDD1C63B8D36CF378454A1BB67A741C77AC6B6B3F95F4F02B64DABC15438613EA49750DF42EE90101F115AA9ABB9FF64324DDE9DABBB01054E1BD6B4BCDC7930A44C2300D87CA78C06924D0323AD7887E46C90E8C4D100ACD9EED21E +MD = AA03EB09417435DA9E6E7803F3B6EAB66FAA3D59CC622950D61F9B962B69145AC2255CD752CB9607742092697B1A79D124817AE26421E61D1176764832ED354C + +Len = 1888 +Msg = 3A12F8508B40C32C74492B66323375DCFE49184C78F73179F3314B79E63376B8AC683F5A51F1534BD729B02B04D002F55CBD8E8FC9B5EC1EA6BBE6A0D0E7431518E6BA45D124035F9D3DCE0A8BB7BF1430A9F657E0B4EA9F20EB20C786A58181A1E20A96F1628F8728A13BDF7A4B4B32FC8AA7054CC4881AE7FA19AFA65C6C3EE1B3ADE3192AF42054A8A911B8EC1826865D46D93F1E7C5E2B7813C92A506E53886F3D4701BB93D2A681AD109C845904BB861AF8AF0646B6E399B38B614051D34F6842563A0F37EC00CB3D865FC5D746C4987DE2A65071100883A2A9C7A2BFE1E2DD603D9EA24DC7C5FD06BE +MD = D3012F2FB56845B258D7598C0BBB2C97D53B602DEAE9326DC3678B2228454A1E29F28848ED140C70BE85CDEA9F99A8DC347DEABD46D362ED1AFB231146A0255D + +Len = 1896 +Msg = 1861EDCE46FA5AD17E1FF1DEAE084DEC580F97D0A67885DFE834B9DFAC1AE076742CE9E267512CA51F6DF5A455AF0C5FD6ABF94ACEA103A3370C354485A7846FB84F3AC7C2904B5B2FBF227002CE512133BB7E1C4E50057BFD1E44DB33C7CDB969A99E284B184F50A14B068A1FC5009D9B298DBE92239572A7627AAC02ABE8F3E3B473417F36D4D2505D16B7577F4526C9D94A270A2DFE450D06DA8F6FA956879A0A55CFE99E742EA555EA477BA3E9B44CCD508C375423611AF92E55345DC215779B2D5119EBA49C71D49B9FE3F1569FA24E5CA3E332D042422A8B8158D3EC66A80012976F31FFDF305F0C9C5E +MD = B50C896F2CDF7F105DE751FF6CF664E592FAB752D652B06898B9B288052DF22F721AD87E702AF043E6B1E88929850CBD5698A9172C3932400B2538E401A6F081 + +Len = 1904 +Msg = 08D0FFDE3A6E4EF65608EA672E4830C12943D7187CCFF08F4941CFC13E545F3B9C7AD5EEBBE2B01642B486CAF855C2C73F58C1E4E3391DA8E2D63D96E15FD84953AE5C231911B00AD6050CD7AAFDAAC9B0F663AE6AAB45519D0F5391A541707D479034E73A6AD805AE3598096AF078F1393301493D663DD71F83869CA27BA508B7E91E81E128C1716DC3ACFE3084B2201E04CF8006617EECF1B640474A5D45CFDE9F4D3EF92D6D055B909892194D8A8218DB6D8203A84261D200D71473D7488F3427416B6896C137D455F231071CACBC86E0415AB88AEC841D96B7B8AF41E05BB461A40645BF176601F1E760DE5F +MD = A34A2F27C32F993A7E7007867733547481293C391255FFD0E5CCBE91E1CC749B13525AF6ADFA0C2D1D64BF87DD65B996ADA9111C5DF55BFF8A5742E54B8444F6 + +Len = 1912 +Msg = D782ABB72A5BE3392757BE02D3E45BE6E2099D6F000D042C8A543F50ED6EBC055A7F133B0DD8E9BC348536EDCAAE2E12EC18E8837DF7A1B3C87EC46D50C241DEE820FD586197552DC20BEEA50F445A07A38F1768A39E2B2FF05DDDEDF751F1DEF612D2E4D810DAA3A0CC904516F9A43AF660315385178A529E51F8AAE141808C8BC5D7B60CAC26BB984AC1890D0436EF780426C547E94A7B08F01ACBFC4A3825EAE04F520A9016F2FB8BF5165ED12736FC71E36A49A73614739EAA3EC834069B1B40F1350C2B3AB885C02C640B9F7686ED5F99527E41CFCD796FE4C256C9173186C226169FF257954EBDA81C0E5F99 +MD = DD5F4B167175D9566DCA6C5B1B54A33D02EFD02E25E23BB6FB02D878A4415E5E8682C209BEAC04E9882A272D01E8EB435CAA5BCD74FC825C6B9082D041DFF333 + +Len = 1920 +Msg = 5FCE8109A358570E40983E1184E541833BB9091E280F258CFB144387B05D190E431CB19BAA67273BA0C58ABE91308E1844DCD0B3678BAA42F335F2FA05267A0240B3C718A5942B3B3E3BFA98A55C25A1466E8D7A603722CB2BBF03AFA54CD769A99F310735EE5A05DAE2C22D397BD95635F58C48A67F90E1B73AAFCD3F82117F0166657838691005B18DA6F341D6E90FC1CDB352B30FAE45D348294E501B63252DE14740F2B85AE5299DDEC3172DE8B6D0BA219A20A23BB5E10FF434D39DB3F583305E9F5C039D98569E377B75A70AB837D1DF269B8A4B566F40BB91B577455FD3C356C914FA06B9A7CE24C7317A172D +MD = A43AE5DAD936697564AE1BD9B8624C5C31CC36607322AF40E253F10C285467AFD0D08252D2BAD76EFA52E4775C9C26761ABE38212855A80112FE02623FBF0A13 + +Len = 1928 +Msg = 6172F1971A6E1E4E6170AFBAD95D5FEC99BF69B24B674BC17DD78011615E502DE6F56B86B1A71D3F4348087218AC7B7D09302993BE272E4A591968AEF18A1262D665610D1070EE91CC8DA36E1F841A69A7A682C580E836941D21D909A3AFC1F0B963E1CA5AB193E124A1A53DF1C587470E5881FB54DAE1B0D840F0C8F9D1B04C645BA1041C7D8DBF22030A623AA15638B3D99A2C400FF76F3252079AF88D2B37F35EE66C1AD7801A28D3D388AC450B97D5F0F79E4541755356B3B1A5696B023F39AB7AB5F28DF4202936BC97393B93BC915CB159EA1BD7A0A414CB4B7A1AC3AF68F50D79F0C9C7314E750F7D02FAA58BFA +MD = A5AC23D4A0D533CB9D8A68873F5CB749228458D43CE6BD0536C8733777B5E6E3F28FD36BFFE69002A0777BA74FEF22DE3FAC4C818B4842816C6094496F968555 + +Len = 1936 +Msg = 5668ECD99DFBE215C4118398AC9C9EAF1A1433FAB4CCDD3968064752B625EA944731F75D48A27D047D67547F14DD0FFAA55FA5E29F7AF0D161D85EAFC4F2029B717C918EAB9D304543290BDBA7158B68020C0BA4E079BC95B5BC0FC044A992B94B4CCD3BD66D0EABB5DBBAB904D62E00752C4E3B0091D773BCF4C14B4377DA3EFFF824B1CB2FA01B32D1E46C909E626ED2DAE920F4C7DBEB635BC754FACBD8D49BEBA3F23C1C41CCBFCD0EE0C114E69737F5597C0BF1D859F0C767E18002AE8E39C26261FFDE2920D3D0BAF0E906138696CFE5B7E32B600F45DF3AAA39932F3A7DF95B60FA8712A2271FCAF3911CE7B511B1 +MD = 07F3BCACF5F78816D515CEDF1CBBA4FFC58D83AA8687B0E7252FAAB43E7F59A7FF7415727ADDF9A22560ADB5755A2C6DF8C7E6DCACEB53106A714D807AAADBF3 + +Len = 1944 +Msg = 03D625488354DF30E3F875A68EDFCF340E8366A8E1AB67F9D5C5486A96829DFAC0578289082B2A62117E1CF418B43B90E0ADC881FC6AE8105C888E9ECD21AEA1C9AE1A4038DFD17378FED71D02AE492087D7CDCD98F746855227967CB1AB4714261EE3BEAD3F4DB118329D3EBEF4BC48A875C19BA763966DA0EBEA800E01B2F50B00E9DD4CACA6DCB314D00184EF71EA2391D760C950710DB4A70F9212FFC54861F9DC752CE18867B8AD0C48DF8466EF7231E7AC567F0EB55099E622EBB86CB237520190A61C66AD34F1F4E289CB3282AE3EAAC6152ED24D2C92BAE5A7658252A53C49B7B02DFE54FDB2E90074B6CF310AC661 +MD = 13A592B73EDE487036C8816BD6FC6CDC04DC6133409A6EE990584160518F9EF573264CF04D38A3BA75D150F4F026F6DF8936E13C8F4F3ECC9ECBC43FDFC488A4 + +Len = 1952 +Msg = 2EDC282FFB90B97118DD03AAA03B145F363905E3CBD2D50ECD692B37BF000185C651D3E9726C690D3773EC1E48510E42B17742B0B0377E7DE6B8F55E00A8A4DB4740CEE6DB0830529DD19617501DC1E9359AA3BCF147E0A76B3AB70C4984C13E339E6806BB35E683AF8527093670859F3D8A0FC7D493BCBA6BB12B5F65E71E705CA5D6C948D66ED3D730B26DB395B3447737C26FAD089AA0AD0E306CB28BF0ACF106F89AF3745F0EC72D534968CCA543CD2CA50C94B1456743254E358C1317C07A07BF2B0ECA438A709367FAFC89A57239028FC5FECFD53B8EF958EF10EE0608B7F5CB9923AD97058EC067700CC746C127A61EE3 +MD = C2FB590AB74E230B8FE159892F94DE04EF7ADAA02B918D4994F996538D257F5A80C9B3BE8F410170B0C5CAC3F507401220881C5E08D8BF0A13247170D39085BC + +Len = 1960 +Msg = 90B28A6AA1FE533915BCB8E81ED6CACDC10962B7FF82474F845EEB86977600CF70B07BA8E3796141EE340E3FCE842A38A50AFBE90301A3BDCC591F2E7D9DE53E495525560B908C892439990A2CA2679C5539FFDF636777AD9C1CDEF809CDA9E8DCDB451ABB9E9C17EFA4379ABD24B182BD981CAFC792640A183B61694301D04C5B3EAAD694A6BD4CC06EF5DA8FA23B4FA2A64559C5A68397930079D250C51BCF00E2B16A6C49171433B0AADFD80231276560B80458DD77089B7A1BBCC9E7E4B9F881EACD6C92C4318348A13F4914EB27115A1CFC5D16D7FD94954C3532EFACA2CAB025103B2D02C6FD71DA3A77F417D7932685888A +MD = 02951596A13A1A41188A4A1D6346F7EAFB60A2051EA67C63237D1A9B79EC4733F33ECEC223DEDD946B78387B6F2DF5E9AB6AF7DFBABAF80F4FCC94FA087275E8 + +Len = 1968 +Msg = 2969447D175490F2AA9BB055014DBEF2E6854C95F8D60950BFE8C0BE8DE254C26B2D31B9E4DE9C68C9ADF49E4EE9B1C2850967F29F5D08738483B417BB96B2A56F0C8ACA632B552059C59AAC3F61F7B45C966B75F1D9931FF4E596406378CEE91AAA726A3A84C33F37E9CDBE626B5745A0B06064A8A8D56E53AAF102D23DD9DF0A3FDF7A638509A6761A33FA42FA8DDBD8E16159C93008B53765019C3F0E9F10B144CE2AC57F5D7297F9C9949E4FF68B70D339F87501CE8550B772F32C6DA8AD2CE2100A895D8B08FA1EEAD7C376B407709703C510B50F87E73E43F8E7348F87C3832A547EF2BBE5799ABEDCF5E1F372EA809233F006 +MD = 5AA4E32F0EA3E853929BF64ACC9565A01300BC007063B939F6DBBE9CAE0545EA95FBCAC32575AA0727EE4D937071E6B3BE74E23FE76FD63EC05C7F7D8A407AF0 + +Len = 1976 +Msg = 721645633A44A2C78B19024EAECF58575AB23C27190833C26875DC0F0D50B46AEA9C343D82EA7D5B3E50EC700545C615DAEAEA64726A0F05607576DCD396D812B03FB6551C641087856D050B10E6A4D5577B82A98AFB89CEE8594C9DC19E79FEFF0382FCFD127F1B803A4B9946F4AC9A4378E1E6E041B1389A53E3450CD32D9D2941B0CBABDB50DA8EA2513145164C3AB6BCBD251C448D2D4B087AC57A59C2285D564F16DA4ED5E607ED979592146FFB0EF3F3DB308FB342DF5EB5924A48256FC763141A278814C82D6D6348577545870AE3A83C7230AC02A1540FE1798F7EF09E335A865A2AE0949B21E4F748FB8A51F44750E213A8FB +MD = 495B2AA2103159D9A937E9DD56B059ACA98A5E3CB7B59BB690DEDC00C692E9D7A18614A73D12E07634B209CC630D1818B09F1076A941FF80474493E3D42B9812 + +Len = 1984 +Msg = 6B860D39725A14B498BB714574B4D37CA787404768F64C648B1751B353AC92BAC2C3A28EA909FDF0423336401A02E63EC24325300D823B6864BB701F9D7C7A1F8EC9D0AE3584AA6DD62EA1997CD831B4BABD9A4DA50932D4EFDA745C61E4130890E156AEE6113716DAF95764222A91187DB2EFFEA49D5D0596102D619BD26A616BBFDA8335505FBB0D90B4C180D1A2335B91538E1668F9F9642790B4E55F9CAB0FE2BDD2935D001EE6419ABAB5457880D0DBFF20ED8758F4C20FE759EFB33141CF0E892587FE8187E5FBC57786B7E8B089612C936DFC03D27EFBBE7C8673F1606BD51D5FF386F4A7AB68EDF59F385EB1291F117BFE717399 +MD = 217B5A985BED80008274470E254443238C5AEACBC7EE2289F0E63B7AFE6D0F395E2361FD6D9DC33B4F54F03FF56F6B264976161D80091788EE9D262F147A35FC + +Len = 1992 +Msg = 6A01830AF3889A25183244DECB508BD01253D5B508AB490D3124AFBF42626B2E70894E9B562B288D0A2450CFACF14A0DDAE5C04716E5A0082C33981F6037D23D5E045EE1EF2283FB8B6378A914C5D9441627A722C282FF452E25A7EA608D69CEE4393A0725D17963D0342684F255496D8A18C2961145315130549311FC07F0312FB78E6077334F87EAA873BEE8AA95698996EB21375EB2B4EF53C14401207DEB4568398E5DD9A7CF97E8C9663E23334B46912F8344C19EFCF8C2BA6F04325F1A27E062B62A58D0766FC6DB4D2C6A1928604B0175D872D16B7908EBC041761187CC785526C2A3873FEAC3A642BB39F5351550AF9770C328AF7B +MD = 293C551E753BBA7F314DCB93A0FAD94F3F5DEE6ED45D765A708E6FD277601F03F6C905D7E1EAEAEC513CBBBD672B817F6D60FBF02C20167D7F4B7B84AFEEB3F6 + +Len = 2000 +Msg = B3C5E74B69933C2533106C563B4CA20238F2B6E675E8681E34A389894785BDADE59652D4A73D80A5C85BD454FD1E9FFDAD1C3815F5038E9EF432AAC5C3C4FE840CC370CF86580A6011778BBEDAF511A51B56D1A2EB68394AA299E26DA9ADA6A2F39B9FAFF7FBA457689B9C1A577B2A1E505FDF75C7A0A64B1DF81B3A356001BF0DF4E02A1FC59F651C9D585EC6224BB279C6BEBA2966E8882D68376081B987468E7AED1EF90EBD090AE825795CDCA1B4F09A979C8DFC21A48D8A53CDBB26C4DB547FC06EFE2F9850EDD2685A4661CB4911F165D4B63EF25B87D0A96D3DFF6AB0758999AAD214D07BD4F133A6734FDE445FE474711B69A98F7E2B +MD = 89FE6314A0246EFF3BFD07A95FE239BD5071467F53799175B226DAF6C3DB618CAD4CA1C1AF64BF5793F03254F560E6335BEAAA86BCB9E961F214B2AE97B47AF0 + +Len = 2008 +Msg = 83AF34279CCB5430FEBEC07A81950D30F4B66F484826AFEE7456F0071A51E1BBC55570B5CC7EC6F9309C17BF5BEFDD7C6BA6E968CF218A2B34BD5CF927AB846E38A40BBD81759E9E33381016A755F699DF35D660007B5EADF292FEEFB735207EBF70B5BD17834F7BFA0E16CB219AD4AF524AB1EA37334AA66435E5D397FC0A065C411EBBCE32C240B90476D307CE802EC82C1C49BC1BEC48C0675EC2A6C6F3ED3E5B741D13437095707C565E10D8A20B8C20468FF9514FCF31B4249CD82DCEE58C0A2AF538B291A87E3390D737191A07484A5D3F3FB8C8F15CE056E5E5F8FEBE5E1FB59D6740980AA06CA8A0C20F5712B4CDE5D032E92AB89F0AE1 +MD = 7690F703E894EE22D4DFF55A7F8D5021D5F17B729F95A59C4D55CFB225C67BE105F2E7CDF56D140E566648E9E9C39BBED96F985A6DAE1F21D8BA500F7FD40EDF + +Len = 2016 +Msg = A7ED84749CCC56BB1DFBA57119D279D412B8A986886D810F067AF349E8749E9EA746A60B03742636C464FC1EE233ACC52C1983914692B64309EDFDF29F1AB912EC3E8DA074D3F1D231511F5756F0B6EEAD3E89A6A88FE330A10FACE267BFFBFC3E3090C7FD9A850561F363AD75EA881E7244F80FF55802D5EF7A1A4E7B89FCFA80F16DF54D1B056EE637E6964B9E0FFD15B6196BDD7DB270C56B47251485348E49813B4EB9ED122A01B3EA45AD5E1A929DF61D5C0F3E77E1FDC356B63883A60E9CBB9FC3E00C2F32DBD469659883F690C6772E335F617BC33F161D6F6984252EE12E62B6000AC5231E0C9BC65BE223D8DFD94C5004A101AF9FD6C0FB +MD = 65E415C7958A47FCA9EED3846FD1283AFEB38E5130F57ECD99DCB21BEDDA856E3B5FB9F839E579C5EA386EACA8CDC0A9549EAAF6EC452DD6CB5212B709BF5C59 + +Len = 2024 +Msg = A6FE30DCFCDA1A329E82AB50E32B5F50EB25C873C5D2305860A835AECEE6264AA36A47429922C4B8B3AFD00DA16035830EDB897831C4E7B00F2C23FC0B15FDC30D85FB70C30C431C638E1A25B51CAF1D7E8B050B7F89BFB30F59F0F20FECFF3D639ABC4255B3868FC45DD81E47EB12AB40F2AAC735DF5D1DC1AD997CEFC4D836B854CEE9AC02900036F3867FE0D84AFFF37BDE3308C2206C62C4743375094108877C73B87B2546FE05EA137BEDFC06A2796274099A0D554DA8F7D7223A48CBF31B7DECAA1EBC8B145763E3673168C1B1B715C1CD99ECD3DDB238B06049885ECAD9347C2436DFF32C771F34A38587A44A82C5D3D137A03CAA27E66C8FF6 +MD = D6542A2F0654B9B874A627D3D53764A65B1DF2C0CEC3BCD0B4B088FAA1095E54F1799757C4371F8D544E298D600E21E11B2F90D295712621231A09C58B05A704 + +Len = 2032 +Msg = 83167FF53704C3AA19E9FB3303539759C46DD4091A52DDAE9AD86408B69335989E61414BC20AB4D01220E35241EFF5C9522B079FBA597674C8D716FE441E566110B6211531CECCF8FD06BC8E511D00785E57788ED9A1C5C73524F01830D2E1148C92D0EDC97113E3B7B5CD3049627ABDB8B39DD4D6890E0EE91993F92B03354A88F52251C546E64434D9C3D74544F23FB93E5A2D2F1FB15545B4E1367C97335B0291944C8B730AD3D4789273FA44FB98D78A36C3C3764ABEEAC7C569C1E43A352E5B770C3504F87090DEE075A1C4C85C0C39CF421BDCC615F9EFF6CB4FE6468004AECE5F30E1ECC6DB22AD9939BB2B0CCC96521DFBF4AE008B5B46BC006E +MD = EC983E787628B94C87FFF8D57D2D058667D12F5AF458BCE79BB7844FB41D9C55920F593C8D8730EB8D54FF1D51CD8AD2F1C2A0F7D6B299A21266744E47D142B2 + +Len = 2040 +Msg = 3A3A819C48EFDE2AD914FBF00E18AB6BC4F14513AB27D0C178A188B61431E7F5623CB66B23346775D386B50E982C493ADBBFC54B9A3CD383382336A1A0B2150A15358F336D03AE18F666C7573D55C4FD181C29E6CCFDE63EA35F0ADF5885CFC0A3D84A2B2E4DD24496DB789E663170CEF74798AA1BBCD4574EA0BBA40489D764B2F83AADC66B148B4A0CD95246C127D5871C4F11418690A5DDF01246A0C80A43C70088B6183639DCFDA4125BD113A8F49EE23ED306FAAC576C3FB0C1E256671D817FC2534A52F5B439F72E424DE376F4C565CCA82307DD9EF76DA5B7C4EB7E085172E328807C02D011FFBF33785378D79DC266F6A5BE6BB0E4A92ECEEBAEB1 +MD = 81950E7096D31D4F22E3DB71CAC725BF59E81AF54C7CA9E6AEEE71C010FC5467466312A01AA5C137CFB140646941556796F612C9351268737C7E9A2B9631D1FA + diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/readme.txt b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/readme.txt new file mode 100644 index 000000000..dc0d03ad1 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/keccak/readme.txt @@ -0,0 +1 @@ +Files downloaded on 22 October 2015 from http://keccak.noekeon.org/KeccakKAT-3.zip diff --git a/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/wycheproof/aes_cmac_test.json b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/wycheproof/aes_cmac_test.json new file mode 100644 index 000000000..6b121115d --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Hash/test_vectors/wycheproof/aes_cmac_test.json @@ -0,0 +1,2695 @@ +{ + "algorithm" : "AES-CMAC", + "generatorVersion" : "0.4", + "numberOfTests" : 290, + "header" : [], + "testGroups" : [ + { + "keySize" : 128, + "tagSize" : 96, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "1607559459d30d33548a635ab1eeab9d", + "msg" : "", + "tag" : "6a8974470fddb0a47e2b6e7d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "truncated mac", + "key" : "994275465065fdc96ae37b5d2feb8726", + "msg" : "c6", + "tag" : "3bfa9ec0fb0cc2b8509e7b1f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "truncated mac", + "key" : "ddc31fc7751a2bf5c8d2d815035622e8", + "msg" : "c81598f30b3e8ca8", + "tag" : "323c2fd67f1bc85108f391e1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "truncated mac", + "key" : "acef13560296fdc6b09398ae04196f2b", + "msg" : "25d99a552339745e24a0cb6a9669c4", + "tag" : "cdff8af899f61a70a97d967a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "truncated mac", + "key" : "33defac4ec7c7b69aa72edb23119e619", + "msg" : "ceabee3f13d0718779ba86acccd6d5a9", + "tag" : "e0b19f7e0316f276a846115f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "truncated mac", + "key" : "d1c61c251def47b39deb1a77a8b188d9", + "msg" : "0d68e86cf139677cb461a0fa76690e4afc", + "tag" : "2c5f2629fa41555e84c0ef0c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "truncated mac", + "key" : "3f71e3875f234fc569433cafa3a36330", + "msg" : "a3e01e9a597e57502fd849908aa7a19407cbfdc74bc5c485", + "tag" : "eb8e0bb4937e4a4f9fd55465", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 128, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 8, + "comment" : "empty message", + "key" : "e34f15c7bd819930fe9d66e0c166e61c", + "msg" : "", + "tag" : "d47afca1d857a5933405b1eb7a5cb7af", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "full length mac", + "key" : "e1e726677f4893890f8c027f9d8ef80d", + "msg" : "3f", + "tag" : "15f856bbed3b321952a584b3c4437a63", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "full length mac", + "key" : "48f0d03e41cc55c4b58f737b5acdea32", + "msg" : "f4a133aa6d5985a0", + "tag" : "1f1cd0327c02e6d00086915937dd61d9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "full length mac", + "key" : "501d81ebf912ddb87fbe3b7aac1437bc", + "msg" : "2368e3c3636b5e8e94d2081adbf798", + "tag" : "aeb784a3825168ddd61f72d0202125e6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "full length mac", + "key" : "e09eaa5a3f5e56d279d5e7a03373f6ea", + "msg" : "ef4eab37181f98423e53e947e7050fd0", + "tag" : "40facf0e2fb51b73a7472681b033d6dc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "full length mac", + "key" : "831e664c9e3f0c3094c0b27b9d908eb2", + "msg" : "26603bb76dd0a0180791c4ed4d3b058807", + "tag" : "a8144c8b24f2aa47d9c160cff4ab1716", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "full length mac", + "key" : "549bd282ee21b4d7c3b1d02e3ee20ef7", + "msg" : "d84bf73c5eecbd38444f1a73556e2fa3253f4c54d6916545", + "tag" : "7ed458afe02f4a513f59715b664b1bbe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "96dd6e5a882cbd564c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "43802eb1931f0032afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7acfbbca7a2ea68b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "95dd6e5a882cbd564c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "40802eb1931f0032afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "79cfbbca7a2ea68b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "17dd6e5a882cbd564c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "c2802eb1931f0032afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "fbcfbbca7a2ea68b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dc6e5a882cbd564c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42812eb1931f0032afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcebbca7a2ea68b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6eda882cbd564c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802e31931f0032afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbb4a7a2ea68b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a892cbd564c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1921f0032afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7b2ea68b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a8a2cbd564c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1911f0032afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca782ea68b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbdd64c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f00b2afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea60b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564d39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032aee984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b976fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd56cc39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f00322fe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b166fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c19ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afc984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b964fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39af7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe985443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc4399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39ae7d1d5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe984443638cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc5399e74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39ae7d1e5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe984443538cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc5399d74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39ae7d9c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe98444b738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc5391f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39ae7d1c5a31ab", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe984443738cd30", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc5399f74809f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39ae7d1c5a31a8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe984443738cd33", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc5399f74809c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39ae7d1c5a31ea", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe984443738cd71", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc5399f7480de", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbd564c39ae7d1c5a312a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f0032afe984443738cdb1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea68b966fc5399f74801e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "96dd6e5a882cbd564d39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "43802eb1931f0032aee984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7acfbbca7a2ea68b976fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6eda882cbdd64c39ae7d1c5a31aa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802e31931f00b2afe984443738cd31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbb4a7a2ea60b966fc5399f74809e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "97dd6e5a882cbdd64c39ae7d1c5a312a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "42802eb1931f00b2afe984443738cdb1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7bcfbbca7a2ea60b966fc5399f74801e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "682291a577d342a9b3c65182e3a5ce55", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "bd7fd14e6ce0ffcd50167bbbc8c732ce", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8430443585d1597469903ac6608b7f61", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "175deeda08ac3dd6ccb92efd9cdab12a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "c200ae31139f80b22f6904c4b7b84db1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "fb4f3b4afaae260b16ef45b91ff4001e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "", + "tag" : "96dc6f5b892dbc574d38af7c1d5b30ab", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "0001020304050607", + "tag" : "43812fb0921e0133aee885453639cc30", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7acebacb7b2fa78a976ec4389e75819f", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 192, + "tagSize" : 96, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 96, + "comment" : "empty message", + "key" : "78fe7087bc810abf08f15fc69804f888435a6442677c8c79", + "msg" : "", + "tag" : "48d92d311f60d51a23e56d8c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "truncated mac", + "key" : "7ab6fb0e3456e40c3a6c5db57a3d0548d4c8c3cfd8849dba", + "msg" : "c6", + "tag" : "d904a70715bd0ad9468f37b2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "truncated mac", + "key" : "f095a5d39f0b499cef0130b4eb3bfae90253a1f30270efb5", + "msg" : "738e196c2cb0206b", + "tag" : "7a3b8de1c57e7c5f7babbe42", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "truncated mac", + "key" : "6fee9e028a35d168ffe2062338f753d3930597b341210f0c", + "msg" : "a1518bb8cb88f305935b91f64f2479", + "tag" : "7ba264b276a0849bc76a2a29", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "truncated mac", + "key" : "304b9077a8f36fd949e38bbfb6dd71e313530ba0a34d3e77", + "msg" : "87e60924ae7f2ae1567cbcb07f7ae2aa", + "tag" : "725e51ac5b10338d940c0236", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "truncated mac", + "key" : "fec7f37de35365c415701ba2eec2d94cb20e3e2a0c21cfcf", + "msg" : "cf24271e0acebd3249f996da1fe9d13e3f", + "tag" : "7636cec43b5b7a40787580fa", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "truncated mac", + "key" : "5f4df68a45a5edde95907b5b002fcf3ba6747f9194536dd3", + "msg" : "4cc781faaa8decb281afab7dc69f380921d04c54414bb65f", + "tag" : "bb2de41c514dd64ebc5f5a99", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 192, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 103, + "comment" : "empty message", + "key" : "3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631", + "msg" : "", + "tag" : "a8dd15fe2ce3495ec5b666744ec29220", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "full length mac", + "key" : "915429743435c28997a33b33b6574a953d81dae0e7032e6a", + "msg" : "58", + "tag" : "e13b3f7f7f510c3a059df7a68c7e2ad5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "full length mac", + "key" : "28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c", + "msg" : "004e3f4a4e6db955", + "tag" : "c4c2c0876be9eabeb5a956da53846b08", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "full length mac", + "key" : "850fc859e9f7b89a367611dee6698f33962d8245ca8dc331", + "msg" : "586f4f171af116519061a8e0e77940", + "tag" : "fb11a360c9776991d73d6e41d07710a2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "full length mac", + "key" : "f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb", + "msg" : "0e239f239705b282ce2200fe20de1165", + "tag" : "ab20a6cf60873665b1d6999b05c7f9c6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "full length mac", + "key" : "cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614", + "msg" : "b1973cb25aa87ef9d1a8888b0a0f5c04c6", + "tag" : "b95a016b83a0ae4194023333c8a7345a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "full length mac", + "key" : "648a44468d67bb6744b235ee7a3fcd6ed4bdc29ec5b5fa1a", + "msg" : "c59d0d6981cca1be1d5519fc7881e6d230f39f6c12a9e827", + "tag" : "a1b96272ae7f9aef567271795f21d1d3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ed12390ea0a7ed15d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c81307df60859acb911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f91bde0069a6e389573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ee12390ea0a7ed15d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "cb1307df60859acb911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "fa1bde0069a6e389573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "6c12390ea0a7ed15d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "491307df60859acb911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "781bde0069a6e389573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec13390ea0a7ed15d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91207df60859acb911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81ade0069a6e389573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12398ea0a7ed15d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c913075f60859acb911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde8069a6e389573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea1a7ed15d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df61859acb911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0068a6e389573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea2a7ed15d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df62859acb911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde006ba6e389573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed95d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859a4b911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e309573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d8d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb901c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389563bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed1559d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb111c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389d73bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9f37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb913c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389571bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37b6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7ae61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf14e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37a6ecb1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7be61ae7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf04e7dde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37a6ec81fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7be619e7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf04e7ede688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37a6e4a1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7be69be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf04efcde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37a6eca1fc991", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7be61be7ca91", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf04e7cde688d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37a6eca1fc992", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7be61be7ca92", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf04e7cde688e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37a6eca1fc9d0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7be61be7cad0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 163, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf04e7cde68cc", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed15d9d37a6eca1fc910", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859acb911c7be61be7ca10", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 166, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e389573bf04e7cde680c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ed12390ea0a7ed15d8d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c81307df60859acb901c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 169, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f91bde0069a6e389563bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12398ea0a7ed95d9d37a6eca1fc990", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c913075f60859a4b911c7be61be7ca90", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 172, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde8069a6e309573bf04e7cde688c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ec12390ea0a7ed95d9d37a6eca1fc910", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c91307df60859a4b911c7be61be7ca10", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 175, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f81bde0069a6e309573bf04e7cde680c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 176, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "13edc6f15f5812ea262c859135e0366f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 177, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "36ecf8209f7a65346ee38419e418356f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 178, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "07e421ff96591c76a8c40fb183219773", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 179, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 180, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 181, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 182, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 183, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 184, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 185, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "6c92b98e20276d955953faee4a9f4910", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 186, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "4993875fe0051a4b119cfb669b674a10", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 187, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "789b5e80e9266309d7bb70cefc5ee80c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 188, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "", + "tag" : "ed13380fa1a6ec14d8d27b6fcb1ec891", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 189, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "0001020304050607", + "tag" : "c81206de61849bca901d7ae71ae6cb91", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 190, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f91adf0168a7e288563af14f7ddf698d", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 96, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 191, + "comment" : "empty message", + "key" : "e40992eb4f649e5d49134652aecc24bafa6b45ce8dd9e9d371ede7d5de84fa72", + "msg" : "", + "tag" : "034762bd9014d642f7f08af7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 192, + "comment" : "truncated mac", + "key" : "298962335a075e9eacb7a7627beafa4ee5a02242423cdfb0b4f106eb61cf5663", + "msg" : "49", + "tag" : "4545f042beb65af2b7b74808", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 193, + "comment" : "truncated mac", + "key" : "2e94a84c78be80cd598366058d4f6cdf8095666dcac7a00ad832d9f33e20d13c", + "msg" : "b978587bf028558d", + "tag" : "6703f99ac094ed0e9d9973b5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 194, + "comment" : "truncated mac", + "key" : "95b330aa5fffa6c0e29fd6fa0debdcb9cf6b448820bea24875089ec8ca5a2387", + "msg" : "c96596ebba6f89761b9d14dfcc8fb4", + "tag" : "2fc3ce831f693912d33f3fde", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 195, + "comment" : "truncated mac", + "key" : "319cd78b51a689a66b232005d66ad1962d11e52faf6aaad4ce7dc30777cd9ecc", + "msg" : "82ce94904b110635a8604c4f7afc786b", + "tag" : "a7685d0f2049015e6f3229ee", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 196, + "comment" : "truncated mac", + "key" : "b3b7c2c6d3d80918218afcd8bf2a71cf0220e2e8084ead8ba1abfb893ae36d40", + "msg" : "dbcf98254157727c35f367fe6e15a2d089", + "tag" : "09a60999f8848d19be5242c8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 197, + "comment" : "truncated mac", + "key" : "8588a6f1fb8ccc0fed3fdb3f8a39d389fb9260748f3b45bd74ad42a60c9caf2b", + "msg" : "020cc9dd7f06f514bd3baf939f376b8b0083ff1b35ac90d0", + "tag" : "50649ef2b87c22d2731ace23", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 198, + "comment" : "empty message", + "key" : "7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97", + "msg" : "", + "tag" : "736c7b56957db774c5ddf7c7a70ba8a8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 199, + "comment" : "full length mac", + "key" : "e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc", + "msg" : "40", + "tag" : "9d47482c2d9252bace43a75a8335b8b8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 200, + "comment" : "full length mac", + "key" : "505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5", + "msg" : "2e4e7ef728fe11af", + "tag" : "f79606b83a7706a2a19e068bce818898", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 201, + "comment" : "full length mac", + "key" : "c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa", + "msg" : "5d066a92c300e9b6ddd63a7c13ae33", + "tag" : "b96818b7acaf879c7a7f8271375a6914", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 202, + "comment" : "full length mac", + "key" : "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd", + "msg" : "cc37fae15f745a2f40e2c8b192f2b38d", + "tag" : "4b88e193000c5a4b23e95c7f2b26530b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 203, + "comment" : "full length mac", + "key" : "73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7", + "msg" : "d5247b8f6c3edcbfb1d591d13ece23d2f5", + "tag" : "86911c7da51dc0823d6e93d4290d1ad4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 204, + "comment" : "full length mac", + "key" : "0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5", + "msg" : "13937f8544f44270d01175a011f7670e93fa6ba7ef02336e", + "tag" : "ccb2c51bfbe2598f9109fc70ed07f0eb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 205, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6af0a293d8cba0101f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 206, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d709717c3a4ef8a2ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 207, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "58ee3f3b5f83e290cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 208, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "69f0a293d8cba0101f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 209, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d409717c3a4ef8a2ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 210, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "5bee3f3b5f83e290cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 211, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "ebf0a293d8cba0101f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 212, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "5609717c3a4ef8a2ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 213, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d9ee3f3b5f83e290cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 214, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf1a293d8cba0101f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 215, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d608717c3a4ef8a2ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 216, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ef3f3b5f83e290cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 217, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a213d8cba0101f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 218, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d60971fc3a4ef8a2ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 219, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3fbb5f83e290cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 220, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d9cba0101f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 221, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3b4ef8a2ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 222, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5e83e290cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 223, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293dacba0101f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 224, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c384ef8a2ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 225, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5d83e290cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 226, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0901f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 227, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef822ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 228, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e210cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 229, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101e0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 230, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2eb200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 231, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cbe26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 232, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0109f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 233, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a26a200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 234, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e2904ae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 235, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f2089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 236, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea000b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 237, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cac26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 238, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f0088727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 239, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200a297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 240, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26cad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 241, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f0089727791b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 242, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200b297c2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 243, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26dad28bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 244, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f0089727491b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 245, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200b297f2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 246, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26dad2bbba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 247, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f008972f691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 248, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200b29fd2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 249, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26dada9bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 250, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f0089727691b7fa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 251, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200b297d2acced", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 252, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26dad29bba32c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 253, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f0089727691b7f9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 254, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200b297d2accee", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 255, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26dad29bba32f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 256, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f0089727691b7bb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 257, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200b297d2accac", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 258, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26dad29bba36d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 259, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0101f0089727691b77b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 260, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef8a2ea200b297d2acc6c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 261, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e290cae26dad29bba3ad", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 262, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6af0a293d8cba0101e0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 263, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d709717c3a4ef8a2eb200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 264, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "58ee3f3b5f83e290cbe26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 265, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a213d8cba0901f0089727691b7fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 266, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d60971fc3a4ef822ea200b297d2accec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 267, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3fbb5f83e210cae26dad29bba32d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 268, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6bf0a293d8cba0901f0089727691b77b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 269, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d609717c3a4ef822ea200b297d2acc6c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 270, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "59ee3f3b5f83e210cae26dad29bba3ad", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 271, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "940f5d6c27345fefe0ff768d896e4804", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 272, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "29f68e83c5b1075d15dff4d682d53313", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 273, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a611c0c4a07c1d6f351d9252d6445cd2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 274, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 275, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 276, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 277, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 278, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 279, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 280, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "eb702213584b20909f8009f2f611377b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 281, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "5689f1fcbace78226aa08ba9fdaa4c6c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 282, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d96ebfbbdf0362104a62ed2da93b23ad", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 283, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "6af1a392d9caa1111e0188737790b6fa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 284, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "0001020304050607", + "tag" : "d708707d3b4ff9a3eb210a287c2bcded", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 285, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "58ef3e3a5e82e391cbe36cac28baa22c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 0, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 286, + "comment" : "invalid key size", + "key" : "", + "msg" : "00b9449326d39416", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 8, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 287, + "comment" : "invalid key size", + "key" : "0f", + "msg" : "4538b79a1397e2aa", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 64, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 288, + "comment" : "invalid key size", + "key" : "a88e385af7185148", + "msg" : "dc63b7ef08096e4f", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 160, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 289, + "comment" : "invalid key size", + "key" : "003a228008d390b645929df73a2b2bdd8298918d", + "msg" : "ad1d3c3122ab7ac6", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 320, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 290, + "comment" : "invalid key size", + "key" : "94baaac150e2645ae1ec1939c7bcefb73f6edb146fae02289b6c6326ff39bc265d612bef2727fa72", + "msg" : "e3f75a886c4a5591", + "tag" : "", + "result" : "invalid", + "flags" : [] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/IO/__init__.py b/lib27/site-packages/Crypto/SelfTest/IO/__init__.py new file mode 100644 index 000000000..c04a2a780 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/IO/__init__.py @@ -0,0 +1,47 @@ +# +# SelfTest/IO/__init__.py: Self-test for input/output module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test for I/O""" + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.IO import test_PKCS8; tests += test_PKCS8.get_tests(config=config) + from Crypto.SelfTest.IO import test_PBES; tests += test_PBES.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + + diff --git a/lib27/site-packages/Crypto/SelfTest/IO/test_PBES.py b/lib27/site-packages/Crypto/SelfTest/IO/test_PBES.py new file mode 100644 index 000000000..b2a4f94ac --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/IO/test_PBES.py @@ -0,0 +1,93 @@ +# +# SelfTest/IO/test_PBES.py: Self-test for the _PBES module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-tests for Crypto.IO._PBES module""" + +import unittest +from Crypto.Util.py3compat import * + +from Crypto.IO._PBES import PBES2 + + +class TestPBES2(unittest.TestCase): + + def setUp(self): + self.ref = b("Test data") + self.passphrase = b("Passphrase") + + def test1(self): + ct = PBES2.encrypt(self.ref, self.passphrase, + 'PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC') + pt = PBES2.decrypt(ct, self.passphrase) + self.assertEqual(self.ref, pt) + + def test2(self): + ct = PBES2.encrypt(self.ref, self.passphrase, + 'PBKDF2WithHMAC-SHA1AndAES128-CBC') + pt = PBES2.decrypt(ct, self.passphrase) + self.assertEqual(self.ref, pt) + + def test3(self): + ct = PBES2.encrypt(self.ref, self.passphrase, + 'PBKDF2WithHMAC-SHA1AndAES192-CBC') + pt = PBES2.decrypt(ct, self.passphrase) + self.assertEqual(self.ref, pt) + + def test4(self): + ct = PBES2.encrypt(self.ref, self.passphrase, + 'scryptAndAES128-CBC') + pt = PBES2.decrypt(ct, self.passphrase) + self.assertEqual(self.ref, pt) + + def test5(self): + ct = PBES2.encrypt(self.ref, self.passphrase, + 'scryptAndAES192-CBC') + pt = PBES2.decrypt(ct, self.passphrase) + self.assertEqual(self.ref, pt) + + def test6(self): + ct = PBES2.encrypt(self.ref, self.passphrase, + 'scryptAndAES256-CBC') + pt = PBES2.decrypt(ct, self.passphrase) + self.assertEqual(self.ref, pt) + + +def get_tests(config={}): + from Crypto.SelfTest.st_common import list_test_cases + listTests = [] + listTests += list_test_cases(TestPBES2) + return listTests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/IO/test_PKCS8.py b/lib27/site-packages/Crypto/SelfTest/IO/test_PKCS8.py new file mode 100644 index 000000000..49f4b8af1 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/IO/test_PKCS8.py @@ -0,0 +1,423 @@ +# +# SelfTest/IO/test_PKCS8.py: Self-test for the PKCS8 module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-tests for Crypto.IO.PKCS8 module""" + +import unittest +from binascii import unhexlify + +from Crypto.Util.py3compat import * +from Crypto.IO import PKCS8 + +oid_key = '1.2.840.113549.1.1.1' + +# Original RSA key (in DER format) +# hexdump -v -e '32/1 "%02x" "\n"' key.der +clear_key=""" +308201ab020100025a00b94a7f7075ab9e79e8196f47be707781e80dd965cf16 +0c951a870b71783b6aaabbd550c0e65e5a3dfe15b8620009f6d7e5efec42a3f0 +6fe20faeebb0c356e79cdec6db4dd427e82d8ae4a5b90996227b8ba54ccfc4d2 +5c08050203010001025a00afa09c70d528299b7552fe766b5d20f9a221d66938 +c3b68371d48515359863ff96f0978d700e08cd6fd3d8a3f97066fc2e0d5f78eb +3a50b8e17ba297b24d1b8e9cdfd18d608668198d724ad15863ef0329195dee89 +3f039395022d0ebe0518df702a8b25954301ec60a97efdcec8eaa4f2e76ca7e8 +8dfbc3f7e0bb83f9a0e8dc47c0f8c746e9df6b022d0c9195de13f09b7be1fdd7 +1f56ae7d973e08bd9fd2c3dfd8936bb05be9cc67bd32d663c7f00d70932a0be3 +c24f022d0ac334eb6cabf1933633db007b763227b0d9971a9ea36aca8b669ec9 +4fcf16352f6b3dcae28e4bd6137db4ddd3022d0400a09f15ee7b351a2481cb03 +09920905c236d09c87afd3022f3afc2a19e3b746672b635238956ee7e6dd62d5 +022d0cd88ed14fcfbda5bbf0257f700147137bbab9c797af7df866704b889aa3 +7e2e93df3ff1a0fd3490111dcdbc4c +""" + +# Same key as above, wrapped in PKCS#8 but w/o password +# +# openssl pkcs8 -topk8 -inform DER -nocrypt -in key.der -outform DER -out keyp8.der +# hexdump -v -e '32/1 "%02x" "\n"' keyp8.der +wrapped_clear_key=""" +308201c5020100300d06092a864886f70d0101010500048201af308201ab0201 +00025a00b94a7f7075ab9e79e8196f47be707781e80dd965cf160c951a870b71 +783b6aaabbd550c0e65e5a3dfe15b8620009f6d7e5efec42a3f06fe20faeebb0 +c356e79cdec6db4dd427e82d8ae4a5b90996227b8ba54ccfc4d25c0805020301 +0001025a00afa09c70d528299b7552fe766b5d20f9a221d66938c3b68371d485 +15359863ff96f0978d700e08cd6fd3d8a3f97066fc2e0d5f78eb3a50b8e17ba2 +97b24d1b8e9cdfd18d608668198d724ad15863ef0329195dee893f039395022d +0ebe0518df702a8b25954301ec60a97efdcec8eaa4f2e76ca7e88dfbc3f7e0bb +83f9a0e8dc47c0f8c746e9df6b022d0c9195de13f09b7be1fdd71f56ae7d973e +08bd9fd2c3dfd8936bb05be9cc67bd32d663c7f00d70932a0be3c24f022d0ac3 +34eb6cabf1933633db007b763227b0d9971a9ea36aca8b669ec94fcf16352f6b +3dcae28e4bd6137db4ddd3022d0400a09f15ee7b351a2481cb0309920905c236 +d09c87afd3022f3afc2a19e3b746672b635238956ee7e6dd62d5022d0cd88ed1 +4fcfbda5bbf0257f700147137bbab9c797af7df866704b889aa37e2e93df3ff1 +a0fd3490111dcdbc4c +""" + +### +# +# The key above will now be encrypted with different algorithms. +# The password is always 'TestTest'. +# +# Each item in the wrapped_enc_keys list contains: +# * wrap algorithm +# * iteration count +# * Salt +# * IV +# * Expected result +### +wrapped_enc_keys = [] + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der -outform DER -out keyenc.der -v2 des3 +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC', +2048, +"47EA7227D8B22E2F", # IV +"E3F7A838AB911A4D", # Salt +""" +30820216304006092a864886f70d01050d3033301b06092a864886f70d01050c +300e0408e3f7a838ab911a4d02020800301406082a864886f70d0307040847ea +7227d8b22e2f048201d0ea388b374d2d0e4ceb7a5139f850fdff274884a6e6c0 +64326e09d00dbba9018834edb5a51a6ae3d1806e6e91eebf33788ce71fee0637 +a2ebf58859dd32afc644110c390274a6128b50c39b8d907823810ec471bada86 +6f5b75d8ea04ad310fad2e73621696db8e426cd511ee93ec1714a1a7db45e036 +4bf20d178d1f16bbb250b32c2d200093169d588de65f7d99aad9ddd0104b44f1 +326962e1520dfac3c2a800e8a14f678dff2b3d0bb23f69da635bf2a643ac934e +219a447d2f4460b67149e860e54f365da130763deefa649c72b0dcd48966a2d3 +4a477444782e3e66df5a582b07bbb19778a79bd355074ce331f4a82eb966b0c4 +52a09eab6116f2722064d314ae433b3d6e81d2436e93fdf446112663cde93b87 +9c8be44beb45f18e2c78fee9b016033f01ecda51b9b142091fa69f65ab784d2c +5ad8d34be6f7f1464adfc1e0ef3f7848f40d3bdea4412758f2fcb655c93d8f4d +f6fa48fc5aa4b75dd1c017ab79ac9d737233a6d668f5364ccf47786debd37334 +9c10c9e6efbe78430a61f71c89948aa32cdc3cc7338cf994147819ce7ab23450 +c8f7d9b94c3bb377d17a3fa204b601526317824b142ff6bc843fa7815ece89c0 +839573f234dac8d80cc571a045353d61db904a4398d8ef3df5ac +""" +)) + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der -outform DER -out keyenc.der +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'skip encryption', # pbeWithMD5AndDES-CBC, only decoding is supported +-1, +"", +"", +""" +308201f1301b06092a864886f70d010503300e0408f9b990c89af1d41b020208 +00048201d0c6267fe8592903891933d559e71a7ca68b2e39150f19daca0f7921 +52f97e249d72f670d5140e9150433310ed7c7ee51927693fd39884cb9551cea5 +a7b746f7edf199f8787d4787a35dad930d7db057b2118851211b645ac8b90fa6 +b0e7d49ac8567cbd5fff226e87aa9129a0f52c45e9307752e8575c3b0ff756b7 +31fda6942d15ecb6b27ea19370ccc79773f47891e80d22b440d81259c4c28eac +e0ca839524116bcf52d8c566e49a95ddb0e5493437279a770a39fd333f3fca91 +55884fad0ba5aaf273121f893059d37dd417da7dcfd0d6fa7494968f13b2cc95 +65633f2c891340193e5ec00e4ee0b0e90b3b93da362a4906360845771ade1754 +9df79140be5993f3424c012598eadd3e7c7c0b4db2c72cf103d7943a5cf61420 +93370b9702386c3dd4eb0a47f34b579624a46a108b2d13921fa1b367495fe345 +6aa128aa70f8ca80ae13eb301e96c380724ce67c54380bbea2316c1faf4d058e +b4ca2e23442047606b9bc4b3bf65b432cb271bea4eb35dd3eb360d3be8612a87 +a50e96a2264490aeabdc07c6e78e5dbf4fe3388726d0e2a228346bf3c2907d68 +2a6276b22ae883fb30fa611f4e4193e7a08480fcd7db48308bacbd72bf4807aa +11fd394859f97d22982f7fe890b2e2a0f7e7ffb693 +""" +)) + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der +# -outform DER -out keyenc.der -v1 PBE-SHA1-RC2-64 +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'skip encryption', # pbeWithSHA1AndRC2-CBC, only decoding is supported +-1, +"", +"", +""" +308201f1301b06092a864886f70d01050b300e04083ee943bdae185008020208 +00048201d0e4614d9371d3ff10ceabc2f6a7a13a0f449f9a714144e46518ea55 +e3e6f0cde24031d01ef1f37ec40081449ef01914faf45983dde0d2bc496712de +8dd15a5527dff4721d9016c13f34fb93e3ce68577e30146266d71b539f854e56 +753a192cf126ed4812734d86f81884374f1100772f78d0646e9946407637c565 +d070acab413c55952f7237437f2e48cae7fa0ff8d370de2bf446dd08049a3663 +d9c813ac197468c02e2b687e7ca994cf7f03f01b6eca87dbfed94502c2094157 +ea39f73fe4e591df1a68b04d19d9adab90bb9898467c1464ad20bf2b8fb9a5ff +d3ec91847d1c67fd768a4b9cfb46572eccc83806601372b6fad0243f58f623b7 +1c5809dea0feb8278fe27e5560eed8448dc93f5612f546e5dd7c5f6404365eb2 +5bf3396814367ae8b15c5c432b57eaed1f882c05c7f6517ee9e42b87b7b8d071 +9d6125d1b52f7b2cca1f6bd5f584334bf90bce1a7d938274cafe27b68e629698 +b16e27ae528db28593af9adcfccbebb3b9e1f2af5cd5531b51968389caa6c091 +e7de1f1b96f0d258e54e540d961a7c0ef51fda45d6da5fddd33e9bbfd3a5f8d7 +d7ab2e971de495cddbc86d38444fee9f0ac097b00adaf7802dabe0cff5b43b45 +4f26b7b547016f89be52676866189911c53e2f2477""" +)) + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der +# -outform DER -out keyenc.der -v1 PBE-MD5-RC2-64 +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'skip encryption', # pbeWithMD5AndRC2-CBC, only decoding is supported +-1, +"", +"", +""" +308201f1301b06092a864886f70d010506300e0408f5cd2fee56d9b4b8020208 +00048201d086454942d6166a19d6b108465bd111e7080911f573d54b1369c676 +df28600e84936bfec04f91023ff16499e2e07178c340904f12ffa6886ab66228 +32bf43c2bff5a0ed14e765918cf5fc543ad49566246f7eb3fc044fa5a9c25f40 +8fc8c8296b91658d3bb1067c0aba008c4fefd9e2bcdbbbd63fdc8085482bccf4 +f150cec9a084259ad441a017e5d81a1034ef2484696a7a50863836d0eeda45cd +8cee8ecabfed703f8d9d4bbdf3a767d32a0ccdc38550ee2928d7fe3fa27eda5b +5c7899e75ad55d076d2c2d3c37d6da3d95236081f9671dab9a99afdb1cbc890e +332d1a91105d9a8ce08b6027aa07367bd1daec3059cb51f5d896124da16971e4 +0ca4bcadb06c854bdf39f42dd24174011414e51626d198775eff3449a982df7b +ace874e77e045eb6d7c3faef0750792b29a068a6291f7275df1123fac5789c51 +27ace42836d81633faf9daf38f6787fff0394ea484bbcd465b57d4dbee3cf8df +b77d1db287b3a6264c466805be5a4fe85cfbca180699859280f2dd8e2c2c10b5 +7a7d2ac670c6039d41952fbb0e4f99b560ebe1d020e1b96d02403283819c00cc +529c51f0b0101555e4c58002ba3c6e3c12e3fde1aec94382792e96d9666a2b33 +3dc397b22ecab67ee38a552fec29a1d4ff8719c748""" +)) + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der +# -outform DER -out keyenc.der -v1 PBE-SHA1-DES +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'skip encryption', # pbeWithSHA1AndDES-CBC, only decoding is supported +-1, +"", +"", +""" +308201f1301b06092a864886f70d01050a300e04089bacc9cf1e8f734e020208 +00048201d03e502f3ceafe8fd19ab2939576bfdded26d719b2441db1459688f5 +9673218b41ec1f739edf1e460bd927bc28470c87b2d4fc8ea02ba17b47a63c49 +c5c1bee40529dadfd3ef8b4472c730bc136678c78abfb34670ec9d7dcd17ee3f +892f93f2629e6e0f4b24ecb9f954069bf722f466dece3913bb6abbd2c471d9a5 +c5eea89b14aaccda43d30b0dd0f6eb6e9850d9747aa8aa8414c383ad01c374ee +26d3552abec9ba22669cc9622ccf2921e3d0c8ecd1a70e861956de0bec6104b5 +b649ac994970c83f8a9e84b14a7dff7843d4ca3dd4af87cea43b5657e15ae0b5 +a940ce5047f006ab3596506600724764f23757205fe374fee04911336d655acc +03e159ec27789191d1517c4f3f9122f5242d44d25eab8f0658cafb928566ca0e +8f6589aa0c0ab13ca7a618008ae3eafd4671ee8fe0b562e70b3623b0e2a16eee +97fd388087d2e03530c9fe7db6e52eccc7c48fd701ede35e08922861a9508d12 +bc8bbf24f0c6bee6e63dbcb489b603d4c4a78ce45bf2eab1d5d10456c42a65a8 +3a606f4e4b9b46eb13b57f2624b651859d3d2d5192b45dbd5a2ead14ff20ca76 +48f321309aa56d8c0c4a192b580821cc6c70c75e6f19d1c5414da898ec4dd39d +b0eb93d6ba387a80702dfd2db610757ba340f63230 +""" +)) + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der +# -outform DER -out keyenc.der -v2 aes128 +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'PBKDF2WithHMAC-SHA1AndAES128-CBC', +2048, +"4F66EE5D3BCD531FE6EBF4B4E73016B8", # IV +"479F25156176C53A", # Salt +""" +3082021f304906092a864886f70d01050d303c301b06092a864886f70d01050c +300e0408479f25156176c53a02020800301d060960864801650304010204104f +66ee5d3bcd531fe6ebf4b4e73016b8048201d0e33cfa560423f589d097d21533 +3b880a5ebac5b2ac58b4e73b0d787aee7764f034fe34ca1d1bd845c0a7c3316f +afbfb2129e03dcaf5a5031394206492828dacef1e04639bee5935e0f46114202 +10bc6c37182f4889be11c5d0486c398f4be952e5740f65de9d8edeb275e2b406 +e19bc29ad5ebb97fa536344fc3d84c7e755696f12b810898de4e6f069b8a81c8 +0aab0d45d7d062303aaa4a10c2ce84fdb5a03114039cfe138e38bb15b2ced717 +93549cdad85e730b14d9e2198b663dfdc8d04a4349eb3de59b076ad40b116d4a +25ed917c576bc7c883c95ef0f1180e28fc9981bea069594c309f1aa1b253ceab +a2f0313bb1372bcb51a745056be93d77a1f235a762a45e8856512d436b2ca0f7 +dd60fbed394ba28978d2a2b984b028529d0a58d93aba46c6bbd4ac1e4013cbaa +63b00988bc5f11ccc40141c346762d2b28f64435d4be98ec17c1884985e3807e +e550db606600993efccf6de0dfc2d2d70b5336a3b018fa415d6bdd59f5777118 +16806b7bc17c4c7e20ad7176ebfa5a1aa3f6bc10f04b77afd443944642ac9cca +d740e082b4a3bbb8bafdd34a0b3c5f2f3c2aceccccdccd092b78994b845bfa61 +706c3b9df5165ed1dbcbf1244fe41fc9bf993f52f7658e2f87e1baaeacb0f562 +9d905c +""" +)) + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der +# -outform DER -out keyenc.der -v2 aes192 +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'PBKDF2WithHMAC-SHA1AndAES192-CBC', +2048, +"5CFC2A4FF7B63201A4A8A5B021148186", # IV +"D718541C264944CE", # Salt +""" +3082021f304906092a864886f70d01050d303c301b06092a864886f70d01050c +300e0408d718541c264944ce02020800301d060960864801650304011604105c +fc2a4ff7b63201a4a8a5b021148186048201d08e74aaa21b8bcfb15b9790fe95 +b0e09ddb0f189b6fb1682fdb9f122b804650ddec3c67a1df093a828b3e5fbcc6 +286abbcc5354c482fd796d972e919ca8a5eba1eaa2293af1d648013ddad72106 +75622264dfba55dafdda39e338f058f1bdb9846041ffff803797d3fdf3693135 +8a192729ea8346a7e5e58e925a2e2e4af0818581859e8215d87370eb4194a5ff +bae900857d4c591dbc651a241865a817eaede9987c9f9ae4f95c0bf930eea88c +4d7596e535ffb7ca369988aba75027a96b9d0bc9c8b0b75f359067fd145a378b +02aaa15e9db7a23176224da48a83249005460cc6e429168657f2efa8b1af7537 +d7d7042f2d683e8271b21d591090963eeb57aea6172f88da139e1614d6a7d1a2 +1002d5a7a93d6d21156e2b4777f6fc069287a85a1538c46b7722ccde591ab55c +630e1ceeb1ac42d1b41f3f654e9da86b5efced43775ea68b2594e50e4005e052 +0fe753c0898120c2c07265367ff157f6538a1e4080d6f9d1ca9eb51939c9574e +f2e4e1e87c1434affd5808563cddd376776dbbf790c6a40028f311a8b58dafa2 +0970ed34acd6e3e89d063987893b2b9570ddb8cc032b05a723bba9444933ebf3 +c624204be72f4190e0245197d0cb772bec933fd8442445f9a28bd042d5a3a1e9 +9a8a07 +""" +)) + +# +# openssl pkcs8 -topk8 -passin pass:TestTest -inform DER -in key.der +# -outform DER -out keyenc.der -v2 aes192 +# hexdump -v -e '32/1 "%02x" "\n"' keyenc.der +# +wrapped_enc_keys.append(( +'PBKDF2WithHMAC-SHA1AndAES256-CBC', +2048, +"323351F94462AC563E053A056252C2C4", # IV +"02A6CD0D12E727B5", # Salt +""" +3082021f304906092a864886f70d01050d303c301b06092a864886f70d01050c +300e040802a6cd0d12e727b502020800301d060960864801650304012a041032 +3351f94462ac563e053a056252c2c4048201d07f4ef1c7be21aae738a20c5632 +b8bdbbb9083b6e7f68822267b1f481fd27fdafd61a90660de6e4058790e4c912 +bf3f319a7c37e6eb3d956daaa143865020d554bf6215e8d7492359aaeef45d6e +d85a686ed26c0bf7c18d071d827a86f0b73e1db0c0e7f3d42201544093302a90 +551ad530692468c47ac15c69500b8ca67d4a17b64d15cecc035ae50b768a36cf +07c395afa091e9e6f86f665455fbdc1b21ad79c0908b73da5de75a9b43508d5d +44dc97a870cd3cd9f01ca24452e9b11c1b4982946702cfcbfda5b2fcc0203fb5 +0b52a115760bd635c94d4c95ac2c640ee9a04ffaf6ccff5a8d953dd5d88ca478 +c377811c521f2191639c643d657a9e364af88bb7c14a356c2b0b4870a23c2f54 +d41f8157afff731471dccc6058b15e1151bcf84b39b5e622a3a1d65859c912a5 +591b85e034a1f6af664f030a6bfc8c3d20c70f32b54bcf4da9c2da83cef49cf8 +e9a74f0e5d358fe50b88acdce6a9db9a7ad61536212fc5f877ebfc7957b8bda4 +b1582a0f10d515a20ee06cf768db9c977aa6fbdca7540d611ff953012d009dac +e8abd059f8e8ffea637c9c7721f817aaf0bb23403e26a0ef0ff0e2037da67d41 +af728481f53443551a9bff4cea023164e9622b5441a309e1f4bff98e5bf76677 +8d7cd9 +""" +)) + +def txt2bin(inputs): + s = b('').join([b(x) for x in inputs if not (x in '\n\r\t ')]) + return unhexlify(s) + +class Rng: + def __init__(self, output): + self.output=output + self.idx=0 + def __call__(self, n): + output = self.output[self.idx:self.idx+n] + self.idx += n + return output + +class PKCS8_Decrypt(unittest.TestCase): + + def setUp(self): + self.oid_key = oid_key + self.clear_key = txt2bin(clear_key) + self.wrapped_clear_key = txt2bin(wrapped_clear_key) + self.wrapped_enc_keys = [] + for t in wrapped_enc_keys: + self.wrapped_enc_keys.append(( + t[0], + t[1], + txt2bin(t[2]), + txt2bin(t[3]), + txt2bin(t[4]) + )) + + ### NO ENCRYTION + + def test1(self): + """Verify unwrapping w/o encryption""" + res1, res2, res3 = PKCS8.unwrap(self.wrapped_clear_key) + self.assertEqual(res1, self.oid_key) + self.assertEqual(res2, self.clear_key) + + def test2(self): + """Verify wrapping w/o encryption""" + wrapped = PKCS8.wrap(self.clear_key, self.oid_key) + res1, res2, res3 = PKCS8.unwrap(wrapped) + self.assertEqual(res1, self.oid_key) + self.assertEqual(res2, self.clear_key) + + ## ENCRYPTION + + def test3(self): + """Verify unwrapping with encryption""" + + for t in self.wrapped_enc_keys: + res1, res2, res3 = PKCS8.unwrap(t[4], b("TestTest")) + self.assertEqual(res1, self.oid_key) + self.assertEqual(res2, self.clear_key) + + def test4(self): + """Verify wrapping with encryption""" + + for t in self.wrapped_enc_keys: + if t[0] == 'skip encryption': + continue + rng = Rng(t[2]+t[3]) + params = { 'iteration_count':t[1] } + wrapped = PKCS8.wrap( + self.clear_key, + self.oid_key, + b("TestTest"), + protection=t[0], + prot_params=params, + key_params=None, + randfunc=rng) + self.assertEqual(wrapped, t[4]) + +def get_tests(config={}): + from Crypto.SelfTest.st_common import list_test_cases + listTests = [] + listTests += list_test_cases(PKCS8_Decrypt) + return listTests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + diff --git a/lib27/site-packages/Crypto/SelfTest/Math/__init__.py b/lib27/site-packages/Crypto/SelfTest/Math/__init__.py new file mode 100644 index 000000000..18e83d103 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Math/__init__.py @@ -0,0 +1,49 @@ +# +# SelfTest/Math/__init__.py: Self-test for math module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test for Math""" + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.Math import test_Numbers + from Crypto.SelfTest.Math import test_Primality + from Crypto.SelfTest.Math import test_modexp + tests += test_Numbers.get_tests(config=config) + tests += test_Primality.get_tests(config=config) + tests += test_modexp.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Math/test_Numbers.py b/lib27/site-packages/Crypto/SelfTest/Math/test_Numbers.py new file mode 100644 index 000000000..29a1bb129 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Math/test_Numbers.py @@ -0,0 +1,771 @@ +# +# SelfTest/Math/test_Numbers.py: Self-test for Numbers module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test for Math.Numbers""" + +import unittest + +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Util.py3compat import * + +from Crypto.Math._IntegerNative import IntegerNative + + +class TestIntegerBase(unittest.TestCase): + + def setUp(self): + pass + + def Integers(self, *arg): + return map(self.Integer, arg) + + def test_init_and_equality(self): + Integer = self.Integer + + v1 = Integer(23) + v2 = Integer(v1) + v3 = Integer(-9) + self.assertRaises(ValueError, Integer, 1.0) + + v4 = Integer(10**10) + v5 = Integer(-10**10) + self.assertEqual(v1, v1) + self.assertEqual(v1, 23) + self.assertEqual(v1, v2) + self.assertEqual(v3, -9) + self.assertEqual(v4, 10 ** 10) + self.assertEqual(v5, -10 ** 10) + + self.failIf(v1 == v4) + + # Init and comparison between Integer's + v6 = Integer(v1) + self.assertEqual(v1, v6) + + self.failIf(Integer(0) == None) + + def test_conversion_to_int(self): + v1, v2 = self.Integers(-23, 2 ** 1000) + self.assertEqual(int(v1), -23) + self.assertEqual(int(v2), 2 ** 1000) + + def test_equality_with_ints(self): + v1, v2, v3 = self.Integers(23, -89, 2 ** 1000) + self.failUnless(v1 == 23) + self.failUnless(v2 == -89) + self.failIf(v1 == 24) + self.failUnless(v3 == 2 ** 1000) + + def test_conversion_to_str(self): + v1, v2, v3, v4 = self.Integers(20, 0, -20, 2 ** 1000) + self.failUnless(str(v1) == "20") + self.failUnless(str(v2) == "0") + self.failUnless(str(v3) == "-20") + self.failUnless(str(v4) == "10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376") + + def test_repr(self): + v1, v2 = self.Integers(-1, 2**80) + self.assertEqual(repr(v1), "Integer(-1)") + self.assertEqual(repr(v2), "Integer(1208925819614629174706176)") + + def test_conversion_to_bytes(self): + Integer = self.Integer + + v1 = Integer(0x17) + self.assertEqual(b("\x17"), v1.to_bytes()) + + v2 = Integer(0xFFFF) + self.assertEqual(b("\xFF\xFF"), v2.to_bytes()) + self.assertEqual(b("\x00\xFF\xFF"), v2.to_bytes(3)) + self.assertRaises(ValueError, v2.to_bytes, 1) + + v3 = Integer(-90) + self.assertRaises(ValueError, v3.to_bytes) + + def test_conversion_from_bytes(self): + Integer = self.Integer + + v1 = Integer.from_bytes(b("\x00")) + self.failUnless(isinstance(v1, Integer)) + self.assertEqual(0, v1) + + v2 = Integer.from_bytes(b("\x00\x00")) + self.assertEqual(0, v2) + + v3 = Integer.from_bytes(b("\xFF\xFF")) + self.assertEqual(0xFFFF, v3) + + def test_inequality(self): + # Test Integer!=Integer and Integer!=int + v1, v2, v3, v4 = self.Integers(89, 89, 90, -8) + self.failUnless(v1 != v3) + self.failUnless(v1 != 90) + self.failIf(v1 != v2) + self.failIf(v1 != 89) + self.failUnless(v1 != v4) + self.failUnless(v4 != v1) + self.failUnless(self.Integer(0) != None) + + def test_less_than(self): + # Test IntegerInteger and Integer>int + v1, v2, v3, v4, v5 = self.Integers(13, 13, 14, -8, 2 ** 10) + self.failUnless(v3 > v1) + self.failUnless(v3 > 13) + self.failIf(v1 > v1) + self.failIf(v1 > v2) + self.failIf(v1 > 13) + self.failUnless(v1 > v4) + self.failIf(v4 > v1) + self.failUnless(v5 > v1) + self.failIf(v1 > v5) + + def test_more_than_or_equal(self): + # Test Integer>=Integer and Integer>=int + v1, v2, v3, v4 = self.Integers(13, 13, 14, -4) + self.failUnless(v3 >= v1) + self.failUnless(v3 >= 13) + self.failUnless(v1 >= v2) + self.failUnless(v1 >= v1) + self.failUnless(v1 >= 13) + self.failIf(v4 >= v1) + + def test_bool(self): + v1, v2, v3, v4 = self.Integers(0, 10, -9, 2 ** 10) + self.assertFalse(v1) + self.assertFalse(bool(v1)) + self.failUnless(v2) + self.failUnless(bool(v2)) + self.failUnless(v3) + self.failUnless(v4) + + def test_is_negative(self): + v1, v2, v3, v4, v5 = self.Integers(-3 ** 100, -3, 0, 3, 3**100) + self.failUnless(v1.is_negative()) + self.failUnless(v2.is_negative()) + self.failIf(v4.is_negative()) + self.failIf(v5.is_negative()) + + def test_addition(self): + # Test Integer+Integer and Integer+int + v1, v2, v3 = self.Integers(7, 90, -7) + self.failUnless(isinstance(v1 + v2, self.Integer)) + self.assertEqual(v1 + v2, 97) + self.assertEqual(v1 + 90, 97) + self.assertEqual(v1 + v3, 0) + self.assertEqual(v1 + (-7), 0) + self.assertEqual(v1 + 2 ** 10, 2 ** 10 + 7) + + def test_subtraction(self): + # Test Integer-Integer and Integer-int + v1, v2, v3 = self.Integers(7, 90, -7) + self.failUnless(isinstance(v1 - v2, self.Integer)) + self.assertEqual(v2 - v1, 83) + self.assertEqual(v2 - 7, 83) + self.assertEqual(v2 - v3, 97) + self.assertEqual(v1 - (-7), 14) + self.assertEqual(v1 - 2 ** 10, 7 - 2 ** 10) + + def test_multiplication(self): + # Test Integer-Integer and Integer-int + v1, v2, v3, v4 = self.Integers(4, 5, -2, 2 ** 10) + self.failUnless(isinstance(v1 * v2, self.Integer)) + self.assertEqual(v1 * v2, 20) + self.assertEqual(v1 * 5, 20) + self.assertEqual(v1 * -2, -8) + self.assertEqual(v1 * 2 ** 10, 4 * (2 ** 10)) + + def test_floor_div(self): + v1, v2, v3 = self.Integers(3, 8, 2 ** 80) + self.failUnless(isinstance(v1 // v2, self.Integer)) + self.assertEqual(v2 // v1, 2) + self.assertEqual(v2 // 3, 2) + self.assertEqual(v2 // -3, -3) + self.assertEqual(v3 // 2 ** 79, 2) + self.assertRaises(ZeroDivisionError, lambda: v1 // 0) + + def test_remainder(self): + # Test Integer%Integer and Integer%int + v1, v2, v3 = self.Integers(23, 5, -4) + self.failUnless(isinstance(v1 % v2, self.Integer)) + self.assertEqual(v1 % v2, 3) + self.assertEqual(v1 % 5, 3) + self.assertEqual(v3 % 5, 1) + self.assertEqual(v1 % 2 ** 10, 23) + self.assertRaises(ZeroDivisionError, lambda: v1 % 0) + self.assertRaises(ValueError, lambda: v1 % -6) + + def test_simple_exponentiation(self): + v1, v2, v3 = self.Integers(4, 3, -2) + self.failUnless(isinstance(v1 ** v2, self.Integer)) + self.assertEqual(v1 ** v2, 64) + self.assertEqual(pow(v1, v2), 64) + self.assertEqual(v1 ** 3, 64) + self.assertEqual(pow(v1, 3), 64) + self.assertEqual(v3 ** 2, 4) + self.assertEqual(v3 ** 3, -8) + + self.assertRaises(ValueError, pow, v1, -3) + + def test_modular_exponentiation(self): + v1, v2, v3 = self.Integers(23, 5, 17) + + self.failUnless(isinstance(pow(v1, v2, v3), self.Integer)) + self.assertEqual(pow(v1, v2, v3), 7) + self.assertEqual(pow(v1, 5, v3), 7) + self.assertEqual(pow(v1, v2, 17), 7) + self.assertEqual(pow(v1, 5, 17), 7) + self.assertEqual(pow(v1, 0, 17), 1) + self.assertEqual(pow(v1, 1, 2 ** 80), 23) + self.assertEqual(pow(v1, 2 ** 80, 89298), 17689) + + self.assertRaises(ZeroDivisionError, pow, v1, 5, 0) + self.assertRaises(ValueError, pow, v1, 5, -4) + self.assertRaises(ValueError, pow, v1, -3, 8) + + def test_inplace_exponentiation(self): + v1 = self.Integer(4) + v1.inplace_pow(2) + self.assertEqual(v1, 16) + + v1 = self.Integer(4) + v1.inplace_pow(2, 15) + self.assertEqual(v1, 1) + + def test_abs(self): + v1, v2, v3, v4, v5 = self.Integers(-2 ** 100, -2, 0, 2, 2 ** 100) + self.assertEqual(abs(v1), 2 ** 100) + self.assertEqual(abs(v2), 2) + self.assertEqual(abs(v3), 0) + self.assertEqual(abs(v4), 2) + self.assertEqual(abs(v5), 2 ** 100) + + def test_sqrt(self): + v1, v2, v3, v4 = self.Integers(-2, 0, 49, 10**100) + + self.assertRaises(ValueError, v1.sqrt) + self.assertEqual(v2.sqrt(), 0) + self.assertEqual(v3.sqrt(), 7) + self.assertEqual(v4.sqrt(), 10**50) + + def test_sqrt_module(self): + + # Invalid modulus (non positive) + self.assertRaises(ValueError, self.Integer(5).sqrt, 0) + self.assertRaises(ValueError, self.Integer(5).sqrt, -1) + + # Simple cases + assert self.Integer(0).sqrt(5) == 0 + assert self.Integer(1).sqrt(5) in (1, 4) + + # Test with all quadratic residues in several fields + for p in (11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53): + for i in range(0, p): + square = i**2 % p + res = self.Integer(square).sqrt(p) + assert res in (i, p - i) + + # 2 is a non-quadratic reside in Z_11 + self.assertRaises(ValueError, self.Integer(2).sqrt, 11) + + # 10 is not a prime + self.assertRaises(ValueError, self.Integer(4).sqrt, 10) + + # 5 is square residue of 4 and 7 + assert self.Integer(5 - 11).sqrt(11) in (4, 7) + assert self.Integer(5 + 11).sqrt(11) in (4, 7) + + def test_in_place_add(self): + v1, v2 = self.Integers(10, 20) + + v1 += v2 + self.assertEqual(v1, 30) + v1 += 10 + self.assertEqual(v1, 40) + v1 += -1 + self.assertEqual(v1, 39) + v1 += 2 ** 1000 + self.assertEqual(v1, 39 + 2 ** 1000) + + def test_in_place_sub(self): + v1, v2 = self.Integers(10, 20) + + v1 -= v2 + self.assertEqual(v1, -10) + v1 -= -100 + self.assertEqual(v1, 90) + v1 -= 90000 + self.assertEqual(v1, -89910) + v1 -= -100000 + self.assertEqual(v1, 10090) + + def test_in_place_mul(self): + v1, v2 = self.Integers(3, 5) + + v1 *= v2 + self.assertEqual(v1, 15) + v1 *= 2 + self.assertEqual(v1, 30) + v1 *= -2 + self.assertEqual(v1, -60) + v1 *= 2 ** 1000 + self.assertEqual(v1, -60 * (2 ** 1000)) + + def test_in_place_modulus(self): + v1, v2 = self.Integers(20, 7) + + v1 %= v2 + self.assertEqual(v1, 6) + v1 %= 2 ** 1000 + self.assertEqual(v1, 6) + v1 %= 2 + self.assertEqual(v1, 0) + def t(): + v3 = self.Integer(9) + v3 %= 0 + self.assertRaises(ZeroDivisionError, t) + + def test_and(self): + v1, v2, v3 = self.Integers(0xF4, 0x31, -0xF) + self.failUnless(isinstance(v1 & v2, self.Integer)) + self.assertEqual(v1 & v2, 0x30) + self.assertEqual(v1 & 0x31, 0x30) + self.assertEqual(v1 & v3, 0xF0) + self.assertEqual(v1 & -0xF, 0xF0) + self.assertEqual(v3 & -0xF, -0xF) + self.assertEqual(v2 & (2 ** 1000 + 0x31), 0x31) + + def test_or(self): + v1, v2, v3 = self.Integers(0x40, 0x82, -0xF) + self.failUnless(isinstance(v1 | v2, self.Integer)) + self.assertEqual(v1 | v2, 0xC2) + self.assertEqual(v1 | 0x82, 0xC2) + self.assertEqual(v2 | v3, -0xD) + self.assertEqual(v2 | 2 ** 1000, 2 ** 1000 + 0x82) + + def test_right_shift(self): + v1, v2, v3 = self.Integers(0x10, 1, -0x10) + self.assertEqual(v1 >> 0, v1) + self.failUnless(isinstance(v1 >> v2, self.Integer)) + self.assertEqual(v1 >> v2, 0x08) + self.assertEqual(v1 >> 1, 0x08) + self.assertRaises(ValueError, lambda: v1 >> -1) + self.assertEqual(v1 >> (2 ** 1000), 0) + + self.assertEqual(v3 >> 1, -0x08) + self.assertEqual(v3 >> (2 ** 1000), -1) + + def test_in_place_right_shift(self): + v1, v2, v3 = self.Integers(0x10, 1, -0x10) + v1 >>= 0 + self.assertEqual(v1, 0x10) + v1 >>= 1 + self.assertEqual(v1, 0x08) + v1 >>= v2 + self.assertEqual(v1, 0x04) + v3 >>= 1 + self.assertEqual(v3, -0x08) + def l(): + v4 = self.Integer(0x90) + v4 >>= -1 + self.assertRaises(ValueError, l) + def m1(): + v4 = self.Integer(0x90) + v4 >>= 2 ** 1000 + return v4 + self.assertEqual(0, m1()) + def m2(): + v4 = self.Integer(-1) + v4 >>= 2 ** 1000 + return v4 + self.assertEqual(-1, m2()) + + def _test_left_shift(self): + v1, v2, v3 = self.Integers(0x10, 1, -0x10) + self.assertEqual(v1 << 0, v1) + self.failUnless(isinstance(v1 << v2, self.Integer)) + self.assertEqual(v1 << v2, 0x20) + self.assertEqual(v1 << 1, 0x20) + self.assertEqual(v3 << 1, -0x20) + self.assertRaises(ValueError, lambda: v1 << -1) + self.assertRaises(ValueError, lambda: v1 << (2 ** 1000)) + + def test_in_place_left_shift(self): + v1, v2, v3 = self.Integers(0x10, 1, -0x10) + v1 <<= 0 + self.assertEqual(v1, 0x10) + v1 <<= 1 + self.assertEqual(v1, 0x20) + v1 <<= v2 + self.assertEqual(v1, 0x40) + v3 <<= 1 + self.assertEqual(v3, -0x20) + def l(): + v4 = self.Integer(0x90) + v4 <<= -1 + self.assertRaises(ValueError, l) + def m(): + v4 = self.Integer(0x90) + v4 <<= 2 ** 1000 + self.assertRaises(ValueError, m) + + + def test_get_bit(self): + v1, v2, v3 = self.Integers(0x102, -3, 1) + self.assertEqual(v1.get_bit(0), 0) + self.assertEqual(v1.get_bit(1), 1) + self.assertEqual(v1.get_bit(v3), 1) + self.assertEqual(v1.get_bit(8), 1) + self.assertEqual(v1.get_bit(9), 0) + + self.assertRaises(ValueError, v1.get_bit, -1) + self.assertEqual(v1.get_bit(2 ** 1000), 0) + + self.assertRaises(ValueError, v2.get_bit, -1) + self.assertRaises(ValueError, v2.get_bit, 0) + self.assertRaises(ValueError, v2.get_bit, 1) + self.assertRaises(ValueError, v2.get_bit, 2 * 1000) + + def test_odd_even(self): + v1, v2, v3, v4, v5 = self.Integers(0, 4, 17, -4, -17) + + self.failUnless(v1.is_even()) + self.failUnless(v2.is_even()) + self.failIf(v3.is_even()) + self.failUnless(v4.is_even()) + self.failIf(v5.is_even()) + + self.failIf(v1.is_odd()) + self.failIf(v2.is_odd()) + self.failUnless(v3.is_odd()) + self.failIf(v4.is_odd()) + self.failUnless(v5.is_odd()) + + def test_size_in_bits(self): + v1, v2, v3, v4 = self.Integers(0, 1, 0x100, -90) + self.assertEqual(v1.size_in_bits(), 1) + self.assertEqual(v2.size_in_bits(), 1) + self.assertEqual(v3.size_in_bits(), 9) + self.assertRaises(ValueError, v4.size_in_bits) + + def test_size_in_bytes(self): + v1, v2, v3, v4, v5, v6 = self.Integers(0, 1, 0xFF, 0x1FF, 0x10000, -9) + self.assertEqual(v1.size_in_bytes(), 1) + self.assertEqual(v2.size_in_bytes(), 1) + self.assertEqual(v3.size_in_bytes(), 1) + self.assertEqual(v4.size_in_bytes(), 2) + self.assertEqual(v5.size_in_bytes(), 3) + self.assertRaises(ValueError, v6.size_in_bits) + + def test_perfect_square(self): + + self.failIf(self.Integer(-9).is_perfect_square()) + self.failUnless(self.Integer(0).is_perfect_square()) + self.failUnless(self.Integer(1).is_perfect_square()) + self.failIf(self.Integer(2).is_perfect_square()) + self.failIf(self.Integer(3).is_perfect_square()) + self.failUnless(self.Integer(4).is_perfect_square()) + self.failUnless(self.Integer(39*39).is_perfect_square()) + self.failIf(self.Integer(39*39+1).is_perfect_square()) + + for x in range(100, 1000): + self.failIf(self.Integer(x**2+1).is_perfect_square()) + self.failUnless(self.Integer(x**2).is_perfect_square()) + + def test_fail_if_divisible_by(self): + v1, v2, v3 = self.Integers(12, -12, 4) + + # No failure expected + v1.fail_if_divisible_by(7) + v2.fail_if_divisible_by(7) + v2.fail_if_divisible_by(2 ** 80) + + # Failure expected + self.assertRaises(ValueError, v1.fail_if_divisible_by, 4) + self.assertRaises(ValueError, v1.fail_if_divisible_by, v3) + + def test_multiply_accumulate(self): + v1, v2, v3 = self.Integers(4, 3, 2) + v1.multiply_accumulate(v2, v3) + self.assertEqual(v1, 10) + v1.multiply_accumulate(v2, 2) + self.assertEqual(v1, 16) + v1.multiply_accumulate(3, v3) + self.assertEqual(v1, 22) + v1.multiply_accumulate(1, -2) + self.assertEqual(v1, 20) + v1.multiply_accumulate(-2, 1) + self.assertEqual(v1, 18) + v1.multiply_accumulate(1, 2 ** 1000) + self.assertEqual(v1, 18 + 2 ** 1000) + v1.multiply_accumulate(2 ** 1000, 1) + self.assertEqual(v1, 18 + 2 ** 1001) + + def test_set(self): + v1, v2 = self.Integers(3, 6) + v1.set(v2) + self.assertEqual(v1, 6) + v1.set(9) + self.assertEqual(v1, 9) + v1.set(-2) + self.assertEqual(v1, -2) + v1.set(2 ** 1000) + self.assertEqual(v1, 2 ** 1000) + + def test_inverse(self): + v1, v2, v3, v4, v5, v6 = self.Integers(2, 5, -3, 0, 723872, 3433) + + self.failUnless(isinstance(v1.inverse(v2), self.Integer)) + self.assertEqual(v1.inverse(v2), 3) + self.assertEqual(v1.inverse(5), 3) + self.assertEqual(v3.inverse(5), 3) + self.assertEqual(v5.inverse(92929921), 58610507) + self.assertEqual(v6.inverse(9912), 5353) + + self.assertRaises(ValueError, v2.inverse, 10) + self.assertRaises(ValueError, v1.inverse, -3) + self.assertRaises(ValueError, v4.inverse, 10) + self.assertRaises(ZeroDivisionError, v2.inverse, 0) + + def test_inplace_inverse(self): + v1, v2 = self.Integers(2, 5) + + v1.inplace_inverse(v2) + self.assertEqual(v1, 3) + + def test_gcd(self): + v1, v2, v3, v4 = self.Integers(6, 10, 17, -2) + self.failUnless(isinstance(v1.gcd(v2), self.Integer)) + self.assertEqual(v1.gcd(v2), 2) + self.assertEqual(v1.gcd(10), 2) + self.assertEqual(v1.gcd(v3), 1) + self.assertEqual(v1.gcd(-2), 2) + self.assertEqual(v4.gcd(6), 2) + + def test_lcm(self): + v1, v2, v3, v4, v5 = self.Integers(6, 10, 17, -2, 0) + self.failUnless(isinstance(v1.lcm(v2), self.Integer)) + self.assertEqual(v1.lcm(v2), 30) + self.assertEqual(v1.lcm(10), 30) + self.assertEqual(v1.lcm(v3), 102) + self.assertEqual(v1.lcm(-2), 6) + self.assertEqual(v4.lcm(6), 6) + self.assertEqual(v1.lcm(0), 0) + self.assertEqual(v5.lcm(0), 0) + + def test_jacobi_symbol(self): + + data = ( + (1001, 1, 1), + (19, 45, 1), + (8, 21, -1), + (5, 21, 1), + (610, 987, -1), + (1001, 9907, -1), + (5, 3439601197, -1) + ) + + js = self.Integer.jacobi_symbol + + # Jacobi symbol is always 1 for k==1 or n==1 + for k in range(1, 30): + self.assertEqual(js(k, 1), 1) + for n in range(1, 30, 2): + self.assertEqual(js(1, n), 1) + + # Fail if n is not positive odd + self.assertRaises(ValueError, js, 6, -2) + self.assertRaises(ValueError, js, 6, -1) + self.assertRaises(ValueError, js, 6, 0) + self.assertRaises(ValueError, js, 0, 0) + self.assertRaises(ValueError, js, 6, 2) + self.assertRaises(ValueError, js, 6, 4) + self.assertRaises(ValueError, js, 6, 6) + self.assertRaises(ValueError, js, 6, 8) + + for tv in data: + self.assertEqual(js(tv[0], tv[1]), tv[2]) + self.assertEqual(js(self.Integer(tv[0]), tv[1]), tv[2]) + self.assertEqual(js(tv[0], self.Integer(tv[1])), tv[2]) + + def test_jacobi_symbol_wikipedia(self): + + # Test vectors from https://en.wikipedia.org/wiki/Jacobi_symbol + tv = [ + (3, [(1, 1), (2, -1), (3, 0), (4, 1), (5, -1), (6, 0), (7, 1), (8, -1), (9, 0), (10, 1), (11, -1), (12, 0), (13, 1), (14, -1), (15, 0), (16, 1), (17, -1), (18, 0), (19, 1), (20, -1), (21, 0), (22, 1), (23, -1), (24, 0), (25, 1), (26, -1), (27, 0), (28, 1), (29, -1), (30, 0)]), + (5, [(1, 1), (2, -1), (3, -1), (4, 1), (5, 0), (6, 1), (7, -1), (8, -1), (9, 1), (10, 0), (11, 1), (12, -1), (13, -1), (14, 1), (15, 0), (16, 1), (17, -1), (18, -1), (19, 1), (20, 0), (21, 1), (22, -1), (23, -1), (24, 1), (25, 0), (26, 1), (27, -1), (28, -1), (29, 1), (30, 0)]), + (7, [(1, 1), (2, 1), (3, -1), (4, 1), (5, -1), (6, -1), (7, 0), (8, 1), (9, 1), (10, -1), (11, 1), (12, -1), (13, -1), (14, 0), (15, 1), (16, 1), (17, -1), (18, 1), (19, -1), (20, -1), (21, 0), (22, 1), (23, 1), (24, -1), (25, 1), (26, -1), (27, -1), (28, 0), (29, 1), (30, 1)]), + (9, [(1, 1), (2, 1), (3, 0), (4, 1), (5, 1), (6, 0), (7, 1), (8, 1), (9, 0), (10, 1), (11, 1), (12, 0), (13, 1), (14, 1), (15, 0), (16, 1), (17, 1), (18, 0), (19, 1), (20, 1), (21, 0), (22, 1), (23, 1), (24, 0), (25, 1), (26, 1), (27, 0), (28, 1), (29, 1), (30, 0)]), + (11, [(1, 1), (2, -1), (3, 1), (4, 1), (5, 1), (6, -1), (7, -1), (8, -1), (9, 1), (10, -1), (11, 0), (12, 1), (13, -1), (14, 1), (15, 1), (16, 1), (17, -1), (18, -1), (19, -1), (20, 1), (21, -1), (22, 0), (23, 1), (24, -1), (25, 1), (26, 1), (27, 1), (28, -1), (29, -1), (30, -1)]), + (13, [(1, 1), (2, -1), (3, 1), (4, 1), (5, -1), (6, -1), (7, -1), (8, -1), (9, 1), (10, 1), (11, -1), (12, 1), (13, 0), (14, 1), (15, -1), (16, 1), (17, 1), (18, -1), (19, -1), (20, -1), (21, -1), (22, 1), (23, 1), (24, -1), (25, 1), (26, 0), (27, 1), (28, -1), (29, 1), (30, 1)]), + (15, [(1, 1), (2, 1), (3, 0), (4, 1), (5, 0), (6, 0), (7, -1), (8, 1), (9, 0), (10, 0), (11, -1), (12, 0), (13, -1), (14, -1), (15, 0), (16, 1), (17, 1), (18, 0), (19, 1), (20, 0), (21, 0), (22, -1), (23, 1), (24, 0), (25, 0), (26, -1), (27, 0), (28, -1), (29, -1), (30, 0)]), + (17, [(1, 1), (2, 1), (3, -1), (4, 1), (5, -1), (6, -1), (7, -1), (8, 1), (9, 1), (10, -1), (11, -1), (12, -1), (13, 1), (14, -1), (15, 1), (16, 1), (17, 0), (18, 1), (19, 1), (20, -1), (21, 1), (22, -1), (23, -1), (24, -1), (25, 1), (26, 1), (27, -1), (28, -1), (29, -1), (30, 1)]), + (19, [(1, 1), (2, -1), (3, -1), (4, 1), (5, 1), (6, 1), (7, 1), (8, -1), (9, 1), (10, -1), (11, 1), (12, -1), (13, -1), (14, -1), (15, -1), (16, 1), (17, 1), (18, -1), (19, 0), (20, 1), (21, -1), (22, -1), (23, 1), (24, 1), (25, 1), (26, 1), (27, -1), (28, 1), (29, -1), (30, 1)]), + (21, [(1, 1), (2, -1), (3, 0), (4, 1), (5, 1), (6, 0), (7, 0), (8, -1), (9, 0), (10, -1), (11, -1), (12, 0), (13, -1), (14, 0), (15, 0), (16, 1), (17, 1), (18, 0), (19, -1), (20, 1), (21, 0), (22, 1), (23, -1), (24, 0), (25, 1), (26, 1), (27, 0), (28, 0), (29, -1), (30, 0)]), + (23, [(1, 1), (2, 1), (3, 1), (4, 1), (5, -1), (6, 1), (7, -1), (8, 1), (9, 1), (10, -1), (11, -1), (12, 1), (13, 1), (14, -1), (15, -1), (16, 1), (17, -1), (18, 1), (19, -1), (20, -1), (21, -1), (22, -1), (23, 0), (24, 1), (25, 1), (26, 1), (27, 1), (28, -1), (29, 1), (30, -1)]), + (25, [(1, 1), (2, 1), (3, 1), (4, 1), (5, 0), (6, 1), (7, 1), (8, 1), (9, 1), (10, 0), (11, 1), (12, 1), (13, 1), (14, 1), (15, 0), (16, 1), (17, 1), (18, 1), (19, 1), (20, 0), (21, 1), (22, 1), (23, 1), (24, 1), (25, 0), (26, 1), (27, 1), (28, 1), (29, 1), (30, 0)]), + (27, [(1, 1), (2, -1), (3, 0), (4, 1), (5, -1), (6, 0), (7, 1), (8, -1), (9, 0), (10, 1), (11, -1), (12, 0), (13, 1), (14, -1), (15, 0), (16, 1), (17, -1), (18, 0), (19, 1), (20, -1), (21, 0), (22, 1), (23, -1), (24, 0), (25, 1), (26, -1), (27, 0), (28, 1), (29, -1), (30, 0)]), + (29, [(1, 1), (2, -1), (3, -1), (4, 1), (5, 1), (6, 1), (7, 1), (8, -1), (9, 1), (10, -1), (11, -1), (12, -1), (13, 1), (14, -1), (15, -1), (16, 1), (17, -1), (18, -1), (19, -1), (20, 1), (21, -1), (22, 1), (23, 1), (24, 1), (25, 1), (26, -1), (27, -1), (28, 1), (29, 0), (30, 1)]), + ] + + js = self.Integer.jacobi_symbol + + for n, kj in tv: + for k, j in kj: + self.assertEqual(js(k, n), j) + + +class TestIntegerInt(TestIntegerBase): + + def setUp(self): + self.Integer = IntegerNative + TestIntegerBase.setUp(self) + + +class testIntegerRandom(unittest.TestCase): + + def test_random_exact_bits(self): + + for _ in range(1000): + a = IntegerNative.random(exact_bits=8) + self.failIf(a < 128) + self.failIf(a >= 256) + + for bits_value in range(1024, 1024 + 8): + a = IntegerNative.random(exact_bits=bits_value) + self.failIf(a < 2**(bits_value - 1)) + self.failIf(a >= 2**bits_value) + + def test_random_max_bits(self): + + flag = False + for _ in range(1000): + a = IntegerNative.random(max_bits=8) + flag = flag or a < 128 + self.failIf(a>=256) + self.failUnless(flag) + + for bits_value in range(1024, 1024 + 8): + a = IntegerNative.random(max_bits=bits_value) + self.failIf(a >= 2**bits_value) + + def test_random_bits_custom_rng(self): + + class CustomRNG(object): + def __init__(self): + self.counter = 0 + + def __call__(self, size): + self.counter += size + return bchr(0) * size + + custom_rng = CustomRNG() + a = IntegerNative.random(exact_bits=32, randfunc=custom_rng) + self.assertEqual(custom_rng.counter, 4) + + def test_random_range(self): + + func = IntegerNative.random_range + + for x in range(200): + a = func(min_inclusive=1, max_inclusive=15) + self.failUnless(1 <= a <= 15) + + for x in range(200): + a = func(min_inclusive=1, max_exclusive=15) + self.failUnless(1 <= a < 15) + + self.assertRaises(ValueError, func, min_inclusive=1, max_inclusive=2, + max_exclusive=3) + self.assertRaises(ValueError, func, max_inclusive=2, max_exclusive=3) + +def get_tests(config={}): + tests = [] + tests += list_test_cases(TestIntegerInt) + + try: + from Crypto.Math._IntegerGMP import IntegerGMP + + class TestIntegerGMP(TestIntegerBase): + def setUp(self): + self.Integer = IntegerGMP + TestIntegerBase.setUp(self) + + tests += list_test_cases(TestIntegerGMP) + except (ImportError, OSError) as e: + import sys + sys.stdout.write("Skipping GMP tests (%s)\n" % str(e) ) + + try: + from Crypto.Math._IntegerCustom import IntegerCustom + + class TestIntegerCustomModexp(TestIntegerBase): + def setUp(self): + self.Integer = IntegerCustom + TestIntegerBase.setUp(self) + + tests += list_test_cases(TestIntegerCustomModexp) + except (ImportError, OSError) as e: + import sys + sys.stdout.write("Skipping custom modexp tests (%s)\n" % str(e) ) + + tests += list_test_cases(testIntegerRandom) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Math/test_Primality.py b/lib27/site-packages/Crypto/SelfTest/Math/test_Primality.py new file mode 100644 index 000000000..38344f35b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Math/test_Primality.py @@ -0,0 +1,118 @@ +# +# SelfTest/Math/test_Primality.py: Self-test for Primality module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test for Math.Numbers""" + +import unittest + +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Util.py3compat import * + +from Crypto.Math.Numbers import Integer +from Crypto.Math.Primality import ( + PROBABLY_PRIME, COMPOSITE, + miller_rabin_test, lucas_test, + test_probable_prime, + generate_probable_prime, + generate_probable_safe_prime, + ) + + +class TestPrimality(unittest.TestCase): + + primes = (1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 2**127-1, 175637383534939453397801320455508570374088202376942372758907369518414308188137781042871856139027160010343454418881888953150175357127346872102307696660678617989191485418582475696230580407111841072614783095326672517315988762029036079794994990250662362650625650262324085116467511357592728695033227611029693067539) + composites = (0, 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 7*23, (2**19-1)*(2**67-1), 9746347772161,) + + def test_miller_rabin(self): + for prime in self.primes: + self.assertEqual(miller_rabin_test(prime, 3), PROBABLY_PRIME) + for composite in self.composites: + self.assertEqual(miller_rabin_test(composite, 3), COMPOSITE) + self.assertRaises(ValueError, miller_rabin_test, -1, 3) + + def test_lucas(self): + for prime in self.primes: + res = lucas_test(prime) + self.assertEqual(res, PROBABLY_PRIME) + for composite in self.composites: + res = lucas_test(composite) + self.assertEqual(res, COMPOSITE) + self.assertRaises(ValueError, lucas_test, -1) + + def test_is_prime(self): + primes = (170141183460469231731687303715884105727, + 19175002942688032928599, + 1363005552434666078217421284621279933627102780881053358473, + 2 ** 521 - 1) + for p in primes: + self.assertEqual(test_probable_prime(p), PROBABLY_PRIME) + + not_primes = ( + 4754868377601046732119933839981363081972014948522510826417784001, + 1334733877147062382486934807105197899496002201113849920496510541601, + 260849323075371835669784094383812120359260783810157225730623388382401, + ) + for np in not_primes: + self.assertEqual(test_probable_prime(np), COMPOSITE) + + from Crypto.Util.number import sieve_base + for p in sieve_base[:100]: + res = test_probable_prime(p) + self.assertEqual(res, PROBABLY_PRIME) + + def test_generate_prime_bit_size(self): + p = generate_probable_prime(exact_bits=512) + self.assertEqual(p.size_in_bits(), 512) + + def test_generate_prime_filter(self): + def ending_with_one(number): + return number % 10 == 1 + + for x in range(20): + q = generate_probable_prime(exact_bits=160, + prime_filter=ending_with_one) + self.assertEqual(q % 10, 1) + + def test_generate_safe_prime(self): + p = generate_probable_safe_prime(exact_bits=161) + self.assertEqual(p.size_in_bits(), 161) + +def get_tests(config={}): + tests = [] + tests += list_test_cases(TestPrimality) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Math/test_modexp.py b/lib27/site-packages/Crypto/SelfTest/Math/test_modexp.py new file mode 100644 index 000000000..a4e7466e8 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Math/test_modexp.py @@ -0,0 +1,201 @@ +# +# SelfTest/Math/test_modexp.py: Self-test for module exponentiation +# +# =================================================================== +# +# Copyright (c) 2017, Helder Eijs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-test for the custom module exponentiation""" + +import unittest + +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Util.number import long_to_bytes, bytes_to_long + +from Crypto.Util.py3compat import * + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, + create_string_buffer, + get_raw_buffer, + c_size_t, + c_ulonglong) + +from Crypto.Hash import SHAKE128 +from Crypto.Math.Numbers import Integer +from Crypto.Math._IntegerCustom import _raw_montgomery + +from Crypto.Random.random import StrongRandom + + +def create_rng(tag): + rng = StrongRandom(SHAKE128.new(data=tag)) + return rng + +class ExceptionModulus(ValueError): + pass + +def monty_pow(base, exp, modulus): + max_len = len(long_to_bytes(max(base, exp, modulus))) + + base_b, exp_b, modulus_b = [ long_to_bytes(x, max_len) for x in + (base, exp, modulus) ] + + out = create_string_buffer(max_len) + error = _raw_montgomery.monty_pow( + base_b, + exp_b, + modulus_b, + out, + c_size_t(max_len), + c_ulonglong(32) + ) + + if error == 2: + raise ExceptionModulus() + if error: + raise ValueError("monty_pow failed with error: %d" % error) + + result = bytes_to_long(get_raw_buffer(out)) + return result + +exponent1 = 0x2ce0af628901460a419a08ef950d498b9fd6f271a1a52ac293b86fe5c60efe8e8ba93fa1ebe1eb3d614d2e7b328cb60a2591440e163441a190ecf101ceec245f600fffdcf3f5b3a17a7baeacb96a424db1d7ec985e8ec998bb479fecfffed6a75f9a90fc97062fd973303bce855ad7b8d8272a94025e8532be9aabd54a183f303538d2a7e621b4131d59e823a4625f39bd7d518d7784f7c3a8f19061da74974ff42fa1c063dec2db97d461e291a7d6e721708a5229de166c1246363372854e27f3f08ae274bc16bfd205b028a4d81386494433d516dfbb35f495acba5e4e1d1843cb3c3129b6642a85fc7244ce5845fac071c7f622e4ee12ac43fabeeaa0cd01 +modulus1 = 0xd66691b20071be4d66d4b71032b37fa007cfabf579fcb91e50bfc2753b3f0ce7be74e216aef7e26d4ae180bc20d7bd3ea88a6cbf6f87380e613c8979b5b043b200a8ff8856a3b12875e36e98a7569f3852d028e967551000b02c19e9fa52e83115b89309aabb1e1cf1e2cb6369d637d46775ce4523ea31f64ad2794cbc365dd8a35e007ed3b57695877fbf102dbeb8b3212491398e494314e93726926e1383f8abb5889bea954eb8c0ca1c62c8e9d83f41888095c5e645ed6d32515fe0c58c1368cad84694e18da43668c6f43e61d7c9bca633ddcda7aef5b79bc396d4a9f48e2a9abe0836cc455e435305357228e93d25aaed46b952defae0f57339bf26f5a9 + + +class TestModExp(unittest.TestCase): + + def test_small(self): + self.assertEqual(1, monty_pow(11,12,19)) + + def test_large_1(self): + base = 0xfffffffffffffffffffffffffffffffffffffffffffffffffff + expected = pow(base, exponent1, modulus1) + result = monty_pow(base, exponent1, modulus1) + self.assertEqual(result, expected) + + def test_zero_exp(self): + base = 0xfffffffffffffffffffffffffffffffffffffffffffffffffff + result = monty_pow(base, 0, modulus1) + self.assertEqual(result, 1) + + def test_zero_base(self): + result = monty_pow(0, exponent1, modulus1) + self.assertEqual(result, 0) + + def test_zero_modulus(self): + base = 0xfffffffffffffffffffffffffffffffffffffffffffffffffff + self.assertRaises(ExceptionModulus, monty_pow, base, exponent1, 0) + self.assertRaises(ExceptionModulus, monty_pow, 0, 0, 0) + + def test_larger_exponent(self): + base = 0xfffffffffffffffffffffffffffffffffffffffffffffffffff + expected = pow(base, modulus1 << 64, modulus1) + result = monty_pow(base, modulus1 << 64, modulus1) + self.assertEqual(result, expected) + + def test_even_modulus(self): + base = 0xfffffffffffffffffffffffffffffffffffffffffffffffffff + self.assertRaises(ExceptionModulus, monty_pow, base, exponent1, modulus1-1) + + def test_several_lengths(self): + prng = SHAKE128.new().update(b('Test')) + for length in range(1, 100): + base = Integer.from_bytes(prng.read(length)) + modulus2 = Integer.from_bytes(prng.read(length)) | 1 + exponent2 = Integer.from_bytes(prng.read(length)) + + expected = pow(base, exponent2, modulus2) + result = monty_pow(base, exponent2, modulus2) + self.assertEqual(result, expected) + + def test_variable_exponent(self): + prng = create_rng(b('Test variable exponent')) + for i in range(20): + for j in range(7): + base = prng.getrandbits(8*30) + modulus = prng.getrandbits(8*30) | 1 + exponent = prng.getrandbits(i*8+j) + + expected = pow(base, exponent, modulus) + result = monty_pow(base, exponent, modulus) + self.assertEqual(result, expected) + + exponent ^= (1 << (i*8+j)) - 1 + + expected = pow(base, exponent, modulus) + result = monty_pow(base, exponent, modulus) + self.assertEqual(result, expected) + + def test_stress_63(self): + prng = create_rng(b('Test 63')) + length = 63 + for _ in range(2000): + base = prng.getrandbits(8*length) + modulus = prng.getrandbits(8*length) | 1 + exponent = prng.getrandbits(8*length) + + expected = pow(base, exponent, modulus) + result = monty_pow(base, exponent, modulus) + self.assertEqual(result, expected) + + def test_stress_64(self): + prng = create_rng(b('Test 64')) + length = 64 + for _ in range(2000): + base = prng.getrandbits(8*length) + modulus = prng.getrandbits(8*length) | 1 + exponent = prng.getrandbits(8*length) + + expected = pow(base, exponent, modulus) + result = monty_pow(base, exponent, modulus) + self.assertEqual(result, expected) + + def test_stress_65(self): + prng = create_rng(b('Test 65')) + length = 63 + for _ in range(2000): + base = prng.getrandbits(8*length) + modulus = prng.getrandbits(8*length) | 1 + exponent = prng.getrandbits(8*length) + + expected = pow(base, exponent, modulus) + result = monty_pow(base, exponent, modulus) + self.assertEqual(result, expected) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(TestModExp) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Protocol/__init__.py b/lib27/site-packages/Crypto/SelfTest/Protocol/__init__.py new file mode 100644 index 000000000..1c1c095cf --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Protocol/__init__.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Protocol/__init__.py: Self-tests for Crypto.Protocol +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test for Crypto.Protocol""" + +__revision__ = "$Id$" + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.Protocol import test_rfc1751; tests += test_rfc1751.get_tests(config=config) + from Crypto.SelfTest.Protocol import test_KDF; tests += test_KDF.get_tests(config=config) + + from Crypto.SelfTest.Protocol import test_SecretSharing; + tests += test_SecretSharing.get_tests(config=config) + + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Protocol/test_KDF.py b/lib27/site-packages/Crypto/SelfTest/Protocol/test_KDF.py new file mode 100644 index 000000000..9fd6baa69 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Protocol/test_KDF.py @@ -0,0 +1,463 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Protocol/test_KDF.py: Self-test for key derivation functions +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +import unittest +from binascii import unhexlify + +from Crypto.Util.py3compat import * + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Hash import SHA1, HMAC, SHA256, MD5, SHA224, SHA384, SHA512 +from Crypto.Cipher import AES, DES3 + +from Crypto.Protocol.KDF import PBKDF1, PBKDF2, _S2V, HKDF, scrypt + + +def t2b(t): + if t is None: + return None + t2 = t.replace(" ", "").replace("\n", "") + return unhexlify(b(t2)) + + +class TestVector(object): + pass + + +class PBKDF1_Tests(unittest.TestCase): + + # List of tuples with test data. + # Each tuple is made up by: + # Item #0: a pass phrase + # Item #1: salt (8 bytes encoded in hex) + # Item #2: output key length + # Item #3: iterations to use + # Item #4: expected result (encoded in hex) + _testData = ( + # From http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf + ("password","78578E5A5D63CB06",16,1000,"DC19847E05C64D2FAF10EBFB4A3D2A20"), + ) + + def test1(self): + v = self._testData[0] + res = PBKDF1(v[0], t2b(v[1]), v[2], v[3], SHA1) + self.assertEqual(res, t2b(v[4])) + +class PBKDF2_Tests(unittest.TestCase): + + # List of tuples with test data. + # Each tuple is made up by: + # Item #0: a pass phrase + # Item #1: salt (encoded in hex) + # Item #2: output key length + # Item #3: iterations to use + # Item #4: hash module + # Item #5: expected result (encoded in hex) + _testData = ( + # From http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf + ("password","78578E5A5D63CB06",24,2048, SHA1, "BFDE6BE94DF7E11DD409BCE20A0255EC327CB936FFE93643"), + # From RFC 6050 + ("password","73616c74", 20, 1, SHA1, "0c60c80f961f0e71f3a9b524af6012062fe037a6"), + ("password","73616c74", 20, 2, SHA1, "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957"), + ("password","73616c74", 20, 4096, SHA1, "4b007901b765489abead49d926f721d065a429c1"), + ("passwordPASSWORDpassword","73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74", + 25, 4096, SHA1, "3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038"), + ( 'pass\x00word',"7361006c74",16,4096, SHA1, "56fa6aa75548099dcc37d7f03425e0c3"), + # From draft-josefsson-scrypt-kdf-01, Chapter 10 + ( 'passwd', '73616c74', 64, 1, SHA256, "55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783"), + ( 'Password', '4e61436c', 64, 80000, SHA256, "4ddcd8f60b98be21830cee5ef22701f9641a4418d04c0414aeff08876b34ab56a1d425a1225833549adb841b51c9b3176a272bdebba1d078478f62b397f33c8d"), + ) + + def test1(self): + # Test only for HMAC-SHA1 as PRF + + def prf_SHA1(p,s): + return HMAC.new(p,s,SHA1).digest() + + def prf_SHA256(p,s): + return HMAC.new(p,s,SHA256).digest() + + for i in range(len(self._testData)): + v = self._testData[i] + password = v[0] + salt = t2b(v[1]) + out_len = v[2] + iters = v[3] + hash_mod = v[4] + expected = t2b(v[5]) + + if hash_mod is SHA1: + res = PBKDF2(password, salt, out_len, iters) + self.assertEqual(res, expected) + + res = PBKDF2(password, salt, out_len, iters, prf_SHA1) + self.assertEqual(res, expected) + else: + res = PBKDF2(password, salt, out_len, iters, prf_SHA256) + self.assertEqual(res, expected) + + def test2(self): + # Verify that prf and hmac_hash_module are mutual exclusive + def prf_SHA1(p,s): + return HMAC.new(p,s,SHA1).digest() + + self.assertRaises(ValueError, PBKDF2, b("xxx"), b("yyy"), 16, 100, + prf=prf_SHA1, hmac_hash_module=SHA1) + + def test3(self): + # Verify that hmac_hash_module works like prf + + password = b("xxx") + salt = b("yyy") + + for hashmod in (MD5, SHA1, SHA224, SHA256, SHA384, SHA512): + + pr1 = PBKDF2(password, salt, 16, 100, + prf=lambda p, s: HMAC.new(p,s,hashmod).digest()) + pr2 = PBKDF2(password, salt, 16, 100, hmac_hash_module=hashmod) + + self.assertEqual(pr1, pr2) + + def test4(self): + # Verify that PBKDF2 can take bytes or strings as password or salt + k1 = PBKDF2("xxx", b("yyy"), 16, 10) + k2 = PBKDF2(b("xxx"), b("yyy"), 16, 10) + self.assertEqual(k1, k2) + + k1 = PBKDF2(b("xxx"), "yyy", 16, 10) + k2 = PBKDF2(b("xxx"), b("yyy"), 16, 10) + self.assertEqual(k1, k2) + + +class S2V_Tests(unittest.TestCase): + + # Sequence of test vectors. + # Each test vector is made up by: + # Item #0: a tuple of strings + # Item #1: an AES key + # Item #2: the result + # Item #3: the cipher module S2V is based on + # Everything is hex encoded + _testData = [ + + # RFC5297, A.1 + ( + ( '101112131415161718191a1b1c1d1e1f2021222324252627', + '112233445566778899aabbccddee' ), + 'fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0', + '85632d07c6e8f37f950acd320a2ecc93', + AES + ), + + # RFC5297, A.2 + ( + ( '00112233445566778899aabbccddeeffdeaddadadeaddadaffeeddcc'+ + 'bbaa99887766554433221100', + '102030405060708090a0', + '09f911029d74e35bd84156c5635688c0', + '7468697320697320736f6d6520706c61'+ + '696e7465787420746f20656e63727970'+ + '74207573696e67205349562d414553'), + '7f7e7d7c7b7a79787776757473727170', + '7bdb6e3b432667eb06f4d14bff2fbd0f', + AES + ), + + ] + + def test1(self): + """Verify correctness of test vector""" + for tv in self._testData: + s2v = _S2V.new(t2b(tv[1]), tv[3]) + for s in tv[0]: + s2v.update(t2b(s)) + result = s2v.derive() + self.assertEqual(result, t2b(tv[2])) + + def test2(self): + """Verify that no more than 127(AES) and 63(TDES) + components are accepted.""" + key = bchr(0) * 8 + bchr(255) * 8 + for module in (AES, DES3): + s2v = _S2V.new(key, module) + max_comps = module.block_size*8-1 + for i in range(max_comps): + s2v.update(b("XX")) + self.assertRaises(TypeError, s2v.update, b("YY")) + + +class HKDF_Tests(unittest.TestCase): + + # Test vectors from RFC5869, Appendix A + # Each tuple is made up by: + # Item #0: hash module + # Item #1: secret + # Item #2: salt + # Item #3: context + # Item #4: expected result + _test_vector = ( + ( + SHA256, + "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", + "000102030405060708090a0b0c", + "f0f1f2f3f4f5f6f7f8f9", + 42, + "3cb25f25faacd57a90434f64d0362f2a" + + "2d2d0a90cf1a5a4c5db02d56ecc4c5bf" + + "34007208d5b887185865" + ), + ( + SHA256, + "000102030405060708090a0b0c0d0e0f" + + "101112131415161718191a1b1c1d1e1f" + + "202122232425262728292a2b2c2d2e2f" + + "303132333435363738393a3b3c3d3e3f" + + "404142434445464748494a4b4c4d4e4f", + "606162636465666768696a6b6c6d6e6f" + + "707172737475767778797a7b7c7d7e7f" + + "808182838485868788898a8b8c8d8e8f" + + "909192939495969798999a9b9c9d9e9f" + + "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf", + "b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" + + "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf" + + "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf" + + "e0e1e2e3e4e5e6e7e8e9eaebecedeeef" + + "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", + 82, + "b11e398dc80327a1c8e7f78c596a4934" + + "4f012eda2d4efad8a050cc4c19afa97c" + + "59045a99cac7827271cb41c65e590e09" + + "da3275600c2f09b8367793a9aca3db71" + + "cc30c58179ec3e87c14c01d5c1f3434f" + + "1d87" + ), + ( + SHA256, + "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", + None, + None, + 42, + "8da4e775a563c18f715f802a063c5a31" + + "b8a11f5c5ee1879ec3454e5f3c738d2d" + + "9d201395faa4b61a96c8" + ), + ( + SHA1, + "0b0b0b0b0b0b0b0b0b0b0b", + "000102030405060708090a0b0c", + "f0f1f2f3f4f5f6f7f8f9", + 42, + "085a01ea1b10f36933068b56efa5ad81" + + "a4f14b822f5b091568a9cdd4f155fda2" + + "c22e422478d305f3f896" + ), + ( + SHA1, + "000102030405060708090a0b0c0d0e0f" + + "101112131415161718191a1b1c1d1e1f" + + "202122232425262728292a2b2c2d2e2f" + + "303132333435363738393a3b3c3d3e3f" + + "404142434445464748494a4b4c4d4e4f", + "606162636465666768696a6b6c6d6e6f" + + "707172737475767778797a7b7c7d7e7f" + + "808182838485868788898a8b8c8d8e8f" + + "909192939495969798999a9b9c9d9e9f" + + "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf", + "b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" + + "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf" + + "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf" + + "e0e1e2e3e4e5e6e7e8e9eaebecedeeef" + + "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", + 82, + "0bd770a74d1160f7c9f12cd5912a06eb" + + "ff6adcae899d92191fe4305673ba2ffe" + + "8fa3f1a4e5ad79f3f334b3b202b2173c" + + "486ea37ce3d397ed034c7f9dfeb15c5e" + + "927336d0441f4c4300e2cff0d0900b52" + + "d3b4" + ), + ( + SHA1, + "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", + "", + "", + 42, + "0ac1af7002b3d761d1e55298da9d0506" + + "b9ae52057220a306e07b6b87e8df21d0" + + "ea00033de03984d34918" + ), + ( + SHA1, + "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c", + None, + "", + 42, + "2c91117204d745f3500d636a62f64f0a" + + "b3bae548aa53d423b0d1f27ebba6f5e5" + + "673a081d70cce7acfc48" + ) + ) + + def test1(self): + for tv in self._test_vector: + secret, salt, info, exp = [ t2b(tv[x]) for x in (1,2,3,5) ] + key_len, hashmod = [ tv[x] for x in (4,0) ] + + output = HKDF(secret, key_len, salt, hashmod, 1, info) + self.assertEqual(output, exp) + + def test2(self): + ref = HKDF(b("XXXXXX"), 12, b("YYYY"), SHA1) + + # Same output, but this time split over 2 keys + key1, key2 = HKDF(b("XXXXXX"), 6, b("YYYY"), SHA1, 2) + self.assertEqual((ref[:6], ref[6:]), (key1, key2)) + + # Same output, but this time split over 3 keys + key1, key2, key3 = HKDF(b("XXXXXX"), 4, b("YYYY"), SHA1, 3) + self.assertEqual((ref[:4], ref[4:8], ref[8:]), (key1, key2, key3)) + + +class scrypt_Tests(unittest.TestCase): + + # Test vectors taken from + # https://tools.ietf.org/html/rfc7914 + # - password + # - salt + # - N + # - r + # - p + data = ( + ( + "", + "", + 16, # 2K + 1, + 1, + """ + 77 d6 57 62 38 65 7b 20 3b 19 ca 42 c1 8a 04 97 + f1 6b 48 44 e3 07 4a e8 df df fa 3f ed e2 14 42 + fc d0 06 9d ed 09 48 f8 32 6a 75 3a 0f c8 1f 17 + e8 d3 e0 fb 2e 0d 36 28 cf 35 e2 0c 38 d1 89 06 + """ + ), + ( + "password", + "NaCl", + 1024, # 1M + 8, + 16, + """ + fd ba be 1c 9d 34 72 00 78 56 e7 19 0d 01 e9 fe + 7c 6a d7 cb c8 23 78 30 e7 73 76 63 4b 37 31 62 + 2e af 30 d9 2e 22 a3 88 6f f1 09 27 9d 98 30 da + c7 27 af b9 4a 83 ee 6d 83 60 cb df a2 cc 06 40 + """ + ), + ( + "pleaseletmein", + "SodiumChloride", + 16384, # 16M + 8, + 1, + """ + 70 23 bd cb 3a fd 73 48 46 1c 06 cd 81 fd 38 eb + fd a8 fb ba 90 4f 8e 3e a9 b5 43 f6 54 5d a1 f2 + d5 43 29 55 61 3f 0f cf 62 d4 97 05 24 2a 9a f9 + e6 1e 85 dc 0d 65 1e 40 df cf 01 7b 45 57 58 87 + """ + ), + ( + "pleaseletmein", + "SodiumChloride", + 1048576, # 1G + 8, + 1, + """ + 21 01 cb 9b 6a 51 1a ae ad db be 09 cf 70 f8 81 + ec 56 8d 57 4a 2f fd 4d ab e5 ee 98 20 ad aa 47 + 8e 56 fd 8f 4b a5 d0 9f fa 1c 6d 92 7c 40 f4 c3 + 37 30 40 49 e8 a9 52 fb cb f4 5c 6f a7 7a 41 a4 + """ + ), + ) + + def setUp(self): + new_test_vectors = [] + for tv in self.data: + new_tv = TestVector() + new_tv.P = b(tv[0]) + new_tv.S = b(tv[1]) + new_tv.N = tv[2] + new_tv.r = tv[3] + new_tv.p = tv[4] + new_tv.output = t2b(tv[5]) + new_tv.dkLen = len(new_tv.output) + new_test_vectors.append(new_tv) + self.data = new_test_vectors + + def test2(self): + + for tv in self.data: + try: + output = scrypt(tv.P, tv.S, tv.dkLen, tv.N, tv.r, tv.p) + except ValueError as e: + if " 2 " in str(e) and tv.N >= 1048576: + import warnings + warnings.warn("Not enough memory to unit test scrypt() with N=1048576", RuntimeWarning) + continue + else: + raise e + self.assertEqual(output, tv.output) + + def test3(self): + ref = scrypt(b("password"), b("salt"), 12, 16, 1, 1) + + # Same output, but this time split over 2 keys + key1, key2 = scrypt(b("password"), b("salt"), 6, 16, 1, 1, 2) + self.assertEqual((ref[:6], ref[6:]), (key1, key2)) + + # Same output, but this time split over 3 keys + key1, key2, key3 = scrypt(b("password"), b("salt"), 4, 16, 1, 1, 3) + self.assertEqual((ref[:4], ref[4:8], ref[8:]), (key1, key2, key3)) + + +def get_tests(config={}): + + if not config.get('slow_tests'): + PBKDF2_Tests._testData = PBKDF2_Tests._testData[:3] + scrypt_Tests.data = scrypt_Tests.data[:3] + + tests = [] + tests += list_test_cases(PBKDF1_Tests) + tests += list_test_cases(PBKDF2_Tests) + tests += list_test_cases(S2V_Tests) + tests += list_test_cases(HKDF_Tests) + tests += list_test_cases(scrypt_Tests) + + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 diff --git a/lib27/site-packages/Crypto/SelfTest/Protocol/test_SecretSharing.py b/lib27/site-packages/Crypto/SelfTest/Protocol/test_SecretSharing.py new file mode 100644 index 000000000..58768cce7 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Protocol/test_SecretSharing.py @@ -0,0 +1,186 @@ +# +# SelfTest/Protocol/test_secret_sharing.py: Self-test for secret sharing protocols +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from unittest import main, TestCase, TestSuite +from binascii import unhexlify, hexlify + +from Crypto.Util.py3compat import * +from Crypto.SelfTest.st_common import list_test_cases + +from Crypto.Protocol.SecretSharing import Shamir, _Element, \ + _mult_gf2, _div_gf2 + +class GF2_Tests(TestCase): + + def test_mult_gf2(self): + # Prove mult by zero + x = _mult_gf2(0,0) + self.assertEqual(x, 0) + + # Prove mult by unity + x = _mult_gf2(34, 1) + self.assertEqual(x, 34) + + z = 3 # (x+1) + y = _mult_gf2(z, z) + self.assertEqual(y, 5) # (x+1)^2 = x^2 + 1 + y = _mult_gf2(y, z) + self.assertEqual(y, 15) # (x+1)^3 = x^3 + x^2 + x + 1 + y = _mult_gf2(y, z) + self.assertEqual(y, 17) # (x+1)^4 = x^4 + 1 + + # Prove linearity works + comps = [1, 4, 128, 2**34] + sum_comps = 1+4+128+2**34 + y = 908 + z = _mult_gf2(sum_comps, y) + w = 0 + for x in comps: + w ^= _mult_gf2(x, y) + self.assertEqual(w, z) + + def test_div_gf2(self): + from Crypto.Util.number import size as deg + + x, y = _div_gf2(567, 7) + self.failUnless(deg(y) < deg(7)) + + w = _mult_gf2(x, 7) ^ y + self.assertEqual(567, w) + + x, y = _div_gf2(7, 567) + self.assertEqual(x, 0) + self.assertEqual(y, 7) + +class Element_Tests(TestCase): + + def test1(self): + # Test encondings + e = _Element(256) + self.assertEqual(int(e), 256) + self.assertEqual(e.encode(), bchr(0)*14 + b("\x01\x00")) + + e = _Element(bchr(0)*14 + b("\x01\x10")) + self.assertEqual(int(e), 0x110) + self.assertEqual(e.encode(), bchr(0)*14 + b("\x01\x10")) + + # Only 16 byte string are a valid encoding + self.assertRaises(ValueError, _Element, bchr(0)) + + def test2(self): + # Test addition + e = _Element(0x10) + f = _Element(0x0A) + self.assertEqual(int(e+f), 0x1A) + + def test3(self): + # Test multiplication + zero = _Element(0) + one = _Element(1) + two = _Element(2) + + x = _Element(6) * zero + self.assertEqual(int(x), 0) + + x = _Element(6) * one + self.assertEqual(int(x), 6) + + x = _Element(2**127) * two + self.assertEqual(int(x), 1 + 2 + 4 + 128) + + def test4(self): + # Test inversion + one = _Element(1) + + x = one.inverse() + self.assertEqual(int(x), 1) + + x = _Element(82323923) + y = x.inverse() + self.assertEqual(int(x * y), 1) + +class Shamir_Tests(TestCase): + + def test1(self): + # Test splitting + shares = Shamir.split(2, 3, bchr(90)*16) + self.assertEqual(len(shares), 3) + for index in range(3): + self.assertEqual(shares[index][0], index+1) + self.assertEqual(len(shares[index][1]), 16) + + def test2(self): + # Test recombine + + # These shares were obtained with ssss v0.5: + # ssss-split -t 2 -n 3 -s 128 -D -x + secret = b("000102030405060708090a0b0c0d0e0f") + shares = ( + (1,"0b8cbb92e2a750defa563537d72942a2"), + (2,"171a7120c941abb4ecb77472ba459753"), + (3,"1c97c8b12fe3fd6d1ee84b4e6161dbfe") + ) + + bin_shares = [] + for share in shares: + bin_shares.append((share[0], unhexlify(b(share[1])))) + result = Shamir.combine(bin_shares) + self.assertEqual(hexlify(result), secret) + + def test3(self): + # Loopback split/recombine + secret = unhexlify(b("000102030405060708090a0b0c0d0e0f")) + + shares = Shamir.split(2, 3, secret) + + secret2 = Shamir.combine(shares[:2]) + self.assertEqual(secret, secret2) + + secret3 = Shamir.combine([ shares[0], shares[2] ]) + self.assertEqual(secret, secret3) + + secret4 = Shamir.combine(shares) + self.assertEqual(secret, secret4) # One share too many + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(GF2_Tests) + tests += list_test_cases(Element_Tests) + tests += list_test_cases(Shamir_Tests) + return tests + +if __name__ == '__main__': + suite = lambda: TestSuite(get_tests()) + main(defaultTest='suite') + diff --git a/lib27/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py b/lib27/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py new file mode 100644 index 000000000..0878cc510 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py @@ -0,0 +1,62 @@ +# +# Test script for Crypto.Util.RFC1751. +# +# Part of the Python Cryptography Toolkit +# +# Written by Andrew Kuchling and others +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +__revision__ = "$Id$" + +import binascii +import unittest +from Crypto.Util import RFC1751 +from Crypto.Util.py3compat import * + +test_data = [('EB33F77EE73D4053', 'TIDE ITCH SLOW REIN RULE MOT'), + ('CCAC2AED591056BE4F90FD441C534766', + 'RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE'), + ('EFF81F9BFBC65350920CDD7416DE8009', + 'TROD MUTE TAIL WARM CHAR KONG HAAG CITY BORE O TEAL AWL') + ] + +class RFC1751Test_k2e (unittest.TestCase): + + def runTest (self): + "Check converting keys to English" + for key, words in test_data: + key=binascii.a2b_hex(b(key)) + self.assertEqual(RFC1751.key_to_english(key), words) + +class RFC1751Test_e2k (unittest.TestCase): + + def runTest (self): + "Check converting English strings to keys" + for key, words in test_data: + key=binascii.a2b_hex(b(key)) + self.assertEqual(RFC1751.english_to_key(words), key) + +# class RFC1751Test + +def get_tests(config={}): + return [RFC1751Test_k2e(), RFC1751Test_e2k()] + +if __name__ == "__main__": + unittest.main() diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/__init__.py b/lib27/site-packages/Crypto/SelfTest/PublicKey/__init__.py new file mode 100644 index 000000000..d4f51bc46 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/__init__.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/PublicKey/__init__.py: Self-test for public key crypto +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test for public-key crypto""" + +__revision__ = "$Id$" + +import os + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.PublicKey import test_DSA; tests += test_DSA.get_tests(config=config) + from Crypto.SelfTest.PublicKey import test_RSA; tests += test_RSA.get_tests(config=config) + from Crypto.SelfTest.PublicKey import test_ECC; tests += test_ECC.get_tests(config=config) + + from Crypto.SelfTest.PublicKey import test_import_DSA + tests +=test_import_DSA.get_tests(config=config) + + from Crypto.SelfTest.PublicKey import test_import_RSA + tests += test_import_RSA.get_tests(config=config) + + from Crypto.SelfTest.PublicKey import test_import_ECC + tests += test_import_ECC.get_tests(config=config) + + from Crypto.SelfTest.PublicKey import test_ElGamal; tests += test_ElGamal.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py new file mode 100644 index 000000000..48a149eb9 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py @@ -0,0 +1,240 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/PublicKey/test_DSA.py: Self-test for the DSA primitive +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.PublicKey.DSA""" + +import os +from Crypto.Util.py3compat import * + +import unittest +from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex + +def _sws(s): + """Remove whitespace from a text or byte string""" + if isinstance(s,str): + return "".join(s.split()) + else: + return b("").join(s.split()) + +class DSATest(unittest.TestCase): + # Test vector from "Appendix 5. Example of the DSA" of + # "Digital Signature Standard (DSS)", + # U.S. Department of Commerce/National Institute of Standards and Technology + # FIPS 186-2 (+Change Notice), 2000 January 27. + # http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf + + y = _sws("""19131871 d75b1612 a819f29d 78d1b0d7 346f7aa7 7bb62a85 + 9bfd6c56 75da9d21 2d3a36ef 1672ef66 0b8c7c25 5cc0ec74 + 858fba33 f44c0669 9630a76b 030ee333""") + + g = _sws("""626d0278 39ea0a13 413163a5 5b4cb500 299d5522 956cefcb + 3bff10f3 99ce2c2e 71cb9de5 fa24babf 58e5b795 21925c9c + c42e9f6f 464b088c c572af53 e6d78802""") + + p = _sws("""8df2a494 492276aa 3d25759b b06869cb eac0d83a fb8d0cf7 + cbb8324f 0d7882e5 d0762fc5 b7210eaf c2e9adac 32ab7aac + 49693dfb f83724c2 ec0736ee 31c80291""") + + q = _sws("""c773218c 737ec8ee 993b4f2d ed30f48e dace915f""") + + x = _sws("""2070b322 3dba372f de1c0ffc 7b2e3b49 8b260614""") + + k = _sws("""358dad57 1462710f 50e254cf 1a376b2b deaadfbf""") + k_inverse = _sws("""0d516729 8202e49b 4116ac10 4fc3f415 ae52f917""") + m = b2a_hex(b("abc")) + m_hash = _sws("""a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d""") + r = _sws("""8bac1ab6 6410435c b7181f95 b16ab97c 92b341c0""") + s = _sws("""41e2345f 1f56df24 58f426d1 55b4ba2d b6dcd8c8""") + + def setUp(self): + global DSA, Random, bytes_to_long, size + from Crypto.PublicKey import DSA + from Crypto import Random + from Crypto.Util.number import bytes_to_long, inverse, size + + self.dsa = DSA + + def test_generate_1arg(self): + """DSA (default implementation) generated key (1 argument)""" + dsaObj = self.dsa.generate(1024) + self._check_private_key(dsaObj) + pub = dsaObj.publickey() + self._check_public_key(pub) + + def test_generate_2arg(self): + """DSA (default implementation) generated key (2 arguments)""" + dsaObj = self.dsa.generate(1024, Random.new().read) + self._check_private_key(dsaObj) + pub = dsaObj.publickey() + self._check_public_key(pub) + + def test_construct_4tuple(self): + """DSA (default implementation) constructed key (4-tuple)""" + (y, g, p, q) = [bytes_to_long(a2b_hex(param)) for param in (self.y, self.g, self.p, self.q)] + dsaObj = self.dsa.construct((y, g, p, q)) + self._test_verification(dsaObj) + + def test_construct_5tuple(self): + """DSA (default implementation) constructed key (5-tuple)""" + (y, g, p, q, x) = [bytes_to_long(a2b_hex(param)) for param in (self.y, self.g, self.p, self.q, self.x)] + dsaObj = self.dsa.construct((y, g, p, q, x)) + self._test_signing(dsaObj) + self._test_verification(dsaObj) + + def test_construct_bad_key4(self): + (y, g, p, q) = [bytes_to_long(a2b_hex(param)) for param in (self.y, self.g, self.p, self.q)] + tup = (y, g, p+1, q) + self.assertRaises(ValueError, self.dsa.construct, tup) + + tup = (y, g, p, q+1) + self.assertRaises(ValueError, self.dsa.construct, tup) + + tup = (y, 1, p, q) + self.assertRaises(ValueError, self.dsa.construct, tup) + + def test_construct_bad_key5(self): + (y, g, p, q, x) = [bytes_to_long(a2b_hex(param)) for param in (self.y, self.g, self.p, self.q, self.x)] + tup = (y, g, p, q, x+1) + self.assertRaises(ValueError, self.dsa.construct, tup) + + tup = (y, g, p, q, q+10) + self.assertRaises(ValueError, self.dsa.construct, tup) + + def _check_private_key(self, dsaObj): + # Check capabilities + self.assertEqual(1, dsaObj.has_private()) + self.assertEqual(1, dsaObj.can_sign()) + self.assertEqual(0, dsaObj.can_encrypt()) + + # Sanity check key data + self.assertEqual(1, dsaObj.p > dsaObj.q) # p > q + self.assertEqual(160, size(dsaObj.q)) # size(q) == 160 bits + self.assertEqual(0, (dsaObj.p - 1) % dsaObj.q) # q is a divisor of p-1 + self.assertEqual(dsaObj.y, pow(dsaObj.g, dsaObj.x, dsaObj.p)) # y == g**x mod p + self.assertEqual(1, 0 < dsaObj.x < dsaObj.q) # 0 < x < q + + def _check_public_key(self, dsaObj): + k = bytes_to_long(a2b_hex(self.k)) + m_hash = bytes_to_long(a2b_hex(self.m_hash)) + + # Check capabilities + self.assertEqual(0, dsaObj.has_private()) + self.assertEqual(1, dsaObj.can_sign()) + self.assertEqual(0, dsaObj.can_encrypt()) + + # Check that private parameters are all missing + self.assertEqual(0, hasattr(dsaObj, 'x')) + + # Sanity check key data + self.assertEqual(1, dsaObj.p > dsaObj.q) # p > q + self.assertEqual(160, size(dsaObj.q)) # size(q) == 160 bits + self.assertEqual(0, (dsaObj.p - 1) % dsaObj.q) # q is a divisor of p-1 + + # Public-only key objects should raise an error when .sign() is called + self.assertRaises(TypeError, dsaObj._sign, m_hash, k) + + # Check __eq__ and __ne__ + self.assertEqual(dsaObj.publickey() == dsaObj.publickey(),True) # assert_ + self.assertEqual(dsaObj.publickey() != dsaObj.publickey(),False) # failIf + + def _test_signing(self, dsaObj): + k = bytes_to_long(a2b_hex(self.k)) + m_hash = bytes_to_long(a2b_hex(self.m_hash)) + r = bytes_to_long(a2b_hex(self.r)) + s = bytes_to_long(a2b_hex(self.s)) + (r_out, s_out) = dsaObj._sign(m_hash, k) + self.assertEqual((r, s), (r_out, s_out)) + + def _test_verification(self, dsaObj): + m_hash = bytes_to_long(a2b_hex(self.m_hash)) + r = bytes_to_long(a2b_hex(self.r)) + s = bytes_to_long(a2b_hex(self.s)) + self.failUnless(dsaObj._verify(m_hash, (r, s))) + self.failIf(dsaObj._verify(m_hash + 1, (r, s))) + + +class DSADomainTest(unittest.TestCase): + + def test_domain1(self): + """Verify we can generate new keys in a given domain""" + dsa_key_1 = DSA.generate(1024) + domain_params = dsa_key_1.domain() + + dsa_key_2 = DSA.generate(1024, domain=domain_params) + self.assertEqual(dsa_key_1.p, dsa_key_2.p) + self.assertEqual(dsa_key_1.q, dsa_key_2.q) + self.assertEqual(dsa_key_1.g, dsa_key_2.g) + + self.assertEqual(dsa_key_1.domain(), dsa_key_2.domain()) + + def _get_weak_domain(self): + + from Crypto.Math.Numbers import Integer + from Crypto.Math import Primality + + p = Integer(4) + while p.size_in_bits() != 1024 or Primality.test_probable_prime(p) != Primality.PROBABLY_PRIME: + q1 = Integer.random(exact_bits=80) + q2 = Integer.random(exact_bits=80) + q = q1 * q2 + z = Integer.random(exact_bits=1024-160) + p = z * q + 1 + + h = Integer(2) + g = 1 + while g == 1: + g = pow(h, z, p) + h += 1 + + return (p, q, g) + + + def test_generate_error_weak_domain(self): + """Verify that domain parameters with composite q are rejected""" + + domain_params = self._get_weak_domain() + self.assertRaises(ValueError, DSA.generate, 1024, domain=domain_params) + + + def test_construct_error_weak_domain(self): + """Verify that domain parameters with composite q are rejected""" + + from Crypto.Math.Numbers import Integer + + p, q, g = self._get_weak_domain() + y = pow(g, 89, p) + self.assertRaises(ValueError, DSA.construct, (y, g, p, q)) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(DSATest) + tests += list_test_cases(DSADomainTest) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_ECC.py b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_ECC.py new file mode 100644 index 000000000..817376391 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_ECC.py @@ -0,0 +1,284 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +import time +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.SelfTest.loader import load_tests + +from Crypto.PublicKey import ECC +from Crypto.PublicKey.ECC import EccPoint, _curve, EccKey + +class TestEccPoint_NIST(unittest.TestCase): + """Tests defined in section 4.3 of https://www.nsa.gov/ia/_files/nist-routines.pdf""" + + pointS = EccPoint( + 0xde2444bebc8d36e682edd27e0f271508617519b3221a8fa0b77cab3989da97c9, + 0xc093ae7ff36e5380fc01a5aad1e66659702de80f53cec576b6350b243042a256) + + pointT = EccPoint( + 0x55a8b00f8da1d44e62f6b3b25316212e39540dc861c89575bb8cf92e35e0986b, + 0x5421c3209c2d6c704835d82ac4c3dd90f61a8a52598b9e7ab656e9d8c8b24316) + + def test_set(self): + pointW = EccPoint(0, 0) + pointW.set(self.pointS) + self.assertEqual(pointW, self.pointS) + + def test_copy(self): + pointW = self.pointS.copy() + self.assertEqual(pointW, self.pointS) + pointW.set(self.pointT) + self.assertEqual(pointW, self.pointT) + self.assertNotEqual(self.pointS, self.pointT) + + def test_addition(self): + pointRx = 0x72b13dd4354b6b81745195e98cc5ba6970349191ac476bd4553cf35a545a067e + pointRy = 0x8d585cbb2e1327d75241a8a122d7620dc33b13315aa5c9d46d013011744ac264 + + pointR = self.pointS + self.pointT + self.assertEqual(pointR.x, pointRx) + self.assertEqual(pointR.y, pointRy) + + pai = EccPoint.point_at_infinity() + + # S + 0 + pointR = self.pointS + pai + self.assertEqual(pointR, self.pointS) + + # 0 + S + pointR = pai + self.pointS + self.assertEqual(pointR, self.pointS) + + # 0 + 0 + pointR = pai + pai + self.assertEqual(pointR, pai) + + def test_inplace_addition(self): + pointRx = 0x72b13dd4354b6b81745195e98cc5ba6970349191ac476bd4553cf35a545a067e + pointRy = 0x8d585cbb2e1327d75241a8a122d7620dc33b13315aa5c9d46d013011744ac264 + + pointR = self.pointS.copy() + pointR += self.pointT + self.assertEqual(pointR.x, pointRx) + self.assertEqual(pointR.y, pointRy) + + pai = EccPoint.point_at_infinity() + + # S + 0 + pointR = self.pointS.copy() + pointR += pai + self.assertEqual(pointR, self.pointS) + + # 0 + S + pointR = pai.copy() + pointR += self.pointS + self.assertEqual(pointR, self.pointS) + + # 0 + 0 + pointR = pai.copy() + pointR += pai + self.assertEqual(pointR, pai) + + def test_doubling(self): + pointRx = 0x7669e6901606ee3ba1a8eef1e0024c33df6c22f3b17481b82a860ffcdb6127b0 + pointRy = 0xfa878162187a54f6c39f6ee0072f33de389ef3eecd03023de10ca2c1db61d0c7 + + pointR = self.pointS.copy() + pointR.double() + self.assertEqual(pointR.x, pointRx) + self.assertEqual(pointR.y, pointRy) + + # 2*0 + pai = self.pointS.point_at_infinity() + pointR = pai.copy() + pointR.double() + self.assertEqual(pointR, pai) + + # S + S + pointR = self.pointS.copy() + pointR += pointR + self.assertEqual(pointR.x, pointRx) + self.assertEqual(pointR.y, pointRy) + + def test_scalar_multiply(self): + d = 0xc51e4753afdec1e6b6c6a5b992f43f8dd0c7a8933072708b6522468b2ffb06fd + pointRx = 0x51d08d5f2d4278882946d88d83c97d11e62becc3cfc18bedacc89ba34eeca03f + pointRy = 0x75ee68eb8bf626aa5b673ab51f6e744e06f8fcf8a6c0cf3035beca956a7b41d5 + + pointR = self.pointS * d + self.assertEqual(pointR.x, pointRx) + self.assertEqual(pointR.y, pointRy) + + # 0*S + pai = self.pointS.point_at_infinity() + pointR = self.pointS * 0 + self.assertEqual(pointR, pai) + + # -1*S + self.assertRaises(ValueError, lambda: self.pointS * -1) + + def test_joing_scalar_multiply(self): + d = 0xc51e4753afdec1e6b6c6a5b992f43f8dd0c7a8933072708b6522468b2ffb06fd + e = 0xd37f628ece72a462f0145cbefe3f0b355ee8332d37acdd83a358016aea029db7 + pointRx = 0xd867b4679221009234939221b8046245efcf58413daacbeff857b8588341f6b8 + pointRy = 0xf2504055c03cede12d22720dad69c745106b6607ec7e50dd35d54bd80f615275 + + pointR = self.pointS * d + self.pointT * e + self.assertEqual(pointR.x, pointRx) + self.assertEqual(pointR.y, pointRy) + + +class TestEccPoint_PAI(unittest.TestCase): + """Test vectors from http://point-at-infinity.org/ecc/nisttv""" + + pointG = EccPoint(_curve.Gx, _curve.Gy) + + +tv_pai = load_tests(("Crypto", "SelfTest", "PublicKey", "test_vectors", "ECC"), + "point-at-infinity.org-P256.txt", + "P-256 tests from point-at-infinity.org", + { "k" : lambda k: int(k), + "x" : lambda x: int(x, 16), + "y" : lambda y: int(y, 16)} ) +assert(tv_pai) +for tv in tv_pai: + def new_test(self, scalar=tv.k, x=tv.x, y=tv.y): + result = self.pointG * scalar + self.assertEqual(result.x, x) + self.assertEqual(result.y, y) + setattr(TestEccPoint_PAI, "test_%d" % tv.count, new_test) + + +class TestEccKey(unittest.TestCase): + + def test_private_key(self): + + key = EccKey(curve="P-256", d=1) + self.assertEqual(key.d, 1) + self.failUnless(key.has_private()) + self.assertEqual(key.pointQ.x, _curve.Gx) + self.assertEqual(key.pointQ.y, _curve.Gy) + + point = EccPoint(_curve.Gx, _curve.Gy) + key = EccKey(curve="P-256", d=1, point=point) + self.assertEqual(key.d, 1) + self.failUnless(key.has_private()) + self.assertEqual(key.pointQ, point) + + # Other names + key = EccKey(curve="secp256r1", d=1) + key = EccKey(curve="prime256v1", d=1) + + def test_public_key(self): + + point = EccPoint(_curve.Gx, _curve.Gy) + key = EccKey(curve="P-256", point=point) + self.failIf(key.has_private()) + self.assertEqual(key.pointQ, point) + + def test_public_key_derived(self): + + priv_key = EccKey(curve="P-256", d=3) + pub_key = priv_key.public_key() + self.failIf(pub_key.has_private()) + self.assertEqual(priv_key.pointQ, pub_key.pointQ) + + def test_invalid_curve(self): + self.assertRaises(ValueError, lambda: EccKey(curve="P-257", d=1)) + + def test_invalid_d(self): + self.assertRaises(ValueError, lambda: EccKey(curve="P-256", d=0)) + self.assertRaises(ValueError, lambda: EccKey(curve="P-256", d=_curve.order)) + + def test_equality(self): + + private_key = ECC.construct(d=3, curve="P-256") + private_key2 = ECC.construct(d=3, curve="P-256") + private_key3 = ECC.construct(d=4, curve="P-256") + + public_key = private_key.public_key() + public_key2 = private_key2.public_key() + public_key3 = private_key3.public_key() + + self.assertEqual(private_key, private_key2) + self.assertNotEqual(private_key, private_key3) + + self.assertEqual(public_key, public_key2) + self.assertNotEqual(public_key, public_key3) + + self.assertNotEqual(public_key, private_key) + + +class TestEccModule(unittest.TestCase): + + def test_generate(self): + + key = ECC.generate(curve="P-256") + self.failUnless(key.has_private()) + self.assertEqual(key.pointQ, EccPoint(_curve.Gx, _curve.Gy) * key.d) + + # Other names + ECC.generate(curve="secp256r1") + ECC.generate(curve="prime256v1") + + def test_construct(self): + + key = ECC.construct(curve="P-256", d=1) + self.failUnless(key.has_private()) + self.assertEqual(key.pointQ, _curve.G) + + key = ECC.construct(curve="P-256", point_x=_curve.Gx, point_y=_curve.Gy) + self.failIf(key.has_private()) + self.assertEqual(key.pointQ, _curve.G) + + # Other names + ECC.construct(curve="secp256r1", d=1) + ECC.construct(curve="prime256v1", d=1) + + def test_negative_construct(self): + coord = dict(point_x=10, point_y=4) + coordG = dict(point_x=_curve.Gx, point_y=_curve.Gy) + + self.assertRaises(ValueError, ECC.construct, curve="P-256", **coord) + self.assertRaises(ValueError, ECC.construct, curve="P-256", d=2, **coordG) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(TestEccPoint_NIST) + tests += list_test_cases(TestEccPoint_PAI) + tests += list_test_cases(TestEccKey) + tests += list_test_cases(TestEccModule) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py new file mode 100644 index 000000000..0af6738a1 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py @@ -0,0 +1,217 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/PublicKey/test_ElGamal.py: Self-test for the ElGamal primitive +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.PublicKey.ElGamal""" + +__revision__ = "$Id$" + +import unittest +from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex +from Crypto import Random +from Crypto.PublicKey import ElGamal +from Crypto.Util.number import bytes_to_long +from Crypto.Util.py3compat import * + +class ElGamalTest(unittest.TestCase): + + # + # Test vectors + # + # There seem to be no real ElGamal test vectors available in the + # public domain. The following test vectors have been generated + # with libgcrypt 1.5.0. + # + # Encryption + tve=[ + { + # 256 bits + 'p' :'BA4CAEAAED8CBE952AFD2126C63EB3B345D65C2A0A73D2A3AD4138B6D09BD933', + 'g' :'05', + 'y' :'60D063600ECED7C7C55146020E7A31C4476E9793BEAED420FEC9E77604CAE4EF', + 'x' :'1D391BA2EE3C37FE1BA175A69B2C73A11238AD77675932', + 'k' :'F5893C5BAB4131264066F57AB3D8AD89E391A0B68A68A1', + 'pt' :'48656C6C6F207468657265', + 'ct1':'32BFD5F487966CEA9E9356715788C491EC515E4ED48B58F0F00971E93AAA5EC7', + 'ct2':'7BE8FBFF317C93E82FCEF9BD515284BA506603FEA25D01C0CB874A31F315EE68' + }, + + { + # 512 bits + 'p' :'F1B18AE9F7B4E08FDA9A04832F4E919D89462FD31BF12F92791A93519F75076D6CE3942689CDFF2F344CAFF0F82D01864F69F3AECF566C774CBACF728B81A227', + 'g' :'07', + 'y' :'688628C676E4F05D630E1BE39D0066178CA7AA83836B645DE5ADD359B4825A12B02EF4252E4E6FA9BEC1DB0BE90F6D7C8629CABB6E531F472B2664868156E20C', + 'x' :'14E60B1BDFD33436C0DA8A22FDC14A2CCDBBED0627CE68', + 'k' :'38DBF14E1F319BDA9BAB33EEEADCAF6B2EA5250577ACE7', + 'pt' :'48656C6C6F207468657265', + 'ct1':'290F8530C2CC312EC46178724F196F308AD4C523CEABB001FACB0506BFED676083FE0F27AC688B5C749AB3CB8A80CD6F7094DBA421FB19442F5A413E06A9772B', + 'ct2':'1D69AAAD1DC50493FB1B8E8721D621D683F3BF1321BE21BC4A43E11B40C9D4D9C80DE3AAC2AB60D31782B16B61112E68220889D53C4C3136EE6F6CE61F8A23A0' + } + ] + + # Signature + tvs=[ + { + # 256 bits + 'p' :'D2F3C41EA66530838A704A48FFAC9334F4701ECE3A97CEE4C69DD01AE7129DD7', + 'g' :'05', + 'y' :'C3F9417DC0DAFEA6A05C1D2333B7A95E63B3F4F28CC962254B3256984D1012E7', + 'x' :'165E4A39BE44D5A2D8B1332D416BC559616F536BC735BB', + 'k' :'C7F0C794A7EAD726E25A47FF8928013680E73C51DD3D7D99BFDA8F492585928F', + 'h' :'48656C6C6F207468657265', + 'sig1':'35CA98133779E2073EF31165AFCDEB764DD54E96ADE851715495F9C635E1E7C2', + 'sig2':'0135B88B1151279FE5D8078D4FC685EE81177EE9802AB123A73925FC1CB059A7', + }, + { + # 512 bits + 'p' :'E24CF3A4B8A6AF749DCA6D714282FE4AABEEE44A53BB6ED15FBE32B5D3C3EF9CC4124A2ECA331F3C1C1B667ACA3766825217E7B5F9856648D95F05330C6A19CF', + 'g' :'0B', + 'y' :'2AD3A1049CA5D4ED207B2431C79A8719BB4073D4A94E450EA6CEE8A760EB07ADB67C0D52C275EE85D7B52789061EE45F2F37D9B2AE522A51C28329766BFE68AC', + 'x' :'16CBB4F46D9ECCF24FF9F7E63CAA3BD8936341555062AB', + 'k' :'8A3D89A4E429FD2476D7D717251FB79BF900FFE77444E6BB8299DC3F84D0DD57ABAB50732AE158EA52F5B9E7D8813E81FD9F79470AE22F8F1CF9AEC820A78C69', + 'h' :'48656C6C6F207468657265', + 'sig1':'BE001AABAFFF976EC9016198FBFEA14CBEF96B000CCC0063D3324016F9E91FE80D8F9325812ED24DDB2B4D4CF4430B169880B3CE88313B53255BD4EC0378586F', + 'sig2':'5E266F3F837BA204E3BBB6DBECC0611429D96F8C7CE8F4EFDF9D4CB681C2A954468A357BF4242CEC7418B51DFC081BCD21299EF5B5A0DDEF3A139A1817503DDE', + } + ] + + def test_generate_180(self): + self._test_random_key(180) + + def test_encryption(self): + for tv in self.tve: + d = self.convert_tv(tv, True) + key = ElGamal.construct(d['key']) + ct = key._encrypt(d['pt'], d['k']) + self.assertEquals(ct[0], d['ct1']) + self.assertEquals(ct[1], d['ct2']) + + def test_decryption(self): + for tv in self.tve: + d = self.convert_tv(tv, True) + key = ElGamal.construct(d['key']) + pt = key._decrypt((d['ct1'], d['ct2'])) + self.assertEquals(pt, d['pt']) + + def test_signing(self): + for tv in self.tvs: + d = self.convert_tv(tv, True) + key = ElGamal.construct(d['key']) + sig1, sig2 = key._sign(d['h'], d['k']) + self.assertEquals(sig1, d['sig1']) + self.assertEquals(sig2, d['sig2']) + + def test_verification(self): + for tv in self.tvs: + d = self.convert_tv(tv, True) + key = ElGamal.construct(d['key']) + # Positive test + res = key._verify( d['h'], (d['sig1'],d['sig2']) ) + self.failUnless(res) + # Negative test + res = key._verify( d['h'], (d['sig1']+1,d['sig2']) ) + self.failIf(res) + + def test_bad_key3(self): + tup = tup0 = list(self.convert_tv(self.tvs[0], 1)['key'])[:3] + tup[0] += 1 # p += 1 (not prime) + self.assertRaises(ValueError, ElGamal.construct, tup) + + tup = tup0 + tup[1] = 1 # g = 1 + self.assertRaises(ValueError, ElGamal.construct, tup) + + tup = tup0 + tup[2] = tup[0]*2 # y = 2*p + self.assertRaises(ValueError, ElGamal.construct, tup) + + def test_bad_key4(self): + tup = tup0 = list(self.convert_tv(self.tvs[0], 1)['key']) + tup[3] += 1 # x += 1 + self.assertRaises(ValueError, ElGamal.construct, tup) + + def convert_tv(self, tv, as_longs=0): + """Convert a test vector from textual form (hexadecimal ascii + to either integers or byte strings.""" + key_comps = 'p','g','y','x' + tv2 = {} + for c in tv.keys(): + tv2[c] = a2b_hex(tv[c]) + if as_longs or c in key_comps or c in ('sig1','sig2'): + tv2[c] = bytes_to_long(tv2[c]) + tv2['key']=[] + for c in key_comps: + tv2['key'] += [tv2[c]] + del tv2[c] + return tv2 + + def _test_random_key(self, bits): + elgObj = ElGamal.generate(bits, Random.new().read) + self._check_private_key(elgObj) + self._exercise_primitive(elgObj) + pub = elgObj.publickey() + self._check_public_key(pub) + self._exercise_public_primitive(elgObj) + + def _check_private_key(self, elgObj): + + # Check capabilities + self.failUnless(elgObj.has_private()) + + # Sanity check key data + self.failUnless(1 +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.PublicKey.RSA""" + +__revision__ = "$Id$" + +import os +import pickle +from pickle import PicklingError +from Crypto.Util.py3compat import * + +import unittest +from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex + +class RSATest(unittest.TestCase): + # Test vectors from "RSA-OAEP and RSA-PSS test vectors (.zip file)" + # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip + # See RSADSI's PKCS#1 page at + # http://www.rsa.com/rsalabs/node.asp?id=2125 + + # from oaep-int.txt + + # TODO: PyCrypto treats the message as starting *after* the leading "00" + # TODO: That behaviour should probably be changed in the future. + plaintext = """ + eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 + ca 82 31 0b 26 dc d8 7d 5c 68 f1 ee a8 f5 52 67 + c3 1b 2e 8b b4 25 1f 84 d7 e0 b2 c0 46 26 f5 af + f9 3e dc fb 25 c9 c2 b3 ff 8a e1 0e 83 9a 2d db + 4c dc fe 4f f4 77 28 b4 a1 b7 c1 36 2b aa d2 9a + b4 8d 28 69 d5 02 41 21 43 58 11 59 1b e3 92 f9 + 82 fb 3e 87 d0 95 ae b4 04 48 db 97 2f 3a c1 4f + 7b c2 75 19 52 81 ce 32 d2 f1 b7 6d 4d 35 3e 2d + """ + + ciphertext = """ + 12 53 e0 4d c0 a5 39 7b b4 4a 7a b8 7e 9b f2 a0 + 39 a3 3d 1e 99 6f c8 2a 94 cc d3 00 74 c9 5d f7 + 63 72 20 17 06 9e 52 68 da 5d 1c 0b 4f 87 2c f6 + 53 c1 1d f8 23 14 a6 79 68 df ea e2 8d ef 04 bb + 6d 84 b1 c3 1d 65 4a 19 70 e5 78 3b d6 eb 96 a0 + 24 c2 ca 2f 4a 90 fe 9f 2e f5 c9 c1 40 e5 bb 48 + da 95 36 ad 87 00 c8 4f c9 13 0a de a7 4e 55 8d + 51 a7 4d df 85 d8 b5 0d e9 68 38 d6 06 3e 09 55 + """ + + modulus = """ + bb f8 2f 09 06 82 ce 9c 23 38 ac 2b 9d a8 71 f7 + 36 8d 07 ee d4 10 43 a4 40 d6 b6 f0 74 54 f5 1f + b8 df ba af 03 5c 02 ab 61 ea 48 ce eb 6f cd 48 + 76 ed 52 0d 60 e1 ec 46 19 71 9d 8a 5b 8b 80 7f + af b8 e0 a3 df c7 37 72 3e e6 b4 b7 d9 3a 25 84 + ee 6a 64 9d 06 09 53 74 88 34 b2 45 45 98 39 4e + e0 aa b1 2d 7b 61 a5 1f 52 7a 9a 41 f6 c1 68 7f + e2 53 72 98 ca 2a 8f 59 46 f8 e5 fd 09 1d bd cb + """ + + e = 0x11 # public exponent + + prime_factor = """ + c9 7f b1 f0 27 f4 53 f6 34 12 33 ea aa d1 d9 35 + 3f 6c 42 d0 88 66 b1 d0 5a 0f 20 35 02 8b 9d 86 + 98 40 b4 16 66 b4 2e 92 ea 0d a3 b4 32 04 b5 cf + ce 33 52 52 4d 04 16 a5 a4 41 e7 00 af 46 15 03 + """ + + def setUp(self): + global RSA, Random, bytes_to_long + from Crypto.PublicKey import RSA + from Crypto import Random + from Crypto.Util.number import bytes_to_long, inverse + self.n = bytes_to_long(a2b_hex(self.modulus)) + self.p = bytes_to_long(a2b_hex(self.prime_factor)) + + # Compute q, d, and u from n, e, and p + self.q = self.n // self.p + self.d = inverse(self.e, (self.p-1)*(self.q-1)) + self.u = inverse(self.p, self.q) # u = e**-1 (mod q) + + self.rsa = RSA + + def test_generate_1arg(self): + """RSA (default implementation) generated key (1 argument)""" + rsaObj = self.rsa.generate(1024) + self._check_private_key(rsaObj) + self._exercise_primitive(rsaObj) + pub = rsaObj.publickey() + self._check_public_key(pub) + self._exercise_public_primitive(rsaObj) + + def test_generate_2arg(self): + """RSA (default implementation) generated key (2 arguments)""" + rsaObj = self.rsa.generate(1024, Random.new().read) + self._check_private_key(rsaObj) + self._exercise_primitive(rsaObj) + pub = rsaObj.publickey() + self._check_public_key(pub) + self._exercise_public_primitive(rsaObj) + + def test_generate_3args(self): + rsaObj = self.rsa.generate(1024, Random.new().read,e=65537) + self._check_private_key(rsaObj) + self._exercise_primitive(rsaObj) + pub = rsaObj.publickey() + self._check_public_key(pub) + self._exercise_public_primitive(rsaObj) + self.assertEqual(65537,rsaObj.e) + + def test_construct_2tuple(self): + """RSA (default implementation) constructed key (2-tuple)""" + pub = self.rsa.construct((self.n, self.e)) + self._check_public_key(pub) + self._check_encryption(pub) + + def test_construct_3tuple(self): + """RSA (default implementation) constructed key (3-tuple)""" + rsaObj = self.rsa.construct((self.n, self.e, self.d)) + self._check_encryption(rsaObj) + self._check_decryption(rsaObj) + + def test_construct_4tuple(self): + """RSA (default implementation) constructed key (4-tuple)""" + rsaObj = self.rsa.construct((self.n, self.e, self.d, self.p)) + self._check_encryption(rsaObj) + self._check_decryption(rsaObj) + + def test_construct_5tuple(self): + """RSA (default implementation) constructed key (5-tuple)""" + rsaObj = self.rsa.construct((self.n, self.e, self.d, self.p, self.q)) + self._check_private_key(rsaObj) + self._check_encryption(rsaObj) + self._check_decryption(rsaObj) + + def test_construct_6tuple(self): + """RSA (default implementation) constructed key (6-tuple)""" + rsaObj = self.rsa.construct((self.n, self.e, self.d, self.p, self.q, self.u)) + self._check_private_key(rsaObj) + self._check_encryption(rsaObj) + self._check_decryption(rsaObj) + + def test_construct_bad_key2(self): + tup = (self.n, 1) + self.assertRaises(ValueError, self.rsa.construct, tup) + + # An even modulus is wrong + tup = (self.n+1, self.e) + self.assertRaises(ValueError, self.rsa.construct, tup) + + def test_construct_bad_key3(self): + tup = (self.n, self.e, self.d+1) + self.assertRaises(ValueError, self.rsa.construct, tup) + + def test_construct_bad_key5(self): + tup = (self.n, self.e, self.d, self.p, self.p) + self.assertRaises(ValueError, self.rsa.construct, tup) + + tup = (self.p*self.p, self.e, self.p, self.p) + self.assertRaises(ValueError, self.rsa.construct, tup) + + tup = (self.p*self.p, 3, self.p, self.q) + self.assertRaises(ValueError, self.rsa.construct, tup) + + def test_construct_bad_key6(self): + tup = (self.n, self.e, self.d, self.p, self.q, 10) + self.assertRaises(ValueError, self.rsa.construct, tup) + + from Crypto.Util.number import inverse + tup = (self.n, self.e, self.d, self.p, self.q, inverse(self.q, self.p)) + self.assertRaises(ValueError, self.rsa.construct, tup) + + def test_factoring(self): + rsaObj = self.rsa.construct([self.n, self.e, self.d]) + self.failUnless(rsaObj.p==self.p or rsaObj.p==self.q) + self.failUnless(rsaObj.q==self.p or rsaObj.q==self.q) + self.failUnless(rsaObj.q*rsaObj.p == self.n) + + self.assertRaises(ValueError, self.rsa.construct, [self.n, self.e, self.n-1]) + + def test_repr(self): + rsaObj = self.rsa.construct((self.n, self.e, self.d, self.p, self.q)) + repr(rsaObj) + + def test_serialization(self): + """RSA keys are unpickable""" + + rsa_key = self.rsa.generate(1024) + self.assertRaises(PicklingError, pickle.dumps, rsa_key) + + def test_raw_rsa_boundary(self): + # The argument of every RSA raw operation (encrypt/decrypt) must be positive + # and no larger than the modulus + rsa_obj = self.rsa.generate(1024) + + self.assertRaises(ValueError, rsa_obj._decrypt, rsa_obj.n) + self.assertRaises(ValueError, rsa_obj._encrypt, rsa_obj.n) + + self.assertRaises(ValueError, rsa_obj._decrypt, 0) + self.assertRaises(ValueError, rsa_obj._encrypt, 0) + + def test_size(self): + pub = self.rsa.construct((self.n, self.e)) + self.assertEquals(pub.size_in_bits(), 1024) + self.assertEquals(pub.size_in_bytes(), 128) + + def _check_private_key(self, rsaObj): + from Crypto.Math.Numbers import Integer + + # Check capabilities + self.assertEqual(1, rsaObj.has_private()) + + # Sanity check key data + self.assertEqual(rsaObj.n, rsaObj.p * rsaObj.q) # n = pq + lcm = int(Integer(rsaObj.p-1).lcm(rsaObj.q-1)) + self.assertEqual(1, rsaObj.d * rsaObj.e % lcm) # ed = 1 (mod LCM(p-1, q-1)) + self.assertEqual(1, rsaObj.p * rsaObj.u % rsaObj.q) # pu = 1 (mod q) + self.assertEqual(1, rsaObj.p > 1) # p > 1 + self.assertEqual(1, rsaObj.q > 1) # q > 1 + self.assertEqual(1, rsaObj.e > 1) # e > 1 + self.assertEqual(1, rsaObj.d > 1) # d > 1 + + def _check_public_key(self, rsaObj): + ciphertext = a2b_hex(self.ciphertext) + + # Check capabilities + self.assertEqual(0, rsaObj.has_private()) + + # Check rsaObj.[ne] -> rsaObj.[ne] mapping + self.assertEqual(rsaObj.n, rsaObj.n) + self.assertEqual(rsaObj.e, rsaObj.e) + + # Check that private parameters are all missing + self.assertEqual(0, hasattr(rsaObj, 'd')) + self.assertEqual(0, hasattr(rsaObj, 'p')) + self.assertEqual(0, hasattr(rsaObj, 'q')) + self.assertEqual(0, hasattr(rsaObj, 'u')) + + # Sanity check key data + self.assertEqual(1, rsaObj.e > 1) # e > 1 + + # Public keys should not be able to sign or decrypt + self.assertRaises(TypeError, rsaObj._decrypt, + bytes_to_long(ciphertext)) + + # Check __eq__ and __ne__ + self.assertEqual(rsaObj.publickey() == rsaObj.publickey(),True) # assert_ + self.assertEqual(rsaObj.publickey() != rsaObj.publickey(),False) # failIf + + def _exercise_primitive(self, rsaObj): + # Since we're using a randomly-generated key, we can't check the test + # vector, but we can make sure encryption and decryption are inverse + # operations. + ciphertext = bytes_to_long(a2b_hex(self.ciphertext)) + + # Test decryption + plaintext = rsaObj._decrypt(ciphertext) + + # Test encryption (2 arguments) + new_ciphertext2 = rsaObj._encrypt(plaintext) + self.assertEqual(ciphertext, new_ciphertext2) + + def _exercise_public_primitive(self, rsaObj): + plaintext = a2b_hex(self.plaintext) + + # Test encryption (2 arguments) + new_ciphertext2 = rsaObj._encrypt(bytes_to_long(plaintext)) + + def _check_encryption(self, rsaObj): + plaintext = a2b_hex(self.plaintext) + ciphertext = a2b_hex(self.ciphertext) + + # Test encryption + new_ciphertext2 = rsaObj._encrypt(bytes_to_long(plaintext)) + self.assertEqual(bytes_to_long(ciphertext), new_ciphertext2) + + def _check_decryption(self, rsaObj): + plaintext = bytes_to_long(a2b_hex(self.plaintext)) + ciphertext = bytes_to_long(a2b_hex(self.ciphertext)) + + # Test plain decryption + new_plaintext = rsaObj._decrypt(ciphertext) + self.assertEqual(plaintext, new_plaintext) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(RSATest) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_DSA.py b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_DSA.py new file mode 100644 index 000000000..2454e5008 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_DSA.py @@ -0,0 +1,550 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/PublicKey/test_import_DSA.py: Self-test for importing DSA keys +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +import unittest +import re + +from Crypto.PublicKey import DSA +from Crypto.SelfTest.st_common import * +from Crypto.Util.py3compat import * + +from binascii import unhexlify + +class ImportKeyTests(unittest.TestCase): + + y = 92137165128186062214622779787483327510946462589285775188003362705875131352591574106484271700740858696583623951844732128165434284507709057439633739849986759064015013893156866539696757799934634945787496920169462601722830899660681779448742875054459716726855443681559131362852474817534616736104831095601710736729 + p = 162452170958135306109773853318304545923250830605675936228618290525164105310663722368377131295055868997377338797580997938253236213714988311430600065853662861806894003694743806769284131194035848116051021923956699231855223389086646903420682639786976554552864568460372266462812137447840653688476258666833303658691 + q = 988791743931120302950649732173330531512663554851 + g = 85583152299197514738065570254868711517748965097380456700369348466136657764813442044039878840094809620913085570225318356734366886985903212775602770761953571967834823306046501307810937486758039063386311593890777319935391363872375452381836756832784184928202587843258855704771836753434368484556809100537243908232 + x = 540873410045082450874416847965843801027716145253 + + def setUp(self): + + # It is easier to write test vectors in text form, + # and convert them to byte strigs dynamically here + for mname, mvalue in ImportKeyTests.__dict__.items(): + if mname[:4] in ('der_', 'pem_', 'ssh_'): + if mname[:4] == 'der_': + mvalue = unhexlify(tobytes(mvalue)) + mvalue = tobytes(mvalue) + setattr(self, mname, mvalue) + + # 1. SubjectPublicKeyInfo + der_public=\ + '308201b73082012b06072a8648ce3804013082011e02818100e756ee1717f4b6'+\ + '794c7c214724a19763742c45572b4b3f8ff3b44f3be9f44ce039a2757695ec91'+\ + '5697da74ef914fcd1b05660e2419c761d639f45d2d79b802dbd23e7ab8b81b47'+\ + '9a380e1f30932584ba2a0b955032342ebc83cb5ca906e7b0d7cd6fe656cecb4c'+\ + '8b5a77123a8c6750a481e3b06057aff6aa6eba620b832d60c3021500ad32f48c'+\ + 'd3ae0c45a198a61fa4b5e20320763b2302818079dfdc3d614fe635fceb7eaeae'+\ + '3718dc2efefb45282993ac6749dc83c223d8c1887296316b3b0b54466cf444f3'+\ + '4b82e3554d0b90a778faaf1306f025dae6a3e36c7f93dd5bac4052b92370040a'+\ + 'ca70b8d5820599711900efbc961812c355dd9beffe0981da85c5548074b41c56'+\ + 'ae43fd300d89262e4efd89943f99a651b03888038185000281810083352a69a1'+\ + '32f34843d2a0eb995bff4e2f083a73f0049d2c91ea2f0ce43d144abda48199e4'+\ + 'b003c570a8af83303d45105f606c5c48d925a40ed9c2630c2fa4cdbf838539de'+\ + 'b9a29f919085f2046369f627ca84b2cb1e2c7940564b670f963ab1164d4e2ca2'+\ + 'bf6ffd39f12f548928bf4d2d1b5e6980b4f1be4c92a91986fba559' + + def testImportKey1(self): + key_obj = DSA.importKey(self.der_public) + self.failIf(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + + def testExportKey1(self): + tup = (self.y, self.g, self.p, self.q) + key = DSA.construct(tup) + encoded = key.export_key('DER') + self.assertEqual(self.der_public, encoded) + + # 2. + pem_public="""\ +-----BEGIN PUBLIC KEY----- +MIIBtzCCASsGByqGSM44BAEwggEeAoGBAOdW7hcX9LZ5THwhRyShl2N0LEVXK0s/ +j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4uBtH +mjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47BgV6/2 +qm66YguDLWDDAhUArTL0jNOuDEWhmKYfpLXiAyB2OyMCgYB539w9YU/mNfzrfq6u +NxjcLv77RSgpk6xnSdyDwiPYwYhyljFrOwtURmz0RPNLguNVTQuQp3j6rxMG8CXa +5qPjbH+T3VusQFK5I3AECspwuNWCBZlxGQDvvJYYEsNV3Zvv/gmB2oXFVIB0tBxW +rkP9MA2JJi5O/YmUP5mmUbA4iAOBhQACgYEAgzUqaaEy80hD0qDrmVv/Ti8IOnPw +BJ0skeovDOQ9FEq9pIGZ5LADxXCor4MwPUUQX2BsXEjZJaQO2cJjDC+kzb+DhTne +uaKfkZCF8gRjafYnyoSyyx4seUBWS2cPljqxFk1OLKK/b/058S9UiSi/TS0bXmmA +tPG+TJKpGYb7pVk= +-----END PUBLIC KEY-----""" + + def testImportKey2(self): + for pem in (self.pem_public, tostr(self.pem_public)): + key_obj = DSA.importKey(pem) + self.failIf(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + + def testExportKey2(self): + tup = (self.y, self.g, self.p, self.q) + key = DSA.construct(tup) + encoded = key.export_key('PEM') + self.assertEqual(self.pem_public, encoded) + + # 3. OpenSSL/OpenSSH format + der_private=\ + '308201bb02010002818100e756ee1717f4b6794c7c214724a19763742c45572b'+\ + '4b3f8ff3b44f3be9f44ce039a2757695ec915697da74ef914fcd1b05660e2419'+\ + 'c761d639f45d2d79b802dbd23e7ab8b81b479a380e1f30932584ba2a0b955032'+\ + '342ebc83cb5ca906e7b0d7cd6fe656cecb4c8b5a77123a8c6750a481e3b06057'+\ + 'aff6aa6eba620b832d60c3021500ad32f48cd3ae0c45a198a61fa4b5e2032076'+\ + '3b2302818079dfdc3d614fe635fceb7eaeae3718dc2efefb45282993ac6749dc'+\ + '83c223d8c1887296316b3b0b54466cf444f34b82e3554d0b90a778faaf1306f0'+\ + '25dae6a3e36c7f93dd5bac4052b92370040aca70b8d5820599711900efbc9618'+\ + '12c355dd9beffe0981da85c5548074b41c56ae43fd300d89262e4efd89943f99'+\ + 'a651b038880281810083352a69a132f34843d2a0eb995bff4e2f083a73f0049d'+\ + '2c91ea2f0ce43d144abda48199e4b003c570a8af83303d45105f606c5c48d925'+\ + 'a40ed9c2630c2fa4cdbf838539deb9a29f919085f2046369f627ca84b2cb1e2c'+\ + '7940564b670f963ab1164d4e2ca2bf6ffd39f12f548928bf4d2d1b5e6980b4f1'+\ + 'be4c92a91986fba55902145ebd9a3f0b82069d98420986b314215025756065' + + def testImportKey3(self): + key_obj = DSA.importKey(self.der_private) + self.failUnless(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + self.assertEqual(self.x, key_obj.x) + + def testExportKey3(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + encoded = key.export_key('DER', pkcs8=False) + self.assertEqual(self.der_private, encoded) + + # 4. + pem_private="""\ +-----BEGIN DSA PRIVATE KEY----- +MIIBuwIBAAKBgQDnVu4XF/S2eUx8IUckoZdjdCxFVytLP4/ztE876fRM4DmidXaV +7JFWl9p075FPzRsFZg4kGcdh1jn0XS15uALb0j56uLgbR5o4Dh8wkyWEuioLlVAy +NC68g8tcqQbnsNfNb+ZWzstMi1p3EjqMZ1CkgeOwYFev9qpuumILgy1gwwIVAK0y +9IzTrgxFoZimH6S14gMgdjsjAoGAed/cPWFP5jX8636urjcY3C7++0UoKZOsZ0nc +g8Ij2MGIcpYxazsLVEZs9ETzS4LjVU0LkKd4+q8TBvAl2uaj42x/k91brEBSuSNw +BArKcLjVggWZcRkA77yWGBLDVd2b7/4JgdqFxVSAdLQcVq5D/TANiSYuTv2JlD+Z +plGwOIgCgYEAgzUqaaEy80hD0qDrmVv/Ti8IOnPwBJ0skeovDOQ9FEq9pIGZ5LAD +xXCor4MwPUUQX2BsXEjZJaQO2cJjDC+kzb+DhTneuaKfkZCF8gRjafYnyoSyyx4s +eUBWS2cPljqxFk1OLKK/b/058S9UiSi/TS0bXmmAtPG+TJKpGYb7pVkCFF69mj8L +ggadmEIJhrMUIVAldWBl +-----END DSA PRIVATE KEY-----""" + + def testImportKey4(self): + for pem in (self.pem_private, tostr(self.pem_private)): + key_obj = DSA.importKey(pem) + self.failUnless(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + self.assertEqual(self.x, key_obj.x) + + def testExportKey4(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + encoded = key.export_key('PEM', pkcs8=False) + self.assertEqual(self.pem_private, encoded) + + # 5. PKCS8 (unencrypted) + der_pkcs8=\ + '3082014a0201003082012b06072a8648ce3804013082011e02818100e756ee17'+\ + '17f4b6794c7c214724a19763742c45572b4b3f8ff3b44f3be9f44ce039a27576'+\ + '95ec915697da74ef914fcd1b05660e2419c761d639f45d2d79b802dbd23e7ab8'+\ + 'b81b479a380e1f30932584ba2a0b955032342ebc83cb5ca906e7b0d7cd6fe656'+\ + 'cecb4c8b5a77123a8c6750a481e3b06057aff6aa6eba620b832d60c3021500ad'+\ + '32f48cd3ae0c45a198a61fa4b5e20320763b2302818079dfdc3d614fe635fceb'+\ + '7eaeae3718dc2efefb45282993ac6749dc83c223d8c1887296316b3b0b54466c'+\ + 'f444f34b82e3554d0b90a778faaf1306f025dae6a3e36c7f93dd5bac4052b923'+\ + '70040aca70b8d5820599711900efbc961812c355dd9beffe0981da85c5548074'+\ + 'b41c56ae43fd300d89262e4efd89943f99a651b03888041602145ebd9a3f0b82'+\ + '069d98420986b314215025756065' + + def testImportKey5(self): + key_obj = DSA.importKey(self.der_pkcs8) + self.failUnless(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + self.assertEqual(self.x, key_obj.x) + + def testExportKey5(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + encoded = key.export_key('DER') + self.assertEqual(self.der_pkcs8, encoded) + encoded = key.export_key('DER', pkcs8=True) + self.assertEqual(self.der_pkcs8, encoded) + + # 6. + pem_pkcs8="""\ +-----BEGIN PRIVATE KEY----- +MIIBSgIBADCCASsGByqGSM44BAEwggEeAoGBAOdW7hcX9LZ5THwhRyShl2N0LEVX +K0s/j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4 +uBtHmjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47Bg +V6/2qm66YguDLWDDAhUArTL0jNOuDEWhmKYfpLXiAyB2OyMCgYB539w9YU/mNfzr +fq6uNxjcLv77RSgpk6xnSdyDwiPYwYhyljFrOwtURmz0RPNLguNVTQuQp3j6rxMG +8CXa5qPjbH+T3VusQFK5I3AECspwuNWCBZlxGQDvvJYYEsNV3Zvv/gmB2oXFVIB0 +tBxWrkP9MA2JJi5O/YmUP5mmUbA4iAQWAhRevZo/C4IGnZhCCYazFCFQJXVgZQ== +-----END PRIVATE KEY-----""" + + def testImportKey6(self): + for pem in (self.pem_pkcs8, tostr(self.pem_pkcs8)): + key_obj = DSA.importKey(pem) + self.failUnless(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + self.assertEqual(self.x, key_obj.x) + + def testExportKey6(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + encoded = key.export_key('PEM') + self.assertEqual(self.pem_pkcs8, encoded) + encoded = key.export_key('PEM', pkcs8=True) + self.assertEqual(self.pem_pkcs8, encoded) + + # 7. OpenSSH/RFC4253 + ssh_pub="""ssh-dss AAAAB3NzaC1kc3MAAACBAOdW7hcX9LZ5THwhRyShl2N0LEVXK0s/j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4uBtHmjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47BgV6/2qm66YguDLWDDAAAAFQCtMvSM064MRaGYph+kteIDIHY7IwAAAIB539w9YU/mNfzrfq6uNxjcLv77RSgpk6xnSdyDwiPYwYhyljFrOwtURmz0RPNLguNVTQuQp3j6rxMG8CXa5qPjbH+T3VusQFK5I3AECspwuNWCBZlxGQDvvJYYEsNV3Zvv/gmB2oXFVIB0tBxWrkP9MA2JJi5O/YmUP5mmUbA4iAAAAIEAgzUqaaEy80hD0qDrmVv/Ti8IOnPwBJ0skeovDOQ9FEq9pIGZ5LADxXCor4MwPUUQX2BsXEjZJaQO2cJjDC+kzb+DhTneuaKfkZCF8gRjafYnyoSyyx4seUBWS2cPljqxFk1OLKK/b/058S9UiSi/TS0bXmmAtPG+TJKpGYb7pVk=""" + + def testImportKey7(self): + for ssh in (self.ssh_pub, tostr(self.ssh_pub)): + key_obj = DSA.importKey(ssh) + self.failIf(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + + def testExportKey7(self): + tup = (self.y, self.g, self.p, self.q) + key = DSA.construct(tup) + encoded = key.export_key('OpenSSH') + self.assertEqual(self.ssh_pub, encoded) + + # 8. Encrypted OpenSSL/OpenSSH + pem_private_encrypted="""\ +-----BEGIN DSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-128-CBC,70B6908939D65E9F2EB999E8729788CE + +4V6GHRDpCrdZ8MBjbyp5AlGUrjvr2Pn2e2zVxy5RBt4FBj9/pa0ae0nnyUPMLSUU +kKyOR0topRYTVRLElm4qVrb5uNZ3hRwfbklr+pSrB7O9eHz9V5sfOQxyODS07JxK +k1OdOs70/ouMXLF9EWfAZOmWUccZKHNblUwg1p1UrZIz5jXw4dUE/zqhvXh6d+iC +ADsICaBCjCrRQJKDp50h3+ndQjkYBKVH+pj8TiQ79U7lAvdp3+iMghQN6YXs9mdI +gFpWw/f97oWM4GHZFqHJ+VSMNFjBiFhAvYV587d7Lk4dhD8sCfbxj42PnfRgUItc +nnPqHxmhMQozBWzYM4mQuo3XbF2WlsNFbOzFVyGhw1Bx1s91qvXBVWJh2ozrW0s6 +HYDV7ZkcTml/4kjA/d+mve6LZ8kuuR1qCiZx6rkffhh1gDN/1Xz3HVvIy/dQ+h9s +5zp7PwUoWbhqp3WCOr156P6gR8qo7OlT6wMh33FSXK/mxikHK136fV2shwTKQVII +rJBvXpj8nACUmi7scKuTWGeUoXa+dwTZVVe+b+L2U1ZM7+h/neTJiXn7u99PFUwu +xVJtxaV37m3aXxtCsPnbBg== +-----END DSA PRIVATE KEY-----""" + + def testImportKey8(self): + for pem in (self.pem_private_encrypted, tostr(self.pem_private_encrypted)): + key_obj = DSA.importKey(pem, "PWDTEST") + self.failUnless(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + self.assertEqual(self.x, key_obj.x) + + def testExportKey8(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + encoded = key.export_key('PEM', pkcs8=False, passphrase="PWDTEST") + key = DSA.importKey(encoded, "PWDTEST") + self.assertEqual(self.y, key.y) + self.assertEqual(self.p, key.p) + self.assertEqual(self.q, key.q) + self.assertEqual(self.g, key.g) + self.assertEqual(self.x, key.x) + + # 9. Encrypted PKCS8 + # pbeWithMD5AndDES-CBC + pem_pkcs8_encrypted="""\ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBcTAbBgkqhkiG9w0BBQMwDgQI0GC3BJ/jSw8CAggABIIBUHc1cXZpExIE9tC7 +7ryiW+5ihtF2Ekurq3e408GYSAu5smJjN2bvQXmzRFBz8W38K8eMf1sbWroZ4+zn +kZSbb9nSm5kAa8lR2+oF2k+WRswMR/PTC3f/D9STO2X0QxdrzKgIHEcSGSHp5jTx +aVvbkCDHo9vhBTl6S3ogZ48As/MEro76+9igUwJ1jNhIQZPJ7e20QH5qDpQFFJN4 +CKl2ENSEuwGiqBszItFy4dqH0g63ZGZV/xt9wSO9Rd7SK/EbA/dklOxBa5Y/VItM +gnIhs9XDMoGYyn6F023EicNJm6g/bVQk81BTTma4tm+12TKGdYm+QkeZvCOMZylr +Wv67cKwO3cAXt5C3QXMDgYR64XvuaT5h7C0igMp2afSXJlnbHEbFxQVJlv83T4FM +eZ4k+NQDbEL8GiHmFxzDWQAuPPZKJWEEEV2p/To+WOh+kSDHQw== +-----END ENCRYPTED PRIVATE KEY-----""" + + def testImportKey9(self): + for pem in (self.pem_pkcs8_encrypted, tostr(self.pem_pkcs8_encrypted)): + key_obj = DSA.importKey(pem, "PWDTEST") + self.failUnless(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + self.assertEqual(self.x, key_obj.x) + + # 10. Encrypted PKCS8 + # pkcs5PBES2 / + # pkcs5PBKDF2 (rounds=1000, salt=D725BF1B6B8239F4) / + # des-EDE3-CBC (iv=27A1C66C42AFEECE) + # + der_pkcs8_encrypted=\ + '30820196304006092a864886f70d01050d3033301b06092a864886f70d01050c'+\ + '300e0408d725bf1b6b8239f4020203e8301406082a864886f70d0307040827a1'+\ + 'c66c42afeece048201505cacfde7bf8edabb3e0d387950dc872662ea7e9b1ed4'+\ + '400d2e7e6186284b64668d8d0328c33a9d9397e6f03df7cb68268b0a06b4e22f'+\ + '7d132821449ecf998a8b696dbc6dd2b19e66d7eb2edfeb4153c1771d49702395'+\ + '4f36072868b5fcccf93413a5ac4b2eb47d4b3f681c6bd67ae363ed776f45ae47'+\ + '174a00098a7c930a50f820b227ddf50f9742d8e950d02586ff2dac0e3c372248'+\ + 'e5f9b6a7a02f4004f20c87913e0f7b52bccc209b95d478256a890b31d4c9adec'+\ + '21a4d157a179a93a3dad06f94f3ce486b46dfa7fc15fd852dd7680bbb2f17478'+\ + '7e71bd8dbaf81eca7518d76c1d26256e95424864ba45ca5d47d7c5a421be02fa'+\ + 'b94ab01e18593f66cf9094eb5c94b9ecf3aa08b854a195cf87612fbe5e96c426'+\ + '2b0d573e52dc71ba3f5e468c601e816c49b7d32c698b22175e89aaef0c443770'+\ + '5ef2f88a116d99d8e2869a4fd09a771b84b49e4ccb79aadcb1c9' + + def testImportKey10(self): + key_obj = DSA.importKey(self.der_pkcs8_encrypted, "PWDTEST") + self.failUnless(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + self.assertEqual(self.x, key_obj.x) + + def testExportKey10(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + randfunc = BytesIO(unhexlify(b("27A1C66C42AFEECE") + b("D725BF1B6B8239F4"))).read + encoded = key.export_key('DER', pkcs8=True, passphrase="PWDTEST", randfunc=randfunc) + self.assertEqual(self.der_pkcs8_encrypted, encoded) + + # ---- + + def testImportError1(self): + self.assertRaises(ValueError, DSA.importKey, self.der_pkcs8_encrypted, "wrongpwd") + + def testExportError2(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + self.assertRaises(ValueError, key.export_key, 'DER', pkcs8=False, passphrase="PWDTEST") + + def test_import_key(self): + """Verify importKey is an alias to import_key""" + + key_obj = DSA.import_key(self.der_public) + self.failIf(key_obj.has_private()) + self.assertEqual(self.y, key_obj.y) + self.assertEqual(self.p, key_obj.p) + self.assertEqual(self.q, key_obj.q) + self.assertEqual(self.g, key_obj.g) + + def test_exportKey(self): + tup = (self.y, self.g, self.p, self.q, self.x) + key = DSA.construct(tup) + self.assertEquals(key.exportKey(), key.export_key()) + + +class ImportKeyFromX509Cert(unittest.TestCase): + + def test_x509v1(self): + + # Sample V1 certificate with a 1024 bit DSA key + x509_v1_cert = """ +-----BEGIN CERTIFICATE----- +MIIDUjCCArsCAQIwDQYJKoZIhvcNAQEFBQAwfjENMAsGA1UEChMEQWNtZTELMAkG +A1UECxMCUkQxHDAaBgkqhkiG9w0BCQEWDXNwYW1AYWNtZS5vcmcxEzARBgNVBAcT +Ck1ldHJvcG9saXMxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQGEwJVUzENMAsG +A1UEAxMEdGVzdDAeFw0xNDA3MTEyMDM4NDNaFw0xNzA0MDYyMDM4NDNaME0xCzAJ +BgNVBAYTAlVTMREwDwYDVQQIEwhOZXcgWW9yazENMAsGA1UEChMEQWNtZTELMAkG +A1UECxMCUkQxDzANBgNVBAMTBnBvbGFuZDCCAbYwggErBgcqhkjOOAQBMIIBHgKB +gQDOrN4Ox4+t3T6wKeHfhzArhcrNEFMQ4Ss+4PIKyimDy9Bn64WPkL1B/9dvYIga +23GLu6tVJmXo6EdJnVOHEMhr99EeOwuDWWeP7Awq7RSlKEejokr4BEzMTW/tExSD +cO6/GI7xzh0eTH+VTTPDfyrJMYCkh0rJAfCP+5xrmPNetwIVALtXYOV1yoRrzJ2Q +M5uEjidH6GiZAoGAfUqA1SAm5g5U68SILMVX9l5rq0OpB0waBMpJQ31/R/yXNDqo +c3gGWZTOJFU4IzwNpGhrGNADUByz/lc1SAOAdEJIr0JVrhbGewQjB4pWqoLGbBKz +RoavTNDc/zD7SYa12evWDHADwvlXoeQg+lWop1zS8OqaDC7aLGKpWN3/m8kDgYQA +AoGAKoirPAfcp1rbbl4y2FFAIktfW8f4+T7d2iKSg73aiVfujhNOt1Zz1lfC0NI2 +eonLWO3tAM4XGKf1TLjb5UXngGn40okPsaA81YE6ZIKm20ywjlOY3QkAEdMaLVY3 +9PJvM8RGB9m7pLKxyHfGMfF40MVN4222zKeGp7xhM0CNiCUwDQYJKoZIhvcNAQEF +BQADgYEAfbNZfpYa2KlALEM1FZnwvQDvJHntHz8LdeJ4WM7CXDlKi67wY2HKM30w +s2xej75imkVOFd1kF2d0A8sjfriXLVIt1Hwq9ANZomhu4Edx0xpH8tqdh/bDtnM2 +TmduZNY9OWkb07h0CtWD6Zt8fhRllVsSSrlWd/2or7FXNC5weFQ= +-----END CERTIFICATE----- + """.strip() + + # DSA public key as dumped by openssl + y_str = """ +2a:88:ab:3c:07:dc:a7:5a:db:6e:5e:32:d8:51:40: +22:4b:5f:5b:c7:f8:f9:3e:dd:da:22:92:83:bd:da: +89:57:ee:8e:13:4e:b7:56:73:d6:57:c2:d0:d2:36: +7a:89:cb:58:ed:ed:00:ce:17:18:a7:f5:4c:b8:db: +e5:45:e7:80:69:f8:d2:89:0f:b1:a0:3c:d5:81:3a: +64:82:a6:db:4c:b0:8e:53:98:dd:09:00:11:d3:1a: +2d:56:37:f4:f2:6f:33:c4:46:07:d9:bb:a4:b2:b1: +c8:77:c6:31:f1:78:d0:c5:4d:e3:6d:b6:cc:a7:86: +a7:bc:61:33:40:8d:88:25 + """ + p_str = """ +00:ce:ac:de:0e:c7:8f:ad:dd:3e:b0:29:e1:df:87: +30:2b:85:ca:cd:10:53:10:e1:2b:3e:e0:f2:0a:ca: +29:83:cb:d0:67:eb:85:8f:90:bd:41:ff:d7:6f:60: +88:1a:db:71:8b:bb:ab:55:26:65:e8:e8:47:49:9d: +53:87:10:c8:6b:f7:d1:1e:3b:0b:83:59:67:8f:ec: +0c:2a:ed:14:a5:28:47:a3:a2:4a:f8:04:4c:cc:4d: +6f:ed:13:14:83:70:ee:bf:18:8e:f1:ce:1d:1e:4c: +7f:95:4d:33:c3:7f:2a:c9:31:80:a4:87:4a:c9:01: +f0:8f:fb:9c:6b:98:f3:5e:b7 + """ + q_str = """ +00:bb:57:60:e5:75:ca:84:6b:cc:9d:90:33:9b:84: +8e:27:47:e8:68:99 + """ + g_str = """ +7d:4a:80:d5:20:26:e6:0e:54:eb:c4:88:2c:c5:57: +f6:5e:6b:ab:43:a9:07:4c:1a:04:ca:49:43:7d:7f: +47:fc:97:34:3a:a8:73:78:06:59:94:ce:24:55:38: +23:3c:0d:a4:68:6b:18:d0:03:50:1c:b3:fe:57:35: +48:03:80:74:42:48:af:42:55:ae:16:c6:7b:04:23: +07:8a:56:aa:82:c6:6c:12:b3:46:86:af:4c:d0:dc: +ff:30:fb:49:86:b5:d9:eb:d6:0c:70:03:c2:f9:57: +a1:e4:20:fa:55:a8:a7:5c:d2:f0:ea:9a:0c:2e:da: +2c:62:a9:58:dd:ff:9b:c9 + """ + + key = DSA.importKey(x509_v1_cert) + for comp_name in ('y', 'p', 'q', 'g'): + comp_str = locals()[comp_name + "_str"] + comp = int(re.sub("[^0-9a-f]", "", comp_str), 16) + self.assertEqual(getattr(key, comp_name), comp) + self.failIf(key.has_private()) + + def test_x509v3(self): + + # Sample V3 certificate with a 1024 bit DSA key + x509_v3_cert = """ +-----BEGIN CERTIFICATE----- +MIIFhjCCA26gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVUzEL +MAkGA1UECAwCTUQxEjAQBgNVBAcMCUJhbHRpbW9yZTEQMA4GA1UEAwwHVGVzdCBD +QTEfMB0GCSqGSIb3DQEJARYQdGVzdEBleGFtcGxlLmNvbTAeFw0xNDA3MTMyMDUz +MjBaFw0xNzA0MDgyMDUzMjBaMEAxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNRDES +MBAGA1UEBwwJQmFsdGltb3JlMRAwDgYDVQQDDAdhdXN0cmlhMIIBtjCCASsGByqG +SM44BAEwggEeAoGBALfd8gyEpVPA0ZI69Kp3nyJcu5N0ZZ3K1K9hleQLNqKEcZOh +7a/C2J1TPdmHTLJ0rAwBZ1nWxnARSgRphziGDFspKCYQwYcSMz8KoFgvXbXpuchy +oFACiQ2LqZnc5MakuLQtLcQciSYGYj3zmZdYMoa904F1aDWr+DxQI6DVC3/bAhUA +hqXMCJ6fQK3G2O9S3/CC/yVZXCsCgYBRXROl3R2khX7l10LQjDEgo3B1IzjXU/jP +McMBl6XO+nBJXxr/scbq8Ajiv7LTnGpSjgryHtvfj887kfvo8QbSS3kp3vq5uSqI +ui7E7r3jguWaLj616AG1HWOctXJUjqsiabZwsp2h09gHTzmHEXBOmiARu8xFxKAH +xsuo7onAbwOBhAACgYBylWjWSnKHE8mHx1A5m/0GQx6xnhWIe3+MJAnEhRGxA2J4 +SCsfWU0OwglIQToh1z5uUU9oDi9cYgNPBevOFRnDhc2yaJY6VAYnI+D+6J5IU6Yd +0iaG/iSc4sV4bFr0axcPpse3SN0XaQxiKeSFBfFnoMqL+dd9Gb3QPZSllBcVD6OB +1TCB0jAdBgNVHQ4EFgQUx5wN0Puotv388M9Tp/fsPbZpzAUwHwYDVR0jBBgwFoAU +a0hkif3RMaraiWtsOOZZlLu9wJwwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwSgYD +VR0RBEMwQYILZXhhbXBsZS5jb22CD3d3dy5leGFtcGxlLmNvbYIQbWFpbC5leGFt +cGxlLmNvbYIPZnRwLmV4YW1wbGUuY29tMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM +IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQsFAAOCAgEAyWf1TiJI +aNEIA9o/PG8/JiGASTS2/HBVTJbkq03k6NkJVk/GxC1DPziTUJ+CdWlHWcAi1EOW +Ach3QxNDRrVfCOfCMDgElIO1094/reJgdFYG00LRi8QkRJuxANV7YS4tLudhyHJC +kR2lhdMNmEuzWK+s2y+5cLrdm7qdvdENQCcV67uvGPx4sc+EaE7x13SczKjWBtbo +QCs6JTOW+EkPRl4Zo27K4OIZ43/J+GxvwU9QUVH3wPVdbbLNw+QeTFBYMTEcxyc4 +kv50HPBFaithziXBFyvdIs19FjkFzu0Uz/e0zb1+vMzQlJMD94HVOrMnIj5Sb2cL +KKdYXS4uhxFJmdV091Xur5JkYYwEzuaGav7J3zOzYutrIGTgDluLCvA+VQkRcTsy +jZ065SkY/v+38QHp+cmm8WRluupJTs8wYzVp6Fu0iFaaK7ztFmaZmHpiPIfDFjva +aCIgzzT5NweJd/b71A2SyzHXJ14zBXsr1PMylMp2TpHIidhuuNuQL6I0HaollB4M +Z3FsVBMhVDw4Z76qnFPr8mZE2tar33hSlJI/3pS/bBiukuBk8U7VB0X8OqaUnP3C +7b2Z4G8GtqDVcKGMzkvMjT4n9rKd/Le+qHSsQOGO9W/0LB7UDAZSwUsfAPnoBgdS +5t9tIomLCOstByXi+gGZue1TcdCa3Ph4kO0= +-----END CERTIFICATE----- + """.strip() + + # DSA public key as dumped by openssl + y_str = """ +72:95:68:d6:4a:72:87:13:c9:87:c7:50:39:9b:fd: +06:43:1e:b1:9e:15:88:7b:7f:8c:24:09:c4:85:11: +b1:03:62:78:48:2b:1f:59:4d:0e:c2:09:48:41:3a: +21:d7:3e:6e:51:4f:68:0e:2f:5c:62:03:4f:05:eb: +ce:15:19:c3:85:cd:b2:68:96:3a:54:06:27:23:e0: +fe:e8:9e:48:53:a6:1d:d2:26:86:fe:24:9c:e2:c5: +78:6c:5a:f4:6b:17:0f:a6:c7:b7:48:dd:17:69:0c: +62:29:e4:85:05:f1:67:a0:ca:8b:f9:d7:7d:19:bd: +d0:3d:94:a5:94:17:15:0f + """ + p_str = """ +00:b7:dd:f2:0c:84:a5:53:c0:d1:92:3a:f4:aa:77: +9f:22:5c:bb:93:74:65:9d:ca:d4:af:61:95:e4:0b: +36:a2:84:71:93:a1:ed:af:c2:d8:9d:53:3d:d9:87: +4c:b2:74:ac:0c:01:67:59:d6:c6:70:11:4a:04:69: +87:38:86:0c:5b:29:28:26:10:c1:87:12:33:3f:0a: +a0:58:2f:5d:b5:e9:b9:c8:72:a0:50:02:89:0d:8b: +a9:99:dc:e4:c6:a4:b8:b4:2d:2d:c4:1c:89:26:06: +62:3d:f3:99:97:58:32:86:bd:d3:81:75:68:35:ab: +f8:3c:50:23:a0:d5:0b:7f:db + """ + q_str = """ +00:86:a5:cc:08:9e:9f:40:ad:c6:d8:ef:52:df:f0: +82:ff:25:59:5c:2b + """ + g_str = """ +51:5d:13:a5:dd:1d:a4:85:7e:e5:d7:42:d0:8c:31: +20:a3:70:75:23:38:d7:53:f8:cf:31:c3:01:97:a5: +ce:fa:70:49:5f:1a:ff:b1:c6:ea:f0:08:e2:bf:b2: +d3:9c:6a:52:8e:0a:f2:1e:db:df:8f:cf:3b:91:fb: +e8:f1:06:d2:4b:79:29:de:fa:b9:b9:2a:88:ba:2e: +c4:ee:bd:e3:82:e5:9a:2e:3e:b5:e8:01:b5:1d:63: +9c:b5:72:54:8e:ab:22:69:b6:70:b2:9d:a1:d3:d8: +07:4f:39:87:11:70:4e:9a:20:11:bb:cc:45:c4:a0: +07:c6:cb:a8:ee:89:c0:6f + """ + + key = DSA.importKey(x509_v3_cert) + for comp_name in ('y', 'p', 'q', 'g'): + comp_str = locals()[comp_name + "_str"] + comp = int(re.sub("[^0-9a-f]", "", comp_str), 16) + self.assertEqual(getattr(key, comp_name), comp) + self.failIf(key.has_private()) + + +if __name__ == '__main__': + unittest.main() + +def get_tests(config={}): + tests = [] + tests += list_test_cases(ImportKeyTests) + tests += list_test_cases(ImportKeyFromX509Cert) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_ECC.py b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_ECC.py new file mode 100644 index 000000000..c21e1c8e4 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_ECC.py @@ -0,0 +1,460 @@ +# =================================================================== +# +# Copyright (c) 2015, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.py3compat import bord, tostr +from Crypto.Util.number import bytes_to_long +from Crypto.Hash import SHAKE128 + +from Crypto.PublicKey import ECC + +def load_file(filename, mode="rb"): + comps = [ "Crypto", "SelfTest", "PublicKey", "test_vectors", "ECC" ] + with open(pycryptodome_filename(comps, filename), mode) as fd: + return fd.read() + + +def compact(lines): + ext = b"".join(lines) + return unhexlify(tostr(ext).replace(" ", "").replace(":", "")) + + +def create_ref_keys(): + key_lines = load_file("ecc_p256.txt").splitlines() + private_key_d = bytes_to_long(compact(key_lines[2:5])) + public_key_xy = compact(key_lines[6:11]) + assert bord(public_key_xy[0]) == 4 # Uncompressed + public_key_x = bytes_to_long(public_key_xy[1:33]) + public_key_y = bytes_to_long(public_key_xy[33:]) + + return (ECC.construct(curve="P-256", d=private_key_d), + ECC.construct(curve="P-256", point_x=public_key_x, point_y=public_key_y)) + + +# Create reference key pair +ref_private, ref_public = create_ref_keys() + + +def get_fixed_prng(): + return SHAKE128.new().update(b"SEED").read + + +class TestImport(unittest.TestCase): + + def test_import_public_der(self): + key_file = load_file("ecc_p256_public.der") + + key = ECC._import_subjectPublicKeyInfo(key_file) + self.assertEqual(ref_public, key) + + key = ECC._import_der(key_file, None) + self.assertEqual(ref_public, key) + + key = ECC.import_key(key_file) + self.assertEqual(ref_public, key) + + def test_import_private_der(self): + key_file = load_file("ecc_p256_private.der") + + key = ECC._import_private_der(key_file, None) + self.assertEqual(ref_private, key) + + key = ECC._import_der(key_file, None) + self.assertEqual(ref_private, key) + + key = ECC.import_key(key_file) + self.assertEqual(ref_private, key) + + def test_import_private_pkcs8_clear(self): + key_file = load_file("ecc_p256_private_p8_clear.der") + + key = ECC._import_der(key_file, None) + self.assertEqual(ref_private, key) + + key = ECC.import_key(key_file) + self.assertEqual(ref_private, key) + + def test_import_private_pkcs8_in_pem_clear(self): + key_file = load_file("ecc_p256_private_p8_clear.pem") + + key = ECC.import_key(key_file) + self.assertEqual(ref_private, key) + + def test_import_private_pkcs8_encrypted_1(self): + key_file = load_file("ecc_p256_private_p8.der") + + key = ECC._import_der(key_file, "secret") + self.assertEqual(ref_private, key) + + key = ECC.import_key(key_file, "secret") + self.assertEqual(ref_private, key) + + def test_import_private_pkcs8_encrypted_2(self): + key_file = load_file("ecc_p256_private_p8.pem") + + key = ECC.import_key(key_file, "secret") + self.assertEqual(ref_private, key) + + def test_import_x509_der(self): + key_file = load_file("ecc_p256_x509.der") + + key = ECC._import_der(key_file, None) + self.assertEqual(ref_public, key) + + key = ECC.import_key(key_file) + self.assertEqual(ref_public, key) + + def test_import_public_pem(self): + key_file = load_file("ecc_p256_public.pem") + + key = ECC.import_key(key_file) + self.assertEqual(ref_public, key) + + def test_import_private_pem(self): + key_file = load_file("ecc_p256_private.pem") + + key = ECC.import_key(key_file) + self.assertEqual(ref_private, key) + + def test_import_private_pem_encrypted(self): + for algo in "des3", : # TODO: , "aes128", "aes192", "aes256_gcm": + key_file = load_file("ecc_p256_private_enc_%s.pem" % algo) + + key = ECC.import_key(key_file, "secret") + self.assertEqual(ref_private, key) + + key = ECC.import_key(tostr(key_file), b"secret") + self.assertEqual(ref_private, key) + + def test_import_x509_pem(self): + key_file = load_file("ecc_p256_x509.pem") + + key = ECC.import_key(key_file) + self.assertEqual(ref_public, key) + + def test_import_openssh(self): + key_file = load_file("ecc_p256_public_openssh.txt") + + key = ECC._import_openssh(key_file) + self.assertEqual(ref_public, key) + + key = ECC.import_key(key_file) + self.assertEqual(ref_public, key) + + +class TestExport(unittest.TestCase): + + def test_export_public_der_uncompressed(self): + key_file = load_file("ecc_p256_public.der") + + encoded = ref_public._export_subjectPublicKeyInfo(False) + self.assertEqual(key_file, encoded) + + encoded = ref_public.export_key(format="DER") + self.assertEqual(key_file, encoded) + + encoded = ref_public.export_key(format="DER", compress=False) + self.assertEqual(key_file, encoded) + + def test_export_public_der_compressed(self): + key_file = load_file("ecc_p256_public.der") + pub_key = ECC.import_key(key_file) + key_file_compressed = pub_key.export_key(format="DER", compress=True) + + key_file_compressed_ref = load_file("ecc_p256_public_compressed.der") + self.assertEqual(key_file_compressed, key_file_compressed_ref) + + def test_export_private_der(self): + key_file = load_file("ecc_p256_private.der") + + encoded = ref_private._export_private_der() + self.assertEqual(key_file, encoded) + + # --- + + encoded = ref_private.export_key(format="DER", use_pkcs8=False) + self.assertEqual(key_file, encoded) + + def test_export_private_pkcs8_clear(self): + key_file = load_file("ecc_p256_private_p8_clear.der") + + encoded = ref_private._export_pkcs8() + self.assertEqual(key_file, encoded) + + # --- + + encoded = ref_private.export_key(format="DER") + self.assertEqual(key_file, encoded) + + def test_export_private_pkcs8_encrypted(self): + encoded = ref_private._export_pkcs8(passphrase="secret", + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC") + + # This should prove that the output is password-protected + self.assertRaises(ValueError, ECC._import_pkcs8, encoded, None) + + decoded = ECC._import_pkcs8(encoded, "secret") + self.assertEqual(ref_private, decoded) + + # --- + + encoded = ref_private.export_key(format="DER", + passphrase="secret", + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC") + decoded = ECC.import_key(encoded, "secret") + self.assertEqual(ref_private, decoded) + + def test_export_public_pem_uncompressed(self): + key_file = load_file("ecc_p256_public.pem", "rt").strip() + + encoded = ref_private._export_public_pem(False) + self.assertEqual(key_file, encoded) + + # --- + + encoded = ref_public.export_key(format="PEM") + self.assertEqual(key_file, encoded) + + encoded = ref_public.export_key(format="PEM", compress=False) + self.assertEqual(key_file, encoded) + + def test_export_public_pem_compressed(self): + key_file = load_file("ecc_p256_public.pem", "rt").strip() + pub_key = ECC.import_key(key_file) + + key_file_compressed = pub_key.export_key(format="PEM", compress=True) + key_file_compressed_ref = load_file("ecc_p256_public_compressed.pem", "rt").strip() + + self.assertEqual(key_file_compressed, key_file_compressed_ref) + + def test_export_private_pem_clear(self): + key_file = load_file("ecc_p256_private.pem", "rt").strip() + + encoded = ref_private._export_private_pem(None) + self.assertEqual(key_file, encoded) + + # --- + + encoded = ref_private.export_key(format="PEM", use_pkcs8=False) + self.assertEqual(key_file, encoded) + + def test_export_private_pem_encrypted(self): + encoded = ref_private._export_private_pem(passphrase=b"secret") + + # This should prove that the output is password-protected + self.assertRaises(ValueError, ECC.import_key, encoded) + + assert "EC PRIVATE KEY" in encoded + + decoded = ECC.import_key(encoded, "secret") + self.assertEqual(ref_private, decoded) + + # --- + + encoded = ref_private.export_key(format="PEM", + passphrase="secret", + use_pkcs8=False) + decoded = ECC.import_key(encoded, "secret") + self.assertEqual(ref_private, decoded) + + def test_export_private_pkcs8_and_pem_1(self): + # PKCS8 inside PEM with both unencrypted + key_file = load_file("ecc_p256_private_p8_clear.pem", "rt").strip() + + encoded = ref_private._export_private_clear_pkcs8_in_clear_pem() + self.assertEqual(key_file, encoded) + + # --- + + encoded = ref_private.export_key(format="PEM") + self.assertEqual(key_file, encoded) + + def test_export_private_pkcs8_and_pem_2(self): + # PKCS8 inside PEM with PKCS8 encryption + encoded = ref_private._export_private_encrypted_pkcs8_in_clear_pem("secret", + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC") + + # This should prove that the output is password-protected + self.assertRaises(ValueError, ECC.import_key, encoded) + + assert "ENCRYPTED PRIVATE KEY" in encoded + + decoded = ECC.import_key(encoded, "secret") + self.assertEqual(ref_private, decoded) + + # --- + + encoded = ref_private.export_key(format="PEM", + passphrase="secret", + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC") + decoded = ECC.import_key(encoded, "secret") + self.assertEqual(ref_private, decoded) + + def test_export_openssh_uncompressed(self): + key_file = load_file("ecc_p256_public_openssh.txt", "rt") + + encoded = ref_public._export_openssh(False) + self.assertEquals(key_file, encoded) + + # --- + + encoded = ref_public.export_key(format="OpenSSH") + self.assertEquals(key_file, encoded) + + encoded = ref_public.export_key(format="OpenSSH", compress=False) + self.assertEquals(key_file, encoded) + + def test_export_openssh_compressed(self): + key_file = load_file("ecc_p256_public_openssh.txt", "rt") + pub_key = ECC.import_key(key_file) + + key_file_compressed = pub_key.export_key(format="OpenSSH", compress=True) + assert len(key_file) > len(key_file_compressed) + self.assertEquals(pub_key, ECC.import_key(key_file_compressed)) + + def test_prng(self): + # Test that password-protected containers use the provided PRNG + encoded1 = ref_private.export_key(format="PEM", + passphrase="secret", + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC", + randfunc=get_fixed_prng()) + encoded2 = ref_private.export_key(format="PEM", + passphrase="secret", + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC", + randfunc=get_fixed_prng()) + self.assertEquals(encoded1, encoded2) + + # --- + + encoded1 = ref_private.export_key(format="PEM", + use_pkcs8=False, + passphrase="secret", + randfunc=get_fixed_prng()) + encoded2 = ref_private.export_key(format="PEM", + use_pkcs8=False, + passphrase="secret", + randfunc=get_fixed_prng()) + self.assertEquals(encoded1, encoded2) + + def test_byte_or_string_passphrase(self): + encoded1 = ref_private.export_key(format="PEM", + use_pkcs8=False, + passphrase="secret", + randfunc=get_fixed_prng()) + encoded2 = ref_private.export_key(format="PEM", + use_pkcs8=False, + passphrase=b"secret", + randfunc=get_fixed_prng()) + self.assertEquals(encoded1, encoded2) + + def test_error_params1(self): + # Unknown format + self.assertRaises(ValueError, ref_private.export_key, format="XXX") + + # Missing 'protection' parameter when PKCS#8 is used + ref_private.export_key(format="PEM", passphrase="secret", + use_pkcs8=False) + self.assertRaises(ValueError, ref_private.export_key, format="PEM", + passphrase="secret") + + # DER format but no PKCS#8 + self.assertRaises(ValueError, ref_private.export_key, format="DER", + passphrase="secret", + use_pkcs8=False, + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC") + + # Incorrect parameters for public keys + self.assertRaises(ValueError, ref_public.export_key, format="DER", + use_pkcs8=False) + + # Empty password + self.assertRaises(ValueError, ref_private.export_key, format="PEM", + passphrase="", use_pkcs8=False) + self.assertRaises(ValueError, ref_private.export_key, format="PEM", + passphrase="", + protection="PBKDF2WithHMAC-SHA1AndAES128-CBC") + + # No private keys with OpenSSH + self.assertRaises(ValueError, ref_private.export_key, format="OpenSSH", + passphrase="secret") + + def test_unsupported_curve(self): + + # openssl ecparam -name secp224r1 -genkey -noout -out strange-curve.pem -conv_form uncompressed + curve = """-----BEGIN EC PRIVATE KEY----- +MGgCAQEEHEi7xTHW+5oT8wgpjoEKV7uwMuY8rt2YUZe4j1SgBwYFK4EEACGhPAM6 +AATJgfOG+Bnki8robpNM8MtArji43GU9up4B0x9sVhqB+fZP+hXgV9ITN7YX4E/k +gVnJp9EBND/tHQ== +-----END EC PRIVATE KEY-----""" + + from Crypto.PublicKey.ECC import UnsupportedEccFeature + try: + ECC.import_key(curve) + except UnsupportedEccFeature as uef: + assert("1.3.132.0.33" in str(uef)) + else: + assert(False) + + def test_compressed_curve(self): + + # Compressed P-256 curve (Y-point is even) + pem1 = """-----BEGIN EC PRIVATE KEY----- + MFcCAQEEIHTuc09jC51xXomV6MVCDN+DpAAvSmaJWZPTEHM6D5H1oAoGCCqGSM49 + AwEHoSQDIgACWFuGbHe8yJ43rir7PMTE9w8vHz0BSpXHq90Xi7/s+a0= + -----END EC PRIVATE KEY-----""" + + # Compressed P-256 curve (Y-point is odd) + pem2 = """-----BEGIN EC PRIVATE KEY----- + MFcCAQEEIFggiPN9SQP+FAPTCPp08fRUz7rHp2qNBRcBJ1DXhb3ZoAoGCCqGSM49 + AwEHoSQDIgADLpph1trTIlVfa8NJvlMUPyWvL+wP+pW3BJITUL/wj9A= + -----END EC PRIVATE KEY-----""" + + key1 = ECC.import_key(pem1) + low16 = int(key1.pointQ.y % 65536) + self.assertEqual(low16, 0xA6FC) + + key2 = ECC.import_key(pem2) + low16 = int(key2.pointQ.y % 65536) + self.assertEqual(low16, 0x6E57) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(TestImport) + tests += list_test_cases(TestExport) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_RSA.py b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_RSA.py new file mode 100644 index 000000000..3a1025caf --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_import_RSA.py @@ -0,0 +1,505 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/PublicKey/test_importKey.py: Self-test for importing RSA keys +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +import unittest +import re + +from Crypto.PublicKey import RSA +from Crypto.SelfTest.st_common import * +from Crypto.Util.py3compat import * +from Crypto.Util.number import inverse +from Crypto.Util import asn1 + +def der2pem(der, text='PUBLIC'): + import binascii + chunks = [ binascii.b2a_base64(der[i:i+48]) for i in range(0, len(der), 48) ] + pem = b('-----BEGIN %s KEY-----\n' % text) + pem += b('').join(chunks) + pem += b('-----END %s KEY-----' % text) + return pem + +class ImportKeyTests(unittest.TestCase): + # 512-bit RSA key generated with openssl + rsaKeyPEM = u'''-----BEGIN RSA PRIVATE KEY----- +MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII +q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8 +Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI +OQIhAPIPLz4dphiD9imAkivY31Rc5AfHJiQRA7XixTcjEkojAiEAyh/pJHks/Mlr ++rdPNEpotBjfV4M4BkgGAA/ipcmaAjcCIQCHvhwwKVBLzzTscT2HeUdEeBMoiXXK +JACAr3sJQJGxIQIgarRp+m1WSKV1MciwMaTOnbU7wxFs9DP1pva76lYBzgUCIQC9 +n0CnZCJ6IZYqSt0H5N7+Q+2Ro64nuwV/OSQfM6sBwQ== +-----END RSA PRIVATE KEY-----''' + + # As above, but this is actually an unencrypted PKCS#8 key + rsaKeyPEM8 = u'''-----BEGIN PRIVATE KEY----- +MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvx4nkAqgiyNRGlwS +ga5tkzEsPv6RP5MuvtSS8S0WtGEMMoy24girX0WsvilQgzKY8xIsGfeEkt7fQPDj +wZAzhQIDAQABAkAJRIMSnxFN7fZ+2rwjAbxaiOXmYB3XAWIg6tn9S/xv3rdYk4mK +5BxU3b2/FTn4zL0Y9ntEDeGsMEQCgdQM+sg5AiEA8g8vPh2mGIP2KYCSK9jfVFzk +B8cmJBEDteLFNyMSSiMCIQDKH+kkeSz8yWv6t080Smi0GN9XgzgGSAYAD+KlyZoC +NwIhAIe+HDApUEvPNOxxPYd5R0R4EyiJdcokAICvewlAkbEhAiBqtGn6bVZIpXUx +yLAxpM6dtTvDEWz0M/Wm9rvqVgHOBQIhAL2fQKdkInohlipK3Qfk3v5D7ZGjrie7 +BX85JB8zqwHB +-----END PRIVATE KEY-----''' + + # The same RSA private key as in rsaKeyPEM, but now encrypted + rsaKeyEncryptedPEM=( + + # PEM encryption + # With DES and passphrase 'test' + ('test', u'''-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-CBC,AF8F9A40BD2FA2FC + +Ckl9ex1kaVEWhYC2QBmfaF+YPiR4NFkRXA7nj3dcnuFEzBnY5XULupqQpQI3qbfA +u8GYS7+b3toWWiHZivHbAAUBPDIZG9hKDyB9Sq2VMARGsX1yW1zhNvZLIiVJzUHs +C6NxQ1IJWOXzTew/xM2I26kPwHIvadq+/VaT8gLQdjdH0jOiVNaevjWnLgrn1mLP +BCNRMdcexozWtAFNNqSzfW58MJL2OdMi21ED184EFytIc1BlB+FZiGZduwKGuaKy +9bMbdb/1PSvsSzPsqW7KSSrTw6MgJAFJg6lzIYvR5F4poTVBxwBX3+EyEmShiaNY +IRX3TgQI0IjrVuLmvlZKbGWP18FXj7I7k9tSsNOOzllTTdq3ny5vgM3A+ynfAaxp +dysKznQ6P+IoqML1WxAID4aGRMWka+uArOJ148Rbj9s= +-----END RSA PRIVATE KEY-----'''), + + # PKCS8 encryption + ('winter', u'''-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBpjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIeZIsbW3O+JcCAggA +MBQGCCqGSIb3DQMHBAgSM2p0D8FilgSCAWBhFyP2tiGKVpGj3mO8qIBzinU60ApR +3unvP+N6j7LVgnV2lFGaXbJ6a1PbQXe+2D6DUyBLo8EMXrKKVLqOMGkFMHc0UaV6 +R6MmrsRDrbOqdpTuVRW+NVd5J9kQQh4xnfU/QrcPPt7vpJvSf4GzG0n666Ki50OV +M/feuVlIiyGXY6UWdVDpcOV72cq02eNUs/1JWdh2uEBvA9fCL0c07RnMrdT+CbJQ +NjJ7f8ULtp7xvR9O3Al/yJ4Wv3i4VxF1f3MCXzhlUD4I0ONlr0kJWgeQ80q/cWhw +ntvgJwnCn2XR1h6LA8Wp+0ghDTsL2NhJpWd78zClGhyU4r3hqu1XDjoXa7YCXCix +jCV15+ViDJzlNCwg+W6lRg18sSLkCT7alviIE0U5tHc6UPbbHwT5QqAxAABaP+nZ +CGqJGyiwBzrKebjgSm/KRd4C91XqcsysyH2kKPfT51MLAoD4xelOURBP +-----END ENCRYPTED PRIVATE KEY-----''' + ), + ) + + rsaPublicKeyPEM = u'''-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+T +Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQ== +-----END PUBLIC KEY-----''' + + # Obtained using 'ssh-keygen -i -m PKCS8 -f rsaPublicKeyPEM' + rsaPublicKeyOpenSSH = b('''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQC/HieQCqCLI1EaXBKBrm2TMSw+/pE/ky6+1JLxLRa0YQwyjLbiCKtfRay+KVCDMpjzEiwZ94SS3t9A8OPBkDOF comment\n''') + + # The private key, in PKCS#1 format encoded with DER + rsaKeyDER = a2b_hex( + '''3082013b020100024100bf1e27900aa08b23511a5c1281ae6d93312c3efe + 913f932ebed492f12d16b4610c328cb6e208ab5f45acbe2950833298f312 + 2c19f78492dedf40f0e3c190338502030100010240094483129f114dedf6 + 7edabc2301bc5a88e5e6601dd7016220ead9fd4bfc6fdeb75893898ae41c + 54ddbdbf1539f8ccbd18f67b440de1ac30440281d40cfac839022100f20f + 2f3e1da61883f62980922bd8df545ce407c726241103b5e2c53723124a23 + 022100ca1fe924792cfcc96bfab74f344a68b418df578338064806000fe2 + a5c99a023702210087be1c3029504bcf34ec713d877947447813288975ca + 240080af7b094091b12102206ab469fa6d5648a57531c8b031a4ce9db53b + c3116cf433f5a6f6bbea5601ce05022100bd9f40a764227a21962a4add07 + e4defe43ed91a3ae27bb057f39241f33ab01c1 + '''.replace(" ","")) + + # The private key, in unencrypted PKCS#8 format encoded with DER + rsaKeyDER8 = a2b_hex( + '''30820155020100300d06092a864886f70d01010105000482013f3082013 + b020100024100bf1e27900aa08b23511a5c1281ae6d93312c3efe913f932 + ebed492f12d16b4610c328cb6e208ab5f45acbe2950833298f3122c19f78 + 492dedf40f0e3c190338502030100010240094483129f114dedf67edabc2 + 301bc5a88e5e6601dd7016220ead9fd4bfc6fdeb75893898ae41c54ddbdb + f1539f8ccbd18f67b440de1ac30440281d40cfac839022100f20f2f3e1da + 61883f62980922bd8df545ce407c726241103b5e2c53723124a23022100c + a1fe924792cfcc96bfab74f344a68b418df578338064806000fe2a5c99a0 + 23702210087be1c3029504bcf34ec713d877947447813288975ca240080a + f7b094091b12102206ab469fa6d5648a57531c8b031a4ce9db53bc3116cf + 433f5a6f6bbea5601ce05022100bd9f40a764227a21962a4add07e4defe4 + 3ed91a3ae27bb057f39241f33ab01c1 + '''.replace(" ","")) + + rsaPublicKeyDER = a2b_hex( + '''305c300d06092a864886f70d0101010500034b003048024100bf1e27900a + a08b23511a5c1281ae6d93312c3efe913f932ebed492f12d16b4610c328c + b6e208ab5f45acbe2950833298f3122c19f78492dedf40f0e3c190338502 + 03010001 + '''.replace(" ","")) + + n = int('BF 1E 27 90 0A A0 8B 23 51 1A 5C 12 81 AE 6D 93 31 2C 3E FE 91 3F 93 2E BE D4 92 F1 2D 16 B4 61 0C 32 8C B6 E2 08 AB 5F 45 AC BE 29 50 83 32 98 F3 12 2C 19 F7 84 92 DE DF 40 F0 E3 C1 90 33 85'.replace(" ",""),16) + e = 65537 + d = int('09 44 83 12 9F 11 4D ED F6 7E DA BC 23 01 BC 5A 88 E5 E6 60 1D D7 01 62 20 EA D9 FD 4B FC 6F DE B7 58 93 89 8A E4 1C 54 DD BD BF 15 39 F8 CC BD 18 F6 7B 44 0D E1 AC 30 44 02 81 D4 0C FA C8 39'.replace(" ",""),16) + p = int('00 F2 0F 2F 3E 1D A6 18 83 F6 29 80 92 2B D8 DF 54 5C E4 07 C7 26 24 11 03 B5 E2 C5 37 23 12 4A 23'.replace(" ",""),16) + q = int('00 CA 1F E9 24 79 2C FC C9 6B FA B7 4F 34 4A 68 B4 18 DF 57 83 38 06 48 06 00 0F E2 A5 C9 9A 02 37'.replace(" ",""),16) + + # This is q^{-1} mod p). fastmath and slowmath use pInv (p^{-1} + # mod q) instead! + qInv = int('00 BD 9F 40 A7 64 22 7A 21 96 2A 4A DD 07 E4 DE FE 43 ED 91 A3 AE 27 BB 05 7F 39 24 1F 33 AB 01 C1'.replace(" ",""),16) + pInv = inverse(p,q) + + def testImportKey1(self): + """Verify import of RSAPrivateKey DER SEQUENCE""" + key = RSA.importKey(self.rsaKeyDER) + self.failUnless(key.has_private()) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + self.assertEqual(key.d, self.d) + self.assertEqual(key.p, self.p) + self.assertEqual(key.q, self.q) + + def testImportKey2(self): + """Verify import of SubjectPublicKeyInfo DER SEQUENCE""" + key = RSA.importKey(self.rsaPublicKeyDER) + self.failIf(key.has_private()) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + + def testImportKey3unicode(self): + """Verify import of RSAPrivateKey DER SEQUENCE, encoded with PEM as unicode""" + key = RSA.importKey(self.rsaKeyPEM) + self.assertEqual(key.has_private(),True) # assert_ + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + self.assertEqual(key.d, self.d) + self.assertEqual(key.p, self.p) + self.assertEqual(key.q, self.q) + + def testImportKey3bytes(self): + """Verify import of RSAPrivateKey DER SEQUENCE, encoded with PEM as byte string""" + key = RSA.importKey(b(self.rsaKeyPEM)) + self.assertEqual(key.has_private(),True) # assert_ + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + self.assertEqual(key.d, self.d) + self.assertEqual(key.p, self.p) + self.assertEqual(key.q, self.q) + + def testImportKey4unicode(self): + """Verify import of RSAPrivateKey DER SEQUENCE, encoded with PEM as unicode""" + key = RSA.importKey(self.rsaPublicKeyPEM) + self.assertEqual(key.has_private(),False) # failIf + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + + def testImportKey4bytes(self): + """Verify import of SubjectPublicKeyInfo DER SEQUENCE, encoded with PEM as byte string""" + key = RSA.importKey(b(self.rsaPublicKeyPEM)) + self.assertEqual(key.has_private(),False) # failIf + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + + def testImportKey5(self): + """Verifies that the imported key is still a valid RSA pair""" + key = RSA.importKey(self.rsaKeyPEM) + idem = key._encrypt(key._decrypt(89)) + self.assertEqual(idem, 89) + + def testImportKey6(self): + """Verifies that the imported key is still a valid RSA pair""" + key = RSA.importKey(self.rsaKeyDER) + idem = key._encrypt(key._decrypt(65)) + self.assertEqual(idem, 65) + + def testImportKey7(self): + """Verify import of OpenSSH public key""" + key = RSA.importKey(self.rsaPublicKeyOpenSSH) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + + def testImportKey8(self): + """Verify import of encrypted PrivateKeyInfo DER SEQUENCE""" + for t in self.rsaKeyEncryptedPEM: + key = RSA.importKey(t[1], t[0]) + self.failUnless(key.has_private()) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + self.assertEqual(key.d, self.d) + self.assertEqual(key.p, self.p) + self.assertEqual(key.q, self.q) + + def testImportKey9(self): + """Verify import of unencrypted PrivateKeyInfo DER SEQUENCE""" + key = RSA.importKey(self.rsaKeyDER8) + self.failUnless(key.has_private()) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + self.assertEqual(key.d, self.d) + self.assertEqual(key.p, self.p) + self.assertEqual(key.q, self.q) + + def testImportKey10(self): + """Verify import of unencrypted PrivateKeyInfo DER SEQUENCE, encoded with PEM""" + key = RSA.importKey(self.rsaKeyPEM8) + self.failUnless(key.has_private()) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + self.assertEqual(key.d, self.d) + self.assertEqual(key.p, self.p) + self.assertEqual(key.q, self.q) + + def testImportKey11(self): + """Verify import of RSAPublicKey DER SEQUENCE""" + der = asn1.DerSequence([17, 3]).encode() + key = RSA.importKey(der) + self.assertEqual(key.n, 17) + self.assertEqual(key.e, 3) + + def testImportKey12(self): + """Verify import of RSAPublicKey DER SEQUENCE, encoded with PEM""" + der = asn1.DerSequence([17, 3]).encode() + pem = der2pem(der) + key = RSA.importKey(pem) + self.assertEqual(key.n, 17) + self.assertEqual(key.e, 3) + + def test_import_key_windows_cr_lf(self): + pem_cr_lf = "\r\n".join(self.rsaKeyPEM.splitlines()) + key = RSA.importKey(pem_cr_lf) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + self.assertEqual(key.d, self.d) + self.assertEqual(key.p, self.p) + self.assertEqual(key.q, self.q) + + ### + def testExportKey1(self): + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + derKey = key.export_key("DER") + self.assertEqual(derKey, self.rsaKeyDER) + + def testExportKey2(self): + key = RSA.construct([self.n, self.e]) + derKey = key.export_key("DER") + self.assertEqual(derKey, self.rsaPublicKeyDER) + + def testExportKey3(self): + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + pemKey = key.export_key("PEM") + self.assertEqual(pemKey, b(self.rsaKeyPEM)) + + def testExportKey4(self): + key = RSA.construct([self.n, self.e]) + pemKey = key.export_key("PEM") + self.assertEqual(pemKey, b(self.rsaPublicKeyPEM)) + + def testExportKey5(self): + key = RSA.construct([self.n, self.e]) + openssh_1 = key.export_key("OpenSSH").split() + openssh_2 = self.rsaPublicKeyOpenSSH.split() + self.assertEqual(openssh_1[0], openssh_2[0]) + self.assertEqual(openssh_1[1], openssh_2[1]) + + def testExportKey7(self): + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + derKey = key.export_key("DER", pkcs=8) + self.assertEqual(derKey, self.rsaKeyDER8) + + def testExportKey8(self): + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + pemKey = key.export_key("PEM", pkcs=8) + self.assertEqual(pemKey, b(self.rsaKeyPEM8)) + + def testExportKey9(self): + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + self.assertRaises(ValueError, key.export_key, "invalid-format") + + def testExportKey10(self): + # Export and re-import the encrypted key. It must match. + # PEM envelope, PKCS#1, old PEM encryption + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + outkey = key.export_key('PEM', 'test') + self.failUnless(tostr(outkey).find('4,ENCRYPTED')!=-1) + self.failUnless(tostr(outkey).find('BEGIN RSA PRIVATE KEY')!=-1) + inkey = RSA.importKey(outkey, 'test') + self.assertEqual(key.n, inkey.n) + self.assertEqual(key.e, inkey.e) + self.assertEqual(key.d, inkey.d) + + def testExportKey11(self): + # Export and re-import the encrypted key. It must match. + # PEM envelope, PKCS#1, old PEM encryption + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + outkey = key.export_key('PEM', 'test', pkcs=1) + self.failUnless(tostr(outkey).find('4,ENCRYPTED')!=-1) + self.failUnless(tostr(outkey).find('BEGIN RSA PRIVATE KEY')!=-1) + inkey = RSA.importKey(outkey, 'test') + self.assertEqual(key.n, inkey.n) + self.assertEqual(key.e, inkey.e) + self.assertEqual(key.d, inkey.d) + + def testExportKey12(self): + # Export and re-import the encrypted key. It must match. + # PEM envelope, PKCS#8, old PEM encryption + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + outkey = key.export_key('PEM', 'test', pkcs=8) + self.failUnless(tostr(outkey).find('4,ENCRYPTED')!=-1) + self.failUnless(tostr(outkey).find('BEGIN PRIVATE KEY')!=-1) + inkey = RSA.importKey(outkey, 'test') + self.assertEqual(key.n, inkey.n) + self.assertEqual(key.e, inkey.e) + self.assertEqual(key.d, inkey.d) + + def testExportKey13(self): + # Export and re-import the encrypted key. It must match. + # PEM envelope, PKCS#8, PKCS#8 encryption + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + outkey = key.export_key('PEM', 'test', pkcs=8, + protection='PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC') + self.failUnless(tostr(outkey).find('4,ENCRYPTED')==-1) + self.failUnless(tostr(outkey).find('BEGIN ENCRYPTED PRIVATE KEY')!=-1) + inkey = RSA.importKey(outkey, 'test') + self.assertEqual(key.n, inkey.n) + self.assertEqual(key.e, inkey.e) + self.assertEqual(key.d, inkey.d) + + def testExportKey14(self): + # Export and re-import the encrypted key. It must match. + # DER envelope, PKCS#8, PKCS#8 encryption + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + outkey = key.export_key('DER', 'test', pkcs=8) + inkey = RSA.importKey(outkey, 'test') + self.assertEqual(key.n, inkey.n) + self.assertEqual(key.e, inkey.e) + self.assertEqual(key.d, inkey.d) + + def testExportKey15(self): + # Verify that that error an condition is detected when trying to + # use a password with DER encoding and PKCS#1. + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + self.assertRaises(ValueError, key.export_key, 'DER', 'test', 1) + + def test_import_key(self): + """Verify that import_key is an alias to importKey""" + key = RSA.import_key(self.rsaPublicKeyDER) + self.failIf(key.has_private()) + self.assertEqual(key.n, self.n) + self.assertEqual(key.e, self.e) + + def test_exportKey(self): + key = RSA.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) + self.assertEqual(key.export_key(), key.exportKey()) + + +class ImportKeyFromX509Cert(unittest.TestCase): + + def test_x509v1(self): + + # Sample V1 certificate with a 1024 bit RSA key + x509_v1_cert = """ +-----BEGIN CERTIFICATE----- +MIICOjCCAaMCAQEwDQYJKoZIhvcNAQEEBQAwfjENMAsGA1UEChMEQWNtZTELMAkG +A1UECxMCUkQxHDAaBgkqhkiG9w0BCQEWDXNwYW1AYWNtZS5vcmcxEzARBgNVBAcT +Ck1ldHJvcG9saXMxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQGEwJVUzENMAsG +A1UEAxMEdGVzdDAeFw0xNDA3MTExOTU3MjRaFw0xNzA0MDYxOTU3MjRaME0xCzAJ +BgNVBAYTAlVTMREwDwYDVQQIEwhOZXcgWW9yazENMAsGA1UEChMEQWNtZTELMAkG +A1UECxMCUkQxDzANBgNVBAMTBmxhdHZpYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw +gYkCgYEAyG+kytdRj3TFbRmHDYp3TXugVQ81chew0qeOxZWOz80IjtWpgdOaCvKW +NCuc8wUR9BWrEQW+39SaRMLiQfQtyFSQZijc3nsEBu/Lo4uWZ0W/FHDRVSvkJA/V +Ex5NL5ikI+wbUeCV5KajGNDalZ8F1pk32+CBs8h1xNx5DyxuEHUCAwEAATANBgkq +hkiG9w0BAQQFAAOBgQCVQF9Y//Q4Psy+umEM38pIlbZ2hxC5xNz/MbVPwuCkNcGn +KYNpQJP+JyVTsPpO8RLZsAQDzRueMI3S7fbbwTzAflN0z19wvblvu93xkaBytVok +9VBAH28olVhy9b1MMeg2WOt5sUEQaFNPnwwsyiY9+HsRpvpRnPSQF+kyYVsshQ== +-----END CERTIFICATE----- + """.strip() + + # RSA public key as dumped by openssl + exponent = 65537 + modulus_str = """ +00:c8:6f:a4:ca:d7:51:8f:74:c5:6d:19:87:0d:8a: +77:4d:7b:a0:55:0f:35:72:17:b0:d2:a7:8e:c5:95: +8e:cf:cd:08:8e:d5:a9:81:d3:9a:0a:f2:96:34:2b: +9c:f3:05:11:f4:15:ab:11:05:be:df:d4:9a:44:c2: +e2:41:f4:2d:c8:54:90:66:28:dc:de:7b:04:06:ef: +cb:a3:8b:96:67:45:bf:14:70:d1:55:2b:e4:24:0f: +d5:13:1e:4d:2f:98:a4:23:ec:1b:51:e0:95:e4:a6: +a3:18:d0:da:95:9f:05:d6:99:37:db:e0:81:b3:c8: +75:c4:dc:79:0f:2c:6e:10:75 + """ + modulus = int(re.sub("[^0-9a-f]","", modulus_str), 16) + + key = RSA.importKey(x509_v1_cert) + self.assertEqual(key.e, exponent) + self.assertEqual(key.n, modulus) + self.failIf(key.has_private()) + + def test_x509v3(self): + + # Sample V3 certificate with a 1024 bit RSA key + x509_v3_cert = """ +-----BEGIN CERTIFICATE----- +MIIEcjCCAlqgAwIBAgIBATANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVUzEL +MAkGA1UECAwCTUQxEjAQBgNVBAcMCUJhbHRpbW9yZTEQMA4GA1UEAwwHVGVzdCBD +QTEfMB0GCSqGSIb3DQEJARYQdGVzdEBleGFtcGxlLmNvbTAeFw0xNDA3MTIwOTM1 +MTJaFw0xNzA0MDcwOTM1MTJaMEQxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNRDES +MBAGA1UEBwwJQmFsdGltb3JlMRQwEgYDVQQDDAtUZXN0IFNlcnZlcjCBnzANBgkq +hkiG9w0BAQEFAAOBjQAwgYkCgYEA/S7GJV2OcFdyNMQ4K75KrYFtMEn3VnEFdPHa +jyS37XlMxSh0oS4GeTGVUCJInl5Cpsv8WQdh03FfeOdvzp5IZ46OcjeOPiWnmjgl +2G5j7e2bDH7RSchGV+OD6Fb1Agvuu2/9iy8fdf3rPQ/7eAddzKUrzwacVbnW+tg2 +QtSXKRcCAwEAAaOB1TCB0jAdBgNVHQ4EFgQU/WwCX7FfWMIPDFfJ+I8a2COG+l8w +HwYDVR0jBBgwFoAUa0hkif3RMaraiWtsOOZZlLu9wJwwCQYDVR0TBAIwADALBgNV +HQ8EBAMCBeAwSgYDVR0RBEMwQYILZXhhbXBsZS5jb22CD3d3dy5leGFtcGxlLmNv +bYIQbWFpbC5leGFtcGxlLmNvbYIPZnRwLmV4YW1wbGUuY29tMCwGCWCGSAGG+EIB +DQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQsF +AAOCAgEAvO6xfdsGbnoK4My3eJthodTAjMjPwFVY133LH04QLcCv54TxKhtUg1fi +PgdjVe1HpTytPBfXy2bSZbXAN0abZCtw1rYrnn7o1g2pN8iypVq3zVn0iMTzQzxs +zEPO3bpR/UhNSf90PmCsS5rqZpAAnXSaAy1ClwHWk/0eG2pYkhE1m1ABVMN2lsAW +e9WxGk6IFqaI9O37NYQwmEypMs4DC+ECJEvbPFiqi3n0gbXCZJJ6omDA5xJldaYK +Oa7KR3s/qjBsu9UAiWpLBuFoSTHIF2aeRKRFmUdmzwo43eVPep65pY6eQ4AdL2RF +rqEuINbGlzI5oQyYhu71IwB+iPZXaZZPlwjLgOsuad/p2hOgDb5WxUi8FnDPursQ +ujfpIpmrOP/zpvvQWnwePI3lI+5n41kTBSbefXEdv6rXpHk3QRzB90uPxnXPdxSC +16ASA8bQT5an/1AgoE3k9CrcD2K0EmgaX0YI0HUhkyzbkg34EhpWJ6vvRUbRiNRo +9cIbt/ya9Y9u0Ja8GLXv6dwX0l0IdJMkL8KifXUFAVCujp1FBrr/gdmwQn8itANy ++qbnWSxmOvtaY0zcaFAcONuHva0h51/WqXOMO1eb8PhR4HIIYU8p1oBwQp7dSni8 +THDi1F+GG5PsymMDj5cWK42f+QzjVw5PrVmFqqrrEoMlx8DWh5Y= +-----END CERTIFICATE----- +""".strip() + + # RSA public key as dumped by openssl + exponent = 65537 + modulus_str = """ +00:fd:2e:c6:25:5d:8e:70:57:72:34:c4:38:2b:be: +4a:ad:81:6d:30:49:f7:56:71:05:74:f1:da:8f:24: +b7:ed:79:4c:c5:28:74:a1:2e:06:79:31:95:50:22: +48:9e:5e:42:a6:cb:fc:59:07:61:d3:71:5f:78:e7: +6f:ce:9e:48:67:8e:8e:72:37:8e:3e:25:a7:9a:38: +25:d8:6e:63:ed:ed:9b:0c:7e:d1:49:c8:46:57:e3: +83:e8:56:f5:02:0b:ee:bb:6f:fd:8b:2f:1f:75:fd: +eb:3d:0f:fb:78:07:5d:cc:a5:2b:cf:06:9c:55:b9: +d6:fa:d8:36:42:d4:97:29:17 + """ + modulus = int(re.sub("[^0-9a-f]","", modulus_str), 16) + + key = RSA.importKey(x509_v3_cert) + self.assertEqual(key.e, exponent) + self.assertEqual(key.n, modulus) + self.failIf(key.has_private()) + + +if __name__ == '__main__': + unittest.main() + +def get_tests(config={}): + tests = [] + tests += list_test_cases(ImportKeyTests) + tests += list_test_cases(ImportKeyFromX509Cert) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256.txt b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256.txt new file mode 100644 index 000000000..ae155699d --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256.txt @@ -0,0 +1,18 @@ +Private-Key: (256 bit) +priv: + 5c:4e:43:20:ef:26:0f:91:ed:9f:c5:97:ae:e9:8c: + 82:36:b6:0e:0c:ed:69:2c:c7:a0:57:d5:e4:57:98: + a0:52 +pub: + 04:a4:0a:d5:9a:20:50:eb:e9:24:79:bd:5f:b1:6b: + b2:e4:5b:64:65:eb:3c:b2:b1:ef:fe:42:3f:ab:e6: + cb:74:24:db:82:19:ef:0b:ab:80:ac:f2:6f:d7:05: + 95:b6:1f:e4:76:0d:33:ee:d8:0d:d0:3d:2f:d0:df: + b2:7b:8c:e7:5c +ASN1 OID: prime256v1 +NIST CURVE: P-256 +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIFxOQyDvJg+R7Z/Fl67pjII2tg4M7Wksx6BX1eRXmKBSoAoGCCqGSM49 +AwEHoUQDQgAEpArVmiBQ6+kkeb1fsWuy5FtkZes8srHv/kI/q+bLdCTbghnvC6uA +rPJv1wWVth/kdg0z7tgN0D0v0N+ye4znXA== +-----END EC PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private.der b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private.der new file mode 100644 index 000000000..842ed97d7 Binary files /dev/null and b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private.der differ diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private.pem new file mode 100644 index 000000000..72521cd2a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private.pem @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIFxOQyDvJg+R7Z/Fl67pjII2tg4M7Wksx6BX1eRXmKBSoAoGCCqGSM49 +AwEHoUQDQgAEpArVmiBQ6+kkeb1fsWuy5FtkZes8srHv/kI/q+bLdCTbghnvC6uA +rPJv1wWVth/kdg0z7tgN0D0v0N+ye4znXA== +-----END EC PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes128.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes128.pem new file mode 100644 index 000000000..bc24ff9d0 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes128.pem @@ -0,0 +1,8 @@ +-----BEGIN EC PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-128-CBC,288614CF0887BAE11B8B660C3CA24139 + +7Jy/LNIYkloV8x1LVRjy59phEtKrli8ySiFDf6nIBtAmt/WLoZijmCMJ7VTXVXNq +lyruBM2t4At/0EFI3CSQKxFvsnHDwHL9WYEDPC+gQ/Xy8j2JU0IAM+BuasjHAgXw +tq0sJUnRh+xNiI2FotEBC8S194M+lp3RkBZwoBlk3w0= +-----END EC PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes192.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes192.pem new file mode 100644 index 000000000..9e82b27b9 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes192.pem @@ -0,0 +1,8 @@ +-----BEGIN EC PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-192-CBC,82AE4C810C9CF67736F256DEDFD6908E + +gWOVzIDfiMQuIvOQ2m5BWQRWYL7DMb2Mbz4GO8ovBHMNOkMAdi0GhanI+dpQyjtw +V9zYBjbqtpMGzACusVYFxvkE9VOb1tj+QphG09Nv4/oUNXBdx1RDxrvntaB/Uskj +0zIDV/7D9esLIPTiBtwy62ZAc5Pxk88IG/Z2nGvJZMg= +-----END EC PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes256_gcm.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes256_gcm.pem new file mode 100644 index 000000000..3ba6f98b7 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_aes256_gcm.pem @@ -0,0 +1,8 @@ +-----BEGIN EC PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: id-aes256-GCM,4071BCFFB5B7CE18CEBFE901 + +oh6vdMD9bkUvRwtaBkYz6MMWCtjE2GvIKx+diG8XxzakcFzVIqXlDXfEcVIs6Vis +LFofIdBHElQxRUTnCCkb21pmly6v0ZLDugwMWNz6ichaie1gXqi+JwjPe2Ju5aro +UNeOPqFlVkCeEvHxE3eR1vqlDBLar9VwtA== +-----END EC PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_des3.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_des3.pem new file mode 100644 index 000000000..74f3e9531 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_enc_des3.pem @@ -0,0 +1,8 @@ +-----BEGIN EC PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,7E383189A0521324 + +GT+hvDACAQAq8mD20yQFuQo5Gfg3gPJbZSErmgtdMa5xRLzPEWFnP1yOfZFIgVhn +HKLNhgrfbNRh3Ij/DcC6gQ+/35Ts9r+4KLMP6qXuEEfQGTCRu0JQbbMCheN7iNM1 +8ji47sMaVPJPLrBbD6bPcUl8Tfv0+Xiikvxia5NjqAE= +-----END EC PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8.der b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8.der new file mode 100644 index 000000000..7f6df2970 Binary files /dev/null and b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8.der differ diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8.pem new file mode 100644 index 000000000..16bd69ceb --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8.pem @@ -0,0 +1,6 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIGwMBsGCSqGSIb3DQEFAzAOBAjtAa3UT6r2WAICCAAEgZA1MjDX/jkmLeNTlbCK +oDJPqo9OzHoZInlg4diuvId3uAPxyYnMuwTJvCSklOPXQLkgpYsYRF3YgNBuGAld +VQvWcbfwX1eQSqOx6FBCWJgXpWLhlI9qViRDYNQfyam8Xszq7tOdsOdJhSuA+YCt +5mBj57E8tUNLLR6P3lAUIM8WJBlxOWyR0EqdM5vcxYIzzTM= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_clear.der b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_clear.der new file mode 100644 index 000000000..db5bb0731 Binary files /dev/null and b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_clear.der differ diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_clear.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_clear.pem new file mode 100644 index 000000000..14aab2cef --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_clear.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgXE5DIO8mD5Htn8WX +rumMgja2DgztaSzHoFfV5FeYoFKhRANCAASkCtWaIFDr6SR5vV+xa7LkW2Rl6zyy +se/+Qj+r5st0JNuCGe8Lq4Cs8m/XBZW2H+R2DTPu2A3QPS/Q37J7jOdc +-----END PRIVATE KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.der b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.der new file mode 100644 index 000000000..71b971767 Binary files /dev/null and b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.der differ diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.pem new file mode 100644 index 000000000..15710a8a6 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.pem @@ -0,0 +1,4 @@ +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpArVmiBQ6+kkeb1fsWuy5FtkZes8 +srHv/kI/q+bLdCTbghnvC6uArPJv1wWVth/kdg0z7tgN0D0v0N+ye4znXA== +-----END PUBLIC KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.der b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.der new file mode 100644 index 000000000..197ae1fe3 Binary files /dev/null and b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.der differ diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.pem new file mode 100644 index 000000000..c1f0901e4 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.pem @@ -0,0 +1,4 @@ +-----BEGIN PUBLIC KEY----- +MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACpArVmiBQ6+kkeb1fsWuy5FtkZes8 +srHv/kI/q+bLdCQ= +-----END PUBLIC KEY----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_openssh.txt b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_openssh.txt new file mode 100644 index 000000000..e275782bc --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_openssh.txt @@ -0,0 +1 @@ +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKQK1ZogUOvpJHm9X7FrsuRbZGXrPLKx7/5CP6vmy3Qk24IZ7wurgKzyb9cFlbYf5HYNM+7YDdA9L9DfsnuM51w= diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.der b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.der new file mode 100644 index 000000000..29b1b22ed Binary files /dev/null and b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.der differ diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.pem b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.pem new file mode 100644 index 000000000..f93c74ea3 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.pem @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjTCCATOgAwIBAgIJAJtI7kH/tXlvMAoGCCqGSM49BAMCMCMxCzAJBgNVBAYT +AkdCMRQwEgYDVQQDDAtleGFtcGxlLmNvbTAeFw0xNjAxMzAwNjMyNTBaFw0xNzAx +MjkwNjMyNTBaMCMxCzAJBgNVBAYTAkdCMRQwEgYDVQQDDAtleGFtcGxlLmNvbTBZ +MBMGByqGSM49AgEGCCqGSM49AwEHA0IABKQK1ZogUOvpJHm9X7FrsuRbZGXrPLKx +7/5CP6vmy3Qk24IZ7wurgKzyb9cFlbYf5HYNM+7YDdA9L9DfsnuM51yjUDBOMB0G +A1UdDgQWBBSv2v+sOg8Z+VTAJk5ob4nDRS1+jjAfBgNVHSMEGDAWgBSv2v+sOg8Z ++VTAJk5ob4nDRS1+jjAMBgNVHRMEBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCID3r +ARj3nfwBK4uE3BmlGKjaH5JR3e9iEac7BT93W6hOAiEAuNZxsvUpadoB4SqurLVg +lrdvw9wpYr8JTq7q2KUIQes= +-----END CERTIFICATE----- diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/gen_ecc_p256.sh b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/gen_ecc_p256.sh new file mode 100644 index 000000000..350bc5c69 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/gen_ecc_p256.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +set -e +set -x + +openssl version | tee openssl_version.txt + +# Private key +openssl ecparam -name prime256v1 -genkey -noout -conv_form uncompressed -out ecc_p256_private.pem +openssl ec -in ecc_p256_private.pem -outform DER -out ecc_p256_private.der +openssl pkcs8 -in ecc_p256_private.der -inform DER -out ecc_p256_private_p8_clear.der -outform DER -nocrypt -topk8 +openssl pkcs8 -in ecc_p256_private.der -inform DER -out ecc_p256_private_p8_clear.pem -outform PEM -nocrypt -topk8 +openssl ec -in ecc_p256_private.pem -text -out ecc_p256.txt + +# Encrypted private key +openssl pkcs8 -in ecc_p256_private.der -inform DER -passout 'pass:secret' -out ecc_p256_private_p8.der -outform DER -topk8 +openssl pkcs8 -in ecc_p256_private.der -inform DER -passout 'pass:secret' -out ecc_p256_private_p8.pem -outform PEM -topk8 +openssl ec -in ecc_p256_private.pem -des3 -out ecc_p256_private_enc_des3.pem -passout 'pass:secret' -outform PEM +openssl ec -in ecc_p256_private.pem -aes128 -out ecc_p256_private_enc_aes128.pem -passout 'pass:secret' -outform PEM +openssl ec -in ecc_p256_private.pem -aes192 -out ecc_p256_private_enc_aes192.pem -passout 'pass:secret' -outform PEM +openssl ec -in ecc_p256_private.pem -aes-256-gcm -out ecc_p256_private_enc_aes256_gcm.pem -passout 'pass:secret' -outform PEM + +# Public key +openssl ec -in ecc_p256_private.pem -pubout -out ecc_p256_public.pem +openssl ec -pubin -in ecc_p256_public.pem -outform DER -out ecc_p256_public.der + +# X.509 cert +openssl req -new -key ecc_p256_private.pem -days 365 -x509 -out ecc_p256_x509.pem -subj '/C=GB/CN=example.com' +openssl x509 -in ecc_p256_x509.pem -out ecc_p256_x509.der -outform DER + +# OpenSSH +chmod 600 ecc_p256_private.pem +ssh-keygen -f ecc_p256_private.pem -y > ecc_p256_public_openssh.txt diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/openssl_version.txt b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/openssl_version.txt new file mode 100644 index 000000000..fe26786e9 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/openssl_version.txt @@ -0,0 +1 @@ +OpenSSL 1.0.2e-fips 3 Dec 2015 diff --git a/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/point-at-infinity.org-P256.txt b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/point-at-infinity.org-P256.txt new file mode 100644 index 000000000..430d57271 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/PublicKey/test_vectors/ECC/point-at-infinity.org-P256.txt @@ -0,0 +1,212 @@ +# +# Test vectors for NIST P-256 curve found in http://point-at-infinity.org/ecc/nisttv +# on 1 Jan 2016. +# + +k = 1 +x = 6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 +y = 4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 + +k = 2 +x = 7CF27B188D034F7E8A52380304B51AC3C08969E277F21B35A60B48FC47669978 +y = 07775510DB8ED040293D9AC69F7430DBBA7DADE63CE982299E04B79D227873D1 + +k = 3 +x = 5ECBE4D1A6330A44C8F7EF951D4BF165E6C6B721EFADA985FB41661BC6E7FD6C +y = 8734640C4998FF7E374B06CE1A64A2ECD82AB036384FB83D9A79B127A27D5032 + +k = 4 +x = E2534A3532D08FBBA02DDE659EE62BD0031FE2DB785596EF509302446B030852 +y = E0F1575A4C633CC719DFEE5FDA862D764EFC96C3F30EE0055C42C23F184ED8C6 + +k = 5 +x = 51590B7A515140D2D784C85608668FDFEF8C82FD1F5BE52421554A0DC3D033ED +y = E0C17DA8904A727D8AE1BF36BF8A79260D012F00D4D80888D1D0BB44FDA16DA4 + +k = 6 +x = B01A172A76A4602C92D3242CB897DDE3024C740DEBB215B4C6B0AAE93C2291A9 +y = E85C10743237DAD56FEC0E2DFBA703791C00F7701C7E16BDFD7C48538FC77FE2 + +k = 7 +x = 8E533B6FA0BF7B4625BB30667C01FB607EF9F8B8A80FEF5B300628703187B2A3 +y = 73EB1DBDE03318366D069F83A6F5900053C73633CB041B21C55E1A86C1F400B4 + +k = 8 +x = 62D9779DBEE9B0534042742D3AB54CADC1D238980FCE97DBB4DD9DC1DB6FB393 +y = AD5ACCBD91E9D8244FF15D771167CEE0A2ED51F6BBE76A78DA540A6A0F09957E + +k = 9 +x = EA68D7B6FEDF0B71878938D51D71F8729E0ACB8C2C6DF8B3D79E8A4B90949EE0 +y = 2A2744C972C9FCE787014A964A8EA0C84D714FEAA4DE823FE85A224A4DD048FA + +k = 10 +x = CEF66D6B2A3A993E591214D1EA223FB545CA6C471C48306E4C36069404C5723F +y = 878662A229AAAE906E123CDD9D3B4C10590DED29FE751EEECA34BBAA44AF0773 + +k = 11 +x = 3ED113B7883B4C590638379DB0C21CDA16742ED0255048BF433391D374BC21D1 +y = 9099209ACCC4C8A224C843AFA4F4C68A090D04DA5E9889DAE2F8EEFCE82A3740 + +k = 12 +x = 741DD5BDA817D95E4626537320E5D55179983028B2F82C99D500C5EE8624E3C4 +y = 0770B46A9C385FDC567383554887B1548EEB912C35BA5CA71995FF22CD4481D3 + +k = 13 +x = 177C837AE0AC495A61805DF2D85EE2FC792E284B65EAD58A98E15D9D46072C01 +y = 63BB58CD4EBEA558A24091ADB40F4E7226EE14C3A1FB4DF39C43BBE2EFC7BFD8 + +k = 14 +x = 54E77A001C3862B97A76647F4336DF3CF126ACBE7A069C5E5709277324D2920B +y = F599F1BB29F4317542121F8C05A2E7C37171EA77735090081BA7C82F60D0B375 + +k = 15 +x = F0454DC6971ABAE7ADFB378999888265AE03AF92DE3A0EF163668C63E59B9D5F +y = B5B93EE3592E2D1F4E6594E51F9643E62A3B21CE75B5FA3F47E59CDE0D034F36 + +k = 16 +x = 76A94D138A6B41858B821C629836315FCD28392EFF6CA038A5EB4787E1277C6E +y = A985FE61341F260E6CB0A1B5E11E87208599A0040FC78BAA0E9DDD724B8C5110 + +k = 17 +x = 47776904C0F1CC3A9C0984B66F75301A5FA68678F0D64AF8BA1ABCE34738A73E +y = AA005EE6B5B957286231856577648E8381B2804428D5733F32F787FF71F1FCDC + +k = 18 +x = 1057E0AB5780F470DEFC9378D1C7C87437BB4C6F9EA55C63D936266DBD781FDA +y = F6F1645A15CBE5DC9FA9B7DFD96EE5A7DCC11B5C5EF4F1F78D83B3393C6A45A2 + +k = 19 +x = CB6D2861102C0C25CE39B7C17108C507782C452257884895C1FC7B74AB03ED83 +y = 58D7614B24D9EF515C35E7100D6D6CE4A496716E30FA3E03E39150752BCECDAA + +k = 20 +x = 83A01A9378395BAB9BCD6A0AD03CC56D56E6B19250465A94A234DC4C6B28DA9A +y = 76E49B6DE2F73234AE6A5EB9D612B75C9F2202BB6923F54FF8240AAA86F640B8 + +k = 112233445566778899 +x = 339150844EC15234807FE862A86BE77977DBFB3AE3D96F4C22795513AEAAB82F +y = B1C14DDFDC8EC1B2583F51E85A5EB3A155840F2034730E9B5ADA38B674336A21 + +k = 112233445566778899112233445566778899 +x = 1B7E046A076CC25E6D7FA5003F6729F665CC3241B5ADAB12B498CD32F2803264 +y = BFEA79BE2B666B073DB69A2A241ADAB0738FE9D2DD28B5604EB8C8CF097C457B + +k = 29852220098221261079183923314599206100666902414330245206392788703677545185283 +x = 9EACE8F4B071E677C5350B02F2BB2B384AAE89D58AA72CA97A170572E0FB222F +y = 1BBDAEC2430B09B93F7CB08678636CE12EAAFD58390699B5FD2F6E1188FC2A78 + +k = 57896042899961394862005778464643882389978449576758748073725983489954366354431 +x = 878F22CC6DB6048D2B767268F22FFAD8E56AB8E2DC615F7BD89F1E350500DD8D +y = 714A5D7BB901C9C5853400D12341A892EF45D87FC553786756C4F0C9391D763E + +k = 1766845392945710151501889105729049882997660004824848915955419660366636031 +x = 659A379625AB122F2512B8DADA02C6348D53B54452DFF67AC7ACE4E8856295CA +y = 49D81AB97B648464D0B4A288BD7818FAB41A16426E943527C4FED8736C53D0F6 + +k = 28948025760307534517734791687894775804466072615242963443097661355606862201087 +x = CBCEAAA8A4DD44BBCE58E8DB7740A5510EC2CB7EA8DA8D8F036B3FB04CDA4DE4 +y = 4BD7AA301A80D7F59FD983FEDBE59BB7B2863FE46494935E3745B360E32332FA + +k = 113078210460870548944811695960290644973229224625838436424477095834645696384 +x = F0C4A0576154FF3A33A3460D42EAED806E854DFA37125221D37935124BA462A4 +y = 5B392FA964434D29EEC6C9DBC261CF116796864AA2FAADB984A2DF38D1AEF7A3 + +k = 12078056106883488161242983286051341125085761470677906721917479268909056 +x = 5E6C8524B6369530B12C62D31EC53E0288173BD662BDF680B53A41ECBCAD00CC +y = 447FE742C2BFEF4D0DB14B5B83A2682309B5618E0064A94804E9282179FE089F + +k = 57782969857385448082319957860328652998540760998293976083718804450708503920639 +x = 03792E541BC209076A3D7920A915021ECD396A6EB5C3960024BE5575F3223484 +y = FC774AE092403101563B712F68170312304F20C80B40C06282063DB25F268DE4 + +k = 57896017119460046759583662757090100341435943767777707906455551163257755533312 +x = 2379FF85AB693CDF901D6CE6F2473F39C04A2FE3DCD842CE7AAB0E002095BCF8 +y = F8B476530A634589D5129E46F322B02FBC610A703D80875EE70D7CE1877436A1 + +k = 452312848374287284681282171017647412726433684238464212999305864837160993279 +x = C1E4072C529BF2F44DA769EFC934472848003B3AF2C0F5AA8F8DDBD53E12ED7C +y = 39A6EE77812BB37E8079CD01ED649D3830FCA46F718C1D3993E4A591824ABCDB + +k = 904571339174065134293634407946054000774746055866917729876676367558469746684 +x = 34DFBC09404C21E250A9B40FA8772897AC63A094877DB65862B61BD1507B34F3 +y = CF6F8A876C6F99CEAEC87148F18C7E1E0DA6E165FFC8ED82ABB65955215F77D3 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044349 +x = 83A01A9378395BAB9BCD6A0AD03CC56D56E6B19250465A94A234DC4C6B28DA9A +y = 891B64911D08CDCC5195A14629ED48A360DDFD4596DC0AB007DBF5557909BF47 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044350 +x = CB6D2861102C0C25CE39B7C17108C507782C452257884895C1FC7B74AB03ED83 +y = A7289EB3DB2610AFA3CA18EFF292931B5B698E92CF05C1FC1C6EAF8AD4313255 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044351 +x = 1057E0AB5780F470DEFC9378D1C7C87437BB4C6F9EA55C63D936266DBD781FDA +y = 090E9BA4EA341A246056482026911A58233EE4A4A10B0E08727C4CC6C395BA5D + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044352 +x = 47776904C0F1CC3A9C0984B66F75301A5FA68678F0D64AF8BA1ABCE34738A73E +y = 55FFA1184A46A8D89DCE7A9A889B717C7E4D7FBCD72A8CC0CD0878008E0E0323 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044353 +x = 76A94D138A6B41858B821C629836315FCD28392EFF6CA038A5EB4787E1277C6E +y = 567A019DCBE0D9F2934F5E4A1EE178DF7A665FFCF0387455F162228DB473AEEF + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044354 +x = F0454DC6971ABAE7ADFB378999888265AE03AF92DE3A0EF163668C63E59B9D5F +y = 4A46C11BA6D1D2E1B19A6B1AE069BC19D5C4DE328A4A05C0B81A6321F2FCB0C9 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044355 +x = 54E77A001C3862B97A76647F4336DF3CF126ACBE7A069C5E5709277324D2920B +y = 0A660E43D60BCE8BBDEDE073FA5D183C8E8E15898CAF6FF7E45837D09F2F4C8A + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044356 +x = 177C837AE0AC495A61805DF2D85EE2FC792E284B65EAD58A98E15D9D46072C01 +y = 9C44A731B1415AA85DBF6E524BF0B18DD911EB3D5E04B20C63BC441D10384027 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044357 +x = 741DD5BDA817D95E4626537320E5D55179983028B2F82C99D500C5EE8624E3C4 +y = F88F4B9463C7A024A98C7CAAB7784EAB71146ED4CA45A358E66A00DD32BB7E2C + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044358 +x = 3ED113B7883B4C590638379DB0C21CDA16742ED0255048BF433391D374BC21D1 +y = 6F66DF64333B375EDB37BC505B0B3975F6F2FB26A16776251D07110317D5C8BF + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044359 +x = CEF66D6B2A3A993E591214D1EA223FB545CA6C471C48306E4C36069404C5723F +y = 78799D5CD655517091EDC32262C4B3EFA6F212D7018AE11135CB4455BB50F88C + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044360 +x = EA68D7B6FEDF0B71878938D51D71F8729E0ACB8C2C6DF8B3D79E8A4B90949EE0 +y = D5D8BB358D36031978FEB569B5715F37B28EB0165B217DC017A5DDB5B22FB705 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044361 +x = 62D9779DBEE9B0534042742D3AB54CADC1D238980FCE97DBB4DD9DC1DB6FB393 +y = 52A533416E1627DCB00EA288EE98311F5D12AE0A4418958725ABF595F0F66A81 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044362 +x = 8E533B6FA0BF7B4625BB30667C01FB607EF9F8B8A80FEF5B300628703187B2A3 +y = 8C14E2411FCCE7CA92F9607C590A6FFFAC38C9CD34FBE4DE3AA1E5793E0BFF4B + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044363 +x = B01A172A76A4602C92D3242CB897DDE3024C740DEBB215B4C6B0AAE93C2291A9 +y = 17A3EF8ACDC8252B9013F1D20458FC86E3FF0890E381E9420283B7AC7038801D + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044364 +x = 51590B7A515140D2D784C85608668FDFEF8C82FD1F5BE52421554A0DC3D033ED +y = 1F3E82566FB58D83751E40C9407586D9F2FED1002B27F7772E2F44BB025E925B + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044365 +x = E2534A3532D08FBBA02DDE659EE62BD0031FE2DB785596EF509302446B030852 +y = 1F0EA8A4B39CC339E62011A02579D289B103693D0CF11FFAA3BD3DC0E7B12739 + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044366 +x = 5ECBE4D1A6330A44C8F7EF951D4BF165E6C6B721EFADA985FB41661BC6E7FD6C +y = 78CB9BF2B6670082C8B4F931E59B5D1327D54FCAC7B047C265864ED85D82AFCD + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044367 +x = 7CF27B188D034F7E8A52380304B51AC3C08969E277F21B35A60B48FC47669978 +y = F888AAEE24712FC0D6C26539608BCF244582521AC3167DD661FB4862DD878C2E + +k = 115792089210356248762697446949407573529996955224135760342422259061068512044368 +x = 6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 +y = B01CBD1C01E58065711814B583F061E9D431CCA994CEA1313449BF97C840AE0A diff --git a/lib27/site-packages/Crypto/SelfTest/Random/__init__.py b/lib27/site-packages/Crypto/SelfTest/Random/__init__.py new file mode 100644 index 000000000..53061cc05 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Random/__init__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Random/__init__.py: Self-test for random number generation modules +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test for random number generators""" + +__revision__ = "$Id$" + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.Random import test_random; tests += test_random.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Random/test_random.py b/lib27/site-packages/Crypto/SelfTest/Random/test_random.py new file mode 100644 index 000000000..67636ff42 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Random/test_random.py @@ -0,0 +1,167 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Util/test_generic.py: Self-test for the Crypto.Random.new() function +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test suite for Crypto.Random.new()""" + +import sys +import unittest +from Crypto.Util.py3compat import b + +class SimpleTest(unittest.TestCase): + def runTest(self): + """Crypto.Random.new()""" + # Import the Random module and try to use it + from Crypto import Random + randobj = Random.new() + x = randobj.read(16) + y = randobj.read(16) + self.assertNotEqual(x, y) + z = Random.get_random_bytes(16) + self.assertNotEqual(x, z) + self.assertNotEqual(y, z) + # Test the Random.random module, which + # implements a subset of Python's random API + # Not implemented: + # seed(), getstate(), setstate(), jumpahead() + # random(), uniform(), triangular(), betavariate() + # expovariate(), gammavariate(), gauss(), + # longnormvariate(), normalvariate(), + # vonmisesvariate(), paretovariate() + # weibullvariate() + # WichmannHill(), whseed(), SystemRandom() + from Crypto.Random import random + x = random.getrandbits(16*8) + y = random.getrandbits(16*8) + self.assertNotEqual(x, y) + # Test randrange + if x>y: + start = y + stop = x + else: + start = x + stop = y + for step in range(1,10): + x = random.randrange(start,stop,step) + y = random.randrange(start,stop,step) + self.assertNotEqual(x, y) + self.assertEqual(start <= x < stop, True) + self.assertEqual(start <= y < stop, True) + self.assertEqual((x - start) % step, 0) + self.assertEqual((y - start) % step, 0) + for i in range(10): + self.assertEqual(random.randrange(1,2), 1) + self.assertRaises(ValueError, random.randrange, start, start) + self.assertRaises(ValueError, random.randrange, stop, start, step) + self.assertRaises(TypeError, random.randrange, start, stop, step, step) + self.assertRaises(TypeError, random.randrange, start, stop, "1") + self.assertRaises(TypeError, random.randrange, "1", stop, step) + self.assertRaises(TypeError, random.randrange, 1, "2", step) + self.assertRaises(ValueError, random.randrange, start, stop, 0) + # Test randint + x = random.randint(start,stop) + y = random.randint(start,stop) + self.assertNotEqual(x, y) + self.assertEqual(start <= x <= stop, True) + self.assertEqual(start <= y <= stop, True) + for i in range(10): + self.assertEqual(random.randint(1,1), 1) + self.assertRaises(ValueError, random.randint, stop, start) + self.assertRaises(TypeError, random.randint, start, stop, step) + self.assertRaises(TypeError, random.randint, "1", stop) + self.assertRaises(TypeError, random.randint, 1, "2") + # Test choice + seq = range(10000) + x = random.choice(seq) + y = random.choice(seq) + self.assertNotEqual(x, y) + self.assertEqual(x in seq, True) + self.assertEqual(y in seq, True) + for i in range(10): + self.assertEqual(random.choice((1,2,3)) in (1,2,3), True) + self.assertEqual(random.choice([1,2,3]) in [1,2,3], True) + if sys.version_info[0] is 3: + self.assertEqual(random.choice(bytearray(b('123'))) in bytearray(b('123')), True) + self.assertEqual(1, random.choice([1])) + self.assertRaises(IndexError, random.choice, []) + self.assertRaises(TypeError, random.choice, 1) + # Test shuffle. Lacks random parameter to specify function. + # Make copies of seq + seq = range(500) + x = list(seq) + y = list(seq) + random.shuffle(x) + random.shuffle(y) + self.assertNotEqual(x, y) + self.assertEqual(len(seq), len(x)) + self.assertEqual(len(seq), len(y)) + for i in range(len(seq)): + self.assertEqual(x[i] in seq, True) + self.assertEqual(y[i] in seq, True) + self.assertEqual(seq[i] in x, True) + self.assertEqual(seq[i] in y, True) + z = [1] + random.shuffle(z) + self.assertEqual(z, [1]) + if sys.version_info[0] == 3: + z = bytearray(b('12')) + random.shuffle(z) + self.assertEqual(b('1') in z, True) + self.assertRaises(TypeError, random.shuffle, b('12')) + self.assertRaises(TypeError, random.shuffle, 1) + self.assertRaises(TypeError, random.shuffle, "11") + self.assertRaises(TypeError, random.shuffle, (1,2)) + # 2to3 wraps a list() around it, alas - but I want to shoot + # myself in the foot here! :D + # if sys.version_info[0] == 3: + # self.assertRaises(TypeError, random.shuffle, range(3)) + # Test sample + x = random.sample(seq, 20) + y = random.sample(seq, 20) + self.assertNotEqual(x, y) + for i in range(20): + self.assertEqual(x[i] in seq, True) + self.assertEqual(y[i] in seq, True) + z = random.sample([1], 1) + self.assertEqual(z, [1]) + z = random.sample((1,2,3), 1) + self.assertEqual(z[0] in (1,2,3), True) + z = random.sample("123", 1) + self.assertEqual(z[0] in "123", True) + z = random.sample(range(3), 1) + self.assertEqual(z[0] in range(3), True) + if sys.version_info[0] == 3: + z = random.sample(b("123"), 1) + self.assertEqual(z[0] in b("123"), True) + z = random.sample(bytearray(b("123")), 1) + self.assertEqual(z[0] in bytearray(b("123")), True) + self.assertRaises(TypeError, random.sample, 1) + +def get_tests(config={}): + return [SimpleTest()] + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/__init__.py b/lib27/site-packages/Crypto/SelfTest/Signature/__init__.py new file mode 100644 index 000000000..88c7f3481 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/__init__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Signature/__init__.py: Self-test for signature modules +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test for signature modules""" + +import os + +def get_tests(config={}): + tests = [] + from . import test_pkcs1_15; tests += test_pkcs1_15.get_tests(config=config) + from . import test_pss; tests += test_pss.get_tests(config=config) + from . import test_dss; tests += test_dss.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_dss.py b/lib27/site-packages/Crypto/SelfTest/Signature/test_dss.py new file mode 100644 index 000000000..1f1d9bad7 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_dss.py @@ -0,0 +1,901 @@ +# +# SelfTest/Signature/test_dss.py: Self-test for DSS signatures +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import re +import json +import unittest +from binascii import hexlify, unhexlify + +from Crypto.Util.py3compat import tobytes, bord, bchr + +from Crypto.Hash import SHA1, SHA224, SHA256, SHA384, SHA512 +from Crypto.Signature import DSS +from Crypto.PublicKey import DSA, ECC +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.SelfTest.loader import load_tests +from Crypto.Util.number import bytes_to_long, long_to_bytes + +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.strxor import strxor + + +def t2b(hexstring): + ws = hexstring.replace(" ", "").replace("\n", "") + return unhexlify(tobytes(ws)) + + +def t2l(hexstring): + ws = hexstring.replace(" ", "").replace("\n", "") + return int(ws, 16) + + +def load_hash_by_name(hash_name): + return __import__("Crypto.Hash." + hash_name, globals(), locals(), ["new"]) + + +class StrRNG: + + def __init__(self, randomness): + length = len(randomness) + self._idx = 0 + # Fix required to get the right K (see how randint() works!) + self._randomness = long_to_bytes(bytes_to_long(randomness) - 1, length) + + def __call__(self, n): + out = self._randomness[self._idx:self._idx + n] + self._idx += n + return out + + +class FIPS_DSA_Tests(unittest.TestCase): + + # 1st 1024 bit key from SigGen.txt + P = 0xa8f9cd201e5e35d892f85f80e4db2599a5676a3b1d4f190330ed3256b26d0e80a0e49a8fffaaad2a24f472d2573241d4d6d6c7480c80b4c67bb4479c15ada7ea8424d2502fa01472e760241713dab025ae1b02e1703a1435f62ddf4ee4c1b664066eb22f2e3bf28bb70a2a76e4fd5ebe2d1229681b5b06439ac9c7e9d8bde283 + Q = 0xf85f0f83ac4df7ea0cdf8f469bfeeaea14156495 + G = 0x2b3152ff6c62f14622b8f48e59f8af46883b38e79b8c74deeae9df131f8b856e3ad6c8455dab87cc0da8ac973417ce4f7878557d6cdf40b35b4a0ca3eb310c6a95d68ce284ad4e25ea28591611ee08b8444bd64b25f3f7c572410ddfb39cc728b9c936f85f419129869929cdb909a6a3a99bbe089216368171bd0ba81de4fe33 + X = 0xc53eae6d45323164c7d07af5715703744a63fc3a + Y = 0x313fd9ebca91574e1c2eebe1517c57e0c21b0209872140c5328761bbb2450b33f1b18b409ce9ab7c4cd8fda3391e8e34868357c199e16a6b2eba06d6749def791d79e95d3a4d09b24c392ad89dbf100995ae19c01062056bb14bce005e8731efde175f95b975089bdcdaea562b32786d96f5a31aedf75364008ad4fffebb970b + + key_pub = DSA.construct((Y, G, P, Q)) + key_priv = DSA.construct((Y, G, P, Q, X)) + + def shortDescription(self): + return "FIPS DSA Tests" + + def test_loopback(self): + hashed_msg = SHA512.new(b"test") + signer = DSS.new(self.key_priv, 'fips-186-3') + signature = signer.sign(hashed_msg) + + verifier = DSS.new(self.key_pub, 'fips-186-3') + verifier.verify(hashed_msg, signature) + + def test_negative_unapproved_hashes(self): + """Verify that unapproved hashes are rejected""" + + from Crypto.Hash import RIPEMD160 + + self.description = "Unapproved hash (RIPEMD160) test" + hash_obj = RIPEMD160.new() + signer = DSS.new(self.key_priv, 'fips-186-3') + self.assertRaises(ValueError, signer.sign, hash_obj) + self.assertRaises(ValueError, signer.verify, hash_obj, b"\x00" * 40) + + def test_negative_unknown_modes_encodings(self): + """Verify that unknown modes/encodings are rejected""" + + self.description = "Unknown mode test" + self.assertRaises(ValueError, DSS.new, self.key_priv, 'fips-186-0') + + self.description = "Unknown encoding test" + self.assertRaises(ValueError, DSS.new, self.key_priv, 'fips-186-3', 'xml') + + def test_asn1_encoding(self): + """Verify ASN.1 encoding""" + + self.description = "ASN.1 encoding test" + hash_obj = SHA1.new() + signer = DSS.new(self.key_priv, 'fips-186-3', 'der') + signature = signer.sign(hash_obj) + + # Verify that output looks like a DER SEQUENCE + self.assertEqual(bord(signature[0]), 48) + signer.verify(hash_obj, signature) + + # Verify that ASN.1 parsing fails as expected + signature = bchr(7) + signature[1:] + self.assertRaises(ValueError, signer.verify, hash_obj, signature) + + def test_sign_verify(self): + """Verify public/private method""" + + self.description = "can_sign() test" + signer = DSS.new(self.key_priv, 'fips-186-3') + self.failUnless(signer.can_sign()) + + signer = DSS.new(self.key_pub, 'fips-186-3') + self.failIf(signer.can_sign()) + +class FIPS_DSA_Tests_KAT(unittest.TestCase): + pass + +test_vectors_verify = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "DSA"), + "FIPS_186_3_SigVer.rsp", + "Signature Verification 186-3", + {'result' : lambda x: x}) + +for idx, tv in enumerate(test_vectors_verify): + + if isinstance(tv, str): + res = re.match(r"\[mod = L=([0-9]+), N=([0-9]+), ([a-zA-Z0-9-]+)\]", tv) + assert(res) + hash_name = res.group(3).replace("-", "") + hash_module = load_hash_by_name(hash_name) + continue + + if hasattr(tv, "p"): + modulus = tv.p + generator = tv.g + suborder = tv.q + continue + + hash_obj = hash_module.new(tv.msg) + + comps = [bytes_to_long(x) for x in (tv.y, generator, modulus, suborder)] + key = DSA.construct(comps, False) # type: ignore + verifier = DSS.new(key, 'fips-186-3') + + def positive_test(self, verifier=verifier, hash_obj=hash_obj, signature=tv.r+tv.s): + verifier.verify(hash_obj, signature) + + def negative_test(self, verifier=verifier, hash_obj=hash_obj, signature=tv.r+tv.s): + self.assertRaises(ValueError, verifier.verify, hash_obj, signature) + + if tv.result == 'p': + setattr(FIPS_DSA_Tests_KAT, "test_verify_positive_%d" % idx, positive_test) + else: + setattr(FIPS_DSA_Tests_KAT, "test_verify_negative_%d" % idx, negative_test) + + +test_vectors_sign = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "DSA"), + "FIPS_186_3_SigGen.txt", + "Signature Creation 186-3", + {}) + +for idx, tv in enumerate(test_vectors_sign): + + if isinstance(tv, str): + res = re.match(r"\[mod = L=([0-9]+), N=([0-9]+), ([a-zA-Z0-9-]+)\]", tv) + assert(res) + hash_name = res.group(3).replace("-", "") + hash_module = load_hash_by_name(hash_name) + continue + + if hasattr(tv, "p"): + modulus = tv.p + generator = tv.g + suborder = tv.q + continue + + hash_obj = hash_module.new(tv.msg) + comps_dsa = [bytes_to_long(x) for x in (tv.y, generator, modulus, suborder, tv.x)] + key = DSA.construct(comps_dsa, False) # type: ignore + signer = DSS.new(key, 'fips-186-3', randfunc=StrRNG(tv.k)) + + def new_test(self, signer=signer, hash_obj=hash_obj, signature=tv.r+tv.s): + self.assertEqual(signer.sign(hash_obj), signature) + setattr(FIPS_DSA_Tests_KAT, "test_sign_%d" % idx, new_test) + + +class FIPS_ECDSA_Tests(unittest.TestCase): + + key_priv = ECC.generate(curve="P-256") + key_pub = key_priv.public_key() + + def shortDescription(self): + return "FIPS ECDSA Tests" + + def test_loopback(self): + hashed_msg = SHA512.new(b"test") + signer = DSS.new(self.key_priv, 'fips-186-3') + signature = signer.sign(hashed_msg) + + verifier = DSS.new(self.key_pub, 'fips-186-3') + verifier.verify(hashed_msg, signature) + + def test_negative_unapproved_hashes(self): + """Verify that unapproved hashes are rejected""" + + from Crypto.Hash import SHA1 + + self.description = "Unapproved hash (SHA-1) test" + hash_obj = SHA1.new() + signer = DSS.new(self.key_priv, 'fips-186-3') + self.assertRaises(ValueError, signer.sign, hash_obj) + self.assertRaises(ValueError, signer.verify, hash_obj, b"\x00" * 40) + + def test_sign_verify(self): + """Verify public/private method""" + + self.description = "can_sign() test" + signer = DSS.new(self.key_priv, 'fips-186-3') + self.failUnless(signer.can_sign()) + + signer = DSS.new(self.key_pub, 'fips-186-3') + self.failIf(signer.can_sign()) + + def test_negative_unknown_modes_encodings(self): + """Verify that unknown modes/encodings are rejected""" + + self.description = "Unknown mode test" + self.assertRaises(ValueError, DSS.new, self.key_priv, 'fips-186-0') + + self.description = "Unknown encoding test" + self.assertRaises(ValueError, DSS.new, self.key_priv, 'fips-186-3', 'xml') + + def test_asn1_encoding(self): + """Verify ASN.1 encoding""" + + self.description = "ASN.1 encoding test" + hash_obj = SHA256.new() + signer = DSS.new(self.key_priv, 'fips-186-3', 'der') + signature = signer.sign(hash_obj) + + # Verify that output looks like a DER SEQUENCE + self.assertEqual(bord(signature[0]), 48) + signer.verify(hash_obj, signature) + + # Verify that ASN.1 parsing fails as expected + signature = bchr(7) + signature[1:] + self.assertRaises(ValueError, signer.verify, hash_obj, signature) + + +class FIPS_ECDSA_Tests_KAT(unittest.TestCase): + pass + + +test_vectors_verify = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "ECDSA"), + "SigVer.rsp", + "ECDSA Signature Verification 186-3", + {'result': lambda x: x, + 'qx': lambda x: int(x, 16), + 'qy': lambda x: int(x, 16), + }) + +for idx, tv in enumerate(test_vectors_verify): + + if isinstance(tv, str): + res = re.match(r"\[P-256,(SHA-[0-9]+)\]", tv) + assert res + hash_name = res.group(1).replace("-", "") + hash_module = load_hash_by_name(hash_name) + continue + + hash_obj = hash_module.new(tv.msg) + ecc_key = ECC.construct(curve="P-256", point_x=tv.qx, point_y=tv.qy) + verifier = DSS.new(ecc_key, 'fips-186-3') + + def positive_test(self, verifier=verifier, hash_obj=hash_obj, signature=tv.r+tv.s): + verifier.verify(hash_obj, signature) + + def negative_test(self, verifier=verifier, hash_obj=hash_obj, signature=tv.r+tv.s): + self.assertRaises(ValueError, verifier.verify, hash_obj, signature) + + if tv.result.startswith('p'): + setattr(FIPS_ECDSA_Tests_KAT, "test_verify_positive_%d" % idx, positive_test) + else: + setattr(FIPS_ECDSA_Tests_KAT, "test_verify_negative_%d" % idx, negative_test) + + +test_vectors_sign = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "ECDSA"), + "SigGen.txt", + "ECDSA Signature Verification 186-3", + {'d': lambda x: int(x, 16)}) + +for idx, tv in enumerate(test_vectors_sign): + + if isinstance(tv, str): + res = re.match(r"\[P-256,(SHA-[0-9]+)\]", tv) + assert res + hash_name = res.group(1).replace("-", "") + hash_module = load_hash_by_name(hash_name) + continue + + hash_obj = hash_module.new(tv.msg) + ecc_key = ECC.construct(curve="P-256", d=tv.d) + signer = DSS.new(ecc_key, 'fips-186-3', randfunc=StrRNG(tv.k)) + + def new_test(self, signer=signer, hash_obj=hash_obj, signature=tv.r+tv.s): + self.assertEqual(signer.sign(hash_obj), signature) + setattr(FIPS_ECDSA_Tests_KAT, "test_sign_%d" % idx, new_test) + + +class Det_DSA_Tests(unittest.TestCase): + """Tests from rfc6979""" + + # Each key is (p, q, g, x, y, desc) + keys = [ + ( + """ + 86F5CA03DCFEB225063FF830A0C769B9DD9D6153AD91D7CE27F787C43278B447 + E6533B86B18BED6E8A48B784A14C252C5BE0DBF60B86D6385BD2F12FB763ED88 + 73ABFD3F5BA2E0A8C0A59082EAC056935E529DAF7C610467899C77ADEDFC846C + 881870B7B19B2B58F9BE0521A17002E3BDD6B86685EE90B3D9A1B02B782B1779""", + "996F967F6C8E388D9E28D01E205FBA957A5698B1", + """ + 07B0F92546150B62514BB771E2A0C0CE387F03BDA6C56B505209FF25FD3C133D + 89BBCD97E904E09114D9A7DEFDEADFC9078EA544D2E401AEECC40BB9FBBF78FD + 87995A10A1C27CB7789B594BA7EFB5C4326A9FE59A070E136DB77175464ADCA4 + 17BE5DCE2F40D10A46A3A3943F26AB7FD9C0398FF8C76EE0A56826A8A88F1DBD""", + "411602CB19A6CCC34494D79D98EF1E7ED5AF25F7", + """ + 5DF5E01DED31D0297E274E1691C192FE5868FEF9E19A84776454B100CF16F653 + 92195A38B90523E2542EE61871C0440CB87C322FC4B4D2EC5E1E7EC766E1BE8D + 4CE935437DC11C3C8FD426338933EBFE739CB3465F4D3668C5E473508253B1E6 + 82F65CBDC4FAE93C2EA212390E54905A86E2223170B44EAA7DA5DD9FFCFB7F3B""", + "DSA1024" + ), + ( + """ + 9DB6FB5951B66BB6FE1E140F1D2CE5502374161FD6538DF1648218642F0B5C48 + C8F7A41AADFA187324B87674FA1822B00F1ECF8136943D7C55757264E5A1A44F + FE012E9936E00C1D3E9310B01C7D179805D3058B2A9F4BB6F9716BFE6117C6B5 + B3CC4D9BE341104AD4A80AD6C94E005F4B993E14F091EB51743BF33050C38DE2 + 35567E1B34C3D6A5C0CEAA1A0F368213C3D19843D0B4B09DCB9FC72D39C8DE41 + F1BF14D4BB4563CA28371621CAD3324B6A2D392145BEBFAC748805236F5CA2FE + 92B871CD8F9C36D3292B5509CA8CAA77A2ADFC7BFD77DDA6F71125A7456FEA15 + 3E433256A2261C6A06ED3693797E7995FAD5AABBCFBE3EDA2741E375404AE25B""", + "F2C3119374CE76C9356990B465374A17F23F9ED35089BD969F61C6DDE9998C1F", + """ + 5C7FF6B06F8F143FE8288433493E4769C4D988ACE5BE25A0E24809670716C613 + D7B0CEE6932F8FAA7C44D2CB24523DA53FBE4F6EC3595892D1AA58C4328A06C4 + 6A15662E7EAA703A1DECF8BBB2D05DBE2EB956C142A338661D10461C0D135472 + 085057F3494309FFA73C611F78B32ADBB5740C361C9F35BE90997DB2014E2EF5 + AA61782F52ABEB8BD6432C4DD097BC5423B285DAFB60DC364E8161F4A2A35ACA + 3A10B1C4D203CC76A470A33AFDCBDD92959859ABD8B56E1725252D78EAC66E71 + BA9AE3F1DD2487199874393CD4D832186800654760E1E34C09E4D155179F9EC0 + DC4473F996BDCE6EED1CABED8B6F116F7AD9CF505DF0F998E34AB27514B0FFE7""", + "69C7548C21D0DFEA6B9A51C9EAD4E27C33D3B3F180316E5BCAB92C933F0E4DBC", + """ + 667098C654426C78D7F8201EAC6C203EF030D43605032C2F1FA937E5237DBD94 + 9F34A0A2564FE126DC8B715C5141802CE0979C8246463C40E6B6BDAA2513FA61 + 1728716C2E4FD53BC95B89E69949D96512E873B9C8F8DFD499CC312882561ADE + CB31F658E934C0C197F2C4D96B05CBAD67381E7B768891E4DA3843D24D94CDFB + 5126E9B8BF21E8358EE0E0A30EF13FD6A664C0DCE3731F7FB49A4845A4FD8254 + 687972A2D382599C9BAC4E0ED7998193078913032558134976410B89D2C171D1 + 23AC35FD977219597AA7D15C1A9A428E59194F75C721EBCBCFAE44696A499AFA + 74E04299F132026601638CB87AB79190D4A0986315DA8EEC6561C938996BEADF""", + "DSA2048" + ), + ] + + # This is a sequence of items: + # message, k, r, s, hash module + signatures = [ + ( + "sample", + "7BDB6B0FF756E1BB5D53583EF979082F9AD5BD5B", + "2E1A0C2562B2912CAAF89186FB0F42001585DA55", + "29EFB6B0AFF2D7A68EB70CA313022253B9A88DF5", + SHA1, + 'DSA1024' + ), + ( + "sample", + "562097C06782D60C3037BA7BE104774344687649", + "4BC3B686AEA70145856814A6F1BB53346F02101E", + "410697B92295D994D21EDD2F4ADA85566F6F94C1", + SHA224, + 'DSA1024' + ), + ( + "sample", + "519BA0546D0C39202A7D34D7DFA5E760B318BCFB", + "81F2F5850BE5BC123C43F71A3033E9384611C545", + "4CDD914B65EB6C66A8AAAD27299BEE6B035F5E89", + SHA256, + 'DSA1024' + ), + ( + "sample", + "95897CD7BBB944AA932DBC579C1C09EB6FCFC595", + "07F2108557EE0E3921BC1774F1CA9B410B4CE65A", + "54DF70456C86FAC10FAB47C1949AB83F2C6F7595", + SHA384, + 'DSA1024' + ), + ( + "sample", + "09ECE7CA27D0F5A4DD4E556C9DF1D21D28104F8B", + "16C3491F9B8C3FBBDD5E7A7B667057F0D8EE8E1B", + "02C36A127A7B89EDBB72E4FFBC71DABC7D4FC69C", + SHA512, + 'DSA1024' + ), + ( + "test", + "5C842DF4F9E344EE09F056838B42C7A17F4A6433", + "42AB2052FD43E123F0607F115052A67DCD9C5C77", + "183916B0230D45B9931491D4C6B0BD2FB4AAF088", + SHA1, + 'DSA1024' + ), + ( + "test", + "4598B8EFC1A53BC8AECD58D1ABBB0C0C71E67297", + "6868E9964E36C1689F6037F91F28D5F2C30610F2", + "49CEC3ACDC83018C5BD2674ECAAD35B8CD22940F", + SHA224, + 'DSA1024' + ), + ( + "test", + "5A67592E8128E03A417B0484410FB72C0B630E1A", + "22518C127299B0F6FDC9872B282B9E70D0790812", + "6837EC18F150D55DE95B5E29BE7AF5D01E4FE160", + SHA256, + 'DSA1024' + ), + ( + "test", + "220156B761F6CA5E6C9F1B9CF9C24BE25F98CD89", + "854CF929B58D73C3CBFDC421E8D5430CD6DB5E66", + "91D0E0F53E22F898D158380676A871A157CDA622", + SHA384, + 'DSA1024' + ), + ( + "test", + "65D2C2EEB175E370F28C75BFCDC028D22C7DBE9C", + "8EA47E475BA8AC6F2D821DA3BD212D11A3DEB9A0", + "7C670C7AD72B6C050C109E1790008097125433E8", + SHA512, + 'DSA1024' + ), + ( + "sample", + "888FA6F7738A41BDC9846466ABDB8174C0338250AE50CE955CA16230F9CBD53E", + "3A1B2DBD7489D6ED7E608FD036C83AF396E290DBD602408E8677DAABD6E7445A", + "D26FCBA19FA3E3058FFC02CA1596CDBB6E0D20CB37B06054F7E36DED0CDBBCCF", + SHA1, + 'DSA2048' + ), + ( + "sample", + "BC372967702082E1AA4FCE892209F71AE4AD25A6DFD869334E6F153BD0C4D806", + "DC9F4DEADA8D8FF588E98FED0AB690FFCE858DC8C79376450EB6B76C24537E2C", + "A65A9C3BC7BABE286B195D5DA68616DA8D47FA0097F36DD19F517327DC848CEC", + SHA224, + 'DSA2048' + ), + ( + "sample", + "8926A27C40484216F052F4427CFD5647338B7B3939BC6573AF4333569D597C52", + "EACE8BDBBE353C432A795D9EC556C6D021F7A03F42C36E9BC87E4AC7932CC809", + "7081E175455F9247B812B74583E9E94F9EA79BD640DC962533B0680793A38D53", + SHA256, + 'DSA2048' + ), + ( + "sample", + "C345D5AB3DA0A5BCB7EC8F8FB7A7E96069E03B206371EF7D83E39068EC564920", + "B2DA945E91858834FD9BF616EBAC151EDBC4B45D27D0DD4A7F6A22739F45C00B", + "19048B63D9FD6BCA1D9BAE3664E1BCB97F7276C306130969F63F38FA8319021B", + SHA384, + 'DSA2048' + ), + ( + "sample", + "5A12994431785485B3F5F067221517791B85A597B7A9436995C89ED0374668FC", + "2016ED092DC5FB669B8EFB3D1F31A91EECB199879BE0CF78F02BA062CB4C942E", + "D0C76F84B5F091E141572A639A4FB8C230807EEA7D55C8A154A224400AFF2351", + SHA512, + 'DSA2048' + ), + ( + "test", + "6EEA486F9D41A037B2C640BC5645694FF8FF4B98D066A25F76BE641CCB24BA4F", + "C18270A93CFC6063F57A4DFA86024F700D980E4CF4E2CB65A504397273D98EA0", + "414F22E5F31A8B6D33295C7539C1C1BA3A6160D7D68D50AC0D3A5BEAC2884FAA", + SHA1, + 'DSA2048' + ), + ( + "test", + "06BD4C05ED74719106223BE33F2D95DA6B3B541DAD7BFBD7AC508213B6DA6670", + "272ABA31572F6CC55E30BF616B7A265312018DD325BE031BE0CC82AA17870EA3", + "E9CC286A52CCE201586722D36D1E917EB96A4EBDB47932F9576AC645B3A60806", + SHA224, + 'DSA2048' + ), + ( + "test", + "1D6CE6DDA1C5D37307839CD03AB0A5CBB18E60D800937D67DFB4479AAC8DEAD7", + "8190012A1969F9957D56FCCAAD223186F423398D58EF5B3CEFD5A4146A4476F0", + "7452A53F7075D417B4B013B278D1BB8BBD21863F5E7B1CEE679CF2188E1AB19E", + SHA256, + 'DSA2048' + ), + ( + "test", + "206E61F73DBE1B2DC8BE736B22B079E9DACD974DB00EEBBC5B64CAD39CF9F91C", + "239E66DDBE8F8C230A3D071D601B6FFBDFB5901F94D444C6AF56F732BEB954BE", + "6BD737513D5E72FE85D1C750E0F73921FE299B945AAD1C802F15C26A43D34961", + SHA384, + 'DSA2048' + ), + ( + "test", + "AFF1651E4CD6036D57AA8B2A05CCF1A9D5A40166340ECBBDC55BE10B568AA0AA", + "89EC4BB1400ECCFF8E7D9AA515CD1DE7803F2DAFF09693EE7FD1353E90A68307", + "C9F0BDABCC0D880BB137A994CC7F3980CE91CC10FAF529FC46565B15CEA854E1", + SHA512, + 'DSA2048' + ) + ] + + def setUp(self): + # Convert DSA key components from hex strings to integers + # Each key is (p, q, g, x, y, desc) + + from collections import namedtuple + + TestKey = namedtuple('TestKey', 'p q g x y') + new_keys = {} + for k in self.keys: + tk = TestKey(*[ t2l(y) for y in k[:-1] ]) + new_keys[k[-1]] = tk + self.keys = new_keys + + # Convert signature encoding + TestSig = namedtuple('TestSig', 'message nonce result module test_key') + new_signatures = [] + for message, nonce, r, s, module, test_key in self.signatures: + tsig = TestSig( + tobytes(message), + t2l(nonce), + t2b(r) + t2b(s), + module, + self.keys[test_key] + ) + new_signatures.append(tsig) + self.signatures = new_signatures + + def test1(self): + q = 0x4000000000000000000020108A2E0CC0D99F8A5EF + x = 0x09A4D6792295A7F730FC3F2B49CBC0F62E862272F + p = 2 * q + 1 + y = pow(2, x, p) + key = DSA.construct([pow(y, 2, p), 2, p, q, x], False) + signer = DSS.new(key, 'deterministic-rfc6979') + + # Test _int2octets + self.assertEqual(hexlify(signer._int2octets(x)), + b'009a4d6792295a7f730fc3f2b49cbc0f62e862272f') + + # Test _bits2octets + h1 = SHA256.new(b"sample").digest() + self.assertEqual(hexlify(signer._bits2octets(h1)), + b'01795edf0d54db760f156d0dac04c0322b3a204224') + + def test2(self): + + for sig in self.signatures: + tk = sig.test_key + key = DSA.construct([tk.y, tk.g, tk.p, tk.q, tk.x], False) + signer = DSS.new(key, 'deterministic-rfc6979') + + hash_obj = sig.module.new(sig.message) + result = signer.sign(hash_obj) + self.assertEqual(sig.result, result) + + +class Det_ECDSA_Tests(unittest.TestCase): + + key_priv = ECC.construct(curve="P-256", d=0xC9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721) + key_pub = key_priv.public_key() + + # This is a sequence of items: + # message, k, r, s, hash module + # taken from RFC6979 + signatures_ = ( + ( + "sample", + "882905F1227FD620FBF2ABF21244F0BA83D0DC3A9103DBBEE43A1FB858109DB4", + "61340C88C3AAEBEB4F6D667F672CA9759A6CCAA9FA8811313039EE4A35471D32", + "6D7F147DAC089441BB2E2FE8F7A3FA264B9C475098FDCF6E00D7C996E1B8B7EB", + SHA1 + ), + ( + "sample", + "103F90EE9DC52E5E7FB5132B7033C63066D194321491862059967C715985D473", + "53B2FFF5D1752B2C689DF257C04C40A587FABABB3F6FC2702F1343AF7CA9AA3F", + "B9AFB64FDC03DC1A131C7D2386D11E349F070AA432A4ACC918BEA988BF75C74C", + SHA224 + ), + ( + "sample", + "A6E3C57DD01ABE90086538398355DD4C3B17AA873382B0F24D6129493D8AAD60", + "EFD48B2AACB6A8FD1140DD9CD45E81D69D2C877B56AAF991C34D0EA84EAF3716", + "F7CB1C942D657C41D436C7A1B6E29F65F3E900DBB9AFF4064DC4AB2F843ACDA8", + SHA256 + ), + ( + "sample", + "09F634B188CEFD98E7EC88B1AA9852D734D0BC272F7D2A47DECC6EBEB375AAD4", + "0EAFEA039B20E9B42309FB1D89E213057CBF973DC0CFC8F129EDDDC800EF7719", + "4861F0491E6998B9455193E34E7B0D284DDD7149A74B95B9261F13ABDE940954", + SHA384 + ), + ( + "sample", + "5FA81C63109BADB88C1F367B47DA606DA28CAD69AA22C4FE6AD7DF73A7173AA5", + "8496A60B5E9B47C825488827E0495B0E3FA109EC4568FD3F8D1097678EB97F00", + "2362AB1ADBE2B8ADF9CB9EDAB740EA6049C028114F2460F96554F61FAE3302FE", + SHA512 + ), + ( + "test", + "8C9520267C55D6B980DF741E56B4ADEE114D84FBFA2E62137954164028632A2E", + "0CBCC86FD6ABD1D99E703E1EC50069EE5C0B4BA4B9AC60E409E8EC5910D81A89", + "01B9D7B73DFAA60D5651EC4591A0136F87653E0FD780C3B1BC872FFDEAE479B1", + SHA1 + ), + ( + "test", + "669F4426F2688B8BE0DB3A6BD1989BDAEFFF84B649EEB84F3DD26080F667FAA7", + "C37EDB6F0AE79D47C3C27E962FA269BB4F441770357E114EE511F662EC34A692", + "C820053A05791E521FCAAD6042D40AEA1D6B1A540138558F47D0719800E18F2D", + SHA224 + ), + ( + "test", + "D16B6AE827F17175E040871A1C7EC3500192C4C92677336EC2537ACAEE0008E0", + "F1ABB023518351CD71D881567B1EA663ED3EFCF6C5132B354F28D3B0B7D38367", + "019F4113742A2B14BD25926B49C649155F267E60D3814B4C0CC84250E46F0083", + SHA256 + ), + ( + "test", + "16AEFFA357260B04B1DD199693960740066C1A8F3E8EDD79070AA914D361B3B8", + "83910E8B48BB0C74244EBDF7F07A1C5413D61472BD941EF3920E623FBCCEBEB6", + "8DDBEC54CF8CD5874883841D712142A56A8D0F218F5003CB0296B6B509619F2C", + SHA384 + ), + ( + "test", + "6915D11632ACA3C40D5D51C08DAF9C555933819548784480E93499000D9F0B7F", + "461D93F31B6540894788FD206C07CFA0CC35F46FA3C91816FFF1040AD1581A04", + "39AF9F15DE0DB8D97E72719C74820D304CE5226E32DEDAE67519E840D1194E55", + SHA512 + ) + ) + + signatures = [] + for a, b, c, d, e in signatures_: + new_tv = (tobytes(a), unhexlify(b), unhexlify(c), unhexlify(d), e) + signatures.append(new_tv) + + def shortDescription(self): + return "Deterministic ECDSA Tests" + + def test_loopback(self): + hashed_msg = SHA512.new(b"test") + signer = DSS.new(self.key_priv, 'deterministic-rfc6979') + signature = signer.sign(hashed_msg) + + verifier = DSS.new(self.key_pub, 'deterministic-rfc6979') + verifier.verify(hashed_msg, signature) + + def test_data_rfc6979(self): + signer = DSS.new(self.key_priv, 'deterministic-rfc6979') + for message, k, r, s, module in self.signatures: + hash_obj = module.new(message) + result = signer.sign(hash_obj) + self.assertEqual(r + s, result) + + +class TestVectorsDSAWycheproof(unittest.TestCase): + + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + self._id = "None" + + def setUp(self): + comps = "Crypto.SelfTest.Signature.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, "dsa_test.json"), "rt") as file_in: + tv_tree = json.load(file_in) + + self.tv = [] + + for group in tv_tree['testGroups']: + key = DSA.import_key(group['keyPem']) + hash_name = group['sha'] + if hash_name == "SHA-256": + hash_module = SHA256 + elif hash_name == "SHA-224": + hash_module = SHA224 + elif hash_name == "SHA-1": + hash_module = SHA1 + else: + assert False + assert group['type'] == "DSAVer" + + from collections import namedtuple + TestVector = namedtuple('TestVector', 'id comment msg sig key hash_module valid warning') + + for test in group['tests']: + tv = TestVector( + test['tcId'], + test['comment'], + unhexlify(test['msg']), + unhexlify(test['sig']), + key, + hash_module, + test['result'] != "invalid", + test['result'] == "acceptable" + ) + self.tv.append(tv) + + def shortDescription(self): + return self._id + + def warn(self, tv): + if tv.warning and self._wycheproof_warnings: + import warnings + warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment)) + + def test_verify(self, tv): + self._id = "Wycheproof DSA Test #" + str(tv.id) + + hashed_msg = tv.hash_module.new(tv.msg) + signer = DSS.new(tv.key, 'fips-186-3', encoding='der') + try: + signature = signer.verify(hashed_msg, tv.sig) + except ValueError as e: + if tv.warning: + return + assert not tv.valid + else: + assert tv.valid + self.warn(tv) + + def runTest(self): + for tv in self.tv: + self.test_verify(tv) + + +class TestVectorsECDSAWycheproof(unittest.TestCase): + + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + self._id = "None" + + def add_tests(self, filename): + comps = "Crypto.SelfTest.Signature.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, filename), "rt") as file_in: + tv_tree = json.load(file_in) + + for group in tv_tree['testGroups']: + + try: + key = ECC.import_key(group['keyPem']) + except ValueError: + continue + + hash_name = group['sha'] + if hash_name == "SHA-256": + hash_module = SHA256 + elif hash_name == "SHA-224": + hash_module = SHA224 + elif hash_name == "SHA-1": + hash_module = SHA1 + else: + assert False + assert group['type'] == "ECDSAVer" + + from collections import namedtuple + TestVector = namedtuple('TestVector', 'id comment msg sig key hash_module valid warning') + + for test in group['tests']: + tv = TestVector( + test['tcId'], + test['comment'], + unhexlify(test['msg']), + unhexlify(test['sig']), + key, + hash_module, + test['result'] != "invalid", + test['result'] == "acceptable" + ) + self.tv.append(tv) + + def setUp(self): + self.tv = [] + self.add_tests("ecdsa_test.json") + self.add_tests("ecdsa_secp256r1_sha256_test.json") + + def shortDescription(self): + return self._id + + def warn(self, tv): + if tv.warning and self._wycheproof_warnings: + import warnings + warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment)) + + def test_verify(self, tv): + self._id = "Wycheproof ECDSA Test #%d (%s)" % (tv.id, tv.comment) + + hashed_msg = tv.hash_module.new(tv.msg) + signer = DSS.new(tv.key, 'fips-186-3', encoding='der') + try: + signature = signer.verify(hashed_msg, tv.sig) + except ValueError as e: + if tv.warning: + return + if tv.comment == "k*G has a large x-coordinate": + return + assert not tv.valid + else: + assert tv.valid + self.warn(tv) + + def runTest(self): + for tv in self.tv: + self.test_verify(tv) + + +def get_tests(config={}): + wycheproof_warnings = config.get('wycheproof_warnings') + + tests = [] + tests += list_test_cases(FIPS_DSA_Tests) + tests += list_test_cases(FIPS_ECDSA_Tests) + tests += list_test_cases(Det_DSA_Tests) + tests += list_test_cases(Det_ECDSA_Tests) + + if config.get('slow_tests'): + tests += list_test_cases(FIPS_DSA_Tests_KAT) + tests += list_test_cases(FIPS_ECDSA_Tests_KAT) + + tests += [ TestVectorsDSAWycheproof(wycheproof_warnings) ] + tests += [ TestVectorsECDSAWycheproof(wycheproof_warnings) ] + + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py b/lib27/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py new file mode 100644 index 000000000..597ccb879 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py @@ -0,0 +1,312 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import json +import unittest +from binascii import unhexlify + +from Crypto.Util.py3compat import bchr +from Crypto.Util.number import bytes_to_long +from Crypto.Util.strxor import strxor +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.SelfTest.loader import load_tests + +from Crypto.Hash import SHA1, SHA224, SHA256 +from Crypto.PublicKey import RSA +from Crypto.Signature import pkcs1_15 +from Crypto.Signature import PKCS1_v1_5 + +from Crypto.Util._file_system import pycryptodome_filename +from Crypto.Util.strxor import strxor + + +def load_hash_by_name(hash_name): + return __import__("Crypto.Hash." + hash_name, globals(), locals(), ["new"]) + + +class FIPS_PKCS1_Verify_Tests(unittest.TestCase): + + def shortDescription(self): + return "FIPS PKCS1 Tests (Verify)" + + def test_can_sign(self): + test_public_key = RSA.generate(1024).publickey() + verifier = pkcs1_15.new(test_public_key) + self.assertEqual(verifier.can_sign(), False) + + +class FIPS_PKCS1_Verify_Tests_KAT(unittest.TestCase): + pass + + +test_vectors_verify = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "PKCS1-v1.5"), + "SigVer15_186-3.rsp", + "Signature Verification 186-3", + { 'shaalg' : lambda x: x, + 'd' : lambda x: int(x), + 'result' : lambda x: x }) + + +for count, tv in enumerate(test_vectors_verify): + if isinstance(tv, str): + continue + if hasattr(tv, "n"): + modulus = tv.n + continue + + hash_module = load_hash_by_name(tv.shaalg.upper()) + hash_obj = hash_module.new(tv.msg) + public_key = RSA.construct([bytes_to_long(x) for x in (modulus, tv.e)]) # type: ignore + verifier = pkcs1_15.new(public_key) + + def positive_test(self, hash_obj=hash_obj, verifier=verifier, signature=tv.s): + verifier.verify(hash_obj, signature) + + def negative_test(self, hash_obj=hash_obj, verifier=verifier, signature=tv.s): + self.assertRaises(ValueError, verifier.verify, hash_obj, signature) + + if tv.result == 'f': + setattr(FIPS_PKCS1_Verify_Tests_KAT, "test_negative_%d" % count, negative_test) + else: + setattr(FIPS_PKCS1_Verify_Tests_KAT, "test_positive_%d" % count, positive_test) + + +class FIPS_PKCS1_Sign_Tests(unittest.TestCase): + + def shortDescription(self): + return "FIPS PKCS1 Tests (Sign)" + + def test_can_sign(self): + test_private_key = RSA.generate(1024) + signer = pkcs1_15.new(test_private_key) + self.assertEqual(signer.can_sign(), True) + + +class FIPS_PKCS1_Sign_Tests_KAT(unittest.TestCase): + pass + + +test_vectors_sign = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "PKCS1-v1.5"), + "SigGen15_186-2.txt", + "Signature Generation 186-2", + { 'shaalg' : lambda x: x }) + +test_vectors_sign += load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "PKCS1-v1.5"), + "SigGen15_186-3.txt", + "Signature Generation 186-3", + { 'shaalg' : lambda x: x }) + +for count, tv in enumerate(test_vectors_sign): + if isinstance(tv, str): + continue + if hasattr(tv, "n"): + modulus = tv.n + continue + if hasattr(tv, "e"): + private_key = RSA.construct([bytes_to_long(x) for x in (modulus, tv.e, tv.d)]) # type: ignore + signer = pkcs1_15.new(private_key) + continue + + hash_module = load_hash_by_name(tv.shaalg.upper()) + hash_obj = hash_module.new(tv.msg) + + def new_test(self, hash_obj=hash_obj, signer=signer, result=tv.s): + signature = signer.sign(hash_obj) + self.assertEqual(signature, result) + + setattr(FIPS_PKCS1_Sign_Tests_KAT, "test_%d" % count, new_test) + + +class PKCS1_15_NoParams(unittest.TestCase): + """Verify that PKCS#1 v1.5 signatures pass even without NULL parameters in + the algorithm identifier (PyCrypto/LP bug #1119552).""" + + rsakey = """-----BEGIN RSA PRIVATE KEY----- + MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII + q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8 + Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI + OQIhAPIPLz4dphiD9imAkivY31Rc5AfHJiQRA7XixTcjEkojAiEAyh/pJHks/Mlr + +rdPNEpotBjfV4M4BkgGAA/ipcmaAjcCIQCHvhwwKVBLzzTscT2HeUdEeBMoiXXK + JACAr3sJQJGxIQIgarRp+m1WSKV1MciwMaTOnbU7wxFs9DP1pva76lYBzgUCIQC9 + n0CnZCJ6IZYqSt0H5N7+Q+2Ro64nuwV/OSQfM6sBwQ== + -----END RSA PRIVATE KEY-----""" + + msg = b"This is a test\x0a" + + # PKCS1 v1.5 signature of the message computed using SHA-1. + # The digestAlgorithm SEQUENCE does NOT contain the NULL parameter. + sig_str = "a287a13517f716e72fb14eea8e33a8db4a4643314607e7ca3e3e28"\ + "1893db74013dda8b855fd99f6fecedcb25fcb7a434f35cd0a101f8"\ + "b19348e0bd7b6f152dfc" + signature = unhexlify(sig_str) + + def runTest(self): + verifier = pkcs1_15.new(RSA.importKey(self.rsakey)) + hashed = SHA1.new(self.msg) + verifier.verify(hashed, self.signature) + + +class PKCS1_Legacy_Module_Tests(unittest.TestCase): + """Verify that the legacy module Crypto.Signature.PKCS1_v1_5 + behaves as expected. The only difference is that the verify() + method returns True/False and does not raise exceptions.""" + + def shortDescription(self): + return "Test legacy Crypto.Signature.PKCS1_v1_5" + + def runTest(self): + key = RSA.importKey(PKCS1_15_NoParams.rsakey) + hashed = SHA1.new(b"Test") + good_signature = PKCS1_v1_5.new(key).sign(hashed) + verifier = PKCS1_v1_5.new(key.publickey()) + + self.assertEqual(verifier.verify(hashed, good_signature), True) + + # Flip a few bits in the signature + bad_signature = strxor(good_signature, bchr(1) * len(good_signature)) + self.assertEqual(verifier.verify(hashed, bad_signature), False) + + +class PKCS1_All_Hashes_Tests(unittest.TestCase): + + def shortDescription(self): + return "Test PKCS#1v1.5 signature in combination with all hashes" + + def runTest(self): + + key = RSA.generate(1024) + signer = pkcs1_15.new(key) + hash_names = ("MD2", "MD4", "MD5", "RIPEMD160", "SHA1", + "SHA224", "SHA256", "SHA384", "SHA512", + "SHA3_224", "SHA3_256", "SHA3_384", "SHA3_512") + + for name in hash_names: + hashed = load_hash_by_name(name).new(b"Test") + signer.sign(hashed) + + from Crypto.Hash import BLAKE2b, BLAKE2s + for hash_size in (20, 32, 48, 64): + hashed_b = BLAKE2b.new(digest_bytes=hash_size, data=b"Test") + signer.sign(hashed_b) + for hash_size in (16, 20, 28, 32): + hashed_s = BLAKE2s.new(digest_bytes=hash_size, data=b"Test") + signer.sign(hashed_s) + + +class TestVectorsWycheproof(unittest.TestCase): + + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + self._id = "None" + + def setUp(self): + comps = "Crypto.SelfTest.Signature.test_vectors.wycheproof".split(".") + with open(pycryptodome_filename(comps, "rsa_signature_test.json"), "rt") as file_in: + tv_tree = json.load(file_in) + + class TestVector(object): + pass + self.tv = [] + + for group in tv_tree['testGroups']: + key = RSA.import_key(group['keyPem']) + hash_name = group['sha'] + if hash_name == "SHA-256": + hash_module = SHA256 + elif hash_name == "SHA-224": + hash_module = SHA224 + elif hash_name == "SHA-1": + hash_module = SHA1 + else: + assert False + assert group['type'] == "RSASigVer" + + for test in group['tests']: + tv = TestVector() + + tv.id = test['tcId'] + tv.comment = test['comment'] + for attr in 'msg', 'sig': + setattr(tv, attr, unhexlify(test[attr])) + tv.key = key + tv.hash_module = hash_module + tv.valid = test['result'] != "invalid" + tv.warning = test['result'] == "acceptable" + self.tv.append(tv) + + def shortDescription(self): + return self._id + + def warn(self, tv): + if tv.warning and self._wycheproof_warnings: + import warnings + warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment)) + + def test_verify(self, tv): + self._id = "Wycheproof RSA PKCS$#1 Test #" + str(tv.id) + + hashed_msg = tv.hash_module.new(tv.msg) + signer = pkcs1_15.new(tv.key) + try: + signature = signer.verify(hashed_msg, tv.sig) + except ValueError as e: + if tv.warning: + return + assert not tv.valid + else: + assert tv.valid + self.warn(tv) + + def runTest(self): + for tv in self.tv: + self.test_verify(tv) + + +def get_tests(config={}): + wycheproof_warnings = config.get('wycheproof_warnings') + + tests = [] + tests += list_test_cases(FIPS_PKCS1_Verify_Tests) + tests += list_test_cases(FIPS_PKCS1_Sign_Tests) + tests += list_test_cases(PKCS1_15_NoParams) + tests += list_test_cases(PKCS1_Legacy_Module_Tests) + tests += list_test_cases(PKCS1_All_Hashes_Tests) + tests += [ TestVectorsWycheproof(wycheproof_warnings) ] + + if config.get('slow_tests'): + tests += list_test_cases(FIPS_PKCS1_Verify_Tests_KAT) + tests += list_test_cases(FIPS_PKCS1_Sign_Tests_KAT) + + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_pss.py b/lib27/site-packages/Crypto/SelfTest/Signature/test_pss.py new file mode 100644 index 000000000..91aa5acbd --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_pss.py @@ -0,0 +1,237 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest + +from Crypto.Util.py3compat import b, bchr +from Crypto.Util.number import bytes_to_long +from Crypto.Util.strxor import strxor +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.SelfTest.loader import load_tests + +from Crypto.Hash import SHA1 +from Crypto.PublicKey import RSA +from Crypto.Signature import pss +from Crypto.Signature import PKCS1_PSS + + +def load_hash_by_name(hash_name): + return __import__("Crypto.Hash." + hash_name, globals(), locals(), ["new"]) + + +class PRNG(object): + + def __init__(self, stream): + self.stream = stream + self.idx = 0 + + def __call__(self, rnd_size): + result = self.stream[self.idx:self.idx + rnd_size] + self.idx += rnd_size + return result + + +class FIPS_PKCS1_Verify_Tests(unittest.TestCase): + + def shortDescription(self): + return "FIPS PKCS1 Tests (Verify)" + + def verify_positive(self, hashmod, message, public_key, salt, signature): + prng = PRNG(salt) + hashed = hashmod.new(message) + verifier = pss.new(public_key, salt_bytes=len(salt), rand_func=prng) + verifier.verify(hashed, signature) + + def verify_negative(self, hashmod, message, public_key, salt, signature): + prng = PRNG(salt) + hashed = hashmod.new(message) + verifier = pss.new(public_key, salt_bytes=len(salt), rand_func=prng) + self.assertRaises(ValueError, verifier.verify, hashed, signature) + + def test_can_sign(self): + test_public_key = RSA.generate(1024).publickey() + verifier = pss.new(test_public_key) + self.assertEqual(verifier.can_sign(), False) + + +class FIPS_PKCS1_Verify_Tests_KAT(unittest.TestCase): + pass + + +test_vectors_verify = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "PKCS1-PSS"), + "SigVerPSS_186-3.rsp", + "Signature Verification 186-3", + { 'shaalg' : lambda x: x, + 'result' : lambda x: x }) + + +for count, tv in enumerate(test_vectors_verify): + if isinstance(tv, str): + continue + if hasattr(tv, "n"): + modulus = tv.n + continue + if hasattr(tv, "p"): + continue + + hash_module = load_hash_by_name(tv.shaalg.upper()) + hash_obj = hash_module.new(tv.msg) + public_key = RSA.construct([bytes_to_long(x) for x in (modulus, tv.e)]) # type: ignore + if tv.saltval != b("\x00"): + prng = PRNG(tv.saltval) + verifier = pss.new(public_key, salt_bytes=len(tv.saltval), rand_func=prng) + else: + verifier = pss.new(public_key, salt_bytes=0) + + def positive_test(self, hash_obj=hash_obj, verifier=verifier, signature=tv.s): + verifier.verify(hash_obj, signature) + + def negative_test(self, hash_obj=hash_obj, verifier=verifier, signature=tv.s): + self.assertRaises(ValueError, verifier.verify, hash_obj, signature) + + if tv.result == 'p': + setattr(FIPS_PKCS1_Verify_Tests_KAT, "test_positive_%d" % count, positive_test) + else: + setattr(FIPS_PKCS1_Verify_Tests_KAT, "test_negative_%d" % count, negative_test) + + +class FIPS_PKCS1_Sign_Tests(unittest.TestCase): + + def shortDescription(self): + return "FIPS PKCS1 Tests (Sign)" + + def test_can_sign(self): + test_private_key = RSA.generate(1024) + signer = pss.new(test_private_key) + self.assertEqual(signer.can_sign(), True) + + +class FIPS_PKCS1_Sign_Tests_KAT(unittest.TestCase): + pass + + +test_vectors_sign = load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "PKCS1-PSS"), + "SigGenPSS_186-2.txt", + "Signature Generation 186-2", + { 'shaalg' : lambda x: x }) + +test_vectors_sign += load_tests(("Crypto", "SelfTest", "Signature", "test_vectors", "PKCS1-PSS"), + "SigGenPSS_186-3.txt", + "Signature Generation 186-3", + { 'shaalg' : lambda x: x }) + +for count, tv in enumerate(test_vectors_sign): + if isinstance(tv, str): + continue + if hasattr(tv, "n"): + modulus = tv.n + continue + if hasattr(tv, "e"): + private_key = RSA.construct([bytes_to_long(x) for x in (modulus, tv.e, tv.d)]) # type: ignore + continue + + hash_module = load_hash_by_name(tv.shaalg.upper()) + hash_obj = hash_module.new(tv.msg) + if tv.saltval != b("\x00"): + prng = PRNG(tv.saltval) + signer = pss.new(private_key, salt_bytes=len(tv.saltval), rand_func=prng) + else: + signer = pss.new(private_key, salt_bytes=0) + + def new_test(self, hash_obj=hash_obj, signer=signer, result=tv.s): + signature = signer.sign(hash_obj) + self.assertEqual(signature, result) + + setattr(FIPS_PKCS1_Sign_Tests_KAT, "test_%d" % count, new_test) + + +class PKCS1_Legacy_Module_Tests(unittest.TestCase): + """Verify that the legacy module Crypto.Signature.PKCS1_PSS + behaves as expected. The only difference is that the verify() + method returns True/False and does not raise exceptions.""" + + def shortDescription(self): + return "Test legacy Crypto.Signature.PKCS1_PSS" + + def runTest(self): + key = RSA.generate(1024) + hashed = SHA1.new(b("Test")) + good_signature = PKCS1_PSS.new(key).sign(hashed) + verifier = PKCS1_PSS.new(key.publickey()) + + self.assertEqual(verifier.verify(hashed, good_signature), True) + + # Flip a few bits in the signature + bad_signature = strxor(good_signature, bchr(1) * len(good_signature)) + self.assertEqual(verifier.verify(hashed, bad_signature), False) + + +class PKCS1_All_Hashes_Tests(unittest.TestCase): + + def shortDescription(self): + return "Test PKCS#1 PSS signature in combination with all hashes" + + def runTest(self): + + key = RSA.generate(1280) + signer = pss.new(key) + hash_names = ("MD2", "MD4", "MD5", "RIPEMD160", "SHA1", + "SHA224", "SHA256", "SHA384", "SHA512", + "SHA3_224", "SHA3_256", "SHA3_384", "SHA3_512") + + for name in hash_names: + hashed = load_hash_by_name(name).new(b("Test")) + signer.sign(hashed) + + from Crypto.Hash import BLAKE2b, BLAKE2s + for hash_size in (20, 32, 48, 64): + hashed_b = BLAKE2b.new(digest_bytes=hash_size, data=b("Test")) + signer.sign(hashed_b) + for hash_size in (16, 20, 28, 32): + hashed_s = BLAKE2s.new(digest_bytes=hash_size, data=b("Test")) + signer.sign(hashed_s) + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(FIPS_PKCS1_Verify_Tests) + tests += list_test_cases(FIPS_PKCS1_Sign_Tests) + tests += list_test_cases(PKCS1_Legacy_Module_Tests) + tests += list_test_cases(PKCS1_All_Hashes_Tests) + + if config.get('slow_tests'): + tests += list_test_cases(FIPS_PKCS1_Verify_Tests_KAT) + tests += list_test_cases(FIPS_PKCS1_Sign_Tests_KAT) + + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/DSA/FIPS_186_3_SigGen.txt b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/DSA/FIPS_186_3_SigGen.txt new file mode 100644 index 000000000..22168d499 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/DSA/FIPS_186_3_SigGen.txt @@ -0,0 +1,2228 @@ +# This file contains the full content of the SigGen.txt file found in +# http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3dsatestvectors.zip +# + +# CAVS 11.2 +# "SigGen" information for "dsa2_values" +# Mod sizes selected: L=1024, N=160, SHA-1 L=1024, N=160, SHA-224 L=1024, N=160, SHA-256 L=1024, N=160, SHA-384 L=1024, N=160, SHA-512 L=2048, N=224, SHA-1 L=2048, N=224, SHA-224 L=2048, N=224, SHA-256 L=2048, N=224, SHA-384 L=2048, N=224, SHA-512 L=2048, N=256, SHA-1 L=2048, N=256, SHA-224 L=2048, N=256, SHA-256 L=2048, N=256, SHA-384 L=2048, N=256, SHA-512 L=3072, N=256, SHA-1 L=3072, N=256, SHA-224 L=3072, N=256, SHA-256 L=3072, N=256, SHA-384 L=3072, N=256, SHA-512 +# Generated on Tue Aug 16 11:21:08 2011 + +[mod = L=1024, N=160, SHA-1] + +P = a8f9cd201e5e35d892f85f80e4db2599a5676a3b1d4f190330ed3256b26d0e80a0e49a8fffaaad2a24f472d2573241d4d6d6c7480c80b4c67bb4479c15ada7ea8424d2502fa01472e760241713dab025ae1b02e1703a1435f62ddf4ee4c1b664066eb22f2e3bf28bb70a2a76e4fd5ebe2d1229681b5b06439ac9c7e9d8bde283 +Q = f85f0f83ac4df7ea0cdf8f469bfeeaea14156495 +G = 2b3152ff6c62f14622b8f48e59f8af46883b38e79b8c74deeae9df131f8b856e3ad6c8455dab87cc0da8ac973417ce4f7878557d6cdf40b35b4a0ca3eb310c6a95d68ce284ad4e25ea28591611ee08b8444bd64b25f3f7c572410ddfb39cc728b9c936f85f419129869929cdb909a6a3a99bbe089216368171bd0ba81de4fe33 + +Msg = 3b46736d559bd4e0c2c1b2553a33ad3c6cf23cac998d3d0c0e8fa4b19bca06f2f386db2dcff9dca4f40ad8f561ffc308b46c5f31a7735b5fa7e0f9e6cb512e63d7eea05538d66a75cd0d4234b5ccf6c1715ccaaf9cdc0a2228135f716ee9bdee7fc13ec27a03a6d11c5c5b3685f51900b1337153bc6c4e8f52920c33fa37f4e7 +X = c53eae6d45323164c7d07af5715703744a63fc3a +Y = 313fd9ebca91574e1c2eebe1517c57e0c21b0209872140c5328761bbb2450b33f1b18b409ce9ab7c4cd8fda3391e8e34868357c199e16a6b2eba06d6749def791d79e95d3a4d09b24c392ad89dbf100995ae19c01062056bb14bce005e8731efde175f95b975089bdcdaea562b32786d96f5a31aedf75364008ad4fffebb970b +K = 98cbcc4969d845e2461b5f66383dd503712bbcfa +R = 50ed0e810e3f1c7cb6ac62332058448bd8b284c0 +S = c6aded17216b46b7e4b6f2a97c1ad7cc3da83fde + +Msg = d2bcb53b044b3e2e4b61ba2f91c0995fb83a6a97525e66441a3b489d9594238bc740bdeea0f718a769c977e2de003877b5d7dc25b182ae533db33e78f2c3ff0645f2137abc137d4e7d93ccf24f60b18a820bc07c7b4b5fe08b4f9e7d21b256c18f3b9d49acc4f93e2ce6f3754c7807757d2e1176042612cb32fc3f4f70700e25 +X = e65131d73470f6ad2e5878bdc9bef536faf78831 +Y = 29bdd759aaa62d4bf16b4861c81cf42eac2e1637b9ecba512bdbc13ac12a80ae8de2526b899ae5e4a231aef884197c944c732693a634d7659abc6975a773f8d3cd5a361fe2492386a3c09aaef12e4a7e73ad7dfc3637f7b093f2c40d6223a195c136adf2ea3fbf8704a675aa7817aa7ec7f9adfb2854d4e05c3ce7f76560313b +K = 87256a64e98cf5be1034ecfa766f9d25d1ac7ceb +R = a26c00b5750a2d27fe7435b93476b35438b4d8ab +S = 61c9bfcb2938755afa7dad1d1e07c6288617bf70 + +Msg = d5431e6b16fdae31481742bd394758beb8e24f31947e19b7ea7b458521882270c1f43192aa050f4485145af8f3f9c5142d68b85018d2ec9cb7a37ba12ed23e73b95fd680fba3c61265e9f5a0a027d70fad0c8aa08a3cbfbe99018d0045386173e5fae225faebe0cef5dd45910f400a86c2be4e15252a16de4120a267be2b594d +X = 20bcabc6d9347a6e79b8e498c60c44a19c73258c +Y = 23b4f404aa3c575e550bb320fdb1a085cd396a10e5ebc6771da62f037cab19eacd67d8222b6344038c4f7af45f5e62b55480cbe2111154ca9697ca76d87b56944138084e74c6f90a05cf43660dff8b8b3fabfcab3f0e4416775fdf40055864be102b4587392e77752ed2aeb182ee4f70be4a291dbe77b84a44ee34007957b1e0 +K = 7d9bcfc9225432de9860f605a38d389e291ca750 +R = 3f0a4ad32f0816821b8affb518e9b599f35d57c2 +S = ea06638f2b2fc9d1dfe99c2a492806b497e2b0ea + +Msg = 85662b697550e4915c29e338b624b912845d6d1a920d9e4c1604dd47d692bc7c0ffb95ae614e852bebaf1573758ad01c713cac0b476e2f121745a3cfeeffb2441ff6abfb9bbeb98aa634ca6ff541947dcc9927659d44f95c5ff9170fdc3c86473cb601ba31b487fe5936bac5d9c632cbcc3db06246ba01c55a038d797fe3f6c3 +X = 52d1fbe687aa0702a51a5bf9566bd51bd569424c +Y = 6bc36cb3fa61cecc157be08639a7ca9e3de073b8a0ff23574ce5ab0a867dfd60669a56e60d1c989b3af8c8a43f5695d503e3098963990e12b63566784171058eace85c728cd4c08224c7a6efea75dca20df461013c75f40acbc23799ebee7f3361336dadc4a56f305708667bfe602b8ea75a491a5cf0c06ebd6fdc7161e10497 +K = 960c211891c090d05454646ebac1bfe1f381e82b +R = 3bc29dee96957050ba438d1b3e17b02c1725d229 +S = 0af879cf846c434e08fb6c63782f4d03e0d88865 + +Msg = 87b6e75b9f8e99c4dd62adb693dd5890edff1bd0028f4ef849df0f1d2ce6b181fc3a55aea6d0a1f0aecab8ed9e248a00e96be794a7cfba1246efb710ef4b37471cef0a1bcf55cebc8d5ad071612bd237efedd5102362db07a1e2c7a6f15e09fe64ba42b60a2628d869ae05ef611fe38d9ce15eeec9bb3decc8dc17809f3b6e95 +X = c86a54ec5c4ec63d7332cf43ddb082a34ed6d5f5 +Y = 014ac746d3605efcb8a2c7dae1f54682a262e27662b252c09478ce87d0aaa522d7c200043406016c0c42896d21750b15dbd57f9707ec37dcea5651781b67ad8d01f5099fe7584b353b641bb159cc717d8ceb18b66705e656f336f1214b34f0357e577ab83641969e311bf40bdcb3ffd5e0bb59419f229508d2f432cc2859ff75 +K = 6c445cee68042553fbe63be61be4ddb99d8134af +R = 637e07a5770f3dc65e4506c68c770e5ef6b8ced3 +S = 7dfc6f83e24f09745e01d3f7ae0ed1474e811d47 + +Msg = 2259eead2d6bbc76d49213ea0dc8b7350a97699f22341044c3940782364ac9ea683179a438a5ea45998df97c2972dae03851f5be23fa9f04182e79ddb2b56dc8652393ecb27f3f3b7c8a8d761a86b3b8f4d41a07b4be7d02fddefc42b928124a5a45b9f4609042209b3a7f585bd514cc39c00effcc42c7fe70fa83edf8a32bf4 +X = aee6f213b9903c8069387e64729a08999e5baf65 +Y = 0fe74045d7b0d472411202831d4932396f242a9765e92be387fd81bbe38d845054528b348c03984179b8e505674cb79d88cc0d8d3e8d7392f9aa773b29c29e54a9e326406075d755c291fcedbcc577934c824af988250f64ed5685fce726cff65e92d708ae11cbfaa958ab8d8b15340a29a137b5b4357f7ed1c7a5190cbf98a4 +K = e1704bae025942e2e63c6d76bab88da79640073a +R = 83366ba3fed93dfb38d541203ecbf81c363998e2 +S = 1fe299c36a1332f23bf2e10a6c6a4e0d3cdd2bf4 + +Msg = 219e8df5bf881590430ece608250f7670dc56537249302429e28ecfeb9ceaaa54910a69490f765f3df82e8b01cd7d76e561d0f6ce226ef3cf752cada6febdc5bf00d67947f92d420516b9e37c96c8f1f2da0b075097c3bda758a8d91bd2ebe9c75cf147f254c256963b33b67d02b6aa09e7d7465d038e50195ece4189b41e768 +X = 699f1c07aa458c6786e770b40197235fe49cf21a +Y = 3a41b0678ff3c4dde20fa39772bac31a2f18bae4bedec9e12ee8e02e30e556b1a136013bef96b0d30b568233dcecc71e485ed75c922afb4d0654e709bee84993792130220e3005fdb06ebdfc0e2df163b5ec424e836465acd6d92e243c86f2b94b26b8d73bd9cf722c757e0b80b0af16f185de70e8ca850b1402d126ea60f309 +K = 5bbb795bfa5fa72191fed3434a08741410367491 +R = 579761039ae0ddb81106bf4968e320083bbcb947 +S = 503ea15dbac9dedeba917fa8e9f386b93aa30353 + +Msg = 2da79d067885eb3ccf5e293ae3b1d8225322203abb5adfde3b0f53bbe24c4fe001541e1183d870a997f1f9460100b5d711923180154345287a0214cf1cac37b7a47dfbb2a0e8ce4916f94ebd6fa54e315b7a8eb5b63cd954c5ba05c1bf7e33a4e8a151f32d2877b01729c1ad0e7c01bb8ae723c995183803e45636520ea38ca1 +X = d6e08c20c82949ddba93ea81eb2fea8c595894dc +Y = 56f7272210f316c51af8bfc45a421fd4e9b1043853271b7e79f40936f0adcf262a86097aa86e19e6cb5307685d863dba761342db6c973b3849b1e060aca926f41fe07323601062515ae85f3172b8f34899c621d59fa21f73d5ae97a3deb5e840b25a18fd580862fd7b1cf416c7ae9fc5842a0197fdb0c5173ff4a4f102a8cf89 +K = 6d72c30d4430959800740f2770651095d0c181c2 +R = 5dd90d69add67a5fae138eec1aaff0229aa4afc4 +S = 47f39c4db2387f10762f45b80dfd027906d7ef04 + +Msg = ba30d85be357e7fb29f8a07e1f127baaa24b2ee027f64cb5efeec6aaeabcc7345c5d556ebf4bdc7a61c77c7b7ea43c73babc18f7b4807722da239e45ddf249849cbbfe3507112ebf87d7ef560c2e7d391ed8424f8710cea41685143e3006f81b68fbb4d5f9644c7cd10f7092ef2439b8d18c0df655e00289372a4166385d640c +X = 50018482864c1864e9db1f04bde8dbfd3875c76d +Y = 0942a5b7a72ab116ead29308cf658dfe3d55d5d61afed9e3836e64237f9d6884fdd827d2d5890c9a41ae88e7a69fc9f345ade9c480c6f08cff067c183214c227236cedb6dd1283ca2a602574e8327510221d4c27b162143b7002d8c726916826265937b87be9d5ec6d7bd28fb015f84e0ab730da7a4eaf4ef3174bf0a22a6392 +K = df3a9348f37b5d2d4c9176db266ae388f1fa7e0f +R = 448434b214eee38bde080f8ec433e8d19b3ddf0d +S = 0c02e881b777923fe0ea674f2621298e00199d5f + +Msg = 83499efb06bb7ff02ffb46c278a5e92630ac5bc3f9e53dd2e78ff15e368c7e31aad77cf771f35fa02d0b5f135208a4afdd867bb2ec26ea2e7dd64cdef237508a38b27f39d8b22d45cac5a68a90b6ea76058645f6356a9344d36f00ec6652eaa4e9bae7b694f9f1fc8c6c5e86fadc7b27a219b5c1b2ae80a725e5f61165fe2edc +X = ae56f66b0a9405b9cca54c60ec4a3bb5f8be7c3f +Y = a01542c3da410dd57930ca724f0f507c4df43d553c7f69459939685941ceb95c7dcc3f175a403b359621c0d4328e98f15f330a63865baf3e7eb1604a0715e16eed64fd14b35d3a534259a6a7ddf888c4dbb5f51bbc6ed339e5bb2a239d5cfe2100ac8e2f9c16e536f25119ab435843af27dc33414a9e4602f96d7c94d6021cec +K = 8857ff301ad0169d164fa269977a116e070bac17 +R = 8c2fab489c34672140415d41a65cef1e70192e23 +S = 3df86a9e2efe944a1c7ea9c30cac331d00599a0e + +Msg = f23ee79eb4fce5cbf3b08d65a1803d2e3e191d3580a44d177d8ff069f90784d012ca5746e6dd6638dfe8413f1db3d8fe282c2160f5dd96607dd63d610f791dfc10abad18721587101cec8a2a12913cfbada3a5b7593958b9bfa6e9af3af5d71ff17ec72aaaeecaaffc5d174e629a090297e94cdfe988d9bf6c80827c23df5137 +X = a62079b4f45772bf17b85d7560e3be4e521439eb +Y = 229a26dcaff29ed1a7264ed0f77d676239b9ba1ef4778e7dd640e8aa6fabdc1f1bd3f582e211bd01c26b3d9d3bffe7199f9ed45d764cd9d0e844b385cb34e6de22370ebc6ba41db409d63f50c1ac09bed00cdc2b7c55223c596b7e133ba25ba9e78f33502f8dd52f32a667a7683e504047817963238d9629a918a0ceebaad518 +K = c01acd36910f2f2bff608386b81c35a0a7c0b378 +R = 8d388ec7f2863dd5b7c99ac93505d1580bf2e0c7 +S = 76ae9317696d37f2d8bd61c47733e9455b61d347 + +Msg = 6836255e6e659de4ffb535892d466a3bea09693e587eb5bd50f44f8a22f11697057d68660bc6562400d587baac1c19d330ff794a70df5300a5211c72541a56d0ff2af02a278ed2db1df94ccb2026d3138b2d924245021ee835d3c17b0b3b7677def85611227f6ce2913e7cb446a479b95acfd0105c25e4656fbc56c2a10a22b3 +X = 7861e82e66b6caea54b159c59c887ec27b2e915f +Y = a7bbc35423510edfebf79c4e2e56986f2806d11116bcae90a716f05dcbfc46dcbfebe2ec946c40f9cc8c1a7439cdd04e270122ec1c3baca83811a9f1bdaed9b1172150af1c8ce1c5d502dfe5f4e8467e50605087a8f8c5f45ca672fd049eec0a06f5e01f782d51f3ba56404bf1388065552fc87ad21ac0fa4027a145d0b0d9e6 +K = 4e22cfa2e8ca2b33a9fd91ff4837fc205864e8b1 +R = c0ab43d309a5e94b6ef4db9943306e6d966fc9b5 +S = 07ec5aa1928f19fc3a420f29b935bac46124c0e2 + +Msg = 4b0845c99db348294f1d83166b27f448ec29ab7965464477f45444f44672a409ddcafaf35e91faf401eca7498e3268caa2d96bf1aa840c0e1ed43a5ab60888fcf02b2f8a2c89daa598adf0b7d2dace9210efd41ab496a1e73a182da430c1d043e249a1289c91809c8c7298cfdbb0ae438b00936c283a0ec2d79cdc81c9ce3c2d +X = 6f2d3b09fae6910dd975870db3a2c19d97169491 +Y = 541a9c45e165d3d91e71bb1370d7c032c360322aa15e99d8c1c16ea35c8c193224a06467ab77a65478c467b3f20cb0c5fdb8c84cefa69566a594a2aa54c3a948ebc1ea7e6c3d28d380cbd01740634c96b76d6a03cc6eba0afa7226f23fc10a18b0b6f97270dfa038160960b5b839ba66af50fda07245810e80d38b6693e8a9ce +K = 8588557c12ec6fe176b0be7bbd8b482ad78f1fef +R = 44286019c1d53103980616940c028bad3217f78d +S = 4b372bf527c515f58025699a45f2021ef18e11b9 + +Msg = 4597c1ca0b0764be31fa73ccc589116cc8d0a31605f2550eb37fa569b2496c4f34321d61bb8e49f858c8671b7437fc15f269dd2d4146470b817dfe3069225ddd3cd4a6c977fb6cfc0d43264a7bf6659283e140e4c89ab2e8a4d0ede6274961d655bd79c7e47880a741fb0180c325b5b7d2f7b8a57aed52d0206a83bb69a9d7a4 +X = 49f6c1ac8e639bcc99b2d9d1f1e325713f29b97c +Y = 5315adf90e196946be6b04c5414da1fafd98b0d17c3a39000a00091b7b56574b1ecd026eabb25be9ecd0ad691df2b7bf7eecd6ad95bb4d7d17ac747060ee7e3eb5c6fb7557cf7e8003a620e43e587d0612854472c3ad851839f744159411a33876aec365eb0491dec80ba14cba2d11dec42af4a4bf9c99312a2ae7e5462a2adf +K = 8ef1c5976ac8caf74df65d9ecdbe78a6490bc220 +R = 90d547712bc0cebbd3ebd18a63d9b92a03953050 +S = 34ea6176b4c63043295f129a4895e14ee5816563 + +Msg = 18c62a40b52347a473f57aa668eebb4484beb5f10fdc51779e6770106c0d122eb6356ae53a3379e270edca39015da3005770c7b2a5afd11217993153ff43a0b26db01aa2a493de061492a0aa3f229b5abd1aff29395e31b063504eb35620219ba29997f92a52e1b2e6ff207480fd13d58ff0290eec5aabf23b84943eea20a43c +X = 396cbe3e71d74f6db795c38d49c32d78eab03397 +Y = 3b738246f9e38cebf4542ced3fc0c0096aeb9e9a3ad928f4dd4745d875fe6e20fb65556d06696432ecffd55b334940c6e23c903f0aa4a1335f7394c55070586baac86c38cc198ebaf15401259528c55192e9298d2a0c8914daf2ad00259fe72555c3c0442e38c1e6e5020928c6e6571a0a98f6f485e43791ae8aaab180461fa4 +K = 04bfe51616f5c244d2e01648362f5bbe5fa73501 +R = 29b7c0f90d624f8d587efd3f49f97da70f6e63e7 +S = 222a3d9ffca0dcf57937e89c92538e32e7a8680f + +[mod = L=1024, N=160, SHA-224] + +P = 8b9b32f5ba38faad5e0d506eb555540d0d7963195558ca308b7466228d92a17b3b14b8e0ab77a9f3b2959a09848aa69f8df92cd9e9edef0adf792ce77bfceccadd9352700ca5faecf181fa0c326db1d6e5d352458011e51bd3248f4e3bd7c820d7e0a81932aca1eba390175e53eada197223674e3900263e90f72d94e7447bff +Q = bc550e965647fb3a20f245ec8475624abbb26edd +G = 11333a931fba503487777376859fdc12f7c687b0948ae889d287f1b7a712ad220ae4f1ce379d0dbb5c9abf419621f005fc123c327e5055d1850634c36d397e689e111d598c1c3636b940c84f42f436846e8e7fcad9012ceda398720f32fffd1a45ab6136ce417069207ac140675b8f86dd063915ae6f62b0cec729fbd509ac17 + +Msg = fb2128052509488cad0745ed3e6312850dd96ddaf791f1e624e22a6b9beaa65319c325c78ef59cacba0ccfa722259f24f92c17b77a8f6d8e97c93d880d2d8dbbbedcf6acefa06b0e476ca2013d0394bd90d56c10626ef43cea79d1ef0bc7ac452bf9b9acaef70325e055ac006d34024b32204abea4be5faae0a6d46d365ed0d9 +X = 6e2e31bbfc670944d7a7120e39a981520614d8a8 +Y = 7e339f3757450390160e02291559f30bed0b2d758c5ccc2d8d456232bb435ae49de7e7957e3aad9bfdcf6fd5d9b6ee3b521bc2229a8421dc2aa59b9952345a8fc1de49b348003a9b18da642d7f6f56e3bc665131ae9762088a93786f7b4b72a4bcc308c67e2532a3a5bf09652055cc26bf3b18833598cffd7011f2285f794557 +K = 8cb35d255505a4c41421e562d10827266aa68663 +R = afee719e7f848b54349ccc3b4fb26065833a4d8e +S = 734efe992256f31325e749bc32a24a1f957b3a1b + +Msg = 02971e0cdd48ae2331db9c6285e9880e96104fa7a9f378dfea718e63efe98352fe4d35a2bc94b3a888cfb88b8b7d9f6c8c54e48613f32c9946ffe6e9a4b7108ececdda41bc151b3d8724b61f5b83a4e27476914387b0488e41be54f63aa773175eb373a3641e6e7950eee8faf048a841f107d30cf9be268493231545d8984694 +X = 0b448f49a085a52a03d7f668a1d6fb87f2e221ac +Y = 633bb757b3c0e3b7867bf845301ea4e39f75c9759c223f46ce266d406b9df5db501fb826b6e61cba6104c604458c90799f2a36ab51166d0e83b770840624fedc35ebfb9853419e7e09b32b4bd652da4f1ce973ac2620c966b61e35a3f216439a8de1a104f172e1b6e2878112a66c34d16a9aef3ac24a34af5edbf39818a3e2ef +K = 4481a4be9db6821e3b0a08c9c82603631971a682 +R = 92c65e07462d668b06dd45b608784965897838bc +S = 2e40adf41cafb8048c793c7092a7e823515b6cfa + +Msg = 062e82fb43236ee17ebfaa3d363b9b873d0fe41444c74cef7f7e3bd81f723fd90fd148a28e997585413695113757758aa4dd275f70b375f8903c7be46e3a3ad3190cd04971abd2f1db192ef0d2b98bbb80181a721a5809928b5bca5c118a2911132ad233cd27c7e41adfccfeb4e952874bfa819661182975e44d37c61734759c +X = a4a25a8bb1c2ba69f9611939b591032b96333fa3 +Y = 3b0a091dfca05dce61e9f05b15b07487d2e3ea4f568dc9ac752d42c0aa771ae0ccc372ce9774fb9fd16a30cb3759bb1989488ce85db7cdfa506476acec644c21168f2db1f36efe0230c6fb8f1f2ae4eaf1799d5e29e212467b11bfbc1eebed142d7a017262cd8735e3e29d8e0c4a6e766c07d7aa9f8d176f536087bfecf4c414 +K = a7135820910f041b27321534a17bb1f33ac51aca +R = ba554124874d06a6cef62740e15821ccddbfe6f3 +S = 5962be757d75b0f17d15482ebb595ca4e9fbfe22 + +Msg = 4fca074844eae247d19c06e92032ae8e773043e2e1f45d400e9dcebbde5d65e7c1423b0390161991c026f38a0e2bfeef40dae18741737b1d535ab46b566a1b672fc22dec86747a7c7638fa65047f1ede36ad43f6aedf51b5bf2979adf4d9a94ed802a29de5603b704770b32c8b946a32e1b6054cd70c3add025cc9371d1e404d +X = 1f15cafca282083e82d7e54258647b2914418986 +Y = 40b638c94b1e719a337d83358699c70cd867ff888c655a5f5a1de8732d058bf027d4747efe3b8dedca3276de5a58f136ed35cff03030f672da65c71f18e58278ddfc7b9b50a248eff9236874ee3cb0d0a35b7b2ee185b139ea84eed7bffc5094ab8743a75374bc36c7d69d5f3e6fe5f3ef1f9358f00a3c5892fff41ed6afee3b +K = 128ab9677c7ade5e1c02a8427650ff054db6390e +R = 651a389d8ca50d6e3273cabbe71cd84cccd02361 +S = 3401fe47b3812daa8c020c9bd42609cbebdfa728 + +Msg = 4d9630fe058998ca5b80ae62f3f73dc85bee291509843ac00240d13d55251ae53b37794783b97d53e042cab26f8c84de0a70f5b43051fbefb3e43f08f5d2e8aad9e2de2717412dbb902acc8849adc04d06fed8c1421c4cfe8b81ee7f5ac5d4f0c0b68e80b6f88fd3c7d5b32022572b0a681bd2d4df2d047b0b23b6887145afe1 +X = 1485f719b8be77c78829baa0d2c322df60174476 +Y = 727b6528357d6705c20d31358f641934fdec63cc66df98837d2f378164e15fa0842207acf3220c8023a9f4f8d2057165b3c849eaeb5376e3fad11785f1d0261779aaedd53b1e52798007eb4c8e83b1ff321b620d883391a14fa47fec4901d96ec232eabb4a0bb4453368fef5176c67135649979d3214d3fb67a1319ac54feb01 +K = 8f4cc1254c787ec8cbf54405105f7ef83ffdeee0 +R = 9ca3e433504c557ba1aac66469781175cdfb4ad5 +S = 72145dfa5279dd82ae99604d16a2b8df71b95320 + +Msg = 62b9d601e30b42a279c7e04df3ca8d8140a55cd5876c7e9181c73575e4c4f921a94e4e2d0bdd7ba98600d652e5df5be9464e7a9011ab486960f69d57ece1d2c4af9324457c1e3d83fba4265beb47407e4761dbc949d5bd67fee4a476a4d5a93d77acda96a221a0a31e0f024b3f0b8234c015238f3258daa085ae9f4e1aa7b1cc +X = 43c76a9a00045cdfb2e7927b5c8730e006423c05 +Y = 5f6dfb064caddf644af399e33a672565766761d55ac0b84bead42c3980e7e396043744361778f04dcb698e4563853420fecacd594af828f57df541d9e4de899d61f04f6379c1c96246d152369395242a1c2e70eef8f35417a0ffdb039282516ce21b85687904c511087f113e5142f027f1179712edcbce27939ab15ec49c085f +K = 5e4b5e4595e31397422c7a4487ae51051289be61 +R = 331920a7b79e3cfa7638e409d9702aafd08fbec6 +S = 071d06e6cd301515f37b60690afa219fe5083d96 + +Msg = 0006e09c20376442e689bf2d34268fd69109c1301ea66cbe90394cc0f41f94822c28845819b9a98764d2f7262e98891487ff55b05bd69e18b7cad41bd98e137566b6041c739db11f78e567cac02f33f140d19a4805002545375daebfd7dcbea33242e73c8e269149d7eb9db9f9006e17acb736b5e977645ab651b81225c5e543 +X = 16f89d97dd3b31c191495173ae0e145c6ce185d6 +Y = 1b1f725664d75bdcb2a5a4c653061c460799dd48bf1e6b03e13c71d83e3fdb506fa94e6cafb5dbdead88a33d23d4e9287b4707e1fba871b97c9a48f930cdccba0dc06a4f0a8bfbb4e14d0b4d5a0871fa1341caec7bc08138713121d419769f31203508df71947265644fdc6137d8e466c8cb0ce985340cb2e279b4ce9315a772 +K = 475b5aa12ff77d49e4c8171f80d3d1f15147ed12 +R = b6aa833b825184729af308f81bf5e58e2d7e9284 +S = 5453b4b2e3fc802b2f977d0cf6eb7f5c16673fa3 + +Msg = e04a71f2b5c176a0db17a983a17dec588c00f42c9aa3026b5eb440f07a2140c2ed84024e0531ea7788dfeaa91883fb6a9841c17dcfd312968adb00e556bc7eb3021f57b7a16894fa4fe12ec93dfd494a0a1c693d6ade154ef648c05552da41224d4922d1861d9f7671b8ce6ce448e895ea0eed25802e3350ec08ae79f2d61e0f +X = 3eda44e3c38380df7a4f47d8e1024596238bcef1 +Y = 687e16309b06817b93236dd990faef9e232eb81cb9c7d6dae4fdd4f8e7ca933e185b1da622d7c7fa35e0a3906f915ded14ba96d6035b46bd6ca5fe172af94e081fb0b9a9583a458bd206c1e87f97a57d00d6eade19ec56ac2e9bbd8c15df356ee7b12c91311a38fc3315cfde9ff462ca6adff2808b3f8e805ee915ae885ca957 +K = aeaa655b6febfec50b05562c3f358865533e4736 +R = 14892b1ec7fc716c75a17f7ad2e41ec6faa78836 +S = 72cc56a9890e8bdf1a53d3acc6f89137264f9ff8 + +Msg = 5e8eb96b5c6ad75d3dab1e28bb2ce751ecc31611a019e8d4b561c7e4533cc7ab73bd9de931e8c54c51c5711e6c276a8ed92f4bb457ddf28233da2ca3e3013c56e3cd2bc61d4d4e0e22cf6361304e56d68b315ca5d3fcc472a7eef8cca575204dd084a21a99ba67fddbf90df7c6c658761734bce13c3d22d80b6fb9bece551492 +X = 0b55f99ad958a766eaf5ac20a127a4df1b946bae +Y = 50b0f7605911bce6ed5ecff1e3c1816fbbf03a1479a0820603ffa715aef9ffbccbd067579cbbc8c87c392e85bbe929a0b5e1059faae6f9121df49c66a049a98a90d84c70a21312bf837f4723993d0ec0ac4c2a7ffb9d400957b39fb83e951ef41362452cf458d784c43fe822ea7a7abbea0a6998321a93819d2d282c7884f5c2 +K = 9e9b9afb43a7157761f6c2011138d2f65ac1cba9 +R = 7399b120d4bfbd6dc4064d2f3f8f0ca5c362b2d8 +S = 2302d81d7ebb2417eef45d88941b070ecab11cab + +Msg = da91c692cdb0a59562e2b664dcfe7554ac589d57f82246c4a8a3f9573bf47b257eb8f93447c1ebab13dce53d6f4416fb2c6c36303ed97885cf7a6caef055f7e3145ef3838c31877fad7a8883ffc84ebd973f8c06d17cdd339bb3371f9d3d4f2d9f0b80ae2bcc878b4af78f845eac4f2aacee6a9451daf814a44e927bb5428820 +X = ac701252c773ba36711b9731afdc077c5d3f9271 +Y = 678b3958ed24fc84942054f49d9e6f27bbac7de3a4a52af9ffcb9ce6c1fb8bdd99db0e80c868ac547c4cfc782de7ebcf6943b2e46433c670178de0104bd6fc25dc3054db9c48c12706e1dea35e163be36a4ab721950c028b0546f1719ff2edd81b2b7974fb9b121224ccfaabc47e9e629a97bc6ba42691ca3f649ccac47d0f1e +K = 6cabf2c0e2890b2b393da3ea6aac2782216efa73 +R = 6f1579edcf437584d3e939fa5b002eee83e3b614 +S = 71208a87a4cf2b3a9b65477773b0096d452dae60 + +Msg = 0f2edc87f4d2942c4693b064a511b93f790c60dc149a1b0b7041af5183bc0f42234134b284270e4c7e53614f7ecfe711de0efb28336d0bb359c86e8be8839f583211e9174832b3d41ee6d21864ac6186fd1db920dda65b25966c5951ab8a2050dda87d1d72e3032852ad43da9fb430e850022b4bb6cc9cb90e428f3a5ca32a62 +X = 588f40e3eb813cd22a41c9cdeadb6895a348db3c +Y = 3a978e9022a8f7a0caa91f275bf9cf7648e1b9a31a0702d8acdbf59affb5467fb07a8f7e5b4c86775ac4efb609b946f05a3f13034db94acc64057f906d1854910de538f84367181c618e96c3f922547d408ee6408b7a70acedc75de8ae445c5d4dd5def4a352d2528234070cc720700c14ce12d2f36990d36b29d7b00596e34b +K = 8ac2fe7bcd690a7239d294b22725b818d262a446 +R = b6ea9cdb211c4560b3d592e93af6d5f133b64b9b +S = 6242e45a472fa8147cb5253dbddebae31ef31e4e + +Msg = d12fc1983e0095e9e2b6b8743fb34386cc4821540e3efe1a29f84cf7e63e2a0668d551f912ad2221b5a3d6b9ebd12136def5e6690e1d32aae919f9f1cf5d24d62a46a9a9a604bae11b9c0866350367204a920b589a317ddfbb877f9fad6b0d3629af9635da46933151c0d9a20aaabddd3df5d049659b2860ddb8b20963261ea0 +X = 67cd81c7d6ac2d8bd44ef26297ac02ecba41f73f +Y = 10b7b14ad29fb34d7a39f3e953051f456a0cd1233ef54d90a4adc82dfbd9fa7a85628f11039632b47ba9daeca6e463ec4644f5e2a2a4bf95d392e8c9c9f287a20ba45a198815ca0e9ba854d7f3c79d9037fa1417724fb7f02799b1c2b2bcc79d64367b90c06d1789dcc6de57ca19fcefafc04fcce29c8f495ed564f5d9a112ca +K = 1341e376e8919e01991e5e48b8e0c7255929b3d2 +R = 360617965f65a68abcb83dbf2d886a1a10ca05de +S = 71abb6acbf7e653d2ebc3cb7149b51cc0c92fba8 + +Msg = 87a6dfb8487f16f6fef1d68bc31469ac210ea55387965bb4458ca0d00d6c46858be28a019ce914c39c2479f321f0252ca4a8bd681a5b358a093fc8341c31bc47c618403f93322b443084ce5818490b74e83c3866b8164bbcf79bf82539f428c9351c40b10d773cbe1cbaa8c9800a6dcf38d85515e2dff5d4f8a965ecaef37e38 +X = 22bbb8468f3e90768d347cb3492f64db2a23f721 +Y = 75ef5d5f67022426f531e9b8ca9115921d5a5c446bcdf1af701b605bae687dff8d1e7b3c4f8b289537eb09a7461d6688a3711974371a5b73a2082e991410118666ccd94f444977d0c89ba36162de023aa519037a6ba6305417dad3f2dc38756a40046491e8ee80c4f147825b8c021b5d09a2422d39d7c4abc395f6c2d7903c66 +K = 9c609e56c19f74ddc46eb2e2cfe26b1519ff0d1b +R = 5409cd62f5539306ae8c936082eef932c6505c39 +S = 07c0ccb30ec90b1481409cbfa2f5de6cfaf1efc5 + +Msg = a332b38e642bcad8bd271f776fff24a731724a43400c1614f5e21296db04f725eebad28d62e20ca3f7f18328a76b8092d97b632bb78718f0f2f9ecc7c12cc36b505959917b5c54312ad4717be84fa840b9f06de005c792af3e9ea72b7ae2e3423d07c781c9c2553f899554a0d8dec9a285c1ee25160fa278489474a0e4379516 +X = bbb1854e9b0942cb5d1eb71e8cc6fc7e0f4cfcb5 +Y = 41cc1d6d9e0cf5f158dab599114f3ee4738f197cf2c956b6bb0ddd6dfdcf5e4db399aacc16c538948c4b50de85bad6d916dbc415bad2f6737023fc7063c133bd0c4231d6b33ce813c0d6024d1315269571b2554bbb2edf2a99108a4359e8e23bf8a143bfc538ab9f8842cd4e925968f49ac56a02e3f067e26001e5207bcb56d4 +K = 336e458fc213c0b2775537ae61decc034ccb1d32 +R = a16a7308a6824d929b6a9a3bdb280d151a6eed81 +S = 7a42addab7ddb98000286044d9993d5cf818f2b1 + +Msg = 79b144d50e0047596cf06bfcb3e9ce3959ec4b8cc9ba01434fc3f68f47c868cea048b990e62cd7a50eee288b35ae62aa797924c9dcab76409b869b33de28885e62f17db7a7758973482968b9f960eb2dba84ae85101aa6c6141b3f0839a4185a4c496eae876ecdc45627330d36f01a67cbb7faef834357330aac36c7c6f47ac9 +X = 754b24ea5c8cb8e88e370074e79cb62605530018 +Y = 74db7460c51919a9e87b430d105d86362ee4acd9682bf6c9fe87d9956c2f5ff17d95930ccc12f7e92d8bcb6af5f7ef1848da8d15c9152082477de99594781b998daafbf8ae4af23772125c19e166421f806bd0fbeac365076ecd9e15432ad4ac2523418f6e410cbfcbc5a71a0edf22e694a67d14b9cfc9722bc4bd8c43e22a91 +K = 1b50341e94f4498b92cce4d17ab9d4016fb2e074 +R = 021a3de98c3da698b477b4c3d50b2169e65f5e91 +S = afd764318dd0fee04fd6b07f550320789cd9bfa5 + +[mod = L=1024, N=160, SHA-256] + +P = cba13e533637c37c0e80d9fcd052c1e41a88ac325c4ebe13b7170088d54eef4881f3d35eae47c210385a8485d2423a64da3ffda63a26f92cf5a304f39260384a9b7759d8ac1adc81d3f8bfc5e6cb10efb4e0f75867f4e848d1a338586dd0648feeb163647ffe7176174370540ee8a8f588da8cc143d939f70b114a7f981b8483 +Q = 95031b8aa71f29d525b773ef8b7c6701ad8a5d99 +G = 45bcaa443d4cd1602d27aaf84126edc73bd773de6ece15e97e7fef46f13072b7adcaf7b0053cf4706944df8c4568f26c997ee7753000fbe477a37766a4e970ff40008eb900b9de4b5f9ae06e06db6106e78711f3a67feca74dd5bddcdf675ae4014ee9489a42917fbee3bb9f2a24df67512c1c35c97bfbf2308eaacd28368c5c + +Msg = 812172f09cbae62517804885754125fc6066e9a902f9db2041eeddd7e8da67e4a2e65d0029c45ecacea6002f9540eb1004c883a8f900fd84a98b5c449ac49c56f3a91d8bed3f08f427935fbe437ce46f75cd666a0707265c61a096698dc2f36b28c65ec7b6e475c8b67ddfb444b2ee6a984e9d6d15233e25e44bd8d7924d129d +X = 2eac4f4196fedb3e651b3b00040184cfd6da2ab4 +Y = 4cd6178637d0f0de1488515c3b12e203a3c0ca652f2fe30d088dc7278a87affa634a727a721932d671994a958a0f89223c286c3a9b10a96560542e2626b72e0cd28e5133fb57dc238b7fab2de2a49863ecf998751861ae668bf7cad136e6933f57dfdba544e3147ce0e7370fa6e8ff1de690c51b4aeedf0485183889205591e8 +K = 85976c5610a74959531040a5512b347eac587e48 +R = 76683a085d6742eadf95a61af75f881276cfd26a +S = 3b9da7f9926eaaad0bebd4845c67fcdb64d12453 + +Msg = c1b1f1472f08df38a52a55ba55827ba3b7cdd6beded904fcd52610c899eda3c61682656873bbfaab0d907495dacf458ea3450afd93be967a37434d412b6325669ad84b4eaa278a24870ecc2df0da13ad526a9e6669958d4e52dbfba2803ae9ae135d0c0acca86a04c42ba9cafb09b7af96347188880b086169ebdf9f1f5f3173 +X = 1a220585a989ef2c12bbfa9fc0d258713556fe38 +Y = 99187498534f313dc7cd7f3a48d62b2335bcdc36f0dc98dbf845dc6085c267474c36fdfca38854219830e614bbcab2bb9decb81e86124bd78f86d471bd84be06ac1f0f41fe5b4b3740b2107e0c9c48f81e31e9bf550d96564dd380ca47a11d72f0d0a3275f075f95bbd59869c14dc912a1cbcf01db9fb7f71015cc149986825e +K = 8fef50b7121a04a24755b6f3e1cdc93848a9081c +R = 54ed4efaecdfc78d026471b65cfefc6529945bbf +S = 6d6dac296ebde3f873b751c6b14843f0b7befdff + +Msg = b80a47071d1376fe617e59fdc005a890369a4ca5e678ff46eb9b205d6ec09cbd49373bb341fe7813ee442a6ece17e720bf71a74557ac9a375c059e5535e773a45e79e1bff3465a3886c86e2a2bc882f0beceefffb2ae1a522f13c82def4cfd0cfca6fceeb4cece71869e90cd10d0aff27a84b5601daae061cbeb3aa62b37fd3a +X = 4247e7e4dc4270fc7680bc05746807c183e0dd98 +Y = 91f50270a754055e5da611c720a4262f3cb8bd4161f77d07401604d3d1165e45518f7e1901adef6628f23dc48271d35ff492af8d62aa538c0e77e042f23a522f2214e62114bfeea46ae8888bdadacdaa0a9a5b503d79c23e4c20c98bd4ebb36f95bf4451ccb0b5bb44dfd011341cfa29a9e156a3cd828e126e68cb911e8f9dc0 +K = 3aeb3383a3c0f53217c0d7077c3cd66d2ef74a2e +R = 1fc2d1cb80bf6e0e78b25fac293b752cbff2b5ac +S = 75bcc772f773d5fd98dde1f907e7ec2cba201dfb + +Msg = a9603054465887df15db07c0709a8c878d2f1abdcfc6195eabf3e9b3ad07e8558b99cc4a7aa076daf67e9b7d8480f11e8afb18e2ac56a9547b48453fedca32da9eb0c29271eb60f0a1d95c18f42d992394b3264ff3e21e606e0beac08a7ba71b8e5795a8da985118e432cf5b30b6cd3a603d8b0d580f06c626ee937c6cd05f40 +X = 4d2a5462ebccc5d19bc6c1cabb609c08ad088e08 +Y = a2c4569a301473ae4f164d68b9a3c6eb705ae81f75d6e5cc3070a559cccb8b1a2d8c21090ed70e61670c7e9dbf5f755a37d58d3abb34c2dfd40db9f26f6868d0dd91be98f395ac0ebdc37e1b5423802bea7a6cb196d7e0f93db92f663b6c9c726e80feb2e9227154ce1c15f8e8df93ec0d37fa47e5fa112bb0a48f4a239d6052 +K = 36a3cd0101358a4d30c5b7117bc239fb4f6ce2e7 +R = 48539523815bd8d73ce702367c7712b9b13867f2 +S = 20ff4cfef8a668829feae73b520e8aa4d02c8168 + +Msg = 19eb088c3229a44f9586f00421cfe7423a486d5f7e28ad2c9119dd2e1395df1acc06cb28e9069cee62f09f48e4ca29269dd89df9fec1ffdf64b1fe2717fe52b1421fcf6c705c0cf39930f90ecb339b51ef95b2ef38a6d96a575f7b36f5edf4f2cbd6d261e1fdd77d4459288c02e68c82a3910ff8ca1747c86bb187d5205f51a8 +X = 0842ddd5a04161e4579797b5d8eda0002dd847ad +Y = 49e606aad5d2e54e1bae2517915c660ba30ec4fd28d718613a7c84464b0f44bc6d546e5a9bc1dc60423b45dd01ec295564ec08f29d6887e69f689d6b3488f9da5d5a60f39cdd5a158d51a3d073b2225fea559e58bb222e29a87b5f0f5ab31dd7c0ceaad887070dac955d28973607a99e46ddd7737beab65199f250d7f03b6583 +K = 712eed73c8d2567809b4d9ec2f59e77d39290b2b +R = 6bf4f5d3251201059ee85edb99a67a706f37197d +S = 3125c5af397759996b876cb5857be2632aaaf3b6 + +Msg = addb5a045c9f4f4fb9eb5e5db44d6515980c9e088015b68593d8bcbffc6ff57f18865ab824d3d1586425cb5081197e9e01cb7297b06b64103cea437eeeec9c50798679fb869ec306a72575057fd368aeb0f674a29c3ac248b6a08f91331d8456d062025347c12a0a61c61f76e5206fe6ca437735af430dea7cc8f39f1a5b7505 +X = 1f1cfc682048375915fb483b77037c81c05ed728 +Y = 221ced57a91325b10f8dcd1220b1af68f8daf397f419a43bbd8fbe644311755b111aae5257c642fafd83b047a1f56f2a829fcdf4df3e5dccb23645b28c0a34c6e8a650efcdfadd48fea467cc943ca4e7378829300713838b6c710962ba72e790c10ab879a01fe1457ea3dd4b7c3c3a542e3522a75d0db261e576cd3f22c998e4 +K = 703154f6c6e12f163ecad0494897dfcf5657fbe2 +R = 7cc662e352e0eede85140107a7773ad8663e70bd +S = 15c17b9d245872844eaac3d46bb08c3e08597423 + +Msg = 02709d2be0d9dc1dc0ebc55f630d91fa23609f61b513c2275766034d8f40e819aaf9326c8db37c35c5a17e96bc956df6d11b558d16d91871afc010b3119c5798c2e29411ff4f0d7196e7e476bf0ad03bf72e897fed873c10613dd255d15243870b81cd87d0abc16e140d032fe5bd1c8eeb2f66e04d13d49269fc7da6b65a7c1c +X = 1d9cf98dc0c1d7bf8dec98962ac6ef6e9406ce76 +Y = 9e93bc03e6e815308734e3b8f1d106961bebdff10a525303257a053dea4da6dcf504c7839b54d57522f2acb3aac959ff4ae8610022ca5a1e688232336ca1ee8fd7028bf7b6e9eedf8a4b0d098969f5e5fd3d9300c340e7f19fd471a451afb92ed4829fa4d90249144aa363dc18807b3e29d27e6ec3da736c33b185511bb3aaa0 +K = 68ae16534c5f6225fc7ef980f0063de483a76903 +R = 72b0bcc6defa66fa8bab029676a1c7703f9608f2 +S = 69d911e05acd7be52f2834c0aa005128e7fa85b8 + +Msg = cc061edb31c34d3981517f4d89afbe980f74185260cf48b3043bc13a144944ad43e0e576d2a58bf589cc021dc1c1d332c4d76896ea77dda197f683e51eed71b4d6df46666a1b142e679b0283cf339e5bca90e2ff9c34dd5fd7cc4917d66704fee4364f7693101dc766707104efb2b933c4848b93e13f94855f75e4fd756cb6e3 +X = 78ffb40fd89416388804e56444c9a642cb5e98e8 +Y = 5d7d2e342154983ebc2015bc6750f9876f5689ca0ada8529908ed4fdbc596b972c5cc6d53e80a8ad8a8cedf3ce64b62a75db441c96207fc7477e3f7b9f10df28e0cc2fb77383e7ca4c5150f712dd823c2309f0161be0bd5eedd60cf6ba230861a08b9d9a7468438b4d6ec673d28a54d83c7010d50631e55f0a02832abc5a0a46 +K = 07c6857486160ef4003470411573399fc4e5f7af +R = 21f512425670943477534e9075ceb5b7d63f20df +S = 73c6f6f8de3aaea520a083b2264299e81cfc91c5 + +Msg = 79d529e40c2ba4e5b9c7d77d72076f1fd9490928ff4419c824e64db8fb9a051e01e8e173c6f214e0e9e645ed250b6daaa6f8c1a5cc900d52cf3e1efbfea25748e89a1a548c73e2d110b25f5308bcf757b2135216c91dca2783332c0d7903eb21c226dbd33a69eef575aa8a41cbbdcd1b3d94928aa8f8ba58c5ce0d317786e87b +X = 784b9db2d19ef0ca8e696884c7711dc2f8ce150a +Y = 282decc0e37994c2856e61f36b831b61bdc02b7ca675dbc3c2032800b7efd3b711acf14c8869968831e145361bf2182b060e4838f07dc61f76584cf102a913bb28a52c7317af5f9d2322927c9666e5e87c2f2bfd2f181dd32612d7b2b2a645bf1a47c0ebfd79a940f627a668a8f2eb729fd051aa2c659abc918e5571994e6593 +K = 1bfcf3290fa84652a476655506b145743213e1b4 +R = 929a4851be0ae4ba91da0e6c7376d71df7592dbb +S = 7e6b6504b748ef0024d9d2a2e6f3bcd7cf135ac7 + +Msg = f5516410706323549b20c52dafa2f2f90799786c0ddb85048892ccc18720dce5c129a10eb4388788a3d97a03b0001799cb65a79c880836bc9f3204ea75a577204dc1e2894c572a258f9e517ca37c5b791e48b27c8dc1c821b34ebb1f29858c4a72a0d5172c565e9dbe1bdddf6e024891cd6291faa81ed565746c61c2eda2011f +X = 673a384687ef29ebfa66e331866bd206ca2f7664 +Y = 74ccc6eb83adbcbad0fc37144d9bfb85fdcc85ab92c9f8877c9cda66251d1aff2fb224888dddb7d772a8b738c53e03ecad9903796fa3c9c6024d06367e0870ad797694f598708d08912c0fe09881763a0a722dda95d94eee8824927cbfa6761a79a038aa6d331da34d9bd5c5833c94c526a86af1cdfb2d4079d2db6d0b9a1238 +K = 52ee4510675f0da529684fa60f6848ce63c4689f +R = 27b3f235e4afc18c6613b4fa7f27d7a8262ba4c0 +S = 8b22634e4d45b71a84eabaa1e5a4bf1e37337a59 + +Msg = 55bd1526e08f6443b255acd32c286807542d34c0f3d79892713f9d6d6d6b3be707e4af6e71f7dab4a2c5f6bd25f5ae1f514b2644a4cdafcece1e58f7576f82e2ab0af2326c71279e9bcef1e1c54a76fa77ec2b2d056717645764e7991b520b0e5a1b049109519b22aa5204e3ed53b1e0957dab5ec32479d06ac3e11a5d1cbd03 +X = 495009f3a92548be4c9a562ff703187b0ec2cc86 +Y = 5d6edf6db6e6c27e80a7f02597237919170b4936489d6f15f598b820cd917e172509b7e287b88b0cc14e1a0186793886809ab4170209987095092234b4fdc44b3d1fc16eeb2efaf852ed3916698cf9eca4612b4961bb6e20c32e188469883f97f49e29a8197c30d0723babb06dea704f7704b2788e57d76d6d9a3cfa68f6c783 +K = 423308bb414ef959025bf1a4b27db278f904241d +R = 621a290930ac436737a72fb4c62bf5c4b67481af +S = 62db20f82a5754f109f7a2ce581d4c8d71c68d29 + +Msg = 62789a89f0d708e21a121fc34009af884133681b9d4a66cc36c0365c34be72a4982eb0961ce257f35e6e7183f0204a96a545193001023d3309a8997e7c4b762ab4f4c40e03e13f4edb328b23cf00c09119deb40addf6567b3b74acef5ceff045304d618421e873c41a72d31e451d213b060829b286f64013d4d9342ae7ab8064 +X = 2b8dd3965992fcffd158a0816a5987f80908b84c +Y = ad590590a82e8929ca86f405516c32913bf5282f70309c6d4a88ccf165ce15fcf11e140c366bb273839a711cb6ae52bb717859570fdbf9fc26726728596e6fc71923deadb35a9d57cdb213c0f29c1375f8b1d3c6b52690c428f7481c14aad82fba7f24eea8cd8da7f0ef7ae781c1a926671a61d4e5ffc8ddf1bc10d688a904c6 +K = 58ccff88958d5fc48d671ba22ed71f5f82370ac6 +R = 89dcbca7c8cd6b90aa906a4c547153762fcfffd6 +S = 23e8926b18cfd4b67c53fac4a2d5321e5c3d880c + +Msg = 4eafcc6874ae2a6d525738967afb3054357a39670d1e5555d7dc55be24dd5a32a0c7ca3f1b5c6d948c9ce391013abeb47f7e24cd2c54e1fc7c0e92c4ab77f5973a7054bd1c6c845b802b7937d6520508ae018ae14b27ff4b1e340a4b9f6f6b4814d07e90cb8f19b15e915d6ad1834c0f7a3c3e1e45206772a0eec2d3f9160897 +X = 6b3acee42276bba155156f23dfb7cdf64e4b1ae8 +Y = b93d79472f049893779a3a0e83b3853f78b3cf69b75961a60e950f0c00f498f3eaa2384325f74ddd38292fbdbdb199212e90b14ec9e554727df81e06eb7783adda38691c63a7cb00cd76d8e18e3d29c793e9f1fe8337f1598b89651f634cb703f218e1906319f82ac6d58e6786da7aecfbca5939f03a13e7b4d5a8ac812d7829 +K = 1c48f62bd097d7686879d33ee5771558e453bb3d +R = 633e9812a0657cec3326aa5415340c46362fcd4b +S = 6b201f0c3fd44247f6c28c01d1217eb99146c040 + +Msg = 86d9892b48f5954101482742c0dafb68dc97122483b9e459f97495cc970e056d2162c7c71db167229fb7f45209e0c01eb06ff924b823eda51a7e990f3c986eb9af2a7a073f754cb84db453a9e8c0ae7fa5c05a2655d261ad7ec5612876fa7df09522e0b69ae92477f63def1992c96ce95ee7bd630ec1614621da6a512ab53dd7 +X = 836d90fd90d21b84bb012da7b2168ea8f05202cf +Y = ae264ea96bf093ef2de27381738219e3bfdb08616967cd13e9415f475c4a794c19f12a607b898db1e3e6bc5402327585d32841ae15e3462880850e9e4136a4751b64a729ea27b72ce36128a44fa53752a08d73584faa44fb14120f47a04c47e989eadabc7e5cdb15d27c2b0ea4257cec229a2c7bf7c93c571e8d22aeaa2e38be +K = 7956ea15111ff392d6a9359067bfd8c21f0bfc0b +R = 77b480885c70c1fee2056237d1b79cfd9fb54a1f +S = 2283f4c0640ff6daacbdfbbef7224afa59ca3959 + +Msg = 8b60b9b6ba375448de4f00de51d18706ef8c4f97ba34c9cce2b0abb0698436009d1d2bafcbef73a8b5dff6a3cd5db5258ac84ef724b28d8a62d715da6e111939735366a7c66470364557f546377d5c0e7ea9064731cb7149e1051d66a7bed14aa205bdc5d4b9ca029a1e68a6fa2c1db22d27fb79d83877cfaa6742119229a493 +X = 5a4ae9f8fc82c9198d9400c51f282493b194a07b +Y = 87032f263de2bf2f268a093f33c366d6bcda772ca959fa17cfe948f1dca3e75ec94276de91d9bc60fc6ab9224861c55dc9ccc5f715c251dd508bd438681cab205059050f8e11e8a5468da42d20aefac53d7a9fb71f6424d7bdc65db873ee4f9dcd918091aa724b261b6056f320ca7724518e14cb8dba0b713f54a0fe44ff1597 +K = 662351e9b8c3a607afdf3ee599b46681e27b83c0 +R = 5d159f894d250db90d7fccd49329e44d1112db47 +S = 37231bc15195ecb6badb7c3fe80380ff912baeda + +[mod = L=1024, N=160, SHA-384] + +P = f24a4afc72c7e373a3c30962332fe5405c45930963909418c30792aaf135ddea561e94f24726716b75a18828982e4ce44c1fddcb746487b6b77a9a5a17f868ab50cd621b5bc9da470880b287d7398190a42a5ee22ed8d1ff147e2019810c8298ed68e1ca69d41d555f249e649fb1725ddb075c17b37beff467fdd1609243373f +Q = da065a078ddb56ee5d2ad06cafab20820d2c4755 +G = 47b5591b79043e4e03ca78a0e277c9a21e2a6b543bf4f044104cd9ac93eff8e101bb6031efc8c596d5d2f92e3a3d0f1f74702dd54f77d3cd46c04dee7a5de9f00ad317691fddcefe4a220a2651acae7fcedda92bfcca855db6705e8d864f8192bf6bf860c00f08ad6493ecc1872e0028d5c86d44505db57422515c3825a6f78a + +Msg = b0dbbf4a421ba5c5b0e52f09629801c113258c252f29898c3354706e39ec5824be523d0e2f8cfe022cd61165301274d5d621a59755f50404d8b802371ce616defa962e3636ae934ec34e4bcf77a16c7eff8cf4cc08a0f4849d6ad4307e9f8df83f24ad16ab46d1a61d2d7d4e21681eb2ae281a1a5f9bca8573a3f5281d308a5a +X = 649820168eb594f59cd9b28b9aefe8cc106a6c4f +Y = 43a27b740f422cb2dc3eaa232315883a2f6a22927f997d024f5a638b507b17d3b1cbd3ec691cc674470960a0146efdecb95bb5fe249749e3c806cd5cc3e7f7bab845dadbe1f50b3366fb827a942ce6246dda7bd2c13e1b4a926c0c82c884639552d9d46036f9a4bc2a9e51c2d76e3074d1f53a63224c4279e0fa460474d4ffde +K = 33c7ba88ff69707971b25ac344ae4a566e195f99 +R = 77c4d99f62b3ad7dd1fe6498db45a5da73ce7bde +S = 23871a002ae503fdabaa6a84dcc8f38769737f01 + +Msg = ec84bed09ecb4a6feeec3a7071b65a4c1267a03cac8b5a0500c237b20dc058514da798335a21b23d7e8cbb15efcf92e6060a13fb77f4998147dec1d0fa0edd418b0aae8eb0056fc7d4008b198bd40b969dc10d79e15b2300820323bd5e1b7d894ce8e7bc8f7ceca129b5e511ee1c8caec25514f537353a912a971b8070e3f141 +X = 952b61ea90df3f788eab61d95be16ca28001800c +Y = d7a0950d0e6362b0c942ad8af67161df07debca59a4cfa728f93d49b6e296a23969a65a92b2e05398a114d73d5a52b73b71ebb28571cf6b6002f853a8f594b5c93b9a84233f3c552823619e0aa847d60203db15d2a916ad02228325e15783988f4159e05c8ca088360e6ea7ace51b055102153c00adf335ff6affd1754f2a8aa +K = 7982f6b8956c2bc0a2c2d02ecdb9e47d23a7ba81 +R = b2570e0e19935438d32686c478473a0e45dad023 +S = 39a02e9803624f7e90feab8714cddc41e01f8fce + +Msg = 80f757fc06409b70d733efdb68b520f3f9078ab936c4479fb98d0beb1631d8303324470824862224b439bc85decfccb8de8fbf36a2bc4ce3a092688249ab4eb9febfad268245fbd7e72e0f240500af71292ea23c8ad4b71e032106f587f4611663137690cb25241912763c5e1879b3ab67e2187f92d821fc81f552e2c355bd73 +X = 2a5f637f4b886a3d37c4369cab04d78c79f1a3a8 +Y = 1f03013e66fd1e633ff743894c37f6964839a52cfbb6e849cfb4eac9a3c9cdb55c28e14788865c212be62047cb39c6365780bb2e627957d34e99232f69170a8efb894d8029d1b8bea8b911cebcd43b86bd536693f18bfe50c84b99911181ace14c3fab9fb6acd98786f9d2ad129c5efeb8cd0941a3d89098d5721d435343cb76 +K = b7c75c380bce0fffd59dfc3993e1d0724da877b6 +R = c7db4a9f54d882ec5f561705396c94834dd53c5a +S = 6752cb6be9b87265d76d69b382299678f96a5faf + +Msg = 36a25659a7f1de66b4721b48855cdebe98fe6113241b7beddc2691493ed0add0b6a9fbbf9fb870a1bc68a901b932f47ded532f93493b1c081408165807b38efce7acc7dbc216bef74ed59e20973326553cc83779f742e3f469a7278eeb1537dd71cd8f15114d84693c2e6bbf62814a08e82ba71539f4cb4bf08c869d7db9dea9 +X = bb318987a043158b97fdbbc2707471a38316ce58 +Y = c9003995b014afad66de25fc0a2210b1f1b22d275da51a27faacda042fd7645686ec8b1b62d58d8af2e1063ab8e146d11e3a07710bc4521228f35f5173443bbfd089f642cd16641c57199c9ab6e0d9b0c01931c2d162f5e20dbe7365c93adc62fd5a461bea5956d7c11ac67647bedcead5bb311224a496aa155992aee74e45ad +K = 2ff654b680e722ce65a560e785e8ce0b4773c86d +R = 17cc53b5b9558cc41df946055b8d7e1971be86d7 +S = 003c21503971c03b5ef4edc804d2f7d33f9ea9cc + +Msg = 65a3c92453f961de7f576d5a1e3106c38b7f20813994b5dd201546dc455065dde59edcd84d0fa17a85c0f9f99171d67a34475cef4f311951f2eef7f6b64a5bbc6da6d1b622480cde56a07a77aa6040ebc1fcb265b3b624881fd27203dcfe8a12492198474a990cb9f34a1943356fde5bce3fd83516da8bf780f8cb1851b3b954 +X = 59d92aba23f50ad08b1d7c2ad560ded36b94ebc8 +Y = 0fc514ca160f34f2f6ede1ba5914d5844c9de514208c72569a0b36ec92c8b2c8fdfb7d68127486e58a04a32d0d150e51bb05e66624cb622edae19a6b4b1d8317689baafa30168ef3759ee82e614e4761900182df90e9cd2d931153771b8be30d89c2fbb95be7e05a4b29da968ffebbda5c0c9839354bb59dc697a269063f2f50 +K = 3d0ea569b4dc69342955f5b240af66d228791e50 +R = 77ffaf4290c41eb089c1d7be5c8d3833027702ef +S = cb753a2d4ce0e59851f814779f343beb615f2770 + +Msg = 1526b64ce41cc8e2cef26f3706be530a36ac9cd16ff69f05773e9447ed9452064b7751f3a64919bfa3a7e1020dfc175a10acfdf096fd41c03372e4d2abd7ba887e0076716ce9552f2c7c8eddb1b3fca1bdcd23300ce2b1677d4a2debeaa7053466e59b098771bfb9218e0fb4ab6b7418abebcc34d681e14c4a8975000d83bb44 +X = 716290d0ff2ad2329be2cccf825f2075be659743 +Y = d30eed739f46479364d4c2bec18cf4c75c324f8db8184d9c3c175556a00acfb0a6813887b68706e70c167f4063bc0046396ba1bb3226c29221bd64ec4cebc990a7b404e26e2cf042304a7c57ab7de418ba671e17f7f502b9e1bb5984469b304ebc0c3c3a5a69cff7abff4110130316651e0f93ebd2834dd044eae1fd6f045102 +K = 919d698fe37c027e3e40cdf6e77f81e96d8bfffb +R = 31abe8e7458ce363a5f3985111b239bc8df8dcb9 +S = 1d967be0116128699d167fc16e5e920a41311669 + +Msg = d7852ee90b3f1120bb11249808c7e7be14fe577bff1886be3c42589a6eeb06a1834110862b65d26cc5a2e5d903ed24328d684c96e3babb37ae31f96d32f57657a3bd7798aafae86f44ad8981e7cd47d7f31bb4564a757c925c64da9820963c1c5148f589d6393004a6a58aa2c8a578f4db7595f886170e79e9d57bf7ff8fd0a7 +X = 0531cb42f45bb813f401bd239044df2d3d1968b2 +Y = 0dd37985163f93618fdea8e3975419fcf7446ff980851e18932d7494f809c0ae9c03cc39779ff0422cb2248ae1986f9aad2a43d6fa6878d244b429aac5ea80157980577e5ba0d11b1fa340a283fa0a2d651e024331e6bbe7d01ac034db37b008b91f9f88d135fad23af8c22765d833a9c9eff7accf668e17f9a8bdf59317c202 +K = 739dbd1f84b6be2efdb921a0dfb76dbc6136915c +R = 44c2d6509874ace71acd1dcc32335b394c4e41e0 +S = 37e78f13aec052eb7b07a8b9f6d54dbc77829006 + +Msg = 9ab91448a0dc9694be173ce6d9b522ce0e2f75fcb57720fc5eb8f92d8fb0e195030063968925a568636f4aea1edf6c5fcb86dcedd204539d8c291757fb8a51620abda59aa8f8502e6904bce0667d92c8cb3fcf1a61b1fb0bb4e9383b37eb469bd5c2f5a77680da62f907c2e263cb48402b4b12985eaab90451885e819b3e8c3a +X = 6d764cf62a268b0070bf80308622bb31941d4763 +Y = 49d7f08fde0a83cfb8116c9b7cdcab29751fca5ffe310760fea713c30e95e7755e65ce60928893c65020ee9b61f6c9c89c07e0fc503b7b031368f069578a9e6b451fef369ef90c26dd660ee1a6b8b714d1cc28245e9f13f187122de26ac2fbf5bccb7caff59f1de910551104d3a0e8fa9fe6b7eacc9a5fd556b7bf7139d6edf9 +K = c66ea7177cd6edf6b9079fbcf6737d3890469b19 +R = 95da25d06ff9c02bc893fb032508304c17ebcf08 +S = 617adb8de10da1a87413d64466b482409d27bce7 + +Msg = c9c0e69f840cb6deb984c2575d7f6816fa35af03b4429c703a5aec90e7cb26e52413587f3bc5a0772be7b5e589c9a76071c1739833f4611fa951d375820b48d740626c665534d60487bf3e0a84eb6389e099fe621f269491c3b8942e03bbad2a5220caf51e7b4a2650e4b300024a0a96f0861b3206fffca83d0850f2a3e2a06c +X = 38a62d234e1aea0e847621e79dd17ee9d08bd9c6 +Y = 26f73219d0e7dd3a80e7fbc079d9baad4512891aadfd2416b1859f41adac31171ec624d8a4d6a10d5de1b93959bc49953f23492f18ab765f963a98584807d66629e5a1e057d77d42e3363458641a0469166a0d853b27798bd848aa0d3ccdbb40fa21b9fe62824cb2c7cc62425978e672aff0bbd8c8cd08e46385b0d6219dc56e +K = 5f5755dce464174adfe00affb55a71222d83da85 +R = b6b25a9da110b5d57675889eae75ab58a4d8e281 +S = 5a60c2b0adbea4c5be065bbd0fd0e3ce4bf29200 + +Msg = 4002de825bb87ac346bd8487cf6be053cb30ee67c66434217107a8b0b52e5726900615edd2fd0acdf88a7e65e7dd3ba6abbbb371a1c840250d9ce809e7b1111f16daf5194211715ff5fe631e378408749848a0c81a289b4338bccd8d1053f863197ad02920fcbca514e2dfd94a8b00f90cf034adfd776f4dcaef2c8dce3b0539 +X = c8f0d697bbcbcc0e31864f8319984125f52ff5aa +Y = 149bcbb4f5983db56fbe998fcd02d736e6d2f18fcf96468cd7e99bc647436fbd74fd7a2cc2f0d8866952b97b44ff644b5665cd1065b07a2c33d9151deb335e3522c1b77da1443a1373c93bfa040da5a1353b88a78e3a5a084e6c442db03f7fbb4bdbd30b1af3963f8c5d3e83453294e3a07ddacfd43dc8f9e83032fef78420c4 +K = b4281920a775fbeefb89615b236217fd1046f2cf +R = d3cde170d82154ec1bbd9077c486971120600376 +S = b008fcd01b5e49a85a921bee1ddd706212799086 + +Msg = f7018ff0af6776ed4234c1fb9cca1f8cff31295cb9f76d8b73898430097c49a40028441771ea1de08ffd5cec7eaa59e32b3a170329139227ba86e0c5efcaee382bfff962249da853dee418413f201a28fe45b8293c262089d2ceeb9af67529ab011f04f5eeaf82ba32dce9a9821762c3351b00206591a3f87c5260a4263659f0 +X = 9dbd262da7a529f80aa667b27a29d6a52671fb89 +Y = 6c206e71fed8b363fcf571786ce1b4e52a404de7eda7031e5d93a47ea668de43dc7073e31d3b6b125ae3e8ee45aed273bc878c73423b225a1526bbb149a0ce5e9a2d2962bd6d332375860f84ce0e787a0af93f44e64edaa2dce6ca22bcc6d48b84b0affba342753b1842941067d5b8414c356138e625bb506566a27b335094b0 +K = 0f0e02596ce6674684e7ec448d2938de12842fe2 +R = 079b08bc016c543d09d6b276c023347a3aace9ae +S = 164c3c380f209feaf8ffcf53691ee3031c3b3fff + +Msg = 4a18bdcccd46bb89567ceb9c1e2e500a3baed24ff2c5fc7f83cb3cf6a6f38859a1a927fab5e2fd7ea1e1a4154739301cb1957709103af886c929cf88d25ced5cd6f8cf3ffee7b088edc2f6abd1114398a3ab00fc21bec02e8e539ba12df70a587fbfba63195c6449b2b849547c42277834e1ec086b5e53d949846769e89715bf +X = 5b3e9cc0e0be3d714d1bb2d95e5146d27a58f2ee +Y = 8e668dd1527b5d1e56aae4a6ca225e677368412324a79d98bfdad9a84d9f87c1357518c9a5056ea6a0882e94d4ffadd97d89bcf2f32ff442b25dd2af2a78ddade46b75aa8a5b1a1471764ab699d700cb2a28b959a3848edbbd6c9514ee849f833c43008531365a01541f9c0b65d5e7d3c21dc8bef1369a41c0405f3723f67910 +K = 3d9b8166860e18a9306026ba669a3620c2954ad4 +R = b22c00fe0bc2fae7a4ab74edcd496c64a999c7d3 +S = 85ba8dbbc93ab94a76133d479e3f79576944e6ca + +Msg = 75474711821766b065e2448601e82b88153a41bfb5c6b6a9ddcf73170ee374a6625de19c560bcbd2020bfeab5cbfad8fc60ccfc95a1b94fbefdf815d9bfc43fa59315e7093d5685274b8afc3139b925ebf697fe2699b0feb1e42bca65e5d4eb0b4514af92dfab85e7f2666c87e9789395f354ce33938e9623061113465a4e2b9 +X = 9b4a2536a108892240fc40c8c69a4b9b903ac760 +Y = 74a93c73d75500ca4305ca3184475b53d96c6fdd417ef23d9dc61b80bbc1108228d2543c1c3a9f2e7783ca69b019c0cd9a6d2b62b0ed93d4229da87bfc21f9e4bd0dea2c4e6d4d2f88201ab0504b31f4ef1558adf493e470adfc572ca68debc46123589ae913b967983dbcac6bf3bd8611137e39d5870057ae18cb84a76aae30 +K = a993b059a49855e359014151700d02e8292ae708 +R = 1ed131c96a2c310e1f7976d3082a69a5af45bdd0 +S = 70663e9ad7113ae57d4af6907712e0aaf88bc07a + +Msg = 340df708d457df9413ef2bda225c5f558b90966cdd531a0b5aa745d5c3ea790debea224861ef12fb1638bff0121ff26dbdcffc299bf9f3a9c1fe6027400ff14c34fb06f67db9c30a1dcbfd996903523d85046382ff280418d974a3ece6b5fafe305e2e79b1d07a7c1eeb7a1277a82282be62831df7fee38841462602986a8e9b +X = 067e6e55be4744723b6f056b76629e93c297a585 +Y = 6150a68d64adda3d3fb5a973c62b992ad3fe538af7161bae41ea2f1799304fe5b8c864e061d133d94c16a4c6b0ed8dffdf2cefa7394015e75c57b181419dcfefe3409d3b53d86911c749f9f28f7c1de99f7e4b2ea22a48817ace4fd9974fa53b8d4f05f5731488813803d7f3aaf1cfa138bc73c4d27ca1621e9226661883e9dd +K = 77857e6de8f37eeb6925a87c027a3cd88b9d3584 +R = 4f182ad42cb5671d3162bb9d04a06cd20edbc558 +S = a6c5417947447718ed1cb89a6efce2d3116e50d1 + +Msg = 9f23c82563ab7c0ba86bbb989335000a493b291e5dc17ce729494958903623ed99df344230ffb626b1dbefcce059ae16c2ee7ee6fd2a7807336cb71b8853e2ed3b74b2faac82a831d53e03d7bbb96d38df98fd19bd4c1a6248cd507c89f7995f59579afe5319731b443d6871e558f5b77f2f9a4dd99efb305e27916594524e02 +X = b457e1756ee9056fda7207616cf7c04a33afa66a +Y = 96d7451181fb253fbc3f441409be5e5e0144972610e37fa82bc2af246637a4c918023097875255a217ea895daddf46bfbb174749b04c59fefa6289684f2f9aeadf5ce7ca47f0032e384b7d50597901181501cb5915fb4686a6ad7bcd5b46862411a4df22b1ed2a56905e07c0a936c9944213194ebefd4ec68597cca036338b3c +K = b29f28659dffea28449435b5a044487e29d82d6a +R = b6599fbddb4856276df448cf09d62fd7657de6c3 +S = 4b49589099be5578322d829b87b43ac07f62e35d + +[mod = L=1024, N=160, SHA-512] + +P = 88d968e9602ecbda6d86f7c970a3ffbeb1da962f28c0afb9270ef05bc330ca98c3adf83c072feb05fb2e293b5065bbb0cbcc930c24d8d07869deaecd92a2604c0f5dd35c5b431fda6a222c52c3562bf7571c710209be8b3b858818788725fe8112b7d6bc82e0ff1cbbf5d6fe94690af2b510e41ad8207dc2c02fb9fa5cefaab5 +Q = a665689b9e5b9ce82fd1676006cf4cf67ecc56b7 +G = 267e282857417752113fba3fca7155b5ce89e7c8a33c1a29122e2b720965fc04245267ff87fc67a5730fe5b308013aa3266990fbb398185a87e055b443a868ce0ce13ae6aee330b9d25d3bbb362665c5881daf0c5aa75e9d4a82e8f04c91a9ad294822e33978ab0c13fadc45831f9d37da4efa0fc2c5eb01371fa85b7ddb1f82 + +Msg = 3a84a5314e90fd33bb7cd6ca68720c69058da1da1b359046ae8922cac8afc5e025771635fb4735491521a728441b5cb087d60776ee0ecc2174a41985a82cf46d8f8d8b274a0cc439b00971077c745f8cf701cf56bf9914cc57209b555dc87ca8c13da063270c60fc2c988e692b75a7f2a669903b93d2e14e8efb6fb9f8694a78 +X = 07ce8862e64b7f6c7482046dbfc93907123e5214 +Y = 60f5341e48ca7a3bc5decee61211dd2727cd8e2fc7635f3aabea262366e458f5c51c311afda916cb0dcdc5d5a5729f573a532b594743199bcfa7454903e74b33ddfe65896306cec20ebd8427682fa501ee06bc4c5d1425cbe31828ba008b19c9da68136cf71840b205919e783a628a5a57cf91cf569b2854ffef7a096eda96c9 +K = 2f170907ac69726b14f22056dcb37b4df85f7424 +R = a53f1f8f20b8d3d4720f14a8bab5226b079d9953 +S = 11f53f6a4e56b51f60e20d4957ae89e162aea616 + +Msg = 6f39973fd225167a7673cd71ab3534d2686687c332f93fd66db5f1ca99678efd2825a84cd7a7107adf96501dd1d05e7bbc8d113e087bba77b2346b4364132125245e9aace3a146b576f654c86e07fc1914cafa209dd6d04845575dbb279cd1b23296d01ef505b5e1ce7f2194f18988f355c9b34f920ab35152e03bcf792ac529 +X = 8d75294b56262e42a82db41a4039615396574dbf +Y = 110e398e36c9d2726e77deb465dd23303f9e387778b549700a52b9a5468512ee377ce3d7dcbfc6b64ee353eac6a43898b26484058ba1b24b229cd69c994d976d43344c181ea6c47df0062c09a16b23ab6075c04a0899bac3e4f034a983bf90438f6ac26855d8a5fded90172e7e8c196a2ce7e1fc0dac94278aff1653c3ae09f5 +K = 66a1322607ab98aaa57c12a5cc3f59dce8d7d0cc +R = 1b9ed39bcc4b46ed0007679ce9c3f6dc7c4157b9 +S = 258d4136ad95b704a7959d04096dcd781eb54bde + +Msg = 7f59744c790c0f985a9ae101d9fa00da3b95d2473d792805ec1d6d1e95222a6f30ee6ab8fc5a632057153f237ad3aa2fae8f1e51eae75906d07e576dd0021ac1711b1c8853e62d27fe6b098766b8ce3e76d347c8e49be0ab05d0d12fd777a85cffc7ad1207a9aa75643d7b415ba4b1b97dc0ee19d05a607ba063a0341f176104 +X = 25b7fedcba71eda85fe189bf0d0c43214ab6388a +Y = 3ead9cf211f3859d5baa5155fb62331bca3fff9ecbe182ebf8b04db0ebb19eda548c86db4cbb5eca98ce449cfd51f1c460d7848326eee22fcac7247fb889ee415c4933a909c78ce9bc50ee190116da9ae2547ae6242a340ddbb9a15ac818c4677f2919c64509d03c49d1307bb2cd78e01ce5b25a9f47d828fc7584ebce366c2f +K = 8fd754defb1274bb7ddea0fc13fdc76722442d86 +R = 38f52df78b0e454d3583208a0fce03b904eec816 +S = 5cdc57a943ab1f269ca11c63bcb1059ee76f9c2e + +Msg = 16250c74ccb40443625a37c4b7e2b3615255768241f254a506fa819efbb8698ade38fc75946b3af09055578f28a181827dda311bd4038fd47f6d86cceb1bbbef2df20bf595a0ad77afd39c84877434ade3812f05ec541e0403abadc778d116fd077c95c6ec0f47241f4db813f31986b7504c1cd9ddb496ac6ed22b45e7df72cc +X = 3fee04cc08624f3a7f34c538d87692209dd74797 +Y = 6e8c85150c5c9ca6dcb04806671db1b672fc1087c995311d7087ad12ab18f2c14b612cea13bf79518d2b570b8b696b3e4efcd0fda522a253bbcb7dbb711d984c598fa201c21a8a9e2774bc15020920cd8c27c2875c779b08ef95093caac2c9cea37ec498c23dd24b684abcb467ec952a202cbd2df7960c1ef929cc2b611ca6c8 +K = 934552738360670c98b9c5384b639c46cdecfa83 +R = 00018f0fdc16d914971c8f310f1af7796c6f662a +S = 62b7aecc75cbc6db00dd0c24339f7bdb5ae966a5 + +Msg = a2ce90b51a480c0668b55936bbeebe3679f8d406a0b694b90345749e3b9c67776cae9a62c25cc011cdb3180263ddd73aa2090ec7a749092f6c7816c26744c5393acb08c6b7b359bb3a3c7543684f8050ecc6422234ff24978ae06b91d6a24c086d71eb1761caf14176d8bacdcad53b7895bdb0e053c616b147ff73d2d86ba3bc +X = 2d667bebf445cd3ee45d5815e07ca5735b858ada +Y = 0e6b419da8b4db802d938873e3b105ab3eff432d8a1376602059cf2e510f696a2a4e42025670db0011e9be31e8b1403615b9a339ce654a89a2d462ee20c080c4479648c5c00e172ecd537c934e7534af7002bd6fdafab56506680c019ced38779d954091645fedf5d0057a23ff634919fc56a96771ce21fa99ecd9aa7f7985f1 +K = 4aeb4911d38f1f634ddf5fe6c970d943ea51b266 +R = 5b13f1337ac72e419867c92f9387f9df62883aa5 +S = 90ab5b68fd8253b6bb64c61759164a97834c39e1 + +Msg = 3b6eeaedc5fb38ce8691686c89993caf17c9e24fa565a9e8d48436b87db62fab839c42d81fb1f8b8968c826e78d333b1d99d5c36e08a9a0ec7554c2bde07fd8ec422af128246ba3beae18ef2be755db22a869202951cd95796fc2ff7ba2a6967d19e5ca2304655bfdf879b7747f80a59b1dac0461cf6e490378e56ab378584f2 +X = 71dbbac59768e1e3093f0c60404731a2ead482c3 +Y = 4a7ff667f7ab2891a8a69ab5d15d93d1fd833906c9b629fcb9b49e84d8ecb35b397d93839d7985590326cffb55a70e4a51a2829e387290f6fafb7d226151c282470224fd717f3d526589c6eed9611c5bdf4bde63fcc9204c8007b0b143c49d1981835658bcf800a2157c5c143d76369fd6e78d0a3f800b8a3a8f0e11c9059dcd +K = 8f78910d1e8a9daad9523626ee7ab1d0a5b4d977 +R = 61380ca86798fc5fb61c35675af08d5cc13c25aa +S = 54ddf68f476884af3e0e6536f3a80925ee63a402 + +Msg = 01197ae960de90a93d9736896fe136bc561f0550c6b1cc3631b31df683017c2ab8c6f41d2745f1a797e0e89dc3d5878866c3694a080366757e6fd892d26668fd2d860ea2a2b67fdaca96e32297758787ecc0a7e1d304cc719803272e72e339b3f34c347e47b91a1ed69ca8062cd350dccc9c2264732b9fdd8462d9f6fc76850c +X = 45963a0771456d6ae897edf7579091f5f8c76747 +Y = 373081770a9f4dae8df5dfa70503e149d759ca37408549aa34d1b49b3176a39d7c4661e421a1f5d61e3f77b3c4b39bb2e63cd24919a2910a8b155e1758f5a375da60f19d2bf4020e828f4237eb3e2a36124a6a3914469d6833695b83b9377fb285b27bd2689933c189c7fde42e1e0e20308331fd56ed0db2efbc77ea3ac7121f +K = 1f68d020331b81fc1aea51907e94f7d62ace9135 +R = 41ed170c8bf6f20fd1ce18faac97565fdb4fe6f4 +S = 7c8c6feace68c97ca43780741fae58f2f61bf765 + +Msg = 0d5ab27b2b7e18cfce4ccda13aa1a5a8c18baaf39b14e642b8f81b30cd5418a1dd05df22599fbbb3bae4fee1e4b2c150a23e216c133fe2d8235485e34f80685c66bc0c190af67a0a49930b476b2803e12274cd43090921bf668fdfef155072a3cdf17901427afa51318afdda937e283e2c60d85e3bfe07f3da5f992c1fca4b98 +X = 95bc588bb848751ba57d7a9ab340cb00e79e06d8 +Y = 1ca36e3505ee70a56afd5dc40a48e97979e984dd2d896abc7a491d3461c6931668a0cef11e45bb66c611137999907ad7e1f7cfea7f7ed49aae935bfc41443293e71dd2fec29f37a9544672ab9250caa28188f390b5d4af13bb05e9692c1c6a4d6aafebddaf7eef1834fffe0f5391bce243789a2d55d29e2b90ce120429f2a075 +K = 07a4f8000f0ecddb72302cf4d7975c7efc41c143 +R = 66015e5fb3abe9d78523770f7ba0990031065ad7 +S = 4b8b153d5b01ddfa91f2dec6f0faff02e6e87218 + +Msg = 906a933bc823a307e2ab29a4a8f7f1510d5d303504fde38169ded168913e3bf81d53a4389a3e73a3efebd5e42cf402bf9fdc5da5ef46878165ada6d2e07299035a3987ed6c2c6c8becc44ea131a9493e72aee28242cf7cfac38ee870e54eb95a6efa9fad74354b281cb63ea71652eba1ad73f841dba7778f3a03d3e00190ed68 +X = 8295ed7e125a65ea1762aaaada34602a7bc76845 +Y = 4f3ade3ea4f7066107321e8bfb12eeaf9b3c7bdcc6147908754231156b46e0639c9db9d5447abd2d0a9223c85d63d8b1dfa69742ebf7e0419e608c4b18c3ad9f55f5d2848edbec4e7180e34bfbb1f6b6ebbb68649714b5fbfa6cfab4a01f655008a95a7eedcdc2f7171094563a3c1831e81f5ca075c6e853beeae87a67ff9022 +K = 8148e40362a255d240a3e6af746a8880162d78ad +R = 99c91e0794723bcde34594dd2268418dfb353443 +S = 42e9c49d60ad8f9b41f290ae6b772f44be62cea9 + +Msg = 1d6ba43a0ff677cf8cf68d6a1d3304d99490a7cae56fe35318f38ed0f5879fe254703fa77458c45e8a698469b899a215c25e869fd28741101d27dc111ffad6980f8ebd748f6977d5d60438e6edec37a49d3011f8f0f08525156ae60bc91abe661638f4b9c6c365c3af1713bf7f7225d4afad7a1b531a331133d8b8fd238598a4 +X = 8d3c302da7b77ece9ce6e280e603bd260d2dc144 +Y = 08ad77f233334c04ca2282f6dac0b0d8a00d596e02e836a767a146ef80624b33fdba8b35204b20bee8ff2be9a82bd80131c0aa898b17eeab5af24c20551d5d636a11548fdd2e6c616b09df86b057e5702146ecc4fa2d44d85bb1427e7e3576f698b4f21645a1e00479d08982b0573dd1981bbd405c2a45d7de9242afae8f95c9 +K = 79989e8eb43520091706039415794d2306329861 +R = a2b42cca55bc1ba33f8252d1a89c8d89b00b3950 +S = 2ec5166e35e63f0fa116b3db1bd18681a4399c04 + +Msg = 3bd0c5b759cb710c52b81fba48b6771cab17bf1b67eafd08f4ee1777dd473064dd0bec98d3582ee1e991ab9a91a6fe558a41db9ae6b21a057932811440d64c786b22d150e3d38c71900ad5b61e0530744e765b5c2ef30bcb96e726e3079e440086ef300bae9000df3403c33a79849f8f83d6c03f77eae98052578d82d628e65c +X = 4d3e42ef42a60630edcc842f25a1b33c8851c742 +Y = 3a1ed976b7934bee3e80d69fbcdd35f82051ccc214bde6fa756be67017ff60ac6847cf8d1f823f890d26af8cd351716ad2d4eefd7f06c1951ea4a7db5caf250f407b78f21fff425d0cba1b5fb35a5b5dcf062a1cdf2507af74789326710e334faf3c501bd8c8347225f94f8973adb7a8b5def9896109d1efe550325dd89f31d6 +K = 6c59f3cec7e34db174dcbd6bfe224d52226c56cd +R = 77d62ec2a95beba6c672d8422ee663d1d18049d0 +S = 2a339cc8f567c12149a8917375ec6ca4b47254a1 + +Msg = 8dc582a2b5af65e66ebdf5b533d8e22b38b5c1977e578d3213a110e9d4837a74d4b7bf7d71875690b5b71c8e8afab89434c46a8641cced1a130e21cd0c805ee45c134c7c0df75d5cd30c41818f7ae475dd6022877c743d09d54f0c94581ae7bd4b423f02e19397be7bd4a904b88cbd2f814b1dff1e796d9f2d1c8470b796c69a +X = 6a6a9874f0f89f04cbeaebde3833ae179ade3f5a +Y = 5d6dc1749f28cb8f7c014d5c5516cf5bc222c6d9337ac0089b19b90b321956cf6192f3255d0eec45840810c21fe91cf5308948852a57cd0189f15bd96af8380d19cb821b1c56afdc38a94b2c32feb18213939693b69f2bcbae7e70ab09ead3b6a8b7dad3c4f521ad0455dd4e872b3627d4fed20d5efc78f6ae467fb9267ab1d4 +K = 27b2661922214411aec66e58cb36142ab3e5a256 +R = 05363bcca193d726cd20e03489e1b13b7df3bc98 +S = 31bdaccb29e4a60023929f182199c070b71ac575 + +Msg = 477af8c025181b557732b9568634b1324e6669b4c28a0bcd4c653d4c81ed68b2a2043a800a314ba95e50deeacc5ee9c2ba6f6f62fdba0e86aca227d727377552a3abdbab601c2601846ec27a192a3f33e7ffdbe4a4aa7beb2b3ff6c91bd5cd5c890bcb6f4c908ff5b9b555e2a0a7df8c3ef6770136bbf009755bf6c3e6307310 +X = 17949e838d7c93e1d837be65b3c4482433a1b208 +Y = 2cceddc9e2cebbc1e99b83b03053bb14a9cfaf072b45e4746d18cb3901f6a2c3cf72da66b0b9b3e105bd4cd0e5427d7e9b657ed71884cd49f51fe8fa18a366018a3eafac3381e07a5b19f6d3862ed2916094906e75286eaf1d13c485744b270404ff9adc8e177833043bdc34c307e6fc9c55c53d8ff84a6e251038dbeb5ef774 +K = 620f07d7e7ced030e669685ab8c39174d88c79eb +R = 3591c521b2a56cf46051c0cb3d444b9a22fff63f +S = 7ac78ee252440cf9e8510494d1fad8b518f1e128 + +Msg = bb6593ff219c9f20aa47e1e157e88ed59ae29c8940a527c82e0e0f2e855fa98e94e07be1f6bce3832b7ea1e60a5c9ef583f2ec7b179227e4afdcf829d673e1377f832ae38e7cadede415964f12baf775d38ce38e945563e72861519197c2d08f28d8b6466562e059ec41741de349ed5de2c7d6cc7518a87720a248b301733a47 +X = 301c11a34edce1f7ab040754e0b2d4fd88572187 +Y = 15d9e20c3f39cc9e3b8fb65feb64fb1568f6efdef6457d231c491ed51731d58f06e45ea5d665d04969823da4e6750a2c3d16c5ff6080ecd09aa39c006eedceb4dbc16ebd64bc5b1e44b831a6bb25afbcb3000fa6b6c2000860014011189c22542c145e407e7b59f6d3fb1e136295ec850b14ff2f4994ea37481e80199910be8e +K = 117e12f88d6e44fc7f4d51d5384fc31b2e3419a2 +R = 61e727716cc96914509740a7cba6e74a9dec6406 +S = 2e77c14f01f22180bcda5725cf0eaac9ad13a7d1 + +Msg = 565f19244468515e8463d07b425b4d5f81ff2efab5156ba19a63734219c226ccca5903bf9c35dbca0961db7c2e3f6944d057edfa6c2394c39a00f1c42596e7ee72ed644c6a182115bdc44b9010c86e7b0ec2e3bdf7016c5e04f455b4cb693e32490b8f494bb4103b3b5ea6808222452841b733faf735f10a95fb283dd86ce593 +X = 07dfca41446b2f4e1af2a67bc8468db9a9c2dfe0 +Y = 664245aaebcf5c055c32109b2159a17473043087915f14e959dddc0c9b20c726f0124f1ecbaf202fe2676afdabd346a7b5bef769a25c6f733612d7378df1b2d4c518a2da5b3a4cd0252bb8180838a46389a84693be8cc24fbdc639b62cb21d8abe1272b5aa06222fe2133fc5556d24e75496a53e1934d3b5848e510b69da04a4 +K = 4522d27cd17a6ee739873d69f107d872ed7e2db5 +R = 5ca07bc7cd9f7a60cf79391d873b6fddf5a48cca +S = 9799c74a806fc196e0223fb1a613fd178cafbd99 + +[mod = L=2048, N=224, SHA-1] + +P = f2d39ed3062b13c916273600a0f2a029e86d7a4b9217b4f1815bf2b24d9710a57ab33f997294b014585b8d0198dfdccbcd75314da5ff85aa344b45adaeaa979b51a312a7bfa94472fb633f1a6f156bb4458867dfd38403f06b851f00fe2d3484077bded71ab7513d04a140220575fb693395480e4c8402b7a46cec2d37a778c305accd1f13e9f62e865315f4b22cc467c8986ec8e4961ddf810566b0c4ee369ac6aa15e43f4744005826f5bde8071a19e30b6909aac4b3d174237270dad02799d09b8a2cc5f22e66894b5422228b2c234f11f5a771c5b89cf465a2acecbbeeaa1725fe8f9b59422be8991052cb556ddf2c8ce8fa9206dbf39feadc194e00f8e5 +Q = 8000000000000000c118f49835e4ef733c4d15800fcf059e884d31b1 +G = e3a93c09da6f560e4d483a382a4c546f2335c36a4c35ac1463c08a3e6dd415df56fdc537f25fd5372be63e4f5300780b782f1acd01c8b4eb33414615fd0ea82573acba7ef83f5a943854151afc2d7dfe121fb8cd03335b065b549c5dcc606be9052483bc284e12ac3c8dba09b426e08402030e70bc1cc2bf8957c4ba0630f3f32ad689389ac47443176063f247d9e2296b3ea5b5bc2335828ea1a080ed35918dee212fd031279d1b894f01afec523833669eac031a420e540ba1320a59c424a3e5849a460a56bcb001647885b1433c4f992971746bfe2977ce7259c550b551a6c35761e4a41af764e8d92132fcc0a59d1684eab90d863f29f41cf7578faa908c + +Msg = edc6fd9b6c6e8a59f283016f7f29ee16deeaa609b5737927162aef34fed985d0bcb550275637ba67831a2d4efccb35296dfe730f4a0b4f4728d1d7d1bb8f4a36238a5c94311fa1134a93a6b4de39c085e9f60ae4e237c0416d58042bb36baa38cba8c896295b745d5376fd8ce42eb6ee5a1b38f87716b265b76e58cfb24a9170 +X = 6132e551cdac88409183bd37ee1452cd247d4834b08814b275be3ff5 +Y = 289ff18c32a56bb0b8839370647683a38a5a7e291410b93207212adc8088d30f93e9e4abc523f3d46936e7d5c90d88742b36afd37563408f15c8c1a4f7ac24bf05f01008ffee70c8825d57c3a9308bad8a095af2b53b2dda3cbed846d95e301eb9b84766415d11f6c33209a0d28571096ab04a79aa0dc465997529686b68e887cd8a205c2dc8195aef0422eba9979f549ac85548e419413643b7244361153ada1480d238cd00dc16527938955548dd5d027ded1029eeeb8ed6c61b4cd59341d8b15466e9da890a989996f4d7691e6072de136af28b5874bf08bd1f8a60cfb1c00888132909f515e04bce81b02951aa41baac68ffdb8c5dc77a1d32d8f2c10dd7 +K = 7197392d32d0af6a7183cc3398556f8f687d86a8ff742be6ad38562f +R = 45df2f423e94bf155dd4e1d9e63f315ea606dd38527d4cf6328738c8 +S = 59b3e8efa5bc0ccbf4a3cbb6515c4b9bf784cfacdcc101dc9f81d31f + +Msg = 3bd2ab08217878e6774ec7797deb75d5c94c40e24ddf1fac8dde3a29c86b26f57157d329aac31a6622e1d6dac97e22695d7d1f8e20aa26b06795c2f878ba5d2b9cc4b16d5fa60a5fa5c24c09031de2f970a9b57ea24af17192ece21a4d120fdb52e62b8238f778ff8552fa453c0a8891243fc8757188e9c4e0e749f7e9cdf1c1 +X = 32d53ad2620c156e4617a8680c543839c9be93103e80cc0fefa44ce5 +Y = b9b0e1cd37bafbedeed173fd709983f53c2c427f9f61c895fac9eb549bd6201d05efd551aecb98b2df80142dea7a35491d474a3adc83f0da8dc4eacd7f6d7201c6fc0ab798abe89dcd7d0310d5f00fa10d211f18ea853579e2fe31ee55371d1c9fc4cfb050786586659bdc0f1aac4c109b9e4f9416d22c42b39a471311e28a8ed62f1f41bcfe06e074bb2f1acd29597953c3b69d3a78831fb2f83665d04a1395775ea3a2a6ea142ec00507badd4de0d9c102eac7bb894f7453e6a8e0dd3f14978377d1ddb1fdf1c55835b9924f42ad45c847c79b3f83fbf924f80b78f50329731016763e01ba8ef69e81523e181584f45c21e3c8edfed4e2ec56fb7b02aa4ee9 +K = 2e8e4625de74e31bea9e480a5de92890095b6ce36897a2337ff97d53 +R = 6d19fe3c415d6b07d6a1039a1fe34b106daa2eea4cbca971cb669eac +S = 14d7decc2cc05a1700fa256e4d2994bc4bd957bed0baf9a18bda7090 + +Msg = c67fa77cd7351d100c7624e25418481f8fa499d75f5949a5cae60f96a0f7bfcdda7dba373f9f7512a5f1460a95213077cebd912e2662c43ac6bbe38c4479b04151a5e2d2880902d031aa0dff3f41126dd09fba5c0507634ed16c3938fbd3a96473a8b1ebdc37d32c767fd5932efa235555f3825a1595369238675453604d278e +X = 062bd01487e413074126d9d47258b5c7c77790a9db0af952ce799eb0 +Y = 31939ccdd393f747541a5c69f8e509761dd67eddb42e0bdfc412d4cc30d368d878d26d856c5290ec746b59c5e5af65ef3fd62c9a2dccfc1558dfbfb62cfecd7838e6d59495b20db5ad9d78e82f046f9f1598113aae0a79601d6b94a32e05f6ecfdf2b9c4cfa720debfc212221b14b0dd6f7078205a4f218cd4b8f10bea8fa481eca5254f365d01f3c86520bf254323d5634b96920a13b8f29d734e07fde8064eb0c9f8ebb6ae0b40b4aa7d26bb8d80868231d4558a278045cb5f2951cbfe0dc97bbdcee7af8c9b1e3b63cb49dc29f300775cdbe4d2d27894e27e0e7c9eada13a359f0b92b449e9d069b95bdc2aa7c85e56811c07207a150e598735996a6e5349 +K = 7439c7aa4446ed540ba50b9c817792b08fc0278fa0af2daded03756b +R = 7924b76ee76ad7ff2ab327dabbbd31336750fc7663df4b5b94eeb62d +S = 5914cf965490b0bf8192fc6e169754bdfd31c48d716361dd15f45bf7 + +Msg = fde7434c41666022d6d7dabc7a67315b1ff49a2a85a6168f2b6063e3036a4f35e66d2872af3d97e5beba239698d88e13bd036ef08cf0e83a41664c3d0d21863c24129a6a9b27b8e96c8029ec673e07af7246ab77a56c21ca208df4b1818deda906b553b2b23a37b5a05e29825ebeb47f53986c2bf26d731a5b731fffc353258c +X = 6e6bae97e3b37a402eca050d666b6483cf7d700419c5ab1eed1bed05 +Y = 59a14e36c9ededdce8000f04c6f7401ad987f1c7a5a070b80e0aaed7751d1d50d99a580cf205dbcc3797a0a0406b04776d80f2f2df418cee249b98672de7e61cda85cfbe903690e54642dc2a12a90ecf88c59256a4d77c4c0cb54e13fa3647b11431e1734f3ceeea04fbf3459665e999fc0f7a754683e48cefeb4a95fe473911ffe0de0f738960753dac33666c53ed2893bc63dd4162d7a6328739a252cdaea7a948c97d024153b55d14fd5304e3575048418808a952675fafb95fad84b1156b24e98e048aa777a745324ec13ba378e83b2384bc2e96c6095aa786bd28fc3be6bfa4db0c3c44fed4c351bd88a19e179a6a7bc12fc014f17de46fd12ef1287f72 +K = 08544a6237ac967e5d11f2eccc6618399818b891df7a04d08cbc5e74 +R = 49ea82713aaad799e263809e161b0655f1e74323a06041836f676980 +S = 76b3f6c1647f8d17718ffb92d6e1424606ba9724e5290daa4ee95efb + +Msg = 6676a3a131cef7e5647ea7590da3c704a0f5dc3f37f26913a70d430609cc2497c45e68b7bd6f5893dba26287ff0d240bab8a0761936aa709a2162ebf1c20a6136a748352dc39ba4403cbe4b0a5a54a729286dd193eac1a2e6bdc150fb06369be4443a60e75e5330083ff009eabb05232c52368a26fd237c7c3185c1c7e7d5955 +X = 18faf583215bc4fa71791f6f34e682ab3529aa9a1a71c1fc7bd456a8 +Y = ddcdf4c616fd6e4016099fb34ebc4ec507290762c5ee6876f10c6a2dedec97ba86a6063aa8ff069f3f3db40c9464afb1ba7ed691773afd6083586b14e35694a9ddc376ddc39dac57132a05bf88a0a6085c72a80a21c13e590c68c4e98eedb67f1e16c8cc7e9e25ff37c87ee3be9adf1ad0b838651b0fddf8d026969d4a16bbb828fcaf00efa306fcedd5ae19ca1a1abf44a2bdf6f994123ce941fd3523bc1335f51fa8dc5d525358bddf0c55fe2ce07ce974408d9090488837976f16845eb7a82d04c43a704be2dee1be2c8683b2d9e5c44f1833f5c46c65b6e62c2a720421bb35843fead7b9e0b3fc04c646be39e890e370b982bde91f2fc18442b650ae602f +K = 11b25b09408bb5dd784ad70264e585c978dc02cc1df8bb95a28aedfe +R = 1658a7ef2f444b014a1885b1eda8dad3605b96c3948e544e4c8825eb +S = 602150f67b19a5e3e39fc53abea02dd8f3b30d25c0b4ea0bcddcbdb0 + +Msg = 071f06a11588584da5576013029b5a14712581a48408bbfdbe34e17568c0a0e4d12c1e9c3fb227101440dd8dcdc415e3b49f68a26a0ec7612a10bbc64ddb8f7ec9e9750d1efc9c0574700875fcf52d00d37b9dd744ca841ecf7566977c1b5799dc4105d0b7a92551c5b33a50133fa300a5908b18f4c01936347c6049447abf29 +X = 58882f1a41e08bf6c8dad091a299af0fbbd14515c1550906ff77f6ae +Y = b1f4dfc9c83455f279a3e7522734d6b120ab8ed36ccba7854e26504c707983d2a9c075045723f441abfc7b36fbb5d4bf0447678f5b709ca5129b74888a0723e905769836b9dac1303f1b9ace26554342b6e6d032ac4b477e011a4ddd3e2978fc0c449c64a66efe7d4e22e5a5fa2b01bb17fcdbec7185dd4115a19d972fb01a06b33bb18b9349ff95fb10dbbf2dcf899b1817d30ad48a99a614d57770ba764a11a84a8db3af3041ec362614f807196ea3b90d05b014054ff4e18524c795e6722c0fa1f6d1205d532d94347633eb132e6cbb596d8b341e65f2b2f955872ebd4d3006c45ac33da11167fa46869c7ee70e9cf147b23368b3aacd9c1880b09ac86a8d +K = 5ff04e754fe3246f35b3400b87a450192a7bfd9b3c03f3ece93449f4 +R = 07bd3f6718e39839304ef54ac48bda8d9ac8ee051a49bb9131dcc918 +S = 6496b2469bfb5845485004702b0c79941bc3c3007007ba169d8307ce + +Msg = 71279b848c00208fb4e4d87979cf973b321b20d098dea912a3b4b5789cdd3b7ccd8f3993a9c92c34b70e9b0bd57520db56f2ded3a612a6169d2a1cc6350905ed0202a25c113b7bf8faec4edd2ea3b8f447ca75d15a712b4b4394c22de0c2554b9aa07ec8466727e7ef6f1f04ac4568d7726d9d77f50a2fd551ac29e42f8dda23 +X = 292b1666d0b1fb361da268de725b11310000705964705ee975d4ebae +Y = 7c8d63b9d55f59290b02a0fcea6d98c6c545e2c0d4b109a069694d80cb034dbdbd9edb6b4d9b152849cabd655fc77071644bbf4a0c7ea4edfe864a43c44fded163dd899c21cc2f9c33cbf56e8caf84394b24f8c14e84f22c3b0f747129d9aef41b6f1b1fa8ff5a8f680b496595dbc7b7b63a7790e3628747011b3277b06e80de0b67942f602eada60b518f282cde69cd717a5f6a19c8e169449e0d32a9d8ce8f09a5ada23c12a02dccfcdc0290a8bd46e8b7eb397494f32a0ecb49fa5a8edd41845eb417fbb8cdb89a9f18b9ad1b41dd4122ab349bb3c44951e4f9604360fcb1b795311545a61cfd67c287a7c9d4d3530214988e7616979e2ce907d5c7f3e9ad +K = 6b1b752bb180d8787c71505be758c0ce41fef428ac10591502c9a04b +R = 4cf5c26c4c2cd48c05508e52d743ef48685f6324141adef23d79a396 +S = 59f64755a04c90a14b187ae142ec483c4600b6fbbe19f04a49e9ff88 + +Msg = 3ea03e9b005ec1954fee0c73326d8aca1a4f63648eb4cc59265528ee8e969ecefecf2797a0144c8336500e26a1c7cb1a642b1ec65201416e5deb355201de2bda695d1beba8dee62772f4d5914a245be9ffecf39408ae7bf1bff7c2451029c4ba0c522516e89955ad3bd699cce94c744081a9f2d60f5c5127ec722fa57316cede +X = 087e432b1c29c00508d768fda7c4b279fc088c48439f09980bfa159c +Y = 1239c347be4ce6f1daa721fbbb141ee6e2f7c73098effe8e71beb9f1ab72d1b5bd3e78df770f7fbd4b3a9505702dacf102eeb8a16f11b4f809ca002ae3774ac0407e2572ae3ee1716458e5f45c493f4b921144e858d87d63773d023745512b0cc02b31ebfe5c24ad37efe539cd393cfc2b951fe1b6ffad2a2824c0f54bd776aa0afcf9c1ef427afc6cf4c4b17f66355d68574132e1d88ade3722513e395fc62d65e9485157c82064c90803a1a91f9e6b10af2f80699d917daa6b81415e508193152b4ccded593dde35f645e54b7cba445775eb16c5e19073f0a9eb5369bf2513b92158165b94dea511e938fb6a8798e040a05da94fdb5a4d44bee943b95b39d9 +K = 0a8a45ce2412cb84e4e0174d7ecd2eb5b37ad0a53b474fa9bcf56d9a +R = 5ca2e971f21b70127a70c655eb87e20b2517976228a2c4e648d549b2 +S = 44036b34667136a5140dd1948ddc2fb2bf679efee21f29b7ad87af7c + +Msg = a3f7033958c5b779072b0548baedf4f88d14f11a6dd6eec0181b399943d7246a45d50c4f7b5295dae4cd3ba7c4c181fa201581ad5c4b38793bcf454f176868e9cbe0997aa41987b1aa3d5ddc046be7b022fb5130594c8a9df03cfaa7acef817e3ba5e192c69a120299492baa52a9be83b8e871abe318b4a1f588f9edcddafc17 +X = 5831abf9843eee928944e3dbb759dc7224910e1adab827a04f596e3c +Y = 62de2465edbc1ef8458beaa205f45f9dc0fc3db77bae0f2b13bef6d803db689b8f5c747e3a041c08d326cd7e1891675b022a9da3bbaef8007784c56c86c4176c0ac876351d1062d9c270d548c8f4ec39a4556c66e76e507fc5f2540abfa77c178a9bae153435a7caaa008f36b9cab213ecf5e19a0f7b1e62fb9a9c8223bb689e8547b5ec915b04a85b2f53ccc792dc0a7a41d172e6f59f5b5e7c440350ac6a72ca9c06562d4cf8c60e70870a978312e19bf54c2481c582296b64554bd871accc8b251a7617ca5e5d2aadc19d484d76bc3826841f88fad1491d80679243e1527197d02a406348b247ae786108e5400975a38f3961758adc07ce740d8d442f152f +K = 36b3d1d36d1a8c41442b6fffd46bcd7977a306b53dcf7fa590538194 +R = 1823f0a807fb9e71ad69b8e9fc674cf76f67c42cadbea6d34cf1f1cc +S = 667fc57a44b289fc34a198556117afd696dcbd96bf1baacb40d3f8b2 + +Msg = 680d878ca6eeb87e4ae158dddc3732784013ebb1da89401acdd6109089e5601d695f9e4e6ebf16026aa746dee80a01235033f242079af1b7fa6965c87eae8b3291a009e4f19d5b8f1394d866e7c9b72073a95652c0eed98e9484a15c9244764d8cbaabd49d24c207c705703cc35ebfc7683f4a0e6abf23fa07678350a6a00cde +X = 738a8bfc478e462c4bef8d5633e0793475206551bbddd08507f005f5 +Y = 511a3608c4bda7c82d7d68a5d30bd4c71e457b0f323027d601d6324a94893ab3d62878b12d98c44dcf30adab4352b70f4daa772df6aed3c07587e96c68f8a847a335051481d53903d1d1ae0cf99a54387b00169a1c9704bb62f1d98047dba8a0fdda734cd41611584d50554ad77890720c8ac29932097cf2bb1a8d0daf8663241e23640cc396f9e6877348f014073f4fdc5bebd115a0d74c2ce857e100ae3dc0707b95effa4a2cd8629fdd9bce72091c0e2612d2b30320420f42ecb0986ac3289251b4ae54e51ed83d0195deda9d4e5b398b037213d2f8f0ffdbf727214085534a324d4fefc1653642035ebdbe8167b150bd92b7cdf276fcf5e0bffce956a47e +K = 58d8b64bc8c2da02a294e9db46bfefb273e74870651e19d6cd017c55 +R = 7ceb71480b5a7133401b5227fa2253332e04f78ea5d0fe237c8525d1 +S = 484800e81f7b5692b79eb21ac2fff83c49c9f0d409c756c73fbdd2f0 + +Msg = 697f9efc8653fedb898c77f90f124bea5c3b893c49d7f1b116479e83d35cb6c3940797501e7f52887d18ae9f4055e1bdd124b572f7a6fad101f58b52b30ca30d9743a9016af891896d25356e44f982d406ea26a9b25fc4f903092d7e8e8713774a8be7aaac93a6942c1f2c48e9dea64984ae54f7ef99961bfd9b8d93226af776 +X = 550c8755237857a0c8fc8a63525d4025713b89bdb127d1c330c3324a +Y = 64b588499c9db3e5864192464d32fa3547f648fe676c150a8f9e153c5af57925c76dda4b419d60b22fa5cdea0fb6f0b8479c988a324d275bd42ef10d8998c36039eb4021fc0d2788b59a75cf25ed6ee4d44882b0c5c5cb8dcc1002c0baa4798107e0b57cd26debbcd0ba41d1b1b860b8eb90f6f30500b2e4be7a00b67d93c87d3ff7a6ce53b977a930999807fcbef57d8dc67a8f366124991389328ce7e70f9e5c22ffdedb28498282b4a9a9c68534a238322e0db6088ed0afa8bc77ce998c814471ab56767b35d07b94290ea106ff0c998b51f02222738ef9301f290c6b485dbc4f12b472a1192fd93f2d23527a02d95af0b422be7640a9702ecaac26c9e004 +K = 0b4329f9e5ac4a117689883db2ca8e968d30a3aced61e27ba27c6242 +R = 62054d11529b993a6f19a0d5481b99b4b4461a49866c29534a361a8b +S = 7a7fd0982e4e2118d1a069787a80b902493465f6620a355c86a94867 + +Msg = d080a7dff1ef20e33832b99cf83c6c919c07620bf608e080aa301831ca6178e44ef7a4c115e93ab6d877e96652171610a51d927d2034f42f280fe87d7c1747c480ebccbf565a150f3240f6d4ce5d6eb0b2e964416791376ed22b3559cf93a019676e9e0be3c8d34f0e0d1152ec6c326d3dbf1d3303beadd188c3aa0d77e8a117 +X = 2171d5e7cdda9a691dd27f0524f24ca41d5d801eb2ab0dcdbe6014ad +Y = 41767ce26c780e3f2019f5a49a701570148e9ff3382203833d1b18e9d8d6a00c0b2258f2e567db31ad4e8cfb2621794bac87d9b3b53b79199a775058febc190d00adedae0fd3021291bc2d1ff0508bf019eca0c573fd863722f367d5d02bd9fa0d07f75406ac204fd3a5ca16325c661fe854fd00fb26654752febbe439096dd2284d5ab13de9eb004847d1d8599fee687cb2ecd0e5b761d91a7e9c58e6921f103024215e74f3de3cc12f5ed7703def041dd3267f1cde0d4fda8dd5ccc9c07b65de59482c4784b4f6fa85667186e2df6c5dc8b495be8ec61379f20923576f17680c4dab99312d0b6441306ae717c95d3f352ba4c096f01d14a7dc05b28ba9a3ca +K = 0f6626008e50c19def9bd694c00522cc861eb7069d55892e08ddff58 +R = 44e70d2ead3c51dd0c5461dd4186825e23b4e751d8ab17d0b7edfaac +S = 48ffade27531db478f22fa0ec92bcfd2ffeb6db67715dcdc79bcb028 + +Msg = f6a9afe241dd984e3bc265787dcc49491b3bca67feef32fc1e07fdaf0af6c5d06dccb47cdb6907511cb30c109f62e66718c5c4bb43d4b00b51235df43223d60ce1f9be3493a4dcb02e25ed3ddae10d131b481a61aef334b690c7a1ec74865954b39ccfa7a51a9a1e62e654bb89270c774f082adf09b579c8358dacb9db7ca1c2 +X = 77207cf0963f1e961c3539d7d0f678fce517f67b728bf15e0cab3ae6 +Y = b4138fa4e1dc6772b47e5a3ed130a13b822394c3ce8a0193d1dde4c90e7da1178e1126dd296252fa7d2f139a148ac44dc06a058b84ecb03ad827e66892e85529c362ceac2e7104b797b2e9826054de350596ab581765e9a5c9ff5143332c2f3bfd249a87fe1e30efd6fc057e234a1cd4c19e072bd71b32d55ef122ea930911081e26d998490376e3b721cc32fed92b82d545a7e6ba6e4eb434063c87db848df4ef02eda3fdf4f9d2905b78f7b16b5ea0b5998f1fbb0aaf62a1735591600f9801977b1b947f61a91ff2afb8727c55268972c87216aae900617a56f535ed18c4c5ddf8d7a54463256d09144d889c149e5b09bdd9d8509314b103b846f3e6fa1bb2 +K = 57585204d88d73c21f66a150991531973978dfeaedd8024e268f18d5 +R = 555a454880084f6cb2522daf3399fb4a501a943a9b6aacd58e2c7d37 +S = 730fedb3a5911844146098ac5603e2baaae76962b33a327b50420a50 + +Msg = 2d1c573bf324028dc2fe00928f55f7fac79037d4d99eb185f3b997e042cdf808b5382d50a6aa8085c5d1958e67283df66986b93471c12e3045ba146ed5965c8ac5b44668f61984d21736cf1c276754b848e9fa636b6315b2272c19e65626bf8b1214d70989a623b5fff7803d28a663bbbbebb84c839b42720fd0e62246b3b034 +X = 789375055f94b9ade40b0af8f70640336f5de213571ca1c645ca468f +Y = 5ccdca35551cf355ec85db8d68010ded63583255b1d5fd2a522e29513ad3ce6157be30ea1c305d87de6c27fbe3a3fa5007128275d6e6183a65cec5b694bc6c027335066e01273fd6981cc5f60c3e33751386ce792ccb6e6a6db5d7f073800329f9cc46d19f422923b9748dcca4971e43a9d1f59d1c749788a8527ad524df74150b39eafa7f4d5608d1c97255654456eadd4d382ac54fdd12538b2f2ef75a50980171a04d4054b4cd79c71e1c4deb3bc6af4c874f5cf0273896d4fdc5847fefdcc97f5402c7e76484d3d2d70ac16bda41996cadcd83ad92cb37c0c1e9d64fa1abd9a2cf005c2c29a1737cdd6d63aa2fdaa560799b9f07d448760678477629f22f +K = 325b1562d5c9c61f95e6944fb12a4bb08d227c4dc0c8e9a79e391b08 +R = 7bf3c0c547e21846212bf4cf3e38362dd4d359b7af6420f90da57907 +S = 5ebd5d2d88cae40b37a9a5a84e6218d2453afa146c79a5d5f5df44f4 + +Msg = bab4db55bf6d3abefd1bb4e0f7bcec65ee6c6d8eb04b7c480df4e9e39150f10c38f1abb63dfe1bb9755c41b38955ba38ba938b6ceedfec02001fa870070c59df1fd2d72a814104c5143376a3136b8118f7b47bd1ffab53359e53f95c66ee12705e31a462a8caae481556ceff607ccc8bf1450772cd68081d3f15a710e656ae56 +X = 6f4a94c9254a557787de9afa08215414db5a0dbc67c66cde1c1e6f04 +Y = 53c0b0b0269fcf2948667e28b11ccda9cbb9275463f21ee30da33c4575be5e111a182a6f38b890f20b8f2d224f5981895310db7c4703c1cec2b257f452d964be50c014b752360ee24f2fe1bcc023477a2d7085f58214df866b13a8d8af913146dc0bee078aea1ce645999b579498eae9277ed7e8b2c75f494efaa73a973f32232f08ce7f0afcba316623b94158de39bd4c0d513234ee1a481d5b72f4eea37749b40fff12ab620f11aaa01e3558e7a4c550707b71c16cb8cda98f46bf71769a476c3385a8caf7c886ae47d228b1771a8bd4b7f19e6f53047f62f029c339fe7575be93080ac748289149a57a0ddced54d72f6d4d344fb874ccc85ea7f3dd2164df +K = 14fe2a5a75756885240ff29abd19d346b2e7e5dfa76d2430f0d069d6 +R = 118d2227be4bd91e98a2efde15609b2b9124b2e83c274b632300432b +S = 3a447461944b2a59278a8e1118b406bd3ff416775d65530e54f9e623 + +[mod = L=2048, N=224, SHA-224] + +P = aa815c9db1c4d3d2773c7d0d4d1da75ecfc4a39e97d5fa191ffec8b1490a290ce335e5ce87ea620a8a17de0bb64714e2ec840bf00e6ebdb4ffb4e324ca07c3c8717309af1410362a772c9add838b2b0cae1e90ab448adabdacd2e5df59c4187a32a23719d6c57e9400885383bf8f066f23b941920d54c35b4f7cc5044f3b40f17046956307b748e840732844d00a9ce6ec5714293b6265147f15c67f4be38b082b55fdeadb6124689fb76f9d25cc28b8eaa98b562d5c1011e0dcf9b39923240d332d89dc9603b7bddd0c70b83caa2905631b1c83cabbae6c0c0c2efe8f58131ed8351bf93e875f6a73a93cbad470141a2687fbacf2d71c8ddee971ad660729ad +Q = ea347e90be7c2875d1fe1db622b4763837c5e27a6037310348c1aa11 +G = 2042094ccbc8b8723fc928c12fda671b83295e99c743576f44504be1186323319b5002d24f173df909ea241d6ea5289904ee4636204b2fbe94b068fe093f7962579549551d3af219ad8ed19939eff86bcec834de2f2f78596e89e7cb52c524e177098a56c232eb1f563aa84bc6b026deee6ff51cb441e080f2dafaea1ced86427d1c346be55c66803d4b76d133cd445b4c3482fa415023463c9bf30f2f784223e26057d3aa0d7fbb660630c52e49d4a0325c7389e072aa349f13c966e159752fbb71e9336890f93243fa6e72d299365ee5b3fe266ebf1110568fee4425c847b50210bd484b97431a42856adca3e7d1a9c9c675c7e266918320dd5a78a48c48a9 + +Msg = e920fc1610718f2b0213d301c0092a51f3c6b0107bbbd8243a9689c044e2d142f202d9d195a5faef4be5acadc9ff6f7d2261e58b517139bcb9489b110423c2e59eb181294ffdae8aad0e624fab974c97f9f5e7dc19d678a9cb3429cf05ec509072856f5adfec6e29bafe8e5ba95593e612843e343111d88a1eaff7dc0a2e277f +X = 7b489021578e79e7bd3ee7ab456f659f3dc07c88f5c9a39e4f8cee81 +Y = 1ae10c786ad0902c5c685dae5c7121418a377b888b5f2f2bc76623570fd62bcb190b471ad5359c5f062f8819289e956d8aa6f90d1f8cf1ee72d3a1bdfd56c478dc29a19c4569b5a60e3a8f34f60656eac5b25dde5514a5c67b675423204f6ccaf0990617cc7355b9d3ed868978a252020a769ed59a6edaa6efe3377eef45f3f6f3e64179cc7db8b143fb835c5d71bfcfa1e2a9049bccf7fe9ab57546220fe3f4b7521c861739d138507e81a46a6993605441dcb90d6ee4afbc42cabe90a254444968109d7edd9694a023239f1d56175dd1fac115915e24fab563f4fc3f269bed2f300832d112596485a711417aa73bb4ac72a651a1fa5baed3636c720d397008 +K = 37fadd419fcbd2b073a06ae96b9eceb63e29aee9ac5fa2bdb31ab85d +R = 65102e8f64ecb11f06017b1a0c0def3c29897c277c4a948b1f4da6b9 +S = 21ad0abb27bd3c21166cb96aef70c0dbd5f3079cab0dd543d4125bd1 + +Msg = da5e7b051c1859d22f2a3163335d277951973c172e06697c0490ff15b592c1ebd0fa5efa2463119804a3fea224b96b463e30083e002949a24e922031764bb3daff8101fa088af5457af36654c668f234a00cd828cc740a898c0cd3df09315da9b346b325b2fbec475210b75482affa61a3eff50c83c3a039fae5cfa8d971fddd +X = 9d8bba124417c126c1c011115906a7bdb7a493661d8a945e32cb283c +Y = 5e276987b847b852cc372e986e8aba0633dd46c461bab58acae056d4d1a9df03a19df114f648b28e038506fd09ad0d95449d9d8058aa1b241b2acd3badbf9882697331de45b452345c051c2cd830f7cdd7486b1166b93891a72a8b7dc6228bad708720ef33235801c4d4c3c4f28036df6029a195d0019124d16fe8f76c525b7e8f04bf4b8d8ba6ef608e623224fa8d988420f40526c25ae3e4c79d5ae7fee69793e02bad9651ea0fefd3eadc5ff1ca2d142930355b1f3aea102221fa17b735a18af3b83327c8f33efb9a49b70211014eba43fa65eeaf25ebf452bc4b7dc1f407d0cf1b834619b5f73c6cab7051c92070aa06f7f9406c507d1a15d12c11bc839a +K = 1abaec5b4efaa83403fa970ff6027fdb596359df930a02baa12ed854 +R = 313615836f0d338d81b670f116a5414d2ce90ea5ca5308ba4f0c8a7d +S = dc1d4c3c06203fd598a476c891dfe5934162d0d35f37f1c09dd6395d + +Msg = f49895b3290d9aaeb4af611c5e30afc0047dd42c07216211d54977d1497fa4ee6abe11000d6ac04d24b4c50f31e06ee8a74774d3d304137cc6b114d145250ee7e94a12a1ab592ae307ef5d930cf39170e9756adc5e7ba62a54abb6f047b4500b6121e1f4a95d3c6a96f7f8333cbb1ebeed8b4db1a7fe75f4071cebfbbdfdab90 +X = b9174a6cb4d3b2e7e4d168078e920ecb651343223575dd37c0677371 +Y = 6d622525ecf54dbecaa811939ee07ef2975d9da9f7a3c58bbb893ce3880677404f2c6e5963b8c0b4492601f15bc6fdfd747a00ab8334e9053201e1c9fba55fbfde36ec54237501b87416992771cb5ab8781d0a967b7f14f3d5de6b1665f662885878e50ad37827b95c8f0e21d6bbebc9dfd47b2957d2fcdd1a2b25a616e698129b45998b6b6aa2a99c1ebf4275493e28eef1ae34e9ca63cd8886da58572907aa9b714e89bd3644a7ea029fa3a4ae9c26e665c85296204fdf86b7b1dd7866bc8e9385e9518a270248292594c54a4a03dc1492664ddae53277c6fbb9dd0cdd99bf11eaf6ae31923e4f979a7f581799dc432b1940f613a7a7ea6855237f776e91d4 +K = 1c52eec9523245bd82707f2ebdb05fee6d34749f23023ba72a5a60ef +R = 79d544cdecfd1ec1b7d1ba6322a5e0eb858aeb4b76d5b3202cea233a +S = 0ea53dea4ccb25978a0af5529598911b47c25e0ba3b2a0505fd1d7fc + +Msg = 31d739566914549eb25726bf6d4b6c674f479ba7a406acd108a106f36c7f5214976dcf3adf2c83fd26b37d52c0b5ff51e6b3811a8dcb026a1fbb52f95027ea6034d91149b30ab4928ede26ddd692ddb8ddd929fbff83fc673788faa0ba5d967fd1339299e55be51cea80609d2b3c3433cf713a9686e229336cfa7e720fd5303d +X = 4cb56c8acb9c107087837ef5e021f77cb015023c8ac1ec73575e5289 +Y = 386cbb8f7e728751d4f6a75f890502989b51228d3039dd1af7f2dd0186bf97a9ff763b40323b30ab0dc81bf09ef48db72c0cfbe772b3d314927ed19badee7b88b49ee294923714adae30c955d37b99c1dadc4a29f0f8c2b9d1038d17059c586a212a9748720fdec95b428971df1923f08a01d35893d12ed17e0b142ed8e9ef77d440a01d77905b92c51dace1b345cd19f91623a6964288ddee6e9908197f91da9a26f806bb14e2371742f849cdc6ce7a045a704a792e5760d6644eadb7cffaba806b0545fae3b9fadae4e36bdf3b69c6dbbf0d8b053da38b904e9c4b949325b2a005b249276ac36927b31793f80115b5e2f2107f987710380708e2c322894fa8 +K = d223b9e9c662ba6651cdbad84f2616fa223fa8742f783c87c2fb9e8e +R = c8b8a92e8c101505a1991bcb02fb6e382a3ecbaec8f4374501b657be +S = 20d161cefd584979224379f28d827aa219c572f9600147f4048ba7cf + +Msg = d0a8a1ca0ff2b44b37ff860007334b23be4934ff89051d787ce69d3d7fa734b9779e2f0b38c235391a897fb8514b857b991d10e34a00dc25b0c4382dfb6d53aa87ec1784f1cae2599259406d4756539867679d3088913a138871e2a434747222fcfab079d9e655ba254463cb0c5786b9858dc429ffdadf4c3b6a253f90eeba24 +X = 2286424f368e5e64bac0c977ff0d92a560b78e4f21b49f3aee7cdec6 +Y = 7247d4e1253f0b52a1388b794815db61c1a354cb0f73fd19fede615c1c3025840fff204b0c6e610ebef1113df56f67406badeb99445891dcafe18d28f597126064ddf7aaf203b2fb0d35d2f458bb74341ad937211edc394ec1a3f7909a3f972db27aa135d31bbd7e36c2bbc360585e7bb6e83276406b9525f688ee5995e7aa8ef7a72c27e990d64016b99a0ae4d04b2f1b7d238af88ac4c2e4e0f3294cfee9be2457e48955948cf4bb3a445a1d778cedfa4b86f59f156118034b2b834a9aa121e9d482d6922292823be2991b3b5b42c23925da294d5ea37406eaf78b7dc72519d8f261482d6afff0e567bf6e673dd89960ce734f092d98956352429a91845694 +K = c2795f65f0f077e32c022a703f7eb8e5dc068fa67cb087ef366b243a +R = 9dabff22a43012dbf47d56b9ae5a09f4d739dd69fe907725afcd84f4 +S = b60c44728e4b1390f30238fba1dc1003fdd39507ff5d6ba7e609f2ae + +Msg = e4ffe72c77c3a43af8a61f58f9240e1a07b5c2894d5bdb654b2b994dc0c987bad9b704075d3d0a969cecfc98b1dc20e76cd8e012285819462226a84dcdd67895f6ea278266f1575ea785a2c359f8f4593bef31a58091b64afb84cdfd23e4aaff29d9626f0c823d934283a4faafc9c6cc18622328cad96f77d79b9ba35a43d825 +X = 86b0e564ef08e089c4c85675b6e5281daa4e82bc2fc0e27668052e4e +Y = 7146009d12b03b2f32305f495fafcc4d452efb85cc80d671ff4249492c6699fb26a89ca4b224d56f6b8e745df9fbc7352ca583222f4deab118f9fec0b34e334060bdc28db872e0090649149499e7a1c197878d3c7262439303b90201d0b7f5be94d0a7c4eb15182935296c3e3fa2d77d74d78f41cadaa40eafd40d017888caa02a474868e40f496b7bc1ce367f503435e0d9a6375aab03c231d9cdaa15de23c48ac0878ef649eb144ce6be4d2de11da202fae82090673c83b32840a32df6176e1d55027d7a1c1c56e642f51aaeccb3c990898061bfa16b3dc1461073c333337fd76a3103f3fde821bc994ebedd6ffd7974d0ca1b54961d7df5b9eebbfa26c3d6 +K = 5aba2fdf6b24bf24151943a4f32d2794e44d1f62e8c968ceb5b073c7 +R = 4a2abc689d2a63e8b23214a3212a5d20a7386882d5e11c5d5daa66bc +S = 08e0c6547087b58bc94fae247e962da1a2897888d1bc9c8cbf3ad6af + +Msg = f8fec19288f3a8bd1d0d573bbbc180106065697481bed912f8752750d331e3a097775a12276bc4293a78a80748b2b2c37d20b800335c1d1b430a71bbdfd8f7afeeec82ceff2fd33f2624e49d37457f262cf5dedef9025ce96e0b7d499fcc7a7ff06c02590ea821dd8ed060cabcf4feec9592aceddfd32b4c09e4d44938435b82 +X = e5ada29e91ccae11fd060112540eac31d9651b34b2754ee51620624c +Y = 7e50011d422986eae01ae68943dca0c87af44f7b879bd1256d4caffa0eb1925029c0633a7ac67487a7b6f98ad77ee7e1442d129d06db475a4f7804fd8c6a038151911f81397e963594b9c91e3bfe94328f056e9bdbb9b11f54939d7e237aafb0c950e0581cabfe94bc26f0e0d5560997bfb0f6357bbf2cadb0108ec0095646e4caa22f71e1f17a9f34e8a8c4b71cf0b1265e001554fa91f18a17562bc0948c431f25945962ba7faf7dcb64ff0b8bdde701e1df620a11aad07196d67a956ebe498ae6f82324f75cafbe80edaabef0037b79c3ed658d9ba1b5422c4ac053ba69bbaf7fa9db990e8b5e7f9af57a79f3e31c07611f502b3015962b02b6b425706e0a +K = cf0544a08823ea2ad5f13716b43b154aa4bf80d6bbcafe6040ad91c3 +R = 2f38c5cf86aa0e53d1fea0e65dd03813640404b8d9a8cd6d264d9285 +S = 47603880f3d67ba1a6eabc20137dc4882e417304cb95d622177df511 + +Msg = 7559465af5ca04c1e74deb9f8e46b0ef17de4d7a2ae0faf4e903a2998bcaa09b7f1730393320ebc57d052d2e98f5486e8e92bd1ee6bb0ffd02d69e5d4591e2fa12e4ebff8b6b9d3270fc75274f8f82e1c60edb2a21f8d5531a2380cbebb24f6457176e54769a136601a9b81da68ff196ff8cc78cf059c04ae22459cec7da89b6 +X = 6ba814fb6c1d9fe5d282008dcc9af2761d1b03eb1fd02e2499c1b509 +Y = 5bcd42e586ca180f743395fc39e2bd393820f5b4c49c7cb76921ec38bb53e864fbe809a033775f16c7f5c64872fedde6abc560488e572955edd3f9569092071e56df211564f33185dbff180e7ab2297700c64db6e220701cb8a21ead2ea809f06a16554319b2739de2aca8057a62d4caa7957a2b9f039b3c7d4fb0761a73302a6fbb583100b239d727158b4cdc9765fe0485afb6a1b0ac0db504a947f3d87faa5542c6eef7a681c5fcd28f4636360f5593bff7e433b6a338d77e3d63f6ceff69536e2a3ff77ace745b65a5160d7fbf9105a90f46ce1c54fa353c8aeebe16fb238c8ed998617b63287511208d9db3f66d503374bbda48a552d04b2c304a15bac0 +K = 70af9c79fad2b3a0677fccadd95e6f72eb8a51464e443d1e5c007f98 +R = c5d33f5a4fe2280a9b96d7a9b5530dc17cd1054bf1e8cf6f4aa3e2ac +S = c9bf1c062bd1e86f3bd3c1ff582c33270537fa7769b9592aef12e104 + +Msg = 1674823896c5a764c61fd19b125a7d6cd58c883d86794391477349f03616d75b6925e9dcc553dea37047f0cd153168eb26e5ad4b8fe7cc65e4fa275514c842af63507f901fd110b98249133d3d1266d2f967c85b7f88dd76c7f76b786b5572dcae68cc646e458b8278db346b2e970c7870cffd8457fbec06bbb5141575f40fde +X = b5a607136e5dfa76645f4fee9db17bbcd260b1f6023f28474921714b +Y = 5c34135c90f97ebc9bf1ed986eba563e32ce8c25ae7141dfefca8600ad2f3cbe8e45b4a010ae4997820a38b4888187bf207bde438a1ec7befff81a64265a4ce9900b37a38e4fc23613887b638a113ef41665ad2b1f15764cb53607d0eec303ac48c055f5aadabcfbe2c5faa85e029c43e1607a3a29f65802959b686b468e8107c466a7317b5063e038021975b2f017f1f3bad07cd0ebb487964151e4f82bb5277c35a218ec570cb568ad0404a3713ab7fcc1297b1ea9743f85ac5d5a7ec818e5f90a4a58f2c2192bba6dffecbcd39f245cc932953190ee353a0ca99dc61eac4b4f834618140c9a32eca31d718c95ee03b2992c63a683b0628883a5c222fddef0 +K = 02e860266b3b7919a3d74f37f4fa9054f62f37959ee1ce66baea3b15 +R = b1a946fa42a36d836daab56fe015c9f29c4544a4a47d482ea2d9cc5b +S = e2905ee70a5dc099b7e0baec5566b229e9ca8e7e00840966cf56c4d5 + +Msg = 281fd14ae2e702dbd25f77d8ba8af09fdd77b1839648ab9c880bd119d4475378fcd0d12415abb9f26bfb8e26f108b1298859235ed12e7f9e915628e3ca36c5986d18811a5905aef7878c6300a95ea87182016ec595d32e4dfc274adb47c3ed0f6c38ec893b331f7092f19b724b9fe43f0ef8dec14fb7bf8b9041b5390beb4408 +X = 272b54a77c97fdfaaadf12ee05e1279f65e8748ef873c407372aaf80 +Y = 48ed8fa89d07deb5f8ee6d38748a4e66002020f79ff22d66fa53ad913d596860d4dbcb7c3a6633cd4224a80e5e95908f87b18acc2e364c14b51de6bdda7ad8961dfda454ef4798d0f7a30ef10eae87de40867764b84bc55d7c0283f9c7cd2be08e1852487512ff43a8d1e68a951197c771f9e6c2ffdf2c00ed2163f86dff5241f9e2ff1cdb05a0b3e647e6fd23ccada83b9c5961e6e2fef3297493ddb0e990295d38405a24448e249627c0a7998cc4072dd29139c5336d9856016642992cd245c758a3031ec2807b171abaeef14c82a3dab201752351de2bffa5085c137656e469581f63f86379d62868ac3e3aa24df9826a833314bd41e0d9a0ae5680e6a4d2 +K = bc06f559baf16de28e915dd27485338abf2bd0e62cdda5b3f1ad05f5 +R = 5a77639663664e3f0b19fd583bab6e680688cd89d5e012ddcb1e06bc +S = d41c784b583cbc525bce87c6caa44062eac847bca8b005c12ab5e554 + +Msg = 503f2042358f7e414296ab2d41f3a1f3f11182eca6c82b2ae6ee833dd737bcb34691793e30110036ae54d403a5ea45cbf3e5515bbf80b1af139853f506792df7ff5235995e080f82b562326adaf321159adeef20388024509f225e8c5235368a7b045d69e472e6b2ad7d470a11f6aa8d4ca6c6cdb0f3ed4e06fb9a95e2cf200c +X = c3ff27ecdb6a7de642fb2d2f9d93ccb51dd09b543a77fb2e7a22a29f +Y = 7e514a04bb575ab93e71b3555cdbac634d475c58c1d9b4802e153a858d027804ea748c2907eb9987f78e41c6757ed5cbf102544a714699a02a9ef14768f96dbbdf48f3b2b3792efb973a7f91f260e0dea28034c915d9d5a87a8f986a15f5d6f98d7d6d35bee7e059aedb59fe595ba7da17ce0db895f3411b832a1e221a831f706587841d9323e0c7f4435703127084b20eda9c6a2497280190a2b5273b231b44482c9253501c66ef1122253be4ea3477ff6186af871869af1ba10f6a15d1c432940317d119dd761ca0342ab606d532c471783a4dcd6fac9b8a67a6bae187c7dc64c7611ded7273dc348cd7613a52d02670e877e18d0b60c8bbdd1adb04eff213 +K = ac8009b8bc2503f5a68d667696c7fbf66ebba6f88ed3db3504c0c9b6 +R = 8486ab31c8278fad0691fdd6cac2f5fd790b2f3fed52b09986766042 +S = b6967b9eacde5f4883710eba387b3c6fedfc91944ea51f6ffab72531 + +Msg = 650c3c409a885fa6d1ac1ff41e15f9001f6cd6a152c376fd22e2851c9cbaa5350d8a92b7401030809395cf0b1a0cb03a24dc3b4347050e8553da0e61d81dee4402b1cec97d898dc6886601024f6bfbc48d2f2c40bf96de9bc0e078e440c771f74e7115ad22ba994ae2f857c7fb865ea750b18c79e7b048563becef8898ced3dd +X = d39e52c39ea46d6ce274670d3e8a22875cb9873daf4c2ed83bd3be37 +Y = 55186de39e6a0131adb7d84170a8d36ac4bf313616e750220de356fbb1899dbaaa650d8de9a7afabf3c4dd6a3c8bac241922acbcc4bb7fa4ce5fcdb5f231cb17a8c0978c8e69fb82d44683ebb9fb17898e0ba4939196ed9980ebecabbaad7b5b34cd9ec0ea6df96243823b1d170efccb4d59bcba24ce5faad32d591ad6ece0440d2b62a212059e000fb5005abfec127c1e9fa7d3469c72b89a96976eb4702f09f9c0a0971b30dfc339072b5e3a6ce40bfea2d52f2c930a11dd655dd36ac9fad86fc3986b4871e7c90459a2eaa3b3d22dd04cb824173ccc087d429bb2a188e05d8af0ac2911c907fd957b2bb330a6f3987a595930b312053c4bdf856de7293858 +K = 78683cfccca3e13d49999e7bacccb43fa33e11547014baf66b987b83 +R = a0c49d3c47240d30d26f0c20e4508b360a841285de3fc1986f1ef9f6 +S = 97caa2b76d15b1f9f177e209004a2b1fdd23a3945034584c2c15bfa2 + +Msg = 64129153eb9ccc74cc3aae1d5999c6e90d986be6fa40c6c4bc00b1c3f8072d10a9d8e6c314d82a7641f8a3ae29d3e7dd1942dbf0dc52b4b4b35bb67a994942aff029ca6fa18709915ff720ab8f65f231155cb1d0dbcba04fc5193afc71a5eddb4a03867e5c4bb92d37b7ef771da954ec6754d5fbe2e372b92df6a3ea8c3a4aff +X = a7d5664e781c28f4859f5c126cbe8d87f9b2aa0027149f8b0a921d46 +Y = 23f538d4ec345faa906eff12f6c5942ac166914baf8e737dafc71e47285512ebc57ebf3ec666342abc059b0ebddb021ceaff6ef75828c7be3766257f7247a67e1408239fa4dd1caac2b7229e8c1bcfd57aeea4c04e1586764e28669c3612d8a006582cf8f82910482691c10e4113216fc24feb299f84ba58700a3bb6fdefa17a7fac9aa9bb410fe411fb294d6294396f7f627dca0452ef595dc24170c147d3863fc16e23645019aca63fcc1152b0f766f5f651c9bb699e2f5047fa1e9603972d2c7551b18f3b16c106ddd6cc2e24d2d05e79687efe655102e6bc15bc3a57f60c1a6ad20bf1cbe62052ad0947437b92b2c932af5d72775d43183bbc6f359a4df6 +K = 85adc235c0060b510825ed2b436bdf003f4d63e299e973b5ddc81fc8 +R = 3d728962aec35822fff99e1b5217d8a6264a7c608d8066f4fcc9008a +S = ca5c8e178a14ba006e93cf4ad119f045bbf82b828767d3e583d0bd15 + +Msg = 9fd2791c41a2ffa6df26109804eaf070122e20bbb62ecd9811551136aa956dc1c321327893a0dde6dd1d5b3a0d2a5aa97ed754e5bc066753338dddfc68eba217d2483505b0d7c0a437732f8046cf3bf5930a11efd3f6599c0f8d465fca7676ce1f39102cc0cdf13281b2c7b9cf7a7afcde681005e5a2e4e38cf82e421357a41f +X = ddffa0c5aafa1acf98290ce6aa7a48db2ddfec48d6ea881745f2373a +Y = 147aa8d9e4ccac906d6a5a0b65bfeb59d4d66037ad40d288d7534fc9ae33c5aa701ca18e60f0b68908280562110af7d1d1bfb538c59d9100980384ae93b77be0332a03cc567d4d634f7648a1b9fd25daf250b2869683e9426d75561a5e1787c2bab71132757dffc4b7665143e7d87d50f12d01075bef5f4b0f14cb3f109d1599e5bf94de0111a01af57e8c13f583be4dc90089619c72d22a495c45256ec787a5832d2e4c4a42f0001837a975ac8fbb8c565f77b253303b1a873306fa5cf6a5dab62d7b1ba3d70dc11b4e4f875e3edae50ee8e5178dd09a334cf9260c3e0a10911d381d7f5601c0b3f26946682018629922946dd73f81240816ae9606911cbfd6 +K = 3ee8b1f03687b9726de846f54618ac45f8e2d6e8957ce6996bf50c2d +R = a7cc7486f47fe62fe3254ed655e1c994902d797f0d7ca93fb97df9c1 +S = 914bf7d15ce2c9ecc5ae150d6308fc557d94e1ef18c0860aa68ad48e + +Msg = 6b78b4de5f7526dbed08ee0ff4e43335b60cd3bc371b70cd4fd9ce45bf06508391085d142cc3891b179167c76a1350ca8ef8ce754ab1d624572e437195660f004cb7bed2ff3b0f7c7e53f853305a3821dfbaec33e220df3c3ef7a79f34e82cc8fff8415f108c000f21c3bb21a4c33267a213cb4a558e3b370d17c639247bffeb +X = 9da093f73c714e0b9994078b6cc748a675cf4f3bbc502a23895097b3 +Y = 9147670f64aedfa246938ba77fb9c1ac271ca1091d863f32f00d5ccdebe7022d268ba9051d80fe55dfc5f64b0716c4bb8da4b11e9e283448ed8be4278e93b52d675649abb45956522f92634c92a09ac5a5d603aae2a6d04a435239538de303fc05b9ed5fcb843f0536a8ab942d9c3bdc90feed97449ce309be8ab119676a96c2a60a06692e8cd59e55e6ff8d91fa462966555526c987fc44ba420bbff768f7a7fd363638d5ce4d9ea1edd7fd399d6c65627bbc337f131c7345b3d79b4db7412562547ca2a7c8ea55ebdddd05a4b4200c72ab2b83311152b71c99306c1d3b3d446657be65e58d7cf8a062b225ce937802590546853f192a6a8c8b3ff7a62fcf80 +K = bdd792b1ece3d0ce428cc1294b9d7497208de86929a2aad2ef481557 +R = 2f85ee5c32d546c68f0aa2698beae53e2848c375517a570e0f1b5546 +S = 547667e8b13f21635a0b106d324d06c85b74a64ce9225cc5e0843581 + +[mod = L=2048, N=224, SHA-256] + +P = a4c7eaab42c4c73b757770916489f17cd50725cd0a4bc4e1cf67f763b8c1de2d6dab9856baafb008f365b18a42e14dc51f350b88eca0209c5aa4fd71a7a96c765f5901c21e720570d7837bec7c76d2e49344731ca39405d0a879b9e0dcd1a8125fd130ec1e783e654b94e3002e6b629e904ab3877867720cbd54b4270a9e15cd028c7cc796f06c272a660951928fdbeb2dca061b41e932257305742ff16e2f429191d5e5f1a6ddf6e78c5d7722cff80a9c0bd5c8d7aeba8c04438992b075e307c1534c49ad380f477f5f7987dc172c161dca38dcaf3fb3846c72c9119a5299adc748951b3dce0d00d4a9013800b2008203b72465bc6a84ae059a30c4522dea57 +Q = ce89fe332b8e4eb3d1e8ddcea5d163a5bc13b63f16993755427aef43 +G = 8c465edf5a180730291e080dfc5385397a5006450dba2efe0129264fbd897bb5579ca0eab19aa278220424724b4f2a6f6ee6328432abf661380646097233505339c5519d357d7112b6eec938b85d5aa75cc2e38092f0a530acb54e50fe82c4d562fb0f3036b80b30334023ebbe6637a0010b00c7db86371168563671e1e0f028aedbd45d2d572621a609982a073e51aae27707afbeef29e2ecee84d7a6d5da382be3a35f42b6c66849202ab19d025b869d08776476d1ab981475ad2ad2f3e6fd07e30696d90a626816df60d6ca7afd7b482f942f83b45cc82933731f87faee320900f2aa3e70b1867e1430e40be67c07f9290299ef067b8b24a7515b3f992c07 + +Msg = cec8d2843dee7cb5f9119b75562585e05c5ce2f4e6457e9bcc3c1c781ccd2c0442b6282aea610f7161dcede176e774861f7d2691be6c894ac3ebf80c0fab21e52a3e63ae0b35025762ccd6c9e1fecc7f9fe00aa55c0c3ae33ae88f66187f9598eba9f863171f3f56484625bf39d883427349b8671d9bb7d396180694e5b546ae +X = 551595eccbb003b0bf8ddda184a59da51e459a0d28205e5592ca4cb1 +Y = 748a40237211a2d9852596e7a891f43d4eb0ee48826c9cfb336bbb68dbe5a5e16b2e1271d4d13de03644bb85ef6be523a4d4d88415bcd596ba8e0a3c4f6439e981ed013d7d9c70336febf7d420cfed02c267457bb3f3e7c82145d2af54830b942ec74a5d503e4226cd25dd75decd3f50f0a858155d7be799410836ddc559ce99e1ae513808fdaeac34843dd7258f16f67f19205f6f139251a4186da8496d5e90d3fecf8ed10be6c25ff5eb33d960c9a8f4c581c8c724ca43b761e9fdb5af66bffb9d2ebb11a6b504a1fbe4f834ecb6ac254cab513e943b9a953a7084b3305c661bfad434f6a835503c9ade7f4a57f5c965ec301ecde938ee31b4deb038af97b3 +K = 6f326546aa174b3d319ef7331ec8dfd363dd78ae583a920165ff7e54 +R = 9c5fa46879ddaf5c14f07dfb5320715f67a6fec179e3ad53342fb6d1 +S = c3e17e7b3c4d0ac8d49f4dd0f04c16a094f42da0afcc6c90f5f1bbc8 + +Msg = f3bb27bf9d412f13229a56d2d1533eae63f40004c143c6b92f6e606d263dd2da7581e5eb20b6cd021e3ab63b498abafce01b4ad7ac8628f7a1849c4e454f1168ae97adfab1fadbd313fca7381726f5045752dabaad6ea3250d303a5496bba2fa4895ae49f06a9aa6451ae70cf33b5f06fa17cac0144f28bd19fb2ac041a578ed +X = 027d0171598e7ecf23f2922d0257e604291cefa77b5cfaf1b3e31ac4 +Y = 00c7aabe30fa4c3d1ba85e7ae0aae79360e5eab3041bcaaa5d321c92f3471e4194c10484cff152bade6b7d619cf286773475298f883efdf64c08b692583de31be0a4e2b8e8d508ec145c65a369ce6195446c52d02372eba562f9a9d7cb24d2ec3b0a1ab833e4d7623b0455a41eec759d07a3c8a20d88a926408c20f1675601be53cffd65617b66fd4eb353a1f2db31f66343b07faf60de0b6a680809c6166adbf5e504c5c61babb84be72c02d3ebeee066d9eab0d0ecdfe01b8ccd6728ee9123b9d21154b2bc9a134363566402291ac8a484ee32eb884046d40fde7cabbf51d1d1206df1c5ecf290ab7ea72abb5bd3be8d91c02bb63f809718ba1d380af88331 +K = 7494772f199ab7a7e9a248f6c2df918c9da62dc2d4176b7db9419b37 +R = 79a6aed73ce177ed3581f5d181a77f000d6358514ea95cb0388a6add +S = 2b8597a694564e267b6f250a4c76361f8cdf49863a7902afa48fd6d8 + +Msg = e714c01631704e9447390f5c315c9615a7a52863b143706583f661595c505aec477eeb5ad6d640ca812ce11750b67bc8bede2e4f9618dbe7376cab6231b21248ec914ae182df8753362d2118a65e66f64018810804ad97fcc1a87b8c9f349d1001e4b09b046991e6abe6338fbef7be48f1c80c350d2962eb6b8fce25b69f8dc9 +X = 6911c21a3da88d54ff9ab58ae2075a2affa3f3eb656978ea26bfa702 +Y = 04d301f001821b03c91394c520839ab6aaa95325c108a02dad9db48b3c8033d6443bcbf05045230ca88aaf98a8c4cb6b095b352d91b4c416f632fab49d45ac90699a5a419630a81d473bc89122eb5bacb91c40caa4e4bcc476f3ca77bf6a21037a06be24f11c645b0c21b857fdc5c04fbbf0a26efc569cdbb0ea989ba0e037c23f22b0c5f1643d77d98f2de248ccc36672d397d30c1c5e1319fc7e5842ae1a9fcd9e96fe890a74ddee91a39ce732e4c0eaf7094b53b7b409303860b0b4944cc81b4a42d40538cfe512b9680e0a281b1fbbf639139e8066ad638cf846c9ea51fb4c4ef84921f16a6ca3f2bd158157c551739c9d023e270b3de7c2f1d7683cf809 +K = bfb79665f7d6df843d2c39357173e415724c83e1a10932efb9e22676 +R = 790b4dcae31fe45cd3a7bb6fa10dcf9ede1f067123f93baad7edb489 +S = 71e3e46dfe040496ce4c5e490f6944a23cd5e66ce9b4d9acbe4130ce + +Msg = 3f6e482fd484ed3d07f1d0761f2d60fc96d46eb0ecd10a59dd4f392e3d3b2cbe184010e132685578b1f6303239798a5303a81169d4f52fba0d20a42834de293e3a7b32848b65dd308eef5350d633297465425b7b1595ffc8ea7b125896f89e2844561635f52ec62fab2ecfea288d23f0a771cd6311806103135172cf9fef1455 +X = 20328083aa86511140324fd0357067a1d6abfc316e77fe3d260f0ef2 +Y = 9fc1b292ebe15531579f35dda8d706bee0da857cd696a10af770dc356232736cf893f7411a9d2718b39f388118d177cd8d0fd7ca3b3c220f3aa743d8b167219d3c2c783e1f09d8b8df8ec7e17578c5329488c87a89678d2818a99366b785d53f6ca6995e193ba5ca26c00b849f9027ca5df5bb7ec87fe78735ae880f1a97dabc3ca7985d8cbc81be824c1ffb953f1096bf926226fb5e9d4ad43e9363da5e6b738c9a2f951ab3294e2b2822cf5282bb4134158aa90ab9c8f0f64d05a0d625a75bc2d6a4ae3dd11fc05ede7b6647ae7c0750ddb273fe5f8828318a91db3172ad59166aacf2da4f3704d169ebc860d9e1c6464abc2b653013774d29375b77bac1ec +K = 8f4398bb9fe1b393c1d90a62e178899261fa0501c98bd9a8178b364c +R = 3b5d8034c4b8ad9701bf29b10006db69d017fde8638079dd7bbface7 +S = cde01df54a66cef3c0538648525b250cb1f08707f5ff114bdebff8f7 + +Msg = 31a278f881fdd375565c0f28ff7575f216110486d6fe08dae8fd072950978bdff601ded1ef226b5d904c47f7142a8f4665e03efe5870da2dd1ab80e449f5c757b3b6996a9dc0b5b2750b97bbad2f553fbaff2aedecfc9ff6a970d156e4fe3852979dc913bdb296a321f766367239de45e47cbef4d79bfa3d576887c65f7f8a60 +X = b75ee80c896b42148eeb7d185d45f5872a3758e983b4fdd8c2e71ca0 +Y = 7ec0a5418828159e3ec829f793b96ea3460328dea21ba157d71ac306f9bcde617db67368d592bf46d46918b130fc7e3d1189eeb7996d5f660ace30be509a26b218d865d9e56ba7f61942e567d8cdab96a78ca303c6b01d989b1e78ae956423e35b5a466c16074e0bc9e8372340d2c12516c22d5e1ff65abd5d448215b6baf565de18201c1fd5ba3de87e5d5b437d2f48deee72a12e655f8c7fa313d24bd0c8c20e59c90edfbf5dfc057c6b679850ae41826178f2f304ca3b92a9bac31ab3cf74dfb8ee5b643b4a341ebbdb5dbd24d0b782c5b450596abfc3df9ee05f45d0ea2e8ff4357cd3605f3506ce58a5394f1f2444c26359299af153532bc90daaf954ae +K = ba98b478a9e12a1d03b6aca65c0acb265764357cca67d04d782fded9 +R = 2b47e257bf72adf34d618d3a6c46142881bdd0689a46f1cb3199ee6c +S = cc1ff2fa3755a0e81edfc753bcf14e637413eaee0f22d7886b058dcc + +Msg = a6d76047bd18deefe70dc0a4bd082a10fa521dffda782a9364b9e2b11e147e1a36a11c4300672144d9b974132b4975f27ea6e8e46b55aedd6723e53e7bc9b40dce2449285a690885c3223b636cb5c4873c5ddaebb0b6dc5b69438d881a525905a51bdb97b051dbfec6dd4a7b580297b08f2ba60f2ead3a07531cf299977413af +X = 1c0e4c78a4ad4f5046f929e7cd3db3f48b86e5eab4a5e2be61a08dfe +Y = 8b2662775bb7f19252204594a84b469f3dc8d66eb7993bed122d8a065f59ea81d4c484cee5bd766a5c137dd57e43e941339852150509acbde6f7957a1b04ece718565ce8b637ea031bfa3410a580744b3d4959a5e75e315dd33c02b52c7c56218b7cdfdc24f51ddb4e7849faf289cf806c4d3c6b877c63dbfab569920a2b219c39215c5e3e638a3ebeebfb52c8b38e8285a85d625fc1b42fbf0e518c58eb8f45fa54676ed8b009415d2696ee9b5153dddc5eebef49cc7659810a98d4b5e8b9695fb2d9e4bf192093747c878a9565b47cba053c48ba7c0b9b1ce77f8a3e1043e87fcc6132cbe8fad7c738e9bf79bccb414ef24907675ba7cb059a8389eee7ebbe +K = 5135933094326e3953250a29d5f5c4c9a1033ccb844ab35a14c19d31 +R = b8674d1ba6f13398f5e8944b82150d9e9bc9b210a81495b335947e64 +S = 75fcfe96926186efa12c007c0985205147cf65abd108363d8b891190 + +Msg = f0d5b33327695536e351b37cd3feea693f10377a5f8bdd913402c2ed67a0fc1e7bcaab002fa779935950c76e42a491a68fa6fe445cd35575cfce5f376c29c4e8c0fed5a5487ef418b96fa5752a033ad07959653d1b8af6702dcce40efef21b2d64cf06bd8b03dadb2fdaaa73fb2d3d75b0985e9aefa1f94442a5491ae46d7c51 +X = 269055de62d0742324803624522e678234c3600ae7bc3996c8d17bc9 +Y = a448b0d448249a0e54a94586882985a08e19972281d10d9e7fb57f95dfeebf971f6d9dfe88dbd0a4950f528200be7b605865eefd8ec274ac53e4ed5b288c6a00721e028881b9725fb0a9ce4153dcc1fe7b5ce7259f16ea8b32456cb03bae81be77f3f6e8b39f52587bc9dd47a264278d5d8ecbe1ba574269696a7bb1e167a3ae7110ec057f4291a1bae8257d69c10ae095f3271621c6d6b5607925c3498189d751b7c9bf30e65683cb39fb51bd592f1f98279f2e7b2b53ad546816a8508c93f03496de7c47165f5cf297687ad7d60f010ab9faad0153432ec1ccdf26d4f441df625394e2104208bb675e7f972b6c66ed7028a1e3f45a671ab2716c60feabcc22 +K = 0d9d0b3e1f24cbb18320f9ce896cfca2a5a6bb28ceec83e1ff3218d3 +R = 01a4f4bc633ebf842a28d045184d250529920df280545cba00501cad +S = 09fceb2df200b7c0a56ae7969f5473b7a1f6b703f743f954a4fbdbe3 + +Msg = f58e039d666ef064cccc7ed015017c68393d1455300d0c4fd4f0d302c43a0022363a7cb01bf0673d325293bd50b27f8187d88ee2b553b159a97d15ac543421446c2aec39566315211b9b4108cacf9085dacdb4de94bce84097c0892b1cc65f2e10d74e5293a04a837b616d4181f3fe4caa4cc2e744916e770ff0ab1368c86cfc +X = 3752b20033843d1ea4f48018bede79f39c15de33df64140259aebb82 +Y = 4052534a7726cbe17e34555648e5f297b963f22d3aca249785ad932f6ea1fb5df31d379b68522f8eebedfc9b5c5277e91574fa79ecf03780cc44351f3e3bfa1a0587c88d0e04e0a02cd1ee9ae210b3c9aacc65c71cf1b86463367e2be25ccadd9d5a4d1fcbd58772f7a117f3673c76ee2a8d93446ffd7cda7f8430490502c16b1a5022e12a3a95a7a9f20e98d3b285abe30e8de42a11c517c14ef3b6e5b6c47114a961d858c6875561c7d5d21b7c93f373cb330800728ea188b2578a6df34772a7acddb829c09b3acf9bc5b06140b9b035267a40e86c1af5577b3d02a89b20a46573c87500a2ebed4b00b1fb13a86f143e356702d791379a90dfcc26b80719ad +K = 1220ac99b9124f1dc2212ade5691fd330d6d868f3e90694236d44b70 +R = 31fde5f22ebb426f256b175057a76125c40136974ad58e681ec2c4a9 +S = 77b0614dd99acbbf4c43aa926b3f0be1cd52d52775f22a408c4e0304 + +Msg = 1477aa0b9f1b199b6aa0931d4d3f766d80a3af10c9ff7315391f15edc4e92632f9d4d21a8033215d5e99cff170d9888f020b0db0e5b97e123a2889898c5b0ef7c832d028afd5e385004531ff9989797c3bd954b1ac729066577667567884cd4bc5d055a3f645583d29cf4758507c883c5bbfa74444b9c5b9b495072c3261b6ec +X = 83770784916227ab2a73edaac5a95f7538fd94f89650841d79a37d7a +Y = 4675f19b0095faf8ec96888e483f3a0aa675f5b425910765069ab57c97a12b7c506437c8757fef54ecc6d310921d7159ff39f2f1cd9535b64f27f136913715775a238fbe01237e181adebe551ffe5d21e3c35774e7ade8c79df741c52dabd8be4782ee5a3b607a39d1b455dc848301847312980566f55eba080621e3c123142a1a2074e2e39f6c0630b36831f074869d46a68429f62573cd2c671726131fbfd566a6d07193db4f367802d7de8f4e830aa878ee2cdfb86d8537746b71c70fbcb6a1fad66213d6fbea68241eb9f617478adcc9faaab26cf81b912089da0c4b187b496a17d886cef571e393d6f1f857ebf517c801f9231e95db661e8cb2095456a3 +K = 6406035023c5e150e8758baeb00a9b858ebd0e4090334c69e2fd2377 +R = a2380b5ece76672669e26187a17da45ad89de1726c826e57378af707 +S = 9cc26c3456c0a409f4cc98c83ea5176eb293ec7157e51370726429ce + +Msg = fc82372566ef2c626b2145549a5db973118dff4c6d1d7c4a2e16ecc31b43c14ad3683173535b0b82331f15a183e6a50200fd1e88ff903ecfc50bdd4f5875e264a4499eadbdaf807f974f8d8104477a0e4d30463dfc61cdac5bf44eab96c770a7db912eee2db248cdd2b9b36211f93870beae6bdf8e0aed0097519ecde3470cdd +X = 8d2855e4ea3e5085a5c145e324e5d5a5f8f23756284669279728ec9c +Y = 3884ab23ab93d9d1b716712c8daa080b26af01657f0dab715ebe6bd766deca7612bea6a4cf1ff7d08abb2d4442ac0eaab01e68570bdcc222f84bc3dd6d8c5490132d1c36e23913f00d11c803b703a69a51a1b475f56db00fca47d234aac307b9e798e9fd891dff9c1257bee556314b021fbf93f75ed8c43433afa715b82d5ec6af8ef9471e9b02f9554ed7957c1f46d8db35a5921f4a83727f754e82b6ffa6d1b82595220876d22e18fbafa5333b26c2cfd47d894aaa7164a2630294d0a385fc8a8cf57d10ed0fc53f21f1fd6b4c27e9c69e65a288444619a3c248bcc44ec25605028325243274d72100edf560cd382babee1ca532b7f06a4388f181dbbb5db5 +K = 5cc12f090fd965c719efa2ee907a43b3643ca8f9ef7c537adcb09189 +R = 5461b20704453b6c51837f7b9ef5836131b501f2539145ca3481e6af +S = b65f69d291ffae2d16e3108d69aeb01b4f9202afa01382e53dea4d54 + +Msg = e66aad54048bececa5682644d5274c18068363e968e37e6c11c1f8a0d7e320578514e1874e9d4eaf1bd02da6b722ed22acfca48c3acb670a6f9ee62e3aa71deb18097508f431b05214c199c166fa42cd6a0797bc7b4d1a2f330cb62c2c95182fef0d06862542845e430d778c82076387adad4355c258e6c543cd656fe3cd2332 +X = 2c984e8464cf5716053520b6a72c69798b9eec1e115b0a1e30e2e44e +Y = 06245bc509b4955440b0e401710ddb2c4ea2e559598361a3666c4ab12e766b439f21b953962f6ef5a11dbee5677ab7f8906d8b325180ef4e45d05c1294fce5dcaf6360f71b10b70556f306993d295b695ffe5729c5c5bbb6cb4834ad037bd8364a12c992c2598e8ee6beb1606ebc0ac0ff00c0ea2eb8aed75dca01a890085a400ebf993e5879382ff91abf1be2ceedd1fc4a874342b77b6c55ffe7f676a1c95ee4ecc32358a080c92361cfcd2e3426f78c217ae29556709ed029b287e71feae0608cf3938857040d7f06b0f91b3b4da8929df4b5698e734a37316879c308a81c096b723bf2089910d5ab30b8eff38858aff6ecf764e268ed698b70e8fb7f3c66 +K = b20370d79e097e7c65e956d76aea1e288b668dacb8e7944aba5fbadd +R = 86d5bac3aeee9b501f91f2fa71b1066760df2e0ee147383f145bb0d3 +S = 8d6a207802d6fd6e534e1b8a1edb997b7cc9a25a97a9e4b6eebd0e23 + +Msg = c85747cdd2ac9da0999b7e5d7f64d11dce7673df5bc605051316b4b94bc7fc776fb1d3da5a4395a674aa8a0798a341b31b11e63cdfac5f854346f6a4b74b49f2d089cbb86fae54ebfd95eb9f05a1b5e84306e930461ad7f827cfb910014a3af4dae0d46ece912bc26870a433f70f0a38bf23b15d98cc658848f4bad9c84e89f0 +X = 4076f4abf4d3c9a55b3f063535f6a69c221199581e72c5a8c31f1a71 +Y = 2972787dcbd67e5bddaaf1bd3f05ebd66949601dda44237ec9361591ce9b809f8722fb399e6b9b8109a79ea7b83fe98359a07a27e232cdea8f6533e34e37db3ae53309f62f108b2ee7b489a933e4ef58dd4db8c0108a3670c675b98b75798ac0884cf5a461af281f6dd8e7ea3d41396f049601a9af2e39088ae0a1ec0d2d10fae1dc1de962d84d8cf04215fc6d6262ac432541af2c48c09cd4e15bd9460e9a7bae17e0035af0b13d8de707870c54bc851112f4ae1d69074712c212bc7e13f199ffc8f37723cd6dcf539f8df8cf0cf1ed4c10eeaf0f444804f1eb9d9c329d6f19973eec273222fa04b5f1f0e17971ce399869582027b1c454dc1addd484902cb0 +K = 7149f49e3d07c45c97db09632740560e5b0e843240255da43ae97ec1 +R = 28e3dd71098ff04d1ca885c2774f78ecb3ecea708fab2e16bd5cece1 +S = ac8b6ee498ee383e28404ba4b53e64aca0fcd26790713264fe3cf6a1 + +Msg = a7a59da62a9391cfe628697548b05f8af39ea9821d76c314478e210fbcd27fbf6b0bf460a65dbcbadcddfc0178ece135264a7d7c5b7053208bfbde54e3338d901927e95e1dc8eeb73d299e6fa6584555cfeafd1925e95e0b3558ddec641175fc7293c0310266ace18bbb16f9084fd4ac22ad2dc8528c3f3f332684039e74b390 +X = 22fdd44afd372e15842413c0829c9a894ce61a3f0b135c1546f57fb0 +Y = 0aa040bbb23c337d58874d95efe9277080862ea0888d9209ecc2f5d7e0d56b3e8444ca933800450f10b8124ff8812f87e1becf1a317ace0c3a1376d624938cab617bb546d0aad4f1d0aa23c6670cfae0da28660393a90911b3dbe3847eab4ebb7dd0504aeb0269126655d135d2e9149cd8ac5221151640914d480569b383e98364cc41cec56ea157ce8d7e73a949b348e5ffd3ceefea7f7625f599aa9afe2db4cf3b0d59f2700f6cecc54f8bf7853892f07337dbe76be781994ef4e14df2f0cf7cb342ee1c8b188a7dcc317a097c9f9e33ff89462c26465bb53eec05d1085fc6156cad0f7c9b80d2a68953501a97acb746ac3a2b9bdcf18dfceaa196716ec773 +K = b93120b594e8994f533c1811d61495f2ebf32fde9e7ecec856033f20 +R = 84934f3f56d64815fc66b0dbf3b1fa56d1387be7611a1e571c405100 +S = 431f11346950e77c9e9ed0127c50bf620f6f69a699cd017c7d87368a + +Msg = d4c5b439a1ccf5d98cf0b931f253f733037921d4efb02cf87b2509e732a56ccb49e0c83b1409cc009f1d2d1cb4c0c7ab00c402ee018ec5098031ac9e7197d4395d491721708a41ff5cda5a03be6a1169bf459470b1aaf53c8a9668acae1385b921f5a26c73365444515c3c126c6940b4bf57591a0bfd6c2c74c724426cb2ad3f +X = c9ed82462158cc9c99231fd48a81e4f8318a88735c35b9f2c08ad280 +Y = 37c5f029816322da5161c4e20dc4f5abde9f04f5f9dff5d581b253109191b38424dde75febac32d6ce31b116063494a70c5c1d9d8b7351252ed377ea38fbe85b9f614eca1346bff65345d57e646bfb032e9befa9e6e5a89c16d715420e24129b6f70e4f681bc1d38ad1737db79655d244b4d67ad3d2bd80fd9d80c2e15240214859fdc0b6c43dd1e805dcdd2a5b9781397bd4a4e8bc4d6f9a1664036e90cac550e83d6641367613707d0de4f2dee55e9a5be6d3de893d61561f4ba90d387b7ab48801086016c842f3e0ce60e6b46aa980191cba147407aa4ccbe19b00b0ac71648d5296d13e48c75d52848bbd39f1ded988c3616faaf64f91a30742506316893 +K = 9f1fc151bcf8fe18bde1ac505737dc6868c34be605bf2ead6ae3294b +R = 1b51b8d2d3eeb3d6218da3494714d0e88cd7366f387e6ede00f653e0 +S = 844203a81fb38f57505bf83bc8c1da002a39e81abbdd2f99ab6a4d65 + +Msg = 40d4d9736b54993c1bcee7071c682390d34d47c35f177939ca5b70f457b3458fd5eca4cb03f0efe1aec10bf794b841216056a155dab58a3dbfc19ddf05d45861bae6eea2bd7ffb87a6fd0fd2394e847dc36c94c81561dee120779bbecbc32206327febaa17c96505ecb97d560c934c386f6f766a2f5154f545f22181c19fc698 +X = 5a050bfae63d347d64379ad01441b0ef9ab06ec5842c952f7a1c29ce +Y = 24aa1c7c6a041f6d2c533006cebcc2ad048b3dc08fa86282f5879a237231d230cd854aa10158cebb45f387923fada8c5f4b91a7bc2dc3e2c39463797e6eb1958abc9b9e748bbfe80e360233e96952279959a6b80619100f6f1876fadeb790491462f5917da36cea3793c44db90908cb9da18f696ced90f2acb826355104c4c8f06c737d48acf985d6b8c2abf31807282b6e651d2967a16907be3d8e4b7f32ed34eba8c262d6c0ecb131946d2546362c217ae195d05656a4fcfac73717ae85a571d811cbc99e0b3124bba767fead605266d99021cdd8cb4c081bef102431007ee12523b48bb838698a5971e517252d6d93e1c7fe9fbe07bf434164baaa1026da4 +K = 5de3d5e6b78c888ba4185c1547272fe562b44e507c871a0524765aea +R = 325aa7b173cac96d5865aa50ea54e5df45a10e72fd5dd1fb265aae09 +S = 0a7203f6b8fbf668b8f6435e929fd52f52e23ad4b8a156ae5f3c9c47 + +[mod = L=2048, N=224, SHA-384] + +P = a6bb5333ce343c31c9b2c878ab91eef2fdea35c6db0e716762bfc0d436d87506e865a4d2c8cfbbd626ce8bfe64563ca5686cd8cf081490f02445b289087982495fb69976b10242d6d50fc23b4dbdb0bef78305d9a4d05d9eae65d87a893eaf397e04e39baa85a26c8ffbdef1233287b5f5b6ef6a90f27a69481a932ee47b18d5d27eb107ffb05025e646e8876b5cb567fec1dd35835d42082198531fafbe5ae280c575a1fb0e62e9b3ca37e197ad96d9dde1f33f2cec7d27deae261c83ee8e2002af7eb6e82f6a14796af037577a1032bbc709129caabd8addf870ae2d0595c8fdb37155748f0dea34b44d4f82ed58c2f5b1b8481662ac53473c693410082fbd +Q = 8c3ee5bd9a2aaf068bd5845bd55ecf27417055307577bbc3770ec68b +G = 43b5a6b6d0bb962ec9766a377c32cc4124f1311188c2ecf95c0cd4a4fa097225b7618cb1276c474578d3bf564c145199c092a1b14baa929c2f3f0f36e0c2dae91eba08be30992a889f2952e0442c37af484a4ecdc3243ccfcb9e3413cf5cdd6630b09fe17efbfde14d8725493019b7b73d1f782b48ef30bec36e00e02ba336d2254fc202a69612cd9446f91d76b739ffa6d8b86052f8dc5f1145801c56241af5ba9037241bd89e6338b58e01310671c268eb5e33acb57d1f99f16440a675827d4017754d601a17ada2fbedf904554a90b01530da8c93cd14ce293cb2bd3e7937e934b79e310fe4d80c13f92f63381355bd80a1abee1a73fdfb6da24ef28002a3 + +Msg = df5d564db83592c1128be5d29b7036880d55e834a291a745ed8dcd438c4da6b1b9f39412b2c5110730db83c1ccdfe9059dd96ec7ea2bbcb34e3eba72ef0a1d4721c7c0221e29279f014d63facc5bc8f18c539b92ff2af89e568225d6b4cf599cb3dff5e3c6ddfac0a27f10f636ec220abb72630bae9a39c18fd3663e4651ccac +X = 4efa5136eb6aa74e92bbfc913b0bfebb613db7a47221fb7b64f42e6f +Y = 647979b7960ce7b971ff0e5f6435f42a41b18c9de09a301114a013a7cd01183f176f88838379dcb4efb67daea79def3f042cbcf9cc503b4c2151a2364f7c9437b19643e67e24a36bac4a4cfa293deedf8ec6b154a32aa72985f7d8de235334b546c29def458c55d0c5c0ac5d74e2024ec7d4abc2fda516a2a0b1a4d886ad92c204707828a4fc7794f60ee8a4be1101c9e5518f7e19eebd475f2de6f6ba89c28bd129f13993befe5818440319a79549833196342a31dbaf7d79497dec65ee7dbef70e58f99d0595f6a711409ade3151d45563d53c1cd0a8ab1a18beff6502cbb0c069b114ea7be77898d0f4e549991ba0b368971b1072ece4afc380e9ae329a50 +K = 7e0f1ce21d185ae65c0a00395567ea9cf217462b58b9c89c4e5ff9cf +R = 5ab43ede66a15688146d1f4cd7164702c0c4457bd4fddebac0482953 +S = 6c58e8ab27d28512c46063c96bf5bceb8fbad232d8f5b39c4755d0b1 + +Msg = ebeb9e2b692ec6c9afad2a0c2b908939943fdf4bb7438e3bd9288e7681984087ffdcf86502079c291236d7f1adb504e67e0f88bee61b61717014cf06b5fad5cb36f1b223b63912cdcd2b9416524d37f5d7b05c37d1789669e141aff6670db2e0de31673b2055f6799ac887937e5664a659ea0254a8d4ba6f204df2a38c2a77e4 +X = 1c84c5c065ff165a0e1d276c2ea9fdbf8423c12aa1c73844d6c64942 +Y = 31d31a5bb82874bdc76cabae3ec85690aa5103cacbe5234e0d5ef645eef380d3ae2f6239144b82b101a7ef4744aadb8fc98e82b41372e99d6c905ca974b81c9fa521f920a1dffab4e2ee15f61e03b742f42470dc2fa9ab257f1136f9fe4b5aa2ece5207230c4906d67a156a3ffef470cbf3a65e3189b389ddc66c6040a7995c68ae1df2085941b5b1df7d957fbcf366824e0291df88eae55d8d3040d8d09f4f6ffee34ccbd1961852a5a62b26c8daaaa56a8ff7fa863b63c6d604fd3378262e815f55171dca35d04761fe3d9eddc6d32657a96d643d4608ef2143b19f1c9d8c00ed265471b245b60f31f8c7ed48dd6b18b5bec1a6ede145dea40283230724ec8 +K = 6f399d636570476f7a2013efdc74a1bb75f5b35ce835079c4e19cc4d +R = 82c3747a0658df006a7a205a6ae2aedd5d2948488559fc3cfd643a64 +S = 8636796df622d13f070fbed4184c8138358c21db30c606b8f9be521a + +Msg = dbd2516b03fdc58b32c0233080ffeea41c0d9c156b30332ec42be5e10584be3e3db85ffd5b5bae16fc876a0c9217627d84011223fab57d176def61e40d912e7eeb2bf868734ae8f276a96ab13de558ec42614167c5aa4c60357f71fac58980e579440f69968d2280bc970d0066b5bd6a6f5002481510256b3eb21bbb92ef2cdd +X = 383585098edd867a8522dfad08997095aa23539b9c816a5e28359b51 +Y = 6e6ee0319af8fafd7ae02013f4227e266244ae5d87fe156cefd4518bcd71aa73f9364bff35d4d23d45b0f47dfe93a607d9f8b399b424ba75072fdced6c3ed2110606fa48ed633faef2064fb336069eec7ebd8ae475978389e6e433d5a435d6529a66c489ce153940d2b1b8c886c8110d8b0aeb641a40e285d6751ce71027c30ec62f4b1fc14f4da20b1d505742cada201cea81930c381f8a6f13dd0a42aac1e0bd7fcd19c6bdd170fac6a423767b831c1e289e0a29ef85d817ad238d91ac3ace2f40a163b0a9bbddc6f05d0bdcd8cc274a74d0743c9fb56556ec1cb8e9cba982c15a9a66fa6b6999b8485db1a86ee18be16e068e12a8a165e3599df96669a1b7 +K = 0183d11f1597ec9db32db21c1e910fa2be2f276f35d0583ce8b8f6ab +R = 040405136a1220adbb64ab751db3307fafad5447ab2d9bcc52f79be3 +S = 1d35f3269c77c577243f1db8dfdbc4cc4531574276f0da1f7a44acd4 + +Msg = 34c45435d0cc29269272a93d43320698e454a7c287db9d062092acacd7ca086455e583baee1276caba068fdeeb52183396d5444c5a14ad52a5c2bc082cd87452aa8f9b23056b5f8af2638d965ef4fe6e4e68e88b0f50e01248fe6a6a1d9d6d93b03cd55d16fd83cd4e06763d926f7c50f20f0ed6730613f0f4db571e22d288e4 +X = 0f115fc7073262e2f93a9d46b407b0f1bc29292aa09cd1a98a34a219 +Y = 5ebd8152935ff2a3f9a61b275e9808a041aad5650f593f612af33bc462b8c994169372e8f80f51b15f5ce966ea3e76a912c653978337e962219e323b6e922dea4bcc23c646a22eecde02433126fbace0e3a01fa6d0b9fdea9245d67899a7b745b8847c8087fa7f6c0f3edafab4c3b47220821fe46f1bcb00a323dff3dee47ee1de2ece44e1fdf3e64aa20c9e6b58e534482e7313dace1c617d8ea9a65dd51fd33024f735c3844c5c6b4a3f447e714ab0c17dc88e33f08b142b72e811e6da00299c82898aaf2bed5ae5170c1dd005678d2b576b9ce3e6bc6b2aeb04c9f04e444e2a9808405ff5926548b59304dddca8972631f7fb136808e213ecd93af98e2e54 +K = 835a744aa418a297b7e11febe7f3bba590752e58fa1ae12ffa3bfacc +R = 66481f241f6b443148f0b1f2459be5ca16413d947d0981628717c108 +S = 2cdaa73500d0ad291252d07ceff9cfeab87a739752291eb5dcefea87 + +Msg = d7ac5cc8a4c3f38cfe5c0e1068ea28f0f95d3250d1aeae5f66bdc4d22e23e246ff30429cbcbad3b02a62a0a179d4d107130fa3a780c0092c329c2b026e12e6735a75c495b097aa69ebe98a96ff891234ff379511149e07c6e2411e58976ee93fba7d3d570c911f6f208375783ff5d947a3af0c839d210a8e4a8c8fa41efbc57e +X = 5339ec1f86a0dfd81324fca6a0d3e102b12fba8fe8c1bca45d8ddf10 +Y = 7b5fb022b55fb61f8ef8cdbfee46c0fc61e59fc62dee5c14d0c3134b4f2659112e3f4e7017f9574a2724188ba6a1ce777a8915bc1171d738754b5ac1df923103ad7b198511ed36272668ae0c2e3142ba011cb45f893ddbf7b38625818cba9a9b78aef8d06007ed505e6dd6e20c92d2500234f104c1283f7c00cf2a3a32458d97f7bd17090f76235c6c4f8ae194d52d67c74a854973fd124751f7f5804b67879b023bb6eeac76e96fe676daebbcb1bc94d5d851d7bc56bfb3d2a0a6d992313786d9fb38ad29b762349451d149d0e5fde6ad497183e352828e251bcc7c3a918be4d03b17af60f3f3ef6d9fb2455df7e8b6b169475e5f89db9908541b567d0f299b +K = 7c62eb8fd725a453fdb2d1e75bbe22f0c5d27a5835135c788061ddfb +R = 5b6be6bad725afa442f29ab7d343d2f8b4b4941cbd23d69164b3c5fd +S = 3a1b94634e313fc4df8292e038c6e876336cef88d691b894c0eccd3f + +Msg = 7a96873f0777e8ada9867532ae5f51938bae2d56fb471e0fefa693b71a2aea2571c0108ba59e634401bbaf20a848ad8c305848420cee654a3040007f055d4e975807894b5618b9392363bc7f8c88d526bc491adbd892a93751a21d137ceede8a04423a4d0ca1557bcf334e4f855b04474544212929a81dc71fb3fc41f70d6b18 +X = 494b68624728aaae9898c3ca22c1bce810a052e25c881a185af43cd1 +Y = 0531518177087dff8d04a0666c1301a9b38427c2ea1b162e6fca520181ef22a2d205ceffffb1549c9707805560c6c4b31943d52556bf301c5e0e75924fbe6b5c362fc9801753e630433a9a348f53e62c0746b26e348dfb85853d1ef6eca02cf3f343e77c1769ffc1c109b88ecea16ab6cf476e54312500983622df41e695ec27a41ca7a63121ba97bee7b0e9d547bf420f647d0f8671bf4107a712a7dbc1af3aa8d15b98548d3909f72b9a27f81c46e3defa95eaff7590c626b9ba10974ae8b9f58535d09ca30f9f523539cf584f9bc6c74185c2ff12504f5598ffde6f86021ae514562fed3881197fca22db5590fcf9522ef760ed0e3631a6bd79f29000b42b +K = 065a3ebed489d78ad676afb5373c7028f843816fa97c30169149897f +R = 76bd6ff4cdc4fe37f6705e77efdcac6fbb9d54fc0b220643c662acbf +S = 8a124a3640ad73280f305afc2bc3e57f7a2e074081be7bc90b5b1faa + +Msg = d69694bf9a93ac0cc3915973d40e351247c3bcaca98069cd9c1e7a3c5850636a592ea75fae7bfd38b1290e3f4d0aae8ee689ce4137ea868aaebb17dafb255c4a20e0fac1f4666612f90c46320a62002ede3167a34dff74a306a0842427cb9d2c61599b05c67b673144f6c08232d771f2e0af38253f36e122870e04ebc54a512f +X = 044b1bcb76db64ab7500741f43989d3d878991788947b679bf22c088 +Y = 9c588b76269b2f087f7e7af4ec4c0ef263e9636f45e73e604502d62fae90a25101bc2bad2a002127d4b60f5c4a1388880cade9463ab5f7997d54a02c24e7d51a4b8a7d91cdf6afca2b433768094533a0de08dec1f19eccb46df1800f53d3dfeefbfb769a80e1686e8d53c60e8c1511a6dd4f42a155bd85f75740bcbb7b1127591822926d1682982375ea5ec29fd1ef4f283b94e02423a830b35e973caf12377ee18d2c6ee7771184d7a94e7a0c4a01044afc4efb2ffecb695e233aeb80c516c77d1c730d30d1aa4f39da51bcc48f44d07abfbe75f228abec2e7273593c98f323a9b003562a168752e837a1232f462a23d3b185ea8a05361570455aadd1037063 +K = 4707e611f7d2dbb66f5ff083bab786a525884b49390213300b088fde +R = 108a082d2bf6358a737465624320c4fa9d3719744c2db69d18963d75 +S = 420f3537fa6858657db7a21e72e11ec0ec8cc85a09a0d1a445944980 + +Msg = 17455bfbb128df0f96544bbf83ca0ff374bc086b2de18f74f59049f73eff3c8ef32a48429a4038256304636f3032192795ba2807407ef52b8d59b40bfd517583f998810279c0211771d9e54f2b84e898f9892ef77beba33ff31a2868693f1f0978b89895e350d5ded259fb1397e9c6989986452a0d77df99048fff84b6eb150e +X = 2bca3c613be53a6aab121de91db4fa06b468fc6550c82eeec4bce9b1 +Y = 850c0fcac073c56318a92104654e6a8ae7678fc4014728304649bf1070277706fbd32ea4d41f77f80a80c88f2701e3665be73f59f914a915d66b411bb05ae5c18b00bc216251399732fdc2a68be6a21b3b088797416ae05ce876b6802e4f941a21b1c661e3f06d501ef2a17659f088d2195dd161f06404487a27b79df1ec574ac3abc30ece2a1428c5e0c1d4c49803398d0714cacd9853854b08746fa453561545e6f0d96cd2c7ce1b89bcace1c697ec4d616bf14d1889a79a806a3699f84f19efe690fa13a3b4383ebf77261400fcbe309c2e5eab0b24b197cb856aa27d7d71d92d32aab656faec5ff792ece53874c4069f540d948f8b2e5599082e21f02d72 +K = 4b528d2b2bdfa4f2fce09dc9806ed5302e41cc52f35962653d7f222c +R = 423de9e112ec38e3a034f5d9675c76f9dc8536b30d05678a2963ec16 +S = 74051e79699fa44de18e36ab116873593a310e4e09dce18b833fc2f5 + +Msg = de1f9606261ff82218c8c145aa4d5847673b459eb55fe7e6454c0443266bbf800c1d09051f5e3141c4370d1b990cf5fea9d2683986c3bdd2823107829ace6ed7034caeb2f657a07b25b7d60240a0205026c2e3018141d479c07787a14e702622f8e6df709b636c6d3d0b5fd54f5516dbad97038e5c0eb31f54db1264d600efc6 +X = 366a49173a1783b99550d84c7fa02b6cccab12ee9a306bed7bb81ba7 +Y = 4d6e89b022c278f3bf8932e706e418ecb20c1bbab13ea8c90b6bd84384f38b311e8fb2c4c0a94ba7d3afca1ba94252a4c1ac1187622cd9c16aa73bb1b4a5cf55b5aa34bd93526f187beeb11700e4afb88c816eda50a50e81860c87fa66a1b63f5ffec3c3ae39bdc009d38fa13da863ca5ec134a7ffcf5dc3ca85cc34d61c5df8f9d9bdbe6a541045b45cb512ef64d1ad3db7b37dba33c6e3c96180cfb26f48c63373a0f0003ae6582679da4850ad2a0b899e0e8a1847df07fef3a4330a72f8a802c06e8e95707e0c7dc1915f6e1731fe650f1ae352e782d2dd77f54e5dac52539a10a22bbc2eea31efb94438a030c4b2451bbff6901b5fb3016cd162af6bf0fb +K = 13894dda6721bf3af8a40603a3d97af240976a8ecb3ead998eee0ff0 +R = 5f3839eb663f026f792912d1cb0b448f5e2e593139001e839f71c942 +S = 6b07edb6a034d084a61bf3c0a36e7ee6911948ad8f6e50ac6844b1f3 + +Msg = c1edd86151af66c6223e413f17e734b2bc024ff066578c55308f1388a91ab87270cd25ca2efbc2867eb715ebed6d10012b6f4808f2de1986ff7f4c369daf46c80a618707888ae3f86e38e7f25d6caa509104d4851cbeefbb75692aad499a33aa35b11409300e495fe007524b4af2c20d33f1c8c04516b6973ac1e07df3f160dd +X = 841ba91e273f1c57847ad336cea47c643335e68f611482a30d6c0bb7 +Y = 90dbbe4741a76a5ff222ddc833c0e2dd445ad01726bbea25cac247f9ef9da643932736db07cd9aeffeb45119351e00332d9dfc89f5903a541e74e2e9709d0f852ad65240d06159fe54436dd8201f8c56926e8d23c2ecadeb8cbc9aebf12d52be6489e0acb0e7526fba3754b7ec163dc7e2fa9193319124f0cbb61c2ab7ab1a28c14e7d581dfb8de23f53364d204190a58fcb9ea5b6f61a7979b86bb7a7a4263a1066f0516e5870de423a7e3b906d90313d1ff9322450f72ddda4733ac74fca5d4ad2be22c2667b92212069446b42a391233d85216a88c25b76c947d8d56591003df2532fcd7b18f923ed482d464fb76f2c85617840d370ab99e320e88cf9ef8d +K = 5ed84fb90761dc03a5e60f3b396d6cc7f8c16c77f065a6ec0049fa51 +R = 836d84d86271e1648466d1955c2b60b2a04cc021405083626347aef9 +S = 63c7eeb5e06e81d8923356f799810a26af67c0faa18b392258e4a9a0 + +Msg = 2b5fb613598c02916bf6b4b0fd7a6b5426ac5b56954392fba32de00bdf4b70953be196ad51ff2c097a81e6ce1d17cf837d2444752be92bd4a9d1a8b41327527ff6bdc0e5c3e0cf46f7e37966aae18a29ce1981f212d714dd6c0cbb410d3a5f3d006ba9b593da150ce422b5cc420f3b561bfdf11dcb9910005709eeb129e20665 +X = 220947396c2de85d480bae730298df67283d0d0694950f5efa4ea5d6 +Y = 95947fbc50d5a80299c90dd27cf3910091420d8af849240ebb541a21b49e528b0f3317acc10493d50e6bce676c433c31147f81286789e6a41f4b2603bac0f6e5ee7affdb44cceb42864358607d45f4655a709d7d67f716d7367bb5eab334f61cef3720c080cab17512329e6d99925b47e4960c85031bfddb13f0c61af80ea46b7b8702f8ad348d57d481efe821054fc83b5266782756a42dd431881ea6cfeb7f7900d8f747aac9976be8945952afb8a274dad03428088310a2456ec254d1ccfb63eedea5d374ed8cc637a7baabf8f422e1a12d5ff316dff8a082068931490a4706503d19f93554f25243751dfe62cd87cb856f644fbb6fc46fb9cf89af5aea1a +K = 2697349761cc4ccbdb4550bb9ca73654280ade31f577ef86100ff4cf +R = 7b455fae1002fa87f36cf6f345716225d4aa1407802af4082bfbb14a +S = 235d8be4ceb0176f5d0c47c1199afc7e3041c7d7508b9feddcaa0d74 + +Msg = bd7d69bcc2e4f8a42e627fa21c7fa9fdd3e574b6dc5ad20217e80bcc9997b4c5efb31c7b65dbe8a0a394f0af580387b9917888152dc4f63ce52d3ec4b723bfea8114825f9f1e259f67b5d13bcaa66c97de725fae4ad247bb922497ebed0f092bbac12f2cbd9b71b229087378e8be0626b8d5e8950b0a6e69e05129f0d3842d27 +X = 42777374114519bf323bd03b6e0ec238660dc863b1a3b85e0cf8f8a5 +Y = 6fa6dedc84a1479be43906f2f68df0e93234ca2230c832db079d9cbd9342b2df13de4bff10bdd831313453b33b725cd616acf1fe2f7927ea32d46ff10ef1154e503f71165adeaffdd500a83bf1001ed36ca65bb6974d0372cb0f2118278466fe1286adff3c7ef719c2a02cff9ed9374fbbe6051814d26848b7d970fbecfbbffedf40a03083fe33d3067838ace22854a8e88bfcb02ecd76c378bb5c8babd22dfbe090753abf9e97cb6ba708ce00ffea5c550b09f24930698df115c020b1301d571a470e5a8a6ccfc74ad18949a57f614fcb0f7e8bf7530a731bb6091a7301af42899d9ee9e45aa62ca4903e66733e47d01e26b299746da75c7a57dc00bceb4d6c +K = 3ad0d788fbfaf4caef4beec9c1566a8c7a1de26bf75dba82a8243270 +R = 16a2a48578a0b5b57553cd20005b7e8400e1061c4fef20d033f72f8a +S = 6c34d176e95dd49271ee48a3802edf4238401084bc3930201405693a + +Msg = 7766e1ab7638bcda3e6fdbd4c85b3661acb2763d411376b2eedb4b2c6bff5d8fa20c0ae5b3cbed20796a6d8b81a1096dc36a39826a18ffb897d36bfb16363cca7632ecb71d2f996cf7cac66669bf4c83114bd53be3be3305efc99d22769188f84289cb1d11501f040b85d15890d29af2c8eae614f74beeeeb5fc915afa4322c2 +X = 364bdce93df0eaad45ee0ef5c18828bfe2e381db607e5b6a77ffc6e9 +Y = 4c2b559024f1b3ff5c7167270cd1f33bbf0f40b9efa25e137441ab4698154e74da3cad34236da4bd1c57d7638e4277278b508e85e3a98d30388ab8638f553e2a700011923e5d154f8c1407452dc4f80770c9c31c368a21e499d5dfb6f05fd67791e761a494200710af8c2188892c2d1c3195be4a0a1d67551ad466fee80d7edc435379a72c3bffad271de31ad2ed107d784f40e24c5a6e8d5aae8f2405964fe3c28cc3652dc3c9523b39d4b083ee65e9a07ce897a17b02b354766f1b19c2b1229ab468b0148ca8fe89484b7b360024218086af56403707bec65c52281cb8aa5346cb6f6481430e8e057146f390607c572b5bd8426b90ef3a827cb0d58bd438d1 +K = 576f8454ff45df954d123bd1384cbe004413c8f85493ed7d6425bfaa +R = 09c61878a9917177058e9dff27106bdca7d06c500e09099306668cbf +S = 7b8b6c4c5615976d7a735ac3e184cde96154ffc87b458924d4602895 + +Msg = 84095278f7f1d578e798399af0bc9f4695f9302ea5972479adf90c95fc25d59e576d97b89b73dec629cef05d6173b55d015a3fb1d8191ae540d552409b03a7a8db511bad0951896db949fcc28870f9d17314734ca6a3472683d02fdc8defa7b9d3762ae9357ca2a6ab623b046350fa211d5213787127d2711cbd91405abbe50d +X = 161fff26a7b9d7ddc15237edbab3c1f99b7294c70feb96f962df8973 +Y = 4b52c56fc64922ac04ee7a80fc5c224013e2ffdaa167381257e00c597b433641ceadbc9b16568bbc9c6d31d02c8e36db2e3987520ce8590856bd4a841b725ec95a4659a61a0086f66a6bfdbf1e4bf92b441928cf319f929a6428f5e3ba7c89123dbb0cacc16bb0e2b80854b0f60dfaa99f9c4caa412c443a073b7a51259125f012d98f0f6699d70ade66df9c5e18185672e0e2830e0585413da2956c89d2320faac03aaa83fe718a0d6cf7feb38a194e4362d7c89e4a13967e3a2d4493f4ec09ac2fc89d56a595472e60332448548d91cd6aac84a2f9b4d7a80462dc154779be5f9e1f709b9d9a156273033fe6e4842ec47521964d2e2fe262280fddec6403e8 +K = 7cbe0c1c29b955fa1fdafcab79c02177c15ec5789a4dd53a6ad29ce8 +R = 0c4d4527815a94bc2d77063ea69049be6a2b3b3a3a0badd5e62a8f9a +S = 5787ced7081fad3fe19ab5b9028e9e8df18639e4991ab6e1e243416e + +Msg = 30eedc9d630b632082c196b969d24f6eb9cf1b1e2c53d244e8d8b50a40982ab53c4d57ff995fa8458908a743890382da6513cfe9c1991824873615a8a16374a5e5dc2fab3f5cd25652ec8aa3939f4884f74ac737989b6ac2e43f45b885206a31e797fd8576357e4b4baa566291815dac2f546f4abf8ba1de1120fd804284e959 +X = 0209c00edad10594f7cd7878472169d512a7e8dc3fc1cd69285e69d5 +Y = 8920f6ab95b1dc6b93e08ead6b08141cc2a8f1ffbb71d5ec5964f6b2c3d72ff3adade52254370f130990b43487775c2fe017a8200d8119818a15ed7e5636bfbf3164042f27bb1ea418698b6756f75a8fdaebf0f6e5423e460287f4fdd2a0ef305e658741373d3baecce79063962f883398c314e36230ba8c570e667c30cac8fbaa4e70202a9157d22708ca605403066d0fc84845bce9b8c3b41ec32f40c845a532fdff4dd10cf62a714121ea8a6188500645afa9316fb3e11628b163d35d8cfcc55272b650e8072c237645600150bbb66d393c1c97345d5820f178dd405b5d46fc4ac8a5f3929e6b1627944093178a8d65101059fbbbb7081174f2308b2653ce +K = 36454e085b6b3dcc7c755b65ff46697b099485abd6ceb00cbf5dceed +R = 45212d1c8c128002fcb3ce35583ff8d08363711c1598307d9ec6a108 +S = 4858105649db5992764dd32b102d9b9d2bc6af64c6a81595611e3e20 + +[mod = L=2048, N=224, SHA-512] + +P = bfebd000b2d6cd4ab38efba35df334df721d6c2f2b3d956679cbad009f3dfbd002952cc899cc2356ec8769bd3d1ba5a73023729888da92ca48a5ee94c97f4f04a2e3acb4f33a2f0fb3783c31f2c70fa7c70f38214a27dadec8b12e67996a9e85ee3bb148803130147392dc5253c04d7063535e6cd646bfb186984e08b58b74a7be5b333bf32b0abfd5665360e9a923a0c528ff1c62c7253458f5678528719d436e50148741f45dc7dd2c6cac71c55231f12a83fefd2ed0a33ede1b8a51f566fcf7890682cdc1931dc207c92bf2ef4e28ab31661eeb77f1601eea941c9591f038d3f00d912857db05e64b2ad569320061c6f863ff3354d842e7e7ea715afef8d1 +Q = aa986df8a064278e9363316a9830bcfa490656faa6d5daa817d87949 +G = 8195ad9a478fd985216ee58368366d2edd13c12b3d62239169fa042d91156408b483122f44ed6236b8308a6cdb52f9af3de88ec89e039afad7da3aa66c1976049a8e0a7d18d567baf99fcefe315cada01548386b10b25e52f52ed78eb4d28082e5e1ffee9480c4fe2cc4aafd1efc9d4fd2cc6d155968931271ef15b3240e7fb043a80c8f628befe09d645077c1029d21e0ac8bf0ba9c27714d1b580ede594aa01b3b76f6e745fc1ec07db37e2fd7e98c6c8c6915228e422c309de9f5db168f50249d1be1ed3298090808e2ebb896bb79b8c4cbf94d4c2064e37e612ba4449d7ac210edde211416d64b051dd8046ab041732665411a7f154d31b3e11a51da7fc0 + +Msg = e9f59c6a5cbe8f5b0cf75008d06a076a6739bdddb39b82143cd03939aa4738a287c2a6f31829bbe15f02cc2ee7d7122dbd132825970daddd8a4d851da86e7edc8940cb1188319218b8e0248a103eae34bc68d85f5a32830d7e5dc7718f74db5e4224c0debe1e841e1eea1a88fee0f85d9fb087cbcee55f86037a646e38346d2b +X = 6a5b4ffc44238d1852fb9b74e4c1661be85984043cfeee023f57cac6 +Y = af6721bf75dec6a1b76ad35ca3750def31117c5b441c15a306835a1db74c003b86ae9099ebfb745b0aa9cb000cf43fb021513b8f197bc865b22bf949b491809ad752ffc1ca8e54bea16dc7f539e4c55fb70a7743dd28f262f60ef0f2fcaac29e8021a7938c18ffe03075d0b7e0a2b4dcabe46ed1953d33e37f113af519ab0bf0b6186c12b5f6488437f5193096e2fd6a6a1835604794c66b42ae5265c1cf1cb53ae84997975e0318a93ce41e3902e4ef54de3c56555bd19491acd53f3e57464e1f460389dbc5fa80648fa5a5a0f2956e9ec3b8dc441b535c641c362eed770da828649bfd146472b0f46a4c064e459f88bff90dede7ec56177a9a71d167948712 +K = 9ced89ea5050982222830efef26e7394f5ab7d837d4549962d285fae +R = 9da9966500de9d3b6b7f441ca550233fc450944bc507e01cd4acb030 +S = 2d72f1f6681e867f7d8beaebeba4bc5b23287604a64cfee1c164595a + +Msg = 971d16d111c96de0f7098b256af213f4475aef31007e12e2974c5f64b2f335e0183c196c33d50f6445c5f614649549770b1874dd0756a9a8e39971dfecc3f267ebcc1f5301703f88743b0f376482cfc06d5948bd7926d96ec4d731a44b0c0eee5e85da26687265de5a66cb1a73a7e4f3236f60647bee5c163340e19505577cf6 +X = 9053ec8ab1f9700c2ab59259bf2e07892904f03c844cd58a7ff59c79 +Y = 290517297e4249fc3212bad67269e032818d760b0ee0525dc5a17c97116ee29eb3b450b41d15cea405d5e983a8558184067f424acc498676415e17506a351c124b5404f1d17153272619df713ce34d03f1f9ee28592f22f829a31993b106c785fa6dbe57d0049c815db5ee2dfe948ddedd1a5e2cd2346cf2f66f04fbad619cd983a1b069b471ef9adb4df6ceaea23d09f0a548c3c7209634c8a05e5897445906dea08a52e4074be22d8485f20eaaeadbaab397199b067aa860056991ee088480b4921267a698a8f7a03777f56bac84e50903e88d07261f24d0a4f317128e01fe8a9224f12293949cb6c3f095afd19aecb16b209a99487dcc2a1b83c49d75e351 +K = 901632e0b8ffea7efebe2fc9ea0d1a52442817fe1e1b5455bd39a687 +R = 1f44f6eac218236a1d99cf7625abcf5c964b0a0c5d88b8d05d74a3c0 +S = 71015cbe8622d2a34fbb5e7cca8c59e828adee71f50524482d9e7904 + +Msg = 08ea09fa5efde215bd8b3c4d6a9c90ee9387ffb7bd65becdb88b40132c6384106aa619b7c66ca92034d284608593864ce6b92877112aa139240cb44b388fe68a8fe0501ca584f6a2de27c0fb658e72bb13fddb8d039a6bf85d63a6c073b2668013ce8fe589a0150e46d5b1d9b0cbb5a14c100ae4b20d6ce81a987a50a949f434 +X = a2cdf2515cb098559fa13cb70b6a897e89df120a971064bb377988ee +Y = b3e2b7e0641721d69616679596cc75091fade2da0558e310b8d14db0f4686f1fed48d0fb7f0b3b27bf6e1981eafa7737a3e651828d1fcbf88387d06f78404a7afaeaaf8fae1893bea3a09a118893937ae2a8fdef3320942a158463de4fddc11987f23fee9633e06ac239c06610bc45319abafe517ce4aeae6247ea789d7da60d3eeddfdc4b232b4d7a069bcc0eac7b99fc088fb7ec1946034a98d7e69cab0cb2b06b3d9deacd1b433ebe94f547a322895cca9b0ed319b1d458c3bfb260beb641a5345dbe3d01ce800ec2c6bd430ce3e3f5f78fcabf91a29658661c573b9f6fd3812e560d888b6cdf3d57673c1630e00ca841ee994958b250dafbc3e83bcb8be5 +K = 077b3adce42ba0622772eaaa8cabd16107c92f7a134c715a4dda5ebd +R = 6c03637d253a8dcd0907d6de93926bdb3e1ea3135a709da2309a8da6 +S = 236e5163f2c2ebe0eccdbd3351e4285531a4f53e45284e41db37e266 + +Msg = 957cef163b16d8073d5d3fe158fa0c7338bd107c6a653cb0f11ebe41402607b822abe30e36ca9ee4c9de00cf72db97f57d78f3db49a8e1093285563c68b0f4e124830b9febfa3e75ce2ea59cba2cc6d71e908b5e6d8f463954922b82bb55a69fb2ff143ffcae6b5656143c8b6cc24f57b17cfb020f6e15bdc5f25436d07b7f8a +X = 15ea86b973ef146f03cc701b17b589b0ffdd318b64827d49ee3c0044 +Y = 3fcb8e44d6880f9eebaedfb75994605c9ec001f0595aeb5f2bcaf6b3987bc28a7ca905e1fed7e3c715401b5c608d12076938a18013473d8a433277fd9ce5a5cae038281e768ff909aebe4d257dcb5d93488022d07d4c2862afb2bf8a2b1e974a8e7b6e176b1b0b7ad6f63bda1b7142e46f504dcccca7d1e2e7662758f760e624e59528c5a0c9563ed517c691fba2abf66899241178223ba20013ed0ab21f91f3e6bef755c8100c51ee947b7a9ba38570f880b5e42f24b72d5321132e031b985a0db825bf3bb00a7771a03007387e03ce020fc358e65ed3de8d847f5be60720917c0616a450aa341ae00abe0a809c38e97314f303fe9b0c6cde446d0217cc4eab +K = 9af96c995f0b7b8283e2ea288e3c3a6f751a56b38041297e2bc34cd7 +R = 150362da792701694e23f0b0a9b7035437cc8f4faa45c6df8f7982fb +S = 6df4321c61738743a9fe78ec76b4952692aaa372d1c8530fba0fcdec + +Msg = 204d9cde24a2f0de02aff020f6363fd68f70420dc1a9b5138216201363f832da0aa801865a75a243427d9d6c78dc5e6041b27d033660e1e405abe1be27c909994bd6fb57180c3d6b498ce8793bee8ecf51e06b96411d00996209f44a380926c7b195e84e78f01fe02e0bc7032ca462a5182683475222f9dd8f3ade1ab8fea318 +X = 524a63cc5acada8557609a5f0d88fd3e9c6e63719704cd8bab8fe301 +Y = 99b8fc6e64cce262ed741c30cd586986aa2e8f6371b848a2617c619897de23726bb54536ece4b460cc7f1f39e0c184eb19291e930dc9140e4b7735541eeef8ca8ebc81790fed37a5f08e9da9abc66a3a2e909902a4212106927d08abec01f27c6056b6e0381150bd742d409f6810fa5818ffcb3f182adf894ba7f80678ce883c1089a6ae71db3a115c386dd9153f4191fc365461ac86838ecf2f3f81ccf283297a6fbc644f52aae664901ae30c96fe4df930cf1a41757241cc4d9adfccdd9a6bd5004b05757443598856400dd771dc089095c7dcde82f721f986af636638eea2c71770856c2ba80315e8696142a11e51ebd7559e9da6a00be3f9f38c614ef207 +K = 028091483753f5643b61e4093a7e0a5135d71c5fa318d6e8bb0efc66 +R = 9c023331751c79d5da355bb58e2bbe2e973e3e4b4f52743ce1f1eec2 +S = 96ad0e8ca90627fb7ac4540c9b58a016ee6c4e0a6f0aa1e7def81a51 + +Msg = 1e4e58afb34c5d6f645a82645be358a2e228cc7b9c23dd7f3aa79595814d054b923b9cbc6c9e6c6f94848c1a4d215679023a96976a44e9b59136241fdf26f8f71fe5a9bf366e4912b5931e1c8f63c37fae2bf1d55ba3943a650bb463cded9a7b062ae55aa57d9c5ceed323fd9a7555e48b834d3ad4441c35d9e07c7c6e4d5d0f +X = 33b25c6bbbf816addad05e48b72ca560c5191214d903a978b6708a30 +Y = b4dea0d5b671cc815382d0ec6dce661c30ff93719dc7f56e7e61df6eb6a3207a05617938c874bc3ab093bcdbbc983a4b0b587d60fdeb7b87f7b0be4a656883f5443ca7864541ccbfe0d0835636ef08a936b2321a51503be1eec5f7bccd0c73c9cd52397cc214318b30e8be1eab57200a4d4df78af991bde183e0164e694d8308b7d20d067bfcabdcb50f7a2c190c66ce3dd0e18960939cb57fc3a2e5a604f3d9bd6fa440d54e9cc0383958a0d6aa2ab670970f9b2caf866ee507067343f7513e0a981f3a344f2f753af44fda26d661796032bda0f6cc30a9a789db8d3d546f02f898116805180c6f0d2f5388ab5110a521077d88d214fbb32eed2664406cde9b +K = 989d87703853c4133b6d273686bf672492e90ce2a91b3c72a4188a1c +R = 0434ef1c127207d0c884701e75d801725c451ce67d2e71534638b231 +S = 0c625e4a334db07825a46b55da9c2e8a5f600a36b71606834097e777 + +Msg = 5a470a38b2ebbead08e010efef7461f6f859257d91a61e2f0ba809e28c0ea3d410e4f41477a398d593df58039c4336260ea7d8e98c9d7daad0c31ecd1567c7db730179e2a9a62007bd56f9d9da48deaa657ac92293e5bfafbdebad1afe25c41e1aa09db61fcc191971c37549155b3e67956913aae3a5f6245cfcb9aad5dc1e15 +X = 13411c1a6fe0063e7f9b2467ccebf2be5cf30e742f9a35d715558ba7 +Y = 06a20d5571296eeb87e79eb274036d819e8623b15de44c2697dadecab2996f51a75aa088490e683f34d5e0e71d9fb8734bcfb71e9d19cbda3caca5cec417fa37a06142bfc0682de56f0dce6e826ee9f30d01279859d3ffbd4433bf4a1057ba0ad75060d41f968f6da822c33cbda9f772c2b77bc1b29305cb697182c0d39b132868932c64016bc9071b30920eb385c5ae41c5d4f631bf5f54b1eb4b373bb3e0bf6e448ad8c988fea16e643790307b8b85f009fb67317217d9148c6cd7a46136eece1950a119e5a416a197e00d0e929b04a5bbf6c988d8595a0b2a5ca71926ba351a5f7674af4183b5a68979bedd6491295b0f172e7373eca7e62d78d744fdccec +K = 7406254d3cfe3d55267236ff63b0f42b2e3b55d1cee7ed1ca3f06ce0 +R = 74dddfa35b25d0c0b285a5d21719ee39d6e3f443445ceb90556b0186 +S = 474865d3ef07f5df49e0a6ebfb5ab5c2ede47c4c6314be4ccf455e21 + +Msg = 0849d67ead3e8c44ad3b2f949be1cd9f9a4bf8b5785bd00ca66038e9a8b93727a652a415c1d8a1ecfcad77782d87d912623c2fef45b2083ec0f79a264ef7c5bfb76fde5b22b9845392e759a1ec05fa6387ccd2943ef1277c2e060337f82aa562cee5bd7c158258f2e779d51e47e000a7b0706077490976a07763e2efb275b5bf +X = 5631c7dfd3f5adc0b7b542a8d121a07bb8251b6a1bf3a8cba771c724 +Y = b1c61442d8aedae0a04daef7b6f8a49c6d07bd958e8ec561906ddf31f3b4ffd481da5443fe8788056c4ea7b5dfa2cee6474e3fdc83fc043a2bba333d503a2a938865ec3f118640e8457c7d974e2a65659cef5b7ae4f49a054d94ae5e2eb6345f5bdaf92148beecc109c55031fccd90cef88213b69ddb754b40ca8d8f0a4bfc81a287637a38c21807f727a67025ff67b7fcc54418adad408a5c7d1ce05a1de7e30988d560e779fdea1b78753314b0b80fdacb6246faa4b4c4ee8acc5ae24b82312040134cd8cc2fd4fcb191fe43f64d140624a8c6c2ac5fa4bfdba5d625d7d21e3c3f6acd8a153a04fb22f8d3b244ae8c6a1dd0e6e3b2f73c064ffabfad6cc461 +K = 9c353ace0ae52501bbb98a2d1c9e28f3a833c2b0eaca49cd12c57ec7 +R = 2aeb7fce1b7764d32cfb7d85254ceed9f3a6337ee8dab42c8ab7a415 +S = 17cce13bcb917cdbefe0c566318fc974204b700c5cddc5b2b499a78e + +Msg = e74639f2bad42fd6393f9b350d6e19cd4c1ce0f41e8c902684ef6f86790ffc8311acd9b57d6521e80339b3243f6ec6b01a06ea899fd75da91e1080fdf06129dd851a895d74b1efb9837289c11d68e1308c47bb8c59d5eb895db53bba29102a5b48b1e75c73387ff22e6c0461196a7d48615ffdb9c8ff4ec6587b4f68d260ad86 +X = 7319bdf79a4c8dbc115e3780c818f6e2a3243ab47263e84ba259bd3d +Y = 9e1b77243aba0886f9baeca6c11bd2c5c55547cc502e731d9c4725da8777ab6050e3399e25577704cfc66163f6df8d749142a7e974e49b7315ab7c8b85ad5d5cb271cf207eb72e1c3476b0d863721c967be15ecbfbf06eadc27de338eaa3cac1dde642d52aa5359198d8909d23d87d827090a8ada7b7a5553642d586603ea2464dabd2ef5e18db3a623be65be7b5a469890f9dde54a27ca723b4e05d56b7181b28d5c1f65415688ee41d5337a9952d92ede4d192b9091639caaa6033e4749418dde15abe4bad62c37fab05e3bef4cd7398a4977e07e121fef2aac56be7e0546e40fca885696a3850c9a28709e699d52611c9b7926e7ad18149040582c997db71 +K = 6defbce0e72f014526c8ab02c6fc320a4bbd85365d99fc5d3423fa4c +R = 515b9ce53eb10c3e47890556e0f0fd19adb207b9c01f12ef5c6caaad +S = 0900e3acc4c378bdfe9cda4db8f8ab54436931c73d8d3171c6dc8bb8 + +Msg = 4a145dd5cc4a12ea43617ec9790f1038190ed3d8af24bbec14da3ecf5f387ca9764a8b9cbc5f6292a53a9da9533c751140f8da5fb6f3d48eba1e7b98662734d9a8b120dd515408ba756f75a5755212764ad92c3f2263835211add5b4cc0eca8d4fc7a843f49c38ce80868faf8b498fb414d3080ed41e3674e285d3e40d62f305 +X = 7944fa1a2a938ffabb234ca385916e01a89220cd16f06a474b9d4ac4 +Y = b3f6d44da86a515d7185b70c5adaa3f6059c0bb7995a53910761fea362d9843f92f2271ddb0bca0d4519e33fdb13af49d855cd0b9ab0b970267243e468d3c41677ac588fdfcb1cb9aa4d233f7ae017e67094f4f4d904e1575e76bdc6bd8299b42a2f39adef63ce047862aaa0bb8ba32ec2733493648406f54f5d8e2eb19eea837f4d5963ad3192917f5fe3b6d027b22bc1bf0dce8401d622ca72b1d73a89e888de1e62bead2e4e1da6b5d04b2a3694c76fe07ad3c66426343d67be12b2a72c3f76225573fc054f3b7d735915238d7bdbcb03ba6dde3edc00f8c983b0b50129fab426004a27a038139f2d3295b5b032701face34a7523559485fa631c219237f6 +K = 8ab9322319a138489eb773f3220d712d05cd14eed9aae402a8aa767b +R = 5cfd4b9f92ca727d513ac14143b125148655f1642c53b73cc25131c9 +S = 2adef94aae372d579c99629ca0786362cb0247aa6d99957074cd7d43 + +Msg = 428a20790cad1c7ba82118ae5841bd5380ee50be5b64b8040935ef3d6da37a26e6f02035fb1937c7a6bcd88c894fad7d8aa48abb89e0c64287cdc637454db89eaf0a7e692734c8a243856dd75690bdcefe554e39a0df84e6e0c96b2c5774a3e4e2afed028fb43d7998d3cdc9a6409322cf3bfa4d1e36f5e707203b59c49a753e +X = 43dea1b4e5c2f22548074d7dddbdcb94a235a3dbbfdb7b3bfc5923d3 +Y = 47a9340ac513585c83bb20a2fba946971811184fd20065fb95cbb20625b47b216f75e1f3d89797f540a0485cfbf07b1716a3ece7027d86f4940ab90bbfdd8ebf15137bcf8805f93cea259c4bea5a2d3bb3dddf83aa290d3573e91aa300bbf1afb9b525542d67a8d86051aed8ff8a2cfc225a9e51eb374c31fe103ae8f4a0c8911421d225c019e1b5c07dc149babc26b708fc0fc0c13c3b35390317c409faae81aac9ab5d01ce85add24917d94cd1b2141b638de3a253bfca6b7f1a8104518d1572211ba52dd175632c8f3f6748265a4bf6c2b8363d9810ba1f1e584794f62319f0451da831d457b5269bbe67784c474ffff692bbe2baaca32d3f85f4fe39e03f +K = 5615520867828ae7dbc8e9b116e7661e18f09e5cdae17518ead1484f +R = 8a96c419e0f391daa29fb162a1b9570f48a00810aa480cde0f27cfb0 +S = 028ed9165522fc59aeeb79c491a95ed8427fd1b695f3dedf4228a328 + +Msg = 2a07e28fc102dfe17c79b9368e0ba92414d2fcb407d34e903a0a53370f7d2d33aa13c02e527587718c3b39666125eca2e8fd4c94b9867fb6ef16d555549d8dd0f6e10417ebecf48f992ad84b5d9774540785ddcd264c55796bc2162898ecef4027c34187f8c0b1c20d4daa108b70d76c40ddbebc1e0f50f4dc904dbfbe6beb9d +X = 5f4f3c4f95efb91c6b49f43afbde6d0f9b5a1324b4926f3276bc913e +Y = 05f27ec035627860c31aa597c96837084605f270d15a3fbbdda1c3853db2ea6f6c9de4e11a6fbd773c300ebad0f9dbc33608f9c4c5cedede0c26791cbea35af0322a607739e97c3242f0ae7d36afe269aae64b5fb2db265cd756ced45d888eaab0465e509ab7f83d623f69e73cdc0c7670675ce0c29f49a19d7038623bde36e29fb854e6fe6ffdb916abb7d61fab4b620dc739a5cbd9608a45e86c2bbfb41b8699166822e832bb6cac66e004e93d190b951424edaf34bf6bd343bf60154f739c43562b03aeb4d23de1f76c18f74b5f7a73c805b22af8cc6bdc9b55779ccf6d441cfd3154616cda18807a9f5e2d7659e9e21329755157dabc622bd1ae2d5097c6 +K = 97861b777e2a8cffc4c2d24e2df9eedf0b65ea2c9373c1085ba44efb +R = 91a4576931ed621a0342f14ee2ba8fa8e1bbdf894c1251afdf72146f +S = 56755ca163f7dc89458a7a75d4dd3ce3adec42b4aa7d04b2858c47f6 + +Msg = 7e96385816c97bd9de81de30e67db72436fb42faa9b6ccfeab1fa528c69e6351b2012a1097fb86d8c5cc60256ef11be18f16137617f8cdd29e3bab9468c12ae34336ba0e0eb6c828177d1d55b06698ddf753756af830a10ce9c99f1d13682668e3eb336a80618e666280096417c1e2b005b9351f5ea306b8c63fd184a59132b5 +X = 914e5d6d95ec12443f73c127b797229544971177f645b8dac5f6911d +Y = 2b69bf21bf689a1f5ed7096b27e447c1d52fc2473e9e4353dbf185632022fc605cefe5489102f7cbe984f00c1ab32f2def1a84f1bedddbc15f87aed0a2b1e912e9edd74edbe2c15a4c37533014b9d32b05f5a44d323def1cebae0e216bc35a1ca8a4265c3db5574eb23e17f1838e225e467a9426e8798c5a2e896536c48c4e24cd2ee9da1b61aed2e25b98e4c1f4ee55e0b4705feb2bb1694cb18a6414bcdc1a7489b4bf8967985489316b3e57ea281204ced3ed88ad1b207be7d294127bca86a9b861ccca192c15c815e2328cbdaa5899c9dd271fcd6eea0d2ab009a8ba001e6725139be26c5151875cdca7f91434443b9e5e47a45cdc8b7399bc5e8bed9300 +K = 7d00160fa1ebb10b0465321748eba9ca6e1b3b5216c0c51dc34b98f7 +R = 1bcaa2caf483abc80b75f670252faa2a8e18c32301ba6fc06f37c08e +S = 909a7852b8d5c8813e17c040779ad0dc5e9e0556612056835e68d2b8 + +Msg = 24ed7a16782b5c34beb58bab6a7d2028719f9738e5d1ba6978efac4b53b37c88e7ea02e0cf0fd82a3e50046052a9049541d12993254a46fe401f402d38943e94918bf7a6fecb08ed1309b7b0f2185967ef289a2efa6c2e37a74d6592a2eb7401ca5e98bb8645a94e57499d362e0f3133ef336e119561cee1b558c15508781868 +X = 3a42f9927b4eb39ee3a910e4418987d1af1ffc1f3d5df0c4920e05d0 +Y = 9dccc137197bb29824b1c10e9e8dedd714efc936cff83f42634d64391f9b7f4fc3a231954a8c3bfe4ae0f82225fd52b5dde6dcd14c0ce5085971c515da38183427c7e2a8d76e40efb671af797e0c576e3881d434ca809dd553ccb0f7cd9f73c7aea2268f36c84170ab0ae03b2b46a219547564fd21c540b1603ad7306d22a9eb8ef37ca08c2b28d16c5b9c54a328ebb3c0f9505095c612270d52637cb5584ed08bad7138d3388c634b6502fa6473a2f594040b9acc1480b343d2287fdc70d16ba14b1c2117612dcc5860dbef8387af9aa5e1621d37a38f6cbe5935673ea3cbcde4f32a249eb6a5eed41cfdcaa4c87e8bcabaa6bd1fe5a879d17e9ae35837ce0f +K = 23dda49474ec6cd13e1b0249ab24f50e9d69e40c6b5c07430780c44f +R = 5f4f5449b8d0dda3ac590ba1640df9772ff08cec08528bc2d70d7ac9 +S = 5bea04bfd33248f26aee98ca8596774e95ce685465174d1caed7d920 + +Msg = 4906dbdd9da6ddffa152fa2e250eead3c6ef708387a3ad64d34a0e057459471f48752fde0786db28a4bbf58114d8dc91b69e56be3c49ec1b9880d9917c73abc895754a60779b18bc951550b957a77c8cefa159908126cc801c665d1b01109ba604bb9e797c7a37660bfc0593bab0924df5806ca803381b24b03de3d03b484d49 +X = 0c53e5311c104f11f6eba646e4840d1960a92118204a49e3ec8ddec4 +Y = 072cb5612596aa716142f5f756c9542013f3f1628cfc5497eb1ba0aa51bd5adb8eb8adfe059c0e0882e3c09a17d1f51accb687b243fd3052bbcb81b063c1e7d5be066587ebca078006f6d6ee71a69ef59b6365cbcf64d4cf1b9299e7403009272026fc1665ed403ab8dee40eea4ee7d562af001951926dc8bf0c783984664ffef629cb59d709b3d9aa06805d62afd794541a2b4ce0c59043acf73e18e74453e86a082f17914ba6b2b0fa80da8353c7ed9162609575ed41f8eb78dbafaa7b518de0c85b1720e7f493b914d5a3d2d0748273d169d55c45556bcae670575c96a444fc1d789f5bacfc8b24132bfbd75b3061fbacf2935a219b0f2ac5dcad718516a9 +K = 3523465a8417b3a05ba1032bf6c42511591f2830b55144f9662bf6c9 +R = 77475900fc7f3e0b80f3884af8604eef60ffe484bc6cd3de123f7959 +S = 26ca927da0d10b43dc1521bfeb58ff347ee143fc38db451c11a03510 + +[mod = L=2048, N=256, SHA-1] + +P = c1a59d215573949e0b20a974c2edf2e3137ff2463062f75f1d13df12aba1076bb2d013402b60af6c187fb0fa362167c976c2617c726f9077f09e18c11b60f65008825bd6c02a1f57d3eb0ad41cd547de43d87f2525f971d42b306506e7ca03be63b35f4ada172d0a06924440a14250d7822ac2d5aeafed4619e79d4158a7d5eb2d9f023db181a8f094b2c6cb87cb8535416ac19813f07144660c557745f44a01c6b1029092c129b0d27183e82c5a21a80177ee7476eb95c466fb472bd3d2dc286ce25847e93cbfa9ad39cc57035d0c7b64b926a9c7f5a7b2bc5abcbfbdc0b0e3fede3c1e02c44afc8aefc7957da07a0e5fd12339db8667616f62286df80d58ab +Q = 8000000000000000000000001bd62c65e8b87c89797f8f0cbfa55e4a6810e2c7 +G = aea5878740f1424d3c6ea9c6b4799615d2749298a17e26207f76cef340ddd390e1b1ad6b6c0010ad015a103342ddd452cac024b36e42d9b8ed52fafae7a1d3ce9e4b21f910d1356eb163a3e5a8184c781bf14492afa2e4b0a56d8884fd01a628b9662739c42e5c5795ade2f5f27e6de1d963917ce8806fc40d021cd87aa3aa3a9e4f0c2c4c45d2959b2578b2fb1a2229c37e181059b9d5e7b7862fa82e2377a49ed0f9dca820a5814079dd6610714efaf8b0cc683d8e72e4c884e6f9d4946b3e8d4cbb92adbbe7d4c47cc30be7f8c37ca81883a1aac6860059ff4640a29ccae73de20b12e63b00a88b2ee9ba94b75eb40a656e15d9ec83731c85d0effcb9ef9f + +Msg = de3605dbefde353cbe05e0d6098647b6d041460dfd4c000312be1afe7551fd3b93fed76a9763c34e004564b8f7dcacbd99e85030632c94e9b0a032046523b7aacdf934a2dbbdcfceefe66b4e3d1cb29e994ff3a4648a8edd9d58ed71f12399d90624789c4e0eebb0fbd5080f7d730f875a1f290749334cb405e9fd2ae1b4ed65 +X = 5a42e77248358f06ae980a2c64f6a22bea2bf7b4fc0015745053c432b7132a67 +Y = 880e17c4ae8141750609d8251c0bbd7acf6d0b460ed3688e9a5f990e6c4b5b00875da750e0228a04102a35f57e74b8d2f9b6950f0d1db8d302c5c90a5b8786a82c68ff5b17a57a758496c5f8053e4484a253d9942204d9a1109f4bd2a3ec311a60cf69c685b586d986f565d33dbf5aab7091e31aa4102c4f4b53fbf872d700156465b6c075e7f778471a23502dc0fee41b271c837a1c26691699f3550d060a331099f64837cddec69caebf51bf4ec9f36f2a220fe773cb4d3c02d0446ddd46133532ef1c3c69d432e303502bd05a75279a7809a742ac4a7872b07f1908654049419350e37a95f2ef33361d8d8736d4083dc14c0bb972e14d4c7b97f3ddfccaef +K = 2cb9c1d617e127a4770d0a946fb947c5100ed0ca59454ea80479f6885ec10534 +R = 363e01c564f380a27d7d23b207af3f961d48fc0995487f60052775d724ab3d10 +S = 4916d91b2927294e429d537c06dd2463d1845018cca2873e90a6c837b445fdde + +Msg = 49707b655b6d168c70baede03866b0fba60239ad4cf82f53b46e11b26fa8f6276ff6687d09e8ed1e5d963c11e4763b2e59a0927f01e8fffd1894a6262327c84bbb4298d7d7fbca660673128bb7dea46178146485539f9a8f88dac761d0d5d45cb557cdac960be23dd9199acd99cb64d1fee2ca68e423461a02abb34c1dc45011 +X = 62177a5b2f0b44352f643a9e69c1adb4a0b292a5ea52fa8065e94ad043d46218 +Y = 385349ecf99ce783d4e7a80a7dd2c533a3623c38260243ac392d4eab6deda5b79b8f9167922e8b60468623e4603fa7681f535e20de673531255e108f542a26d5c87f19e063372d142869c5eef1325281fee7f1c74d2a96255d420f2713864d55d36f8139194f643a6e98b5bf9732c8597445af5a71e23e2ac5cae3604323f7bf09449786974ed53a5717f9aec14dd01bd1cf276bf3c63dec43c3ec8ea6557de469916412f0456c90f01291bb7125e9f855f455b360c03d4a7b4a8d4090e47aaf1111f382dd2605734fb54f4b8ffe23c9ded2900b3121b497bd46d0458a09a5df4aa9cf1be906f5542313384f93d377ba9e0a762b4793403b914e52865afabb67 +K = 2bae4225836dcbbcad976ed47ecb5f3fc05439358791be244e74d2cf0617fc26 +R = 0fdc5a5a4a2c2f3df50c868383ba800396ae25265be1a14762d3110cbeb34819 +S = 4b41841cad45fedea5aad0a16b053e88353b6f0102df74c9fce09e38f5e6c277 + +Msg = 763c1f15c5dd8a93aac4e048651c4ea84af18aee255b56959eaeb1876699be75271af0da6c3ca936e99be4ff4436410f69ae7018b6c843dce9d8b71a91efa53c39be55f285fb8ad8543952fd3ca89271ec23d342cfd557bfb72db43b434d0ed5b30763037754bb0f782ab08235a64abb7f0a828f892cde7e05e301da7c21c096 +X = 5d169761a3887a9eca0f7e59d77b75671ae02210006e754bf2f12091fc3275b0 +Y = 0becd917eed0be9cb58ff9d259a8fa415b816da4a25d3f569d7b9f317b3f47e4244cdef35796fb455c05c156452f1c8660f5346fba169276221446f82bbb2027b056b537cfd59c57299166a6f20871c74e6c1d3f5a37b75e8dad6cadcf12c909586a32f150c68e332306abef8be1abd56c42d3c36936cf8f2acaceb707994a3d4c0555a015de892037aac68e33813bf3050f0f3a8df5e81465852f6a195ea688ac5d258eee2076a6b236362e3d792e7f358c6ba994da7a64b18263969655473aaa37cb3cfb00a27f8fb24a4b73b025c96335438484e958ad0848277df950847d46a9874f1039fbea7e08bc79675ef1df6ef21230a79a3b161308a0a4600b5347 +K = 66011bdefe8cc4a04fbd5d69252bb72da8f9a8d6e00bb7ca75719133ecd86f1d +R = 76e9b6ef7e8d48fbfc43bf465281592223fa7e0d9978392d355868c8a20209bb +S = 7f9c8deab51c60bb6f866c76450138e0d2946aca6c5f88dfe35a0c1ba493ee47 + +Msg = 67851de982fc70f969d82f65d85b0332d667114f27b58bb9e565d2e40ad011983d936049cc97a216260fa2e410ad6d6c98a548759aa8e2d022c1fbc1b16b10d83fbbbd126ec43d5fedc407c831461c7f33ed94740031ecd0f701c7b1df88a249265b3f60c38f4285bbc9bae164bc38e162c235c9a9dfc1b150eaeb1482ebed48 +X = 4f3e2c5901b656118d88a47fe2bd52f85cbf828dbf9b67365e2013a937f0f2d9 +Y = ab9a99ff87899bd6657b3a9e9b7206996bbc7799dde57dcfff8098875dc4650d791e90bc4cee10989bf49eb5e6230857f96841ae8362e4ee5cc8602f6a1a2c6f8f2f680ad3a72b0e07511ead301f575278a074138aa4eaa53919e34f001cbe2dcbc345c77f5687d071981a4dca29d026bb53ec9cf03a88d63c52206d351f8fca10239e84f4915ce347f48d650aaaa6b02d3164973f82fc0e0f83a2d458af65736d7e0dbb264fd779ffd5a3f066584494598526cd67e12d6c67965a70ec3f09e2cc447f177ec87604b531486683025e3b520a26e69c958cf8435f7c6ce564f0a72d1fc47205a50b39d516b14a476f6c2dcace50339cae20cd3421a75f6d377b8b +K = 72bd0808076af461353d98cb0191ec76a7c04fbe3a7f793e390cc773434c1d4f +R = 763e89fc8b2a090b75812aefa55de7b7cd61ec3fdf8730ce16b05a7b9456fd2d +S = 4a97086b6717a73a6be6d4a95b8343bd20b0d7b51c3da1d86c5852350871379b + +Msg = 616de9dd23ebede428e032db7838108a224f7aca57b1df87f031fe1d86083d688c5c3ef078e64d8d5a9e612d3983460ca1f816f787c03ca43a1fd8ce138655df677056364c0eab8e0493c07bd4b2b05022190932de794f195dbef297093e7da1c4304db40b63ca53e1b8bcdad913d7a902af025c367c48de387f1a9bcd7ca42e +X = 4d0240a34dd45aacaab9e24e4838223ccb759f1d93fa8791f28fc7c2e8318820 +Y = 584eaeed2dc785d8e2b8c85fd0e5ec251f134958bd9eeae4f79f862b62cf602ab10d22eca499042f2c875f2708ba0d697af39f23f5e0b7de4ff7964bab1279efa2aa797a2d21e788d249f42693cdbfd71fdcb1aa93b79bac0dbcb587bbff4ef15a3799a5fca8b1589838e30096069ca7931f7408815b585d140a747de43bd92cac3f9a9b1862fd704673e1e58710c16ddbe7e52d31a7df15974958b1288116ed98ff247f5028cec86d9eb97b126a48adc952e90dc52f2bd7810355aa9075051f26129c2d2fb0ba8066e414989d92e29e689960e33ee56ca62d714a42cb7487f70c0c0ba643fa9dd5f85259fdecd49fa970c8322682b114f2647837637abc0ed2 +K = 325e19d8b7ee8c8d9cb7e70bb5417035a8183bdf73149a45f0e83f3af68decc0 +R = 748f466b7fdcdfa77017c865a33b1dad4db99dbd63efa1c87345c4833b0632ac +S = 0bf9938e7972ebb00fb0a3c0c2476d2509db23afcaecb17dc571905317eb8ca7 + +Msg = 115f0a8be34e84d09bdcca69d19ce17dd67df739aa4fc6e8077076535f39af8302881471a5fb0e1839a3aa76dfda4bde2f9fa25fa582b756a4966d75320ac1995472271666156ea86c19a239895e5578a3c39b0ba3258827a01df1f30db22ddbc267c9e290d5d457d0a94d8aa73f8e79f3acd31bdeee7aa32c792c22acb807ba +X = 0800394a2ccdd1f55800565374d46be9bbc1190b55eee26502bf5f2459ac5cc0 +Y = 2e06073f59196d3e29ba718e84489b6f447fd6f67a9ee6357c5e8a58fa3c4fb6ac8314ebdc3b4d6127f2b4d2112c27799f0c1ac5f7946b5607212d796741cc3be127212a125edc3a7a91a525cd62152199b18b4f1dc332215d65d64ad06098ff2180ab47bb5728720c937e1207649ed19c883331ea415faa51c556d12649665f1ece880d055a2a793adc74b38f15f50aa9b46786d907017b1d6235c43b37c2036a1640f6bfe3bec2b95b4300a3bd78f471f6aa56e5e6347571996f778670ad94efaf20991c555924fd55cd518df0bd558faac3f9826a865a3ced0f59cbea45c65412bddf8f2a8aab3dfca1dff50374163fa899cc7f7f108b194fc955cabe9ca4 +K = 617d00444047d8e943e429947d28b4718a8b7603475e5453cacb80fa704f90f1 +R = 5c8d76440735055c1b36698da73903b332d64ca5603046144fb7668b1acac337 +S = 11c54efbd492a7147a1c50b287377b52d2193907d5bb636159c15318a480ca6a + +Msg = 3c1f2b92db1b4315837baa863043a9b4496a78143ca74f6e67181facf50a6e08d27945d00e7b06f9c57c0e2f1527c94bcecea6993175d0f09bab4f15af55ab7aa9b16b48c94a6a99c2d7e477b744cd27cdb9b0bbf810756bc6376fa15bfbea3c9376ca6979752fdb3a655affd6c0186d1a34355daea8cc75acf96b8847dbdb8d +X = 59edd0348ca6a85c408816549e9c58338ef92f56edd8fa753226acc0e181751c +Y = a4742d3c7e7681b01cd6aae17423cc780491d08df73b4a71edf7bd2ee29c698cd66dba0491688fc7eefb4d709147bfd4c8c4b797ab9197573b5d36599c4a592c466955e80ae5d2122bcaa5d0e1d94b4ed2a99b1af5d08eec86c37753a3c3656c0fef0d2c471e4ffa0fb163174a4df1707879fe083655291127a3bbb0597e23802e424efe4016360364506c8ab4081f0a95692c2629537f05306181db669bcfaf01c15395614238a2309429199555142639b3443ef85af74b5e88b7c70a8167334f27294a8ba1266695a369372badcba7623aa58cbcf25b4bbe663d4eced1a18e7753391d6c53854c4a8d0ee1a790a1a21071f1386c235ac26182d01a1e81ecf8 +K = 0a96189b8740005f215ae5c5a8aa8686dbb4c353d2c55deb3904bccc4f9a9b9b +R = 31c1c6aee7ed541a281f37632b27ba88536f36bcd92fcc360da041f4197f7f95 +S = 45e1019b2a1702b5df1eef4fb7df6a53aaa66ecb8be5cd2e28b353c870e01f41 + +Msg = ad389f53235deb068f7097780330746493607fdb7e1170bd1fe0da012714b8f1b128c69a53d7dd2646b09720883e2387dd15d46564adff6642372c838287bafa5f4343a27ec8069770e5c367548833fddcc5f8617aaf41289d96dd40f1098ded9fbb110aeb14d69272dfb2dd7d75e7a88dc4147f27c64eb1bf0aa0569bbda320 +X = 19ff4eec2e47301d0b70a826dad822b609c997bc1b3a9d7cbd3d1d2252e8acda +Y = bf4aa2d867b433f934d1d567010dbe067905f4e35d7ce568b55aba694d12dfba95c235078461aaab81f1e4df32319e5759c5263ebfbebf7960c57aed79bf2de38948f8ff79ef26d66a7f98384117dce1f386aecc4369afb2e0de77ccd2e7dec328614243effac607c8d5fc5c7c0b1143963573d9f106fcecf2e15c67a3bff6908b286d0e4131fb81622fff9e10f5771afede2276e8344d9ae2f493fb4856d1ba5760ddae38af7ddca409e7907268691baa33dfcbfd69e9aa9faa79cf303ac8b1fa07c1d40d1cea01e8ba0d65265f4c6aabb16ebe2f6ef5aaac25c0c2730cbeedc177667ee02bf4523418a986d5b87a9b75ec201af0f1961cd51b85879147e607 +K = 7ff51bb8946842c7e2f7245e73461e2b0820528548f7ecb53bcadc7a20e826b7 +R = 2f9484aaeda9dcb88d2d3644db2c58eefe2e7695a6c8be9abe97173efc9c0bc3 +S = 0166a7bf4e8bda6b86396943a74a8ebfc603a85ed287bf3f5a30dd0bbe49cd8b + +Msg = 12f9582e3a1a76f299d72d9b1502b99060802660226bc47b71e54ec9388eac325902acbe2bd7109e19f377c9d2b4d280cdfaa48888b9cf4ed06ccf5ad866d6932d402592f6be6e6876db5a62beeaf373b60238ab96829243759bdb586f45ec4ae2cb22248ab0b6aa7a7583a61dd3b8f119cd840479a4a9af8a439db904ac14ec +X = 7142b195eb2417bc234cf32c6fd7cae470cb48c74dbdb469a264c1988eb3e52d +Y = 72d8100692e1a30a32e37c909eb6c7baea7258b0b78668e75915070037479b884fa9f18066df89b490f9a2696a8505036977604dad268e90552835fdca3339b32360c94358ffcd0b1ea11066122efd017cd6fe1ecd0dd6678081b84cb6e144471dae7636b4a0929ca71aa47b4086665d66d4034c188d64d38b69f0ca171c85925cad2840277d2887a7f7b81e6b12870cc3c69e18ca9c22c3d3a39ee286ca65d23f3e8111aa7c6ea9a0d14c84ddf76abd44db3b9833d69cb99b524c98fdb9d0ff20c9d268e8e7175f13c11c5795d0fe0b3899b74c0dca91476febcb509f7fd507023988145242dfc809ce95c6f1b31f67e01650dd45878efc7ea89cf6e3171e43 +K = 1043805a13045a36e1b6498db97d163571c61cc4a719e506173b5e6df33fc81d +R = 38cf6b8cbae82e6295f83316a9c49d2dc7c92cb90b19a2c2d45649949354d930 +S = 356a5850d07aec6e9d4a4d7f79d9b0352b087d7ef48394128c5ae4993e8259b8 + +Msg = b6ac84c49f6bd601d5868ba06d49b8cba87a9d6e7905247541fd332c2b0374cf57d4a0dc0b5a6c3f8f7e24be3a1eedc4a8c575847c02e4edd4745040685670058996250f73e298a43b391a4ad567f0c9bc4b6abf6d1e5c56b22f4eab36aa1a812a1dae8d2873cb2c2a521d320019c7cab1efb11fa4595c534ce527d43ba605f7 +X = 1332c3c6e2d1b7b16f501b6d48c7b866628f0c82bf33354535df99a843dd68ce +Y = 06dab48a076e8cec27d4c4fb98e7c00f36bed73f11e491d913864cae0fdf883468d735deee5251dd38a1f8b1d2bc19d37f3187a4ef69c33dc9528801a23a98d96fd3f129b8ca2941421ba1828e0c4f8d88c53193930292a0df1147b07c20aa726c7177ef660ddd4ecdd73315d4b9356013e115f067e843c896c1a54c81ffab1bfe7c785edec32fba652babfdaaa039b0568c6beb7d13fb4e4588140ed626b18749b0f79f669f6e7045738cf50a6d0028ba11fe1845a2dcbd9c1b02336fb30eaaa397418fe17e149829cab13d2c2e6b90e5cc81834e32fca8a173634e01f9a973e029644f0165b3033dfb054dd21d65e0c0e137b48c34d42134c47b972433ccde +K = 167b97578e52869f49730df464f7e8d786594bb830d72db9af2cc88324ded288 +R = 1d600a745a1dec933868dc535a19ee9f1af8bf09b5abee15dc4f7cbcb95ac8c5 +S = 23b81097d583342ebe4aed364a7af9882f74e64518aaedce346c91d6d7ac470b + +Msg = a92e2ddbfd18cd307373fcb39dffc33e0b91a48c62071f2f7a8e50dbf2c290889307975b6acd642c8e3d3444acac98c22ed06551fec5dc7c9f2243b681cc9fa4fcc12c318237e9a5df0a77ac22402039cef31b1e623af58212a22e7e60419bb36b777cf6ce65dd1f56963eb28b7706f137c0f7363a002d827e45badc20233c16 +X = 119ab8a63a22a89baf4eb8f016dcce9423d5f40a677b258fab072a8cb622ebe5 +Y = 5141223f4697de272269f3d99437c48dba5ab7f1373fc6bad8161018c5d6fce2bccc40ca78e4d73b6eeb096f175c4cd0c8e9f3e9311951d51ea244fd33d9e47de75f1000248fdc003bc07b501ce58f6ec1aed1754c36826cd91976b408eb7aa9bc42448058ffd3b4e513c6589f8e1bc145a47b2470e7241e2325e54302255c3d6d97abc5c6056266a9523d461fc744146da35c04a4fc0b095881cb94fc4c03bb8623953928490dbe7f84ef68667f23d4cb3ed887449f77aeb158a26d1b39b4e6297f23d49f5b41f170e72f7213ee40364c1c9a63985f69e44eacdfdcb58c35dace8b935d0789a8c0669a23d673929b2a582d6d3b2f9e67be891890da1236c6f0 +K = 77cefd7a6b0fcd0237ff8f51c458e5e8a79116eba6f11ea1af7f29aa608393e5 +R = 34a65e99bf01698b5a68f215b9c292115d17b3c202ea1fda17fcd8a0cd74b636 +S = 7e67d442b8f9ac2974e84ba65aeff0df5f83c271ece792a8dab9c4aee87bfea8 + +Msg = b5aa1cfe2348d57f0e5333fc70276d2418ddda49122f4a88e8010f6f78dc829ba5c7cc68db664080945c43eeb705c2ef13de6e4b8f4de1d04fb33d5bcd7893d8ca8bfde38c9feca6c4ec03b2ce7b35ed60a6a43f7fc9ed08061a099b3eeeae7f0f1516149d175a953f52c8c518f3ad247c9fba23f1f829d5cae62673ee201ada +X = 4b75db034ed0b84dfcc60b493a00940e805feb78575fd256b24d146b05a9500c +Y = 0b66ef2c7a34205d70fc36404957043cf46b28ac4f083ebac3787f55e8dd1f75d9193a842759376f0508c94cc7528d6611b50a73261a4a5cff730d9985bb341dfd739a4e963d1c40f114d7a7ace89e81dd70861efef2ba9d1c6425d5f85809059e8ef31f453c97743fcc94d3b1bd62084e975790b37193eb4058454ab283fe2bafaae803de892879554a340b9a3e2532931eb95d3ac5eb3f290a3f56936951288e1c05bda1fa74dc78d631c2e7a56367ec5781019dfee71453ea6bbd90778e92fea8c26bd6a823fbca71577b6335f3bdf40a30836e948db032db5a4603dd31b851ecbbdf76b4a6c9951d2192b97ff01daa5cb030e15ad1d4cff367f700e79ffb +K = 654aa8be3b7bfc32f9b560b57a88a8aec1cfda276661283b7f44dd3b0944c20f +R = 517f7df4831fbd01908b9218b17ae1c40e00c53404b3bd72b64f67cee75215f2 +S = 1903434a727c8ef0e80a43dce2834b807839ef43c22afb502b35a381782bb639 + +Msg = 27aa81d2bc49601c3f6bceb0870bb55dd10e7ba6d1f8acada70b5f902a0f4062eb93ae72cdfd3f943099cc2a10a3da7bdc9f24b00bf36a29d75136af10bb71ec9c1932058e22ec9c0600d173d37970d58ae1f66cefd27e2905afdde4223979b4041fd7d7166ea326befd5dd896ef47abc6d045c1ca23c1953a6e12cc3c54b4f6 +X = 7e6b77d4bc9220c3352e91abea67e33a335ace34ec4516646e8a4ff098166ff4 +Y = 932b9c0f2d310b6bfee800c074a0969efa246244fb062a745a9a3cfe6f5336a313192e92a2027e1d2c3cfa93aac53dfe05cb8f8321ac882a63bd375af0f3d9ecc73aeebe1267f473a9f90b94f5b6de4357b74eb30cd41aeafc259e85cac7d365ee33382a584eec63719ea325a2414e116f84d2af9654268ec44d6ea2e981581d45d805b383d85c130d2dcd1c71fa68d9c76d79aa8196152c1d9440c33d99de451a359e0d2c51d6aaecb26795406e528f5de3e00947d3dacc695c08a960889a2e94ecf0a461c02afc58b51e00369c73c8140e8b92388caabd1f37a62d1b210e0f314127f46b576a4b8edeb34713aa4136b8a1875bba8a5937066544e34c206aa4 +K = 73c28bca3c8067da792f6312153b298a8f714cad70bb2349803b6dad024f6bc1 +R = 05057a982ab4a2e32238ef2e3edba07fd193d90c5f053c83a9f176e21a9d5208 +S = 03c2b26cf46b7f72691a72d7cbf33653df347f02b0683ebc6cb7ea7e72dc8a0a + +Msg = 7527533f2d10c18078f5a8dec350cdfad06d3157871e4ff7d7c2b7ab11dff232d34f07699278f075442e1d4ee00cd6e87c1931333841c399576f4e587a251684e731f7c8369f712656bc1e6c2d209f511179da09368d93290e058e0ce9b6530ac6c5e4cf0a1b22d588d98f32b34e85206e09aac04a0e1f2ae2a5cfdac4e6e2b3 +X = 40792e5ab46518c6ffcf5357f0c5de5d9e2de99c92aebea82a307ab0f5ad252b +Y = 72c46505e4b071f46ed6b6d530801664a4fd518e4c6be8468a38c22bf74ed966fdc7bfd7c572218998fc4c144b59462af7e294bdf5797ecea5cb2edf8c8d2dabba88d0b84cf28524369c5040b58f090772dac0fe453c32907e9b6c740fb24ed4dacb8fdd25e0661bc0d79d41f103fbc8f96b3e3a4708a5a7f5dbffc98f344bb7ccf0d5ed07af2c2f0d5f407bcfefb54d9b947604e7a78356874c01b8c1fdd749f6a3d619d1090c83725e725706846c16bf9dfdf39f2180623f4f585402cc7d6e2c10b57c8300543686a386056a931be6336bb6173d9fda8b102cf32989cf0978f956d9ae0d8f30752f156f9f92d2954ef13100a75d9f7ff96fe15df07e7993e3 +K = 0c9fe826a7618108684ba2d74f10ca39168feb85f74d2737fd12d18cf27a2f16 +R = 6aa6c4d7afda30ff2d7178b52a3e437ed5b0745a247c9c9e120bd3e833a1dfac +S = 26e0887911bb5edb6a566a2a1276353391b1e4ab8ae0b259c1bbb3af3d85b439 + +Msg = 994a49e5e8a5698fdac9a7faac01fb09b2c6113a186677676d11e6049dc98c93c51eb5144af181e1efbf44439a13d295653854813671f032aa62258c14195c4864afae0b5d154f97565cef075bbb6d97e34181410309ffe98b45c1f874326343c36c14f55fa058489dff3b49dc7888f45a099c3c919b25edac1706bb90f164ca +X = 266cfbe6060134ece2c8b9e6aa25bd6cc935e49c23fdd4fb6adb2ecde63a4960 +Y = 05e233ac49c1fda2a0c3c78b0bc72fa39674055d188a124a58ab3850d9a888861c2fe4d046c3e7c75ee254de70cdb1c3150201c2e04733ebcc25b88770fc2aa82f60526bc664047a026c2290fad8e9f81cedddde7fe3ba406535bf2710d79da01bd2d42bb5f4099c3f8bc2ac864be7892aeb6a1f3402c81474da23e0795cd6c21367509a541591ee1e6364f7e755b1419e90af869930152f34de51f0f06ca3076e68c3e3ea7f4f1bf1d3cde3a0dff0cffa1b5842752347082dda3475992f15a74d298524e636220bc9faed08af7aa5e481ba78d2d2fd8e51942cfd084efe0ebddd7500efc95a6cad37fc4923f9bf65297805840876c689ee079b7fa6169768fa +K = 60f8416735fa49ab567c0bf1b6da434e1df41579699c1a92a3e70e1d90705379 +R = 3cc269bc7b895864a03231318cf39379ae33c7180a18c08b5aef7414fdac058f +S = 6a6eb83c5fab10e34f0416628c821a6de0ad0c202443c6df032cc9d8e4948ac6 + +[mod = L=2048, N=256, SHA-224] + +P = d02276ebf3c22ffd666983183a47ae94c9bccbcbf95ddcb491d1f7ce643549199992d37c79e7b032d26ed031b6ba4489f3125826fafb2726a98333ebd9abdde592d8693d9859536d9cc3841a1d24e044d35aced6136256fc6d6b615cf4f4163aa381eb2b4c480825a8eccc56d8ddcf5fe637e38ad9b2974bd2cf68bf271e0d067d2465a8b6b660524f0082598945ada58ea649b9804eb4753408c2c59768c46abb82e3295f3d9ca469f84cc187f572dc4b5a3b39346ec839dfad6f07d6d1f0e215209bb0ecc05c767cf2e7943ac9cfb02eee1e9ef5946e8ce88316b5e15fdcf95a132ef2e4bb0817136528cfa5dd96532f9c3abe5c421620edb6bcbd52234ca9 +Q = 8000000012997e8285e4089708f528070c6d7af8a0bd01409e7a079cdb6fc5bb +G = 778453049ef262147fed7b59b0ee6764607c51e7b5b5fc6fea7a7a7b1dd6bb283f4a9ae98efd3964b1556758cb15b2a53af8619e74d85898bec77d3b3f382494ae5961a13ffc745da386182291519800f99dd710e00aeb15adee088e2798ee2e46f598526cf0f4667055d1ba009750041dc5cdd2725ff1d97dd340c8518af7671b87d39d67aeced84b66f84e0701efc82a5c9ef954ee576d24c385b14d63037f0d866fd424b4975bdd5485ed740cb932e843f906683f7c7b2c74775d901c361b847b519c0da699638da40bd736b783d2710b2c2cc26ef91271bf4e2c1929f876e902e2057164223bc78d6a2b9f6c0c7a7cb85922f7d6c4287ae23861f8128848 + +Msg = 39f2d8d503aae8cd17854456ecfad49a18900d4375412bc689181ed9c2ccafea98dca689a72dc75e5367d3d3abfc2169700d5891cff70f69d9aca093b061b9f5057f94636bc2783115254344fb12e33b167272e198838a8728e7744ea9a2e8248e34d5906e298302472637b879de91c1a6f9f331a5cf98a5af29132990d27416 +X = 6ba81e6cd4367798aaab8b7af1135183a37c42a766dbd68cd2dce78f2670ef0f +Y = 7bb31e98c7a0437f978a73d5dcfbdfbb09cc2499dfaf1eb5256bccd6358cabb5f67d04a42823463b7e957f2b9213f1fa8e5a98d614484701abb8c7d67641fe6ed06fa4527b493ddab2e74640fde3de70da693f1db2b8e26417040af0eea6cab451a795a52e187d2ee241b93f65c86c6d66f45834cce165ac5eb670d4f0095c23ce9757e3bdc636f991ee0073d90a09202edb35cc3ea1cf9adca1617fa0bffd9c126229a604a1d3bf4931ddf0b9942dfc8a2f8c09fcc97032564a79ae1ebe1e2ce49ff57839e7c43fa60b1603d15a450898aa4e4a1ee8065794126d64f013367096a83686b9f158c33b10f5f3b36cf1f6358b3f34f84b101dc26d3db68bcc95c8 +K = 45030b79a395b1632700cbaffead97998d02bed8e0656876fc0174e4bdb96f79 +R = 059bee9e708b7f20c3f791a640edee964e0aa672893c484799715817b3a8f6d4 +S = 4bd41c84a724cc86e4f0194ec0fbf379e654d0d7f6a1f08bd468139422a5c353 + +Msg = 0577ee4a9b8dbe3c6fb9725174e89940b27e8a989217b64417e66f396a35e5824f21e58236b27910a3be6b57d311aa778bef63dd025d9435301aefc92223c1aabb03d3d5d385b1a3d1f937f0f1f7f8baba91a011207480b5c23a78ebaea69ae8ad4373b2b052d60c5461111479591f8330123bf74370fba66bc7e2b400192c47 +X = 7bd811cf6056c1a821a85a3169113639d775247bc6578c9eeb28d4b09503ac0b +Y = c54a57b08f255db1c776bb2126ea3c1e60229f1e1981e43f1d6b9110f950edd8245eeca7d55ba06468040855b736db502f01d6b3cb2d9d621c4db44cf8cb390ab2ae332bca219e09bbbbc225541d4a0ec0b4f11a591c077f2382f04bd93b364c94fb1c6147ff7784e82558e5fb68427459fa9a69d78a9f6051bd9431887ace46fa4970f0e22d75d2befa5a228e489e009af97ce9211408b4e5bfe37d3e0700b258b54174a5125eb6bbeca38805da53b1f5829dfdec8c4c9376bf235b7b0eb7119d3d69768b80ee02234589b8d95faf8062a8e1e9c3a686b6350e30fa535eaae71d753b7c3b048f8e9722254dedbc220ac9c9af0784532032ab65e48ccfcfd623 +K = 7ce602ece3f821390641dec7ae01b44df0fc822de1c013496bade2e3e44fff0b +R = 33c198ea68bec4a7fedaf0309c317d336b97d1eb1f1dc44ebaf5c85c5a3afa98 +S = 5c9b23c13bb607be5473b32ae2b5e8f2a1e18f59df8ca7fd9303f76ed8e680e3 + +Msg = c643695d29b28210017aa5a7d16ebed81ba00a869d6681d1c0fe90a5e8be9d597329ea15d24ba12d77e4c3f2160bcbe808840c6e77b0528bf9ae588738e22f41910a80a7c6e3340c127b9de17945e7f9229953e2850217b6d486f7cc804e720de214cef02df4a892f7e42898f15caad26bb30bfaf4b0551aeea14035cb756b11 +X = 3ff2653cbc1f27253400a9b6b1f064247053c9816cfdcb704b14bdece2a8558b +Y = 17ff2a5eff3926ee1520d5a63a13b4f701dceed25a653966f525450b3a63b03229d615ec54cf4f6ddb868b54df363feecc95eb8a3ab2587fc4de9c93dc8f8d7f38f99082d2867b23d073584c831baa0961651e071b43f9d5da97b60e7b5b7a935f6c1dc88279608e2bec5cac6162488085d092a97c6b6f24536589b801b6b48d478796b52c05564e904bc58ac1505074db3734fcf3575f79952ba0a2a0697e55e579d508a400ebfb2d4694b720804a9d00f8845ef0a8e690e675b4c1ce07996d64e666b0d6a1d6fc6bbc3cd9b5cc3864e5e888e3c335e05e83c67c0033ba5efc3dcdec0446d3b40793236ca074c54d2a74dad296d7c639dec938e3bf1ca085dc +K = 356b49268eb799dc4db7781a06be0f8b96d28f6a13b7523c0ecbe70cb3eea1aa +R = 4ddd2a1f411b570fef6d9184409b4fd55d12c5e4bddc2ac7211235873322155d +S = 4043952c108ef84a25a168ea5b64a4386f7a483366054c5dfbfc5fa98579432a + +Msg = 2f64d11e290275987b7d7430242289afd54f1be028cf36f8f55db54be70b8dd5ad74ae26e079d0ed31a361c116951bde94d686abf15ac5ed1470c3e902461cea8e5d58f407d2e0c072ee61567da7b353f6c47e694cd607f3ae894a9705e8ea2bf9ceec3acfa6d20b238bf0a7a7eac76c4462b7e4e4e868174a88a6a6c9476cdf +X = 4800e9ecd9bef5a4d46aca60aca96955d8565e1b85d84dd8141d4f597e178bff +Y = 41cdb2c1bdfa3652ee49695d5e5eeec00f64b54b5676ee27f043b43f24133f61425b0cebaa1f88da072cc68865c12790c43285b7e19c3844fc7d81d064423ff1e19266f69f7dcb3d0203739f84d73bf00c52d60b2875171216678d59fb557553edc9eba6b84127169fe5dd2f81fc902c970d1d8d9c4779dfa1b14309f81006ee641776a6fa36339e963117447aceb823c9ca3367172eddaf6e361829dae43c4038cdb90ebb68b53c0a22d410b6f1bfa7c47496ea3aeddc36bf24f219b85917a24d30847c77d87d22a7f7486c6684755e045ddf72d41650e97b64a64becadfc47d53555127f8b7ab78d480529571996eede4618882d838bd695efc87e74d68ca5 +K = 460410eaeb111a18cf894468e10a88b8de8ef9dfd9a2ea1882a9fb696fd7823d +R = 4fe6e2a75d9c72e81ac60dd33d31180df829b31a0dbd5fd20b7e28c4fee27d5b +S = 3ce4a06bfaf70cb6cc93f33f95a43ad77ed7ad7c77a1674bf849e9ebbc5eda29 + +Msg = 173c4a23621c32c3e4b157ef96b02fc1bb466a2537d3f6e51a58e510c4aef3aae4bce4c0b4d59bb1c00e7a35f98945ca9d7fdf1f0bac732d425043062bc6d32015233dfb295ae08a324ac7c1e02a117ce436d77d4e46d0b794af04b1db82a2709da1c4449c29ccba93db8ec48eb17921cb389f6e0ae32995d7fee1fa07177a7a +X = 3e696f226f21916455f8ccc861b1845303867b75303ed92f9ac79088f56ea708 +Y = 673e349cf6d05caa16751d97ba6e344e40e158e6a7fc53ea2db87891341e6499825b5b9edbce9190bd87c3eadf7c6d5bf0a793af2c3a1c8ded790bc319449394c64384305864723a8a7bfef26c082030ab360bf9abb11117e61b00549726d772221f6f67c4a6a110cd9a9658781ea8f7ef2f176c6e8816a865af396db95d8415b541cf0f83e45a417374cf3acf5c6b4a98390522e7140cc8aa3f9d2dd26341d4eb79e4d931a178e3d57dc52bfdf90115e01b76094ad0294979d35d92b574ce7b0c627f08be66f99effadc33aed0f634f6a89507455d7341ee64183aa610d8bb3237147bd90dcd9c1a03d89b26ee31dbef5ae7e764ba9f77b6a7434ad2a8f966c +K = 2837f7fa85efafb433093231983ccef5d82080e6063f67c68ff93465b59d581e +R = 393d681c3edba28f7cb0f30593b94fc15cca659a80cfbcb3b236453722d5b402 +S = 44f7421bce1e5273a30ec016bb9969b757197987548e434e395ab3de1b0e7ba2 + +Msg = 7d6f2a97e1eb085cb9e83aa24047af9ba30a05d7bab564a149b9cd2366518e8f199134fc2ca403947f2a614c0363ed4bc1349dc496a8ec74d880578475e47427628bb023f0272208876a3a7333307a596c158eba64ce42a3c790e7167ba4a327ac71aabad2f36341edea12ce5b2b735807b34b714a49a0aa476893578f0645db +X = 660898413f7a71804432ecfa11cc68f85a34fdf75012c965259ea6ca0bbcd976 +Y = 777c251067c8ab16cce2c4a4d784c7e806fd296cbbbab0132e2ab91623acecd830e7cc7cde03e544b51fb1d8f0b2eec09f559539aa9d63ebc0c1e32579f095473d12717ce88f6671ec7e3d2581f61bfde66cf9be216d6a208086cd7bea770150a9bb0a5a7a0dace82b464180241202a30b26ad5fb933c8235ac2918e29bc53a5c01ebc1e30b1b46e37124aec596f8d1a73baeae588ce7d4aef1ae84e9a9766c24367321c047c3caba629f5d9185f0ffb3af7e50eebd1ba0eb77eb121b98073794cbc6622b678262ed3e229c6ceeb607274ce3496f370b482bf8f68c27366818486b72adfc810b2f579779adc9c25002e277641dd9ffbc5db5239f677ba1a9c1d +K = 4abaf5c6f8e28356fd0dc6f096e9354baac1c2049170b2db05c81bacf02092f2 +R = 463b1fd6ef2986f75f9620779bb6f47e0beafa9340e3e5ee589d92428acd4f2c +S = 27edd33917e49bf771f3fa1355cd3928d0bd401aa7bf0541f3af1643efd7b677 + +Msg = 7f8785e1c4f82bc0bb75f78d8c4113e0887e761a86b48dfa43a3683b2bb886ba53f5603c8d94a052af3671c5c1e7c232908e10faa6cd54efc79ccfd64811131acd7d60a9309729455aa70443ae8f32a34580f9a1aa7d89e5fa8cd4e95809a573ec6dfe9fe35b1130571982a0dd46eeebb6a16f85ee6314931839e3a4c29dc700 +X = 4be0926fe24da1667d71d2abc2bc0bf87172c05d7c363a324ec61b4642777e57 +Y = 28c06e5ab3c860be8c13f74f28b5792b39487b79547f4afaf6f77a5c3a43e88132edf944ee00150a78b58a78cf92ed941578ec679e106767014e5b279c0eae9c408e6ed60687ee1464988ea545f55be3673ecda10c63fb0b1908e796d6715abd5451843da6e63bf8802ccada32c7c5342374ab26ee701f9db3d34fc96de9d23021b98a93df6877f84fad6741164055696f3b72050343ea3e5cca01a3d57e29727ebcf8583118146c27f42adaf62365b9697cf03bddc69d0bd151f715b23bfaaa27a368114b3dfb54c084e06d4343ffde1cd22058e9623a70e9942e090edc73db06dd3180bb960f0d7fed005b149b69d6d45f40368fc25ae04321eda46d52a592 +K = 057cca710c8e4998e9fe154cc57847bf35a512e6caf3cd338372b5becc66e8e1 +R = 3165b1cf3ca9bb89154ad684e089364f91b6e5d594526072f7b9db3b2358e711 +S = 49e1c8c34724ac5532fff1c7d243b486a2cdc0872ab84fda6cf2ba96f958f46a + +Msg = 3e17ea8b9feb2f4e55c103e58c4ead96b5cb892d0982ab2b0cb1eeb9e1ddde9990233a22588473421aadf52767a8df524bc6e6ed857a9fd5942ef976b1fd8bcad31e403b1febb865d2872a7b34ecdbab8b245ada45243a49c7be67aa09788029779d619de30dead9f7d8c9c42153b865b1a9e81180380e27a305a6392f4b2a0b +X = 75c9b6c63c80755f7a7bf38eabc58e1bc2e0cc5cb4f2274f2d63058157656608 +Y = b71d0ab2d405a5012d694e0a4a82769256cbdb49c18112efee8153c8e816310486a17bce19748b11f3d5d18cb44998eb329b951c23a57cac47ec9973839b130f3a980e62705c0702e4d68425845d54e152e2e83646b56a6757cde06f85ba3779eea585dfe8302f12ae77fa58cbc6dcca70b461024b7d176510a393ec027c769cfe49b698e575fcf99c60293af2ade3dc4df23ff3386f13777306c52de97ed1a886b824788863ff7263bbbb5b5fa0d4681c16942272f5e441bdf49eec7556c1fd409c78e3aaffeb95c1267dee12c24c045ef67aa70e9a3d9244f2cf1ac68cd918df5f62a3dd3de7bcdeaa3f61de51cc01af636bd665c0099d13938eb4fc289b42 +K = 568b8f5049c2c411f05d74e1781be5718ff921026728d285f2a77025208dbd41 +R = 11b7ecfeb339d6014948de5ad4c96f4ba517a2cddca611c8887fc44f14ac9a63 +S = 13287a22cffd825302b0fdc0955458d918727092c7bfb3ec4c3d7a838ea6c491 + +Msg = c3e1903ceccb2af5b0dc6b1fbaaf1b2e96477e001c43eee3046eed06128c4c81eb2bc917aa8ac30d07e66c9a9469518e3cabc264d6936e5d724a613bf9a44d60797b890cc5ce0d04629e5faa1dd53e7a125a14a26df3cdd9878d9c67e7e18a4655a188885363ddabd73a17659d191e51fafb6d4171ff6c4b651168ce167ada01 +X = 5feba370a58c16f34e931b65c042e6bfe794309cf30105d2fdac4d9fb3e14303 +Y = 429e6ba20b02cd69a29b4a97a6ea564e5b8874ada195a49c3a5293c9bc8d19e0a3a3c4ac8547bfdc7a209bf3a6037e5b0bb7aa291d5940d235c787a2af79a9cd7f83084ba7df85c036ad8ea23c4fdbf91d285c7caa6497af388017bd581ff308d9b56799029e21400c0c99d103a2caec195e40c90d244dac897bd418ae016d25f71e989af516d5e2491e1e4bc25914ec3ad0a9f85968a6777fbebdc73b1ac6814496d9421d2b7cdf17d53f00624010ed6618f1258da194f77c28286225d1b16da3fab76c9b70db1f7dbcbacf4e60b6b91a1f475007ee4d2c5e37fc31e89a0fa808f89e8a4e546bc90e696f454721be71c0731f99ee368afc6998761af9dd9d6d +K = 7ba86d55b8b5a465f661944832862baf5f565ff0d9195986c809956db2872da9 +R = 77470f0d3923ff407e71a86f0336811bdd63e179891fd30e3452dac1e5175081 +S = 4b969f77c70b5e6ff9350ca25e7d951acaaee907fa7b830a32dce4f91a89afa4 + +Msg = 4b7c0828b715ec2da1e092204f55ddd65d13f1cdd64c109478d3847487bc48a8cb0299222a7495efffa63ea158253faedcb5314881ab41b5e773337662cc2f50dbccc736974e31b3d080467589951d511032e4cba6647f94c679aa269fca6db92715a4da28ff9803a1dc61675fa5ac114e376fa4dadb37c1b09ed5c31bc5aee8 +X = 1ba85c9c8f4f4ae97013bc9f7fab372e733f3445fd9a68f8e015c375df3b5515 +Y = 09a16e0a6003f45aaaa3c6311aa9866217d4a7c8cb5093514976f6a341260e5aba7cb00ab2adb7462a47a8cfee4fdcae5accda6d42a3144792a14631bbe85534c111d2ffcdbc15b6db9dbfc4bc71d300324fd310c465443cb2a6f2ae33701f39668b118c38ef562e8554fea661a3ef80455699c23430d28ba6dcf042fc920a677c2971b2df8c6729c5b3b1be6c5a047ac1bcc8cd8dc519ada221bd92ca6893c1cc1dc158f9d472f89a8e02649440dded0f723485558effe8cf9df121c969a2d1b76a37dcbffb17edf3121d4338d4ab68b154226c0072d8bd51f23e5659a2afe520dd5e91005a6fc1157f07973610c5577824bf1666ccf851d69efde347f0b996 +K = 11d09ab8f3140f98dd4076d398a9aafb9c98656dd7185567a562cd108932eb77 +R = 1b8b8d67b640afda26fbe67cfd4bea521375526ad58a22d4d97d7af134384f4a +S = 66d6c240992256eebe078265c3029a88c34095142134dfc31ff0a2d8bbd609b5 + +Msg = baea89dcc102cd649135d63a5f52df437af7840d699a9daf131eaac381348d45b4e60477fea88803fca31b54829c5806c703eb8fdf412306ff7a79b55aab9064bc37cb26bffaa671debb74c228ba2d2a06da362f613b78e5b1f0a0b5c5febf6bc326b021bd7fc70471b25e153ea51de1010b87110e01497a7f1ac39cf4d424c3 +X = 2c0a2b700ea43f5fd589e665817339b60f837ca0b7dbab50d2ca7e4c362a14e6 +Y = cbd465ce9c3d0a137ee3d582a5172183b8a63cfe414070b247da367456203f986e6786ffb83ad764aba309c2ef7442ce38735f492c0ce6d92eaf9ae6b1cc873ab6ff58317cd166a510c3ffd8d4e6008825b58cae217fa35c94c9bbd12a4d638c20116398b21b5929dca1d49a7b748970e45de0d432fc912f76199137f1bb0c0d2c95bdcba0d303ecdbf489849be8e630ffff0603948c87a7e58131655c9f407708e8a9d675e28e9b57729f0346c0287f43ed67f9c0c0ce1542984851cc3b521afa5b9b8fa53680bdb2d73c2b6b090ef085a7e7c6f76a2e501064c852591df60439a96dd8d663b564c9e5c253ee8d8ee58ab27d8332113bdd51d8b41ac73c143a +K = 05c7a20e6e4ddb833c4e30a564436fd66716f349af551e9943bac61572e04107 +R = 7689b5249f1943e685095106d3f68359cdb76be5d9a50ebfdf36e731575f8bda +S = 049da42de51e617cdcdef17cdf6059345b8e181bac64c47123d47b5efe105ebb + +Msg = b1303768be174d83578407dde1ab91cf021124a34c4a35eafa4512707a3660d1f884fa6c3d7df299598018dca22f273f602bab371592b11f4574885741ab3fe2af5b71237d0057ae59f37b61dfd1ad5ea27cf8f05f5b69f2936ec79d104f4a46c902fb6790dfdc75b9768cc7dfbae011c795e646f9a234728707fb112c461007 +X = 247fccb44c2c0cb1f1e58d1033eabd203d8d874d0bf18ba70f04b75bd6495bad +Y = 5602dd579fbe37f187d49d76fd5936fcdef2369f7af29da43c6456a6ac8317b39e4cd679143a4d97751b80ce1cb45186da7bee991e25eb9a1aed1490fd74f6ab507940821a1adfbc30e19a933cc4d21769ccdfc57c96f0d21944f8a0f131626ed013b3e5c01313a1756b67b7d2a21edac486cbc3cd1d2b6fcf20c82dd70b4f72929c1499ad796de894db8af103d9b91c25737073d9df62e6b624b90fb352db781c7f2ff8d3a20a7063fb51272395cc7d35ef79c27b7634e39f74eb152975fdf3b903c23990eede8aa58df9a29954333a3f525d5baafd379dd57fe396a51876f25d9e8265cf6971edc6278ce996bdee206883448af184fae23af2a69572b20090 +K = 0b94ed40c05a4ef445309afb5583cba8d411ff4092452c0a064dbbe6e3ccd1a5 +R = 1800b6bd5c94a031d977b9d017541790a9fe7e414c90fa4d3803d56ef16a6479 +S = 07ece1b64711c9b3eca489e75f2e63438e097498e2890dd0273729a55df0d2df + +Msg = 25ca3dc8e6ea4ebb936fa01b1ccc08bb1de923be6292421ff9f773af9cc7393510df2fcb6ec188b27c2688c72fdc2ff6c90f0ab0ed59c9c3a6503f53e32778b954eae582c95803c511ff3918adda02e68e2c3e73f8a6ad607a89d8eba0059eb87f4d9b0081f296961ec6ea78853aa53d24a470a74acf16a2f86748a8da34fb90 +X = 32b6f7ce3ce99770b888c1ef23a86377f3e00adf5dab2e380ef8c4298d20a1ee +Y = bf2e140f8b8d99d2df1052e981fa0ac533c0d4ea9f266f9267cde7ba03cf10015da1cc13612dcfc92030b7c7d1c057e28a6fb45748eeb9c4bd2e6e79b217f4b68ef03f9659c8e84a20ee920d29711381ce39fe0afc9a7fe2fbdfce63249651230f3e72eed579f0d3659c2bffc70fb5d8be889a34bb67f1a904c318568394b946fd40383782cb5e4809d0c6019d20afad09f29fbbc994d28f4e41daf4666298f351898d8def404712c409745a88962e4a618c234976645559c90c54fe764eea46fa03543e4c4f25c8d2c3c1979f952458177dc6963e3f346a7fddbe0cdf23ddc7d2fa8a3455cd5b546e47169912ce7f333ac6f01e64aec596080b5d3e0f25adb9 +K = 73418db52c6594dd0956d9e3616a205de8204220648addd4bfd3a9fee412462a +R = 7b1dfcf39b624d64db08a3974c8e14173105010f2bd5135e926f2884e30b46fa +S = 697eeab669677469f62cca46d3e68c849f447881e2c9f74294f4e8ada4426c7d + +Msg = d58a8f5ab44f9df9ed936a1318657c324fb1399c251054986d19214c15ce951f87ccb3510aed9085411d9c5a6740df5160f3e57ea8c942d33547317c7a387c60c7ac2f0e14171f0b7719aba76ac418d157a4e3bec6b799b5da10bd3ecddae0857a29670c99d37810349b82b7bb37c0937b0dd2734da08b8b1cb7beecd43cb615 +X = 23a1290f8acbadc352a282015713d6cf5a88e8901cb9588a57151772619f5ae6 +Y = baa13652642d950d8bcec16c624a07999fb557fb40a266297c15659755fd615cc7e2125d4e8c8af8c43335539005e9e2f2d40428e7c8cc055ff3f6fe3b3df604ac128d995cfb9c867e2a9607aa3b77cf0f691738b784d4be2fea4739fda1f0674260f21f666acef5bd56a7800bbe950792ba05eee42e80a2578d2c50ec28d44afb6b687652bb9452408fcaf257c4b5cd564ddc4e63ce9ca13d4c7473f51b01ac8e4c3f799afc908eaeaccad062b0f97d958a3008cae22062bb166c7300df0b4386baecd599fa8b083fba6e7e4e5ba119860268517d79ebdcbe02437bf4eb5d91a843725db0eda66eedd46d66b781aced0dcc23154e4b8a8f0453b2f466033bd9 +K = 25f8923843d757ee4b7571b42de58925b0c2678ec89df07248b4cf34d83db926 +R = 1876b20926d8ede78d28174eeb4cb0c1af8ee206fc8db4a8cdebb5dbfb0c15cf +S = 231af07aeba99ffd00659394ab6ed19a5e9f9e60e2197f65fc88c815beae7fe0 + +Msg = aa134e9db73982e7a37a1034aab82b50d5e58e034a5637081dc880a6e265ebc7b353df210304ba00771c5bab445dc6c24999fe8eafdefabcdd46f7a91f30721a6896333c3f301e197f961944f545e4fe0730cd967790504c49b0ab5b890809be5c7c1c3f8a2e52d92a2c199b981b648fdd528e768e6ab392579b54c72c41617d +X = 02ef078e61df318237c9a217b5ddbda12ab9ffde68a201971782b61b73214cae +Y = 691dfea144e51b9e0ff7536557b58ace8716263a70554e2f4676d172332aedaa67736d72667d328170aca070e1bb89868bf4cc98962d87eb0599f10828c6ea24cffede8ed7b39abba666bd6d0d35024ade6aaa06fe6ae45dc4b3a91c219d472db0efed469d69cb5f11d40158ea81672b1ae116ff2c3016f245254e984a59945e4e3b3d37ad12058d84082955c768643e7d80c055c1703a883f2abb075a24c2e93056697340931c25894d1d2ffac4b1022012c15cb707fb359683ad0408b668779e9d9ba21989baa6a6b0b256a34efb4751bcaf4285b15635d409fda993c0438acddc9da006c390360304ab12da76b444d64e11ccf05d963ffb7f389bee831dc7 +K = 013e35ddd416e092335f3bb24a5e826e3e06cb90daad599a42cb5ae8da830b24 +R = 041d229349cec75fb2bd8c35c249f9196a18962ca75ebdb42dca61d21cb0e910 +S = 77bb7975a544c51bf249dee2359523072863934497d1a479d6e4b245d456eb2a + +[mod = L=2048, N=256, SHA-256] + +P = a8adb6c0b4cf9588012e5deff1a871d383e0e2a85b5e8e03d814fe13a059705e663230a377bf7323a8fa117100200bfd5adf857393b0bbd67906c081e585410e38480ead51684dac3a38f7b64c9eb109f19739a4517cd7d5d6291e8af20a3fbf17336c7bf80ee718ee087e322ee41047dabefbcc34d10b66b644ddb3160a28c0639563d71993a26543eadb7718f317bf5d9577a6156561b082a10029cd44012b18de6844509fe058ba87980792285f2750969fe89c2cd6498db3545638d5379d125dccf64e06c1af33a6190841d223da1513333a7c9d78462abaab31b9f96d5f34445ceb6309f2f6d2c8dde06441e87980d303ef9a1ff007e8be2f0be06cc15f +Q = e71f8567447f42e75f5ef85ca20fe557ab0343d37ed09edc3f6e68604d6b9dfb +G = 5ba24de9607b8998e66ce6c4f812a314c6935842f7ab54cd82b19fa104abfb5d84579a623b2574b37d22ccae9b3e415e48f5c0f9bcbdff8071d63b9bb956e547af3a8df99e5d3061979652ff96b765cb3ee493643544c75dbe5bb39834531952a0fb4b0378b3fcbb4c8b5800a5330392a2a04e700bb6ed7e0b85795ea38b1b962741b3f33b9dde2f4ec1354f09e2eb78e95f037a5804b6171659f88715ce1a9b0cc90c27f35ef2f10ff0c7c7a2bb0154d9b8ebe76a3d764aa879af372f4240de8347937e5a90cec9f41ff2f26b8da9a94a225d1a913717d73f10397d2183f1ba3b7b45a68f1ff1893caf69a827802f7b6a48d51da6fbefb64fd9a6c5b75c4561 + +Msg = 4e3a28bcf90d1d2e75f075d9fbe55b36c5529b17bc3a9ccaba6935c9e20548255b3dfae0f91db030c12f2c344b3a29c4151c5b209f5e319fdf1c23b190f64f1fe5b330cb7c8fa952f9d90f13aff1cb11d63181da9efc6f7e15bfed4862d1a62c7dcf3ba8bf1ff304b102b1ec3f1497dddf09712cf323f5610a9d10c3d9132659 +X = 446969025446247f84fdea74d02d7dd13672b2deb7c085be11111441955a377b +Y = 5a55dceddd1134ee5f11ed85deb4d634a3643f5f36dc3a70689256469a0b651ad22880f14ab85719434f9c0e407e60ea420e2a0cd29422c4899c416359dbb1e592456f2b3cce233259c117542fd05f31ea25b015d9121c890b90e0bad033be1368d229985aac7226d1c8c2eab325ef3b2cd59d3b9f7de7dbc94af1a9339eb430ca36c26c46ecfa6c5481711496f624e188ad7540ef5df26f8efacb820bd17a1f618acb50c9bc197d4cb7ccac45d824a3bf795c234b556b06aeb929173453252084003f69fe98045fe74002ba658f93475622f76791d9b2623d1b5fff2cc16844746efd2d30a6a8134bfc4c8cc80a46107901fb973c28fc553130f3286c1489da +K = 117a529e3fdfc79843a5a4c07539036b865214e014b4928c2a31f47bf62a4fdb +R = 633055e055f237c38999d81c397848c38cce80a55b649d9e7905c298e2a51447 +S = 2bbf68317660ec1e4b154915027b0bc00ee19cfc0bf75d01930504f2ce10a8b0 + +Msg = a733b3f588d5ac9b9d4fe2f804df8c256403a9f8eef6f191fc48e1267fb5b4d546ba11e77b667844e489bf0d5f72990aeb061d01ccd7949a23def74a803b7d92d51abfadeb4885ffd8ffd58ab87548a15c087a39b8993b2fa64c9d31a594eeb7512da16955834336a234435c5a9d0dd9b15a94e116154dea63fdc8dd7a512181 +X = 853f75ac81b3a842c999448562c584d1cd0277896ec2f93c05c337eed414367a +Y = 356ed47537fbf02cb30a8cee0537f300dff1d0c467399ce70b87a8758d5ec9dd256246fccaeb9dfe109f2a984f2ddaa87aad54ce0d31f907e504521baf4207d7073b0a4a9fc67d8ddda99f87aed6e0367cec27f9c608af743bf1ee6e11d55a182d43b024ace534029b866f6422828bb81a39aae9601ee81c7f81dd358e69f4e2edfa4654d8a65bc64311dc86aac4abc1fc7a3f65159661a0d8e288eb8d665cb0adf5ac3d6ba8e9453facf7542393ae24fd50451d3828086558f7ec528e284935a53f67a1aa8e25d8ad5c4ad55d83aef883a4d9eeb6297e6a53f65049ba9e2c6b7953a760bc1dc46f78ceaaa2c02f5375dd82e708744aa40b15799eb81d7e5b1a +K = d41b335753e1ff3f828f57b797ff5b2db5cd79f6a1abeaa137a2a830e24ed4b5 +R = bcd490568c0a89ba311bef88ea4f4b03d273e793722722327095a378dd6f3522 +S = 74498fc43091fcdd2d1ef0775f8286945a01cd72b805256b0451f9cbd943cf82 + +Msg = ac30fb155104954b9d7139de9346d54ca05178954053fd361c9719cea530d2d2e1737fc46b0ee27357cecbd47e0fd47ada0d5236a9d77dd61a1b0db52e628b14588fdba8774882866b04b49cf5205db49445a8a202a5fc3fcc36efe0bd0c1e51eb08616c4a7afe120077ea08caf167e90446862298011ad9a1f11cefb5f74335 +X = d692d2c653bfcab2e7492ec56e512724c912227d793a59882800d37ad260bfd9 +Y = 84741bef3d9f9dab0e3fae7839d39c1a1966ab82798d71aa46b7def465e39ea5e7adaeed2dfc92c9bea72d65268b8df955f9b7e7b6923d2bf00e7e43f83a0e54ca944275dc39c0fb0c8a00ccd0b29b790d9d8f3496054390410b4ae5c6eaf2e21bdb52421179970fa13e0948280a06a576cdffae6fdb239ebd486bf4699270e2bc0879be25a6a0c2f7280ea33eeb32c5d2ea6093381fc4c83c8f9a591b0b0e72fcc149c685b01381a74af4ccb902c0050e05baf732bacd1606533e2acc6308c777201eecdcdcbe935149c4e572a15a205d2b80e75ef2473160f85e642d28370c0f19464125c687c969665b13b095aa87ba476802d72c354ebcbcd89f28ef001c +K = 39335e9193222c7ae3caf8e5ad77b751e9847c37b9016d355ac7520407c91e87 +R = 28c6bfcadb5f52324e39903bf7a04faefb89383f473daa432cab9178f2470d3c +S = 4e88f65ff776940bafbbfb35643bcdaeb43b25b45de2de3c011ff1449c8b8b32 + +Msg = 2225031fd26a6bb4fd9990347bc2c8ea4ba45bd75df68476f983dffb5531899f1317d95f7cbb493de45cd2f11904cd5c5d5a748b4aa127ca730f89a928ddcd250a6551c2f7cce109e64d3ab74afb2d4f4f7e3494eb7d557060a1f29ecb5b75f64848370902bd6ae2fbf6802b2f9c37f34836ad71dd2e2abf6a0a47df4fd5573d +X = 87bd74c5d70a292914d96b47dc5e9e97a6799c3b788014e7f106ce7ce7e17a95 +Y = 04964c093fdb852c97b165e179f7ef3b39350c2588e60a0177bc2e890ab08ffd73d8a5a6692cfebd0c912de2d50bf02139bf017ec715c2dd7be1aad9d0b96c47d6465d4eb0ea0247ff655959d94a3409e9f9262d877075f6f0c7783a8df3cc115c5287c69bdbf0ffe0ed3719e418ff99b5dcd5f0cfc1065e404a216e095086a6e2197a69c47774377203d99a234e7be61cc4a95a809f9b9dd0a550b712bce5d1cfdafda232d7c831ec52884701155a3df2b086be870af8e875557518b035c84957c1742b8c02b0d46b64a773012809bfa4c5407c3fbfed3b960816604cf42b2defb4feeabc172afbfcbc82836b44b927e0cd4ca63a1daeb3eeb30d1de608127b +K = 64f504110193cc4a3f400b6fcfd71d64a1e166c048829d23206da12a7dc1423a +R = 5568d810ba664a08b301266d08c69eacccec5aae870a6d579eda51a31b184655 +S = 9e818868e06787fb9519b50546ee21d0546e16bb1b5920311ba44769dc69c7a6 + +Msg = 4b1f9335fdfe88c0866bb648c05857b79c2fda92a987b359282bbf0822db747a3940fee05aeb3cc081231e29b9d460ef30a55f0f88702a4ecdcb842beeb36a976136c9241f2eb5c2d93fe38a1580cd58fb93ed137a7d05ea22d5e87345633a0e393feea616eaf83684c3baca4fc5bf80a87dbec3a9787daccec479661af0b968 +X = afa080287898b0787f5d06d5826cc285ae5bee41768098750419a5c8863ae729 +Y = 57767c348ab0c61eab4f2e0894bb6223645a331c5be2490d764839fa4dac814e05e70925d720d0e0ab5faa3db6dc58ba573b4e0b7bc13e4c044b96259385fcd1eade0d7c5174498c70ba8fb8661ed524fa8171570fd52faac9915d947b51f6cf5b74e3edfa064a5161c7623ec6e80d29960b573fb98de9e710c56ee45aabc4022357f6c3712962ad19e43a4148957cc6b9c8f691877a59f43162d8f98f2472699ea510109305f8f98aa3f3f31e4302eb05e5f1a462d0f3bfdcd0c84e76bfdd14b7c90b982b8c0ec7c78cf3e6c216ed1d20b52a132f53c9747c7fbe39092d5ccfcc01a119c92faa3f13d4643e5db22ca1681d6536bc7b704bb09bf6c621c2ff06 +K = d23656910f6e8ea72cdb979cfd8c8f6676c47c6161c3aa14f2338392891d1afe +R = 7ac95d3e0936cde441e4a290711cc044e6e98e8a8de68298bf7fb90eef589eb2 +S = 140e9de37ec5aeb3fb795b016f51ea3e92d6f198c5a0e5a5d236671c91042c94 + +Msg = 3b87109bf21571fcfae92b859649bf37dd23d59f76d50cf26f4b2ebf7c5f4ae0b377bf3bf2c7e015a74efc808433047a71bf1ed4ba9025f4561dcb94bef2c2a2c94b3f55ed611c432f98a683abadc2c31d002eaca9b070f2b21319d072df75c62385d7d02897a00f863c2882b2897a331332bb9568b2fdfaccf50b3de4b42e8a +X = 668606f4a82b50876abd7f3dc0ed580a10344c1dd092c5bc1b26c427028cc5f3 +Y = 7c16a9644c18257911b826da10b5b10115ff77675bdc3c9f77097162fc059e86b04c1faeed3c66306c7e5fe2d5c63e8fa5fa2b82565ac6065445de5819a2e4a56925bdcce138654dfb490ac624a38ad65849be4ba74d14c829ef102248a18193933335eaf0c73b7bfe77d669f857ef3addb1f4ca424dbfdedb9e2de1fc0cc2d9777ee834a0ac7d0cac1b2a613890071490efe5cb2097ac830fbc27881f9fa51d3b0247c5e1b7f6be13c30dd31c2c59b7683ce60a0ebd6663de97870af2dd17d91431323a4686bf32e1e39732dae1300c57bd600be790593b2efa045bbfca956768157b4724ca0a1472fe6c8dcd82a38024766341d1f548ad8f36dc676676fbe3 +K = a3d781e5385d66989b38034171da11594b20f15733fd4701a63cf24bb58ec341 +R = 1e219eefd616caac549a859d45186b5c528627573958fe55cf57fbbd1661f7b8 +S = b09545843dc0f6299b48f14311503605502868859e8c43867f80df3c2391c762 + +Msg = 042365b1256931a111facc6c40f618c428801b03e4f222a1e1b7763c3b02a6214e4c517beb587a4ea69fdbd4ea2d5d5f45afded96ddac87dc89955613aeff7644fc6a58bb859a85221318fbc5e175c6985b19a1d16ab6ad3ca8fa1903acca42bc6d9efbe88fd6f2a8650425be97bab9cb670b2e39f36d526278e0bcfcbffc3c6 +X = 1c08570d1e1ac0857f649e4ba20de0e9aca97374acba6bae350104f1fce20be0 +Y = 815411ac6aa1b495c4bac802806a1a3592924fd9c0a3cca41e076db293d815c2f2b0a53e97cf657c8951b856cca1166ad433be5829b0b636ca9de49111ce5ceccededf36d795edefefee1d553250fbcd5bd05b4d99de55f147773ab3a0f754d090ca7b6ff75c160eefd1709a5df3cd8a0cae3e341f2275faaee3e3e31737e7e9c7e74845651f4f839c9d08da6bfd00f2c2b9c6ed9acb78d11175fa6ded7ab95dbb2bfef18feb149bc94f6de05a205221ba0406c96f63972aefec1beef030137011e6796af2e4ebaa100150d58caf408217acb1183a1a46e06368cff6fd744da7019e7ca109acf1244a763cc2b2186f49272ba3ae0425f2ebcd30e77e9f7c957a +K = 0bc8f6e0b01bcb55a4d134c967f3a9411737103d400a33a968f9036292d6e3bd +R = e7145c70e0038ae7e7d901b48828b0b8bc960cc4fa29a52e11ffc9ab08eee726 +S = b9c54ef6cb3e1b0498952299d1465ed2c5d4e670cdfd2506462466c3b0fcc538 + +Msg = 98ffb2899f17c80a83e82ca6265e6f361733a6bbc63cdf8880dc756bc768b35b90db7390cfff745ec1b56f1655d8d9a29a6e8a63be0b1b2f9aa7436209a1fa061a7aec28622c472b3d0285a701655a496546e891a8ab29d9f40d2e748d0aa2babc06cfca641b300b7a219caa9e5bae3bf689f60567f922e7796fe47bb72ffb64 +X = 79885ff112bdb326577abf52db67784768742b36e575f06b8d1e4f0d2d49a3a3 +Y = 14111dca30c0138761fd2f55972b9846041e5ca8b9bc6b2dc820f2a2f5100abaab337c7e0d1bc59de5ae586bbdcf4d4b14aa23be40095293123badbb11919b78cd6412548d9f9d15f614b6928713344148fd7d30985fd2c509b44d396c5672a082de4183fee03e45a90eef6a08b0d9d47132c82a2ccfef05e2ad0f340dcc06d9e2e979ecc43844c6054e4fa5fb8a73a1e3873f2145b0fd40f3ec7946f1f43de8b8057c1be5bf04630a12453d623c9b8d9f0e30c88c30434215d48f77348e6b047f16934ea09743dd3b009cebc49dbc3a3d3567c3321555ec96b2160caf7870970ac3cd8294477a0643ad52c23d9d987dbfff64aed1a883c30a49f14ff0620095 +K = 13ab2945ab2a40067a93ed8c1a4b305182cb070022b79a56740238e55b07e8a2 +R = 4551b096446db6761b708f35209edb91cc51ee4ef96a7495407ab4167a05c791 +S = cfe4c58bdbf61caf09a42adb1aa5d98b4c459c0112c57823bc15b5b990d92ff1 + +Msg = 5898cc0b422bb89f066dabbd30f59e9a35a392bdd7ad315ec8ad32b8f0f3d02864e70ea36e9076c395f0ba9de1ab6080df3cf4a1470e2b9990b8e7614bb8312b075c0b2a132d7e47ded9e4c0a1368455b9d1a67bc44af2f37428f48f7e089ab41d046378b6d48d9cb135eee4574072abea93bda7eb4f15a206cdaf3bbbebd318 +X = 416634f9b7722188c2a5266cfd9baf1bdd508c0c068010fb228c099fca7cec11 +Y = 766d7e4f8bc3254d92cf6a64abd504d01cdcf6c239178b0aeb3f69c9bf202bff7566eca09f29cf5d6fa4736d57c08205500d648336409df06e7f2cf99178b20a7ec2b5124bcffc61adb66f6fafc51e32521dea2124e5781c383b116d06a6a6e89dec46b5e4ad69f5a1e8dd7ac5e160da336c11860b601e7e6d58895e6797db5aa92deb7b942f2edf58d43d3dac9209557a6aa07b228e73a80ff0e92e4ec4603d362e1cca7e928d9459c21405aa0f6548732c0fc501ce50f0896f0763f633c8c1a8531321e1a0f47134a0d2d8676f45f13ea576e64c7870028033a4261bdfcec948ebb1aa25b02134d0259d73024a01da0cad1ce67571e36963dc130496160ebf +K = b057bf5a5ae4204f941ff5a01560cbc29033dc6a2e06ad168403cbc6512646df +R = a237d2c3d23706caf004a2e94de29f04c748936b62ab5431fe73c72485814265 +S = b48b9ef9cbd8bdf799b70605f00550b81b309c157332153be9707a399fbdd67f + +Msg = 0418e01236caed0f80241ce8c6307d026f5e25f4a922bbdb4aafb8d9db95a18175f9dcea9acb4d376f36ff7b7cb598e073de95ad2012eb9d11e15cb3941c6dd0dd69422e78512ebffb19cc8a403a9a7d1f1720ab0f2d25627580366093e21ac1537f93de90a94508f1d7a7a1db5a7b13c9fd00b82be044c3a35ec0451c309b82 +X = 6ad92911dd4fce033d7a50875e4660be08c44957b874339c2a70d915cc03e27f +Y = 4cf4cee4d5abc2c92db522928b6d7e436ea00884009497ed588e93281cf05b3747ca0048b917708279cd0277ce8560c22775d2aa0e7eed1bba77be45417fa7afd776b8e560679c493a520a0e626acdc83df021351669bdf9da19b12bef2926b525fa4c8e3d1f2083ea6bbb489880f594e67934d1f35581ad18e0db462a1ac944066c65dd743f35741c6cf588918d8336702329c62113e9486bfa49ca5425914526a965e3c1975824f4b39fa5fef89cf6f9ea512f7ffc9138e72dbd0f71b01a70975312eacab11118471115ee3fc810522936c9df35977509b196d867fa11f607b7ef9ab78cb748213a6763439ce5e7641b05359670612203a47d4de9c5388405 +K = 5aed2d19239189cd0bc8cfa3c329748c0555d8eafd5e80ff931966680e3ea454 +R = 83ee960e6f9026fe2454d859462ac334a13896e75179858ef40e2e9a065c536a +S = 7ce8699c6ccb184d4240b8709da11451328cf1a7e0cafe6e1c8ab53d7de67d9e + +Msg = 92c949fe2342f91a387b67c1b12b1d04d0721203caed593c9c464e5fda09fdcc91d3321d2985eec08ab2026d1ec3fcfa838cb6af45290c08dc30b9c14c4445d783b6f48409a00490f4e308dbc87fd1b2f878385212e1f4c3e1cf81c56d71e73fd7a095b56b4abec15c57107420fbdfa44477078ccf4519f9f6044f0744052035 +X = b0d23aab4d95446f8c6c5d496d477dd9486f50b2827f7cd19728bc96f82840c7 +Y = 256d231ac2bae650d25999b2706d4cb63a89b1468e0df36d677535fa7a0ea890590d3290d4b50bdb399f33dc415e4469c97c6c0cee8205eec962d7153c4c85ab88f7cf80979d4a1ffd8c74e681c1d28da07732116c3210ee4b693309333686246d667074c7172035fd6091b2840b113970b45983d474f54b95d26394b7a43e81b449a2ee9423aa1c27f4592b516c12d5433e2ba724f5463b4169a2b0940e1bccd60ccab9b5a38248acb60582ab8bbc01c5e75f9ef7474273fb51aa6316e649f4f22452dc70bfd4c3da072c03ea82ee009d4272a84961c98e517ab947741d812116011dec0373ca8fbac5576c2069b067f8b005d60a36eca44f56019a64835d76 +K = 17a199bd383a84e22029fb90d5abc9a8a7ccd3f0a33720ca80e3161971793526 +R = 84cace71a80ed47494570fc84839f2e350191b74f0eefff2d7ab2c689db77bae +S = 9cac33594e1934b68f62aca05ca040f3c82110c10b7379878b7894b0919a0f2f + +Msg = df6a4eb7cad4ff9bdd8356d3568fcf0285c1a4e3c3109faa091b58a9bd907c629d54aa7a23a74870545a0942a2d23914f2f167d96573f06f35ea05ef704cac8014dd21b961d3dacf7b930bbd7e35550f721094c86333e03ed4dab7bc1b6416add9578d279edaee37504fd25ec0c5e8a37ac9ec19bfb1e3778ed6d9c6b6e35ec7 +X = 679ef48b643be394677d17e837a0be6d4d8027a900b686aed7c4b12634fea76a +Y = 2f4b0c01e4b15eb5ee7afa9824093330738be2f3f06c42b2b7c6968fa54b987c184e7fa89eff16da02b93ff61b9ce48eebe7eab0f7e203ad11c71e7b297d23f2d5a5998272c30c2e1724b5e963bfd6f83239f874d88ea089435b896dd2109b6a14b2d848f9ed7e92143c0649f97f4f2eb05b8c5a07e99e497dbc752d443eba93d7f3dcdc3240a2714ea0e3e7627f216e4701148dd21192f274f1ed5df05c60b1576d3a0b7f69a776b5010404acd5afafd3d70f57763f2b778d0c361e5f7f0bbe17aafaa5cd393329171d06ec032039a9ffb37c3ab8cd858ea788a7b9f501996baf959ca85c7dafe0cd3e30957640eff105894c43f866bcc422698d128dca0887 +K = 3cf9da6f182bade870946d3ed3b078208ea8153c45515d64f589bca72b703ebf +R = 1dd2daeaf3e89fd644c6cc942311ea5056413d8a24087787675ceffd3d6c15e4 +S = 3e12781396558560455c4e70f610522ab2b10fc25343296818ef7ffb0378fa47 + +Msg = 4f16681eaa5d97673a7cca02ee8a7374b75411e0b5704a947f04d1a5b14be0b506f31c2fa329e3ca516fa4f1626a9b5e080bda7f353f850365eac7c3d2596f502a5d70b1542276c12d4ea4a22b5325b9eb3e942e556769b796c4f524595f1cc6ce17f99f9dbf51331453228ead327b614f4438d35d61428429f78c8c9377aaaa +X = e0e576432913bc75a2e0de3b33bf3094148298612a9dc56fedd47aa569af8ac8 +Y = 2e33604ed9e6c0f1ba403a8c3c3fe8e8f488591813aa3d2fcccdf88fe808f70adf173f0f143abdaad43b80769e30ffc5749e8ad35999953deff4f61f4ca07313609e23acae7b35f77934fdbbe1c380b2727b1c3899250af5b4399b658b7908676d64d11763785373b2169836611d72a957319936c84efd72b72f92bdd2dbe0000d8841ab6d8d0d666e79361abb23b6007348dbbe7a94936dc6b026f3b7100081f547b994e0e0778cb761ebd43a29d8764c7f962a747ecc92e4a2a628f52d8abf43f6e3278a0d32ea67c2d79d04c83387ddc709365c0a0bacc83d75c946e283e0739233581441aeddb0d7d76503d621405d27ef66fa8b5379d178617d4bb5ad59 +K = 53cb2d046b391193efb14a4dfafa296c2ec92293c7b3c7d19a20e68c4a1141d9 +R = e2ff3fc441db4540194a7f5da1ead849c2c3c48dccf8b2c1b3b359a7b16e16ab +S = 52fbdcd5c62a999aab46147fef9e18cbfc7daf680a7ddb892edfa44d285e2158 + +Msg = 09e48a36523b5289ec41859faa141e2a29b3e88ab2d6351e20de001e6424b85337675f0ce26be224fa4f8df0ef9710ea285635b27b297d688e338b5461820b57be4bee21645b04957ca2f6cd7af9a6a52b3c97c5b9db1c2f7ea817cd6d3c8522d4e6a9de869aef26ec0dbdd269c79b38806927bd3a5100735e6f9f655ca94dae +X = 7891b05e24823f283126d7d175a4e8c8124b3776f4f296d0ffc4b5e21bb64d70 +Y = 7e38cb668d647ee15f71ac5d2b55c11fd4731e1a6c031dd7594d614f2f1ed25623fffdc5956f5256e635c914205a2937a6074cfe1f3e443bbeb323a23b0f0fbccf8c1770ad18ba97d0acbea1e846e12cf12c370625b1555d710905eee943539f2241b8fb490c9d6b44f36139226b4c1f00e95ffe595014f61bf579836a14212c07231a5e9e87de4a9aaf0f46f34c9229f2eabb71d40de26a1cbe10db0645cec37d48575a1154bb5acc947becb2a74b07e2a0e45b903be37502f91b07fb4ecd7f21fb130c6d639ef0fd8444fa12de859abe95548801f6a3c40e7a65fd1518221a274d7b65ed4175f66c04d919c86d2ae8c374b14709e9c8a39e1d0c4e9935540b +K = dc24b379ee2d26d5db792839795ad0d4b9622c0e3fd518df541a5f6e9cefba0f +R = e550dc65af275e47be480fd647366e2b055c79ea33ded4f5a9557121e082af26 +S = e26b1a5f27cc6c87863e31ef7f1e61bea476fc5d7c25fdf22fe740f23aa9a752 + +Msg = 8837bbceef577511f2d0c08f790d5d2e8562d93df3d82dd4c2827cd9a9115308114a18c452db2785561081eb523685ae2b3c8b090e0d44dd40d2fc0cdfc88d6f9063a7707df609edf0a8c55034815ea9f1d8b0bcbc92fba513ba81ee646bf98ad4eb22be26a4582b1be2899c91eebcbc9fba5825e021e99be0c9d28642d13fa4 +X = 116d1836a131310644aaaee6ac39b3643cd50026a6b486167cb4daac242a4e7a +Y = 77d7a40a7bab3f5778f85d4fc48b3e28ce28b2df9eb87cc9cf394ef28e8064f39a9690103980a66da219cb5022c101f22011a8157a7568c5ff2e978ba2201367d17c22a867865d00c2a437385627bd088bfcf7219251bf6ae158269f4ef35da7095a53c24f37d61bcfb7c043feb6e93832343f9e90ee7104c80486ecd087be1b67f18cdaaa375e039cb7ad603cb0cd855623e9fb48e4eede14ea3c76a0364aac006650d3b5cd9b474b56f8584be58a721bf34dd0808d334cd8632e808536791fcbea961f7163dad28353c115eb3e856737dbbee03436721637a47754a8a1fe0fedf547b358a73d05b769a95bde3440007c0773a3c7c8dc9714e11c3a10ee01d7 +K = 4a6febb624c8ebd411cfb30c6db055dec3d0d17456dc0c54bd1b43531d4f2649 +R = 7b6b3eaef6cd5fe6daede86d63943478c771582483be0b926ee3022d22ef912e +S = 39d928b59a690450d13359a29efe20cb98bfd3fc9726f80e5148f059663ffd08 + +[mod = L=2048, N=256, SHA-384] + +P = a6167c16fff74e29342b8586aed3cd896f7b1635a2286ff16fdff41a06317ca6b05ca2ba7c060ad6db1561621ccb0c40b86a03619bfff32e204cbd90b79dcb5f86ebb493e3bd1988d8097fa23fa4d78fb3cddcb00c466423d8fa719873c37645fe4eecc57171bbedfe56fa9474c96385b8ba378c79972d7aaae69a2ba64cde8e5654f0f7b74550cd3447e7a472a33b4037db468dde31c348aa25e82b7fc41b837f7fc226a6103966ecd8f9d14c2d3149556d43829f137451b8d20f8520b0ce8e3d705f74d0a57ea872c2bdee9714e0b63906cddfdc28b6777d19325000f8ed5278ec5d912d102109319cba3b6469d4672909b4f0dbeec0bbb634b551ba0cf213 +Q = 8427529044d214c07574f7b359c2e01c23fd97701b328ac8c1385b81c5373895 +G = 6fc232415c31200cf523af3483f8e26ace808d2f1c6a8b863ab042cc7f6b7144b2d39472c3cb4c7681d0732843503d8f858cbe476e6740324aaa295950105978c335069b919ff9a6ff4b410581b80712fe5d3e04ddb4dfd26d5e7fbca2b0c52d8d404343d57b2f9b2a26daa7ece30ceab9e1789f9751aaa9387049965af32650c6ca5b374a5ae70b3f98e053f51857d6bbb17a670e6eaaf89844d641e1e13d5a1b24d053dc6b8fd101c624786951927e426310aba9498a0042b3dc7bbc59d705f80d9b807de415f7e94c5cf9d789992d3bb8336d1d808cb86b56dde09d934bb527033922de14bf307376ab7d22fbcd616f9eda479ab214a17850bdd0802a871c + +Msg = 8c78cffdcf25d8230b835b30512684c9b252115870b603d1b4ba2eb5d35b33f26d96b684126ec34fff67dfe5c8c856acfe3a9ff45ae11d415f30449bcdc3bf9a9fb5a7e48afeaba6d0b0fc9bce0197eb2bf7a840249d4e550c5a25dc1c71370e67933edad2362fae6fad1efba5c08dc1931ca2841b44b78c0c63a1665ffac860 +X = 459eb1588e9f7dd4f286677a7415cb25a1b46e7a7cfadc8a45100383e20da69d +Y = 5ca7151bca0e457bbc46f59f71d81ab16688dc0eb7e4d17b166c3326c5b12c5bdebb3613224d1a754023c50b83cb5ecc139096cef28933b3b12ca31038e4089383597c59cc27b902be5da62cae7da5f4af90e9410ed1604082e2e38e25eb0b78dfac0aeb2ad3b19dc23539d2bcd755db1cc6c9805a7dd109e1c98667a5b9d52b21c2772121b8d0d2b246e5fd3da80728e85bbf0d7067d1c6baa64394a29e7fcbf80842bd4ab02b35d83f59805a104e0bd69d0079a065f59e3e6f21573a00da990b72ea537fa98caaa0a58800a7e7a0623e263d4fca65ebb8eded46efdfe7db92c9ebd38062d8f12534f015b186186ee2361d62c24e4f22b3e95da0f9062ce04d +K = 2368037a1c7647c683d7e301ac79b7feebc736effe3ab1644b68308b4b28620d +R = 4fd8f25c059030027381d4167c3174b6be0088c15f0a573d7ebd05960f5a1eb2 +S = 5f56869cee7bf64fec5d5d6ea15bb1fa1169003a87eccc1621b90a1b892226f2 + +Msg = 02bb64d2d5032f54f1ac9e9ee164db83af0cb036d88d41e9b2118cfc39d1b4b4dc2c497549c7982ccacf665d1b0011268246c7c17f562ecba25e265489873e0dd9268e9b06880ba74e74b56f50c7324d29373853e3a0f3ff787eba4e5e7f9437f8ec8a5e868324e9c17fb3d0e12de2d31d438c5bf38b27167d43ae4311b11062 +X = 521f08c10774077ac15bc85f2f6a03d84207b4ed7bffecc35d730cdd1126877f +Y = 11f3a716fbda7af35bdb62d128af6f21ec2ed4896aa81e8769c6eea9c21c81aef23ae0f525269dc405accef098377f652730968a33b50f0a4c7784345280651caa034df87342ca8973ad86ff7f0f8773a94f95dd2bfa802d268dbf3a2103b1276e06db2d734399f2ab7bdcca097616fc46ed2478e52cef049d19444586e7b75d6a56741da2270f54d2c739ec8db996c71f06a39af2383c611499be0fb34809b171254ef273516c33e17e14048ef2d21d600aa153bcf7377fba9405c6b2e5f2aaf0f2f3467d7461f62e814a2c461e8ac9db0df370e18ec6eed8212acaecf1e7241bcbcbca671060e50c29f966f1ea1e92af6903f81c7ab9ee09f60577bf30c186 +K = 08b161571ed031152677136b54e87119133f7de56268aec07cba07667b98bcd8 +R = 7a5d2016afe87883491bd6cd166edddf138c1c89961e4af6876be08b0e06ad74 +S = 34efbda1849dedd0d1aa775dab2aa2b14c9ba0206592fbc34eb47b844646adc2 + +Msg = 4f1c0053984ab55a491f3618db1be2379174a4385974825fcbe584e2b6d0702abb8298dd9184eef1740b90a5eae850e9452b4e4ab219e187860f0fb4ad2be390ef2ba7d76cdedcaf10aeaf4f25e497b4da951375b687a8d67012d3f99c7b5ca82e9bd0630dffcd635ecd8209cddb872da5bf4736309783345a35376b4fce4b91 +X = 6ba8f6638316dd804a24b7390f31023cd8b26e9325be90941b90d5fd3155115a +Y = 10e6f50fd6dbb1ca16f2df5132a4a4eabc51da4a58fe619b2225d7adab0cea3afc2db90b158b6231c8b0774e0f0d9074517f336ca053ae115671aee3c1de0f85728cff99deebc07ffc9a63631989a9277e64c54d9c25a7e739ae92f706ee237b98b8700a9df0de12d2124e2cfd81d9ec7b0469ee3a718ab15305de099d9a2f8cecb79527d016447c8f6fe4905c3718ce5234d13bf4edd7169b9d0db9a6b0fc77b7d53bdd32b07dc15bc829620db085114581608ac9e0937752095951d289855d0bcc9d421b945cc4f37f80b0cb25f1ffee9c61e567f49d21f889ecbc3f4ed337bca666ba3ba684874c883fe228ac44952a8513e12d9f0c4ed43c9b60f35225b2 +K = 2a4a4e014c94d8546c62f0db2fd488f5fac03073a11c3760376114ab3201930d +R = 006b759fb718c34f1a6e518f834053b9f1825dd3eb8d719465c7bcc830322f4b +S = 47fa59852c9ae5e181381e3457a33b25420011d6f911efa90f3eaced1dee1329 + +Msg = 42199186434d6c55bcef269bee685c4e1580e243027ed128ca99492033a52954bd1ca8ecc5043820725a3c0d71a181a05aabcb4ecda7180d86855e7b4dfa9a44c7af4c98fbf1f0624058804fd8eaae4990d4d7bb75f01741ce36cfc9c137254cab065a4617d0d0cd5f58ea56868a40f3e0baf7db5d2557f4b9775c1820dc1d41 +X = 46d690ca6b9cc01e9a8c7bfdedc59a97eba52f097b8fdc19bc1f8c0ab5d4bfdb +Y = 6364a35ae994f27703319c36d90793c8f26511846ba06038995b6556e4443aa61eb0f8efcc3d47f7c5f85276ea921da0784a67998253c992975f9e13847ccad099d9c1e5c94cfb195488e1293e23b74db00603e8bd6814c94690bf0cccc1c0e47f0c6609a48e144587ece178f72c8514a43590bc4c219da95cbe8966f4404fe9c288f23cd0f973e77ec84b4b0f163b50a3c556cd1d3951faebd982af44447e60d7834b93b6d9c3ff0961fccb908312a24376eedc508f806668d6617b77491a01d5d069d6ccd5f21b5eb3c3a3d4a0479593845c72f720157b188d2dfae4401c57a600b142b6bde2a69f1a0afba2f507a63cd6df056bb5b34fdfcee012d341b3f1 +K = 638e5fd0885f4c9f7e5f4e6a103b2d2d9d1368c493f9822ef431f54e65a7a3be +R = 2551d4f855174f7b28a782b89697d48fbc314cfeb17ec4c9902a8e557cc6f6b9 +S = 278b786f9e28eeccd00586b445e75f48cf2649f3f1b7bff72b0e767f3443dc58 + +Msg = 4fdd888756ac68f4c29cd5b1de42756794570ca8f18ff795f6f0fc856772b6a2189b5ed4a9b7547328075b56c28ddf50b84c27205cee57b29d0b387970e89a6a2236293bbc9e399013d1dd3bd5a10ab0d259f7fda704f71cbe3b8b8752806a0c84668d85e4d739cec628dff63371d24a4b14137382759ba400df0e2c25947d18 +X = 49da89d1673704d1f24ac7dc799bf006aa7d606c590e5e37e38032ec51a70376 +Y = 5b619845ba969f1ca5963fcf04c03aa40e989222774e957a54191acf9ddc407a54a161e22a5ac50ca5d61e6601cc7995bf0db38ff0fa1f77b244fe98148c81f208dca29ffa30f1131c76dbbe4303425e9180b4a48f22c757ed8e388b61bdc6d55519523d00c31a5f8376640d4688e60dcc172deece73de28437e900cb19a5311a0c9ca9af6cc6eeb6844e9b8359e3ef1cbe03784107d2d0aebec7c1d70d9385a4d2b8033851f5d5b7aa18ef570aa037fcbd3e30f2fc2013ffbfa0787be6d59ffa1616eed5e121ee4dbee04a9ede004956075465a7688701e04ec9b2153f52cafbff7ff9226e69397c7083c3aa536d7109ee430a65448b10c1818c70510a339c1 +K = 14dca45937cfdbca5c799f2ca50de2a44d8051e6d80af242c9f4d614419e6e07 +R = 4b90993d707f3371d0a0cc87255e99a8fba18c3b58ddddc1067cd394172366cc +S = 4b2612d506fb85e5aff9fcd56c09bd12bf60f78ab7dfd021a742ff85dc507ae2 + +Msg = 8507db5f1df9d22f447c20e4320f90d9b30722197196d1a2418d06dca41b3305f6fbe52ab58cc0b60ef1a1d257fc2fb2062fe6c5f2a25f0293ca39d0c083cfd5e4bdadf2169ad4ed178c88ecb5554ffa2b53aa4398115cde627d30144ace9325b2d79d7dce951509d734afb0ff6d9265b902672eb5884e9d8acff0ea22c76938 +X = 82ab2908e3d2335e07c1002764b07b1ca46d039a95b59b450b16d37ed4838872 +Y = 438831cb0eb09aab24275454354ce42b9a2eedb31f421219def74687e6f9c92f0b1982355cadb26e095b7ca25de530aaba63e64fc23acc3d1d1f1b70cb726156ca0a799b59094bcc3b8998a4ae7744d215d63b887082f4c84128e74b9b9999c60cad3bc6bb6f727284b4311a929bbd964c9a7074e86062224dcedb58b9b598546ac95b3b434ea114ab0d678541d6caec0c56009bc347a425f167cd32a34eecb7192424d57b0e54b4a9e82f425138703ce89b189039e92a770b51497f8f10eae9c3459ed87e5101f5ab1b6271485fdb2dd3dbc4217fcf67c7e92d0096dc7da9727f5a434b7545284cd8a283070b5a49d711dffa85904311e0345a99147a168ea0 +K = 1ea475584982b639ada8c84e51ef72738390ed6fa44395f11428dc5fd794a81e +R = 1d2781f5f9d08ab2feb1683942c2c29a66318839a7dfef9aee9cd7a89efe2ab0 +S = 3adc7be968502ead10feec191e212ea0e07d449006e7f22ddf869a9fae711834 + +Msg = c7844960966584c8e3a59dc37df37b7eb3ad333148a32b86c1ec18072f3b316c59cdef98ba4dc46f532a4280200c225fac6cd1adf0a45382c2d88054e447740454976e5272330c7487eb42a095f7314139938c7419193b1c128054c1bbf10d0634e22c6e02d8e12279cac0bfa01d3058e0f8d5547ba0f71529c27e0084d4bde7 +X = 0c76bd647c6fafe7da1029b9bf36a9f042195691a26f36bbe0eca3d4b1e6cbb4 +Y = 2de9d27f1a030199ffbba770e08aeb1ff3708edf8ebb3a8e664e3bd1511db126ed87bc44c2d2af40b9d512c50a4d6c10b23e3ca61819f5841cbf5d0bd6c88d46f1ac6474ec20b9100b328cc155879166f46b6d71140b0cfb2b0725b64a38d70a91ca8f0e3baeec6125262c52a95d5ca5d5ff6f4482b1825006cd469f9e7f31769a73eddb5f7017f18bc747ae4fce450c4274f4abb960577d13b6a77dd99e67d11edb413e428e50726f7052e53565fa1d6fde91859573c9289289ffef0598802808ecc5501cb300e06405ed0febc3df23f40a1f6532410f7d9049b920216f7d5c7a728c8dd63a8d0060fb53b3543d62a636661750fd43775e80b509004351475f +K = 71e12996d8aaa7cb1e730713fa441098347ca95eb39362c5a78ee6e847469c7c +R = 09e654b17ab775959628e7cad0e27053ee495bcc29cc2a5e3b029660a77b1330 +S = 261ad41d6bce6d04d891a43c16ec2a8114e51f0e47b48b1dd1f3d626150338fb + +Msg = 6f3f74388cc90b29c109ecbda08c79349dffdeb90722974d79d640620949448f66ae673eaf4d4af8c43da673a45ed152ea66fc97166baa7ce8beb666bd57ca43da6801c0ee5a5a9b50c5047935d7a8552c381d93eaf03cbbbb88ed0d3b5a2521b67612a4405120ef0205e89aeb48d577bcda3ad20e0a7cd07f8c9b215c845dd8 +X = 34c0d0de98c85be291b68a5b8c7fb3536b6f7447e8565ead9b002417f56f4616 +Y = 080ca412bd197c5aafa2c6df5933a6210fa54089826828d5496b453609a56b7d55d232fbe650dd9f62c05c050c026a8717a78b5db01614a19301c610d2b9964a7e3357c722a4c553273bf27f871b4b9241678c334e20827a5f511fe9319a075d12753ac0960df60870a08a12f09b9d3593781781a0cd75e9d81cc6b9b0d506d100fe972165b68297e6070db2d8b6ea32176d1562084f6a06e08e2929155b255d33853de6549e79f8b56049a1d02f29166d5f91cfbde5aaf6bcae56f5d2d90a9b4e8f6f450080cae8256c6619e9155523c2b2052255a8f6d9f53d8a897be5b0476002410bf798256f62bb1a81827c2c3fc4ecf9abfd77e74174787370864f05f9 +K = 8086cc691e7e793a5c2a81bd3d5a1ff5ae261d9336b33f103d983a817f7eaf7b +R = 43993b68e847f6ba61d5ad4dc8f5ad70dabc317a7b6811c23e7f215f95415ed5 +S = 1ea727afdb907d1d5b2337c1ecea46c71eb0fc8363af23865a345202a762a7c5 + +Msg = 74a433c2d313f66232324df875b82563805d7ed682b266eaf962375e422b3abbfe3dce7f3c1960a1e4100f333e168d021968b48397e8cce9005e951fdcb096a9abea342cb5b08bab79ef0c431dd3a43de7d5bd6b86bea8872ba038b43a236a7356b03f89b09004ba2def663e6d299763b6cafcb6b150a57f82b890ff6d56f832 +X = 5c1a80e926de194995195c4cee9a2e874c7f6af0fa8a4b2df5432f9cfc86b643 +Y = 444fafab58db4d6f5283c3443d6478b5b78daa631bd4c3d9a28ed17281da4c1c2ef4d5ed576d66bfe5314e11fe68abffe4df406f6033edb84f36a38a3ce614601bc25841f9419afb2867d991e87b44c4b744e39b64079d9aad4b585d79c8e21c8f90990540fec8ae981f7483dc5523d216088a55cf2380ea8eb5246781290559ea1b208ad4d0f5871cb4d13cdca6ef34fdf2de63e209aa320cdf14185b8f5f60ccf93f398c1a6cf8b3ce3d98daf05e4cf90c39801ce35f01ec76a9f6035ce1b5ba107a5f66cf253b71fba3833e9969c314eb6d500005749231f799b0c79a555a10cdd69f8eec4c117d7c8b4ec6f60a1ee557b70c0dea380af53b92fdde8823ca +K = 13dcb7c12aeb75a417a93a22ce94618716996c3350909cfbff6d38b603d377f6 +R = 3bda5b0c9e3da22f0b3e29356a2f7ddace6e9b24a063eb3f5a7d755f2eeaffb5 +S = 4cbb815320314a06538d2a6740e6bf9d022eac9aa25c7508f659f0f7c1f59c45 + +Msg = f4eadfea117fd3d670cea28aa9d2602c951ed843e2e8cb2864074c8c9bccb0606ced83ae2980598cc3e1b047fca8659127406d8f59f5b7bbfe8ece6d3e42f87f4e42ebe92adaa1e6e92ced3dcacc2e0b2c98eade7c9c99da887e74db5a59132c1d7df7cde866cb2f3ca750852ba53e265e62bf7a93fd693e4a13751e186e9d6b +X = 6abf7cc887544bf8d3256fb210848eb46281526b1e8cdf6c9204c4c46a747435 +Y = 104f44fd7669607644ec55e6ca4096c9a279472752a1753dbb9f2a6941b8122274c87d16f63d75dda9ebcfd6584b0cb374fd17581353d2a246ec0b378de60e9613131683c0568bb54d74457ad73de859a4f02445344d13ee928f3cda5134202a9388e64cf05f8190049df4e777709838d0c9d3bcb37eecdc38c1a5d2b471c4b910cfaa9a9ba81f69b4b45c40344029958fa40000e56881bc6a14864330d5b351c161208676cb852bf47970268d37d4bfe97b3b26ef5b785f50ebc8c47949dc9bd0b2e673fb040e26789f3f5cdbce8e4b78389992bb83eeb2b063e9e1db06a9ede933faef7e635effe5e1b1e21153dc6934197efa1fd68f18a40ed569746c8374 +K = 0711c4621a8bcd40ff3e8b95728ce67a000e1fa33741246d420b046bdec48657 +R = 36c086070368265f736e7bbad54aaf2482d26161f8057a97a4b8cd2b4ddd7855 +S = 31d99d736ea67014fe59cb2212c47eb920f2af44e32b65db15af83cbe8e6aa70 + +Msg = cbc37afc75177a8386dce2c40c33b8f5dedc23113b4512cb96790f2dd74066103e0c45a9c6176ff96b7d719162003cee10fad6ccc198550a389275d21e708b6961523272ecd5efab5680ed741c2de025b02bbdc56315a442e437c43e3b378e6d62ea8878fd9789858a8c68a504bff49516e762a22ae513a2dceba9253b36f553 +X = 7c6ee86f45ddf8b87f8884f59aad9e320b73b246a80b26a645188a40a9bca62d +Y = 356cc7370c840fa26b0d106c47a626e028a0c967c093810b520639bdda0d339b7fc29adc0d9036b9710358ef9f8c6c05252b278281b2afe7953886429e85d228fb5474acfd65213151e9da0aef86a66f9f9c59fa88fd48cc3addc83d7adf4afb1665049ed094020219c01958b697f22e652152e53bf4e8f68f476a58181ddd3f64344e9b87a08c5d0de49e7b3c2995840c200084e90a76d2c05f8b5c68e77192d0676b4219d4579cb2de0f2a93a916b4f9cfe0d8113dc4bbd97ed12d8ce0447fcf9df12e922c6383ca69c9de9ad320f9c5331adb6eb1d223079196a2939cc0a7259c512c478c943fe05736710e273e4b5867174de72e703b5e7bf7afdbc06427 +K = 685a19da2ee3dd94fe9726a32e712fac05eeffe11e3dd9f60e6f90af7c13e23a +R = 5645ef65e8e9236d874d459e7a5809923c05d64b22757bfc5b5621079e84819c +S = 65f4c8febaf3e9d46581b17685c4f2ec9b956421d034a2c1aaabee94b787a4f1 + +Msg = 8eb3685c3f406c5615e88accf4c0c7d2071b6c7bde5244994f73dc04f3cc0ab7e2b6664a1994e6eec52b62790a04328e436a2b4af3cbe3ba6e4c8f363a39b2529ef554c0c627f9f6b255928a39a465e60ac50ccf01f32c7ba483640344b6a8f583c90876b84d19554b0a4baabc2c240e296b12c819410cacffe7a7464419bee0 +X = 7e5e3d7255a629c39f88b6046fe0039159e44c2d2309b112ab05c61561d9e44a +Y = 94ba486977f5982f2ae75e986b7e194461cc3d65cdbf26f936805d12d7f850aad7580206d7dc544cd12ca1891c9dc406c949e52b9febfa88836f1566d521a110bb545e07ba28caf07e1bbfa3b176cc917cc4bb45dae7f873b72dfa9000e9ab6083e705c0167d853dda114c429fd812a05961fc2e78ba9e68ccdb9dc67b116f10532034d9f0f7d39901dc643127c4309058f8ebf43b28a5ce534e29d6227c4ec27ccf777b0008df5ce8b8a19b5771725cb0f9f2a62bb41f0106c390803a307c60acbed6c2e1e0db5036e0e79ddcc3f718b29ca5aa022f2f0bbe815f9c0eb504fc9ff8d18a2da999023af8105cddfc6794dfdcc41333bccd446ad7b82a0a7bfe38 +K = 3966daabf7854949475ff47f3932393a73f21e275b3baad861a92a3ab322e376 +R = 27b4e3c3a45efa6131c3d005ca924dff11fdccf409c2a6993fcb505477b6e400 +S = 68a085bd130c4ec08aa9673c495ba5afd46c9ddad2052ba7ab396329d900d86c + +Msg = f2b02ac627b3f66baf4ebaa52b899adfd7071af53e78923182d8b4d5f3a9474251308b4dbd15fb6b657be65028a189353912d7c16d6d4989985c15cedc4343f0ceb680617bc7278511f9068abd613718a862513ee514fdf80cd25b6f84c48851e6a7850feaea57ea20deb1123ca4206bde8a93ff999ef789583e2c850d9e0635 +X = 7e52070b03aba0af4cad1cba0a733618e3adb7de873efba013878fa76331b5e1 +Y = 4e160d6970683f4d84eb88c55ba2da58d77f6374fc5127273d65e8ef96ccfff51df69b0e2fdf3e98f6d35e6a3dd9f7edd90bbae4c6581cd02ad01336c0086d4248eb1373480789f7d8333b831db3bae0bdb49789aab93cde1faf1ce88dcdc7a1a4f86143ce44f851ace459a5528c96195f4438ee7c1856ac61fd5035d839d62e48a1ab6bd23ad52f1f6ffed19826b6d7f6491cfb05003176f29079455443f0ab482150fac8e32a3902a4096775f342edee2daf4c4f338d455b4ea35d3975f72be85e98e87158486b4c3d6ec37a3703f63a3e19272ba5255089aacd30fa3979b458df616f57b7502b4291384562041f6188db503f3df7f5981da5705eb0f1d242 +K = 57c141f543386db3bd6a97121f93b47e38891796f02565058ec6a5ce65f7a212 +R = 6433bd33db0ac8261c691af3a27f52cdd4a65d799939faf279ac41788e7528a6 +S = 04cfdcb993382e8fd2db8d90dca80e94b17b432009852cd3f86625159e837c19 + +Msg = 2b4365a4ac6854c972da7347af1cecc6edcbae9d533b74fbe6db5712163a6ce984f9d7a4c54b44dd7555e5c2d2f3d098f31d517f8ebd330199a54b15297e5adee1bdf391581f1019b1ad72dcccd5484b51d275a368c69a7662e79f9b29c9a3084c94ae76da04f958c7d36cecc5d41d77f2302ff28f2ed9c66a0662cabf51c842 +X = 35b701b7d59aad55eb4299e0f9e0348baec875eaf62d2174bce92dd23302a81a +Y = 58e635eec80bde1eb7bf2da20600617af29f0a191705676bc10f7553f7611126e4c4d44bcf14f7a9f48da6e1b1e54d0a715724af5bca93867090f9bfc92741dfe1dd4f06075ec2a9262da81e0dcabfcab9e694ddca86d0e1cfaa321e2b5818182eb620bd5d16bc27a2da035d4bc17807cfe8ae3038c5bbb8a023fb232814b91b99749f519de39aa0f434313323b1b58202c59119b0be217617047c9e2ea453d608562cb96c4f0851a7965b164f9bbe151f9c508ca209f1af659e363804c8d8fa1ad700e20866ec9a1e505b74bbab70cb472308431a3e87272febf7cce2c20ec37f5d68b4e47bf3741013723936db7c9b0f3ded964acb7f8ac9c5a6b4f28de198 +K = 1c6ceff82adebf8c81bb4842b90dbe2a12c9d07c3a9d4990d44106a1768bb082 +R = 00a7c664c544cd7b61749410dda33bb3a47c3eb5a9a7be5fba201a390cecfaef +S = 6fbbda967b584bd9ec6a0ae76e0c552b3d42bf0e9cf2939caf6123f6e86046f6 + +Msg = cab1d17666b0c9658cc78cfcba17a08e2989d3c202c8b5085531404d928c618b6e230b25c46a5b58437e4335fc040020ba00c863182325940f00aad330145e666d07e9e9d876137010932ae520d9188ca3d7993c905395219c55846d19b8fcdb1d0c1586b9b51097afd6972ae1472b0e20453f8fbd5d6aa9e4a9a9b3dc37dd8f +X = 1ca2b291707ce4f70e366ee97b5da158a1c985ba4f252c572f0fb329e43f9cb9 +Y = 5022c8a6fa79b7aa11a3d7af5acebb2ef8c50b28d8f0e3a556196562d34131fb44f22c3be3f9895e35eee70aa53b6c67920c540ba6c1085b0ea818b12aea811f2dfaeb6daed976e362430798fdcca3912a0891e7d1c83b748af1e7689e038b490eb73f7fe6e0612e8f238580e78833b20727a602768ab2d59dda36e75146fa4d3664f7b0cef7be877afdcdba23004ee313a69fd61c326759e7e779ad750f7a5cad9fb2dd80a8eea6dcbda0195dcc17b38ad6f0e2ab68cfc69b15c572f85f20c3679c15a83099cf08a379055f8fbdd8f590d43bd12f75baf0eccd6c077ac7589aab8171e8875db0122e6c78617c13586143a7ebe904a7822bacf48a7527f7fa4e +K = 4f1e2aae323c5309b3ee5d3b73e5d4090c75da17765559e118bfd1460c312859 +R = 7b8b75ac8514c68de0caa98e9de0b9607253d8088d3feadf92b83ffc26e088ce +S = 4b10e17ff64a0eb72f70a863d00a9bf331bbb515ba3a9fef72753ad7f0df0be5 + +[mod = L=2048, N=256, SHA-512] + +P = f63da3be9a9616196c6556f3ce6fd8b98bdda9137473da46fed970e2b8d147387a81922065d528a7d6433ebc5e35b15c67ea35a5a5bff5b9cef1cd1e6fe31dda52838da3aa89b9b4e8d9d3c0732ccc4f238ce1b416c4ca93f2c6800e5f4ed41c4f7615cec5531b98680b20dc63f73e70d803aacfaece33d45fa0e39d77c8508209528b9046b5917010791234397e412d22bc0b8d67cbd1cd28a32c2460a0bd86aaba0eea80e16e3245643171e34221760c203a56b8207a1009e6c1a2f6cda85f85c4f9e410b9499233c0ee072e465af4fb4fb9282c5c10e8234fd630ea92f0aae6b97a520db34475707b79a4c175265c0356ccbca827e3837df3d6d0576d9079 +Q = 9b7463f8269f0b909abed10991684f36a64ac864e0d6d717c0ef21577a4c3907 +G = 972a75f606e8aa3a91ff08fd131a20f5963251304e3d1431b712fa0803d527fd710fb7eb27e52904971cd43ca977199a24dbeeb4b7bc2ba075d3b72eb6b2c5ad8f0e8b8f48c50b554c7e0711f4c7416330806672498f430292724bf98a8ea48c7f53d7b31d8b7528b1a6f087d2c27c335202835b1e314225b37aef8bfcec7d80920c4a460a3d68344ded75ed9ee867fa2a6945063894f563b68633b8b39f83a1aaaf5a96c7f422687e7c84cf8fb8cc5f4504dff087bcb26a95bbf8583f03b3a0e43a356b2bd7e25cdddf7a015300faecc6793c5ee99b6327cb8456e32d9115339d5a6b712b7f9d0301acb05133e3115e454d3a6dd24a1693c94aab5406504bf7 + +Msg = 8ab01510cfa33cfa5bcff003bba39996fa727693abf6ac010bb959b0b59a15306c0c3a1921af2a76717aa55b39fa3723f4c3229ca9acf6b741614bb551cde8a7220ab97d4b453bec1e05a0eaa42e382bbc7b9b84f8237dc8964ee5b66e9b2a4ca61cf675140efef54fb327a665def8d57ab097e8c53c643fcb58209c4215b608 +X = 5f6e545daef6cd1b8d9848dd98758807236ac0b7ff053b32c703eaa3b1147557 +Y = 41197ce2233d7e48c803cd64c78f657923b9e36b871401f8661c21d8ba38c6b9b3239db767b11d1d401e5faecbf7a45860cc5f1a54d60286b7d6e1c99fd5b8c84ed851c5357d41ad60163f224d78c996143fff89dd3a8fe123dae1f621427fd8cce76ed138d68fa248f374ae233249625b93f3dd5937d15e541b7effa4df4fea7d52faced615bfe0348418ff93e69a20a52e55c76cc30f307f84e71e4aabc0825eca3a95b4bd58ebfb0029d23a169e9d80ba7d1c5fd35395e6602e089aa9918f08bae35ae1cac7af33694129e98f0dadadd90eaeb6eed25024390b1a60af794734c397b0f509865b134b2867c115d6f489b6dd7e3c82994b45dce2a23c6bc902 +K = 5fe61afddbdf04449b24295a52a1a037d3f31441a3cec138b7f0102db86ef132 +R = 6a47ea57ceaecc116d7190ff6c6dd9831ab75b4bf6cb291083e4268b486ed245 +S = 017355f698a32abe9a4d4a7dda7c85950cddc348ab8a6751e72fddc01aa5d1f0 + +Msg = b2f56948a336982a5bcb4bb5d79e3fe5c36081bd286e6e021ab29b522f0be5ff5e81e638f23d0781c268a89b09332575cb31c0804bbd34c80589fb11570fc65b3f67612605a9411cdab3ac00ff3fce33ab22c46d26bf9c3fc5ad2d9018deb9b669b50fbfbaf8bed6230c7bd621d564fb1af953f0e82c5b5520ab97baccf58d6e +X = 91e01626208863a954eb8987f8e987c8e6213536bb18f5afe3bd66a525bbadfc +Y = 72b84eb6a60c686f74f376e26b2e47e44a6d5dd92c06fde49faad0af9b11e43147ce9308ef3501a752e7bf18e9e6df3c0a49c44cd2515a05508f8060a61e6e6f1b2ecf14b338cf0fd8b7ccbe678d52dbdf20352c155a2bd517d827d6cefbf48c5679c998298e2186ef1098160dfb65914506a177943a4a058282382d327ad36f88301be693c02000c72463e682421a0237804dbb27335c78e8495fac7842d2aafebf90f3c3605f758615df989fdbd06e23e4ad6974b62384f0aa01027db89ac3dcb01cb5258cdbd9c19372a6c4aadf27298062ac9a16de2eb076e167ad7c65d0505c8fcecf359bb5d05cd22e7d48629af539fe7f60e23e957c84c7a61ac92bf8 +K = 6aff566d97cc48ef6bac507d64973c95da14fd704d3a5332aaaca2bdf21e894e +R = 43704e96cc8d63e6f5b7e118cb7c030d0bd563b8f7a1a304b368a6c66d7e7fa8 +S = 490da43fd0f19fec4ee081cce25df6b2720b1a76b023c15704dd03ef1c3e48a7 + +Msg = 9ae8479327b8b8a57f570f6ec76a1ac6f02b198c6048a1f096e6ce5630b6caf363176413d88033b1cd07f4d3960a12dbae8a659174bb87c37aca6ec56ed5a6619b8ba676b650d97c6a21af023985dc361fa234b2b3c17e77703ba99ae3211260da10a60f240eeef478f2641184a281716ae57888117dba992853f494ac3caa45 +X = 8a5624694a25209a5fb3983ecac3fedf508e0b23e878f60a18ec0e897c379f7b +Y = ce348b5cb3d36808422a5016dd5873df79f3cbb5e1b458e8c1110226047543d965769a112adb4fced0d146230962a8d413225cc70d810d40e6a72e6dc80db509400c09d263d66206966ed51ab65930a2aac99fcce3a398b64d59097683d2baa57682705abc32eb8c32d6f1e7d94ca17ed7067822cd20fba3795ed1843c01b0d7551c7c4c759d53a4191483bdc6e3121c2bc12607701f43e3ba382c6766819db07ef9c59586937514772c2eccde4c54d92575734c45a8e832c4417b43a92c9abd152259cc0a969bac64b237bb3a0826ae72919d7c2dd2efdf03e83701980c2a8f50ce6e44d7cc8848645bf40aefdf24fa7a6dce5a3b9aca6f017618a64d91ce4b +K = 86c3ce567e7995a61bc00e088ff2f2a425433a453252b1a729d8d85ed506bdec +R = 0091d750ad9a4f29573fd457a5891b68d4b6c15703a2bc192c7c620c4e4c4529 +S = 92c409c8977975a417d9f5e0e2dc70683a53a95662ad270ae35d496567a9a2fc + +Msg = e5a1a344c25ba0cbbcffe6800135f2ede81049180fb2759fd9e1af3b816ad5436a24faf29cf3ad91cf413332f454f74a9d4f5efe76cf02512c273cd525f04afdb5c24b0588d611d72153680d1e3995e0aa750e9077b0752bd4442bf7bfa8dba38e1c5e7ddd687f55aa54c138c7e6d5f064f3ec55942dc192dd996e553633afd6 +X = 976fb067157b214a80658e7ed2f566911b35b1671e5c0bdd55ff5811e822bf82 +Y = 3859d4735c14baeec14b79cc2693ffcac900a2c26ec634a8e977d206ad6ec7b13f2d450ef04782ec0abb0da48f000628cec1f6e9a727bb59d7c0f0d743f513ac0925beb61bf3ad75824fffae1eb783eb1b68fc40d28770e280fde23844a144d4b1a95409b755c7ff2e5c67811f3b1c2eb96cb159a642d84dd7b5dccc2c0aef06d1cd54eac94a11273f9498f1e7a7cd79c108e496dcf573ef3a6610b7731ab14c162ce8377cb9b90788e356f51f4b51a1ec8bd86bd88fd4c38e62cad619ab8941bcb98a2f35ee512f4f8ffdd5ee70caed8467156b893b3532a0a2aa5199ceaecc5b194bc057964cf450668c44f27ec80de21ea1a415ee6a6569832394f6b405d1 +K = 1ef4f08defdb5c59a3df3358e083ce804c969d046ab67f2f938eb1a8f06a5d0a +R = 443644e127e381b17bb66c53509718a58a30f927425806a62840119e78c293b7 +S = 3f01e5d1e9fdb1cfda25eff3caccf4edf599fea277201cf2b01ffd7cb1a9a727 + +Msg = b88c212070be398a1f81e85dfd71dc2424a38ae38a9d61085186504f4c2cbfa492b76dbcc051cefde0616a7e3310b4bf17244de7d10f847ce2a9f665948e76724d8f1f4bb3a61919b2ec7dc47ad8a72cb5998b79fe3a156395e4ae88e682b1dd16c52d64cb4b31c39d4a42a21e6242dc0cdbb0acf3d47182638c5f216dc6e8b1 +X = 02163cda612e84eb5ea9e4e068b14c10dad073409154d86fea6aaede59538d2e +Y = 541c690f4ca0c42e5267646f78ef42fd68c363375b2e983be444e4819e63cdc129018bd3b8c6da8b707c196c35c93eabee10e875c41fd925bb3ce80696935d16313fd3a26858eccf2d507fc2a10950525c670dadc883dc6779ac1ce866d8820395f3541c863018337a6be944ddc644aaa6c007197d7a5f9aa53a5e1180ad51c98be9d561a85fe9734160ca35e4fadb02527ba0fa58041b4d96385f7f8ff6ae756add4968c0c2799c0d680f66c8ce96f498228738e3e87b7c866344db7d5a4ec3282431aee5951d9b4c83ec2a0cda36cb2e2c437363ceba4e8e9f6128439d12c51868d0cb1f61e53a68d4e71c5a9e7de43c6dfca26f1741aca916e4282653bfc1 +K = 42cc30e9591b42486ce9998ab7594ddabc5328ca2e931e08c75b76bbe1f8b978 +R = 078a7146a2c509b97a6a8c963baf1fbfbd1a2a5aa214a15ea45763f0e7930beb +S = 2979cbf59adb70f28ac4fcb69297498f8163764c62b31963da9c8f9c0c43e075 + +Msg = 4adf1ed4fbb5b82d7a2b1a2938430753a6207da1cc049574f0a19314272f9a80c6a53498b78e5c0b7401ce485fd4baebc966da6c1fcb025816cfae32b58aa87f5e8885054735f93df19ed32c819786d4109dbda047d68c0589330715e10522643bbe27e32c0dc9c58336be305b4c0c981b40e0eeda0de461d8441c02c18ceac5 +X = 5b44bfbb69277fbe497ec729838886e7a787f336c246551526b660a7603d167e +Y = 8b6927fe293ac9111ba406125d6ebfbc30f96cbfd696fcac7dded42305c6105453accb1b0ca6f0f31601f8c34f96bb8ee4ccf149923a12821dfaa2a3859a39cf82567609b2060ff609232e90261d66cf31fb9264671f3f1bff6c8a958e5cd015dcc02dfd2f02fb6a443c2bf45abf13862059df98066e00311bb6438b7fe2d91e287553d25411f0fba47417c2902f978c57257ae4eaa3f99317d5adee0f9adf4d41e41072552b3f51eb9936a7f63cc28b466fab6429d06868d18ca09aba634093767192049b02bcb752eb674c98a86869d6726f742e57ef8c3d4531171c64f03e10a4e44039a44d407ebfc6b56a7cdf6b17394b53b5604347c51cf375551b7306 +K = 5f02472e007874056abe7194e80845b81baeaf4f6f564d3640373757f4252f57 +R = 5b201116d8bbc87db99001707b567e7c3451d802fa6c679bf3db3456711a1913 +S = 5be7e4c493fd5d19b771373141294daad97656a3dbe3fd2abbd3b6c62c166126 + +Msg = bd491cf68b34f7ba9afe0c6ef5f2b7956ef964465f28b2797bc1d6e670a6d81730ee2993d0b4aa96905157025d775ba104e7c19b3b372e852026b1286cbc6a48a10cb9378e97ad966f9cf03917ee8db75b6264e9b0a48a0ae10c2f46444710d4234126ce456b9fd11ab7a3504948d046d5f438d893d9b1052b8fac9547415472 +X = 609a372d3844ca8224dfe780b425e1a7c00d09957a862de6f640af57c086dd6d +Y = a92e446510764ee1cf81c6b59b5160a7608ff8952d045dd69f034fdfef93f633607ec209b106c6ac8f0cc6ffa64bb9a4484560b838d6f24c993a954efc9d5ee16656aaba2a0d5a94e7a346c7e501af83f131db9e0cab8789fab19bd591ec227f39b349be7f8d0df58ca0396efb1e76549335904b88ec21cd3265c543c4e80e9dde7cb5c9ea8cdda23d96ef1c3839ade8ed4a5cd5fd98b79bceeed9c641c5a7758d0529aceaf27b5014f13dfcaa267a14a0841b36897b6e1e8917b7f7cbf7cff1d1953ac43cc04ab06cf111e006497eb42f28cbc905d6f1cd5d8394857983e1c9e552015a451d0c13a6848a8fc56b79dec1723a8067ff18931c852ceb81affec1 +K = 8c70ac971b83f159d2e6ec26bca1463aadbc8e9987593f49a9258f7f0de9cb38 +R = 0cf526d8a0f9c912d143f3f8afded4598b2a5aaf200e0749ea27defeb7f28f3a +S = 877a9066f6c5ae78251d9d140bcf39ae912d18bf131bdc7e9d61012daaa4292c + +Msg = c00a8a2fffd10bc2eab63b8e375d0c10f9dfae2848ba42afe6085aeec26e21af3eaa493ce4b3d95a31fa502a60ab88e805f4fdf889ed91c15421718084cd0d644795749b1a6b183d74782d52c7babf7400393cee698af5dc010c0ff7f5acdf0208f93ee7e4ef58da123dfde7f0a34e209bbaec61007293fd11afa60b6522c45d +X = 683e924893dbbd751e0a3f910867471a6410fef562cca9f464943abd88e0430f +Y = 7560105b8586c4532bf1b51e0d2cf9a713a5ea5d40e262ce01ebdaf1ee53d857129e1529a0f8dff63e86202c111c6eb289439cb15cd59fc218abe619c9516250f127fafe9a53076274f306f0b7871cffbd156b1a8819795f0a9955864756650274b83e67caa4e215f833afd5a77d0594b21b4b54356a98a56a0bf6177faffb9fdfd888d6538a1ce76059854bd1f0a20761281d7b751757c6ecc9b1e8131196d0669597213ae73edb9965da9ff372420851155011f691a03a7f1e2040291575b86f595998a06ef79f4eadbae2bd9e2e477dd72684d8efdc1e835f7f0f5c93635c181b96cc7c0eaa27ee62c9227ed9485a8c822b3224e9e2b7acc10956f3d49a6f +K = 3bf5f524e3a3903c149958d10ae68f0a87a03821445a98b0b9d08a3689738853 +R = 98fee10c85ab46d334758734819e68b5046439cd0b66be26d43760613ac77b8c +S = 665fab98dd437e06a4f877ee218986e37c2cb2d237e598d98f1b7d4e829a846b + +Msg = 27f01b47d15f7d196f2667b75ed15b89d7443fb4fab068f4adb67175ca70071d52e270f68964f9fb0e0e14ed5d2954a33d93807acf3c82500e8b9f5fc5510cc3bd6aaa1daac8309128ef4c0b4cac026425aefdd7e69c22c32e5f8d2a6e8f2ea291ac33da6c71a1953e443c0ea206568aadef2b96466cbf76bf149d89d86f529f +X = 285dcba140162fc203651c5ff7f1155341436c5c5c98e1e9df192b3c948a16ca +Y = 38fa994a1f61ab79ee7a7e6f689c38f6c2826f06647b1663cd812adb36d7fd7ccc50e9a90d02bf7c3f12a228c692c056fb3bd608f51aa401022c839791e6a678185cd31d88cc661af29e5d238142181dd3f6e7c8b05785221e62fdb36c71e07f51d732e7e0cab520a7f2fc5b1831b0a6ba280e00321cb9a025db6538abd672463dbff5ca81993676bcbaf0f6e9c754f24d654ee7879bc03d7d4bc8e8ca58fb9b3929a3c38365cd2e205729e9def0a00108dffe9407271e17d355ec4b29003e0caf0c5b2acb9bd8e52d4410baa9b97a49874c14beebf03abf28a9ec59bc1738b8dd4223d47aa336acbca7662fc69a6fefeecffd47f6737ecda331d1ba5cdf023d +K = 4029e06b437cbcf8e0788a393ba3aad0d182564ab6a53565eec1755c4f4b6e2f +R = 8dad02c02ad34fe4e758ff5c81d5384c40d2c49d0ac777bad1cdebc58ec01cfd +S = 0fe4e1f6875c113f1c17a0f0ed228d44213f8d7e2f15567e57ceb2e8b1098f7d + +Msg = 73cc5e4a188d2814466941389014ea45a1a06525d2069cf4883ebcb5f22ab128c00f041cf69fd94b33fdade78548f6523c838b87ccd868f3d3d0a9a000f278ba54048b9cadac7a99d98def51713191ad83e5232e3e86497245c80bc710fdd7faaad88ce92c894f8cad3de0075caba337a222cb7a3d7c2d937bcfe4b6e69d388d +X = 742242f1cde89559dadae5e2cea28cf402c60ea9af2a5282202281f55a0d4d04 +Y = 5266427ad4c1cf3ea229377ad397c7d5613512fc27f2ce37407d2cea8e1999aebb8f3767ee96cb927ebdd43b8dbc10ba2c47843d3f43368d9e442bf51ebcf20b48b543a4c388bb3ae3e4027acb657d1bf74abeb8b998421308770f70b3f7b1d910219a1210260340123b95dba187e00cb067f7e37792341202554bfc8a235fc01ecb099ec3615a67a3610d4d8c2dad16087024f5973eb18400c29c05d6984d1c15c159422827c0dbb2bf4509d710c4972ee93be7283aadd991ae8ef0e97312118f195d304fbe96d5aebfb21203eae6117831f9be9099d3d476b83f65ab225f8be493a8ad21620f259d8a44200810c8e562aea8e7a6bc238c129b19f2531a6af0 +K = 57d9723e0d17ed96a3a77ad47be6eafc06a5aa01b59b89be70a756d37dd0df2b +R = 77236b33b04285425775ee3f658b3761295cbff8e4bc05abdd22e3d78b1b6da2 +S = 43fdbd936ab40459f6843056ca77e125b6ec5ad945041c1f6a2770be9dfcc682 + +Msg = c0746befd2afc6ca15cdb145c18462c515bd42794c4c7ee513cd9aeb0fc6fc3048b6c7231634984a1be824c775f9c9b028255f5b3c3d8fa08d47aba07755b5f1b5b008933eff35838f15a02ba9366c1036d3ff19e88199ef86a88227272cf4e4e00ffad9c36bebac30578b00214fb29bae43cf555ed431a2f24922430b1496fb +X = 47c0c6f4e6b56cdf1e1d9b63ff3739edec9c3d5a7c990492a1c72aa1494fcf9c +Y = 431eee49090ad58f4a874c2eb5897969fafe3274bd7486b65e3519e4309d636ace6864d5ca4d8448a357cafac15ac3cb3bd7b2755b3cb6db0af1a4e91b2d1fcb28561b170faf2e0690071bc0f6e42b2d82abe5646ddb8f9b99ee1daf5906036f395d824d080bfaea103048b3f44d0636bc7a6a88e9b004a363b99d24a89b6e97379b20bacf48c7ae2e9bf7e281fe3b4d7eb947a102396d523a1e85ce17fd25f271f3c221a5681e9fb77d64d6241039ac8a85da32741bacf00660e421fe850a0fe73a08ee3a9b069c6d9114c1975272127468f9008552ea4cdf9d96561ea69a646695242500f2318bda82da633ef1ae0497014a637b15a572ddddec070d19d884 +K = 3598a6006fa3f8b8f9b7ff96ba06bf3837a1a1a92892e4a268c75285bfa6d660 +R = 796d7dba322d92a083da7a588fb6238dc86b1fc5104ed600c9b4c688edf805e9 +S = 012c1ff4de8ee386b951275e250581d661d030a4d8fe115432288ab0a4bd46cb + +Msg = b8b915cf4ea3b0c4cdcd8b2a06479e71bb4797294b6c41ca870d3cb2ec2cb5a49f6bfe5bcd10be609ed3e1882a312395fc991345aba5b566e67960b42913db669041ea30c29947edde7bdcfc0896b97660740d6c79f0088665f51dadcfa07f7be44821d60a8ffde4e5cb1f98139ff91c9c6f3126596344c5f7eff40049d3f9ae +X = 0eb74b5186697af279ce72da74f1ebf59921ed425da0f3eea17517eadddb7c90 +Y = 1b3722764264e17994f3343bf260c73575d106f6307f2eaa3f7dcd5af804463ddb6bbe38a38f5ab5a8ae6701317cf6c267049fc9b84078241f82d3c6b7e5beba5c1427030297f1df258148e5f9eb41eb20a86877fcc06e5373cd50562613d307649539d28cb52418d42fd59758b61185e792992b5a581229b43403d793b04d878eb9b9d12ea10d2e64d153d3fa41881fe79a67ac408a5348d79239567dca96e1ead3c6ac22dbcdbcb5185bf8ace57660a4252104e5047cac87851d2815b12ae8ae96ab2f33345ea1cf5f2e58a4ddcba26265c06df65afcc6e852b3f910c8778de28a9f098158ed0eca652dda2f9f4ac8a17a9b252410ec5973a6063b642568f1 +K = 37128d19b2108a8e8fdf2cac984d45851078a194bb9946a4db260f27b4650439 +R = 6b4b0e1e7cbdefedb1df1f529ece47891f7b9e959a3f8556ba4bef7bb9856560 +S = 7e933b44ede6b2e941b60c37dcd1568284def229c0a2bb9093f4829000c4409a + +Msg = dffd458a808f1889d7f3d6197f0e41920ad731124cee308cb90d2361b23fee969c0e105835549e5d0a3f7690d5862d4cd6ccb33ad18094c85c9650d75b248496390a0b89e7dc7dc0d3a6130dd97789ebf105f8e55d8f0a1162fb3c6b529e2a80dd51e9045ef8ec42ca4bc46abb6539588b531c9799560cf4ea806c3d93d043e5 +X = 36ff71ed608f351c736042f3b638a89666007cefe8ab487e512d76fedce1ff35 +Y = ea437ad0ee9264de8792b677207e547090b32d6ab460b4d589d842ed0a0b4fb4c635e4443bf60e46cba8d226f659c76d2ca01c69707ba6d977255c4584b74740a7cdec4c973e3d16ab6af60cd3123ca12ed5971e69eaffa3da0770d8e1228889cd6825e1b85846f4f7ecdb33f1e5c7acd6b2add1308c5cec439728d0cc625eb89df34fb9c0dd4568f979deead286c50145903a0dccca7239874b4683d367ed31696eecada90dced8a9b1e01364b8794660c60f40590794c95a614c04563c92d444b5ecf01286b1bffe9ed9ef915b4db820ea5c9a5b3dedcf89a3e2c37871d21b763990c7bbf44418f91cdbce4361eeb227516cb344409d2c651f0dc29ec82623 +K = 91797ee940a167a57de7619334638f1b3ba63f9065b69f56dc04e4020a1682eb +R = 3152fc286fed44f28b1af2d537592c5691d6798caed90591b5888b0d6fe6bb07 +S = 7bff61a8676f0df189654f25c5812b341dd17f4f44667789cc887c191bf47202 + +Msg = a6516019727d95639db038f90306a8d94fac5243dc7b67c3568d63d85dead1cfddbb2b330b619589bd582af15f0811177504fd5b7aad7b298647a3f64797e3da5fe5bf87b65c2ddec576a8f40660686b808ba42e54bfd0e9e48082d6904f8e19050e54ea4797a2f401ff7c9f3d217b526c03be9201c0dc1b0e8e054bbb32c382 +X = 396102ad116ca2e419b9229667a31737344d0d7854cac8930af18e12a9e2d63e +Y = 9779eb5338dcae7377b1847018ce72c1ed4c55292a963f81608ef332050f0a484519aa96b18bcce8e1b49c11a200c1ab4a75726bcc842485df6314e5c39fec622d819434294dbe1eb647885ce841527c03481b7f22ee586d8c2b1a8471a2757bffbdd9c26f125065685509ff0e4c8b826d73c6e12f6d4b9319cdfa72c069e07b2d2c254b330c06f488d6598c7476ce0f3330c97ec36b7c10871388472451a34afb7b4d4e251f9f72a4a38a6851aab86507b283e890c31ba96d0a1e5572637b2d8467060c0736d11d0744e332a19f59ae2920894e9cffacfeda64ae1ff4869882df3b690c7ce8fe0eb88171e4f2ab8624e6ac77dc8907613235163e0a2c7d9fd6 +K = 79753fbd43773b6757c01663b8f5ef642801aa5ccbf32082c780f71a22c4cb0d +R = 7222d5eb392460defe8fe3df18fa534f3060235f1e8dce5370762ec6fc11e690 +S = 4351c428031cd9af567b1163037a4e376962620c4ec23c43b7105879f95bf614 + +Msg = 1ffa7cf55f92f234a24bd3296744d543a433c907c1f77d8b706f4b6262d096e2dfe713fa9ca80e68579396fc11a12c0331cfb7745d96b005204e483fbf8f9fdc458e2ca8613406069df5f44918eff8c5f54b8b4d972e07a4b8e06d8426a70874cefe6e93404c1eb381c2d0701c37f85afb1601a09fff8ecfdaf6cb64ad9bd8b7 +X = 24039963cc5ac26a977728b852414f60a287174186ea812e00a5c8a8a5355daf +Y = 18e298e6301389d48644674f8339487a8651b0768dee425905e803ab357c7f9fa05dd5e2ee84bfe105a092716274557e063d086e78b781a43c56a4e0ea115c5cfeac57a4c9b7e1effb89413689928f1546feb30738586d36ffe338083ee2bf5c5bd344bc3db2a7977de2b1ab5ba006d9ee93ef8688a7d10cafe27af3e671013a816984196bfacf002335fe7414423ed8bdc80327372b0d460866480bdf073c9def7977131b06e28d14ae1a816d3222ebaadcc8d7c300aa820e0328af66f742061aff5d4b7176a994ad69b390bbdd619fce047dc7d15a48ea71afa72040bb14eeaf4a2b23d99b4d977beb6d806101021eb0c3a0e31e54579e58c953b55b6e3245 +K = 2ae1af11ff810141c37b1c23796e54f027b4eb7c2f0c412b6c83076de3d4aba1 +R = 21d70ed955b09ea302fb792978d12501071a2e8e2cc8f659decd3df24e37c466 +S = 2cdaaee2a5a3dd74a67795f93ac1d8416223836c76f7fe31c72ec6170925fd73 + +[mod = L=3072, N=256, SHA-1] + +P = fd5a6c56dd290f7dd84a29de17126eb4e4487b3eff0a44abe5c59792d2e1200b9c3db44d528b9f7d2248032e4ba0f7bfc4fafc706be511db2276c0b7ecffd38da2e1c2f237a75390c1e4d3239cba8e20e55840ecb05df5f01a1b6977ad1906f2cb544ccfb93b901ad0966b1832ad2dab526244a3156c905c01ac51cb73b9dcd9860d56175a425d846485d9b1f44a8a0c2578e6cf61947bc1a1392fdd320b16a9d70455fe436f2d47ded8e8e605f7486eb578ea7fc4ffd13c07f9996af159fd411e9451403278dd1141a8c926b35c96384bbd6bee09c46f44c36b1ffc7197f5e925dbe0544a68e6ab8c18e426a466b392f9c27dd79fefa9ca163cc5a375539a8559f277f657a535d1964c6a5e91683ef5698ebaa01ef818dbf72cb04c3ff092d188866f25cd405108f566b087f73d2d5beb51fac6de84ae5161a66af9602c7e4bfc146f4820bdfc092faeac69133e4a08a5b202a12498a22e57bad54674ed4b510109d52b5f74e70e1f6f82161718cd4cf00cc9f1958acc8bddcdfbd1fbe46cd1 +Q = 800000000000000000000000334a26dd8f49c6811ce81bb1342b06e980f64b75 +G = 99ab030a21a5c9818174872167641c81c1e03c9b274cfbc27bc472542927766de5fa0539b3b73f3f16ac866a9aec8b445ded97fbff08834ed98c77e7fc89e5dc657bef766ff7fbf8e76873e17bee412762d56fe1141760ab4d25bafd4b6ef25b49a3506632d1f8e10770930760ec1325932c5a4baf9e90154264ddf442ec5c41fed95d11525151dbcfb3758149bad81c62b9cff7816b8f953b8b7c022590d1584e921dc955f5328ac72983ed5cf0d04056fe0d531e62f8f6c9ab3c0fcd44e14860b7311d2561c77c1d32f6c69dc8f77968c9d881ad9db5e0c114fda8628bca0335eb7fb9e15e625aabab58fc01194c81bf6fb2ce54077b82250e57c6a7b25deb6ee39d4b686a5c307a7612b2d85ee92512413dea297e44f317be7ceb70a3328af0b401001a418562b8ffe4e9771b4b4a8e0b40c791349d5d4e459fe620a1a2fc72e2f6ca28567d4c2632bbde1b49864c06bb12619f132c1da8f571ef613eac739f66ab3914cb3fa1ab86e05e5082ebaa24ebeea4cf51beefc27df512fe3fee7d + +Msg = ca84af5c9adbc0044db00d7acfb1b493aab0388ffbad47b38cd3e9e3111cfe2cda2a45f751c46862f05bdcec4b698adfd2e1606e484c3be4ac0c379d4fbc7c2cda43e922811d7f6c33040e8e65d5f317684b90e26387cf931fe7c2f515058d753b08137ff2c6b79c910de8283149e6872cb66f7e02e66f2371785129569362f1 +X = 433cfd0532ccfd8cdd1b25920d2bb7396987b766240379035b0e86527ce9c52d +Y = e7c2ee18c3aa362c0182c6a56c2584628083c73e045beda8d653690c9c2f6544edf9702c57c455273905336a5f5171107a313cd7d0b0f50f8d3342c60219f22a9023394059d05f464c4496d55dab6eb0898527ff4cf5678e7b5bfb5e18d92c4a9d73288cce14530fc4702f6d0397ec39a880c4a72d358730c56633386ede028023c1791f3164d1574e7823c79b8a3ca1343ea166ba6f02b7ff7e9ef2198db107f7cc159f3b6a1c00a78c355c566deb0ac6fde3f633cb9177a1fbc6c1766ca021d5fec470101abb440d2f06982181a8c92b7cdd765336b9a1e1ab70283d6db0a963fb648c37c4e29a74c37577291049ab47cdbc104c04db966681ea8ebb9f00cf4c4a5462117379575fbda4b801979451fa94b19b4e93656705c0f734f3e0914bb96c1e2b8a0fb68faf14296efdf3300ad95bcde8b67cc4b26e6488eef925cfaeac6f0d6567e8b41355f89d1c2b8fe687bfa2df5e287e1305b89b8c388c26196090ac0351abc561aadc797da8ccea4146c3e96095ebce353e0da4c55019052caa +K = 40f503abd70fd49a76c67a83e08b062b3fd465ad92be433c080e5f295bb9f559 +R = 21ca148cdf44be4ae93b2f353b8e512d03ad96dafa80623fde4922a95f032732 +S = 73e48b77a3aa44307483c2dd895cb51db2112177c185c59cb1dcff32fda02a4f + +Msg = 3ccad0018519a898f87d8ce5f28c0d93ab16c51addf4173322cbc49d48ca9ea37ebe8bc9d8c1b3f783f8cf59cf3fcba10a393eb2ddd989ce258e73788ce74b0ce8223d24e993cfeafa49cc8ec1b8ecee017d83a11bb7034c779206c364ac463cfed3047e1a2bf5c591773b1d882b310bfba2db87893c89a5442c0845bf644e21 +X = 306c1304b380b7c3e09e7a4b489c64a295582bb3e03ce526f13d7482ef8263f0 +Y = 3750d36353bfd2e9973e26a555bcf0d834d3d6620cb66579199e040ce8eccfaee660046e78df66e8ff641523046adcf425b8319db2447680194c3a386b5201dd1ac6bf3e66394e939eaaaca4fd3f386fcfe1d5ef4524b06c5ed9a15746f24baef1eec41e683bf35371084495d4da8e727aeba307fba000a769a234e3c4609704b3ba4dfd6a8644fba56083dac848751b52a8c2cdc47946cd21ea24383cc6244f000918e9a23276b606c5688565c44ddf7788181b789565a6becd257123bb81a2cbf9db7fa384e0ca41804ed7cd3c9ca0e1f8bb390bff50213b0629682409933770f6e03a5c4e7e89ade90255609786f6b2fc5a7aa7566bcf7f725aead4cf456c5f5ed7dc3e91e20d94d1aa2f6568c97abdf21e0ba8cbfb6561305cb45175b1abd7f39b9a11c797926b944f5d13c3d70e0b2a8ca18e1f5cda8ce6ac43ecbc1fef881f5eef5a842fd5984ad1e321a317005ad478cb47c9cff61267f1d496fded0a48328d629b7b200c441634ee908879011745bcab6660e15583748014d6de2fe2 +K = 223e52fc516c0a79f55a5474321264fcce78c050cf79b3d9961b37e24d7f32d3 +R = 1ef7723345b2013b71104ceedbe7a9cad430018968bb295b672c2b57b9a108b9 +S = 72852da485c0836a8ebdbc4c996f7f6cb65e99391ce06b19a7187618e9a95584 + +Msg = 1fc98288857fb3a83ab507465a53c079ed66679cafdfb8653bfdebb03020fe86a943182d4f1377d58eca3c7710d32e210d8d03728bc69e1b8003944ffedaa1b69ae6cc506302bd6917019f588cc29501cc8263572ebc0feb153877174bcfdbad4a58659175d2de71d5f5019c46d112b6631cf0c3f912aac83140cd56cdf903ee +X = 047a5e52039da40523feffe63312887e4d1ecdf64f32abb31dfe680bd1513077 +Y = 335372770c0e8e591a367de99833bde6f01240bc6e236a5b4e36233e120b8ee6d1c19c77f4cdbc294d3278c3d4cf73ed9e8ea5032b0524a391cf293b35ee7e023430222216d9f18b45022f4d5f9385f6384d9faf1a0ffa4a800da23b937651a09e82c22285b9de6a408e23386ffa67abb9d1c71cda7bc0c93525fcd79e83153e746070782467858b697ad14914673033fedb2d7a105ad2d438daaa35b503b518314ac370fc5b1112d4fe514e5835d9a86de25e6b35691392d1cd04836d4126b295b8a89f217d581258af95277b8b91c31e6b0d23a7c52b0ce2641cf1a252838b6e28e226cfc4fa9dc914c5f675fc900ed680dc1aa9e1d17193c432af4032ebab954191327083c59a5f64c1ea18107ce4d7211d1c22f04805ed548fc22df4b162f30b6ff3a7f7c38a5a95fe824d2961180e98b30208dc7ea7071f792261d45c7bb7b911f3b19c3ee0171a326c033cf5fc2bf79de7d5115ac568e04789cb44e08f3a8627a1b1f3762342b49b7679bd7edbe47bc3ee9c3f02db15d53256a5ea2847 +K = 69a22d61b152af35c1b43deda88d5ad456d38df75b318b82712b2690a5f2f647 +R = 5dd0c7e8a3993b9de0676a579c897ea39943a43dbec5996e58c1985b541d7c1a +S = 67971001822a08a2148a6b1adb50274a57dafe896fb04a12a6f99707555306ac + +Msg = fda9765cc91a9db922aec7b13fc32ac4ec4e3b8534f9e95af96e8ebeab89d847dcd150444868cfaf4213f8d8baa6b1d0886224e2afd0aeb93d59b886572088d05bf721c7adfb54da47c6c4851204a7a92a11deb39ba17cf6c07fb7ce8ba350a99d018d4ea64bd56d1d9f8f7d88157f190fcb372acf6f8d31cf7b795b36c10f5e +X = 7f6ce353841963c8a6ff3405713e361ef9f1e0765e665195e7c147dd98120c4f +Y = 0539cc992ca70f913537b1211dd326d85f7531baa6be0583ba45b9571baa81cd5828050dcd9ab7a203bc4fe1d874f76ec1f34d935579ed2132255789d7e6010cf504b4c7f586d44a716600acf8a04ad30cb7ca055d7223f9761cdaebfdf7ef72bdea3dfcd020069a969c560160f0534676beff5ea611fcbc0fd47c867f3163e1371e1de67a1a3c3e37168bf0be79c09f45f2bc43517aeea0100a2a25d148ff1990c06143fa253d8306f48d77362224bc3efe93389e922def0fd11d1992f550ed8294b6136547ffd612b0bc8e4ee90b3100bb89922177147be0083281bf663f8370417fa790d4105eb98cc126f5005b7c08bc211dea2898aa653c3d2b51fc67732bff5644e804aae69200c416035aa0ba5a14cc439b569f462117b7dfcf3f2cc13e723a93ff9533208f20241daf36cd16066be3dba20117cb145d756f5a6f79ce2356a051647aedd645bfa6faf8f80a6fdf3eec42ddd42bb2e7b7738296e23978c8bd63b8045953e06cef1263bfe03be2f61b16007df1eb198567a7bc6bff274e +K = 01cd3cdd3feb4d1a995103b1520fef17f60cd9370ad59b3efe9383a2c0126f00 +R = 55c2b27e769fac99b47bc0a54ff1821c7a46be6001ab664fb68fb1bafc04446f +S = 3059db42a399c428f3cfbb102d6c0409b06f20068d1ca8cbea4858ac6e5de1d3 + +Msg = e49a12b8d761ef7afbcb1c377eedf629d08cc509a8753a5b92e26a2397365156e7c081bcb4686695575c6a64f5d77dfd550b04df390aa55e0d051c759f197a751a6041e2dd0959f902f2e359a167d880c49cfa81e7196fa1604ad32a8017071f098d4cb346b39266fbe75659dfc6607bf0d829640782cf3e12e38376c5a99282 +X = 28d9bc1d9aaba882427ee26c262bd4003aaeba422bf053b0dde14bb6d6d74bdc +Y = ee7fff18822ff454a207f9db542d24298bb5edb11d80ddc6ddb9bfae0c952d4fe8d9db0f1a86e8a0f2193af7caaee7264d74106de5af0a6c14f710bb863eb7dc167a1e4378b6cdb7ab6841c664e9824529119773578ef55b7c35ed221ef070dd4690b4c12f27673e5d1fe964ffe29da57e2d1acd21ef13e0669fa97668bb199b56a3a53e10469133022081cdf62648100dca267c4f6a3ca3a75b573bb1b39c8a4e1fcf81269e9e1b10c63f5ba4fe75cf7139d038d02f5f534aa081fce732cd5051609bc06f18874dd01121d3c179f0c3f0399c185eebdc34635b3139f1ca50fbffb3b0ad12e481c1a64682143793f072c7db8b5b9eef41ccdd66b904139d644442a92f6255edb9bc1234e27d07a6ba32b1f14cdf98a22c6a12300dff50ac1b65568b6e915541bb386ec725da444467ca25e81448cb78375146ad2078a830e7d905de9ad7d89559c9d430cf5f419ce945704a426ab264016ed87c90d97f51a7d6e1ee2f51bbb3a8de81391697b0e422df9e5d3551e93374e5f38016b296d53bc2 +K = 0650ebc3e21bf1d90ffb3ef5a707013dfce78fbd2c21a0da9c8106d1fa98a46f +R = 21d34df605237975db31b864f98c9ab6e465dbf0b3fc5868d67cd6cb3a13963b +S = 70c48807d62d1fe74d58959347ab12c97b500d20607ed2a95d8a388fee265812 + +Msg = 28f7a067a0ea7f0a4d797cea3939f66b281ed19cc98b8563ef375798b40614f4dd85ac2fcfccbc5ebf0ac93228c0b72937a481ca4f9df7a7e5d2e5da9af04874dcec35035f6a7db493793aa2361fb66ef2eedb7574d04e2147c357298a2adf99aca1eebe00cefa44b39157eb1e94aa8aa98d545151fbb4de67070b3904cce930 +X = 0c5088f5d337802770e6f98349d53461f13161020ab9a241efed4faed2e569ee +Y = cdb9922d69e99c7f34a9210e2afc5be0115da4aaf682d9ea37788e0b6caa6fde13c88e51f558820668b59d14c06d2cbe6549d3f06d10dbeee46f59154cd467ae19e16be25e6f6cd238ccd1947fc581562d30ca329bb327258ca4aeb901f814414058b6f169a45ff55e40232d7870499ae78c0513777140752d55f0a470761bdcff5a6609cca2d1809f184b298718071d216a14ad01f56cccced23969607b62d4d140c9ef28507674f59fecc7e7ce8ad2636a5c53f070ad317c8cd0231f500a790ef69ac786000faf68e7b7854d6eb26499a9d524cbf8f373ca41dd6a2fa5198eba2a8e228f5ab29be9f6d450f7f5a149aeb20d8a277971fa6e64a0de36c8750afc381961756975621f287a3950f88402c5081fe0c54f44f9fa7c50df906b264098853646b3d05a4f04c6f1bbc6c440f7e7358d3a72b29f7643f4406b7db173690d40aa2938eaf01874d2ba8094cc5be1145b2b2ee9e7cf15bf398e50832d95017430b1869938732cdd1df593f5db2b2bd71308d8c253d254ef39b475e249d890 +K = 2be962ca1f82b879255e20d6971e633ba68582a5137bc55058fa42b48ddf0566 +R = 12de252da2593c5969a6496ae808d851cad1ded2959ea89057a92e5ec91c5f95 +S = 165338075e6a4fea0b238f9fac904b7b33dbee5a552646dfbed827f6d28d6492 + +Msg = 0e156b0bd84595155ef4fc213dfc7e46bf27a89c275723e0984076b027c49cb2eee6ac866d75333581cca6f897e11418fb37ba5cab1391cd237e2c6ab3f11a055d3bd03f425baaabe5a6a34eba4b118af73edd610787cb8eaf476bd217048208ea4c1d0591372947a1c0ef94696568983424fd1d802fc911e7bf71224afdbdd9 +X = 2c4d972bb3539876b8f32cc645cff0d4be877175f31a028b9bfe973f0651789a +Y = d0973641d56d8baaa2c2d430501dff44eaf9a3657478799134b0f335ae94ff2791dfd494401332486ba637683e704bd985f526919e661a2280d99bd48262b6c9305e0c8fd879cd0a836128d88eddae51fcfb51f744b23d2d2d27a2cc1ea5a9d5e0a7faf4227a2adbfb7ed45d6aa9c33798abf07bc69efc5fdde5dc5c780196257093eca75468b161cba44bcd142b21fae9edc6ab327830c28e1b3d2d7c812d8aec3a1952627a040110872e148e15de5c7b4ca24f086336daecbbf9816cdb9dc730db8a66a1929abecd4b09a039a19bffa45ffc85ddf0be3277bf075bbb46f07bf0daea24897e07044b5ee37f9f44fee757188170da22924fa15ed9c07f113cdf37a8c48648e586fb55a0c35f3b63a69667244193c70d94bbe36d043b25a041fba92a2042e2eef767e7cd18dd1c1b5ca4878fe774c833cb5c5aff9f67bfd6cfbf2dfc63b8842ad2d49cebcaff4c3927f3199c106d0c149a9b1b49bef1d6f8143d93d25df9db1b5b37d522e723ff64d9ee52e476206712a38246dd926271f5590e +K = 5e12de89504bc84836c14fc47628a517e898fa46769eba2b36e7c69e580a6473 +R = 5ef5d78c421ae5a63978bcbf7d2037b5022bc47be7b293806580ad5b4de27a4e +S = 67ccb2833c1d32c68e91ae3890b4c9a6e5229b22a5799168c0046ead92573c85 + +Msg = 849c5337d88b3b247df573eb0d665548b6423763d5571f8acb5e61e316d7cdc208cda5b39a1944a717587e58e21b86ed222b8ee265105a32baff3692dcf7b8713d0b539262a5bd9a954cb7143ee66f8764db6236136cb1cb3b34a87cbd3fee3b11288bc94ac99179c681a469d62d9bcd91d40332a650a5bce33b6026884ef94a +X = 680878e382b713d4dc9bed8b7eae880f1054f58e70cda2717577fed3c63393dc +Y = 1e8d4d6fef9905d639e2564d87dcbe0d8f99bde38082ff091a977f2affcab86505aeffe6ef1ddbacf15d9165b006ac0517434aaa65db210452fb2ff4c990b87f25fee7ad5b26ad87749575190089a56cdbceee6782ceaaf569814bb9e658ff50aebf6f3c9791893e5d6ada5fdf8c4720fafa184cc84a84f5fca79d899636e007bd0e1a89da094a378edb6d72240cc2d1d7098b53ba4837a5d0d7d02019b952712e4f1420e58af23d1377cd6d5f3989b3d60b5fc572043b96c4f7beb7137c0894fa99d727a5a88a5d5dcbf2da7b0b2d83db88747fb0ccaa8991d24fccdef42111ff402ed0d9bdb8a4ad13f8fcff6a1df56c82a5f88f575f49a06275a9e66067f15daec402ed877048499909b9e76e5fde52feac944e1de7894cf13c515299acc6442d90f027317b0713805a9512256bcaa7963b9429a510c5869792c1e29082921d0e7d0cefffc34d30762fb83e2abb7821fab4ca89d08b497f75e3149a5cd3d23b29bc52137d8be9c4a95c6376f62ed64fdc159b1bb6c842bd07f8cf03f7f2eb +K = 48ea48cad85abe488665eb75359217b63387427093318bdfb5d7d8092d342caa +R = 11b16351f8f72031ba2a772000ac8726a479e1be4523a9eefabe23947a1df0d9 +S = 2660fbb44e29e7687c10e29de96fa1ab03c087ccce086cddab48ec63774141c1 + +Msg = 4c37a4c8b41109240c4f53d87277d3c790b2f071105d15aa10bd0f7709da274ccea1961e0b99635b31acd2c80530d2b403d7110ad7cd0e3572518909c136e73e57d38c1c7443e58a257f0736b9f6f51da8fd1ae9213e8193003d69583381f020cce7fc59ba1b1ed5541dbef6b59925750d50b6515a977aa4325d5fade42f8287 +X = 6bc051fba93b92859a8a06eb361f348f5e50d091c55b998476ecaa1777f26fb8 +Y = 88a4dd593b64a4ebcb27ffea3de9a7ed7801f9672b5c8dc27b383d6cba58b4f00181634d05eb490282ce4e57f0940373d3a7bd7e9ccaa9bb2965322ab5fb21b4327b47ef4e2b42424c1383bbd8558b506a7bf5537b049fff35c558bcc739b760443728c090c34d6d4eba81e24e42394f8fb826f7c92ca71a9dab16e999274726b0c5d8f72fb9141870dac0bb9ec0429802b629ad71ae0560e5862ecf3eaba9c2a584885b32c684f6d55fd1b090d93d036a4e9858a4d89b9b5750849d926c519120131d456fce9d247341eb17336ca9729a9080ac5b1272fbf707526afc8ae6a8c661ef3c151845f6ee0902de9abb4322afe585e59d6d418e87d7cdce4897ccac81d013fd72dae1a5557762527312587ca676f0e0676000fc0c76b8265842f2db7e18e621c0e3c2ca9295e9e36ec8ce1c85097ca5fffa62e7b896bb16836d063386b1e663ef29ec1702965a7e0562d2d282f80952d7476b322ffa7929a453a638ea3bede802ff5f8f566085a6e2a2414ef7a6f117ac8628486b23603b1408faae +K = 40c6be904308e25af6616fe77c23e6e6570ac32ba5bf54aa81f6773a5071a904 +R = 23e13a35777c189ae56509c7afb411b31307737e2ffc8db3f208940c5e76edb3 +S = 0544758362cbb61d66b66826958aca63af1b8ad615a49ba557923959b68f8228 + +Msg = 443473d615bedcba2c8d9a9a45a28c428d7f1a26ab14705627d9ad13f53b767cbb60be523fc21a99c373bd7761817b314290f2f6a80e06e12cce238954c648ace50f3b0dfdf71dc308e1a8ee1159fc1f19b73ab6015d186d9b6bad965a9ad62e440a9ced13550a444b5f0400b96e2d238e9e3dc6e6de12f44205d4fd57f60e9d +X = 0bdf6ed048358dcc9a2dc555c3d45ac394571135ab36168d9fc4ffe4a3529a80 +Y = 0f4ec6e2baaea9c81e90700519f2f05f545ddc0ae9bd3a091e8b6ba5255c15fce5ef3c046771c5f31bb01de4377e142831ac1749903f9317c7b01a990714985f9251198c829073205924c568050acd6dcca757618cd2809bb7aab64db1e86ca92eeb854120c9d89fb9363596be9cbbaf8eacae2f18f3ed483589eb466a5144824feb1f88c30cfcbb7628f7cb4159ce32e7c2ed04d0ff0481c958e5ff744522944cf32020389b32959b5e12f80f08064908a270f8695a3f99e75e7e85ba3b3c773f04ef9e09e76b6c47302e41d50ead04541e0fca4a42502722265f82ff60ef46aa7547f9de249135dd077f24a4e7e03be2e3094772767a9760883c520816fae637c030956ea25f0a869e4a00a4a8017bcb72b2f2fd83643bdc01d8ff2868d3caf100ae8b818b926c96a850bd69d8931dbfdcff31c67c537c4f5959d04b744a346647066dcc61f63be6251b590d688ae3c9b53f392007d8584e4624ffd2941650a31dcd5abfae7ca120b11c8d0194be96e8dd09b643d5685d1065d98f39b6ed7c +K = 63066e05d16e79fd013a6ae456aa3f036e9d58675b3c9e08a412420a64c1f977 +R = 76bb0ecb9faec7c971137ea6feacf1792073ae80be1ca8ed9cec2a5ca6cd510f +S = 34920246730e0974fb0faa57e77fc50ab78726c8e51579a0ef5ebe3fce3ba7cb + +Msg = cee06f792332080d6e73b3f02f5ec16996b66995beab4a2ba092f40d85c8ac1accf54fba068128c8cdbada209360776a7706455015e73e92c624ada1dfa62ec794cf2a1a9294f3fb55994bc5211add1c685d9a54acd5bcd830d9a4fcff29aec5001c3b2b2a9706046f38bfe48e8522768f1c6f08a8e240e123ed30e20fc46c19 +X = 530e54bf51b3ea012e76206b5ff53c1d5ae6f3433f2a50b66b6947e84dd52171 +Y = 5c9205fb649d3b4ba2d44c80a925e30d27b05bd339f1ce35e0d0419a91ed31fd108c51a2a62cf9d0adfd877d27cf5575e43ac7bfcfceec5673736cae089516df8eb1ea6b563198b24a6e2522f320b123bfb250d43b600df9298e121b6c5d2e637a989215e095e603ee6d4e8a2dcd17b908918aa514c86a33d8c717578d861261da43f73250ff2be746c6916fc72871fb42a279d22595051b8ac04afbf2013063e31661b117c5d094b4c232b22f21d2c65d6361290c08f12befd1f5a2b9b5259af0435b97b4328297c252d813499f5209dfa35e9198de68501af4ca8658942d059bb62b8e55a3ce6120a78ee098132e8d2dc3757f7e60f8c08c4e43feac67abcddd1ea2f016839fb1a0f797b8b137ab43b64508ef69f6ae0f3abc4ed682aa7e38fa5146fec62e01e0951a6e81152de43171ca8869fa1a42a4fb2d8ae512c005fd97d12bb13f299ab9f5321ee2fc39b28e61c9ebcb91ecd2b610fd8291f538a00d06d057c3e79422a931279fed9d93b0b6533fae441e98413025fb4fa73cdefa80 +K = 4e500b513c2e24ad17fcb8cc0d6a8c54e654e00a892545a33cb5af8877589520 +R = 6d02536db546f2bb1f65ff0b91b964802b38d171e678054ee41f2b8563809cfa +S = 6bc51120e35c955ab8f717f8930d8cc8def8505415cf159d2516f96578842f31 + +Msg = 58aba24e9481d1151b574b146ac21b17110ed0b9bfaa55a4e2e06dcdc18bd10cdfafac047189f5ba9f10377affb40a514d528a3483fe8e64b831ea0cd076ce583942b938a4b257d0b5a92412e01dfda8217d5f8054596a61d5737d8ad8112ae228220e3bff60e2e891d03d53fb14f14dd91975dc15d6b7bd62e99d74ef3839fd +X = 7bc2316b6301b772b6742d0c50f2c1c39bbede01448026b6a201793bfe7dc3e3 +Y = 2adbc07d8aee284ec982c4b95e1ec3ec3f5fd5172368ddf83f9a3c69655291dee6b99ed713e5a1fec338239b8199c5a3bb2b5e2e7f23fc795058a9ac70ebdff2b3daaffa389e97fee35f174961f12d634e8b8250b8b770b8d7113d0fbc020b7b108f8d6b2d7cb6c59e2e151015145a8e374f9b7396e970d91e3c1f85ce23dcae12b2f53741cfc2350b582ca87f0ff9ab50ad0ca2879e216e61a5c358970a3c3528dcd9ece6b83d525b31fe687696a2a2c65e34f2854fea6ff92244d27500f7da946c37169756f4a4664b2909611549ad2b93ebacebfc270ecf4204e6641dbce05da2c000a4ca5ac885406ba155807494706180d54cc012ce06e734024f4ccd882bddd2257afb5c287bc3a8570edf21a20afeda0c762ad696fba177a5f2f9d609355cb91d72ccac8bb9e7c3cff1834d86b0772aec741d7b4b3c3e43bb26ec9f5e86b8685ea5c625b6aea450a46e85e380b158de6aaa2701ffad0c7d1ed0df355d09d06fe1758b2f27a5d02aa283aec9fd12d3b62d504dca0b6632e89fc55fb083 +K = 0c2a0d2b326ad63e869384e3e2e32fcff8db83285fa0a5b9a7b13589a7dd7fc1 +R = 2c462d49344f3ad03b6798f96452f7d66351cead919e8201b7665c877f8255bb +S = 50e8908a1c6684a2caa8aafb432cda4b7699008c72d8d622c3da4171e51cfdbf + +Msg = e10604ca00728e533621dbb6618b0c877c4902a2ed79aaf40a4daa34d6cc216ad4648daab6cc1e18451bb94e6a1c0c6f9d0d883962eebd507da099788008da23205e3b4e90fad9ae857074ffeac63430c0facbae489c54c957db09d53e12b656cc278615a3a5612af4c2f168bdeb118a42a2a67103fac321adf5688b05848f7c +X = 6dd500e2aece9ae331df269c26a4e5d58fc6be3963f5002e36bd9cd04c1adbbd +Y = b0448d43c520377b7df214969f59ffd4e0010c12d7e5fa8f241e9ce1c634439c94700ed5742a8322d405dd05de9953447831c7674e5ae1b89041fb8f2ec1054b928c64ab862f021a55ebce838d2a3d2c7645ec7c0a1a4603617e4f508929144c1ef2b039bc78b59362d5ba9537906e66c8e9c9a3c68e71b35d88b8bac86cacbebd962c66e18129637fad2d98d21e45a32672649492f131bae88c9989bd6372e17492bedff4d9b091b3dd00ebca6bcc49148480589f9593e32795299f3de7e09d88bc0ed27b7ef22ef7d202207fb5ce8c91712c3bd5e758d2822809ea5d2cb288332aa0760368259281a34447ff5a98c9c97c1d58383cd14f6d59bb5e5763217b2337ec2321268197f02cecd0d9fd93db39f8059a38bbb35792ba0d4ed1bad95a05b481c39f6adc9017dec1d662b0803f2ecf0845935765f9356db536c8c11887d9e44b73b6996ae7ac24fcad9c23017e5c2aca88b5a136b6307298b85ff010f964b7477a4f980800e69d3cc0f438aff7f2df8ac61d64435ffaf5e46633609e87 +K = 65243ccac0a014b9e52638171b4a88b02a8c6e617ab9467da523487122e6650c +R = 56ab9947ac94fe3df7e35801660f68753b0b620a26594cb8fd375be3ea4dbf05 +S = 608ed1835139af29a2e3d874df465edd8d6428f40357d9ae4904efe8bccbd035 + +Msg = 8af31f66772fb0c31a8c5b28e568e6368cb66b591edfb0db867fd99e83feb3638bc80f0b14483d069e8f2e167c8b0f10cd6b45d039b7d6f833bd58d99b00597aeef82fa3aae2e55ded62ab660810de0fe1c92d53adf98c838c18fd76a273ea12119d675af727011869943d765b96ef266270b4f89ac72edadcf707a4a21b7533 +X = 145abce3eaa8fa6b670afd658ba0c14fa98d2d20e1422367d4455967f9844858 +Y = 22f3db9ea369938ed750d5ed3781368d594e62635c6b6e103d6db489a9972f398203abb973d5ad9c0dc110586978d2061483c0202738ceb01a665dd22fc568cbdff2148ae664dffbf888e4dda5a04fd3e89398b4f1ffc3a3813ae94da1f8965efbe7f300948749e9757cc7c05f6e53fdbff994c223aba2c137151b6a320f5b7f8cdd6003baa66020162990624099f3cf56d68b74e96ee09240f2cf11e3954e75b261ef9e8e3551c6c00f41e9eb17421203a4565388c321c1325f72eb10c28a9deeddcb4806f625382b37f0becf77936b7f83d26bf1ee1fe05e8a0005a4058c678eb569e339423e7c844305f4a18b1160a0c430513fad715896b62b9d6e2468232ae375f5f3c0056245eb4616ba11a6029410a955af09f07595fefa03e5516c95a4cfcd66046be2a4f7b3ab274b21c0a4f126c482c934c79dcbbd6916f3b887b2600472495c8335de121c7720f29ae56f5ccf9b99c9ce5655c5e1d15d67895af0dee586bc491a97241f7eff434bb79aad831db0695781e6b512e8702407a7d748 +K = 06f085f77088ec97cebe5397a588369e3dc15b70f2a5316a6dd5f94967fe3dbc +R = 0fda7a8a3e5d324fc0a1c2841cd22f98757a0c6a2a465b0d9d65bda9b23b3c1a +S = 40860265229085453fe58487a933edf3c28433694c7b85f6370d9a4783168237 + +Msg = e2456ef5d465731b976f2ad1fc94634c0569a0ff7566a49d47d69e60b3b6d7eb2ab25cd49c931299796bff7e9774075ea20a972e3949a29dfb50b2b5613b45c596ca5dab282ff183f564a06311a49601a1e8560d43c6a481ce713f46c6ea85bf4c16489fbd72cf552b26516298bc66942a05d5a8e6d0f6a88f3e678d310e297b +X = 286d3cec1d2ad2a85f0f163245267438f7d7d62149ba9e59a18dfffaefe44358 +Y = dc9d68b53f35c29f7ca003a2583ec8f8ef5d78a0e45db3c884d35df4fb531a080ee3831bffd3c756ea5042c7614570fba2f6ca4870db4a453d0f793fb4d0225d94f27412dbdf43432f52cb8f867fe5f492a8876d7bd850d899ba2f0a53820c440841fe0cb76fe0444bd6c3235785a3da3081fef99f53a195314aefe955f2964c56506fcc969b67b323766d299c0b02981c72a2ce3d7524ae6f08458795fd32e31b47aa1f974e356081163cb23efd73a9e655deefe5e734ceb58e88a9dbb524eff7e11c3e30680702d8560dd8b6ad9f61e7246c6dde164e914951d6a0573152ec8bdea679dca1985bcf267304d5f1bce2f32bb9946a056857359afbaffa59bee61ad960c567efe3f1145a8a87c2491fa6b33f7e71fcdd8f1ffbcd2b89920907d1144a8cf0573f5b89217bc0598c6e1754f1ae7d9d42a608a051621419da91d11bda9bb9dfa7118e4b663e7bffe6e9946c77ce9f8086dfc822a7ef728888b31654a19b6debd2ca62f5e3b4e289810435b363ecab511f47e9e157f0f4198862ca13 +K = 183ca3afd082bf3de19e89faffc5cfa7dd713a873c02c723279b3091f9bc627c +R = 778640ce75da584a6a83f9794c4ffdbe30411be43027758c74f89f7ccc7f3983 +S = 6125481e103f7803b2f16d9a4d00f881e0b367024df5822f7cbeb5711e0e4401 + +[mod = L=3072, N=256, SHA-224] + +P = f63b3cdd646d8e7ddb57216aa6eec2134d707488a1f29cfa9970645f1227ea5db2e318eea5da1687c7ed90509669345ed6134cff32203ab72aecbfa693d216aeb55d8d28a981f4abff07d1319a799be5dd746f84842817929c305b408598af12045daa2f1ccc8be4d81b513c630f017fec1658aca108a1af6120ec05e3018c4253c9dd35bce062b73d0f2a93d41c481a5c43bb97909682d39a9a60dc3c35e36375dec6ced0d2db3ba0d111bedea701a0e4753624977a9e75b70a74e2b81e38a52ab22da131b35416d3cec9663079746a763476e57598142e39861545daaf8d38a176f26c71f5afebd9c5620da80cf3452b55c37c661b4a1ec0351710b9de4a3cbe0b98b4d9ec89128d97aa7efb19db8ba43cc0be25c200f90e1506cb78ec0c336d7a95613d4204e8ed68d0f0a6c78420105a8d2d438fbd2551a64a1a0b03ffb878742f8c9979cfa87394150281998d51701d5fcfa9696a4989fd25f400955e626b1abe926c0afa69aa6981900effcdd030592f82b2042a47a9a5a8cb0283dc4d +Q = 80000000ba4634b5fa4da054bd0ca48ae490e57711f381193842429159ba7ca1 +G = 8ad4553c4e49aa24728ab5024417b132d2ca53a55d959458f2f759adb0435beeefa3a2cfcd0038e2420643fc4a4deeb5d9feaa1edf21193b40e14b42982a94f35c58b81147d7189d263c9b12fe63ab9fa5f6f03a2860c186432e3ab04f2ab0f2fb6147bd9bf7ed5d20713b9da21383e2c3a168e7d09d3d8a5a058fd23095b5acfeb864a3306be2425fa1ad32ad6d9382e603b03c68af4af0246397102c4155cba811abf99da7839e77b2eac9970588ca1d0a2361723a164ac9229c2e80dcfa8db4f9e29803effb3168c7fed7a3a6de40dda19a0536af9b5b7afaefb9c70d6ae8df12da658f6236043aea873db29ceb6f07d108f5225687bd0c30e3084e2090b45ae2f92a97b8ecb7a9705c4956b8b31c4a3d61107c84e47adda6c80d5d22dab3d859220f9d5aab13677ae3df168f0c176d176b54506c639853f04ddef2722f39c18e5ce426e14562ad8ff26247af88870efb72c0cce836de8fee67a662378245b502bf1f83099988a093ce7cdc81364c78b1f4a51b800df6137c71d65e6b089a + +Msg = 957973fc3f3fe3f559065be5d4a0c281cf17959018b9a670d2b3706d41d5812e37301005f8b70ebd2fba3c40a3f377a751b6cb9693e3cb00d92888247d07921d3c1e9257ce08733b8926e0df7bdb6e855f1f851075d4e628d110d42b643b54876e5faa3611477ee68371562555269ed62a9271bad50cc4d46038de2dd41920c2 +X = 524a7ea5977f8102b3552930477f5f042401165d4637dcd8b9d13df4f3aae5d0 +Y = 42243539e49db9ea19d98d97f6f2a94b23529812df889eaabcfeda01ce4c759487fb89bc82da75fe1c9134361f86de47d16d8eee80e56ac502178e8ed8129477af8bfbd8262c5edd937e1a86c0f0e7b2afe7bcbddfcb5814ced0b756a76ca178423bb4d578c5da183712d968582640aa0ec7e9fb56bfd960d7a57549747d8fb7ade47cfe816c1e57da6633dacc537de060813964bb5b2757a312f9da3d84e60aff98170051d3d90e380b8bcc1986c58ff9dc91e8827d4f9f5fc4b2b2e743cf9389ff02dec01f5d434b430d162e891c3355f91855339f8df58300e4c993ae4df8c4318b5c4bd05283ca4b46b7d2fb0f6476bf15907f50dd4141aa7acac9daa62eccd3a67357122060b6cece0446a93eb230ad93bc9a4d1b1efeeca1e3fc83c119785035b439509ffb7968b1a448b7bd8315753fdf04a256eca1562a11b096c90a36b353659cbde4420e17e90b94c43c7519c60641ceec056f897b97d6bb1861268e0dc79b7c3b6b7639c255bf06865737459126cb465bc1da4a043a1963da7d63 +K = 29e4d7790e181b4767903fe0eb37757f33f13337c33588c1fdbfba0e655ab621 +R = 2e59d5f30f73781d38255b70dedeeb38ae78df4f002c1f747c08deadc6530155 +S = 615c55b2df0ca28c60a6b385c58fa036df8c4b2f4f1935730bf8f4f0bed13610 + +Msg = 54071aca28969749ce2e2dc855052019bec27d0dd6a310219311b4b6d822467b22b3f02fb8313993fc77c4af1d76ab9db99b0b2b78204aa45f4032a7d945f93d55bcb8a6bbd47f98299a0929710461419edbe1132dc22575f5afbe7078cf5f05b231000f4a0f9f367d9025ed3ae1786e0183eac93ea96b55304a8c2dbf690821 +X = 4b2d62d0e7b88436737d03d6f64dd6a6dd0757021817169ba373e3a31bc12cb7 +Y = ef78152efd88130a4fecfe235037de2309b1e2f322d4f4154756caa8f0b3e41be45c80d895de56389257c391307286be8e8709b80186e2724172b0f2974be591584916fc0e750c0caf83d839b5c248f5de658668665f004bab8ad310118835957c02da6ae9a2a79da039adc884f9eb8b62e379e27f549e7f8aff8ad2fc276ece15f0423528a09e31b26421df93573bec7a4d6c2cbfbe5ce0fce0702088fb384ad1dc35bb2c1c742d43d79ad136e71057cb9f22ca042e61d2c5cc4ccf5b75a7379922bc4fd88372d2a8f6a2750865f91c143412a3fc61e4ad4abd03dc1ca0fc4297ab107a1963533a3d80a24ae2ec4146e8265acfd4446fc28103c5047c17796c4148b8e658e44e9b1c259d63c97f0e766fba8d9a7394cdb734508bfa09ae42d2da3068e2c85af2065f618ec3f3c73d73a750c13644c96e3dbbb7474325af48d1d145c28d69f22cbb4a9073059a9c40891804c73a229f01cef0678cf4855d18f900f0253acd6b3ee53dd96c4c92afff1f3087eeb4fba86d2e9495c5f734a46ca2 +K = 5af719a9e5d8567dc26576782e8f247517fad5ac5de0f7115c5158748fc73b40 +R = 0debcf6c88504a882a0191e6fa4c774c10858362629428aff24c22e3364baa15 +S = 53d8c1dbb3a2c1023521b705005ce6350bcf66c093588c35d768fca295a4a9ce + +Msg = 49d5f20acf1e9d59a656bd163fe46fc868476ccd926377a40ed3d7476e9eb7a8a70c4b88b16e799148d25fa23bd0c91611b76c9665f5722f404fd90efdb8ad14b759c349ff6c830642d51076ccbdc57f152fba41c6a7f3cd3905fa7c857265ffc7596a64dc69490a932b95adbc79a3b4f21b2c6fb5d5835d8bcae5d44d912a0a +X = 4abef24f715cfb3ba6e39c26b07ca46b700aac69fb8df3c0e09be08df90e44e2 +Y = 8ff13022080316bea49b89a06dd5a971d86e0c9a3af414258a8f485088b66cc38cdea02cdd62096c00eb0d1c2ee662cff16f6d2d30440b2ad9e897b9eb939b1299ff879557f163f17c8ac60d0c6e998b3a044b43fbfac7b0cc30a579a6bda1b4ff598a531f9e37cc1901a7b08e794a7401d0f8ca4be55bff7b176321828575a477686a98b4b17266e101601f436e554b9e4288057970fa3463343e7e52a58ca145ec9befd7be31ea766ed74ac178bccdfee9d29565e7935e8d70c3eb091e3e3b3e6e77716931ed729c49b96443606098bd0810989e0e6f253cf3ec38294231b711b09a941609acc8976819076543926ec4e06f3e4d7f123c2b8771e54589e04524e3b4f950da560a25d12172d4ebdadc1719400d91cf0264708714479200c50ef00ec0e604909a546c95eb2fa53c65ee72ad53f149c938dc2193496db07af3b30a1f439708aa115c8dd47c81c1bc68ea3abd9026113c01eb05558b8a2be9093476f01247bfbeb3f2858b13e6228b98205fa710b6af1c5f71480dee401d7472d7 +K = 5472e89286e6ccbed316fe7564e3eae899ed7bfc55ca7fb6fbc392d191304bfa +R = 19a73b049b164dbf7fb2826f4253617cf1c5bb46ffc5204efa00002a79e23c0b +S = 7be137c109e68f337b5a21cb591a87af1cb8681419f875ff8f041e829991fe28 + +Msg = 1190853efb7e04cd4947c1ea5b1b5d9e0ac5e6df1dd050877308f1b2c7e0a4917e588103d28c0f6e8b72d967aa06aca68a986d807740f2dddde7281e550af4f637eadf61f880c7351b486615096f6ba50d8754bbf9ba1c49a3485815ef06b3cd761b5586c3fc2b464c6fe12c160ab0f6f446fabf74212430cec15e75a57b102e +X = 7b2510c73ea6447bc319de79afebcf45482917042a3ca3c1cb1c97d1a1216b2b +Y = 9bb81c80d2b8a601a09e22475d70d1dc5513409fb4668b176c76b3aa1af8630ac7790a4444ab823787f6f569bdf02b9eef5e7bb21a88e3d3296857e91919f3c473add16bcd763f31a2f9844d7cbd8d480672a036c4b104be66acd66e6ef0e8a744b3d878090d1de9f105560247c62153e117efa55ec61c177cd82f8d72c51d253f4dc7336f79826025619fb2103f91144f90f6a689abcc51c68affd28462578b183eec942058f48abf546f738940a6c26d301c4b90ca40ea49c117d61147e8683989baed7a221c4f22092f72b1ed604b6aa94ff6a574b4215bd6f8e9d7b638afa435a3346589a61b1d1db2989d7b45f3234545e8a22d605ad6cb036ef791f625d2c6a995eda3e0cafce704a2bf15ab5dfad0162104592d23f52aa0fea1f432f0a308d16a45e1f41f823262074e9173754ceba70cd8a370dbab1a14f84159116da73d3a9cf82594cb3af95797cf444272850589acc6bca471d076335d67c461db602395bfb17c39bfa24df140c0ac4388db0534a50dfd261374f81b310f751d16 +K = 0fd7617bfdc671127a1d7465f683b98d8951a741f85d43cf5a5bef9232a16ae8 +R = 587d7f4454d59418a7527570f28f1b07451f3baf28f5cabe0310c4d79e4253a5 +S = 18839404aaad59ff24d6accec3b7cc6ac7003dd4adf96b77bab068ae72f25f61 + +Msg = b1cb430c5a1d72788c795ab567a84c7f5977965933a5bf238058f2fc818880d25b4ddef9635481fd9fdd4598aecec3764fa73093a225d4e4ebcf01e4b75bdc1841dc01652c4d9916afa24b89c2d6854b72eaa7b1f3089d1a919210831ac80f99835790ce64abc34270cd4551d31b8f5348ce8a70df60b88e085a984acac665a7 +X = 403b2137ade39c1e5b817ffbd0bc3448024089fc1925550b5b860403e7ba65bc +Y = a81a54be0685f33505aed9591f333a74a842995da5135fa48f5053fac29fff08afd9b901c3df1347204a3f133a7dff6b1adbab077526b638a63837d7844339d48fe107af08ed62e87de547ced84df9a2ccc45876b29bc5361ce8a9a21b81d4f85d3b671c9b44b5483f2610efa01751d3a07fd694e46653ac47ac64a910b7fc421f07e5de54e898789989091e9ed58b7c04e9e1dced60475dc693a0eb4015ed658110b82f8e720dc7afff69cea7b8e56b8a9755bf1e2933d083608377504cab52d38cce1ba82f84c26265e693f18cf52e930dc0d8bc9d41f4d28b32b7405cb1fce88a55be40dca1b1a351aa7d77fa6ef84c776fa301dba2e236933d89c8b944f53403414df0d434db72caa749fbcd566d76f4f6f0bc40e42a29aebe6210e89fa0ca8b6ac08a4cac65c590503533c3e4f1b3c5bde868e79d9da918b72d1b098a7278769546b78450e00e46dd400efe97c884db9612baaaeee2486f64cd8302a4c32d8fdb873fe0afffd7bb74811220b01339dfc5e567c766af2805ec1c30126399 +K = 2c1ca8b5ce7247dca6173fbaf854d00020ded6300311f53ebec8eccef9570d07 +R = 60d2763f0138076e9e0e20f83e4aa2e9aa352c19ca79e3726303fe89b12e27f2 +S = 07e08d916c8a10ba269dc460ee9d83f86a7b3d98621bb7324a6a7e607238baa3 + +Msg = 3bb9430eea6979129be745d5ae6babd4966e3abf7d9ee5856f2caae6014cb340eebd28bd9f391eb46b3a2b8a4cdc224e5508532ca08cb104aff677133cf4393a20fe4499967dfa64515455930c659d43bbee2340b14a3b3342d4b9a466b889e850dff4b2a51d389ca32fb6a5f433ed93032be4e563695797b8c1e1e019184172 +X = 0d3fc8fc4c59971a963e8e41d26a86499c962615c64abe011e88e590bddd3b0b +Y = 75b765eca4ebde0b6564c3137f16cdae00eeadd2d0b2cb83cd1500cd05ed0dd16730c9501c8a353a64634d065f6137ffcf9563d96127906fb17d5a79ad291024a4a6fb7e7d080219a6231ca158b65f5202912ddcb8dd1f018c9b0e76b3a476336c5041bc502f8acb748f136c3d78cb2c429c8f1ac17b63dd7e9e57b607f9debe571459df3688cf4c11fa1e84533aecda2dfece05f4bdb268cc7b0c8fe7af5a633a83515ada95f31824d6a3c7122fdcd12f54992cbe64d1d6bdbd0ab5ae4d19aa52609750a1de186afab5a16398da473d128882b065e873809fae0bbdc01a9c73b5c6ee65857fa794a15058ddfb24a9a17a0408646f2009dda610c8291ae148a18c173f836b197c78ede5654895b45a3419e9c3177f2503a93ce526be14ad919939ebe3f2d07f006a0b022d6a623c6017f0c76619f0780531d5390d4239b2f900efb44c9530c7d9b3e84a70c904b179ad0c4f909250f7ccf83c5f42d6437cbc9f03fbae8131a12d33e01721e650aee91e1c893f5e7e039e0d585cd7cd7495c40d +K = 32d9aa04b104b5d7b59a122b368fe0cf476e28098b898662a78efee764545ea5 +R = 7416729a1f60208b7f837480fba81840e45b338ab9846e9bbb9168229f64bcea +S = 58eb904076a3ac6907d750ff6cdfaa465435e9982ecbdf72197b09bb6df1373a + +Msg = 55a69fc16f6b753d0bf65e844d067859f51dd329279980196063fb59f89bd778a9244f932c2adb6811183612105d1c527e8302dfee5042cfce5dbeab165a396f5a4c21339be1021b7ecec66f2177f94243ef6261608c56919679d44863cf9d2afc6010fc2bf821b931ca3970d69b1e622a908389db5049d718e357071063aef8 +X = 3dd224f00ee1d4648c600b10ba05ff36ad2c06ddc5a9f0112e0331ae958f36af +Y = 6146a51deb79957a83b2c7a3204b5c34ae4f8e0db60f0c07e70803f22bf99a39647263db9e285d72f6270ee10f18584c39081d2544d40502c50df1e35a457600b5569d61e8126c055f7b964572e9f3282e4d9745006955c24261c68d7c0cb3f08b0b0d8eaa971e1a631c68a3a914d35efe89f76b9c2116afb7bd1989e202e092b5b570eaefcc933542e650d92c033b5973821d6d77cfc243f744da80b56eaea7650bf50802516228ad6d5b0d4e889c575e3678ffdb1c289e59d9ff7f84a3d63d39d6888dbe213e2c3b3114085e006ad74505739fce826f963284dc4e2b01ec2f9233d3470e82d872ed944e62961f64134e8080daf2df494a76240ac0cd22f9afae7e80d3cf3efbe055147f62ff8c6192e388b49e47d9feaf19eccd65dca9991638ebd7b048077707adab1cb2a4358eefc4aab8251fb0f9d5f0b09f299c720d3a8c00a5a4d84feec040057040b709cc0ed185a832537bc4b2df0ec1f77169ac96e91282de21f342d5429ec3d66ad9d336c440949a1211217bf54aad93bb4b0a43 +K = 7969d08c0cafe4019b64ad3e6614be0aaabc2c2be61b3b3dcdd10d5f75fa24bb +R = 136f93dcc7d33e559b8db0af13e00c7190928bff5086eedfd11706e6f2349ad0 +S = 32b95b9b147c7d1ac2a2f0057fc0538a4b7c9cd4652e6783e5d7e3534655631a + +Msg = 1567890c69e578a27d6208913dfbc20eddc61f5feed457400693dd170f8067bf290b11150780684c20d5cfd2bf1d536dd3b70025883fb41703436fd09c0a141125784f9091151303ef80cd345e5a7d2854335c2984538c5cd739b007248cd99f1dbcd3148cb0ff0db633f8cafc7a0b99c61e784d0303a5120307d3fb3c4c219e +X = 3ac374b2a4940d92ab35ebb8e59677fbf95980fe632ffbb1db4f385ee4e13a15 +Y = 5c53d13a1bee17a28720b7089646d07a3fd58b9b2b23ec94af3144830746177b0d2073707b6b84901ffaa7a4165ceff2425640fcfe5d17650a44a168ebd769c833445f1b2d26434c228c1e2edf1704d711a86257be25235a7cea1e5cbac412235b7596d1dfa0398081a4f18151cbb51dc62c226a2abcaf3335e86ab54608040ee814e443b64398213ba60d7b5a3c8ea78ec6b98934c89aca05b97df5f65bc574a30acddd09f73cec14528be49a2fbeca70291b1b29f7042c594994da128fda22b3ed3a935a1a00575ff1ffd193c4cac53a2a2d4b0c510228a76a74333607d15b568614427144b4174da358e383f658c60b45710036f54f93f17bc808b302674e838c1dfd7f816f7ea44b0d97386e4e1634c9539568dd6ae1c28f25b27aa94499ae389a0926c8fa62956c6e24dced0afb0491dd9fac0516d27fd4d2dd0150ee6b4cff7bfd575043d701daad0f1b942a0e4c61956b32a68c9078f6077fa9945198d447a5bf3c47b7288427edc6f99655aeadf8de18515714c6b9c0d4ce5ab092c2 +K = 7ca690c92c8d4a3ac1d5255a2e5a12922093b8b2ee95906eab29b67f84fd21cc +R = 4947d36e7426f1441be5a75dc9cd845450c61104f19ed40ce33e252fa2c26268 +S = 356879deb1daef01da04750d58e598db47aaaff50b1cf42d87334a615780ff8c + +Msg = 4f7d894dfb7d82040a9fed6c26a7d27a9a1511388c113c64715a06dc46fcf4f904070a6ed95bdd8dc1730a27645d37eb3b02847cb1c631ec0c67b2ee07b8805b34dd9b84e6ab3f9afb9246994ea579567a8f4af7feb86898cc9cb534c387993c6ec16584ac85bed36bbc2c305770f21163686167dd53fe562362ff549d903539 +X = 2c14cd975bc163f9740dcb4a5ba9d8529c5a075016e02400dbfede8dd4f0d245 +Y = 00967478358d7c1696ceb92be850f5538ad8543e151aadd84caba1b72f3636a2092a86b6462873903d5bf17f612b45b5133eac1630bf07c0371423d2e5d7147ceacc9baa8cb3b04cbc3cbda429ab40d7e592730dc477b0a95f1fb5ed5d91e14b9d5a1ac8d403a55a658d1c383bb598053be238cd82386968aedb811586fa2a14119324896f2111b9bc7cff666d37affe76041d98f362daa09ff65e82e865eb29c5d4710ca7800886887d383da0cb599b225fdd210a3d70929d35fb9ca807e56c91c0851252b95c07b6b120b3b650418e0f54f45736f82018d09294462dde6eeafcb15a2a728577faf3ef3eb13db044965ea3892f7eb0884e47766089d2a43abc62a3c375831c20848dfde8f83c249a8e27f2897cafcf5a06b7c3591e09b42f82849d498664f485de26c788e559ad5b15f999db927f81f54b96e997b9096b2a7e3e756f5a9aab54c160cfc2e64492179487c98d0aa38308d67428f3a113228bc6dcdf7ab93cbb1da225c72c636f49d27442cf3cf2f9c49b90ac8bafe740dbbfd5 +K = 141936264e075533a96952808935238d715e7cbd840c016ee7a9f508608e4808 +R = 0940724855a0671d60147dc61fd283190134a68c178114d59ab58da73a1c8182 +S = 43f194b97078dc9b84c8e8e867a74bafdc2211706ae110b5aec0b99ede1ffed8 + +Msg = 9b62a74bc49ef4ff5c62165e7d25521f135c836bc4ef023fb4bb1d6b42c6291071eae0b465c59231cb297cac6d145875fd84f5729f79f92218522b9e55cb70d471030d36291a24925ab731a2d4458cff677079d207ce865b3d5526009238861d64506a92b76baff59b37b863087558d5965d76685f0fbd1fab1b1f9561f8f69c +X = 70e12e51a254831bdec081a8882e5a24d78b48b6dd163727b93f803734e06a3e +Y = 75d7d9a5dbdd47cecd12f69ab212dfe08a9656e2bca92c81db2d268a293a325e511cd5aa1ba59deef2ab6311665dda58230d48f1416371de1a8364b38f5ad599c472d363a18a2c13d572cf849be2fef9a166e838aa58b721ecfc4b361fdab1d0876b78e2e8f23ef1c82cc0e1700fa015a4007b1d7b535c82d23c129d1d1c9c4afe875a06c05f71f078cb8d9060f4d936671faee217d4045525d570b0c8ca0c4e8b55dfe9b780ba69c9d8cda10c50fd61c4e7214b943c1c29797b099f57a4c648597cedd9d909bc584a9b754b209515dbfa0fecce2ad05c848e99dca21a6d0d5f2dac2361e4c0eaf96df199ad2888d671974ef05d65c92788434ab42f1f1f79edc49ec1fa921395bd0feb6a9e6a0622e8255b0ef6937b89d0cccd5852872d2b0ab5d79c2f198bff6b8aa38acee21d6c3add5562d84d968758d93e8c1d611f7d6182b62e44f57df342899bb564a794d13915882143d9df45f8f21cc030af3397e9e949683ddd8d8da9909cc1139619e4b7b252aadd02c66a5e20105adf26f2f021 +K = 5de7fe70b5c60ec0ba66ade4fb6b0c925d1d56d26d6f57c5d12d07b5f6f800ed +R = 01e3de398b018a694780ddc6ca12b78dc55e7ad9fdddb5a3f5b2cad0103253dd +S = 03c98280abe3050a67f88ef29fb214a80124f47321c62e41e3905b8532f4936c + +Msg = 6c66051e04c2e6aaa43de9aa42cd9f61e8329c124ed3031b67452db4c435db291d756ba6ef90ab06307cb8d70f3496792e633bf5ac985c37c43bdb4e455c7f761a5ee450567f85cc977e968e7fa42a428c1a7e915c82874865631d8078899377255947c344618297b83c96114d11d74d8cd579b553667cac1d97aea4d1684987 +X = 11d2f10293c3884b1e28a600dd71b2ed37bea133255a0f97e641f9530bb4693c +Y = ed2e10a44316d677467d79947bec9e405d30f32d860a1ce46b366845df9ad222b0f992f5844571b196a310d587fffa74bd510215f3bdafa1c93d1b1315246fd2f794c4da07bd722a98dda9a02ad4255b6d5267738256cb8639a145c28404562add2bc7691dac12600ba9f8ebe00614ee3fc6e6b2484d9c5c7090b3f3b134ba19909864563040fe8752d6c6ab95111fe1014bf7bbe4e674c9d03bb8d229e4b5f6a6e471c678b0265e88ccad7960fffae700f3a75e61a24ea882b970535eb7017e16c48ce9e2bc8357f7f0889c871d0b4ce29d279afd1d114998d1eb6fe4a5661e429b1327f0a39e9ef00a41a74fe479b90fdda21d9315555afe227274c11a71c0d10c9e5dfc89750eda53c6a8b52a5272c75526375e5fb91ff75d028df7aa2bceb5fdf6f8e3bc1ec3f1e226d04df1d842e4c8f458988cb7415f0d2ca4498b0cd67e8b085b008fc4ca064393a0df517f0b4833ea4051ac3f1de5686dccb7bba8bd939092d6d78fa08f5bf9bf6f13d7aef72f047fcc47a88223df6e1a62d218169f +K = 2621703fb8f5094bc68eea72d5b5caf26f8ea3a173158b8d3e7f9565296767f0 +R = 31f2c86287e572ff4d07421a58dc7b3d727de113769952b6d8d736088b36a825 +S = 30acbd1c4cd6aa666ee52b0bdc41fc3b239b60d57e279b3f5483c4d54bdd97a6 + +Msg = 5f8d7f283af00384a519769029d208b61eee0e1cb21ce9fb80e9d8596b894580da7ab3457429e72dfa64e7cb839414de344da21cff55b1b3a83189d208ad2089b35abd78e2416bceb66466762fd7ab9c234c4aec3872cbc8443c92b8ce4ee4595425e746e4b6f7972ebd5d065fb3fdc5e329e8a87ed3cddbe279d57227ae4b13 +X = 1de925bf532a50dc7a10984bd1dbd90500ec9ad22df0f2d6f185fd1ba8060d37 +Y = aa4d065270c38bdf996b1f5f1ee4b67a76ef1e7b134ea21fd0a6137521245052e74954b96544c700d40f36248ff29a712a098d80ca12e28fdd7901a622dd0988e1c4d67de4c497a957882ce992fcb08c5b85c6858447ed6fcbad26d8c40485f0a89d9d020fe233e89319038455644c828d608df9707c63170dd0618c0baef3eca8d1455460a2eb25faff444f803bca297bb680e5f0fd06e887ed50c8060f55d0160ec64517086f4e1d624ab7d12df1b5947017e622ebbcd6f4eddb0a41dcba82743efdc5804288d2863f54003eea12753246e6e0357df05501b195fdf3a7761c4c3acf26537bf98b32f2e72ff1e0159d046bbc053171e3d518344f0537f2e7200bcdd957ec96365caf55fcd246afe771709ecec28348a356a1d4eb136a176adb5fa102f5fa5c969f90896462e0677afc606a948b25587c10316d22e1269fc64f915a796c965b8be97e5beab047ca5198bf2ff856df740afbbc1aefafefb1ed47278b150e6a7222417d3a86494bdb51edd0616899526c27acc2a818e83baf579b +K = 5f0d6676776f40cfd5ca255fd8e32b10bf3472b193818914876d4c3be68a83b9 +R = 7187cae836823618f9a6e847055ca2bc38c86e726d02d38f4950eb6b71b36bcb +S = 21f6ff4175765430e2dbed342a85d30056b28905744ece5dad79755ee3d7bbbd + +Msg = b216a035b0ff29feaf7d4c34eeb1604155c90338006753ee2b36062d72f62b524504659f70b976c68952a62c2b9a2a00cf0066a5e5098a632df2ee56dd1a140a98f7b3ac12db3576b610d76563e4621637da1098aa20f3c83247b7278860417cecf7e137194cf1bae12bbc63a7bae02c906d503f694dea3bd534718e37704962 +X = 3bae9330b47aab85cec948f944ac13221ad35d859de56db56c31aae88345cbea +Y = 7d6b3b71b1415807d15901427e6ab002ee985ce7c8d844969c6e7294a2167b4c26171bcd646f0d1bce14df05e4ce58a3ae50b2aba5fb74455233fa6d179a0794cb26e92ca910cd1c16e5464e8fa7ba936341d3ac211ac1f8a2f2a19c148a1c3d6b00ac44c35ea345a3ff73ae9d5abcc6ab65162a53daabdf6da25f96958eaf89f559895cbec52351394f9132c9564d61aac792640f11e09aa6f6cde9ee9ca5e05fd902911163817177bf054cf2eabf7ce8f34bb1c4aded8dad93411fb276d2d0a296799661307de579641e607fdad058d9a3f194574ea76f4bec46bef8adc5d62c7390da1c45f6fc5d9a784f696f24ae7e6b27a809029418dd18a420455c2cc9695e7c0fe00219a1711468e2866b71f3f9c538789ed2843f44f2a821773c52d211dd1333b5f164ecdf6c3ffd71de6678b0c272f92355d5974eb21c3c8fbd0bca7538bbd9894750b1dd0142bea85104356f9a515ef1ab69daed98d94803ac912c770e26efa2fa0b04e11051ced2f70f06f2f05eac8029d68e12261657cf4dbcc1 +K = 248048e6fc52c48398f5cd2ccd8a659c4b7b76dedf54f3fb90c5bb173c5d24f7 +R = 67df1d510d063c9067e9759180be470c71fe09c4f133aca181bdb47bb87b2097 +S = 7328b887bf0d520abe6f24aff2153f40de009e2706ae043dd3aa55521d9572d6 + +Msg = 6c67116fbd21a0e3ed16b3c4ca58ac49661918bfc6a7c3a6acdbcd53dd4087034fca164df8d38f7ef7db03363701409246382ee053c69c84fafa3c77ad2ce08dc7f41c34a31da496d070a99435799f269dc8effd06d31f85879c299cf7241b37b9a4cfd545086393156737cd9da2d282e7d569fcfa5cbde4bba51bd89fdcc913 +X = 7fa66120c5acd5bac132d07083d07968b210cd9c26c2c56d9b16d98066f5df6e +Y = 6a50d1125f9f3fc2f7e023c093b3608e6972acefe29c0c6ba07a2f61ed747153ada4a9b680622a842b9a820119675620c11688700b855d4b8d13bf726c36acf923256fef1b53093622d1bcbcf023848b8b8f4abf43bb6e87b84d061deb75236224ceda914b18f7ceb72708789dfb94070413b0e65c1231ad02db42decbe0e558aea06c310aa1a8d113be1f071482fc61913225f007b569b6e867cfb392725776ad71f50dc97b834a71375bac18fabf781126d06df62124064e6a723b48635e6754fc767a5094d0645974041591d0ad4828f63783356696af7ff77cd00107949fbff4709dff8a660a413f5b6c0df37ade84fcbc1d3253ba617265a10cc087606130290909a4f813341efdb611696feb5bea3d7d00a53a81f3a2043b887a776075d250c1a010ec47660087f3ef05782dd21d298d6d37559cd473008f474d8deca6817c1390180276097a81f462c0527928f93a461f4ac2d6ed8c9d6d101a2a9a29201a83d0589f57be28a727484518c7425cf5744df396a0e14a4d260a5c8d29bf +K = 5771223a25f539c80481baebe7b2862156fcf26220d6e953c37f2a22bce77c0e +R = 7d489ab0d44bc73271ef42e28a60e1b7ef7dd27af4045546047085da408bccc7 +S = 310151d943f088bb7dfdcd52d82884a7f1ee64d46f9d600d23f52f4cea4d2862 + +Msg = c8d416c1efe686637078122f798d8804f64a6e85e05f7e8e07634a309a98e92abd54061cccc319f1acd4a087b1d7dbf0b6bf2a09c5dc508ed14dcd5442056eade7691b7fb65b678ec2e137b5fbe875208a427c2a7ad90665426fbcbc7655e48a8965d23fdef11ca8092f511207a607359f94e91b197fcc993ee6ce3c37ad3b71 +X = 1f4a3cf1fb60360db3790a03fe55194985977c6884a5fc05a6fb5eafd53587f5 +Y = cc9b9d0292915d631aa0d9eb6161f924705c566ee09e74e418d88e6b67b7f57aff5170f6c42a839ba839402bfe517c287781dc97df2e0550b3862484d253152f6cff895f092358b5c4459048581309eff2f689230b4c4951db8413573b6eae85c2dc50fd6134461328e5b6439f41442b91e3a34204428d1e2c22412b012242b14f92e2d1bad626af95051bf06c74da4081b0d619e136a99c8da3a91adb3b8cf8bc5964ff655d45c75ada253aba91c64095394c701c53ddc11f388d61984c32d4326a8c627df845b4100f171bbdb252d3e28494ac173432dd5531e03040302aac8c07c9ea92a9ab67faf0c78b3ad8d454dcd428f942d8ce6e29873049fdbfa1df0e6ec224c9dd066b981a400b1f5194fee13cc5ca7ffbeca98ed0a0221377a1ae612740fce774eeed68382b32b686a25ffc016682186448207c4d9783e83da20a5e8b228a134dc3f44ecc565ab9ae162b855ecd37e6407e714045f4e83b971a5f4e304cd778f3d34137745fc6ea15b4b74d60176ef807410b1b26f68ea14f8f91 +K = 589da8a8ac79ad6b62b353422691f35e6474e9c605d877670dd95738b4935f06 +R = 7fa51231bc845fa8b668393b78a7b0408113fb77c1e36f3c78c67d65715a8b58 +S = 730c9e3483811c52cf295bad042acb5dd6ee90083857bee95b6392b080b5041d + +[mod = L=3072, N=256, SHA-256] + +P = c7b86d7044218e367453d210e76433e4e27a983db1c560bb9755a8fb7d819912c56cfe002ab1ff3f72165b943c0b28ed46039a07de507d7a29f738603decd1270380a41f971f2592661a64ba2f351d9a69e51a888a05156b7fe1563c4b77ee93a44949138438a2ab8bdcfc49b4e78d1cde766e54984760057d76cd740c94a4dd25a46aa77b18e9d707d6738497d4eac364f4792d9766a16a0e234807e96b8c64d404bbdb876e39b5799ef53fe6cb9bab62ef19fdcc2bdd905beda13b9ef7ac35f1f557cb0dc458c019e2bc19a9f5dfc1e4eca9e6d466564124304a31f038605a3e342da01be1c2b545610edd2c1397a3c8396588c6329efeb4e165af5b368a39a88e4888e39f40bb3de4eb1416672f999fead37aef1ca9643ff32cdbc0fcebe628d7e46d281a989d43dd21432151af68be3f6d56acfbdb6c97d87fcb5e6291bf8b4ee1275ae0eb4383cc753903c8d29f4adb6a547e405decdff288c5f6c7aa30dcb12f84d392493a70933317c0f5e6552601fae18f17e6e5bb6bf396d32d8ab9 +Q = 876fa09e1dc62b236ce1c3155ba48b0ccfda29f3ac5a97f7ffa1bd87b68d2a4b +G = 110afebb12c7f862b6de03d47fdbc3326e0d4d31b12a8ca95b2dee2123bcc667d4f72c1e7209767d2721f95fbd9a4d03236d54174fbfaff2c4ff7deae4738b20d9f37bf0a1134c288b420af0b5792e47a92513c0413f346a4edbab2c45bdca13f5341c2b55b8ba54932b9217b5a859e553f14bb8c120fbb9d99909dff5ea68e14b379964fd3f3861e5ba5cc970c4a180eef54428703961021e7bd68cb637927b8cbee6805fa27285bfee4d1ef70e02c1a18a7cd78bef1dd9cdad45dde9cd690755050fc4662937ee1d6f4db12807ccc95bc435f11b71e7086048b1dab5913c6055012de82e43a4e50cf93feff5dcab814abc224c5e0025bd868c3fc592041bba04747c10af513fc36e4d91c63ee5253422cf4063398d77c52fcb011427cbfcfa67b1b2c2d1aa4a3da72645cb1c767036054e2f31f88665a54461c885fb3219d5ad8748a01158f6c7c0df5a8c908ba8c3e536822428886c7b500bbc15b49df746b9de5a78fe3b4f6991d0110c3cbff458039dc36261cf46af4bc2515368f4abb7 + +Msg = cb06e02234263c22b80e832d6dc5a1bee5ea8af3bc2da752441c04027f176158bfe68372bd67f84d489c0d49b07d4025962976be60437be1a2d01d3be0992afa5abe0980e26a9da4ae72f827b423665195cc4eed6fe85c335b32d9c03c945a86e7fa99373f0a30c6eca938b3afb6dff67adb8bece6f8cfec4b6a12ea281e2323 +X = 3470832055dade94e14cd8777171d18e5d06f66aeff4c61471e4eba74ee56164 +Y = 456a105c713566234838bc070b8a751a0b57767cb75e99114a1a46641e11da1fa9f22914d808ad7148612c1ea55d25301781e9ae0c9ae36a69d87ba039ec7cd864c3ad094873e6e56709fd10d966853d611b1cff15d37fdee424506c184d62c7033358be78c2250943b6f6d043d63b317de56e5ad8d1fd97dd355abe96452f8e435485fb3b907b51900aa3f24418df50b4fcdafbf6137548c39373b8bc4ba3dabb4746ebd17b87fcd6a2f197c107b18ec5b465e6e4cb430d9c0ce78da5988441054a370792b730da9aba41a3169af26176f74e6f7c0c9c9b55b62bbe7ce38d4695d48157e660c2acb63f482f55418150e5fee43ace84c540c3ba7662ae80835c1a2d51890ea96ba206427c41ef8c38aa07d2a365e7e58380d8f4782e22ac2101af732ee22758337b253637838e16f50f56d313d07981880d685557f7d79a6db823c61f1bb3dbc5d50421a4843a6f29690e78aa0f0cff304231818b81fc4a243fc00f09a54c466d6a8c73d32a55e1abd5ec8b4e1afa32a79b01df85a81f3f5cfe +K = 3d7c068a3978b2d8fe9034bcad65ad7c300c4440e4085de280e577eea72c1207 +R = 53bae6c6f336e2eb311c1e92d95fc449a929444ef81ec4279660b200d59433de +S = 49f3a74e953e77a7941af3aefeef4ed499be209976a0edb3fa5e7cb961b0c112 + +Msg = 0661c1bf79eed78ad4879e240a46b95a0db2b29bf81263b9b1676daa2554aad7222c9eb7a893048e46fbd2826ab6e8cf42ab0cd631c4c4a1a819560f73cc861a5b6465cf2880a730635ed7f49e28f7b565768f029db2a443ba0a1bd10773f26f752c83da40fcd33f32f78d24ac9820d0bf70dae568a12538affa867160c81e39 +X = 807675fbaaf0b6d6ba3d82063cc07327cca3f3522d396fe5d2c6599045d668c5 +Y = 54b6818054cc000c3af61b62ef4189ba35e04845dee0015be6273392c67332e2e04510cd5b2bbf4723cd8196e025511f6623f03607e566484c330751d03c713068a77e08bde907fc57b3c021e37303373d9d811e38f14b547d2bd87d981269c677dac6ade6acbbae3014ebd381b4008637031c9b6d49ca908765472b05962f55aa361f7dd5a4260705ff5ecf7b317db1fe5d33fdbf48e6a33b3c78b14e620d93806b52e86e082fe4f54d5265e8df623b0c9a259f61b7fa2c0455fadf39693ef3977440f302067c3affbc4574224d5a22044e9bfe11d0d6ede2739c7ffe9277c8644d46beecb946f81775c116388fd6c24af02ec59f621233efe8792d6d0cd2c84333b11f07657333da4e274b8cd3914d977706e786f325e18a339b805c51b45eacb3ce241845970acb9fd1a482a564b2aeecdaeb0a0db39f33ad2991f25cf622bf22f0c4430cf94df1db59aa2d7c2004b5177b9ea69ff556dd4c07edec6259ee139b421573a11cf85d11e245e251190ba869c9cb4daf9f49451a85f38b9b903e +K = 6215e72ef2d6f6e040b7b6ef4cf566a21fcc4f37783a68db445c1ddf3042a150 +R = 519fe4c5f9b7707ae4b36217ea1707a1871d8fce98eee9e643c45cd3eb50c5d3 +S = 1df224af0b51519e11d8422999b1d3ab0972064180ffc3f1114c9f876a1de3b1 + +Msg = 1597353f24aaf515fd7c0b0a7453444d5f329d6c3f099113bb3a13309b053e6c123a56227a81e8b1a0c8ab4b46160cc5380df591b19d8a386d29a8e43ccab5d8c0e547fba21bffcf5ef42efb9fb2e9be6297c03d57da0b5889b3b9742ddc2c54b8373fed1f2195f5bb2329a8f1f3f8afcec25eb152e7fa819e5d36cfd3625239 +X = 169b11d03cba7e817da27d889cdb147ae9cb0459359bbf85a367c64c2ab556ad +Y = 5062aa1fdc67294cd57623cedd2808303ceb43537e3abfa1bdbc492b1aeecee61b1fd96cc055d1459ab52ddc3f2344389e5f21448a90cb36e448e60787b1ff5ab6e5549a3921496e8354646bc1fd6cd5f2359ae299c0a047fac3920512a1f411c438bafd03e95e538c6e21d1dd1f15a89d38d48f26305c2534fa8e31d054dcb00774138fb8fc61c6a8d4ae1ca46430d0e31b4b92dfb15bd6b8739fd537101e77334e6f3ce5469e82a8dbc58b3be5ca370359f4a6132fe03360b8f6be248c34220a8003772648664059f1f6a322e0c122f427efdb7d640eb5bb7f3db2d967a2159092d8f8df333ff5ba135602b9ee7e9db6ae0b95886df38d4b4a26a4b2d790c24fa214cd68d0a7ede63e7dfacaeae14d9785be693ad78d88242dfad988b7122adf5afa9efdd0c2047470c607d47b30089ff8bfc4cf5d7a8ba69a7d0ab6c54c05280d66aa4019f6362ea24a1d3f8fcd80c3eb20831b6e0db010faf826488f015f63f0b9ac6df72883efd286f0532b5beff1b9e810ff6a2b2d328af675eafc2f56 +K = 467e04dcd564f36cfe47c8fb9fa09cb142a99417a61797e047fcfd51e16e3e00 +R = 0502a6e1d8c8dfdf56eb67f9a6f6605735e4d1b0076c8b08b61daf8e7c2bf2d6 +S = 7c67abdcf4e580812b13d0a4edbae8a2786d6612bc866e3c13bc09f3e96616e0 + +Msg = 715f296930312368a2a98d3f42810da57115f00ffc4a12029c276b10629e6bddd60bca2c535b79a5f4a006817791f7f3ad2e01a00216672ee5adec579deb07e9d2b0db222c4e01e1f819c1a52d101b1ef678cfca85655dd6b2426f1ac379a92a9c69b0f8987432d109cd9a7bc04ef287c2afb663444688601ce3c55fd90d0fa3 +X = 4ee80e4cf46b4e072e976893a2d1e34c03d20f3aa1785a74564d6b4654b11a54 +Y = b63340d6a1955731283064f6f22ad7f0e28199f6a58c57ddcb44a026c61e441318c4f8755dfd71b295e9e7babe000849c972f68d4be00954a3c29cd4b4e83ad51830080e29e7619e45d3abbf9d82fd87e97581fe909d3da1e3e96cb3f0c893af9d07f418df902e76b0bbc1c97139cbd51226ac442b3d0b0525c784ba138131421c60543e6e296069f611b9c37cf6030636eecaf41c3b4838f506c02cc84cde6b99cabd2ca578449cc1718aa418ca12a2b76f78259c1691e0b49f09dbdaf585f626cf74d73212b3427845c66f2283b60703adf1a262bb8b10ac7ac5d1ec73614fdd37ee51b71cd1fb4e6db8938382643c721fbc4cfc987bc5efbc81299b375a560cde5adae62831ca4138c399d82f1f8bc680f9c6b47eb464a1e0aac448fe3b5c25bd8c0b7afb701b0680db87ab51738f19f5b965375dd48daca07bff3885632175700c678619f194e4ee5f55aa448aeca7f7b3322f64a547315c5cee045122549fb38b8acc95da5e833022b3b894f03ccb7f73b91c1fe82ce414e1219411780e +K = 3d7728ce25def9a31dfbe442fef8b162b30544065d9cb7bcc4914662a282bc10 +R = 4c5e990a6e24feddab48d0af4a08b45ae8092594bfb3c012fa1c325c977a3cc0 +S = 820b6cafa89b41c4ccbec842d7c408c65d4998ab1ac6b6bce8d4d569cdf04726 + +Msg = 1fe5ad49e11c207d3d5e1923060832afbfc0aa0cb29fc0b22b3be59a598f8c703b9bf2c7347f8abde25677ea9cc60af9307d21d301fdd23c28277fce11400310033962c04ecd377fd446358a3449efd6bc05721b784ddf0e238f28608e86bd4c3d7ac631fff8be0678d37bfbac16b75bc15a50ce1397dd4ba3bffcf94d341274 +X = 0d690f2c87fe2cebc9f15546f05afaf6dc843b80abd2046f33de30c2e806358f +Y = 53fcd07399e4d31b09abeff2f096a7b2cc5cf417dee1207d8a5aabf9e8f9fb0f66be48826a3dc11e39beba2ff47b76544bcf55485acf1e3d49e19057015e49ed012a4877be741607749b6f4bf95c44ec3c9e8b893aae8d80e369978a3580371cc13de8e714092bb892e4a956ad3654032f7758fb9454a1cb56406e1bf45855108ee960107a65d45453cb482dc19049b6c83bac111756caf65bdbe5e6b270d5875b997a1722ee9d58384941aa40e810b60b83412eafd0a7428a0abb55df45680cf22656711db6bfce8bdcbb4c083a401cdb68284e0c7ec00f7de74e57146adae221e54cc4a566b05a113ddb22cbc19d881a41cd75de8cf6c7b89a5fae650df585aa70c045b84b2cbbccd0e7ab720c5896abfd356a66f3dcbbb5386be6d02ea9b3191ca275d22248aedc360ecd4057ae06ab2c2aafb50657a91c62e038eac9f5c4d88106db4c6926fb5dd2de1ec7e4e005ce184570e7e97d76422fa037621a6f6d46cb83ab6f4d434b6a8f073900cb03a7810455d19e77d4df624d08e782090ffa +K = 796cef38518aed8644ec5a1b3389da5ee9b063b88e7fb4602af0709999f9a938 +R = 41a2c955f41413a7ab067b4f50c61e396f9febff61c1500b1a4bc69e50a51935 +S = 79edd751a9dc2372b40580fa4d538fbe2cda4149f6b11939ddad92c574740883 + +Msg = a326973093ce502c16473d89ba196507d92281504759cb34c6cc353d45197f915b5e736b8ff857a8b2ec99649a3224f857401898c9ea607e6a2c1d320f27564ccff5dbdacfd87a145f1a029425d76502c081ac0f6a14de5b2cad1c23a61d4e9ec6a04e1a455fd710c3c78c096753c0b7f1511e8ba5f5f1af4f0741fee88b77eb +X = 37d0fa99e5eed0fb51c6e690f0ac556ae74cab9a84d887a07363599b198475dd +Y = 92915db21c2c3e57fcccb7dfdce28a12aaf6dd10581193b98b7d51a728c38516e39ef5cfb1ff9fa1659c9bee56d4ebc1cd69646c3cc3f7caae0c42d9cca9219148e4998c2ddc89eb9a3edcfa6f457129007a9344013dd123aff197bfcd3db1d9e2199bcea16165a4c34ed2ac32167abd167704ead31d5fc2860b834d44f86cb530dad9e887013ca4d6e883008c286d206b6c7cb252d1328b503ae0679b502ec1646f69f2602d5e3d631d4a5a63fc7a5d06f27926a4d6b1ef2f77ddff3d850d3d9f58a958c3f4f12cf029f148386c5b8a71bae9094dec85279b1e387799d26b2a6a0e0dbf06497366e4903e559e70975dedc7d4934d4e2d3d2cd305ab826402ea8f2778e26625119e7b0c24c45dd9c05a3890dd1d9d930bd0bb409366b07a47ce572ed5bcd5f63c467d49c56811fc3e401341b9a4531f776debdea540a34c7cca3c3fb2ea99c5fa9f9fdfde918a94f74e080d1986b68fc1e3fb978054872ced97bafd96731e6d4f1c4a91278c383d4761c974100974522f7b6e8a2884d5b3bbf6 +K = 0b5c9b613708ea26bea151a0dd4222bb573d950588483483cd2b8ab537469e53 +R = 73f1922e26d9b8068b68f83c2bd5dbbb5960403b49223c02a42ce6cf3810db66 +S = 3ad30be9a60f6d4227039456c9827d5424858a02a8e6d3891772cf80a5e4ee21 + +Msg = 7504382fb7fba1dab3c93bd31b16e73d9ae1d027dd23166b3b94c7124183faf3963c420be5205a1f44a9a9026c6ef77e7c4ef1ec4845fef6e5ea2487ce012ff53f9450fceb0d3ac62f2102d717e3287db3714717a28cd8b7fc64556a86173e6e7f479f8a8dcd895429cd7f0f5304ef6aaf275d94a7f4b30acc1071787ca5f062 +X = 1c21aa2ef3b11d31f3c94a278859cb74bc40daf5993dbd774b32ea3ca24bf162 +Y = 2055bbe89da0a0c488c3dbf29531f1f7cd3fb55a26efc540c2eddcccea1615dd923fea4c8d0c95a5af7e1e7816048f2ae85323a96411e7d1ad62c4ca675b63df9dba31c1c76803fb1c8292465ad0a7e49ba3756a8ad4c6ce86fd30b8b28e08c4b4777e079faff10ff852f7d891a984198dd04977972108c52ce8bdb115646224a79337746e3647213198f1127430f5608733d88204a62be6eaee84629fc7282acef4c4f5d3adbe72410b1edfb74be16b2d675cca891bd8cef205178902b99271b48041abe33ac119ad6b756a477a63063aae8a17ccfbe2acae3c0a3c630c13ade197cf3d05a9fa9d6899c0a3f9487e6148732dc63e907ef79488df3373b8a213705d69dcce6ed9a2209f59ebc58bbbeb08054510b5a65169d0fc1d4d10bda68aa7eceae2e72f0339a2eaaea08303064dd6588414ee7705df3ab974debef588f4e31fd6a8f25979c9f521d2343120e40794f41a4601be579183b877e6a8f6c0ab7ce8480e7fbff467a581df570af89929bc4b56397b787df4d729e65f9b98ee7e +K = 44efaf7a15a1eb2a7ba04fd4717e938fe738666040b3d81560497ce166f31e86 +R = 56e21a7ab61f9eabbff47c75e5f68c31873a9e1f2e1db662731182f9a029b8f6 +S = 2f24c52f7baae29c0b4633a3855233180eba80611dbc7e88e23548a520b60f66 + +Msg = 0c0f7b0f9955bb54f16e4e39ad9bfd1deb04b8e8b38e674da455696bdf7cf28e24114ad00513d8dd4e5c895d351ea913fee516b646820087721d9a0b5ecd769b3825739123544e7058b66d2342b04462d5d173cdb00ef6aca604aaa438b8868d15dd6624abb8d19384db48bdaa66471413a894d3610bc97d848a59e2c69c0c0a +X = 34651f5844cbf85960e987190eda4ca1fcf32d8cbe1ad08dd5aa36fbd0d42000 +Y = 45ef384ed817386668e1b90b42f1d423ad9b17ea870119c0932ac2f515f546a3b6b80a612ee66dfc00cc4d9e3b5dd15303d5ebc0aa40cbcd7746f54a3ffea23aea0704ae9cf5ad6145629c61d158db6ee39ac899bbda59794b1769a92982082b77a1d48856427b78bb6e077e27335f115bb842e53251f699f04488beaf83a6c4aa6a4b76370cefc9099c0a45bcf973242df2a01ef68e66c87effd7f98f441e94a09a2830076c2895f997afd0a909b45b3c059177000236c501bfaa56da800ecf08701d212016b525f30d63ccf3afea09df39e1cfab7bf45de1a39ac7f28de0037ec552e2ea10c6b56a5db8c13fcbf73d2e50d58b4f3cf278506f1eaf0873e9ee9465cbaff4ae626f3aa109fce49e55d57fe881c50f7279262621282adcf379141c9b2c39813faf823a7ec077c6e6bf953f130aca58f36e7a87ab1aaeea5eeb4402fa9e26ef8938c8f38a6c040809f4d04c81e2948387d7be813a973a9c95176700117de2f33e61940387f851a73dfa4ac5c984ec97918c967bfedd886d1bb705 +K = 52c16c3e7b17f3e73d7965f584bfd7ca036423b0d42cc00e58d1ccbc419d33b2 +R = 77563b3b48fc9ee0dbea79fc74dd6c69b72c4270918e6a1be2c998177023b40f +S = 099cdd62dc044a57ea25d1b5c1f6ed84d11bacbb0975976d5821c414b5416bde + +Msg = c67735698ae7bbaeb6f321a1088617382a5c92092151ec364582962c9c0ed9ed8fc790cde0d9744d4e38970a8482401c0f61e91805f4984b8cfdf9dc8093a5c6681dac13809bc41d167d3e11bc99698a4bc07fd248a67491e8641081ff1e97871745157cf930195a35a14d0883a26db442e4edb962aa6187b8d1c7791d61bd25 +X = 2ad20d2e78a9ec234f99a4b2ff52faf492c3e3242ae6c04ea8a37d5f10fce6db +Y = 0d3b3c3df072b5f5129118132bb7bca3c52f51df36767f1152387ec00df65c728f0cffc1cb6f224258cb6d3e90f79dd976b5a180b83903d210f0c4dab82eb72a1f8997bf09301d0f7c89075d552c81fd9585b0b1b1291744d21bd1edcb511217c2962e1a6de9bb01c2b9698ff55ea75dcfe456be481cb6f064fed4bff874eb1c9b7451979f7de7011baf5a47c976a179aee909d25ca87fd5e3c75df778e21272937c5ba7806aefa70647221e5f7cc32ab8015921a5a95ecbb3ca4b667249d0f34dd2d8ba86dc158f9e8425176e988048efd9f7b7cc53e9fcdb29ad2412ab4ca6ebbde6f4efca5945b53b2753bfc4eabe6280235620c4464f6940acca1a94659a527aa14cc7c5467382a54fe479656dfbc11923094fe8019a08c3ce7e99a28f086bdaaf0faac6ee16190dca8e94bf87657058495ad07931c89008ca1e565076256a93cb2468aa7122758b8e174f6a80f41a90fc92f05bf1f1f47da185b2f25a1abf5e0ccc6613e3aef87193400d751b4c87b44d9bdf5c0e207f0f6a7dc2113799 +K = 654dff8f0500b52adbb70fb7bb7aec4b4820963706964c19c8320e161c3ba365 +R = 42c902c5826874774550464c4bb736f2af7fd2a347f27c65bae11820eeb752aa +S = 6411b45947a43c5b01c2f6cefcd41cab73fcb6ea0f2a35a21475563055316e3e + +Msg = eb6a0359c6e46e09a42c554705bcfc5c0c022670b2f6c1a5bfe14ea805759ca2256153fdf815057ca9bd5f4cf837e14fdba3ad17612ccd19fde00764ba2e8ecd8f5a185cb26512f7457259c2f0670852741e7393b40c8bab673be2fa519b48a95dee6552365fdb7ddb632b1b33f1a5290b828da5965e82d874f79cdb928814fb +X = 0d06d405d228c0ed860b9e21bae570a6fd940cc702dd6e9a0846e7b2a4be47a5 +Y = 6db83b06c698ed80122ec4a2183370ed7dbd6ea44dbb4542149568570c53521d3399ab44fe2babd49068e11953c5d38f7ffe3bcbe4cbceb91c155ac8741dcf226a59ede10b050b9f3743f29689266ce6ee020ca17f9fa0e75b3f7158a65cef9fac76c88786b5e377afeacb9b3dda55be922da0ef958aa556abfb43067a414e915e31af5f5370881ed97b25b4bfecbe082a145d02717af800e77e28963cc0a6a1c11b02835e14bdba1a8c9ce4bfeb06aaebd760d7c43cf56ba212d0c75da026176535f982e8d749f20c2a8d5f53875d893374d859b7cee58b0eb319d3313cb8d17602f47e120d1a24a0f8a63cfe45a5028cc0937bbe89f6b3b7cdcaa7dcd5ec5f3ed2aa9f3aa8e91a496a8bad7874dd34bd8f2a9591997d54f92d5864216c953646840b378c7a05215ecd97b6ba944ca18597b7a54832ec98c1cac0003d50d5a05312cbc852d507cc973ecb56f424e8a1c198bcdbafaa6f928fd27a7c91f84bc234f2532639a8aa2196f8fc2b7111b3d0b1153165a0e0525d4ea595f89aec33b6 +K = 521906f186797e7f5ce85112ab2457ddc030d6f34be361929f4d373dda576e08 +R = 0493db0c18a3882709b3cc9f8dbe05454506c04c3a12a41d599d201d7615b6d8 +S = 7494b4d1b2f3ae22797255a1d0662746352a3d0532290402068594cfe48c23a3 + +Msg = 5c59b209bbc0a1e010cb108db4101b8e2d04ced91299a8742322102e0d578c3698422b43d19d331608188bed4c7edc03a442f89aae60f4e7ee9b6325de3a8bb702918c21343bc9b266f2ebcf5a620336a7bc99ae3685f19080db46f24a501228c5bbfd9c0b4b0abecbfbd676c359607ce292cffd52d26af80b22e3c4d516ba0f +X = 4214d55b0a058c3dee2751407d9296168fed9f255e5c68273e1e5aeb3e504e67 +Y = be31fd5d62db690bcdbc09e453d4417f82e8621ad717cab94648201a74f6ffdfab965311e8ff35c4a0b5dda339b435f17317175ac642f785129e151694ea8b244627e300ceb0f3be08f91c0f527f2e0df7c9f55492d1329b7d9689634c8a4f5210157e2419e615d9431736f804b1641103371e7ffe7200e74296127d59a8f97d41af11d70c3fd02531f7b811daa7516aa2f2a9ba70dcb704f3fee47f2cbed65c1e3d06c8814e1b28abe29f3d056792efdf9ac9307ed0106c5a328721af0e202b6df737ec4d82143dd2505e103ad845863c45869e69abd9e02c7b6eaaff9e2e12bc188138688c0be3e6941c37c7ddc9b6d289f7cc8fde42bc3c14e3ee521635f32f54280d119ccedfc51090a0ad006b2427604014ea4d0e0cd1efbce09c7f8e9981f969aed6d481cafb329f995343541d36686de6cb8e4b1e7e3727abd5c1e3ffa6936ad44b926063561512c0e9ac787f8eb791f963f790ba1b21dfe1b8d31d4c16b152a6de65bf54ab0f0d1e3d450317b1cf0c4e331d18587accb6960ccd04dd +K = 574cca3bd87ec1994449da2f2324a3945fa3047791274367bac0f12d4c064343 +R = 7fc9bab3505adcd1b1c8127e2d1fbcd0e15eaac314250dc1c684fcc47fda2993 +S = 70f2007edd68fb9dfe19a63eee4d5a977291abd235ed26e4291476ca5d0c8171 + +Msg = c805d18c0bb53d32b57cb652f5b0e5293be492a1c88dfbec5baf47ee093e2df06918994e5cacbc3dfff229abd31fab7a95ade2fb53adaa7dff51f6c8581c69eb5b090baec38607ee9435447ad8137455b6ba179fc53ac094f97e3e29d0724cd10811f142d67d1cfcd5c3d1e9b411dac38f6e1c0c14dc9a50d84bcf00ece8a603 +X = 3cc7e58577382500cb461c0ab8ff01ece8fa766b66f8be746e347ed2ebc18ebb +Y = 2b6e1a8d4482b41697bbbe50b55b3dcdecea8d2e2eb5cf27b892bcbcabfb253c19486fa77c98c15add4149925b5501e5a5ef45b32ad09a872462a0f41d048af4e530660a3864937ba6a9eb0734e90fda3c9b6fcd30c9078771295a93802d9e1992a4eee9af7a0413880f33bc0b62036203286844bc384187ec51a33d390eaac0cc3328098a847509129bda735909fc7a11893ad0ec61276b7a5dcd4e626d9ba67610eaf0af876afc0419fa4f009aa5f913a1c73798c2707eeb8fa77f4ee058229a0ad37e845739668d95de226760898c02d06f155f82dc16360c3abca3780bcdb79446c8343583dc0f6925434b0dae7b59cb26b10008f86570ca0350de340b275524f00551310f1d095db8480b4acc489cf5e2947eb92904ebfd0d978bbfb5d0c6a1a9db50cc6917949c71854632b4408bade5195d40dcaf61fe950eff0c8997c374f1d465c80bc65adda636433e94f22c5fbcf09e99666a535919ee6f88154934f11377a9a9e021f2d7ecaba32510e92bf5ad67fa8b3d70dd2092b1389e3193 +K = 179c02ec8f18fd88146120fcc51628f23e250ad694aa47bd691c0f442a63a92d +R = 38208c0985624bb9d62713bc7150942cbc92b8e8a36ef6d1ec4d08d1d9a5715f +S = 65d2ba787ed4c08beabf24343d06ed61872d6d684a3bc70307fcb7e20df931da + +Msg = 9e0c66a4f120e85aea064e7a8ba132cf30a45de2889f3547384e4e84f45b3572bb0423b834de9f2c9636faffdb6331924f0d2f5b6876145d9cae110ab0cf6fc90c2eeff98c61fa186cc3952b57299a73678f4585bb18fbb84ef4166779ff10eed14d47ae528e03298dbb97cf4f88b7e6d0959b5894550a3e2e356947d25ffe73 +X = 5c5791dd648703f29099736146f5b1b5e35dc71a74d6eed312d37aeb6d389ef0 +Y = a62adbdaa5a55a2d1e439b5489cd6c8fcb23e9c64fbfae7c83e9d5599319bf3f06c3c290b989a638940b1d0b7e8bf6741319ab4c38d46e77ebd4945e25cb89cbb64e44b9474bc7c9d9f61a36e57eb6afab6c7a149afe02c1cd685483208c55feecb0d0bd96697b437991059267d76a488465faab4a7e17592329567005faa421e011d67f4da75accb627537e933e9ef0be3c70f21ed3f8c3b3d7d769bb611f82f2baa10fbc7313ad0819048d353d679736c4d14bca9985ecd37041afffb291a7d909c7458181d01592e6c90c0e34b49461ede66c5ac002671a4985546a6075df95b523f166d2e0d1f5da77baff5a24df775cc9d367f2a0728c4802d797041788c56cb871290332c1361f8da8897b5b8e25d4a93594ac648bc53c9d85b4fcdd7ab0f5a3ee9c25cc14ba6543b078859524ec7f0b61cdb209cc51c40aa9af082ea9c1d4b91b2c1f6dc11cd879fb3865d879fe000f0e0b4b233dbd01c9c98d01a664746577a64bf28d88256b76de2babf14961113733b1bb555325c09d8ec9189fca +K = 8327daa2fbd001858dea53d2dc0cb005e0ae5fb15bebc0c5efd33371637ef318 +R = 4e35f586fad4f512863c485ec61ed01629aa1399b16fef4d80cb332752b1da92 +S = 262dfe6ac72a2f6044f62698e42dd2f92b1f9a91be42b5fdd293b1bf9a145f00 + +Msg = ed88d7076c5f6a5e0f947543d5fe746afca9b2c4d06655da4607685c799c210be4aaee0e6ed19713814182c7f7d584ddbed488c8e3239ddd810555ad6316d1db37fd9553ad74e3ceef9eeefaf54563602f5547aad4161e9384edab655a898416db53f71237ac5a1485711182bc5bfff72460252784ab1bba23634a36be77533f +X = 22b44bd6d23ee65ebc2e88030f837ef65593eeef0966239a92d5126cde867a13 +Y = 3e1ce8780f39444c2130dbf9d80ca4b25817dc16d08e2cdaca0b56cd2abdb9ef5adb741ccc1abecf62806ad7e87636f52831c6dea48e0729b904e5a0615d7ab4450104208a5ddfdb2f2569146ee83ac9aa27b4d066355fc53dc1a3683211ad3efad1ae69b8a7737bbd89f5ff48482e2c56edaa776e43b2a0ba62e513862da290288f07f84ca5a06837d19e9b186dc8d36952966e08f7213340186d31fd41a2d1455a083aee62127a28dfe4da6c876a5a6f36c45245dee6f6566b8318d3d01943b2adf8ce94ea01a01ba41a6e286820a96707cbd4002875b79d9fe2db6cc3f808ef0f71380ea9a73fc7e36850d022ffac131636367886a6e9965759d73f03ace69704b52144f67b678e2fa201c19bb37b00377daabc9377adcbddea2816cbb50b26ad2e429ea0576e7721b3b75c4fedb31fdf1f0c6c2eaa135f52c9a97f0df5fb25ef28848bdd7390cd054003722582d94e90a3bbe85beb34701271b4bb48bdf9b3d0e1bb5623445c7828c937a423be512c1177c9c0b5b0b6b0e1f639d330e051 +K = 0c37eecd48682f897accf43b3e4a538cccdfd784625a6cc046dc54b093d16162 +R = 2e7cb404a6daaa8e00760dafc95b4eb5545683224a61a1bcd6128bc4e7ac535e +S = 3a70b3a97e06e63b89d56ed5232346461c1a3b6b145d89043a48d666de0256d5 + +Msg = 9e440052ed927321948388776d3719be068739dc2d6c64c5937176b2005c2d70a9389e6a655663366c0970a8e2e3117ecef257e951ac81c0731dfcd4fbdb1241bc249adde9cb398c7d15e381368ad3d24edee23397c15a5a356e787d8f2fe9be76260bd363e17006281c199fe5b710f9dfcac52895e392f7384d71bb83053ffc +X = 680883caf23665e813572c1e4230218edf53b3a5167f56a7d80e53e7d3ad1df9 +Y = 89e859fc63a263bcc051bc2ef58cc919ee537385cb3636d83a624a4230d4b0024ec5e28bcb884667cd2bf8c28451b64de097f2194cbb8c6e1cecbd6f9fbd576481555d0f0e8f13752f2472f7619d052318424310f69d50de78ad6c457b98c611f8481d4543031a73f83d1e852c1f2038a6435e571f776bbb5cf978a9b2c88f05d134fd5ff4656a69d6fe6b667da6da54be48386250394c75b495689fd4628f666424eb080094448d41b706292e51e75386543e5fcce6a6f3aac03a7d6d5c2551ca6b5b85fadc86bff14c79a1602fb0c1d43d88d5679021e826062ecf186aaaaefc312eab9f9e2da120a8d7d08ba09aa9abf4e34f6d88c4c314c59c36ba57f928d88d5d70fe48ac6700f5cf607a55e3646dd03d47e96ad869f7ba2bcc7d65a99c3221d4909d1f22e4ccba815fa5b720570e42f8626c31d99f60cd6a015391fab3537446f747c0111293c5bd6b5dab2bc3d5137d2124029eed12db71bdf794de1a2ec5070d83f87195264ff09cb48cddb5e852b233570f1b70cd457cf864e2ef3b +K = 69e6cb5bcf8cae88c96e464a9b26c6e1bbac1e229909e27542278a50c66959f1 +R = 37c34f9cce916df3deff26be08a4e6bbae0661fbbb5d81d6039f00b1e5632b67 +S = 3f4a2932917e6bb088599a269d7b590769acf9807dc5a9420a95e12c7364c5fa + +[mod = L=3072, N=256, SHA-384] + +P = a410d23ed9ad9964d3e401cb9317a25213f75712acbc5c12191abf3f1c0e723e2333b49eb1f95b0f9748d952f04a5ae358859d384403ce364aa3f58dd9769909b45048548c55872a6afbb3b15c54882f96c20df1b2df164f0bac849ca17ad2df63abd75c881922e79a5009f00b7d631622e90e7fa4e980618575e1d6bd1a72d5b6a50f4f6a68b793937c4af95fc11541759a1736577d9448b87792dff07232415512e933755e12250d466e9cc8df150727d747e51fea7964158326b1365d580cb190f4518291598221fdf36c6305c8b8a8ed05663dd7b006e945f592abbecae460f77c71b6ec649d3fd5394202ed7bbbd040f7b8fd57cb06a99be254fa25d71a3760734046c2a0db383e02397913ae67ce65870d9f6c6f67a9d00497be1d763b21937cf9cbf9a24ef97bbcaa07916f8894e5b7fb03258821ac46140965b23c5409ca49026efb2bf95bce025c4183a5f659bf6aaeef56d7933bb29697d7d541348c871fa01f869678b2e34506f6dc0a4c132b689a0ed27dc3c8d53702aa584877 +Q = abc67417725cf28fc7640d5de43825f416ebfa80e191c42ee886303338f56045 +G = 867d5fb72f5936d1a14ed3b60499662f3124686ef108c5b3da6663a0e86197ec2cc4c9460193a74ff16028ac9441b0c7d27c2272d483ac7cd794d598416c4ff9099a61679d417d478ce5dd974bf349a14575afe74a88b12dd5f6d1cbd3f91ddd597ed68e79eba402613130c224b94ac28714a1f1c552475a5d29cfcdd8e08a6b1d65661e28ef313514d1408f5abd3e06ebe3a7d814d1ede316bf495273ca1d574f42b482eea30db53466f454b51a175a0b89b3c05dda006e719a2e6371669080d768cc038cdfb8098e9aad9b8d83d4b759f43ac9d22b353ed88a33723550150de0361b7a376f37b45d437f71cb711f2847de671ad1059516a1d45755224a15d37b4aeada3f58c69a136daef0636fe38e3752064afe598433e80089fda24b144a462734bef8f77638845b00e59ce7fa4f1daf487a2cada11eaba72bb23e1df6b66a183edd226c440272dd9b06bec0e57f1a0822d2e00212064b6dba64562085f5a75929afa5fe509e0b78e630aaf12f91e4980c9b0d6f7e059a2ea3e23479d930 + +Msg = ed9a64d3109ef8a9292956b946873ca4bd887ce624b81be81b82c69c67aaddf5655f70fe4768114db2834c71787f858e5165da1a7fa961d855ad7e5bc4b7be31b97dbe770798ef7966152b14b86ae35625a28aee5663b9ef3067cbdfbabd87197e5c842d3092eb88dca57c6c8ad4c00a19ddf2e1967b59bd06ccaef933bc28e7 +X = 6d4c934391b7f6fb6e19e3141f8c0018ef5726118a11064358c7d35b37737377 +Y = 1f0a5c75e7985d6e70e4fbfda51a10b925f6accb600d7c6510db90ec367b93bb069bd286e8f979b22ef0702f717a8755c18309c87dae3fe82cc3dc8f4b7aa3d5f3876f4d4b3eb68bfe910c43076d6cd0d39fc88dde78f09480db55234e6c8ca59fe2700efec04feee6b4e8ee2413721858be7190dbe905f456edcab55b2dc2916dc1e8731988d9ef8b619abcf8955aa960ef02b3f02a8dc649369222af50f1338ed28d667f3f10cae2a3c28a3c1d08df639c81ada13c8fd198c6dae3d62a3fe9f04c985c65f610c06cb8faea68edb80de6cf07a8e89c00218185a952b23572e34df07ce5b4261e5de427eb503ee1baf5992db6d438b47434c40c22657bc163e7953fa33eff39dc2734607039aadd6ac27e4367131041f845ffa1a13f556bfba2307a5c78f2ccf11298c762e08871968e48dc3d1569d09965cd09da43cf0309a16af1e20fee7da3dc21b364c4615cd5123fa5f9b23cfc4ffd9cfdcea670623840b062d4648d2eba786ad3f7ae337a4284324ace236f9f7174fbf442b99043002f +K = 40b5cc685c3d1f59072228af9551683b5b8c8ff65240114ad2dacfccf3928057 +R = 7695698a14755db4206e850b4f5f19c540b07d07e08aac591e20081646e6eedc +S = 3dae01154ecff7b19007a953f185f0663ef7f2537f0b15e04fb343c961f36de2 + +Msg = 4bfd28a0a79c94dbd667c275ef77a235d8ead7c698d42fb7f7c1fd3c8c2dc48d0dda2408dea56325d69283692a523d281ffea856ffd9f8417eafbea606d862dc5897bdf241f3e8e49aded5eadc7295e5afbf96b3975d0e25daa2433612e120f659036b807c1853c03c90fade2c19dcd923492ecc906cafc57a95da6f20dd59d6 +X = 95fded7e5e949602c1123d80f89503cc5fb7454be3173af495a18709c1c2506e +Y = 6c778bcb146582277633931bfd029e69c9e8c0ae9e24913fa734554f24f64aa64fd9bc608ef677a1d4829aa8a8564c2ff0ffa2fa6a0c1a2ccb606dda018bf095f8c897d7a43349beb9807b7b118f8de8856b164b8d8babdc17b48f3a2b972ce537ab4e7a7d9ba5d7e6fa3698aca91973cd1787ef7b6b4d0410de59cd3143e0f3acfdaabe56b371b4354d0d32dbd1b5ca6a872054f3e6566319d5d50b2cf54c123ffc929007ad1857ba13b7c403f551c2fa4109c44e19ef97afb62a6103356fcc2ef451e736261010b0ef58ae07a0c801ff75ebaf6cdd763f8df2f83f0ebbda40845b2f42d3feeac071fc626ee5b51f9bc1a130514f2204971b4b7261b4bd783ff75775aa73a63d7ebe990b939b0f44a909ec390036f297c3563f64d142c14ea43c5d3c6def4a3a9ccf6274182b939b886501aeb4efb23d0073434cec6a915a67e24cbb2354c9bb1089af487eab5d8e499a632e6c61492ea15d2c444c269de33271a90042468de2767f0dcf7a66424a3a40a63eebd19cb89c8d74c58504c4e103 +K = 6bd1eede564ecb1b3fbbf2d96e334ab4cc002e6624e2cb8448d8608fe0e8c43b +R = 37c3f7556d6e5acf7989f0baa770c2450deebd4d5f58b61e17b4b2b926b58031 +S = a61d86365f10ca5e1ee2c4bf276f2374e88b5a2d1acd8ecc11e97785b4fd9931 + +Msg = e3fc751b6978fcf40f09606ee4263e1660ff20e9c63a7138f078ae3e3e603dfcad172f3c7cb3f3545fc23bc30c37c8439c7b238341f29148276ea2122ea8ed0feacb149de17cfd33b8c9408aee8ab0ea8ba4a2b2ea237418bc3165369c8cd420242f8d32bcabe0c352e21f65de80d587ba2713cea6e53ca524aec365bdf21adc +X = 3a09006faedec91446995a393b034b0c7ff3fcd05cda2e9e3b2f98e3a4bbb9f5 +Y = 1349bbf16d375c392a9acd5bdce655f14d616274388a45cd372925c507ac129fe61b998e25127f210926ad1191583eee8c4190026ba0a95894be3f0ad5d05886c59a3c7a0044f7e2bd9bbe28bf9366d034db424f34960e30a8e7888f927d0bf984b0ff99ea271871124aa12e0c0e19624e533cb4149cedb3e11d321600dc07b32e531a615c8f7fd7f33a071caaa76433d1aab0b710fa7ba3ddb0175ced4e558d5117afc7542b9b07a8fe8e4b08a1de456443553fe87a4c2455ded72f98544d6c41d6ef66b7142a4aa9aa1d3d20f700010389e417840782fad682153d569f944d3d3ad1d88db5bfba3499e4c3660b76b44da4b0e6727ebc3f22b2a0aaf62dc2a29db8babcacc2169c2b8674054c89fd770db98b12af2d933becbeca9f22444b527aa894b3765292dcffaf3408e699495df79b98d957fdba7e4c8e7ace3f987a95dcb2e777fa2d1304479a6d137efcb0c404e6d8ed39d6afba2549f3ee2b9a45f324567c0227319dc59bcadfcfdf1566f356f7c2ba6db21cca2a8fb2fbeaf31cb7 +K = 4212971feb32e25fbb22845ab8c9333cb2a265f003542838a128a25108a88365 +R = 2d3f3c605eca8fec37a76d606d20fde89cb6f971a44796095a01dcf8e900f5b2 +S = 6a43168334e5b0ea07cfa5978609e86f969d1005528ebb3ee9073d5655d54b44 + +Msg = 45f656a1ef0e61de46df2ca2d8ea26640a994c30380c0cfd66be3998d89849161bbcf3bee77ad30e769f10e23aad5b4df4edc19a86fbb5abdeec8779b76be279532d7692bc586c62692fa1e3dbcce33ffddc9f97589172f64a48535693ded6bc73b2ca32469d0eaf6706d2a5f58f8d28a745dc328bcc75b3415ca93e29eabb1e +X = 9f35b1038686bde07a5f517d68f562739cb7150fa47ebaf7ffd29306afd4688a +Y = 31a989601f32b205943a841887df3c6814cfb2258e5204d04d3928ddfaba0dffad43151e27d666d2928bedc67275440fb502ed3eafc3adc11009ee703f01eaa034aa724fcc63c59a8a5963f3352f7293ea2425ea89bbf1e41724b69f383bf10a973146ed02f55208b04833d1bb5399a67f04081590acfcfbb12105423e26091d09078c45007d436eb19f952f8798b001a3c64a3baa5496c9dbe6580781d4020bb7e4e7ae2380ce79658c10a2e57bbb8cac12087728ce43ba2b9f380e3abc2dd12a682488c6b4fb2f8dd7f3846b6a26f913ac156879ee6a1ae0ada9568521a4428ed9f741e0e79a842880019c01b34e988a7cf7e63524e8cd025453223a2660273e491968af7f4b1dc2123961de3753ab16eca5b1859a4f71172538f05a2a82a34f98ba07c1e531d82ef592e5493533416bd6c6a4c7ca3b0d2a2fff88a8f073a76c691802aaaece4e852d6650871a17cca0f5251ef22dfc8e3b261bfcbd5a22b2732aa17d7df1f7b82f6b222e5f6065bf80d04c2e5774094084e4d5ce0d3e8917 +K = 55d1ffc73b52b6364d660fa4658a6351142ac538fd3cfb4eec40ba07bef5418b +R = 3ced0ea5f7fd588668a41efe0e90954c0930afb6be18d90752831f683cd92a9c +S = 9e46ca12941745ea1a12c5a2d609884cb5792f46afaacff07237137400366868 + +Msg = c737d5ae248a96062d6afa8dcacc0384c5fbfb9d8b6052b52493c60d3edfc524b567b1f896e7447d0e24019403ed83e4889c0c4de57c70fada6c8b5a09904350a44dfaf77d60af62de3edfd8760d077473f26df2837cfc2015f227dd7d351a5350f1428f2699fd3f518326fea8aef98fc4ea673130c8079fac3895fe856c77f8 +X = 40dbd496fc4644be7ccb24d9dc55895c1b923a05f4da5610589d564ee8aac33f +Y = 6112d3cd3191d17dee7788f568815a0aab50006002c9de2bd1a9bba245ba02894b02e9247517ace698ae0a05176b62b3a025a563dda8deb7f2fc3e177ae3477448d39ae4ebe7ae8ec65a4421f754667fd6d7c2eb93f1a18d3d1a6235736bcdb74746f46d88e65dc07c2591e1f95dda5e5e20e105ee8b4ddcaaf36021290d6b6493671d8aafae145d9b90bec3cc60179bb8fc30f143c575d5d861623721b6547d3aaaade455f05fef9318abcd29bd19b12c35ca756de5108c185ece4aa1bf1a8e38809797067bd1f52b6cf2c415e73f9246bd5bfadd7b9a9d2b5369701e72147e22da7e092d9b578fb0c044a36effcbd709258500a00cff230962c44225712fc43f9e802baead7f9cb46ab4931f663c6e3ed4082d59610f01741b5f24566b01b3e3933b29e028c54bd2fc75b549fd05e64c58c9ae0ba417a9e98581db77be75233a42f771c99f0a49b494f0955202b19d6c740e866066104e463e65e4bad9a081636d05367426153f04bcb2712186dca6834388e82520d34efd8a89313b2c7e60 +K = aa63e91cb3fa545c447a8b8309a569d48104e14d5d05b8951033ac8a7d711c3f +R = 0041b1c756dd2e42714f9ee7edce21ea33ef49dbf452ccd9357d5f45ffab08f9 +S = 102c6eaad38d39c0d036335ae19dd0d75e8dcabae59b120f69cbd2b5cf48abdb + +Msg = a6fc89a223022ee9e508725278582f56db9cd24c0d75d072a528d0c60f27171ea376e2dc28a9dc0b12e668af77dcbb381737e1ba7d9e80b9bec80bf9061b8fa10e43a7403a291624a600dd4f5c2b50c52d5c6155d52be5a325f6ad813fb3ecaf6d1f92e98cc87c26c68cbd15d548a3782bffdd1116c7c11fcabde4025fec5154 +X = 1b41c29364947768876ad4e7abcae59c8e61373d25274ba42ceb3d876d6ce672 +Y = 6c1d4d6b52aa4bff35f4302330052777f51f6a0849161f906ef217b04b18545ce52ae4ae423ad1b4f8b1735ae00ab0c044a56f945da84d1cdc26e082d7acd772dfabcd18b5e13c05c2791a8dc16146e151323e4ef2ce5d64389f69d9347aa2a5bd0114de0eecdf990a440d1bf9890dd95fd640d2fb1789ca6a6dbee1836ad7cb47370b7456e49f3bac03310f8cbe61dd1cc06d78c76fec6397e608a4cac4e2c38983ce5aa9dcba074a206fa608db35f2ad3d63d95b2cb7a01c33d498767e8e68578e4e99538bf3d703e63863a25091452e73b96a3716e9cc109b66008fa5cafdbf96b7fc10c3bb89d79d45ffefc01908d247ef1d4fcb903bf5e7917af88618a52a12004798890540a5a75c65fbc057d860f4b65d8b08b8d215f056d8e5e38bf0b319e294db242a4fc79b2e106feca2556d146f5203fd72adc73a48e3a5aadbb293a2ef5862654c31539ad856a16e5716c437b474f3339cd84f0ac92bc2ca6fac10c751d099a90408def6106ca83893d87e32818d7634537a4ef667ce7f26a5cb +K = 4c9ace2c908648032151f638e3c909d1f0646fe018a1c9c22a170eff64447fbe +R = 48bd010c1af77b3c40db50349706d64d16cbb72db51943d345151deacd4a4133 +S = 0f1c4bdb4758ab3b5518d4605b9864805723d33a36116ea650546feef11c4a5e + +Msg = 2ae4ac7ce29ae7d32490d3a54b715db3f47306f84b59b33b21622a18aa2c060a4434adfa01ff1686b5d1dd3035308e92f7acc76dea969deefb98c2972b42a596e1055a5aa2c661f0b734ba4f0b341c77827d88915a5e89f95a98d63d7729874fce4ff75d7add74f4313dff784e417b2ee1fcd270c038dbbbb96a7768484b8854 +X = 87980da0684558f87e5864ae585864625aed61b1309c1d5f30f6477f947c44fb +Y = 0a84298f4768e9d7bf796d06585e8b75fbde658398a224a8ac3a49fb91235eaaa183aa8827cc2af79ea334dc8be4cc729029ab5f8161f718f7bfbe90ad2a159888523982b6d4932d8159495ba84d0ab35d7e395d14dba906a1679ae3cbb72c10ed6fa14da4d60077b0bfb591a3dec643996c396338a51d446bde6224aea16aef41f354e09a9dce9f3a00cb445a5c9cae4a6c3c1919c9e0c53082173d0ec00ae5e15aa7260750b6a03ef05a518a48615340ac20984073cea5fc990d489858949aaf6e9e347b4802afbe25a0669472bd9316ba2c23a61cc3aadf1b70d9fd9761bb035f0ca51edb2b12fcfd651cb92363ef48005a2683fd2ed8665d70588fd9a1be3aa51c958b81f13e4acfaf0d2a90aaaef21b2cc9ef2ed37bce3c47c8bcbfc1fb9f94e49bd2f1a30a88df22735a0fdf0ac6028a008b062c9560c42a476997dd21100692ef6396d5f3fb2c155328257e7b7d2bc05fabd54a81a2272993d342bec8577c64d51b4cdbe3654dae568c4da018618c3047aee06bf2621e056b335d044b +K = 25b9d8fbe7e3ab7017f2b1e53da579df460dfb72ba5fe4ae4c85b8c23472bc8c +R = 6b7ed3a4c2a4f78500c7e947e6175c5ca857c9d613e7790b9be0d14ec8403e5f +S = a116f3de166260d110e20e84eb8c97c3f018178608a2ea3e3e2f5ed91d43de11 + +Msg = 3eade9a10fb59af36a540170737fbc536e4c5230b8f6c4b216eddd3ea92342123a3374d0c751b24b627f9ead4de26e9a7897d9bc5d58a6a3ac74cd4575b3286ec15f8453224f37179e51d9c4ad8a60bf37d71c62ad7fc53e5c7b12f4aaa2d428e5c889fd7f062c913d9b574f4b5db516c976bad588302f219fd83e18bee8e68e +X = 6cf453178db0dd7f2f94f9a1f518c622c1ddee46d4b090462812e9f7b862265b +Y = 08a15b2384dff4f3033c87168673c567059870c8e78d2fddc7540afda8058df384d3182a42615432ff93777d3fce49c117c7bbe821e6789b5137ddf084656098aa7b0516fd30a42c8c86d94e6b268b6e13011d25eba018ca40cf8a35e1963135d5cd65a57aca8b007988a5ea75adb4d01cc0f0838ab42d3df643a7d2561cfd1fdebe3ad86ad03de317027533d523351be532bc731aaf43b8642a7da80873b80dc61b7a249e5860fd1a3eae0f8f0cf21e205d6f403cb0a103290c9e69d38cbed9e092b69f71f9172b3676f29a97133fc3e18746fedc653fbfb62c5e0afe89a8e1b8724b1a3314c4cacc4bb8f390439701a614ae9bcdafd472b0ab131667dbbf1c790f73ab9046a58932691a930b3c42e908b4d1f47ed6e2ff18d6b70bb16d1af7993bdb2ca3cb359a0b43f8dc844dea6aebaa34b8d2b6fc288419780ff980908926c46c3b0e595fa308f4e894ecb683c804c93140d91769132d37e93791b9f89d595e698f049b3a9502abc488bdd9472f1131a757f3d54b149067507d1b04a976 +K = a3fb61e544d59206d334049e8554d97b6699db616871fd2b421229c28e84f73c +R = 9e833ec3ded9d81ea7422bdac78422274fa35348e3fce3bbc93b3c10d70b4f1e +S = 653756594eac681d48a2358a0f82a10faa7929b00fd9cd4394c32679060f96e3 + +Msg = 33decfc1e06b92ed81cd30ee3771470b59e22c1564647f1aae8510729715a8ce94624a11554ac909c924aec853df64327546db85d3df597916a39353388a8b3363765281a4352701ff1af43fba6d03664127c15da7b84c04d5409c364094dc62e37983a8eb066880de8136701406e67250679300d2b97d228327c1514c0bc1ea +X = 3bf2be01d154c23ccae92ae93f78ea36f70efcf7fb7eb43cdcaeb9ffb8471b10 +Y = 16ea2e795c636c9d312159a579b8df329ffc28fecc4a4c13b16a290bd1525a53a97d72315be251d11d23ca78bbec45c0e243279b1eb6e206a9273c1e766e213648bdf90c40479df48acfd9c209a523c8b4a99a481ca8df4774b3bb29f82526520c2dc28ab314fe14140f2be1792e1ac3c759ad44f7845a2012f64ecab0b1fec0ed166bd175955704f62d9401111ffc04f804e48fe774dfd346bb41f4beca2b34a83134a3884a01729cce1abc5b8d0de3fe2654c374deb246d96ffaffc7aa2055b74e819bbeec137eb3caed1fc71f129c8ea8b763f2f57e88de0845f76ceb1841559019872a5b5a969c9cf385d6578b4f27b5b76be3ef0a8fd3ee47eed695e16f14e2a3b791f2a016d6b86ff8ec2343c6a5c80ab6224b6502eb374c8fa6510bce990d70efdfa9a0b702585595184514c78f7e905b6fd6c237333d560fcc06303637ac0b2c7f7c4da559e31f531df2e5d6c651591771d7ea4575888afc4011fa1124fbd1a282a41d933989eff91a51cd39bce7fb0d569fedcc42de48bf18ee755f +K = a0c97f80ca449fd8f69733e046664408da590dbbab6865c3275c389a478aa248 +R = 6f77a52169a2e880a3b55aa278f6463032dc5f81c38468224d5532f6a601f2d9 +S = 96b753efb4abbc8c179d03cc2a1a0c1256e23d1fa2e97cfbf55d2bb69812d100 + +Msg = 6ae5a6da794f923f6d8032549b81d04ae7aa35c2099dffbdd83bb94db574faf8f95c7126db2db60fed50f740e87c359544dc2ebfbcafb094ddca69c914d27e5f3d10fa0ce32d2a1355bcf61a2574c755d7c324a2e0ed6f7719ba2f2c9f113df8d04025f4abd2e1c4b7bc18d8acec9f6d8d797cd7b042f50348eeb3f7a2922da7 +X = 3b4a52c8b5c386f26ac6ffabcef2df3bf8b25e6108ab540d314dd3d9245c075d +Y = 93106fb000c67f1111c6fd3da0f44b4ae4cb3695de2e35b241dfe88d3269b8fda25bf348008725fd613cd61aa826bd8f1aaaee22b4dc0a02842290bb7dad91af0b2854ffab16932208d272f2c081c13889db3ed0b24646c665af9f4b723898eb1ac0053f2a0f4cf22fd4e12940b5b52269484ebb8abc484c06eddbd9b1a426132f402efdcd88ab29e7e510961af8ec83a642e34015858ac3f32197601a888e16c759c94ec5b8dec0da30643b9d9db2574af29e78f9d3f6a7b4c76f45cd0b2ab5e8524935b886918b5d9e9ccb5a6853e62efad2dff83a8520985ee8442f2bdd1c5f9d48062ade6b288c8ad82a41db6c34e2deba541aaac3cd3156c975efbbc718ebd4961996b3ed1cc5c2987ab779052cdbecf51d17661b498e84371ff859f89906f426f563572f66c279ef3d036a427778463f67f8d4de623fb4b2803007871d0a349ec202a9aa1cffef70137e009303497214ada786357a4d8046255e40f89ea588000634e7f0aaf64d92aa21fff8fbe078baa96961699738b268237eab606c +K = 39f68875cade6ae208d3043b010541624679df649cc5d97b09a3ebbe2c9d59be +R = 8636d4d3203aa0912fbfc938be4370077ea9c75195cd2f67e6ee427cde531c40 +S = 93023d97efb4327e9e886e7b783741e9d2c397af9c67b91cdb8aa27f83bb025d + +Msg = 86e03bc3f4ddea6a93888ee389b15eb690822c71f9b85efaaffc52e486b1144ad7fcff3f53bf97da2481e85e0983ee1d5279e27a364d0e690f587a31535fb94eece747f8b605724adfb258c9983c9002e0c11b7976627690d58281305ea9308db74c491a28192e354b600e8376811ccefb751bb10c7d97b42ffe304bee97ecaf +X = 7f56c74b495a12db963e03cfafe60ac95e8019cb212c332d1f19c64615568119 +Y = 23ed5445391a5bb94e00c76ec80d83728d5d461be425da79f921bca27d625cb42b323971022ad4c3f05bca109910fd06ba39e95bebe794ed108d2ead297ad794f99c32c219e65fb726532715b1bc2075dd4b6949297712f91d5ba061196fb25754c34377bbbe6a37f61787ea844d359285c78e733eb65f665a6b157f832b5638d74ebe1d5dce66d528925e44eef13bf23f807da35f34d169a687758229b99a313acecfb20b142b534926d59aaa7643a79030e9335ef28abeddac8ac9471da4997e33f3e491db8668a2c3920a3b3a37225179361d5539beb33f3252244267465e48faf575cdac938133effe9d1f69f19f1b44b245a447b1fc2b859244e2e39053595cf7978933c3d468c65c231663070aeaf2ec23138d1660081a55bdc3dd3f2446176b1d6d9977a14ebd0ed4d8dfcdfc4a433118401f2c2632095ce7ae6200c74bda5d2fd3854524c3081741975a076a1b4f933ec32a2bac9171bebfdf3b355eddb1f455ecaf73396e85fb04797558ba4f2bbc49d9f2329a23b393301ae0db92 +K = 407180cc311aebdc1cdcb4685241597783f34076672362a24a21193c0d45d24d +R = 68efaa05eb90c48c6a7a45337c29175f8ee5b19b53db4ebd83a02f53c5b2104b +S = 145f13f1ae3675c521b334ce6a49fc6f502e3ac6b2b5143be0641d0d57b3c722 + +Msg = 1d0954ee0de1e9ceee0532597ee434c73fe4f66635f7e72d38b67763c66817f53cf36ca0f613e01896cebc9f77a772607f4aeedd3856c73fc2f19100aa7b540ccd057f26cd9564d673228c68088e5f1abf1254a97ed1453ee558e062711ceb7643b345ad33b649affbe8a62067f9d84ed4c8506fcff578d2eba596a205267387 +X = 0b48499625f0c2548bf8a2fed1f6696f59df8fbe6eaf91b82385994209c2d04f +Y = 2f0d89ac78a61fb74f81142b17766656d1788940077808e3d880ce10ec60e2bbb158d54e020dbc5f6786c0b43cca2cb002c8ce13b291b250f399e8e02f195926978f6c5b007d4f0a66048996a9932a918b2363c4008f547adcaa7d12694baee4fbca34bc6d7e29c5049cda13698fcce61bd3b3db05d2158132dd380cf653cccdf279aa164134bfbddd7ea347760041f92c3a4cfde0092d5cb96bb8c24e98259475596f3377d59f11661bcc0d47e83cb31aae9dcb4a6f25619a29054b62aa8b421e529e61ac95a0de01c50b09e119516c2c5b3563d47eed679a1cf80ba70a50254d851a13a778e1a08da8667e46e35979c15df45cf7886dde5af9d744624b981acd252ec5ba46870b8ee4b32b1be1b944802d91d8148d38f54315a7ad4e38079ea2bed9df8fa59414ddded3a1d2308ba769ae2a652f10c2d96917edfe5874885f3c99d6912f69ae3fc3b4de82decc30edc9314f7ec9e567b7e00de21959486a887d74a5b2180293df5dbeae1e35a6e937b2506d205092cc4c3595db92fc255af5 +K = 1c020abb0e1d52b3ad95467f7baaf665e2281f34c342401ef1fb4c1fc2d7b2bd +R = a67210341a04cd3a4b63ebc7e6208f37e487a8c6f1134cd2601b844d6903203f +S = 6b972c622cab48d85a2dde355f947a8151a17a0acf06b7f3659f868d5ece92d9 + +Msg = 14f566c5fe44aaad6e8b3c627570aabdd4efb7fcfa1ab1bb74f2c6d8795e88233dac4e7d240abd5e9bbd8e1fb03a3bf50c0ca92c9aef1894f2aed600fc5873d23451d3204d75ab9581cbcf82ae8c0df0dfbd3a1f149f70660865726cdc73c015d5ddbf7513eedcd1ef17578d2719fea1e5ba39aef3fa6f00846f0fb8d9a1a436 +X = 7928d3edc11a890fe332c0d3759bc6ecb822438d7f604da76b4fd78590720ddb +Y = a36a333900035d3453139b28356bf0124e571f55a5e4259b8b2ee1457cc3588056d6c6a645d422cac72474c5901d0a7f410df7f9b4e22f8684867d9332e2d4266a6e595e515becff7fb94d21a8a9ad7211572e44ce8448317b34c3c0b89b3097ab2ec134ec7c178c2278309cf9152b223bb937e68682f1f680c17ee59ecd0698a05c24c135d2b0238e71f807e079f175e11671308f5bd9e5a69712a9c508b3b50925d1276d552bda51cef3bd0fbd00a9d2dddf0e5ecb6b328378ea637b493846480ed75a3152d9e6a4884eebad12b07cad8d101b3d001bc99fb1eee4e98fd6fc920cb5765ec24e62abd32f975a47d50f61553e1c14775193b53b05b7d02024aace818ab659d717d11deacc9877b818a51689d239b60f7f9ed4caf7325ac0b31b316c036599ea66959d525fd16f5c1a2a809f2866ee9e99f6d8a3c42b58d33d0e5d38055c55c7bccdef310ccd3426207dbbc60faf9f2a219ab367ce84623b81104822e2c77ec5b133ce7050caed090946c1f1355d878a1317de694e686c62ffdf +K = 01f77e5f125a9a1385349f77d7a32f26b1efa5b0a5d4a212753bb54d300d088e +R = 12b40bd1c866ce38e7da0764d807ae82512b33b51dc908e5a5b3d7c16f0d08a5 +S = 5caccee2bc85e28d506a9bc6d260dbd08205b75d20690e26aa6bed30d7327099 + +Msg = 60c29d99753d0847bb52e906c862a1b0628496416c14df5dcfbb5e2804f502cb0a2d163e9bc2d84122c0b3f5d0609b82ac16aa15efd55f55c8caa3d1114ac0cb83e5ff3db12a24b89aca5f0514d2ceb09b14fa916000c0f4deb016db755e88b326172144e4f1a705a800559b3da3c27af55cb32b1147460c31186d99dc1cf2e5 +X = 3dd64db4bd8e28e701235ad83a5d5e9dd13ee8a3b3dcb4c99c1bc95b6ae25291 +Y = a37397e6eafbdcf1e0158f1f4ea1cb3a1ebd739c8559a500def3b7551799d652b327101cfea0b87016db591522b9b34ed267132c5255e77653c4eb935ce0c822b4b10a5e8f3cce39ad1b9606de5be2b2d36e1c5411f06aba0461ea8dc48b649f108eba88def44daa2a5c653dccf1d8ae29205dd5c340e34b7bd698eccdcd345bd4aa5eee3c08b9162ca1804872de3c575d572f34dd48b41f8235d0f511c8dc65daeb07095c3b5dbd3a076f8eb24412f3621f492126737a9d73014defa5f5d57bdc6faf53142eb191606f2fd3dc035f4b8ae84d655cb6daaaf889005c3c334ffd7e3b0498fae2a6f8dc1bc62f3704c8f8c005c8019e0bf45b7aa8e0803b93a992675e381f61a898582950b9ce40e7cdb0300f4b26f9b44484e89c9234179b60a372fe9476f84de0ed4b93497216fb96bae43297dcdc8496c634100cf066402c7d290a7cd28cbcf8b08ad4c136db2fe992ffa045bf8cb249234f29a674762a56d20897ea5538c674a14353db64ba60fe4052a0528eb0b25887e3c5ea69b41f68b3 +K = 453b64f2dedfeb1419b5dbeb726a2c92b1a37ef11a7732c911d9a96184285f40 +R = 72cf0e18e4bc3749647cdfa62dcbd2513c7c2b1d397c1fcbc7f6a425ebb897ce +S = 7b7d0a9e93340941bb55f6afa6cd63f7364963671008ede457d05b6545fab1f1 + +Msg = b3dea62a20a9ed9da990465bebe18aa71f08f93fbaee4fe5d581ffaa6fd55cbe272a115d7fa18fb9cf5662f595b7cb9bdb97a81bdc078ee3bdceb2c03722610134c3bbfd7a6f8b79ecc6a9a7709265687f9c236fc68b02203ba666e9eced5161de90c110ee7af9bf54d84a22181f17b4329348bdeefbb324962e63569f07c285 +X = 6327d3818c87e4c99b7e5116fc091a9da1e4c02aab9b207d61e859dda8d859ed +Y = 45013318b941a710b8ab1010d818c3103634658d2e3e2f413165860805e08d5c1e80add9969a3d3a0d23432c8a48cce836b24a410892099bbf53cc5a84a95e1eb3b682d2754e721efc86d3f4248baa337d6f6e5dac4759b296165918a71b31ced25bf1b05d675bfa222980608fda8f9d0eba9aa08475512d04c612133c88253bf3e27e9ffe3a8570be204f54bf8ff1c7fe42aece832050aabdd9415764b8c872697f9c8e78e2f56bd235ebbbb4b9cf8f054b60292963764536d6fd4c6cfaa1baea53546c6ffb56a04fbfaee001228280aec40e66d9dc192f9ba743bd3ffc0eaf277b6ba3d33c3697024892b0b35419534873fb7a3d594dd6ae0751a2fa430ba46237f4a55e4a678072c651fe6ad314a010fdfe8f8b5342bdabe9ae5910c6f44a51f47524a6fe8216830ccaeded26ce1f13f7f216e0b7809e9272563cab3352b8ed766650227bfe16e981b505609c41f03dca98e219d02aa7d91921edb3a89229e78c30161cc13973b35de3c87779378b8d607a19320405661312432dd8d07af2 +K = 94a0f6f58f004e45ce5ffffa6e63abca8daf7768cdafd517f3a5e399828b1e72 +R = 3ec677e91c63e65aaa174aee2791dc409244cb80c0220991dcb497397a3c5e9b +S = 1de0ec466b2ad4ed1adce3bc38ee521803dc87085e2fbfc561d63844c1a9a2e6 + +[mod = L=3072, N=256, SHA-512] + +P = c1d0a6d0b5ed615dee76ac5a60dd35ecb000a202063018b1ba0a06fe7a00f765db1c59a680cecfe3ad41475badb5ad50b6147e2596b88d34656052aca79486ea6f6ec90b23e363f3ab8cdc8b93b62a070e02688ea877843a4685c2ba6db111e9addbd7ca4bce65bb10c9ceb69bf806e2ebd7e54edeb7f996a65c907b50efdf8e575bae462a219c302fef2ae81d73cee75274625b5fc29c6d60c057ed9e7b0d46ad2f57fe01f823230f31422722319ce0abf1f141f326c00fbc2be4cdb8944b6fd050bd300bdb1c5f4da72537e553e01d51239c4d461860f1fb4fd8fa79f5d5263ff62fed7008e2e0a2d36bf7b9062d0d75db226c3464b67ba24101b085f2c670c0f87ae530d98ee60c5472f4aa15fb25041e19106354da06bc2b1d322d40ed97b21fd1cdad3025c69da6ce9c7ddf3dcf1ea4d56577bfdec23071c1f05ee4077b5391e9a404eaffe12d1ea62d06acd6bf19e91a158d2066b4cd20e4c4e52ffb1d5204cd022bc7108f2c799fb468866ef1cb09bce09dfd49e4740ff8140497be61 +Q = bf65441c987b7737385eadec158dd01614da6f15386248e59f3cddbefc8e9dd1 +G = c02ac85375fab80ba2a784b94e4d145b3be0f92090eba17bd12358cf3e03f4379584f8742252f76b1ede3fc37281420e74a963e4c088796ff2bab8db6e9a4530fc67d51f88b905ab43995aab46364cb40c1256f0466f3dbce36203ef228b35e90247e95e5115e831b126b628ee984f349911d30ffb9d613b50a84dfa1f042ba536b82d5101e711c629f9f2096dc834deec63b70f2a2315a6d27323b995aa20d3d0737075186f5049af6f512a0c38a9da06817f4b619b94520edfac85c4a6e2e186225c95a04ec3c3422b8deb284e98d24b31465802008a097c25969e826c2baa59d2cba33d6c1d9f3962330c1fcda7cfb18508fea7d0555e3a169daed353f3ee6f4bb30244319161dff6438a37ca793b24bbb1b1bc2194fc6e6ef60278157899cb03c5dd6fc91a836eb20a25c09945643d95f7bd50d206684d6ffc14d16d82d5f781225bff908392a5793b803f9b70b4dfcb394f9ed81c18e391a09eb3f93a032d81ba670cabfd6f64aa5e3374cb7c2029f45200e4f0bfd820c8bd58dc5eeb34 + +Msg = 494180eed0951371bbaf0a850ef13679df49c1f13fe3770b6c13285bf3ad93dc4ab018aab9139d74200808e9c55bf88300324cc697efeaa641d37f3acf72d8c97bff0182a35b940150c98a03ef41a3e1487440c923a988e53ca3ce883a2fb532bb7441c122f1dc2f9d0b0bc07f26ba29a35cdf0da846a9d8eab405cbf8c8e77f +X = 150b5c51ea6402276bc912322f0404f6d57ff7d32afcaa83b6dfde11abb48181 +Y = 6da54f2b0ddb4dcce2da1edfa16ba84953d8429ce60cd111a5c65edcf7ba5b8d9387ab6881c24880b2afbdb437e9ed7ffb8e96beca7ea80d1d90f24d546112629df5c9e9661742cc872fdb3d409bc77b75b17c7e6cfff86261071c4b5c9f9898be1e9e27349b933c34fb345685f8fc6c12470d124cecf51b5d5adbf5e7a2490f8d67aac53a82ed6a2110686cf631c348bcbc4cf156f3a6980163e2feca72a45f6b3d68c10e5a2283b470b7292674490383f75fa26ccf93c0e1c8d0628ca35f2f3d9b6876505d118988957237a2fc8051cb47b410e8b7a619e73b1350a9f6a260c5f16841e7c4db53d8eaa0b4708d62f95b2a72e2f04ca14647bca6b5e3ee707fcdf758b925eb8d4e6ace4fc7443c9bc5819ff9e555be098aa055066828e21b818fedc3aac517a0ee8f9060bd86e0d4cce212ab6a3a243c5ec0274563353ca7103af085e8f41be524fbb75cda88903907df94bfd69373e288949bd0626d85c1398b3073a139d5c747d24afdae7a3e745437335d0ee993eef36a3041c912f7eb58 +K = b599111b9f78402cefe7bde8bf553b6ca00d5abaf9a158aa42f2607bf78510bc +R = a40a6c905654c55fc58e99c7d1a3feea2c5be64823d4086ce811f334cfdc448d +S = 6478050977ec585980454e0a2f26a03037b921ca588a78a4daff7e84d49a8a6c + +Msg = c01c47bfa208e2f19ddda5cde5833325d16a83fbda29e666fe67ff3489803a6478a5ac17ff01edc7973d15fe4998f63bbc095fc1ac07534241c643a44444dc9a356fa812d5ca191a2f6ed162a2d5fd6d0aa898a20563d993830254db8a4bf65ba86099cc6b58a1bf6ebb01a19c79304308acebe1da09f1753a195e9ef586c7e1 +X = 9f11370ddb3c43e2f4162dc61f7e08dfc6e86d5d71742c6adcb5340f7bea2ada +Y = 970d38cd8b3f16659ec42a46a19ff06ce8495b9f477d9b7e35ae1035b08b0ee17a0c3ceedf029846e3aeb912f850881c2277f82281e7c0741d2f87e9fa5c30677fe7268cc5fd9aed29f308d9be8de92b961e39c1dbc46790c99b7e29579daf888176d5ce16db5cabfcbe4209ac4753b0e96b15d0b82c7eefb42a10de88f8a7723492a2be5451c1c6ec68ca759d8b4ee418826e71f39cd07654d00d0e0f88d0924bdb97aaca5a6346ad69fc223cd57f5bb0300477b594aa445e5ea8896cdf3bc882e8fa5523b8a332fd98e9d0a924578944d24a41cbeae3ed7b37dffb2f60c0084eaf005c1251823da41d2a5d977d8e483ddb33f73fbc27254a814b616d6a390513f0567a563ac053a76667197b4558f871b69cbf2c116ce457513f60b4f528e2dcdaa71a9a3a4cccb3738a22937bca2a042bef8a74a600acd26975c891466d7e57cc930984212ee0eaf174ebcbafbeb8cc12bc43bfdb00fd11576c439513ef5b59a88fa5a9ae963d94dafd78f81ee7b0d7fab53e41bbf65f8449a4f58b44f9e3 +K = ab53984e0b154992ace73bba548185b49719bcc3b11fb150b5da279529750078 +R = 5bb50e4f538a6e4638206be119dbf712776154acfb4c06d65d66c80212341739 +S = 7b7e640cd76086d3f640d18ceb26bb53e30282afb17401e7b48aa6818934dc5c + +Msg = 47e7af22c9298ad3bfef9bee5086bedbdc513d67416d5f4e7981cddb1002cba24700c45dd6d4dcef4f81d003f0513dab4e04eb4c70d944042e1b726d8a33050d0e4f70c0a8341b75fd4e27c7948754e441208eb93fc7b7c37354252f73b838fd02d078c6a1ae073ef1233aa1c8aa2781e193ba2897ccdd8cf617ca23541ce1c5 +X = 232c1c88d571492779172ce6650524cb6d91174e8a23780d0fdf7c44ffd80c1a +Y = 75163af15cd6b228251504ba024df51df32f638e37f0f2f9d08837f8c6ecfba43eb515ccbabea11b01e1e1fd3cfe7e405fc7f8142b07315e1dc37b08c78668421e2a21fc5d811d26558c504abc4e6fddf03740b8a27fa2ebcda5460ad785706c53cd2d14093d923df942051cbba2586b4d54709d24babe2f7c61a50da8451895999166e80c0fab892a37eb6782745596b49f96e11e9a957c8ec650d2d9a40aa4b014d2e9a4c08b9d7bfeaf1ecd42785b95c0172ae21cf25c4d368bb5100b6e6d92310b28b7b1afe64d496b9c60b763cac08ac46a6bce1bbd3ac8bb76bb55b649b7594820ab6ef7dd1b09bb12852816b61e6dbefab742e0ea2cda47eac7d9d913ddd4bfd8b2eb5f01951caa4f413eb5e7a41a0685695f8331a394e06b1495c170f30ac294660e8909843f9f11c4bfa64e8792df677da0a08aae32a8a4e7067fc35eee03964e8afbdb6a421b8248add284789e4ed3cace7106c23fe6666c4b12b836e7307a55ab24d92d58ac84e71f81dc9b0b7436ad07f74994af7d0b049bd09a +K = 101acd88a048a6a87c13ff23225dc2c4d2fe3fff039e072fbb268ef2dbfab9c3 +R = 6175473d7aa7d5ce55590c952a19897206086887fd84bf2b566926e47981c2a3 +S = 71d7857b6ff06ca67885fa9c9c71b8cc246d0339b6c2725247172a297e26a7b5 + +Msg = 9311d8f951141713f459eb65f01880b961c0a590b36f785f1aeb880ee71300c0cbc601b3a6072193dad6ddf2028eca4c8bd7b8575187928f84bd69c5dcfb0b9d320003c3a863c09ee503e38abe07ce2e0d46b3cec926231a57defa0aebd1a6e01eef4f9b537ae1fcdf64e01434d40ab5019f3965c735411a5c19941f41febf4f +X = 87bde6350da15832966fe70300e5dc66b96ec263344bcfb5de051be34d76262b +Y = 287ddc1969156c18420743ade0fa1271ea346c3329f9ca9b5d54ebfa21f676f9e013616239f4bbe60eaf8e1902ed9ac742d8df918876770894b512aaa25c068bde961f56c9b5b87806d7d0a9de7843d3cb0797903126a47bd9422337e3b46bb1f4f4a79fdf9cf6762157118aeee1e71116f34dafce0047f05d43c7f2cbd4cd52d614b7a945d48be44cfebf784332fe99c1ee1aa8310867df20b280da855b19029fa79ecd6dd6919a4d22b5a1400c30e62ce7acc4b28efbdb94ea23afbb64d6e5f7b3975d2ac63b1d048feea835c7f50b425ce3cb418afdf4dc84008473606574e20db5ebf86cb1ad27737d46494b2e485b26b8c95d829cf656f80f96b1a62e7c03c8f20f18dc58bf59916682e6dcc68d34c89c1b1bd6e6b1e15a7dc325e23fd7a35099831dbd75989c738020bf4dc4079ccb0bf12faf3b9d6494a379aacb1b66d07cbcebbf77a6e29aef22f4baa3df40d270b457dde64f00b53759ae57811b64e040cbd42ea90f4e2808bc81dfd663b28584cdb8199da96d3e03d03fb4133e2f +K = 7d1b5d39e51af0c22a56bc57ba6bf8bb6de18f2c256bb2d6fea684add38b1f6f +R = 66f729716456a2781bdb8578fa18d1e64af0edf8ec1dee0a50d25981912fc45a +S = 8c3cccfe6f0cfdc0ac3a542c8e8c85210bbd7f95134c8f035d1ce16f44ab7a06 + +Msg = 808603f7f8439441277913b21bef4e01c89e4113e07cacc33f65ac9849db1ad1a1cb7dd2fecd88ee4139b1638355c623821309f326c16bc658bb4821518238982e5251f7cd37807292153d2b07dddc066e003c6069c371155d2d191f15111f2089ce423f5c2a1f8534e301313c69623f62ba635adce8551733a82a8fac1a66b1 +X = 9464ce029452e8602214c5236d9637ce7e59f92536a07ac5ba30f639e09814d4 +Y = 389672ec6de0b86655cb10f1199f857013b6320d52c8728fbbb5360a9701b1d6ca4f9eecb8487fb879690f85430c582d3d91ef184c8247d162b94d6dfdfe7c4ae867ac1672827970415aa67a1406ac1a6e2c6c13167719e1d1a536d10078427c211cf682051a75ee8322c1408b89d963bd8e85f9eff7bb8ce05ca42225b4bdfead6b897b0feab76c2272b487d27d4e8dcde0f19e4615f7e1114541f61d43533ce788cc4505600b83266b1bea665912196c2c84c36aa93baf5b7464a6ddf547183e2cd058bb50a12765536f0a4d3524af4f31acc609fc447e1729aab97b5a36b01764b84bc5f77f6cc584866d1a6cfb3aa8437895f777f2dc6897499f6c5f02fa1e6c1ead68f3385b733387c6b58f2d11284a63ae7c7cfee42c3f44a3c926adad8107cca1c3f944f9b9e237d9ab35c81391d7c5f5292d1a322f7a12ce108a86237ba4de3c612fa738f53194ba67bed843cd2d4330a5d194d67cf45fa05183e0cb46c2d23a1bae76755c309fa1c31605c88a9214227ce02fe915bcf0d34bce8c8e +K = 5c2bb856c4d87b27e01e2ac1ae6f2fc526ab8bb49a67eda5c1d8cd4253610df3 +R = 98fe587e43aa96f9a9bbe8af404a08b02307b36053db87f6db25a3aa36fcc3db +S = 5c94ea70f99f9ff14b8e5dd4a6688398260907176ea80e19c39b14621149f0d6 + +Msg = ce2aa3ed12c1b8843a3e11b06b5f0e5e63fe8e19c1a38ac446a48eeca8dac6d8b769d7809442c32ac82e93f686ec64347e9444c3f452823c840e8d0cd334b4152002148da16ac8859d189d87d67164c5db16195c081d2edd7d8157e2bf3b97a90b4b4784324eb8ceac4261809f674256daf007c4ab1f222f5fd28398a5b824de +X = b887c14673cbc63f04f0839ea56a76154027d7eecf41d8d0b53d4892353ae9a4 +Y = 584fe0eb314afb866c0466c3980a2df54598d8a705dc2d1bf5102eac86312784eebd019b81a7642d4a3c4cc65dbedd8187e3593f0a9bcc06ea367009b7eb4d29b0450061378edbe163efd3f344bb36234fc86fe1c32f2c9995a07c6e957d195e8105f5179c2bd976b3127067c80ca93456c16b98dfcc7de355790f0b15cfd2ff91db09345532d46096c06b40a2304681d62857675ac50e22c7d1ab47589235419cbedd4b7d24b90531e5bfd853e88a28836ac46b6df26760985b962c6a2445809866b46126212aa263ab2a4603ff41a852c7988c2d4386241655a7222fa4e9f6eac6a144a16b059ea25b71a2138491d54ee95a9d6819977f90fe6a59e0cad81b329eba3e68277df04f9828ef6f081610b4595a92113ec6d069ffe97196d956191daabe9877377ad0416b0ee0658663377e07adb24644e8a0e3ce5fc178f152be0cd9b04071890427c6b001d59262f38fe897ce32040daa7807821c40ac8c63505bed0af070443337c9e9a64e44203c36a8ca5064d87aa0d3cd1d403aa6a24ecc +K = 49548238215fed6525693bc3cca3872944a97790087fb35f329b206e6046b32a +R = 54c99b21f28feee27f0e999aac6b49b6b07633e1db18a45952fcf7e73b166bdb +S = 7a18588ea1456f67562d677878346fb34b684b9a8a61a721b3db0e95695ab43a + +Msg = 17b925e2a1a51c2036e225715f2f771d8f0a6d98c7ed9cacf5aa4cd30ab16afb94e21a7c953e01ca211c28782a06073fdad27713aa8c26ae9ec449aaaa8ccfda8c947172de94b3f20b54af98df152d5d3a636c736ff01bfa699d6214002dc76dbb3f3860d94e0e34edaba5f2bfd6b2bf660086be876451a50f6a2dc7c2b098b7 +X = 0684a8fad551c8d08beb05033185e3b4b6b6f6f4920ef9982d72d0a9c7549855 +Y = 42a93bf44ec7d2fbd651cc1d1ac391d63cab00971a7ff7a56166768b22e611dc4d729faf8c94e7ed4d6f82b7020b7b4d2fb3591cf2295cc6e1b4be2c256c2fdda43e00051114645da91cbed5cc087085f7cecd8bace67889100bcce7928220266fd3faf2ead9c21e423c9948ec70c2d31b668cdc360ddcebdf429720607f96d851235515d6dbdf163f7ea5ddf351baa76f38663fdbfbd5871bb2157df0a43420648c10e4827f54065614623ed3abad10d317be9d49a4c66564f20dcac176b6605a2e3c3c01c362220f352e477419f2b4b238affbc3920e5bb57cebb9a74746d62cdd070f4a13af001d262def014f29b7f754fac84e02d29285b73bb20ac0c8624123a577be8d6a6b9739185e4458090ddb42b005ea4fa8b51007bd9ca5b4cf2a3dca446a87ec83c9548dab46cf3daf86db3bc69a99baed459d6a197f9bf5032c1dc3a877dd7e5c1161124a6d701324e9a9712b824a4fc3b1b353259af225813c27e820b0ba72fb4e78f5c78673924e7fa2f486030284f26cb6fa31da56f49d3f +K = 4a258c125db1f7b775432b53c7a0ff47c00bf7af27abec7fcd42a2916e95e26d +R = 726e4d3baf00b259f4bdca8b0a5e1cbfd37827c48373ef5029f7601a7769478c +S = 903079439ebde1f766d1a8ff33e0f778d77b5e8b7b0d687443c271e8a63b5975 + +Msg = 1c1169f0e790053cd7df780b5c832c64147694b4a6448ba14a426d9def7ddc78e3ed36a12da81cf9c3f245d64c859b6b4d8121d112851974df178defc977db691234d142dff99bea1957891b5d6fe8a787e96369d93c24682debd1cf3fdb64379b8c1b3b73e1bc2467dcb08b86cbd494c01477be24d7900f5a578930f4bddcb6 +X = 3fa44778b414ff27436e276ca4904546d3542d128f73c4463c69ff9cea2b7a41 +Y = 7fca2268fba33bf94e76416a9e3869f8a90c3b0d2d37aacecd3f6785b9a95aeefe9324c3ab09ce61ffde37b50f82b699413f3b54f24d6c52eca62325029523deb05db138778447bc3d0d05aff7d85b5525f2b863d26486e84cde13e2e2117d3fa38a38d1073aaa794ed8eaa7b3d1daa4ac3e808c3738a9cbef3546cd79eccb4faa28b50fce57cdc24015fec390f0e7a7dc9f9c471d22b30c3e4174358f1ad0734cf79a09a639bdf3f3eabda2b47b81f92e2a4f9004dd641370338c02029bbf4971aa67483eea7a4bf7dff3889f84faa5765617ccab37d190a94c57f99d792807a6965e2113586c6c5d1a81abfd372e1c7954e2e09064df4d2d8288f5cdd8106ed84ffa798819a09a732bc204a812c0352e4e39d2ceb88f8e7d3624a5a5f3dc56ea0f9c5290788e12dc463161601ff3ab681bd0403ee03af45d5e586d84d9c901986718193e661256f402de735d2ca696ef6b594868950ae173f22d95856656a9d00610fe8c2bd725ae55d791277b1317085b67188da00645ce91bbe62e324311 +K = a05b9ca1c9532bc050cd0c1150c27bc192154cf64d59dc9a949906f1ded57e35 +R = 1026ecee0ac31bdcdbd6103b1343f84b441fc326e1d86ad0903d0b17cfb2ff9c +S = a5d3cb2e7c39d87640c4547ac6c33afccbfc1820905ba1e5be5b262313277cb9 + +Msg = 805baabdd018d9e5ebb4dc51435be632d2387869756d743788442790d55bb183e26655ae3aac86dc16a48ddd268dd15e18d8320df9a1a0a6cb2b49bc701d7a15e3fe8ddd584a75c8c9aaaecd1efe17324d6261881f3d34685b04f62e968505966c9a5feb0c39b5095e5568e40f20aa21cb2505356dc9049ce56182d94a2d94a9 +X = 770b99935d393eb90b583d1251696007cbeb1b35e6c3f4f9bcb62879070e0940 +Y = 434d0612b2a8332b0ab15614e3ee9fa245131712fb2ba84f71396fff9488dca340a37e820f44c13aa87fc9df0b7aabeae2ed85a9622b8defad474ac362a7039abde33d1df732a052446aff7857bc24d8f61d258015ed2a3060a8bf9d447e7d83d7b497a8e654731969e437b3f46f83eb58f7884ff2a2390f5d821ecaa7fd09a146c55fc1180073cc5aaa607cabb944f6078a4486cf206ddc5635242def2d3e2edcbc026bb84e849518f197399c22a9009dde9afcd8769b241c75d4ccce7f93900b5f488333df47c026c4f2b2767e70d2d9dde78405e226c9952f6db1a2e55829bc8a76c7de5c2b588f3f3e93ce72fadabacb75c7c14669701e0a2ba127bac56863c8c4e7205cc0a73c429a801e9797da4f26e848982306cc3c3439f9e394ddc80b0f13e0d528190638d8b96bba3af889de373b3549fc90a6822964c22171e7601fdefbe5708988b84f3ea554d621600a876415d5bc1e557e948caace563b3702f0915a90a13aada77709eeba8c50a8629351a4787d0d58808ffb8b217c1d164f +K = 424a43cfd90f7b84e9e375572f82ebce7ffb197bd3237a353bf15ddc1a17095f +R = 2d63e6d2568571acfe4a931580a04b974c7aae4ca9aa9610d87be1a91c657c31 +S = 574b10d14dcb8f079461b29ae1b91ed6c5ef32f93cbad306697552c11748fe0c + +Msg = be8ca5ed4c22a050d8309c7a31acf667f0c0fbaadc64a34d2b63074a763a2b8db73b24cdbaad26cc6f2c3e90df4b25bfa724fce587faa0fd65ffb719f0a0351648230d5354d721d8fa6d0d686c37f257d7d9dbd15f555d5073f8bc71c92139d1f627d743f7d6586d510d19d0d8a555d0bf79ec70596e712183880c89caf69d6f +X = 9886138d837d20e8c6be853cd7de1a66a25748c7a33fd55121a27237623d68d6 +Y = afaff7a4d438b464f27415d2e03ed9c416db2bebfbe0ab34f14ee10644885b5a4588877150f46327c2c7a6f712670bfd6237a29452494859948f5e37c0e586656b119a0e01c81acee57c1775a3a146e8fbafc99cd203fc98195687fb94a88a4f44280b03f0895e0eca84db087c1bf7c4843c85597368e839841131e027109daa7b8172a25e11355fa9a9205ac324941a9fe492c48421f0681a47e280803e8bd91b113e0fa1597607430bcb0ad50b9408de0066d6a2324d09cf6e99133654dd64e8c8f70cd6445343758b5cd5a0e77e2d3fa1cb3f7efed76124b2881dfd2028ab5918c389b9c3978271db54a5171515ab2e85eeb10ab307130159bca5fe13cc4a959e88e9267221ac8d14ee6938e149f52ec59125b449cb55c5a0029f018770b31f08440ce6876e6600a32411722f58e6263339bd9d34e17aa574b921228926ff668ce90362c4391ecd0c037454e12fdf80c96bb7a840cd866e8570bb7d6586fbe3d1eae5332931198ba1d5d902d6b7a122dfa77018553a2dd3680a809bb06053 +K = 1689eba0aac66b3d0cca9ae1911602f9638937b6be17c23a187be323d0dec7be +R = 9c7d40e214082bd5e71f3bf4be99789303f38e851a76f88cb90aff713080c587 +S = 24ca23be94c624b9d736328b53782b5feb384dc9fe6370016cc3f97d8f48b6d0 + +Msg = 62f0cb1bb07f6497a1dc7a66955765a9cc403bde03fef4e16b09d7ec545b4c75d08b6e9c4c5af7232548d45445638d7194a199ef1534e81241eaa9c7e767fd54e2caceea4d2f7215d37baad6b05e28ea093497e2e8e1db6e41a5eb13ffa4caa27108f2263a74cf54bd5b6a6b62284bac99fd7977aaa8ffff18fa8a70ab0debdf +X = badece34257da3d7b8713f8f0f9f0107b1909c7f99a765ad8405d8c2a20310ee +Y = 73554a69e1a09f6191f0aded542a077ee8c814265d745d9ae5c792f442c5fa47b34643d3ba1d5147161898de5188a80714ee36512a618a33e40300ff1187e553f54433e17466af486472bc0778af55ba7346c961d7f13ac6d8d6ac9a42092c01579ee2170590cbc3b45eef795b5d9e5d0a8449439ab307c14c5674c4a7a3eaf8b240ef36dd21f43cced58c2dcf23c314364e8e314e9671e80813d185801358d5df61d7e7ec0dd69e90c2cc75c1c3543efeca82b2ec6ec59e6c99bcd1a8631c6228e216884082da119125cb0a80c8fe344afe66e0f20646432465f3e0096a17725a8867b3bdba3c69a1aacbb8d64755b7f2a3df0a49ba0b2114e112d4cae0ad6d8d0fd618e54d53f07ba109b75a54a989618b2863e4415e176e0bfd88dbf36553ca853bb36316c66eb93da34ff3ae74cd5f187f49bf38af0f393b2d7f854df192ade2df6b39a176d2152c912bba248d84a5b0aa4084a18bb64fd136973f73b413d77db275ea5ece93ce2fa00d7c8887b7e50b00649d0353a7f58cc63f6b5fbdfc +K = 2d468a99e315c158a1af18abd4d58872d6e281dcd4c9b0b43298eddf346496d7 +R = 54ff5d3dc8767856a10f54088882e28c110980ef9b204eb5f162dbef73a37c73 +S = 57ed0748427c089d6395528b2b4555c01b4c1341ab5fb99c64d1cc247a41c3a8 + +Msg = baeb12a1ebd8057a99a0137ee60f60eed10d26f1eab22ae2d9adbc3e5ffc3252abf62b614707ad2546141bed779f0cfad9544a74e562da549e2f7b286efb615449b0946dc7c498d8f12150b2eacbd27157966f592ad5f3e43a24c60b7e06630b82a4fdb699119dbd878b13a98bf22a7b3dc7efdd992ce6b8a950e61299c5663b +X = bd3006cf5d3ac04a8a5128140df6025d9942d78544e9b27efe28b2ca1f79e313 +Y = 00728e23e74bb82de0e1315d58164a5cecc8951d89e88da702f5b878020fd8d2a1791b3e8ab770e084ac2397d297971ca8708a30a4097d86740153ee2db6ab6343c5b6cc2c8a7fa59082a8d659931cc48a0433a033dbb2fff3aa545686f922c7063da1d52d9688142ec64a1002948e5da89165d9df8eed9aa469b61ee0210b4033562333097ba8659944e5f7924e04a21bc3edc6d551e202e4c543e97518f91e0cab49111029b29c3aa1bed5f35e5c90feb9d3c745953dbf859defce4537b4a09801fdc8fe6999fbde39908079811b4b992c2e8333b9f800ea0d9f0a5f53607e308942e68efef01e03d7cca6f196872bf01f436d4a8e05fc59d8fbc6b88a166f57a4e99d67ddaece844653be77819747dd2e07d581c518cb9779e9f7960c17ff0bae710ecf575b09591b013b4805c88b235df262e61a4c94f46bf9a08284611df44eadd94f44cef6225a808e211e4d3af5e96bce64a90f8013874f10749a8382a6026a855d90853440bfce31f258b3a258f7b5e659b43e702dee7c24c02d2284 +K = 16aedfbe554de17a3e5b83e942702bd60702d9823ba154baa6d1e7e94308324d +R = 8d357b0b956fb90e8e0b9ff284cedc88a04d171a90c5997d8ee1e9bc4d0b35ff +S = ab37329c50145d146505015704fdc4fb0fd7207e0b11d8becbad934e6255c30c + +Msg = 184e599a4c1de86c4151205754df0b1912c2b3c532552c51a61c6459db98c83e59d4a40806c6a2c6b3fe74e3bb9e720d7d0a3cc11ef88959a8990c0fa057a3915fe0dd9a138aa0ec1cb1ab69d93910d8d6f9e14f3b8a135d3f031a56c76a9dc3aed1962bdf05815c2492d14f2324d2da491810d1672b633f2419da4e7ebdef24 +X = a29e90d33f200b1faf61bee5d92ca8a392b1eaeeaa0817cec98b40c97e25018c +Y = 60159720021fd2d5a2f575b3220905788d328d0c46895a46bb985942467209ec28d8ddfdc97ec34da65b164cf48652ac475d8978959cfc4330743ed98137559391b1204da6b26b451211407e8fc77d819934c48709c8eadc620f6db2592b65483265149a324467d93c375d97230f2b1a682897cf6d280df61a34f20f0c7c729a40141958044876c44e595d2378a7d22c6cda9ab816486c294e4eddea7ada88b15eca5371da164471edafcdefc654e64a1f995068fa85dbbb5516137bc442f60717fe59c629081c234f27195d5f9c2bf85cdc1ea4cae57aa908cbff9b2a53353b13e9f6fe45daa5174cd956236d447b52011d688cd22f23018409b39a36079cb53e03b6d3a752733297fea4ca27c6395becef4081d201f41d4a00e99d95f42281dcf44b9ef6754998d94231937c82594218a78463cc837193de6bf1d3c3ec31d8dc5468cb56defc9c70d08b95b029d97aa043d557f6286b87ee4098442df495c0ad8ae4d4ae037312c5f7239032c03b088c1036fad7774b1519709242c9511e6e +K = 78e781b2874ca2441e2ce74a2a2a16417b51537eca876831f6593ae25fbd796c +R = 079d4df14ad703a435b21bc70a03456ca822b876c9accb018bddd674bd6392d7 +S = 6c7765e1f1eddf915a56a57390db45636e52f083ce440766ad4f32580f722483 + +Msg = b189dd34f58f3efa85b6f97677edfb82664cbe43a2550c336ffa08705bbda2545ef244a275014c6a265971f4c3658e5e8d6a3fafc889f3c4eda6b5616092954b15c60435efd76806e28557c05faaaa8a05c262657840865ff69c511a68d13022a712d35bde138eb7a2f8f1a87b342c7caf388c1a8b95079bc4a8003eef84b899 +X = 9759c24820670eaeaf92370197d0037f9f71dcc283970f341117fb56a1764001 +Y = 05e280310810715d29ea1ca00a700378bd5979493b9803174c932b7dadb7029a9a9f9c91cf8f938af2bceaa052f2273f0de393b0f7544490d693f529a68b812e2e589cc092b83ef847c5306039aa8eaf225128926145893a51551db382fda4b63e5abc10fd076100684d4ca657c89b2265de6e0f0473f01bb222b2bc50ec1c5fcde9161831018aab3014a956033bb0a83866df11915808f9e7461645c89c6e17ab65dbf97cbf4ac1164d671a1516ca81645bc3e09913a03f30641bd0920083578ca84df71f62eb756ba445a0dc44f85a9e4f72ce5f6bf82ccbd674d2ce3c4afc300562a7dbd3e8ab838993f9decc9933dc07dc01b502fee5b390461a8c82c4e69615f121b3f9fd4f0c8b7620a25996df43d7cf355f15be09e2c82178c6f8836c36c1d3ef26ad05219fb57e85ef162c8dd8f0e55014769d53cba478a2aa66d90d8acd6cb0489d1eea46c2c41bd5495ab8def43b2cd5bb2673945c21c80a4833fd75d884c7675c09e7191fb26e92c54c7c8208d0a0e8dee75c2968e962de4493e8 +K = 86050bf276a649b13c18814430eadcff54edf7416f1a8b1559c6c2c808e8dc9f +R = 9fd105c74a0d36973740867ccc1c731cf1c50c7935d5c09e92f574d7a569157e +S = 501f50c32b0288672e02aca78f90f446acf92626365957a375550c77980c3c17 + +Msg = 42c065fadd56d6a1fe68dd4e86c17efd76d0f9db87036bd7b609159d66847f46de01b8ae43590360fa324559a2d709d45cf01034f5facb7f52324e60dd464a583d42e412659d8420f7265e30cf82bbbcb2c99b0f00ca6a46d28556428789f415000dc31babbd67ccc8fbaa84a880466bca4783eaf00b7f78231c667126433e6a +X = 307555893610e15549a5bfb2b446251f9595eb0c16df5fe3b784ebfc3fc30140 +Y = b265edfed77b3ad511e56d583129b12e5796d659d484a2fce350661f79e545dd0a06c23774c8ba2fb5101a2848c413dfc5b374a7c5ff3acc7332f0ff8bd6f5fa882c0a67689308be7154c4efc51835f349525419ed722a90bf26ddded65bc8962ba11de9e734442571affc2d42b9f3f54a46535ae9eb01361adf03fc28410abf41db3ae4113da4c40e9a368f9cd029be4d98c66d835d034e3c86544b60bcb01feb383b2add9afe7b6251a17ad4e5439a9cd2d1bf62b6cf5377c097b7268bd736cca9ceb822e5d1844a09fa69c78217c3d6737f0bf45e3236508b5a3f5c466dd0d75ace95d447f9bd7aa9ee57bd10ee3c5e8389a06c00857e699794f5cacc7dc5bb1504421dc920565618bef05dc1713b6f08bc00681c5a1c0685359729fe4b544090ccceaa82f4fefa9f1117bf1e371b99fe4ed71635dad415017a62341d704227ee7cfb64a8deae90d86c0cfd37ed363d91a4a06fd06f64dbd8142c12503f49eeb1b9a971aeb343f15cd27d279b99d4cfa51f121259b3c1b55d28d994bb3299 +K = 5359fe067eb9d98ec2217500de743b0dbe88e8d94552b53a0117aac4d3390083 +R = 6ed82af8e89e38c49a58010f0564165a16a76a2bfb348466d9b4a91e5ce53ab2 +S = 8c466a8b3e4c90886f29986a4d513904f31db43a68ce880311403cc755466604 diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/DSA/FIPS_186_3_SigVer.rsp b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/DSA/FIPS_186_3_SigVer.rsp new file mode 100644 index 000000000..273e58f91 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/DSA/FIPS_186_3_SigVer.rsp @@ -0,0 +1,2228 @@ +# This file contains the full content of the SigVer.rsp file found in +# http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3dsatestvectors.zip +# + +# CAVS 11.0 +# "SigVer" information +# Mod sizes selected: L=1024, N=160, SHA-1 L=1024, N=160, SHA-224 L=1024, N=160, SHA-256 L=1024, N=160, SHA-384 L=1024, N=160, SHA-512 L=2048, N=224, SHA-1 L=2048, N=224, SHA-224 L=2048, N=224, SHA-256 L=2048, N=224, SHA-384 L=2048, N=224, SHA-512 L=2048, N=256, SHA-1 L=2048, N=256, SHA-224 L=2048, N=256, SHA-256 L=2048, N=256, SHA-384 L=2048, N=256, SHA-512 L=3072, N=256, SHA-1 L=3072, N=256, SHA-224 L=3072, N=256, SHA-256 L=3072, N=256, SHA-384 L=3072, N=256, SHA-512 +# Generated on Fri Apr 01 08:37:15 2011 + +[mod = L=1024, N=160, SHA-1] + +P = dc5bf3a88b2d99e4c95cdd7a0501cc38630d425cf5c390af3429cff1f35147b795caea923f0d3577158f8a0c89dabd1962c2c453306b5d70cacfb01430aceb54e5a5fa6f9340d3bd2da612fceeb76b0ec1ebfae635a56ab141b108e00dc76eefe2edd0c514c21c457457c39065dba9d0ecb7569c247172d8438ad2827b60435b +Q = e956602b83d195dbe945b3ac702fc61f81571f1d +G = d7eb9ca20a3c7a079606bafc4c9261ccaba303a5dc9fe9953f197dfe548c234895baa77f441ee6a2d97b909cbbd26ff7b869d24cae51b5c6edb127a4b5d75cd8b46608bfa148249dffdb59807c5d7dde3fe3080ca3a2d28312142becb1fa8e24003e21c7287108174b95d5bc711e1c8d9b1076784f5dc37a964a5e51390da713 + +Msg = 0fe1bfee500bdb76026099b1d37553f6bdfe48c82094ef98cb309dd777330bedfaa2f94c823ef74ef4074b50d8706041ac0e371c7c22dcf70263b8d60e17a86c7c379cfda8f22469e0df9d49d59439fc99891873628fff25dda5fac5ac794e948babdde968143ba05f1128f34fdad5875edc4cd71c6c24ba2060ffbd439ce2b3 +X = 1d93010c29ecfc432188942f46f19f44f0e1bb5d +Y = 6240ea0647117c38fe705106d56db578f3e10130928452d4f3587881b8a2bc6873a8befc3237f20914e2a91c7f07a928ee22adeed23d74ab7f82ea11f70497e578f7a9b4cbd6f10226222b0b4da2ea1e49813d6bb9882fbf675c0846bb80cc891857b89b0ef1beb6cce3378a9aab5d66ad4cb9277cf447dfe1e64434749432fb +R = b5af307867fb8b54390013cc67020ddf1f2c0b81 +S = 620d3b22ab5031440c3e35eab6f481298f9e9f08 +Result = P + +Msg = 97d50898025d2f9ba633866e968ca75e969d394edba6517204cb3dd537c2ba38778a2dc9dbc685a915e5676fcd43bc3726bc59ce3d7a9fae35565082a069c139fa37c90d922b126933db3fa6c5ef6b1edf00d174a51887bb76909c6a94fe994ecc7b7fc8f26113b17f30f9d01693df99a125b4f17e184331c6b6e8ca00f54f3a +X = 350e13534692a7e0c4b7d58836046c436fbb2322 +Y = 69974de550fe6bd3099150faea1623ad3fb6d9bf23a07215093f319725ad0877accffd291b6da18eb0cbe51676ceb0977504eb97c27c0b191883f72fb2710a9fbd8bcf13be0bf854410b32f42b33ec89d3cc1cf892bcd536c4195ca9ada302ad600c3408739935d77dc247529ca47f844cc86f5016a2fe962c6e20ca7c4d4e8f +R = b5d05faa7005764e8dae0327c5bf1972ff7681b9 +S = 18ea15bd9f00475b25204cbc23f8c23e01588015 +Result = F (3 - R changed ) + +Msg = 09560b84ec9a6add0c1c08cde95cb15ef104d34eae2cd029b126e5eba56f96b0f369e0155625a984e3478491bba851d132995f52e5b7343161d5d8dcb708289ffc576f094d2aa91c5c7f2b64c9d1012f370965e5f38268aafa8cc1da79cce7c23b03bf6774339d0dfcb451d606a180496fd4c3e528f311111203ab3bb3b8d3f4 +X = 5af892f3fce6695555c47399c282fe123c4bffda +Y = 34ec505f1cf37de3fdf23806c5d10e26684b56b302e72033f01e4d8443ecc02757e048848ff94a6677f6756facb2243e264f8a4ed90dc0b0f2659ccfbbafb4e995ee8f8ed85c908ee5cb05be6b9de971867f8ec9b379775c0de88787bb6069ee746331497030f7fe47052eb3dec058a2ac4109c6b3f5ea23786d12bbaeff1b14 +R = 897f9b11e30c7d14652a3e8095554c70a8eaf02f +S = 79c2cc23a2ad7fb1a79f3a2d78084c52da57628e +Result = F (3 - R changed ) + +Msg = 7bc0c8b0fe1ae18edf1f85bf770a4a1ab23ca56c0d1a05c5c919cbfb256b4c535a8c8725a880de39e6713213168c59c7a9222778d96c8a0113fbc573db90885d106dd3d9ae9fb4c9e832cbd49cdc6fffad50d453ad1e90d96cd83363f94ba93ccdae50940f043e93e8640a9b225a0e46a0faa965311d7e11d09ccd3fbfee6564 +X = e1209940602d15183681dd33a168354a44cde71f +Y = 4dd48b01d12f634eded08bad2a7df0c908324fa690bfe976b28d7b6817162ca737b52de12dd0d6c4e2570c8f35ede2bce0c6b42e751bf9e5a29cc16d04013b0ca992d52198c7571d96b5783e7302359fa08405b5eaafc4309e4fa8c626b704e76a8c83187295ea3a34e195c5e01080f43ec11191b064eff5d86228bca471966b +R = bb35f94025b0291dbf9359446dfcf219729e04ad +S = 909b811cf541506a9ffe4c7ef936d1899b8b4d27 +Result = F (2 - Y changed ) + +Msg = e054512bbf008ece2e404b311ed3ec1e1eb4edd5f751f1c6ae261d1823f5b9d9bc742ed692fc0b05dc92e29a07bfab3cfc855d19d2c0035757a04eca5e2253814dab908276d85b3a25a8244c190c72b5e8025dc99a4ee34ba81fb5cdf01578e5d8bdaf41070d24aa8a82d0ab115056475a16988d56738224138e0a055850ab82 +X = 4134d93eb1bed676dd40dccb932584f5f549d2d4 +Y = aafaff8c7da2018eae7766354a2fe1aafe9c7895613b2671517480e495ee057a3bdb1ba1628075676bcb2196a8780debd373a992dc11ad5c9332942f03c2d5492c34175fc42df2ebca4c8fb2eb2c06a2a15aeced0ae7b05383a25d6636b726c320be7ea82c698374aecd0bb76826848a5145f202c9df13d880877572438c622b +R = 6d866acf82f76000c82811c533e94f5cf31b49b9 +S = b3a338f22649fdf98b72e4fce357a916f3ff60b7 +Result = F (4 - S changed ) + +Msg = b966012b318dafbe4ba7c94e6ebf59165a1ebc5d5a4b279a2e314a502860513eaf1d1dbc1c10a8aa519b204006244e53e83451bdbe9dea8c922387bd5b2e59b61270e31b26ec2c34996c2bddcb85ad01f1c23d4f1ed716d2a179189be0dee32f2f71ce6fae80019f8009c55b6e4fc9b215a4687a776087a6c33e5ce5d564ef11 +X = 0af439b886144504d84de0616d151fe1d1f5ad06 +Y = 3d9dcb5a51f4a5c3ac315a255fc2d1f8f9b2da4921a057403d31c4a4e000bfecc4ed5aa7432c1791073b46ed8781993486d0b8cf8c5674d3ec87e03fbcc228c7510996fedef4b42e69788adc771920ea75991e24c14cce9b3e703512729a75d6ac2cebd513cc145f03548d5fd8ddef23932c7b39ad4f2db50f6a304121453b4c +R = 60b989352fbe35be141b0db29c9dd22b55b65fd1 +S = 20b375c40e01300209ccf2e3db0681eccb03b64a +Result = F (4 - S changed ) + +Msg = fb313542d9b30ea1b32fa19cd48a071364a5b595c6e5bffdeab4ca7842e6204c334cee56b96ecb1c1193346ecea3934b49776f328de0a51b599e80cfa6f802c0581d2d53c29a20b251145739abfc75093fca8d72bd72d8aeb0b28b4c8d2a3fede53d2831041982fc6d3af85c4aad9ea460e925ca719005547cd0e7dedc38e192 +X = 2f526334abf4a358e94a4beb375c8bbb80d88aa4 +Y = 83a1575a2ca58d5bbf8a5dade793fc01239ca482eafe95f5cbd132438e5b42f4776c9df596f9de746fbde9e1f5445d66dde32d234b9a6066d5ab8faeadb15ff3198f98d92cbbe44497390b3fb5d0a912580f50ac82d210123bfa1a70ba8137e544309d0c3f9acc328536ecd72c6685820db7d4213b1bfc171156f1563274e32f +R = 14a5cd93fa714abf6bede3f444171b9cbc132696 +S = 5063b651a88d779c8ae2c33261a459a65ecdead8 +Result = P + +Msg = beceb487b8298e90faca77c96e7345bea757cba105fdb7d5cf59823b40177b126272d23ea8d62fbfe6c44f4b82f1465a053c481029606f55f7f8f56934721628bfb97d0ed59b24b9e73dd4911ec84669c959b60829ea8c6db7693005aeaafe54d04823fe688e5a7bc8c645ecfb9434b3765b9a1c1c23779d024add93005f51e2 +X = b83ee26404bf2281ac12cf97d194a13fe33fed83 +Y = 6769f294aaf453ca8620a6a3dd142598e9c17a92f6b65cffeff2748b7d216c6b3bab3572620658429b847055267672bbaa49274c4bad10f739c484dcbc01b4e3ea3ebe0bce1e433b4cc236ad36a0841857aec4ff4cfd892e91a5f27a154b945e49aa125ac2aaaeb2187c4f115ee3e8568df7db31d5905dfa2ee8d79c81f054b8 +R = 865b5f61f8b7b79b4f806f5dc71f9a928d0fb7c4 +S = 81af5caa811ab93348d053559b170792cab3b3cb +Result = P + +Msg = 79aab7def7063d37c9e87323035e9674364f530711b0f857ab75133b18fa8e2ed879e544da7bbdfe54f5d782f16ab6ebd1a8e07a4bf5dc61ab09eb1109779b49ea36c26244ec1a0ab80f09fef12af342ea101b76b601df39c42df62b27ff83e5c7a7f9d3d680153910404169a19baf851d552435c4e36b6e4ddb44ae504f1c0c +X = c6d8f98274f34055eb57edef3bd825958e1e8d00 +Y = 3a1e0cf38da393ef60666edfe0c05567994145f72086950db710633833468feafa0d5389cc89e297cbfbd6e5992a9b7b0c19ee41aa7ed89d965c7827788eb0a1df4725ac3f14ff95c57893c30dc58e4b5e7254f82653a5a07f04d8fc0807ebe2c309e208f99f055ab27b6f0924932d80f8ceb7b2d2ac0298172182758cbc268c +R = 24abfa39f495a520966e40617abd2bf288a70c34 +S = d25fc3fcab1f4a778bf47c8ccf67e3c806ef72df +Result = P + +Msg = bdfd306c4fdaf53d0bb85559bd729114879201d44e487190279b4c95704a88538f59bfd03a8594199767362ee66fd86998c1aa0866835d1788a3c21a1d9752e6950178f527b200ed10b2953fa9fa6ae725a06c0164d4ccec710e09e9c4ad4549495042600acc32a953f13a52903a1046165a45f3d5c976a1527de796f404ddba +X = 81edcc0154403e35439a82447a62b137260a47b8 +Y = 41c5a24b150273cb1b8dd48e88443d67cb09b2d47d3c624c13388e5cf84a0d7350839fe57236cbaac6f06acf4820ef3d7b7e4e35919115b4bdf1f767b5445c3d40c37e14d359b696f296fc4afbf45f186a51c45fc7eea66fd19402d2317fecb79586f1d41a456106183f020b4df1786fef96bb723d129b7a7b595f56195d53fa +R = 7d9e2b822806cded51e35933638fef3e13676cbb +S = 19d01f782b4e39b3824a66f03a334bf609b3b989 +Result = F (1 - Message changed) + +Msg = 8ef3b37fa50ab3aa5b91c7a1cb488227296050209266f6dd014b776f642a07e165cf04cffd2d352f7ec74d1e2e8a2538284850bc581e44d323c5255a290bf0859f4ba4ddf130e096798b0c289bc5b154eb626aad5c0bb1c2475a01222622a27f83535b87ccd3d3c059146086be454b424c59250d18b1a8ea0ec0063b796d412d +X = 7cb70d52e0e4f3fe0157a1cbb40711bd45071e29 +Y = 971db913391e9a13b71496e362751547598008ea9b1600703f976f5235a482d5f926aafdf0def79272b3e6fda700d63db2f57937baa8cd5a1eaa2d5096993c7a5dedd678469af6b8c12cb1c04b61a54a8f87581f5673c987ee3274fce3ac43e65979f1308dfd3630dd1ced3e63e61bcb6806826e03ee9f939fb8321bea7841ab +R = a53ec2015cf5f2c8af0298939b83e67d8b6463ea +S = c42869732abf44c4882b5338984482be4efd90cc +Result = P + +Msg = d46b1920d81412f3cb1fd695a100733e94977c6212977de7110e88becc90630761a3ca1457117048298929b3bf8a76863644cc8a5cc9fc7440d431b9b5a9e41ae50e2cd75a4a3fb383fe8d28cc444fce5f5890f21f84ffdcbd361bed28c8c392554f21bdc4da8ef3a87feae4c547cf4c753c134c03f0fe5ac227cd8533bae46d +X = ceeff9cbbc3fdb48e4b9b4d7f814c30600f29ba0 +Y = be0feb1e8d61543378d6895baa179b85690a5953cd10a720df4c99c7724248c025bd17cfa86cb849295b44168fb19f29b1acc1de359cf11cad24c5669454d602eefb6b4e7e20b45abaa92d5cc8a44a01205370db8ef0c669449221be648db8a21ced7596e9a1d44900d408add0642659a5cfc89393da986e583d17fc350d6da3 +R = 4a7967c28f06c3c8645c024c804da91038bdb33e +S = 73823967c8ad48a8366957ca1db34956f437d528 +Result = F (1 - Message changed) + +Msg = 6b3dbf94e5b392df64531889c8ef9e33c60aa205cbd2f86df7af2527a8e9f622768953f55bb07fc83a080262b6f544683f13c3cdb295f7f25facad20fdcc37b6c87c65d80cc8150bbf8bd3c39bf74a3d315a44d6c5b9d6db3f2fa9bf8ca31ac8b2da34a78a25bba234062ae8b7200aacdc7b5ffbf69efb8c8d570c3b5670d0c0 +X = e3940b969e4b22a64f8cf1fb15eb3c9284b197d5 +Y = aa9335360bd08fe7ea39db4c76b1ec6466e5817021c4f82b99e5660f106d09506028d0f8a66aff540429c574faa3c40f0ed802c612dc3861ad726030fcd31eb206b76f77e2f5a7b418364d964f999cfa546143b7cb8511bd6fdf0021bdcfe8ff1b5693727198ab34d1e9222ade592b5133f17a3d808938fdb0d3b75ff5c4439d +R = 4a03b246fcde36f93d82bdc70dc243f6acf523f8 +S = a56a336f68d5500d270d7df88eae270e7ad6606b +Result = P + +Msg = 0102fd43e1adeeb6ed451c54f2e3a006125a46f16cdfca3a2af0732c44920bab15dde0d87977f339e2cff6a20e7491bb3fd6366eb29656a34406ee6015f1fe16f5c0971739956512ebe87ec77c6d4c61de0e62a8cf8ecace314af940153f017bffa7e7def30e4035e7ed5c30d90d71490abe2c37d9d1dbfebaab54e7d8ce950d +X = 84824be23f238542cfa9e0c7acf6724f12d3edc2 +Y = dbe431de22f9a35a300396d46f629e37d32eb8926f295ecba6c968b1315d9cf8d71b72dd7ab055de57f55f2f867d80770ee210f2dcddf3cae10ef4f2857e13d3ab8c24bb6bc0f50264b418da6567918ffab8a7c87cfa7bca59e27e94bfb0d0a7eb20fa427496c5cd896f9d0ce907c8131730ec7105dc1fa9a0ba02e40e13af94 +R = 88573119abc720f467e39d2fae7ac56645bf28c4 +S = 5aaecc0efdded4dcc90d9750376438f5b29fa267 +Result = P + +Msg = 36591b23d11c028b450c96d4f6adf28432b4739b2b616c37356bb63b1b5e7b1b6dd79a77d4586786cfc343687c6e562246aa93ea5e2891e84c991b79bfa426b654f7167b099645dff5c2570a676ecc4a9db6db5ac152da4a72f362b42b42b62c1cee9550828d73bd10cc7e2e9deb749c68b9e915962d6f0353ca109eafe7c22e +X = ca3cecfd0e21a749dbbc5941b97d5ba760ec994d +Y = 81c61a6f415d25e9802ff5ef0964ae527aeac90f252ba1c78461705474bfee39e1e853a628eba6d58912f54a6095eb877037796933d6090088f0bbe255ba3c807743684a9131128e1c590a372e989c7ce0a3a54c865530f64fe78c52f14fd79b0a5bcf908d16d36dbde78e49cea5d32df28a5a514d49a459a077f02bcef950e0 +R = 0f7eb89c8e47becbc0a346007b36825342c9fe21 +S = 24cce162f5238580450a916cc9cf03bb05d01af6 +Result = F (2 - Y changed ) + +[mod = L=1024, N=160, SHA-224] + +P = a0bd52447625022bccf4e9824a108ddaab3c5d67203a3f46da1f04b76a1b2c72157a4e9814720ef15a219444cbf7cddf4a558a275e19261e5eefa5897621e7b82c453367b844d016aa101a405584593047bc1701493aff98b4d592e94522bdeb50066d306cc0ab9b167ab74635ff71d1c3dfe28b7c95c1f60c43265f484f682d +Q = e6e6b9c78071dc1dc8bc5e432c9e51ffb50194fd +G = 7d5b5894be2320b3776502687acdb567ff607a6207637b5fe418155893b28972a5a90eaca66656644d6973794c475c5f5ec3c8e792e56e4162dc5a0cc0fcebee9054416f181fe206a9dc63cdb7d3c21da928053336852fe0bcecba7ec72679297bf7d0da803d2d48839b84ca5e4b83d109f2ae5e33ecd254b793e42c0f439535 + +Msg = c4a9d1c34cb68bf67cf6dbc42dd83ba5a1233bfbe2769f5b4b0250cc74e56653bfce45c4f03de016675f4733cfafb4e1f56286a9d1bf56efd08816235168f56f672aa2753bbe0c42f966fed6608ee3e680ca34d1d60386f7e8ef44bc7fb92f19bcc19d240e6b85bf9ff926b6d395a1a4329533c1624b2d324dddd4b0de62e84e +X = 22a8b464655f01f53d547ae0e95e56b3da19d5a4 +Y = 539f5c956e1e4222338f30928b37cdc252f510ffbf7897d045a98e6fb84d276655463749729e801a8a685e0f7600ddd7c2db1f948ccae2face850e38112bc6f3460af7c2f46b37c79faed200f54f1e198a0003b94f2177a9e47ae17e88d8cfdbe64e37cd544e139a2116a38d2a3e07f1a31d6516dca6bc5327fd42bf0b85e976 +R = 41be6155447c822fcecf19968c565bb215d8a6ec +S = 57764346df37e9ac5c7173ba4f1a3c5bbedf46f8 +Result = F (4 - S changed ) + +Msg = 2281764bd7e766846bfa4de763050df00cdf1733c6f27e79687ab111a5c08ba060d7de897a030e5c7c45f0a7e7923f999a1196421c658de35aabd97a49a0ccab83b1cbc8a41a0954b9423b0dd3f790d1aa78ea5fc9f046b6c90bd3340a751f2d71d62ff7725726cf3e0399ecfcfb44406c618de840c10c82893a190745991d1e +X = 8c3e4c246b3392befccee76aa381add79bd699de +Y = 6b86d8a01ae7cc1342bea9b507f093dba87f9853a682ab8f0b4d09acd98b27273263699e8882af657b875ca1856df7e576361bc82852ff2977b22d0b17a20ba90f0a482dc238d4a9bfeefe79ec4d00f0305b218c33d01617a9a640a9ade922b15d393c722773fb2c7d2142b61d1a09503ccfe130dfba602d827c43bdf09934fd +R = 4f0f6daf5b7b03bc7db185c5819fb92ac87864a7 +S = 833d81646b833c33c3aa70e5e21f4564be3a5d6b +Result = F (2 - Y changed ) + +Msg = e0ff0ea5ee7db2bf30829cb40539a8ad31f37d986a5edef4eca3f9c9f543837883b125e9bebc5ba4aa1bff6a8c55583ff24d21b566785a742f6b47667693e4c710a780273580fb5499dc32363365c25e8c408644c07a766072a735c0b3ec9d7cf9dc9aefc7785ff6460fbd9ac8e9eec6e9cca9c3648b1377dc1fe9c5e06b3688 +X = 026de5a47a3a5b82569413a8d8a74ea31644fa04 +Y = 59a3785008555f8cfbc27a934cc5156e9b52b6d57dd4869ba7886a33320227a647d7df04d56c28de6885ba03c7fe197f4ca91c1c2d1ed23a903ec15efb81962e3947d1ecc6c973b209274a8e763743a4a25b58568498ffc6b4ed5f8ac70e735ab2afe07512009424de097e174b351ca08e5532f732a0898052360dacae759ab6 +R = ac58a46e4d455e42478309e3da9103225ddb1888 +S = 992cb843c08b8fccc9b957421b8a049d0db36131 +Result = P + +Msg = 6e8f4861fd6ead520c61bebcd6d7147efa20bb4021d28ada69cdb13ccf369bf12dcb8644c71ed6677d94e532fa6a18899d9405b5b9dd6217d5fdcbe881e8afdbb5be7db7e14847486416236c9cb31defd645d00ee19568151e53a7db88e7019c12b1bb9be61dcfde14f1729591155d5f6631ae5cd107ddf0e9dd9c6e9efc072a +X = 5b180f088f04fbcf99c4d3c16fc21cf9cb697efb +Y = 5618836c3e256ad0e19a6d220e2b17fefae0f9cd044d17f08675666e46f364847b74155ab3da6049fafd8951154cf1b87b3dfda904269a94bce8e53ba454c77ab32f8bc2ec7760a47f7ca03cecfed4c8c9da4105548b33f810763c3684675120402b659b75c0b526ed4aa867bb8c707d7dfb613509c9630fb694ef927a56f1f5 +R = 8283de9d3346f5eee0d341aa65de519591370b5c +S = 070ed689b973bb34f5c13ef5af74009062d4c60b +Result = F (3 - R changed ) + +Msg = 5626c1b6648d904b3a74f2633bbda1b3cab8c27d86b5197d1f44940c563eb57a4280cba7a2411083f0e28edfd66de2e548f0e98b4c54903c85b7b7d918e5691553273fda943e3261de27efb5a1c9a8a4ca101264802a2c403e9ed47ea898b4f3ceb41012767299e6fbac2ad7331f299d9a8ce9cd204011b86d2a511a6a210b4f +X = 7d82a09ad985982a96318468cb5faf5e17a217c5 +Y = 63a4176dc3f27e5fe83ecdb83510e5b1bf89934e25d19301f83e73bd385a10e3aba2b5c7c4f3013928664993091365ebcd46b20caca24e87c300044aba5901857d2ee86e6db9450a42c53e5ad5fa10bdd9be1da9d3ac7a21abac6271e2c93ad7a66401102ecbe3f498b5cbf9a8df2d5d0b9938ebc9ddd36d9cec54f00d728760 +R = 884a0ddb7c77a1cfba1befcb1db1304a31f06f97 +S = c13ae7888e833cda2c71fa7c2e1fde0890a07f78 +Result = F (4 - S changed ) + +Msg = fce95184699ebdd3c0b972adc4008461284f00a945af16bc74e421b0cbc76d02b5c8091debc08a90869a30a33561df10e8b261345294ad0f0b1215c74e05f681bae15b05c5dfb04a9f5ea7161f483d8fa3e73bbb22e10610b0cebd1ca832fe4e1d829feda783da5dfc20740a17edaba7b6a8c0b8fa9a4c67a560e2e39efc415a +X = d69e132026e2d73316d53957f8a22c2615b70f7c +Y = 798a19e9e33128c645883243186bc6ee08c21d0c89b6ef2cf3ed5b69778f7ef375eb5765b584c7dca62fce7d72bed207a9081edf5d74ac2eeb5711271544c705a8bffcf1c78f2cbc8f9a1f400a15905d1df7106b41db026c638f1717a7c7f0e86f06bd35338bf447f5a4545328c8866352045d0d0e92d73fa2b14aad386ee49c +R = b4d9f2d3bdd3ed0083eb7c88fb93759ef6e43a75 +S = 37a6b7c96e2d84cde0a286123b9510c685187238 +Result = F (1 - Message changed) + +Msg = 4cc695871ce2b8e11ed5d270d5e4b91c880cd639c95d1c3bae915e6427ac21387d8f3a4a3543a4887bd94648db853edc5e62e4b7c2327779fca592db886dc1e59b8d35f5ba7a125ffd5ab085c522e8c0b269e838c68ceabf20c4322cd0d4649f542ca6e254172d167a2f0aff9f816ff257401fe56909e0034462904b9cac7658 +X = 0d5334456b8663aa909f086b96bd46c38153cd99 +Y = 1f93e93e7c11742e95ddecbba99983232b113e181c3da31980744723fe7407d2ee95ab39ef5dca76c0d8de56adca4e46f5dc98433d788676990f0eb170159784f330f155a8881edff911887ddbc1dd8c739a4eea6c56975ebfbddf0e40ee8b5cffe3284b9db09f5946589f8be93e66a5887e81fd008642825af41e0272bfc92a +R = ab37258372b5b51e9960d034ce28efec6afa507c +S = 772e4b7d83a95e4d216ee42e289a1f1759870bb4 +Result = P + +Msg = 4e575cbe579d7e1db0b28ba06e8e778d42901c96b4ddcee8375e76618439a076444c6a8842d3b4c87cff811fedc3bdbdfffae493634c845c99c8e24307721f035c894be9d71e5a9bdfab47bc3cab4b146cb39b3f4d4db5a9ba760661cd6d3abe3a2380225ffc737e2ec5c0c1d83e62f6c777c47f752363bec7b5255a8027e788 +X = 0bcfe5e8cfa121c56acacc45cceb7f91aad7d414 +Y = 7e29a3a95bfdce82fa34d3195f45ca5450f65a3ee125f7ed258af2cd05890a875ef9097fbd028bced97149047de29b333299f0790fa408f7d644c9bad3ceffb0dd2d7b2f292f3117546e9d1499d440f7520061504ca010fae68a7a5aab50dd3fb9926a2d3f93d964e4a0d0ff299b3482d4e7bfb492e0b69cca52b25ee47bd3a0 +R = c0cbd82fef70074d3fd2f8ebcd825182a6ecdaae +S = dc6a8801da5332b62a3260818d60521d12dc38d0 +Result = P + +Msg = 0170361e33cf7e1f87c61bc93ae2255f9da08785469796baeab873700a98279bf534d2396183f7732944a8e2f121164df5516cb0c2e3060bba2326952b507bd2510993f2e967827af233f55bb9b58bedcec8e208de4d377d8b23c242f9b3a5d21a88f346fd0c4d25ae0078bd16f26bd587d31cdb584b234f134031750fcdc0fa +X = 9d98ae7dff6089c234419181bcdb82f67ce8bf83 +Y = 4201a93456aa3352629a7ce661e0f26e8e792e046a71c16798956f1b6c8eea631dff13756fcba0c010c0ddfec91640624b18f3c483e22abc5645da9eef0d2881cbe0cb8e77bc70f81b68a9c719343a020eb49e35b7721f985201ce6f3cd646ffcf1333dcfebb9291fda5d580094b03ce7303130541dd2912dc1801822ff8f8cd +R = 2c8a051edfc8b4982c2bcbbcdbaaf09699ddec89 +S = c80de6ad4d2fbd421a2fe935ab11eb0df47c813d +Result = P + +Msg = ff2a5abca8fbd0fb39d1fb300389ca4ca7f7e641ef79259e1dbfb12eb1fbfb6ee6bb57cad5502d338d0ac786d842114017d0701ec47e0de868804339bdd16ac1d95125f23d3b76d82afa49628748f2456262aedf63d5d2337036df180af552199630274cf4eadf972b83f2d547625359e064fccb043c05d00adc9e2d12376a60 +X = 2eee107dafbc13657d09ce6a0a0c9b26d0fbe876 +Y = 3c23c99379ba54845e76f083a900013a2f2760358432d5483282874bb516d2233cc8b6979d7879764179233a46094ed6c4ea825df511bc20ca2351c19c851a1285ae7da13ea53b4c3c39bf9fc9cf85b2cd5172f0fb30b169bcd5e8945b25ea5f577030c6828d4d08d2edddcd959e4e0e479e01c32ce3bb30930e71123273e2fb +R = 0bc93104e1986b69a0e16329122dab9678083792 +S = 58b1578d2074838762ada742836cd1d20295e815 +Result = P + +Msg = fffea51b2fd51718786dc5759634e76664f8fe76c2a8c70c37e3bf356bf5fc603ca613caeef1fce6f73ee662f92d7a15973b0db9aff486db093c399cfeb33a3a9bdc0dd41cf5d65d67696727ca7d29d722dbd06f865a0f79277192c123ada1c60525adfce827724f1f253c408f9b891e7d5d415cec450d46ec4e62baabfee1bb +X = d376d01990497d5b7cd9e038bb82a78ecc001f68 +Y = 69c8c5204ac03301ed794c87bb8d93a89f3db32bcd581a3fe494978dd492ada383cad600685b27c4e7d2a3334713a48e602fd56640d6b3f5bbaf98593eb1be5123ca28b8aef6569a2cb5feaa8b1090bf442b350e8022b9a332259758cb2db0ef20249b39b20fab97d84183bc2c3d6f006203c4915927ebf71734c339a5a06dea +R = 0ee240b270818707d8e278c49bce4d85995d828b +S = e540e082bc0a7e5d7273a290eb0979c112ce70f4 +Result = F (1 - Message changed) + +Msg = f51d27bb2b7a9a35e1f3b86906da43926c8b73374ec3fab0647836382d307fbfdfb3e1f4238b9376dc6a8b262ab1ccf7cffa7615c4d3ec8b6d434faeea488feb6cbca6e177d6fd19decd763f6ad1957d8b562b86d201bdfe8eca9a4d93a9a27ef31f15e82b21869698de19ac8f5b81bfa6091100d0cb9527a17d54c7ee965eda +X = b34ce18ad00bc372d083350a5de9c2ba37d9b5a9 +Y = 3f3a3bd8484af5dfa20fa5e7d2b99af25c9b3817b0a15b9a8588fea16992477e2728117aeb0cd6210988a1f264517066ffab421ae73b52ab6da25f1536f7adf29e8a877f42a59c0488bcce6ae65956d66cc9587cbeb3b303ce2c95465ef8a3435a189a97db62f2cd3418b551959cc9bdf96c2d2dc9dd5b8b2d4551012d518fbe +R = b09ab7304d73ffc525e4ad22283fce44760bdcc9 +S = 5d1339be7ba87bac5dbdf1622d71cf79470f7b10 +Result = F (3 - R changed ) + +Msg = 51f62216872155899179eb25b7154ffab44cae87442c0d83d7b1b6a1c9cd2044e9810abbdcfaa95fd26b7c8fdf6f85fc8abf5680be5c367cda41d7b37286196d95dc3e0d30efba37bcddf9f679684df5a5f1bbf90fdffecd30a564963a50a5d3fff7c6adbdebbb1ce6061020115d07b51c43365eb162e1cdd87a4c8672f34c42 +X = 8d57d4cb6c5516f53f1a4c6cccb20e24c43dc6fa +Y = 14c27c721c518b7c1bd0dcb08ec11a267a180e17344d441a61f1b9148f4656bdd20069000c9bd43045d653336d28e0f3651e3fc3988085ae4364158c3ae71550bc57c5a7578cf285eb6ac1e8be833124645cfc65929334b68238d1b6925575fbdec2f7549f410bc152b366ec947cd0df5397af9daabfa928623a1c8c7c755d16 +R = 85b251fa9eda414048ead26c6d9f6fde3baadc2a +S = 7621e79adce0fe0dc64a21aacdc38d388feed880 +Result = F (2 - Y changed ) + +Msg = 00d565a0226843bf8ace5c925a95ee7c24738095393b2997576bf963e642e4e8f6e1a39d421c00298f2d324660b3066d546ed38a702b69e3ead7fdc50f2d165a9a54555b15e2bd996e02d62542def0e1cd0b817f1b1ab376f1e57665e4207f9666c454724d8ef05290935cddf1b598f2dce8688a261d3c62fb6e01e3778dc37c +X = 3ecd4c897d46404719687c12107556e8af5e170b +Y = 58f1adb038f0e2bb7eaf7f3c5bb2bd7209c9fa1fbcb3af5038d3c542b73f9316b389c6f55343c16d9fba85d12ca943f2c2d217855410059ac15437d5b0b9f90438f65cb4f3ef80144a12430cacf6d86a32be91d50c9cc2d0480dab767279543c15272649ad45987dc28675b4615a379e9b9799e1c5677a27b24ccbaa2643aec7 +R = 48fd6917a3dafb30b3d0af50909c1c2be67ccac5 +S = b5aec6c5139e5d0ddee9734ff3fbc82116d714fd +Result = P + +Msg = fed6367bdb99d3c5e8941d814d59accb4258a9e685c39d3c50b759860f686b75df3f7ef251ce54022ed2f7dec8a236735d377355d9361794f01c4b4bb2b871157adf6def86708a5e87ba84ae2ec0b5ea53b75271eab85e68b9e56773e3974f997d1668a3eacb98100b98d4f663058cb24a2136d0c3aa51d0225f77c7e3cc7b04 +X = 5e44eb129221109fca41d4274dd8b4a480642a02 +Y = 5283dcaa4e6f9fd6dde9df741402fe1c922a321784870c6a3d6bf0574d0c7ecdd4b00370305e7110582fdf7d0aba7b90532c484d6de482aac3207479edc112aefe6269546ef3de3e5e55f9b0ed7622ffe5e1227ebd49966ce92981080d81f858a42aba83f542b34e398b131962d1f7f4ca1bb0078181138ae1c5c4ca72a95b0d +R = 0c170f88b89399d707b36359122dde2a48607406 +S = 7d41464e6f73657c3c385e66d42b7d74a98fcb9d +Result = P + +[mod = L=1024, N=160, SHA-256] + +P = be365a60635e80455c13362b9febfb3a89ce15fb15bdae3ed9821a805412fa1ffe44fd4598d87e1376cbc4d71d7dfac11ac93b9042062faf4ea315dda571b5cd578fb789e9a5bf52c6fc76b4efad69c59d25b919a54c2d2e93c1da290a584b06946dfd697ef42380ed0fbf6f783e46ff8fe6ca06863b2797e5e5b312ff26d2f1 +Q = cea68e6d533ea16e36a85b5f934cc77101b467ab +G = 23af09eee977ea0b98670cacbb8ed1138059336db29ef19cca4fc578d84bbfc103cfbbdbdd9e8dc56d93aeadaecb86e85cc459ac3ee70cc729d4822e45310d284424713cf3a3762e9389330d3b4535773cc3738a456a39df28f8220428734085e0b86dc64b4e5380cada4bd45f08606fad5a3c9b1adaaa7c341797286db47cc7 + +Msg = edc82a03fb29309320ca7ea7de1e5aeaa23ec8bc192b9e517b25a6c7478feb24f31d7c01afcd4d182591a9a116da2f75a037165062c9e09edc38c1cca5d71a10d63836bb6a00f52f7aa04c7b345b5d75ec06aac1ba0ca0c216d8f4a355ba5058ae92fbcb3eaf16251972a96dd6f58542655d5954f498161d04844e8d4d2d9fb7 +X = 5b38b6b3f6d94b739c7a8126a7807dc4c48403f4 +Y = 162e2fbfd6e3cabb1d83800051fb14315812e6d68c8faf65c883b6d9923af8c6f91c30fb0f385b8fe2117a925f4a35b6d3326c90a676d872006e516e9e75df7babbf164a943a0004b8e7f2273bde6aec7dce31b2073fffed4406becbff975b3be2c99fec1b25307acad9c5d4b186e83cc76fc6a6819a3effbbaf463b7290b54b +R = 2492cd52b194a86d2848b697456b06de5bc0c131 +S = 329c80d06e6ffc5a504ac066849f4006584561cb +Result = F (1 - Message changed) + +Msg = 04d152c845628ece9366a04ae78bfb5d72f658d3f427e3d2e27b72de9661786f73c6b1b019340a4b0838867ef585774ca5253b9d9b5c767bcda15afb8c40e9f45cd4ed9fdf617b95cb9b068aaeea9c58dee32de1a459ae9e29cf92e73eb767bbd8f541f6319b2b9763dcea923abf31a23df524ef70767421b5d4725a7a829bc3 +X = 1cf32d4e873791c30bc7d5df5a9826f9998aa188 +Y = 29b1b3a0cf4ac5ab9f6884e05656e6acb8040c49e7aaa6647ee2451071648ab68cc6eb4e26747a7437eb36e50d6fcc9c351798f8745a9f2bf12703579f3b156117d96dfa7453ebe8719b9d7e206f8396a160ddec380b700572c0023af2d71a2747a5637ba4b5037d7c86dac53a8900ba600f00cac161ee9f546beb18dfba4d91 +R = b1bc3a0ebe5e9e2ad5e7e1f31754f32910a07032 +S = ac829981bd358bba4881f38d65b8a7c967b1851a +Result = F (3 - R changed ) + +Msg = ab806e1cd9a590c37738d76d17e05d4fdd5a27c8d35a8386a47576175bc2e9f333bdec993965d706dad1535195b08a1d3c692e466da5f0d55671e16a017052631dfadc8e51b2679249bea5d971437ae6899f5a58913a38540a6afe639d1170a3a9f15b0b02499e6c7fb38396f75a451dd6a4f890361ffe0e310cf908c23f3fbd +X = 68f784dd4fa1ad10aba4a04c993b38b3e72be7b6 +Y = 54294fc337ce875e2cd775ea2f070b217990281fcebbf69c62d0ec9f992e4c04d30dd17326a08e918231cdda26a46293af877243b96cae0bff256857a60a3046cd6bda442ee8b2df261d716afcfac9d734fe881ea810062a87930b71398147574dd64ad5f2812ca03301dabb6a0868a12aab5bee00f29ee5d0b61ba04bcd9621 +R = 0ddd11a77b70780ed4c22d4c6b5da69140d4cb14 +S = 9e390130cdce95d9b12599c195acf24df37bcba2 +Result = P + +Msg = af244bebf435063b96c9667e8406d64b9411c2fca6a6d0198a328b4fc9d85ed01f3dece62107b478746e892e64ca3803c3330e3a4bb30aaa52b5214972d8c5ceb4ac342e34a1bc0685da04d341c2de14d06f72cc8cbfebd6630452296224b80aa4bd5e57bd025e83b6ad94019fdb67a0dccbc34332ae627364d619dbffa349ad +X = 8558929163df59aae89effd6c61903a323dd65b3 +Y = 787bba732be6739520a65f3bf579d61d1eca90b8b5a403d061522848cdfcf4e887cc6e92fb55e9df5fbbad8bcfbb0d333a571b8ced5fa68c8298336c51ef32756dcf380ee0b82060e8b102d18ecc4ff98cadf33063c1d552669146f7dc1b99240270963d1faa9e482f403740af44dcb5def5f44a8867df7d64da51962e2bfc70 +R = 7c7ff93b6e84d3f8465ee642e56dd161d52d55b5 +S = 699b1dbe37371d7b2091108c1bdc8f79c0ac2788 +Result = P + +Msg = f89aff8fdc6335662512da479f38bfcf3e8957bb74716a3c2b2d1efd0314fd1fd4f30cb7d2c72058c5ddbc04d4ae2fcf46f9d1f255e54e13034f6019fb1d683f64985eee2acf7d55d680ba8e5fa5300b3350d4741e1878f05e033147b5ea5ebf42a53000506873f11e46b6d49c1c4ad842d376cff6d21b85f76bb44fe31d5954 +X = 98bd9afe661fba0a83843e1f61054efecc9d5491 +Y = 7ec7aee6cf5d6b040d31157ebde7a4518bd80ea56101fe341c2a57a72762689719d6348bc1b86694a1f31dd035636420662a28035112a06e579e0d2295eb7b7c3f2907fa26b6b5d637fc3b31ba5ec4dbbcb8c72de65d689091d7d8826932a99402ca4d112d780f0a93887c59f74d0a68e34ae734c8c32b671a58afda442a275b +R = 7cf5c2121372ef6dd7ae34c9424a6b55cf0d4c92 +S = b359b2bca233a45dade81e12e6e0393cb557b52f +Result = F (4 - S changed ) + +Msg = 1292b69dab4a607d422ea1732a8dc528d5b40e16c1383c9aab93d7467eccaaf405f595ab3b24aef437b9f730a0bc145dad157020779e51f45ab790978a8cd40cec2844bf0bad514b8e02ae13c7b85d996bffb8d9b88b457ff64859bfc0c614eca1a985f1ba2751d29b6bf9854cc9b42548b475cd47a07518542b98c36bda148d +X = 3928f9d63c4c98141329be34cd75a02a18786cc5 +Y = 3d65ce52c9186e1ae27cbdade2d68b87c7d0f12cdf3d1a0234986db7d8d9fc8644728545ac24b0e3ffe3735d992d9a4afae79aa4cc5df18059bc8011acc1ac2f9958594c24f3ddd331c4adf81b8038e7f903c9c129f92ee0fef0c94d80a2bdee5cbc4acd939847e5416c678d08ae7ab6a6af3ffe2a4efca239adbdf9d33b720d +R = 271902519a9173ae405b39b1eab48e2570bd64f1 +S = 1d237238c699154ddbec6cbbe751ce55612d5e13 +Result = P + +Msg = 1c662664b44233aa9c4ba3c35bbdd9ea559ef83e19dbf0e9dae1bbd4fd813a0546832fbf866a8cc0d2ff9bfe6f3babf0419e60a79d4e4f9570e8294dfd3d5e1bc981c8515e9efae7ff64170f721625978bbd87baea483d9253b740c097dc883fce1e67280ad53dce477569ffa6a62233124d7a9e09d4e733e8a16403fdc63c9c +X = 0e5fb775bebed20d119cde95c94c7e2d7c27541e +Y = 70e1f0e48d4ec127f914b1b908079a9b1f84131246c1b36d3b032f8894f33d1e47b72be0e260e409f952db880124b39a2ffbf4d5d87860c25f6b557240b8e317d6da314615150cdd152abd141465af7113aba42ab3d3a12c8543a82f029a7ad04f784c7f25ba076e53eaf8ada5486f85705aa147968dc6da7a241df0742cb3b9 +R = 4b1df7b4ba9e026c7602cff28d439456b9f2be66 +S = ac57d1738015036f7c7998d024d823f7f58e3947 +Result = F (2 - Y changed ) + +Msg = f197a6b523b4aa35be6191075863f2009bcb6cd6e616d551ef625a5f8d4c39920ece8e52cf03532bcb0bc82b8a25a017172b2ecdbe810ccc9faa947bfc9239bd4963195e3c448794994a5b8e234867014ad15543d75e2e51253fa0d50bd3e26856849978b4b3b3460ed525530c1455f615c850c1fee401a61d8607df1e3564ee +X = 33c951c32b5ea5b525bd248838ff0f1f8967c318 +Y = 8f75a12a21b2f50abb67cabab2eaf2598d21c6ff9fa4cd4dc30e328463e2d5cbd8c059b9d776343ad75bc7318cef38b4afa6b544dcd919bbef42a49d01094b11f28b5e04f494e0158e04d1de1f56cad4fdd702fce24f842b4c7628b480ba81831137453641cfd548421ee54300789f640ecca1a6e4e22fdff16c2c4c3887f84e +R = cc584ddaffe348ad25569ce5e8870a1fff633583 +S = 411422bedaead9c8ad640eb8e5c9745998e17eb1 +Result = F (4 - S changed ) + +Msg = e9a02d5b30b4ffe86bb69cb42a5279be392d919a7417749e5e86771a1deca572bc041baf651807f440a341cc3eed78b08797a54e744a8bda9daf0228454f29385db964e8aed9bb82f6fa81f4e46f4c55d039afa8e54eabbcae0108fa02697d7d425cf4e993ae065c9f8b72139521c9c1dec41e6c3e527c6214a6ddfd0b14f1e9 +X = ce4c373a507ebee7ed50f1dfc89f2d00590f7be5 +Y = 73f33fb00e17474f0284949e55edf434a1631d2a402a7bf01d88d1a6f656be6ffb5dc3372cf1f466bf10b8459c354c8e0bf354cc63b0654ef69bdef306e21075996c71587bb80d2798c5b34fae2b2fbe2bc99b59f8a1152106e63f35c48174160970392a28e1184d85e33ce21520ae9ce96d9fac350a3a72cfc9a57980c028c2 +R = 616101706e4ef57b082974b2520dbe975625c66b +S = 30d02f6edaeaeac67c3a65bcd6368376d7dbb9cc +Result = F (1 - Message changed) + +Msg = a27cf655abf5d78d30f025e21e19d97d887ce1d843d87e257cf8882fc47f760181ce392b82ca848b22e166218589fb7abf0e09732d928252d2fd6ad1ebfcf949e929a948314b345b076e3e8b705f1f9dc5439e9a342075ecdfa6847a435adab7f7d0b7e2ba83279cf79a464b7e9f0707c42722fc332d86b4b0ae315334b51d7f +X = c0d0efee84165f6994119dac3ddaa01005dc85d2 +Y = 7e8a1276b010781346ba91c7a829d033192ea12f798cbe9b9c28aefcf5c6d3292259606b09a26c7571ddfcf665b6dae4c082b684642404c7026e7c7868ed5d9dc617e10dc7fd22d87997f9622335b4fdb3afeddaaf1e3f0aa0563038f70c927d014ec2417def77e48ebdc349b77a0adb7675d14ecf7e78bdd209353590f52299 +R = 1cc2d29655f119a88bca01f478f59745f5372138 +S = 4e6894aecd25b86c34db70f511cec02f047ffb45 +Result = P + +Msg = 0a0820aa582d9aae60016d08722a85ae3dca1acffaffec31832bb2a59c9b37d468f8f4d2bf658d78e133804f540f4e41f300e2b80865a3867ddba227a7e8786754052a12bea8f22489d40dff3bc2e1119a43dc388a496239ec85f572664e851235cfc5dd1f5c24450971cccdca4ee7034471516f533ea95dff0f3f1d5a8880b2 +X = 66aedd583986bf6b29dd914d35675fdfecf4a3e2 +Y = 2f0f1e8caecca2ae07cca5a9f649b16d4d9d00f958f00f5002b95fa7ddf8e691409f5fc5daefa2a01af668663faea48dc1bcac1d0bccf635e616b55ae9f9e89a978e82b73816fda3a21a80cdf9c0f49bd8f044abd3fc7f5daba6753f58496cba5c32ddf7839f46febc9d38f8b745a048d6caa5e6fbb7efc953f0420589cfc329 +R = 90617a7116f618040ab397a81c208da37e57beac +S = 580ab18cd0ffa2174c060f6cbaa9a69486bb5c61 +Result = F (3 - R changed ) + +Msg = 705a838ef8749c00cf3a441124d4bbb31387e1d46ef8e888265d57ac09cb98d6a45f89b69b8bd2458ad5a3c6733cb3f092f0dc68db03d305fa8133d754972686bae7984aed6fba04e9bc42bbf0cfbf777f373382673a0a85b552710f5a889470a983a293e4bdcc9a4bfbc7634bdbefc7d0bf77c543472b984609c5456d32915c +X = a38043291f339411052f9cf9c0792fa4608aeea6 +Y = 90e70d1cfb855bc3931c4c5607553e5651cda432044469c7d6324476bada6b1d1e4f8f9d1bd710f6abf93294332c10456124640a2a2bc0a47df2ff89937cab11b71c373eb0ced8272accc9a17f37d58f4c73e411ac3121af5ecd23efeaac7ffe697955f91e8a4e0d507d07d1a4899238e1fc4dfaeff6579d15dd7e7fe809d56e +R = 16c4e590395bbf947b18900fbce1ab8871dd91d6 +S = 9eb9b3ea2edeb1d692ffe50da97b6dca5e72c556 +Result = F (2 - Y changed ) + +Msg = 6e3ae4b59027c4fe040c361f7337f2b6334e2e2dde57e801c2c9bb7d63b609add32dcc3285db49c3d4c33cbd817c5d77531ee7cf7f3641968f375a8aa6f9089b0b7947cae412e70b2ce11273b7ea74a2c39fda0ba48c0ab691cc97d571bdc1a1e5b3d814d7d8ec6f68e71ef6646bcc207387130b16bc9c22b903489e017db4ba +X = 1297968061746d0d36fde37a4018fbad1f1237cc +Y = 7546f1b8b05b8246b47f1b1375b55ee144d55e3ae0aa3c89042b245f738ab7452e1e5036d4638a4e04fd681aa1082ec2ac24c096005236b6e1ded9f9054f537a5db71b7d3c3b76ab0e7ffb0d9205a2ceca0c828d7b40c8158946c0f45fdf33a902015881b293f05f9db83a0d04a5de311493a4d67a6ff7835045c0b47b13ea6f +R = 3904bb1bc76420d8299a5b4c71c9d74ef7a391b1 +S = ad89f7b99aed653af184525e6f171a941e684b6d +Result = P + +Msg = ab92d84940ae2403cb527f5c9dd9581380e6870feb1eff80b0745305ec9c75230998f46bfb14ae58798c822fad49cb7e81fd28a1822e50a185e05f5a99f0abd0543a8c107d8b6efec73a4d03888987e93f51045c3439aa0d6e8858079181a3564a15102cf13d2c8ff4ddbd420a3065b055c8fee5108b4b025cce7dd711c0db8e +X = 7f4629dd1d564b963ccaa193cfa2622f444a4ee6 +Y = 4be9ddd1bdbe5c498666d97516ef16784a8af7578c662c92a6d7bfa3adf1cbf779de932516fc5400fd371917312d3369dbde40c7a8c9d5a54b239cd3b34b5557f8874980c8f1edc3f2b87fb7dab4e86f0b02b1582e67dc7fbb455cbb49d99efb79a34830b6e040bce7c5b36e0b89085dbe4b629d2cad737abde647cf05dda041 +R = 7b9356a9009740913c3e7a56925319e64500cfa6 +S = 46503488d55d2cd88d96865e105c1b375ebb8dc0 +Result = P + +Msg = b23c59fb7801a6025da30fa46e3bf7a48a78b5835d4648379fdedd338cc41b57ef3bf2a417315ae64be9e542dc2e2eaeceb09db6fd58b01018e31efaecf35ad16eb48f0611135919109e0d2f2e69ef668194b661a889b908b91505ffb8ffc7f6f2d5f3f0a05e901d68ebc5f496f6bc8044cb4a48eca74a597e80bdecdea7d3a5 +X = 9f14a18e45dd87527d730d28c017986791740376 +Y = 4a668b5b6068c9c825cfb7e2071c018a07e2e869f3f96e083e3cea111fc52e9e2f6c79ced5ffe661f626f863c6307e7b2628a5963600b3179f89f6c44131815802c9a6d226b780cfbcd4696675904fb39d5c8038ac0fb52c6433a747ba6a91d60243bda18bc98da083d4cdc74cb44218ab36ae636b13cbe120cb682b7aa92842 +R = 12030076075ca21b5342ae44b4b7ff1d0d1ad801 +S = 587628fa53907795ba09e9b79d1daaa4fc195279 +Result = P + +[mod = L=1024, N=160, SHA-384] + +P = b6f8b7f7ce25fda75aac82659242e8e60e40ba7dba0f66f6db192e3a2260c700aa3902020471182cd027c96beda567738d98e32c4005c32e3f77b8d398218593ff2247f2a9fa1ad10361b4850bbc01d55d5594d21ebf3a235efb600b0bc9a7684bdbddf874c96309f37da851a4caa680e34c8d0dc5e5e69481837cc58957461b +Q = fc534702b21d95c22ea7b5039b3c95f51a4b9313 +G = 095038c823dc7600c8ba3067df32f6a16417542e742e772eb885ba09550de2424c1ede3de152e28237a36474781a5632e9049e2ae3566a9be24be1055c3f2cc2ca40f926407d18ea28dbf834d129d400327010b7c200a80a771d7ed06d164ed337900a48ad317bc592f8c48bd856d6de493c6ebe166d66a0bab60b2f5013a2e9 + +Msg = 07b889672560442d3817770ddffe5e46381a8f221ad5aee5a9da6af5e80d75ffa9c7d3bca5be0f58eeeab40d72d2cdd58b01512507857676b0c5519daf0844157691f9419f65af86e666a2eabd40d5d1c99ba8e014bd62032471b9d00419831ddea349e909bcb4fbff99de178c8851be18b32dc1d83bb7b5f5aa6d395b1fd7a7 +X = 272918710c50ed6325f7c52cb1083def5ca20e54 +Y = 0bada36d6dfb8e8eced520b67df5a93a4311dd774ac4999abb4ade5cb69608f403d9b009480a029a79350fe20afc4be188f2a5e7a533b7f943a5d8e4be21f1f711f6b508e374f202846fc51a6f29740333ca99c78e0a6cfefc9c12df06cb3b911b3066952280bc3b2194d0ac01d3e531899ad00c8e231bfe1351175389ae1bf3 +R = 7af3ecc5b061d0d380fe99982aba625aff826cfa +S = 8e838bd16002edf02763915a6720dae123f61f04 +Result = P + +Msg = 26523edd990eb4aa514d37c206eca89d8bdb19f121931b1fb2832c2e71577e46ebd41bb89c75ffe93b1af4fc4c6ccc046bc78ccb9c910e5b5cd975c729a1ccad29b0eeb9e9da92b4afb7b92fa2eb953aa3b54a0e44ff628d0d92cf1c7d6fb3da794c5e0c838894cd418f36105b4716b0583c78d9883dcb0b9a17dcd6b3ba732a +X = 14d60c3613a326f7f2f768dc0098382b83cd11ba +Y = a8e9f9d12415dd69fb60582980b2e5f61b2ff6bdb9e9dc60304e2b6cf9e2e656a5e1a00d74fbff289916d347feb612f756b789a47669fb80cc35c3f6b5297d8cf504110317343664a1f41c63173596e7b290406ac1dcc6650508dfc65b5d360dea8a541d06a9f899c4b1e1e2f944f365e70b76e53133b97998f7e12828e716f7 +R = 23f436a801a6eea47623acb7e2c34615a812b2c4 +S = a050b2c50f2f016ed5e867b3c5df3d9965f413fb +Result = P + +Msg = 60216824d5a8926750f27bb3558b1b43e05fdd66e0452fff95987046621f22e4a9bedb57548c7e4cb53b5da9dbdf0bbf2e71a716d61fd598c0bb719383ec2066d14c93938179bdb5833cc885e4f4fe5239a88fe1c51de060441911ae3c89a84c5a6c0af2a83dbb6289b052d2f22cc80359ff8d9d60e5fe3933720dd5cf3848b7 +X = f04c4c0376f35da156b3e261d0fa4140892ea2ae +Y = 9f761f30d0eabf37ae67f1906f6c725c42c5a8916a7721af1ec3ddfae6aab3620aafaf6961d5531e00862ca06eb49c971fe2d8943c898dd2dcd1899e663d5e4de925e671c0cc5eb06ff81a202abc005916f9c2e134703e517ded129a14b71e5be82bb2653a84d4142e8daedd0e6269ef3e3d302a8233cb4d6a6e2533e0ffb859 +R = 8afca2f1bc304b5d1b58490a4b56446701749631 +S = b4f425ffdcb24d388205a110e4b3c7c4fc37c41c +Result = F (1 - Message changed) + +Msg = 98135e656aa2f30ab0ea8827534210a71451a48cdc394bf7e742925d1db8d12fdbbbd657371fb638de86d380cb642b571888f56ce70beb9f9800f0ae9a0bf35b556aefcd0ee631ceaa61d0fa568cad48fe25757ef718dedc2b3c8c33dc87f657c68220332c25745c7367d273056a72572e3bf3eef00fba9f76b8fd3ccf07b432 +X = 574f093436898e10cd8f10d242900a9d3be656e0 +Y = 01979bb95edc7d5694e6650c3a39e36bce32cce45993ec3d20009efd0d5a30f9cc2bde7c4b475c5a47d12187bac4b77e76bdd0ec431e41140b1fb7f3ba00b5d7e121a587ba4d8bf4abf0eb5d738d10b586ba0ddf4b35675a49249b84773185fea9e7fca9fbcf467901c1a4ef15ad5e0439e49a776648dd560c7781fec9d90e88 +R = 6f8a3a43d74d7dcbf3006a51746f0a98695295bd +S = 30b5b6fb87c1bf8c0a2ae922c338c806d7d195a4 +Result = P + +Msg = ab2c5492708d78dd24058d3ef5d6f136aed14b3f0f8e04d4be50aa8f0fd59af628537ceb11136692a5b33ebda27dc5c716771dfd821201932f73a2b85303add7d6417f52c6f42e995c72c513e456600ccca79b48ca5d045c9c55d1350516ba32070f0b4052c2815902a9a0cdd69a75d8962d7071ad39f0b34051d486aa4ec9f3 +X = 842ef5be85bd1e1a1c9740843eaee31cf86f5dfc +Y = 0067957aee978ba11b28dddbe1023a4f986ef551959e3b1e7d8ef634458ab434f44bb20737ebc087be5e353566e6f2cd5a526adb96c98df010729e4d33fdbdc61c831d5418c69aa75d514f6c63d8eb2b35376dfab7bef394fb664c56fbb0af0c7f96504c1e3dcf008c7e859a63d146c899feced2313df22824228b925c8739c9 +R = 82986704560fa6f7a1245649d1b6365752428501 +S = 3df43fc9f4f6f05705701514eff8ffd0cc739ba4 +Result = F (4 - S changed ) + +Msg = 89e600afcb1c46619c807372528ed44449b9a188f86baf75f45709f0e96a819c1d5dc3564bc41604d5517bcc6dbc90349ada5fd9beb2e5367a08c31f0748481cf3b2a4cd1219f84db9605d9963c281854d902f80161f0f03d28b8ee068d573d9389560c8a33c6ded7fa40068faa66aa5cb4d722ffc89ffbe80f3d05233ea5b7c +X = 1f85bac738e6c1ddf1232c30264be86990c1e5e1 +Y = 50ab858b17dafaefffea86da55352030c14b06d08a1964598aaa02d077ba789f19ed97295268544f2e5e788ca23ff10d71dd0e3c237c9e404a61003a2aa159c50d073c54dc3a983143eb2512d07b9388016970facb6c131ad2c7d11c5e1a2c22264c82b2d8df276a9f153dba0e992a5850568369c6be7aefd0be90a0b005b2bc +R = 878b874502d6ffaf2ca15f2f63090d28fff162e5 +S = 784101ca24f471ec1656fe751d9543f3e4ed833e +Result = P + +Msg = 02efa12e325997baf5afadf5747c13266fccca2ac496e51b21c29433d4698776b90600dbfc0a195c8f78e6064566690f708b27262fc4f5655fdf7393f5e85365a45af2ffc42b64dd751de681c0d232dc5c9dca433bf8ca988b7647bf4d1c6b878f39a8c543643749c3d5ee11f7351d2e9b683fb2681cf27a75c17a780b328c40 +X = d72eeac48a54f6deca68bf0cc4ea81a9323e72b0 +Y = b40b65d3d3f05e19e0e0fd5712ea35cafd1a9afd38c624f79e4230f6207ad984246a380310413e0771ff2455183f8a98374e319ff8772f9ee2fff2d469b28d29e49c7f99bcdd9f3c1056d5c0e7b94e58ab307f7d1718b5650c2343d39e3672405e4589e9a30d4cc0bbb9995f1fd486ba6a093bed2213a4b189d9f969ca598141 +R = d65e1a5d0cfcbe2dbb1bf5f28ee538884ffaccc9 +S = 73560144c4b69b01265bffc57e7a351342ec118e +Result = P + +Msg = 1f86c4b216c5524e45a39a17e12252626854f971311a2707412d5da8526f3ac1764a3f1913f8275ef024bab5c01af4a81175f4580e638d88c804cf0e8a3f09d0f869e341089290de5f67b658d8f91b388b7dcf02712ac87c5c7b3542d3cc84e534c758ff09fe712c6fcedf2e26b8fada09566913d1930955690511caa7391d73 +X = 304c46924348df124639bb87496056e42a758592 +Y = a7e30d61ac816f340af7704a3c699e0a18650ca5a941fefccf941654a87a02f78bb845909d878cdc8c9195c975c2ce3e459fbc55480b2e45b79a7db8dc02544d406919f28ba616e92cd62186919a4fbc544706bc914ac675f2208a8e8288870fac7ca190a2627ebf22f6bf105e029f472e1130f42107d226d6e5a10c27d3de1b +R = ef0a7a48bf30c26ea86064d28cbac5664e14fc52 +S = be5656a1422b1c7ede5475feddd5eaeab52c4d63 +Result = F (1 - Message changed) + +Msg = 13caf383b1e45e6e242ea7ac13ea756409f422f8ff46ea2d313d9271f3bf4adbd47c1c54cd90d9f926df98869902cac0dc7fde51b28171ae30cd286a26c65817833cf591ec9af5ee9a330a7d958d4a9db184d1c47327739f7a3d5ffa4566e507b7e5f72a71adf646f88cff3da1eaa9b4a2348d3d2d8d005725fcd6b8d9ac0275 +X = 387516d141dfb917bee25df211cb426cdacae017 +Y = 13cef92181c88e433c4b653b63be92bdf97569de9e52d318138bb0bc72a55225f46104b663bab5a1f73b00965cc3cc0683d5d5ed6239aed7cf29d90a32b6689a4cbb419feee99fe7a8d02295f09e2689a68c6105945e9e8c0c910129677380c3f2b8beb0974873c595ce10336bc55b4baf46bb0d794398a267665f1684ab90e3 +R = 839663678e9db23162ad96f4866cbe8f1f2ae18b +S = ead218fedf982bdfc95e2ce7af24207f161c7c08 +Result = F (3 - R changed ) + +Msg = e5bd91af32ec7de736d1be44b7daf7fcca2ecd852e57189ca399f75d20765f555a5d7346a277d185797aa0f587b243caf63975baf4b195116ca2d759204a8c0a301f0008e1a67e22e9ea7eb64f9683cdce99bd54dd25e30cb0d893b759d187bff608ea97ce1c2bedd6af856e72a494a1b4d9bc118103944100cc338acce40883 +X = 645cb8f9734045efa5752b5323bfa5fb9a71b948 +Y = 368824f0f6c3f8d0356333f37513dd09d823140038d2a709c5e7bac170479cfa9851f0aea69ff856b656d4bff9a85cf3f767016b368fd67800e2a07011edfaaeb02808600eecc0e496ee1ece04f8aef5eecefde3e2a958e99bff9fb8f6a40c4cea6a5a6d6af1283d57b825c2caf6f822ab02610439b375da28194cccc648601f +R = 2d99ce221abda347ffc6512523a4dcbb3fe65d17 +S = 2324ef1e4d1469bab80e4420295850212125c2fc +Result = F (2 - Y changed ) + +Msg = 4e7ab246c73c144d9341007bca154481de66798151d4d030009a45119fcf06ac55a2bddc87a7a40dd1f761b4060014aed573ae2f3760299dc8caec9dd1ec7955cb15fc7561ac174bfa1a39e930cc287b5ff2860208195a09828a0ebf25ed8335b356339ef7babf685d5a2e345197c751ad536c8dffb09a16987b9e330b164222 +X = 682daea1211ad5c496b3ec6273d5004e0bf05267 +Y = 824b5b8a7a42abc79d22237c589704c8bf336a18beae70e0a3243ebe30b144555c1e5ee1042d700f759bdaddc948bc75d14a5a2c9045f30004d2af90d93643925163d77f67d60637d81b0ff08b3c959b488416ab73ede0e3aa7244248da771929864064bec5cf25f9ea65635b0adc0909836b34d33e69845748189cccfc34f39 +R = 21f875232cc69c17a527cbcbf421529012abdf89 +S = 75f9aab28b0813cc5bfb2633c5b144adbb5f557f +Result = F (2 - Y changed ) + +Msg = e80f75bda98c120ff18b35d452dea0394b09e4b6fdff773a88feeb3c732b465eb8739262b10a8dd7b86b630bb665a496035b6564d31ac210919fdc64158876781c15268b0710d03e84508f6cbed06ccb2fe47947f889ede58ae486561d24b4b894c79ea37c87c873b8ce0b042531ed409c908532565f9d282d870a544fc89fbf +X = ac3619f5e086fcbf682bd2c49fa9fbc8a09c1c3b +Y = 5288d2cede322b11e6a6ff72ad7ddd4fe26f60e207fdc6aa8a3696a830254517f06f4a9c890dbecfdf74a0565c017c9eb915c4589f7df2450f55f099622bcd24779900f2bc70ee612d8781cf87f52e9dab3b568dbba7ecff17872d61632e56a61e845bde8fbb7ba27cbe9207f95db202df2dde41b18403e48e8b5bdf0ee7b1dc +R = 2b70e44845cf3d4bd722bbc393f7c5c7802edb10 +S = 85a169a911e99cfd8059f6e73e397a7fa174b1e4 +Result = F (3 - R changed ) + +Msg = c50fc22f1a49501ad79e5958c1d632ce2339d0c5c7802de55a9bce9f2d8dc93032efc997cc43c1d80ff0efcad3970fe94d34304818e57fc6d26eb1e7a79962b71bce5b5293a92eeda584c50d84b4dc31bed94e1ae3a3e4690a79c9a997407add00883d8b1d6b7beeca961d3c7af25a4e30176522c6e0a1d5c84808bdc38bc63f +X = 2e67dc9d4c531c6ac66a8f3e70e9f608b62425c7 +Y = 437ec6fd30adcb32580f59481ef02349221abdc3a28c1ffce2cc725a3ff8a33db62b73b7098c8616110c0c69152724615717ef8f9c8c1821e9c39a86d3bf2f2c9708d2eef83dae52da7283e54e2673346e59c0f48b99fd376a6854f0d1afbf2e53e020984e4ae1c80dde2e81dde558c5bace75afac3d43e5b14f57d260820f40 +R = 768c7dafa09e1d2f7f938dc22f5d47da39060e53 +S = 5d89361ec7d1cc2896ce93117300cc6051290eed +Result = P + +Msg = 7eafdb6a602803a5d6e86dc5588d40ab4f4eccec1364e06d9cc717369aad360fcde23c5383b77e973d16782aecc95ba7a7e99c67d3887b3c1e7a9618bbc0983197c6b0b8cd2d217572e7465952377c887aa52d98cf56ab2b859eff3a9fbd3ef3f2cbae9c55679f1a2030401f1764df878dfbc05d7306ca6d7d3c5a3f4ba6948f +X = 2dda386ce984105d84a4e80b09f142675d1ef1d9 +Y = 0500d66010ab831f320e76cfd6e7aa1764ec85e0e5df8d9eb52f619d8938a36a814cd28dcf88b39fe1fab3ef579317a5e90a0980b8ab0031e4c54f530a43f1f7949d6d0ddd24c9d03a5431bda6d13bdad2491bab87dd494d941b2048495622bcac34db0f3caf7b56195f8d117203fa22ab6a22bc76a9202f0eda90856c226614 +R = 7e46281338f67ee673c824a208c32b276ceeafc9 +S = a77c256b088fa7aaf9bd38209bef0bc433e85a19 +Result = P + +Msg = 48bfee2c2b8915f303125d4ea6f8ba813e973599b05ddf1bd5f037637e4f6e2af9b2b49c218382ee37492fe0f2bf2387d9f1c9c05b4b4d31656279551f1967e19d1b97dec9e60c98723666a30f6a84bea883150d1ff3579943ba80943ac5fa721a75f11573a6d4b3646d841a2375e5671ebb2bee0b2fbdd0cbf08e867d8a99b5 +X = 99048e9f2aba8358b3c891541431dda8fe82bc50 +Y = 699eb0cdbf51b6dad3ba3ab8b6262e69d90c1ed3cbb960c90ced1d809c94aa92573851177b41a915a10f668067512fd0dec2e6e8951fff8fdc42000251639b825203a5b1fed89ce5bd13455b9f55fd80d834d1975908d99e284f8783cfc815c4d5b1403e0487b001558e1fabd449e5d5551b91068e8b31fb18e4f2a60bffff25 +R = 623667852f85f1d4369891fa544d24f19a1472c3 +S = 6cc77b924142eeed0cbcb2591bedebd99f49de98 +Result = F (4 - S changed ) + +[mod = L=1024, N=160, SHA-512] + +P = f31c0934e9387f9f657969774f9d62df81670060988200528334a7d6da7ce24e9bb344f7309f1f84e841a5aa034c1ef5101dd36b8dda1e290ce9017ce96957b1108d35452fbab4fc2f406f0f262cca7ac800d9ed93db96062d504c4b2c8b366bfc36767537fa5638b63c4463dd64fd2b259994e9678a4815a09cbfad3172eb01 +Q = cde6936234251c34860c3d5544d3438a7f87c6f7 +G = 0230584fd8b4da9ad15b220f18b2f516df271bc00ac912b4bc829fd48d1d2f1c288ee4aead93b99fea562c5022853ce0774f0ad8bec6dc56edcc3af4cbec6feaa9701dfb4c68efca8aa37325bf75ca97003e9ebc6ff7397faf6a2ecf9fe05f313f8cc21cd1f2955a7ba37b98bf14eb4679bbd6428a465982a2672afd7243944f + +Msg = 103384cdc28ebf5afdcbfb05353aa56ccc6f514ab9dc3ba1602658f09ae2bb1e16facf0f721c5654c2acadaaee318a1632007305e57091bc12fb4f81e095bc280c046c9a806b2be1a1ebcab828979dc0440e20ea71079e139bde755506d6cb0f4c4a9d5ad85e876c7b7643ae02264f0715bf07c64a9d8692b71677cdf7da52d4 +X = 52c034f376a6457b31be08405987c80ba60ce9ec +Y = c6e64402fd918eaaf640ac78660fc3908218fc8e55a0df9f762674ea16ff99a6cd5088fdfd9e5bcacdd731807976e72266b46fecf7b5f5d9e78634c1e2d0e6909482c860e6c518e65b5b695d990d79e1f85233bb7a3ecbe194b9217b3d8e40f8b7f2a5e682599648e5db1f5a8d3608d614e45e2eb37f75d13bcbe4f2a98a6ebd +R = 29fcf65d5b3cf1869ec9700472a32649d7307ad8 +S = 3d6123f05d76b0f2d0a3f158da5de6b5cca7d16e +Result = P + +Msg = 7e7fc69475325b74e620f8d176e612e5717efc5c01eec0d0eb3ecfaab403a1099fe10eddbabebea1133502c225b8d9b9c25f6e09a6e9b3ada55cd3bc51d98bca071afe9a5e3dd36f94f2a6e32b776ce81af1cf7612214d9e2868c0eac953e5d13dcf7fd4f6f63ff1fdcd1f3545011a67902cfd7913dd440ecbd77f986e362d7e +X = c8191254612d1b9bf49f10d85cc0c3c044468df8 +Y = 64bebcf89f90b0b6457eec651d3f1b067b1668d557623e10dd0b801f32915115f55b1da0818fb5b0fcfc2caf69e8a4e71c0443bb418d0945c47f64b829c87697617bef422c5e2bab827054201de936d58379ce8f6fb38c3b576eded95c5adb13fb8e983f14261acec38c90c8f89ee9ff37150ad826c555a351040948206517c1 +R = 1f6057d9152183465d0f647bad07d1f69b889aa7 +S = b073bafbcbf7f5a688cfdf4dcc335813696f081d +Result = P + +Msg = d232f0b146f69b8fe011d5a7e01d91553bdf2ceb157d9242b880d5d78a4562ab4b190ee30feebd75908c98810fdee157a6d34169447b201ad0c5aac132f424ed26941ed47ed330d28937a3085e6a4c4b2e4631b3c448d3e8059b999b6d34ef3b78f6fc1dd586ad6bcca18b1dd9ca1f0a86bbbc75189ae86199caa446ab40c56d +X = 9046df0a9a7cb56ecead107221af73befb14523a +Y = c11b261a2202d2570426664847d730e0c5521e774a091c7d8cdd65aa35bec9ea311ea297224050cdc1d97eecccc29e350e518cee176cb3eb276d1804067c2bfea72bfb8217de44e31a6c0f34b301347c737f7c197a859b90a5cb1e1df09db9a15d440310b61df9a2087baf6b8cee404d9c26c877fbd3b01ecb94279675e37723 +R = 74ff95e2801dca5edc34326fff182b44adf350a2 +S = 4f5c16386079a13708065b78e0b69565f58fb18e +Result = F (3 - R changed ) + +Msg = 1e7fc4a65d4c71ef05bd91e4b6dc2139f6b9a01060eb7f0fa0379f795bb174d8af3f5a16d69e054d90870525e427ab84988f9feeffcda083bfc92df94b4747b470424c20f7611eab20989ec04863b0c60705a1ba28f56f58ab4cfa144d7171b3076f3384ac89e777d0665e82bad2b4ec97673dca06be9d4a72c37770ff085585 +X = 97aafaec8b95005025e921cddefbda588a7be2ca +Y = 2186dafb3722ce1c67641ef96b6c8e11de84f13667a2815aa477af9e317476ac39d75ceb3ee3b8b26462657637585ed429746e19de07b5a45715881715ebb311e9818fcdb8ecb43bcb4259b4d051b0b800af9fca0a830e00ac7623429584551e43420789519b40c2d498e3981b4576a4f2bc4f0cd83ef2cfe819645656c27315 +R = 6bc885ef1ae8793077318f8ce58755f32d9df4bd +S = 489ccb28ce00e00cf8a2f431f205bfd9a5b59f9d +Result = F (1 - Message changed) + +Msg = b8929741dbca7119a026e1f95170dd8d4df300ce32d820cf6a561413176b15b2761be4e76bd69e2fdad9f4d58e56c0e2ea8a76b1598c1852ba023c8caa000ba4577523607cfcb3c23b12497388a19c26ff66c575d9b99e628b173f034141eb5af9487bf3d5b0eb5faff125d18f9c2320512d4b868a35d2857a3cfaabf7314cba +X = ad97652dc7457b1ac63a7a90d1b30bbc15763c8b +Y = 0b6e4c17c8a9301af71750a899eb4679f095e6aef464cba80e1d0951e1924012aa098eeddab4f5058b9370cd2d3cd97964bd55441b678506c0389610206979d873ea6bbab1f6ced034fe89729f512222b149a50c6a8fc2561d39a89fe18aa878a08fd895ae35716a59defc10c8219aeb5ba2ef6fd4d242d22043469f94b41fe9 +R = 2cbd7943c0bc1e8bf10a8f276db0e234a211c1b4 +S = 0c7181ac5601dd12f7737bcdb92a2dedea75c71a +Result = F (4 - S changed ) + +Msg = 638e4478930aee44a4b4e22b60ca7a29ad2b5ee3eb2910091286ccb7075b62f54af4a247860fb292c496e04b26f11f40c9cb185a7273aac17338384cde0732d448d7e4141698d21b5559f94813ef454bd8950b955dfd2aaf2db548729766a7e381048114094a3b26c884d9cf78b04098b07f0591305724033efd9f695cbbe13d +X = 076544b5eae2c472b020e99135b60edf399b1e47 +Y = 47228572f9b68f5933d1ebde0668d262fe30c05b34fb945495e6dca0d090255f4791d401ea4732aa1a867706f68e31cc007f8beb9d14bd31e71ebc36ae757de2e7a75016543f7851f737fe904e38881563d1311b459679d3615ef27168d05f2f4a53ace1abb323e3a1f7538c77a1611585bae87858b129d1ba318be0dfb294b3 +R = aecdfe1ad25643f7395f6fc180a1031817745296 +S = 4f6a3d2fe582849260b605062275a8b0beb809a4 +Result = F (2 - Y changed ) + +Msg = 36d5ace021e634a95314d49e97730bf24524f1a16de7e90f655f0b87d10531d80ba06134079307f84b0cab4280cb33795980051e67894804471b85842a5431e832a2f6006f1e8954e98082dc0a09b890c9729db7169543dc52302651be23be4bfe261534b4e38d5ebf42f7f6f5ab13bbedd3b3fe02b621067a870f4aee8ab824 +X = 97e40d4a67322f34a79199305b29227fccec55e8 +Y = d84a64bc131191f3d5e29c4503203b1f55eb59b7677086f732afa40c0178255341fd7bec7eb883cd4f40e6fe3c96e9d2dfc48603d91e05e236025ebd4ba107d03f2e96771c985129528ddd408aa2172673c5c394102a4d7270bb55fe4e624b8c934f85e02da6763ad627adf57c6795dae0c9aec0a41d2fb12016ffd85695abe2 +R = c54e01573698c5c2e88ee3d663b529be2e3d015d +S = 2e9d1b1d18f26f41b02195303f362f1a638c300c +Result = P + +Msg = 6573bbe84f4bd95f9847bfb6771d524bc089b663991f8caa62005fe762dcf55c4774194efd6d23523ad96d4db867ac0613226a42218121eb65b7a951f02aefa38abafc9b7a743075dadd87ac8ca705dce0e651321a77973a0c2fa32e270fc4d19bac108c93b8f312d51fe925d8677e477d83c133fc68917f53b8d62d40bae0e9 +X = b59b7ea985fd45b4067d5ff93b44e8df69420bbd +Y = e6ff3fc77f947c413a244a690ff772576afa0f394e3865b588fc07b4a164eacdecda60ea1c39d4ba212b0617bd4de34e7330b734528d5ff2ca085d47f1cf4cde335206fc5a126549d71575541dfda4f3040a5ddb20edf941b3d1608864ab2fcc810dcbea2415f2b5a8fd228133b868c31542b8982b2a1df69e087335b8a35380 +R = 38ab4e51b71281d12d35073e7c0d39ace12322ad +S = 237e4236ff285784f1bcc98823240aead1003eac +Result = P + +Msg = 0be5d0aa2e08f92eb5c72d6108580af917cc79b3eae93f3d3b1b41ad1eea5d0ad5d0047807d97cc3aae2df1076687aa421c9a08520560df4a56f511581d3a7ada3e293ce99aa518d240b3df55ade4b993f669e4df3c97455efff28acf99ad3cec6566f120158b0e3c31730458b830d88ed4bab7660675bd2fdc61df3e31f8958 +X = 2f196e3e95a46234e824725a82061173615e7725 +Y = 1daaa1112849e2c5c3c773efe1fc81f618b814e857b9218111612cddb0118c1429bb9a4b860e04939b4e135461ffbc96efd95277c9e341857c047458c7af9587096775541da700d36aa1e8aad1a2d4a016e8695e4b0d249a64a45caf7e7c6680c16fe3dc36d4daf41ec51400be9af3bc26c176d5f62a8a966cf9ac87085b12be +R = 53257c526e9df08094b6e46efe36ac50c82bc011 +S = 22c105095a88ef656f4d28a8398aace5d99289e1 +Result = F (2 - Y changed ) + +Msg = 52dffb4edb825c61e57730adee78fae48e1e24fda4e9d7d2340559dba829a04c18d2b7e0fb49c5c375a18fc3db92a033288f5cb183f5b0302e250dd0101d641285b9c6bc02dcbec63d99e3e0cfc60ed293fe5859c083ac456496ae342ebb4ad1bdc541255c2cb6d2f8a4340e8b2f7e54616000cb751b75951e824556796755e0 +X = 3e10000b787a3c6564a20b1e63227060d5a3ba08 +Y = 632998d0df47798ab7bdb067cd5bcf23417f440e45e41031cbd098ea344335862707da0385085773a1410cf41ed58cb110ee3bc345340e0d18426d26256375796ce7651ac7de0ed1bb1cad83f55b46559f666d862a93d7224e1917aefe85df53e36cd7d7cef1f1b0bb563ffa0a2463c2855f50064a8e0f7c9fa3497085a87693 +R = 8b0da7a6786e7e1340f8edf309be64a0718dff70 +S = 603e07b161c1c359e35ff8bc5703c4a15073360c +Result = P + +Msg = 88cf0cd7baad1ba7c8c2666308ea12b3c834c688959ef44c2d81e6a72d0299640bb7328d9be548b0714afacc9bcab3da8a8d745148c332bb593502c2597192c971c82dc99a10e566962806176f766a958fd9d8cb1be58d7992b1461b2773549beb29b79e3a700dea3492aa7e7f251f8b44b1b80d037da4fb08fe986bbd705f70 +X = 10908a633a8c883362f7880a55c3383176439258 +Y = d780605ff8c95d563d6176bbd814a5e9c930aea7bb329d47560228ca68fe58436d8afa3e79a15104525023a317feb2b436e011348f2b19db2c435b343756488e378de5e0d47f764a9a1ee6a96efeba6301946b661281a2d97e192aea76b91c481eaf087797125dbc2c6858d2671a9dcc568cf264374ece43253157ff1ae03fd1 +R = 152cb7e2dd0a386a9fcefad2a0049afe15d5ce34 +S = 6f16200c8bd5322eadb14167f42695849f3cbb7e +Result = F (3 - R changed ) + +Msg = 18006b4324ff228e826f570a5de424118e16f7c0194d3f51d68c10d9c07a3ac9ae1cdc480777923b54318128d9afec36c66644b4182c1c663f02df0fc395d1ede60736acd1139f06e3dc90c293126a800e98a1dae19b46ca5851ae2dc37f26333657e7e2355561430dff7a4d5233c40d00d96ed2d894a3f39435fc67c700aecc +X = 1c66e8e7ad1df447c25385e2088ed11bce1fbeef +Y = 0cd07ac11d0b6f6244d491945f5398a8a8c83e97aa19c714178d6ac4f943736e880813addd64b15274348fc82dacdf2473787086d132aa8f50540541ea828ee1a26be5ca8a3f5ceb4e870a147dd200ffb53fb5fa7f3085f8841c96cfdfc57422bec47aca26d12178d738fe4ebd2fe61ca3754b9101b2700f89c538dec7396d32 +R = 3c796f05e4497f77c2c442f308c612a7a629ffea +S = 3d007688342dc34e28b5f5b85092f13e46d0fb96 +Result = P + +Msg = 2429ae35f5ed34ee9f7c7f3e23ae225b79849e83b25f48b4911c09158e2702c96c747a76c7e719be30c8049d9eca1a3e8db7ddbf85f8df7ddeb3255faeb3488b02cfd56cfe659d4924f57d00de76404edfdf84bb6dc428c825ff821ab2e4a1eedf8058bf1218a61f741c0928c0bb82d2d5f36abea35bb200808b3af06372e78b +X = c5ebe335d0c5927ca09e2b698a6c32396b2201c9 +Y = eaa079eef5abf667006e3517ccbbce1c4f084699561e5721527dfc9fba634c3e7744c0eeebc6dab6ce8329301941e00d393da841a20718dedfc83f06e6f1a18c78a380b80fc98c53b11c4749ec151a41a9fed4e0861aa5c3f4b89a211689fb0c4dd232e781fda7e6b3eb3ff88accfd714f2e51d58ac27b193342da71ac39ddd2 +R = 1038a02def150552877a1fff9e2ffd954b36a18f +S = 6ff49d9918bcec639452e8bfb39ff4d046902725 +Result = F (4 - S changed ) + +Msg = e59b93d68ea3639abf02d239f2984b587ade5adda4cddedd085ad588db75ae2e150be8609d1f5228d5245c1373a8cf0f08ea679678f6a9f5ccfd5c4747cdaa18f215bd16ebfda8c0c8046b6285f79d89823d1b1583486f03a7131ef88e9584da98b97d4bd61c6923a6db7e78237b8fcae8ac850a8a5df1cf68e71a91bfcd4ada +X = 9f8c329a7ee78f292bd736a3bf23065cd1bc3baa +Y = 08024b8cc32510bb777ce883c0495c5cfb4c18a4986949fcc14988df86d2ebd78736d9a2375eb9b7e8a6bdf8f6e8607236d798feed4060240783ed70e5c0fa0ef08ee091809a936c6a5eb0f6837f5250318ea1af2fa75f1b35afc80dec130f660275213c5fe69bfccca71172537e1072b198d22008c088eab3456fb1b1292edc +R = 6d76af927a53c0278a8249e1dfe51b1a4893538f +S = bd5133394ff13f8d9662245ffe530533e2fff1cb +Result = P + +Msg = 775d0d0e4e0c224d300e7d78dfd6425c3fc7ad33aef0f901cf35d7054616a1d15157c94591c4ba11cb54df7eee94b3c4bfae9a3c654095fdebcd123ccee74ee6b1b8847576bb9c6b01d18f6dfcf3ba1603424d7705502c494b39bad7a9f4211e4463292f84c0bf56ff6ad6ddc660a81efa0949e67023808595bd26448c673b55 +X = 09405a4caa8dd6b8ed26fbf9cbf94f0c9e9f10c8 +Y = a4b325f98f036cdeda1ee2f40dd7e1ba9f8d16848fab004ff0f0e3ca2d7c4302271e66fb62395691ffdf855d3ff353c0ed60ab29b6df82d097e4e1eb7ee1baaf5671bcc0eb28ed4562b25d98821967b35bc0f8e32c62eb0a721aa660739811d5fb8b419116fad05d3f8b2b8e29e958d9d73c1c5c3b5bef0afbad2970328d422e +R = 3273f9994cb8826636e5eea2829cd6eadc05ef73 +S = 713c9e9bd301d9eadc2c5f4403ee4e815ba58399 +Result = F (1 - Message changed) + +[mod = L=2048, N=224, SHA-1] + +P = f8ac3e5dc6a567c7cfbefc8ad26b667526cd88e2872409821b5ef73f868b7f17083bd53f7a3cf40a96f07a8485c43bc3cd5fd899ebd0e05c7362d648c56a80d9845925ae3285a628236e89f4e0ff52d942e5473d61750e4eb87ef42a3f0aade04c2805f87c46cbf955dfd8ebb79b79d5fa3b2198c2ba4eb00b970763781cba8588d0384b4ad4dda2809249666d5192386719a657b9d0b72b790013f7b759fc4c80755edcda25023979a07a60a46e3a105f54b1aa6c995c9f9cfc3694de9066710114f3518791953c8571b645a2f7a9b2ef8cf295c1ddba658e02e9ffa2375228ea0244e435b31e2bd7f5d2108a6559ae85f37c25354b46e499a265e5010b6f4b +Q = 8000000000000000b1bb3f51b579ae45c766d6416ca846c81274c5f3 +G = eb921aa957424b2d923c61ec93961ab3581b714a3de40f99037f5f1a5254a6b5de72cdc70080bb5dd623a71f750b6829b34aab14e316133eeff1478a9d50f3439a3c14d053d31f451249ff1596ce636e5f6ed2ac94b03d2010453ffd5cedaae870bc4778158908642b278d8dd34ba81a881d41b35c1d2d85cf4da75e1fe46c664319cbb72da30b191dc5652c068a7f74ffda312cb71046edb3a049b6b5563c29127952db8e846ee29f534379c477dcbebf4ae276215f6fc887911e126f041ae8976877775406d09a6e2706cc6b83b42fd3176346a9a981f4f37394e9a9a26453633883325ad103f8726af022c5f0fef8741c3c11946cf3df423c95f6f0a11dca + +Msg = c86516df94137e0fdc328b9a1d719314c37f7e0a7a78c1583cd9a4ca3e46f07a8a33ab1b90e76034d03e1246dd324566f0e19fe6e4083e9ce3ecf4139ac8cdbbec5bf59c4a10320c78684db70fe33023f5570f1bb7df31ceed01e8a0a326ef6798f5669fbb53fe3d619199519d7aaee2552c27284a75d09b5edddc2c3563683f +X = 5bd7a2b50dbcd9017c07fb14b796f04c5d7cf0dd357958abc49d8e8e +Y = c119506d60a89c57d6d0c3ac0fd7d18d4b471dd0c86564bbf78cedcd1db180ba3e059d8266e177506c186d5ce2fd8a368fdaf11b01cf31b1615efe9fffe8cdbd9d35036e47a9a6c9820ff57a82e1b91b6ed44e6060789bca2f9d9aa742fb43dd47421f76bcfa64c9cf6f2e96d44c116e41ccf9887caf7c9635b556a9924a3575088be2ab05787a9dba0fab20062e0027bfb4f5e5333eb2f405d51412d6890b0ffbe9a898f9b324ff61df95ea21dcd881e1a22b31bb947d583587a59c540893c06dfb151f88fc18f6602400d8519faf077db62d17dd80dfb69a4e7b6ffb0fd4f1f44712e3b64d6fae2a3004d101473c33c64d1964436c0a0a0b322a3a44ffcff0 +R = 60fec83763362f2ecb0406b324e1b9a206f360c95a90f76e73159d3a +S = 2f196c3e281ec91b714b3c52085667c54864e743d917ec788dfb5a9e +Result = F (2 - Y changed ) + +Msg = 87efc3ef8889abd83952d8839c0d2a341c06650dfb8b004d86bdba8017af10969eb275a35d6a173e10e3615f838eace90eca75ac817e1c1f242be1820d0de8a3c6323fc654fcc7708c75517ef4ff6ccb588729b33f88ccb29de7851d2a1b1e945ffa13016ed2d9c38d48fca16c2147b44852416f6e0089ccbb4dbc9fd2382b46 +X = 4b4e0420e966599b2215b02d66b6a62a73be0c44fa5ebb7d3e02c80d +Y = ccdd85a06027cddfedea2b7a8532d4cb5eba83ebd552bce687ce7c399a529cacae84d51bfcdba09efb9d75f7ebc059e8ff61c843ee60c177e5bf4f858caa64020ac746c047a9da13caadb6b4101cbce1bedddfda0c346f042696f1fccff614123048203b442c3cf3e8fe9b44d97cd319d594a3acc31f426ac044c45ea20d83cb3559aec99e41c63672e3f3fabdd0355c4300626477c8a649c96ee476570acb6b615ddb904e54a08b42e51c6898cb1144f58acc366201d6acaf339f664b9838742af16024870454800c2e5d06356e2c1de18f5018cdb63103293f02642b3d488614d2f88d4ee44930be119687eb0280583ee93e49a95b9a8420c2a57347f1063c +R = 35448dd1926b759787fd7bf1122f6036f16b0484ce1ad3566176df8e +S = 7c0f759189cb7ed4db385a5cd3c2bab5e6291a6acd41372dc7fe19bb +Result = F (1 - Message changed) + +Msg = 1055a0c439835bd74c81c396f7952343f4836e171c9e6cb0fe1f38a741ce368ef8a402cf4f5ce6198c484f92ea2fc075c74e7ce04dcc806872e0c1881f50ebe0fafd2ce498e35559e3e907a9610a805479a3e539e85a1104e6573e8098567a2ed32a7c92851f72cab84b26e24d25d0d720ba6a6a80f73f7b5538935c536da803 +X = 28e35bfb149cf8fa0f7e0df72085f6acb1b7ec6f3706c05c32e56029 +Y = b344c473e38607d27ca80443e07322319613a6bdb833fab7f36020d23fbd0f0fb16623102c0bb67756f0d8a3ade0fc0c15d1bd6e70fdf07bfe664dd9b0a2501d821cd6dd820b67032ab05879961016d61ba23dd84a64e958726c60adc84d77e0395561f4cba856864053e724dfef5102e987616e7818026eb5ecb5d5fa9fb560640d40785671b680664b449a69c3eb850be3a3fc4118861b4df9e5fb230f7b2efd031f0616352f5c342b476a68d4a6b5e9d6791ee056a1a6dfec8410838dc1754658a73d41869a252f554fb8f9e90c382de142365bccb2ef69a37c550e1cdbdc502e071c37a507644ba19b79a233a0c9e30c24f05a14108a7c8652bf8cf1f09f +R = 1452fb7ea36eb967361588971c3756dac5a3dfd28459a6bf3bc7e7fd +S = 1c3e0eafc4013565940615657631c273af78b3200531764c0ed9705a +Result = F (2 - Y changed ) + +Msg = 3d5d66b22d2b5404c6fbbbd4a05bd5e916069aacccf43f8cc5471f6c8a5c68c2a8d81b547da07d994fecd7b2c0a668512500b6d58cd47854132272e915332da1f770dcc6e02d603633b2784018d540d8e934876f2ef90c208b4395148e6841cc24060555f012ac181e5a40cf4b58fc8726c09b0ae80dc5411a7af3f94b6defaf +X = 43038ec15ba7e6b6858f33a7ccedef4927b49057ff74bce82017a50c +Y = f82c7c497e88e949086edc9ca911fedd791a6851ced2376a5cec49f5cda89f7704b76e906877052fae3e688c5a4cb83cd65dfe2558a1b194d4a69f221647c2725b467f7555fabb696cbeffde40f363f434427b7408f4d3f1aae106c3177fd3f6bd17c0d2a6633be66d071d10c6e7c0db1f88927c014b1f2a7ab91008a451d871c3ed4f6be8a0a66981eb97a054d6c3522141a1a3804730051457aaf0f7ab2c2a7fc4c1f1c404a45aabf7668f0cef9ade6cb430ec613f65ec96ad22d2f7f469c7edbd78f39704f7fbb768b9ad22976e40699fdccb3c7f3ef8c693ed0bd8847d63099e07fd74c9b91a1422336e9f69bfbada8a208a67ac1313e17be57f289d03ae +R = 34d6799a61b53fa86ad96bf66a51335aff94cfd2432140914420847d +S = 4b0b3011d617d0d9d487f546cd9dde7bbebd37a73fee38341422cbb2 +Result = F (3 - R changed ) + +Msg = 1228aeca2f911ca190a3626570a73bdb04acc81f4037a1fa16195852bf7cac47198e2c264f18cc1cb1abd1e8afeb2a49a78a0d5794c311253017a18ad5db3154153d3986bbff3a92b4f3c539bb180bf780b259d15a1d26d35e638b6e329b922eaf585f30f9a3f1ff744b06b00b17a59c58a1fef4f15722a7924cceb1c5a08ca7 +X = 760e1f766a76caaddeea60641e720a1f95657b13d0cebee59ff0df35 +Y = a351f205af15c54435d27c0ef21e844bf948d515103a27132c0ec8daf2b6482acd1c34c4c9486bb8d86ffef724fd788a4e39006e609c91514a4b34f3e675d14efb1b5e35c05cba2d0f560d95fbb8962481b4db5a5ef7fba198bf148aa71331ce5ef7ff3ce775b4f822b53b778314bc45a636012ed99c22de352fe38a3ddc9b4d9c330b2413af8270aa47b85a308b4ef10ede78e5f6a267b89fe9be7e4ce6cee23992b5c1f7ab574cb4902ecaf52c425ca2e81061335a4a95475a91ee9e16296dbbb343d21aac41ed36d2f275c50b686cf8d58e8b262a73c3bd0da3c76f51b549ff289f6314ff7fbf970ce3ffca012d1d1b915a9c9102b469de27f26796a3b874 +R = 3438ff8f69ff167c21231cf724c9f1f0684da63417893119d3c100a3 +S = 5445f5890db721152c55d626ae210a01f761457040d583cf2b944a15 +Result = F (4 - S changed ) + +Msg = 9c0e0bac552a6de10473c5607d63eb7677f7e6895b1e0f5ea7c81ab3870199784ef03b5de6324b15292a9557c7d2d1dc2eda4c2f5bbf52896800a98bf630fc57f63c97077673ffc99517dd002fcfe8326591ded36bfca9fdb0fb9b9d3fa21861af037a0c927b6134de0bb6a48a52874435f75fc09a9ed27cf3356f330d15d898 +X = 5418883cfa4a64b2405ea86aa67872623dc785223ae78f25cf704d78 +Y = ab29d1054f644310491e86a99494a3b10aeff15d4dfd558bdd3177eafe44815c5cf2cf1af88afb2c74c0b64028eddbfc6d08c61c50d8bf38fbf7266f5bbcaf9f9ead9f8fb8042c64ddda56454b2b0ca8df113fe3b3c4940881d1f4b3c00ec8b4a8e86dcf811d5424a0f2e650d7c58b92e83e9f52f227fc07a589bf7fadabc730afd48444b189d5746be74a1b0c7973cb685b09c3ff6c3adbb479ac9774d78e6788d8efdf2b154dc800357df8822dfa4a8c5204b5d5cba56a66e28062597ce36f6dc6982f33c1ae321e0fdfacf2ad69ea7ba76cf55d816d1b660e7f86902480c6af43b38dce114b6242fbd93df7deea9069802a7954fa9657141e7500a707414a +R = 5172a165595dd227dae93b76c06c89e48b83078e5bb49e36e1af2f26 +S = 158eb2b8fb5ae61181a27dbec9fb7e05aa4a769843bc952ed0df2a3b +Result = P + +Msg = a1aba490d59c2589c3b9d606f6769d173816b1d16061216e8b07136685fd4d6481c582cee9e96af29a79d67b7afbd9e03bbffac861653c00dd11f1b57b6c09ccb7595fae4a363e58f8810b49a3a02d191e6da6129d38556545110206fb10e1799f46afb3a61b539fca4d7896d3c807d02c45a293867a13cc06cfdfae0c56b2b2 +X = 543469d2809dd003a3d8b3a6694103726b7991f5b71184cd824a86d6 +Y = 55f960aaa9f93a3d41d7aa625679f65f9eb056d2cc7c66da4233530d78045ac24bae88457a1d7abf50a0975d743a25a8c9c0214c67d6a6f9421b5aa83a0bc9ec23640f6f971a616a7c98ad6c7625ac1e1a0029c85270597e8290599fb451b264567a7a7b0b99f0bcd58350d09fb4529ac94cd676bedf5aef1961cfa6f1a621390513d4e04acbca144ece7aed672fd67732fbde512568d8eb2ec16bd1ccb8f4d6eecec7fdf1fb532b8fb6b9cca589a765a1676e82735ecd8a1c928b224a026c66290622fe2f5d180b62c1351657fce93713ac8c33d82a7f795efd5f5ec0bba9824d18ef5be4e258e29a2df79e912ef95d1c5070e12432179b26b5a7562a67f25f +R = 59dafd69cf59668eb0b223b63094b5683bc5c17630b7e14e024ba508 +S = 6a03060c9a9ec6d2d0ad507abeaa9a0b81d0a85edabb98c1341bb8d0 +Result = F (4 - S changed ) + +Msg = c097ca9a4db9872abf7e3b41df9a27517afa0ebcba8ff8210f5b2a51dafe608480b1dc520462433f03f49573fc2c12066f281a966e7882ef21e54b82023369b455224ebeafdb0ac371055ed661533f8dd6e63a2a1ff88212b25092c90bc53d15ab598c1ad356916dcb010989d4a0ce07ef2268625c3c5b57822ad511640685b6 +X = 6ea3e0267a8d0a7da18606a616bae18733a722c276bd6b9fc895130e +Y = 64e0e42f672e3a9db97a54f7bf9b31351974a9146118c039cc8022d2aea43493f31a564e1777819af39438e12ef91901a19d989be74dbea20b7aba907e3732b8f024f82a79dd574082b8ea7dde6daddfa921d77f531c9eb542256050cdd31b861904206d69588ff727001f5782f0ade61af7ee5c86b16c4491f7aba3c412489537997294f0fd77021a5860dbad65f762d94502f4d0b0ddba307f99a884d68cad3e72253a7601086929906d7af9ecd14b10e3228d32640883fc1e7943adefe4542061f7f9fae314ba060cfc27a60ba72fd2abf921cae750dd3dfc32367cd2e73a065df5c583b150c508902a06f373951d9e12945d8cef72f678177f20ea21138d +R = 3f63ebded4626f8d43327b5e59040e9c44d2e759d95d025a80ccc4c1 +S = 61b6e9af0e905376de7a9bb92e8bca841e89f928379964087390fd7d +Result = P + +Msg = d87f03cdcd33a2ca92ecc55654747a3740d27e983b58511ee011f64c0dc6fcf4382c63f4c1e553958e40f2bb6fa79af9946d20d665e01f6910d1e4437f1a4b847b67345f93564150c6d41d7ba2b8999995ca8fc058316fb6fa15406d997e15c41a8dd4453fdfbaa98ceb34dfa23f55de05a26f0a3ecc82356b498d1859fd52b4 +X = 70a678dc3f98874b635412efae0066aa6c689b68a6e39c918c676beb +Y = 517a6c11f72620d7256b32b9ee115094f6e620cc9e21831235a008fc0f589e0e7c3943bb3ee25026a4f208996e0d7e53c0cc811b4ba8a573bb07c6cf67acc924db48f27fb8ebaaa2d41cb37e2e0ff1915d1bf23d5d77a3191eefaac3938f7a9054280badca09f366129bdb9c726fa83518ee99f49707821172967f37acf37c9cabcdeaae627419b75122283498a12ab05964d257d921956ddf05dc606c7334e219841b59034e0bb2948dd46b17a3982ccaa1edab2de0bc30a204b42983c49ab2aa040a2245df42850d8bfe98b0a2a1132bd957e6f68b42d21e02cc8399b7472f5f02339cb285d9eeeaf2ebec4950b79101aa489fc0ed1505f6cd76628ce5ac2f +R = 76c543b4bb978b682d1f4bd011d0678044ae50fd1bc0bf580d8a2ba6 +S = 2e65bf4a3fd4ae0068a3a2d9bfb6f5d1601adfb0c19c002b7e49fe91 +Result = F (3 - R changed ) + +Msg = ba6e80b16dc09515166645b066a39d15f7af7e3badbd4d806535dffec012d8c4c9b17a17988bc56d11dcfaaedac6c0ec2b8288350047d3d3351b14ae381069e7ea2ef50602a4e662d642e3286e95c120ad6006516766aa29f5a3131f896c9e1aedc2bac426b39bfaf0473b7ef79ff244ac1458a5d53d6064f2bd1f979e3348f0 +X = 7fd16cd3a449ac5af930df4762adbaa64ed28aa2680b046693edfa8b +Y = 3e35777a932cbe3e2cf218aeb5c2dcd0aecd0acf27b5667307c771ed24209fd0d14a49536b02040c7301135a711967c2df8ceaa10f6c18bd9fbaca037b13e6822e8b5f5cdc312995ca30af0a882732b972f6e1586d6104223a554f24deaa73adc75d85a53d85762e8ce025349c62ff919e61e0667641f1ad270c792d4d132e113a1e64b7dcb28f377688d3aa36281af6705beaf3be7263bf5533137d7dc608cd8f91dce195d3a548f09fea3990bace0bb47dafc04bcb7711e8f56b3d82a5dbe85fcfc489e9efcfe48800300579361908d3196a8c5f63d26a64d78f90b5416a546fe0554f065dc07e8082380b6572a4a92b84c3878086e3c0bf1af37517abb80a +R = 679f52cf912dd1cee9883232757948587717deab10292c3956055e5e +S = 026deb8777c1c02e6772c982a60d2fb9e524b85dc2c47dcd390ef38e +Result = P + +Msg = 7c55a3180d2655c6a8952b2be0e6398c2969d77beb9a2ba7e7fc1701df0ae7672a69f0b38510a464ac6e66685c5988688b734133f9e250069b29dfaabf5af76fafb4cbc9b0d1abb23a38fc2240a135cce7171bc88a9c80fcdbef91f328c21978cb8d1d87cc32d525de118f7e63f8b88a5b908242b5a18aed589640bfcdb8a37e +X = 6a1f39fcf5f3e5deabade4329ec7771d6b7c30173a80c87e45b58e9c +Y = 17fcef59851fc56a1b72a33f11125d49a667a4cd3017960edae9e4591c09500e5be2ad7be945a64223267c5ccaa2632fdd81d25c99a4dc6f5f11994edbe1f535ea5682cbedcbb6e513ad5c6f4124526107697d5d88c94baf82c75d8cea0ca351291ea136e96991f30a5e5c39e29c14ae2bbd9d31ec7e04743cd13a83c66b592f0eefe066932ea141041ed3a9b40e71a0aa0fade4e18be272ec96f1d9030215468f62c47b7abce1f61a2bc7b8804f412a5e1b5bda68cba03af777299a09bb11050f923d44c827454f5d0c27843df48d9d2ded75a8c07504f954a07f69c721118959d368063f848b5927fcd3f210f910bc355bd7b4dfef00a2ea40b19543372c04 +R = 4c897d496b7e1fd76e2e22244dc1c291264b84acf3f3cbb28aa1ee4d +S = 1f122122e35907ae7a5e83e258ecfdc0b63e6bfc22644d077afe2f4b +Result = P + +Msg = 1fe1daecc4be7f8c3effcbcdca5af7dadddc4c114205d35efb2c81fc72b2f096743fd4873407f122f5124c59978180ca2ba40d0bd90ee1147e59de006852ecb47cca530c78b6aeed870faffb967458f748bf4237b49ff71b8410b94100f00f04996f1fe42f25ab46ac2968cf3b11b6f75e8a96a048609076bcd550423884e974 +X = 1e349afb1b6e6f2726066aee58a511a213924f078a11a101638c4cf9 +Y = be308bc546761a06822bd7f3ccf03b6d000bbfa3d7b37215ac12979795d0c5417295381ab4880f53dad8d06f45d198616ebdc94250b3ddf1f81a7889690c00fec6b96f9c805f2f0d9221618d07aca0671ee4fd4666d53702392a6e2e42f499b1c28eba965ac0f03d8249055e12557fb3c52fd969eebb97e615f87fcbd24215fc44df3a0fb73fdb62eb96150722b9217b8f28d2a48398f661062243e0ae1db3df43a510338f5b0b35f3318ff7f64ced168e536f6e03bd20fd070e1cfe8ac74ed9cc2e7b04e54eeb661edd58132b60f2fa00ecaadec3e408ac1f40e5b520fc32ca3abadc1eddb96e6b497b9438a1e6796184d3020325e36ae768fe36d8e4c5db21 +R = 215364607d5c41d005e24fd918e8d43cd6d3ba0d4eba7897d3db3338 +S = 204d7c3ef8ade9c305e6b1c17964292f2b96fd89b9661f5451f07f7b +Result = P + +Msg = de63a249b021bd93eec743ec02743e67ccf6e61de71ee0555fae682aaf837ff92ffcee5555164e0d577e5dd26197327662db32f376cb10f9ae9ea708410b88b6a29e76cea42dd6b4448dd5b03cee6f4ae1210d398674dd8414d1fc0c7006caf93c371b86f4153d76eb4bf14ad254e024eaf4ef61c73d7e7a310108f8a880db49 +X = 6158c6126597b074b9f0726de239cddf8809ee06386907ca1be7e5ac +Y = 96cf73da506ffadf43bd28cfddf8d9ad0f63f41bcd10c1b1ad79aa29eb86370761dde0ffb20149f9b7607272885284aeac0baa7bccadedae977eacd9bb3ba7c45ef49f812c11bc2a0a6ac5d20950e7514ef7d99a683a0b4285df77f8bd6bb045122a1fd9e83fb4a9de8cd2aa9a9f200d65b13883048685997c13b9e9192b2d4d020fe5ca88b43555bd7ba49b481a5a6052dbc0d4141f4efc1e4875d71fd79fb6f73dedfcd71a2480a56c2e1512a8f686595dd0e08b010b983c3a1d94860cc4017df3ace1226dfea082cabea33cfade9196dce3d99494d285a896921ff337d69a68d424df0860579d240de34ed6a36f5ff9ce2397b62043e7528019fd750b8146 +R = 2980d5ee137ffea5ec44263d48e1c866074d4b49ec7fa3d2664b57d2 +S = 0e77e66095afff2b7866b99ad1207fc67dc0eca53fbc6a880d80e4a2 +Result = F (1 - Message changed) + +Msg = a14366d44d102cc983aea63f52355cd95c57a6f01623bfc5da72271e036b80fb5104573a3bd9bbe57efd67e4623b10743741f57806df2622b8fd9f23118b704e3fb9e41bbf2113f8d9e84ad356d78022ca621f05727c38d40d46ccd7030f0911c6020c2d0cf0a86103ab7c6d81cff0844f58c2b881368268b6daaaa8c418db8f +X = 50b3c0a738443b8e7423c0f74dcde0ba8f1f598db88d7816d9b0b863 +Y = f58ef73ad72f0a3473fa6263da4f090021836e8e64efc4599dbef97cec52b9acacb7af5ef2fb7837da4e25bafaaf7d5cb39369530f4e2c2c6c9793209e42530854ad1c5dba1c8dece40882e47d2f23c0e15ef5ca0a426a0b83368c76371ccaf31bc059b5e05b5875cb41fad8576d9ab8173d2e96285d9fd25e955c298729a4a5d1c713a02f14f050b7f44c5d702b3babd4662a40e492d26494dfe4cef49b7506eba560512c6c4bdc49ea6c510f3e4e116f5a72d3c2e268c7157f94bd78cc9a69aa145010ad636387835b6a238cc4787f8508eb87bba4469eb3580a68cf03c8d53657d0af2690d956a41811171526522598f99d45cd871d1fdff8087cc4505e7f +R = 6a102befb71d45ce14d263afb392943d86949727f11712aa0c0a6707 +S = 15eed04c72407642fe357ebf24ae57ec3622fb5bac7ba582d1e3b3bd +Result = P + +Msg = b476de87a610da7392b07efacf6e48c396695393ee42bf73d262bf88cebc50c249544d8f7f747741ed298527bf015294811c0206af191390f3089cd03cbf5e94d1de2fc2bd45d750c4a00ee66bba5d6225e4d10a3606b38fcdf9921179dc1a307e64fd650c262ffdc4a5060bff9a9e0864693eeadbf2202813663846c5aa4f5d +X = 5bff66bb32141fda7b8bf45fe0c387bd41089e0b36f347367310a41a +Y = b6b1fbcc393020a8dfb4337516eaff7bddd8ed51c606bc115a3dafb3e012f24aee5f94e6a36338bebb0af3934de8796de8c1815cdf253cf9fa0b06e2a529e25ab5feab8be6e35e93d3e4a38d97989f920f1d3163172b2589562eb1b0f2e80ba745dfa5912f08febe8631634a965e06880fe4dc2a99ee2c717df636097d64e803e5125a9face5ff0ae4297d6e709f6b4a43bdbe107e968bbf665485b53727945866dfe721324fafc2df7227225ae5602ad641b49c2724b5357d75035956ee3c6193b56c15357f6ba986506fd69f2f9df3a85620dc48521314ef2170285699eae8340339297fa5b919949058ec6c95211d6a63111813620d5d67059d5a2052967f +R = 1e0a994c184ee9378e2263ce33934f845151cbdf9e8cb1a51012b120 +S = 331dbf35c57405916ad27fe1a49e9f879dd6f270ded1fcc7ef8d11fc +Result = P + +[mod = L=2048, N=224, SHA-224] + +P = a7ceed761c2c9b32e70deb5428b085f082b047db1f0dcb4bdcfbae60d7c7e8dc0f32affe480701a9af435e5811e6600573d1ea7af1c804eb7dbd969aa40bc5534ca21c586e5f17d0632c4129ac9ff3559d48bb121ce5120289b8df06b688b7500b87679da238ee1b39ae48fdba361e79cf3752555d9227fe1e731e0e9294e8d7b8b5d7d10da2bb691aff91d518af9d72887755bd7c393d2058bdbea85cf11e4673faafbd84c8f8b0a7d5bfd5d5c0ffdb035ebd11e9795902edba42f6677fcfc0dde1bbdcd08d8697ece7f3e0d8541fcc904ef6cc9e45d8317d38bec3e73fcbb0c6b09b3b8bee40558bf6c785aa3977583b3f33581cd6122c64a5a6e5e6ec68a7 +Q = fc7accd5f6923eb7c17f50d1b59ec3ed18344dd2529a09921f550493 +G = 24046bcd1939c7f2f19c14459d755ff08f0a6f11b89924e87c8a48bf4fdaaad660619b3a608098e880af4b0859c2a074e2265df04f1aa0b1784abe53886c5a3f439b33d49913d629cdc6db533f49d5eff9dd5037a9960808c9763c4a9cfbd14560d199b1693c2afc172deea95cb5e53b02a8930df7e6f557ca64b655f8e5fff771562cdd07e6c4de4101bf1bc3b38372a7e14cf81622d36aa164b330da127c6bb1cbfdc79d131048f25bbbc104048fc5f50bbeb4231f91a1fe004f49595247d8879ed8e36f7fdf5ea33343e79bceb9ad6d933aa44fc4160ce841e6ea5a1e123602ba8780785e2e33bbd93fc4c523243d3b4e1ac37d364faf212e33541544823e + +Msg = 9123b915f8e5029eb88627e74330f4670c706120b5be29bf147559e637e40536625b1b4830f0770f65e7a39a59b887394c9eacf5040bca88e18f2e2a4d56b5151efc549d47b659695a6a996a52c458cffdc852969cf47f1083b73804482ce690e9e19199b49bdaafa08f6f3c1c68ce6e118d257004098f4d9bbd40b86f6ba524 +X = ec22bd9438b8b68c4a5cf4efd28a16756fcedcf67153f3771737cc20 +Y = 19342ccb5e79d879b633374e5f64d823db769c351640ce9854557c597e7ef5e0fddd0fcc75df3c87a17ae7aa3c3081cc92441f036c1672b7b4032c87ac234cb78269d06316888b8bffe500cc95271790f42aafb7825b06dc947d0d50d51dc105833268ddb18d0015886f08a5d8679ce46bd91dec18c2329fd10c20d6ff00aa955aeb87acddf03a801ea73c1d60a88bea2b2944ef6d852a8a43d41e32b72a4f735799d74e069cbe87bfccfadfc29f35fd2ebc8f219afe3780b9d5a2e4c9422b33bab59782ed28354363ad9ecd152a6c3e8bea83a099e4eb87f67bae458d3dd51201cdbfb44e71a9ae61698cd61a501d73a387c657b0a451c5514dabc93c543604 +R = a78a77cc2f0f86cda34d5169a398c854aab9ad4e86b3639ac040883c +S = ba9e2c55c615e0cc2e081e53d38c9a91c8d541eeebbe528eaff79d84 +Result = P + +Msg = 071e49ee4047c25639023aaaaf8d604add92d6d1812dba1a5ac37310729335e9967bca32f99fed61fc4444cd4be18ed4174cd0061203d7ab8e20499a07a9dec47386aab0a62d64abb3f9c58a7f1361e9a77f21d178c9a4000cf44791eeb710d09f3916f85ed22b6d50001fd1f57e2e106dd549f31337bb16381de6df1fc9b110 +X = eececf6aa0908068f35f73b7541d5a335b26cb9614804f73f1ca24d7 +Y = 4b5b72de770baded0bbfe972d265b7bb001387c5f2dc4698b9b8de3cf9021ee437838c8b806624db7910c2a0624e773073308af5aeffdadd0a77163ec0cf983508a4d82e784936f2d726a10cdb3e2abbd090c7d739756d13c32f91b161c1fb785521393ceca1e0de6be082bf9f9414d3bb971295f8b41ab76b986d7363f2d7d44e31115f9583dd587a10ec3cd3e2cfb2b9f1e6e20ee41cb0dbde9217574e076f0f965063c7b8365000c09eea415c91b97a54118415e130b609197dc275d58a5f45c385de50b01ba157c15373f905647727e4f5967721dadb18abe4f06c50fa350ffa5bf36ebfb8c6caa68cc773572db4717d0f5d950b7dcd729a6bf8e104ce73 +R = e4a3af0cf8fca200ff9e776f915075e008d2bfe2269ccc47b8da6a93 +S = 81aa3c32d8e43f2bd96b366ead1a13b3b51dc25f13c65f7d74f41783 +Result = F (4 - S changed ) + +Msg = 75298d2f484f6305d96856e9a4e625cb404e80d9dac67ec143c39956855a685b1457e4a6da0d8e9cd1503c83aab782adf8bfdb7a726ab0d563a2bea24024f960ebe28c7b59ecbfeaea81865a2907f1d331a8444b3d52fae36b66ce51314a9af3c12834a2f841c12d9fc7e3e21b92e29a44f7b8bf67b0ca39847fe520902c3b78 +X = 45e96ab41dc021f62288ed15a05d77019f7c26671dde6660c2c8c66c +Y = 39db9025623222665453b1c685cb066020e0ee10a51c3c4942017342a05949d3e23f0a3954483b588e640add20937aab9f64e9275ffdd8d336ceb5eb0f8d247b055f374a1e6b6401c74d91f15d730cdc62eeef757b83072c1643df9b51c46fc8639c238a357c719e669c7bca802be4438dcf059f35f74164b4d1d5b103cc6358e4ba9a9103e0a1488da9387f1d054f4ea4010f3cda5faec3240f7ac195f2b68d089ab4c32c65d98e0d71233f14793311f704d566f7e2d3e7bcc2dc188052dcf5372d46cb11198e6c42e87c5dae5f608d6e04dc90dd976df6433e6da80563bdad0b3844b50c57d14882d3c698d6927f796c54e2adf35e11d873ff27bbba42cda2 +R = e16326d1df98ae20fd1e03e06206ce6845a74a66b1651ba1a9b8706a +S = a65b6410d4eb8aad2e949dddc20db8f203649e668e21acabb59fc5cd +Result = F (1 - Message changed) + +Msg = 96428f63a900ac0652b780a2af00626d6d4597918dba37a78d1433cbd0e2ab9f81eb6aea0a2992f948398d98145fc07d4b5c9677735e4262e15bd24dd2cbb17ab1e38fd1714e21b957538e7de113eb99630f7d2e7525bebb183882b9dff0af395821fb192019ba1e8e268e7df834567b280e3495c4f5640db27b3d5893e62163 +X = 77d958bcf67d5c1da67f7b10dd9249c21fa0100d743b49536c8d1c59 +Y = 1c5eebe5da8a72963ad8238db6196171576c3d08d251f8d622abad1be7da84b604d8dcc81c1ff2dda1e6ddfceddfbc0875e25373b6d5b505ef916ac9df6645582852d4a73d314763e7cb4e957b05474b40836ee960dc68c6fe20dec56dfa6841e061aa8f6a564670eee5ec5fae8549d96c9bc2b746d5b959c338594fc2206c9b937a65b5f7b157bec721df75bac14bda7b8a33efb71a58c67c9a7f38a361f4c0a5eaf00c3af61a83c01e721265a96786c1af8471db5e6c3cbee410da46c59b99aa8e3dbf096e780218d49a3f754f29af6b27d4a61df817b4aaf42c2c6d101a5a946f2cbb48e7b9905cff25372cfbd081e517193d9528b88692bce5b3a18b9276 +R = 9b752c7ba4a9b72075def4010ddc9aca7bb494604f874168dc11e122 +S = 63caccd91f6e175cbc41523dfdd25d790183e7c9aab3f205bcb16399 +Result = F (2 - Y changed ) + +Msg = e88531f11899dccffab6bade2a07df190d390d44252979ca59b189fd900e4d7b30b6a9fea716d05cd19d9b4607d86c0afc2d0f9b9124739d36f6857f27ebd380eefb1aef8c0bda39db45b13b8ffb628fed29726d7670e4af012acc0ae7fb40b8a6b57804109a738acd440b973bbb0c266f51e2f8d51f6a07488d84d26548e256 +X = b99638899df5745d2375065fb9535889965adfee7eaffa26663b4985 +Y = 2d13b5412977b402aee0b27b35046dcd32a4ae752bd8e22882ac02f938e83446f33042a14ad536d99ee03e46a21c8c0901eea9c6203c3cf34a36fe0fec8a111c69de960bec94b068799c161cdb0777c9869ec42f8162c086c8904986fe65ede13c62026d93a0146b2cc6c25afebb5fd6cf1357ee2ec1d8f2b2d649fc1c57cecdd046922a47d7eeeb9d23496daa0e4b5556f891ed0b4266760c0ce14b0ad114822148e5665856b5657b110d2f1bcfc7bd616625ded2a876299284479a237b3abe64e5fedd106a5d4d506a5c7715b3630fc1c691559321a4e595a333adee67f914fb3533d7ba104d11c3b40f39a9577da76c08980edc7084d3b0b0d69136ddbbcc +R = f394ab8957b11805025d65731f9c4ff996e6d982510535b1413811ad +S = eba605987f92e7b79cc223b2aa478ca1074227fdbdf1b2a60bf87d31 +Result = P + +Msg = 349f79aad7632faa200ddcfac7cc27587f47c590d57b0bcb098d1f40df993546d3c1c743e81a66bdc141df409528f2b64937a80a129ae4f39274cd02b4324feb5c73cfd681f2e4cc8540b760ad7167feb6dcbebe34c669badf7bb0244c779ac3cde285833e99303eaa5ec3a07f72c633300c283fedd46bd58a79ca1961eb8f33 +X = 8681d232cc2ea25d85a6ac8246cc93ee9f2b932e6b47010b6cfdd6f4 +Y = 89cea35bfbbb6d0bd8a6fdf583def542c97cedd8ac6d18a8b5de0a5b6a267c4ed24b4f384a2dd992254d4c9dcae983d849998c20a80137e28cdc0680f17d00d69c7be01c4db7d2b908f8237bb437e6b34b55c6a295f22a974b85d238a5fc2c3609d858f89e272e87938f6a3592d3f95eb46d4c33ff3f3e0ea1a2e77c8f880c47d25e4537cee508eb1afce4f65acf5646c56cc78dde4a80acf8dc03e648eac79f96f66adece75a4345b371acf63fae19bba034f832749170985c0f321c5060539e69744e1e066243d8d5a002fba0e24e7633fb7d944ccd827126f55f8f120afd6d8872384f2254264d4d3c855f3f59f57e884bf9f727268bf096c90f8fa26a675 +R = 0ba551788e7948d59506a95f3d48c56d8a87d1addcb9f901a9c64343 +S = 8b1a981bb79b956c24b006d5d8dbcfac10e03e82b5209401819e0fe4 +Result = P + +Msg = 8d44c202aabd081cbae30f8b04ddec46bd50270d3dbbb42db4c7b51e29d0617892d27b747f01cf1badf7a0edcede6b166a66eec5ab3fdf12702529f0f68f30ea5983d474ff6a0a0aa5e2415fa1a93a3074cf5b4c414611b37cd1181a01938ff3c371cea92a01438958018825fab9203b24b4a92adc38a1f893d77f4400b01ad3 +X = 3d9177272e9a796d41fc6bfaa1d55c0c1a0bb87d3ad9f0409600e082 +Y = 917da1b3efed203e4c205ee1f06cb29bdf95cdda49cdabd9c70b07a47088e97e6474f4603b2bca1432c099574063c7437f3d9fb25ce4190e1cd765db7f04416452d02f6f3c654b7ddba306c164030777c91ffe16df282e6a9e0b283294fee4c998a3c519e2892167645e9e60c717b2e3f63bc3fe5f11719e6089a2776b6cd6ef38019857488e4b6811313af6fe1cebd7f38bb1d0b8cabd696ac34c114f47dfdb6e52f2392ada270cf8a17a529d4fa07d480b312a7a4d102c4cd733f643cca7176c2c2ce0a8cc1a167f8c92f9ba2ce98a994a3cf84b21612599e12663df3a54fabd94c1cc04277a887849ad13dcf32b458565c3ce3d97d02dd4ca7f9f9f8d89ff +R = aaab5b60609a0c88b06b0084cd3231a8a1ecef15440d155e5c7de7a8 +S = 9d27309fa24e4f39c0e5149d64ed5cfe926b60770810262d9d19709e +Result = F (4 - S changed ) + +Msg = 5b99a321462ebb7ac7773fa94e77121bbee4e876e0230134faf126306a2524f079bb95fecde6c6e1f11034799f701e7e7f7e69e48ae8489803d6bc560489f9079162f5d3c9aa0af523c69ef2eaf68979d6632e67af9bf7e7539f0e926cf60fdf6c88a3d44921dcbf89497e416f724c84c6bd872f947ef5dd1595a7cdb3c5ff27 +X = 0c003c849e9b7bbee8a495b72e82ff02803a6da1d66e035dbe1c7d8e +Y = 625d1e8f27565f38403c5efb70a21d65edeccfbb177c15b148b5edd19a866f1aea39a5e8f4ed99a81adf953a10fa16a35101e822fcba0cbbec1f1663e5ecef8c8135ebc5b5675e7320a1b26508f89253a88f057954d72571853ce218f4f7ccb0c3c3e016a1ac7b056f97b1d4c9365b520256cccfa9576c4ce62eac3d1d21dcd5f07cdb4d225286592f8bce0a703407aaa030fc224c95121d6663856552a20e9cab38e44e7af94f4cf0a5f3842e07b4d0749afebc93d30ce750b5c79fa53e1fb0f396caf83c62f3a6515f41b53af3636ad1a246b9f438efd15c508a042e91097cc4e12e66aacadaa5d384b72ccc87de640fb6c4834b2b3998441868c5e6d38f60 +R = 8bed22c5dc23bb60d2063444d51fbf77314b00c5fde4de9f89edabbc +S = ee1f9367bb3641e7cd83a54620346e57f1e257001d156098e3b9c077 +Result = P + +Msg = bc9a1661c782c042fc2e1b9aba229de4e680ceb6960284830d8c5bf63cc11c1a8c2e56da46cbe9cf0908adddfe14f2c7482ed69a56cc4759f61596529a6f387ef43a0d072c24709ab803b7188950fb770233c1fafaf853a40a8604038b48aefc90c0a596571993f5affec380936098071efbc8eb1f7998ab54e51c865831247b +X = daeba715843d055880cd4d799db2f92889d11f2fb18efba90f61be0c +Y = 002ed0b97cedb5f9263c2f4bf9c091418aed0c0de90d83ec32f2cb7299794f6c714fa3410d6d3864e0db56467308b939a952fdb9ba07296d05934465b04d85ab6c92435938cfede24b9ee7982e555deaf76207d167de42758fe81feec31880fd1266de15987efdefd3b45af79d370db199c8c82b03b5dd720770e0ca3272e36569a9575f77b035491a6b3822fe8743250c8be7254ce5baa2696fdc235f1cd4ca179f9ddc4b9c428d5b9864805dd4718bf745c4c48dd9ddb12d04afc7fbfbc76ef9dbc10c2d6267cf219f6f74650d74da924e1f2c0509211cb0d99f5a2a42eed7e89385f8c3cf56d75e244a8df215d2fac4752fb5cd4967affa3bb882f0801ed2 +R = 5e10d4ac82cb22e1f53efc50ffef80262c972a66b716a93aebb01d20 +S = e848511f898c9f8b876ca36d3b137b5cfa2a0be45e8958773b40d3d6 +Result = P + +Msg = 19e2da4251cf8ea3c479fc975620b8b28264c0d639879920914838ed21c199e0587f976a2376d00509188b3f6d03ad3b7791f8808695caf35aa1072707cd647489815bc44bf51b65589b1e254177f57c8aa0b31d899fe86a64003670556d255a4ad970a55973536aabdc20ff6fb936fffc80636c4dff9b53d2d35293376f1592 +X = 875dfeff2bdbb616071d78660fe22b356927d1c3ad3f8b6a893f3420 +Y = 7468d2132bd8cf8226dd3cecce086bb5277585eddb967d42a7d74777dca4d5546b104caa0e40959a3f66a8b9063b358215c6f5ad93904cf110c24af2fe202b5a7db29a1ab81433a5c32d2904a84e9758ad950038ec721ed0f81533d0ae4916ccf16242c5ba45959fdece8a5b1bca732bd29dee6c42382490843c0933df2821e51c0237fdf3fbceb83154f767a39a3429d6133abfb8467f7dae04327b492817c794998a0bb3239477769e965ce00f7bcb5f5344a507766cae7c0509b73db4376734b5764c778c61f2c844ac0c5319e7fb8384ed1bce74e8cd8e4f52bf8c89a7408e4cd5c6a9afa7bde4e1d751bab5bbcaaf14a3a6f96bb4b70962af95834b6672 +R = 75c7284c29f357f815f38ea24074622ce7f17d00c38401be87c09198 +S = 369c3e250f397c6cb2a15c25fd3a9f84bed6e06079d7413430945b04 +Result = P + +Msg = ddcfe277964ab71b241ea6106ed5f3dbf966c989874573f64862c2a28953d4c4c8a106ee60597840728d74bc98bd33c4c9b84fd1192c50d272aad12b1f4ad0ccec6419f46681c555d7676fd6d843fa21d7e783555012d8067a21a9d3a9e31c81ab0c8654c4bf4b8d95b3ffe84262a4ec9d1029389655c95e812445d474826b44 +X = 2a14ca1ba306328f93feb4c212b943e1af00414e2d8dca93e5bf0477 +Y = 015297371890928f8b1173ed340a07f201109ef54054e4b06c021562ab97d13616f6b91a7f59cf2e076f2f9063afc4b0a887d5627cc4d3941ea2d865f3be5002e94d5e3e9ddeaf9d8256a129a112323a3cf8b645a10b50f40b1a09aceb22c04862e7bda9ddf3334df69e67e5aa5222377db5acd0112b8662c10a13e90efd57b1d9cb2769d04461af6630d2f01c6835e3f3eb90412f165f80fdb4ec73dce8a08b9be250c7a8f6602b3bee2af48a2a19b081d20b3984990a8f515b2b4fff76bbbfd2e898f9516a222a61ebea49ed8b6074df875be393c18c6bb7071a1bf542b679ef70a615748a38460555fdadf2f1dc40d9c6289948ef7aba54ac95850c33ee56 +R = 74fb7a7eb343e87a37b16cff55ef4527ad16e2cdf07b480236426231 +S = 6df4016911498095215b7abac00364147220b6e24e1396ded0543a67 +Result = F (2 - Y changed ) + +Msg = e371cbd18e9b43e0b746980420cd254cf8c93d684db8228998f919f6c52e328d1b5f448be41219e2e88e0062b90eeb854b6db33adda4e794d557741599f1cd82f824f5129641aedbabc9c7ca9933a7669c7014fd4ea4133952591a19aad0377f84958fdac94839c84e42354fbce5be4e8defeecd99644afde8cc33f0ad2faa05 +X = 8614e9168862a72b3dab4cd7da64a8508f0aad369dd792fd2f1118c6 +Y = 11f56b14da867deb92ea0e84a7e128a19136414bb741665010ca118c208b09d493b5021904bd2ea2efa0e5dd979e4cff910e20a800c87c1268018d9ef8c2bed743b3c0d4e774b77cdc49ae0532eee27964755d31a1e28db20c55f4a3a157484ffbe7fe813a85d5474eaaf4fc111aae642f0c2c82abf4596951ce94d2765b14c0d6dc178851b0f7ee43659f30731111679ef6d79963cc9e7c49c58c27b56329ee8f8de14f85ddee278265bb3f055c5d51003b1ea42cecc2af86e2e764c441862125dda5aeb144ca6358c4e5f15cee0ee17c6ec2da9634cc18e3ce691e64de4bfbea0bf3da08ff7e6a45d8c8473dfe4fd4b4c57145437e93ca9eb98263a3a5a7c8 +R = 8d8c304079ebc05cb2dc98b75d353a40e4f35ae9ab591bb150032318 +S = cd2d5260127f6dc3d095b4a9a8cda2b41074d52955bdd35b7ee95cc3 +Result = F (3 - R changed ) + +Msg = 531079b47d58f6e431fd10429daf9469ad84b3dabaeb826ae14968b4eef1bb7b8a7814680a0d58f33714ce50c9e358170da49a35558e3e67d72497b8258fb736dc89acc47e207874730af52e46ad66e8484dab1c0a78cf66cf76566ef40eafb884d6e411cffc4076c69df08d3bf9216fa0e63c463cce6baebe7a2d0abee36bbc +X = 2970a07ee8f08c91095b5521b5655cad6e8214af490f71d7a9f07056 +Y = 83ed5b29d3db78a70d05d5843e746fe73d292f3adf0ca4ea61cb7ffe2d6cf9d5e3e63e8f6db30198f0c21fb2b2df322762fe6f6785828b0396e6f81ed0c92f3c5eea2d59001c4f61faeea4e6361bef017da35611b68ce29395c9efed6e97cbbdc28ac0ebeb3627f260e7c6ff76f50f2caab45150ac430d06f8d2a9f7913b2a9baef8645f66f1d9c5fe6edb2556c75b972607c5cd53bbf4cacae26f702503112d998b2952720380cc8c462286de5b29951aa57270f7023d3895183c0dfa8edc776ce2e91b7e7421b808b537028cff2526ed302b4a822751975c7548c6becf63a63dde79675edc41d8953ed581a2275d72cd3236fa5532e41e89385a836f3464f9 +R = 55e0e0a958ac917a21eda6f0accca01abaab8182c864467626ae2862 +S = 8ebea5170de16a7c2162eaad79da5b71c0f615a4b580a0b31da268e9 +Result = F (1 - Message changed) + +Msg = 392f417b4babdacbabc90f555ce0b8135772cf82c86cd9197efad5ef9c4eafc937445fc031e14679802d62a8280139d8a84351dc4306a96929af98251ce4c0e96f02d146ff062b42b2ad7ae52f5208dd179168ba1fe54d3fd7de7a5bf6b2077c92f9bb409178239d7224ab2e5e442a3d8d4848c4d3f60577e4e747217c153cd4 +X = 841ae5c0201a1bd0219366b03145cbf8f2bf861e2df3e7c7655c401e +Y = 70220153cd15eda6bb80bbe269da8483e562814b475a15648b43c8110fc125d43c09b782f1912e1311c1a2d4d11ef5ed870d537c868184a339cd52220cd42f1a492c752c81f3fb974af5891ad0020313c8fa5c8ae573923c460e759f6fba757818e9d42e8dcabb842b9b960fc5487ee0964407bef348f71e448004f4bbca4ede83fae2b2625e534a76cd129c4966a43e222b3145b5860c124d336d5cd20195c84a2d9dbf32fc431605ecf3560f0eeba8b2e0d7733b4c81835cfb167db282db62a982d25280013844258242f6d6c9259715c4ac0199fb53db94ee90b1e8bacde1e535d5fa5f9b8411f1495cfd72aee0105c269c0492409165a350caa64c8e3fc3 +R = 9943564f4cb54c9c3fc282487f2ad949b725e051ad197973b59ca155 +S = 6c039575b9f31fb0c70eb23d5790f46887b1352e14d090559b32fc31 +Result = P + +Msg = 4315b04dd32545548e5212448eebafcea5082290e405b70ec9a84f6fb954284b13161f1907cb6ca99b9a3fff349908a7962ec95eb6dcf7cb8a754789d2aeabbcac7ff4b0b41eebafa702a2d109ca6fe417296b54b2dd78ec60048c5bd623297828972ba95e514a37d503530245fc18ee95a03440240d0501d6d1511516b15e9e +X = b45569ebfbfb95f4d0bbb5c4b228641cdfa76615991aea4cd28a280b +Y = 0b51a368db9295d361ef1b4b03b2d3e157d8cc9bd9e2892df957383917c6ed52894fe076d68f522e4982e50dc64bbe6468f980ba101d4bed575ab6dd1066f20cee1ea1ae4ae84b20a03115ff50a0ea05521281c7e5549cbec6035847aa9f01bc35acd483693ed01cc89653fc1e93566a69ecf64c4ad322333a1fedfe102ee5d74584d725ccb7ac876a5e51e3c97bba7bce655ea9f9742c2d54639e3f08299406e2d42841cf68934fe747f24042ae0b98c75b4937047349a832837dbe84c76d7af93a906fe7e32364d88e63079d935f83c89679f9fedd50370afe0b96995ae159384e87956fca9f2a1c123020a450da6e689b131bf21462250cc1016e3aaaf4a6 +R = 8862935532547d417b841a70af32b775386e610cc5c97974e8ef2dfe +S = a8a744689987bca23433d1592d44892c3b06da076e3fdeb10fc085c5 +Result = F (3 - R changed ) + +[mod = L=2048, N=224, SHA-256] + +P = a29b8872ce8b8423b7d5d21d4b02f57e03e9e6b8a258dc16611ba098ab543415e415f156997a3ee236658fa093260de3ad422e05e046f9ec29161a375f0eb4effcef58285c5d39ed425d7a62ca12896c4a92cb1946f2952a48133f07da364d1bdf6b0f7139983e693c80059b0eacd1479ba9f2857754ede75f112b07ebbf35348bbf3e01e02f2d473de39453f99dd2367541caca3ba01166343d7b5b58a37bd1b7521db2f13b86707132fe09f4cd09dc1618fa3401ebf9cc7b19fa94aa472088133d6cb2d35c1179c8c8ff368758d507d9f9a17d46c110fe3144ce9b022b42e419eb4f5388613bfc3e26241a432e8706bc58ef76117278deab6cf692618291b7 +Q = a3bfd9ab7884794e383450d5891dc18b65157bdcfcdac51518902867 +G = 6819278869c7fd3d2d7b77f77e8150d9ad433bea3ba85efc80415aa3545f78f72296f06cb19ceda06c94b0551cfe6e6f863e31d1de6eed7dab8b0c9df231e08434d1184f91d033696bb382f8455e9888f5d31d4784ec40120246f4bea61794bba5866f09746463bdf8e9e108cd9529c3d0f6df80316e2e70aaeb1b26cdb8ad97bc3d287e0b8d616c42e65b87db20deb7005bc416747a6470147a68a7820388ebf44d52e0628af9cf1b7166d03465f35acc31b6110c43dabc7c5d591e671eaf7c252c1c145336a1a4ddf13244d55e835680cab2533b82df2efe55ec18c1e6cd007bb089758bb17c2cbe14441bd093ae66e5976d53733f4fa3269701d31d23d467 + +Msg = f4ebe9009dcb46b8069fe01ba40dbc7017a2f5c48d40aaabe5c69698556bef2adffd715df1f743ff5039ef4f5cb8088d2cd444363b82facbe9d0427b8d7ac9590b5ba3cb424717299d0d0019d718f84be30dc99aee5ea974ffd7c5dd36c6f1d9e41928c88452f6029d8aea7f1a8154d7a57956263c2f2995a9c0b79c38da77fe +X = 6ccaeef6d73b4e80f11c17b8e9627c036635bac39423505e407e5cb7 +Y = a012b3b170b307227957b7ca2061a816ac7a2b3d9ae995a5119c385b603bf6f6c5de4dc5ecb5dfa4a41c68662eb25b638b7e2620ba898d07da6c4991e76cc0ecd1ad3421077067e47c18f58a92a72ad43199ecb7bd84e7d3afb9019f0e9dd0fbaa487300b13081e33c902876436f7b03c345528481d362815e24fe59dac5ac34660d4c8a76cb99a7c7de93eb956cd6bc88e58d901034944a094b01803a43c672b9688c0e01d8f4fc91c62a3f88021f7bd6a651b1a88f43aa4ef27653d12bf8b7099fdf6b461082f8e939107bfd2f7210087d326c375200f1f51e7e74a34131901bcd0863521ff8d676c48581868736c5e51b16a4e39215ea0b17c4735974c516 +R = 0abc6f238f4b23738791daab15dbde4286cb40e405d05a6dba340635 +S = 572346d59fa7b4f453f0ce9392769fbbd4499720ba5f7219c1669e2b +Result = F (3 - R changed ) + +Msg = bbf80711cee5a14f2386e057f3e54c58776f0476c77ed66e63068efae07841f0b838617a9283c4985ccac8c5a34241fd0a5712135ef141329b279c08a8ce427f5f424a9538bdf0e3aa1101a4249e72273dc2674522736710040faf44835256253d7457a8c51bb7d546efc1b1f214d215a2df7e7e2caae9566fa46fe75a9a3cc4 +X = 3c0417f9a8f8054c929e0436bff6976255f3940c692898d944439e5d +Y = 18e86706d8e9b458b52b018e67b20248b66c98baa3b47afe3efdb45f0566d17f2c37bd8fb15755865bb46aa3c310fdf9cdc33f775e72967457518ca8205552dcb68b29bc57fc0d3bdeb5f52919aa5c31c5d26896c431120bfc4bbb925432e9a79933ece73ddbb5741386d947eaac8382ee3b3103b9a473a56b6b10400b44c1702c4f3c681709d1bf8ab6471a99f4073cc04518bc61d83ccf6ef076030e770587d8258df0b55a35c2d0ecc8a0451d20f2f423be9c0b66f74fa78d2e30cc016aa2b123861bb6a4704773c21296bac9e8944ff48dcea90a70c9fca70246e6168ae6abc457763aa617fcab791b8a3f7682f0e179220199a0c5a43003a352ac853539 +R = 02fb5eba32c5cdeebd1b527103f955ddad1357ef4dd0b56bffdafe15 +S = 650e22d2d44ae1b1dd18052e940ef5a0908de8cddee2c493f43160bb +Result = P + +Msg = 45590d878f9c945767cbdea04180721c44dc4461a584842f80ce4e11e1918c700b11bf41a93215bbdc967dbeb2115f2189c3a6ef6e4cb6f9100a1fb353c824fe73160c062393d20c2788b9aa99210dfbe4d573a41ae70563f11fbb29b5767bf80d60234f7bf175432dd70f4ca514cd298fbb9ab08761c728c610de22e463f05a +X = 8e11294879385848edb32a0d0803d17d65040c5d74cdd1fec27878e1 +Y = 9611fe8860bf4cd266a0bafa6513ec51f8c72c771da4fd636224f50ad8be7734351882ea3e150be4eb0ef2c1c5e1d2b2a37a8a4e55c3fbcf5e4e330235fd4f8772b2e231d262780bc59dc475d7cd337c75c477dca2bb9aa39b38252cfbb6772e36137588f8148110e1dc4189205c1a2185a47286dc26367caeeba831719b4753958961a912f94160e55cd63c826f7ba6cf24dfca6781d8666c7eacd2280436c75016e94d88861942faa34cfbc7664130621aeb1b001753d8ffdb7896e141509c50e29aaff69702d2e9935fd710333a35597bb9fd01606aa5f7f3e951b5ee79235c78001bcce7e642ba117e4ecb966601a15b8be6af814f928cb2d04d8c154e52 +R = 0d3f924b72a7877beff0e2e19437fbb194362d550e36de373938847f +S = 3adf3b15a9534e5768db3784b41660a0c6124fe1906de457b8773ba1 +Result = F (1 - Message changed) + +Msg = 29103aa62a89fbcf7b4f0952c2e0dabd3875e2bae5f4b36c032b46675bb2b69b691784030bba4ebaa071a00e0696d8079c7757c3120920625430af6f40f46dde3e9023e4eb01a922489b1924218e9b28e87193cfaba1ad519cae8e9aecf0d1283f872364262adde810327471a231803796bab15d0c3eb2e88728dcd445f56f2b +X = 297068fb686d3fb611298ee2ebf447e4f99107e14731537a556f7435 +Y = 117f2c336ba03c32a28dc769f622319f6b9f926e2b21e1db3e20e673317c327682040b0fad2a26b595fe9ce8d1de3894708cc7142e2294e537f7882de43621f35cc82569df02f73f5d9e6ba013abeecfcddcf351d1185c22ca46f877b0037d33aac440413c37e1847262722dcb91020f1aa174d4a9ef2d61663b2b9b4a0c5b2ca7d86760e42f6023b3f01a0ec1ca2840b4092f7ac9d6df2099a06784ad68fbefe6bb50fb243afbeeda26ef914f96970509c84bc91ca5c875cfd12462cad9abdebae1ae6667dd488ea443aa9c70b6d91e2822b5a18587a4ce3164edf5200c0e6f6f1a8fb9e00b5ca0c77faec47f6510bacbc81f6085f6582ea6c368f549a3ae2d +R = 3d57b4fe92b71d428a9eec3439741a195b5eba4c80f16a947f202684 +S = 839ed113d97e439c53c28ff482e4ee15eed10e333a45bbf87e75fcc0 +Result = F (1 - Message changed) + +Msg = 22ab1cf13eaeff7baab0c365330ec8212414d50a68af8fee261af7938feb777173b05baabeb16917535b207dff6299a4652d9801659e377711a77b95f78d8f1bf070e7311f9a4a22206f684be052e1ce612b3a1bc3bfdc2e28161557d68e4ad64f6f5c2947b6aabcf932b4b75859c50d8c23c0d34450ae2b52c9490d60ee0b72 +X = 8c435c309fb99c37ac230e7e94b2a4293dfbabaf3ea6536b918050b0 +Y = 14c9f726cbcb0990765303fea62ae66df39c36d2bcbad1af0426dfaefcbe25c1bdd132c726cd531e94f5f527a1e8ecc991a2bf4ba346539f69fdb7d1004f2d635796bc402d1f8635077e26dd4dd3afe48738f43f9a465a8e75884eef883c88dc67b109d44357824635d8e09905b49063c7f507f501e3a2854e8b0530715de86aa4eae9fc60fec11af03dac18afd7f1cf16fe0857ac7030dedb5f5f8695c20607c39d0a52936dee03c37553535d2d6115856b5ecfa755d5f1d309651087baf34c3ed78b7d92babbadcb56408c396983fc7f4bc90ddc2a4dd092378897e691f4b0e96b1efc41d8053f031f87bab9999c01c039c803498aab747ac2a4c101e8dddb +R = 06272c67d896925b43895be15d821fae16de94db1e3b07a94ee749b1 +S = 6be1c3c2bd273e1bfbcfdbcdbcd504ab81af3e3a68a1aa97ecf7297e +Result = P + +Msg = c3ccac90f93486bd6beabe97de170dce8b9da3e1e863614a40839eb2931f2df4c115d6f51cdd2a7b0a8e55c23f88ebd8c45a8f902a37a194066ee635c7afd3d5a9c12ae0b8826800d331918f913f98977facbcccc2ae336ad890c493bd55f99e37f907821d591baa15399d9d184f9b7965f157eb2657c5977461668c66a98b12 +X = 6b845f82f0aa12df67dfbc490a50fc53530316223c58f622ec9572b9 +Y = 799cf49dfbc41ae0256e6676d98ab96839ea007bcd2bc6366aa1e0412d5e606a069313e045469a4a180d4390deffb1f6707048b323bfec9a7efd1052fe8177183943fc007de1a742376894e78f16f35199c7065b37a370383d2eab98bb8f3dd41fe7310654770b916f16ca8570ba0bcbefae616a103a202d93304a71ecfe87b4b95bb33d345fd715a05f000ab3d5054a54f54fb8eff5bb24c5882160b7840ca855546e204739f98b996f285db882068b794a39e2f9d83735cf2e7a96356a6fa8374a3fd60dda0cc78513cca56f2738994e3835e4136e900d438f75be9bb74666775109c07bfba0e8d8d668bf7ac44c74d886058be091f942753486ab43ebf85f +R = 7099bbdd6a270dcf887aa09064b40840af5a358befe9dd9d49994d3e +S = 0488608f384438845c7a1534d6c8193f5b1cf42bde90eacdad167ff4 +Result = P + +Msg = 0512d30d5e1064a346eaae28e37865ab55ecb181fdca1e867b44fffe0e44933c0d41096e82a7faaefbfbaead974093c4e49f2c7730310803a524191661799a5762f7e4934f32ab5969e14a7b18abfb2f74825908aea61a15c993e2a609e7a3257b26886c4df0d4d2ff4455c2ca0579f1f7a80c43cb884b18e3caac2b36144810 +X = 76ac3e919ff1a691e3be9425f67ba160a66a4714ec7c32cb1a7fd8cb +Y = 726d396e021a23e7bcd857742696b79384c41c56bd22ed92c395406588b408ca2f1e5a0646f1cfbb7614e0f0bba2999e4baae46a0b281e4d0706019d2614656c7e98befe686282d042170ea8ec21e1320276be8b34a12117917cce154b970b2a5467b2135d34afa9af4b8559093dfc21f0bfd4df128cbfc49c0b61b5c893b70f897e05997b5542aeffac9cc96549f6947a2160ca378a9891f90e413e6b2e8956cc192152c74ec763c20703b19600d6a21d892c60ce5e9208695e9e1db3201005a83ed06208b0372ed32fd094ed34a770e6b5ece3eabc149fd9aa0cc70706add3b1b8686b64e69a4f98a2059ada4895604eefbb724d3f92f813ef4915555bdd43 +R = 5d808f231c8012a05fc4a43b0532da2e52f96f7ff7f7f1fe56403e9f +S = 334acddd7c36262e75a3cb5ba80f88dd444b8bb4a24ee3d166660564 +Result = F (4 - S changed ) + +Msg = e0ef5b0f54853235f2c761c5608ee2bbe134f95c58a3edf437b4661971d0585d3adf3c2720cc967fefcee2bdb174d37bb1dca5c9d0b18e781405c572660025d57152bfe4c9be88157178d9780bfa6379e078f3084eb33403938411ce57295b68e0409d04499ac65f5bf0f31d23d10e5fc7e18ca1c719d5f3efb15c618cbfe581 +X = 53eae6ef54561b2c2da9e1b8adb704c780ab64b1f16425e509c44181 +Y = 77b2adce5cb225df3ec92e0c0999d307e4845d43c40b5275d0d53b21f84584529e8e757084eb8ec0c075232d49d33e1e5ad57ae5c1f76d8b2a299b531815424343b05816b5de4e03a8701dcf23d63b169314b29df86abc8d11bebaa76af9b18761dc33c97c1eebcccbd91f7b22a02fc6ea76c603a0fd4fbc0617ccfaaff5bf9d8cb3abe14656585eb4f582d73976e382ca54e145cdd0fd2392b9370c115a1871939011701a7fdb3a96be409b94b0814a444a95882e6874647716812f95e52dc40a9149e2cb4696074813340cb8720745a94dc1251156dd4b20c2603ac1a82a9eb0d49f17c1b84f9551b6392a32997f3930ae0462d5c488f78af5d107d8b17d3a +R = 4f0cc5753beed906874d8f77b36a3ad10070a5a31fe5a416f383d82d +S = 69f2ded59ed7dff60aed2b76944274891fd2aa14e4f91674476ee86e +Result = F (3 - R changed ) + +Msg = 4966de32be7d0c1074c0835f698d34fc70ab0360e40f126c0b631d579973ca445320543c0885f8cf7b5800fd6aae35a38c9a52924dc9d403479b07df860dd5ad590ead97c6aa2b81ff66fb0a104bba7427507ee8e919bb162fc2558799e5bf1d0754ae82cc98ca6c83f2bbc0bf6d4ef9d72d31cc553d1506e072ac5868a579e1 +X = 0454d2cbaf24282603e5b08db3a08dfb703fd2714f01186595615bdc +Y = 3d310542d6ed407ecd0a6973816d9d82161b18fb5f43dbc30f7f1889d14bf90f51a4395342a7b826153c6f5b46c4da2e1d602ec11802d249ed90edd0a2176c67c6970cab3a599145b40c55f8864e29e5b2425c73255bc7d9b5d88ff476daead8cfe8ce95f5b323bef438a07a207df6cb1f7c4f33e7c1a1fd36060be0b750506765d9a091e7b3ea5eeae015697694195ae736afcdcf13d69e0e0e144dba1427f420d97713d90a826418b4fb610e8adb7e4f1ed7a7fe03afc79c8687720c6489f8ae0360d7fc7486aa88118c031e6fddf580853fffd58c5afa921aedadcde58a76d4dce2dc41043032cdae20fd599a8daa42e23f93175e2feea8425593bdc78912 +R = 21f53ed1fcada33337b98fcacf837bd1a35b77b62bc4e9da114f3ff1 +S = 33a2b7883aca053ece78462e0ad05a174d38d70ec2d51ada28b0fe95 +Result = P + +Msg = 2f1155765218b0654548deab67b617021cd49186971fc9484cf695e2a6d6fc9f26f91161acbad0dfcb9e8608a23b44d87aace1332b9705798d9fb9588f1be9e9a962b19db48447fbb7dc542086435a950dbfa51b2dd0c7c033ffc4534dd13bbb3a4434f4c80329eec2f21de3727b332c249433c0df1bc832ce04378b4f7db0eb +X = 98b14c4409588b058ddcd46bd8d4326effe55435e1e4459244aa6571 +Y = 44e8b9eb6b3f485efd20a16e87c8a69e632c8d76fbb2696fd8df3f44fb6da666a2cb43dec4830d84eb980238c59b7e55e37c1db673cff39fbdb8278891f0b623b880c837f279959bbfced742e39f0e57a277d5f5ab5f0e4f87b0e2a3592bcede26fee947f8d721270893fb67cf8dd9dc4e2d19263840c89b247677d256864c20341696842e881e06573764b215ad0313691ba49493cf614da702f4d91466f1ef07bc0f253843ba1a6eda34645f89a36d37454449cc8912cb5976c00417ba783ee64cdc44ca047e9b177a94328551f5c24f0c9af2de73554cb3c8eb42453c2719991492f7ec0eeb39ae20b9b896cb5a53c85420f11eab60de0d5007b02193f746 +R = 31feb5d2e693fed9f73a910b2cc5595a00d7e580d4642751a04d8e78 +S = 97285c5d39f9d2ffc554254c6608f4fcffd5ef84767364def480da99 +Result = F (2 - Y changed ) + +Msg = 3a5def5b23dbc604a3d3651e9ea9461768459d330f0956976cf0fe70a8ad8b14d0f51c621d965163179c68076cefad6eabbf96953d5202e1ff8cb8cd033a3c8a2eee9624e9917e83506532ccaf3d4feb19ef9613c7a186e9417452645742feb64c061ba443fee1b687d6bd2fb82bd543612c1462fb3df5fc00748007d74700b8 +X = 88fef5063ac5ed4794f6c678d9a503700ff5ac6cd2f25b8a82851fce +Y = 74ac5f82e514ec003b57f8caeb3646df2c57af030333315f56012d0b1509beeee3e04d9ea39e7deca133f35c6a334418644e311dbdf7a1c48f54040d456055baa387dfbba8a1f5106fdfad02cff3cdffa4407f2a32b6837adf0911d61fdc4f35c6493ec868baa3f838ef45f3045bffd0fbb9337241c2ec748a73cc2a198c4365c7e4570b883613d49d8e13776f562cda1b1464680870ba425baff31aa8547285f6a570626f66a33208f918bf2c2ee4201cf918e840155f5683a5f6318a3e0fadc19c0743e2068efd5e55eea341cf7a53b9d9ca119666f60238ab669ddee5ff2e692591b40614ab62b395d0ae98a12420cd31b9c77aeb734dca8933ad289361a1 +R = 55aec1c606be0dda429e55bece84f41256d25c1961ee13221dc3a1bb +S = 4cf8f0f7f88fcd892e8315689ef122fd38e7ec14d86dff83d4e3e15b +Result = P + +Msg = 1866249c415c0bd0ff13544798d13732c007274901ca7ee4fd43c954b4b738310b179c7fb76d20dd8188d882b36f95057929cb845630a85b34a13ee72c6fe0e647cc4016e63ff6651af7c0c2be55621e8c01b46e8d72c100415ce53907e0d56d1deb8871efecc81ed2888a1a2a8d50a630fc519f240975d606638ad040c9e039 +X = 164db4fae9d7c72807224b458be7c963bc6d1caf360f8c07b287360e +Y = 646835b8ec19714728acc87c85508232b455c10a2916edf2c29e3be0b896583722ec57e700f9020c293cdd05380375de0f5e97f666b974aa9bc4245b815b13342ee833d99032586a395fb2f1375cda13fe46f2c723645a7e4c39e85f64702f24665acea277764135e53b27fd7dc12c5988325d63f42fb417d3af87088bd357cd681718486b1fa7cc5531e27a2e262a85a1901b78db7d83614ad7b7ea6ec6e34d8ac31f8f1de62021eedd83ee10eaae5134d5a49799cdda9f99c8a3f2b825de3de3304b86da3a3eae468b1f6a0b74c7f037b600c059ef177ac7091277dc60826a1ef08371dd19f9da0d544f5ed387e6e985ac8c405e8239ba03cfe61850ae1a63 +R = a0bedccd22e3d15712e2b481f1ff2fa3d640179529d8c30140c2d22d +S = 5cd6cb581fc21ef119a856ced890c0d1db1c842dc32ffe8c0ad96e80 +Result = F (2 - Y changed ) + +Msg = dcc04de80627174ccd19e4464e64287998e069f4b2ff6f30a72f76917e0b7310685bd0fdacca85f4cdceeeaf742031ade5740617e8cbed4e88f23b2167a72ae19d845704c6cbeef3ef88b096ba380e80c1b487e45e1b0df83a5b2be2565412bb0de1d482c5829d1919e6866dc809ad5eddd34f60a5eb64c56f877b508228b821 +X = 6cb395d13a379b371003edad0b843ef474bfd45257ebdb71ca0e5a1c +Y = 10adf97064b65a942430357eeca48a016872e6b1e1fae82d0fd7d1b48c3142438984d479d3c440df17e4dbe5d999e2bd27df9feda304cda6cbb85a397f294268a98b6682289f424b261a258049160794c5a0ff49e3dc5af3fbc4a94ee4459a605f55d493deee4099476bd376af6dc2242df4ad5614311f0d2fc424414a2a6ef39ee5b513f0436c00775f0381a4c82df1b01cc2a84817f1ad39614efff13661954020c64bbd3e230dca3a7b0eb29ab607366644f07756e5244be4d3afd5077200866927cf209d7bd4e8ee446c4429002021b5db36003e68cc6f6ff855ed96ae92504323eb395946adb72ecbe0cb4a19315d4931780772c35d3126f284537017b5 +R = 5a5b79991e9f420f16ffa2a4e433db9730629e0803ce62edffd0443c +S = 4e71052247e8a63e92c4d415d1b1b725933f1585324b1854c8648098 +Result = F (4 - S changed ) + +Msg = a0e18567ac398dd8eb26239ae2a55e6472ce9339a494561f608bdfd06c9ba3c8514b837042fa35aadbf9aa4befc18e6f919c4c615996af0a331fe4e959d3e40af0739d1c8269062d435d97aeeed745405ecc9d31ab8896b3511ad2856da8d4ceaa7f16b75b55c2903d9eb27aee72ec9c38fd97a152fbceb7a69edaa284dec31c +X = 9e28b0530e41e2d37e4fe2528c1463ad8ceaeb287746e8d0ae5bdd2a +Y = 75b6dce70a96cf9319db274013bab0ccbbe370a4292a97d204075c0f5d0c8baa5cdc9957396574998a9ad198bcb45c359cfb4531dba5615fd0c119c044c62a487f7b42c5c97cae2c07a4240b7a219a380a0f35abb059e58026779075691b89c5f6bdb5ce20ad9a598e478d30a311efee5e78ab57e3bbb78c122767721f465aff8b9a9b62b67b820ff0e2d3e5e6d6ee96ec3640cb0beb1b89a96f375c18ee4f1dc58b0d034abef933582dafdba290e1d76e5f137aed9ee3f0c4fb7ba8febf08f791e82fbcc12e298d81afcee86651bcb968d79202995d16395903b67d4c7e34337e0a5a8aab5fd0d330c948a84d0beed13549d27b564ced23cb2ddf18d00bd3bc +R = 4d1fd6b6fa7d0a7691bb8be661a41c884949346a58a0008c2305a392 +S = 4f0e113c45a619a6dc96619753194b37508110194a63e9d3ec8975bc +Result = P + +Msg = 2f4a6bc37a8063b27d10c8f662cb45d4d251d60b90debf236d45114709a89291c46dab891a7df1ee134623348bb9438659d1db8dacd06d19eacaf6b39297ed5b6fc1231d1b457fb51d0986de2f5b747f3ff44587b46e75ff44439305f6e08afc63e3197302c0a08c90fda0da51589ace03e5a92712f3e460df27ad2346827118 +X = 84962f4d1b36d90e0dc6067121c97a3db3c995bed721f11e6cee42b7 +Y = 6180450c39d2afedb6a7342c3e9aa00c58334254f9d504cba427423ef7cc10cceed1b4f431b1a76664e7fc11605ceeff40e95bdc92bad3fbeb9682b2b5becb849e949377c46e69727c016e4480436c1a33ae8e8649396995d4731f516791973e9747f0196b50f8442a10ba7de99c6e435079d44e696d5898e47d7e0e01c9838f8ed29ff9bb4f09dd846e74a3f875aa0f865ff13b5b1290faa00b827bd991de447e206fbdea524453c172a4e91bf1530d5435738384fbe9912da71f1ce6cf2194df0ecc3e614fdc7376714242ec72157fe8b2f2c89b47ac1a54a6bede09ef90b8a36f4ce5f47e2f79d7c16497e27b9c0ac3a7204d6ab2b1e9c42c8ee5d5edf683 +R = 9b5402e0c2913712bcb54b62a36767f04586a2bf86f36668e160f66e +S = 3b879d8f508c465a8a5dcf83b73ced40c499df54601fb25dfb876d84 +Result = P + +[mod = L=2048, N=224, SHA-384] + +P = f406ad75783ed584a7de8cc2bf1d7e3743f2f07e456096899292988f80b1545fe5b9ad6ab1b2ac1f5513c796348d1dd6a651f78aac19ee1797d5a9a34d84216f47d319a425e8f33d1ce42d19f13ad304232d5977ca81e4d007f975ad7bb6f3f528f5dad2ed50fff1e6f754cb561818766435037577b79d011d16bad23674864edb973f84c7f132b851d23cbc35844aa34bd41a505b7b1c821c109486e92c03b2e25028b4bf61fd224bcc302876bf873d966915cca2a8b306feac41ca7ef778ad38761c3e09e266119b74612d37798ecf2e2a58083810252d06dfd75aedb0477088b8b4fce2baf31f57e6c31a8a071f512b60cf6aa350750721eec4a0be850055 +Q = c1e4f5bcc90879132d13ffae519e5e6291c75184ae7cfc503b3e4195 +G = bd956fcc94ca365aeef8ebc31a3c422eac8cc1c42d7f32fd4318a1282e3d0584dfbda88d3cd3c0e2c75a1fd567e2d1e36d276cdcc77b0c549c2a24dc22709931506a55ab1870d8db60432278d6943aa859eb7dc7fb0727700cd077da2abae2c12b39ec273c7ed870bdc6779aa51f10e5707e9fd9a64c8875a59ab222f0f00516f289dca8912f27ef8a70b35eddeeec74fc47b7ec7902efa702f256e05d7341b64941b61646676e717e7fe120212a46913c5465461ec7d3af8ae002e9a0a32d2cd01dbbc5ea4e84364eb19c70f36eb890fddf7ea8fb11d1467dc9803b9ed7c06ec06281bcbc8492143ca1510b2ed9b732eec7fbc924ef23aeee5d9e78cd733d51 + +Msg = d0e9a8f6034adae80c98942129231100a305756ed027498a53efc09fbec85218cfa7b8387636a5696392a0cefb63baa36cde1b5a14c21d5e1be1e3cf866d7d9458ecddd1dcd3ac2a259582e644a120e1c1957392ff1062867eb532fcd0d85e2e1d12e2a8f3e9a323c913a23b5456e20129e9409d5728c981c016565d75dee64b +X = 83f4e3937fe7b3f3e9111c24db30e6fe4cec9dbe8d6c85de21b01afd +Y = 289b9f088861dc29f21ae6e3af6d998a7686b5f910a6cd11916a40976af8a42aa8e526ddabc006f3ec586e8f6b3ceb5d6f9aa4c2ace330cdbb2256cd9f44fa6ed3a93635925f0b40377f8f44b714ea8d4ce4e8a8f1cd85f2acc46349b96d829a906e06b8d4a5deca32301e4ea6537918437cc828dc8bb2e600bc081a1d2307c048ac1c19b10b7cb2be80b46956bc865953843ac9a80c273eccb1c492721757a6ad6c8bc304e0964cf36fd7d78c2e0f46982c7f3db65edfe35f45eff895888640e3aae9530e76573dbeec6ac38bde5d9dfbfd8f8313a6edfb6f7a162211606103be27160a703655fae498c2dcc736412bdfeb778d2dc1e48fe6f80efb31306084 +R = 454f4ab15df2abafc73492673de2d8855f82619478fe3fdebde43958 +S = 9517b2ccaee94e6268e7a0e588a766c469255247c9382f9cf3520dfc +Result = P + +Msg = b8781ee82a2547199ef7b42bcf2e7bc8ddb6834d04d13e528064f3099f99814a8f4763931fe15d26b9bc7b1911425740548fcb2451f229f5c3bf9a7ec6bdee31c34e4a9d565e7fd533e48e018b8ff5ce1e36075c71ebb1df3da8e9da513f542b9d9d6c148e1cd5dc8ed1bef5f9b35b5bdb4bf762f73f9bb8a9af908ab01802aa +X = 22fa9aeeeadb48040a513fc9f1abf1f68299afb741b95d2e9ff0e511 +Y = ed170102d05628f184eef60b21eb35b02d5f135a69fdb7be722db8af92c824d0200cdef05d6716e356f8bce1cd4790bff682fcee34f55422ebd1e84b1b25c2cb710b9ae0d2d110e4880dac97bc3f7ce525d02e2a0f7aa7a2e4bf2f48d0895322db0e019182186d9c3d1e6fd447703398e064656d6b04c5076ef40245815c2987a14acd5be9f2bd4923473ed342a9526e46147f4a422b656864f63a5cfbc00d122b945ae3baccbe4c0a1ffc4370455954e576ce33522b6c10a55b5aca4e0eba78c9f2efd232f69b31fcb084fca45a428881fad3724ee1fe1830764e02b743bdcb018e68b55229e8f727ff6516e5e3dfcc0a2eaaaec8fa495185333c9f7c9ec55e +R = 32fbc1bf53ab9079264d485796fd8f4e9b43b2d827cad7ae7db22001 +S = b9ccaeaea602b1e0d3cd8f17091fa6c4672031006b251fd3833baf4d +Result = P + +Msg = 73538fe0952fea5b1aaaa62a65b5c3fa12154c11e3d9aaaee7ef869ec7922bfc40b869a77a1e831927eca6c76b6f36b61f8fd23bb48d67434599c528bc367d165d2ef53445e27ce029b648bc7180e75c0e4e9f50267670d05d9aa60139ebaa978ed11de12030b04ced89f737dc6948d688757b8916e3323f1b52f6935df63e8f +X = 2a7340904da20d457e657b5c27b7d4083a23f551a02b534d88de4d8c +Y = 53feff05ad2a4817c566dfe00d2772661d40c81572658fa1914d5ab59b0bc15369f82eedf5e5987a69db9bb4b75c23418efb942acabf4e58e90658a58ccdb1eeb825ae4bd610f72029602e1851cbe7490c7e2e0ee5c22a38057cccf6e107f14265dd9151242dba6d03f6d5f2fba921f1bb11d526e6e9ee9b9967b25ec860c8e1c199247b08a9e1271bb2304ad8f6cf166aa86796e91eeb1867833d278c220c975a25abefda22e9dec923db63ff680f6f814c5bbc7d6cf858802abc9a6cea20ab821e4e5b629970a28f30daacf89246b52c532d58eeca3abfe434db4f8d5b8fe73eec84dbc606e77299337e507c713b3f0c7a7f4cc4d2a4e712854e9bb17970da +R = 558560e4f97d9d7c8d9edd9a3fa50de4b669807fbf1e604f28137210 +S = 291816244d2f2f1af4aa25bcb207e2db57e561f5b2b827a037a371bf +Result = F (2 - Y changed ) + +Msg = 639e679b6eff1c0ab9b051c56f7a86df2d17bebd16ceea6c99e29adad83cbd22d75813aa056c703583aa4795b7a6803be529560abedaf89e4b32f2699291328d484bde6c052a24fd5810e3d5d8ec2d0385ce2ee496909e46db1ab8bca42614d71dab50118db84a6b1212c9dcbf8cb08762b566eedb5ec9977a6e9c958a733701 +X = 6cd0a6e9da241b022b6eced158af8514f2a7c0b5854689abc70d1524 +Y = e900b65a7bbc9497cb00f6c549935ed484f58264e1679043f967a91ea6584d4879a56b79ae5c96f4422afe99cde651406af2a6da6e0ed0d625dadf04667022bf93ed3f5f24977f032c27cd5be82ccf26fcf82d29f8ced87b2451de904ccbdc9b3911ba9e21fbf8bf0555fde3d3cec7177bdc7f04e9068740ed06179f8f60c5ae6482a80159493f0a0f0d1e92fb6831874bddea014f6f322c015845cd4bbf95149a9c26cc1d6254b663bf158f02214413afacf012e7bf10c56799122762ad9808bf80ad5d0c50ce42d2ee6dc529d4526c8bf1613863bc75be2b9a19dea6a7e60af1e9314194e2742cec57189351dfdbd34658f14fd6e6a6a85b643afbece1f5a4 +R = 83e6f1ef9038910567b095b59a0e457ca5af4628947f8b90c8265560 +S = 4dafd4fffdd32e1f123dc5ac384ed1d2647db5e3b3ce93a792712076 +Result = P + +Msg = 09ca828ffc0313cd513162227b47af07780f42bbac690cfb7b619a4b9bfdbf98aef1e911d1c342906dc7ca9b83507e7be73499b6d93546c4ec06bc547b2e7c81ab020638385e7b1a14f70a51ac720b78a7b429e3ab637b6dab5a312cbce883a23405a89157a566917c3e830967a8ac539845fd35a18b59269ed0421f06f4bae6 +X = 0a07fe915e7f6c41b36d1e7c552dfee35e1267cb6fad70c01c07b14d +Y = ae995f061311885860ebb13c33f70dfef96c1e6cd61e08466cafefa6be8b46a368914dd488510639d999706a44836d0fba17ab7b4a728f4f96a93c98da0162d29b7853645db9b06249f820b874d6517b73fa0974e23782c83d4c2f5c91c270f5951a7c0aacb8239addc7dce97aba04a0dba347dec599366383b85fd0677913544245c19dc4621c477dd9e62a0553d97cc0544f27a4b115890a4383cad68d315bb99d5f0c0463756d448c18a0ac551c049b8836fd7721ebfd73a7553c085e0f2aa2bdf046f872eb707bd4017ffc365cd9e21415fc2d38d8494625c1c0551b8f121c954775d32c60e8354e0d9eb70b6d5d49fe34814f863774319147920d7f9328 +R = bdb2a30279ae280520c464fd18680cc3b97c271de8c3065130190342 +S = 76b9a9e7ed7c4da361d97d5970a5240b6e38e88503c890901bf84ab7 +Result = P + +Msg = be6b38cf28048fb61f290b6d1cf8775cab70fa62f2dae2c98717025ddc31f85f6f2bf818adbb5c88ae2506aff564fe0433c96dbff348c88c77b1aab73ac03cd27f0ef928065ac44d93c7013818c1526e45adac3e9bee5acb3ae6fdf358cb579a0a41a54dafef8af8c7137b6c87aadd93b0e56c9ad854bffa6384101bc0fe48a7 +X = 74d4d743b6fcf21da35711a0cf54a2412b90923ed64b3f235a23811a +Y = b640b081a57a2db674748c8a0aedf7c0ee587bcf41bfbab53e3d9befde3b696ecc15b4bc8d602899e78ee74826592bbbdbb97b416560e7cb2b3503640c2384ee580bcf4980bdef284a709d8d7585231ca9044a2ac4e3a4a0d3c3ec6a0b1691ffbe97be12346f7b8ae40f36fc0aadcd709ae92d6e78af85ad8d162b26e54da920de28259286d34e8cc3bd34290d870d89ca56dc8fce6f04472ca771baf27f27bb4db5e5ef43ca67b4c1d498f4a1e1f8bf070e9e5e3b648b7100ff461d26ce3282bd33929aefa945e1f39530a5e9992861006991574be9dc7ad0131d0e62d8fe4b476bdda6a1507d84598c29bdf2884fd716f52822f5297b99788be194fa750f75 +R = 948a98035f5efca762c2b449e38cc7503e6f1c802c6b81026afd79ce +S = bacb74a3d62f08686bc1607e1e3dd04633c27deb6fda2f2bf5110b6c +Result = P + +Msg = 5c44d0d57e0f9c0d8d48397b3caf7d1d939131632b8abb45c71b2651bd27cfccf3f8f4e2c06d057497a10888f55d0395e09712a4a1a16e57e8aa72b910a230486ac9136949af37d3b4273d9b4c1caf4deaf782ffff7fb85b1f0d0cd3ed457fd1495f3befff8631395f6ed95f1d820be3427c294f2c763285d60c523993c9d947 +X = 48880cae20c18dee6a5ff5225256631fb519b0b0fbd9d26276c77982 +Y = 0e96eabf0b7525a0d641bb5fb18d79858a183e1b97d999292fc24d8c2780251eb4383ca5f47bb4be15ccc46c191dfe5d57d3cab3c5ed5950a68f608c334108e370218e00469d72c11e596ffe87bd9e963c8face5352ff218810a6a2f21573064d29d2b5f5d1c8526bb341a66107f8147267f3ea7ec1919a4984872ca0514aed10222083599ee9a5a2a4cefab90f21b1bd31cc61247dcdabe4216e9b8b3b9e6a4ceaa4e1f3c7ec1dec044764882595b471103544ff4ade4e06a8947c4e7e2fb5434cd429f3a7e8099d7d22dc10b32475cf19bf6536fea9338568ed4757881b525e6ae214e164c77ea822525fe8d6c8ba8645bce14f39cab4d81cdb7a4b4f4d748 +R = 00b5adaaf07face2bfc1c83c839fd172211bf012058cdef1e206334d +S = 8e75f917c8cbb310bf1c1562a6034e8619ffaae9c8b0f75973946620 +Result = F (4 - S changed ) + +Msg = 4d8dd0fa024404dd2081974971080c6c583d6b4b72d05d245a894298ab451e4b35d9b26a86297e21425edee8e21d03a5c79bc546bd8acf7dd6483e7365895feb549b5eae6fb0d026173bb01093072b6845dbeb24f5a6ff1319d1de3af5e6d2e60c5e18f0a96f3006d0ba442de3f41582638deb96a39626a5e91c2dee2a38359f +X = 87fad81b038027972e1a3c3ff091bac0dbe544b7f28c4edf6489f2d2 +Y = aff19e15dfd355fde7d4ccedfb8b67103ea2237029dbd15a3b91042732dc08d78e1dd417a34b9f29316fa9e8d9a488b6dd713ac5233f115565901acc513a83316ed17e28f9e13da550ec15a186f9629d009731530e04ee7bf9800b7dec4ae9c9c15a23c4a7fba5cef938c67375a153c564cde217b4724006c14ccbcfbcfa4e65fd329dd8ceb99a9ecfc842461249373c951b91303d3a6efa56d156b652c82b002daff6a19a0930984e42948cc671a863cdb5eef9d3773ca832fd4a21659dc9c7b4b34eb4d19f72e642d458c35043bb0bbf0bb5bfc879025e972b941747a69e18949d4c720fd312e50e8d2f6b3778a0ddb8b3c7e3096786bfd41b5d835feeb4c3 +R = 8e9852c7806d819671b1214f2d8c626e3679dcfe8cc6250af458745b +S = b4278163842c008d6aaf1e8483620da546d07b5a53696493f1aadf17 +Result = F (2 - Y changed ) + +Msg = 899a9997f2fcc1298edbc786befd3d0b9386b3dee607ee53cf3ffe2b27b3b3f325d099eca7f3e6d22bad82b2fde5906888482c8e791139d56964d957058601e06ff4e1ecc05712fd00fdbb068a39c1a2ed7e966f115d22a967d38af81a188402a082c8148bdf7bbec2d546b1c89b86e3de486fb9c311b37c3ae48842e4d0d8bb +X = 2e7a3f00b23babd3d4523b67884b05b8469ebc4f911ca852c7fba49f +Y = 2187f2e7eb0ead9b2d70d07350a3e5c5ab3bb510d2f80aeba7a4ece73e0473a12c743c5e35908bff4af9c21991987aab63a08f9d2ef8f8d578f6fc8cb255c3cececf8f5922168c52b28cbec4ca70d41e58670805c42786b82050b31c3812d9ca3c308ffc93971b5c1686d692d9b2e6b05f1fa4307ae4069d88f3effb83534353a02b81598543b9dd1af5c85ff93ed83d6759c2106e766a0fabe3012d7bd186d771521533cf71a4ec423f017f5e0cfe2d31c31f734c7c44fd9119c19a37b6a5003c4fea4dcef9aa439693cce7ac0c2038956a441753b742350e854ce3ffd5446d30bccf361ef9d4093e13f8d0a4b3839ca2bde9b3af31cd4902aa07217aa4769a +R = 268ef7d575da785fd221572d55c121ba180dd4df12c9b9dbb0f88b92 +S = 43f165870b962eea1ee4e0389099bdde5aaea1b1160f033ff9f38bd0 +Result = P + +Msg = ac790f7473a41ffae9b73844b74ea1edb14c099e8e6fea5fdca56d5b4b2357466f896319f65814fbb50df7e068a271d6c8a1b36b2473b2bf1cd301941cd08623a5d5322333c917455e964f148d1b078d52d056a84fb1fcbc52a0a5516aeb98c3bde522ca177ee02583969b9ee8ded80e3eeaab2f5384c3939a333ca71695d01b +X = 61f7049928c15413c7f76a693d91361214ccfa307e477818126705de +Y = 2c223c8e74f438cc96f9b4d40335acdc36f12e34aaea137f5c896e62666ca34d0bfba9dbfa696567abcc8e2939a1ecbd85813dc8bb77dd5f311d0b572a942b459f114fc1ff34bb15f9a3aa1655a8a1a1769d52202393c211594019771b03961fca76c2bebd29ff937104cb7d1607b8dd5ad86a7e7a416749a7ac8bcd4b5419d6ee46a2751b446859be83a135b422291624553d64043342a43344e0ba9764c2965bf86fa7b3d9cd43ac10494903fc79352c4782a9dd291099106e07b68b647ac0e5d7339691a28bc087abd26e09b9f907098292c496f26461611d24382c03ca8e69998965c9464d76b586f26cacb382d3bdf7dfad8ef2658df568171cd36df3ec +R = 1b1ee3dfd6863d7ccb8f787504c029d45bb3904fc1c9127a55a3da99 +S = 06fcf66d7a54b4ff1af1008991d66dd60d2088b39f2ecd71b4e82244 +Result = F (3 - R changed ) + +Msg = 9a36fc38fb16bcca0829de14809d859e7049e13317f15d4f8c792bd7f9ec9e7e10196f12aef15220362e30e608bf299239bb2e4217911dc8524136152221f5ea36b902287188db28e77faab95c177ac4ed5a5d384cd1f291dac63cc24c4de7b2a1d2e8de6c16f34a58b658b838150d2555eebd666b9db5145f59a261141359a5 +X = 2c42fadf4bca23e3e92c8241d558e1a592e59adbda4aef05911e8e02 +Y = 6e491a709bd9425cf502d8c6f14b9716f46e0a23c381ca65604ed204a646c7f13220318b3a8aa19c9d7b86526187a01bc5676b4ba9390907c982b234f186cc58b34200fa1acd0202d906c9374da98802284d39a6043b7516f176fc07a365058d210c92de950d91da87e5056b037b8812b0a86a53987e07753aebc4fdc4891d8e2633b5ea07e63dbe1c2de08570eee5c1d8ec5f5c3557e109c2b3fb6e3d84756eacc737f6572e0e5f1f2331409cc354527201c8556b2f8c3ac12f27d6a92bcf23a861cf081aec7f902684c8059c4a0b61b27f852f226ae5f196f7994766e840f0ad907cffb64f3d5c10063e5d2847c57137a7989ab0687c0880171e1ffef33543 +R = bfc0fcb373eb0599790a3c6219b6e348151d4a6e79fd9d3d33755dcb +S = 41fa4fbe6933b89f73100dede2c379156143f110883ff95c592ffa6f +Result = F (4 - S changed ) + +Msg = 8892d4aa66df9f50a731d0a95df7e2685383e047f05b198610ce04a3c2137c144a9043c37bd595fb7d7f46c72be561e5f639bc37c2a906546228e018def93bec536881e2c23bfe3042c384954f1ad6d56b2e7448c34131f96c80942337c76a46f4d2eac64bd0f26070ca2004b8ddbbecaeeed12928929c64ba3f387ca96d1e21 +X = 90a74b0dd257355d03b96521600b2b620646e01a03012c3e69317bfd +Y = efe97b6139708e2a14b421e8ea15005006dcccbba622d3ae7dfdd939163783081e214d1ceba441a004769d1cdf4f122a80862d06f45304317d9232cb038153c1f45b557226f9aacdee96e5c05251f7e5bb33b55e125d2cd2df6c343e25902fca38a854ed98134205ad4068ac0e29f655e88abc90616f89b2211c284e5a37e375e95adabcb1ee429a36e47b7a384f593ba0a97ec28c47abefec8de7f496ba365e72dcacda05c0991582e2c3e94f18d1d2088b2b81e9ae4db6c30a9826af69ebfa0608fbd6d390297e07eaa17a661b44e2cb9b9fc57f9771bf4f3286949786389ff3f5aa7154f7f59e736ac982b035dc0b411aaef6e2b6ba1d47c86ce7d9bf2458 +R = 6883db11c53bd607611884783861963d6e54afbbaf4e241593d7c60c +S = 91cee5b36d624bf16c89fae2aa1dd69ae6da7f74c4f26b3b85111db2 +Result = F (1 - Message changed) + +Msg = a7d4b5c8fa20c3394d352a9fe02b26bb8719f10093f66c3037021a4eb36812628e3cdcd8c5388e26bf7eb6d9b9473a5858fccdc6f79e4ebb72ef0210ad2aab2e115a427474af1dc68bc3c177cf761c647dc1b9c193a023b687bf66bcfda44727df678e727cc3e46372784bbc5a1a4dc993f260108ef11825fa34c029bc55d084 +X = 70b9314b4c825bc254ca5ab674c815b255bc953ad7a21f3597943c63 +Y = b73fc63ce7810db680b47dd4642bf031436dad18239478b1c66864e8ceb11449e680ebb84a06e4f2b4b5c40d6f89ee9cba46f9049da721c50da7cf5a784b99c9a75fa0ae6d68725b4246734131f6b0a9b7d46f75f42f0eec8afd2fb8e5accac56d9ffc00ebf887d5ba3210f02133325b8d1971e5b7aa5995b98179ee0a5aaba5835eb7652ff9d9fd8c2bd39b958bf049d282f906fa83fc371115fc10991d2cc89d7f57f56527455c9f58c283b426f6413647fc458a4355fe623705323fffda443cfa2d1b15937e1b2ac0e7a76ab15d17015e9a2aa0aceed78243cf26df94dc925ca91af35931047f6d70beded728e19b98220858c8bc195d380b0cf5678d7df9 +R = 5e5d65673fc1d01e3b0f4e429061e77382c9f848bf77627e67bab015 +S = aec59434f0dc331066661abfd27082a828143f7ddea16c9707225983 +Result = F (1 - Message changed) + +Msg = b508f795722c2c3398744f938f11a049af4dc4a70301321d27833c99ec4eeb460b7d63096459ab1310075c80ac61a49fe1ecfedc432a49b41b48f1862565c9087e9e611ce7322fc1faf9d1531c7c7e2f19a3dfd0c8e5cd912397efd230b78a9155ee70f70fac7a33517200355db200f060649cfeb79900e78a3bb7c6e4678584 +X = 6cb37f71f0bb31cfb4611ee2d731cffab8fa8ca58e5a2acb7d499b67 +Y = 9c3cb5861c84ef565e2792a91cec28aed96904ef7c9d0707888736382435bc776bf54c8f6c171db254c2d6e9717a4ac931bdf8cec7e133c2b54eac0ffc94445340a2ccee8aea7d20c55ad5270371126151db56f3547d41f016bd05ecf84aa9e8419e5c304e06e09042232e494320fd269765eb5b81c84f5ed36c624b4badcb183cda0a505dbec66ef5cfa0bb4d6257ca89e15cc5060ad19b7ad99631a3876d61625aee6b64f8d52b9ee27d809750f1fb6c9c14d9ac37fa5df68dfc852658af399d1093e11f38c7d3df29c25c264bca35511a99ddd5e9c39975d3d1c9cb657e022ed11f79cbfdcbbe6e1a344bf65a7b651673c8fbb93ab807b6a3e3c375184504 +R = 200e3698ac03958ba68084262e33c7a2a4909ff2b5cd12ae0496befa +S = 4a36dccfab6673862dbee4ee727d81ae9e43f4940508f92bbf223c77 +Result = P + +Msg = df1f9f409705d52d523c210ca25fc99d34a0a12c35278b4244a6ed5541a6cba90fec4a5ca23d14045284714f11ee446d831d21a70e5a59f3160db8dbea2b7c2e83874b2e27076dcf1dc8529c1cbd0eba1cce854b6e77d53b158e38d65b96ab2a88cbb8e8322fdf92350138ec8d53eacf998b5d98cb55ffd85a35520742f02306 +X = 649f6f4b5bc4365712ac02ee55fd84ab4ee8404ddd7e0ba7b9685fac +Y = 1874432c91ebe515e20c60b74c4315032a93c6c4d55018e22464a8353806de031018d9af6e367283aa0a0edfbf061ea0b2349e46fa5ed6620e16cf6b984c9f09e32b73e320460e90b49a910688067c93357fbb1c808fccfd229e80f77b0e5654e972cd689db1fec157a05c4f0a4026dad4718280e3c3b78f13d7c39c47069ef8265e04c1579b7cd6ad04765979c9f1f35deb33b46f1cc7d42395932ab8768f09729fa004a57f414b052d0bd5f63e7eaa26f3bd3330389a1e2da9c44a14a214ac11eaddcbd4f231fe9e00f3b1b84d3ce95ef6663afa161bdcbb31bd4737ef741f69068091252bc3f2c0d4ecd8bbf50f45c548ef3555bc1de8aa9ca01ad661a9d8 +R = 65bc80ac5aa964e9ec8fec27520c3c43c349afd51aad76c97cba009a +S = 711647f2978b45a8d551944fe5373645685421850ed7078c5941bd5b +Result = F (3 - R changed ) + +[mod = L=2048, N=224, SHA-512] + +P = ff2ed4f47ebcef8630296027a0a8e4fdc3aba695b2cd5dce980b02996a68e58f00267f3c2a12f9020b6bbbfa5678f1b77f7ff73c621455089ef9a6e34e3342e6e3b93b99276812ce013122b50e85a55a62694c5a3c05110d535ca821c4e43f8d7016b9be526b7657807ed6297e136f5df9637083cfd5e50b597d3025e8e6d8065387d87eb98fa5cfd023292c37227d0f6be0accdb0fbaa036a6d8e92aa25cd0ae562c70362d8bcfb74ecbfb4c4ccf66022b6c4c168b502147bcc7d107b5eb853b4c4664ea4568d59c631e092addb844c92b3ef27f2559c49372818a6b0141bd41e9caddd951b12fedc118a8c5544a0b1928ae87effb254980d8b01f10f7833ab +Q = 877c18396cd5af823d31e1adf199ddea71606dd5c4e4d679ecded01b +G = 8241b239b415ee84bde801e0bc935e4ff5bf7df15005b69d63c1785e5741cd9b125e5dc4761227f816a20529d5f3f6c0e5e15bca24d6eeffc930faa9fd7c2f0427de6622d4d3cd21786fbb1f8e6963ec57c4c483a9b1b164643e09bc0378801fe3b1603d6128261a472974410dcd504717dc4577a9eb2cccdb79298d76f9c8d9c2e86569000df421bd96a1dc7af6f8e6975b32f09ac1a97432ea48a69b73705f66857e66219eefe19bfd728cc5898daf79be0966e309fe36365ed1500dcc9445883c49d1ab687e221210afc8beb26c03fcafdba5672c6fd067d87aa5915707656f626fee56c35c13f78446be712ae7849f3b04013c8e0bca3eebfcfab9f6bc2f + +Msg = 82cd4cb2cfe5064c226519bde0571114789c0f220260894e2dde7ecce64885b7a9f0aadf2286d58afc5f818a24ecc97ca4bf84e4b0065f9127ce64c79743d9ac016a96665b122bbf4be119b19bce8fde16e94f2d62c824f389b59ddfbca19f878425282612d80fd9829121869e413b56b7b00d6bac7af26f2ec21204d33589c0 +X = 4b5948eee085748f431e59961a1710e6990f20ee41fd2b3fda266a47 +Y = f7b90e2937a2309b5578a53c67c8bf223c78faf89d43c5a393559505f3e9ea70559bbae1bee87bf4c61e3ba20c8c1b1fe2a07caa32b58187d207e9b737ecc0f4493179c5df6358eb66787112e1420d0d23abd76e46c006469845a84b14218cfd7528880fd2dc1488da1f4c108fa15030dcaa2bc3e56da351f4b694f41c6bff952feb0b80f32b2f8c419b686ba94ae269bb1819ea5b1a44ffb08308a330b3086472e9b6f81c83c2cf0de57e7027cbb016df67be7ac8d9e84a138a6ad66f0ed1334b86ea8c966fb3bec1e05e17472f6c72dce9024e178c801d67cf3ba5c0d9f0071a433c7a14e17c38ccf7325e252d1b6e9d9c0796b65d15e50769f16cbef0386b +R = 1128c6e39e879c68c2380a929bd09a7514849e4586d7f1dd4b22fcc2 +S = 056e3a23fbf49abb417988832b2e69f9f6a2f694893fa991e7c72fbb +Result = F (3 - R changed ) + +Msg = fe9a62adf6ff9010076259f63e517a27c46165f61758562f0fe297b08fed0ecd9b53d217b7f327b88dc4e1f214b4f45fee4919f0dc9d9c5a9a8d37cfa0ae51bcaff9901fe84a5079418792b1a3da13d3c5f02aa29ab9852d2d1198c3a86cf87709cb6edf74d92329b15191cc3fb23c17e417a2ed1fda6592b2a0349193cb917d +X = 4d82cd22bd4fcc8bc0c4f5ee1adf2597d8285d50a5a49f2cd3f8c9cb +Y = b59a0ea4dd1d264a617772384e1dd1a65049e29b46b1dde6891e706f27a49c7db3d0c5f52765a45664c3dc66d05e580a2466b1ded7066a63fd30271f1c6da3ba4b059e440c296ce3358390116a9f5f0868a2140d873d77e455f51c3abe9a301db118df9867c007595a146946d30b8f073fffe801ef6a1c4c1914d96ed82f1588abbf9135daaafdb40743aaccb6cdcf86e45deaf83aa71607891a154dd8cd7200e62148dcc952f3f6efbbb879ab5f5d287f3383ad0a1f26590ccb713e70beae15a1c96a8a23c977400fb0a3d5c2f8d68f99200adbb4a15bb22c82cbc2c9ea8384ce2d4033f389a0237df1393995157fd0eb4a52788d2cc2e48adc7c3c10d63678 +R = 52be004f07d3ffb4345152295cad6337c74ee04e789c50cc11cd3d36 +S = 3efd59c55e5ca27ca998ea582621877557436c46a788264e5e584d52 +Result = P + +Msg = a4e41d80816f2d07a6fd5be1eca551df3754fc19b33543ed06792ecedce6a2723085402bb6c14f852090d7162028d879b3a840768d343f964ed0526c4c5d1c9334fb75b897d8e95f261228df162e244838e18c65604d17bb6191af7f818fc29c21e4af5b20375aeb4617e78cf66e150def38d8816b58d841f400d74d5562838e +X = 27617b5b60c4b7cd8c3a74f214dfa367005855682f09529c6afccee5 +Y = 204005449468ec42293aa387ea23834b83d6c6e9eb6868bc970337cbcc7adeae26ea3a4c2b002791540b56e978ccfab11a096c3b9ab0a38f238aa0792fcb2a69e0cb8b1e8d0e00b57be7165e61795e92c63090b102c5694b628f1037266bfddf7d6693f947bc619c62d6d2333867a45fd3d6096e9fe5111913464f4bb8db570004b1801e9d733c3072ac69dda789dc676aab30dcd6910312cd4298465913d8871295ae8b976548d204e4e5b5a75a179b50e54f0b85157526d406c8f09fc7a7a9f3db65463ec7e654f01a7ce97dbd91a5713d96f19d13edc59dcce0903a75c07a0c20ac74133d2e6c6925343c5b9f10c2fbbe527dc5fcfdaf5f8bad13d078a727 +R = 1cfe081d0bfe8b75825ee4de05d4885a67162c4315d55246cacf5f95 +S = 3dcb04852d1f63f876dd13efd76164f14ff159e2028aaf43240d0a68 +Result = F (3 - R changed ) + +Msg = 05cd5f067535b45ea8bca97b777278fc68fee6cffda67be7bbddfcbd18aa488c1f2dfbcf63fa9aa2a64b26f7761ef558569a9b2074f933cda28e48c0404140a11c9aec8e626af8197eb36a7fed4700f1c8ee80c8f6d33e920c156d2f4d14e54a52c7fdb665c3305c08c7329fa1e73fc2b4036bbbd2038bf7d22a9dbd9cb7171a +X = 2e933c7e531bcae044fec378d8f1f1641b070b35f566ce0e1d68ec96 +Y = 34428094b1b5190192a0b4844b2ada5649271a7e99028cd734a0ff91868448673e0305122f98d87178d71691a56b08ae39bbb11412b89d591a30b68c5d9c5ccc06239152b29048861250265a32a9eb06555712252a46ac5a8584e7e1bdadcd3af53ce12c9de3c95d0f0b34c17c078a8f921b720f9d463cd44e414fe96883f8959aa3624b70584632022d7e66a11d14bcd0b9a3e19dd60e94db88c45e1256e16575ce0450be099172a961b05f6e124ad3e847903f4a1cbe91f38accdc34536057f3264a48e943ec7888cfb8c477120c6885c94446c07c2a267a3bbc0318e45cd39509abf9f04f8ecc05b393722823b22afe078eb1269050afcbf6b40ccb1f4010 +R = 79ebee7aae2b6a573e33e2deee48e3d5ae43d2bf2f316bf35459a749 +S = 72283f59a88acfa93614b514bcb9aeea4a3a5d9f0727825f33e5bd34 +Result = P + +Msg = efe4f4d5f1e65e6308d3f5399f91ebd1f3cf24bd4fb7b673da50f3bdb60a70ee959c81e2b954b2c098ac64be0951257563ac6700d648591caedd0cb4846c88370b56a76d22d9f5e323a25473637ba2da72cd87baab94d329bd0d5f77be3df96473546fbcdf6f3d6b585c982dab91b81be7113832db85e2a25af5fc9dee9abbab +X = 49236055dad2295b6ef95467cb9ed35f48f84ed6d0b58e978fea4350 +Y = 4ea04fcd7b37bda45267b5567d3176f944408406dfcd98a3f178ed364529c4f75a11de6f1aee5b7a7a8bbdde0d9294cf0ae4626508c9c12ce23ff6ea7fed80e1c5244e573b8047a718384810496c43432e6bba6e31d9a82430a520e283765ac0c3e2d41f146f58264aca5b15ced1e5d406492acdecb5a9b656829490b34d084a5664c55f50fb95cc8eb8257463f4899ebba8f1251c95f845c58223f8a0ebd7098e398893b1eb20a5e35e4eeaa19ff41ae8d62e031f9e2c8034c4b686fa220bf61aea2e90f591182430740ad79e0dffbe35350a9a9289bee30ab1ec08d01ad2323a346c95e4570cd7c410eb85ed6395916203205d190fc794e5b1e758bc95be18 +R = 1e073347e5601e78b3c8319ae5eb4a5ca9967fc622db71dd1dc10c55 +S = 0f3a1cbd2485def7798a2c296c650c68bbe02b05b196f690725bb439 +Result = P + +Msg = 1b3b3bc845d4ec2cd35a70ddd2d4b90b9bca9fff19a82274dcc30114cd22a05bfd3a21cbb11146f80ba753817b84131d0bd3ee9ad7a319632019cc1088a3823563e5ac86b8bbacaa1ec72fc71aaa82da6fd1e972a91bdf829e26d3398867004e35f1d72565e4c094b2cf23908e6503f15fd307f5f4241c8797ba3cfac8dc521e +X = 32952edc0fad35b897b9706fc228686514f2952662fcaf3487e7c8c0 +Y = dc064cf9faac7b372cb00602b3538c00d881a36c6d5d152879ddb72337fe8f4fa036caaf346e8fb5407afcce2e8cec775d73e357d36322bfc594a5a6c3029b23719e92979a8789b3eb88e582fec98291d5ecb61f0cd4a3d535afcf39ead6cf13d9fc02108c91ddc227b0e0219c3899563ec134eb90368ae18651cdea501a451062aceaa22bb28b88c95388acfce3f0c0dc59dea107808c8a29133f391c4cc09755a367b411102eab0aea4776653874f07cc9daf839727cbf069fbd1638024e3972b4dc8366892e7a1c9ef0a3506c1cec3116bdc6a1c004e569442cea9fa00d7dafbf469c8b97b9db23e488d6f70279898e9c974cf35cdeeb239350312380f73f +R = 1e0239661fe1f5a1b949dda381dbba55063beaca0aba37e2e7c0927e +S = 82262f10234f5ca7424eaae854fc65b2e691c84edc1bdf2813adf67d +Result = F (4 - S changed ) + +Msg = bd5d357eb9e45d33da42e75dfbdf19e237df3043428e1d64101b681b5130edd3d6eef89cf21cbdb752ac37ffa73173a8064e3a63a54c2fb491983b55f348aaadb31c342617bcccdb419a226f42fff0411cfecfec36ae1dca432b537746e4a898d3ad967ac5c435e710825eb07938e92c675ea4cdf64ceb64402b584a9d705cf6 +X = 2a76eed0f6ddf570b0ec5af32bf38436b7ad105235c7dc1b3fc4a1d4 +Y = 09f18d03b2190b994b5788586267e2f1b22637f49d5226d23e61a791710e65b446ff95267dfdf90fd7a425754bd8a023d32bf0f54999c969d154bf6aa3bfd4053531909d4058e5ac6df8c0160f5669605439cebe11469c0196e36a81d37bd88304bc6c8410052f48c90adcd2a30a35283d288df7f67b45bc070debe5a51b6ea7f1077239b62f59016c3457c1ae0c15983564f8eaa1f0128d33f2dc6226e6b7fbeccb07056f0974639fbeb69578be5c3a22ef84bee4eee947aa5908fd7acfafd293a9a6702a645ebf56648e5f6bfbef8cbb5731729823b08829859172313e8ff0bcaf6968d8570ff00aed7fcc2f4530ce29c7b73f975b9c2fac574864b903e4e7 +R = 6b0f199589bc5426c1bc0e0eed45e2c2160e0c21b65e83be68051fe7 +S = 7c17798885981e52289e0e44cc3b5fe8c71d0b7e289c82b6b35e6382 +Result = F (4 - S changed ) + +Msg = db4bb5299e4adc8fb051857382a3092ef916385238e272a77d8c0a26656a0d835ecebb1fbbf83aa23011ff54a61688a8d56421af6c1f349b921cfa4f746945f5902079e94f6a69b04b3091474fcf5c9545836ae0f444c4cc60b6036d87961a052450701b359496655ffe6e731ec9c6a94a1c4ff94dbba0623bc65f632749a0bc +X = 517a91fd8eb354d3e1d153acea6a5bca1fcf4d82d56dd8741ec53816 +Y = 0ce04e534c05589fbe98225082e720d6e27e74cd0ba2aed7114848d40db9c2dbf5b8fcc805b31e3e8fe74cf1c6eb60f7f3757bae764e8dbdb721d8f2afc7c97a14fbc68b4eb9b4147bafe07f442b1fd366df37a67c858b565fbe2d7ecf7f0832dc3e1b36fd4e5002f3a3186fb7aba0337029b07b4b042206e381306e4be454870f009347e25fe01c776bde6ec086e1ffddc5230bcdc623712e260bef5d64b03f84d864a597f28786c2cdf84de6015b00600fb77f143d352f8317de933fc0ee1fe8faba5b11b9b0683b4a8505f7fb5a831f03b7bae1384a1f8d371f58dc67768038400fd02ab320d4e1f7599f280d6bd3815d6882d47906581d55ae26574d2d54 +R = 7c0ad3e5cc47209720db9c48e92a37756040e9088c3829fa3e455c7d +S = 71ea77d00fcf82d6cf823a3cdbf8a206799b3f2811bdddb894dde1d7 +Result = F (1 - Message changed) + +Msg = fdda3e39c19ac06dcecc0a1541951a1ef4fa2128c843cc9c2d39cc61a8eb5a6644f7d8e23b454d2bc290313735552e0ccf67bfe1755fdc3e4387a9ac08bdb4ea0ba89cfce0586a09e0cc7bc80592dd07307d7e5e00b8c82d7c738da79ec053845b0a1e14ba0639832656d86dba34a46011e0ff52a53f58db7ef66e7f4c99f6b6 +X = 3cdb706cf894bd2aff4ac680d2b65d60db9eda2a48b0e3bb12f5b278 +Y = fc617faf81878cadea619e9239e02d10a4a748c30b66928c1ca373d9f4fce8ff0953c03432e971734597000465dd4bf86a2c7d78644124ffe33cdbb5effc46cd5657724c189a27b3484e9639375b85623f3511b77cb525bdbd3dbc571709882550a26ecf6997dfe30ec7bdee81b86b0956a159287582bb67e775e4619b624a01b6a58b63ca0dc20d74bae2b069931523645224e7f21f97bec0f04785edfb8d3307259ebe8c30cc207874bbbb691e0f09909d3ca41902b0fdb73fbdfe9429235242ace975f7e456cc1f33e2c6647365510ec33bcc30dd751932e530a375143724c71a1849401c2d3406d3a032393e37845fa123f85bb13115e886c67b2a6f8389 +R = 3b25eb8fe824a6f5388320c733f5752fc58f3d536f4a23d510de6dd0 +S = 0f87b484176565e7ced76c07d6d89590c47ba52791664381cf4b0b5f +Result = P + +Msg = 7d65c3e06b6250449ca58bae40285064e603352128b9dadbf373c924d57528e19415b62e133d4ce0692ae0d08ad258069288cfe14c1a17d43c14f2b92c37f6e7f08d421a20f6793959eb8284c30fac7c80bfdaec1346f750c7cf6d35f5444d04c36e36db3b6c9bb2237ac7a0e8d48bdccb6a68c37fa5f511313201ae94943674 +X = 86da092f0cf28301cad92bd48e406376b121c567f8cd363e7e64d89c +Y = cb2a2f37ecdaa6264a4b1d0669b43e4864fe4a7f66638b40069fb0be6afd8f68acc765990b0825a21f233bb34dd3293a09ea6b3c0640d9825c5b64b567a7a8b40b682adef20c1fd84a9f6634434cf9695447c7561c44977e388073542be8599ba811fdfcec96bba7d73bdcd94a818547b21d7325842fce5335d1f1f5e77fc8d3fcc2d788e11298915643f67438b099c03cb87f9c16115a4ac747609528e9d5a6eec234833e35b44bd7e60245b9fb97232216987381ba38f7a63de7a73c3873d1c9f912ffa1c77bd0a25ec3f7033ccfd250d233274574ccf8300a39cb7bcee051ee42d133b82f91a02abe9d51c8b6faa1e8b8b3b681feff1e471c5db39be74fa6 +R = 31ad2d2280cc3239a7d55a770d071d262aaa3b2a55707309e720e51f +S = 828992f3a77de13914f16078ccc3f21f2d3b754466a508269896904d +Result = F (2 - Y changed ) + +Msg = 6703959bf87c73f1299a8a821b546afba1de3bc96fdc50548c250aff4f93a4c06b14670ae5577fef18deaac9cd2ea5c54f716f98b51ed5d88603b6201c7b8647be19aed4e76ac4cc50f6f6ed6b52f0c66755d536804eade5ec86c7c6ff0a5004334f83b9657bf932fe2f16ffc6115a93d7700b177d6e8cf4c96c91f37903bfc9 +X = 1f333b053b0d801d935bc0b470da663b809dd461cfc5594b73c6ecba +Y = ea2712d44aaa911f36c2bd316f066c0b5b83f4ea916133faba03a68563d05fae2b8ee0a2142a87bc996c0c4a3a152631dbfa7b26bf5cfdfe8cdbd53d56d8e07536ae4a36248a8c47af4953845bc41759788031d91de12bf62771ed3bda0c17f54e518870152a6f7f59aa5f837a856f2f50038844aa04efff8a24efc9f580e64efe8d42960c48eb63dcde9c0ffea992e713e6ef2c87f1edb2ea3e18fb46012df7be424fca9313d3f38bc288a60d50a33390808f29dfaa2c4f07de5826d0b227af6bc1c2e4279a008e8bd0869c3cbb263668f4368fad2dc530a83de0dc19591797a6198514ed60cc8c88bfa6d037d9c219420c6d0932135de370a5150af9a57696 +R = 57a3508e084977b5bd034fab237b75f3c7949737cc007d1d02c98dd3 +S = 02c6eafd0b27112c82b511557d9f515e525d72e630e363fa5b344f77 +Result = F (1 - Message changed) + +Msg = 78799ad8f3b7252e09bb330dd5d73481f3fb01bccdf1aee1e39263b74b38f6d89b745c9e650c3f9bac63608333d6188241a40ef9d8e51d40cb4aacd7025420f48bf2505f56bf63d0ac2f28b927be7108beb2c4745abe5ee84d929dd71fc8f875d95a0c1414b0b91f55b0f544e55d0264b2647e5da141d47d4916d79309b8607e +X = 71409fb7dcd7031bf6c7966724ad875fb98ce6ff122cb367c0b94fb2 +Y = 52cdb7cadb0615a72c87cc7a99d660c2cbeaa738c043c9c216d5c79b943ddd19406a2a5bdceaf21eb713787f3327a0c0ad4a4fdf86cbec9bcad19a541e5b4a8efb71a0aa4dd5851625dfc8566099b91180818626c22e9d63cd72e5c96fe00adf92690e12234f160219a68022ca8fbf945d5717adb530b44b3f2ce0c32fa1b687aebaa6fc2fe5f9e9789201e17dd39d08e338bceb9f9f11c21e740e2c0ca259b72c016f005286efe413885be7f6dbdc3744c839199dc473bbe153e1a915bd8db446e6d667edd0fa96ea56ec26d39c5e01e08ab67db2de634984a2de858ec9fda3c9e83aaa64010ac7bd32f49a4496d98d47fd1847e3ba3cac1eca2ba3ba91d789 +R = 0cd92afb4e88cb3fe3c7b90fc15017346182c944971fea167c0dd5de +S = 08e84649a8f60da393658d72f7d76fbc8e8998fed02d35da126aecab +Result = P + +Msg = 49d37a989551d6e37469a18bc8db05df57d8724e3a1b970c06648e50e445a6720f2cb9ea8393088b0fe28d738ee15a5163f983fb61d7203dd993a2b023943079dd54b97b66320c6d8c14f3299d027faefe9bc6a31fe9deff2f065f1dee393787d373b330eb6fb78d3a3f5cdbfa0cb26d2055e0616cdd5c2cefb6a41c04a8ab62 +X = 465ada92023e4b41a6a4ba022b0cfc35896f0e3b4ca442c01f96b574 +Y = 8362466e0a26109538ecf0bbfc09ef980b69f6aa07529b3d6bc77576df19a09e989fb17b1994cbde6fe2a82bf62550800c4bf91e0af4c3805f09bac0c40d37d344d276c8030d6176acf173e6b74199c6cc9982b2e77892ac8e62395d8375164b8abaa14b88e495d3c1a5b7383430752f2066cfb9e6242d033e78215304bce78f0cc07b9bffd3abf0437e6a9faa95f0e02d1f35362ebadb501191ecacabaf4b42cfb1fbc7836f02bbbae610aeada632eeb0656e1b13142db9c8915be419b8128e0df64c14f7b7b7ca0f0b71941e322a5bd67b2730442cfbb63f247739c9b87d082268e1c3a2a4057f804fec8e3dccb1e6df249607496e5a5b189001ae787f31d5 +R = 841cd3fd9ba815114a5c0882b84956c781279ed6aa06daa733f8f0a4 +S = 767e1903cae6d2fc5cdf473210bf2334a5c71bcc45f84744c28f7c6b +Result = F (2 - Y changed ) + +Msg = b1b008d5c8aa7ccd14641f0d0c484352ad040fe0904e6102a55b243c66ef4d70c28b3eaf43d77016fec946408db45f982f47c16f870d70bd3481b68f5802690e87eeab04e109e3e0a5e9ad31eef351e9c84219a083e9b3fab585e6ef67ae213a8b2a9cbcd511a9846f4c953980d54f887833a2a01155810c885bac2eb2fe8582 +X = 4432392ef57920d5ad2da27809d8865414ab64554aac3db2765339cc +Y = 554a1dbe0d2287c822a68515ee98c75dda8412c061280f3b5584869cc916b3a2f1ef7ee9800df6a40ff1a8990d33da9d285eda5ab1b8932c9ae33569fed36b34ed9c2ca5eaa4df90a85bd9248033a0c5d7e79adb33ee4d64fc56583de3a5d71a5ccb68144ddc7aaabcd27a381ac7cfa718b408b3755b342a0cf2038a0989cbfe36bfa7a7fa10504c39b83951b8fd2909498c59f1710b7326a9785ec13ad78ea26a8d03db1781d458a0bea5714a5c0fde0a07b846d464846cb27d0c07b0d59e3f40587a6b5ad1334ab9ec6b0a329406c2dcd114af17e6b6a4d77bd04f170f3a9f15c0d346540a78186b6a6de4705c1b6e5312d442b6acb221f997ac45bc3876e2 +R = 05edef572639051b0da18f0bff703813781a24ed26b9774d9fecbc12 +S = 84751641f5b335f6e0f5086d80f611462df1da2841f19efddffe7ed4 +Result = P + +Msg = 41f28466340e2d61e32cd52b7fedaefa23d39d8e19a615ea9665d5a59696fa029c5d125b03d104b194f613e951eedb820688306f3cb6478dab30aaf932d11a37d88e2d7349ba2f176f189d1182cc555b46c1c6a69f878fd3d5a74bf976e0437931d46504e138db896a545451b86aa8b04259849db566c5dbe850f39990999595 +X = 3a74ec94cc12a62d3909a6e67958a98d9f4b7b7f3c64f2f84f4fe0e7 +Y = 1e348dcc63fd861ea66237ccbd3af50a910b7f015c680de666845b68473134c3d18769aa1389d148f3b83501e5abd05bbe689e54f961e9640c67691acb214bb32580b880b24e3274d820cd3230d1ad12149d1ba14f474bd2795f3976bd405f8ef79ca5a83e357f35e14450cfd2f4af8ad770e5bb13e7d281aeea4bf72187f0cfc955a669960d68ab7b452088a75535d67b74829856b6e9e1cae2c036046e88d4192f2418df09045a638de32dbabab30c26d0b31b33d4f492e86432e4186de838c0030550a3b4c50da22338f59e90a14abfe3740e7602947009ee69048ddeea94b266c2cf64a5916bd3e253bc5713aae00806c45b18177611500a95ba0ed00d1c +R = 2fa80b8fb144dbc4ea22fd555302a29138b13ce7ca45d3b96794c84c +S = 6cbd53fccd593dba124eabe1b6dfa8276c16fff456b889cb337bf68c +Result = P + +[mod = L=2048, N=256, SHA-1] + +P = a4ebb2eae2294ad1bf8d982c8c518e18c3da5966b18e9c4775bd4486cdd3b405fe217c5fe0baf1db647b7d4b844f69fe5880590304f8876a37944c3b7a07d1a743d62ce81bda227283d73dde5fa1cd442e7e1e1452fb497e83dba502803143afa7e18a40eddbad646ab63fa9853ea17b2b069872e7ceb97441a66fcf24d26a3b08f421e6b1c17f787a297d547779efbf9def8bc659ecb0aba26066b0616621e636113ca08945f045e7ab63c8a1c756cfcce1fe661fd95ae3fcabb626099a82db17d2a515b7bb51eca69d30953edf8207bf22f3c0a1e70905a46be40191f644eb46473854b40dc6092ccebb0e674a6a8736be899e9033783f3a22944dd70fc21b +Q = 800000000000000000000000e55cab1be02c590edfcf63d5bd5c341afcd50319 +G = 465c1744d5f6653752513c5fc45748c4f4e4ff397211f1340d2361b0b21610b4eaaca1a16cd15ba7c47287581e6ac11b8c168f970961471d4df00ca90c6f5fea384bd26b03bfa853e65b805fd66c41cc0d76cd318d60554ac64eec2439949ffa26267ac92a160278384877b97263668d6af9155cc6971f54a2a5c886a36cd3f74138e87073a4ba20a9b9a1e6b679af1dfbc690ceec2ae7cffb1809cb72ff5396ae62b2dfabb9144daa5b42f6435e198ca6aabdf21cccaa3033051d0949643956cb050701abcbd9070d12d6d595845cce92d749c2a2708ac72f1f09ac6df692ac0394d9297c109186833902d5d125343a3611863eca711de5064d990a8de3fbe1 + +Msg = 018496b42161cb1ed9da4cfc679276848697e170f19b2d6592c4c3f5a16d1afad966194d53b94c9e1cbffb1743f7453317df1a3d67ed6ed9db56980b3ed4ebe2df0a80a330dd6403c946f3208f72bb5625a160e67a2fcff7f193ade0a5d87ba6c15344cfc6330e23177a5aa485333a1c1fe8c17d7528e3b3a4447ccbace3f96b +X = 416b15f4edf002968549674a0e21081ef8b1b51374759e814a257ef13020f837 +Y = 14cb9d16246f8057813f466f512328b5647bbe2ab3232efc99050bde262d3a8c8a19e04753a9d3819345ef608d98842142e64b1edd720f63c6fbd81c8985a2f6019cda6c6f8a6f0ea681d28b59ad12f3e3cf21feeeac874ce4c39b7ea4684351804f6719c1beb0b6c35dfcaf57d7e692f7dae5ab4712ed472cf6e112b31ceb25e71674b5e2492f663384a01f0ea9df3f815db57ef1a56d09982e0bb21d55994029dd2b1de79f609f13a51d3a48176a4706a638858dc6208b8afb3e5b494eca4b2f33254483afbc6440644d480c5a34e93dd5f805a4ccd83244c539b4d3e9634759e8dd555ffa9d942020bcb73b893aae8f7ddba70e356f471a1b45fa09928620 +R = 4a98010c571821c315594c3a2cde75acf19eb2c702f8eb12ee7c86d469c30c44 +S = 43d78a9649f3ba0488c6fd7d2eae3a2c8f932d9b3d8a6cb3f676b1c1ebbd48e3 +Result = F (2 - Y changed ) + +Msg = 5e8affd8b4b518176cd92139257f37abf38a645b1f6cb8b749fbf1979b5614ef4afce51064177855c4de469cac35cbd37347c1f04a67a719dc02217e4e48d6ef50844f7edfb88e58b5037fcba33bb4795db33af88716094b9be71519c5cb46df269010920cc5412b3daa1225711ba6fc85d149721752b37d3d8030f0897a68e7 +X = 23214fa1e1abe345bffb0f30cd5d029b4054e637f2a2a2c91b345c78d8aed436 +Y = 1fa3ee5bc922288edca3831c08e5c88bc632764ee03972a83d5a42951928ac6b2f120dea254c82bfc93d8c62fb87804d6aa7b4533dbc50f484f515ea5b746f9a13598e80e37009dca2d698dbe02512dd1f1e7d8dd7fcb20e8f9a7241880bdd1ec63981440823370d40dc943a658526bcfc2ebdbf66dc3f1c0ac36589bfa95aa89bd86128476a8c6d47aea6eaf6d0f15509a8fb6f80320d735f33665e958932dbc929ae5bd2575210b74aa253e2e6bc400a625abf912ddd3528a48e4de5d06822eab2991613642016c8fa5f5abebee9ff061e9baa0fe43884526b548d169d83e9070f35178ef461a2c059ed5a2a2fabc7e3a1b453dd24c003b14985b73d6e8ab8 +R = 25fdf2cc540fd4f3eb327e9fdafb3174545614011d5e950da4ef113351300704 +S = 457b7b7db84c02f4692641ca26eccc926f8422d819a5907941dfd64a5f67df98 +Result = P + +Msg = cb2644d977b39dfd7f2234383bec9b0b3b955867abb9a630a8b3ab1ebea4ad6cbccc3758cf9fc24816f687be3dc89781182c13b7b5f4f3b0d666e340007d8f7b447be3587ff1192e42e74fe74231e45bfd6dc8b88d567b60de413fcf28cfd652f7060a82b6df7ba6daff89ce803e8e48c42b5e0e1351e993034cdf823825808d +X = 0626f1b3e4c045c36d5b759faa89e7666d3f5f8b4534d9fcd61cb51581d96395 +Y = 327bc00fac6cd5ab672676e7d4b20feb8927e829cb048898265f096d4d4ee424e7fb79e5bdd6cdf612751038580ab2d70773f1a1809a67c904325e6a46128b8bc9f587251a26fc1032c1ddc08e1fa3b6ffece365f36de99c4d18436de763dfce1fd728d37c75b0e0e0812005b21989ec2eed5aa664052617de011a57f71ecb88ac91d466f6b1b3b75f4bb1c797b9f1e3169d94fb91a57b0dfcba344f641a06479535e4276a943bf1d336ff5e34a3eb3aaeb923ca0b94da1b7cb208fca259139d45dbebc95633ea2449f43246bfe037ddff099618fc4b9d2ec645d0085b7c74ebdf6ad1be6a12dfa22c54c4c433af6e76f0cfbd1631c2a58683b3fc20c5dd82bc +R = 02c2e4c3261b0af8ff983a9d0d6752578c6529019298825009d3f50c44a21379 +S = 05026b21137ea5835037ad91fe7077103b1a11b51fc17b9d802836d058668c33 +Result = P + +Msg = 8e976c495de38cf93435894e0a40b0556e9016258e23a10b749385d62978d7578da74afc77f2e68eb4f15468b4cd3400dd0ec141f6904c62b5817e2150b823661636d79fd47e2a8d8f50ed81a1ef7d8c3f4736a1c7873b51d576b26e3fdca36610283c6c5bad141727a8ef09a4274a55ea33f8ad07ba0cbed130a027065f8adf +X = 7a77fb5b6bbb528c5ef5cd97ce5cc6e7599b14e3770e429a911e0fb6d232f61c +Y = 296a74907490b45bf09b4826c8add5fb78e63575a65bc8f9cc1b6acfd7d536418ab9f72cb05d7888df26d037370a7b46b4e420408c257a5d6dd83c1d109983553fec0faefc4d5c2aa81e7534807a16d68301ac2fc14a3fa249bc556196ed1503528f15d2d440c7a883749191977ded37b2288ba7ba5d921d4d6ed0f60b619f265825bec0a4fb9c13f09c4655dff1eb83765962235d21ce27ffe18bc37f7b8604484379b279146f10dd235c230270b08691f10efe0ba588cf0cbbc5e78603c239b854ef3729b71d07012a4fa081f5e606814913a3aeb6d1b37fe9af4838e00230ec6746652785c7001d6b696f98e90a3c4f5c2f06fa00255b00d7038fa8bf2a14 +R = 1b237dea8a03de6d5d14f3749f68f8493c88b22ce8cb48bfcd8d45160b904613 +S = 73158d8eba0f1367e451cd1378a00cd18ec6cfc45c27ec63aa2d3417487f2904 +Result = P + +Msg = 70230ea5b8d1f5edfd02a6ba8ad8c066c74df92f15693ed77e01bfb5c7945bee1c3ce6ae93c06f7421a48256ae4f1cdd69cd438f6dfa4ff9d9168d7391dcec392d4ac1b4c5112e2baf12986d6716c65c614ed7205258aeca47bff1de27ca2c506753f8fab35490fd7704f81c120cdb82111cf9a9e2431095fd8bd38ea0ed1d2a +X = 5293b2e3117abdb46a9097ff117381a7c0ac88f4c894341a7c675397a5605665 +Y = a462e8f8c4ef5ec52fdeaba671a2de1984ce84fe1701d8a1cc7fb988d36b3debc2d8a77eece18f679a676816e69fffd868328c48f41e2155aba01a6a4df54cec923015a48079c5964741bffc575e75cdc2fcf50e01d7991c630a3df05328ce03fe062777f3485c5367c6c423cb2632f63b0e7d4e25f55b6c6d7d3be4cce25f3c55232a4a08d36ea2d5366054eb6c1ec5a6686a61f715c8efe3d1c1b317e2a9defb6fe779e0aead0d1b551cb1d59ac6d4e9ae993baae0f9b28a63c7950f9d139afc0f306e286ee59970082eeb615f46abad893c9ca022407e61874deb1bea4b052b748052411244608d3b03a2c5026a720ff964a3d5032b76550e42cecacfb799 +R = 37d56893a4532ca425d152516e241f9cac1c1fccab7a8801ed874e9c8e4429a2 +S = 3fba57e715047bfdf549b0c37e561af7fef6acb549cd58df89b507f9ac372659 +Result = P + +Msg = 8e8a0ece65d44eefa6f1b72d9103569c00c2c27bbdfb1f13fe8802b624169d0fbdd4b28cecda8b7815cc24ef09696c8a896d9fe42a988edc90d7e26a83fc13bf4f5d2cc0cdf5b6f5f373e0eec4bcdf56e9c28fc56bec3f8fc06d7e2a5da565dfb3e5ca3f67c180e340acbdce6c248fa74740f2a99e64306906712881026b3915 +X = 0b6d9c9db4810f579bf7a7a5ea6327bcc4e6b91a744d90ec8ddd64f9ef9f102c +Y = 5c41adaa61c391baffded1576493175bbdf8190158cfb9298e2b1f0a96dfdb8cf358a4b97c9c2889c79b23178036196e247551d1c7b4bd2b33ac6c146f2af050276578f0bfc72a4a227dc92df73559dbfbe2c4ce2b934430e284d72204e3027d3de521c193fa0fcbde9d2fbbc22d2fabd4abd6772f0c6c1f66d5499713328a22f62942c4831e9dc4436425337e18b067ff12cb16223518b5f68a9a7fe8cd4d7a79ea06be2c54214918b7eb66a4e01e508014c68dabb797d0859c72c9f0ecfbff320de6d0c110cfe72a9445ed52b78899601b1ab899e885d6ce34fb84ff607502a71033693b5af5630cf05660f3fad93d37446e082191e18cb83247a7a45227af +R = 67f04b2f43344f782a5634bbf4efb683a1cf508ebd8ef996167db21eae199751 +S = 353a8c2bd873afe9afe89e44d7f3b5dccd61704839eb60208ed81ece3522f9d8 +Result = P + +Msg = 54a7d5a2aa01e37b759d624a0a1e96b39f82c17608222e3f550c53f6c0da9313e7947f6e841dbf2034f0afbeab823f5ca4ec170b02f9a3c0516ace8e12d386bd5cf4f3514091eb429c53ed9601809e8f16d02b2c0ea2ca46aaa1097c49b64236b46ea3a971ef2693fc244ed4af7fa7ba5e00dc45e4e9684b5fa0790ef5c0cea8 +X = 2d51e845b095f48d71ba7e7abab2ed44cf6a387bfd265346ed5a7a5378d553f9 +Y = 5453ec00c65607ad3b31706b49f585f1c86d498096a4e2d0ce5f119cc0f5f137bcc3b30d9b8133e87abdbf9489b3271cb677b49852cdf00a6e88731b370fc1be2618f0aceb8f2ba7f4d90426330c4ab766cce3a6232128d720d73b4cb2ff4e989776ebb39ae699968f3f8fe77b6ad5156c1b4f7fd0aa7161887528a22bb4c5750a1f498ebe45d06701e5de29f42d434712d05d1594fca39ffe20f7d84b099520b5fb728e9508d31c37f3c2b5d5f6bb34113d9749721bcff7f6090f9c5142a7107d5609a644a3ab309910fad8b10f449b868efe5d4a0a82ac9408144eecb2e195478936eb0279befe34839dbc5054591054b88f57dfa0b7f903c8a1dac1ded7fd +R = 5a01cb99c6ae0337db089b17b5cc2ef56f9ebac347aa1633a424bd808fbba26f +S = 63972a3cf6c44bf7632a8203c6df70600bd66825ad500047b2839e0ff318cc6e +Result = F (3 - R changed ) + +Msg = d37333ccfeb61df1ba0caed17dd41b170cd3af8651ae991cd027e4cfa451592b64b9f45c12d529198891866338b963c5d1a690e77b617331b4adedc2529bd28cc4058f51577ab0765bacf65c964fa3c2aa02fd9cf20d650296b32282c967eef5ac01d817a3599f77568b616fa6b4492742fa452a53edae11f658ab157110844f +X = 04cab117a13edec7ce65cbfd6c1c56f8e31f5081e4a396da38e5d4ade238701a +Y = 15b97dd7325dcbdb4fe7b6ab37b2cda6264381bac8f75d980d739d020d73dd8b4bdcf1ba0561c2e5b2a20690df5c301e9b45d6139b13d04a973bcb6bdbda26f407dc553294fbca092fd079db55acbe4964b2f9eecccd57364bc0d221cc66360b535e5582c0ab322afade7ac1d4c01afa51542b0cd18cd79468c8e4bda812141a0206faa82eb005916fa6087a125929e67442e54c434c6b8bef9242cfb9feea066599b8e5e7bdd479173a03577c7e71af812f0439e7dc2b06a68d8d18b1ed5d50bb66b1af012ad676731771fedf8b32d86c471e3ab4db903e3adb5fc313e2c0e64f5d5851e219e00cd7305b2488a419e34b75ba06469607d3eeece55fd2956d46 +R = 1d765ef1dc13896ad9b0eba5c1d464f9d0e7267589145741d37a129b639dfc27 +S = 776cb89a68bf1e063971d25ad8b8ba759ec4afaef84397ab559686bf35c113f7 +Result = F (4 - S changed ) + +Msg = 08a66ffb3ca1a7f1a7f68f58ad25696bcbbc7df4cd1c8001a5294f9d3999bd7636373ac98a5ac0342084bf27780abdaa5ae207032027d5a337f0e7dcd204671b437809daf4a9d736ded334fa70126c565284b5b0586af81b37c7cc50f21f2c403fa2468cea27aaca8bd31fb9cd0600e89884b4e8b027e0759a6ae950296e0d93 +X = 5975b6260731b3966a96d45dc3262e6f59b3fa08996a64a5981580e3e74039ca +Y = 1ab3cf1ccbc1a52e4e291595f0ed5a075f5e821d61cd2e1e4cfde1cd7db83cdace67b2c0133268a2b47c6f40c0c16093622409797fb813b988d860743144a8363915fca4c3439f2096b9803c109df784147333344415fe14845c8d7d45c083b2ec707578be7fcc310cbcaaf43e969b977df636f00e8e2162a438ba13ce74e299e0ac5db0448f3dc4cf0f6f86144440a9de2b54df0f3eda39b0f9b2882bc1eb45d6a96bae17b36be27dc80c7e0fb48f9c5fdb88940c842a0a44e5bd655b566482d76ebbc8779e1720fda2083b2adfeb2929ed20cde4747cc88f482aa490a4393e65c5c101b99c58d8269637678d9fa2b21bae255313258abab9ca0020d9c2a213 +R = 1c0c29faf6ff2e4a44fffda083f84383e43875b25d44d865db5333530498dd6c +S = 215e878fc6597296aca809ce43c5fa2eba108b810d57bf8b6c07c2b3e07f0b5b +Result = P + +Msg = 0ea3a9e55fd286447917b5191c5b325012ea1604c905537f09cc3794470484ffda28744b3e519c2ec488737d5061a4149e9b865f2d6f88b037c8c1411d01c34a649b637f5e55fddf1a9972e9029c9185ca0955b8f1dc3f55f69361f54ed0e5faafa51b82148210196f28f81910f27bf142bc340a5779893802aa001f03849f26 +X = 6a122657c6254b9a4e9c5c6aecc7ab7633a941bb275703336e0b4f7f31437bc5 +Y = 32113135cb22f873a69986cc76c259322cc4c99b05275ef0bb42143eca17f3e990111dde99de9c1f8f726c8827e351c11116661a596f29fa87514594c77e9f63177bc7ab93e36bc3a16c9ef880aa203744551b07c3597ae7b0ee7733e78bf70a8cb8717f47a68578e8f477c5aa5410aa2ea679850862cfebe427bee00aafe6045f60517153176528235568ea39b511f5fc811f51eb60977f19d7f498d4b298e164c85e02cdce8ce5e7a4586f281dc842996542b896d69699cab100d3838a6f9e16e02bcb6f1349c68421fc02788a31be9716fdfaee0b0f90c3eb305d82f5ca2c489b593ff67da4cfecbafd0864395e305d990a225e6b22290c0c3ec91d761b1b +R = 4b1ce556d5bd1106ab8b74fd6a1fbea0c7e98a158895de5c56c5772a2d3fb244 +S = 26f473475799952a7238d145220e8770bee53d6ce7ea6de4728e95878b340709 +Result = F (3 - R changed ) + +Msg = cf67c24f56cbf926e8d83844a97e07940157a1a4acc89add002437d2a09774540138cf526dd42aae7a0cc1608e86102ce165c3a8b617fafcfce9692e84de3cc0f25bcca8668ef66f3de29cecf921d7628365ee41e712838e71c0012bde6f6bf0144f9156e97171d58cb314d4ec2a6c486bd4157a44d243ab606966f389ba4d5e +X = 793438c365d14b724aeabc3dcd4426122b4396a3bb149cbe08e0d2ec6ffab75e +Y = 8d44840475c592482a7218fa84c5a9e09a5d0b997bf578984e86f061fbb0bed7be585c161f5caf52922b33c4a12c8eb47ce6d97b26ef94125eef97f8949c5011136d2c61d0723448caec20c7870779fec2f68a424f27a2a2409b653a7783842e9818aa8508326b5de1885b73ba3a05a978bb52b5aa3ec896bddaa55ba92421f9b0482ed3d10d26b34044a689936e8b29d7ba1086dc98d89e9b3054f6150ad413435042888382267cea6e28da2d3c4ef882996dee8ad210a0ef640d70ab4bb9d74d120d73035765de6fcd7f742eeb9a2aadd72a213a8471aabe5ba28253a863223ebabd9883e4cc5de100d49b5a5ae07a22441f933f451f73635d79d959982333 +R = 2ad49aa2f116b9c2ce08ad705988dd651351a1513f9aa447c4edc6700f33c23c +S = 4d8a1df43e4511bb3332823603343cfc37a797e597b4667899555afb28527860 +Result = F (2 - Y changed ) + +Msg = 21db7226c84ba08e22d22cefcbfa1e76eca127d5bcfa875149895bfbd7bccd27efac84d8ae2783948737e115b07aed27dda1c09c1c6d822a5fcfe6930a52c7d2d86bd3ed1257755c9ae110237a1c48c66ba12d9a3fdddb9570361a85f01a1ba21c56b7bbe12516a9d15bdfaa903424aa522f038ebc454813ada87710b2812fee +X = 5f7a27554585200913966786ea61b70232147d3f6062fb43ecc5114c804bf32c +Y = 2a2ab36f4afedc5e21750397475732682ba015cc0740bed12bb77af98b6cf99f8784eb2f8d6bd328b1da4a9fedb05d8c69a321f8aeee8712b1003a84a5f1c0b544eebf9658edefce3b52c30986c387ca105f220366459675487ffdcd30d5fff24c18dae378c5e79f10d31a0329e20412fe25100da262902882de3b659aa7386baa8893f1c62927f8a0b734fb490dcbfcf1595577dce959c364247b8925c3c67baa627dfa23adf879be76f4d88a01c69584ef02e0124c66f7106f60550a3546996ff447e1437910409970fc189ca4f26320ad1f57fdf980a9c45173aeef7a6f3810dcbea1794cd3dfca2dcfef431df1c1f13ea2ba8c747eed549d49ea09c8e295 +R = 46b8bf50f811e16fffd885a432e7338c5cdcba003ad4ec45033440eac826633f +S = 52fa3f39fd6c17e1fd9e66bf94e7a23b9852ef081f3fcdb83ee3010f5327fb42 +Result = F (4 - S changed ) + +Msg = 6c9cab1596d2071a1502be893c33ae63ed170513c47bebc5452c45c16542cf990f70ef05d66e394c1f7d7f8187528bcbf14e88ee54af3df52216733824301ec1291862450983142dbd1b1fc2ba8a75b170319cc0de08c4aeefd9f27778b7f89bd97aef571d1ae9be4a2da70d8f4bce2dc290a83b4576441fad553e4af3ce7762 +X = 56ac106c3a7bde2c5d3edfb703182000c7d3f2cebc4732b4e553dcaeef169ae8 +Y = 5e7a979cec859b8df99cddf4ed103935fb5603a00ea664c1084857990bd9840c8e2767441b475557600246e98cdfed8f26c8014d16973fe986bd1f3796f20847739457fe866ac1be0ba67ac145564204f8cd7a2ed93462d73b9f68184cc0ce11fdfd6267a341f804be605203754fdb9dbdfc048cd9bdbc72c4ebf16b386b1cdbe6f1b8f5db502430485c44d3655a684ca8e3755a2a221b943c750a68ea4ec6e4c9f5628d8f8d877d8810bd178401aae8af5277c74b50950669faf5c33fd537607503c0c57a148e78400043ecdca5f318e7f049d2f36b967686e4f74cf8ac6cf4b458de6998ff49541d44e28ea1f2d65c513e0e80b549f1b6641be9467d22b5d9 +R = 13cae7859537234f666bcf33b11117ad2eea0f50a51c47dd82131879c40e9400 +S = 268d08265c0f96113f3b28d853770c966cba1070369bc865d6ca49d895c71fc4 +Result = P + +Msg = b6e942e78bc81412c876d355e2d688aa5db3a71323248417eadc835adcc8a24e6857be50bff0ee42ac7fd3d06a07ec45cd1672cb6c09686734e07e5c90eceab94f885df6709dc2d6593039425f14f15865d26ab9060c1a8cdaa6109c73d811e8cc3ca89142bc5c577df6c638560dcbb5674bde03d32e8f83d86771e972b0f0d1 +X = 69f4abbf23279b7fe52ac708ce5150a70c2b526539b31a00344497eb11db077d +Y = 5d99c460dbea707d9f1d1fa6fb54d431f832af88129da467f88444b8855ba5cb926f7b761348332a529e49582069749f7701bcba78f3b51e2d1b39ec338fe25cbe649b3efc74dfa40f2682ad95b9e303f0ddb12c3bd3d10c4ef43a720576f22281104e726b65cb28127165924d6512afed30754c97ba708b844ea7505dc4b051c82d2408520df56a2bb5244a209712f3f699f9050293af9b2c3b57864e7770aba4f71556099d69f6a716953fd23748a2261adcafb72b9efb0be30db2fdf1a4369b31bb0a6325cfa2a4339685424b7f96945cb9ad9f851d3f1ae474738464357dd7727f604e6ec15048360b9d585e6eee39f95d9bbb75a38e43022aede5e2d150 +R = 49ddd521b0f0ff25b2e87b098bc421248334301d1ccb168f487593790d9f04f0 +S = 7ecaddfa961e04c617b7d0325308c3b8ea389ac9e733d8e4cd4ece3b6c8cd045 +Result = F (1 - Message changed) + +Msg = 0d12cc4e6ac8ad8fe777bea163c474bf6c92972d8ac3cfc03cba45548f541f61e3e3e58d6f9285408ed418b1c353298acaf79b5df50d7fd5afb85e196551c21f8e80733c1b7361f27df924c489ee2df8328b35aa35edc2ea103fa9f9280c2e7cbe6cabfaeae55cb995e47882ce3cc13862d53cfcbd2a06d8e6f5007939bbfd7a +X = 591303524d6d27162e940629fe486eeec384763cd0ce29aa848c449954aa97d3 +Y = 2b965078b8a7ce065840925961ec9fc096cf9d6ba4ced945a8c792293e169a5ef2e929bf492e1dc1d04c7b97ef014c09b0196304a22ea2e20172984e5386d85a8abf2240a9854c80dfa0295b7160cbb08b8f6a7d334875ef3d3481599b1878d29b0aff6730bbe8c90c2c86de7f2fa8a7c198ff7d5f2e22a6d9cd8284365bad143c1912ff24015bf2222267daf3f217ff1e2215a75e8a138e7ed5ebced9302b24d0de3b99b9d73f8bac7494f1c8cc6a364f5bf2622077c3b6c58a55b1f6ea03467aeca8e2dbffe694f7e4bfb2055a63f1e490d05fe15871afd540dbba9bb7307749cd083bab4b11cfebd816bdafe21ecaa4a938c57f41a1f165d6382422903d33 +R = 21824cd9231b376d3d96bf99377790da6f43b23485c8d710b5bf5deef3e9595d +S = 11ea286f314f75437b0ca76fe3e389fe66afd9c25d7c12299b753dbd12b7bc83 +Result = F (1 - Message changed) + +[mod = L=2048, N=256, SHA-224] + +P = 8caf0d2ce627e9451d8864e874ba21e22422e5a2d3f9bce321943991f618891f5035ea13e0a3d766c9dca57a1f4f4651c665c8ef3068af3cbf32c2519c1b78b439981f43014b1748668adfc86ab911cdaa6c03c3edf438b3ad1eb5bd4a6037b2c120dde0b563def1abb5ff8d324cb0d10dc537d5739f1ed89883b8f68747728e32a388dd308147a716455b10665d963474c2a8b653342d56b0c6de1a12d3a14c2693cef338a0420d3506e9691fe7ebfa95e11ca588f5e0b80289ae2b77f538563043a513689b9d94aed37e10f934aa2ea9d8c75384a0f8365ae9f0a356adaac469f31d94c170d0e3f10b696afc3fafeadfee93a47483bfc48b6413a5cbef2007 +Q = 800000001135d54f2c23940cc46721bee897df153a2478d899802f7a87c1d013 +G = 51b7e0e4ea35eddefbd73661830a2fc4cc4bda9abb81537b770dd6f27f6a293004dad0318ba871c6f948d07252cf61d80819f78e6de3e32f07c8ec12aad57ae9af14d907c3b28fee81018ae39013694aa82a7825bacab688beae85816fffb205f954e981c20c8d9c494e50a6b0944b25c0e95df179fc2c9237a0cecb581881d4a560d66b17b22972398ebc7d69dff93c4ca04020405fe5195c4568b5ae196d0c7a9c0f53d15898e422aaa04566d1f453b21c039510b651d81131caa0ec10ac2d6fc83530f55255132deadcaace064feb609464940126e8777569ec3b57e6546668a03d76ce10f9c49df35a1538a68cc05eb0c91d00a778b9519d2916e26aad15 + +Msg = bdea6346d8f26b5ceffd3ca8d64f8cdc9e058ef98bcdaaff214893286ac9e91d0fa4799bacb2bf52388d3ee670ed76b5109cf71a0eabf1a2e48fa4cfed113fe9f5c32af9896552105a1f34607d6e851077500c93f16c673a75a06f0e159f42814c87a26b8a52a232ea9cbad1f8d51cd7fd794a4e96be491c61a5f1cc10d131ca +X = 58ef15eeba4340aa33c283da1fe83a44b1e14844c273dd3887f8f0efbd3520cb +Y = 1a62f8a0a535992930266cf819d20d88c98afd221d01949d2167302bdcbbd56019fb6b0006300707cdd4ad552b003179939b71c38368e4ef0a6c69b899cb233d898dc232f9c19c7e881e5df7669e705886abeb5501b8ea9c4e31f53f94c8f3c3e5054b7b4cc58e85addd5f65a5092f7daf234d14afcc9ce532ed2cbee99ee63417ab5e3f68006b376d90559e7b6bf5f07fdcc9eb787a8508774f5c18257d849d9b91bc07f1a6d45859b963020ecbac03af1b4a4fba0b0cdb2e047cb5cff3da26d400df4cb2067c8736fa249def6768f9162cdd4c3ab7dec956cffc921abc19e1eb393e4e0843cef007a28e29e2fce2c628baf5d0db238bcb223dd912d7f1bc21 +R = 2d6e3ea54a851a585591f88052d16acd569e5468271f8bdb264ba205bbea1c6a +S = 018f9714805a73e5ed127a5c323ea544453fe2c45699712075709a3ec03c720d +Result = P + +Msg = 01a43d9c5c8d6272fec701f78f7d64114c7da1252b7b5dff805261d4f7b5a82ff22905d9b9d3449f5671f97b584288e817d0d61945830e7d682e74d2c4f9521a5bf6a34ffc5714859603ab6d802071392e353c186ebadbce36c028dcad4c7700e312c04d140d33d41d0bb6ccc56ff98b5a8629fcf0f1153fdfbf7af0f60d1095 +X = 6d9dc723619cccfd7a0b37589e20e63d969d5e6de33a2decb3d2500ec0312e49 +Y = 652bb3de9c06df4f464e0de78d7b7cab4dbac7b8bf47a4a12cb133b487f4062e29e023a9c16fc0daefe236ff05762c54db2e0ddc87b30dfe9e1e9ccbf678264fc24ef6fbc95a154a27ea4eb1a783beb5ecddeecdb27923e267965de5ee26aef7902cdf426204599afafd8530f688d7365c6eb38ecafeb86c8b98ad45ab6097c3d23b97d9d9d9b4c0fee48ebde46f074137ed278a87bc9f18b1c688aba9cf70973b93ee9cdfb79f6c7a879a210747992f095d3e670aed79cc783383a956f7214726e548f2e74a706ebd4309d72321a4ab318a3dc8201b5bbebda43dbd91093b34121398129b6d1c105b61439e4243bbbd12b4408f7aec9865b0c1223344c05edd +R = 5f7d084d53d8368cebdef16022f31b61432e5c9fa9448eaa7f6b15a5aee14070 +S = 4972b52f655b33d60845eda2f5c12fa60cdf9c7498e2bfba9c3726112fe70c82 +Result = P + +Msg = e43297cb2aa8d1200ace618714672fd3182ee5f35c3c4e6258cad3a3f08477b3e69929f2062dbd92f56c62dd3058cfbddf2a8d045f3ca2d49b72834447709dc7d8aa5fe61a5f0e7e942f002e8bab1b7cac0b4043c57707df958aecdf9d0cf05259e51b9ab80826c3845475db57c9514f20a895111ffa71bbb3a6a07f54b9cf3b +X = 5c7a65eab624e346f6645ec22e86574f82a9821d66a129cc1436ac0ce8d40ddc +Y = 2d1d5d539c0fb871b4fa4e6a1ae45d5f89f27d48866cc859d0c381e02fb6e29879baf3b9f55025e260ad9a764be2c88f8823944a18750e40f1ad942bd5820b6b7c5cdc215da6bc1d75c58f7f009a132d16c6239d5baa753fbda643db1ed02de939ed32f0d1947ccee9db4e9d010a6284b37a04af5a82cf96f1b370345e2005d22be401d9ccedd5dbd6cfd9832d44c4386485d223f9f1d3b267c14af6bc90a04d47d75e8c10b560a48c332c8f958d6be697852b2a3fc657bb469bf75a95f3a27da356be062dca8b18b705e308607bd6600b80cea3f036fe370ebc967892c4340c1b68245d335704ba67b81cad320d0a0dbc65d91433b9499c2f0a991437dd298f +R = 52a36b2c961b89e582737a6d4a08f6de4c430c5163ea2fb11defe48f4e9a9370 +S = 3fcc731257c8aad09c0d8412e2ad8709574b628376dc6503a31761401f1cbf62 +Result = F (4 - S changed ) + +Msg = c7e5c6055ab0534405f37daae2bd39103028c67b6e43840daa481b579638dacb00a4905f0b82dd7623f43ed20a189c0ac23cffdd4a8920265523d18ba7dceaf648d8ae0087b506ab45511333e203f6c5b4b839be6af2a2c8c8bd5353a594e54d7f66f0f67185d71a393de339a98c7f5bf915a47ae303d84310e02b8ddaddb711 +X = 4abcd7dbe4c4181d8e73940658e5451316fc74809b5aa6aa76d8e22cf0c0a7b0 +Y = 80203d8fbe1eec8ff57d9b7db382e1cc447a6728cf3f544a57139b5a0eb97f29fdb0b1bcef72e80d3d7d996b628ac030de503d240d23ce6844dba5095f56f35e106485162bef600f5e675d544954210d369cb3892526cc0aab54eb4e0a6f29a238ed460bf7028d0ad64867bb57b5298abb42b8701fb92078cd271342caad9674177a7da39c0e799a8a23222cfb4b933695d2b4ef6819cc1447e0376510ab63916652ff03077e59b9644ae38900b5aff100c7760153d84bb9e5ce3ceba51559f502c6cf30bc63a477d905dd219d36241fe02f6de745cab77c8f858e0b53cdaa75f4b24ad21ec97cc7ce19d34ca27ba4c904a2a2d77475d6a201f92eb2d0d68cc2 +R = 450e242e0dac381b91d59238fc2208ce3b4341d336b6546498f3a0690db1a9c8 +S = 21b97b6b84041a2e7b1d7755d09070db2c618c28b31df2a29787b7dc3d10957e +Result = F (1 - Message changed) + +Msg = 177b30c332a15c887b65de244bb002042a8e39a045d5a006bdeef923e3761a31d8a9a7878db45fbd101d1c289656aea76b7535721d043564e52f1e2e13d1f972b910ffd523e3b938c93c3ce11b5a4b6bd8e31063f618769f2f0af31d5f443807feb89819a2be318d5eab98b8c68ff7e01df9d87b6d8970a8ae9355e1d4d097b7 +X = 604baf802a02c84112cdebbf44acbcb7adfb633eb16ce565758f8c8ef05b463a +Y = 68623d27e300431b08f9d9289bfeb43f6bb3840ebdf8a44f8c7b1adb0b5a5964376e2705eb662f58bebe6c7fdc0ef4dc0dc2a591fe18b980bba0103a6058e28c347efeb18f40f365098264cdf7d51715b59a82f7b85236937aba44395b4ca60b8650bc47a3c671f832a5e6da2a31ceb0d1606a85c57a911741454cbced4165127e5d08cb821d3d21c93bc0cb0ab9f1e11ade2d87aa9c3de7154bc53003278098fda31570e2a6add9f6bc560619ad34f39d304c524787aa02d122ed81cb7b1226e53b3dc9689253e9d7ec7f8d45ca286e2b535f0042bd197cad5ccf8960fa626e24cb0c2a11e102b6de92c253111d36073987858d350344938f63f72f640db4d6 +R = 465a3c88f2554c3a2054f893f36d77085593653c2ac3988c3fc3c43062ce7f6e +S = 74becec6d5d46a210b5a3734e2ab910e96b15178a43dab502c536d2aa898f151 +Result = P + +Msg = a84215f1168aecb35e81a449c137537312d70603077c37d0f0907cafc147132ba3335e0deae586e2b65235652e175ee1d6ed222d45d6035cb419cb723bed12ef2aa66f714bc679cc399797232bb10dd36678058fc777155f9b62604cab9aa978a038c0a3084fd5683a2c3943a671cc39b3cc6b6b22f8fd5288a156a8395b3196 +X = 63471edd230abee3a6a1cb192f88a15e5df1464fc4fac6bed7d5bb0f7ef0d3e9 +Y = 68d492beba8b7d85525e9fc5ff10ecc43a4cea0f49ba8eacbddc0cd9c2e800a36ba47e18532cb17783befe0bc54b5294d17e20f090b79bf047a90e7af48dec063ad3b0c72439d5564f3e292767a69bf30636d9a89fa664009fe26443a14489a7b147c6c4c8eebeb6419770f4fad6245c5a23435c7426544b18fcd8831a6d02e9718770e5058d9503bca80d2eac287a10f1fd211db7a4deeaf440a76ae7e2f7c4b9c1bd18b267bdd3fe1fad864f08f288ddf61ebece28a9b66526e90d52ddf5c34b039851b454c3ae337419b3de2f31ebeb8ed3e5285ae88be03000b7e8a31bc9d3aae36d047d7abad26f2ccff5bf2fddcc4247ef6c9c6a9c5cfd83fbfe500d20 +R = 034d7e9def642b471361f907eaf8ab388af0075b507bb23c7a0293595af8d120 +S = 47e6fdd87e6ac651f60aac16fa7d78e0d167123dc816cc482afd8508698fad9e +Result = P + +Msg = ef56b1bab6081a56b7f85fdd94771f15eedffdbc5b05c40f60f90e0e05c0230275a0146349bfe42c619b273c1a948b45d35e304b34484466379cf312b45265c792919dffb8a29e0e7efb8c8446dc9e1164f955b9acef9be72f8528f77e4cccd3caecc48dfe89ce83d7e1779ac108213063f016a576eeaccebd426a39282131b2 +X = 1dd4023dc21e74053046f2b1b56a6c03bc9a665dbf3dc5e811febf407466aa83 +Y = 8a943da1b2b45205b11e9ff8eb8338a9622347cdca5b5204bbf24e0e0163d0309de5aa01ff41377cb7b73c02f7680d63674206769623cff4aa11466f7209b4f82e76121f55c6cd5cd8b393084f620a93278a08505ebf591f5723e64eb64c6bf46525552b549056a37f7cfdef607a210cf81cfe756f6f534a62fcfb3b5001051ad28aa64875200321b6ddd6d9452130593110706951fd8fedcf4de5e3aec8e7964e667ffad6d0ad3320887684f2fec98e33b3496c802584229d2ca5ad7179967d35fc0bbd16041cd0e58e307469a8839b4e0fb8d12bddd64ac0ab8b68871d19fe4b557f31e57f892e5f05d5ddd9b71d8c253c4e306a940d9ce24e52cb1641dc3f +R = 266e897a29f2c8e411609723574a376742a9e5ebfc223ecfc35df8058e0d3f7b +S = 663ed47468dbf49ce8c7584ecc68cd127a5997a6c6096d482ef178c6bdcb8338 +Result = F (2 - Y changed ) + +Msg = 03baf058ae74a2e63bc9c28bd0302f49d866085ee04eb4a1fdd493883d31b342cd5c0d4eb103e0c526a28e68eda6b3012f2ab2f3804bb5c33981c6e6a0d4b67dd4116f450730349213f85ffc41b4ca4d977e898997b256b06a395302503c65f380c36ecca46d57599fb82d5f377e938d3b4494b5fd35e0ce0dfa9a2666a2587b +X = 1965a26b5e49b95e108df038208059e8aed20be9e5f6a20858835b31d959162d +Y = 4728c3440cb2dd844a55f03195731b336143d2a3b5c215a1ce10aad157fa68ac23d1bdc9a81bc8540d761b715970cee77b01e40dd8e7da641187cb13e8aa6b0cc49f27453807a078709ea67465055cdfecb0bb35255697635bb8d264f2eef6d76f2cf4e93ecb2760f722543ebbd85a177ee5ce9a30968f490c81940559a81410740bb796327d3ee87e3ab097af1fbd20d2ad37f3b6fd95b29a968f88a7f76cec21ac821b549aaf11f3cccbefbb17d32fe91808891b0b62f1daf3300ac28627c30e03e0ec4a95d8f68de667beab47bd34c23f5bb3c626800f7264e60078612460522fcef730084e9b45962f8daa73a82a6b4194fbbaed716b44bee4c31c72e210 +R = 3b45d179c76ee03b0be8407360a507e98014e99cf61a94e518e3ddb881a9d1ec +S = 0dd0de11115f008a083283414a496740437f4c5782094b00f3732049ffd756bd +Result = P + +Msg = 8f88e29fc52aace4d5db27565a0a62ca3cd8975af746a1a2b4f06eae420f8257a65fd86fea559b5bb6feac66fa79e354e0244ba91d40703577ac49166be4c952066fa10f8a0081170f0c1fe87444059dc980089adb8262e2558d1a5edeaf9e98b4e04a31f39faa251d32939d526aaa09524a8818e3f0c6b069da1e63b8adc252 +X = 20915eb9de6840136fb3e4787e8bca5782f7d670d22e4269ee6df41935366663 +Y = 61b7fc44efe0f922fbd5e8c0e48c4ea517801fa645e7578848c6e2b1e44f81ba23077b43456c4e06e71422a2247ae730f80b86aae87383109022c2904dd0c435454fcbd2af2d64c6a0a4e8a7c7c75ceaea63ae6bfdd0b9d26fce7201e9fd8133f1c194fddf3910e37c9a5f34162fcc2c2e0ed490dd6629004b141363730f611c0374335622922a999ba3f17e999c162abb68d6c7d1cff6b040244ef735a4b9c731732c8d2f999004740a12a43ae6b2be2a7699e82c6f721bb0011fccaa7798c3192b76ff3f449943ab372de18bfa981b77d63e06d14189ec54dacc9066d5b7ef7c7feddeb05fc7221e1890c6dd72bceb02c99bf550a7524817b3a24f5cc90481 +R = 06808b74ec0874af464341dedc0617661783c5e22ce701c154ea6d79a4f521e4 +S = 25fbbe81d8ff2e03c9b9c9b4efddcab5ecb3c0d1dab332150b4520ecfb9b134b +Result = P + +Msg = 6684f9c421acfb6732b98fd8e25102bc01e10915870b5eac778f25c77d9a673828c2265d50187bf004f35032c0f7522a12554668601177b1d483132c71631343b0bebdf75f5bdeea8ed2a46a9da0a13b3aa1c26f00d37ae698be92f202dcde77f31f6a745cd976af678af514cc749068c3af384f8f9dbde3981b6891e905f15b +X = 6328d84df06af310c97cc4ce3b64a5a08910068b5be7d23acd7f039a89c54258 +Y = 06860fc4ede4a51f309e6bfa8b37814e83b8c567973f3ced7ec992ebc59059d82012598a97ed2e14cd9f147036548a1768a22c297c4c653b351de9f6a96b164bc7078756d072ec29baa651c294f83bbcdcbf44c2bac111136e4149cce5357256602a24d3dd860669ed6eeebcae84732c90b34fb244f8b97948dcace32828ad3e6dfc51e201611fc3e9d5480d1b0081e208aef61990e1a5648c2cb46869c40bfae5b6c567f1f44a2f6675ec709bf4bdeef21b1cabbd87991af8ce2be398ba5631476f632862a115f168483e6de7143800b3ee30b69cd249bb5fcdf65ccac9daa0bce84599a5bc7c5752b7804941261ebf796453e70423e963333358386fb2161c +R = 48bdd9d2920fe642f40fe47f54740fe9930ad9ae0869d33fbc31e337367ace8f +S = 7a52f8d88035117b93a56e00387da69cd323b825711ed779b186a7c99c1d9d6c +Result = P + +Msg = 3fd6b4c3bba40ac55ca151da0f0d4b19b82eb54671d6565b6599cd0f25decd570edd0fe8b87944800f228c752d2593ddd2ec9f0e5aaef03511033d44ae442d459e3cb836db7783e68c771b9fba1c601566f6d10a67f457a2f2dd50231af71a03450f6bf8367caff6a0dbd733d40c9efb85776ca63c428a0641ba98fcf2a6085a +X = 062d302378c000b14925a05554197f7290e7764757a9970d9ef62fe4f5acf91d +Y = 25bc72a57c9edb5a4ab3e838c671830901044f534b35d4aacb60ab182365eeb794da7a1d9567dd2ea7a8c4dd537f2766e09c86b52a592faf8052ade9ad4f6a3f8c1d0577b8c141ae849c810b7d9dfde6b3b2c2f85de5d6d19dc88dea50ab90e103d4ae332a766f458a6624133d7815704524c4221587f6396fce950dd643d4390055b2f9772220264e0c38470312c9610f823705c0f2351d8369f9982fe8741613cfd1f2b273953618e2b0fa57e5b843dc213bcf877ccdf0377958028e83d68ea3d3587e691e8694369a4afe5aa1f96241591431a14ab3f7304d477e14ab2c6abe3e371c9edbeb6b3160c6a8d12c7727ff9f208267500cae72bad87622738c82 +R = 138932e62e471c9c7252ebe672976aadf9b63e4792d5be3e777f9376fd1b85e1 +S = 07a92a7535f0b09661d0e206895c3d28d20fc0a039b074becac40f97035c7e9f +Result = F (3 - R changed ) + +Msg = 179a6cb60d65f77c81949fe8ab1a2f5aeac0f20d109e2e434da599fd89fdc8e075ee556318cff82978f10a0c01546407c212f94209097995c686f3c150ed953903d571e85fcee3739366e11c94731c1a4ddf4a127bd1fc2f1a8ba972e01a298c1f9ecc2260bcee6d51904571e4bb0f176e6911b2eb7bf02bdba1cdd14962d429 +X = 40a284ee8fda0f1c98576c36d4fe5d7b599f6f1321d8f22b13c7c37236eac328 +Y = 0e2d01c65325de00d9140850cb4f19473373975194623408b3cf32beaff4b8be58a87fb7e2cb4a1800562a4bd1f8c5ed69ea5ebde1f70ee70551bb591abf047c5e58a556ff7862d9ced6c0688b855c8626c7cd7f26fa62c148c587df244bd52d36d354bd535ed1c6aaac33d359ab53d3c0b8247be5571cdfb62092efe5b8ca78dd8c657a67741d8c97a8994393ba6ee31be65bfc1492e985f220f3fe7e60724f8a5f0ae3548058de4cf0e1b6ded465d122f551c65cd9ea0e0f569243c66ca2c9d077e9b3e852a0d8cfb1435d67bf8267436a2fdd954e9fa06d7e0cafbdaf461f8790efe4a663fd22181c49c492f899a10456886bfc5c8c4604f84cb68b861e10 +R = 4f88aad2cac9a744fbe44c68d34e16398df2e477ce241721311e06095b9fe3c1 +S = 74411e787e23958da0fe974b366cd4fbce21224e2ded7e025731bbb257854b92 +Result = F (3 - R changed ) + +Msg = aeb09e24fab37843e034d92912ec03e5142655f5a833023f7ae6acbf1157a24404f1ea2af0884a2ee5aaf43522191ca04e6f7a64f8dcae5fae84e51feb6a250e468746b37090629e616bc6350772b5b115220124815c9f2cb32e4d73c5fa9517ea2424abac4239d42bdb5125aa7b6abe5ef156a075ad5c7243a0dcefa1fa5ec4 +X = 7455332ed331dedbc03b7cb8086af1a3c993d067acdac93371a133425d41f16d +Y = 3f13f3bde968a47ba75987e5c722e5f781445961f54a5db1abc8ab4396eb7251776c3efed78ecad1cf92cab5b239a55a835900c249b210f8a302f3de73f685bcd45591c91195d5556221f89b07953b4142423c6dd9349c42f16c4420ea329e02754080a942b4c9d3341b840a9cdb4e7332bc19b1a6ed6b01de09c6ec4b92566f46fd29353a2ce12b7cc6066f4c9d2a7b995a90c439fa15d1937bf6ab1b199642a12ea87fb34e168f77c05be7d0e15747a05dbd041c563460838f5059c0bc061de218d4dc0f2a735f7b3ecc87aac8a4effb96ad00e44fcd8ef24a540bef3b765a92da742ab8bfe5614d50e9d75d70f966641b9d98f35453123b48e5702c13c92a +R = 13f045a9a646c7210e22214fae4047e20b071dc45450cdd211e1dd9461c402f0 +S = 6818b5ff4809109bd40ac02f01eec913df7bd2e9ff0fda8dda1aa88393ea1328 +Result = F (1 - Message changed) + +Msg = df0c538b3d778fc60e8a7b90359cd726cac46ac0b53d2fd543c4a89f9dcc47c47595f0660537986aa2644d5493a5a3521e7f16d9cd67a27431228c62ac21aa8eeaa0a0504a1745054af9e77bfa7c474f17b34fce554b6fa604aee1870a2006ef83ac8dc54692a8502cb39911ac1ed6d23d01d34bf9113eaa7fc91ff56e4964e7 +X = 29048604cebb8604f5db4a90b73213a894cb4f658bec42e0ad976f154fb7cb4b +Y = 58968bbff473f78e64e252a5bdda6b9f997018034b6412145db80d7e18dd5c8f683c78b7621c3f3057cc6080372c7ac1947c4dc55c166169a40d5a38cd0ccb609071fce977b594199e98bd1d45502c5540da5ba61827b4c66f77e6543d1b8b947e9522a2c99353a34544c73c4024317c5b1efeba0685e96ea24fe564047dcda107c2c40aff827f9a790256a275a923eb0c9ad9f706f903eee8ff815617f910dcebba37da5b1dee0f86a6731e002aea328a3575bda54695b8170037d3d157a3a8d375e18a8f9e006d94ef6ae2c1af64437da01d6a74a4dbb6037a4ac1b5aac9d385da9d63cf3036fe8bd68c32f57d1c57ccf23838721c5a5cc26b0089f30502f6 +R = 611269aa5024fbe30553c3370b2421da7bfc9f311779ffa5dca200cdf9f3390a +S = 3617eb5a06e3ff7309d7d443550d72c20c9da7469386167c5d758c4e84fbc5f7 +Result = F (4 - S changed ) + +Msg = 9f6645fbf1bbc7a3fa218099e2e30699eb7fd465d179fd1a84aac17432a4ec545c966de3dcb9cd5d94cc1452442c8089f916d85fef6b52ef20ff5ce65e0920786040e2a3fd3a3e5a19542bf4353b69bd69eab12e4604dbed1d69f799bc26ad8ba6c3981ec1fb61aed7616cc218d6e814c086a46fe67008c1ebfa3584706e8fd1 +X = 05596434b2bdd133d27d9f9492408fc512b8393cef6bdafc355419dad7c1c4a0 +Y = 174e3b45b29cef3bc2a522b0ae708a8398cc18a5c6b1ff8663b52355dd96e03a329a0ca4316f4cd44d77df1eaafd5303b5b789556cc9cff552b635b92ac4c80ffac7fe0696bc01ba8c7bbf7ae5fc674c21806f297f1e996ce4d12ee83f7c2ac59b30d0c15e4fe7d45e06f8052f331401cd5d23e4f610c2eaf274de4743d1db15264f5223fc3681871cd9c3b0e84a511333e7444da7044a2f95c3386dd604032ebbf37da6dac51eee60c2d44596e4b173a1363e25aa3fabf0a382706111229c3c29fbfd5d799458a6cf2f108a6fdda1f5e6db30e89657963e2471fd527f18c8f41eefe09f9d80aeb7644a35b295717f0533a0e4db262c22c8e5dfe42f027b8f79 +R = 6c469a4d1ba3bf043b53ccff1aec3f855b3920e13d898b59249c4458aa9b09ad +S = 072a73ce9805e0bdba3863211f13581d03010cb4ee618fae8705435d061ef979 +Result = F (2 - Y changed ) + +[mod = L=2048, N=256, SHA-256] + +P = cdf428329e226cf715f18eed005e439a8c7b927edd24c866be6c1b370057059ea426d06f584f8e3c89f02fe8d4042604a2fe0db63a87ff018dfaec7790b88fd1da8396561ae62df6f18d3540992efc5ecce63068f5f595687b8bbeed5801d5b6c6bdf362dadebb80e190d719d144db693fc43cefbd72b149570a96282fd9441c397d98b15d73f8cfaa8f6514a16f5992a0a02fd7b6e4932b1e7e7ef2db717815b11e867e187aae26f9c16ca0a5ca434acf8f3356c3711765fe5e548b1edce381bdd843580f9a881d702f00a0719c3bfa8576304decb616b08ef8db6f8c3d48923a2a30b9b505ad737af1cbb0019558487400379738fd89c1ee01285e76e2d98b +Q = daf3ebd85f57a8731538596876e8a34e73c732bc69b4d64b010bd7d5b63a09ef +G = 6cb6a8c1b8ea97173e5ae1d2a2d530468fd932b81a4f3c3e11042d56a61a504b9c207da7cdca293c04f78583cf218e1cd2c1a92637ab4ff61d2eaa5e8e8221bfe17e6a741791f21c799221ae4c703262a6dc2e295e36939e248dacaaffe673071f6dc7a90d7ca3427556fb99fb1fdca9de3f745b5e56be5b5933ebcba4f0c60fef3798cdca519997ef74acd7000d3a286d01c7000a66fe0066be4381842aa040c3bf465306c38752d41c29162c4d294f2b1f7e9ad9232aadb469047f4050b085bafa06283def7d84958528a3f129a3bc81466c0ccd493fcaa87e805e7bd4450090ce55652dba15271234fbe0cfef66f3ed9d569e565bd1218f2856637a5b26a4 + +Msg = bc3414673a2a567aad487af1385b90bd1adb92361f59e27ede8af63e964ece90b1aa7a330a8e41549e3d1e0cd32b339fbaf1120a79ca3768bd1f60bea4def3eaa4625cb9b19169248800f82837feb151fd5d24dece7bb1f7de45175cf77dfadaa12ae77f3f2cf55ddfd38714892d556ec91886c9734842304f1be1af439a56e8 +X = cc2bd6703d958d628631c1528af71c3ca90ec1639ffdb8c4eb68f6531b9d1366 +Y = 002cc1264427522aa6ff6c9e3beb23e1d1714e7a3cd3b592faa74ff44e8d81a18b416c887a97a6e2f4592529116090a6ec4f0e73a45a9984c483cf7206e302c7d77e27e5eb11ac581821bd2b91b9857764e155f850f5c25b909d6fe23c19595dde40750c7fb0e62d95c2944081c0d10767a11dbeb092c9b08d6d197dd34cdbd873f8db7c3d33987ed2fd2e395c86588edf131fadb936ef8085741f28c8f9d7848c65a709f9c44b8db85989732332d809544c8c5362b39f97331b66086af5d3dc703a2c30d96ef0763e13c171728d7b057b302c0c04642aa77b896c743da9f0d30349745e2e552bac2a4178591019af33058a1948ae4059c2efd7aa9f05df06bb +R = 59f9e094d7d55d3a3a362c6671542a92034e89f36354da25bd4f3efd65b430ef +S = 47a78ba3f773f398361c41266ce6c84d0443b9b233b52c7939b9dc6d69051e9c +Result = F (1 - Message changed) + +Msg = f93230c8e56f77d8507cadb3d3b930c715e06763f2f38cc735ec626e650e4d3b76b4f0427500106daa2671dcebbfaf04a8c660fa285cc059894c685b5eb0098d12e406a47200c66818c255a7a55edbb4d0a94fef563af9330bd90286e9a185910d741c19be9965f44b630fbbb5f434967101ccbc693545a39430402cc0dc270c +X = a124cb4f3fcb44c929400019933955b68185988ef7014ac1a4829b1748e58a10 +Y = 1c3aa2f539438145b05dd13a17d666022944fe6e3dc2a14e41a32fbc85546e0da88b5b9d822a17f0c30ed317f4cc716f2847871c192ea4dda488aea291ec31fb5a73424d12b034b642e175f25b102217a0bf1de695923900c87f3f2911107ee06bb9f58cef4d18c29a016ebf63a4bea851c3a7e85a7c3d69e8896f59f9c7f1d77386c1e80391a1b9c4f82eaf59b6d72c7e8663b121fdd3b5510d5db5971658d233e25b646a27b1e1ae0c859dc73f7763b91fff6b3140e284c3a4650d17beeca2319c5c4a545f6de728137f5bbac6e3027e5588294ae5532891b8053dc9cbd0449a09e54f4e3ac4eaf7e1bd2a727de8f14a001db92870807898bb504f5f4389bc +R = 96246546c49d2a00c5605cc5bcb18e229e272374c4d7fa6c8ace99eafc080342 +S = b77d5dd30b6daae84580cf2b3cf31eca713c884dd5659cf5307c91e525991487 +Result = P + +Msg = 7b35288d90892f2e42e8faf3ebcfe41f268c03a76be3a780ef8eac9d00a41c1379145c6b4a5caed00dde973ee9cd08e1945e55240f3ae85b78595a2f9365e7a2a31359816bf230595fef779e0092c978399a3e9dcd3ecaf284b4a64ac7fbbe77342fc58842c7710b431096a1a0c0f44273b98077c41d5b44905c6e8da47beb0e +X = 5ca1804ab87fbea3211a26dd90b3942c9f522e2199b2b35c4b8de7b7ef05dcd2 +Y = 4ea940b3dc8e2622114e1820e2fb96b0148088f99ab46bbadc0fa70d6a8f20bd27e7b12b13dfbb16d8a604b94ca03678e2d47cf0968c39cab9c300361033ffc2e2a4f37dfe1d9f16cd9b4031bc643a17c13c374cfcf398ce70934e7d7bdedb921c6ad84d8bd40ed3b0a752a66be1d1f6ca3b1609123d33ce1d02598b1e401f2404b01820a6b66d30e7f27eb975b6b5683335398ba40cc412341feb520d79048fd5507141c7b105462c868cd2f366f7887f25c6f221e4272d7fb05d5ded5c7b1be290a11c5b0ac7cf1e045a5b6cdf8912c4ca4085f064f2fcc95d45fdbe7d90d8d5e68aff9ca0df11e23fe2ea8be23456bd499dd4bff5309d3ec10d7607e5ee32 +R = 469b70a4a37fa58eb9aa7e110273d8304f7c3dcd7ba399d519e69815972d397e +S = 25b848bfd4f7712cabbf3596fbfe922d0337486186e8f8ea9133e55f5f7f30ea +Result = F (3 - R changed ) + +Msg = 3bf2cf1bed29d85904f79ade4f945abb91dbf7a83bab4cbe0bd753ced2e40b77f0297325fac5172d55001985b79046ad29ace15f08dac7d27454ef67214258eff7f03f46da19a4c3f12a90df03f18098c21e92ce4e1ae413516dc9ffcfe2c3237ab98dd344dd2e7a86011c8ba3f9db67d35a3379485fcb3fc9b7c5dde1ce2593 +X = cb9ee5ce0bcfa70cdcc47bb0e57a54930ef3afe836ba95dc8fb1899e01e398ed +Y = abfe91c1e595bf644236da5c4b2d1e8d894da076a7060309c09fe3cc27b9be0630e53602401e41ff9e2dd86c3224db018004127b7088ee92498e6214a31c5733f9bac4bda83285a8cd87b8d55c3a92dd9ba7bc6f4c8ce1718578854495dbef8bf5f4d8ef7bfa5693300a02f25a8ebddb64f3b32ce179a2663b1ba618efee5d05f9de33b7ed49aea5286873963ea69974a1adc11fa734cc8d1655cc95be5c5a0c70883c3ad715b879807b575627e8e4c101aac7cbb1d1f11276caf8ae9c6500b4a2eb3b68fc3a76600ec34540d63134b07ef01324ddc33e1defb63ee20aa90b823696df2998b9613a4a1485fb6966d6fadeec6e78b21d6ab06c2b1bd8aa84921b +R = 54961cfd862cbc6d1f378ad00cc786f64a6763cf248dd55a95f413111f4626cf +S = 54dd5f1064d8221ae2315d3106724a2c34ab1b4e1f95dbc1d74792a648e5d573 +Result = F (2 - Y changed ) + +Msg = b24bc74e5696ac80e052b7a0cda7b093fe8e4cb441a43ccb92f6967898986783c6bb50816521c28c441f8dc82bf211dbbe709d69c75131529c15ad256bcea2617438d548777b4ba4b322dc42944bc759eee5d497a6a9e02c33831a4169931c3c3fdf4c285f71cede652a302659f4dd19951a3d0f48b6f16c831ce13877e5670a +X = 0190f2162bd3b3078113f79830b95a00a7374981335f90ad12ec6fcb17af1184 +Y = 37e6f9b266a6079af25349e1b43a35c37fbd950fb3400a28119c80aeaf852fce8aa4bc0f02ec5527fc15b8d61eea7c8819f80c0d4f5fbadf62317cf2c7e09216ae8639899b55bd96059bf955bfd34875fe3affb038821489cb338341265d9db89b5a6784936b7ee9cffb694044d8424103a417c9d4cae0da09e7c945b6dc7e356d3ea39f0de60e0ab7f386825cde9f3f017f5bb5cd0417c09589e315455a9ddf09190bcb38bd86cf321fcccabf91a5b0e790f716940d8a1ba4c49cac511077183bae3cef2eb49dc8e2167e7a95643c515641d419f3e0e123d8dfacb27cbd23579ff0f220f8825be10474436938056c9ac212fe05f2644e500b0a4423134a76fa +R = 7605fd378278f8bf1abe054c510e338b6197a2d7a7eacea84d2a28e64155b510 +S = 68e1c9ec4c7b57ac9b8d9c461e5ff1c0a9d14b0e808cdfee3958a3bd1d8e4b00 +Result = F (1 - Message changed) + +Msg = 3c5bd2d888989ba73aaccf0a2dcec21479093831b1cc2f888d5f483ad2ae9b57cef77d98af343fbe68ae20a90239bc41ed267a9f7897b200c92ea0bb54b74bce942aa1df27acd09efdee04c9587b0c94ccfd8330c113b2034e7f0270ff17eaae9021a6463d402dcf1e1991eb3321941243d4bc1d0afbe94ba608b816c3862acf +X = a5d869ca15e0fe2afd589584ee63946288c8e30a7efe43f1a08420980ce2104a +Y = 18ebef7780f789186e1b2e53f726c6a55e332396cb251b30ccd7c7361c82e021bee62bd2bb9c407dc7d25a6ffa8ebdce41f49e3c779be5e0f23dfe5ebe3f7337afed2bc0f9788b33caa9c5c5ed79ee81804e95350bd9ddc96a817b4e0431fc10fb0d90a16624015490868ea1eebc093aa20df0323ceed8b743ee874e39006f67722789dc0bce6aee42a1c4f06265077b8d1ee68757e75f0088abb2822a9315675b68e4f3415fee9856336a83d289ac30510bedd9aa12586184caaa64677aa131b240f04e0a36619a230ccd275d1946bddf8f116312eede37356023ebb8f16860f608c10e8c180fed37fa292cac2c4f57710486e934a4cb4f82868b137ab92ca8 +R = 36b89bcfd5065de95e46c63933719b1ea2646a4b2cc70faf4bbe0c3b0ee9c118 +S = 10a5c796245f32d62c8538589264501355b71c6df67cea07b5e9d986d67aa8c1 +Result = P + +Msg = e3243e0032c4f4d41e0e885fcad0f5189a2385a1b61d27afee08464d71caa744c6f7d866501b61aedbce0cf3f46101fe4fecffbcc6a9e56008dd91de6e25b65a9df41613ad8c1ac5602a0681e0aa36532e7d89302a3864623296fd367f35724208792402285c9e000bc579b6cda4b5adc4deaddb152d5cc004038c2a1a4e702d +X = 36b12684a28823e7c4554d579fe27600f12876a541240fdb14e62f56f7b99b0a +Y = ac69ad87e5f6de1098f37fb0fe85ac7d351ef29587138aef403c045d3ecb1d96d0e77f733e2a1425476ff82853f6bbfaf348338ee117a56cea9b41a4677f5774fe0de4a76ae9af468d6dbf5fa36410231382ec1b84dde58cd1491b23122c5ff87b53d07e5ff9377c9cc6f54947580fd68dd86df80088d7c7468a0d88da81a0de252d9f3777887d43404d0fa9a9851d9eb61ade3dfae066393247536fad6bf75f605a4369650fd75bb74c2b97f7ebc4f13626d37fd177d835ff570424b984b509c2cdbd1e7b190ea03c47d42ca2e182aae57d0b2bf2e7225147b7d34e8f59ec2cd3154eb6f0355f2fc8936942363734ebb211aa916903aa3e6a56a5b58ac9768d +R = 2c71d70d59af084b9643e82a61d2fb89dd73cc72d69b7864c698ae483da24bae +S = 26bb9a4b00ed6bc5d379b4386b2177a11455584ef7d0771765f915935580bbf8 +Result = P + +Msg = 2caa5e26149dd4deacf25ed46c1c3ea17d531fc910060aeb26dde6bb7f1da8b00ed562ffc67b3d07d03756ce4089f6e14ce27655ed1dc3cfafface22b744f0eb24ab84407db833a22527916cba4c36dbee135f6bed0f74363fd94ea14bc8141e738000c5bf408011c1596139ebab1c66434feda594aa6564997ed4e2484abb75 +X = d89a3d870f308917e2eff972ff24abd77302bbb50e868461b645969aec1f88ca +Y = 94ba9921d9c70a25178e7cf62b6f7a31823818cc5be19f6d5b88ad61bfe631d2622e16fa65841aed895725886e8f802403673224ace8b6b40aab8c42a8f60ba405a8b1aaa3aeecd5f314d22ab082bbf4dc2da29a94c7a9c8ea0e8a33c4cc24571015dea03c2c81523de610ce657a98a1f79d5fbefcd9e6528a696fc12430b134f6da39d3cf326f56e58813adf557e2b755d9f36c2dd09b6c808b4a51db7195a73db3676b0a181e37b932febbeafe2d9fbbd81ca2124a7b502d761516d769202e5edeefae0032a589015311a21d9fd6857407a0fd8b82bc169fbc61e2d3ffb2e0c43a7e5f1054c7b8f640b212028494300f7ab09f4bcb9f5ccf5782d29886e7e1 +R = 80d0b9f7665e0c5d380898972b267a99732a1b3175ec88a587833a98f2e0b391 +S = 8a601094bafbdf6ed3ff21f0bd3afbdcf8c43bd4e65311228a4a3ba877c15175 +Result = P + +Msg = 05e710286e97f696afccad12da76bf96a4af1cd3501a59392dc2842ccaeedb48e73911a6790b5a8c20745781313df06b347939fcf0942c37e171deee90890c94c754c51de6eab5930a5d3674dafd6ea25f09c2b820ab5a3aa85ea6ab6c3e158150922a0b66e5fac2cf42c38492bb2629ceb26bffdcce440851d49be94abf3345 +X = 11893f9a53b758cc9c209a18739bc85797e12942dfd1a24ab8f32e382b8107fd +Y = 5f98523d9952bc9aceb87e5cd65af2ae545acd241751ab68c35e6e1764ab7bbad85c63db9d3f611f2cd1ba85b5b908635d8c8b109599e444c7cbbf6410b1b549e2989aee1ef7bac2552b319823a5312f4b513fb0feb82221ee63778088e0db23704529c395bb5e5b9f7e88dfc97c63d429609f161f985d9dbef6a87e57cafbcadcd6d44a835a374499b3704535274f2511dc1a30aadeb9b145a45bcdef359d0dc13be434e01a337872e1efcc0958c12704d153638dc10681237dfa2166c03920258d6a20f10abc0d283c13ab19ec69d442520fe793d7a9ae734864a4759ffe4fe5668c86cfe80245c0e1ec5e85e1210c2cf561cd5f1abf41243e016e03275332 +R = 8a2eca562436916821ca630e11f30f920fb651d04cd91d3cf39843a3d5350171 +S = 92dc17ef42ab000ac76f4f0db4e9b56850d3291d53509c3bce64fed3140af3a9 +Result = P + +Msg = f882b7ad43d7f8169544d4456af65fe583519a5f5135da6df4185291b2bc3585e8cb037609f4e827fdbd3cf9c8654e67efa7de413f0b318a84e11da355d4382b1e7068d5d174d05840fc55219d3076ccf98c5c49ac56236863e79261bd84398f69ca94ee84aeaf1283f232674c53c7fe7c3d5775a9c244da6fe3e2fe3a6ec3f7 +X = 1a81fd51fc958d517559d221293345ee1b4c2a6c5df95a445d31430d9a71814b +Y = 43115c2bf055cc28ffb8df87c2665e8a50082c16c7b55e1589b3bbcc2dc92b9f68bacd9d51a4a60b643cf09ec7760b27548ed36c50fdb47610bf15fca49982d9fc655e2ba7789b5db16f567ad38ce552ae78495fb49d349e38bcfd95b1b0042a2ae11671a256354c63ed33392c077c6aa362408c7dba854cd1211da2ec208c39d28fc41e492b57b0b19d9fd364ab126b958e1987d7226db6b042c00bc60c0080ada63d21198174bca7cd208a520ec721ee290fd98b30fea021fe5c7a354dd1358e60c0c9ab1314a2813938e6f99bde52fea502b3835333ce4c684d08ebb7969e1dab895214a36ee8807bb98518f79f47c7c511fd12113f2d5491da5f357938f9 +R = 5cad330c0c90cfb402f0ef5b909d1e24093f3db9465d5252f905e32678307f95 +S = 898ef941fa26da94d79d4d78e9afda9360a753b31aa90d3551f6d8af753e3329 +Result = F (4 - S changed ) + +Msg = fa54792eb5ed26b336fe0d5e2aff5b5615620706ed3c64d65399022f33c5878906e76dacd36715bd834d220ec6e39fd0deb46e8a82b4b41782defa1274b859e1b348e4469503b0a08f2cdd0f97d60ed521bcc3a543c2d0a86ba3a5cbad090bfa9d8c1c11ccfa0869ac70c86345fb8b506a57922517a265f84d8e4c404ca603d0 +X = 6780404d4b28debcf9113936aed97e5210d98a13fff4cd57609128167bbcdf97 +Y = 3f6d951aeca85b3580bf6f9a931404b57f659657b182f3364e7df973484cab6dd0deeb9cb32e12fb700bc751dc72bcdf294c2c69eb7a06fa8107c29fe2d2ca33cc0c4931de6096351ddfdda0ee4ae04922e12ba72f204506fc97f58447c9adc9ecbdd08d19692f4074a3a1c3287e8e9c9550ecbd05671dbfa1b1d919087fdb00f15fda9b8a26bcb27eddbc809edfe0342e1344e487d72e38158f1691e60296a1c0ce7149cbcfcc9f12b65e46d25555fc6959a86e54186172e9aee6bfb0a2bc9dffd7a2e0deb37858cd1796418dde062b2cd57fd424a9e145476a9549dc6d183c6646287e912e82445618bb12fb7329c0cfbc423a00f955194d495e015860b966 +R = 6ebf0de5c44be265bbdfc9c610429cc669cfe19a98f18ec723054367dcbbf3e8 +S = cf6ee52c885e8eac2cd36856814e15a5a3dfbbe9916a60f6afc4a76968576ef0 +Result = P + +Msg = 40adaf7d49c44a867b2c060143cde8ac07515076f8a22f6cec949e483acaa5db6d5a6bb36654bb7dbc7f3d098c979179aeccc45b137ea70e5111bb7b7d91cc603e261a7006f4a9fca04f98dbc2777c3c4652306fdd60103cc6a31dba444c3a42dd668102c939d26ecd4b87c97d4a8fd4be0092f9a6a34948890e7d9ee0ee8f4f +X = d25f1c27a5934ea7607e0736380647564596cda8ded086c43f0fb80eef347bb9 +Y = a7f92a2d754082e1345d0d21ef569f3dc69a6836b3316c3ae8aa6558f01ff6486bc751602571a16a17ff5dc268cf3b778e7b48f6fd9baf192aded87e43f2353a0573b1efe514c3d09d4a7d93065a191dd5e17f38e2ec59388f4917d18a3c8f6865421d0f7da37bc19dea5eb551aa363152c86a3fdf321b97410c227272ca045e8d8fc1cc29da3bd04872391038760a0b1599c38d345cdc94b0f203461309d2bde500411b26cb942dfabd240febbf419688003f51cba7b9d1f9deefab33476f050e4d0da93c304fd82a2e6bd552d9b1fe3189bf8b002211d76f29d237706b4178279e85f9e3cea6a046a04e9af6434bbf790f2626be0d7b4153f9a96cda6b516f +R = 352b354df92822a13e9cf2e43b187ce97e4275bf21c38b83542d6874fb6f566a +S = 638bee3e191f713da484e9d2a7a448ee8d20d24f85d358d7c9aedaff42d90662 +Result = F (2 - Y changed ) + +Msg = 41916d7fa8c5adb89361a753a8be6adea9cc0a928a3856a49deafe11745661780db5bd77a9d3e91396075c13a462320b7dab99bbcb0a821f96ec65569533353013fcfb03d21ef9d94f699997462c14ca4fb90f6f5203c531bd8785970f4a4cd945bb36b46a9c410593d52ab014e22e09f45e431435b4abc2557183aa780258dd +X = a2b035e6251d9d37e1dcfb9ad46ee47a1b2d05a79a52e481b351959cadd8b5c1 +Y = 39a745e4671dd8fa1f80952fc72f42301f2693e602d69b52de63ce01594f9afaea2649eca34b10c0ead1d0f533dffe302a5b641651968ab5ef66e2227d46c1be776775599e916a9f985f28725376235eaeef2302e801b5297e103f1e4fb4daf970f7ee50082295d904869751be7f1e47a211a9e8c58c0aa71503e90a4cd50e98f915fdbd7081508473ea1204691b2596a8c46b18a41a262d692c9cf8f70ec36989be62e99cb7bb7ac0157905638115c99740600de5e306ced3e99256325349ebbd5da65d66bc5698b21aa721885e739dfeda3a8265782957d541535fc53617f54b68009dd84a461ceb485f95a0dc6b310d5fc9c14a850af98a6dd8030bd9bf31 +R = 72480acd70d00808814f5fc78b91583a27d406dd8dba628bbc1b63758937c913 +S = 1d877dd69bb00d57de168d37b8820281e4368904c93edd153d2f5fd21c5c8bc6 +Result = F (4 - S changed ) + +Msg = 42f5dea66e54cfec4a7fe67315edb7015404f09ce9077253a16acfa432a3530ab15707f1a1387408bbd0618098094b563f01e8db9d4f46b11330f84d2c873a5128b618dc167a2a8c50bbbdab5bce693d5d1d5ae787cadd596c284af6e9960dfa5e7cbc27ae46c42f9b2ddfe8de8167d49b3e15e6fe5d607e4902e43178dc6bd4 +X = 32762974e01e87bce6fb4d3f8e4f6f07e4fdd3a7206a5fb25f78dfd4b7a61454 +Y = 5c3ed0983c0d568c717138b6105ea7529c415456a4cffc0d475d69004bd4dc45b52a73444835fecf9f2e6ba8333e4861d07ddb28346e27e09930ccf889a3b843574f4a228db89600effe80503f9f2714feac46d6f2af959a9f70953767b0bc130d995d630254f7655c700ced3a6db81a5b30af7d03c39979251d113e386896c66b57f7edaa7cf3ca1d7cb8725f72076408567fa23a26ab1b05c44b9997521bd7625c2ce95510723f1d8b96285086a2f929e83259bbed0a0b729b77f39b6eb530c15cd6236927fe14ee8961e2bf7e57748966ecddb8d5a1f2e3ab4ca175d0c39a6fbff00b129fecc0d040ac1739b816a6fc02cf8329ad69f827b261f7bbec8e22 +R = 62a136f6905f734e1faaeb9a5cfac7fee8e8e039588ffdaeb2a9f22156061ccf +S = bd32402564c470b7bef25260f0f8613d86973a15796264e26580e8e084604e8a +Result = P + +Msg = 373dffb6a00e41e58c25a5038fb007a0bc5f8cfa93f342d8979b71b35a6eb8b3e62b91000a3a6babf692dac378a7640bffdc5d2d1d5ec5f0251a00c327971c382c01264a4975a4db576cc5fba1a46197b28cbef3ea4a5acd00415919a2dfd7927d00d0b2059807b70e96d8cad119f7094c66782285be086f4465bdac86d68a9d +X = 9b2e7daf597a5188b732f04a897371606294c8573b43f5aa1aa3f27f23a228b5 +Y = 1c895bb9a28c3e0ded0368ea23ac8d68170d149aea0e33f3373a098fbe03da68985d46266f36b4d6c500da0831ef2290ffbafd54585df7adb2ab139398ff9440257273a09d00391f39b355eece5371c04e43b2f8236f7ccd604f87789cf823b43b77a5d56e3f570dcc03e9f9d276e34a3868c3ddf6356dabfed627796dae1373efacbfe10132f801eb1c2b09db02c279de97eddbe3c6dd5b3ada7b87cc3eefcb654753a47cf693a70f0b8e0d2522d83fe9990db7830f51950ee0ca34190adc2701a533ecf2ca365a6f6acfac682c3710286cc387216a077d4ed3a5227a8bb53bbd41d1b93c9145d9390e17cb4fbbb27be27a1b9f47ed574bcfcb7c5a83100c7c +R = 1f2be8afe493fb9bad9fbd682f1b757743729c0e1ec2c96a2cb8ecd0f31f83eb +S = 6c530139248484939dfeba5abbc8baf0f4249b4b04fed2b4474d7671d76d9fd0 +Result = F (3 - R changed ) + +[mod = L=2048, N=256, SHA-384] + +P = e7c1c86125db9ef417da1ced7ea0861bdad629216a3f3c745df42a46b989e59f4d98425ee3c932fa3c2b6f637bdb6545bec526faa037e11f5578a4363b9fca5eba60d6a9cbaa2befd04141d989c7356285132c2eaf74f2d868521cdc0a17ae9a2546ef863027d3f8cc7949631fd0e2971417a912c8b8c5c989730db6ea6e8baee0e667850429038093c851ccb6fb173bb081e0efe0bd7450e0946888f89f75e443ab93ef2da293a01622cf43c6dd79625d41ba8f9ef7e3086ab39134283d8e96c89249488120fd061e4a87d34af41069c0b4fd3934c31b589cbe85b68b912718d5dab859fda7082511fad1d152044905005546e19b14aa96585a55269bf2b831 +Q = 8e056ec9d4b7acb580087a6ed9ba3478711bb025d5b8d9c731ef9b38bd43db2f +G = dc2bfb9776786ad310c8b0cdcbba3062402613c67e6959a8d8d1b05aab636528b7b1fe9cd33765f853d6dbe13d09f2681f8c7b1ed7886aaed70c7bd76dbe858ffb8bd86235ddf759244678f428c6519af593dc94eeadbd9852ba2b3d61664e8d58c29d2039af3c3d6d16f90988f6a8c824569f3d48050e30896a9e17cd0232ef01ab8790008f6973b84c763a72f4ae8b485abfb7e8efeb86808fa2b281d3e5d65d28f5992a34c077c5aa8026cb2fbc34a45f7e9bd216b10e6f12ecb172e9a6eb8f2e91316905b6add1fd22e83bc2f089f1d5e6a6e6707c18ff55ddcb7954e8bceaf0efc4e8314910c03b0e51175f344faafee476a373ac95743cec712b72cf2e + +Msg = 6cd6ccfd66bcd832189c5f0c77994210e3bf2c43416f0fe77c4e92f31c5369538dc2c003f146c5ac79df43194ccf3c44d470d9f1083bd15b99b5bcf88c32d8a9021f09ea2288d7b3bf345a12aef3949c1e121b9fb371a67c2d1377364206ac839dd78483561426bda0303f285aa12e9c45d3cdfc6beae3549703b187deeb3296 +X = 56c897b5938ad5b3d437d7e4826da586a6b3be15e893fa1aaa946f20a028b6b3 +Y = 38ad44489e1a5778b9689f4dcf40e2acf23840fb954e987d6e8cb629106328ac64e1f3c3eba48b21176ad4afe3b733bead382ee1597e1b83e4b43424f2daaba04e5bd79e1436693ac2bddb79a298f026e57e200a252efd1e848a4a2e90be6e78f5242b468b9c0c6d2615047a5a40b9ae7e57a519114db55bf3bed65e580f894b094630ca9c217f6accd091e72d2f22da620044ff372d7273f9445017fad492959e59600b7494dbe766a03e40125d4e6747c76f68a5b0cdc0e7d7cee12d08c6fb7d0fb049e420a33405075ed4463296345ca695fb7feab7c1b5333ae519fcd4bb6a043f4555378969114743d4face96cad31c0e0089da4e3f61b6d7dabc088ab7 +R = 3b85b17be240ed658beb3652c9d93e8e9eea160d35ee2459614305802963374e +S = 726800a5174a53b56dce86064109c0273cd11fcfa3c92c5cd6aa910260c0e3c7 +Result = F (1 - Message changed) + +Msg = 3ad6b0884f358dea09c31a9abc40c45a6000611fc2b907b30eac00413fd2819de7015488a411609d46c499b8f7afa1b78b352ac7f8535bd805b8ff2a5eae557098c668f7ccd73af886d6823a6d456c29931ee864ed46d767382785728c2a83fcff5271007d2a67d06fa205fd7b9d1a42ea5d6dc76e5e18a9eb148cd1e8b262ae +X = 2faf566a9f057960f1b50c69508f483d9966d6e35743591f3a677a9dc40e1555 +Y = 926425d617babe87c442b03903e32ba5bbf0cd9d602b59c4df791a4d64a6d4333ca0c0d370552539197d327dcd1bbf8c454f24b03fc7805f862db34c7b066ddfddbb11dbd010b27123062d028fe041cb56a2e77488348ae0ab6705d87aac4d4e9e6600e9e706326d9979982cffa839beb9eacc3963bcca455a507e80c1c37ad4e765b2c9c0477a075e9bc584feacdf3a35a9391d4711f14e197c54022282bfed9a191213d64127f17a9c5affec26e0c71f15d3a5b16098fec118c45bf8bb2f3b1560df0949254c1c0aeb0a16d5a95a40fab8521fbe8ea77c51169b587cc3360e5733e6a23b9fded8c40724ea1f9e93614b3a6c9b4f8dbbe915b794497227ba62 +R = 343ea0a9e66277380f604d5880fca686bffab69ca97bfba015a102a7e23dce0e +S = 6258488c770e0f5ad7b9da8bade5023fc0d17c6ec517bd08d53e6dc01ac5c2b3 +Result = P + +Msg = f3e71b97ebcc49c40fc4d2c22c8c3ea7ab7f4ad31f65796592407ed65a9584803f7e5ec47c4d73dc2c896ab9c815c1980d1a405c926e0dac2158cb206257e96529837e0d4a4746f206813ea709f80e6c1803466fc54f579ec0fc4ddee7b96910cdf9373cd3d533e3aec211974fcc2accea54802ca1869f5d351c837d30c631f2 +X = 14f46e93cd3bd689003d2f281391491f1751f04d4d457d859e1c3588490a5688 +Y = 2152ab418e15029a54d6dbaea13f7938e4b3704758a4124003558f09c1b596b6ff3a0fd94997888d0befebe00bf8e51c34c1656eef4a68f066e6c99088edc0c1f809e67265c94bf133703c7c65ec5008c664bb3c34711575b07fd45c6ad247fb60c58fdb9ce8980fc1a973eabf83a3840fba6f77a7f453840837bfbd139eb7173371b51d30b9a82d6b3187bb07b5f0fe7e9f76d6903c4bc7955fa24e640a2d60886e53b0d7432ca661b7ce41b536231e976ea9e57804df04b39a021ea8ae8e9777a8ec85e3242d73d037f095e498e866c87c8caa14a01ddc9c95c7ace35104fe1ab38577fdff07652ee917d5a652ced4a7a361d1697a93f47d307f95770e3630 +R = 867eef464910c7ad102e21865873f0e9c695d20d16bf062b28028039a0b4f4d3 +S = 2448e646aa8b3daac8a33bc012ed424add6f0b6eeb46a2cef9e69d07615480fe +Result = P + +Msg = b58af5f95d02de2638768a681151ffdefbb068553c2c5c3c012251e3d6a3c08cc4c9e0ff7326cdcd33e572abb6d46e6fb56fbb77ba09bce8c1d792b80bcbad41bc3f64b1736b2d665cab3613c0f6e6ea44e3df7032a7bde2ee3e4539872083df6ccb2cda54ae26b3aefa977a85911eda04d974da98e41be984b11c5a95be16cc +X = 7250dbce48a3a7c128b0e18cfa727d0aa597126625a85d987a3569da5bba1688 +Y = 0dbc4ba30432c6665c25ef119204dd12a1439c171f1db21dcec046b60a4eac6f7ce809ddc711aa7bd5531de054b691a30e7defbdd4938473e33075ca1c3d0d2e11f49fd90e8a17cabdbeb5b27b57a50d603a6a74e4c038ead80e7e3f873171e814278db60aec6fbc698f8c182d5b6857c9d68c24b139574473ca24a46655ed7482ece36f4c695326264130381542613e5e87005e15152627fd87892fc032f7846a62d3992f6365817bb631cec1e487718884be297b5ca65f4757686a24d18d66a07aea85bc9c12191ea7481ce174dd0cb2a624a667795487ddf511c6dcad85a28d05beaaa4a0be80560b5132b85b8f8f8f2a7db38851053582db4bb60aad54b6 +R = 21de15fedee8c9565a37cd3bf143e953f7752da84333d5dbde74b4e85295a575 +S = 4309a28bbba948707ef8eba3127e6609fb1a131e29692c5cb7cdad9e79409a3c +Result = F (2 - Y changed ) + +Msg = 4b479e23ac511118e286e14c8cfd4da94a7ad5168d965c5e6860a5354860bf1a87c001191f30eb764e68bc6d2cc1578220ac8851070bbd835086e7d82503a6286673fa0aff5028417584ca93ad7cbd7805bb31fcd0b25324b3230fdc236f50c18fe1a5bb7958a18c70cce293ab3b925a4faa5527e4c665e4991248a8d4d8fca0 +X = 81246ca930191eb086a1debed29f20a38ba0f6a5d796ea58a63fc75436435976 +Y = ac7ef4796ad237087f8f19223b35a5f0a84b75c56aa79bd9045eba47d90ae110210c763b052380f54dac7fb6f636e94cf614be70232a02f6d2fb6e0f7db4374a1110295ee70927d788e5aebedce92895718ca3eb8cff4e6d90c7580c7f952cc58ce557c82a3b25fc81d41226445379f8cb64ce0bd34d7f5c991adcb356c980551db2a053b8c3a5b1d7c46b4aafdfde4dd30045c8092b635859f7b8cb144fd026c993487fb3576122797d255aca01a42e0870f97b791ae778082a0ab914637c3717e56dd744daf0cf5e09414916bfe715618dc87c43e00f99879eb5792ebec681bb2db6314e144a805b9eaca385dd7c1e551c6916a649552a27bf8c2fd643a746 +R = 1c78053913e1941e46644822d2a93861e7d2a0d69fb6c504f7bee5a8bdd481e7 +S = 1130129689f64fddfdeb3254e607716d7ce9f1ea70546f2e9799a11eee611552 +Result = P + +Msg = 8e498037817abca4e3b2063df18a8f6cdaa0bf0e0bfbe6db08338e8fdbcb8981ffff3b87c8b8ebe5ad5a6df9d056280258af8e1053f71838526984a899272b9059057686b88e4c8fef3de0cf077e6fc0bee8771aea32005016c69176433288ac3818f85f99682a56de90781c68b5cb230f12821d2e93143ef1a46163a2cf8742 +X = 8c31ac8dcba27a5344ced41196649b54047d656dc6a644ef752a28e46f48595e +Y = 4d5c9755a1149755203dc4f6f1851ed1de164d416b692a178e60098aa9e8fd20b82dabec397c2a858ccedd7aae3dde35af9b54c3cbdfccfc1ab686fa47b6160de8b168306d470e1f5918ef33b77041165e147c59974faa5a2c269c89093d762b08122f9ace2058027d7cf1ba063c0b51a21057e50eb5abc36b0012c659efd4bc7b7c0e5a4215744f6b3a2a8c57264c7bff37231a606c7f35233d56ae6b3161967801eb35a6d31bf84225dfb77289ec925d268639d1054b87daaedc2908c05adbd939f7d110178c505b11515b6bfd08574209e5cd894bc5449ee0105a3f8688fd9fca7999d448970a051bc8c14df71a668edf7a029beaa810f50c100aeac8eb69 +R = 20d4af07807dcc989eabcfc30c17aaf731810ab821648057eca4310434bbfa26 +S = 24b914719c69b053fc950760991f602c3fd43cbb6e14703882d3c6d1b63fd260 +Result = F (2 - Y changed ) + +Msg = f5cd649b931f166626ad6d8c04810490b884d5c4ea26bcfc91039246b74de2265a124c55e5250b4387bc947bf75be2015fa032c2b61c1a847aac03bb0f99c36713b718e2006cd8078a4c3d230f81d4a0d392eeaba2ac0da9dbd4562ea71ebfee4171c197602a9d5d58945adb63d23af710f45e9f8f74c73a6f9652a4baa83bea +X = 73e4c52d10b21504eeda7c255e7af286f1b043aeb964860a21b20a112fb7bad2 +Y = 718f354b32511caa0915f00e88d6ebf6be59b7faf131ac30e93561e49a4f773cdd01aa68d6b74afce2c62959d96fa66e4fe43155945a17e375b6ad0317b7e2d9db2b763a70ad94a2ca7252633f318b6bed6bce6fe0e1690a5130a9195d3d0c6c7e17f00c2cd9bb7827e9a7140991f1e87712892f4cbe39bf437d7f5f4554c3eba600e171d8be680947c84ee6917993e1bd2e033eb2a6962667f9579f330e04d105381ba968de528e76075bb0de11031a0c4aa5d15574140983d3f27bdecb2fa910e19ad77a8b303155ef60ff2b73a896bbf51a4d5c3d68261d7b7a966904d9df661813765e074eafd59ffd4958fe5e5f8fba5da5ad395892ecdf7f9905f9adb2 +R = 4a8e49ab4fd7770796ff8727c3a8ec80a5129b1e9425a3aaf2fe96029049603a +S = 7104f9c90e6ac5644dae02343fdf69bb3b8585143a790666c0fbaca56a028464 +Result = F (4 - S changed ) + +Msg = a133ff4cd9795bc077fc74ed00a6b8f574a4bde7f94a7074bc8bca1976cf1fbc04f3a5d552f724fd21f4ffea1bcf331328b167247c4c1d44b064c6ae0381b569669f491667671b853b7bbb0db4ac51f3386d2c9f76e780fa5f0b611da11967935a7659de81cd642340a4d9e6af1673869791e790e57d563df38d9714f2e60554 +X = 16f15374904b4a0bd5d82a6edd236b642c57b77a29e19fbd1c7aeceedb4e94fc +Y = bc87e69eb311f6c04e0c7c8494102b219f62796b90ae7a9e0bda4f6a92dc20cb3d8651843b0ce01760a4e989c36969604cdecf77fd8da82c168483037c6bb92d1de4de86673ff1f53c9e59932f91d7639f1490f620d1d06ff058e0f92aa129a813ffa1116d2e7e45b5c94e471a7883eaaf7ae0216ce2c4888648b7db319800a6c6fb4f9a5413bef2e3634e453c83bbb3bb32a457c6ca05c67783fc3eb1830e022a2657180dce1cbbffa13b86d3b27e0a2dcb5416d724f41806e1083b40fe6a6ea5de7b4e3adb363420a2761397172b5438fec0b2c6b6d2871394fb66d5906e27ad8f366f19a2c4bded0f69b8f3eec172a02fb7295696834842cf9967303ea278 +R = 6308ead3000c03ec882572774968a50e3713d877f95203d85b0375f046e5fe28 +S = 8d1cccea01355abc1aafaa887df6e53063722a4ba565c4256970e91c9938fdb6 +Result = P + +Msg = ce527ec09b352fd4a31837bd91cde6912ea390dffdcf72d55389c78d6688f5b1f48b4e5ab7a1dfc604be20f6c5887a85d1801dcedb7c0ce4c6c2a5bffe8248389f86157220d8bfde6debbb1df2d0e88fbe6906c211ee2e0b6b475d530a75ef4f57182e93a9b16afb6c06b9ba68f4116196e7bceb330e9e816ef56027295c4bea +X = 069d5f215a882edaa4f12b1ecb02f235ee40457feaafb82c7ce0d40a854e4748 +Y = cbc5154073c7148e18e7fd660db6c5202632feae3984470c6afe2c77f5a4b41969352b700fefcaec09ed72f84a20e0c2e1300032db4361dc9a0d210cb722f8a8541200791b022c1ba34f2e4ed7d338e7b7c45572c11a011b52b3baf9fd9ff7e22721e4ad0792bee876b8293b9eff10cc1eb133e72cda36ba5eb9ddd815e995cc88bbcb01bae337592b19fdc3887553774cbfcad964b808e4a795a205b47213774d2805874d166a607edf32845867765e3d929052d4c7bc2b8786f7dbd21e671d0e12c6c46a3517056e5f3d4d6301121c491edc7c65e55aae338da94161ca1076b5c7c19b824b1be2a4d143cc41636cbbf86825b2bbdb78db0e268c1b969e55b2 +R = 15f1d14582365dc98d004d7086e5a9fd46be202fd6de3cb9fea04473e546a5e6 +S = 58699ac09b7daf189bb7653b7f56fd176c4032899c8b23d297028c403de3f009 +Result = P + +Msg = 3a54d1376971f53fd38fb549084d63c3bfdd2f9539ee7a45654bfadd4d3a4412ffecdd02ffa8a85d22f8395983fccbeb897b794513a0531ff66e4df07fd2a214a2aec314b9655f90ba1546d3a6cfba759049fa186e67d583e744806ac90f6bc091594c4977ec545164fb22f6d247ce18892c0913059db3ef8336d3dfe09c28b2 +X = 1b9822219b629f8c0c0a1a2fcde8116441e43941ed91b169a6d245500033a917 +Y = de8c130adda64bf421eaabd02fdc00b16ced54ffff86db9f47b9788fb2057b691868ce8584e6fe8a1b38ddf55d2b6a8bcfb8353427b46a91059ece282eb7494ec287da26183ad8b6ed0477e556759547e01b8671e79f6050b90dd8a28b0a0c472497543b908ae4d46fa5abe13b7c14c8aeb4e843dee3bfcd9fd7db4177e4d2da7f8bc5df0d474e5fe36c11af17486f4ee7400625dc21c2ca3eabfb38d30362e362bb8294628a28ea6cf279040ab4a9fd6bcf1c9e11c32e0923585640289130605c72e3e7feb10cc536e1efe0fa42ad3f4f3d4ff57702906caf952cbaa95d5d7b792de16a59a476bebc9020d0f05b66b40995d949089bede60b36cf4d7189096c +R = 784bb55f11ea9f0d1c40b39319200c456f58290e2f28c185b658402f5e3b8b37 +S = 6b800636954971126b47a8448bc769fff35fdf30676a6f86653739080b38b27a +Result = F (4 - S changed ) + +Msg = 674d691ddac961e3cb49deb36943bc8f4924877f2bda30c62902c65575525e6161bdd0b5108d737c8c5aace62aabc0080495345ad4a52fa9a3d1bed8686a31cb0247519cde350076976ec166e85b20ec3e1f8c3d7c184d9142a67a642cbace70dcb010f1d4c99e68182383fab0a84bd55567a5f3a47cceda4164d435059881e1 +X = 8370ebf0b3bdb7b22319bfe1a8e033b7015affb8553cc91421b93324affee740 +Y = 76818b55d221ecc73af8027805ab26e028cfc5118755ac1e801e74c5af5e38221c277cf5d05d4daf6fc5339c09c952ea9537943e951b481521d591f44674f2d9be900cb67e206181cee2eeda8e35ab2e155d3450f0733fd4038bddfafe22379a53b00cc1c38779e2a85a97e5b232a62a842f38f763034b3b2d14c803b64f89446971e137d1ca556163889a62cf285c2d176eb36ca4b252da784299d735d65676e65fed6ba46ad2f83ad944deed49dcc17bde8babe4e78feffb6e4f37a49398aa6b934fe95a5d2ca5a5ac31c6b50e3521db45413a4df32b57e9503c5dd5503f5f8c59d9bd67afb1a7e8c4476ee937656ad851e523f9722c7f74ff2fd600961efe +R = 003e5c16f064edf41abfb1ef53ff2e87c22feac955fad9dfb36660055bf0df10 +S = 7fa8834b03784afec0d645eb3d33e15a622b751a0170731936e8de5d2273d927 +Result = P + +Msg = dca091fdba85b7ee7343d3c591c66db14b80cb99444b10c3248141d73c13dc7a6019182202241a9b8fe4c5d87bc10ce8d8e31ebd9253b068098364618d088d8f8d0f3eb17b4e46fc176863e73bcb7b34b8ffe322e177ddcf6477d25792d91700792b183f330b5e7da04e5cf3abdf462577f7675b9fba8024005c1147297e3ae3 +X = 6c2add8416964fdc44444e97bf0fb987654621f3cfe89dabe3faab4c12578351 +Y = 059b537e46a1fea933c00c2d9cc4cf5aeb27c25136b7bfc738b71675c283035e15fd9721e82ef0d9a1c9032fa65ff5491f910e3decf58906803f1e32b1ce59fa6b97f0d2aed8afcd4e9e3a197fee08cc0eeb63fcf6ee3b7b8ad15138fccfec883e19b323f294fdc00d538264118ee2e21b0d932a1cfa1bc3420ad4ee39574bce5820790b629d71d6fcd176350c210e6a28ebc5fc0474d87e45541e90c1e0aea8fee00d544d1d217d4b8dd7ee6fbc596aecfc53ef801d994778879c6015a27cf657af857828b5b4e9e7a9b304bd4e9b4f4642d653a40483a5298fa73c6d7d2f6b74e272fb70f9e9e2095d57165694fd74d6e553008ea3eb84945e35b9ac26b136 +R = 59d3c4ca37dd275a797ca47959e0ceb5054c6f1e064ff81f6fd912fbee002fc9 +S = 46d9ec6ccd789e434423ad352fef2317ebcb823a4146fbf8cd386f30c8e30305 +Result = F (3 - R changed ) + +Msg = 4bcdf86ddad3b4f9126312762ecc0cfb178c53196d5f5f2b066a1f882b7a3a2921f2b9b95a48813d92400e9f2799c79c07bf55ca2ba0d53ff0ced72b90efad43fdcd60af417b1eadcd2287d50b3a5068d77bd4a3431ab18a52cbf27a4d7947693c624aeb682381ab1fd9e440ad4120792d4a8d94562d2ec0153b4edc4729ba47 +X = 1bd2ef468b8a525ea0fc86c34ec031bda971a2089af774f7b734e963b4781a21 +Y = 5f2e1afe9a62b976ac5554f9a93aa5134250b5968fdb99589b3ca20a698108a0192389191cae6fddc6a251445eaefa24d9eb5f567ef78dbf6af63579fb0ec1f25fd6d4584636edcf3f0e3c1090862093b444a05cb807b201fd79e18301d8c28f09c294c1b873636eaa92a5b27f7536e8e35d1f8b8d7b64fffa4d5385cf38e94360352cbf8dcb81b1471c21d27d2f7b19fe90f53fa9ae558be953ac37d0f5423c04e19b1f09358bbe8322f1aedea08b8dc7d432c37baeda7fd905c566a45ab204fe8085d62a485ca2e23b74a2fcd626ef6c51f8dba87cf52d4a7ad1d8130d80b5e5e5d986528d520f114646ae80522d7d4cea438199a6c34afa32a54b960001e0 +R = 6f584c0242d0ceba65f7ee4e8863972c324d509d8dd1767e01b9cf279577159f +S = 7a48334a2c29e37849c4164e6b69822455cabe9dcd8e909a8788c3bea96b76cf +Result = F (3 - R changed ) + +Msg = e6db78b215712182835e8f35255a05178baa0753de817a1847d64a2a1a2cd7fc00a3fe6053bdbcf9cbaf61df0ffd725c93c1eee24dffd332149c23e83d9abd031213d6d6384083caeaf6a46d07be89aeefa167348d457f08d1fa8188a0461fc389e5cc65fc4b0b126f30deee4b82f0a8df1499afa3fbc966d3073ca829b92afa +X = 773b98ae3c2f3c099c8014179abf75701f04889393519ff84957d4977ac9697d +Y = 49c27b117d1462fcfbe9cc0cdc71fd9d3689c34d36042ce077f381bc8f135ee35ff89a655e94a9e7c0e6a329025bdb15e91dc67c47b74749f2a452a9bc44cd5f8a115a0e9c30c9f8ea60922359b0a878794d5f850b42074af4db3edf8ebf4fadf1f5ba5558facc493b95196a57b07194c2c63fc7b07a1e72477f71ced4a301f5be366af5930d32c7129fecadef80921b9fd1107b6cef05c5614083c580952d1835cd5fad08f452c716469d4d73484414a60a168d05e87cf2a84ad7043a40af87fe80acc1854fc04282a6c7e9af9c0499f70c7a6f318c9e38b05eaca19b70665c53de386564e4fe09185d5fa2f08fc586e922c2926e83ab1d977ee1959696d213 +R = 7909b1cc269d7da5eea0fd9c5a7a2af9d58e14a30c82b3303b15868274af523c +S = 765f469558f5daa90d186aa70f1125f72a76c223edf815865e5f12782d528ab6 +Result = P + +Msg = 87d926cc1e8c4a52b09e18633ba8fa41977d5fb8a6ff21858e6d8b5f3e42d1f4d9429b5d548373e2b6b8a4cb0509d69913e402824b9d33d14f2a29ff1edc6eb8c218209c70ebe490c2629bb2047224954f8e21159931a81b58366d4b2615f3b41557a990c1de10539ba301057f6693a7102a4a8bb08e16a87746d7a5b388efb2 +X = 66d58595e1467d1266bfebaa2f8fb8ec123cd5e309cf324c712d16d40ad9bbe7 +Y = b15684e5bc87770bd89550474f000048ffd9757636aabdb61882a6fef6ab45ff12385b3492b3b4db21c9aa3e200b6b001d43781df83eccc98db1e5f8965fd54e92c901cd73c650fd2cb6db70d22a4eb22f68bdf5416d48ffff42d6257bab2a031822ae7fb51618e9d64553d205d51045163343619fafeb2566922642844d351537ff8c6f5c991e8396fbcf8d5c692db3d604f88942016e4a1b38060c625ecbe2d4d0acd7c28b128e2d6d09930dc17778d110aeefc2987ff9ef2be99fc0aa802b2665d064bfe031667d55f335f1a60187d5064407cca42d0a5c3be529dc94ead30c4d45a32bd938de5770bd6689d293e75ca4b43ec737248f148a8f84dcb3be73 +R = 401f0255af094d1b29562616eed4fbe59f8a4453c2c4224189cb2bba4cbb92f4 +S = 4f74fd536adcf36ee800f4eeecd424f3945fdb9bf0f96c0bcccaf73fb87e14eb +Result = F (1 - Message changed) + +[mod = L=2048, N=256, SHA-512] + +P = a9868dbaf768b25d588cf686c71305e097038293f7fb3bb56249a63b9fc98b2e907fb7ba5cde4191a67bb6055be067ad531546fdd7d0da869045ccd8fbfc4bdc16330e64c03a571988a3b55bfa7bf186f06082daefcdc50632af3e33e3c3260ea92812f6358dbd4122f90c1ab2f211a63b140f28abc673d9e27f900c3631fba883050707b7c6f660e5d00737198446b9ce6c5a83d898bb395094bfb525d996b42ce43878bc4c5652bed7bb64179f552a7342646809507050ff3c3be1474776e45fa24fc023ddcb9fe38f1965fdcdef3a18f26d368307ae108a7349d5f89968b4a9ea0b6131f1f7dc95d3df677ecc7fbc38c39a635811ca0eff8b433abf5fc63b +Q = 8fa4b7ff19579677eb7a9a57b65a8f289c4b796e6457907dadf9936eca34b19f +G = 293ab9c61850a03672b6f773cc0b985d489c9148412b4b0afe9bbdd9ad2f234b051e5907c4b276e99b64a3e654a788882ff595bedf686a1d933954713ec9f23d252b6966057f4b24a20b9328d0196c3879c299ccbabdf2c36ad68a60a6450d70a0e0c6894042883671afb498c6af6ec75269b97dd1f21a77be1d3d2d2cfc55d772ec6bf7060a1695d122cd025f301cbb0a582de521a32d5e2fe48c277a5abd888246d9b308514d25c1d1a77a1e7d991e97fe2813d300255d59d913c13415be710305804ce98c6f7a45998170cab4acb792259926f09e7ea043d3c3e8ec0013104bd4a6538a3685bbed4f1bf23c926bfaf4d8566f741e3925266a43351fc32678 + +Msg = 55318c094c7c31a66b534b195086eb5870056cf16ea3ac7e8937c563dfff66a40d49766d29b6a3d4b0aa337cd0f466f4123c871d46fdbce194e1e54cb94ee4338d82b809626a9032a692861c06408479c47221ac41ce00967f84ab5c472b59b18513648bb0b2dfe21f3055291580c80f93ebc4d6806f282a5374613de445bd51 +X = 30305d8a5b1978848e0ef98c4d365f6cf99e56c0deb77f33aa19711581516a5b +Y = 4fa63b339390e3c4d5270dc95173ca4e99419ab1c0abe104396ea8885b56afe7a51b243fe1bdd139957ad1c1904c1fc32f7ae51df81f93b919543e3f16f46981f4d51d22d5694f2c3648386dfdae062f6c107104233b64d16f3028acb84d29dfcf9528ba92233c7c82fd2256ab00e2a2d0eae84c2d5df278453ab6fe3a8feeaf63a4efc2578f9ca2dd0789812f6153a332966c2510190b70999d6b3404ef5ed5ec229ca0700cecbc41bddb5b454d0487d551375aad0b65bd7c9649594469b980ce920630d0f08fb767a2a66e472dfd96053587d3778618fc3d117962e320d1670f490a3d849d4c478c8f40d80c1c40629496ae249f7584b27efaca6a5cdc124c +R = 3ea0596c3e214515a88429daa0c1d9f4f5821d839b226ae90f05a7e5be9e2253 +S = 353d506faa84e07890911222cddfdbd2e177d318e2f40540238c25af3e31ad23 +Result = F (1 - Message changed) + +Msg = 1f9d558746fa29388fa584a1f3d95f384ff4aef2fc433fbd5d3b80d60a3242680f61c3b73597b866e4fd63a4bf85af32c6e425978c3c8ee25a1211832ac36d4ff1f985977065b7d2b30e6f811a4f66f5c373cb36a35f39a4036cdfbdde9a9b0617c8a7632f7cdc99e386cd8fc49134da7ee393cb0c07f2223957b1b91313ced0 +X = 2fac1356cda0db29043c6fadec307f643ce459f4900a4788e3a693a57321d595 +Y = 657c23d7ae08fe3a991f7a3a5f842f493cb72e534a461673777de400361deb35d2b8c967557bc48bee63d42ab1d9503226fa87bc02c74ac0614db50adfea12e533eca62ad4f650a309406cfd7b304e5a956864292f723d5c9facd489decfbfe79aa9848921108ab10b756675af43090814180611cf08fefff3e5af3116efdf654684b33d88a2252c71463c7601dbf72d2b2e734cff590a413452f75b885d5e49504ceeb67bfe9a39c7a12496572296da35e5ecc2037799379e96aaf8ea527581be09da035a9e5d4a8f8064b381a5d9da9d51e8de22e3ace8ceb34e1abfdd212f04f23ba38385d595531e2d79cb92d4086e948f3b8c6df5c0d59c42dd1ba1bffa +R = 4382c898c014da29c9e47a0ac7cd16b861e69286ee185753cd653e89b26afe73 +S = 1650a2dcdbfdf986c07e57489ef701d6bedeac44002629e7e47406ea15530730 +Result = P + +Msg = 9d0252ad1df3cb968479997ff5c47a5b8b000ac5e783ae891ae42b3ee5ba1334eda075f020cc9f1074c20aa46d6494c56e34014938bf382cd7a72d4c80e13a1db9fad10baed9e4a35e47c6b405563657ab732fef08dfbdb40e063299f68fd7811afd7774d2e695a0fd80462d368d371532c62ad45979e0effabf7476fa2d6ee7 +X = 8850862d7be774a0b753f9b2e67d941385a650323eecd9f694ebee0ef2bb6f20 +Y = 43b647df676ee5190fdb885cb3828483fbd80f8213f3bc1e1078ae07bd64c5acede3d57cac11fd59074a385b45fd351d8f8021e08d3c369bbd106af7c29cd20dd7bd443445e90e372077ee29598c102a4d50dc8cf551467a63fd0f396c88e6178e80ec10006289855a72fb4ed9652e328fa7d10a53846c99dfc3cbb5f985a1e4b846801fc3ee9a8f08cd5a5031ef16ea6892258efda4397eb03b89e0e66f306be5483c405f00676e755735bf9d706f5d3ec880543c20979a603d66a12a18048e23b27442b9465599451c5edc5af558a4b508af1364a5ba0fd9456f2020623e0891a66347b2ff56dcfd9eaf15aaff518e9cc2add3bcb4575191941211dcb5d16f +R = 781784e5c55d6830ee183d53789e4acd390fb1c1c908e3911105960bdc5a4ffa +S = 20a41dfd67e4f1137adcf64822780be0175ffba99494f3ee2b5b0b981ba0b663 +Result = P + +Msg = 47a103fac824505d6f4082fa29d528a4764aa362a07de7bd36d66a6bea533759902d60c8e114b235887fa43af22662bd11f8c05c72b40653d5059f9694a3c2ce49f7a3d30e96e30040a27f993e0e1abee62f574fc0ca9d470796445cf316220c741e9fa8d51bfc70ddea1e5479b213d8a305ec04716698e8b3598cbe249ae887 +X = 3812a9b6b57b7efad0d32e4fb7ef0ddb81b1e98dba6ea9e2c5cb4cf3bc1f6bb2 +Y = 1fe768b749394a593153ffe640d954d245279635bc893d15f8e1d2aca67700449087710282c0d01b3471603aed3bd8e32c130dc924ddda349a651d695d1552896093f692e3241f0295e0d373785de52a409441a2106b74fd95801c32caccf46a63f0ce76fecf6e76b7d2dbcf2479bdb2abf3430117b1e7672042b283206d305090f1ec49267c4b1aa5e84f4e74392d377b9b9cc09cb30a47171286013951c0f34279dce537be895e9a07a41ecdfc72f3e45ae140789af43787cee32d7f634fdadd1e405f2f88820003f6dc69b9c954517667749c01683c07a4c61a4ca48b31c28b68f8825d7942fc34756530837a66282a55aed87a3a2b377fd85450639287d5 +R = 491b021d6f7201f4673082c878bf36faa90af66d957d8bc7789d25d3cb290e22 +S = 1a77abb398b7f39a07710c82f1130115b3ded98eee073c6c21ca5e914a3dc51b +Result = F (3 - R changed ) + +Msg = 02f8e94bca00377757b0ebdc9e2c77521a4daa56f79987bb3b6a2fbf3dbd752a052e173b4ca8c9493536385dc7759471b8d5d6ff91b17610c7e06871c8042809040ae6630458aa5472f79590ebb77104816acaea1f0bf84d9321c35e467734d8da247857bf8cecfe514d97e1de2fe636092e4be1f24014f3232109086bb7ed26 +X = 142e806e1610fd67268cb79564569f60fbc8b7e19481b2d72823e686a464a2c7 +Y = 0cda9c69f5ac288727a76bc920e39a2f40cbd73e7be51cce2c57c824b926e6303835aa138a7ffafd7d018327656cd1f99e6150876779b71537091a8e63e22879c3dfce3e323d3387e28a751b4257e5832db6b46f8a9d5b2e6fdf6543ee46523fe34c626b72644f3de27297f517cb3537e7bba383d4bd377d8fb28a8f84b7d06f2a75dd28e3292f0e2fd0197ce84705f7a4314bbaaab8c37b834ef2cac1e217771e4a7c186be55d2a61a13a90d7188905521e637349394dbc46c4a1d31d5028ad6988c13d0bf233481e1062e91e4490c7d7d776a913f50fe057585d83c268e1717020676bc50df161837d04e528a0a3b033f214ea55052a1f58152859be6e6517 +R = 28ef30e2457309655257682e03779bd8c23a041cc1be11d8d1655ad4c85c6b57 +S = 717ec9467789b8d7e578dd04556dc13b749e0a94c2d7248a5917c1fc3fc688cb +Result = P + +Msg = 4b7a23462c31270f48bec4444860b21684cb50f243aca8bee795aa48e8b6bec936f6d31967b05d80e5d6f361ad1b9a981a1de5ecb76902f3adc446987ccb0b6039fe0f7a0f065208315cd61e7f94ef3d5a0d3e5ce457636922d836dcc7e6c6359a824f1a5aa8ba96ae71fc7bf040fa88c4d5dad601489aac7853f1e430b1bc7f +X = 328a2e44fe14fc4a8666d5c233052a90ffcdb60e327dc94d1a0f9946cfad662d +Y = 387ea65560a4e1412f777b0b163df8f46882382d337a0cc05898a64930177253f34249f454a68b7091d68887f773db298d67e2ebb2d8d3caf2f84da131e77abd8810567d40c5106b2eeb898dea602e1b9e3b9efc65713a521fd7b65f8ac6b5081deaef3dba31633bbf39b9631b486d7ec27d1f933ac20be0e31a8b180dc42203b6f0cb953f3aae2a6c83377bcde8bd95d106b55474ae30040f54b32ecf3b247b6d827c74c40c55204ddea6fa31c9181b6f94eb0975f292fd132333c5f9455fc05cedb14b7d0945db06bbf5b8389914cbbd0e9bf4e854000635f43440b71d90aae177fe07fc934187b7131e6151601992579ae52bf01907eed9b6e7d2b7e8763d +R = 31ed70bed58098f28c73008bc1b924cc371beec97b39c775e337e88431e71802 +S = 8260cae05f91eca42544c7699b835e3d0abe79c00e9451218579be55099f8a14 +Result = F (2 - Y changed ) + +Msg = 6af1284dfeae35829d22d9f28c706e6b1fb7fa4c61a75b03d656cacfea2ceb1ac1ed68d7d3c57ecf5dcc1cd342b982e16730074fd92d94bdab623cedfc6f494c622c1034e0c02a5587cf56df70f708ea13b56fd4a278291eda6e9c3c47f86d8481425c88565d4d142b9141ce3f9e03c060665d53efa5b336f2990285abdeb571 +X = 7f8ec6e71b93a0e50cd2b9157dce24142160090e80c9373d298a6a55d3f5f901 +Y = 3fe72f3faccb46329851531f9b6c9172a5e19f1e7ab69ef04821d28ba5f7f8d4861ce177652ed39946860d8878a18784a8d5327865160c3f7a63f142e0b55cc9b767c4ffe2b30bfd8fd5c43a5a69d0923d2e4e00042840d7d1b234586eb6ae37935dc2a8a7956e3bae431d30eb86a050c4f0ee8ddccbc7bdeefe0fff165cc1afe236bddb09ce0db007df1d5581441993bd1aaf4c89ba9a017fe332ac71d0ddb2e954b53345c4103b38b04b2e5a5eaceac46ef5050429a4c1e8b2c280907baba4494a4366819a1f4ea6634aaf855b428478c1349e0e23bc12c5f2ed9c24325124592fa7fe2dae9b0cca0695aba74b9d23600ca08813912486e8bb6aa6e48e27a8 +R = 506fb35813b95c06d631bbdfb880ab64a32b1c2148f6df46fb69e704bca19313 +S = 18671ee506886327b75223b14509341423b89e2393b85c96cdd1b38dd570a0b4 +Result = F (3 - R changed ) + +Msg = 603f634d0d40bf863bdc3adb3cd9f0683f4f21d871e552d6fa9ed6278bff00ca9f73f0352989f2d95afe937bb43a7fd769063ad9cc455e8b6ba7fe7e4580d38a4a5f8ae4c7c0b38e0a0675d5d01dd0e0a1e0c92170e8e2ab776fbfc2bd08c167d734cef74302e437cdd6e9674396870c31f39b60c16bff67985571c77e25c652 +X = 66a8cc5565a127cab767c6b6eb7484f551b23e114948a6275e3eeae3780727ec +Y = 653ec08bdf2f89ff6a2396984bf87af70a875b487539bbb05b1ccd01484c4d4d5992b4c3ff8978cff19c2642cfd34ab7efa9cbd051c25094e3ea74f146235042cfbf725b9a0c72411dd5066a0bf129baab381c04b7671cd844932446b945a3cee8242fa0ee1f59c06206c394e788a8400c096b013ab4eb7333ecc4696652ce57ee377b9db4f70257627f3a4f9c120c3641e93b336767566bbbf8b3ced7aab8a8cb2a6a083c7492039f2e751a1b4eee3a61d5943eeee5950f99d3d158ce899e6f382cee55397cf78cd71a3a1db939476021b989a9d65e6343e60bb6fde56d61bb72f9032b6a8b2bff5c8467995ab65b7e29646665affe5bbf53ff31594325bf8c +R = 589c4fd824f0a1485955022f93856b33945cf10911574b6911f90de41734ea60 +S = 213dca010cdb13749953425a7465c5fc2d05b1ac8e7dd02a6897298ee5546036 +Result = F (2 - Y changed ) + +Msg = edd655d5414f2765586f4cccd73c8f483dfb9e2018383e2f80be44ab87e1a71d5261d3a4b427709fc850bfb6b042972d10140d749a18b3f55cd0135f29c3a56d7e6a63802d9f2a282fb1f4d8b4bcc11f11a61c12c9ce5bac51014d74ce3a5cff4f713588284c179b09693191ec136de2c1f8afdb819547f3582984d42854b900 +X = 5aa28f841cd52ab4e3395ba97d166228973fef4baa2af6c205a072c8354e961a +Y = a59c78dc8f4936deb547317758addb2f721ff1cee3b5b450984b9e82bb50c3991fa3848a54b8348081c7536032f239094d8b406c7307181c852278a5644435f557e99452292f29e3b34109576ccb9c724e1d3b0faaa6b236681a4c0c3a4a47b37063fbe8f44901715b813d43333b93b7e5a585ba1003550a91f3965f0c7fcadc417383ab279c51e9005c1e54c6fbbf9576708cbbf7445ee9c8ddc15def6d7fff9d664df0a57b73abdbaf6cc6f9864b181ee52154707b450cb329a7cf27c325c9e88678a1580f2587db1fb6af7475c52ab2f3703a19a705184666be0d035fd9489233ff43f1271c14bcfb90f438527e4d32266b7f00da681942c497c46cd0f8c8 +R = 04873f1242bc73d3876f2efbcb45d2d32980c43dc34123e871afafc6ae3ffea8 +S = 4a12c01f39c9f58341724e096c3518f1cdf792f8a3c5bb34fea123c8f866a8bb +Result = P + +Msg = 9e21108809727b5e9c8c4c8fdc9d8a567a807320d01fed24a1519dece639af5d7450b9c04f051d94a8ce8259f7a36a45252cb2dcbefe21b483f4238c9e3a1f42d4c4c883b6176eddeb4892f4086c4665a213d25f40c142f05a442fb957eee6b62473b2e4c5dc5c40a17d92351fa78bb3aea077913c0c883bc714d9b3b2010f17 +X = 24a66ec8964748450f76526feb480d75b56788b2d84941dbec35734be0602942 +Y = 9710fbbc3c632d65e07cfed14b177187820550321f7005eaee9fe70564b13ae3fc05c6c7d4272bcff5eaa8f48919f4bb3fc167ea9540d0a58def2b134b2782e5227537aecea79b460420cf4295272222cfe1e2c817c41d9ae9deab8ded49c98e0d87972f33023dcff1074a8bac6013109392de2144c9ac7ed2c8f4b69f034864b7df9738a2fcf378d3c4f09cd15d7543000423b631cece204dafd81fe2130814873933c282d850cc2c6972e07acede3778a488785d2dc40a7e45e07bcb02de2b86bb11411f8e0efe489aa49071f6fa6588f9eaecba75b5d87bb1b7efd4841cbfc5856491d906b730a3ebdd5da2534f2ebb59be7813daf0ca64545de46a525663 +R = 3fae30d813e88b1692dc4cdfe77d59f851743773398f770e1d56cbb04407945c +S = 597e048415182dc471ae9bf2c382a3adb83731ed708f4548dcca261ffb3e7f5a +Result = F (4 - S changed ) + +Msg = 4cb27aaa05167f978eed547debdd4ddfa18ab6cce69e05dc4f1607f22e3c18f1c72afc2f74acb41b5c2cdd36bc1265914126452a797b7a00404ad9dc5e5cb8cf8bb4d12d43a4b9809d62030370e3964d031b488a0abe341d4dae58f160021dc84ef1798281d7407beec75974c1f3136d6a89804d96f22d50db4b6907b69edc6d +X = 61c2fa0cce1efbfa6bce5d1dd8622f314665764c7a6891d8d0a9867b1aae792b +Y = 4383944705fb72aedc74b119fbf3386191091a4b9eef0f2bf15d3efed51691c65d42d02b7ac9b582fbf273e7d62ea8df954a65a35faa9a313a23ace31c06880ca00a7d6a8ef90780924e84e68c9da80f935e4d0532a7f4b957b4fe42dabd93b0aa944ae6f51bac43cfa6594e1865fbf518f2d819ed0a728f171a772c1f8131faa0eab315be89e7c8d6741720bb13e3bf09863b80103aa3a97cd7b5594c10d9280ef059df7a2a4b0ffbb297e883f49b6d2054a18857cf9844c4880844dc646bbd39345d2e46ff08a7ba36ddb286cbf1741df0f6a5e73ca3f21522c002608df799ddbe8a5f1c1e853f53dd101d98f948800e95ac9df82e8938317f81dc626f78d1 +R = 0e41b4fe86d0aadc7bbb2cbb686925bfc5f15bd3c29cb879f057d147fc5364f3 +S = 49d9822d42e15100711d520454bc439b5cd9dc6a7d6c4eeddb50eab276fa3c91 +Result = P + +Msg = d2658a2d37344396b68250c721a3b69d3ad58d0069ea2b178fe663121df82b1fcd3a3255e716133c5bc0d37abc330d1035db61fb7b654cdf4cf6786d1d34b5012c8baead391b6c6fb18f9f9bb001a24883357ace60066dc0b85672f77c74a31b5ce3c81bbaa6007712673d6432631c90cf3c4ae479f17e88b8ef7ba8aaec5a40 +X = 5e52f25e12560075e42a5b0489641c0fa8fa5e3464de214be5861341cc127233 +Y = 9274efa58bc151fd92afa8cec899c6ad022d3dfa39e652a20b41c6488ff8951f544599411b5c64e0fa202344b40e51079c9d3f516df5f6d44431f6a74253d3cbac79d0ebf50c91e6c329ac7c8ab0618fd4dd5fd863e646b70359caf590a9550df42f4c831dd82d72b80310d7e427938eabd99d3d55673fe64a86a187a797cdaffbc6dc78a8c96c69ee596dece04a810929e287d44818b5be16a4c7e9a3aabdd99c59ed04a516415afaf5ce05fd4f393c9a4d89b5ae897760bf297803f0f79615e80fd51522c9ac2115830dd92f5070153b1fafcf4d9deb0c98aac8abf1abb8b1fba4e1e163b03eddbb5af674b2fed08545b227ca42a533c92b0fd7528e033ba7 +R = 4a7e7aeb25ea4a89c98d22e40d93c2d113febc62a3b3b5f287833ba7841b0411 +S = 41831e29b1cd13f0a9947b038067f34f85b2a80c531d0071cfc89c0cdc13aecd +Result = F (1 - Message changed) + +Msg = a551e990f5d1bc4d9f712d9a88ddb3a132e792ad04afe2002c8de45297576ac277f00bdea027a83d58ab628e77843c7b195fadf4f2f1fb78aed4e51ec58bb598b2054f4dca1892c21ff0f7db38d69d21147068f9816492c745a683c0e3fd927bb2ea2ccd6652ef5632c395237a3d06b922071f1c7a56392041d01430bd85d633 +X = 5d1b85e878fb44f8d93b912392ccf678589a78a565779888ea9ae60e65d9a877 +Y = 2c411ee5e308ce7765e05ac29503ef7ca4e71f12009f4020ce869ea9b474af099182d50019e5d0cfb8288d5285803269a3007beab01ca14615b92762c3bafde540fb182d922fb41d7255d3de258a324b09deb149c687f53ac8c40e1d622f3556a269391edd2ea6fbe5227cc586f531f5fbb7dd6199d7ebdcb3551de518a1e2e86073dfa1d4bf52e9c66c26d5eb7077559fd90f4a1794de7ca7e5f3ec95e97635006bbb6fcf0046cced23df460fa99dd1665a0085141d0f9a155f9c07a32633fad53881cd4be5f00961d72217558bda201a6d64d37869818c2ff9dc696d256c02f0c2bdbc59831f0378580a59dbdac74b21b750bc3b5bab37aa66cc9b8893afc4 +R = 3c3b175b0cc04909b6e074fc1e10d7b141b2dfc25bab44c7ff6914b39bdd95e3 +S = 7911db1d87ae56c25255bebca7a77debef947114e1e27514e8c177b1c65a639f +Result = P + +Msg = 9e4fc2eb9bde786d7ae2134d288e5cd8d92075ebed052265859e08d4231420d8c0b510ba75dce2e6694215591bfef07b4acecf41fa963c9145c3b9de3fee7df0425b486cce48f36d72d4f7fd8d49afa23555f4af522d456a4d863f849f456173d6cc74236e5ec991ada6de9e524a0dd1a773742cf1b070fd4589e424b8b13012 +X = 32da7f0ddeaf06d59571cb084172ea5e37f1d9e012fdb3dd8edf0d0db92879cd +Y = 673e237b06dec30d06c4261bb39b7033135c5e608f84115d4b050bddd5c69ee7d86ca34d8eacc80de35d325fad9106dbf334194527875130ce8601d3166d8d9055e35ccbc4f02fff27fb99c3c095d79f254553caef3a01ef1926f67174d0ad47df2e0dde19cf797abef9ef61fe7c5018854b53f15c5ef75c808459e6879c25bbe2d92db5f68c2e6d83a7846eda6f40e658da50dbe1660db3bc6e43dc3f968e8da44b348cfa5a4ca4f7a7a84754a6f95def1cf8b548184a9d86df9c52aa2758ba495115c7f2ab289ca0d9d10ea423c0506d79a6d53240dfb3f61208122d1e563725ca788b9b51c60c163b7db2a089f2c9c278f18cd73440b908fa29d20cd4d7ec +R = 1819e8efb8b627bbff406206ef6bb5a7ff57f8960f27ddbfe55bd72eb343e826 +S = 17fd87711cf447dcead72ba43e2c1fca92090fa5d526dcfbc93c83414fc12a95 +Result = F (4 - S changed ) + +Msg = c3178d2673137e284e1b10219a065fc443f3ae6e20ad377452f591979cf3d508b26521d9436a52fd662103b6bc8baf4922fd2da9ff94c7d73bbf50dec26a9cc151abc50f20e96a52fe79d01db3c02c22b0853b931290c5bcb1c04e3cff0ffde341a164ff04868d66e693aa9079c5baa3c657ff2bc5dc7d97ad393d8e5f5abba9 +X = 329cf5bcf83eabd73c1b526bf49f04dab1f2894064eb109bd81a564baba3420a +Y = 46d953d23655a2ef30c44d336a58ec04c73e8976cb2dcebb7852f8e2c5b14814987df5417d65b98780046813fd9663499a8250a280739a6e1a0e45081d2b69a73140e80bfe03c0bbbda0d82e42c3cb7babd86a944b9a1b89077b399c4217047061742fd460c9ee6bdfc9716464dbe047577f848516df337dba4eaa353c0ab5bc7d7bb2a849648693d8e59ce3e4a05ee8c6f5bac5809037a0651ede8be049ba3e1a0834f1b93e35d8fe27e221ff565c5d398e3749657c4c970e6d44e73c14234708f76e51565b5f40c80a6167d508eaca8bf5236b89e427f0f3c6bb44357ffb738ec16689ffc3500779b496f647b40d6bad76719ab35d1eeb783dc8b9d12151c2 +R = 07b54a741d847595b883c215f3f8a120f639e77e9cce85ff4e04c980e436b6de +S = 798884aa4153ca10f435e7e26b5ff0cb3ea58ea6bb1dfa235b335e17c6958749 +Result = P + +[mod = L=3072, N=256, SHA-1] + +P = aede483d2e0674cec2b0ed62f1fe51d34d6ea825d8d846f65f3d4ea98a19624b34092903e9139ceb82a827ccaadf15941eb94c7254fa6c5adeb481929c292505998825cac9042ad9cbfb9b25399640a8e78a9ea3dbfbb80ca4ea1f500a2f28aec4ede90f879d6e6434cb31074cad702e35e2dabb10686c6827dc166c86f6e84ac54b773a052ec680621d0729094bc6e38497d99be6913d029cd13482efcd48b11c93f913351be9391fb475f56ac43404e555b949949cd678a509ef6b350c069088d50b992fd1f459caf3e0a90ed0198d3abdbda3ae3a21d38c51d2650d51d72020aa443708d32fd4ab10560e4ee73b4c810a3484c92d8d1e708989ec85337916967a33762b453d4792d25bd08d05ddd710914c40f963f0f16559505ccac40c9e5bc5eb683624d5da830ffb40afef743b764e29e95ae21b1fa1a4f57fbde1d0884f182e6f4ec8c1d59445330a0623eb852fedf92c6ef0f21715c1751ca8ee7a75db7510ee769f1db1ef73ac03ad7204372f50a5a0cc08c6470c2032cc97b62767 +Q = 800000000000000000000000d7b0ee9c8d5f1febc4c2b59f6409613f951afc89 +G = 0482c4c51b1403b00b324b3cf5d44a497e130c673e9fa001f4c46e4e51b5d0eb50101e20c947cd0e29881abc26a2484c0f6e9a4655330656f9e63938cc0de62d1054fba1688457c0260cea73e4fbd6560330d63576cbaccb65e95e404bf8101f9bba2c0bdfd544ae99e4456982f962dcb96a19dbd91068a971dd64c3111b989188130e82d3110172d8eba3a5a9f670573fe3995fd845f54ea97b3fc9fe0608c4b2f76c329d9e255ef0683cd4ddcf26ccd1a0a5008a61e459e3c87dbe60876d96af3ed5d385b6880b3436c41e51f36925d85bf88becda496e4560a45a4286c8be5203bc43651c2d0a61b6f078c5d0bf5aba00081006ed8813f28d6610f2a94491eb95e4812adfc619a0af96b38c4a08ab50c069da0fcf55e1e40c8c2cd984e639745dea67bc7ffe204983b4a9da08d03ac9257736ccaf1b9c2e99fde52990fee31e30beb787d9fb5d9294d48dd5df3de2aac75cae3916178225eb1eb0536abf0714c0c1ff8912aabb7382dc05f0642b1cc715a0bfb79e95881559f141ea5df892 + +Msg = 5378a39d7456e6d1de3d215d15fec998327198a07f50250758ffee1e855b3d29c0adee556864452c0264a35b8f340f37a537fe9450c8c0959534c46279681e2aee924ec5a7cad8ae8d581ec7323bff5dd4db712b837d6d0df120bf93414d973c50abc9b33747d34fc4840805a3b66c2a6be967e51c19dd6bc5e59c0658288f96 +X = 2edb605730bad52bfbf4e9d47d471ae8110e6d28170ffc449f2a0aa8f4d426ba +Y = 28b611b314d9dbf21c7e252659218a5b0f7dabfeed8f0cdc2bbbf5ead91aaf5963a0e6515cd32d933366f57088c963f456464431951abda5dc4c8cb3516f82da669cb43a55dd99ba8aee144d1dc7a61babb96b87d78511667eb6b624ed0cac92209210802d6199edb26d88233a6139fc23692bc5184ef4cfd5dae78ea86ce0388db870e66398b46a6475c5a9a4eace08d33075d93ab5cd11e4c3b28ad053939172534e739e810c3b159f13f7d0ab95ba05c58c2de69835027890b6e900dd7cc531501de1b7af283293b0e43c3d7dc7d486fcb2b2d2a32519886c096eff12cf2de672d56dd77f177beba4434306ee58c4e20fd6eaaade95b9a1839f8dfd3ae507997f6a23a1538d80679938f4b16bfe91794aff7e72386c1f823dbcbfc63bb3c4a090e57f21bd03fbdee982d49cc3d330289f3c2c0f132ee01c456081a4a684596c7c0fb653f780446a78e2c7e152ae7ce79429b40322af623a52eea893022547627caf37d1874e201cbcf18b1f672c7d00e78fa42b5542945a5a70b46db68d7e +R = 14435ba5c36b4e37f13af0425d5f86264a2e0bdf8ee54c104804b8f8ba430747 +S = 42b540cc905f838efe0320d18fb09528a6d5c5d3eb36adf796ad424a05162039 +Result = F (1 - Message changed) + +Msg = 7eabdf597bf34359adfd42a4b694df5faebaa64574e7a911a137cf3c363f17cd29e96d2c71a6f87c7ad222f891079e14fedffdab0dabaa333d54f0cae82e71d07c344eee12bc1bbc718412bb489de87ee49a7181eb3d60212a64b898e944a3582df519ac32b074af603882ab44283ee1e4e2d7cf39148420b2003cb171b32032 +X = 15bf637fea1bde29c6c0231fe73b3cb29738102f9078011b5864ed0d24dbdd1b +Y = 4f53faf32d5c7e60c1dd8fe6cda5f1f62211bc16bae708c6b0e7d882c2b5e819cc2a1101a50005f4acd7bc8245d7fc4050f597de14a481bf8d5e40a65da917d97bbcd574e65a15dd02d4448ce992074007c1555415d1a1442ff36c1563b855b4c483f7f4a45abf4295b1aa39bff2681f5f14f2cf9287fadee3618835622837ce37a50870575c3b1e37ece09ad215d51d2c360c4d6064c88eea64aaf43b46a74db273e2e5012461442c4a5bab4ea4a083f4596ff2b32a672a6952aea213177480f13c9445f9887fa10d62ed796e06eb910547b3e8131bcc2592caf78cc48a02387aa5dfe1a4de7c1423c229c03357aed97aa2959171c8c7607c988f368850413c12f0d7d789dfbeaf0efee5441a25c078c40e7b2af27e9274e15d8f613fbd029761ceb06de666a650f73b3de96d40e06e57013a3765d6b6a1eefe8686f032bb7ef488977a86849fa595376bbf3f904a7a43e2e5d6bfee307b550cd4ed894423d246a30424914ed1bd6de3f99ad4ea494956d1a3ec409d95efb7788ae908d33b96 +R = 6c48468930dc234f41a834ff47dcfcac50d57e3750324630da6f9173a02b5a73 +S = 163e7fc7fbd306f77185f78fc9f30f4748f60c7a992846ba3ac7cebe1a272bb1 +Result = P + +Msg = 5dfb09f81e4c3e0e5ae61ae36fca2379eb8ba84c22bf7fcbacddc107eca05c45484ac86ec5967df97567d3485100a9fecd2b608808385c5b397fe149e08dc763b18338f1402208afb26a7325d5419c38e355ceb66a2dabb5385f92794420a2c634823c2beedfa9aef26cd25b39f99ac06e1c8da027c6f3966544e390d381f012 +X = 502da42baa8047e9aa7158b67a1b0e7c3bbc41dd6ce42ec16bcad7c7192ecf19 +Y = 03600bb4c0eb1b52bc5fa9de4b1ddeac1d9e6d95c30c4eccea4f2da8d947807037c5b7c0af667b5428dd2c2d6b0c3fb17349b6c37db64082b851dc09dd9125cdecb606f70f3a1d829bafc87c063225dc773633b9e1103cd8448ec2f9211d3f9114eec2cbb2766b4a58143eebb3404ecca568b4353211b83f89a5668ba58a5c9a5d2f982d2979c2cfd8b35eb27a45fca18004758184e0ae1e94b64a38c86a59a0726d264ae87d1d8a8bbdcc52e642a4f4a7b72bcc69a8763347dc8fcfb469f9184038273839972a77747698cc5a0886f206bd16dacc17ad016774625456422827224fead0882b25edd46c014ebd39ee0d0d3621497280e9f7cd89c301624796e67615be051ce4551ba1b44da4495a9f03dcbfe74248b9bb781c4bfd20320b183d65072b0f13602964467dfbeb8ad7be589e3e4ff5a907e36e55e11a9e6d4b7d8ed25f104aaa42d584c5ebc94aa1eb5ce231917021676a33ea9e271f54db0e520fdc4c214ac708735d3d55f8f4ca575531a8d8f4fc71b79ecf31560d869e07b744 +R = 5e10a33a42d121ad6b2c934261ed295130410bda56886657c1a9e2850e2dc1df +S = 33a26b80559251ac8d52e2e4d4afa18a4b803c4e89ecae5187afc6623550f0da +Result = P + +Msg = 25049b754f41bfc90ee5e83535a4edd0be4c18f7216fe6114baee1ea7950faa2491b80b2a8134907627be9f89e43e0ca040d4daa50057beb304c539fdef4aa329f3d07bbab31e403f9b40612c8637eb1584c04ba54d0fe41827ff30c833f40fd3508c8e29b1567de6ac6506558c26c29dd474cf14a628601207a0f3980a84217 +X = 2e06008a62c3fcd6c7067ec832e5b49f4cd49d3382d3de001d3c95937d361833 +Y = 910845201799bdc605910c25abee1d3a92e4bea0f78f0603c9eab6fe3998cf081c293be65748f9a4548936ba54b23ba0236735764bb91824ded20becceafab07bf0b5cf9dac9ed4d22d8099a563b67f05b87a0bd277616a457ccbea5cf3f1dfc265d7458883dafe8170097b92147a082d103fb271fcc6b438e2b2c9babf890aedacb31a6033a0e88448d504561e5c4513b1b4b630c0037fc2e9675d65e50268a0923a9e71bc63e9fcc32a0569f3bb81d095a696c3a6899f2118fc8a2d95b2e34b23f0edce1070c054bbab76fb8066552320dec60cd5a35bdfed36de0f373dcd3e21c9573b18a5ae52b52244becd1868659d1e516c538135075d1a1277d672bc0a74794a084f799a89b93852d43359edebfaa1e26c036eb4454fc14d61416125e05912428b895e2851a1ebc9501619399961a89a31387d01660ca13efe19c0f0a424cbd43d525b491423e8eae931f7c23ff35c03475e71dac3cb034710b081a675594e939fb7fff9f12680b12ade33e2b6d574129abc67cfa76e5f6661505aabd +R = 5c0107039b4988992178923b9657e9d6755bb0cb52f880b3f8a6a3bc1f505649 +S = 777cfaffa452f578bf2a753ba8f68ea8bb3114301364f5a922755a2be4d50112 +Result = P + +Msg = 4ae556572b149004431b33a4102aad103be68dc11358eeb459e91359fc7cf4cb85ee0e84478afbf4ebec859be5636d56384d8ac4eae52bc5d62bf381b01eae8350fce7d6932b6633c9b3c391bc744c2c8bdfe8d2b7cd4e6140b75df62aeb34b73d4a2a625b03b09c9b3af14df82f6460c698dc636db93bfc3daebfd113d52870 +X = 4edf2891d424424fcc399b28a9275b8af959bae7a53f9af9b03dd73e9e4abadc +Y = 426ebeae6d4df121f9c345d5b1e427b6977949bcb9a9c558fed0f4058c441b93b7b9dd40512293e51226ad1a73069588ea8c641e1b0907073f92733e7e3b65ce915f08a23076a1ecc04c17f21e9f3c654ee91e0c302d7b55870beea6f5ba349ca4b73a0c4720e3253cdf1c2d0922e2df4463dd43ea63126bc18cb49b5c95f20164237db7d9eda644390455aac46fabc154aba54ab921c974d50c84636a959216a8bc5aa608d6895e8de92d57527e12550277db1c5de5a7ff0f1ed927192df8caf1296c011357e364bd7445bad959cbe2a58d222c4bc08cef4b96b2c6f5a6b6b880b241e5a5f765bab8febb69f2223b3715a1b2d1ab827e85b7303fe06fb017a8b9251ec98d324faa7f4b1cd48d4fa37d0dfc0cebb82f5aa158e6fa0cd764208d05eacafeba60a0b25851102dab83029a18745af0273f600541363e390133a8a3e9b79d9387a3fff5295363dfcf43fc4c8460925f44334c64e4f958c1aa404dd881abfd4ba04f02a18a24ed2c57507c03a1ae20ad27a08c8be12ac3c3b06180dd +R = 79b4a7cee4cc1da17a4842192cdb25fc3f0c44e4103058018484ce7bd64ac046 +S = 033746f126f30e4d187e685097bf3681b84089456814216e19fa1ce7a938bf2a +Result = F (2 - Y changed ) + +Msg = 923ece1b3dd6ffe1f7d940306188f155767426f4fbc6f0a59df03818575382ca27d478dc565a2f5887071044ae25a94e2d8ac1da8582f77007415d548bfa93a1729f0ad5a0c5439ecea58417ed8f3ccdd505f454f8b1c22893045e22dd5ce8a312fcf696cc8c56fc781c035850df449c419db0029ece6af13043963e3404b417 +X = 7c8132de48ad191b371b53540b2e05752da0f4d7c764fe53d9ced2c40ec1e477 +Y = 740e21a38953df4418de0a7974840b8324462c4a38f2a747c63be7480f3f00ade743b6957274fa70cfd3e6e9169ec849f79ae74c08b69d43360d8f870bf724d03a483a61d2b59daa8be2431c0d4353012c0b13904d888cbbc63552b54d554aac33beb5495a32de8e0d690cb70327abebbfa6a96b16ef80f9aefb458c1b4c641a4660ea8cfbd9b171a0dda96cf9627b54dc04cff08e72cba7142a4add24971409a6f6d57e08e323e1e939f8033e97cec2d85dc9d7989b821925d2f0806e5e99ce01ab63f7121daac031677bc0b9bf58a14a8c6214385170757ecbdc6b7e55a5a47b9992f480612d8a3b7390b250e5c9a359eba5c90c35ee610e70d6072cf41bbcc6aef5708a9e21eb3758aaac2cfad094eb20e458a05c67a9cbb42a684e5781b04b1f20a4fe1b26a13d6b9d86b8cfabdeb60c36fb2816ea814cca1b29327be03f7af80e30cb14c18086ebb57670a2e403899e5d20e4436044d84dfc731f59f06c75d75a4e2db9b6a8b23c82499b16f267549f87fbb065c4e0faed7b8b77f089f6 +R = 5ced57e82d31eab7fad7d75bb7eacf14081e43ea3d5dec499fe833c634702cdf +S = 77171fa9c3b18cce17f39f63bca5d9d9c4721c886bf35faf8bbd6ee40edb8914 +Result = P + +Msg = 746151b16bd58f3ee1ae51a3fcf8d7c5341d7077814e6976ad0c30e2b781549f38f74821aaa037a09702d7b59c246396254aec78ab720c2191b6b476bb8259e65ec5e9d797cd4b589d2c226eeff9b7374f56f650d750e26d29405ebf33a3ecca0fac005ffffe55b85a5916f3f1e336c826cdc889bd52907f455f6b3d04aff976 +X = 70ec7afca4d8334bfa582188b40a7662eba7afceb9b13206b144fd9b8321c8b2 +Y = 83c1bbe2b14f0fb84b77738946dfa028e17aeaef22d041f66bc6191f07f4cd280d5289d438a2a16c34c6ecf71ad19d7859f24c49cd4f27266cce13af838cf47ad0052e2f9baebc6df69b5de7d7c9034e591a9a32c6d5422c99a436d02a97920de403ed4d3607cc826b8a89bf06be3ae5927bbdc1273a3c559f3adb17f1f5f9620bbb22f899b6deb7ac6f820133217d5dbdcd596401fa58b7ab021482ceb8734525eddce02403f7f4658b32d4bba3f1a4e87d557020ceacaf0b54453dfb73d88e014f1c1a5fb5e8ad33133b0b0d9f70808d85ee90416df84c8d72a6b54954a9a27cddd5d95fedb4d497c17ebb54437b34c6043d04bf3d08941975b373996650055f07e8c90026383bede27ab186d4af6d3c90087636ae97111c2bcc63673784f9ac523f2fcd39fa68a4a71c7b5f1f81d848006ba914971b992eda225903525d4d37f3b89f9322218a9cda8e3651574836898b6b353bcc7de7d33bbd22dd39032fa91be41cd13604467b5a93ec9ff0749b9f6ca43ae7f8142e06d79ae5ed3dc3c2 +R = 1079ba404418d1a7d79465177369cab45b7a08600c70b8b24b4f586547700f58 +S = 6d814f0f089c14207e0e1dae8ab50bec28b1b08ce2d159390175b7a9f155179b +Result = P + +Msg = 7cce5deddb520a6bd38fa65d06c96eb8ccdcc3e1bb70f19e795c22b73b349c9e84d7138d88812c58025e5fe6f8e7f1e21e45dde24070458f2de468107b5fb0eafd9df2121cc1cffee115b07c5f4fc856f0468c242b86be15ac9137c865d015869dfcc8830ae45e5ef3a48bd390c042a72693cdf0908d5ed23b83b8f19c5c4efe +X = 7c55bb666c6c5a431b3aae1c162ffe5fc14d42a5a122da0c4eb3fe41c47b2ca6 +Y = 6804c9f78918be775701da7f8b126546a1fa05f09f460ab81edd377bf040f977255a879a22acd390f5c9e23a4e5c87ee7bbd84db3e8fe102ad98524ca176866c671f7676e9519f34eccd28b0bc44e6796507ff1d5601b2afdcd6de922851ee3d07a7d2b27ec2d2aeb6142a4033457caff848696ca2b6bc3d595ece5b1625be842574b26c0a341eab8ae7e34f0af10d9809750d846f387f130f3a8d420d6d5471f62e3c7090ea86c910820f04803f4abdd3ba3a4e735c0236df35a041e37d312e348208a2bd15f44b323dbb88f26a0b05bfbcd6a1212fb01bf378eb0978f479a76977bbd2c22a382583afbc1a69a3f328eb746f00eb7bdbf9a138a6de26914fa0224e49a59e05ce88dbaa9c54373cb382d61cbd1f52760a6d047a51e589f7870c110905a24598a32a3a7a99dccd0ca0e376d621202506c05a89e8e6a0b9fcf0c3394875ac154d580d8f733366868267299e87a123e6fee91bebbb91d2d82b956eb8e1b6d49a21678f3297810aabbfe902dd921b50829325384dac8628b372280a +R = 635075ed988cbd276b0b88d6c4d6b2ffe569aaf44b47350c780a8e7c38dd8666 +S = 368bbc19d6bf01554d3a25fdf07c5166deeeb17621a6162e9ab109ae7ad9170b +Result = F (2 - Y changed ) + +Msg = f1f81f95bd4654b733daf2a6ef1651865ccba40e821f20f8f605b5768eab06696409ddb0964dc2ec7064a4b271eb7f7ea05b5e72b6be1192448072a66cbf573c6ccdd962784b532b28ad512ffd71166e873286e545c5fd40b0db7ed89a2e1740323054bd19fb8dc7300188ffd14b328860386c9b39cc7b08504ba0f8e50178af +X = 0c734681907ad40699cca5fe2656555cdcfd1a561352bdba1588d7ea0c87eb3c +Y = 99a4d176d34f7648033064be9510894fcbc63d1e208f3dda1d30003792c9cdd9d760a188511bddfbaa466010d4c50b8b307ce033e3e95ab705a81cafb8174d36ad51cc2b2b1d2d99267852648f0aa2fe3b8c613045e3e7e99c62df1d5218ad497f8b085db6c60ff23b8e6902e91f976dd712ec7913033ae797a068f62ab68966e8351105a3125a480d055d6cb7cf5b7739eac67aef7b165799010decb8c8dc42065e6a701344ba9073246d90c221aea670393de3a56dae3f4c2b81608f7bd791456cf261f6720dad9f08fe628d5c9393f122db95a8fc527b1164f852162874893ad2a0988a1adc1525e5159c54048673418e939f5a3c3a69148dcec6a9f29847cd9252524fb9df4fb55d33c75303cf491fc1ebecf51d4c05c7a127b34330432f45673a5f2c7d36a2cf8b679c869ab36e34d6a6878df6d3fdae4480d9bcb9b10e844ed9115b0cc585a4339f1667db7d7d0d2954f979fabc97b4c599bb3c34dba22c3a3210dac8efe7e8096dc1aa06b5e6df20244e0235829f335057da97b66acd +R = 48415105a0331d362f1df11b9aa998b99d3322de2bd9ea3cb7b3d939fb85b22c +S = 51d68a6993b81488e95f6583372d560b65466acbe6897a353263331f3bf89bef +Result = F (4 - S changed ) + +Msg = fe8f92631fa8bc8f64b42556695ca7bfdc8473e90d377eee31d2a473079dce55561bdb0215cb88b2d1b7becaf04a7c8611242ccb76eb1328bd57d4d39aff3ef0b0847733b5858c9a31183c36e0daaf66888af9006487ecefa49fc311e3cffe3c684b8214dc1207d1a0ca2cf6f18234313dbf446af4d072969e6212d6ce9db519 +X = 0217afc85b9f9ef00e6a6471fbfcebf0b3b045a44820d1d3bb86c05630ab69d2 +Y = 4f8a3bde63f3164a8262b80137e87972528c7bb6ca630f64139ce7a4bbc929a40b33e57a9e60287cabe5a054b7c7fe27b6c620669e0abb570f199fac331c1b8d826731c5b4851e4903fe32cac7419d66ff0c32e4f044559acadf7b67b9f661c869eadfde353afc12961af3586998aa015e324659c5a7c99c924998f0aa3bad7a025592540f60e291e82e5b64e64eacf8728a8a04d3557bd749db82c5db686817baccc960273b4c1b6c4c9afc4d5dd95d61c2c66ceb15ecbc63a5ab794e573bb6a398736d39b8ce89c204141f57dc77fe25aeb7e34f9dbaebb2bd0ecdb55f100241fecd23ee85b24b3050cd034609a3341ff110e8597c1604c3ece1809037cf4eaeb6d8df34a2a8468d5d64a837273a9eac9428ef565cdd7c7c1fb4bd904927ac21df06bef9256b01be179d777f55aa35fdda37435b8764fa28d176e03cf4abf1380454ead835e93e4f17db0f92fdfa8fa576a0acfde061b5893ea0a1ccc5cef0e5e6e875d2c319e9e81a0362df66516ef89743e4be7438932a8037d27f82693e +R = 58f24d370cc458de294f4218412641a9277d73110e8796fa9d66310fc0a81f08 +S = 737839bcd7585d1fe48f51cf9c2baa8a403287a34d24fa4ee625bb990d715dd6 +Result = P + +Msg = bad4cece773d63c3525590156d76d4ecb2ea67bf2c475e6c8230d317359597b0c664013d56662f27d35eb2d31ae8591e6c4a228e356757b9382758689aefdfc530b5ed0396e5bdbae7a4f7797493a2641ff45e350dfc18aa8262b7c9b15d991f6097aab6141f04d4796673fba3fa1dbfc6ca32b4f98c418363ae1602ace2e8c8 +X = 519f1bc17bea7da38550b14e517db506ef7be9e01f9b79091b133cd8cde06e43 +Y = 61f23cd8d577054b8cc3003688242f213a39c0853056f384c55018eb63624a1ebf1bd580a6365f2dcd76893565f10017e71d1bd527a92a44d739e0ec6cfa0f59609fcb10abd6c317fc379bd17773557b43ff4f2eca929cd7159500f7fa97ce18543c649376ec89c9f00ffc38084c9f81699a2daa3e542c78b9d141e62675593d9dc197ffb7f0166a54122f485ab3691120448ed1f8aff23b2bdff0b2e5e0c8b70e0ac3ba96a99f29198f77904ca1c5a9f3ae6b36a4111e99b096f590e1484e1cf1aea2f96e0d52839c10a3b152664b210b65e330b26ef7035a78c540942ca11464d8362b1fecdac90cd0d8babb4a23b192e042e4f100922bbce37d58c76fb87241669bbcc8cd9eddd293affabfe0c091b5f2b6831f5170f277d2858c4e21646200d3d24a89552d03992b872e3a05f6626fe9d6af90c0aee0deec60fba4cc4c9521cbbcd955812d9358d2666707a271a8ffa90ca2624816dfe427f989be5c2140b4af4dabca1bfdb29464bdb7e956ead82b266f82460c9fffb920b242eee424f8 +R = 13a48b35a3cae71065608aaae7c4f623bc6f5614f137b0cc2c2a3d4955f25160 +S = 2406a03250fca9e5b029259bab00b1b19c8a54021c05e31896f65e5bc9706c46 +Result = F (1 - Message changed) + +Msg = 646838df54477f17658b31773412a6ba731a58c55ad22281f3e1e9d8eb6bd4e54f4187233d79803cc584eaeb1d3780549f61c960a7246c4d7e311a8541a8171a0d2c869e65ec3abfc64e0d6bddd334381c1c8ce24dadde4e10dbd2f361dd5a472eb9e7899e36d4cb14a94eddc7bf303ae5bdd657f5d60a0d922f745b949b7baf +X = 5554553930f128f927c4d6c50a60b8795c0e6f7703eb6d9670f65557be66cb38 +Y = 5102ebfa0560628f442ccceb68efc524a0f11e487b73dd00d8f62b72b89004e4ca10747a19016113b92082954fa4528efd353185636d201e12c12de09103e48518c9afef96e15345359fa8a328e02b20c982ac04d5b25b4409430a4ebcc27f74821958eab16cb4defa9abd78bacc0a079a7e41b00a3a3aff5cc89f72c2e6b9b7e238a78b7679e07cd2d99882838d55b3653958ae501e174f0c2be00b8bc9fa2f45f42ae8b8f76ab7d4dba3ec330343e77d493cacc5b6e701bac5df55444c8a9800681a973e37289c506329cb7c5d9d3ef8f0d03c4a577ecb041009ca8a11fcc382373bfded2ec33df0f8d5b43dc09c8c88fcf6aa7abf4467cd7286f66956f03531326c330ad883903ed97e15aacbd2f301a754a44b0a95732d28d6c3961e183420c0200b8143d20a854c56ad7d40d2eac3b62fd6a3cf220b3ad12f20adcda7c87f1893f995469bce1bd4bc6110b98c37c602474a4ff30fc5449ceb18d1f722e3609407b3679ff179ee3add5ea96f98aaf292d38f818378f9261259eafa231ef5 +R = 7b041f39d110064e49bb9d270551c008a3461144a5f0ec2e43e9b632efe23ac0 +S = 1a52f4d5ccd4055e0e6c08a4edd1df539e7697f8bee7c8660119f1b4b8a166ef +Result = P + +Msg = edc959d34e0408e53507cf760018080a1166702170d98cfd0f851538f4e938e72c196103bf42f4705090bd5547f19cebf96cc200cbf169f6ce9deef67c8e2766557ddb06171f5a3c30d7dc368c1a7f2541d5cea4cc3dc562dd18ccdee4f3a9ec11e7f2ec0a657bb37f9c77c59103d262a9a6bc2d34ece55a8b1f209882c1094d +X = 60484d5cc627eb236b510edcc01567a880f9fdd75394f425616df04b8463bfbe +Y = 614b32eaaa8ab35c5b8fd610dfa54a12ec19bd55ff8656a73ee87dfb1773cf0541fbcd624b264f699db16425baf32141910f4f5dd5c279e71faa1b95d37a16e748905d1ac84b3fdb8de278fdb11bb2b6fbf6db232b756de2876976f9f39edc243657278d2c3f1da30b8125a5d3a6d63653e69d14d7460a3d9b9e8643c1060b40da254f3110b9c72012911e23bb06642dc30d51fe2466958679b5bc2bf7e583ee6a65546570dda5e8e8c265019122b566aa9517c1ba4dacfc1d6fed192b0d483998e138b498782d6e513737cc7b12cc6443458c4ed3c93131c96e4cb5f062fe115a592ccc147336d18d4fa2714cebd37b2b2a0b552e70a19e8cc4e4a88f9b9412f5b4b1acf5de624afe497aeff165a0550291853ca1df3749b3d13a16ffc32cee5f60601835faec170cb73bf5dc385eff2e989c7de15928af426ddf6410043daa09e43c602d928b80798157002bb2ffafb7f093d198eda2e801ad58b28e3da80702f515c60d18332616a88a47998d6b8556971113ef583650c6a3a7471293ee38 +R = 305fbaacc8a7b09d59b3d55551703ef33490394c3f79a7c9ddb3606e3096e5ad +S = 5eb12072c4aff96b65b359f1eec8200c4f322b60c8fe3bd53546d47858608680 +Result = F (3 - R changed ) + +Msg = b022a914628f2e3990743de0852758398e868bc213e88837b287dac6ffa1641a1770ba7ecd13b310c6d886908ca25ed9a9276eb0afe7eecf5298cf45c0843e0847e7b5c925d90cc80fcf72c8a7edb95e4333f469b4e85e0803ece099782dbee7f096ae83c3d25394a02a4f76d89c65a94d08dc6f6cda774ab4f309217103013f +X = 1b1a0326c441afdc88302335416c98fb5e262d87628064a82781ae55658b9c35 +Y = 18db8ffa4c5616148af734ec7b21484a6d558f86168dc6f6733706b01f6cad9599e9a1d4731ecd8499b788eedd15c787ed69c9f1f4df094fa7a3351f69ac95289c1f7ca8b1be714453c268e70c2e85032195bc3f5858812871885a520f8859d9ad63dbd7cc66576d388feaa30418741e44e867843197e604a3756530fcb8a846f08dda02ac56e76d05d0b18353125c66dae5ff42820b661c389a0398deb3d960343aff5a5a43186c7dd62d4477e63178ef89044edb654d8ed4deab383901fc7c0072e983524f0f52ffba923c577117c1bb049d0ed79df9eb2ebbff33f16716fc2398c55bd4df3b9124bdfe8149ffc2f0c268e10a4c8ade179eae0b8d549cb24d92739f5ad83312ab6b58f4d059175e81bf229e618520c9522b3a03a33a46629a89ae862fd2d8c3dbd747dafea111a0f774f28e9d5245bab279e133b44fce7461eedee0497cc23f1ee23c6b739d0456dfee65948dbed32d9e1b468b1160f2d3aa37f5dd92f583179eb78c0cddd0ba55f38689aba9c61c13d5f59b2c33ca5c46d7 +R = 2ba5421635b2f1683a2ddfb36d80e9ed73290120fe9bfaed9d211873acb78db7 +S = 729d2c8d06ee7613279db95589c676a3b20f466f971571afc623263a55b4d64d +Result = F (3 - R changed ) + +Msg = 4054a896d2f7785028a3dffe19cccdf3cd61e7bdf11794aab53cbceb4bb280eb025b9a2124301972f057db1a7ab1af264f322a4a75b39f0e35efe02f3b2cd61d66d8e88b4302d276103caba00839bc8988c84a2c1e864c9ed916a8ef170b63f070d6b56a3f81395f9bf3b0704374ca8664c424c0808ef739221ef48eb889dcc5 +X = 185cd5fd90c13bc86d54cb100c09662e032c832c29bb1253361e6d9eab221bc0 +Y = 9dc647d633207f7e3d5a0d902bbbd82fe07650bafcf4f3c06a3ba720c091471ad5fd9cedcff10a3f2b553d7cee418947159dda34532d1c1a775fbfe55ddabf1fe783e36c7526acef08b8130120d9bd7f6e512afe6bb07c94b27ef4701682b34cdcf66fc0931d18b818de747f902cb3c14d7cf403399de6466b636bb4d52ad755d74d2acc667d478350dce63130e5a351512e91acd131cb1891f9542cca32720c2a9e5ece0b46b9a80e5672057fd5d8f80c90160e177171efb738c70f4eb688775af614b193ec25144d0b82a302fe650a352658f2ec7f8d9add33f362187c6b230e24130af4ba8a759d20172a09e054a6b6b8c6114c266914e3281dade0cb8db200409df3849ca231a824757ccfb7664b0776578bf0c2d7fba889ad7c6cf04bc43dca19cc2589db662bf0fa535bd6ce97dc55e68f98366ca8d9e6af178a4d4c6939ac16163a647b271a39488d1340cd65d37c3256a5a108e50acf28c8afbf61b135845b72b5d106a42c0c4b37bb2a5eea810702fd710cdbd3f0860f94c847065d +R = 7cf42d8244b9c0bd04b08ac1d786cd9e4ec716fc7208be011f397b6e8b569a31 +S = 204e4a92f32bb139293096a9baad46f2c670122cdcc18729080e7c7dfc7ee886 +Result = F (4 - S changed ) + +[mod = L=3072, N=256, SHA-224] + +P = 9640c49a8347b47ef70fe9ee96a9dcf8eac255b81c2edab4ebd46510fc584b63b06565425c9fd7aecc928169438c7f756e446758e9d4b34659d9da4ebd5246cc3a1cabc03165c414e6587c88685fcff1a155b3830ae21e0cc9fa566c95ccb7352c7437a8b46bbc2af67c9710432baea70fb9e85c1312b2eb50d4f26598940c7dfa929ed944b1f7f2a4a8b23dc44ec22ca1ca0e0776eb475705e1cc608a404565c8f696662b7977a768c445fe09627937027c1209509fe7cd7c19ac0050aab4a3aca347bf56ba48b1a5a61908e7cb18ca2965ae1816e1624feacefd3fd6c0e7663a63f81c1d39668aeb6e86d848daae776a0728bf3d29084cfa638d73d1296d8286c5c84147dbc51f196f65cb17f7b90fbd67c85676f9075055986ad29f2c32220589e0de563a3fa94faa32d872de74c09f7b082cbbb15a346044b4cefc855708872e985c8e0f9b80804798cbdb8be224d046215af57fb6ca5eec5688e29d8cf384a9e3775a4ca14e9a7a7ee9d7b01380f9a0f2b3b8bf40c53d284e7b81388b7b +Q = 8000000013d78c2711925fe441c1e7baee65ac1e17d40beccd0f115f2301345b +G = 8880b8ed808e3b37d3549fbd721f8b267399570ba3a9aaa13db40add5123d6bd10bcf288d425ecf1ca25e9ea42377033b283d323048b2739fb04ff25cd5cf93dd340f5464f23b1efab156a0a2200989a3cf5b38304d258cfdf5e0110b0fd4ad9ec9b3c9aed986616eb492d777763b7be061b529443ba289b926089972c12a21b2fede451244571eb74c9cc586928b1feef49599de456a3492518df3bd3d0e07ce69cb6af4d4e90b457b1c8c490a0e9c3211325b73a080d2a543552f9c8a9635c2e0d013a974118d8200038c09c4960f14d6a2f893531f12bdd800bc3cd3724a28860461c10eb1c199f43c71594cccc68aa4e09bc8f498f86179f5c1d7634be3911716c40df687124ddaf2ad3503054692c16e162950d92ce13d4ce1fedd01b8e1ac34e412bc79e4a609412ae687a87e6a247d6ac64654d19f2027fc3845a34e23d26fd075e73d5b9affecc47f1e7ea859c7fb9e6754b4ceeddcb49446a8d95a23dcaa57c33076907e07e8e4e90eb06463d13ff1bd5cbc8e72122a147ab7de40c + +Msg = 225fc045b01a5164bdcaba44a749e0231690715823533cb2d0f53de5b1ad755f3914b041862094f4e9c595c81c70bb83b6d3f931d921b17a7d49e62e2acc1bba4c41ea4c992e1c4b788b011899f111756fd6c981ecbf2c4d7c5866c6e9eead7f6706c50e35448ebb394359dde920e1f725a8a153ae1d45d562c5aaf46a2e5eed +X = 26ed49f0f04fa7c885af032109d8a15b86502291035e1602c6c2e3b113431a35 +Y = 095a3feffb72c8a1f75d1079e4088cae4aad1c9ee03c295bac104b7d0f4d07618a81490ec416ae93f22035beb4d02b23c5fddc263417d9ad2d5f407ba27fce01d42f7a76ca68f963a38803bc844754e4f61f6dab2f81137350213acca2b9b7a6121403b1271e28127587bedf514fb4618761940aa04f8ae68129d570e7a2ba8d2c12aa0b8f5427dafa0ddf70a28415402bdea4d06110ebeae890442f8c492f775fa546229dcfadc33e2890ea4f0531e26cd93fa591e1c66cabc801375a5a83a1ab305c194fe3b9f80ac1f3416d2829c7271e978a6547513b43ad2a92ed14df33d6c6c8fd73bbd38088d8e11b8a78f1a95e5ad716894728554c3c668fc94a5f4daf04d28102eb5d42f139a6669e4fdf85938eedfe2de17702c92e046e830d3c423e876bc63cae34660a27be4feed03f8e2addc17e48a3579592d5ada3d0d6c9440b39c1df97c39089c8e48b0589ca3a9f0bda1f76b906d30ea62ca7edb3f7e8e528a6fe5a60dcde045f1bc69c965b6788beda8f2a6366d6e7758f602f610c17ba +R = 4f3c607d7696c2ebe433469094909a7811bb9d1bfc9713e96f88c9e4f1e7089b +S = 15f428f12e320861a2ca16b19d71f2a7fa00abc3972a12eb47c484b8c7d9621d +Result = F (1 - Message changed) + +Msg = b6ce61a890cdf1294856887242aab7d38ece8ec933f91e0dbebae1e44d01696bc54057de839c14643e7643634f0158806e549dd4d26614cf8c5c726c3cc61d2afbd5d197b9d67114d6d920e287c73fb01226fea4672880f11503762c399d338d67ddcd23f66abfc88fd58b65f674bbd05d5accc45666c6988f8d2737ffa9366a +X = 54e3ef97a68f46a76ca70d737fe5311d77fc4ac4a048f126a57e68920895b138 +Y = 66161ef7e6184c3439c23af3934604aa0033df5146a3b6e28d49543a56f5a5e7b0634196689b090c032fc31d575779c37a2a19869fd08ab8efa55ac681fdd6828ce4ade542f898ab93b3469abb9563413a57c1af76301884c41c59df0ed1be5a9e17dae59ff69a7ba872ce5ea2d5f963b90ab42a294a5ed4a909d5407d65b5045ddb32ef765e9359834544ec59b422ef502d5976c68fa86d11cf8aa56aadbab3a24eb4c270b0c9707ed04af550e782b6e6382120f4468577e7fb21c6d506e97af91848d6af017a6a79ceaae58e1b4cdcca797d0c44d5fa90bd38764f00ef7f12fa2263aad91ee800c2c60fc8503e960247ed969f2a5c6865e0b96feb4f8ffc6ba793d72a3984091f4547afc24c5b424f308e0908bcd82320d9e4d441b58d848eece6fa1d406a62a0ce1c2f3ef6631d8d01220200b7e3fb9c6f0a980f8dd0143bf978a009498bb38c7ba96a68c91640574b9d20d8c92c4c45b2066a7a56ca0dc1aaa39cca469972e5e234bdae7fd1ed664030bea53c2405dce0c2913f80fe63fa +R = 1cea3617997a5f6916c983702059dc2db205b4fe852a8b3dcdf0e28e77c442c4 +S = 0dcc1c914893aa5cc3d7bc1c83b0a8015b80cd4f36fcb97592be5c08416cc6cf +Result = P + +Msg = cdfc2b363f28e429ff057335c714c25e93f501829938e17d9b9c0525b4d1d05ee8fbf511ae99d01fe69637be35bf294ea275a11e82ca0cf64053c37024682dfe338c6147a75dfd7a5932cab20f3523fa2ae5bde08e9d05f33dca137099e1f77d55ffe2ea921daecf3cabe3e2ae776212a480f9cc6b3d1d8554010d72847dc002 +X = 0c31a008c31534b7c5466e74ba99cea37d7b2aac13f0763df5a59ad8c4f9956d +Y = 0817e9748dc3ba6e79aa4198880f582d046752eda7d11f41f3c50876ead3363f145bc0a0aabaaac33213a16d855021151483d9242603b20995f948ef32effe2bffc55ac46f98e2746b8c5872379a233f8f1d6f222be7e07cd72f04ce4fd25c2f693c752588fc4463497010e29f4bf352edf7d44e597bfb1e8d4775096531f7ec61bdc627acf03564a1186d6bfd03d73baef28469818a57197c7cbd018b4488ee0594a59c6c98c3237ff4d45397c83e8b1364d58831b0480af2994c94f148c43b88c597a393f6373ff9cea89c2366dcdf463fff83cb12bf82544f0992f602c1014fe72996d7d84a08345a27dff092217432c3d01842cb3f33b61d003becc179b4e1c04dbd407c9a7d7b47fa2c0c524aaf725aee7d30ece10ce73dc20595cd57f570447c17c66de76d80932df139535bea0d2b216b7fa10f7d88876d57a5cb6575301f9e22ada18f342d50afac0eb413db3f4ab5a39de653a6854833e6e41a20674fc5b372432efe31587fae7c6ba175c24e9db87ada843fb6fd5f1a53078e4e56 +R = 33b9117a6d3f23392404f405b8b1da45373537aa9985c4cffb7d7971dfb7495a +S = 407a098604c36b1c2a563552b7318f7e233d4118183b547ff1d4188e004133e9 +Result = P + +Msg = 7f30c5bead8373522c1194536a2aeb5af178299c402a5fed9fe95c8de53c141a74b4f7d635d7f84ce6cf6d038e0d67809b99865641d15a463c9ea985b3c77aca5afd95a4fb3f0578b3cee461a0a8533497d2c15898cc5a27242d3a9afab2eb9299eea52434309bb90c7968ac3349b8376ab989a64fa30424d99a90b354c1bc03 +X = 7874a853080e4c81b5739fcb9cac6568741acdad78e14495638c2185a68963fa +Y = 4dd5ce2c2a792bffb2b6c7e4345803f5f339683505682b3a288cfd60413847bc42255a6829d794d25c1970d83954485e01c8714422db9c907d502ff2565413964333dd4233be6af3e2322c57d3cb35a05b06528befb4eca243cd5e3bf9d968d03d1f97330672672bc1c344bcae9eaa874bcb69220bda2aa52e7f334e97239f0d42bf3617865f8efb53b8a467e20a317c261dab26ebb4395fa8fcf0d62b47ba2350d3fcd6deb916cdccfd60abe0bd2efbb00650920b45a5bd17b721a91e90829c580d056b7eabda3d35509e1adaf530ec91509843bb602a8c3f56bf692647d311c0b91e65cbd0e9b910c0e9d872886dd2cb9b6c4e412b0a469b7bdf7c9faf45bb2b473c3ea25220802d03753c862b47550b4784ace3a205653bf14da4fe3548097fee1362f19a36fa864ae78c4dc3e4bd185323b40fa03b47696dc170d9113f9f269bb7eef12666c7c1f2a64972d7ab4873c4746c001fe7dfe49b3cf2ccfd1e9054416ef063177962291c06175e7fc3b8248b5047bdab9fc70b45abbaeb3951e0 +R = 5163df83b6e451edc252d1972b34df8bf14629190d016487c55b6681c5228e0a +S = 76dcf574edeb8c45b49874d5858196f88cca5b29275e569529cdc96015852e3f +Result = F (2 - Y changed ) + +Msg = ee8fd6706296aa3e6c848cb2d624180ae694f0060eb8f3e634f103e7bb8ec56988020357748e53b53e113fd937e247fae65777357a279e0f8be941b66061d8acc8110183412217afdaf759f412ec90149d037e52404029ff7338df18db9a79e272b22b03eb5f64614d47090f3249ffcbf575bb5d7878ad3f485b5219c49988f0 +X = 5e40fa871d4b9695e3f915163e3d2a5e94d6243ea1b8253d9f3e206151c9e691 +Y = 1e0f5918c1ff187f0a4b4870f429d23ab66abb806ed152a504980c4ec415f797f5b2073d6aa083e0bdbbf7996b51a4534d9c4374307a0b2ea4a685ba9fca335b3ab5629b09997ca323e594411bdc41f488bbaab81aa8b07b210a39d567d36748d4e2e2a9f038f95da9687ca98c18f35552f43260a34693a6a333915a067b0468d20b85fd83d721d3630dcbbd923783a3c18e217d0964333e1903a44ef214cc3a9b219858982e2102beb6877856bdd38d81ab073fc4ff8e233c3d73cb0dd07857e37573d3ef41a4944fef8ef7af14fff35fd69f910fea90f302fd4e70ac2aa95583a095d755daf76201b81d65e58fef3e05eb21af171e0cdfc3bc4efe15066155272028fcfa4b8247ce5e1a2669db5102676c00a58ab5b544d197bc8225c1f118e35606545235b1fe7ab4d564f18eab735982718b862fdaf5dff931d5472776e27afa09dabc5b72124e4b17b47da4c662ccece13099e2308b6247ee7bd3aa23cd185639c01d3972a50a024d371cf2ff4edc61c9abf21c33da5a1521d265e652ee +R = 48f0be7a0fb6181700e0760b0894638ffac2e4c4da29831effba99832ac0035b +S = 7fe766bd135b948f65fccf4ef66af8c0caf7e635e1c51f18bca4189264fbbee2 +Result = P + +Msg = d0e63df241f74b775ea5adab0c4ebe7d0eb23c52e4d7acde8c870f466382c69499f1ec4020074a739f9c5e57b0335f4d1a2d67390d71ebe3140c27eb78543a779718582f61137e28c70556c18368e82ffcc045f8bfcd4c751acecf52db03032f32a20f973e1c3f3ca809ecc42e033f05b6f6760dded44df6f68e3ef896824645 +X = 4b7cdc2b5ade45af2bec0987506e36d6a5ce6a2fb076c28b42a40e24411b9e6f +Y = 112b33668a03facb3357fed3fc1618603e408538dee5d0950222660d1b10773f30dbea5bd54ed1b1219b35c86987d6dc98c00a603afd4357007869d8dbd536a316ce084e2f3f4bc25be81226de3d121f94f500deb5d9b85546d4fa726c3f574efca6078740b63efbaa44244c1a152ab4fddc54cbd7711e77f87aeedf824374a2e110a8ce467ea5f1ed56f0cae95dd06de60621230d2c3ff1d2f4f10b67b52b75625e1a407594a1e2462baf19051ac433f33ba6047342b573347f32a2804a82d78bf6fde63dfe9c8de8aa9e1267dc843f349660b331b75f18a9f74696958eb81724046c092baafe6b0acf325eceec2bb1b372dac1728b63ea3988d77d68021f51a3f5d0e2a75e2a0dc971aeaa9cc0c21d11f3198ed7287095a4add272840e2803a23d7a7e027afc3fff677b0610b1d900d08a2a0160a4ae5d9921a0922d86e7c17bef3e31040983dbaf8a8450074180ce2235b41b838c94933d0f0caedcab09fe17803ffdda637a8ae88470c77e7e1f93dfbcdbab3be7d5435bba4cbffc6f3224 +R = 2ffc6639db274ad6efa25514363807b06e2225fb985f0ef11a49db1fe82aaf9c +S = 2b3aa13f0b4b4cd41e523dd5849d38f05ee4035cc0ced8a6b9a05a712297f03c +Result = P + +Msg = b0db998d8a47b9f5bc2b069eb395dc9c9ba4df17b0324c1a6258c7c4af7e1333faca6932700833192fe4eeaa4ac35d2ca2d62675789840051629a46bcbd9031681fae1b7bbaf96462b96a9be3379f75e80313dbe21f44cf88cc72f670e74bdd4bdd166140bfbf43ce9d0a15217d30a8b30d0b86e7ddaba5c567556aa8f02796d +X = 1d6a0ab06d851e627ac76636c4770817fa9cc68556ac0adf7acb1ef801b5e2fd +Y = 635eb7767065b4e7cfe33414337f0a97562c061c8b43d0b17cc9fcbfc4d007bca511a7d8817a67439a425267dde4e9be55851355c78a5a74b3ab8288b85ca852317a189963ea320aab3e6d25761724d4956b27dd559dcb77ba17adf65d795d8bce5416704d5d260aa3544cb889d81d7dc4d171beeb53a753eb4bc711a97dc216a8f50354950935d6bab529ceca62f1e0a1fb61a477231e3fe2b78eb056421637009330d510bc2aceeecd68230404f96f9abfe962fba9937e0d69aa0c0cac72e8ac1571de61588037a70c630684add1ba6cf9e74637c96ee364786c24f19011a05c3be34d9d5088054e4f69e44150eb3ed7b7e32a1de8e716c145cc447dbd9e771de0881add530bd2db073937d0d7e111ac878ae27d2a7da91812605b37149b839493e27658ed3ce4494023675a1160521b5047688e2ec9696e8971e8caf7ae88d5722b25cf4260e7932e4f2ae3e6534688bee313c4605d90bb301b795ce92d787fa393fbcfaa5b6ba8ee21dd3241b8892060aeff4ec0b800c291481c284b905b +R = 7653c962d3a747a1d5f52316c113c15503a6ac3697d9b0a20e30c25db514489b +S = 692808e508d05d6a2ed60c8186fd6fa5b76f5416bb3eb0f07196de5d070307c3 +Result = F (3 - R changed ) + +Msg = 6eecd9f3643eeb4702dcceb4d46dfa3a6156145c99f5e51a262f01006e0317fcf9f92574ae6a4a117751a2331cba5319f65008d94b783242e5e64e981c4c137c2b0b354ce3d2e0b4588bd211076dd8966516d9742b4df8c4bd6b877dfd7db2d194b6499ec177861abcf29688c0ca8b98f8a27daad726683cbaf774b6636ef382 +X = 35bd1876abac8bfa6e6e0f7ab1ca25c2402d005ce18dc5055c46a612bc417bef +Y = 7b633a36c832f4d11548a293e404749996678d1e3e86d416d43c5a11a3cc7b98ed8464b3530a86d7f79495373c422747d4d146be502fbb8f21c7c9d0ef0e87e41438da1744307e6ecf403e7df37dc9a9b6dea368088a8a8e37e57909786e50446d2bcaa75250e74577ac3b16bc3d68b32144707040d33a5ddbf737fae4dc396a135f0c8d69e42d036784293f52ef5249583693c1ee5f5dfb2c48a610f8703d21d21cbfa8a3d1839dfa1f512166ae58117fa97ed19760f56394f63a31ab0782044a2c349acdb693c54335cc71c3a4712bc43270e5bfd3929f12ad03a678bb3c9fd8452868cd565c395ed90d7a058c7e008f9df65ca5e6cbf5d2ed6816d37a13b8784b8d3bee8d0aff40d3ff0440280c1f49451c6a13320e9384f2167d01620badccfc907081bb84b7d6c4fb71f805c174f85a6ef28363c40bb8b9e98764ba08e98b45731740067975255c3d970ed011f54419517009dc40ca9f12f47689dd7e8dd023822d1fac4152e065797d68d1b4e00ecf56e6dfb7ce7d456285e77e876638 +R = 286606e739cfabb56fd61e94946e6b459030e4096e9821489b4e0efd080d9978 +S = 635db4f912788d15302b3a492495fe0cb65499ac96feaf781a18027f9ff6fb31 +Result = P + +Msg = c7ab4e701c65d00c8f45cc74c825fec6da0094ce121d7623f6c632bbe2e0ab56e9139b51c4463efe43d0399a7326a51c69ab8c23a9f3a46b258f8f8bbc2e7addbf48b44647483d8680b1636b1b7e475f94c98f87e08df45ba0cc0b67f8b2f0f0e6145acda0a66f638175e240c94fc4321e833ce4151147829dff8f7d46482380 +X = 26c1517b934583c93fe20c92eaf49d06a0216dc67599b6e8074a1a7d8b3e6cc9 +Y = 5129320e33d0f61025f8c6b3328c122de34a6352b969f4aafbe4de1bb8804dfa828d4998375a92f731b44fcc62ce3fd2af8260c41ea9861afb2a5ae35428d87c311e3ec27c901d29e38f4b0b0f5d8f9ad21a80ccaabe4e3ced1d690ad8a8c2263552247c56e4dd5b6d6c95da76210a8ed4351868ca63af49cc826b37c1ed2c8a44aa71c8ea1c79b7ff847f60a1eddb1b7cf3b61564db704595a1139af744bd71fb94d3f16282a58a0d9889adac14a6c5f4f3be2f5f75e56229c88ec0651420f771e8230995c77d8b589cdcd9a21a0c38b560fbea5ce5ff91214b19f8ff649864e29b4e354748c1fc4d4fa4795560c4bd025abbc182fbaf8cfb3b6fba3af6742d69c60fb8e3e0ffe22da9a8210b68d7cebbfe2212c1d153a2afd2414edaa1429531c927b734e002b9f26a05eed784a06f84812067a8a39bad7aaaccc8604534e11d0a6bdd07f009331757cf0f3f2441ff08206d38aa53d75f11762c2eb7d7d89056315fbbe74709b7b0a81d0e3677cf846635377f2bdc689d2834e15dc2ee65d6 +R = 299fd0ac99a359506f091e57584e0fd5a1087a7ad361681c0eea3b341f2af64a +S = 67adb783f8d3815623796b7ffc5f714fc2645b7ea3b891b3bc105f6e501df5ca +Result = F (4 - S changed ) + +Msg = d41ec911c4020abe23d923903f42aaeef327058058dce7f7910a2d893a0bf56e93f65e2930ac6f08bb91a577e2cbb69b186d80e4cd67c2ffba474f5a467c838923480bdcafe209dc01e052fa2d4baa79b1e3d2d19de121b26c8ebacaeef93394f2b5d89de2fe7224751a48c8ebd246ac506544c3a2a41c05cf652d8dd8cd3762 +X = 715aef5d5ab740ac644aca7ff2dc7492686db54917c36abdd939f34a0a6c4997 +Y = 7b38f6b546579406ed3b6fac8a08a1bcc5e6c6a669652edb3e8053f4740094569b819039f23c84793539a6f8cc7cbd58fa99f45f05100bc96779abf6b6eb05d445e2d603e9e574637746967febc41b4620f1795192c6d5156298e1342cbec23e397491f22f475c927a0b793eec1d55ba7f126376771bd9a0a986fdc5b1fb884fa44d73787513983efafbeb966a35aff8f9944b0ab9c20e26c0728d185727b5ebac86968c706fd8baef42657565c585bb99ed2b42682b16e359c6f38aa99c4fda03aeb3e2b71c5c033d8bf91745e89553d1a49a5a4fddc73fc8c740656c0bcd637a1ad7bde4b7859b108cf571171b6aed0a73605748894d45bcb40853b968021b64d427ab00e0ce59c00c41da359f01f4a1f4ea8a70be2104702d8af12d0c1b858c39fad5860f14d51afd60905c2fa8002e48acdb993ae6ce41e54341c6bd1ff608367b128f6ef3acf9dc785723afb15ab4efb1086c81291e080f778b412ed24ab480b6eabd6f76fbd1551bffc5201ea1c8ed6c9da4dc2710349a1bcee4b9fbc4 +R = 085832b61c22afdf3f5e33f0fa6fbd67b072307555b836f33e046c1a03365e8f +S = 7fcd0f5265cb3eeca26c9a52425f971e540185cd37e24d4574e38ad4aeeedfaf +Result = F (3 - R changed ) + +Msg = 87242e805cefd061d94f8db4b286005a692be5c6ad3923e5c32581c45778636e89a4f3b6645740b6b1c8ad4845d9c8ec41ed393d7abae3ba7759f40e773f8972073a0fe7fad9a0c0b6080fdc68497cf66cef0aa96fb9e7849beb56a5eed13b99d5df5d2b0572bf838a60b704c03cecab87d2ce989fcb14211c1b91b6f8a72b98 +X = 74906555730dd937f47b3f222b4e3945a2b472e62444058ad938800d518d035c +Y = 5dee1ed0f0d29c1ef82fa14a99a74ec0d23791334b794badaed8f6ae99d0d69bb3df55a4e9df907e356fc969b1721ae36cdc8e96ee072c6aaedeaf981039dff77bc726366c4f41e6057672d084ed1722fa7e80aea995c8265ebe9828eb8fa022af8dc63e5fc07b55388cae39cbabde870eac3a07450364553b2389471237f35d69c92911a8392de99e61d4b78f52d41eb99de8f2761601139681b6e63836fb281eb3386322028424031de15c900b4eb4e72921f011345cdffb048b9052266d255101666d2e0f7a7b93f26711c1c449c7fbe6c9024ae4336686976774d55c9fef6ae0d07c73ab4ec367f360d8c7605b329510c5cc799de1c443a984fd338f944d2c87734c64d2718021a160d51d3e0fce8a09d4a5eab3c8032b86da0f999cd4016bed4aa8b346d8d244900a0e851ba5f13c9ad2b40260db8aeef45a58ee7716f7a0f1bfbe3988778d9054c23c21ff1c0fa02645c5f57fb546e0ce0c06742841a6380790666bd4c7a1cb985628b73948fba939618e3c3ee8e3a2e53536a65a1967 +R = 51df44ca845def5484d3234167b42cd55b7576f3f331461dc2ae097fbc06844c +S = 43b12168ba1c904c558155c0a0da92d440c53894ca9c295f115c6bd3d747f0c8 +Result = P + +Msg = 4fd7cdc0d6d4d93e404f0df1086f575e8c5321a6767a8dd096e4e2d2369dac2c86c092d90289004be251b6499b594a6c6ba38152d852e6e49bbe49fbf54e13f8546c86b674980bc6c4c551c3ee95850c394c104c6035d4f9c13464aca311ef4e7ef81e6de524286e13c57086151bd7907a8a5ef7e97dc387fa46e7e5eda6e3d3 +X = 5e5cd662cfe00587b5b5a16bbb962caa4d54d48b47e6eaec378eed339eb65352 +Y = 8a9b4a4b87356fc0c0ee73ba5be9f2c7562948bd8c4959f487664b0f16d331069fc6e7d8646b772ff878a0e124d2674708e5b6664dd39fbfdb6a105b8c7b44d8ff724e78e7fbcfc84aebd19265d447f706e29c4ec5bee630a5a5037420e844eedc1b4db323296cbcc638853c1d2fb2054cb9a03f348f988b241fe98bc7029e3f03c83aa37c51f91410285d8700d8877e19ea265c9b7465cb01393ba96ff3532b1260d7078685e7569f065a0923816761e819b61b2588fad3e3b2ba3c6d403fd4cb007e75a1f16c5dc34b9e64b79f02b4ad43cd1edb3177d537f1a9573d93f7e22bb4c453b1c85b24da250a711be3eebd885fd1810aa29b727c3e66746b552a6bb6e9212dea1809e478e18db14d4ff35439d3e248a647f5fd2240e685a2ba7d4da1dadda122824f024d1660f4d9dd5f57563f69f7c80c667786af1451bcd3dbc183f6ba5d81e48fa2144f9667b3807bc5c14b538d14355f1454b61f1dc8fe57b41c1f9ba67702ae95034fbbbc6bcb48c28aa0cd5ea6577658b85632d0db12e9d0 +R = 06002c6bbb5bb426f70377d40d8a9bca246bdc6aa78f6ab165cf828e4e440b77 +S = 1f57c40f8a145ebfff710a7d3dda9f0b332397b457b9b6dada621f087eb676af +Result = F (2 - Y changed ) + +Msg = 029d19c288d21f8f406c925c183f1e2a04557e1d5418203230c2ce0f97afa8737bc83697a74cc6de03dfb84764cc9e558e9a23b9cbd22bd989a70f16ee682b293ba4e61a0cd232bce1f34475b0905b107f6f966b0b84939c8bce335b18662fb61a721f60245b9e0d6cd26a0a186a2be4f9d8715e83498121144a3ee702fa999a +X = 567eab53d4da104537ed815c3105984b8aeaaedb2579d930e3635214b0777e39 +Y = 4f088100a01f563bc19224359dcc8ed24dc275b978890f50fa8a7d7563cf5a6c1023e82dae1d36a5637dc19b9e7a7439ab6acaad08991bad4fbd466d79294e22bbd3d694377397b0b7b08bc005ad198ef5d7f39ada250df25dab70a1c8ab9c59772174db2cba7ad709185c885be9d3462646f89d5087a6b129e00e7ff3570476714ccfa1c23d0a6588ef0e4806821d8d93dafe0b5e2493de14081ba3a3eb9f29c0efc14387f73604cba47ad138391b39f29cacd99c1935e78882a2772d19fb3138d867f3ed1fe8fb9c4021e2c3766ecd7a7b99e792ef9be091b7e9fffa955a065e79845da30615530f766019e5eb6251dc9202648efad34cd5b73a093da3a249a1b44a407b1ebdf067fbadda26512d1561328b687f75b6d414fbee05aab9aab2aab48a7a137f432ef6a55a12721893aa1aa286654388030699b0b5842811b529139ff92e9f2e7bb472fdcba4c534e1369bbfcf35400c8a35831dabb07c60b14c685b729741ecc892aadf85534f4d5abc4fd34da3960985605e92fdb97daefe07 +R = 47317d02e8a91ac83e98d3f405c57abd61d2c66066300669853f3060aaabfc40 +S = 044d1d73cdc62125b379428856b26f950dd1c11c22a3d1dabf7d6bcbfd265092 +Result = F (1 - Message changed) + +Msg = 4fb8fa51fbe5128743f6205fdecbb45e9ed272a51ca7505e8498c55636c43297a2601a678ec46fd71eb48070abd0c418c5cd1a8e691583ae04b8ec8e93902822f7d29405b30c164f1808ddde3fee283c0044938ef4308d8e770715064bd9f9b14d1f29cb7c4d9507c51e073c69284a755eaf1b8ea870005119334b9274deb786 +X = 099ee3d8f56a2af751049cbdc7cc53e5ea4ded963001a73485a45ab71216ac03 +Y = 2a12f8882d38ba811c4bc87de050f10361b823bbf178e987814c595482b1a81614c54976f1a2e6dfb547494e27bd6a1e5430fbcf9cd775f0b3af0acd459333fb8812f6b04ade00f46430ad4f1cb0ae908155b8cc29bba83d85855a8200f3fba6b2bb5b239f1c2433ff570fc737467bc387a5a1f270ff94dae0dbe6d292b77fe89580557fc9e4f9918c23d6430e9c245b41b4a81d35b8d1b98da1cce9769faaf5157b6b98815ea68694ef5dcdf78b725607a00ed9c1ee84e47e71b41a6e0130d692d53558832ab2fa5550921ba9188f2444ff648e73dd0c2ef4f87be028279213052e7fd46348d1d8f1e870acd315d0cc444930ab9da8b24b593c2aeef81a41bbfde32ef0329e64aa9d540885ea8fe6540759eeebbd5ca6bee4cbc568125bd060e0a6424eec7ca397e27af9267ec30822d87e6c1fa8699af67c3375f648ed71d56e971b6c898edcdda0b3f894090b56ba3f4fafac38aa08ed6162fb7f941b89ed34542d3ad7690cbfd86140dbad02065084aa14431fc0f2b6a9fe2464e7932f86 +R = 561e3df72283cf8f94ada1f5b1536bc7ed2b460f3ec485715bd6ecb2adb29182 +S = 3413a9795b8adb60abe953b6232fe2959513fc9d71b6eaf55ba20821fd4c2704 +Result = P + +Msg = 439018d93a8fa21dc5959aee987ab4470251d76ef674766c1cff46984cb53bb9a37d8a114534231696d0bf9f30a0bbc7cdcb2690a92faeaa8d21a8cdc539b9fe02e54ba3138c050ae4e05d465dd542248244706ce4157967c9488eb88b18a7364d732d35b6d221b8ebf6aed8d56c5c32a94eb402b1487bfe3f26efb152333c0d +X = 100cf5c983e22ec725ad87bf3c59637a0e4b294cb258beb918ca2de56a7156fa +Y = 7a46540bcf60bae2ce6aa6dee64005bcd7993e571f5515951be8595c1b8e745d07c031a0d4279a1e2162069baa912ea7dbee38c65b7627d6f6cf95a02ef3d35a0339c1b364c9c05f2e41e546cd6980daa03e0cb6cdb01819a204b88cb365c0b58b487d5ee268d22cedb6449232c13c79ccbc3dcea2adbfde7564b25e0235e9e6c3b7b06c579d9be8733a67a586b1d3de3a216e4af0211fb0a2640581579d50a285df4bd28520806f76c01b37cc3790d381c4eb85d32b6ce5e7acffda17f113993efc52ebcd9abdc57be306488f338767eb2e060cdc040685d3451060d2a46116ea13d46e5d6cb669f65990bf51638ac3edc72789b241ffade5a2ed9665766b64573b2c31bd25a4f27b050b604aa9c66bdcfd283aa7e799cddfe8a453523a8422425b076402684ccad3eecd43645bec0957cc1ade55e79484d0390e32873e47f641f5126d95ca98209c31898e7456c523c54a4a7af9daad047c471197039c2e489e1cca19135d8d6c1d3cb8303e25e104209cc638370868804cc4cd94e943c459 +R = 28d1d2ec5341363d26be043ff868a20a8496cc52f251889d5079d68f279d4aa0 +S = 36cffd7e8bb23ab1ccf6354c7b8c91ca74ba947efbfecf476a8bc81dc888bb82 +Result = F (4 - S changed ) + +[mod = L=3072, N=256, SHA-256] + +P = bb24fede78690b2c7c0fe5c834ef526b9a40bfc938d8ab960a79ebf37b8f6a8b8b83f40af3c65dc63653d21e84db12b7ad1f1edc3f8855bdc520e645b507b03ea826f71c13a768d5da98e10c73c402f4e14245fca51efbe6822d4f4e02e9f258d35cbd2035da74151ff3ac4479b5205571613c962527182026ae54e20c369a729df90822fcfbaccf9a3eb276b47ad7ca6c77203e45d0d09920ba17f7c28dc0ea0e1aeb64c2ff44a2cc5d27d0cfbf3798b35cfdcd2feb33890f688428acd6ca5145ae3ee041bde09c3491330f9058e2acee34111b4cc5f40fe2b6cf0faf886c06e3f19b141e8637dbb6a1f0462db29b7c3657d071c6eb2ceedbc43cb1ead3c45839c3170fa70a982fe5600a36a298899b9e4578361516aaeeb206906450eec586596edbb1498e054c788212ceafe0c8c32d26905a057209032f8ecd086ff905dd46d31725dccc7e0653f9c0c294bb510fb86db661b90cd15dd653dc042d00a5dc1d6ac84eca31442b79985943c9ebaaf729e32f929284d90b5a995f39e35048d9 +Q = e28d323a9a6be548b1da7741ebb824bed875b281bf444c7674300b6d29510aa1 +G = a6a0b25ac52baf98973b44f1003f46b6b245983760428c9bd1a1a175a26a957f519ecabc9b3401a96509b3e4b2b1a78df86819b5e015bd90f87f7ca69483562726e379b13f5f6bb56121d16a2f5644c37a57151da7888ddadcd6b623e04ffff85c2ec283a3233c5b7d0f54f2fa68f106faa71c1efbb75685c07be28e351a5737fcc4697b2915dbcb8cc8d2dfc1a042ed8829dcc0f8e32e95f0c46b8a4e78da07f98dc1a2cc9572fff4862f8c99954ce57b06056a30cba5168e941276cfcaf03f0c15852caf70c70b70c5ce58ed4d2fb194373e785005933a2523bb75bce76661ac1b53f6c77a772ae4bfbc7fe05d1b16cfb841c02051d2454f45a2f2af84a965a0ff1c1a1027dfa745ba2d5b778a3af1c92ee40772769930e9532f707d8515485baba1e0a2a7da40aba1c3a6ae68c8a59e4fb55793c91462f77d181013e9f4c82d47a4b65faa9c2412be4978e74a8f6759785120a4f7970a0b96c5a917ad5bcffbdb3ed35c0ea97fa1b3a0e0d7c09957700f8bf2d9b569e8eee72cbc4192b626 + +Msg = 8598872b6dd3dbfe3d49369630105ef618580afe74d459bafd803d3da76f5ac010e0d4aa113b1ee3b4d329e527de99df3d3bb65dc8e963d2d553afb271d0600c1fd2d8a36c7e5a58c5ab2838e1b9d362a60cc70851114471fec89e83f80f1e17aa4c794ab08c273a47f0c2ae7fe445b0063fc87e1fc0865482c636899856369d +X = d93045718d309ecb878d85015f7fc167c9ec7d1e4bcac230d832f98c1dda2322 +Y = b674a542a27590edcafc8dba94f6506bab95072e1b7245bf87c483d5f9e6e6335add4ad9283c214d8e3344158cd20b86ff143a27f976f5c4d56de71bb16094309f68c6f0f11c46dab3a88da3ec4a4be35de37467f6984448351b8b22e6388cfbab759290a8b9fa699354c981de5379147cced3797d89c0e3f8e22646387f500a3f4f4675f918109ce707ee0b81d26efb72998ef5c9f14f99c1a49553df505c35a1e555405b93fd65c280a8da8adc0b01e5c2a38afc88a8846301b038a6e55b0b130ca62ec248c6486357763ca7d6adf377db648fed21df3a1633ae949194776d7bc1a42fa3848b5855cd01dcae3016fdbb43656ebd8dbc7cd584ffbd7199e7ccb6cf00329de19f48f679e71f982932b4422d5450c60862ed2fa78b2d01d0e7e318a0eab15a214394e8ce0fa12f0e35d49760cb84cee0757f44617413e6de4f1bf6ea780a76fbc6b71771b4f7cfa52de5c596dbe76349e106929401b998b6433423c5c863b1954abe6d1569e3e680fea6723c68993dfc24568c1b744df2fa1003 +R = d69bb325a255a2c6990237d27d871093f3f9a1cf4bcee333ab01c189abed84e0 +S = 562b9e611160320aafe7753b72e1d9935d128c2f2c0ae76e603c79d1692eefa3 +Result = P + +Msg = 7a807699e2a65e9c46859979a449832c699bb708d6f2ef29e9f63dc47dc52c1b40bc84c03143f2f14423ee7c723daac6b98d86df0fd24cf23efc6ea0f7bf8292e9993582f93ea387493fda63fa95935df0f4c952b22f4e3a5a25ef4a31f3bf59f7cd9c5439d5e936d57a0dc1ce7de71fa8bd9183f9e71357a525575bb12f78e7 +X = a5d95c7f289adff0c919b832587c08eb669a9bb4eb796632de8a50c31440cf9d +Y = 754d68acbe25b28632b5a6e6c0560e629ac7af8290315ef3456c6300f297a9755713268182132b66f23503f781336190275adb7d33a3553813d557ef75fc7938fac655d4ef2d42f46b2f202f429b2dd3f36d1a209eefbb13131d36ca4fd818266e9bfd5d45504ebeb0e89c95b7847927c31e9a91da6042347b97c6e15d98b817f3642c28ef9e79bbb40ac0a64b38fe7f6f87656ff80833514a63bc5ec7a482320db395b88099a554b2b27c6ee1baae840e0aa282623871e7612722f0a14f94af897007143bb397b1379e60480eda47ae33e077ac4733b680e472c1f1f0ab1255bc503d6b01dc2626470844d6760d77124be4f316f3d9a100fceca661d928e19d6d83b5a42757e8289773ed1529aa0c010a465bfd4e5b8c01de999a51a62ce1c0d06e9945361a5c60c0721e6cb029ad7b6a9369d18474418cbcea984f96103384b700535cd9260bb0f22f11521835df66e6144918bc7afc099c94f47f48682545c12fff82c51a51065aff84836bd16d62d64da5fe4cd6f875fe1bfec8522e3759 +R = 58588e7cc1c6f5e0c50c8a5805d47a47e4463ae159300eeb2e460aa335169865 +S = caf5c6c3a25765fcbb910b5d86e76b31a97615fc133d27445b3fb221b354f235 +Result = F (2 - Y changed ) + +Msg = 667c4ea48bd9d48ab09ebd853da1fb3c4a2db8f47626778c4a469f4a1bfcb1b62a12788eab57176aa3b53335584e1b0ac8b514c7bf76aaf8e116f1c9c7358e1f849f4c803c46fe1aa13d74da2f29f000bfd0feaebcc32c99ea5fedc5b0eba6cdc0fabffa78c3be2e7353f0226c4abcd8b0d1d7b29a7ad9d49ea4219f0af179a0 +X = c2ac0ee10080ef4e95769f82e1ae7bf6fdf8746ece7f9d133b63a4b9045c4c95 +Y = 77030a22e3b96546b126fb27a08e102c8d2dd1754a86ebab3e2221bf47548e835d74b992f571fff9fc5b9b046a9204696d19d9af82e14fb2bc3f996e2e765e80659fcf4f5736ea2e1f8bfc055e7158a7e5a21318c67bbdc261d3a167be8c5abfbe2c6605f98185b7650f892736cc1ca55700bb6a6f2e24dcbcfbe9240257b08c8e98f5efbe9a8a45c2b3d2edfe95e9198229017154a8e46f6a0416b06b63d02b19920f79e0d4280f0bb3785569e691cfd417bbac1fde030f1a6f9ac2f2ecfb512977b28440ddf7ed2c62ac958c1eb8e3086a2ef3efa680fc2438f41a8838f086844eaca385654cd993d4ab34d087b997c3cfcf7b3890c969c3a80f225d6197ecf3c55c0f7a4b884ebeeee3372fbdb262b52d548fdc3050713101b8b7f2a1481afe610846bde6385b8b75d46cdd19fc143fcfe9eb060189863f4b55cd51839465113ceef39a9ea98a986ed9864d30d8cd138eb35eec46ee3dde6b5779c696ee51fb128780ffecdabf9d372e2212fd5434a5d0bb0616ed56ed73ca51c6807184b1 +R = a0c3b89c8f9acc9ec7b6ccff75017d388b79ad391a39bbf29935ef62d00e0654 +S = aa85e5013dcf61ff425de2140c478e73b4086e98a909849cc23f85ca4591dbd0 +Result = P + +Msg = 49d948cdee81b92b4abf1025dde1661b4bc364e4937c3b12d7c9c4a4f4046d364ec429e08b47b6ae66a5b51be645a2f9c81d55450d72e26be9f6f64bd2d33760fdaca083b8b003b1b73770caa47cb0c4a92787f6e852c2e7ea70d16b3482d51e8762b4b4f467feba4562dff5e76d21ab33c4b98860b71871f754ae40467a4269 +X = 65665738f5c1b3d2f05d8b5eba7164acb4321ec6da51b8f2bb3344ad1531e987 +Y = 94d540de9cae4dbbd00aacbe99c22e041c8b0a32e35619ac9d852a9f0d737986fd3058ff5a63f26b7abe3d00da1427e779dcf3e3b045897e6c97b9e2ff32e8fce0644dec9ac73b1ffbe54345caa24e1558e6b12435c1507e75bb2c6b9b1e987c5890b554dee3079b7dd9a1be2687717b7a828e83eeeb6cbbb1f44c0c0af7b26940bd3f01d6bb70c24bd29d81d4ff6befec3e194341589d4c6fdd43f5206bf1c333782578c3c2ab8f0a97b8eb5c5c86058d355a7ed7c9054832a27d11bef2fc243e743b126ae51c0a17f48495d0cd0ed120bde42490c4b59457a7da291844a313f3021a7bd5f195a6816b59c94e00270ba1bbad1d34e9e7b847305c491e8b45c1259b9660e22d6d0c9081f08238e5a17cffb307a328e37022d3edabd3b78a5d5c388fdb98008c70d278c7c933b49e6394cece9c67e6cc80aab9cdd8f29669773471f948e6e3dd0ee0accd3d44e782ffef841b5adc0c9d84e5624e90aa166db7d98cfd622e757e9bb8d53df8ddfc46841a6ee72d630c3a843b7fed5bd3097b6e68 +R = 83d40ea953907efb9e1ccd77e311b6def8699abb3395d4ba59b561d728d8fbbe +S = ae3702caf8aa4aae35217534ffc1feb45b54f1ffff05fd0a44cb744605ece1fd +Result = P + +Msg = 3925c5e40c7fa7e43671e93c6c8fcfa0575503ba7e67f3ab2ac706523be1617d52daf5760c21564df776d5d1f089a75b4919d9efbf920651fa3c435b4b807e464d0e95b72585e43a8aaf81cf50dc5e3102c8a989fd914e73dbceb85b7e6006b551ee23807f339e88f31a3e3bfd6eed122940586a3ad91ee59a7f698ce42fddbf +X = 49dd449411410ab8911d1ffb74802b3fade3075e17d007c3a5b13a197a49ba9a +Y = 5f8e05cc612312753467f6745b0fbf754bae2e42e24bbe90bc3204198c1b8817905b752fed7078eb0f11671733b88cd054269cc37b2cb7ef8a6b469a494f9587f89455151f0e3781b477f8224318d4572d9227b68186e6f7b236dbd9fdb793cbdba01431b187303b6496a61f7b4a8b1d62df8b8182625a31fd06259d1c3eae28f8a1831a8251ea776d28c95be26a50bbe2db672716a9f11249050541920523652f8c14b721682db7d025225941d6fa82aaea51fec93e1c6f836ec487b5d375dfa45bc37a4d6dfee0522695147f666f9aad268cd66c38461c93ace73a1d1d2f10ca91276340e7fb8e5aa049387d485f12252b0aa281b4f2bde4afb0cc091165573d450c569b656c1a5603d7b50f0c6276d0a68d3a7d6b615fb864280b225c46d7695294f696e65d118a62d3d3d8a0ed0ccda1a069318ed5d98677bbfca8cec8eacfe305fef49638611114830ff40f301422309cb85318e3182a37c6437f5e42f64fc3ad570d950409764279f71b89e1f3f3158bfd1a051de67e2b894bedf2f33a +R = 447d566f4b09cebceda92a09124b35570b32e7ed251ed6275e5df34154356ae7 +S = 25f8894cd7609ada91621c07d7dd8857ce943d50247704cb961c0c9398ad5f52 +Result = F (4 - S changed ) + +Msg = 0a721ec032c318fff0d726b7aab2f6aced2cc5872fcd3cbced6a9f862b547a8a8c5d2120aceb88a7e8f84f1c41e1accc2b7b6cae2291c9673d4a154ccc5aff1818bf4f1ba2ad5508fec12c3900e90d44d91295234b1d0b747733d4b6b7ce6954e06cd3ea812d18dff5dc80f84aa958f9db865f187993e78f6897601b29959fba +X = b660689097b53c736f96b8bf1e05103f7a76fa65382d48c18262596af3b4122b +Y = 821918d41dc706034d7b53d2c3a92b221f80d9a88fd258370855197f161854cdc9e7b81b74ecb2441eb75122a4d8de40dae40cd84f9e3831800d6d04396b939d4cfe2c0676a1697f01c6dc139405a9b2662c75261b6673a9938bb6541a20611931fe6a61bdc53a69cb3a930228881e586effec8b9a6b963277d58f816aaf9a26762c7e7c909f74fbbb7ad541c1458271c71520e74060584d043ba5b043bcb35b1a0f1b36331912512f332436851927d42a1e57569625b3f84cdf881c0f116bbc38862caa2b7072973eee6ed18001b284c3dca7c25fab0df6d9bf1e599b3caf9f94d09d2408f4fa8fde3c7595b4a41cdd754ae620ed1b2330c5b8254fb8378917f9e69167782abb68e8b612d0fea119001bccdcaff5e7d2dec01fe8b0080540b78bf56b8c0d97daf63cabd2aafc990a01076e08fd782cf83a74b1a98808fe60f50ffc1d037c0562e12598eb051b49e9d965bdf0a6281946848f08863402bf789fe3ddca354b83ad2f2fcd8b1611c7749bbb4660352acdbac5e9086c83a2d61c30 +R = b30db79bc54423b02bd65f5208d34c43af4602731f3e5ca7d7b2cf9ed8e41259 +S = 7c968fbbe9aa3b1d54471e9466918fd9609aa02312d9bf9a6a99ce7172a562f9 +Result = F (1 - Message changed) + +Msg = 6d7cf7743a895a770bf4f0eb5f4de061274a33943a42f90092aeb1ace961d6add730109df5f73fdb8bf6dc6b4dfdcb06cf2db0978aacff4f7157697f6f7e4aed3e4f350c282beda2f8d4f028661bc2507a3fe99599a32f2a3f6f3941fb74c3c6ecfa960fc5d0c4e92cd14fc9837fc47d563b6668a59f02cb1281771d7c6e35b7 +X = 9d823321859376bd3ae490580b16fb92e72a9ccc34b10628ca4e8a7f9c9eef35 +Y = 737772361312b5a9ada3e886179ebb509ebf47e9ccaeb82deeeddd3aa286db2882a9979be73f75fbd52d9243954e5b5711e45cf88d6a42130d3874fb0ba62d3dcb579a18e65a212223c0ab979e0c3f1700b3846f45c3685246c521ca482a56ae50b09d0ebefc074b21e61a344c30b1d4b1cba066eff99998bd2a5f5da3f889a997c969e4e24a2d16022bc7cdfc56d82599c557190198b2c68016673e7f08fa7f1d23b868507160d79d1e1df3b191db73a2267f49c08250734d29d1f22f05ab2a3f8fd862af92b6ca0420203d1f727cbdb2ba53d585f4886a6715baad6d165e981a0e9757039c8a86b537010d5fe4e32c86fdf5a6eac2e4cb0e5a4248691919e764efbbadb58afd78f3f79ef9d7d49249fbaf958fca8c2803d140ca4094833468dc45d5577a2f5614be4e57f766e384b1c8a17393400350621e0ac715b3c3a3db793e75834e9050dc109697c171519378062a8d1fe2e1711cd67c216ce6637d1007da52ee9e8b08f4e0e696454bac504e28663d6491bcebb571ae99208ade39dc +R = b2ae06ffe4bec2b3655930ef66a1fd128f43a9f9ff0002a11316116da12b413e +S = d2c6de71dad7b63497e12821cc00ce98131b9e1b527faabb09dce5ba57eee12a +Result = F (2 - Y changed ) + +Msg = b24641810c3d847fc232759756eaa40c947e9c38859db4f6726beebebf826670a70b2d47a97cf0e6423711e2f11e11ec8ed8880832b6b4f9775b556827ecce817edbaa2615c9f12a65ad2844cb7bc6af85e39a7e852d46ad7a9dfaca672b68c83a1d008b0b28b036f379a947c0f6ddec76822a4780f0bedf74e99116658955ca +X = 557da53510952399e8f6bbb0667c761b0f650cea917b4267119021b55e02c7e7 +Y = 615f6811f5148a02fa22a6f1a39face8c3398769b653378a8f7b1b598ac8ff2dd62ea81939cbfa2a6104ca0a9560285a2354f5c71f18b1769024332681adb5a3c5743ea85b6502437fe09f0740a5a4d7d5f6cd96b596043c08792b63fe8a4651c75d6ba6115aa5b1821849038410ee5a4cd02062d2175e343dac095fbf2ba41272a1c607ee23fef94b6a536bb414c629eca159c6dd30fb358109c5001e7fb5c860608c09749782380b456491b84fe78c030ff1bc4bac652b94a49c674080585d616b005e4a79183db6c5d578b195eba8b90d9fd6634e6cb6647ab935d76d7f9d9014ca78423bc85a2910290e54ea83541c45026077a1ad86f0ac8cad2870d8373ce0d82ff1e2b15765d252485f46d2fc1b9fdb310b51ae406da93c68936642550af638990d6b857192dbd2624bd59d16d3a56f74efebe9d8d7ff3649a2495f1db3b2e277e4fbd481f153004e73cbc6c8a080dfd9c0934f0ba2ac62a8748201954ab2639357282a3b34431f5f747da2bf3543e890da1993466247561e563fcd98 +R = 70ca67567e8d1b9c0f223e177e9edff26374095898d80f3f1b57fa7ec5dc990e +S = b346366fcf21543ea189de9d99f1b1c786fa5e53017822428f01d91957934045 +Result = P + +Msg = a9bc778c5f34420f3a6c212b5d9d68fe333fcbaf0f6f8af7a6ab8ebfa72d22f6444567db3a2bf8dd6e84e0965dda56fa291ee40ed739c8656f1f3cdafc1433704ba6df1f61d8fc4d75ddf847876981908f916fec295a35071a593c649a63d1c0e58fbcab339dad05f738e716dd4c76c0969cf8ff2bef3ae897d7f2a5ce51f7af +X = d9ee5fbde3d24884987bbb8efcd3127709b42337e9e0ea51649199cfcff7df65 +Y = 1eccdba508455a1e08c7fdb8f9bb7599a7770dceac61391cf630c3ecd8becca8f0e078d997de6687d6b535ae3faf5540ac7b62eb97fe9b8093610d85a096b29194664f51cb249e2cb4c9bc72e46903608a17ccf2f43fb263661edfc00c1c82fb2ceae9dd112e658adfe536b456817bc82c7518b0c85dcd59e15ccfeba5ec406482fe3ed192163ae520eda84a1f0564f60cffa26edf2636ffcfb3949551a505b9deba986087f7795b432fb403da0167e1255ec979d24dbac0d118aeef21666d98ebbdc72473565d0aca16b1ceace9bd15464dfe76ff60fe85e95dc70f3db33256ac29113bd2457704bb6e09612c3c08f0f68dda4f0d52cbae4a9ff3dbb078ba5fdbd07a5a3688c407202644cbb8e64c7572da7e42b8a38972557a726b25c112b0b16bd06a42305c1748876836d68fd70ae8fce8ca36b72026bfabe4480f3aad814cea7767225318acd1665b559bf4effe06b153d19faa9303b97036e403237b640b1c29d2d23b17510d59fb616c2266b876cceb82a7fd350d3e242c83fca74916 +R = bdffd6b0bed0fc36f3e29b25f475b2e8f78d2b37e1f02c83525bd21228b521de +S = 2ed6571b366942d4d43a143b838c69a1632282a15d28d69e35ce547dd6ddbb9f +Result = F (3 - R changed ) + +Msg = 3a4280a5608a9ccebdb11d9a07da9b887a06be223f666de1b770f1c15c0a0faa70c9eaafec436d0a2587133175ac91697361d4287e9b2400c14b8e0659cfda293fdfdfc348efe35fef07dd6740f5dc8cdee9ee48e7e547d2d9fd1fa414fa1a3af7d18a896950bf8315e78b714b0c477d573b00cab151ac28f30be789cf6bf932 +X = 1f5a207cfb43ae7964bfa50099bc8aca23b179e1150f1a4bcd7b4fec7f67f5f0 +Y = 6662ccb6af930c27e357efdeec7bb652aa25401bee3484d34e0e3f8319fefd02355ac7af2ac5d961d5de6648729b9fd1b1be7d1ef1d8b820433334ef921865623e1fb648b35ffa6c0955214cba5544597931fc0e1bef746cdef122c8ffd4b0a6de8ac12700fd740c0ff656fded1df72848ff0cf0933d97ae852dede4e5b7018a9842b32fc337bafbd88c7479598c6f747ec2267e6238732ce75a128bb6c56610951921ce181e90b7ef08541e80658bc386574490c8a9886b37c1d702965df7eda198f5d35f66da1d3485cfdfb6578d8c05507505f20bb3671b715e507514ba8db17cc3b84eac545a729e03f29b3cdf2d9767ab6bc6e6f43aceb40dfd7a691f243910302bb65fb15689cbad656e91cf2e6b12e3b22a3911e4f603f49e713870dd8cebc76bc028e1ab311a6ce3c2bc3b298d12321659fdf855cea87a37f1acbf98293b60415cb34cbcc33138e843672a728b5fa0003af9b757022109eb298bb51f2f713d9d60694a5361795780a421eaa6aa65c1af99cf9ca04a75905044ddd896 +R = 4aa6b02396073923943a8a41b45726a3a09a30864bee62514f3dea4971138662 +S = 5bc226c14aabf9bc8901c6e18e9fad74a2a31a9b8cbfa65fc40c44e32205e3e5 +Result = P + +Msg = 0018337e8653dec8d943379f7489c33baeaedd4b410406cb5d545443b5044f97f0b51efd568f592b5bdd7cb7311c6f3815a64e672d102fee0fc59c6bde30136645b362158b6878fdb84f6826f7f6910d952aa1ec10d422904a84bbd27b7eba4335548389c85caa135555a461666a906458ac7b3f529ae6bed3a9fc4c325d71fa +X = 03c1feb3c646910a9bfa5c4ec49f82f113cbcefd9ddc97155d7baf560351e437 +Y = 6b906ef8f004b2f3d955eb6e9a82163430701e5c1f036ecb20ee2f5d613283232aebae565c5a9d0e5d377b10946d15a20dbad45915607dac594e7fb8f6061098a71c540370f2d9542d76928d207a3504d3422cdf4f4011fa3ad567ec3a528ba580766616eef813ff37ec34070029172936c24830b711ce5ce4a9105372b696db203de1f0f11010aae3ba7e15ef0553302615fae835a22cd852378f3052f42d1eacaa1b71dbd4fdc2ce5672fdddf4bc40885d40e3c6504dbd78a9fb37a30df01b57b5330f43b60f757df2862968ea84f4ab51a9441b18020899a25bc233f5cb6fa313f804f4c6201e93ad9c97fa0c61baca11250e4a0b7e587252dec496dd8c2645b24fe839215005edb23b285d46b46c8a642ff11c2c54a5983d2194e23ee017a7650701ab7c9cc3d472c1e4722cc32e36f7d9a563f6f6cfd2fe15847ee07b0bcdad45e46e3b528526c788fe4b92de995d2b76f776a97783aae3e2d00a7a02dd8a79c58c1612c2fdd8b651f73a448ccb800c65832f29f8bb0daa960c2d4ddb7a +R = d0542f50e594996662e4acec848488bfd3cf0036e5e0e8d61d5ee71375604f8e +S = 3b1931b2dfc0536716119a1d6e6d97708c0567f1728870717b9f6f4a97bc82ff +Result = F (4 - S changed ) + +Msg = 54ef56c2dd52a62b00773891966bac9283585f64c9e83076f8c49e82a976edb735a27d9b32ce1f9c0c081bc775a9ebb8621a3df237f0a15a92a6c9df252eeb0e43cbcd7222ed5966b3820af1a19f4296be22f360b393b553a10942f4cbd770c75b396afa6f074b8f54bd9284d28038632b44c633bd6ef28a3fca2991d581490d +X = 4eb01d9e4d5bf1665261a0dba57891bd0d61db713d7c01aebe831684b2582f43 +Y = 31ad8984894321599cf281824a481ef322db12656b5d686e99b0ab66970dda5df6a28e93cac65a51716c9e342c128a4b9e39153dd3c15b87ce8c88b2c9d83126797f7967cb69ada112c735a3a1bf10772e0ef0e168f61d9aa7a158e90ce1693f74474a92601a387e40e6b228c2545380f99914824e7ddf4399513c2d9fc914a8cd1a5bc27235081f1707d46b8c29cde5f3d3cd8a3d04171d6554b3a0d70a0510c138466bbd11dcc6881bceebb756ef628cb7228d411473c99be3b69b9b90086b10590630afa9912bbf46ded1c98542c05e9891078ba08d9681b5362067fceb29509023c18f97727309c27fcf6da3755e9ad4d012d1e305c0a9c78a637b3ea10f30d76edc581981a63c576a8e4698729c2362a791a71a0177e5d54737e8f7401a8962d16b963a6dd8681f680ec7989af24bb4c1fe3035f14cc497e01a451aaaf70d2c96ab1e16306b25b1d93b58e3f08d1908f2d7e85a723f5ee3f81f572dcd9aec765c1af6cb51536e4345d3a446d8c81ab1aa2fc5105c7d995033a425693135 +R = 69ecdede32fb2ad80ff29f34f77cf04df6d48e01c5486eb627bfff3eb9dcc583 +S = 54f3df62ebe263ee47adcc9302dbb618a09475c21b5bdc99ebe9e5e6e93e40ee +Result = P + +Msg = 16a287c029d7e9d6e3a266574a9d9722e9216194591b79451c6ba6833119981f89211057319d86d505e99d5786cc9b8aabbb64cc3093264283c0b96955308ee94587e9175ef2cc5c7dedaf839bf618533dbf405e2a3a1fae8bdcafb3045f2704fc56c39495390e6b6d56c6dae53876516c9fbaaf2950868f33168083524afc80 +X = b4a2455645d92f1174f462e0254f3cc3826311360d81a88396036f3a691c441b +Y = 9c06b41b9db6f3af42bf3c3c731b0fe432ce6dc7370f7415da0f730c5df42d203d4d370a41b2d4ceefedd65f21dc8990b606f738af6cda8206aecca13b429b30ef3559d290ba704fc13a716800e33d90e47406623c926a973d3e988905d5dc94cf37978345b37cc62f558273596d9935bf6b5df19bf136274a0ade474b43076b2acf1ffd5e36b5faf1d6587de99525ded50ae6da179dc217540143b1154a0e324115695dc10efe8ab3a01fc5b4259b26594aec023bcb91e70099de82a810aecb9d819f1a38ab041ab21374c904bb6f0aa41eaf3a47cb25b2ba5d13c69afa5b1349d725e6d7c3b5cf2a94eb2777d1840b0887c625f628351e17f2fd0131d23011dcd1b119572317d292e9e0fbbe1cfb86f901ecdaa5b57b800970453b325fbe31b0a610d6f5a84159a635c644bc0f935837eee40907cdcaad13e0bc294bb5c6064e5566f5ab6e8bd7bc1508a5753082b885fa9b49d8f8adde28b3695eed7a0258ca2faf3f3b3bdbbfa58a13532678a1504c60dc53213485926cbe4cd04d6c2442 +R = 0f518a0ee4870c0c39708ef7391fbc5a78d5ab1c29196667b2c71b13b845e741 +S = 5986b633271fe3643941f9c4da9f319f8d7621d852eaa8fabeaaa8f635e9dfc8 +Result = F (1 - Message changed) + +Msg = c7d1fca3a1146c5358e1db78ef0f0c61bc084d28d4332d5f9deb10be8b95548bbe04aafb2734ea8925112901ec01118b3270f20d699f210ac0f7b0522d66880b57f0d68d647319a349f7d335a931ed67cd8f54724899c96ab2b1420d2b919c8120b555e8cbb01b3a97322fa33b9060e27dca0d1a328c892b41f95ea0718f627a +X = 965dd1b3d2fcedcf3044ec918b12520d2d6a095e8540b86d3b4e82f1ce1b717f +Y = ac2a954c9573e360e6f639933997ff30649716c3980c5018e9e83a3aac99ecb4472eab9c83ac462033dbfc3667caebd705bb6128c9e40c08e0d4f61675534784fa0ee551c3023c6904149ee43dd5e8611b8fcde2d82fb6b43e27bee5c05dd11f68f5bf21b86ae9103b57cb0b041a4f361044150b2992fdd487a191e3d8f6c65d63e6e39539e56e7d8362b89936a1955dbd7b1bf2585fd6346a95cb80122e1c0c885d8ef9589431e59f02b4d02057fb19c22772641a086df25a3c3460df678058db73945544accd1d1da87c6a7764575a68dd6f4ca583f209401f8c8cd6a89dd5c752fe9b085cd1272ac4ba63b409e054741fbd88cdd3935767829af40adff966ed0f2595b3a7a032c14c457a68620fc0f215e2d06fb6b15df4f28f95c92e5930a43f3054e4a64bb5edcba938a119c5220eebbc010c3b029ccbd3a992a4721a5eb2556b56b594e9e98d150dbfbd2a6a740f2b5818c56c0adf4c2ad4b8d3f46ae02b2de6077544affab2a5497f386027c8b48108bd743359a5c9d6b0d597e07f90 +R = 37f25d4db80b965ff20a7f0e6bb5a4e5e5d308f5e140494b1680bc68eccc015e +S = 0ad9c57f193cc8e85db2b82f566f8b2bbf6f0e961713379ab4db288319fd1418 +Result = P + +Msg = 3263411ef8e39c311fd68edeb6d6afb3f286d051804b576870020cde61d2e2815351c1ce02871a4954aaa36c7de527b05623c8d3d92c3b9e28c866d5b726c1c5e850b9171564eada4c86ef5eefb56c0ebff2205a40b4c448eacf76dfcd0dbf4779728f206844253e07de46e91e94fc28b3ec7d73abea6589701e37cc64b2e779 +X = c65ffd0b9f8fbd5a4758b96da1c2ba7e7a8962ceac9a42b33f2faccb233e4fdb +Y = 0d0a81893e0513e7a68bc90863d6354a627b2e99a781fa3a6914a7abc64a76d8bb86c1fabd088db3fd8b1e74257ce23abfe7e3abd29ec9db8d4b426bef331be76d39cab3ccc17f18a84fa9162e05f6f7b5cff2bac0bc5224fd7bfb119b158872d2bc8e330fa5b8bf74bb34d7acd28f7ecbfb51e6d3dec5af8f975844cdff23bfbb483fb55bfba05f966b9d05c295a873fdb3e1f71ce184d85b4ee9832852c41fa6c6734f259c2f0e9bb106c347e7b74d414e25f9578606c54307b219ae1b42685cf7e07e2049a4ca5595898e90e13251df823854b9dc245fa88fe52d94b0f60bb57dda4ca2ff28ad9d0c178deb6ccdb3fd0a8eb004e1bd527f0ae6f691b39727dc28fadcc4805fddbd3e16811fa538c45a72085395950941f19830406e32c68047a307ab1a081e07cbb18e15398a4e4fc7f6df341806a7cf8040c3634da7ab53aad9f5ee0c8921bb854c7f19d9c9cdfd726638b73d49c0ad74579161a20495ac4ecc5ea5141913fc72698e27f13c6cf94e3d46353cc6994c07898d80b0d62741 +R = acb2b6883a75cfe65cef632e9c5bbb751d8d2458d2b228d05d9f0c649ec08283 +S = 6d891304bd5b16246600816700285435d5aa236752af34df3cb00fdfb14c1fae +Result = F (3 - R changed ) + +[mod = L=3072, N=256, SHA-384] + +P = dbe260646cba9555b5b74cea8033d439de0b8ba96fb8679162fd04029ab85e5c045456abd81da831f6900739f726f4c63920051c5adbb0c8a58866d9fceb900ade33824c8f0cbc2550bffa4e9ccc381e321f43740dabb2b6244c7e436b3dce0ed634828718a10d4a907d32e4d3155a22d9ec77dfa37c79d907c585445bddc0fcc028b2a4dd8e9eff273dbcbb0089d9d925ddc8d279b344a613e87fed5f576582a3ce761a5b7cb542033861905eae2f8e66937c86ae4e50ce3e0d95b4cbf428f8168f25ba84c8429809d6e7865f6989d17835ff235108a0cd6b8d881e254607268f9aeb30b4267fe229933efb68be899b309935885e866ef25f4688006c13fc5a9221fbe69efd78e4c7317db366a3af293f1727d318f28e71b93c3ff60a795159336e2d0f701343bdffbdcd5b51d5d0aac261893529377faa2b29b55bb5bef848caea2b1bd75001a32ed60f30705c75efa5f642e3c05bbe18d7ca2862a6ecc579f15cda649c602c77fccc511001cb9ec9cc4c756739f14aa916fc168ecce604bd +Q = bed715fad398c7e7f4910d7a14cbda03395810ad9ca1c5195843f90d2a17ed6b +G = 10ac9de2eae53bc49138722a148092792e1187f83ad60185ea2881bf1dc39e70421b76e51b0334f9293d615243f8ebd0b9d22bbcf8732170a66556434518305f6a95188df1c56eac0dfe0dccc7f2fed7ee699fa2157257a76d7994be56a87d93da07ff0e2d10598082f1048d3e8e5265062ffd8388cd1d250e87ba7dc345b2d6f587dfefaa6d181263ecf73e8780012c3c263791f36e89a24aee51aff1dfaff0e3d9096357564493c7435d3ec3511e22fa3821bf300694920dfee2c1e426ceaa3dbcf477aba8860743d3532a0887dc240e6ac8ff1eaec73614def911c502c6ee7432d5564de6cf576481801930e315b6ff55e23337b02cb852e252e98156ab67d5391968d531b922f1f11962ccd41ebcc9ce26927ccb4d77d51c2020acb4e37ae557d121393960033eaaec9f3a005c7445733a29362d4761bad4d0054a347d306ea3cd848b87ee4482db3cb79db25207532517407991d774b7263a0711196cd522cac12f198444a30acd3de7903fdd2ef274478b31cce98704a7b5ded4ee1510 + +Msg = 4079db03b4d5eca620742081908182c808950821497c92a569f8c80467c8c92f0341d2e23ac244060cb1df0279123a6e07855555e4c3156bbeb70f7ba0f549168547486cff04d8027250eda28ae00e5c686b7b5f4cda88bd0892231945d85963c4520a048ca728203d89d6381d4a6bcaa08d8a1d7a6f4c5dceab24a9b86af260 +X = 72ad03389d143ba79bd64c93b52feaafcc0f19a5efeb924b33604b6752bfa869 +Y = 13c35c94085893cbd7bbf2f1ff40833f92742f0cab85d84c96457742669ff76fe117b841cf35e4f5e9e2271f329a4411371cfa9565e651db092fa628ee9e25e76c870a472af2d9e195af1b2e4d99767525d9fb06ba449ed8e3cef6eed8271d3dace7527a00a830b6d904133d545b4e56f4e0634ef9b7aa2cf7e3aa60b8278fb9f2c661503f8b1eaba0591a01ebd2cc815c0ade245f19c79babcbaa22c4e09dc723f7598817c7c82551d3e571d050274689d51f5df15da5932d5fa9f024a76f292bfc351831fc7793dfff3210da2dad8c5cb194e8b661a7dde940b1fddb491f508ec3526feb9a19fe06381c8001a83e34d44cee76c2bdcbb77ff7ee06a9e6014f2d709b4950bc1f462eb342592458315db8cf6cabe4cfb0600ba42be2ff31575786164bc1665fd20ba9854b6a2a3888653afc0c52ad4c3c4b80ec24e03c286328510fa3a24080660b85453251fc1c5d811641ebbf8db6e3d5c952a5ef47d89143e701eb2c301ef6147e6af57f565057264dc3157206e803ba4869087b401569f6 +R = 44132b04ad707f4895e86898475640d55a9aa4e920562cb8a2fd3f0d99a954f6 +S = 2ad72dd35aa9277261445e7979481c9de9f1c1d335e757c918f78efba066321a +Result = F (1 - Message changed) + +Msg = 6500eaead7d88d594e59b6841446b3b3d0ddea424434dd9e8723b38d9db90e43df65bbcd98d8965b757d24c324389faa02941a335dff74c2df6e77d1b43b26f154ddd5121e59baf66430cde774bacc480da7fbe9b60562c846ffaee1a2be81a711a138051eb17729d169dd64f27357109bb9875386f57be2d28f180dea3f1ee3 +X = 15463ab5287ab398912c395c449e5371310228b53ce018a302d061bce2a2d0c7 +Y = 7a947b773c7b06857f74b7ce3ba0c61e17e7c776314e0510a29c8384cc58513a84b67624a5eaa49f6a0a1252e6fa8a605cbabeca45343787052b94cff32aaaf03e3c062e117ba5a6f7259e9ff8fae0b70121f03eb019b37a9b21b6e42727f9f65ef9999d9a02b982969a00832af201c31ef2e261ab72ae8f0b15df63ee41be6e2dee5f1fe541f9c68961d5c2d5883c6e352fecf1f9a8dcd6b9dae6b0643bae2275ad216d63fcbc7508c69838b34b7e81a872c89437ccfb0c5227835c303366169143885211100000328acd29809bb35c2af78aa48a37659e38a7b9aa363b3d6b8e43668b8a2bc60e2568c65a2cc985ca10f77acfa973dae952ce2a0bfb36dd7334e0ce3d631d0071db854cb27c990a5ff66450937730dd05490da2d93e01bcc4ca11c0c7a9645c28e31328e193835673a5f0de0675e400ac13a24b30bd5d62e371f4f2ec1637b2e18c442486018ad201a0c18a56de2329898e7519f7f9b1a10bcd0f54b97c6f588be59d67c293e0b962e4830335b4e9d8a68ee6c655bdd2eb62 +R = 89b4fec1f114fac4fa18b3e1e5556917440d197d0e4d3df8c1f72e514a76ac5b +S = ad22194b21a4b933d667db5d2747b70116c12af0149bb1e8277421ec8ccb38c7 +Result = P + +Msg = 06ce351b03b9dbac117b002bf04031e62149a72a6e2745f4618231d83d03cfd21e65f679409a65b6a37754aadf5dee6a927493e476700b75b915e8b96b5919b57a8687bb86e5deda6af595bd05ad02e0c5874c0def98b00f6943361e7caedf36c4b2f2104689264e40e27fedd42b6461c00f19d87aca066f5418897662cd1461 +X = 1f023201679de3066c33ddeb3ad20a3fabd48d548916e86aa6ae89369060205c +Y = 2b97f5f7fb5a5c4de86243db13d1ff41420ae2c2593546bc0ae81e718397ea7ac5a5515e7d546d5dd865b7a8610973b28fb4958febebf38abfc0c296d818ed87c3ee4b6078c993e66fe70e87b2b2c55a345c718da9ab1d037d7b7f9fe5a2d390b1ecae555673a0052b9bd6da8e3e7f5baa22b5f6611fcf856e26a80dc4aba0c1e8089e7e3c297da2e92498425e5d5a6765b9abb23224c5395df104601033888b94babc66887f322b5fbda070ab1df2a7ffbfd6c9f333967b29b4d80e75ba05a5506b38313e8d0e2a9a01e2c2f0e1b86a9d7ebff108a4a2df9d6a7c32cfa64c753ceffaba39d5fb23ca9ee19cb5fbb76802f69176f89c9d07408da3ec396542112493ea235f46f4fb9215ffd0a4853b2365bae6a41e0e103bbb68eea6c09806c32276bd4e5e267805fa7d45d548bf3118212ea04079fb8220eb5c3ec9d5ea4f7d2ffa144439fefdace9027852e6aa70a550458d396ccce6a6617a3f328ed48834289afffc641fd44f5f0e5fff3692949efb27fb04b508516714365293db0bf972 +R = 52db61e8f1d429cea7fa1ee286beb156091ff5df31935d3b116c7873974d3756 +S = 4e32d8b75b8b79e5460e8e541298827f5a61da6a847071d766d53921447a2d99 +Result = F (3 - R changed ) + +Msg = 8e424e7600a288df7be65386e0348cc4e900651325d6c8b7b30959a427b5a1d063142e6fe7cbb2da5af1aa952b932578e67084bacfbf786cc931dd2cef38cd474b00bf8d002bc7bf89841aed2b9c576cc5803896ce12d2671d557926c0ea96805c2bff3f227c469da24dabfb434b50195891c21392a83d08c901dedbb4409a5d +X = a8fa65ec936f489e465b467c0f7b977f122a3350f0df14c311728c523352b72a +Y = 0f2701ef7e71044175fa57f9d96c6be64a7e27a1f4d8951bcb276da0b10cf4580b9bb9b0e01c599783f5786c37879bc556d97c8256233d9f3008ad1983475a3c80487406f7fc0e83c65567b38da83c0047fef503394007efe22ddee126fdd6010bcf56caddd975fda5df9d4f3fd1013e2d085136521841f2673acb03577eed206b6a39835cb9a4104f9ae416c201562046da428bdc955489076dd4cf3fef242ffdec861bcc6ba541ccad5da3fef972165f153329ebaa34595155f75a45485774cb51875ef79a06f073db8352cc0ef96679380e55b3a58bce09069be2dd06510df11683d2b2836e285479a0013b37b29f6b753afcb84edcb72c0fc92389c2f00ebcb28b80b36934524dcf7f58ab20cc5d2436ee15f9a7d4d20290d17e34552a640eba38b07d2e59971f4183377118137aacae4ff3357fc8085e298a2120d85aa77300cbb72b580368a0dba6978ef60e01ee41896fd4b692403f5a53bd32e4f7d0343d1884f85f4ac665ecf2bb60f63fbdd34645c7d44ab3d30754a943348bbb32 +R = 6591c1f09ddbcbb2f72ea9472ae0865503f6b2b7340e6e65e94a245d042811ce +S = 8d1f90102a3f9485509dfae7f25e194d489538df847151a8aa1961d1becabf97 +Result = F (2 - Y changed ) + +Msg = efccab351350009ddb87a694104af4213671f6373d5b282b710225223ebfd0e4446a3014d495e9aad9f7bc7e3ef69f28adbaab49a89a6a159c6137fda0eb575f5652905a6c33b01e3bff35e04f333c14b93c969f0fb080746918993eba426125b70c6e2418ca33422713847b61be8796381de31af6e408ecc015ab2c0855ace7 +X = 989af148ab2ec90003461495b992b13504e5921dda299f22b7676e2872dfe093 +Y = adc4770ce2c6ecf99e489c5b537272b8fbd3a768c46104c50ea841cecdfdbc26023ef516e81120e2ed3c30ec7fa4eb8a00962c8af62bff66a245eab7c9662d3d88218e158d50fbb4b7d37d23ea71682bf4a6d61333be53b055963ce61118da1ad23d617831c56721f5bdb72c6b55426bc4b5d94e593504440f8ec9cd466e65dbc4542d6c81e280170855e31963deebcdfb817408dd2723ca622156ee9469aed5d3b7282d3d56bf2cfe635001f79fd5b1085df4d021fe53604740076e4231e24f4599616d8d8bf8143ad89bb887817d54d30ec9009014677ad7d4ec37647284b730df8713ed2d113cc02e0ea71ff6a99bf9118511348544ad7ac27ce23eba99acfc2a2cc4c70876d4f4fd531b007265f6e5aad552d36a9b22e8fa8358d8220bb1f58530d7d37ae17f584b7a5db2b122cf4dc925ed32d20076a810bd8c0a1711ecd62063ce644ee7ecb59e43a31f5b75501aec1e3d5f3ad592099785b6ef02e946c6b569a905768ac7502940122095310e3e4e48c49c908ff77e50398ec3f45951 +R = 3fcfe0ac828a21b44d53715346ba65283da9c9871f956cbe52efa13afb8d0453 +S = 312f3e6a33d28cd94454b58f177dca1920185da2b365de92582a9978457436e3 +Result = F (4 - S changed ) + +Msg = ab3a4deabade6c756dee8bbc61fe5f7e937d2715a5c0a7e5b93c17605d67e7205537af49b2577e24d6222f58840017536be516d4eea9dd6e52f998499f48e0c259321392296ade0d89561f85463527db147a398fcc3cfe4f25821986d25a04a017d5e87ce3491c812fbb543886d42524feac7fd68fd9040cda505943e8b65481 +X = 74cfc5e6079eef1747fb319c2703be0f5573c14fea8c5b801812050304053efd +Y = 7cbe4c4227209dea6c0eb15d69b1b4344035dd354f06cd51e2b47bff572faf491a50e465928cb8a867bb84ea04deeca623210c2440873ff751cdeb75fe1788f17d66f35f834a3a83731b6eabc5e42baca320b15f6456295096724200e1440f26d9e3dc6745c6eac234aedf9a98e23b155b225c87b8da008d76ec30db17a10f562282989f79479c2c4d526a878b2597a81028898354207d95a25db154125126aadf80f2774e05f8a1382b90647f4e2e03bdc20ba08120406b51becb20e53121764c72e0f3ad8401941bd03aa586e6a9a192390dc4ec3b9a8b03e6a6c95e5d8a33d15b10f49ba98ae58ff9007f1df6a31d73c2a87fcc6a2edc983e6aa256edddb008ceda0d53b653463112786670f7c02a2748b717dccb054e7b4d27683d321f9e1cc32720a3010699452281847720aae8e15f710b947dad38bfd473a66cbcc12e78e46feef1f9259ee4df1f55ef4016d79692beea4e704cfe15a2a8dff799f5092c37623b8e71fedad2533192209fe802f015923fcf693935e908be84539c8eff +R = 11451506adbb9789d5c84a343c8598ce42821e64353d318ccb756cf7497fe7f2 +S = 05e1f0aaf3aedb8177a502fdcff7f80756296a87a4bbd78eb32657b458136009 +Result = F (1 - Message changed) + +Msg = 82cd7d5ab30f1d1f49a4bf8348872fabdadc4332f3812f77510e583be98660b78976c5b6669e96a1182c38583326a27414055afadebcc70dac4f04dcfdb792b2a6b260a1b7f78fdc5697cb0145260ae03a744584464283eb9aea1e95feed912e7eb458841b313833470484233fbae62f1b3d2208155c402f6c2a2effa8b32e90 +X = 24bdca3f6537a761e6169485a3116ab1591236cb530a079dfb1727254d6af82d +Y = 69053c6bc0740fcf8029eebb017ddb2c0fe99397a7394c68627e7ca0361cc47bebfdadfcd858c65ce242faa74679fc2751a1a329e62b20023a44b60da1e9ca4cee4b6bab784e33ea5d081d5645aeee9971e47c7f0f74b101d92e083a9d56157139f21baffeee4bc788df84c5a8830efdcfe9200897a86c32650978faf58e751274de4e6a6506fcb410ac720f3880dc1a704ef2f0ab65a2c6a6697a7742b9abce811ff2a044dca8ee007b14429e04d1273a2533a0a0254faae31ed3d11b03fa82a33611174b16cc626d84a7b027476ebf009ab74049ae269011a0f3490650af73b326991785c972f164e555cda9117c2ba195e5d8e3e6032472ed629e60244441c907d3b1b65efc9f9807e894c55fd96b34cb975119328c784456c6a32c1c25c0bea0d4fbc717778da26b4381e97ca80f8ca1d68feccb42f199f908ac308bed135c26b4d87c75d77878f8169c89cb8e689c5f69082e7723c59201b883ffb5c767031ffb5dc9709d051a58359f65683d383b14d89b9effa6590b1f15759e826636 +R = 0bca523c7c842c7ce93f0b321cdf56f2534086420cf2ec12a58b2607f3649db0 +S = 6cfcd2364ada717ca52ff02186aace96722343b69a37c7aec41cc54279150aa7 +Result = F (2 - Y changed ) + +Msg = 045677d2287c8cba703da5f6f0cff2489f92a327bede204b698fb9b0937bf78018cceeefe3380f7262f26a27d42c690e65244396250ac2331edf460f8eb9c5f06e97ee1fa47f87f71d2cc946bd3646c102abe3d413c3e50c0acdc877fe6e1aac3dcf634d4ca1824aacdf9fbea4da5533f84bd466f0f078642d355df49bbe0fcd +X = 1b7b940d03c6ad9400fb51fcdf571ebee28d4a83ea35b98976746f6763eeef76 +Y = 9866fdaf1078108c71b5c78ba3e16a842034c40d050788a2f40ebce70440c625b59f313dc9a6ab502f581f912c9e17168820e48fee38670b5a34dc4ad011d0ce014894107a0e5b22c36c7941ccf3e2b7f04466f229e716ce7f685d7cda519dae43a65417a86f7db82dae756389f38b86732dec3c1090abecee97061a8ba33e41cde38b2f2dcc49add4bc379eedb4a63cfd75ec7f696d3b5545fa75aeed9a61f5874b89f9c9a1c116b630e4812fd8c705469cf4b146d3398e1de0e21f0f01ee4587156db61ee066fdcc0ac70e821d5b68667a7f66eed8d00b1170286bde5979c25ccc05fa3e2077038855e19e6af2aefa9eee4d47415efab1cd303e7b948bb65d9a731038f1da498f700b1f0a41f090445abf204a5236352c3f5450bdafa52f880c0c10056f3abe0b1fa057c0ad864758c0dc9d7e2544601e713d06cc3e5d32c4ad0420dc7192b9b325832ac402344790a33a5c463e50c710f13e55b7d0792345b4cf26fb46f02340f4d9127f6d68826ff5f06bca3851b41d2b0d5cc035df181d +R = 0a1440312d9158883d26c3f0f4cdc287dbbf2b3bd0935d7fb97a6004b45bd53e +S = 6a369bc36868edb6a187f8f65082d6dee1b99ee5e10e38a56e19ea2f84560a47 +Result = P + +Msg = e2861d009bcf612dbb687d9394cd888fd1831fe22104b0f5dbbbab06048f27176b58539d50fafc4a89911e37425bcb2514f84f23ec38b9527d7981149e0488cfc85845388b7150379a958ab6d3ded450f942e20d0063c830b08298f0d2ba81a68e21c2c9395a1debef233f8c22dc4063b0de008873e9b9b36a297869fc87421c +X = 44e08f26557784b4e36ac6c3a26c2289b60720661cfe8521744aa4a6460c3d0b +Y = 7165ae0b1f0d0e79a9a1721951959be1660c44f1be84412915df453a527bceabfb059415bc10480572e1c34beb2196ba762c8b8ebb06f2d3ef0438ef4002b9334ceee407beb315edf62c89ebbb7d2dea8d573d42ab22e912f77a05c40857700164d1fdba5c787b6c55b6cbf2b7af91014c362c1e9dd6edce2e93bec4c1b0cab8249ad23561640c9357dd570970cf5b3a1c1936f7338ed2f71a11a1a93d2fea2ca170e69b9644f38ae38417a2277949a4e788bfea7f0d219e5864a596567dda6990d626ab4dd28e69347d9154a921b6e60dbb8363790254cf95c2d9e0d85b3c81b44de30bbbeb731fb53caaae0a1b9816b1cdba25f0d90390546d277a11c53b905affdf726ff01a558648c58df4bed65e30e6c8573d0e251406d007c1e5c37ec4b1b50a1e7c58af07054151d84d11598ad3486daf21ac6065e81afa399b11796d4230b69ead636769beeb26fdb818ae5b21845146f944e4d19ecdc797489ac25acde58a0aeabac400000edbf6ced35f163aa35fb258e67a474d5fc7e33fd1fe39 +R = 3ccaf7f7af97c2145ec83e72e58809e221295b84833311f9345ca0cce156649b +S = ac470c05fcb019dadb5c2941f9edd3f86fcf3f46d5f7286fb628a132176d44ba +Result = F (3 - R changed ) + +Msg = 4b1ab8cbad714f611d00e26ec8c35a124252428725ca2e7c8a04b02d3fcc5c91a8ecd5463b39d3afe3f3d3ac9497126828ccd5008a801c040eebab0e770bc833cc4e14be73ba98878f480fe7e5241f027305ae1d3f7f08a3280f281b519e46905ba19e4e95b28169a0f66effc2a7caa992b9b0159f2b5df4d22e6cb93eb80bc5 +X = 4f8556e86eea458d4ff6fc54997bc0757e37788773b11f7a4cf530537446b46f +Y = b5434be8745a1612743b2fee37029e306ed2c9079a30fd56e9847a3360d65b166fe3c0148b9e3d3fe4d624191d89c34fc33692709d099e2dd3d0275270761de8f9f0166902a3edf14f1b8542ae07fba5d6f926134475c28e7a409d960c0ba545b238e955b7a3b3ab01eb370a427fda93fe5fe38438f0af639904a9388a6dd7034f0543bfb97b4cf25236b37842c42e3aa550cca98126f7a6ef6b65f99a8d1735961cd558dbb0502f726214a8c396ecb61dd5675637121d0ba31248833f0c82565e74282ded6d124926634bfbdb545c3e46f73bf412addd338e6c6f442ebcdf529ce2bac8ed2a2e93c4ca169b00633ea84bdf7acb15b07d8d9df6a09a61ce4a1bbb59fbb207064c353b224c087744213e7b6546f4e02bde5f770663d0ac8f3ba7ef96038b20992a29276b53332073e6333d8522f7f1a047c675d551583de624757bc8ee21c58bcea00dd4ef87362bc8af29ab7156b62e6d52b909b471c3eba868f8e2ac8f9827963ea048829ee6603a08d37ea7381c5888bec71c25f6e7f1ec9d +R = 28e780b1d68b9f2752ee7833ecdb89223d37d1d09c6ebe6f38dd39a0c3b63aa8 +S = 441157e45abe64b66c8c19709a44bceac5db2bd974daecb7a964d5aeb24f531b +Result = F (4 - S changed ) + +Msg = 980c55d12a4beb95560673900c4db34516372ddd5e0a5449238fa8fbaac6b93180ed021ef9d26670573541e2b5c13bd29945112a57f54350288e72cbdd462d35127444eb481f2467894d9fb30ff19ef7899b885653f7c47bef3ffd5a118aac00b41a1c549678a9cbd6c45ed761735e39a38cda54fdbb9b9647561ccfe1014706 +X = 80c906d9931837e9127044dd7e0682ee03a326b54675de469198c49aa81231cc +Y = 784cefefcfbca802f41d97d9a43896890c2039d15e39e0996d8fa53f87356cdd56502d90eab79391dcf4b6fecf67c393d67838ba7f877ee0a256eb1a0eb41760673891211c33920a3b78bc7a1dfc7b50b9c06a512482b312324067c44461d68fa064a3152de3d83117051456600a2c3974293dc8ca2791471928ef7d35c45e053d037558d799448d1a9ca53b19b30be0886edcf1e98551364dc6dbeadd9ef866ce504eed43ef195bb88043c32a21173ae3c917b40af99f4afbb497bf31f9213add9aa82810cc539fd94fa1749ce68a294f48d7ef45077dfb5abed480b4af84b70e89867b84043aaaa2ab998a84cfee7e86826d85d76ca31773ce1a5efedafd72a2542b385fe372603198ec70b8cdf7bc022dee4a5affcfbbc8bf8f62f1f47623fe9a958fe9deb4c680b471cc38108b694346faf62a15527b5bbc830ad34f7476d2b7edeaaba1240b2d1348c579628b7fb049b47a8add88917e8cbc091ce9dfa751f3dd4338d14c48e6f9182dcaae74160e1bcff150e579bc882c7b72784623b7 +R = 9b36e4ae4f64f48e7378f6f49b74a311bf29f36db74640f5e169efb253d1b0eb +S = 3cc72f0978faf516c1f23a57368d0bd09b66435de8ec6692574406b070b628aa +Result = P + +Msg = 2218b37d41b99c43882767403c637944c375c5312b4a2639f3fdd3791ef6abdc9ee323ff926096a24fe89299b9c2ff8f5af86ee20e8e0b81a8157cf717fee1841468f8a0a89213d69a7783d109c4eb32cc33dbe3ffba1d985a614ed0e6594ece30938d643be3a4f55a558a013e3233dac40c72e97afc055bbcd9d00638b5d993 +X = b5ce46660708c4f67456d04973603617f4c3f1f52486b32421f715bd6921858e +Y = 27435c5b1ec0b6a16623d059ea8aef72d09e6dfe71ccf1349b9bd2da0f8564b19ba883a47824a9aee8adee5a8ae1f860c591e812ab0c93d17292ec66dd178b45fd10488a953c364a91f6f02a409af97bb8a3387a16deece5c2855391f24db0bf63f60b02e1e6dd195f025fd09790ea7dff3211fbd814237b639b6649886cfa9afe7bbe5abca1b9becee7401a86d9a7d78eba8df632c22b7178ec14053d2f4dd05e6c2c16b4bf3008f99b22ad814199f4988177f2d9bf2b801e0f0f8e04301f13d999d15e6e7200533de2c0fabdc71d7b3c78b464d03760cd160abcddcdfee3d8e14aa1e5a81d70f85184abbbc1ab6992e135f680e37cfdbe70686e001d0a0be26c59c3a626bd026f2b14b884c64b96d9ed651fe90d3a7c1890718f7e28ed19a62bed4423043bb38cb156174cbfe8784c77700e42a83b3179ee13f77f68ce15652c69225a1ddebef76bb89094024ac47259f7dbf662757ced3b66619d81416f2a00be8e588c7019c0115c7e91ef438f97e496ccc7411c3cd5887afb39bcb0b1c8 +R = 0d744185537fdbbaabc951fd8c20fd7fca0da13fb394082efc88029ee391a060 +S = 671214b60ee9ef0570c2ccbd8766d689d6bc2219d23d74931ab55765029543c1 +Result = P + +Msg = 5b8c87c637b411f0141400fc8e7667b665eb5538fe5d992b546d300e3cbcc022a5d6aaa93ac0211630302f85fa3d4093b4afa94c06e922d3668d7aedd452b2eeba8aa3c21d49d7b0095237392236ba4d4ecc1a9ceb0e83e39be4feb62f73ae6759b096e8f7d68c36435b3be8e6ad9558b1e7f36f65b623b9eb3bb42401312e8a +X = 281ea3214c342819b8a8fdf0cf366a925a2b95d351edbfaab8501f893b47253d +Y = 987849447a739664520bce5c17f508b07aa29ece6226b0889f3934c86ea31afaec2fcd3ae06d32872e7ed6c83a15a9c2a3def6e3589a363532316b9a59618bad9defa7d3d41d9ba9dae19e2a9d2390767b44e8a632ce92ce0fa31149e59e3a45e534771855fe0c2553b83264c49ce330722e73c7086ebfed72950ad244b2eb2b03d3081a1d07c546ade4cf484c8f789c3589ee643cd94340f2b8dfcfb6f83ebd65e23d880698871bf31b1092a6cb98584b539776402dd1ad5b8ede2189eb272733e303d5748acdaa141cb77cda7d7c14fb81a3c687d64bbce4c472e5d0c9af1497ab0a57c839d641082786945d7de0c92cdd3d27b229b4f639f4d33f9309a9fc7ebaf8d949cbf6fe5adb0ff096e6c0d07af792269f190dc729c428e42ffade3c5a7a47123ed9db527cd202f959b9c6fa5b373e697ed0769d7c0b0fdab5f4500ac76ca0a99e2a885f5da90df267f7871abd03274cfd8ca6170738a6501987f6a44cc2c00275041fedbec33c84772d60333886444aafd1388e27a276f0a250bdf0 +R = 822e239440f011391ae6317f505c0fee8278f69c5fc431be8f9af4ef9812b6cf +S = 54027c55208c83464f8242df3815246081e374310a4464bf9be6391c1027d217 +Result = P + +Msg = 24129a60238d89eb84ad75c492f69a0495526aca3fd5338a935a1a2f7e5a3f35dfe94591f63b6316ef8c6754c2e96e990433cdc7afff0f1b3ec0e0e84122263fbe58ea18a357727d4a96e70c720cabdd7270df7452d61beddd5c83359f7c46ca6c41e495fa1fb24e6ba4469fdc4ff60e6fbd8a08144036151f83333658ada309 +X = 09f5297dd33f2c591a5cd103d118bdf6490bdaf5516a955b4993ce4cdf66eef9 +Y = 35bfd35034967bc658ab6c497406c209a13048d687ef05c427aa59b66cbd8d777d4b8c5d5f45bcfcc3b0366ac9175cce4ab51ede045a5d4591538bf8c2ad474293c0e079281143a997b69744b14f454f7df7220236ef56a2df7da7b591d82d93fc5c923bdec6a8f0f0ff60a54bd7127713bd458dfb776e4f8f01de18de14be655d5d4d04c195728689325c4683e368b4885d73b52e4ae63a98e9b70b20a23f379a9a8630e3c4d263a7b698d5388ef6aeca394faeb804488f13a8d2e3cb9cd45ff3609df331d0ae491547e84f9eb9bde18aec339c85be7355b3f5ade60006521122d7f7828f46450bd8430629d7eb483549b7240101ab4787a7aafa311a3527e684bb3956f1fc93c8045ebd2e447abe766d6f96dc63f8d29c59f4d100c1a4bddb0e54605cc8de0b92d50e0f778a9a6ae4b54686dee94548dd9864f2f6b5e30e1145a13fad73b9c8878d5d7e8430f58b1fc5040d9ae3784057b302e3b170ae9fafb66e6b8cbd5f408651c70a44b3954f37c42cbe2b6bdb6cf18867dec9323c039f +R = 5b5f7786fe1a446f2a04972c34eba4eb08a5c9ae55da5736325af8945c0365e0 +S = 8aec2ef0764e882491df7e91c16a53bcaa04aeeac63ac239a46b8b017464e15c +Result = P + +Msg = 2dd88f7632c58c1f860e36dfc1721cf3b9d14845b5360c1b7b53058d17a0d82329531e4a6cf812b0d925f22c9a72b0bf22b333a671b297218d83482fb496ab400f4e0ccb7cbcbaed5c433ef63ad47cd9c96563c03bc56e321010d700423ff21708867f7695fea444f2f63d495ab32cb125f385c04a031135a7d20eaa02b6614d +X = 5a61bcc383a87c75ef41f8f445f3ca1a663a19c073fb96487d16b47ed1003573 +Y = 803961b3686d315295b0c388771088fd132778d4b726edd90a32ac2d83ac76ff618012683a2aea932c8bd9dd33361cb9809ef2bb64c3b21eca0ac145967e747d1a57d707890deee5db0b04952785e3c4d26ff4a46dc33a8d024ea43b6b4a67b1ce8f73948f02ce447b3793d206268b41c553bcfb92e7f9da45bdd9282e93dd8f0d7e5e8560d4bedafe3a41d741ff4d1aa827c99a34161d261fb227741fee52914da2b27a5687db2753c7db4901650d156c6f00c1b47cbfb0d103bbdaff6321329fa496132f9ed9e7e73224e6f0ca0be82bae16760a5c1b9a0f7dfcfef82c521d077e686a9ed4717270d0f261ab1fda9e84f2e76737836eea321b8019abfdf7f3c2a39749d9442772066282cb32eaa8c7f176ded2ec08426b3fa96e2831c0e51994efdd58cdf5ebe573a52043538b81319ba3b6e140febde0f18613aa140831edc57ea881ab6b53572546a1d15bd6af983d43d7205b7b52531acaf61ef8844df7665f7f3b4b1f55dfec54bd3a96898218857416a77326d6a20732c8af53e2b5b3 +R = 5a2959d2cd68262224626a0dc0f603aaa72f2db6fa8618171ac00631d0f11511 +S = 1df5f71a674dd3199bbe6f067739fe954ee686247bd5f9a4ebb1a899c8b4583f +Result = P + +[mod = L=3072, N=256, SHA-512] + +P = a72b994862f8a605ce94a396b1292782cc8365ca2cf262e745f9159459d31437724d0ac0ea418c8eeacfd14e9316ac42532954f8b97af107ab4bd149870e62a493f2a6582f81d40f78a5bd68eb3357b9643d125aa9204a6dc442458c87aee85eb3fa6440a8a618b100bfb5b1c04094949ed175ea9586adc87cecc47fd798e8cc526e288e082dda6566e09a1c1f494aacf66b2a106d53587ee017bfa1650c96966db8c045ddc7b045e84a54d81d5ee99f5760dbfa6853b32e8562e87e076ad635afc1b9bcfbd098c2565670287b31abe64842ab41aa02f8d78a6650de25d24ede15aa49b9404b9bd43c5e8d93f29a73af3c5d636f2e5a7a18b8c84706bf3a6be9a1501a066b41d30f0ca3d1c97a96deb90bc121c09ebe00e347e927d5bfd7c93d6be3bdd21d39e14994e3cf854325d530372280654967c74de7f0eddea9e77d19d4deeaab0c810befe8250784c1a4137f5e7df17c2356592a43e7599123c8a969a08b404bce3a278310796b2e84ab3e393daa5cd3e7f1e6fc187f542069f16d6f +Q = b9fa055ee37d2ae9c271b52f3065147ad1c24f00df587ab91940691fc5342321 +G = 6326df150fcf1cee1c3a169d18a0d26678ce3ee29bb82a31727ae7bc68e56961d8a0464781522f82905d9ef74c85134480be4b73dab3b9849f4502c23e6faea1a3b9fc988e30f3a253102e9252c0ec84a4f6dd65d21aa5c5bda0ff209f54ebd612d10f28b0fd0bbd37d0653c73a6299cf8758a80385c3772ef8b5d3003d54334da7e7cc75b8e63c283144f7120251baa4a9d24bbb5b0e4427f25bdfc518fbeef0e7971e51140640212a18f0a0a34b8966e207a9308456c1516988e772d7519cd8ff1e70b4a7e66c9daa3f52af587f134c987a183b7464a6f6dc9339123ee48912e4b9afeb08229adb94babd1ad74d094921b4af7c86b8d25496383a1f98136e463768e2e1d5c91ad9a00181925f9fad6c196783a643f678ec015620e9445ebc3f4dc4bea3011a5a0a45e261ca9f5eb6bad7e6afb04fc7bc09e0ac6bcf4f76fea74b485373ad062aa7e2e246141643d39f35a3f77425fe2e825d8a8f74ebba349133de90b020ac65bad9f8b1aa9a668d4bc60a009e19fe2912c80e5773f932d56 + +Msg = 81ac28562405dcdf8d908c5d0a402b23829b499cefcac84281958082cc28f5e0c215cb49c62faa3869539c209d828e1f8cbeef444f627db335ea8809888e685f33662d86ebedf8ba078da845dc9b25da4d099f599e3a48b406d03fa5b3f3186e58e7952430c6a2452ce0d1541ddbb6d9813fe3149918fc17279ee208d32f5556 +X = b7cfb2a03fbf1817bbf822669acc744fa9d98a9ae9becf959fc820b4e6f0f647 +Y = a324112d35dbdc07b3d6c7e15e6e6ff642ff98555df6685b59c04d06958f9b3b141210d1d65d8e58e36f628230caa049dde28ed85da0a1959d329968b03b649667d48186e4108c3daba91ca3190ce1503b57d383edbde788ecc940ac2a784d5aed36096a432f790429cebc637509c8a29461bbc03c6d087e2fc9e00a9b9f00e034233983d11492ccf3076672208c15c35c3530c7e2f69656dc2a64008441df2d61d9247f3a483fcf00d9d06e04fc940a96728b6ffd1e2006bf3d1a6b120733662f34132834ad963fa5745b3f39cb0ccd26b7047cf6b1f0c18a3c99eb2f15b9da42af0940359540aa215306ac1fa7564d4c17fb5a65c6dff5ec1db597927a3319f44609dc8828d61a7552178d9ebdfeb54b6cac79f65b14838f92209abaaf5c8eabc6b8b846c2e27b92c65487254205bf62a4372dc199043b07bd8193d91dc9defeb70a831cd8387a665ac6475ad022962a71ca36f7f93c5a347f6b8ef2d48f5c71b6d13c7fd9292e4f970af5bfd738f01418192bcd6aa68a0fdeaf19fdf8cd8e +R = 43b935195420a380fa4803fad943c1d292d465041a6b0ff30a2373c12ea8e10b +S = 39023117a0d6dadb318e046bf9a9442b077b6e32665af4f055b37b6b46e3cc5a +Result = F (1 - Message changed) + +Msg = 86cfba991c3cc8a82047b0606516fb3cc6cf5a9f4f0f0477b5b4f1e99237b8cc9106c578ca7e58f7cf1dcc5998b50aec5dd3bea5ce190987fcb97769940cfc8258c2907ad1ec7ac831f19603bb801b173282e6a4475d3a0ee26df0b2cac4c9ceb73bac9feae47699f98923f9700b0c678ce529b0ca8b4a5b299f2d44f59cc0a2 +X = 3c3f13a0a1fd7fed7787439c4bd5dcc368a523d27d1178c9c686686a17ec5fdb +Y = 1e009ccb10994c6f1193b58fdf2bb3e12d2ab1d70bd4f86433803573b053cab4701c9783807cb94bb00403d2877c3f6cf368ab7bfdd1f9d93b21352106504984db4403539b279cfe6274595b367b204921f9bae5f6c5283286b260a0f7a9dff53fce3659ba527b6dcaac44c99afd50837140ae346191a8ecdce740c4f73b7f57e5aa8587ca2ffe55aaaf3b9da00b23f370f6166ccded0acce66465508f180e48346b88897e002b385d56126924e2afad6121c4ccb565be01e6fc6e457a1764ac56dff80b7829e84bd416866b04aa44e9478dde7ce04412ce998579bf9996845afbfe0fdeef365f1e669072fd38d97694006d85ae28035ec6ca6a4f389d49ef7b2b1ab8e7441c6c9d46c2c78988e686ede19c97653ebea3bec6cbbbf4f830f8e29c8c81f131d677cae071850a7bcdce9d472f3a1942e2938e8f71c3013579381b27dfb9711b9ad135cb116bbf097bf27410b39ce667207ab2891a771efee7aa26264cdb655cb9c0b907860ae9d33238f3b97571b3df52c89b590a2d4071dd3104 +R = affe8912b019a870a72f2716a28990033b61cd7a8591556e609a6d92c3146de2 +S = b6db20c76bfe7604b740d2f92b8d4b060e47942b42ba05edf18ae2cf1249e84c +Result = P + +Msg = ca2b465668c675e468fe8ce1709118dcb83e4ae1d37500fb45262bd3467d6de122491b7e859ed399c2007e068fee67fa85fd9f00baae1972c4a677df0896d237fb8b2046470186d8352bc486a1fdc5754bd4e8080fcbd8af109dacb6d7d34d1f3cd645600a6eb2ad23ca3a8e56ce1a585b71baa0141fa304662ffade8aa57385 +X = 5cda753f4bdb9d7681d178d11e7dd16563e65a40cb84083d68b7ace194d2b53a +Y = 4551654f9bf50f4e986c6ffc978316b2034689bb1d2256c9a7ac4d3d484ed62c5bfb3c948c6f9835c249e7345532d873c8c0c774e19614bc85fab35efeab164135deb1025461854a2781bc4e169d7b1f250c3b4c80499c4668f548b8d15e548d9c1b0f406028e9d287cd88de9f8e8b4f23dbefbad271cbf84fa75b0985ce52a701f164e3f60113d9edd93411605935f014bc6daf6d26ea521bd9e9f84b4381107b93fd1c25fdcd802da2ef1f83f0f65065560190b33f3af426cef9b3ff501cec2f8646e769395f8893766b15983133fd60b1732fde21b39712ed5987f5cd02adb15c304d94b2a8b4d28cd87fabaf7952fdd5d5caa89f2f75e54e2422b1ef878dd78d7d4a56a74304699f51fea8268d77c8f66732f122a1c5bbd92b484f28c483e1a9df1330dca3cc232f581463de11020e71fad601dfb783861505735e93e9587c82e8eac6ac85d827987277645234f0e1bf2a9b12a56fd47dd10108fd29140ef881310c008d0d1cbc86a5464e32ae18c6870c1ba2ecfd09f9de4f3d13ecbb8c +R = 8cccf8b16948750f8d8826254c941f19c224c94d53af569a336101e8ab2b7d0c +S = 05ccceb45f7e84441323abae47dcf7fa500718a423675b999e1fd7e19b86bfc5 +Result = P + +Msg = 2334d50d0157c5821dc3f54b34045e658d8c7eef55ec025d9783c0ec74ae4bd6619bcfd93e29e7eafe293e2c1bf9b40eb430a550cca20f7ee8ebaa090bfbb92dd537ffd236ee7d4bcfddadbfceadd1f1cade98460d5faa4ce5f961df5c4097629a6a23c1e5b597cf52438008a94ec14ca7c15b56836b3a92c5e98fbcba828bda +X = 122cfaf030a57e8deeb6d0ada053c7e88ceaeed62361cb313a980936206f1d94 +Y = a1109fb6f204139a020b8d31c79ca54aa8d7a3adfb091f6683d66601e23414725de2d007ab998f142ba0e950c59289ae1ce25a91b1aa83194da407e6d6935b85913e7907941786d309a62ae10bd102feea51d491e703cbde083ac29aa523500b8ae1e6a3e4f8769393b99f63927cf41c607b571be95a80c59b817f20a646a875b3e44c5968c0ff6956ef81445ed8fb34efac1dea8ab71ed848255e8fdf62fe395943196fb4e2190c8e931c90bba634c845689258ca4a196b0b73bc63d9aae149c1f5fdcd98ed606ca7e8890589c2fe076996b6ea54bc561e7872f688e5f942811eefdf66706b5ba093556c5d181373acac1351d3d6a1e5a25b28b8d6b8f6d955528a9a93b9c793db8d79f3e26545fae989ae821d24df1d937c46a32121357a784b01e6495769b5dd340c77053b45df4ec72c9887291ddadd52f29a38626da8b04e48fb9fab066a171c6773f662a8cd6ccf6bb9fde2af0e5162924428043c3fd6372c39f9fe4a33cfdc1f8b951f0051de88c178e4203720c5892ce910ffb2a73d +R = 81a53009b6b9bddbf828583f4b596286afffd2af087c78af008ee77ec5af815e +S = abcff469aa2b01fa0c0957e401bc56dc63791da75782b7db0af822ff88e2f823 +Result = F (2 - Y changed ) + +Msg = 3bd187bf0da1625717d7942cd742425d89e5a30cd85c2461e0061e544e9b6374177ea3fe90b2de1b76fcc62779a25b1e25be938497367dd681a6ef7d070fa013f42a7347375d498e40dfc828ada5713ea29cfadb5607753f8eca637281d5de0958b9efc4c4f11f76c41d6d21f6c8ccc4efdeda2c22602048b126da6843a863cb +X = 524bbe3d324ce97ef3bba6f1e5d877edf34e235a2f200a5ff9dc8e40b8bafa94 +Y = 1c55a2730835a5fffdcc49b4ef1f0ccc442e559bbb17e5678e15e9872ae785f70aa32d98e0b49dfc31cf52ebe1de08d477a3e8c7c9461a1531aa5009de8e7692de57b73cffefb11c4cdd472140eca67fa922b1e37bb401e8bce4c7598cfc60ace5971f0868f5ba5c16bb3f19ce6365c704e2eea9d667c46a72e5a386cea51784fcf1a83880681499268426538c0a128fc68d03a4707fac0c3aa8a775108e339cc8a9dba02cfa8cb476b9071bae913ec04f062efa3f7e55a6874ffefb20a98380fb4bc5262bb6080378a68f9fc66f50d6f9c7431a2ec697c13583af978cb208fbf19383c875e84e55e005dae580451f0b7ee263773dc3678af0efd5a695c318d518fb4b9ebf99b3460e79c1c6fea37a8b04a6006f43e5c69fc3f69b5f3ed2c7c7c2259dbc39843d12bcfb609e596b74168157c7c2ce323f74d765b1750cedec201cae1e437453e38f2cc7861f036f489b1d40558a13430fecd919268ccaff3f3d708894e3efdb5ab5f8822b867df0e5ab3a2810ca2198c2e82b9e55d7b5718720 +R = 21e084c6284bdb573533919ed40b5588fddbfcef84be45acf8dad97cbd933a69 +S = 9fa2f9e434ca2e49a8e22221abc7b4323c885cf640219f8b912184ef68754508 +Result = P + +Msg = a1f6f6099b0346e023dea76b96262572cf76191b88ff062a62d81e8ecdbba1812a8515cb1dfaf81573707975a01578561654fe9746e0dbfeea19e8ba3ddbc7b2d7b5124ecd0906226f163b4046356cbc22ebe099d4ca1bc3099fdcad53fadb6addc4500185d3fceb7d5982ed0c9881be5d15a233ca35f83326d2578b83a1c586 +X = 76bc74c523c1de296f9f70405dc40d868a8962a1ea599d63cb7ac26d1c549655 +Y = 08647311bf642b4e0a5806c1fea89e7601d953ced684fb5a56f86e9efa2fda9b4f5633b8e9a72331f801607b056a62db16bdcdfbcb0eca0d5ce28794cd29b05818948e229b6458fa72d8194be9e4ff72cc1d7c06844e279a95d45f7ca4c07b53a6db56c2e276bf401afc06504079d8d4874255265b012b81e4f832904fb0dfe95b1eca24b49b93626c9e18eb12c1859f3c34ecce3ad649027baff3f2105356b0fba89874bf632fcc3d59ce81b4e349740c7dd6fb249cbede571dd81bf378a430286d71ac3a8a7df727d1cb7b70f495dd1cc34e56baa42b941f79480e6716965ef0228daf5d09fba35a818c071106b0e36946da5f13454b9fd4c876082998549f200d44c037fa22aaf3b0d36121acedeca0caaa53aed4692ea23aa3f7c649e27d853413991d8df9ace02310016dca6e18917f5f0e8c2930a39d393c68bc70a2f61098ca570a8b5cf9e21f566b6cdbd7e25f1db53b87543ed4ea37181e73382c4c673da441c5bd669fbbed25b932103b10bbc1b6fa4128b9dbade00853835d3b5d +R = 2b81f79da51ba7c223c8c6ff604f11ac3317583f2c95281394779079f37ca83b +S = 3ded4162d6dcdadf7f499eb824002c6060deff9975a59b7fae983be7273b3f1f +Result = P + +Msg = 474ddfc8cc315f322465a025e5f0c77b98990d032eeb2f53386f847a1da291bf3450ed2ab2592306c0d76c844ee5c0bc63c81cc7372541be5b0a0cb8fde64ec4ef62467104c52ffb0b9d77fb6fdce1f50ef09ee993123ab42ee80f0cbdc86b913e00fa0ddde14dd4f0111e57a878a760af135558906145394e2985eddb2c1e16 +X = 4771a461f773581983d6c0349737d1a9af46bbf0bcc0caf8d3f1b4953c1ebc94 +Y = 4dc6f2a29a221f7d3f5e5cf0ab2be852ed1c5b909f483120d93fe2c5c86dfe54ac752e62bf209e2d2716f8fc41fa310e3d100e73449f5442f135d2cba7041916ea30a31cf862fad8f74b678696d9f17e921ebe3775e9acc4947991ae0d1d58a95d83f6efed3ec31384037ab45400a35a10900c1c85dd3cba5e19cbfc5ce6b4baa7c71add4d8a159a6c1ccaac820cb225fa56e6eda130b7631863a12e776e34a01009b9361681ac22852834e5b11104d6ded4c71e748eb0c5e8e07e11edb85a2f46e8abdefb938bce4e2343a61ba9feaecafb2acfd8756eabce0cd6cf403ad1f19e7b8aaa9df8fc0a1bb46d11145e88dcb367ab05ad374b59491acd2aa80ec21aafd8600676448fd778faf249c9ee5a5be728e37e9fd8d806424da8759bff268adac89b466b1c0701daf69cadce0baa8fd2ec750b6fe67e31144b252638fd03559df543b69e54a3b822ab33a2a439d12f08f9b947135bae50ab22f325ecddefa9d1d2d55411c64c12f9f47c38ceca46bfcc1eb25d28d7db01b7b337e46f229c33 +R = b5df714d7180909213fb804d2a29ccf6786164b55a87d73113f47c17deb4c09f +S = 0f22d2b9e24ff1bb9eb52c3631c362120a4b009889e4648f6bafdbc3c4b98b54 +Result = F (2 - Y changed ) + +Msg = 83b951c2356cc1368881a6c5f3d53bb2e0d85ac9937c0dcf297bbb47921bbe295f33562fcfd9530ef55caab9a3922729d19bf0703c96d8688c76386fd7e5245c3b3480cf35fcf631f881e3deef5664e96af3dab4ae2777824f451b10d29a13592d500f1f33340e10c2eb220a2af4c4828c28566d818caa3b6fd91d737d1feb1f +X = 9f6a0cb935c7d9a59e5fe186d5b2e0d0eab01084d3e83faccd6894b1c6dba411 +Y = 1531e462f52cc3872ab819f5fbce4855756ba2db59198208ff64c3e3f6ce19d54a8c1bd471c38632584db56a7afca4e419f559dbcdef1bdc960f91e793150d46861ccfdf94ff50ce86b549f0283ca1acca08bfdcce170d8955bddbabec36e7aa3832e24511fb25648bf073332c025a70c2a913280046d4dd7106af4e04a1a91fdd29c199835919d6df470c0665a7f573653b50a33e4538d73ba1cfb92051f71cc1dc4d301c49fda6dcd6113e686f1907fa068764badbf59f1c083e417e1d8e09b04312bd9ce9971a3b03e57fbd599e9bf6f63f16dd57b198fff0736508ab6766e9b482c831b50aaab59d3f54044cdc7d96cd0649eacc9292d8d4c1475abc501b18318b84bd61cf17d8c542d91697474fbddec0b921f83601e128262a2fd495b82b101708e4ba6a6f1e9c154e682c54a2dd4fdf05dda82f0a326d834921145df80c16ed3f6d57b722a7177ca413445587da6309fda1d27b145c31de90800aed6cf4323a030c97a5740b7625bba841108e9a2518f8a6f74dc2194d5d932d4248f9 +R = 042ef78636e71f937b0e1f836b660ee6886aa5024f6629e5bc4687a22cea434a +S = 8dcd689688d30e0fda57b670fc89ddeb07dde23dad2d5993d44435e8c7b4ae1a +Result = F (1 - Message changed) + +Msg = c8cdea208b7748fe55ad44636fd20a26042063682eee3dcdd8eaba2483c46794096ffe5f5833ff20f211fae6b12e6eafd64b5fc6e34009d44277ceb9fa321b1bf069b4a0eaa31f2db8e68d5c382fc6b6568f5a4641d0a2fa1024eb9fdf2bc71959048055825f1dd45726620d7ebe8aa0319421b482678a60bcf799bffc1fecc6 +X = 5aff69a1bd20316dc2eb0e1fea3413e19040307f1080e05c484dc69096888f89 +Y = 565757aed269b6ca13993829dec03129c7fd944ac7f4561f7115f06ad64d245d0cb063c444d70aeaff671b999939fccff0904af8a9ff72a033262825d23617a533cf2c2092d4608178267ef040f73b09e79695303602e746645463f35ef028427821dbe3279972a535e78ce7dc577381caa6a884703096f4d716792701ea9f12378989f346f6328624e7163b057877d63d593a5bfc10d008d9a160d67ad52cea65cb39937a018e6f338006ef94e3fcac3122f80627e31c990ccbc6035b8165ebc5da55a7f479d6da94d8374f41205687c6d83b83964329a1b10ad2ebc43a76cee72b42329a0556326b75dfe57ff4d81c30a2d917879ee9bbbe96ec9e35a17bf280859001bd086ee06c6946daf6e2f164631a86c7a7af185938d4ed41c7108dd882eef7c5dd516590bb23cbce3604454878036efa50308748053cba06d26a3beb2e1a2a7a542021d156343bb3623f19d84a0783892b10d9ccb658c37b5d39cbe277700c2c6bcb1e0de99f87055b49b999fe8d6f56433dbdc4b4d8b3603053ff1b +R = 900b6a69882f81a2fb6b6c0fe6ed59d86ddedbd28f6228a0837b232b1f026995 +S = 6c9b8bc1b3dd66bc948189bc291bda96d311c8452c991a1e5ae3af10113090c6 +Result = P + +Msg = 4895dcf4eef4c7a64ae2bc197ec7049149b6f00b7a6b1ef02bb253d35643c45fd67d410c1b3937f47bd8564c051b53c8083f6fcc038ee3dd96ce43ade9516bf03ddfafac93c128772c87fc8acdbf758cf69727f4bc167f2d1039a635a6edcfac3e825b449bfed150849764fde1b846f6d5c3207b5bf8551b8c7ac74933500596 +X = 5d318ae433453c58db5ea8f134fc9d42cd4cc65f6ad04d399d23f39d77a83447 +Y = 9241b531a8c9193f45d012dffb1dd3e69d445903da4dc20c93e82544e11affa3d68fd4d9f4fc254e30ed8a05200b3ef816806db9bf888c9320f106cda3471a6fdc1275c9c9d41cde9f440c1a12c12d3fd5e70ac6add2d4f784e944c7d601364f134eaaf9cc072d94e85efe6e760b46385542178476cb7137698cc365177379fb92f308c457180d570a7764afe6a224e361043f930c3eb01a523e783d32ac96d6dbc566e417993bb6d0de43c8e10c21bc3c31603ab36de66f0bee97055964c0aa2886ad46c456dab1f4044fd3ecbc586087098dda7d68903e3320613177fa5c8740f488d7422c93f9b18a8468b07ffa5dd3053e3b94bf8e237e0d7f49a92928997b028656e317811e563ab1d3d8617b8a9a54d6741e9a92cb6b7ca68e7e17f1e671b2aa955107e492626c18522a898810ed147289d04aa5a4f08c5b097251eaf4315a48269444e565e8de02615f0ac4237972a92a48fc207678544c3fb6be2d5d8a1646b228160c06492892111e9bbfaee9e2cf93483ac6dc1ca64f8e2eb907b1 +R = 4e738a6167a1186798038797fcba7a0ffd04567933b76f684fa711f9ac6e6e1c +S = 91da095831827ec5c18a7dbbc9721059dba16f388fc3fb7b2d2814faca721845 +Result = F (3 - R changed ) + +Msg = 582e18e5d0be6eb1397a6f695edfed5e5b4c9a270c495250d5fd32ea4d8b117e07aa198ecff3c01f7b9860e1f1db222de3296017bbc637b71cc4d0aba9913d85e8ead41adde52b6c096cbcd0f0d388561ecc5c13cf1dd003f59265566d3144ddc0595a8a799e6133cccde1b4d07597f421c57e42d37c14dc3628992723df0d58 +X = 76701983ab8dc7b405f8c87d1adfc994d27591d8a9b7ca13beec727bd6b7d1b7 +Y = 5c78090ce586044b8e16222f6f79a8cfa5a0ba0b9fe38c6be6b2095b841f434b3f505b32e8f3c688cdc461a9a07f8da6c7a1bb7293960e3b274ce0e65d2a84c574a29fc20dac1ee804bce28c40f6f8249dc473d0fac46cfc391a68179bdc7839e549502592fcd13e0f14ecd2aa3fcb4316f7e7d551d2a5dae7019fa9bdfaf7ddcb99ac20a15d8fa8a3deb36fa66d5d54f3392dcf0f082a035a3f21ee873afe53a0085431f9ea4a6b0f959bf7b279566cca37c9629df92f5dfc893bce28e8cd9c73a304f09ce081de045d7fd3a7cc5a7b497bbb2baefea83818ccee688cd23bfe8e0471193848e84dc7a5b77a825f6ccba35af29c16d5d3d1a701ece3a5bcde547faa68df162ec84b76980f08f561ba2130a69b6ce4730221601a406233fc37be8710d6d6b55c98bfe9e99bf707bfc4d552fe41451dd5dd0cf08a73cf501437c22752e2fb531bcc65eda84c076cdeeada0aa9536115ca2bae796d6a23cea33db3595d14930bff91243bf40684d3e1fb682c52ec86e07d11b439e8c4da1987c3a8 +R = b3c25f8b9a6cfa4707b8e06aae3a6bc4e76423824d19b866b479613b3efeed90 +S = 251bbac015617ad573c87fe5ace8f7ada14ca61f02d4330a830617193122c71f +Result = F (4 - S changed ) + +Msg = e627a98b77cc419d81ec273657d9234562bc315b010ff41eac35f31e2a0af93aeb803132463e3aa55e692b8e2f044b3ab68e8febe03d7e32cbc21afdd304405d8033e3ff42e6487f8a1a7284aa97acad46ad99912a7f949b4b12ff804c426ce9f368c00af815dd998c3ea1f3749cee97193c53981bc306f1f1a9700ccf9496e7 +X = 02857ca7c984aa8112e2eae9854cd5664f2309f27d270f08f53ce674bd0f1aa8 +Y = 98beaa6808fd79f89f57e5238227b5175d4e57288a5a6b71586043aee230de1ae9a9d4ee6514b5cc81e776c77540b9ec49bc99ace13b696fa435d4946be732cfc7c9838c67f15ba70e3d29c34cd01b6c2a9b63a8e260b670067e46fbcf6dd35d9b4dee8cd01fb330cd82150380c23bfbdc16c39ea55af2a3fffb028f2bbab035badd8d9122ed1fc5501a3bb33565f61923ca4adb10a278ddbe000cc5eb5c54a5155529ccc848a3035b47f3761f1500a819890c4db7ca91251380c3b03bdb2eed61fdc95d3163b913077fc49fbd31dd91605e752ff8c3a79de8e8b808010a577b4e221c30302a354395a678f8695ec58b444379715ec2a94fc899a276e9feff99d380e43b0ecee6d6c6b30aed60233ae2a0505d30dc245c9956ebc67392ba5eeaa237d649b11db6ed359508c918a00718ea35161e0d09bcc388b55b40bec8cd4c16685fac5e8aedc8f1b13565ea6679942b875f13e4c8680943201ea3b3652df8d06584616ddccb21571a911334f7fe58e576db7ee2b8c58a0ca780f3276f2dc1 +R = a64074c938241b80298f30364bac8e4babbde5a633285269d6f224bc07cf78ef +S = 1d30266ea4480a29877bfcf6ceeb87ef3144a92b6ce6c2be38c07058e9728f98 +Result = F (4 - S changed ) + +Msg = 7d52ba96ce600dc7868546db09a54ed834e8869e7175432ed7f42986f6d8e064c65bd0062048f98b429fb0fd784461b56cf07ec4b2d07c5b1ba5a9505d88509c50e2889a332c298f72851c2268adec2f92350b26a911d19fc8535785b1fc7d7171b3805d24a46260e5911e9f49f76fa45c3ce78e9cd291c5626497bb45de6b80 +X = 46b4066f3852721bae3de1b7573311cf4e1ba2ae14d1654c1df5e90cc7590a39 +Y = 7e0141c95984b852cdbf8bc8592e5028f30c89d058ab2518e0f06936e4c784f2d3105f61659af13aaeec30bc05c858cd8e652c3d946dd7f98a32c1f6009d10d8008eef49c34d25bcb6fb261a53ec0a8bc6fbadfa4243e9ff8a8a6ae179079a49c83000d268ea9c8edbfec6cac4dca0dd8ecfa754002d537a9888d8e8a50d93a6cc829b029a8a7b83751bd4674c45c2937f3b7696a27098ab54cbeb83b53f610edfd5150ee2d28c98caf328c6fbaa2ce7bdcb1c97238c4b46d3efdb321e723066165087bc65b7aea07a92d3465d44fa115041f5fbf44a304d43b6f8bf9cfbf79e243b2dd0727c5ea7b3432ad272f73dfe7594d8285d1d687fab7456843656902c57befbc541b738806ef8d97a79231244b90fae8f4d7011386f9bebb37f1e1c760a8ab6f70e7dc687fb588ba45db03709d8b4d6a04910cf86b9f7e43da0d78f550f597bca018a0db65d696a646bf309a988e0da26f120a2059a5ffd117fe14586ce390cc375601e5dc9b26b8ab28043355bf700ce8204a264d92fbefb76ce834a +R = 41290459987ab44967187f794bfdde3395330493a245dd5c2d13d894f32a0838 +S = 0c86a96972199e36394a051520effabda4d42c08822dff95ea170e48569baca5 +Result = F (3 - R changed ) + +Msg = 18a004a9b3ec820c9623d06f8a3f4bbea0e9ebb1b0ecb02fa14266030188ebb0761517d057068ad0f2e61fd76bb1b884437a835bf885ccce857fad06d046a8cada82063e61c59d55057c9cb2c9719e5100ed2d8321d0f9006f519486096f29809285e6d8a074b51753b0c15202e9f56d71d1a2eafeaf2e73b1f12ef4aa1b027e +X = 95e3f5ec264500ed8c74b5c77785bec4974d6c9e792f8cf9b6a53a98889c9822 +Y = 5781f5d50a53a46a5d1571b9a9e9d89494eabf01225395c8a47be5de57bb6d733198ed20aa006cc04b079bf62d65ab9c6522c547bc3b752d0c0754f0e1d4f460c4975d212af82ba3d491760e01aec04884f616065e8bc66b01f440ded8c70b5bed2cfecf031d8be568543eb7964e716e1e0a5c14dbc8b565d61f6509c1c80818cbd3907bb0dc7171969b9aff2935423a8794c49fbb506fe4079528bc056e906ceb5397b2ed547debb8ca3b500d10d31d117fe1000845bc34c88b6b06462336b2fe7718fab16cbc4689b71d5eeaaacc089962d51e50faf64eb978a3e3338bdd778727870b085aa6b5b61295d831c40d39227087cb58a66e95cd7e7ff5051a860025f73d4f7bb2d5acfe00a1d3d55a2eb1dbc08ad8a855ac3616480085cfa86aa1d738a5b9db2a1932755fe9441df791ad3d7f2916036882a2af2595788c9e1a3d0021de0a3147f3e68608f218b29f5e98f075abd447ae873318e66f9a160ec41cc7ea0297fc98bdf4ed9e2d1befb6112686d29c290f4b372ea8cca854c792cef7 +R = 2135faeef09c4278ea35d938fd5d1f2adfb9f262748a180a13a864b83cba796a +S = 05453fa41fccd0fc8ecf514c9658e41cc15b9dc9a190c62deb989e53a71b324f +Result = P + +Msg = b109d8e2b352993763965cb5b818ee0b3a09bb0cdb92024f3ee853db5e164f3d982d0fb1facfb95570821f785b28313b7b08b65139864bcb520864e5c5d4834f15adab75f52707bb535c061327b24a39dfcfc07a112eb54a2a969f363c6d203e78e020244993d1809572c270c4e97d257586e6388f77e9296c46da568e2c848c +X = 4960d04afc8777fa704a1d4810cb1e84d81d57bf9f5b73a9ccd0897864fb7c59 +Y = 91816cb559b27992d2f852061b4661c73badb9e2270a7553e0c27750076813bc021a3371b7df3db07c913745e90f0d62363b31afedff2fdd816fb9db59c42be5c08788159b0a78db4fb8350fa067505446c2065e3918d9f31779dba1ea032ce77a8be7438a490b990e343aa70a85f35604026c1c7c450709e712e5237e550fd8a36241b9e7f87170c7ab6f9709da55c47d29b7c6d0cb340376080bd27ab02db256d1fad4f455e882c58e246cbdef9353851c61b61c9b4c925a71428a91e1293dfcbc6d18cef5ceeb19f938ff73bc63c529583baae7e83c15a461de81d7dc5fe7f5a77345aab3b59457b98dd681ebde4ba043ebe43df9b3f4b55e5ca7c6ba73da9612d8f2fb4145fdaf1c704f75cbba044879216a7e9eb81baddf4b6858a768770a71d89d5b2bf488f3caf8c5367308ce454ac7c01e1f73df8f83d5d8981fd9f0310e8938ef81b7aaf5b6fd896f6563b1a2a40d3a911c114080650d255f28b546ef63245d53c6e084b686f4cb4868b479565119c5b76cebb5bd4996d0eceabf38 +R = 2c78c2e09723cab4d9c668cf3213411ec4dd94a6122bf492e1812ea2108bca02 +S = adcf4c2e606e099e58a5f5a5597334c2fc5dfbe715121cb7b971b5609855499f +Result = P diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/README.txt b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/README.txt new file mode 100644 index 000000000..d0fafe481 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/README.txt @@ -0,0 +1,3 @@ +These files were downloaded from http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3ecdsatestvectors.zip +on January 9, 2016 and modified to include only test data for P-256 curves (but not in combination with SHA-1 +or SHA-224). diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/SigGen.txt b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/SigGen.txt new file mode 100644 index 000000000..50aa0935b --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/SigGen.txt @@ -0,0 +1,365 @@ +[P-256,SHA-256] + +Msg = 5905238877c77421f73e43ee3da6f2d9e2ccad5fc942dcec0cbd25482935faaf416983fe165b1a045ee2bcd2e6dca3bdf46c4310a7461f9a37960ca672d3feb5473e253605fb1ddfd28065b53cb5858a8ad28175bf9bd386a5e471ea7a65c17cc934a9d791e91491eb3754d03799790fe2d308d16146d5c9b0d0debd97d79ce8 +d = 519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464 +Qx = 1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83 +Qy = ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9 +k = 94a1bbb14b906a61a280f245f9e93c7f3b4a6247824f5d33b9670787642a68de +R = f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2ac +S = 8bf77819ca05a6b2786c76262bf7371cef97b218e96f175a3ccdda2acc058903 + +Msg = c35e2f092553c55772926bdbe87c9796827d17024dbb9233a545366e2e5987dd344deb72df987144b8c6c43bc41b654b94cc856e16b96d7a821c8ec039b503e3d86728c494a967d83011a0e090b5d54cd47f4e366c0912bc808fbb2ea96efac88fb3ebec9342738e225f7c7c2b011ce375b56621a20642b4d36e060db4524af1 +d = 0f56db78ca460b055c500064824bed999a25aaf48ebb519ac201537b85479813 +Qx = e266ddfdc12668db30d4ca3e8f7749432c416044f2d2b8c10bf3d4012aeffa8a +Qy = bfa86404a2e9ffe67d47c587ef7a97a7f456b863b4d02cfc6928973ab5b1cb39 +k = 6d3e71882c3b83b156bb14e0ab184aa9fb728068d3ae9fac421187ae0b2f34c6 +R = 976d3a4e9d23326dc0baa9fa560b7c4e53f42864f508483a6473b6a11079b2db +S = 1b766e9ceb71ba6c01dcd46e0af462cd4cfa652ae5017d4555b8eeefe36e1932 + +Msg = 3c054e333a94259c36af09ab5b4ff9beb3492f8d5b4282d16801daccb29f70fe61a0b37ffef5c04cd1b70e85b1f549a1c4dc672985e50f43ea037efa9964f096b5f62f7ffdf8d6bfb2cc859558f5a393cb949dbd48f269343b5263dcdb9c556eca074f2e98e6d94c2c29a677afaf806edf79b15a3fcd46e7067b7669f83188ee +d = e283871239837e13b95f789e6e1af63bf61c918c992e62bca040d64cad1fc2ef +Qx = 74ccd8a62fba0e667c50929a53f78c21b8ff0c3c737b0b40b1750b2302b0bde8 +Qy = 29074e21f3a0ef88b9efdf10d06aa4c295cc1671f758ca0e4cd108803d0f2614 +k = ad5e887eb2b380b8d8280ad6e5ff8a60f4d26243e0124c2f31a297b5d0835de2 +R = 35fb60f5ca0f3ca08542fb3cc641c8263a2cab7a90ee6a5e1583fac2bb6f6bd1 +S = ee59d81bc9db1055cc0ed97b159d8784af04e98511d0a9a407b99bb292572e96 + +Msg = 0989122410d522af64ceb07da2c865219046b4c3d9d99b01278c07ff63eaf1039cb787ae9e2dd46436cc0415f280c562bebb83a23e639e476a02ec8cff7ea06cd12c86dcc3adefbf1a9e9a9b6646c7599ec631b0da9a60debeb9b3e19324977f3b4f36892c8a38671c8e1cc8e50fcd50f9e51deaf98272f9266fc702e4e57c30 +d = a3d2d3b7596f6592ce98b4bfe10d41837f10027a90d7bb75349490018cf72d07 +Qx = 322f80371bf6e044bc49391d97c1714ab87f990b949bc178cb7c43b7c22d89e1 +Qy = 3c15d54a5cc6b9f09de8457e873eb3deb1fceb54b0b295da6050294fae7fd999 +k = 24fc90e1da13f17ef9fe84cc96b9471ed1aaac17e3a4bae33a115df4e5834f18 +R = d7c562370af617b581c84a2468cc8bd50bb1cbf322de41b7887ce07c0e5884ca +S = b46d9f2d8c4bf83546ff178f1d78937c008d64e8ecc5cbb825cb21d94d670d89 + +Msg = dc66e39f9bbfd9865318531ffe9207f934fa615a5b285708a5e9c46b7775150e818d7f24d2a123df3672fff2094e3fd3df6fbe259e3989dd5edfcccbe7d45e26a775a5c4329a084f057c42c13f3248e3fd6f0c76678f890f513c32292dd306eaa84a59abe34b16cb5e38d0e885525d10336ca443e1682aa04a7af832b0eee4e7 +d = 53a0e8a8fe93db01e7ae94e1a9882a102ebd079b3a535827d583626c272d280d +Qx = 1bcec4570e1ec2436596b8ded58f60c3b1ebc6a403bc5543040ba82963057244 +Qy = 8af62a4c683f096b28558320737bf83b9959a46ad2521004ef74cf85e67494e1 +k = 5d833e8d24cc7a402d7ee7ec852a3587cddeb48358cea71b0bedb8fabe84e0c4 +R = 18caaf7b663507a8bcd992b836dec9dc5703c080af5e51dfa3a9a7c387182604 +S = 77c68928ac3b88d985fb43fb615fb7ff45c18ba5c81af796c613dfa98352d29c + +Msg = 600974e7d8c5508e2c1aab0783ad0d7c4494ab2b4da265c2fe496421c4df238b0be25f25659157c8a225fb03953607f7df996acfd402f147e37aee2f1693e3bf1c35eab3ae360a2bd91d04622ea47f83d863d2dfecb618e8b8bdc39e17d15d672eee03bb4ce2cc5cf6b217e5faf3f336fdd87d972d3a8b8a593ba85955cc9d71 +d = 4af107e8e2194c830ffb712a65511bc9186a133007855b49ab4b3833aefc4a1d +Qx = a32e50be3dae2c8ba3f5e4bdae14cf7645420d425ead94036c22dd6c4fc59e00 +Qy = d623bf641160c289d6742c6257ae6ba574446dd1d0e74db3aaa80900b78d4ae9 +k = e18f96f84dfa2fd3cdfaec9159d4c338cd54ad314134f0b31e20591fc238d0ab +R = 8524c5024e2d9a73bde8c72d9129f57873bbad0ed05215a372a84fdbc78f2e68 +S = d18c2caf3b1072f87064ec5e8953f51301cada03469c640244760328eb5a05cb + +Msg = dfa6cb9b39adda6c74cc8b2a8b53a12c499ab9dee01b4123642b4f11af336a91a5c9ce0520eb2395a6190ecbf6169c4cba81941de8e76c9c908eb843b98ce95e0da29c5d4388040264e05e07030a577cc5d176387154eabae2af52a83e85c61c7c61da930c9b19e45d7e34c8516dc3c238fddd6e450a77455d534c48a152010b +d = 78dfaa09f1076850b3e206e477494cddcfb822aaa0128475053592c48ebaf4ab +Qx = 8bcfe2a721ca6d753968f564ec4315be4857e28bef1908f61a366b1f03c97479 +Qy = 0f67576a30b8e20d4232d8530b52fb4c89cbc589ede291e499ddd15fe870ab96 +k = 295544dbb2da3da170741c9b2c6551d40af7ed4e891445f11a02b66a5c258a77 +R = c5a186d72df452015480f7f338970bfe825087f05c0088d95305f87aacc9b254 +S = 84a58f9e9d9e735344b316b1aa1ab5185665b85147dc82d92e969d7bee31ca30 + +Msg = 51d2547cbff92431174aa7fc7302139519d98071c755ff1c92e4694b58587ea560f72f32fc6dd4dee7d22bb7387381d0256e2862d0644cdf2c277c5d740fa089830eb52bf79d1e75b8596ecf0ea58a0b9df61e0c9754bfcd62efab6ea1bd216bf181c5593da79f10135a9bc6e164f1854bc8859734341aad237ba29a81a3fc8b +d = 80e692e3eb9fcd8c7d44e7de9f7a5952686407f90025a1d87e52c7096a62618a +Qx = a88bc8430279c8c0400a77d751f26c0abc93e5de4ad9a4166357952fe041e767 +Qy = 2d365a1eef25ead579cc9a069b6abc1b16b81c35f18785ce26a10ba6d1381185 +k = 7c80fd66d62cc076cef2d030c17c0a69c99611549cb32c4ff662475adbe84b22 +R = 9d0c6afb6df3bced455b459cc21387e14929392664bb8741a3693a1795ca6902 +S = d7f9ddd191f1f412869429209ee3814c75c72fa46a9cccf804a2f5cc0b7e739f + +Msg = 558c2ac13026402bad4a0a83ebc9468e50f7ffab06d6f981e5db1d082098065bcff6f21a7a74558b1e8612914b8b5a0aa28ed5b574c36ac4ea5868432a62bb8ef0695d27c1e3ceaf75c7b251c65ddb268696f07c16d2767973d85beb443f211e6445e7fe5d46f0dce70d58a4cd9fe70688c035688ea8c6baec65a5fc7e2c93e8 +d = 5e666c0db0214c3b627a8e48541cc84a8b6fd15f300da4dff5d18aec6c55b881 +Qx = 1bc487570f040dc94196c9befe8ab2b6de77208b1f38bdaae28f9645c4d2bc3a +Qy = ec81602abd8345e71867c8210313737865b8aa186851e1b48eaca140320f5d8f +k = 2e7625a48874d86c9e467f890aaa7cd6ebdf71c0102bfdcfa24565d6af3fdce9 +R = 2f9e2b4e9f747c657f705bffd124ee178bbc5391c86d056717b140c153570fd9 +S = f5413bfd85949da8d83de83ab0d19b2986613e224d1901d76919de23ccd03199 + +Msg = 4d55c99ef6bd54621662c3d110c3cb627c03d6311393b264ab97b90a4b15214a5593ba2510a53d63fb34be251facb697c973e11b665cb7920f1684b0031b4dd370cb927ca7168b0bf8ad285e05e9e31e34bc24024739fdc10b78586f29eff94412034e3b606ed850ec2c1900e8e68151fc4aee5adebb066eb6da4eaa5681378e +d = f73f455271c877c4d5334627e37c278f68d143014b0a05aa62f308b2101c5308 +Qx = b8188bd68701fc396dab53125d4d28ea33a91daf6d21485f4770f6ea8c565dde +Qy = 423f058810f277f8fe076f6db56e9285a1bf2c2a1dae145095edd9c04970bc4a +k = 62f8665fd6e26b3fa069e85281777a9b1f0dfd2c0b9f54a086d0c109ff9fd615 +R = 1cc628533d0004b2b20e7f4baad0b8bb5e0673db159bbccf92491aef61fc9620 +S = 880e0bbf82a8cf818ed46ba03cf0fc6c898e36fca36cc7fdb1d2db7503634430 + +Msg = f8248ad47d97c18c984f1f5c10950dc1404713c56b6ea397e01e6dd925e903b4fadfe2c9e877169e71ce3c7fe5ce70ee4255d9cdc26f6943bf48687874de64f6cf30a012512e787b88059bbf561162bdcc23a3742c835ac144cc14167b1bd6727e940540a9c99f3cbb41fb1dcb00d76dda04995847c657f4c19d303eb09eb48a +d = b20d705d9bd7c2b8dc60393a5357f632990e599a0975573ac67fd89b49187906 +Qx = 51f99d2d52d4a6e734484a018b7ca2f895c2929b6754a3a03224d07ae61166ce +Qy = 4737da963c6ef7247fb88d19f9b0c667cac7fe12837fdab88c66f10d3c14cad1 +k = 72b656f6b35b9ccbc712c9f1f3b1a14cbbebaec41c4bca8da18f492a062d6f6f +R = 9886ae46c1415c3bc959e82b760ad760aab66885a84e620aa339fdf102465c42 +S = 2bf3a80bc04faa35ebecc0f4864ac02d349f6f126e0f988501b8d3075409a26c + +Msg = 3b6ee2425940b3d240d35b97b6dcd61ed3423d8e71a0ada35d47b322d17b35ea0472f35edd1d252f87b8b65ef4b716669fc9ac28b00d34a9d66ad118c9d94e7f46d0b4f6c2b2d339fd6bcd351241a387cc82609057048c12c4ec3d85c661975c45b300cb96930d89370a327c98b67defaa89497aa8ef994c77f1130f752f94a4 +d = d4234bebfbc821050341a37e1240efe5e33763cbbb2ef76a1c79e24724e5a5e7 +Qx = 8fb287f0202ad57ae841aea35f29b2e1d53e196d0ddd9aec24813d64c0922fb7 +Qy = 1f6daff1aa2dd2d6d3741623eecb5e7b612997a1039aab2e5cf2de969cfea573 +k = d926fe10f1bfd9855610f4f5a3d666b1a149344057e35537373372ead8b1a778 +R = 490efd106be11fc365c7467eb89b8d39e15d65175356775deab211163c2504cb +S = 644300fc0da4d40fb8c6ead510d14f0bd4e1321a469e9c0a581464c7186b7aa7 + +Msg = c5204b81ec0a4df5b7e9fda3dc245f98082ae7f4efe81998dcaa286bd4507ca840a53d21b01e904f55e38f78c3757d5a5a4a44b1d5d4e480be3afb5b394a5d2840af42b1b4083d40afbfe22d702f370d32dbfd392e128ea4724d66a3701da41ae2f03bb4d91bb946c7969404cb544f71eb7a49eb4c4ec55799bda1eb545143a7 +d = b58f5211dff440626bb56d0ad483193d606cf21f36d9830543327292f4d25d8c +Qx = 68229b48c2fe19d3db034e4c15077eb7471a66031f28a980821873915298ba76 +Qy = 303e8ee3742a893f78b810991da697083dd8f11128c47651c27a56740a80c24c +k = e158bf4a2d19a99149d9cdb879294ccb7aaeae03d75ddd616ef8ae51a6dc1071 +R = e67a9717ccf96841489d6541f4f6adb12d17b59a6bef847b6183b8fcf16a32eb +S = 9ae6ba6d637706849a6a9fc388cf0232d85c26ea0d1fe7437adb48de58364333 + +Msg = 72e81fe221fb402148d8b7ab03549f1180bcc03d41ca59d7653801f0ba853add1f6d29edd7f9abc621b2d548f8dbf8979bd16608d2d8fc3260b4ebc0dd42482481d548c7075711b5759649c41f439fad69954956c9326841ea6492956829f9e0dc789f73633b40f6ac77bcae6dfc7930cfe89e526d1684365c5b0be2437fdb01 +d = 54c066711cdb061eda07e5275f7e95a9962c6764b84f6f1f3ab5a588e0a2afb1 +Qx = 0a7dbb8bf50cb605eb2268b081f26d6b08e012f952c4b70a5a1e6e7d46af98bb +Qy = f26dd7d799930062480849962ccf5004edcfd307c044f4e8f667c9baa834eeae +k = 646fe933e96c3b8f9f507498e907fdd201f08478d0202c752a7c2cfebf4d061a +R = b53ce4da1aa7c0dc77a1896ab716b921499aed78df725b1504aba1597ba0c64b +S = d7c246dc7ad0e67700c373edcfdd1c0a0495fc954549ad579df6ed1438840851 + +Msg = 21188c3edd5de088dacc1076b9e1bcecd79de1003c2414c3866173054dc82dde85169baa77993adb20c269f60a5226111828578bcc7c29e6e8d2dae81806152c8ba0c6ada1986a1983ebeec1473a73a04795b6319d48662d40881c1723a706f516fe75300f92408aa1dc6ae4288d2046f23c1aa2e54b7fb6448a0da922bd7f34 +d = 34fa4682bf6cb5b16783adcd18f0e6879b92185f76d7c920409f904f522db4b1 +Qx = 105d22d9c626520faca13e7ced382dcbe93498315f00cc0ac39c4821d0d73737 +Qy = 6c47f3cbbfa97dfcebe16270b8c7d5d3a5900b888c42520d751e8faf3b401ef4 +k = a6f463ee72c9492bc792fe98163112837aebd07bab7a84aaed05be64db3086f4 +R = 542c40a18140a6266d6f0286e24e9a7bad7650e72ef0e2131e629c076d962663 +S = 4f7f65305e24a6bbb5cff714ba8f5a2cee5bdc89ba8d75dcbf21966ce38eb66f + +[P-256,SHA-384] + +Msg = e0b8596b375f3306bbc6e77a0b42f7469d7e83635990e74aa6d713594a3a24498feff5006790742d9c2e9b47d714bee932435db747c6e733e3d8de41f2f91311f2e9fd8e025651631ffd84f66732d3473fbd1627e63dc7194048ebec93c95c159b5039ab5e79e42c80b484a943f125de3da1e04e5bf9c16671ad55a1117d3306 +d = b6faf2c8922235c589c27368a3b3e6e2f42eb6073bf9507f19eed0746c79dced +Qx = e0e7b99bc62d8dd67883e39ed9fa0657789c5ff556cc1fd8dd1e2a55e9e3f243 +Qy = 63fbfd0232b95578075c903a4dbf85ad58f8350516e1ec89b0ee1f5e1362da69 +k = 9980b9cdfcef3ab8e219b9827ed6afdd4dbf20bd927e9cd01f15762703487007 +R = f5087878e212b703578f5c66f434883f3ef414dc23e2e8d8ab6a8d159ed5ad83 +S = 306b4c6c20213707982dffbb30fba99b96e792163dd59dbe606e734328dd7c8a + +Msg = 099a0131179fff4c6928e49886d2fdb3a9f239b7dd5fa828a52cbbe3fcfabecfbba3e192159b887b5d13aa1e14e6a07ccbb21f6ad8b7e88fee6bea9b86dea40ffb962f38554056fb7c5bb486418915f7e7e9b9033fe3baaf9a069db98bc02fa8af3d3d1859a11375d6f98aa2ce632606d0800dff7f55b40f971a8586ed6b39e9 +d = 118958fd0ff0f0b0ed11d3cf8fa664bc17cdb5fed1f4a8fc52d0b1ae30412181 +Qx = afda82260c9f42122a3f11c6058839488f6d7977f6f2a263c67d06e27ea2c355 +Qy = 0ae2bbdd2207c590332c5bfeb4c8b5b16622134bd4dc55382ae806435468058b +k = 23129a99eeda3d99a44a5778a46e8e7568b91c31fb7a8628c5d9820d4bed4a6b +R = e446600cab1286ebc3bb332012a2f5cc33b0a5ef7291d5a62a84de5969d77946 +S = cf89b12793ee1792eb26283b48fa0bdcb45ae6f6ad4b02564bf786bb97057d5a + +Msg = 0fbc07ea947c946bea26afa10c51511039b94ddbc4e2e4184ca3559260da24a14522d1497ca5e77a5d1a8e86583aeea1f5d4ff9b04a6aa0de79cd88fdb85e01f171143535f2f7c23b050289d7e05cebccdd131888572534bae0061bdcc3015206b9270b0d5af9f1da2f9de91772d178a632c3261a1e7b3fb255608b3801962f9 +d = 3e647357cd5b754fad0fdb876eaf9b1abd7b60536f383c81ce5745ec80826431 +Qx = 702b2c94d039e590dd5c8f9736e753cf5824aacf33ee3de74fe1f5f7c858d5ed +Qy = 0c28894e907af99fb0d18c9e98f19ac80dd77abfa4bebe45055c0857b82a0f4d +k = 9beab7722f0bcb468e5f234e074170a60225255de494108459abdf603c6e8b35 +R = c4021fb7185a07096547af1fb06932e37cf8bd90cf593dea48d48614fa237e5e +S = 7fb45d09e2172bec8d3e330aa06c43fbb5f625525485234e7714b7f6e92ba8f1 + +Msg = 1e38d750d936d8522e9db1873fb4996bef97f8da3c6674a1223d29263f1234a90b751785316444e9ba698bc8ab6cd010638d182c9adad4e334b2bd7529f0ae8e9a52ad60f59804b2d780ed52bdd33b0bf5400147c28b4304e5e3434505ae7ce30d4b239e7e6f0ecf058badd5b388eddbad64d24d2430dd04b4ddee98f972988f +d = 76c17c2efc99891f3697ba4d71850e5816a1b65562cc39a13da4b6da9051b0fd +Qx = d12512e934c367e4c4384dbd010e93416840288a0ba00b299b4e7c0d91578b57 +Qy = ebf8835661d9b578f18d14ae4acf9c357c0dc8b7112fc32824a685ed72754e23 +k = 77cffa6f9a73904306f9fcd3f6bbb37f52d71e39931bb4aec28f9b076e436ccf +R = 4d5a9d95b0f09ce8704b0f457b39059ee606092310df65d3f8ae7a2a424cf232 +S = 7d3c014ca470a73cef1d1da86f2a541148ad542fbccaf9149d1b0b030441a7eb + +Msg = abcf0e0f046b2e0672d1cc6c0a114905627cbbdefdf9752f0c31660aa95f2d0ede72d17919a9e9b1add3213164e0c9b5ae3c76f1a2f79d3eeb444e6741521019d8bd5ca391b28c1063347f07afcfbb705be4b52261c19ebaf1d6f054a74d86fb5d091fa7f229450996b76f0ada5f977b09b58488eebfb5f5e9539a8fd89662ab +d = 67b9dea6a575b5103999efffce29cca688c781782a41129fdecbce76608174de +Qx = b4238b029fc0b7d9a5286d8c29b6f3d5a569e9108d44d889cd795c4a385905be +Qy = 8cb3fff8f6cca7187c6a9ad0a2b1d9f40ae01b32a7e8f8c4ca75d71a1fffb309 +k = d02617f26ede3584f0afcfc89554cdfb2ae188c192092fdde3436335fafe43f1 +R = 26fd9147d0c86440689ff2d75569795650140506970791c90ace0924b44f1586 +S = 00a34b00c20a8099df4b0a757cbef8fea1cb3ea7ced5fbf7e987f70b25ee6d4f + +Msg = dc3d4884c741a4a687593c79fb4e35c5c13c781dca16db561d7e393577f7b62ca41a6e259fc1fb8d0c4e1e062517a0fdf95558b7799f20c211796167953e6372c11829beec64869d67bf3ee1f1455dd87acfbdbcc597056e7fb347a17688ad32fda7ccc3572da7677d7255c261738f07763cd45973c728c6e9adbeecadc3d961 +d = ecf644ea9b6c3a04fdfe2de4fdcb55fdcdfcf738c0b3176575fa91515194b566 +Qx = c3bdc7c795ec94620a2cfff614c13a3390a5e86c892e53a24d3ed22228bc85bf +Qy = 70480fc5cf4aacd73e24618b61b5c56c1ced8c4f1b869580ea538e68c7a61ca3 +k = 53291d51f68d9a12d1dcdc58892b2f786cc15f631f16997d2a49bace513557d4 +R = a860c8b286edf973ce4ce4cf6e70dc9bbf3818c36c023a845677a9963705df8b +S = 5630f986b1c45e36e127dd7932221c4272a8cc6e255e89f0f0ca4ec3a9f76494 + +Msg = 719bf1911ae5b5e08f1d97b92a5089c0ab9d6f1c175ac7199086aeeaa416a17e6d6f8486c711d386f284f096296689a54d330c8efb0f5fa1c5ba128d3234a3da856c2a94667ef7103616a64c913135f4e1dc50e38daa60610f732ad1bedfcc396f87169392520314a6b6b9af6793dbabad4599525228cc7c9c32c4d8e097ddf6 +d = 4961485cbc978f8456ec5ac7cfc9f7d9298f99415ecae69c8491b258c029bfee +Qx = 8d40bf2299e05d758d421972e81cfb0cce68b949240dc30f315836acc70bef03 +Qy = 5674e6f77f8b46f46cca937d83b128dffbe9bd7e0d3d08aa2cbbfdfb16f72c9a +k = 373a825b5a74b7b9e02f8d4d876b577b4c3984168d704ba9f95b19c05ed590af +R = ef6fb386ad044b63feb7445fa16b10319018e9cea9ef42bca83bdad01992234a +S = ac1f42f652eb1786e57be01d847c81f7efa072ba566d4583af4f1551a3f76c65 + +Msg = 7cf19f4c851e97c5bca11a39f0074c3b7bd3274e7dd75d0447b7b84995dfc9f716bf08c25347f56fcc5e5149cb3f9cfb39d408ace5a5c47e75f7a827fa0bb9921bb5b23a6053dbe1fa2bba341ac874d9b1333fc4dc224854949f5c8d8a5fedd02fb26fdfcd3be351aec0fcbef18972956c6ec0effaf057eb4420b6d28e0c008c +d = 587907e7f215cf0d2cb2c9e6963d45b6e535ed426c828a6ea2fb637cca4c5cbd +Qx = 660da45c413cc9c9526202c16b402af602d30daaa7c342f1e722f15199407f31 +Qy = e6f8cbb06913cc718f2d69ba2fb3137f04a41c27c676d1a80fbf30ea3ca46439 +k = 6b8eb7c0d8af9456b95dd70561a0e902863e6dfa1c28d0fd4a0509f1c2a647b2 +R = 08fabf9b57de81875bfa7a4118e3e44cfb38ec6a9b2014940207ba3b1c583038 +S = a58d199b1deba7350616230d867b2747a3459421811c291836abee715b8f67b4 + +Msg = b892ffabb809e98a99b0a79895445fc734fa1b6159f9cddb6d21e510708bdab6076633ac30aaef43db566c0d21f4381db46711fe3812c5ce0fb4a40e3d5d8ab24e4e82d3560c6dc7c37794ee17d4a144065ef99c8d1c88bc22ad8c4c27d85ad518fa5747ae35276fc104829d3f5c72fc2a9ea55a1c3a87007cd133263f79e405 +d = 24b1e5676d1a9d6b645a984141a157c124531feeb92d915110aef474b1e27666 +Qx = b4909a5bdf25f7659f4ef35e4b811429fb2c59126e3dad09100b46aea6ebe7a6 +Qy = 760ae015fa6af5c9749c4030fdb5de6e58c6b5b1944829105cf7edf7d3a22cfb +k = 88794923d8943b5dbcc7a7a76503880ff7da632b0883aaa60a9fcc71bf880fd6 +R = 6ec9a340b77fae3c7827fa96d997e92722ff2a928217b6dd3c628f3d49ae4ce6 +S = 637b54bbcfb7e7d8a41ea317fcfca8ad74eb3bb6b778bc7ef9dec009281976f7 + +Msg = 8144e37014c95e13231cbd6fa64772771f93b44e37f7b02f592099cc146343edd4f4ec9fa1bc68d7f2e9ee78fc370443aa2803ff4ca52ee49a2f4daf2c8181ea7b8475b3a0f608fc3279d09e2d057fbe3f2ffbe5133796124781299c6da60cfe7ecea3abc30706ded2cdf18f9d788e59f2c31662df3abe01a9b12304fb8d5c8c +d = bce49c7b03dcdc72393b0a67cf5aa5df870f5aaa6137ada1edc7862e0981ec67 +Qx = c786d9421d67b72b922cf3def2a25eeb5e73f34543eb50b152e738a98afb0ca5 +Qy = 6796271e79e2496f9e74b126b1123a3d067de56b5605d6f51c8f6e1d5bb93aba +k = 89e690d78a5e0d2b8ce9f7fcbf34e2605fd9584760fa7729043397612dd21f94 +R = 07e5054c384839584624e8d730454dc27e673c4a90cbf129d88b91250341854d +S = f7e665b88614d0c5cbb3007cafe713763d81831525971f1747d92e4d1ca263a7 + +Msg = a3683d120807f0a030feed679785326698c3702f1983eaba1b70ddfa7f0b3188060b845e2b67ed57ee68087746710450f7427cb34655d719c0acbc09ac696adb4b22aba1b9322b7111076e67053a55f62b501a4bca0ad9d50a868f51aeeb4ef27823236f5267e8da83e143047422ce140d66e05e44dc84fb3a4506b2a5d7caa8 +d = 73188a923bc0b289e81c3db48d826917910f1b957700f8925425c1fb27cabab9 +Qx = 86662c014ab666ee770723be8da38c5cd299efc6480fc6f8c3603438fa8397b9 +Qy = f26b3307a650c3863faaa5f642f3ba1384c3d3a02edd3d48c657c269609cc3fc +k = ec90584ab3b383b590626f36ed4f5110e49888aec7ae7a9c5ea62dd2dc378666 +R = 13e9ad59112fde3af4163eb5c2400b5e9a602576d5869ac1c569075f08c90ff6 +S = 708ac65ff2b0baaccc6dd954e2a93df46016bd04457636de06798fcc17f02be5 + +Msg = b1df8051b213fc5f636537e37e212eb20b2423e6467a9c7081336a870e6373fc835899d59e546c0ac668cc81ce4921e88f42e6da2a109a03b4f4e819a17c955b8d099ec6b282fb495258dca13ec779c459da909475519a3477223c06b99afbd77f9922e7cbef844b93f3ce5f50db816b2e0d8b1575d2e17a6b8db9111d6da578 +d = f637d55763fe819541588e0c603f288a693cc66823c6bb7b8e003bd38580ebce +Qx = 74a4620c578601475fc169a9b84be613b4a16cb6acab8fd98848a6ec9fbd133d +Qy = 42b9e35d347c107e63bd55f525f915bcf1e3d2b81d002d3c39acf10fc30645a1 +k = 4d578f5099636234d9c1d566f1215d5d887ae5d47022be17dbf32a11a03f053b +R = 113a933ebc4d94ce1cef781e4829df0c493b0685d39fb2048ce01b21c398dbba +S = 3005bd4ec63dbd04ce9ff0c6246ad65d27fcf62edb2b7e461589f9f0e7446ffd + +Msg = 0b918ede985b5c491797d0a81446b2933be312f419b212e3aae9ba5914c00af431747a9d287a7c7761e9bcbc8a12aaf9d4a76d13dad59fc742f8f218ef66eb67035220a07acc1a357c5b562ecb6b895cf725c4230412fefac72097f2c2b829ed58742d7c327cad0f1058df1bddd4ae9c6d2aba25480424308684cecd6517cdd8 +d = 2e357d51517ff93b821f895932fddded8347f32596b812308e6f1baf7dd8a47f +Qx = 7e4078a1d50c669fb2996dd9bacb0c3ac7ede4f58fa0fa1222e78dbf5d1f4186 +Qy = 0014e46e90cc171fbb83ea34c6b78202ea8137a7d926f0169147ed5ae3d6596f +k = be522b0940b9a40d84bf790fe6abdc252877e671f2efa63a33a65a512fc2aa5c +R = a26b9ad775ac37ff4c7f042cdc4872c5e4e5e800485f488ddfaaed379f468090 +S = f88eae2019bebbba62b453b8ee3472ca5c67c267964cffe0cf2d2933c1723dff + +Msg = 0fab26fde1a4467ca930dbe513ccc3452b70313cccde2994eead2fde85c8da1db84d7d06a024c9e88629d5344224a4eae01b21a2665d5f7f36d5524bf5367d7f8b6a71ea05d413d4afde33777f0a3be49c9e6aa29ea447746a9e77ce27232a550b31dd4e7c9bc8913485f2dc83a56298051c92461fd46b14cc895c300a4fb874 +d = 77d60cacbbac86ab89009403c97289b5900466856887d3e6112af427f7f0f50b +Qx = a62032dfdb87e25ed0c70cad20d927c7effeb2638e6c88ddd670f74df16090e5 +Qy = 44c5ee2cf740ded468f5d2efe13daa7c5234645a37c073af35330d03a4fed976 +k = 06c1e692b045f425a21347ecf72833d0242906c7c1094f805566cdcb1256e394 +R = eb173b51fb0aec318950d097e7fda5c34e529519631c3e2c9b4550b903da417d +S = ca2c13574bf1b7d56e9dc18315036a31b8bceddf3e2c2902dcb40f0cc9e31b45 + +Msg = 7843f157ef8566722a7d69da67de7599ee65cb3975508f70c612b3289190e364141781e0b832f2d9627122742f4b5871ceeafcd09ba5ec90cae6bcc01ae32b50f13f63918dfb5177df9797c6273b92d103c3f7a3fc2050d2b196cc872c57b77f9bdb1782d4195445fcc6236dd8bd14c8bcbc8223a6739f6a17c9a861e8c821a6 +d = 486854e77962117f49e09378de6c9e3b3522fa752b10b2c810bf48db584d7388 +Qx = 760b5624bd64d19c866e54ccd74ad7f98851afdbc3ddeae3ec2c52a135be9cfa +Qy = feca15ce9350877102eee0f5af18b2fed89dc86b7df0bf7bc2963c1638e36fe8 +k = e4f77c6442eca239b01b0254e11a4182782d96f48ab521cc3d1d68df12b5a41a +R = bdff14e4600309c2c77f79a25963a955b5b500a7b2d34cb172cd6acd52905c7b +S = b0479cdb3df79923ec36a104a129534c5d59f622be7d613aa04530ad2507d3a2 + +[P-256,SHA-512] + +Msg = 6c8572b6a3a4a9e8e03dbeed99334d41661b8a8417074f335ab1845f6cc852adb8c01d9820fcf8e10699cc827a8fbdca2cbd46cc66e4e6b7ba41ec3efa733587e4a30ec552cd8ddab8163e148e50f4d090782897f3ddac84a41e1fcfe8c56b6152c0097b0d634b41011471ffd004f43eb4aafc038197ec6bae2b4470e869bded +d = 9dd0d3a3d514c2a8adb162b81e3adfba3299309f7d2018f607bdb15b1a25f499 +Qx = 6b738de3398b6ac57b9591f9d7985dd4f32137ad3460dcf8970c1390cb9eaf8d +Qy = 83bc61e26d2bbbd3cf2d2ab445a2bc4ab5dde41f4a13078fd1d3cc36ab596d57 +k = 9106192170ccb3c64684d48287bb81bbed51b40d503462c900e5c7aae43e380a +R = 275fa760878b4dc05e9d157fedfd8e9b1c9c861222a712748cb4b7754c043fb1 +S = 699d906bb8435a05345af3b37e3b357786939e94caae257852f0503adb1e0f7e + +Msg = 7e3c8fe162d48cc8c5b11b5e5ebc05ebc45c439bdbc0b0902145921b8383037cb0812222031598cd1a56fa71694fbd304cc62938233465ec39c6e49f57dfe823983b6923c4e865633949183e6b90e9e06d8275f3907d97967d47b6239fe2847b7d49cf16ba69d2862083cf1bccf7afe34fdc90e21998964107b64abe6b89d126 +d = f9bf909b7973bf0e3dad0e43dcb2d7fa8bda49dbe6e5357f8f0e2bd119be30e6 +Qx = f2a6674d4e86152a527199bed293fa63acde1b4d8a92b62e552210ba45c38792 +Qy = c72565c24f0eee6a094af341ddd8579747b865f91c8ed5b44cda8a19cc93776f +k = e547791f7185850f03d0c58419648f65b9d29cdc22ed1de2a64280220cfcafba +R = 4782903d2aaf8b190dab5cae2223388d2d8bd845b3875d37485c54e1ded1d3d8 +S = dfb40e406bfa074f0bf832771b2b9f186e2211f0bca279644a0ca8559acf39da + +Msg = d5aa8ac9218ca661cd177756af6fbb5a40a3fecfd4eea6d5872fbb9a2884784aa9b5f0c023a6e0da5cf6364754ee6465b4ee2d0ddc745b02994c98427a213c849537da5a4477b3abfe02648be67f26e80b56a33150490d062aaac137aa47f11cfeddba855bab9e4e028532a563326d927f9e6e3292b1fb248ee90b6f429798db +d = 724567d21ef682dfc6dc4d46853880cfa86fe6fea0efd51fac456f03c3d36ead +Qx = 70b877b5e365fcf08140b1eca119baba662879f38e059d074a2cb60b03ea5d39 +Qy = 5f56f94d591df40b9f3b8763ac4b3dbe622c956d5bd0c55658b6f46fa3deb201 +k = 79d6c967ed23c763ece9ca4b026218004c84dc2d4ccc86cf05c5d0f791f6279b +R = 2ba2ea2d316f8937f184ad3028e364574d20a202e4e7513d7af57ac2456804d1 +S = 64fe94968d18c5967c799e0349041b9e40e6c6c92ebb475e80dd82f51cf07320 + +Msg = 790b06054afc9c3fc4dfe72df19dd5d68d108cfcfca6212804f6d534fd2fbe489bd8f64bf205ce04bcb50124a12ce5238fc3fe7dd76e6fa640206af52549f133d593a1bfd423ab737f3326fa79433cde293236f90d4238f0dd38ed69492ddbd9c3eae583b6325a95dec3166fe52b21658293d8c137830ef45297d67813b7a508 +d = 29c5d54d7d1f099d50f949bfce8d6073dae059c5a19cc70834722f18a7199edd +Qx = 3088d4f45d274cc5f418c8ecc4cbcf96be87491f420250f8cbc01cdf2503ec47 +Qy = 634db48198129237ed068c88ff5809f6211921a6258f548f4b64dd125921b78b +k = 0508ad7774908b5705895fda5c3b7a3032bf85dab7232bf981177019f3d76460 +R = acd9f3b63626c5f32103e90e1dd1695907b1904aa9b14f2132caef331321971b +S = 15c04a8bd6c13ed5e9961814b2f406f064670153e4d5465dcef63c1d9dd52a87 + +Msg = 6d549aa87afdb8bfa60d22a68e2783b27e8db46041e4df04be0c261c4734b608a96f198d1cdb8d082ae48579ec9defcf21fbc72803764a58c31e5323d5452b9fb57c8991d31749140da7ef067b18bf0d7dfbae6eefd0d8064f334bf7e9ec1e028daed4e86e17635ec2e409a3ed1238048a45882c5c57501b314e636b9bc81cbe +d = 0d8095da1abba06b0d349c226511f642dabbf1043ad41baa4e14297afe8a3117 +Qx = 75a45758ced45ecf55f755cb56ca2601d794ebeaeb2e6107fe2fc443f580e23c +Qy = 5303d47d5a75ec821d51a2ee7548448208c699eca0cd89810ffc1aa4faf81ead +k = 5165c54def4026ab648f7768c4f1488bcb183f6db7ffe02c7022a529a116482a +R = ebc85fc4176b446b3384ccc62fc2526b45665561a0e7e9404ac376c90e450b59 +S = 8b2c09428e62c5109d17ed0cf8f9fd7c370d018a2a73f701effc9b17d04852c6 + +Msg = 1906e48b7f889ee3ff7ab0807a7aa88f53f4018808870bfed6372a77330c737647961324c2b4d46f6ee8b01190474951a701b048ae86579ff8e3fc889fecf926b17f98958ac7534e6e781ca2db2baa380dec766cfb2a3eca2a9d5818967d64dfab84f768d24ec122eebacaab0a4dc3a75f37331bb1c43dd8966cc09ec4945bbd +d = 52fe57da3427b1a75cb816f61c4e8e0e0551b94c01382b1a80837940ed579e61 +Qx = 2177e20a2092a46667debdcc21e7e45d6da72f124adecbc5ada6a7bcc7b401d5 +Qy = 550e468f2626070a080afeeb98edd75a721eb773c8e62149f3e903cf9c4d7b61 +k = 0464fe9674b01ff5bd8be21af3399fad66f90ad30f4e8ee6e2eb9bcccfd5185c +R = f8250f073f34034c1cde58f69a85e2f5a030703ebdd4dbfb98d3b3690db7d114 +S = a9e83e05f1d6e0fef782f186bedf43684c825ac480174d48b0e4d31505e27498 + +Msg = 7b59fef13daf01afec35dea3276541be681c4916767f34d4e874464d20979863ee77ad0fd1635bcdf93e9f62ed69ae52ec90aab5bbf87f8951213747ccec9f38c775c1df1e9d7f735c2ce39b42edb3b0c5086247556cfea539995c5d9689765288ec600848ecf085c01ca738bbef11f5d12d4457db988b4add90be00781024ad +d = 003d91611445919f59bfe3ca71fe0bfdeb0e39a7195e83ac03a37c7eceef0df2 +Qx = 7b9c592f61aae0555855d0b9ebb6fd00fb6746e8842e2523565c858630b9ba00 +Qy = d35b2e168b1875bbc563bea5e8d63c4e38957c774a65e762959a349eaf263ba0 +k = ef9df291ea27a4b45708f7608723c27d7d56b7df0599a54bc2c2fabbff373b40 +R = 66d057fd39958b0e4932bacd70a1769bbadcb62e4470937b45497a3d4500fabb +S = 6c853b889e18b5a49ee54b54dd1aaedfdd642e30eba171c5cab677f0df9e7318 + +Msg = 041a6767a935dc3d8985eb4e608b0cbfebe7f93789d4200bcfe595277ac2b0f402889b580b72def5da778a680fd380c955421f626d52dd9a83ea180187b850e1b72a4ec6dd63235e598fd15a9b19f8ce9aec1d23f0bd6ea4d92360d50f951152bc9a01354732ba0cf90aaed33c307c1de8fa3d14f9489151b8377b57c7215f0b +d = 48f13d393899cd835c4193670ec62f28e4c4903e0bbe5817bf0996831a720bb7 +Qx = 82a1a96f4648393c5e42633ecdeb1d8245c78c5ea236b5bab460dedcc8924bc0 +Qy = e8cbf03c34b5154f876de19f3bb6fd43cd2eabf6e7c95467bcfa8c8fc42d76fd +k = efed736e627899fea944007eea39a4a63c0c2e26491cd12adb546be3e5c68f7d +R = cf7fc24bdaa09ac0cca8497e13298b961380668613c7493954048c06385a7044 +S = f38b1c8306cf82ab76ee3a772b14416b49993fe11f986e9b0f0593c52ec91525 + +Msg = 7905a9036e022c78b2c9efd40b77b0a194fbc1d45462779b0b76ad30dc52c564e48a493d8249a061e62f26f453ba566538a4d43c64fb9fdbd1f36409316433c6f074e1b47b544a847de25fc67d81ac801ed9f7371a43da39001c90766f943e629d74d0436ba1240c3d7fab990d586a6d6ef1771786722df56448815f2feda48f +d = 95c99cf9ec26480275f23de419e41bb779590f0eab5cf9095d37dd70cb75e870 +Qx = 42c292b0fbcc9f457ae361d940a9d45ad9427431a105a6e5cd90a345fe3507f7 +Qy = 313b08fd2fa351908b3178051ee782cc62b9954ad95d4119aa564900f8ade70c +k = 4c08dd0f8b72ae9c674e1e448d4e2afe3a1ee69927fa23bbff3716f0b99553b7 +R = f2bc35eb1b8488b9e8d4a1dbb200e1abcb855458e1557dc1bf988278a174eb3b +S = ed9a2ec043a1d578e8eba6f57217976310e8674385ad2da08d6146c629de1cd9 + +Msg = cf25e4642d4f39d15afb7aec79469d82fc9aedb8f89964e79b749a852d931d37436502804e39555f5a3c75dd958fd5291ada647c1a5e38fe7b1048f16f2b711fdd5d39acc0812ca65bd50d7f8119f2fd195ab16633503a78ee9102c1f9c4c22568e0b54bd4fa3f5ff7b49160bf23e7e2231b1ebebbdaf0e4a7d4484158a87e07 +d = e15e835d0e2217bc7c6f05a498f20af1cd56f2f165c23d225eb3360aa2c5cbcf +Qx = 89dd22052ec3ab4840206a62f2270c21e7836d1a9109a3407dd0974c7802b9ae +Qy = e91609ba35c7008b080c77a9068d97a14ca77b97299e74945217672b2fd5faf0 +k = c9f621441c235fc47ec34eef4c08625df1ec74918e1f86075b753f2589f4c60b +R = a70d1a2d555d599bfb8c9b1f0d43725341151d17a8d0845fa56f3563703528a7 +S = 4e05c45adf41783e394a5312f86e66871c4be4896948c85966879d5c66d54b37 + +Msg = 7562c445b35883cc937be6349b4cefc3556a80255d70f09e28c3f393daac19442a7eecedcdfbe8f7628e30cd8939537ec56d5c9645d43340eb4e78fc5dd4322de8a07966b262770d7ff13a071ff3dce560718e60ed3086b7e0003a6abafe91af90af86733ce8689440bf73d2aa0acfe9776036e877599acbabfcb03bb3b50faa +d = 808c08c0d77423a6feaaffc8f98a2948f17726e67c15eeae4e672edbe388f98c +Qx = b0c0ad5e1f6001d8e9018ec611b2e3b91923e69fa6c98690ab644d650f640c42 +Qy = 610539c0b9ed21ac0a2f27527c1a61d9b47cbf033187b1a6ada006eb5b2662ed +k = 1f6d4a905c761a53d54c362976717d0d7fc94d222bb5489e4830080a1a67535d +R = 83404dcf8320baf206381800071e6a75160342d19743b4f176960d669dd03d07 +S = 3f75dcf102008b2989f81683ae45e9f1d4b67a6ef6fd5c8af44828af80e1cfb5 + +Msg = 051c2db8e71e44653ea1cb0afc9e0abdf12658e9e761bfb767c20c7ab4adfcb18ed9b5c372a3ac11d8a43c55f7f99b33355437891686d42362abd71db8b6d84dd694d6982f0612178a937aa934b9ac3c0794c39027bdd767841c4370666c80dbc0f8132ca27474f553d266deefd7c9dbad6d734f9006bb557567701bb7e6a7c9 +d = f7c6315f0081acd8f09c7a2c3ec1b7ece20180b0a6365a27dcd8f71b729558f9 +Qx = 250f7112d381c1751860045d9bcaf20dbeb25a001431f96ac6f19109362ffebb +Qy = 49fba9efe73546135a5a31ab3753e247034741ce839d3d94bd73936c4a17e4aa +k = 68c299be2c0c6d52d208d5d1a9e0ffa2af19b4833271404e5876e0aa93987866 +R = 7b195e92d2ba95911cda7570607e112d02a1c847ddaa33924734b51f5d81adab +S = 10d9f206755cef70ab5143ac43f3f8d38aea2644f31d52eaf3b472ee816e11e5 + +Msg = 4dcb7b62ba31b866fce7c1feedf0be1f67bf611dbc2e2e86f004422f67b3bc1839c6958eb1dc3ead137c3d7f88aa97244577a775c8021b1642a8647bba82871e3c15d0749ed343ea6cad38f123835d8ef66b0719273105e924e8685b65fd5dc430efbc35b05a6097f17ebc5943cdcd9abcba752b7f8f37027409bd6e11cd158f +d = f547735a9409386dbff719ce2dae03c50cb437d6b30cc7fa3ea20d9aec17e5a5 +Qx = 4ca87c5845fb04c2f76ae3273073b0523e356a445e4e95737260eba9e2d021db +Qy = 0f86475d07f82655320fdf2cd8db23b21905b1b1f2f9c48e2df87e24119c4880 +k = 91bd7d97f7ed3253cedefc144771bb8acbbda6eb24f9d752bbe1dd018e1384c7 +R = 008c1755d3df81e64e25270dbaa9396641556df7ffc7ac9add6739c382705397 +S = 77df443c729b039aded5b516b1077fecdd9986402d2c4b01734ba91e055e87fc + +Msg = efe55737771070d5ac79236b04e3fbaf4f2e9bed187d1930680fcf1aba769674bf426310f21245006f528779347d28b8aeacd2b1d5e3456dcbf188b2be8c07f19219e4067c1e7c9714784285d8bac79a76b56f2e2676ea93994f11eb573af1d03fc8ed1118eafc7f07a82f3263c33eb85e497e18f435d4076a774f42d276c323 +d = 26a1aa4b927a516b661986895aff58f40b78cc5d0c767eda7eaa3dbb835b5628 +Qx = 28afa3b0f81a0e95ad302f487a9b679fcdef8d3f40236ec4d4dbf4bb0cbba8b2 +Qy = bb4ac1be8405cbae8a553fbc28e29e2e689fabe7def26d653a1dafc023f3cecf +k = f98e1933c7fad4acbe94d95c1b013e1d6931fa8f67e6dbb677b564ef7c3e56ce +R = 15a9a5412d6a03edd71b84c121ce9a94cdd166e40da9ce4d79f1afff6a395a53 +S = 86bbc2b6c63bad706ec0b093578e3f064736ec69c0dba59b9e3e7f73762a4dc3 + +Msg = ea95859cc13cccb37198d919803be89c2ee10befdcaf5d5afa09dcc529d333ae1e4ffd3bd8ba8642203badd7a80a3f77eeee9402eed365d53f05c1a995c536f8236ba6b6ff8897393506660cc8ea82b2163aa6a1855251c87d935e23857fe35b889427b449de7274d7754bdeace960b4303c5dd5f745a5cfd580293d6548c832 +d = 6a5ca39aae2d45aa331f18a8598a3f2db32781f7c92efd4f64ee3bbe0c4c4e49 +Qx = c62cc4a39ace01006ad48cf49a3e71466955bbeeca5d318d672695df926b3aa4 +Qy = c85ccf517bf2ebd9ad6a9e99254def0d74d1d2fd611e328b4a3988d4f045fe6f +k = dac00c462bc85bf39c31b5e01df33e2ec1569e6efcb334bf18f0951992ac6160 +R = 6e7ff8ec7a5c48e0877224a9fa8481283de45fcbee23b4c252b0c622442c26ad +S = 3dfac320b9c873318117da6bd856000a392b815659e5aa2a6a1852ccb2501df3 diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/SigVer.rsp b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/SigVer.rsp new file mode 100644 index 000000000..455e8bceb --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/ECDSA/SigVer.rsp @@ -0,0 +1,320 @@ +[P-256,SHA-256] + +Msg = e4796db5f785f207aa30d311693b3702821dff1168fd2e04c0836825aefd850d9aa60326d88cde1a23c7745351392ca2288d632c264f197d05cd424a30336c19fd09bb229654f0222fcb881a4b35c290a093ac159ce13409111ff0358411133c24f5b8e2090d6db6558afc36f06ca1f6ef779785adba68db27a409859fc4c4a0 +Qx = 87f8f2b218f49845f6f10eec3877136269f5c1a54736dbdf69f89940cad41555 +Qy = e15f369036f49842fac7a86c8a2b0557609776814448b8f5e84aa9f4395205e9 +R = d19ff48b324915576416097d2544f7cbdf8768b1454ad20e0baac50e211f23b0 +S = a3e81e59311cdfff2d4784949f7a2cb50ba6c3a91fa54710568e61aca3e847c6 +Result = F (3 - S changed) + +Msg = 069a6e6b93dfee6df6ef6997cd80dd2182c36653cef10c655d524585655462d683877f95ecc6d6c81623d8fac4e900ed0019964094e7de91f1481989ae1873004565789cbf5dc56c62aedc63f62f3b894c9c6f7788c8ecaadc9bd0e81ad91b2b3569ea12260e93924fdddd3972af5273198f5efda0746219475017557616170e +Qx = 5cf02a00d205bdfee2016f7421807fc38ae69e6b7ccd064ee689fc1a94a9f7d2 +Qy = ec530ce3cc5c9d1af463f264d685afe2b4db4b5828d7e61b748930f3ce622a85 +R = dc23d130c6117fb5751201455e99f36f59aba1a6a21cf2d0e7481a97451d6693 +S = d6ce7708c18dbf35d4f8aa7240922dc6823f2e7058cbc1484fcad1599db5018c +Result = F (2 - R changed) + +Msg = df04a346cf4d0e331a6db78cca2d456d31b0a000aa51441defdb97bbeb20b94d8d746429a393ba88840d661615e07def615a342abedfa4ce912e562af714959896858af817317a840dcff85a057bb91a3c2bf90105500362754a6dd321cdd86128cfc5f04667b57aa78c112411e42da304f1012d48cd6a7052d7de44ebcc01de +Qx = 2ddfd145767883ffbb0ac003ab4a44346d08fa2570b3120dcce94562422244cb +Qy = 5f70c7d11ac2b7a435ccfbbae02c3df1ea6b532cc0e9db74f93fffca7c6f9a64 +R = 9913111cff6f20c5bf453a99cd2c2019a4e749a49724a08774d14e4c113edda8 +S = 9467cd4cd21ecb56b0cab0a9a453b43386845459127a952421f5c6382866c5cc +Result = F (4 - Q changed) + +Msg = e1130af6a38ccb412a9c8d13e15dbfc9e69a16385af3c3f1e5da954fd5e7c45fd75e2b8c36699228e92840c0562fbf3772f07e17f1add56588dd45f7450e1217ad239922dd9c32695dc71ff2424ca0dec1321aa47064a044b7fe3c2b97d03ce470a592304c5ef21eed9f93da56bb232d1eeb0035f9bf0dfafdcc4606272b20a3 +Qx = e424dc61d4bb3cb7ef4344a7f8957a0c5134e16f7a67c074f82e6e12f49abf3c +Qy = 970eed7aa2bc48651545949de1dddaf0127e5965ac85d1243d6f60e7dfaee927 +R = bf96b99aa49c705c910be33142017c642ff540c76349b9dab72f981fd9347f4f +S = 17c55095819089c2e03b9cd415abdf12444e323075d98f31920b9e0f57ec871c +Result = P (0 ) + +Msg = 73c5f6a67456ae48209b5f85d1e7de7758bf235300c6ae2bdceb1dcb27a7730fb68c950b7fcada0ecc4661d3578230f225a875e69aaa17f1e71c6be5c831f22663bac63d0c7a9635edb0043ff8c6f26470f02a7bc56556f1437f06dfa27b487a6c4290d8bad38d4879b334e341ba092dde4e4ae694a9c09302e2dbf443581c08 +Qx = e0fc6a6f50e1c57475673ee54e3a57f9a49f3328e743bf52f335e3eeaa3d2864 +Qy = 7f59d689c91e463607d9194d99faf316e25432870816dde63f5d4b373f12f22a +R = 1d75830cd36f4c9aa181b2c4221e87f176b7f05b7c87824e82e396c88315c407 +S = cb2acb01dac96efc53a32d4a0d85d0c2e48955214783ecf50a4f0414a319c05a +Result = P (0 ) + +Msg = 666036d9b4a2426ed6585a4e0fd931a8761451d29ab04bd7dc6d0c5b9e38e6c2b263ff6cb837bd04399de3d757c6c7005f6d7a987063cf6d7e8cb38a4bf0d74a282572bd01d0f41e3fd066e3021575f0fa04f27b700d5b7ddddf50965993c3f9c7118ed78888da7cb221849b3260592b8e632d7c51e935a0ceae15207bedd548 +Qx = a849bef575cac3c6920fbce675c3b787136209f855de19ffe2e8d29b31a5ad86 +Qy = bf5fe4f7858f9b805bd8dcc05ad5e7fb889de2f822f3d8b41694e6c55c16b471 +R = 25acc3aa9d9e84c7abf08f73fa4195acc506491d6fc37cb9074528a7db87b9d6 +S = 9b21d5b5259ed3f2ef07dfec6cc90d3a37855d1ce122a85ba6a333f307d31537 +Result = F (2 - R changed) + +Msg = 7e80436bce57339ce8da1b5660149a20240b146d108deef3ec5da4ae256f8f894edcbbc57b34ce37089c0daa17f0c46cd82b5a1599314fd79d2fd2f446bd5a25b8e32fcf05b76d644573a6df4ad1dfea707b479d97237a346f1ec632ea5660efb57e8717a8628d7f82af50a4e84b11f21bdff6839196a880ae20b2a0918d58cd +Qx = 3dfb6f40f2471b29b77fdccba72d37c21bba019efa40c1c8f91ec405d7dcc5df +Qy = f22f953f1e395a52ead7f3ae3fc47451b438117b1e04d613bc8555b7d6e6d1bb +R = 548886278e5ec26bed811dbb72db1e154b6f17be70deb1b210107decb1ec2a5a +S = e93bfebd2f14f3d827ca32b464be6e69187f5edbd52def4f96599c37d58eee75 +Result = F (4 - Q changed) + +Msg = 1669bfb657fdc62c3ddd63269787fc1c969f1850fb04c933dda063ef74a56ce13e3a649700820f0061efabf849a85d474326c8a541d99830eea8131eaea584f22d88c353965dabcdc4bf6b55949fd529507dfb803ab6b480cd73ca0ba00ca19c438849e2cea262a1c57d8f81cd257fb58e19dec7904da97d8386e87b84948169 +Qx = 69b7667056e1e11d6caf6e45643f8b21e7a4bebda463c7fdbc13bc98efbd0214 +Qy = d3f9b12eb46c7c6fda0da3fc85bc1fd831557f9abc902a3be3cb3e8be7d1aa2f +R = 288f7a1cd391842cce21f00e6f15471c04dc182fe4b14d92dc18910879799790 +S = 247b3c4e89a3bcadfea73c7bfd361def43715fa382b8c3edf4ae15d6e55e9979 +Result = F (1 - Message changed) + +Msg = 3fe60dd9ad6caccf5a6f583b3ae65953563446c4510b70da115ffaa0ba04c076115c7043ab8733403cd69c7d14c212c655c07b43a7c71b9a4cffe22c2684788ec6870dc2013f269172c822256f9e7cc674791bf2d8486c0f5684283e1649576efc982ede17c7b74b214754d70402fb4bb45ad086cf2cf76b3d63f7fce39ac970 +Qx = bf02cbcf6d8cc26e91766d8af0b164fc5968535e84c158eb3bc4e2d79c3cc682 +Qy = 069ba6cb06b49d60812066afa16ecf7b51352f2c03bd93ec220822b1f3dfba03 +R = f5acb06c59c2b4927fb852faa07faf4b1852bbb5d06840935e849c4d293d1bad +S = 049dab79c89cc02f1484c437f523e080a75f134917fda752f2d5ca397addfe5d +Result = F (3 - S changed) + +Msg = 983a71b9994d95e876d84d28946a041f8f0a3f544cfcc055496580f1dfd4e312a2ad418fe69dbc61db230cc0c0ed97e360abab7d6ff4b81ee970a7e97466acfd9644f828ffec538abc383d0e92326d1c88c55e1f46a668a039beaa1be631a89129938c00a81a3ae46d4aecbf9707f764dbaccea3ef7665e4c4307fa0b0a3075c +Qx = 224a4d65b958f6d6afb2904863efd2a734b31798884801fcab5a590f4d6da9de +Qy = 178d51fddada62806f097aa615d33b8f2404e6b1479f5fd4859d595734d6d2b9 +R = 87b93ee2fecfda54deb8dff8e426f3c72c8864991f8ec2b3205bb3b416de93d2 +S = 4044a24df85be0cc76f21a4430b75b8e77b932a87f51e4eccbc45c263ebf8f66 +Result = F (2 - R changed) + +Msg = 4a8c071ac4fd0d52faa407b0fe5dab759f7394a5832127f2a3498f34aac287339e043b4ffa79528faf199dc917f7b066ad65505dab0e11e6948515052ce20cfdb892ffb8aa9bf3f1aa5be30a5bbe85823bddf70b39fd7ebd4a93a2f75472c1d4f606247a9821f1a8c45a6cb80545de2e0c6c0174e2392088c754e9c8443eb5af +Qx = 43691c7795a57ead8c5c68536fe934538d46f12889680a9cb6d055a066228369 +Qy = f8790110b3c3b281aa1eae037d4f1234aff587d903d93ba3af225c27ddc9ccac +R = 8acd62e8c262fa50dd9840480969f4ef70f218ebf8ef9584f199031132c6b1ce +S = cfca7ed3d4347fb2a29e526b43c348ae1ce6c60d44f3191b6d8ea3a2d9c92154 +Result = F (3 - S changed) + +Msg = 0a3a12c3084c865daf1d302c78215d39bfe0b8bf28272b3c0b74beb4b7409db0718239de700785581514321c6440a4bbaea4c76fa47401e151e68cb6c29017f0bce4631290af5ea5e2bf3ed742ae110b04ade83a5dbd7358f29a85938e23d87ac8233072b79c94670ff0959f9c7f4517862ff829452096c78f5f2e9a7e4e9216 +Qx = 9157dbfcf8cf385f5bb1568ad5c6e2a8652ba6dfc63bc1753edf5268cb7eb596 +Qy = 972570f4313d47fc96f7c02d5594d77d46f91e949808825b3d31f029e8296405 +R = dfaea6f297fa320b707866125c2a7d5d515b51a503bee817de9faa343cc48eeb +S = 8f780ad713f9c3e5a4f7fa4c519833dfefc6a7432389b1e4af463961f09764f2 +Result = F (1 - Message changed) + +Msg = 785d07a3c54f63dca11f5d1a5f496ee2c2f9288e55007e666c78b007d95cc28581dce51f490b30fa73dc9e2d45d075d7e3a95fb8a9e1465ad191904124160b7c60fa720ef4ef1c5d2998f40570ae2a870ef3e894c2bc617d8a1dc85c3c55774928c38789b4e661349d3f84d2441a3b856a76949b9f1f80bc161648a1cad5588e +Qx = 072b10c081a4c1713a294f248aef850e297991aca47fa96a7470abe3b8acfdda +Qy = 9581145cca04a0fb94cedce752c8f0370861916d2a94e7c647c5373ce6a4c8f5 +R = 09f5483eccec80f9d104815a1be9cc1a8e5b12b6eb482a65c6907b7480cf4f19 +S = a4f90e560c5e4eb8696cb276e5165b6a9d486345dedfb094a76e8442d026378d +Result = F (4 - Q changed) + +Msg = 76f987ec5448dd72219bd30bf6b66b0775c80b394851a43ff1f537f140a6e7229ef8cd72ad58b1d2d20298539d6347dd5598812bc65323aceaf05228f738b5ad3e8d9fe4100fd767c2f098c77cb99c2992843ba3eed91d32444f3b6db6cd212dd4e5609548f4bb62812a920f6e2bf1581be1ebeebdd06ec4e971862cc42055ca +Qx = 09308ea5bfad6e5adf408634b3d5ce9240d35442f7fe116452aaec0d25be8c24 +Qy = f40c93e023ef494b1c3079b2d10ef67f3170740495ce2cc57f8ee4b0618b8ee5 +R = 5cc8aa7c35743ec0c23dde88dabd5e4fcd0192d2116f6926fef788cddb754e73 +S = 9c9c045ebaa1b828c32f82ace0d18daebf5e156eb7cbfdc1eff4399a8a900ae7 +Result = F (1 - Message changed) + +Msg = 60cd64b2cd2be6c33859b94875120361a24085f3765cb8b2bf11e026fa9d8855dbe435acf7882e84f3c7857f96e2baab4d9afe4588e4a82e17a78827bfdb5ddbd1c211fbc2e6d884cddd7cb9d90d5bf4a7311b83f352508033812c776a0e00c003c7e0d628e50736c7512df0acfa9f2320bd102229f46495ae6d0857cc452a84 +Qx = 2d98ea01f754d34bbc3003df5050200abf445ec728556d7ed7d5c54c55552b6d +Qy = 9b52672742d637a32add056dfd6d8792f2a33c2e69dafabea09b960bc61e230a +R = 06108e525f845d0155bf60193222b3219c98e3d49424c2fb2a0987f825c17959 +S = 62b5cdd591e5b507e560167ba8f6f7cda74673eb315680cb89ccbc4eec477dce +Result = P (0 ) + +[P-256,SHA-384] + +Msg = fe9838f007bdc6afcd626974fcc6833f06b6fd970427b962d75c2aeadbef386bec8d018106197fe2547d2af02e7a7949965d5fbc4c5db909a95b9858426a33c080b0b25dae8b56c5cbc6c4eec3dbd81635c79457eaef4fab39e662a1d05b2481eda8c1074ae2d1704c8a3f769686a1f965ef3c87602efc288c7f9ff8cd5e22a4 +Qx = 40ded13dbbe72c629c38f07f7f95cf75a50e2a524897604c84fafde5e4cafb9f +Qy = a17202e92d7d6a37c438779349fd79567d75a40ef22b7d09ca21ccf4aec9a66c +R = be34730c31730b4e412e6c52c23edbd36583ace2102b39afa11d24b6848cb77f +S = 03655202d5fd8c9e3ae971b6f080640c406112fd95e7015874e9b6ee77752b10 +Result = F (3 - S changed) + +Msg = b69043b9b331da392b5dd689142dfc72324265da08f14abcedf03ad8263e6bdccbc75098a2700bbba1979de84c8f12891aa0d000f8a1abad7dde4981533f21da59cc80d9cf94517f3b61d1a7d9eecb2fcf052e1fc9e7188c031b86305e4a436a37948071f046e306befb8511dc03a53dc8769a90a86e9b4fdbf05dcdfa35ab73 +Qx = 1f80e19ffeb51dd74f1c397ac3dfd3415ab16ebd0847ed119e6c3b15a1a884b8 +Qy = 9b395787371dbfb55d1347d7bed1c261d2908121fb78de1d1bf2d00666a62aed +R = 249ca2c3eb6e04ac57334c2f75dc5e658bbb485bf187100774f5099dd13ef707 +S = 97363a05202b602d13166346694e38135bbce025be94950e9233f4c8013bf5bf +Result = F (4 - Q changed) + +Msg = d2fcaaede8b879c064b0aa46e68efc278a469b80a7f7e1939ec2ebc96c76206f23395967279c181fea157ebb79dfadc68e31345f07f13305c80de0d85e4330d3a45f957c5c2526b945838ce5a9c2844b6b2a665c0f70b748b1213a8cf20ba5dbdf8cab231f433da522104a5cd027d3e36bb373c4ed404d9af0cbec6f85ec2193 +Qx = ce4dcfa7384c83443ace0fb82c4ac1adfa100a9b2c7bf09f093f8b6d084e50c2 +Qy = d98ae7b91abee648d0bfde192703741ac21daad7262af418b50e406d825eb0d6 +R = 597e1e04d93a6b444ccc447a48651f17657ff43fb65fe94461d2bf816b01af40 +S = 359fe3817963548e676d6da34c2d0866aa42499237b682002889eaf8893814d2 +Result = P (0 ) + +Msg = 06cd86481865181cef7acdc3202824970ec2d97662b519c4b588dc9e51617c068282b1a11a15bf7efc4858a2f37a3d74b05fb5790eb68338c8009b4da9b4270514d387a2e016a99ee109841e884a7909504ef31a5454e214663f830f23a5a76f91402fca5f5d61699fa874597bdbfb1ecff8f07ddbd07ef61e97d0d5262ef314 +Qx = 1b677f535ac69d1acd4592c0d12fac13c9131e5a6f8ab4f9d0afdcb3a3f327e0 +Qy = 5dca2c73ec89e58ef8267cba2bb5eb0f551f412f9dc087c1a6944f0ce475277a +R = df0b0cd76d2555d4c38b3d70bfdf964884d0beeb9f74385f0893e87d20c9642d +S = 128299aabf1f5496112be1fe04365f5f8215b08a040abdfeca4626f4d15c005b +Result = F (2 - R changed) + +Msg = 59ad297397f3503604a4a2d098a4f00a368ad95c6101b3d38f9d49d908776c5a6c8654b006adb7939ffb6c30afa325b54185d82c3cc0d836850dce54d3408b257c3a961d11fafe2b74ba8bddfc1102fa656d1028baf94c38340c26a11e992aab71ce3732271b767358671b25225926f3a4b9ec5f82c059f0c7d1446d5d9e4251 +Qx = 7ffc2853f3e17887dda13b0eb43f183ce50a5ac0f8bba75fb1921172484f9b94 +Qy = 4cc523d14192f80bd5b27d30b3b41e064da87bfbae15572dd382b9a176c123a2 +R = 3156176d52eb26f9391229de4251993a41b8172f78970bb70e32a245be4bb653 +S = 62827a29e12d2f29b00fb2d02dd5f2d5412e17a4455f4431a5c996881fdfc0ee +Result = F (1 - Message changed) + +Msg = 8215daca87e689a20392646a6511bb7b5a82d2d995ca9de89bd9d9c0b11464b7cb1e4e9a31e3e01ad8c2cd613d5a2cb44a2a8df6899fce4c282dea1e41af0df6c36be1f320036567f8d0d32aaa79c95fe53b16668f7e1a9e5d7d039ea260fd03711b7d1c177355fc52244d49ca5b238556a5541349014683cb7da326f443b752 +Qx = 5569f76dc94243cde819fb6fc85144ec67e2b5d49539f62e24d406d1b68f0058 +Qy = 1208c38dbe25870deab53c486f793a1e250c9d1b8e7c147ea68b71196c440730 +R = 706f2ba4025e7c06b66d6369a3f93b2fec46c51eceff42a158f7431919506cfb +S = b4e75ac34a96393237fc4337789e37168d79382705b248051c9c72bcbac5f516 +Result = F (2 - R changed) + +Msg = a996b1fb800f692517a2eb80e837233193dd3e82484d3f49bd19ee0db8f7b440876b07e384c90aa8b9f7b6603ca0b5a4e06c1da0edb974a2fb9b6e7c720ddf3e5c0e314c2d189402903c08c0836776c361a284db887ebcc33e615de9720b01dadade585eef687b3346468bdafb490e56d657a9e7d44d92014069005a36c1cf63 +Qx = e4b470c65b2c04db060d7105ec6911589863d3c7f7ce48726ba3f369ea3467e8 +Qy = 44c38d3ae098de05f5915a5868c17fee296a6e150beb1f000df5f3bec8fc4532 +R = c9c347ee5717e4c759ddaf09e86f4e1db2c8658593177cfda4e6514b5e3ecb87 +S = baae01e9e44a7b04d69c8eaaed77c9e3a36ce8962f95cc50a0db146b4e49eb40 +Result = F (4 - Q changed) + +Msg = 1a6e49a377a08e992353d6acc557b687b1b69a41d83d43a75fadb97b8c928cfebadebaaf99ea7fb13148807f56ea17384a7912e578e62b1b009fefb2aafca5ac85539433619b286f10643a56f8dfa47ba4d01c02510deaec18029ea6b9682022b139dcb70814164c4c90ec717ad9d925485398531cdd5992a2524498b337f97d +Qx = 96050c5fa2ddd1b2e5451d89ee74a0b7b54347364ddc0231715a6ef1146fe8dc +Qy = e0888a9e78aeea87f6e1e9002b2651169f36c4ee53013cfc8c9912b7fd504858 +R = 2353d6cd3c21b8ea7dbc1cd940519812dbe365a3b15cd6aebba9d11cf269867a +S = 85f560273cd9e82e6801e4cb1c8cd29cdac34a020da211d77453756b604b8fa7 +Result = P (0 ) + +Msg = 3e14f737c913931bc82764ebc440b12e3ce1ffe0f858c7b8f1cbd30fbbb1644fa59be1d2cca5f64a6d7dc5ed5c4420f39227516ae8eb3019ef86274d0e4d06cde7bf5e5c413243dfc421d9f141762109810e6b6a451eeb4bd8d4be1ff111426d7e44d0a916b4fe3db3594d8dd01ae90feecf8f1e230b574180cd0b8d43a3d33b +Qx = 0c07bb79f44012299fbfd5a0f31397aaf7d757f8a38437407c1b09271c6551a0 +Qy = 84fe7846d5d403dc92c0091fbd39f3c5cbca3f94c10b5cae44e2e96562131b13 +R = 49e9425f82d0a8c503009cead24e12adc9d48a08594094ca4f6d13ad1e3c571d +S = 1f1b70aaa30a8ff639aa0935944e9b88326a213ab8fce5194c1a9dec070eb433 +Result = F (1 - Message changed) + +Msg = 4000106127a72746db77957cbc6bfd84ae3d1d63b8190087637e93689841331e2adc1930d6df4302935f4520bbee513505cdcfca99ebc6f83af7b23b0f2e7f7defba614022ceeae9c6886e8b13f7ea253a307ac301f3536720cbe3de82ba3e98310361b61801a8304ffc91ff774948e33176ddcddf1b76437b3f02c910578d46 +Qx = 71db1de1a1f38f356c91feaff5cfe395d1a5b9d23cf6aa19f38ae0bcc90a486d +Qy = ecdd6ffb174a50f1cc792985c2f9608c399c98b8a64a69d2b5b7cdd9241f67e2 +R = b0443b33a6f249470d2f943675009d21b9ccbead1525ae57815df86bb20470bf +S = 316dbee27d998e09128539c269e297ac8f34b9ef8249a0619168c3495c5c1198 +Result = F (3 - S changed) + +Msg = b42e547d0e7ddd5e1069bb2d158a5b4d5d9c4310942a1bfd09490311a6e684bd3c29b0dcef86a9788b4b26fed7863f3d5e5439796b5b5ffe7aa2545d0f518ad020689ca21230f3a59e7f8cca465fe21df511e78d215fa805f5f0f88938e9d198515e6b9c819930755c6c6aea5114cd2904607243051c09dd7a147756cbc204a5 +Qx = 8219b225aa15472262c648cac8de9aad4173d17a231ba24352a5a1c4eea70fad +Qy = 0fee2b08ad39fbf0db0016ef2896ca99adc07efc8c415f640f3720498be26037 +R = 134fb689101aaad3954de2819d9fbd12072fe2bc36f496bbf0d13fa72114ab96 +S = e65c232bd915b59e087e7fd5ec90bf636cfa80526345c79a0adfd75003045d6f +Result = F (1 - Message changed) + +Msg = aa563223a7d5201febdf13cab80a03dce6077c26e751bc98a941196a28848abc495e0324013c9a2094fb15dc65d100c3e8a136a52c1780b395f42588900b641b6d4361432e2173195a2f60189f3fcc85f4e9659cae52576f20d1852d43c2b400deea3144c8e870e1906d677425d8c85037c7a42a9d249b2da4b516e04476bd45 +Qx = c934195de33b60cf00461fc3c45dad068e9f5f7af5c7fa78591e95aeb04e2617 +Qy = b588dd5f9965fdaa523b475c2812c251bc6973e2df21d9beaace976abf5728cb +R = 71f302440eb4ed2a939b69e33e905e6fdc545c743458d38f7e1a1d456e35f389 +S = 54eaa0eb9cd7503b19a9658f0a04955d9f0ab20ebc8a0877e33c89ee88ad068f +Result = F (4 - Q changed) + +Msg = 98e4babf890f52e5a04bd2a7d79bf0ae9a71967847347d87f29fb3997454c73c7979d15b5c4f4205ec3de7835d1885fb7abcf8dcde94baf08b1d691a0c74845317286540e8c9d378fefaa4762c302492f51023c0d7adbb1cc90b7b0335f11203664e71fea621bc2f59d2dbd0ee76d6597ec75510de59b6d25fa6750a71c59435 +Qx = 9e1adcd48e2e3f0e4c213501808228e587c40558f52bb54ddbb6102d4048ea92 +Qy = 34eff98704790938e7e0bdf87ae39807a6b77dfdc9ecdfe6dd0f241abae1aeb2 +R = ce4f0d7480522c8dd1b02dd0eb382f22406642f038c1ede9411883d72b3e7ed0 +S = 8546e1ee3b77f9927cdaccbc2f1cf19d6b5576b0f738bb1b86a0c66b39ca56fb +Result = F (3 - S changed) + +Msg = bb6b03ad60d6ddbf0c4d17246206e61c886f916d252bb4608149da49cef9033484080e861f91bb2400baa0cd6c5d90c2f275e2fabc12d83847f7a1c3ff0eb40c8a3dd83d07d194ba3797d27238415a2f358d7292a1991af687bcb977486980f9138b3140321485638ac7bd22ecda00ffe5009b83b90397eff24ecf22c5495d67 +Qx = 93edbecb0b019c2cc03060f54cb4904b920fdb34eb83badd752be9443036ae13 +Qy = b494e9295e080a9080fe7e73249b3a5904aa84e1c028121eecd3e2cf1a55f598 +R = eec2986d47b71995892b0915d3d5becc4dcb2ab55206d772e0189541b2184ddf +S = 8a6c1edeb6452627ad27c8319599c54ac44cdd831ea66f13f49d90affe6ad45b +Result = P (0 ) + +Msg = 33a5d489f671f396c776bc1acf193bc9a74306f4692dd8e05bcdfe28fdefbd5c09b831c204a1dec81d8e3541f324f7b474d692789013bb1eca066f82fbf3f1cf3ba64e9d8963e9ecc180b9251919e2e8a1ab05847a0d76ff67a47c00e170e38e5b319a56f59cc51038f90961ea27a9a7eb292a0a1aa2f4972568669246907a35 +Qx = 3205bae876f9bd50b0713959e72457165e826cbbe3895d67320909daa48b0ebc +Qy = d1592562273e5e0f57bbfb92cedd9af7f133255684ee050af9b6f02019bbcafa +R = 0124f3f1c61ec458561a4eaa6c155bd29e59703d14556324924683db3a4cf43b +S = 688a5c5fc0c7ba92210c50cce5b512a468a880e05acc21ca56571d89f45f603a +Result = F (2 - R changed) + +[P-256,SHA-512] + +Msg = 273b063224ab48a1bf6c7efc93429d1f89de48fc4a4fa3ffe7a49ebba1a58ff5d208a9e4bff27b418252526243ba042d1605b6df3c2ec916ceef027853a41137f7bfb6fc63844de95f58e82b9ad2565f1367d2c69bd29100f6db21a8ab7ab58affd1661add0322bd915721378df9fa233ef0b7e0a0a85be31689e21891ec8977 +Qx = 484e31e69ef70bb8527853c22c6b6b4cd2a51311dde66c7b63f097dbb6ab27bf +Qy = e1ff8177f4061d4fbbacbbc70519f0fc8c8b6053d72af0fe4f048d615004f74e +R = 91a303d8fe3ab4176070f6406267f6b79bfe5eb5f62ae6aeb374d90667858518 +S = e152119cefa26826ea07ec40a428869132d70812c5578c5a260e48d6800e046a +Result = F (1 - Message changed) + +Msg = d64ea1a768b0de29ab018ae93baa645d078c70a2f7aa4acd4ae7526538ebd5f697a11927cfd0ddc9187c095f14ad30544cb63ede9353af8b23c18ce22843881fe2d7bde748fc69085921677858d87d2dc3e244f6c7e2c2b2bd791f450dfdd4ff0ddd35ab2ada4f1b90ab16ef2bf63b3fbe88ce8a5d5bb85430740d3744849c13 +Qx = 8b75fc0129c9a78f8395c63ae9694b05cd6950665cf5da7d66118de451422624 +Qy = b394171981d4896d6e1b4ef2336d9befe7d27e1eb87f1c14b8ddda622af379dc +R = 17e298e67ad2af76f6892fdcead00a88256573868f79dc74431b55103058f0b0 +S = 881328cd91e43d30133f6e471e0b9b04353b17893fb7614fd7333d812a3df6b4 +Result = F (4 - Q changed) + +Msg = 1db85445c9d8d1478a97dd9d6ffbf11ebcd2114d2ed4e8b6811171d947e7d4daedea35af6177debe2ef6d93f94ff9d770b45d458e91deb4eef59856425d7b00291aff9b6c9fa02375ec1a06f71f7548721790023301cf6ac7fee1d451228106ef4472681e652c8cd59b15d6d16f1e13440d888e265817cb4a654f7246e0980df +Qx = 76e51086e078b2b116fd1e9c6fa3d53f675ae40252fb9f0cc62817bd9ce8831d +Qy = ca7e609a0b1d14b7c9249b53da0b2050450e2a25cb6c8f81c5311974a7efb576 +R = 23b653faaa7d4552388771931803ce939dd5ee62d3fa72b019be1b2272c85592 +S = a03c6f5c54a10861d6b8922821708e9306fd6d5d10d566845a106539cbf4fadd +Result = F (4 - Q changed) + +Msg = 918d9f420e927b3e0a55d276b8b40d8a2c5df748727ff72a438c7e6593f542274050dce727980d3ef90c8aa5c13d53f1e8d631ebb650dee11b94902bbd7c92b8186af9039c56c43f3110697792c8cd1614166f06d09cdb58dab168cc3680a8473b1a623bf85dba855eace579d9410d2c4ca5ede6dc1e3db81e233c34ae922f49 +Qx = bc7c8e09bd093468f706740a4130c544374fdc924a535ef02e9d3be6c6d3bbfa +Qy = af3f813ae6646f5b6dbfb0f261fd42537705c800bb1647386343428a9f2e10fc +R = 6bd7ce95af25abfbf14aef4b17392f1da877ab562eca38d785fe39682e9c9324 +S = 6688bea20c87bab34d420642da9bdd4c69456bdec50835887367bb4fb7cd8650 +Result = F (2 - R changed) + +Msg = 6e2932153301a4eef680e6428929adae988c108d668a31ff55d0489947d75ff81a46bf89e84d6401f023be6e87688fbcd784d785ca846735524acb52d00452c84040a479e7cc330936441d93bbe722a9432a6e1db112b5c9403b10272cb1347fd619d463f7a9d223ad76fde06d8a6883500fb843235abff98e241bdfb5538c3e +Qx = 9cb0cf69303dafc761d4e4687b4ecf039e6d34ab964af80810d8d558a4a8d6f7 +Qy = 2d51233a1788920a86ee08a1962c79efa317fb7879e297dad2146db995fa1c78 +R = 4b9f91e4285287261a1d1c923cf619cd52c175cfe7f1be60a5258c610348ba3d +S = 28c45f901d71c41b298638ec0d6a85d7fcb0c33bbfec5a9c810846b639289a84 +Result = P (0 ) + +Msg = 2f48ec387f181035b350772e27f478ae6ec7487923692fae217e0f8636acd062a6ac39f7435f27a0ebcfd8187a91ef00fb68d106b8da4a1dedc5a40a4fae709e92b00fcc218de76417d75185e59dff76ec1543fb429d87c2ca8134ff5ae9b45456cad93fc67223c68293231395287dc0b756355660721a1f5df83bf5bcb8456e +Qx = e31096c2d512fbf84f81e9bdb16f33121702897605b43a3db546f8fb695b5f6f +Qy = 6fbec6a04a8c59d61c900a851d8bf8522187d3ec2637b10fa8f377689e086bba +R = 1b244c21c08c0c0a10477fb7a21382d405b95c755088292859ca0e71bab68361 +S = 852f4cbfd346e90f404e1dd5c4b2c1debca3ea1abefe8400685d703aea6c5c7f +Result = F (4 - Q changed) + +Msg = fd2e5de421ee46c9fe6290a33f95b394bd5b7762f23178f7f6834f1f056fa9a8831446403c098ff4dd764173f974be4c89d376119613a4a1890f6fc2ddff862bda292dd49f5410d9b1cfe1d97ef4582b6152494372fc083885f540c01f86d780e6f3e75a954af2190fdae9604e3f8ab32ab0292dc0d790bd2627e37b4b4885df +Qx = 633c2ee5630b62c9ce839efd4d485a6d35e8b9430d264ffe501d28dbace79123 +Qy = 4b668a1a6d1a25b089f75c2bd8d8c6a9a14fe7b729f45a82565da2e866e2c490 +R = bf2111c93ec055a7eda90c106fce494fd866045634fd2aa28d6e018f9106994e +S = 86b0341208a0aa55edecfd272f49cb34408ce54b7febc1d0a1c2ce77ab6988f8 +Result = F (3 - S changed) + +Msg = 4bc2d9a898395b12701635f1048fbfd263ec115e4150532b034d59e625238f4ed32619744c612e35ac5a23bee8d5f5651641a492217d305e5051321c273647f14bc7c4afab518554e01c82d6fc1694c8bdbeb326bb607bcaf5436303bc09f64c02c6ec50de409a484f5237f7d34e2651ada7ec429ca3b99dd87c6015d2f4b342 +Qx = f78dce40d1cb8c4af2749bf22c6f8a9a470b1e41112796215dd017e57df1b38a +Qy = 61b29b0bc03dff7fa00613b4de1e2317cfbf2badd50dee3376c032a887c5b865 +R = 4a96169a5dea36a2594011537ee0dc19e8f9f74e82c07434079447155a830152 +S = a204eaa4e97d7553a1521d9f6baadc0b6d6183ba0f385d8593d6ca83607c4d82 +Result = F (2 - R changed) + +Msg = d3356a683417508a9b913643e6ceac1281ef583f428968f9d2b6540a189d7041c477da8d207d0529720f70dab6b0da8c2168837476c1c6b63b517ed3cad48ae331cf716ecf47a0f7d00b57073ac6a4749716d49d80c4d46261d38e2e34b4f43e0f20b280842f6e3ea34fefdddfb9fa2a040ffe915e8784cfdb29b3364a34ca62 +Qx = 3fcc3b3e1b103fe435ac214c756bdaad309389e1c803e6d84bbbc27039fcf900 +Qy = 7f09edd1ec87a6d36dc81c1528d52a62776e666c274415a9f441d6a8df6b9237 +R = 1cac13f277354456ae67ab09b09e07eb1af2a2bf45108da70f5c8c6a4cbcd538 +S = 5d83752e540525602ba7e6fee4d4263f3eda59e67df20aac79ca67e8899fed0d +Result = F (3 - S changed) + +Msg = d7f5da9f4cf9299b7f86c52b88364ce28fe9ada55dd551a1018790f9e1205e2405ac62429d65093f74ec35a16d9f195c993cd4eb8dc0aa0dabb70a503321d8a9649160d6b3d0a0854bb68c4c39693f592ef5dd478aa2432d0865d87d48b3aea9c7d7d114165c9200e4e8d7bd02a7895ec4418e6f2fed6b244bf66209039e98a9 +Qx = 5ec702d43a67ada86efbfc136cf16d96078906954a3f1f9e440674cd907e4676 +Qy = 05a62044fed8470dd4fca38d89d583ce36d50d28b66ab0b51922b21da92c56d9 +R = 75f3037298f1457dba55743999976a1c2636b2b8ab2ed3df4736a6d2934acc83 +S = 19d43ad168dda1bb8ac423f8f08876515234b3d841e57faef1b5ab27359b27ef +Result = F (1 - Message changed) + +Msg = 68f4b444e1cc2025e8ff55e8046ead735e6e317082edf7ce65e83573501cb92c408c1c1c6c4fcca6b96ad34224f17b20be471cc9f4f97f0a5b7bfae9558bdb2ecb6e452bb743603724273d9e8d2ca22afdda35c8a371b28153d772303e4a25dc4f28e9a6dc9635331450f5af290dfa3431c3c08b91d5c97284361c03ec78f1bc +Qx = f63afe99e1b5fc652782f86b59926af22e6072be93390fe41f541204f9c935d1 +Qy = f6e19ce5935e336183c21becf66596b8f559d2d02ee282aa87a7d6f936f7260c +R = cef4831e4515c77ca062282614b54a11b7dc4057e6997685c2fbfa95b392bf72 +S = f20dc01bf38e1344ba675a22239d9893b3a3e33d9a403329a3d21650e9125b75 +Result = P (0 ) + +Msg = e75be05be0aaf70719b488b89aaae9008707ca528994461db7130c4368575a024bf0981c305d61265e8b97599ec35c03badd1256b80d6bf70547ad6089b983e3bcc3481828f3259e43e655e177fc423fd7e066bd3ed68d81df84f773c0f9e5f8bf4469960b8b4d7b2a372fd0edd3521f6be670908f2d90a343f416358ea70e7e +Qx = 6d11b09d2767cf8d275faee746c203486259f66dd2bfa3a65c39371a66b23385 +Qy = 4eb05c73e05261e979182833f20311e5366f72f4b949665ff294f959375534c6 +R = 15a697cdb614e11c0810e1e764cd501fcabc70874c957587bc4883d9438e177f +S = 7bf6244f92bc768063cecb5336c8eaacd23db930b28703560f241c7d93950dfd +Result = F (2 - R changed) + +Msg = 0dc4a3eab66bd2e703a8fff566c34d466f9823ae42bd2104f61a6b051c0b017833fcef4d609d137ad97c209c80eebe252857aa7fafc35f16000a2bd4b4be0fa83b6e229eddfd180101f1f40d0453148053d8306833df64d59599b90194b55541d7f22dd589da9f7be519cbbb9db416c71bfe40ec090b5b7a600eec29bfd47306 +Qx = f3899caba038efb534c4cea0bd276814ffd80194473c903b81af11c8c05cb6e6 +Qy = 6ea6b17402fcf2e8e737d11ffc7c2ed3b2d0bc3b8f271a381f4294cff62682c3 +R = 57b99380452e1d37b133c49b9ba493dee8630940477ca3351a43d90b99871e6a +S = df599c3a37105af3ecc159b3b685ccb3e151b7d5cf2d97147974ae71f466b615 +Result = F (3 - S changed) + +Msg = d55e5e124a7217879ca986f285e22ac51940b35959bbf5543104b5547356fd1a0ec37c0a23209004a2ec5bcaf3335bc45e4dc990eacd29b2d9b5cf349c7ba67711356299bceab6f048df761c65f2988803133d6723a2820fefb2654cc7c5f032f833ba78a34d2878c6b0ba654ebe26b110c935abb56024bd5d0f09b367724c07 +Qx = 1fd6f4b98d0755291e7a230e9f81ecf909e6350aadb08e42a3262ff19200fbd2 +Qy = 5578fef79bc477acfb8ed0dc10c4f5809c14dc5492405b3792a7940650b305d7 +R = 97a99e96e407b3ada2c2dcf9ceeeb984d9a4d0aa66ddf0a74ca23cabfb1566cc +S = 0ecac315dc199cfea3c15348c130924a1f787019fe4cd3ae47ca8b111268754a +Result = F (1 - Message changed) + +Msg = 7753c03b4202cb38bc0190a9f931eb31858d705d92d650320ff449fc99167fb3770b764c8988f6b34ac5a3d507a10e0aff7f88293f6a22c7ed8a24248a52dc125e416e158833fc38af29199f8ca4931068d4ccaa87e299e95642068f68c208cb782df13908f950564743ed1692502bafafaff169dc8fe674fb5e4f3ffd578c35 +Qx = 2dcbd8790cee552e9f18f2b3149a2252dcd58b99ca7dc9680b92c8c43aa33874 +Qy = 5dbc8bb8813c8e019d80e19acdb0792f537980fecde93db621aaf1f6d0e6ee34 +R = 2bdbd8b0d759595662cc10b10236136ef6ce429641f68cf6480f472fcc77bc9f +S = 7e7df0c8b86f7db06caf1610166f7b9c4c75447f991d5aaf4dea720c25985c8c +Result = P (0 ) diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigGenPSS_186-2.txt b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigGenPSS_186-2.txt new file mode 100644 index 000000000..ba2ff7b87 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigGenPSS_186-2.txt @@ -0,0 +1,1291 @@ +# CAVS 11.4 +# "SigGen PKCS#1 RSASSA-PSS" information +# Mod sizes selected: 1024 1536 2048 3072 4096 +# SHA Algorithm selected: +# Salt len: 20 + +[mod = 1024] + +n = bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b + +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 383a6f19e1ea27fd08c7fbc3bfa684bd6329888c0bbe4c98625e7181f411cfd0853144a3039404dda41bce2e31d588ec57c0e148146f0fa65b39008ba5835f829ba35ae2f155d61b8a12581b99c927fd2f22252c5e73cba4a610db3973e019ee0f95130d4319ed413432f2e5e20d5215cdd27c2164206b3f80edee51938a25c1 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c +S = 682cf53c1145d22a50caa9eb1a9ba70670c5915e0fdfde6457a765de2a8fe12de9794172a78d14e668d498acedad616504bb1764d094607070080592c3a69c343d982bd77865873d35e24822caf43443cc10249af6a1e26ef344f28b9ef6f14e09ad839748e5148bcceb0fd2aa63709cb48975cbf9c7b49abc66a1dc6cb5b31a + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 9968809a557bb4f892039ff2b6a0efcd06523624bc3b9ad359a7cf143c4942e874c797b9d37a563d436fe19d5db1aad738caa2617f87f50fc7fcf4361fc85212e89a9465e7f4c361982f64c8c5c0aa5258b9e94f6e934e8dac2ace7cd6095c909de85fe7b973632c384d0ebb165556050d28f236aee70e16b13a432d8a94c62b +S = 8f5ea7037367e0db75670504085790acd6d97d96f51e76df916a0c2e4cd66e1ab51c4cd8e2c3e4ef781f638ad65dc49c8d6d7f6930f80b6ae199ea283a8924925a50edab79bb3f34861ffa8b2f96fdf9f8cad3d3f8f025478c81f316da61b0d6a7f71b9068efdfb33c21983a922f4669280d8e84f963ff885ef56dd3f50381db + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f9be76e9b029c4933260249dd76c5067ccd483d4b9b338fda00d34270963c6f35c854ed58ea8fcc7ffb8da3fa3f00d5e61a7586ab86de17ea8563880d0969554d44e614f01a6f8ef341caec9f71c10c2eed06c82723993267b7fdd35c3856ed628c1b840524b41719733a6231b18e1fc3cf6c7052d40d45de02f2b2f2a59d9e1 +S = 4f7ff112a7937707d529b5602e1d017b79739b13234a725dc36487e05ee4f5e072270b6712b5f71e47747dd4b9b289df31f91fc97db39ba14694ff894b42932555d01dfd4146a1672338cc60521e4b5988fd22896b512faaf5888dedcd5f9662319e9f752c99c341be08ac2bd0346845ccb74d0a7d4d8165aa7613b66847702f + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5eec1f64a799c1bb29b9aa6635b0bb93d1b461c9f6316a71fc6c1794526672e67203e104146bfcfaa2b19c08edb334a61e4165c5ef81cc581b911f13126f7872f216f0feb3ea70cca156c44610b4f12d4b6dc9dfcd61bcd6b489f17272da96f8c66d74daebdec6390ff24ba8067c9a334081b6a0f89ae2f4af9ab639d971737f +S = 344c602f68bd9529af10a80a1a3c25e24cce3d27e6baacc1b998e8c0b634e1689a97d2eb6004ad08b651a2dec53c8a6bae51de694f072add1f90758abb6f37471c7379498f6a63b49ff112a99d4de5855e9b1d1783f75c919730e9fc294017bc96ba82cc009797353881ea25c4fac9233a01189ac4825aa52bf01fa300e630d5 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = bd75511e451602958995e50efaef130d9f5eef3b097eb8af88ae5a6d9fb98a2cb6b6115d0f2c6868fb7a86394e76f6fb10552c2375cb19b10f72fdb243707d0afa55f57098420fba3250955bfc2f832a000e616516bbcff5100c62f3357dae6cf11aa461caa01f1296dfb97deb62e321d8523507d2980203f14230385d2846da +S = 0dbb7954b411ac1c425d778875dedda9add836f7283040797b5899b993e28f8e843909c28baf4169a0344f5eed769b22c567bab97a1816a634d0fe0e7860674cc6273ec2232d01ce93ea2cd03f42ceb4c4bda7a40dc1a5c89a84ae7afddb729956a83fc626a99f4be5d5daf2ef47f4eccaa103acf92fb5ee5e1b4f8cd8d4648a + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ca77e662077ed5cb63dd9b10177bd66062276828d1cfd8e3bdf2f6321557be2f5e007ffef75a3da6a2b6531f40fc5caddc9e546cebccfb2bd2e77a7da937490e3fe050345e124dc650817531a1155ec827e21c5c405aab0d5bc18d5fbae2b3917601a12ac310ced47526496dc32ca25c4bda082157e2af305f6a7500cfc0c45f +S = 462d92b7fbac49dab2fef13caeaf9bd11bb5053a8aef554a05e1ab6ce095678212b8e1fbea0396b18aae3d1275da8520abc123f88c3b5c056271d4415642ca4abc2030de600a48280115151c84a7d9c7f17769e0926450efe3fce62fb63db53082a3ed21f7299433aed078cfb7be3b48bcd6c13f11e3ea0f4946a139a941303d + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 638260c0a519c45faba299d0ca2e80bf50dfde8d6a42e04645dfbcd4740f3a72920e74632851d9e3d01a785e9b497ce0b175f2cd373bd3d276d63e1b39f005c676b86b9831352cef9edabef8865ad722ebbe2fd3efb48759f22aea23fb1b333159a9cfc98a6dc46c5b0bf2085109996f48e11c085a5405c4020248548138cc9a +S = 015c922938f67dd570f960ab30a4fc72b93df76aa76973c513055793807aecc314cb0ef1f7de401e609904ed20cab642ba4664ed8b9e5823705bb27a201cdda9455fa9752c69067c7473064e0e399e87ca5f9d28798ee7bfda1815c3c30e83da411c33938001e6cebc388bd13ee206ea93f9fd458b1a8300ab8aaa79bd22d182 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = c6ac689ac52fa1ea2276f7aade8b1b54ddd5aaa047e9b2f92fa3732d72766268e2007463a4e198d9d7ce853b76e1b7a48033b40f56ad94c8641bc0200382fa659eb49e11142127425ef0f46a724f4d486707a117d95311058ff233e65b7b0f2a42f16e0cdd97550dff05cca1997ce328da77f71f9a823298f84f51e74207aa9f +S = 8f7e7bfe45448c203ed2b7b8b68e3aabef2ca3f7c2861042d591fc964649ecda06da1b0f77d230c46b0d3fed02ceaff91336abd57be295f4165527ce85655634fc77e9d1b34e0a826aa1c687818fa2e1ef319efb6d1de108f140a30fe942aad25bcaf2bc2a8ca4ac083a10c1188cad40ab723b5fcf47cc709fef4bbc71fed7b4 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 7523cb2f9d75b6068f785c4482dcbcbf80d05ab75e22da14f1a8cdf07fdecb5574d0c248563b8d06fbefc98dfa77e45e5ffc7682a367d5cbdbc6e45c2ff12b6b8e6d2d46a090f594fce6f3de9cd4064e8d7bdab6ebdf74d30d490bd4fdea1a162bc0b33262be1639fa27823e503b4b1573152d5b20d4e0b6f1f9ec5ed110bfdd +S = 31527f8b5b289a67acc9c525eea485b40beeedbb777d68201caa54ebc4a08c15b4bc5fe85de9f695f21c95b3617fc4c3e3f8aa872f5ebfbf2a4f617fa39bb3959076f3e61d41005ee8306c8d8df6f4cba0d27430d981e841e2dd9a5db01cd6f481e5cedc3255d94eab10394efcfdb16ee90d25d02c37ad41b0708e916f5ae0b5 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 0320f03a9c681fd97dcc1ab0dc3b6642075d599aa5c97f283f793dcbff7ab42fb7e8e859241a2280751a931f07583948739f073bca4740371fad249046e0ce02dc9d5d45877e52e17f6e39444e608c12d441d4bc8d2a115417db5ca0ee65cb6d7b2695254dfa76a4a6b0554839bb2547322a094677dbbb272deb2e227f707217 +S = 823156702ac0caa27fc3461b7a2c0d71411e5c45708184b26975faee5551c3854a9ad68f9c1327c43ccf46d229a44345b0a08d11ffdb6f6180a240ac68c895daae1086d60e95e1f3db3931ee36a4f751de5699fa5374d1959b78de0f479ab070c220256803864aa12302dea96aa0732ac4c40d799bd306087bd43ef6b36868f0 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c +S = 53d859c9f10abf1c00284a4b55bf2bd84d8e313b4f3c35b8dec7bc3afe39b9b8a155418ead1931895769ce2340be2091f2385bbcf10d9e92bcf5d0e2960d10e792e7d865c64e50d19ffa13e52817d7d8d8db34392c2374a2e9b69184f92a4ad9b1b8bae99ca614d204b65a438e38dbbfc8c7cc44ed5677af70ce6c4f951f0244 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6f2841166a64471d4f0b8ed0dbb7db32161da13b2b90757b77c7c201e0dfbe7b68a39c9f010c04c9a404c0e59d6fb88f296c207942d8f00dba1594548709e5175e69594483377692df898d68538da4fc4ccab4b897a815e17733367af51c91667800dece95ed87c228235d23a41789c0a7bec5bfd207cc3fd7aa0e3bd320a9b1 +S = 15f9616eed464777655b7b6a00fc8e3d186d60a143a8411d891539b886232bc4cc9e0d71ff8df4828b32ea9afecca3adc57c2ac6d355444201d2ad5a1385ae403e2faebac111b0c3f63a0bf7bba927f537fa301ced57e274834d62c6e4d054035f777eb7db6a97be389695d1785f9a9aa02d8d3680dd911bc1bf83d310cc8a8d + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 46d0b4b035e9f1a1a9fcb1b7a58ac1980a81a6c918b33cc432879d4be1ee44fb1c997324c76ad1d87928584282766e392d065215420abac2cfebbb13283ee8582df4be32cbd040a6c61fde71b5a39b9b4ed06f4fe33beaea2d4f1b524941b08900475e824b05843316480beb45f790e6f547c51f042d1465d31986b14ae1e4b7 +S = 738cb4614ab1c93fe69e9b2fa128120ebf13b5a16384c7a97325b01cb6a579a13aa8b6a5e65d4e5221c670f59dcad115dcb982fe796cee8a8a150abf3b62dd28b5cdd7ee8562d92c1dc044dea8d69d64116e70b992e1900d99110a9873833fc689f3902f8f939a5118689452d5df06a97292735fac203ba0296d1db2b63b108c + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5e611473dd3cb92238300ed54abd603662041b92e9dc8d8d4523ec15fc529b941d54a96adc999b9a7c666bc3726fd053c7a7c0f7be573356b76d2bfe5317f19ed991a177d83ce80d0eef0d2289912ee40ce8cd66b4ac8b4ddbe032cc3d62f9d259c004811b4d2be3b774fcd8d84d0353fa6e49c614041adb7b220b6503583c96 +S = 491c767811e87e178d399a0a21beb764d6add25a798c5bb0fa58597f11648c92bd6020a27dc3ae77d3b333be41d7279ff8c25053ea862bccec004295e9d94557d084f3333b0a199c5e023fe0f2556da96dd7c85676061e6b9663473ebe0456c6d3d632f089c972a10c60cc29cabe011f8143ce1d0c15bb9187b2bee55dc3bed0 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f14b4e3fe82b9ccd1d37b505283797019515cd2de7d993e6dcd73a47f327ce3f2c56f7e70f5b1d13efcdcf287053662d475be524410f249a87842e7d2035e72eb7b1f2d79f90d1ff14ab4e5bc48d1ae78e24b53689bc8d06482f6a185c55093f1bc207b6a0b102b6133bfa482bcdfd59f0d8030cc6ca1754a73eb7c1b06f7e9a +S = 41eb90612012fba3f06122fb0c20e16b0f4d4acae6972457ff25bdcb70f4163b6aa68f8d393957405540daeec368061d400958b6335daf9f4be5a11b1ca5a950ba7d9de6faf4b71957cc55092fb1da8c51352814b3eded56b48ed2e8132b2d442a57a1e833c09ea29f0d2f29185763b529fa7bbb45fb8317d309fc970c7f4dd5 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e511903c2f1bfba245467295ac95413ac4746c984c3750a728c388aa628b0ebf70bfa2b5b5bf701d4ad6eda4fd2502a09add6ce86ab263e9fa8c79f61d7fc6e034fd42c7ad4a722fca314756a4f643c66f8bdd26ff0627558b53aebab226a1d5bb34361a21a34a004fbf4855a8ee4bd4cae687f9141de5146681ed9d276ae9c7 +S = 4859826951991895d803bfdaeee226f3ff3daef126bf30f7dec12e6ad316e7a19386a9c3920981bc0cdf19212e042081898799c501a3ca7f2e9388e642cccf5f545e5f33ca10e71fcd3b8fa10fe13e2b4584af52a12c72961c8742feef96deec26f38d8a5c35a56b5116d37f9155b03c64254a8ea3ee27748c8238c52ba37ca1 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1034e043d521a29e1f6d84ef8a549b8675c5ebe4ab742e72432bd172c46040358d0d638e74bc6888aee1c454ef6d7485d1a089807a1fe32d79463df3f2bf6ae4fb54dd3445016ff0ff4e5decf7dc90fe033d22699f081d9cd72d861d68879ac022b0571c90193e3fdb5a58a1ecc67757d143be89625963262488b4d66ddf5831 +S = 0e6c363da490381a140c8b25e7a7e4e710cc61984ea10923101be5e7598b3fef8ad95a24857fbd315d5e42611599d2dd8df6dfa1cfcf881b9c8e0a593a00cfc5b99130cff45459579aa52ffbf57b14744ece6ace559470cc59140a0986695d27498340b63a24a0a53a33b06e6cfb68187df6a1274b8d1aa0a852effc2810ee33 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1267d9e29f0f39fce1d1924f0c2a435109682bf06003b4845b30100269b4c372c0f662a346599a1db2c87357ee93d62ac0794e86aa060b640f1f2cfb96db3e37d494ff67253e6836daf8ebdc9ae1fa95022dc8528f7853afbe59a226713b4b82956839960267ac2ea2888146d6bdb47a15ab23bed701954fb109faeac17df53b +S = 83978db027932e2d676206c1b9fe637f0a137d115055230fd3b2177e6fd1d75f7e542fb52c6f3e81298640534f364c8b636af0c361b2d23bbad90a001efc8c0f0851c80e765eb0eb17912cb325f236540873c9f295ed3725351a4b4b1350f49cc18b308c5854c8272c19b0f2dc1165475eafaf6089539baaad879f4c46e3cd94 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b06648835d993a4c66944a5cb95afd741c66708bc4f09228236d911001559221ce28a57e37b3f8ecf7904b7cf0eca36b7a8c4346fb12d851b87df42aeaf0bdaa15b4e70c957fdf5179f749e29572ad78d3006d39caabfb2492fd48aed6c380ad2a11f4769f86584295d12ed7d1748264d0c8d8ac5a4263665af477e4ec5741f4 +S = 5062ddc296210972b90e88cff21559341b1a8261c02a9e727010a64a1a91d4b7aaa3cc06cdbbccb2b7227bb6115b616ea6ab651d3c9c66a6ade8222c6623aa26a486d07a16e90a14fe736ba5889d97fc199c4a4d551a4105b9eaafa8b35f9ea1fbc955f5c4175b8066b85995f6b00e4c3e0e3f1d9421d54a5c3f235ae8385972 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5d9551df210cea61f9aec3d2ef2f5716692c5c55ffb13da28afecada7d8b2fcf794922a61b2b617e19e55c538df42e2190ded24c0bbb943fcaf4c553d24bb3f3f51bd9ffa3e1526d03fc943642b15a702c72e2b7f96059d2690e9494138800fff994dcb06137a577e07bd245b870c24b6471f36070a874a38ed59d62e74afd3b +S = 696a0391fad696f098b3e1bde909e51c0893582050afe5ee634ee31d9c84b7720f06b590a189287d1b0cdf758173ed6de8ac164da9be8aa00aca3870974787d15f84c566a5195aec0363683ec0b69184bb7dde3df33327f2d539e1e42d9ee54047df7f8295f1496ca644d411c85474a52d74a26c6556d5ea52458ac130701021 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c +S = 7b1d37278e549898d4084e2210c4a9961edfe7b5963550cca1904248c8681513539017820f0e9bd074b9f8a067b9fefff7f1fa20bf2d0c75015ff020b2210cc7f79034fedf68e8d44a007abf4dd82c26e8b00393723aea15abfbc22941c8cf79481718c008da713fb8f54cb3fca890bde1137314334b9b0a18515bfa48e5ccd0 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6f2841166a64471d4f0b8ed0dbb7db32161da13b2b90757b77c7c201e0dfbe7b68a39c9f010c04c9a404c0e59d6fb88f296c207942d8f00dba1594548709e5175e69594483377692df898d68538da4fc4ccab4b897a815e17733367af51c91667800dece95ed87c228235d23a41789c0a7bec5bfd207cc3fd7aa0e3bd320a9b1 +S = 5d6e26a5e8599ae4fbc49c687f1812a90fba946f2d217cf0aea53f543191e11aca9bd5ad66c391411e7cdb1fd1a465559cf371c58703b35cc8eafc50b78f1dddbc913585d18464651c69ffa5f785ba9213855668cc7b3c553cb2c112c98912798501bd61d65de9eedd65ca26051b0db4b5c1d60e9192af9c04d1a6c962c84916 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 46d0b4b035e9f1a1a9fcb1b7a58ac1980a81a6c918b33cc432879d4be1ee44fb1c997324c76ad1d87928584282766e392d065215420abac2cfebbb13283ee8582df4be32cbd040a6c61fde71b5a39b9b4ed06f4fe33beaea2d4f1b524941b08900475e824b05843316480beb45f790e6f547c51f042d1465d31986b14ae1e4b7 +S = 5576d090154761934a35769283c1e6b66e721850cb9589bf4aa8b6d7b695016d2ddcca77c18966051949f658eb48139b5b5baf6bbc1e16df825a552e4a38d97b8337a247ef0f591cc1ec9ae08f5a91f0c73d078b606b8a52d5679658f66b17db2de19bc48e0cdb2f14df86c126391252ba71bb600fdef6d71241c2bb9cbdc3b5 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5e611473dd3cb92238300ed54abd603662041b92e9dc8d8d4523ec15fc529b941d54a96adc999b9a7c666bc3726fd053c7a7c0f7be573356b76d2bfe5317f19ed991a177d83ce80d0eef0d2289912ee40ce8cd66b4ac8b4ddbe032cc3d62f9d259c004811b4d2be3b774fcd8d84d0353fa6e49c614041adb7b220b6503583c96 +S = b32cb5cba065259681b9b91eb44345fb89d281d1d77e76eacfae05b1a2bf988b97a1b751c169168c58d73610599a6f856f656ec4c7095f9d7c5c87eddf046bd5eae0298c73e1b360e133dc0d4006259d6cef6aff26832c086ded86ca0a7b5f7f36b607a4eb8ebbe2619a74647faa9ee38352006c41e7e6414a5240a728949e63 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f14b4e3fe82b9ccd1d37b505283797019515cd2de7d993e6dcd73a47f327ce3f2c56f7e70f5b1d13efcdcf287053662d475be524410f249a87842e7d2035e72eb7b1f2d79f90d1ff14ab4e5bc48d1ae78e24b53689bc8d06482f6a185c55093f1bc207b6a0b102b6133bfa482bcdfd59f0d8030cc6ca1754a73eb7c1b06f7e9a +S = 657daac0ade99946d557a5413ba68f6b3e3d69fe1cb1c2d8737626aed7f60cb3a1aca9e2caac92679271121384d5a7a30045124e1f54ac789e4563264648da185e5174c2f85acbb83fe9d2fded35c23882e71594a5dd7ed4b50a08d533702b5b358bf191a59f568db326a7f23833219f26f5e77724d913872608749a586256b2 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e511903c2f1bfba245467295ac95413ac4746c984c3750a728c388aa628b0ebf70bfa2b5b5bf701d4ad6eda4fd2502a09add6ce86ab263e9fa8c79f61d7fc6e034fd42c7ad4a722fca314756a4f643c66f8bdd26ff0627558b53aebab226a1d5bb34361a21a34a004fbf4855a8ee4bd4cae687f9141de5146681ed9d276ae9c7 +S = 56c629af3be9c9a71e06c84681e68a825a631a1ca82d4eeb3be5029949d185da5379e427dd008e32538ce94fd54df8b74d8acf04f6cda6b5c0c691114631a4368bf7c4b60ec124708c435845b7ae1ad498d1f903e0e9ef36daeff17b11baa7862ecc16ea9c69d61b2e3aaff44048a399fb38bd7c4d45b318ac5815cd60506192 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1034e043d521a29e1f6d84ef8a549b8675c5ebe4ab742e72432bd172c46040358d0d638e74bc6888aee1c454ef6d7485d1a089807a1fe32d79463df3f2bf6ae4fb54dd3445016ff0ff4e5decf7dc90fe033d22699f081d9cd72d861d68879ac022b0571c90193e3fdb5a58a1ecc67757d143be89625963262488b4d66ddf5831 +S = 97d01eb93779f67b3c21364e838df079b23bb41e1737512a79cdaca0bf72e06493ce005fe5e9791532361b072f61ac8b0140458b1f2e3f852c0ff8c4f0b59c4808458680b4e200be87a83773b5dd114595fca4e20364078f049cb388ac8e2e354db113d69017f3e710010c685506cfbd2c0b46c08400025cd26b17c7365d68ab + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1267d9e29f0f39fce1d1924f0c2a435109682bf06003b4845b30100269b4c372c0f662a346599a1db2c87357ee93d62ac0794e86aa060b640f1f2cfb96db3e37d494ff67253e6836daf8ebdc9ae1fa95022dc8528f7853afbe59a226713b4b82956839960267ac2ea2888146d6bdb47a15ab23bed701954fb109faeac17df53b +S = b84898f003259f6d6ce4e4bda1ff9e772c516f04d8a2f9559b40650f87e37484b4ec8face403570f19db16377a1e284eb865dfe8182539e7b93b6bf936075483090fc2d33355f32a78407b809834d65673bcada8ab3bf81d19851b43d99b81bc8f21b2b08504beef0f6747759ce3318b67c3a44ee54dfd040424c9b2ebd8bc9d + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b06648835d993a4c66944a5cb95afd741c66708bc4f09228236d911001559221ce28a57e37b3f8ecf7904b7cf0eca36b7a8c4346fb12d851b87df42aeaf0bdaa15b4e70c957fdf5179f749e29572ad78d3006d39caabfb2492fd48aed6c380ad2a11f4769f86584295d12ed7d1748264d0c8d8ac5a4263665af477e4ec5741f4 +S = 523442ef2a7bdaf00570f1b06e6cfaaed918371a07c9ffa6df16806610cfb934201a068ef6a3d27c74ef2daa81ec5691b7d03b48223129a1f142cc81b3b7151ccee7530ef50505429406b96dddf2147263a626f7512c1cd3d11a100b8f84e07401b2a4a3f4fc31309f08c9693eae5d0eea2aef0f4041cdf940cbc39e0cfac9c3 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5d9551df210cea61f9aec3d2ef2f5716692c5c55ffb13da28afecada7d8b2fcf794922a61b2b617e19e55c538df42e2190ded24c0bbb943fcaf4c553d24bb3f3f51bd9ffa3e1526d03fc943642b15a702c72e2b7f96059d2690e9494138800fff994dcb06137a577e07bd245b870c24b6471f36070a874a38ed59d62e74afd3b +S = 07a4cec5c0e2a58b6c7577d00975b09077e63372ff672e623e1178c10eabf39b29208068b0ad7fcc67375cf44f715cf37ac7d279302a98db7a15ba6bf8e39ebd542b01772d7d1b4bca9dc507f90988b280a3450263c4edc14d3e9a2201e8492818376ae737745c42a390ac042b9a906d816f7f4fef4f431b0d56bbd07ea25521 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c +S = 8f16c807bef3ed6f74ee7ff5c360a5428c6c2f105178b58ff7d073e566dad6e7718d3129c768cd5a9666de2b6c947177b45709dc7cd0f43b0ba6fc75578e1196acc15ca3afe4a78c144cb6885c1cc815f7f98925bc04ad2ff20fc1068b045d9450e2a1dcf5a161ceabba2b0b66c7354fdb80fa1d729e5f976387f24a697a7e56 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6f2841166a64471d4f0b8ed0dbb7db32161da13b2b90757b77c7c201e0dfbe7b68a39c9f010c04c9a404c0e59d6fb88f296c207942d8f00dba1594548709e5175e69594483377692df898d68538da4fc4ccab4b897a815e17733367af51c91667800dece95ed87c228235d23a41789c0a7bec5bfd207cc3fd7aa0e3bd320a9b1 +S = b09457cb820925bdc54ed3981a13e640cd9d8c969081564bc8265381354c4afea034089d81987164acf5a31aea1f6998356618fafcabbcd320378c828d1de64838583dc0f6445c6b867c9436fb04057018d79b887fd746c7ab0789b54e6717cb31da9e74688be7e7f0a1b65a44f8fce29330c45e79564e452e833bd97362bda6 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 46d0b4b035e9f1a1a9fcb1b7a58ac1980a81a6c918b33cc432879d4be1ee44fb1c997324c76ad1d87928584282766e392d065215420abac2cfebbb13283ee8582df4be32cbd040a6c61fde71b5a39b9b4ed06f4fe33beaea2d4f1b524941b08900475e824b05843316480beb45f790e6f547c51f042d1465d31986b14ae1e4b7 +S = 561cbb9f038964173606ac41be9dfbc922a9740abcaf22e13f475c0365e3e8c08bec940dd95878a1fdb49cd1242bc503677a83cfeade94be6393715b52da7eb2cedc893dcd95a7d4574ba13441b5233eb356e936f2c8f891d25ff7232019b6f344f902951ecb15259ca4e479067886e0f5d341fcf95d25f7444dc33c23002499 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5e611473dd3cb92238300ed54abd603662041b92e9dc8d8d4523ec15fc529b941d54a96adc999b9a7c666bc3726fd053c7a7c0f7be573356b76d2bfe5317f19ed991a177d83ce80d0eef0d2289912ee40ce8cd66b4ac8b4ddbe032cc3d62f9d259c004811b4d2be3b774fcd8d84d0353fa6e49c614041adb7b220b6503583c96 +S = 3d01f5a9519ee81fb93f731ba68e2acf1677b14c501570313f3b12fa1240dc95507d6da6b7af3e55f4cd3d4f011f98815a2ca8bbd820a7b1e1d48b38832b0925719144f9a20b72f079a8cf6584f94439b62e00b70f4da82863cd82b8667914d76f91279866e3d7593f3023962c0b273404900daf4927e735a6a9fa716fa41fcf + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f14b4e3fe82b9ccd1d37b505283797019515cd2de7d993e6dcd73a47f327ce3f2c56f7e70f5b1d13efcdcf287053662d475be524410f249a87842e7d2035e72eb7b1f2d79f90d1ff14ab4e5bc48d1ae78e24b53689bc8d06482f6a185c55093f1bc207b6a0b102b6133bfa482bcdfd59f0d8030cc6ca1754a73eb7c1b06f7e9a +S = 66ff3fb0c5839e83191ffe6dbd57d91299bcd653f6aa1c8a53921647a62db1665574ffc4d0d21acf5554fb0fbdfdab32a4ee4b2e934b2372b4f503a8ee59e6f1084214036aa5379cf30487bb0f3c448c247d19b5d1d901af9d2fdfe686290827f576f1dad267f1de0b37e84700bcc125aa47b1661ddd5f32e1418c23835e7e33 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e511903c2f1bfba245467295ac95413ac4746c984c3750a728c388aa628b0ebf70bfa2b5b5bf701d4ad6eda4fd2502a09add6ce86ab263e9fa8c79f61d7fc6e034fd42c7ad4a722fca314756a4f643c66f8bdd26ff0627558b53aebab226a1d5bb34361a21a34a004fbf4855a8ee4bd4cae687f9141de5146681ed9d276ae9c7 +S = 9c748702bbcc1f9468864cd360c8c39d007b2d8aaee833606c70f7593cf0d151924eac33d36b6b815019fa0575a518de4ea8ce8a3a8e31c4242d3471b30bc198dab341bea977eccc4f69b8fb4ba21b0b90bfc0478f2e34b32006eb7bf915f72da247e13cdc6d00ffe38c2853030c832e4c065f8ac3350ef403a8953f951e0832 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1034e043d521a29e1f6d84ef8a549b8675c5ebe4ab742e72432bd172c46040358d0d638e74bc6888aee1c454ef6d7485d1a089807a1fe32d79463df3f2bf6ae4fb54dd3445016ff0ff4e5decf7dc90fe033d22699f081d9cd72d861d68879ac022b0571c90193e3fdb5a58a1ecc67757d143be89625963262488b4d66ddf5831 +S = 0fdc48fa2fe56ed535f7e1b032054ccc64a7363eb145eb01b2e84efa3588def1f33125cf71a8ef5b6f2f7b6ae1e616d9afccd7372c843a970f165c103a69416318f5574ff3b286992b78cb8e770f85a1bd0f0f0b3ddfb77712b4277c1910c68aa8c6006ce8463a45c932a84c2334f2f1d4f67e7e5501075686cf8096b17514c6 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1267d9e29f0f39fce1d1924f0c2a435109682bf06003b4845b30100269b4c372c0f662a346599a1db2c87357ee93d62ac0794e86aa060b640f1f2cfb96db3e37d494ff67253e6836daf8ebdc9ae1fa95022dc8528f7853afbe59a226713b4b82956839960267ac2ea2888146d6bdb47a15ab23bed701954fb109faeac17df53b +S = b82affc8324e78927d466a57726deb192024a3d0ca1524b1c5ad5c0886446c9c331f7c20fe198b92d17f7fe55b15474a4d0ae0f5e09986789323fba7d83dca1f35b2cfd806f350f3545c1f7a5a2cecca45fe1317e6017ca5ca10af414a0f00cc94b9d2ecd8c4d0d5e7d2cce63a16e248b9932fa8fad8a562b8bf824bda7d92d4 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b06648835d993a4c66944a5cb95afd741c66708bc4f09228236d911001559221ce28a57e37b3f8ecf7904b7cf0eca36b7a8c4346fb12d851b87df42aeaf0bdaa15b4e70c957fdf5179f749e29572ad78d3006d39caabfb2492fd48aed6c380ad2a11f4769f86584295d12ed7d1748264d0c8d8ac5a4263665af477e4ec5741f4 +S = 8490a78e4c236970c0c3d7cdaacac90f00b2a3b32a6d81d7ecbe8a79f2f9782861cbc72caba0c2e2220a47460387f72918f2fc401cfc92e7f00daaa514cb1cef343100b56c38863417fce3650e8b96fcca05febfb87b1f2ec7e3599ddce71c185529fa22e80804fbbcece574516536d66a8c303b6d819d50a20663067b6b5460 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5d9551df210cea61f9aec3d2ef2f5716692c5c55ffb13da28afecada7d8b2fcf794922a61b2b617e19e55c538df42e2190ded24c0bbb943fcaf4c553d24bb3f3f51bd9ffa3e1526d03fc943642b15a702c72e2b7f96059d2690e9494138800fff994dcb06137a577e07bd245b870c24b6471f36070a874a38ed59d62e74afd3b +S = 59ce3efbd192d6d8b53f591c0479d57104849b6e3d1f91bec27c54f17275d23ed254a4de983aaf43971eccd54b4cd6d9c2dcc0a6f6c819df0e85ab59e21135e653631813f5540cf8aa65a71bb14654b4ae0379d5f070889c57c23a74cd6e172ea7b6faa774df2143777b567a638be86eba11dd040de47632923ddd71aa0f94a6 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c +S = a833ba31634f8773e4fe6ea0c69e1a23766a939d34b32fc78b774b22e46a646c25e6e1062d234ed48b1aba0f830529ff6afc296cc8dc207bbc15391623beac5f6c3db557ca49d0e42c962de95b5ff548cff970f5c73f439cfe82d3907be60240f56b6a4259cc96dfd8fe02a0bfa26e0223f68214428fff0ae40162198cc5cbd1 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6f2841166a64471d4f0b8ed0dbb7db32161da13b2b90757b77c7c201e0dfbe7b68a39c9f010c04c9a404c0e59d6fb88f296c207942d8f00dba1594548709e5175e69594483377692df898d68538da4fc4ccab4b897a815e17733367af51c91667800dece95ed87c228235d23a41789c0a7bec5bfd207cc3fd7aa0e3bd320a9b1 +S = af2d6dc7fc64b1bbb57af38defe3faa2db9d64b7301004d7ca9f8e4a46277e3594fd0baebf13a8a44d78da165536b3b9504395ba7870a75c6dc9f2229ed0a349326ca115c549d412fca32e22f11e1329c433f88a24106ea1549ebc4503bad900196354a619cba6ffd0b49ec50e00d395e54a4883550bf3a0a0fd67d3dbff7dbc + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 46d0b4b035e9f1a1a9fcb1b7a58ac1980a81a6c918b33cc432879d4be1ee44fb1c997324c76ad1d87928584282766e392d065215420abac2cfebbb13283ee8582df4be32cbd040a6c61fde71b5a39b9b4ed06f4fe33beaea2d4f1b524941b08900475e824b05843316480beb45f790e6f547c51f042d1465d31986b14ae1e4b7 +S = a2e550f02618bd7ab32943543697fe287d26c7a004e12463275b0db62bb74e481ec5ef66b63018a054e64232bc41e42df0cd22321241175b08df8dff7b7c4c5bc42d0f68f1b162f50fe3380b547db300a06a32497ad6223eacc09633f35f989bf868d77b2408d204060372f02d5c7dfb90c581d85fd01f9d5f94d77d772532ea + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5e611473dd3cb92238300ed54abd603662041b92e9dc8d8d4523ec15fc529b941d54a96adc999b9a7c666bc3726fd053c7a7c0f7be573356b76d2bfe5317f19ed991a177d83ce80d0eef0d2289912ee40ce8cd66b4ac8b4ddbe032cc3d62f9d259c004811b4d2be3b774fcd8d84d0353fa6e49c614041adb7b220b6503583c96 +S = 8ff214f422ba0cf710f4b6eb1f85d27b92366d5045c79d8adb983e46c5be6544d13183119a952b6a3e51e28a367d7441a94788d524fef2fc55c5bb8260dfc748a70cf7a7fb0021a97912ee8932b5fac94cdba189a9ed84025aba662bf894b9365c5a6784afb7315cf938efb307a10a1445aaf34f7694c6d97d156badcd23cc13 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f14b4e3fe82b9ccd1d37b505283797019515cd2de7d993e6dcd73a47f327ce3f2c56f7e70f5b1d13efcdcf287053662d475be524410f249a87842e7d2035e72eb7b1f2d79f90d1ff14ab4e5bc48d1ae78e24b53689bc8d06482f6a185c55093f1bc207b6a0b102b6133bfa482bcdfd59f0d8030cc6ca1754a73eb7c1b06f7e9a +S = 28c82d5624a0f2a0ef61a654aae43f286693d35329b6cc7a1b0849590f5369936a6a139b25ddef924c532e939ca95482c37c6896fd1419c7686478c0f5007003b42fc0fefea92bbecd0db9c60e6fd608bf4169d0d3d55c97a59dd942d5cb35d95c34d1111cd1838332946b02f1fae542f44db7a2a520b47f8a536893630998ea + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e511903c2f1bfba245467295ac95413ac4746c984c3750a728c388aa628b0ebf70bfa2b5b5bf701d4ad6eda4fd2502a09add6ce86ab263e9fa8c79f61d7fc6e034fd42c7ad4a722fca314756a4f643c66f8bdd26ff0627558b53aebab226a1d5bb34361a21a34a004fbf4855a8ee4bd4cae687f9141de5146681ed9d276ae9c7 +S = b28709912dbe6e634424da3c2c5cab503253f1cef26a0b63a7190f63dbfde977a7527bf3883d118d942c39f9f72f20a4f0c4948b486ea80f09bee740c3aa426582eea105282e6e0826aab4390720b127a17e86e4c62f153d7949462c871c5df5a4c91ce7f7bc7a1f17efa171806536ab983024a6da6904d3f9743f952ecfe9bd + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1034e043d521a29e1f6d84ef8a549b8675c5ebe4ab742e72432bd172c46040358d0d638e74bc6888aee1c454ef6d7485d1a089807a1fe32d79463df3f2bf6ae4fb54dd3445016ff0ff4e5decf7dc90fe033d22699f081d9cd72d861d68879ac022b0571c90193e3fdb5a58a1ecc67757d143be89625963262488b4d66ddf5831 +S = 2625bc34fcab3af07f6334e04a656774e984869cd28d98ab5abcf75adfed9d83df991f4f41ae77d040f9b2c00a124986cec437161e9a92aaec571a13e489f4bbef58ec07b5f47837329f2d36111cbc7a81f32048301f121105055fa1250fb2f2b6949ea60355571f83f4c1e7141a10f24ac48a6d3fbb2dc3f698ef0dba6224f9 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1267d9e29f0f39fce1d1924f0c2a435109682bf06003b4845b30100269b4c372c0f662a346599a1db2c87357ee93d62ac0794e86aa060b640f1f2cfb96db3e37d494ff67253e6836daf8ebdc9ae1fa95022dc8528f7853afbe59a226713b4b82956839960267ac2ea2888146d6bdb47a15ab23bed701954fb109faeac17df53b +S = 03f8970b2be5a760d03f0951851d18c22c3be140b93d1ec13db2dcad985acb899706f9b50b08530fa58289bdd2ba5bd5ebc8186fa7ad9f1f90aed84e3136f6edc31dc84d4eb8c83ae52c631491bbfa6d116dc24a6a58ed52e318a8e85bf87cf7ca6b3478a157c58150e7e8cf48e4ac67311958d88a30efcb578e561b050df186 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b06648835d993a4c66944a5cb95afd741c66708bc4f09228236d911001559221ce28a57e37b3f8ecf7904b7cf0eca36b7a8c4346fb12d851b87df42aeaf0bdaa15b4e70c957fdf5179f749e29572ad78d3006d39caabfb2492fd48aed6c380ad2a11f4769f86584295d12ed7d1748264d0c8d8ac5a4263665af477e4ec5741f4 +S = 7aed4611e04d8757715244ebf4942f9be013dd0009b9e77e1fab05679c224cdf9ab3987496e752d4c39e27fc31ce76f01d7b2c44577da98272602a21157dfa3009253b86895b537f7fc089ed689f5cf489e82f2ab11e5e4f05eaf07284a5b2ed39b8c359a231172138cc540cc3c830faf8041ccf55d78c633167a386634345b8 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5d9551df210cea61f9aec3d2ef2f5716692c5c55ffb13da28afecada7d8b2fcf794922a61b2b617e19e55c538df42e2190ded24c0bbb943fcaf4c553d24bb3f3f51bd9ffa3e1526d03fc943642b15a702c72e2b7f96059d2690e9494138800fff994dcb06137a577e07bd245b870c24b6471f36070a874a38ed59d62e74afd3b +S = 38889a9f3646f67567538de1dddbeeed364074ba582fcb1a13029c00f13c88fc769ff1cb6c4fd0518d41d088b5fd37af92d163e224e4183018edc9a7d1e4648b6d95e21adaf77b390150b221f456075e5d566f2049acf7b6135c7afa2f0cd82e7db1ad242e5be0e0c8d29a36c8292e429ad6aa52d332b29eb9507ae9c1f38dd1 + +[mod = 1536] + +n = a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9 + +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 1e517886bf2c518ce734b1e9d15f8ad506a5990f5597badd59ee6f2734042e444a192ea064ad045b55ff759ad6dee5621cf8dba4ba08767bdbcb207c60bf27a89d9592d457c38da5c6d5faafc11df17059509776b11649b0a7177a8397ef1e11ef81556a07b7c0ff8bc5b4d4d58b78e219ba231ccf1f4ffd28ad1f67ade7d24680e5c80437fa562b8ae9f0365db5f18ecba81e3bc4e66c296b486a93b71a5d85098c00368e910580306442236613f1309287efef8a40dfa7b73185217b2b6cb1 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 11d9e77da9c83487f7de32110fb0ae0058d86f53e2f6244af9f59acefa90320d6514936534679c836b499cccf1dac6fb9e5cdf0c953b3a5ad44ae60409502694a7c321e33ad3db37f8ab64af98f350e1679966c198d19dc5db5a44463203802a006ffbc06315dbebc48af183ad0333f8da166d3892c033d338ac1a5d1db22815 +S = 670204eade939ca85d3cc7957d81cad8d809c3c56e88e9e79d42d74c099f95b9235b37adf1e32122eb6d224a785f2dc5b8b8bd4d5e8b5ed61ffeef4f3c35a8ba85844efe42df780f6e4a0b9493671a4ee2f408a2297b9dcf12f7c30a8f5c8fd6137e18b6743140a930fd64c44926555b22f4f1579c1bb77ffe17d2ae175a64fd1467a32edce1d962532eaf3b6c3ea7ea9d44c76932d84ec4629de9e70517f2d21ea12c56e8db06c45d876bcc55f2f98ed68e152c8190c4bf8874dae7c1979a34 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 46bc5316eb0323f79079d3f3b9e4229a48ed218af1c94534ef19bbe3f50ffbfa68d3a07ccb2577d27b43d6c99c0d2fdb5367e4af35df5de300905908894581eef6e243222d00ddb68dd8b840db62f8257fbe5118f0d21cdd6d35aa53ee4bd8b15ab2e310fadd7e2a2eff22615e2ba60334b90fcc08eba9ac9cd157cb0a6927cb +S = 82e51d66b89af707d43508dd48e331e5ad384a5cfc12714a3f8d9e0a43e5050f2760a22458a68a88a8904a35cecd852ebb0c441a9e73c1a935b24e0211098fe9e7bfc711689a3096cb2edcc7e0aba9d24f944f62785c89c1f68f9dd70590c2951c36e15f4d931628e1f546692ad2cfc30d1d55e19cc68c4e11454cdc51fc6236611274afbecac7334ec6e0f1be54ec05d796f88d9151cd92e92130d314914530def3795f11317c0acd56d347f96ca0a06b703fbcc998b63ae89f8d4e5f8ebdbc + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 18f2534e385fe93d9ed1e1a2bdc26656215f799fffd32b9c11c80fe3a02bef68e330bea18797cee78f2d43205e95c89b1248803b14db3fd8ed81fbe25cd07d47a5c85c972b112c674184f3f33eeddc07cf0f301f92e981cde038295bea3df3b107c0177a4c556c835eded96384510c6100bc6f92a086584290f7819572fab76e +S = 72608998aff7c5deec383b239de824e5069c8c18afa8732c1a1c91abe9f6b61ee71d946762b8d0e76fc9e481fc4f92630ce7461706ee9329bb36452c8077db514afee2c1be1f36ec8dba504f44eeab7587db8c719710b0fea459dc340c4b8e68cc1238eec24cf573c85db19e210146049383c23e186708c68de0d5ff004cbf74770ab1fd71c6b199b9b4af91d66504cb5fdd322a75e309008690288d260df4420e5da211c3dc5553111d0ec187b374d42e2ab3aa0b9601e973c63c0e0d2216b6 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d4e8d5053f25e4c37e3780b49a5124380571e2e48987facd7fd9ab0341a6495be20990721c2138ee896fc907167fb147b6cb948d53dce3580ab2b0429766c1cb0e0ee358cde1807cae9c747581241dfab96cb1346599d50a62646ba1cfc0ab23c2bd75c039ade5f354852907c1868fd9771ce2dfa706f769efb78327d2fc2fec +S = 772d968cc725db07da11bdb18ffd297d6f329098ecb0c72ee00952d13e660bc592fc00a9f887a3d954e457592998dda67c5f7bf08bd8c382ef309a5b512ad5695a691b2e942eec13a51f1c8e0515983ed47695bef5134a428107b82c63e776e3601a8b47bec98724daeacc86f4edc528e90d783a36e7399aecabd03b5aaa390fe37f5a087c01f7efb011435c59ddaa92b33b44eef9e1d4f45fe2fff8796b1518c4193e5ce0c2841aa6b167a64831cb79813490d9b614f452cbdf977132f70048 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 95b1636d5e124ec06a1ed9506956d3bf4293fddd59406b790ec52d7786462f23ad8e5ec57b460c76776b96317aff442db6fe706af693eb8a278c9ce3180c6ad27e7f5d523bd3ffcde0e60932703a3b4767f08c41faf48392a175e502d3989001106da73b2522ef6eac767978d27182b55d529787edcafd3681674ffb3e536957 +S = 8005e17a8e8952c5eadc8aa8ad6922b57dc0b1440b065ad55f19a6ebc768c5374b4320a97c1125748464b820a12e44db8c6482f9c219b6712b5cc303cb5a32873415ab66edb01a610ad9d139b93c82a1621150370e213af460c225a5314cad49d1dc49899d1ea5e3c8a0ab9e5b320bd8d36e3b8f8116fd8920964e96a4145eccbe00069e575ab11e2efb67ff25e05830e3e3be82819f8e228927fd9d38a753c25e2ea04b7a65a3544a84554ec3e6391648487a87c3857ccee7f5e9df54d860ba + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 0586264a84d228d47a7ad32caa862035f8953d3821c8e0e2aadbdc8c1695f2c05c63e9f89840e0a801d7e47f1becbeea2ef80edbf6139ec89c17f0f6e50319f7aa9dd272885ccd22d8844521e193d9674ddc9a8dda7263d752476972bd9512fad57d0b40baef9549e7c91f9a65431ab23e8a09d935abd718b4b36e89061485d1 +S = a13e257a82288a0c586f99608aa810794dee3e6d1c679c29850efc053719f1d92bcd0b4909fe1f3c957ff46a71544354a108d862c638380d0a717e3fa1cbb5dc893d3622ca59b06a468044b9e2aa5067405d2397141db5d05bd4b3a46dfff01a4c99a2849f14408e56a33a5e3f7dac18e96dab2dbe23e19bccce14c16ceb9a463424d18cef72fdab04860960a09cd8a4f6defce34fc29a3b0da751622327c1e172edba4886ff4e250b8fbb177666e93d694ef4f8a00a0ae2dc5837a0c897a204 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 061cb839e6be4769fdc886dc57dd16fcc956807f3d42268e4aab7a27081c6dc0225f2b2d2c8b05c3373faebea328abe035c9055b697b41f10ab2915aff834ce668639c63ea3277414678d0f431ee0e9a6040bddee211831cb23f56c68d69ed0601af74a4c7b9842b52fb5247a8372772714310cf4d0cd6566bdb303258d73867 +S = 941614e0c5118ec61540d5520a55841ad1a679ef582c07aa556427e1e5b7fae57b6b820f265dd9c6c82bb83af4850baf5622e75dcd24711a941c54bd4ec72436bc884508fe90ae1392755c34965c0de6f95ad7ea48fb02cec1b40cd61f8a9d9c3481e2439599f51e2690548b9ce80ad2ca53b543c2486d24d81211142d1d18f60f062cb8c087a770ea95b8dc0d2536b9df5bfe5eb17a71eec8342744a58df54d7c3031b0b6aad439fbbbfd47eb85e232abc095401d19521d620e6e924ece4c94 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b7d87bed3574a2c5053de17eb8ca7e18ddc7892f2c54b38104a864ab18fa073365a1a9cb677ac2d48c8a5222e9e430ff2bcd9f72d11f23c199eb933438626e1c4ef6721499bc6b8769154a72548d766b2a0367e32c0b70a87890dcadc8be3d0e5c1e014f350346e58426f0f7628df865c1b1060aa3df433e8adf689f2fd41c12 +S = 13783f1f4a4eb2cb6dc32df87f53433636e1408a97fc0fcde9ac139759cc387e3e8361c002a4006eb28c718931ba12fd36b1d4da9ff70ebca9c014a66cc2c99793c2ab873c17503f58b5ee270d56090f55e728e22567d27723f79efd2bef72bde53ff5ef9daa431c192fbcbb02a4733fa678a50b69b171d14e0abdab10a520a1ccb140a1b912a3caca4b752b55baa0d554acdeb09a386ca41989ba2650a05ef497faf2d490e90eabdaedaefd9445051093f2b679b472646625d2952756337cb1 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b219c3155855c14688bedd2d63bf6433bea8fabe77af8d55093587045f4a4802e672d391e6a9c72612a692ca5e5de1c010c75a681ae58e63a70329f8f43a6cb66138de5bc8443ef50d7cbb47f661686e3d96eac5e4e57305c983f5b17a958fb14af24c3ca52b0cfca0c9c26dd4d5e0876d9e109c7eb62583983e51f69a639839 +S = 1d2905c42f63a020a53ccfad355d0827dc7bf33551c472c28502ac0ac1c905f3d579db979d815377fe07bbd18306da5c938003f3e46613c28adb4ced2cf43f1bf9a32feffe5b1c0a0f3a1f8875790967df12b6b1366a580d713e44d04914cc324e35da43727306825e6373cb857894e34910d60da76f89964ad015b02704d6876543e2f845175e50e00fce5f389436dbafdbe74a5a90f807f07baf9bc1f8b368f52307587db4394f13994b6b7c577888a80bf79e8f9c1b629cfa70e9e5889dbd + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f7b6e11978b4a8c6a9bc0495d0c79be6dfd6fc5a0134d43873fc641095dc329e4118fff05bd2facba988334ce5de52cb119e89040bfdc77961202f1266dec80786c876ffd666297aefc4546cfd2da12a1337e38ac2004b46e9b6e0a2ce5d294f6ecc2c8e12f99d9923774f3e3f3deecd8ca9f0344dc5c969b3c85e08f5e0bd3e +S = 8488f1f23e56cf52f437b57b28247ad65a8bd6e69be2fe70534e5534b0a81d78b38a09463a2110d50b6955cde452058c46dcd32a00ce70576644239313fa16c65bed632a342337eb099eef22b82b412a6497326c21dfead4651a647107b74d8a9257c2e31ef9e3c81dc7d7365ccf235c870fc0f5d0036a37560760998f6844f0335f603660d02ad5d1dd0524411d3de55ec008611bfa6338ca171f4ad420b3eaab1e0b9e2df417351de86e5ea8748bb97990ae137fcd52ad3a362c8aec016609 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 11d9e77da9c83487f7de32110fb0ae0058d86f53e2f6244af9f59acefa90320d6514936534679c836b499cccf1dac6fb9e5cdf0c953b3a5ad44ae60409502694a7c321e33ad3db37f8ab64af98f350e1679966c198d19dc5db5a44463203802a006ffbc06315dbebc48af183ad0333f8da166d3892c033d338ac1a5d1db22815 +S = 1d85cec0da1a74825ab796480c6e1235808387106ac1411d68f313246c65040111d74a9a45ebae10ac7686fddf4a340c4f9d24685d708bbf7b0ab4563794f5f90e0405b5d7d56c998e996b8bde2b022ae45fecf29a21836fcf362042e77e13cbf67b8a4da3f1e378dfcab2143aa8b9a145c2ee7d593e31626baa47fe623a3c3f859bb63e9336e11c5ff398a6597623318e098230b09e553ba0a4257692a0bc0a1ce1c17b2d541b52d134627229c141d351c16f1bdfe33384a9e163ecaa13e2fa + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 46bc5316eb0323f79079d3f3b9e4229a48ed218af1c94534ef19bbe3f50ffbfa68d3a07ccb2577d27b43d6c99c0d2fdb5367e4af35df5de300905908894581eef6e243222d00ddb68dd8b840db62f8257fbe5118f0d21cdd6d35aa53ee4bd8b15ab2e310fadd7e2a2eff22615e2ba60334b90fcc08eba9ac9cd157cb0a6927cb +S = 0983f33ee33643324132d1caab58adb45f4428692e62f99e85d9ef30ba2bf878176c54dbf2ef226a22ff6e8ec31793335315852a4f3b52805484ab69008f8050b3d44927447459b3222a100e232f5d2175fe252760b78f7524b01ac6ac22fe10d5a3b52d5bd4be7eb9e715fbb9e23b3491fc7d5880bd7816b6638d2d0dc7cae1f3020baf7cc7c142a81c373776bf2c11cba71405927c1b9f433322fa3e1f26bdb058ec06c697518c2e699f2f2c163d11d056560df35b2e1c8d286597a18ac6c8 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 18f2534e385fe93d9ed1e1a2bdc26656215f799fffd32b9c11c80fe3a02bef68e330bea18797cee78f2d43205e95c89b1248803b14db3fd8ed81fbe25cd07d47a5c85c972b112c674184f3f33eeddc07cf0f301f92e981cde038295bea3df3b107c0177a4c556c835eded96384510c6100bc6f92a086584290f7819572fab76e +S = 873045c19a55239864169e9698f506ec78647df2be47ac986ee582e9ea11a45cff2254b35b11d378b7d651d8e1a4a0a122b500aec42056c128878d572a4fb4d7cc7647a1468a458ed0a8451b53382e52df83f323d827abf9dfce5f5776f206f24893a085c92ef91c574969610faae119ddebbe9696b7e20fbeaea66f39d2bb8b09c28d8e6b1c9daa4e81a693b68071966667a999d08b272207cb35161a3d962624acc4037a47f861fdaf05b5fb63ded9577982734112e1141b07bb54aac17bb8 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d4e8d5053f25e4c37e3780b49a5124380571e2e48987facd7fd9ab0341a6495be20990721c2138ee896fc907167fb147b6cb948d53dce3580ab2b0429766c1cb0e0ee358cde1807cae9c747581241dfab96cb1346599d50a62646ba1cfc0ab23c2bd75c039ade5f354852907c1868fd9771ce2dfa706f769efb78327d2fc2fec +S = 6aa3dbddea5ed1b4ca6c870b263e44b174d0abed219ef5bcb160e3a9865b3ae7e088197cf6d3c5a77a947cfc05a9fb78af7cd674beed01e1175a76c801b372a352f466b36acfadba7f89a3c718a48ca811ce1111079f3ab3bef42e6913662f94a182c63f4c66685ab7641b778dd5080e2047a58da0fd9a74f2643a1273e0e9b0c6250c83fcb24ca03d60e06afa83c780756e601c4240a031b891cd84a5e375153ea96a195a045f9d2f6e9c16466965b03cf1cc7cbe5eef5cf2f3b34872a9e0c1 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 92b49b6d13bb262fea226d23eeb42305809ad6f8c1c7c4120393f11b7da5769242171cf174d52933b4467a92de2fd295f3d4724a5760ead03d862e195f69eceef2b91d34d91fdb6d19dc72828dadb9bfdbf1a31fa60d11ca0510eadc34936e688ae4c7bdab63e1e7ff2b7c7963f5808a1e3a90fe1698e10744774dea65eca307 +S = 5061e2ce0d28980e6b5b59898d66afccee4b94ec380e01da4c2a914f9e2920268bfbdc80eb3ea351fd91f8a5e6831f5349610b8e44597894d20343b6797ca41fe7792e4ae8f21b3bff2fab5276c6a96e50aead06114068be825fc1ebeeeee815bf83ec085390067e0d55fe929c17f332e9573b634b93b9825f7a3e891699a2ab93e43b5de34819a179c0975f15966ec93e3073d129f963b7630c7c09579ea9206b15d898183bba362237508ba24c45d0cab8aaae7d270296d902d2243c984fbb + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f64fa52ee3084051e1182d740161999c803b490ceb0cdf7186195a5def9bddf6ff16b1f0f1e68cb8c61a14f2e7869f260d143db65e5bf814d9735a31f307303982ab8e7ddb7013b137b66e575c42217b799185a1516b0ffc9bbbd1e0a99d447a49b944bfe9d05ca2fe94448aa6bda8038b592bb30b63ac919798c8515986a022 +S = 3aeda650a0dc5f867801a6e4b3e954c05b30282894cc666fe879ded7ab5ec09ab5b012f64833e49f6ddb2ceade98ad0a538e7993bc24669df74b94f42fc915fe7951c497d49cc30e75b35e7f626579e23ddfea554566734566d45fe74bb5c51a4f7d73ea00b646c2b971bd24a8a9c2ae392033129bf9c8070314e57b0c941b2d4eff23e274d3c55dbd75214079994a2c5b57258a68c55bd49a4462e4f6cb1eb825ae6e4f3edf9660cb33aa52bf4522dc24b8ac6c326fe9e6206bf27349d155c9 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 316979d508c9eb0813f9a539a80a4618005c7d2be0b4cc7b798e8c8d8eb53293d410d0e49ebfdfaab9673bda95c96f6aa69a33be0a8e33636cb712ff280daf88b04ea7b52e081bb26bf3b318ef85e21c6ac16c07525026e6ced2fd82d3763a928cc8053000cb278aef4814dafc652898127931ed001f2e6c668a56fdd5185c19 +S = 547c0e189e38c2ecfebc4e5223271e70c0336e980c9b611af440b68c9d4fa0052a4296be042c44771879abe71ff561005d7b50b2d34457a1ba30a789007f515499e9f1d61a82c4cbbeb4ce8251b764b377adafa2a2768b34be1eb9489020710c619abc33769ddb3ff4d5e60df8edd0cb288ccf5c73201066bd70ba09bb765674e61bf5b04ed7360ac50b34bab9f73ea17652398f800b8145d7544688858d7c55a01ccfbdb40db2add729800ec5caf739f5420162cdd0fc98ebe5ad004e4ff589 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = dce8fad30c4751b206d47814973b3a2c7761b72770f7ac5fc250f4d2c76f4fd2d36563fe5eda007065e9a8380d314f098a285f333fb3ffd126f49544736389e074214de4bc899ab08007fc32412d90a2ab030c6fbe9f01792bf65d8001f234dc88c5c06f6d7ca6d920d77aea7b58865da49ac7c334e439bd99fe556eb943d730 +S = 806b69176e24fec54fca47eac5f3560196017dce351f65445ba00775a465e59c6b87fca457d6797d97ccc9d940c5a531b8017faa12ff5a5ec1c14b5f813167a78329d5674ee8942dc2b21109693dfd69dfbd49359fe09ea38bdc4c308bd4daaec5f952734bc0e6660a1ced763b70ded380d784f239aa17e60fb636575f59aa615d811d87dfe671df8b3606487568ab82f5e95e50381ae9e5068d3fb7e126f74a24d2a31696a8702d1abba1e736d6adc07dcbc3b92f77821118456cb42702c516 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 265b1ea2e131c56f74c85020a799e29dd660d5294322ac89b06f49692ee561fb30f52ce1e3ea614dc226616765afb2ef99ebb023b6a87fe32d5f441361ba9541b8532e87f1bfe5b3b8cbe0a6770505fa707fb2e809cfae68665a60993dd33f64e6fe8a5cb2ba39e97e3e33a688a3c10781a3433fe3a0226184e705c56c3748ad +S = 6647225a902b41083bccb89347562013c7fefd8c0fa3ccea39417d6ee12b96b88b45a562d6e75c42bbe2c7f5b41935f8c98daed11919e19adab2164812fabc5330c8810b187751a5d12749d5615137b1f383bbacc06f01593f66d8045f9355706bae57cdcf243d113dced9556301047a25afa66495065cbe4aa066b2e67b7d7bc18e68420b6445afd9210648b3c10906a5f0fd972c389e56159060c3da237883c752c08c75d4e80e2d38d4128b07b68f57c90edb014f6da1a3ab0b466ca89692 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 2a06bab7a2a8f5e3ca740888809fe229524da5ae93585b4fae4de5b3bbb8335950a2bb389a5723a2ac6d416e16014656ba44369edb379cf777b27ba2d7ab87d864b5956abcc751a5053f2f788226a4d963b69564e21910458b743a59db2488900d483296317fe5b27ef3b9eee9966278f7abaa48cf891f03939b081ff0ac9e49 +S = 273af93d9d96ce400ed154374c8cc60cc9a4c2944da6587df8d7f934788e9a11c0e094808ac759599b740afd27d8e3fe3ae6d686b1d85a29c264fbc15cc61b2310c5d4cc1e80ae599f68cfedd853e5af81ca48681380c1431f2aadf591c4ed082aadc1ff2e38920b81344cfec8170d1603c5f70ce16a93e371b6c8abf853d56d8651916ce8db187538dc2aff47123a48c3e1561b477d37a08e05a823924929893e16e8b8bb4cbe8d35fb9c00a7e279fb60cf2cba06be34630dfc6626e9c2d5a6 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b1e973f21303aa0011d416642cecd45511549b45bd22f910e44bdf7a94b960d8169db60d150786b801b465acb6269aa159fa2529837701e5a263a7f89c1ad3bcb5e18ab4b2775cc23eede79a8eb89c774105c60d8a4cc7be9028a5101566c65f565bf8cf337bb5859028a417fbc862408f1a83d918cad4047843e3ab49c4c229 +S = 8eb2ba2367b8f0b36b566c938b4d9948b4a0a87dd1c8300a160ec024ad0fa37174d1bba2ae6ee8c7fdbb4d172ac9615f1428599030a33515e2925a268b87c867242ccddcce6c9c03045eccbfee5eeb6e0ce2d89a9c51f40c1732927a6c7d283627dd87eca27270b117e658a3cc9d2ca7da46a76097213a7f3e2a58d7c9d306e796eee94809042bc6768d6cca4e003a40529bffa267914a232f315ddedd2768c60877bdcb05c8f2026179713084a0daf8b494959c347fb65a4414034d21c7a750 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 39ab5641ed11ddc070c356eb6f8bef88a50667a5f460c682b45f4cab4ba3a765fd2c694b061cb839e6be4769fdc886dc57dd16fcc956807f3d42268e4aab7a27081c6dc0225f2b2d2c8b05c3373faebea328abe035c9055b697b41f10ab2915aff834ce668639c63ea3277414678d0f431ee0e9a6040bddee211831cb23f56c6 +S = 83826dce62d951ec706a2415022cfa25f39801a5a6b5e0bae92ac5ae65f129942b72edaa71f103fc8baad589095f045a36ef0049046c7d17cbf68eef96ec1bf4dd638abf58f45463e096eb378c828d3a90efdfe5625cc4f9a8b28aa327a80736866d92fb5d7beece62dd242608f2a1657bdc7427dfdf754a0a79d77e31b0b447bd52d83c54ac942ad6b7b335c421338dac57b9219fad5c7a37f8ffd0ad647f8a0b6c0e08f2fadf67334bf9229004ce7d723f3dd7244df4507d6e6b0f92ca9589 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = df692c2dfefbe4fdea6a4320ffeeac3ddbfcd8fd1623250f2d343170bea5a8e9fb375ad959d7913488c2a1cca8edc0cfbaa4189154711b8c993f17a669bf0ab2d50bb738d68af9793e1358aeee55da914a761b1eeafaa09b92e769d66526c5ae552d6bd4dedbc5d3f4a38f4e3aeda18974b9092c3f865d43007250881aa282e5 +S = 2d8504a322b0b2e9bf261caf4d8f34317b38ffdfc9e767521eecf86eb4303b3829f94b45e2461c0a0307438a1a5d0491402461cae56d3fe38fcb23a465815911433468ad8997c9dd198331a1e38f27d708a7dd11a98f45d90bee652f2a709eefccb4fac13f115cca2fb28ae2413856b59738b4901199ce283214d01940141dd50bf4f43185cae831c2fcf2e0f33bc908ad3251e0eab2d40026c3325ffcddc9c8afbe518386ad1fcdf2b80ce074eae1cd953d960920035a2949b69b11adf2c55e + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d9198fbdf1cdc279010df15b49a9fdd641cdb588da303f12078dba267c5721e2b5a9725c3b7c107e231c6614d7ddce231909b17c441eef92d53681892bc75d8f8b8c996f67c3d463e099d22a89e3665b6e0e95f95559f847434162de423dc3fc62ac4c1ffe0cd4d3406c7bc8e7248d2748c3a926934922db5897a54d4a231cd1 +S = 3be3063812a24f11689d661860fa8ee01acf11eb212c39d09b00eb4c5684b773acc16fd38c0b27f38307e2e28c2a1416009517c44bc796e7d4d7eacbfde48c57748c76da00b2975ddfd9bff1ffcf7c94c8f58526f603ad6690bbfab88ed03fb0c84c2b8ac47063adb147809e5173348e2958aa4f378c992a23bead7a576e71006d66efdfb1cb03f8aa737e05b3b5bd3f0473b6979339ef89a1ed19bb14ff03235e7c17fece600c414e2817b90ca6f6b3e72077d936d725603f4c19f94bb8e060 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 0bd0e3387d0eb2711d8d5467e8694c2118024430489750e4da1777c09633702c93b8a96a5b1c8ecb4a56072337f3427a5767b4045da15a54e6e245cc15ce55587ac4455c396be7ea688db139b829795258c37d0d16ffa63cc86e0e26eaa8bf37889bbef55f2248363fda5b90b3317812e4bfa831bbdabd054664dab65de83531 +S = 0b721aba52033a4575a071c01be94dedf8da918f86aee050803572d797e1b9fd7da740d932bef65a99ad1a6db88865a7b4df9a50b9a1541fbd58555455e24d9ddfa6dd34c15a164b3740697d23f1fa94be323619dd383369437ae1ab303b72b50e433d97b66b740f90ca259a43bf714faf5c4e765f52773c7ae9b4dea1910e16ce595dd9bef77189b89bcc0de88051e45a948196e898e1f55e756f74a5a7b3e0e87415ed937073bd946cb77e6261cd5f41cfeb0ef22184e16db42c62d37c4a6c + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ca6a6550ab39e1670a6f82f54839d52771c462336fa382e17d71714bdeb7a4e0ce0f5dafb98a7ce3ab50988908864e9a7d75d93536e8e32c51d59bc2934008b35a5d9d75d3f50dbe6d0a61468ebe47ce8471ad61be2a8eda3c380ca64419c0cb579a4e2963403c003ae704b343a967cc6f01053f6f302bf325e0ec7e58087331 +S = 262f0f998c486c51d7719b8b073258ee3100841afa49eb36f2618aae60321637a3f918df3940dd87b8af96126106c572a831b4b1c793dab86e8c3fe9f70f1c0bdf344587c3b9e915c76b6f84d84e63151967276ea6f8fdb996ea02d4b30beb1a8aa1524573d95826801f98cd9a1000b14755e3541f88c041115d9b6f105cbb8f41d07963c550666c1f78b89feb9b6891db0f06a1c1fc8c3b7885f9b173e708ce2e2eb32209b3e85811176ee436444456820f73ac69c2045543864ed7ff86e52e + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 894d3ab4b1ed51cc9ae29da223640bc6b00f4f67c42d1eb9d3389e99519b1b740fb9fb65c730f49df65f7c08e926812e1bec5b57bee7fff29897753710948c0c898acc25ee82ac708e6305b02bb8c7674db3ebfadc72a810ee82ea3bdea200da9ec9943e4e6ae10b0df620e10fa3433cef6ce699475883db7f00e5ece24bdfa7 +S = 7a7c24b62367501c1bb93d7b046364a2dce13cfd3ec27b3ae7672bd8a7dd66ac0c921ccdf2ae2efc6a0b3a8676565be23fecbca795149e86d5dda94f4dfd49a2749621a49bb1720b2901d9d342e519ef963eab7a1b45a9ead19ca746583d6d3b26386b161e23b2468cfcefe53033ffa83b58c70d3508954141ce0fca9dd2cd41054bf7b487379da9a141421cf8645deb3bf9ef0b5f02262e422e26b1693afb6f1c03a46a11ae793340723ad29c38bb0e3c3e9cadc6e00bcf4fe5a546f41d8e53 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e3ee060950f937be94454ae159a652847d533c3467ebbc2197b5877f812cc32b9cbbbb92b6c5d8cf8ae8cd139483114a247592fbb228a87071cf471826eb7a293b140c890ff688ef919a65460de77a524668b895c44f17746fbad1965d36cf8de98160b805953167d1e17a416cda75e309b214ca4667f373ba008cc0cd14aa9e +S = 1f31309fc7b2e33c285290d65727bc14d2c265319c3512ebc495af884a9c24554397d0be039dadaa0aab254200c024a60e53f6767384a8f731b72ce7eec18351aaab3641fc0330b642e6be2b213f93b15301bcf90e6e0d01c93fa3e0f0e02471b24348488d28f370959704d6a5092f7304f4760c4062ebfa50df46116cd40091c5d28ea2451c2706f869507459117325b4be2de63441d827251a02d91a39cd0797272783fe471198cb58ace88bfab0f7af2889675bbd942097cd4e5ce8996c73 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = c216215e3fc1fe6d5bcdf47ba1f0f2899ad9fd5d88137f82562de190d0185bae10d00b54383e4556675e2b1ee59d7d38a185b215de9b4708298857958e786ceb0bc095af45c3b8fb7a162aa7b7e27dc74b8a99747b8e0ed077b0a9448d55460c9d2de4f6cd16ff667d3e1a9e7e889b3c7e32db04c7b47ee02aeb002535769118 +S = 474b58a2078a9cbf1f31ed0156f19013547cec9467bf28a2e092ddfcbac32cb8c67dcfffc231c98b09569bb48b1338b7f1f5603a2a172e490e579ae54eb812d14d614cebe3589d61842de89597ef4287649254df83059c913fc25b244b57091e1cce2ac0149f3a3d6d066dda00aacc2f9bd828af23bc85cd454b933c2cd1388a48d1a049a23c790c3ec48ad5ec5111bfacdb519bc1323225404eccc01275fa5cea09cc161b231f11bd0985d542890128790a620159deb64bb43d93de556fd3c4 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ccdd22585185c0ff1f165d7033e60f3b6e9fe013492c22d1c4d902bc9fb56007cd3bde9b263237175cd2d315302898b0e5bc0243f570767204abd36f12b74b76f468719a05ff92c4194d49f9b21c4edb77ca8f73e137822d38e2b924be4eb7a02aab02dd57b2790f3ed1e8a22288dac60a13ae2b7449ed0948c4db640b424c8e +S = 8078a607c5fa00f902297e563b5aa64d614b1efeb402bf0b8b23b73eac07f7dc301667cb5563fba6844e0461ee1e351456862391f882d1357d7591af70a521ddcdd5a3f8c231a158bc8e7abcf56190912291b9ee5e8dacff23adac2685a10a8b0e0eec4e984ab3b61d3cc076cde0f96c60a1bd7ddacdacb7cc096f1fb2f6cd56d0411b3278b6b935c1228787e8ed55ce67eedfe363c375a2e43af770360a203db32002372c01be1015c9dd4f9b9ef2c89f8f775e43a21def2fd95b80d004004a + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b1e973f21303aa0011d416642cecd45511549b45bd22f910e44bdf7a94b960d8169db60d150786b801b465acb6269aa159fa2529837701e5a263a7f89c1ad3bcb5e18ab4b2775cc23eede79a8eb89c774105c60d8a4cc7be9028a5101566c65f565bf8cf337bb5859028a417fbc862408f1a83d918cad4047843e3ab49c4c229 +S = 9fa4e64bab336017e19015ee7ea1e267bf426633fb2ac5f4d65bc754aba17f7a9f0f1ee2bf0a3b9f2dd354ed8eba596f5ca3e26495ef268658bd247474d3524b11a2953f591f8abb14ef4bcd44dadc36a41f9daef1bf88b7e441160278c8a39945524557b84ce5cdcb79eecbad63658e8470d8dc94b44aad1f04b05400ea04e5f959dd18f6f718311f6dfec98a7e1aaa7ba11771f61448b12d7901a2530e830dccc531fd0dbe222215b3f7b9dafa5fc20d5af15ab312b621d71b2106150a801b + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 39ab5641ed11ddc070c356eb6f8bef88a50667a5f460c682b45f4cab4ba3a765fd2c694b061cb839e6be4769fdc886dc57dd16fcc956807f3d42268e4aab7a27081c6dc0225f2b2d2c8b05c3373faebea328abe035c9055b697b41f10ab2915aff834ce668639c63ea3277414678d0f431ee0e9a6040bddee211831cb23f56c6 +S = 711ef64f5a5daefca753a921e987fd51b6791c260ef59536d6cc5d4841cccc717396b9fac090f9efbf9740608cf8749e53101b673e937fbb42960962288bf585a36fd4aa9802cf255df34bc79cad7591fea8f1e8672cc06ac7ed97615cbd432b19e0eec2476b37f505ef5608c97381fac223842abb93f01056d895070e27116a4fcf908c0730838ce11d76d29424bf284e8e1d010673ab7fa6286b3015504618af38c22fe8646cac9e6121b46dfbc877ac4a0c1dacbb582e2f2e5af89fb33d2e + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = df692c2dfefbe4fdea6a4320ffeeac3ddbfcd8fd1623250f2d343170bea5a8e9fb375ad959d7913488c2a1cca8edc0cfbaa4189154711b8c993f17a669bf0ab2d50bb738d68af9793e1358aeee55da914a761b1eeafaa09b92e769d66526c5ae552d6bd4dedbc5d3f4a38f4e3aeda18974b9092c3f865d43007250881aa282e5 +S = 33b2b266e48fdf380d607a9472eb78a4828ceabda3502a5059f74af546dde44987d0441d3185978b0601faec24cf5abc85cdbf9e8217957ef54862daa8956bcb020d0a8a2dacf8aff4827d278417386b9d51effcb29a20ea4cf504fb52ee4188be393dda5c58b76685a0889e9d92cc45371369d17ec35405e13ae8c18c4dd9b36e493bfae713d581d22f7b419e386c7ce929fbbe3a5f71a07d9031352b97b0da21ca50bbc5c1cf9d804211828187241dbde72f41eef30a861b34fa00777a3a3e + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d9198fbdf1cdc279010df15b49a9fdd641cdb588da303f12078dba267c5721e2b5a9725c3b7c107e231c6614d7ddce231909b17c441eef92d53681892bc75d8f8b8c996f67c3d463e099d22a89e3665b6e0e95f95559f847434162de423dc3fc62ac4c1ffe0cd4d3406c7bc8e7248d2748c3a926934922db5897a54d4a231cd1 +S = 3876fc70b402ca8d968cdf7a2c164f72fa2f4b779af0dfd59f9bcf71af385a0b88c9519f2f34fb158bd9fb1dc08731ab0153d7509685cb804852cb200175cdfdbb0deaa2ad1db082baefe510d9a5af4ea499aadb4cd958235af992af607385f0db6049620850de25e9ce80482ad7875659372c2284ad7592ae46d14193842d334b4a57e694391ca2a37c7da57b00512acc8e9aa9caeb5a5548926362655f96266761a3fcc20dee6aec9ad0b88747a67a25100449432c66a23b807023fcdded1c + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 0bd0e3387d0eb2711d8d5467e8694c2118024430489750e4da1777c09633702c93b8a96a5b1c8ecb4a56072337f3427a5767b4045da15a54e6e245cc15ce55587ac4455c396be7ea688db139b829795258c37d0d16ffa63cc86e0e26eaa8bf37889bbef55f2248363fda5b90b3317812e4bfa831bbdabd054664dab65de83531 +S = 8bd7dfbf9840cb0822e1d724bde74d5f169a8f8ff99f1b6e4329483154072d74c6ca415529beb585c42d2a291298ef761cb8b6f80db537b255fe4e974078905a18032eed866d82195d67cef68c41938ac19888fa6cb87029864790d541468d006b162b8b28524615dba13a4f66b740ca82dcf7e957cc4e2cf86a912e3b29ef5d12003405cc2e81fab5c592238fa3f532f81315bd421b5a35569dadbe3c126acbdfe45ff347b57cc2bce689534e6ad54688d9482ae2d03c189f0e3f952094bcb7 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ca6a6550ab39e1670a6f82f54839d52771c462336fa382e17d71714bdeb7a4e0ce0f5dafb98a7ce3ab50988908864e9a7d75d93536e8e32c51d59bc2934008b35a5d9d75d3f50dbe6d0a61468ebe47ce8471ad61be2a8eda3c380ca64419c0cb579a4e2963403c003ae704b343a967cc6f01053f6f302bf325e0ec7e58087331 +S = 252960e43a3b5316f10b3a67c720c2cffe4951dcd1d69020d5e4e52ffbce70cea4129f20ea64cf298457c0a18c11502a2741e434f5b54a5db3949c280f361277e7f3d0be3114100e5159bde252c0dbad9a63a24f9f6e40d4407d934cb4c9f41c6d4f525cea5b716984e9ac09bcdc3c1605075c21641a331c891a8e18a54f48bb4d3aa1fb3b7c925bd46d667fde43100fe8397f943c4fe5902c42b48cf50ad5e2ad9978f84f52ec8cd96d2cfe3eee1613cccfc4f65db966e06766e04d0e728183 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 865172b56696283b1be63176a8c15b0cee1628822db57752c805613e48fa62e3a442b991c0bf115a333a60694d56109659c25d371fb3fe38ad92076e57f10e28fdc48c078cce8710c7596e00482a45dfc1b401d8888c3648531def15409ddd411840b5bfd4abd38560ab23e2a0274112b153df10712768ab4110e2dc09e51957 +S = 8006a54932620df8a1c3090ac7b835e5edce73ab1eeff8a47e0810dd1a39f1195b566f41764d2854bde651fe799ee92d0942ccef5cb80d5d19b79dc2b4fd3d687cf8193f675268b5a2bc87b4b4fa51dc592a82cb9b29a94ad5110df109f7f30dddc6fbfabef6324637b8454751b51827ea813055659a248aa8252ce6d7b9550fd771c16770da14c83a6c055bb8ba2a7ea19cbf40c8f8730a018718dd4c6e99ac000f2c6a1c8e447870db3dcdd65f20c35528ca423e29801b64603c71c0f3b38b + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = eb52b861cb8fabd2d97fc9e88ad5d3ee4c524ee56d228778386fd53261311eefa3439c90a7bce1f3287c1923550590cb768d74f1d351dbe0d12b07665f67e94090d3e5d38915d51d9e4150eab8ab2c4bfafa4144a47e70c537c4e5dbda679828fc281a913b418e3684f7f5a77c6fb0551fc23f46a7534f0db061f4fa99d8338e +S = 34fb41f2fd1e939971b33693ddb49d6769a05f3074c0dff3d036674a8c9cfda505f3ce56738795ef0d3e74995ec9f56b9eba0f845d98041170825fd0ae20759bdfc22715789b81453f03afca954e54e7ac7a09e3db664d78abf720fb4d315aa1510af871638c33651a589ed494fd3e3e49c29e49f712d9f8f73ce1312e0345f6a442fafd05dc88869b66110f12ab6d85be573f7aa8698a38637b5b3a4395a7bbc6b0b53ddc5df4994d80a1f49505660e07dde3717b0bbc0e2685fa380f825cff + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 57c82b90a5c6b4a97737ee971d394d8b50aff89e1994cfc2ee90adf91dc9eac56efc25df03cc402b845aabec7915e635f7d441a07f22e74123d81addeaf2c058769b1f6de48ae5a2f4916b7a6a733aecb4f7cf14cc3a9b2960494eaf31ef55edb9cca1a210a7abf41006b5a9b8fb5299ce402863c886f560ed0bd0d5b86bb26d +S = 56f6a89f15b488d2b7f3f79b80718e068dd208f4fce68259ab4ec92dbfe6f70f9afa88bcba4b0edfb70e61f9621b5ce31aa3c298f2cd616622a3a85321d66b274f11fd16cd8f21c116959b4c498a34987a13ca1a85c2ab6fc861cea2b61ed8693ab6adbd9e1d7d48018d2b3daeb8aa34d1b518f29fa8f29b7b3b6339ac1d766141586022f670d34e97e8efe1e5f20b2ec225d6201617527c25e7f6221da5fbfd947c0a3b250379f928b12f9e0028e4ce53cf63775948cfa9e6255b66ac190713 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = a3031fc5d6c6fbf91d8d198fcc651933347460467f441bd4db5e80c7db1b575a19b7bad021a719658a2c818566291d3cdd32fdee14e51648547d8a7668a42a964689396df2337359a0154e8719e280665fa2c15c9406d2b718f8bee6f27760e971a22506121214bea56d0bffac384b9b04ed36f9c74e580b70f8a57f403b013a +S = 8118158305dd233d4c9c86ded392281c611be2e9694837329644cd77b7035480d5522e14a5d50a37312c650144055f3e06d6a5bacf0c496570b32b68226b605b214538b1c5b38ca5563ba50816d8bc2db3e9eb211098ec5c5dd65709afdf288e89d16ec7615fa5db66368e8cf065712f7fdb5ade805953c6afedd2d4dc6d62b0a91a6a1af39c5c8c1497f73d4bafa28b87832dd5b8f790d0b1b2ef67b028d638d26b15a28064f8cace1cbc881bed423358f02ca23c4574af49316f8f3c95697b + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 7224091b8f68b00d49d2ef1bfc5ca7352e852aee73a346768f7b80c8db0f9d24eab767c06b73adbb51808c523229ed56ede04fdd908dc73979264426bb801847c365b4d43be6b38d2ef21bf26d28dfb532eaa87004b3d494daaabfa18377429d45557abfc568cb6b265224637501843b45cabd0d96bc786ffc2e79a2fd9b240c +S = 32e688063ea24ccb2ca998fb7091877c103ce6576b11a175bc896af454042a5731b91c1c58b4d8e38f0619f6ddc8ced6b5397545f9571a4c90767593d11c00b75eb58a0ae4932265f0ab1790be2c83dff65357a301b3b3e2ee2e3683afe0b4b35ee8b6e58a96b4009c98d8faba75f86ffb548f0501884f3528d8eabad353e28d0132c4c01fa3af5dec922f02eff22020481615e4cd35b9eccfd711cb3b0d65af95c0637d79aaa2433f2854de3560adb284248bac8cbd4717317011a5159c93ed + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 9eaca2d3b4a54190ede7f7419fbee6501e8121552f2dbedcc04d2d68d61dc8b8c6eeaa48a8ccc51b095f2fb8e00fbd73c36bd3ed5bcc7ade1635b3121b7e0cb283b270c5c6b543f6732aaf98259338e7b2ba9791a551c575efd556aad9b808c33dbe9c51f6a8e4aa95101ee95594803652361448f503c627b3f3bc37f711e572 +S = 12d985a3c218895ad530ebd19e1b7dfee90e36ba3897367d91ee3d9adc03eff43d6d1c791cf518d5d1f5d74124659af2f564223679fac2ab04cdcde057f398b6de1558554d96c464cbf551febb8ba88e7c92c6f21b655555bb79950cb9f24596c2ecba1577793927b113c5c26064198ca2907488ee16d9f90fe3648128b2889d89c6d705edc77b0dd7117fe07b021097ed66fc6286d80312643a13d5c1a0e379af61bc04005742ff5c0ad996119a84cef874d632cb6cd139d6988835ff11ad18 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 23f03a3bc7e9dde261aa31698c30c8668f77434732f8c5f4d16fa8b0aee16f408bdefc5079040412ebc4bf280e69e4c45d55d40e708e15c6147a032aa1e7c21a884e777a2c59b8d8f3a2414e9cbee8aad37ad3cd0264e8516b8e856f748e711f41c9138088f2e27ba1cd1da3dd39bc60196da64d938224defc329646cedf6598 +S = 1e889cfa7e1075e420169d175150a681b8ed01c88075c316f19ba7c18858d823e80b3c16b80a7c059d9c23f84345dcc65539cde75bf1b587ec57df78e4ecc9ab8a6a4068a4b38695eff1f4694593b9b33ebee8dffd98ec8d32aeddd084584dbfcc50fb0401b8394cfe252ae96d2431c24d8bbb503fbb20de2f89df03762e033cefd3c11057368edd5cf81f9e3376ef5029571da02048964e53c7c2644d90364177104b53f4cecf46069505fcba20a3e0361bfb5ef845943d6e89c5d91aa075f2 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 2ea1e861795353dd0fbcda4429bd289f81ba668a134b1888253441998598ce0f1269319d7d234db151ba920331d0696e612cd20089684b4db5e9f5089f15f2d431bf115746e6ad90b1a0d26b8051a2938220f78806ac4af1e6fad433c4b3f242948cceb85a053c243556e2a49da69cb6e97f1f4b147fdc1dc05027437bda9802 +S = 91eb2698ae0441ac23c0ea6f51cfb204c0b533cd622fdaad6f9c9c5d222fff0316aa685afa84307ea8f3d4987a4b5b3a92104f2d9168da3a61635952294685791697147c4110aadbaf87384bffe5158693e03c47f15618fd02d938fb6645762eb04d23ed4c6f607dbdecbe8aba8f1ebd2205bf7ecece335b009980c390e64a404f985194d3214c2f046788c6000ab8341043afec28ea2960a20876c90e16a37d2fa244502483a12db031dffc9f3f7ce595dd0d1d4f6af9dd2369a0238d723bee + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 117d3390adabe40ec2fe710f03ae47205a4eb914daf3984cf6980436f0c18114945f4eff25f4f22b98f7176c007a9bf94a0ae5712ad7751b5515bf72f1a13ae149e8b4cbc605e8ce1b295249bf40421ba0d130ae16264f3515ae6431a89fd93a9adf0dfc7625ef80b35ccbad2848640ec66b42d5852a4d209f2c9b7cfd0387a7 +S = 34ba40bb529916c82e3eb7b2afa229874d041983f150912a39b5be698504e24fc33923c0d9a7c4dace93321ee38d01be1eb0d5fb7a5edec12d49d1eff22b7be027f7b6d6cd26bdf646077277f9dd95d736fba91ce47421c7049a94986f5c1de78b68be644896174f065ddb745bc854fc2abed546b1a793b77a95abf81dc0d7598533223e446c87b8226b332d9330e62e38c8b598336cc124f14da737f505b3a87e1c721ef45ab0272e8340fddd46b191b27bea39bf43a401181f868a75d11e8e + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1b03760745ad3e9ef29017cd7ced516fe01bf34473710af2d066414915f7b2cb4f49fc6c329096960e2f6370fe218660639777cf90e2562cc794803365e2616f594d89fdda8201945a7edfc2b5f51878aff596c99dc78aef6216048f9d52c13e21574343a64a279ebec4b44a0a33b0c0ad7d77bc01e64e438933f4e5270f7a40 +S = 9ec54c588ff33aa4ce6c9b63ca61d61a04720b8e7f2d2b1d41131b1b14cb200ee96d14453a5f87b8bf76fdebb3a97e8a1ab99c8e5582ea64c33e2252ce40ef44d9366f5b50aa249bfbb9ea46ab63f7b675321eb9b7370c8e6d5c9dc48bfb368609071d134a5c19467e7c3bbb917a506e680bf7f0336178e3c09ff75793edf497429b0918c5ac649ee03ea95f88091ea0172280e9edbe6a411b5178bffdf1e79adef41c7a5c0dadcb8e6a33f07faf220203498480d9b956ddee62119227c43980 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 068dc1fa4436e47a48df07f858483954aa64f531240b024866ef98010ad1c4442af50d8c23d3583e990f093abcab6bafc97c5233d3daff13c39c43e79e44e86a06764c8904af4fba04336f8f2147328ba3a1c534c61de269beb1f6f6f7a38466a1f9c4196c329196903382211184569141bc955c863a74f45d16f9569f5761df +S = 233d022e9355fb352418bebd5274bcddaddee2b5dec9aef9177797f09413f650e5887f077c1260101200629ab3a518e6ab9be288ec87e9caee56be28f27417ac4a7d6ae9a638cd4eb8d4fd566310d4a213afb1cdbddb066353f974c66250bd66768c3bc82d05a2cd1a624b0dec844fbde9869b186afb5babf3638066894c4c84d9ac94fca8a04e8b2ff341ba7a14238548a950c0fe72ceb877e0a3d41f57813742c93d91ae89660ddab2ffcd93eb59b5303fcc754d0cb878ece95c43c1efa731 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 564013d31730e9a009973f3d9506f360ac808acc14812277ff3ea7e8e22f4ae484cb2f495693663a02511d7c46a2142003b25163914714d256010db297e0cd9e8d067b72bcbec86880be2481e9a93327c8d87a100a5a5f654539502491ff42c399795d16f2bbf572ab64bd13252437bb247b6f9c27c3e978f570d80779979099 +S = 839f62e137bb53056f44cb4e522d67c07e75dc8bc1371ac7b212d29d6152302d3e88034426136b17267b7315e63252e554a243f5d7b22f89a315c46154803af7a2ca2e99f57958c4e819075bda09c2ac6f0025c0beec6768f39dcc7cf5911e737c71d73ebc107a87bc25d7adf2b77e8ca6a94b43e86a7efafe107d71d7e25a4051ca0919438443e8230bdb7b431a2cf0a8765cd2f9773e6107d2905ebde4f786466d7d4937af03f94b7cc957e662b3badfadc6cfa4f5fce724ad733131665a47 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 9532da9aa555bd4ac699401899a9b02c71238237104b39beb1018ab64cf0be50150959164530f9371e34801f2905754bc321a85cd750156aed910b9a64548ef3fbe9f96d9739e84b40b454ab6c8a005c801e14ef94b808117679c418f29506db51bc03c720d9512f33ff04e4e9a01806b0010f19cceada5b55a2fd557f1befb1 +S = 16489b0bc022fe0ac776cbb303fd711b99d86ffd38d1decc367b19495112cf172790ac791fa61bf9b4589e01a2566ecd52609030592909a2d4a516d1d20f93703f67f2dd8fdc54df1c0e6110a77609cfb4f4af4b5ff5e34740c361d56e7a7efcdc2a25cb06ae144057dc6cbdd57478d10ededce7811bfce0611c95548b35181454632361faf2cfb9294766053015b7ee27bc90d419fefe030317e29f4427863806f8ae6d212d7e8e56136e6ae9f811c6402dc90691f16811cb782eb6ac879bdb + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = cde6b142275dfa94e9307393eb6b45d4415dd33f044b9d625666640aa0f990151ee7ce829e55fdca84a44b7312a29be2e6012b71c40873c196885052b11261505a67b1b08930977cedefdb6b2f361ab57b176c253ddb437028f697c57d3b40a58a4da3f5715690522afb6ba4cb8f8af60786df85f52dd7161399818d8bddf3bc +S = 04b9933cb8de5069090166891ae208ba39d15c849e910efbe54c9e6c0c3352185e2c18f406c106ad4f8f073d9cc68c2f1ed72a42ddb1f4718afeb51fd84ce3a1247601cc7480c9436c4b09a6ab3bd4cb228bcc3ae9063f38e875409df29572afb0da0d392ff3f02a2151d9bcbccf8f51a14767fce6a5c459cc2a7e41f5af8492a9e3c3f4528f57b9e61c4ecfdc1755ff0a5eeff3267ea06b5bc0947250105638ccf2f01a2436b6244a2838e65a55bec18f0b1f2c08cd95316ad851f9c2904d1c + +[mod = 2048] + +n = d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9 + +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 2f21b01be94dde7f5ec18a3817f3274ebb37f9c26cc8c0d1169c05794e7fe33ae31dabfd09d38845f094a0fab458f14c9730be6d22d0e699ee7373a1bde0b7fa03e784536782eee1309d708197be355b624ed3bb4ae2664a5372def67082bf6233ab6e2eea7ad8a3e5e79ef5e1fcec415e6fa923798f05bda0ca9a3bdedb45f4d781ef1a4f5075cd9bb399635da3e9a6880ed021a750bc9806af81fbffcd4aceaf804ec76808ae186715c772caa961a862991c67ca8bffef6b34087b44db5b59abce09317747fc75252f1705260b13dd62ccbc745091f3c1b64f59031d340c7362a0e1066ab0554d466f209a3cf51bc64b3c70c3ce52f413d81b228fa31d9efd + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = fc6a11f997f1b3a80e41e7e5097035aaf253f08a584ebc2f916a4e06a4a87339669654dee21ff86efea70a785c58dd967fb6ada12f7a28211e9d2c07cbb3d39fa77aadc077b34c46f93006c1ca2ff66f87e64468325fa619d88627f371812864083fa4071c54b8184504622a1b9d891c530b3d492ba641ff094ec6335eba7a72 +S = 2c050a7cb38ed122592a8f5c9c7e7af7f6b99f7e4d52e3058c93b9168771963258d7c233d2fad49b314c8a3039d9e446bc148cfa4b0846b7ed23f05c39be5c22aadf7138ff8e294184cc27ba98fac103f1283d74d288305f93684ddebc851b7a2f30ee10c800221c2ae3e7d730ec4cf3e6ce8b2cde85f3a3913cd083753e1e395b71dfea96bb23d9bdfc6e01cc96aede3501eaa7f6e8cd7e648aa89ccd8ac9e24f6a1b432fc742f6c11616f4f86881a8775bdd8b99f1d66c2e35a0dbcb89f368f825dcffcdc1eef3790145f6252bc722d6cb4ce8c282d8c50a0cb4beaf196d2b0be573f9ea0688f05a3b8441f4677bfdd6553d4e1cfaa3fa645002f5b08c89ab + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d3b2e351b28170fdf42871590d9d179ce27c99f481f287820fd95ba60124517e907e78a9662e09519e3ef868ebdcca311700a603b04fae4afe4090ce377d5738f68c88d2eaae6a8ecb07a54a93000e52eaeac226e2e4727ee4fefd8ceb9e4481ef233a52a5c93abc65cc9e866bd18d06438114e67f777828ab5ccb688350be61 +S = 1a7a005e7567132e9bbdbf095d8d43dfb4bb88913fc333ff20fb7b534a3ff29fcf756bd445e684fc4d00f5bdd54225f20ca405862f2ab9b79c502183c6754aa82da62e24f63c0aeee88cc3d615c62c63014cbaf45fc97e2739b606b45b6fa55e0c969a8d86b6fe7cf9b3f8f8cc832954aedafe39563818ba56ef291acb29db6e714db2a781f046a738c2688998fd1c3ca07b9c93c5799de3eafe8a969f58817f8297855c80c249511d66aa3a8706a375e3dd7e6dfedfddcdccbfa9b7cdede7d0e42c2027145fd4301f8e14a83b96887831f5dc7f1c31737936344a2eafa1781238b297fab41ddd135ce5600922375db42acdbf1582be37908c93ef97bd1cbd64 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5aa510d89496986d91ac79a691ef267cb3d5cfb2c5c3d5715bd1802f1ecef4d5678461200d3c7b477b852adf053282fc7ca2f59aff44c73b1559c3d1f9fc2ddd3560f7d9725a37d48f1fd95cf04e91a0193114d67b4088db8de639191f888daeecc43acb6ef6b659f601f0e3fb4c3db0b20a952fe0bfff99edff4ad13979fe8f +S = 5695a911ed8274c06184f4666a42b6adf99e2b3e29d54d3eaaf1ba3aabe08cbb9428a0e0ef5138ced883aa919fef2b99f79279af1e427c3bfcc5924fec6a7634bc7f1f186b41c35abad824b67b0b2787680672c8d1c8165bd05f14e85673b09d04ac8fccb525fe1050a3842a3342a138b028bf6d30a89cddbfedb72b727d0a5101fcb071fb2687e63662377a4ecf65c6927ad843702821f8ae57fb4fd04735cc38b2111b110a3991a7b7f21662f46e21db979ec9ce7ba55dc8d57bc6429f0906620aa7f5633fcacacbf940363accfaad697a24e2dfcfb12e2326b468703213f29ec4525ef93186921aa6464f8bc3aea635b0b6e2d4f5e2e7c16bae20da67d543 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6e2f219e590420620f205378f81b7af7e74e2086f04e150a7ab31f82941eed2e8d7a4cf7be819e0bab8287c84b62e9dba3e213a99a1f35ee085f17a3100a0b26b0f7219596e9997a355a9eae19773177776b63f409e0c7bb18c327c0db487679ff2f063f8745fbf8d62d00f30a6038138c737730e599b3bad468b59f9de0146f +S = c9641d7264294c70d2720c1c679e9c55f70e36c7a3501c2ffaf0148c9ba94f36e26ddee2c38eef0ea1aab906f979b578c5bc57bd7064a31561832031381a4c773323aa30b4c07b6a5d13605738bdae686093e01bed7a8686685ed4eea5b450317ea59e20019743c9c038b719b9b8d9fa90b26e8ef1a7a8a1555dc37863afd1eb8b0c802fbdb53a575973ee28aa956c18905afef3520c6df54200709dd6ba4aeba00d46f1826b54f209d62da5230f395daaa43445371a7d250d38216ed18fb915ea1584f5ff589b3aef4d664d29576efe7805cae3bb148ea26b0134a4d547e95ded9e0840e5a62875fc45f2d59eb0e371d3bb52fa94d7f81e2e0f458acdbc2cc7 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 3e4f0cf412a6d5753b652904281207f9e25fea2ee4ad41ab2ed01e83951232f95d7af9e7094e326172d692951763b9f5b490659916c8e6de2d08d25463e6f9d72cd39bfbde9dd9aec4386a186dbd8fc64ab34908798ec997db75287b6c48582cd4e25bf8399bb2a458111956d42971b3cd50fe44b507d21e5f9e89c2593f3742 +S = 36b3c7d7f47de9dc8118d6ee9d14e2d28461c099ab4ada999e82341395e088e2d09bed118841ff2c60b180a85d6abfb3b9903c12ce201337908659f8dc238aaf3b08c0028cea819616535a78fddf2e69e63db670eade0460dec92a9e54fb7ac99b7a23720bf4659d2e45d1649d76e079a211291b1a9c13fa131be2b7e37deccbff194c52951b3c36af5dc6f7f5f9b2534ca42791c610ba582bdd4b34c5ce1cf711b565bc2c0e63bb293565934d2a890c83dca7424d6a28789d205464ec44d4bf431c7c9a631c1f4917b6e23fff2ab4b43d298347445cc04f773ee86a0b78e63c59c0d54bfefccfeb19cdd38ee48b6d557d69efdc923d04da7b1b6fdf4f0b84e3 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f438a2f3c1c7520a471027c0cbd42a0745bcb3ea634a8a20d1104ce1b82010f885c34b1aeb6ef1762bf1dd8d93f27344449a8437398e71518521949adcc8db4f55ceb6386e483436514c691c565e12bfc82b7c51ec7aa1ea3f5f946800b12079eebfacf6533f6273418791141c004fa258d762dd84f56114883216f42bc5279e +S = 5e21fd11c3f2062004d222a6dfc452b800eb27caf18c055717f82fe27e516da30ad7c43b1af458585e781bcc3be40b5039c6a4d03b2abeb6ab161d1d3bfb84d9a58ada26d6d1601511e4d236732d6cf8a34e5a3fe606cca0fbf4cf03516429391674bdc888c0b661dc19d009f55b1053e06d84f75fed14b7f5fb08337d8161dd8b2d541391643d07f301cdb95b19bb30655f7b13d951d52b7fd34151827a3a1604acf44775e8dbbf622daf9f4352a2c6a99f5e3dd0b44d7e2a703e1c22a02654a5cb34deb2ec11d95422ea900e5ce32631b028e00ccfc3fe41ec90c1b35c434855a6e2477520d8495c23d7ecdaf11283067eedba6195d7d4aef07f779135df71 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 90d3c9d84bbfe7150d4efec3665dc7c96e33bbcc08b6780168de663fd36b9a59a6d3fbaa9a7fa3f146368860e6da5bef5a52b0f672c760fb68132bc8ae76a2c1ea8b4575407be873cf715b5f7e4e4945f89d612cf5c9b4efbc8d5e48e5ad692e64e4ee61c31d7d43afe6bfe9b6215a724ffc15971b243d846a3647e60177b646 +S = c37bd17d8d70f360863601ae8aff19799fa5095b788efd6d98985ee1d5cc282420833fd9db823635e36ab7ebfbccde5b399719998dcd341b8f67282f4b53b8712863eec5d39431f3b157376f5ef6c6302392b1ff654ebb85252bb85f3a4bfc23c0205038707b0900c3343045063640716207e2203a047793b915cc4545cd004913c99279884c2032a652dd06e2e724fca9e38b0422043d944d1d89efd5b465ba6e7adf4afca74814a33da46b8cb3fd8d574f94e1e2818109c150febe852ac8ef4826bc03921aca33e77b9052ecf5840bf6487a879ac6ad7f2f60ab852318ad6683a8fa77ac5b4634027f9b9687fee7a7c8540d633b09e010c11f8a4639024640 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ebc2c7088ba2291be32253e9da5f752e489f57e3504a4b66f03761d5d629d9ba759adeee59b771b7b7aba334492007fb580367001b88b6b93f6f467fc7853b38166d40334aa07853ccb3b77025d9f3fa14a8f5dfdd2054afe3e9a4ff79dceb0bf6c5549f076728374ac1f96518902173a2156b493f180f92042de41b9636d17b +S = 9846c4d2cc7fa9b23acdb328052c1de835d0135a4b64e9b25fbe1a31d7b7f64bded38c77ed6e55feaaf3429f8231edba1f111ecdfc9dfc91e00679cf0cab12d90eae0dd3b40cc9a649c37eadbeb5af19d87cc93bb81073267a3f58562262f4ab558874531897f9da9c97f2e92e48ef082314560bfd65fb4f5655e2408d84eb00122adf191a7c5b7bdb6924bd14c707d48937ba492c36085eb7105bb369b9cb5406b1bef98b046da9287199a162ecfc16903fb29c10f7dfb48890d40ab319e4037fcdca4f99310a68ed1ba39bc85391607781d5cf66e917607b82ea3a04322fcc867f27ea40d725c83861fd5a737748c65e1a3fa2b3cd9ff3abf705c172f64e8e + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = a228e7e5a8dcbae488e8d41a99d3f25f294961e17a111bbc0a3f34cb17ab74bd63a1466b35dad068a0ab64da077d1789e17daf36ba95c32e7a9a1d1feac76329746af7382bdd1b920bb859ac814522422e34b5a6e890425901f24fd8ccf55cb85ee9c2f592cce18850767a370e135ab196d639da0aece16426af939fc61da692 +S = 175a8acba4dbcf9eb712750941079b89326cae2ca3e2db75c0ffd0bb77eabb85931ac633f66758142ebcb1da34fc46aebd265e012a6bab94d38978ebc0c6282dbd3180f681d1c939827e5967de769670e195cc5726c57a8c1f6e6e9f5948f53b488cd9b9109473ab87294b36aab3598e2a667f7ca73f909e413acd24abba76c2b75074d5a51f540617bf11d216d58fa76ac656d6c67216e1d2d1f0ab1e06b20699b6b6d3ed030a574e8c349dfcde788f1c697311eb8b058fe61bc10cb6ea7da101dadeb0a026ac2ff02d76dcd2d29fbe4e4809ffbcae9c8fa4da395b97f703a3cb22b1480e8ce6f2ce16d5145709b389cfe49a14b8256be198808e2ab6515821 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 4f666b6d65f77d24b4e65cc74fcbcd534c32be531b9e340316ce84b4583ec672d3f187e59d6ebe758b0901b10163f9f20834143ba14879645ac841781ebbe45b51ccf1b01d4e03f9067df000c507437753cbeddb44e0379e56d9fb844a47144ef28013968c9f33fa4ecc907c42be9329547db1f9aa6d55f733881aa183eb3e92 +S = 0291d551513d3bbe6b088dec07b24cfbafd77f521dcbf61a6e8ad7b77143b5da398fd9a325800cfaa7a91bee4f27811b3dc286e37b8402aee7103f8bdbdf3ebf0d19d3d20f6370b58a1912805394c3ca40d075a194572bea98edbe936316c85a8edf0714aa26281cea6cb3fc254b91bc47dfd34dcbded9e7818b2012cb5aa0ca0bc2f44144f62257e5fad084717fa4bc74e378208591399ec0a8f5772318070ca836306d2582b36166f8f152c3e60466e94777cc602aeebbce824ce86a26f05217ac188074c5bb82d11878d14baa316e26949bd4e4d9418acd1b742a18ad0e7bacb5a3f7a1d1f0eb6f0342c8e1d87ac7544313471bfd80ce4b5ddc6778fbae60 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e2b81456c355c3f80a363a85cbf245e85a5ff2435e5548d627b5362242aaca4e4a2fa4c900d2a9319eb7fc7469df2a3586aaa4710e9b7362655c27a3c70210962391b1032dc37201af05951a1fc36baa77e5c888419ab4e8f1546380781468ea16e7254a70b08630e229efc016257210d61846d11ed8743276a5d4017e683813 +S = cd1fe0acb89969ae139c178bfef1cc982993521b3a020ec847c89c0cc6c869d970f43f018d495b9e991457e7501a344c33c376fd2efcf05ad6eb2bd0b3c0e7cc3c88a4124398ca16585490a0817a36149cc82cdc01b20e9026261215dd06f9db4e13613c6a569c2187a0e00bc63c281149433ac7f061bd218e79f8eca9dd9c93ebc3cc013bf27aa0bf286e124593e76d3c7012f97ae1d0c4bf5823cf17fe76d505a54cef174add58ae616f47de825049e9916bf2ab7de4d443745763b0c314cfae3a6e57ad475cc5fae47cddcad7b526c2154a15f9ee8eab02f4c36f7a41d7a19b23c5996b627270ceb2c0dbed1a6b6dd2ff94868e073cb7b1a1fa3429e487ae + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 8ceb5b92c360ec5562155c952f43536eaafce8a84d620a8a12171fee36f4ec9b3cfeb5ce3695a51a40ef70724dc53685264cab4aaf6775db6c1bd58645438a218685f29f2a8473e1595719ce2f3b80a6bf84f59358dad88207a144305cb9f38871685b2c29941d52b636a0d15e0bf97b7e8d0faecf21fc26e892b61504beee76 +S = 5109fcc79f5098b8b83e59c6e0abc0fa8517adbc1e9ee030232bbb9e08f1a93f1435d8d43893f8d107dc8a63c3230fe241943517825c710ba000649a3e5eed74d0295a195987e0a47ce13988a8c9a1bbe7a5592e4ff29eceefc6962da183481478002063870c64a0a4d82d8de7cf2c7e582cf7949c05aee3add5f0719f008a1e6bd675ad9bf7acd4843a5ed2c27f489ccebba5967115de4686e3e05811c605f95759ac97bed9ffd6200411599d04f64b5dac393d428b702169a0e7d1c504ece2f1f433bb7eebba7a721125f3f2818777c85143ec43878840d1071aba185b4aa01ffa3a40c5aacd33984cc35e55194e0c5b483412b7425416eeaa09d5eb51dfad + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 2488c05e659d3a0767e2d1509d49bf5e2bb95ef356b43a3839376bbabae122b2bd58818998e9b09bc66e2d3cdf7563f8c79e7f1f26457f8219618b7728ac89237705ecf84012cc7c80293c4cf171d86139449d9361d8fe5b881f33ddd9ebd526ba56a8b24661b831fedba78abb854521e8736156edb5df4eee370bf5b6e62d43 +S = 6a86f8529dac97e0fa65b0ada583cfbeef689057e9596389ad18201a483eb0e8b23e6f3d2e9f928b5ffc191b56e0851a19c48d719b6b7637700f762b680fcff41368ed4b418a2a30e5d68ee0562c407744814d534280a4aa41df573f01289d491825610b79dd3a572f670eb415e51678859fd0718a39f4f65a143f46ac089a00795ecdc039c2509ed2f87f60342380e67442ed43441d5966ec5b7cb9065c1d30fdd65bfee840d4b2591e4092d591232a3ecacbd14af42c19f4627a30e5064a4493b75ff1575747cf6f5d11f27cd530db1baa817c478ad32accd261cae8945c223d4ee05e0f34602602f4fb37fa56180737d68f943198805ce1a0c704ed4218cf + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 83d13a741246b4b778c65d86f1ee69146e3b745f8b2a156ec29db7d7de81a485b2ae63b80a0e444de2023940d601e76fda83fda12b1dc5c686edf9819738d7e3b452777acbbe5d8a99974b9a1d2e58324df546e4079c11894a79c4cda62d90eef1851fc03c9e26f5054d3a9bafbde4e62f5af73007ee213e780ac1c5f3a8f82c +S = b9cac473902930c70cc4d957cde18c02f742eaf9bcca6ff6666cb3b6a10b5b11f667fe15a5e0b899b29a7861cfc68285828a3ccac9ffabf3dcb71d920ed248e3991cc8726376bf47f39cdad3d6b3436be666a7633dc2022b89fc6017f82f24aac776805ad082ab532b669fdc7ec4b05daa175954d9da5357b1c4478e2a2d289ae47df13653593e422b17a65d54c22d2c88fbf6cce588c34ee30eeb20e66f8640b43748dfe61cb2d8a689c7196a968fd72bc1f77f29d98a2b106ccc5dd0e649f99853ccfc00aad01d326947ce28b3c8569a2e0e3f23b2310b6fccd7ad800a4aac7ee68db8f7754aa89dc7c73abe754d706f91f6e22a8ae7d8a4b7ff178634cff7 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b37284cf1aaad5303bb3b1f90b01cae2f0b2d8977671e9bb449af82d4e9ec28a4caad5f36a83ea1041b5745406ec798301a2a17241fa8d0f8fec69a0a0a3c5508f23a0e78a2fc6d9cb6a5d82c9bcbab0b0f779620fbbcccfd19713aa6f70ada564270e34e0761293c01b910abe393470e5fb87ee497a4f05f4e11dd223cf2391 +S = 60f2071a201e8aa8c3e636d603b6a62183e74fccc3b5f60bd50ff8cb93effecc40f41f69fd4fbbb26468bdc504a2d2b749c89cd795452db1d49f080d0bacf03b4564885ad0ce8b3bf419b2ca30885a17fdd427b80d8db8a0f3d72eda5187d1115d3dc266934da180b2e51548dd67f4fad399a67fbbf569bc15dc6b900a157310acd6da816c143abc3faba2635582af9c99635b453dbef9762927d6191caee59384347f3e37268c7f3a90fcde7e6989b38e9f155605373260dedd589a58dea3b09968aaf273f75fa5d13dfd7555bee4852446c8c1fed6895f3acce16ea9ea2a5ad9ee8da31c47ee1f2bd0513a53cda074582d0e338e969055d58239c36440259e + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 7bd209e05a99c5b7ecde477cfec7709a1e3ada505e95bd0754a014e365c0fb98446d5c7fb5e5cae99722adb3210aa01a6ce717d131164551d5033d71a25557365865d5ece4f5c6756f1f2be29a8b594008e59eb41e8e27cb0692210bfadb1fcebfa4bc506f3081067cbb0931f2b162b4fc1eb722aa652c1cf1360adaf4ba1c07 +S = bb6688eb607130620b274e08ad9a3abcd65ec1e87df4993f5fecb8dd2fb759538228a6ea5c755382e13958aa1756f42a3d9d68e243beebecb181d64af3ede53622c4469a49117db4e270919d362f479054b9b660afdd6215764032a87a5df0a2c487dbfe9be6605627eb91eb955cffa70ac4cb7679eedbb71909ddacc8db1d388a3613f0209a4eea60653e8387a57c35e5da14e2475384202740e2f6c7a49d0e3598fb7e9a4c7db08c4b236c38447554f32740cc5d0392a28994442c3a7c98676303bb163c1d3d48cfc85c8d4c009b9999e0c7bf945cd01834932589b71c9feff84879f256bd71ec2cf5f9211475ec0d288ae3b867adc04daadec0934e15d43a + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 4d041ccacec92fa636d772d9ee04320b476aed4e60bd5c0b49dcb03c68a51ddc1c0e959ca171d6d83428a6c9775a5dfc1614a503ab9c7e6adf0285edd2f775e7bee2ee0ed731755e75edbd537492245bdb1d818bbd661d915db0ffea957f6d5579aaaf8737b01620424f3ddeaf538f10dfad094e5ec441680b10a89c79e40c0c +S = 95925a5376fe152518d85db17bcb2f4d0959139ff2ed0ea386100e5245aa17ef1dc0e2a0dc463bad282797a1f667d1b61765e9b255fbcebb2191f8559fc966db7bfbd55d1f587b20c00e874519fe5404c23534826ee9f377ee4f103b6eaf5ae657e13233fe9b365e6b19dc44a42d728a8103a7e9f7d809e4d1867eef3b3eb9f78d151bbd35d65dc8a2efc9eda05a291ccebd26a99adb5d3c77132390c38798b40aa4ec7546a8b53af167e0bf495e8f2e22495b5a12e7c4f573c957bf771c2ae7d9b78bf96cff812a97286119488d50be981ad31e89259a0628596aebbf1c97374212fc2102923ae07a5f1f9b6f67f688071d154f0e50c82924b0711e6a4e9ba3 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 063b9bf142448c36634f67fa5ecaedc5292ad050288dc847e89de34d0fb81d41934f30bf2b8cadea03384c69b4db80b073254f81888c61b203375730aa1b5e4435640315be16496f73f4f8c28ea1396e8705603d87f20931210766813dd5d7de5441bbfae329874b194b150dd3623e86cb91aa8d0c05e74daad7b947af2fb196 +S = 6202a456e362a28a356cefb5cb81a890f8ae146f548fe22a3fe990a00eeb081b25019a921a75d879aa1d6288b38385b403f292d64f3b7c98765cc12a7586c3139d9a24589879f0ff299faf41f420f90bd8704f76dd7d45fcd5dea943903324428489e431810b091a4640db92bcaeed7fea7adf6ff3b435e0f3dea6aaa81d8d4464a16722e698494324c6124147bd8c94b0d97c30c22ed75aaa418737fcb9963ce3aa7779e617c3cf9facb7436e0440ce46d107bf0828c57ccf35e4ac82ddaab0ecde37ee27dee17bddabca09bc06d7dee87dc59bfc1ab9853df62916e5ebd2e6acd087d2af26ea3a596d91577e7bf5e5fc15278424719d2311f5ec540ff82f79 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d555eb973b8285a4c02f09b9dffe61a7726ce2ff19a9d182dfa726d91b708f8795beb81beac5caaa3254327cdf1ca306e84f5e18286eb158015cbdef44b67d82556704648a76060ad5239abfa3333e9803881cab0bf48c7c774fd9b894c748265d7856dae33d42acf2c5cbe8f1e93b470a3ca41e8be46ad68ca9019cd34cf859 +S = 6ef7699bcec4e71c6f652e645ea8a630c5c685a41ea23e2454f00eaa0b0facc4218cc18b4a7bde42319f5ac0dbb6dce858200eca739d46939cb6c429676e6eb4f57a2de34387f707c0a942b4d0f21c1b750a44b11d78cc3a4fea116598ae1be609750aa300f7bd0ef8e06db2a460e6a69958b0711cbaab734e59b9700162857a7add41d8bd438d32de4940b84593e90b7d340ce32babfe9098670e85f2e6848f3b7074b0a89803a5f64393d165d26acb4771d0f302a4316a38d069a3bd527f8ea9ec905e90475677064a3d3fdd8f025dcf6e10aa688c02814bbbde1dae7ecee92f33dd88abe27a87bbb3da680f68df303eb4633daf0e7e2a0f2ee2dd84b220b1 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f3e0db549dd65de8d5904910d4734571f77341c368294585fb266def5688322955cbeabaade19243cf84cc6d0fcb242005fb97f633a056efe9ddc7666601cd43405a4973064ee19523a700f6052f1dc07f7d416e6c0ec3839698567cd69a47037c38ff65f046cf469aa3ed9400c8b9b92ea045155b9b15abc9fe231aed7d26d0 +S = 24f4c81a6378e36dc5fe2a940f975fb243ce304411f919b295d16d3a4a87028d2d98ae989d4797882b31d606918a5e3edd13184b8330482a16629bf31163ef4fdf12b0c051bf4d178c92250d385ad48aaa60c0d1dd5b7992e75b4ac418b2a7897e279b03a020e1d2df8b1a537c1883d23bc60bb5a1290bab2a722079688ad77eb64ac514c33ce2d658e88b14fcb95581d8d2f2e40b2e684175eedf590915cf6c1d9fe19f47bd8f97208cf9c44d2bf6be3ad565d2b7446e9482dc9dcda11b14106503c17d55a4faa727f7b63b43815b96cd28e946cce17826f62a6a5e701eb97b248052e8c08ef81857caa45ee486c3f2a53bd8dd13c5fffd628e9018168fa8b2 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = cd74ae6152d5fe5ce3d9073c921e861a24208f0c68477f49c825338e1ef877c0c977c1d2ffcb20e964db6fbedcccce449ec8538c8bfffce5bdece84762dac7f2cba69052c0c67226178a0ce185a2e050b3e1057e94411dd5f726878558e7d62afc8a81a93dcfdb5a2271466d32a8a4868af20fab2e13ca609d5a7710a8278aaf +S = 6375755eff8d48afb3263b3b96988a2afd181ba061793ea009783bb1599d03944d987620a2668ac9714d6f2a21f7e5200d63923f42cb32e63301c8de58c70a203910640da967d03f4f6292f6cb199759822790c0c5bcfb1d4faa59465c3db2ea1fffd5e543335632b74745bf1e18473c0a8b4a89def6b27edf0d7d735ee13f887041c9d8a91e62186a9a1e0b1afb48e577f6887ca61b7c1bb26b4a8e2cc464a9af03444b3da5bed08b73f1262bd3d61f4c78f49fac6a3bfc9e8548b4bbe64cce6a6090fc480efd1f36c18c10bc09be9d957a79f707a10577a1bf6e9e2d4849693fa58d8877c8f1e55181955d6c2b94b1d6d9401b5fb80cc32b358934fec2aedb + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d795644e3b6351c656cd2553d61825f54ddf8bcee1fed82a46af6bbce9f3532a6e3462cd5d2882b218f84ce411a2d7ed399cce9abcbac6ffeb51cebb799d477deb60f6c74acc57f21ba33473919d775c000a3d2695b82bad4517057c039b7c4b366248c66a17779045160588bdd0ac4b8971fdfad5c1b03d3a483987edb69c9c +S = 492dfc5eb534335a9d73efd9aa80a9243afafb5c110c243636d221dccde096dab6775565667b9d36b0a39f169ca7315de3bf98cb735e3dba43813e5af26db8904a9df801e138ea17f80e9221bed19dcddc9639c68ecb606bd2b21f2d40f72a4df36c2a1561c5ecb7e3ea278c0d1cd7cd1274270ee729b664ebbb4ad5103bae4ad003bb7fb0ff22ce80120dd8fcd2846361696e5fd9ee92835654c6cc130e7b9476033b8a83125e8198fd9d617821bf5c21babc252a15046073205aa5291e04298e682f7ce95337e33007b5aa4697b8a3bae937e1b3bc473fa713ccad1d0e90c477e02323a628e11ce84d8c704ee644651c6683ccd32e2bf37f1e5cb897253214 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5c39a3d2acde3ac1088f17958b4a53d43072d79643736f4415a421a0f471bc055ab9b3f065752cc0879b55ba7f42f75088064da3d0ae16462b0ce9450925c966a692f9ae802611270ed152e1afc43737e1d64c53b32743f57d03456fce0986f5a68c1c13e539117f04fab711031b3b10a2ac7dafd4261fd77151dd272b641c3a +S = 1ae00736924c34ad088be68276ec7fb558b0b51d0c3dfcd1f45917ac998a30290c7a3e51f36a67fa89d93af875181d2ba3d2bd906b5dc6f375a2b3eb569875ce3492f81a397622cb16ee763df9b81d436795180dabd03d506ca464798a10b0704e016c1b5ee3fd0b6f463ffe75553b839e869b3492edf6897c7614eb310fc4def3107716ed0bcfaf6696bb6ecc3e022d419861dc1bedd14287613afc72b5550b047f64f2a35edb24daf8288b7c306f0d38eabefcf1d6cb03f6638adae68c231d1c8cf7f0cb9fcf967e7d79c6d82c499981e2a0dcadb2120b673ab9aedeecc13ac2cf9cbd5c1069dfc2008abf23214bea085004d648e4e6e584401d333d6efb2e + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 76dc2643ac24d5e5f7ecc09fa3a4a7fa9cd5016725054b3ccddba0fa9f838ad19a54186661b030d3332c27ef1cf18fd16d63508f6b00fb4b448a5a7147684c3a534acf75900c5f865edd7faf8ba0958ec992fae75f2d52a41e4d191a97927f8e8b0576f8a3fe09066145ef645777603b97ab27f86a56f94e456c057ef8c8ccd6 +S = 948dac52688d4cfa3fbe16109f5a7936fa675302f4a6a28e0c83ed7bd156154f4b5d2adee5c396debf1a3e116d42f926f011519388e0eb24aa2d2b5a49832d3a4e64248a311c6046378547aad27108742c44dd2a29733abe8c5c1c974a23eceddad7943dbfb0b3f076acb73a3d2d8e762f48a365d73362f3ea73ce12022bc255d825e6f2ae02d5cacb7fb028392f4e90729a158c4c2cb87eebca4eef06815786983f138003b45e44894f5cdd74938e583a4cc4b5acd152a2c7bd83829b81cdb110d99b90ebd805e45ebebdabcd38b19f377dbd68a6abbab16aad0afd880dbe15fea023f976ff195f6ffac7f5d714c426547ae36d4efc92d784c078402b620cc5 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = c1ba7351ca934ece6aae483e3d0bef48601f789eccd5b125e2d3375646fee9e4f1409c9e82891198d5132485d7eb456899ad2c6ca38ec90f8aa07a86c552815dbc36b55f220877b585ebe85223f55a8e00ee04103555f9f28ba45b2048d6cb014925255a51186a6fa1bdfe6bc9331401bd6c66542b3129140c6740ea7a90b017 +S = d46a087781b8d8fe774b494d0ed3fa9c1214f3b99d03ccb4670dd64e1f62f7cb69bc631292612ebc54d8b49ac4a1926320a22646eb414ebb35c7730d06a717f4556a8b815946d7cb31176a0cd18c54daefc46ce16f358a86f6fe169c189f02fd6060a5220bf9c0b40aeea12bbd49cae1c2fa27029aace605ebf189e1989b903b9674928ab86e0f09e50fc52ea520953a4a4795d3c470be309084a046a84a68c9d3aa776dec263fff920846330121f3ac66d9a718dce182bc414a10dde27ed33bac202d69d49db00c733f55de3d13e0728ee2df948db17a2dfd33bb8d53bae4cb784da6b5a7a8d8b98d5bd153d76bf4f5563e3158b341ae056ddb9f3f5ed01a75 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 25e374513c67ccdf168c87724f4d42877fb276000e51f0ca4a1582bdb63ef9c3a5a94e3d085221a285176269c9bf522a1e3aaa00402a19316ca3f411bb2f2a23ae1676820adcd87fe60a458c02329e595a2ddf3cfba799d616dea2f453a60ab367b152e8e90dd9be61ee97a1a3ae0d5b5b127c7de8cf56016e4cf22d26aa83bb +S = d8b6b2502dea02c115cf2fdb4c6668ccd755935935b61e50a0e3066e37014152062c2a2afeb4bf9a57d9ff6838436d360bce75787a0d357518f3a62eb3300f7338c472eaa6d2314765ba3a78956ccb8c29b4f4c753b82618015c77b4d438db3c548a517db2146832cb511eddc4b51c9a331b3cd1794781b430f843aea510689bb94021d18b8221d83f0966b8e41456cda2a66c8bf53359bcabd77d3ee848d4e473ab2b82a891533d788cceeb0a44b79c727aa419287156ddc29bd054368ef03fb6a5afb08ed8eb52513061d98afc57cbd118e000f1a1142ec3b35063ed504a0a7db21ed639be3bde45f859ae03271878e7aa128a5209e9bd671b98995a50e408 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5352c606a030159b9d4ad7664188e0411718385d936f1371a68a0317907a6d72f61f3a153434ce20f48b3eac009abd6a5437588678a0e4d20cbe3420a4ab8fefd771604b931530eeb3d4d2abd4acdd0d641e603bfb33d01eefbd45c623dfe60a1fcfa26f66db224c03aafb2b66c527716e55b642c72fc19f760da0d1b21e5c0b +S = 0d9b27ce9e1cdcff6e44df37751845e4840b6304f89dc36e7673fa158146fafa7b5632b4468d60e6400d1511b39b4df0e1f588d09c55d2d7e1038fb31be0a00f41a7361b39df92c0a23da7869f992d1b54c1c3c724b44fec108205a78c3f41a8d350d131bda1b8becf2755cdb2699941322b5d53d878ca02c6675ae15c34c14dfbc5970fc2161924694cf5bc43efa2263f663f58203ffd5f0f0e195defe05e2032dd2f2fd4ec6adde308d3ae621804328c6a243f5676d4fabe00a67414901028cebfaddcddd63a60d45fe6288c9226289679c96f4d74905604c87ff39ad510f1bcc0ae0b5c2e42eae3e44887ac8427359497d21f728b252f05fe5c75589d72c6 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 49be017dace9c5a6144a198dfa07d5b7a0e9f83999c54bca8b3b411c34a3226dab456859e8c86af287ee3712c97ec5f0dc814bf25cb0ebc2192e94a41b732707e388d859f47ad82092093147caa0f1b5b28a8a25f262793183cb26afb7620b417af11928d7e65759be03cdd30456a02fab6c7e7964c23c3e527cbee611591844 +S = 295b17c627b5ac8a86030e75d40c9f1f52cf5abe818c857f314e6f8ba8753c2954ea73e2bd0f019edc98743238b2739913298af3af030d3008fe610189d35dbb9c1c711ed63c64cafa82c7e598d8ee96880eed116e1134aae39bf0832a1d2142076d7e9a9af890dc6e3a31f142ec2846245eafb088dab9aeef0808502ac13b40da1d8360004eb4bba96beb95b3030ca160d181cde78c80c998c2667539b4a0b537980bc433868d8b19dc79bb961aa9e9685705ac5d9ec54eb231faff14765488e6acb7afaa068bb6db3bd1e134c507a5af29c32e70895f4e61279a9fafb822b80f07204f9e4d9b2510a13531968e6292b422eb505214641dbaeb7c265f8decda + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ab5470830777a1634945bad211eefa9f41deeeb75e92ef9c39aaec12ce406a1c6c79c8261659c8842adc4b1b40425c5e55aa707d29e2ecd8e57ee8ba01273344653697a7ce825e97747514fcea668fea45222dd380cc5dfb1fe8612d13b252addeb4646df7976b83703a9edbd6019b295970ac222cf849ec2f10ded3cc88ce3d +S = 4c1fb3bc9737deac2e880e163d42d83f551de6780a0b228b33c59876b981e99bddcaea9ff8ba0852f71dec0f24c7e84f007e08ca9dd98cfa42eb59926bd2a5557e44d0546a3619e5f668b456079ce40ad0767ac21b31caa0765ebf53097df61d49224356f671234455a0b20f01cd9bc8d9a25fcd5a8dd51c87a631590884561ec12b58c241aba15a4a45d3b2e9e690aaa6eb6ddfb904bed258aaf454c856ad67a82d953ec4b20c06a70f4b173467518ceb859eddf822388eaac9af403c7b7b9d1ed786a8fada57aff043fad16359eb2894ca5386709d7b97cc692ccadf1d3f3fb04d6f8c09b3f427813bb6ba6ea228bc45fb13d780eec77bee66b300ffdd0b34 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = bd58688188f4dc8f6583fa0ca4e3bd5d244b0b1d22d42dc34f38837e25d976647a05adcc567884f80222baf8612b69ca83353cc678e1dc3a6294ab51ce7bb53945cce4841d4f73cf951ea4a222a9b69803fc11c01b45c5420090324650d608114436737187828f5c48fd22d48e638a0dcb2af4d2b508cf2551b5812650f25836 +S = a83813c8120c53d79b981f8afbe3e07e6230d595c77c2ec1bdb67a06b061e92d4b4c5b69fef3beb3f1f3642f59ad73702d6d331bdcf55b751830aa94d454bd8a9c7b3bb717a59394f550bf70cd1076af6f27ab6c4b70c2a034cd87c5551406701cffdcd9c60d0a2e390c5f4b7137213ac19241444e91319bae817d27201cf083a9c0fdded3ae10b3423d964bd0a3e250724d19ff3dcaca208eb60a9ca3bcfd38aaef01116b9c4895af8bc907d024acd46f04078dbe5573807eae98b973aba8b56df8668452fdf7375dd27f58a9e6429a0f2a01faa54f95ff16bfdaee4291715ef121dc594b83289c3a99c67575c7c042a7771f87c3e7d8af8a0b46697dd28af6 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 4d41e81fe7729b79c1703ef84bfc5e842050213c31b188b02044f151ea22e026c9aefec05927626ff97910b67459bffde190e086c797dba285659c25f1854e17406b66ac2608e4763d9cd5daabcc1dc100f4738f5dbead59dbf43e532a92fd87792028cd963ea8f75781964c387dff384523e4413b4e853dea98e0c2dd7274df +S = b43d87deefa7df127a717f4065f831c58cd84bf78c916ba52ed32769abd541df52233b8583507c539b1d51e0437ab1a41e17fc1599b92aabdb5b040dc79027c60c9cc3ed3de36aeea28f20360635be5bf654d6c1b7fe6da77d0c45b9ea2802ad22eba182cbed95d33da7f78ac844f4891cebc0396caa2f8daaf55254fdafe98b5fe6c4dd3967d23ea99497060820e108e818cd0aa94e65770bde892c62233b96d87fe545162d6ba077f110274bddacb2a7cbf17d437bfe004b34c3ea24fb46e5ed9cce4de96b0694efd73832ec76e19e5a25c49c5843393ce6b919ea35e4d264e0a0855f518a63c008c183798ca612cd8f75688a09210413e0a23cafcf2d4158 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6d278ccf218f0495867b3471f276c476fa51990d38cfb1454ca24f6a219659d9720dfe128cab9b0f5552e0d58d512f4854d84443ecb01be8c1280e35a6533fd8627035456baaca05f10244511e89c2df9dd2dafc59a780db87fb292de62031f1453a7a8e47f4571f6371a80e2e8646e4dd26a15f051da7c6a601e8796866f8cc +S = 910d0235a95aebf84252fbc0d8321bc5d07239f6259b4dd0821028394049a9b946f8bd1d78a4fd4c93f3e19c0c8d722767464eb4a95786ec7492399f767794b194ea421c0a59cb7875b9abd54c23a541b4f5466935b7e62f4a788d35d3c36bbe5ec61fd0364642d5bb607d1d587ef8036cee836c5c3f876b71364cf2c082ee7e34ce804425ac7ac86f287136e3eb54b46bc57755f634d7caff04143545c19217201eebcf6fdc004951253c1f42140dd83c44987b99c09bdfa9efe39665553d218ebb87ed6d4e83e073007e85ff9266c480d2b5695cc0bd92245a8ac59e671158f6d9270c2dafbc0bc51c5483fea06f77236a8eb6cada5364943261e4a4d0a539 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = cb5f997fbe1aed2a00c6ce19bd36d06046c0029f4f9dc5835a92de8f73d0c91c1e1a509e8e255d2a17440d35e645059ff09509f028abcbe1f5a4001ee32bb94a999cf1430b6962a8f0bc9e99775e5abe35d70d8b62d7bac246d40939eef59ddd232fa2f79daea5ae7376a9cdd64a77c7ffcc35f966e73a2e356a2168fcf51cde +S = 33e5d7f83baf70fb410534975394abe822d5f2aabf7e6d55adb374dc674d71bca1323be54f30d2d8e8387a3efdebf787c88b16eb6774de80cad38f5ed7e56585f41132606e0a8cb1775bc2322f13a41fdfdfd2a8d261ca0fae811ced9c11998321fc24b400b689c2d9370951e831ccc068f0cc00006711b9f1e533a3e27c4561ee5012db116a91756d21abeddf3f08bde5fdcb44f2de21bf59edfa3c78a4408b1bc55d9acb6ed3210bb15d37bbbaf64dd2781590b9d61ace524de49d0150ed0f24f88fd0b6693912257964ac29f16c8f73230982ef0d4ce3c5af725947554b024ba59b85b1eedc325abfa9f4feea5a45829f9b24a2f0d1126f4c31a81d674fb6 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = a36e47fe449ebfc5a88fd403b06c9dc7435056ada14f56fff4b5412029927f2bfd76edd75b79d29ee57e141ed1b9acbff66f579626fd8e89bf1cb9b47d63a00c920e2242f9fd29eb0700dddd435118dc77621a7607d97f2b82d96ed1778412378abe4e09c633acf3359b9709ae3dcb67efb10914eceb0f2d6675c73fbefcbff4 +S = 20a3de3204b2ce250840771b21fa19cf6d42a974723ce98f9efd9e8b3ec2266a85bc9f015ceca8f78b342c1ea978c384db98e54e17bb3b6dc58919c7634e5398f1b56fa97e423bf083f8fa419d02cc16e3011eda9d81e77be7bfebbce8405f13f120432d4fe2161a08b9cf7efe60f927e15035c9d6c5d7bea5edd3e61f8aafd8e2af58a9e127158e45e5837c366274a7594724ac7b7b9c319d3eb5226d4c3ddf1723efe5dec4968b08dd6cc497b1619fca17090a8151786bbe0aba58234c5495bdec2b0fb53aa84a464dbe3954529e071b151e15499d052ef8457b928f1d3106c23d1e68aa6e791bfa0d5d57b50567e1138b894b1516e423e95a70bf306a5d66 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 22d73805805630fb416d20d4fca67419ab660ff45cd19a3729e81b9f69f4c95b28281fc8d5822f7f3bf23991b3be7c1197254cd3f943657495347f9a057c227d34a6bca7152cf1f8959732eccee791217d35d313b697c72ad644d7f8baf9ddbb2e9b382aa81d1e6e37a4336eb6e95b4f45dfcd3bfa976a62d3604c3fef32a11d +S = 1cf38eb425aa5f150e1d13810fa3143ec0116a9b30f65c6ac3f1c0ede44d26f232d1468008a0b486746d506a5e8d5a9b46bfacf4eb4d37c60a33044208c3964fd60f6ada1915ac35a15b5e03a5450483eb98b6a7459edee58d4cec6d4cd30ec0da936aa0a8c1696c1dc793e99492029c872012868cc7b835cfa9b776edc0607ca5a6cdd8c391839508f49d7a23223d82d4a1c7f90eaaf3cc5626efd7ef254eabd894d44b889fb676c173ba34aaaf243799a000201d8ec203665034c83e8c6572aefc58a4823e1d321fd9ad2d7293e5807cceea794ec75656bab33221dc125ad0524461efd8a5ed26732a0062c915b5390b9b1d0bc30a280399da8478b8f2bd4a + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1d1693d416b172670df94ef346f6a2592f2977ce3915d780e7fe857c24f1ebcfda0454ebc0df5b4d747ba35dc92ac99662d897e680907b58184237f029c3d9d64c15eeb88de9f36979620cce781cf9fa5d6d45983ceac0897b2d30cf2cd644aa9ad0c90022d620024535f00dfbd318ce4970e8aa152c905d3a49d8e1d8331291 +S = 3c5a2390cb0eaae61a97647ff3e34b9e103d9d805f68b6da0dfae2c0e4ca8466b29676e09c6562f5667e69cd2f4a603665b6712ddca24e24593cde600e9253433b31cf10ac43540c121aed7635637eb101c4d5d189aacf71ebf4d4e80abc21d90aef2a6c7e0c3eacd45c65c075abfb77ccdf3b488712e1b39e97364573e0691818522d54a27c9f8e7a1d06b1e6e78e1dee7c38cf4facaf150f35cc23dbb904545295a4a181c4f9be247d32e90e48716f1a18c97181b779720453087be7c5b655bbf4aeb083f7065565c4509597fc1520b1ef964085417f5d2fa177ee1cfb8296dc2ef9e0f9b075a05078b51430f5c3236f7f8cec722ac7c1932b35e03a6ce6f3 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ba5aa7679f399537a41298c478608c8a7d92798686ba6f90e089b4eb8f7b221bd94fcaf609baddfe6d5ccdeea1f3af930fcfe4ddb786f8362ce8ca12df35edc8a08e4fa062aa182d3fcad5ddbcefd6ce4d4ad4e31cf4d81806df5712e60da2fb17ff7e8c34710e6b2244fab851bccae23eeb93c03d6dd6dd7556a5132c69075b +S = 37b19f66f464a7eb5a689cdae1b5568cbfa16213c6a102b4b7fe548d5b1d120e6286f26eaf3d65cacfcdbd39cbb4307d9b9e91e2917acbb1454efc0e85b590fa33a6a66a4b2e6c591a63c9566906c95d18d284520484b2ea5839707c72ab6ab395e25a741bf43627a863a6ec90208077acb4a27b25f3745268a148fdfa96d75880a16524180c342d9998931d0620a2da768d36f62909c81352be4f906d55384cc19a6fd94ed0a3806f5a6973e1278a486d14f87a6df6a5c303abd4f34120cd0718304c0bf7756a314024313fe7f84491a06cf893805c8a06ded958b29e6dddf13c8b8b2a95fa0d0f883512833469a8be62395b011241c34b3d196c7523780319 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1b82fafa767b2f3a51569c3fa37c1163eebb3d6b71a17e0c9e28f8aece99e56f34aa2b6b0fe9343b245efabb6c6c61100af9caea7fcfe5072141c6f9ca113c28cd915e1a2e0966f21259c33774df69d71a9b6c6cc791cdbdb36f948838701e7fce80b99039a16e69018d1e3c239dd1bf06e94a78b0b1df373afc87e4817e357a +S = 36cd8663869a5d0625765a3fa7f2c68d06c52b1b6328b184e9e417bb4ad0bd381112f9b59d3910dc08906e6ceaa6522bcb58daf59d4e07c43dc0a7baecb87ece3e7898305f9feb4bca107c0387709f7fb9545a6daaec893895bd127c128f9449ab508bfb3ce78cc007fabf11d9c4fc077ca5e063f306cdc0d229f686ee07e3c45137987bfb78d2d62c92238b9f3c60cfe16ddddd850e9295e4dfa812bd47101b9f3b301c27b5ef15554501fd61f8e77ef2891352539d4d4b2134510c2eb09bec2560c1da1f420baa699bb7b35de6fc7aba5539d7438c6bb2c8aae8dd6d901f4e86654356817e3cd9ffef2cc25535d97f283fdc15741e88befb543b1ba90280bf + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 59afddae5c62cc09151f22a0c3f4478b344892159663bc638b3195567b42f5b12e16f67f9a9860aff9e865021f5d8f270bcbf624bc01b6f74696a07d24e63094d057bf7c91e1fa8494cd93e23fbc37e2c2ecbf43efb7aadd4b5ccb8865023f3a66faa26fea4582ce0e561409ca1826058233553bd78c805ec30a7d3de5a00aec +S = 2353a870521c1c22d4f5da58f36fc33488e48408f1624be3f36f536ca77ab792351f904611fbcf0d8d39d2fa7d166b46c9c199c24c7235cb74e9974f4940534e2d4e7d95a1a51924089e788a631cdcd170c82f11f4dc155f64214b4a8e76b5ea313f0c610a52d27e139a69bc4999564186bd47e6e792e8437103ee28587f9f944fb706b9c909dec4d63ae66b3ed9181a5050eb00cab06576b96d4943a251fab43c719bf75778ffc3922fa15709cad2cdca2cee58237c602a57cac143eac73c264d1ce07ed88219400a8e02346e0291c2f3c1fc1b96ae3a173dbe72d8e2d3bad49bfe6a454400d96d009af06a279c56bfd2a71d341912f97bb0d4c2a06b17518f + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ad5525d02af9254a8ca00950a1312da3b31959b401eddd667150e0147f18f5d679acef00eeb0f7ec64e5dbfa494aa9d42c887df72d8c976fb276b0e15cb28ecf3a64d7183c0a23beea5d54ec55772a384e3b1225d7f23fecd732fc7c120441bf5745841ffb4dd14987cf1d30ae00d85582fcc147e765fe65474d6ceb8756342d +S = 9b15d2b10ac92741cfb43f9c5d0275f9052becbea856e6a3927ee7a813d055581bf5fe05776610f9da1b78dd7e686a237498672fadbb989dc671c9449c919a850a0543e1084284ee277dd5a44074fd7fb588125b259fa67a04060d7d7ed9469ac11a54d36927c52fdc21d3a6eb543eb3811a13c43f77fd96eae6f27e7199115273eb47723d19e233cec89f3d02dafda48f42ba2ea293e2094740f41607c29df42fa46dd7cc727ceafbb25a8542430cdb52ef62593414d818cc2983565d1cf4727d68136d42018b8a70597d993fc43e6bfd888422d9490fcb380507f22fdcde96cf8fedd88791cb99d3dd297fb9e7c0db37e87b7600324b900531398d584ef994 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 252433d4b72a33e1aa444aa9680454e9cdab208637ec2173dcf366d561a6cc65a82b7316e9aa6ef90454bf5d15a4823a49e468d0f1f4678bd547b02acb2ee22088597d3ab59a998346edd86507b6991077496e20daafd1798aa812768eec94446db6398844831b4817177d0865c20133ffe11bbd1aa7c507a21e7403d1684b98 +S = 2cdb0d5ea5f0aad1f7af8108bff56eec5c0dcd0522c5dc6ae4c6e0f66821cdf698ccfeace65fd6e47f95febd879e580e5ee648972cc265f9a117fc720db4f2545a432eae24a367b0aaa70a011ac8fdec94a95c3cd48cfa7102de8dc26c877e974688b3919de6cf06e27028995ac85da88cb3851a5761e17f215e5c593e13e481088c7d747ecb34d3ce61a5b56eb2a65be5363363294eb365f83c4c709644d857e2ccb14a5851724420fc81178144ef3f9e1138b5750eb7196eba3319d799c3494a7e399115a62b1ca4f1d5da079b495d35fd651a1de78d54000b06bdd3122d7404013f2ed8fdf8a7d012f9812b8e4c2e0b24192d5f899d70a3cc5c7e08c81be7 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = bf6a854e58f80f5980ec31326eec0e46735a8fa7e978fa5166d0c7b135d3af6806c0054ce4c749af686ffbe52c35ad0083755cde678e0066b342620e935b2ea03894493fd0b664a5b502d2aee4cf961ab274c18eba68fbdd1aa85f86df598c7ebdaff82f040d88c0cf6e5e977e03f31c671d65c0c94e123f01cb65210115f087 +S = 1e5738127c9077e16baed97b37a292695a9631652d761d42b3452e420ebc86a11aa59494490156f185f1d09aea30b1c9f7a19ee067367e02b0198cb28cf79ceac20c8f667ac0bf99359d96d3a4d2d45e8b725d0f8baefd940301e7aad4202038b9f71cfddfb018834e8ba6df196ed4b32f01082caabaa10912be5dfb1d05e7989fbca312f05c3249942d9d4904fef8481d994178c1203db4dcf81d346fbdf0516c1f2e45ea53ddea0b65ba622914ceb0c529d0b1118d28c91cf8dac3874f28a71a4c5ec5fba27802d6332623924e3e442d1a10205c3e415b21c0e02657b44706f83ae117cc2c3c53312472141d4cd09eef750dd687083c8bb6cebcd0ca3274d4 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 877cd68ad3bde42bce7115edcaf469a0eb2844e4db60c433c07c52226b5577e3d25bf10fc17c07a2cc48194888537bd7fbdb841c50abe1dacf3f2f100d29ca7b60b4df5c96c6c97be70b9a6c274ff711412c2a60e0e672666f939d8c447fd91a18cec8f9bb63d2bd0501bfe310b08556a4635e38f3d71ee087bec41f781d4fc8 +S = 99d68503ef2eb844e34bdc746fffced940471c9f9e87feef2d87b794f1162e1dcdd3bf0b49696e9ad83f4d85432d7861b26b83109970f6f27b89070c81e8a977dde58dfc9c23deef5ee19f91881cf5ca70ffda019b71fa9b320fe24d0c0b3bf1c79167f4aa957dc43397c2c510f0af8965a4be6b1e30a146eb4fa495a0a6d8a8466cec41c18ea88400eb9dcb99c72d6f4190f6ee8252f812e9dbf20c6511a1b24b976585716e2659d4bdef2c38ce5cab02d5f21b71d393ae52286f6062a4fddebf345d9551a04ae30ec7f74395257a2c8881d7ea190c9c79d9f46fea0441d868da842dcfda8497952bfa91ebfb8e9c6d2a3ed9c1b55b7eb67114c387c80d2b31 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 987fd568db29bf302e706aed05078ffc936793c9eb67c0fb650cd6eb43a2c25b940bad65595838b1e79606eb8cea7c7475e1c458cf0118812da43d2a2a064d964f9cba0137a790d7f00afa24a558084b7a32affcb8d012602addff96c788bd6390d80525bc3f4e0913734e7e9879bdea6a025c9becfb3600246025196151992c +S = 65dae57f88c3605a5eda9358ce0d766970bd747693b8cd6ee86fce07db4b982e25de0c4d59b1d3327038f3558ec33be650df11319f8b153f01f4063e01a8caa55f9635db8ce95885cec4f202864bf471f6d66517821f1d7a1256808be5074d258688dc1bb160f89036ea77cffc1549cd9245d78f0eb840590c1ef3e82d7fd328a4c005a4070d1bf9050dbcff51e69b885ce9782b2b5d27a6634fb707b60d4aca7f7df952604756bbb8b9753770ab75999c67b535c8c0ec3aff6ef5e9c77d9bf23aaf6708643cf9b29e061ea2ccc1474d7ba49733e400be216362d9e74d7ce4f7d329552630b27bd947365488f8c0e5a8195f03e071fd8951e823ac2e1eb186ce + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1d308f1e20fafcb7f4e06084e15e5a76a38cb4066342f076e67f2359050c07555d5c4b2847b72de90b984b905053b6b9d7fa49a5698239820e22ecec80fc0fb3dfffe3dfa60cd7f1de575c6c9211f59482448d761bfe0e28a7b12f52c2da8eed0de1fe4b26402258d7e83b1f8de03e900c302a8062fd98f119f59394b1eeab8c +S = c543449a58087451d6910484c729a986e54d9b90c1c87aa52c60edf1e02e597519c25a8fd0ffd234c6d01baf1ac6d38c5a177d8812d25a084892de0a4fb6edaf20cc27796795b5a6288522b7c1b3c420856bf1c4ebc31c29d87ca9d19c548e6932e3f13454c2289df9512f1e15c9ba0c00e49fa0478d4c98cf0b881bcdd13e6cb700bee348b5f6441891cc7b54c32efceb4c3b80c138cf7649c9a97448043d2cbd0af5837bf30ffcc5471ff2631ee7c495aa16e91957ec0566974cf8691619c9ed4a6c573e260b05c3ff359ccda7d0e7522d6f9488bce2f39a7d3b50cc7055df74af9fc3769391c4bcb1ed54d4bd3ae92d0d7513e83e6ad6871fe95fd6fac1ba + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 03c33c527af80fbfc1b74fcd773b1aaa6041062a4f611ebd499d289fe73b2a4efcd02c41789e3ed78c1fbd8e0fe2d37521963de40e65516a75833f07a906979b57f80b9f69aa77132b4c1eb7acbb367e689aa84023a411af18400c8c5356b31b5c6263d415c7c05be565f9b2166d4eae7c74cfa758c766747bff1796afd587b4 +S = 171024e69476d7f9445244d4f0e789e6e8f11d44d703d670ca5fcf0a1a498b4201aa72a7dbf85cbd9f523e6b9c3d634327ca851191c8172c98ea92cba2682a74a230ec72b05dfdcda48b54f121f3b0b9611c34284b9e57abbe7a95bb3946c8c42636b395cea29543e3dbc3a0b7d02983f215deb5cd7a4c83e8c95a88e77e5edf3424a77edae326fc737746f3e440855ddebc801e97bd0fa411c8b04ef81b028931af8991e2a533c2c2450c97ada61ceafba0d5079d8d73f6af47d4a9f45174475f3803f79c26818e7a9bc40a1cde207701a2955422c032d63a0fee3cf92fc5736a4aa84122aa5b53dd38ff0d34c9d6a052ab0aa8ef7777a25d6079c66bea4bd8 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d2f68f29e01c74b5c50a0c01e1f7c7913725ea5f66092922dcac77d046511d624a5809d77962697b7fb679699de4994f5aa8a37175107bf11de1e84d6438a229f26dac4ff63ce3f46327d83d5816db01df4158d1db4f67353cbf9e397588292830fc1d9840f20aa6d724d083f9d6b33030b9b185820e1278a00e429c608adce8 +S = 77068703724d23a6e7ad108c56ff1b0d1184491b1c5d65fbce5906dbf812271bdf187587fd933047f656aecc8d3e713518326bfa413bd6a23751b3771aef9b155419efe0e133db3e50b5d62d9c7723c990ae235113974c6408499afc2a4692bf2cc4bc10dff5a67c38fed7c8e02ac5e5228d23fa8d78d631ff57dc5fac1b442c9bbbdea2c0c63cac1da635914dfd45e745ff684c3f7a2345fae7d91ba0453c359a9dae487ba056587b493741e5f758aa76a471c78474ffc443d9a59bd3fa778c59d3c8c58924b96f9bf1364cbcad7b595029a77ee89e7004f86eb41beeffbad64d06e1d023cb0f740e44f227f821541a5462b16910fb4fa53c05498a5bc677f5 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 26eefc54afa4243b221b93b0b8b3f9393731d6dfce118426401e7743453fc48a2d94e026c6c1aa0c808aac32cfa19efbd1bb2cf631e9fac94b26e468902c8a8b2c8d0c5ee7fe127a49f610140278c874892c10a902b5d57c653f60a2dd57d8366e000866db03636cc78645c01ae07c8ba6ac075f0b1c1d26d7917259f268b573 +S = 1aa122bb4747f50090e501d3c3e7954fc220b6d7343418cc0dbbb17ae925db3268a601ecee6ccd8e5028bb43964b845c74f5052fbe77ff6358d43db5233adf1f2c9bad4fcf25d11c69393f8e1a2343af1ad4c48fcdb366dce7baa629cda62865a5287922da71bfc11cadc79c2f027d0612d6c02f571634b7bc638b4179a6aa1ea7d990d31b355f326e0cf53e54b023ba27e2e8eb1e941039288e08e01407a37acd6fe7329e8e70dcefc5e330525e627d1d078d2d5a1ca1a0a005951d1fc9c982beca32050b356714e79d7be362bf22b82e001ab53d3ef766a176f70291c8305bb30870ff7604c26b85a497bdb4db35624af625c3db8a9cc0c02b91131ab47ef6 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = dc3a20dc0e39a9f5eb64181391ba86bcf89cdc086c76e66041a1a986c288f7d56a0a40cb5720abc4fbc0650815013908df7f62e589019d32e75982fb678c1306453396580221a0fb124673ffd5d389bfc89f7166fdcadab1c8a0eef6bcc0e165d57dc98ef784b02397bfe7ffb87a9e681ac5b291ae19c6634c3e957da86b867a +S = 59c64a5ce07258319797e3f3d51ee229ac42fb6f9e1a2ec6083a1579ef6b45efb1f756ca97dc27ba83dd9403bb178c8fb3689487be40457fa092bdd8a21cdd3431b8d6632c3071c0092eb15a7f8c3a170cb6545c2c1b75baf353d12129e95e68db731acf6949aa33db1f1ca8030517c5660211002b0e8a99111873d2c71a2141284e58d32194e8bcf8704d9cac2a61d717d04e180d69c8d0d805ad906bb18395f23be653596783218df30a77fb4a22a03b8dde55b38e269dcfb8d3f543585ca87d0c640fcb4f1006ed085737bb69d7c8de832bb84ca4274a18d9a13288c33cd8b79164b922e84df12a3153f0caadca23c69d6d23c468586db5b502f3164b6d6f + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6c6a3e8cb1c7e98515e8d9fe14f0f35269397dc61a463c19b4f9d95dd8068a05f6a8ee3e5993388364298f6b1bf0b5c6e544e7e98f4905469524f3409d6b3f3d45d904fc1e470e29f8d73e2e6173304d68761ceba7a8fa2f8070eacca645d21bdf66496d09cbb49f5b5baeefee5fae0d7c37e376674b63fdfd4585aafa7e8bc8 +S = ca834ed758d983505108416551114938d0f67e82549937a86c0b3ad9d635f72dd2a4b06f36a14efa661002669d03939493ff967f0ed3be526e705c6d39c0a6b1de2a42016878647795ce48cbe26976a07bdf927b14d068be8d2e15783995e027fbb3d960b19d88506a2d41e63fc2012597c96f81163282fa33bca24a314e91d8549bee8d7263fd8a3c1241b6c58eb3566396e0c006be57021e86ba43648e0ad0208dfff1596d78af89e50352413df9109c924361aede3a846e12a723b381af296824c17e0460c929efe2a93b6f1457a47c6835ab18190984f62f008feb2bb429ed76e647077db21515ad13fc7fb66184cec0dd11d50308cb2606e0769dc33582 + +[mod = 3072] + +n = 9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71 + +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 0ca4cf8cb3da0d2981108d5eb9a08c7ecf8f8de35cb2ca868987a48fcbde53778b52d45a1750b7304bf1a6221ec20606fc3f39106054cb0b57de3f0ce166e412335c2e846fc27ce9c76976a6fcd5b29eb361101ee4da505fb99d8d0b0efe59ab71a352b944d29758d301d8bd9784ff8fc7d4a094b79f6dccccfd13885e47184eb5aae958940e31c372026883582d0c6a8ac9967147fc7f17f531a8864e5dc720067dc83b7feb82a68533e4003142bd189e887459aeab5605196992dfa14708754b9c429df15148df842c883240215f49aaccabb3d1106457a344ce07bbaa07fa68b9ce0fe8eef0fad528309c81fcfa8a8a786c35c2d2cbffac593936954ee104a84665ceb49d3d0dd8daa450ecb9dcf6d16c31285c0a3927b44ac09bec36d65f885cf5836232ca9e94983dc33f43e7a56e7ffdba6c60edb6f614122722eecefaa0ab4b78d5a9218f5a985dae872076cfdc8551a5feadc70a035bf24bcba23c88103e958084c85d8089b7e7ae3ea4d6994fd753847844ee58be937ad751da71b5 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 33116789e207ba2d5e9f0c26e6eeaecf7bbcd9cf3988a03ee8cc2209cf830497c8e71fac9a7f758e82596a67139531eb4123843ab8cc9808727750fb88a5b154483f96d28991a4d33b9681bd4276419c854d210d412e785aa468eae69707dfccdb9e33c357443045b0ddb9f01b9bc72c6fc41a0e7fb5287ca6275a92a3b17745 +S = 536d494313fc8c9f9c20b1063a80e25f221a605f932cf3e9475126cb9c54480fd64eaf3731677eb5f4224ef64fac38718f459b95e635c730a7cf5c80ba7cc630c5183f3f045b0df8c7ab72fdd6fbabe03bc28da39a354d94656bab2ff8bf71d83697101806e2935fed70fcd9e675a78f1968b79913a2860c2f91ebd59d6fa67f8a38762a78fcccfc672a580458f0aaa64f11149616b1d3d9fb9d68f132dc9d32896b6c36dab666cdda36f03eb9c01fcb74fff025d4cdbaa1fda1a0f206e2647b8e72d643ed5226db59333093d25c038ebd94ab976b25d3be191e9fcf6668b5d5248d48cae990ab9be478300c6a23c74a8e15321d47af194fcf32f6180a21f23f1689a1d94fb3c077815cafaa341779c2c982d64a25a6978f5f542d1057ef3ac6becc707cec956dd92451892270ad38abd9d4b362a359e11112513c28869b1cbf3ab972f50b63b3242f83b32a034077429b268bb46b541da0b663f6ce64aa1438888f196121cb53119a964558d584448767331bc5a42060e89c86b8f5795b99bd + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e65dd6c41d19bb00e48d410a2fb20a4ecaec75fc349214adb1aa61499bf4ac28f92b5877538747dec486935f50ec7f827808adaf0c3a91db41b22567037ade448cb7df5c362c6e2d8dffa4b7a9c06899bba79e77e51d9b9e4f7edceb771ef8e9c88ad4396f1016376a81dcdae135addcba50b01b68441b400397ef9e9ee7e35d +S = 8c61ee0afaa9b73be9b81c08f880d28c8b864db1dea2fbf18dbaa91f2160b5acf2ad97dd950126da03d3c2317589877a0395f73ffe752f607f32c468a6df9ecdfe09b6987ed8bb8531a94e455e2bdc29708fb782797aa9720c193a43051ae44fb2b8cca1aa98224ba66d38a0d3c9704e3143b4fc058d4ff6d0fa5f039feb06daedd22da857a17e1debdae80abf56b53315c9162ce5879c67a4db121f3fd53f5e27366ea6107d95d6568938aee945b88f14311066140fabc3a03ab57c5c66a7b46e2636935d32e415141f244336fb569984ace2adad9484ed879f7101c965a4c23cba019f4753bafe7917f9561c8caf71e194a88ba0d9d13827c18b705d4a8edbd3580572444dc823db24da151055f69eb0f8f01b10ac676362dc5ffb799c2eb7d161761a2118040c5f08bcbcf4e7b814fe8a203bbc43a84c9c723ba9b49220eab0f33d7964534f14f8c3bff6ea717553d569cecf1b5fd3c1a348cd00ad2fbc6fb2845ddc80bb780f43f06035f83aa1c4f7770dc4e70590ee23c3e23baac4c602 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 770790f9a03932afef37b8db6df4192c5db94d481f7555be54547d3b4392de007c922693ba2a9cb50e415e953a9ded435bf6ec67cc4f25334686cd964c2909b3c68bb191ec17531465e57b2cb08b314cc436c41ef3f9c67514645883e159a84c9e1bb75afca860b23c4996089767ed2fdea05bd35e1a406a0617a568cccac1b2 +S = 0c5f83480644d4461066e0d12592a0af0af2a05d2d7f771f07630d67e544379d61234c1c43f29398517b59781438a279f59eddba8f8ce56c90873861859530c5ef5f0c3de4eeb453f19f2ed5ae63b3a3fef6b846acf4edaee1de066e502495ec0e534475df6ea7dbaf5e9b0476e9226f00408af7016a48282ac3191df9003b3479c424d0797b02e99ce08258fdb6facb52047521a8d15503530927b17a43b8ee897e30adb3156608e9f246b7f7d2e30427d5648a3f654d9d7f9e44a8747ee834dbcfc4e39d8eebae417b0acc5ea08d1235a9c838c8334cc8b79b9bbef20548f6a3fb3b4d73eae201706ae9c75d8acf85e8bdb9263ff102489bdf27e62cb057d3f1e7e293870f73b3ea0b5c31f0f2e645ce2ed4068c81d5fef74539b515265f7073c25ea3fc2e11d409b5869a194d61adea3f3c7778998d331f37a24fbf3dd881c045e404828f080b4bacf59d76d29656d776ce84f1d2ec7b9e3b271fa898dd8c1b575e127be1ed1b13c265b722f8559ac16a7966d4f19512d8e3909c852e3f6d + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 29504bf746d272b9a02a7d9f197a94813cf9a6e489f25b1e0c104bbb35d86d20e377d26ec2be93a9d76b081a59aa3af1c3db9b2f2796f5c3c5eca1f3dcf0f9fec0770f002d1ba015db8643c152ede69000da7bf9892fef885e685c3d91207f2fe8d66c7430f28045d303985ead4b80a41c7daf0a56c531b50009e45ffc6fe7f9 +S = 0d757b79d1766aef47a7499cbf5bb8c082e4ed3db174ed5e1489736a3bbee7224723189ae6847954547e57fb76bb65b262d77c3a91f808d4075fca1781960119c0bb4883dfbada4d2c751d32afd1f81b141cab1ff9cbb1c68b9273e1768a4a7f7bcd71677700881bc0d2550f97144dc1c2ddab6f20a0807914ac947f38847026d008539eb4e8852bf87239d7638e6565063f17b531c6d2dbcf2750dfccf243c95bac438f4874e5643269d3d4c4885157dd428ebb1a7bcf50923ebaa74b23171ff19880fe49d80740314dcbe904d12ebc716967f1c2df410f7a62d112088db06f986cc8163288af25fd5b4a43a21573eafe777372ec8574d713691e6df605ce9b76f7c9a4d5b2630d342cf0b857aa0159e619487dde428b1211bd26940dd5d0bce0b7bfe69130566f80a50e5d5a9ce55f453903ced4b3e3079dc37107b0287d74385a36a67424f2aaf6bfffe1ef06a453336b12e303c456e27e70f60fa544468881dd13c1659fb28723864353aa80b3be3398a755e707cab034efa62c194e8b2c + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ecdcc3576f99f4ca44d45a991bca49931270f7ea2a128eeffc3a801da8d31b590f8e5d7842850902391ffa35c933b84dd0704903b3fc4a540a5b3e8399932561838d51ccbabf7576ba08ffe877dba7c693a04854d557ef39d77f3283fe36c4ecafa1465bc08e5fae2d580eb70d0b3f84c4c99de4796da826cb6d0724bf051f81 +S = 044477bb00bf31a9411626c4dfda90165e5d24a5a384766dd7259f5b60dd85388da5f4c9af4b3777b046e7f03bd97b3126dfd6b184cd8b6978b63d9ac63d1505bc8de50c54fe66f21a236d97acdea7694b992f539b675799bcb00f845a004fa73fe21dd2d7ad1587bdd5c94d784baad150818a9fffabb6a9404be2a18d204e41f4bb6d48294640c85ef01c3afcce78ad207adac2cdf16176d16920a63abcfccf310d6479581ca4990f33f44c43ba0d60da1db6c6a04119982a945cd1ba06b90cfcfcff9f59194b50204987d665b31b968d433fa0feef78ba50fd77e684deee4ed51a39aecc058e177d817702bd9cd73d67131fc88d12a9ae1b1f83055389ddbb0b2e55072aef496b60c4a4b9fb405eb4d95a778a7fe781c98d066ee8259e6739d85aabdbd8e686a11577d4bce270dc465ddb29b8befe59dc9a9e0f0fd69ce95d50bc314fb522a0bac31e56d13a3190d354f61a277196d2f6a71724bdf80db03b2f2470755048a5af5ffd347eeb5d87fac6302d3f9d925bdd5f394bb866981237 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5e0ef5503ee74317122a78bb9f5d938dfc0989ffe9bd3bc16255a529747c58d850702a9b9e062c8f13eddc8946369cb4bf14637c51e1b3abab62cbd2294c1debf007023c39b1ad7fed665d3f73bfd785c59814b4ca1737b2e0eac248b7cf08cc665ae6fdb8f3ae2ec71e64a7cdff2d48361d046ffa66af1c2973f153c80e02c2 +S = 49b8a5ac98431351a9ceed586bf86cd2856bb5df81c1e11105847ef23ef6fa051cc6e23ec7e7e9847a1cfe6dc2a7daa3102ddb9ef60e5e68a8df3deb30a738eec9d95b83758e9c8387753f87af6bf1f505d9476fd0a8787ea0ee28d1908b32c1f079c80b004434dd3ee0c997f23aad8938f2b35eac156571c44d2303c0d6c25d981cf14a05136cfa7c201a2eb72d5ce128967d26ff776ab973cfc630d791e7cb562eb3ca338d16f8ffe185ea2776dfc121be958a7e1029f9b8e2c5ec5950e97d3180b27bee126cdfbadd894c6388e3cf7f3f205862db5172736c2f1d05fbbd475e7437ace871386b4b75155049130cb1b13f22e00a6a986aeeafd10923eb9d0d6c883177bb29449c24f4efdbf912fd4cdf4e4611e90594b2b44de540d6210236b2ddcadbbda35698b26de4583302914afcc15faf57d662d425eb927c9f50987335da04aced06d73aa6c61b5f83d9813600cc6232940c4ec3b0e3b61744596afc0a8aa521b4c5fe05f921195a0e5b78c7794053cf80eb886977ac1428465d360a + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b2b24252946c3c32cf6b743025b8dc443fab811d9f0c1a64d778dc45f806962c4e2bf9cc4adb3766c0f1d14853d1a9942d4c5f42f3c4da68f79025b9b0a17d4c6866a8a035ee88dc2a4def5bce40b567cd140845eec304734561832daab637356a2df6d43ced541c76457771804d274889ca252d7a53be0b28b29fa8ce8deb6f +S = 7a610d9662aed0621a8a84e8c1f59c6ccfb8bf8bf9ea732f8fd32f8791f468daf45f943a5fa1ff5fcd105fde5bb2ff7702e2761e99370043c7d69eb9c62c22e7e784efc032492d59ac6e1d22344a1522782f386290ddfd8937a4e860bb547772a742333192b10cf049bcdc3dee6b8c9bcf63aefbdc4f094f4000964a6c6c419728fe2e15b5b5bc1d25fb6b2800566ae000cfeba2cc983fc3d0433c2c2dd6acc18fe2c9cadaeb28249495b33caa4504aeeb88354c14990328c3dd390a0bff4778268788821e7b725c5f873d53ed68557487cd1b8f6e40cdbb820389eeaa337e6d190e641cd35dcd1e7529babc37b2b810ab737e0742ef312a900445e7cf9832ea5d417d6e8ef50dbbef1895639175428439ce88663cd4b1e5a61a9e7e4e4916f8e1ad92f0fe8ba47bcb9769be61373ac8f1fb10bf97483373540bd983974ebeeadf9efb1e868bd77f86a0aa5ea7f850351b079b6bc70ae5848b1de06a6f297dde9911e965f48977ab854880de7b0ece2f7badbce082db7fdacaaadbf6ca6bee46 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 74391ffd2322c13e2be5273ed1435def0de5b75c8d4e003cfd0dd4c786374bc89414d8f4dd19707a9f16eedb28b1b6fc9c13987af3e1f83d416e2c503a2f26eff56f53e2f043c20a55c1893a7b6d6548b0f4a063361d38a68bfc3deeed697be91eb05970658a0117d54cc102d15fb1fad0f097bf5ee807a0641fcf4aa8cc92de +S = 3f2f89e98fd0118b5777bd01947979ef27f36d718cf6baa706b815c9c2924141218eab538977e3ea4ad8ef1a4168b31c5e33f42460d86604841a270e1b49e944a8ce86a13056d43ab983a4a0fd33ce6abb8ae05f03112f4c0ec51682f3b214842e6cca7edb244a12d5599eec49dd76f031062603e93d47473a06106d6679a2e9c7d875896bc7e0f346337e0e505b2b96cf4f3c1e28a3ce40919aabb1939cbe90c8da556f22b4b5bcca3691fead48bf6ab7f255836a43719c491981e3791a134d91b9492d3e2e7fd9f21efa7f46263f66e980740bed75ce2cce38bd87aac513ae7c5133461ccc7471eefb7b20190a84e8cf44678898bca996e6403e2df62f5c70c28dc5ed2ecff3a9e62dce5f80c1086fae0dbd4faa17e3549e8bd0c4739259c2dd247e1b31c069e5e57d0e65715f7ea565415825ca7190bddf4e122d1b9f6b0e5b4a803bb9834310b59d3a8c824e8388d4986c59de23f655cd4bf92c42172fdd076c2f639e22fa8135de4c4c7c86063dac809100e31ac5e5f8ed2d9f3544899d + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 22c9c3b434ef7d49727e30447f9f3c1d43a66bfd902fbf77056c6f7333bd2c6aff81a8d9472d59efc99b7b8940a45461cff0bb82a30ddb00d5bf35e58d97e46e6dc725782d35163582cebe23451d4e3fd11ca676ad4a1b5c6bfd7820cffa42c0344341792c303b8267c103f9d633b31e0fd135bff40d08f38fcf400b410dcfc6 +S = 3de2728cabbf6ea6b5de8554a286eb29627f0f0121de4429a1d1cbae8f21458fc5201172b02a5a6162948ecb936a400be634bea85219c893cdecba893c99889925d5f24a667e4332f03deb06641797be0aa9c9c8eb8907b75864fb990429cab3334191ec728c095a2aef1c9f8fc560af03b753e966811aa7bc6b8d3b943aae8a8d0b6474720d28779b7a488073374a522a75cfc29ec9492b7510f99b7c2409a2978a79ed522a29e925d03bfaf3da78996d0325b5f351550f38e5c989a166d4bd74e0f092e00187b8d9e5954977a61608a787fe425a8df0fa98d17faee539ce2edc04d9455e5705e2d562941e25aa18b86dbdb648769bbb1569e898a4cb264a1c88aadae75c39f543a71f6b51789d5d27641fce3682353374a0e6bb0085bb223f84ed6b08b941e2112d5432f34bbb4067e182c6bdbfd43213d4eb0a3101d3400f4aed4e36659171767bcf9a4751fb3dc976afd6a99f0e7c575476415424e48da226af7556a1255a363ee8f68a971ff1c11061e1a765dc78eabcb55f2efea4f322 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 406228c2e2aa083f56ce602bf11b58e2316e6eb8ab510e3a446862b6a40c6bfde8355167979df718d822d382e26cfd2bb3d185b005750a0b7eb6881127c7723e1f9a01b59104cb83e31c972430e47048f92bf8d717b1ff32f48d54bcfbccdb994d5be0b5b627ab08df825519c5c9dac169436e32ca4d153710b46ebe0a63cf93 +S = 5e67397948a72bb9c37250c2a7ce9b7215bc96af1899177dfbd2b27a33cd914c2d1379c43783dff0d9318e8513c065178ab286128fefe419500a9f8a81eedf114dcadfe659b9834e74dc068500dc2e1930ffdf4febc39b924465e7e7b017504c09dcd7d8d25eea50a7fe3bd35f7efccf90384dfc886fc385e5c8eb541cc4cf13c29e53cda9fea7b5f27d6d940fde0a7f66636dee870449390ea8e834d7b0ff269371799aa20962e28ea1bb5ffab649bc689a670345715fbd39de1c2e33b8451a3e4bda346c35543df220d54b5d9bcf737dad87dc8d7a450f56aa605427dc70f6125af175b9001750deefbbdf9e5ab5d09bfac4adc83c1f2d351dca0878ee96513589f5dac7765723dba7a0812a9d9dda9293b00748e79481cb0af3eba716a933fb9452ba25af07fdbfe650b7c2c0032b105d63f1e7b6fe84ef64bdccd213a702165cd60d29e34a5b141d9ea104991c4b8d099facf811117348a9e77b7dfa25ee3cd6be45b7225289b151799e2be24ec97a4cb39fb09ba0072fa4d7c11040133b + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1e4f71d67b8041845a6741a2e84b313f035f04d64e8c922e84718d7f0ca9b6d6ce4c50ba46b8d510d691e93c61068c89155693cb8893594307a7b2c22b942011ac004a917af0a91f0ad4853aeec42068a90931d5c1df933e16793f0d714678c6607345a142b124799e38fde4b90b55a4677ec43e21f6a9e858f11ca8094624bb +S = 7171c74df24272dfe6b34db78f24507a68062bd791f68796d5001be354de6fddab81e9252e151884f4cc1f3cd3e7760e263c0c34e63c557eb32c8336e0cef40855c5e279dbba3170da5a14ac60e4cc8d402633a383b88709f3306fb02708e39f3039e7e614edcb89609c8c71137de5211659a41e9e5682cfe0463f3bc97558d3bf77bd798976f09db69153123923835ac9bbd7648c2773e38b5228640fde6df005e9f44819eca31f41ccddbd45d61ae7e1ed0640f0736f52bf5fc1c62f5430de6a96d5aabccfcfef508ac299c7f3f0f7d222ef1f19b288273690b3275b68f874301afa95d243316284ed117bded69da11f5ce1435dd67717bae82ed468ff1b6ac7f2483397d310ffe91775189f671a82b493039d8c233830d20e290bc9be880a47f0b36bf2e1da2c1f23dafeb9f42d9f084feb808a98e894e8501937ba932594a6d202e20a0afddcef8fa48c1682d3179edebf8ea44ea1216a2f55c305cdf487249010909fa8a21d9ba9e3dbbeec046a823922390b7d902d77ec176bb447b05d + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f2248c0b535f0079eb32f97e50eb590411edc3ae9906a5c656fc76771b693c3cc3c9529818d26808f304cb36a480e76f931d0a5728b96adbe9cd6a68e244195a4a8efbb863f00d1ea21e03fa100bd4fbf00078c7a2ecf0edc7fb881aa669598fcf9911d2fd61f7a441a829345d3428926ebd9766cf4640e239ad58f52f8004c2 +S = 600dff1cd631f88f5789cc0ecf0b8cf95ba8c851e1568880c1de92eb448d28f024caf2052a1c3bcc31af85d797647bd4d99eab1a02a2fe0a00fb1d079b6b870fcf324779f0884ec273c41b280a428e1c5e7b170daaa27ee0fd46b157690fda2146d34e1f5d13990ac73b4179ffe5990e1f949340c771f5bb21b7350d9f9ab091c5eb4d90e4f384ee711ea4bb8017a689969bfec5455b80f67a2998528cd4df855b754c7cfc77c02bf7d7940fc986f043cef0135bf43ecc1146e7011cf4e2e1d4ed8114eba8334f07f5365b3634f604b91aee023e7c1eb5677e9d8ef9c1a92ec7bbac7e86c2a5d59b8165277ad0d0cff4ac2387f93a5600d706671961c55187a4e8567a106a9cfe6f6d3008dc4245e9b053a9b2dfb0336c4de2190268e864a357fd2c521bd1296b43723cf09c3c9fa0241273ffb568966e9afdc11882a492c549a4ad5b044339a6dc75357c60c45856929f84f7cef12cc49c9ff32ee7ac9caecd40715610793b58a099f18754596bd608753b134b054255440ecd61d06e0a1af9 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 13b02c355146bbcbfe2e758e2c860a34445e5cef401d49f21b1fc43286a32b69dde5d4615987ea6f8735773df989c1cd3b2cdabb083f73c3bef9f1821091c381fb5ef26ffb3df9ae7e33d812995364e5fae2e12e1ebad232c4ec103ca1a91a9a5563ace89e2f9391cb6ebf9274ac9a8169c898cee8550f4a13414ae5a0b4d9bc +S = 29f256344f37fa5ed7ed4ba72bb7bf39f6fa64844014cb18b5e2b3107d8711411e0dc6897e4476ca6075fd1082eade972ff4b641602cfe61e281f23c245fb6fc30be27880b2e9024bcd70ff08a1ed0c1ee0d12a6d426ce5a304d25f4ec407a5e84daedf9656ace90e5a21f121312fcd7a05094c3c9e57e21ee3506edae2d024c72d8b8a507c35a1aa6861d520eecb77041fb93cbbece0f705d1ae34e798e7ad1d5d0668830fa96d52696f22cc4695bbf28da4fd42b07647b3ce82f9c4bfabaec71e4bb363e73a773b1f805e65e593a3f7779bb435fc65b09a488c04f2681eff0cf79e13ebdf729f520a5ad234a55363a3a4d79ff4fd686a21efed60c1c0d27535b9e5b783e555c9193d7133cdfe7bb61f1f06be2ef54fca742067820f05c831463003aa6612c6b663f6162a53470cd223274b3a6146d7738d0a9deae49b431abcda9736a064da3c76ef8b1a1fe0873d118bcdb643b6041a0f66ee4376e6f752a3e21f4a27d068398827791aeeb70971b25dafc4e3bc40025626a2266fa28c1b5 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = fdc5c5e6930e04204320a7e815729c8af0dea6c85f51482d94c7e49eae772432374a9944f192a2c6d2f990d74db70798d309a73c9adeec5f9dd35399e461bf5205551ad8eb813faed6b21828a3e203344eae7b7bb50af4a99e330608fce5ce546ecf92cb0944a383573388009f59580667b568ac383c26b2a1cf45147e6a1bdf +S = 510e6452f9746f3f29a14a28fbba3f76e46e75c99252b1a879e26a966d31f2f47331e0a13b66f18b4702aad80205d223e645e980ca349fb64c1496abe043cffef736defa04340aa5b735e9d190dd350984a63ef5554f34285e60b52825aef59868dfe2a966a465c84cd2b9fa1f2c35c3e3245dfb332dde9e2df41cd0563007d0f6c4fdca680b8ad9e58f495058f54cf6a7817ba01969c3e25ce574874254f24a25bfdd8c135c8c71e5bbe776414ae22b5215701a1a01b8cc6b2645b084454f5e3a00f508a754ef2b2419270caea6db183c330b81be34aec0d3ea4a0e7b32b5277be4ec87df0784192ea3f2e5a7ee374aea2ee2af8047a91a47314e99bcbd6cc460ad7c16c2fcbafd4ca22ee78c1908919413ff00ea1e2dc829ca280ac187ce16ec14bd9b222b8e8b6a92cbe0902ef61738758e267598fc065e355eb2194526d787967ebf44a05d2689e7fdf7a6d2ba78026137ed5961a76fcf30c7ace82b1dbb8d069591949c9bb32613466104b2ac6385691bb9e179f695b09d7849644f5aa1 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b5f6a95d4726a50aa133683cd6753e2420ced1d224de920377755a3a604e5112e0fa10d2ef1a024209d110bde9797d8895950e629a076f5c9984d2eb0244d93c20feb6c756139127a80a29297c3cbf23a2d0308793ea61b7f620df1b692ec7727deae465027a186286c4fda71826cb9d52677d6896ee2fbc9732cbf21b72e45b +S = 185a358e808bab45fb9a42296885674ead4ee838fa18322acdf9daea5456499ba4919b39984447202c38152c8126a095eb5e8deb865d53d1b6cc98dc93741b6733c694d56d48ea36bb082c24c7164f704ccc0c38b01136a613370d06bc4d7997adec88fb066882cb4d811db951a6c1d194825d19297e8b329cf3d1bdde0b4f4d863f735b28fe0013350abd0906dff2d20990aee166e1ebd68d7637851d10bce85cbb90437d0e9d976bd8fd00777efcaf3297164e2d5d5bd371ca2ecc6ec0e390b3c116fedbee75181c9aed20410c98afa195527d26d0fc504fb0d074be434a443bfb20b5f094c5b2e210dbe79a18be664ba126ea3939eddb734027fa5462de4c7bc3d2d132adfb66ea56b56b933be76dbb362131e34cb376c2d4072f46ed8892736ead9e312d21138d8102d4ed372f3c2ea0850c51b7309a080b8e933cbb53688eb90bacbd7bdec33077add26bbff76dc98bfb2ed1bcf409ce7c24719c056fc50f9be349990d42b331d0ec7d9ebcba1d3e0f4f5c06cf865cd509db847067c681 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ed348af6938beaecb6543749122c2e295fb969102633d38ad2235f0e0a6bfa283e87bed880126835968c0c554d5a0771100e3645b8e965b6a69e0ab70f59346d9800be9123b9c817e8ac670dc70a9cc5dc4e833655c3cda08046706f284d9d622228f3ec2387f2dbd53db2372943d56dee00baaca3c7f39089a2fafefd4e1f4f +S = 3d24f4d67fb869b7525d16dcf6004b5b5c61e4bace1f4c5852b7898fc90f8b4833a79a7993db7181b52e98c2c1c7f5879a93b7f73f266d8b91cff1a748b80e401d2bd945d222b87e60c0596f025aa64e68f8312934a0fb36b42e32b4eeff074bdf018055a7bdde48acd469bf40dcf7571b160cfb59125545ca52cdd6e24ad6574deff6499ccbeed7543cb574a4c0fc0b03bd0353bcf424b8872e0094db19a669a160ffcb3d490bcc056089204d9e0381cb3d6d8722631c80c2296ae5a9d2ee8d6f9047f5de06d743394a2889e6b210efbc21982d8f15eb8986548dabb7dbdab946fcf71c28d81cf01360b3cbfdb5518d0f383808405bbe71fe0097a6a93bbddf97584e5c4470affdac955bb87b1108db3fe3df263a7c2093e58dd88d8ff4a8c182478d8f8e7665e4bfdce4faf8befd7e9784cba3e720895ec3b67cba5125231384dd4cf966bad2363337fee088134053703b910d5f4a1d651fad24193524c13cf1c4a252ecafe8f6d1a445f86aa2f6e7a46c063d5b0709787a9ea45778a3563a + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 18f44d68d5c30704df47d8be6fa2e66f061fe552037442687544a11a2ee88a21196f5fa3cde3929e61ce148a82fd113ac484da043603232139276e569273c7d4bd40b25e840262a9d1ce2b08c1193a49f9c384d93d54fc2f3f850968b402372fad6e2de025a7dfedd64c0480527dcb624ee2c91b41ef365b2e665a98bd1d42f9 +S = 2f2eff178b546fb57e574f6c3fea53c3ae00f3dedf2e9da5317c4d3712229ae3d37ed05aa83c9da8ce57d9120df5c30496653b1798deae91526e03c57cce57ff7d0fadc55a61e36febb51685f05c6ea5da2e5b71d419d11a7d76f9cb29b185f3b00db57ad1d91c882f11474f0cf76e400ec3ac93cca3c39ccf469ec4afe7314dde04d3dfc1c9022d45e8b99c650600230c319daa0b2168b18854bd49ce41142866c68ecbb65375b82842612b169068a26c6056ca1ade357af42f56e0ab5ee8779012ce7371d65754675e861323d284b5b37e125a23e8c2a8e09636b887bd63990dd4f84fe1a22344d3defd34bc8c205941fa96ab10bb4429ee6363108f806da4193e455ff97045c56e289057e96f02da21bccf3fd2890c813038726bf925b5bb3c1f97330ed262c0827da2fe6bb1a3a3778b8665693d925f2f47b039ac49d7a354df92734e95e4f2e9c8c0c9b549ad058ea86e68b8e518ad18dd157e4eda046f0a077701275d1bd1b0647845e37e30438336ac8e670a875adbea68114eb6c113 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f025cbf84552fb80a48c8c56ca6a437abfa293e5ae861127f4cf284f779a0e0b39b0f6102d0a88bc49958efadc32f0672201e2b315df5c49872dca326ed406367f858345fe46cb16d42a2b0ee25fac63956e4681babf51ad945c3ce82cf68116e92dd85f600cacd66dd3cb5883fa61b740722718452ed89a44e2e5395a0b69f1 +S = 9a3d7a50271ec6f2c521ce2cf4538369bd7f9cc805b0d079590a1b87e99da96bb95f46b3ff4a3c75547afa30690351796adf3cf8ec65e05a5e1dd42d0ff0ede93788caf0ab453d16aa7ad2de67a46050abeccd3cbe25dd90061432ca8dd7e73e449c418c875257d2c7e491240a60b64ff28ee902587e75b3db8e669e30bb2c2b1f6b0160c109082d321053036096232a03badf1ef42eacd41301eff26111881919d914a6f66b91e22678523b7f29d1f19050e0171d02c6e4c350309a75ca8f4f08feb14218cb54c40a570ebdcaa5c3ab6e476ba77ec98bc9519c5a62893143e499040c7fcfe4943fe9c33372defeaf7ef618b8e1c92aba1db7cafa0c84909e40906ff798eb9b930023c3929491364662f01376d1e9b039d2c0e1e0025c6b646bf59e85cfd484833afab73fb07d3c67dfc8617a5e70334c2f892422f4ae61891219f098b9c9107d6b01a470347e0a6f6f4ced42b667b53e6b9cb2b739c27022bae05491678027e3d654a22ae71683637b1ef80eb9b9f97d2558cac712b5946f1c + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = be5e04362205d994adb323f8faa8f2c42c8926e4d6b27abc18cdc15e0ba36f015f335aaf4301c23d85b18f80fbd4dbbe2102b063032913f55e24414a029038f97adb790eef9d0d024a2cc6ea996bc7eeb4e246fd201491bf330c4fcb793a091b577de9bcee81c1ca424b4e9c9c12bf3c2d51711af31afd01e1ad74493a49e94f +S = 6caa2fecdae119c2507347e8f3520a490527b2686639db4f8d8aed4451f38bfc3f4ae7b444a9a4de231ac6f66664033951fb699aaddd23ae9c0696adbd156f017d5a923dc0e6c1481c656ad8c71f55be1a2847b234456a75b9762f515e8d193a8baec8563a55f83cbede347bd98fb71fa2ba6476761e98dfda7e56c895bf250d5a17e25b0ad2129df47533fb27ee3e242966cafd487d4610a4bb3470ef622d63aba3fcd35c5b2522ef1f0d285ce1682fbbd78f997be0f8afcf567c36dbd81df98c81bf6b3e4eef2fce7545314fc076d866c152fc0fd964190fc09459efda9e01b90e51ada8a7f8aa3a393ec2d0fb87fddb78e06e238fc6d22e40f7d2fc1a2e04fe20a794841c59cc7134d52e0fc46c18055d9c9c964e9ad1fd757f500bb5330731d1ddbd7ec306d0d9a842f9cbfd23658064e1a3cdd6863664b9c24863189d7a7cccf81e32a8894e79f9f3ec8fc05b2acf6d6c1006ef0fc3ea5f6c6447915c75abd62d9afc116310a10f4731ec5ab2863f0d3786a21e5a8f62f31b27568ab28b + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 55c57d2ebf8d535a6d319e1d8317b5b74f2284be2233f4c05ef0a82bd1c4ea6a4126e551481f14bb6306fa71458f144e71040ca107d12fd3de46214ad499cf8c622aa6a8740b03d277c0ea4db343fa8edb4ca09ee2ce8cc011c56154572fb1fbe05828fce85b07e6d2e6d477743d50bdb682aa7b5b33f2ce1ef4d010018f76fd +S = 94b5394f3cf039a9f3e3ddce502a505a2bafd893a48699d3255a2982dc56e0ac9c43a0b35d592eae8adbc3dc55a9a62fd5e00e1f08120bc90add00c257f476b24380828d4686b37287a5baa709a58015eb63bb818fe799643e06bdfbba9d0a55a7fe32ba24f74f696f4876e43c2b7ecdcb831ede7a103d3d3381d591c7e79caf76ed7d0dd1d6f11a94ccf0a383dfd3240d7c7c485b9d6ce180f6d1af30dcb4a3b779f50b69f9ae7bee2daa15eab71efcbf219716204b8f88667d2eac6919ddec4acfba949ce4f81054620a03d57d9ed2f7021c8fea26f0a4b963fca012a9d4a6f909109d045368d4e09ac959ec26a35388c3743a45377bc172636703e903f29ed3276165e3b8d01f0d475bc0036227eb4d007bd6e3e66a3c8a9625d93fa938fd170574f654a9ecac48b09042f61ed072012eae18aa5196c2255b456fbc44f1a2a0e1c5e4b14ebe64579e440b1a49c8f82532ea42acc6c3880d2e91d067065529e1d4f5b6d1699b0ed7ecccac406e0c3fd9bd51a2e8dac520977fa9a2e76507ef + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e2f6dfa5014fee6b1b04108682e85619ded7c4647faf4ae8f19cf6cbd199677fe033859f56906f1979b1b5926df4c8064eddaeaf7c15fa2936b3fcd36bbb3578cce40d2f269fc97fef54b7c71fefabdd419baff6c9cdf7c6a88513e81ed1687fcf92e11e1a82e2e5a6767eed3de1e9e7de9a30ff0ddf27076e99a3d192e1eadc +S = 3a0622ddff5a0c1f5b545d684054e46211786a2e40627e0cb6795ea0d176f3c97e6536fb64c5eca7b28b7ac52e48e3d50b916d2fccb87d70cd8eda7c15c2308734254716e5b400592cc2e5e033ba27866cb14fefbdcbc35d5d85d4eee8ba6bc2da995e8ebcc27d50c48aa988bf45fde27311a9e2ec029d0fa6fa6d3efea460fc1a90e443d807d209a4c06bf3022d529ab2e4a877325fcccb3f86ac16200ab95628bf0c1c8c70f6fe1a9f288bbc0162a392f40ad1109cdbbaf03d9b2d514a60983874350be9aef886c3c481a66325f137aecb4c82a8a73046dbc1dd8598ffbdb828a3d638f9dd8139a768dcd8d30d79740ef345c1644d03e6fb86a46367f6d82a7a819057ae490e1b100b5842ed385845f379101e37ce604531c61de423df66200d45b7229662fd0ec3572593b09a5213ec14c1d7b2338ca9c763c0d18946f04eaaf57ea2ebc79e093f2fd4c64cb1c1a7f0e888dc2d87a15eb769f56dc180cfe1597cc3e4e1811d4e27852fa188c8fec4fc917d4724d33ce5f3211895cf7e8b8c + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e68a33ad4cf654595fc2267e5cc37db256519a4236434ec6011b63f9597d37c847e6aaa9379a3a2e44de6ddab6687033c914fd18b1d88155dafa7f7574802fd82fe96c05431acd40b49b1160d403c0db09b10f23d0bd0435022edc6e576eaaa128fb4068795e52b73661d9b7bd7db6d19d9298089ddb1f8d0120428d082dee4e +S = 11bc27d78b27f7d05a5d77136277b1b38b4daf3a20bf4fba3d95ef3659917eab129ae60312afc41553c272dea4e5252208256af99495f67d89ffbc02c1c9612cb43bb1f3f5c24295f2e00348ee900a11029bcbf1b8d14c92dacab954db99be61614fbe6c304fe451fdbf3588dc57bde77afa1a957e5952cead416930e90f3f5cb7afddede2479957bc47cf2558e961d0cb11608e8c84b6b6fbd8da02275a5ea556f6760f30c9ff2d4b61abcf98fb27e8f3d30855a62aeb0a4d1fc9cae94ab4061b838c856c15e70ac9f842a6eb3f32ff2ee2c0da59c7899c4e059deda1ef204a6b22d7abf59fa86927620782a131282381bcda9bdd66ec820192081d0de3d0bb1572e7e692475245edf1a48b934c67733dccc65584c6b6c2ba40c8ba594a584d15ad073eb80af1fcc8211e6f9bd83d28846043fc23d9a51ca6e0999d702ac3eb2fd7a65a33192c9d8b146689350f3039dcabeed8612758b47c1fe45107b4f625a617722750270d8ff6325a85b7f96a4c8fe717ce721169864c365740a1eee9d7 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 2c5e7b763eab4a2cf734d173cfe26320dbc5e65543b4e149f634d7479c9cd4facd7645e780270c3bc6d3d4c7b87ba249ad68adedb1cd701333a8fd53fee994be6bd67467d4aef1234b8cc78c8c8fae4c31382f982513b5fa5b9ae754c05635226e47b1ff2286216bf02952cb3567afb1cefd115e87cfd985d6d33d52ca2bdfab +S = 824c114d67b801656ae56eaeac502d942c8b0f20baebbe8b285129038b400c75dc6a5325c406724c72a52537148ebd7ad3ab20aaf4cfec3e3aefe03bf08fcfdc1cd0d4c13cb71b2bea652a1629203baf73fc4468d1f3418924e3d76dd2b82c8bb1a4d1ef4917e33cd17b28b032806643806b3e2411719dc4f9159ed2e8430c832bd54cbd84aee8f9d47a983f69fc955d015cdcf148b3c8a70ffa2464e7942d2c44f48facdcc1d22561934d74c80e32c4ae5c6e7b9951c101c563c81b53cefbe10bdb32a1e16504f499da9e35bae034d58cf196bc540ffa84f0344c9c27a42e40b3fec9ecdd076ed5610cee4c9fabd6734fd6c0eb7847c6c9ed3420a7a30ea4ae88eb8b10af3397599558f1c1fded9816fa1311e809f22d8acd451eedf7e6aece7fb71fcded79a3c03d8f7f06b8ea95a4f47ff762e1de7aca88453beb372b0868e7f22358c73bfdef4fd59e3b882f14de6a8ee48e4e5b644a39d03f344e67d1d487dd297b25a70765110bda7d437ce7c6087371437ce34c1b583d4cdeb3b8572d + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 741a36653faedb98809e325b21392287e941360c573ea1e3d1187f44fee55d187000fcb1865b52b99016d2683550edfa123dd961a4789137689b1df6400e136b191c5e68cb4c3eba40ee905ad9f450e80d035c5454ca7adf43939d42f817642cb897e4f2d728a782d84ff49ad6cd513723bc474f2edb65c2aa27888fecab5943 +S = 14f9aa9207009990cc267a3eba82b74245205d714b005aef399b9af0d1f8539c8a4318b91db39f0a2f0f2dbe8d36d268ff95d6717b0040f7bb0e4ee4221f992088cc566ab4e5bcfc9a19e4b6e9b3f0e755d56169227cb056e087bf3c0aa99b7309ba20baa7d4dcc02421bfb550a8f169089e8cda05ac86e3fb254d1958f8446ec27f1219a83ab7e2ac13d59c8f254f4276f0a026c364be502ac03d2e6285a9c7cc7836c6971fdbe9d26e396cf3c8a42ee23bd34559f439158c93609e14ab2f33bdb07f471103d1d0ec51c1c83ebb01934e08921f18281b37f54bf79234112f38dd4b2132fb737f317b33a2787eadd13d2dc67ce79a83fd0e3e107fccdbaa4e1da76933e9eb81aadd65ed9113ef5ccd4d007e548ff37a432aa991d7bc46b41c8353dd87155cf03e4449d7f995ce0afda851a193ff22589ba6e7a57e3b2c1e82cf2b5dc44c4e440fff9887220051b64cb929e8a1c9fe615cdf2726807b182d84ae7183e522fe74db12df85eaa3d67d4dcc38d1e7124b9017e04a7893b52398cd38 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 43903af93508257f135e951dae70fd4b2f0efefa505e351dcc7e5868136c81574323c973540719d192833ddb51f13a52dcbae294aebea51be5f6aa47f3571f5d97facdcf0c7befbe809f44bdc73963d8514e4fd559774bb96087ef8eda6e7c64275d6d96c42b4e4ec3f8d14b78101fe276116c43ba51cefe257a4fc630774174 +S = 0e5a580ef7dc8e5fe83b1aaac5eced0bb64f3a065d246d632361da1799b5bda44727419eb1f04cbf0d8e20b2ea4cafe644e79e6227643f75c36c302b7c18428f12191b60fe61db4edc7fd60f23721f4eea903592c3c30e1210341aa69b953e93a94b9bd6201ec59ee36f5f198582da92a0c23eb8f8c98949ca9e58f6b5a0d6dbe42cc958709b57f8901886ffa3134d0b10eed0707ac22f62c65b6e1b7d3af7e10fb94dc9a3b94fde24b24dc5a8c1470e6a3a006559a8a39c0d781b5f540f2226c167dda022bc327e7825a9cc553899e4d507403c86c0f024d1fe40bf42ef1540b5be20dbdc49127134acfb15a96d54669f586324bb9df69301b1cdfa181b0b35a5ce45412b61016876a674241aa27f0a2bf34de15345a1b39849060405ae356608a70e3e628c2abf25fd192a62162028becffc62fce229816a0946ae3895eebdc4d666c3507853b1fe4d2130f3cdf01ba80d067f1dde4007c3be975bc0dae01855543b5a0ab3fe96c77fe96126bff095d67d6260d142f4bc2608ff6954486346 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 19e1e6ed03ee99818104e535dadee3d27fba2f9391c58e37a3d4d355c15403f0b184b74b78e2c2fe21e2144ab9e6deaa9e6bf7aafa807ffc8a7dc2c9a4f15e4578dca986961f4d96b03035c7a112ad46af85c4f30d7af570a4c9077814263273f5528347628e8270b85511539b4a97cf3a705e16d4993abb7c216c0c19dbc5a1 +S = 571010c6413886f83945e5c9bb8d24322b19727a152bb54271afd7465028ab4390bdd91aff520377d75148a800e45b83e5edeb73d95a2d6192749b76e57843f1750f56316732d3ed49b388665f71b173acdd72a241b1655f7669228a0042cfb28b50c90419574f7e4e85235c6efb3f9647676418b89a7de50eca247590cc0f07c62befd651931007a26dc350fcc2dbd8d1cebd9ca665d2f403ed982eaad6c40876ac295c80de8813926ab9397d24dc26c7c2590a965f7b33a65df281d8f5128fecb9aa1c728e27c6a67dffa4ecfc02b5e5c5e488d876f0801ca41855cae3c1df8a65a10d4fe8931fcf7cb98033d139f1d073f63ff5eb321c02bb24be7420c1170edb4a98b3fe96a21b4061b5ee4a8ecac43311c2b5ac81bd39599321e4a7044c91d72dee60e35a740a158c6ae79a10e14c4461fb446a3ef4c27371bdbe5dc5f86d9229f479a3e08d15c772a717bad12934bfb3f39472442e1e0535f321357cd5570a58b4c59850a0f8f788d0ea80914ba7de1aa307a3e37ea21cdb93e05b84db + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 7735e7fc6d79e9cfaae1936a4ce60da9cfdede4125c6a7a3084011238fd80459ff8b1ac7e48a53bd613b0a7ac58127945e3d979a9215f9f72b749a19f3d1a4d38135920052f7e76a1cca20ea5efbe7d03cf389848a03aa6e276138148c6d9d82a43939efdf490f9d8297be0141dab4240f089e49351a22d0a10fd15a8133572e +S = 3eaab86fd46c48794841b4695bf3d6fc0fb396947e118ce3d13c81b5dc4a3ed6e256714e4809289df2d6255c897ca8b284fbfcfda744c4bc1538ad392b5aef9af39bf10cc320191f3f4529db9bfdc4d7a648540ae8b547e809f93ecc81b97dff4fbd19a1856cc1315ae08c91deca2d7050d497007f17dc5ace82afa21ed131ac3e429031b6ffb3124a95d5560da14c641dcf74467f2d7eff31903380b2bc92fc665898730422d1e571058e16c083ebffa63f7fd8be347566a1984f0e2ec228227fc0d5b078f4c4bfcd213381aa6460b3c655d37ed377b4fb38f75c4dd44f3c1699becd54a82e1d04798c424ac5730dcec5bd0ebea2c461c8db4f636c7f35a36c5cd373c6c461f601797b7b1832a09ab4b1a00b60f35c4a67e53aaf81182832857eccf9fa7cfd0facc20a7f08533cd3b21b0d82c2b26fe25a27d6c0532d07adec2add4f91948796831afd9b30ac2c71845d8a8d91d38b691904a75cf00b1e742d1a354715e0691a12419502d278319f47aa63ad68181cdf92b75c4f692541e8ed + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = daf9ad0b70f5be0c1551055de8bf42563768c786a080c7ed761dd16b674998795b55f5179e712f05427a7936bf13bc82ddf7979bd48ea542b1befebbfb03007e97c24f2fe9da1ad03c7da036643ef3b9a16afc30c79cc01d9c8ce124822868c256e6c13b975807d4cb0183431e676f644d69ff2dc2d3a2e40130858f42df58ad +S = 5a252b81a80703d8019fb72fe0d6719b1d5fd09f041904301e644923a21f56260e62fe65597178df6257cde7b2e3d1351a571f0cf26f0bcf45565728ccc756f3097d3fab6a4ba5c76707ba13c46ed0513d923f5b119d84953965e46701d73ff258faecd9f3aa684078129ee881d0c6ed2d8664d5b2bd17c752d3d002f87bbeb96a33356a103f29738c47223f98a56f65b68fd4143d8f2dddcd84f5d583f5ccad1bb4a8eab18914983fadc53a1f3d610512f9964e0e61eb8e4780ee29514001c48f6f268338463099c50161bafa696230d7057085ff57a798a1d3f3fdbebe5159b954c1ddc652d2309a52c79e1db5bb33ec2f4acda4733bf98b34e1763b8d0d9221b8754d1f3110e2ea8d3264ab448a06908274d2e718a00a577812f95cb914867da2111faeb826431c6f763d4a463408ba33208f72afb76ca8df01b5670909e87a80768895ec221f02bf2f6223a3d1744ed6a8edb3ca49092c266e049d96856e7808b9c4aeb5880b1825eb324d7d3da6cec0e0eeadf98190f2dba89d2d4a878d + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b46aa552e0657eaa6f34d68f3aa162afcc5d1ee913e89d545bb09d837e7ddf07540c363671fadd2b10e50d0e4acdcf968cc010cb47b6f311e9ba6b620d4a08dbee01117a2273d42685593aef73ee9e983a98df52cecbb4cbbf2a406769f0e7cd6b8f5fa65a970aa1b6d883bb1ccb77bdbe2eb60611ef898ac54b471bfa3723e8 +S = 1a7aa6ae05b539db688ab62981446ee7f323b592e7714e9f5bd667906fa34432ebaf26676141d58a36d69b0a2b467a7a626428fadcf98925ba5a18bf831adaaf2505044de1adb9c12b7eaa68d745e1dc8239ad21002284c342ca74bb54677520e8300530ac0ee4f09b22b9442fd1e3279893dff9d83d0a389a156d5e7ba7cf2d25b5e2604ae9009721befe6a5529f8eb25c4a67d513603526a2b5919306e08a32e3e6eff81fb21f7088c97f8ae41efb8b8b12b1bb91dd0e840a4496031dd01805d2eff2c893f4dc48a72085af5f53ff6be18ea26ceab0b3ca17981ae8ee9fd1e3393c135c6829bca33452b3ab1c8a02367bff224eaf4bbfaa10b7e06f54c1e3d6175d36821f1670e39c158e9fe689bb0833bbac750045bb150bc03c36a3d70bc25608294e4c50122494c7bce7df8a70c0d6f8a44fcd4a1368a18c29b8e9ae751fe72451a387cdf6522e1ac0cbe2fe7d6108c7f024fee4a85c06cfc01f855d176e752695da64e699b11ff97a84cc6d6e47047add804ad7977a25b9220b1567016 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ddd980a7129e3e856cf069dd1718b8daa03d45800a2b3e921e53ddb302129acb0d369facdabe7cf69be11c37b052f75779c38a3468a804895a3d431427cafef877254460d87925650e47af32aaaa1c65dfdf49b990046ae2ad20fdb9c064fc99c3b15709355aa19b6d2a09142da98dcc7a9b6a58abcad767c105f2eaf669fb78 +S = 1472a8d64f3b8018ce158d27d8507e711177b18d0715af9be5dfd75d93aca07e770d621af46fab2e23371538e00c6241bc64a22c01cb7756446a6ebd451f22397f8dbd6dcba46eb1a1aee70c5edecca9231c50c0d585ab7b1ed7b157e0fbbfe9b1038e7096fbb74b6e7af816dad0bae36e095a93a91ea4050b96799a609d86117b9b92e03e3ee4c9fe9cc460340f6daf99856278fcf411c70208c1f50187b3088e8b708c0f85f99140faaff238fe0f8b6e870eb36b97a01a32145297b512926dc1f08da95d796c8bda9660b42fe6ef09c4e6994947cec7219a17c228cf2fda45bf00360382a7cbfb03baca75fd4d1957740dab20b901e471b8adeabfbca51d2cd384a6bb7c6de7491e008f50b9dc80490ec012b614756f2f448968b883f7a7ef4d4020a355ea26a569e2825748648d70608917842e42b6590eb284ad14d0aefd57a7e532587391b5b527491089c27b293a2ff0b9e3f433900b1214fee2a3e0d39105d6049b3409080c6f40f857e4b475ca505d319a43dd915ff48d840ad89f09 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 692acaaf5e277cdd4b3fdc0a1ff1785bfd28a3a8ec1bc97fd072ff6c99aade77baba92efdcf72e66d43542fdd32fb0e2dd29bb167dd36174b671ebef3c39c21be5fc84ef5a0957c9124f7eb281c12ae38cff9289413245c6c537bff88d013b3dd138c9373e26a00cecd4b5b18f708d69f1f24f88a0001d7de30ea40ff3c9f2e7 +S = 3f90aeabfa9a5f00e241f3f65dfe61baf67c1356353042c3566edacb11c7649737e5adf94cfb05f2619aecc8895db45190fbdf35dab01144e207b6f0923927a6148d3f16eaad05e73bccb562dc087e2d82db3dce130a83e8303bd7c3447b3ae4d3700d4763ba6981d82618ac82a6e66423f294781a59b20cc978c79e2d5c103bfb9d47119294c3c85b1d3c45a36897d42e183514cc8edbbfa1be9ef17b78280b5b6214dad79d60db057f22506515b6843ce7d4dd6bd861a889b36164c325147baeed714d7a3f55ae51ef6e6d4ae9e862d677caba1a2df369c23d3ffe33dd42fe707e1fd8ba6283aaa0b570353b48a8e39ff72a09f700e024150ce87c044a3ec745b212ae81aa5743b981a8bb95deb6b3e15c2487f7900178d5840f8e794662706dcdb19bc0bdd56cb7fdf0e21d10b03adac41b749f31bd3e7c4d07d5d4ec8e79d424812b6e83f1c7b59779e58029f9b07da3e77795fcff6ae8bb098b1c00d1d2a5bc0cb005ef3d8aab63ddd883d38bacdc64307e911c6e51946744f361fe978d + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d69a51973ae16bbd9f61138644b78cf7a7b36c183d46f5fa65a1a1f79f9bff3cf953be85cb170728a485115584f0ef9c4c06acaf72af996af938e610a1b070d85b92daa8ffa5df204121e6dae213d7f023022ebf7fd34eeb99ea17a47492ba27e29fcc873f529aad5e7cbd9dc4e6eefc14f11bcfcb7aba862d005d3980098631 +S = 09ac71e41ce13b20469056dbe42b2637fab00b87c479ef33b6a3fd256c5f9495a5f3b0c87ec02aa3726ab2c52fb8203d6eb1866f1e449a8100726de22b0ab29e7c79640c356b1ce0f81f55f756383490a2e5d95e8a28929af92cdf4e3cf6dfc0e2925a61b2448400298e395cdbec5c698cdb0cb47783d2d598ede53f83088c70a9bb52a09b4d1961f05c8b7eee7d5a7a6fe11ee4c490bad697204bcd76eba960d020baa46ef0d97d04488b82a2276d2a4a40ad538af6cce94167ed014c88f61152a90aa7f1f24c7dd3093a3e24df1bb7bc90fe98a45afef010dca2708e21310bb49dcbd2b6d0188844cd508cd2365b6fb0c26bdb03f5f6a8fce2a2f1e5627c0e6eac64030eb57d28e564d826a528a458a694c9af9698089a8b27b3efbcb98672501322573a5c738734ee8dd0061cb93749e164d1cefd28120692228b9ea64f71d7697a9a3aac4d7df67a580fd796594da3971526c05da5dd7fce6b8ea166c092d2a883642ad998e2be9e319bc8d667703c64e226fb252879e55633ae7d56757b + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 764e2f04099b72f6420340bba40fca537ce376190ccd27f5e91ebed4a239e155a2e9fbc558f8834e95fd826b35754f9f01159d67d45fb86dfd740cfee529e7bef25c809baa8937ff1c981e4a7bf9b97f0df3023d4339b0f22abfb94b02cb16ef2b4fc66c49761571a07d1e3fc0c48f5a6725ac84a38497eb37a7cea24048f54e +S = 53fb5625091ca2d523fc7a25826f9be41edc091217cd2fb04716a53efff7ffb90abb41520b1405f7d3c222c73ec9a55d13bfd73570afcdcc5e5ca8fcdaaae5d936db032afdaea1d1cb10341f98f8884432d0ba6952c58d0c3ad6570dc72d345cb51d68b6f8e0b9404d945cd3d74c253751bd583159efda3e38ce7b4de42c860bccb14c329c76fa8a85e441b001e2f3018ba9225caa7b70c91303dd5596ab079ed672f8d6532f04df589249f473ecb107dc296ab2ce3c9d5ef7402c821a655bb15ed568d50a42de56bb3e5297f8350810297c9a7677b3755fab437ba61dba0dacdd454e5e4fc4caf4cd425614a0272d070b55661aa5a0c070bdc4e7444dfac54ce2a22bec280d2a5a4295abead492955c56ed16ecd705041b5c4a5d6c1a0cb615d2d19000c60f8bbba87f48408a9841569fa6b0836e4fc757c643f0455f2d8b9d46d9c86c5d0f94201adc3ab2b7ddf7d828da6c5e0cb5f0eeb76a1df3cfc8a02131459059be9bef9af65c61a8029bd9dd948aa8118fd63face9a9e3d8d6da92e2 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = db81bfe8769be93c3f30a0f2c8d537e217c605d95acfb798d66cea1f212ffa2b916214fdf4ee935d817b89df0fd99b65859e13e59211306c9e47c063008cf11271056562c09384e7c8f9161da04211f2115daf854d0bc42eddfb4fbedc324f0863b1d8a0445265e2fbf47036e1d74093a3490342f3831ce57dcebeb71deaba15 +S = 42dc91722a4f2047055aadc2bf7f7e66de4c95f2e6b527f7e24a16fa2e95c2c61eda581eeaac72ae5dd2e096b89aadc0309d9d102cf113ffc753b800837cc8b26cd1b1668bd047da8e2ec05654d7e16866daf66b886454c06de8617815e3652c5185e7f59dd98fd9fed066a23174143f4ab238744b677d52b6df4f5abfcb12261146424c2bfe033ca4da22ab28f9fc0d0abdd8320f9e2d13739bf5854b73417b16c58cee456402e0ecaa055c4c2f76b280323afc1ac9b665d859a35943b87e3e5bbad620bc461f49c1cc603f23d442cc87ffbb03aa0d1680e2556a1eaf49063620fdc9b1c81cea48f7d879dac240e29acfddc47449e0d2fc0ac32ba77d9b089d7b1d68f35d524ac1c64aa580d43bca3ab53d4b989705449b18c5565167595a8bba0ee7ef7e9c5644bff5a1ca8ab7105a2db7b561323760fe7a05f3d07d4f76f3fdffc1424092d9a54e9171ed478c61310f3cece7b668bb2b859ac2a76e8ce6c80a7d62feb854d724fc7da4a37f3a7b4540bea45c86e43f7d819c3f4bfa910983 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = c5e4925abcd76fde1f1f85183da1afc7eaac92491a3ad404ae7389048d73eee5f74d5af416507191d6899bd8f788b58061670602b70974fe2ea0f7dba0724fafdcdcf25e419749058b3a1b99ec004acb5fccbd2f396a9d9e0018c4d98145726e1d9842e064345d02e53beea44390d6718ce2a018c7e6b7aacce3d6435974c1ed +S = 5468a3e3c9e808032742767acb41a67511580c4a8244e97d2ac946deb6e2caf989476461969b0f43fd1725f657248235cca17b633ea64a92fd76e1b6275cf2729d488c4a4257452be32ddf265e1edf722f50ada027365cb691ca51d864168862428de717eb2965d3562c64afeeaa8060f893eb400e8945c8c727e2b1652894221346dc3102dfc809c8e477a8570806e2054db3da7982879b497f22a18bec250874ca5925decf26b63227c948401ba7d15e3e79106d2a73383c381710d1b750fe8288d2d80e003385f2e2829cf4a6823eb0d949681c0843c4b2c582fc8b62866405cf8e51c8a30627f5f4b9ef8a4f5221fa89b052152044bedd9961fb45d0adde68928f69cbdc6b68c37e3cdeebaefea020320211642fa1df95d24a229eb64cbd5b2cb21eebf6313b698cda79c89779a345534663fa2bb682541245715248abb1175f4f5afebecbcc67e991513846ab49bf3f61b5d9126885ec4546177002695a0a7fc75c0bcc5b97241ec927ff4390013f65f6d69deee8aee83da19b72fd2b76 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 2259ae2cedec5e26231c927d87f6353e8387317f62423de8bfa2f6733d10326f790691cb3d755591f76473b169dae900a1ff53802c7eb9e2872dac49d6f09151d8db3c501b96c1dc6c06868d92299d033c42512b3737ffbfe437280cea9fc3f8281fd843ee194a0d6c49f5996aabf8503a995409eb34b787c0069243e0e6716c +S = 7b803da935de10f86396c225b26b7aa59df2b380a28c492412ff034643f68b8a87198b4a6ac1bfae5fb6748a5cd09662a1beceb1c211cdb3a602362d9534ffc9245c2e3f29a134ae7a88fbf8ebd11bddaa09177a0abe555e6ceee27034bbec2547762f78a3ad33d17c2977b2767fba71eedc17e6005f00f6a87b20858e75af034ebe038ec827eaff4be00c1dbadeffee253a05b1a2640cc07f8e49efd275e55854d45467fa8a7e7f76cd9f2b8e3bb111eb8eb81d62129e8f9cb0a443d9979a3d90405fd1f98f091444bcc7b5ab03d26b0eb12a968130a4faca138e9ce20152006c1111edd144c39860cde182aba9d0cd9a1e526dd2161580cc4deee804033090b68024e68228dadaae67335e5490b9f86223f16595eb5febfc8a397b25e9aa909d6fd7deeab19ffd0b96a14fc6db33fb806c011e6ff3d2ca72e8d02f2811790a67b1ffb4d8d43908360842ff5248dd5513602ba4dafa39ebae5bbb806eb8d0fd1af38369babf313779662d82941e5d8fea3749e3e9bdd889ffc14b9c2fdfdb96 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 121b994114ad5bd70115ccbed82cf9251d2fb6da7407d8b26ecea52ca38e8951014c0bde6345fea56577fc31776310a93112b3f6e756fa287c520d167b3cdb4563620c0c436b37f587e0566512eb77808d5eb447fef664039ce293e7e27fb0f1e2668611dca86e8d0f58c2a4cf4a9472d81ba013e271800b75841fe5ffde701b +S = 5e3e7fd47d0495b0d4b54bda882eb46e87a5dfccce73a8ca21a94c38d5fb784d5a375be8d9ecfca373e26934becfe1aa713e2a498e8664019534fe58a8ad8b64dc691a2c225b1111251f860cc0358e3c4e676c47820cb4a515f148f69dcfa9c42ad56bdb975d786597a3759c0fd57303dbfeae96ca9b57a926734dc3229df5d57be1ca6f9b4d8ead9143c0720a08c8dcbe477a432672cea26dc0bd29de1fd8cbb9f423a759a326b1697777933314679be6b9d230311e0e0b8ba8661e7003c7cbfb9e8872f9f40a44d30d128348ce948006075b1ae0abc3c62edb3285a12cc21b030cbc99ba38201985241cc5051664675648e57cc54ac51127159daaee5a1a8e659d87dd5980af8a1aa97adbfa50bd9b045f6f605d3a1e56945cfc331fff81e53693edd6d20faacc930313fab48a27031fa925ce101a9628d7b14844f16184aee0504d079a3f82402f46859c5f24bf15580e62e67ba4349f11f3bc26018466bc2e4fb89f640dc882275fba95f5496b1aff5b56e077cec47e31597bb313ce0cd4 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 7e11887dbd16731240076dfb4401b3cf14ed166d224aade3562dc78ea6852383e7a4642ee2fbbf39ab25f7af2e288b620bf72e8aa43b77ae7352dac8a298d7a4d5e671894b59e21b25558d8005c934c2dbb46b74fce84c99750e6dc19eea0f75f2e098d51db74480579e17b4f16c16b72d2cb67553d9956a016668c2c30134bf +S = 7fc082938706539b7e998874f9b1daeb6abd62c2ddc948d2ff7ba219b2b1233515b6513f49032c4cadedb19583d6a069368b0cd6349365671aeb41c127304b417a84a38f338c5994b45a4d031cad0565a9eb75a3ed297971111a5b848139766794cf229bf3da152c3da0966ca4f0670c6a42fec986852e2c15a8a20e551669b089821906798b6a93af269ad493fdea733611bbcafca4a52078f9837da0806a63f07456d165033be37efdc5215ee97814f9caf217733d107d67d5e43649cc74925d022bdf3e038682134ccde54ddcc5761bb9b8225c02ea1cd8a25dde40b0331dccb5f39c12d319afdd247aefbff970dc2d2fe5077b74c1d8a52e89ba54be60d4eb83ef11fae03193a7ab730f8bc885fa779f1e0baa120aeb421c9a6500107db19db74f40064ff26bec7e6678c33a3660c56461340d3276acd76e28047820db6dd0f400ede21575b3569ccdfb8d20dd94d358b47da7e1a4b7350ffc5cafb1e39f2279e644c285c759223bffb14c339a9ce04650e426c6d7a58a227f1512b221d7 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 4a75703e08bf48d03e93a377602c225fb53df703a32b4afb2d79db14ba84e8a618705122c062faeb5cef716786d5d155d3e9e661105191f5cbf36e53162db5e187c75ec3832689afbcc21cfdf9daaefe1666a48f4b4d99eeb1d804cc016614a39f62df49d873bcc668f2ed6340a18203869a79b6dc852a8ce50ee3a70597cf94 +S = 05b6896c8c0d0a86667152f461353d20ce3baecea9037e37a91d2b49ee26da9a47ff63473f1971c2a092c0e36fb47810cf89aeabaadae65fa4a630aa7be2f6d6ad9d81ae1f5d676b25b4dbe7af6eb2f172183175d6999e04ffad0f7afa4108422cbba55737443c99605b062a265d97d1a1df7ef456c0d643c343bf493c2c813d9c2ba458f815d9c58fbaa95e2e183a161499b9ec596f6871c51ecd62e61c6fa3bf76129ae9341099e592a1be475e7cf55ccc00a36ea11388d0f8c4ece54fff6ad5e2bc004e5535d5a62eae969e8467972db519aee500ea1adf3348f8a43a05ed63c0a20231abc6feb0088d6d148c6b2e86a20f94b9534f8b0f35295aace50cf7e87d6f7232f6416ec1d28048b8901068ddd01ddda839b763b75a5d8393b648e3ab7366b06e6500396b116638de92343b8b273317af88a8eea26e6ad95b10bf7d30ab0474e918c129ec124284dc2374e2093001642ddfb7402586ac98c9a325c450d147e76164f946ebf3d387a4fd3cb1665cdccdf8f00291059be3d0fcb4039b + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 906f3b4e9d4ce0ef50b0771c31185c5410257d5ee9ee5f3c0b9b625b7930450c91a6ec38eb40614e841c1a811c097a31dc9899a63c76480424f8507b51f8fbbffbe0d6b8b504b47a9435f67793920af336a232b96ea0870dbd163de19aae284c17447f37c13fe15ac8229567605e1684666bcfff4716233d1e1db0f41cf9d59a +S = 5e15887c6810a9711b1d4bb566d4a50e057cbdb82f3371cbc32cfc98fa0044bee9565ba73cbc36cfd91f12ed7287146804d0688eb5300a68e3fd661c68eca1986babd7820a4ce56172781d6774f163f6c62f23c89ef093c1ff67f7181ce59e006319d0d15b5704e26ee1165222880c26521dcde3291a6d058f283cd11443747441ce8f39dc8ef662f6b40d641952c255addc8e67561c03b17bc9a74a2bcdbc3085010ae87a777e01446799a0856fe5b58e63d27f6ffe657cd9b091e0561a95a52a2b5e9981aa8ba3670c2c44699644aeb77b819360b767647d46bd39fe72d390d0eecab38961ad678acbe2160906fc9f072ad9695cb0af854d03e17fc1999b38d5e708e304206ea4e7a53bc7f1aa238ed2a9898d74d35a644e92f486cb0fef8ae74682a806bb86a3843d0451bb565d299e053bd458b8f67644ea6300e8cf0e4eb1a3ded0be00fe340d40fd115730a4b54faf5655969d744d5b4ffbf5afcd44a54fa8722ed0c1b90bcb48c4a7c4fea2a54df996f28c444964a2ccd323f28f218b + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = e990c8835f18b18562323ba5096a4e7b99bd84899e5cdd1f3badb47cbf93f13678ef81dccc6703d98566c49b6d63eef51b67fcc20cc971ccf63ccaec580db17256a573c6c455b4508153629606ffe7a43e6ba3b1991b99ff5c0968033bec7ec629ba888b6f6c2cb2fb01fbdcfbc5a150abd35f9e6bd9bc82151b770a8dbbbffb +S = 607b7731ecb232f9b8e9ea03be28cc1e948acc3ec12a1222ba0f63935440c3effeaf460d7066d260d174d0ed18a9193550000c2fa0119712fb1ab1e27b4e6f5f84be9b63a1ede17a01174060e2d9e46121cc5d10515a342a26649539341eb1b44b82e346a0102e7ca45be3149b5f1444bd7fdf43da441c59deb37da9a223bcd7a8244237bb5404ea532eb470e80891c0fe9403d12734100284e99cfd96de2ab4058529d91bf348c6cbdb7fcfeea3f9925e93efd6adb3ef6946008738f4577a49c42ac0203a2d982fd77cb421ae030b81b97dd04490605179626903471cf68835dd5e4ac41acfe54e048878df89db9c2de5f1e822266c325e0be0991c7f18cd3de4b2110e14f56100e45f8ba19edf917150c2074f379293f73cb587ff77ad63e4cbec9eeaed77ca90261b2813ae8e6533b09b223a68abe2beeec888088ff91fea5c63de3b55238aef018c368f98651572bc7b8cf3d14c15b24bb5534ae07a6c4c9d5ecd0b86961b550859036ba6fa8e50d06228d89bcc943581b26e302795d1e3 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 31912f498eb746a9bc7e38362f1bbdd7fce225ac98fe3e59e26478a2640a4739d653c9d3e4cea9813221433e9c4008c4c2e324a5c4365f964ad2410ec8ec7a1000cc8144c8817a4d0dd45d57187a55ef108e6618c03e539b9bc4bf9efd989278b4e39ec4bf3783b4557ecfa92a316a00edcb322e157ce20fdd21387b8d74571b +S = 61e8b413f7f731fd44c145d61fadf49de1cb1467ca6d81fbc9ebd5b73faebe4232a89c597696537de164a38d597362d68e19d439a5716eabc1c2fd6b2d224ffb63fdac8c689275ed604a12e96126d85e7172ffc4090e45118c5af9a837ad66e0762d42cd7c53ed9094a09eb1963baf6464c1ac9accabf1ae581817f659169ac539fd0b5109807a48e8adc3c8e3f8914d1990501cd5200c4cac4bbc02e23f9b84dbc7030a11db51096aebbd8f3ef852ca779a7f91221831272cbb78d9955de5c64d66583bde19ae2b04aa50b2a7ebecb51aba1f6e740d94ef0d7f0108aaafec40dd31c6ec84c0c55dfd372dea5c57fd50229207faf61170da637009f2fdd89183af61d90e1399d6ae7043d2807868ee56a4d917925e2098420c2f4bdad36bb925c3c7aa21ffb87dcd2cc3d58fc05bf74b7569eab03a179b19b5fcc7991881ec5ecdba3170b945a6927afd7c4d2e52db7a1d711b5cdfab39ede5da14398c257897d5f6de449390eabc9d974c44f9c7f119349e2c61546c75274a2fc8dc55ed98e4 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 11281a5370f24f3b5a84e5d9a66ef95e0e92bcced6332fb4af4f2a13da2fa39f903c2d2da214bf695dddb7c7b0da1ebc913b2e2d9c3a1128fd63ecd291331ca048e5c0cace8977fd6a566b5126418e7a30cf234280278137bb6b13a05748a4b601ccd9113b78ff614a97075e4fcecf02b4f3a4f5c9220449af0ea8677696c249 +S = 16a6f2feed2842c1eea43470a5d79892600103356d049ca09375a5e8f2c4753206af5c94e4367f5f331fb7ef6c6543401f54863e3ee184d6a53208c1ca5322c4d0f3fe001efea489b4b35674432b3bf9abfe3189f9efe3b2b8112b558bc1ae96300ae6a9434d6f240226661fe60ca6024df73b989fd4a115882189939cab1f532ee9b6823aa7ba21eb6160331ddf196aadebd2c76b34df96cd52534681df1b8673f7aafd66a30b7644eddf4fd80a2f36ce1870d0cb678e9ef73e012e84509e1a7fc94910cda128e6267ec974011e3118de55b93637dec73d11af022bf524414d7fd7d8d15c6bffc026d938669b94cc3b4c9b19c3da8613f71d01c7b0a2adf31e20f272f23e42b2afcc7a6142ee7c22e2c085c80982de3876fb73b446fdd8c9110d2629cd6cb67be9afdf35bf42e561fe7c8ee4b5cc6d9c0cf454865bfb6ca9eb626dab135c73fc6229bf2397c1585853963f4d051564d92dafb1a0fe5f28d63a2e2d3c830aaab086e4ee2a17005586333ae0365ce1f750aada16b6275645b848 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6b03029b416d40b1d4790cbd9f88d6c0b42f69a953831dbebb944e3e40370e459e0917ef8db003c09564c04424af3ef2de706a5634266070386bdc57afbff22168870007cd55e0c5b86a6240887af96b73afb46b1ef070fa6a624d09912f5ea97387a52b2ae53e86e494dafaf2716ff31cf22e303867b624fb80879d0e10b9a3 +S = 9950ab6b10c12445a5f9d6fb6bd95a64e6d533e615b6bb75b08a4e881a3f8f35e477b4f5852bf412c6782eb98ea307a20545e9008894a70067d5d2b4b1281a73118549d9df23739569c51f0ca45b8e8cf9b7a9e2fd4494ce39cf9535ca7ec34ee5d9c18269248d1568f84a825bb00a10ce8802d83c8e6590e3c58c9dacb28bc625d590211c34f0a13c1ec1538bbaf2a2b03ed76b4f2a5f18c16c763ece6968267b982d0bacf8fcac6dd40e831afddd4925494b15ca5e3641217bc6ee1c433720da77a1370a9278d41ce83ed37fa19eac551b5c77be81907437ab5266f17ab9203758501afec5bd2d85180eb79fac88a5bc587e59c06000669de90d678d7021eb5933890491cc8e8d23f300b0d854855d6ed7b885e317e6e62683ec55ad1c4c9227434a4d29b75af133617c1b0eba21a7842a2d80834452f19e9e92e0434637861251383cde9a0c0fc26579913e754b0f87ee51645a7d4a1fab3567e84abef0b7574bfc68026bf9f05f2df489f3fdc2a4cd20e2f1308b81ba2dfacfe8de561db5 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d3aff01d77b9346e723e8422aadc156b18fbc18e79b057eb46e23638e7ab1a0d240035a5dc9582e3f9fb5693a30b38f3b488f2716c00e8b767f3a9e5cb38c41dc69bdd4538cbff08ac74341e8da853ce97831ab18b0f7cb827653c705515bb85a3c80f86f32454e773f0474cd0791105a73460d43da4bcf76f7e1962ec0ca84d +S = 1a5fd5063e84687cdf77bdac3678d54602e24158bef07a5c2d14249c1c94297e3aaa27c239493bd95eeb4c29bbeaaddef65778ef029a6b946d2542ea5f56b7d97c68c0a2c25514caa82b9a1e85b3f8623ce552b9f90940247fc77fbf80ab8bc38a9b77c3f7056b5a256d7b7556120966c3eb7ed3d6d776fbde617bae0b94a2b8226cfa765ed49124755c5a72177a4dc5f140ffb191796249b8683af4679f3e697b18c5781bc6d39d460fb6ff5acc0d3ecce065dd1fb989f838dbb091ed3ecacc833eb530eade2e44a7668660aea0aef65d667b52869666ecfddade32ef2ad681b776639508184f3f2fd9147f5549ed8d294af3e0f8eb6cb686adefafb1d36b178727f9c2efcfce266cea740c280fd2df52d292e44916ae9b2bad98c062c94efdbf5221bcc15b8cb27e7ca1bcbd4f86ea75384d8a31ca4e8ce5c728f2f695e67f8ead13132b2dfe52f31a23c5c12a60b578c04fbe621f969fb0f1297d4ecbc86f41846a67e696ab715ff22c6b5c606d8ca29dfed16dd47b3f65ecaa7a5fe6bf6a + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d66df3ad0a04d265252c2e1317a618931b4e47d23b94bbe016309f47e112749cac986c53e60414d7242d36db1e75feeafafa5b46ce11a8ef60f08c0230aa1f44b8614efff2b6800d1b857a32b7d07fafd5f8bc139433e455e63a18209442096e822e605835035e2c929cbfc1e89fe50731af32e295e3b63930770a4a15c27b40 +S = 0311eca80fc0c365322c5357f62f4a8ceff87e57db4e5dcccb9a4c2b6c8f4b69816075c946adeac2dcd14687272ddb7012579af9886a9ff1676e280cb8f67a74a665532c78b42e15b07979f8b3f2a5bc816e469049f923aef3cba369bf9fef89c5bacfa115e7a018795d7a92a7fb80007df1f23554b56b6423ef64075a28879894838cc48563148ba331b3ec70f7f005211915d96bb693ad3cfe336e7529b8f8f39fe848baaf110451d6ac6466766c135f5afe640942fadfac3e83cec312193d26249eb1f9964b387533d68037448057c437a69431d96a9e3e51970aa80c78e8c3718b87787efeda29f1dd9d532e7aab762d5f2b07eba40e7b5ee9e0977239e06042ed1faef869586e26b1cea1d217d1af912ced220164ab233817c387795cade4f88bfca0fbc53d6f3ba501770073089c965fd5844b1449abb74e382689b0d6cc067dd8d7aeea1c93171fb8118e22876ae09afaaed0ce2c26ca7021e05d8ce92004240460b52d679c7b4cd25c8ff9d7c134d56054b317c2ac3c703eed8c8477 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 17fd2024ff2b1dd822458a9defc78665a2d23c02d073128e4028230afda0f045a9c352ff14f2b44f0e907e4279c1d4c5a27181c5d1992e941ebdd88f87ba81fe40be253b4a98ef174732ad798d5b824879cada8b0560a3cf9daebbc92fb7a43d82f77f1fc8a438f77633fe8a531ef6b6cfe5309e9753da076602b3021e21c3cc +S = 1fc7e46de0b6d93008d813a642137f42b25a77a04e17d4788c71629b17baec3e1b35a8c8595877a17aaabea351ef69477ccedfa3bf8341e39d3e10622f39bf09cedde7a5d341178efb09df92e87a5fca95115fde58b8992c6bcca00b340557a4477b43d8d4352f72f5425460855b3afb291d9242b73524689e22799300fc556339d103252d31ee1e22f4bc974066553e172cb90a665782750036eb8c0536fde1966760520b13da0b27845adcbb72603472af8c9e6bf2fd920337f6fed49cda2c2cf5a0eaf14b9464c67ab53b2af9155e116226d9a2fad47c5e2b43dc477bac1f597992e51a9c1b045b76923c685fd4f25e3cd41b75aa45a3f4a3e2da1ba49aa792fc61ff8af114adba97abd2f63fbc80be7d005f81140ec5302f0753ecc4d3bcbf6bcb29be5d94a27711d18f7767479ef787484d965116a182815afca4d32ae4eab05c7f1a4d70bef17f0bbccc0a59fd0d80f1b4119f4fce97698b623d5df552d5131c9b830bd9b4f07e105fa870f1e406617461d0e3856c06d1e2261c9e8606 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 54c67c29e4e012fbf366a8fddc159a6ef9b421ef7199ca2d516e27bfdf35c4522b8a5c03e6284d0c77af4aa34ca5501f6ebadb5d595059620a3adf4159c41b3f89f48a361e10ea37ee60f3737b35425c802b9607caaa3ed549b3d25267d9225d988d6c8a339fd2c480020a3712d0586d578db9b66db061ce375f68bab17bc1f3 +S = 2ce6518f193451f457bb64c4a64aeb7643a622890ecb4225e6c0dfc69605cd6c858729238b1f9ba2e77013d79b024122ac76030e09e2b768cff15bea6dc1fe2577f2e41fb085cb61c308a1df502f4fea7c0aebf65c02098b4b83cf308c98817bd979f6ab9b364d7eab313652015f8d8ee087ed65020ec49d507d069473daba2b7cd9e87082659984951059dbc2e9fd92d2a12b8a848642a64f13c8a852301187692eee5df9936333392f843b19780a5abf630c18de8b2aa4b2d40f22e613529b2ba378c804335537337ab428d46e61fe003d73fdda780d2a4990977e8a69d0a3eb8778c37d68f315704ccc570654360c2a27c11bdd5e41b17f92498dc8afe8b4ae22b5df30a5ea849a78d68248113cf8f484e273e2004c1105e9eff726cd092cd7fd398f593ad325e63b1e176ecbf4564108702f786f220d1e075ce91c8593cb9f3e3045b8f116d04c6b43381c2be4df4d25b752afe7a2f0899fe49e5c8653228078ecf3709911530299c7ebecbc4f56c13194cee21796acd2e1ab753c3d6c03 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = c0f7837938ca95e06d2baf1a62a3861d03f91011aea9315ff292970b97efe343de880938092af92c1e547fcce93367c140d0e6828b89356c83be7f1439ccfddc5a3f60c4b2436f83f05cf1d7a957cd199f81701442166f1777fc6d4999b1403dbd834fc63bff3e0d6aabcee0aaf8fe4da8727770dd3a268958b62b51be87f28f +S = 20f7c4a95f19581165309acf45dab893c715e09f16210e46613fc571856e3e3146e799465868fbb364fcd1fe3973e4535a79bfeeccb10695ee6d8f5a96c78b41631d2d6291441e7611d45f48c1e5ab8dbf540211f50d2df012b658fe68277134fb47529aea339e750c15267686a23982505758b50e4e34ae845ea3143038c1b251cd177aa25a996cf2791c749f2e4a289516052d0cfb40cf215ae00b503219a18097ff268cb8cc833700912d23054534a6317622f8b6c5d1764ec7248f9cfcd4a201a9a82b8b438305619377e621b41c92ce61ed6662af84d519f9ba519dece7d607a87787ba2d2198b5404735bb8ce1349493688dee1c8ad6c6c7d0ff116f45b9e032785901f5fefb1711740fce615b87f4e93c8abc0932c1346da005cc815a9a6d017a2b1614d1d996df8ce1b123b1ce5daea04d983fee05cdd6bfa05fe2fcf0e73b1663f36a41036a2ee67db924686eeed380341897c5f2b1c51a7f6f010554e5fa406383497f42260a31dc066cd0c1a2cbe4c061cdad0bbc226687245efc + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 3207df80951d2172d9450ac9d686dcd56dcf1722c92ee24de542ac174ef313b82b6005767a1925759c8f70d114c920ea8c58d0ff188ce2ffbfe81e9b38d49ba0f192e3845673523e4f4bbf5b0a225f4ffc2ce50922fceeca8df49d361d0082ac8d84c1d3af927075f961409141fa60abc5359e676ee4d056564e721087df9083 +S = 45d1ee2b69f852b7f78a437c28499ceb5c68842e4cf7cd2c879dd2b0ae6243c8a38f62179f508801266a2d5d0f32d22f669abddd45f4dfe309ae6407ffdc965f1f68cef5741948ba297f3d8df7daa83bda95a82862ffa70bb5d497aff42d516c3a6fb4d26c19f7b33c1672a21a4574c46586a20bfd5ad8de495126e993942d25d87a23746026b3ef17605518bd35d51d09b1417c3c30ace1cd356287a66e86411bb3de934e2187e8b1557fd541c92cc52b193b978e6bfda5e93ee0655e111fd81d29cee7bb9eec6668715a241400dfc9822711c14f9478e4a008a88bd81b61b27e1dfc5b1b64fc659bcc20dd44d41e7f11bae6ea853ee700a06c54ec155ed2115098178e3fe9827d49394bfa4cb8b0ace65471ac96b6c80c8837799dac1c75345924d21177ebf4a7e9b6a3ea784003107a199c291e5f71f0757a7c70c6f61adeda5884901b131cbe431ead0a7fb78e61d9c1930d6bcc8175cf4baa047f49290d8559b57ae859fbdd90f088b1a413b0f3cbd4199fb1d0cd845e3ccdf7033470bf + +[mod = 4096] + +n = cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43 + +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 06a4317d228834c85623527019f322308049d691d82faca70bb16c1fec7606bf0dff42b6c58d94ab3f8a991c00ecc21bab0d720e96a4144fbaad43cae7f7691c785d90284c305a4a07f6ab4d549312801307505b8f6249efded918676f72d311f3e2d2a039c39ff483896ae34701fee69d653473977ede8f670b3e5896a91c1814b35f331d04f3e653d1f46bbedd6cfd1e1658e7a75eb0b6735ebf7e8ef22447f4c1bd6e2a564fddfddae5af7877efa56aefe0490ad88bfbba80d19ce132e50d6063d8615003b630f9e0256f28ed45ef45c499d31bb61ea0e6f6d0dbf0a4c9b0b087cdde1dcb00dbd20db96a1a2f993b1ba7142883764ace8c9a30fc65bbe70392980665a90e543852fa7e53a3f01cde58a492fd35b9dee91eae2cd6a5471e8778d72f946618da97a2c75eb7f7c722460ecd84cae74c0d36700b8038183e2d852eccbbe499872e44927768b41223f910f2761321cf469f73fcd2083c0a64470b0569edcd0073c028e5212462fa13c1f2e04b2d754240acd2ae27bf6c287ce3faae65586538d435e83838df1caecf3bc8d58e30a46d86eeba4a267a33eb603d4a812aa4fba3c6ccb10ecb6b3b16ae07939522f8b7b089f0af7231014319263ca693f5bae5585d542bb14d5e9f807478df377b2780a4e5da2da6d85e4a0a08316ca0088239d777d8ce275ca2bb11ff0496ea2e943f2e77fc8e0fcde07bd355dee1 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 3f48325285a2dd693adb6e4159cee81b2b6eff301b4f8851c7682fcb5317688d0265a88d078cd46798b6fa4745083f0a88df18a09d59bdb59318db90a442893bc2cc7ee472f98183dd1d20bd24a7a508f55e46115ceb9c5bdb985728bc572f9ca6061e206ff1cc0531994b69a0b4045f9a74f14a000c0d8ac571095b445d41f9 +S = c67f5077eebfd7500ce162079825c3580392d2949e43e326aec0e5861fa8a0c60b78fd440e21a2a59d68b7dca5b2f4036bbdd089bd635162ba93444271958c3d9d84ee9748e719339afd83805d58a9314b4088847fcf0cfb6d17fe1256ba694ee5d42714689c55e7e241b7f0f569b29454ad4e9971d2b2b6c59d955a829b6974cebdcfc49b0f7d273b8d0d5f1d03d461a143fa9b32de29873f8ef82ba4e9f7dbf80bf2e4e4dac408985692ef27df3b4d432054c1c4d42f66541f5aec4a164d49b50cfd831d0f50c23d87dcb44b03ea6a7689745c1d9588efca5452ec04eae9c81d2eef5ef71c645e75405799afd285e282b1c3ef337a856ad0198c38cc75749029c26d2da43add588afba30909cbfcff899272eca9dc762ba5b182cb975775e40f88854bd7ec0a850b85bab16ce10109e0fbc7ff2eef32d314ff43f00396e3f47a121a6f308d5a20fcf03a588a258694a811be7261069d319ecb3b17895ad064178bbc5ae831f3f991b79a79c7fdd4732890e7e788e19359d420731f9dbbbcea85eb3d3d6675257f2524fbf2fe6f5a0f6ae8972ee263d561f39183d4f0885ce62012c2f42584a8b6ccbac731e454ee889d028863899d3b0d7e0d04bbaed174549767a8e8cd8bb38622c6e84607a0fb3fb052e4e601c7cbcf604a76cea6629c6cff150efdbe0aaac40f3b18c0535aa46457746f1960b4f8ce9591d0f0d9a118ae + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 96414febf1bd71fd958730a817b0e829d9e3252ddbed137ed47c36e282275b413eafcf05d385cec6908c3e279c1f9efb8a5639ad2d859fdeae06554fdb39cc02c2c8909c7f30c20e527dc874f554433d2c37418d9d05b5dfe2c024efdd93a0d74b14fa789cc6341b03e23558c957c038e60fa796d2743ccb9933098a2e3fc108 +S = 225c600e4e99d2d60b0cfd96fc2c91d0f3fb9945b1558156a92ece9a60829051b86d78eb1a98e5081f1316a5501f509067af13b0724bec1cb6411b7679a446d7b04204f4fe63fd2e0c87245297cd10599c5e5758067869dd1fa226d13c0d3902a866bd2a632b91a5ead1746d966d6953a496f8f98b720b889330a712ded5388712390e5e6b5a3bcf7516ac55e71e8647cd8dfd102f23326d0ad4c3d0cff018ba6ef38fd79f582fd9e8aefa8b823bd74199b761544da5b4cc894806558d2efbf7874501f967b5b092f242a5bdb53f6bfd68bed115eea5c5baace41cc5d100f6b3e8f9fa4f20d7f02520f164b5a88c6f797f2c92ee9b629102f9cfbf4df4e15a1fc81a68cae6d57599d7648835bbd42df07dba2106e9ec94fe2a709ed3e24a97ccf162fef5d53ca76aa0db3cd363137f68a159535b9dede7cc6609cf098498c5e44cf170313962faa0fa8f02d7d152c3e5a72190a6b9c0b7f06fad19c9181428f53d60b0f5853ce9dc13af5ad62b57a07c93c805d0d7b792578878f4ed2a75df89bf516d9cfea7141861d25614d43c02aeb0fdd4c0051d96bcf0f2fb31f67e471b9daf24b7808303f946478b82525d4223c6f48d10aa87419c1bbc88d4b8f71dd9b2cbe2024a2eaea7ac97f06874b02c76d2443bb1833bb6a3517e5484a2c92e6dcb34b02f20f8c63118eb6f027533e307030f8e68fa20ceb4ea0dbfc95c9a5d95 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 076ce52e25fac2451bae25df467efdbbbb3f9c7ce6ba735771031d0f6706a0239a63ef46427cb30fe6cb4af2807a106fdc2dde894123d17a537d4da538dd41ccfa33ac832cd460e4d1cd0685797662a7ad4ad8b08df52fdcb8af962f6cc9e4aeef8524ce2d2b512da2595e807a9b79ccf73b91da145b16e5684000954cf11231 +S = 2670590632b7450f6daac64b50cce8e93d024aed3686d3753bf232ecd4dead47a594c8b9af258c40080bd4a52cd329a95dbfe71330febf65f9086a4b27e25c5215ca3fd57701521c9fcf8580fbfe3a40980e6f3b1ad7c053f0f9b537298f5dbd3e114c74ffaeeaf1c6515ac80bf231e273e7e3852011a48cd14e62fff0d0e6b7f97548833dc5c04c9c4680096c06221c2912fce47d446b999136cc58f8e978221b0e1279b306cdccf583c497cb4873f47ba4d23335b57e91340eec1dafc9a10bf933e2402b0aca67f4224594fb84986e5b190606a66dfe65e55fc8f2fb6a6d801227e40a0de4e48e13be05f1e55aff31e8958d49688c25dfb598b62793020dba9e146f6f6b4a539153aa9e41dc666939aa0b11eaa7d215538bedec04d1ca7ab911e20b55d18b6c83ec2b53f2f295c00a1d487686d400f9e321d07e4c46e43f8e4b62edf12bec4d8400432177c2fa4b6201ab85b12e5746791f64139b22b185a7606d80f1efdb469c973dc0c476ab2798e26fb0399675d2224bb58d412728eabf99b82a117b5018aea86ac4ddf48e9cd5e3052540751ea43eb64eb557698968167fccfdb92377913806289d5146da674de07d5fa70f68d5362b96d3129630e0aee97e2ab2b141c19c68f57147c04f8e274b9ce5101c8cb92de467882e6cd9907207fde3211707589cdaa14a3a320444f72a07022c94b448481a27de4fce6b178e + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 8289e141d820910f17a9668129743d936f7312e1604bc35f73ab164a3fddfe5fe19b1a4a9f237f61cb8eb792e95d099a1455fb789d8d1622f6c5e976cef951737e36f7a9a4ad19ee0d068e53d9f60457d9148d5a3ce85a546b45c5c631d995f11f037e472fe4e81fa7b9f2ac4068b5308858cd6d8586165c9bd6b322afa75540 +S = 98a0c03528b5f7fe9a9576af7522a14472b358c5417a22a17362360b5a4a85a1eaa3e12cd99daca1e13092f6be52d7909d4e64ab2e286407f83c7381078cbe772b47160f7d3ecae107b3e4c4b30240e8fedf9de060caa172cde0bb21ae2ca0019a80448f53a581ef79ddcf859b8967b76997955dd524ebd5b678dd9484b126a0bce2dae190faa09294a300d123216bfa9b5e722af9ad0929602bf0f2aec3a42189ab2f838ac7544ee1a67a324399045a5016408a94631d8a171e3520dcfa292a1ba8c46bbe5940c257fafd6027d4f66c58fac3653cb5dab692cca52ddf1ffdc5bef256e8a3e1ec53723f0ba3c2804fd0af3067283e947ca90d2051190e0e1cf7ce1e4e1956c93e29e0b0a9b355416676965f0bed143ef826a321a83e6581b334c719b03c044d868a71f3a56f19b7704fe757761fb602d2a7000561bce19d03f747a75c65b34ab7849727981eb0022420ba5d36c66b9896c7af434ed80edd3d771024512ee8f6a8724c0e7da576d1dcc118bbe0113194e08956e9bf2fef9f535ad0d0533424dc74d62776715115324be9ee397c37db23576c8016dde951a07dfd91aa14becfd6af0b67e778bc0dd58ff260188ed51deb4099fe2c2fd84fc086826bf82c0476cdd1d0428c7a5ea724eb262e1de3f098ad15d51a109119890f6f203245cd375ed9d6aa6d150164a2dcb1b752e9804d729864a3af9c5a2b752c0c92 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 58e2210002cedf7f9429e182b686bd5256af6725a89755ab6b90e0e46fbeee3454ccceb994dd63dcc4c68526167aa45623c5aeb0e73e33970d77c85e6d76a95cd469a23e03952fa1fa90e2e176b0052bb8c381da8800fe007a3e4c42706401ea6021643757dd8af7beefbf58dd1028fc9d0fa64b92c7fc0d384f35387d704006 +S = 9d1f182a22ede96a45584af156a6b5269786dc779dfc86c76d6dc9144f3c2b6759be784e700ea26d538285933dcbe06d56a3b5c5bad3752d5d7ddac7c2b6149eca00b98159a631faa317447ca6cd6ccca07ffe2b012dcbee5fffeaaac5bc50ec6ad6efbe673511acd1bc754a4315d57204350c6cb35d0d40c2d91199e26f67d214f77f2fe877f6ab43c906a48be1ed27de2ae050f8980c8c76950b9c2c0f20d68234612f3756a1117746aee3aadb47b0353dc7513e4f7cc71e30065a77982a23c8280e62e673ebc902e0ca1bb18d1211d9b20fc3921ad6e36ee0ce2254eba4aa10419e57bec8429bd428c7382e1dc48c3f79416d870cba1df20f9f9e18a4d6ef485f3e3b197b34c9c2047991f2148863f3e344a6c2811def5d7dd4faefa345c48515cdc7ef906d755846d703971588e87a758daebba2ff224fce4f7ba3e51bd45d5295ca0dca8ba1419f5c9c21affe398f3526e10a314efbd1b7c754da5d0bc571264ab32e9e56d637d4966a00241f6cf45887c8c2139335d99d1a08795f297d4ee532ab40e3e2b4af1929c988541ac24dbaffafef41724c37640ed12983625f4a9e797922a02e71d79ebc80227fa9d38e602de1948183bbc2f4cc5e6d7b751c14fcfaaf22b67ad7d88ab35366123007fbe97133ef845f737659b213a910f6306d23adb4afa2f7bbcce891a073ec6e693e5f2e9eab26d31de63cd09d7e2b3422 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 56ab3b0d8507ac6b949afab0790d78f4bc5d8033368c5da21996684230a672b5688a625190641f735da3b115b132a3a31cefab0ba45f8d14c1a03cf0ac9f4214d98b6347c2897df9e7a9b3d71318ca9ce098d32a7d2e0bd9af1aff0f160cf411b2958518a6dc8ea83b92491d2728b787103f42b74c60a09aebedfac6f7574e53 +S = 6891ab4f2468c522cb56e327fcfa7ffb810ad215e2ef553170b5abfba7860dca2318c2f46ea10bf65a5300ecbd9f9d9728ddd8c219da5d9faa7d275c9baca07f0819b0b922783ef3ff89533ad2c7bfd2e881287e9dbef7232fb8ffa4d3d9cc548b0384984444b37fc8d888a055a1c377d70b5490fe647c408a28a2b123ba5674c3e509b3fc07a18988cec28c53a5bbe8c07f7805f498404373a8e0010d17e057984560761bd03c65919d61c3602983cbe6402d8ee0096f06247e75f7a67e82eb53889cb347dcb118da2006536960f1ca311c1dbcfdbcbe6412e8a0873348349bbb93f15166caa1a0b145cd701f7467356508322e5c1418d390aebe7a9ca60501123c0b28b4df2720d8189794100ac8d6802ea1137014d0c8be551ab97f13992f69f117bc35ac5d45162ff26705ddce2c17998fcec7fd0209bd549f9c31a8447ed538fc105281f1097fca0cf2a7d14746585779bd46c047e73a4f4c54485a55d7a73fbaf4c065fa9b58f9700e600379457e3331db3b8a1d1a880ee72c28bd107eb407fb89a2b9c27b6225cd22b100f623beac029db7727e5ffc527fe07d94ffc3f62e0472329fdbbd8e7c22e094ff76586c9921a79884f015075bd2d17e778d74c3c22d998f9cb5d37f655f2e6867e6faf87431ef04ddf3909e88e8abf9903f852a862ca23952bd82429f03c5c93561a16d77dbd70d7a4d6e16b6a1e9b6708afc + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ead52e883824d9fdbb2f3a91142594132572707073932a2ace29b005354c8704f4210f930faf0706e3ee53420b21fdba81667b9e058c304ec324351530db58143507657c8f7fa50176b0a58b7ced382eb907bf5c251ea85945b635f00a0d7f65f6adbaaa803dbad5ba9cb6d231314d55147cc61399f19c329d073afe8b8c03dd +S = 09a3c7763e810ca176d3c4382890d8ccd8d963fc8ea9e1d164cd14183c33abad07d5220c3fe17921d7f7a7cf036016bfe71810a5a6215f21a59ada9da94d0284fe5cb2c460f257bc9c28f1e2a341cba5e18533541c8d079a1bda77765d4f7604673283d420ca8e9caa8c34b38c70baa8de56c38d25704eb033fafe58751190c7b584c22dd108fa694bbc09ec13bda8ba84213da1280c4adaad76c1f05751715348c322857ba8cc8f4e20f6be1d7fbcca87161494a3b9f3956128da3d34251654a57b69f40f6d182c4f19ec417d463c63a14fc282cc65df01eaba5d6eb4967e80cbcbc908f206e6c6575c4903700456f5a892d56d174691a1c8def2b173016f6c76bbff1b87185f3b7bd55f43411a0537f2079caf40e02de32383fcb5ab05fab212ce991b813d1bf159aba95ad3caf8366bc473bac4c565d0b64fa7b2dd50062114ef3180251b790024dbcf29d6c3f52f592adc3ce3bd49d485aa92e574006a05a6bf15ae476e7607bf3a8a668781661947f47589b4521eaeaf454f3627b49f8dc634045428bde08f2d7a90496a37355f0977262fc5913d6d5c82895ca4ecea72a6223dcc272ae93da92dfee2f7818009b20ca14d081af85911ff0dee0d9a8ced3b5a52b0dc30c143dba6707a765c7f58720d97b30cc0dddb6dbc0f77bfabff730ab1d77d24308fe400bb5b4a5134b4c338ad4ff8208795b6f5047b24e53ac127 + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 09aa65cb8776709f6fd74a5d8cb741f0b1f1d898aa6f62327390d0baa8ccc80e3d9af7f56f91a75fface94ef8d97fbb67b3df542b34703d7f2cceafc3721c13978b5482093387b8a87036723e4b43d298018a5706c4f54aa262ae1e510d8d45521c20154dbb314a77d3c6c0379572dcf284a902cbdce7e3378715e7d1c392be9 +S = 218d54784a0824dde08e439259dafce8359e876b92f8d08b2022727196303c1864252d4c49a2d5db1f95b2258f6edce8f3b43d63f5c0354c1fa234e6ee4a50c32f7699f15227e6235f40c18c973609acd46c0c181f4e8e67bc5be00bf7d68c2acd979086a8e7a76a4abf424e82d8b219f6a9ee65bd6176aff703e352382f401de4e49f899e455a7fcd8dd57140551f839dbf0c9ec6d37940dc6fe2015042fd32afbee3e9a07b7f3c5d016d4c98970e02a756e56e3e1d6b3fd34b62d4690fecab03ff20410baf884012d0fc902267625de62ef128fa8c665eceeac4fb435318b68b537b3bdbdf959b3ffa0273b4645a64ff17ff9a38a07e67a2d238e5b9a469e3cacaf2f6be4158eb55d7d7c2fabd7ea546c38f4106a448fd3f9129e509b3c0a0607460608f44dcabc7f6f8ed0e5fe06a784b70cb3df6c7c0cccd8d5091b5c4e37ef3b04ca629fcd9f341c4dd1503565437b9f25308e324aab30d53b7126d42667ac41aacf7451dd625abdc590e10157b4b5079dcb4b11b6be0a88af11e44d60455d2288496ca466771e70219b795f5008278a1e8d434d55e382ecd643291cfd087e3137c3addc29c0bad350853ad4c2a573c2150d429e986efacab40a1385c68f0e3a8c6faa19ba818c72c2c0dff5526674a97bdcf563ec5a3f686613dec50777816156f1b7263075ace0828010fbee253b24628cea7200c579683b4c704344a + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 1eff45e617f20708b64c97be9fac65c867e54ba855af6ff96a9c6a029e4daa8b6de514ef92beee73135bfdd67d9eea2a713bebe25f6d9f2b92e839806d0ee078f46556e38e49d81608de4683de49848db620209a2e1e3569d71c8fa6813c0fbbba6851ea91fb8d98a0bdbbec4915fb993f7a33f8482bfa5a4220b59c6440fffc +S = 17b09bf2e2569c2aaad7b98dbfce7463f818e9702d2d90efc3b0a58a86baed97f470ab76001c37237d55f241301b11cd201157726ccdc1763789471b998249d293b9266bec8f24e9366fa276c9a7ca3ea7ad2ca215aa5d7e5b272f6ac5334ea011b58132c1d8dd63697b5b5efbb50a593ba92afab5bdf5c44d191a1a2666cceb1ec183240331559a7ea6ba32bc14cb4ef915d9d4578a8d5957347fcae5c0cea1c86ab686d031ceabee6ae16b8ee278da72818d27c894fe1438dba5de8fa60fd7d4d55bc2ec986eaac2c7383e3854f8f4fcf3b5e8da83943eb8f68129165481ac08e341116c52172837e811f35236fad44e5df7537f7c3a3d9ceaf8c2840141b42f5b7809f9a3594493436cb915d74509b69a5c5fdb1433cb3138a2fa07e4fdef1b7f5e829d79509243f48686b7668de9eb5e1b735ea8467524ee42c71ad2a18ae2f5b159268b92d051621af93fb21ed802c08fd70c2c664e0ae44443aaeb892369ab456ba30c25be29caca8877f574b0bc5be06f0edcea19acbac44e24da06079fd94fe61c9f55e739391f155b5fb5934cb4c8882a33678c8734307e7a051c61ce036fc5a208149ebc4d609d4a912bbf0cbd7a3d3718adc8f605526337a762938757b3408074fb4b2f90ec110c726869c3fc65d5b1e84b65cac5cb49fbc3b70c86c55ad03f0c09e96d6bb460d235328c23131b9df234703629053101df6089da + +SHAAlg = SHA1 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 7a7461b94807f750ba4aa524e902ec3f00c0e9de9eb6d8de7bcad8714fe9ed15ef9e4bc7b9e3d2733337d5b0eff01faab2d3385fd4e2e40fea75ededa38c221bf064a0d5684850edeaaab1778472d8c59396b5962ceb978abb3bf2d9ea976145c5eee74d1bdf7aa427ccc2e16f301e78ed32e8e96d7afa373643709cecb1b07b +S = 595651bd0d0123e440acc567d237caffdbbf336ba219ef6cf0f840dd99b42951e5f9ad708c7cbc7535d4fb2acf7db3dc7a815404c6f3c73a6e3a9035d8e17a61ed41c6c0ae3139608f08f4cf8bd747a82abf0b8faae59b49b4ec40e12682b954202f81bcd941c2a02bab09e53dd562ef578c38a5284338f66ba9d43a4a9080dac3014aa1304c96d99a3e58c5c1d840497d297d0d8631ae308a464063be288dbb03819fb0f295e968e629e3e4d7a6be03f9f5e7eb9fc1194596e1a2bc6640395cbbb80d2076e025ad9f7b477fb503e072fa4a0a9e8f58ec22bef136c6b8244588cf5473a698a44139b7670429fdc819d2cbbfd9ba23b1a6bab2fd64ae7970eb080432b027300a1b2f656198a29953de462715a9446008daf478c6a3254d3537829332686078a43ed8c0deffee080be9a3505083d3816bf8a8d7db5bff139bb6e4788d368c42f632988fac44138aa15dcc425451b96c1800194386c5a060df8eec1deecdd9ef05d8bf587fda59c70f8e11fe8224494e25051c4d4f03821447e267d3ba0daa063e64d27303c82f4c0091f8b7e67d9a0a146b31a0c30afbd641f0a70f54a2354bdddf0238980e79e5a0cfccfe946a19f29ad8a358eb4b9ce28091ee74e6ea4bff24fa86a4817caf412b69797444ca2a2616438e49b60f50342473ec0bef5618fa82553caa3c73247f93e3786b041976ce6baae449366ef9e94503dc + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 11bafee5c6534fe14d973d2f60a674983434ee03ace7c4f1cd00444b723e455d40ffb722dda97ec25d488159fd79fdfa148620f446d2d353fb78d7aa0f2f1310cc712c6915dc57e7e3d86bd0f67a3b81c4a822b3b67edffd93f1a39a3cb2696d9b558642d6b38157c88d241bb172d3352ce21dc862b391f57eb4d3a26191ef7a +S = 3742d8a9627e2e10145c31a3548977f87f8019b1d9093c42f806c8df5ef7fad8330e2a05846c346cb64d9e8af2cd3806eb0df40cd097b3f8841525786ed53746498aa565f8945cf55e24944e8e3d86eb219f65c3385e1e7d45fe3a403773f3057bf22839d5903cd64c95a417c00b429ee068f0fe8ec17305a122979cabee8c3ad31b597da7c71fa1db3da842f7f7048f4396e1768197ccd84c5d9a0450d66f0bc88da7605cc8cdfe52bce60793704dafea504349ff14c481bea73dd761c848387d12f2d1b9227a959fec8b9eef0e9780cb6a427af946597d7e6059a07d50e878d7ae14eed8b571ac88e1c5d1a00d16c0de1c5148ec5781036676c6355e0cbca06346eebaf6c7de938cedd47a244f908ba1189bfbd97bd2667e8eba95e007a64b165dbfc4bf35878cd606732fd469f922ec141e5bc6a7d5c1875233cff612d336c28466c271764ef94e9c07e701923f1f68f39e2f003487dbe41d5505862eb4e90402e50f7b3cb918ef3eff893d0f00b203e2a511cfea4ca54c043ed0598d022c947cad5129fc47f5e79db97a0eea5afd7bb801a367a7bb8d929de1c12a54865e1e183ed926bb8da9d454c7a52b30cfcfe9ed3479799276f4a65b30f430e61fcf520e46e4eb9bea59ba064e7c9c72c9b58bf4ff633897d3ea46d989cec31ce4fc32e46e5a3d1805c35a30b387fb77afe20dba19be37252e40b252d346b69d3cf2 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 601296eb3a94225519e5ab8b424247dc1e85391398fa70eec76f50d2cd8ab5bcff60357b4642a61dc4dae0a7bb78c409aba67e50bb02061e5a4ded5726bf561e0d9d4300b20e126e122b477167558b994dcbf537237b89cbb419fec0166fc557d3f446e2479f6d3249fd65520e82a376491d272e970efedf1bfc0c7465420851 +S = 79788f53baf1ba3fdfc341796ca381e02c354d4fef59a8eb9bfa1c2509986364f8107d1fbb7b27d5e0e2fb0277ec2d13e057ba73b3298f22beeb2648f1a7eba96a17d76b80f09d8c9af02f53377eb1a61acc8f54d762c886ef0fa2240f6ed5e1f1de7f7099bd340587d6d6049a94b313231405293558b10b76d15d822ed06f10c027bfb61d35374d7d71ef55aa180c0cd1f4931d01ee98c8346ae13b5cf1a52aa849ad044db7b50481922cb94593ab4972c28fb7d53b1732efd09867ee0c0db51b3aab421357d16ef79da130c3baee6c7f24cfda52b885e9b1a479937101b23a7a74d7e6fd02ff6c415637f223c6e01729e8e76235936dbfe46b8686cf6ce768331dc6e393e4e954af3092c3b7dabcc4811ee11cba3c676aabc96d31818e000ff1f1aadb5e149eb9fb24383b51e919907a955af4e77aacfd37a3ce074a7bec7d4a89ff528b20196769ee6a0aed88f7635019c033a011f07a08f77e724e831f5887c0d0f45987feb46fae2fe17b754b10a0e2568b8b69ae3d648f4e223c291a5dc36f3c86ebe576116222db39ec1cd76a23e5b4e753a603cedd8c42321e22228d010864eeb0bcceb0ab5b03898547ea2661badfb4cdf568832e45ae6180b12a08f3149c49257cdb06d920e554eb72694867afef4e002f2d586164795e7b64deca5f238fb2f2abcb8ee11a27bae2aed06297bd0de215084254bddb38e20c9eaf3d + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b93fb1fe1ddfabc001eb9af98515380bce006dcda852143b6f0b026c2f1544c40a1ba96ada9f81fc1847a382fd78b5a1e626a712fdeb815216565f9ad785b9111cf6e841999ae6c7c22b564fe7c0c4c0a49f2db47852c22bb4fde98097ee859cb7767769a2f76589c63fb9498e14edd0ce10079d61b05f3011a7a806b6782ecb +S = 7d55177025d6c80486786ce41b0ebe4b0ca3afe8381b97466c8df35b26d9d90e44ca18cbe99862e3bb5109abc743595fd8174f06746dcf703aff13fab09d4fe39dc32c32a1c4bed8af55a223262434c7e52a437591b7106cbd35ed8460c9084f04994d55d91e630a6044d7403fb183d1468ddb7c685f71c22be23afc4d20690a9ba4265cd0e3ded1a8c736f55c5f305d6921935f1c9cfdb2c71c8c9639474bdebf9dea872dd427f962d63aec8de00c5db5aeef5e121a4c242927394416fccac6c426ab5d303ea14cd2c76eb4dee2eed158a1bd7d3920a9749734128ec7f0dcc0efd84a5a05221e4e9c2aaf929daa09e3ed48f0a0791eeb4c20abf755d405affd7e1527df2944d904095f6493fdeb999bb4c597f72bfd510236bb6b690baf4c73f514be6ef46576ddb49b2cf66e1cadbd33d8f0e9d7f399805c94799496ef347bc3dcd6d0c7f47a98560b8a270a59a7afe707624e32f333b21168bb100a8a63d61ead3f0270e8b0c1d7a1ddf169b602677200f0814bde5267e8af42aa77ea2b6d1f1f9dca124fa1a98940efe9be925498994472c798118bf46eb46c18c5369433613c355080eb3cbea2406987f509c5e51fc659e18bdf12d69a0d35dfaed4d4b2326d8128abeab7e1623d05403bdf169eb20d16b7d336b0f639f0b8458e568c4d8f7021ccd84027bd3c18336cd663e19a4310636afd60ecc595ce4926f22385ba + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 83deb5acc04a49a2063f56fbbe1521f8f13baba3532bd862819dd0cd87fba6bda51638a55317562682b826dd25b4c680f07b34295f2b6bf1fbbccfc1d97acb6563b9b9e25ac4020a1c16864d23cd3ed2cf5b1fc7657f42f557744397c668e76c452f010be03996775dc13ff3c148cf17164236246c0fa5951e2cf3f656ab40f9 +S = 79ef67e556160bcb347319bc3e798163d3b2d1814c874ef28c3be7058a59d227d80b186e19f71fcd93a708d3ac075e52728b6c68becbe388480ae82c5c44aa4e2a05b8d197588655ffa471f6f0f6bde39b00e3d86de2aa81ffd917fc06f250b513c9e2bd7360b46047bf2a0f5dd5256cf13d2fc73114a9bf0239e2637dee585132a520dd38a479fa40633659ac2cdd44e68b47d98d3f164ada9228da35ce6dfe469a8ff235fdf7ff6d3ce59648211c81d0e5a160047841fe3efb08df9b6db72cd4d929c371653d42cdc4aa0f5cf22a75faef6ab5993599345b5bc8a9ca54544709c8e92919f0086b35685eaca3c01ecc682aa28952ee9aa5e8b24a9edbb5f7d00e3809ead5cdc6ea70666bab29babf52e70c1e4b77d723b13c762ba29ce48d5b6bc07f45ee7f114d02874db856cc028cc74994eb8f165531f5fa37436cb189566eb196539c281804f45302121621e23c7d83107ca7b1760a3f7c6cf22f7855e11ed49b0d55ae7503e5f912ea4431639ab2d2db1d87afbec0c30fc44cabd1088fc1ed41603dcf07897befc789568c8cf0de2b441e7ed755ab21766bd2f7f21a8e820c4144a38362a2918b7c5e753ac8b2be4901879f956d5acfdc9593bd46a59bc0c7153bd07f0a29ace80127b0ad5be38a55b2e2519354b1fa2f6566ff1dcca8242697919affbae0ebf43acc39faf5b8bc70277522025fba27b3bd057f5230ff + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 564b9bd1b0bf009c9a5b565c596a8ec90e9186dd23a68b40e8c51b047ea1ef92f51939e4b10c2af5126db776549a9dc3b3e9a215d3841ef96078bb01f10879b93347f5dc43e6eac85b4af830b1e1a4119cb7a1e7f9444e20cd897fd12c5b80a859fe57222ef54afdbe19a1f13ae9ad9b112109ba5b8e209d7820efdcf4410d47 +S = 7524fda77f30f27aa75bff4e6a3c4dcc5691227b52dbc46dbd43eba2748eedbc3a065899ba642f68f5f231d36044f140650372e6986a43cd941f98aa4f01c49f95bf3bdb7b571dc5627faab063ab9791cf6014df743b7a3ec8a071e6daa09641a69403833932bb9fe3ecddb848b9985cb5dea4fd25afcdcae3daefb900c2f925ef52b18489851f3fb4888c049eaadd10702e8c5f2f849e5154cc63528a4b7e8d162c080d6fbab567a8347fd5b1035bdbbf7525a0e5c5cc9980d616fe55e1bbbd2bcf9fb31ddc2b731860a23730c4d47cf1513e2a6b6097600a89c09335440889cd18dccd4c2cff59a4a9f6dfdb524103eefebd8dca67c8ca542dda65eb069be9d85114838f531c32900122b39ccd216094f1ed3c1b0ef284d410499a8c562442a48a0ae9d267770e8b5caa576a1056fd8bb3cd3ece6786841f63482974bb8b715e93e52574637da89f15da4b9e646258c9305b3e70a0cb6f5f70a4ef576a56e9e97c9cdb93ee1c01d0c83e610951de8705bea3eb22fd7708dbc094dcb516cfd900ce2a05d99c99932056671dc466748eeceaf2d0df275cc6f80e5ba0e7db1533a96238e3e2903825204d28c052ef0de8453e9e50ecd6433ae6f0ae49024f7eeee62a3a8573bd2baaae00c6b9badadef19158ac1a8a2a23cb4434b049339f6ed55adc6c187b3154970813eaa94156b6851afab3a47bff3b78e6008cd7e7bba267 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f9ae019d3e6e5140dd3d292bff6733b3ba8242ac9eab88d18a130966c4bb4f1b497b60346249ede778b8cc0529bfa9dd9cbcf85e11b82d7bbced30d4d3850b92e6a5e6926faa36c7aab331d9a65f85129cd8497b81103442d74a0d5fc8dd627775347d018c1a94a7183440ef9ecf301a65dd1f4d153903ee84338851cc48bc94 +S = 01b98f320f5bdd909d265737e837573869f92f21cf11f4488bef490cf112354756a06f7464a00ab4b58d3c888482582f2041047931384f89880be5c6e62802590887833330dd8ed9c036dc72695bae6f29df69c4d4bfd9aa825e1959e0be4a73c01ecb204b91595bd0a2a62864cb45e14df2053990c4e4f9600c6f23b8d2946a6ac79bab08dd0bf0346a008cc5bea471647f41fc310191bfafa5d800a4684c68938e366650d80fa9659ebf2806f6d816a3bbe2b6b2fac302ea93bf6a58f745774ce1b58fef799c11b5e9b251f7293f4bff3206873dc64fd6172dbf935a8d6e19af079dd9c8e85e372664d1505b14cc66bbc0a5d12c795eb8714cf2218333c5b6fce7cfef737d25e58831f43f243c1b21652fe1cf07648cbf0a780eff7758c7f7f9f0bc456627a0b20e81c37590f8738dcf3f8e868f13fb860e2df50aadb2679a628ac80e4dbf7f30af630a07caad5dc14635016b194338eb8b80bb2877eed0681f7d6d80c621f90363b1794d3a886b7c2ffe6734e72b5a4afd2fe38b33ac97e5c3d5ce268bb736484eb93e29cfde7616ba0cb67878e24c312f7a3a4c095f53cb21274cc463eb19c9ebf01e17d56b082955f8659c0af8faf47cbd3c6a8470a1ce113c70a58942efd2ee5a275424f9407dfbe9d96f305252c607cb3f4eba915cbf56cbd2e16407979b78d3bc781b4b3348534485e4bbe790836342858660dc1be2 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f56306c82ded0efbfa9b0a37ed07389a42cfce4b12f5d601ca863cc5db7a26f8b3dc8397ed2be7bec4ff966bceefdf85e7b3ab1d6a8655f3a8cebc3c92ff97a2b9bd098d794176a170fd94883583c5f147a3a4d844d3dd085cd543df04931c52ef4ebf303af762abe7dd2d148c8993e64ce6e10607a61749cee0f8379afe5d0f +S = 445d220348245f587b6aed224e1451bf619f1ad6e0b8339727434316c09b8534e052e0c27649243b454beda3572373c96349750cbd5883c1d190dffc39106cdfb9ff1979a001481a4d86d5fa4228a46b4e78d6f01adf774808f412c3d9a332e459bf68a29e5350e34c50cc899fb918870b6962425a8f36c60ec21c9c08310d2e72f17d8c9ee3cb879a5ecd001df3a52be795b8c270ce07080ce4efe3cacc5986393245cf7f6cd2e7e9f5c5f786ca60ea06ea0050e5031251a9147e608a53915e5ba03273f846be1c95ce740f9529f6ddddfbba83d8cbfd2ecf0e132e88a7f3bbd3b9212a86f6d90e2c5ed7ad1b8e3e38aa5638d8db955209e8fee0942f2325f61a24a0a68814be790d55dcf9fee9d8431ae58be4e4211c86f1d5ec9b6368dbb721cd67f002d233f3baef6b39dc0bacca5019464aaa20ca69a66832b7f61fb442d0a6fb985a524ac9cdb8b09786044f9bd2b6447122835995980dee09e78618d2d3c50a7616b21ccb8b3a79e1a240dc2a7204361e5bbd63975d65317f6b573bfd91f4c05165f6f84e574a2e58ada456cbeea1923407b8efaf5cfb7f5a6f5b3f6abdd6b25a6b79eea47ce6047b1e7447d4d3a71c7715e596b7d422245ebea98ddabe134064efc737ce11f46cfb170c2cc8095f0c9878a9154149d35b4d10003678d0a1dbc7a80f60ffaf2a23a5e325d96cf43e9779ceca3789514ed9a43fe71903 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = d2a562397c8e3b3921ef631e9859fb1a9bab30316e2b06edc1d65554d8f51017e9f1cd0cc66882debb808d04ba7cf8efb58dfa884ceac1d9a8226e0aa7b1629039d2b8a10a9512eb61319985489b3f26ed584895488f0860fe62eed1857ec11e89f12ae08f3d73c6d9aa8e8b89e0592509b42040a94363ea8a3dda90bc84b729 +S = c6537da176c83cf93f2eb1d6a9ec2802d35e1d4bd822dcc2a2268a3a80061257ff4671bc59a67833c107ef41d4b50557a6f2b5c786fd40f117797173c27e39c15b9ba9db6259e2ef8184d0067bad399afa20288e2f7e5e5deb052d2564f05e003fea9fa10558998eccda8e7b5d27373f762ea3d15c515be0e8a27992e57d1210d74d8b256f34a8ff178876e9b3871d411121a8b7cc039eff4f3e2d59df149e95ab1b4802f9ed85ec241747745c65bb7a8d86f969fbbca670675c01383c8f6eeb644f52150e985c5cc9ed655352f65379bf9e7a85558ed5b443de115fee3696df58ee45160528568bc6caf32b0af26fbb382ed6490bbc13f46d7796033fe5771f1c0d2fe64f0bd019423d542cab069ebb76c2ff9c5482c277f8c4bc5263cf485c0e74646f2d6af85bc0a178792368f8ce98123834927d5a52f7319bb240133b808af9dd92939aef58b2115f68033013ab42cf3bf7e164d2b87c4d84dd5bdf7b577ac58506206a661aade323ce9d691b61d72c7a15ca1ad7730b756c8ed9a4cff97d6a1522e1b021c2b483a6ed7c6631a7650f70c75e079f1b71b09c7cd2ec6d6519a624a838e7b7e29f10175ee243befdd220095de14a05f3de4559f4f7dbc8c6829a696b2db577e1cae4ece936bc1d54db7a40e5198bc83e24d0105a57f011dfa9aa0274b86943470ae7585a5a2bdeda0e18b46bbd5c39b63f47c9254fdd7c7d + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ca6a6550ab39e1670a6f82f54839d52771c462336fa382e17d71714bdeb7a4e0ce0f5dafb98a7ce3ab50988908864e9a7d75d93536e8e32c51d59bc2934008b35a5d9d75d3f50dbe6d0a61468ebe47ce8471ad61be2a8eda3c380ca64419c0cb579a4e2963403c003ae704b343a967cc6f01053f6f302bf325e0ec7e58087331 +S = 7e268a7e2f01ab7ff98645301b743654a2ef8debcd52439687cfcd3d7591195305c36a225542eae5b38a681bb7092e130c7bea0ba316f62cf75976b6c25df4c0e4a93d831e14648aed8d49bbacca68520139a4e433e28f89d95deb2d878e736d0adac1a38e606ce6c382c59266b869d7765ff2b065be94e502abd9bce5462a8e246cd298959388cb72e662af25088d52117b009fc9ddc88fbd35dc5343c34a435b0ba6dfa71852681fd31c26c26a81f99bfff830704d7b888538949d2c1660044c0704a59cc03490b7ff36c10928fd502c81089c392c67e62d8d6876d6e93328331db43c145623167655b8ce73f72b13f0bcfadb263a948bd66861729880d72b22acfb07f9352d86c41f9886642d3343d0d9772806cdaae31efb48616f61c9636faf687d68f0b13faf72c67f5b33707506c8c18a06367e4882676a44c1014400acef97f8147f9a65f548e8e511cc2f40d0e769adffc7d5cf6deb9f1ce35fe40148f9858d9180dcdb6ea45be02f256988c9dae3471bca278105618fbaa69689fc5ee5dbe03d228bf13c07dfb9fc5a854620e886f9207b6d6c2ff2164092c2c0006f6dcffc189530e8ee44ef53747b53b40503559dcb66af7353a010bec3f0d3cdb495cad83af0ce02672f1c5b98a8baa2c6cc1774f0ac244b62f39604fd085e9eb229c56bb5540ea45a98654256dda863a533ddd9c1332e25603562a3cf649e63 + +SHAAlg = SHA224 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5b8142d83a9339a9e190aa551c63e9b2f92e9d987f3116e89dede1cd618999426b74ffd5a04c4daa23ffc8c28130957d2bdccd5e2a3dd40f0eeee6a52751f224f82eac46e99cde783c25fe2642250638cf7380ddeb43e087ca4b1737ff2565faecf56fb37d4b911c164b7508c90be5ebcd3cdd9b2b0de558bb4c9d0b4fce9acb +S = 8283081df873693bf180a54ea8cad17909a781c872b2cad9fd5238d10bcd59c9ddfc0660567df747a5884417099278ffa586dea537b68fe83cda81046442e85629cf1b495c91f065e1c784fc31238e249689a325c5d68ed99c85a04fe6c32867168c990463296f87e9c0d737a7b44aa8d0b041f375c6c3660ea6af4162c8ea78dfe87f13293cc7c40d6ff3b96e89e36b631d5ae65b1dece495ac1f81e5f2b1808b72041213134820a050d955ee71d348663cc678b83484f80ebfffa4808bb0ac23171ffdc80e06c09a76a7256658e5898c467b50eb522f805cdf44f1be51f3c27f4bd44d0d933d8624fdcd5489660cb18e10a5d71b056f7a08f5f992b3d9ee167a2fb67aaf4346f6f4ab5b492b6579090c9fb2d8fa3cbf0b49475955b9e65f74776b3e34dad56fc68dbe28dd84d3bbec0b45db3022ad741db8abdb261be71b1c3aa992eeaf5d7c32a5e95d77599636ff4f09b8f1544e757d156677d2f7b436b8835e3334288873e75e85b02373f2466c7a96acb322b5081d7ebe6eaff858a1bf5c764d2a6fba63529be64fd25cde3813dc852e7ca8233d5d0d6c0749b43dbd170abdadd2f4106b076d33daccbf4cff71d1b81c7dd337172ab9d55c4314ea2cfbc5ffbb84bc032b306f4eb41b378f97ddee94b7b51622da4b889ea776aca3da457a50c844e51fdadcb3efb15ce396983e4210d152ef3a44952e312d23c159f7e2 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 466d2621acc8a91c729334f1ca433bdb5605058d4851f86cc8c217fb9625c996f0d0dc64b635c987ccb63a95c0bbc94cac020b815e37cd5ab7c59dbd51eb8d0864123303eb5ef413028383b093daa41831b4364544ee701d67c56bea0eece0096cdc34e6946cb128dea117288cc753a8adc08ec2429d691ea06b8768154f4d01 +S = 2e512f73d198e623afe019bd4cea9192ff8b24ab555099d31bd52d705fc808229a269bf749c8061a3dc7ffae9ef7c6bdcd8c34910f92f0a0fcd6d73017ca3388ca5e99a1735e005ff5d5eade3ec0ea0c2436f0e78b197c2d999ba4351b9e37a09195504b63a42762bea22d307a0328fc9c80acdc28fc8f4050e25fbd5890233028f97ea3a2669ff4d5f4232c1e48571499af28ed6f5a92e7936de39d913e12c5cef51e25f90a1e903f3f60a6a9cddbc56564b146aca6af6236b899c2cb7223a6941f0beaa3aa787b2333e4f3e66b334b99b90825153ebd0095f27691880f44e4e77135f26df376e261adfe0d8354cfa15b49138d624d9f62a9751221ee0598097891c9864ad3651e89723bc9ec6086f571e199619ceb6720ab5a4998254cb807dce75a5a5203d38a9f5d56adee4239ff50cefe3e927eba91de7e1f8e1ae8b0505c077788372af7d8ef00735cc531fd46dbe86702ac49171f0a921f4626442ae960e972a5594ee3bcbfbf687cd96ed300aa9df1b9487607b5bae0f1abecbc1d2291fe93b9f8a091ffac8469b0f00ba561f0628f5e004ed1fd8713650e147c4b2cab7f4d69a4ad57b145c1e5e4c1412e86fbbda5a6096f66293203207e35098bf94dafff75ed094d10e6034cd22179d94655004fa4bf4de774807b6f5cd27d90255468cf01db7b6f82607df597f72d1f9c9c91d17740a14a4816ae65e63fde480d + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 072b2d8b3326fb1cccb6766dd5e44ff83117237509e4004e6d2726543e530ab04b06a11cbae1da53aa966dc51642d390fcfe95acbfb0ca65cb28db0f77688af52f423392d2295104594143bdbab8517c0b59ea7beb5e2fea1e86b69d77688702fb076b5543a6671722de83bc88edcfa4a651a84c539638c6af6c3c6606fc0abf +S = 8e1ce3b434ff67057d79dfedc1d073356fbccb6b7bc0f68fb95c3d5be97b43bb597b2963cdc5bb72a2ba55e2ea321e44e2cd408e931700304bf8048f13673276f439934f1d2c27deede5ab7279a44adc10044253844123e921ae8796f9da33f1a1396aed3b1d382d7ddff866a3d62969493a55191e1f41d3887af8bd402e1aa2dced9de2737db831ed63587622926b163bb04f3ac5ff29d37cd02f1484e10e306bf8504dfb44ffdd452102248cbad28138113f4a1f89913818884be09ed37bad387848e749c310395463d367f62287ad98dd4d6005ac1dc6c33e4f0249bfd8334201d5bcb225c863920c31db82db583781ae02a2918aa55b869aca94e3802804d93217cdb72bd92598910a45f9f2919e50dd120645cf29b7523731212812bf67c6f728f4e5ef8c76d98537827a612bc770ad85a3b0be2cb7ab3d27ab1e867ecbd7fad1e2718e132f9cea1e4333a0c50083f04f320dbe1928b72e1ad9173732b8de3599b8f0bf17f47fc8d1383e1e96761fdb4c687293fbcdaf08f4eef4acc6340814e11e3b66deaeedcf57e6a4c8258677f3a4a54fbddf352679c93df56b4e84396c64aa7f7b61a6c09f234f1efc1dc3ff3f1b9c65958cc8e44da6d4c2c281ff8ba6371084a038482077efb47ce6e38a1180d142b5b135c324e66d735b423de6d1a87a6d1ac9d961a8b0426f34b3c2b39e2fbcaead7122705cca3385751df7ea + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = de8273359a1d6c24828cf071571869e7890170d5fd2aa5620e12de21d20685e59e953bd7cc45c1c5bb8419bd18e1e8db5c7c1f5f96bbda026b3f898b5b174d9d4633a5d32e1b490f3ee1560e0b53ac401b7694d7a430a71e9545eb0dda853e1adc43f8514808cca71289ef8cb9d77cbfccd61866adf0d25e950a4cd0d8b72005 +S = 41a7f65a128fef600b13d4275d2597aaf46fe2ff14f3aa571ba7d18d404ae818ac4217feecbe6bd62e8750eab306bc0cba434b8d6170e999f6992581febb9d2abbd1b21d35e6268f284a1ad98e9ac2020b4fb8c3ebfb84baeeb02e075b3a5a0f7e920afda31a08e1e87375f62e5095e3e7501d2225b5eb42573a94ae4b1bf977eb68042f565bc0f8af9edb0c85728962e080fd8135ec8b3b27c34bf64a6d567edfaa581fad5891049d0207ad5db8c48b379ff7f0a53865946b335ae7b3b670616e7d13ae59dd6e86bfae9148860eebc631395c865f450fc4a1b1c276e4423633c610522e39b97c856ea000001d4b3108f6a61be13c32bfe6b0f177c26603dc00ed795b0f478fcc8dffa54358844e47c70fd88f6b522fe1e8f41369cd80cd8492bd263c7b0d828b5e07f8983cf51f9577535640e68701d7a0e69ff491afb80ffc1cd29c6407562c9da62393a795c41881a6c4e474afb779490ef585f039e6410061e8889b1a778a357427e92160cc6aa3fddbe9c2e7cc08d6407a569e398a831581a420c471c8511e969c32800b6c38005dec56e328d5c2a80b089dbf3939370048baceb2676b7bf6185b74c5bd59797346c0ef9756635d4bb4db750ed21114e8a8ad6bcb8af8e4c711ef4f4b98345e025c6b1b6269e12282eb6d387ccf37f7409a4819ad48fe8c2f7f36ef8d051f11a04580172d3b3e1a1ac14da17a75180176 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 31bc99f9a71e611439ff3b53536913c167570ebee1d31e475c5cd478168a754fa1f54fb3dc524db522dfca15c102a308ae2c90387704b40d78c2722b52d8833c99d845efcd9256408c7c62fb0558397bb01025b83de57a81cac86e0558082b98802e23b46226a43edf9fac0b08b3fea3d5cb75451bbd992bb838700e106297ed +S = 1941d6a169654a9a539dedb26bc63d7b7a7100ded3a7362d9e97ca99e1242a34ec72ef4928f27e32655886d021267fcf6cbc2aceb132877a6f1a8fb892f1a87a7469ed6cb640ffe9f60bdc20ac2e0bd6eb93b11555973d6638a5d1939020569807560e34eb712a46af40eb46dbdc7ec88f33a7d261f857c4a0f38563c6bc66053dce3679345c5419cea5772cff9aed28ce05ca190dcfefe9124135a464f568a4933985c3e550d99a91e55576beeaeb83464789e005d89b090a759940fdd796618274d3e1fd6814bad59925b3681f924976809644d3d2397b9fa304c19c15bae4ad1a8ae7cfcbdfbd0e1bde09c103828b2e4db2220d232b3a817d8647b16821842f4633d15f4a7344180ae82d37df0bdb311673e79876809e178227dbd45c8fb93e5a864c44f7d5e185c7399251cfaf4601e0f08664c49ef928c6a26bee1db1dc9614ba8695f38808bb94c3369955587247e208385ffdb71394ae85cdea07e3c0892200c59cf1fb73b3defa67cf41855025380a97e78f85efd84e72493d76391c33b9ec07e1b5caf537aa556e4df6ee9958f3dff4abff808de2bbc13c3063f7ca33fe73f483e234a19fce7c9dfa4c99b0568e8e9d91f8372dd1fc65f495264d3064ccc7cff1dd80848286c49f68850c50da541dabde2fb6382c213cbd668ba8572f5c8f9afa06bf43c69c3f78b1f0a8ce86f2d491f9af22a35c4d8b12e08eff11 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6caa02f0b377f161ee60b0fbd6c56a537c0358cb8da62b63d5daaad203239cd6ac4ee8c892a8fb73256d6a264a83d8085c681bac706a9ae5de16f9dcfdf2f95f2d6f997c1b19824f4011a118abbd169001be4d7ec2226a85cddbeb4027708891f8f35e35d6334d9c46329ff880daea9573eb3768093863eaac13c62709061311 +S = 4e59aacd9d80fd4c580026a032f2626988486bcd1ead68a4d49eef593b6dd6a5819b5de2bf5bc852f4eba33d7cc8e2b6b4235d63cf4630c23018a82d35bbcccf04125d94433ab708617c536d36e78fd0d9b73e20eafc9be380af690054b622a0c149d6e40549352bc63090c4ef54a5c726facf5d62e621668a813f60dd9b853d4a0a8edc9e255338d042d63f3b84783d79f689e41fc8f5503b6fd2b489ba052946d1548e011231421e533f63a3e9c0c649997cafb06173c083d067fc683056112a34b20ac248b180fa81aac0bfb84738bca5e831b950a2347b449f3093c86cf66ca2df0dd06ae8f78c4c1f7eb3525fca8d194d132507d354e267a244745f479c289cd276a1fadc68484fffa8fc4f9056a56230d0d1cae1fbf26697975c3a1a9d593744b2cfecdfd8bc61a1be96d10a96264b41ad7ad8352f49c5c0abfa1a9a4c0c9ea4c270a7ac1b46099280596b1fd05ae409b1e6fd8dae4806b81fd354f461891eb985cfd0f2bc0c6f7dbb495b0b216f2174255e9a02ddf0717983290c09bd51f53ad3251ef08e3b464207dde0205341c84fd818aba28e668e931fb5e93f76f7242351288b72cdfb5634c79c2168460da6f77206146e7feda71447f1cc5f974cfa01bf97b5d67b80ca6a8ecc61571279c68f7acf144ada2918fe12d5884bc836f51a2994ae0dc3258677e0005c51233815f02c65de6348047d5a80da7929fa + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 5469cf214a5fa3ba7c12f1df1f32b275166800fe66f52763ea96fef048aa78a02396769b9269dffdd1bcf3d937dddc7e682c86f8ccc4b1da405e453b0b73e5ff13a1c6585150c28b8295a8f81f57d75590b00b3a9d9576e225ba133012b037f08c5069606d5d73eef565b944c0e8ca82f4bd35cabfb09e02017010d545a995fb +S = ac533a2d7f43115e33d3343fc79a2ceab9c377fdb9e3d24b08964337ca39aee0fbe30b17c06d4f8172211062db75b741817b44d7e64eabd94c8bcbc32c0b558174cdcd77970dba0866510efb86755c8f91e618ae03f518514d08807cc4b42f33b6c62f4554538f32e6368c16b276144025f91cc6786f8a9ed9847a5132c288f7cbcc939671c05014e52d1d1678837806f806ebe20d2e4f0e7f48e5edd2a23a5b297532a2c2682dd2215fc27a8321b9652f86d57ec1ca7a2670cc39f2e644c8f57d1d25dc247700c8b3988afd19a37dc91e32c5a1e0610279f829e5f2c678311b97eeef771d45a5a4015a259ed9d868b3cf453ff4cffe675e343da837a597a2a9707dc00af70768ac603f282645eacf056b7cb2cba0086c80c3ffe9c5378344ad995037c13102f794d3f9ddc10cc3c8d0d5d5cfbb0e511fb78abedeed76ec8e8f3985449d1800d38706732d55afe60328f8dbc203ab3d4f235c649d3b64fc89cb6b019bfa6a1831b211e188080e700981f2ff724a981e211d8a5bf47977f37e6b46309906ce31cd03bf4add275ec870826f84f8f4d61fd2dce9b51c8b8c5c78aacc38baf5509b8967161e6a054224850046a58419800bad7f9a623d24db7bd55147c409d1b7c049b317540028cff2f16779b8abcf625c44e93cde449879801a8a221539a707ddad175f81440299372a2b3d81a968352aa50291b347f48add5983 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = ff981d4f62612f0e861107121da776732c224f4db29626718a7e575b92544b650d5ff63a46cda48c7701f60ae82e278c5b259491a86b7ceca58f04ba48ba7e971088ea12a016bd5eae5de24a1bbeff7263ddf9b738b3baee6adf32d50a3d9b4bcfba02c0b86703eaf3ccd4b9fe7e858e0cf485a8aa9669dea217e99420052be8 +S = bb346fc068ee6ac67f2e75f7db24553ab54f71943aaf7745dede3a0a8106126978372d61547da7ca3bbd5e2ea5b410978770821f257dbca3f34d5d0e7e15689a1263e61a564b860f5ffe2a01f2ee284248378baf68a8082612e66247c96fef865e7c71d48574bb630b2fc54ff977683c738daf198bdc85351b8cc7b2cf9b7a2cc6a56a5d9a9c0c72173fcc642ca8108d339706673dfb23c5d22fcf9e3702deedf524097914f5ade77745c5ba67a23d15a9e5d8d902b9fa8062500087921c2484df2b612f1393fb6b7624e50f511e641b441154d2694b41b586137a82a82615d6c0dc6e7979ad9c357aca5274cabf16a00fb40dcbf0c292aa547caddbfea7b3300c75279e07b90a37904422040a5803eae3bf7d429b3ad770cad9026aa039d76d72b5d4d7fa367d73c130e5963ac77ba5cb33997f97af38efdd18dd026d84fc3b3d3ae9d17178657352933ea723819cb5339b484a9502359a2940a30b005bd7d44a287e693406f1575ec2c47681f8c6364a2c02fceb769ff1159783b42971be34b1f1683f3b667e7e1501ae3dc0d7018bdf912f1df7314d0bac03ba2475a82725730a0fadc29624cdaf1bb1e897980aaaa6241006af7d31ebcf43f3daaa10792c5ffef3ad05fd947b7dceec486b6942036cf4d5274269d4754ccf545a517546d3d0841b73ea06f797d55788e3caa56807aa5d466aa1106b24367ce3c347e31ec9 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 897e84ecb9f5457bd877666864160074ecb6b8c5d2c19f354f1c57f0b75a783eff30319d7c293313ed9bcac2bcda4dbd81abb91ac8fc994914d229a42482ba46742458210745ab4b64dc1b99df7f376f19d758d6ca5281cfbe178ae81e3f7e0cf142419fe2af76cb44219f14536e8633bd21dd21612b217256d5c4e42ff98a38 +S = 22176c8a77230aa8e56897db1496bf50cd08fe6fe89892faa20d8a00879174d4a4c8acaf6b65b9b48582f840b65a7b246cf437bf6aa333af062475894ce795445ac1d3d910657cdc9e983a4ff8991e5f73ca5a92fdefb1e5d3d2633fb8d8c5f1ea1b32e0c8604610fab031fba5049d829805c708bae8663e5aa6b973f16d79c27176f5dddf85d323c03a21691bf25a7641a8916f5f05c2069b4c26cecd56b6592d6bcb90008d614b9c7c9ff755f96ca97ce961ce0a4d1847f75cf702a03f3effbb6e9b7388810ad6d5a5cfceb82d6e228843fd9a3d81828d8f1fa9742b2791a479de23960435a8710709e391c05bed6ef4b24f22513afd4e0c378f1ae24724c233d0c4d1b28edf47bac2b145fa69828315003b9a69d88a13177ac262eb8ff1f121ed40f61782224d973207f84e0b7baffdc52084b61a204732669d102cf1decda9ac21b92d755c418a04136630b94f6020fd9f93091bfcd0bca360d33db17ac4773ec08bf09e43c953bbb260515203dd9421f0fefd2fdaaa95d301b80bcdbfa81e1dc07d88475e0248f6581d8f09d2a8e3c59dc40cbb9112b909c53465fdd4f748d982be38422942a86bec9fc40fdc6f7a354d065e953a2490a332856dc91bb80b413994713d70c08d2999d594db30eafd84ad1a1db67f97e67b0fbb3e0275fff1588efa47947e92b766a358d2dbbd67076fd7a30da0e347fab83fca0a9f853f + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f077f101474452c4891c2c54c4e9900a40dcb8c6ab054b287221dd0372b3b50ed056d4dd25513310df6c4bcbe402da667858e565602df9aa4792b7e962fc905d5098ccb944ded1626569a2db7506a680b10bab78f9ea2ae53105cc5de7c42e9e36e5e17dea14b620e4bc386dc11c79c2b69d12e7be636541f82225484a33193b +S = cbe9c48448367500172eee713d39158907528c061aa6031d320b3255e91d70eb8478a53106624c906617967a7e378564d340cb295da21d4b9ce6dd5725571d4844556b4748d1b63b02fb3435b41a3bb56f704d89319088488e59c04ffc31515126d96c90b5c324ccf4c33e284f908bbefddc1f572d7c8c0a0b287dc42d3171d5f52f978b6548c17f6500ddb46313700402f8fec3da4e6ff2d4e52d6fa4a09f8d3032b348b6636b0b4cccf7bfd46b203d85c9d0ba42d578073aa61d1934c70876cedba97c9f21c63cfc016e925891c8161fb444ed6555ce6c93792e6c26f9dee41fc254cd6d7521eebe5622418ca93dd6e5025af23a8522f1c83e4bcfcaad3f625d1de3c072bd935d31c0791919c09932d0e180bc38b0bf0adbe6201a561810a346d53dee630c11d3dbd7b6a51027cd24ffa60dc52b2c0bdcb461e15a3aad93eac4161e3752d6399eded4c8879ae587183388280537fb397275977bb338d2f970eb90b8cd3564b25f4701ec4bd5954268ae141f0891d299214fc6f570c58d7c5467005f521a1e6852b3ddc85567e317636f277f3935dc9d46dda328605d074e1e4b96296e6679c27181782a5b9ed89b66beb4a2c0bdb70d12f7c1c6a5087a937d6bc97b6dd4668c2836903177a91a7e52aa81d59bfbcfb5d8a085c91a36a19fd13915c0c96799c8db1a7832fe1e1a9e4bf0d53d4e6362ead1bded7d7c502b77d7 + +SHAAlg = SHA256 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = cf4800e5be8b4812673f5d824c32e11c4625a444bf2c755922583882909239abd5cac0ca9a52e667db84a65b9cab37d8d82199a9bbb46fbb114e0cddfdd6d0c4ee51b552cf4d25187e7f0f1980ab39d0f3c4d875c3555e7d211f93603103e79e03230604c545ae2b3778bd435ff98f0e7d57862f41d6eaa53c11f49395e42542 +S = 141ffde43d5651e692f33554ce37453a7c884a8aa687677c52f914146823908dcd1f2e1b2a996eb3860a27a27e59508b5310858ecfbc8d88c6ecc21e18d21ea8bd1e9764ac45a6ee3d9c26d3dd5bb832be75b8beb69b81faa140095283136be0c2f3f77f3089b02b2dfcba7df182ef8d2dc71d5deede8cbed256c970fbda4ba25a789337fef8daf56c556dcf61fdef418d7f4b844ed6e682237618514e36ff7e448b9972b6fada3aece29ea8458dd7b5c6543e26e4281813a88135915043fe504a882820c29a7d1c41f8a82b66462eb942c63e434a6c8a547eacc5556cd433e2f9cb65bc98f8761cb65a0703ebd0f2e4de2b222d0df8917bf1df12af4516e15e9f2ef9998610cad9d4ac6e38347d8fe9706724daa377fa920fb7d7dd86a64322855df52ffcb40acebe69b1703adb2bd4db7811e3b851257bedc42fa24380771bf46dc2301172a9cfc7043c7357cbc8c8e130e16fac2801653bdc6fdf869cbe8d8a6628cc0fe9bad2e392d1e75619a615f40dc70ccc42d80bc85ebd99479a44d1f4a2457eeb8deaa0092a7349c052948bf9e27ffd3619dd52e5008b8512137a3d5cfdcb2013f7c068043f5ab9bf8261209883b4eaca16248b5c7dd3349b0e86017df2aeaba592fea53fa7e26959639fed1370be58892e22a383ee59d7b8ca57e6ce4bd1895af40b79a6ebde0ddf946fafca8a2a030ad4ca6f86e94606af68942b + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 344a458b48d68949ab0effd488443eb54ef367d74e005aec85402a0bb63bcf9ebd2f1b7b1f58f051e56faf46ab71f3def4a1801fc0d076f361dccbcd8a77f78fa929f1ac76985b89cc08f92ab91e680ad1e90d4ac7234b0e3eb3f925dc7713e8a041af64761f33bb09e0c6c7d9d304018dd2f6a18a7f4107c4ce9d5ad4c4896f +S = 364ad106da2cec6ce94e141e16af855f6d6e31ac6d7bdb2649695645a3d7f176a9b55f60b861776d49077dcfda4db42bb584767606f90de7289e71f188ff139b138bbd24f7a7f50192a137f2c648e19fe78a836bd2a01d31b248857cd29dbf3d1251c2d4cb339f2ff78add26304fbc3e44f8a2f04b47dc754b984169fba4a091d70f956074880c709ee849a05f8f2dcffee09b221078e98b6e28a965a2d44fcde72c6b27ff0a3def818d80aaba17915d37ad1d72755548310062e73da15a8d2544b311060b404683c00394666dc3a890f60ec9d85b2d0fca8a76fc96c4cfd0e3c4a83594957bac42866c395f8feab3b40c9bc9a675f47a1cd62fc43ebe0fff2bbd239130bbbe5257c5c3756044eb2190db7a309cddc4ef410e9abccd0f93158e0edfab2f0a50e80d814a428f61c531b2b747e64feb41523c5802a53c374f35df21abe67a877d062f56a001b47ee6ab571b0bbe7141e0b49cfdc97a15dc19138863d140cc772074c12b3d751985b7852fe76932be1f44a165f4fe58a341d28c3f86924defab4cf2458ba4cc3fb92558511ceee6d91c672b24b8727b867132bf6b8d7af714ab668f06f046448c1e854ae98e59cf21f2b7370c9378ee0eb34b031f9f4795057557773af0f7fc18ddeec7e95c2ccdd5f66ed224d08fbdfb37995e87f4df9691e499d77afaa8d5b93f3275c43f69edbe37672cf192f94509df0a4e9b + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 6559ab58d486eb7cf6b3f0128f2140910136fca9142dc38ff60dd39581d771fdbd048c0fa62e9d692f0ed19786a66ae39abf626edb96528040d3931d8fbaa3d9d9a5caed43b2fd890db9026ccc81d5b3fa334beeb10ef579b45d470aafa6f986c025ae193578d485989ccbbae91849a82a78fd5121fd7222599337836a033dad +S = 8ab620c2433ac50e78c2585d0a576473f99c416dfb4875e211993e72bdae52621b110447bdf60ddcf5f573805a6d8d6bdaba2c81ebe0f89bbf1d24e513dd4c9589fcff972dcc5d65a095b4cfcf28cb07a6aa9e5d6aae69dbec9ce9558658508f21f4285100ec81aad794ed8315da42d844ebb1d18459ce6c6bbe207b6024b8e9757366103d872b3a9278828d5ffb9794ab99d0052938848dfe878451ebb1b33cb75ea634600ce09c9e6c200159bdc4b4d9e09eab23cdffa89752a4cf57a861df270b87561f079a05a6253321dcc87b3ed12b8f3a122cb59c04e152bcc16578a47b03983724630aded5805d365db5d5ed12cffecb7b163408576ed839f14ac2064da89b3194340aaf6a0a38fcbe9dc39920ec6dd57fe600cec08a662332abded6c93db9842d6232871956db68f4ddc52c1268aa46717e0ca5de1218229bcbd502d2b83060497faef3d94b9ef41f8d21cf2904801a82e15f6b5a8bddf5f315880587ba7a5c59a4e3b2f76b495ee23c9922fec2833d8a795e87d7bda1be1734ae721e935de69c407656d7f13d0b8c4b246380566bdeec0a6822a48c7556d54a7aa68ff71cb454af3db4a33b1ab7e33b530667e55f8f954d41d35e66f656efb2f0a71ed5098cb730b5bea0e2fd3ed334b1e45fa84028dcbcf3239024f6c90d4554b0818ff030aec80c851f41b1c7e8a6452886b87172ae221215fef55b82c4b1ebf3 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = cc9f5709128a968c0e4987707ceffe0beb270ef228d320bffaf243120fc7c3d63738fdc6d074712f81d819f72c14fade1d89f80488f6eeac3254fe3f6efe26944b15146e0c233c46d8fe274bb3f00ea8ad14a70559033f5081b009bd1891b60b7000450aaee01d5a7a835975fbcb63ef0290c4fd85423a3550d00b94f7c89ac5 +S = 5eb3f9976905934674da09e09472f4a4de9cd236d3d60eb7d9ae4cc54ffd52c3314a93790c5a28837f245df760937bf495201035043d6f9e2eb7b06e0cf6d3c6dd477165d105ab43518da7b00b355db3065a1c20d4ce46489155d557c8645b383f35e037f7930394d5768a94241cb012d3a570f507de3721acef45f1fd4000fec7e973bad5141fe252e647f58cb54a8df1a73658c6cb925aa5cf93283fe345fb0924f4611bc02a2417fc2dab943ea3f063cde922c2c4d16970dcffb53a8c18469f476b58412e0ab92a8f2d19b81a22b46f9916da2cf42426f7261f0bc89ab4b2baed7174c37dc538592312787d20ea63bbb1647a84f85eff0ff3f7446ac74c4acc2650a85f4aba5b1ddda56211a5196f074c923167d59d8f8e3df51ce799129ce7e2c30ec8adf496f8805404234aa540726b0d142962a1ae344bf14829f658cc36762b8648b486930e83bb94e09e21fa0359f6b465e955b8c862be6b223cc1d55d26824577e2524cf29e701d88703bb8fb34d092aacb33805a77d41b5df4a877f28736ed539199e6f09c9075774907e62289a675c5a790e473e8d6aca020ba571da80e53f8b7ff497c85005c95a616365061a2e8cccad30c162c9a79e087a5f146806a15ce8e8697499ce74e5ab083509925531864ad7887655b580f8f3dcb7b15c06b176c3fe9bb0d96489422ff209c0dfaa090062f94b62787f54739855201 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = b4762c4a9e465447872ef88f5703e2d0d700b82a7173dc8938b6903328615e9daebeb7836b7dda3735a9f73a5edb940939ae3139db7227c61f25d6a9ed9fffa8bb0c6f72539fdeebd78516c503185850b356fb93a591569b7f67e01314f59615e3489d40e014290b78a99d58cf22f44d4ce05f5f57372faf6166f69a25cde98b +S = 1e3bb2e60591658acecf06ce53c558edf7ce72b7de881466bd2e208bd5636eab3e4788bef3922d5e06c60aa23b26cd707062099f52e13b58c60b4d00059b489b2276f472ae0c6a5337a7bad04d18f09adfc8a67706584800c42c2ad494d9bdf44eb573f1d8f876a83b24e77b4259d99ed6cb7351c8cebd6d76bf0b14f7f68b4ecbbe0610d754eb579dea7ea29d421092b5192b2bfb94a4bc50d75dfa8e6184f9741db14e9c61b9b2bef7ecf6a2d3073b62fdbd13108ffdb4e87bef2cdc7dc648bbaf2aeb61b217543f0024ff2910b006d2f34118b7a49f5dfce5ec5f8fb4bdc81a61893dbc20f32303aa9e7ac49b8b02cf31e2fa3cb453252832c173ba2a2b88114be8ee03399b674a19b92987241bf8f6c7863954fc776c588ae3aa926d5cee3d1d264b73170834ffbedc30bc1c9b130849ed32051cc22b26995c50fc0a17a4e7eecb5de90189e1fedfb65e4bd3cec8f05ed535bbc36c9fe152120b702ff23d96543266ecf70d8c392f5f2c5c8b55a6570748f6d2b84616f613afe97ef46d5e2dd93d8d646e99c67bdf41bd3820e668665bc72ab37007551320a0971259182af59418fe5f3a104ea9fe80bce97d5a2c7843ba88a3c0b5ca681f134d96bfbc1d35f96414cdaa6e4c4e77a897d7c2f024eeb8191cb1336af78275656e32a48a14baadda38c59341bd83ecf868c29d652dfc41e0b3c1e99240ae3650e60933bd51 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = dc88599736ffa5e20d95d4bf77975102c995bdd15d12d9fe927fa794156bccaf5ff439917f810af31ab3ae99b09849292022563d6fd891b7c5cc1455b8cdc085cdddde7a3ce6067ff4a8408bdff66a166722da2c39b644c04964dd421640c0742f2d9179f695612ea45ed2be8d197c71a67c8fc54412b9c026314a84b62d9624 +S = 16a83ce614a30c24cad1a911dbb26537ec9341eb301ef6fb0c1075a124153ba9d86da50326e50f6cacefed904d2b063ae96b7c0dc24fc78256210eecb0696b883b0fc3ed9187a37e57df28c6f2a5e6a601e27498e2d0fe43068b84f1eaf574b7da8c07c179264a5ce55983fb87e35f270b8e8af99933b700c298e4ab1209891eb2d85453166c52f1cbfc8424ad07c78096e5cdc286b7631e92cde53141abd4fec31010824a67f3cf432f65c59104eed6a6dffe7b1dc30ca5e1ed6ce7856e199382c9d3d5e1faab980b5f0067ba11bf22fd017e6f613a99ac5b6f087a8e963d25ec5d24f6f1f6bccdc1069d69f75039c8fb355e22f01cfc4e6a7b66310218c374e6d0186020027287a049fa8d3d07a27a57a3258b8f63147fc31b7e0d7034e1054ce746afd3e34c1bf0b957dd9aeb42155669349708aa32679d576492bea68addad7752b98fdc797367d1f8356639f22436db4d1bba624b106a187b9246673fd052c1e14f75ff8f615abaaceb892af29f50cc1c628c695f796105c86a16c5283de7e458b2ab57f9520b9cba98ae77a7239d9bd5052b79e8b826545d617ffd47e4ec97e04561614ea2ae3a72d8c2072d9b6970de7edc3c2eb563d2ffe90fbef0e4160a26ef40218577c6fd955be0f3a782fd0705bffe1cc56938cccc414164ddb501d15099c0deea77bc2be877192c87f4c67765839a3cd73103cb09d64deb0fd4 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = caa5434b375a6e24dd128084448c49c4ee8c8d6dd28012fc0d62f8e2d3e049cfabbbd130dc6d30f7220e2d9aa6784d5e2daaa5d5906aeca56c2fd48c1a3d9aa1e212dcdd6b01acd9761de2d9cc58b60a75ec8e082bfa14a30f718ce39a32654ad5720d58cd5f0a554106474a9f74ab512f1bf00e8d78b37e5cf3c7ef3907cf50 +S = 9687464db14517c5cc747d891cd4b416b51642fb9f1e1919701f6587d55452ed5722f3b6a81035724c00ad603bfb7f68e1f89ee851cb0518d8a3fd48577290aee2c6bf564fca6135cf9bb71171e18d0dbd43e27c0c676618e6cbd7b5c8795c0dfffdcedf63f1fd50039bf6d540e48cb97fd6e2385e2c638f07322ac3b4ca39401a7b3634d72e63f121a19be42f6a7d698c68155686d6a5c22ba1b67b3c3768a215c3d1f8a4560bf4d55d0b20dc7837a3b20e9de949a2692b631a0a4c78a0893856c255e8000a9bf60b426a8c896ed8db39f2c6a3f4da206faf9a505634513bdef5003e20b9326d56355cca4f5609065c35a105b2a52bcbbea531001531a721050337afd39f059579c213bc7636c31457415c146ca5fe4bb2e4d8ac2966499b547c883c88c3bf62fc546513dfd583ee74acf66b082f9386850f82f61fc1432d6ea4086b4efd6cdaae7b8b0f864994045e2574b929f733998e63bcace367f1e1d3042df25b0a00cf5f82e0cfd42794aeeaf5e7683c7866b31a7133dd9fcc6658910c47d64f1f276aaf5302d21aa3e1b23f3068ad26fa6cac76dc13d4d3d51912f138a43d03dc2adb8bc6643a9374131d10929519788389cfc37c49d76226fb713f9af9b9ed614a31ce1cbe45a9f6dd2f4e83ab223df59b04b626ee3315f2b9cb754b9190db4e72984c04dc78291ba3b3007249f47b2c6d190a16cbac0c191e078c + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = eb1100bdd9bbe4a98b881a76193b242ac32ad6de8f4c14703494dd77377d897c54e74e671f210937eb473bf6ebce52ec975d2b1451ded4cc49d696d09ef13369c6e26ce22f69c63c26b58e23f9ed1b20580a530f01e771d49d9b054ae4063b7c08aa611851bca420047b1ae38ac1062cced857b9e78e71eef78c30cb53e32a1c +S = 167526abd3685906164bf8db5f81dd42466c2c9174c32fbc2d374851f1cc767b60d71382a696ae7861ff98bd7f221b765d78d59705a72f9a2c741c04c34014a3f6c99d5f92848f1490621e155e9d74ca10f374cca4a9a441f87a9b0b366bd302a56958836f0af48817c893ef7b55a1578c5f26ad6a8fb679e77131252aab0e472221ccb9630831f6f76999549b50c1500022cf72787ae49cdf54a75df27fcc2565e40ad6698ed89747ce6b474f9199feca40d0825d5ec0d00eff660ffceea61ee2b9c35ce6eeaaf3fdfffa37676a68ff39d719e8cb35a0a44609aff5129b698d04c71f20b559b7a5d7cc936ea53e510dd93cb8f3ea5f6b13a999f7b9a7bf0f69e9e5fff07588d07ae51986ca48e865ac5041d14917488a761673811d975b87b0ce81bd0f9dbae3b171cd3e5f2920b31cdd9a785fe66c61794aa2c046fd615eb3cd58b02e3a06f6c1898178b21f662d817169255ddc7c2c152670e5a34f46649816eaef626906763986a12f933353aee92fd0aaa15158ca7071aead096aa6c492acdbf91870731e29a9134a955b24b6811727aa7149a145668a449eb7030626251047d1e457e8c9a262b7b8ea35ef16a1fa4cde0ae9f122aa834fe59b0649c4f585ea86448c12b9a23e2c02a436b0cef2bbe16c73beb7d015d93fd5ba5ffaa963a342e81926c77b7b793800f95a8f500a73d1a7f5c136f9689202826249bb0fa4 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 0db1bbaecdf891653f22d78d18dd0bfbef3b8fdb4d6d5a9603ceeefac0238a95e220a0618d2f89a7fa6e781d12f6ad513c63eb4b73912b6e9ba392a0154aa1ab9144ace223228d079a4f996c0d4ed359b64360ae03b53bc9eb922aaa7f73f155c122c578b85a034ec4cd22c3306be7d906e2d74a2761f26f9aa29e602527e25d +S = 1c7891fcb9c5a272098e71c4a853e7e202a65ae9f0a04210683ab5a97e37be69a6017957bf863b3ba1f786f9bfde760ab45914bfce33f6da2c0f7eaee907c74ab5c918adcb3eba3c86c043e4eff61232ede44da0a255d1afc2f290a43f9350c8f345485e1fba799c21cc7ea826b9aebe52b8d9e42f3da3771ff66f196a272227b0af3e6daa97ddd11abfaabc725677445c6a38911ef0d796bacf6f7d3aac9fe5142ea8c2bc931bf341d6d5fe1053337c416440d369230cfa12b4dd61b9184210db6cad5f319dbdd6d49e5fa95770975c7c209f78dd375809c3a1d0b47ced5cb985ace4e7d6ff11bd4d89322d0aabcf06af6640ab59101a0f4cfbe6edd45267a9b8320b4f45ba402f69b2037882f15378fdfca8065ec511d28c47fad59114b09cdd070eeb4ceb3b610481517a591ed5d91f1a68447905f391b9a863b232333bbed0bf4c4a6a82636321686ce3125fbe4459bd468865337b3a1bc3ed6830dc332c5b1ef93b87247feb3adf592756b6760b5754aecdc2c19f10cddc2fcf725ae8d55604d0cf465f33b82eb7c4af92bce69ca35effaa07cc3b18bd2388dba38c7a5e02d7c62591e5567d1ad133272dc8bfc78a0d509918b8531667c936918071d4cc19bdd9e38e12e84028735f4ebf3cdf050658ab9f651f5834aa8aeafcb3af644227174f2e3997d92875a52fcf4019c0bc08bc89ae779fc420c29b7bc27fc204db + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 190b56837ff29524be0ff2374d4cb9a3056facf3d6fa5659b94f9cf3e518954e46e69c292b18a37b3fffcab7ba40304ed87908758b27f02a6cc77f71f83b1de4f970186a423ef4479f8f02550cc4349025542fd8deb6a2f37482d6d2a4d387151aeff3d12c2a3090c807c299aba16d72d44948a4397113beb8c9ca9c50a77ae9 +S = 09b0e0655ee7027ad7da5b559d7c41600e9686e76da9524bfe3b1e90a508566ea07b565cc10d81ba76859bc594a47cb054266c2a953931486b94235d2af07a32f477e6567ad19a2194d717ddd0570d3cc4b0e357946e02098b2d54caf5ebfae2d9b7038b525dbd897276e306870d76eac2875b360daefbfb27e7490e48c48bb57cb497b77710b87f8395d8fca0caac40dee3dbf2184a1d7e050ba4d875843f5231e35d623153483c07ebb11b6f9905f6e58204d1fa516785ccd190ec947cb5aa445f917fe980dd9054afdf45b623d2e282ea82d87797751d37ee44a011463e28ee65d592354e63edfb18a9069fb9b2d37a5932c339429058b21df72d9f961c56097556c240879168bc8d3919a273ddd8793af12201eb26e1bd9bf191fd43779f71a783f0470fdcbbd88f82227ffab0499739f1cbadf3efb51414fe25a2fb95ed1dc171056255a988d235d38d910a9063d4ed9dbf7e0dbf06b23e7b15b89b35b79fec37fef9950dac4a05f04ea6183d8a744f66ea17d2fd593e8ecc11ee8066626adbf82e2f0da459c52778b469ac6418a0e0167b94d909d2acd228a1dccb9e0c2ebff77d238e511d16cec28873e248db48bde43e7453fd56a6b5946c0188a868c8d6cd62f61dbf51298d89e91ff509120164efd524a3b0698cfbd211aca6b77a99645a3957233f0f080f0c0da2573e373b7066e652ca25067b47ba04f76056c1 + +SHAAlg = SHA384 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 0cfb4ce89775cddc9b0d57850cb7a20a83782d42916d31d2540ed39647b49d435e592f4a539f32ff3a148efa5cb5ddbd42b11f98106fafca15d176e99fbb5e8414cf09063e7bc4dde736b6dca6065ddef8463cad92a6cd22f673bd8d4519585654e643e5011069c0c8fa37f391b30cb5ccbfeb48c01b7421207b1249e0d67503 +S = 349b238df2c671519d385d70b4d827a264ff657bedbb5ef13e7d266ebcb6b9be8afe176c2627addf8ae96082a12fc2f4d537fcae28bf79946685b1f94193cf9f0b6676b7d911901d61c8a3ca89c06361594f7c4f20c68c7974ab7f4a38cc5b7dd4658f49ffcc45ac13916d883745c9450b2e0340df7508fbec912845e3c97a9b64746cc21b93e1c4234ba6b0505bc80e23ce26d39467997dacce69311deff2d159dd84a6093ce225096e44cf7b85751b98cd8dee1fb9786dfc833b1331bc2a8bff96e6e2b914f02e2765dcfa12ac46b59439fba51797b794bf03f1b88d98f198650726a9e6675202f3c3782c64c355c193bd03e27c75e64b348a2b81be097f89fa2af901de3b558b2760acf752b217fe6d2ee6e20b0d64ca55101f70e73be41cae6fe6af508ab022b4add2782784f9728e84cfb39ac29bf7421f57cbcd121b95cc4f224751a7488b85d08e3de72af03836affb319fcfa29deea6362467c1f8ca42d8e8d3a6696ba831f6f9f916c21e9942ed0699e714835aff845655c64c9f029a6a40e0194aa1b6da1064b37645e5c8afa1693826ead419d025e4a8c6ffd5036b440e9cee9d9dcfb7fbf2bcdd90305568814b653a8e4190cf4f938f0d1e6464f8c6d0e13f9b3d88616d985d315ef0a4ac18e5f3d410158ab07284e645264915077f91eab9d0fb8081b428a84d48e1eb69cd0d3693106ad97d0f10aaeb8b45cf + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = fc5b9da74a8afff53e53f7558b69fcad8a924d948cace26f6eeea2d96e71d6493cefdeee55ca22de8c504c70e93db5e6b7811c50d9449ead5d28e25254ce9590e09b16918ebc7283e66792f84164b38ddbcd17ca2912fa4a6d3fc81c87828d680ee8ad569f67d52b752131b63ae7e0ea1dfca5cc251cdf90c5bdbbfeb095a81b +S = 6edfb6bfb20da2621e7ca0b8e13bfc3801d8bcb43ef3822be960b96a67d3e8afbbe2ef22e206b328ce99dd8f9758052d42a8ee93e16d8e160a50687e8ffce72d258610064ebde4c4cc2ab96c8e516ec2c1eed816c8e6ac537a0570c9eff81a38147bcd8f4747390676f9d755f613687ac59dbac14f69ca6e56a26727699fa11c200eb77339ead56fc6883acf9b92c6deb6f4d79f82ccdc493fedc6165f78c174adcf32941eeb237a4ae369dbbafb4553c98e413823f6f46da0d47d47a164b792aaf1324a8be4f01601bceb809f8c08f3458b1de2c6378cf93fb293212f6bd4a7b1fd1bfa14a1af29575a5ecc4281420179758e96b4465ec07f6cce4e5e5c2307d531e400e494725eb7dceb1d8dac1000d92f62f319534063c01aec9c6ec0c7675351f2883e462b0454db364f03700d6593c9be195fbea5800ebb81578c765409ac2c37f78fabe8783c5d324fa4dfabe4f192866e34037901615304237f08028a75f00a3904bea03219ef9dbfeb48d10ec59d481eb0429cfc9ae835cc578377e61023d5ceedfd3d0a05aceddb274c13782dda9299d6197519e14791208f8d86d63e0ab7fb42a1e14f8f37f49732e23d4b7d4f07cd0bc828649a12748e8d70f53683580bca87290992a349730370bbed6ed743e705759734872c54ff03c1a97037a7b9ee3c8c42d12c3ebe0c1bf3b42854d04a9177d1a24000bd388fa289fd77d5 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 2e414726a40aa70d167d36ef091a3f74d3ed6d3400664526f564f45bd3934bec9ef808319fca573306849864d438638ef826c90ab88ddd3253c17418e57e28798a7ca3ecc6431a5f254117c41e1a7c083d3fc54582c28d38046953f5d9017fd93af4a0c1e31ef879b9dd3a78af6792caea61e64d24ad5c204e831c5979c357f6 +S = 16211f28a757d0c46dfab2640816c671cf26b93c3a061ae00caf4bccf557bbdbc6064a2f6934db208b61e75e30cf13a02d15140664d33f3054aa9f3c2d7ef83e3c2f9f8a3d4cfcf511ab9daf32c312ab94f3f29f3402ff5a5f73fdeb30d9862e29921a16d2907874b7cb84da7b03c1a123f4d4f025f15f903c52bb32b9dc8e69b2742e5c2413c84fdb84e4fa9491122792a6feb3dd3d7b8c6bb98dd2292440eae8fd1593ccf8ccd822ea9de8f8a0f72db9ffb3a9d3b5fa545ed5e4a8bdf902e6979f709e590a052cdc2f08d445dba80d5984df6ed2727037e8c591e35902e6a973b8c57f6bf0f2809efbb079c24a45e36b610fd51b3e7cc449c85e3fc97e80f780fe0548c540f2c0e17b1cf1a82fb4a433bfa0fc01cf5046c498bd58fcc019129662b821ee971b47d0db433f8d5d870d37d24b0565efbf1af4fe19d8b662f36e68879d16530a662c10f506655d1d48a962788010a9701bc7ab7e61a8df8db1eb7e7dd6f78de308d29c75d26fe4c9825284836b6d5ecf8f7bcbe08091f4c99e4104a2a0b31486c6ce5c3e1d2180ab8e0cf46eec2be5866d2fc70217cb761e25697480e4542dd5f36f390d3295a4551479ac7c4eebe615b1a4850bdfca474fae8fe8326501b48fb60d5b650090fba50f9d8156949a88d30a25f01a06089807125f624cc10394c5f87893d120ffa6fcaf457425327811669791243ff5705d548247 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 27e622b223a02c2e2192d7ecea6fd95b803feae105b3cbccd9b5878b0344f91ed27f8ecbc3ff4d13a66a14e4fd452410a50adffeb87bd1a0b135eea4d1881aefc286ef477b5aba4f63dcc6b9b962deb733d80db2e513a83f65628e4f2d66afa54024cb8e11597ccca00d77d3e66b0f3873d0fb66562258933d63f2f2dd86bf2a +S = 2b97bd7c19dabdc8720990cff0995d1d70f9ecaae60b72e8d6515eef4fcb4f65beb753a81a5f3376b229302dcdff0ed5369d03802d6293a6557b6025d1da3001388cdf55548e84991858e91a0c604a6fc4b1390b88888b20de300ed48cd161f12ee7d90c16a4ed94ca45732cb6fe55b8a6b0ae78f8e530a78af6b4f7319149f3f49c455a4627b2918c8144767145f66c0e0ddb0f7a967b44b78823383b184ff1f864e1d676356bd284faadf93d2d6f88814d48487e573b4203ea9ccf435f15fb66bc059bfa26112b875a5cdebc57c9fd3e626104b8410e75e09b0c96ba360e4e051518d0c73ecbec1dd5b2a56c3accb3f6c0b2708abb1956b78532e125ffe4e33585b26b639f559c08dfe57f78364ed0948e44cdacd9de389868472745fa6b40d7bef41f6858402ae51ab085e7d613d2394d9cac67b3bdedfee6604dea7498668a0de3fe3ce34f310055ab220e17952ff5ea281e4af0e4ec3cfd994f03d36d1df2ca12d838b20a48010c223b1f109a5464439cdd8a98d1ffcb3008c07e60a87c69e6bfee7421c98a055c4b1387b436535862378fa01a336f5a12ca90f1e3b8ec5a0ecbcc5ebcb4d22c0eaeb91e904806a0bf01d57979a6b59dbd8b43ea82e1b08c2ba629e4156ea3edc9afe2c610a856c599ae47145b4fb295ac5cdd194bf95eddb363d909b387e1d935cbfe65fc74caa52c684fb6f166add6fbd790c111a983 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 163ceb6d647806ecb9486b7effbb7c4ccfdbab544032e90cfd8d61489b00675d292aab8708bab388fd32889284ecaf67675a5abf9091e0ea1b096bb6b09ef09310db65f5ed782efaff21d84d547a094ae85fb763757099c28ccddb2fe51e1635f4d77f80bcba5f8ae89dc377186d743d7973290798d6fcdc78611b7be287c08a +S = 531f083b17d1b1a922a9e523c9b9ded84afb99abe1fd30c1d14b72e856a7fd9ec0519f745737a0a86dfa64c399f55f4ff244ca0c0334eabd178a457ee48f90fda4f705dd0c09c021255facf4a8ff5fc184c8784f663ae73e6e5043b2d5bf74990e2ef96300c9b2abf4f4a4436f62cdf0d0f4bba250c1b9da9a223f24dfb895ebd645c22df6df3482d4ab4b2df0fd23dedf016bccb6a03dc167c978af90db109108dedb782180c8519c4b714835ce0966869c8b96c2104a8934fcba7f1eaf53a41db4d3bf9f5dd30139019d90e9aaee9c5ab837d7ab05cf73defbceb4b666775666f96237a3f618fd976095356019651770d8fcd0cc8ac23b7ff0b2555f770ce2c7da3c488058a148a44bba5bb236c44bfea7a7dd1bfb4f299053f8a67a29c963c0459780d2a92bf8cdee824c0bffa29f6e42261bc45197dfb9ae9fa4315e93c50d0916aa96ec0f4f64b55dabd3d101bbb9b15ff84b56f6a0ed0dc29e05bb6a6a36f6901ea380bc1ebcbb6caffd4d165266255a700bd22387a28a46f92f0bc2e05a1b502b572173fe10e711d3f49f33491e2f0ddf9170cf8a3763d5adfdc2e4eb310b2969f9a911b190e37379adb1488411cb6c73dffb358ffbaad7f9c092f752807bd78f5f9b0689482598f1fcc5ba57ab94d2c8f085adcf4521e3a67f26a6ffd0af644980cf6503bfd39302aaeb669907a3913332269664c951694b7ca7cd8f + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = da37727a270048a6e15fc798f698efe7f60e682776140b5eb201a4b77682f67b3e35003c9c737f54da6db48ee07a672259af2ce712b1e5c4a2c788675033233a31c31d9391a3be2c9475f1d21da34961eff443ef135ecb48791c019be2003c72fc094fe7cf380c1559a007ce75bd9d8c020634a940c5c3d27d2796b9f28f4b0a +S = b1171fe3bd3ba6422017f26f8f4abc4db38afa7af26ca877e738dd097c5b5fa1e0022cab6c0fd745b1c6bad0d853d9d1d94eaa8bc99e614818e05a35376d695f37f8472f1b405dd1c1cbdfd686556356976aea3f2ee2d9d979bafcf10cd450cf81f4e8c16f5e24d2f3b6b0f61d838205b345a0654f6067deb1d391c9a72d6ba3a1b083e09da72ed3701837eb033b8791f8536c77bb149f18218cf29a94662bce19447a5b8d07f98d16c62fbb5cacb2dca974b93399740161c6546e670334b3f8dd391a36ca1e01f664d6db246f62d3f8dab1a3596c409490e3a8c9baa37ef6062e527069b58d2cc6565836583f897f96355345ecc9e63366c0c09bb581cc985789fda205b127110890f3cc37ffcd0e1068f20d173bdca6b3df286ac63e059622e2bf7eefc6240e05b994dbe3ae6c0f06aa754eea4d073ec1d1c0905d37b194ea39bf5a7753f1b037fbef0a7c83e44060275c1233dce3e3cc6d9645b36732eef077a27e3b010ba81c39f4b65e2e094f3eca4768c9eee800efc32c0b5e89552b4d3ce4339329f85bbca25c6b45bfd15ee31299ec3fe5464bdd47eabcdf0f8f47ebeda8e9e71e1e59d77ba09563aef0ece5ead6e1ba4ff637807b1ed3b6218a5647370b138bb6366c94f153c7af26c91d0f99634274da16b736b9a4a7830f6d66a01863bf9b31692ff294bcd4da7b9f511097615d6f7f1e62a2e38be37a8a58dea9 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 532ef6006c7f7577736313f725fb872d0703a3759c422a55db25e34ae0a7ebc8e2734f7c654ddad4b1ae2cc182ae0cbc01270007f3181a35314714ec582ba0eac108f946b45cbef8d87a009cee759a73bf3fc0ab5312dbe0640f94e212262fb9d9351be6bf74c7ecd210b70fd116d65c2a930ee924fa165e5ec58bb4785f433d +S = 5ef119501a65a02e5a355b89ea2aa7f19358afa73f4dec4d289f55a9ee66db7a2031779f3651e453a5960590ad559f4d3e9d4acf865424a2bf12dfae00288b677716580f80c17b9fe32e9093d9c76b086e143a66c92f939e95cb766a2598dd4089aa73545ed4142152ef86436ab572f71a530e6a4417606f7c73b4da2c95f0349bb978d3b0c01614030bf421c0b4cc12fc7e9a8f2d08f3a5af349e0c525a1c2b8d333cc8fa4627f48872837f87af8975ec4909786fb22302fee081cecee509902a5d2a2138560dffe6df42c43e1d494ee93686347c55d786493160d04270da1b29ab6d60cc3516b8e4a709653c43628b2872a2127dc0e672078e8f4fada5c0d95badaacbc2bb2510f49bd0a1c56b1cf2ce087120fd8496f9aa902e320810f3dcf3132fadbb6bb0efbeaad7446aebefed507511736a61ee9350f455a91fbb3affdb6c6dca44ec6081fdfcfb657099412d440d91963060434807e3b5edc24e5245381e132683610cbb1578c8b84371a70650f1e31388233148a205d9634829d929508a2bdb04329726e7b7a352fb9dcd7567dbec53acb12b9e8492eee44673daed882c617a95d956061fb992c052d3177064d0ce5c8f5fc4964032ec59e6d2eb9a0b25ab176d60f540a48aad0059744466bfd4456e5a706e28f490374cd265d8e35ef3ad14b51985732cdea486b525681c090dc8a65cce9475eb1b9776582cbc16 + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = f5f1fe07d07671eaaf848a1bec9c154261c1599a2b2dfa48ad431eebd8c5cf74aa47a138f5e39443622f3befb56c1eb653005e45012797d1eee50aaef43ffc1e1baa59675fc49d28b342f4ec4529a00004429c8260c77fbb5063a2af9a5a85f14f036fbc947f5540a8a5fd3a233c64c77c6d5c7ace7779acdca52e13527e3497 +S = 77b57026516821bb369ba312d675ef53f7316ec7057a69bf75063858e04106ec9e7be3c9e1459b16d91df96d9d841d6aeedcfff0dc7cc71d8d46c67ffdd82deae72a34cae1680ee43d6c3af377f2954a6ad22077027ff8657692c07fce77ca83413fa9427a627ef46c0ff436daee1f13be7a32a98ddfc21747157e264094b58ba5fd9a525b551d116751484732b37504671b82b7ee81c141e0013ee612b77b268c2b26471eb0074c0508d86879b9cc442c40c1b31070bd3dc192dd3a6b603a9009baefef86baadc87e937be20e801afb5d0ba571b60afa022ddc2a57920d47c1764baa0b220cca2f395c6061316260a606c14f5e6e1d3174dd81e9ad132be032ae75793685ec3d211fc7417defe64822f8887248a04046f7a94161db7ec85bae27436d61693a2728bb191e79802e6a1017eb89bea32bcd09e26fdd3bc3ae03a4db6e3d414bea39d451830585247fb9b141434d602e946304a984905c4393def1c3fc1461412ce390c355f102601df8a5c4e2745fb547674b0224a5d134bae944e42752e8b84a668a36116095470cab6f67b14b1c65954ca8205f13134002a1970df883d8527a199553e6d3b51cd060f0f62911110a991f1bedd1b4ef838db1d2a185f9efbe2b1eb89b1dbd700d2cea9e2238a276a916da558d2216fc86a6f16d68fbcf6aa276fe18afb1873ae70717a613c12477b654ada4b407162df981769f + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 2531b4eced1c68a57d7d58e4dd48706b147c88484ab2a2082af66c288ad50dcc4eb71db38970f56be6112ac14704547cab58144b555955fb2b64d1ed5cf9d7c845124c6b96b3f126b0c3e329521a683c75dbe8b174043a9770432231f30c17a7d3e849fa5a10e23da33a8c0347b334143aae0e64efdcda45c33c65db983552d0 +S = 67671ba93c3a4464b7a4e7ab31b96c091535993d02416b83560248e381b04e1e503ed883743fd46a541edf612f8eb5c7b1aef1ad14245f84e4d05a9a2b38f33af343df50642937b86ab6fc988b3f06880fd020775f76720db07176c86d4903aeb0280298939a3740bd31eba7d67f37399db1f4e8d825da5d0b85f153e73a6dfd6c8966e9432af54f6d64a73551d3bac4d6e73550dfab966a5451f31affbbdcf92598209ac399f6f2b2f4318b6998e74fe7390b9de340881f7a8b1488f524e021466d8933646998a23296fb5f307522936ed511677df0261769a497523caa9638ea08fcfec827dd4f19f21efe23b303db2d6319ea00f6af829ed0ea84a4b8075add342948f1b93345b439eb0a8902b6f113586967ae6b32510e1343b4b9973f27b8b7e68bdf0808a43fd37bac9f41c6c112ef33c258f7bcbdf25f1f34b5ee20ccadfd02aea47e45abd1ae4fcdfd2c8b3bfd788b1c87550418dfd222f2220be161154d914c02bd593a8b14401bccf6ab781b9238bcaa99e7d664ac650cf8ac9af7dcdbb9752b28d257a83081d0d51649863b4326cbf406faa111e824c797a753d6287226013056dbbeb74dbdb141c37181b7591aec5d40fd3a17e9a2d17ab7449a240c4b61d1fe777e5e3f1e320f2de482d25379b6e5adc38b17d6efb961a83410def403c3e923f323c97e364a09737da15f7756a9d05a81f648fff077a7284d8b + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 442cad6f87951e5956c00e76792b92d5d100c08c31961c586f3b5383ba312c0b2df6bb00a5c8d82ed069cffc872059945e00cb44796c8e24a1dbcffa96d9775aa74f5e128103bbc54562e0d5dd7e24868f532061d24e1ed76110ce278f6f3b82dabdfe6cc24db165dc34a7c9224ddaf58d8025abe643b4b8d960b8d34bf95fc9 +S = 888b19966ff8ff90de121f9cc03a5136fe877a8b6ef54e97f44a53e1bc73eb6fd130a794331f7de343342c55c9e5d0f23eb1f61d16c1eda964b48f2e4f83f1b0d53b9635542e3eeae1bab0868ffbfc0a77b90c4667304a8fd9c7eaaff7003d486aa6162eb348fcde71ddc83b671ac1a2787bbe57d98fee77e993a144cc92ea9f85146cce02a9b7f4ea53fefdeacfafe75045c0ca8263ea78cadec91222828b5f1fcb2a115b6918307b4838baf36b7ae06530ae484945da34669683f857e716e6b51bddb1f22452db989b9eec563e3a3a8cb4aad45550c5810dc530756f04c5fcdf464911c6910495b76bcd0e8d5cb3ad3ea51c92ba70b5aeaf17a51c6d3d5df3bdf6fcf0fbab2d3c29dbda0ee1745474c9b2e5eac335ead14cdf7e36a8a088dcd24baa6e2fb66f1baaff4b2bb473955d1616cfc25e954a8287af2971dfdadfb8e98424917402e1587d18400e89ca5a12a5da93bf713e41928f60265f193363aaae73900d32170b1f9c236de19fd3985719b3778ac92134a3a1ef4579e430e587a0c868734e7b69beee1ae2bc09ed415f1c08656b5babb4615233fc0e175252af71638dd61f4d1ebcf879169933f99e74b260a9fda3580b88760fe4fd5a01e090ce2e026dd55a786e052502d98d5a782aeec4c58effcb629e940ee55b3e9b053021097dca502a33f0e7206844562f256de1af3eb2d8cba3611850c1d6dd0f2fef + +SHAAlg = SHA512 +SaltVal = 6f2841166a64471d4f0b8ed0dbb7db32161da13b +Msg = 4d356602d7d12456746c3b9f30b627b9831156ab6d50dd88c5bf6a93cf6479a60c85cbd5566b144e2c65f5834a0f298c7cd303c6b5b118c15b3c3959e6e5a422a97c7a0aeff474394a67d23c28599563a741ee67ab46f6502d469f96d61ceb87cc235ce8ccf6abdf797abd11f31fd207ac6200d67797e0ffe2e58794c692b79c +S = 504f792fc1f28cee89883ea5fe70b5108be16ccb30e3dcee487db5d5b4284c837bc02bdd9fa99f1d54580852c5499e2f0042692844264f06ef188e4f9a96592b6661e7d164ef60ac4295f9fa237bd2a8efdabc3ae7545bcd103bc0563a05633481e1f1236c9c24873243bc7818ffdc77d007d49930f7d0f193107168dfc8d3075afceffcdbc5932a0615969c0eb631c551c3f5acc6027fe0ba33af57e001587a9d40b2f4c2c07d01d2868ffd37b74362c3785b011ff936f571be3afbdbc564cc9a036815551d56c7d4544503295acd2c33e5510617335445bc6f1bb58aeb2ff062bab79ec47a695cd1d591d06ee332695c036b38a123876b84cf019524238a0f3440f01701e7eaf151f7e89af109105256089bc076c4c2dc6eb3941255e02f741de1c2197fbd84ec619be8d13d76109f08ca587b37c42ca12c88b639bc4e9d9e1055a11260092293f61a73663e8028d3d73bf9fdb014a2c9696d7b9a1bf94a7d94b2012bfcf30c48ef4913c32a7847adc79073088a14195afbf64d34a9ea7cc2599e2cd5d138dd8266ac3e64261630e899860af5cc1045ec1fca551968a83a518e1321266841c1f3f24c0ddb7b288f056a8504cbce8205a35cb0ddc4720f1199e6cb22f782c1232307ce29e425cd92a5410b54052d38add1d9690f1fc3a9a9b5014685464d61aca9b0a6602756e5a9bfbac98ea53e5a3d8e883c251763c709ce + diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigGenPSS_186-3.txt b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigGenPSS_186-3.txt new file mode 100644 index 000000000..13f002892 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigGenPSS_186-3.txt @@ -0,0 +1,420 @@ +# CAVS 11.4 +# "FIPS186-3 - SigGen RSA PKCS#1 RSASSA-PSS" information +# Combinations selected:Mod Size 2048 with SHA-224(Salt len: 15); SHA-256(Salt len: 20); SHA-384(Salt len: 25); SHA-512(Salt len: 30);; Mod Size 3072 with SHA-224(Salt len: 28); SHA-256(Salt len: 32); SHA-384(Salt len: 48); SHA-512(Salt len: 62); + + +[mod = 2048] + +n = c5062b58d8539c765e1e5dbaf14cf75dd56c2e13105fecfd1a930bbb5948ff328f126abe779359ca59bca752c308d281573bc6178b6c0fef7dc445e4f826430437b9f9d790581de5749c2cb9cb26d42b2fee15b6b26f09c99670336423b86bc5bec71113157be2d944d7ff3eebffb28413143ea36755db0ae62ff5b724eecb3d316b6bac67e89cacd8171937e2ab19bd353a89acea8c36f81c89a620d5fd2effea896601c7f9daca7f033f635a3a943331d1b1b4f5288790b53af352f1121ca1bef205f40dc012c412b40bdd27585b946466d75f7ee0a7f9d549b4bece6f43ac3ee65fe7fd37123359d9f1a850ad450aaf5c94eb11dea3fc0fc6e9856b1805ef + +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000086c94f +d = 49e5786bb4d332f94586327bde088875379b75d128488f08e574ab4715302a87eea52d4c4a23d8b97af7944804337c5f55e16ba9ffafc0c9fd9b88eca443f39b7967170ddb8ce7ddb93c6087c8066c4a95538a441b9dc80dc9f7810054fd1e5c9d0250c978bb2d748abe1e9465d71a8165d3126dce5db2adacc003e9062ba37a54b63e5f49a4eafebd7e4bf5b0a796c2b3a950fa09c798d3fa3e86c4b62c33ba9365eda054e5fe74a41f21b595026acf1093c90a8c71722f91af1ed29a41a2449a320fc7ba3120e3e8c3e4240c04925cc698ecd66c7c906bdf240adad972b4dff4869d400b5d13e33eeba38e075e872b0ed3e91cc9c283867a4ffc3901d2069f + + +SHAAlg = SHA224 +Msg = 37ddd9901478ae5c16878702cea4a19e786d35582de44ae65a16cd5370fbe3ffdd9e7ee83c7d2f27c8333bbe1754f090059939b1ee3d71e020a675528f48fdb2cbc72c65305b65125c796162e7b07e044ed15af52f52a1febcf4237e6aa42a69e99f0a9159daf924bba12176a57ef4013a5cc0ab5aec83471648005d67d7122e +S = 7e628bcbe6ff83a937b8961197d8bdbb322818aa8bdf30cdfb67ca6bf025ef6f09a99dba4c3ee2807d0b7c77776cfeff33b68d7e3fa859c4688626b2441897d26e5d6b559dd72a596e7dad7def9278419db375f7c67cee0740394502212ebdd4a6c8d3af6ee2fd696d8523de6908492b7cbf2254f15a348956c19840dc15a3d732ef862b62ede022290de3af11ca5e79a3392fff06f75aca8c88a2de1858b35a216d8f73fd70e9d67958ed39a6f8976fb94ec6e61f238a52f9d42241e8354f89e3ece94d6fa5bfbba1eeb70e1698bff31a685fbe799fb44efe21338ed6eea2129155aabc0943bc9f69a8e58897db6a8abcc2879d5d0c5d3e6dc5eb48cf16dac8 +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = 5c61546b848a36e8e51f8beb1140823dbd95b06660924d16fdf9a1c33ca0b994c0745e7eb5be48ada8a58e259cf461a95a1efadb0880d1a6fde510d9d44f4714bff561e81e88d73a51ba23e8ca0178b06698b04dfdc886e23865059ca29b409302eb44f2e9704b588767327ec2ee2d198a0cba0266f2d39453806855cf0b0cd9 +S = 134e6acd94b76a86e7ff730f064a3d480d1cff1687b993163ce09f21d494a4a15e6d92758a93f7c83ead21c4ca290f9478241c9811c231f32d9d17e0b479a9b34cad02e5bbdde6c8e4ec4f35f93524f8afde49e6a4740bab2f2fdeff3fc5d92a1b50adc7af964eec82fb80be24092ab28791807c664a9106b5df3296747c014b75d69d181f2e58dafbbf9127164f88c862a48d5e9edcd6d2b2cbc20abceb0e98c7e731d27c8d04fad95ff50dd64af20e6388ed74b9b3cf33b4a316b0c752f33697e5a7445ae2f726f30333f107928872776225a3e0b1b14a7e84f9a695c7b3910330d225b4834110b54d6b05e69df6b7a2c9dc352942e3bce970cec677253230 +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = 7540edea54a4fa579684a5b59c51eb20e61106f82157917c6173ee9babe6e506b6198d8af24e709dcad6ea372684d2e335635c1569a43ebec3da121e506afcd9f43c8c4e66b7e6247ced2025a912eb50c43376290a248f5467bb0c62f13b69ebb513b2ddb7c9a31334310f2a2ae27e901bea1add0dc1cc67d57ca21095437463 +S = 45541aa65fbb0773b1434c4fdaafe23fe800f78eba900c6104a6f0e76dc08daedc28a3380c8078f82055cd4a20cf30541c32d9ac625378355c156880b35a29645325d488f7a0d2de7df92cf9bccdf851445c2b834ad0e6849a6549db72affa7ce66fbbfc5bc0194504a5fb031267b6ca9b57f583e7e11c927e3dc203f7d6d4b9df675d2a302231400008fbbd4a05e17f88bea074de9ab8211a18dcceae6c9fd8fad96ce0626eb25c9ab81df55ba4d0a6ae01eb25a2529e16c98ded286cb345d4fd59124297ba9b3efcb67884ed853ea96d74e00951987bcda54d404d08f2baf7f0d7ff13d81d1fa20cde1d21663684c13ffc7164448f4e85a6c811a850a3faed +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = 840ff32993223efe341eeb55558e6ab1fbae15d17bcf0731edfd32d4dee0ac4145e04accb88c7016e03d27d72bf670dbc08fd94bb8134d2e8b66302fc82baca10ae445c0275bb43aaa42f2ee841693f3fe4955dcf29ff93a3bd951636a919b72ba650d8f4757b1717a747320c8b479009c22b20b913cb25ee59dbdf72bd921bd +S = 07f07ef5e793d59b0c3f899dc846bb831d88dd4d2d8345ad2d726c5c532d13e05b26f0fd03b2b9bde7b6d5b6febc8fe5d3228887eac443c99ec39fffeb939785f87be8a93e497cfdea3d8d06356518a5254c5946236458b29f1cd47e97718c805b167791d10f9304328635330116a2aeae1e0ecc16bfd5a31356d06892b8ca04aec27a417320be7bf6fc1083d70fa522c23850f5d6beda1a251d1a5e71762bc8fd5f16ef0c7a961f4858a5b760a8032f3fd6bdce2ed26351f2beab8b89d9312d88736ee5253a9da6753283e5b3d0d9cdd3e19ca0b60b9fae3e3dfd67831df72ed9611d5f2b3ac256052a207a5245d2cdeaad0d1266c7177b1a0844d5974a8a41 +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = a5fb396eee4045f886191f7ff9ea68aaa1bcd8e781903b6071f3ba2b7cd35cc08691cdb131575d9502ac4b45c046444c1d1f279899cb0b76a20883bd00972148704a38aa8f5fe61efa0c52bdb45b33f4c83892342fc8d0ebf3fdeab49568fccaad4e04c3d0fde97bb660bc4e9cd23d8ae830a1230c3292a9acfb787803eef72f +S = 4428c389d0c80a9320e4859e41cbd4a47f78e4da5d1c0644ff50bad172de9ffe74d84a76d6de4f72bbe34d7dccaa03e1324041cb98308d73dcff0bcf7ffc35936473cf3ec53c66ea8a6135742e0ea9056a4897a7cbd2b0654b344786bf3047d122dcbbc4bea1840e84bce066c3385dccb021a79e8de18dc114a40d824141d8331a4df6901b3409c30552519b097a96ded6793cbb9ae18bb9a4185b6f4e83aad6dce878c689bf595d272719b9f50b3ede1803dfae6dd3f54e4ca9c458c14463f4f19af6cc8127bec80a6a9e5a5fe0d3e14dfcc6ba052750ebbf84a652adde9d6be68d5b134cd09bb94d0875e5527fe3f3fa2a516dc05c14fd5516dff2d434f0c4 +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = 6e891589d71d2eff6cb986b071a31e2696d8ce671fa18c244267eb33d0c8e24018ebcfbf0910bb24966be0575f3268628df5786dfd2e6deda219661824c5029ccd6b6b90a60093abdd06bdb46aa74039f2048784eccb5dcb020767a7ba3df2c755b4f0e6f8143cfa093326afdc2b2b138fb0049332a0e3262bdcf9c8d9573b2a +S = 01909328c24dd0ef912040f61492e3711243f8ca1262067cca6bdab165efe4157982323f13152999e9f21e6852d8c2efc4130e2c46a38446aacfc59fbca5d1a38946923b7e08be397fb787bc79a71ba08fc2b693d1bcbe897d1dface2858ba80a086a0e0a45efe66fd5350add819fd0dc1931d3eba2765f84f147422f5330d0efa0cd827197a5d89e2dd62db9051d5df8b9680169f349086dd038a9ac62f9941565b3f747d528ec4c36e9c948ad3a73240d07ef14b354ffef1b1965a9aafb13d0fc88a09707c6a0ad3028d5a5c6efaab50aad05304b1d5b2930abb8f58c0188b6a94231f8698c96ddd614343a0218494dfff9a293dfc7d5c3b5afbed8f079458 +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = d66747638d8276920352b215158cefe0727a5e2b079d892cbb969f265d470ca2da354dfcb4300322af374699ce963bc17d51e95910c548456c8d9b8f04a300ad08c74602d825fea7bf32d56aded7211766d1b9f70b580a97b5fe67ca78dba1f1c6e7d87ae3a790a79a0c07912f98c76c94c2770cdf9cf6a8fcb3abdf9f3616f8 +S = 85f296084bda823556aa369e5cb19e10ce6e982a6d10a85ba6af6d3fed8f2c05599faed069215cc9eed9e72a4fe510a6c09ff721cf1a860e48cf645438c92c5c86d0885e7d246ccf9d0cfd8c56ca8d673b7094a3daa77db272d716f31b1380f72b50378f595471e4e481851c57a6b574bfb3fc7aa03636632045fcc8e9cc54594759f6014b527877e605ef60cf109b4ca71e772a99acfc7243318655ec50f74e48485668ed42859ff2c5934581ba184d926c8467d7c35257dce9964049568a990f65d591c2db86b48a7256da947fd7d978dd6734bd8685025d1a87e32f52a0299394c93e6d518b18e0b8db1d763f46905f405df0cbc8455e039f173e2b68c9de +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = 23d92665e88a4f6f732de384034d493d5df37b767a8260557de05688e8d60dcd0eba9cb8cc4bceb174dcbd3c0ab5a37db3b6ecfb6a3d90a4f54a9f1117e11e0c08b0114f22f2d98fdd93c0b9fd95d37c0ab2f00701431f1449602525e849570df704adb353481713969a148546b680424c30ad24a75bb6ad616a104bc2d562da +S = 8beeb201aedb9fe7d535fc7989713062497a03e18ef9977b98a93f18f37545c38f5e5206e2b5df7f4a41ab9e0675f7d46d172dc3af90fb7b1a6fa6c986b803a7f2ea4ed217872cc686165b1278450c23c329ee2855f65e651c3db085e407bf3e3a96eaa833ba2056a084031546cea2f454f7acf84c3b90fd7b6210ef6d1ad71ed1b0049262f5b4e3ca99d10a3307752b2ad8e8fbba3a3e8432bc966553901e87150738aac9170fab1d27219274ec528299f8afbbd861ee837f2c86ecce7e73c9b7bd6f6661d1efe3fd2ff7b3efa0d1fc7b84fefffa14b55a2c5fe3252cae0cf0da6e50e3d615f86ae6721aa5e29ed3a1c71c243c2529eef483c56b902e93718c +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = 40abb42db34067fadb5aacbb2fdedd2d0324030bb75ca58f2e2ade378194b2c5f51ea2892b337ee297c77b03333b86f37581d7d77e80c87494bae8f0d22c4bd81e7525685c3b9706e1cbc90f2bff39d6cf6553eab29d41987c0304b14a8fc48ea4f96450ae205a6ca2acbe687df2a0dff9199fcbbc7bb704cf4e5b035184c4ec +S = 54bec66241dc197ad92e695526b3b6a030216b48af90d93c36b2d70644e40cda2cb259f27ca9d141e5753f938497e84208b380ffe1788701c71d89bbea3edd352dabd32d9425edcf9a33e185cbc4031aa6069863fe47d499536a59da12a8bdbbf2a3a9f0039318d066f5117bbf6fce4f6752088ccc3a081d85da461a8bdcaf349fd4054f76384e668d00a6f747688c8420c7e452b0736ad62e1738a3f10cb62bc7ddc12fa670f858b2d5def9a42ac8f2fc91d488738a7c23168f51ddfbdae6a5d8ee1fc561cc3add4a7e14eb103bf9593cebf391c1f7a07d262faf03d47d07424ffb3a916a9564652a1be020a0e922e99a57da1abf931f74cfbdd484c0a9568f +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA224 +Msg = ef10b03c04578bd5f783358df367456a73de38c6fab2c35405bc685e3d4c4850f2cb387ac59e1612a44e5e78fce6f8be299d546832b5b970b3a3da8e1a70abb6165f72e14dd021104e64e38ec662f576f65ab776640803d2d17abdac6c75ab82451687f804b553d8db0eed57b9a3e39ac15c8878fa714882488938409b24f1be +S = 4a183b82616f3bbc27a146710b28729161feb17900be62e69eed5d254d15f34bce52d6f3deba89a787ebeb0611e240cc23e16add3796d4a29783e2cbe8797e066cecbd66059c394f0e2f9e377f1ffa194fcb895e1c48874b9b6430a13c779f5ca29e3f42bca4b916710590ab6501809d645a4885b058dba0647971f04f6f2f4a296c45d89dd848b7c2f8777ec50846c97d35c12d54ebb6ff167327b1d4daedf4468031b59057d57ceddb79fdd013167ee6e46d9130693322c3ae6702901a1e90bd4b621d141977d0680acd524921bc540e34ac640ace02f89d5436808283e026e138ba3a5a4310fe1e048833f9b581baef5f891f9cdb2f0673bafa11ceabc7d7 +SaltVal = 463729b3eaf43502d9cff129925681 + +SHAAlg = SHA256 +Msg = dfc22604b95d15328059745c6c98eb9dfb347cf9f170aff19deeec555f22285a6706c4ecbf0fb1458c60d9bf913fbae6f4c554d245d946b4bc5f34aec2ac6be8b33dc8e0e3a9d601dfd53678f5674443f67df78a3a9e0933e5f158b169ac8d1c4cd0fb872c14ca8e001e542ea0f9cfda88c42dcad8a74097a00c22055b0bd41f +S = 8b46f2c889d819f860af0a6c4c889e4d1436c6ca174464d22ae11b9ccc265d743c67e569accbc5a80d4dd5f1bf4039e23de52aece40291c75f8936c58c9a2f77a780bbe7ad31eb76742f7b2b8b14ca1a7196af7e673a3cfc237d50f615b75cf4a7ea78a948bedaf9242494b41e1db51f437f15fd2551bb5d24eefb1c3e60f03694d0033a1e0a9b9f5e4ab97d457dff9b9da516dc226d6d6529500308ed74a2e6d9f3c10595788a52a1bc0664aedf33efc8badd037eb7b880772bdb04a6046e9edeee4197c25507fb0f11ab1c9f63f53c8820ea8405cfd7721692475b4d72355fa9a3804f29e6b6a7b059c4441d54b28e4eed2529c6103b5432c71332ce742bcc +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = fd6a063e61c2b354fe8cb37a5f3788b5c01ff15a725f6b8181e6f6b795ce1cf316e930cc939cd4e865f0bdb88fe6bb62e90bf3ff7e4d6f07320dda09a87584a0620cada22a87ff9ab1e35c7977b0da88eab00ca1d2a0849fec569513d50c5e392afc032aee2d3e522c8c1725dd3eef0e0b35c3a83701af31f9e9b13ce63bb0a5 +S = 492b6f6884df461fe10516b6b8cc205385c20108ec47d5db69283f4a7688e318cfdc3c491fb29225325aeb46efc75e855840910bbaf0d1c8d4784542b970754aaa84bfe47c77b3a1b5037d4d79759471e96cc7a527a0ed067e21709ef7f4c4111b60b8c08082c8180c7c96b61c0f7102ed9b90e24de11e6298bb244518f9b446ce641fe995e9cc299ed411b65eb25eaae9e553484a0a7e956eadf0840888c70e5ca6ebc3e479f8c69c53cf31370ab385e8b673dc45a0c1964ec49468d18246213a8f93a2a96aad5a2701c191a14a31519e4f36544d668708ff37be5481cb0ffa2b0e1f145e29f8575dfa9ec30c6cb41c393439292210ea806a505598ebdf0833 +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = 7e6690203cb068b8530cb1ff4eeaf0fc69a4e304f556072dfeef5c052c886c83e7f58a3dbe9a58dc0a808ccdcea9f33ae2a0b6395153dc43ff2510e78f40a4bf8328d7a4a596531ea683fa1e0683e2f033549e6bf5b7c06b097e9b810de74ee89c28febbb94b6266713c855bbc21c706a5e92502aa28bb8d662287396d2570e5 +S = 509a01bb0360d1160ed3ff33432291cfbb63daa2933819600db7dd825aef13dd1e9a888a9fb6fea93debd4cf4bc77129b06dd4727193d7e8a2e5aa5a6020b64524e93abb0406f5a18f74ff0aa804919df4072e319ce8234431c94e8eef8c5ce813a07b2f66dd6a032c3e69a3c58c6b54acf08bbbb019df15f3abd22c67f3e2cbffe99887adee58a39cc30ac45a6e6e59283ee0890aa87072a857845f5cf3ddacdc776e58e50b66e95eb13dec49ce45505c378734e964e8095d34a01317768b7b9fbef6eb24b08b1bf0312ab51e0acea4a3dfdfa6fa7bb115b8b685d354841d1901bc73cc655ae246a5453ea8d160610425c2c14969bf22a7e11e663cff1501f1 +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = 1dce34c62e4aef45e1e738497b602e82c1fe469f730cf164178b79fdf7272c926d69bd1b5e2de776055753b6f2c2bcbf52795110702a5bdf7cd71f6b8ccf068ee0ddfb916abf15458dd9764f262b73c4c981f5f64de91e8d8a6a30d961f3ab66fd92b6d159e6c0db02d767bc1f8499baae7df9f910338495c8ad74ee807c6443 +S = 1bd79d25ac6b0f242f39555c85d858c23680e1ebf9590d05463ebc58454a7822cf0e0c2ab9872b6eac5ae8ce3da773d6b2039e9b26ce751dadc48579320ea63b978b0df038191d9128102128a365c01d9e2b43fe2b5ef1ce9ee8f4a1e12caef1bbe7f3a8d1a93c9f399753bbfd60d22d8f39206a511ea448dc23cc0e4fcf0b77d3f3fbd9188b740de3f85009de94ee157dbf7edc3165e9f69b59db37f7fdc507496de8941a2a2628774b06c8cab034bbe3d2c04d253b5948d6e5712373ada99b7f860612440c5eed81efeea18d76329dc30bd9fcc500e92315677142d5e1b6b45ae0e6e725122f046c9a544ad1ef1ddc7c6b2a7809715ab75ef870ee6670627a +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = c32976432e240d23df6594f2885f00db7fa7e53b7aa84ef89798ec149fab74828b86423847f64285b7e210a5f87e5e93e8c2971ee81bc13fe060a8aa840739a3d6992c13ec63e6dbf46f9d6875b2bd87d8878a7b265c074e13ab17643c2de356ad4a7bfda6d3c0cc9ff381638963e46257de087bbdd5e8cc3763836b4e833a42 +S = be69c54dad9d8b6db7676fe74321a0aeb08d1cc17f6607e87982f99489344e99378c38341e0e605b8ff903c74a973872a9880e05a8ef0bd3e6049931acf152dd54fec9105a57b73f77631db736b427f1bd83275e0173d4e09cd4f8c382e8b502a3b0adbd0c68911d02de17fff3d927e250e1826762efc0b895dfa502f18dc334b4c573f99b51b74fdd23009861028f1eed6875bf31d557acd6de8f63fa1274f7bed7a1b4c079f5a9b85bfab29f552c7f647d6c9241563fac123a739674b0ad09c3f94208795d9a50529d799afc597e025f1254995f043234891620b10d5c5569be14b0f463a495f416024618486c7ff5ec775cfb46fbdff5379c5e09150b81a3 +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = 218551f425b3557d09ccfdecc9ab499085bd7fe7d60820be626c1a9aae293f5734a2f60fb661313dd15a9f22d5742268d4458306f91d65631b4777be928beecd4af733a416e0d8d94623d1e67bb0e1ceba4a5204c088e98895201953646477f58a0d6e7ded3834998faefcfe63686e0a5f5354a8d2509675f87f6821cbbdc217 +S = 96a269e0ca4af626aa8b7f45acdaa76d5dabfea5a7d762ab39b138dc7575fe196aeb182bee5b18503969b5ba111f057ccdbf292d7488173a4a4dd04e62c254d502673d5a076d326c66c9a71a3b83b1005c6366f8a0902987dbf08cee7562d0abffbdd661c3525be8e12dfd73ed31efaa817f61e7fef700a3215e77b6231d59c098fa455b69ec6e658a66cca2e8f2e090ef704270995170ba9a1f561b848676804413645a943d883191d95b024d6ffc9cb611c68f3319403bd7c07ac6694501368e8147a256e928604b63d50e2c65f3b2c30df1eb0363e29fe448f94b6907cdf42fbc9c27b31a43a8f5c15ce813f9b20d16da6c298843f052ed37678b4ef1d78e +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = 06b76aaeb946fe6867e4716a8f1ee8d61c483ab345cbf8e5b2bfab5ce0bd5c8bc6ee5a1cb96837e28dbb140ffdc61ea74cd059342dd49dbce11bdef09f10b0a638510989fb02490fd66679acbfb0d04652167ce8bc289fbad760973196fa8283a405015e48bb3dd98c0e28ab9e83069a76432b37b97006c9deb55e878f21dc0a +S = 65e2358bafc9fcb65536a19d27f710596cc31f9a8328cf9de21257506047ab1340a74505581a54f258bcbe0c1520f84ebd2e36913560dbd71574e3738428097d6b819e6900f27df159dcaf08c6e1591b073bfefe3da6bc827a649e0bae9c52fe9ae180d1efc01e5a38adef102c6d106af12163b1a0f6d1543ffce3980ca0f8b70d38007288d47bc565e995b8c21da2f959c928aa2f8574a660226048dc9dba59526a30e3274808683b41c0cf086ea5afc48eb294a88c4b8b7383dae6469e8483345b1daf1d2801bda93ff91ca75dfaa8dd5d47e73cecf0efb0629fda16c601070bee2e8cc0695150739202e3be270b9801d085e11e1df07f9a4cab54fda23da6 +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = f91670bf6b8bf5c8c75056d844168fc6ec0c28d09400c1df11c7ef0da9e04664c854b7e8f4e01dd8035612328c4107759bc894aaa9d50ca5cb7655892983f68ab28172f70ec6d577d4de8c93fe2e79749ad747eec2ddfbbecd89cc10c70b35451f6448f2a083452ca2ae6b0382240e4c4f01eaa4c661b7b181c8feab6bc22a1b +S = 2eac03233c4e24b3328447cc09661c259676b569e6a0848b5a193065296a59e3b6d35a2ecd91c6cefda4f2bf9f2252a27334fbbc2d79e450d44bc282f7d7321b46f82028c154f30f6d62edf3672a1019d914ec617aab2d007f844e63e295bbd8f66163deb278d99d66fddc58cca2b911ce0af95265134af55a4b786cc214fa11ffa29bcdfbed12c5ce6438e9b6beaeffa3587978a83409c29f115423174c05cb8c30198da8b193f9446b9b49f7e3e2862ec9a350e8441ba4e5550e87db54712865fc2690a5938aebb28409b88cf0d172111a74f678ee0819ff8bdc22b08fc6fed37b676d0705396f3247a267c60f7ccf1fb260c0c2e924c1ef5540eb6125f3b1 +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = 64e3f541453170db952c09b93f98bcf5cb77d8b4983861fa652cb2c31639664fb5d279bdb826abdb8298253d2c705f8c84d0412156e989d2eb6e6c0cd0498023d88ed9e564ad7275e2ebcf579413e1c793682a4f13df2298e88bd8814a59dc6ed5fd5de2d32c8f51be0c4f2f01e90a4dff29db655682f3f4656a3e470ccf44d9 +S = 76c297fbe302f686377cb155ae8a2b65a6c577af303035c4a755fe67014c560476e7a789b8f2195b0f80416f5f33b7fdccc380f988cebadb640e354bf5679ee973a1e1485b68be432b446ff5949504515a65cddb0faf6dcd1e1188656ce941af3ddc8600cf0e4087ac8382f0d5061d3d05f58c9362eb88f30a724d18a15ee68a60c5e4dedb4084c9d01522999092094c85622e67a66ed034564ac286b0ff8791e9933a23f83b4a88d2e79e3a29d6a3f87e63bb1a96a6bfd6898edaa938f74c72d6c10cb94d055ef3fda9e6dd097d52738754800ed403b1444195a311fd6962007999e31edcf2870d1c3ae3b3646bc7da55e5f1e6627e6248839e8f70b997fc1e +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA256 +Msg = 33ba932aaf388458639f06eb9d5201fca5d106aaa8dedf61f5de6b5d6c81a96932a512edaa782c27a1dd5cb9c912fb64698fad135231ee1b1597eec173cd9ffd15270c7d7e70eced3d44777667bb78844448a4cd49e02a8f465e8b18e126ac8c43082ae31168ed319e9c002a5f969fe59fc392e07332ba45f1f9ea6b9dd5f8a0 +S = 2891cbe23ccf10c396ef76a5840adaad6498b6fc8c6a2f6c26496cb428a9221ed59b3645f9a25f5747feda0f51b45319e0978f22ac4facbc15db9a4e5849ac2a1404aeb6c00e5eed3c07eeeee2435668fd17f16ab244c9d38f9ba0de9d3f3ef0d994094e92e327948f1409ef827752344a1375f608dc3cafe74970745a023b320b3bd3171b62a68a5ccaadbc64b82cee4b8a81840ed8b751ac66a29eb81fb819ec54c76b01c7b412a43ea057a80202f1c3c06a4ee60547c13c6c2fac34a5d5aae982b9dabd119b470829bd77a560e0973409115bd1ab5bdc6bb46fe4048022b0cf4fc6aad4184c28621ec6f82edb54733c902620bf45f2517f24902e56d58038 +SaltVal = e1256fc1eeef81773fdd54657e4007fde6bcb9b1 + +SHAAlg = SHA384 +Msg = 833aa2b1dcc77607a44e804ee77d45408586c536861f6648adcd2fb65063368767c55c6fe2f237f6404250d75dec8fa68bcaf3b6e561863ae01c91aa23d80c6999a558a4c4cb317d540cde69f829aad674a89812f4d353689f04648c7020a73941620018295a4ae4083590cc603e801867a51c105a7fb319130f1022de44f13e +S = 2ca37a3d6abd28c1eaf9bde5e7ac17f1fa799ce1b4b899d19985c2ff7c8ba959fe54e5afb8bc4021a1f1c687eebb8cba800d1c51636b1f68dc3e48f63e2da6bc6d09c6668f68e508c5d8c19bef154759e2f89ade152717370a8944f537578296380d1fe6be809e8b113d2b9d89e6a46f5c333d4fd48770fc1ea1c548104575b84cf071042bfe5acf496392be8351a41c46a2cab0864c4c1c5b5e0c7b27e7b88c69f37ffa7e1a8cd98f343ac84a4ad67025a40ed8f664e9d630337de6e48bb2125e2552123609491f183afd92634487f0b2cf971f2626e88858879d45a29b0fefb66cd41b2e4e968385bd9fc8c7211976bc6bd3e1ad6df60856985a825f4726d2 +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = 8925b87e9d1d739d8f975450b79d0919dde63e8a9eaa1cb511b40fe3abb9cd8960e894770bc2b253102c4b4640c357f5fd6feab39e3bb8f41564d805ceafc8fbdb00b2ea4f29ed57e700c7eff0b4827964619c0957e1547691e6690f7d45258a42959a3d2ff92c915c3a4fb38e19928c5ce3ddf49045f622d0624a677e23eb1d +S = 43ef93d14e89b05d5e0db2dbd57a12403910646b4b0a24d9b80d947954591afa6e9809e96d7d3e711003ee0a9186ab3d8e0b4d3425c6da4b5f7899537e737b71df9ed6355529aace77a7cba96b5b0a86399252f1286a6fcab180b598455dfe1de4b80470d06318d5f7a52e45b6d0bcc00bd365819a4a142b83072775f485f63c8004f53378a9a0d2345d07b1b326238ed070d1e69fc0b5cf853a807cfb723562d1f5682482e8a4840588bcc7154ce0740c768616cf04d7aa103642917ec5b4b514a3734d9e0c58427cff42f27f43fdfc85991e045acd17af6fba7bdab818e90eb4117684e89f9163dff7b98b82a08baa2b49acde480c5702c335237d1be771b7 +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = d0eb4623eedbd97ee03672f8e4174d2e30a68323ce9980e2aafbb864ea2c96b37d2ab550f70e53d29cda03d1ba71a1023de78ba37dfb0e1a5ae21fd98b474c84338ff256b561afc1ca661a54d14db2e2661315e13581731010f6415d4066320519a363fdd2dbd5919362214bceb26716d3b188a39f32950cf5bd87b7b193307e +S = 213ea3fb11cdd71bd5b839de8a598b6a142023825e24db7cb1a4459e78092b32b07643c7270839f247870efbd320b419ff3b1914c41b6ca4bc3cf17017d9a94d86f0f022f4495666c4a89f08e216a161d4664f2d616fa4bb2a17ccb85004e63f488ba29564ca136aa3a6f9561f85cb550b8cf8b0a85afbc8aee2c76891a53e7cb66e36f8709e7990d8de8d0c73865c1cb44727f18c0faf25c53f15e070c430e73f77b1e9c8f8ec13114d7e7ac790ade4ec6f1de0cec13f25a48d534965a8ede12090a928a91d5a1f214aefe6cee576ad43eaeccf635409a8646853d9cef93c9c04a884253380a49e682bff0750577c5a80becdef21a4a9793fabb579eb50e3fa +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = d58e0997224d12e635586e9cedd82dddf6a268aa5570774c417163f635059ea643c1f24cabbab82eac004a8b9a68bb7e318fc526291b02040a445fa44294cf8075ea3c2114c5c38731bf20cb9258670304f5f666f129a7b135324ac92ec752a11211ce5e86f79bb96c9ed8a5fc309b3216dde2b2d620cd1a6a440aab202690d1 +S = 4385e67819283d81eab2b59357c51ce37b5ea32b76af345a457e5aa2dd61113865a587d2c8a8f1c8825281c052a88fc67797adb6251d28efb911564671affcbfc7e1a3c055dce8d93497fe80da459647ac71f17e9aa07d1aafd5260ac284d622a03b6670c55b0d40696d436c638f9b48bd08f37db4eaf1d9746d2c24de347dcca0a62df244bd2a554bd08d047efe52cb1266ee5988447e1b2740f960d22e9ed3f2573ea8753a60d306d654a26503a5416a4439ee44aefe08cfebbed56585eaa01a64bc812f589da9e9d51849b4d4feea04e2b03c4d4fe516decea1e3d9e7e35bfec17d7b2c218d8553bab921eab6410ad30cc131579497d186fa25cf62521fe9 +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = 3b9dc97a36492a68816aff839c135da2d7dec5505ddf496670dbf0e0f6b65ce9352baa38dbc09a9f41f8f0e1f0ca1ac56552126811c786d7a4ad37dd8b4b9f1ab760d655a112b6148b273e690877340ebea10eb46bfe139926d3be59e8cb63064aa4147a9028c6ece75fb0c2eb03f4a66c3481dc726d38d37eb74efa131cf1d4 +S = 3fc0e79913fc234e4f271cd6f5aa63bcd00e0c4fe2242815645d384781d5a00485076bc011f4412457bb7a2cb2695abfa18471ff6087038d585f802995159c8beee7607330759f310107c35b4a6a9a48fc910f45f70bffed1281f2215af34759ab08b68acd539ddd37f98a528434cf11ae0e85ef221f7117c757d970f3181e9ccda927469aa88de59ceae91c270818137761e56d75a3c01ac128b65818f28dbf7dd268337356e97bd104df6218db3b1292ec2652b62e5aeaafd905ec8fe67d6ed42e805048deb55cd9d75f818236687bc5b2cf33e17678c45a9b2144d58a4c77c163e57c1ee42cbd92bab46678092aef867968d8e6a387f7cef3920e4ee046eb +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = 93ebc05837d0d50897a1d10bf1b08a6a767e52bfaa887da40d631d6cfb0b1011d1793d6e51731aae48a872056dfc659e8d21b0d4e5672ea4d0d59f62a278a9acd3fb1c9d60787a426e8eb75230b43d190ccc33b6f9fcff862cb909e0f324c203e19ae64c2b86fead527a285a027f1ac53ba965cdaeeef7326a37e44db7b866fe +S = 19b1bbc3e4a23b44ec429dc4479f3fa45da87037136ada535bb325c0c03193a2ed8216a9621e9f48ad2c53af330570fdfc85fc1dbb077105af39e8e3a9faba4a79ffe987e1a37e5a49c60320d086e9292060e9fe671f1bfa18ad79f1ae559551a1d5520f8164a877b3fe1938fa51cbe8b5110a332c500585d288d8b30855afdddd233254f62e56eda75ea6854b84bb05e5b4497aca3d20baaf2d6d228a400135ecc45161c3f2e7258f8e4742aa687bd9f7a4468a61558fa0ddf79e5e0ca51ffaf0151bb255152219c76a08c3e46557ed6b1415622bdfd94f733ac10d8f388c0ef646d8f5d71a3205307db703d627287e2b7be15c33fff19147e5daa36d4252b1 +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = 8bb56404897a19140d112d939f73fd7d18a5d107aaa20332209664a0674cdba64eea4fa48adcc791fd0ed0da385e206d3e5178108a04cff85466ac9711a5d4b539e625c24c39c26b17cc706b345f40a4d0f76f6eb0d78a2f76acd52c2108ee9ed411ae09d87b50c9e3b3d5ed9b5da64956017cc724017dfe0fcfa806a15c728a +S = 12f03c6f02b34f921831df384cc6e30d0b64f8ed133133ff190caca2503f1a4f4f721de6824ffde125bf41ae216e5feb8510e4d6337cec56f18550e78c69b1618457bc1b604d109e526c788628391ad8c29ad6c5da268922a55e4eb3053415a9de109112b5fac1f996236f46ed3a6c2f845c36bab09a4c21da20b17d2590c7b058fec130fbec4856ade373b6b0773994bed5ac7a420a09df8c1de246ad453dc8a62310accc9f0bdff16104dfd74c7752c33df20ef08c52d0bcdeacdf2a31298a3c72bb7397c3f9306fdbec45287688877fd6c965b8dcc513c9bdefc2f9ee7e92bac62438e4d80bd3ee2ca50a024d6fdedf39266480b2ec77eedea6b64a9c58ad +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = 35ef7f038e9b98a421b9f6a129ebc641596380ea1648bf9fe35c50c71ddd8930e8a9dc5369a5acda365e5e5f0af1b477be2956ef74e8b25516c806baff01bbb7f78ef5ae658b6852c0e26d6a472655d2f2bffdc2a848a252b235f73e70b975e74ae7f39bea177616a88b4a494652525ade6d9ceb1831389fa0ec4bdad8cb5fc9 +S = af809f10fd160a88d42dc9d92285e2b2afd8162c38eb91a6b6273a66c30c79d7caec94a00fa732710d9f751219767185da5064ce26fec0647cb0670ecc68f2a601390dff07ff0237f284dd4fcb0b11148835c8114c5a15c513713dbc16286707eecaf2c450f588fc96217d34f59e0c716c7348270041b2c4386f5a5877f7fa48510cca8b07b70490f9eee957ec0a52ab955a3f1054695a7f5806f705fe3e9802770d591eddf2a83fe03d8adbf553ae59528051218db1f3fd070f8e1d3d4b4083588cf2710271ecca5d9369468d045b0f2e0ef285f9cfa65a04cd223fd84c01b8c740a4e95b9fb675c0d7c470b3598d06489bb7d6722eb72ab8120d7f0ae29a06 +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = b4422216f1e75f1cea1e971e29d945b9a2c7aa3d3cca70bc8dab8e61e50d6b038f9f46fa5396d5323f5b2c7ea880e12e6bf96ee37889d6a2927a8c285091907d6841dbcc2c1ffd725596055500dca177f62486cb301612479b7c303a183e7de0c790a933856a1f05b338e84c3ad4ccbdcbb1bb9c6c596cd23019444045fa7953 +S = 0f31c8fb4cef7233cc20bca20eaa5b42a9aed4a4f40855e2c518501ae1cfd71f98bf9ffdec1a74bea75bdf90b9c67c5824a7054ae57ef49806359ed64b2c5efdaf52829395fe426c802665bd7530ca3cbb40d5f29367ea55eba29903e8eba5df7556b5527335ac06a211c597e916fd6978ea5bc6daadccd4fcbc61ee64aacc902f652e545ef48579cd523944461d9161a542e2e7bd2a1da72ec9a751651d184fb75b16951e1b5a98107ab3ba680df0dd06131a9318e47e15326f27fc34dddeeac89b11236fdc9b8f799828dfa9714e6ca3982d8f79efa2a455e6d73421a1c933c92902790eb79adf0e4fb6202b6a0868aecac2208ab673b249a826646518aabc +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA384 +Msg = 882c97fad763ca235b162fba88fd714d023bf7380133681cfa9e6a8d7cdab00b58853334044bbf3741fcb28cfce201e372517b5a987f52f2ba96d744620885707b234157b6e5e00a2d11ea8147829d91dbc0351898d16b7ba4523c5283c6eb613b2d49cbb5d93482677d5e023087503f83afaedbc8d0bc9dfff7211fa7baebc6 +S = 0c4850b815169cda5c11f77bee14ff2fa1399af8dba09fb9485211ddd458e4152f966b2162cced299e496ca0c6cc891fce52fde9be554aa213c9f9dcce053452fe0702bf2e953ac6490c97660d8dae7ae557d94e4de409100951bd3f8be77ad5e6a7f8551190a1f2ede40fa5a12e5d995c7739221fd9be3970c05dfc990a103db1e9dff25e37234be4f70b372a4071a9c921a34de8f6c56f1106a2431b2fc2d60026c7f2cfab11ee75afaab90d72dc8e15c6d6ddee0d4302341f107c541b23368995b6e95a0efb3624e70e7980533a4d6cd823e26072a4bc88f2c01349222472ee394b86ec83f4fb9df8fd105fedc77d28b7a7e9d71451219eb42c25764bfec6 +SaltVal = b750587671afd76886e8ffb7865e78f706641b2e4251b48706 + +SHAAlg = SHA512 +Msg = 5f0fe2afa61b628c43ea3b6ba60567b1ae95f682076f01dfb64de011f25e9c4b3602a78b94cecbc14cd761339d2dc320dba504a3c2dcdedb0a78eb493bb11879c31158e5467795163562ec0ca26c19e0531530a815c28f9b52061076e61f831e2fc45b86631ea7d3271444be5dcb513a3d6de457a72afb67b77db65f9bb1c380 +S = 5e0712bb363e5034ef6b23c119e3b498644445faab5a4c0b4e217e4c832ab34c142d7f81dbf8affdb2dacefabb2f83524c5aa883fc5f06e528b232d90fbea9ca08ae5ac180d477eaed27d137e2b51bd613b69c543d555bfc7cd81a4f795753c8c64c6b5d2acd9e26d6225f5b26e4e66a945fd6477a277b580dbeaa46d0be498df9a093392926c905641945ec5b9597525e449af3743f80554788fc358bc0401a968ff98aaf34e50b352751f32274750ff5c1fba503050204cec9c77deede7f8fa20845d95f5177030bc91d51f26f29d2a65b870dc72b81e5ef9eeef990d7c7145bbf1a3bc7aedd19fa7cbb020756525f1802216c13296fd6aac11bf2d2d90494 +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = 9e880ce59f547d592c309c22a2974ba5a52cf1c164f2d8a81ebbd4ede6e326dea33d9f135a4e0947b0b9c267aafbaae9b8583f5ff215074ca1e82f3601ad71fc455a3b6adc350d0bf345223e3b06548cec613a390ada9319e70ce7a5e9526b4e8dc82612ac72524cfdba05d0dc201037492d277834a843b9f80d4564253bdc7c +S = 8c4f819e682081bb16ddd459662a8078bca4793e18110033539460b408c0af747ea5d941f712691f5d9ddb643166fd965f5b51b819d55141d67c1553b27a4682e67d5555b64d7cd3db7fc5c2e701dd26e422af8a1fb52cd5f5a09e0d6db900a992f318deeb6f6e39dfd6af44cb217c6854089ceaa16e3f9b100ef8e78f6b453458b8ef6d71493e7c6e45282c617fa87ccdd4a0f2f9f7166281806fb41d0fe188e00c40afeaa07d2da09a2cd78052f8d56b7af40d4c7314ccf02e490d5e2123bf676f2bcbdabeffcf58792998dd0f67ed24e483d8976b00d6151a6e0ba740bdb57c9bc27fe5df9126a47020075eb222d5ca2470724460c5adf067b5750287cd00 +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = a6133ca436d3f2e0a6562f138975bcf785cd0c3b58b7671d197b483bc0c003a6e947aa39d5d93229b27ed2dc1cf0acffe34fafd30f16bcc7214e074c9c02c1e5c4f2f47da68baefe5817611f82328a7e1d7d91ee7b96f0128847982b4ffd902ec07ce01ab0d2ad882189a583c4219e9bbcbe7935a51d4d25d5ccc27fe19bbaa9 +S = 20ceee0fd620160ef6a40966fa4ef3d8f68c002a66d0103eb62a868a7ad7dce9523a5b83607b8cd0ca54f833f3a68c9fafa1de7fd723e22a0f724dfca1fb6bd1a88a7dbd17255ba1e06102c2cddf584f511bdd09e132b016f867896a592a28c53c70752a0b10d86bdbae9503928d2e0203ab8f845c1f77adef2bd2f4e126066fe15af4a5282d5d9fa73bec18d2e6a5969d766eba55c0bb95e13671f82646c35b31d894e7f95f2fd35f60d88c3e70b20f6f387326400f0a825bb9517df88bbcc4798861144782dd92ccaed36aec47d5365d3b61a495339ed58e2553b74f06a295ae47a309d8477b9ca838e77094718565903432ce243c9dffe6dad464cd5ee279 +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = 6d60a4ee806bf0fdb5e3848f58342c0dbab5ee3929d2996e1f6aa029ba7629c96cec6293f4e314f98df77a1c65ef538f509d365ebe06264febc3666755a78eb073a2df3aa4e5d4606647f94cc8e800be22141208036a635e6b3d094c3a3a0e88e94bc4ea78bc58b9a79daa2869675c2096e22a40e0457923089f32e15277d0d8 +S = 912fdcc5719a8af7389db8756bb0f630a4c78a1bd1fec7c4a6f3e50924a9818c9eca4a4efbaf9e8bad55d6468d83c54d0450b53a267a50685e7fb93550c2ef3554f69b4e49d3be359bc0b88f3e753714684ac047b4dfb436140b13129fc4bbfeed86548500d487094d222ed4e249db0a46b34ba5247c1b86e8650a703c9d3e0374433d3af52578d35f0f9108439df0701188da206b579e1712811c1e33b3da32f33acc9cd0bed60cfe977a4a6c6aa6498ecebab9be86c216a7214eecb13c2b7d4d309f5488012056905060c3eabe90f36b01588acb328869034e00bd19bf5c1a44d8ea2a89b747b2875d97047c53f2903f67b5a60aa87aa70a9479735198a508 +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = 1aa215c9f16050f31f0ce5adc8cfa594e44ef29087dc23ac65ed2a2595ce73c0959410618f5314dada903c01c4f8d5058f52d902b9b25cd281ef2627a658a2d672a3f776f726742a994a31bbcc3cf3ea1fe551047a1d15b6a31be52307302334b8b6112fb243398c62220c046903c9ea9df1a0be50851800d659ae4241c0be81 +S = 6ba800b8692ae568344c448094e3e16f50dc2c53edcfbbc9c7be9c07461c0e0686fcfed607af2a66291fcf8e9653fb3e9857b208ba210100df9e6c0495ab4d13f1029089cfea49a6be8b62036f30e0d4e4c1d95a5eb9580397d3bcf65a9311c2d8de249c2d1d7472369537cccedf8a7feb0c170eef41341f05e7d17caac4261b62498776a5eb1d9ce7e4746b4849f9021f0aff917179750253c719017fb5dd6855672eeb0847ca075e589e320f356f49872455b30f8cc1a3a7e1a4276ed6a909be06bd9f89c3494ff7db432d0d4d3f3ccb0be71b0bda4f66ff79773004905c6102d964b3b5a5e28e4578840c0e488b7f2b4f31066b61e13821e88a0ddd2b1c2e +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = cce6ea5a46bdd6805160dce409d1023cd71d3893303ca0497f392d5c5f936fe50ee2ade61ebd35426edcf00d597a39062dfdef62dfd9c9ccfdb2eaa9e3c1b6a03278e35a7e69d386476421212bdf7af4599bae5e49850653abdbd9a59d8f5a8220f0b43fcd875953c43f96a7e6ca6c0d443f9b0dd608ffe871fb1fd7f3c70494 +S = 9a465479c1474c1a54f16f309bd87b0c641a458d86173a4f29c2829fea0410787a81b3c1360cfc525d133dfdecc13acdd5199954dd8440739608545724cf1270caa39a221e9c6bfba399b9b05e55708875bac1578642ba7211260662299bf5ef68a39594e38faee14989ac5b2daa13211ece394cde46afa1b110bb55f631bdae5b848dfdb8920d7c74eff82ecdf59f2c6ed9b818c2336364b2a56d34a22ac42089dc5730e8e57b356cc4822c1e646268dc6a423e034b8b1512d41b88c70b27e431d68151e61a4fa5c89f1e90d621e07228c0346ca46f767a989f1b0d007237645d448030a7fe45ee0f46521272a8cc453a835984f8268752bef801b6226140b5 +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = cb79cee1e7c3546750dd49fb760546e651e2a42ba4bbe16083e744bd1385c473916d273e9566673e98995903b44590e7acb580a02c6fdf1552af51716c134376049817151ac5823bb02633ed8cfcb697393397a14f94ca44f43c4a9ca34d01fe2ce3e88bfc4a6f059f6e1fe283927e9fff45335793926a9472787a653d9ac5b1 +S = 7cfcc23518bc137b94dbc87e83e5c942a5297ab4f70a4ad797b1dfa931c9cfcb30449ba3b443fd3abf4d350b80feaa9687b39e7b5b524ffa35063ae6b4e12a41fd734a24f89c3652b449c2154099a1c7739d5db77ba9de0358a69ec99bcc626f657213a256732631461851c919a93b04ad39800f02d0e627cd01d4b80697a9a1fb0d71df4f32ecaad3f1d5c80cac67a58c71ce81e23fc8a05ec840019c834d78ee1955c5e41065b323d01fdbe81b768448b4a7388886c9740b1541ecd8454f73ab64f90dd46cce6a2329beae9f3ee0bf567b507440ab3ca9de2e855374ddf6e105b3d0b33a138d716d138ce9f9570797a82eae557cf321fa09b862e31ee8d85b +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = 3ddc491798c6d8c2d6932502e14ca0d6cd90016c219438427268a38b377c84d4d862b2e708d58ff055fb39defde7050c0462292183ebb83543fcd4358a8f1f8835e172f20776d2b9415d9f0773b50f909170db7449573867944e090f8cda53ad7de0f1003eb08967c241be45eabea7a99d42802f1be1a0218ee7abe2e364098d +S = 68a46140382dbf84b1794ce86937812d8220fc59e83dd1afa087efc41883616bfffb8283bd6dd5ee1930337951ded3be23fdc657e1bc07f41b539eb779ec98f436b367259b6841e495bf84555aff07674c9fb705c85a9cc1fde4bad40506e3373cc3a490daada1c10705177c165719104daa8ab675666625335e09a24f7a2363d7b3b878f34fe68fe01425275881c34b60ee78fcc0a54d56ac8304fc7a4bc0d5a447ab89b9206401e3c445bb1cc8e0c2541fe0f3634bb49d5af3a1b7c2e7651d208392718311247f0f15e4041a46301b93da2cda7af833d80191565833926a78468abac9eb4b02c5f047ed38851c3ed7add4edc05e8407481b8b942ab627e03d +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = d422e63e3c65eff3ee15c7eeb2ef0de7ab96a3c37e2af9c2b71d8ffa6842b504122796f5c9a5748f94b535b913851f2d64cce071465ad1087ff37be97c5d5b3038b8e2145f0ec019b22b6286adafb91a67613efbbbc633efa5f32bceee9fcc380c7cd48344c85af7111e573ec99364167efec5492297a7dfefc4a692062f9282 +S = 2bc6331715b62972a0a5dab2138c5663b0e33961063ce973e68e1ad172723bcea293f7ba35af24504cb2e373b11f80b49f79d3905e0aaef838fc7c7fb5df49a322d7c3daa294a1a0a8b71a52e2c5dd94575f319c64ef9f6fc6bbb70c0c97fa12ae78f73234aaeb93df299f81513458ecd243fca5284f44a1afcd0575dbf5f81d406236ce315e98ba4c9ef7c1d43896af3b5d172e7a786fc58c4220c27b56e5c7a9be49a40b49158305034a295a6c5743cda6c2c69f7ac02f87ed6cf7b4e989ce8218e5e7cbdac12fe7de3a5437170084ef8ce33e3530392c25a58ebeddc086685a4dfb9c0c5b91d946df65161ffbf82aa3d6a80c7c07995aa3ee06b1800a54ee +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +SHAAlg = SHA512 +Msg = 6e87214fc1a8b0116f04a45a67e101ac75e9933366c532f96cee4559c4c085b695d1046d1c806d0706d18db41d7812f5273393980b5dd1e936c13d273dacba35c446a3929e21108b361355af2d41cc84447dd5787dd21a1a7d5c188a355ddb2ec18e08a790b32104c6720535de65b6c2946e5fbd024b96f5096ade6cf2fe700b +S = 802db067a8d90967c2860c9076c1a0227560b59b66350490af1153d20b31840918e7d7262f633d37880a153b1a23e40d3cf9fcbd9c1610878b6317d9d1187f80074512524561f1c0f99f1b2ba168a15eac098b2b20673ac63f9b002e60887ff296d1212dc696450e7bb14a3efbdcdbc7f4ae2210ed35a3bf028d3eb99ab696f63a2fc69d8cce4b45846ab88943f89d588a72f00f15e1ea16d99961084542467b8f998c118fe76a2a326cb1ca3f9959c06c810a004a67cb0655f8c6202ff5e4ced43c4d8e0c3683d55607d4ddbcc0d9dd4e1783b58f51f95e159fe593066cec53b544f2391cbf0e3dc4172afd5ff6de23088404f7a496bbc6a4ce22826204b6aa +SaltVal = aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac + +[mod = 3072] + +n = a7a1882a7fb896786034d07fb1b9f6327c27bdd7ce6fe39c285ae3b6c34259adc0dc4f7b9c7dec3ca4a20d3407339eedd7a12a421da18f5954673cac2ff059156ecc73c6861ec761e6a0f2a5a033a6768c6a42d8b459e1b4932349e84efd92df59b45935f3d0e30817c66201aa99d07ae36c5d74f408d69cc08f044151ff4960e531360cb19077833adf7bce77ecfaa133c0ccc63c93b856814569e0b9884ee554061b9a20ab46c38263c094dae791aa61a17f8d16f0e85b7e5ce3b067ece89e20bc4e8f1ae814b276d234e04f4e766f501da74ea7e3817c24ea35d016676cece652b823b051625573ca92757fc720d254ecf1dcbbfd21d98307561ecaab545480c7c52ad7e9fa6b597f5fe550559c2fe923205ac1761a99737ca02d7b19822e008a8969349c87fb874c81620e38f613c8521f0381fe5ba55b74827dad3e1cf2aa29c6933629f2b286ad11be88fa6436e7e3f64a75e3595290dc0d1cd5eee7aaac54959cc53bd5a934a365e72dd81a2bd4fb9a67821bffedf2ef2bd94913de8b + +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001415a7 +d = 073a5fc4cd642f6113dffc4f84035cee3a2b8acc549703751a1d6a5eaa13487229a58ef7d7a522bb9f4f25510f1aa0f74c6a8fc8a5c5be8b91a674ede50e92f7e34a90a3c9da999fffb1d695e4588f451256c163484c151350cb9c7825a7d910845ee5cf826fecf9a7c0fbbbba22bb4a531c131d2e7761ba898f002ebef8ab87218511f81d3266e1ec07a7ca8622514c6dfdc86c67679a2c8f5f031de9a0c22b5a88060b46ee0c64d3b9af3c0a379bcd9c6a1b51cf6480456d3fd6def94cd2a6c171dd3f010e3c9d662bc857208248c94ebcb9fd997b9ff4a7e5fd95558569906525e741d78344f6f6cfdbd59d4faa52ee3fa964fb7cccb2d6be1935d211fe1498217716273939a946081fd8509913fd47747c5c2f03efd4d6fc9c6fcfd8402e9f40a0a5b3de3ca2b3c0fac9456938faa6cf2c20e3912e5981c9876d8ca1ff29b87a15eeae0ccce3f8a8f1e405091c083b98bcc5fe0d0deaae33c67c0394437f0eccb385b7efb17aeebba8afaecca30a2f63eac8f0ac8f1eacad85bbcaf3960b + +SHAAlg = SHA224 +Msg = c8ed14895c80a91fda8367cf4aee386b8a378645f06afee72f7c94047fddc7aef84c26c83fef13bf65a3c7750c91967ecc02748fd574b933d5ec21c01c8f178afe6c3356789d0112178e04c3169cfabec6e2621b334f3c6705fc1099a4bd3147a0f7431a4fb1fb80b8ed26a0af38ed93428057d154260fe98854687661919e4e +S = 27b4f0aa139565fbd7860760610f6866d5b5f0d777921f06f5053291123e3b259d67294ccb8c0d068b8dae360aad2cf7d07296b539e4d2e9b08c343286d522f7dd63c6620e8672be492f3b039f73d88ab9d22a5463cd1f07d688e8ba3fbad531b0c3870ccbfebb596ce4ec643d309744bdbd675d5841284cbac902cfb70ade6d33946d8dc6109bbbc42412db25b8c62222c5ff94f8eb868982265392a44e807474910b4b39558bbef33197907178ce146fdd7e94092ad58bf41a474e626136789fc2fe6374a1b5fefddd5fecb7f8ca5893220d1ab9e822c3ae8adda1ebaddb18a6a12bfc165d12071441a991377cee6dc8e50839497346fee13f12c5b7b6d024b8ecfdad80d5ef6e9e4996ac21c4eb6036bb51f5be5e38f265181154000824e3c1f231d18589ccdaee90fe307ba56324318b5358468e9f3913b83ab8b34d949629ed7839f8da85bdcda52f3da5a419f777b3860dbf2ffe28d96244312549528a20cc7399fc010844365806167fe43235521c909587c2c7b8db4e296dad2aefa2 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = d04be758e97644ee60a9212e5eb81a1088041aab31e428b0cd4a8437a9a3f3bedafe576e747182a1fcb84ca21f20e3b3a3a463559f55a7c3e7ff5ec0cb096192019d444fdf092a57cd65de22fb76203c4fd33d8da246e3de2b7532993bc216d02b6fd5819306e419bdf8ff365a8478b173dad0dca281840881f6294b6396bb80 +S = 4aba732c6255f0bc443939c131dd4ce64478d4f58dcbf1d73f5f0e660c492315e987cafbc83a1a0be3d359a960783d293d375ccc3ec0d82c72abcacc339f1b42207a03795be6808ba06a891e3b4251e1b3001dfb537252572a33b4c52846dafefb24aca53fc08e63c39da02c4138b3de9510fb790f87566cd14380b138c728c243543b89d1f916ce27cada85fa32d8185deefa25c323c65c7ed578ca57276b66744a7a1a78e66d4e570999d17015bdbdd8d3d6185a3eb1dec8bc3a1287a2e235e4f116a8b91d06128d36b58ed4c9a6ed84773dc49f755e2e27a6f1aea31417069bd066b848095c002f22dd6caa72957e21a1e640f9ab9b9180df8ef8963e3611df2693a7ed064f348221e7edb1a5a81acce24acc335c6ee7d4f1af6d68acaf15d77e128142ca9bfc55a121b1b13fe5bafe2e4d6a5546b8cc631bb9d304c0e9f3d6d5dfe833c346965f0103698d34a51bca5db266afded271d8490645b3f63efc991e01683211f9482d214cfa9220f7bc81e8cbb4d118a2c306709807c070c60d +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = 39d8ec4816fa9365cdf299ce60053b9c1e99540ed29d2d163a249718ba5337ee527e222fce8eaab13ca6774ca306d9e1f22f5c9b37479d7511c05dfd6835d4575b9447847a82dde536fbaffa95391e702bd8695b45377fc067211156f9adec8d3d6286d0849fd607a23a69619f68b350afdda3d564347afd2390dcacd5842799 +S = 0df81ec6e9c2f0ebe824c445009902cd55e2718523546f08ed13faf811ec4e57e6f5772037e07025c3c0c99cd9d6c885682e0eb904a3314b825948819acecd195c845a81e22ae62c13251823d6ee386e0be17a604bafc6497b7a6cdaad1a33cd5ae33bdd50e62063bddf6d12b878b31d3b7d490ce86810f9d456739bcebde592b07808350aee542455d1761154188e6e02cbda795e48e4f28acb819440bcd8da53fdf19808456898a18fba517af06b51156129b0b8029547ca9bd9436a0673e5b5cb995340fc425fecc566acc99884e0b4fc87248f5b35bbf08b0dfd0b9ead06737b67c85f94e1eac8802fea1b1dcea446b7cab8a45b25429750946bc8b22e076828a0a9718277568b9b7202a8cc3688d44194e834e0a405fb9eea46bc7e94255d600ff6c95a46ebf46449510fdb39b6ce05a20ac1832938b659318764dc0b7e4a0215fd253f5219296fbc82f03a7b95a12628d219093e2cdac42e20eba3dd5aeeb9dd7bef5d647f151b04ab85c48970cfe73ef9fc3e7d1d8a138dec3f5d5fb5 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = f7b22de3bee8295c4d8c8a94da8cd704c5541c97214390bc6f5c75baac3f40458f57fa4e0c54e61f1cdc64a6c07d151143e7409cc05874a7e5576f0cf6a53faf1571a757c0cbc4bc9b5bf0e17053e7a374a22992cc6b9f014fb580598e6476b31168fda5e4340c5b5371f8eaf1f495e2dfee9e224a6357f136de704a7a622d76 +S = 727669abeb6bcc9502d7e88162f4a6c1dfe1a0f5141d3763e0f7e16744f9063874f153cc2de48784de84426b548b03e05a9074cef6a951640eaf9b32014d97cd9f3a828b45def13527f72a3e5e5adccaece82212c016c28f9f3312853bf52062e719081bc028f70831f9fc9132e8b63824e37c7cdeba463f9034d815683e27750cb9b383c3420f122a3b7fc6e9440925a77d766f93d586161e9607beb8a6e4ac72c32ef7b69ed52f5077a881dd0e494591e2ba552b74731c18cece9905561459f4553d49acfd6cc6be027833a220429d46bcb88dfcff0d2c5cb567371563b4852b7e628c4a6432af967e8ed69c9b6428ac552cd370922a0a4b01ef1bdfdcbc9088cdfb6d9fe326bd6b2bb1fc2acfea3bcf60d1fac5880b0510736b7e201ee8f6bc6332c0756315789700350fa549009d16e0bac084bf6aa3492f63367819506bf0c4f9c232fbd7c4d4ad663a7566108238c31fed887f368666dc75a623f222d357f8e523ff084111be4db6baf444f191ad1468d077349fef8a22f3fa56085975 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = 8d48fddf28b05b42c9b4df4742ed8e735a140a6972165ca6696bf06ebea4e106f44478243bd1efa44c2b7a7c951c88f2962f450d8bc664494b671d8e70577163b86ab560ab194ee17ed5ba02389bd0c713c9489a25307dfb3f6a7273166d13c9a061be79c1af0262275ba7bf7393ee58998819fa897c2e240f1cf903f71150a0 +S = a1a4d16956d718830f625f06c42e99189e36a80523b25f0c9a7bb85568ce76d1e85e437db0a7728b8a9c90d25e6f38150208debe54e1e3f648ff01798a8ce132e4b33f3d26fa8963771440fdc4f5d852117b3ccea975da10e5d4f27af1bec1b853b7b5c9b420012317a6c33b2596dbdcebf97bef821b3076ce86345309b6bdf29a4acd391d3b2e5c4a6866136287d17cb0e2d4d6a6cf89d64272d5c01849ed57fa2842074d3b7734c4c92be50a922d0517ebb9891072b1b47a710887004b238f90079d10fb2cad7f5013e7243089f3c601865c6bce1cb8d0d669f2bb709253e3f1e421936f6a1643bbbb7d503b0631f7e1660382bacf4680de8d70e24abf4450510e6b40475bfc9fe547752d0d5f63f40f62f4dcc903fe6d260fa45a1b85a7501065aa1900a3f841e54c136d686fadbb33b225d15ae6fc348be57fc9ccbfdeb57d5cbf53e3479d9bae9f4ff859cbd3fb076073ca016ad94086700cc85aced83aebb4254b0cfc814585f930dc623c7f85e89de6a554b9898918d7cbb4cd2db075 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = 4753183ce5607fa03636db2fdc84722aeb9d98a6ed70d0282aba3571267a189b6aa6eb65871c5dcc59dbc7db8973c7c355ba2a2e94c110d1f4064a4087eb07077e67b0f634fc10bc6ee9b8b8e1a0a20bf47a14f2c8aac75375704995978fa0b50a003096f1e8df99fdc8766eecf34a2a4f461d9991133fd5355ef8175f4c2bce +S = 2e078b29b5288a77ed25ecececa645f6d9298e4294e3ef08173cc37ccbf727ac9b092cd27d6fbd378fff7b1061b56ed5cf077fd1a227771f58cbb2c1195a01f830f0366f989aa2d0c486d441e112daeaf83e85958f65a9e60a1937d2a7022781fcd1a83b3f7641a743001ebad53a4669405603ba0393bcd94f64324f1b777068a3ab101a086a6972b2c11376307e7d2485fbfad85be7171d20a5251cf9a5f004847d172c77bd80fbac0870a0b6bb9733537ca72bb6eac351c21588287c317625a25f416129e6f53c607ae08f43e5e0339740775a531c720f3f731840184ac7cd3b1f7bb820ff30ba7bb120b21b4bae7f9d7fc34d7418f700b142cf8fff43d81599236ebabe93d2e89f4702fada8742dc3bb4bc8fc5e55b4f874ae59f5dc9636868828efbe1025a8ca5c61ed8cc832686d5d00c08775590b316060285dc5bb9d32c90a474a727ddba9e7a8b7d69bae555604add9de0dab0eb0d551bac067c0088523d134b2e50dfe3ff73eefed934c0984aa4a5c563b862d46ed957ec3446fd24 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = aad03f3aa4cbd236d30fcf239c40da68de8ef54dcb36f5a6f64b32b6acb6834e887c6a35423f8bccc80863f2904336262c0b49eb1fa85271ef562d717b48d0598fed81a9b672479d4f889e0ce3676e90b6133ee79cdea5990e2e02db7d806db4e6adee5ea76cecef9119e8393eb56beea52d3c08ebdfd7677d5a1bbc5b6543a7 +S = 1bc325412cc952a8dd6918db8fb08192cdf81bf4111cb5f0a580a82d4dd2e14d7445eb7cb94cca6da06d2b5cc43e6ec22a5c9c845d99ac0353050c1374866befd9b6b849cf3b0efcc644ce17cca0dafcf7700c9c7d870c1e14511651b1d03a535110139c53b55938cc4a471d756a55b50d1bd280c324ac4dbaf526590c48c197573f3a91c70373ec62bd168288b0d163a09e623589d1ca5a70d17aa54c8627c7a64d921aad12626f7d32d61e8f14d0aa97c2d6502021e70855581f5e353e27f96efe1bc78c7fbaece66a560b93c0e7365d97dc4c729235484abe10bccae99fa8db9425614b673d5bbc188ea8f465424f768d8031f7eefbb698f058e1578ac41426739410aa7eacf796f43a4e4b2b4a463984d3d17d6d667cd15bf2e2b487aec3493440794c09908545f416b701a130f08027b8bcab4dc4a78cf4a55a688b2e1ca3a73a08ff0ed890bee4a0fa858cf69142f2f765400e7c29c4b540530a054641961499c709dbb4f36e7e75a5993cb3ab8cd4c886f6a3f5e3bdd3d68ef0a77750 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = c828eca460b39703696750999e23486a432d80000882d061316b2e3ef4512d6d22d2c49a0a1551399b5addbec8d5a21131bcca3cff9f7a670ff80f075403a85276cfe4f6bf95ed0a384ab5450f707f6e3c31a21364ae897efe95ffe5b4f1a9e10c47d42147de72608a5e5e943b9de869aeb58ded015a068d446a8540ddc63b02 +S = 799450a1256d245df0bb7d5290abcefe69d3b0e3b94924072f2d67d53a966513955fa7a01b830ba2cbbb056716fd605a0cfdc05f8ff58d88cb1bf32248f117de41ddfdc466215fa4e704096947a2dbe836a99071ea7344be0ffc782d14f995e4bfc74dc3ab1fa96d7223ec456497a2f51e1eb199f0464d415aef00f841e39f4578a0c26d726f3065ee687adbe40207801857160d440151fa374257eaa3f777337d129dc8b8c701eed56a276ec90c03df54305f300ef8c51155db30b68c0b06dae4c4aa07e75ef0fb09299b2b04d73d0b3e874ea1b6ac4e16f1bed0cd8dd3cf958a27e14e09705d4f0e10f8d46c75a195380126b437c68183e6bd39097e2f45b1184f519b2eb101110db74519016297683aca4b461cec1d92a7e68cbf30c2bb0d96c3b33dc62d278b9a640478258c3405a6ab5fcef5280408d4573b7ae42408b9c40483768f16a01c9ee4163b325bbb8e377034fd31c787cc0db8a53f6c0ce93e7d854411a136e1013d69fd03a0171176dc0712640ef2f792c340eedd0d07a8e6 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = 87edd97182f322c24e937664c94443a25dd4ebe528fe0cdf5a3e050adfe4b6513f68870cc2fdab32d768a6cab6130ca3455d8c4538352e277de7d923d7351826c9aa1d2cb52b076c45cf60cf0af1eaa763839b9ea1a4e6ec68753cce5829d333ed5ca6b8a4a6bdd6606fae5a0b05641680eb1fd7a975bc97e49137f3ace86edf +S = 9cba01f79f3551acfccf56e74428e270949f78a00b4ff3507ef180ce4c78ef4c53f3b7347ee37633c653aaeca834fc004385f87798922c53f8fd741cbce15de8dcae8bb04c7d481a823eadac7d4d4546fa4b0cc7e25e67b166edde4b6f66748017a4dcef85952cbf37e802fe534ecb984cb32f446c02ccb60e257a18ac368c2d2ed21975093499e35880930f8529790c1c7762ae11526e829dc0621ac904b822ba4815d8f83ac8f0fb0f8fc11bd33b02aff4e406f8fda5efabf39e6641a791cf8241b0946b675fa48d07e48639cc1ecf420380b8581a539a4de60adb0da22e10ad41f8ba6af40d11e2720086a63db72a5d7fbe97929ab23cae1d75c485d614ca38094baca699e47200f7a792292b5c7ab95b960d6921f8beab94d26f9629d8702c40df696787a6fb6ab9d6f3c1240c2fe58c565c9328dcab603897693d9dc7dcdaf500850711e6f30b5d8498a38e348469df79c3628fe1403a7649e82f06161e0ece42479a56eaa845f0582cbf817d4ba7dced36e93a6dc7dc7362f658f06461 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA224 +Msg = 02a1a65f8af90a298636fe8fd31164b6907d74c8d38a0ef59a8a4eb80572625cc28398bec829bb544823a06ee0e4fcbc13397811f62d08662b2a782213604899406ab9d2292f288d22079b848b209af2471f4052700a916948650e86739b870964a0312216d5f8dbfc2c16593a8ce55e1577f113a8ea5205d984396d8cebc8b4 +S = 740eeb1c71940ccbc041cf204469bd2d6a461558b1d15c9eb23361cd55e1ad418a7d2851ed3d44f9c02881a22f9e4be042d451998bc181887950da38246dc1656243db15fef359fe50d2af8711b3973a57763bfc3964cfe3c911b937572e639aee53a98752598c4b15dd53dd9355aee866d5f1e48137c12c342e8f274690b7b277acd087f293cb8b8c9a3e4b3f0277e831a6864e503f925557511e57b5285221421879696802066587ce6f993aacb70dafd39f63f09cb3dcc28e56782dbfb8b4ccb1b19876101573ee9678a5f6265f808f75e7711946c27c7a22dce9f592acddac81c67afa17bffb766058e2318a1211079842bd5fc58f9cef4b50ff0ee1a293f80ac1bf2eb64ce4e1051e1abe55ee067db6c24130f0bf4c134b0abf1e2f4465dc50fd3799f6dc206b9a7d2fe34b4f4257065d7494ae733c28d70aadb057ce1bcff36edf9f9ca6908cac2141845310660ab759d1f3e651dd9fa8056a624efc714f51f3a4f85adcba68f4a58e3a956af93a5a52f2b89f9c914b48e8dfb919cfc6 +SaltVal = 3f805057471aab0a28cfc8430dabcf990612e8a908b158ae36b4ed53 + +SHAAlg = SHA256 +Msg = c16499110ed577202aed2d3e4d51ded6c66373faef6533a860e1934c63484f87a8d9b92f3ac45197b2909710abba1daf759fe0510e9bd8dd4d73cec961f06ee07acd9d42c6d40dac9f430ef90374a7e944bde5220096737454f96b614d0f6cdd9f08ed529a4ad0e759cf3a023dc8a30b9a872974af9b2af6dc3d111d0feb7006 +S = 4335707da735cfd10411c9c048ca9b60bb46e2fe361e51fbe336f9508dc945afe075503d24f836610f2178996b52c411693052d5d7aed97654a40074ed20ed6689c0501b7fbac21dc46b665ac079760086414406cd66f8537d1ebf0dce4cf0c98d4c30c71da359e9cd401ff49718fdd4d0f99efe70ad8dd8ba1304cefb88f24b0eedf70116da15932c76f0069551a245b5fc3b91ec101f1d63b9853b598c6fa1c1acdbacf9626356c760119be0955644301896d9d0d3ea5e6443cb72ca29f4d45246d16d74d00568c219182feb191179e4593dc152c608fd80536329a533b3a631566814cd654f587c2d8ce696085e6ed1b0b0278e60a049ec7a399f94fccae6462371a69695ef525e00936fa7d9781f9ee289d4105ee827a27996583033cedb2f297e7b4926d906ce0d09d84128406ab33d7da0f8a1d4d2f666568686c394d139b0e5e99337758de85910a5fa25ca2aa6d8fb1c777244e7d98de4c79bbd426a5e6f657e37477e01247432f83797fbf31b50d02b83f69ded26d4945b2bc3f86e +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = 60402ded89d0979afb49f8508eb978a841abc2aec59cacef40b31ad34bac1f2d3c166611abbed1e62f6b5fbb69cb53df44ae93ab7a724ea35bbee1beca74fc0188e00052b536ac8c933bf9cf8e42421a795aa81b1bc6b545eaad4024161390edc908c45aae1f71b4b0228e3104048d816917cba4ae7f2afe75e7fcad3873241a +S = 5f183009708b379637dac2b14293709aa6d7e86c267a0b690a3c275031139891267c64e5edecdff14c2cc2f2d985b62f900aee6e04ca51a70a5f946463691cf16c2d45547c5374f15bdb8881641d3040ef57807532cf5b2ced07623d0f638b39ebc2f2ce283eea2247e1df3af5430554d1d4b88b7b21622993419971b7d0d5449122a10fc31b2ddcc53ff751ff4bf4d336fac667b646780272db89a3ea4226afa20877bfb86ba3ff4204e5cd56e13a1dc9d53f5c9465b97a182b2bf671512ef89e6c3969f97307a3e4beba39a78e0ad1bb9799cda92976ca39d99db4ac149c84bb9bc8997e8d5e056d67ca23fe4be28e66c4bc00a25d65bb9d7d623fea2d3b9cf859dfd9efa9e52268bfa297afb1cc2883db0c9c42fc04180e2ec6f49657c7008e4025061f896886613895a35bc2d3655a8f50a9fca2ac648f352eb06bfba2fc340aaeead4a8457c65e2e8fdba568c60a6d8d381f5d9caa30127771f4a94fdb8cde7be4fa7b4f89fe379dd3e1ca66ae1fdd63bebdc0015448e61ef1666594b8f +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = 2f03701c2fe07d47f5fa2c83a8ea824f1d429ce4fa1df2671bfadd6234ca5775b8470249fa886dc693d2928603b2a3899b48062a9ae69e5196da4ceb1d87b5979dbb46a2813c76369da44bcecc6f20edd753a51099d027e1610712ad98cfb418a40643100b2522ffdc1760454b4c82e59b09827e4102177e462a3792edcada61 +S = 8291bc1be9c981663156ec80c1ed1675763de06199b9f2760caaed5207fb4b3d6037bd08462b100bb1767e3340105b1a68728bc45c7d6fd078dc1b5e7cbfa193006d52f67e77fcf809cf26172a46db384eaf552a5fb8e33840fa3ef3d6b20c7b46c32ef019e8d15dd38eab66f6e40399ad0bbb07f94b8c555196901c27e2d4573958f53060d800cfff40c602308044b75d6451801c688d276525c3fee17a6792882a074c8a41420109e2511418c9eeaf3ab47350dd8c2d3e066abeb7913e08f0a40abe71d397c3dddafc41fbd04cc8fa3b0641bf53a90031b61a2a9b63d8ed8aacc9b301593c9f425105498cc4f84627f4950758e01a291b9b1a33ba918aacc172b68c9fb2c767c65910816921281aa8e5482512cee686e51cabe88e18f923fde170a506ba3c340fd1d68261986347d30d124931db2ce17602150000b794c050e137f4ebd45cc41f70ef3df1656218ff76f2e75ad96e4167eed524fa2ed9fd1a0cf76926f382ffb16124dfc87bb1a4110928d5b1cd3b16204ceeeccb7db88fce +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = af90f131f9fc13db0bcebfae4a2e90ad39dc533f34165e3262bc23ffe5b20450538669bf6a5210e1ffe4a583381d9333fb971903a68aa08901f14c2a71e8d1996e59889a36d7c20cc3ca5c26fbcd930128541a56a7926a8ae49a5ae786c4ef2de6527549c653ce6440c80b1ffc06391da65b7dc39ff4643bf3fe74bf8c0c0714 +S = 8c45e38eafaaf10a710e131bec63e51e67741774a9ddbfccdd131a123ae2a03067e7a6a92e653a25178bf527b93d6aa83fa366a2bd44896baa8b7f3f54830e4d9f5632c2d1bcae2aaae8c55782132aa7279cf1cbb6b7a81e4965ff84635c296c5ac206a04680e91e7b1ee7e5793701b1feb832250010d4ad4017c1608de8f405014ca73c39adae7c4adcbaee35fbbc71151cf955acecd8083677fe49ececcb62353c0a89c9dcb9c507979b56bfe060fec45567517c05f29e262df50767df7547630d8a7b32483b923bb1e3d510422dd4cc2d61a647e4f9636aa7587d4f8ed84b6174c1fdca9a217d9b907972a66c1f5a2ec2dadb60b93b515bf74072d315d17d54d57d721c8f4ce1a43eedf2025e51a48e9ea28160cf300d7a26010383c3280a186c44a53b7188e6caa364bf4dbe0baf4dcbe37d70e3a475cfdae339386558ccbc119873b1863975e2300ede1e420031b4cdac567e7b9c5d575c8bae27eebb37097050acdc87008ca2380f5631d190029a1d712acda147c5c4378cb6eac81731 +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = e57debad3563fa81f4b9819405e41f98a54096d44f6ed119dceb25f8efe7d7329054de70173deb344c59a710cce03b16af9d168f6745eaf0eb07f80916648e804941ce7e583ab0a8a43a4b51844850edeaa4d7c943135efa9e770e9411a2411c586c423fc00353c34483f5bff5c763079f7e60eba98132213d64efffa94af7ed +S = 851dcd2d4e1d34dae0fd585af126be448d611acaeacfa34f1492aa7d1caff616707dc31b05186cdbef769479243afb341577803b579e105070ad5406a6744f56e55f569370b9fcf6ab10e1aa0383f9182d451afb41358a2f8c29d1a571e11c404e6870cbb04f6ef30414d9b6d7f1416bacab0184eebd8deae72f2a48bea3a7844a8bf472a5f8d349d5973ffde3b1c40623dbaabd6f681485a9691c9be12618bba393b396f41cfeb89e18e378c51f147c7b0ededbc403bb1306454848c9bdb89f947843d0aeaadcdf09bad99efb76e742322521929f034dadffa483958df58a71af7da45461fc408c7c45973fc60c37a6358743315169b3100d4cd54f810d6e0369b9847ee38795cfe58443019523c3c9003edec4cdaa70de31d00958653058d8509907a5149a9f81be0ed028724f7232b57f93dc62ccf093a2635ee1e5bfe6ca9ea017ffab79182eefff542d278c471e1a2b34231700423bd0e757f6a572a14a99c90329dd0701f347d8a679cff25fd6b0d380ee5dc330d6ff1b4b1a347fc98d +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = 28db8ffa55e115df7f188d627cd291fdecfbeea1109e1155e0aabc2157f7fe2a1284611e190365d2fd972d2a23dc793a5f28d4aac4100f5fbb2eed57532220d5d8d774bfa7084b44400249c19dab50e6c3c3af15966a960af1e2cec1f697a694a35c31a5a6f8ae7b73e148f09347004a3f54e7a82db390a0aa4fc526e95d79af +S = 72c5555111eaef954236163753674a6ff81f182cbb379bfc6b548a52f9a5f260a0ed58f562a6086cf5ed00ed30adb023e90076a8adfa17cfd7d74f1e7b1978b210da847eda6b49891e6bd3fc6cd4c87b9326e8481a16c66e40021e5f878c303d3d8532bd7d966513717d5499865b2d03e378e76f7940f0448ab4d112e3c52cb332d340af122de3ee849f2e2544a40691ddf701d902bfe629766b36d82449286fd03f75bb2632dd61d6b3c6ce1c9ea8e5aff92ad2ca95a950eecd998e495e90e1f0966f922b7fb3f03380385f3b143ac1960c3bb688adbfd91d8fe1a1c32160243d3bd231a31c95dd78b6648c1175fa9c3c1244b1fa34d7c6f3255853ebacf5b3ec19b864e0a4eaee63fd719c21a72fc25b30b03207cf2aa45fd15d7102e5bae90882d00a812959593031ea3a436898582cae5eded5c7ce43de3dcac30b8690631e8db9f7a0a7f3f67b7524db275aafe02448727ff629d13afa94801d37526fbd9176fc4c216211037f8ec26b4f2672975887d70bcdbeef1e6ae99edbfb6c9a9c +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = 4839d71aabdad8b15d9f37c3d37a346758d8941b01c83909e460f589855ca0e691096865cf62698353787e7ff517561801a6ca98304f6d11d76065e75ff17a8ef5c86d9582798be4ded181424175721afac7477e6309476c14c5e750576ce3cbdc3d8db3ae68655b6674eb149fdeb1f3a903b4d5823feca1015722cd55140224 +S = 796ac3f6adf4eabcb7a528ca63a6168ca6d31d5e357ad7a3fd180334a90d22bab20b762d767a6e3077c2cc8732784e81330041dc79068d50753bd4109c9c6f9ba03b5ac44efbcc23ecda27948511645fa17897dad7c122957ae56bf4ffe3d7bef85010b33d3b91785b0427417d94b11f73fda90e6a8748e6acc1d2d582e8836bc7dbe196876a9545b2a3207c1d4ec28acf8fe6f24c240b56ab3b4e4313a3d951aa1a558230e5f1eaf38cd7fd9b393d58d359f58f4ae51dd3971b418c5b81d0707cd9e2c33a148e492e74bfdd565eba8b1f3935e37a9d1a8764cd30497066e3c4622611fc14c45bf46fc85b3ed3f6c9d4d65e9925fe4b85ed30ec35ffc69c5fdc2bfa35d1bbdcb20e399cf934fe938f4c5798cf091d51100b4db4be42e81901e5dc79a98074119b7980b02821f4c3ff8ea07a2fc09a701978364bbd00ce4c5e2e45629526e34a3652719d27a47371480daf52fa49844f6495f35e6f5e3116c00b27042b3cead283bfc577905f8be87f0d5daa13d1ca74203a9e0d9199e885f4fb +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = c0b8b24f4b8e0bf29168ba73aa912c97121f7140f3259c40a72a6d6f78da2dfcabfcda00bea48459edaaf7b5fb5a9aed2e6d97959c393cd1a524a269c15e8c207cd09142be4f7e7d5016f6f19c735b8ab4c0f28e96954172af3cbcf29d65a161391b213dd5f7c006c294fe5016423718abffc8546ba373cdcb5a053196573564 +S = 8503b85dbd9eba8d6fc57c6ae2103a78df1fff3600585e3e18f6ba6436a3acaf8e49fd12dcbb37c25b4b765037f545c3da8c39ef6842bc9ec264af6f519272f3d8698ef2ceac55393baa9846a7961b738e41f6360053d866763c824bc5873da14a28eb47d68d67f0cad7880853aeb561045f757a31d9f5c756f54d793637d721c88fb1f60126d3d16478f1fc15e0c4edbb531c2ca2e2fd9e8dabe1df2c09fd55bbc724ebeba290a7646249cd779fa1a923909b29345e54a2e25dd935bf0612a5580018b233d765a6fae3b46ef51bd8325912f439a7dc40148fdb754e2d866f357b8f0ebff6f18a6504ba31d10fe45226c88c9207b9be3c63261d75270466b43c271f75b1ab3c1d6b5a00dda8457b4d5c2195f320b0bd545fdd0679c84483c14a46b4d43c8452879725aa91d01fcc2c3867391c72200ca5d628ed9b566389f02fe74ba2a428a7ba31c00ef6b8d38c6b82b7379d2feb11031848fec0fac5b6091eb7607138bf0b96c3d2c174b5713d0dc8470b532eee6ea0ca1e8ffa3b15cbe0bb +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = 4935eaccd2af7c5b99405471bed9b21da8965004f5e6f2a6b7ed3ee2dd26cebcef4d845fff7c1d5edc94093f88de7a3aecf2bc3ecbd8c435f56e0b89bd099de7ac5f6c4377a5eb1c2ff4d801b8f159547cad4b4e60cad743f8e04627f61e1652e9354d8024710d1cfb2969be365a77f2bf8fa63b9e045257270a96c572ad6285 +S = 66d1cea94b9603efad92b6ca8a1fbe0c6c4b9dc60ec0ab2c33bb62d27a100e839378a39208715de2102eae384ca407e92787ce1118f91a0ca2640a5c93fdb78635bc91082c99968ceab289890b3ec210d6cc6f1cf7e0fbe2dae88155e88f2fb7b325ab5e529e4b63493e551c53ae38c3fbfae49810050a81cdcea627da21b63224612d4361b9df19761d6ead44488dcabb50127149f077c2963afc049ac8837ff2c29e6a35593e22531ecc2e9ef8bcbaae4349bd7227ff3e13b31bb929bbd49e50059f28fd9ffe8c296a056c2760e5f6d8dab43e9bd557793f0759ad8e08b5c3773a305a0d316ff9bd07b43106335942055adc461a4346f05ab455780f32027de8b8bb6d4845bb24d0c5a21c293d2b0740e8d06ef5fb9dbdacb4fa1c6225fd4e19dae69a8e2cbfdff1ef8b7f21804ead0a45274c735fccbfa1d60bf497a3aa931bebac2e0c8beda9af596dff0cbe11e8d4602d36b2f6c6f5bb80f12f4b9daf2c0748f591098ea63d3193f50a1f4737efacb62ea85fb6fb212b3ec8effe788e55 +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA256 +Msg = 3b8a68da11b61b5fee1c2ca00a6aa35bbfdbdd42855b284320ec8d0c1848edcf6ac850427d8479eb57bcbe9a11771637886974bd561a5387014592cb717e8364a8183fd4ad463c89c980215ff629d867956ee5e75f71f7a19ea7bd589d7efb915d44dd9789448bc1ac32fdf7a2c911734db2dbc589a83c1a61dab6bd83907ede +S = 790058355d7ab9eccb46ea12368f3be9cf6b895e1734eb20a13c749557b9fecf92b316870f0f765864b607439ee5f7e510e2c83b2756a0d9877b48e0cf257b13c997b9dc70421d2d87c9b9e5625c36a17e21e20ed389657a3e544c677464eefff08a9ee4adb091a9fbce7626cdc127b5cf817c2a5f069e32c720bc2041cd21a6bae816dbbbe28552d022b7b608fa99da4d217dae8a69f54004fa3c004d50540957648296e14cca729f791b38e3645204c2c6d4cb678b0db63a181b40cd9851be84629a068415d54cab5cb5244c8dac8dc9799a0df1b58cebfbcd8377a391778869dd275e0dc8305eb0351d81e3afa46719355eee4f90894f7fed662dd3b03270660adff637b91e18330a4f3a62c914f0d32b4eb6a30b79371ab55190578a1e7d43294bb0a721def7dae3e021981707930bd9b5cb58675851c83acf330c6ba3aecb3a890ad3c151a1e2b583a7dccbf204850daa9f4679e759ec056abef7ba4d6e0bdfa57a5c5afb6368b048a2b74e3530bfa8991c55de7cc8bbfa990d118ada80 +SaltVal = 3e07ade72a3f52530f53135a5d7d93217435ba001ea55a8f5d5d1304684874bc + +SHAAlg = SHA384 +Msg = 9221f0fe9115843554d5685d9fe69dc49e95ceb5793986e428b8a10b894c01d6af8782fd7d952faf74c2b637ca3b19dabc19a7fe259b2b924eb363a908c5b368f8ab1b2333fc67c30b8ea56b2839dc5bdadefb14ada810bc3e92bac54e2ae1ca1594a4b9d8d19337be421f40e0674e0e9fedb43d3ae89e2ca05d90a68203f2c2 +S = 9687115be478e4b642cd369392b9dd0f3576e704af7218b1f94d7f8fe7f07073e3e8e1186fa768977d6b514e513459f2373df6ec52e3de9bd83fcc5cc3e6b97f8b3fb534163c64f5267620700e9d8c52b3df61a7c3748ef159d6b390895afa3af59109a5478d016d96c49f68dfc735ba2aafd5012c13515ed6644f0d4109c45556e14a3821e1aa24beb8a81a48da27f131de84f7ba51581d81b8ff31ba92b8a1fde867f07e32e6c2709253448174dd31324dbc32b05f07587f76a9997decb80f38d8c13d0f6eb3c10e3d96a2293f7464f1e04602ef6e84c2d0245d7db256a67d132a47cae9abe06b61a8968f50a1749995dc15ef0dcb1d5f5959e4d454c8547bbb4d195698f484617bfd122acaae2d0e8c76d28b24005ab03caa781ea97b1c4d9396a16f7998eee7ddd9de4cabe57032d9438a5d99c6b34a956122350263c7e998bc61dec91381012e686d079e39e96b1ea4bfdb7cdf630ddb422c6b580e5506c9cc3d6c100f2041d17ceaaaa54589249f04a1370ffa3bf3ff1adeb890688698 +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = 752a9916f449aebf814ce59ca6e82fa8038e4685419241c1488c6659b2ff3f7b7f38f0900a79c77a3b57151aff613c16f5020ad96ba945db88268722ca584c09b4054a40c00901149bb392f0916cd4244699a5e6a8c37e9621f54b471166797a7b58502cff4083140827052646501f5b5f1bc0b4e129147d7cc157cf6e73ec58 +S = 6646a88ee4b845da4931274c23840dada6145fe0af954829d1d56661546a25e46316e216bb6b9446b368884ba14969a6f68ccbc1cf5b4e7a6d3aabec67f64963f63b088fa817c855d776ddcada57e5daa50fc1c877389c3cb9d99095a869a963bc91ec24b2422ef6b8dd18fd20d2b215fee6e98cda415ae44d2d2616fe1708292a3ef50a075170b3a7ebab02918ab0301794c17fb35e2038f369d94dd49569c066f7c392889dc4b878c50c7e52586b5081114d202338d23304f16f912d519a9ad21baff0e3d21761f373d08421e10108a983048fcb90eb2adc7c7f12ffa1571b091c781b255a77a880e97975f14f42baf5aa285ecc142157c3e1addd6aa0c09253a11c59144abd3b1e212d89e27ed96fb75756afc20ec67423b151194cb0b0648c659987a5583cb7757779d8a39e205e7101a5351ce1af2c9c6b0847cca57af52593323905e3d2297c0d54541a0125621640fe1deef13e759f8f6c56a2ec2a94831ac2c614b911e79edd542fef651f5a827f480575ae220c495f2a2842f99ec4 +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = 0403ef219938b8cdbf85d3b88cbb9c60d174134e43a7284cd87936d37456cdc3c541b4566b682e575dfc7d8f883fa581b9df7257bc82bc1bc6a2ea2a109bb5e6c5022fac1e390306cb40fe2196cece8143a10af3ba1273c368ec7a30e27e021dcbef6609f9d2be41d3fa5e54fd90a0c83862e40b837ed4ac8600edcb31283bcf +S = 0a217503fc4870481264d8308292c663476b25f8dec08ea1d1276f0951ec6df27aae3beb93d630bf8fac08b6cce50bd92994851b4f310fdddce8e0d6a8b7a1e866a567b298c5577dc50d8a906ab1be880084e681b26456279149b4b85201621c445de13d127fb77e7f236c39df34052b4629572abe1c02c09eb198188003dd852f88f4f767f1000458680258fa4b63dafc761822ca8b98c1a121b72b1455393bee416d24051290f02a28a7b49b18b30ccb29c26fbac991401a3a6fe01fcd0608920facae9d5bc56540c80f4740af02c9b7a078958a8d8a7a93a5e5b6d2571f49d775ef7c35a6d674290b52cfbcd67277e2b2e829ec437fb70e90537eaa6fe4548551939bfa98fc98e235b264aa6064a505a8d67946e2c33e5c6f0f34fa86ba65715c258f238b69e4f6e36d86a89822b4802d21ba0ba760b2f3a5bd061f50aaadff12e0d86627294bd0c4cd1085b5dab6a6ab30146c9bbb37de3ac5c4f8ee29736d46047e450cfdcb1279e4ca83ab69e858741bfd01a779d475dfc0f71c621d78 +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = 453e0835fee7cde81f18c2b309b804c67b9fd9e96ef0a96e3da94b640978830e5cd1c8940c3d4af763f5334a7caf2d20f0b82541b3434fa138016b92dcf14638817a833d79b79bc7a71223a7e0144ed4977bb217ba8d4f07d7adcd38832c05b0fc61c39a0dfcca3f32971931fd8e6dc9b81107d44c77af8a62d5f9c0c7d0c75e +S = 6ec22bd58c32d41374c017a77027e770f678fd81017e20cdaaab48a8324b050749e5d864082f1f77fecf67a59c2885e931c3c2f58130fa6806fe1ca899045114b09d09cf9c513ce1109d2210511a3b2e93af511badad2716f48555310e6c5f547afbdb0b9a684491ff3588df933d6b04dae8883f5f8aad62a4570646f72f3656c4a7085623f5152164a81a06ccb59ca478c5c2315414550b0ad8eecd0328b2db01fff7db0f26596c41f970d032925887f1c8a446da889be64d48925b9c6b79a3d897700ab40af20b451aaa6b427ed162864db89f7824b6ae9b475b5433b865335d6f91491c1e32f635cb930dec1aa3ee7ddaa08e8ebd67b6b11a46ba049922446fa69f1a804acc29f6cee487723f2e61a40007865d80cde0119f3fe6e161a339487f5789e1fd23ac0a63b4673969fd8722e3edc9439778928f09610cbefbb42fe6242c73b68d466cef889da156d9d4ff888362db4cf9a941e80f577c944b79fb27dbe0a6967e88f1f67b91b0d38e083fc0c0228cd49d27352521312163f90fba +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = 9aff46c14fd810a039c0a62eda403f5ca902ac41b8e225c6944748a36cb45f8a769ae2a18f713d362206d2af4a1742bf3b1de8e0de69a7fdbb72e66e1c6ed82a6f1f0138edf0f6677940643fcbfe5337cd76ac29456af902b5656dbe7f4c24944d36ab6db07dc39b081662c8a31dfb2c29b4ff04370ea43f4ac7e57adf77ca2e +S = 62a505b3f3adda45c6badb61b464a28bc45d4c66159a34b63c1cce32604242eb8fcd9ac6929ec6ee4ac1144932d725cbf4638511464ec70dbb5543a4487a241396adb804c9794b271f9d35310ee560368d949a20a2b64cb4617fcf63cf7b60978cad734650dae86c7e51b766522ef0be48bceafe2030564d5b7b17ba125097bdafee48e4df60fbb7ac2d9f14af9a270c2b7ef18cadac45b9b54ef230794339d279d72ba48783bb09b1d1d5c1c65301276523fe90e63789ffbcd489e45f8aa9cf98f33de8f7d9c5cdd21a9ab2847896de6dce0b92f07b1ffb4230ee71ba1fe8048c22dd38af80f8762e747cdec6e99f1ce0d1c743ef98ddbaf7c764412446dca58e6ff5ac0dd13322649acbc96f1c5e0bc58d1a8211853a7d2f51538c5e5e803de0b13044608d6e650bace12945a7008194586e3b74809714b2a52e9f3824be41de9fec3f36175a289baf9fd68b7e92f3754e00b41782d055faa65433c25259aa653fda069386b083fb31aeec8e30c769553f8f0389b6e6d4b392cadd24ce3f74 +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = b50bf2767250f14fa7b6f5ea21a54da8d01e91151eb491107fd88b2d4a5aa157c72d89ba896b87e0fe989819442bf0213e4aa7fde8d6b026e7a70ae965193a0e1bc7f8b8af96298c41f60d154164ba678333c903958d4ffb50b50f57ad8eedb6da61a6398ddbbf9c9955bba6bf5991c4c6615df1cde156d8e188003dcbc3a399 +S = 1f068bd083a26534040f41c1387e71a8c00370c5f1c958127e0bc721751b5940513023fad02a6101bbcefaaaaeea2875952bf859d494bfb23fd89149d91290359ecb44ecf2fcaa5775e2e61e5f8d5151343576fe9c7167e919a5d081dac6bb8117229c420fd2b0fcb521f4e72366bfb443e688a65fa392eaa5115c292ab05bb4db65468aab267178653dfa0a5efc960636fcce86433528dbce955a0b1aa188ac33ea128206ecc0feeab8f7df6f8c381b10489c8cfb2d02459e4cffc16f43a66aa4eaa19bc518ccfcf9fc1e4861cfa13e9b41fcefade2cd2ebc001ec8430a1cb949a0f2f876badc568c703e4209e7ca16f688ba9705c14fa1c882e6c4871b9deff31521d2d418e0342e189c40ed19c1b6f4320d89a36f78eca143d3c16dd3eb338c0743646fd314c725c2d36a13080bfcdeea0e431de71d61f652033a75424fe1e1586695c3dc463ad553c1cf3ab24a41ff4e031f9e0c2cb0024cef68273ea3b8c1be9d923d3e9c9686c41977ac7be94a6d23181936131c17a39a898c943dcc8b +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = 5ff000f84a951dbfdd635a4d9f1891e94fc2a6b11c245f26195b76ebebc2edcac412a2f896ce239a80dec3878d79ee509d49b97ea3cabd1a11f426739119071bf610f1337293c3e809e6c33e45b9ee0d2c508d486fe10985e43e00ba36b39845dc32143047ada5b260c482f931a03a26e21f499ae831ea7079822d4a43594951 +S = 18cb47bbf80bad51006424830412d281c66ae45c0b756d03e5d8d49f73037968d13df46ebebd9b5b4c58b164d91d0608e8ebe31d8644cb0bebfaa8e2ccaa1f5746ac8f3bc02ff6930e219f53fe13fc070f910ba1cff0617aea6eb312c1ef285869746673ac1348e89c3646f583d7633f5a2341626bc2e7e2087ff9d8f13d573dc6455dc0068c7ac6eaf5b3093b081614f7b252170c4893891e469121fda655a2a55d67f5df0ff6e29ce5f9b0c3a1a88342140ead748edeea9706d6570e900f1cf3a9adcd7ae64f207585417946b104b3990d1a2d950e0e6a5533d3cfc8c470250e4c797273210f248b8922ab00422f2ecf85aef73587e8c5cd1c2ee6ed9509508409673fe07ee2c462c52d091e7a795d8d3c55fdd5a710d5450695a5a31ed76f115e71a73c6757d2def7ef472571b0bdc7558c71eaefeddec946860b0c77936db31f2001d0499a381e5018870b41ba04c8d42ec0dc55c9fa2af237dc1c405dd8f555b07a237cc50cbce46c3016118cf4ea06c047599283ad4719d647a225206e +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = 531dc2b8566e01a8bfc580da607ec212fc1fbebd5a2590d897046f0ec069df20a1c2278ad70006642d9ba28625d7c1efd4473b68f38fb064346d762bd2fbd5376c2e77de13a31a32a29b88264d44c9f27d3a97b8dc4d1267ab85b5e05c6389575d6a98fc32dea5dbc6cc1a01034a42e1a000b8f63ae720a9a7511474872a6148 +S = 80baa663877615c2e7ca9dd89958a74e54012efad55ad05868dd74b0ce78a661e2b893c3ac1fd837f282327efe4b041220942649b5472c1ac702070787ae5549398a57653d5fca69cd5446d63f6e9d0684925a235acc96b8a10bdf14fbe209fcd4930b5945910d84b08867b2055fe8eb1d771b753759593b90d6aec5ef182cb33bf2fe29e8c67ea4e8433ecfa3f9ba4ce461f0ab19997f299e95409af97bf57e2de410ef7538f699f385c1abafdf9337f7f9d268da87b2b389131fe3dbefd8c67bd2a158cc4e04f9ab7fee2a58d74d063e6c16958a90574e3e4cb881d32c3116987e46bf5bd44f80abe6b9eb717a9fcd4c0cfe80dd2ca62c33b5dd3a59c64810073e0476085ec7b76638983291b69559c815cd3bb87d4b07e24c6b9ebb7028e800a04f09b110c167f6ee3a3bbb73695d89bee92407d4adcea3eaa47811e23f8c7f2fdfe891f8cfc071cb984a63846b95ec04d6261bb1c5980018feee15c4e7bf632dc8306128fa22c47decfd9e8b099554f17253635e6316712e0b95efa3fb00 +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = a454391a7c3695486c337a41c2add417d8e9e9c6466d2ebb56ad5f97b9e7ce30784cfcd82d6066e372a3a1639a71a9369f2777435c87d100fc5e6638b3631a0bac639f36429b4594726613e5901816cf3a29f9228b96d66090844c7d0026d2e327e24ab924afda6554c2f74f0e69c2e8913798ec3a61e4e4fb6838ee08f89dc0 +S = 261180717edd905b647bc869f5259203811606221f545a3aee5fc123f297cf7d8a7ee6cee3dc8f97d24284ccdec2fd4680f1428ee75797e0379512aecb9fc1667523413e323c4bd7dded5caf9e5c606e5ee0c694d4d1b5a1f1cb613b980129f64146e42e8261c1f7ef5603954d34d56a50f7431beee5ab291a4759168655a5123640d596b744d97979d39f874ea7ff13a7466a7655d02edb492b58049f2208852297eb023e657f3240c5da9a99fd377728bff3cc073109c31712d94bc24e08c433533d4b86a73b58fbf2c598ccad78d46ca0a055601850960195aac1364dfaddbd06f14a78aac2ab4d374505cc61fc72c1050647d95a733517b709aed2d896721e7484208501480058fa4f6044302dd705c273fa7fb42eaeb02d025092b252e16d270d88dab6f68fd7ad571011f89627683e029d1bf1edc149d47452ebe87ec68679579940f5aec25999b0dedb820a5483ec6901abfee041c03b1a7f743548a2caabca613ff5d9f8fd7c694af12b29f2c2468eff55f9e008757443960fae459e +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA384 +Msg = a05e5782a96ee6d6f10be8830d8c27c0acf272abbf77e684dd6a6c19e5398381e5d0400d3a21927cf904cb6e8e425c1ca3ece04544f25d6c40f0c640d24bc45c807db53044adf63fea835d8cb93a0a4e55f760ebe4594e247051d38d8c34c1413b0ec1d30d3a97888b2fa7c3d59db8c08ab9f985e8d4411635339be95d1b0299 +S = 87d80275df7b196b7e1d0a41147719d773edd80b5627301a500d91665ba86076e6a31c8f3ae86aedb643fe2af223976ea4eb3d4dca2cbcf81ffd14b7ef7de3ee355a8d0f4143e5b0f0a0950a42811102e602cd214e1c945c47e8b7b66d507103c3456f404f9c48aa7fe48dee0aad05e599f242adcf8ccb0cc9db3a6c244a913551ab595600ecfbb67c25a95b54f4054397abe47650e5c4991edaf1441ba9c8e3fbed904ffbc977142ebdc84769865a215158d5b052e75de318d75012172e28c31db2d8bd4edca787216dde2a7387c543f162fc91924918fd6c845bf1ebc0220a1027fb4227340ca4cb0f183e5b34b1e7f93e14fa57bb9d2d2ea53f86d838bcbe3f055b473b0b469afd2960c0d76ce2c30f3d49a3b29065bb9260248e728cbe328bdf502b109e1f20b9d037860cf9e261611b4cbf27ff9b5bf425b2612afc7cfa3138f78ad26077cbfb947fb2aae6f4be85ab2d1a15860839b822dd03a1a92a19a5c7244e98bdf561625ca2a8df410ff855752ebdf3d49f5eb98f228acdd52791 +SaltVal = 61a762f8968d5f367e2dbcacb4021653dc75437d9000e3169d943729703837a5cbf4de62bdedc95fd0d1004e84751452 + +SHAAlg = SHA512 +Msg = 44240ce519f00239bd66ba03c84d3160b1ce39e3932866e531a62b1c37cf4170c3dc4809236fb1ade181db49fc9c7ccd794b433d1ad0bc056e14738e0ae45c0e155972a40a989fa4b9bcdc308f11990818835fa2c256b47ee4173fb4fed22ccf4385d2dd54d593c74f0004df08134eb8965dd53a122317f59b95d6b69d017958 +S = 8f47abc2326e22cf62404508b442e81ad45afff7274096b9a13e478cdd0a72f99a76bf517f1bb0f872a523d8c588d4402569e948fd6a108ae1a45c65830828a10e94d432765314ba82ead310fc87ac99a5b39f30ab8820bf69e6934a9c1c915c19f36ea7717eaff7af67b4991315b1873ba929bedf18a975be808e7aa14a6726126c79cc93f69541c5cefdeb5b67ec279d8f5a446583e4b4faed1685140ee4b3b757c8ff4a1ef9cd76a88e05319ee62003d2d77290c94c579b0ca2ab0deb3176ef10a3fdb85c80ffbc9e2a665a23744fc836f9a9a103cd9fb756952356a2f1acdd68a645e20179006558b5d4d0b9b0bd3adf5e290f49dae60b9d19920953ea8bb237d5b3dcfe149a60f12a4ee3a889b33bcd3a3b753d610757cbcd093dd5a734255333689695ab636963e3d215a8e77ff31973718a4944a1e9e44f45754d39f6fa431c53f9a2ef36e16a5f70636eb5fba54e15c20a714f2809a7cff4b8dc1165f836607eb5a5a3bb0c4567eee26941fef46fb41e73b565c0cf8c72e404221264 +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = 06d5534b7769256e8cf65c6ce52a3e86965a1fd12c7582d2eb36824a5a9d7053029fbeac721d1b528613e050e912abd7d9f049912abeda338efa2f5213067777edd91b7576f5e6fa7398696599379ed75028cb8db69fa96de7dbc6de7ca128dd51ea334e8cd9cd8fdaefbf53fc825eae836b6c6cd70039a77e420d999b57caae +S = 913fc118d5ac1edffb4b8fcfa4e85986b46231cef3dad911d5e9534cc88261f6b6969b75a3f25d83ece7ec2034b01d3b2be6c5bd958cc4afcd44839e3953f01e4a15ea5ef6e1b4b0e8ae90bdfd404199e8f86547f67ff6b84f2162c4311cc9eee06bfb2fe46198afb9745d9c443833bf2387eb92406a6339521396f2cbda55d98fe64074d2f2e27b8bc6a79be3d1cc568869b0b50fcbf702b0831668fbfdedc2d1b5491e8ec623edeb60ac870e6e8d058593fbbc938fbf741700efc2b2467e7eb254ae008509e91607f8e50aa16a4e851abca7c8d20c6ff61cfee6c1fb676098e5cdf127c9b79538fd1e6c014161054caf43b734fa69fe06a00d76f710acc198f3da906a7d2e73a2ca882526cc354dd7630a303d8f32c655b5b33cf78859beeaba3f9ae052c8d7471cd2bd9edf42fd8f70c3b0aa79c076928068ca9770959afa632ca6aaba6679e45d6888c50125a73b9deb00d42a125f25df5434beff0d5b0ee13a16b17045cece0f2da7577d79d7cd75a4b6c5bc345f460a173487b51bc6a6 +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = 756c51bae61d75e8cf44930e1781dd6b8db6bf8b1f68b4ca4c685d14dcb2d4eece953eba92149f36788df34769987af5d53253b6ec1b4cef117cf9b88bcd03e07ef6c3301ab40ff4133f54b8512ae550e88a931b4a5a7e88bc1e2bd806c7d6266fd709a5e8c56d2a88a3e1ea38fec984b006a842a2eef29b34961bfdb468f4ca +S = 735186ebf08d505161a8bab36786138414bb5ca2f4025289af237a40f8d0963df9117b619f83d9a98dfcf74b8f001a4a742c85ae018c3b51f16eb5015ba7027cb9a0d0b9e6b65c08ba58b671a9b3dd62107bbd5ae932784d328cdb2e1a551eb67e9d33ff1cf9bffdb223afd75d3650459fdb58143cd4490981efb0b3fe36f642e1837a5d95c3d444af73729dd1a5e9937b8114a28e065d1081f061049e650e45ff5ccf75c246e2e9433b27e79a1b06f7b6b57f9b009e97168a61297cfd0a8156d026a6bf8c3764d0b715c619d856b061df35725498d86cec25f7e1da65b99d9ecbb9a1a6364252e4790d97ea0ffd6234b515929b5ef22676c243d386ebb90a22e67a0e1d1094dddf7721099868c31326814887b646ca52a2c4bcd43f7c71399e7d13e19de688ae5c20463df5965d8255a3e6928d614b601274b757cfacdd4002d9ba8b248ae700d8776475d79d0a55ed4241c9919a3c44dfb9a1f5d0fec7ca341774c596144c38174af59af6deb8937a7d14c459b5d768a977445dafee1a4eeb +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = a9579cce619ebade345e105a9214b938a21f2b7191c4211b2b75d9d2a853805dc8f1eb8f225b876ab857938bd0ea8cc2ff1ee90087030976e3f46afb9f1b1bae6d3874dd769d0426ee7dcbdceb67a9ad770e1781e34b15a45f656328c88ff485c1b2a083056d195afc5b20178c94f94131761cbd50a52defc8502e22cbb6f42a +S = 603ff63ff638f1ad410e266d82a04c6d475416a0470d97f483c0c99e8fc7212d61e02cc8b4493c9a9dac711d2a8edf196a26563866d68fb04849e82db0f9741f721f2ba4e9db62f6ecfe3b87ebe7feed0c9e2dd46c3f9252d4c122c6bf1bf4ce215ba82fe7c5a91249da70dd30fc9c8ac8b3bb2810b4ff38bfacc13fd41f6fa26507a055e0f1242f18ea8ed8a702d265f893cb4eb61a3dc8e18777157552a1c58db14349a0d0a2a900a0a1f4de863fbadb063ad2a9e526a0a8c3bdcfca5524c181637b1c4a574809fb45b2e4f06f3f89f4ccfb30217b32fc484bb908276d659a0d9a3e7e3fbd46565a0924f918b16b2d6527ec4b5d1d6ef6d6720f3e00485e87de61ed49ed13e85ca6a10d46d4ca4839f486621cca48a7f955a878c4785d55de96facbb91b6ea12e9e4fe4beed00141b0372a3812465e65030f4fb8ddd58701aa3da27d26feb8644f7c80b8ee2a3c3b20a516c7f0b068b503fbb65d3f3b84b253466a887314aa8eb9d85cd035bf8dbb178ebd8d5496fd1b68432457c78c69cad +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = c3287c23b613aefc2425a8b8317d647a447816bac56d0c99259bd9711f5fb2b13eab18e8a0b3b81ff9e98f6cda2c51c4343c0c1118720884c0aef32dd3903ac9e5ebbadb3d7698fedcc56d79bb78a71453b32c2a62ce4000ed4da85581120f3abfd1aa2418c51840d4a18c0659ca2d11aac3bd2e2ee879b3b3604112b24df9ad +S = 878b9a443921bc7d720e3e288e8f39e550113e01d04fb1635a26f796fb8b161d5b758cff914a2441d8350f8d3922aa5615edfd86501c9a05c210c93a1ae04ff761151dc8d652fb5509ed100999d2bf6e40b1bbb64cf6c5d8e067b445daf567137cb8f0863996de8de9a647f982c9e21a787ee8d72657a2dd42ec9fec49ea1c3345cf004e94594a064b6b6b222845d64c935b539d3fd2d535fe0e47ac6746028e748556c2d88e4d40707e74a1c0cad5cd95dad263efd3ca637ac6b8f78ddf7ba81e443b836d85a83dbe843bd6271e45d842e1bb241c9c18805f37bc19838ba2bc6cd38401dce0cc9780306ea8a87d43110b3e395bbfb81c3ba45ce1cd71596ed27c03e2090a7ee81f60119e187adff0d96acfbaac38f7cb503039ead9cf9550ded5693d3c257406dd0bc061d451bd81d64f969b7c2b84619f0dd82481781eaf5b8fc82a3ac5b9fc20b42f86d4225a435b903d2258f5cf693d1b5c6a5d144f7f4eab9e70de2f3879f68e4c1c7a38dda63e6186534fcd78d58db709bf57a78a848c +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = d54c51f90b278c1c602bb54a23419a62c2e8527229352ed74a17eda6fde02f4b0b012d708515a6215b221d2d291b41cf54a9ad8d562ad16156fb3017fcf2cdf6832fdfa21015cc41429355dd0aa80e09bd2612c867b6f4aa631cf93828bc8492665dd157522ee6c53d06c7226cf0ea5a24e7eae904de7ffb9804aed22a453d69 +S = 265749f7afb1e1d16492eebcee9f5004234e1dcb95b832d14165992f4d1c49d518ba15a6b3adedfd803287cf60ce8c915882e2c78d69ffc46fdecef008e5d7f146e38f268efe49065ddb6fd7969a842189b9d7b3ccb32d62aa05e87e932930f7a1775c338736d9bc8f36521609d8be0c29fdd1728430a537f0a2b9b9fef2cd9f0946c221c08aaa0270e3187ee5c518cfeb00169e7718b01ac0faef097e9cb6a4df3e87a5548a6c3d9f1ba230ee1caa01297e5f17d1be1d776552f36638cff13ab73a1058fe7c1eee28c76a145e9ff9b17074963c22c6435b6c5a619a6f39df94ce348b244320b207a9117e98b9aa5a8c58516d39c71878c4ecfd741ce6e51222fcd92ad32d70c3b92cbbe301dacddf2ec3aec21fdd38a7e110f4f5448577b9546f1a7cd71a35670c1ca47a9199437cbbc65926cd17dddd2c0c3b1ffebe682be616e638839744a147ea897885afefbe6f0e37d4e482dd005f4ff199d0d033bb753380780c90228a87d14d8dbfb829a195b5d8b2dbd67c9eedac48ae639c158eb3 +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = 57724b7062193d22f2b6bfd18461d87af122c27bf06093a5dd9c1d92b95f123971706cbf634b0b911ecfa0af6937cb4b884b8092bad7afca065d249d3707acb426df79883742c7752692c011042c9dbb7c9a0f775b09ddf950fdceffef43c9e4fc283b72e7e8b9f99369e79d5b2998f4577536d1dbdd655a41e4e361e9fcb2f1 +S = 84a21a5cc060d141ba9caeca77fd04be8ba8270235e9948d0706dca77413ce7f0811da8b2f5372f8ff5a2eb2bbeae43752c5d1c1e3877992a49574899a6ec9d2a9483156540322fdaa66eec4a2601c281ea5ae996190853644b48231bc22729f32c2188e5f5f7b5056fd3e99ccca3effcb9793343f52a9ee60217d1c492102534a334c1c60a9c4ed63ae861bec7de9898c2dde026d9a029e7d9fe44d552cd3763b8ec3f4371f4e682315657d72a888913d15e1a84a981b3d8d437589a6deb37d14e86aaa365124bf165045040b1f959accff35565205d0ee72bc56d273d1973410774cea7735ca79c6bcb256b54fef0172e058ba91619c66bc45e11b6bcc0f68b529ec3a4133598bcf09c9c4bb0f874c7095f3ebbf85a5f669bb3717eef929fb1c22943268c310282e8842840aecfdc942a468045b02595bb16336634da20ca0b8d758cd30a2b7a0bd0e3e2a6f30f36a1422adfed88e211485066d6c0fa5c986f1dc5b4c1d965021dcc24b3f729f07c02b47af75d01f49da3dea0f1bdd6b4c0f +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = bf5ff776122898e22333fb6da96d2a87a3e6c4e63f28fe7afbc8e8a40a3af2a3f9e9ae4f9287d70901a293f23579f55b890dc67da47b856a9d88ac44637e35ad5d375d7e4d77a8bc7a7f25c80edef3d5bd8b049fa731215b80ca2ee9ee6fb051326e8c6d0b9e11e3d7ef3957fc452cde868706b512f2da33eab4f7fc71b66a78 +S = 86ece9321faf1387de6afa7b1e16c2127e71e6472e093708f0ac4b40e6efb30eedc546907182798535ad6b88ae4a6f8c4fae429d225058294ef76d44ca81defdadd12cea16c58c660a4d158cb6728545307f5a6234c3aa16ae6d989b0b788cc4c18b08c89b57fe302ca6560affc57bd533bdec6ae90fc37167c4355b07c6c7c7aa2bdaf96002832d62c2dd090c61cb8658ecc0e224964b50b9abf1b4271869a8951d81cd5b46af4ead70b0454c01a7229ef2ff27599c7370e747988b45b9a8148575d73014166082947c97e8730d5458ff4a4606b1185f1bfd476e8fea2d1d7fb5d14a061f90e438ce5e36b489b5873b7400ed779ec82adfdc2d9314d6e6547dec3be9853359821e6f6d853c2292f1731789002033ecb46cfc3a7f197a18a677574fcf6870d7e47db874cff258f0f6589386fd9667af292c315ffd849bf71749ef1b4fc5a3fdf39e2782f986bc8f523162c0016c51702513ed17c8f68672cf425fd6ef8b6c8e983bd2128ce4614085e7fb216af7ff01501941f23ffbce556f14 +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = 61b6dd24903672621810cbe3342497a6b298b524f7cd50e342914f483596ecad9122a2b341094dd99ad98d4ee1546b040d233f06cfc8d10bd0d5be4b3a5b1d9179a663924327847dd5b25bd380ea4c7965f9280c7d845074dcdd1ebc367b8020a2a8e6689e7a5f755304fe1a1bcd832d418237dd08e71845ee13364231dd5d82 +S = 57d827593ad09f00005ff1ba4521a9ab2717fe34d7af12d7ef5dc07814cb93257a2903cedf0a80704b16fd8aa9dbd06fe3d96fcc7be3843ea161e80ca56f3ef6f760dfc7f1704ed4a50142267b87d244c71fc72102112fe4ea801c82c631edd9d917808c0a1f1c81a9de859dd87569898cba76b35702232aa492850739ec0371b0342318b92eefc45e6ae8547a604d9a15c2829ea85533d6d23fb61ef569be63779d3d2c7cd3bfbc26df02616b7bdbbc0b4e2b5ebba7ec93886a369d10b7bfc0e7f56e7b7ccc814880baa634f4afd874a841d40cdf9c8f117535650b55129b8913d53417bdaf163d68e7044ac011a55ac0e1afd9279d46d31ef83a0bb4a7dbe70bde4b33396750b676576497e202e40cd1401fd6cb08878a6c22db61404b4c2aa88072f7a4851d9faaf016a60a7a49147fc234ad67f8375a90069c274aaddaea43df6292ccdf7daab5f5113070f8ca5e7f43c791acc7e1737cbc311bd5714abb66561703b9ac3629bb10bd1b7709f081840eb3e939c69657ea8f7cfd596b0265 +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + +SHAAlg = SHA512 +Msg = dcc271b1bb2e50ebc23330be36539d50338baf2e9d7a969358c677e8bcbc7787433615c485c2bc2e670098128f4caa411b9d171392adc6ac1a5b297eec4d5b0f06d96cfd1f26f93fe08effad5147f0c3924307a2cb54d95765942e607b040e6c8b731f6372a22ea697a50b98668c9a5d004327e230b7fa1da23a2b964f29b826 +S = 0ac938ab04bf4efa587e34143436ce608ad089420956a72b23103fea769c03f02c3a0db764cd5bf3cc8518565b7efff70c74cc653665dc06e7f1d584e967ba193a70f5e3f7416ed0d4d5dc0e761b24ac8a8be172eb95691f02244379c9aeda8a9f760e061fd476b063b5ededa56bed819fb7136a4604879a92b2cd35507fd49b7d478fbd24c764aa5bc535a6abd7bff5c7692035620597f6329a454ce9188731c4e74d56c5bdef11372540b958cf2f8c42cbdbf915e0c07c77f04b05d876afbc3f2c205a4048826319184d650a243d192fbe35a163ab8ea84a001dd7c1472988a78042cf9fffd96f6948f0e692fc3f3b1c9c13de4b7a021be25c80606e1105cd56815d27c45fef995b1fea36e2e12aafc4a69924785c4855c50c61b1f43be9a1adfd8d7ff2ef5240dcfe5ea4613db4ad085bb0a6fb8627b1ed94dd164a4d9c4c9f375983734f9d2c35ec69d6d7421157d8658dcec1bf6599ea94280a63422376bfabf1b9f730292c498c953654401743c9e6bc499446759484d93e28d5f9f486 +SaltVal = 2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783 + diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigVerPSS_186-3.rsp b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigVerPSS_186-3.rsp new file mode 100644 index 000000000..312e45b72 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-PSS/SigVerPSS_186-3.rsp @@ -0,0 +1,2486 @@ +# CAVS 11.1 +# "FIPS186-3 - SigVer RSA PKCS#1 RSASSA-PSS" information for "rsa2_check" +# Combinations selected:Mod Size 1024 with SHA-1(Salt len: 20); SHA-224(Salt len: 20); SHA-256(Salt len: 20); SHA-384(Salt len: 20); SHA-512(Salt len: 20);; Mod Size 2048 with SHA-1(Salt len: 20); SHA-224(Salt len: 28); SHA-256(Salt len: 32); SHA-384(Salt len: 48); SHA-512(Salt len: 64);; Mod Size 3072 with SHA-1(Salt len: 0); SHA-224(Salt len: 0); SHA-256(Salt len: 0); SHA-384(Salt len: 24); SHA-512(Salt len: 0); +# Generated on Wed May 18 13:42:19 2011 + +[mod = 1024] + +n = ec996bc93e81094436fd5fc2eef511782eb40fe60cc6f27f24bc8728d686537f1caa82cfcfa5c323604b6918d7cd0318d98395c855c7c7ada6fc447f192283cdc81e7291e232336019d4dac12356b93a349883cd2c0a7d2eae9715f1cc6dd657cea5cb2c46ce6468794b326b33f1bff61a00fa72931345ca6768365e1eb906dd + +p = f71840f8a6472ebdc7f54d9884e86428ebd368324d87298fa00d9ccfb3d9afc21e0e2a10b15eb4a08f80cca7268a36a762f4900866a6a07419f9543ac3101a8b +q = f520558d02718b19a113fec43f4d086b76bb50e6d83772f1b07131b60a19a2baa553715df82a9e5dece4c79a5388949bcd9cf6a6c8c010903e681e195d3b5937 + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090c6d3 +d = 4333e93f386b41556edcdc7ce6c61445265f52f45b87d17141de1db50c35295bb62443fcf3943708944c7fe14fd4aacf1c5a78c762b7c2d60e884f488303a83ee1dea71e31a2806ee413ae5014cd2049bc164356b0a787678baad03127302e5b0cbd62b18d0b4defa62f203f63aa00f79e784698747318647e8381cec44e27a1 +Msg = f0b83b8facf6698d564bad334fe494aba3eea42f3cfc378455a989c4317e0f610c160a67527f5d010fe49b3fa6696516c757f3a99b79f0c641c68bb47e3fcb2cb01b22a5042246d5e9573c74c5d9b543e60b9e4dbbf3f36c44e0d410c750da3cc510abd12ca5cc0fceebb75912fc2e38e953cea30432e77e45408b607377e599 +S = 7973359908f1cb2f7eb31e19f7655e8117261e17c43c8ce5b12bb861b541fea168e077b41cf11a95ef7a80edf5f5903987e59d4b9f115cdb3b6394eb0dcb6f5869be0f896087bec612093965ba020449eca36ea74acffe1eb9f42e4ef03247cccbf99557073ad99a144172669e49296980c9aeb5fc7fa64660a680c320edb20d +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003021300906052b0e03021a050004142f2d655ebb3b3b81c73bb9bf8e420ffa7f7ecc3fefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090c6d3 +d = 4333e93f386b41556edcdc7ce6c61445265f52f45b87d17141de1db50c35295bb62443fcf3943708944c7fe14fd4aacf1c5a78c762b7c2d60e884f488303a83ee1dea71e31a2806ee413ae5014cd2049bc164356b0a787678baad03127302e5b0cbd62b18d0b4defa62f203f63aa00f79e784698747318647e8381cec44e27a1 +Msg = a4ceb81c341237facdf5c8dab1f5fdd725985939df0b623cbb08f714affce42d016ab4b7b78ac7625037a466b1088fc762bc5fd7fadb8afcd89a82b314ff44d5b5472d1a258510dbe28b871c750d86c9a8043640f451001039a3e700b29a1c54272dcc4b64493decebba1902e64f0a665f39867cb3b5ed0044ebd1036f159430 +S = c12ad0a80b116cd65a8c81aadd81f05bde5d6adc60e4deffa3d7c68ed8df5314c98b70979c4ce5f9e1c3f0e52fab15725c4f22dc0c4b182a1d7cd81dc24f54e768dd2518a6cee3952922e653b8feaa32745f92ea01907aa4ff2c5f64ed9bad461e2825eafdc31158fafd38afb39fa10f5f833faca076c8771cabe406be6df648 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (1 - Message changed) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090c6d3 +d = 4333e93f386b41556edcdc7ce6c61445265f52f45b87d17141de1db50c35295bb62443fcf3943708944c7fe14fd4aacf1c5a78c762b7c2d60e884f488303a83ee1dea71e31a2806ee413ae5014cd2049bc164356b0a787678baad03127302e5b0cbd62b18d0b4defa62f203f63aa00f79e784698747318647e8381cec44e27a1 +Msg = ada7d6e417da2c55aba768f60df46b73496cc07866c7d2193f4c5c728e94228a4a90df7e33ce7edbabf78c4bc79dee74a633cf1d015ddd92046bb54a5c1f9bc892b76fbf9727dc79a0a7d379336d386082bcdb0df91da90813ed2421711710542d236ff06c70b0f932bd24ca7beeb1fe870dca9175909e4313da903df504e8f7 +S = dd45ac85aa560159b2b9890cd61b8c082bb02b55529afec05e7f3fc1d73e30a09e0a7a422c20c074bd25c1271924a94d7576d99125d9200e0190979dd4238db8bdd286eba5d3e46a48fa2b18e43d7926aca3312eaa93970797c20c7e12a64c47858d1deabe5260620f01ee528d63e073f90f5044ea92804f3c1500cc2b958289 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35377 +d = 4333e93f386b41556edcdc7ce6c61445265f52f45b87d17141de1db50c35295bb62443fcf3943708944c7fe14fd4aacf1c5a78c762b7c2d60e884f488303a83ee1dea71e31a2806ee413ae5014cd2049bc164356b0a787678baad03127302e5b0cbd62b18d0b4defa62f203f63aa00f79e784698747318647e8381cec44e27a1 +Msg = 68a53131f6499d299801d88d6dc311a138934f1f58a5057efac2e6738decfab97645f20e052db97ea8ab4be35f0ecaad70d4cfdf5ccafe5a1175dd5e61b1e64eb398dab3f9a55984e219b0a5509ef2ad0c2b4aecb9278fad06d119b828dfd31b8865922ab8f9a5c5ac15aed927bdb0297361684f5504e1fd409e4389c9bfeba9 +S = e955264d644003b69f39f955150a7f42b629081b5c13787c7a9e2c988089b5e550ad4bc14e7e71c441ddb69afad39c56f811327e25270443cc0976adc9ff392a9e1dbff48fd9adbf6263be6e78d7b95feffbaa2879ba8b75e67a97aaad39d9211e5610ee369777d3f8ffe373f9d7d2984d209a9399cc1e105ffff0baaadbdd25 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090c6d3 +d = 4333e93f386b41556edcdc7ce6c61445265f52f45b87d17141de1db50c35295bb62443fcf3943708944c7fe14fd4aacf1c5a78c762b7c2d60e884f488303a83ee1dea71e31a2806ee413ae5014cd2049bc164356b0a787678baad03127302e5b0cbd62b18d0b4defa62f203f63aa00f79e784698747318647e8381cec44e27a1 +Msg = a4daf4621676917e28493a585d9baffca3755e77e1f18e3ccfb3dec60ab8ee7e684f5cde8864f2d7ae041d70ce1ea1b1e7878cbf93416848dbfdb5214fde972e5780cb83c439dfc8aa9fa3e2724adbd02bdb36d2213c84d1b12a23fb5bf1baae19772a97ef7cc21bc420b3f570a6c321167745f9b46a489ff8420f9a5679c1c4 +S = 319c62984acd52423e59a17d27d4eca7722703b054a71a1ee5f7a218b6f4a274632eaf8ef2a577a7e8a7f654b8deb1ec9b1e529cf93459cc8af4c6df6fffabc3edded0c421604ea2aae35836b05fd9de7abd78540d45fd6d0ea714733a3427b00d9d6404db8ede4a27932b47d88243eefcbffe1e55841823def30c57de7562cf +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = P + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090c6d3 +d = 4333e93f386b41556edcdc7ce6c61445265f52f45b87d17141de1db50c35295bb62443fcf3943708944c7fe14fd4aacf1c5a78c762b7c2d60e884f488303a83ee1dea71e31a2806ee413ae5014cd2049bc164356b0a787678baad03127302e5b0cbd62b18d0b4defa62f203f63aa00f79e784698747318647e8381cec44e27a1 +Msg = 340eff60922f2d65152cde96f5729fddc554434d9aa32b596f7fc543c86c53d796a9ee585bbdcabb8e52bb134146f84d0100201dfe007a386cba81c428a5a00c9f8f3a79ec33edbe400d1852876d9a2348cbdd89cd5a147885dfc0fba6c479dd1668eba98cba1fd6f306fc3b0f0f0dc9625d847851d87f8283968bd08af266b1 +S = 4d744a1aad0c4d76512902eef63753ec58ec3f5e23f91889fd6705bb111db9c688587c320b52e65939c69f2296d9a4c01bc450513486f86a861e706abe25b40a8e3f517ab58e99ffaf6b8c4efbf44ddfa9150349baf5daf0af17cecbbd99d0f5af871ed8b10095b4a0d14d3c8c4ecdf9e52d361d21694dbd9bae7fa395714d9a +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a05000414972ddf5051373b7fe1e3eefa3df2faed3623bf3b +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = f650d9f361cf9cf7c1e99b028f392d545b5dc5999a09d22913a106412adca99b3686b3f8ef5178d1bb9b1504503a5f866b563a58c7dc42d8c8537503be0c181d6d050d47a869bf7830f3c85f0e5fcc910deffe1d914ae2f8d77e66e444c579e99770043af2c7f7d89458730e716f80ed5800f8f9751f6f59bde63b6515c96fa3 + +p = f97368d645469607f92ab0d0423bf04e8de43c0435a7b213462e6dadbd51951d416e5c746d6c722c967b24c4621a8768bb104f1340abd4d67144cafb2a41e445 +q = fcc85f04da172b8cc0974631d9d04cb6ebfc08cce8d1aed61d7bef9827847d2a6e17a340cc6dacdb2098f7b80436cb755610f9b8be8108f35b28e3e072bfe6c7 + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a3db1 +d = 2d0bb5f612b435b0e6a58dc07db87621d6bbe04cbd0c96d07f07b0dcc9717413f60a13748ef4747bc617c8e5fb87dad3e6a4972f9a54a824ceb5551fca7378333e92c7b65d00a4df88c0b207bb49232c4aa39f9f32c122d17b1152e16e9bc4c6be4e78c109ce80b966a48add285205cc4a0c1d52bb3b1cc2296d83b4032e47f1 +Msg = f0b83b8facf6698d564bad334fe494aba3eea42f3cfc378455a989c4317e0f610c160a67527f5d010fe49b3fa6696516c757f3a99b79f0c641c68bb47e3fcb2cb01b22a5042246d5e9573c74c5d9b543e60b9e4dbbf3f36c44e0d410c750da3cc510abd12ca5cc0fceebb75912fc2e38e953cea30432e77e45408b607377e599 +S = 6b5a094e74c5c34ceffaa51dbb15f02689e1c45b620e926f85882800dd4662c9412f1e6a54388b51a58a7d3791c6ca6acdf03ecece746e5e3189ebdf5c958ec0233758f126e4455957b7f6450f65f61f1202f569e1c95e36207916b7bd22f530debc965dd5ee543d80e14b19341221b294d2f4acf846a63705a9479b49fde460 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c219f858780dd6062eeb9fed4eb56c2a30c25b8f8ac4661fec15148b0efefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a3db1 +d = 2d0bb5f612b435b0e6a58dc07db87621d6bbe04cbd0c96d07f07b0dcc9717413f60a13748ef4747bc617c8e5fb87dad3e6a4972f9a54a824ceb5551fca7378333e92c7b65d00a4df88c0b207bb49232c4aa39f9f32c122d17b1152e16e9bc4c6be4e78c109ce80b966a48add285205cc4a0c1d52bb3b1cc2296d83b4032e47f1 +Msg = a4ceb81c341237facdf5c8dab1f5fdd725985939df0b623cbb08f714affce42d016ab4b7b78ac7625037a466b1088fc762bc5fd7fadb8afcd89a82b314ff44d5b5472d1a258510dbe28b871c750d86c9a8043640f451001039a3e700b29a1c54272dcc4b64493decebba1902e64f0a665f39867cb3b5ed0044ebd1036f159430 +S = 1db247c271a11b2d41205d1abafd433be26e273563f636a3a46191fefe2aceac656a9e91cd58df247a4feda14b006e6871896f1f3fd84a4c91e85a82d88314011b85b3e0432c07fc5f16b0d10fc56e2823bee8746f1ad6cf4cc4603bf1046c98e36cd373d7955ec37d86916bb4cb5ed4d43a5a12720ab9ab7f18a17ce927a286 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a3db1 +d = 2d0bb5f612b435b0e6a58dc07db87621d6bbe04cbd0c96d07f07b0dcc9717413f60a13748ef4747bc617c8e5fb87dad3e6a4972f9a54a824ceb5551fca7378333e92c7b65d00a4df88c0b207bb49232c4aa39f9f32c122d17b1152e16e9bc4c6be4e78c109ce80b966a48add285205cc4a0c1d52bb3b1cc2296d83b4032e47f1 +Msg = ada7d6e417da2c55aba768f60df46b73496cc07866c7d2193f4c5c728e94228a4a90df7e33ce7edbabf78c4bc79dee74a633cf1d015ddd92046bb54a5c1f9bc892b76fbf9727dc79a0a7d379336d386082bcdb0df91da90813ed2421711710542d236ff06c70b0f932bd24ca7beeb1fe870dca9175909e4313da903df504e8f7 +S = 468a0a4d9887dc8de86672bf5888ab473fc58cd681de1dd4b9fc46eeb32b184cf25877be736696aaa86e9707e6afe57ea1f9ea493e5f72473d7c5e77710e15e325eeac1a1c0a82199fb14f3f090703e9f14d0b0acd556bb4c242eccbec203664d8c903bb90210aab8f61c1de2391cb77f93c8cf6f5e3d1fb621c4109d5d089d4 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e887c5 +d = 2d0bb5f612b435b0e6a58dc07db87621d6bbe04cbd0c96d07f07b0dcc9717413f60a13748ef4747bc617c8e5fb87dad3e6a4972f9a54a824ceb5551fca7378333e92c7b65d00a4df88c0b207bb49232c4aa39f9f32c122d17b1152e16e9bc4c6be4e78c109ce80b966a48add285205cc4a0c1d52bb3b1cc2296d83b4032e47f1 +Msg = 68a53131f6499d299801d88d6dc311a138934f1f58a5057efac2e6738decfab97645f20e052db97ea8ab4be35f0ecaad70d4cfdf5ccafe5a1175dd5e61b1e64eb398dab3f9a55984e219b0a5509ef2ad0c2b4aecb9278fad06d119b828dfd31b8865922ab8f9a5c5ac15aed927bdb0297361684f5504e1fd409e4389c9bfeba9 +S = 03999476730932d46eaa5205f422de58c5d517a2d15fd449404c52ce7f0a3636a323aa681d79bffac60e8d9fbd6e62e299368cf8dedc3c1631d347cdd518e0a18b7e146ff913f191c0e772fc3e50a4424845d23d7e10e038f9fcee9e9a2fe4907ee597e3c589000644d65cfee60115dbafd9a8348df03435224e1f99d04ceafb +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a3db1 +d = 2d0bb5f612b435b0e6a58dc07db87621d6bbe04cbd0c96d07f07b0dcc9717413f60a13748ef4747bc617c8e5fb87dad3e6a4972f9a54a824ceb5551fca7378333e92c7b65d00a4df88c0b207bb49232c4aa39f9f32c122d17b1152e16e9bc4c6be4e78c109ce80b966a48add285205cc4a0c1d52bb3b1cc2296d83b4032e47f1 +Msg = c728846980d2461db29343acbaa0e69e8a7ac11456cedcc190994d37178f0964acbefa5ca56f5259e54d1eff0bc91ee5eabcd4523a4edb448c187ab784857923427e33472146ed25a4a2664ead3eaf5ff04c3dcca86e3ddc88d627f5f5ab961a72af57b25c20c08bd7dc431e08c843158571250a09f4ab926d1c7d7ad3cb0950 +S = 46acca5782d216e2f3d6f874a38b49b35c1e7a26626c9ad8af2c88a0e1d89495c02e1c476b3c8c86b0c6267683a16b3513d6ae5061a8c0557bd3cf0155df16369364da81bbf9f6d856b65add3290f5a7dc6e975812d1e680f7f24650d5c3f15ce90836b47db064b6494a68b95539eb2d5909bb033999c423ab14964a64c42efb +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = P + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a3db1 +d = 2d0bb5f612b435b0e6a58dc07db87621d6bbe04cbd0c96d07f07b0dcc9717413f60a13748ef4747bc617c8e5fb87dad3e6a4972f9a54a824ceb5551fca7378333e92c7b65d00a4df88c0b207bb49232c4aa39f9f32c122d17b1152e16e9bc4c6be4e78c109ce80b966a48add285205cc4a0c1d52bb3b1cc2296d83b4032e47f1 +Msg = b3e512b4ff753fcf01b6e6d830915f93cb99fbdfca3697f3140371e8f2743a78c4bc6c05f3eedddc266295bcb95adc926be598875604d63c250ca754814b2d34cceef506122287043c7a3cf3879150ed35f0386483323664da662a1849b4ab90334456c1455b66ceabc78686847ee32d9382847f3707def29dd8a33c34f7dc15 +S = 5432923b53dc8ad5df6a5db2b04506b42afbf29e31086fb3aa7b7b7a041940466a6535da54329c1aa5cfd328d4cb622398bb572354eabb3c1a59953c7881d1b1603a3f0c5ce845dda3bcf509c9c7b7f61fb310ae50101d08062eb2b894d12602ec28e7533251c0987e4a290e5affd0083b2216f26a55a732432268bcd1982ef6 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041cecc3a3a5f03126eabffbd9bd9f80750e33a176eda73c06bc1732147a +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = bf15c7a344db52c3da4c73bbe1aa9e43a24cc3ccdfa6dcb994e29846401f3d5ec9138756487def58d4bc5082baa8e93c840405d36ef37f59594d01f0665edb27cee3b6b647437405652cf809200597b0de806ea9ae20799400fe24bb3496d92e65ab5718c61ea24e302b2414f4a6ac1c99a4177de0f83882d638c46c95e2412b + +p = f211076bb2440d08bbb7f0931b1e1dace7850b5bf676ee99c3df5ffc232dee014e8ef49084bf4164e13fd93b0135ba1b74ca0436eb11cef0857fd1a7f2fe9741 +q = ca15838b90298be9ffb5357308cbb183b0669bd3d9eaf9a43bff56c3408d142cb9dd53a0d6e58659f7e6ee1e86cff4ace0a9da911fa86f5421e2f368f1f7c96b + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183a77 +d = 27d46433e4a96f1089c9da5e63254c1bed4075943dc00dfe44ac3eeb3115a71fb9c975b0db87860bceb813c0c4060eba926627add6b70b959e71274defa0a79e4a9a9262dd68ec6539e72078e0888c3f4e6ff74374e968f97033d1c328b17eab87e9637062726ac82b4f042fd376c892b61325a2004d372534b7e106817e8e07 +Msg = 14ccaca3e4e313a960023ce1ea1335a9b29b47bdd7463466cfc7bdef08de6759cfba7f5072825c5da12fe45c1a9c523186e036b79ddbbcf9910f32a5aab1c5bd2d008b9083d6c7e9977d688680c3d2cb6051e1b88c382b19edcd86fca6b7cb68f646d94c6007dcb60a95cf4564b13fe1099552a9ea86092da9a9c2de431701c3 +S = 93e0eab6ad774d35fbf94f2226072c7b6dd9edb54377ab7d8c8f8c1f125b62536334d953d3c610ff9aaf04b1962cf30ec213a6022ddbdbdad67084db957853a4d35eb644e1dcf8ff82b26a74738271b2394b5a063de453ae5c0968034dc7ca12f9d1c11ac213e801794a00eec5d3ca9469a47ba7b932259be0aaf13d41302c05 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d060960864801650304020105000420c2213ada6cd9d378b423725584da9bcf2165caab55d4c179e9a287d896384113efefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183a77 +d = 27d46433e4a96f1089c9da5e63254c1bed4075943dc00dfe44ac3eeb3115a71fb9c975b0db87860bceb813c0c4060eba926627add6b70b959e71274defa0a79e4a9a9262dd68ec6539e72078e0888c3f4e6ff74374e968f97033d1c328b17eab87e9637062726ac82b4f042fd376c892b61325a2004d372534b7e106817e8e07 +Msg = 0b95962764ca7454c8212a4407782e6174248c5898db391d28d2a42f35228f1da3701d49dccd2cecc5dbe45af23190881601adcbbdf841e23d666f37e99f476289a1e3ef07f7af616bdd087609a409adf958a106c8a1e9096de7b5097fb96aaaa5700fa14d0fa6bba16ebc21b6983fda07719091239cd999a29ba12e5d389dfe +S = 7287a0b4db04c8c795018cf818a170b152309ee195cb239d22c70eb248e1db54dcf0c0f6c8a311bd07c7051218e53c41e94d0c67707d0a69f5bd9cd1abc5e01cdbe70d4abc75a8536bad424d94ce160d71104b89d920fbdddf8da741178bbbf315c3e9fa9cfdaacd41a55a86eb143c1fce55f0bac0b5e08c9dffdad05485031d +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = P + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067109f +d = 27d46433e4a96f1089c9da5e63254c1bed4075943dc00dfe44ac3eeb3115a71fb9c975b0db87860bceb813c0c4060eba926627add6b70b959e71274defa0a79e4a9a9262dd68ec6539e72078e0888c3f4e6ff74374e968f97033d1c328b17eab87e9637062726ac82b4f042fd376c892b61325a2004d372534b7e106817e8e07 +Msg = e5494be79aa11936c226d26f260c2a8baa36c7a4d2a9eb068640528812a15e1d716f71a6cbc29a0a3cd47589d7fd4c4debe1824284e8322835ee13e7153c9f2208b7740e4058fa8503dc4656aebd3ee0fa60fedf7e907b85752b66cdc21b540c31881bc8004c7fce9ea80e7fb235486b5f1d0321c68a0e44cd5f15e21f27c402 +S = 983e58dd64d1dc369a71485a497f9242a527bb285e5039e88f997a30fbdd32f3022c453218e22f0180c3f753bc0d6e3d695ebde88e8963571adb68510c1e40d84ac83785cea9ef84bdd3957e98d718c7a97b22f692dfa9d1273a97ce9446794fd193ec3d9354caad1b7bfcddf82505f8a963f7759d108b7a67a57aa7cce3c84b +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183a77 +d = 27d46433e4a96f1089c9da5e63254c1bed4075943dc00dfe44ac3eeb3115a71fb9c975b0db87860bceb813c0c4060eba926627add6b70b959e71274defa0a79e4a9a9262dd68ec6539e72078e0888c3f4e6ff74374e968f97033d1c328b17eab87e9637062726ac82b4f042fd376c892b61325a2004d372534b7e106817e8e07 +Msg = 3620220deb2101077555298267995366d834f856ac0cb687151af5d3581bca09d5881c8842c9050c37a67ac7effe2fb44dbbb5281d05e5aa9db682043b0e1a9aa1a92dfbefad92b64748156f8f5a6531726e2e06a8ef82c578997d2c7b2d292ea2699f8e7a376fadaf2542a1d015be865135aa19d6325383afa92e729edfbe6e +S = 3e9d528a7bdbb9d1083384e67441712645c2aade8ca32c8c5632ec2708b6b9877dc4cf4803b6cbe533fc58db7ab01019ae879cf746dbca08ef39affbd600562ae99613d76183554e712e90fdd4b37a0092a3ddb3bf2835e6fc6ee12e7b355ac006e8e5725d8773d856360bbef7a896fc66594b1a4f7ecbd13ed2c02b76511feb +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183a77 +d = 27d46433e4a96f1089c9da5e63254c1bed4075943dc00dfe44ac3eeb3115a71fb9c975b0db87860bceb813c0c4060eba926627add6b70b959e71274defa0a79e4a9a9262dd68ec6539e72078e0888c3f4e6ff74374e968f97033d1c328b17eab87e9637062726ac82b4f042fd376c892b61325a2004d372534b7e106817e8e07 +Msg = 75d462568edb867e996ef0197de4685fe3528225985d2053364c38970162d85b0f6a67f5ac932d1efc7e16a6e296b26621a08175c1926e9fb5a99912bab6595b82b9829112b0e3d069b113e962376e58dbba5a771782cff161bc1678f2ced0bb15e83b9289dbb17c272f714cc46fa21f59c8959162d34b3183ae373271514463 +S = 97828f3a8b864a95c19b617aaa5744cb09c3c37758349e398169e2e8344eba663f9dc871f744b52b3f15d07875ae8706e7bb849e0828e6c9228cf43e742fd2c233f2b31a67365a12f0ebc2d9d3369232c6939cb9e6e80b18443820773ff796d2d77d633f1e240a2e62625ca6e85e85105a9b9beff0c6d86a112f1e9aaa551c88 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (1 - Message changed) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183a77 +d = 27d46433e4a96f1089c9da5e63254c1bed4075943dc00dfe44ac3eeb3115a71fb9c975b0db87860bceb813c0c4060eba926627add6b70b959e71274defa0a79e4a9a9262dd68ec6539e72078e0888c3f4e6ff74374e968f97033d1c328b17eab87e9637062726ac82b4f042fd376c892b61325a2004d372534b7e106817e8e07 +Msg = 372c9d4b73d3d7527d991817dac22792b1a2926824a8a30fe09b9033f324f259df8d78c3ecc8dd93c2b31733369ad2f365fd1cf4ff946246e6919b4df825c36928458bd5d4ae4fd0532748fbcd0603034ff5117f1ef6011c4ca58bf78abd0e4a3dde3d4bd48e1451587d1239440da2089811dad129d567da3b60c8fa51f5bb45 +S = 7ea27bfe422507d9f40f5200ba8b68d92147611c63825aa1aecb3268893388be452de5c3f9c6d224d5633913d5f27a33b669550c5653315fdefb6032ca50f781e789f148f2642aa479aac4f85454425e570cb0cba2a1a8586178a48127897003be424eb86d87a2c5c95627dc4407f4800536567337d88d1df3b369b176a21c6e +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d06096086480165030402010500042088a249825697d97665310912423182687ae0e6efe205f5ce7b3199a6a48f0e6b +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = 8b71c2bcb324a3fc23d292fb4f18cab5140d521013361a07071bc788859cbba33fc226b2cef9c1b3663d307acd3e4d8eb7acff63d048495a2d61fbeb617a42c4f424a347673173902cd1cb11780003e715662d195996fbff55f6b9feb54a18197e6848aa8baa15fa020cc54e72ec976d766ed63ee4e00071a11e29d7baf30e3f + +p = be896fbffc3ce442d802f495c9f4b3a80d675e0534f5ec78b3a37c6608bc0ab7d6f19f03c2ab4e57b766b82f75f59747fb902ad033e64e00ad9e768982750e21 +q = bb5a8363372ba9dd2b6d29c34f4da96bd50b8de51834f9cd79aa127ad74805c12feb858786d608870b9ee8b6d8afe0edd6212b8b75e6aef7b56dc45e2508d05f + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035c661 +d = 3e3e9386d77f5a669da5424826c12e3717df7badde17a69ca195f59251cf5fe7b33c3ed8466b1ca22cfeb016de414e205d0e082a84a2bb75e63daae4d2024e8bb72eb3adf586a9f639c94122c6984c6d246895aa4888c25d26d1490469ed98f963fc45fe7971d4d4bfe996cae28b5ce343c787c6c602f830bc09c55dcff53401 +Msg = 78b8e34e3d1026e88148aff5a05d5b6ff747113148cf47665fa1c842f6a2b4f0d783c8cb4097dfd08be1b9530e72fcf241f278c81e7cafe3ceaf95f7810194539e57d3151cd3b89a2fedac3928c61e3196b8cadfb2323b35fac38e671b747ae7145b8d94996db82fb5940e0eb402c91440c48ee0ca9af2452c063cfa8ca36c93 +S = 697f7422aa7bb453c6b7e5c3c1f5a44d4631ceb0b9a9e77a0ffffdadcbd50d8f69a2fe23ef495191dbc4df75605198af429807393efce5d0742c6cd65ea4f6e60fb9de39faf141f6b9f2339bfdd95677de6ac7856b183ca7c2e19fcfefa916858e7e41de93257e8771e361d056d5c96557c655e1da2d4906798cc4b93509b0af +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (3 - Signature changed ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035c661 +d = 3e3e9386d77f5a669da5424826c12e3717df7badde17a69ca195f59251cf5fe7b33c3ed8466b1ca22cfeb016de414e205d0e082a84a2bb75e63daae4d2024e8bb72eb3adf586a9f639c94122c6984c6d246895aa4888c25d26d1490469ed98f963fc45fe7971d4d4bfe996cae28b5ce343c787c6c602f830bc09c55dcff53401 +Msg = 8ae68ad40631981d0cb68428c642fabc658ddffc1761e4a436fe5c90bfbe4b7e07f5bf14a91b6325c32d5130625028293ab85e7c9bc8d850a07ab808aa0277100cae33d608114a16fb60275bd41c5cc3caf1f1024fdffca93f9772a95e283d1201da8f210b5a757a1b18afb204eebf107e0240951bed79397c1d3278c477c60d +S = 7c17bf8aaeafb9c97966d905205b1f007a1379e5fea9418bd6decab846bc4d430de0315c5b2195ea62900b34b7d37cd6dde7e37d9361073942976215e7183e4dc876d69e1eca9cc3786d2e9922b71333ae3f0cacbe173a6346c152273556b6bdd1afb7fe01fcda772362fe20be34bd4c8ed9b16cbcd3db910a0d89a1859a2539 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035c661 +d = 3e3e9386d77f5a669da5424826c12e3717df7badde17a69ca195f59251cf5fe7b33c3ed8466b1ca22cfeb016de414e205d0e082a84a2bb75e63daae4d2024e8bb72eb3adf586a9f639c94122c6984c6d246895aa4888c25d26d1490469ed98f963fc45fe7971d4d4bfe996cae28b5ce343c787c6c602f830bc09c55dcff53401 +Msg = aab88ff728c8f829841a14e56194bbf278d69f88317a81b4749aa5fdbc9383486e09bff96a2c5b5bdf392c4263438aef43334c33170ef4d89a76263cb9745f3fea74e35fbf91f722bb1351b56436cdd2992e61e6266753749611a9b449dce281c600e37251813446c1b16c858cf6ea6424cdc6e9860f07510f7417af925574d5 +S = 657296e902331b8030a72920c6c16b22ea65fe18e7e10b7cdbb8a44ef0f4c66f3e9c22f8f35e4184b420ad3f1bdbc1d6a65e6230abca8a9bee10887833dae15a84bf09a4542389c685fd33e7385c6001b49aa108f2272a46a832bbadc067ff06b09b2f5f40c81cc2acac03311a3945f7a9f2ea81213ba9ba626d6a7ed49f17dd +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = P + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035c661 +d = 3e3e9386d77f5a669da5424826c12e3717df7badde17a69ca195f59251cf5fe7b33c3ed8466b1ca22cfeb016de414e205d0e082a84a2bb75e63daae4d2024e8bb72eb3adf586a9f639c94122c6984c6d246895aa4888c25d26d1490469ed98f963fc45fe7971d4d4bfe996cae28b5ce343c787c6c602f830bc09c55dcff53401 +Msg = 5ec0479f0010f6f12a707ab52bc4ba883f29ea19617d02d660216fc535fd08af94c54384c17ba9fba53687792121e734a2c6be98f68d67ea5e7f502be450f43fee9d094e1472fa6b2f0f9773b2ec0c383efa0fdf702c5e87fe36692c02954bca95cfffc5a0fcd188ef85126c872c10dc3a4c46b87862cff668cd218f37d2f799 +S = 7202f1ed02d85d82b574b06fa3de38a0d19b80a612f470f22b4eb8a032c15be565bcfc7e9780d35f1aa11a312339554ec51e690287ad57acff359fdbe7cdfabf9770e9b33343cd8aeb8b2ddaaffd1d2308ec9fa28e5dc26abfee5c5e8470adf13380e7aefef727a78dffaf32bee251ca8bab4dd375d2a9e6c470943bdb58028e +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d06096086480165030402020500043068bfed83986b1d8101299207784fe2c423022522ec98418b4541c149d3addfc647d9035b8ba2143a614eb7274d87cadfefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035c661 +d = 3e3e9386d77f5a669da5424826c12e3717df7badde17a69ca195f59251cf5fe7b33c3ed8466b1ca22cfeb016de414e205d0e082a84a2bb75e63daae4d2024e8bb72eb3adf586a9f639c94122c6984c6d246895aa4888c25d26d1490469ed98f963fc45fe7971d4d4bfe996cae28b5ce343c787c6c602f830bc09c55dcff53401 +Msg = 3de862f4efd8bda0f2f8254f730e5a8d5baeab4382a6c5371f99c9d684e9a13208da934744f5168282abe584723b53231fd6deb122000681153960a84bdde601be499174493f2a77188c5dd45ce70fad431df1be276b55e3062b41da32b4c249497b8303687e9e879ce2b2ca99da3636afcc0df2f9af5a64d8b895f49f35df13 +S = 26068d35b77ed46848c6006fa718c92ea035464018403019929daa2fb8af505ea81e7b0c1ffeebd614d006fc6c445febc27a562ac6bae807a52d2268690d26b1510c9c1bcafb16626212832b1c5f8a24630c16849e6c5dae23d2af780f34095ebc298a0cdfc3dab0a853148b74b676baa2b23bbac4c64b7354c3f0e5c901fc09 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d0609608648016503040202050004305de9b54ad36d2c442ae92910da075cf4e81703cdd91401a5d76d07f2a38b33aa8abbbc93473b08247508ac0c77c91057 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c78d0b +d = 3e3e9386d77f5a669da5424826c12e3717df7badde17a69ca195f59251cf5fe7b33c3ed8466b1ca22cfeb016de414e205d0e082a84a2bb75e63daae4d2024e8bb72eb3adf586a9f639c94122c6984c6d246895aa4888c25d26d1490469ed98f963fc45fe7971d4d4bfe996cae28b5ce343c787c6c602f830bc09c55dcff53401 +Msg = bf087ce3582a9462c3706a2eb7cafae1b9b79c0185138977af309b428a29546c4973223d64b5e1b03edaa2230464ab52d803bf862f669f0a7751d0dffef09fb00f6b63085eba02c3a5bbb6c3908111e4d7ef3f31a9868c58517c255b140e23895817c5ad0ce0fd85433a2f7522ca357dfda5a669bd1d584785da231e952ce8dd +S = 17cbcaab779fdd6aeac8f0b90fbfe96b6d7231fdb550f2caea85eb9911121d7a0e956cf11414bb111d1d0b05b1404d480d6eccc65c0d301207ebc1b150247809f4cba9ee3b5f759c59602b1e63594ccd374d509a7c135a68c6013ed73ddf68cba5ea31087af451832411dca910fbc2aaab286b3a9c95b1655ab872e8c2766d0a +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (2 - Public Key e changed ) + +n = dab9c7d28a2b1e4995c12bcae3c9f580a2dd5372441888dc83aae5b515ebce3b95786c43b5811ebaee6ad90bff9e55ae1edccfc0fcafb4cfc43743749307ec0c36886c88a174d0156a2f88a25a5c594c558bf1a947335b1ab02e77bfeee5ab0cc25455819397f74d30ca31074d4612d9d928b66477ddf7b83c0cf4ee279c9071 + +p = fdef121ca20ae2f6dc84a3f9eedfaeeab3f65997f8ff9ebfaf8e5864da78f683e69c7ebf813725a102a48e86f34cae464c59bb8990515d6d4e90bf2e6086c1c9 +q = dc815f8f3eb9f778ccb8cd18ba9cc1c0b39c71718c0ea3901ecd763c4e7334f26376cc09c376a23e3fcf6ca29503a59c4f11a53311f05d93e521697a4f70ed69 + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b8267 +d = 16e19c153e5b0b0aaa2887b5ef9458f69b2420201c5491f68cdf124a97a08f5cfaf25dade4ae045cb4178c480d77b1c3f337a215f30f96621f7fc3adb4fa79d1eb5da62b60991c6c258afece9e2cd449ec59efec937d4c19b9e8cd250061bed20bb00b58cd54124ec506445aaa8d77ab5beac1433d2ac9fc2cc9107d55bf041f +Msg = b80271b3ef26efb5b0ca8e809b61fdd209337ac23fbaa349e84c8900c2fb072b97ba52f76fc1d00004322e1676fcad4140ffbc026b72ccdc01826013c53c63b421adbfd560482b1e1d884489fbd6e06597ac9fa1bbfbc347d5ca4147a72017763f25e1d62a84a718e513fa5f94b63f47f6814a26991c2f924a6c5423d06fcb79 +S = 2db61ebaca89ecde29a2895f21d61220300f01d117337ba992e0e5a65d6c4a6bd537f6f74e64db2ea45c8892114d2d5450d9b9eb38dece3dadcbe91123a9ef8288e000bd3fc1e140d2499a7fdf44f3382e71d4def1baa6e40d8b70334906f895055295b8f37c779969975c11b79e2184321a883e1abcbc100273187ed1480a70 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = P + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b8267 +d = 16e19c153e5b0b0aaa2887b5ef9458f69b2420201c5491f68cdf124a97a08f5cfaf25dade4ae045cb4178c480d77b1c3f337a215f30f96621f7fc3adb4fa79d1eb5da62b60991c6c258afece9e2cd449ec59efec937d4c19b9e8cd250061bed20bb00b58cd54124ec506445aaa8d77ab5beac1433d2ac9fc2cc9107d55bf041f +Msg = ca69f73a1e17310789a65561639b2b054aaed69622c4fb345b1d255172cf68c0bb73450f5d1ece179e930ad161b69b6cec449e9cefc2d334c2b3fef7ef0e8dabf0ef7a703a8d73507a6c39171ed446651781b201dd9c5770b4ea34c72f440fbdf2475e04bb4c68daa49aa8dba2db721952cdd96ef53acf11b82a8e683a57371d +S = b8459c62f5dc848a47e73837c3fb1b5b96c6cedc1cd0e08d5bccb8a0fe4e43ee03180a9457a8db53c16ab994e959bc59d29d3b15749a8e9cf43cbe81d13c3b2e0d55198e0776ddd2915e25f59b17e914888e10809016afa90fe24d6bf9aef635f291f6df2a80b777db31783ffd7148d078ee82ff15b4b83298c728fcfe80f58b +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +EM with hash moved = 0001ffffffffffffffffffffffff003051300d060960864801650304020305000440a61b205f46998a68ab127e1b8de68aa85db251ced6ce675c01622bce194a2c2604b6b59a2d35befb626e4f339f2e7bb408086278276d29e92aa657c6ca3a1bf8efefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b8267 +d = 16e19c153e5b0b0aaa2887b5ef9458f69b2420201c5491f68cdf124a97a08f5cfaf25dade4ae045cb4178c480d77b1c3f337a215f30f96621f7fc3adb4fa79d1eb5da62b60991c6c258afece9e2cd449ec59efec937d4c19b9e8cd250061bed20bb00b58cd54124ec506445aaa8d77ab5beac1433d2ac9fc2cc9107d55bf041f +Msg = aaa280f51dfd88d1e7c7f08834ca69d75e4743996295858e950b3c5c922013d377d1247551430e36d4aa48805069b57ae07b788ae5110919b27c8896894e52bdc7bcd3195b479bc77c9cb37e9cb831cc974f0aa2316f2813bf61bc5924d0d619ff2c33e82351550d4864d98800fe0654ec8da2ea2ff70906238080ad4bedc66f +S = 570c0eecf611c34433df2f79b602ab96459bfd22a27b4acd07584dad4957af8c322ae98c376312c6b9330e50546a148734219636dd44de74106663e576ea85f8e02d9d03818f42134fc90c78fe94f06c4367e5a6c11357bc3abfd313c40a25986c083210a066985da3653eaf4581912f5396e5bd15eedc2d7fb9bb076ef85c14 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b8267 +d = 16e19c153e5b0b0aaa2887b5ef9458f69b2420201c5491f68cdf124a97a08f5cfaf25dade4ae045cb4178c480d77b1c3f337a215f30f96621f7fc3adb4fa79d1eb5da62b60991c6c258afece9e2cd449ec59efec937d4c19b9e8cd250061bed20bb00b58cd54124ec506445aaa8d77ab5beac1433d2ac9fc2cc9107d55bf041f +Msg = 512dcdc30e9ae2b6e44a773eaffe62b10050dd2a12de22d100aa385d36c10cd7251bc3a03cc34fb513374032e912dd1550e874452772eed3c9eba67f84b97c7e4d50257ab154c5db0ffdbf4505c0cb61282c4ae1f812d7be13e81fc4a86ff2512f949a5a57946bae40649b7feb50541eefe208066d05051c456a49358a2b97d9 +S = b19f58f4374cc02135eb3aae5303dfd5e54b68ca90daf44e2ffb4dcb65ad49eba624688b7c18987177573ad4299c8cae53fd2ce2aae3515d033673155f1e5849b874f6bb28f691a0b920aadc7cfd5218fa2bbe60513df35f50bf8afa968c7f3a821ed9f185f23d020598d745be5dfa74b4ab25029bd47000637a2868438a6cb6 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d06096086480165030402030500044029d27d77b2302bd9a9edd5b423f706b8dd91c0b3b6250762dcb97c137dfe2424313cd4a2685ec4d3a42b7b951eb3a2e81c6f85819bddf53b74b9657bd9126b22 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b8267 +d = 16e19c153e5b0b0aaa2887b5ef9458f69b2420201c5491f68cdf124a97a08f5cfaf25dade4ae045cb4178c480d77b1c3f337a215f30f96621f7fc3adb4fa79d1eb5da62b60991c6c258afece9e2cd449ec59efec937d4c19b9e8cd250061bed20bb00b58cd54124ec506445aaa8d77ab5beac1433d2ac9fc2cc9107d55bf041f +Msg = aae7e01a6e1a1070fb04dbaf97684bd0252aff01eb0715f899844d8887246a723fdedc7d3bce9dc9f02b59600b79d10efa008173ae7c80569f16a93c1193f83996cc3607d55ed95589a22661cde098c996bf859f8100ffbbcf6cf955ad0baad3b99737dfc3308cbdd0518adb650368aa025153adecfb58d02f6f84fae4f44ae5 +S = 2935b15fc9d8f8dacf912f828cad15c50e66745e08107bb23c419d7b177940716c04774898be1db3b175daa1cd1014900e7ec64705a1a145789bc3a7a5d2bb5a5956cf66a55b258913193aa44d29a731c33f1b7f04cb9dbc55f351a12ad77796502876fdfe47330d501c52fc87c5fc9d114756ba496a3742d5eb38f8835367c9 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054128d +d = 16e19c153e5b0b0aaa2887b5ef9458f69b2420201c5491f68cdf124a97a08f5cfaf25dade4ae045cb4178c480d77b1c3f337a215f30f96621f7fc3adb4fa79d1eb5da62b60991c6c258afece9e2cd449ec59efec937d4c19b9e8cd250061bed20bb00b58cd54124ec506445aaa8d77ab5beac1433d2ac9fc2cc9107d55bf041f +Msg = 0c5f5fa28397254fc62d7e2cb124b769873cdfe37f66713d7f7a3432272c6029113d020a57eea15156ba2261b244e91a9b8f41ad4e6dfeafde3a616d34c93b80549f55a1e35f10bee686494dcd587fe0b01b38f9d882a020816c7434decf1eff5eee220c2ed3b8bdfff9ba980949c1e250478c6f268ea1b8f17a362e2e2451ce +S = 2596aabc2978bd62da57c486172a2cf433eb145835059fc035bd42886500156eca00554a989d19b6bcc4f640eb7cb5cb634dae38f59b015a01ffea0504847c643d525b910f61c2718f4cbb076e8af82183661d6c7e06dddfe1579ca2d6dc7e3e056b0ff6e6806fdf419e984018e2a1126820fbe966c52f9d8295a2a9cc9d0e0e +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (2 - Public Key e changed ) + +n = cef7d8f114854a2a681fe6ef600351b20a9d992010319590ea20f4152565098aed46b75330cac1da85652398402dd9bfa04f4e6c63f3cb6a30ee169b243a5ea0757646a47dc51db6af86adaf9b700044978da876d49863601d0c4ce7629decdb7485df787c68e250fdfae9d77251a315f127a93dfb024c040e274ec658e2c19d + +p = f474916994410ebec4a5d8b5c360c8873a57bcb7310b4520482d5fb8e4414457fc658fd1b09a8affd2335ed26092ec09a78b8d72805f13a5daa8b16d5a567c6b +q = d8be107a4df255cc10e2587eb4c75da6432d83dc573f32f2873bd0bf217119b3227f833a2092b35b3b52a79f78d013193f4abfbbf88e77a07a1725b8c6fdbc17 + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4822d +d = 46ae87454b60197a2b6a5d3ef51f0c2f6f27e4b55680118fdc1ac06bc2f0279ab1c9621e42a9b097841830612a5c18c11f0364f45f96febadd64124fa3783a26afb0cab103d1ceb0d67fddfd971bfee5346ac53522367168abba355e13e075081836da362b54d5030db835641be318b8a77de2c038a55b7748dfd1c00f35343b +Msg = a4dd2d68a6ccaa4d2218c34c89fa1b8b37ea9a61fa121269d10222d5f3a55b051374a259e3e9d543d737b2a02b38f44827a7bee3a28f3dffc5038a601110cd97a3f0a8d7b780d3036cf5030bc7ca1179f9fc5847e57a5ff4ddd7b8d7ac4327b2dab9078a2b7aeab669b980376398ba4736532e34cbbbbe6fa1e774e0cd26b17d +S = 97a9b907731d605e40d7df6a8c813e3ff319a02074a966782fc2ef7937d0e9710e4473cf0703c23de5a1d238aaf38f6c5882725fa386a92f50c213b25385bd1d6b481708959677f7263bb8766049c3a24022180ac7db049edc37f19c1cf1e613a6d295190fa86b8f52b52e989507ea1368637cf6147de89eb9d840d5a2fc23e4 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (1 - Message changed) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4822d +d = 46ae87454b60197a2b6a5d3ef51f0c2f6f27e4b55680118fdc1ac06bc2f0279ab1c9621e42a9b097841830612a5c18c11f0364f45f96febadd64124fa3783a26afb0cab103d1ceb0d67fddfd971bfee5346ac53522367168abba355e13e075081836da362b54d5030db835641be318b8a77de2c038a55b7748dfd1c00f35343b +Msg = 6509048df94c808fcd84fcf16aa7e6735f95f111884c72d8905c0af9b59c861ccb1a03f68458561eeeb5ab1c3d296bc3cb3564c25d1a2475a84aa501141c309fbfc37b38c5811533bf18038b8982ac2449e1f25facb9a2ec735d0edf2fa7f80648ecb27a442f847546954e63d5196e3cdf81e410fe91b4e4f97e8cbc8ea6a7f9 +S = 7632ab719f25cf1d3baaaaacaa3fd102e519e0e2b6b153aad715a71582a5d36990dbbf807f9a71fe0390ddbff757de055399673a1fc0ca3e1e577ab380061875d5a3a60da90ca74eb437aa73910f128fb014a2b2cd0194e6a40f6a2f2697e2688f899e685f28b43f523d59f55b9050f8b7f11ea5960d9aa03fc5c94321c5a732 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = P + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4822d +d = 46ae87454b60197a2b6a5d3ef51f0c2f6f27e4b55680118fdc1ac06bc2f0279ab1c9621e42a9b097841830612a5c18c11f0364f45f96febadd64124fa3783a26afb0cab103d1ceb0d67fddfd971bfee5346ac53522367168abba355e13e075081836da362b54d5030db835641be318b8a77de2c038a55b7748dfd1c00f35343b +Msg = 8e1451587d1239440da2089811dad129d567da3b60c8fa51f5bb4544e0f5ec936f165efa3edcb346b7974b67daddb2c73a7ec7da48ba1ef7d4b2a266d11d7fba593c3f60f11032790dca14e5d783eaa02c2d2d52e7ca2a2163dca9ca3b1ccdf0546e3bb41e157e851623ab399034405db35c52cac55ee879a91fa299a55a9ede +S = 9003fc803fabb16ea2318a36e3e00b8a0d91c882b3cf11ac778e445cb5189b920e7689b865f1a323fb28bdeca4effd085de9611021ae95558db37bde3ce4326a1c931a60afdf03c3cb5a43465242f82a6b27352e1fa75af4e7bc1a93e81b2f3fc07a4312174b8888e4fbaafbb204880f3188e3e739223a57bc9583e6f125f597 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a0500041403959fa456346ae0008a3535aaabd9d2ff33c750 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4822d +d = 46ae87454b60197a2b6a5d3ef51f0c2f6f27e4b55680118fdc1ac06bc2f0279ab1c9621e42a9b097841830612a5c18c11f0364f45f96febadd64124fa3783a26afb0cab103d1ceb0d67fddfd971bfee5346ac53522367168abba355e13e075081836da362b54d5030db835641be318b8a77de2c038a55b7748dfd1c00f35343b +Msg = 6bc3cf22b29b88757a39072df815b59e7a4f01079344a7c8786032cfaa33bf54d5c605c6f82f9205c76357d14e4c6783d61bfcfa0ce0bbd9605739f0ac05bdf716844882371cd2317d93d727cd4512be6d77897922e8c93b95a973b6fb2ff725f5a7a03eb589d16263708e18bf293db90709ae6d1b845a55dffce80ae1d7f647 +S = 1a73d7d3cd4dff2de010d2ab176ee64db3adf4b1fd07cf37caf19bd223d6c343e7ef75b14603ad9e0a52b853516cb43f262552d2e25f72c2c3119f0ff5b516dc8dab8417f4aa2a85b812e8600b7cfbdd217db95e9f889cb648e865215289d88813af6c562b48ab0a2a12c18c7ff927d020329cd53635ac5e7c1c7fb6a9139566 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4822d +d = 46ae87454b60197a2b6a5d3ef51f0c2f6f27e4b55680118fdc1ac06bc2f0279ab1c9621e42a9b097841830612a5c18c11f0364f45f96febadd64124fa3783a26afb0cab103d1ceb0d67fddfd971bfee5346ac53522367168abba355e13e075081836da362b54d5030db835641be318b8a77de2c038a55b7748dfd1c00f35343b +Msg = 63215755a54b4a68ef26d1cc120c6b5a963cebe706dd6e6c8f409065ca66e076d5c29154a83f72e3a685209c7378793206025575ff1371763ae6aceca48576d64d8f8562bf39c90e8f93a30d310d52ec1039ae75ded218d429feb1f830d0ca3cf4119c4792403930cfd7c3e6f5d0dcd0de685db04e234bcd86100751154ec4f0 +S = 3cdefbd51d9d74dcb34cdd5dcb6aa2329c38b72bef3fc30c5559e564fea7df8edde691f7793fb37e4ee8e363884493e21010e67c2b1310297a967dc852f94f1121456c6d83afc935586927cf1b5a1a927a221a05b133dbf775797c112dcece11232566b64e27bbaaddef31ad704f8b12d0e41571671de1e0fdea873a02cae156 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003021300906052b0e03021a05000414e1937a23dd43d1820881a82d1fc848ae9301089eefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cb82f3 +d = 46ae87454b60197a2b6a5d3ef51f0c2f6f27e4b55680118fdc1ac06bc2f0279ab1c9621e42a9b097841830612a5c18c11f0364f45f96febadd64124fa3783a26afb0cab103d1ceb0d67fddfd971bfee5346ac53522367168abba355e13e075081836da362b54d5030db835641be318b8a77de2c038a55b7748dfd1c00f35343b +Msg = 361f28f34dbee24034e03367b6b8d34df3738ca3a86b9ebcb09e639bcb5e2f519f4a7a86fc7c41556404a95dcb95e6149b7f5b5ffbdd026051100f8f056cd00d8930d83596bc5c73b8fedd590c2e07ef48bbda4bfd850762194c9d1eb068e4b1fcbb8928a2e5fc4336b6178402e90086030f509035c9756a113a556f53bc33e4 +S = 5b594ac8b973c6fb485d17268619b26c9948ff142284487a2ba1ab3e65d12af9e589f8fc0f583bc1136a2744be1f325f43e0b604a20c229996471ac2ab69860439a57adf60257945f4197e57b7c6711057a695f13d4b44f04d7c2bb87bd492fb0c03006c184628bade5c168fcaaba94fcfbe0911cf7e0b514aa975922e4a93a0 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (2 - Public Key e changed ) + +n = d7147d934176601d8dc64f372838bb46bceb7ed10e6dbd3100a46340d889b8e5ba3d69fbce0f4c9fa2b4df614a14fd0503dc04d6ee671cc6283d4d37410b6d0a74cc39b3d83728ca561c99d920e80f1d971e927456dab06cb9bb8600f540091f96d3605a8bde99e01cd977aaee7dcca20c328af04366bd5975c623785839a355 + +p = dcb3de752e5082b5a2742bba05d2665a57550d928da8ba5af82d41eb399d61abdf496a61e786879aa576f5b727173a3deb962287b4a72d68db99345b7f890c49 +q = f97a6b45b198c1c8617a216c4c46c4eba15231d28bbdb2673c4516c57aef0a9e7b0cc606fd707899de42d6a89ba37cc453c72da9688588885799357cf37da6ad + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412b89 +d = 28cd736122dbdc1282190c9881a45310059a3f7ad7286155a5f62b2ec03e0ea859cc1e47756e86b5fc316ded3d3302cd3a175e4360ab24fa49446acfbba8a347bb4ed8023cce40e8a5492d7fc1a4d5a375d67a83330977ca61c1cbe7935229f7a61e533a9b893d6ab7a07ed34b2ce3c6896c79b58db9e093b774a2b638ad9d81 +Msg = bc8e2a0b7a699afd26236facc6780b4ccfde98a8f30b86c23bb73ab955a304f02fda526dc537247f3727c0a41eb0a7a920b3c713c26ef2be7e448fc416c190a027d9a4940170ad48b62074b371369b3e09fdd427d6405124c40a7c4aa5b0e72ccc118647d71d1c9ecc94f3a16810d053b34626acd8898a3c34906712ad78f3dc +S = 70c2b47c69e68df4ea95dcb48bb3609b98805340d4336d544fa5d628af72583ae86a28c043c5aeab389cd7c23f2e164ea32ea83b5557cdf1421e4ed72d27ebc6e645e4743771dca252726cc6015ed165182c90e972f6c6be11c81c1f68083f58ea100ffa61aa0d7aa83fb4bc7df237dff22dc03093b65d78eba1e57d4344798d +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412b89 +d = 28cd736122dbdc1282190c9881a45310059a3f7ad7286155a5f62b2ec03e0ea859cc1e47756e86b5fc316ded3d3302cd3a175e4360ab24fa49446acfbba8a347bb4ed8023cce40e8a5492d7fc1a4d5a375d67a83330977ca61c1cbe7935229f7a61e533a9b893d6ab7a07ed34b2ce3c6896c79b58db9e093b774a2b638ad9d81 +Msg = b2ca1c4b7d1a56595f8fe90c3e460b151c08ef26ebce3c9ea384bf68930e5c20f4894b78c4d381dbd24d6b5015dfe2a0413d5cbb9c695f580e7a3cdc789bf97d47568fa74913569ebfdbbd66b3623ee08c459135df9020778883bc86fa968e31d3ba509eb4e2bdec4fc24516c1d6061b23a7f85c5b4a67453829a72fbf060385 +S = 435ae89ed7ad4138aa8b19245dff3153b82971b6ad38233d39d34e9e388da6155e1c353575f74eecbabf1db03821dd38fe6047bf5027360f991abd890de235a0c1b545b5487d0ded6c4557c7ef74e12524534dd666804b861d4a778e42969a32295b63d1d70a105287b0ac75494e2dff1094a42118ec8d9b4ab28ee5cf746eaa +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = P + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c9c009 +d = 28cd736122dbdc1282190c9881a45310059a3f7ad7286155a5f62b2ec03e0ea859cc1e47756e86b5fc316ded3d3302cd3a175e4360ab24fa49446acfbba8a347bb4ed8023cce40e8a5492d7fc1a4d5a375d67a83330977ca61c1cbe7935229f7a61e533a9b893d6ab7a07ed34b2ce3c6896c79b58db9e093b774a2b638ad9d81 +Msg = 370bc75902d814961b5d55a3ca12334f31df07648182a82c6d308033df7fe64fea83a8de0137e64f661f27e4e42ca6b5c1e0edf9efb2a58182b4ad85677369a3521f5d25f8ecfa837fb7b72832ed64797aa9bb14091c395559322c1f55720cd956270eb650bdf73a4e6d2efa1b1d16a342819a3d39870ab1daf22589124477f8 +S = 3e18333b801bea1045458e538142886d338017f2d8e35147382668c8a68596bc2ac5bd7f781ac756e5cad5114b4373bee0758fb1b3a9a5d59d6e5345187797b9b08a9ca87cb039b36923e8be48f6839c00a165836f761c4afaef61da4b4f64c426c78ce22be51774ffe67cc1609160e0369cb894f036642be789875b8e8e33cb +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412b89 +d = 28cd736122dbdc1282190c9881a45310059a3f7ad7286155a5f62b2ec03e0ea859cc1e47756e86b5fc316ded3d3302cd3a175e4360ab24fa49446acfbba8a347bb4ed8023cce40e8a5492d7fc1a4d5a375d67a83330977ca61c1cbe7935229f7a61e533a9b893d6ab7a07ed34b2ce3c6896c79b58db9e093b774a2b638ad9d81 +Msg = 5d85ba30feae44c6de674c4ea2495d3cbe892394f46f18fe1a0a601d1d23f01d466ff68bbc08756a4b1e308363eacafc64e42b2c183626ae817058b4d67d539ec8d6fccc09f531b00f0daf2716f833096471e0fed083e19485414f8f04b855816822929aee5dbec0b49b91e2c15ae08a46970ab2233e92d9ade60d56afbb3feb +S = 1b5f06f3c6969fdec39025d409faf8a800ac771d5bb821cb8ebe5343dfeb93dd741ebd881dbd02d029cc5e76381b451aa6e2effd2a1eb0291f002e3cc4909cd78ec5356b11756cdd06db3f74eaf18ba49f93f7fbf56880123eabf41bc1f9695675a491b140944b737df538bd7da904f72f469c890d05d858d145d59ba152aa19 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412b89 +d = 28cd736122dbdc1282190c9881a45310059a3f7ad7286155a5f62b2ec03e0ea859cc1e47756e86b5fc316ded3d3302cd3a175e4360ab24fa49446acfbba8a347bb4ed8023cce40e8a5492d7fc1a4d5a375d67a83330977ca61c1cbe7935229f7a61e533a9b893d6ab7a07ed34b2ce3c6896c79b58db9e093b774a2b638ad9d81 +Msg = 70bab1b9866237e8f5609aebad3662f5a64677221a3aeffff2a3254d7ee00b026842c191eb6e666b40022ec6597bb49dd25692f82575306d1dc5d9e78d1e14a6416a3187350a228605758c81a5221e3f52a922b0c8255176b6dceca56f2208c7e27a2a24ccff13402c02dda4f8f547e10e874ed36d11fd23a531850f8cb4906e +S = 1e43dc1fbe0363e626d5448f3670a100ba199095d3d8a81944ec33c269ca5e2df4256dc5749b2add1accaaca0c3bef0a901fe895baca9eaf1e521ea015dc4c2bbd334a0d86a5ad65789adeda378a34d25b11d731f3950581f99a9aa385f2d6391cd7402406ae72962fa438cf12d9aeec557cd8aa34ef483ee3aedc1737d748a6 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c2594a4d530929f2269162874f1865e68034674c2727a3159131dbcc2efefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412b89 +d = 28cd736122dbdc1282190c9881a45310059a3f7ad7286155a5f62b2ec03e0ea859cc1e47756e86b5fc316ded3d3302cd3a175e4360ab24fa49446acfbba8a347bb4ed8023cce40e8a5492d7fc1a4d5a375d67a83330977ca61c1cbe7935229f7a61e533a9b893d6ab7a07ed34b2ce3c6896c79b58db9e093b774a2b638ad9d81 +Msg = 5623af60bc0fd288d83dff1c0a212b5182b5b7134a6e949c876fac46fcfe7d9dcf3407b990f8e9cb772ec7f5ed2bee5f4e6c3b87ee8839d85a64897fe0a6877a516c2af1053d2cca20406b7814ab9013677feeaeb773ade5fb2d27b50bb892916333e0b123c6e3ae5bdbb54c868a579654549831ad1538eaf2344e91861de70a +S = b1705a416781943f623d7e766fe1824bbabf15760f3288280d36208d6eea1fe8d638a9a5a7095845cd1870459a7f05023950756d01b630b1dae3818383c5f5a78b264f191bdb28735f350839ae58490b5fc13ba6794a9500b956782fb013c28726bccb0b19489e7244eef84b9262c603851be1b885c63c4d1b012e1a87aa30cc +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041ce708eb8edd49e9af967cdb94205a200eeb1455c4c562192e934af7f0 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = d40e4a247dddd8dc32a70a38d287f3fa23aa016b77c8e8e1a98c2f60967a2b7a38f8614066031fb6eba697c367e3430cd8d924bc9eec28529266f690d538ebb4b0381b8966e7224e3c526122afd181d6e3bb6145a5a28d46dd36c1f1da823e0ff38b439c7638b44a127b072543f18192efde9cb381b2e98f4f5fe854e3391275 + +p = ef10244e1961acfb302f0d2b88b2ba3d5dceec225ec720eb0f56ce1afe2b5c254d37587469e1b2ba29b4ea25b5372bc92f9ce59681460802351c4a6a1444d3b9 +q = e314521f4dd2f10ad6c483f074cc7a44a209bf3ecf995d1d1aaf1783d9efd4845c678ea070d0fb1ee40d20ad66e45193e1e02d0e3d463cc9d7fb893b45ae0a9d + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004065a7 +d = 14f94430c73caec55e694d48e58d26010aa0e779b4b3ef81542019f72ce92e8c3dab00bcef99cccfab3052ddb36fe9cc7af70f4303d3394981362c48b52d8c201649fdac95abf3225e43c8bf682287c20bf405492a683143135bec3a3aa820458c94ad508ff63f2304c0c67d6ace22093cdffce8ac0c9362f41a9de106bfc04d +Msg = 9299311456fe2ddffb3d231e14afdb0e3c906ff1fc554f04ef3f87b023314504c3bf9563f387707afcc4f575a920f673f1cab637d5c9f1208c901d5bded2f057ce9722797b90741248a7f18e3bdb74eea34b6a78fe90d9ac1950a27b791003b4fa4a5fbfb6c0428d280fa0cf92875d669b3a121b3d530f91deaa9c77bd958502 +S = 70d2c3138dd7a07fe22e8e3d2335e0a2c0cef949373f53d4d242e4027c154574f6d18014252cc10ab02ec1ccdcd3dc6f7c3d131346e76edf38ad66f36fec73e93df7f548ed7ba1759fced7b15c8cef2875822a6ea5b215a5cca0009fdb64f622eb1d9e27df411c3a1b916511dfd51da873d14a15b6d87553a2546ee15327ffe1 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd23bd +d = 14f94430c73caec55e694d48e58d26010aa0e779b4b3ef81542019f72ce92e8c3dab00bcef99cccfab3052ddb36fe9cc7af70f4303d3394981362c48b52d8c201649fdac95abf3225e43c8bf682287c20bf405492a683143135bec3a3aa820458c94ad508ff63f2304c0c67d6ace22093cdffce8ac0c9362f41a9de106bfc04d +Msg = ca2932d61c66292bb02e7e64a1c6b40438e4fb91af640ceb3a3c55dc48b256ef05cd4b8624090b27dd4e30173123782a75206bd90ea13e957ac2f85b9087d389085ae5f03dbbff2a3233d62dd38960217e39816fc222e71b677f3353ae185948d9ba493ceee4cfdcb9c3b7d1106036925b19857c534ecf24095c4dec2acfb0d4 +S = ac59e4b969236d714c59cc4218a7cc02cb31d86aa24741ebab2b02deeafc350c9d533c8eb3d9a5f53317a634eeeb05e0d6d292fc52aa3b5469168b8cc79b2ddcfe9be2c42adf62dcbc568387422851f334a20b2994b47fa43615cf5eec6eed3a9954d7716526bd96d26118aa85e23c6c82278539874324822b5975c1370a70d5 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +EM with hash moved = 0001ffff003031300d0609608648016503040201050004209f3e432de25310343a3eedfd1f9e0386517f8f928c79fc0e96d295e424ec7b41efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd23bd +d = 14f94430c73caec55e694d48e58d26010aa0e779b4b3ef81542019f72ce92e8c3dab00bcef99cccfab3052ddb36fe9cc7af70f4303d3394981362c48b52d8c201649fdac95abf3225e43c8bf682287c20bf405492a683143135bec3a3aa820458c94ad508ff63f2304c0c67d6ace22093cdffce8ac0c9362f41a9de106bfc04d +Msg = 1d4b556abc81b293c22fadd2b48f26da8699c9f56c8184a6ed813e8d39d8c68cbc130928f38b89327f2f0aa678838ed303e984bc27203dbfdc0a9f7465b21dd8e08de7ab1c005d16aa23ca9137c54f0419b01d2c272de741cecb98d6615d4100b14255badee918886c93555b995b4fb5ee74fb0d15b36c75ea4d8f7ad4e1184c +S = 425e7ab27d14c8e05f82c9dbc8e660e0f0622db0426a741ef7876b749ff467f0e58043f1664de21881f63c0809527abf401038ca92000ca0c0f6d22d630c995fab4d2661258fd506cd77189d88c4541278cb5a3e0ac54e7dfa431c4700f99157da16e4f87b925368f537362dbffa9dbaec7524de3a1b1d9824ce339788779a15 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd23bd +d = 14f94430c73caec55e694d48e58d26010aa0e779b4b3ef81542019f72ce92e8c3dab00bcef99cccfab3052ddb36fe9cc7af70f4303d3394981362c48b52d8c201649fdac95abf3225e43c8bf682287c20bf405492a683143135bec3a3aa820458c94ad508ff63f2304c0c67d6ace22093cdffce8ac0c9362f41a9de106bfc04d +Msg = 99331af1b3c7f0f9426b4e3d9b30d371f7762e171c02e13b39514561112bcfbc5b7b91a0695d043a0979047fa9901c62be54044a667d68c34b19eb73cb236c5157588811194660e2daa69c5c22ebb0b4a11b5d33cdde7be6cdd5f796962c18fa5473062c0ba98c5a7e9a1dbe506c15d0697442ba9b4ea30c852c6fb1b86e5922 +S = 04dc5d566e302f6f1fbc45e4fd136449c399519bc02a212e1df8778d8fbf166a72314260ced82b30950a342b1cfb81574ce652bb781f6c0119a1ae2021cad521887916378c848dbc573c3c7b8cb4f9421d4d79cbf3fe69cf78a0da68c7e704c19b8b9716e415e2c3f8c8533abe3590c3d25f2ee7a5cc46e0bab7492d52db0d4e +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d060960864801650304020105000420f423dae554c9e2392ae7732d11b898aaea0705153602044fb64f40a6216e3d91 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd23bd +d = 14f94430c73caec55e694d48e58d26010aa0e779b4b3ef81542019f72ce92e8c3dab00bcef99cccfab3052ddb36fe9cc7af70f4303d3394981362c48b52d8c201649fdac95abf3225e43c8bf682287c20bf405492a683143135bec3a3aa820458c94ad508ff63f2304c0c67d6ace22093cdffce8ac0c9362f41a9de106bfc04d +Msg = 6be1036d728dea34e224ad9218dbbd012cb9175b25f819576cae945081ad2249eda7ba2f7896815d9b5ae36638a4e30e8914af99579e78496c3280224a9c75f01da9fd8bef8b925a1b7e901604ac8cd0064ee836ad15a41225c87713f22e1fd0e12ef50a3f35c43148d8db2ae2bb61508cb1e9b9912446ba81b8a1ade12bc9f1 +S = c93724236f58ae9eb0f9c6b4d9326bb17cb53b2433c2b13d8402ec0b4455d7e1ca8d5ffde7d57bf5d7152de6abe3336ddf781b849fa821ec8079d9ef7c9272c91ff24908f79a9a62e88d8fdafe3aa67dcb1759ef54cab03f5644fda4debf537ce6c14cb2d35cc276c9dee09adb0ef29c3ed15189295de153bb20b08c80e7d348 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (1 - Message changed) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd23bd +d = 14f94430c73caec55e694d48e58d26010aa0e779b4b3ef81542019f72ce92e8c3dab00bcef99cccfab3052ddb36fe9cc7af70f4303d3394981362c48b52d8c201649fdac95abf3225e43c8bf682287c20bf405492a683143135bec3a3aa820458c94ad508ff63f2304c0c67d6ace22093cdffce8ac0c9362f41a9de106bfc04d +Msg = 9872df5b9025393394ae1b59030765ba60af6cea40fcfa1867b397422ed607a528bd147804688ed9b5148f08d10c03d337c26851f51ed3d369163418a67fdac018233a036c13eca3aa3ff61fa4434d2a9484995b017c3926e252870b06ae5d0db3cbd8668ece5b79ba56d70844544aa7bf1d86712bbd34f91c8e1884180a9775 +S = cc7a427ab109f85f16832c04bba7a0eebfcf4e236c7507b337fa9e1d437d89c908685a5bafda8e26e4c1027a841c809ea0693749c2461c834aa0a2344a2a332dc3a3440d895087278562a7e91114a052599de0aef06787aac8963b8ed2a97db088b808f0b91c17c91e24448b38fcee4cf0c76f4aafa0c61f380c97afc4dd49e1 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = P + +n = cfc4fc3458c4e37c95a3d489a332e08e4019e477c85645c0fe24e25b6fbb2b24dc123ddf9f3220ba965dda6c97856b4821b3f7052453cd6ec8410f9fcb47cd2f4359d896092f8c944b9517c046adedc002219936da1276ca2e7cf43b344d96cf31313fd766f5e84af1d36afd6a46c45c140841579d1dee3907414118e382855f + +p = dc7f6dd30b5c14ec702c5e6e89a46ce7d58756d8b3ac2ef40e3f1ef0cf235e8d4a9d2667a87422a9240f871ed3cb28370a6d33e3f3d93199430dbb661736e3cf +q = f138ea744b363be219542fe1e326f0d262280478eca6b034e453937526e97750eacce4887fee6ef80ee6427efbbcbbc092de96fc6c070536a7f9b895c3db5971 + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053722d +d = 2d5a19df048bd55357bb30eee4412256f508d45b98deec2d6b75cc63e04dcdf85d174a11cc8cc0922e0a1695bb50d8b4e76799e968907a1679c40f1e414bf93f84f9bb982117ec347a1d1dbf9c64518d441c8764ed20a4903ccc45ee5087e4ef300cb979352d92732e42483cd1769d95f29efb525a6267633f89f36318568af3 +Msg = 40d5b6a7c87573de1cd1960a16abed930b5591fffe17bc7114d1da7048e1e3ea6047e7792007ebe4bdcff3e995da603a1c147cc51a7f543814d5c6c5076fda235d6556d519f78cae552c7795eeb806867e23b8d98a2869c7fd5c6c2ad510d9841d7728431b0cff43ca2e49958b0d887f17ca6cc3b8daa424b9acf4271a8b8817 +S = 09e22f6503b81ee8e29e0b6c969b0ab7dbde242245d806ff55891541429a85fe05ca8d21be824bb985ec0aa98d9263d83f8f3ce35f5fb67969e0e77014d9b20936c37348b337fff3433bab7fafcbc429a341371048138bc0726a19b7a4e3c765e89660400e2cd7e1154039fdd8c7d8f0b897f442e5c9bd04d49e1116937a2045 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fb045b +d = 2d5a19df048bd55357bb30eee4412256f508d45b98deec2d6b75cc63e04dcdf85d174a11cc8cc0922e0a1695bb50d8b4e76799e968907a1679c40f1e414bf93f84f9bb982117ec347a1d1dbf9c64518d441c8764ed20a4903ccc45ee5087e4ef300cb979352d92732e42483cd1769d95f29efb525a6267633f89f36318568af3 +Msg = 628acb4da4fb0c0b2a632800b3d4f47bdfbb3ceee7c211f48af460924b22c9bdd986ad1dcfa789119d7c83f3c6d4439d4df6042c6984eb0480a597145362f95b775166aa0471eaac9156e0255f86bf77d422376a2bc97d2c6bb9e3979537abb322321d7cac23d7e5ec37651ce4b011105d88fc3194586e7631796ba5786987cf +S = 5b9cf3df0c0717027ad0acf508fc0ff4d11ffed402e355675431b8fd44e308944ace9cd66a790ea66f25ddcaa43a65b50304da9d83b7702fd3e9e65d8ec2d73c9669ddbad51814a01a0a306442ae736ffa87fa8bc38cd1484dce14c5474b578ea26d98b47da09efe294f1664c9d9a41f23d8be9aaf3c68c475d793b6c6f8a311 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d060960864801650304020205000430d63a619656ae5dfc83b4b22015b5d61fa5aca650707eacc7285119267f2d3e0d8c521e9bcf787e86e9741a401fcf25a5 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fb045b +d = 2d5a19df048bd55357bb30eee4412256f508d45b98deec2d6b75cc63e04dcdf85d174a11cc8cc0922e0a1695bb50d8b4e76799e968907a1679c40f1e414bf93f84f9bb982117ec347a1d1dbf9c64518d441c8764ed20a4903ccc45ee5087e4ef300cb979352d92732e42483cd1769d95f29efb525a6267633f89f36318568af3 +Msg = 1d39ede43551c1527056d10ad3c7ecac54574d9a989e7b4f010d6df2e827f22a27ee5035db9c2b346894a9c9bd98d4e4d93c40da8d9bedb884486ed682884bafe9bea5ef812618ce78c6e69da8a2519e19304819c70b46aca5eb78e3e1d51e096a8f333db05750c8abd4cead1e4d2b821d19ae7fcd574ed56bdfd1408f7831e0 +S = 8a547641db63e40de38a4a9aea327ee84d158e974329a15ce2478d2792fdcdac0d0abb6b61ac8f9bec9acb780298be56975c476ceb125e394b3d16562b03e92fa5f392c72ffcc0b3ebfd67a4c6b80f5652a59bcfc170a7f46c214c099ff287de1cdbbb3e410ac8d27d72c2c5357005a8262f322308bed50c3b67960e5fe0d980 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (3 - Signature changed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fb045b +d = 2d5a19df048bd55357bb30eee4412256f508d45b98deec2d6b75cc63e04dcdf85d174a11cc8cc0922e0a1695bb50d8b4e76799e968907a1679c40f1e414bf93f84f9bb982117ec347a1d1dbf9c64518d441c8764ed20a4903ccc45ee5087e4ef300cb979352d92732e42483cd1769d95f29efb525a6267633f89f36318568af3 +Msg = 26f567e1af866ce7a2dc22e0a2596df4c60d343f4a91b5d485321b021b5252d6740c1ae06d175a3a4dedb7c7fa2c66b96d3c3e56633212fb55f43d61ab9e7e1f2d250770ba3bd0373c723140dba3b0c9719118413ecacb4fdece5816777350b837885618feb976e557b2b8d4ad88f42cbc54e788452187d8060894aae99970a8 +S = b7a051f79fee95c69277cf8eadc867497f28bd9f66df38de5bfee5828de89d9b5bc3ac72579c86abc405b36f5d7ea26b4fdb88dbfbcdc8b756c80b8d0ccadd8e33ea5b5e4bbb9e8a45ce61b4dbc61f855f864d46a2599e1ec5d45901f0e273907a220c00863ee69c74cd8e07f29dda0ed6d519af8c926c2b2b648ea1e9ea06b3 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d060960864801650304020205000430d12e2fd3f07c9f7d4d61ecb24183d939501d2718b95c8fd34ba8c88613923d4fa1d06aabfaba9f3ee4da621d8d4b6b85efefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fb045b +d = 2d5a19df048bd55357bb30eee4412256f508d45b98deec2d6b75cc63e04dcdf85d174a11cc8cc0922e0a1695bb50d8b4e76799e968907a1679c40f1e414bf93f84f9bb982117ec347a1d1dbf9c64518d441c8764ed20a4903ccc45ee5087e4ef300cb979352d92732e42483cd1769d95f29efb525a6267633f89f36318568af3 +Msg = 489a093a195392c15b4ab965677d572888209e061834592ae55b7562daebc1d1db41f2e4f058ea87a69a3a98b2f5e59bd83267b00b82f5c3d65a0703fa81149559689c8912b96c0dee321ee0fbb4df0a769775cbee4180d1a7f7ffad3df2178889b61012c89fa1bcfabd6d2789e2cddc2bf8d03d099880bc21d9674ae9665212 +S = 71fd89c20c030e2f1d32c9b3241f008daa2502d220a9ee24dfb937d6d0a91172c686ebe146a0b4aa881042f0645c65f3241edcaf3e6e5e2eeb1196bcafdbecd04bdec6d84aa6800b344a93c0e2243d6450adb68bba8168ac8fe713cdcf63956e502c04a5ef05ae603fa38b3ad50156598de70f740e35e5a175a6f045106a05f5 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = P + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fb045b +d = 2d5a19df048bd55357bb30eee4412256f508d45b98deec2d6b75cc63e04dcdf85d174a11cc8cc0922e0a1695bb50d8b4e76799e968907a1679c40f1e414bf93f84f9bb982117ec347a1d1dbf9c64518d441c8764ed20a4903ccc45ee5087e4ef300cb979352d92732e42483cd1769d95f29efb525a6267633f89f36318568af3 +Msg = ea567b6c6c27320893fb1b63817714739f7169e43e069bc47de660806cf3ea0f710b6c6deb21db4b1693f2052fb778d4d8b7c545bda083e978b5b24eb209ee2f8b4df5e83ce6642cfb43c1fa206dbecd85dfbc1432998fe13a7081e5e0a8999cfec41dc5a89d55150cb2922c9cbf6fc870915739e51847158bbed52c3ef772be +S = 0b9e0437a57b4a927e26bddb19a0736ce67ecb210e79f2467a00113bbb773be9da3a1071c0837dcce41abcebc59f5387adf9402e50ed6cf884ad007c12c16e7a97323c150d7acd7a456348fa803d4fdbaa4c9648724d2e68afd18f9b0d4247502b71578afa6d25335565a47b9780687d1997e30ab5ca2e60cb00de5b4a6b757e +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (1 - Message changed) + +n = 881b4401521ea4b72e57a9e3ad152536b2cc0375c5930e9699b8bfc3d16b8c1c3b37de3847438203b6664ee1b00fc7bcd03ec3c240a2cef3f367d8269bdb65cdf4bfbfc56e8fd82cc93ff90c91ce78c402da1c59037997baf56d27abfbfe9d0731b8def029501df0d83bf0fd2234344ec4daee7759969ceb5e24cc00bc12a437 + +p = ba1db3182a744609c2194898d4dbdb012fa9f52e01ae4618bf41e0d81a72a78456eca9266a0258342d97a8ec7b70a0fb398441f2889c2abcf1f1ad4fea3d7a55 +q = bb366decebb9d38fce1e9d7804ca849d7e6f918ef1938062dc2cddfc640ea8b1bf97b5151289ce58c6af197e72abdcc6c6277ea3b93db29329f64aefd34f885b + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8c34d +d = 19703396089017c8792b95d55762955c4681716d7fa750d4e500d7412504e64e7ff532b649a5ccfe2afdfc6fc9567f760ac9f13797299d8d0b496b6319bc4199eb9a084b7d008476fc86f9556da834de4020aee22cdb7fa53252c23681530ca4c2ac60dc885c6f9ce7053700eebd0656ca2ddfefa558b04abf5cc5dc9c691dad +Msg = 541b21710c8956949458f4daac99d96f59886119deb5ee78e861c88c092b287767ec8f84b6df5c6963059ec912c727fd4bdee21470706618f37bca93c577bb521237cd692b110f78c43ee22c5f830b080811066543ab9db74306ba135c757aeebbc68228556696491dcc680a7a15ad17f8ec76133eadbedc40ca3f11b56d8bd2 +S = 286dafd4c04495f875456be6adcc9109def4903bdf2972abdef455aac0f814bd71144a0cdc87406d4b08de70aeed47073b70b8cc9332b7965d586af2ac4112bc07680aa9641beaea7f5e1e7e6cda80e5958ce7487e388aad7d3027e769ac6be260deb48f7eaea1f30e411088c684d5291618421212ba18461f87371fd171b25b +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d060960864801650304020305000440f8c92c4fbd9d088bfeb224788e5eb9fb4374eb7086fa668910082bc52f91fca5cb7ab7b1c0c36781e36c85e3766c19ceccafd5a0812cbcbfe024114f19d91435 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8c34d +d = 19703396089017c8792b95d55762955c4681716d7fa750d4e500d7412504e64e7ff532b649a5ccfe2afdfc6fc9567f760ac9f13797299d8d0b496b6319bc4199eb9a084b7d008476fc86f9556da834de4020aee22cdb7fa53252c23681530ca4c2ac60dc885c6f9ce7053700eebd0656ca2ddfefa558b04abf5cc5dc9c691dad +Msg = de1bc34f15b473167a95e1d754f43d94e8109d9c9fc341ba64561bac4e9a8ed67f3477384c396a9e9efb3e169722cba779fef240c41bdeef9f168a5379b08354f021f011f2afcf1a227e81e07daa896a3d939149fd78adcd1f48e4796bb4edb5f88936c3503d2bf4cfc7b41c4cb4ff43fc78819d920237bdab9332056acf5261 +S = 1c6399bf074dab80478afd8cd35b217b9f4f7d10f871dcace4bc47c7afdd37da23b9475c7990f883e95db6e4d0254306ba9e95ca847ef6dec86c6084ae78440c2308f2061a8111bc4df3ee133fcc00dedcf8a30bf5adc7979d37dacba566c22996c06ab107f2bc7a0c05bda7eef7742b4abaebb442c11eb41a9f32f57f1698ff +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8c34d +d = 19703396089017c8792b95d55762955c4681716d7fa750d4e500d7412504e64e7ff532b649a5ccfe2afdfc6fc9567f760ac9f13797299d8d0b496b6319bc4199eb9a084b7d008476fc86f9556da834de4020aee22cdb7fa53252c23681530ca4c2ac60dc885c6f9ce7053700eebd0656ca2ddfefa558b04abf5cc5dc9c691dad +Msg = 810fcfc108d1c958f62f7a243aaa72420befba69dbfb68278682716dd092bf4e0e74830423d3cd34ae1f5a738234ac08573760f3bfc1bd2f5b4089354e9a20c1f213c7d8ca703d0ab85c93f5700c3e0a2d1f6b94a3c892f5342e4e3366136cb495b44146e5f141637baeceb2ed794ed0f66d80516f5610027a1669710147cab0 +S = 525206937a5a77259ef4249350f89d92c1c63137e4b191812a35b53a7cb5cca52b5f697fd302e39a9024b009ff6357d998b2416993cb72c5c836b5ba7de736bc8d07020cf9360f7655443a0282c93beb40bb46a4f5ef7b76590433dbde9914d9b9c455f9353da45cd4192feb8cdce2cd46741682162955ac6db834a42d2f92b5 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffff003051300d060960864801650304020305000440e99eba1a4088b94bb594b980cc8b5ac210d6e27e5612cd5273c8789b71d76c41b403473d39f4fc65d14a857e3a4ceccb6095fb4af860ccac1ea30c266edda43befefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8c34d +d = 19703396089017c8792b95d55762955c4681716d7fa750d4e500d7412504e64e7ff532b649a5ccfe2afdfc6fc9567f760ac9f13797299d8d0b496b6319bc4199eb9a084b7d008476fc86f9556da834de4020aee22cdb7fa53252c23681530ca4c2ac60dc885c6f9ce7053700eebd0656ca2ddfefa558b04abf5cc5dc9c691dad +Msg = 56f35f42516bfca0dc1d2d727a4fb6bb2bcfba68417c2beb6f07852723fbbc8c15fb7283204b6e0c52934aa53fdf6b6f9ae9378c069b81cb29d04887025ba2cc7d4af3bc456c6231da108ea4e3107c4ec50ed58c74fe4e888ae4671696df58dcb66748b668d3c1599d1e61360fead2a1d5c5fc3234ac786bb9cd489c8491c604 +S = 2ce4a58678ab5a9def663e03397756e4e6e345199657e2526c8515ef5c705d3db2775a28c2c65599dd786682170e36d502242837e688fc6020a4239ec7380765724645e97f4795fd0e50c257eb5c5b2f4332f6219231b44b3f5bb4605f45b901dae7af47300bb29478ff22b7405a383b20874564def9f3b470ce46ac6e560d83 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = P + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8c34d +d = 19703396089017c8792b95d55762955c4681716d7fa750d4e500d7412504e64e7ff532b649a5ccfe2afdfc6fc9567f760ac9f13797299d8d0b496b6319bc4199eb9a084b7d008476fc86f9556da834de4020aee22cdb7fa53252c23681530ca4c2ac60dc885c6f9ce7053700eebd0656ca2ddfefa558b04abf5cc5dc9c691dad +Msg = 44faf422f16b794a9763181c52dbf3066e43ca91d724142ed0044e33e88a93212ae26d289563ebedcc6ff38a0e9bdad6671032e82832e3d6967f7ec2dfb9cd185247af11ced9227c7b4ba2bdb9ccb216563fb82504e10dae0a2c559b39fc0c4122f162e58614497f0ebdccbd3cb4a24ba2960352527aba3f95d57cc5e09b7825 +S = 13db3ff9ab38305903f54095045fd95e687a79e764311af09b3c6a265176099c3547187832a0b0d318b0ce9c58b20b67fbf0a8fdb05a656edb46128aa45e1caff3c60a920c2a500ea0c8cf5eb4bcd9a0fcb5acf7ee33268d351aec6551a73b9f9b10f3c9c0214ab549a71a7e248840b09257be2fe15dcbf5766d13f2ef762c97 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007afd43 +d = 19703396089017c8792b95d55762955c4681716d7fa750d4e500d7412504e64e7ff532b649a5ccfe2afdfc6fc9567f760ac9f13797299d8d0b496b6319bc4199eb9a084b7d008476fc86f9556da834de4020aee22cdb7fa53252c23681530ca4c2ac60dc885c6f9ce7053700eebd0656ca2ddfefa558b04abf5cc5dc9c691dad +Msg = 83c53e873e548de19a44fa2d46d1db3377b21c0196fb92eb35428cd14800aba0923bf41b5d6224dc6e79439538757c9c50ea2ca721e339d4e111a5ecc42963e86f8769b4af1706346b757685d753b485eb1c8f9514d6009d294dbb51a06e04b302f1c4d99c3bdcf17882b9828b3228f5308f6c53d59c8f50f43cf5894698370a +S = 3c0a78c3f98cf8ec68834879eef97b990a69c670b3cf987d2836263e0b5c33d9207e7521c6794258500a586e309aeadd641ff98f4c55a8d9c925e4bdffce15a31c31a0751db6f99c8945beebb259207e4ddcea646e96c57f565f08e87cf83a6e7c1e54dfb4eba57193b8c066a2c5085874446df40e401def7cbab9390c130c52 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (2 - Public Key e changed ) + +n = ab2781536ef9ff9714f72313939513eb7c4570b7cbb1f8928576f7c9f7fdde20f5ba770c0c5a7e7857c54335e167a78bf06cea5cd2a1bfafdcfd673a7cee4a2fca01b60c3dfd78527bd1b147dd01426b7f1fb6ab34876f922dce3bbfc60d4522b6ccbf080aa72c688c0a4214d44b371008ed235902d3af3373d20ec2f631720b + +p = e3ea26dceeb59050f7fabd8af8fb10c3524f0f763e10d4ffac1a302f8a30c00f200cac5988349fc8b7de1fecef995d74ef187a83e0fbee8a55b8e72c8870baab +q = c03ec756d4ed5975a36024122b1b2db6c0a5a1ff33527c4a4e182dd8e6a018eb97efde8ec4a4b26fadd171940a07b899f079d12839cd6eb4e234089cabdc2621 + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d64215 +d = 50670f2535576d7ebc0d6770963d6a1322f8e3a13af56a724ac1c1a1a42f7fc00430826abf37361cb3de0cb4a39106717d80a7cd09832e77ab9f8ba00cf123e5c8f829d2ca59fe2714816ccdacd94d31e9dd21b39c86075f10dec64ab533099282ccca21b7e66c6406e2e6bde95c36e0fe5ea5642136aa37eebc7bc99be1bc3d +Msg = 541b21710c8956949458f4daac99d96f59886119deb5ee78e861c88c092b287767ec8f84b6df5c6963059ec912c727fd4bdee21470706618f37bca93c577bb521237cd692b110f78c43ee22c5f830b080811066543ab9db74306ba135c757aeebbc68228556696491dcc680a7a15ad17f8ec76133eadbedc40ca3f11b56d8bd2 +S = 80e1846ad50ec6ac9937be11c1d589041fc970344d5997ac3d9f6ed5735392bd5dc3dc626f5b6e49842d79c9cce21527808d8c3bd30048e1f07567c84eed704a8f201ce840efb08e3c860d15db421ab4998f4acb43280e8445ed25b32b6e62ef7b47270e94cfeff31603e609a99814369d2eefeeb88c5bc5a4a8121ecbf37900 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a0500041462c9946f325399a2e874fd1aa8706fbbb5fc35d3 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d64215 +d = 50670f2535576d7ebc0d6770963d6a1322f8e3a13af56a724ac1c1a1a42f7fc00430826abf37361cb3de0cb4a39106717d80a7cd09832e77ab9f8ba00cf123e5c8f829d2ca59fe2714816ccdacd94d31e9dd21b39c86075f10dec64ab533099282ccca21b7e66c6406e2e6bde95c36e0fe5ea5642136aa37eebc7bc99be1bc3d +Msg = de1bc34f15b473167a95e1d754f43d94e8109d9c9fc341ba64561bac4e9a8ed67f3477384c396a9e9efb3e169722cba779fef240c41bdeef9f168a5379b08354f021f011f2afcf1a227e81e07daa896a3d939149fd78adcd1f48e4796bb4edb5f88936c3503d2bf4cfc7b41c4cb4ff43fc78819d920237bdab9332056acf5261 +S = 06e5620bd595f0e1a70aa5d73bafea42eac2a131120919903ad4259d9b2a744d71d22fc2ab36dc1c6cb0d7e9e77335a433b5c4ea285180cd551214022be3d4a145b371f3760c0d0135972b95eb593e283e04c7578d1dd9f38f3f0aed08bcb60f80593aef3b14155ac0eb98d54705f24ba75958215e308949b62f4545e48ed938 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (1 - Message changed) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d64215 +d = 50670f2535576d7ebc0d6770963d6a1322f8e3a13af56a724ac1c1a1a42f7fc00430826abf37361cb3de0cb4a39106717d80a7cd09832e77ab9f8ba00cf123e5c8f829d2ca59fe2714816ccdacd94d31e9dd21b39c86075f10dec64ab533099282ccca21b7e66c6406e2e6bde95c36e0fe5ea5642136aa37eebc7bc99be1bc3d +Msg = 810fcfc108d1c958f62f7a243aaa72420befba69dbfb68278682716dd092bf4e0e74830423d3cd34ae1f5a738234ac08573760f3bfc1bd2f5b4089354e9a20c1f213c7d8ca703d0ab85c93f5700c3e0a2d1f6b94a3c892f5342e4e3366136cb495b44146e5f141637baeceb2ed794ed0f66d80516f5610027a1669710147cab0 +S = 0c18050560c400fe3bc390fff314aecfc926d45d5dc310d1a80ecdcd237d2e97a2a3283c99bc49baaa147bbb82f0e4834f2da7d9ca29bc36fe43033adc0e56bdd1756664241b16664a52d6383cf545f3ecd25be6d450bf82330c1fc020d4f89945186e5347f657aa8cb364bddad0c33f7d94b652197432108dedaa186338d290 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with hash moved = 0001ffffffffffffff003021300906052b0e03021a05000414315aca27407f66779245900cc8608fe898ed0acfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d64215 +d = 50670f2535576d7ebc0d6770963d6a1322f8e3a13af56a724ac1c1a1a42f7fc00430826abf37361cb3de0cb4a39106717d80a7cd09832e77ab9f8ba00cf123e5c8f829d2ca59fe2714816ccdacd94d31e9dd21b39c86075f10dec64ab533099282ccca21b7e66c6406e2e6bde95c36e0fe5ea5642136aa37eebc7bc99be1bc3d +Msg = 60e8b840316f75535b1171f6ea36c7ea71ba2e1607e7201f90a03b3a3edee73e576139fe389f17d59a019d82144ec036e16731ece43684f9e9e192e42e431c77229cb1166c87d1502f2d52b48cb903e6690c90f271b1a5df5c13568871edbfa74903e733d510ebeca3ff58345c5dd820920f11cfb840cafa729e4fcd10c617f5 +S = 500d43a05b3083bf9720d59e24856d8429d95fddf3caea9968d30962e14473b60017ad57f07086bb0f3ded5aaeb2b5034ecd541f64e7bd40bdd25dbfb0b1d46fc69c79a8f833ee3c758033f3a48a5d79ab0fdbedd726491880d5a13e6a545021125a0fd695b0d266f9e527237e119083c4b175abd8391ca0bd26cb84249bf1f0 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = P + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d64215 +d = 50670f2535576d7ebc0d6770963d6a1322f8e3a13af56a724ac1c1a1a42f7fc00430826abf37361cb3de0cb4a39106717d80a7cd09832e77ab9f8ba00cf123e5c8f829d2ca59fe2714816ccdacd94d31e9dd21b39c86075f10dec64ab533099282ccca21b7e66c6406e2e6bde95c36e0fe5ea5642136aa37eebc7bc99be1bc3d +Msg = de225e04afc5701bc2c40ac3a9b972fcf04db86353a08db32dec588c346587736463231b39c2a8e22189139f31cb3c9b17cb66dd506315ab9ba7204dadc506142630859bc4fd694dd68da327f46c9abfee79c68602477a4a52c401ff9518edbe0cd0ac0eb73c5c63ca15e0e45b6334715d9efde5d11465983b8a25295326e37a +S = 0a2d99a4416e30969e2e6c5cf94603dc1f94936974753ef5513df8e5dc6ae6768ff5b2ba3231e51b45da4dd90233fd136d59e56a2a96c886b1edafbae485c9b6084c88fd09d691c2ebb157f4f71b2f3cbf9290123acf50e4d697bba9b0022f618627a2646ead3b93067ccba82a4b43f8755a5393e5433a00398df0837d5457ae +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbb2f9 +d = 50670f2535576d7ebc0d6770963d6a1322f8e3a13af56a724ac1c1a1a42f7fc00430826abf37361cb3de0cb4a39106717d80a7cd09832e77ab9f8ba00cf123e5c8f829d2ca59fe2714816ccdacd94d31e9dd21b39c86075f10dec64ab533099282ccca21b7e66c6406e2e6bde95c36e0fe5ea5642136aa37eebc7bc99be1bc3d +Msg = d4fac2af4fa7a3934afc123e9f3dd0be328c0cd6ca67d6a31f72d67f34773e26e6abfd18c533363e24e6f0cf6c550f75b60883ac980bbf6b3eaa6c07bd785f54a596c90dd531ae76944d993fddc18dacf9833ef3542681e689a102d1bf5235a638438f5727abf584c2b87556998b34ab2685a773a5c1065926e1fea7e00ea763 +S = 5782dbf7e801d74532c088c294b69811a6e37e1d2969fadb7b7b18073bcd59172a1a2b4d19eea6c2abbeaddaa80d88a4b21be6abebd040151bd0f258c11ee06bd81db342170f7b68f0716cd1eeedcaee764fff9023d1fa6a8371946b789673c7debbfe9ce63fde4f233f476e80ecbf95920ef19bb22bdb006e4fc9bdb556aede +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (2 - Public Key e changed ) + +n = dda48fef7ea12b75d0446ac178e988cbfcb7da998c00ba51a5529cd97cc47f03772e1686fa5c43bb9ea4a62726e95889011439cce1e4b3be4efdb0f1fedd03549ec4d5c93fd6f4fb0219dfbd4b43f1b38428e2bde0cd562a999c77f2e5394d1bc1f375d63af7bfc73571b8c777966bb0fc75ec8167c46972b7844e981b90e2ed + +p = f0abaf71d103eed114093e10150f61809a12615973c3f95a89c7a665a3534dc391020c0b4f0dd61a91d505d21883f1a29ab888737dc75781842ad5d78d711e69 +q = ebc29d30af365c183ef7e1cd835a4a5d8ad1d56ec1514f137231ab1e09af67b007d0e736fa6c37f4f016a852518245c9d68bee34c4099b92d5c43dcd085357e5 + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006ba2f3 +d = 33a8db00f6ac88058eccb0e77a2117acb848b34240c22f4315f27527f31e77d6eaddd9af0e5f6cf76eae66031e80a99b30812827e5cd5d5a62178c562e3d639a6dc401675342fc8ccab83847684d0388242c4205659e79695661a2c53e7218e0a4ccd68d2cb9498d2d1cbbb54f38a9f01e9ca38cd7a08ce69edbac851c979463 +Msg = 0aa54f40506682881b5ecb5301199929f9fcce361428134b6ba26e2655b016f3de8686137521d01be574342087c2f132b54b5b26812a2e99a77e2231c1c8bf26ba947301855ce2a40fa97d8b727b56516beb32760e0fe05fb81eca9e46d4ca7484183f94e8dd5f2a8146cf1c2a0d719003257dae229ed3a785ca8ff64b9edee6 +S = c8e2f3ae12071b49736553ef634fee2fcd61e4018fdb452d663c3b07432cf1f00e3e59b016663052d92b6311c2ccd3aee1ad5993b2d4660fa79ba5e8bc5df304e1abc9bf06848c487b81e7536e5f13e1db8125941a168fec73fa3c3e8551da2444cb0bfeee2ab9ede128eab718f373e56348500dd4cee900f9ac561b03d5248e +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006ba2f3 +d = 33a8db00f6ac88058eccb0e77a2117acb848b34240c22f4315f27527f31e77d6eaddd9af0e5f6cf76eae66031e80a99b30812827e5cd5d5a62178c562e3d639a6dc401675342fc8ccab83847684d0388242c4205659e79695661a2c53e7218e0a4ccd68d2cb9498d2d1cbbb54f38a9f01e9ca38cd7a08ce69edbac851c979463 +Msg = 17e9517428239fcf87fa7f461e833d45b9282a255daa9451dc67f5a8a6d96b23e26068b8bd41ab7e02ee6f11ec88e23838a2d8c57d48c1bdc03fd8b9438f9e8c9f3f87261260f3b91a4d5f1a4330dd693dc8c1f4316a9e59554671ebbfec1b57770f1588cf885fc7f79db927cc841620f1234e7a211a136cc3032606bff8cacc +S = bd83d910364d07022f775c679110bfbfff38f00f29f984b9f951b440ae9c09477128dcfb0dc6da7c0f214e4c79a73314d7fddcef277781a70ceefd81bab2f9ded7baef76308cdbfa0d2a0244cfefb7c90d61c1f8fa557ebcecfd481a8e7faca060df6af93486acec7608474514b39ae002eb7f2e4a95ba1799ca4700cf92461f +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041c32d08f9e7f8e8225d08a437df710d1685e3fb1e9ae27e082e4ffc177 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006ba2f3 +d = 33a8db00f6ac88058eccb0e77a2117acb848b34240c22f4315f27527f31e77d6eaddd9af0e5f6cf76eae66031e80a99b30812827e5cd5d5a62178c562e3d639a6dc401675342fc8ccab83847684d0388242c4205659e79695661a2c53e7218e0a4ccd68d2cb9498d2d1cbbb54f38a9f01e9ca38cd7a08ce69edbac851c979463 +Msg = 7490b77f604083c6c88c5571a98ab96a8ea932b9b3457eb269791c6dbc350c775490d6c7995fcdf41b0695a5308ee348dff88407fcd1a1f7950741938dfb0f6a87d75e1405226a6ad192e0f79d21a1a9e662c3cc1e16d93909fb75cb68e4eb13d50e574deeb2e192b5d73f4f376a7cf56c90f8f25f3bb1e18efcc0fd941827dc +S = 7434621457f9841573fefc0be82779d44c687d15ab75a6f284bf86b1e0a31647b0a8f5aa8d8a8aa216647f7ba802724406b18ee473724e2fa9ede3cae83130487cec4145ec00d4ae5e0542f2a1a7be491e59bad6e05d0422e87e98ba5ce9ceefe43c5a96a94f260035d7e7131dacbdbdf7beb0a10e8883ff272884c602ce11bd +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = P + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006ba2f3 +d = 33a8db00f6ac88058eccb0e77a2117acb848b34240c22f4315f27527f31e77d6eaddd9af0e5f6cf76eae66031e80a99b30812827e5cd5d5a62178c562e3d639a6dc401675342fc8ccab83847684d0388242c4205659e79695661a2c53e7218e0a4ccd68d2cb9498d2d1cbbb54f38a9f01e9ca38cd7a08ce69edbac851c979463 +Msg = 6335ac2fe053d75f7e288705ae77431bcf2e0e29973de9bbb5a89a12b4dbac1a233fb79cf30ae1b5205ba5879486d32e48acd8f5ac9040ca49a579f0a46cdaf466fce3e2bbe2c7b8f82c271b80c12149e8f4894f5958767c36d50115fffb494a7697bb69008490524dc4962b3bcf3455f82ba89e673d94b8c65fb9ea8d330205 +S = 8324e0f771e2425b09a6be4945bafcc30f21f6c85cb105ff76009c7c79a8cf6908de6952fa9226123e145186df7c57ca40819a5ef42556bf521771979a5d32f743772693d0c6ee9055f3f613f79f91f46ef8a0817f39bf75d89fde5a62c377d0da29c6418641591c37abd0314bd8ed8f25d4cea6ee00802ab5efd0f683a85f50 +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4c049 +d = 33a8db00f6ac88058eccb0e77a2117acb848b34240c22f4315f27527f31e77d6eaddd9af0e5f6cf76eae66031e80a99b30812827e5cd5d5a62178c562e3d639a6dc401675342fc8ccab83847684d0388242c4205659e79695661a2c53e7218e0a4ccd68d2cb9498d2d1cbbb54f38a9f01e9ca38cd7a08ce69edbac851c979463 +Msg = bd550157371c4ec71c10cc7cb467ae6b6ee3759c82efb9ded6ea26b91fc3c5a448c67c7817b5d9250e1b0ba38fdd312c4412d8a9be14be6a5cd7dc196f7aa4f19b1c882b81f1bbb99a953b3766a00f1fc77acd3ca7716061e108085a5f92a22380002a58bcf87eed8a27651f81d7cfaabec45f3d872b262b2d25b263373347a2 +S = 9cad4b858d9670d68592544e11e6ffe849051f7d5a5732aa20c2b3d6f8c9648e52a45aa02fc27a4f3614c27d1f9eda37477d2e9f5a323e3ca10998f13d56ca0b46b0a4214ab31f124f81e6448f790d027895b401a11a7f75a82cc06f5417eb82511f5674a36187b2bc3d122f992fa2a85ec2bcf91bcb386e5320dd502e3c9dcd +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006ba2f3 +d = 33a8db00f6ac88058eccb0e77a2117acb848b34240c22f4315f27527f31e77d6eaddd9af0e5f6cf76eae66031e80a99b30812827e5cd5d5a62178c562e3d639a6dc401675342fc8ccab83847684d0388242c4205659e79695661a2c53e7218e0a4ccd68d2cb9498d2d1cbbb54f38a9f01e9ca38cd7a08ce69edbac851c979463 +Msg = 36337dcd88c66f37c4e3e8a05123aa0e2c65afe538cb190ad6066c49b6d4fbf4edc6a0cd4747b026deda2e47eba33f10dd29dee0a85ad1b560d0dc940652342ba29e36b59165591e219862675be2d74d2076b525780a650b2623ed3b809464bf7d41a84b10295365b4a4eac848e8580b1ed29b7e4fe4be55518a0708cba171f9 +S = 148a9f6732c77152223c8f38ead0016ec9cff52302fcca9b4b99ce1f1f093276ac2235a82a6197301ef73f63989600a160cbaaf830a2e4cbd0872bdfd2fbedc2f0afa66c5cdf9cae8062f31d97b4b6647f59bf04a9f1bfe2c55ac4e49142659a3529550be59fffd8669cfdca9e58895caea6676edb17a709e5ba4f01b4343fde +SaltVal = 2393183e18581e6924cd38f24192d1acc145633a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c21b528630f4b95f87b9378eb9ce8b380cdb12ceaa151b452a47525c4efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +n = 8b72cf259d853597bc0c4b79f21061a3ae12f6e8eb5bde829633ef207aa282fb47bd574a4c6983ffe5687d1e4ede14db5ceb326717af8985c7778888521b4a431b1643b80df1f039601b4d5d8773f91c19239be3709d625174e05e946dd29d4cd58e9aef28946c8811dd1fdd84f9eb2176902ef2a710bb76494c65c37559dfdf + +p = c0b6ddc7a07ca4a5e72c2b2972d35d506f7819a8b31a9b64238211fb14e6b91419043681f5bbf7cd00f63b207b5deb21762063fa0e5e3aa185ddf2d3b1cc45b1 +q = b93dfb77d6911251a1461e50d130bc99486f443fe637e0a43c7fbaa7f7ff29837f7cdfdf00b8de07d39e59d0011cbe6d2ec75628e98f2e9ea5ea75ed8c80928f + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffc8ff +d = 2370cfb38a15e8c7dffdd81cfd715960a7c5fd97ce6973d455e930874affc2f2b1979daa59b4e06e7aca249f76a530ab2d9a580840665e231c16de266c9a23082fdfce2970efe53812a10c35f3b9ce842be978c0b488a6e13e791fe3ede7098f79d4216c912da3de8ad83e6f3805ddf14e56ed2af2e40e9213461f0c6a05e34f +Msg = 91b07ffc7a0f56dfd81fe53414f6fc57ae6538492f218cf75f2021bfb746603019414d11bfb216a5728deb2efcc211b0df1d32f7476af8db3ededac31fb235684d119edc243477ca30ccc0ff9da03029ef7784dff43818e2f650b4a33454a80594e71b6392dfa0d57ca30aafe1d7824b473cd6091cd11493ef3f5866e073e28e +S = 59811c0f93c7407546a19bf0dccf244b1529c1db5b8a6feb9e4182f4c2974810a97dc85f621a4ae43e45dab7af4fba76412dddfe380785edb2e24493670aaaa9a782f5effb7124bc60f254fd25b11b125584952d32e1db39567e82bd34eeb1eafd3ceac1554b368f61d77762ae3e672c053d20a3af591b9bd27441e7977c0fef +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffc8ff +d = 2370cfb38a15e8c7dffdd81cfd715960a7c5fd97ce6973d455e930874affc2f2b1979daa59b4e06e7aca249f76a530ab2d9a580840665e231c16de266c9a23082fdfce2970efe53812a10c35f3b9ce842be978c0b488a6e13e791fe3ede7098f79d4216c912da3de8ad83e6f3805ddf14e56ed2af2e40e9213461f0c6a05e34f +Msg = 343d565d85c1a326570cc4062d617711e00c7178ef5b52aa16ead8bf222353170306593e2326ba13f6f4b62ad3406e6e02fd990b1645788b7c9d0c3e557986e08103ff76fc1869796e93c636fdcf9875666798594c40aa87d0ca118a6182df77d5bcb0ccb99f989ee6715af45515db6e35d1d62a3a55d0e737f94f6bef474723 +S = 1ee5c565d81347bfe222945008daa3923e88e273d537b4f993197f8e2cceb60f477cd53a63950b9c0aa03d559fbe940a506be4e9d8a8f5335ddd514483a79e81e24388e31c90ca6906be6c314df7904d6a7961832c2175edfe0f41412bc042d646edf6897979ce0cf0f30cb36ae22fab36ca815ac5288ba7b3b49fc109aac798 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = P + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e7fdf +d = 2370cfb38a15e8c7dffdd81cfd715960a7c5fd97ce6973d455e930874affc2f2b1979daa59b4e06e7aca249f76a530ab2d9a580840665e231c16de266c9a23082fdfce2970efe53812a10c35f3b9ce842be978c0b488a6e13e791fe3ede7098f79d4216c912da3de8ad83e6f3805ddf14e56ed2af2e40e9213461f0c6a05e34f +Msg = b1913763b5afa5045396ec7a4dd1fc472e92ced0dbf79abc6b8d499d38132dd23680f0ac8447cacf41d9f7dba16b694c40faba9fb68d64b76bbb347ead6cfccfffe48994b4fdd42bbdb37c0fc0e674b46a5cf9b20506c8264d848d557fea9e93b4c5e9646d592ce06f2d645cd1ca874653bf7551f1e82cd2b8f03c6ad9157ce6 +S = 411df9bc426d5bf6ca6e12c564ffaa52b1770cc96bc670e9726759b1bef233a7b6ad24d79545eb78f3a1318881bf65e886563918521350e125b957eabea89d0e487f7b963767bf1725c6a4c6544c734600669699ec2b7fae5a01433dae3c148d5824031209c754fcfb0a2d9702bbcf17bf35cf9f07b73ea6a732c3531a229471 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffc8ff +d = 2370cfb38a15e8c7dffdd81cfd715960a7c5fd97ce6973d455e930874affc2f2b1979daa59b4e06e7aca249f76a530ab2d9a580840665e231c16de266c9a23082fdfce2970efe53812a10c35f3b9ce842be978c0b488a6e13e791fe3ede7098f79d4216c912da3de8ad83e6f3805ddf14e56ed2af2e40e9213461f0c6a05e34f +Msg = 58b262cd0a0859381541e24340169e9bd8b3dddd52c5644e31d56ecb2bd4f00387f721e3c9c53a52916e7a1fc15e6e37de126f1cb92a6c924ec0ea9cecf948a696d94804aa5ccb9bc0c2dcded52af0fda9626c5865fe683a81a7b3c4e5b617274e02de17f4f5947c6ae60f6ac5a2ad53004cdd7b9f68e1ad9332d22d5e34e4ed +S = 56ea3c128c5d3c6342c45a8eb5275a518ba00aa2a6e177fd855abbf35386835773299af0809c049c48ab18b50ede9cf2d84650dc33b75d11e6e607c5e05d3052c0cb513ab62114cf9d850a1117ae655a3e5b54149b7089aea33d38bf673d04868ee314e858d981a31967178471ed93d350590fafa337deff21c0468aefa4bca2 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d060960864801650304020105000420bb8ab737f61e9ea26f7e6cb3a247d0b0da5fea4d2efdc9925fc4a96b2dea0d16efefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffc8ff +d = 2370cfb38a15e8c7dffdd81cfd715960a7c5fd97ce6973d455e930874affc2f2b1979daa59b4e06e7aca249f76a530ab2d9a580840665e231c16de266c9a23082fdfce2970efe53812a10c35f3b9ce842be978c0b488a6e13e791fe3ede7098f79d4216c912da3de8ad83e6f3805ddf14e56ed2af2e40e9213461f0c6a05e34f +Msg = 45b73d8ab4f335e03c0154e92e467bd390f817285b83f64de72b594fa3f34ade09be2f9ad1b5a08e65e876fa963824568d744b9304c288a4b641913d13ec80db39c26e04202444d0147ecea86929114e6a90df1d9292a893ff28930c2348cdd0bd0921500707caad3109857a0fe1eac30f94fb4e6dbbfe20aa2988433acedbc7 +S = 66090f92daa94f0d03bc2cee8b21140d5eec31bf90d096ff8e3f23bb29662cc36925e1db46e9c91de5bccb209f9dd9d7ec8e3f0496dcc72191238327eeedd19c40325f74e04636457485c6bab62d1a75c78dc8e841d1f2dc33afffa9acb7a44ad4bd5a0038ee2fec8c5d2e060fff412e88f4dd25bb90e2a3f46a6e378be209d4 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d060960864801650304020105000420a670a38ed0e4b2b01a8a52e90543176ac4b2d04ac09d27183d24b986715c0ecc +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffc8ff +d = 2370cfb38a15e8c7dffdd81cfd715960a7c5fd97ce6973d455e930874affc2f2b1979daa59b4e06e7aca249f76a530ab2d9a580840665e231c16de266c9a23082fdfce2970efe53812a10c35f3b9ce842be978c0b488a6e13e791fe3ede7098f79d4216c912da3de8ad83e6f3805ddf14e56ed2af2e40e9213461f0c6a05e34f +Msg = 61bd546bc549b962a8868d7ec803b95674a812b4593cd33e98294a561b84d13e2848008036e2218d00f3e4a4d95155f53f4f0a07b23ea157c7336a42780b6024bead5ec2628f8fe50f7c2748ad9450b4ea94676a195769c1409da8106c0cc3ce4874d4f8ee57ebb3fda9bc33ecd494db9eff92a6369013c52cef6e8aa18de284 +S = 1ca0b712162c8f1ef2c443d7caab390e844e0859d337dfa4c42f17afff26fea832ab4d7bf1154ccbb88f7220bc0fb6980506d39b8f8126acb1cb56369f799164ac9ab702074677abf3d6eea003072b49f70f3a9d11bf3cdbf5f4b6adae5c5b6cb4b75af5e1a8865fc1bd9b09ea35a5274c4e3d62afa575bf85bdb4d87725ee84 +SaltVal = 507372afffebc2d67cd714e38e367776e34b377a +Result = F (1 - Message changed) + +n = ecd6bfa6bdfd753f6f856db12da04af254dbf26e56623f86c06031bdd60124544ceb56e4dbec53740d231459ad3767bd202f857e88e4d767f04574329aa51c414f4d4c52edd021850cb1b6a4bdc11be1ab63b9da3ea1e80db05eb8bb4f1e801fbe4b7a9d53226dcb8a4cc6fb954a6c44802011ea4745c75ba6d82b50e3243aeb + +p = f4ce58b0958a7e21b5fd5fd0d974e9065805760341daf5358d2e7872f63f112b1be6a2bfed7ab0021110c3c10989210a8337355f0ba743a4e194028b4fcc4303 +q = f7ab23d0020fd28b79a73c2e08eeb4fa5334ec5f0d54b7307ebe630ff3720f43dabb9297e073c9afc7f4916dcd3a0b8d23677e81ed0639b1ae7345c8a938aff9 + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d4bcf7 +d = 0147b0b6c0faead67c51fa548b2cc1c1f5c8579fd0d2ebbba20e247a7c24be67e3e4b0b8cea939d9004f0f4827ed812ac3c117a7db4f7432457f0a9ee9c80012f64171cd702b17783cff8d2496781cb1490b9aba87bb007b0849ec9a5534edf96a0b35a95bb931943736ef3ab5de1f5cf48d998eb3d751c94141461b83a34097 +Msg = a5e2ce04a27a898b29d3f51c2cdfcfda59674975a94f4796361ccd7e4cb3b8eac263ad398b2650d08824b6bea0791c9c1338d9b70bb0917275eeace50e8306cac187e89a30dd38f391b9ec3dbb60c48d802f39c93edfb10eb107f44e0be2e33e4753686fba26a9baeb9981e2a41b3075495351f369640d3293708f016b5bb70c +S = bef3928d30828d0f473d1bcadb04c4bc636362f82bfed5a3f5caf3fa1d50fcff15ceaabfde593f997315b1163c03f80c5f668e32edf24cb4b9f0ea069f9cba9ee4c234cb3044222310046bdb4cdf003033de6a483ffd36f01b1bf205fd79b58394f477d4eb88f6e4e2b2d3aaf56a9a44c1f5a377ecd755dc71812e205e0cbbb5 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059c0d7 +d = 0147b0b6c0faead67c51fa548b2cc1c1f5c8579fd0d2ebbba20e247a7c24be67e3e4b0b8cea939d9004f0f4827ed812ac3c117a7db4f7432457f0a9ee9c80012f64171cd702b17783cff8d2496781cb1490b9aba87bb007b0849ec9a5534edf96a0b35a95bb931943736ef3ab5de1f5cf48d998eb3d751c94141461b83a34097 +Msg = a8a186db7f996a09a652fa6c82eae8be7886d7e75ef46dc2308faa240563781b419283730bf74a7f020877162b016bdb2e3f1ec1c3e926cf67d6152153ab0830ae447d5302566585ed527b68198cd38a6d9cb6e78504adb06014dc4b590b919b597f1d814affe3a3cff6ae6c32d248549e6648618e8d2bed8511a6ab00cb3be5 +S = a5f4ea68ef0aeb4b95f166f500ad95ed68e876743add1cd884c92e8c1e5dff02e3c5631e244efd8708150e1bc1f848d338bccd7d3c74099bc4e88618349fc3e51b50c311eeece26f21b63fb3d20ac52f4f20889f148bafe24ffb5a5e913b83849445e163c4b0777e78cb1420848936953a58b73d61a74ff9e195fe9c8a989f79 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d4bcf7 +d = 0147b0b6c0faead67c51fa548b2cc1c1f5c8579fd0d2ebbba20e247a7c24be67e3e4b0b8cea939d9004f0f4827ed812ac3c117a7db4f7432457f0a9ee9c80012f64171cd702b17783cff8d2496781cb1490b9aba87bb007b0849ec9a5534edf96a0b35a95bb931943736ef3ab5de1f5cf48d998eb3d751c94141461b83a34097 +Msg = b47e91f13b8cbabb48637ddbf28ad8a44c9c823df2932403e146c6298c3187a12c759240571f4d1dd4add43aaecfa566876a9d612fe223427599a3163db33ecad31dbf4b7fcdd1eb5a4b70075f709ee6c56d57e58d10c6d15743b99579d65315527e0059dc1daeee81433b8930f529eeafae991033a4777a2e4cf2ed68202f4b +S = 6cb1e5a178a8f5331e7b93ade2ec62e75613f5b93b1c82a3c13f0d950ed14f1f679cdb0c3d11d431005f4152e7f19347f0daa308652aff6d7d2c162b6486cbe8588ee1e8d3a6e8a5cef12ac61c1f69ef88ca70c8c600820075fe844a6e4d003e722586684566b17b51438df5e9ee2a5272add516430beac83704ccfe9f3e32c7 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d0609608648016503040202050004307dd61fc575f8dbb404794ce1273bf1a7a7209c56f7b0f9bd21ed864a84fb7ec2ed55ec67ca027d470a33f6b10fee3f8cefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d4bcf7 +d = 0147b0b6c0faead67c51fa548b2cc1c1f5c8579fd0d2ebbba20e247a7c24be67e3e4b0b8cea939d9004f0f4827ed812ac3c117a7db4f7432457f0a9ee9c80012f64171cd702b17783cff8d2496781cb1490b9aba87bb007b0849ec9a5534edf96a0b35a95bb931943736ef3ab5de1f5cf48d998eb3d751c94141461b83a34097 +Msg = e302eccdfddf1455a17fd2870f737f23902fd1d8ab6cafc39bca443301ba53afd79bca3aa52399d5f701c4460ec0b718d6efdbe3187f66cdf16c775183a0623fea1448047138ec2c0695c125ecb04846b032980f5e473eb3f44448d3178c9d8d05b490b5cbe5b462b882f1ad110bd7b5064233e7e58ce07c8e99e0422747aba0 +S = 032678e9feed45edf12af67a5fda9d1941f2942512adf95b04804eba5ccf01f0b37bf9e6a2e01b482ac1afec7684ac896b0d8c4149338e3936422cc7058114faf4dbbf7bf3c330f3f1e8e16a4bb755ce1dce34fee376b6c58e352f88e6ec8f60c5319d45fa01d46d7fa5fd2eb7ac453d1b3d34c17e2c9cf3b851be7b734c733f +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = P + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d4bcf7 +d = 0147b0b6c0faead67c51fa548b2cc1c1f5c8579fd0d2ebbba20e247a7c24be67e3e4b0b8cea939d9004f0f4827ed812ac3c117a7db4f7432457f0a9ee9c80012f64171cd702b17783cff8d2496781cb1490b9aba87bb007b0849ec9a5534edf96a0b35a95bb931943736ef3ab5de1f5cf48d998eb3d751c94141461b83a34097 +Msg = f5ab2af81fa31cd0c85348d948475b195bd3a5b26c4b7ab71376d83edc4149b74ab10b7c1b1b6fa9ce977f2d63b2e321626306591e4174393bf287ca6ee7420d84467d90a628423edb05787bce6cbe71d2f89aa4237fd3cd6e8c1be59410f180ac54c65c47325f3af7857aec12deb4b0b379aabc026f5f1ab52cdeb6d72420b6 +S = e1c4ae4f01ae882268b35f11cec2b112816063506ef8d1934ed7f3ad76b7a12a663fb965321886fe7eaf05abeba8bb57e44c9937ecf0515862246f737abaa80a127ba32e78e650d236653d36426589e728387f1adb8001b9f69007d5b2d504ef5c534526a60f6b53d006c7ed0230a7ec9c09d80eb22a7bdb07f354a0292c0e22 +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +Result = F (3 - Signature changed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d4bcf7 +d = 0147b0b6c0faead67c51fa548b2cc1c1f5c8579fd0d2ebbba20e247a7c24be67e3e4b0b8cea939d9004f0f4827ed812ac3c117a7db4f7432457f0a9ee9c80012f64171cd702b17783cff8d2496781cb1490b9aba87bb007b0849ec9a5534edf96a0b35a95bb931943736ef3ab5de1f5cf48d998eb3d751c94141461b83a34097 +Msg = 31aea9d1beb7bc4f5fc7f5a49f8968654fdf7c2d32c84199fa87039773021fe1ff6815c44216df261ebc81c7e2bbe2c7bed2da697bfa8c16688ef6a598afc6d94ae76f2ba90c7dcab66825e182162118a0afbb5dda2727e423f1156ccd6a87c5fc74e08f5b613e440d140a79e762ce60dcbe4692b816b90b12f889767bf90aac +S = 103aa0873b0d2045b0867c084fa7e253c0119c91ad3c8144156b61f36fcda4a5578f515bf70167a1aca05b8fd168287bba88558932d54b218e822bb8c657067955c78ef3f97f3fc73d1c9ad93c31123cd519a17a82c4afd2bf915907433be789b302a9cb7cef11e93c07d35961ad827971221a0a3b26eb74445e6ea0db338b8e +SaltVal = fa785c07aac7933ad34b469f6a782de1fdf26b67 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d0609608648016503040202050004309fca4ac22e070c23911d7284d8b0754dc68824035f4a55a5a6b70ec309eb0d37a2103e7e7a2badb6d23067d8b8702d13 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = b0ec8da8b8d87c94443202a94262afd545d9187d5c45111e7b246da630b1aab516133d6d9c8dbc98ac27d09843f452063f2f577c997e56da01f3861e123c842ace49ec71622c3d6cf54d13bb542d9a55a0be0fd79a65c4f72f1539026cae2e48026e3282e24a8c31e3e699deabd41d31461f6a7bd59978dc189077d46f9ee27b + +p = d8e9d2d294cc4a05bc9d618f58d9033778de4e1e37bbbf723a2206a5ff596fb60ebe201f56593aca269b59e604ce239780c57b46f6f98ca74d047ea5ac93748d +q = d0ce07547bedcb22100c491473eae36dec279d73d96b8608c97b709eb7eb6f7e3551a650d47d5bec334183e4b7fcd2e7cbd0402edf5aec754cd5af2282fee527 + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebb1eb +d = 089d3d4a6d11a5ca319678f9354790cc8bbafa79c9bb74709650e5ea6104098ec4aa15f47e45e6e53e4f7de3255ecd5489aa49af0ef0879a665d39b274794685482010ac44c9e5481888ec4edc8c8b700bd9038acfe119b51e5151757648375cbaeb6222ca7da88076b08204d0d4e9aeb93bc7eb3afe15a54664402b8bbec0bb +Msg = 537427fc226d46bebf3264621d7aa97b5686a277ee579f745c1e5955c6f4d8150dcb945c09a4db50160372aecfa07f191960a6b2648373e82d1ff892c7cdb73b5ca2c2bc2f61201123ee73658106d86ff62e0f01dbe9dcdeb92eaccd0d197ceb48e1f7451a0adea6f0dcadaebc137c24f4d8238dddf0a1fe0934bf2e1e41f0cf +S = 4ac98f889b20bec85506523c1f6603ef0acea62d294e4f769b3a4be02091c246b186d23e5f22cfee7c3864f19f414c2760b30a725de04ed2bcc93cf871adfc94ac9a1282cca0d3670ea27a7ebc146d3981c6a705fbc7738f96adadf5411b44eb1c41ac19fac996a35a79ad34ec1d6d10ab062bb59d92bd9cdad7500864c6721c +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003051300d060960864801650304020305000440b4a74d4859c188e213963fa7f4496f928692c598c509758dad0360a6d722a012f3a50b3e377b89fe7b0ea860aeefd34ac87c6e178cf0b0f2c4eea8bb8b43e231efefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebb1eb +d = 089d3d4a6d11a5ca319678f9354790cc8bbafa79c9bb74709650e5ea6104098ec4aa15f47e45e6e53e4f7de3255ecd5489aa49af0ef0879a665d39b274794685482010ac44c9e5481888ec4edc8c8b700bd9038acfe119b51e5151757648375cbaeb6222ca7da88076b08204d0d4e9aeb93bc7eb3afe15a54664402b8bbec0bb +Msg = 3151fcca24364d0fe8733e86e2a6806c6c935a3c27249dcf92aedac8dc76d22ff7742e5cee57711778c92afdcdf36e26b8448504ee6ee48e9eb25b9e495e9098d494ac4ddc4c541f499cdb652638b611b0353090ac125ff1fef8564a78419c57f038dd65951fe06e8377b986947b407579eec1a60a16f540db0931921027deb4 +S = 9875f7bb194c63b53a38a06524b2d1300f1b3db33bcbbc6fafed33ed7f49ab2bfb0a4a085bd4e43e43515519aec4f05578bfd9639eeed5c57f4eff0f0fcb4bc1d21ff0d18a671b39808b72b26651c93515ce97358b850840a7fe4c513a05476ee447e464183793f92aeb1a34b8560f590e541c7ebb504f6fa839db5b59a92faf +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebb1eb +d = 089d3d4a6d11a5ca319678f9354790cc8bbafa79c9bb74709650e5ea6104098ec4aa15f47e45e6e53e4f7de3255ecd5489aa49af0ef0879a665d39b274794685482010ac44c9e5481888ec4edc8c8b700bd9038acfe119b51e5151757648375cbaeb6222ca7da88076b08204d0d4e9aeb93bc7eb3afe15a54664402b8bbec0bb +Msg = 390fb4adb6b1b14c59872d1584b5d1e2378fae4a3efe1923a725b9457944de91a3dc14323314f923c85b4bf14a4f45c3d8dd2c9702aa25ce39b249eb8330fb9874bd79ea59bbb2e5b6f45843f37f357152e4c2db247ff6693d2a5c49a51668f090fa0b5b9070859b0a9b7b90e70e49f58be9999c0b4535fb9ad319e845bfcda1 +S = 5df6894b07078bda9a4b3da89c7e92d98d66d3e67381adfb8e1a2ce8cf572069a42d1ebd39cef5bceb399c8e0823d25b594dfaa8bcb270a9281384b62341e91bcd9b25252dec25aee0c71085fc21cad423f65e144eec0d3e9a700b8bf7e92ac06e33ccc70f2bbec5f7e355fe444abb0acef58cf978e10a4a953a6ef0d48214c5 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebb1eb +d = 089d3d4a6d11a5ca319678f9354790cc8bbafa79c9bb74709650e5ea6104098ec4aa15f47e45e6e53e4f7de3255ecd5489aa49af0ef0879a665d39b274794685482010ac44c9e5481888ec4edc8c8b700bd9038acfe119b51e5151757648375cbaeb6222ca7da88076b08204d0d4e9aeb93bc7eb3afe15a54664402b8bbec0bb +Msg = 5b546a186eb7af3e5c1270c3b97904efbd1189b79b17d9e10f24ba6936af5524a3d3eaa3af52c15a10db6401ae880b3bb2ab5876dfca441225e85ac57306233eceeae108a01f7fb2523dc92d1c6bd9751c21d173a633d023dc0b1ef27e35aa6a0322b710e825d28d48c2070dad2854e526fc5e789958635b5b1470b7fe44d4ef +S = 52119892d0cf2f9d556c9119979ed9d9e49cfcb4d634b951e7dbea750f97c1bcd2b713cde92ae5cb91979711aff3891aed1f514265d0ee7273630fdcde3818cd5ce63494604a89dcc9745d0fff9bfcfdada043ba2e669c9a51121fdc0a7adeaf132476815afb47440f3e47d6508f021938596e61be6a982561855c29447f89ab +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = P + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1ddcd +d = 089d3d4a6d11a5ca319678f9354790cc8bbafa79c9bb74709650e5ea6104098ec4aa15f47e45e6e53e4f7de3255ecd5489aa49af0ef0879a665d39b274794685482010ac44c9e5481888ec4edc8c8b700bd9038acfe119b51e5151757648375cbaeb6222ca7da88076b08204d0d4e9aeb93bc7eb3afe15a54664402b8bbec0bb +Msg = 83d4b9b338fda00d34270963c6f35c854ed58ea8fcc7ffb8da3fa3f00d5e61a7586ab86de17ea8563880d0969554d44e614f01a6f8ef341caec9f71c10c2eed06c82723993267b7fdd35c3856ed628c1b840524b41719733a6231b18e1fc3cf6c7052d40d45de02f2b2f2a59d9e122855a8ecabe5eb7f1a6cd35570d087213c2 +S = 02908246b1501dba9daf82750fddb095f66ef66e8b26fea97ccdb120a7c9f5ae0faec977b37d2a7c3c4873fe98139d85e2daa02bc9df1213f78c5417552cddf3844952a4295a6babd59822a824fd3404296532a2e8dd004244bf95ad2282319ac07e31afabc092c25bebd23d29d748e60cd6f8c5fc0f365390169b3a8da1e38e +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebb1eb +d = 089d3d4a6d11a5ca319678f9354790cc8bbafa79c9bb74709650e5ea6104098ec4aa15f47e45e6e53e4f7de3255ecd5489aa49af0ef0879a665d39b274794685482010ac44c9e5481888ec4edc8c8b700bd9038acfe119b51e5151757648375cbaeb6222ca7da88076b08204d0d4e9aeb93bc7eb3afe15a54664402b8bbec0bb +Msg = 3150fcd0fee48e6e623e34a588a99cb5c202bd0ad8bfc863a0305b33ce05f8470e11b7aa504d37c66320dacbc6dd3255bb8eb6499cf0baff72be9ea7c43245e5adcac8bf31486cb9d1fcd23e5d456e420a563a26c536acdcc60ae54b67972bf5370399d74adb1590d45b83c6f6e938c6d8e2b26af8998640c29d99e8603b93be +S = 73e59071308a443d194c43ba89bc5700e0932699b8923a2a8491db20433d90c80289265cfce1cf419b83873bc5adadf42dd26d367819ddfd5110c31e7c1fc7b86f94e782c55023e21694cf05eb08eee9838cb35081847c7472840ece7252c2404d66f173f6c6c74db5f9d247d93f1ed077f37e574804a7dce99c03f393149fb4 +SaltVal = d44bee9eb335dc0fee17bb22e8dc9c35ce06c504 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d060960864801650304020305000440fd58ba0feb34d065b4e35b560245beb1fafbb62413541a3ec63240e3bd106b8d8d3bab2a93bd46195468725d5e6b20df63e40bc429fd80e9cf975dccfde5bfea +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +[mod = 2048] + +n = c4b9ea11f21cd93c01f56c4219db7d2e52581a6c968705c06588c036b6f51a27de43ba0006d6e54d9ee20dd8bc1c4787b4c45e9545cf98c7872100f6c3492f5c3f1ce2d28caf10fa611cc4a4ec94543fbb872ef0fc8bb9558360960e4e386874d3beef4e9662e8779304e8d09bfc290a6fc19e9908e8eb49336ef02224107bd74de231f2610d76fa834baad342e87f5ffbd56ee8b459702425109af864401b713cd9e96a01137a860c3079e13704d3328003136631062b198be8d644ed99a0c62f94cf7971a0f2875592f35e362abcf2845a11ee98e5f01a515abd0d03646da28123b45cea4cbfd7de9bc399fd9f05349a2d0386516f70f5c9a9970d3231ff73 + +p = c76dccd23a782caf104a8cdcbbc0abe129b4809ed77d811b355af97e9ab7dc2caae9215365db8411977d7f50899ef1878092bbb74ee1e5d9f3f08e538b60ce21ef14860e8d1fade419b5eed6c276b671c57b40c2688c23b8eb6605610f445e2de72c071c040f67352a9cdd3cc10625502a2a4b2fe294c500687563f398862f8b +q = fc87d9a4344a73e7c6fa3aec6f8ca12ac23df07a9fe865048d897bfe188c1ebfc827615c7f9b2883ee507ee7572065c167519064d3e9340a117b5b9c8d617d4726ca272bdf3d6b63dfdf959790ac2fa0e0c2fbe730add11b4e88725427d2da9aa69fad7ebcd49571c9487f62057fdee7c6ffcd94ca21a42c258b96a53ce16cb9 + +SHAAlg = SHA1 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000645c29 +d = 4b67ab77475f4707c2375c5bde74172a6a3473837a8be8414118dac49a0ae3221c2f2285d443a92c4e48fc5f153d6079e61b2a9cdc6bf99491f9b1aa035912adb82f6c54eeec1b692d1876428d9c522dd7ce0f737c9b0c4e3ae487e1614bdc2757f1612114890638bd0a924edf23c092e8a938883bb3a61c5e4b2250cd347bd8003171ede6a8e3a3be7c8ac52af90eec7a39f667caadf77a11e6832959c7dff61a554f4987a0634589342288480ea6d67aa5ab617379d974050a8ce866d5d93d0ab95a8e34e12c7b44879d91d1c0ceb21104f187b258e246e7826bcf707413878ed35f6d20c486b350a4e4211dfec9796fd6b313253d68f4ed63378cdd3aa05f +Msg = 6c0e15a99f9948d41980d7a37a327eb280c70a6b7b9f6bce01460b6ee29b5ebc5e32bb8896f66ac54113fe8da013e465b4463dc1ae68e9cba77ee4609101d65b6e3ee517c0fdce2f40613488d20f3892b99249ca07ff3d8458d4a1e7c0264e3902fc3d5d03f69d997e32229df86f9fc1f773d78f6fab91817d12ea0b5753efdc +S = 573cbed450f945f56497273fc3c1731d6198067ffa30047e38d1e6afe0aa643ae051b6a19ed64ec81a7621045492cfe8ad18c98e58b6238bc77c24186290dd990926a9fa6ce06eb0891db942c07b44fd00457cf277b12dafd0d636766456254b02087d0e05253f1fec4cdcfd65885340b6c6ee46bea267aab3895cca4ac8dddf15ce1157603f272551c47d792709e94a894b236bebda73af22d840c34d59e5ebfac5ab3f52cfa43398dc14113f45f5ea5c1f1539dbb7cf70bd632931fac73c26bd28b9301338a22aec43b8f7564736543af56198f962fc30369b50caef1eda10806fa70dae5c072f7f4ed1fc21e89d7986aeda084b5c4b8e51a2d9275ecb38b1 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA1 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000593d67 +d = 4b67ab77475f4707c2375c5bde74172a6a3473837a8be8414118dac49a0ae3221c2f2285d443a92c4e48fc5f153d6079e61b2a9cdc6bf99491f9b1aa035912adb82f6c54eeec1b692d1876428d9c522dd7ce0f737c9b0c4e3ae487e1614bdc2757f1612114890638bd0a924edf23c092e8a938883bb3a61c5e4b2250cd347bd8003171ede6a8e3a3be7c8ac52af90eec7a39f667caadf77a11e6832959c7dff61a554f4987a0634589342288480ea6d67aa5ab617379d974050a8ce866d5d93d0ab95a8e34e12c7b44879d91d1c0ceb21104f187b258e246e7826bcf707413878ed35f6d20c486b350a4e4211dfec9796fd6b313253d68f4ed63378cdd3aa05f +Msg = 064206831cd415425cdaeb49ee727dc90e74917f55a723883a340877d85ad1a5f264f2c834d824c7bbf207cdd8500c9d11ef922569564f55e211f2313f6106250e321a99e64d1fc6eecf11c89edadaf4ca8a736bdc2b4cef61a9eef6c747dffd6494c51fbb9ccfe6fb5b5161c977ae773f2e7b7a358ce100bfe243eef67521d5 +S = 385b551fca5e32d9e3ddb5dca31464b14cc4303688c173a43e13a8f036a9c9184d5573122398ccfc5f5eef01c3a0b29d25aca8e388f6cb84720bd6bdf32da681d431b6de9feadb4631ae7fb1e2aec9a30b99f82e620246357c4588b0b975c0a3f6797b71dfa741dd0150f9b614685accbb7609a5c511be4d522631c3f9c84e308c6e7034fdfd78da43eac1d45983c653eb57677d71309588cd18b6223024c2289c8ff5bc62cc7143de19c446e56c0e95245e84899972832beeaea36e5010e9bd7df8ca0bf464bdfea13ac4ea1e57ffe8f7f65a5e66bdccba127f08fbb808d4b9a7288b7f3f2a42233de496833cec587f360e135a7051a0a9fd24d9bbdf0fa10c +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000593d67 +d = 4b67ab77475f4707c2375c5bde74172a6a3473837a8be8414118dac49a0ae3221c2f2285d443a92c4e48fc5f153d6079e61b2a9cdc6bf99491f9b1aa035912adb82f6c54eeec1b692d1876428d9c522dd7ce0f737c9b0c4e3ae487e1614bdc2757f1612114890638bd0a924edf23c092e8a938883bb3a61c5e4b2250cd347bd8003171ede6a8e3a3be7c8ac52af90eec7a39f667caadf77a11e6832959c7dff61a554f4987a0634589342288480ea6d67aa5ab617379d974050a8ce866d5d93d0ab95a8e34e12c7b44879d91d1c0ceb21104f187b258e246e7826bcf707413878ed35f6d20c486b350a4e4211dfec9796fd6b313253d68f4ed63378cdd3aa05f +Msg = 624ef431a1c81e279c7f3e37609ee57c27c44333ceaa3e7a8905c658d6ae62feaf000f4c04814b9768c56daa0b90370ae83bae7f3f5929cf469aa9cd1cef6892feeeb50bbd79feb46f9a2fa265b23bc75ed3f772fa6a2f157221f44b85033319b6e18c74b4f560041ac62c28584b163af153c614e82577d374634edbfb34ea1b +S = 3162cc1bb742edb6bb18211dc80a5fb1ab196487117080580c2f28059c64fb5aeddf40d98b2cf95024f8dd9c1698f06572f7f1682b67868749d33bcb678a3dffb9e4bde290d256c7090212844ff279906291002bff161b30e256b7e57a65f5c89273956a0a92e1482a90dc8fb2707cb3b64497c6ed40bf89c5b73de759a8a40e2f95943aaf6ba80946704f9171eec6d68c11f4158bc29141bc1b31d8ccfc62e9f4221dcc4451fb4c1619765aa230cb3c487bc9a055f61360e9c42e938f16e38fa4257443b0939c7d5506c4652c750f22788f6db34b0df54c8bb1ed75650f7434779041abe1b70c403933beefb3d22892849e00206d01ed74fe1376128a41e19e +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003021300906052b0e03021a05000414c06c7917c99e522ac6dd7b8c129369383ea42718efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000593d67 +d = 4b67ab77475f4707c2375c5bde74172a6a3473837a8be8414118dac49a0ae3221c2f2285d443a92c4e48fc5f153d6079e61b2a9cdc6bf99491f9b1aa035912adb82f6c54eeec1b692d1876428d9c522dd7ce0f737c9b0c4e3ae487e1614bdc2757f1612114890638bd0a924edf23c092e8a938883bb3a61c5e4b2250cd347bd8003171ede6a8e3a3be7c8ac52af90eec7a39f667caadf77a11e6832959c7dff61a554f4987a0634589342288480ea6d67aa5ab617379d974050a8ce866d5d93d0ab95a8e34e12c7b44879d91d1c0ceb21104f187b258e246e7826bcf707413878ed35f6d20c486b350a4e4211dfec9796fd6b313253d68f4ed63378cdd3aa05f +Msg = 7a884d5e7edc74c10c44418e47ec7d7dd66db0012dfc8a200ee181824f2cbcc8dda3301f01fe0914e2574baa4cdcb9a9afc7f63a6b90eab14a6067aa4eca0c57aeb66a181b9d664c47fcde68a80290467a8c37bf0354f67b1a65fa08ead35c2af4a8447253215412441b44f0e5c8c9f93da6bcb87db2782785d984c5aaaf72e8 +S = 8103b5648993736624556e994e052f6fb9b7dad36bbb845bf788a31c325f02c6f13971900c08948f448438472230ea69a6002f52417b53e1d32954d96dd35443ccd459b98d4c211c2277b54b36310cbff6da97298cd6ef261a7b4f7027ee11b97081cc710a7a3bc65714e1c69cb37bc844023691ec9f704d57357eebec21a27f6e624f46d35d88a64cfded5c5fbce3e97e71bad21f8d09f07de8afcb73e5d165999ce7fabc8fba8100fc7efa85acd447afb593b97b8e86ad24c1b93e2266d9cd433331c6c9395e1a7a4431ec46d57d53a37afbc985db7e4ee32d34da6da2727b930fe6ce8d7429bc04ba4877760d73fd1ee9c8e22478737c73405136a4e3d5d2 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = P + +SHAAlg = SHA1 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000593d67 +d = 4b67ab77475f4707c2375c5bde74172a6a3473837a8be8414118dac49a0ae3221c2f2285d443a92c4e48fc5f153d6079e61b2a9cdc6bf99491f9b1aa035912adb82f6c54eeec1b692d1876428d9c522dd7ce0f737c9b0c4e3ae487e1614bdc2757f1612114890638bd0a924edf23c092e8a938883bb3a61c5e4b2250cd347bd8003171ede6a8e3a3be7c8ac52af90eec7a39f667caadf77a11e6832959c7dff61a554f4987a0634589342288480ea6d67aa5ab617379d974050a8ce866d5d93d0ab95a8e34e12c7b44879d91d1c0ceb21104f187b258e246e7826bcf707413878ed35f6d20c486b350a4e4211dfec9796fd6b313253d68f4ed63378cdd3aa05f +Msg = 6305a7c4512d7d903eae65dc8e629c81060da681eaef9240659a7ff12a025f4e5cd3fb8cac07388ec1b79859dc3103c8bc4cc880bff8df274b1971d16c9699bbbeac6d3c8e8938f83c160a57e31473363c6a8bdcc0bd352f0d42a5278bd020844f3a03bc40db07387872c3bfed3173335010f77b35671fc075bc25dcd0d97b0f +S = 40e1afa3895d938a9738791578a343c96095db0e72025dc2f80fc94a64143425abd96b9a3b5d039a5645c2fc6e70bef64a3deafd9eb6dec041c49e04f86d038a61719364d4f3599f13a8ba047c2f88a9638c75176ec15b26b3b37530441a120e8431ceca4c63c592789a1db9bab49959d593b273823bbab46b5178a8d1a79e7f93c03bb0468d5f64e5a0f5c607f38d4106022e4eeddb34ed457dca40a4f25fd9cb68d497b42d961091e4a06e6ad70a2b76caa8e267d54f8ea9aee85d4f8fa510b5ea8ac9b458eb0556566e8a71145a733897e0098dcb540dc4247a0f5f8b1e9735a636a4561e96141e33d3beb629eb90613c0d23f8330d3ceefb11e19518d219 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (1 - Message changed) + +SHAAlg = SHA1 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000593d67 +d = 4b67ab77475f4707c2375c5bde74172a6a3473837a8be8414118dac49a0ae3221c2f2285d443a92c4e48fc5f153d6079e61b2a9cdc6bf99491f9b1aa035912adb82f6c54eeec1b692d1876428d9c522dd7ce0f737c9b0c4e3ae487e1614bdc2757f1612114890638bd0a924edf23c092e8a938883bb3a61c5e4b2250cd347bd8003171ede6a8e3a3be7c8ac52af90eec7a39f667caadf77a11e6832959c7dff61a554f4987a0634589342288480ea6d67aa5ab617379d974050a8ce866d5d93d0ab95a8e34e12c7b44879d91d1c0ceb21104f187b258e246e7826bcf707413878ed35f6d20c486b350a4e4211dfec9796fd6b313253d68f4ed63378cdd3aa05f +Msg = 1c9c81544661aab0ec7f6296572cd608cca51f55b4c47c48fad5df9fb5a6acbe07ddbda5448ea920570d463d62016c03a5bafc61a1c521657dbdd6afa863a924c0f1bee7b3ac168524b9116f103132aeb17823d2a2caf92b4516b83c62101a6d10828c00d9e27a46192acc13a7e4b16fb7849b8efffb8b0319898e3029d38701 +S = 7a5da603b9e8af2fe8787abf9496c27324fe31e2967cc6451898587da67c337cf03cea8a528465649f76da77ed4b23b956be317ae3929aeb0664ad06a6bd83a9228c7a31f14fe54b879b8019e4622af59d31c7e4924ebe0d6260ff83013f2f684dd34671cdbbb9b9937f5d8cbc13d222e3809a757d4168d7210039fc4edde9fb23e27363848664ba10a750a7c3f3e06559303762acff5c1524b369f5fc8b0768c4c465a88720cdbba36ab49cbd6a95d4cf15c45084a84d7f88ab61d1546cbe1d56ffb29e9ef80115f67c8a962a31c6d4ca742ace4b53667ff9bf44f7a1da87648153e26080560bfe82204bdee00a7db0b14be0c00eb29a4e9311f620cb81e314 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a0500041414974933843b32db5427fe29deaccdf095e3fed8 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = acfdfb1dcb1459b489cd4a8c9fab64a7da4f044bef1c506f0872e9476f3357abda509d9fb1db6a4f5306c40c058826253171cfedbc160776a48ec35b655bb9963286b6aece1c77dff987a0aae9720ba035dda67f317101bd3cd4e6caac867a8c38b87067938e96e72df1875f94e43e4c06f7a86a1dbe07836ee69763eee29bc13ca906d7740c29e651872a9ec7c6237f7c8290bb0800a030b323d09e7c903751d21a224266f9d6c94c17a4c0cd8175ea67b9d9020f2b3f31a96206084cddb2acef70b11ae25a46c4f6817c4813466d7cac76b27927145bd499ff87f22a946b688e980a00a3d54c72ab9c2c88a55a3ea4c6784068673532737cbe4799e98bd711 + +p = f1b83a1ecdf000ee6edb31d04b9769db177b11ab8eb41d210655f866f0845164412e214d9abc4a68d09c8dc7250b9924b4ee891f875426a89d81f15b62721f3f38965df912ee285cfa7cec6a696866e7454081bdb073d79ed5b5eb688fbf3fa56f223610de0e99745088956557fd62b78c40b03f20e8e18501d55ac32ebea755 +q = b736513da989d1a653114ded0823d346fc793fdd39861a3f8e071b70c1cfce10a66d6233ecf7a3fad50ab9276c2241164a13115a4f6a264bc83f029907ceb7d526586f1c3680de1d627d60b7faf9655b8f8b5a56c57228fbd1420c4e2cf69465823cfac9217fcd1f97bc96f788592f941e729f658aa13caf1124d728cab078cd + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b29bc5 +d = 29d83f1a032c6a1702d25eb47ee39a09969b83b3ecd764c9ce9cbe08e4dba20d711931820a6d90d26cd666d4eb842f66c12f189d13f67df06eb57edd4e37290a4adbf65a0fe5684e95d8287d9df3b32d3ca674bac95d13adb11dc40121f720df8dc2b5551fd98e167159e2eecdbcf7273a53ddafd8ee08ec9f857c1cfae59c282d3b13cc7dfa8fa85f68517460186f5b72faebe431d262af40d04ad00fd86e2b2cad64d86dcb5f738fc627eb4fcc3fd5fdd5742bf48959701a841016ae6f552a0e40c9279c544baf7c9c467e4958c7018c9f2a4becd9e03f40b4e854acb6534b1b3b5fd27fc085318fd7174a48660ef647574e0f2b99783fb17cece00096d601 +Msg = 7ced8a54c8e35ef5c87d03ee6357b658e2e528eda55ad30f14c88d0cd9895ea04ddf8fbb2fd703859c73cb9f3b07f4acb9e4a311753465f87c25c09bb74a0ebf633e8b7ec28aac4a10c8b22fb9098058c975a9d5a431ce9cf78627cdee3f5f3aa852a526e8c3004d0dc6e22544240164fcdf62c29a19b6006e32ea29e631fa18 +S = 8c074bae48454875aefa2b7ea090d11d8860d7cbee5ee4c3ed02cb45aadb0b4516872b0e4521789d503b4e70092ca2a0c7a88efb7d74c63ce8dffcf06995af7c9567a8df05a01b243c5f3edcfa3922d06967bec9d0faad2c84486dd38602a416ef253e4a28f74ca290e4d743accccd204d8b136dd197e7a2f25a2707f339c6ba444c19bc047dff0584c479ab07c2ae68f219c3c430f19cae3f711c0efab8d09f85ab66ae948c357db67078a359b9c746d2d66b31486c83765ab097b540b5e6f626c9111a295855dff5c2acea102f6a29b9569909dad0d4c79a941a3e71b3137dc68ae2296b6f8175bfab205432e409be9075d12580b5c14924dd53c3d44745d7 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = P + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b29bc5 +d = 29d83f1a032c6a1702d25eb47ee39a09969b83b3ecd764c9ce9cbe08e4dba20d711931820a6d90d26cd666d4eb842f66c12f189d13f67df06eb57edd4e37290a4adbf65a0fe5684e95d8287d9df3b32d3ca674bac95d13adb11dc40121f720df8dc2b5551fd98e167159e2eecdbcf7273a53ddafd8ee08ec9f857c1cfae59c282d3b13cc7dfa8fa85f68517460186f5b72faebe431d262af40d04ad00fd86e2b2cad64d86dcb5f738fc627eb4fcc3fd5fdd5742bf48959701a841016ae6f552a0e40c9279c544baf7c9c467e4958c7018c9f2a4becd9e03f40b4e854acb6534b1b3b5fd27fc085318fd7174a48660ef647574e0f2b99783fb17cece00096d601 +Msg = c9a121fa15bffefb864fe3cfc2b1bf775886be3ff5151c40daee3c288dccf43ecfc02ba0cf8ca7cf9d4d206ee15e9947cd78f08f501eb36b8d3835b38bfee1f52e17cfbd66029513a6b66046988543e80f46ce1a3db3e30a2610c5b9540e7202ccee33d842e971cf89d0cadd4df0646204388167229e54238cbe14c450c44e6c +S = 7d081b0e38d73256476358c013908f3497810ac4bd5d76252f3ef440c5742ea552ef5348eccf6ef13afdf616288dbbf05a5b25e66a8745d9ddf66639ca89366e28062529e80b655b0268e922c8d77eb8ceee830fa14c15238dc1442dfdaffbf92436c794c24f6104374bf131616bcf4cca12608cee203e7eb0eba04556a0a0ac3dea9fa39dac8082e39f9a739955e036d0636008f5c3c4f823a5e6e5229fde6b94f986520de9b9a77ca34ccc0236762c77e33e105a9346553dc0e4469d3929ec38e8813a551af26b0f7d9dbb12d40b7d9fe195948e1ea1245362b01faeb4157605a9ab5158a7bc4df644f12121b03ee22e9f23fa5f40067b333b865bf3e41244 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c5abcd1872ba5a61709a22537adbfc16ba0ff5916d7907b4a0e8f51f9efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eaf989 +d = 29d83f1a032c6a1702d25eb47ee39a09969b83b3ecd764c9ce9cbe08e4dba20d711931820a6d90d26cd666d4eb842f66c12f189d13f67df06eb57edd4e37290a4adbf65a0fe5684e95d8287d9df3b32d3ca674bac95d13adb11dc40121f720df8dc2b5551fd98e167159e2eecdbcf7273a53ddafd8ee08ec9f857c1cfae59c282d3b13cc7dfa8fa85f68517460186f5b72faebe431d262af40d04ad00fd86e2b2cad64d86dcb5f738fc627eb4fcc3fd5fdd5742bf48959701a841016ae6f552a0e40c9279c544baf7c9c467e4958c7018c9f2a4becd9e03f40b4e854acb6534b1b3b5fd27fc085318fd7174a48660ef647574e0f2b99783fb17cece00096d601 +Msg = cd69ac8d1c46f54d46cc9aff98e078521357a36177b91392a0459abe15351993df43f437976bc32ec3f34b7e63a9ac11c66cdb5aa2ed533c64b70827c56d9d849e53d653fd10501278b370e1c1f399e57bbba2ea4ce6874c34475e171dec8d6db3a33b2875be04c10c14f171dc48a795da4ede579d2a158bb7fb84d745395317 +S = 5725c1ac60b2d610977fae6c52a94155d687d575aa2f5cee817dbf77e1ed692266c0ff14a2105b343dcbb075c43ee6a839a64bd1d151d3801e62f9d76c8d94787c29d1e88ca2ea7f23d7ffe1aac3d5072f556a8087516df5dff9fcde5b0e849d08f1b42707d2cda2eac462bc8810737e03d47dc8240db73c3ccf7106886f8ae9c4c36473493cb5242e2d70bd5c36be35ce1e5aa5286d6439b247fb64ba06af222b133f05d39e6a44a1ad6ad567b9e0b5655486af0b9cfef1d714f311dfcd983bd90674f964f64243be02feb3a202cd5f945505826fda112bba3e5b837bdcb9e974953ee7b1ad7a6e21a0a64268d52eaba083c6719632c21e6615fe4395ce3f53 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b29bc5 +d = 29d83f1a032c6a1702d25eb47ee39a09969b83b3ecd764c9ce9cbe08e4dba20d711931820a6d90d26cd666d4eb842f66c12f189d13f67df06eb57edd4e37290a4adbf65a0fe5684e95d8287d9df3b32d3ca674bac95d13adb11dc40121f720df8dc2b5551fd98e167159e2eecdbcf7273a53ddafd8ee08ec9f857c1cfae59c282d3b13cc7dfa8fa85f68517460186f5b72faebe431d262af40d04ad00fd86e2b2cad64d86dcb5f738fc627eb4fcc3fd5fdd5742bf48959701a841016ae6f552a0e40c9279c544baf7c9c467e4958c7018c9f2a4becd9e03f40b4e854acb6534b1b3b5fd27fc085318fd7174a48660ef647574e0f2b99783fb17cece00096d601 +Msg = 23708e055e891826f8011b1f48a1c7ad24b5d008f9c91ec31ab1c5f358cc3793d389b927102913a04bc78c800e96153e026bc5ec067b85177e650defed730fa7c71cb11f80ce41c1e9eb24a9bc121008759f7cca6475547601fbf0567f6447d9a4346035d7ff0a507b74cde17b9b20d2265bdcea3e3ff1a84b7a5872352849ef +S = a8cbf34ffefba916abf4961a6a1032c01bc4aeb8278ba42a18f4f67fdfeab49ebb05cc289aba475a9667649c6ecf6a8ca17ad81f17d5109807c2b260ac440e134e55ee429213cb8e8a2314e7049019fe95ba36e3ec1ed1e77108e4fd84abee28423996e3fbba3d38b285a055d6390d3d8f5b21415e6874ab37423efea5726d47bbfed125494a2164eab12394f89843f8d8a5bd3bf05b31b598e4caa0ad2a8cad4826d238e4ab8d005379f100f97398d896684b08753c89863c224d65a475443d51a91ed668cac691ea7030aa737c3eeeb9db33cff17ce9a8e399bb2b3cdcf2444567398db196fc86ba76114dbd13096cabd692b083fea1c7a94e6564c2e8c093 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b29bc5 +d = 29d83f1a032c6a1702d25eb47ee39a09969b83b3ecd764c9ce9cbe08e4dba20d711931820a6d90d26cd666d4eb842f66c12f189d13f67df06eb57edd4e37290a4adbf65a0fe5684e95d8287d9df3b32d3ca674bac95d13adb11dc40121f720df8dc2b5551fd98e167159e2eecdbcf7273a53ddafd8ee08ec9f857c1cfae59c282d3b13cc7dfa8fa85f68517460186f5b72faebe431d262af40d04ad00fd86e2b2cad64d86dcb5f738fc627eb4fcc3fd5fdd5742bf48959701a841016ae6f552a0e40c9279c544baf7c9c467e4958c7018c9f2a4becd9e03f40b4e854acb6534b1b3b5fd27fc085318fd7174a48660ef647574e0f2b99783fb17cece00096d601 +Msg = 0af6365d6065dfc44795d87a8119fb44cb8223e0fb26e1eb4b207102f598ec280045be67592f5bba25ba2e2b56e0d2397cbe857cde52da8cca83ae1e29615c7056af35e8319f2af86fdccc4434cd7707e319c9b2356659d78867a6467a154e76b73c81260f3ab443cc039a0d42695076a79bd8ca25ebc8952ed443c2103b2900 +S = 3b32dab565d2f0a5ac267ba8fd4c381f5b0c40f20c19f0dc7b236232a8bdb55c1c33f13f4f74266d7628767763582bb0fb526263e2a4521e09a3207ee5fd7cfdcdac85ccffe3e1048f590dadc19035bf2f3b5b954e8c783f6bd3e99d98930aea8eced5e3119331be1d606410d16d0e5ef069179cd6b513b94b36c1cfe6ad64ad285e818b58c4c89bf9330c4bcec96d08ba21a35cd4851da1f405d928df3fcfeb85108171bb4ae5b0310193bd8b5b861983b7a2483ba6bccfbf2d6e15bac1e2f2f8363c6154546744e301fd2661ebb3a29030d269c8954ace992b075c63ac12a992eed4956cb2a48495d82c47fa68e66740d38a80caa69190b19730ed7d72835b +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b29bc5 +d = 29d83f1a032c6a1702d25eb47ee39a09969b83b3ecd764c9ce9cbe08e4dba20d711931820a6d90d26cd666d4eb842f66c12f189d13f67df06eb57edd4e37290a4adbf65a0fe5684e95d8287d9df3b32d3ca674bac95d13adb11dc40121f720df8dc2b5551fd98e167159e2eecdbcf7273a53ddafd8ee08ec9f857c1cfae59c282d3b13cc7dfa8fa85f68517460186f5b72faebe431d262af40d04ad00fd86e2b2cad64d86dcb5f738fc627eb4fcc3fd5fdd5742bf48959701a841016ae6f552a0e40c9279c544baf7c9c467e4958c7018c9f2a4becd9e03f40b4e854acb6534b1b3b5fd27fc085318fd7174a48660ef647574e0f2b99783fb17cece00096d601 +Msg = 4cde2a6d9ecfdefa3c631c95aa9933634ae12668db8b53a03f80524b8130208816cb7d2563b492b68033d7e43c6a3408618a67f93946a521508884d77c6318e91b4a5c779c7fd40841cd71d7227ab56e767817760edba9ce2290f8da504b341ee2c1910b5018ec18059bb21566b3febc1112018a6232a7cd3cfe77fd06cfbc4f +S = 4151dbee3d483d20b57b51d80bd2d382fc85575fa031582a88a135b2615c0a079bb08c2cb7ba6020c35706aadfb6bc35d69ce4df0b2e5fca1ea62a807e9765501571d6d123ae114afc19b26ba4b5db1b0522859d2269117059651053b9d72cc253c90285652a7e3094dce3eb5c9ef5fbf35eb268e3b8fe693c2bfc4bbb8682d709a12f3038fd04629bc48ae13ee91112741dab717c58856cc4215eedaeedd57edb2926085ebc05d15038f0deba90b00e18e710e64d31ff563a1ac88ecf9cadca2845babe9dd26771f0a629976fe13ba14f7c9ca37b98bb3a9d96ca9d72273da78ff3b17f6d7aa2645c42e3251e9161c958bd6f10d20f08fe2437aa79d73f9081 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041c7a2f924286fa553fe59ae2c0d8068a36b032ff6f919b26826edf1a1f +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = a47d04e7cacdba4ea26eca8a4c6e14563c2ce03b623b768c0d49868a57121301dbf783d82f4c055e73960e70550187d0af62ac3496f0a3d9103c2eb7919a72752fa7ce8c688d81e3aee99468887a15288afbb7acb845b7c522b5c64e678fcd3d22feb84b44272700be527d2b2025a3f83c2383bf6a39cf5b4e48b3cf2f56eef0dfff18555e31037b915248694876f3047814415164f2c660881e694b58c28038a032ad25634aad7b39171dee368e3d59bfb7299e4601d4587e68caaf8db457b75af42fc0cf1ae7caced286d77fac6cedb03ad94f1433d2c94d08e60bc1fdef0543cd2951e765b38230fdd18de5d2ca627ddc032fe05bbd2ff21e2db1c2f94d8b + +p = c847798fc8e395e65ae2216f83fb125778d6c95c0a3d78a0e0c0f968960a603ae580acc3622f15c0d6817de5bc1f86bf74cf390d423fa8e56d587818b5d71f481a415cee9d7bdfd0f22cb21a6034177da76d21296ca2a5b716155fbde181cfd3a722121e037bd3c1cc6343c26182ccf4d3a2d1a8b3327a547fab6fcec1793287 +q = d24067f131aeea70866c327126b9cd4c5ae574fe770ba5a5b371c665e3f58de88f308de1f61ba1075210c6aeb9132f60a544da04772796dfd79b1435ebc6dfa6fc9b5388cfd29189a796857c340be076efc2cf0d18fe7534399aa353d0eb2b3d957eaaaa09230e4171529c7f1757012dd54b8282eddcf737bdd314d3dc2a99dd + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e43f +d = 11a0dd285f66471a8da30bcb8c24a1d5c8db942fc9920797ca442460a800b75bbc738beb8ee0e874b053e64707df4cfc7837c40e5be68b8a8e1d0145169ca6271d81887e19a1cd95b2fd0de0dba347fe637bcc6cdc24eebe03c24d4cf3a5c6154d78f141fe34169924d0f89533658eacfdeae99ce1a88027c18ff92653a835aa3891bfffcd388ffc2388ce2b10568543750502ccbc69c0088f1d690e97a5f5bdd1888cd2faa43c04ae24539522dde2d9c202f655fc55754440b53a1532aab47851f60b7a067e240b738e1b1daae6ca0d59eeae27686cd88857e9adadc2d4b82b07a61a358456aaf807669693ffb13c9964a63654cadc81ee59df511ca3a4bd67 +Msg = 7518c85b67e7aef7f26bf006899faef76e076f0c6c946e5dc9c83521771a6d298a9cf5adefdb314b5a07a54d8054c22b879fff50ba552c218291033c918401fd611a7447dddad4815e0f56ded825bfe256557622a385de4b4a69e265c1efd259e2da6db19aac3fa0e5ca2d42fadb4e24c271fc078feb2be10b9afa256f228844 +S = 992d48b21bb3d2219b44e8fcc8633cf3aeb591de90f4386496ac7ecd284cb63d7dff81a50b8c4fed9f2ef737692ea6be05248ca138947b49b4e7f3cce6640e049ac2154c40f57e22fa14f97e7a9507e1dc98b206ce6ea0e180039199d1be0a15d1f5093a459e5101aaca2a23cb1f59cad2f1fb99dc956b9d4344bad2c1121d63b915004acbfc7ac60ac9a7b0b1c6812b30bfe087f7f0c7d1625f9c4f458515e11478e3604aa39d14d08bea30b01fcd6189e6f9b701d360e4714d45556b29815c8d8fa8e46e10749ba5e8d445a4c0f487e70ab5890b7ccc1651282a54e87e7db4bb2f7d4a671e71c43c55cf6486416f171d1955037474d06a71dd078767848e5d +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d0609608648016503040201050004200151b14164a0446a4a7f25c7c52ec92d17d7d01a089d5a4257d660084e8910aeefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e43f +d = 11a0dd285f66471a8da30bcb8c24a1d5c8db942fc9920797ca442460a800b75bbc738beb8ee0e874b053e64707df4cfc7837c40e5be68b8a8e1d0145169ca6271d81887e19a1cd95b2fd0de0dba347fe637bcc6cdc24eebe03c24d4cf3a5c6154d78f141fe34169924d0f89533658eacfdeae99ce1a88027c18ff92653a835aa3891bfffcd388ffc2388ce2b10568543750502ccbc69c0088f1d690e97a5f5bdd1888cd2faa43c04ae24539522dde2d9c202f655fc55754440b53a1532aab47851f60b7a067e240b738e1b1daae6ca0d59eeae27686cd88857e9adadc2d4b82b07a61a358456aaf807669693ffb13c9964a63654cadc81ee59df511ca3a4bd67 +Msg = e002377affb04f0fe4598de9d92d31d6c786040d5776976556a2cfc55e54a1dcb3cb1b126bd6a4bed2a184990ccea773fcc79d246553e6c64f686d21ad4152673cafec22aeb40f6a084e8a5b4991f4c64cf8a927effd0fd775e71e8329e41fdd4457b3911173187b4f09a817d79ea2397fc12dfe3d9c9a0290c8ead31b6690a6 +S = 4f9b425c2058460e4ab2f5c96384da2327fd29150f01955a76b4efe956af06dc08779a374ee4607eab61a93adc5608f4ec36e47f2a0f754e8ff839a8a19b1db1e884ea4cf348cd455069eb87afd53645b44e28a0a56808f5031da5ba9112768dfbfca44ebe63a0c0572b731d66122fb71609be1480faa4e4f75e43955159d70f081e2a32fbb19a48b9f162cf6b2fb445d2d6994bc58910a26b5943477803cdaaa1bd74b0da0a5d053d8b1dc593091db5388383c26079f344e2aea600d0e324164b450f7b9b465111b7265f3b1b063089ae7e2623fc0fda8052cf4bf3379102fbf71d7c98e8258664ceed637d20f95ff0111881e650ce61f251d9c3a629ef222d +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = P + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e43f +d = 11a0dd285f66471a8da30bcb8c24a1d5c8db942fc9920797ca442460a800b75bbc738beb8ee0e874b053e64707df4cfc7837c40e5be68b8a8e1d0145169ca6271d81887e19a1cd95b2fd0de0dba347fe637bcc6cdc24eebe03c24d4cf3a5c6154d78f141fe34169924d0f89533658eacfdeae99ce1a88027c18ff92653a835aa3891bfffcd388ffc2388ce2b10568543750502ccbc69c0088f1d690e97a5f5bdd1888cd2faa43c04ae24539522dde2d9c202f655fc55754440b53a1532aab47851f60b7a067e240b738e1b1daae6ca0d59eeae27686cd88857e9adadc2d4b82b07a61a358456aaf807669693ffb13c9964a63654cadc81ee59df511ca3a4bd67 +Msg = a3bf44cae8aa8347fd07d84a33eec5dbbdd7b6431368887c988c4be779c5473dd8c33ec82a35f1d3dddfe55f3eed67179b87ce86a4a50088172538fe9d1b06c6ef6897eb3c8e3618cfc21353ed4343e7fceb09a2eb035441cd5c8829c79b81582dd5d69ae85c5a001bd8e98e069961342a2bee00ad2b8b91015ac5cfc1f0c2d9 +S = 877f20eed60f8ce286108a5dde9b6828b37e3fbdb08fe153e591513897440f21f81214598fba08ea077394ba8c2a44aa4f0d8f3a5fbaec3dc69b3bddfbe28397c90adf35d08ea771c7aaa31eb06413c1c62b77618af940f4c71859fa4384d29b48e5cfc941d69bf0a3804d2008e758742b8ed68754bc71d231623d181347c36833a7d7160f742a37ce7d432d748e514aa7d8156b50c532151390d086cdcf9d59f122c6d97f4ccb737289f7b00a237cb6b4aae6ba79d41ff73d019a26b59ade04c967356e2aad52f115357ffb7676f190db38dcfc98666e5b258559c8c85fa32942cbcb99d757e8847e56a1687b3302415698708191b136d923349b02fe38b6be +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (1 - Message changed) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e43f +d = 11a0dd285f66471a8da30bcb8c24a1d5c8db942fc9920797ca442460a800b75bbc738beb8ee0e874b053e64707df4cfc7837c40e5be68b8a8e1d0145169ca6271d81887e19a1cd95b2fd0de0dba347fe637bcc6cdc24eebe03c24d4cf3a5c6154d78f141fe34169924d0f89533658eacfdeae99ce1a88027c18ff92653a835aa3891bfffcd388ffc2388ce2b10568543750502ccbc69c0088f1d690e97a5f5bdd1888cd2faa43c04ae24539522dde2d9c202f655fc55754440b53a1532aab47851f60b7a067e240b738e1b1daae6ca0d59eeae27686cd88857e9adadc2d4b82b07a61a358456aaf807669693ffb13c9964a63654cadc81ee59df511ca3a4bd67 +Msg = e1c46c309b6366fb4d56ac08c9393cee9a7c95bbe7b7c0e79a3d9187c0f42bc33364c28a770da585e3fe7b4901a3ccd037dfc42aa65a3470521ddafa835ce2d16c92ac670bd4d086505e608781736dc4dd64cc5080ee19e586c8fd1d737dade5d378b32f1d5df1e8dda0e32a125024b2d53334943c18782d7e69825a580093e7 +S = 8ed1f28fd16d45d416a21554e104c006fd7868e5895e8b99831ae0938135b543610df64a8c3574d08118bfe396f9a5609a8dbda21b9a8530ff0ba90e629d6abe30d2c1b590600db971fcda80e6eaa84017e209b9bd3b641f3c81d5d27f842bec8019790ed99a0e5db4aedc1c070b047c19410cbc56e9a0ff12d8f6e5d7371b1011ecfecf7be7a74f94403590a52f95238dd69e0b5f4c1fcde97ecfdb1acc3803e59ad8b3088b2bc509e3dd12d40d875625dc8362c579176799c75e4fadcdb392c68f401f68d854e46377f084c081f9d83743039f6934722e30ef3f0226bc841d79a4eb68c5cccbb6ae0e9200444e50ff0d0953047ef955d2d39a70c3b837c5f4 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e43f +d = 11a0dd285f66471a8da30bcb8c24a1d5c8db942fc9920797ca442460a800b75bbc738beb8ee0e874b053e64707df4cfc7837c40e5be68b8a8e1d0145169ca6271d81887e19a1cd95b2fd0de0dba347fe637bcc6cdc24eebe03c24d4cf3a5c6154d78f141fe34169924d0f89533658eacfdeae99ce1a88027c18ff92653a835aa3891bfffcd388ffc2388ce2b10568543750502ccbc69c0088f1d690e97a5f5bdd1888cd2faa43c04ae24539522dde2d9c202f655fc55754440b53a1532aab47851f60b7a067e240b738e1b1daae6ca0d59eeae27686cd88857e9adadc2d4b82b07a61a358456aaf807669693ffb13c9964a63654cadc81ee59df511ca3a4bd67 +Msg = 925d59f953cb3ffb6d5a3a55c079cb1083997536e33d7c8aed50ed76aebcde459938f79229613200c70dde2ceddceae08c10608aab9e30ec51842f14a65e5f8f553471da3497881927ec400b4207ef3e2dfc2b7fcd318c9520b8b22f69dc8a1a8efaceb7be93cbad569e67db062362913005dcff902018ed22937fad405fe84e +S = 62b07f6d1b8f13651d7f22ce2ce01061090029db5af7dcecfeafef20621dd9e254a0fb914f76a3d79662257489cb8122708583d30778791a77da83c7bea81140c61e4d0484806e20fb85f24d1bbf774ef2ed38809c9b14f2a58c6e8649b760baa901544522ed94bd405c77201d07c8d12864a8d1e97a4d322c29994b214fc83c2ecd5c955b9bdec424e7ca5a1325ec0aae4ab0c202b980a2187f096aaaaa5e85550ebd325799f4f30ef2ead07e79c7a475667f5965e6b50269513659ab5962a391c43cbc3a3da34c0fdd1546c40ea7e2eb5352ce6a06ce6a6385ca0ddd5d162c137836df9ea1f89cfa00c3eb1671a43bd625526f3b6ba8e48a7a2d56fb4f01c6 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d06096086480165030402010500042057f330f468b50dbeb58ec4e09e8cb37a2f9a75d9dfb66bdfa3d8ffcba31e8bac +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c6cd1 +d = 11a0dd285f66471a8da30bcb8c24a1d5c8db942fc9920797ca442460a800b75bbc738beb8ee0e874b053e64707df4cfc7837c40e5be68b8a8e1d0145169ca6271d81887e19a1cd95b2fd0de0dba347fe637bcc6cdc24eebe03c24d4cf3a5c6154d78f141fe34169924d0f89533658eacfdeae99ce1a88027c18ff92653a835aa3891bfffcd388ffc2388ce2b10568543750502ccbc69c0088f1d690e97a5f5bdd1888cd2faa43c04ae24539522dde2d9c202f655fc55754440b53a1532aab47851f60b7a067e240b738e1b1daae6ca0d59eeae27686cd88857e9adadc2d4b82b07a61a358456aaf807669693ffb13c9964a63654cadc81ee59df511ca3a4bd67 +Msg = 08d3ac24a595da811cc9bba78828f1452ff390ae653f22d1ad91ef6b22aa7b7b15a44ff7f83efcbd7a755eccf4541eb4040c7a4b774749a26dba3937b7f95c6c8490e3383d4f291dade5f35a65b1f6615fd4998be18bfd0ba4bc3a2136ceec909dbeef513d6f6689fc4202b9a3e78134877374d76ab246f49cbe7a8f65d034cd +S = 72ea7d669ac699a149c13aa168eb3e148f590bbc0424951f1c3144c541915573ecf05cabb5275488c98d0ebe55b1f1af49ef8cc72cf00e849897c6afa53833caf9ffc00eb84cfe55b8277e93a6ac3e04b111c9d07ad62082ca32854c40de1e0956a18f8460438484403abb91e6fad12b28f114157f1b6ef563d2fa438ccb8a16aa3afe6ec5e98365c30d9a355e7e14b039bbdecf59f91248d0f1e317d2e3c819096ed68cf98361d7f9310b354f4f45e2f7c4dfb82c218cd438f3174a6f017f0f148a71c40ad5b7e2c8081ddbaeaa764d601bb2e075eb3618aabaa4b5060022c6d23ef072643686a759227daef0331b28ee76da4ab3b5ad5dda8991b9937d1a59 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (2 - Public Key e changed ) + +n = cb59aae30883db678ea7b2a5e7009799066f060757525166030714a25e808482e752f04f78611b3509d6005b411530c9ada4d8fbddc85f9db3d209eccc6cf0cae9aeb902e96688d2547974b7eb3323eeaa2257cf8d5c7c97f5176e2cfd29e19d0487380e3e64338c73bd592d52e9dbcc9606ed5835758c1a112c6a004256b5c4338322695df2ba573be0e79a7b9f9afd497dd38eed39f05f88d7d399d1e984d048067596ad1847ce51221babf51873bad2d81fa91cf3d9fd307e3ebd41fc49a8b3252ed7a71fd2357330bef2f1f89f2c80f740567e2ae8d168e56f007e8fefa33d2eb92b7d830a4f978ffe842ef0697db50602b19642afc50ac1f837e476c0fd + +p = e5518db4730da5d04142b4f1e3ac9b12c1e7a6a221893ae7906d26637c2773d8eba8c16adba1bd27cc71911716a68453436c8e38be58be53b4506bf518afce883251c94ccc24ea8469d1660d01838691cb2c4d52757a643dff7f4af5e59fbca41e9729864a43a591b1f1a309afc81cea6752d30f2e33d5f92a572ff9fad71e73 +q = e302a04e15f5d4e4eab7046b94b9d561ff7f9fbde85ee767c819ccaedbc43523f9d2f3407c15695e10596e98d19694079251526328bf76499209c9d85858648f857c7ad32dc2794e607398df4447827d61c5b2814600d27805d44ddf2daf7ac2c462694da28f6ffee273beecfbfba1c5b1949ac4611a12b39691d615b16bd6cf + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cbb343 +d = 50cc6f7dd99782ce5943d719eccf85ff22ae29e61473dbb80f3b210b16377c51c1d3d65cbaa558db54c58d6683e1aabe03ab4f3802f1cb67eae16787cf5ccf618024c7d8b46a69c73289c7ccf96ff23863f7de4cdb89cfc6b66072184fd61f5fb9b84750d7d63dfdea78e130214a0ba949c0f0a3ddf3ef1395910991590405ff4fad11ad22b159297479cc14f96739e5e63c28610a0ab413823db00f3b3067ec2d4ba17475d439d3b00951146621887ceb845707d5daedd29744ad6e5105159a31f7309e2e39e847be3be0a3a302bef77b8d3979570deaa2713c1221b06d7bff6941e1b59dc1cb88158664be80a9fd7c17b08cfa49f381ad5d186ff5f91fa8c5 +Msg = 329b4257ece34ecc0185031b0bc665c9c87ac66ec01a8c69281734d2076e97b0977d6c6cee140f86ddd0818719a4af3798b9f70f3e78e8f1b9e54917aa2e5d4a05836654ba2968b795ca2f9f621093165672fb77aa4d20258936147c2c8f8208445837f59848e1c7ef1c174c30309acec84cdb8c4cc0bd6c5fb39bead7b88d54 +S = bc7b0631f92c7dfb0e3e8694650bdc73623d0356ad2897aad8eca32ef4531263f3219e0af3ef2fa3b8a3eb878b3f9c293c634263bab59b1dbdee04afc3fe39dd8bcf22a0052e6a081d3b68399294c8c6aab199beefc49706eb3436d95bd3e655d21cbb0fb3488052df8819594ab0f9138fc5ad4e9e3521425e375684d94dd74b9a3a7a858aa1023e967502a38b67ed3b8b8f6086427e8c8b4ca608c4b394fc8dfb818daaec3d4f10e77f51d80c0a103569dc28814a80eca64100d9fce5d6b9081f871bf8aae624f1786151290c86dfac7643b21c74f4f5313bf8b7693dabe4c816d7d309ce27f4b08b59d6a26795a9c2278ffa2185a1af12257a5a6de57c1a41 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f1bf +d = 50cc6f7dd99782ce5943d719eccf85ff22ae29e61473dbb80f3b210b16377c51c1d3d65cbaa558db54c58d6683e1aabe03ab4f3802f1cb67eae16787cf5ccf618024c7d8b46a69c73289c7ccf96ff23863f7de4cdb89cfc6b66072184fd61f5fb9b84750d7d63dfdea78e130214a0ba949c0f0a3ddf3ef1395910991590405ff4fad11ad22b159297479cc14f96739e5e63c28610a0ab413823db00f3b3067ec2d4ba17475d439d3b00951146621887ceb845707d5daedd29744ad6e5105159a31f7309e2e39e847be3be0a3a302bef77b8d3979570deaa2713c1221b06d7bff6941e1b59dc1cb88158664be80a9fd7c17b08cfa49f381ad5d186ff5f91fa8c5 +Msg = 3cbc49d73addbe2875dde779689a363e42cf88b3e13ab520fcfe655ba246268fe32bbc3dcdd8b8809aeb4d95271f5e9aa828db969bdf4ebafa9fb1e7b5ef83705f611b2027ba3b7f0b52e85148be796015adef7b901084bff97e87151ed666fc16260d8932cb6eab31da61b4b3bfaf15f1246969aa157fb661618defc543f8bd +S = 37c9ca333ade423c46419ea16c5d79f56165a03bd5c674fa0127500a1bd7f5c2d21547d7bb45f558b3b986624c8eaef4db101e4092dda2b4fe48811ef7fa694c1384f460087f81cac1861425e44b86bc2fd825eea94b645afa4afca29f632edce048aea9e1365185a60821e4385de7d7435ec00d307d477b2e6a6e3cde0f340c71d2c59624a7ac8cfb838f68b436c403ab3b45f9a19a0a14ea8f47407b7e25e51a498a902ed8eefe9c493421421695a6d17a9cd5b76efad7b39b8d584cc2902c03422f06af528c6bc65bcebd8876b5f4d1ebb68ce22af5de05105837c15f5ff5c4d41ed8019d6a0448c94675e192a51d5eade91d2237ed57773cf3b37ba3da71 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f1bf +d = 50cc6f7dd99782ce5943d719eccf85ff22ae29e61473dbb80f3b210b16377c51c1d3d65cbaa558db54c58d6683e1aabe03ab4f3802f1cb67eae16787cf5ccf618024c7d8b46a69c73289c7ccf96ff23863f7de4cdb89cfc6b66072184fd61f5fb9b84750d7d63dfdea78e130214a0ba949c0f0a3ddf3ef1395910991590405ff4fad11ad22b159297479cc14f96739e5e63c28610a0ab413823db00f3b3067ec2d4ba17475d439d3b00951146621887ceb845707d5daedd29744ad6e5105159a31f7309e2e39e847be3be0a3a302bef77b8d3979570deaa2713c1221b06d7bff6941e1b59dc1cb88158664be80a9fd7c17b08cfa49f381ad5d186ff5f91fa8c5 +Msg = 59632917bcef9eaa6edb1bb6013bef9e5d285fe212c49b44ed78f129ca804141a8aab16a035aa1d25ed2e25c1fb022469fb8ab0882d44e7f4459994a158c5175e7651c54c5937db266bf052c0215c8d764010f2941364c16c8f553797a8cc6b63c1dd19daaa01892af2beeeb5271c89ad38af10cf7f27f51a0d3857ca0878a4d +S = 77a69f4fbd9456eb8cb973e2623d8ea83df850f3c7bc7c8f976728f11b2daa6204ec45e15cd36dcdba5d88bcdeca490bf488a32d12be8c93d9fc63d2a91fcbd79b4bed113dd98bf5b93673a1c143828f47935aeeada7938c65717fb8b370cf649134f6fde56602ba7d6f890ba166d3fe1c51e7471c98b661a6022d7d1d0caa5be5d140e94e70cd1478b9b33622ad69559e27cd6878925cf07f37f5dbd1ae457eea785053d06e2e4d010fd885b897f743ec09c2b06f774407123ac30cd91f81080845f885062fa4be9da31f4e6f626c61a7fefbc123e8b7b80978682b773b5537b2366d1118f506464d27db3991fc2af283abbed6d0c552120f82f906c38c2e0b +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (3 - Signature changed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f1bf +d = 50cc6f7dd99782ce5943d719eccf85ff22ae29e61473dbb80f3b210b16377c51c1d3d65cbaa558db54c58d6683e1aabe03ab4f3802f1cb67eae16787cf5ccf618024c7d8b46a69c73289c7ccf96ff23863f7de4cdb89cfc6b66072184fd61f5fb9b84750d7d63dfdea78e130214a0ba949c0f0a3ddf3ef1395910991590405ff4fad11ad22b159297479cc14f96739e5e63c28610a0ab413823db00f3b3067ec2d4ba17475d439d3b00951146621887ceb845707d5daedd29744ad6e5105159a31f7309e2e39e847be3be0a3a302bef77b8d3979570deaa2713c1221b06d7bff6941e1b59dc1cb88158664be80a9fd7c17b08cfa49f381ad5d186ff5f91fa8c5 +Msg = b9403622a632794f7cd74fbba93aaa64c8d91b63144fe7ba23305c4cd135652d7a995d1c6cc2214e9b24696e976358e1bcb7514ea8950d5ef38ceac01a6d8671bbae8d3a0810cf7a76809625b53b360de536e56007bdcd72b15a60bd06f8ec27e6486f836264ac5973b37eeaeb0c6d6fab1e7fa2170f507fc763654c7f20bed7 +S = 81511a0c2eb37d5c6fe2c214c55d6b0e5fcea17242d5a5a9eb4568ac1f0af9b8912498ead877ca43cf9e19c743c3d8ea6f4e67301de53ebb81a1a3eaff67d72e450ffc6646b6b45ce8826957b9afbb13f571c38852c3eb384f6a595538ebf467414f3522471147f2ccb347284d0873018bf6329f33e0b49f4e86338b423a1027a6c4718187d19281aa896a286b6c89622e4cbf4cc6cf4c3ad4443516aec8708006dcbca5f42c9b943fc8cdcee23d9099edf61185635b53ad4d8853d8a511cdc50e189cc8929dfd32f9dcdcf2754adcc19b855f41d25620b65090180ece407427e9ab602a38f1f289eaf3299db856cc5bbda17de17a74bace89913813d147d9ac +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d060960864801650304020205000430ed7c2333756d3457b705ea8096f43070b552e282602b3405873873f3a11b93025736198dc5c1889a509b4151a7dc3d7b +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f1bf +d = 50cc6f7dd99782ce5943d719eccf85ff22ae29e61473dbb80f3b210b16377c51c1d3d65cbaa558db54c58d6683e1aabe03ab4f3802f1cb67eae16787cf5ccf618024c7d8b46a69c73289c7ccf96ff23863f7de4cdb89cfc6b66072184fd61f5fb9b84750d7d63dfdea78e130214a0ba949c0f0a3ddf3ef1395910991590405ff4fad11ad22b159297479cc14f96739e5e63c28610a0ab413823db00f3b3067ec2d4ba17475d439d3b00951146621887ceb845707d5daedd29744ad6e5105159a31f7309e2e39e847be3be0a3a302bef77b8d3979570deaa2713c1221b06d7bff6941e1b59dc1cb88158664be80a9fd7c17b08cfa49f381ad5d186ff5f91fa8c5 +Msg = f991a40a6c3cda01f1a2fed01ca0cf425588a071205eb997a147fa205f3ec10448090e53f56be512309cf445b3f6764d33f157749d5199c7a09ef6246bd5c793b85d24d9093c4d4b318b48e11727cc8bb7aa5ec8699aba7466e074e1887bdf2a51752ec42f16d956fe5943cbcf9c99a5e89bfd940c9fe447fcf3bc823d98d371 +S = 6b42514e88d93079d158336897dc34b450e424d61f6ddcf86fe8c9a368ae8a22c4ee4084c978b5169379da10ae6a6ae8cd80028e198cd0a8db532cd78a409f53baf7d231b545835b0dc06d594d76868d986889419a959268fd321bbc8bad5e800e452fe1a1a2a5a851d542494473deb425171a2f37ffc4cf0600a8d561b20f777407bbef1b596f92e518c0929e8bd52b015c2718d14443a56056f65015515673deef32ae5399ae71f97873ec1508f8c41d6a66a13017685134e5425c4b580a7f6986c26fb272f0ed215d6698dcec9e7c5258173b295b3611869254a538945de952dedf291837df0d7a205e1b76b01140df4edce3afe7245d46ee3b292bb117b1 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = P + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f1bf +d = 50cc6f7dd99782ce5943d719eccf85ff22ae29e61473dbb80f3b210b16377c51c1d3d65cbaa558db54c58d6683e1aabe03ab4f3802f1cb67eae16787cf5ccf618024c7d8b46a69c73289c7ccf96ff23863f7de4cdb89cfc6b66072184fd61f5fb9b84750d7d63dfdea78e130214a0ba949c0f0a3ddf3ef1395910991590405ff4fad11ad22b159297479cc14f96739e5e63c28610a0ab413823db00f3b3067ec2d4ba17475d439d3b00951146621887ceb845707d5daedd29744ad6e5105159a31f7309e2e39e847be3be0a3a302bef77b8d3979570deaa2713c1221b06d7bff6941e1b59dc1cb88158664be80a9fd7c17b08cfa49f381ad5d186ff5f91fa8c5 +Msg = a95ece434121269f4bf036395e54718c9b3b247de3534fe147b7b540bfcd2fd81f6e45e54848ff209b81f986b49db65a54a2366d9e7acb9d8798289c88dfbbf395bf3d4653a187d98685a753c8e933c281eddde013b6489555101abc4357532af497ddecccf263d1f242672904008fcb0a65405da9ce6ecf9a65b3295afe9e87 +S = c878b4b14526efdfdb99f7287c0e871ef6c0aa7b4d2ee29299a782c8391ecdbbb60b8aeaab5343dffe7ade8af07156c45b16842775cab5201b3403dbd6bf0769ab5533d4c40deddb1eecfd8a46b933627d0d25893f0338e6dabb2a778649ebb2193a9d7c99d069c6c209b4436eda411184d99be0f80e3b293b5ede00f58ec4922fe8e1c6de04e58fd443d1cd96fcc9ca4bfc23343532a3eb840fd5c197e7795f2e3982a928e602b1e8f5cca7ea20da049eda313b1ee8d4b1a8e7960e4cfb5b16082ba73060f73c02716324658d3f00a3ff0a78dcbae103d5048e75669053645156f6640d4f6d1645d02e772dd8e70fe8866cad5ec2878ea6fc5c47530bf9eaf0 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d06096086480165030402020500043026da10c49a9fa80d2e3af7061b03dd7b0a50979bd01a11fbe3ec1042cee2d655939a4a522ff31553ddef23a6b588bd37efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +n = a677525e1a69546a96dc7b112350d5e4864f0f82e999a714fa9f43ac681517d3975910c2d806bb3ee6dbf5dba1d969b38889e113c2da76eef4412a60cbd89faf35b2bdcb0de36a2cb762cd8f2f29aed9982a9ab60886cc8fbfee9b2ae09c88161e9159d4fc833adc4f80e4bf629d5a9551acce7a3938630c2bf9956097642e3bc60ac6522017841b65c7a25197865e697753b08169853681911443a2b25f1b7c4696f946155b2664b67b40878d3b45c3e0d7034d5b5ee6f5ba8fb3cae7797e85789902cf8f9f86ed3ef25ae0736178aae260fe875bfef5bcde9ec05f11e18fc7375edcd4a5533618e6f991dd48aa3062e6031e291dfcdc6e7fc14ec60e539fcb + +p = bdacc77950c08105d795ca1654463dc32f6ad5a1a2dedee040ca048c71b652080a5550e9c035dab9a8d2830cc1914abf85b5550c910a303c6ebbe263ab2252cd64e13d079c7b47b2e2de2367a494f745efae4d118ba34abe22a8143299854aef0ae7a3b6e41893458ceaf8d6518ea60afbfbaaacc4bff581785bbf8fbda2dcb7 +q = e0acf297f960266faa5c07775cb659d9d43481d28c63c1a617ae9081439eba5126348cc27526aa601c153ee85c32135df98b637f411cfab9c1cded54a9868892499257ecbcd88a346c37d7b35dbb011aff7daf9c39cd02c354d8e836f7cf739d8036f36a9c294f0ae3e7f01fed1179030590c03ad1929d71ac4eb2df82af698d + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eac839 +d = 308ac077991668034fe053c0c0e61540274841d8cc918d779901bf303ebc5cb10ba431e08b49607530cc18a42a60c3e917c809ae5e1118fc80ccc7b8e1d5235f362457f20bc514f874435fdea9c9b537951ad418dfc60799d74d3e7c8dd04f4e63acb7e35636c3806fc14938ff34c7f3445350f0e4d9b9378e6d30bf9d2fbf542666c6e14b88b0aa34bf2b06d98d3d94d7ad59113122c85722dc2b054c97d413b132916822331ad81b81938a631570eb8ef46bb01bf3cd163be83875b047d323c55f756f3d239d531b49dc5b6a42c203d16589f27c74da9543a7154d4d84f0088ac81201e472975d64e1542dbdb7445aebb6cf6922cbf2d3ff571ed37c49300f +Msg = 9c3d5d23d2746d15d616bebf3cf720c6e6012a71cae22002f5021a47d0b8636ca3bd201357e132a680fc5dec9b28a9db932d08ae8b3d3a37d7e2ee754b342a69b94fec26b50412289bcf77e6d4095faa545f15a16783d22eae21e18464150174e6db0b837347d440307655d56f0409db307f9773e81cb19282a93c9ca4c3b135 +S = 98657fd8163967fa7d263bd45bb890035adbcdd1645fd48b28febfb9b4e15172540e38b7c2f673c40a205fd40b08b60b4b81ed6e236cdf08f0d6b11f50dc74c60dc466ac372e0f467883aa9a398f4aeef87b040e14a51502dd467e8e8dd89812dfaf6b1dc1c2f6c28448af084590c05aec499dd3b148e66f3d71cf75e239db6d21f4074b8bd9a6bde5ca668634bd47953276ff2d0ebbe01afcfe0e381903736d6a6c672a45fba4ee326e342dc5925169517c5f57e9290724576a225ba89cb4dd091f4e6513be10dd4181855bb4045d6ef6437c16d3b5589ef9d6836682711c7d66025ae37b525580f0dfcf3db7fe57d7c6b15777cc41600307e58a1721b6f7bc +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d8853 +d = 308ac077991668034fe053c0c0e61540274841d8cc918d779901bf303ebc5cb10ba431e08b49607530cc18a42a60c3e917c809ae5e1118fc80ccc7b8e1d5235f362457f20bc514f874435fdea9c9b537951ad418dfc60799d74d3e7c8dd04f4e63acb7e35636c3806fc14938ff34c7f3445350f0e4d9b9378e6d30bf9d2fbf542666c6e14b88b0aa34bf2b06d98d3d94d7ad59113122c85722dc2b054c97d413b132916822331ad81b81938a631570eb8ef46bb01bf3cd163be83875b047d323c55f756f3d239d531b49dc5b6a42c203d16589f27c74da9543a7154d4d84f0088ac81201e472975d64e1542dbdb7445aebb6cf6922cbf2d3ff571ed37c49300f +Msg = 7759420c8d1a39ba0e3e1681d9b757fcf30cb40d844f4a71224ff998520e0bb44c761611ff4723a455540fe6b8ef32e3d5a23f8da0206b57987ad2ff4c9616ab1ede493847350dcf1b2ff9b98e813f74f8b68c0615243091501f7f28416c77e174f8a32b6cca3e62e7379ca16455c6d8e3b2651eec45e148d2a4c9ba3978767d +S = 91ce8e921f85de845b9bf7503dc65a328224d15b23e8ea65dc3da6d804fbef196c305e0fba059a7d842c8c0f580860cce77652d4dc779073d6a3b0a92bf2dd3ec6c0618da1485036fd594bd962f7b5a1c61d53f1626912c7e312aa83eb4326288a52437c7387916bcb11084a40c219c84cab2ff66e83143f858647f2dc914da0c7858ba39aa8ad8147ea5c9c52069eb2b2ca941d8a5023748dc401e7664500846c85cadf0287e39b8b8b46794a82bfffa752960ab3b9eaa02530b5903c24aefa108f10aee35b6a8a3cdf8795a182e5c04ed36bb68c18785623b42f0979fff319112e1514cee51db437ee32289f61ded61186c6ed44ad722d18d556821f888221 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003051300d060960864801650304020305000440a66a2cf257147e6b61f2f391108c94213b979f38ced53030e2b69a4f04e2d98cc76b41cd3fc083598ccdebce89c34f020028ced6342702ad417e91f6ffb8ed68efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d8853 +d = 308ac077991668034fe053c0c0e61540274841d8cc918d779901bf303ebc5cb10ba431e08b49607530cc18a42a60c3e917c809ae5e1118fc80ccc7b8e1d5235f362457f20bc514f874435fdea9c9b537951ad418dfc60799d74d3e7c8dd04f4e63acb7e35636c3806fc14938ff34c7f3445350f0e4d9b9378e6d30bf9d2fbf542666c6e14b88b0aa34bf2b06d98d3d94d7ad59113122c85722dc2b054c97d413b132916822331ad81b81938a631570eb8ef46bb01bf3cd163be83875b047d323c55f756f3d239d531b49dc5b6a42c203d16589f27c74da9543a7154d4d84f0088ac81201e472975d64e1542dbdb7445aebb6cf6922cbf2d3ff571ed37c49300f +Msg = 864f4f5890a03653d08daa83d9e2992fab3393b7ee152d6f7b8ea3ad1ec9c1219a0e0365eef2fbd5d7cbf3a19667d421f3fe46688264191b2583e484d209ebe2975e4603dbd94015e633febaa43c615aa5cc2cbd69fd6ad9db970ae81bcccdbe8026625adebdcfbb04ad12f589c70883c9878fdf2a46e750a4b15f03807a2d5e +S = 245fda2e66d2bab102d0da4098d751650f5ef4738d14dabe866c782009ead9d6d05d43ac0a3014a382d62ac971ee19798f3b8ef49f9bc247fa07b368ac2d0e8a4fb210af5acd87b6b512e135861b30103403304732a10b75c9a149552d1ccf0f9912968c6431398b7d48dff48cc7cb7184e76a0ab94ac9a6b0035b91b3eeb2d1326ebddfc13250224538c143fc0dfa3995926415a658db8e6691504050a1a30e34b21af8d12707bc4454f174385cd84c729e2ddfc5cc9178812059b5da4a1a605a2a81642ccc1bc5cf953965f705673b12c5b46ac8c1a03c1001ae4df1c39cc83cb54b10cb7d33cd5108033c268ceeebba6c6ada92882f46562dc658d3525574 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d8853 +d = 308ac077991668034fe053c0c0e61540274841d8cc918d779901bf303ebc5cb10ba431e08b49607530cc18a42a60c3e917c809ae5e1118fc80ccc7b8e1d5235f362457f20bc514f874435fdea9c9b537951ad418dfc60799d74d3e7c8dd04f4e63acb7e35636c3806fc14938ff34c7f3445350f0e4d9b9378e6d30bf9d2fbf542666c6e14b88b0aa34bf2b06d98d3d94d7ad59113122c85722dc2b054c97d413b132916822331ad81b81938a631570eb8ef46bb01bf3cd163be83875b047d323c55f756f3d239d531b49dc5b6a42c203d16589f27c74da9543a7154d4d84f0088ac81201e472975d64e1542dbdb7445aebb6cf6922cbf2d3ff571ed37c49300f +Msg = 71abf895e56ba8f6ae8d0e9e6690c09c759270a73db8c1aa95d05980793537fbfff3472c8d2c34de4abb7e64d216cc952e798314034197d50996a2dcbf4c33485e0b68910baebf0e50ea29bacd3060372bd47b13526ec04bdc81b90dc95a8ac2743b814cc5b9ef8ca9633628bfa4248b55eb7f2d9208e114f4dac69bfe27e472 +S = 243c570cd1bd85522e64817361cbb949c83876d7a3609513aebf506fc06750ba38e820232c98acbe00ffa50b36c538560069fd13992ca0df7d9f6d956b883334f1c3af8a74adeed5be15b033d85b207be2fe600a9902d699ccef1f4a8d588672c446401eb390d174d572b918f9b349e2e704775300023850a534cd14e0046e385181d345a01dbd230c7965fffd71d4e9f9bd274d2ef46c556c7332121362e71706c39f08919efa3a4f2f142150c8cef4b30ef788f6fffc2ed2aca0262eba873a251795845da526b78e2b24d66f21d40d5fcbe5542a7553a9178be5a9805bb53579bd108cff733b37640789318db620a6a94444e9203923ae325500b676b14798 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d8853 +d = 308ac077991668034fe053c0c0e61540274841d8cc918d779901bf303ebc5cb10ba431e08b49607530cc18a42a60c3e917c809ae5e1118fc80ccc7b8e1d5235f362457f20bc514f874435fdea9c9b537951ad418dfc60799d74d3e7c8dd04f4e63acb7e35636c3806fc14938ff34c7f3445350f0e4d9b9378e6d30bf9d2fbf542666c6e14b88b0aa34bf2b06d98d3d94d7ad59113122c85722dc2b054c97d413b132916822331ad81b81938a631570eb8ef46bb01bf3cd163be83875b047d323c55f756f3d239d531b49dc5b6a42c203d16589f27c74da9543a7154d4d84f0088ac81201e472975d64e1542dbdb7445aebb6cf6922cbf2d3ff571ed37c49300f +Msg = 4b648de2e390677ce1727191498b76d2d2438d0ceddf3db502ade5c5fd815bc70965d42f9b8d04eeb38986445fbe7dd580177c00d0f8a36c24740be3efbf656408e6dd73adbd45b4c7196fb86f40da17b29e91bf91ba518b4c68ea18e13fe7d4cf4d71571f0a71f7a58bf59684f8d5bff04096f2380b8e3b03f14909d9e92c3e +S = 277fe81a1540341c9c04fb5d3c8f70c1e72f87fa7d04b93ee54d56d1184c141ec4e125e2e5cfd0acff1055c76697a1c3079c371cce0bd84ee4437bfa1806aa76df2955935331915fff879d87c7372e75e5e8fecc906f9d34a5adc0b75409a87fb6411e2990cd237ac8223f7223444f5d527a115c85b9ba10287f3e825e1dc58eb37c8a9ca055155ff6a5aaa6565690dceef6f647729d071cdd9f0688c7fee8f9293abe658d0e1ef855c86a28d8d0f8f82f72173186353080b84f142f965907377178fc1ea00819d81afc2474becf79e1e3b70c7c2a8407d50795c3131bb6df78720c31b2f8c43f705464d8982043c45f04e339aa1c6f4e26aa7092b3e6261299 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d060960864801650304020305000440f47ebe7dd561f67ff7246ebe8369d9b2fc70ad21ef4b6a644ca53e0b55f3d656d16edbe2aefdd145d6f0e2a4b39b01edcdfbfe55a782d1b6f3889152ef0bb5b1 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d8853 +d = 308ac077991668034fe053c0c0e61540274841d8cc918d779901bf303ebc5cb10ba431e08b49607530cc18a42a60c3e917c809ae5e1118fc80ccc7b8e1d5235f362457f20bc514f874435fdea9c9b537951ad418dfc60799d74d3e7c8dd04f4e63acb7e35636c3806fc14938ff34c7f3445350f0e4d9b9378e6d30bf9d2fbf542666c6e14b88b0aa34bf2b06d98d3d94d7ad59113122c85722dc2b054c97d413b132916822331ad81b81938a631570eb8ef46bb01bf3cd163be83875b047d323c55f756f3d239d531b49dc5b6a42c203d16589f27c74da9543a7154d4d84f0088ac81201e472975d64e1542dbdb7445aebb6cf6922cbf2d3ff571ed37c49300f +Msg = 7811a407fe653ad2343d83c0499fc11e2951ef0a4791a3cd9a06396be5f72e783cbbca2cc47002babaf09cdeb70194b532ccbfd24691ae8eb598d59f2e6becedcb4296a1debf417eeddb4d74fb217072091a597ddd0893ff02d6ad61105098db2e90508bd4b8bec5d6e7deab9e651dfdb8210532955e1bc788a908d7150ef8ec +S = 3ad1f0faa9a36586154a382a1f2c10e819dc318a68be35f54f95401b0ef2ba5cc895f0d6bde28c8d3b364f60de03ce75a7af29e5807c1eec4cd70624756e2631eb46af010ca8cf93ee7d86a4af3ced5dd2a8a41c1feee6b4572070873939ae7a2ce75193945937461d0064eeba07760c495c5c70bdb04d89951de3f96525f8e44612493d490731e7ef7679a24b0b1e2b24c8003c2f94114e4193d6e54c0af9e870530b008530210ac0b0e4c7c79f379384e1bb319b5f2a0b622517ae5d27f0eaaf7958cb0b41849126075092e86e7e7be5eeacef9a8e3ec595432ef619858fe0d0517871b8b495c01af6f18d4e6d250dbd19280ef4f8a37d1b59a48fa41b831d +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = P + +n = cd2cbe024059e2c019529e157684eb1e2cf415a71b002cc643668da85f752ef64cd8cacff6bb79e246f7b8f731c9f5cedc2a879302b51273c83f81f9a377d3e450bb4f4662ce01a010a6e68b66fee35b62d9861cabe56f6d262cadbeb44a58145a0f977966ab74f662674fd92f165eab397e1a2829aa2a7b9cf7c4af5db31119741d416308f3cb5aaebbcb5309e50820e7e1482b9b3a918653d9cfda6ed1122488f435dd54a418e922147be2f6586bb9b759c66b01d0045757302ca3835a68a67f36b33738ba9f8c87b909fe1ca5e5bad207cd0273ccc3b44a6185d32b065b64e2bd42b6c61f08b268b2b7e91ced5962e3a7d553fde91b77eecbeb9ba63e0db5 + +p = d616e377575b1c3f083cff1896fe1a01662fb510f32e9e88cb22ad2617de679ef5bbc82577d8f4a1e696f3b70c55af9ca915c1c79e77efdcd59d351aa2ad4396834e01a263aca37137742d56b254b9e643ef2800e287f80b400ecde56e6475b39c75b9abff873362e4bc9dda4e4a999289399d22eaff06c8591bfccdcc02a5fb +q = f557188f0018d0f76c14e56018b6db18f444d000726fa7eaea62f89ed92556a4bb22cd50156240172dcb58fbf2aff54406f72cbdac02f244b58f4b780845db310857ebeac14b538064a08266e42a3eb8c64a131250b805c198920609febf4bc4fd601fea5b5a367c91c58e1ab57e46844b85cecfac243f895073cb46f3f6bc0f + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f8d03 +d = 21911318dc40b5414da2e4473ef722a5bf535133ed9ffa37ddb72c84e4cd74759c187ea308613259fbdbd9ac4d4d5b6cd0d157bb7a531efe43741bce92851f2c0a8a5774f5d3eba991167cb2f2675ef8f99f964d8ebf23a8414401110819ef8d0d92969e314f175c250541b982ad8cd7e63dfbd2501b2c0f9a4be2c43a23f9fa42b1a3fa26a649e5e905b478cf7117d4dc4f57924561d418c09cb6e34d32e676edfc84f4b44090160ecc0ca254c2dab362101c691059479e1d59eae49b3e04d042e9ead0afe7545db7e6c72a53b42de740b77355f5eb93c01a3a5a5b8cbe15af0c53e0147e78705079ba327b798dd0ca1b3a1979868d45576792a0cbc6fa3e51 +Msg = db14289f5550b770ac30ad0aa53124753741e4a49c7f1f54a8435f375a5ebc52b1a352a3c0a6f20805c3185cf7621de3de7aaee8e7547da478923662c16fb5e1944876fa765c4d82f6d057723df63045e7ce66a211cd2e3bb3de56f531a77b492c0d7cea9efa2ea8265d5294a073c465f946f51a41739ae1022fa638d18c7652 +S = aa194ead943a93e90f29a3e853f0a4d44b4dce8b55d7fdb1de01d2d47bcb18b6e6e81996c5bbb94c66cb276cf3f3b35494cdc229278ce444a001f61669b57a59755b88142e50337a8653e2a413a7aa1602d6dbd56d989c2195ffe82e91fe0b081ac9157a0cec6bfaf770c10c971a76d11940c889eb9e959f14f41d0b765babc655480b3f32d4ce3d660a134a2b34bfae2f40968ce313db34e0138bee57c01652a90f91fbf6f0052db494c514df087d76acc769a3e220c394763468194bdcc7262103a8a73ab621b0562d2d164c8ee1a00f0cc4f784042c144e3d36b8c300c74a1b368f569057da0f77b33daed667c1154119f68672000d25517046947a8fe644 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f8d03 +d = 21911318dc40b5414da2e4473ef722a5bf535133ed9ffa37ddb72c84e4cd74759c187ea308613259fbdbd9ac4d4d5b6cd0d157bb7a531efe43741bce92851f2c0a8a5774f5d3eba991167cb2f2675ef8f99f964d8ebf23a8414401110819ef8d0d92969e314f175c250541b982ad8cd7e63dfbd2501b2c0f9a4be2c43a23f9fa42b1a3fa26a649e5e905b478cf7117d4dc4f57924561d418c09cb6e34d32e676edfc84f4b44090160ecc0ca254c2dab362101c691059479e1d59eae49b3e04d042e9ead0afe7545db7e6c72a53b42de740b77355f5eb93c01a3a5a5b8cbe15af0c53e0147e78705079ba327b798dd0ca1b3a1979868d45576792a0cbc6fa3e51 +Msg = 4f9a34e96e649f8928a7c58a0c84d1bbbee1a4c84a69c95db7d4ab8ee06905777fc19b1f8bcd28a3c41b97908c547590f80aa74927b05882d2ea36872508decfcdcc94dd53743864a8f475ae01843c3ee45a71b583b9e4f24a2a827db40acd26624489e96e60b815fdbdc9ae131a0d0fac5b6ad3088a53f6461df7383477b9c2 +S = 890bce2539c7bc657983af81cff87ec799771438f6dcf417e01ee056270a0ddf6095fcb94bac89626101a34209c1bbe3d3bd301b3e8a7303cb7d5fe193b0d6422e1feb6eb1ea8f1f37b29089b54633fcabf23a28c9ca422de4f7851f292ddfda0d550673961b72cf2dad77b3b66c9f3bbab643e80c569a6f651be3c6496caf72478cd437fc85a57a1cdc78d8029b76a804d04013f16cd6b469c69e29d07409aca30c719c8659454fbd9da60a9f62165247db74d18799eba33508667d1b645268ba39d74d7d954bb41d607fb7820960687b022320e6c9a3853c2fae535bddd915347405f525c8ab40edbc9b7fc6c62d2373c0cc7edfcc4c956615cc08d49a4273 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = P + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fba25 +d = 21911318dc40b5414da2e4473ef722a5bf535133ed9ffa37ddb72c84e4cd74759c187ea308613259fbdbd9ac4d4d5b6cd0d157bb7a531efe43741bce92851f2c0a8a5774f5d3eba991167cb2f2675ef8f99f964d8ebf23a8414401110819ef8d0d92969e314f175c250541b982ad8cd7e63dfbd2501b2c0f9a4be2c43a23f9fa42b1a3fa26a649e5e905b478cf7117d4dc4f57924561d418c09cb6e34d32e676edfc84f4b44090160ecc0ca254c2dab362101c691059479e1d59eae49b3e04d042e9ead0afe7545db7e6c72a53b42de740b77355f5eb93c01a3a5a5b8cbe15af0c53e0147e78705079ba327b798dd0ca1b3a1979868d45576792a0cbc6fa3e51 +Msg = 0709dcc9ffda89add8fc52fa355e059f570a0ca433f02c10c8e5730bafeb6b40f4b39485246011bea78ea2fe5093d2f033047276b77c458fec98fd7e1e466629aa40e2bf10d3159d4ae5e1735c3695a22de661e995380e41b795eb0591d40b56d1b8adbeeabafc136809f99f80d0b57decb7c346f6acedeed2e326e8301bc091 +S = 15b86cc61cca52c9dddf9d8ec4efb7dbb8a7f02a4012d896fc127cb1fc383c304c8859cdb07478719d3554e65b306166924d11c1a14d85699ae60a33f601f7a24b4e518c406de3cbf92bde58926d9d93b21c76e1dbff98d5677562769e6514efa4bbc40e12d191f54a33dc1c9361eb1ff03613555e873fcf40fe6349e10d188d0d1d043078e02ff8f1c736cd7090961fde243c15694c0d76b0cd1e6633538c265f21b41cd11708613b62b11808d1f74d927c351a63c8c4f18f5930f39fca55850a787301b2e4eab0f94f5734cba5e0eb76bce60d673fad4c513012b4e57a8b2c2837e0b6355a9a5c15774b0db8636a7b8ab28c36c05832a42ce697ec58447ab7 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f8d03 +d = 21911318dc40b5414da2e4473ef722a5bf535133ed9ffa37ddb72c84e4cd74759c187ea308613259fbdbd9ac4d4d5b6cd0d157bb7a531efe43741bce92851f2c0a8a5774f5d3eba991167cb2f2675ef8f99f964d8ebf23a8414401110819ef8d0d92969e314f175c250541b982ad8cd7e63dfbd2501b2c0f9a4be2c43a23f9fa42b1a3fa26a649e5e905b478cf7117d4dc4f57924561d418c09cb6e34d32e676edfc84f4b44090160ecc0ca254c2dab362101c691059479e1d59eae49b3e04d042e9ead0afe7545db7e6c72a53b42de740b77355f5eb93c01a3a5a5b8cbe15af0c53e0147e78705079ba327b798dd0ca1b3a1979868d45576792a0cbc6fa3e51 +Msg = 95529308ed9bec98a8719b3fdd942ae81c6646210efc7dcc59754617c48a42af9c67c13156b988e27509d29faf4894174bab0537cdb95ee6d5a2def345d2124ba2c65370bd1e902692f44e70706decba5a8d2c58ae50ef2f04f640b2599e94116d1650ac69f28ccec5db1798692abb3b12b6c26bf8e9b810ae1a733e49165167 +S = 93c5b49a3055f234442d6e4562c99d2233a8198291adc95e65bb76d320203a1a4d7921393cfa03aeaa9c31e6272b5192e3058e54dc5cdc7f467af1b073e6d492f614448368a0cb0338f8e37088e080eb2f6684a1f5cdc24ed7b4e8c62ce9e62e06361c21ad07fb78d853d16b6ecb84c6a158bf6c24bc484d6aa5abd48fb7eb2264faa361caeaeec78a2cdfcdc6011487dcf3682c5e07f0640d1d88e09baf838a5671719032aa1772fd0ec75d61047477015548aa7896e60a297a27a627976050fa6c7978e582b3be3afd708bfcde276b2b3f9c188f4b36d3eca90707fef76c367483aea08b6dda88d1b85bef098d191b1a687d322edcb1fb5cd860749f69d8eb +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (1 - Message changed) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f8d03 +d = 21911318dc40b5414da2e4473ef722a5bf535133ed9ffa37ddb72c84e4cd74759c187ea308613259fbdbd9ac4d4d5b6cd0d157bb7a531efe43741bce92851f2c0a8a5774f5d3eba991167cb2f2675ef8f99f964d8ebf23a8414401110819ef8d0d92969e314f175c250541b982ad8cd7e63dfbd2501b2c0f9a4be2c43a23f9fa42b1a3fa26a649e5e905b478cf7117d4dc4f57924561d418c09cb6e34d32e676edfc84f4b44090160ecc0ca254c2dab362101c691059479e1d59eae49b3e04d042e9ead0afe7545db7e6c72a53b42de740b77355f5eb93c01a3a5a5b8cbe15af0c53e0147e78705079ba327b798dd0ca1b3a1979868d45576792a0cbc6fa3e51 +Msg = d42084ee99cec1a57097b804c48e454b6390dbf2796f18eabf509d26f0521c5a7d71b20381a978a7f75e555e2bfb16916edac0020e64240c8579b52df11297c1c424f810bdc8a38b179ad253005e44fb4cea908f6b40b9d598fa02d254eb04901303fd1f35736bda3712daeb2bfffa126588f4a2784bfecc619b2e1f01268b50 +S = 493d0c02c087149d5f597e97709c55f6aa70defbbb862055b31dfef2cd3fb1debe9fa9dea81d7986ec7e5073092c93afd19ea34a268f9e3c4fc8114c4215c8092d60eedf26620e2a79c70de5caf85a7a256d4903e4f224b602758cddb457357b14136b5b3d7583d0d6c9e426161852df57ef547b286797e1f2f7f6666f6d333d46ec59a7bd17adc444b66369f4be27400c4142cd53eef28b6d9fecacea6b2f2d5741a68d89d8de8e56cbfce25d228b6861c641250a264c182b61025b5840aebb92e694d4e5c14f009ebe856d274872390212a1f672f74d2462678f5a416de1cafc3df240d667397870f2da461bdc4c7f2aa10cec20e207de1fbbb9b52429518c +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003021300906052b0e03021a050004145f519024da197daedcfd8586e6e6db53dd28ae6defefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f8d03 +d = 21911318dc40b5414da2e4473ef722a5bf535133ed9ffa37ddb72c84e4cd74759c187ea308613259fbdbd9ac4d4d5b6cd0d157bb7a531efe43741bce92851f2c0a8a5774f5d3eba991167cb2f2675ef8f99f964d8ebf23a8414401110819ef8d0d92969e314f175c250541b982ad8cd7e63dfbd2501b2c0f9a4be2c43a23f9fa42b1a3fa26a649e5e905b478cf7117d4dc4f57924561d418c09cb6e34d32e676edfc84f4b44090160ecc0ca254c2dab362101c691059479e1d59eae49b3e04d042e9ead0afe7545db7e6c72a53b42de740b77355f5eb93c01a3a5a5b8cbe15af0c53e0147e78705079ba327b798dd0ca1b3a1979868d45576792a0cbc6fa3e51 +Msg = 978a26632c48c15a2cd0c7aa5b3122630eb304c228037a6b489144f34137e4a1cb1bf57678d6be6ae9d607f941002bdeda9a6f1f376992493a16a6fd97d71eab894b279ec4a53c39aa0cf480c1421fda65841214bab23faae5b009427c0cd67a3ae165e3f8fb624dd83b3746c43d26dd173994ac9927a815b12715cbd61f3494 +S = 3075ce37cae7c511a64b3bc91e2146dd2fef25f4955f36848a18a93a0fe5a16a2d1d6d793c832198ca457dc53ea65757775437efa9b7a05cb1f5cab3c800474639a333d22930aad70a3435d2446a4e3cc38d61167004b8b1426a2810e698153dbc4847e45aa98425746ab43a24f919ee841842893dceacd96f705aeda8f8591f27f0108ab4e36a570054a0498ce2c2ade3d457733890e280c236a4931fa8fb708cf2c8ab202b0ef09e35ad425073d2c0ba6970c5c45912d0c2b12011a9d9fb131a4d7c35d17bf7fbb232f4fe69cef8779a2031aa428ce4e2a93479e318573fba4326719dc8ac3a86412d4cd8ee4fa58282d4f6acc3581198eb7284da3f5bfb92 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a0500041485d5caeabc35e5226584b873f507a730f7539428 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = 9e88e71138328da718c664b03685764881aa0145e8b23d2fe8cff47658334196ba8df505a8002d7692434625cfd29130ca11efa90102ac5690b083585ea3bcdaba216eabf0ce83e831db6b74c91105afb5edb4935691c656e24e3e4a6cd20d0a8cfb61f5509a08364b1db31a93eaaad4db58670bf7e8c8b259474f3d58a94c0ee7fd7c173e0f2ab7946dac5fa81c6046035a494fd430d0ed6719f21eccb57d09654a8ff28104eb8db4f56329324692509e8352127fe7ce230dca3bdb074063488f8282a70c1397a2ac18dffaddfd97c884421a7b3116b5936013bfd3d47f008c0864ea14f2141e57b753020044462b114ab05f121c7c5c4ecde64d0d0f9b58af + +p = cbe5d944cf8a45d06256ff0304b83ed50889d0ed03c4273f319fa33c5d919fd38c5776ce20a61807cd37cbb5be50f92fa87fba50882d655f835420a4ff445cfaea32b52c4671f4b64369d794894ba9cef526d77451cbb118fe3968e385ad9e4719c5d92d913791b52d52f2584148ec1c0c46c12bfc18edce356922b25453e583 +q = c70b9709d14424a0c32027396776c7004a0521801b2220f9b52b443651043d3e111ebd015bd17ca675382f526632bc434e111ccc8e4031a8cbd0755163c440a389610799f78c2382adb7b2dce16cc0d3bdf5869491b82af271d2245269f79ddda04c67688f7820655a6edbf5c16ce06e29addc86a44d9fa500f5d065bd594465 + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce5fd9 +d = 43ffb5bccabca2ecb6b096d062036b1a13bf8f692f9a06f25c93031309ba24c95c9bd1e4690b1b06105a9ff6f18f41a2c0f4c297d49eb46c0f7fb6a6924f1bb4d668bbe02e3dedc27359df7bbe2714c331ab90ce7c630c6a705072f89329bc4ce1b4a142c9b1715adcb2db52db7f254e7578a000e185a6393697a07dec5c27f37a82bdc45301d625b3bd1b7a35ce2429ae43ead24d45e765fda357048759e08abd57b69c4b20c594979e864db04fdcc930e0d7b55affa25cdf4cd743fb86919e121bd3d14820a9df995f7cfb34c838897146ce68ffb34bbb2dbc1425566f2a09e65e9d7f695ded87df51ff0f7e4dc78b953ad70bc3f0b489dcdad61ae641f5d9 +Msg = dc0d4efdc94cbf64aba6f146d6ed0498804ff9a6d32167fa41db6f7f1863f1e6568e0049bee4940e2ba37f0f2507a3f7b2c961ef6ee5557bdea1409e02cb4545294259e309b8f5580fb50d17f4df4688917a64abf42b01ffb30185a280b552b9fe313f12d4504808ffe584a76cfe5711c66ae8208d78d54d680226d1bcaa800a +S = 8ca41de999fad3704a730c9541430332719127a589218401dcbf2e5a8c863027d4cf3533cd633dc8c394c5b9915b5483c351e3ed2622babb66458afab9f102366cc7e0b34dcad351431571df42b6ef28b05c5a575a813f9e44b49e8aca9d1b129711a1fe318788bb1c349c8bb6fdcd5a6c0e97e1085118b28c2c9d06b35aa833855e181e41d726935d587390d816e377718aef9d05e5db52e0ed50dd3963cfac3996d660ea2f150f0a1aa1731e7ab91d0a6c0fb9d5f15103483a313ae765c09fd6758ff796d4c0ee197b3cdbf35ef71b60b33faa4400657b2bf910010afef34b080c29cd9f579d86f5895823d8e353da50b64c68acfdca4ab279393588c6b5ad +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce5fd9 +d = 43ffb5bccabca2ecb6b096d062036b1a13bf8f692f9a06f25c93031309ba24c95c9bd1e4690b1b06105a9ff6f18f41a2c0f4c297d49eb46c0f7fb6a6924f1bb4d668bbe02e3dedc27359df7bbe2714c331ab90ce7c630c6a705072f89329bc4ce1b4a142c9b1715adcb2db52db7f254e7578a000e185a6393697a07dec5c27f37a82bdc45301d625b3bd1b7a35ce2429ae43ead24d45e765fda357048759e08abd57b69c4b20c594979e864db04fdcc930e0d7b55affa25cdf4cd743fb86919e121bd3d14820a9df995f7cfb34c838897146ce68ffb34bbb2dbc1425566f2a09e65e9d7f695ded87df51ff0f7e4dc78b953ad70bc3f0b489dcdad61ae641f5d9 +Msg = 17fcb20e72096d78a07c5d090a29dc437bbcaf6584948be11fd5d71092b8b42596263b60b986058401d3f18ad2f121971141462c8a731e9c8f9b3bc4e28705f6d6500236b03055a95393854a1d7180df0cdae02c25d36c661660e2ea1ae2f42f1da390f921b064d0e0e7a2b1b2500003b2b104cc1c5c7e25fa4c56ec007087b8 +S = 63b99f6a1c8956f79494c9dd30fd1b0a6b7d761226c2f1ec44bb23a3e225a7780ffd19f99f951799145cf429a78e99a9f9444d3f56c5d3bba3489840cce156a12056fedf211e8a5ca2f60f27dae0888d06328773956e87c36731c094aec645eb8934b0f6bdba17ab1b5cfe3e6ca66628b018574fc0ee4c8bc7a257266f7b53a0a152dc9ec640c844c0580685b3f0d54884e0c3cfdf4056fad1e279dc219ff1429b8dfa436069b6b3d3f600544b80144cc3fc062b3e9c15d864a6e91ecab424d320d39ae7544f34b8a69b1ca4e3688870c6d1d2593997b6f00baf7268c76d10ab4d2ff013ef3d65a9e8c28e199bc1a402a0aa71cdc03f72e70f64b967411e997a +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041caf27d3da19b21d86a3886ce1d7683a0d1994ba82afa7505769115c33efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce5fd9 +d = 43ffb5bccabca2ecb6b096d062036b1a13bf8f692f9a06f25c93031309ba24c95c9bd1e4690b1b06105a9ff6f18f41a2c0f4c297d49eb46c0f7fb6a6924f1bb4d668bbe02e3dedc27359df7bbe2714c331ab90ce7c630c6a705072f89329bc4ce1b4a142c9b1715adcb2db52db7f254e7578a000e185a6393697a07dec5c27f37a82bdc45301d625b3bd1b7a35ce2429ae43ead24d45e765fda357048759e08abd57b69c4b20c594979e864db04fdcc930e0d7b55affa25cdf4cd743fb86919e121bd3d14820a9df995f7cfb34c838897146ce68ffb34bbb2dbc1425566f2a09e65e9d7f695ded87df51ff0f7e4dc78b953ad70bc3f0b489dcdad61ae641f5d9 +Msg = 2aea505ee5eafc92db8ebe83a69a9a320d433ea7cee6e5409bfa7b48624402cbd14934a91a096aeaf3eabc51e1f36a34b73a7b8b59a0a346c6bb6ae456148b4140939aaf5e37ea49350aae8430555e072c105dbd399cd8289fb5f1f820a21ddc7daeca983cdc4658a7d7dc431828405474ab2d65f6444c8d2ece58ac49548044 +S = 7a3c88d70e8b6b4e219d36092d2be71a3c552e4ebe60b97550ae55f4e31086e9bc952c21f1744ddb889269eb68eaa32af69c493b40d48ec87e458dd1a23837b2588441ad74f34906cdecaf8307a236b03cdd26bd6e3b90646807c4aa184701a259356c62aeab3c32a51b8cc7b1721db8b591e945aeec05aca5c45b054f0658cb3102eedb7919c657554e2a2ea7a074bbe0d2ec7aa7782f9d4dcd1346c36bc7a2c7ce5682fc98b27f03121a5f72e91b7f5816bba8dd0dd271a1881ce4445be719f11e8bcdb56363c001895039064593742c6e52bacf993c07509f9d1b32956757098ef3f7974e6546f9cceb9b83256c01134639afc7f69012fb997123a5342d5d +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041c6bfab16175a7ac6231ac09e24fb957fa3a6eb37c3503e4a7a2d8447b +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce5fd9 +d = 43ffb5bccabca2ecb6b096d062036b1a13bf8f692f9a06f25c93031309ba24c95c9bd1e4690b1b06105a9ff6f18f41a2c0f4c297d49eb46c0f7fb6a6924f1bb4d668bbe02e3dedc27359df7bbe2714c331ab90ce7c630c6a705072f89329bc4ce1b4a142c9b1715adcb2db52db7f254e7578a000e185a6393697a07dec5c27f37a82bdc45301d625b3bd1b7a35ce2429ae43ead24d45e765fda357048759e08abd57b69c4b20c594979e864db04fdcc930e0d7b55affa25cdf4cd743fb86919e121bd3d14820a9df995f7cfb34c838897146ce68ffb34bbb2dbc1425566f2a09e65e9d7f695ded87df51ff0f7e4dc78b953ad70bc3f0b489dcdad61ae641f5d9 +Msg = ada0410f05b7cf29a83853cf604d9aaa0500d631feae43c104b90bef287e681d1887084b9e01b5306970358910a16fb254e0d073a66ced1ce9286ad478931a2e6bfa67fd16edf56ad3ef8243027111964d02477f31c0153eb912978c8d993c302c6328cd7662d6fe6d1d02a43ca6c67f79cc03fca791024effdf5bc07076164a +S = 65523c77ea6db320cd0a7446cdbfbe998d603db4ab460f1725c494ea7bebca929cf6cd7e450f606249afe326ae09e6b0f5249cfd9d73eee00739d969cf35a2eade7f31c541bbd4b6632fef95f1a1ca0d90fdb0c4870bb97c2fb92d1ae09cb700ceb2e633c6e08a7c43e7f5ffe77a2293e959b280d9d6b37716e85e214f8d0f3cd719a3ebe652d62d9fbec1a5dbce479119e4028f68d26122d2eb44d9546f5a71df22dd03e3f9db6c470c8d9b96b460cdf9ac2c948d7ec1999a9b6d965e4e8b5ce40f643ed3124f2fc6501b2c7dd4802df3a18245fdef253d27fcda8f8cdace6af41d4d4fc314ef336881047ce5abe0ab699a9f1c89533baf45bc7bf9b2eff6e4 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce5fd9 +d = 43ffb5bccabca2ecb6b096d062036b1a13bf8f692f9a06f25c93031309ba24c95c9bd1e4690b1b06105a9ff6f18f41a2c0f4c297d49eb46c0f7fb6a6924f1bb4d668bbe02e3dedc27359df7bbe2714c331ab90ce7c630c6a705072f89329bc4ce1b4a142c9b1715adcb2db52db7f254e7578a000e185a6393697a07dec5c27f37a82bdc45301d625b3bd1b7a35ce2429ae43ead24d45e765fda357048759e08abd57b69c4b20c594979e864db04fdcc930e0d7b55affa25cdf4cd743fb86919e121bd3d14820a9df995f7cfb34c838897146ce68ffb34bbb2dbc1425566f2a09e65e9d7f695ded87df51ff0f7e4dc78b953ad70bc3f0b489dcdad61ae641f5d9 +Msg = 7a27b3080a30aa2ad290a71e7668133943e04af91676a0f37996a20c106a9eec34f365b0dd594fdfc57f80a0cadb6a2a9485937b798d984d9d9273465e90f96feffaa6e742099dd92c53ebabc49f0c780cf8b0c1d300bf5fd9879abc355ca443f463011503e89dfe4f3370a72a5d010df1622931eb761a12759d9fd85c76a652 +S = 085c5953fbdf2078040447ebf7e351fa0516a403067570eeb072d5a2601db2e550399eb8d1f5a5d35174468490a1ce554422d0966bcc3dc42d8ecaa4a3805d2d642c9279a4a30673cf495a15fcfdf04d408631a72acc94ff85c8002bc084f5d35c6a2baa6734e6c411e1b89d4be6aacd6f4277b37b179b503e023e95babb1e4254b702703903e3157ed1ff8b7f8edd498bf95b50ba4b10f244738e259315a74fb479c2accb01634a856b3415b880a2441ab6f9f5f810248c0b1a74316600f013a85d52a870f8c926680a45f8f7fc117e6298c878667b1059280bc52e129c6ae51f96c0eb3348aef9c4c8039e7684294cec1392ca1d9f1d1a67822ea936e360ab +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = P + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b62585 +d = 43ffb5bccabca2ecb6b096d062036b1a13bf8f692f9a06f25c93031309ba24c95c9bd1e4690b1b06105a9ff6f18f41a2c0f4c297d49eb46c0f7fb6a6924f1bb4d668bbe02e3dedc27359df7bbe2714c331ab90ce7c630c6a705072f89329bc4ce1b4a142c9b1715adcb2db52db7f254e7578a000e185a6393697a07dec5c27f37a82bdc45301d625b3bd1b7a35ce2429ae43ead24d45e765fda357048759e08abd57b69c4b20c594979e864db04fdcc930e0d7b55affa25cdf4cd743fb86919e121bd3d14820a9df995f7cfb34c838897146ce68ffb34bbb2dbc1425566f2a09e65e9d7f695ded87df51ff0f7e4dc78b953ad70bc3f0b489dcdad61ae641f5d9 +Msg = 8ec0381566ab63122b5c86430e98681f333d7a27aa6e6625a1f0eab6d8d4e7065557b5db5806bad591263bf49152715a7f66e0520c9ce492a8f58dbdf7dbac2c7e042eeea399a90dd498351306777dcd610a164f39a60f384187c938fb6f08cf73904b572dac59445c7b1dab544db30142f0c3261bd40ea1d26d462eced92376 +S = 46f71aafa2017f6103d036ca3b4adfb81eb25fee2ccebff2f49dd9ec7f7a3bf75b927819b68452a2e8c2a08e960c44d695b1e443babb4a271699319f2ae805e1bcb721482e004f2a281015682638673f5759f6bbde92171fe5f1017e6e9d06403bfda82d63d2f31f597d2bf8ce512a0e6c9cb3afcc7ab658bdc238da5980d175b2a7616aac43b317272ce3779a56da46ae1ca73666843e06b7d2108e3b3dab6a19d1486227abe853573effcec8cf4a7bf9ce07b6c617017877b5c839618d595227af594649b408a42399bb80f4f7e872c2ebd394d105ab64ae6047180ef16a6db3b2226c48947ba2e029a3da43f2af4d35aaad42f7909d11017edf506e066a07 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (2 - Public Key e changed ) + +n = 9c003978e1f71731e2d1128e1be81bd6c99cd3251672b9c4186497243b17ce523ab113bd4fe397178e6fb5f3090b0680e42cfe78b3928c22da53ef43595b1c5792a2794f86622bc4a997932dc20df9cc429b5010e18d73c71796df877fb66e72d372081260fe7760d46ff916ac74292ee6e1659c2480a22c9522bdfa1beaa71ae2a5581eb0045bbfb7b1d687553cf3cfb061bd2e811e6085d9e4849f30735bb95b34ae40aef5a5eb399331704907b67094b8f418deb76b6ff419031a5b2cbc7b64487b49d418d67747f1609040f08adc42b1b0724869d838bb932511a580ac9d872d5a053f3b61b3f51c43fb2b3d510a696a9068e093eea0670e55e58571904f + +p = db099c2cb4c0deca479d72af24b0d04d6af292355b68d238dd1f5e9c3af8665b9e24e3225a2ead22bf0922ca210770406262a221af0059f4e07a24d7108348a31688ab992db145e69d350f1e97120564d1e9a09548d6b5a69fb1b48fee890044ef0e9e16638e4806a1f2def9cf5ef5b6e4298c2a89005bf0d6deaa357e06adb1 +q = b6537094bc44544589ca442e6140635c7e94ffbe8e185df65d440dbd91ff25f1b80a1a08d3b219f48d4b31ef02495d3889fe3569f6b5e080a7c5fa618433f20909240e2e81c17ec5739794831ad7497dc0699a3b53a0e56a54902c79332a580fed649af3a9619abc8ed85562ef2f003a240a3b08cbcc4db3fa0e584260d59dff + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033e58f +d = 13259a72feef033b553939c7587050ee47d337cc313f10afbe9b1f25c4c0a39848c3a4c1d823de49edacfba70a41faf5154fe71b95b01e7121669615d3d0b92da91bff9a6d92437c9114725c1fbdb29373fc38f2066c2b54105ddcdbc816a9f32a2e09fe59ad70d494620d416f632f5dcb70ac38412a789af79fd9a55ce04ea6ade8e0615ce10590ecde86a247935d95e6ebe73475f840954438c83b9e330b906632ea5a0f559634481867a85075c60ce9cadddd190d537acdf80fe7d801cbf69f85039239d68fb85d7928de2972886600cfcf1bf034a37a0693c7cc84720131533f3b052d6360d4f259dbb6d7e186c40e1b298991ee2cde25452129f74c914f +Msg = c3232d8060a3e3f8687dc05d8879004bf5c3a7030336bacaf4d9ae8c0daa21c5f09bc8a225dba963fa568a038d7fa91b274dad04cb83dd3b0f35900a2b88e46550b9b3133b61c30e09f73d2b4d9661fd600077f7f8e409d2fc5c4f2e97baeb7c8c84d71bc9bd9bc13e66c31def4590bb48e5ee27b1dea6556356d5407ac89dd2 +S = 21bfdd610a56fb8b3fba9f3841e7ab9cb2b91d16c7bc3ebacc266271e05eadb6d209a043a29d542b57ad832a3ed03933088abd7b56b86fcc295a95fa66e27f5b9b2c919b82d4165e2bc42b9e46eebdc7cddb29888281250e6954190f8e13b6d9ed6906e8d603520deeeb5cfe4f7e932c88ec1ee2dc9b971a0288bd71a45ce6037d8d7ef2325ecaa573c57ec753916fbb6335e9ab5cb695ec0579b511074a6cac3b21584e5e4532621451641a4a09491c77555972a5d42a627f50ffd490c79e32c855aef0e2859c933321341731e796b2ed4c6c50a98a3f3c6995bb6bd53e52c531b15d042061186677f9158eeaabcf302626c8ee639685c832cf3bc4357cbca7 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033e58f +d = 13259a72feef033b553939c7587050ee47d337cc313f10afbe9b1f25c4c0a39848c3a4c1d823de49edacfba70a41faf5154fe71b95b01e7121669615d3d0b92da91bff9a6d92437c9114725c1fbdb29373fc38f2066c2b54105ddcdbc816a9f32a2e09fe59ad70d494620d416f632f5dcb70ac38412a789af79fd9a55ce04ea6ade8e0615ce10590ecde86a247935d95e6ebe73475f840954438c83b9e330b906632ea5a0f559634481867a85075c60ce9cadddd190d537acdf80fe7d801cbf69f85039239d68fb85d7928de2972886600cfcf1bf034a37a0693c7cc84720131533f3b052d6360d4f259dbb6d7e186c40e1b298991ee2cde25452129f74c914f +Msg = 0d8235883f37654b35d3566174cf731b5b22a54ac15718f9d8e2415c57b42003d80dc2537e920b37dc9fb21312de8dfa39190f20024c0f9299ffca24d0d22cab795a4b6d132b35d6aa36eb6df856ad06d0257838bd14ce11e6bbb509346d0235b710d7bd462b6b90664109566e5e5ca7e8efe97a39d6dde085be09f2cdac2b07 +S = 6530d456e14269bf37a95ab7b2ca4f534a47135052665a2b64e9eff970a9566ff0304029d2844d5649e643212aaa7f1f9103bd5288b1bebb7797cd8df3393373852cfc7001a4257499fbc92444609e0afea095927ebb773b7b666962faf0686a8b173f446fa562e82be1467111ecc38697103cdc1e700890b60104eb35575d25b9565098544a2e26003b3150c9a579c534a44bd0c1569b58d871d6a5af51b5ecf3cb2b0650793ac95a44596f86723c31ce4b3b1365dd61d2bbadf394b16f734608dddf991595acfd0aba42a12095966bc005c67b60776ba104c9681efd38d2e91fd3995588d9ce244c6bdfffb8e0086837946c35627a09a2f83b325af71f474b +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (1 - Message changed) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baa86b +d = 13259a72feef033b553939c7587050ee47d337cc313f10afbe9b1f25c4c0a39848c3a4c1d823de49edacfba70a41faf5154fe71b95b01e7121669615d3d0b92da91bff9a6d92437c9114725c1fbdb29373fc38f2066c2b54105ddcdbc816a9f32a2e09fe59ad70d494620d416f632f5dcb70ac38412a789af79fd9a55ce04ea6ade8e0615ce10590ecde86a247935d95e6ebe73475f840954438c83b9e330b906632ea5a0f559634481867a85075c60ce9cadddd190d537acdf80fe7d801cbf69f85039239d68fb85d7928de2972886600cfcf1bf034a37a0693c7cc84720131533f3b052d6360d4f259dbb6d7e186c40e1b298991ee2cde25452129f74c914f +Msg = 84b1e3cd7c5d6011c581302e03489fd37aefc841bad659fc81d796c6ddd6a1cd9199f824bada3f70b29b40e435ba306fc2c53333440f233af2048d6474b9fda447c87c6c625a56661a85216543d9fa9b9835120c5ddf6a4242d4da438b5d58c06ee3778fbc042e5cc4e7db9b75cc87c0c2e76cb34b6eb47e39f1844969ea3989 +S = 1864eb619e358d7e0340b582288e3290d5f8caf1b6831bfe5978f4ea56d15762247bfcec56e2a44fe11507e5eb6fda0706b7287b09ea770d577cdf660c523a76e2e70952177f0260cdba51efca71148e069ae6540f5c4722a4b4db6336168eea86612b6b4ecf8b5b2e1adf3d4f79c3894c617ae0ba56a930c658f0f55c0e5f2719b4b52b7785c30489ca13c9799ded9144404409f284c41530fe35967c2d844dcb1d2d80c10a985164466ced3a4d74573b175ce7288418b39962d4a34cfbdd43ba5a6b73af0f9ef55946b61bc7d5c0af9ab0e99bc0842edfedfc91e213f021842ccc785cd73a5f85d8aa8371c80151b836651020e71c524f92d3c654fef0b37a +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033e58f +d = 13259a72feef033b553939c7587050ee47d337cc313f10afbe9b1f25c4c0a39848c3a4c1d823de49edacfba70a41faf5154fe71b95b01e7121669615d3d0b92da91bff9a6d92437c9114725c1fbdb29373fc38f2066c2b54105ddcdbc816a9f32a2e09fe59ad70d494620d416f632f5dcb70ac38412a789af79fd9a55ce04ea6ade8e0615ce10590ecde86a247935d95e6ebe73475f840954438c83b9e330b906632ea5a0f559634481867a85075c60ce9cadddd190d537acdf80fe7d801cbf69f85039239d68fb85d7928de2972886600cfcf1bf034a37a0693c7cc84720131533f3b052d6360d4f259dbb6d7e186c40e1b298991ee2cde25452129f74c914f +Msg = fcef065e293ecd29ab52046c68c6e940aa0e2d5fce5d4a2b40c516f2a7a198705c301b95218282891098dbeed1c73765105db8532e87ebe53772585115b1585f03df272944853a1e143dd34ddf18d2e1b13ecee7eed464584323cf53dcf6b9aad74351a0f90e9ef1a08b1313f98363bc73f897a4740c5d8c4a1fa37f64386458 +S = 00acfc93e41faf5004cbcc252da290b9cf66b56a6a4849c572461d3212cc4cf1021eb96e8651475fac7dc87faf3a5b52923123378c18cb83906d1ee6e53502bf0e89ce66f3cf5a4b7cafa13f2d97f99498c0052fcd640570e5e1dacdc66e24c2a54f02bed338a26748fd17c07bfee5492c4dbe4dfe111932e3153394721b0556a440788a2bcefaa2765ade916653f4aac20d5ea587fde0fdc255dc32c5aa52b05e3ac2db4d7c3a8b02ee1733fd300801d1bb8e8613386f3deef8dd497bfe803523491ab88553db60b03d29c55ff52e71c546873cb1b52bea1853c8f0070d1776545557becb6a11310acfe1be060deb53d16f0dcbc396c1d30e03c4c069c3ad48 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d060960864801650304020105000420d090cab36f39972a8d9f2886ca4fcf899efe68a7acea8d1581f7688a78ada8e9efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033e58f +d = 13259a72feef033b553939c7587050ee47d337cc313f10afbe9b1f25c4c0a39848c3a4c1d823de49edacfba70a41faf5154fe71b95b01e7121669615d3d0b92da91bff9a6d92437c9114725c1fbdb29373fc38f2066c2b54105ddcdbc816a9f32a2e09fe59ad70d494620d416f632f5dcb70ac38412a789af79fd9a55ce04ea6ade8e0615ce10590ecde86a247935d95e6ebe73475f840954438c83b9e330b906632ea5a0f559634481867a85075c60ce9cadddd190d537acdf80fe7d801cbf69f85039239d68fb85d7928de2972886600cfcf1bf034a37a0693c7cc84720131533f3b052d6360d4f259dbb6d7e186c40e1b298991ee2cde25452129f74c914f +Msg = a6a2c5c8718c64105fab8d44fc69d334273aa71e7475d924ce625cfc61944aeab77927eb202f6a33589939da64b375d3bd22f61db010183d053676ebdf3af50ce33c05e09cac237d1e5ea27ceae0acf2120b84a29ed80d702d759019e098ba227314e40eadaa98d4fb215090589880796f1cd7130476c2a6904633ee2b56a014 +S = 8ec5b4e7671975686b72eb3930f77ef3622119d0b2ae0618fa52c7410519c4f846c986001d3d82844ae4c13e99dee463448a498a652e9b725ddeb6323b83d5521637be0dee7b224c50dcaf6c7b9a2d26f9b0aad81ac6e4651f241d7a860b51c96ebfc3df978c5373b7846d3139f509dc16726f712c0e61af620b2c6db0955d0ae9cd4760bb9de6151e04bfa19df4d5aca2576f91ee7aba9eb446fee77c604faa5af87536f22fa6e239e898de906642fc6594be9328571b35a3a8420ac697ef993016f78def8a17d13698cc4c1876ee1006d814dc60161214a8f8b6f2a345c8b0c0fc645873b6bf9d2fbace2246f643a6d3a2e0b88929623a2e2a73823f6e325a +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = P + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033e58f +d = 13259a72feef033b553939c7587050ee47d337cc313f10afbe9b1f25c4c0a39848c3a4c1d823de49edacfba70a41faf5154fe71b95b01e7121669615d3d0b92da91bff9a6d92437c9114725c1fbdb29373fc38f2066c2b54105ddcdbc816a9f32a2e09fe59ad70d494620d416f632f5dcb70ac38412a789af79fd9a55ce04ea6ade8e0615ce10590ecde86a247935d95e6ebe73475f840954438c83b9e330b906632ea5a0f559634481867a85075c60ce9cadddd190d537acdf80fe7d801cbf69f85039239d68fb85d7928de2972886600cfcf1bf034a37a0693c7cc84720131533f3b052d6360d4f259dbb6d7e186c40e1b298991ee2cde25452129f74c914f +Msg = 79220b8d86942a13861560882a66fb4c5c926a661b74ad2586790a0636a802d9d1df8320dc5f5fb8d18afdbb72ec4fa45c7903b4df15fe950d5a063e1195be16c311d85c799986c61f3831688a436ed809992e903d2a34932bb6cd5490d7bbd374427209024a878697a66559197342308a7d51c0ddba39670817c7105a77df58 +S = 54835466397784e6229228ea1e462b37d77757ba17a6624fbd3279408e89fddab2234f5ee20b56cc7095dcee3cf033e4b04cebb9771997e3b9f50ddea290080888fb406cf1af4b2d14c12be788cbbc6454c52276bf64ac3b3158049cc78986e38413bb09d408f04e8234228a9403eb901d6f2fb21887996fb228c292a2aa99fe8456172145939606eba9cfaae694e5fe824ffc3a5547195e24af5039aa1f1dcac9a9cf54c51099f82cb1a5aacd8c9419d1c7ce880366f1276fae7b9e1848e9ceaa7ef7244e5cb788f524bb50231ef4d81e14d59d3f884dbff575e953a145fc45f7661025e1f6fd95874eba803de03b5fb0a8f5eabdc739fbb91c45ad1c29128f +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d0609608648016503040201050004209b7cf8775ae244c2df1e0c4a5568f256e3300bbe0d7936888f59d2de1da0961e +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = 95a31458ca41cf7a280fd060660fbecec18b6242b72cf99d8039a890ce07aa5acf432d9b400160374b3626a46c6107cdf51f1e8b519ac26ef169cd75d3c5e43267ff391dd0a93730c39c166fb77c4c5409c19ea252bfc8e990d873368607c8ce032bc0a6968a0a6a5a918d49d35a3fab9a3e69632816026d433d65bf765cda3738e8c12f43e869089296b36ee84704dadc37db62fd18f380ef76334d882809881d6a6dc8a8f49c4595cca6f85e9dd8ad616cd984a27f4938fb9aacfca473f1a4f00b0db47b471f04b4170ea909cced5960d4a3d269de9ad4b2a63e8ab712f1f0f7c3e9ad471e15bcef3614eb4dce291eae0785ccf2399b16b51a84d1df8ab395 + +p = ce24108e9e2cb68b86277da0b8666a28df823237872967ae5a7190d2de18b5b3ec40f4f89b39088afa33ce36da58b4a4f5ebcf75045fa3857abcd706e7b61d042421c665ce21c415281f4a1db899f2d149dd1cb8f28e6d692b446d23058b9908858d9d3ea5a5ca12719b33d989a00281a823f8cc55ceb8fbc31ec8aba6d790ef +q = b9d4618196c2f80092a21a95fbf81a6bb21f877bcfb4640fe4cd30b3b2d5fedb22b81d36d2d17232958127d099f2c2b5bcdf342d373f3982e855dd8d5a644f704835a4d6a5ae77a3a3cebeaa07bb577f76ac7e197348c5de5264e038511616412e1f77fd6178e4ea67f00cfa7390fecc715d2cb34cc972bc532c1992279f7bbb + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cfdb6f +d = 0c3d126b73c0c6d789b19d963c0e45c6b5d1b5825c10fcf92571cf5ed1345b8d0bba352cdc03fcb91b39d2d3681c0019fe3c13cf1e746d5238331450ce4e3836ad2413e2344af7382feb4e56def4e4ac0e0f0dd8afae2048548b990412830e4eee301539ba603c6da00b6467a1deb7eb856e90a6604859f1c361f7c7eac1756c0c37648d2d1a142d8c34dfacc7a1040a1ccd74bcefe2cdd54d13095c71c96a4ac454e14960126d3598a96ec9bed2b30706e41932109410a499b12b7a1b7eface9a59b20ec33d5a961919a3b8e287559185a774a85f09f5c7f4e3ccbd042186f4e306dece2e948bd4625ddd5eabfc708569f9325b64ce090f240a0542dedb30b5 +Msg = d5f5d567512a899c0168240b319e6abcd8b92a8d6e20b9d3ff80a0447ecf92155b8ba15f5743b1c798592c5ef806f7c6a39ea597e116eb0030c354b2966436f93563e52c205826486dcfe7d88c4b2d18d78b4d59690b5fa734cef0aa4e5bf7ca8c060a965270d267a951bd409275f2f99b058a9daf08fd103229daf54ebbbcce +S = 672403ce06f1ab0ea42fd043666e4623299fcefead6cd204599102fc8d543d3bc93342fcaa1262d52e6ff344febda6faa57119ee7418cb78a893aeb245f618c072214e9740abfab998a0896a1c9066a823dd62b5ddf9e9fbd7bd6b68437eef595e90e725180b3cb12301a989cb78ea2dd48730521caf4b2754679c4df2d8e2c12b8c8e55f1327fc6624d85555558fad198db6973ab155deb56cbcfcd44d8a61f90400dd3760b19aaba4dc167742bfe1da0d9ce20036c284729e16b8aff5b6ac3121fbae8cd55fc0779fd0ef7b382c85db88b2ae79270b1110875923b2d72d8ed7d37e2bdf5396b158a89fd1ae95c146737db028ad6cbeb0ed43edd421197d23a +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646e91 +d = 0c3d126b73c0c6d789b19d963c0e45c6b5d1b5825c10fcf92571cf5ed1345b8d0bba352cdc03fcb91b39d2d3681c0019fe3c13cf1e746d5238331450ce4e3836ad2413e2344af7382feb4e56def4e4ac0e0f0dd8afae2048548b990412830e4eee301539ba603c6da00b6467a1deb7eb856e90a6604859f1c361f7c7eac1756c0c37648d2d1a142d8c34dfacc7a1040a1ccd74bcefe2cdd54d13095c71c96a4ac454e14960126d3598a96ec9bed2b30706e41932109410a499b12b7a1b7eface9a59b20ec33d5a961919a3b8e287559185a774a85f09f5c7f4e3ccbd042186f4e306dece2e948bd4625ddd5eabfc708569f9325b64ce090f240a0542dedb30b5 +Msg = 6ba3f34bde03e48259723bd599464274df4de2b6f3bfc3b06970b507234a4f0217fbd5e352eb5f783d7138ed204685e4e43a27c71d25e25d4821be9c50f6adbf58d66f98b44bb326386d7f6ab658d177c2dd87c9b8787cd70182f4eb91a83a32b49c870f0b0a26b5d1ced6f56364705400a0c961cd9fda461cfd1e9ced483c84 +S = 236f23de25bb3694f5ad9f09224f5ec1e78cd7f371ec50097327026fa53b1689a95eaf54738cb75e5abba87a964d32817fd5071febd84d60c7b11d95e33a7f90f22259bcafb9425cc1a79305a00a1b8ecfc3bfab326b6463ee57d1e435db91f45cf4edad0f9ee50dbe42130cfd1bc424906deab4906571688d1a514d98dd074139d57304c0c2d8a87ef5f8766486da8df827f9e0c81fe3465ea52d1984d738b9fe9368a0d05384e9cb298330671f65fe52062a0d3c4af210ad471bd5ddf9d72787f40ede3b77297c1d3a5b29ccadc574e9001bef89e4ac093986bbdf048d7b63bcc072a3cde800eda63bfa8e068fff4cb9f15b5f98c255fcde6d46f139e4d30b +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d060960864801650304020205000430c7bfc0e31e6fa863f46d8861f1ecc7040246cb40cfc45a30d85d111771e72fd15f17d272dc4c7d575e891df0b5ee699eefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646e91 +d = 0c3d126b73c0c6d789b19d963c0e45c6b5d1b5825c10fcf92571cf5ed1345b8d0bba352cdc03fcb91b39d2d3681c0019fe3c13cf1e746d5238331450ce4e3836ad2413e2344af7382feb4e56def4e4ac0e0f0dd8afae2048548b990412830e4eee301539ba603c6da00b6467a1deb7eb856e90a6604859f1c361f7c7eac1756c0c37648d2d1a142d8c34dfacc7a1040a1ccd74bcefe2cdd54d13095c71c96a4ac454e14960126d3598a96ec9bed2b30706e41932109410a499b12b7a1b7eface9a59b20ec33d5a961919a3b8e287559185a774a85f09f5c7f4e3ccbd042186f4e306dece2e948bd4625ddd5eabfc708569f9325b64ce090f240a0542dedb30b5 +Msg = f3169de46af85cb510fbb4cf9c0aada9f875301ceafbc818f428a59679e1e6cd203d18a97e96f979efe082e8c43a252ea4c354872caf42e4d99aede1281b5cf8fb9d25f43f6a33a8cc09c6e08ccabb98e09f0e6c3f2d9d5021232f811bcbb4bc4bdfcfadf69d91aa701d88a13ce3f84f75b168b36c9e60c3936c725d9a177780 +S = 47b74ab96c333f1b60313998e9bdf5e313534c96c2f7b139f4fdc8295c8e53a1ae275b235a6931c69690ba8f1cd5bf9d3e1a6f8a23c9f026a592ddcfe35dc498ebef292ed49a87b4813ddcf04cfae8aaa6978f629ff58f24960985a452a09439a3aa027668055ac5900d62f5f584f8bdfaaa72489792fc32b6adc9d289dcbf5bb9a278ada1392b42a4e5b9714a1c3af00f937962477fe72b820dd4fce5cd2e25e6a56081d6119df474b7b7586b801680c4ecf9d067f584d79a9cd0f451aa90644096bf9e80bd469727ad7b7ceeb9cba63de2abd423ea96675d8fef64130e357a5d2f67da0fa528fb3ddbe2fd553033e517533c6d1c301c094ce0899bcbbcd4f2 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = P + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646e91 +d = 0c3d126b73c0c6d789b19d963c0e45c6b5d1b5825c10fcf92571cf5ed1345b8d0bba352cdc03fcb91b39d2d3681c0019fe3c13cf1e746d5238331450ce4e3836ad2413e2344af7382feb4e56def4e4ac0e0f0dd8afae2048548b990412830e4eee301539ba603c6da00b6467a1deb7eb856e90a6604859f1c361f7c7eac1756c0c37648d2d1a142d8c34dfacc7a1040a1ccd74bcefe2cdd54d13095c71c96a4ac454e14960126d3598a96ec9bed2b30706e41932109410a499b12b7a1b7eface9a59b20ec33d5a961919a3b8e287559185a774a85f09f5c7f4e3ccbd042186f4e306dece2e948bd4625ddd5eabfc708569f9325b64ce090f240a0542dedb30b5 +Msg = 599d4ceb774e4906332eaa216b2fe8e1fa52506f381baa87c34319cc80ac425fdc9ab0af581f779344d71896cad6a5912fdf268056d63a8e867802726c4a3afe64cfa9f5f4febc1e99f36e96c7e56a6a2b58746533940527d05535777bc4dedb76a6ff6554d45ecfbbeb72cb69447f94752703c9d73b517b2b417c85b202761b +S = 0745457af52fca56abd808f094951d3eecab89ec10b74dd49d51a9241c3b85972755a1f80bda2cc96cda7cfd549eec820bd2f99920ebef1d10722918adca8d408c3c883d7c257b117842420afbce88159c7ac4f4bf27f039c24c19dd275643d0ead111d5f04912571cd3a7d40e3f83c32b44762eb6d2e2de22ac006643c498ce55f6116463336cfcfd0ccdab250e9931fde68c9796e05b012adfb76359491f26f69ca9d06b43843a4976f2b017643e6cb80b8dba2a01f1b01231ace075ab31d40319b30ad738f62d2b8a1f43ff1bf67f83330fad67f94a39c2c51db23aa775aa43b708ef25c9c62eb565606e4f5002ab15b00dfa829c99e3dd96b454c7448174 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646e91 +d = 0c3d126b73c0c6d789b19d963c0e45c6b5d1b5825c10fcf92571cf5ed1345b8d0bba352cdc03fcb91b39d2d3681c0019fe3c13cf1e746d5238331450ce4e3836ad2413e2344af7382feb4e56def4e4ac0e0f0dd8afae2048548b990412830e4eee301539ba603c6da00b6467a1deb7eb856e90a6604859f1c361f7c7eac1756c0c37648d2d1a142d8c34dfacc7a1040a1ccd74bcefe2cdd54d13095c71c96a4ac454e14960126d3598a96ec9bed2b30706e41932109410a499b12b7a1b7eface9a59b20ec33d5a961919a3b8e287559185a774a85f09f5c7f4e3ccbd042186f4e306dece2e948bd4625ddd5eabfc708569f9325b64ce090f240a0542dedb30b5 +Msg = 73a125e5705e14e15f2446fe326f563785bcde93d2ee46abe4efd9668e9a1e089cd9656b0a0aa08b74a87449ce279068551f3edcc5ad3744cd17bcb5c0aee2b98df92e97f10f61d5eb4595fc7109899b610e3a8ebaaab3800c7c25af2d513aef2e48a7f28d3501c6ac44d19f82dfead791d1fa3318ab606889663dde3d4bceb3 +S = 7a7a4e5b349a06dfdbc9ab958d5fb70b650b1eb2f7eb43cfdd7508062efc9ada3ec0739ad95b2066009f760c8c5030e909189f36b0f7756a67a69a38d2db57d0708a4a2e295b165411b2ebce13723bdd9194afb288452d49c585cfaa3148f5f5464145d2d673cb1803b6ade6003a9f25bf27325f8bc4b883ec7cad37eeecde9ea1a62d0b30da841e2446706e72ac2588948b15fd9ce09ecaf105bee8bea71622e2c58ffb9eae9bce35e9caea8ccc7e0c8593128a6656267ed088bc26347b7b249ac45e06f68034b6d39a4e2eba8c6f5c878450654bf36e5e73468413510e7b50d0e63de67cd7ba35d4f2afca5b460cc7277f04faf2fb03fd7c8995c2fc9b7e6c +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d060960864801650304020205000430cc88a38a744051d082ef7fe6ee52edf3daa40ce3be8b78fa33cf7146d3799a96fec23c91ca211a864316335b585c9e4c +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646e91 +d = 0c3d126b73c0c6d789b19d963c0e45c6b5d1b5825c10fcf92571cf5ed1345b8d0bba352cdc03fcb91b39d2d3681c0019fe3c13cf1e746d5238331450ce4e3836ad2413e2344af7382feb4e56def4e4ac0e0f0dd8afae2048548b990412830e4eee301539ba603c6da00b6467a1deb7eb856e90a6604859f1c361f7c7eac1756c0c37648d2d1a142d8c34dfacc7a1040a1ccd74bcefe2cdd54d13095c71c96a4ac454e14960126d3598a96ec9bed2b30706e41932109410a499b12b7a1b7eface9a59b20ec33d5a961919a3b8e287559185a774a85f09f5c7f4e3ccbd042186f4e306dece2e948bd4625ddd5eabfc708569f9325b64ce090f240a0542dedb30b5 +Msg = 86843b3170034a9f8ea79a39657a5e7460c50ef75c800dad690c8818cf25a1e85012cdccad1e7a886c4cf648d7478c334898f044a41bdd5526b4fc7d5e3e089c79c43034c2f4bc7b69d0f4ae83a73da7534486b2c865e29d466f760eaa5f961988042b12b66c58a00f9c5d137183bbf8083199eacf4566ab53a4c073bb719487 +S = 45dd07f00a1727f2e992cf0fdaff0c233e6a6866128416456fcd2db6030a4f3cd216db9c4cc2bc7440e06081595e9c51f3c81af68166f6b9cfc0ba4491bf1835b1c946d69d0a6b8c39e1eca84a3bf91f7a299cecc1d98e6fa2ec56cd01ffa04d37423933d746295ce669cd8974caed44f45b88cd7eaffbfcbc70353a3b45c53895edb4e6b19a65564ea3ed404506a4b8dced831c2174995b4455797dd2fa3430f575c6ee80b7d74149746b415ffa6613fc8404ae9e5625e1b8e2b74125b341bd1cd8ce2e87c06114f162fe464d299aee6ed0fe70cb4de523c5b0e10f1f8996f3fdfc9379c3267c268cf29823af84fa756b99ee42f4e0ab8b691e5145f43e38e2 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (3 - Signature changed ) + +n = a93cbcd5c69a8e24b6be4f078652e6c8bf6d516b1316e842d5c8e757e387243c4905b37a66a30967ebc6ed6da56f690f60bec090652ee1926526a78317d41cdff392111fba8a6a91109953fe102c8a51e56b3b6f8087dc53e38d57ac31cd7bbc46f6d14bdf488852db296de27200d11dcd067d776af73c10cd044636aa4d9ea5609c75691aa164eb8abe0f187c0286dfa4d1f5f4332e7664c3c572671b757667e221cc2f0a3944926331ef73bcfc58d1ef8595a2bffd240f2397c4bcb69826ec26fadb3a154e58e86fea883d516d21cde6c162ab55fad9c52df547ef0e6b946d368daa97585084e43a32e029908910c6f99b4131c3961d0543fd583608e8a3e3 + +p = e6587147e771024192e5227cf8e50cd7204cc2538c785ec7794ca9826e7c96e1fb61bd0c09647d46047488ea8f8c409f6652580d326b4d7d236e83d17e386ecda1b2e7a3ce7b2ec05af24e975dd5b57b3b01fd303ec66a2f98d5931b9dacfb11aa9d43e0c239a3740ae85272122416ab9261e8131de3bc53d0181f0a07a388a1 +q = bc15fdd376cbce9394576dfaf90d418dc456f73b29bdc08c753d62dbbd6f68bd92875b41d3835af0753f9566b2b966a41aa5cbf27bf80e876c03c48ccffa5837739e1aeca2b24904ee01f2b54d07692dbceae48772371bc618fcfe453d9a8eb84111e5efe7f9da46a7e4b9b75378acc3352b331f15dc495172fcc1f8aecfca03 + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000452b3f +d = 0cd2cf014ebcced005f8ab5f0d22f001600b49b1ecda0f2700920f661a6c73827aad05d5fff4c63d319d6b3cf04951796a6942a545b8751ba57d449767f60863af941811df6189250710d68df8abc414b6fab9028f85ca90059d15f559b12ad7e286ffde4694a79cf8b6e4f2edaf855e3c27ad3a2ef870c826464dda35c2d5b39b8270ef96ee3c69093ae522dd935d98ad879aa14bacc89219d3b8063ae9fb9d9d3f77e3f6f7956db058ed3d608da5b2f52e9074dedb55d6f7bd909fb679db35c155381f91f72a0d90f84148a6341db28c103c9503c9f9b01972a6856291f87ee931afecb43be87d920abbd4699ce0a4a131de4b12501aa69ea041d9db2b0a3f +Msg = bdd8719841159aba3f353440ef98efa92cc503da8d00745bd12094c3809bc971cfe3907dc4f5c2ee9c2e172e6a61e8bb0028391e1277f62199777d3d76915d5258c85d9bdf4dc1e0024dc8edae0e7944af3a9f0fd47b13584e47397c5afecddd2032e0d8da451df7383a516703c52bac02a440931a325168b83ad16a7409a27c +S = 2e7b28803bbf9d58be8219ace68c020a42a4b42e59c2c2e0faf56ca17f7c6f3a427688f124481308e249e4d579f576dae5743bae68b349f4d04bfc21d60a969b965827a67025bd8220603763cde90a42b4308f2c84bc2c4c8fd5de0efda349e9cad1f47140d01fd27021ddfe16873067213636ad961cc85d79a87231e1019ac4bedf9630e2c31f4b413d98ffeee53fd46ca6d62449e86fe7692b59feb18bd9296291d1bda77bb9c7cbf15bce21aff1c6f1ed9cc95a87378b13eed54d7b54835160f88f7ec710c87eec07c2239b7001bcd4a8428a1a274d1c78d89c2153c46f4ec997df9a19838813cef1381dcaf97bccac39739a3142aad21a966da1be5c471c +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d0609608648016503040203050004409a2ac8c89645b6d9ee0bfa9b65d71cfdcdf40e6f4e366eee74433614e6e6e8eeab5a27b22d313feb846984e6b475d08a6489287c36598e27bd718fff88076a70 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000452b3f +d = 0cd2cf014ebcced005f8ab5f0d22f001600b49b1ecda0f2700920f661a6c73827aad05d5fff4c63d319d6b3cf04951796a6942a545b8751ba57d449767f60863af941811df6189250710d68df8abc414b6fab9028f85ca90059d15f559b12ad7e286ffde4694a79cf8b6e4f2edaf855e3c27ad3a2ef870c826464dda35c2d5b39b8270ef96ee3c69093ae522dd935d98ad879aa14bacc89219d3b8063ae9fb9d9d3f77e3f6f7956db058ed3d608da5b2f52e9074dedb55d6f7bd909fb679db35c155381f91f72a0d90f84148a6341db28c103c9503c9f9b01972a6856291f87ee931afecb43be87d920abbd4699ce0a4a131de4b12501aa69ea041d9db2b0a3f +Msg = 3858011a054c52e3b659066f55f219dd58464bfb22b8c55dcc90ffac24f0e141f60929f28b8e0c2c7069204378ae790504cd1295820b6f77343381e73388ca6fb3ffc2b888ab78a1ea797c8e751dfd02734c2f715e2cef4fa109aa6d9f497b85f6a29314058ade67acefe4f95229edfc2d2d6836bd038d0e9a7a42e7701a3bac +S = 311e1025e0a8820a5ddc4f632628bac218baa94fb32c709ff70db3ecb3a1957e31513fdbcf15d83927f5840584af5ed90b350833f50cbeb718b12c56fc260b41ef627776bf1c0a67f39be26cb0045e6c2b60216338a085cd867bc5d9e744a27ff77baea199eeb669a2e0096256d081b2313f3b79ed180712ef56a0b549eb299b96029fd93e4f68bee5a0e6c8ee44ddbb06b8843fd4365cbabb229d2f8f2a9881974adb406e6ffb39eba8f20da38b558d0069f45f91c85debf6872a4ff36d5a79284050faf42b78b1770b176c88b7fabaca9111e511dc73a2bacb30abc3a841bb5b0f0b844e756dbfd3f5db458c47861df00b085a06e07ab4e788a080483ccbe4 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +EM with hash moved = 0001ffffffffffffffff003051300d060960864801650304020305000440a504c3e34d84e63516aff3d5d0c86ca6b883e934dad78da4627d67bcbaa1d61068752e7426208ca0ca358131fcdfc4f02862b27fc83cd40591658e4bcc86d0bfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000452b3f +d = 0cd2cf014ebcced005f8ab5f0d22f001600b49b1ecda0f2700920f661a6c73827aad05d5fff4c63d319d6b3cf04951796a6942a545b8751ba57d449767f60863af941811df6189250710d68df8abc414b6fab9028f85ca90059d15f559b12ad7e286ffde4694a79cf8b6e4f2edaf855e3c27ad3a2ef870c826464dda35c2d5b39b8270ef96ee3c69093ae522dd935d98ad879aa14bacc89219d3b8063ae9fb9d9d3f77e3f6f7956db058ed3d608da5b2f52e9074dedb55d6f7bd909fb679db35c155381f91f72a0d90f84148a6341db28c103c9503c9f9b01972a6856291f87ee931afecb43be87d920abbd4699ce0a4a131de4b12501aa69ea041d9db2b0a3f +Msg = 6883a018b48af70d2875a7f5cbb5a303d7338b6d76f988c3cd2f787f394a4bddd880aced4c7fe4e6bb5efcbd1ad422f6aca84fbbc568262bd45e1ef4a0c0e324d227fa3cb442a48638cc06a93cbb867b0cbb781629dafa2e49851ca29eb345505b60d22e753dff97a6a60be2b8d49739005450a829b7cd75338cbab0ba8b370a +S = 15be3fb200858d24ddb7586470ffe706eb299da157880a68aae79ff20aa92eca298eec75ac4ada285ecabb10479fa593ee72c585aba707f45599de0dc792c6e3390da5729ae5506100b31c617ee12445093a7593bbcd0e5a155fb9a41cf332c9d65b0d8f077fb417f027eaf728c5c326bddd7be7bf3e69a165c57759337105b94623ee203641ed2bf58f1907e3413b00e08d54a10bb645175449f02da9366b11952364c0328fff018723c30625836a0cdc7a13c220428d03efd625fce63f022b59508fc68ed4d16294111fc391052705ec115da4ead8caf5c50af586ba4dbe1b29d04452f947b5fe9e16a798f5d00094dfe2ba910e6449bd52d3f938c045ca9b +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034ddb5 +d = 0cd2cf014ebcced005f8ab5f0d22f001600b49b1ecda0f2700920f661a6c73827aad05d5fff4c63d319d6b3cf04951796a6942a545b8751ba57d449767f60863af941811df6189250710d68df8abc414b6fab9028f85ca90059d15f559b12ad7e286ffde4694a79cf8b6e4f2edaf855e3c27ad3a2ef870c826464dda35c2d5b39b8270ef96ee3c69093ae522dd935d98ad879aa14bacc89219d3b8063ae9fb9d9d3f77e3f6f7956db058ed3d608da5b2f52e9074dedb55d6f7bd909fb679db35c155381f91f72a0d90f84148a6341db28c103c9503c9f9b01972a6856291f87ee931afecb43be87d920abbd4699ce0a4a131de4b12501aa69ea041d9db2b0a3f +Msg = 20075fe0b26832c234a861a77078a8e9a42be3862ac4d0d058541566a68385620e6c9fd4b9ae5770d7bf1a83cf840c2c981f94c866091aae8a600f1d93822e72bada029e7dfaa9d889ead78fddc01ea32d716cd484e7d57b2e549278d5c54a6beafa91274775af6312d1a2b3e45566b72ac97392cc88889e0dd7a75fb37560b5 +S = 9166e91b18c8518760131ea0eeecc443023b61148a1d42030ed09d509d4c02cd0068142fdbc6e56073a68f5a942c0c93a7f90882f160522ea005f4afd34453c8c1b1d3a4e5204d0f9b797bc00b84d0dd96e311394f089567e45ecd0c795be010e7fb24e46a2842e8c7dae9d2c760fa09e20a29a623e6c53e3c436d809032b99ac4a81e63ba95a356f86a62dd6abbb0aac1d0759e44ccbfe225f5d206aba8dc7261daa9451ee1ba04de1172ad80c08f0709d2012ad8ffc8c5152508bc1e18ab53cde79ca50da9eee9b3b5229d38015f7e18f03612ad6270727be16fec06a5d9230ece777ff6936a3ae8f3a631e3e13f930256c3903d963ece49c5a10b5a6da47a +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000452b3f +d = 0cd2cf014ebcced005f8ab5f0d22f001600b49b1ecda0f2700920f661a6c73827aad05d5fff4c63d319d6b3cf04951796a6942a545b8751ba57d449767f60863af941811df6189250710d68df8abc414b6fab9028f85ca90059d15f559b12ad7e286ffde4694a79cf8b6e4f2edaf855e3c27ad3a2ef870c826464dda35c2d5b39b8270ef96ee3c69093ae522dd935d98ad879aa14bacc89219d3b8063ae9fb9d9d3f77e3f6f7956db058ed3d608da5b2f52e9074dedb55d6f7bd909fb679db35c155381f91f72a0d90f84148a6341db28c103c9503c9f9b01972a6856291f87ee931afecb43be87d920abbd4699ce0a4a131de4b12501aa69ea041d9db2b0a3f +Msg = 46c4bea2eae66ba40f3a6223a28a9756d7c980ea6e4976e2342e5fa1cc238a45af4bda37727a270048a6e15fc798f698efe7f60e682776140b5eb201a4b77682f67b3e35003c9c737f54da6db48ee07a672259af2ce712b1e5c4a2c788675033233a31c31d9391a3be2c9475f1d21da34961eff443ef135ecb48791c019be200 +S = 85f33d22d92f3e4f31c5fc0f17df916ec770903445f73536bef61966918efd0b380b9933d2864dfa10f5613d8a232412e5b3db44717eb576fc180891800c5d11597d2d09e477d0392740d700408f3482da6f8d9bac4da6faa220ca3cfd2287f5ed8654bb8dc8ac45e09e52e93bc78d8cb4e08d76e15cfa78c51852c93d31d64417c29aa7e22411746c280e3e275f71c4742faa0cece8e540d1b8bc393db120fc14244a2577650b514c73dd1e5391da76aaad375f56a3cb4e0ca942bbbb542213b5a38445cde0dd9eed4f7515c6c58251dc94c25f7dd929d714b2060da252584af84b82013f924fa91700d92523d69c96e0b0f68203a977affa92574cb241c0c4 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000452b3f +d = 0cd2cf014ebcced005f8ab5f0d22f001600b49b1ecda0f2700920f661a6c73827aad05d5fff4c63d319d6b3cf04951796a6942a545b8751ba57d449767f60863af941811df6189250710d68df8abc414b6fab9028f85ca90059d15f559b12ad7e286ffde4694a79cf8b6e4f2edaf855e3c27ad3a2ef870c826464dda35c2d5b39b8270ef96ee3c69093ae522dd935d98ad879aa14bacc89219d3b8063ae9fb9d9d3f77e3f6f7956db058ed3d608da5b2f52e9074dedb55d6f7bd909fb679db35c155381f91f72a0d90f84148a6341db28c103c9503c9f9b01972a6856291f87ee931afecb43be87d920abbd4699ce0a4a131de4b12501aa69ea041d9db2b0a3f +Msg = 25e9e6c39ee6f5c455d81f868713362929cd68ae87300aac2bae94440095ec56b7e3e7f56a5b0d197fd89c94d0e2d048087f6296504b4e1a2ccbda959fffd42a96361bce842661fa493c2ea25831286b19de93198c5114463020ba5a23fd3eb78a8b8a34337179cd79acde996829c7fc2293031d816ae19afe553b7bd2b9b365 +S = 2e0b30ae35777c9f951b22740fccb88fdfa94e7d139c9eb105be1a1ce542f6efdf4eb3d1ab0b2342f8e354a0878e31f0bdec1eb67ed19491a086065af7e5188ed0b95e0dc88812f66d6c726fd672e03652432f85a9fe4766a7c315c0c695fc37c45ff5441d3177c4181f01c243ad3c9614e4c6f4f8b879ca8167a7790aca6b34c74936cba58e64cc4e32ffc8ad6c09c48ac59f1eb18dd11871ffccae98c465abd5885bddf59dcec5ddb31ce4ecd86bf6af207373a912b2717e726ce9ff555f3502e8cb83e287cf0f7c938cd4b26f075fd50e4127555ade94c974a4cf604ea5c5d9e94ce91fcb9a2bfc8743c06e69ca41ef029881c3d64078cc6311c694dee627 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = P + +n = e3db9f81f57c99898c867221eb20449ed8b05c1c7d6d0388cd5bc691b84cbf9301b52b60f34be1ea5be12b87cc185d92451037ac2b2f79d1bc43d0736108b1eac5f5a52b4037825385df38966d15562cebd09d27c8fdd3c9bb09c0b3d77b0c05a1fc40b1d9d26bcc8ad35b321ad5866f500bb9196237a4f4f2f282f9091fe99e39c37b862dfc8a22ec487d6e36be1ef8276629b60d845d92524e97d6d52689924ff354a594ccafe9087f5ec6a988c2dae41d2a400d2c8c039e3d77ce5450ccd826468fcfe65718d292e7765f0185df94d5fa79c1e99a8b4f823b19475c6004c62c0f7db056fbe167df368ab8019d58b89d7d3790d427844684b147f962ae37ff + +p = e880c7272e1586afc0369132099dc999f9f003c3f5371f5c01fbdfd3dec9367a8682685815f7c06df32bd3f74b02482291eb289f4a1cd15952a4b5fdfb1973a6966b6d291f490e0003eb3f23ca42d02a8d80042b5c3c0d2a75b518ca3fb72835aba9f01770208303918627f32155871ddcc727193339385e493f13e7971f90a9 +q = fae2ab08a849c26d1eabc94446ba8368fef4f96aedd3c187a5f756a7a277233847b8761fc3c05ff312ca6626da68a5b0d1449df3d55d62a7494feabca9970ed377120f0645c57a2a528a6ec16d0382892282274591af1f810768ca672c0e9e264bd3e1fa1ec5dc5aeb810309ed860bdcf42dec758eab3101029598c083516467 + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000089e29d +d = 19c3026e66766ce0e7af29065fa98a129139a7f94007fd5c3038cb54b56e1685c0bd87cd4c9bece5db8386fa0550c5de6d54ebbea720691c243fdbbef8a26c03288be7c57059e34b9534300fc50c5b3eef7e2a90e9a4b853943daf145f8df7d3970b76604787236643d436fa35738c6c2dc26e9a77a2137b98e3e8e68937468dd4e5c6fada96662c1d81a72ddbf6d0f3fc6a43980798b22d80908459c981e0660b6d57a06eba6a0814928bf40a4762d7388d4e9aab1db95ff84c5a59cd94045e0722e683153bacf5c9d15f5b27d0a2e08440ae770782867fa36756ebcfd10e3ac4864ca5ebca15000d71af4b5bc76b6b923fbca439e82e3af3163f7de5edda7f +Msg = 70b6c465d2899b32b736c17af293c562a096d03c5dbe7e08b8aeec3be41c13c0b0e9543db8915397ddc609b8f4581590bb585359117db02066c63d81706182b21fcc14c3d43a6a23ce38ec67e4904d477a6e1be9aec19463d2e4bc7b1f7eacb0a7a72d7f8c4c85df70d4910e2c03148fc51f4f749c52d2d9e45091b159393ac5 +S = a231e220538d59cdaf54f6eae7c96f83a3d95b55be54989c1a20ce18f7ffa760ba26879120a2e617b560bd083662d9e95636f1a639f7db31f4dd74ddd891ee6365d5ead006a746a90457cbd4a1b7e9c5df710c81454f68bfe8421cf4468facd85413fc3db970a7a0682ff1377e942c5e5ed4b6b31de3f63a05a8a26f365a355f021380684179aa99996de99e7cc22a5a370c3fff56647f33d1bd1b2948cac297bd622289c1797f2de3be4598593ca4748eb8f74d0b7199a763eb1801d60d09f28bad1ca1b6a3244a7bbf9a1270eceaed2324f604134f404b6caf3c969daabef4e294fcf1603e0813fe20b88aa36b534ad6e79d1967ab2ff4e70b672c642fce46 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002db7c7 +d = 19c3026e66766ce0e7af29065fa98a129139a7f94007fd5c3038cb54b56e1685c0bd87cd4c9bece5db8386fa0550c5de6d54ebbea720691c243fdbbef8a26c03288be7c57059e34b9534300fc50c5b3eef7e2a90e9a4b853943daf145f8df7d3970b76604787236643d436fa35738c6c2dc26e9a77a2137b98e3e8e68937468dd4e5c6fada96662c1d81a72ddbf6d0f3fc6a43980798b22d80908459c981e0660b6d57a06eba6a0814928bf40a4762d7388d4e9aab1db95ff84c5a59cd94045e0722e683153bacf5c9d15f5b27d0a2e08440ae770782867fa36756ebcfd10e3ac4864ca5ebca15000d71af4b5bc76b6b923fbca439e82e3af3163f7de5edda7f +Msg = 47091ec16155b1e4aaac582b5f255e06483ed8844621dcb92c26ee62cf98bbcc61bc0af1fa0fefe478d0417089be4ffc0623cfb2831117e124ec909fb22867b2ed5485b12458c26604fb5577aea88f450c71ca1564549c6e2dbd50c1224d965096da794807b79230f5357b87f46987a90130b0f31271d127f1a21612498eb06c +S = b31a3134c6ff700b8c9390f1ede010a1404d0f297ff5d322dbc3e3e9be541f1aa4667aab8eb59138bdcd1d4e064e9a284c503db86bde9d270d417d3c98d1bfe67cbbbbf7af4021879e02609573070f6c5d5930e65d871d72197e57acc9fb69d09b9d41324959c291cf49c581f49681c3ce6e3d22f0c27aa5b1ca3979c930587280415ac38ca66ba295ab5b8b78b4cdf719c81c8b762935be3845124a5506815adf7d289ad030962a4b16cd53376888a266e35deb0012612731b8c284cff2e71c8d09b2c7b2294881d4b7df459608778dd31af8eb74dd587c687c1a3548c0aaa003867db053add678f6c1500f9f9a5132c410f77219b1cfb7302365eb6fc194e3 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002db7c7 +d = 19c3026e66766ce0e7af29065fa98a129139a7f94007fd5c3038cb54b56e1685c0bd87cd4c9bece5db8386fa0550c5de6d54ebbea720691c243fdbbef8a26c03288be7c57059e34b9534300fc50c5b3eef7e2a90e9a4b853943daf145f8df7d3970b76604787236643d436fa35738c6c2dc26e9a77a2137b98e3e8e68937468dd4e5c6fada96662c1d81a72ddbf6d0f3fc6a43980798b22d80908459c981e0660b6d57a06eba6a0814928bf40a4762d7388d4e9aab1db95ff84c5a59cd94045e0722e683153bacf5c9d15f5b27d0a2e08440ae770782867fa36756ebcfd10e3ac4864ca5ebca15000d71af4b5bc76b6b923fbca439e82e3af3163f7de5edda7f +Msg = 36af136c05bbc41ee57e94a1be10cc6e33555225797e1c2d6ad3ea9bd5b0355619ce6278f2c43cf792cea184f4cc7bb36d8ef35d844ee143037e86f34ec57df0f444ef0d841d071aa236a5c2593a57b4b3e185018772ebc593864c0aca0e65e9ef9721f263cd0bcf3c3e0823966146b82ed770da2df024fe4171a6a8f295d68b +S = 7f3715dba789c233996dabefac36c3d860c9dbe64e58f940d5d3eaafc668cf9761e2341d9bf28a3c3ad67071fa2d875a440df5faa250a89cd9c9eaa5cbde311589d4a443c4148909d6cf69ca0b150d7ce46e7e50128b942d896f9fd536e311e569415b40e405c3d36c89464006305842f9e9ac24bc9a543ebc693cdc99dc1ea4d88b3387ac8ec899a8b7471259bf1d62fb1f15e6fb29a08b30696c4d07e27517bca5bfd22c3b1c7c37d0b5b24b4a796ef4d6589f9b8a0a481db4fc66b44adba4d83bf1cff377ead44109476d71f34a8ac63303b3bfeea171aadac84c0ccd59addb5aa923213422d58d914b65a1705fb884e56ef51472aed15050bee268720c55 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +EM with hash moved = 0001ffffffffffffffffffffffffffff003021300906052b0e03021a05000414e69664a5a2de0268d3e729327b4204371bd4a1acefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002db7c7 +d = 19c3026e66766ce0e7af29065fa98a129139a7f94007fd5c3038cb54b56e1685c0bd87cd4c9bece5db8386fa0550c5de6d54ebbea720691c243fdbbef8a26c03288be7c57059e34b9534300fc50c5b3eef7e2a90e9a4b853943daf145f8df7d3970b76604787236643d436fa35738c6c2dc26e9a77a2137b98e3e8e68937468dd4e5c6fada96662c1d81a72ddbf6d0f3fc6a43980798b22d80908459c981e0660b6d57a06eba6a0814928bf40a4762d7388d4e9aab1db95ff84c5a59cd94045e0722e683153bacf5c9d15f5b27d0a2e08440ae770782867fa36756ebcfd10e3ac4864ca5ebca15000d71af4b5bc76b6b923fbca439e82e3af3163f7de5edda7f +Msg = f5353bc971efc542fe9df930db581a158f541d68c465153b58c2ef1bb20a5f3852841ac6acab46a237ea2e39c1a43ba60577201a7fc254817f64c5627dc7cb07ac1e5adfd1ea7d2056c3ffb09a556b468ca938cd78a63d0921d76b7c0f6eba8b2a8964dd88b5520484b0d35f1074943e4c70cd485719b81a64a147311106160a +S = 5f9603f7e564519597548787a74e66635267d3cbf5c26dd9df7ac1069a712bae0c1ddc1523d1751610ae85b1f59192674a46bd727bbf0af902f204c7eba4c6fdae5f84c0d16ed0b8c000517b446473fbdc07c74af0ac6a66ac648c1397c42bb9a74db27dc5605c62e40e5eee1c9021eaa30a76523a35e6ecf513379c0e6e2dd2fa38611e91007f82a3b37d84a6fbaf936286f195e8064e172e8bbbc22d4c15548d0e39b1eff14d1b0ba75c4e1d0acd16fb8566742091ddeb637aa2767e5bd859f145c135cd60257a8c84ef587dafca0d97425a1016d6dc8c3f7eaaaf8d74fe42fbb64958bd00adf03db43920d9831ac49dec2cf534d3cce2dcae9a102a608c5f +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a05000414711459ec642801793ea8efb80b99842fb40aa180 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002db7c7 +d = 19c3026e66766ce0e7af29065fa98a129139a7f94007fd5c3038cb54b56e1685c0bd87cd4c9bece5db8386fa0550c5de6d54ebbea720691c243fdbbef8a26c03288be7c57059e34b9534300fc50c5b3eef7e2a90e9a4b853943daf145f8df7d3970b76604787236643d436fa35738c6c2dc26e9a77a2137b98e3e8e68937468dd4e5c6fada96662c1d81a72ddbf6d0f3fc6a43980798b22d80908459c981e0660b6d57a06eba6a0814928bf40a4762d7388d4e9aab1db95ff84c5a59cd94045e0722e683153bacf5c9d15f5b27d0a2e08440ae770782867fa36756ebcfd10e3ac4864ca5ebca15000d71af4b5bc76b6b923fbca439e82e3af3163f7de5edda7f +Msg = 36724717ec13584b5ae5c9816118a0f5596e1d37a88af088936baa875434720d6c2ef9553a0fb060cd7d3897f7ce19b3a212b8da6753830a5d1b6fbb2f37a4c072bb766f35469801d9878c3c23005e4f8f0a92fde71a5bfd15420ea136fbd5b7ef21a8ad043f79f8260dafb50d37d691c76095e75067e02962e96e818e076eb8 +S = 748b86aa568fd9db1c804ff3921350353a4e68f32a06066bbbb3933e630fb57db6ae097d26e167e9e7a7e594d30e5cf183347b691bb991e6249ea9f3b6b3ee9830b57e208b4f69b861febe5bf2a56c0f886ca715fc790e0112348436af22f56aaed69b9854ac1b4cdfb84fbe29a3faa7df9570e71950fff8d9c6d5138cb4ae7c6aa58e616a858ebc367a3b2fa813a95956bdf75d4db0d1ca3704fcd49a234fb6f0e9c5d17e220905c860da62eeecdfdd9beeccb3a43e86f5afd98e3003d523cd491897d3629c39ccd15f154554c369e6f03bd0afb92e5612d87418ef1844e812b12f718cedace11d61871f6337f6063aa41f542cd3b9fff2ddd8c42a9c9be792 +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = P + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002db7c7 +d = 19c3026e66766ce0e7af29065fa98a129139a7f94007fd5c3038cb54b56e1685c0bd87cd4c9bece5db8386fa0550c5de6d54ebbea720691c243fdbbef8a26c03288be7c57059e34b9534300fc50c5b3eef7e2a90e9a4b853943daf145f8df7d3970b76604787236643d436fa35738c6c2dc26e9a77a2137b98e3e8e68937468dd4e5c6fada96662c1d81a72ddbf6d0f3fc6a43980798b22d80908459c981e0660b6d57a06eba6a0814928bf40a4762d7388d4e9aab1db95ff84c5a59cd94045e0722e683153bacf5c9d15f5b27d0a2e08440ae770782867fa36756ebcfd10e3ac4864ca5ebca15000d71af4b5bc76b6b923fbca439e82e3af3163f7de5edda7f +Msg = 1bb027c0e5d654997de7dc160b71e063582c0819ec8ec76d779ae1a86ff92bd7fb4b92c310bf5f23d9e1ba115db46cbb5c01e95b79ee8d699fd2260e9d48b3dd13836bbe92e1012affc2279e389a5149fa45bb08039bad957345fefc78cfd74e2afdb998b463c116b5302ba5e64b1677fca1860ad0bdaf5bbd99715749b31f92 +S = 9d406f9da2fd0e203c0943427dfe1074258b288266dd3d85b1ac5f104d50f303f3442cad82b9de40188e972a0895d91db3d5a8b9588da7f63bfa99d79f98a03a3bab502a7c269a9b85d9d57cff86908e7d04f5ac2757e6492cdb3f76ea9e5fd8c9b38bf0828ace69ec8ebc796f0cb9df24714a1603fccc04195512194705ce2144f636ef56600df40d6f472570ccdd57bbe0b550c1378202185c871d03fe22dc0b265910f63cb89bc34b4d71eb4379ff32c6e8aec0079315b896cf015eff9799fcd285cafc50d15b8b35b0216c535df9b5b39067273037444fb4ce65967ade4df30d3aedcdee30a7497013055bf63b6271d30b10566d2a767f3574f9c2446ecf +SaltVal = 86f350b8b70569c2dd0939ff5d2364531fe34975 +Result = F (1 - Message changed) + +n = bc97958f980fc043630735e36aef0f278be381655bc6a4940864e6925d31ff1c9392ac5fa44b06af295818f03948a117bc7f0fe8f2f5dc0c1cbd9d1819913f13c0765f41c17a62a9fa70422578c86305c0e67c56b2d555fcc12a84c45ca00502b692d8790a26bb73a8f2df1fa44cf910ca45e8ea2c665a9b6d266c2c4c6075c55e686511683cf75bbca9573e8b79f01583d57bb21b6e8f46215962b9b3cb1e57ea56221f6ab61cf33f969babe3b5a1a98a76387144cd617751ffa012d8e7d1471b264c274228e2bcd549468a57316f392c75625435ddbe7dd3dc40544f4a9bb9cf5385b255ba57769897203a7a3d0f2808e05492b69a58483f5fc396e6523da3 + +p = c11ff35f4cf1068732558c4746b77687b475a475af1d5570699dd4323be771a2d42e6503e74665b3ad8ced2e0d1c237370c08147c973a9b481c61f46b04ba88229f32c293b0bf956dad5f17a226242bf1c50a5ff7245d503e33fa446227ad502f25309d5bb9a5352cddc7cb00f14a2300ecb5f5a64934a0287a9d5b451001f1b +q = f9fddb129e886cb5ee00b32a275bb5f25cc9a837f26e2db1c0dba6dcac7d823c2c295640d2f569fc2fc3ef252be22920a25306ec1fcac6882292725dc5d02309a6b5380086c979b460a547f91150d66d8ebc003aad0352622dd764fd0c7a1d844798556823afaa03e98c5ea6fc0d6cad67ae01ea9ddc8ecb355473110cfcdc19 + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f3e453 +d = 54cd11e08db4ec2b7fe7481a3eda977a12f5b1b8c465a442b04a51cde58001155c84265f335c71e1129ffa7cce50652f26e3e1383ca52f06a6a506089ca40ff15efb5094a0c22e36ec01039e32adea09d1a210cb1af659aec4757559b631f9b82d5131cbc74738ebc43e3cf71c426789230a1272fde6bc10ddc6b61ec584559a0ff0675ac306e884bf1545535884e2e22ad3981656aa714f248c1de027d95d2de4e9a72598c288a13a39fdc99583910d9a4566375c2945821b20f5d0e7e5661e38ee055d1198ed993ada827b1c076733e1de83a52259c6a7f91c67213ac644b1db7d59e3b39c63a54377bfe836d9e5644fe6cb568091f8dd8f87c1d375a63793 +Msg = 2e90050655247289b29aa75e121c7c129ec0fc935dff0b42fa684c49c895412f035fb4aa594e56b4a853a7e00aba15ef0f5a689e490f5dc30e6a919879a6a157b2de90076f7e6995bbf82526f7b8ceac1e59e5b74d19028f828aba7fa38bc573c37760c6a29cf15572efead8e1fdef7253253b866f0540cdde328da54f2cf5ac +S = bbf53543a9dc4a94401880f3906d0c33a64337feee11dfdec2ef8d2e6eacad082438f9bb7549a9fd26c53231a6ed6dcaa88cf1e5ec87305425ffb3ca103e825546b53b379d8ef5a1f36b998620ef909a6306ed091fa28fed1ca6459a5884cafa1ab74086f7589d7476f8cfa2b4b91368301357110e48863a2b452b6d76b3073253ea495dd6c9978bec851e4c635a37e6dcf714d09d3836e87193405e60db2612d4502a685e6671eb03fe43b12993e8ae1c965a1f2559d3566e6d69cdec42ccd5a3046fd106e156de5f68adba7d664af89728775b9ac9ec89e8ec1185ea282f8f97d72ca8cb0dd739386d0cf6caa06a4c074a270863baafa918526aa54c11cd67 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f3e453 +d = 54cd11e08db4ec2b7fe7481a3eda977a12f5b1b8c465a442b04a51cde58001155c84265f335c71e1129ffa7cce50652f26e3e1383ca52f06a6a506089ca40ff15efb5094a0c22e36ec01039e32adea09d1a210cb1af659aec4757559b631f9b82d5131cbc74738ebc43e3cf71c426789230a1272fde6bc10ddc6b61ec584559a0ff0675ac306e884bf1545535884e2e22ad3981656aa714f248c1de027d95d2de4e9a72598c288a13a39fdc99583910d9a4566375c2945821b20f5d0e7e5661e38ee055d1198ed993ada827b1c076733e1de83a52259c6a7f91c67213ac644b1db7d59e3b39c63a54377bfe836d9e5644fe6cb568091f8dd8f87c1d375a63793 +Msg = 1ffbddc2a2c8bb9fe7a45e4d5532711f07eb17f5676425a8fecf8ea88ac51fe351436ce9b6f20a4e0aabfe50a43a76ba3462b709542257cc6037ac5188e2847d23eb16fc46e6399b96b5d4f15a4e9645d5bfe7acd26f1e7280a6f4bb804f386a3dfdc5427c2db24b34cbc8789ff7398691088e2709d1e26005244e309b95a472 +S = 82fbd5a6d937fa94eff1c0d9abccd9223bc63a600023b18c3be059d1e73fa62f1538ddf45643dff89a2d8f0410c10761933cb2d8d702a4b6582fe349481dfd185f79a36f52a7ce776de58dad1edaf032edfeb7c16540eca64bc5df622c05dd629be3404b9b4d263ecf706c364b0bc7b14dd0346b8d2515f81b1f50ef8871ac11ed33973b992deeb601b2f34af381e1d74091b6ac5d7b209d728bbe17046f21692af8948b3bb194349dcafb2a580a5ec120af999a3eced9c1edd2e81ce75cee9f1636351a04028a5d615cd992c467b607c1d929db0c884f1fd0688107bfec2428adc9d3b40b13d9f4f240893a5477f1de626130fbac9af3ba9207bc857fd206c2 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041c034d13dd10969ed595e475194165de5ae58ee2dac8b9f218d9840669 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f3e453 +d = 54cd11e08db4ec2b7fe7481a3eda977a12f5b1b8c465a442b04a51cde58001155c84265f335c71e1129ffa7cce50652f26e3e1383ca52f06a6a506089ca40ff15efb5094a0c22e36ec01039e32adea09d1a210cb1af659aec4757559b631f9b82d5131cbc74738ebc43e3cf71c426789230a1272fde6bc10ddc6b61ec584559a0ff0675ac306e884bf1545535884e2e22ad3981656aa714f248c1de027d95d2de4e9a72598c288a13a39fdc99583910d9a4566375c2945821b20f5d0e7e5661e38ee055d1198ed993ada827b1c076733e1de83a52259c6a7f91c67213ac644b1db7d59e3b39c63a54377bfe836d9e5644fe6cb568091f8dd8f87c1d375a63793 +Msg = ebcc2ba94d3b4e302a8ce315cee44fb966cdbf2820d06a4c8c461660486bdda6dcb4315de3631eee6c58cf669f2a5428a476a2e4c077dbc3c1d7d0e49dc5c50c5648749920d354b8c6191ad84a22805fcc9f469bac7b77fbf3b2ee7fef66186d1e30fc464eb478f80178cd5516f65ec4a6efb4362d03c65cea7f771888766131 +S = a2a119edb1f0e2c961fb423717be75cb4f9a944316ce35cc7eadde725add5022ee9e09ab57a784c13bb6f9a42ee82379ffac286cb44ef43576b69ed532a67c3a32f256acad415278fb3a9b331695915a70e7ed56b428cb1328cbeb2ac6a7ad62ba529bc8e4211676b77b882897261fb61c0356b3f12b2583a0e90009185c48466ce5363ea3b011b3f5bf5e5f48099d376e5b3f9184847b2d6fe737fbfb7a9aff128dae37d4bdd133eef084f9dc964655583be8595515268c5d8e91198ef9464093b8c156173fd19ee0a28661bcbdb5c163e1be9064c925813a7d18e43c6eb8a3dedefc82df4544663780c580572a08e607f21235d327f989847df98d1715c1cc +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f3e453 +d = 54cd11e08db4ec2b7fe7481a3eda977a12f5b1b8c465a442b04a51cde58001155c84265f335c71e1129ffa7cce50652f26e3e1383ca52f06a6a506089ca40ff15efb5094a0c22e36ec01039e32adea09d1a210cb1af659aec4757559b631f9b82d5131cbc74738ebc43e3cf71c426789230a1272fde6bc10ddc6b61ec584559a0ff0675ac306e884bf1545535884e2e22ad3981656aa714f248c1de027d95d2de4e9a72598c288a13a39fdc99583910d9a4566375c2945821b20f5d0e7e5661e38ee055d1198ed993ada827b1c076733e1de83a52259c6a7f91c67213ac644b1db7d59e3b39c63a54377bfe836d9e5644fe6cb568091f8dd8f87c1d375a63793 +Msg = 0380169fd5b1da966bc268e6c705dd0d05716455d6464f9b30f06655442e7ed4b1734ec6f78d7ffe2e840278f8c5a697b47feab2f44e0fcf311772aebe33190afbcf8c1bcb92e65f48812b9ab520dc1cb3dac942b8a3273fbedce21c387735fe4a5b77a8390a384021818c56e660a7226c4aaa0d0b8fbd743d085ea89a43f839 +S = 329eb5bce7e499c789504948fc2a7d71bc5ed2ff9c408e523d97bbed7756024f587cf4875f5849e7571015a2abe6547cee2af4a01ec0b81eb8144315aa316dfba35b6763701484bb081596d250d8548fa2fc562e12e823bfa58c31a66e914307ff886caae281eeed9232b68fe47164a87c0cd2333cf69d416212af17f2aaf869b22d4525456d29b437802348c258e7778774a9f88451452519cfeb36c8c95a6edeb7b0d472981e34f4aa31eea1e7e13cac78cceb2133fa29e03507b400154fafb55f6a86c85d4b8fc467caee0c75e5402bde718d3773a3273e59c1f1f3a9c6d57f0b46902cd346e9f2aaa20b85811340107c5c9745d73abf4a74ed3a35ee8b47 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = P + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f71807 +d = 54cd11e08db4ec2b7fe7481a3eda977a12f5b1b8c465a442b04a51cde58001155c84265f335c71e1129ffa7cce50652f26e3e1383ca52f06a6a506089ca40ff15efb5094a0c22e36ec01039e32adea09d1a210cb1af659aec4757559b631f9b82d5131cbc74738ebc43e3cf71c426789230a1272fde6bc10ddc6b61ec584559a0ff0675ac306e884bf1545535884e2e22ad3981656aa714f248c1de027d95d2de4e9a72598c288a13a39fdc99583910d9a4566375c2945821b20f5d0e7e5661e38ee055d1198ed993ada827b1c076733e1de83a52259c6a7f91c67213ac644b1db7d59e3b39c63a54377bfe836d9e5644fe6cb568091f8dd8f87c1d375a63793 +Msg = ecaff1782bac0b38041634cc60fec76f9a24158791bd0f88fc734616feae166afb121df6a949f24c6a02143cd939213ca2b9490e98e0019c01a3fc2734d157a0679c1456c255c9d2b87799ff96e7648f5c7a3b99cdb81787c2e0ca2fc32c3540d855bce09d5af793957eaa5fc08ff82e706ed37358ccb710e6329878d3441910 +S = 14d88e528c39ffa8e3e1d60e24159bf03e6e768740442360d19070b036448264496ae1fabf81b37042cad4420e495cc74b8fe4b28c09d07df1bd55cf88aa24262ec49f9f9285c02a33c64d86bdeca15843c9c65a6745f6bf7a8216295642232c305b183eb5d6b0ac0e37309481f194c66828ee14f6a626daa91c6f628ea134d27ba7e96c4146dbcac99b34fa708a82c51c1d669f93dadfe926cff24c25775567d94f06c61110676a651655e67f3fd8d20ef0884e112638113f06002454e3b88971758e74e56d70bdd6b3884aa633968a45bf1750fcc203623f59b01460f350f2bfd36d9280c1b9eb99b7655ec2fbcafc1ac568361ab3de1c18cf99aa6ba3032a +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f3e453 +d = 54cd11e08db4ec2b7fe7481a3eda977a12f5b1b8c465a442b04a51cde58001155c84265f335c71e1129ffa7cce50652f26e3e1383ca52f06a6a506089ca40ff15efb5094a0c22e36ec01039e32adea09d1a210cb1af659aec4757559b631f9b82d5131cbc74738ebc43e3cf71c426789230a1272fde6bc10ddc6b61ec584559a0ff0675ac306e884bf1545535884e2e22ad3981656aa714f248c1de027d95d2de4e9a72598c288a13a39fdc99583910d9a4566375c2945821b20f5d0e7e5661e38ee055d1198ed993ada827b1c076733e1de83a52259c6a7f91c67213ac644b1db7d59e3b39c63a54377bfe836d9e5644fe6cb568091f8dd8f87c1d375a63793 +Msg = a3069d04fc7ee84fd9eec56da26a0ca4130e7a8fefe1051ff3ff6ddf09f8147cbf730f84f7177d6ee0ab17db257b091b64fe01f3e1b7859d7c598911e02e4183feb9342dba9b924ee3b3c773698950f5caedcdc3cedb586174a216312c450bf246223386abd1cef8cb4ffbbdd65c883a2f2109871e162773c5233bc855061cd0 +S = 1bdb6149e68a7cd3a03c9c8157eaec117dda194131006faf90e3e52f9ba4fd5181740fb59343ebafd2792ab4c04ffb3221548b203b8173afc77e59922734960e2e8986c598a872bd47312435001cc8d2d9123b010e09420a28fc66ef6957c319fcfb0d770bb155ab2ff3b13b634b91a9c0bdc183a639ecfbc2f326865e4ecbd0a15ec595e2c15ee96cee8154c96e0c5f4296c5d16821e79da890c0bab335424c7c5e856381194279266d0f13a4c608792f2e42ede2e1aa05b71862570a39780a490b4e66011f10a27176699c169b2878d7e97b416647dd798ac885c614d925549731be52e059e194a2384e9686d0f372a6cf338bdf13fd4525f4d56068a8fca8 +SaltVal = bb86906194b31fb6d28931febeb80d76747e427ea1628ef08c25ffb0 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c0b817fcc8f164a41997c86a0719f344bf9483583ebabad17ce831a20efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +n = a6754738bdf94dbc846ceb937a3896e747d5c6222453a83f6c86310e5819129613f9857d5e4a06bc5d927bdb011d23d8219549ced82c20592bdc419deb67fe43da87fcdfd01ac1acb07e513170c45d1e058fb56d8cb090a7f2565381785c4478362b253d47e056053516be15f448878d01c9dac06be45957882ccffc5ddaf06bc131c866349668de950e9121b134e5ae1c29815473a20028b9b7ea64d9dd8253a518b766dea714f7b37185a1d707a21cfa526a7d76f55119af728626b77e5b66328c2b37ec78be56380a4cd3900fe6a757f21b5728d31e5f1344aca933042b99240f89dc09e76a03678b402780bf64813c339e79893a3355674ff4807b200775 + +p = d19039015677815871e68d8db61abcad509830d57ff41a82bc424cc329c7f59b7139f6100fd2be807c4190d41924798d23ab4a407d0560e89f37c6b119f9d1d03bc6c821f4c7dcb77ca71c45e9987c37378ace49139881bb0b7f94106409c54c2231dea4f9a9b4859ac921a5ad92e05a3a15c1f27701e90cc39a58316217b24b +q = cb57d972e62862d897374ae9030423acaa974b6c5c98f5273b2f9c21dcd9ef204226f5cf55939bb3bf81eda4aab2fbad69be37307e9192c3f84bf3b23836701fad8f8e2d3318ad342a84328ca3145efae16931f9ffa0ebfe565e9f4a2bd4993c1edaafcdc15ba93952d84c1bab9d2a1fdda3ec16549ee73110fad26bfe21153f + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a54611 +d = 482599cdaa04afb879d7f24f621488e5cf8824e10e3eea5b8812d0c3969db0b8daed53f73b0ab7d6107fbbc41c654826bb49e63dca94571cc64efa3b3545099340209b7933b039e9ee4ef54a0a831e48d0bad50e2b18514b02e105903d8c33b0d8cffba8c3ad2e9652ec20dcd897bc7e5bf94f0da2d3353cd4e53baafe1fface917950785bd3fd5244e98ec8119cc8d20bc3388dbbda020729674d968f65f4fc066a5973f251f7e649828071a47a7b5ae68c83fe2bb8e6836d398def852dac4cbc49f31aa86fd2b2f0d1ae9e0612107cf9c2c73a1b2708d656063dbde41b3168baebce495aa6e9af0f7e9005ae1af064ccbe17e4b70a7d9d92e6e022373ee36f +Msg = dc4c136c805849fe77b4b381e4c6b22a3ff69947a9b5aa6b7cbe42cb279c50e8396d0b6ebbe5e55cc396ba66466e4e982e81f63bac0895fcd0aaca4b57fb6802c4432747b28099b368ae5fb4ae459c2fdf04aa6a40ed0c2a9091a418e08d2669a555cdbe0c304d498d840832c35484397b071d9c0b6bf73be5f937fa6b5b7367 +S = 723f89429e5f8443defd528d57798d67548279cd169d185a0052e09472e1b37c313250136b2a5f8910e31229363515ad674ca9489d6c7ca7974277ba323110c152f664a79cfdb3453d4cfa6edd124f81384daae9b06f24f3599884e13db024393b5e211ca352149521eb37d29902de0c4392b44bcdf79d2f3792cc0a7edc3995aff9629719507a2bb35eaf2be9a88b74551a068e6e556d78f1662f0a78cc29be00acf9af7ba491940b8a731a3af7003654f15205c6171d009a015b68d423166e971cfce113bf2c7edae6af28a500d43e2f3bcb3b8dbe940eb0f8bb1a077bbfeac4cd20dbfe058605c31b3d1be79aaf1d051e27daab45597ac2838763e49caebe +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = P + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a54611 +d = 482599cdaa04afb879d7f24f621488e5cf8824e10e3eea5b8812d0c3969db0b8daed53f73b0ab7d6107fbbc41c654826bb49e63dca94571cc64efa3b3545099340209b7933b039e9ee4ef54a0a831e48d0bad50e2b18514b02e105903d8c33b0d8cffba8c3ad2e9652ec20dcd897bc7e5bf94f0da2d3353cd4e53baafe1fface917950785bd3fd5244e98ec8119cc8d20bc3388dbbda020729674d968f65f4fc066a5973f251f7e649828071a47a7b5ae68c83fe2bb8e6836d398def852dac4cbc49f31aa86fd2b2f0d1ae9e0612107cf9c2c73a1b2708d656063dbde41b3168baebce495aa6e9af0f7e9005ae1af064ccbe17e4b70a7d9d92e6e022373ee36f +Msg = ba85e1f4f9203ba8d3eef645d7923e10c614080149cc5ec6e282f70b23d30bf91ed665fc1c00baca924539a1508063cffc151d78bfd504943e220037cc531c15dd5a9545bea330458440d13f43444a8a806c7174e805753f42097269a28c4231df56975648d246229327e6a716a49a493a612b7c2c235acfd581742a0d452653 +S = 90bb73e761dafdac0b38e4ada5deb5f713ffcbe119ee7af2152ffb3664ed8b7dc11815fdd39f398050ef8d901f836945a89dd0c71ace4b60979ca7e426f676ef3653d7f5045afbf7f38af3eefea2bb2a34ebad8ba029874995d24e98926faffcc79f110ba8f9de35b48829197634f0d842a8ef0dedda72807df0676e08c6b8f76124ae2994151c0379c21dcf3ee33297d8b13eaa74511ec7edf8058dea5d5ee4a6d6701d0700aed62ebe6d69dea7d0b79d01fb5fedb4e291542592e977fd13ad1d49d3c9cea4abaaf003764ad0d3cfd75cae41fdd740e6c17b36831a8f88fd8f9432f45d2bd529291c58215c221d546d71e78a4a4787630af5692a43e1c83af7 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (1 - Message changed) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a54611 +d = 482599cdaa04afb879d7f24f621488e5cf8824e10e3eea5b8812d0c3969db0b8daed53f73b0ab7d6107fbbc41c654826bb49e63dca94571cc64efa3b3545099340209b7933b039e9ee4ef54a0a831e48d0bad50e2b18514b02e105903d8c33b0d8cffba8c3ad2e9652ec20dcd897bc7e5bf94f0da2d3353cd4e53baafe1fface917950785bd3fd5244e98ec8119cc8d20bc3388dbbda020729674d968f65f4fc066a5973f251f7e649828071a47a7b5ae68c83fe2bb8e6836d398def852dac4cbc49f31aa86fd2b2f0d1ae9e0612107cf9c2c73a1b2708d656063dbde41b3168baebce495aa6e9af0f7e9005ae1af064ccbe17e4b70a7d9d92e6e022373ee36f +Msg = 284748185ce9e8eb0f872623d43950277e53f59b362f9b40ca2db01548f7c3c3cc0af4379672a9915fd4833dedb2915fe6ebc375e281a138c39f3cc249db65f6e1b81e1dbe6f4ecd2befb90f20222ec013720238108cbe2a0c6315cb77781937105aae10fd683e681bdeaee193109112aef09c2dead65adf4d812178f959454c +S = 49193eb45d4d355537d9bdf3bd2bf0fad9d7e33241172d231dea6ca7c9d7bd2bc3ed85285bf01bf379da0db4fc04cb7e53cbbb38695fd689bb73f818bd4e3fbc042013f8e002beb92847dd0d5fee9867cfa3fcf76f3f648cc36f4a67e295aff914f796cc0cabfd4396fc6cf171f468361ad6ecef2023b0a23884880a17ada5372c7cda32cc1e3b986451219d7a171e6c6d5608c3dbe55403b4b42f6eb3f87948d0d72f51de963ed80033b42b5e7ba76c6fc5f74b9a5249b60bb507dc86ad53f5b9b710652a2486a3cded83e447a4c114c4dccabddc51787c19687548c4ff157d887c7886b19ff85543c7f8340a6fee320ba49e02c463c8bbe10d45805c67cb6b +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005bb217 +d = 482599cdaa04afb879d7f24f621488e5cf8824e10e3eea5b8812d0c3969db0b8daed53f73b0ab7d6107fbbc41c654826bb49e63dca94571cc64efa3b3545099340209b7933b039e9ee4ef54a0a831e48d0bad50e2b18514b02e105903d8c33b0d8cffba8c3ad2e9652ec20dcd897bc7e5bf94f0da2d3353cd4e53baafe1fface917950785bd3fd5244e98ec8119cc8d20bc3388dbbda020729674d968f65f4fc066a5973f251f7e649828071a47a7b5ae68c83fe2bb8e6836d398def852dac4cbc49f31aa86fd2b2f0d1ae9e0612107cf9c2c73a1b2708d656063dbde41b3168baebce495aa6e9af0f7e9005ae1af064ccbe17e4b70a7d9d92e6e022373ee36f +Msg = a3c2ec4c47f444bec34c15ff25f2f811fa94f9a5bf05a5de982a6458451609695174a8a68c25a7a9bc2b181290c646ccd5dc8e92ec9e71b17c69e70f64eaf56cf48681e85cf966c5643dc46f5ead99b9596a966a98fe2bf8433fe5935b76f965f3c121199eb6a69a2449be1d79f01961ef05b735aa6bfc3c547406ed13023edd +S = 039c1de64720207c408ea9889471fda297c7b3828e46831ca5ee60a938ba13a7ac524cc394d5ea12d89c2cecfb06ddcc6d86994ebfaf84eb91f39ec470898d89cbc55a12dc47e7be7e0f389dd12c5e59a32d5ca6a37a3e6456fbb8c8c8101725cc3d529f5d1be12de765750e5ee632e43031656442ab0e49f9471cae87dec5751130a2622ecaeba85ef337fa31c472d6a9696231123db350f5a390c8d7ce1f1a839a4c674aee4e7af60ef62e689117fe645e4c322f20373b9fd75dc8606e70d659094f2d2c98108c6c32576adda57ac0b30c47dff442b0901448c68aa1afee4879eddd84d9f2f954971249d87811219e433f3d0d5adff57133d0e9c12f82deec +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a54611 +d = 482599cdaa04afb879d7f24f621488e5cf8824e10e3eea5b8812d0c3969db0b8daed53f73b0ab7d6107fbbc41c654826bb49e63dca94571cc64efa3b3545099340209b7933b039e9ee4ef54a0a831e48d0bad50e2b18514b02e105903d8c33b0d8cffba8c3ad2e9652ec20dcd897bc7e5bf94f0da2d3353cd4e53baafe1fface917950785bd3fd5244e98ec8119cc8d20bc3388dbbda020729674d968f65f4fc066a5973f251f7e649828071a47a7b5ae68c83fe2bb8e6836d398def852dac4cbc49f31aa86fd2b2f0d1ae9e0612107cf9c2c73a1b2708d656063dbde41b3168baebce495aa6e9af0f7e9005ae1af064ccbe17e4b70a7d9d92e6e022373ee36f +Msg = a14e35290344465d6d2f43688a663ee418f80f13e1dbee22ed4641aff65bb28a1c0985b8da3128be39070c1c43bcb417bb5a0cbb0beffb217eed3beeafd1691c420358fdd1fdab7c29b0a3a7b723356a3d5e609dc986bd42e8495807177dbe137a0357fed1f2f621a7f1af11cce5e96606cdb3c104e95c0d93223d0415a6daf5 +S = 93775fe8676f4e6ed580f3db99e0697e15f8e0ad168a9321cfd004e6d0bd555bda6483f51b1df63ad78f28a3638e70d230c5e654eb4c86c2c1889a06e28e2a640210523b90fe14019d03d0a3b14c7608614fd88a84ba2c68f7c0e01f9502269382367a07f2d90ee53e15abcd584c56de4602f7573f493e41670026fefaa6e12c615d19d1b2ba25cd0f48b6ab20a8bf809dd15ad9172bc8823302993b51f0ae5f89e5c05ee0dfd91f8926abe7fc64c7694613a996be5728ba3c6a4d2387331c5d3b21377f9734b587fba180577aa6cbba1f4a2483e4e46a5d7c355b4088063d32a10c99bc654677eb08a9b57ad40d88d378a8111678e8dc60be3c789a0639c056 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d0609608648016503040201050004207d864ce2af6b821ce0bf329627556dce566cdc923b48f2a78033302ef4ee5990 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a54611 +d = 482599cdaa04afb879d7f24f621488e5cf8824e10e3eea5b8812d0c3969db0b8daed53f73b0ab7d6107fbbc41c654826bb49e63dca94571cc64efa3b3545099340209b7933b039e9ee4ef54a0a831e48d0bad50e2b18514b02e105903d8c33b0d8cffba8c3ad2e9652ec20dcd897bc7e5bf94f0da2d3353cd4e53baafe1fface917950785bd3fd5244e98ec8119cc8d20bc3388dbbda020729674d968f65f4fc066a5973f251f7e649828071a47a7b5ae68c83fe2bb8e6836d398def852dac4cbc49f31aa86fd2b2f0d1ae9e0612107cf9c2c73a1b2708d656063dbde41b3168baebce495aa6e9af0f7e9005ae1af064ccbe17e4b70a7d9d92e6e022373ee36f +Msg = 555400784d0566105b91dca7f4f0849d832d51f0a3c7d3b9925651fae271199672d014a19dae9ddab1719376a38dad2001a60e3d27f51a74b6ec876e421db7da4b5845b56f13dec8dd0f52720d39eaa7afcffd39e1c3be56a4645853913b3da7c833ba3b2afed0e1c8b33f219abce33c75ef436b37fb68684506eb2f37945206 +S = 6dbc3049603abc4677bfce12929bcca60bff5350809ce3f98259ddb72967faa076bf02206c9bfcecdae3421c66f2eaf846b4effbb5e6d774e000c1f1f7c1cf409b98f5e0ca13cb2dbc5b1692c6bf7e54a743e4b24c53451387f277aa66e16da87246d3ab7ba1fc5ab1a9029546098d12d1a45293860e2c8f4838148c89921467285b0f6c916f3b0bcab98dd01120055ad1acf9ce18a2f276eb15aa6f9a0fe05652aec728f831063fe6c7985ce3be11377703f76b4904d292598abac7be35bd1409dd7096fdc851abd2b20a1883f4f915309ecf507ce76dc9a75b36394c6f1fa6685857538ff3b847affb483a670969ff59c8de0391ce73bf1e85601d6bce92c1 +SaltVal = d66f72f10b69001a5b59cf1092ad274d5056c4e95ccccfbe3b530dcb027e57d6 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d06096086480165030402010500042062e1db48e8f0b18bdf4d0c4f9bb2adf6c55105b55910a8cca17f390babf02968efefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +n = c5c92cfbb60bff3e7f9499847e869a4bc37250994789c2958ac2f6a168bce2a1915d38725d8596cbcddbd463c2a46a52561a551f8f49d527eecfbef5589030891d9d90090fb35e43e8620c7fed4a056cd1c4a56e6134433030fe8027d1819c09638e43e359c7c389ccd1986457ff5e21673808cb436608d550d62120d9bdabac419cd6249fec945f10711874f10267c66320c701da90d7354b23e1646b89b22cea44d9e67c706ffc04a57927a5c9157cb049b1090e0f86d6cdaff29570cc629fef0646f9e5f8a7dc67c24052a34b91ab08b2e83b141cd0c098e35cbbb9fd408e7e107932128f6eb58e604764a7fe00acecb9b03203a24c9a760ca0d8a5886023 + +p = de6df43492620f9a6ae8e270b2bbbe4cfcb14edc1e81b8757d2f2058d6e712428a09f8ead43c6b34398ba39cea6686d50ff7d59c6513595c354bfcffd6e778ca82532136b0b6a03ec6f27cb12a5841dcbc8e142fdfca6670b1913d25171f4dc2e8458d933c26e111632b20a1d745c069c33cd1a08a3076c8bdb0e611f218045d +q = e3a30f7594b6845fdbd5422ab8d3978cee3fe13facccbc8a517ef830716df8d12f50644cc3978a2a538ba877f8a1eeefac3146bc0d4983c912da5ae0c707e4afcb3e4f42cff7aa040c8b1f71418c0a595b6cddabbbba5a4f52917f6f838f1d8278974ebdc423c2ab611ed6c4f25f44192f65f6302d43ee9e3686d46620d3ae7f + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a26a2b +d = 2277559cf793a9431b35de3001b03810739521346db9d9a14b24eca2dd8f3d929ee0db55422a12dc1869e46d409175f66a748d970a1677cceaef9c78b12bc52d3418d5bdf9a19e6e7df5d6ad2ae0a19f340cfc8c4466152e31b8335e63aea729c08cca8897758d75c3c8d8586a52c42b18cc28f8e32d800ef59415a1e2f3263708f06a74ea73e0f5e0c7df8a02b9ebdd6ab8bdb5a8432897f732829ef5d6b2c82ed5a4681a57eb8331276fe77fe8b6015f0b4bee003913895177332a0621f71032f372c9defc19aca69d537381e224a9e14267accf8f6923fe86431f87bf1b2ee729291ddac14fe115a6f8f2e7c9c36dd55d6c6af9ed346d291e74c5c0c0b1ed +Msg = fbf1f99265060ab82e3cf1a3cb86ea71748f05c4d69e79c209bd3b61c11acfe1c8ad5f9aac1b0af7b5db7ec31997c9a373d56ce472d6b177cebe3f3a81f6ec7a33cfd2b5f668a5a433d14478e4708d6504a4765d44a9591e00bc906e717f42a5249e7c6dabb384c692676a4d95dadfbd0f464ab6b6df19bd86fd5585fb7c7a6c +S = 89e152374ee953c4d9e69e29c3100f0168eb71d0f5ad31f6eeb52ab6caa465ac028b81478947fe08765d77dc9d4e75bbe2cfd14f25124e42f7bcff6512193cfe3ef9dffbf07020cc5e4ab0b0c44fcc4b2bc8285f16fe08be89b432fde26b0498c9ad46be8bca8e1354c39b571a8e30f07aec84a1fc9d1a8e239d79223a6af22b4abfe36ac108291503a4f557a7bae28b25ceed47fd5b81182cf391ea409de7ba1eb2b404d4468eb2b47c2930845e2e9199fff4f0c838e3bd5f3a0bc798fd6fa4be5e962070cb45d01a84170638fe2234e8df928777213a87be0adee56b8ae514cc05c5d52f872416b1ea2112e76c364ce82ca33027e0fd1f8c0424276659c08c +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2b5c1 +d = 2277559cf793a9431b35de3001b03810739521346db9d9a14b24eca2dd8f3d929ee0db55422a12dc1869e46d409175f66a748d970a1677cceaef9c78b12bc52d3418d5bdf9a19e6e7df5d6ad2ae0a19f340cfc8c4466152e31b8335e63aea729c08cca8897758d75c3c8d8586a52c42b18cc28f8e32d800ef59415a1e2f3263708f06a74ea73e0f5e0c7df8a02b9ebdd6ab8bdb5a8432897f732829ef5d6b2c82ed5a4681a57eb8331276fe77fe8b6015f0b4bee003913895177332a0621f71032f372c9defc19aca69d537381e224a9e14267accf8f6923fe86431f87bf1b2ee729291ddac14fe115a6f8f2e7c9c36dd55d6c6af9ed346d291e74c5c0c0b1ed +Msg = f2280564177a0b97e8089b77d7d0cc8ed54849a90d44a7dcd319f5c6d70394169fc4494e348e90c81b2333f6863b1cedcc26672517b2bc7a5c4fdc77917179d41a364b3d844960567506b4fbe3df01cc85fed8e9872bf1fa82f1c073abfc48164bc634b96f732449e0f9450f55832432e818c47dc777ee632c46c8408f6ca9e2 +S = 7f65da249423b1406aebe4ca1253075588b101d47207acc5dfb7198dd45548ee71ffbc1bce87e7befd256ae20250208c451bb3a4dabe87c0dd67601ce21a49b1fe723b224d02c7304876e5b2f6804f76d1d57fea8edb951b536c372929863cca988380373af61402e746f71103a9d012d0db121c4e2f636e44b6457d16d12e8b493bdec5d05fd311b502e56ae99071d9bc62dcae68b27f8db50d030963e2dab44e4215be69694a55bb113a8c43d3c2412af0ba055ca740ca628a6254add0e0cc51593cd9a283cc70303caaf8e543ac71bae196f208cd4c9373e2810c94029da46b78b421d6aa8bb00bd83c474534bbaf9629f53bd2df3346200631f7cb9ed4a6 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d060960864801650304020205000430fc64c069c5b0f78576465f6c73eeede8558da6d2bd0f2f955fe4acd8ddc17c4f916eaba5b9b1f1dddb958da2c0e067ae +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2b5c1 +d = 2277559cf793a9431b35de3001b03810739521346db9d9a14b24eca2dd8f3d929ee0db55422a12dc1869e46d409175f66a748d970a1677cceaef9c78b12bc52d3418d5bdf9a19e6e7df5d6ad2ae0a19f340cfc8c4466152e31b8335e63aea729c08cca8897758d75c3c8d8586a52c42b18cc28f8e32d800ef59415a1e2f3263708f06a74ea73e0f5e0c7df8a02b9ebdd6ab8bdb5a8432897f732829ef5d6b2c82ed5a4681a57eb8331276fe77fe8b6015f0b4bee003913895177332a0621f71032f372c9defc19aca69d537381e224a9e14267accf8f6923fe86431f87bf1b2ee729291ddac14fe115a6f8f2e7c9c36dd55d6c6af9ed346d291e74c5c0c0b1ed +Msg = 55c50839aa7d0321a6a85cc3f55ba7f6643bc6a18a8faf73ae9a70d4e527701b7b65f70194f5f0551342eef2bb116eef94595c159154d8966fd639fbe0de525fe96af5db8990b6419bcbf10dfd930f98f230048fc5cf1ca4b0d6f883fb75d308687d0bafcf76dc4c06ec6efc0309125b4569c8f7702906053741b4537e147b7e +S = 0b853828fa2089ce0d1955d52b20424748a4b227b56c557ad63782471cd0462295cadd808c5250ed2f11e7d2754c8734fa9d13c8b96496eefa515f3f127869bf42fc8c6bd0ea0247863b9c56747d15b16da322064f7cb723e2eacb4457c241b3f84a63b7bc307dbdd63b4d755b9b4a6c0b7590e5c1c7c5dbf9ba61eabfc29a21944ca6166e56e01a42a94b5d8b898c0fd073b03ea998f35e26289454012e62bb58222fe9a03c9b0a562b9b16602c7794ba835245a1401b8e3ae28e00541cb7a9aa8335de46d063739e8c71999b65f7c8fec3701a46bf3c60139b5b780bdd08c679117e14136c84c93fe403efbf346213ef4c85bcf3e2dfd44a6b616009ff47b4 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (3 - Signature changed ) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2b5c1 +d = 2277559cf793a9431b35de3001b03810739521346db9d9a14b24eca2dd8f3d929ee0db55422a12dc1869e46d409175f66a748d970a1677cceaef9c78b12bc52d3418d5bdf9a19e6e7df5d6ad2ae0a19f340cfc8c4466152e31b8335e63aea729c08cca8897758d75c3c8d8586a52c42b18cc28f8e32d800ef59415a1e2f3263708f06a74ea73e0f5e0c7df8a02b9ebdd6ab8bdb5a8432897f732829ef5d6b2c82ed5a4681a57eb8331276fe77fe8b6015f0b4bee003913895177332a0621f71032f372c9defc19aca69d537381e224a9e14267accf8f6923fe86431f87bf1b2ee729291ddac14fe115a6f8f2e7c9c36dd55d6c6af9ed346d291e74c5c0c0b1ed +Msg = e4ceaf62ba10e317e1001d8a6a008843880790159597ffaf56ef666d8081bf747ba650fd6591d3f15a81d3b7f33b59490cb8c88ecb1b06e4dee6dcfb036ca0eace8a117ca79282cb12883b1133911cba91a883be1a93702d6715e70c4266965f65e0b88785fb39ce8f7b1b4132e818be9d3f894d8ae786b37be64f454355eafb +S = c269b61d34cb9814934aa8d2eac38f5d941d7b69e1e0cdebea5f275f9fc4a94007cfde1b33a0f9cec3d2b60c6b6675d8a91e7a3251d78c31943524ba75824cff10dee098205f0c84d0f941bf1098785597a88c10058f2c857f85e53a205de7cedc10ad3f1d2abe3cf7c61382c14eeb6d7b409f690f9690fe9b72eb84619fc1f95a8fab7bf9a35248d7e1c89559798c0958a75b85fcaf143b41c3a23864a548026d57209ef64c2d6d61bf9ac15257a531b10fcc06fa97fd6e3fe1a882bce6fd2b8eb5a6267835dd8eb0b5e3e21350f6650de66d27c719980e98ed96006115caf94c061fd3669dc64653843853269b1b6df0515cf67f3161024ab3cd99a4ff5f16 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = P + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2b5c1 +d = 2277559cf793a9431b35de3001b03810739521346db9d9a14b24eca2dd8f3d929ee0db55422a12dc1869e46d409175f66a748d970a1677cceaef9c78b12bc52d3418d5bdf9a19e6e7df5d6ad2ae0a19f340cfc8c4466152e31b8335e63aea729c08cca8897758d75c3c8d8586a52c42b18cc28f8e32d800ef59415a1e2f3263708f06a74ea73e0f5e0c7df8a02b9ebdd6ab8bdb5a8432897f732829ef5d6b2c82ed5a4681a57eb8331276fe77fe8b6015f0b4bee003913895177332a0621f71032f372c9defc19aca69d537381e224a9e14267accf8f6923fe86431f87bf1b2ee729291ddac14fe115a6f8f2e7c9c36dd55d6c6af9ed346d291e74c5c0c0b1ed +Msg = 71ff5c8bd950fa414c774075da8ef7a1a58165bf4fb7670cb1f5c00cd07fb1ce0c80ca719babffe73623fef91298c08b12b35e223bb527a3685bef5e3f04a94a63153992eb9d83511435c89a322b32bceddfadc4a96cf943468bfd510ab55fd1db8851f7b26cae084c764561238d75bb9ccbfaad82250672b34f93ed19daf8ea +S = 77b82998fac61f387b1a3264bd695ea3fff605bdcaf4c2d3a57f87f3f425134b16711c7812ef1a6c7a5d191fed835b90769883da3e7dbc81e141e3a477cee00b1283e80dca67998835ef33480caeb10f5eb02374cc38129156197e81ffdf36a09e4c22ba30adf9760c441b9691925a2233138f93bb0283be4affec35094f9866e1de3ba4a7c3ebacf88abdd8a1034e968d104235a805c372daeb7b7844ff292bf1e02f3fe8912a28d92e0724f285410161f4fc8c9ff8e0ae91feafb890de775f874de9c8fd990fe77c21525d55f882c432060da56561811cb7fa2a7ba4ad907faa5453d1c2a8834eeeb7400f17445d59a3344fa64db8ee9e97020c5158def04a +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2b5c1 +d = 2277559cf793a9431b35de3001b03810739521346db9d9a14b24eca2dd8f3d929ee0db55422a12dc1869e46d409175f66a748d970a1677cceaef9c78b12bc52d3418d5bdf9a19e6e7df5d6ad2ae0a19f340cfc8c4466152e31b8335e63aea729c08cca8897758d75c3c8d8586a52c42b18cc28f8e32d800ef59415a1e2f3263708f06a74ea73e0f5e0c7df8a02b9ebdd6ab8bdb5a8432897f732829ef5d6b2c82ed5a4681a57eb8331276fe77fe8b6015f0b4bee003913895177332a0621f71032f372c9defc19aca69d537381e224a9e14267accf8f6923fe86431f87bf1b2ee729291ddac14fe115a6f8f2e7c9c36dd55d6c6af9ed346d291e74c5c0c0b1ed +Msg = cb254c69cb296eae328fafd8354396594c74e8f9ee4783289bcc8a922031c2f517353c2fade0359ca8713a9ea899907dace6d272d982dcfe771de8803d28f707ce44736583fa12856bacfdfe90cb32e77c4b26eefc54afa4243b221b93b0b8b3f9393731d6dfce118426401e7743453fc48a2d94e026c6c1aa0c808aac32cfa1 +S = bab31e3b71988cd3f2a772cd0e33b9db6d7aea6b6b99f631a0259ddfe9489bc662d9c6c9e03916592f212bd4e9619148dcea0b58b475c72dff8815aa3f274ad19d19126d67dc6d120e985ce16a3aeb64aadd785657fc0370c701ffebf71d83260ccdd9da04a8f29a69a01c3a9a6d2bd942c44d5cb91fcb44af60a2b8e2c94cabc23ca04ec6d3005a82cbe06546c38d4fedfc56d549c785a2e23b04ae0135b03a17d63ea504c51a0d129c172ba2ecea5dc6b8db4cec7b7a4d021da03ebe8cf6cce67b8e032b4ce780136afb144e5d8019e7916932ba87c7d9c963c0f51d62c873af41396d87877ca5ae888ea7d322faa79345080fb9d2e6dd98b7b219b6662114 +SaltVal = 2018c6663a97230486803e6f5040e217d76c5ee1fea8d92844c7e602f63459c4a49058c8d19cb56dee5a7b608a6fc61a +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d060960864801650304020205000430697756641c23d0735c801adc391dbcd9380866cf43aeb2548c2b0382fcfc4407ad2a1576553dfc6bd09ac3d30f8f8a98efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +n = 9d19bc62c9c1989df660e259e9c3b1fb805cff7546d2ea5a479d29ccc4e18f1ffc4f78a9af924e04001850d3c56a91c8738f047ae12c89fab3dec2ed1dd7a207ae635f587c101fbd2c542e86726f7f72aa47497162dffad87eb321426e8929afaedf4a94c132ffb2966c22aaca737550feada9f92c07c2095739c3ee524be18c1a34dfbd2e210868c7c25a2fa222c65353dd28008ceb10a570206a59d2a23b22cfd9f38daa0db78c4843bfe1ed1a366dc128ab4d5dd45a28586ca4c8b0ffdd90759028ae29eab9c56cb0da94ec13d3d9fa69333c6065f3ec4c6392259e1c2f761eed8f8aca57354c76c2a0aa6b9045e5182a95ebd332494d642ef07c1e3617d7 + +p = d6dbd917a657bb1c60889cf1e31ac2cc74663476ed58fc0f9a3889aaf7e4987fb01fd4e570902fb16e203b6928f0263d2da039d5d97ce847b283622883d44729854bb10f95883ce0035a2ebff22df9427dd799bac6a12cbe71125399c70ba761847aa43ac4b0abd60a4545d9589be2ac3aa07a4514e7659fa12b81355b5b1947 +q = bb2ea397f0cb08e1b8e1e803bdc7459169f7ff19a1a3310af6208593bcf5d785ed1064d0c89c86e40bfcd1a075d1881c9928d90a1f340115477169f058e74c86b6e33e1f2ecb93dd69ea38a4d0af70c83330c4726b8baa1b42303113b005fa122336d5333fb25bb7402a0a4e1f59aedf6a441e3bddc4ea6386bb9ca9919854f1 + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af8e8f +d = 017ea56792f811e27bb9cba286358e9de9613dd1d7f6d61b90ee4c89daaededa38b267d77d9c92181973ee943236f7de0e316edc70c21c8930e71dd155ec3d8dd094f9e808ac45698c237bff85e24d6f714b3b136e8f857e0b26e55c5fee5ef421b20f2dbb62eb92c87cde716fc29cc884e2c5acbb0f4e780423aea332ddd81c770ca2b4d0a30ab8cd1a6b7eee96025f61ebbe3af1807f767379e6f85c299d0f674bf8902c8bbdbab339fad41d4915101f972c540d3e41bc01870c569da3a7543d9abf9769272a4acf2d89650bf2b78219a85b7a65a4e6c0b3fb9d22a097a8c67c15b56c3925c9ee3050c01937021fbf397bbc601c319bed7544e9b7bdf7dc8f +Msg = e74ded82964ff874c9e10540c9f1dedaccb376b882e61f33eb5afd316bafbb01205f7c8673ff1598edc179a74d3e74a1d7729d16ee08869be5d8356c13afd855254eb4d2b8b55f7528a12f88a253f2f48193df61d7f5cd9f495ba34421bb10979e227cad8ef93ed21f880f2bf3b8be99721d26df64335e08bfe82f03bd5bcb91 +S = 23cfae518dad78ff6540e64f54ecb571ae4fa33fcc57732d8555cd25b44b46f46eeb109f91af7d08c89e16f4cf6aa119cd9633515c55ab3fad64c8932417ca945be3e26028b752bca8851567da6408e211df8fa215a8ec07fb6faac5cff26d174a1b5b7fec9ab12c128489c4ccaea60c1347b8451bce07ccc9c21e90c2e5dcbea4a292c16d60ba66ca4e5ffd6c9cc3b8ce4ebe39df418573e0e9f42ae09875a11050a434538790c5c700b5adbbf700db2a93f3e5ac4c570f8543f0a1c1d664f29d161b064a0892db495b68da2454eb983db0fb3defb0f688b67c8506c20dc7997e0bb51854a85af613a3b9a0ca3e746f3d8393b62106c58f8ececb502824c478 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d06096086480165030402030500044079291830ef6e3b099915dd3e11b6a732205b6a20b24850e12eca424ef60ffef81e4a433f8a9bce730e42adffe1ce7bfaaf00cb5e2d0d200f60fe2fc115a0f3f7 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af8e8f +d = 017ea56792f811e27bb9cba286358e9de9613dd1d7f6d61b90ee4c89daaededa38b267d77d9c92181973ee943236f7de0e316edc70c21c8930e71dd155ec3d8dd094f9e808ac45698c237bff85e24d6f714b3b136e8f857e0b26e55c5fee5ef421b20f2dbb62eb92c87cde716fc29cc884e2c5acbb0f4e780423aea332ddd81c770ca2b4d0a30ab8cd1a6b7eee96025f61ebbe3af1807f767379e6f85c299d0f674bf8902c8bbdbab339fad41d4915101f972c540d3e41bc01870c569da3a7543d9abf9769272a4acf2d89650bf2b78219a85b7a65a4e6c0b3fb9d22a097a8c67c15b56c3925c9ee3050c01937021fbf397bbc601c319bed7544e9b7bdf7dc8f +Msg = 19dc8b8a9da18dcb3cdcd54fe19fb766a8635ede3904bf27550dcfb5ae36f4a6fc2bbaa54d8fc80e9c411252a6de509ef987aeb74ee4c5291868caa05dd70596c506852ef1e313600db46457a9a49317c47bce632aad4fde01968d709e04b4eb9df653ef30a3550bb7be332491f9681b32c824aa7667448f351e82ed18c4e9ef +S = 694678413019405b4650f73897387df0a9a0744c345e52c02dbbc7d0083c71e0304d0d8cb47e08ac78ca34bcac209679671a036e1262285bddcf8d65082d8f49db6637bc2711f2ffcbebc84b0a96f581bd2de0e53ca24c715e416cb4f4da2eb4a4d0df893895910cfa4c346ee002f35792cfc066f25f048934b911dc748ecc88f709ba96f320b3f4ac84b740d7ecd32af63a833612a6b153e06f082e25b195fb0498e57c0e284ae03fdb27124f3af34b468ec03c8f9e2e4182a8d0d18f10221f79c13715be8ca77ce322f81f7555a57fe2e759f280d2a095d33ccc89ae1629b6386014df1215bc21cd8385548b1a149f57f2cf8487a6867a1bce842240050763 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = P + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af8e8f +d = 017ea56792f811e27bb9cba286358e9de9613dd1d7f6d61b90ee4c89daaededa38b267d77d9c92181973ee943236f7de0e316edc70c21c8930e71dd155ec3d8dd094f9e808ac45698c237bff85e24d6f714b3b136e8f857e0b26e55c5fee5ef421b20f2dbb62eb92c87cde716fc29cc884e2c5acbb0f4e780423aea332ddd81c770ca2b4d0a30ab8cd1a6b7eee96025f61ebbe3af1807f767379e6f85c299d0f674bf8902c8bbdbab339fad41d4915101f972c540d3e41bc01870c569da3a7543d9abf9769272a4acf2d89650bf2b78219a85b7a65a4e6c0b3fb9d22a097a8c67c15b56c3925c9ee3050c01937021fbf397bbc601c319bed7544e9b7bdf7dc8f +Msg = d122c9b539021a26f4e66a823f29791780a879da291b1858dea5baf0daa906408fe0a5dd8ca84647a49fe61c4d714e8b46eedd0c7d60874e2f1b1e715155d0762f38f2f45336fc0ca89dd49edf6b4fbd1263f561a760045c78eab8903007ca5ef85336625453425d4707bc72bebe83962c2e494271c4966a003910b34166fbe1 +S = 57619bb864865b005fae1cb334fc5e60a23cb148e722a781b1da7e822b849b93fc502927ce9d72bf8d2f809ca6afaaf268133a7820ccb1e6c5e8a7252f67f41c8c67f97d19c718b15c32a2fd4a98c69ea535b37d6a1c884409603c80e1aac8ca32c48ad5481ab56a02526a8f37b884f15585a4989f0a7c7f3afb20718f143c4d49fdafdd33944445d39bf857f8c03e4132b1a00d52064f60172b44b67919610f2b69fdb7a51b69087915f76a2a0896fe53103c81c27d00b8c805b42d2adbd31b21d1773bc1f96b3d5f9352f224cf1ab93c18cef97134fb3cafbda7b8e4c301981ac4027486d74d1308c234f84a13cdf0e505d02c3f1f2b8e9984d6b2fdbe0400 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003051300d0609608648016503040203050004403f29749449e51f7b49fc06657ffcd3a6ab7ee161b3a07105443de2109d9e706de101778358cd4422f2679d6a83df39ec5d36a8e053316d9ddb357ac894e8cdd6efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af8e8f +d = 017ea56792f811e27bb9cba286358e9de9613dd1d7f6d61b90ee4c89daaededa38b267d77d9c92181973ee943236f7de0e316edc70c21c8930e71dd155ec3d8dd094f9e808ac45698c237bff85e24d6f714b3b136e8f857e0b26e55c5fee5ef421b20f2dbb62eb92c87cde716fc29cc884e2c5acbb0f4e780423aea332ddd81c770ca2b4d0a30ab8cd1a6b7eee96025f61ebbe3af1807f767379e6f85c299d0f674bf8902c8bbdbab339fad41d4915101f972c540d3e41bc01870c569da3a7543d9abf9769272a4acf2d89650bf2b78219a85b7a65a4e6c0b3fb9d22a097a8c67c15b56c3925c9ee3050c01937021fbf397bbc601c319bed7544e9b7bdf7dc8f +Msg = fa0e2ee8d953ee3589be814638512966d3d5e1b4ca874079170f9fb87db17e070dc7249eef6f86ae5f816af4f6c4cc8d2b61810c19971aca83b10b7d15350d0cec5fc0a259cd9502e27ceb1a8af378da53beeb46001ecfca1fffb3ce472a888b9fbc4a1d9fd7e3d91b974ce07d48f5f452d6678b08842822f5e1ded49cf9b82b +S = 2fba3258af60a9c026bacaaba33076b21789358f63d709e4b2374c7e010a3f13d77d71aa6a70a116eda22a652706ede6234e71bb688c32697087a0c12c422e98cd6ea530ad7adf9e293c5eda311578cf0cd6b2cb32c9342f5e2e2f3fd8b27fd8b9bd7beffac03adf6148e72d9775c27ef90aa232f49bed02af05a0d1567817116a9abc0b81ffb02816ec6bac841e559fbdd7c2e41df9e4b66f76729fefc844d6dd6a879441fb212d4c065ebe6af9365fb2ff053433aca778d3a667c901dfd7dc35bc2518640a79aaeca1270646464ca55b872017a51cff49b56b53f70324168da72b0b5a297b790c89b1f71fa7937eb1e514d77f33284765b66608010c324013 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af8e8f +d = 017ea56792f811e27bb9cba286358e9de9613dd1d7f6d61b90ee4c89daaededa38b267d77d9c92181973ee943236f7de0e316edc70c21c8930e71dd155ec3d8dd094f9e808ac45698c237bff85e24d6f714b3b136e8f857e0b26e55c5fee5ef421b20f2dbb62eb92c87cde716fc29cc884e2c5acbb0f4e780423aea332ddd81c770ca2b4d0a30ab8cd1a6b7eee96025f61ebbe3af1807f767379e6f85c299d0f674bf8902c8bbdbab339fad41d4915101f972c540d3e41bc01870c569da3a7543d9abf9769272a4acf2d89650bf2b78219a85b7a65a4e6c0b3fb9d22a097a8c67c15b56c3925c9ee3050c01937021fbf397bbc601c319bed7544e9b7bdf7dc8f +Msg = e25750b83c69e4e14cd31a1f366d7f97134201535b3601fe9deca9e874e68051b6ee3be3eeb5d7800dbbe43e5c6e24b0b5965468f3f04ab9a71940c20dae70a73eb2e122a630803bb9217253e28fa967bcfbb59385fdddd5d02a6f14793a5461de6be77c4c20089ab8ce6b65b01836459139ccdef9a3e3da7fe5dde8a2d25504 +S = 5c3ff26414d2af68f316f7646fe4740d571d7d08a4553c250b6abf0187c2ccf16ede3ba33acf57e28b20ecfcd0c77815d280c08ef4bc76aeba9012939bb53a5c932ccada6323d8de5b00439032b0fb57c77e64423a50d480d9364356e0b3b841cc8a61bbff8f235aa8247c4df7ac1a31faa85a855c76109cc0a8baff6b46feffa65ad576eb2ecf1713baef88cbf8a9d939558f95677e749045a06b8da3fddca07b8c6e25499c8d2dc6f2e152b75a9a85af85db7c84152291bb03a6ecd65a1a0209d8291cca9db5648acebeae1faeaf488c49183b0433d74833812ddd35ca6b483a9f24845f10c11a18152c9d3c8ce5209ec4d8c10c5960cc5889950428e557e3 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd7a0b +d = 017ea56792f811e27bb9cba286358e9de9613dd1d7f6d61b90ee4c89daaededa38b267d77d9c92181973ee943236f7de0e316edc70c21c8930e71dd155ec3d8dd094f9e808ac45698c237bff85e24d6f714b3b136e8f857e0b26e55c5fee5ef421b20f2dbb62eb92c87cde716fc29cc884e2c5acbb0f4e780423aea332ddd81c770ca2b4d0a30ab8cd1a6b7eee96025f61ebbe3af1807f767379e6f85c299d0f674bf8902c8bbdbab339fad41d4915101f972c540d3e41bc01870c569da3a7543d9abf9769272a4acf2d89650bf2b78219a85b7a65a4e6c0b3fb9d22a097a8c67c15b56c3925c9ee3050c01937021fbf397bbc601c319bed7544e9b7bdf7dc8f +Msg = 2288961b2d0b66e75dfe4079804a7f99cd9735db1bb50721513a3f611e6d1ca8ea636c5f0c685dce3da191de4cef70231415c219ac1e7daeddf9db01d967b06a2917fbbae80ebbc42f4d041cd0ae511e47101c32edb3ac4f6fe52fbe7fdf0821c9ea6ab329c626d11b4bc1ba7351ca934ece6aae483e3d0bef48601f789eccd5 +S = 394ecbdd1159193f00fcabfe13f1ebad7d74c0fa954dfe2fcea5203b54c93e02960490f51c155da452cb451aa012f15f27c9ed603014eb88b714cd3232b0b08caad1e18f80cfb81345a18c4419b88a429a4f69c72149e96acb7f4463deca7105938d51f2a9169297e2462dcf4eac45208bc509cc3e85feac0e51b3bb32974ee82fbd23b3e2dc06da6e7f64f917d00befb181b264101de55cd90a86e0fdb27b3e9e8ffb458b39b1718e20da779408de3abc05f98e196f5f92f4dc22b34a39c28aaed5d44ba5fc8a50fbcc355bbeada239bb664f2d8e32fd53a0f8a0ca081276c32cb61c74fa9523b1d3f6a795dacab8363680ef62a2a964f66e3f5c0ef5d663d0 +SaltVal = e536e467ed1f6a54ea19ebc7eb470ba6cd63ae16af600b42a74e0358b37fb0d3f3e8400015c904bb1091c47a15fc568ec27e6ea59ae4b892b2392451ace68245 +Result = F (2 - Public Key e changed ) + +[mod = 3072] + +n = fa15594057e21dfd0b41c921627809dd454b519cc1c4ea39883814f9cdeff4a184d10f641a5ced9a80de1623ee7f86567d953256f48dd68ccb2e8362173aeaab3f11182425924334f9b92092c0fdf1e3b4c17b5efbc0269a7d839683470112c425c4d77b8835e6a307d0189223894d74d809ddba7260fa22cf3eae11e58cb94bf61cff8faae7cf17643cacd709725814ec9c365366b3a721161d8c2092681520a23e888dc0fecdcbe61f0cf27f3ae99ebab6a459331cfb3626fcd34eb124adf5ad5cf6ab5af05e0956391cc6debbbd0d6270b8412f330d469c41b26bc0f261b9aaaf4178b55b21af6ba12dcec1b9c58e9eaf9747e37cf50878110aec5630fe3dd77217c35e55c48896207a8586354d058dd7028a386e474b7c736283c45662c4810f56c6d0ec8586397d499d59c0e0a8d640c25bb91f3fd2cc74801f2526f78ae49f42b279a1687b9a8e965b49fe10a2360852000f440117b84dd8cbb793c27f124ff88535a25ecf925d464efae566f81c8f43d23b646296c087fb56589ecebd + +p = ff9bc296f0061ff168130676fb489dc343b9436cd64e5d01312ef3cc10c2b7db86adcf880840dfef878cf8de5758e8d9fa9ac8d16e7debde9aa5b3f59a1b9aa6031a2c892a9f375f7fb3f9b101b329d1555d7de3b593d1b9b22045f2871af6f5769dc9fe145a7810b51f922fd3ef70ec125a88f5c025b760b327786c1eb4a0333950297ebd4708425dbd09085e1628fc40bfe04d145c7feefdc02c73dd2d86c880327eacd873df0c9bb4da8d30da77edbc0930006dbf3d6ef969de1bfd057f03 +q = fa776bfbc5930c788bc08066a9b5aa012f6fdbe9e2e27d70a45e1cd524f7263e61787c7651c680ca53c8067624401296a9f8248d1c694a5b51abc2589621a4b865f887767eff28c9fd86a8fc33f2113b2a4a38c3eebc1f6146189b57c5a9c5e5cfc766ca40ae4a98ae1dfa0191dcbb02e9efc05d170eae47205aa414b0f4567dd87b2f4f7f9836a322a8ea135b1df661f826f6edcea7162e37cc70eed10681a1f1f30b3016270dd8c30ead74e699f2d68e285e892ecf55700622ea67f6512f3f + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a673f +d = 46dc5b6caca5ca0cb9a5cadf06e13f25b7ceedd8f448093cdaa233a014430a2f980e5541d9ce8d6f26694ef9c723884daad380bede87ac50028037c37d7b743ef4cff28e37fadd0c171886eb2290d12f54675594ac2aea179c92abe79a559399961a4acd01381437356a2539434fb45a8a063444cf95077bf68d4d4346baed7e2b59ef89b3ad26ce44e43a278c8956055a55ac729d6c5e3ae292a9977615c0da7fc3ac4adc3a3c22c724a5c9b09b8651fe3f4bd8e21cac202b4b68e9298c571ff4205048f187bdf2f481ccb1456c358df4908e01a1ffac3077f242bb081fb2c97fdc1568fa44623319e577077f1f2bf33ba8b7818d4c2ab1d7459723e24e0f68a299645a0dae0e1bfa9f8563fd000e4057897bd9720a96c2d80063e64d94a773ab99a335da30b86781f8cc0dd7bfe372a8bcf445e1a5e834b335a184dc08cd83d8c8f66a1a9306d41d5d239ad9b5bc7743b551c1cf92f9c7cdea50cbb9e728276accc5a9090bf15cfd8ab28aa78e3154c049426501bac667bcdba65202fbb181 +Msg = 348d8253c3fd1e0175f263081c025ed1d2f48d7498d39f733d417ca7820e857a7b091d573816685fa581525eaf92d4fda8627339edec0913c667c7898dd47bc613d30f963fba521cf8e8fcc74557ec82b371b32bf8255647d53950f441e2d71ec39260f6201165a036cf662c28792ec8bbca573400a41076345f1ecee46121ec +S = 7247182f6a34684402028eb1f0ff8ad0f16343265ee6c6f7cc8b18f2ef9d30e778c9ae49bdaaee7fa1d4dc17ea4a1a11a63d29ef17035fa41215fda41d36edc7a0a672649c3b05ca07d09644503abf99df6c7c31f516369044322029c7ba5d7220be8fe46a0a03068b7a8f1a145d0aa0aaccc4405fabadef36354ee749f59c26a0f7e0bcafeca1ecc272c2c83738b63f8ba2c6d1553b1b326de49dfeaab0f50c344ba311c5842f093ef8b906fd5e163180484e9517c363217e9057a933f5c21029c00bb1a93698e417d33b19583d3dc4774f381e434e4a2c35dbd3f3829f4da9c0d18a702f54d73f201dfae3c298007ee87bd2d017b8aa9411c2081ec04ba3bde24cde89cf743fa7f627c7420e4a212662bb160fa5cbc93b7b7585c53a4d93dd18124851b95bf00db240a0850a89bb1d291944947c0d8206d6c509b7b27d8f38a339eccd3641b291dd569bbd3bed6cc18f57890113ca5f3aea7af7b35880fdc0e157f941946e742ab61b5a9de3e18a5575680a869fdee02bec97a726d99d0703 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a050004146c5a15efcaf037f382a166d2358374cbacb601bb +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a673f +d = 46dc5b6caca5ca0cb9a5cadf06e13f25b7ceedd8f448093cdaa233a014430a2f980e5541d9ce8d6f26694ef9c723884daad380bede87ac50028037c37d7b743ef4cff28e37fadd0c171886eb2290d12f54675594ac2aea179c92abe79a559399961a4acd01381437356a2539434fb45a8a063444cf95077bf68d4d4346baed7e2b59ef89b3ad26ce44e43a278c8956055a55ac729d6c5e3ae292a9977615c0da7fc3ac4adc3a3c22c724a5c9b09b8651fe3f4bd8e21cac202b4b68e9298c571ff4205048f187bdf2f481ccb1456c358df4908e01a1ffac3077f242bb081fb2c97fdc1568fa44623319e577077f1f2bf33ba8b7818d4c2ab1d7459723e24e0f68a299645a0dae0e1bfa9f8563fd000e4057897bd9720a96c2d80063e64d94a773ab99a335da30b86781f8cc0dd7bfe372a8bcf445e1a5e834b335a184dc08cd83d8c8f66a1a9306d41d5d239ad9b5bc7743b551c1cf92f9c7cdea50cbb9e728276accc5a9090bf15cfd8ab28aa78e3154c049426501bac667bcdba65202fbb181 +Msg = 07dd79fa6d610e1c9f3c64a2b92d1254b066531136df0ac3ddf003927e1f7c58dc37e455859ae225f9d799ee0e7f2bde93357bd53405385e9df717e4e3e35f231f86abdc5cd6ebcdb393ade0b41f9ba3088f44f855021f0e6231cc8f7c489e1b18f557f6b9be32fd149727df72b46a89579c35e2617fc7b972c9adfb12f7402a +S = bafbff970e29b56aded354a1403ca86d9dca586afe5f7e268dd12a1915803714b37b5b329fb262df320b7e4ff2a078947eb7e114408bc432b41c899f9f7aa45927763c969b819321cb6a048520a3ce64d66e63c81ef4a48ed269f4108d392a1429877252a589ca0fb22f70088a23d01ef81a65e0dad9e7ae9dfa09c42e2843e7551aaac914e1fd436b811a28b78803f1ba34c7ea254d1d37a33217413a0890856297f81a6172bd6f147f3c6ad818324e5d6e36370c2a52301180b8a3a8b7141119ca6e8b5bd71a77d11c513de82ae3e4186757cfed3ddf17b345e6af808e3b0a6338782c253185c51ed855fb9a03c1c1895ba444fcb691e6578a54fb927b20564e328f175bf593663e38ea5b92ec8f856dca9c42c3ed11e93fae960dc2b0384007292ac2385d12ea05dea3c2a60d5fe3e6de6e8886b1b1258c35be13ff1ddd7e3734923d05eb93bd9035c8b936df2b8c3688a045829d4203bcd178fe1cc9a5724368b9148841f173805b88e505cb5d516946bbb17385607e14347dc5fd98d172 +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a673f +d = 46dc5b6caca5ca0cb9a5cadf06e13f25b7ceedd8f448093cdaa233a014430a2f980e5541d9ce8d6f26694ef9c723884daad380bede87ac50028037c37d7b743ef4cff28e37fadd0c171886eb2290d12f54675594ac2aea179c92abe79a559399961a4acd01381437356a2539434fb45a8a063444cf95077bf68d4d4346baed7e2b59ef89b3ad26ce44e43a278c8956055a55ac729d6c5e3ae292a9977615c0da7fc3ac4adc3a3c22c724a5c9b09b8651fe3f4bd8e21cac202b4b68e9298c571ff4205048f187bdf2f481ccb1456c358df4908e01a1ffac3077f242bb081fb2c97fdc1568fa44623319e577077f1f2bf33ba8b7818d4c2ab1d7459723e24e0f68a299645a0dae0e1bfa9f8563fd000e4057897bd9720a96c2d80063e64d94a773ab99a335da30b86781f8cc0dd7bfe372a8bcf445e1a5e834b335a184dc08cd83d8c8f66a1a9306d41d5d239ad9b5bc7743b551c1cf92f9c7cdea50cbb9e728276accc5a9090bf15cfd8ab28aa78e3154c049426501bac667bcdba65202fbb181 +Msg = b61eabe9eb62740c500b32e9b049a0652b4a87317e68289f85a1dab5fe47f4818ff8edab0bd1c251f1df980e35d6a35c4306461d428a7c7495c376d9a805866de98f3b8a14c1ce9fb489bc3be71fb56761f2b539b3e271a6cdaff498c2b18a40cccaddae909a5e9fa3f1e6964c8a9d2e8cf61cae5bd6cede354d9c19d5b5c9a4 +S = 09b573ed2be213b3e1ad49ab1fcebc2be8cbd30556a3c9ac4eafdffacee20b7c5b19fe84c66cdf57c0ff081643484d5e5ec904de4ed87d7cbdd8e9897ffcade1b0a260f7cec47212e1dd29cbda97c195d0f47ad0e7f8e836c9f870f2e77d8648f517bfe15f1885084a28ae1bb2ac7377274d2be8748b28fff31140887a317ba4983e0b3c94d4c0360e658161c011f18751ca061be384bf09d3f6b8da459d432081fdb22db78483e69df8f37813faaf31a9c766e16fcb8f4a77d18f8a1ee8de88180b9f15d0894ff2a8b2a5f6f9438c605e181fb5807f9dc635dbb34aa5380feb004e16f49b3b9abf5e9e241d66c5e4dd2dcd4c67ff3340e4b1dcf20e070c18bc9f4972b7cc7f8543564fde3b3598ae177e7a97e3371aeff0df98b1852330befe8ef5473f8e5210360922a5431a2914448e2c7db973d6289515eb3c6053a77aa3276c71f8e2692bb2ff86f48fee9db1960203fbbd7259eec3230ba46d4e3caf2c1178fb4f62e516d86af4e92036f7d08a8e512d933221d0fbf520bb904c7c5b64 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003021300906052b0e03021a05000414de0fc5a77cb595d8bed96a55d2f627b43311b207efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a673f +d = 46dc5b6caca5ca0cb9a5cadf06e13f25b7ceedd8f448093cdaa233a014430a2f980e5541d9ce8d6f26694ef9c723884daad380bede87ac50028037c37d7b743ef4cff28e37fadd0c171886eb2290d12f54675594ac2aea179c92abe79a559399961a4acd01381437356a2539434fb45a8a063444cf95077bf68d4d4346baed7e2b59ef89b3ad26ce44e43a278c8956055a55ac729d6c5e3ae292a9977615c0da7fc3ac4adc3a3c22c724a5c9b09b8651fe3f4bd8e21cac202b4b68e9298c571ff4205048f187bdf2f481ccb1456c358df4908e01a1ffac3077f242bb081fb2c97fdc1568fa44623319e577077f1f2bf33ba8b7818d4c2ab1d7459723e24e0f68a299645a0dae0e1bfa9f8563fd000e4057897bd9720a96c2d80063e64d94a773ab99a335da30b86781f8cc0dd7bfe372a8bcf445e1a5e834b335a184dc08cd83d8c8f66a1a9306d41d5d239ad9b5bc7743b551c1cf92f9c7cdea50cbb9e728276accc5a9090bf15cfd8ab28aa78e3154c049426501bac667bcdba65202fbb181 +Msg = e594d640dc2fb4d4d9523ea171c95dfc7aa2348ccce403a1487e4bc7197e339c3a832ade3875cec83a730c9f3e0d8988a5b4419cf26e6f3ecfcfacac51245ad57cf1436b0a9e7e38686d93b502afded9c038392fd010d52ba76b69be42db8f28b2c56a0ed7128dcc6c26180c43162498d215626cef30fe10d83cca24760c983c +S = 8565680f9957f0dcb540c1cb61bb07f58bcdef54265047d60e438e01f4bd2b589cc067a40515949808b31e9c22042bbfd369610a45850d15d52670666377dcac674a959f1ab50c5f980d8886c062f553450768041af741e3ff8a151dcc37ede167d69fbda25cd17ee649b72e5a0812dc696cb1ec996b0ea9d1cd59680fa9560c3e80851544d8b970e0f638e162e2385f7f4acd701d528e62842611c1ba68d0b5c4ff273976d36787c837d65f355c186417b6c15934ab6e8f9e7d030add664c191ef81852d85bdf1552c267e40cdc2dd6136851024babdb701428a8ce79aeab9d4332a1e1699731f9d43799b5365536bad860eb5b756f2aed6fe6aad16cf4270f76eb631e1b1dd6bc100111a909da6700ce7f917385bba5d9974987728d6bdede768876e241d2bf23de0f3028d52848f15abe06a93dd616ba95724347043a300c09902bca9fdede9a7d29f25afbc9b0e9077b508164792713278eee448000629b1158d2cc65c6ff06ea9a2e95c2874e2c7e2bf872f319c2627e538f9f7434f6ce +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a673f +d = 46dc5b6caca5ca0cb9a5cadf06e13f25b7ceedd8f448093cdaa233a014430a2f980e5541d9ce8d6f26694ef9c723884daad380bede87ac50028037c37d7b743ef4cff28e37fadd0c171886eb2290d12f54675594ac2aea179c92abe79a559399961a4acd01381437356a2539434fb45a8a063444cf95077bf68d4d4346baed7e2b59ef89b3ad26ce44e43a278c8956055a55ac729d6c5e3ae292a9977615c0da7fc3ac4adc3a3c22c724a5c9b09b8651fe3f4bd8e21cac202b4b68e9298c571ff4205048f187bdf2f481ccb1456c358df4908e01a1ffac3077f242bb081fb2c97fdc1568fa44623319e577077f1f2bf33ba8b7818d4c2ab1d7459723e24e0f68a299645a0dae0e1bfa9f8563fd000e4057897bd9720a96c2d80063e64d94a773ab99a335da30b86781f8cc0dd7bfe372a8bcf445e1a5e834b335a184dc08cd83d8c8f66a1a9306d41d5d239ad9b5bc7743b551c1cf92f9c7cdea50cbb9e728276accc5a9090bf15cfd8ab28aa78e3154c049426501bac667bcdba65202fbb181 +Msg = 744a128d95416147b635c3ad244f885c5440759bc98dc446382a6d0ceb4ba4db6377a39741dea91267ec43395a1eca8bea152dd016e9f0072abf75a02a9e7beb737ee4d1a0a2bbc2ab2875ee54df77b8c758d96779406a1f53ecf4111236c1eeee885da179369e3dcb11e234dc3998cb313202cabb3a3878fcda71c66bbc7ecb +S = 2874dcd9997e8f60ed51f9c47246cf5d919cc2368ab2b5d6078ff80c78e36dbc9722c94c0788858cd5e46150c9734df75fc9da2ab6bfdb1c6cd7ea6a181489e5a7c4b499733e9663784e1c87cb79f90d830eccec4824f4f2565d885d31fe0897173ee3ae61d19488375ac3917652ae66fe56e683be86d7a8445e62ab134f3cb1cffc931fc04689fa317fab58c150a94a555e023088d410b316c4e79c1c57f90ab86199c26555b34d44397e11e9f9161984317ef5d5c489b501a1885ecd25a994583c263b2f2c415b7ba7faf237bf58471dbfadbdf09bcb0de1d095b5aeb3f20af46113bbf9638c138a2ba78683b69c8652ab401c3beb2bb06ddedbe61dcf398578fe4c958465aa1bc430140b68f0ce34e4c964b541e6d66825011a4bc367d95338fe6256c29fba249d98a1ae0e4db55fce67775f2cde1d8661b7753f5c5b3a476e7a2c94941e74fffeb41a8a3d38e2a8c3d9bf373c7a511411e211bd4381ff30d36ae66fd29c55345ac6b8fd07d0b91135fc6c190861aad1b2d5448bff181e7e +SaltVal = 00 +Result = P + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c9c31 +d = 46dc5b6caca5ca0cb9a5cadf06e13f25b7ceedd8f448093cdaa233a014430a2f980e5541d9ce8d6f26694ef9c723884daad380bede87ac50028037c37d7b743ef4cff28e37fadd0c171886eb2290d12f54675594ac2aea179c92abe79a559399961a4acd01381437356a2539434fb45a8a063444cf95077bf68d4d4346baed7e2b59ef89b3ad26ce44e43a278c8956055a55ac729d6c5e3ae292a9977615c0da7fc3ac4adc3a3c22c724a5c9b09b8651fe3f4bd8e21cac202b4b68e9298c571ff4205048f187bdf2f481ccb1456c358df4908e01a1ffac3077f242bb081fb2c97fdc1568fa44623319e577077f1f2bf33ba8b7818d4c2ab1d7459723e24e0f68a299645a0dae0e1bfa9f8563fd000e4057897bd9720a96c2d80063e64d94a773ab99a335da30b86781f8cc0dd7bfe372a8bcf445e1a5e834b335a184dc08cd83d8c8f66a1a9306d41d5d239ad9b5bc7743b551c1cf92f9c7cdea50cbb9e728276accc5a9090bf15cfd8ab28aa78e3154c049426501bac667bcdba65202fbb181 +Msg = eaf989927d18e789a4c2c889fcf5c21df332e46e2182a365dcb7171006f468472a6f838fc776113eecb0a9e005a644daf581f24d6515cc3d5b1f2af30ecb169ff97a00422ec1b3cbedb587807566d8a01aa9b847981be191a762ed02cfb6ca267ea168745802b478ce58ca32f23d66b989319c236299caa9e707ca07f2bc6c22 +S = a5db83aa5318aaa5ed79b8e2f70652e8a7f03edb1280efd24abcdbda7f794f592ba71db3494c2013463a235358c468d0b722b797b51b05ef6d1463203c882be3f2f25bf4918a04049e2a52d6930208839cf3de4b2072671da8ce0d288c9b19ac91b436da8c7d4ce87ca560f16cb759fadfafcf4bface1fcf2d0930ec120b3fef647b1772d3af810a67e3c359f977d9b16ebdd2786d411910c8eb72458eb94017904cc8da37d0dc56b8c7468e7dc88721e66c3a5cbfd729c4506dfcf2bff3206907562b9f8e7536b3ce6d9d607062fdcb06dae044691d40f51758fc0db46fcc07f1a4ced544396698256da55d6aece5b64b72a77d41fa0ee34f998ea3bfc5f79348f46b1b3ced4d35daa3a4ef656d3f039da9d312f36ec8976e5ec1ea2945938232fcf6c47ce1d8683cd49f2b736f6976158c65061326f868fdf87afde1ec7e0fbdaa7c2788acefcbc85d3644e2f9636e470f00afbd86054807d956df0890ca3ac1897cff7f68decc11b975ec4fbf470d30d14f0a88bd1b4f1638596fc54ec9ef +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +n = 9881b3fb6c99a115da60ade6d178008b7e6db8f79fe34fb7e6f7d2fb96a24350dbe35fc9a9742c6d3deede1ee6c04cfcca1f1ce9f1d7c53dda87b149dbc7ac4644e2eb57f211bf883ca006098e0f871155c6c1f9c88df9768c61581e0b5016aa57177438396be35edbc31002cb2bb766c9b9786a81358e5dff52b9073fb7f9714600c0b1dd060ffa1455fc926d30329925bde76cd68a58896de4719eba84529f76de312e9681cc252ebd4c42b51614b172cdc67a5144e7bee75050f7efb904d52b8c084242c3545269cc1193691981670e0816cb82e39c4541bcc7f5fcd27e46df00e7e73946da7a6f8a7026d89d951a8bc8010132862aa0ab872534372a2f3d10d3edbbf852a43ec06a93b3495289619bf899c10027dc2b06daac43342e3200a1f002ad53acc537772f1485d3b517f4686bf27ba47183df94a8cbd9a5bb0659bbbe43beb2eb05d29a23813b0e6ca8e7228b9ce3fe0de7bda5a0c56e9a5ad4e5e4622896c6f3e0269d69bbf0cc1ffc82278ff55168f485dca669868b97f4a003 + +p = b66d9525be49d37e942cc02d91d946977de9f819467ac0bd2c7293717fa206e3d5ade5838fc95afbf0a276fae71725444e31f9e8c72d253a93331d225312ccc473756e0b559f796fa9bc13a0c69a5d9ec5c34578a38f998a83d49fad1cb039d6c4044adcb265fb3d3a30ef0b094e9f33493c9bc81abd284dc8d51b962844a8a2599e804a241670d4e67b80098b22bff02f12de2e76da79bcf13ef1f90d693c3329fe9c78f222d3ac82c5289153dcbb6770fabb1d9ce38e71646d065d2f764679 +q = d602f1fec333240b86c01862570c877fe7421a24e16231cef8b96bc039ca204409cf717e19861aa0728b722f5260d70fd762f264aebcb5db3a518eea3a768b9e320257e78ae0ffa8f026a4d74b0916092484a2699249921e8cbb7297b58370b7d3fc13ae55d2cd11c30c75945a5eb7c8acd4805248187fb424e24a3abb1c5fdf1e918e64c405d900e55a7e385c4b39fc7cc0d0d11aec4c9e12bea652423ea7613f045e9bf5cf31610673676aec7ecb8e8e19e2aaaf80fc3df08c963d4bdd6b5b + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016b265 +d = 04b14ba50802df9f7cf06c2998638d6bb704bdc2b2114b9dc8df80a4e05a0da18e5d0570de69c26e1cde52d9a7ddba96673ecc14e5f72721f3af3a71c0a6c03169e671206c2af3187802f842c5ca5b0ae6dbe783949b3723c237ea35890b7a28eef0a222f84098ca1f95ffe0b7a42d8996ffe269f2d875bc2f46349ee5609ecb9bf5bf636848c6b42b60202ab71c47429f25c660addbc3c6cae36b7425432ada9f1393fb5a4dbf505bc701b54fe96ccafa916eb7edb3f0791934ebdb1bff76f7575d93d2cac639ce375054fc586cb3149000b38fc64a846bb46d5562be6000fc23dd6317d0d4e6f23e2b1d3a1c5b8b0497ff68c362e958d072ee41165fc6d3405d9a0d05e5bfd4878e2c9d6652fa8a91e32e2c1f0e296644d60c327b38e50e36027c5c95c86766327d9e4534c01ceb6a79d5d149a02764fc577d839733d4f767fd4df0672df6e0816de29dab7e7bde3752205cb1658cb2d2566986d4f5c7c0c6e0c9be2cead4a262da06ce94607b32844cc40a23c0671bb4074bd71b138b5425 +Msg = c94473f37b3e8fbb10fb2cb105ced77e753b9c4eea71797673151359f641a88cc8cd45387bcd39c0f75ac9a4cc9625a6c7ea9b2bc4920be3c25c9bac3dacabb4b8c40cde99426c6839ea15ca3ca6d8e11ecb434c0f9e1b1701170696ffe58794c0b12fae7ca712f9fe3379ebfb08d678a267fd7b749e905856cfbbdfe4f22274 +S = 7b2ba5d847b87118e2c09ad023e2cc5e6f4e0170ba9e02d3c068adf1fd00976b6288f316171d776349dc3570ec1a6950e47094331449a79e74d8699a5397941261d98d6bd5e1f4ee631361b0aaa5e01d25ef71e47d740865592eee53f290a6c419a2153fb7cb373cdaf22cbe638d49492c2cb267be0762995b9756e32dd43675a8029f19f237960334fed8de1bcab36cd091c202bd391c753b7fbd8062b31ba8ddf360f3420d0c99a746fb1bee1ae0ce033794c22c32d8ea8136022647cc90f99a895baa362cbebf294866f3d942a53c789919ff4b846fa1c1d48202c7689f1efaa52036921df7ec58e0b6cb9a5225d89eda78545d6b117fdbc1c726850f73e735d57b8a7355ba6d6ff3c8efeb49a29b85c92d95edddb04914b1c1550e38614804105313660e94c5decc0a5627e0071e13843b7d63a4544a1330a377effc531fdb12d3e9951c4d2c229a1240628d17fb3a7cb410d1b01c827e6672f4fc34b650c3a0f42a1c0d743a1797623c2778a49482d52f37a70d81de36eb6dd9e23b2576 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041cdc9a5fe2a51103e376ab49395d0b690b1564649e2ea38ce1d850aefb +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4bd05 +d = 04b14ba50802df9f7cf06c2998638d6bb704bdc2b2114b9dc8df80a4e05a0da18e5d0570de69c26e1cde52d9a7ddba96673ecc14e5f72721f3af3a71c0a6c03169e671206c2af3187802f842c5ca5b0ae6dbe783949b3723c237ea35890b7a28eef0a222f84098ca1f95ffe0b7a42d8996ffe269f2d875bc2f46349ee5609ecb9bf5bf636848c6b42b60202ab71c47429f25c660addbc3c6cae36b7425432ada9f1393fb5a4dbf505bc701b54fe96ccafa916eb7edb3f0791934ebdb1bff76f7575d93d2cac639ce375054fc586cb3149000b38fc64a846bb46d5562be6000fc23dd6317d0d4e6f23e2b1d3a1c5b8b0497ff68c362e958d072ee41165fc6d3405d9a0d05e5bfd4878e2c9d6652fa8a91e32e2c1f0e296644d60c327b38e50e36027c5c95c86766327d9e4534c01ceb6a79d5d149a02764fc577d839733d4f767fd4df0672df6e0816de29dab7e7bde3752205cb1658cb2d2566986d4f5c7c0c6e0c9be2cead4a262da06ce94607b32844cc40a23c0671bb4074bd71b138b5425 +Msg = bd1449b44548889ecd191d0a43cdffa7e4bbfd95a51946d5d20f2efef50f2f31f9692e4e8f1a0068d1e52d7725a6f44d65e28fcc3da2b855d4826b83ae05ee1ad12b0f3a2646add923097970a7e2fef3258adf0705da607047e028c86a3246778c8271dfd27394d70aab8a5b8f2925816dd976afc666480c7550ee34f03e3f30 +S = 22c2fb8742e325e8e59f449ad6fb8b531e05efa5d87cae928a030924bf34029cd25d2794c42c987520d521a2def57c62d5a00b9540b792fd04088b82053fd5fc7d76d3b912086ac718cc9b19b03e27c3311aaadbc19602a5b4c1321b4f7217c5717bb48de800872ad322c9948682794f25a89b3a7600c36f9d460f0bb2186b5a9a049b04c38e9259a9bf8566ccfe462211607a81cad72f3aa2468909b723c67bd5af913fcea3717c33ee8ab529154dc549ba12506227c957b80788a0d7b630e7d735deaa847ab5dc9de4dd90ce57645d1dfc147d5c2c051597fec2697508bac577aff5dc1a43eec3c7b014f027a1640047d42b4ab59709722bf5bc703566abe2e2aad6e9cf9e850247ed40563ad54296ffe84cb2f8ba31386e8b821a2ac29347ce710ac31939bf01ebd3b7b12b107caec9ee01d78cc80721fa75143cae00b7854e64953580213c46900d9837b523fb204cde1048d02e08dd00ba0e505151840f02cccca387440d007a5452ab6bb741bebafc0bf3c78eb1b895e25da60533bbc2 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016b265 +d = 04b14ba50802df9f7cf06c2998638d6bb704bdc2b2114b9dc8df80a4e05a0da18e5d0570de69c26e1cde52d9a7ddba96673ecc14e5f72721f3af3a71c0a6c03169e671206c2af3187802f842c5ca5b0ae6dbe783949b3723c237ea35890b7a28eef0a222f84098ca1f95ffe0b7a42d8996ffe269f2d875bc2f46349ee5609ecb9bf5bf636848c6b42b60202ab71c47429f25c660addbc3c6cae36b7425432ada9f1393fb5a4dbf505bc701b54fe96ccafa916eb7edb3f0791934ebdb1bff76f7575d93d2cac639ce375054fc586cb3149000b38fc64a846bb46d5562be6000fc23dd6317d0d4e6f23e2b1d3a1c5b8b0497ff68c362e958d072ee41165fc6d3405d9a0d05e5bfd4878e2c9d6652fa8a91e32e2c1f0e296644d60c327b38e50e36027c5c95c86766327d9e4534c01ceb6a79d5d149a02764fc577d839733d4f767fd4df0672df6e0816de29dab7e7bde3752205cb1658cb2d2566986d4f5c7c0c6e0c9be2cead4a262da06ce94607b32844cc40a23c0671bb4074bd71b138b5425 +Msg = 105741337cb19262c78a1bcbc04349775ec4f32f55c18fe1eb3ca645084c85bf8d1c3688e736ae09e4024887c5897205947fa666b8819dd3c69bbf5c9a0ddde2a74f22348b524778e60907cd6d28d32e3a2cc699669bdb71da8d5e22626ba00304f7ef808f8cc57876a740e4dfa7d2baf8d13a118a97b385d01a6bdd89ed36eb +S = 96ed1422c5acf21998993a4d30cee4897d490c8de002f6fbbc3bad70e6c44cfd2232841becbf2cfae42df1f1d91fcfba8b81f19d3fa3364b569e444f6f18dd860beb641920b7c565217ce181b637709bf9a6121feccd49f59675cad5d7b27956f142aed71c962cd23865281622d22429f288338b095524b397030353f590dc11a4cb9810cc247a0c8a816b41683a64651b1c60be462d80e5cbcf025fd0181cf61c2d9a63eacc2de0dd5637193598120b8c6d60b6c6f1228735fd18a4fe3f8f63ecdb33924eb7b809bb66c458d4b73106b6a23a7fc685df3978ba9cc1e2371288f0195b6d73239fbde260bd92ab838f0bb80735665a68ca5e426678fa6ba2f29a9374dd7bed51f3413fa074965e56f3687db310c0b3c69e3f37386ad5e6de25f3faae6212b3549d87e39a6cc9dccee9ea1c8469704f79e88089b3c1d3232adeb99bc0c0a2b34094ddb3006cfadf826e1e2a6aa2a3cbee334bc4f5fd019fcf8eb61b0db6e38e611744515c58619d46a39afde9677189066f55e4f78c39debf7e59 +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016b265 +d = 04b14ba50802df9f7cf06c2998638d6bb704bdc2b2114b9dc8df80a4e05a0da18e5d0570de69c26e1cde52d9a7ddba96673ecc14e5f72721f3af3a71c0a6c03169e671206c2af3187802f842c5ca5b0ae6dbe783949b3723c237ea35890b7a28eef0a222f84098ca1f95ffe0b7a42d8996ffe269f2d875bc2f46349ee5609ecb9bf5bf636848c6b42b60202ab71c47429f25c660addbc3c6cae36b7425432ada9f1393fb5a4dbf505bc701b54fe96ccafa916eb7edb3f0791934ebdb1bff76f7575d93d2cac639ce375054fc586cb3149000b38fc64a846bb46d5562be6000fc23dd6317d0d4e6f23e2b1d3a1c5b8b0497ff68c362e958d072ee41165fc6d3405d9a0d05e5bfd4878e2c9d6652fa8a91e32e2c1f0e296644d60c327b38e50e36027c5c95c86766327d9e4534c01ceb6a79d5d149a02764fc577d839733d4f767fd4df0672df6e0816de29dab7e7bde3752205cb1658cb2d2566986d4f5c7c0c6e0c9be2cead4a262da06ce94607b32844cc40a23c0671bb4074bd71b138b5425 +Msg = 6ac31acfb46bc42fbd13c38fc2cf6751b2a6333d3e4f8f6a3338bd6207cd0e81b1f6569ebee19deea20317244c5957ddfdf4bf3c59b43bd1bf542fc0d6a6ad1f6820ec9f7498f56f7e4ca05d2a25bf3f093d9991b39e9a5f164d48660d877976354ac31afc17357bfaf7448285bc083d7f89a984739414dce02bf29bd5f5da4d +S = 122cadf51e1f0984907c382090aaa972b6dfcee9559e01d96a212a716f23a10163903441d4ba5004b42e26fb31ca4814212c0936cd3c1100f2e5fdff1fbe177ce0ef0f8cc522b85d5871415fe255917944d20618c4bcbe2cd53b9c46f84e3f18b50aa697bbd8b7282107516af44b9661a86efbae960749514fb39ad06329011ffb94c8e2a1e63a4b49280f3b92cf3add5f1ded63e1b436cb2dfda4bb6b3831c9f352544bd7988495362ba5cc7a9c6059f11d0f7ba99b537974a0d24b8bb6014a98a6122d8f2b6979f91d3f0bec9bfd7c0d10f8b25e432557feb9f955cbb5fca7f63b8157e0f1be7604a0efdde294289fb46a732f636b2b0b33f5be9bce3f2f76b186c5a177458ebbb8a46314e37e2841eb53759d3b4636d91e9d1c814b06d761d4e483a55e5c54507d3f03063c53ccaf57c73f1ef98bc60b7c25b015f6a3bfe81a36b32bcc2ae828da985dd869af8cba37444cc79eb3c80f6e81bcf793c2d08bcdd3e8191002278d23153a8ce90c10e825d545a249dbae6013fa3470eca9b13f +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016b265 +d = 04b14ba50802df9f7cf06c2998638d6bb704bdc2b2114b9dc8df80a4e05a0da18e5d0570de69c26e1cde52d9a7ddba96673ecc14e5f72721f3af3a71c0a6c03169e671206c2af3187802f842c5ca5b0ae6dbe783949b3723c237ea35890b7a28eef0a222f84098ca1f95ffe0b7a42d8996ffe269f2d875bc2f46349ee5609ecb9bf5bf636848c6b42b60202ab71c47429f25c660addbc3c6cae36b7425432ada9f1393fb5a4dbf505bc701b54fe96ccafa916eb7edb3f0791934ebdb1bff76f7575d93d2cac639ce375054fc586cb3149000b38fc64a846bb46d5562be6000fc23dd6317d0d4e6f23e2b1d3a1c5b8b0497ff68c362e958d072ee41165fc6d3405d9a0d05e5bfd4878e2c9d6652fa8a91e32e2c1f0e296644d60c327b38e50e36027c5c95c86766327d9e4534c01ceb6a79d5d149a02764fc577d839733d4f767fd4df0672df6e0816de29dab7e7bde3752205cb1658cb2d2566986d4f5c7c0c6e0c9be2cead4a262da06ce94607b32844cc40a23c0671bb4074bd71b138b5425 +Msg = 68b59f9de0146fa3a964bf399cabcbb685145fc727e8f70a81b925d850e13362d52b09ffd8cf52c4eda4db56f6913bfce944b9f8d4276a181e909a880f396dea92efc6a83a8e6889842c5c835c9592d1e2f8cb456ddfb5ded064589ddda2b295286b9e420e39fb1bf566096ad49f165cf7965b54fcf72185229e28c0c307488a +S = 0f49851133f72670c3aac857def0e20b2c3199cbf04fdb2360afd48a5f4a6d371cd77167e87f34daad9035afa520688f0705931f987f0a9d33dbb7d89a0cd4b286cef04c07b8a5b521ab7881d8a06b914cf416311e5dbc77637a8dd5752f114b3fe65e03130c603ea641252e1efda9cff7477054552174bb211e556eb27e5d9548a63545c01939e63568aac7295c87583578a4a46cb4a53f3e830ae9d09ba135800a97668d9844229b7e7c38e7df08bc9bc7f2ebbe462a43d224c9de34b386e67280350bd9f8ca05859519e07210cfcd1d3983b1d75aaeb9b9fed2d378f8ab233e501353dc8c35e7b573dd041924029bc7efc6a02aff08e2bfb1650da656c0073a04acfd2f3a09b4c41c857622d7bc42b81596157e61a2b8f6174f94af672de4b59e77d805fe5e62987afd740d34ae1e35b8c1b682996935258cf627b6cf85efb758f2d08507047f0aeba1127eae29fe00ca8738562eca3d55084b8c011bce7baffd902921b9e0de583f8979b97d93065f266a7eb546899127b8c287403decdd +SaltVal = 00 +Result = P + +SHAAlg = SHA224 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016b265 +d = 04b14ba50802df9f7cf06c2998638d6bb704bdc2b2114b9dc8df80a4e05a0da18e5d0570de69c26e1cde52d9a7ddba96673ecc14e5f72721f3af3a71c0a6c03169e671206c2af3187802f842c5ca5b0ae6dbe783949b3723c237ea35890b7a28eef0a222f84098ca1f95ffe0b7a42d8996ffe269f2d875bc2f46349ee5609ecb9bf5bf636848c6b42b60202ab71c47429f25c660addbc3c6cae36b7425432ada9f1393fb5a4dbf505bc701b54fe96ccafa916eb7edb3f0791934ebdb1bff76f7575d93d2cac639ce375054fc586cb3149000b38fc64a846bb46d5562be6000fc23dd6317d0d4e6f23e2b1d3a1c5b8b0497ff68c362e958d072ee41165fc6d3405d9a0d05e5bfd4878e2c9d6652fa8a91e32e2c1f0e296644d60c327b38e50e36027c5c95c86766327d9e4534c01ceb6a79d5d149a02764fc577d839733d4f767fd4df0672df6e0816de29dab7e7bde3752205cb1658cb2d2566986d4f5c7c0c6e0c9be2cead4a262da06ce94607b32844cc40a23c0671bb4074bd71b138b5425 +Msg = 979e87fd762d8f044553a56d47d7c262d04789024fed71fb8bff265b2d162da37fe1c71d731b1970e7ba8972276a6b3db439dd854494ef290972080736cf8515c05ca2ae61759e29e3531ab09b83c34f3496304cae1b0db7a5ca7a41d702ae52e176e05549236757c18520d0aa0a10c0d8c74afe956913cde86f45b11797f181 +S = 5a48fe3dbcfdf6b995f849d775ac51e56cde0f0b41c9aca3b035350f3aec027021b3337e4e21653448027ccbd6c83f6036dbfb028212afed26ca99c729081ce742005aee6cc22046f75a6674a4f1f3c1403553c4027137fb27b3804c0c72320d3ef0ef3afe783582947eec01f57a0131cef6781529758e332b162226ff6e347771a4d0a6f8a7244955deb552b976408730153d9008468c13d824111a1f162450c25c365e923ed055b30f747997e49bb5b8af283448b05e1e265366b94de3f55d135c063d45b4a9261fd1b77e295791b8c77ff5feaa146d7c474ef25257b7ce2413a4c0fc422d7f9395f6af256a3c6f5dfbe902ef5f4411034c1e5482d399bb6d462d8e42668715067ead9ad9b6609517ba64c70b3362e2a82abc61710b01132adf39c1a76726d667ac5553baeae28fd36026da0c04fdcd19104b968cf56492229a760509eb615b36a5d0bebddce3071b8dec3a0cc30d887202eedcd12327c798bfa92a0366664e01580840e58a63664c3878afc8fd101f010d8333c725a91cc0 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c3bc402a6dda13004771ad83068db2e6f427f9f7590a40291357e95aaefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +n = ce4924ff470fb99d17f66595561a74ded22092d1dc27122ae15ca8cac4bfae11daa9e37a941430dd1b81aaf472f320835ee2fe744c83f1320882a8a02316ceb375f5c4909232bb2c6520b249c88be4f47b8b86fdd93678c69e64f50089e907a5504fdd43f0cad24aaa9e317ef2ecade3b5c1fd31f3c327d70a0e2d4867e6fe3f26272e8b6a3cce17843e359b82eb7a4cad8c42460179cb6c07fa252efaec428fd5cae5208b298b255109026e21272424ec0c52e1e5f72c5ab06f5d2a05e77c193b647ec948bb844e0c2ef1307f53cb800d4f55523d86038bb9e21099a861b6b9bcc969e5dddbdf7171b37d616381b78c3b22ef66510b2765d9617556b175599879d8558100ad90b830e87ad460a22108baa5ed0f2ba9dfc05167f8ab61fc9f8ae01603f9dd5e66ce1e642b604bca9294b57fb7c0d83f054bacf4454c298a272c44bc718f54605b91e0bfafd772aebaf3828846c93018f98e315708d50be8401eb9a8778dcbd0d6db9370860411b004cd37fbb8b5df87edee7aae949fff34607b + +p = f38358fd53403a35aa6593976213199e6fd2fbd464b34ba6b6a39553492a7e74fe01e932fe4c471c8ddd1248ce2cba03924193487b0a4be9c880daad7aaca20a524223efc92b0b05560e71aff71a2d43e61066916dfea4b81ff7542b7b1f42ad165a95432897079f778f6faf9b2b80fd5fcfadeb5418b1e9778cc64907f0b474d184995f8a3507d63449101021efd9e8efdcba91d43ee53d1d489e6850cdd74e6bbc21d39fb95fdf80d9c2e61339a3ae3be8a67059183a3206e89ff41deeba51 +q = d8dd1ad4bfaa903afdffbdc9f71c1b1781b202a081feca7973b335633a6babb3af14e808d732e23dc4b6b73882ddd2fa72bac7eaf7c9d0e99a9d6c6ec6526e0dd8ee1560c6ee3e472e7592a24121c72d6f5b31c1da4ce0cc3736d614428c37231cd7ff1bcbec7608fe96da6d7c4f98b96ab7be9241161540a2dc3fd4f686e316d2cabc477937eb22e4f08c6955144835b80d1539c71534f8eec89ddf0cfae75bec943b96d7d85acae5ebc4a4f1e2f992945bab5d86186543be25260b9105af0b + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe3079 +d = 258f084036b7ffda1d0aa0373a50011dd976b7fd0ee4b889654b044ab241fb754675466909429b1acba9d9c1abf2e9bb494cea81c4ba10dcd1036f36ea81dc24ce983e3ae7da7cf810ddc05c96f9cc3a9046fdf58c9902172c7e53a1bced1b7884f728133be9b4a911023e3159d5f252f407a8080c88f122cf4a9e53f103aecb412cd44d9d53c145757b14eb85a5b0d7f8be88c56bb00e7357d43d6a828953f93124d1b39c0cc137dff2972a402ebfe29eb614c6578e102c61a6001833323d4b79bee101e76a9c59a358471b6225688584fbdd790a1e38a60a5f8bf647f7374680aa1d6cc0372fd12ef233bf6bf726fa4af45e1ead9b58df08f62aa76fe9fd9bb1a975bb1c4ddb9b005453f957dfe4148d2644c1c490877431b67e975c5e02b2dc408de09e531c05c0517311a5cfeb4165b5f44060bb3433fff6ee8f0ad3f559b8458f20cbdca84649f0c8a3b6989f676bc0fe4691032d2a08978f9053abf21c1d081f8ec32735dd1ff0407c3302bf55d167197dbe92c678294d5f1f832da5bb +Msg = e49f585eeccf2bf7265641fb8c0f94c717e2ff1d9045aecaa302d285353b991bf7ac5dc93b311ce9078828d268571ff909711e5c04553220f8f80f785cc405ca13e02f0d40b2ee765ba295538521663718eabe5783888c345519077a9751a1285fc236f2a25a8ae44a2df247887451c86cd646d7b3e7a44ee0ef23538eec557f +S = 4e85f68a5b06b06a17d0f3f27b3a5a119e7db02abc2d9b4afc698220da11524a885f33cd7a10ae89c98b027b69224acef4713a1463f168c8bef551ef8fedb219b6ad0b3e99d6216643e58a51bb2ae93bbef769614914eab137c1993b149171b8633f4a318f69772996ef7dc3f7748f3756d58ecdc3937632717fb40cb7ed6e5c72e172ac58ec01f4e32fffc445b60f98a628fc1b0fa4cfb6686deb125950b862f347e9eb8120fb2b5aa23d6d86eaf1edebeb133793541c4dbea0f14a9f74733da4ed11d1274d464e09a5780843d6750bace0e97029308287dd396efa0f32628171fc5ec20d3c82619b784e4cdb66cbdb28cdd263a46a3ec63e1cad7659dc3b33801432d2b5b5e10a770083b933a805a9c76cc26c912f952cec5fd8413a8c1adaee80149fa19855315075825292db24de325fa6bf3b4c06652fc8320def4236c088dd5ae43315e03672fb999c354ef61ac380b1b1c96d711fc777e345ccb94536355a321466eedcf2355dd51f688023d6b599390f3aff6201369d8103af926c83 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073b193 +d = 258f084036b7ffda1d0aa0373a50011dd976b7fd0ee4b889654b044ab241fb754675466909429b1acba9d9c1abf2e9bb494cea81c4ba10dcd1036f36ea81dc24ce983e3ae7da7cf810ddc05c96f9cc3a9046fdf58c9902172c7e53a1bced1b7884f728133be9b4a911023e3159d5f252f407a8080c88f122cf4a9e53f103aecb412cd44d9d53c145757b14eb85a5b0d7f8be88c56bb00e7357d43d6a828953f93124d1b39c0cc137dff2972a402ebfe29eb614c6578e102c61a6001833323d4b79bee101e76a9c59a358471b6225688584fbdd790a1e38a60a5f8bf647f7374680aa1d6cc0372fd12ef233bf6bf726fa4af45e1ead9b58df08f62aa76fe9fd9bb1a975bb1c4ddb9b005453f957dfe4148d2644c1c490877431b67e975c5e02b2dc408de09e531c05c0517311a5cfeb4165b5f44060bb3433fff6ee8f0ad3f559b8458f20cbdca84649f0c8a3b6989f676bc0fe4691032d2a08978f9053abf21c1d081f8ec32735dd1ff0407c3302bf55d167197dbe92c678294d5f1f832da5bb +Msg = 4621b17cd9f5b623fe73b5fe280ce9ac840805608acd6e41d55ea71132220c0df7e7c4159626f10d71882983f0aa2a92d11dc906c0b22cc028f4395d48f54e12894e33da0f614dd48ee114e65f95c7a7d3585e7cc765c00178d136aa99591faaa35ee6136d2e323ffc855c709c5426b32fc0aa0ac66e90c96efe84414dd5e79c +S = b60a4dd629d6030fe6522f6b754f0e751de4b2552c607efccb2f90da91787583b6fc51bcb60ab21938a48ca6ab3ef8ab75b56abb9df1faa4dbd84b412066f3f92bff778a89f7df4f55317cbc40a780fb87f0c844c2d64e232474a3e931c168b330866579685c51a5937a2e80ea2c6ed00fe123f14bbef55c9774bd620e1e821e0128cf49dab6f8853c08801c8a00919a6c013c3a83f999c66a5cb49c91865df60db8be813bc3d8b35d85d79cf01abed2f60f60edc97153780c0c12fe45e5e487fd959393079dbee5af46c0a7c4214fab75c5b5ddd6f0288669e0a9be33f4b5782524e838315cc031d97beb1596026f129a21e961dde6bc34c492f3026af7f503b8ff87b7775619f8d1e17f972c85940affbb64d3310fb9f74d9d16aeb077b8b997b18020eb992ab61322847fe6cb62f73d0abd81633ac5c5be6519ddbc9334bb56449bdf96930d65d8061db8911d4ed6a59ae8d2276d04596a388e752cf99cbd395b837e7c5aee278a7c4b43c78d3d74c88f49cbc8d816f53cca156927fb92d4 +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073b193 +d = 258f084036b7ffda1d0aa0373a50011dd976b7fd0ee4b889654b044ab241fb754675466909429b1acba9d9c1abf2e9bb494cea81c4ba10dcd1036f36ea81dc24ce983e3ae7da7cf810ddc05c96f9cc3a9046fdf58c9902172c7e53a1bced1b7884f728133be9b4a911023e3159d5f252f407a8080c88f122cf4a9e53f103aecb412cd44d9d53c145757b14eb85a5b0d7f8be88c56bb00e7357d43d6a828953f93124d1b39c0cc137dff2972a402ebfe29eb614c6578e102c61a6001833323d4b79bee101e76a9c59a358471b6225688584fbdd790a1e38a60a5f8bf647f7374680aa1d6cc0372fd12ef233bf6bf726fa4af45e1ead9b58df08f62aa76fe9fd9bb1a975bb1c4ddb9b005453f957dfe4148d2644c1c490877431b67e975c5e02b2dc408de09e531c05c0517311a5cfeb4165b5f44060bb3433fff6ee8f0ad3f559b8458f20cbdca84649f0c8a3b6989f676bc0fe4691032d2a08978f9053abf21c1d081f8ec32735dd1ff0407c3302bf55d167197dbe92c678294d5f1f832da5bb +Msg = 0897d40e7c0f2dfc07b0c7fddaf5fd8fcc6af9c1fdc17bebb923d59c9fc43bd402ba39738f0f85f23015f75131f9d650a29b55e2fc9d5ddf07bb8df9fa5a80f1e4634e0b4c5155bf148939b1a4ea29e344a66429c850fcde7336dad616f0039378391abcfafe25ca7bb594057af07faf7a322f7fab01e051c63cc51b39af4d23 +S = 8ebed002d4f54de5898a5f2e69d770ed5a5ce1d45ad6dd9ce5f1179d1c46daa4d0394e21a99d803358d9abfd23bb53166394f997b909e675662066324ca1f2b731deba170525c4ee8fa752d2d7f201b10219489f5784e399d916302fd4b7adf88490df876501c46742a93cfb3aaab9602e65d7e60d7c4ceadb7eb67e421d180323a6d38f38b9f999213ebfccc7e04f060fbdb7c210206522b494e199e98c6c24e457f8696644fdcaebc1b9031c818322c29d135e1172fa0fdf7be1007dabcaab4966332e7ea1456b6ce879cd910c9110104fc7d3dcab076f2bd182bb8327a863254570cdf2ab38e0cda31779deaad616e3437ed659d74e5a4e045a70133890b81bc4f24ab6da67a2ee0ce15baba337d091cb5a1c44da690f81145b0252a6549bbb20cd5cc47afec755eb37fed55a9a33d36557424503d805a0a120b76941f4150d89342d7a7fa3a2b08c515e6f68429cf7afd1a3fce0f428351a6f9eda3ab24a7ef591994c21fbf1001f99239e88340f9b359ec72e8a212a1920e6cf993ff848 +SaltVal = 00 +Result = P + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073b193 +d = 258f084036b7ffda1d0aa0373a50011dd976b7fd0ee4b889654b044ab241fb754675466909429b1acba9d9c1abf2e9bb494cea81c4ba10dcd1036f36ea81dc24ce983e3ae7da7cf810ddc05c96f9cc3a9046fdf58c9902172c7e53a1bced1b7884f728133be9b4a911023e3159d5f252f407a8080c88f122cf4a9e53f103aecb412cd44d9d53c145757b14eb85a5b0d7f8be88c56bb00e7357d43d6a828953f93124d1b39c0cc137dff2972a402ebfe29eb614c6578e102c61a6001833323d4b79bee101e76a9c59a358471b6225688584fbdd790a1e38a60a5f8bf647f7374680aa1d6cc0372fd12ef233bf6bf726fa4af45e1ead9b58df08f62aa76fe9fd9bb1a975bb1c4ddb9b005453f957dfe4148d2644c1c490877431b67e975c5e02b2dc408de09e531c05c0517311a5cfeb4165b5f44060bb3433fff6ee8f0ad3f559b8458f20cbdca84649f0c8a3b6989f676bc0fe4691032d2a08978f9053abf21c1d081f8ec32735dd1ff0407c3302bf55d167197dbe92c678294d5f1f832da5bb +Msg = 7867b65ed982ed6cdd2d061157be90f85bcd580350f1253145cba5c58946a8a5751c8c008d9df833c8acceee2b0a5a929cd7d0def655f5cb59f01cb4c47b54bae5bde0672f2ce7922ef86d82174b8256a4d0b9a31e72dc60bb66deff2b6b11dd6e5099dce8b7214eb71acd16440b6f0918c0fd9bf2ce43b71635d5eee79d48d4 +S = 0a617081dd9794c937e4c7163e2865439558d41e688b230c20a1ea71846643b8321d77cad582ec9a70f40d7a8ed9f722c5b9012f436c7a617ded2ad18643457b6fd33035fc2a2cbd52f3da4158015e01fab55b4e26e2de9602101ddb86e8d2aeb89bf4006933a11b5fbce2bd09e31fda18a82ec405910dd3d1cf1e465c176872da3db1c2b3089b48e768ef155ad5f56417497a648ed0427d45ecdd038d3cc8c87ce99a92f08c7641f7fa39ceb4ec83ece0994ac6848bb6efb4e79327145e5396b10faa1ac3a63ecd4a4a2c9cba946b0e5f185b2cd1a04293ee46393d374db8be0a849377eb11067ead3b76e514551d484d5c51544a1d0da96c17b5b2ef953dcdc1c6d592030e468eb8186a5bf660b71da5d982bc5424cf1a4f8ce952bc763b4eaadb2a3f787c8af01df2f43db5e0ad711824acece2d99d5bf9fdee0fdf1fdd370ec791a946a4b6af20b277479a838776e9c09230c36325b8c8ef84db282fe89ced24b0d7869b5d246fb3c60fcb261309897714e870195b9beed0b265800fc6e6 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d0609608648016503040201050004208eb06367353f71cd11856e65551a2c385d2b0019affe98d44de38ca921b0ddba +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073b193 +d = 258f084036b7ffda1d0aa0373a50011dd976b7fd0ee4b889654b044ab241fb754675466909429b1acba9d9c1abf2e9bb494cea81c4ba10dcd1036f36ea81dc24ce983e3ae7da7cf810ddc05c96f9cc3a9046fdf58c9902172c7e53a1bced1b7884f728133be9b4a911023e3159d5f252f407a8080c88f122cf4a9e53f103aecb412cd44d9d53c145757b14eb85a5b0d7f8be88c56bb00e7357d43d6a828953f93124d1b39c0cc137dff2972a402ebfe29eb614c6578e102c61a6001833323d4b79bee101e76a9c59a358471b6225688584fbdd790a1e38a60a5f8bf647f7374680aa1d6cc0372fd12ef233bf6bf726fa4af45e1ead9b58df08f62aa76fe9fd9bb1a975bb1c4ddb9b005453f957dfe4148d2644c1c490877431b67e975c5e02b2dc408de09e531c05c0517311a5cfeb4165b5f44060bb3433fff6ee8f0ad3f559b8458f20cbdca84649f0c8a3b6989f676bc0fe4691032d2a08978f9053abf21c1d081f8ec32735dd1ff0407c3302bf55d167197dbe92c678294d5f1f832da5bb +Msg = 4d36eb2c3ad233436923e580faddb45ad35967108be8d99a876745df6213c028929f07d549847b4f9a996a3ddde390fb54aede470fdc7a3e0c7e0688a3a125cf216a3b75b4667586871b0aeb2de3c0e143fab1aa51d54f82f2b5a6d5357de1af42c01074411f28d177d24bf2b2844af6e86469a01b79624f7f35ac30df4efcb2 +S = 8138922fd1a87333f1316e207e5851af65f27d9f5cda0f7b7cab0054a2deab0a5c246f1834b8fa0a9ae755b6add3b6dd93c694fa49bea28a5635e56d9841d283320e7a6f9812c102a60fc2505a081ee3849f815191b9d7a6c41db67aa1a053f22d1514226aad3922cb0b5be7dc86d6cd5daf28bada179fbeda50372bcee5fd8b567ca1826b081cc0e6cf58cd7ed935c6922b924bedd7e4f3d48f1995a56bb1d8aff5505ea97c56cdcbaa8e93254e8c6a39db1276c6f53a6551f162f403182b4bca892a6cf527c4f96296b2ce17ffdfa0347d5290940d81ed99a3e8b00e859dc0bcb83e90e9cd9a5b64cb9db1f3f01d26d08835ffdfe4053d9c7920963b07fb199e5c01d44d4182586104850213f8ca60c0081e62b5fecbad7eced93c35a1374d27b67150ddfb44ac68f6aa00b55e38e681b456e60655261d8dae047d67a4ee2c55ecf213571da1df549a4889ea3a285b5b2fe0707d74d470c7ece3a21526f5d4af7085dd11e6af405152a05110fcd6aa06ce93f1d2baba3ed5db73293f977ef1 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d060960864801650304020105000420d04907133dd2665ff0b60121095c04a990d823d3de31ebb82aad98a32da16936efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073b193 +d = 258f084036b7ffda1d0aa0373a50011dd976b7fd0ee4b889654b044ab241fb754675466909429b1acba9d9c1abf2e9bb494cea81c4ba10dcd1036f36ea81dc24ce983e3ae7da7cf810ddc05c96f9cc3a9046fdf58c9902172c7e53a1bced1b7884f728133be9b4a911023e3159d5f252f407a8080c88f122cf4a9e53f103aecb412cd44d9d53c145757b14eb85a5b0d7f8be88c56bb00e7357d43d6a828953f93124d1b39c0cc137dff2972a402ebfe29eb614c6578e102c61a6001833323d4b79bee101e76a9c59a358471b6225688584fbdd790a1e38a60a5f8bf647f7374680aa1d6cc0372fd12ef233bf6bf726fa4af45e1ead9b58df08f62aa76fe9fd9bb1a975bb1c4ddb9b005453f957dfe4148d2644c1c490877431b67e975c5e02b2dc408de09e531c05c0517311a5cfeb4165b5f44060bb3433fff6ee8f0ad3f559b8458f20cbdca84649f0c8a3b6989f676bc0fe4691032d2a08978f9053abf21c1d081f8ec32735dd1ff0407c3302bf55d167197dbe92c678294d5f1f832da5bb +Msg = e2a92b143c8a006cee8afebb663119745d26f4ffacaa535c6165d30a1265d9277164c8d8214977ebc8f2e2bb66311f54e51494d8f16a6822098237a8d6360aa6bc288679b04c634849a720ea1956f5043dd10a723371e6e9ec302ada22b17f99ec80cdbe909aaecc9830221028a884cc8ee5bc951bc8b7fa31f614669edc2048 +S = c81ac394f82cb27d75950759224b1787f87225ae5549be13dc1f74326eb668e5e09d03e03ecf039fd08dc301e70bd07992b20a2757b5766bf622052d69fbfbfaca964da33af71c8787eba9ed5caf1bf86e48587d26b21f9f1be601246e1d9cdcea9af7796ae30dd6bcbf1b25734f89e86ae9051c7a2cf3730914406f1541beed812ac6c9e18cfd5bf265523360018860141bcfc51c89ef879636ae2d7f7e41e31337f7afc3e201c6805a76af89dc9ea77413be1f1338e845e9d16cf86e5e04a52d8b579421296fa702ad07ecbfa0237ac996ee2e91eeac8ef48902a76c947b501e265c4b3fbd0c516a0416ea13c79b7e5d5b9435aef3f371d38ff9df8fdded2f265b27da5a84fe5443635e260807db9a1551387e6c9c596498d280d9170daa62954ed32b14d044980eca76a8db63483d8c4cbfa669ec140e7c4a304cc15e468d96fff34d77692581b10e7d25ef075d652758f50e9ac4cf9848466388051518cf93e183f910a4f503fbeb654f4b9424dbadf61d2d50f60f8f02b4ea0e7bc3b398 +SaltVal = 00 +Result = F (3 - Signature changed ) + +n = b125fc054e1b9db3b98212f53840690607c110bf31e18871fdfa13046496a2e73b3204f33bf8350f841ba94f511cbb2f40587b147a820fd166213968e8fff9fa4be4718a672f4e9321455c56d5e4e09d4f8b2c690718bc46108de269857bb4145c86cc75a4bd55f972285e4054b9fd13927574e63690958177784b39b17083bdafdd3ab8d327dbb9da93fc5cf9375205566242bb30246254ddf04c526f9141006fbaffc268bd2fe9aaa19581bb1c19e77264b08670ff3fe2b543f47a7af95bbe94b99300889b8ff07b2a44d5e9e229e33133b58bc7d2b8eb92a3bb6c035f8891d3165284e9ced25d6ef19a8135d06ab889f7627318cb043c89d90667cb92d1318880107ed9b866b10fa9af2225a987827e866c981f0c4424740fa71697ba9933a91c0d1fe83efd8e7d6c8287de72811da7fb4fcbad42637f0df47482119a07af9cccc993537cefe7892054bc2ce20021e9e37f391ee57b66c40dac49a346a54e6416f4e40af67b7190d65f497febd7d54f148fbc4850cd7de200cbfab53d05fb + +p = dead2b9b604074d5b3ffc1829d124fae8e0f32bf1a880e7ea5b87dc754f02705488e2e74da27ee427d948977b881c0878e32600c814aeca06597031294e5363046d0df46f28da52d6332e53eb4780af1579d2a508f1f3d99286cfa0253cac2db2095b5278a691322ac87f7d62ac0337efb2e69479b0bbf29c75b62ab89a019ac2ef3bb63e3ce0131e8d2ae59cd291dcb8dc302d39fc5bdcf98b082ee5084fe01ea33743376291866dc01327e229466c9570bd2267d4554be4d4fa6e19a537ed3 +q = cba89d454c5617d46ffce2149bd960fdea8549c3149288dd4355297ea25658b034e4395959a02047f2d50174c5242a31d270a93edc8dcdf24336b8d19ad5357eb3b576d541a6cb777a565ee3f8d12346298df5775d347e1e115b7086fa2ad671ef31431506b77e2778d0a7d652ce98147c0f55b83e133c0c5962124d134bda6e3bd9e64e77c07b9f8820b3eef30ca0ce45e5f915ae3033d5c649fc599548e2abecb06b312464b294ce5495521a2ef162148c478dfd2c6883b9803544e47f7339 + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147e73 +d = 07c6b58c1a52f07d2bdd24eb701f47047f226ac61f42b42da3e82b1704f5ed936f9a6823c08e161c578850f54870ebcc153110b2c9d57afccd14bf9e1e00765c6692db6350ba2013c043d80203d622f8aa0353049f945195ffaaf4123bdf524bc9b279ea631e40163090df167c2c86a7cf9c4e9d56d3bc5a2fed203a00d258ae2fbc05a46dc126d4ebae27a34ffd1a456960e87ac2ccd90af2dd7db1a5c103214b36449cda7a5905bb8ded7f330cf09c23e885a27f3fca36e3738f44f6a3d4f71bb9f68ed63ba9c8c292a739eafe9ce09042318dbbe6fdc1de4d239c7157de5bfa74a0a26c0d160354a87a350b8ac729594eb423a9deadc28a4cad801709e94f36af0f51bf4c0355edad244aeb27a0faf8a63b17af293bfc288817d6e156ef492851eddc58cfe9829f0240b29183a023049608caf5a7aa907e92ec8f8bfcb7e8ab9e42b3d8eea14bdd9daa58448a64ecf1347964d333582e9701507c3edaea07b4fe4eb3821c1dc270a9034b2ca18eab84c8404d162dac6516a3df6aa6d576d3 +Msg = 643e40f3636d706e1337bcce6818c10a104fcf06ed87f859c8b667534446f43f1073f5e561f45653a0ddecdd5fc40663922245d2fcfdaeede7c4fe4e187b3da70217964e3a2c66f92bc593c60b931f7e0e4bfd1ad94923863979e0a615777097a1f5ce37d55ec9e71eb85a8f53cf35e3ea909ee56cb37eab269db6632284b394 +S = 4b1264459b5d4066370a09c8e2047911d542e800c0ffc3276bb2d88c74cd16591c0c1c85ac44e08c74849c2d8fc287f5e4c33ebc7bf781fa0e89b4d7ad8e0a0e4e450c02e48cea826f19a96a9873407d131375e99fa2ad744ddb3972f3ef5e3a5bc7a6dc8701c93821bfb31adca2e6cc8f9fd375290b991e5519efba5fcaeec5eea24b671a6c23b6ae4e203c0d0d27553946d1b2fe55b43fba5d321f0ddc07ec9cf72aa8633f8f666428a637fb2b10e7fe9bb81f24c5b5750036d6898d18ebc358a63803ec2b67f516b36321b343f960a1b8db943ac0440c006391dd64e09f6bc3c1d2e2e2cba781a161f0aad3415a5b03addf637060cf0211a02094a1f7b07d443a7ec958abfe74436330a2a8c7c7ec86f91bffa9c35e1e8d3683307e33f226f9645ea66ab59ece99a0496698ecb8926e4772b307110f64f8fc02ba7076d288d4fc1481259ccbb7eb35afce0269f279f68433017622130f62e91851d14bb7e6bb648c00be485fea37bce55ed78575fe12ac3137df34722c0f2e992628c525a1 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d060960864801650304020205000430a11c6c2b9402d3046c89da66ddaeff2341223bfea38466b98e3c3ec4bfbc0155ca642c1ce630089f2154c8bf97385857efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147e73 +d = 07c6b58c1a52f07d2bdd24eb701f47047f226ac61f42b42da3e82b1704f5ed936f9a6823c08e161c578850f54870ebcc153110b2c9d57afccd14bf9e1e00765c6692db6350ba2013c043d80203d622f8aa0353049f945195ffaaf4123bdf524bc9b279ea631e40163090df167c2c86a7cf9c4e9d56d3bc5a2fed203a00d258ae2fbc05a46dc126d4ebae27a34ffd1a456960e87ac2ccd90af2dd7db1a5c103214b36449cda7a5905bb8ded7f330cf09c23e885a27f3fca36e3738f44f6a3d4f71bb9f68ed63ba9c8c292a739eafe9ce09042318dbbe6fdc1de4d239c7157de5bfa74a0a26c0d160354a87a350b8ac729594eb423a9deadc28a4cad801709e94f36af0f51bf4c0355edad244aeb27a0faf8a63b17af293bfc288817d6e156ef492851eddc58cfe9829f0240b29183a023049608caf5a7aa907e92ec8f8bfcb7e8ab9e42b3d8eea14bdd9daa58448a64ecf1347964d333582e9701507c3edaea07b4fe4eb3821c1dc270a9034b2ca18eab84c8404d162dac6516a3df6aa6d576d3 +Msg = d55869d6623971fa7c90b597b40354195106fc488a46bbcdf84812f14a4d4ca93b7a0dd0c1352eb387d2c8d29e6f8fe5701c621ef54020ae2938bc8abd40946f0c97fe2352de24ff18c113aaf3da0e276ed2281245ca1226d4f93103ce96f32e32f8645a7bfcfce618a7bba61b0c79e6357077ace2ad393ee1d498e4e71613ef +S = 9c2d846eacd75c81b7cadbbb0667f58ec2158c64ddbbc2af078082aea4047e30a59e74c3b5a58be9553253a7d8bd4e527a0daac1bf03f3bf7ce5cd8d20443eee2ee89a78c0692c08e3c452aa48b5aa76b31e00518e435fe8e7858229891ea0c16529ab09e3801b07f3ffbbc54bd821714ee90788d61f60a819d00ff40914e7aadcc596bae30253f495adf49ddfec4532b824e8866e39406c0021914f267e424ffc589440bd847baebf346608978bab8ab4795199ec755ac6151bf9466c5b085812eeda9f16b4dc22fef2908231bfc31211293374ce6f7d681959455c4cf0b6660895dc128a5bdc8445a0811f2e372123e5a21fc0638da5f26ae270930d2e096c6aa2178a4d84040e3de195cdbcd6940cbac0df96ae273a232a4c5a3fc2a2bb7e7b12e9c49d95ea2458cc7cf23ceaa2c8ce423327de1ffaf6ea6413a8843316418c2ae714fcd07f75c0e557c71229c137e0160eba1c29f2098245a8623ab1e05612485d0764448b2149ba1931513dd31b7ceea80549c26ef166d0e3aeecf7bf61 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = P + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147e73 +d = 07c6b58c1a52f07d2bdd24eb701f47047f226ac61f42b42da3e82b1704f5ed936f9a6823c08e161c578850f54870ebcc153110b2c9d57afccd14bf9e1e00765c6692db6350ba2013c043d80203d622f8aa0353049f945195ffaaf4123bdf524bc9b279ea631e40163090df167c2c86a7cf9c4e9d56d3bc5a2fed203a00d258ae2fbc05a46dc126d4ebae27a34ffd1a456960e87ac2ccd90af2dd7db1a5c103214b36449cda7a5905bb8ded7f330cf09c23e885a27f3fca36e3738f44f6a3d4f71bb9f68ed63ba9c8c292a739eafe9ce09042318dbbe6fdc1de4d239c7157de5bfa74a0a26c0d160354a87a350b8ac729594eb423a9deadc28a4cad801709e94f36af0f51bf4c0355edad244aeb27a0faf8a63b17af293bfc288817d6e156ef492851eddc58cfe9829f0240b29183a023049608caf5a7aa907e92ec8f8bfcb7e8ab9e42b3d8eea14bdd9daa58448a64ecf1347964d333582e9701507c3edaea07b4fe4eb3821c1dc270a9034b2ca18eab84c8404d162dac6516a3df6aa6d576d3 +Msg = dcf645e2201c3144ccded7cdf843326481ff3105019a5308fdcf74a66033e7b92817c4c360ae83324e73cae2edc584e49ed4337e1ac18772ab012f839c03ef36ed12f3d64c7c63ba41f437cba9354d4065e8b8ac53c85c3b7d04b83891e402d392b07922cccef7650d2ac58e12dbb4014003699895f6f9eadd9fb6cd29204819 +S = 0e7a238a1eeb14ed0aeef74bc58feed30afaabd466b13d91b72283a694b785d9a31552b60217d9721197409318097335961d234c9cb6a86bdcb72d6da21951c70461858907336f52e82e7d44074980373a5bacd08768ab9665624c8df9f09363daa823948b4b6887a69ab7eb15d4afcffaf8a1499ab12de74fabbc7c93ec60f66b783d8395fdf95fc3b417222882c91b40d249165f5b60b29da2320d2cc3af8a1c148af334c404d9fc248034888fcde6ac99411995f6ee8a1479def7857307b0b40498a56e64929c81d14a7a91477935a37311e30600d418dc07d6af4cd200ae88d5ba69b2e96bcf993d105a18a1f7e8a56b372961ebd729a76c15e4297ae4bcdb5ef2e7242e30ab9dc13442440310de6bdca48b98d67bbb2ab07822b3a9d5345b4509bb3a82c387f354f4cb19bfda50cb88149f0cf4d8a668458309676c4c7a1ae950ef5a5830b4c1d0592ccc875a46828e617608023f1db249e9cc13e8c0a28b0395465e5870b96d68ef2e254393b04bfea234ea3fa46c6d53d3c5d51640d1 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147e73 +d = 07c6b58c1a52f07d2bdd24eb701f47047f226ac61f42b42da3e82b1704f5ed936f9a6823c08e161c578850f54870ebcc153110b2c9d57afccd14bf9e1e00765c6692db6350ba2013c043d80203d622f8aa0353049f945195ffaaf4123bdf524bc9b279ea631e40163090df167c2c86a7cf9c4e9d56d3bc5a2fed203a00d258ae2fbc05a46dc126d4ebae27a34ffd1a456960e87ac2ccd90af2dd7db1a5c103214b36449cda7a5905bb8ded7f330cf09c23e885a27f3fca36e3738f44f6a3d4f71bb9f68ed63ba9c8c292a739eafe9ce09042318dbbe6fdc1de4d239c7157de5bfa74a0a26c0d160354a87a350b8ac729594eb423a9deadc28a4cad801709e94f36af0f51bf4c0355edad244aeb27a0faf8a63b17af293bfc288817d6e156ef492851eddc58cfe9829f0240b29183a023049608caf5a7aa907e92ec8f8bfcb7e8ab9e42b3d8eea14bdd9daa58448a64ecf1347964d333582e9701507c3edaea07b4fe4eb3821c1dc270a9034b2ca18eab84c8404d162dac6516a3df6aa6d576d3 +Msg = f5e7010e4829c855dd6c3c84f57a50cfbe5b3c9fd4c9229e07e4f10d5f278a5e5d9b21ff844ae67418f7e5a8260c2b85c4d42bc29aea60fca1f233092b861e89247312bd9726169d7361322490338befed26cf063cbad3faa0127b30b5eedb7cd1d99bf189a4a0f87712e8a03bd5b635c0b9f014c120c5bd8bae922a04450760 +S = 5f231b5b8e5804698ac2931b612c7087462f296502f7cfb95d8547c813004ddc1c01de04ab900a2606db31f98bad9d43d6ce858d7413f6ca48df1214c348725507d86b19314aad2be754a91ba551e156707a991e93f4e49e66fc82ad34d1f36ceaba9b781df4b277f62f5072652ae60a6525f6b28a77e144edcd4f596dffc9cfc6ab235ac406c7d5fe3d364e6c4df5e2e50c0e9931f3ab47fb41bbd0ae196f938168f52f3ca4c6290968306044c236792953a2e84e2a2738f296c032d7a0699849177cc6495b27258820f8476c4b09e85e30515bb9bfb2eea6bb04d90f6561f5bc5123df8e6d276feae3f66367c4481b1f72b38f51529972d9259dbbdbb2f04b028d439520c72abda8f04d7b277831591d2d6b6398fe15fc5cfd0b854f4effa0a77e39c1e596a466e2b184c499e2b15aacc5f6bd4c74a58e346bf6f5aed5343c300c8f71545d95d2276d54de2b6e23aeb8f5247fa6713e0e528e35cea82148ac4c72a654380dff36e4ff0f2b0a14dc271e87fa711e915855efed24eec15700fb +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d060960864801650304020205000430a4c33a1e90496ff7aa42572c254b67ec52c094e0158d2b5c0ce97ad8a0d4876f09beda1a2f340f6cfd249e9feeb6c825 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009ea299 +d = 07c6b58c1a52f07d2bdd24eb701f47047f226ac61f42b42da3e82b1704f5ed936f9a6823c08e161c578850f54870ebcc153110b2c9d57afccd14bf9e1e00765c6692db6350ba2013c043d80203d622f8aa0353049f945195ffaaf4123bdf524bc9b279ea631e40163090df167c2c86a7cf9c4e9d56d3bc5a2fed203a00d258ae2fbc05a46dc126d4ebae27a34ffd1a456960e87ac2ccd90af2dd7db1a5c103214b36449cda7a5905bb8ded7f330cf09c23e885a27f3fca36e3738f44f6a3d4f71bb9f68ed63ba9c8c292a739eafe9ce09042318dbbe6fdc1de4d239c7157de5bfa74a0a26c0d160354a87a350b8ac729594eb423a9deadc28a4cad801709e94f36af0f51bf4c0355edad244aeb27a0faf8a63b17af293bfc288817d6e156ef492851eddc58cfe9829f0240b29183a023049608caf5a7aa907e92ec8f8bfcb7e8ab9e42b3d8eea14bdd9daa58448a64ecf1347964d333582e9701507c3edaea07b4fe4eb3821c1dc270a9034b2ca18eab84c8404d162dac6516a3df6aa6d576d3 +Msg = 961d11d02fea2179ead83fa51684e5f4a2b804a898e2a3b6e8c4c91c676c9e761767cdcca9322caf40f19f8478633a1fa716a59463d7c549446d9850ea8761f442f20692060fb6ab8385ce369f33fe3b1a69a89d14578838d0c59a2bb7053877a02683ca4e6b05953afb956493da7a6f8418d36cb54936a814359756d5d06b27 +S = 28e4ee2583d359cc91cf56aacc9a9fc560ee09842fc4fd66433f383b67f4356167c799e6446ec0939691a78947c072c1b071ab15c4c4de6d124550139d6b61c0c8370b725a9a06704592975d57fd3d8b3d1867d5d69a0b5580316f211f10ec4bab68a2dfd99cfc31cd3c5c2b87eac54ec482a60ad2b0cb1fe62676e5405459a6c010c1b9e81caba0a82043423adca1cce0037e444572b092c5eb060b020937948ac798b41c55a183af7ff1c118ed778a140acf7f17894ec6d39de22871ee0bf2fc97071a9662663e62609b184b9e78841f0df34963b228b4b13e5a059ed1f113f14ab65fb95d79a904f4d9c47d619a37b2170ab2d41daf64c39117ae5cfc94a79d055b63485c7681eb4aa4e3c044e98b95fcdebb9bc24c907635c77333acda3d5c1fb9c79ef99910b889a1c7eed7953c07ae9d234c3fa53d627b7fd89b5321c2e8c3f9038fa8391095ddaff9b9ca533e42554c83abf026974a82c95c6d55c842b2a39df9c5faf50d29fef5d148017c42bf41e7de2073dcd5d8a6f7029a19dddc +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147e73 +d = 07c6b58c1a52f07d2bdd24eb701f47047f226ac61f42b42da3e82b1704f5ed936f9a6823c08e161c578850f54870ebcc153110b2c9d57afccd14bf9e1e00765c6692db6350ba2013c043d80203d622f8aa0353049f945195ffaaf4123bdf524bc9b279ea631e40163090df167c2c86a7cf9c4e9d56d3bc5a2fed203a00d258ae2fbc05a46dc126d4ebae27a34ffd1a456960e87ac2ccd90af2dd7db1a5c103214b36449cda7a5905bb8ded7f330cf09c23e885a27f3fca36e3738f44f6a3d4f71bb9f68ed63ba9c8c292a739eafe9ce09042318dbbe6fdc1de4d239c7157de5bfa74a0a26c0d160354a87a350b8ac729594eb423a9deadc28a4cad801709e94f36af0f51bf4c0355edad244aeb27a0faf8a63b17af293bfc288817d6e156ef492851eddc58cfe9829f0240b29183a023049608caf5a7aa907e92ec8f8bfcb7e8ab9e42b3d8eea14bdd9daa58448a64ecf1347964d333582e9701507c3edaea07b4fe4eb3821c1dc270a9034b2ca18eab84c8404d162dac6516a3df6aa6d576d3 +Msg = 00d76dc429af281012cb92d5f7c2fafcaa73ce043fecfa01088b70e5c46208ff13e08bc12dae0ac6d4d87514872d699ef9e8480dc1908fbf531c64102f5b6fd95893eb370869fd8ea20044cde865b1f36e2b99d24e5208121e6e597a1f04036bb738b6ad22a5a76f648d288882327b03f183e8db4ffb0d0351c776a9fd276dbc +S = 619652bcc22cac5046e8eac8694e0ccda00a7ff1afbab00ef5e971a700499b64eabe6f80102687861e7b8466ca32eaaa87e9a0d143f75dd7fde50b0195a035d4db443045416caa3d51410c66137ecc63e6d0568f76769045ecd66a3512b246dfd296397aa41623f4ff67a67b42b9ff692dd4b9e4595aafe2e7166eb02fb3d13be0f22f5b6c716ee0bffc8ec3567e14775f98ef1f0a6b96fe092be0a6d243ff668045d42a72173c702fd0e19c23093497ccee3ecd7c1f9afc876906b498f85c3b3c0a88dd5988a9e6186d3fe635fd7313bde1aeba873901f10f30ccc2d6f91dcaf64a6d9a95028b1236e9b5af2404f4c224388ef39801eb4b50902925741d3ee50a4d309f920f1e823bebac39312243f66a3f0648db6411612e6c881b4e44920c7f19d7fe5970e1508f2d6cf662d313560a5219973e66bc54bbdc7e05ae3b46fa7c70e5af4d4e379a34fb6794b7d83c3edabf36a080b3020beceeeeeb948d36d157b3e2d27e79f8a9b2dfd413655fb71e68080924a7fe8401538a3e90fb1cdd83 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (3 - Signature changed ) + +n = 99a5c8d094a5f917034667a0408b7ecfcaacc3f9784444e21773c3461ec355f0d0f52a5db0568a71d388696788ef66ae7340c6b28dbf925fe83557986575f79cca69217221397ed5808a26f7e7e714c93235f914d45c4a9af4619b20f511ad644bd3412dfdf0ff717f7aac746f310bfa9a141ac3dbf01c1fc74febd197938419c262293505c35f402f9053ad13c51a5960ecde55ec829e953f941af733e58705913767e7a7200d1d09e7e7e2d269fa29a558bb16304b059f13f4ca560a8101fe3720b4a779ec126427326caa132a3d3611d7dbc50336fac789ec406b397e1e36d7daf9b624bf639c82b859288747690c730c980b2f5a239dd95ad5389a2ec90c5778604713710383ae55d4d28c06d4ac26f0d1231f1d6762c8e0d918118156bc637760daea184746b8dcf6f61db274a7ddceaa074937ababad4549b97ab992494a807208abd789823f5d75c4b994089c8072cfc254e0d8202fd896476e96ad9d309a0e8e7301282f07eb2ae8edefb7dbbe13b96e8b4024c6b84de0a05e150285 + +p = cc48370c53ff217f17dc2b3711cac4fe198d73c66d01eecf1ac305272e5f377d2af3aee18de176d42b918711377e762b57125d3e59b20d4a81219da3436b32b496984e9204f3044ef416fbf7194e9517d393c76a8301ceec01ddde824cbdacf78ab808b676ec2d36c9c783acf64e311a2e4e7d5969766b86cee69908ade0e7d5dc2a405ffec00917120bfdad40d19c58a5b02e95f1c1e378a83fdebfd59bb87d634e2dcfcdbd1b555e35fa48a636815d3d50537cf6128dbeabfe4d54a7352cd1 +q = c08be1f818953b7fe59867326548613195f6a872f59df3afbe3db48dc793407fc43a3652f94e57beb0f00464d3a23f68bec422273d5c5dbd98998e42b3c0fdfe3577468ed6146ef15e702ca9a2bd848516846eb7f7ba6486a3907ff10161f5e18589b7ed5f1377ca74bb99b5ce2c6428b3638284db5a4f632926117202de2528353f30b469f7587cc019edde7ecd5e97acffe442fe0594048fddc7d0d5a629b9d95dcdaa33288d1653b33745130aa7bb68e67c5d7a2161bd6f1084d860e4d775 + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a649 +d = 03b1905b883ea9d32a37964cf2b3199cb1ee5f611ff2aa163269942b35436a4a708e7371857b603fe84e437fea0fb9c19cb09b3c39ac82faf73f120ab2dd49570ed9c43c70f430204f77743b295123218a5b1283dadf93cfe37375000fbe64a53fa4e40f9a8e40373f759235665ab1f84dd2c8a80a8c1830e7d682bdbabcedf322e6c787cd2084ab7527040e785a8ef862e02566995e3a3c1db9ff0460eedf807839b80170fd4fcbd0850424907d8f28652cb7e9d37e1bda2eadb889e5550f3c4901db4db5775dd9d1e863dac1e5d947ef0b7bcf746cbfd3e6000f4092b0b1eea73d154311b51bde7e4dff4a5fcd89b8285345654c4fc697534c794135fd85e873656efe2d9028c736b46c591f4d5ba13b44bace0b397cc17f5d779395059c59d3645293ab0d63cae4392023619ec57dc433932394a9f59a690c0dd1e11cf092ba541c55f3fa8924d255a168c3ad26e6b4e5e050026f650a2acbb1eec574cc8b14470b7d3b122b0095720f97c6175c53e76036d5e9b6a2aaba7631ab3b7b8ae9 +Msg = 4d44665e0e2987cf7dd1e9d6200151f500ea3b85a24f72fb38e5dd6919ff9c486f6a54742f96c6784ff7a70c33ababdc685de48b94694af8ad419bc06a0f6504f79c606ced70026b813b4ec5fc73ed4f6b3f7ff697943303379d959e6561a8904fa0354d2ffd62317d63860a62a13cd77157b7cf921655a53ec3760bf23c8e75 +S = 4f48e51a041e40a029d586cb7afd7ec11031f86d7bee58fc13a9227dd209f1d7becf3209cd43055e93165f04f23276d46b0b64669b88c2ba54ad6bcb5e9da81810014e140ed0a14234b1fc0fa4cfa4f258a7b5cf73a336534f37580a3830875f3119092e4854fa80d87833f7e9627ab51e056a8deff3a451e8aad78335816b53ae0d899b0607403bf08e8c32e1cf0baa8fe0d78d1b8d72f85f17c1c5b8870cec499497b42de982408fbadbe3b45a13b4b5371ce2a4d9600b7d14011625cbe73a79313954f4f3ec0b3bf6dc945297325e3aaf5bc89a27670f5b2536a54caea3bc6641ae628a9a4da61de749661a93b6ae68722d10d7902b391f9e9ebf3ab9c186017b52eac6fd442a256fe7c9500165e3c7a402aa0174e6b6f35e4e12e35a9d429b21f6cc98eba73c80ed8ac33acd79488e620b274923e78ce5d91a6196ca59054fa77cd67e0d3fc04d71b94b0cda5478f1b3d69150f40927c1ab392036583609d8efda3fe48643ef2f75f1164ea7f25589b5bbb560c9a042408f85944ca08f92 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003051300d060960864801650304020305000440d64c9124eca8a8b62a6a64719fffff837c2c91a893ecd33375004cc42aa5cfb44de6ecb57861ad8c5a5cd0c2733d0e2adb3b81e050f7b10829b746b9086403d2efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a649 +d = 03b1905b883ea9d32a37964cf2b3199cb1ee5f611ff2aa163269942b35436a4a708e7371857b603fe84e437fea0fb9c19cb09b3c39ac82faf73f120ab2dd49570ed9c43c70f430204f77743b295123218a5b1283dadf93cfe37375000fbe64a53fa4e40f9a8e40373f759235665ab1f84dd2c8a80a8c1830e7d682bdbabcedf322e6c787cd2084ab7527040e785a8ef862e02566995e3a3c1db9ff0460eedf807839b80170fd4fcbd0850424907d8f28652cb7e9d37e1bda2eadb889e5550f3c4901db4db5775dd9d1e863dac1e5d947ef0b7bcf746cbfd3e6000f4092b0b1eea73d154311b51bde7e4dff4a5fcd89b8285345654c4fc697534c794135fd85e873656efe2d9028c736b46c591f4d5ba13b44bace0b397cc17f5d779395059c59d3645293ab0d63cae4392023619ec57dc433932394a9f59a690c0dd1e11cf092ba541c55f3fa8924d255a168c3ad26e6b4e5e050026f650a2acbb1eec574cc8b14470b7d3b122b0095720f97c6175c53e76036d5e9b6a2aaba7631ab3b7b8ae9 +Msg = 1abca8d81cc98a5d5020e95080b5fce59ffe70dcff544802c49de7fa99286b3da1d83d60b085e696bc9f25758e143efdbd7494d6dd547ad9f4f047d22d14a884d13c3bee72fa59cd6a98336284fe2075f8d7359a9df017b35ae00db6ddee59b1902fc90bc9ef890c42523b9fc83b4957376d7ab1a5f1c499deb7622f118026ca +S = 85e15765a401c10d86acf3a05fab14e05487b793569ae680f77d20c25b1763d184634fa0b01d979dce9d803670d7f9f6adcd59476fb1c8c3aae512f94a9ccf6e573aee6a28c0dcfd2dae8522685f03ecec8c045036d1cb054a086454a28326d5319bc7004bc87c7566a56852558f583a38a4e7e7be7981dcf3ec41c12345f845409792ed87b3f1b8fc89c288a2968e73273a36f2b67258fc67e888608566a23a6a5645328f1edd8c105993b486eb3335232212a1dcfd5da40fb3902fd2cfa86e8588eb3c40df8d9edf3c41934ce91b50c0d5ca1a3840ca40e3c841b39520cb5e5654af3961ec9408d22edb345027eea7119dd552656342e316c60c5f5da028308b031bacc74d1fdd6907bc6944fb856082cb14f12cb509ca4efb516ed0c60896771b478442026913e61a32611dde1a8807f2e1cb76d0c0c69c705beb8fe713e848cc03b1ef8965267cfc3ebd43f0001b33b9e9ad418ee0d592f184d202331d4b51a96a17b014d47138f28caa39d9dfbda60894956d0c043e4292877f044b55a2 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d060960864801650304020305000440c32aa83c73de76bd94daa46ba089578accd75a7293ecd5bc614e876e478c01a5580f7b9e0ecd9009ccce295c7880a6a4e342e9698833c24c98027df800fdc262 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a649 +d = 03b1905b883ea9d32a37964cf2b3199cb1ee5f611ff2aa163269942b35436a4a708e7371857b603fe84e437fea0fb9c19cb09b3c39ac82faf73f120ab2dd49570ed9c43c70f430204f77743b295123218a5b1283dadf93cfe37375000fbe64a53fa4e40f9a8e40373f759235665ab1f84dd2c8a80a8c1830e7d682bdbabcedf322e6c787cd2084ab7527040e785a8ef862e02566995e3a3c1db9ff0460eedf807839b80170fd4fcbd0850424907d8f28652cb7e9d37e1bda2eadb889e5550f3c4901db4db5775dd9d1e863dac1e5d947ef0b7bcf746cbfd3e6000f4092b0b1eea73d154311b51bde7e4dff4a5fcd89b8285345654c4fc697534c794135fd85e873656efe2d9028c736b46c591f4d5ba13b44bace0b397cc17f5d779395059c59d3645293ab0d63cae4392023619ec57dc433932394a9f59a690c0dd1e11cf092ba541c55f3fa8924d255a168c3ad26e6b4e5e050026f650a2acbb1eec574cc8b14470b7d3b122b0095720f97c6175c53e76036d5e9b6a2aaba7631ab3b7b8ae9 +Msg = 2085e8b946d2059752f8f0fee528e7c4cc0ac1fa24532c1ec29a3a92d2681c4dbd8e2dd151bb325d1c4ddf6318689e3c8e458d1b34cdc5409867e26ec20ec09e15a682f57790d9f4b27c83ef197e11c06e65eebc03489de620614263a51e642ef076f10d017a82c4dc2ce1882f93c9b6350fecc5daeb3a7a2031615ac1c29065 +S = 65bd57d4a37495d54eec7f6321f7101a4643d9432a2afc8eaa147fb29e7ab1106eb31a6ea7ae3b48e40de63cc368e7a6df4c998259c59ce40b8ac2f8763bee9192417d2020cbe179bba8aee9be8971466f5e53b3f82004ab6aa529d08545bd894435d8dceeb3a8e905916bbdb015bff65e9e792a88e1c8449f411edacba504cd0730605dc83fee64f8dd17f577075694402f1862790d9629f9fa8ac3ab4ee341dd3979eb1715c4f742fbd89ba3b90565ea4587438562493f611d5ac9989fd405a01d23b13469a2a7a85b0047483a665ce3899a412107cacc11087cb2607ba9d04091c418247242cd8d819ae17e49a21bc4f966ac3d37d2a61a8bfeede0f2ef2da3aa32bc38abb6a16a4475e9672c4aaa31d2e8277f3dd9663f3960f16c01998d50a99bcc681ea02b137555af2cdd28ea43281588066bc55c8f7aab45dedfa2f6befb5b13911cb9cec2b3fb07bc00b2dacaff8237201d3ebeac575083011624b4be018379514dec97209faa29b1f93fda75f0770f3c73e700a2e48453067c909e +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a649 +d = 03b1905b883ea9d32a37964cf2b3199cb1ee5f611ff2aa163269942b35436a4a708e7371857b603fe84e437fea0fb9c19cb09b3c39ac82faf73f120ab2dd49570ed9c43c70f430204f77743b295123218a5b1283dadf93cfe37375000fbe64a53fa4e40f9a8e40373f759235665ab1f84dd2c8a80a8c1830e7d682bdbabcedf322e6c787cd2084ab7527040e785a8ef862e02566995e3a3c1db9ff0460eedf807839b80170fd4fcbd0850424907d8f28652cb7e9d37e1bda2eadb889e5550f3c4901db4db5775dd9d1e863dac1e5d947ef0b7bcf746cbfd3e6000f4092b0b1eea73d154311b51bde7e4dff4a5fcd89b8285345654c4fc697534c794135fd85e873656efe2d9028c736b46c591f4d5ba13b44bace0b397cc17f5d779395059c59d3645293ab0d63cae4392023619ec57dc433932394a9f59a690c0dd1e11cf092ba541c55f3fa8924d255a168c3ad26e6b4e5e050026f650a2acbb1eec574cc8b14470b7d3b122b0095720f97c6175c53e76036d5e9b6a2aaba7631ab3b7b8ae9 +Msg = cc21593a6a0f737e2970b7c07984b070d761726296a07e24e056e68ff846b29cc1548179843d74dcee86479858b2c16e4cb84f2544b4ecdcb4dd43a04bb7183a768ae44a2712bf9ad47883acc2812f958306890ebea408c92eb4f001ed7dbf55f3a9c8d6d9f61e5fe32eb3253e59c18e863169478cd69b9155c335db66016f96 +S = 0aa572a6845b870b8909a683bb7e6e7616f77beff28746116d8bc4b7335546b51e8006ed0fc9a0d66f63ce0b9ebf792d7efd4305d7624d545400a5fd6a06b78f174b86803f7cd1cc93e3a97286f0ea590e40ff26195aa219fe1510a016785223606d9311a16c59a8fe4a6da6ecd0c1d7775039290c2aaa17ed1eb1b54374f7e572db13cca3a638575f8004aa54a2fa98422fc07e43ad3a20dd93001493442677d883914dc74ec1cbebbbd3d2b6bad4666d91457b69b46a1a61f21298f1a67942ec86c876322dd366ed167814e9c8fc9040c5b4b7a859bbd880cb6bc241b9e327ce779e0783b1cf445e0b2f5771b3f5822a1364391c154dc506fff1fb9d9a35f80199a6b30b4b92b92619a40e21aea19284015863c44866c61ed904a7ad19ee04d966c0aae390636243565581ff20bd6e3cfb6e31f5afba964b311dc2d023a21998c8dd50ca453699190bd467429e2f88ace29c4d1da4da61aac1eda2380230aa8dbb63c75a3c1ec04da3a1f880c9c747acdb74a8395af58f5f044015ccaf6e94 +SaltVal = 00 +Result = P + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a45b6b +d = 03b1905b883ea9d32a37964cf2b3199cb1ee5f611ff2aa163269942b35436a4a708e7371857b603fe84e437fea0fb9c19cb09b3c39ac82faf73f120ab2dd49570ed9c43c70f430204f77743b295123218a5b1283dadf93cfe37375000fbe64a53fa4e40f9a8e40373f759235665ab1f84dd2c8a80a8c1830e7d682bdbabcedf322e6c787cd2084ab7527040e785a8ef862e02566995e3a3c1db9ff0460eedf807839b80170fd4fcbd0850424907d8f28652cb7e9d37e1bda2eadb889e5550f3c4901db4db5775dd9d1e863dac1e5d947ef0b7bcf746cbfd3e6000f4092b0b1eea73d154311b51bde7e4dff4a5fcd89b8285345654c4fc697534c794135fd85e873656efe2d9028c736b46c591f4d5ba13b44bace0b397cc17f5d779395059c59d3645293ab0d63cae4392023619ec57dc433932394a9f59a690c0dd1e11cf092ba541c55f3fa8924d255a168c3ad26e6b4e5e050026f650a2acbb1eec574cc8b14470b7d3b122b0095720f97c6175c53e76036d5e9b6a2aaba7631ab3b7b8ae9 +Msg = a589c8788c959961fef98694bbfeffce5d69071899ad969ac25f3cb48eea084b1d84a8613761d1e9d626e2d9e4a0c48045b6141a189c84a23a4a7ee70c2d0be2771cf4472d8d275a31095b0499ddf7269313302da6a072e73adf02955b3ee141ba38f351f483605d178a3b3e631d62674d67a579ca212a11c9060fe40187520f +S = 062418750845d3291e633e47406480e32fa2980275f2e4ac79d284ad83ed11190e7b85bfd6ed9bcff63345582fccd88a578941abb987d2dcb549a0ac2ed5fe7ce8257bb1e6288155fff3dc9bc1140f2777a84575986360d076605e655c9d73f9bf010a437eb7b280d6108374ce8da4c702f66a9d1d01b141c6a698729d0fcdb0631b21578dded721ef5c490812266cf6f01270a8c6c2f08466c9b3c626c0f1edeb5b4fb32e958a4a388c6c6e73b53a506137354358bd00bbd2058c9c12790410a45f4348754844b357c4e17fb38c8cac87a6be3cd06a08943db0e8b867d473e7d3581ed2a32d25d7b45eecf8fea10d0ade1c888591c71fc86abd1446fadca2881de87a6d05566c5000c1e075b0c1c5481ffb6e982a3f8f44fa8ad0b6a92f1cdedd9c38d326a6efad9d0359a69af42034b7a4ac388f9c7d356edf4d6e4550addecc7192242b3b1fc4164602919d3411ed43e2b394867bf840ea61750bac4f1b72d28af35eb0b3aaf6eed654d1de883240c0e2234ea2ddf6f8934cdcacea802e26 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a649 +d = 03b1905b883ea9d32a37964cf2b3199cb1ee5f611ff2aa163269942b35436a4a708e7371857b603fe84e437fea0fb9c19cb09b3c39ac82faf73f120ab2dd49570ed9c43c70f430204f77743b295123218a5b1283dadf93cfe37375000fbe64a53fa4e40f9a8e40373f759235665ab1f84dd2c8a80a8c1830e7d682bdbabcedf322e6c787cd2084ab7527040e785a8ef862e02566995e3a3c1db9ff0460eedf807839b80170fd4fcbd0850424907d8f28652cb7e9d37e1bda2eadb889e5550f3c4901db4db5775dd9d1e863dac1e5d947ef0b7bcf746cbfd3e6000f4092b0b1eea73d154311b51bde7e4dff4a5fcd89b8285345654c4fc697534c794135fd85e873656efe2d9028c736b46c591f4d5ba13b44bace0b397cc17f5d779395059c59d3645293ab0d63cae4392023619ec57dc433932394a9f59a690c0dd1e11cf092ba541c55f3fa8924d255a168c3ad26e6b4e5e050026f650a2acbb1eec574cc8b14470b7d3b122b0095720f97c6175c53e76036d5e9b6a2aaba7631ab3b7b8ae9 +Msg = 70a4a898028568699ccd8a53288a747851884db2971ab17aa116a909d422dabc242efcbd2a428ee0777ac8cb294fd25abc17334222cf8cf4151986c4ac81094a2c04af0821d3784eae54bf5b226a6cc5cbf66c1b0f9e5ec8b8cd8f3a90fa29442e2ea7c10fc08c7be963554b3b64ac81292cde85870c8fbf343aadb5a916a273 +S = 078843b04c9855e60b0965970e3485a8517033efb57b773150483e7d79a549d217159fc194c78d1d7eb872ade231d1c95dafcb7d5292d7b113a99567f492cd846f88cdc1d035a04ae6a5ef28a8673387a2479c3e0c5a1204bf13602b49097fd4bec16284566c36e45ea3963567f36daee1ee86697137cb258258b5c318926fed505cd6784ccc95de4edc2034e64521276f9055824479b4abd51a7315e81e204dc00f4b077f26ea0a7256bcfb0edf88624c4e3a059914b75ddfcf945c5620eb6b06b3011e4babc26857bdd9bb065dfde515c37eaa6ad83590537566680ad1d776067827288c80497b76c489cb39762dc1997faa41086b1e377d3c9cb29e4599dea3b123d850463ed20087fa744a5481a4537a6252aea0bc18b2bc962deb589ae53a88239eac7e7906f4b16e68c0e7de2478c4e4da869008a65455c691547b16a9d964fe0faaac4abb22309e0753408e22a8668c0e96681f0fedf3adebd7c3c6ea0b452e07a6d94d9437e8b03e7b26203aff7c1706b58a20568642a8719b9838f0 +SaltVal = 00 +Result = F (1 - Message changed) + +n = 96410d900ffe9a71d348c210c0dda7ee43f92e8a31ad876255dc540ff239c236b998ef9375e695992aba77861bf8f1cd966e3af1f9ca874618d35ecb494982f7c05df134f5ce5853d410e670e0972efcce2fb14b2ea6974d4802ddfb5915d23752480f5def2e4a858543918d5fb47e837e5f6564abba60745d0ed710b713dea6b4302a6b56376679435ecd62b9a03c5c7ccea920fa64715c0b554b5108abc20583c1c87c81e20b0ccded165e581791bad0760140540a8c18b0a1adef5e9cda29fb959652cf68b5da128484e0c837c6cc017a7741edb301891e01fc28b8bebb1167d07c2993877a62a8bf82471e7130416fd825e5deeee26bf9e3e5b9d4c8869240fc2ea09ab7547668deff741b9dadc6304c467ca896794af09a1f22eadccd526c2eecb7a3138d78d8a12b0afc2132fdf5ac6299433dcb72ad40a183d21bbf5e3fab66b1b961016d9bb5af818ee381653c3c7216e308bfd19ad0224051e4b569bb27471b9303eb9c0d4a0f684dd86b1cc91d13c025aee06c97ba89e02b0bc6ed + +p = d2235cee1914c70568d05cd38123b681ff4fd53acbdc99c7795e56f6598c19695f99bb0b855a0c6380fc62bf10f840e7ed8cc603d17cdb1d71c5f314fad614ae92ed002c2f934dba1aeeb5e83a8c98e33f15840dc513ea8266e020139a55bd1c6903e7667a974315dd582abb185b58954872e78169f8859fea07b53517ec313831a0c7eb32b8d68d33c7da00e5e2182d121f8ca792e734a573dbd8046a28c1343ef61223531cfbf2aa62e807566b3119a82f349194aa86ece236dd4c0cec23f3 +q = b70be83699b0d6fe0c1833cd27da49897f1601fbcd9a58e9949c8ba914732b3ed076d8589ee6dbe9bdf5dfb8538d77b98005b4c8536fcd13565cda8ae45b927353861b08d7a0b5f490a6121f7bca7b9261ec504d933c686a11f05ae1f0a874f6cbf271cb8841f0579f7a24b06c198a076a750b5dccd6f4409109ed3e7a0fd4b5e0dc9e3aa2a46831174119757811ace60421e4fe8d66a41e3f8e567a86eec8ef4c310b7a3b745312a429ac3be11b1d5faf07e1a67ecb0056d02d3cb5c5ac819f + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd157d +d = 07bfbcde8502ff6ecf62befff894571da457185ec09890cf2292b1687f8edce7ec0398df18cef08fe34a366ddb83d21579898d41b600ccd2948cd82dc6009d078e45e0ef038a5410b9d8039703cb91188406a380599e78819eea92fcd16456a743f2d0b57f3fa04f0e540f7998006c46849198d57ea95caf527fc8cbf21ef090dc3f560a2fc0f2d4869e9820a8be8be9159d391229fb1dece22cc99e5fb18a6034982d378566e419f665eefb337cd7848b5fdd4ea6d1f0f07190b1835577f368543f9caf9e7850860bf6efd03f0b16a698a278eced312b45a38390cb0ac69bdcbd7d272a22aebc86111c3d2714c02e7a50cbb76afcef139d7366557f6418646cc5f0cb2a6acbf2f23e609a32f6ae02510e6a407d2131fe307a66a586137bd118c17efa2468062733fd446d59ee5291f42cce19cbe1234588e2eb2d56ac861dd44b860bd1a5a611ac9ab950432acdecd6b7a491bfb6d1f078286dbf5909fbd406e5b6d0fd867126782c08779602542d69d3a4cdd077f8acefe6dc6a12403c8e61 +Msg = c6542c0b67da9dee6338cdc0ff704346fa13de2c65be53a4b5e5dd5017cf2f6203e2ae021421ddf017f3186a622686506733498688c4f79a2d734ea614d52378e9b79cf117a79fabddb78adea47d2585905ed5bc550d126d4c4e1a2bc600e75ea05a5fa11775cc68de0a8be66e7e082e9e1bea9873a18a6639fdaaa7d258645c +S = 4bbed79b3dfd054836d6b9af30b0cb202eea9d5a038c5a2ce9dd68bd22ad74050bf6f95634c28955b539a3dfbe80a4444ae2aba1cfc4f337abfabf55b65a89ba6a5fcbef5b62a4bae5b4c51a22953e89b71f4eb8469966e51f1b2d232e4de3d0ede3d929ce1e90abf16a4f89cd4b102c48afae0e039ef8f36c0c20513f0a79c209f29747757aae8380993cc1d427c8902507e038cc5c2496102b2d1ff0b7f717dd8f083cf313b82f9a4415dd03603b73d926c677f1cab07dfac0f8305d53eea8a8cb789da3dd34230f592334619f487d7ee85b099f98d4f557dbcf1f23944e73e9a3b762c82e1f45477c91507cfa8ee11a944c7de8dd0c0e786daeff11275085c8e2d2f4fcb9973a62c5b9de61368b517b029164d0f6c2e07a3fdefbc082275f5e726ccb1bf084650e46157caf8130fcc902f49926c36c8cce92db6a3072ec7a4fc7acb16bd7703b936f9ba1db295ea70efe3c5b9aa0515e7dcc2f4a02a96d69591f3cc3c64267e4926e094b84f800155d1fff6b686a71ed9abf5295bccc8783 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003021300906052b0e03021a05000414c9a9bf20b45e22eeff58c464b6bb28a5850b299eefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd157d +d = 07bfbcde8502ff6ecf62befff894571da457185ec09890cf2292b1687f8edce7ec0398df18cef08fe34a366ddb83d21579898d41b600ccd2948cd82dc6009d078e45e0ef038a5410b9d8039703cb91188406a380599e78819eea92fcd16456a743f2d0b57f3fa04f0e540f7998006c46849198d57ea95caf527fc8cbf21ef090dc3f560a2fc0f2d4869e9820a8be8be9159d391229fb1dece22cc99e5fb18a6034982d378566e419f665eefb337cd7848b5fdd4ea6d1f0f07190b1835577f368543f9caf9e7850860bf6efd03f0b16a698a278eced312b45a38390cb0ac69bdcbd7d272a22aebc86111c3d2714c02e7a50cbb76afcef139d7366557f6418646cc5f0cb2a6acbf2f23e609a32f6ae02510e6a407d2131fe307a66a586137bd118c17efa2468062733fd446d59ee5291f42cce19cbe1234588e2eb2d56ac861dd44b860bd1a5a611ac9ab950432acdecd6b7a491bfb6d1f078286dbf5909fbd406e5b6d0fd867126782c08779602542d69d3a4cdd077f8acefe6dc6a12403c8e61 +Msg = c6cec990476cd20d445e83a5ba7ce48e1b4215baa2d13efbe436c86ba9efce0bf9abceaa7a52a509f945ba3c46e77953455c033a429123de857c859126a522b023e5ff83b06d1764ce0b95241fa947aaf91750ddb90a1dc55a649aec46b5a50b6b02c3e292c61168ec377e24eeca38db5ff9646bb04412f78b767044ae293d63 +S = 363c8a8e3f251f7c86cf53a34e9da296b478bdd9ff3bcf36921ae36bdaafbd73cc22013fae7d3b0ab840db28cddcf0c122eca5610b1640a5d4658672c2323ceea32609196be2ffcf40488576065cd022c0e2cc22e6103cf93610df661657c3ccbc0357d0ceebb85d8a2b28c6a45b5eed1703a14e1dd28e244882a8101da1e5b9ebd9d10df36ec4576a1cdefa89bd5390957a0d9d72873a9fdf46b67b4f2773f5971052170c71b9aa409e75ca5cc2f0cbc97a8918817be164a820f90a618acf0c5aea19e23c6e5d78465f60ee706c8bf78d38ce3ce4b204db5e3ee35c4dc3cf5d6cfc1d0b17b65b97bf227937540aca0c0b5d2ee7f5fa2ae4fc0a592d9b97f524a7468910e7c1d843b8fecfc48f7e2b5355cdfc7d5359ddf065031730915e41126b7dca03161b45493d641d50276cc1ab05c2f2abef4761e0a99b7f34f35d5621f2cbf8490c61d035af3c40d473192977dd7bce01bda6fab5d363afc5d2e2cdccd6721a6469d68e5523b7d6c30a9b91363dd2e90ef7c51c001f956d7dab72ac5a +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a050004141c679e6419cc1826548c79c9a7453635593d52be +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004f19b7 +d = 07bfbcde8502ff6ecf62befff894571da457185ec09890cf2292b1687f8edce7ec0398df18cef08fe34a366ddb83d21579898d41b600ccd2948cd82dc6009d078e45e0ef038a5410b9d8039703cb91188406a380599e78819eea92fcd16456a743f2d0b57f3fa04f0e540f7998006c46849198d57ea95caf527fc8cbf21ef090dc3f560a2fc0f2d4869e9820a8be8be9159d391229fb1dece22cc99e5fb18a6034982d378566e419f665eefb337cd7848b5fdd4ea6d1f0f07190b1835577f368543f9caf9e7850860bf6efd03f0b16a698a278eced312b45a38390cb0ac69bdcbd7d272a22aebc86111c3d2714c02e7a50cbb76afcef139d7366557f6418646cc5f0cb2a6acbf2f23e609a32f6ae02510e6a407d2131fe307a66a586137bd118c17efa2468062733fd446d59ee5291f42cce19cbe1234588e2eb2d56ac861dd44b860bd1a5a611ac9ab950432acdecd6b7a491bfb6d1f078286dbf5909fbd406e5b6d0fd867126782c08779602542d69d3a4cdd077f8acefe6dc6a12403c8e61 +Msg = d5054ab2c2e4fbef568b1f7d08a38770ea0b6bb589276900157bcb06c27809ed6d958e0083a2bfa81f593a9772375b47688a05a388ca9f041d2c5c5e9375c0bc230c60e9b354e970f73863c7dd08b7c828836f605a35be8bd803c080490402283f9245d519a17f312850237510bea2db711f3255c70fce7f8f257ed2acccd81b +S = 093d399dd290391ef02593ae52e54d5533006b650730fba61170c31fc6d0e2c53751faa31d904f4a96348ad8f36ffe8892b846eecdcc85ac1a739978707fb2b4ffa98106fa2e55953911140fcdf41ddb1450ced819ecc4d723b842a88b4fd9b5a506d8a0f5bd6b629d1a2871766556889326d1c9222c98062ef6903427f13d5c55066b5693e85d749961c53304895e2343fe953fd30d4e8e93c952438c2a83b8590f3242fe561ccc2d4dc393d2442bb57c54276813cbc3317a6e93141c32a240572e52c6eb400e8869005148f66c7b04391e285605133cf8ea5e809777ba22323506ae5ece5f9a55d812766ff3c9d784a979eea3391d47fa97304b719ab7210f1b1be7ca9846cba4b3fdfbbef0127efc2b1f6acb0827b0bf48058cd26d21344ef9a3d34f62484db350e9268048fa096415f833e97114590c7f1f073b562be552cfc2168a186e941b70e8f3fce84dd437fca3cfb191ffc174194d1f448c9270b846f253923c00f73932a038bf97fb47c3ea8bfa39bb2070fdd50a13649f06ad0a +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd157d +d = 07bfbcde8502ff6ecf62befff894571da457185ec09890cf2292b1687f8edce7ec0398df18cef08fe34a366ddb83d21579898d41b600ccd2948cd82dc6009d078e45e0ef038a5410b9d8039703cb91188406a380599e78819eea92fcd16456a743f2d0b57f3fa04f0e540f7998006c46849198d57ea95caf527fc8cbf21ef090dc3f560a2fc0f2d4869e9820a8be8be9159d391229fb1dece22cc99e5fb18a6034982d378566e419f665eefb337cd7848b5fdd4ea6d1f0f07190b1835577f368543f9caf9e7850860bf6efd03f0b16a698a278eced312b45a38390cb0ac69bdcbd7d272a22aebc86111c3d2714c02e7a50cbb76afcef139d7366557f6418646cc5f0cb2a6acbf2f23e609a32f6ae02510e6a407d2131fe307a66a586137bd118c17efa2468062733fd446d59ee5291f42cce19cbe1234588e2eb2d56ac861dd44b860bd1a5a611ac9ab950432acdecd6b7a491bfb6d1f078286dbf5909fbd406e5b6d0fd867126782c08779602542d69d3a4cdd077f8acefe6dc6a12403c8e61 +Msg = 02abc5271d55129fdbf1fddf59f4b99d904915bae196adb2f0c06237b6b10919d259606920f246de8d892b772abac5627fbb041d219c49db87ccd32919e079d18a909fff680263a2f14c17152934f4ff29390c78bad8816d2208f5453e0741c4d1586a301c0dd1b3af42a9017eeaae3a37ce1412d3d2be2f6c7ab1d34eaec8ba +S = 70a50b8a4349e57d7c23f990d33d0b1cc5074aaf462529102a1010575dc25fe90a34414ad4f3bf8e203af8fbfb68a8d10db1bd240052c23a4015fb2ed9760f8aa1bf13a0765f907c51037095b2537fa0e72901b76a945fb6094aeb316554218505c53b4aafec448eefb53d0dc4b8175a07f241d64e31d848cc3526e7ff6421971995d143fd3b201f2933e323ba7a1ce81a49c94e45c6ddf3f5cccc2473edd7511d5cec51aad62c4ca0366b487c8691bf2aed919611e7792fbb8013f4a11d15508890a7f1bec10a182d23f187e3f5642868f7a4d237d944eeb0ec3e8a045812fd31625978eb7052df5f1a26d885049b2fc74064ac9486e2f40179d6ea6c0a68a49ad384fde8a37f98a37f96b494651f136d2addc2a3d73ea694436762c02189953f9365a19a488b79458884079e8a94d09250fe8fea7ecba1777cf44289b38fd2e556958ff7170d36b04f7cb76053a73c78cfefaec345728ab66aaf62e7467101ff66b643db74a10d9844dbb3475f280d0a85302c459c67d9879ad44649101304 +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd157d +d = 07bfbcde8502ff6ecf62befff894571da457185ec09890cf2292b1687f8edce7ec0398df18cef08fe34a366ddb83d21579898d41b600ccd2948cd82dc6009d078e45e0ef038a5410b9d8039703cb91188406a380599e78819eea92fcd16456a743f2d0b57f3fa04f0e540f7998006c46849198d57ea95caf527fc8cbf21ef090dc3f560a2fc0f2d4869e9820a8be8be9159d391229fb1dece22cc99e5fb18a6034982d378566e419f665eefb337cd7848b5fdd4ea6d1f0f07190b1835577f368543f9caf9e7850860bf6efd03f0b16a698a278eced312b45a38390cb0ac69bdcbd7d272a22aebc86111c3d2714c02e7a50cbb76afcef139d7366557f6418646cc5f0cb2a6acbf2f23e609a32f6ae02510e6a407d2131fe307a66a586137bd118c17efa2468062733fd446d59ee5291f42cce19cbe1234588e2eb2d56ac861dd44b860bd1a5a611ac9ab950432acdecd6b7a491bfb6d1f078286dbf5909fbd406e5b6d0fd867126782c08779602542d69d3a4cdd077f8acefe6dc6a12403c8e61 +Msg = ab73de454dec96f7e9435a968b1ec3a7b5ca806cb1384c0726461de1ea409e4d17a7e06961314c45a610dd48c7778ccfb75b0b16d177b55c6f92c642b804c775b9774d8cb8ebe334c4fd458a9168cfc883cc342409ae73f52cc0071868635e92ba6b8d76fa22420a6b8ffa2591f874db42a5655c00e76d1a86594a2aa1664ced +S = 518da26aaed8f7d3ae91b2556e71586e97adedde3f4ff3e641892c19d5a5419c96214ed32f9095960ccadf7464af214c964fca23df2adc194049ff1f7685136a2a7e033f297b224086547e8169b115ea7796b6b0aaf4d949de198f9404acdb2a1d229db9e05080af35910e805efd6151e632e28a057de7ba7b01fb1f4ae8e3091a720eb7dc2ca1e2d7705195feb9d74a58afdfb3530d988df70adef2d474ae1e33c9c2b762a7222748e6b9aef284c543dfd8fec4474af4298f1372d9ed79e9f920210d7b8c43abc0a22acb6bcbc75607c53af746517ebc5fd1f8a560d64595ac7d07066222c355b211fd4891b8ca3b92b00019d32c4a9b80f2cc52bd70219cc473baec785349dfdb0214b01ee7e1c618d8c851de0c3c8a9d3c20557492355eb9068163e241ab9f335a2036f0471424d8ea5e80d0bc951fc75087d5128c13ba022d8b9cc02a54992bbef119a34b652c707c2f6d362b30b2e0065ef5177f6b3d3b15d0117f82c54b2ad62b26ba8d9958c2227afcadff47e5e77ae7755db69f6689 +SaltVal = 00 +Result = P + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd157d +d = 07bfbcde8502ff6ecf62befff894571da457185ec09890cf2292b1687f8edce7ec0398df18cef08fe34a366ddb83d21579898d41b600ccd2948cd82dc6009d078e45e0ef038a5410b9d8039703cb91188406a380599e78819eea92fcd16456a743f2d0b57f3fa04f0e540f7998006c46849198d57ea95caf527fc8cbf21ef090dc3f560a2fc0f2d4869e9820a8be8be9159d391229fb1dece22cc99e5fb18a6034982d378566e419f665eefb337cd7848b5fdd4ea6d1f0f07190b1835577f368543f9caf9e7850860bf6efd03f0b16a698a278eced312b45a38390cb0ac69bdcbd7d272a22aebc86111c3d2714c02e7a50cbb76afcef139d7366557f6418646cc5f0cb2a6acbf2f23e609a32f6ae02510e6a407d2131fe307a66a586137bd118c17efa2468062733fd446d59ee5291f42cce19cbe1234588e2eb2d56ac861dd44b860bd1a5a611ac9ab950432acdecd6b7a491bfb6d1f078286dbf5909fbd406e5b6d0fd867126782c08779602542d69d3a4cdd077f8acefe6dc6a12403c8e61 +Msg = 6c0b6d2266a246feda6fa5cee22c2f33ed9d643c1f6824d9f327719225bc7678cfe4c85cd210ed4077701b0b5650418177a74c71b8eda3306e2ef3474f5d326990eadea84a9686e822878c932997298e01f2b16c42e019e21bdfb67b3df5478df444366c97df1bdd23dc82ce23abee44d3a61e9484e88ed642634197b52dbece +S = 06eb0d95a988e9433b48167603df82c4f951740ce47671cc3374f97a1f168fe834c3bb88874f06800e9094578f472b99fad53282ea8964d2a890e50d1ab4c61d91be1a2c734845cc47e637c89d8e9de430bf3872561a91183edf79740ce9abbdd3c91d418f86dd560fed0cee7b6042faa0d8bbca105cbde474f091ff3688be6cc76ce7b4add80fd7aca06b77de4d0412f78245c422906fb36e2afd7f1cc66729483262e4f459dcdafe2e217bf07ac96c0b33dc98c6f2e20231454bd261692a06ca2204a1bf67b39fb6c8a7f86dfdfbbb1448af119419d12a9e95d237a8abe0513aeb7e157a4d884ce29a37c97f07fc38b14b12101dde27d416df512cd6ff2c7c10a4e724c523c78be5c2d4e6a55060828e2c62ed4766c4354c27c2f776bcd97049c63cf017ff787fbf4724150a86501e32a3a187cdcb79dd81a4bd7a516279bb2abe28f42ee1fdc8ec69341cbf1ddf67592197b2c2ca9a3f031ea1150da24ece48f6a13e6452c2721adcedfeffe5aa7804b682a34c7f0f19a14860ffecbecf12 +SaltVal = 00 +Result = F (1 - Message changed) + +n = d636bd164a6ba07108e2c93f58e061657bc5cd2dfe1a72e75b33adbdef50bcbd74ff0f6f074dfb0f9f25879d1bd6cff2d8bf354dd37f89c638921071af961ffab7559189bc18cc8a8e2a1867721eb914077503adbf08986272034bb1dba9333a886962cf19a8580b25463b0d71d3d41d0bd74c4f77da0bbd85204aabbc01506737503b3b99e0203658136cb8ab0cb62929b7c3be4eb03c947c85faac147bb148086fd59a130e545520c50e2841fbc0734b1ba6f98514cae15d7ea3ec4415fb20b7fb1eaca5db849d286414ef718f3d20dd68dfd440e042f84732afdd0f02f98f925a0f264cd37c67620285ca59be9e138a836730e87ecd754c7fb28ae75f8e24e6d14e41ba339bc801459d2b76d8928f12e8fb7dd3314fe4640f99f6dccb0e16be09b796d791ea0ec92301891a2f702bb6de46ef69b484449e23ae8cd247e7ce10bf3be855daae033d640e8dfc0e6f12abcd6e0479b29439d99ab135aea06178174a1b7048ada5645182fac8e018584fa4250e6aeb4317454e86598fc4fae0b3 + +p = eec577977a6bccbe8f15a7cefc37557e48f11b537ee92c2c771fad12a24a9bb20784c512df3232b96ab83ebd16bc7214d0fc53ebd3b4a91c850516a028a7b2773aa939ec434f80ca7b33a311fd859e1721d15d07dacf60bfcf7e2aa77264fb3212f3f9a750eea7c95367af4b25fbdaae07abf17e9ce696ed5671dd3e6ec41c4a0bad15b7af5e98cda18a9efd78f4608e9b1647172ea4702860685e6b08ddbef575520de8b9f888366249f75177a2fe651959c9e202f523089cffe05951862457 +q = e5aba667d95be19203595c898ee2aaa3f29d2f60033d51a76cbe9f11199905fc1adc08b8aafd23e0c8bc1fd3646217a7f30f37949ac7b43cc5afabbcae9d0884e2c685fdc05fd24b210536db8ec22734d126725799743b587cc7c48401cf44093922bc50a148f6c57390772fb05411e7150fefdf2a059e885a4553da19c1809ebc470a7a8653dbb2139412e841b51b5637858370fb98d14077dd7e9a10148f467005d55a8d3e4513e094d373a8f0251253a0466f2eaa7afeb13303a37a424d05 + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c6e57 +d = 051f421c32c0a756c8a63c01ea1b441c5d5843e7fb2133c1bef0bf00f5d6299bec53c51301a3cf01f42982e8ffd78144459b98e87520a1b8430ac2165b7242b3f3afa752eae194d5dd87e2a587d827f31aab220e43758e47a6b8d56c2f7c1b5543972f47d873b81f4b41bd1742b63195669aebc33608ba41592c77a287e2ecfbb3ec3a512bf06f9cf193bdac916a06f34058ecd1dda55e7abd7c44d10f1679a17cd4d5c259ce9ec3ad4c27233207f69ff31308d386adfa926d625dca022b6cde5a67c07d2a485521b6bcd523b228deef003147568c5cb8b8ea1b3ba50fbf4cdf44fe53bb420e642cb84c0f2827679e905ccea6ae46ac5ea07f8d2f02aac29059609ee8d3dfa32d95adf669ec95821c048ca25d3a8dbd0f9cd40e5444ccbc3a3f02528be5b4e259f9beda532123f7b3e6924982c34200002269f28293b5423915f9adde8954708aff83aa1553f0873c7a0b86777ed80b1e6f2f196898c7c009cd80ebebc5426aa9576fc637a68a438a5c3ec3ade0017b08fe1419fe02bcd00aa7 +Msg = de53ae1c40bb05a44519e74e9389cb49f1c5523fabf9ccd038d2fe401bd8236c07ff300346785cf25ccde020e72dfb5cc9053a9489d0f647f72f1e3c0f3c3775201ba05f2ed31b4b945c8921edfaf55335c9d4112c988bbcfbfa329c1a9b98d571d18797be73499636ee6aba6f95c0177d39a91f5cfa94168e5cc3c7049e4f76 +S = c9ad9f25b354162889ad72cdb4f4c5bc67a4b96fa69082aaaa0f909ddea77cf2e20614bed058bc2acf435811bce36c8a30ce05bb861356cd79553077c69e665b2ff6908a083c271483c5d7fc670592f2dbf8100c4e5e1854920ffb11f635bb4db239198f405bdf1c91fc69e9e92a6565ee56c9a72668e0c116793cedf6e2e36b60d22a5993851dd99e6ea0ab1efb70637e648f2162ba9ed07a5d1acdc396a86552b3c7dccb61592c321616a9fbc61262bf0b8ea67fd823915bec5e37096fc3202df2f1f44b48ff99a7cf0caa2b20e5693ee2627d4fd11069c59fd7257d1983c06e66bfc230f21a4884ce536d0025674c2f9227b1db75ac07478c3971fdd6f039fe9b27e6b8cb4ffeb1ff4b23b75af8b4036ef26e36a22e6248c8c1ef879c2b886e830140a9c11c95000e70727c4b7c5d3abfdf664cb9d59c579bd2a1c1ce24e5d446645a728b692b30620aeaceb5ba230f2316882a0436881bb3fc3c25291db297eeec590c6d9ebdcd7f52bd79ccd80ff0b2f30979a9111adb165fb701b9050c +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c6e57 +d = 051f421c32c0a756c8a63c01ea1b441c5d5843e7fb2133c1bef0bf00f5d6299bec53c51301a3cf01f42982e8ffd78144459b98e87520a1b8430ac2165b7242b3f3afa752eae194d5dd87e2a587d827f31aab220e43758e47a6b8d56c2f7c1b5543972f47d873b81f4b41bd1742b63195669aebc33608ba41592c77a287e2ecfbb3ec3a512bf06f9cf193bdac916a06f34058ecd1dda55e7abd7c44d10f1679a17cd4d5c259ce9ec3ad4c27233207f69ff31308d386adfa926d625dca022b6cde5a67c07d2a485521b6bcd523b228deef003147568c5cb8b8ea1b3ba50fbf4cdf44fe53bb420e642cb84c0f2827679e905ccea6ae46ac5ea07f8d2f02aac29059609ee8d3dfa32d95adf669ec95821c048ca25d3a8dbd0f9cd40e5444ccbc3a3f02528be5b4e259f9beda532123f7b3e6924982c34200002269f28293b5423915f9adde8954708aff83aa1553f0873c7a0b86777ed80b1e6f2f196898c7c009cd80ebebc5426aa9576fc637a68a438a5c3ec3ade0017b08fe1419fe02bcd00aa7 +Msg = f3946c8f52f20ac9a630dee2da5956e1ea487215f66a78fc97c5e9637339b3cf0f06a81ce58f2f64b75e3a22226778977691cb6dc572fc9b3a5aae88ac94907373e8d7127b64ec79975d613e17b02adb9c4d0a532bf74b198145b22da6edb288c541e0ba3bfaa7d2ee353d7ee0bbd5730485170f5080cd3d138ddf9a89cc81d6 +S = 280e4db5a0f01dbafe7d3cc64c1e76769a7fa877dc4d26c9e0d5cc9782119c8d9662ad25d6ae59fb990391bb1d3b5947809ecea7887cc99a47aa7275cadfef9f82161f7a3054923fa825cf16bd189b41c75d348c4d457ef7ed989c100c10ee008df13ddf6ef9d52bc537f86105976d47188a289fbae6231cefc1f7dcd92865df4588ada4eea069ecb1bff0b5910ad7fd02879caf4c61b9fa9ec03dbd93d61ccc8b5296508ac655d2df9ee68d3a0a1ed43eb7e77674286e4fd74c5f8ffeb9c21a6971a64e92e164b0708c092e2f6fd6edad762642416b7a98339deea10d9d0a0b3b4d191b75dcc3816ff61e377c03b29e883a99b6bb9871950be37bf921b0989bc7ee9e01b1c3b2fd8b428684e0b5409e432f6df104aa0f76d38a8b3bfe715322c7fa59c113b77436cfb5bb799baffdfc74aecb38b139c0937669daf7dc4f1c490d7a8e17c867ad834d6105319f6ed99e3173198ca7635762f277bf76be3bd5d605dc02d01abb2b3a36bd247c0ce3c84efb56b0b6b671e865fdddbdf27b402f0d +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b98e6f +d = 051f421c32c0a756c8a63c01ea1b441c5d5843e7fb2133c1bef0bf00f5d6299bec53c51301a3cf01f42982e8ffd78144459b98e87520a1b8430ac2165b7242b3f3afa752eae194d5dd87e2a587d827f31aab220e43758e47a6b8d56c2f7c1b5543972f47d873b81f4b41bd1742b63195669aebc33608ba41592c77a287e2ecfbb3ec3a512bf06f9cf193bdac916a06f34058ecd1dda55e7abd7c44d10f1679a17cd4d5c259ce9ec3ad4c27233207f69ff31308d386adfa926d625dca022b6cde5a67c07d2a485521b6bcd523b228deef003147568c5cb8b8ea1b3ba50fbf4cdf44fe53bb420e642cb84c0f2827679e905ccea6ae46ac5ea07f8d2f02aac29059609ee8d3dfa32d95adf669ec95821c048ca25d3a8dbd0f9cd40e5444ccbc3a3f02528be5b4e259f9beda532123f7b3e6924982c34200002269f28293b5423915f9adde8954708aff83aa1553f0873c7a0b86777ed80b1e6f2f196898c7c009cd80ebebc5426aa9576fc637a68a438a5c3ec3ade0017b08fe1419fe02bcd00aa7 +Msg = f3328c688ab764f3f497a8b5403683408dc7a888cd043a39c922ea4d66045fdd26afda37f1fe1a3216967dbe8d1d69bf7fa7ea1c07719c123bd2cccf666eda3c98ade11a616c9a50d9f27e83e3252be8b3fd09568e3a2da0d1527e2135ae16985115eb376169aef64591f32dcdb6936233b24e5fe9c5b588958a486c5b2adb9a +S = c8a5f44532aaab2c8d64485004e0e1cadb033d4b4c456a01f9a0f217fd7fcdcc0ecd6b788cf3c7db5e39012540ef2d692f04ba77da29b34d6c817dfb45e0a47ba5da8e7d96f5f929aaf85222d2baf9e7dc8756dae01f7881c99efaff21e0dbe554ef9127e6b30681cc21c1cd9d7525279f793eeed2926f18060c1fcc3538c63515dbd8ca6607cac1f65ca8a3ff9ef92b7a3ef68a5ecab366085677e7134b7c32b99a3056dbb8b7cc617e3d3a6d1a42e5aee5d24632919dccf6826677be8633819c27da66f0eeb3048cff202c42407a74469c114d496270e3574c5a516257986a234c1c6e48e868df31b6f2e6352a1d838ec8b582174e4a493a47a17c3ee0be12de201a9d60df89a9db145094d04f9637026d3a64d022b02b052e3e0cee55f73b729b09f6cd7f84f7abc1a357cc1e10b5a6cea2486aa8fdb0d36cdad9b60be1c6dfbd646c003647f57071cf6791f1e5e386ba876ce1afafe636456647d4794a0b932e8f4d600f85a2e6a485e9700844a1354fb6211eec8a25aae2ae91944e375c +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c6e57 +d = 051f421c32c0a756c8a63c01ea1b441c5d5843e7fb2133c1bef0bf00f5d6299bec53c51301a3cf01f42982e8ffd78144459b98e87520a1b8430ac2165b7242b3f3afa752eae194d5dd87e2a587d827f31aab220e43758e47a6b8d56c2f7c1b5543972f47d873b81f4b41bd1742b63195669aebc33608ba41592c77a287e2ecfbb3ec3a512bf06f9cf193bdac916a06f34058ecd1dda55e7abd7c44d10f1679a17cd4d5c259ce9ec3ad4c27233207f69ff31308d386adfa926d625dca022b6cde5a67c07d2a485521b6bcd523b228deef003147568c5cb8b8ea1b3ba50fbf4cdf44fe53bb420e642cb84c0f2827679e905ccea6ae46ac5ea07f8d2f02aac29059609ee8d3dfa32d95adf669ec95821c048ca25d3a8dbd0f9cd40e5444ccbc3a3f02528be5b4e259f9beda532123f7b3e6924982c34200002269f28293b5423915f9adde8954708aff83aa1553f0873c7a0b86777ed80b1e6f2f196898c7c009cd80ebebc5426aa9576fc637a68a438a5c3ec3ade0017b08fe1419fe02bcd00aa7 +Msg = 783379f295b2bb2e1dae5115b34c991854a517403a1c741d00f0c700080d146a1a2812c34d0a324f2b2cdc5f1085fcc4d3a0bd89a8f194e24569815f44489265c933a8df64867d3139ebe66d5e2c56ca8445a452dabe0eda2e377d3755450bafce7cc2aea2cda6ba8e13f6a964e8b012afbd5301962ae8ef038243f104ab872f +S = 330d94974270835358e4ad6a73a3b1686782706b5fcad43d7e5f66d61b7a3baa859fb58fb3aca262d4751d1fa766128f961b3a3380c83d3f9e250810b304417f6477446d288f07713682e3c9f476329df75db1e4ff0432c3f1a7b341348899288c056120a3a3844d1efee7e1427ffb533cb1d453cf308654499f26e16500d2ba52e94bd0c2b91e4f0fd747d73e04a81665d1e9e8a7e2b1ebcf91dd85043e20846908b2ab26a8f01a8a3662fa413046c68704d139616a4835223b04221e3fadf5a06e0b1eee722298e287932dc676a5038efb6c6035d1e064bd0255361a74e4f8efaa754a27fd0385b54ca4a4ff16422f427ef482393b1df05ce03fd30d82419a78dcc988e4dd2083bf97ae09c26a2b52a10de44dcf9ecba2b24803e93ad9e3660cdf00b1f65bc59b8a831461f92a263fae7278c1e421c80186251d33b7ebc14fece0135f39b3f9c8631e49e2069e1675c724c542b803398e97975c89b7a92649b790b1fdcbc1cde0fe5dccc6b82058067eb227fd6c60bab33a8c5ea0afee1617 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c7abb6745844222dfaa88f6022cba8682aad9f7e3311454a95a1f91f3efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c6e57 +d = 051f421c32c0a756c8a63c01ea1b441c5d5843e7fb2133c1bef0bf00f5d6299bec53c51301a3cf01f42982e8ffd78144459b98e87520a1b8430ac2165b7242b3f3afa752eae194d5dd87e2a587d827f31aab220e43758e47a6b8d56c2f7c1b5543972f47d873b81f4b41bd1742b63195669aebc33608ba41592c77a287e2ecfbb3ec3a512bf06f9cf193bdac916a06f34058ecd1dda55e7abd7c44d10f1679a17cd4d5c259ce9ec3ad4c27233207f69ff31308d386adfa926d625dca022b6cde5a67c07d2a485521b6bcd523b228deef003147568c5cb8b8ea1b3ba50fbf4cdf44fe53bb420e642cb84c0f2827679e905ccea6ae46ac5ea07f8d2f02aac29059609ee8d3dfa32d95adf669ec95821c048ca25d3a8dbd0f9cd40e5444ccbc3a3f02528be5b4e259f9beda532123f7b3e6924982c34200002269f28293b5423915f9adde8954708aff83aa1553f0873c7a0b86777ed80b1e6f2f196898c7c009cd80ebebc5426aa9576fc637a68a438a5c3ec3ade0017b08fe1419fe02bcd00aa7 +Msg = e883d8559b04cb610d3000d6af8887d72bd68e293fb7d5ddcc5762302a7c75afbfc6be9fd035ce9b96ebcc7f9533698529c315ae623e746411fd0b5d230f40c22e7e81914ad4c34022de2ea34bb0160fd4e92ec01e39f878ed208069c0f84a555e3589f4b2ec9196d8928f09780778bd53d23f261baf4b628847281ca83e7db0 +S = b0e596b45e09da386bacde6ec9c44e8a3aa54ad2d413c941bfa077de7b3838afeea98eb018ed40be73f5f8d617a212bc9eca171781c6ec837769d587450f17cb6a1bf594a620dcd254e0909a9ffac9814fdd4953b885cff3f099ef243206dc3f7c127325ea0bba1ea3341aaffcbadfee4845ebb55e3ad97e78bf41ca41eab4e784b6095be635ba7aadc5b58d702aa80fce64ff6252cda383557c37afa78148879e0dedc6d3828e8e8fabace3885f9f55ae887c44e935386a3d961fa7be2babd8716edb5dbbc0e587ba06a78e3492c6c029813a0dbead055c8d75573d70c3db7a087c8fdbd8c8da35ac2dc15f6e8f21df1e9f25d84b9ba186b3f3c8ecad13eacd98b18cb8ca2e312f1f7c7a719b184a524b003f22e4c504b2c085c85ffb1c035fc0717d1928922964bb837ce9ce4171cfbf09b6580281f7f8c0dfe0008ec4708352b47a0d812dbfce18fc564c6d1b0d5756848b08772c33c9a0052e1d50b4d9cba51e81d75ed097b6c29a0dd6ed5fdb2cf417eb0c1e09cfeac75149a38268821a +SaltVal = 00 +Result = P + +SHAAlg = SHA224 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c6e57 +d = 051f421c32c0a756c8a63c01ea1b441c5d5843e7fb2133c1bef0bf00f5d6299bec53c51301a3cf01f42982e8ffd78144459b98e87520a1b8430ac2165b7242b3f3afa752eae194d5dd87e2a587d827f31aab220e43758e47a6b8d56c2f7c1b5543972f47d873b81f4b41bd1742b63195669aebc33608ba41592c77a287e2ecfbb3ec3a512bf06f9cf193bdac916a06f34058ecd1dda55e7abd7c44d10f1679a17cd4d5c259ce9ec3ad4c27233207f69ff31308d386adfa926d625dca022b6cde5a67c07d2a485521b6bcd523b228deef003147568c5cb8b8ea1b3ba50fbf4cdf44fe53bb420e642cb84c0f2827679e905ccea6ae46ac5ea07f8d2f02aac29059609ee8d3dfa32d95adf669ec95821c048ca25d3a8dbd0f9cd40e5444ccbc3a3f02528be5b4e259f9beda532123f7b3e6924982c34200002269f28293b5423915f9adde8954708aff83aa1553f0873c7a0b86777ed80b1e6f2f196898c7c009cd80ebebc5426aa9576fc637a68a438a5c3ec3ade0017b08fe1419fe02bcd00aa7 +Msg = 1fada40d53af0011403e97c01556c2228c6199fa27625c9eb973120529716f2273f6fb70ef8771cfd60f658e028c2ac9f509f3f51dcc38b957d05cffb1768c4c7477ea4c621debb23cb3fd3f873a6e1f905d897caea7024ec7f494701525e8f92a18b9c932d836627910a7fa2dc654ce6445a2b8605b800412c50180dee84ad2 +S = 4824ebeea84b2e2a5044c5ba673be3122e744ccb4c431aa01a70214f371ed9b4aa65cf6311d844f0eaa02ac85952b480422f57aadb3be1e3abd83790637bba5b16da395d7d748a572d495287c9273aa090c395dfe35f581f230f9313b551e03746f3830c7cc0949c5b0d1dbdd9a87d315a8e62c5e4fddcf377730012e223279c2550043d550a6ca67fc3f0905ac71e35b596cba990e183ec0839f3c39846a10fc2f9a5a5868d224b1cc6ffccdf6e86f571bcdcfdd5f1cf5a48d3354c78ced64d212f62b8d0f439782e52cd32f500c8bbb71ee84432d0b81aebbb183a3c716d41ce0b0c31d198f96c813d8f0a3ff89294ab6546577119602c7424e933b99f7990a88d1ab6a8de43ca838527f49b610666e0985ed691e5d0f04c0f75ecd3623617999673a30487257a49db23de7b92c25f22bdc2cc167f20396098e924b2316a5152d67780580a77d886cc0abe4b17cf3a318b8e92fbbdd83e99a39cbb3b74c72dec839ea47f534235b1aa7ab5e7063e54cba623a2ccb730ac6f68e35a9bbad990 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041c48979674d33576e35ac38e33ec9179e365d6296094e7d2385c11c776 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = 9c213ea373631f572e5e46225b95a0f5ea8ab0a5ec7090a3b0181c5906dc22fd1bd73d11471242a2ed1824e601017f5b5354b92fdb43d4da00a82427d05366a4d552c40d69d200485d5d5db83cf523e61a834b40ccd401087fbb93d81dbed7b2ee2381a1241ac68f2afc02157ee0c73cc66c02a6c6eb2dc35145ae55d7708412a3410f204c492376d6315cedf253af91f31dcab34f72c206ad81e800509864fe9255d046ac25dbdf4954d2350324722e73c1f25d089f87542ad907fb37eceaefb330f4325e97f5eabc04096a8fabba978589e355445d9543274c1c38ff849ba8c2911f07030634c132ccaf4e4f57a5ad9244f5df0ee25af8ef2fc7b29fdf7cc18404e20efaaffa451ec41ab838d594906ff2cad52dcbd0e9a68ef7b06c253710e1318d09ad07012767a89124177df50d1684679e14306889d9a7ac5143d4861b7d6ae77992efa73e0aba9da0ad9a6888bc804dbd07bc26a8a5dfbd292a0efa96867fdb92e845c36e3433cf292e0e31662480257fcf466f7f65d814bb3e33992f + +p = d237dcedefae7051c2c9aecc8faf51b0893eb362493e14422b4016d2beb1521ec80d4ebf9c4422898ba10723deda53d97d5cc50beac75d6d04ed04df7c27730c9e1196a147c540e3fd5555411e3478d21feebf2fee020fd130743929d6fcf9111355a1bae69373db7051c809b9bbf4cb0e5112224ca63c6e5b390e8d838be282e04dbfbcb08e82b67dbf2c6e9aa7076ce477d2a11c49bd15ef02af6b1c88d547360f2141d8d504c7f1c0a25254d859b89b9917d6ca63c0fdc46b37603ab9adc7 +q = be21d5ae04eabb55dc83ae2d7cf09df964b240b8021a67a4507f3f9aac62617d7b605c1a72d1c096f2d53c8a68b3cf184e48d08355477d5f0c41cd73276fcfcfc2e4e73c0cfcbe1c937708f00bf9d830209b169d694a32e10315c1634674b29a1e45df96a6684ff88de17073324c14c3d2c6af760f575797a3634476541d28a3fa7f45b8bbf7c22d826cdfa941120f29a76e59bdc420778beae43cabb316453b5e3e106867382b88e0b064557c027dc0985007d5119a541a8653ff9a77e45959 + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efabb9 +d = 3eac1866e235d64b9a04d73c3f49707f5306ef236fcddb7dec19148a4bf34828c29bc50e75a0dc38d2671b502859618bf3f7e5f871305ad1df497275b62d36031df6c95c9b9d6873a42066404826407880194c61132c033c76ac169ad401cb6ed716e702bbe31611729f3aca1f5438c6b725d90117ca53e259ce65ad2fbc8a1a30faa606c3b97f1abac5a9010fa0788e9d7404fdcfdc55f9ec8e91aa5fdd54ec9325f02148c7c5db18fe52ed62758fcdb96372693f998b53465a97cacb3bbd4d0bc3d8731618a278e842260eaae8df65be8bb9f6f085220a062a1177f1092a9ebd4671350fb05d0c893c07d836e37e73c092ac426e630e9b6cdef36d326cd30e5ed8ff37ced35c4ac47cf01261616eddb191957eaa38b2600e08e784b2189248cf40f9dee65f066a8f1ee1028de601b6bc29915b9cbaeec2dc4fe7b13b840cf79a4d93b0c9f47b6447c3f1f832dc8cf7e5f98f68f97cc5d99346b1242352f74d94a727a5303b99670bb83419255ac51270bbe5d81328402614bae1c8236408d9 +Msg = c66e28557124273e4a1fdf519ad9fb646e761b648fec6c9ab4667b2df7eb4be8863aa53e9bf9af8bae0fc09de94f7373dc56fa4472b6b5c4235403a26c0e59557ca1911831ca843342acda7dbe72211fb5351d9a34205f0c77d219af5b0331a2126b94ec1adfcdbe70bed6f8018b2eef61db2b6dbf7292fa19a9655aac13fc57 +S = 89fb67fcf9eb4bc9c6ee9713ce1aab7dbe72b9c2f92bee7295521e2c9b1380b04df669f2a8cc06fe94d3843c64d4b4ecef511524951544b2d6a0770543bf45166fdef8cfff91d9b95217f1453ff353d9241d3d755b805a1e2ef9980782afdf3a9f3074f460dafebcf939b90e11e870f39b3d8221dda98c3b0d26ff5b953a4445bd4e63d915bde34f0ac8ba13b604e3bd5370142610064a12217a82e9f33f7e5e92d9a46d6bfdff3868923fc86d30d722e4f6d2e03cc08631f7f13a319278ee76ec014214983b011b5fd862fe189e84ea67499717a406df4d0bcb56b312f035be828f0380331503dee9b303a4f96bd687dd36fbc43c53a65496766ac2e0d6eda7e415be87abee1283998d56b1c54cc5f9bcb08c0a59c070c072ba260950c7500868808da6a7c0ef773e3d2e6d06a686cec36bc34a8ef7f24d26756e485dfa4b71db26174db3ef1ea61e15255579e63cb164eb6eed538c87ac43f7df50bf1ab83f2a85e753ad6e3611d36f2137801e03fdbf58d8e1416c008cbd7c49e0a44859d1 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d06096086480165030402010500042070e894dd23eeee6edf033588246d5c9a68d311a42be009b8626219d7999ec38a +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efabb9 +d = 3eac1866e235d64b9a04d73c3f49707f5306ef236fcddb7dec19148a4bf34828c29bc50e75a0dc38d2671b502859618bf3f7e5f871305ad1df497275b62d36031df6c95c9b9d6873a42066404826407880194c61132c033c76ac169ad401cb6ed716e702bbe31611729f3aca1f5438c6b725d90117ca53e259ce65ad2fbc8a1a30faa606c3b97f1abac5a9010fa0788e9d7404fdcfdc55f9ec8e91aa5fdd54ec9325f02148c7c5db18fe52ed62758fcdb96372693f998b53465a97cacb3bbd4d0bc3d8731618a278e842260eaae8df65be8bb9f6f085220a062a1177f1092a9ebd4671350fb05d0c893c07d836e37e73c092ac426e630e9b6cdef36d326cd30e5ed8ff37ced35c4ac47cf01261616eddb191957eaa38b2600e08e784b2189248cf40f9dee65f066a8f1ee1028de601b6bc29915b9cbaeec2dc4fe7b13b840cf79a4d93b0c9f47b6447c3f1f832dc8cf7e5f98f68f97cc5d99346b1242352f74d94a727a5303b99670bb83419255ac51270bbe5d81328402614bae1c8236408d9 +Msg = d69fc30f760dd6025878a1ba227e9be2a73cc19466bf386f53bb34eadb8018e72229df8c8f17ba4e8a9efa4e84fd31e93894948a3151a4c38d6c0e9d0054cf2c1ce99b66cfeb80352db2c7ca6f201b353cd5ed3228a116467b3fbe0b33407dc84c45c1453e7170dec81eced5eccfa0ed3b6692345298d620a59d0edd7b2c6ce6 +S = 3000b858d0217705959e33771853c39faca2f07db5600ab6b937c014433c030197a7e7834374c5c0ea66bee8e5e90e7454601e9fc994076758c8a06157c0f23332a9f36eeddf0779664a20c6db9ee884fbe8f845bb608d06cc027d572a0625d0fd548bed10ca9ffed8bacb67e6ded629cbdfc37b4f03e9a56407441d485eb26473ebdf120c4dad7a727c8fb254fd927b1fdfd1f76860f2e0106405f248d950950f87420900277ecbe5a2c7b77f7789da11ddc5b77ba7b6d8ce600e967d9abfd5648fd4040172416508e871785529fc3acd8d55ab05c5a761e2bf77c4f63438edb7dff5770e13efe4dd1e5ee625a751ed75b4e37850655a3d6096fb71ad2dae705a64dd41c84d1ed2b2980f5d80d35f6b7a4bc537b24a0a45200be4bdb71f1936c4665fefefda47752a383ba6ebb3b767c5c76b8adc0cc31f5dc9c17dc67467ae649442bbb9aa2af633f9a7559dc531658429f630a3b4cfeef84f8768554422905fbe86a6a4fb41a477907c4a51a8f0dd5d9b459ec4aa698f2e4d34c9358b85e1 +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e24d7d +d = 3eac1866e235d64b9a04d73c3f49707f5306ef236fcddb7dec19148a4bf34828c29bc50e75a0dc38d2671b502859618bf3f7e5f871305ad1df497275b62d36031df6c95c9b9d6873a42066404826407880194c61132c033c76ac169ad401cb6ed716e702bbe31611729f3aca1f5438c6b725d90117ca53e259ce65ad2fbc8a1a30faa606c3b97f1abac5a9010fa0788e9d7404fdcfdc55f9ec8e91aa5fdd54ec9325f02148c7c5db18fe52ed62758fcdb96372693f998b53465a97cacb3bbd4d0bc3d8731618a278e842260eaae8df65be8bb9f6f085220a062a1177f1092a9ebd4671350fb05d0c893c07d836e37e73c092ac426e630e9b6cdef36d326cd30e5ed8ff37ced35c4ac47cf01261616eddb191957eaa38b2600e08e784b2189248cf40f9dee65f066a8f1ee1028de601b6bc29915b9cbaeec2dc4fe7b13b840cf79a4d93b0c9f47b6447c3f1f832dc8cf7e5f98f68f97cc5d99346b1242352f74d94a727a5303b99670bb83419255ac51270bbe5d81328402614bae1c8236408d9 +Msg = fa0c34ce3cf0cf6e48488b2b8671a94ded157501c6e728adb3930d81eff4e34fd788839caa22c2f78ddf9989d25b83ee79252743f7703780370b9808df93c37fd4e76bdc00dc60bf5332b30407c71b98290b978b55b45567c1b3d3c17c66440df80f35b7c785706fa22920c4af1c37f404af0d02671b490a577305d251d62da1 +S = 60b39a9806dc82244820a8221985f08a775fadc715fac22e856abeae07223b0f7093d3d835e41a4cc1fcd239d129879f70e94014b5c46aa2919f3e13706979aa32172cada7f326423035adccb6096ca44e2f09146b38642605ebee531ca81badb5f5977c01ec2015ee7cb9f7ce12e0a3f586baba7c37e5bbc21e02bf887f672bd1eb17a7c785ad9020a22410068b879a0143b735b5ec44d224f0a095e239dd18d84d99eec82a2d5c3bcef4648772e337dc7b99bcc98bc33ad13ba1ddf36a43dc83aa29f4118db6b0899cd3a8f016fd0c456e80a654a86e0239c8a1e76d0293bf7f880e6ba3b2de37f6f2a6faf551f91ca685d3b26398b734de2599466a896c829a4949483c04cb168d0ae8721cd91b48780f495cf8093b52dfcec7b81370904195617df9b13ae1f06672690124a45c2c34cae84dea3d4db663303af2abb591db41c14ff93a491c008c0fcc1b8c3a00dbf3b0a7796579dc1c2279985b1231c9d2a10c46eb513c8b29797d7aea50b72224bed04e707ad81dc033c54849f0b7cc48 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efabb9 +d = 3eac1866e235d64b9a04d73c3f49707f5306ef236fcddb7dec19148a4bf34828c29bc50e75a0dc38d2671b502859618bf3f7e5f871305ad1df497275b62d36031df6c95c9b9d6873a42066404826407880194c61132c033c76ac169ad401cb6ed716e702bbe31611729f3aca1f5438c6b725d90117ca53e259ce65ad2fbc8a1a30faa606c3b97f1abac5a9010fa0788e9d7404fdcfdc55f9ec8e91aa5fdd54ec9325f02148c7c5db18fe52ed62758fcdb96372693f998b53465a97cacb3bbd4d0bc3d8731618a278e842260eaae8df65be8bb9f6f085220a062a1177f1092a9ebd4671350fb05d0c893c07d836e37e73c092ac426e630e9b6cdef36d326cd30e5ed8ff37ced35c4ac47cf01261616eddb191957eaa38b2600e08e784b2189248cf40f9dee65f066a8f1ee1028de601b6bc29915b9cbaeec2dc4fe7b13b840cf79a4d93b0c9f47b6447c3f1f832dc8cf7e5f98f68f97cc5d99346b1242352f74d94a727a5303b99670bb83419255ac51270bbe5d81328402614bae1c8236408d9 +Msg = 9b7687dcef6ff9aa5af4570ef50b98f09d6baf4bec99187a6751b0b3f927c9d1a16e7e56675944b09460c2bb22e5e3887218295d3d1844fccd5be3286d4fca661e4124018b7f1b503fb9a73b16ada3fcf1042623ae7610dd5835e3759a89d51b7ab723e54428a713c3c7ad97b7ab03d584f64fa728fda5a46fa959a26a1d1279 +S = 6b784ee0a868b7dba298549130204a5245f830a89388dc8d320203fca4f8a1acf33777a43e1b0bc00a6d7ffa6fc1fdd78f4b2edd65c28a2b3932388900a0b5b76b44cb78458b2adf23a19c978620050dd0b8fbeca50e8cb1559a85ef0cd11ca38264d381414b6b1c63e16ea415173895430f1b1f42ab1b0280a31d981c402aeef3e890a936d6b182e83383ba75b27a1799353dfa37faa7986f4dbdb14da99ef18787bac6832464235660b6669eb74a41a9260023115d97bcd14f8707b619b0ae1401a8502a818cc1625646ec58f76e529ceada77b25a5a9e328991b0aae5e8d0ea06c357c28b63f101cb90d0b5d0d9d8cdd606d91cb0b7cfdfd33cc5e4268b78b84827e87debfc38a70c9b86e7be02462a62bef66664162216b2ca06ac1b8f52785d3115e08008d8c44a77a4221af3df45ceab9c6744427a9a8d019a4ddda659c0a5d3bd7401e09d143bbd6e3867a22a26bb09551b91488be53f561b1e80fc2ad649d043b6aae138737d0c6d7e7e38be7c263a536278c6910fd9414f43e858b1 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d060960864801650304020105000420bd8e32c8d378c5d247deaf3be6e720b71d643dc2f2297d907025732bc93495d6efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efabb9 +d = 3eac1866e235d64b9a04d73c3f49707f5306ef236fcddb7dec19148a4bf34828c29bc50e75a0dc38d2671b502859618bf3f7e5f871305ad1df497275b62d36031df6c95c9b9d6873a42066404826407880194c61132c033c76ac169ad401cb6ed716e702bbe31611729f3aca1f5438c6b725d90117ca53e259ce65ad2fbc8a1a30faa606c3b97f1abac5a9010fa0788e9d7404fdcfdc55f9ec8e91aa5fdd54ec9325f02148c7c5db18fe52ed62758fcdb96372693f998b53465a97cacb3bbd4d0bc3d8731618a278e842260eaae8df65be8bb9f6f085220a062a1177f1092a9ebd4671350fb05d0c893c07d836e37e73c092ac426e630e9b6cdef36d326cd30e5ed8ff37ced35c4ac47cf01261616eddb191957eaa38b2600e08e784b2189248cf40f9dee65f066a8f1ee1028de601b6bc29915b9cbaeec2dc4fe7b13b840cf79a4d93b0c9f47b6447c3f1f832dc8cf7e5f98f68f97cc5d99346b1242352f74d94a727a5303b99670bb83419255ac51270bbe5d81328402614bae1c8236408d9 +Msg = 3abd43f1d741ddf0b752dd94197ab656288ff465e5dbccec6179f8932f02c248196a5e3f12247c376c8d1e004b87a73a5a64355fbc0731044645255beb91cdfd77d970e681ab70c19a9c2167cbead7a23f6043363c7aff2258ca6723e99aab7abdd322ef0b1ee116aa488dd181eb6d163f4bc3f24c7e5dceffd067f211658347 +S = 4740115f251b35cfe19d3816cc1fbf02b9a4d9470dc62b41cdb72284c30fffd34e7057559a73b44ac49fa7285f3e9a680bf1949562a47f01bfc55eb7bda9e291c9a5ce1a5d7b619590c0e1bd36943fa41b9cc9b2a3a742c2942c53ec3e45c77176e4bf32b7101ab4b05a996a21fe12921841f8f0fad1e71bdeff5a7f53e8766367311a98b9d8618a6198aa1662e587332c24283f9ecf2bb2d825f597d18256ce9c5864f1ffca37c4ec8df4f945cf22c974f5ef3dbb9f170b3978bddcc91b13b9e8550bfcdb74ac7349d531e1e3280fc005ac34c03608993b7876caf27c8bd5a97306292082f77d9144005bcd1046f27303185b6a7cac539f1e05805ee8d0772f37acc3e7fa0920171c19ec9266c4dd6d9e51766c4433a2831c3e5fb7d84341624ea9a25e1a2eb27ef2c7e8de491d94d8a8a31919bdd7cdf6073a1d88f452ff8d15e57cf6504a81843c24351c61a373b73acd84c76de916f290e0e9bdf51d8ffa63f867af587b5c759111671079ea28846466cc33df7683639d018337ebe13cb8 +SaltVal = 00 +Result = P + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efabb9 +d = 3eac1866e235d64b9a04d73c3f49707f5306ef236fcddb7dec19148a4bf34828c29bc50e75a0dc38d2671b502859618bf3f7e5f871305ad1df497275b62d36031df6c95c9b9d6873a42066404826407880194c61132c033c76ac169ad401cb6ed716e702bbe31611729f3aca1f5438c6b725d90117ca53e259ce65ad2fbc8a1a30faa606c3b97f1abac5a9010fa0788e9d7404fdcfdc55f9ec8e91aa5fdd54ec9325f02148c7c5db18fe52ed62758fcdb96372693f998b53465a97cacb3bbd4d0bc3d8731618a278e842260eaae8df65be8bb9f6f085220a062a1177f1092a9ebd4671350fb05d0c893c07d836e37e73c092ac426e630e9b6cdef36d326cd30e5ed8ff37ced35c4ac47cf01261616eddb191957eaa38b2600e08e784b2189248cf40f9dee65f066a8f1ee1028de601b6bc29915b9cbaeec2dc4fe7b13b840cf79a4d93b0c9f47b6447c3f1f832dc8cf7e5f98f68f97cc5d99346b1242352f74d94a727a5303b99670bb83419255ac51270bbe5d81328402614bae1c8236408d9 +Msg = 7ad9bf1f36f9897d2844872e582ab3513cdbcdb437ba01eb610ec49f8bfbff297eb26f5f84e44bae2a7c286a438d1b6130891db65fb5b3ed12d9ce42623cef3f83cf908d49a9c00bebb30d1d08a5a647e731c1fa037d3badc7d77e3096a5a83d0e9aea518e302db9f552fcf0ad589e28e93982272afce15408709e122f1d714c +S = 177e1c38251b8e9b406597ed90d09f666cbcd89f6863811fe7ef2df91a5333930052bf51c35aab93c77b4b6f8dd31b01e055303bfacdceae9c3a1b9af278100c11ed167acfe272c030dc358cae5780fcec0f6bc581e0c3b0b45a7272aa92707659c2b818709e2ef9ae2efd6b841cc82267f384cc8c87f66909dda9ce58e2e7c35e68c0c43973e9fe024642f04ba2b25d6dc956bee6dac19391f5a2bd5ecc64afd1c25af65ad8b4189aeded9e496a73e62e648cb1ff789d01c1610db96564b2b8fb42846ddbb1073f1edf6b807dc9635bc247628726e7d428562a48e4399846660eeccf851a47b7bd1dacc9bef14e3d0bdf7b22c7047955380dc3a1ef6ddfd9533a0bb0f511811ca3488076a4896a95127028dcd23829987680829d80d68c98be2a7dcd7c891fba6e46e4f99d4966c9d7db1975b60b4fbc1252c93a96f0919d5a4177bd578bcad8656ad596b173414eaa135c462cd5e1f783fc96da55bd41123e58b892618dc5919e4bca146fed14bbd54601635e69000b506044da3aab706848 +SaltVal = 00 +Result = F (1 - Message changed) + +n = 9e428342d2e3633965aecb89b0ed65c619c47fadb9a9017fc18c3d1837e5f6b4d0fddbf05bdb00b659bac9645f02c78f05e62d0cf57b977345eff5df2066e0eb2ae3af57ca3d0fb0f6a475fc36dfc6e5870b3ac5d850e2849fc32c9b16ac3b68d2f815e8c44d1418cf51f860356b8d409f20210cb01c2cc7e109ba76f6c43f2096876d4500012d8ed7dc1c35d24eae1ecf406ce3ec92606623adb8b9e17c3677c1fdef1a54d9442a9d990c0733f03b31633b11fcfa8c9f2b1114f307a811657e33d285093f4653b3ea1eadb28a792c835f975896996bbf029d1f688ad2e0b978888b07c3a12303fed92bf3fc6db29837ddc7c71292abaed99f3a0d7e60b15d9f2cd08d15318d70d35a7b7ff2fddb22d89cf261b8ba64242ba4616a93ddce2015977421d25f1b3825155746bc13f92a6097f7f66e919505af07706008378597af3e70c7fda3e9c99a763aab19ba3f459b12e8c1ae404d5091d802ae0dfd6b3619b97d3d964daf1de600b7446f8a7bfb3f4956a6d1fe967089bebdcc9b4ac7b905 + +p = de8558945e037cf576fd0bcb3860b2bf399ff8bf90b21b3f941f5bafb6148cbc6880e09b4a0353f2a742430f337f582b51003a5cf67664f50088a6291f4177a9ad572213c88c9187d83bd97ef014062d8193c37f3475527397182e0f4f75faae4592908d183afc3e2b4fcb35e7e6e9436c8216d56f2b8fdb35bbdbf0fcbf56dbcb6945f249ee9ff7c10715a0c7c8e5b240d4e5b1613e9866f9233bc30959dabf19cbd24ef25384504e6015c615c4e560e6393f61aafda2bf6d2ed051f82c85df +q = b6121374729c31bc4bb873f34eb87d8b06685d3893cacae6817dcdf9adf1c68eba6307f5e173bad04c731ba29cddc72160ef84b09beb14013dcfe61a601d708cece39e9311b08c5df106d1ababdb93604e7cc077a989b255a5ac7d5ebd7274d2ac23e9fe8e22f2cac136efd40a5a6a4194ec1ae0238e62f22061735227a989cf0cb3a5020e6d7cf745b090a7dada8367fdc50956e8ab506e8c71d765541216f64806426db767cb504ae3b1720083414a1ffba2b00646e8b7eba8a2ad6054b59b + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000df0ff7 +d = 065a1060a36f46a411b8e9209353662890b3036052c583327815b3a0fae01ae026dd0a895e4c41027b65a1b7b21e097451fde6b7c86840c29095c95d25973807371b88472ec91da3f6527422f5b98160c991d052e4daeaf59b2092c2fc8761a14882de09e0ac4ef554581383e28a0c2480eb78c918bdcbae872d1e0f8f21e7ab948f0e55ed5b05c7a9e2a644b66d47bea954cc182899dd6659eb9d63c921d3677ba412a653b3a24a9fa76b8179abfbca195349b4ddfe7f0ff13854ae27b9386a5c6821939c53a8e64fdf55d37ed166f6f864f3dbd1613efea97aedc49d41a2c76046c7ae7d5dba310ede484b75871e16f85ee756afeee065f58250cbbe0b4703d69dda802c7028074cd0ce308c65776928976cc9183b0ec58d02e934e4c1b99b4f28f2783c4975312c7f13514c91dc7788828df07be52c11ff5f1f4a3ef40d76e87357f2b269edb6ec531c693f9b3931c50f02d16e65d81c47ff5b5fbdf6efbb9f0bc7d190b56a4f740c8d5a8379fc4fe508fec56876400b1ac28ba913a87e11 +Msg = 6c2956c024c46d04fe8190d0383885e367b0485a0512aec52c9d48809f9c8a410a952ced8bc4d1b070c7e74c439bceb104c73ccfb5d7e0a81c0c45a9c452fa3a4572f094c58923d2bfb97c4b031ef620fe0401113c5724952b5ae529229cede8a129685cdbfdab9471be197681aa4757dfce5ec9a278c1b4e3f0f0a9c163ad72 +S = 1d096e665bdd8042e8f4ad8710042a3e0f26f95ac00e285e1bef437622dd6f3341a2a1840a09f680c982fba7a69e14e5e1b0d199751863996843696fe4eb46875b2ca707937b36bcd9da782039345424863af7275e002b25f913c60e56814ca4fa2b32769340dce790bc7b1d2c479a4ecaadd87869f62605e2302cc2bafacea33205c943c6bd60aba0cab77e67e220c615007479705df8bf41cc164d39e09b8ad34c4bf7b542bdf74b91e53f7ce30b9e9d29a1660c1a2051168927e422bdb9a8255db120adce8385507d0631392b62548bcf40527c265c174ed19ad00d9f4ced6c9a2f620f6d9b1f0bb605650e03baa4da21eb4feac20034f64b16c3c03b1a35f890c8dffb6540dc892dd3aa8942c88e3733173b9ba931bff106020bf3cd9f797ba14e9231efc45b54acc2aabf4caa189ec42493801000016b85b42c8ae0b40495ae3a530712bdf5d33f09660903b1605cf62a8be3773556f25d08c0a9d557229cfdb289618ea3dbf3390f9f916daf6b7cf909b541a72691b6f9b7f56becc8c9 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000df0ff7 +d = 065a1060a36f46a411b8e9209353662890b3036052c583327815b3a0fae01ae026dd0a895e4c41027b65a1b7b21e097451fde6b7c86840c29095c95d25973807371b88472ec91da3f6527422f5b98160c991d052e4daeaf59b2092c2fc8761a14882de09e0ac4ef554581383e28a0c2480eb78c918bdcbae872d1e0f8f21e7ab948f0e55ed5b05c7a9e2a644b66d47bea954cc182899dd6659eb9d63c921d3677ba412a653b3a24a9fa76b8179abfbca195349b4ddfe7f0ff13854ae27b9386a5c6821939c53a8e64fdf55d37ed166f6f864f3dbd1613efea97aedc49d41a2c76046c7ae7d5dba310ede484b75871e16f85ee756afeee065f58250cbbe0b4703d69dda802c7028074cd0ce308c65776928976cc9183b0ec58d02e934e4c1b99b4f28f2783c4975312c7f13514c91dc7788828df07be52c11ff5f1f4a3ef40d76e87357f2b269edb6ec531c693f9b3931c50f02d16e65d81c47ff5b5fbdf6efbb9f0bc7d190b56a4f740c8d5a8379fc4fe508fec56876400b1ac28ba913a87e11 +Msg = d17e77c2ae30cbc6e50616bfa30d7c59b961fe99e559e5b653ff642b63c3790aad701493435e7b0535eaedb45b23855c4ec662b5b86d0547ce03fa801a7bbb047ec1d14476f13c529dc815f4735872f75dff8ac5ed991a3a64f507b4758644694c5bf6fecf51d6552488d7a673130ad1edf4bef20d47eb361dbdd1eefd4cdce2 +S = 1739c5a5949f984829c5baee380da556de5b3fb39deeacbbbaf1409828c92df1d00149aa41195fb6fac035df1e9ee276df3d508928240bf0932a2f9224fc5aabc4f9ed4c413309c993536c8cd0d0551555a9ea8797a6f7ab60eada0a969f3687ef75669bff8d597aec3f8d868dacd1ddbe5f819817a8093f63a4127ae39e8dfd70c38fd1e56c8bb742ad9b85d61764c391050467d18d78ede56bb0f598823531a64a4d33ebda0a0882775a52ead6c404913e0ba876684321132069e420a8cb44b1f7b5d0ae431016eeb137c9a78a701936d5b7879f3f9a1d679860949b8d266c3676f46617add4bd8ad742d95aaf4dbbe6e123898240d123ce5c804bf448904945a928a897baa37aaca37ab1fc53f7c0f2a7de496edf5377dce9ed73f8321ab09083057c44529f65ff0846cda76c11f579ca00e4ad4e768ae3e19a7ad0a3876a0996bb829d03e9736d63e886bd2f9857d3280f1898b51be9d95e66a479faa76bab6bc991edde71a715846ed20d76cbf16e4e4fdcf6e91136350c8388a4db005e +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +EM with hash moved = 0001ffffffffffffffffffffffff003041300d0609608648016503040202050004300e027e22427bf928334373295301910871d904b4176107f83dc77ce26a2601564e30d2ff3a4fe6aee147523d5ac21d61efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000df0ff7 +d = 065a1060a36f46a411b8e9209353662890b3036052c583327815b3a0fae01ae026dd0a895e4c41027b65a1b7b21e097451fde6b7c86840c29095c95d25973807371b88472ec91da3f6527422f5b98160c991d052e4daeaf59b2092c2fc8761a14882de09e0ac4ef554581383e28a0c2480eb78c918bdcbae872d1e0f8f21e7ab948f0e55ed5b05c7a9e2a644b66d47bea954cc182899dd6659eb9d63c921d3677ba412a653b3a24a9fa76b8179abfbca195349b4ddfe7f0ff13854ae27b9386a5c6821939c53a8e64fdf55d37ed166f6f864f3dbd1613efea97aedc49d41a2c76046c7ae7d5dba310ede484b75871e16f85ee756afeee065f58250cbbe0b4703d69dda802c7028074cd0ce308c65776928976cc9183b0ec58d02e934e4c1b99b4f28f2783c4975312c7f13514c91dc7788828df07be52c11ff5f1f4a3ef40d76e87357f2b269edb6ec531c693f9b3931c50f02d16e65d81c47ff5b5fbdf6efbb9f0bc7d190b56a4f740c8d5a8379fc4fe508fec56876400b1ac28ba913a87e11 +Msg = 5e91f67cbbbfdfaab386b3ecf5f02aaa92d48ba0a6f06f913b37c73a6a6c2086c3f02600f0d9678d94435a5b79eba015ebfa89595f1eda6b59dfce2b8c315a444245b5a7fea518386080c3c64a4240414168eb271693b240c5db1a8b9d658278a138ac572f4c7911dfe4f416ae1e92965cc9b9f412767e7848d2b344e6332189 +S = 56f14f6bf965b67d83b1401c8b23f4355c0f9c0d1db670f23c89086ec627df88fba5affc742661b0362728f83c447474348ee700ad8d58fa48e4a65a1d5bdbee40da7576d3b5c7071fbc9d9f98f083a9ad9a1397cf023abb81b2b0998db238a053fc4303c057ea27c542013e5cfab46bccfec5abaa3887f18eaf2878a114e5c2ef6957f4297a7b6ab006920b2c4b0ec53ceb8539c6143245bb357abebdcd699219e5a617848ff3eedb931373d3ec38a067685848c21be6f787f609b482363bf162b7df1db2f579041bf8349c34b88e48a7dabf178a3fff29dca6af55c45b4f94b24c68fde29f25f258cb3c44c8abb460c4276a5467e8547dff71f9ddf806d884f34451cb5adecdf854ddc8004fdb0bd301f36218ac78c37f05000dec91248c16fb8fa24d60b0b224638721f54e87137125bc815b2adab635b596890288fac155b613785cbf52582f81159212230bbd7d9de687b890d409ae477a61f089a174d4dc7b90bd4974d0b79b2e828d35c853bcbc46cba6a3a31b95d631af2af2051fa6 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = P + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eb8f15 +d = 065a1060a36f46a411b8e9209353662890b3036052c583327815b3a0fae01ae026dd0a895e4c41027b65a1b7b21e097451fde6b7c86840c29095c95d25973807371b88472ec91da3f6527422f5b98160c991d052e4daeaf59b2092c2fc8761a14882de09e0ac4ef554581383e28a0c2480eb78c918bdcbae872d1e0f8f21e7ab948f0e55ed5b05c7a9e2a644b66d47bea954cc182899dd6659eb9d63c921d3677ba412a653b3a24a9fa76b8179abfbca195349b4ddfe7f0ff13854ae27b9386a5c6821939c53a8e64fdf55d37ed166f6f864f3dbd1613efea97aedc49d41a2c76046c7ae7d5dba310ede484b75871e16f85ee756afeee065f58250cbbe0b4703d69dda802c7028074cd0ce308c65776928976cc9183b0ec58d02e934e4c1b99b4f28f2783c4975312c7f13514c91dc7788828df07be52c11ff5f1f4a3ef40d76e87357f2b269edb6ec531c693f9b3931c50f02d16e65d81c47ff5b5fbdf6efbb9f0bc7d190b56a4f740c8d5a8379fc4fe508fec56876400b1ac28ba913a87e11 +Msg = 5c5ff1160746c63bedd787e27cdd9f581f2286c7aa3d42aaf8ab2e84d221fad21321f33e0acc841520f7fdfbbb8094de62e2aa2821084f392f5f0714ce2fce58732b5b732747a2122dc99cdbe5a34a5ff000f84a951dbfdd635a4d9f1891e94fc2a6b11c245f26195b76ebebc2edcac412a2f896ce239a80dec3878d79ee509d +S = 824b73c9a5008b6bfeec6696ce8c3560d2da11f6dde2f8bec7b1d447820171d46f88654b30be09bd7496739c86cc393cf06496c7cc203cdb739a0b7abb5bf82d043bcda57b6a4f2d2c03f813cf01c4e68e2a2ea5a2199ed1798c017749e35cff02d0daf19521ab65234ac7f4a2e904ce4f7c2d559537ec161b6ac5895677ee9a3ad1e89330a02557845601ee76e5c4086d8a25bf49b27d7f23bcef3fa74ff1fe752069245528f9b3e5774591d855477bdd7df7b76258f3c654840ce0c9adfc4e8de5c20cf619e7b7ff6e9d3d4c6503551b38134d47c6a944afb84302db1ac48b54f980819393142c23cc6bd4bd3ab519d42d9bfc9be75df722aa6336d341d9703874e41ae2899248a939b57339d6ae6431513d6aeddb91accbe990491c0c1c06af81167993eee641ca06a1fa6ecedfea2162edef08db09adcc235eabc7f511c8aad8cb0f9f9601e400a258afc1b249b47130474747ec710c26e0528595c968f8076354b0ba5f422d417302d47572cb2394d373c17096edfa8b4ebe2d74a9c8ac +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000df0ff7 +d = 065a1060a36f46a411b8e9209353662890b3036052c583327815b3a0fae01ae026dd0a895e4c41027b65a1b7b21e097451fde6b7c86840c29095c95d25973807371b88472ec91da3f6527422f5b98160c991d052e4daeaf59b2092c2fc8761a14882de09e0ac4ef554581383e28a0c2480eb78c918bdcbae872d1e0f8f21e7ab948f0e55ed5b05c7a9e2a644b66d47bea954cc182899dd6659eb9d63c921d3677ba412a653b3a24a9fa76b8179abfbca195349b4ddfe7f0ff13854ae27b9386a5c6821939c53a8e64fdf55d37ed166f6f864f3dbd1613efea97aedc49d41a2c76046c7ae7d5dba310ede484b75871e16f85ee756afeee065f58250cbbe0b4703d69dda802c7028074cd0ce308c65776928976cc9183b0ec58d02e934e4c1b99b4f28f2783c4975312c7f13514c91dc7788828df07be52c11ff5f1f4a3ef40d76e87357f2b269edb6ec531c693f9b3931c50f02d16e65d81c47ff5b5fbdf6efbb9f0bc7d190b56a4f740c8d5a8379fc4fe508fec56876400b1ac28ba913a87e11 +Msg = 6a798995eaee88b861274398cff6d0411e6995d5fa4fb92fe2f7d8c57f3bfbd335bdc7b6f971f495625c0147029b2671f6a68befbcd6b77645254b774b36f046e5958e7b593fbf99316583ed916d35b9c73abd9224ad08070a6bb58347e11175a18646adb260cf09f7ca2f522374e361b9ab9586d9db922a5a527eb21a4647a7 +S = 62f35bc627d3cc3e8ff8c9405295f967d95abb90ff3bbffb536f4a14d05d6ea88dc092a05a46847baa76837383e9527bb267ed8db2fe4a94d47dfcd8e23eda67f75a4fc9e276dd3006b0cb5ac21ca483a8020b4df3485c5fd6495577d29d32c6d4429b042f3be4675cb56ed5d3178aece1e8c938106e5b8c1111f2265f6204fc7ab87860301a1b15577c605a0be4931048753762d7d4c2cfbf3e873ed63b2ad9669971a32be0c8246b862cd882ebec164adaf79e37b3b07c9ca193887f370573f2fb9dcd9b3c9a0a155d5d622e1196216474fa2a0982dab39e01d6654ee4b36817bf5f0eb0ef0c65b7dbe1dfd6a6524df99895ffbc264b93bdf61502b7e2c9bcd63e7133c611f5ea7e3218d001aeab09d891c045cfdcdcc049e5cefdeabd617af83c96e29a90133d29e4a2e6dffb370bbb64ffee31e3a6bf9225df8fcc0c0ccc7606b3dcfd883c3950c80648049673cc65f0e443edb63b26bda9b554b2996960c7ddeabe849e871199fb54566913a7992f007b54fa8aefc7f95561cc030e80b8 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (3 - Signature changed ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000df0ff7 +d = 065a1060a36f46a411b8e9209353662890b3036052c583327815b3a0fae01ae026dd0a895e4c41027b65a1b7b21e097451fde6b7c86840c29095c95d25973807371b88472ec91da3f6527422f5b98160c991d052e4daeaf59b2092c2fc8761a14882de09e0ac4ef554581383e28a0c2480eb78c918bdcbae872d1e0f8f21e7ab948f0e55ed5b05c7a9e2a644b66d47bea954cc182899dd6659eb9d63c921d3677ba412a653b3a24a9fa76b8179abfbca195349b4ddfe7f0ff13854ae27b9386a5c6821939c53a8e64fdf55d37ed166f6f864f3dbd1613efea97aedc49d41a2c76046c7ae7d5dba310ede484b75871e16f85ee756afeee065f58250cbbe0b4703d69dda802c7028074cd0ce308c65776928976cc9183b0ec58d02e934e4c1b99b4f28f2783c4975312c7f13514c91dc7788828df07be52c11ff5f1f4a3ef40d76e87357f2b269edb6ec531c693f9b3931c50f02d16e65d81c47ff5b5fbdf6efbb9f0bc7d190b56a4f740c8d5a8379fc4fe508fec56876400b1ac28ba913a87e11 +Msg = 1470f2d65fd72258e662671936f46a2af03f6000847eeac83d673afa7e5b78314be1643a0a523c6a8bd6e035478e34fde513c6280320b175328bc190427ad7e4c1d38fb0bef4215dd2a5850f624adb7a1e5e09f7cd1ca6d64d7f17f6d56df7947e2fbd61022598d7c3b89ecc0f8f2648a20672946cdc9293952b8455bf9ea0ea +S = 99a58b0398830437da35a7689255de79718f66c91cb07f9dcb33293194f1dacbbba05013e8df993f06654c45462b3723c59c269df07a5ca742fda3236ff32bd98be7cc2e2e7d5c7f88f409b2a0b9ee85bbe33d0e84823fe6ae1b4e38292075d0315959806254773175de32162b66c7c68ae0a4eee7b1e947f20359a83513e3bafc365933d32557551b9d3fba183736201decd6a1e1616f18c6264db3e905f36f98c4818b6fa54051e95feada6c642ea1a3fcfee595a172ea05ab7051001a55958c3a733e69161b441fa1c97ddb07f9d73da7273fda4e4b3a0e5a96c2d0e462348ed05fd5a23a52bc6e08a73e6b7c595db42bf36e2fea5120b605ce1e8503f34b676354f8f861f6185d1aedd915d07f978366da1a7d2e4a220c43babb4d60d2a543f0406fbd205b8c6a759374e8f17c5c49efc0c0a2f327eb0c0c681483af84c88eed6da33e222fc8937ce9026e8533950b684bcfcc7c450ae5cd750a737f718c201d33625a95a4dd37de920ba97af7dedd961d0e8f5b61f9007013ebdad61044 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d0609608648016503040202050004301f09578504c1cce886eda5d5a0fc75d75ca3e92ea2d4e921614ea3fa6740568ce63b537fe252a238ce3f3749c0529634 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = b43d4a446de45aa8f336b93a4c5923f3a5386ef8dd1e94c42300de0880e9bd0828fb32e36e4c50cbf666037a8f2e05f45773896c10aea975b3dbf4c4cdfc24a038c5c06d361baf84c38fc22c03a36b9dce38e090111d9c1323d7a77d3e04b713faf740965a9e1883ee3775489ab514ce480786f9eb741c60ab896a9d6eae3a53ed9268768c21f79e30759e0b01ab7fa224ea8229c293780058f258e9226d7374ac425ef1d2b6e06e5b263df0c6d66c00ed26cbf246a5af0a0163336886ef8d929b37749a08f0ec1db05973a8afc81778b6cc9106f92b1453f1528697b1dc8dd0b255e801060fe179b2d10a9c4c3e13f3c56fa6d55166f6461af4aaf4f4168fd5ea6dadedaa3f9f1de4de993d8844357c0af79a090ecc80570c641545beb42a1248a52de612f2e0f8834496331a7354f7eb91a1943b5cb3b6cf198451735fb554922f04f009a52a15d99369adc2e46b09bb871f4f3ec1905acd792b8c81a3d74b316ff9d20b93f48817ae618677dc9451f582ec9995f44552f4244953cde83f11 + +p = e782323595b93c1a254a5242f9f90847f79c9370d1b593814e8a83aba26fd615db10aae5d8b074c8107b6c55475e47225dd2acfd5e778ddd44ed46a2f719344d5598e0ab92125794c1024b2dfae9afea5f90829f26ad8ac225de66a6c43e4facaa0b18bfad49d20b4ead85f4bbc152a787c7da5d26a4de3872ec19971a672ad246ea92524251d9d17e36093e57d7f7ed037fb71eb6e45d4c61920120ea9715b246fc0265f047e44d17bff28cbd6376e6c4404c5666000eba33d23c1308e2bad7 +q = c74e9a55518c0a907edd27edab0e6435724298dd55053fcec4aae3c5418d37f73a84a4b9d260764ff2755aa17349c6e25afec24e60d4f559b0ba94aa4547fdf38c621e8380c7c1fb43bf07632e308aeb479974e5bc36cf13575ac0a5c1096af00dcbac029e66887eb547070ea4f1576c091134b1c4f003f8ca5fe4208419ec5130680bee2b44d3c1419c1e1297fcd9421ec64b09a1cc26927009aee2b9aa682f45cc957e1f6a886fee9f1e549599260be05ad9b8302571ac8f982407cf634057 + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098ffb +d = 05508e4aec1e7eaddd40204c8a3a389048792b4d1f150dc53a109ac8055fa94922782c43c3071236658b1c7b5d07b2efaeef39449e028097980b0a3a20406847ed3f795d03d5fced2a390824589f571f5dbb795d977e8b769add7f4ee765829d59b4b5b58ef0daa6c8682f138449d87ad4307fc046ccf63603eff9eeb1482dd74da255984f2bd300aba6b9549d5d6eab027f73a8f9695a8140dd6c839ed6f04819c38eacd8753bbbbd66f34dd16da4044f93a500c4803f33f6bc20be75d13025461fc5b783d9c76464e895aa823f18d7fe7bacd891e7f960fed6f7e877413d460a1ddc4e47e7decb3faef41c3474fc9bb43303b8027130b4862158d017f0570b519b3f8755e68bba1038ca250a1c7cda22c3bda9aaca24a50a568cca52ab722141bf8bdc07770e693296645272582590328e4f1169ac57aba774a9818989c4a069104a9dcce872ea45b2392af756d97206ac907c6fde9ce533083f5468c304ff2e4defcafbd5e235a24156eef60594e9f2f49740a60ff36237c17e937c2751f5 +Msg = aafe2e086cd97ad052b192e43eb18861ed6e2a27cf6e7d7f16e767020dc8acb6acfd1c7969ef0aa3504bffe75605b07aeb9c2e77ce9f5d832570a7adcd48f197ef7bcedbd4fef3a8fa26ecac67b20d373d0caa9d8fcc8bdc737e9a7e58a5dfc19a00aef6540b1f2776c9bffc17c185df0c46085fb9fceed22798a83f57e75d7b +S = 2b6dcd7b7b261f67e950ce9ccafa8675e2cb70f971917d557bfe8fe87f81f4370a04e0b05bcb96e599483c18c3a4ab39dbd1b74098461fcd050139fc8ed16a62ab95c3aba51e23e03ad615990450bbc60bab43c1b8f4b965b0d6ba86b0600cb360acde39b9958e12700ae7a9236efff9ac5f43a44f7ba0110b4ea1dd9993a5b6fc5e748ea2e4085db6fd486061a56925d705f3ab1340149d7133c02075330f9e8ba591b361da737a69c5a5ff7267eedd23c1a5cd450c339dc93f72c6fdba6dba2efd896f1436b8840422c15b932ab9699296596250097aba06f69e6c5a3e4337e9c7a52cc3d80ad07eec1591d5270f32e6cbf633cbc37924c041696c2ee60463087d0d29346e2c3f8eb86021dd8b37b5bc3fa3078afb5105aa6b648fd6b73a3defbd4f35e14276891b5c6f9fa1394b9a0ef14cc1a6227c7bf682bda835f8b6b6d8e9c8ea7c0d5ca3213427f8dd8c91c0096d5c64df2f8e0484bbee604d41b009fe43262083edd5479df5a491034452df9f5111623d87413b50ddbe7c5b0e948f +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d06096086480165030402030500044093d000814d179841da60096f7037394492994ca259c818d0cd4801efbe867deee3b443153050f00a7ffc1cc8e95202c9f08c17dddef88f6bbac42763c43d1a23 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098ffb +d = 05508e4aec1e7eaddd40204c8a3a389048792b4d1f150dc53a109ac8055fa94922782c43c3071236658b1c7b5d07b2efaeef39449e028097980b0a3a20406847ed3f795d03d5fced2a390824589f571f5dbb795d977e8b769add7f4ee765829d59b4b5b58ef0daa6c8682f138449d87ad4307fc046ccf63603eff9eeb1482dd74da255984f2bd300aba6b9549d5d6eab027f73a8f9695a8140dd6c839ed6f04819c38eacd8753bbbbd66f34dd16da4044f93a500c4803f33f6bc20be75d13025461fc5b783d9c76464e895aa823f18d7fe7bacd891e7f960fed6f7e877413d460a1ddc4e47e7decb3faef41c3474fc9bb43303b8027130b4862158d017f0570b519b3f8755e68bba1038ca250a1c7cda22c3bda9aaca24a50a568cca52ab722141bf8bdc07770e693296645272582590328e4f1169ac57aba774a9818989c4a069104a9dcce872ea45b2392af756d97206ac907c6fde9ce533083f5468c304ff2e4defcafbd5e235a24156eef60594e9f2f49740a60ff36237c17e937c2751f5 +Msg = 32aabc83e58c61f89b6812528be8e61b9e9d381526e6fa36cd144bf1cbcb4cb75dab30be72309301a7d70d88758306e9a91ecc0f1583e23a869c9c47f6c7e832027f6fd99e38dd02078a7ca0f99208522396bf2dd8e7b7bb070c74436d1cba4b096ca05cd06ae605a3c988227edf935ff24b38f7d5da1fc238acfe6e9992690c +S = 61a6f61268a512a0304fc5bd13cb236d7415793cc35593f0d523296c9d7ecdb8209165757ec37db671cbd2de9ffb35aa24262a8cd7d60f52975ea64162beb6a14b0c6379fd11c246098f01b32fd46cf5f23356fddb33a7ca2690d92c70f5dc87dff321bb0b33b5e3fa7254954d45ec8deab369807683f07c6e03853c3482841aec307e53eb798b23c31f2570cee10340becae99e980d12f5d95298a09e3c4d3e9d557e3811a125aa41e8c9051aa0930441a5ceec751e1d73a37373b15cfd142b65164fb923b05b55f8d643a38648d54186b5c21fb785ab7f899b3615c8a003d4a37651238ff0e4a598661a79739005f7755ffea700a70bae33b0ec8c3b63064aca6ba4ac029e2d7964193f187ea84f964900acb3700e72ae6e40ab2af3886bc5a1b935959e95c338f9948a749c8e2d8abb91deef6b89fb21877b4a84a27402d98718e32ee051655e78533e928ad45f9adaaf3b12d9bf987955cb68ce67ffc7abb8670b80abb91d7e41ed85672fb8ee2aa54cf1e642839c7199b251bc1a887e06 +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098ffb +d = 05508e4aec1e7eaddd40204c8a3a389048792b4d1f150dc53a109ac8055fa94922782c43c3071236658b1c7b5d07b2efaeef39449e028097980b0a3a20406847ed3f795d03d5fced2a390824589f571f5dbb795d977e8b769add7f4ee765829d59b4b5b58ef0daa6c8682f138449d87ad4307fc046ccf63603eff9eeb1482dd74da255984f2bd300aba6b9549d5d6eab027f73a8f9695a8140dd6c839ed6f04819c38eacd8753bbbbd66f34dd16da4044f93a500c4803f33f6bc20be75d13025461fc5b783d9c76464e895aa823f18d7fe7bacd891e7f960fed6f7e877413d460a1ddc4e47e7decb3faef41c3474fc9bb43303b8027130b4862158d017f0570b519b3f8755e68bba1038ca250a1c7cda22c3bda9aaca24a50a568cca52ab722141bf8bdc07770e693296645272582590328e4f1169ac57aba774a9818989c4a069104a9dcce872ea45b2392af756d97206ac907c6fde9ce533083f5468c304ff2e4defcafbd5e235a24156eef60594e9f2f49740a60ff36237c17e937c2751f5 +Msg = 1a943837eb6a0bfc1f7ff310c143ef836d6c2ddf59eb2bb9941e1c8590478dafdf3d48e73a6178bcc7d40f6c9ce765fa7fd32182efab5dca698e0519e421804c9e3c93261ae482e8697a7821aa3128c8cdc6b5889c6bcf5bfb04205a6e95e6d4ddfbe19d94db6fa88ed9f6d8f30a8214dfabaf9a6513ca95d4e633f1388c056e +S = 1f105915ef819f8a2464f76f02f389a2a299dc8a0a5ed7028681a6414e3b75efb80c06d8a64cbd843afa275e49b57b320ea1c65b776db4bb41dce07dd7f4afb653e3e0b814d678c481a83e74e18ec1f6b2933470c98e7e5b12ba594a9412a52393165cc2d570724b9280d20795b0a4eea2025bbb02bee259b842d1f8e315dd94857855b37dfd498c64035de39435a17235d45233e4637b7b6d3fdf295ccfb82133ef2d97d8b1edf12e4ab4ec12950180e80f2f2e43acc2942e34b15bf70515be21004e2f5b4f2e272cafe84cdef2941036a23ee99fb141f6fb70d8c09b461b503632bafe36a9a61ce7a148e4d3e29468c1a47b174c2befdf47b00d2a271699cb723fb0833ca94fae4d1b5c3633f4ab1277f16ff4ebededba2eae21f1b545ae74384d85d0cd5567e3d8e7cd89d03df9834ff544b21dd0b99d9dc35cfdfc9c116903316225e303198f18bcba8b8480a586f452bfa4d57ae7d6768dd72ccb96849805291bf9d03052895cc6367ce97fef83363e8e8e6123b14a9be0698ff42e6222 +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098ffb +d = 05508e4aec1e7eaddd40204c8a3a389048792b4d1f150dc53a109ac8055fa94922782c43c3071236658b1c7b5d07b2efaeef39449e028097980b0a3a20406847ed3f795d03d5fced2a390824589f571f5dbb795d977e8b769add7f4ee765829d59b4b5b58ef0daa6c8682f138449d87ad4307fc046ccf63603eff9eeb1482dd74da255984f2bd300aba6b9549d5d6eab027f73a8f9695a8140dd6c839ed6f04819c38eacd8753bbbbd66f34dd16da4044f93a500c4803f33f6bc20be75d13025461fc5b783d9c76464e895aa823f18d7fe7bacd891e7f960fed6f7e877413d460a1ddc4e47e7decb3faef41c3474fc9bb43303b8027130b4862158d017f0570b519b3f8755e68bba1038ca250a1c7cda22c3bda9aaca24a50a568cca52ab722141bf8bdc07770e693296645272582590328e4f1169ac57aba774a9818989c4a069104a9dcce872ea45b2392af756d97206ac907c6fde9ce533083f5468c304ff2e4defcafbd5e235a24156eef60594e9f2f49740a60ff36237c17e937c2751f5 +Msg = dddb05cb9bf10c14e7dd1e9f3b3d2b329a17f31676281011d2783794a432bb347db3525e6be11c471fbee1234b3d9b974e543470135290953673ce3a69b1cb5717dee85947f00e17c29cef0778268eb2207701651f70752aab7e74f6306e6324f2834f22f5c6e96b1a9eceb58aa00c6b57a8e25d6129c8b777c1af2fbf118a83 +S = 11107c6da7a76dba8ce8de3d5c90c6bccaf33fb9a7ec4d40a97fbcdebaf6e65c095b67dfa171c54a3364a6ded718e1bebbb497d15f1de133b58297e08c1b200f8466579cb8e9c3dbe5f724282e5bb28570a41d8d35ad6e131eb2a1d329d8b08d10faf76fdbe74217a276936b1593b1d3a11891d18641c0bee0c37e68bf75add9e7dcf3b9b4413fa3ec90676038161f68fe3af64d69a16fc22c8ea7c06f86bcbba6679b6fa45858c87ec2da8896920dfd77fd16d953e984624203cc2178d220fa47ba9a6ddbe759db3dc4224c7ccb09b29e200722a745d3329209323a082a3f7a2c624b4053fa42183dd22b7f49c4569f8c3d49515753b993ef8122c36985e96a3289af8d6e22934bbcf7551b1570923158d1b554c13f4fe08faff4898be92f6e66ff74a80b13703e0d2665db715c559e68bead6f6b7593f02efbd68c676256ae8695a51dab90e32986697f4ede076628176ca6b651918d749fd01a16a87adaad4aae93b8c05d92565ec68217aaab967623da3e5a5095642cc17d730a6d959cfa +SaltVal = 00 +Result = P + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098ffb +d = 05508e4aec1e7eaddd40204c8a3a389048792b4d1f150dc53a109ac8055fa94922782c43c3071236658b1c7b5d07b2efaeef39449e028097980b0a3a20406847ed3f795d03d5fced2a390824589f571f5dbb795d977e8b769add7f4ee765829d59b4b5b58ef0daa6c8682f138449d87ad4307fc046ccf63603eff9eeb1482dd74da255984f2bd300aba6b9549d5d6eab027f73a8f9695a8140dd6c839ed6f04819c38eacd8753bbbbd66f34dd16da4044f93a500c4803f33f6bc20be75d13025461fc5b783d9c76464e895aa823f18d7fe7bacd891e7f960fed6f7e877413d460a1ddc4e47e7decb3faef41c3474fc9bb43303b8027130b4862158d017f0570b519b3f8755e68bba1038ca250a1c7cda22c3bda9aaca24a50a568cca52ab722141bf8bdc07770e693296645272582590328e4f1169ac57aba774a9818989c4a069104a9dcce872ea45b2392af756d97206ac907c6fde9ce533083f5468c304ff2e4defcafbd5e235a24156eef60594e9f2f49740a60ff36237c17e937c2751f5 +Msg = 0b03b1950e6974afd60ed2ef4d40b3274e825b24c327a4df0a208af79e13ed5ff3ad9354a1386d93c5701bc8a492b14992b7bc04136080b73f52845f6ba451f205167650c0a4cf77f15b07f7396c5ca7657fa29592498b43956125109a4fa4f40ae66270b3d524c523789f6554f43ba78f8216be8a0b4cecd4f676f3723e70cd +S = 5cfef1fe1cb83d283a0f55ff2a3005b5c0b6626696de1b2e4033b6fbd69ab4990bd5d696d82b4418d7a996ff4c47dda4031bea00bc24d7cf866295668b340664c0479b9084001ed293cfa845cc4c7f57b0279c47fbc9f8702ae11e1cf6daa9e2c73e80b4fd14987b08ae56d77ab30a1a223d9220b7e1a43d3d2a5bd83833167074756f9513a2b74c6458c5e74c25ca56165a10eccaee5443e1e370c44714c3d9a3bfe653d8222dd633c3128eceead38f36f4141657f5edbd469a5ff0733828e6c4cd35d50c8903ff5d70136a83e7186135069d962ebafc9d0280553ac62d221e116f77734e20914536dc5e367d8d3188f3f4e45d80970c606461321a4136ea0365324d989a1beb81600afe219cd18429a0931e15475e6d35e04b1dfa2aa605fd3dd98345f57109528d45d60239e50442889fb8fbdc3c61c9c6c40ea0e531ea1e09a20216ea87d4c5d7f16669b46be9665308532328e62d2c50028c0ebba52b14d66a4bd0849a5413a0a7fbd770015ec0e38215898c1662a0d1a5eddfafe67c0e +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffff003051300d060960864801650304020305000440ee0fb695d97f342c22b8ed5421c8f87296ad11282dee513a15674466ca5b4f0fb9bfffbcd718195e594548d22dca20d90f72064921d3bbbe626d47a7b309ab46efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049be93 +d = 05508e4aec1e7eaddd40204c8a3a389048792b4d1f150dc53a109ac8055fa94922782c43c3071236658b1c7b5d07b2efaeef39449e028097980b0a3a20406847ed3f795d03d5fced2a390824589f571f5dbb795d977e8b769add7f4ee765829d59b4b5b58ef0daa6c8682f138449d87ad4307fc046ccf63603eff9eeb1482dd74da255984f2bd300aba6b9549d5d6eab027f73a8f9695a8140dd6c839ed6f04819c38eacd8753bbbbd66f34dd16da4044f93a500c4803f33f6bc20be75d13025461fc5b783d9c76464e895aa823f18d7fe7bacd891e7f960fed6f7e877413d460a1ddc4e47e7decb3faef41c3474fc9bb43303b8027130b4862158d017f0570b519b3f8755e68bba1038ca250a1c7cda22c3bda9aaca24a50a568cca52ab722141bf8bdc07770e693296645272582590328e4f1169ac57aba774a9818989c4a069104a9dcce872ea45b2392af756d97206ac907c6fde9ce533083f5468c304ff2e4defcafbd5e235a24156eef60594e9f2f49740a60ff36237c17e937c2751f5 +Msg = cfecd702ac5ea7606bd75b26b2746b7b5db330e92085a40e6ea56a949a270e633d548d14d7b518a9b96e157c22ce6776a823ef81d9d3524023a8fdfdf16c67e317b6966d7003e51ec5080473f147401643e1055424aba1d1fa834a7a4ce563bc26b9fbf3bf6f9726594e31f1690980c2f8947a4949351829bcde59f4f2ba8956 +S = 1b94c923251a32c3cfe4dbfbc78e577aa9953d6f47e38a8d3e844a985d60eabd69696f968d5a9f476baf15b2d1b1febc95a2dd133a870b14d67a3cae49b3d473afc3ace7f0b2884da88494c426b9adcd1b40d5efc409622788faec52a6825a1325e922bde9d1be6de33e1ac05ad9ac5d222980696226fbbe191581b030a82219c951c25114ea4412b53aa411a107927c03084b986ecacc7c2f36df1817228060737c58bfc3823f7d16630949b186c195cc34f1bc829dcafdc6c735affc008412b96e9f279474e515fbfc598886fbf622e5367235c4617daca77f2cd1d5644ce32cd2a7104501391685ad7cd82e0d21bf085f58dd3cb1d11005f2adb0e9f962b65526cb39fe1f34acc2d1932bea55bded8690826c8fe817511a850e7aa8fedb9b1a83cb2b05b58b302c0b9feadf2621c1412c789d2ca5dec04d028797781843c19c4b8e7ecfaf14dd46fe4c4375a9138fb058e47bcfdcf18c563a0d54170283c8bb2f0ed2b801e28afebebcce9e1f9b707bd1fd67a534db9d9ac61087415d2b1d +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +n = 9004e5334381fb90f60926f3281e51d363671c87bc10554aff5f3b4391d894a94866de27900bf627d468dcf19a826dc399c0580883c945688f3795522193b0887f5eb29bb7be2b6ab48abb2e86b8a3cc6dbd2aa3522c0fa6f6493679a25b1933de78282b00fb5e6dbc58246a26805eb61cbacf492ffee3a21b829e3b776dc814b0e1527565f713d8f761fd58b9ca1f20b79d798f627b77a1ed7d53dd17f429a738e3e4e86cc4da308c60e55b77f2d180e96f2da0ae282831d5ab523cbf2aac900f6c304366738710152efa1094232dba6d405381223f3c687dedd2d856caab657ad0a1d7a67f01fffe6903f173faf1476b8ca656d4d9af713b4f80860be5e79ac3bf1b507f46a19bb67a90b273a0f0d416c479c8d75c6c99943ce774928fddedc00c06d7acc68ea15828de379ef436ecceec8bb22ea984eb1af01dc3efbaefd031030abff09bc464235f407c8a9033796d87bb6373ba6eb6ee143a79703a8130b8e29bcad3970c69001d80b4dac9e30fc616ad9bcc215fc20109aa7788234099 + +p = bcd0e933a1ddd33818291cb6e9956c5cdc370da9f27cd33122fbe8cf3c2b9573051d58c9664b8855f57d19efb1f75980b05dd9c5c6792163a7bcbdfd0cc218531895bc2ab904c9cb1f3065f913a5abbba1551079cd5247d2803e2f287f19c6b36b0e2d4820aa1956f4376e54dcbe401127297cef7104e6fc19194ca159aa59921e9a5d7fa4fb32a9d5434a4bdd9a1c0d88a4515b015b625bce551883c91bc4da9215c7b7d7979f4a9d55f4e5ec0a02eeca5fa4cf60ef2a973ee32b30723fae59 +q = c3437884d5c3c1d412a0f3823cbc3fce70647546a10d6f6e2cabff82776d3c011577aed5bffbb22a053be42566981b5017455ab902d2b9b3fbc5806c0235c0213e337512436059b1b23f5a8f886ef78c2478795c58bc38bd22c067aeb4592057168be7388d97b1a4acd20d5cf7adbf3736ceda99206c4c9f85b4ee11c0a1c2ee2db72e4d18e0af15f6eaf3abb596a9dfc42d34e097029c2577236a91906e02b265c24edf61a79665fe9cf809da1386dba937d2ad321aecef45b909ec73d05c41 + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a996b +d = 03547a4448616a6abb73da50c40fc495e63b0e8504ecaa6aaf382b3254cb29dc0014680f0a1bd39aa0951f6770a4350f6d58bf34c578c3bc5d959599520e1362414980534d9465b0bf4820ce9e8f21ce130968a8d12e460dbcc7a8eebf42b65466a45e410ff2ca41830cc309659530cbb4c739862d58cbeb801ac42997399b03f81a43ba69dca31951597c4137dc2fb443e5fad4644f06b12659147778aa87f4487cceaab960a5c15097627b5a1216deab321edc9ba35a55f64ed3417469802fd78bfda4aa42e756a3916702c74f4745e27b2bcd04bfe1c0d4222d167326870d244bc50f8564c337ec7d3947b6adaf39ba82aeb0be0fff786ff06314b29460845f5ef0c8f0a8e6a1273e0d82442fb2534a4d86d712aedcf980af78ff01e4c527e8842f9cbcd8b22e2bc10702559c797d2593fc0ddb526271fba8f3b431a2a7a58f186661fa6b5a4b9216b0db8b2496afa000612877caaf13a58c490451dabdf364280298e59467850e1abeffdc034f1db998aa532aa1df0ec0d3258d1615a3c3 +Msg = cde63c4c124da95b23a8323a5db03714557615226da75815a50f2cb4b45d15c65826e032ea2cda6535df3ff48824f5820a567ae54e8a1c8427186803be57e423e1a701e39eb54bec11fae32b7a852fc092fbd01720dcd454c7072df5228162b2137285a8577065b75e0004295a5a4c94976dfd010a23ea4d2ce665d00963f83d +S = 6ea308d95a963e1fd18edbd6829400071e0f144571219f6909024064b28f72a8c0d6969bdfb705ce06b36c0a9d65a5c9331cc146d5f2c2eb96226c5a09957a945461a74aa20e966334741f4244311e2ac70f0329cc622864cdf614631c1e2e545564a682ff11dae5f8dfc3fc1428a2f028ab3f957cf970cd22e1f16e8e42f5ba879bc5c26c37aab6fe2b3f5b9f842c158515611c41e25bdb2e20962d794ebe1d626a4d36c07b63354ff9c333bba44129fa3210d0a0e10453efa17e053ca12513e0803c206a90edabe604f633a1d722363a2dbfa9b6b8862f5e2f40cf57f5c668af65fb7292c58c6750a6630159259c26a8ead1e4ac6dfffd96234978f15b9c9d80fe21b6ce9aa1a85a7f84f1954044bc13b42e181a323f2f9a4e1d7272c8731d14651d5302ecad25d7f1231b3f686690e69c3883614d8b85b6568b788d874ed737aaee11a11d7f9a8c67479662c77308318fe8bd5ceaf447f9592396ec3261f2b91ee25b54dffc269a9e7f965dc00d586da77d1a40469e68b0ef5d4f660c935f +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003021300906052b0e03021a050004145dd11a20b508f09521ae6a9ea8559c1b11b544eaefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a996b +d = 03547a4448616a6abb73da50c40fc495e63b0e8504ecaa6aaf382b3254cb29dc0014680f0a1bd39aa0951f6770a4350f6d58bf34c578c3bc5d959599520e1362414980534d9465b0bf4820ce9e8f21ce130968a8d12e460dbcc7a8eebf42b65466a45e410ff2ca41830cc309659530cbb4c739862d58cbeb801ac42997399b03f81a43ba69dca31951597c4137dc2fb443e5fad4644f06b12659147778aa87f4487cceaab960a5c15097627b5a1216deab321edc9ba35a55f64ed3417469802fd78bfda4aa42e756a3916702c74f4745e27b2bcd04bfe1c0d4222d167326870d244bc50f8564c337ec7d3947b6adaf39ba82aeb0be0fff786ff06314b29460845f5ef0c8f0a8e6a1273e0d82442fb2534a4d86d712aedcf980af78ff01e4c527e8842f9cbcd8b22e2bc10702559c797d2593fc0ddb526271fba8f3b431a2a7a58f186661fa6b5a4b9216b0db8b2496afa000612877caaf13a58c490451dabdf364280298e59467850e1abeffdc034f1db998aa532aa1df0ec0d3258d1615a3c3 +Msg = f676f3723e70cdcbc7609cc1f2f3e4216feaf83d52d6b2d7691f6741cd4b1ac3b87df03d963ce40d5f76bc3323c53cb3e7f0993bafb53106dcc67800b811362b5044f0418291a39b56afb951922135a388ba319833618ae48212da0ff425a6d465d3d9c828f6713c55107963648f37b8fb4fa69a05612739040b73b6a80fd486 +S = 6a2a7ff14c4028a67401ae18a6e3450913afd048f363607be81edf187790a4aaa57eeff802050bcdd6c4bfb921df1a24d62763e1aee6f8878bfbc70c26eb9f270bc898753f5583d5c5b40ac32e7c4de0ffb073c076d5e750b2c0b0754a7491bea420a329ae68f5c5190c74a75b7db61c84f2e017deb4ea5d9452679a54b5b7db1ff66c7d7a929cc3d78357ca68e39d75f1e92d32cad5bc11080b054044ed5fc351afa53b294165510cca83dbd91843297d9249ccfa692b82d75345823086d9234f5e2e0dfcc6fa194868c04050e6e80425a71529ad672c6e3b32f6fd606cd84ead5de2512cd09891cac69def77d09cddd0e2a6383d1b60ae831c05be4ee5836e1810f60ad16bdc253fe39e1fe10205ab6dbccd2971d7c2807411742358d7162d95dcbca5a8924213113197424260ac81cd999ef505de9ac531ce803026c9e9805ac84e0d6c94f51f79ea750ab29b384059843b22aab802443df06bfa1adcb6aafa5fa267a7bc230bb26de37973d6d5cbae0b7a258ac96cbaab35de8d418dd7f5 +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA1 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e22ca1 +d = 03547a4448616a6abb73da50c40fc495e63b0e8504ecaa6aaf382b3254cb29dc0014680f0a1bd39aa0951f6770a4350f6d58bf34c578c3bc5d959599520e1362414980534d9465b0bf4820ce9e8f21ce130968a8d12e460dbcc7a8eebf42b65466a45e410ff2ca41830cc309659530cbb4c739862d58cbeb801ac42997399b03f81a43ba69dca31951597c4137dc2fb443e5fad4644f06b12659147778aa87f4487cceaab960a5c15097627b5a1216deab321edc9ba35a55f64ed3417469802fd78bfda4aa42e756a3916702c74f4745e27b2bcd04bfe1c0d4222d167326870d244bc50f8564c337ec7d3947b6adaf39ba82aeb0be0fff786ff06314b29460845f5ef0c8f0a8e6a1273e0d82442fb2534a4d86d712aedcf980af78ff01e4c527e8842f9cbcd8b22e2bc10702559c797d2593fc0ddb526271fba8f3b431a2a7a58f186661fa6b5a4b9216b0db8b2496afa000612877caaf13a58c490451dabdf364280298e59467850e1abeffdc034f1db998aa532aa1df0ec0d3258d1615a3c3 +Msg = 51ec15201bc61b8d9553c9cd3e64b3ee762865243508afc9fccf40a20c0e7664d7bf7576b42877f9d60263067fdba03671b92b68a600e7be409535e9c344c5a7825fac8957a8b6fa9771fd7d4502ba36863b5cac557bd7cd78c03f33b30f95a53b16e1e16d108098c0e9c0bbf9a2aaf59ef81f79ac4027fd8c96850644368f67 +S = 71721988738850d97a12fa89245a87cf3b032da83b7561c60e55473c5dd8a8d3085de931afcee9a401f46d227370b31dceca0231d4b13aaf293f0f2bfd742a996b655b7e363110c57bebe9b86ee9f460afc2988940cfd56c3e4b30c6dc990089e525b77fbb633bb89d38aae143eb6dc6e3388b01f7ccf51637f0955cc3808fa8a9a61290a82c5f163c4b10fbd1abef65f85e8fe8184ca9b0bee0ce173a6af19865ca32a2a9a0d7cedcd4989b32c5472e57d025ec5106bda37fbd2d7b69c0528ebd8120bc9d3dfc08018cb0107cab8bb70a277e58c9ccc7a5f6c92fe791d68384f3fc5ea315e37c02fa83c019b59060bf0fb2d033b8f5d3a7e2549f5aea22d8cb323bcd4f0c3d9a9d5c1ea256241a22c3311358fdf04f23c1313335159ed156bbcce4671bde5e78e1e6ff11339bc64d699ef36826940064db7580df64448764e84dea828d0757d533d62617f5db658810a092fc2ed35b9e08d45f85e6720f58f290442ecd44ebd0aef1db6bd1c76fd81e674b1f9226ab143b765618fb243bdfd4 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a996b +d = 03547a4448616a6abb73da50c40fc495e63b0e8504ecaa6aaf382b3254cb29dc0014680f0a1bd39aa0951f6770a4350f6d58bf34c578c3bc5d959599520e1362414980534d9465b0bf4820ce9e8f21ce130968a8d12e460dbcc7a8eebf42b65466a45e410ff2ca41830cc309659530cbb4c739862d58cbeb801ac42997399b03f81a43ba69dca31951597c4137dc2fb443e5fad4644f06b12659147778aa87f4487cceaab960a5c15097627b5a1216deab321edc9ba35a55f64ed3417469802fd78bfda4aa42e756a3916702c74f4745e27b2bcd04bfe1c0d4222d167326870d244bc50f8564c337ec7d3947b6adaf39ba82aeb0be0fff786ff06314b29460845f5ef0c8f0a8e6a1273e0d82442fb2534a4d86d712aedcf980af78ff01e4c527e8842f9cbcd8b22e2bc10702559c797d2593fc0ddb526271fba8f3b431a2a7a58f186661fa6b5a4b9216b0db8b2496afa000612877caaf13a58c490451dabdf364280298e59467850e1abeffdc034f1db998aa532aa1df0ec0d3258d1615a3c3 +Msg = 2f7ab138cf776750162edc63c3b5dbe311ab9fee2ed4e51aee034572c13dc1bce31b9ffed2707440052c8292db804351d24346a7f9953a51a8c249a56e69a7d34bdd6a6b1fcb9c1f631d8ecb171f70b2fbe01f0a02dc3ebc04d78865b30c64a0d087ba879fd0067798c9ab145fd9898df64ad12232f018e36b0cabba786f23ab +S = 765c62cd7e50bbbc4d7731e53fb468df256b53bf41a49c8950339f25a4a8ce8a6b31672e1ee72da84195fc3c679ce107dfc76dbe858ec2671d7a54f23d2e57aeca984c4973f79358dd445ac0575624b6252bf48ed74f7081cb29e2da05aca46749d4977173be27331cef847dc7ec7748eaa0a903643f45f69a61602112c412a46c2541dbce865cb30e87a4002de44aa9cef0b06b9a1220ddcf3cbec46fabb0216920d787c0ebaeb6823f11180de58e6cbb4b432391af394b5936e6132530dda9f13a5d8914b2f4c097b01046a60311371c678e6a04b0fc2eb03227686f67503dcded15873d57e9e8008d07fbf4bab4273f61bdfd93181e3b0c37ebe146226ba1730a731a01eda193eca6ae77c9085d74195a3e8b8036dcce07250d99d60a1c6a6f3c02abcc902e26f37bdc979f82312131d0d00264f798ad09e7dceb29e0994d527e15442b877656621427757f507799453559037804ad147ccea6fceb522c6ddbe8d90b0d45c80cb5e155068daf7043c6b37e7e17c49a22f7ea0421c8062a81 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443021300906052b0e03021a0500041407c11536375090f8d7700d1edf18583bf0d76f4d +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a996b +d = 03547a4448616a6abb73da50c40fc495e63b0e8504ecaa6aaf382b3254cb29dc0014680f0a1bd39aa0951f6770a4350f6d58bf34c578c3bc5d959599520e1362414980534d9465b0bf4820ce9e8f21ce130968a8d12e460dbcc7a8eebf42b65466a45e410ff2ca41830cc309659530cbb4c739862d58cbeb801ac42997399b03f81a43ba69dca31951597c4137dc2fb443e5fad4644f06b12659147778aa87f4487cceaab960a5c15097627b5a1216deab321edc9ba35a55f64ed3417469802fd78bfda4aa42e756a3916702c74f4745e27b2bcd04bfe1c0d4222d167326870d244bc50f8564c337ec7d3947b6adaf39ba82aeb0be0fff786ff06314b29460845f5ef0c8f0a8e6a1273e0d82442fb2534a4d86d712aedcf980af78ff01e4c527e8842f9cbcd8b22e2bc10702559c797d2593fc0ddb526271fba8f3b431a2a7a58f186661fa6b5a4b9216b0db8b2496afa000612877caaf13a58c490451dabdf364280298e59467850e1abeffdc034f1db998aa532aa1df0ec0d3258d1615a3c3 +Msg = eff93ee57b47accf61e80d26313a106abbdbb1397577bcc221de8c7da95a191a4e3f32b701c306551110e98d0798557fcfa92f0c18414c45fc233422e42a2678a6de5c25f1458f8debfcbe4b18852c207ee3a82f0764106d26bf1853bd5e48d63ffd44981274506037d113c82caa9b3511b2a20c0b891023e6d9c176fe9e871c +S = 78f7ca725ce380711afccd67be0156c7e5aa8b8f981c802ef0456000b749c0e10e8a87a99b0abad80425b5a142bfed87bd8672701808435e8f06e28b3547a943fafe99d13fd543d56876ed0857f85ba1c939fd98e90f4b8ad864d4aa47fa4c509f73ccec5f7461e049ac06ee8d52cb64b2b1fa941801648f2ddd5a371202ee74b5b0f95313eef842701dddcf83c2a6114675ca1eecdf564a6e5a3c44c34cfbb34d1683859259d42e94c133543fc84aa4a8a3b0b98ae355314bb774d7ba6cc5bd24faaea141276e8331a68f0b4a6a5e5ccb50d78028bd9dcfeee34dc7134f7ee2f94f3be443c0dc6156bdf5225cb489e7e70acc37f35e09668649b5942a683dab9e6215ff075ccd6c3f0be3a43aca525843477a20289b03e5f4f17e12af80158191eff3e1b7f4bfabcd8d681db7050153a9beb739ffb48cd977fac9d4ed74b0c85bc5b446b3b7c5824f84e58a8e41cde59e0ed3642607a897e600742f3727deab18f6d051c0e4c092b6667b247dcc78e1a00bd12f8d9e47fbbaa9edf6911e7d94 +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA1 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a996b +d = 03547a4448616a6abb73da50c40fc495e63b0e8504ecaa6aaf382b3254cb29dc0014680f0a1bd39aa0951f6770a4350f6d58bf34c578c3bc5d959599520e1362414980534d9465b0bf4820ce9e8f21ce130968a8d12e460dbcc7a8eebf42b65466a45e410ff2ca41830cc309659530cbb4c739862d58cbeb801ac42997399b03f81a43ba69dca31951597c4137dc2fb443e5fad4644f06b12659147778aa87f4487cceaab960a5c15097627b5a1216deab321edc9ba35a55f64ed3417469802fd78bfda4aa42e756a3916702c74f4745e27b2bcd04bfe1c0d4222d167326870d244bc50f8564c337ec7d3947b6adaf39ba82aeb0be0fff786ff06314b29460845f5ef0c8f0a8e6a1273e0d82442fb2534a4d86d712aedcf980af78ff01e4c527e8842f9cbcd8b22e2bc10702559c797d2593fc0ddb526271fba8f3b431a2a7a58f186661fa6b5a4b9216b0db8b2496afa000612877caaf13a58c490451dabdf364280298e59467850e1abeffdc034f1db998aa532aa1df0ec0d3258d1615a3c3 +Msg = 6f8c5ab0de743f69bfebc93d28425330dfb2845b644e738731350ffa400cbf91ceac450f5f17e8b502b1d213d6adb71dcdc5b781b02e863863cbca5b6ba1c439ad8b33a6782e7596c630f0eabfa5b0897fca51b319f62092dccd7d12d5b784f39491ec1d33a22e3395d0ea6aec13879c7e2b1b98a88e8abd23a5f1c7863745e8 +S = 75ca1d0f756cb322ef458d0421af9aa6d0425c52864322129c63ae30e442e03342369283ca78ef95a29a2f58615847bc9a0f73d6ec8213d6863c30b84d56ea31684e6ad27b09a96bd8bb39b5aef2b25d40d3a7e1d47b3bfd6edd5170a84e669b7d5f7e81810280e41089ff7e4bce718b79d116c9ced7dc1e7ed6256a4ae480e9ef3e3af95de3ab5dbeccb5a36e60840b646ad418ed71c548fd68439e8098e63e55b3593a453cf87e9b8d7ceaea8cd8145173a6b36bf4c6d8b7e7231d3391440227ca8388d573b34e4838cd7e0a4402c45bf58c16120b6093686309c0cfabcf7e2f15de230289f59f5f9cf12841c75815b2da9c7d4f76998134d8df282e2a42cceb28d4f29740434422b1a8e7ffc1ef42383c4a31073421b034f709f6192308367d4f7283d068d4f128fa6574a2a305ec7033368923918ace1776cba31bde0bcaa833b5a9bcada359b26157487fbe01bd94169de91a1c45d928ef69de1f91b231b0b43e8d827d4f08ba15cca460525a03c4e381a44c1fac3515bb3d61a8d520c1 +SaltVal = 00 +Result = P + +n = a5ca328ec852ed50cd50ff2e2aa25a99905b8d8dcc6aa2f2ae651da27e21e60dcec641be2f850f603dd15c763b1f7868dfe49392cbf0ed1410b151c501a627994efcae1a332ccf0d37b966a99f4d6b72659cd9044a72b97ac3e00e1b752bca194066c60dbb870e8205b0078551a41bc7a36424dcebeb26e55618f9b27c630a7c0f5bd23f5175621867e100f63d8c07d9392c5638576b66bb4bc89682c66ecef97f378595ecf10406fcb75450bdd7ff558d9eb2e76ad4fb7c92fe5a946cc95bd14f81f7fb7e6ba15fcd5c73b5ff41588a5c8acf1ed1dcae4dde453411ec26fe8faa3640dff3e153ba39c766c9f99c05a023bf45a19b30889d710c3fb528fbc147fea1699bc38d3e41d11bb1faab7d9e850f0c2b0893b5fe3a2039e6d8d90f280faed4d7fd34dd2a886b7a0bf8889bd75976d4ce412b7301e88eaa8e1e9bac6d0a351e7c8391b744035f2dc1b8cbde6f99484770b81828d6e1fab40a7e0d69ed798de7c2f80ac750c8243af4b2d4986223d9a33a34dd2d6c36b624545f6411d3a7 + +p = e913ca7b42a541eb1029d3e9169793542a66ce5663353c3cb31d81bdb3a19123a3ee2837bc4054dbc350dd7dcd4b271bf4856fb82dbaa09b52662a7de2e9557f8ecbb2dedd4de6ef419de3cf04d2041d5fe0b8a58d4fcdf1b554497007dcd547b94f59b7dca90e27d819e01008e2814c1b9ed86d1d37177a5859ae43647e5ddac8c8a4136f464553bcad584ddd22bb3952fd83b6a6eef52cf43b4a15ccacdb66b81553e173c0a460cb88c292ea3b7a8dbb0c601e4d997c710e6238f89c6973c7 +q = b6184db57729783d27497b622cd21c64a5ac045dc7495510f03c18f0134bad8a50c85630b9c3fe9ccfdbd31cfc4a8369afc271bc89e32c4510c21f03ed37f060b7b4836765998d7c4d5a8e8aaa0bda72d2c96700291c0d2cca1dc140f547ea52465e8bd65f2ac99f8dd35097303698d0295e14618b1b2aa94b7c004304aa2042f1a39b03b93d3c6c454fdb5a6e8f9f5421b324e65ef8474751cdbdc84bae7cb66ec1c42d7aaab3df37836910eb18315a18ba11e30b21677f74702c2ea688e121 + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026a07 +d = 3137339f8c19810882f092d7a7c89c7a7414de1af6991083a25477aa1c9a218d3600faaaf08cb00ce55000183b0dd2276ee67fc4c7ee0139cad838528eb4757b5add8f443e17a980da7e1eb4401f554edde3f37e765f04b0674132b97ef19ffc8767059b3a12b18f421b9e02aeeaa87b73405e17663147fb0cf5dc1e81438e5e4ebbe8bc5379939ea84a5e2256cab3d8a6e7da43ae531d72ad31a8cae86cfc0ec6a2217fbb797f6a9e3bbb97856cf24f3632ddbaa03e5abf92f336d17bdee945e8abe80dee5cce28d5b328ce5643fc4cc99e78146b25c1a286f39edd04311354ecac00b41bffe28e061a0b5da9b73014b3b9dccce3cee424f09721117ff60d467afde9b544a930c3ca5d5f67fe94fcda7351c2e41866cfd7fa8fa3c552fce7079ba18e145abd49094cd0d8df558d49cfd22eb3e068bb7193cd32d5e99552504f155260ba9342a4151d248c7a9c8ed59830b5c5a8fec34779e42b138c708bb4e90651dff8f103de28e994e9621783c8be306bcbb877f4e1be488a2006d0308e77 +Msg = ed55f2cd9db6bbe81dfcd809973b5c0262f804a9cce01d2d17baa1aac19aa4fa0957eecfae40eafefa0bbf1eff0ebc5221b2f963d4243b12a74d19ac82055dde2b83adcb0f186b5c401ed9d7ba2b81b4ea8ad4ac71eb111225596866586d60285ec176ea49a806a9f71c6f5d4ff873cfc768dcab299d65d698c5d701ce3a737f +S = 1ba90dc10ff5825cd6042dbfbfd6bc48ed77e1a7e2e6ef0a002484e21a38ae123111dca0b9e34f6d8fd547ee0da1d44f18b84edb71923d07e67ddb8ad0aa44336551248db0200310016a81372d5906295342a84d9747123bc7eefe47a8543b849b13bffb9c9a292aa5ae809f09ce36867e584aaf8b32524dff72db7849d1ef7b22efc1475e67ea6606c8e0f4c96f7acc8a745a47a13c0030eb23a68b664c12387a3ab8e438545009dd2824f1c1494e064e5d400fa4d81ad3e024e4491e7521b410cdbbc6955d3ca11b928a68da56ab7346beabf14b2663b45d62903a046d3ca1707c33014da7e757ca5aed8fe94f7aed8c586ffffd5287c8d63b6cfa0b41f5cd1c66b0c56bbc293463933fe3ee5097876cb4e34f23008a3647f446046f1b75e4caff3a3172a58429562c0e51571aff92b927c38585ce81be9d41395ddabbb6be7f17ee8903a6d824dcc3cccab72a9c3af12d5e7185eeefeb01a1513fc9996504f6857723eef630a1d993ae22ae308a955bc01045631f26308014d8daf1e0cc32 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00302d300d06096086480165030402040500041c8289a266748f758ff9a3766bde358956098ddf850fdb6805328e0a2aefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e324c1 +d = 3137339f8c19810882f092d7a7c89c7a7414de1af6991083a25477aa1c9a218d3600faaaf08cb00ce55000183b0dd2276ee67fc4c7ee0139cad838528eb4757b5add8f443e17a980da7e1eb4401f554edde3f37e765f04b0674132b97ef19ffc8767059b3a12b18f421b9e02aeeaa87b73405e17663147fb0cf5dc1e81438e5e4ebbe8bc5379939ea84a5e2256cab3d8a6e7da43ae531d72ad31a8cae86cfc0ec6a2217fbb797f6a9e3bbb97856cf24f3632ddbaa03e5abf92f336d17bdee945e8abe80dee5cce28d5b328ce5643fc4cc99e78146b25c1a286f39edd04311354ecac00b41bffe28e061a0b5da9b73014b3b9dccce3cee424f09721117ff60d467afde9b544a930c3ca5d5f67fe94fcda7351c2e41866cfd7fa8fa3c552fce7079ba18e145abd49094cd0d8df558d49cfd22eb3e068bb7193cd32d5e99552504f155260ba9342a4151d248c7a9c8ed59830b5c5a8fec34779e42b138c708bb4e90651dff8f103de28e994e9621783c8be306bcbb877f4e1be488a2006d0308e77 +Msg = 7046b5c4ed235e49275f2c98490a3e6bfbb72a0b2b30e4ae0d68e20460b17d0df42f9b2d698d8b8239ee3075f927628fdb2b918f78c6abb9cc8f40708218e5077267d6d569aadf8728267cbaaf713fcabbe172e48d44fe63edd18b596f5fe96bf5d5aee375e22100fcee5790f3509cc1a2c11535f210a354771809e6adf052e1 +S = 9f26df018bd94829168a13fe22ad206da944831f09c2dd828d3677a1b4c436400687499a710eb2aee5a4823ee0d1acded86de2ecf51d2b32408b7a0cd8811ffdfbc044139569527befbf52b244e919e4a2a22d2405576b72b4d2b44731a57ae4d34d618194193e1de8b72d141c7805b46e9b46d404462f50df48279302e47b090efe543039071aa8f7b3a5a62eafa8f98ed681cb0f11b018e2b5d6bb1a634ae242269b6dac07f1d1db4e8216a2ee91aeba2c13501fc3fcc02e6dda680506efe6cfed1b5c6efbe096f25d1c98725435004854aaf75fe0ce9138b5ac5027f36dcf8220c6868a74b7d89ff26193e00fbeb581f0173fa5578ea7884520b33767f5b060b823843e715050fb569e0630e183cbb8ecc404b02e33ee48f552eca84a2c0160fd6ec008dcdd7ac0ece42bd3fd3287069e195122662f09616a1245d331edef4c11cf2f9c2231ac079e6604b3ea2893ea1f511cb2e1f2d790fd009a18251bee4edb52393592f590edff2c8d315d20286d99d82520c34378d7f46f34fb20d2a5 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026a07 +d = 3137339f8c19810882f092d7a7c89c7a7414de1af6991083a25477aa1c9a218d3600faaaf08cb00ce55000183b0dd2276ee67fc4c7ee0139cad838528eb4757b5add8f443e17a980da7e1eb4401f554edde3f37e765f04b0674132b97ef19ffc8767059b3a12b18f421b9e02aeeaa87b73405e17663147fb0cf5dc1e81438e5e4ebbe8bc5379939ea84a5e2256cab3d8a6e7da43ae531d72ad31a8cae86cfc0ec6a2217fbb797f6a9e3bbb97856cf24f3632ddbaa03e5abf92f336d17bdee945e8abe80dee5cce28d5b328ce5643fc4cc99e78146b25c1a286f39edd04311354ecac00b41bffe28e061a0b5da9b73014b3b9dccce3cee424f09721117ff60d467afde9b544a930c3ca5d5f67fe94fcda7351c2e41866cfd7fa8fa3c552fce7079ba18e145abd49094cd0d8df558d49cfd22eb3e068bb7193cd32d5e99552504f155260ba9342a4151d248c7a9c8ed59830b5c5a8fec34779e42b138c708bb4e90651dff8f103de28e994e9621783c8be306bcbb877f4e1be488a2006d0308e77 +Msg = 2dd8a30ce4d971718b9c3a1fa33512f0677cc1959abdb2e682b10c7735ad1e6c131a008e9425779e44b71ae90ba8b31cb230e85aa39e1b8cf04c8ef897d2cb16057a439ed8f435e6e94bd16b8a189ead0cf6194185359f21cfd38c46d4a7a57909e0b36639ae71f2843fa8cea7ed994c7eb69b72c7ec054e282d4e887496733e +S = 9aa4039c0c5a617c1ba2d6f71362ca1ee76f6605ded0b51e881a5eb800297b4d74de776851355cb744e3f7976b379b54a56f5cf705b9e080924acf12d74e064e3a4571432096c63b9be3301cc2c8d91591dbdde6457ec79aab96b9a9132f7feea63fb5bcfa192bd126a0ed82b0f3779c17a5769733bd06185950f3adc8bb62981c33c81e40a6fc5c87a2733a938054b0db4fa79b63b822c0b69cdf53676bebdaa8889b181b0760b7cb11c8c1c89095f8fd76c4ee02f5d0a4143895431de8b538efc6160e0f3ef8d3f2e1fdc7cc72a568934905c2ca598e36482113b8592849dc21943f5b3025091a22bbd3b8ebdf2e966bdcea2350bc2ea59413abebb6b2cc332f3dbef652cd90e85f860d843f2459c431dece9c432ea5b6d7f361eb851ad5b03667c7134f9cdf27f575f4b093693f35ea7f2d7491a597302e2347c182dd0b07401175bcd625dc66449ebc201441fc132d1a5d5eab92ebb759f9931c28039434ca7cf249c9c7994aeac06c55111a73a8d2d27912ce9219142ff1daac82431a3c +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44302d300d06096086480165030402040500041c60ec2c544cffeceedcf10f6d22cbdae516c7718eade0a0786a9b9d4e +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026a07 +d = 3137339f8c19810882f092d7a7c89c7a7414de1af6991083a25477aa1c9a218d3600faaaf08cb00ce55000183b0dd2276ee67fc4c7ee0139cad838528eb4757b5add8f443e17a980da7e1eb4401f554edde3f37e765f04b0674132b97ef19ffc8767059b3a12b18f421b9e02aeeaa87b73405e17663147fb0cf5dc1e81438e5e4ebbe8bc5379939ea84a5e2256cab3d8a6e7da43ae531d72ad31a8cae86cfc0ec6a2217fbb797f6a9e3bbb97856cf24f3632ddbaa03e5abf92f336d17bdee945e8abe80dee5cce28d5b328ce5643fc4cc99e78146b25c1a286f39edd04311354ecac00b41bffe28e061a0b5da9b73014b3b9dccce3cee424f09721117ff60d467afde9b544a930c3ca5d5f67fe94fcda7351c2e41866cfd7fa8fa3c552fce7079ba18e145abd49094cd0d8df558d49cfd22eb3e068bb7193cd32d5e99552504f155260ba9342a4151d248c7a9c8ed59830b5c5a8fec34779e42b138c708bb4e90651dff8f103de28e994e9621783c8be306bcbb877f4e1be488a2006d0308e77 +Msg = 5707c0d7c2a388eb7bd51616c0f33a7197f4dcd9b7cbf7e8a5f4e6231d4cdf75b325bdddba9a026365201c502c5ee79e713f74ae6445093924206889277f54e9db26525a8d40ad878bf7bcfb8543679239ffe82d5042cfaa82ec4914017fa116153107b6033f914034837f7f9349c333375fc1c0426b53240981102b75f5cee6 +S = 01cdf5e7f2702e03c7b98e8fde047b8a7df698ce37a51e3931b6b8caac44278d216326644d28cec12a63b8e58359856317a6a5c7ddbf32fa264feddda83540979d68dc4ea92d75dfeb073f0550712979030a23de1c39e28f4abf7064cb0ee1ea19f1c1694747a53de50caee9f346c24089389f6c37519c7509fe4922fe510b31399dec4e079c0808dd4bde6e713d2e58a6b54dd11b6ed8796dc793265f1edab0a2e5dede076ce9a93e112ba3e2e761c8d530871f14fd17a5fb582946fc40e951b2f35651cc9bfaf8a46d82d7e025a4f1f86b9805c9a23178539885288c873e102c4cf500c612db01f6e6a6b9c7239a0f0ddb6f4700fa526336a8e2a1851c08291bbed4e01ff0bf5e9d3278bfa88a21e8f78b360d31ecfa3fef98a61aeede752e93bdfacfb5e7a82c3e25759a9921b96f94cee537e127bbae2dcc4ae6a8cc93416160f59a3582cfb94d914d42ff8c68be2c91c5fdca7946130821df910b64862fcd14fe72fe31d35b0504eb387915cdb19d64a7c330c1811950a1cad3977f9ea8 +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026a07 +d = 3137339f8c19810882f092d7a7c89c7a7414de1af6991083a25477aa1c9a218d3600faaaf08cb00ce55000183b0dd2276ee67fc4c7ee0139cad838528eb4757b5add8f443e17a980da7e1eb4401f554edde3f37e765f04b0674132b97ef19ffc8767059b3a12b18f421b9e02aeeaa87b73405e17663147fb0cf5dc1e81438e5e4ebbe8bc5379939ea84a5e2256cab3d8a6e7da43ae531d72ad31a8cae86cfc0ec6a2217fbb797f6a9e3bbb97856cf24f3632ddbaa03e5abf92f336d17bdee945e8abe80dee5cce28d5b328ce5643fc4cc99e78146b25c1a286f39edd04311354ecac00b41bffe28e061a0b5da9b73014b3b9dccce3cee424f09721117ff60d467afde9b544a930c3ca5d5f67fe94fcda7351c2e41866cfd7fa8fa3c552fce7079ba18e145abd49094cd0d8df558d49cfd22eb3e068bb7193cd32d5e99552504f155260ba9342a4151d248c7a9c8ed59830b5c5a8fec34779e42b138c708bb4e90651dff8f103de28e994e9621783c8be306bcbb877f4e1be488a2006d0308e77 +Msg = e28b42777e68da66c97814b91025c3c4e31310e1c500c97027effc1b9885c55f36b364476895927bcf9a167a79e6932458f4a47bf3802aaa5ca4e547624142d507a0748d3559c65eac7430323fcf287340bfbacd39fadb36dcb5fb2c3d09d93e3f9b9bce4c7c1e154a4e8b68caa92bb982bd7c60fd38841c916a655492a632a3 +S = 7cf8440fa34025c9811aec02028bb2b7f3674aa29e755b8850b43e0ef297e08925745003740417be744ed2d69189dcffbf76026db75a5210c48f55b894e58b467e415275564e9e919f924b3272ac21aa152b865303975d9c3dc7e0c1fffeb60bb0e7d1e1fc159d85f69bbd19555326f010b3583c145989ff0b37e22f156ea4b67f31b918d263b337d4d505c03bc09109cd563a3b83ab3d9eddbe83c1eab35f2f861bcc8aefacc53d919f9f3d92fba06b52b11bd91adf5f91c883ace20c528a6210d89878ca1495a44dba51e8544300649db46e2a7e5d05c165ca7f684097540264fde41ff4fc9cad42b2a669b9cdd17b168e730a4de41fc0ea8faa07eaf0ff64b3279b2bae262e78ce317fdaba6c2f8693296e2a2b74d5418b5fc7e2d847b5be7595c69bd7c4e0a4367325411d50273ba1708d773fa07209f92ba4d89aafa46a6583412aba1fab691ee1ee0994e65ccbb8f31ca1e3b405636a24648e024b3e523be241919511e044adb3dfdb56836c6cf9f07090b5d1f729ad1d38f3c07eed85 +SaltVal = 00 +Result = P + +SHAAlg = SHA224 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026a07 +d = 3137339f8c19810882f092d7a7c89c7a7414de1af6991083a25477aa1c9a218d3600faaaf08cb00ce55000183b0dd2276ee67fc4c7ee0139cad838528eb4757b5add8f443e17a980da7e1eb4401f554edde3f37e765f04b0674132b97ef19ffc8767059b3a12b18f421b9e02aeeaa87b73405e17663147fb0cf5dc1e81438e5e4ebbe8bc5379939ea84a5e2256cab3d8a6e7da43ae531d72ad31a8cae86cfc0ec6a2217fbb797f6a9e3bbb97856cf24f3632ddbaa03e5abf92f336d17bdee945e8abe80dee5cce28d5b328ce5643fc4cc99e78146b25c1a286f39edd04311354ecac00b41bffe28e061a0b5da9b73014b3b9dccce3cee424f09721117ff60d467afde9b544a930c3ca5d5f67fe94fcda7351c2e41866cfd7fa8fa3c552fce7079ba18e145abd49094cd0d8df558d49cfd22eb3e068bb7193cd32d5e99552504f155260ba9342a4151d248c7a9c8ed59830b5c5a8fec34779e42b138c708bb4e90651dff8f103de28e994e9621783c8be306bcbb877f4e1be488a2006d0308e77 +Msg = dbf8391b3592af32c893b92301064edea2ef6c38b976ad33d3481a806d3b4342ab3190154d3ed24fde0d1d862e7fda52039618530c92237616595875821c379df738bad4545ae5dae9e79fcfe69bc0f613706bb8c2c19eec03af075516c41a6c26d66060342e125c51eae60810a029523b440e6ec54c461b0011d02910791338 +S = 24488702f736a23bbddc56d6472b083d92a76be7e51ff787153f3cddd8d0ba1b7ba56685f678a159f8e63dc611ad4fd1ed9d86e597672f6a11c5cda9f55f027053f1596448da8233d2a19b0a4de8d179403b9773517c0a26dcf00637a90f0832cd3918d35fe8e1293176dac33f6a0a562adfafcc97d7cdf862d338599d8bf94fcccc58b0aeb6542e9d6c65d2909e5b258f32f17231a274f53024751b871cce290a976ed98cc394a5cc5b5b6f5c6bf0ae9a21e2be3d1d12f30a295d84cd8a686fcf61883037ceb0007d1a443eba92f6105d1b282c326a3cee65c45b5fc53dd13909dfa97ddb46f8c6889c03776deb2f0220e5f2e86b6407dc1935352a13086e1301d2a9e015cf3ded7360bfd5b0eb29367c69f1fd2226c5cc869cd03e08a689396f1cdc332a4e4b150c700a9795d32e356391f2696d4f8f3ebd6c817a3920f243c4eacd373c6acaeb9ebeeddb06457ba31ac3ee06cc681041fd0354edf9098b2aba6d9e766b15383b274a88f2ad864c7bc15c912fbccb81ae90411c07e2571cca +SaltVal = 00 +Result = F (3 - Signature changed ) + +n = cd6141e4c8dc6997fc65300a6e2c746f391022f15661231a832be966aa498e678777766944db54a599cd6ddbdaf7533f429e6e1197b7eb061913f50b09be04ab70b1b702fce9ada279ea8089677a37701e64190f243dfabe7cc254f08a6143c9c589ac4a90881c0d2b62e98013e92d049ee9ca11a425ad450ec5a699ae17672d86efde3fbc81203f2b500ef41746b9e9af2642b30cbf75e7889e500836d6dd32bcc5d8b69021b764a591d6850776cddf0b7240c75dda9e2d197f2cd9c6787b16445b55eaeccdfdd17fb72d7fe5189aa1a2a6ad06b4f2bfc8f6c91c3a2a80a83a3113e0b420b70654d6a5075d38d9a12d1e0fddd2cb23b7f3ef949991bf49048dc40020dcf042caf00883363591dd6a90789ac212a0ced95fb40bcadaac2c97ee7ff302c37cf2aa7298311db85a2d4d1b9f037023c21bf2e9b9abecc780a70cf2a54002634272d7dcf25ee4c7dbb04437f30f50bdcf4962d432484a5dab7b60b31d8025b984c821fadbf2b623f2f92a6531dce11a1f252e603016078f3986e081 + +p = d6c2cba7ab3c9f7c3533bac29418b67a4b91997bf3f906b2cbe0997e77ea2682d6745f9897f7a98d383ab2175f3cc52f63eff734c637125ddc21fee3e6421d4626154b07ed29d2c221b0ccfa7a20dc329902332a925b51b54793803e52b6fa35a2a8b0bb7c71a57da0e8f19b4257fe423b52da07457e1f28bf248d260a69b63c85e2aa2a45f9d1027d18a6e49e209ff90f249f17d0adcea39d8ee73f4bb3f038aad3baa0ad727d8af51b9fa0057c5c7871408d6a152a6a98a94eadb7bb843cfb +q = f4d14f92238d07bd111b0a8203ede85f5e9472052911ab0ff9232914a911d68958f2148222134a42e88a67d8aabf3dbfa0f07452c268db151cdd852492177fe61a18aec2c310ef3d49e5f73140034e481bd2c8c9d47433f391c6267d7f6dd625e7edc02105314cc9ea3a08596b2b91ab0f8aebd851376ec5e72d3d090b0683d3bcaf10f87b939e181f709466510c7e2cbaa85ea09b8b758386a3bd32fde1986a865d3a7336da27463b45189aa2e0d4edd1ee9e0f5ff4d6dcf4ef1c613d7227b3 + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cc92f +d = 1cc4408e92d1aed22f6c043d82140304e7825e74ebaa10408d33954630b63b023ac2136eaf4516d73ae54f7ff6f8eb341f1d39aed5c98d92f1858ae411b9e0e206e0e2b22519bc20d304bcb47d81c4f49e599b869526b75888b02f29dc5958e8216f6ae475bff715a741633204bfed27bdc6252260999ff177f1a4f7a0605718e9ad45b8992b59466c11b4da7e0e1a974c28c0e154e07868a01e3fa74e6cde479526c46b7318ed5f12e7a22701f739a310eccd5994d4bc7f8df6e15e3b84e18393646232fe6ec48be9ed26cab87496009d25a5bb3cddbd32b1da3f07038ffc7814df1033ffda30ab05f0755e330022c9cb6b78dfb47502b629eb4badaff3442596289fa329d5087bf70f534f50ffa65eeb64141d0db431a4159d390f8233981271f48c666c50ab7fa4f1e7e396347184e1d977a08daeb2fabe8dca0c2fb941d3e5398a0d1db918ee593c4b4dc967131a4bc18080ad57a9428e72691b0dd6b1d566e02ad45f308be8bc37f3fed6c88d28385667335704a4a550f870ea59ca184f +Msg = 9fe9f933b93d5c2ab2f681086efb04090c809727697da534e65f35266cfd10b2adcd261cac582e4d7feb8d2653907914b23c5ee4014a80d94d28e3fc475168b48c7b38962a11657e60e3cfdfa61d4557ed75ed8728a9e6210b292b421310bb03c659f74b3c504be7de4610dc6e89b1fb48940db7e7821d34aac9d7a0d82452c6 +S = 4311cc3ccb4a2215d64184a22d0910e2f32931be4e1751b85746c5eb69c2a388d6cfe8f0f7d492085e2debbcdcad65ed588103df67099d5c9aa6c7940e777f9141f6d00f2c30c749228656cc473dc26c3bcbae8b46b9752a29cd0de51023e442752dc6493981089ec6a000bb53ccfc7f48eb320302aeb13ec9ca31446a3991cf78406a6d7d3591d8bcbb643480084e663edda49cb7549d42108383a813ef4709135dc9be769d8573ba947382d63e817c4ca51d6672b1a061ccfb1362723b35d18eaf713c86c9b8fc38485864bedf5d4376575025b046a803280c20fcb2e243b39c5ddd52c2961dd7dccbad7d0daec3575ec564ef268b9d0b5f4fd1decef2ad8f22af11169b471b602ecfa961d5f59df6103bb73c75557b93019dd0ad4ab1ce9c1ba466e01aeaa5beca934a4ba25f5dd3290b211855ae55e730245534889bff626bf53cddc2e8163f117c4d2309db4771f06fd326af015cd46036b457ef1da7b6064497e322644897966bbb99f98e04a91a7240f12559ac4446a1445f1e378b21 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443031300d0609608648016503040201050004205e49d3d34a1268097c08f5af95dada22d4d820caeec2de2182b8583b19a4b7a9 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +SHAAlg = SHA256 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6f03f +d = 1cc4408e92d1aed22f6c043d82140304e7825e74ebaa10408d33954630b63b023ac2136eaf4516d73ae54f7ff6f8eb341f1d39aed5c98d92f1858ae411b9e0e206e0e2b22519bc20d304bcb47d81c4f49e599b869526b75888b02f29dc5958e8216f6ae475bff715a741633204bfed27bdc6252260999ff177f1a4f7a0605718e9ad45b8992b59466c11b4da7e0e1a974c28c0e154e07868a01e3fa74e6cde479526c46b7318ed5f12e7a22701f739a310eccd5994d4bc7f8df6e15e3b84e18393646232fe6ec48be9ed26cab87496009d25a5bb3cddbd32b1da3f07038ffc7814df1033ffda30ab05f0755e330022c9cb6b78dfb47502b629eb4badaff3442596289fa329d5087bf70f534f50ffa65eeb64141d0db431a4159d390f8233981271f48c666c50ab7fa4f1e7e396347184e1d977a08daeb2fabe8dca0c2fb941d3e5398a0d1db918ee593c4b4dc967131a4bc18080ad57a9428e72691b0dd6b1d566e02ad45f308be8bc37f3fed6c88d28385667335704a4a550f870ea59ca184f +Msg = e62f04e5d82cd16ea4cf1b3e74e5882a52a0929a9b3d9547b1e32642f1cfa739e5ae18f6ba4a3028f469ad6660f2e8714a52acb9f11e482338fae30a9eb9108470c6a3e63ec2c28a8b6e3fcfc8cc2562848190bcdd7ec2ec3adf74973c136a3df13e4abd4bdbae1cd1a6788295b9668566f5e6aa46a32b291f5b80f1b125dcec +S = 8f20b434b6952a0647610122d5f836965ef69c2717f288c226b1c1d87d5313daed259fce61850a70781244954402a0c210d1cac134cad6cdeaa670cc7e4f682cc26b2108eee4aea7abd8477e5f52f6ee539d9e1799580db1c3fa5b7ba018c16bc3dfcc67b8ca016d5c26554422a74593e0e056a239fa731ab3e780aafa711a762e174b487f95194f902bc7186fc77839e2885ac0db328c71f4060eb8ef7cafe109cdc8e4acb5c21bc964feec80474daf737ea08562888b4296f041581ccde0a2fd61455f6bf56986dc0506f4e6f6b55b4b0e7ece521ee8265a0e63fa87419032c28cf0536cae35d0ed9941027ea680c0785a96d075de14f2a09f36ffa406a954f7d3654a78a968002bad6cc6639fe8fc0ea7da6aa900aebe136368ea8c3417f20af01a0ea5ea485416d577931f9f942d1c6a440c1d6f2edd5631fead4c21f71297e0d8ed753be4100e5f8d6d7acf7030eb264b4edf13c1a5b9c12280cfb5fffc7d691bbb781f5acc4b55f64cf28fb8ea764d79ddad4a0a59e562e45093ac7ad8 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cc92f +d = 1cc4408e92d1aed22f6c043d82140304e7825e74ebaa10408d33954630b63b023ac2136eaf4516d73ae54f7ff6f8eb341f1d39aed5c98d92f1858ae411b9e0e206e0e2b22519bc20d304bcb47d81c4f49e599b869526b75888b02f29dc5958e8216f6ae475bff715a741633204bfed27bdc6252260999ff177f1a4f7a0605718e9ad45b8992b59466c11b4da7e0e1a974c28c0e154e07868a01e3fa74e6cde479526c46b7318ed5f12e7a22701f739a310eccd5994d4bc7f8df6e15e3b84e18393646232fe6ec48be9ed26cab87496009d25a5bb3cddbd32b1da3f07038ffc7814df1033ffda30ab05f0755e330022c9cb6b78dfb47502b629eb4badaff3442596289fa329d5087bf70f534f50ffa65eeb64141d0db431a4159d390f8233981271f48c666c50ab7fa4f1e7e396347184e1d977a08daeb2fabe8dca0c2fb941d3e5398a0d1db918ee593c4b4dc967131a4bc18080ad57a9428e72691b0dd6b1d566e02ad45f308be8bc37f3fed6c88d28385667335704a4a550f870ea59ca184f +Msg = 5df6c2f15c25e0d72a7ecd6aa3b480949f979945db38f4b8364e7ef720d847a14f04d9ebb350c9e5adef8bff7c6e8acbf89778048296e3d03b5a0a42743eee2366e9acf223720929cdc84fc2065258faa7d2e855b58f40e291b3efc06ef2ece1086ce20e94d5cb2bf2d3c0bd2aa70fa916108f3e5c6c3076a021d679f73b6863 +S = 44444dee1f63274ae503afa3c982b96eb60fa8beb0d4146b48473f816946274004d0cea30c1b70d1291caa38012f848815d33e105bdbf2840a1f847cbc353fb8a7688db9e27f9ed3ec0c649aa7650f102374936dcffccc5848953f7dcac50974bd760c4931308c7583b76510eaa1311d14ee4d8cd7403df1b0b7e97aa7acf6279e4849e404217b8fe072207b1af48a154ca91316a1957f25e82bf30468a75c51fc7031253f492e75bbb656bd291110fda322052324bff373b493c713bce00276854802a46fe05f4952d6e80efb1e12a9d6122a554a6a73225586fa690ae4e809b74999317e6fbe1229177bbbf8760f7cadd715fd1296664005150bb38663a890a765bb4646f4b383aeb1c7702fa2092299471df682732df8835737d3ab842ec83c3f2021aa6a618325fa36b4ce34dc2a8a40d5bdc95ba621af1ae7e3f65a61d61c7e0c8e42fe0ed054f3e68f8f8f64a21f7931abe603e13094b9730c1dc8be5918c7386dbfb436570cdc2a3e5e4ae1c937a654eef7354273c4002ca6c79ec273 +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cc92f +d = 1cc4408e92d1aed22f6c043d82140304e7825e74ebaa10408d33954630b63b023ac2136eaf4516d73ae54f7ff6f8eb341f1d39aed5c98d92f1858ae411b9e0e206e0e2b22519bc20d304bcb47d81c4f49e599b869526b75888b02f29dc5958e8216f6ae475bff715a741633204bfed27bdc6252260999ff177f1a4f7a0605718e9ad45b8992b59466c11b4da7e0e1a974c28c0e154e07868a01e3fa74e6cde479526c46b7318ed5f12e7a22701f739a310eccd5994d4bc7f8df6e15e3b84e18393646232fe6ec48be9ed26cab87496009d25a5bb3cddbd32b1da3f07038ffc7814df1033ffda30ab05f0755e330022c9cb6b78dfb47502b629eb4badaff3442596289fa329d5087bf70f534f50ffa65eeb64141d0db431a4159d390f8233981271f48c666c50ab7fa4f1e7e396347184e1d977a08daeb2fabe8dca0c2fb941d3e5398a0d1db918ee593c4b4dc967131a4bc18080ad57a9428e72691b0dd6b1d566e02ad45f308be8bc37f3fed6c88d28385667335704a4a550f870ea59ca184f +Msg = da1721b3190694d873daae06b0108945c693ed88ef850c8cff3d7003f58c31f2d0456b58a4fcef10ec0d39f822e1a3538d6cd86c5bfa8a7def2c68ce7c3d4a21d38aaf4e79526a2bfdba98ae8814d556b660b0c6a4135cb44b18a8010c1530298befd5dec1906cf04de8b3700b318915e8785edef559e8f9ba0a17e4cc9b4cd2 +S = 509d9b9af57ce731263300032280ae4bc353189a6d25b50b66834b2a9e7626937578c82f33c0369803a2b97d71093e79e656d56bea286a6c31276ea3796d0684a30eec606665b829c82621bc6274e93b4f1add1be8d7ceb66da8f1f6eb7b9493669925a8b3dc0c21a4d6cc19840b71a0b312f911a328c7e58735cec47303065e6fb01457b3d97b93814cb6ae6f42b3733d2101159b08bd33403e22b9f0a288ec02d386a59c4ddddf9c83c3154ebfbb81914373b91fc187dff00d93b8ba344aed763362c67a623c1b90e7d6b781f3688254c8a013976cfef38f8cb947e7704ed5d6cf4b2480a956c0be551e986b5a054ab59b2e9b979062fa6ae9f8204e09a5962a8af893215646b91aaa2743df1745449a30fd13785b2c4b839617d380b1aeeb4296908fe494a810a6cb80d723ce74716f89f7b50770b577dd5dd900529d6d67323094e8d46c60539c9c9dbf44801cec4082f6a73910ec452a2fada90f2832a3dff07fa1f0ffa1476994e20a335d69e671366c95a2cf4c16dd4043e57501184d +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cc92f +d = 1cc4408e92d1aed22f6c043d82140304e7825e74ebaa10408d33954630b63b023ac2136eaf4516d73ae54f7ff6f8eb341f1d39aed5c98d92f1858ae411b9e0e206e0e2b22519bc20d304bcb47d81c4f49e599b869526b75888b02f29dc5958e8216f6ae475bff715a741633204bfed27bdc6252260999ff177f1a4f7a0605718e9ad45b8992b59466c11b4da7e0e1a974c28c0e154e07868a01e3fa74e6cde479526c46b7318ed5f12e7a22701f739a310eccd5994d4bc7f8df6e15e3b84e18393646232fe6ec48be9ed26cab87496009d25a5bb3cddbd32b1da3f07038ffc7814df1033ffda30ab05f0755e330022c9cb6b78dfb47502b629eb4badaff3442596289fa329d5087bf70f534f50ffa65eeb64141d0db431a4159d390f8233981271f48c666c50ab7fa4f1e7e396347184e1d977a08daeb2fabe8dca0c2fb941d3e5398a0d1db918ee593c4b4dc967131a4bc18080ad57a9428e72691b0dd6b1d566e02ad45f308be8bc37f3fed6c88d28385667335704a4a550f870ea59ca184f +Msg = 697e6ffd617d01d666fb1c069477d3a5b36b45a00ad2175e73e622a3b52e68b50db84dbe0ea40472ace247f1933b4befbd96f3124374449b73be194924c0177a4675e494bd0594a3708c64449c1dabc16f070d7dd256f293869d36ba72f3236c3b3c9c4716aa9ab3da83ddc55a24db63f146fda95e800a8cd20de3bd48d072d0 +S = 359ac6731fdb0c3360c8c24311e48e84b2ad4d1b19041009e5fa2d6b94ddd87dc9be9206633fa87059d184dc583b9f24e6909fd5a533da78e1687b1c01e4c5a5d58de0aedba5d7b19b268957c9e79bb631bdbd423e3a267f9ba4a1266e2c3aa80929e5f7260ad9681af2eb2b8936596e3b1622e076b8a33dd86ded2b06060c8e74b1fd0f2ca88a8efa3c462b1227f8cecee0f77ef17606c218abfddc8cfdf990102524ecff3118f81b48adf286d6b21cb8dd815cc1235289ac15f6dbf420db9a608ff26667d7c80fd56124741bfcd47b42bdb0c17d66bf45b2f88d633e1954172ff808e7904db96d3396fb9f7d0da5742a937691fceb97894ac6774aa9daa7d18d889543cf3a7ad96d6a6e6feb4ee16900ad070ecbcd165bf82fd075046478c42fe8584023910c320901b22f3a4690597fc78b49cc2aca4e9b97bde0e69d62c9fe1ad07b5f0917e175d01f1fe5dbaf8abc3c71efbe0b55ea48f23601eaa5c70fdc841be8d1b89d01cb922e9ce4406747114fa05f55c73922fb28a42c2138a5c6 +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d0609608648016503040201050004200d6271d57494db43362b0e8b6528aff07660f907c2447e9ddf585d20c15b4f98efefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA256 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cc92f +d = 1cc4408e92d1aed22f6c043d82140304e7825e74ebaa10408d33954630b63b023ac2136eaf4516d73ae54f7ff6f8eb341f1d39aed5c98d92f1858ae411b9e0e206e0e2b22519bc20d304bcb47d81c4f49e599b869526b75888b02f29dc5958e8216f6ae475bff715a741633204bfed27bdc6252260999ff177f1a4f7a0605718e9ad45b8992b59466c11b4da7e0e1a974c28c0e154e07868a01e3fa74e6cde479526c46b7318ed5f12e7a22701f739a310eccd5994d4bc7f8df6e15e3b84e18393646232fe6ec48be9ed26cab87496009d25a5bb3cddbd32b1da3f07038ffc7814df1033ffda30ab05f0755e330022c9cb6b78dfb47502b629eb4badaff3442596289fa329d5087bf70f534f50ffa65eeb64141d0db431a4159d390f8233981271f48c666c50ab7fa4f1e7e396347184e1d977a08daeb2fabe8dca0c2fb941d3e5398a0d1db918ee593c4b4dc967131a4bc18080ad57a9428e72691b0dd6b1d566e02ad45f308be8bc37f3fed6c88d28385667335704a4a550f870ea59ca184f +Msg = d1acd4a6035f23bfe67006132a1cd474ef58c0113670f53c95eee57030bddd92e48edd77c57ba8a7cbea1760c8b5b2de9d8881daae8a2051933f128611ad574a48bd417b2de583cb3b048bc2668d120751e8f1dbc01536e650937736668066856501a6ba24e4ddb39f840b42eced1a757141b61b555b5e8334b1bb87177f31c9 +S = 55613f64331abd971e822cc3d972f67e782b6af81aac0b80e2f6324da6d9f33c46f8b7e24c94deee7e98525aaf4ca6843753df3d444e1e0540f9c196ffbbcb4fca7aad4ba94288f911650e3caf6dd22f87923fa4b12e2d6b115f2fe773af2563cc760de88cfa6e16878dd9c07f0d45b10a224d1a7ee1d26ffadfd38b78004a2045b35d9cb9fccdc715668a7401db7adef109ebcaafc5269d377c1e8f7d4292459c801a93c4d07ef477f87175aa35e002a03c2051985fcb6963e9bf96e28e55eb52a3554475f9095f24a9e422fa84b60590e8b8d6ec91dcf6a584cc8a934e551befeedc0f0f48dadf293f0f9260ee22d72ea46e271045b66516b2bebeed52722aec5f084085f8faa689308bc13fa5b9e5b0aadf2766258e01d4b8ddbe0d328aa112237ec10b115be83fae8a0113f8890edab79d0463c9ec6e2db4504693535dcf7695f84425e9f7b73e4f18bc072f5131989b0cdb07f496f15e562d07f0711cf979f1aa4d140d9783efd6f96c41fe5fb79e5d5d689dd5a705f1ff837754031a39 +SaltVal = 00 +Result = P + +n = a458e38be5e581c433d88dfe24e7e1bd0713bde19fd7dcd794b4fc97ac6546fe7874ab10783407221aa6a526de912097761a1f0a10166cb368f5af6a60a944493173f9d9e04a9061109131de32ddb21f06c571ea83aa42d9c172d0ccb79fd0bc421dca68179ab6329d0af92b8d2caadeeff6c0a46a6bccdbdc46e7afdfb6dd8b1c20695837cff9a153b5ad8b6fc0344006c3916aad0f6f19d84fe8b93bd6627331283c090a7096af3139c714fa1045ce449ac953d7068db92ecd2b687b0902509cb5ac0bcd16c9751afc847d0164f5add3c038efb41e7ba5fdf8567446aea2c9d7252320e5503ff0ff236871541c2590a5d4c1ba9a315f885d732fbe15c2f5bd5d70b158fc33e30a44b25cf56ff600003369a935c2e017a3984593b2beaaf9af0e6a5c9d19bde051ef1fc5bcd63391488f410e8a97cda45bdd9233e8401b5f5fea4b55d091605700a903615c5f8b6c18281b5f3d77b85f087822ae5ea14ca26795504abd011f42de239f3170afda6ddf17f69470d46034aae629f8ae2f9d0d61 + +p = d21f30793a977de8ace53bf4d2071484053119d4aa2e2709ac45b6f82bd4b1ca2776d42c647eae86d883256bff4bd172c3f42b001d1eed91bfb3f4404fab5450d2462224570bdabaa78806c32b3ce5687a13ca8531bd665356cc7fc0b38bd020b5e799e2e9c6329eb05cd9be302a83fb27ac369645915b6b58aa3e18cbdf59daae7982ca7c802e8e5ebd9669ed12d441622c9f036696f9fc4bde06d22ca95b3058e4a3d1a15048d6e6c6ecbc381b9f072d6293038f438a37e4763bc667cb823f +q = c83b1dd5cc5d7c4cf7c5b9f57fd19a76205d94bec3630537045db4d871b3234d643300d28269a5b130c92ceb2b34da7be63878cc9f820dfaf58b6ec5781d82ef35c4f3fd9da01ac2d45bf6761a6cb09bc07cf23ef84891ab48b44a6a89e97aeb74062cf5f295c25c1602938e8cd21e603014dde147f45da94e15d2cd423789ffec12cc481afd31664d45e2d947efe5ccac82e9bc6701c03f61733a5eec932e209f3331f9c6a40a4954dc08e49ca25a1f7bf15b3923c0364a26f96290a80a485f + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e59685 +d = 0204995598cfdd6b6448ee3777f858381b7fcf9428ea89ae95c48b45a4421d9d3f668d83acb7e7c72c416c5f61863bba04ec8007c84490bd05f2ca2c3e211dc76ce219c9c2b1c102f2061e24689a24d31ed6d94a6cbbcc69da5a2daf13f53b172a52450a6efa79444fc97fcbde25408e2d7ef603ed9964290033eb64f8fe5b3ec482c39fca40c5ade6aab7b68c313f45012632b8452b415bb0b2f4a550b9fe4e2c93504f1e670035181abff5e921a771d0027074e2dcda87bb73e68ebcbc45da079f6f81367822c50004dd6d8c67629e7f0db337996199a28378dec3a1ecd08b90577461ea668d354151dc589267c93807d94d79667c395f9471e522cd894780102a47cc609b5342ab95a74573d3e4e7db76ecae2eeb50edd73533c6fa18d675439ccdde16ea4ac61e1b5d8a7a38114b7f51d6ab649448797882e3a0fd9acb182bf06691f70a37f82e58d0eb63de34e1ee31af9e933aa25780fd38e19016b03b94a1d1b59ec55583b748e954d7e8314eba2016d9b2ed1794ad69d1903e2c1bdf +Msg = 6ec1913b9a55cfce3baa6a742498e6712109949f2e5e66fae70e01624090149d767ce89c46ed39ff5c2945db0e8422ba4a8154e3cd3b9fdc96031a2e9b4b8568bac3dc66f2c12cd3d3e6a6ed33fff2882329c6562239b665905a4ee965f85e3c22dd9523089a51538829b634fcd0fee494480f7f931f539ebb5bc41d05604622 +S = 1fdb03e44e04d5823751c29f4404de6859ed5ad1fd7942c6387494327b3fccb98d662bd6311edc0bf49cb4d1014c6f2fed8b5238493bb4db23580f10763707414e3c87a663d664cae71bb00c2596b2515d711f1087125670e2c58f7ae57686f82da409c79718d942fa05545518055a256e007ef761d4acc33984a629ed548005acfd79e0cf151376798eadcf978729a3e18b9603b7693e1c923cb86b52199a360c88e9ec5303afa6e60e47f45719e93cf2e7a53530b9c9a2ab3b2c8b5d7d6d7971445c8a1494bc36363ad58a1c1f4bfb86534cd84be778ff4ef4a410a73c9d0ea327d30548977f2337a74641ace92c749ecd54af207c4bc29d446eddc173934bcd3e998da643261275b1556063dd5c1821c43cf2bef36eef66e514d72462043fac5d568d1be6d57e49f40f30be88c7b4389cec090ed954f48fe48aa26ba39dd739c2d0097fd31330344351a3e941bd633952ce99039e31056097d00aef49218c2589212b44bdb12b6edb68c784b8f789f370999f71eed9c04d6dd2d4d0723d2e +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (3 - Signature changed ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e59685 +d = 0204995598cfdd6b6448ee3777f858381b7fcf9428ea89ae95c48b45a4421d9d3f668d83acb7e7c72c416c5f61863bba04ec8007c84490bd05f2ca2c3e211dc76ce219c9c2b1c102f2061e24689a24d31ed6d94a6cbbcc69da5a2daf13f53b172a52450a6efa79444fc97fcbde25408e2d7ef603ed9964290033eb64f8fe5b3ec482c39fca40c5ade6aab7b68c313f45012632b8452b415bb0b2f4a550b9fe4e2c93504f1e670035181abff5e921a771d0027074e2dcda87bb73e68ebcbc45da079f6f81367822c50004dd6d8c67629e7f0db337996199a28378dec3a1ecd08b90577461ea668d354151dc589267c93807d94d79667c395f9471e522cd894780102a47cc609b5342ab95a74573d3e4e7db76ecae2eeb50edd73533c6fa18d675439ccdde16ea4ac61e1b5d8a7a38114b7f51d6ab649448797882e3a0fd9acb182bf06691f70a37f82e58d0eb63de34e1ee31af9e933aa25780fd38e19016b03b94a1d1b59ec55583b748e954d7e8314eba2016d9b2ed1794ad69d1903e2c1bdf +Msg = f6f47d4bd1da9f9fe5b02b1867a323fb96c9d6b14c650f25d3668c6ef930b1ae679f7e3a2e49bffba30482146da9cec4dc17928e7d7adc98ebcd4b52e79dc757ab106f987c27d3b77f4064b1cddf29c0c9adb380b2c15250741f89fbc47ec0986b4f39aee2fa459c206bb838b0cd9ab706951fcd13c3d91417642db2b75c0437 +S = 5592798437c8c3a7f2d02b41891b25d9b81c8bd63a7e539477a9a995f19438af7cad25645ec908d3fc00ff47a7d2142241241a90ba742eeff3b28889b80209d30e3a610007e646954bc78ec5c8016421ebe7bbabc7f65aa029105c2c1f12fedfcc9d57864c5526018543c9de3fac3ab80fd9c7cfde719c79a63f94f813f86911e21b6de23aae07e77f13905af8f118b53bfb5c7c64225f2f12d0f16b82d6c18450df655176b1f4b804af1cf266640f7b855e2b63dad7ee4ebca63c450b66790c1845c484fb2bcd73eede97b8b722a96387cfe4f2fdcd50e35b4e7de29bc28094d7915f0a56673d668858ef90a58fa76993ba3861d73c10a8d37a88190ac4a99589279b31d156750c275b025e7866e69e796c037629c4d154b0f0435a99af8847d6cbae073b01965e7ae3a0ff3123d81e0ec03858824a3cac04a9c34e95989fd5c82d89ff40aa3cae21e04c68d344eed7bdd61ca92ef1c42ae40b92a66c55e41c0d8802acc4d226d0d684fbb2f7370751babb974c3dd3dfcd6e348a2c22e006e8 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = P + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e59685 +d = 0204995598cfdd6b6448ee3777f858381b7fcf9428ea89ae95c48b45a4421d9d3f668d83acb7e7c72c416c5f61863bba04ec8007c84490bd05f2ca2c3e211dc76ce219c9c2b1c102f2061e24689a24d31ed6d94a6cbbcc69da5a2daf13f53b172a52450a6efa79444fc97fcbde25408e2d7ef603ed9964290033eb64f8fe5b3ec482c39fca40c5ade6aab7b68c313f45012632b8452b415bb0b2f4a550b9fe4e2c93504f1e670035181abff5e921a771d0027074e2dcda87bb73e68ebcbc45da079f6f81367822c50004dd6d8c67629e7f0db337996199a28378dec3a1ecd08b90577461ea668d354151dc589267c93807d94d79667c395f9471e522cd894780102a47cc609b5342ab95a74573d3e4e7db76ecae2eeb50edd73533c6fa18d675439ccdde16ea4ac61e1b5d8a7a38114b7f51d6ab649448797882e3a0fd9acb182bf06691f70a37f82e58d0eb63de34e1ee31af9e933aa25780fd38e19016b03b94a1d1b59ec55583b748e954d7e8314eba2016d9b2ed1794ad69d1903e2c1bdf +Msg = 89008623eb2864cc6d698bd707adce222f5e7f02f128282d42017bd892678c1ca0e93e9e92e9fb6f45a0a931e263d97cb2244180333b6ceb6b67b00d7c0f613979ce446f782f4639e8b56ed3251f118e4ae9457647169733332d012de38216f4bbb680dec481acf2ffafc404f969de22a0b6732f554212ce425d5582ee461513 +S = 52c068fd97c371bf7ad059310286d099e9e1486d6bdd9aa324a51019afbc5b502f1b9f2fecb23560b7a414d0e9e6fca69f4cacdb5228728c77e7659139ba2de38fd74b98f7d70ab4cf61655b84be1473db8b29563f2ad053a89369bb58588874d8d49dac78a42c0ab78d5dc739901b9106dda53c670c2e0ef47a45522af0e3ea7d584c6d1b782469cb7e86b0df2ea67d50ac4dd491e5248974bbc3caa5523da1809f93656706b72f9d7d17ca19d3ee4ca5942f9f5da16db8c25aaf911d85b6c30066d42b7cc6bf33672323177994b95932c224a87a3b15c7a74bead04ca432e933ca26af1677e3fcd67c3ad3196aed8319bfda468b753db289f6009972fe0ac34e7cc2c0c9833534a88e79a6ba7177ccfee0012f174e7e63e63b8e9f6bd24133b2685843ac90aa83ef81b421a202758ba48cd95c46b52192bfa52242bb65a00a21e72f73a5a8f3100c5f8d5fcbc4a5d3ab17a2bd7cefc23126f93cddbf575f22e03c7b7c2e5086992f712bdbfd155b07d05970d8e56c8da399defe061a563036 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003041300d06096086480165030402020500043090e7d75af55fcf6e2a3340a0a2e6c00766fdae81fb75d7bd199e73627508515ffda5624a5d0381dffcf0e39fc012688cefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA384 +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fcbdd +d = 0204995598cfdd6b6448ee3777f858381b7fcf9428ea89ae95c48b45a4421d9d3f668d83acb7e7c72c416c5f61863bba04ec8007c84490bd05f2ca2c3e211dc76ce219c9c2b1c102f2061e24689a24d31ed6d94a6cbbcc69da5a2daf13f53b172a52450a6efa79444fc97fcbde25408e2d7ef603ed9964290033eb64f8fe5b3ec482c39fca40c5ade6aab7b68c313f45012632b8452b415bb0b2f4a550b9fe4e2c93504f1e670035181abff5e921a771d0027074e2dcda87bb73e68ebcbc45da079f6f81367822c50004dd6d8c67629e7f0db337996199a28378dec3a1ecd08b90577461ea668d354151dc589267c93807d94d79667c395f9471e522cd894780102a47cc609b5342ab95a74573d3e4e7db76ecae2eeb50edd73533c6fa18d675439ccdde16ea4ac61e1b5d8a7a38114b7f51d6ab649448797882e3a0fd9acb182bf06691f70a37f82e58d0eb63de34e1ee31af9e933aa25780fd38e19016b03b94a1d1b59ec55583b748e954d7e8314eba2016d9b2ed1794ad69d1903e2c1bdf +Msg = 6cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f1d85 +S = 8fde6a6c314b86ef918ae2d2adf68f85e330a8a1e3486bb3003fab3a52017096ebe000a4a7e8d05df6fafcf4b01940f5e322b7c64a7fb5949a6eb356e905c96c6abd9ef18b4ea9fcc3836dbf6b24979b9e6fa6785e09db540c079a0e97d3adecf6158de9750df9598ae8e7085140328c50beb09ff37e10f7fb11691316db255b6e9be021bec7b0a967589f63d6dd7a43aa0901cc83b8a8954542a41284f2fc381cb5a6eb3625099c911bcbb421b35a70ef5275f2744ead1813873f1d0333060d9cf2ffcee888335b0aed2428362358f7d1aab34fffc11f27ab3cfb8b5390e7dfde1fdd33f2a8b8171d865bf40a8df783e216112b4d416b31f33cdd8c905133557b074cffaa14c73c087e6990c9bb7a36998459e4758ab07c85d260849c0be374a99f3b8b23b97fa5c9dd6206ed21e2bc54fc256e080856c3599772b00c4c5799daedb1a6674625029da3e17ce73365675c5f3a71398f4a0c4f609d4f4016f554cb2424e19c35ca2b0649a210edcb6eca7ac2b31ffff175b25d77b26933e52787 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e59685 +d = 0204995598cfdd6b6448ee3777f858381b7fcf9428ea89ae95c48b45a4421d9d3f668d83acb7e7c72c416c5f61863bba04ec8007c84490bd05f2ca2c3e211dc76ce219c9c2b1c102f2061e24689a24d31ed6d94a6cbbcc69da5a2daf13f53b172a52450a6efa79444fc97fcbde25408e2d7ef603ed9964290033eb64f8fe5b3ec482c39fca40c5ade6aab7b68c313f45012632b8452b415bb0b2f4a550b9fe4e2c93504f1e670035181abff5e921a771d0027074e2dcda87bb73e68ebcbc45da079f6f81367822c50004dd6d8c67629e7f0db337996199a28378dec3a1ecd08b90577461ea668d354151dc589267c93807d94d79667c395f9471e522cd894780102a47cc609b5342ab95a74573d3e4e7db76ecae2eeb50edd73533c6fa18d675439ccdde16ea4ac61e1b5d8a7a38114b7f51d6ab649448797882e3a0fd9acb182bf06691f70a37f82e58d0eb63de34e1ee31af9e933aa25780fd38e19016b03b94a1d1b59ec55583b748e954d7e8314eba2016d9b2ed1794ad69d1903e2c1bdf +Msg = 4621b17cd9f5b623fe73b5fe280ce9ac840805608acd6e41d55ea71132220c0df7e7c4159626f10d71882983f0aa2a92d11dc906c0b22cc028f4395d48f54e12894e33da0f614dd48ee114e65f95c7a7d3585e7cc765c00178d136aa99591faaa35ee6136d2e323ffc855c709c5426b32fc0aa0ac66e90c96efe84414dd5e79c +S = 33bb9affe18723767ee34d8e40982c735099ef1806d8720e71d16fc2d6617a8cf301e992b6c5fc567aa971285cdb372c1934eccb1e83a6597011ad091aefc40db52a7cce970e3e2eee817a727beb9e5d137e64606279c36341c4a7e7488cea8c69af8a3e8497fcbd7679462a1aa15ae4b0d8ea321d4f7c54c75dadc64318cc99533297d9f5bdf4882e64ede175f32cd20081f996c52f288bd56dbc63fdbba190f1167081c95e37c0dbaad3506009660a3fd10d992a2968bfda881cec2cad19ddd852ab579abad0a9cf43c10b1758867dc0f25317d630fd154caf9a4b057d2abcd933748c7d87686c7661dab7b5990f32708183e494b243b862f4255ae02e2d2bfbf00f13d7cc2be7e1f16c43c94b500898de9afc7d4aa8cbb56a4128ec0159a1568c0ebdb819f49ca06b0f0686dfd920d6eff0a3a5e1d913d4ed44f9da20572c132965a958a139207e8900cba4d6b1157a57a4414011b412888cd1935c01e630410607db7852c174dc32b6312d22f541c453ccc07f7689113013c367f4889a7e +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +Result = F (1 - Message changed) + +SHAAlg = SHA384 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e59685 +d = 0204995598cfdd6b6448ee3777f858381b7fcf9428ea89ae95c48b45a4421d9d3f668d83acb7e7c72c416c5f61863bba04ec8007c84490bd05f2ca2c3e211dc76ce219c9c2b1c102f2061e24689a24d31ed6d94a6cbbcc69da5a2daf13f53b172a52450a6efa79444fc97fcbde25408e2d7ef603ed9964290033eb64f8fe5b3ec482c39fca40c5ade6aab7b68c313f45012632b8452b415bb0b2f4a550b9fe4e2c93504f1e670035181abff5e921a771d0027074e2dcda87bb73e68ebcbc45da079f6f81367822c50004dd6d8c67629e7f0db337996199a28378dec3a1ecd08b90577461ea668d354151dc589267c93807d94d79667c395f9471e522cd894780102a47cc609b5342ab95a74573d3e4e7db76ecae2eeb50edd73533c6fa18d675439ccdde16ea4ac61e1b5d8a7a38114b7f51d6ab649448797882e3a0fd9acb182bf06691f70a37f82e58d0eb63de34e1ee31af9e933aa25780fd38e19016b03b94a1d1b59ec55583b748e954d7e8314eba2016d9b2ed1794ad69d1903e2c1bdf +Msg = aa4a6da9f73b58f5326d587572aed18ed9a79f3dbc6959510349d2d8d3eee6d76ba8733e4c03a51a9d9d770dcd3476fb7a03c807924f6ebeb83dc691e9e654895fadc136b5d124e94d3e8123efa98f4cb2dbbfa8204d798895f6a9bde8617a524d02617b7aca5ec809f97f9e1e34a5e849d78a0aae8c0316631d83431986e19b +S = 950e4924b04152a1bfe6f36351d637ac802b08344c250118aaa7e8c414f39f559761d458b7744d952edf9851197b2465c46aafa827ea0610f85fadd7b41418b04c1e335fa084fdc84782e1f51f90df0eef306d9b9361a1e610244fc5dc609a9f82f670521f63b3b3ed8e1a48a630c55dc9f73f16bf49478d8410434dc0da78ef840a4bfba56d5770d084c90d7ffd198a802c8b90a8700b96a0f2f50c994af7d44b3e9eabf9c7b5d9d6b7da0d64b623293b5b7e2108d7085fe7f70b29b98c3bd575df131da4b78a50dfb6392d0f37295908170d4475d7702ea3abce584efbd4b4e37ab760c1641548a79eb7f27c69eb4c78113bc0c22ec2d2a9a244ee6fee9aaf57f71aa9dda726bc0dd580673ff2c69922dde0b4ebb92653fd324077040fa00a280454ea879147937ed1f53ce26422f4677e0125cd49c2bcb9a88767e0e67ca51f6472de6cf32c7b0ab7bea63253d8fa031a938621a026a92384bae79594a8c9bddfb06fa9c58c5a4a5776cf65b1f5d346da7deab2154e45440b0405d1052405 +SaltVal = 97ebc79827e22ccaac4476dfd5d2f04666119b4a8b4e2239 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443041300d0609608648016503040202050004303fd0fdc996de2d2eefa94ad685e263c6bdd8e43295d73af0310b3cc72e5c49b80a41565ff6b15a9d834d44c133a1b156 +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + +n = a3f2235ad2053b4c83fa38f8284ed805421621fe98845fb01b689f5b82b32511b6d16173e7b40a66a3a999c189beb9e06822150ac8be677186370c823b5277d909de07564e281cca2f13873d9d07b7bd85a2b9ac66f4ce4f5e38b8e9eebec04c8caf311e375d69e80851d559b8e90e85ba6b96476790f727c25aa8163062ec8543fcc7759be62c7768ecc37f340bb06102762bf0441ca1aa2c7a81bf37dc8b27439d3abba93812c9bb44fe4d6a94baae709379f5ce5d0c8f81d00086b9caa3026819588f491b525807899cdab33d8e992150d2b105d3aab615217c6a3d740831c7dc76faabd9c9b9817ead0b494566de1433fff5ba4604c6b8446f6fc35e746aff84ff8bd7500410d10e82bf4c9036489de47dee9a327a5c4510d8561321b91d55559a4cba85e0c361767084b25217e8a63c4e151a1e88689feecffd16fa0a65ae41d2babca99cf1b959c3c076c0f75974146f2cc494126fbecad4217b9aaa00f169fa512527ff5a0b50da46d6be870ecef2af7a1e6c4556f6f7a0a00b9f47cb + +p = ce0e239c0c46a943e14f2c0727b6bd493713abfa56f52afdf135e6ba12d2d562f174fb7e9e7883e953fac4983011b2a01e40c06dfe296928eb16037720bf1bb13e6813f08338942189cf6d223e4e2db13b6092113038d74ad9e87f3b89a86e9c497b1f9b38003653804727e2e88ea3d6e56329898fb24f8d9c6434f3711df2b542bfe00d6425c7c2a4fd8e7cfe9d03b870ce1445ca7a9cd8dc7bf77186d4f2d65c6b13c405e0ed79b86133d45cafb7b094b5ac9c57527d92967fd9775ca98cd9 +q = cbaf15aea694a20dd030426170aad64f20f56760b0f547e381fd99d18a872f07fb2feb6840b2e872e66b32a2e17a16afbfcfd84358f8cea6d154d083a486829a9669f90eb295121a50cb991f379081cad93c8bf6b8c3aa0bded95e5b3403ef5aaad6fbe23e25ffb7680ec9304170f8de24f4fa395ce45117a10a51e54526d662468f00ee5db1ebaece8281e79ba64db3dad570140bf0df78ed13099e275ff06c9caa4d07dbaae76faaaff03e5e466f2cd2cd3128fc5bc744caecc9347153e343 + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3f57f +d = 3c27687367ebd2140b4f4f2024ae38e3acdee1fa8ab7cea9914eecb5801130151b879f7dd9c8c523fbeb16ea4c358bfb2b6e492b4666b4ff3f2dceae50c33ed5b28445405215b64dd8d92006e681a45f78983431c0db664a787559479a3a279bd6ab71f9d15f0109370547cb12b7aa90a84c1d1651b9bee5d2e6226011491897ebf891fa67cd19fa4fed77ccd5f96343743d8bd22e46dabdab469adc464acf29c3a08f5748f4b00bb15587ee444b765c069de3e71d09e24a69b627ac6fc3497d9d32d7971fc4471d5dd439652d7393fa3b434b5254a4cb1064dea1d1ba41181a6c3672e3e0f6a284f23121dc7a14a4c7a76ebc2bfd09cb69841ca95907cc30c94e6927511c72e97dd3330bb456488d919fafd6d8f19759ab4c37466314751e53ab139272e8d67c0dc04249d300ee635a20a4f65ed7cfb30d1813d0b75858f2f8f910c05bcc2013ba5c9321c495e141a617fa73181918909dabc3f9de594a193312e14772b4a59b4fb72e7315c055236a789eb4d224609745721e73031c9113e7 +Msg = 31e3e05d7a984db4da8696db9bdefba791358c70fdd8330db060f4ff748674eda738b85129ec30707934f48f1a924d643c8e77cb9807a5ba9cc74677c85a8708581f19ec239f3408c31edce4f6706317440e2f00e269bdb7d77ee6435dab610e8ac18a962f5a6164016dd642f61f44a9f2dc3b79a3a782eca9ae5ccdfb220be5 +S = 4fc3232b033b22a8406ab979cf0bb66175b523285eb8425d2e80113b2bd28f8f364a6487304650789c3ec0f2e1ecbd0c919ae8d46c604534aee503dda653ed94582c93abf67417412080871e193faca2ab5be8944663415475f3fcf6086592418b6b845d5f6281943b19dd68c0a3526b39d8d225a97c5705b7b9d2afffdc2351dd95dee2eace1aaa8bd9643fab8e764d6a7c66499f74c944f10afbfdbd901b385388696d536fc9ca5b68b933784f646773e99ec2bf312883fdeb9ecc3d6e46094d87802cf11deb8e8293ec1ba76711a4b49db5d2a443324783cd4fa001b92a46f7aae084bddb30af4d23c6ec6faa9003def5dd59d00c225ba1212ad0b58fec5b251200ae135345ef141106d3265d9e8019a426f652b91ec32c8658869aa10044997f22f24fa101d088379d60d64830f7948a0bfe1c348b90b28dee91bc501556cc1dac0d050fbdd2efef2538fa4f182d7908ff754ab84c238d16a9b10b0140e7298b026b4830ce14f3caf9e72daf32a6a785360816c70989834691133c7a918a +SaltVal = 00 +EM with hash moved = 0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003051300d060960864801650304020305000440b428082d391ca6f9b204783da0277b025e5c2aa3aba5938fee5246278a0716ee2df9131748f38b54580db0d932a8ece32dc5327f3f883d67f96ccc05b826ac77efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef +Result = F (4 - Format of the EM is incorrect - hash moved to left ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3f57f +d = 3c27687367ebd2140b4f4f2024ae38e3acdee1fa8ab7cea9914eecb5801130151b879f7dd9c8c523fbeb16ea4c358bfb2b6e492b4666b4ff3f2dceae50c33ed5b28445405215b64dd8d92006e681a45f78983431c0db664a787559479a3a279bd6ab71f9d15f0109370547cb12b7aa90a84c1d1651b9bee5d2e6226011491897ebf891fa67cd19fa4fed77ccd5f96343743d8bd22e46dabdab469adc464acf29c3a08f5748f4b00bb15587ee444b765c069de3e71d09e24a69b627ac6fc3497d9d32d7971fc4471d5dd439652d7393fa3b434b5254a4cb1064dea1d1ba41181a6c3672e3e0f6a284f23121dc7a14a4c7a76ebc2bfd09cb69841ca95907cc30c94e6927511c72e97dd3330bb456488d919fafd6d8f19759ab4c37466314751e53ab139272e8d67c0dc04249d300ee635a20a4f65ed7cfb30d1813d0b75858f2f8f910c05bcc2013ba5c9321c495e141a617fa73181918909dabc3f9de594a193312e14772b4a59b4fb72e7315c055236a789eb4d224609745721e73031c9113e7 +Msg = 691c263b523e54312dad47dddcce9bfb7275a61a9ab5fd0736f73a89454afd4e0afa31266b64916f97086ad0ebe0a22b17f1f9cc7c1f8fe7d945a7412785aa2dc1dd6fbac8fbb92bc65301a7916e7632738543dc874e10386616cb100310a857d4ed665f33acd54d03b495c9962020face5a0ab183eb88e42591305fa392ffb6 +S = 0c42f7dfb0a5b5d439d505310f148a0721670d81c806bb50bec20d941dbdfa12980b2326984169ca4a3943ececd9b1527dccedcaefeb5cf739e0112ab9410396e3692163fe2a74fb8d530c8d805575e101b4ddfcfd7f14a8ed95074a516a1ccb0190345a79ae0e83934cf09cd1617ca471e10de6bf512ccb5cbf9a87ffb65f032422dece63dfc0247f54c9752b2e966c904cc203362d3f680fda66b17f761571b2984cece2f4575064b47d78afe8d683554da1f132e8bf707f850f97310cafafdf374835188983bcdb3493ec1479aa26fe12b504a32a8e9b31a1fc821fdcc8b7a2c6405d189cf7f644e5f47bed54c0f1b03ceac14b19f13a25ccf4c779a052989a9e966dcacf29ee5efe93e1dcd5fee4521faac968652353e5ad9e0ff2d4622e98cf7fde4800ef00981d76dfdb953ea9c599a1c07611876d11ce94e9a421cfef3aec08145703c2e6a878112959696ea54effd9c3819d0f6fc6d722a26ba044d16cc93359e4b6df565b43c354abd105a638aa1e1d6cc7fc9300165c57b41cdbe2 +SaltVal = 00 +Result = F (1 - Message changed) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3f57f +d = 3c27687367ebd2140b4f4f2024ae38e3acdee1fa8ab7cea9914eecb5801130151b879f7dd9c8c523fbeb16ea4c358bfb2b6e492b4666b4ff3f2dceae50c33ed5b28445405215b64dd8d92006e681a45f78983431c0db664a787559479a3a279bd6ab71f9d15f0109370547cb12b7aa90a84c1d1651b9bee5d2e6226011491897ebf891fa67cd19fa4fed77ccd5f96343743d8bd22e46dabdab469adc464acf29c3a08f5748f4b00bb15587ee444b765c069de3e71d09e24a69b627ac6fc3497d9d32d7971fc4471d5dd439652d7393fa3b434b5254a4cb1064dea1d1ba41181a6c3672e3e0f6a284f23121dc7a14a4c7a76ebc2bfd09cb69841ca95907cc30c94e6927511c72e97dd3330bb456488d919fafd6d8f19759ab4c37466314751e53ab139272e8d67c0dc04249d300ee635a20a4f65ed7cfb30d1813d0b75858f2f8f910c05bcc2013ba5c9321c495e141a617fa73181918909dabc3f9de594a193312e14772b4a59b4fb72e7315c055236a789eb4d224609745721e73031c9113e7 +Msg = be2f3e1dc8a3711570401bd535185426944d094e8481a12a438de07d54760c88c99d4fdbbe355d6a26fa56e3ca20ee3f8e8acb98f63d2f3aea14d6fcb6b522d155c3759aef56de3ea0a8f9fd7b111001cf358636a87c765c99c2975bb95063d6ec0b780264ec3eb967b0caca52d10294deb402d3a224bfb9d9ffea41662f18c0 +S = 787cdd6e1d4fdf9a0d9f965eb85725232a9efcc12abfa1ef25a81e0983111d9000d494fc7d3201eb3bba327302727f7086147a755b4827030c7276536f425593ab2e9127a149e754de7ad77f8c2043267db49f8a35031d83f13d140d5df4d424b47454041a23b92ff6818e749d65d01fc50bebf69152f3f5fcb4873b1036219e22b1e74f8368c8c501ce65f2c929d90a8ec899630e802547a7ca6ef18ab3cb3eb4a691ee68aebeaf1b9c055ad12218039cf480cd8d294332c5e16ebbe6af11f8f4bf49f9b4ed2f511126ae780a3b784be8f4426abd17f8600074483f2af3b71a8964c6e0fa00049a1d940d34cc08839e0c59253d99e90d17871d489674695663626166d36ff91d8c2299a2f051eae2d60e8ed0bc3fac1e490b470c12f3d697f6fbfd880de2e90e9fcbd485fa3393198372fb01e4cec5c15917ecdd42e57c43ecf55a8c0ecbdcef1bce4e36d96d46b112570b53f82f3d2064b08ac78613670a28ea69d79c717eb1c294090dbd561fa6e504d09d265724e37a2dc6f445f6f528c9 +SaltVal = 00 +Result = P + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3f57f +d = 3c27687367ebd2140b4f4f2024ae38e3acdee1fa8ab7cea9914eecb5801130151b879f7dd9c8c523fbeb16ea4c358bfb2b6e492b4666b4ff3f2dceae50c33ed5b28445405215b64dd8d92006e681a45f78983431c0db664a787559479a3a279bd6ab71f9d15f0109370547cb12b7aa90a84c1d1651b9bee5d2e6226011491897ebf891fa67cd19fa4fed77ccd5f96343743d8bd22e46dabdab469adc464acf29c3a08f5748f4b00bb15587ee444b765c069de3e71d09e24a69b627ac6fc3497d9d32d7971fc4471d5dd439652d7393fa3b434b5254a4cb1064dea1d1ba41181a6c3672e3e0f6a284f23121dc7a14a4c7a76ebc2bfd09cb69841ca95907cc30c94e6927511c72e97dd3330bb456488d919fafd6d8f19759ab4c37466314751e53ab139272e8d67c0dc04249d300ee635a20a4f65ed7cfb30d1813d0b75858f2f8f910c05bcc2013ba5c9321c495e141a617fa73181918909dabc3f9de594a193312e14772b4a59b4fb72e7315c055236a789eb4d224609745721e73031c9113e7 +Msg = be0f5c666c1d2c480ab93ab82e2c7d5d347ab87e9937ff72a59b77574dd95d0757ad4a48bf34b5435a01b938b96d186f502e8172d72c0e79f19011260c1d107288c30ee81b710c11742cd02f1e5ee52da870e3d7039af1472bfa879f09e479fe997a31ac487c3b98a061080526a6eb8083666815e32baec29b04622c0ed79e91 +S = 64e703378e5e73cbe26a01ea4b21e926501266d634a83b2542985d3405202f38504917cd42363969d5f65bc7a1db79dd1f91c49407be518aa77843d14fbe7ee49715ef4457c32eec47f03020209b761ef1be6a12f489030ae585214a7a9429e60618eedf82eab01e3d7b39de7e220540812e1b6d0b88d200699c17387c1deb893c3012f4a340bb86fb353825f772efc4afa625784aeba437d2cf4a09e1dccb7e224385b03a40be52557005ed9023c0aec390f551de23d590cacb7c3b5efeb6c878b44524613bf5293fd5cce9e486c2552be609993dd15582df09aff677813ff5d2c2a8c55460912107818b29ed76601ad999902a461b06c85da91376893b9dfbcd8d50e135ba39a4c1daf2c610f0efc8717842d40caf59bd2f51fef7962d1a936a3a31705febaaedf94083748f2f3cf3fd2ed498490b8e6b20823f7ab78c8fbf518945d426cdca11e4b3e6a8e5c15bb3f932d60e0eceea2c3e6bc72255a4ff248203b02e268794b09cbfe4891b3383ff7e845c26a01fc9c4ecacd267ab186a4c +SaltVal = 00 +Result = F (3 - Signature changed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000453aad +d = 3c27687367ebd2140b4f4f2024ae38e3acdee1fa8ab7cea9914eecb5801130151b879f7dd9c8c523fbeb16ea4c358bfb2b6e492b4666b4ff3f2dceae50c33ed5b28445405215b64dd8d92006e681a45f78983431c0db664a787559479a3a279bd6ab71f9d15f0109370547cb12b7aa90a84c1d1651b9bee5d2e6226011491897ebf891fa67cd19fa4fed77ccd5f96343743d8bd22e46dabdab469adc464acf29c3a08f5748f4b00bb15587ee444b765c069de3e71d09e24a69b627ac6fc3497d9d32d7971fc4471d5dd439652d7393fa3b434b5254a4cb1064dea1d1ba41181a6c3672e3e0f6a284f23121dc7a14a4c7a76ebc2bfd09cb69841ca95907cc30c94e6927511c72e97dd3330bb456488d919fafd6d8f19759ab4c37466314751e53ab139272e8d67c0dc04249d300ee635a20a4f65ed7cfb30d1813d0b75858f2f8f910c05bcc2013ba5c9321c495e141a617fa73181918909dabc3f9de594a193312e14772b4a59b4fb72e7315c055236a789eb4d224609745721e73031c9113e7 +Msg = dd1ac9357850544f391febbba214bc7b034f30e99b2229ee00db8974c1ddf31e49f6d53606eca6e7cb596cac73b98208c8c29878a3f4fba6547017df430d3ac7d8a99a4b99bd9ad8923449cafa7e2b2813e03d8e520e336ac0fb046ba0f0a83752dc205d77ebb88a565989ff7f894142ad512714f19859a40d2458021eadc7d6 +S = 087210ce149329791f3509b67df8ce6fd0f75b86500780f9b16f451b8179d8aa69bf64416ac5c7cfc0695a775fa30aa6183fac051642e4e8383e8a2dfd8a93523e1de54478489caf0b35efab456123b771db81c734ddd3545c971b5a85663c9dae8970fc15752b843e3ab11d1a660cb8d4f63ba5a0c8ad3e7e2f21f7d70c5cf9753607698022e7f379dcd5fa5c4d7c66a71efd3f845567c360f704bd3679633310066a20050c056c8ac025f7721573a94dc91dab73c4f9b4d74ec24114d35b806562ccab94d598e46d2e915282a6b84eb9d545304dbc72f67957b6391a3b4e779a8db79d2f69316b28046b41c6f7a3fa1756d85e6c74f45a86aa17b2ba0d57d5548fdeafd33c9b8308d12c49ba913fa1d01178b83b7c99abcba31b3b92a014343ee67dbbb15d63f165495973fbd7769346f4b4a82a573a0ad36a8ba55de22bf595d368c3807d22828bc5da051a5ae469729e0d3f1fc9ce94d1d754703ee90fc9a7683ad88a2392241cf508fb6dc485652b8d8bf6dbdea987ecdf71948345d771 +SaltVal = 00 +Result = F (2 - Public Key e changed ) + +SHAAlg = SHA512 +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3f57f +d = 3c27687367ebd2140b4f4f2024ae38e3acdee1fa8ab7cea9914eecb5801130151b879f7dd9c8c523fbeb16ea4c358bfb2b6e492b4666b4ff3f2dceae50c33ed5b28445405215b64dd8d92006e681a45f78983431c0db664a787559479a3a279bd6ab71f9d15f0109370547cb12b7aa90a84c1d1651b9bee5d2e6226011491897ebf891fa67cd19fa4fed77ccd5f96343743d8bd22e46dabdab469adc464acf29c3a08f5748f4b00bb15587ee444b765c069de3e71d09e24a69b627ac6fc3497d9d32d7971fc4471d5dd439652d7393fa3b434b5254a4cb1064dea1d1ba41181a6c3672e3e0f6a284f23121dc7a14a4c7a76ebc2bfd09cb69841ca95907cc30c94e6927511c72e97dd3330bb456488d919fafd6d8f19759ab4c37466314751e53ab139272e8d67c0dc04249d300ee635a20a4f65ed7cfb30d1813d0b75858f2f8f910c05bcc2013ba5c9321c495e141a617fa73181918909dabc3f9de594a193312e14772b4a59b4fb72e7315c055236a789eb4d224609745721e73031c9113e7 +Msg = bf8cec246224e055e794d2f3f3fb3b1f77982a3f8f2544f4aa66094dec01593ad090364312f5cb79ccedadaddfe962e1941920fc83c9d6c2b4f0710205065811cb173878bc1607ea0d734379d7ef7b09bfb01104d6903e4fbebb567d0f794e43f8487b2c2a2e9c8ef14d1bbda4b8907e408587bf5024838510ef4325d10143b7 +S = 92579093d53403c964f045fb794065964cf98f2dc9236347bf5a757342a546443ec4e7c885f930e1d4691073a50bfbfaf7fb71ee7c8f7981ab009924c1573f6b92bfd66f36e22d5de5e707d87247ef2422270b772474699ae77d771c4a94caaca81d123380aa09e447f1384af3d8ee076ba0592a9b0d5e550a16a9a63482a09ca95425a05eb7c02d3727f2eb64e7f74b03668209e1a32b722d36e8b4614451b22576b4645f23ad95392a01d36f30e55958648bc6f7245479f949821985d66936c173fa5a9f0d772ccfffad1610f8247a2e598f5f7ccc258579ae46beadb94e7b8f558594f2f546aa3177247ebefcfc99f306fce40066b3d72900cb312be0a58062c36d1b2d6a47673b8599b4fae469865059b6e38e1d6f0c069df61268d38d885dfa42d0dfc9659bad6637fe76865f509cd3b2abab37d571aedc5068be59af0f7678ffa1406ee263e76265723fd4db14acf7ec1bef3bdce0db1a976e30f5f4a36e65a2e8b3ce8bc9e6df970af5b149a1d30958c7ef79802a6728ef1b0ad47d79 +SaltVal = 00 +EM with trailer wrong =0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff443051300d060960864801650304020305000440119182ed51f1f88e9f4ce1d80025ebc7c3d6a26c4b7ae83d937560313942a6e372e752b667d920137ade3402658c73d8474a758311cc3b127853c19b373451ee +Result = F (5 - Format of the EM is incorrect - 00 on end of pad removed ) + diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-2.txt b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-2.txt new file mode 100644 index 000000000..56f6ddb51 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-2.txt @@ -0,0 +1,1040 @@ +# CAVS 11.4 +# "SigGen PKCS#1 Ver 1.5" information +# Mod sizes selected: 1024 1536 2048 3072 4096 +# SHA Algorithm selected: + +[mod = 1024] + +n = c8a2069182394a2ab7c3f4190c15589c56a2d4bc42dca675b34cc950e24663048441e8aa593b2bc59e198b8c257e882120c62336e5cc745012c7ffb063eebe53f3c6504cba6cfe51baa3b6d1074b2f398171f4b1982f4d65caf882ea4d56f32ab57d0c44e6ad4e9cf57a4339eb6962406e350c1b15397183fbf1f0353c9fc991 + +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 5dfcb111072d29565ba1db3ec48f57645d9d8804ed598a4d470268a89067a2c921dff24ba2e37a3ce834555000dc868ee6588b7493303528b1b3a94f0b71730cf1e86fca5aeedc3afa16f65c0189d810ddcd81049ebbd0391868c50edec958b3a2aaeff6a575897e2f20a3ab5455c1bfa55010ac51a7799b1ff8483644a3d425 + +SHAAlg = SHA1 +Msg = e8312742ae23c456ef28a23142c4490895832765dadce02afe5be5d31b0048fbeee2cf218b1747ad4fd81a2e17e124e6af17c3888e6d2d40c00807f423a233cad62ce9eaefb709856c94af166dba08e7a06965d7fc0d8e5cb26559c460e47bc088589d2242c9b3e62da4896fab199e144ec136db8d84ab84bcba04ca3b90c8e5 +S = 28928e19eb86f9c00070a59edf6bf8433a45df495cd1c73613c2129840f48c4a2c24f11df79bc5c0782bcedde97dbbb2acc6e512d19f085027cd575038453d04905413e947e6e1dddbeb3535cdb3d8971fe0200506941056f21243503c83eadde053ed866c0e0250beddd927a08212aa8ac0efd61631ef89d8d049efb36bb35f + +SHAAlg = SHA1 +Msg = 4c95073dac19d0256eaadff3505910e431dd50018136afeaf690b7d18069fcc980f6f54135c30acb769bee23a7a72f6ce6d90cbc858c86dbbd64ba48a07c6d7d50c0e9746f97086ad6c68ee38a91bbeeeb2221aa2f2fb4090fd820d4c0ce5ff025ba8adf43ddef89f5f3653de15edcf3aa8038d4686960fc55b2917ec8a8f9a8 +S = 53ab600a41c71393a271b0f32f521963087e56ebd7ad040e4ee8aa7c450ad18ac3c6a05d4ae8913e763cfe9623bd9cb1eb4bed1a38200500fa7df3d95dea485f032a0ab0c6589678f9e8391b5c2b1392997ac9f82f1d168878916aace9ac7455808056af8155231a29f42904b7ab87a5d71ed6395ee0a9d024b0ca3d01fd7150 + +SHAAlg = SHA1 +Msg = e075ad4b0f9b5b20376e467a1a35e308793ba38ed983d03887b8b82eda630e68b8618dc45b93de5555d7bcfed23756401e61f5516757de6ec3687a71755fb4a66cfaa3db0c9e69b631485b4c71c762eea229a0469c7357a440950792ba9cd7ae022a36b9a923c2ebd2aa69897f4cceba0e7aee97033d03810725a9b731833f27 +S = 642609ce084f479271df596480252e2f892b3e7982dff95994c3eeda787f80f3f6198bbce33ec5515378d4b571d7186078b75b43aed11d342547386c5696eb3799a0b28475e54cd4ca7d036dcd8a11f5e10806f7d3b8cc4fcb3e93e857be958344a34e126809c15b3d33661cf57bf5c338f07acced60f14019335c152d86b3b2 + +SHAAlg = SHA1 +Msg = 18500155d2e0587d152698c07ba44d4f04aa9a900b77ce6678a137b238b73b1aea24a409db563cf635209aea735d3b3c18d7d59fa167e760b85d95e8aa21b3881b1b2076f9d15512ae4f3d6e9acc480ec08abbecbffe4abf0531e87d3f66de1f13fd1aa41297ca58e87b2a56d6399a4c638df47e4e851c0ec6e6d97addcde366 +S = 42f3c3c75f65ad42057bfac13103837bf9f8427c6ebc22a3adf7b8e47a6857f1cb17d2a533c0a913dd9a8bdc1786222360cbd7e64b45fcf54f5da2f34230ab4806a087f8be47f35c4e8fee2e6aa2919a56679ce2a528a44bf818620d5b00b9ab0e1c8d2d722b53d3a8cca35a990ed25536ea65335e8253a54a68a64a373e0ed7 + +SHAAlg = SHA1 +Msg = f7f79f9df2760fc83c73c7ccea7eae482dcfa5e02acf05e105db48283f440640439a24ca3b2a482228c58f3f32c383db3c4847d4bcc615d3cac3eb2b77dd80045f0b7db88225ea7d4fa7e64502b29ce23053726ea00883ea5d80502509a3b2df74d2142f6e70de22d9a134a50251e1a531798e747e9d386fe79ae1dea09e851b +S = ac2ae66bca1ec12a66a2909fe2148a1d492d1edd00063b8b33af74760dc4056718fd5041d4dfee12bec7081ab1bab2d0eb2712f334509f6889b19d75d1fd0fc61bf12976109c3614c46051e2a401b20880d6e64ad6a47f23939803d138aa0a44bc41ba63030746622248771431dff97e8a856f0b61d114f813911ee229655155 + +SHAAlg = SHA1 +Msg = 099bf17f16bcfd4c19b34fecb4b3233c9f9f98718f67b3065d95a5f8642351362b9009534433987f73ce86b513669736b65295350c934fd40663e24f3a1037778a0bcd63003cb962fd99eb3393f7b2792f2083697b25f6c682f6110f162fc9f76e35c615148267ddff3d06cffb0e7dee5230e874a5c8adc41b75baa0be280e9c +S = 3a2b7571619272b81d3562a11c644502894421583e02879f5a7759fb64ec2ab8105f7d11947c8e4bfca87219e52987aad3b81cbd483166ed78152af24460c908879f34c870573127e3448c8fbf43028350c975bbc3a999196a3e9961228a2bb15b4985e95bba970ac4ad2ac5b42ac51dbc6509effc13396693980fc89ba44c7b + +SHAAlg = SHA1 +Msg = fb40a73dc82f167f9c2bf98a991ea82fdb0141dbad44871afd70f05a0e0bf9f26dbcbd6226afc6dc373b230445c2baf58ed9e0841fa927c8479577da4b1e61d95b03af31c5ac401d69c8136b6d36a1803221709b8670e55e1b5d5a8a3763700aae5ea6330eee2b4a191cf146784003d8ad2218a94a5f68e3600ebef23ba4cf8c +S = b10322602c284f4079e509faf3f40a3d2af3abef9f09171fdd16469d679bb9adc7e2acb1addb0bd5b38b5c4d986b43c79b9724f61e99b5b303630b62d0d8d5f76577fe7ea387710b43789ee1b35b614b691f0a27b73baf6bc3f28ec210b9d3e4c5a2729cc1203b74ef70e315cfe5d06e040aee6b3d22d91d6e229f690a966dd9 + +SHAAlg = SHA1 +Msg = 97e74960dbd981d46aadc021a6cf181ddde6e4cfcb4b638260c0a519c45faba299d0ca2e80bf50dfde8d6a42e04645dfbcd4740f3a72920e74632851d9e3d01a785e9b497ce0b175f2cd373bd3d276d63e1b39f005c676b86b9831352cef9edabef8865ad722ebbe2fd3efb48759f22aea23fb1b333159a9cfc98a6dc46c5b0b +S = 60ebc9e4e2e2b4fa6d31c57d0b86835e8d201d21c274cf5452cdd7ef2857dc780dde3526f3658c4f2c8710eaae4870d275997e5cbb268e3bd251f543b8828feb85c211c858e47a74cb122dc17f26fe92b4afeecbf1e20bea75c794c0482aa6532e87955dba249f0fa6562bdf8f4ccd8a63da69d1f337523f65206fb8eb163173 + +SHAAlg = SHA1 +Msg = 95d04624b998938dd0a5ba6d7042aa88a2674dad438a0d31abb7979d8de3dea41e7e63587a47b59d436433dd8bb219fdf45abb9015a50b4b201161b9c2a47c304b80c4040fb8d1fa0c623100cded661b8eb52fa0a0d509a70f3cf4bd83047ad964ffee924192f28e73c63b3efd9c99c8b7a13145acc30d2dc063d80f96abe286 +S = 859cc4fcd1b88ccda695b12311cf8bdca3b4c135faa11f9053dc10f4bf12e5f2179be6ab5ad90f8d115f5df795a77340e20662809fa732b92560adcffdb0ddb72d33811e94f854330680f2b238300995a9113a469afd9e756f649208d2942febffb22e832279063ec5b57ab542d9bbc56e82cdc6a03b00d10d45801575e949e1 + +SHAAlg = SHA1 +Msg = 207102f598ec280045be67592f5bba25ba2e2b56e0d2397cbe857cde52da8cca83ae1e29615c7056af35e8319f2af86fdccc4434cd7707e319c9b2356659d78867a6467a154e76b73c81260f3ab443cc039a0d42695076a79bd8ca25ebc8952ed443c2103b2900c9f58b6a1c8a6266e43880cda93bc64d714c980cd8688e8e63 +S = 77f0f2a04848fe90a8eb35ab5d94cae843db61024d0167289eea92e5d1e10a526e420f2d334f1bf2aa7ea4e14a93a68dba60fd2ede58b794dcbd37dcb1967877d6b67da3fdf2c0c7433e47134dde00c9c4d4072e43361a767a527675d8bda7d5921bd483c9551950739e9b2be027df3015b61f751ac1d9f37bea3214d3c8dc96 + +SHAAlg = SHA224 +Msg = e567a39ae4e5ef9b6801ea0561b72a5d4b5f385f0532fc9fe10a7570f869ae05c0bdedd6e0e22d4542e9ce826a188cac0731ae39c8f87f9771ef02132e64e2fb27ada8ff54b330dd93ad5e3ef82e0dda646248e35994bda10cf46e5abc98aa7443c03cddeb5ee2ab82d60100b1029631897970275f119d05daa2220a4a0defba +S = 5aa5033381bdd0acce332dd314daf008acaa9e835f832979891d1bda2b55d5eae35c479c06cac5bf33f432c8c0a5549d1d1b29c5e2589024d27800a0c235a61532c203cbc406ac6ecf63f52ae771b97c08e4b108ec916900e5a11b1d48cca86ca5a5a799ed32e99c815cef04cf8eb55223bfd4d9c3449264b60061bc3684bc82 + +SHAAlg = SHA224 +Msg = db9eae66bcacb01ba8029fbac5fef13156aa1a768c3dff259ee5ae6b1cc34c2280374e3d065fed67bddad3e7ded21bc75d397835bf52b4292b745d48c30bbb0935df04168c99d3f54d83d7e7bf8fc8108a9ba0d983f30793c7170f5d07bf2147221d38b7f9624c0c7f8312820f3de2550357f82a8227e0aa99572c708de96825 +S = 1ee03bd2a0440ef89c0f19fa03c855074e16f6ed426ca35bb763138878969a814be2f16f3dbbf73d2fad78d42a8ff8aaa342f5fcb08d2dde74525ba5b2c65ef4e33d61774545886f7f217eb681a54b42ef7df66ce943227021c1b5709b7a554a64141c1fa3609ad25fa8317068369b8990b843946881044066746c1203b57acb + +SHAAlg = SHA224 +Msg = 2e22656e48856240b0f655d2022d69ac731a1c63151ba36e57728a35cbf69c6b2d08029ea0c9af0c3a8bfbb9c3858dbebaca7fe4997cbd715b3cae423ae6171abd7b3c3af25f4832f8c5eef6c1675134167a21e5dce1072395a1443a2a959501e763596bc7aef559f28d78b2843c7bb690124c8f65b34b290f879344216bddc8 +S = c3a66796c87319c01a8355102562029797d695de50b46bfa39c6d9a4c0642b6de80272481b8785b0ff3ba4571bb45cd6aad9c5fc1383c79f6b7a13c4e67f594f81a81157de6247b896345de1aec94adcccf126599132846ea1398585499be4e759a1f7757d318ccf41378b374275ad4cbcd1077476cbb06ea42b36289b0f80bc + +SHAAlg = SHA224 +Msg = cf785002292f1ef9645f2f2cdc0455b29d0ba1efc91fde0a3ac05fa16995fbbc8e03550009fe6126011f23ab4bf7bac88da49ea4a3a126c941e34dd4da21b571c173ec878f1eefb0c4aeececb1464c969535f19706c9bcd9926853ffa7dc2153b0ef9eff8138d081f5341259d5991404fce6232eb93faa247578f98896704648 +S = 59ed09ae9cb743146781a1aa58c608fe107e2f6a1767d774a84eeb00f84586e4bd0efe7f201be1cfc4c67b73441fde816b91530270c62a34d86e5c8cdad4f0d0b90b53aed9bd31c7b43e1d7517f413c8b10232ab7d7a270f250f09817721611f6cc96137e8067e8cf77a7ac25bfa8f8f157c4eddf051da69be6284e877aa435d + +SHAAlg = SHA224 +Msg = 302219bc6c07e628f352a45091719bb0e655875fb97691388f187e377ccd27253a3c29787820dd7574948b97cc8dda3492a88b5e9e26670828347669967072a692aa7bab60e70c596eac2ee72d79ec82209306373306ea134debdf8928e7841361f4791ccb645c1e0923f7085c3cb7e2b99e60b31f2100a327c4225ddd3843b7 +S = 4415ec9cc208f5c981528821637bcb0ebbbfa08418ff935667efcfc088c3941b978280bb1c246762883559461334b0ef26eca0e5d4ab72059fb5dd59aff3ce5d0b4913e19797561116ce3934bf5f362b88fae1bc9ebda447ec32ff31d26eec3951eb87f08412bd3c3b7a23b44d73c6c2eb816859f67becf8df118c382c917d42 + +SHAAlg = SHA224 +Msg = 1fd68998e4c34ded43d2e51b1680a6b3fdfdd576033b6a0d7f4413fb39d27ccfce19ce9e56e876b043f0277a8c6322cc0cc2b54c25f00123a88a01f6f97bc8186eca0afef9b7def30707c20ca79ce05fef4890709be31decf89bcc9a018c1a8ec79146a016590f1c55bdbfbbae5068d26f386ecab03d45d037207ccd982efb99 +S = 63b946b4f8e61f3d5d09ccf379cc8b6e4b65070a96144e13f1f68c17f91645ddd70b32a976a5288f7484573c46687a82eba49bc4216c9328d6ce8afeddff5b123ec0f495d95be89a695d0378241b005302fb85a32429121d200997d759c47f9fdd4e29c86dea2a7f2dda2aec22ad48f67f6f3fdd3791ba841fc971403d86ced7 + +SHAAlg = SHA224 +Msg = 90d0d6a410f8aa868b64128c039cc698a3b2e36700744969a0e741d0b9f164e73a56b8a60fe61b83a1f4e58a9d09c9b0f7dafc652e789968d1c745df42310fa7ba9b99e98d987deeb0ddea3478f68ec1a437b9b79ef4bf29fef59e2d5024e0321789c3941278986ebd0969b01bc9de71b3af6186d85281532e5894e16a32a131 +S = bca2b39e5621f6f20073775067b0b7fcdf3bac402416f2c335b7296ebff514ff21e896e8aeaa4701ce131db5d932a16dc0ceae235d819b379a42c91d9f9e9db2e8650701f2e6961035a89b3394a65fc2826a30e7cafd0d8726b189102e9a9c8e1aae152808aa2d1a6b8740b6ffd862366cd07174513929d8b65702046447977f + +SHAAlg = SHA224 +Msg = 644a3de6100dd8a36c841446b9376b345d478a329450a66f629313c5cc55133c4782ecd071963d74ffbd9156f63935651f054711b4b8105160ab94eb675e66f02018c185acced5e9e2465fb4897d7c5dca45bfffe432815d22b778230b8d8c6fd854e58f2b7d490dfd67a5e8d8c8e925474f19868c88a19a90ffeaf620a82ac1 +S = 481157d65c91a09b871bc9f704ac2c31b1e6b097e0d49e291e037c11e707f48ac166558e9e8c114ee444c4d649e7e2cf7374269b036fea99bb3566d134d7ae5dd4141f7326884746d396be3207da2d9f56862585993db42ce282aa2f048d12bccff12f14b9d1ac4e33d371fd4c0de1563c978826468e6a3799f64d3985d4689e + +SHAAlg = SHA224 +Msg = 29e9cb3482e9eda5e6d714a2dc730d91bdfb2d42b14fe82ed953a0fcce95bb4a4b30f8a926f003e985b647984e1e03c5df60a009007442c9157a9db599580a94c7a5d9449ac6e9fcf85677d52acc348990579a7a930d7ff6da45ebb9c14127b30711160cc6b3c866a97f4d6259c3c76538aac39c5262ca3d917d321030983a2f +S = 3c23c9e5ab29b8102e03932934616481013789e19dbe6604ee9bf0a64ccb5e3b73fe747ce8b8f1efce2a9907e04199eb211ceb90be284ba71374a94223a07ea9a739ca72faa7ca4da29bc1c044af61e4c563b6663af2050e2a0004fe9e883951300a25a45ffc3bab8884d9f0f2279a26cce7142dd6776862ab63ad636c9acc95 + +SHAAlg = SHA224 +Msg = 467e8ea634f7995dc46c11b8ab0b7508894681e81c3502c3b335e897e6d69df885f49557ce232784e3519b727ba6843bd7af5063f8bc1d610f86ce5b35155e325ce175be8538395b34df67a421fca27e31330b59a41011b290a58bdc8e740401b38f5564c2fd7ae89f609ed607d578db7f1cda508af987be1fd946a25ab9346d +S = 7fb485a62f837a4765308ed005a61fb821a9ddfa6bab4e76548342e8c2a853ba1ab720cc37e3e3661408a36bead4ae0207c505b8cd9fa67f0e73ce29bf66d1873c98f9b4849e4ed98727b206eabb9fa4cbcac1eb52e20c3d9b12443dd1e746a755babeb340870e660112f2ce186539e943ee7fb335adbee045d66a3016e8c439 + +SHAAlg = SHA256 +Msg = e567a39ae4e5ef9b6801ea0561b72a5d4b5f385f0532fc9fe10a7570f869ae05c0bdedd6e0e22d4542e9ce826a188cac0731ae39c8f87f9771ef02132e64e2fb27ada8ff54b330dd93ad5e3ef82e0dda646248e35994bda10cf46e5abc98aa7443c03cddeb5ee2ab82d60100b1029631897970275f119d05daa2220a4a0defba +S = 0e7cdd121e40323ca6115d1ec6d1f9561738455f0e9e1cd858e8b566ae2da5e8ee63d8f15c3cdd88027e13406db609369c88ca99b34fa156c7ee62bc5a3923bb5a1edabd45c1a422aafcbb47e0947f35cfef87970b4b713162b21916cafb8c864a3e5b9ffc989401d4eae992312a32c5bc88abbb45f99ac885b54d6b8e61b6ec + +SHAAlg = SHA256 +Msg = db9eae66bcacb01ba8029fbac5fef13156aa1a768c3dff259ee5ae6b1cc34c2280374e3d065fed67bddad3e7ded21bc75d397835bf52b4292b745d48c30bbb0935df04168c99d3f54d83d7e7bf8fc8108a9ba0d983f30793c7170f5d07bf2147221d38b7f9624c0c7f8312820f3de2550357f82a8227e0aa99572c708de96825 +S = 5a616faeb00680f5c4ef633205040b497b5e5e226e4a8f493b1ec2a26fe7a0971fed4e1b8f188eba8161266fe558eab539f903c0cd8ed18d21af77e30cb264c6214a175588ed542b5fbdaae99e924094e8c8a22366441d866126433aa45cd37773b9dc3dc179ec8cf51efb8bbdedcd229cd2dc2334f5bf2b0b00374350e6147d + +SHAAlg = SHA256 +Msg = 2e22656e48856240b0f655d2022d69ac731a1c63151ba36e57728a35cbf69c6b2d08029ea0c9af0c3a8bfbb9c3858dbebaca7fe4997cbd715b3cae423ae6171abd7b3c3af25f4832f8c5eef6c1675134167a21e5dce1072395a1443a2a959501e763596bc7aef559f28d78b2843c7bb690124c8f65b34b290f879344216bddc8 +S = c24dd39dc4306bb0b06d548091714820f14a3938437ee76d5302f7006213d388041b79db6125c337ce41d2086f2536026f0fffd20aa9dacffe4e601dfe51310729ad050c4f396b0223492a63d9a011f70cebf8850f61f0ca2ea94800f51e35bbb077e99beaf12fc2caf1744700eb1e027bbb450308e167437272433ee7a765fb + +SHAAlg = SHA256 +Msg = cf785002292f1ef9645f2f2cdc0455b29d0ba1efc91fde0a3ac05fa16995fbbc8e03550009fe6126011f23ab4bf7bac88da49ea4a3a126c941e34dd4da21b571c173ec878f1eefb0c4aeececb1464c969535f19706c9bcd9926853ffa7dc2153b0ef9eff8138d081f5341259d5991404fce6232eb93faa247578f98896704648 +S = b34c8e11cbfd2927bcbf442a6afbbd6ea5c20f5e47cf56c57dca93e10bdabb20b958997b216b92d09fb92cfc3445346cc9e63721b73db06dc9e36727b8daa5f16fa4959c977f6eefcd2fc9790c5e01f31f8190360d380f4332526472e32b25e54781bdde98016bc25ef8697d5d73a6b7bba06fd3d8b9ebe3c657b86f07028ced + +SHAAlg = SHA256 +Msg = 302219bc6c07e628f352a45091719bb0e655875fb97691388f187e377ccd27253a3c29787820dd7574948b97cc8dda3492a88b5e9e26670828347669967072a692aa7bab60e70c596eac2ee72d79ec82209306373306ea134debdf8928e7841361f4791ccb645c1e0923f7085c3cb7e2b99e60b31f2100a327c4225ddd3843b7 +S = 68edf786f166f9aa932816d70b7786e1d88128da0ce1212bba5b56fc8f8dc21d54b5bd44401af2119c4a4f03cdbf75615cf08f3764fba03aed856ecd01caa15ffd6a3604a612c81218f3c395b931fd5fe78031b674369e49b185de6c00b6effdd8d10aab7bfc6671900c58c6882850de5a37b87c15caab18b8cd6bf8e5132020 + +SHAAlg = SHA256 +Msg = 1fd68998e4c34ded43d2e51b1680a6b3fdfdd576033b6a0d7f4413fb39d27ccfce19ce9e56e876b043f0277a8c6322cc0cc2b54c25f00123a88a01f6f97bc8186eca0afef9b7def30707c20ca79ce05fef4890709be31decf89bcc9a018c1a8ec79146a016590f1c55bdbfbbae5068d26f386ecab03d45d037207ccd982efb99 +S = 0687bca5c51bbddddb68d21a912b7d3f89a54517b7f3c6ea5da386b5fb6be8c7a172d6528b2dfe9cdbcb3f4cca1099a1003a69176eb3292a1571b8451693e1554c6ec5e9d336771378718a9e822f02f783b9cee3c0f8ff2654539c495478ba68cca6a6683303a104230e4dde1c35e194eba1ea50e7fe690cb19d2b1118a87be8 + +SHAAlg = SHA256 +Msg = 90d0d6a410f8aa868b64128c039cc698a3b2e36700744969a0e741d0b9f164e73a56b8a60fe61b83a1f4e58a9d09c9b0f7dafc652e789968d1c745df42310fa7ba9b99e98d987deeb0ddea3478f68ec1a437b9b79ef4bf29fef59e2d5024e0321789c3941278986ebd0969b01bc9de71b3af6186d85281532e5894e16a32a131 +S = 13049092c675809b386459eccbe1c540a1a8e9cb674da9d11349f2c50e559387f019154216370752c8ae0a7c4b6e031f414f7a32a8ebf6f4f87d4692caa44e535565e0c0deb9471411126f6dfed6dd860edd1e97468b7e144f8ea6e0b5063d3ebea598b47ef9d6292ab0c05f5621d20bcb389d550bee84d190d79c7d8820a97d + +SHAAlg = SHA256 +Msg = 644a3de6100dd8a36c841446b9376b345d478a329450a66f629313c5cc55133c4782ecd071963d74ffbd9156f63935651f054711b4b8105160ab94eb675e66f02018c185acced5e9e2465fb4897d7c5dca45bfffe432815d22b778230b8d8c6fd854e58f2b7d490dfd67a5e8d8c8e925474f19868c88a19a90ffeaf620a82ac1 +S = 43e64b245e65eada15e66dbcf12332ae80637917e65a68f9f9de45be6ce1854a582634c139892d5aa29187801c7ca47af5ded85e5b0a32e825d706f6eb0b2dffa2f80f69fecaf87aad0919765cc2cb2042e124eda7cd157bedd321cc12100f8ceb3b90b68da13e5aa65c2c3ec184c6abbbf86dcbffdf1ce36f1b5563e8b56044 + +SHAAlg = SHA256 +Msg = 29e9cb3482e9eda5e6d714a2dc730d91bdfb2d42b14fe82ed953a0fcce95bb4a4b30f8a926f003e985b647984e1e03c5df60a009007442c9157a9db599580a94c7a5d9449ac6e9fcf85677d52acc348990579a7a930d7ff6da45ebb9c14127b30711160cc6b3c866a97f4d6259c3c76538aac39c5262ca3d917d321030983a2f +S = 57b17157b4eaaf0a9bdcb9abe4b299a728e6df5f8e03d688037d5e1ed5c9a66c20ac739e1c3516a4cf78155f52ed7d054b5c5fed534b80dd3fc92fc0920eae695f2fb9626cada584d572927a00d612aa690b7f6051dd581cce4748eab9b4d886addaa32c4ed7d7221862354556eb68197b05bebda90c3e01e00e27c5ef547c83 + +SHAAlg = SHA256 +Msg = 467e8ea634f7995dc46c11b8ab0b7508894681e81c3502c3b335e897e6d69df885f49557ce232784e3519b727ba6843bd7af5063f8bc1d610f86ce5b35155e325ce175be8538395b34df67a421fca27e31330b59a41011b290a58bdc8e740401b38f5564c2fd7ae89f609ed607d578db7f1cda508af987be1fd946a25ab9346d +S = 2b1ffb370d518a82646d86828db1fc7e8bfe73ee878da120fa92737c9174688995f2255b29e83b28c244cc563c9b33efd3f9f9e1638e2c16e24f2eae19435696b2f4d1cf73064fc1cfccb2278c01f0979e7de7463bf8417bd6986fbf1d34d382a978ce799582442afcc92b4fe743216b6f151f6a561d979cf683cab6af2ff4c5 + +SHAAlg = SHA384 +Msg = e567a39ae4e5ef9b6801ea0561b72a5d4b5f385f0532fc9fe10a7570f869ae05c0bdedd6e0e22d4542e9ce826a188cac0731ae39c8f87f9771ef02132e64e2fb27ada8ff54b330dd93ad5e3ef82e0dda646248e35994bda10cf46e5abc98aa7443c03cddeb5ee2ab82d60100b1029631897970275f119d05daa2220a4a0defba +S = 1689a8523919ac77cc997ebc59cb908872d88b2855a309ead2779b888b22b4232da9b93bb19b32c1db77ad738c6e43361e9eb6b1a37c49a8f3c7c7ae7e784d19a62138741293e49b1831c0c3617eb43c56706d83314953470636441086419ab9e6fd1ec4f9d5cc6544815d1e02ed96a3ae64c6998b2cf238e79a12164352d12a + +SHAAlg = SHA384 +Msg = db9eae66bcacb01ba8029fbac5fef13156aa1a768c3dff259ee5ae6b1cc34c2280374e3d065fed67bddad3e7ded21bc75d397835bf52b4292b745d48c30bbb0935df04168c99d3f54d83d7e7bf8fc8108a9ba0d983f30793c7170f5d07bf2147221d38b7f9624c0c7f8312820f3de2550357f82a8227e0aa99572c708de96825 +S = 7b286c61b67110e232533fd9d1ac890b52ced71c9029d355c3f34c90c5fce068807e424fe948554ec3946f8d4453596acd29e2d44b45e3460239c4cd92426bbce7d1b0f8f93141fd9f2f80a506947bf5018650fa0babdbb2dc1939622ea8790a1d165b01c92ad91541e2aceb8a775b5ca4bf225b8b03d99a2405bdb7b2fdbdbe + +SHAAlg = SHA384 +Msg = 2e22656e48856240b0f655d2022d69ac731a1c63151ba36e57728a35cbf69c6b2d08029ea0c9af0c3a8bfbb9c3858dbebaca7fe4997cbd715b3cae423ae6171abd7b3c3af25f4832f8c5eef6c1675134167a21e5dce1072395a1443a2a959501e763596bc7aef559f28d78b2843c7bb690124c8f65b34b290f879344216bddc8 +S = 98a7f89db0932e94cb1d38bb72a85ce4143757c449f85cf891826c74307248aa6a0a32c45a10ce4d21bd889b6716d8b323d191952571707eb73313d0af7324a5aa497b3d045d44877d4d8ace8bf1cdf0345dba34d0c1a79935ef94dcc60dfa980a4b1e40b6d30113d557789118fc1eea5f5c3f9f49acc1619643685e6dde5827 + +SHAAlg = SHA384 +Msg = cf785002292f1ef9645f2f2cdc0455b29d0ba1efc91fde0a3ac05fa16995fbbc8e03550009fe6126011f23ab4bf7bac88da49ea4a3a126c941e34dd4da21b571c173ec878f1eefb0c4aeececb1464c969535f19706c9bcd9926853ffa7dc2153b0ef9eff8138d081f5341259d5991404fce6232eb93faa247578f98896704648 +S = 584abd1f5e146b2b01b12f1c6ebbbd5873980282c63c90385c2f7040b34464353bce9ddd9b573d334f7666098e7a7220a4539f4b4eea2fe0320f97cdcbd6b3dbdf76c396a88e8bc73c37a832a86bc1453ad9f9fb7de135442d27080bb2203917a8cef60bc3a55ef73e2ad8ce880bb5e5ba6365a7b354b3e638ee095d22197ecd + +SHAAlg = SHA384 +Msg = 302219bc6c07e628f352a45091719bb0e655875fb97691388f187e377ccd27253a3c29787820dd7574948b97cc8dda3492a88b5e9e26670828347669967072a692aa7bab60e70c596eac2ee72d79ec82209306373306ea134debdf8928e7841361f4791ccb645c1e0923f7085c3cb7e2b99e60b31f2100a327c4225ddd3843b7 +S = 766e1aa607e79968eec237369b4c9140aa6bfb8714b3d97d058a5464482ded41f5036f852112242a3ef9e97e5c31b02622c72f7f37dd47b7eca8b947ef55d3375bec1618b09fcd982e488486a885165f189aa02715100bf4e09feadfc6c2767145131ca87ea0a20f475d6d44b6298443e9dc49fc70b318f04188daf5ec487ecc + +SHAAlg = SHA384 +Msg = 1fd68998e4c34ded43d2e51b1680a6b3fdfdd576033b6a0d7f4413fb39d27ccfce19ce9e56e876b043f0277a8c6322cc0cc2b54c25f00123a88a01f6f97bc8186eca0afef9b7def30707c20ca79ce05fef4890709be31decf89bcc9a018c1a8ec79146a016590f1c55bdbfbbae5068d26f386ecab03d45d037207ccd982efb99 +S = 84f034124c8280ccc4f97e9a326d57e03ab28fbd84562a5f4bc0ae66a888b64c4c9aa272ef567240dfd633560a79c83974f628444df337de9d4e26d10964c78322de3053f00543c0b135cf952bdb23c3bf02c8c6b8d3acc9033fb5ccf266394f4c8cdc4a44824d7dd38697600dcb62247f6a1b69ac14de062d7c66f18fe62d7b + +SHAAlg = SHA384 +Msg = 90d0d6a410f8aa868b64128c039cc698a3b2e36700744969a0e741d0b9f164e73a56b8a60fe61b83a1f4e58a9d09c9b0f7dafc652e789968d1c745df42310fa7ba9b99e98d987deeb0ddea3478f68ec1a437b9b79ef4bf29fef59e2d5024e0321789c3941278986ebd0969b01bc9de71b3af6186d85281532e5894e16a32a131 +S = 787b005e95f9642ba27e5f4d365275bbbbac72bd1cfe292ea78016700aae7af3c9e0e20bcfa54dc008c65a3b91c6e17c67d6229086c5a6f677e6ded96b88f6e8541c63f664a38f4cba641aa177176f9a3e45a67ffc7608d24f4b44065e09c2744b7be4d349afb0e8f2e7c5106816a46c745e61a572bbd5e98cb6b8d34c6c682f + +SHAAlg = SHA384 +Msg = 644a3de6100dd8a36c841446b9376b345d478a329450a66f629313c5cc55133c4782ecd071963d74ffbd9156f63935651f054711b4b8105160ab94eb675e66f02018c185acced5e9e2465fb4897d7c5dca45bfffe432815d22b778230b8d8c6fd854e58f2b7d490dfd67a5e8d8c8e925474f19868c88a19a90ffeaf620a82ac1 +S = 599b511fc8bfcae44054a16c299b5f3c64b74c760fd182292b31f52204c627c853f6fa2a753216026d312574f6adde4ae829680d28dc1c3253ffa96f56d81e1c4b5dafce91e809d9f58da72a94e29dcad52e6759a16a06304e75e641cce626154edeef364c62aea5284ba40270e9050e81cf5a7dfda67a7022fb4dd5514e3143 + +SHAAlg = SHA384 +Msg = 29e9cb3482e9eda5e6d714a2dc730d91bdfb2d42b14fe82ed953a0fcce95bb4a4b30f8a926f003e985b647984e1e03c5df60a009007442c9157a9db599580a94c7a5d9449ac6e9fcf85677d52acc348990579a7a930d7ff6da45ebb9c14127b30711160cc6b3c866a97f4d6259c3c76538aac39c5262ca3d917d321030983a2f +S = 798638df8cc53062b8a312e906527ce8e3a6b2b6456992c599e82cafcf1ddfe6671674202aa61fcb9e83dc1f6bf93d2edb7651dcf869fed987477c26d0a2a7a2c94dce4fe29849c26d477f782a40f2ce1f4050b5bf3fe3e70d00efd284dcb9f52990149ec8c5b7d229db841e32741a74fd36e105e67c1814c08ea9aa44f2ab26 + +SHAAlg = SHA384 +Msg = 467e8ea634f7995dc46c11b8ab0b7508894681e81c3502c3b335e897e6d69df885f49557ce232784e3519b727ba6843bd7af5063f8bc1d610f86ce5b35155e325ce175be8538395b34df67a421fca27e31330b59a41011b290a58bdc8e740401b38f5564c2fd7ae89f609ed607d578db7f1cda508af987be1fd946a25ab9346d +S = c700283557dafd1f8834ec0b7a7ec733719cb0be6edb19f1064ee94c75b8d9d49458fa184f7d6dfa5a6da2d2ebeef0650d8af35447823c83a7737824509a7425339caf99101cd1fe3db883fb98d172127e30e38d1d6f9e3654937cd68cbb4ea228c816064fa8ca0950c7e7b6ad25045574a6a4063b63f07466b2cb5d7311b7cf + +SHAAlg = SHA512 +Msg = e567a39ae4e5ef9b6801ea0561b72a5d4b5f385f0532fc9fe10a7570f869ae05c0bdedd6e0e22d4542e9ce826a188cac0731ae39c8f87f9771ef02132e64e2fb27ada8ff54b330dd93ad5e3ef82e0dda646248e35994bda10cf46e5abc98aa7443c03cddeb5ee2ab82d60100b1029631897970275f119d05daa2220a4a0defba +S = bf3ff2c69675f1b8ed421021801fb4ce29a757f7f8869ce436d0d75ab749efc8b903d9f9cb214686147f12f3335fa936689c192f310ae3c5d75493f44b24bc1cd3501584aaa5004b65a8716d1eda7240ad8a529d5a0cf169f4054b450e076ee0d41a0011c557aa69a84a8104c909201d60fe39c79e684347ef4d144ea18f7a4e + +SHAAlg = SHA512 +Msg = db9eae66bcacb01ba8029fbac5fef13156aa1a768c3dff259ee5ae6b1cc34c2280374e3d065fed67bddad3e7ded21bc75d397835bf52b4292b745d48c30bbb0935df04168c99d3f54d83d7e7bf8fc8108a9ba0d983f30793c7170f5d07bf2147221d38b7f9624c0c7f8312820f3de2550357f82a8227e0aa99572c708de96825 +S = 398cbaa07bc4b3432f0ad0ef54b2402c2d25c0c46f7229fbfcba4c141cd0db76aea42c2436757b16f7397c570e891cd4e6f0a052d0a910c8537d4effb2d07f06890581dde8bad7f77f8781bdc052c0caa50d94d95897508d6848f5e26e5975f1a63c03f45bd5479bac0a40a3e4a1adfef847c3e9e9f7612d5034cc688f019b86 + +SHAAlg = SHA512 +Msg = 2e22656e48856240b0f655d2022d69ac731a1c63151ba36e57728a35cbf69c6b2d08029ea0c9af0c3a8bfbb9c3858dbebaca7fe4997cbd715b3cae423ae6171abd7b3c3af25f4832f8c5eef6c1675134167a21e5dce1072395a1443a2a959501e763596bc7aef559f28d78b2843c7bb690124c8f65b34b290f879344216bddc8 +S = 4af9876c2a520a79282226d953505b166a67f361545a65a980abfe43e8d09bce6d89892e556313351cc3312e214517ea6d62c80c734eb276074e64675e53289ca41840b4d7c9b225183b8162a6f0761bf1a71341b9482cc15ad516bda050da93382567998f844529131b1b560294060b36171a4e7118a5569beff9bea078385a + +SHAAlg = SHA512 +Msg = cf785002292f1ef9645f2f2cdc0455b29d0ba1efc91fde0a3ac05fa16995fbbc8e03550009fe6126011f23ab4bf7bac88da49ea4a3a126c941e34dd4da21b571c173ec878f1eefb0c4aeececb1464c969535f19706c9bcd9926853ffa7dc2153b0ef9eff8138d081f5341259d5991404fce6232eb93faa247578f98896704648 +S = 5a9b01a6d3e08d45d4c359502ec613489b733cd5a9c385e2d3e77594996341bfe3475e1594e6161c12378ff2e2928373e247ab4c0aafecff220339b0f063473195edf91725ae5e114714dd75de8d2f6eb7865912394c849d04fcdbf97921ac1ca79c7859849e1ba09f396c2b291f9b1f11a5864baa11f09f5c24164ee2422768 + +SHAAlg = SHA512 +Msg = 302219bc6c07e628f352a45091719bb0e655875fb97691388f187e377ccd27253a3c29787820dd7574948b97cc8dda3492a88b5e9e26670828347669967072a692aa7bab60e70c596eac2ee72d79ec82209306373306ea134debdf8928e7841361f4791ccb645c1e0923f7085c3cb7e2b99e60b31f2100a327c4225ddd3843b7 +S = 5b5a22bf6be45cf311c78cbce08d9c499b239985e3ce980da04974c97d16a21c0c38666460546a9ef141cbbe06e48d1ae8931f9247fa42114220be91acf8d86e21ee3f36bed644b1c9c4e967099bfd190676e0b12978e9b0c996afa07065b07701bdca9e6c0ca278b88894542457f0fc02b938525ad6b5300fb52c9cfc5b8dfb + +SHAAlg = SHA512 +Msg = 1fd68998e4c34ded43d2e51b1680a6b3fdfdd576033b6a0d7f4413fb39d27ccfce19ce9e56e876b043f0277a8c6322cc0cc2b54c25f00123a88a01f6f97bc8186eca0afef9b7def30707c20ca79ce05fef4890709be31decf89bcc9a018c1a8ec79146a016590f1c55bdbfbbae5068d26f386ecab03d45d037207ccd982efb99 +S = 85ae6a4f4f6d0b8deabcb65fe319a51403512b745abef4fd306a2fbe008580da8a1e976713713bcce3b2a56ca2910743adee058fd6e3dd0cc0174c15ed1d8e1355161e920493621daef96c3f74105e2b65b9621ce7a1924a649c13083ebdff4cd20ca1f72596c763d03bb539cfe45a48bd161574882ef60854a60ce4cf38d1fd + +SHAAlg = SHA512 +Msg = 90d0d6a410f8aa868b64128c039cc698a3b2e36700744969a0e741d0b9f164e73a56b8a60fe61b83a1f4e58a9d09c9b0f7dafc652e789968d1c745df42310fa7ba9b99e98d987deeb0ddea3478f68ec1a437b9b79ef4bf29fef59e2d5024e0321789c3941278986ebd0969b01bc9de71b3af6186d85281532e5894e16a32a131 +S = 4895d5bddaf911a9ff22731726e4d68a4d544721baeb82bea8444797aabd45f99f9a72471737a5f6db09c93ed07728f45fde8110e1f93d4b63d08d4a87398f469ca5aea8267afe9fc571b7eacac0425166b9a0464cfc64d7fee87aed80f7c2bb825a03799106070533a97344c8cd63d5bb8f6707198fe99655a589272a0e5af8 + +SHAAlg = SHA512 +Msg = 644a3de6100dd8a36c841446b9376b345d478a329450a66f629313c5cc55133c4782ecd071963d74ffbd9156f63935651f054711b4b8105160ab94eb675e66f02018c185acced5e9e2465fb4897d7c5dca45bfffe432815d22b778230b8d8c6fd854e58f2b7d490dfd67a5e8d8c8e925474f19868c88a19a90ffeaf620a82ac1 +S = 9000dea9922c03ffd3a1ca689dd4b98c368a128f5153b2895ce995f1771a0816a09fd8b493c460f29e49e1ab6a3867eec293f5d1fbb77fbb77c4a28bb5b9e5d5fa06550edf365b94ed4daa3ab981a33d7c0015bbed2572f3c5b09f4f1922e5626732c8e6b5d31e5fef75d5a9026ca5784dba571ab72e3cf70df4ebfa6ad7b69c + +SHAAlg = SHA512 +Msg = 29e9cb3482e9eda5e6d714a2dc730d91bdfb2d42b14fe82ed953a0fcce95bb4a4b30f8a926f003e985b647984e1e03c5df60a009007442c9157a9db599580a94c7a5d9449ac6e9fcf85677d52acc348990579a7a930d7ff6da45ebb9c14127b30711160cc6b3c866a97f4d6259c3c76538aac39c5262ca3d917d321030983a2f +S = 6244f168e5f8efceb00f33e5f4eaa8212b1b416ba7f1f95948e476755d532ddeed5bb84902df7750f775dc53a151737b39923dbfed374616f944b5f73d63e02d9007ca1e9d3333e77f200d8b021912af9122f861740d0bdd130075d9f112c99fd613f9a2036762dd6237b5c91b33fecc366324536195acf5552147add0ec1c8a + +SHAAlg = SHA512 +Msg = 467e8ea634f7995dc46c11b8ab0b7508894681e81c3502c3b335e897e6d69df885f49557ce232784e3519b727ba6843bd7af5063f8bc1d610f86ce5b35155e325ce175be8538395b34df67a421fca27e31330b59a41011b290a58bdc8e740401b38f5564c2fd7ae89f609ed607d578db7f1cda508af987be1fd946a25ab9346d +S = 5d5cf180bdac8ae14a50c4e8b57b88ba68b1c3527d34a63fd390f33b8b025a75f7ce824f1e20de814991364a97c2ab9e6c88cd196abf6c4a0ac66013a73db9e94a988a4665a31cd4e0731808c88ec1457c481047f3e32b08bff6560cbe85cec212239dc8b25467debe536a8ab1a951afcdcb2cfc411afd5c189f4b0eabeec3f7 + +[mod = 1536] + +n = a2fbfe82fccf847724640571bd393ca2dbe4e9a3ad85cbdad9151faf27b7127d37147cb7fdd3508d68b9a8b5b914cacc863b3e180665bad32c0c1ec8f9d87740fa5891de8f54085eb0424d2589f53adb20ac92eec98d9ce5378e9875ee7890f99b3828662471b24ba2caad362487030169dd127c8e6e7bf3c8f01f7ff5e09d3e91189ac6e37355dda7526dd5b63c6b32cc9f5b86251fdc9db8ba9e676f848a44e59c095550d4f4480295ae327ac7fb877a2835a216cc06c3786682d31b6dff19 + +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 068b7f86339042c5c50a963461d0a35877e39aa545c1d674989c924be698a1afb10f4bcdd8adcc718d47cd5854d11aaeb9623625615662f8f96f182a626c18a7dd95c26fd14a22d6e895950301a5fd21d10f550c2d40585155188f13474b04a94cee8df7e6b889c4e9b68145886eba209577ff4ad3072c72219b72b0803b308fb2e4d9a8bbd370088c4de857827136612f6e7731d56900318c433eda485a4798ef7be50a530f1f3f173fc251ee7192c3bceb598c109872fca098b9f9d5cc0001 + +SHAAlg = SHA1 +Msg = f4461d25951ea6965bbe2b16f1f9c7a2714e875f7ab12281838fe46b6f0cec17618f97b9d1803c9fe0501a5ce8ba8e2558498a7bbf1b420b26e428d2a3351b842bffdb2fa853c11b4b6badf624ee3f2df0704a9d3238856b854784303096e75afb9ed2cf411d9dd34718cc2bcc1c4182e1cab00dfb93546b47bfe0cf3db4b960 +S = 0b23b64dc869d805a910eb63f4cddb682232c007b2e35d98f34a0a4d3ea8806723921920835b06792fe015925f7a8fef1fc4447ee4ab4a74fadccf4b9f24c1948aab43715824a0e28e61c20fc630e07d123fd3448825dddcd719baf06e54f481b133412a29a921a68ddb2ec2a9f4a5e61c7298eb1b183db926a13920045a4df086d6d612abb39ed32c39aeee1daeb352df547b9fc3ba2ffe3f3e053459469f846c11679e505f07c020e505953ff518b2e7eee015c7c50cb877ab827c4b8b0609 + +SHAAlg = SHA1 +Msg = 460a92b19bb8c0bdf66aa46547df517eddb733d22d2af772cffaa54ec9a60f0210e16ff34c424c9bdc3d9d211a52312de0844efa4b0d99adbe5035e52a0f2f938dde1a0cb9d8f65c579057dd2b4bc3099a6c5b8d692fbd9ec79a2a908eb1e4a5c6eada236be087a96f4b18c20330cdbb1355a1b20ff82df0f1c0ca797cf4f6e0 +S = 9aefedbd779aca14709410c5bad0ffeb1b7d94627042c096d33f114a12428a49431cc19c9ac32f28cf1b2dc441c090d3ec215a428a107d743200f2d255fc362cd9937fed7f526e520af21935d174a1516ba33533bf8de2986095d37d684ad42f440cc57b3a8b794bed5638a577a60bfe8c1cfa96d73f155c7d039712f4daf3679e658f61437dfeb69be2586c6aa7cf7aa62838f670ad3b2aa375a49807357582d3eb52c959721ba6792a38e237cb3e47904aad3691bac8ca8d1be95f42429e79 + +SHAAlg = SHA1 +Msg = a737ccb2c336163e224d776dde7ef3033a510b4fd82e8fb12c0ab4593046665159d3dfbeca9b7963c91cc0666f56cc57a3e8ce6e4976e814b64d42a5674a5a75f3f89b113ff832c7f1a61d6827f9844c68ab4d97db9aebbbb66f763efa7d01be5eec28328816e8728331b4fa6e2fc4ea71e2b152f6643fad15b679ab4fa70434 +S = 374359025e79a451956e52de8cac9c2b246e97962e5eefcfd3d93dc7fa88bf3fb70e2c3fa6d102558f5e2737cb0c2ba438ce852acf9d2fa98606630d0825cf1bfdacd39abeb6a687840e5f988d5c8658e8fe22d474c7a5c196897ba4005e7b9500863714cdae8e54a3dc75b0adb802278eab96a76c14ce0ae302129c8b6f7827820afb94f3abe9d2f84f03731f05a24a03330f84755d99bd3df6a46fc67c4db4728d036c6d44089c12c00e2b330dcdf350ffbcaba7dd8297ca1cefa6946b3c3b + +SHAAlg = SHA1 +Msg = d14aae46a4c4a9617145adfce65478f147b21824b68e505cb1f83d51dc98390601a0005855ff12d7fdd858d6d03209be5ff1cfa83205262a55e10570142ec18f02c12e1740cb07e7fb50904637db792fcb6f06ebadc06de670a380bb0bc48b91dc9780aaed91513975979e74a2b790eb95160518af29ed370b28f3584bc061b2 +S = 158c1a3c66dd1f18aee57f857f693f69b7a44cd446fe7515939740def8c94abf1f803d41b838871908abf271e12ad7c0734f789c449778088a6798683846fdda8344de2c1565e160eca2bba476b4d59001b506afe5bc8b28a319a5902898a64d0e23eefabe3258be86d2994d64b02584f0bac1a52fed2da6335899d24eee2d02b84d68bffc3de9bccd2ce0239f95f7aff05c154968ff2322ec2d3151f10f77e870443435c16d6cada073d59722aff392927de28dad315cd0a5102b5147dcd855 + +SHAAlg = SHA1 +Msg = 88836b5a0a3200f8571635f5d0991e20d826cb5d93de28f8ed8d2239dfdc0b39eec840f3f452099e2278c03b4665366a4ae55281fd1bfbdf1776387e77e196c8ae3acbacc10698f02b63f4c9223d66a91bc5b358901fb946015b9b2039a71ea1d2c353abfbb5779679bd17c8ec8b778554b03509d3532ad4b5259146ad976b6b +S = 1af30b7601793c480e7ab8833f2c0220392c8a967506fd68c841670cb60513b01e119429a111d702a90f46478255d0095bf191f76665b4eafaf2efffd21b0dd36d0f0fe7a1d8b2abb9925be63a0d30ccc5b93e1c8cf64bb15b33571b4af04f751e79650e525723eb7f6d24f2e574e991a40582e24ef62a6ae87a860b4910aa5fd56551caaf7b5c9525ba1d00370e7fd34dfcd2c50beef90be5606b0eee7a6fe3c929da9f8a7dd1337454758a4a70d1045101d2573950309d4eb115e8a086ff21 + +SHAAlg = SHA1 +Msg = fd31e83f7af727138a634e96505cbc803be96bb03697c5b71f1cb99a7b390dd468e5f69bd2a7e664ea44a5a9d49aa3eaa0cc8df27c9f1e5b28243854aa9833a2428875e5a038421d5546d66c888bb11eea4233e6ec6c686a2f7325023b0d54bd75638ca64b73e545b2b20a68d2f68f23ff948515ecc54ced1b4fa92d9861182e +S = 9b99a6e43c58b8336d357706c0bcf8b6aa65c9b1d806f93297aa0811b0535632fdb544086211a83040e5db9f8b75270044d8aa6dd68373c6848d5bad3ac7c6dbe00b62f1be8188b2d107b637537e76a9166e9f1cdd27c6f0bd919ef12ae2b36a8f9ac55eec950d2de819db689ed6cc624e850ffdcfc2811a59ce75c27ba1178ebb2867a3a0d82546b4841350bd758177f08636de24d053ac3cbb249793203be65dfb49ce4cc54ae972cac77fad725828853ed5f39a898ecf2b4828c2b09707ee + +SHAAlg = SHA1 +Msg = f15cb6c5705a8d0e6f1092cd09ffd12ec8574888bbbd9c3ec84b0be344d8a2a1c17ab0db274a7a11076730042b3e201b72082a06db9374a1df465f1b0460b957af803492396a16474608334f52af184d8da48a49e9df2f9b710e8a0bdcdd2d3662752934ce42ca77d5fa81f6a6db228bc2344f9a0e2634f426ac76fbf5d96506 +S = 86c9998ebef634c24205306608a50eaf0078eae3df0662c9897b2893333599c5b0185a86a21afc932cf66b8f7fea28719548095b2c76f12ab92451842e5f5afc32666364b5ec0a974bebbf1a1ef8655a5ab150023c355c3b6aecfd995fbefd657196e56c6e354df9180ea673a47789188c71eeaa04a391226d641be62a08799cbe86c5cb3a6184e69d1d97c8de1dfaa07c5a1d224e26c3b0b5cd2d2277271a45ff38201c3cad98c7ee89151eb2f27801ce4e9adb9ab07b24999da423174d4575 + +SHAAlg = SHA1 +Msg = ad354218cf73e07d261929339a4556da534509e317a33badd35e76ee777b455507bcea6eefb04ec598ec3e4e3897d304ee2c32d10e7b76aebaf1eb0bb21a7d716c64706668265191bee02c1ef9c5ff6427766fc53111bad6696aedc0629857e704b43dc9dfddcf28c07f5b6b82d5c14227ad2789286ced6f0851e3d72ffebafe +S = 72d7ba63e6b42de149413f08c7d49b5ce52c52447a31ced6c8766cf5a2b889ee826464591036e992207bf0ed0912fab8263f9a2727b66ba28226df526f369e6747995b9deb46ae1200b349e4b090a62458e03e432d4ea1abde5f6839a94776fd7311094a209ccf2d284ff95421930627d6f4a3b5bfe2deb7425ceb4a3efe8e82a184d137cd0a8db22d12f2621e1b33e0c13f46d85c4f3fc8a9138a69b1a9f137947fa68915ae3ceb842fd54615ec1e0224069fdf9443b224744c31ed1fdc9b1b + +SHAAlg = SHA1 +Msg = 89de252d69eb32a94b80ffdc2bbb04e8f0f015e996419c2b8c6e269a5bee2179893ee357bd79ef3f23297430125c17ccedfbf2544758ddd44a06ec9b59ed39eef49de3fedce35617789acd1978c4162cb8da95b067608c7368bb9a27f847811392a52c080f52f097127e1281a31b896f1a3406e33f80326faf3736258224814e +S = 784f31890d7da137ba05ebc0d092e86ed6b40a96a0d24264f0a5ca6a8d863145acfcdfad099e0ca523e008bbffbceb8abae26046937e796e0e73b4ccaa07d9da317f1923912b2380a0966c347f942eb412e4103700975c9b3705120b9fac11305f29d514955d40b7c94bde537bf9e6963a74a7770ae353265e9f72614eafa4df3ff91223c27e83709c15ec425fe897f6220c21b6127ab9cc8870bd9aaea9ae001b6422b7d6140899f2c5ef6e08c83ed3d62b0b4c310d2bdf6f9ab0168bb24dd0 + +SHAAlg = SHA1 +Msg = 14581fc3d8c6ea6a14c9fb216c86bb412d218744341bb0c20cdfc6a0569716846e44718b4b0e2f3fa7d874c36018b2511fe66fe73753493cd0fb37f944de1126c96b53e251de1e58aecc7feefafcf4bf36792c4c31e50f6eab10fe90bbca5c1a6ef54d30b1debd9d71cda50a00da8974bb0346ddea7c0a41e746a4cb8303fe49 +S = 3aa8c0a814b9c7925f52f7e71bef180ffe91edfa68ec9957102ab94e51d7c3a07dbb69de143c89998e2183d935db37bcf72fed636196d749977228b613d4043bb5cf59011981a1e8bdaab5e3a2dd46e6932a5f78ae4191e032b3e11e5826ad13fec05ad982f45d1652e1960d77ad27bf9c469142790f64ef95d2088c0acfc7bb3fd34098359e11a890cd8ff5084c7e0426e4c099f41ce9b2f509940c81d9abcf56aa144b88bf875d92b8ccda731925b02fc76775c5f41c557295e93e1390792e + +SHAAlg = SHA224 +Msg = f4461d25951ea6965bbe2b16f1f9c7a2714e875f7ab12281838fe46b6f0cec17618f97b9d1803c9fe0501a5ce8ba8e2558498a7bbf1b420b26e428d2a3351b842bffdb2fa853c11b4b6badf624ee3f2df0704a9d3238856b854784303096e75afb9ed2cf411d9dd34718cc2bcc1c4182e1cab00dfb93546b47bfe0cf3db4b960 +S = 7772129848c4967906da15a7b0044f07f150655e133983113851cf4d3cf5f0259b67988d3819a51475067929e146f0c31b3ca55b82715e6d18c06c78e13aebcd3c1be5e9f428f3aae7626c9b81881e559112e0e4a4084a3367ee285bed9155179b1eaef032aa2e01e79624b808adbf248f71673458a5a44eedb5816bc3d12e5d3cb6bdc1f7f7fea8c8a9d077db8896ed51a342a67e5200701acb7aac81f7de33d4234b88144fb0dac3e8a357b2fa55e11e70171019c0661344b72f93d73bdbbd + +SHAAlg = SHA224 +Msg = 460a92b19bb8c0bdf66aa46547df517eddb733d22d2af772cffaa54ec9a60f0210e16ff34c424c9bdc3d9d211a52312de0844efa4b0d99adbe5035e52a0f2f938dde1a0cb9d8f65c579057dd2b4bc3099a6c5b8d692fbd9ec79a2a908eb1e4a5c6eada236be087a96f4b18c20330cdbb1355a1b20ff82df0f1c0ca797cf4f6e0 +S = 31a60196e3a4668d34a588e45042eec590105337f32fab966631c1beda84f1aa3439ee87d3a237e7e2c456dda48199afc0107e66ccb7c409a848b9ec3949be87d3fef92d0da5ecb0492457b21d598cd1c2db6a0419dacb7eee384c85eafcc9f28e04bf18c19bfbafb6fec7a5c3c3b557872895223620785893d9d2533c769ba4cd36347b8701ab599da6f4322532c70f77fa01b80f2201c836b067ef4c8f766c5eb12c57cc30d4afce8bed30734a1b028db9d26de529b399bdf4baf22e078df9 + +SHAAlg = SHA224 +Msg = b12c24b0a33a8ff0a141bbf14f650331803c7ffd9e9983e54da2696c4b2991049a39a539e2ee222c118a144344c6211fea66c8ce2610eb42765e8b029332d420984a596b6514a0e546c3e178d0a20be40ca808fcd84d4212899d66b0d58b6889f187c7aef65312058912abf8bba2cb6a2e2bc6ef7af8903cce8680dcdbdb5525 +S = 52d07eb734ff3191ae0239e0938349b0249ed4de2aad93aa26bd065d1fd6932f7da689529929b02b329fe2f5ef7298189327636200c7eaf27aefd6916f597234322a255e086a772b7b26e269284d4205af6b90bdff0ae940138abed68fa4bce217d385059577384fb009b11e195e355ec25b81d1b8496f6443b4f8dc26edd95b99ec3e2abb3797a6d398fe8739646fcda33c81437349d49809036c2064f4d89739fb97e4bea45172ce64a4f8392ce4f530b1f4522a10c8dfc8f7d6e1b91cdcfb + +SHAAlg = SHA224 +Msg = 662ffccab13472140db866fa562f49ba20f0e976584339e429bb55481dc6c19f8582f11d1ad20fdae4b2f8c95bc788e9cd3a17bfffc743031711f09ab9398ec471ae9b97514768acdb8f1f182160059d2ab3fd2298b64e61881fa5e0bac05e22f25cff1e9dba05f0b8f7e4cfee20493f0001a2876a37e066448d7b026685b721 +S = 03f94f4852da9e297bc4f343e7e03f5a1227e6c05f223359afc3cbd2eddfd4877429f4046571ce669bc7022187c5fcb8126cdcdcc1e25801f12898ab75c8891e4893f1d8d589747884359762bc7d96724f33799a8c774674a1d677a4c22df214e3db25fa1f09d486dcc0bf217d410a86f238f45fc80a0f5fc3370e01ca51655e68ba14b88469a90c2b71db2291cc409fda548d2741fde484797e3790228e9fa5e84cb240b7059452cbe7dab64d638f9d589498019086f7c3a27e2f1f235774f3 + +SHAAlg = SHA224 +Msg = fb91d32d2cbd4ffb4046a36de1bc73a6777bfa09a622aa4f174612d67c67053cce22f92dd9a9ad79fb710f6a292a5c5432f4896d48d0e2dfbc54f11c09a4a172149da3dfb25311266bbe51227eb03d5b240a80d71930433359ba0af2276dd81454699aeabea3c22a1796333fe8365de2d526a9ee222a177076df25fedfaaf44b +S = 11e023512d47599449fe547a6d92f11c40cf0fdb59535d44746e4cdd666ebdaa87dff752a0a744638a5df8f6b2a4a02789927ed87c5577bbb935678b1c034fbb569bf3f30e66c9a794a68499266e73ce1645c275a067a0d6db010a6d987c0174137e080374b193f98d34335bcba133d27df21fdf0303e28cb8e2863427e7edb651a9df5200cf354c00d369d9ce1804f7b304b5997d6e587e71cc3f9f83963e1d54a9b0089ddaaa8990077cb509a55c89270c4dc17112f7738f1ef62198d014bd + +SHAAlg = SHA224 +Msg = a70a6fc8945a7ce5a81892f9b16d809faeece60ad67d5598dc99b2a972bddbb10c188d8ce687861248c4e6ec09dbdba652dd7d04a4d7f79a1c05e897f64409e251c60f683109d3b4ca0ab0c0fcb62c0a1aa1dbebeffa812403bf77ba1a2d5005fe7bbb037ec7abf2b751b61d92e7bbf68ea0c865c0cd3b60182d27bce560f942 +S = 8c14cd62325c489d3bd29fcfdecf1dff118d6247cf65c5e4c37523c77e1fcfb3c665b51c3b7c6e79b05cf1cb31854cf427d5991341701ac594abad6290ba127b93aaf05d9ea05ad8b816bfb28333826c4a302959c1ba5a093cc0319b3c71c4430263bc249d5572a6f93f5d12d6556a27aec1374d13634684d62f819fdc3a8b7bd3a9585b38a63ac46ba9fd460d83c80acb75ade91346bce396300e6a7ce6ad18161c0a1439e558e09a513b839293541a0bbbd4b63b4a381eed075cb88d959d95 + +SHAAlg = SHA224 +Msg = e84488e1d4b6d35f82767514d46d044eae850f73b260014d4e4b48a6f96db715b9442917e953686139144d75f63428748cff6133491a60906370ab073d6e4e80e673806be282830f2e3bcc1f7e09648fc99c8ea5079aaa533a9159c4ab31e23576b8d50648adee1168d13b3af45381476e43ddf37749a73dd9979b06cb1c3bdb +S = 5127c85058dc71a4a07592c85a86f3fead0c49d6f61b16cfa7ff17017b877453a75baeac9a9e83efa2e1f649eedc8e32414db78dcf39414d7f4a4537a476d3948adc047c3776ecf3166a8a1a65daff3f56df7866abfc5a6735ad755589032eab3216853fd69c3337694ff1e5a5737e3d73fe5d8fccb91d9aedbca20c4833914667be4371cbc99442560a08b97816fc087aa5ec155205b4410721d0038e2ebc4808a215fa000c308fec9f2a84259eb3189f33f7afb262e734b13267740451d8b1 + +SHAAlg = SHA224 +Msg = cc8cf669edf786837bfbb48dea4743c4d22527e4504eff9caa03e03f315954bc6cd5a2d07238507a989ce7b04cc0f65041a15959cd4abb5b8fec5a2c54310add3bce7dec1858c1bb17580a41a2a1b20084e17e374e772358f98409bcce454e9683a00e26a7fce22f4056a6aab29180bce20e1de69c7d3e7c32f37458663c27cf +S = 6772d4802912fdd4d321da4c15c3b75ad4220a88353549880010ebf43e3d35f671ef38173e9d4fbc2904d2fdae527817c9310b94ebefdc75929f602bcc188b039ce3d966eb844717496949664d1fcdd18b810481ecfaab6540b25aa571a342b9f5824d5f4d946893381e22a55f82b855a764c11dd780f6532d376e23163cde9e1ba2594f5e1b602b1a69ada4edeb0c0a94a064d93b73018909fee5a3d21dbde8917e4803ddd18f0f80ea6497fb73d17124615a7a8920a66b854c270e0ef23bcf + +SHAAlg = SHA224 +Msg = 9cf9206031fb19bd87fc50aa4d3b1bf3b86e66a331aa060f4b824a16f773d3a8fb80a685a0198047ab416aa38ff08cece1b646d80ca27d87466233c1c3ab5b8028dcebae42de322ff84e6c227ede9464ccf879564fa514e1deae19b7ef01ccdb0b5516637f11d87d556a7fb082ccd964617c27a5607b7324faad237ee53acfc1 +S = 42a5d83fa6dcf0aefa64c3d651c39a088f4339952a6f4a32ce192a8dd6e34736936b025eb9e9ff35cdce3a4d6994b0d1e0a74649c612776dcadff5fe3d73c174f492cde03d16292abf082cb7b795795ff927e2b4c8cd89f43f24eab746c825a615b154b5c5ffb30d86ffb1c3d3b8b207bc1d29d312307529b9634783c1ec59c07f45af4d5b5accde4a7c51a90488b3930d7c3c84ade6c5e1a875e2f384ccc9c85c9c847b6b53e34779562039d7e3ddb8338d19494609361dc36c6caf6b48c726 + +SHAAlg = SHA224 +Msg = 41fbaee4805d64635b050113023350daccb08964cf0d837dad2f25bfb00c1e6e1aafd5a0b682a3a1b3cc4195b2797c5f1e1a30c2bc2c73c6839d115ead8c39470e517533a5bddf2771a29322859660ff5ff5c39c7625153c121e032a60293fa0c6e775e6749681be3c90df00a31462823849293a2480d0a703bae36cf26a983f +S = 5f9e4625c58b861fddcc558f3de7d85c3643fc312e8d04d0e19ac4ea1305dea1b2b015e8cd5b8ae6c348f9e88dd51e569d9f0b8a365bfeb3d493102fb7a530f9cb69ce3385ab5cd0470fde3d451db82eb1f5f226d39f9cc5cae5e3ac6c7075b7170b1f2f3ddf49877511ee178e46ba5de75108a0c9f8bad1488823873d4949c70fdfa1dffc4444401fdbd134d7a326edf0d0b11b41b217f7c388263f50237008e0d78fa022a14953acced92f1dc5d2475c958d81a5c1653b255fb566f8449f00 + +SHAAlg = SHA256 +Msg = 37d7fee3d31934912167e1ffb35b4b2f159e84bd02513d65d8abdbc44ae3cd6355501cf175cf43d0186542d45325ee47d4548b3018cc9cd4de9efa7edbfb247caf55d66a18c1ddb365a029542e7e24e3433a42d0e267d9ec2df33427da06e39e2d2d54d523b8a840f161bf09ac2e950d4a98d228c9ec9cb2aef2b049b1cdb1d1 +S = 092a257b50a4e4c8c7914e0d19c0088778e5cb4a815fd3a4eb59ccf3e71233934f9bcba2e03465f2c12d2100e722c703acc6bdb8626cac09f964f9f4ba527d9c49a6d6a2136873666bdcba0a297a3c38fe48731fce5a7276015c4d750de6fc550718544767c86df16b048cbd8ab8a878b6bab25ad642dd57102f323471e2fecb84f40be00c79f75db6bf01ab070fb2874cf11a3d4e81e15f878b0797b534743e9666c93f782f0a11539c0154f406c710f1f5e24b490d7f468691ca28730a4802 + +SHAAlg = SHA256 +Msg = 15750e411ed6b1487e9bfae96aaf758f6c059ce1668af84fd45889eb512c687b5d1aabcc5d7f8949e338bfcb301131b3f780d5376494cdf95d28d3de085cda1d8d46f2961de46d66335540b81949acddafb71da068ce52d3952dbe2ee6562e5a2d60ad4866eda4c7f55c46562e402b361a103bc47820ce0603cf1284f302ac59 +S = 45f6202a029a0b5751ca6aa81f8712da94646b05a44901f8f972834fbd8745e0716888e26fa9319eaf30951387bf9370a3e005c970dae2958e8c3aef1e4bba802af877140b39c467595147215f44a5726ffe4be17004d61d05f39505023a2942cd8c9bc0a2a8ef8b8abcc4bf02c694b5b2d90cc5f27aeff2f3078eb7dad4d0c292d43801cdaeb8c59c5e97a6beb5fe03e320f9ffd5cddea1448d3d308b6d8bde90fefc1083c50f78e8f2e27c7c2a1b54d5dfd89d9a76a40b6dbe118d57336a31 + +SHAAlg = SHA256 +Msg = 369d20e16d4a6574d4f9ee511106bc494268f7b5eed982b73b38d3c2622b025c61081f22f0f6c90db54ffcf5bb492b5321d68f4b0fc8beeaee397facd92add414e6a7a902aba26fdd42eb0e7b8d6fc75f79e56935c73063793a725e99597af82678bd93404dda4ca985eb231eef558382c89f694be218327904a6c8280ba9fa8 +S = 2352b15d1c536146660f89d7a6b54adc9d68c0d9444fa527321e19f5444f4118c32b8345339bb6ba35c852dd575db7e3695fbfefd42aaca046b6ce657137c9ed4d010a15faef7f60bd4e6befcabb4139964af96f6be6a9911dce31cac26b9ec7eb21be01b9068c8b03483b47874a6a3c15f08534ada689a9b4bb641b9dd8a12592b8b10c7f437c6ce714c3097ee4049ce19203dcf5e0eef76c0f933bed0e624f8c4a2d357d2379c4e3a1d382def0dfbec85d48c6314bbd6918a583c4c0dc37eb + +SHAAlg = SHA256 +Msg = 1f75ef4371178356081e4bab44fc3c706a706f6eecb580e0ebf93485fa105ef4256a03303242bc7c26195c700b63d34df180528e33edb0bffbbc0d920841b530af0f46cd2023167feb5ecf50c3395c9281b409726c8fe5d0b7bd6b4e4b1662a7c74c0243c520580860d5ec72f3e5a0e622f4db431f02e7bb26e498e14af52f02 +S = 643a46e16763ecbcd7287b66a93c897d2e84d3e4eda24f2e518f04814d3d9d5aac3365d9541f5edcd165049b22a9066fdc9525ae6dd5e542830253f00864ce8b40c9389aa2857453f36996957e0ba5ec2618d47a6f514e2e0451684289baa89704a33f35f242c6f94ed286d0ac7301c35f4361e7b6df1232e787d081dab1ad98bbbdcfacde5996138d52ad8c98843d3ad2458c1cb0143de60585e666c8a82843c750e8d28c41b001ae73c842527e60d54f1dc20320f90a663c701f2bab8696e9 + +SHAAlg = SHA256 +Msg = 7f07b5c76d5b9e9d77d3b03b69de2f21cea9228b06e5075098cac60ac95ce4776dedf91ffde36437eabb3dc6314e8b063053b70db72641ac63c8b2982726d2c72c9e1a1ddbbf6c48385002e97194a5f4b6cd1f594cfff2e4ddf64a61138a31056522020930772098099be7eb5239e3b30b1e40b7ebf882beaf5e77afb31169f7 +S = 8814eb974e33027b3ed47ca9cbe7135e4aab75547be3b661bec48dd15e13bf3797681e9a96c83a409d46796decfa3155255af5d534d660596066f87611408c93c90a403e048f0ffc44d4b079a96000684c998fdc82f662e82df711b057ec7de01b5f42f348c0fb445d3fa8d8373d0ad9a5371804d999e77b6a6977fba65a6eca76c4a84af4ff3805020d6ed3dc5f75e1ae88972dd70c1c00956f39cd8b22e5fc2a613aa364ce45cdfcdf02cee909ab0c54ea0eb1997a8bc97d399fa36243a162 + +SHAAlg = SHA256 +Msg = 57678a5baa2b4a39f8c33f62a3977fa9f9516116b64a27f4ca41e1265d538eba112783c1876a115d247b621b1567a483901769ee5dc84e9896bcdbf6ab2fab4aa88dcd74bbe2690bf192a7ac404acc92ca36a76760752b5a45ca5d7235947122a6002f1d4e7d9c6be570d7bd2c2941fe2e16e02ac637066361d22d420568266b +S = 5658d6bace6f80ae25ff1cddd8643bfe197b7699edb35a2035fe325d01e97cffa894a2e93c22b77de799531f0812b4931224a7a5fbde302b11397fd8804ff48471beb3c50ff90abf95d80c3b138d5ab3a79108fe5ff7c89d1abe4bb94cd4875feaf4384f5c3c32ff3118b20048d2473368bcfa5b3075606dca2e54ff6e27f00457d6bc5b8f7c6c86675d47fa032e7c395eda977b841cf2e72067d1285113c5081f8d6b14659ee1bf49c78214efdfd866ed4d2c0f72ca661a59844a9f83c3966f + +SHAAlg = SHA256 +Msg = 15b1e07d9a1bfe53c7becfed15c721ef602b641d33dd0c29464437c845ec900bd37c73edcfe85229d6e7574e09a84a1410c0b6f15f6847e8b7e577a2f04769bff756156e13caa63b6cba2029cd574601a9dabbe95cbb6738b4241c89b0a57a0f87291028ec29c334911f74a7ea3edd5d3360bc2eb44034c344e970a70c6e89a1 +S = 4a5b9af9c12d4041775070e6f2b1d8b5a3c7b4966ece2cdf6031e9af8a8607ad5d3a7903263c9467a3e099d2d937f8111164ee8ad3b0b8d4b7862b2678df2bb765dd03375591d90265d136edab69518b33bbed389c7746869e598f82965851d16b3d8b7c4f83d073c58ef3360112e5a775dfd0a3433ffe72df030145969acaf07ffb9874304c1ff20e4df02b9436cc03dbb485955eeb7b6a02665f61edcc22fd908a0ea8fa61b9ae52a346a691828c9ccbe8d12f389f6aff37bbd9cd0ffb8c1b + +SHAAlg = SHA256 +Msg = 50b0b8dab5921fbb12b835222008164e6de95b04ff58e03d3a39cb1c04eac922261e9ba5f5e9d27e3317d60330c22d353424fa3a21a9c40d55487974ce14b332910e397e4c3ec9b53a02154c47a50b08753359717e8c3184bbb849a8447a27e359289b4e00b98dc6f020f8e5aed93730f6c180925c2aae0a332f43a0ae45ad9d +S = 2cd9c7f555f84e77aaa544ab5fce57a019519e094d1c762832fbf940259833f126531f4758278d3b24cb438816cc9c0c1b803d90533914c20e7329d92c0cbbb87bd4c16d1f1f0b9abee539b7aff350c1a4d65d29e80f7765ba09f20d8fabdd1f7ad7feaf4191157dc7617b17b0325b1d9fd51d2b7e0be5d0c00b1578710794907689cad46bfa7be95bc7ad92de5eadd5d9716898cdc309c26e8ec7967b7137de73a5742c1a4b55ada7700d470ecf8727b27d3be9d6c06ef44f6a19671b53d0fb + +SHAAlg = SHA256 +Msg = 5511c2b0d2dfd25992ad78735f326382ff2b2a5359f48e32da55005e179e63bab4f612c584f025ccf15ff05f9f6ccd014ce51c23fbd8875451618bb23fc033a4e1ae27cba6f2e635b22f50d48000672fcc465658b0c1b31e0dde01832cd07971a5e20aa8800c9efb9bc49fbc4b16b97546f7e2d8c1d798f9d5756abb27f7ba88 +S = 117b987b4c79fe569bb0031cb63ec610b9fc4da8ae05b20ca2fd0608c6c8967baf7fd34fc45ef9e4532013a0a3502e608544a63a5e218109e58568ccc2bedce3b48c0fdf4748b0ba4b4bf569d8e9c50231bcb0caba31e32b2cf8d57edda8bf9770705fa072cfcbf0355979080d8e7291179246f1be59a4d7786e8dbc548598d8fcb3ab293c95b9c897d4fe285ce6863f1eb90e953fea9a36d6a5b359f08d35a8854925940aa06fec66176549e79dc99054be00f0bd9211782de7a3392740684d + +SHAAlg = SHA256 +Msg = 67567351452fd3aefce4671f63c1d5036dc1c0bffb0c3f62f4be8e8598ea047611df45954ba9b9fd06db3d672a8c184c5aa0304acb497ec957ccbfdecd896c708c36ed99506b0a4e4b63a24378019f092c112979eed11a5688afb22e5e558d81ffe3d126fa7bace9f303fe79f52652820a9c131609acfd51b0efd13df2564df3 +S = 2bc0a09493a57b56a5ec1e3b4733450e06bc64644b3a9c3af86b30866022702f1d018b4f56254e74fd997877db8a8683b2fe1571f494ace3a7648fd940b957b0b7e98383b9d42fa5b48528df653489ecbf7f92af7385da03af27475db872c6273f2cc79762b05ee0ab2aefbb682a0d415614de31370aaa2634480f5ca7ba0e503b45d44c31f56402fd58bacf34440a26bcb0f8dc187d7761e4cfcc17c78adcaf0c54a10ff6977def477befeb9a85aac64555369c11319b0c97cbfc5e4741dd0f + +SHAAlg = SHA384 +Msg = 37d7fee3d31934912167e1ffb35b4b2f159e84bd02513d65d8abdbc44ae3cd6355501cf175cf43d0186542d45325ee47d4548b3018cc9cd4de9efa7edbfb247caf55d66a18c1ddb365a029542e7e24e3433a42d0e267d9ec2df33427da06e39e2d2d54d523b8a840f161bf09ac2e950d4a98d228c9ec9cb2aef2b049b1cdb1d1 +S = 7fbe7bf0b9eef0dc7634606cedf55fdac9e6d654d6e7e1e83a776d8e4f585f59fad12ddfb1d0805679497ddddb834b248cbbf760a352ae53453bc3026fe7694bf153c4e12ba07eb5bc0f9c65038bb5d72368bbaf23ddd4c1da6a9203cb51cb7e2b9efb5b5bafa927885b49f479708aae9f770eea2e5f8ad4050edd686cab35569d27c00d45c21b5aecf2d946484044318c8909115c233c9af8527a9d9db40b8dcba3281877751845b4c2775968b04ed813a7a03d99d90fc1408078bd60aab480 + +SHAAlg = SHA384 +Msg = 15750e411ed6b1487e9bfae96aaf758f6c059ce1668af84fd45889eb512c687b5d1aabcc5d7f8949e338bfcb301131b3f780d5376494cdf95d28d3de085cda1d8d46f2961de46d66335540b81949acddafb71da068ce52d3952dbe2ee6562e5a2d60ad4866eda4c7f55c46562e402b361a103bc47820ce0603cf1284f302ac59 +S = 3832d9372ccbc0e70c203e46ebc7df8b47de57a539a34490d101279b99017754e973d92d07359c3d8694704b6614e97291be4ebe74db19a96749261f5bb0ab7f9ac42b0418ba8d2418f498f9266e5afd43255f55e04ff713de11f4a43028a2ca1275c7c78bf4d36e224de0c5501848fa08efcbc7488018efec4a492892cddfd33b960386f1f856253a11a0e526ceba417ffade4abddb4e5479e623bd3fa247d98d2001b5518f756545d0690ec91304deb0e1f3b854e3e1273200bf67735cca15 + +SHAAlg = SHA384 +Msg = 369d20e16d4a6574d4f9ee511106bc494268f7b5eed982b73b38d3c2622b025c61081f22f0f6c90db54ffcf5bb492b5321d68f4b0fc8beeaee397facd92add414e6a7a902aba26fdd42eb0e7b8d6fc75f79e56935c73063793a725e99597af82678bd93404dda4ca985eb231eef558382c89f694be218327904a6c8280ba9fa8 +S = 0e296e4821f1ba34981000bc92e5dac9bb0c9b5854352adb8b3f5b2ce79d31ec16b56a9bd1e1f33850a3100bec1dfa5871c2c18a833499c7346b526ca79f8f5512745989d086314438d466ec57b407bcf6e9d708e7858f1416195912a44c661f4da3569ad855d749bdcf35de353b10c05e13894387d04c7c241f0e5eee579bb1564e19ba61d8ba69c0058e637f719fc867c514685270272e73e6d7862f888b974ea9d5f252142c9205375c9a375d731f100c187847b290e9b25bb6f882b11114 + +SHAAlg = SHA384 +Msg = 1f75ef4371178356081e4bab44fc3c706a706f6eecb580e0ebf93485fa105ef4256a03303242bc7c26195c700b63d34df180528e33edb0bffbbc0d920841b530af0f46cd2023167feb5ecf50c3395c9281b409726c8fe5d0b7bd6b4e4b1662a7c74c0243c520580860d5ec72f3e5a0e622f4db431f02e7bb26e498e14af52f02 +S = 4bc782031a3288672715669846984e87428e2262c066c4510237491fa35f7ca5c900f1bb5c0e5391489c51a140d9d2a13b297ceaf14b1b4b04aba0f6943801976d66370334dce54d08df0813a5d9eb5ecea6e9cfd7b229c10a4440b7ad29b1a4e96148fb60fa0117c703a76b9bc484af00a28989f840a24b8ef28d5bf4c98d0b8e00ef56ef5f574fae05da3dd7a447061121d804448e3e7dad8ef95a4f2d7174f54048a2b42add71eb9130de8f83d7d8f49b6d8029cd13b2e6658918ca50fe49 + +SHAAlg = SHA384 +Msg = 82037ec6b8b2c72ef7cf1c67e480dfdb90a2496f9d5eaeb7a3fd0265d1fd9d08d8643bf30454477aace05965cd1efd9ef27db62d575942664dcd2061e0c950abb8645a3b3d7391a8ff5a99995422277c43cc087ba0e565ab795b4587b18f539eebabe288a9362e1eb5e6e4ebc1b5e5dd4a364740c22a9deded4f79bf8c782f47 +S = 8ad5ada53357fb45e8202adf818eeb8d65507670b037307c94e98f4e66caa2ea4d7c6679cd4a3575af81c334da1b340c99f6473e4d5984eda3ff0768c2233d8a4b11a7b4b0101368bd50f6e01c5fd8a0fd6261a4eda88c9a7201cc55aae7019047eb89cf446a1a2221be64bdaa9a0ec1d78c52f88e9a01f3f510d10874c02db74b73e0cf542ebdc32326ae61e0db599434d2e2391dc33bad2abc66dbbef2e26c83e25f144c373f3e23c7fac8ce898c62c0b1607ccdd731c31d8e298c137fa382 + +SHAAlg = SHA384 +Msg = 06a21cb4062d114a1ca2d0f79cd174b4a82749f100303b371a5a8e0c76fccf172c960a84c75b3daa55ec0debbf67b8dc57a04ba6b0ae15adb2aa5b6fedb34dae2e3539d1506bff885523c5afb6c2eb75f68741bd7d1478c4a42ad7040db42f59350711634c683e2b44ce5f0928eaf7c5af6595fc11694ec519626a957b065e60 +S = 82da9373d2e50e49e91d56e376af44e44d0028344cf6ed03af1b68c745b7e424106cd0e0057f42988b834db9ef82c6081cfe0cc3b4ba3bb4375f4d17780b7f988d56a82784772cf63a561ed4e80902440a8534590fa569eec3fd7afc13adb28a8b111c177fc6f54011ca8d00cead4e24c1ed7c8e7c41c32c6b6fcc1797cb1c61e7e8ed25658c7f6f32ca95ba0844dea6846ed4deb08c0d8ac5b570d52bfe0f8bb110a588e5bf1ed9506d68553a621625aae2e48f2021cb35e7c385d435516f21 + +SHAAlg = SHA384 +Msg = a9c872524df7da7de23b47cb7735677f5bd00a7fe7c68efa9f679a4d7a9610287d143cec8e015258889f17658b5ade6e9605b6945767e26141f689ace0e2afbc695564b096fa3b1db0bcfefaedd0a0b9fdf573b7e0fa9bd6fa81c36869040f50961551630aea7f1584186551489f97a8b927aaae2a89a3a1f291b04cbe03162b +S = 09935b301ccc3849efac6d00373190026e53c07c514a91df1b8541843562024393c9a60b965139e640c3ebca7dcb7a862aabc1c296e7a1697821ac17c4dc719cb72931ab1381511e80b9bba3c5d639049842621bb7889fd7fa87e52af360bfa0cb5ca385425ed3f9a6975efd8bd725560e07b2231730e6b9ee1b9c873df9820e0229776aa6ddbca030f3f96a60c7c09dbbb8b334711eeb07e3de9a6f409639468ed1ea71dda850262e6917a2eb9c7ffc991721898d7209717ec1e5950a7b65d2 + +SHAAlg = SHA384 +Msg = e33f32f8b487703a3860f3c5a2451efb19cdf5625fc8df56b18ba9fbef88cf76fd22f75d69bfbf6b4e1eb87978ebb2a9c8903be5da4f6288e68dc15ae471bac2f4ae0037fc9d59f8938fa3fd1e61152d3851c8d1580f7649ad1881fd4d3f37978f8c5470b54ac847cf5cbb39dcd0cfed31b7a5101f33a201d0d1f3cd7219ce5d +S = 7bcdfe9f7add3841b717954f7d95ee90de9881b8cd86dc7c15528d2539b194fbf2a2e41995864935c396380961e0200e3f8c532d81ea269aeae763036be53d6be992d5bcf307e79af39f518fb689472e2dd56d71ed9703033465c0d6d8514f56ad58ca3747d88a84d9ec3e5e27f1083e66dbac7e7e1817c55d88e8eb59b9ea4740ead9ae0c7aaa6f3105887938be675b3c64787c9b12e97f2a67f9368ae2746ecb13041271ff11024b2d3effd9aa50603f4b9530bbeac8953e74f640afa9ece4 + +SHAAlg = SHA384 +Msg = 95622ab710f99332c2b812c2297a24c2c8097ee2193ea26fc969b1d524f28062cf41ed4cb5dc74f643cffd6fd851f83b77a4ac57c03dcc771e254c92419f72a0cf0b30a3560ab1e486e3327f9d261321228f2e11d62c676de8c284b7686e4090fe889ac2dccc7384f1bc58fa5f409dfc3090ab1844539ada8e09034a81a60fb7 +S = 4b4681480ecb8ee514a28b08609026e10e73c7795341a5860229111f5eb4e6e343a0cc335c4fc16c56d3dd104b62b8a9527769659f0593fe795c1a63b1e942517f6ac5b0c93ecc071a88671ec5310d0eeef8e735ca3788886099827658ecda30506722be056da09a1a1bd66c7f6cd0dba7a6427750c33d301c497eb61fae99050992cc30aba5b8159a44cd8be36d738c0a6fd464d733af37b9915398a13c6769490bf32e1ed2b3e7d085eadb8b6b59532e85dfa53d679d3ed64ea7bb71cda3a0 + +SHAAlg = SHA384 +Msg = 243c80bcda3b5ce186260bbf694b75313f81e9dd6ab85f664cd400e4f5bce891fead2ac4b4d514247a1db51568469d773837e49063956e4687956c920c0e263107d3f99d5e3f9b3b2e11a7d6697a554cc4758887d0570faf66a7249e492f39950753f52d20a279906aabe7e8b4122518aae3deabf925ca09b3b330f1f447a923 +S = 5b2695b38d1ab396c73dc2517e4a80b1b961eb58f9097aa969b5f55bbe6ef105879c5226d4305b113be48f333e04ef03fedfd2f311bda7495ba478d0ad62543aed3f00c29e419ab572b889e8894e7fbd2b4f34ff8b77590ea6c287bed27e58f807eff8be4ed66011d50c85d1d2b6a7babe5323c9a1a4fe53f7e968c11941713d54b2a97c2145bc585e1de14e6753b40127642a0d08c29f4fa07b16e2d6eecf87343430c68bab4da1f948fb307287eb6d59db67ae295204ed8deaf5bab03b0620 + +SHAAlg = SHA512 +Msg = 281573d668f14475977c9fb6204369392d944a5abf405f10fe9f2f15ced5e148a254ac4f95a28e80b75d4102a47c6b2f5cd7153d4eea5e1eb6d570a429a8b4e96ede42ee90279c82316b9b66210ba9ae306a316a40ac54869ebddeef929578f734bb1ffb8208d443b0ae9529bf798d7e51548829bc0ea9115d5e5f3e2f25953b +S = 4dccb5f51c588328ad02fe48c30c5c9b4d8705e0a4ee15e63fb9441b74ae28f618da184e7d278c088bf62d2dcf6ad1dfb601e55ffbf2d9210e8df3fae104c8e6aff88196d3395706a346754c91104a609046069e5b23a3a58c2d2dd1158d75d91c7f482f8e8eaefcc93bb72688d8d5d6e8ac6794fb56cd3c499e1d2b30664d6bbde84a65fbbe5e2bad5a569a047102b7299f42883a85c146e221e8993ab929b2339bdf21dbadbd5bba92ea9765628c81173fc42abe207aa956c01771b1685d92 + +SHAAlg = SHA512 +Msg = c4095a74b43fec6a10af4a84630d6caa89143016646daa58d0d3bb9dd875e5302a9b5d41c88d62e601b1ce5fa0f3eb9e63698707ae374b7481b1487ca8c0d3f5318793b72346d8a36d7e2ee41d563375d23da5e374d1bf5522ffc6c96c6cdfa0c314235d2d32f5aa3e5f939c43fdec37c0d6b2351d01af039c065c0d8e41b03b +S = 50dfbeb36cd26a3f2568326b99d9ca4c7bdefc58579a2ddce9d780389932930134041f43571f7644b5c761bebac9613ce5c78ec79114a733ab8d8781fe3c892600090a294e3c9ed9915ded2518eb64d79a488ea636626fea4a23d90d56752ed42094886e1780a46c8fd838fda557bdbcaa2ba3f60d9102fae05b611d91f746ec05bca5237a88ee1da970d2c9cd9457cace65f69d646eb7b64219e25da839cd048d5f65c7a08af468c83b53c2c9fd2e9ad7f710c009718670ec22670a65d4a054 + +SHAAlg = SHA512 +Msg = 4e0ea4cd4106880242667f17586ae8bdffe94c2c1f7def683fe4a5c3f6a6e7a3a3f826855ee15f422f9bf0917d3caacec99627fa9c5b5e02bd857444a8f4d64f3c5984eab454b059d8d987db74d84f770a1db2f8c4755937ac12bd981f303ad77ff9660529a6a0cda7e8ecfc2686fe412a4794308012098d755427c845a23ec4 +S = 208c20d4e21709016862d7f9fde9966aa1888626b1baef877e56ad28921fd41f4f5345996af0a0eb26097c54c1924b536b232312b65b3a61a0b25ffe852128d048d4939447ce495c5a6d344ca847b6190187768245a25b5447581c4fb2d897411e6b8fc73fdc0a7c7d0326cd41cee8b590b7ff7ff77336726351ebe5e0aa64f1a2200acd27afe9bcf9d9ce3aa66856a57fb8de6006a36f7d0eff0627af3fc8ca9a7aeb4439883280bcbe070a0578a651a06a44816c9907045f7e2d7d88939c5d + +SHAAlg = SHA512 +Msg = 2de2a6e5f415badfa2749d7b42743b01cfb3100f3ce64831b71225b12f00a2b114eb56765e7b9a07d0f7eef77eb6997f8dd690d03a3199a61d8db021af13aad10b03180ff1a56e941083654485d59d4b9f3d876be5b482945ac444b6fff97cd39a92b558b67b7eadeb80c80b5fbb8f8e8d4ebd8b45584b23f421a918269860e0 +S = 33a76bdf4cb67dbe60a385e5203d3d38a70bf11042d958d8f03fca072b158503c2e4d19dfbd7608a5a1aaaa93f292fee637697e6243510b0363ddba3d4c1f877c230bad3832efdce6a87f65a897e636698a9f1c8f464e5db0b5e87ee0ea42c0421933b213985de4e357363fc3af52c34a29bb8d5f12ad7c767d4d95bda4e33ea4ffa3f041f3e73496dc4f466e9a123ef2cbd907d181036bf7f10d442f3ea781aa12ef24aa85af4e5283940a7349401eb984fe1ae11b9ffd54986a4a8a05a31ad + +SHAAlg = SHA512 +Msg = 66614022324dc6ea068c1afaefc4dac998c520541b11fcc0179c224103d0df3ac1d452a6760ed8b69ae7c8bb4bce6147e77f008fd9859614b3fd5a837e9ebbd94df699ca19f6b464c8b165f08f618c197aabc9504924ef6e7e13b59bb479af6f324e7d58c00e433cba74595f628543867ad1e35d13f6ed16a0659c534e69a346 +S = 10d9924ec0584a45429b136f70e49667c0debec0a0c3d3efe282bdc8e7d43d3c1669ac97f3a97d9f3d89bc81dc42e3057f40ea2916b1bc1a6011cf633ba2dedefc6068d5cc7e02afdcbe52ef0eaadbdeeadecaf45b86c4639c8aa90e2b854a8f244572f482dfbf4474aa17895dcee685fac68252d8c164f053a5581d377728ca5b52351b9f11ecdf5a1af3861f862ba0afd6fdb341bba6d65da55fdd6d887ffa7c238159230f846221f2c3247c0df50e5c123af2b83fba89f73ca67740ffb643 + +SHAAlg = SHA512 +Msg = 32a73e45bfd575a2df076774b6e3f3aabf031dccb64910ecb5725fd99dee9095b7efdb099bc12ff851597632b7301a0a2252c80948b174e45ec09dac7d3dd2454a4e7519d6d0bf0dc3ec04b5a9eb38c3b74bb3c69e123111aa621df8324e0f4333ec93dc38ab2ccb7de7986453bb56bfc61766697e125059e381672685c84f77 +S = 1246dd0d02b896b6b2adf65b5b12c0333abe6048d5b62c116bbcb0d0974cdd303860b64516f99903f92dbeb368db19e92ed24dfa1ed23362a8ade55239ddb13fe98e09919bad116e5c95269c62b198672f27f52969e254edb27e9e3bea0cbb18cf98abfe11d8be73e2a210436be7d2eb1b6a14c0fb28c5677b9d4cc2229affcec99d09daf983c0f96c402e3924fdd2a26c5e5b274f181da4e43b574181609fea05a627384f5a1614a7618c6b54d59b218468e10c3ddad17cbff0bc3e53fc042a + +SHAAlg = SHA512 +Msg = 78e2c1f94635d3eb3f1be98bf869dc62a3121c2ed9e397359770ddda864e826e7f82c4484e3a6e18b6bbfd78b69b00c40b30c52cf64831073f1af06a7a7dcffa895865fe625af9b913eba0f60362a6e47a782f2463fc1e2151c936a0c1f67f989f4cec430bfd3a755c921b2d65269469f8d2a43fa968262ad464f8a2e21f5def +S = 1866aee1787699e0f5188007e67e2db923cba09635d295fb72d0a19cf07fb8735e90f7967750627569120bbba482ea7aebe052b99e9968605b971c5121fc54cc9b19cb578831aefc8e9227b61cf8c1bbf123a6a19f855bc4964220b838be527c72cceac357eb8a902efde32268ba1fa7946b7b2ae8d460da6b85f40a216edd43c603a2c7d670dc81dae728ba45764382c4db1d073f8acb0d7ed0e87f237053378f4ca36953b588eb58c638a051671dee3bf1338895ef61776f88c3eabcf7e581 + +SHAAlg = SHA512 +Msg = c63e4c2d1b90a18f14894fff97c3958f0276dcd51d9d48364d548d650a85042692c3fe58df765832d7394fcdc48096e2037ea6d6004656f36230abf9827ef1d5223f0ab05c74072bd872f5e94287f94ffbe0a0870faa70cb6878c3e041e5d5e0dd7a1b3d78d2d6037efbe95dfb20e75b526571f23313bf45c7f57c222d02d7d0 +S = 9302513e38915438f6282db46cefdf35d87a0de59ac4d4963c2178100440873dfedf38604320b862d41d93f2d1cb41e067944d48c2fc865dd9a6777ee28c16169148676d7dec190ed1c1b5a28aa3af3f0c64f3d5c1643d13488baf244ff97437055a7ac17257423404e31edc927162e6d0874fa1b661527887e56ec479817ceef9d77c7f4995ff63e9c36befc17eba8906dfcd564495106d62226d644c8c3b01535201f5aca8872bcb7bb22fa5738cbe2df5bcd08ce25982485facf67d316090 + +SHAAlg = SHA512 +Msg = 21e9a566b5c780b65e3a1c42df89f79d4c0b5900cadf379b96dc572d49cbb5d35ad4261de4373b67a93d6867586d65020b02d564149d264ff938b8b3bd5b4180619270b8ab1ed0c826ebf0186ac2c1e19dc03f3f3a07538711b3f8da90109efa400acb5d92e40880dc2dfb7e9ff0d1e10b2cdfb8c58388eae73661c9495193ea +S = 8471e6b45db165c41bc9dd6fc6fc9febce68b53774df1078118097436eb3227c9d3d02a54ab6e140e6bfaca1dbbfb2aafa791b922a41d7d13a7c3a6f7a6429d0012a036b0d99e9560347d43be0ca8cad62c4c942d753d548ab138d66b7a64484cc6409ac02c91a8ade51bc135236c0a483370192fa1f08ae2b3fb1d9f7978f7552a941f18cd59eb5f3115871787a3dd6d59cec465721c8812a9c9602fa0a7416d5d80909f14233868784395471bc99839458e9a03e54d4a710cc3bfdaa275b14 + +SHAAlg = SHA512 +Msg = a19edcee04d171ec1c94426a08dd7cba642bb7dcbc211445467488e0d0087753f75685839a11a95a8e0983c8934fef07879ada24dae954bb426ae702b09b270882af8b3ffa337b39eff1aaafc215a6c7948eae96b6b7c3e461370130a82630f4aa71972b0c7f100fa71462277d76ca81f2cfdb3d39d3894b0ca28074a0f0ba9f +S = 89f174835086d4096ee4bd71d5afc2a893751385d833577cc3b9aecddec1058c5ed7612e1a117f197d82ff1bae9a4d2bf238dae5c27c1bdcee9e3023e30ca9feaf12b302514b2e5748edf349a4a97429c48fba8cf5ab5e4d2b9d10b89882f74017166c9c09a78d4001c8279038eb64b5aef6473b459e3f321d49067eb487f13438f86248c39c89b8371a4c4cce59da132995e81c0a84f4954b467c183f31d140d8ac7db72a08cae7e11722a6e63e0e0dee9bc9da00179026840d3fc7ad3f131a + +[mod = 2048] + +n = e0b14b99cd61cd3db9c2076668841324fa3174f33ce66ffd514394d34178d29a49493276b6777233e7d46a3e68bc7ca7e899e901d54f6dee0749c3e48ddf68685867ee2ae66df88eb563f6db137a9f6b175a112e0eda8368e88e45efe1ce14bc6016d52639627066af1872c72f60b9161c1d237eeb34b0f841b3f0896f9fe0e16b0f74352d101292cc464a7e7861bbeb86f6df6151cb265417c66c565ed8974bd8fc984d5ddfd4eb91a3d5234ce1b5467f3ade375f802ec07293f1236efa3068bc91b158551c875c5dc0a9d6fa321bf9421f08deac910e35c1c28549ee8eed8330cf70595ff70b94b49907e27698a9d911f7ac0706afcb1a4a39feb38b0a8049 + +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 1dbca92e4245c2d57bfba76210cc06029b502753b7c821a32b799fbd33c98b49db10226b1eac0143c8574ef652833b96374d034ef84daa5559c693f3f028d49716b82e87a3f682f25424563bd9409dcf9d08110500f73f74076f28e75e0199b1f29fa2f70b9a31190dec54e872a740e7a1b1e38c3d11bca8267deb842cef4262237ac875725068f32563b478aca8d6a99f34cb8876b97145b2e8529ec8adea83ead4ec63e3ff2d17a2ffefb05c902ca7a92168378c89f75c928fc4f0707e43487a4f47df70cae87e24272c136d3e98cf59066d41a3d038857d073d8b4d2c27b8f0ea6bfa50d263091a4a18c63f446bc9a61e8c4a688347b2435ec8e72eddaea7 + +SHAAlg = SHA1 +Msg = 544be0a4044edcdc1240f2182109f826d784ea613486dfd5221d3ba44d1525a934c13c5a81f885f3955da8d168e35d1b909121a89f832d1db232a85647f51c084fc727a4854a737efd0ce72e00091f3617721ae666ad337d3b9d5391e72364b1cde50948b84e8cc472d618f8928328bf95af3fe3300dda3de5e7a21dd5a9e7ec +S = d0d03ccb3b30b7c9c4d6eeee2ec26d069246e019fb8fa2f3a9b72c9bbe231d93ce053df805a045e2ef6bd8d08bfb0c36922e5a6f10b947b2607f596b6cbd3c9eefef56f5396805e8b28b1ca182c78c0b12b9796aa856af69c35504f8acc7afa74bc0f77a1d61da94944057a9ee72d2f0a96cbaa2f64676f5318b71e56f519d0da1ce8f42db0ebe5045fcc726e39fb0032f2287918f9190f3fb3d4de542030441f6736c6205a2bcd2450eb411085311c7320baa4268fd2fd8bcc8ebfddbb60740cff0b3b00f618777ebcfb3468f309d923c957c8170727a5458ac2c9070f93cfc37d31cf9f1a35d0cc3abf25af8dc9e1590ce59ab39d01cf0c154ab8d0635c5e9 + +SHAAlg = SHA1 +Msg = 8a66370970925dda75609a710ad1fa75d04e523c508f8cd6ecbd3f4d15d3832bbf4a033d12f55397632a84d86222f6af95a26e9e05db68fe3790af445d762a82cee0f931b49bc12d04174301b4c8346528cc4805edce9184a92a07c1525268599f70426dbc4d4da54271ff74668c5b9e71140af87030ac6f2cd5704c5c2ee2b7 +S = 16da730c7ee6f3f9750aa3120f734f7800f2cbf7247c180f1a490eeef5dc637dd2da577cb2f41464adeadabcbc7324779a2b118c0c61c2829b55797de6a3b092aeea444d2b4080f15614e9da6eea17552a8e955fcec1873cd20bfed8ed2d63a950b159a0ac109df370ddea773a7149f1893cda82d84ace35b65b3fa9f7e4cebec8e219ba9a12fac5cf5b2449cb6d563d8a646f1d649dc9abeac829a3ce8f9823cb70877193690855389557adbdbede90df0c274986f09796abc2a2b16f7c8c6eb5b3a42b0958c3da16bc363ed45de4ff4357dd8c20421e4c3007f9b98c86a80e7ad0106aea059acb71ed2d81eb6f0dd758bdd9d508cc465e23404aeb08e4ddc5 + +SHAAlg = SHA1 +Msg = a8f41af433ff314d93e0d1e0bc05c427cb682697f6b705ddc3b32a6779d63526d438f092fdb3ddefb94511cfe1b745d9127c2bc8a5dcfeb7e2525d9b70325911108ecd5a8c5beea3e9d0228ae40f16df9d070aa78d997067bdf9b69f3a586094c4c05952c63f8bf28b47ad19ae555cc1d2d16e3c94358375be72dc7abd907137 +S = 2d69d08bb9b99a173a69a3221c28958161f5defd5592e3ef5cf0ef21f04ef7e199344457b363206bc2785197489aa83d0b330618b5d58edc9ffca4268a1058c4b1d1fdb39ea2a1afcf2024da3c9e1f9820e65721db4a0accc77254291239c83b46fd3af6ab14aa2e8c4e140f751744bfa731d2bebc33d30388f140e8111ce1f7a090005d78b48feaedc0059897e3384a3a31270eecaabf455f60b8377619cdd79484c292562a461ea96774e9883253d611dd4e7b26af83d19d740cd41f26d28eae5d20a85d16b374b991b03141ba87c75da6d23818f509a2547f2c3499eeb48dd48363f3f80bf15f2e2328116940a0c3f4d4ca6726c92814bbfd94ebade849ba + +SHAAlg = SHA1 +Msg = 9044d199a837832558657fdf67c8ea224f41317eef7f54ba84228519d620f1ddaf68de0a91c6f66ca807e2dbfe5d1bbeee05fdcedb261e1d22fddd564c373e46899ef59b5af8c0ec8d2cfafa6ea76e363cfe6983dad5133cc7fffe7950e7008e042e3ed569958aaeed1eefc31f6e89911f769a245352db215c71100a49f7dfbe +S = 176fbaea69c599caf946fc657b1fc958565ef3195931843dcfe5031b15d4c7a96c005da15f6f6550e5c426ec91c871b1c8dd0868cfd1de3b7901ce6c16fa2d39b1caeb3a479741893e8165910b46f07a9acb29d3a7b82ee6a1e06bf44155a8fc025480fe495eabce19e6728c5f3d812b32a7a14dfe79925351082406e14c7f591d931f1c514980e964691a51e2044ebb82c40eaace62ff74eb66b2dbfc15a08ea48c7a2a110fc402b7a68cf039c8eaaf437d5642a3511d36bc12f96cb5b6cff47c5614ef7cc2be1f139047a7c5dbfb1d7018fb8857216662d3f5af3f7e1cc696e9b1ec958295218448e19625a1e65ae92be6d60fde3d2e6a0b3093efcc7754c9 + +SHAAlg = SHA1 +Msg = b796c34f1d4e1dfb3010282bee33eb9da90e73f7ff186b0c0d4eed5be0d598d82ce1e3f041d5b0c73aac25c47897b74f4fe787d9fe2ef21de5a163a6f2c16c925d3b1695950c75417ae87f84ccdd1e72e3348344a198bea1a67a8b1dc2b36f00b06b0448013a91f1568ede73d24d478dcfbb0e41d09df620b79f0dc739f3c9aa +S = 9e324f827ca17e50fb0cd17b8f714d7da1928e1c586a83d437e9891c786644638af225e92841ca1df6d94e6eed65b5f076cae3aeb97ac96f003adddef6cebe80de99c584849a1c1832813cbb63fc619079252ad4d8881ef72e630ea06fb3b0e1b51bfa379b1decfb92e964cdc68809afb9d53b3c43dad119ba67b5ec1ace1093fe2e144d498b81125fa69b51814fa3c1230f0b42f9d7763b1447ec57bd0d93a96a8928bb7f4560be95fc100dc6430674107511f7f466a18fe102a7bb0c3536ee9d3a7c45631153cccf774fa65f20d07a5255a0902d4dd3c91cda03c0778dd7278beeab6afb93cbce0c9fd6b202d57d811dd7ee50331f7243168df107597d25a6 + +SHAAlg = SHA1 +Msg = 4b6308be5b3d99ee6785bcce2566047ad96adf7680e26b364e878be45b613b5d9ae8207d0a6a639c30acc058c4d4da95ab86d2c3254e1760483e80bdadd89804692e397a3e475c0213c52fe3a2c568ca7107d913034f45444f0a73da71358049a07b793e609d2a27f81730f52701562013331eec82ac9dec4c358cc411419d32 +S = ac402ca58c3a5e42bafb2135503a176174cf1bb86d5bc4a5d7f6b3e41251c0a6179df8696bf418ac2ebb52682a8b5f3cd23f0e1afb58c8b1996d486b90bfdf6d7c1e5e25575ae5b370ea3437d54a2f98f96d99ac601fbb93dc81c731fa10a6158baaf040fe57184fa79af7a4ea3606b08b329ca455f35cdf5cae9a9791e8d70f03ed8226031d7de352ec4b999e113c23e9ec16cce9ab1baf49ca090abf009389561d25013963f93d182c1b8e3ab6d8c563e6f8ebba125281e93a1f5b84f370ebb51b03e36212697b32b7c272f6e4dc0be86364020b659b1dcb3604322af2d5122e3b6b68cb26ec8abb4ead01f9b13d8a1a7db29331b1ce9b560158b4d89bb961 + +SHAAlg = SHA1 +Msg = 693b3235e6576d1f9d17b9d200b9b289306a1f03c0ffd2d7bce5d008e95bb2d94fde4be2f5e58b64eccfa3da8e1a6ad008d500f81658b17b0e321c8d20639444dcccc6aaf4e39c1144ab62a60fe428498c7e679ca154e75aee17dfeb0d885f3518ebebb46cb868cdad933d5f0b7eb29cc34e9b17e85b3b1d637c63493933da53 +S = 54b78bec4855765b4c51925778abcc0275b6e9f55419bb54ad66f0d8e7f3cf68cd3d5b299e634b2b26bb78fe9eaeb6f8826cece71562f9760554c9b2dade54922a367a937dd9c99e60df11a5daf4b10f6e756961f2bbff96d5ca3933b3bab13c338a46469c8b5118e8e2b06b57f0487c23a5d145c3308989d8e469690ebfb1401989b5677d1b9262f0a62d38753041ca6eb09069d4a679eb68d4d9ee7b64fc1e1c8260fcbaeeaa83c88ea603109e76c885e8ba1ee99ba1fdf37a7932398341f59771efca036bd9921957ec7b972125eecf2319f0ce39d4de21fd78e98574794deadd8f55bb8c03f47592d6877a1fa0b66d6d8009ecfe58a71fc07e021505e8ad + +SHAAlg = SHA1 +Msg = c7960decb793f6d8414918eae60716868bee1c7dcdf9ce30943b7ff9eb68a4c60f978807c54641cbf19fe22565faf2d5f7a21d24d6dc2a101e252da9a9bcfebb2960e9ad735ba7a91ebf8dfe4df004c2c96239bb53a41680389e70db251782723d7a9aa669d912bcef32823a47f134942ab7d808eb5a79c70a2db05507811832 +S = de64be44ee64131b4efcc32982ed33b52e58f3169139d002f9b61160dfed8cff955acdcf28165a997959491d9b20d03e4e297289a68efb1e9ec3476ae7253ffce743ba4abe64c1c71310d6a812b75eaf2c18e6745da146da87e85280ed8cc01f4330d51b1e77231e25021b7712793f6e875eb7233b11c9c003da5978f6af3dc51cce8249ec53bcaefb3a52c9b9ef9392a89051bb0bfa67cf3275318d35ca44dd71a5d67809be05c054ac97c5a6f65f73b7fe142495260c882cf9f5d5b455b22612021b036e1197803dfb1b45c522b69156dc549974b865c2d66d3871cdb7cbb12ab5bb30931a9710b2ffef326b3954872a56eb4e6274ba4bc40a1c19ca154cd0 + +SHAAlg = SHA1 +Msg = 6278d8bc32dc6b039f138c9260c8c90d98607fafaa824cea4fd7c74de60e6fab0b24e27a6ae25079d5a72e9695672f0efef470d6477cf23a98534ec463f3a45ff842d5bc5413f2f53aeef4708614ad07bdbefe65e8a64bb3a3c82c75716a65ae525a194b98773abef67244eadad62b3ffc46912637063d9f99bec928b67a9ae2 +S = 98ff167b985e030585d170aa38a1f85fbfdede90cb57f5240876aa8ae669177b917dbf8fc00852bf85116cbb9002f465dc09b340d3bf1a7f96f87fe7843d78e3224af76108d238260598b2eee93055593b714b0f3f422779155668ddcc2078c74cf935a298619c661a9fd313bdd5a65ac4edde4625142905029402a3bfbc111e16cf403552abf2af3bd11554e50d5809cc13af82ae894113dd04c65605de2216bbf66a08400566451f4254eeb02294f8f86be0600f35349d919a26272471c25943b53147cdd102d268ffc7b3cf98738d837823831109adb4593aa38650622ce8b64e94db3ed35000fe3c8c6cd068009fd707d23b5f94d0b3382e207a98e255b2 + +SHAAlg = SHA1 +Msg = e823b2f062bb10a41f3ab2a0c4bd110b2dc2846f0f3a066adbe039a6e5c8ab0ac53b5832fdc2711ddd815c26a4c6fc36e8e232373838a4ccff93bd3fabbdf5bb0f4d52bb06c02ec25acb3c4de4f0c605f450383af3c0e28d461efaec76e6e0c48e00a671c5dcd0fa5dc158fbcb62f6e218b39e5e87fa49157829f8968c6bf68e +S = 86f4b5c9b7db9cf7d09caae1ad6ab3043ce39d14c56c6e4fd8701a8eefd66a1792c89cc105f3657298b293894e999fb30e30079aebb1d4fa0f5c6fcd5096f50574592696a559d0f228d18d4ae8f75b508b714ffb3393a4e560b0d004bc4a0129387babee466e0c9b1a223f3a87450de0e4200733af92745c880a155f6d9cabba816181078fe4cd360ba25a45954f4b52356435964789f9503f889799e55a3f3c46fa32c5195c84956e56913cad423dc4c8a6ed7f17f1825bbdc53dd33d3c3b2612da4ce5e89622d62aa0205ee667a9dee276b91dc7bc67a8c1b379930aea8c8d26c4773fde955e4afc371197dcd8cfd6c619c2f0f57c0b2fa08ea73cc18c156e + +SHAAlg = SHA224 +Msg = 79bcffbfd6bcf638934b38e47a1b821dc97cafe1da757f820313989ebc01ca52ff5997abf5baf35dce9b48b8f0debdd755a8b81b2e71a1d8cd57ea4dc1b84cda43ff536dd1be1c3e18fe5ebc17d3a7c68233e81f6407341c0983c5a01bb3404a0b5739edb2f1fa41391c80d8361fc75317c248d5c461bfb8803e317f101b2e0c +S = 5cbc1d2c696e7c5c0a538db35a793959008564c43d9aa8ed20816b66ef77124eca7584631308d0fd7383be62eaf799b5e67e8874cc9d88d507e1bd4fb9fd7517adebe5d583b075040ce3db2affcf77ee0162be2e575413f455841cb6ea4a30595daee45e3042b0b9d8f9ee700df3f1898219777c21ef3695af95628ae64260dd2cb7ee6270fb06f52ea1aea72e1a26a26f2e7cee560ae0cb8be323113c3f19c97cb5a3e61b998a68432aa2d1f8c8c00ac92b0f35344710ae1d6d79f379fbb3dba41b46b9c814eb3a25ca64a3ff86af613d163f941a897676652e7c3f6769fd964b862dc58cc2e652d0a404e94853fb83937c862c1df2df9fd297f058bf660d15 + +SHAAlg = SHA224 +Msg = 8f27e8fbea155d20335395dd11bc9572d42e4c6009d5cace4bacae2b5c40dd1574b87a79d81212fcafaf169a11128f8d62e50d71de3ce0a5741e8bf4d8427675d416e3afdf052301f0fa0a429420a0a43fed19dedf5e088ab784cfcb6b3f5a34574a0de52577faf79f3c581bc16f307d134e5aef36c2a843bce561f83dc1f11a +S = 9a61223b98303c51dccc54d5fc837c6fec1720fa22ff69c277be46c388430272e3c8030d61b1c4946d329fd2aa408749a3ace2a6e1efe58b84edafec5deaa036341b40ac5310d12326fb65631cecb25c13fceecbabd4a87cea8f185751309d707c920ce87a096a1b942182e209f5d7ed55a18a58cd4f2b5249ee723ae7c858fc530e70730f25448fd641a35d314f5c511dca411f8df85b74a9ee8669095f5aebb4687efe052afeedd53eb1e6b1757f71c5622cc03dec368660ed50b11f2870587e277c48e554470769fa496efe5d161ef3e6d04003f2829f7affa6aab9ea54cf9e5bb794bae48fe2f92e1294f01aaef40e1e2a5bc99c14b992c1deb66afa7f5f + +SHAAlg = SHA224 +Msg = cfd6f7246114ab011c28dc654ac7bec465172e92d86499a006141aa88ddde227cc35dd6aa30a93ec79b44cdf84287709446e4cd15155b19a57655a4f5f15353f503e052cb5d04c9ec0c46f7d8f5115dfaf63d01fdf49ff2f16adf32fc7ca503e63d9b69020cca1c0f93f8e68f5ac60f0adde01a308a84c084ad62b6f4d64fcca +S = 2c32eed41bf7a1afd0d567063fb253fb8e6b2c9f21689c1c07a1b13c858ea085b932e3ce60bcb7af3eed96523a6d77fb92f996d2eb0357bf7cfc2532a6f584cb8be0b3cb545ce6a0a972ff83137d940100caa4301370c02dfce781079926ca6a38929d618a8dc7e51b4142d6cd335cc08d5c384a9a7de9bc2fa121d901ed342b470ac8407598366bba7e122ba993b3ebf3df5257096c56303eaa9f2fcc4daddbc135b76e2bff1112675982dcfe483fc9b1d6eaf19dbd0e52cfa2bdf58dfffa2b2ed38433a5b947beb40b83433266914a168deba84b4c522b88f6861d406dea78f1212d137ef1d17544de967ac5bbb25dc9d4464cdf2d0bc70c1b280ec83a5bb4 + +SHAAlg = SHA224 +Msg = d737bd2d037ec4be9e03781a6755bde384d3fd2bd2b91d947a5bb0b5c5ab6bc03101d962c41c50eba06424afd8711aac82d1206d0d063b2ed5cfc040f5a9c7af5c94dd23241af9041f8eb2e1b292ae13e6db5e9dbc39e857c1d1654ce3ad4d6083782f36cb82a650420b88789dbd605fd97a1f8586580e5866ea07a036c2e51a +S = bc61e594357a5cccfde0bf6c99fa1402e2222e7f1a416ca365d6715343b481d70ca6f2533af85826bf57f9ab3f173dab433f34868c9a9a7eda30921bf8c9892b7b26f0b64d01b5262f878c4d28af4d0ec0452bd2235ecbc5023ee0ad524fdc691fbd5cbee2750726000156554fb0dcd69358ad01a82636c90299c059b9f15c74ec6c4db2c754742c39ef6dc67eaff256fcd1058c3892e3e4c3fca89323675e9212a86bccfc81c2b6878fb1bdce1d2255d39457a387b5514f2a25099deaaf0413c5304f5dfc6ce163458c7f261cf8cc31244db7fb7646413542c543de6dacfce8b02d95b904046a9417b8dd17688cadb882077d663fea2ec470672f7abfb0d90d + +SHAAlg = SHA224 +Msg = 05320d0d47199301120046f64d46d274acda40f21d087749639202690003134b5940c8271560aee6c6bd84dacb4b41ad7529589768763ad444661c568595fbb7a89bde7190e05c5127b25d29489425c6ddd98e21447294d9f80517e16d3fdd763b6ad7557f42a52a7e045b4b8cc986a62d126af979a48e41c5967b747fa8c072 +S = ba9944e9574b763dc2e86d2189cb850d1b3fea01e03f615c1c56e0c632d436724861485328d67592c59483bdfd8f1c5887cb51a0660bb81f158b6fc073c363bc31f9fae11c06dc5e5057f5708866e7a486d0083c2a39a2a86982930229d02da7b669edad764f8224a511ed519953f5e22dda9533914352f9eb12f4580c025d94ab520ce80b14c61a4a4bb23a0bb89c092079c14b0399d841a998644f8cb1396ad54792f4e38a6df84d32bec940ff01e117506c0661b08dfb0b53f929f43f286d3ad94f5e47dec5d6c394abd475cf543bf40daf42a6ba493e95241c1efe91503c6eb9ffef95958a1a3f5406e7f22f543ae4726e3fea490f44ca09c8f82aa5e28d + +SHAAlg = SHA224 +Msg = a032ba951de84ef9d6519bbbcdf35bc4181ff2f5e5db96bbbb20b3e403468eb1c6bc282cb8fc65bb76be6df60c6c53b6bad7f56ef82823bfb7190346ea65b3b9457c3132447c78ca705dec6ade6bf8def8faf62b7f554f23d1f7e33668feab8ba4dc9c50ca50cf4e4c95e0c04bd994655af0bed4854a631092221c5c86f9bc50 +S = bff7b6c06d464ad3e5747641e5d66ddc7e5f623a735d6d0437851fdc0ca710d10c7e138266cf9a4ce95e41838e29678fcb04d7a3fbfa884e540dc7c4db38412eb95c68800910dbf91f13a9e129f8f82ac928cca1102eb625d9ca1f8383e561cfd36348879b0bd79ce6d325872de49aba9d6e84478c11cee47daa3471cf0f1993a838a338b688d05e9aae426a0281cf31ca7b6300251437b0b407057ad84157443384f186cee795677931b21ef34068318431d30b986ac80c75d5c48301455105892f0544288c90ad7bad6ca78acb82a48a9df9c9a6dc986de7dbe29b3c962a0165f0d47d2ca32976cf5e17cd77882385c95c943d5d38b0a6a37d169275ac7bd1 + +SHAAlg = SHA224 +Msg = e871e6cb03936cb8fcab5a87027e77b23aea33b9b4123b679ebb4a56b7f642b507007b49ce665bb2ba6c27f05cb01825dd0bb29cedb8510bfdb80515ae749f1389a50c14f071e22254d639c8a94cbcd117a60051f33a14eaed4159488b8193eed629413553fc2a9134b13917d09a8a3c5185c5e0ace0ab8bd720eef6366346cd +S = 71586262d9940bf8a372a64a31df832aae189933ffa5d03b636e89a33fc1cb4388e98158943cd97c678de28d4f9766780b963f112fdd6def391bcc98ee8239d2e8ea4a9812e38456c444dab314b19032c41b20efe647191d74853f0a10daa9a999a2c770db365c4c903cd2e3b2274c0583dacc404a722eb86dc456c475f2a6524affd016b7d7c24d4f8c83e651ea448b3b556aee7a33b35c3549efb961caf462d49db7dc8ed5c71a7d7d655a36a409808be865950aa5bf5d85b4b520356c9c002a1c9398432067b161a51675938bfbb4ded9bc4b32401fe2953593c3a77b7415b2a4ed1945f8417040b97697fb4149e8fced862142cfacdb096b4421ad5afdf0 + +SHAAlg = SHA224 +Msg = af9a8bcf29570b646bd2141e06ea57f3e85fe3cc258a00ddf74b5b320342648bdd42f56acf02346ad616bad2ee1ef56a8f3eca8e78ce7f80ab52d903b9ac81253f90ac5cb139fbd4565aa0089458c3906eb624394bd1015bf9cd3a67f1cfb3c0dd6cfacc57622a4af4860fe681fe8a0a8cb037f827fa4e16e8a4c7883413c204 +S = 07259c366fda803169ca35c963deba60af14dc1beb87685b3b078b781ad8af7b7b11a3414559d4e6a67e335bbc69ca8edd5ff7e71716d86b1e5bad37ca020d380dcb5e2d9b7040751015a061753230b1550e41fc306056efaa43473dda95d2afb52c45daeba2c25bb446828b7b6215e192f35f775c047430c51f591e2ea77f65dd9438597314677a027c99479f2d2e4175a2eedc1ae481cc9e840dcd62bf46dabd501388245415453adcd57c428c315f6bb210c323df5004dff3fb1f7c8b00eec7416012479177903ada20b1669a13eee4359c12b8d24972aeee73d41593a25fb8a3ad12f8662c1be87f37eef65b9796bcb9fe538f0fd719e886ec9686352a87 + +SHAAlg = SHA224 +Msg = 7d56334f1003356b971e13847159487b1228040a56c724ef157e624df824c94f8be26d0e933958b5a146c7e3e74597504b55fab4ba7a6ee4bfe8f03e547f6c48f892799401ec43e73415c89993d1483f76eaf688dd2ff46505bd7e6d397d667febeec0a90325de4877127f711c044390bc6f624f68ee9eba0f8476a050279d3c +S = 4681bdfbe70c05f779556f880a293a73e54526ac6f5231f45cbc015e7ca03767a291165e7cfcdfac82955c23a61ed30608a57ec0e1f2e61fb300289c5fe2401be5b08f20a37fa06354a5702ac40011553f16d90a1429c851558d0710313c8236859f882d46100dee4a3091b5742c747b8414e5e2ad6767bd557505e9352af40f187cec49ffbebc34c4ef33e6428dcbf3d4de34c4b782ac016203b7c04604ca5e7dd23bb78cfddbc261b396806444f1f91b1e8a5a397cb477fb510b6170b9bd8cc511e619e4805291232cbc8a0267ad94c26f603ec2f73d3807764a9a114e2042a787d62846f458b76bcb728cc9c9fdf67859718a4e6910acf06b6c222be867bc + +SHAAlg = SHA224 +Msg = f96c50dfae376c4f4dd0849edded04d74b995ef3bc35fefc22bc7f730d4b1ff0c5e070089561517369e11d6e9c20225f0b5055b86e1f431de8f14bc9dc6d0b2e033c18dbbb0df2a3a2dd37fc647516a5d134078c330eb9eeded54cc008b7c14edb09af22c9433727204b390edef6c8f1c6ccdc36b30b47b72defeb1f3a312997 +S = 5ae33e70f8bc701a97ff7391dde8a1b498177330d4ea94c98f4d109dcce74588e9baeb6eec783d68c10be45a9a895253d24b289087c2a901e213a21c88e7987c4a62a5f3b6b6e7c28bd1adb12df175dbdec22f48e45d441cccb1781878e5e531d726e3d8658da8727a2283dd9f7e78a8b46e5653128d95254978f52099e6cb230cc449893041fef63a48e499038574d1fcc3e1e26b6c85f38aa1cb14bec8c7600c0b7f391e006c9d5db224718c548c19c3667c43b5f4ce6514ba41bec0c2d9b270bdd5c911d92e2734fd11d0387a3b6500cb3530d87c2a647b1c7c05a4447a4139707aae7eb37c05fd966ecdca8b4c8d11b141cd16c4d47ba7520bc4d16c1fba + +SHAAlg = SHA256 +Msg = 6504921a97cd57aa8f3863dc32e1f2d0b57aff63106e59f6afc3f9726b459388bae16b3e224f6aa7f4f471f13606eda6e1f1ac2b4df9ef8de921c07c2f4c8598d7a3d6ec4b368cb85ce61a74338221118a303e821c0f277b591af6795f50c40226127a2efacce4662fd7076c109eb59b18005e7165f6294a6976436ee397774e +S = 335ffadc0b1b8bd2b1eb670dd246e76dcccdc955a1687a15f74aa3e1596ebd43e607c640525f89dda95809cfd065f1be4e4a249477d24f400d4d4c9438a0af95b26b28b416e42aa950e2a52851b52132048f1b1ce944322fc99c1aabb49b7fae4c2f0fef674b50adee3bbb5c6c33822b608e4b9577275ca20c710af9fc41b1c01d9c0ff6f0d8324dc08e1a76e232d8feaa06c73bbf64053bea35f1c528b2722764822ef1ff06246e75a9a22a10da4ea84fc2441bea24b35506f8447fcf69093c5d21ab0305cce2c7ea9ffac357c664b491fc55f2919ec490c38accbab378c252ac2df3845acff575ec7524cd2f586cca1497c74f24b299d6d6254c8cdb1d227d + +SHAAlg = SHA256 +Msg = 1a53a9d6312918f3db6bd5766da981854166ddf2b613ebc8793f50230308fd4563d50ee73e47f2cd146ccd9dc4361af1532c95abe96058891ca144f971f1a22e203a0a73183c84bf43caee8a0b369ee01d0a48b46df821767a1444e8d341552ddae96522c8f216f2f1ed00e54a9053792866bdb44ac58eb81a011a9830df5e6a +S = 7b17b13a5ce4485ca3b979be3b14d77532fcbac14e460a54515a6aa7d213ef1410cadd009ce60bfec45bf494514338913a2792bb6086a4cc21dbe852c2b57a3ff5931039973cdacbba96e2ee77fb8ec6c87c14ea10762e2aa9279ae5192ca1c87ededbedfb305fb006a51602e6bf4dc43b994f419c979b4f30719827a348948214ee71565361f668dbf81ef6e94297a3ccd68357fccca6dda237911c938d6e71787b3d4085c66c7ca2aad2db16274df23ad19211aa6380be75cf0b19257af4df5af1e62010dffd23b9742f5369e008224ee40331f2387422095f6e5afe0e125f855de220648a845cbde542ff7f99d926868819aad924b3919654483bbc6d8dd8 + +SHAAlg = SHA256 +Msg = ddf5750aba4be69c944d71896361f210f961ee6b38f96e5481500ec76fea510ac6cd37eba6e21249059f95d55ce32e1a9f2196bb73c1a6fc9cc36c84b4a67e6223888e4d4b8e3f30038637e647cb75412d69e5521b8232e438f1dc4a202c8a5bdc6fa1ba1117155b774c80428de2718e8c8106b79904bd143e2087a01b461efd +S = 9e32925845931c2baafbaca8df109cccd922ba72e6f4b838a76198b1f3173e9069ccf75d0c96d6e2644ade92b29043f6bdbdcfc8b0b2794b4ee16b1a8ef8eb2dd2fa3da4bacf7659e43e70d69c132bf9cb1ba8584bf3c1e0a7c8803566177742c977e447d357fb0331dd3112e7d3c0f1b5772a7cf5e1e368cb58b1a18889cff9136bd56b5cc3fe6bcfc5a9f26dd60715a807f3c7ca236c89ddb36ebafde62b35a624284121f56d81f5a4d215b7a36976eed2c78a3c44cc864c6a5c01f4ef9f54efc4beb947b96e9aeb50af6221dea96d620baaad235e9ba6a003fdd39f31388a4c3579dddc0a51e879e1286ac142601d2e5725c1ea9d44aa896a12d29047aa3e + +SHAAlg = SHA256 +Msg = f866ae4a8c37ce71c0e047ecdf0b6bd07f8b11adbd92f363ca245536a7cbe8242c8ded754f1b9d95a34bc91f1fc8be3a21086b28b27fc61c0c136b4c5acf8648bedbf48a98aca54e067845a4a7ed1bc3a52231a0f2ceb5bfd1b89f49996e9460b53a0aaff052ae45f04f02a3ffe04b1312c0aa3c03e589f422fb3855ec10d813 +S = bd4d7db1d17c3f56062a1dd4307d939ddd403cbf04b0866603541fa8de37ce80bf06d796efdead6963f603d81e376dac20454c4964c1e6fa347c8dd7684215580779be97f94c8279efd0169ea0cfdd282d3538bafe067ff5ad9e624cbb24f42f1811287fda0903afd3b516875a8ebdbc81b4a63286a35bd66156f657f110b9909e983043133cbf0d0fd1cddb4a3e1fe0962e412af91682e44262869524c92557f5d8fb385fa16e87304aaf534e90d256684600381770b77629d1a7e8f4cbc9f956a1e0d2e41bf57207c677abf6f38094ed0e6ad4810d49eb09b51ed29ad6087f72ee019a4f99a816d142c155fe91c93c38f928fb1558e3743d545ec3cf8ff4b8 + +SHAAlg = SHA256 +Msg = d737bd2729d1835f243983fbc152a19a2e659a5d211ff3006dd92f4ad31d45a81a65511561258a3cb50c74e1df87577d7f88ef285f8565bc01c37e387ad41362835fc1b1ce1fe169962eba087a84f6e18bba5307a4149b6cfabfd64af357bec23cad73c416c6702ef027be383b4f670f7a862ec098d57d587f569f49e6ae2f10 +S = 581e5c157c6b960933bafa5d7fee2746596db490a57761ade4aea0f76ef658d832b603e8cb9e03a853be53e02d4deaec2e7764e14415173516935db1b868c8f7952eef47c0cc57f011853b6a77ec99b56a01c0f4a1b083f123e3dee8ee1312949789b3a410908f2afcaf81a18ea6dc685301d471f91b1d730693329616a4aa460c53825c3e24469571de2b55fe7b9e2ff5031b2d3e2aced2432fa85c4ec2ef0356c23ba81dc589a6aaa470d15555636337014cee7c6c76f5ddf35e1aa0aaf342faf80d4674692b902c8465f60a8f55d6b3c2d3ea5a6bcc24ccf3fb3df7eb0e50c845314d26ef5ed8141b73f79ce64d25d0e647d66c875503c921317892d169fb + +SHAAlg = SHA256 +Msg = 10e3b453719469227b51da0c41b5cf0fd94b32b6b3960b3c2855aff5560433ea2ca627c3c1c281ebeaacd8ee0b05d3262d85e09651f829160487c4b13439294b42baea86585a9ee7fd581e35e761f5221054112e0c48bfc799d0d6b5787e31b57ba56364e063a75fdddf16a97cd01d4da93f2d44898db4980eb74dcac9d93372 +S = dd2ea03939bc68d1d40835a099aaa3ee57a4f11e30ad4485089074d345e57363bd6d3c17b86cf35d0629ea91730a0c8ee364ac80a016cfddb6875e1bff463ae284b84959e52046945ee916256582facae719c33c6e892a3a7aaaacdbc300c76486633c8720e6207beb6401f1258997a0bd33c752ea4799ec99685ac1fb9066cae45fc861608cd74aadb367fdebd28fcf88f52ce4942f74c8a53e809fe4953434d6484113501a40605a11c460bd9cf290e37efe33b161b96b63c2270dc1c3669100d1085afd738cf8723cc9f232f679ffee07e1d536a7d56bd2248f37610fa582671d6414440caffd10aa3d09b95fad2c2c41bf0ca33699cf0749110f817a4f63 + +SHAAlg = SHA256 +Msg = d130b2fd9a7a1f118a5d9b6c4bebc0d4d44fdbec8c613766b2779f74fc7d1e7f7e48091cce273f3c66bbb0a249091c9beace1de9491268005f005075bcf58cb36fd739f026a8235f965b40a71de67d95a698bd0dcead1f474520803876c0424d6a864b5fe92650e4e3e453620fa96a2ad256c3426258e5a32b7d38a47205c8b7 +S = 2b6c07656b398f3b3387627f51aaa51e8f905ef07d7bd82b355396bf32865227f5bf3e0cd3e8e1aa44841e4028e61c58cbe839fb8b7582652c37f7fbf8b51fab980e76635c38aca98b9927dc1e5f17633339d6e903be5bbc65fd7a7a928ddf459bef84a6370c3258dcc810cfe272274d06a1dbed89bf121be3c1699fc129d55d3deca9d7b10de41bd7f47944e26d0e94be9a708b10b3a729ef9ae59ac986de71fe4522284873a19bc177804ecb9acad651055e7dc4f5d29590ebc6d6f965a51dc5b4589699e01ac42aeb579032d5954f160cdea380b0f3c486124bf8ed8884c6861388ff7afaa2fb0b07cc999048135378a16e006d83a98837d259568e89823d + +SHAAlg = SHA256 +Msg = 811fb8028f9c8ce411dcb6ee9f6b9db60928b9ad8da65da14dd3d48600d7b075e73f5ff5025bff7a85e4732b86e2b7e8f8cd708cdcf3c86fb61978303e6526b1597cf26247e74cc31ebb08247779b4af673329a9b1f060f5395287dabc765406bf1c9ad2c5081ac7c5a89b61dbf63d143ea00a8d7266ce3abfc4280ce1d2e27c +S = c33f9dd337fc09da689d1be3055719701581c3c1b41ff7e574db6976ff7b9911c5a4382c9fac346b8dd6ef150f5d194853df3be384acb03b681aab5c8844e31d39658f731417ac942b88b2bba674e01eb151f35add8fd0e65c4738b7150e97c20e577bb320d10f872800df2df55095ac67b2fe4b51805a7c6dab3c288eda94c91699a7f85929a3f98ec92008bf884d7037affe0638a91c540c351e2cd41b3b26f38c4ae7033fab2115f840a6df4c08173c7052499ae817052c068c6c34942d47a0adefd40eedbc7cee3f4898c044f05790334be9423c5231eb5696260ab8f7d6fc6e5b1b86a7e362541e20513294b9d5206440eee2198976584b5840fa68e5a1 + +SHAAlg = SHA256 +Msg = cedfd1c0126a62aea3e7a30a7309c258c69ab7c2f028276760fb88f5dd4a877a10aea67743d62a37687d345e5d992ec56ed568851c4203521c490f0ba3e5f08ee10f06d1cb798d2f1e7ec1ffa159466baa96c880e3c7df814e7835818765ea304aea37f634ba523eced49215c7b3d4f381c51dd8d01f819bfe6f437f12323d08 +S = 18c454b50814f00da88589f533b87f8ea5195bedbd3e1b2fcce3faca0ab768d71d930a28b29d24044c231c0f24041800e762cd7271c545cdf7f9913f86caa5ea493d1a994902f9ecc1c0daf1c571c2aec78c4ff75e873fef3d6861432f227dd5de635d2315c93e10bbb3cbab1e981ab547b53383143153c0a4a3ce2d7576d89e688327f16636f3ee38f6dbddc0ed42af36b08247d9c91283ee2c52811010fb0a10a3de69b6e42fa11ad44f76f4766b9d6fd0ea179790cd37ee5aa22b62b8010a242ea15c2d0f9cd7564f1645b65cc438093944d60eb0dc42afcd35b16c54c9628070e5eb93826003c84ae66573b84a623a288997bc57a87a3034a392a4e54b80 + +SHAAlg = SHA256 +Msg = 7ad20fc0e2886691319e5c41a6e4d438e30b0bcfa95a7ba8e3a20040e6743ac7f791322f0da24083d92a2c7a04b8934cb8618cc4616d8c96b55187f4f2de585c66b763b4350879985775fcf3e05143cc84113f635a005f7de034b2fc40c04cb2d12bea77e121d979b26913d4c217ac634f036cd51b79be036d32c8805883dc72 +S = 3f48d2f019745b091588182451539c3b1c761016a8d3bf386b3ef046e75c23628be14aeee1db6bb876485a2be2503b39603ed9e07fe35f61cf2051bd8e4ffb281ee960b171efc49f61be17356343aac7d260a1f2b29a77cc81dff36d5d5e75dcb11151501c621e0fa1883ceee2b5befb8b95274f0b3b3f0af0c2282a3527a200346f27c7a6755a5a4f5be9424967e1ed09a312d0d910156dd8df5f6f209ab5bc05b86f02c3d3bd4526bfc0f92e3542399592b5ff47792e3fc8b11e367496d7af6013afff2c433f91f9ae479ec70116e0663d53f8e4de053a0da5c93463271564768a7c0df098d744758630659b84964d61aa940ee0aa3aeda96e8a14dbe0f813 + +SHAAlg = SHA384 +Msg = db2e9fbefd9832d29e6015b976734ff15a5c1177a9153b38e61d22c8a6ca9056ade10de054645da32eab4ad6eab6a4977bc28526771ad951bd301e2f5bec6911af44aab6cc0d30be1e1170615261026170edec3d4a5123a81af24f39674acf642880fda92c3cb30bb9b90ec4741c71378004cd26ea622025458b3c4f918bca37 +S = 211398c068e60ae49ee2b8b7cd96171373f4664cf45b62415d9bcf119184c03274aec2b3f04c598043d1d8642d53edad68d0e0bc33fdc65ed69334ab52303c839cbbaf0586508007dcf4ad5d297f568039dc16a1e6c08108a0050d5dcf47523e4868e4be72f20d789b06bcb92484efa2fcd903ae280f42a509dadbe62dce1c6d3aef6e4ff78a745c8500ff0572748abb1a220495c1c103a72c940206347c16ae6082dd1e4624525aa8ed8f118d09be2b8535d042b29ea3e2c6ab3c990b4b59501c3bb9d602c7813a55f4efc129f4dfd0fabe0cf6b8c8c1d9126c5440cbec5405722927389b3ca80a0872711388b5b099cce6effedfbd9befc9646ea8a258fdd0 + +SHAAlg = SHA384 +Msg = 6574a1c157e1d5f399daeddd816c9410b0c80862f3961ee4678b8514e13e4e548c37ac9bd449f96b8323fa032a2164d5c3689f3a9431c9655765fe95976bd78f5d3d304c0cc22fef8a5882faa0afe7c0a4def21e55b00b66063fb69cffc517e520aeb53cc7f27e67f4a10b29abc026ba9a538974fcbbe9cfbd42338fdff5163c +S = 03f393bf6a20677a92565076e7c628a10490eb41b4509aa6ef99acb0ab889ccaeab98617c59dbe499231396e9daff7a2bbaeb3e3a10258d4f605b80c41d0166c5f0a175a7b42476c03e57f84426f4de98d74829d40c01453999cebb996c41756d47f0b79fbfdff2faab111a5c7f07f8f760e44d9538fd1e3b3c4307a79158e7dff4eb0f0e567bfa0b67d1387310ac4f390674357332e85847c26fdaac1dfe7c95585a604bf70e3d4a33649c6c4861dde05ff11cb5e60ae590657d3f455e6e60ec55d1752493768c92ec954f25b780dac2246a50f87cffc11ce9f78c0c1339d9a7bd9cb7e747ebbfc5b6669f4f46944e897695171727b89550e2f9dff74b3de7b + +SHAAlg = SHA384 +Msg = 9767cc530ca77270c9734593cd5fd811ea852df6c97bd79d2e825c7d7d00dd467e31f92d5d19ee83f5bd018d4d9221906336c72b295e20e9ce106e173e12acd3eca27066cf6716d4aaa81bb191bcc735a9c10f932f91b987bcf2c12ec70dfc1b6b22fba76a793288739c59a6a0c3132a4390ced7e2fcea9d80921d6b1edb1646 +S = 5f2a2b0588373371b1a9b446a2a75a10f2143e7a4d0c0b766e217b7b938eefcf8b1a46ae742f9a390c3b02f627f9287fa7126dc1e571579b87a6beb860a012e73efb7df853bb31dc056f68373a91af044592b2939fd2f4950178bf83de1f0affe6066dff573c3a1ee6d413b8dff77200cad63a29baf63999258a49e55c713281ea71e60ad2078cd4fecf6bcbdf5fb2121a32191543a16e51de7d6bb0ca0c897a8d893f00f642111393148f6acd417bcf702b318dc4c4010ab1e5710a5b94f411bc5cb54ea3bf211588f2b7889cb0c3af9545e9a1d5326062eca6bd015f4fc383db371cf6407eb46b501b19a862ed1ef9e943c9eaa2aebc9b6f203e39a9e692fa + +SHAAlg = SHA384 +Msg = 974cd6e98a4c88f9274b47c8da1483923bf4213dea137c47bd03aafe1e9a00efaefdd8a02ffe9182a0a8d821a917269e3a8e8a5f70c3a905b87d039e3661781c68090a070657e46e2d099c23bd8db528001668648cefa39a6a10539c77efdfbc0b98f484d90088a716961936de1c3617d3b541b4073f73f01ce2205fa9e93db6 +S = 9c36a3f2750370dde85811caae4d361a7499f8ee1ead65803fa861100086ee0f5d96cdb33202916c34b7d86128a023003bfb55eb43a19693fb32c17393b77777e34fbec701d6d0daff8f89ec5c336f68e5f680da08bce0e8e567d86601c2ce076c603ab292de50c97857fe34d59f4105c6ced054e5982397cd9cbbf08ceb53bdfb90b6d75f231a601098827186df27980736ce97e40974c91011691c2dde453760467b094bdeaedfb0350c1eff96f236af768dea38c65f520cf0b36512df938b31f9f74351b221405b1cd04efa7634ac7e966029f45f77afb64bd7d2be4e5922a150d3bff36f52a155ba4ad168036a440d5060f2ad6e323914bb475a46a5d35d + +SHAAlg = SHA384 +Msg = cde7aa5cc4c1185b2aa569af9c4cc6ed261e3ff108ecb52ebae1f7422db62bcd54267084e3a2c18157451cdd360ae481983d8539e62f560be22ec3c6e7b4abdd72df0776e221cdbf7c391481b26278f7a5cac0e0e845bed3874377d34800842330fab85b49a803bca36996c199bb48f655ad390d9797b52fb1085b90d7007e46 +S = 2dbb212c33cb755b5346a04e428ffcaee7978fcb2a58254d7dd94b6d266ffd3deb9bf587cfb78f902fd5cb1d9bd47bea3759a4d89e00aac35f76ac88f291b71ad7805a7e42d828a999f7ce971697df2e04724a35cf3f5ada29e35dbb4b742c31f3537baf8b6d3bb5068a15d7ee611450c10fba365860dfdf83bf648d48d9af7dcc2f90254b65b50617036a93f7528a1bb848c6b4e5e319a8fb08e602a7373a9dc4b337652a04b548fdb1d3153820c547bb4d3f8ac1b3258ddd89d7d6d3742dc5ad5c6f455e4bb7e8df6b640b27f1e9e42e839bde6033beea394cdaeb576863122d1fd5c5abd6eb367194af71ccae198f2a4677988c5913aa3ec2942fad989590 + +SHAAlg = SHA384 +Msg = a48b30a2dd6d2629476cb424ac7b0fc014d29d9939930b7f3bad9a7a9500b90b50c3d9b576237dbcca2d902db6eefc1e85d97837d269a17240074d1e6c2d1c2a20cc50a0caebde702c91c46f54e69e9fcf9574b11a74d7c859672c804b82472f7e6d3c6bbf0d71ccd560f8f26fa91cca5ace3a0ef7fed30bed96dea71b4663a2 +S = 16ecba74f9249efb948dd42bde29cc44e2597ded40a345c5fdf03c485080d2865138e937c090b93794b2187b6d7ecbe5166ab311478ea93fcc7143eae4106154bf2d494652163ccf1b4df00b638cd01b05746f282b1bbcf12d9174330e665676620d40907119299769e8f61e56e714be237ca861197807fde2feaeace31d0fec0b3088542053f7d54e1c30a069b3967ceeb2db7a1f9f6d0b673ad279a185d8730e4ebe402ad20280bd7e7f286ed87a25c6c1cb3c66e5cd048170c9759dba3f49c3adcf68c777f3cc9acb4b17b27ab7a36a4d6b5f1fdf8df91813c6378aee60559d85a6ee7e9fc8afaf3118dade7d7a0a8f7449a098e8293b59359d967310cfb6 + +SHAAlg = SHA384 +Msg = e25879fb75fbb80255b7abf6536cc05c71642a6c9635341586e8d541105a855a8ae3500d7a36294e9688809ceff51786691f116e6e184c8de382f0375bf448608ba0d160ff3391f30bfdaa8403522fabae3036f4f9212fe2e9637433d3472166cfd7257b6abb99fa9b5e5136f94cb1d32adfc2869f1a851c7ed588bee01ab673 +S = d3439a1390fa1848a7f9d54078538d3516cf17b535d1c86038362c21f8aa593cfd0ec2e33aa68600e1c03e4bbb8f2fd174b82fb83059fb8836283cf4ba288d1ecd7b48c9c49385aa9d84eb89c304f50ab1d1f65765b7641247a6c21b4d66a3a54cf2af11cbbfc10755eef49c3df81b9b53bca992e88bb98de1e073299b81dfd97e1aaeb24612d5b73c0a97f2d0bb1e2bf7eb452bd2cc51ddfcfe47d6690a001e51405a7e93d8731bef1093dd21d1e320a6aa011e973e7e985e2de59a000939e201b0f1098444f422b97817fc60154ba58a27ec3a82e27d998b9b3ab74cc4f95101635cce10c0a8d4379878183ec7a1b6f6cae94c72e756c415becc2c211b260b + +SHAAlg = SHA384 +Msg = 648de8c418551dbbb731a50e33943671085e3d6c2a0273a33be8b15a0210053819f9054be5c1634dcb8dc226a12bc8b163f675c328fab36a54592e720eee652ef52f02750e5866ea01c6898086a0013e1abd6040f6c2c3ff418ba8d285cd00b460f986477c634e19c0a3a126c83b089f937ba7ea7ca2ccea6c46c8804df6fe52 +S = 34de98ac564092d4adcca85986e83402e65982813aae6d50f2a85af7fd22eaa61d475326bcc6798a5f34b4736c8bc0bf591c1091d86a09bff46199aed1ef78db34e575c1ce4778de14eac3a1392a62c4b0854dcf5b3320856cb34c4237034efa1e551ff26f93a86ac0a474de6dfd70cc49000383992e6557bde5c4468628d7f1cb0ba987ec39cd595757a48c25510461fca56308c161a0a79079fc714f0611e0f3fff11c2b36a8f504ca903d71645c08a9923185353b454e78843e2ae692da656c7cdb45a80668843e9154b88073fa04b947cfdb6f5b97e6742790f8d485750148d3b6d0f7f8d99a7a8cccd21c4c8ef3757b321e3c05109aee90a4c168ef109f + +SHAAlg = SHA384 +Msg = bb70b663d157c330c79bc603ff28c35d41b371a6a4054122b2979b22c7606b77baebdc2cbfac63758c9400e2bbe3c1d8703e87423b010c8440d625b0958745fdeb10437571f95dedf5e27c3a4c60baa2f5072191f9c8b58d157eb56c1bc31fc5960872a4ade5b7824aadc2747b46b6a21837c7fba60344277bb6d4bd23bd00b7 +S = a9f9443f14a80195bd6325606d675c4acc6d383777eba9440b9557cdc5d99d221732be50540410714b40343bc908b058aa94db2426afca198b01188fc2ce530e7552b3fa3c1dd90dcfddcb5582303861433a465aac610410e45cf2a699c7b364ac8d72493e538426c454b694ac2dbbdda92fc5ad0b600dbf02166b1e2b21ea470d7df34359925c29d6284922fba05b7b1373dc3ff1a4e8e0e8cd68efeadfe7bf5289a4608aaed23090da391d30fd2dabccb7e938e128bbb37bb4abb468c2c2eae597de1b964c40c691d694d27fbefbbc2876329260d02cc63ee711ef475582ee4de3b079c1805bd8c90130bf13c7e52e955e58878e075d7f2bffc75e9badc882 + +SHAAlg = SHA384 +Msg = 627accf64851e9f19bc86ee8698ae687b950b9e2635ea61525506d27f216cc358d3eadcc57719e9666418139d622857c64b555ac384d8f3e03ac77b54a0dedc602689cba5cf17515e2e15c75c37a20bc6b45b171579f8d6428737c91f6497d47e680008affd755b539336564d79ca090f78836fc685c8ad0bb30e4849dd26500 +S = b533cf67e44e2da3c4acd7cd33af394d26ce2effa55d7b82d31f38afa71982217f66420ca77fb94a0f55d5c18c5e0182c3ea64f4fdaa3f62b6e45482532969ddb8a98acba36217f33211567ee84656f2d689440bfcaef4367e7bbb2d7b59b9371786813e6a262d97a6354a5d704d05b26d92f8b53f4404b482b787aabf20ea512f10223fdc97601619aa9629dafbf3d0611431abd82dc904478e119a972a7b4df0497a2e4d40a0565587401e842a319e06f101b2074e3516d07bb78733611adf2105e3ca30d24be1c925af3d377eddd0400c273d673f6b03ccecdb5e32dd894b8544af974ccba58a2124fbb7152add4182b553d66aee70afcb2193d4db48a0f7 + +SHAAlg = SHA512 +Msg = e4dba4692a6628b501f776fec7fe973d655154268f669bfd47c624aba3be5311d158619c588ab71aa0ac9accb52f0dbc488df350f77c7520ce67a3050d1e5e722bcd75081c2b0e64d0f3483cfc981eaa1c358fc7b9c2fb7ce78ed19513e96717fb2129d4feb1f63c96b4c77623a092b0ea306eb35da2f7ba9d23f4843d8837a8 +S = dfe58c84ec3ee5f11b265e8e7d99b416d8e7b166a38d2b0f9027be73887fad28947994a2bc227dafcb272d2d410af31afe16b96f51c9ddf62b417d03e2af63ea4a58d41e4649712177c85788d837fadd223c4ea7f635237a93b181fe1c0fd3bf2d8a7997cc9bb6ca099a0a36c4b9e91aa780a3d5edbc283cc316a153a101fc8c33d0035e6c1e1aca731ea765a1e5fe1406ef7ba8bb8f335b8d2e6ce0b9fee2f5416e4536b280fdc40860c17e9da6bb361128ee53754bf68f54c2878a4ac4d349703066a6fb96220e15285fcb41b398b4567c0c167762eb6ceb4f0537c7fb7103487c78a98093209771fc4f4a9821cc8eb11f15a0e35c54f6d5d31d8e8646c229 + +SHAAlg = SHA512 +Msg = 0ff815e8e1ccf66c1a09c3b1875953c44571542729e5d8395e4110f2505556d3c9d0711d5a111542fd39aa99f8854e5505db1db8afa2b084ffd7e3b3585ddc67a0954924a02fe83dae404d8c8994e066844525cee78c40e992d8b8b3e31d7befda6f22647bcf7746744534f3002f0ee00bd8f2d2974c8f515e6b1459b93d3b54 +S = 19c45bc7c6b4445a2e4eab511de011820ae0a0483e957b922fc303b2b3b94b31205c0eb821a8f33b3ee53d16116c6a7be99595b2c16cbb1162f147e7530e48c60861411b595d4e7d1a1e852389eb98ca6856e99cbf121377db96961b4a55478f54e1cc0ecca349d298dd55b7dbfd9a1e97a1e248ed9c3e4879189925b1846010e567269376a5321476cdb6fa6ba3d358ccf737964457765419245e53bfd006753eb64054e9f83eef419a7cb99ed4bebf31823e3f8b6be81833ae164774b044788b4fdd6170ac499ba60b87e8b1515d4d1fa751fb4f74ea674290a1a8f24c0d769d5d8aa60ed2e4f79fa7e2aedb42e5f18811b90d96041dcaf41e25b7b2e3e998 + +SHAAlg = SHA512 +Msg = 646919bee4a47d978d4be19f1806de5ef849a98433d68a877183908e523d848e054d1bb217da6f0188afb03b243f170310e61c43a472e9cd78e20e3ec26e7628dfc79a702f9ff4f4266cb771a069bda575dec1b04ea2cec0b7def7ed75134962195ffebed5fcf3ba8f095d0b348db78a4fb9ff92da6d21a953feb4631337e484 +S = 084fcf4ce66c15436dbaf057e9de7dbe99a20fdf1ac491a920580a6e3b304629211577daa07a38888eb65fe9507e91990783e05f0d9820afc37623ecf42241c66a8bc7ad0e0f1f43b321fecf4a9d76106d6040588d13b58aef68037f73500a8d34a97117ea41c0d2ab51425eb62d863a82ed56e7082589cfa3d55facab67590ed603fa8fe89553af279f36bf32d7e7f81f24f17cf066ba66d090130a7ccdc44848a23b691837f51f589ce3076bbd53088e80958681d4868b0f957edaf95e175dae09cecbbdd39e01cae14395690a61af5d7c4ae882092e840204823a0710e80f81c4011f10a6044c79a07374b75f13843ded1f7ee3fd9abb85914f1a25b3dad5 + +SHAAlg = SHA512 +Msg = 32d9829c40eec978d8db1b744f7784b937d955ab7817d3c8a3532cd282f9af30f4423b92f7fdf8d4078e4625a737f3683d96b1da226fc7f5faac069541a2ff5a2796734d9e800bc6b10e498d17ecbf3f08437ff34f80d21ea1562db42d06609074de11165bff69177e640df4c820500741e7a73e26d05d093f5987776dac3b9c +S = 92f7509366d0d79e4a350ceac7597481b3c4044a7658f2aa65165fdcfa0ba95c9083156c9b9cbc220fbaa694bc5ddd5405976be45845fe9a2facd2bc1f1a37913541a918ff75a8ef26506654ebfe0501ad46bd57e386926136c38be16d004b1c8c3da23c58632ccba96dd1857405e4712488c2c84db20f82711212222def48ea20efe09e5b476e28a60170cfdb175c7463443f8291e894eebe95df13b0f5ed0d504958813ca990d2e32e969c58543f77ef52dc6f8ea539107a4dee46735cc49903664ca10a902634733f275a0a1f145a9bb912ffb4af550ec08ada902f152164c92e7117f2f2649549f59e1ef5398b515403e3f3748eae0b98a0782e30a9c69a + +SHAAlg = SHA512 +Msg = 049b80ff6c1c1445d472a70b470c404ca0ea2e2a4c52ef3e51c5502c8f31d67a46685da2d9d1ff65d25d376325bd46e9b9d3d60a2466def1b719c575ba9ecaeef827a3477f1d6455a115a3673e00da1f46a10c807945ac4771aeba7fe3502f5022c09b18e4690dbd49813341193bc2964d3e18b4d25721ea896a777192afcd47 +S = 844074eeba279c98b763fbff66f7324bdce04b27acca85e4d5abe514605185bad21207b62a427fce1d9ac2b2f0d0260d45160a2a822abac1da0a966836521ae6564f38e996538b4af300de69c4aa0a5721e8c89f20320e4e09ad1f99b6a0ba3fa2b41330b84a890c30272f6312b2cbad7d38336faf92a8c4234a0814ef662f62ca3ebd492f805457613e04e241ad9516c1641296334228cccf24562d69ab45352d30c68dfc7cb7e1159bcb5c0becbdb3ffcecb446d0ea2507ebebb6d9c8d9388d6afbb67c5f35df343ad4c23e0b65be11e0f8e117fa26a6abdcfe215f8b0466d31d6168611b71dbcb999233b50dee5414e54d444c3d3c423dc8c58813a571058 + +SHAAlg = SHA512 +Msg = d0431397e560edbba3e0792f37915fd296e3602cb34a2ef6f5e481dce85c6781330edbc4ca6c9a4264a0321b30735cfac36d8b4f553dc5df2e5cb27f5beef31ca5e9b4ffc478854fcfa265d8f727200a75aadc45c115ee54053af237d1b61a25101bc6d13b4e55edcc2d3becf675540d93e379955e9a505b62c5688ab27d85a3 +S = e08879c12338d9eaa5e8648351ba516941fdb52d6578a0ba0cd88e1637d041ece35bb3a4d6c5e899ca3ecc1b74a92354a70940f0f83ffe25a9afca901feb6ed4dcce64faa100ddf043e514426f4f1e6aa9423247bf1e7ce96158ae8f1eb1961ffae1d232c13504e99e09f0da7513a2620e88d05acdfbb9644748df12475d01af7a17f35a6971d4e401f62a903018f29c1b76fb8bf7166e19d774d318c67c834c4e8b0cc0b4d36a54586169f43ddb1f269e62be363222bc1a1d1fe21b488afd539b5f8e87ded67979e6b1f18f8e542587aeead07c91b435c933e5acd33ecbc7da8b2094c50f512fa9ade68c3c40ec9649b0a92c720760e5afb7b6fd94d6c53ace + +SHAAlg = SHA512 +Msg = 293bf13d84db45e8cc67b4a0d6f259213e365323adcd232f58a555b0c9ae634de2d5d6761f36ae3d1b8d046856eeeec435b7a3bc4ac2df29d6df896c8c8194bb98b723b8e05ef0488a96eea2be722da6adf4fe71d238592e77ef7b2e7c0fd33c54c91f2a50bcd3b02068ba7797e5df70aed4ae6acc9757e444bd731f1fc0ea78 +S = c10f115b8c930964d893552075c50f9c606800f446d4d80226ffb15025e7a0ed9cd329ae7346546647538a1421acd82c0afb345cc59099f30b94f812d5f5d45bc870d6a7a50533dbc97e4488fed26f3061a654559b18a7bafb3b90170020c0967fa5a11d1359b561c0edd562fbeddce8f697abd19cd3f58b9b0a3f5fc131bb523ac2149ce95f3c5ffc2cda3c988069d2675d1ffec29973d5bd7b61c64dcc17367e50afd555ea78738b75491eec3e1f0b78fa323e06bb9518742602f341856d3575f18ce35f4e4298e124e4537a3de4203704be90dcfb841225cd5be4ac694c144e238345c30a3ca23accb7114ffc0bb89a146bf192a6d78b3a324c8a418b7af9 + +SHAAlg = SHA512 +Msg = 91a914707b2c0e33585e56042b50889b1f8ad9e8b2a15b49190c7d00e033d1e4d2c91356185c6677a52ae099d13749f3439c20981522dfaa330f81ca044040d44d78a3c952f8b80d3e509ed3c47447d507127c48b723220f7dc1bb2f9a383083cb5fcdb16f298d5ceb77989b4e300aaa3194f6e0e2cdabe1c1c73515e9422759 +S = 77d1c6cf1286cf21350e3d331e8fa58addcf796dc680af1a0d4260a3b4df256bf04870a852129fb4a950c732da2f7bb06b414d52c7c442b3af8eb0a76c3b701efa66d57b2f047de994ee209dffcc6291587f0de4f695da12300d5f74d0dae002114e0be8babe21dbb031ea3c2aabe922fc822bcc973ea1c4b0dc0e4f85f83db4d02cddd238e68785e8a31db70b83e1adfe291eb63d934ec9c7b93d0b369a59215d2421aab831bfd3b9a6b1c518853492d87c577290c446b5a942bd4d2bc76d7e8450eecb0debb5073838a0fd521854cc1127d5ea514938b499d2289c1e891e1cf0bb466e11e310324a566c51b75072323403dfc5eb5bfd0db538fc450ecbc925 + +SHAAlg = SHA512 +Msg = 76ee8ec93353c62749c49c66846ce128cf177cc3f9e85494b94e7196f0345e322f78d159799f8dd14ac788ccd7dc49bf980f957104844a539c4b8b0f2a921d634b1911302be6a4ce903963a31ac293f4c912cffabf50f339472d390d1719a286d2b89875d18fd1c723047612d285856e68077486b2b217efc4dac3b83d32b442 +S = 2689f68d42cbde98b3627fe809380598fb1aea001366c9adf82e7349515ae1889a85d16e2ddfcc51d83699fa2b6da580c1c5f32a53208dc0835ae745dd8add5238a4842413a107bd4a39bfaf546b3c994cf50e29add6db3b5138c34fc7894b910b00a5d5ec5c87db8af03e22997d515d1430ce3b47543a24ad957e192c996bb0bd388fd65823f0cbf40d46776ed647989e7a5d6a6ce4d433054d3c6873aa04a4bd2fc20a92d68b90e412e44c44914a76fd12664034c207622107c51e92987e51ffd381605b246f016fb78452d7bdd73891172d3f88ef2e2da253a5800b469091d9a43a947e85c8da2855630630efa63b418f5345623e3c258f2e93db3d094a52 + +SHAAlg = SHA512 +Msg = d9eb32d99c9e6a8001a30107c29ba5bb0bd6f31189192f8cc59e39e1b05dbc5a7e8aa978b85fe4dc8d1b3d676a4ba1a1ca4891574e01d48910fa69833595c049c1912a38afd08deb425d5c5c96adc64b7a252ee482dddc9c57a4f25c5244a1e149079c63a979cd74c570482c6e4a7d83c476b1fe4b36af8e42a2bab530f1c7ea +S = d2b2e8701e9268f050fedd0040ed468d3e5a5a5e20de157608aa70dc7059af94a6dba349545d3b9c65e64e74c555cbc0ec462d496cadf45c4ed240a2a1d6cd021837ee857ceb0e5aa0c52bbd9cd70a495a597a45e5630cae62b6957ee7f95f772fb8821fe781f7a3ec7a41f7db5caaecdad9af8ab3c9b058291d6b9c98d50b2c477afe7baf769c424f60e39a62c4d63a8dd99b7017ae267191561c5e2955764c8932ed9b4b75924d6ea6f8b62272eaefbe0bbccb59a43511abe49e2ab486b7f6171f0db8a8770cfda0d2339be9e78cb741c2dd0de3d6c272c1a61fd5de72fcd8618ed984d891ee5d3002ebcef8af237af441484aa229cfea3ae2d53f22277ce4 + +[mod = 3072] + +n = c755df3cd383466596520290b6f7afbe8b949eb5f9e449ef4e34e397b4d0a93257ad93a83b2d177ea37eeeab1ae175ccd81156ec1381072b30473f613f1b918d1b39653ba6cdd832e4429acba2fa05e44cb296981ff7161f17a5535b2adfe0fa8a56b092f35dce1fbd4365e13970befed80b8d9f413297db07bcf491e5fe236dae0172e05147f7a85a3ec11a074a91aabda90e94949eecea765444ae30ef629ac682efcaa1272ee17a2116019910323f00c95842cabb019cb0948bbb362ea57efa99a78b9785658edcda6c29884a10f3cf289197d022aceb2cdbe681ff5c436ddea48a380b6b79fe2bb88f43c1922b3cc13df4baf7e6761f29d35b47c1adaea89594c4c7fde4eba855e8be1fee172af4b35cb732e39af61e582ddd60d93e06c74b0d560d015a02e5c4d4c33cd68b50cf69089fec3e19ebcdb45828e96f5d176584fd3827adf87c5b9174583a2373243c24d99ba202e0d4849e7ba073a6081330eb5b50254113fe3e4207a355c371f24607276eb7a884f2ccdfa8313d293d5e1d + +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 222a4af8a935151e08d1761c992ba34ce8ae18b4ce87ad0f6deb5d3ded911d0ae2a1becee513a1b5042f57976ea449954a4c508666826538e70db324871541d17a62d041d4e16fa6ab5e6a1b308c2371e19e7376cff5c0ee23d6a38e9aeee3e7f5498dfaa5e94450c6d6f43191ef8be0f0a52c49293ad371c865ffd238e621eae4d9dd376adf07a8ec8cd87a8e58ded631ab35f34bf4e05d005a89aa047ba73e297b9c3f71f71e0f29e85d55f946e021d1cff0c783e961099aef5ef2bfc2e77cea58902d910279228addd532dc417e7c64f394419a3d70dae19bae780bf932c502ed817dd7bf3c9dae31c9f4156f8029643a20054393c849b32dac3931695ceeb700c006caa8caf201cfeaeeafb0f4bac89416c50f14c93aac5e3efcdc9409e491450bc3ffbaae46b5647b7a9718ef0b32d52403e26679515ae70a5a9ac35851344602d8d424b6c556b64eddb9111df66e6d8c82c4b9734eb986403957ffe415af0d13d3aea4734ec77b03e359bca2cfebc3e6cc96e46b3cb80bbc04205af3e1 + +SHAAlg = SHA1 +Msg = 05287f294cee9accc2b125f23bc3b723308aaf951283254cde872185f24d0a551f31618eff33afe28843bb4be2bc01aa762e60ae486013f78695e27b610f99291bd2bacd61aa6f34dc6fc2900388101d33aebb0501f22082cf02c9429da8e30f2293f2af1b5ac309e4bea28a4530cec78e932a64e6423534e0553ca14f20cf4f +S = 0caec9762370ec3ffebdcfa2e7d0d44c0b5ab46845214324910270bac7620982ca236b54ef5179fa6854fa7698515b7c90e3b44f72971be690b876b4636a6a459cd3aa8c15525fac4c2f3a73341d4ace08381b4a9b08f5f67553e23c0893ef556072ae7eae1ff15a2b381861a8f40c281ffb884fd27d78e5b01888958f21972d38fb542c5c0e9764fbb8ae66b88d8eee091b19e723fb9f302b71cf14658ed24a981c53dff9976fdf7663c34d7d579519d97ea2e5c719b79a9336597d922986013404e021be31ae6bd3a295fdd95efdaae201bba0645b86a678b282e1c785fb36f920d81456ab0ffa34a0247065694c43ecd5d90eba1aab268b268ff5d8789ce894a993b606627577534d39c7de7790a1997f749057a3a5bdc69a34575c34cfe6d1ae2ae52d33b1cefa635b694633a2082ca4a2b8617c4313cdcef0b821dde64303767f66393f50bb9af756346a30a44137790a1164863c4960ef61d3249c4585b7f1cda08e8ff9675cd848df40896f413e6b2d4c6303927ec495e9665b3479e0 + +SHAAlg = SHA1 +Msg = 8cd701d80169be848d529297ebba170fac3994e8713dd19a5dac2ae4cacae1c83b5cb9d7920ec0ae84126cc1490ae9579828b2d6d2935f417e0dbdfff5d424de5ec50557ddc7c3140867c4af9bc0c7bd6c9e780ba1e341272029642247a84795de5a0ee2495e6fbc029bc2ea47a5584710e40e0e44f322542c4645d62810f1f5 +S = 2ba6809b0be2549b8e8ff2da7dbe3912cf5671498b41b49e372bf58fa0d814b0de5f98b1dce703149a6dcb7f409006f9f4c8da6748e50a5dd8cff8db0c54c5cebef4de1b823bcabca3ec3ae78b2050a60b0f813b1a8e7b67bc09fa1cd98dd8436110e15193f17436f2c0a1f81fe94ae2084a38264eae7eb991a4470e86f8fc84e201e0eff0c308404098f37615992f5116f9d7d92c758520c9c8723128a22464bb9b964b3ee93a80a745bce7abf5e97db3f6fbe0cdf57ef9cfef97c1b4b1a432b376c27e3ddfad4b2aa9d2b27d0c1ef23cc27259fbb272e7131d13e0494f6709eb509dba04a8091ba25735844c54b168c65c55e0befa35d6be44ca192855bdfb5a07d7cceca5d85ebfdb38a2ab7c9938d4cbb7d74bb2c29f1d9cece5cfc7a63ae560b7058f3c737234e4538ce057dd13278f1fd1ee27efd9a6c74eba4039dab491ffb6f72548b18d606abcd205f35a457bb2c8c388204d95bbf9d669c1ecd50665dae997e431bef462b9c64fae5fee525b5b150d4dba9ea7cf779b4cc09cc3b7 + +SHAAlg = SHA1 +Msg = b055da1d4e7ba932d0fb59cf30745fa82554c4b0a548cb30a8f7d41630ef809086df16dac60825559dee6bd85253f64a0365897132374105806e7809b73dea5b0e931689a992e8e6604494ddc189c5865854f7772e1721dd8f7c98cb105630d1d1d7a4d10003380e9e649c8686001482ab88d66ba1d2b3df5f89fa0443249a1c +S = 0607adbd2f690a83532d4d63fa4886ce1eb769842a8f29b15c37db6275c8eb7ae9e3fd335718e6bcc1d9cd5b6ff5becfd3f99b4da003e9dc5b1aa4e892910cc3f21a9333f28208a9c774e812774b6b36cb5963728f142ff37cea9a59f75da871a6629e8a1846071bb010cd021225e4186ccefe5b5dff9182143b351de0a5c2cd0f39de75a5df6249488202eef83c4c5a68a092c5f78e67b5dfa67c1268c1e12c6f1860ca54450e028c41f47ab3abed6b36c6895bdc5580cb923d077eb8fee5cae2da0d0942256777bb43a57dcf75c7366a7f7be6adeb2eee9cfa8f7af134f467a155444885d9afdf97e64477ad38c41aa099a993ddf61adc8dca65b44464c16804cda566bb5b3ead7dd65046cbd686ad7dd0a3a60c31f4c2c26aa63cb52eee17b67b423da75b78949515620a534efaac691e662a3d38540bb9351d1f9f98fa160566110df0d6f85ad9b593271bbdab7a2137e7cd67955ee4529f239d2ea544877352d60783a6316bfa1ad1ce04202d6cf6c387f0d365385923cafd32c29aef15 + +SHAAlg = SHA1 +Msg = 0c75e97351b4445af5fe02896dc5609bfb15c79f7f1946bd90e1401dcb6262046bbfd8401bc7c1c708bee09b396094f023230a9178bdb18041e6eedc2c5f12082733890a2d3d533160eab9fb59403835bc1fc2640fc72664cc9bcc4fb425a5a167596299321ee4e2280af472746d35b3ed9256e0eb418cb25988403d0cbc0514 +S = 4b6c7279346e264a3a2a2e0f175a4e8e47154cc44ddf07133bd193c336cae59ad91fca75a19ad27ff5b7ab2c7a91160d5f0a67be95eae7bd9b333658953277ad7ca90195848562b7a78646827f0e572ccb4f16c86f859255f7a42917a4d93e2f75ff4ec2df8877429238ded1afb8a4e2cad8c86eaeffeaaa13f438d8502eb2fe4535c828d46d852ccbfa83581826d6cefb2412fecba925cc2dd34af55ab79d0740758cb08662c4d80e6f0da3e430aae5bba2bfdfd8c06763b40cf8b4b8c743a90304897a758f36edcfa2da8060a08fea4192aa55dd7640b2c3552142489e3787faca63d586e55a001ea56fd3a4ecdbde46f2bdb56210f3d93eba38e55b8bddf1e30cdf3f18a6ca2ab081bd45b4582e8c30bd2e129100d8def76f6bc572d4d71623cb3a20d760ec2fabb76134c32a2a3c0ab86f8c22e796532774f911f70f554c4eb62d10f3cd3740b3902143e12e430e6a89a30c7f55724f1596c47cab69a66e1175a541418ce5ab4e7808608da589db31ac3e341d1f2ef893c62f7f02152a36 + +SHAAlg = SHA1 +Msg = 71e0a316b65c8994f0d5f02ff0a1619da3d03e079f6cf86bfcff833f655607576e85d908282ba98ef4f7fdab946bde9188e0d00297cb08b6ac3edafde3b271a5e403c21e70bcc2dc3995d7fdf73a8d2cb84e8bc577b0c539f1fdf3b5b45641fe796348a0b3973d4768b6686d4095d835dc22569768a397be7443b6aeffcae12a +S = 1685a8503142af078d38ee62c6b9b2f232a4b01801cae2f7bdf589a220f390276665c58e54ed3a19b662bd6bafb2f24c9798efb56a7534e66a0079b1d95291a8bc922827659367b6baa7b57aa17dbf4daa9a3b2b2f61fc23aebd40765d58000c019f27b25fbd645b020d4bed5f068f47d5d37f911575b6480ca7038b892356e5893ff92f4664c8908aa5ad1439e968b561edbb4e236d338e7354ec909d740cf1625f382fdb91d079a5ebb1e290945d380c8b19da23d39695f817aac5b86a67c54b0391936e6a9cc9920a289f262468420d20ccd002ceebe262c3d947d7b3e35d75573eab92f3ecb4f29d9ca4a4d40366de8fe191de77209372bd3de2540fc88d68d5dabc22ac02891e1737e32a6352a2590d869e9c26d3f84112c674d271071f60df90e7578f1d5dc9628c8a172e07f4c59d4fc37fce1577510114457ca2fec73d9d3aa23dfabaaef60e0f6da42a4c862685296c31a766f6c49af7beba508bf8d1c640b12e70ab63d1ea0c5add9a1a96bf83b1873f3d4a97961d224318a5e0ff + +SHAAlg = SHA1 +Msg = ed16a259d569c3e791424d47bd20d879e5a685f23f89499d99ad8820908be66003d65a47c75e84c59c344014600f7b4183ee45e8bbff283ff9c0b8559b646c9ce378aca6a8c62b2c4b7a7754ed83cf33df3c34915a4cc2ed71cb41c143a6f8087544c1fce0696324865b1b8ecb447c5ae2d87a788537c1b1e9154becf11831aa +S = 5af92406a5a36af9fc49084cd0a94486c4ad8e5c011be3f77db454d612bd4e71325ac8387651c8528607a5f261000aa3cb720b61196e3177ca908d76f84d18fba7355245557bdc22cf54562aa29a5c1400aab781fb3577a19e4193fc139e8676e6b9ff92065722a03bddee85d8c87084a5416b555369fe323ebea53b392abc43223caaa746f2bbd7fd99ed3b4c9b5bfcf5a892e62ee3b8bd21562c3ac0b47c0c0b3783d52c56dbdc96af40b02310c22ece6464a8dad3a0355d34d31fd6753f2dbaf4a95703e302618bd5c90ea46edcf2ae6751d05ac76d4e4dc1ec222bbd969c6f062758638747ba7ff0fa4561a913e3a6f1a9713f65ddeb4fe317e2de2edc2edbd2be0bdf6ea8f3da3c264f82511ad62dece581a4e42c7ebd2613dbf5a80ecc668bb8b5f50a276d56a3e470e8d2dfe95d3ec0056c19d3ee27b55891bf57580e2947707e3188b53ebc743b49483dd37e3dc2582ac94768a1697dd249157ee1a6a0e44431267600e64689063b3e8a4fc5d16673c835919b4e2832132f2e05d474 + +SHAAlg = SHA1 +Msg = 8670556cc21c6d08816d1294afae31d54de9795318ff190b65f7cb64509711641531be24bec0b981ff34fe155e09e566961ea75c3ec51ef9a616cc44028a1f86cac5f3b960b2593ef4d597cea5dd70b3e879a5382e6dbb5ec1e5ffd0ef09c8196bd1fc15f01bd5a527fbe5a7cb5258260ba27acd302079a27f0b6bf1613d9285 +S = 3e5c918b7abc858d646e783f4b3f5b298293164499dd72d116d4dddad3a50ce684b2b566fcd9aa923e9ee80b6288ba4506239aafc1d0d56aea4011df8dead986a13202f7635a48b7ac4bf7770ab842c04e58c8d5655cbb7864578eb76d4f2ac4b371474688a7db50846e669ebdee8f8609f91c26773a7de9a31b096735c50955a1c5926eff5e03c764898e7af476524c622d3afcbbbc1c837c33808258c757fd398f6b0a4e656cad30dc951c426cafbbe11cacea2ec2064b825abfcede83f5f57f42d48d4648e39500a74d8e4cfd6006c4653bdc92312b8b2d656d5821e4f403327235712c936777d09c5e1332f6142711e5af2771b0ba6439b9f495e1fc9b6788e1c28216c20e01e7af15da0d13c7a8bdb278b1d6da5eaa20db00e2c35f32126398cc8b8f266a2492561567a37ccd8e2e02830d04ab25221f3a38e22beff11a049852b469cd2686f9826680ca745ba1dd46811d97b249246a35d9afcc0c9e93ece9f7bbbb260c1a8814242ffee3abb963fcbf5dcebdbbc7de8294b7e9306ec5 + +SHAAlg = SHA1 +Msg = ad847bce1d8c9b0bce7ff0c0d92005d7ced087de56a404b717bbf391d8cff517e6095ae6b61ae745cb87d610da441ff62d85f6e545d195c1c3583b5c898675a31cd89c154cef9f7a18e302d1ccd9278a6cd8cdf555d8d6fb221c4d0ccdc2a7581699494229324b117b3a7ce9f506a6fb547013f8d0e24fcbfbb03087edab149e +S = 3ce924a194236d9032e3a8db36da07202c378352a24ea0bf4ae708368304b0c1595b6cc74c2cb35f0697e4b58da6b0e98ea7bda4e584ebcde10665caf0eb47f6547cbe6c4ac26eb14fabaccb686114e8f2a3dd7650a3b28fe3996618d2ed8bcbb7df1e5d2591242ccde7e5010b99ff78ae25cf8c2741d13a558c313d42fd3fcbdf0f5f60a044afcbe5102a062df5a52a0cf6cbcba6965c186af711d2b782c456004b9301b931a8933457aeb89968be7746f4f5fc6b32c832be6f007e00a36ffa6a0e210068be478e2b7a156764bb4c3f4664a4139c6e6ec9e22778f28a331ccb001fd68fc5768fa332ac70551432bcbb88b8ba4741b50256146c83e6fb8f323b7a862ec4e1bd4e11d19f1ad697b69caba10195587afae5e095e20105a5ca9a8eea10653cc19474778599b8755739dc2bb9ffbc0f3054c26591c88312d6168cc9ccae4a7e1c4ef5eda71525ac9189943c7c289c698e7f167fc1f97d9c4b66b52675cbbcb55184c05ab17d38cc5d63eca4399eb6c880a2c51e4ec4670aead99cdd + +SHAAlg = SHA1 +Msg = 438d4da5823088c9d634bcacf3cc60b8295e571493e1c426928a1f5679a789158acb5c1e222b07fc304819cdebce9b45c5bca3f69ac626ce2ef80ee1d69b8c68755cb00aaaab375b4862a4a307a792e07913480e3f148ea57c8fbf648aca204dec8a70f18478c0ed06c985b5ad1eec902da96de4e892a3b464995b67fdfcebcb +S = 24baa7f4f5a3e7e541c2bfa41924a48e22355618fae7655b1978a911545df542fdebd076916aee40f3ea393664b45217a568e21033e464cb4abb0a52db709c1e605dc5831a7fc45231c074f0f5742947f8bc9121d0d88892d02f55e86cce6c5275f42714766c0baa736d498d028123d0337de4bd27d1f8187658ab89d28d9afaa4c47b64eb79dcef8eb1eb50f357be140a091c448e4153abe5e279fb5afec80244f3f8736aaacd76f41403b8c6a8915be94442bef7b5e2dc9fc77191a0907a02d3270d0ec13c2c3e8b4aac2f050fafadf26844331817e08f18616491e9e96fb4efb6b817ef5e8332053f49c62419ed6fd0f6818904a9388f1173eda8ee48aaf349c35a98c1d0f55d404e641343fb41ee4b18d77a83dc104eb6e75bcfc03f6eaa194c4b95b4a51a6357fe56b36e3d2b1635a33ca1bcc7f2673dfc60d5ebe25c7f147f0fed67a9639247841db91f20d8f33c08e7e6f6771661a33fcf70593e52914b0c468152d35c6c18285dfcc7811291ea6e0a2989ea68803616f6a2043f36f1 + +SHAAlg = SHA1 +Msg = a4db6371c8ea007f2f4771cd9d373ed6741d88467c35eb55e385a95483110485644feb3082dad9f3d06afb5a7c0491b0756e96142be6a3cf961311e4793c5ee9e8b8d11608a6619c16ded437aa2724073daa269ce9a66d5071666dd98170dc1e37005e4ae1b4601f0989448eaf06bf84d5b7800641dd13807e64045a241547cd +S = 97768ccffe282bdd63b10ce17b0f78eefb368929fa827e4cbbabe914ed71819630cc16d1261a5486f73f65935e1dc3254f7e03f93890849305c5796105bdc764cc31dd9389ffc328d1cbb4f4154c48ada7525c2d6b9807980241714a0d852aefdc40fe10ba46f89e5b5b4e1deb23ca18cdf732d382cdcfd936bfff05385bab3dee8f6f904915ac418baa4eff5a2626547f5dba29c5209b0abfa378992e4353ff42c0d68f892502a0606158c6f41d565cf8541f19dc75f9c23c57b470f1c05d3ec801b6b524cb9451a678f04b7452026534344b502d8789cf6ba5540f1ec6729ea110eb5cf2d84d5c7979c71585eb8d3c208a33d9ec7589398013678c699019bd01bd3cd5e1dde94c8be4724f23ba0f6c770b56c9a10af046e661209379cbe0cefc4aa6088152f8575ce7fbd84d941e2b1e8d6ee21158c43b411347a46fe9b870b6eac10e16dca2519aaa6d77e861e25c26f071a8312f5eafe6df55666312aaa5f65e5c81bb712d024a0372a74c9ee8f5f4614f1bf85782d6cfe4f810dc913d2c + +SHAAlg = SHA224 +Msg = 8cca7fc0ca7689c0ba19855c7676fb8d65682c255e77510510a92491a19aa16195cf0e39f248393ca154015c18aa171536b4065b6e2e71d128f09c3b64082f36a10c3627fdaf6b719d91b8eb4f5cf8916e0cfe79078ed809398d5468e289c4327829ff7034d2a8c77678b3ef65b42467d5171a676fbf0d170b2754fe6143eabd +S = 5fb3a33769af2790501d8bf8149d720ae2355e2c19b9250ef3efac5398ab644c0feaf8a51d09fe25ad9e871f36927e129ac23ff70de519937fb2da6371dd617bb9e6f5c0ae8e3399d8ce503515301570950e31849d67985da08c6d088bd7d13074c67f2163e457b66f5f7b5111e848204c78bd3bd3fc04d5462b0efef47915f862c26ca28fa30bc9e791f41630c6f8f484f27acefb14c894df87c52284beff19374a40fbfec8f5979de9ab89f9807840e6f055f7ba495c38bb074cec97664121b9ce8bb4bf8fb3714a728a1b2297625ba2d5afcc79edac68362ef12e86e41be9332171aac36687422b6c5466dfcc599d5d3712608dc8abc41d4660541dfcb66da3ca1887e956775f6af163a0eb2d0e51fa85003e08af58418c8b0f6ea0df765f070c800cf5403a54b74ebe2ef6f101b632680868fd59573801012f79119079a2dc11111f32496f3e28f70f1c4b9dadf0d4dcb1e0d3f1455c8d8a6c24880e55836c38aa89d2f6c225c09a8669078d029a06b82e32425f3299dd8d5ca354327c01 + +SHAAlg = SHA224 +Msg = de5029fd9216787444f727ab156674394d5a0777f09624e5922e25ca6b47281bae1e059e174c834fc348cb03452d1c4bf6bdc19b8ca640acef05d51e48291e625a9918d715584a3368674025588c3b394f5227fbb651cd5fc5af4a609ae7c0e889c94bf0b4c337e8db5e7059750b39c9ff2021df941e33c7be356ed88c0a7574 +S = 36da648a4a59e33b40a3ca62c80fd0dc061d47749421c82d52413f117e8e690579cbe583fc7d893fa338aed419d567628ed27262b54caaaf718c6d83134d428ef8051f8d65c4434777d6363c627753803bcab14e263318b8d72ee2bdbeeb6681e274735aabc0648632b81f05530b799e219f8612ca35ea11990dabe98397694fe5a407316280beb8263a29dd3ddc81355e4d7138b826b8154876265e09affd3c1533d6e33a77718206241c55dbd5c8fa4654cb23bc338128f6e575b72b2c381c36387c21cc04fd9416582a0db994298aed27d213cfdea3f0fa13c75da4f51316806d98c66a8e5c0f6f0c7f41076fdc9790d87929de2bcd2d179805fd48d42ead72ae76c534fcd443e4afe4185d88f1712114f0ca46a6b227fb6dad9d7a8c410515545acec91ecec726df1d3297da780c5b80cb3692390e78ed83af206b48cd452661e9f278a656e8b09e585d87e4187330e83d0e3c30c2468aacf8793c78c57f2885d506033fbe93ad856a4db1ed257cd1614b6ff2e5b11aeb56d42fddd98825 + +SHAAlg = SHA224 +Msg = ee3e12fa06c74248c2e344877c92e5db1738c8efe5f366e6c82c5495986cc5efc5714fc03e82f29f91ff561d533c5443c28fb83ca9a8454e8421fa0fe55694d51677546e00dc02114b983295c750c6e10b4eb4a45cd10a46d0a72f1eb2fe6be52978a96a157d7c883ad56155a076449d399a458fc515bbb5f3e6792ac90c5107 +S = 0c57bb639a1bcecc84594878c9df7dba1a0cfe13ea6a6f0b48f0a817dd13a47e977a1d21503a469dd905bc35d0022232ef23259542ac860ce30cc5835c196b742911c3d84e90101b9b200b73da4f995da01b7f2d4fc572075859af2c86d0000f376935a0bf183668236bc5d3d2bef74d8ad9a935ab7171929145d1093fbbc03e6b951a37640c4c71f1d2eab81a2c1c6c8bfff0864c1a8d7df64b776da1dee48b8ec843a732e4e5e55481a2a4c1db66188ae585af7dc9b55e1ad834c8d57ecdc5080204319618885792810e8bd79da22e1388cf49bc84cd69cbfb4aedeb9a615644da158c3486aa4a4fd98284096a1e48008dd6aebd5392252615f4b663df30dba393e17d37ae84b9e1f937e60ee8c5e6ca8108c2112a7590f2d32b366523b18b0dc23dcf1d0754b5f569b2c85c49afcc741fef0ece5ecf27035d1b0e32d05f74dba53dd39346e45833135ab7627935164db6f5329094cd319bf27d6e8b84ece2eb7ce96da47ed75ba20a8e5f717086bbc29f3fc41c5e2117702b5948076aeadb + +SHAAlg = SHA224 +Msg = 680060fa6a12201453f4e4ce55a106293b4557c7f2abbefd49f9222bf59b8a48d87d83c1837dc384f9200b57b583526fef951f3e1c84378cb47578c9377805a272bba3d2fffe633b0b4682355bd68d26915bc853ac67d1f5cf208190433a1380be2288d4e67c496011d00f0e4f800075aafe1badac3bd5612263042520c7fd0a +S = bee1202471df2aa417750e9f0111ad6b17e6069dcbe6155aa676812062bd0dc62671302059eaf2b9f7fb1889e750ff2a8119f0a4c72ecc1158f2ffca293cf7fccd4a4a49d8825b75dd3bdec89360e3a4dd01557bc3a4deda139ceb602820ef8a3db0e2b7cbfd2653052aee96fc0028769d6011fb349ac278788c513eb135d510384477dad8ffb2fc547a002c0cdb6a5625635e4424e995288dad1e5f4e9aa4a3fd061821ea7c60f44110f72c92ee753b4e8453009908346db1a3b9dfa16081e57dd1b281a7b7b384ced2389a25645ac7a7cca4f1b7899b02d9c4353316760d79e51cb0237aeca74e533fdf3f5f1df867eaa58e8f61bb46af04dc8afa35dfbf5449428b5fb96c6ebb580688d3f94fe424ba17076be801b5cb99759896ba048fb5af13180c18baa933bbfce5ba493b9d753c2eb1fc6942818116a98acdd94765189f07f50ef8e1b3c60cb0ca4861949624c40933485fc52a61248c05d9aa23840eecae56d3501ef442b97ca66e37c102afe753303aca6586bfde75bc917a31db6e + +SHAAlg = SHA224 +Msg = c0efa9d7abc69dd36ca1f456935e66404d082513e54a79058b2aa75355f418d78373b7dd07679b334534e67f17d8edd5141f9989121a0d42e9cd88507a288d40f03942ad469f17590a42a77c6041e35b492c6d1d257442da771f9cf6e9c017ad90a712ee7055586d433300f4768391f975966a76283f61f5bd89abeaa9a5fc46 +S = bde6e60ed2758b9715ae15f321eb3badf1a47f043de93e7a913c56b830fde23cf25b7a056af98be57dfcec626feb75cbe369621c442a3548b88b50979a1d70f0bdd6172997adcc5f48062d28f63e08ed8f395a8c579c2ac224ad277adc5ca564d8b9f8a200055458db6f7e9f2f5e8dae8eb8fdad869e104da5b7bfa301624327444e527685a135a01baf7de1fd59c755b32d3347578f784b0ee0ff292c0b7cb6caea3eded7a000d3259a55e010805dfa9d9db65ec082b0d412911a34b482cac50e5adc98e2ff9979869dedbd56f77d62a8407e61c2ba6ba4d60f82b215e090c8983bb5c606c800bee7ff425699bb9ffa549255df4024fc5f3981c483bf0ca19baced8e885ab6ba26c7bf8fce5a998313f76ea6b96cd0d5d2943f934eb77dd49fddb53d5938a1ab80b6f228c7721dfab591650a8f2e0dd571b09fa237f65ce80399849eee339c6b3ec976bab7d6394e9508db0105c18f3108ceb8b3d4a98cb115773d369ce971644ba86efd6e173f8b4a52d1e3f67588a1907e4c76304e33ea7c + +SHAAlg = SHA224 +Msg = 7a596c55a05a4e3991ed9c779db9b309a79d40f470e8a81c18cda75ce11137d63707b388edbe3c21ca795c12445fe9e78b742cd8c9c8439ba8efc47d16b0a3b1450156e8f5343622f56b29c3e7517ee9450c18fda16dcf88316a13488acfd284ac309c9c3f2206e41cab4cb20ff63ab6db4b4c8a7f3f148ab828dce6c7d48df6 +S = 8bf66f32bb27f14569500055694a9b70938b7e3fa6bfd41d6772e74e4cbe6a7b52327543f2d861f2d39c9cb15a79008e10ff95b60d13fb76ec5e1ae402515f3e830177ca9b359178f729fe133f27df97e164bda5457b3c392f75b5fe38e8178f0b74dd81f2f322055764c76e129dd53eb3ad781dad05b22724fbe86d521f82cc2ab5ada5491b5430cf60c250dacfd7c230c87a5e17762b4d66c8e413dd4b2b6a6c505cba0d954eb483fb8d59e65137adefd7fd4dd7507e89b1fa7c230cf5477e944c46d8b63f9fee270c93ccd8a1ebeb6a267b8d91fa296f8d5d19157f0c7f165171f05581f29a584f8670dbf9b77dc74e77ab9a6f1a3ed3fd8b9795bcab3eba0d049bf36946829b48234ce24b89dc560fca830c0c8d0fd8d46ee5ae179d67f450771c4a282c8b0af305c6e73e64d4e4ccaf2fb8e1a105193e550222eb4af772b893f18097c606b303c6a34b04abe9ca7f30a4e2362c96b2ae1f8179368921ed391a10cf1bb1ea9542d9bc215d36709d3de11cbcf6b41224131dcb7974055967 + +SHAAlg = SHA224 +Msg = 38214b5023b4d5287f39ba5a8498942b3656216fe70be99ffd16212cf58fd013a87d30b2cd4957d9c0731625828422890044712e982ce77dd91e327a8a54f353ee971e3847b1a36e99244e9fb01ceb7564a3af671c14d3d291d2824bd539f53493d5dd8d98d2010d92b4287118493915ebdba1c17ca9f5c5ae99d848dc2720dd +S = 65655169aa2e21d4f8344a31d3ec6f8dfdcaff88e0a50bda626423edefc469928283e2c1d72d77a58ce9c0a1faf37b7d31f9b31d7436932505bb6600e124d5d457352877481989191934f70eb27d929f83f8c8081c9599a6a0d57587e1ee1cbd4e9e60afe8b22047297f9d37418e4eaf8885d33d598177e757c1ced78b8aad0bf9bf5ba4acc71cd1f9abafbe506a231bcc361b6d5e766baede75e2c7b47076574c5b485e5fe0c77ee6c34b48fd8afc3b168b8fe4ce9704f00c41cf7920c197d0223f562f9379f07ea28c2bf82e18f23d648a810fff1ff44c95f2b247cc571b60e329ced3a8736776e60499a91775cc8d889e655250bff9eaea77e71d8c1579cf34e28bb929db9a739f919bca00dbb9881f58d00ad2b85ad4d3b975fe6bea0a74625fe2d497cabeeb8de568f2ad2f56707173860d7701f6994f10604d2d2ece117e45fb52bf4c0b4a91d3480ece56955367a5a348f159254040e2ec95e853e22b4a5a7d1ba905555331c587b10ea50e39f92aa6d6b5fed0361fa23cdb12b4d71a + +SHAAlg = SHA224 +Msg = e3c2a239be80bc2d5b855b89dd765f39d7af83a169da9ad3acc018065060d344843e0b6216fea835dc31c403526f693884a69c5a2fb19a3f232d617eeb887223b05ad6a75bf95f1ffa4830b365cf7f5221119aa4841928401a57b22048aa62512fbe0aefd39867517d6fa8815ebe2aef74978666b23acd3e5be612d4afef2937 +S = 82f364da3f75a3b80a8ea5bb6882090e5fc6628c94a3f08c0ed529d7a7e2990c3e301d9569a15afe212420827976e4559f55564fa6355ee5d54e117b25daed068fe2c0a9a4e3930342765fb1f5423ac2e053bef4d63f599a9178da7ecbc430cefdcc503ce92853ab6c9875654102509960f01238d6b1dc08816085144ebff1fb6a51088ea481428970fc2514d103732e27dc2366ffa6a10cea63263355f3e814e9a31f133a83b678e5483740eabd0219a28e22134b7010f02fd92c7d4fb6949e09d78b2be39b42fa2636ddb176dd9abc6f36e78b2da0207106423fb7e2344d74afbba457f3eaa3002fd4abfdc12e16a555423d8666f92dcfeeae4d3bbc3ea5564f2f850030094e357e4f9a7cee9ddf570bcc9ddfe07cd7f7720bc5c921a70dba0dd5dc38770947acea77c4126d9699af6ace8ca7b9689043f5435352544f458d150393b84c6711e85fbb69faa21c18d96b9e39d60dde929842740c263f05054ccd8b184786bba426dbc1b01823c6fbdddeb7e6bea8cb554e991ea98cd8768b69 + +SHAAlg = SHA224 +Msg = 7b411e6d7c492539b50bdb619c7192c134c7779c3d1d6a29a7ec0d4e4dfc1babe084fcda219496f554b06559f1bdceaa9c22b01857273de0f7a00815d4d05ea0c588da864c8f34690d465a52858cc2adf8e0fe95abc59152546b0120cf8b2d321293e1f76303a89cc917e1d2c0a615d1304a889da0c10e88a79320f8a4f52f6a +S = 3e66129baebc98bb8d72ea27e3fed779f0d31731f4dca2a6e0a4f66cb0db7d8cb75b7813476228b331aa5a67496d840ce555fca7fc540ce2a364a6bf9cab3c505a52cc3eda03bf49d3032362c30aae0b058ed3401ac32d84402c3a499f4b4c272d6dd2756208306b809e16dcd204253379cfca6074368d504487dfb503954b75189e3e47ea60b5edc32f28e9043633b3ec965044f3ba6728b73213005c06b5c2311743702149298ac03043dea9ad88b7813e2a981d3ffdcd6c10b1848258e15d76fcc96fc508109931e18698336fcf15837f155b4fea07c37bef4bd9be74c1f9cbb62352d5f42f07d6df782f2078f704b020a75b895d1543d60ddc2aba119a1bd23a8d2bfe9514f939aaa3716a866d6d1303967b8d13c8d23336b0edd2976cbc803d00b4a925866b2d4799c51072066fb04eb0740e749aff725791494f28f38ad9248fe1c62481ef9ab02a8328f3c95db2c963f8c6da71760203cea0315120e65123f03573d4cf1716a951ab8808fea8c0ade4f00078e9c60b8644c166bff193 + +SHAAlg = SHA224 +Msg = a6114f4aa84d14cbee61628328cf031b29ae0286eaa0cb93d2048ebe346de44c1a52b597410759a664ebfd00bde449c2ca0840f04d9d6709964429de04717aa3ca1ebb47efc1dd01997bca2c8a920054eb217f91480ee613dd3dd9ff1003a57a3ede2702ba63ea0513778fac96c272f814618a11e6db91db2d5765c95e0caff6 +S = 27fcf85727c0d1694bd85c3a637b098cf71d486866c654a469408b50088f208d72b2da92720637ec8807cbb8024e04efe569f6070d7615ea3bbdcd4e088cc31b1eb56be4ce853cfaad3258bb95f352a5805e1a3ccb7219eaf96dbfb362ac1d5c3f523c8644e46c3cdddedf8afefda527c8094932e1299bdfe98dcbef535e26d2034cc66c0ded6cdaa599bdd1bd6890359087ce30c473b589c08670f5611733e09c028be916bbf52064c4630f491a3b383bd0fd5414c35f99e9c8b2a7ebf702632b53368b1a0f6f74dff5637a22d70b7536dec2b1ab1b9084461640afdfdc1ede94749203dc5f899e17f522e63a5f26adbc280d3d4ec8c04a6407f6fbcfc3cd1a060a2a64fd3355c317a6721755838981736f1867c7e0c6cabc828cf2615f62c8d5d7978361051acf13f0a3471919e9cac0801c3f92fb1dd6ce37524e879971e2b69b690d4b95e9120055b8fb06b91c01fb241eb1630b4b0c75f481e249bd7e8b57cc4096aaca11492849c7116ae121495cb37fed86e4b8ddd152952e1ae0f824 + +SHAAlg = SHA256 +Msg = 5dc2b5a9d8d72492b8a4bd0bc45e2e18ba62b21a4c27355b6871b9e8bcc8f89f7a294a8858fbca69dc44b494d61d12042e6498a8dfb0ccff448a6ae593da06ada79ff36f02e364a312efd1efb3bb9c3ef6a8f5122071fb1bf65f230838bdde9d6c8c7606dc78396be20adac4631e14ef9a9890ff175309d8075aaef9b55bc898 +S = 654ff18089b8778a5f63eb4d743cf5bd0fe68a7575e0043e0007cf0133909eed03ef0472ed3e50d8ed880259aac0a3406314b96ab60ba023576755e56484d550bbb7e02a0fa02e3b6907b6a7dc8e7264cea4e975e1205561796d19611c5c018c3a64bda31e4c8d7839e6da1f57656e44a5428226198b4a52997746a82415e3c8f4ee84d9fa8094149a4e765f525258fab720fecf6dd00550b141029d6e3b9ccdf1bcdbb3622ab97661180f283606377e7dde80c6abb073db6810ee4056d4e0b379394164adef8e22fdb32cb2f42e2bd2031b710c40d2f1e727b9218162468fd773767a9d4821942dd3937a672c03c0beeee7c1400c9e2c204fd86cb862e68e78c18f702e5e10dc9ea1c3833bd209739d47db37036f96ad69380faa26f33e400ff849597c82d3f44b517d04ceab5490436c375409a43fa01624be3a1477a1b33ce984b021c9b3d86f9cb633a7da4e2f7f25467b4daefac4120d59398e4aab6c9ab8a511a853d66c6db91855bc9100017d058387cf68b9e6df390f3ba1a981a231 + +SHAAlg = SHA256 +Msg = 8c89c71dd8a2c2976c21d6ea05dd4dcadb40b31f81a1defd0ccd2cd677e70cee4673c0106aad6180651f2330ae72da365785bd7eedbc6abca09b2ba5a393785fd61bbd36a3035d902505f623909ee765cd1c0f4464f7d8189f6474d6ed28678684aa46f74a4dbeb1f6fcd72b72077a3e842d32daaefa2ff8535390cf1a4fe24b +S = 9973a5c2e9dc3ee2f54a94c8c79c5bffd644cacb9607d392b01c4cb157c0a6b8d94fac5045dc47798a2e9ed5b1a4305618b714e4d98e8ee8c16e3b0c4a2aa799ed715a631ddf71d0ad9299b3b56dd7f07e464c28c96559469137727d4e3388d526342a9a926c50416b5e1cd434d80ba4844b76df434ac487cf32519e76f5a3f21349be54000ddd1e1d9d70d14193c1dd0a6be6e493a941cee49263718571cfc012173549f1e91f6c5e90a78e817d69fd7a154e372fd056ef803b294f89d2fbbfe6f42ea911a53ab8902da65397cfb6a1be35f64ca77787f6cbf64257420b581c2dc93fc41d27fa98836a02b30c64c81f1b11c023dfe7a4e7c5d7a1de278067cd4fb5b5bbbf9e0b3d252b4ea63e265644f07c114ca3106f5d4429c61fabeece4688fdc860dd7af7a7d8c4891403ab07f2d6980788dad2c07da2abc63bd5693200c2ddf9e406fe565222c95ac66e0a4fc7de7ec48efb661533201f24301025693731009b4d8e734ea62f5107d77d98f137cbd1c410f2178df4eb65d42a06cb8000 + +SHAAlg = SHA256 +Msg = 96cf462a9446d4ec4a70af8c1644c5d0f8d5b07cf42437c5b83918087f7205bc351aeca6dc3d7b4b2ebbe4ab849cdd2cf6a3ebd5c426e1bcf51da3c23d78307d24b6e07665b3ea9594c128d904fb1f4ce8d63a37b8f95692d74f83be725a0977abcaaa04f74e27b0c4aa067e600a91191695220a9a469e2da7f74066e6bf9890 +S = 9d739577385c3124ad11db386fd1818657af9a0af06eeb54de027000effb4ca87d64d9cdcfe80f9bc4d370a5ad1ff676437f26d100adf719c807396f93bf3b3511e2191cc042584157f08606a07946cf640f1e0b94022ac3b613b63473ca76d4d3c401be1a1b6aef01a1118f0051c2f79353c5afdb01481c98ba9837c9376f94e72cb0030319160f05cb390576bae902f345ded052466285c0398b2834e2ca854e98aaa3ede2ebc569ae6fb11189925b50d93309a989fe1f93decc3e785faaa750d92aad9501a530cf60beb94c6eccd67509978f333fc26c760fdda487dd1549a71454f996dfd36f9317d758f7d359194f005b4fa4754671f55b879be301400a7756bb07ab8d4fa9b7fa3f289473d6740376a3ca0eca54d5c64a492f7110a201c2de5f89ea9d058d2b38621e43ba96d72770b99835e20eea4a6fcd25bee2c5bd03e31169b924df990cb9d1374b9b87afb798d8703073bf570c091a4e1c43a67efb3b81be5b77866f13ada510aebc827514bcd55efa69b3b580e7af5eede53c34 + +SHAAlg = SHA256 +Msg = 9a126e437b5e015eea141ca1a88020f2d5d6cc2cb3db196faee262ba99fac8bb3b66d5e50a4d60c436b3b08de9a8e4facebf9154d0c2aed124a4ad2189b7eb44ce1f4a9e95871c4d581344baa995976ebe0389282c29052cf39b9cddbbeee28e5d271596a57400a2571a1f506faf04f9ad89f9cd5176e72624ad7716b7057642 +S = 70e10e29b7ea17f9e69b8b8d2dfb1afbbde324fe8e64205e260f362d6708838b17302e7d55d83e3d66b87fa81dfd641fd9d41499a1a1de9615362e1207084464eec60251528c0af12e784de39ea5bb3105c203e432d0efe1cc7f5908cfd7cd5780d6511fdd18de339ef6f46d26fc98db604b0e3a8eec6c276cf07bbc65a738e82eb89cc5468c91462d8e40e1ffed9b165abdf308e8a49a3eae289fbbd2d8d52132a0392f5a01bd046622425c8254010dc0240f76ef1458ef456ae76ca3639f608723993213e9c5bd04f0e750fa9fe534ae97dc3fc2e2541d11ab91b626fc726c85f2b519af38a4b75952b05672b4fc0a9357d31c62908f4df63e87c9121f5866f18657b708caceb9af633a8f517673d5512dc3ea5e3d2917e6517c8853d53eca760433f9cdebf3ba210c866d88d02e02ae21567930ec0656c4814c9262a901429d206478b7e2a1f40a3c159f8dce30c305739a32bdf752facd76716d04bcbac983beaf0897798d669f6fa1bfbd29288765230975572e095aa24459ab956d721f + +SHAAlg = SHA256 +Msg = 06c2f886ff1775dfc39ea830559ecc96ecbb0574ee1bf4bb1cc889690a551950d3c5b1190aa8a988f4877c02f482d74c4638ef95f0e718b7f6d494baceeea89913aef5497e4106f811e9269395a1748a470039d7cf5f783d713ec7cd87e45eaf2f466e1f412ab4b6848c4deb2141ccd957da8a4371cb3dd5f5cdccac1f806219 +S = ad511de3f429bca205b5c616b9a34c87ba106bd887ed5765dfa00e15f0360cc439c6f825716042e8af57ed1617848477d6b1e06ffeea8fb708cf66d2a978b1150a644b2d685712ddd1e92547092a25adfd05a26fcb8197e73de412fd697aaa9fbfb61a13d96ae1fe0e43d3579d6b18358169c9b038b5302ff67e63b067773d9e71d7b433e2066a8a41541ee7c0084ad127c06d6df52b12546bf25d9dada97208af936299b233f899efd96ec7befe62450bf058e83b948654d172e80bbe66ad2a9125e3b4b27078a5c9dbeae5039d1ccd376a99f27eb01c974756c7f7d00a3aa5eaa111cd11fd452771d015be3ff481815547c472d333cf0a1741893ae46ea714f6cad3770ff9b75977110f2bf2e4006e7533d92b631add30a8ae12a2730aae767be0f34bc2c5cca96bcc3c388ea528c8b2814eafc7a422db194de4547f34d41f207559141628ddc5a2d117252f01bff97e5323732cace93b6e0e6edbd6cb804428c7d0787302684adab40dadf647e62b56ae03c6ab4a6babd1863d2c09a7a5d1 + +SHAAlg = SHA256 +Msg = d5b58bd311ca3173ba6ead0effa14ad21f38dc552c8ea4e410777318cd7512a9092fe287c91ec0277d8a2b1b3db5a9e65256660ef8481f7362843edeff4d47ddfcaa72cf0a199a3b61825566046a652447694fee8fde49355ae159f67f79bc8fb60f85d15a2386566e3e7314df284533085add1c7bb6ead3ff760c86d5633a66 +S = baab3a4d1322dc8a11846abb0a360bb8de78fa17b59677543d00de62e661adf86160496fbfba90d7b88439fde23cbeea41d24ca5ee9b3ef39368e03b240e14bbbf13bf1e727fc7ce0b60ef1f05cd2aa4a81e88a046a3ac0400e6f84756aa9016f6b03f1d1ef21e11ca33b5d80e5839c2bf6310863bf5794d4128275e01cdd5388a306ed4d37a5ab84cdd798c0331047ad606518d0f0871e9c45266e4379e6c53d929a025ce8910268c99ce5414d1cd040f69abecdfb12cb4c8cd651d27ebd1b2a3b66ebcd7bdf9fa97e3dae41519d81a23667e302eece8805e0c8a9b0fd6409ffa3b55b9818cc0ad006992844bfa5078375e8711a023d61610836f4cd3ea8bfa6871722e96549864bef6c6d50a62d363e551d9a080a654ded270d6b145b2693c784137903481fec551281d11a835197bc428229c952c844ff80329c7b4469969acfc2c942c39329243173003a38e13dc915cb3a55ad54e79a703417c171a98633d3c463db66b34bb96f7565d7cc20893e7037921f80ebb58856c8d23b3cea7d7 + +SHAAlg = SHA256 +Msg = 4835f68708de7caea9f587dd69125f12daca4f33dbd54353c7709632ec0125023ffaa8714dff42e3754b56ff55509d6e829d75df7c057c4fe1fe5e87e047ebe6f1ce6d60c3d038c7764282490b70753b19e48315c189fabde310d8089293e07ec678ed5d519987e115a1b4c373b910ff076520db92a8e425376fabbceb2d2b52 +S = c0f823fef8053f76b565df98a37ef1cc9d8413bc806cd9d211d7d32e47db3a43605a3a5d933929a08ff3edb26ba67c89ff03ba9be1bbaa14c3eb50ab84e1a5991a7799e125cead5f361381f4b3be0f299f04b08bd1281fc1e0c8a0975d6908e5d5543320f3b7ed27c07b952b7f0d242bd4a377be28d27e3bc45829915792db51f83b11f5b27f12290d399e86c23dde510d473437368825a4b0c38e6b118e482de54d7147f6be4f1daf8a9b51dde4a3d2d07931f7cb5554b14e0212a33d772fed8d07aedbe16ebd9db4162131b07233762fc0ee345d03c928b5e68bec906ddd603b0d1e2caf7a5ec7db4252a92207b6c098174a2c803437ecd7c8005a0844b2e8680e63f41cb1fb65819aa923f7928f0dcabe04350965ce0f8fae9667d11f651a43a35059264fe630b38161a4706cc3d6f4f5db5790810ad5cf7319124b04b3434d782eec544d5de0e8d2726e51d7e17ecc2c9828b207944756d59ee247d19dd8f34771b03ab9e556f068e6486fa59545436c047756704657faef57243abbbc0b + +SHAAlg = SHA256 +Msg = da338b0dd6c48d2862bff80b8a14d13c0b9e558fb5f7829b1390d96e4e0163804f9df2e6244aa9c8a590be1557ef7f7590769380dc91832da023798dfdd447b9f7adaa09d7e2d086cdee19a2dae51b27ed06e86e4d9093d136d8f062c7979cde1c883ddcb7330b4a2403901adc9fab396b77dbc1ce9dba6f1fd7c85774f26ad6 +S = a864050be16b5452f9d45b3dd39fc931f738f9175befd256846a1271f067d83109209afadfb5d82836389555007cddf25e8af7fa5e49f60c0336178550f74559b55fad8160290597fa1d7996bbfb038e107f764ea797d5af7fb1fee34f06a78b25a2e532b9413e011fbfc4552f6d17e2dd4068fccded5125ad3e55ac1c853a8c063010ca1312ac33d3dceb8ef22013ae55c46724f8539fc1bb8fa413d6b993378b6648ba4d52a933712aa3b44ea2ea897f829bc97db63eabf9d7de169b4bc0bc4e67c48035df593bee31b9b047f04d47e5996052dcc78e25bb3f2c7b45e63a05c267ff7671db2a01b145a198326727f0f4b395b1364f54613a32099ee8571d69f715832cea04b36951129f45e3259626b7f54b09fe5520db4e07facd2686f0a8590c6bf6a05e87ab7732e00e161e3d825568f2fcb1cee514f670eb25bbc3a8ec838943e5a1836ec32b2257289b3ab05f99b246ff24cc53c7f5ad8a6021dbee0c36b754b7c005e447f7792872bd602ca1f2c80a9150e54b27d11ddba52ea0a9bd + +SHAAlg = SHA256 +Msg = 0de4f920eb750402796b81a963521d234cd1336c13dc353e552a4d2a33ea44e855b2a2ec2eb817398244197a2665cf4f08e42ee56f7662c983356ffe0f51184d860300dc44c30f0217bb175afe7bb71630ee8096608d573a40d21a7444f08721a8c15919b400b3043fb8c27072fc9f21ced972a87089dd3894e998b4592e580c +S = 44c175e10abf86836af7ddfadc8af5cf446d61176bd251e4f5c2770bee835e6177c6bde9f51f802d4e92558ab3bda8d3ade34a4c9ea3ac439cf5a5fbac53b4c426a9644567fe6698cc1444ae533197358629557b18a077043087b0133091fff1cf8f00813b8224197174557a9c8c0d15dc408cf371d8ed098b3cc9f5c22fd588ae56bfd1862c3f457d2abd2e9ac8436345fd688adf0f6089693bb0d35661a1127b4a65d8099805f64246a1925f4d0dc6b60193ff10740335d77d5d62fb23e0d7d07520af4b12d224098da47f789167297d191db59da3e3adb185774ed83c6d5924eda40bb62335e3313dec8f5ab3c86f85091976747f8dd824b287b56fce16b4e2507baa5138771a0db95022177b1acdf7377ec8ab2dfbd77e218cb546ee3b82eafa18ca04066b503435e891010001a0fbfd8ed9bdb7f771624a957199998ead0ee6eb7c4f37df5e34ecb7d00d308417dc38a6cf9810668070d6bf2c6e797a6a2e9a7579f491bc9c81d98687228ba7368ca67b5a5a4d3e877c34f98c1b5bb05f + +SHAAlg = SHA256 +Msg = 21682959e6957153bd00a1b40719b79059aba326c80eabb6649f0e92026de7763f35551cc191d90cc06cffb2c5b941b2b26428800389b42b53e5fe79228a1c39d5d645d5fea53527dec6d38d29ac1240086615e164d29655620d88d32a2dfb3bed3341aa263b4f4b20f66570b85af2e16498b273744f19dd98fff4c8a3c04e25 +S = 46217e7b3ab09e7faebed8b896fca4c136a2bb2c7986b4b6f6e9c1c08aa5c08d500111066cb225e215420694e93cbd11363e3baa0d6dcede40b494fa781d04f4def3c4ea26b54ea8e34a72d0af6ac11e9638790cd3c00b8feadec25a6a16bd39537c46dbf21b68334427b2782db33a361ec6c4208b09cbc8209d7c22664560cb91b2005bc2185371dc6dd47eed011bd2da60e34dd430fc9f32668227905c09bb1f2bf556a60c831098c9fe083e0086499fe75b92c2f81811d1dff29e8dd0a873fcb69641f33767c0f0eb2a9eeb86bd02ec388e7f0c3fa3759d1a58c2192d4fa99065d1544a35912db42b20ae1f6d52d777754e20dfbf0f060a5bae05c1c119d024c9e512f544ed17e3ee600648ca2e5672c38e3f5a66e50de503a7faf9feba3854be609825c33f6b04af1668d1763470b6932d8fc42e0b0659aeedbd9cb2ac16b5a0b164d02ac0e8ccd17d642677fd223dc7c80b28b329dbf507c6f9375331c5be0fd1bcea43d41e3f9fc5415680367b12abe067820fe45db3f6fb55d36c9c7a + +SHAAlg = SHA384 +Msg = c530d8dbcf28eddd459b5f6f19bc5c929ab639df51fb6d7629d8e138d44e6736691d8768522182a365e191c551666e333c491585aa10cc7fa1bb61430b99b3c65b607381737d2c69c5a98120b9bdb76d4fc773ea065dc4fcfc31630856e63ae4e222248cfbe5f417ae19b8e91b6a3f291d57d8762d895dd5836470ee7fdd0579 +S = 827d9ef38d99808d1f12d98fe4b45e93d2c9df343ec37e21497715043760789a5854950e292b48aa526244faaad5d894eea3695a1a1c777f85f8455c6bd06e39a7c45d49a3ea1d5122cd114a746d15f525e1344d3e4971a3ea395bd650d5fc3b2b42dbc175cfb651b3cdc39bd572ea50839782e0d1a969b0eea7e7366061c338fb6e3eca00a5bca5d794ea005e7e4ee3c8e90d1df15feba8ddfe20a302995d41c022f8b257e99df2edab7d0f9c01bf9139a18207063a837a79bd4485dd9169b38a218c202d1f19f93b22459a5b3b3d818518d66a2298d821456a798dc7e74366e3cd7c0f4b514eda7ee311a8f32ae6aa088d8e9ab92bfd0bcd96f34bb03caece529131335419db1caa97894374cbbb27a9c0f662764a26a249d56541263135aab39fac9c5d35da0e279b7e0cbdab2bfcaef2d8938c8227352bb2e07f43571c11a489517ad62ce68e374d0d8cfb60e2887c3be9e783354f846081c3a7bf89196459ab02245d890ab0eaa457875aa5208d7f8a7e246b408d3c12f2b150e9f0974f + +SHAAlg = SHA384 +Msg = 20c328fe9add7f432a4f075829da07b53b695037dc51737d3cd731934df333cd1a53fcf65aa31baa450ca501a6fae26e322347e618c5a444d92e9fec5a8261ae38b98fee5be77c02cec09ddccd5b3de920367138a87b4fdf38815b9ba69642b621fccb2ec4310a136c73d731c7847eefaeabb877b5fbda1700d74de758b63ead +S = 6613f0059d4adbe9161557a9bb69b26ccee0bbda9644c082f25dc427c0ee7ff5e365f144b5bcb3ca856c5a33cde8a448af076bb578d82f436fad1b9332b616dc153346b3febdbcca6d4d626a3215e2eda7d28c99c23ae9b7e54fadfe995afcc58c2c808ea61401bba3d6e04402ac05c97831a590e704c8eb1a0b3dbe69839dfed564e9e6e393e5e8f27aed7a0f4662d6ae6ca8d9b5b303e1aa1414a879d99a02a2245eedacb8a6dd6851ea2608361866f9a65a07b2db08edad620db12d3be0f7ed5cf7aa6b79eb9383e14f0a7a0e7943a57fef64322687fdeb6f46e737f345643bb7f4e15f919332fe2036d3f13f71d72fb3a0b3bb19403d5fa34a5de6c75dc67b5ef663c382607b5a6b2e017a0dcc38f2bd27457355d0331270d05cd0ee21c41ab7419b8a9cf3d2cf400f1bdf4ee28175f55a63aa5d5e48a7482c0b1f671493c3e20a5548484b88c244fb30486c882f2cd2c8343ca1e9acc12abfc6870099d1e61e7501080cb1087ba0f51c050c864f35353e673b8ce801646e0433513c8916 + +SHAAlg = SHA384 +Msg = 4052ba56f8de36c5456a7a7fc2349fcde3ed5f0fdb0f1caebd702351e1183354894f3976c4fb5ed1932943104bea8bdc3a609b978d189d4d719acbe7793feaa2404314c04f1bbb7e4109eb4525edcf24235e777e63f9d8002af915d64609fd1fad56d49e61e756b29631f98817e6738fe60f7c2c225ad5b02eb58987101b73b1 +S = 695dd776cad9a55228f6ba2bb455d78cab87576a786ca07d008a1456db291de582bd33bd56f5ce35cb506e9867a8e6a389c0ca486bbbf64de833ac48e24650f0a7161142306bf823a0df886cbdd2276e8cb97244c71489dbb61acaf71977ff1ab86caaf8a9fb67bc2a242ce3001696dc45cb9c881c81771233a4f4cccbde0f4c9faf96ff410758c19a740a625a78e54b1194be892d9cdb1e1864888463dec2c266c33a78df8277bf74881916f430f48b1a089140f05425cf450cff2deca4ab418f695ef4c7681d5e0294ee5105e1503a4eb07ed3e331e3bb4cdcce51264697003b4307cbaf2383c30b4a97fe9765c6537f42815deeadd04b694851efbbd2259d3564509bbe5ced1d176102631eec96fc3d9a30b3e5317f2ee98b4f4193c1a1e55993c1975e05120c32988ddb805600f822b463871b82234c09e04181c5b853ccf59659a722fa0de3b2718e5eb676ee80137c9b61700e9f3103e8c7957c3443060ab871752499bc91daa85ca655dcc49fe450eb8480c466bfe7d579707ee74d20 + +SHAAlg = SHA384 +Msg = 4a7956ab59fc034dbd327204ccaf400ba1ae0b9b6448d3bdcceaa65ee1057ca107076079388bd07691cc67df1060b9029c237fc84571f48cce987e2d688c9162c1ddd04e3de776558349f52d3c98dd381754fe11111ad165f31c14041ccfb53780e3f155f178bd919e8f6516d9be73561d29d29e4fad33ee445eb0098434afc8 +S = 3b9316e5b2c81382652f63de8866684b0f9f693d20cd26c2782cf57edffa966a775f7e075be414124b78a74da843427ddb6a04d6a327bc7b3036dbccd1c2b12e635c4627e4a8064c77f1ae06b58881b6144b1d3f2313ade755e31681929f4868e1ba90140bfe28603754ab0c84ebac8d7503ae149224594e38f9410c69770b1c13c53339f5c3577380d8f8759b40a9b559cedafd8977c8d44f9c4f37997a6075d62814d7fc28eefe12fb49193c15fb3124134861f27abda01c09296b038998159c85735326550a214c6b3a5f2f245309170075203d00676a11fb3788b4d665889209894037c6dfcfc3f6232b9ebff516b785945ea012450cad2c396819f09c9bf8cb766fde7d07d426c41b493c19caa1475aac4ad7f6629aea297327c42fb646ba4111477e723e58e789b57929b89cab53b95bb54b22e81f8bd7d3441bb53ee0b22ad122403cec31ca4d4f40fff541b0464cf5d4ec3dfe1e9b071bc4a6a9b11e5cd63c7f4516ed604129e1bd80a962ace74c9e4919c672b81bda0be11f3f2d22 + +SHAAlg = SHA384 +Msg = 694ba0a1cf223f98ad7b9f7e2fa16b9e7deb2eac8f41c46343dd0f6cad4feb82aec463d4c88725aa30c8334c259ddc208146eb128eb51e381a4ed9b6ceeb1ce0bb23b39f36ccac16e6be0e851bdac86d614be8f5560c0d8cb8aa1fd0c24c3daeb9f0f7cbc2f7be23f6e498f1b86119ce46838e1c8f4e7ba5457c4880327a3735 +S = 2afa4db1e41af844e7ddc5f0ff402f3ea1c676902ca787c376c8952089776fe07f8d62a7b2b10510705663f32e4db0ebd365d169505d5d9bbbc89b37b74c24ae3b9c68112f62420983b5badbb238385f691a6795c926dfa86a259d5b073946f69ee99e683d642690fcd40f5a8e4f647c81f85262d26a2b4593e4c2cc452c3ff8ea9a965eef93e318456b3ff6daf3ae5b10b40ad9a4e54191b395e7ea9c275bc31f92637d6d51117b42b57a94c6d049325ef5b2dffad0eb06f5e3c61b796c55c740ae09cd87bc6301dde55480bba60cd2667e8e564cb56ead71b478e82565380c8aef27b41ed3b826027625264cf042c5497cab09e957bd02464239d29b2ced84f926bc169b1a6917e9076f6597e2a55804620cbbc596c68083ce53985ed7bbf8777d41c70eddc6dc952dd10029797fd081027594340d58625a30fa294c07b40f45df177a6e0d9f505e47ae77e036de3c52471ecb184954572f198b7c9b81956ef0169c8375023e97998b93dcd9340a39997af69b083310cb61eede3b7d7dc9e1 + +SHAAlg = SHA384 +Msg = a4c802d77e0432d516c59309b1919fd8b2890307554bf4c5a018c6ec9732bb84b088198986957fedd18678e1969b51519bcf28ad1ebb46efc6b8afdada44f67fb1a756066ad6ffabdd97ae07d0e680916f970864f63e9f43b14cfbda267a0446916be2d8908c5b1620405c03c83ad5a11429cab3459ba8c7471bd574e39d8ae1 +S = 3a74cdbe007249e26eb41ab83a180a0be12472b57bd65295b73f8856b3179fd4551807c1e279f60a3868fce219895af9e2dbd71fe96830494a2a6ce263b2b13bffff9c30f332b054d4d2c1381c0bbc05bd21662fd324fb05ca8795fbfe444ccc127058af7313a94547df305b4b502e24e94b35cff919075b295899ada6dca61540d793ea673465db0c1fc10c7ca2eabc253659e9c0f63a53c79cfebde5111b2e6e02a10d04b58f50b098cabc1a17b4badeb25d8fbfa2344555314549ba10bc9a79c456c96d88b2163336d6a5ab25cefbd2af3ecc804bb99f8ce341c214d6ca8bdee3d53c310bf46a6c94d15a74f3379e57b2f416ab552866078c0e6dc3df594cf1724b119dc3705873be61a6574655e3949eaef7bf1c959de5641d07ab3d4b0fddd8a6706a25d32b80744646d3de3875ff9f7639d4bd398b4120fde22b98231957d2ee3351e226919bdf596223f15cc74f1234cd9d18cb682d641d6ffcda6de3d4ab0822ab841af591cd328e7e18b4f0f49c90412405fbf9a93df7384da3eec0 + +SHAAlg = SHA384 +Msg = 18a02d44366d91f9b94142a4c34319c69f2453be0355f09b92775a2fa51347644b8be0d48f502393f956864f57c5dd9cbcf27d89ca8da2772d1c0e2b68a7f321d4b51323e578261bb0457c26aa47e3e9b373cb2853bea894438e98e52f6f4629ba080e5cc34d6238e6f66c4e462ff4568a9185c42651cb9cdcb7408682d20825 +S = 2525c6e9e052ba2279e553c525a942a040d7adc8c58fce7521093ec9d8b35ad14cb34abd68c3e544a1df38a6299ea4b0c54ff53799455b65c5bfc17d7d2b519eacf80534e817c96c7ad86fabf634e06ea5f9138a1b958430384f2ecbcffeacc3f5cad2fc951732a45dbfc175ecf48b16c18fe1e856c6214bab33aba7dafe6d71119717450678ea0e68cd213b9c4d6eda077cb79875cf7d5e80a86f905c7278e29376ac658f90754b73e16aa235ca891a9a164988f64d7156731a64171e364b68a5cb2bc9bf42b95c86ba9b971c9551ad315976400df60228c515174eb9c22c5e2309dea7baf60d89049033027e7e31daa52c958f5fe7ee2fc5f4fc17711a641099c0b655f2026db4b4462ea1a533c2f28a525b8c0b1d11a7a411e7f363d391d6cc35e11a5c0f44d11cf1be6e6189ef7e535c2ce18e4a24d483eeffb9308d01b7a874f5df0b9823bb96b35004d044f0681e2614807d5f4c5e44dd3e826297bc5e77f507de35503e1e1fc6a9fad0990e83cc3666e6ad70748a13c0182cd1b79cb1 + +SHAAlg = SHA384 +Msg = d7e5971e27df2b1c3fa8e3fcc7d4550bad2a757c25a1b9ffee887a96d7049ea483bf744769dfdfe81e35b711d7b76c7e2a31ec761437c75c405e918186ac893cb34c773d8886db1e05ef433be7ddfdc46f1eee1065eac2345d1546d53989113aeff46aa58cbe66e4793e5123fd2d4f04045b43f21fa0f0b2cb165f3af68580c7 +S = bcad4a658073dda8cd4a8850fc64d4637e2018415c61c684d785812e635920c59d9dacebe7186f10282b8a26d92166c75ade2194cabb0fc1afb2df212a9bce1a3e5ad4a5f735a2eb03c9422232e7aef4d69c3eceb2dfb9e06f336922d02aa45a9de30bb409887968b6a95f797cc6a1da14bfba6805359aacdf5c5c0c66439c2f8689793e054478d260df80d2617658389394601f2ad20cb502e8ebccdc6a6cee597541863f39d1cc480ae5656281b441214bc629402865b2cf62b21a34972c529cb91e1deb331460bd2d1e87bcbb5d1f021a850cd5a166f74ebef6f97a9ebc0b8e709c13e7dd822be44463dcd3cb60b1a34b7f0972a42b545fd9f5e7bc14c7b987902689a63695c5221996129c4ef88d3d346d594055ed76150ad6761742441f98d76f2cc4f6f4afab8da48be18ac2e9770307e55762e47db1be470e21f66d21062d5e3c6875a23ca11ec4c928dd57f9253e766910347c74314c99f17897b59693d55d3130a301353e781895e2482eb9a2865615e3bc0f5f7c223d064acd5cd2 + +SHAAlg = SHA384 +Msg = 6efdd76650fc2cb2d18b8bb3b7698449aba8b729e2ba958dfdcf662b2e5f90649d0216bf0a885f95b346390e78ae1d4c3d23b5e5900b9b978b256437fc1cddebc45d94997d269a9f60e088c565afc06fab47f5181b01eefb492e86139aabf846acb659def2ff66389f0280c0c695f51dbfbd81a8ccc61523fc93d6a8503269df +S = 51ffd4d03f1c19d234d4cce5c93d6550c051e011f16ab5b2d727963f24b829ca50fc0a5b283b74f25e58be40109eefa5cb6968e9af5ce1f3447da30f636ea8d81c002b90cd4bd40730e968d23b9b6d7b6e9d67f8044361bd4065b520eb392fe7d987b7735faf72cc82431863db43135e5b478ce5b40b0dff81ccf1d9999e3b2c9bc54aa63dc922e2a690df44b4a77b7e0beab27debf700d6691b78e32a4bde4f3be671d0ed2b64b5d39b5f2320dbaea1e95dbe7ee8144801b95bc42e1ce7f983881349bda38f84ceb3e799ffd397c03330cb5eeb6f1c032d73ec0ba9e4e1dbbe7315227115be902a97b774ec3e87a1b1a0f82c1c095cf13650e65ed186e28ef40bedc08be2c0fd46b049cc0c39c7acb2803afff4f46fdbe073386887e9d6615dee8acaa81165de79fdfeff68d945a90b6dc681dd366a24d12af416806d97384ba165657697b29ee4e3edf92fdb7375ab03e485a72073627e5334016b3a7f40f16aa80dde27493a6abcb9cbb91b487ca3dbb21c9f02e28f7e9650f4eb568b3c9c + +SHAAlg = SHA384 +Msg = ce9f1236befbba4c9664eab4b45094ae2133aa6e17f2cc2ac09b237241538dc0f790fa5000881631fee9289d17ca398641e17a71bcf7e087df9a11e9181283452f96e2a7cabfb391363c384d64c8938232592d06ec9a59f3139c35fd5dc8d102fc1994e32388db93c7c7e26da331e8cb7e028ed4b0c38195e3095854175fc020 +S = 4e1438410023bf9695d471353720e2a700e23687bc0cfb5f76c990319a98e6d58c49aa89bc3a0860ae13eedcb69687bb3a9b4b69cf2f5a1beb06dee4512e4c9c0aec10db12ce34e97e29cf2e9c51ac74440f24f2b83e76000537b7764cc403455838f791d579631823bc9c58d9d99489d2bbe718d80b50356cc5022901e7880f79b60d53911932cf77f47130b234446778b52ad14522c3a1da356d8da46b244cf3ef4ec53dc1d3b7b36527b4a5298732aaa78444ce022271b45c9315e5b4ab4d95170619442f6152cd8329f5dabe61a28e4105582dce523e220eed5977f7ccab3620d6e505be5eac384dbec79146861e9c664ad2982c3509076dc67be9c492046911a33d79663c4cc2ccf2d4c526200eff605217e44cf35c8f9c5569ec3904eff5a528a2ff6e65f4676f8801a8ed77d476aeec8e5fc5dabec33b7befe4f6bbb17dd75a9a6f0e88a0c0667ed0397c52adfe3213f286c3e3bfd9d7af189c8c2b2978b2837b2b7a59bb9b946a98e7cdd771e489e3a6ead1b959959301a2d7119050 + +SHAAlg = SHA512 +Msg = 50c2197ada262ec4a5050804b3b0d19585ec4212d7dc01608a282eefe258383cf181f69b5324f3331c53094a0f1531c3110c99e4dd55f75df8b01e86e8e1cee9a156d10040094340fba8325658f467b09e67823f89194d7b42e44aa88ec68e584688d232079dc8f12a4dabb0f7131a64154326aa45efaac3510cdbdc3ed11f93 +S = 8c110bdb2869fbe144f9ea82a6a06555378eb5c5ff5473b6d15b54e5c0111442af4dcb429276440299c424fda9fdd8fda7bbd4eeeef66a9c1652c1a68844d691ef91a2a5c7f618af88b8471361aa91a7df89dbefaeeb2e596301c614c358270b397eb94b609c58397bd7ca6348f994df52ec749204dabcbcaf015dead4399df118ccf2fca1e02f20a4f16cb4ef04e2289bf2e906d9b4acae7db719f58a97990db75aa36c5a5d5f522379f7f52c7a999305719eab0c58f8532cdaeabe8349249499901f4777295b655ad0193c8842cfe5b975c1c0cee62fe2e9300bb377fb3b7462e5937f0bd642321596819365379cb6bf51a3f0d3f448859df3921608f80f886cd34e582ad5a947b554abc2d4e25c3250a1922da7063c6fbb69973bffcd538817434679f99ed4ae0a22098621f7906bef15c8560fee31594096849194b18dba3f7fe9fa8902668b3225f11acad8b10f57b0fd5f5dcc6d74cac0a040ea6f5474c7a79fc465e81f853874787d64796240997c85a7ba9646ff995f5accdce85e78 + +SHAAlg = SHA512 +Msg = ad97dd6e421faa1461cdc3a36bc8c01ee7d26eec2e2925db67aa5664b63c6431b16cb5dc145508fab5c30958ba982284096e958f007dc81267bfdf6fa25390592b20339740ba1904d9891fdbdd288331950bf6c36165f2f2aa484d0c170e0fcd04f981263016863cb5672eb43e40892e74f2b90fb9a74b84198dc8c47d378695 +S = 8caf3ec11af85cd2a161773e82f3b3e7cc38ea3781227d8dc8049d07ed01e41e9db73966e7c707412bbfcf1c0792614da97ae9c39156b4da1f0c7fc9163dc585596adaded142acdf646f4ed7f27d2b9cd04325efd45cd2d1c86fb26c1e5ca73bbdc8b76e1a5f6465ccfbf9e5e528c9cbb341206834f235b94f97aa70c3a944dc6ffa15db164ea9a114079fcedf38b344a1cf16b20de1bdc97e32674f3116e0c129a8c2ea51bb227ecaeac35e6b100c1f1b7b1fd65b4eba15b629032af21f05c33f1791cca63690e05bd9bd04bf2f87c8ca33cfe5674eec3280dfe0523c90eea83622295a3fa362389135c9b9092bd48d1f3b90ba108d782eaa42c2cd2342e964d649f4c820c23b732b1abf6676252a32f46dbb4410fa8105bd4016f32d2527772d4ab2f0e0e169edf91440b3952dd5cceca0425d877de6a56f0b899f5cd20579b185d6d6642beaaa98f5a715a0556ed9e7c7fe0a19adfc36494e5cdf606b7d856796dfe2035f589c3344c3ec9befd74ed00f2845a36d6e7d7d904c530e379dea + +SHAAlg = SHA512 +Msg = 8728b76733676e20a76c7fd31e959cf7842db351db407266ddae0b36e37f34270576724083e9989764d08a0d5c1b4738f34927a1e4366130c334cfe4e35ef6c777294122f73c8dedc682ea89117da0b2fadd71aff6511ecb739d2d09bfede8142568a9755909550816aa27b10562af4be1111ae1d939b3213510aa0d3dd314f4 +S = 56a6d09254c656c35eacd50b69acdafa06935341c59216cbf2eea84a678abcab22fa17109512a46a30e1721c6d02cf103ea31ab154dbea1f9a59385dc415744636f017ee1ee0304f37e034b5f397815d58b386b63882db8d06c1ad5cdbdb834433b5349e5da719f56bc7a9ff58f3d05aedb810704ed34f8aed26546bb9417a89a994532cbc11632fae26593e090f6f9035d4a2df06584175264d6ef004e34b4a98ff81126579b805352aac5e5a6a3574bcf88f2fae077adf7e66a5bb8e8d45d28eecf89ce0253826806f7bd0f27a5591e8482101c244e5d518d0285ae286819576cc00f487582f5fef5045bc17e245f9f13a4e6c6dd7b92554daf948009886132719cd7fe3b39d8020396e98f0b19c2e40cc1e905d306d74217972eee1d37676238f21efa4ce41d1afba1768e3976b909bc5f1b2e218bd36959ca3610795c6e7ad31752587627cb379ce9bff20d9501bf5f1aa5e5c16f101df44a6c8845fd7b3c89879b623a77dd1271b586b0982cd67388c3b1fe4a1a84f5dcc48538e19da03 + +SHAAlg = SHA512 +Msg = bc7c3781e2f83a53149fc95c1a6efa27def23d376866ec4b0c1c23e0e21ed1f677140f17c268b1965aa91b15e62d5749d4fb64024ee7d06569ff897ca026f0f282ff2f17a70dcc2ae8187fd8cfd241004dbaa6b9ab416c96c32b5429703930c543053e88782db49928b39cafc0a4e2d3b1f8ac6669bae96583692dec3a9dbcf9 +S = 3b07f69f1196cd797249b4de7aa4eba49e0cca5dd79633385740b65acaabee0b164e755ce5dd2a3ae78f017a8e63485c0cf462d2d5dd7ca82bc6412c5ac6f6859aa4482a4a8db4c4922c35d8572eb5946060f16c8b4ceaddcecf9c83c5adf18aea527631bf54671cdd482cde94ea98f3400b452e6beef0637d4451580255388286d940fbcb26592daacf30452b886aae029798fc834a9629e425475a1c3fa74ca5020b126c300ac51e1c1415b6800f9eb9becc83b7d5a561d867fa0afc85ab55e8ffa2ebe1177bb47bb8a2ba38579636843c3f09643a84725c203154183af437b37cde023b89ab2a1ed997263991d13473bcc6dfb02526fdd7f41ccb579d5b76112219607854e63d7b02ceee6c36435eb2bee7ae236caa572f3323450c2dfc15ad9077cd79b47ffb45618e2483f4ab5b970179a28dfc5e1f0a25dbc45f6e2b95d3752cb73c31f60212ee763242b1bee98524630924665a917b84646c0bf773829c204341b17416dbd0281c22d33f2ca9b16ab2946dede71f8b25668c22fc1572 + +SHAAlg = SHA512 +Msg = f73951605d5b351846ab6279b2faf86df326ed67bce1b9497bb35386e8425d83ded29b446b08aa4423f3efa4b94dcd88d0fd1bbf0ee1d5a272cb113ee8c935b51baa68e18bbd463bdfdcd8fb7ca9c3815618bff4062e4b291e08a0c6b91ee3a756c99e80e60371c4236e05c62499421f2e7ec24fce4f85a72472e66682cacd22 +S = a5b9a39ee692971ec6d6bc5dd461c54dd118b5c2e604711caea4b40b258919ba97045c13cd767ec0a94254113e729469201ae2b1bdfb53dd5ebb59e9640a32ecdbcf8ad4729ee7e3efb91592fe3847ff7fcc6176a808db4c7fdbe4318afa7243bf7c9531ecc315c9eab2d4aa30df61e6ba4c1473dbef58b486bf38ac9363a61f660110992829c0b6d87ee25c82210f235194587f96a067c3104026439ff5a7a8f64823d35d76633af2c4c33290133b06c4c1ca4d4db7f090cba1eb30da6a77d4bf35b74738f135a60f0fd6af9848a0d51a868deb6f222cd05cca8007e3deac0a2946c7de43f194a987f643c6dc91fd5ae4672a38014c891d3e67db3219bca8206e77b7d3bd2fd84032e80c280b2e9482b4e6e6c2da9e132732cc47b2b633b2888b6a6f1f96ff3579f0df2c4503d825daff3cd0f516984b2a9269e51549558a8fe766fe816a62b7c462adf265bcef1f89f2e281e363768bba819d22674ad8881fb783cd395f4611a881a1a469b4135560bc694e67445c4984b9fbec9c1e32c6f0 + +SHAAlg = SHA512 +Msg = 58d1b97a7b9eef3e425004bad5be8324236debcad4b44b537f1d0f481e0d1ad3bfa815c67cef06deac2b244a5b8fea67f8196ace4eb9e490b6b597c08a4cd732dc9a608368bbea59c833fdece78d07c6b843acc728de5d6b515e2c50f0dcdef2196e42b9294bc237fd3038aa610203c9cbb459bd4a6bde6db9e076fe3806589a +S = 6ae883471ac6a97b9d4a99f41e20601529cf4c06cc6a4d746fb3cb791b0d9504efe292e8e1bcd2907225f03f9fe5ceb41974f01802f840e619b1e2c13338b55abbc2417845b02cf5ef1332644272df1fcc0ad97be9fc09dc29f9fe866c1eb2eb2b27147cb647186678cef1429a3b0e67005c4855119c360ded5e4864b4a80f0fea80caf33e4fc27b1abc81963b06139b06f38c089f79f2a1e9dc24970147442a2a1c064ec013d5d5177e8354e1e610282a7513d2d04177a5b9223d300158bedb35d579c91af4150841f7be2184a32813d4b2df0705c7bc0c86b624daa3ca395646745432500919c6f8431eb6eb8f481f949cb2c5be2d9ffc124165afcacb4082f97f518f9834c77b8584fab019e1cc1002d86a8c3b5bcf2bccb3157103fc594326858e10cf8c90df787351fd59e1eb7c31dcfb932cd5deb54e066d86f53107210071d9ce167711a1ae4fccf33bbda60377fc9756f034486d1eae1f2df3ab10c37ad2beae18ed4a89905ff8609a220879145b569f201edf18b02edf67fb8f9fbc + +SHAAlg = SHA512 +Msg = 529477c33067fa8b2db77cf463020f1d86011c1675e59d450ee28d0947ea9d9e7abb2941011b6a940362ed438d3a44e8e5a3fb2c1b3ace2fe0ba182b9bc38f54bada2f0246b27411bba9cc8816964c7a2fc2a22a49344b72e8320666e3048834b9fb714f28b27fccfc94010c269e8f9b0d66f958295d7dd6cd513d034436f007 +S = 649c7c6c5ef860d78eccf523d0c7cfc3dcac9dfa91abf4691e9ba892485bf9df5cf73db22fbe176a1b4e8ebb7aef617f6e32325f927c0a5f44c41304202b70d072306c3648f506a80ee9610692678812a777c305c956f7d73af5c9e1aae19b6b9b5c4b5e7f6a2df4ddafc4da2cea6d0c2143c92d313210b15ffbf20d3cc26a108aa4379ed04cf6b60283b0a0541af1332549122b6c041943a157d7cd3df03a242aa2b4482281cfc272344729a6316c342847554b6a10f7d257c30c0b19f75d7949a754b187cc29a6593ff494274fcec173bf2a187413b296c17fa27ff87fd713ac30dfcb864d07ed2749639382666a41e278c8106dea0797a63c0a185977e86ad72e09afd841d79e4d7ce69f1994b18933632d7eba2cb768a1431b0cf60cb22940d4be6581d26661136ce6db4b14c7860852b3212e0baf8a600add573212d4f7df386d0f86b12209f4cc4ede6742892435b47ff27e98dead1c2d4bcd8ffc93efd1bad3f10e3ddc53c1ea57768b4295520f81c867aa6a5e8e681f705c116bde7b + +SHAAlg = SHA512 +Msg = bbf033767a3714f3e2a037af7e9a1fb189818a4e5770f79cf1576629004d5fecec27357b44498c7f61bc19654681a957cb25656bfb96541aba3521f3ab2c1f9050028aca736d1029c5678f9ec6832175e4825685e721c0aa8c36b57570fb502130aab9c9cf4aa6d958c822c3c4498ef31dbfe504e4ba4434b182a9151962fa86 +S = ad8c9bfd4cf25a482ef90ada72a0f0858de561d14c47c25a4693a2176a976c43518f0afffaf16a58b7e190aae5d596cc6350578fcba70ec5bd4977a10b54fc05c3027fa96bc0727294bd67b2ad7c1f965f76c8e85808021c7b24f54165f3dce007b153ad376ad819bd30d90f6035463bdff22eb8c11f80aebb413f78e59bd322d3b9ebb2c13668cd94bfd00ec183c1d1be05ad2faf376b92dd6aef8b151509f5406dc507a817e0a42792fa5af4279294e70effbc7892e8c1bbd614d040cec24dff252495d85b2170206b69eaac65c3d99d4dbdd4bbc584daccdcf2dfe8eef7a0c447115d30270f4afebda47e6479f6095ad3e204a0117143b5901ba809f1a6f73a0a23e9cbb1d7f0826059095b0954c57f18209f223f662286c9b2c098b2baa855e2df4124276b8585132b6f9e902d99a65353b30b9639df2b4a471ea53dcd1d14d4b60df94387089b2e2ab73a686bfe0465c80cc28a3db0f16c1acc5dfd493c6b0d01a3818917a76c210baf2e766d665a6bd155e902ee4fd82c65003b3cbda9 + +SHAAlg = SHA512 +Msg = eb8e907ccfc298b66863b2b1dd0ae3ec054848a0853b59f2395e6f6cd6a584aecdca3a6172e11f6d5d33306c10499c5edb47ca9efd7c9c150c36f6ad97db7a0809359673d00ec115bffd016cb17fb1fb7049813cd5ddbedc305cd427e99b11c26878ab98336f051656682e9b08d3aa2a8bf77663548746b16c7711c4160dcf42 +S = 2f17b94ee519fa45fcd2e83085f034398cd14c88a0b3514819e059dfaf79a61ee1fb453438c65bbbf923c8fe1860c9d0676102536081eb5aaaf5fb08c8c895fe4d5fa3750f98ef9c1206c76c843e7785e90455adc60718f2d44b2836d1dd8e82381a0bed7d48a71f7ca4d92b4be730364fa6ee861395e17a615aa210597a89802136838f48bd9917ca4b94c6793b3067e22aa746df17311dcc6627cfc5f9b3cfc02829f49502df3559c80555fdcdc96504d8cef19ec6e825bcfa26c38274b7ea69ccc575fe47d5aec12ab45657f458386bee8dea5dc823729c5f4d3fa82d385df98045defdbf6ab984820b039ca1bcf5da955134808190f1ca4dd60e0d4382fee155b86eb680a099c870dac75fbad0310d0743e735c329b4ceb608a448afc1a6139bbde7cf828817f79cbdc08ba871cbbe7073061ca337253bd19e4798541b1fec54032f291045bea57a8aee43cb6694774426f21ebe049d57c4b8be7e1dc395357fa1112ff49df86af49d0a96f6d24f164116f54cd2556497edb26842c4ab1e + +SHAAlg = SHA512 +Msg = 373a8c725c3a7c1658d05dc68ea2d2edc91b25f9d3b381bd4370611496ac48c8811ab3b286044b22c6d6608116e093345458d2c4fc9e8a3cf6c417d3b24e80cb77366199f8342846293c841550471b665f567cda81b454b8f37ce490155cb21ec1987f70db527a4b2908b3cc655ed24b911e09848b7d47f9e1a0af92e65e4887 +S = 33353a5e6f8062b183d4ddb18e718f19064b633ff8e3cead3ca6dc9af875110242bc20187b288a4c21d644188398fc3404195bffbda41adec3218b18ea8d68e98406cf6a91c203a48be073fa337b4c0e94f7cb8991d0c0ad047d147b1b662c15bbae49695af8d861d19e573103754d5a5789d7a84c41790b52f816e24b0f52c77ada15deb52b1b463241d734a4cf5d4b031d8473502054f5291d7a867ac0b2d7a086602014da3a14f4d25379823c03344475f18bb17b67326ded6b93b725bbdf7e7f8df5c6e7b865bb26ce989ba75a93873d3075625d882491e7bed188af04232f27d4650375529432d7bf4a79f83e0d0e1b1ebaed4852b8fd317819ae8e871a2facdaae876f6c8927db122e724ae82f17ba571baee771e634f8f9fab80e202bc51d3696f9f8838686e81fe0cbd97b56bd5c0947428a8a248ed2f55fc43940fd80cbe87c4963bd31138c3ca40e07494cef295e285297ea9a3d6d63475d1c8dae9f820e5d6d2d761e248adfb77b6a9ff6d74eba607690cb67fa78a3dbad573774 + +[mod = 4096] + +n = d25c8f8c97b7e5a6a98de78f19ef18077cf952e64622e4142e6ba5c8ee265ea9b34b9e5cb2c1ac0307547faa70126229b32085988c0974a03198c89f8305be4bdc445ee577c60b7a7fdfd5cf7283f0a1d0f2d65b1ba2fbfb76c5039ee06a944d40ae3843c9a4d60571db4cd16e28ce5b9fb9fa83fa3cf8cfc1e87103612568ecdb1a5c50fbd0911b645983b629ba72bc2d228207b49e00bdae1b906aa15ea2d23f8c0e124c9e7de1b3cd3b9bc6a017c4de3f1d6548dacad6d4abd5f4e179a2a5e782fb8f818cf8f307f84f7f3bcd81059e73192036aca02f805070eded8b5de01037f2b34b41e86bb8c44760492cde4bc3b080d5b0624bfa1002bd6a75d0513b07c354e8edf8a6f57dc14290eb8850659788098b9971fc0492c3ced7c3478689444e771c9434fb624eb4243f740c3ef9c3f3f084bfb59f44a46a1d3b1438e661ba3ba08d525255224816348b4d696475ccac3871fc7836385f7078412cc58e36747d248bb1ab123fa33256c10d1102f77a60643f4247ac1cdfdf4d8d51deea80795964f801f97c4f955eb181136bb39abecd3549541ccc9d29e34a63241a4548e836c4d2159968596130a222608ae0b09d9ed30cbf04d83083457f60e8a686a452baa2b08c177ade1a3cbe7bc0d6ed846c24c4ad5bcaff3817fdf3381e64c39c18dd4f54eb82fc23d3139843228489399c156565df75f3808cbdfaa53594bac5 + +e = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001 +d = 28a6fc92c5eb22f54f44fe1fd87a2d219d542d6214e1bf43eb28a0743119b727825fb5ade259ad1d34b86ea7885af51f6bdf7811dfd61ff4a941065c551cb206c4fd6d7d58e52be8b37795412eb732b482c5bb0906513bf2ffa3d92c45e032e2af023c1b55878658ad051d5647bc990c79d49e060d40e530791fab5f64d1aef23ef15c2fc64a2b10a916e76e37a8316e0e26e20c0d2a8fa81852795931f030f50294d54f52013b007817cc52315354e495b28ac2bd0e932e6b10fe1b01cbd8d3c8e6b628a8778ed0a094ab004295573eb7bd3478d6380c08c1fa49a8a1445292ef6f707697af97f3e154051b256907588aebbc2a0f991f67a6da70b2772c17d63fd8d12b94ab4e0faf9330a4b4bfdcc6d9137262cff60ec003e61182f201bd07c7d3acad67cf2e780e29a11238785d4802ffa8136bfb4d3558b48e8cb77bd63ffd9bbeac0f51d297f009a7b603a388603c59d7d68a02e2e027bc7249177b185e567b7a092986e8008101d4f58e917c5e9ecef56d5acc00767e0d74b49c2d3bd29ca290e8de04f6e161d5e48af3253a1710d1f5b7a50f888a1417b12c221ff25d9b106128829894cb16eed84333a96abb2ac310b4a72bd207ead3dc2560939307a74f3ba3b8aea576cd846ca963cf337fb41b506bd2320036e3b469af5a1db5a2d7419dfc762441da11275c8825d96d4ce2703a4e183fd20d4a9fb85da6a07b8d + +SHAAlg = SHA1 +Msg = 80f161f9e7ae9465dc66e5401a778ef14194c5e6d7bae1288c65bf33c20364044ca9e373760581c3469418780214b968f23d951567ac1e3afd2069a41ce8d743c59cf4818b0c9fd2df766c8d91fc46fa945459ac02c22f115f431847220bd03171325ccb2dab35ba2e75a828d0157dceae43d752ade45bd43d3894c4db5596f6 +S = 25c247f99a2ff5d698ed3dbe4dde8eb4913230e13039b2313dcd0cbfa8174f8251e1fb17aeeae360da0cbfcdc708751e8424d47e692e48ea06d4615f7bd8b71cd2ac1dc943d5ec2c35e1585c8b9757026a2e103e22ff6c2bbb70b051e83ac93d810892a38055f03ff90d497278738713aeb671fbb6b21cc23097c5d5d0d49c497ddcec611778d905ea635ecf9c500b351d0c09aed6a59eb33bc461081841ba28e0eac4331e0222a8e8e71b0e5c06addaf46969fb836b872aedba9aff01f2c531b8186edea77367df9c015fdff69edca843ef24a816a0bdd464ebc7f7b20ddec2b74f9e856476e2d9dcf6efa4c352439470b85cb1d4aa21719a035dde4eee22eaf6743874eb7ecd93334edc82957cdb8e1d6f56f731b6b0d5019fcff92cc1db18f6bafff146a9e9bfb5242f63418c716b5081ebf0c819bee15168e47eed4028a20ffaf9a762148384fa76e6c22f1cedc9e182588ee887dfe668c30ac4f6f27c4c3ff3e2dd73bf7ebe1399b5addbc6b5a1ebe2d97134fb26825649128879006fc3dd2067b6c681abb678d186fd97f23231a798afb640721ad9b84fe5f51e712a5155e7a4333458eb145b67ab48a85b5eeee2d1caeb763a37018cd7fd5e7cd41f8965b25bb309908fd7532b5e636a85c7603759c0707ab58de6eb2ec46e9ce1eb5cff0861c1d31236735b01e9d6b83e0a2ad42a47aac91a0d0146db13cd4479c3b0 + +SHAAlg = SHA1 +Msg = 9f993b53072492ae16d9109965f9c86b41ae08c80ce4df18e15bdd3777fa1a6e486779a3f2d42eccdd1c7eaa1e0ec6b39b08bf5070c900489280c57cb228eed665184b7c81d61649ca2dc17dce7ff3b30d5ccd145d5271cb8d07c5b8498674693dd736467ed2520b2534617c3df35454dfcfb87e9b2a39871a19655402bbb310 +S = 2ae6d937589efc4a871378fbf6463378963b3290002fd961c8fd52faf1909f86469b738a8f644fb3e9cf414486771b6947226123517046d8fff8d9262a99d3ae94012b14349995904677d387e4a12b334bea6bafb0a255588cb764867cdf9fd626b0c42f76e4dd30c52a691209a830fce1434455212053bf6ad91d2c7bf80dc79c1c4b0157e83205867a00048758d7d136d98391ef20748fed0aa98f6b7b88e0db4981f0e9bbca300a50314e1cafb1f26580495a2bb3f0f05860c6dc6e7089c03bb58e29ac61a9084827570b95d90f568670d89e9173a32d4e54dd8047b8bc04d21a6bfbb948a96c64f74dd649bf3c911fab9b02697b3f7475f45ce017c696da06a2e955e28152fea9502c59093704da6d7df963cbd94c42df9ff7fba89e7b113f1e3229887c0b26f7694d1cf694993fa7902caa92f0ec304796488cc93f789ff28f6d122c642a07984a6f71543c8edde6c6122bd1621de349ea2b67be2e87ec0142f13e47266eb5f04dd122c7377bcb6ceff922dd74872f091818070fffef24618b27b12827cebed74103de9b9e0091ff2276ad2b2df0d1906b7228dd4c8b1fb22e75dea87d6cb59ae6eacbad6ddee0de44968e8b2450df327c885767e219601c91702caee6bad1c28ddc47abba7723fead6992432685665dcf8a69c0f5dd2275ff551f13c922f908c9ca647fa985f05c4d890e9bec9821c040d999e9e94d2b + +SHAAlg = SHA1 +Msg = fa4787c0dc22ae64e275ca1310802bab56c45d58c267fd15f3dbcc6fd1bb028c7bf5e56d812e997054623a19facb28110605a26fc86f9737c1d4b820594bd29bd55b5b1083634b6b37392dd7fb1275c903a21441df844a4df4dbbbce2d3ac67eeec112324a89695d7543cad67c1bb9db33e3da556f6dbe5d7638fd00b44f853f +S = 87d32441d514098201ab4c4336599292deb59dcc536e35af55032beedfb6dfe9f55fbd1c9eb088cee1dcf2487d355dbf0c392a98541ca3b416ce2ab176b3f7b031a27969f7a45928db902e1b70677a1706e23385cfeca18f1028aba3f084104e4548d1f1c4c42ba2587f59278962364c67da15ec5ed0863c91bff4ef5b6562bc74197befb7a1870e9eadb90002ee274490266f7dd7ee832b818204c2d902cebb03502b3a4b43644bca905519ab789c3b01da27065060afe3945d372878d4e3dd954a7fcf75bc0772133b6c22313b2f38623caf36349e9ab290e95db7810254a0e6aa57db5412b9b10d08850a51cfcffcc3f0013a524d12c5f6d431f5c679fd2f98404d7db8d3f67b65a06d5f57e4aceb8bbb060fd054a79bdbf1142b33a458eabe165e5789f075b698c23abd044eb31f4eeaf29c5f8255a157e81ffcf57bb856173ff93bc51c889da065f14f8308e3587bf01ed3a7289059db19b7ea43d0c69194bb8b40bdfab94dccf80b6fc0903d3ba73d4d6b2ba0d48acb5a7342cc2e14714991632c8faaf2c257f9310fbed2295970365e02dd6b2849ee134f0702b86d350a32029722ccc2c77c76c43793253a2ffa0ac83c07532ba956132c1cf03a6dcaf128e498eb175be1e5a70d1573b1d4cc93bb924cc763a62d5fcb06c3522642433b36e866fb6c62808710ec2dfcdde7d212b31bb53cbc79de49132c60a90d2585 + +SHAAlg = SHA1 +Msg = c82118dd81f0fe7132d2b47cd1fa71e3fa9f63b3da4eab144b84aa78407c7b186446c0a1fe19a22a18ea136ae03d56284e3cc2f20706c312824921be6913858f42e539354e0a2f68b1264521d412c70b08e735346c59470910472f815a8f1e98a92709ff396aad1247afd10a7520cb746fca45e2cff041e03ea55b29dc9a4e1b +S = 6aa3b2eefb2ce0eba604222fcd9306900db019877bf5b0324330fc784fcbbbfe93eb01f5be964dfd2318238850e5197d43a973823fc4b9d596860d4ff4bc4a1f403facf99275062e41c7ca860baef4527944d869a513a06d960f61e272fae7a899f5a133a02cd20f45aa9abb7f372cd69121cb9f3c0c512494d8f97ad3c9cc1d3a1aa3cb29c7d075218a56be1f01516450e41043df5b182a599dddadca1eae1cb2d7aec909840894402e8b6a0b0b56677111688164e8df904c0eb06cc4a379fc0f25fac324dc3d3d4ef6bb2a59b50aeba815e49dd74ee19e79afb15b07cb09151aeae0dec21c052de0ee9d85870bb8e7269478edc83204c3008871821622aee87636018a628bad4e6cd9da74ca2a1bc900c1ad34622e1ddf4d13656b84936692a969759ea95c26daae786c729e90d3ef2a7672fedcb3572a93dfea2735ee38d033fadd375245c0a2cd0b60687a9620aa64105f4131bb067606742b5cf016966ce8079b317225238edbafbcfdee2a82ce19274bc33d0a0bd8b3bfd69987f95a4b4a21edb3d70dbcdd6860355fd62e9876602403eee8acc79cb43a7a58362d648daff05611f97e85f3d351365e28fc4dfb328c4ecf6c0c88613d5bcc21ebdccaad2c0c62d4eabf968b34036617e1925fd908b0bf649bf2f202f7e5fbed6c8f4e9605afaaece19c1ecbde5a5304121fb537debbab9721b0b9b9964d8ab2b8cf989f + +SHAAlg = SHA1 +Msg = 430dcab25161982d766e3839cc3da0c41bbe0ded95b1500cc4c768f2c0055672a56a2d2044d16958191981827e82c0951d5a50daabda98f3d44bc81b716cb1af0118dbee5724d1fd9087c02d48bd40810e6d726b14494bd72b352f6aefacc20c3f60fba4f1217a22c3001bc394b4cb90d43d9a2939c712c0b3d0c768a38d3090 +S = 42681ac1828fc86403b38e24e2022491b8aec6c75c80fb3f6a96d8dc7df5e2a5f8b9bbb3ad6879cd813a71eb2b843b234d5fe76e2085f8d82e085e4cbd1a05a152c806629226f5de8534773c15b566e538c272c8ead0b6adb98623f868f54b765c7b0981ef9136ec14b42d798e1a041b2b8e7ea74b1d4ba56ba64a926419c5c504d6365d7f64f3ce6a3c689f67c4fe1704fe2373903ce63c07aba67562bc2be87a4883e20be5b0a3ccaeb90a97db921ad5e68cc7dd4c9cfb5ea04d895e32a040a841b34b78844f2f6853b3855bf489c10919646a9d79c2c4690ff7e32185c13dcca66e214787dd5806b492aab746f35ea9458d7faabb35ad45ec766d430096a20e5168ede4c636e8df4a2b99bcbed397c476c8db9abb1135f1b95fb022fba03a6bb357ad7c02ee2e6fc3bdec125425185ce4af50c5adb7175eac5f769378bdc95f1f1a06d24199dd7f846588176172e42e331a4186765b2ea9f9c8afd72a95ff35ddfed7f3c80e2e7a2b5b6d5e63ad09fda5759548f78eb1252f3185f023ca3bddff2c12cd52386c4cb0444e2f0bb25c62102e4e4defaf216670f953602435d138d1c2f3e6cea5de735d9d753b1e073659aed8dd292cc15ed56d6169d916d18fe47d31073f38672575eea480e4c6430dc460447dbddea2c08d92a06fa849589563ede7b37e16bad433ebf9e2e5c3c36165732305a27a3a9acd5999c1f0b92507 + +SHAAlg = SHA1 +Msg = edd8d609976e9973817577460629c749612eb3d21e30488bcfc7c976009d492f6dd27872729fbedcc23a86f65cfadd6fbbbc3ba94d85a0782769e326f7ab47ba3a255079afead5ae0b2b55a7ee578f0016864c24d3188010ba99915a9ee8f772bc9905293697066fc30e8c61a4880583da568f4996310eddf1217b1cdd9e7fe1 +S = 69c816e55d6b3b3bb442adc908a98a0e07500af74f9b63f88f4e3127440a43268b66b6f5284695b9ba22ed1a476f206c29f15539f879bd451ffd40fa465cb8f306e179c63a5e9ddc5c6b715d3ca8cb5cf97fdb0de4a376e0e8553d4e0f865e907606cb1ddd93ef3c39fee31de3e669874494aa6f9c56532d3a7a899c6b6cba958e8602ff27a69bd1d06a819c6e6470f0fafeaa26361e0ea0f60f70b94a15d71f8994a93c65060178b078c144b5363c8f72c22e5073832b35e0857d6a440b3af20d2769459d05e43f820494c8add81b30dfd936a3db8eefdcc3fbf0887608fdde38e9adb300a57b27f9c44764cef49b49cd6da0e9acdfd5d76feaa8acd12db571d537ccbe5dca7aaf73cfdcba93c63913c156d2f3f5a253f7d8baf1c40d9904b4b44b36755442e42c82ba54838d7703bd6256100da463948af5a990fc0680f2dfc7b8741d85afda74445cd1e0e4e319ce7ae6173acb29865e8d94f2e0519ed3826f58714237dbcfac731652a120b900b81017663d3d54f610d493833f482b6bdad2d46b5d11f56c48c205b1c15851f7228f1fca4fb320c0bc4b0a285103079a3337084ac4e14b6ab2fdc39d4b447f5222a80caa33f015fb69f688ce3a6d052b57fedca12dcb176d2a656e6c9b319e399aa55dca9512d09d2b5c0d5fd765081334ed5fe27dad1e04323dd62796bcc6e8ab9eeec1149c20aea04ea39894e1499588 + +SHAAlg = SHA1 +Msg = 827686813a7c22dfc81ca7643feae6eb1b425b53d38c60dcb2bf9fd4e224cd74ca5d96059aa5d34623590312edb8f93e83e7d2c112372a1732ab90e704b536e37d41edef01f4518634b6415a0d6e933b2c0c053a6dcd760ebdba56b72c735b61442a758a99f20567a23a4a84c7941bacbbbcdc080cd5ab8af9f5da8d83e4a2b5 +S = 9b028d8d6cbd7ebf0e70d06f147943e0b36dfa5ca7c5143f981b1e76ceac8898839f107b5bfcd85cd9af5c27a27cd1d45ebc28dfac534de658b387d8c4ccc5a0d46de36df955bbfb3685b264156be333fff4d8ef8a34bd206f80ccccf6faa55548316938f68ad75fddb552c4b72cf0fb1728090a1ebf2fccc1cb94c3ada65d78dc076b5c78b6bb997bef8cb5cee6b138318881e56286f2b9d51fecf1da448ed9e4b03228e9fbb658d6bddb043eb941431fe0908afb80a90ada63cf92e16cc1af65ba8c4eeb910c32383dbfa140330605035ed1797880c8348cfb613525e0c54f82e6ae83854e0e764dbd1b502f19aa372f0dd481b1423869f1fc21cff325d0c643deb71266c991c175a15a2d3a0c6b04394f9dd9354e921546091995981fb3fbfc1631067c51560f10fec097d27a587432380db3bcb677c0c21a1762260f7fae5f6dcbe55e1dcc5d60f83ab3181100a2834861e2c3e5db2e4faee1a3da48fe94bba52f13835aef2ecfd9be1c3e8f0e8668bc05462d7220465783e25bb1ed20eaacebc427c209d2126d36b6509350f2313f0c2f2478c243555a3197d7fa9fde28b0dfb4341859392ca3cf8fd6ba6f81b579d67713cf9e9fefbf22c60d0b99f71228570b617172c8fd2d02e8b14037a1b6130e7c35126ff5df195033cb22058848bc7893b06d216b30b271a174b8e733d7563cf4b2d1b61f00bfa796d650f28349 + +SHAAlg = SHA1 +Msg = f08ffa1716c6a085ee1951aefc9147f5e9be1d99ccf13586a9ab577137549a23e730881521907d3ed1455029225a354a8903e29206d0f141a72686fc4df0311fb2921654ab1e4b65abcb814e89a3e797837b4be0822882bea0f00bc5e73fefe65b9bebfc3bdad1a185932c46b8d22383dd10a0abc862b1a49cf02ef58da99c21 +S = cae090d065e0378374d9433f4cebaf7bcebca82a0b79ec21313c4906bf0fe1377aa32f49bb671db09607eadfa3c4d302cd4dffb1c14ea2f21fa2cd6b9e8e96a5867dd9dc0a5cf4a01cfda814b13650bab33cd0bf34a3a4b87c89833453f247475a7bad065256267d726fa413faf46d595277e68c70de02b73e9e4abe5894de75132e2398de941f6e051da9eafc66cabcf596e287775ea9b50042dc365304d110ad3311b06e0146096db49b935531c1f132d64ab42a84128d3389b031cfcab154d88e281f27791f17ce181d24cb64549f0a93ee760f19905c4da8095a12cbb01b8162bad9976e0765142654e7581627173bea35d9afd3682f0c2581a37c4720d110e368c558c220ea4ddde558e859bdb53b091baad2de07e101f56adb0a1a240f697358e8fa7b745de43e0f76e5ffd5da1dd3cf63c8136b001d1019034e688a960206e30e04bbeb37e70705504a8e6802cb92407d55ba800f7e935ccf28ede9053dd3ec564609b02b34402b64ecf013b40752a2f28945e37b9339176a6d86495899d4affbecc8d1812d536fc1c48b7f3345241d5d5d18e7f5a2423ff3749790459cb47d71eff579cdaa76d2117b531ccffb481904e711019ba50c044b4b8986571bd5c3e0c9ff2856993c2e59535e5b6cb070bd227dcf50149ae215c2f4290f4318720eb33d50d1a13d961bd1d907851a794d211799a6fcff7dda92abf97b22e8 + +SHAAlg = SHA1 +Msg = e12929d730aaa1bbdfcde32c1d98307ec40fcaf3dca8a0d161fe2db745c99e30b90e3389a993e7e08596537e47bed067b252dc2ed7a9bf0edee26e3703d5af66df487eb8e967afc03c6ed6d79ba964b3b29e123c9e89839ab00824936e185814db40d20df90c41828bbd33e01f3f338d4c5b35c2392e359d5eda1a728f7be063 +S = 7f08e819e3cdab1a45c3ee5cfd9c302307d79b831c7f4cdf0378ae6ffdf84d8900b8fe8cb89c3536a1219c1214255437da9ac5e2ed679d5677e370f301fd2c0c9f5327ea2494608337595e4e22ed07c8aa4bfc1600a368a3497508911f236c4c1bd7c2d2aefb744215acb2ecaabe6fd0c4bb326fa93775b438a8d5314330c24345fdce856572cf91021b6f75d407c4c4341473470fd84c4587037c59e02eb009287c0e51444e397876e2bf5cda80a01bbdd5c7a60c6020c36f3799c89fd2b6cf5dcb94a33c7e04ed21d6ca38144716bfbd96b9f510c5d701e56a0bc23d555dc5cc53e80806905204d867eed6aceb40bdf663ab2383dfdd1db48d6cbbe0005f69b24f19f9cdc9af34f7e5dc18f9cf0fa34eb4eeb6732cc05c342e33c4cf7995c6478ef2f64f018dfa0f085b1a12b179c3cb5825633189bb4affc0a001a7c6b8bf4e4a047b637a065974adbcac3cefbb4210acd73afde18c79dfdb1fffdf916b30a80b3ff82d39fc4deaecdce05ca4fcbba7d5c71981710ade126986fe48fe4b118f9952015667be3fed473c362d273ec3d3d9d260dc398d892bebe1c13af33cfe323c7b13710e1652fb8ee5cb4c0653ab2f47d1bfdd217e30d082b9a27cc1f1785c9826beb53817b5c763e217aa06c72319bb77b47ab30a0c58d80eec4b4bceea9478ae1a35277c61ac42b0ac4b9700d14e85203708b75680239a6d50bc9aaa7f + +SHAAlg = SHA1 +Msg = 766e0bd60285d58beaff18f45cdc2135c177329cfbb8e07aeb8cba3137922b8f4a18a25a9c45ef2c3397f1816a916e0ff1ad42561598bc77419e4549c56342aad7d53c13d75e3e70d85e7f2e5bd841955d6cf9589585b06af7d3a9147cfc4445258e22293e398afce03b0c21b91b646e0f9aa1cb03e786fb131230b9e3c3f907 +S = d17c50b5b0526a1e412d793b364a3cc690d40b5ad0ebf627ad469ee01af986c51fcd10452ebd90a4657aea9f90da2c9a9ca720f082b012a0bd9b7b032e53ff0cdd627586025728227f9894da05d74d381379d3235833fdc028b9b30dc7818ca2720826ea4404f655f10298b62fe5cae187417e9773f2b2ec8af17ba3bc09837dfa7767ae48e57f4ecf07dbe3058d25f8acd4ee784bae85435fed18297996c6a78c9616a6a920e524ae3d61bda1254609ede681b807a7529db1d5d64ab7427a4029d7f8b131ef7072f66a302213ed13ce451da0c5b98f90e276d5cf675c9fefde457df91c897f77426db94633e345f3eac00c823b621ec6eed45a0fcd72470b4cee83909beaae4eb41636ff14822dd74417b0447316ab33d1a4cc7a7bf0253fbf812a17fad5fa63ebd41eaaf7abafb8f41b096831def95ce6eca029114914573b8eebfa96a296b7e6bcc9fad83bdc1d6ecf3e6b22ce9f3dc87a68ae918b7daf98ee9c4e4d7ada2320f19e9637254c72c29df2722cd9f472f421e77419486fce49d5dc7f4e14224e312a28769f853a2b2be73dae99bd4ae4d482af32afacc581a9f349e74fb1729eb4706ac213493e845fc37e03e4f234da3fba03c620b234889a3cada98fe1cc0b5f5e108e5c0364d71913fa7c0b42215788df409250f3cd72e822fd66351ab2d960b6c43bb36a5c8f3e627a3e8062802ee56f8ff7936a52ccf9 + +SHAAlg = SHA224 +Msg = bda79b564e1ef644c729add43ca108bbdb0558991611382c059213c30578e7f6a62d4895c425a7def3b7d4f3212bc28b76148be77fe0b3088cadb11f565eab45e5ee826cb1050e9508c9ab44aff7f431cc32ce41039ba9b4e0a102a0751b2c9e449451c35fe5b4d2cd0a38af302e2617a5082b8fec6aa09ac9170e2fa9d6f26a +S = 83acbc8e1f8217b7a2f36b57c62429ed7a31f7934fb19836560a6ba115174c4d587d73564a7d0d49dd40cfc46c52e59e46ded247d9068ad8ede7dc4e7acedd6c22316d5e6c4ef57efc986f75236889e71b958ca5c658a6d1d90be87edfa941816da92533c85db67f4626202b7dd0f5dc9b1793a74186057cba6f277c1897612c13b513905898871e276051ae295a77f708713246f72c7f0afb8ffd39cd37f5a125e0dcd768e30869f838cda6005858e7fbe1dbaad21d575d5c6376b7698a3afd3a52a349b3d88667e0c2974dcd559470fef4777168484c2177239dec43f2c2bd2f5682cd89150515922907160539901090fdb5280f8b1070a56b3bf3266b9f90f6e477b11b3de9c731d77d2ecbdf5a9235d3e5ef0abb44573daa1d24ef96a65ea40f0d2ee5c4118f358662035d0e9f0eaca3c2fd02175a260754910836521d72994ea6d84f35edd7cd0c61de9404fe6b2647ea6e6ecdfcbcddad2879da89b0161d972862bf2c249cda8ef2f36fa5eeaaef14f2d43f29d83a2a6352eede58296baf0505a4ec5f15931ca4df7ebe3d84fd9b6462dc6ece7abf37ec73f404838e296a8829b27d75d2fb43bddc2a4962ce7f057106d77eeddc64d116b0f4964a0c7abe52d517f6e51a99a7a7bcc88ebb420eef2e4123a1f5b678e8657fc00fc7e97ac6dde190c0f14887425c30edc77ba6f7512f41fb3e2c0b0175d7b75573e3d332 + +SHAAlg = SHA224 +Msg = 6a25de6760a962e601aaeed7b1521159a355c25e91d4acafb080c931e30232662e9b36366e07a9f048a87e8c60e09933cbbfde01c6de8e09a88ad399152599c075caa00ea430cf9bebd1cc4a304bc94f6906a1ef571723877064add01d09fe6125fb457669eb7defd36efd9c895a4bb7667332b2aa471434f056815e61760752 +S = 61c807ee465fd1d825ab5d99724b659bd9583fec75cd164539772e74652bc61e53e4b81021ec44698ae913ea0b6d2370258ff5eb2894e4661c250cf87d81299473a46e8f93014b116c9f7fa0f4b89f56e89b40aae7c41443c28bee1741ce586e6f2bcb91715447af4e7dc64ae843176f3729ac4eedb88c88e46301a082ef656bbad3bae14869715e317ce0ff1e6df00285aebdb5ea2a1d1d564fcc67eadb2364b7b73a948292607a89c821332b19d7a48e0ee29eb23f019159310eb613f33e4a26c33ba66043cb84efead979dc2773fff33c6e2d105b8cc0692bc706a502361dc7918afc5e84393a703880b80eb9424d661e8be14827a67f49c3de2cf006ed260b9cdc5208e623cc3f6e4db25b3e9bfc7be6c0d7f9eb3dddb9183129bb97c339fb759936c97710ca4f5e1cc524d03ff9b03a5045d15d951e739c910efd9ea2edf7e42794faa188bb13797dd4757934b4529524a328957d655a85a3a888e8d05f6d9da9ad454dcfb19da64ad35a73fa7cf8ca827ca8a3086744306eb680acb430d60fff150494ce1b1702c10b53dbe49a2aa501916a82c7ee72c2fff95f063d00cf572bcc94ec0dfc8d38f6cf6437a1802a0b78c45abe654c527dfb97047c9ed1cafa37a9c554997778072475e517f765e71df8af222295dc5515fefee1a283a171333df9cd37c9d3ef697ad61fb421b5a10e368dcb98cacebc9a34a64264fcf3 + +SHAAlg = SHA224 +Msg = 7310ae61cc71833c740f261db8d36bd631c2d72e987e0d86da108abd6fe49252e8156ac8c8ecc84f95a388a02f6ea02960bc566ab3b9b19f8a182d9f6b11b2049ba5c78cee2904bfdd02c5d2d9ae26ccdf042be74dbc3e39f431df936e6697aab1472d74e5321dd573b6467b5f9be307d722bc6d0c8d9e9d40e2086320ed278b +S = 9fd63405dae6a2441ba008461a2085eaf031ee30eb710f9b35fb469c3d2025f79d48f295110f7c34da4aa67459c7732a3e55ada08adb96f679c636a989aac7d5e906776fdf27e86c071f2563ec888c373fd9d36b88c0e10c2b6e17ca4de602ebc076ab6d8545b56b1e34ec7fb3f81293d27aad82c61e52939d41ee0232fb3b554114548fda2badafa6f07191ccec84b60a4c1117557eb45fcb763bbdfacf81b4b9cd980c0fc533f1d1afcd6fa807a26092e87004172492b1f33ba43ccf7d3e17c3f4becc7483da9c7bc0b66e85a3e9ea7334e8bb4e9b37e1cae13fcac8c290f1174524057e56775817368ced1353f1bcfd6ffdfb05ed5ae839d7ce222aa60288899517ed8d3280090eff7b8e8a80b8e64365680576c8e38d3bbfa895aea72de300af919c7bb9fc867fd3122527bc3484c7509b0c889c836e713665362ea5ce7e6259b4edd336a9d1e77c54da3cb22cbb25b4e747b4f37ff1c9896234be8e34d0d2536db4e9b72e7127126e993ff03182afb0f0dbc2b4ff590e5194933a556f4c93866ade236cab405e0b5f75d4c92ccf8f2d0d690bee78321b5d0a813bf382bda32710fe8982f07fd6362c0d47fb623bf5360abd1b1d7f326ff0b65e92a75944c9c55891b5ad039da8c60ae03a584b98f48cafa9bf06ac70dc54b01c05a615e01a6102b2124cf212ae930bf0be4d4bfbad6f24922f0b79d64265763a472592df + +SHAAlg = SHA224 +Msg = a526a9fe9096013c48593662c6562332d003f379152bdaee79ee035eae09c9060457294182987763357251e4c8b5d2c155e3071f7bf0a731b146fe5dd90c2b9a19a88b1de6827534610b2872e7ff010ce3e7f283e7e12f83fca32a0c36bec2cf8b20b7dbe4dd6278752fa3534abb1adc23159aed8287daac020e6eb2eaa6f66d +S = c76a2cbbc47fb190d4573eaff8ba3015adafc543f96265178048b76e8735f4a478c764e49251958d8686fc4a814ad317e6202e44e365027892db59988aa6b3e700d18dc648a44b01bb267cd3ee637a633ebdb6cda742564def52988d6e23de4f851aa4bca4f23fdf1de705c8588256a8e15e02b855321fd1bbf543f560e0c64f3a297d384fcf6008c75573830a5fd8264d9b8990d7eba392d27fcb41d70f8ba18d48938a899a1a27ce2aa860ca7bff3cc412ba871b05c1461aac8c3abe9c3ee54b44babe0968538c4e324536f159c3a3e16010a9314c747f1ae325f0dfeef5c603012adc0ffc5f718120c229fd462c6cdb9dde8022f274285f86d44bd6eafaae4877274ae417efb1bff6ff781ca1ce8e4ca5e0878565ffe91c2cf217582d75fa66b994615e7fc2eebea6668e2f4b2361c6fc3c14196f76cfe6bbca6678c7bd011ec8bbe1881f553938f0a5a8596a59eee88600b6cebfa2ab9e8fce27208d0a5f528f035fd9eb578dc6a5e4aea2cc6b1b5376cc914273656f7f268b695d02ccca6075b2d95682b78895a4f9967d6a4e0a52a84a74f2d0df95380739187a534e3f7cb9bbd4331636306e83b8c87585987934d4ea7e96ed35df8ced393940b2bf6a31ff1c972409e80078f5dec8a56616e17151c60e5eef2de57a701e41fa0fde22d18fd5ec5d7e771bf9dc123aa847413470d1cf8cf1433fb7f3c7fe90c351bdd1 + +SHAAlg = SHA224 +Msg = 9e7f3f09fdda085e2ef1fe08ca900f4ecd4bcb90e3b7c622e2da3e5b97dffee8c50e82666bfc5c3146ffd77697e5d99026e60e9187d6421e9ca00f815befb9f9d12e565467b332c0653771dfb48af619e88484367e3f232c6183c635b3822a25cbc601fb7a6750b69381166aaae52e921b0f76a84f5931f33a6eaaa128001b15 +S = ba3f84960eaa90b68006c74f70dfd6ad8c529399cbc6b4f101b16ab90278962539dc415f62d26c2899e39d34d2770e53747d816e3ffde2c4821737240d73a429e832e0464b05099437704f9c1a50e80c66dfcc0cef4dfc810eb700d559818af80ed6aea540aa917b6a83e163ce461298ad853dc2e6b0127e16b71acb6278511cd17b2c9320dff8e7f3c18e64cabbda7e1bd25dc1aa4972017a24e0cb2c5502f2f5df339a831f3386b54c5c8c8d5ac70e17c32c8a56dc927771e9cfd63413bd8fecc08cd3bb06bfe5233c1dc8640c4c1a22a5918617af4573d079452a4ac053509f763ce3e2d1b1ed3fd37f47a115318c16623869f299ddaa63c132a7b30fe8ffe06045efd70ed825adf3ec8e0a4917949a9b17e41cb1e375678d4be9151262920fdef1d75a95f9e7ca0779025bcd5b4fcc0aaec1b50275ed0ef544adbabc90d3ba774cfde6f5e3b8477fce50130f6352f31e4708bc146655670d3c7a0812b21d8cb79da3461c60f83bb8131ab7c1325cce5484fdf362721fde71ca50452c0f640750093fcfdee46db962e89a5e3b35a9c8a5b533f02ad193de622183a91161e06fd71ddf60ee0798406a19e464ee1f5043e8cad26c7e01be6c65ed3e87d4cd7226dd378bf150fb15869269d5b1d73d29b9683386d77da37a6855a76807e1b32e9a02f3b4cda2c1f88d0cd75c47d9dee84320643e0012aabe8be925f093a5a028 + +SHAAlg = SHA224 +Msg = 4d3179b3fea6c9ffb10c574c1b15a56fd3cf1294616e9624984cb2ed272ea77d6ac9e7ce8685c929b4808044ddd64eae6820f56c503a6fe5794adefb44fdc67b61147ab7e420d4719b8929fb9fd57c9d2a27f237a80686271160fe6d75cf1e0dd91a1bb541ff53a00e303aba8a9b9805c2eef23b945b45b50899fb8be42b17fd +S = 26dba345f2b1a20d82a6c19576ec3c2c4811b23234e28d3cc8a7ac0e930c953c23860a57d5f4457de6c7a3293500a11cff78bc86d4ea6c50b7ba00080259527a9d0fefd6048c9d85aea4b861d05c4c28deab10ba2655b1775092c44c8f83f9f58eaadf29e8658df83ab14057e77d31a32cc140d4774940ad11040b4f00f4262af1de68bcde0127737ffec92915a0e50d04af7ecc083862235fcecde903d472c58fcdbb8ac4d50ef34aaa9ecda0772390a2ae47cef24563531d56df485160fd9bc158b1596f47aee8470d9b19e6991de3c1b022f0a9dde7853dc4ec9a816ec5410b5b1acbd220ef9e4424092bf14caac0e271922555b93cb0b0e2ce07f37995f6da0a44cf56da3989b02d94fdee7d0be140b8ed25a9cb3900c501aa5567580e95f2e9ec611c706448bc868bc7cce31449672b8ec13e2d6b2ebb42f1421877ee371248ba220fd76d22a691dc1ebd84a21ff9d538fac9461db5ff404cbe2bc6b27dbda9d0a8b7ccceb6af1421a4d4601f1964cd178ecb212e551bf39c42dac015e596cb3e0a51bfe9652783cd9930aad1309d220e31af6cbb5a15ee9983ef09ced622514508cc5bbf63bfd732e99b1ab23575ebf27f9a6d227758c9ec4881bea44159a53cd4e1420cbf743f648303330332867c10c08c159b68272fd4b1d69967e279c90d0fe19c0702d26617e8ab1447ff60570513aec5e0096082df666cdecd70 + +SHAAlg = SHA224 +Msg = 25388d8e792160b27e0713a7ac8d9048cb6e744613115a62915e5ce0ccd1d738a9cc6f0e8c325364c031c20f195fcf67d7096143cec77d25c454c8b11b9d4764b0186a820257495097dd2d849b3052facb30eba891a667d47020f384a3fd403701c486d224bac9ddcab35bef7b28a2676d8a1b5da4d69fd95d6ae542ad174919 +S = a19707efc8042dd0cb5d3d2cb862a93bb9799ec03c07d10a1d694bea364b53bb1766e48a1f25a22e9f7cc9b6d103db0dd1560b718710094b69ff61e9433e4ae1039600895f471750925b13e59f9aa394f8fa6a4d7505884ef6028f687cff7ad9d6a5bc9a788a7a43067b829496c54180fe0de8d7ce03edf4d300d07dfa1afe266d20924839ea636651124d5c0ac0aa9bd026d017c7138ebff17b6c9d0b1583aa6943b4e96cf1912ea93693ec9fbcf5cee6edf081bf7a0daa0acd185b645c76ac2c38d26132631ddd2b3ef5326dd4e6298895a0e1d096bf277b25ca739712c166cc4119e29bea72b2e87b5ab0e13b170007a3a440225164ff2fc7d1f0da655ca19c8b088d2f438067992d591d13a35acf9c54fbef1eb45528517d87b76f3b180178ff94368198f02d3a0f210dad5d4c91124ca5f5e7753cf65245016f51e22deca3087b98b00ed3801473d349af290cd93498b2b89ff06f26a9b92f94e2cdeb7643eafd20ffce2c4338515188b73ac2da53ffa4c11eb37205232209f13bd4f0c9f51694c6722eb2fdedd70b4cdd4a469e9a16717fa56f3673da3d408a89dff532dd0e4eefac9707f18a058615e45594e727c25829bc4253f6b627aea39d4fde65a24d40d572bf8d013479d56d67d1cb66fe8b0b73e0e5b3f8fc7e5383ecc5d551eef6e7cece73775cb111ab67861fc11221b08218f772d29ed09aa4b0f3947ed6 + +SHAAlg = SHA224 +Msg = 24c68bada498647a77b0a751533fd08eaf312f14770d3c4a031d2a634ad0bfe3535c625eeda77683a068e65ae38901ca8fd1895e94bf0649ebb960a7cc66ad052058482439ee23fac1785efaf09d189502fa8501e90c40393f50e3457ea8d6bb73016486f03314e6c22836b8e241bcf8f0f54b84dcbc9222e72bdbc5ca60df0c +S = a60b21235ab86e6afd0a72ab6cc5314c006cf8f08dcfd37ef1f9755848094b63a824b3679caeff188a349b18f251c87f369d7da9f11bb9e19b1edad3e3fceb7d931fdad46f54c42f8c06c17def94f9619a359b01228c8b9018c301ea4d497c42e0a28c413595fe446e6ca241d226187308dbac5c25506dc4c031af3ebc00fa958f697908e41a6260a18c3d19c078a78d80541e545bb3ec67bd0eb45c66dbafb9f4aefe6d8cd991610444f56272325924095f8154bc251c4e6e0673e5f27031543c01df0b39eedf49f1866222785850a350607124dafde1fb94f19613fb0f66df886912994961dd02b41a27f08b67bd37dbd5bdd7ff68e51fb3876ea605c447248072e4b410d977e421dee2c5937d9f09cd1c6c5c688dfc48ce44f3c0bb238650ab5c0a7c4cd852d9d5108ad8497a1cdd083d80797b5ef87af61d8d6ba0db9c1b610b0d863e9dff5a310b6d1fb1f7ef40b18c070fd23c6c7d11b1a6f8729271fc9e9d08ac5f2f7d8863e9c6f51444b99be4d2053ca3aff15a3a6d2b80a8c682ba1ccb9fecf97ddc7ef1993c38d5244f1591700ac15b8586ecf23033a86b90d4c6a086142643cad66b402c54438fc7763c3ab10324f3b513bd53acc217febcdb57a496cffe484ae12f1c59f7ce0e40f80d5f98d1267a8164f570ba0e841e32191e9ddc015d1342bac61101f26aaa2c47dbf9d2d626a1af53bc58665d6e0c5b6285 + +SHAAlg = SHA224 +Msg = 83b158c3906eb04a8c0a71879004ae9465d6865d527a9e49312dcf1dc8731b1d575be6746e0462d501604c63be38d6ce9e70e4bfbb8d7a77617475b367747ad2c0872d394dd5a3f7f57a19a5f889e6908051ae1b7adfd95ea3c44313e61835b3e5be95dcd6ea59f690e14116e500c62233004e373678a14720a3a007ec643508 +S = 3d2a6a4dfa224779f30b267a78c22ca4bf08ce92e07ad3c1a46ea78bc585af1b2c9c8ad227cd0cb48d483c75500bf14e965cc4b62b1bb00d4b562a8de5404ca07be7e79d29f1489a4bff67530138cddb93333cca6e9c96ce1c6c0da801da3608110140955a96b22b7407067515c8e9a17010e5dff29963b3edad6fca1b1b12a88cfdb8b42fff9c57db14a9e334f5ca2204b16aa79caeb817a7ed2efe306120f799e01448a20fd8e6a8b759708c858d293f0dd23bd94f51f48c1f7edb0f1cfba3704acca4086b7c53c3051f424893f2ea50cc5168460ea8f4e01121a868eab15394e017a223adf68e6dbde880b14770d4bb6a1bb1bb10b901460856f94808e4b42769239ce81e535e4d59db02a64c3e22007b1021f26ace4abeca666f111c8baac1847af881452ae0c20453759195fe663f054fb0b5cf8a3878e3b5f3b563e09386e5b1f7dbec53340b713317759b4ed203be9bb36fefaad13add45570c52afceaebb5556851a59dd04420b39cd87f1879563980104e3b5a25293bf96352c3d182d667afb94d30056a609291efc312ebca1b53208bd648ebd09da08ece61ef50f581dfd4932acc6beef1f6da4687a65920a472371074abbc109d424ce4ef39c0d5304561c766e90420797b00e5a6c57251e6d1f6e93eb99c2079e55a6e4e32d8bde20ed7b0b75b70aee520b72bf667d3ca33ea70c8f82b2358ddd610f798df2a3 + +SHAAlg = SHA224 +Msg = b1fbda789a339b4163acf22b0db30e83449616a091050368d0beb016e56a343aabc16f002df5e3b6194ec5897111548f84a76a0b1dfb51ecfa24d7967f44a5e5acb0cc6f4d51a10a704acb8f1cda9add40849b20ea6e6953b908c50395ede9569d0e1a4d610d7d4652e72bc577d687736176d0676026f2a5f7b1a2e48e2ea995 +S = a277641fc48ab328df9162d39289280bbc0adb4b770e856e3123e970063e2a2ea6c8e1e457c632b21e63dea5439a84b911590ec34cd998b889640a26428e6a02ba2e72d2bc27c2e78ee039f6df22bef638ea1af5a9ccb89be8ada7c12cb5620fef079d24ee84b036be7a5fe3d178bbdd502e3484ab404e31c89e8440a6d92f9fa95dd8b456c19af96b9dd999266217d04bbbe6a170f8faf1f7a384694bc6f664f5bd21d4f40f0c7c329c5ed45e19d5c5445556daa2c96e756f5368eefbd3a39f104e3d2e1fbc72556f0a438c565aaaef93624ffbdcf96c5bd60794c66da15de69aa5024991e35685b20e0aa118fe09418907c792cbdb6793ea9f04bb2a8175674f829baad7a793e0ceca9554c53bcf6a364dca1df3e89bc1b093067e6e7582fcf8aa14e79bcad5182a5ee49efedea4a9e40e0a99602770a2809d284ca803e476af0c34af4d7ac45ba5d38be6aaa161ce0765476187b1566c1d23788cf6df8ef4384781d3bf53c336b2924f8f9a4fea771cf6f0caf4a3b538371c010c12b9db0e075537ff30910310e8d0617b16e40f5a010c269c12c92d160d01b36740780a7514bf75aa31fcf7d7c212cd7efb367d052648582dbfc74bd7b570f26cc462fb8c26d9cc465e87958ca30ff4a916e436cfe61b6900fecf0e1f1b4b342782cabf97479d554ee5fbec96549c8d0a79adec4c33847fef05426fdf45f563fc0c21fa5a + +SHAAlg = SHA256 +Msg = 8b90a79fec955a7db26ba6737d3ed0455603d09b95c454f8013808eb3a97158954ace71ac52c341381463a45637b4853cfb07f699682da2b19d96cecb2c0e9214f74681560ba67def476108f1e7abbaf9e9cb3eabd0b3d0779e3d61ae2febdfbc40eb1f686e8fcc45223b0ba77e231410beef386d4088573697dcfdd94fa98ff +S = d058fc5d239b0f975fe10f3c3a6f36b0e9be32c9bd2e5c81d10d38c6d462bf08d70b1d8ce85cecbefa18f52672c9de7b152c93a89436c0eb5ede1aa78b17d07f3eecb628be117a23b5be3d5bdc48b6d50b864f4899129c3e917201963e063ed6ea428cf92b4ce358dcdde32f18e768edbf40c43caced67cdf97ca1133f8ba158b9b050ebff5bde22752b464e5740c8c6d990c44b291ddf652317a336ccef6e0e8a5f0811319c6d213fbf44ba637f8f32341eac526ea90638378956bbab749d75148d6a408b4f6c8974921bcd2274be693732e1ae3083d17fdc89653e4c22e846d32f9c18853ff03c7f3cc176175ebcccebcb760d995ab3f3c557b2b36b636382235729fc1dfbd88fa9c766daa351e0b0a4ae0d8ed63a01a45640361a0bb4056aae074e8ddf096e50bb2f49b64b20dfd475a1c5fd3860e5283bcf3dfabb952c201c0d7fecf79595267bd455f825b67f597238793b069512b65a5cf79a2fa6d2680e8004af7fbf65efdcf5912fc2d321c7b2bc969548c3da960cecd94631f75456d234ca3812a2ccad439a292dfde9fc98c1bc3e17262fdb0e167130fa8935efc84fab777d757f0dcebc76e85c8a4988bba63348af0c383a37b434ab600f80f295053e07cccc84575f8292645c2dbbf60616efa473767d47086710eb1fc2362e9784d07c314ba2d48a9ec4616e256ccc9dfb66d5444f5d0ede21c7bcf67c514683 + +SHAAlg = SHA256 +Msg = 7c5b1ab78792af899cf3edf237da4adea82ab4d4664a831ea76dac2b2d17373163ddf316a86c6891ebcc0d8d78e6bbce114462d64119fb0aed81bd112c09947d5972cfad66b218f1723caaf09e81be471db746738bd9def180ef00a3648f777685a41642666ea9f25bca2ce452b43b93f40aca73ed92161c873fdbab7eb0c865 +S = 8f8a6ec7cdf51e4cd4ff008e6e0086ee3925c1d1ccb7d5381f24ed7f5ba0bb466321b4ad6eb0e0e8064a73bc748f811b239228966bc3b6edffcc7ef669a6efaf80bb7391697533caaf68a78b15206747b4c26d76f2ce7d5df098d66ad9346aecfacb13b9e7ea32d5bc78ba9296f9319269ad382e4017960b2e2e448ddcb5964faa51395cd45a0738792861ea78791f36a5f353c6a7ccbf50b8dacdbfabc031806d603545b077b948f5e6a51269d8ced53257fbd2c9522184888f4dca8e45c41ab4c0100e0f0170a7fd52785e8b2d050e70735bfc5816733aea65de86dd4f385a208b8002b0e9463d3439c4424e0c828e66ed98476637d8ed82978770313a7f5b66cba976b9640e2c22805c1132dcfca2df0bfa54679c2d5ec6c5dd28e3438122d6fccb6282b9ee798357d4e3ae6b8398e6f2f067b8095b09f1cab886d8d4b2e34610a6a36cee34b1b0be034bac400f9a3daa6fb43a01a11b16ee98c74c55c37bee765fd5d5095b75b5caded753e3d51873ae74df873d2d837f8fc61a27e2f73413ee262e214ae27e80bab78ae779cf1eb7c71a4634068040fe37d32250aaa0ee061a1b9b095ecb78f57bac7258577a4ed86ef98023e2a88d33fdc07a2d14aee48f9ecf9983eed38b2f11268baf0c7382c3b02a8a2d41729b8598b8ae74eac63530c04420a03df1d973e594af5eb952296ac49ceb4b1a61a5aed094d72c251aa4 + +SHAAlg = SHA256 +Msg = 6a41d3cb08570bfd2a07f683fd9c4b8ffc786b49bfa1dc71137dfa4550dae9a5e731ce753b2c3f43b265f8290b71cff5f21dea88d1f72f7cea11fc0aa301182a202ceafb1745e966e01054fecc6c232bb8903d88e295eb89fb358d617dd28c233eb98f2746a9f2afdd8f74cae9942f797759ce119881fae06e71151386532bd7 +S = c232d219f65b663d5f7c64bc0f0f11c5264fdd1e71917bb1b25a37c505c649da3bb8a3a164788a783ab75f0eb1f22ed0f67877faf59d0e89bc731ae4a66b58ff149091066e5015e0c438e98cb5b270949ddba2abdfd3f38b443f0b82a3b4132b8b9ed677a2653b30e0cf381f87b2ae3390a898341b0bf29640a22b04fa94b37ffa6df62c352c8a47b04d35ed0d6f99c0fc9ea340dab3a84e6f653627605867b4b1dbd3d70d6ea218e9dff57020ef44e1afe6b665967de08a447811e98fcfc0b60a513ff18a8e03df63303ed05245d483887da73be1c6325a56a6d0309311ed2efc9c4ae46f6e1bf4ba243bb23b894195480379b20ce0287f4aa578f1e9d8d10ad6cf50de3d6b2e32c60305b4e33fed63fef8b9f03eaa5399e543a2675100a63b7b14b2d1eb3343556f84da005b5671ca09c9cc6b2d1c4928152b3cc67457b9a35beb82f1fe7e9fed1770b343c68a5ba1b6d6c839995a8e6c5da60c6039511467b05a8275eb3d32f39a72e00a17b2b094ffc5994aedbd80f1074e224f84dad99164a44ba911b7d7feb685411088129400f2f10adc606628bdc372b48eb81c4d5ae274fc9fa47427c2171628238edd00f1c897ceb0273e4fd539c8b1b5c43ff20150ae78a27b35992554cd62f88f66fb386514634ff419db192b61d7cde12c2a5a086fbfe4b2e7f49a206093be776e3e7d16d88743fa486f9224d04e5a8e5bc598 + +SHAAlg = SHA256 +Msg = 15c24ee3a9398f6e5e57c07a9eadbfbc583e11f85285d421c1baf4c21752a29c1cc50290409324c02f8936f2a740f83586e870c62843de34eff4f2c323fa3d0efd78e6f1feb79ea6856dd52ea1402ef3248631abf94f417fb7a5cd6d7512caebe16360cd8cace368888c06f835b24b3f58a0be6f6dafe34a3f54ed88b5a13079 +S = af4e570f2fd101a04035c61d550b6aae1afd7328ecafa0f73d3a81272e791eaddf0801c50aa2bf18e20323aff9fe8d44d32310586d66f6b88ff85f2a6e2ce84f41979ddf34620d097074d5fc8c5ddbcae26a2a027441ea508edbfe44e9e44d7b101a3600570da7409e0f62570b4d690ba7ae82a9af678d210d4c70b29b6526d35ee1bd528def9f63b2fdc6993dea732b8779cc6a1dda0a89ef30022486571f4b6235743626c99edbfed13b32122dd51ec45bedb2e876599ebca0553853e6ee32a818ff6bac03d4b774ee01d879f22b7f1f308b11e9b9e6e60717ee22bfd406a4005feb488bfd6d24cd18038848b5badf580c9fd1dd8b930823332c5e7ce85ccd1aa12345489d843c325979cf82147daefaae0d7bd5c251057ad0536ca43c2021baa421ea3fee0c0376d55e89136e95c713b182f8893bfc47f0b86a2fda14664c4e3063c05ce43ddd0b83a0ae792e07e3a7ad222f9975be8fc51b610ea3b127b59f7d88f43b45b9aafbae10f038f2ab22bff08b622997d34b12d69f5768352141d5560d915c08e216dbd93614410db1335d7c03ed2383ea467aa37c2161724e2c1d2f96bf082c9feee522edd849f49ce17afdfdaa16d2600d70484c26d17d1eaf1231afef056b650c8ddfafdcc93aba5538d2b032f477ba4043341a4db3b0c6a57aab586590eccaa8c349a68662c30b9ee727429c3ac4164190cf53cdddf78c91 + +SHAAlg = SHA256 +Msg = d10062df2fd6492a8e3ec9c1bb1a4b3e7d69de41826eceb59a0f7855237b5c6ec40f74e65f7bc57d402033539bbd99ab354b19ee6125b1f32e6c0f7ddfaaa7059bb502ba66d759c7502b62d4ec4a6acf0427a4ec8b38c1ead3d7c09901e70899bdbab4642e322e8e2527ff4c9809e53453c72643eaef2524f21633af707aa7b1 +S = 74805c6bb30998ca55ea3d61408ae96c4ca87219b22c4d32c653e67d4b96f641ce19f574712e18f17a4ee8c022ab7ede8e0a2e974e5dcf81e82eae3d3e935aad88f3f51a9d7a3136a7baf05cbe3c30cbcba28e7ffccbae8a607799f8efad1abc1ff876f9cb3becc475fd6ac8fddad9037c7cebf5a47b09688f51a51b48f087d6e7dcc6dae5584c535a07ec0022aa316d7e39272544baf17968a9951ea9c22474764d6e7d6a622ef5683f5ee47af6735744fb5908a9cfae7825875afac7686ffab3c42bcef73f850f8749c140c679e809ab1ed407aeff2853b03afd594d8521bdb55dce91f5340077322d81c92e6ebdd8be0ca001b69b444dc54ff4120d7f1f0bf5616061f7e3a99d6ac42a2f5e1b73d03c5ddee04740d793ae35b7fdac52154cd9dd0e78d1bcb5935be84c7104763f00c2b9a8bfee9d7f35ce2e62be17f56f9ac0d3645abfb379edfe4f295f2c5cd56412b895b204329c186f369330cb9645c5c50eaab1523d0296fc8325b3437898f7d3ce6e40a487f78a7e32a77323ea478201e5e1823ab899189e96e0319346f7262b524e0fc2cb949f6a275d69aff5574096c5f81c9c3129b53bb8a9836e7d788b51515913590cf422d7663545d192f03770d9eb9c838ebd6c141765a91135473c8915e2913374bf774d61b1143f10756a0ab61be6c200bf2a7096e7bbb96334b49b8de2544a584ed988e404910c4c059f + +SHAAlg = SHA256 +Msg = be8d5a3415984f55ee920a683297caf84840540e2a69a10dbf38d4db655b6f41cc90c5950b6bb396ed548b978ccf51e022002a511b6e11486f07ccc52e641ecc5d4f3f0b008289bd78b274ce0fccc440d27f01cd9ffa28ce7ef7a05b34f86fb416d0aedf1c663a9336b6ad55e3188de1ffc5c3cbdc974e66951038e59f9ec9c0 +S = cec601dd36bbf049cde7b7f2bad094aa17e0bc8858ac383d26412e0e17cf9786641fed6e221064ebdd2ba50fd2016b0b496f29701a6e5f1eaaf7fd2e0c9e7e87b60273bc94523fd8ada4b76f4ca8bc72430af4dee31a32c6f0e8af0d0e3cc5e87000ca77da5992e4edbfc0730055a6519e62ea8b1f1576dad86c389adab82f11d9c99ab68d102552a159181294f69750fdbbabbd95984db70e43a191bc20a35c68a2a613abda5497e4d31eb36638e845f4d4f4c86d119ac0eb870c095449802ed3137cec010df5f9380c2e19016b8bbccd117f6463be57122ce393ef6614f58eac82db37ffe1e7d4713c8cfd0d2b962823207efe73d93b6f5af0121b0e85b62be68ed498d0f574dc4bef93a33315d9a2ab0ea7017f4e95f56fdd89bc85f1cba96618114afbd3a1ffef32159e9fe0272c4e07e01c76fd23159a74ac715816a64531120d3a777e5ba48e303b4721540a55ed98c4f745c4bb1d414c94094e2be21db69a76f3206fd15f730e55be47e06606909b8bd95d63d32273171151630f5f184c767b5bd42c061e461d861a3aa6d028102757bc1136b4694a4216dd8fb6d8740192202e0fcf09d8e703e68278f4f0aafe1996409b787825343e1203946837c9c21fd6837d81e104a1be6034a372d0ded0fe340d26e07ab5633da3c8e12f9b4ed31093198a5511cf5b3c0dea04b564299737bca0b7bb94e7e5a0ab14d1238c14 + +SHAAlg = SHA256 +Msg = d7d91606f1ecf5576c6fd5c1528f398866590cb912da386aa1857443aed55d3edc33c9aac81958763c784caca6579a3cc8bd40fbb0d2daebeb4170bdf6e09394f593a80ca76e837b9a1938779b792d98718c747ecb955816767a361ad36a8fd789c25a3377329feeed1c41281b3c1c24c98e4f4b496cdb74aaf76e622fb9798e +S = 718082723f43869432433c910c2d400adaaaa40b9b3b251480a4f01dd001c31e93166aa8a45476c00c10188a538f8a533a5b601a2880957aed4c4bd69f68c08a3b86524cedb6fcb9bb46509ba39249953671dc6d1f9f04f219802be5c106d519573e16fd596c6734e173c524ab4d2304c73d9fb78f3496e8bb42f0bf0a275552312396b9b893b5fe3b5ef1c9fa8c22d1b9863ff0c0b4221a7ba91c1849ed2d571e68c5e2ebf1fc8942aff57b9fd78b1491c615717f1ec42d9ec0fe84100bbafa54e7d9f0ee48f18c5fe2dec2d02bc789772175d5c6f1fcb56588675f02356e8366cfeffb4e560e1e6d1867e93f02d4e68cdefdaca4e1122fa9c9b52b90286aab9c2d1357257870aa507bb7f94eecc3fb36319c3e7e34620a74c305ff1ab0cafc0198ff4e19f8c8cd5a1c6faded98bc2167ea92a3af157b9cdb4546ee3c2739b8dce011d3da83e9e13652755e79bfc6e28c45906f327b78a7e7ab9d24256cd036280ee4ac8930a36bce28ce8f060510c0d116da8900b6064440f02624ea31376ba87eac1562dbd61d1562448f3e720609ab614b477297a68d19d4f975b44bc402c4d86c53f3dc76052353ab228879be3b25f7acd93e52facdfb7f298886f0205ee8925ed45967dc12cc24677fae8f55f36a7b7715570b3f9e88b30e185fa68268d066075eee9f132526fb2cd50eaa75fbbc3e5660ba031db92dc7c4540020fa54 + +SHAAlg = SHA256 +Msg = 5e8e725d0c19527bb365f34977cdd39aee693fd8eb8dc7a79493eec5bbdb26346b0ffb9cc0ac8eebfcbe453ed8ebc10418b2106062f524d050b5840dc41e42327cc32d1fe62a4720358b7acab4d586265af23e129f4cf4e38f90324f1db2ab8bb93170b0259c67638455fab5b4950c48ddb031b44a9a1e2878aa5e556d9f4787 +S = 53c551c730cda7be2812bb9e2e13d8c849833b421dbefaf3bc0afb90f0c80cfd45abc383a0f38525b93d4051851e48c6faaeb8a912ce4b07e4d8a9ad374d065f3219aa0af0d9411ffeaa90d55d22194b4be2807eb44f891624b80ca2acf050d00a6dee14cc7653908f5a788441b246b89c7c84453e858191c19531ae674023636728fdcdc005ce72d51fddc954d01b19b9b62a922f2542d81832216efb8b4b0f8d75b38712ca50b29c599ea852a5466a776b47da0f16d509682faab2177ab14c46b0723000c70e45b610ac7625db6da98db2ac596233cca2c2a311f2d4abfc256ec93ff2b90d97fc196f01f1b51274e795962c5dc18818f4e888fe0450f7eab13e329589c7b260a9970711ddc7fd990ab061179480c054fad2433e66009af9fe5b33f2c07217ca031f39235f5c1670881b51c5e335b5c5f79f24833c1e60e6de778502b0ceda9c882d835bb2cc40639303d8be61294bf6752211017e9c26fa6def5b9529a31bcb3473ab3f48bc86b5361c79873bc7173f2bcd726a0babcd5a92dcfb4caacb9a9a5f0707a28b7ea80546f529690115642bd8e60afdd652f145f51ce14bd005de2813d1584850c6ade075284156ecc301541d38aad9303cf9275f3b9efb93736150041b8c7201464af14c9488a2c157a952c858a4512862e106404fe3aef9e61f118942a6f37e1bf119bce0cf364dc99b513017d2111baf77a476 + +SHAAlg = SHA256 +Msg = 10130471dc383f0a7871acb6d18743a430312f61bc8974ed41bdd5142f07f5fbe6dfbcfa306ffca90f47553eba525616e208e49139e6e023351b04a811850ef816db21bc182c68804388fc0918fd08e8b2c52b4f4ebd1d240a199654ed566b6a2871fa609b57c9b49b9c6abff36fa24328ceca4302f67417471e52bfca645478 +S = 636d07a32c64f2e3d3d2e23700206cc4c0e882c4154411f2aa54029fd33ff7bc060db61512a6338736b6c044a200bce79b70ed563811da93786da5b87083b6df7038e0ce49b791e35cc6fe36ffc517f4fce9ce55a2f926d66f8166e56c552faf485f0d0c241681f968d649df926fa83abd1fe017e19a470e562cfdb72551b5bfdf94d3ec07c1cd95963d436a2b4440293d95cd340618a1f5e26abf85980ff46f9112a45fc09bbac286de98ed8206fd52875350b4f57ae764952bcdb0bc22e4263f173a58bed2bf5edab12a80969b7f4d0d3223c9799ecce4d8052a008f483c59f01ec28b34a9f8864375a9d9ab7d1939c1f9baadceac17136c3d54edb316a02d7c8602e69fc35337a24926d9cd3a63b5b460c653c62c803a68d0b7244c8b542c7510203b794ba8b1478aad294c22c1cb82dbc2e1c46dccf1af4c024ec94b395c02d2d371386ae87e9d5cb0a3ef29aa66036216e07c571eb1f1ed5f18a1a4300e9ef7166877163eb49b680be0066ddaeec3477c7462c195c7707e745f9f511341851e812a760099a88590fd0922739018b9c0cfbf413912c7337fc5a5e617b5aec5eb2bfce56b6c040d337d52af7e0c2c34ed020e42c5a2ca802a51f04ec684826686911b0f81580520e397cab9c524d4a650bfb1213de0a425dfbbb27c824a919f9ace8e704c5743afc7f0c063b0407a9c78a2abd413adac3034d34396b2da53 + +SHAAlg = SHA256 +Msg = eec08f01fb4c104de953caf6ae000a9fb42a1bfa3629c839eee81cc5ed3c6c33ca749874fe328d4b8f790e04ec06b56418e434dc0b3be10156697241055304cec9fd63df575985180b5d5746d158bd504586d36b19e27a8cb73b1023288a7e06358378abcc6a009ba5282c23249e2a4d8239810f28c799c15b897ed41e89e1c2 +S = 946cdfecd27bb3b5447b66089fb08a17e840460fb34dfb55271908f811209193fcbe277f360b0c7f2a430adef93f1b30bd11ed2cca35da0c1444804eb9ef23b5753a52171cb3ab05e00dd853c18036e5dc268f52edb03de49ab9452b7c99f6b3dbb04b0e3292ff739e539885a2053523b83e93326e467c762c26fe4c44d6ea9c092e75130869cfa12f19cf8dd8177359c6caa663f33c43e44c58ae0a1fb7c8fdfa7e58ebe2c7807405022a9a1b7472fda86491e4f5fdcc87d71bf2b8cdcb6df183bf71371df5b3489fbae38d6a697a91dd5425d88555353ca65307ebebf8464d9dcd32fdf88eb29531d5a568edea1792da2d17150954bdeabfb3d0fe8f3b9bb7cafc48d4431526ac6e7d0bed958f2d2ef43a709bec9758398eb53a371f300a45b147680eb492383f44252ddcb62691b159532b3808c90c094c69a9f7130f4ba35e8a7cfb376b2a46012f32b643a3bfb62a696ec955183b4f857dfdbde81ec19c0c9ebd8659629637220b03e108b8c4efe771f0fc8625590d59101049c176dba62032f25115e0557d84d94b343a008e7d4211ad23fbd5d07eb3f58f09ee3f4605fdbc124677c53f4f3c93faa801139aa81a122e2cdd35215efc8046f475a11c51a124c1cce680fbf7d479ccb5236609bdbc45ecea5dc18c285d181a686655e32dd47793d84d7645d89f054e1cd8c1b06504918dbdd469d29a0222aee92cf2d44c + +SHAAlg = SHA384 +Msg = 7247df014b08f109b778c850bf0763e7026bf056b595ed32e8e38df20b975dfeb0882709931716a1d7651c0492c391368c6a1d50446dd71b34ebaedd56890973e71faaa06bb2d8a5f1a3bd1298250ddb52f4e8aee84502843ff80177d91526d39e76306fddc17d3e8e9a7321da161effdd721a18aa05b4968f734c659b24fe45 +S = 7f6726e4edfbc085332e7171c879954e35a34c223fbbda2cab55bd33f8f584e0ee722d294a79a334f33956110f04d8674e9a1f02bfd878ee0383381c8cd8997bb83b604c737220ae56e7875a3e65dca77ad47509b56a00a84058239721d7ca67eb03d2fb538bc37456a585c7491ff67dfc4bed1ac067efb6984246d69837c2b7a34dee6125fb4171b5732a23a9833251884280a3df5e219e6f84169d4b0b16236ebbcd68d3a94ab7378751030a2f0647dd61e0b26f075a5126b92b6029b8757596018e6f390fd9de0371a11c0d7ec3a62e2cf27fb020c1ad9874d7267debd953b90d75c0bc73964653f8ccfb3d80e951e6484d4ecd61a6a8885f4fea130cffc12dd4058c9a8e58600c5fef8458e5f185186ecd0874341b23a1a0d2138b4894ffd2e0e1aac7c0a23023c9f6144256fc88d2028eeb6e5ecc2e6724c789ef59008276e25ff2591a4c7b9d379c1ee3eb452d8e76e9df75bd83404d93343f0777d68ac1b9a29cd6003eece08cf2213fef5669336a1cbb5e17af34e0bb2250971b7d4f845c5a232361abb6acabce07031d8eace9861e8ae6af3b7cf6dad904ab65d288d27b482824cf9262b13527d38e04f302ec16559fdf05e198e9b2fea57cd2bdf8f6767ec138d6ad3fcab0888d4561efe41c2a1949e869a37b25b2e9c0307d7e7d4c822053e81d0a6a925d9cf8f1dee2d4ba78368abb4d8ca5d39164da55b47f5a + +SHAAlg = SHA384 +Msg = 3f1ad56f3073857039717eecd2bf9000f5773db9cb3879cb8479ae86861c0305cb46dea9846fa7c603b5d09bd7761288391df97ba73ca2accedcc48aad11edf4f8d10eadba053a0a3fe1abee317106f80175dffb886f80afeffae6a6cc5d0d818d606e631a5fc5a6b69c17cd26d9f4ba1627fa22b8f99a3dae7c1fc22a2beb12 +S = 1ee50009e32b7c4425299952250a26622b39a4e6b09645701025abaac727238a36137f8c719c62f5e54e26cb84533599d7acc86ecc7dc0e730a0fc3523607041e297504ae26a7b9b8457b84c6f47f1f207ac207509784ad70a2961ba1785453ca8628ce900fb26d3c5e81a6208d6947e79b1c07508ee131916af33f05053e4cb7a51c2cdbbd6fd75bada9f1005e56fa85a41ca785db71e0ba0eeda40b5212757a46b84ba497bc6621455640659b5e9e251ff029acff10788b93809142f77210c0e6cbc51f750dfaede151ecbc2cc43a000ff4e7006b677a91d4138ba01acb23ed186f6c047b268854306b5bc7a42878793be830060e1f585329ed00f1ddfe69a56b908e71a24b8a3c4085ecbcb21c0039799264f4d7aac0b1432a02476d7648b2a109fd63424bfe3fb0da4a19c3010bff5230e2846cbd2d51f7f2066728412521f6841f9724d3e66c5e99a767d9f1cd2aa5cb6a6e8eae4b5644e2c169a98239e8c6f4f62b83847024dd61f5a2a3f856d25d35ee0a1baa3311c42a0f501cf3db261af3227f46e75a6bf423d6a57f89b0ebec9c57ae717f02a85578b619275d14669323cf139ca9e8c37d647427fc9a970a5bc533d0b19018f95d8c9186945a827a8470a2bbed9c17e9f8141d64dbd5e8755ffd77f9287a17aa138c9c8b7697e95e3ba8d86cd27a3c989f06321e492d0e7dbd1f9308fab0befca1548be50a22b38 + +SHAAlg = SHA384 +Msg = 6e5f71b6e9fbb5ea92743004e2ebd344e8c6ba6349a654278599c5367b928828301659dfcc37521be5c6544900c5a89c551be65fd38b168a64e7169372813c86aae33b5800c04b79f32a84a812048b0bbfbb717f3331d82dc2fa585e60cb2190652fe1c88d7ce82b43068ac81f92c4b9ad0e236a707fe238263a523e4e577f6b +S = 47236d742e5305cca31ba94b07cd8f678ff6ba40cfb66d31e5e9305f309f4a5972b70b96694b5b652afbabe898efdebfc87596ea5569134d8a6bec9298e5d2cf71a30f57ac3f1a2155e163bd321fa6739a223ed300d92b177f266098068cfe88a27ded8f410bf9eb620b398e231c9b48b6fe0fd75bea2d80b3e23d54882c2fea63befc699beb404edc29bd6d5a52348a39c98b927cb54afdcca99a27c9205ba3f9256e1678b2e67d3f64f321836947e9098b1f16694b840c2dd7e0973650208a43334541001d072f620d14f3ae76e2d6851b5bbc1b151642b080b9b413a3a7b751617a2e70dd4481ea19c128969771c939eda2de30511794028a484a3b6b193bc03601f35a7a00d64f96f47ab9a84a43f770919013b395ffb54761ac64d48ed81609d2d2baae7cbb7efd19c67dbc5956c4636a7aa9e121d15244ce08fc4f73cc5b8e676beca4a8f7f81236c0984461f98ba3fe90e2bbf8f5cf4c6534358f8aea6f461335eb59c201f72836e127da4332d045b8e715e01fc8d6e8873115e3a75608a8c50fba1319121ee93417826c3df3edeaeabedcb62c22b757c708f502186367ca80d015d42932dde2b889e135012a7a4307d782c06ee7414e0a6188feec3f616b58647d783558eeae8f6851b4655f49387626ee6b9695759ace1ad889b753efb30c4f8af0a6cc492e02d1843a3e09ce3ab6554d9731e8c1e5d43ad3b71e7d + +SHAAlg = SHA384 +Msg = 413973543769eefd2713c24e100cfd6c8c562905a4a2c6eee813f80bc0457c70fd8ee0c5b384f4ef4bbf7cedd4e027ff9ad1c50efa4fb44874a69b0b02bc5b04a85143984d858482c99be4be3ffcb6a6ad7f095cc1e72067efae22a1c00113506d0b0393ac768500ca2f638bfa6a90a9ede75eb6a273f19480b1f496a21a8a9c +S = 62b3d624aac87816b595c6da931a6caaeb9a329a96000c8cafaab7bfbfc3740718692bccbff955a0353c6eaca1093b8524d5f3c59e784da8d573dd151ce4a9ddf5f327925f4dc64e736929d8cd41bd20bfad57ac31b85271b8c5a96e9ceb02e0a009b24a2f6669117bd86a552f4dd24561a7f62d894ed96b4844b933f4e02f76e1a6d98b6f1d5f3dba231ecd7cf0ac094d6b342886931177d76aff990036ec7dde988c1b20f471233c9fb0a38f417cdd8395c903706409ca96e215c4fb229053c86e2457a6c072a15649ac1c1ea6075a4bcd4dae3a1b238ae3d33cf178792c3d6bd56eda2a6ec4ab7130ce15e80399f77bb765719c1dcd50e4282f848beb3659a77633ad10bf279456bcde1c040a003524435ba86a6eb3ca40cd1ad1fa7167193c584c1487b67ee9ed3f6f6c4aca561fa1328c21e5c177fc9877401fc762c52fe448aa06b4bc5ea6631140f9543b6bc45b25e4196af5e45829255217ae534bd36ef52ce09bced4923768f13c415c3eea41ab767e38ec6c65f482083d5c30dc45333599cf4b332c675e3c5e0f16da059c195bffa5f87e1bccfeac1a7c58944a72e41e0b1ba2b978cb256d187e90435a570784bcc7680c0f791d4adf41eff3a87a05aa61238d0ad4abf710e3faa61ac76993f77e525f14112bf0db508b55f0e8c8de0d3c60d510dbebce13053f4ea207c3ef407ad4e353cbce07c73f932fd0693a + +SHAAlg = SHA384 +Msg = cb72fa190800bbd41a49acdda9dc6f5e085487de7687bc139d00c0f75fb0121ed2e02346896ab83016298faeccae45feca34775635d628c0c4006228822420b3cfae6c53a839c5992903c3ca509efe3404e92bc2563f88cf06ee7b3849eb75b5c9c41d69eed5abb75cbf9158bd1661aac05aeb4b6129a5e76cb2514e3c6dd9ca +S = b61fcbd9060adb9b4882356a3a624864264a2130bebad9688fc2efed8e8383610b7e5cbe5091a604200cb0d4bc90b3ea87aa5f1738932afa68b82770ccc29f56bb0e905885821df1f55bba01f03e49ddb776e962e43951b2e4bfcaa33dfc8cfa5053282d60ebd2140a9e76a097ca646350fa417bdb09988d8c18fb1add9b204ae6399a7885032335eed46769aee10bf901e81ee36d96ecdd8ca61561a1a28173170aa22462d54778c800a48835fb03d2029b790715ffcb1e8a126766e0320ac1e29fe03354a1e1e6605e2e32b27d2387d6eb35e15b92fe86812b829c24843a5778951888f9b82d62f2e980a8a763e076dca1efc044af51f184e8c7d4b0b2ccbb766ea531d414f7a01c27f711f0ba1cf865bb9d923ada18eec68e25cd42a2fd1b0e9a776b5a3ac3780548b6c85751c7704ad3dddf74ce0cfcd583903923d5cf8194b85d98477b880bbf8a12b4c922b7bfb98244cb016420f6f666a406278c69785869c0cd3fce37edcbeb18b6e32cdbb648bde83a5f349d0a61df9aecf07926056d9f58418c77eacbb538b472601a03b76c72d5c8fb588ff0ccc1d9fd926bd3f51e4989b1c120d4f0b6300491c81c5c106681c571329d0b6cc5190b35700f3937d2541752aaa4a31232a963da1ef4dac081d88817c634285824abcd84a1d7dcd88d0eb1035c9953272b4a9ed464962fbf04b289b7333f3345a178a9c2de62a6f8 + +SHAAlg = SHA384 +Msg = cc2962fadce79e25ffd2230167e359685ad755293528fda3b13b6d9265db9a288ce635600946d38fa8234a3ba7575e3175239dd2b92087ae9678f2542d55ad67649a64f5e6d2c3056c65de6f3a12d1f1ec99a37e72b871d95a59c8634d0a5232ddadb5627e71b8b0d101a84429fbfacf48a331d669d9024e8448b668cde1d1ae +S = 2369100f007fb2f7c44511996094e3baf0b833c457a25cca52852da351895cc1aa149ba2a1c478133fdbde6bdd78934cbac9ad5f3536537f592b9be623b38ab91d72e157e9603e2dae2c05cb4e24de38db95a6f1c78bd25217acddd04639febd08b32e39b72615f372dd8a529422684f773f2764943582daaa924b26622fd8964192a4ea4b76665ad7d8ca90b6f535171b4dd9d68d34fc86b62be6592630599f61eae9715804002b7061063f4d56a2e39c618ec0cf2e1af8fa06bab48af761e36374205c40d11dec239c180054ceca8979aa19f858409ea33b8e9c9d67647fd02f3c312220c41d40c086f7c4c3009e2c1c058d63a76ff5a885a2e990cd5dbbc24a0bad29a7e42b816910ee6ba5d4925965b45f1588facad78ce8df850f0e70ba83eb485ee3db12e6b8e26423b2c92ae76537837cf7def7e5ff3789bc0d2782b97d4f2546a62ddbf954f287c91ffa260090d3baaa50b5d4d04cc86ba47b91076872f34ddb99912bc6425f11c50f2fd43850a6afb76a84a11dd3ed680e86a2a7ce9031784fb5e62a8d8df3426df3f61de4b908a76abcfeb02164585086bac45892114328e3dcff423b519709afd49b460d2963ba79f20ce00b38eebdb4b942c74095b181330a0aeca5ef7f66846987a325defd0412be4b0df2773dd5314569a8584a1e7dd67a6458cac46d296c7fd8b8e155a74d072aa6c977bb5ff865d9bcdb28 + +SHAAlg = SHA384 +Msg = 3fba35335b2bd9a14032da98b11ba7d548ab4363b753a66a54a86148d51880e257d5b43ca616b248b87fd6fc7add0ca7d017f085d66234916db3429af37a2399518da0423b62a7d9b382f047cf3adf6dbd94adb80486c3f60c686668e1ab991834c93f6ca37881fc3a236fa1399aeace1709c124c8271a403caf14d82814aa06 +S = 8fe6e0d37cbc2187f7f5bdc53e56d71aaa6b246cf3b63d88644a130fe49727a2779863330b1463b3fb583176547c444b3b399f880c1d6c13c7e4f8334efad28979ccee440f265802f0c20dac7bbba45c1d0b7095924e02a1ae5a6f2e1d0820a81478ee11ac8c6be4d62f3143ba4c1afe5a1178734f5bdc8c3b43fd877397263166865997f0e798c3129cb3635405b85dc2e2c43b4ffc882e2d9284173de239f6eef893d7da0883f8a552a5755a1e9b95a854bdb831882a3f0ca3a8d5c00a15c2c3db53cea22bba9a5a95749a335b510c444605be6df3aa27cb070827faba753cbc97fb2e17638fda4a6cd39cb52a16b6265bd54dd7d70c7f157cb75b2bb481ff7187d4db341161845b9f9f110efc87d66bc49f8ff8cabc92b931c0d3e34e8a88021bc60380343a59c9900dd1b96458609c4a519ae0662502c514f36fa34004db83aa94fbc97c432ae320a06a186ad8e897a368f01881a9fd64189f84ae5237f23650abdbc2fe1cffde4eb6d1815f23da8339bfeb19a3f614a44c292b741faedc84d5614cbbe1c72076c88cfa8e8efe49b12b1750620306215794c6346a3a786013eb0c9cfc47112d337b87a542e2e68022625fafcd43695c9e4db6cdb3bf9929f3ef293fb4d34b013ad3389c3e52562755c11ff559ef8201038cca38662045360a7cb09c9623579b66be7034884a525508a2f3ecc2921731fc4e8205a7dc00e3 + +SHAAlg = SHA384 +Msg = c16d33b03f3070a88af282ad090ea51b75e70387dfd9d553f570cc7f81d8afc2329545da9f74752089c2ac5f60bb7fe6094592dcdfdfb8d4f8d45ba1a9b41f6c4c04c2044035477432d353db9bffd7788a1fef05a4d40a46692d4ce1b91a3070962372d52b592ccd0d8d3fc9c2c1f4f980dce3a936a214d0d1e265e6b8f12bf7 +S = 09b1d3d8fe2e575996773b74e3481734c14390725c8b0231f446a7bb0fae65678ae9254931e68828260ad3a0201fe93606405869f9cceca5ed7e365595e9c8965a3ec15fb7ef5091cf3270d2f817d16de2152bb74cc0ffd1fd758d3678809d0694054e5c7f8321f6a266ed91534126ebfceb6e102912acb6dabdf61154a238987d6a83c0140f4e16eafffea7091d25e5516e6985fc780f465c2136cd29935695f6e061824ef3b04e3fcdc43a6484ae96b5013cdb8f598317329c058b91f86d3c0e0497acea161eecdb2df768258f9ca461ec9b4b6009a557e3d717be4fbd200788a5c7267d052f156d2a6610ba2702e861b9ba6eae7dcac247758b8c8d8f3e33de76bd56b707020bcf744ede533923df96580638c924ea59c60b6bd244f00295300f47791d2ea7d3fa7dd580756e9189385e9a71d1e1b6a1ec0329bd993a4099fd50f1d4562eca6c7efe3cd56db68eb14b96fa981f9f43af9c8e348c101fd81b5e46812da7b21e1b99521248bfebdb6be773383a326aadaddd80e40f46f34f963ae364afbba2c04aa93fc392966355a3d8b81c516186d9f23dd2b84d9c5d54c1fc6730dddc213601a6fbdd7b93a21c9b8ecfb97f4bc80b4f6c9a92cee605aa4716d08f9c0fd42cf8cc9a8344b7924fb9f775d9ceedf9f8d651831c6263b3f9852afea6c27eceba78fc7285f4df7a67d1ea1fac3be07e3bfe351d6e2e285dbf1f + +SHAAlg = SHA384 +Msg = b2d61258c81edc56f85138a0404635574ec0160596380280a1ddfd12a8da17d661d7e36519c22bb203cfe233d0bd5a427f5cb8c2774ca405d30745edfd216c527ecf0fa414a7fad205a6c16ab477f90172f2a7d596e4f9b1d00e3411ba70ee87b0c77d5de254af7ca7dfbc8c15fc785dce8dcd861c88694c41fab4c5084c053d +S = 7b15a0ecd91f3a801962dd8c495b12567f2f6ef4e319bc1b7f05c79ad557fb121647b07a95bf0facf649be8b4f94303d7d1926af9ef26f8bd802d69683fd590ec9215ebd0526a4a50865c6bd494c18af20e0846e7be8419df19dfe482f26dd9d02766058a08648d0cfb273e4ffbe904f3bc9ffc92e74cd4b8e2669914d1d4d12802d971c92cade5f8e83f6bfc7b518fec3933fe2762dd79efc9656bd7f92ad2c046d4b7d9aec085d4a8ed4cb40b653df8d7d06b8b6f51d773375fe108bd4411cb773694c6f61bd7e416de0b4022ededcd2cad291408203e25a6bde32d4e5aaca0b2898a41639101479433ed34d80deaaf04d073bbd6d0b2c4b320caf5c3b7a1cf4e08256d1c907e91a5cf20e9461ccc39c973910abd1a3c9437d20bbefd8d00c6aa5a5feb6f778986fe8a644cb413020b945a8922da9362dc15bb7545d21bd50411558b57dcc16a19d195137cc678904700518be66d08968e1197dbe5d0c66e6d077145ce8641eaead2e6ea57b93063c412c339422ddcdd818cc725a290b5e49a6b1a64d83676b52fe61797a34556cbf95f0be375462ca72d6f596ac4749abbb446779aebe51a53b7a34cfa0b0e46e55707e1e651d4ae70bcd7c6d5328cdcaeef9e88fae9f6a9be609c064ba193329cd82bc3ded547899f2e8d426bcf10be8ff2d828fb4968005a73114ac001e8fb7f01ce3522fd46b566f1e5776539956dfa6 + +SHAAlg = SHA384 +Msg = fbb1affe25a7b28fe7427aa69a89cb87bc0fb68c940d63d319b30e3411c050767651a0c21df619579a0b7e805e467bc3228c2d5c8909e5ea007f2967e9defc5dfa166057df2918962784b2065d8fc571758378f16b7c43ab26cffabaa29d076a4ea8f6a7b36638b557542021e18d32f77d9b9d35828d0680534987168324f804 +S = 6960078bc7804d107316a6c4be9d9ffa5acded0052a2f252a01dddae1a4247e9341524643fbb2ebc936394a8521e97810fa81d14fad784c589e745de3724cc5c26020d8e21aff4d106fac224ffeec5094b60707528a46eed9019d2dcaaee7ef1af2aa414cb6f8b72e2365729baf82d3d8c1203edb3a74c06bbb2b55dcab021c1ff27ac3827f8786e422de82b35b245efeb0b47ef55ecdcc3094cc5f5c21da9cf816341b90fdc36f8ccd5fd8ff78e4aa8b10a4a9b038ac09ae0761c300fa498b051ae1f129e0f0aa1c0fec92c31609a8ac6c4ea19908c9e733d272842b1a97dcbafab516d9fe1592cd3a8f60180a9d12c033387c39e18edd4fa3cf0e85c3f021b12ae428718c69bc5a4d3d19b7f4d5b3ab89cf449c4f708db6a1e0123563d59bde0a92d45eaf652a8e4d39c0f4d18b08cf2fcd239983dac1b738a05f55c3c992fe8d297080c1dbed109378c2d5dd85e201d41f79943cfa08a8b0719e72a85d4e4a8935544722f1cb3bb4fd5ce6c21010d6197dfc2227bd74f89b93c82186d118aed142d9e1812b2b7d23d7001a327b49fb3b335fdcf6c6eee5f565f07337480ea8f6e38deb1a9633f4d4fb8d327f6c95372f7986a931c49148c982fca8584ecf6e57449453337ed4c95a4185c409320fd96fabfd3c37ee0fe686f20da2fa451f2f3baa2394bef7acbb06d0adbf60ff8baa37ed1b0eb3e322433139bcfcd80ec86 + +SHAAlg = SHA512 +Msg = 0aa7729d265c746f66b75246cff95b073cdf630253c85d2eb7192db67fe1b7b5e8b93c3e46efe6a041e3a1e83db02da71a0f71f51e7913b52f8c451b46b0e26c20fab9053751299ff0cfeed116693ad687d307912d9eacce30a4afcb6aa5dbf71c3292f9dfca64f4dd44e00a406ca91febf1cddf687f5302222813ced508cbde +S = b47ae7224429db36d6253878be84087faf59b5ff8896649afb2aeda0e02bf843b5c591945bf7d4dba0aa2b09a4a52ba358f4d80b5d6f97d8f636e03fe986f37b38a2e8297a48bca4ff3759d21ea6958af1ea7a08efbd61c0b82fde2def4264744b86cacf2603f5fc4828d2db7da947ba91058f704212bc6d1075112cf0dd9d8911f8dfc6f0cf5ad31987095b5d09e520b562af6223cb35dac8c0a6a302ba9e28f797b55299f36f82fe41692857ec7d73bc24604db0ace106a2e68f6d1f9f274cd5f56cd802a4f2683a013d2d3f6992bff578310d81fc1aae7a01a61b8a9df77b020ebfd191ab749c2e3b853f284bb76c83b86ad0978f760266ec5e497f2dbbfd73ebc693140406a0516765b83e4ca7a820fa44b9057af4b702c0069142e2933b7e9699ac099101c2c509b7825d8aef59a6432f38a4cc80e0b3c4034bb992ecce690d2e809627ac13a078b4f1a0855d6e63b2abdfe307653244aa9b23934ec898cffec904645407cae728fa6cd36f3f4a27a01be502df5f5ebd8a7f4d0d21a49086fcc2e44c62ad5441ad9fc73a15d5759eeb13483998792f126f40abbf9b775ae24545a11cdc842edd0f23955dfe752481fca340dbd75bb8902d3a73314ba112e0d4b0ffab3fa9a51697b5efe12e53f7e6ba7322f5194146ae2da2691d14884470a07ef37bd90cb2082c2ecdb1d92062fe2b1c808ec5c07dda12f66d9ab85983 + +SHAAlg = SHA512 +Msg = e853030dcd5fe68b1c59844a548f85a184a8801a182d6f1af34860c5becb6d1c7f73ed686d6fecdc031cd97653137f269d65373220255bd93027fd378908d968e36e89f0c691f85aa0fb1920158cd9cb96c0525b353541e9b767ba8bebbe1a783bcc3e6d81cff24f1c7eac1142027bd897423a5dff630993b18ffe8b8ef61794 +S = 9c1be5e857dda58ac54ad9a148038407ebea778650fb48b9345fcac30ac5d17bdda862bf384c2eacc957a20b5250769a3fe3d32f0f1e3e27574b657d3593c51000ed3633f7fc6e2c0ec7b4b148cf34b2f01c80fee1bfb23664ed5e5678ebbb2937921e9f976473325585ba49a7d4af055fb58e350a4d98a2b9e4e03f561b09390358df758fcd3af7aaaccdbeee96a7552877c0890ae435934d47cda981ada606bbe767c7f6a3904d7132ec5906edbb3d2f766f963aac2ff6dbd49986d3a5507666110392fc84bb82b40ad0df6b936059b9045eb2c4a0cd4bbac71e35b0f7994c1def664b7af84ba5e6ccfac1424be3102e15d985890ae44fb06b1b7f45ca18f200c8acb9d98ba114a050912b703f3cf99ed1655b5f631b26fb75d8db6dcbe145d9aadb7903217ef2bd97fab5a0948fecd8fcd22b36ff8ac0d04d8ff17d518bc2286a80e362bfdecc41ae4054ed9b694af8313a2ff8d909d50cf140942da5e77f851e988ea5eeb65bfe6bd793edaa6add6362dd4a62f6395af888085144efa253dd2ac4382972ed40b81f06aa994e4d02000d558e3993b28d77aa66141b7bbbbe4a162bb4f49dd5d3827d750ca79a2bb9fc350c757890d3e80b6d3db102ffa201d79006c5c75aa83b710ec321a2ee2711451195248d5c3e7d3b3aac26a67199a4e85952b5905958377a88b20da16fda986d50be8623491e32a07bd18ad89de4c6 + +SHAAlg = SHA512 +Msg = 56b11c9474a886b054aec059977116b88d8eff7efb49fe301b82c6c2e5e5a1688d6012a94ddab9b5642278f85f25d4ef97659e3bfba6d2f40feabf3f35a068232c192b98d63ba0e13e79c41cd90357180c398266ef66bdb351abf055fc39d82339c3ad8a973402dde99deced8e7166daf5f4f4285ff18715e7aba12ac017b911 +S = c8d66bf1f90237d93b174603c01d7996357afc51ab965e247664b33caa662b567fbced0b66ae00f8116867b0d3664770509a7a2192c5bf5c3832d0a0a19fb3c803a3cbe7933346f92e9b5792658709a92dbbb8d928ed314b5a27daee92c8d927909a15b6c805ad87afa3a8d666eac3496ad81d3250b825380e203084eef1098fdaaba364594418714e7276544f244cb755cf095a0a1a085289fb97ef860e2deabd9d8322c2f2445cbbc6e162be347998d1fc86767bfb4ac17abf33e54d222c054a3f6b339b01fb826694016d8a50f2739a8774223b4a688198e371455714f4dbf98c0d5edc45862ccdb1aef6d86f0ec4c6e7acc106bfe8565ab211a7ae3f806ce98fccc8b3e15dd937228fb75aa98a52597a8bffee05a4eafc92979a2fdc00e23474957d2275f10940fe2faa0564fb187dac74c3dedc6666a8f184c4b0bfa59198d1a4b0b46bae75282c4a8706e20f49e635123c580dacf69b285a46bebdb7dc2e63223732f8bd1aa1ee9ebf979a958d19c46cd8b0e99ed37135b16a6e95b8e478de5b577afa918d128fa012bf13915228d4882f7547f70895254944841c75c85a5559ac9446c75d6df8f92349f692f7a41935e96dd9006daea17c36a06a0b010a48deb184fd4fdfcd31762e7f1d540e0e0405f85de95a039d3bd12176a75a0d778e00e53d37fc47581170f5aed3bd44dfaa2b705e9132e96f13a7d3f792eaa0 + +SHAAlg = SHA512 +Msg = 6e5e789c4b97962250ff3ae8310b522b03064eb145053d5c201e32feeed5ed6ffad7b7dd86eb8e64132582dedc5c5ffda4df8c97b16433401941a21e3cdff2f9926be692a7ce153663e04c928fd82ec995081dc487c75eca63ae77509607dc12be82cb62b42a75c0ca985eac516606b85fe7c9e1cf15041f88cb793b0335f5e1 +S = a05368256ba63f31c4317f2768f8a5b490c044b2ee15fec78a0a85d4f7c1a988a5c6e946040bf2d862e970dfe37b67f0221f85b04b9e607245bd0b21ce5bdaf8b138bb451205fc38b60b942881ff20ce077f2aa070e48bf71a21ce8a18c8b48f09bf5937220e8f0ed0d6cc2ddff2cda195e041ee319b43210834ece6d9030237df5bea8d93a81c4d62f7ff48bc8726a3e32fe7b63450d2d7bb564a8ac80c89b588348bebbaa43c9a62341b194b4cf3f44cf2d7a7dd8eeac77c867894acd9c9aa34eac02e7e81eac0638933ce19913d7a0f6ab9c89d5ffe74a9e779a80cb948805b37a0f952d3bc9b508af0cf9d0c7d9276b29358bde046d65a664b48aff1d0b641a789b5d5f9d0bf661ae611d13ce7153b849ce071628e9f13c1edb092169b26f13b3a6fb0929fa4a033ebd345655022cf3982ab22301a472b3ddada69dff2d51defdfd72c91b4d3dba9d9a8801f03cfab64fd0e63ffe2952bc42ee10253d82d705e04097954bc6201c57ab0d1e0c60591875fe2407cfb1d6717de1c442cabe2f4e81e939947b486044c0244f04660da5533fb4e8c2568bda7e504ff7b3a0e217d83a6dfa3bf2396a1ce92225b8d8374f2c67f5ad944e4cda7641060d0ae3e6e459325bfe6047b5f63969de5a0004c5d9a18301f9862a9988e9d1a7507b3d00e7520717d693db5544edd8341413b03e4a6072efb8053e6ff0a2aad3e351d3d04 + +SHAAlg = SHA512 +Msg = 806363d4e2894f3d68f35c78cdc332630763a64ac223d5ad0c246f44527656418b7d68d5b39998f57b05445e3f00c3d7382b3db6f333bfa501af8ea6f14cbc557b27fa6dfe7aad8e2d7b443e0481c82d0269b4bd923808c1ca019985570aab10b82ac1a5ab75b490e51c031f068e6aeecce3b667877bd78acde237ea6ef74af8 +S = 7591a4f620dcf5a43310af89f8a8d7ded94294d204dcb159eeddcbcb1c7ea6675101d408464d0e4f8abf3c50a82b3d092430467bd08292b57ba9870220f53d3b6ac989ad5ed3249d237bbc76b6479f8c45c2bc9c25460c54c913c242c0932211dc4abfe206dce6302c033885e32366baea3a6b2e1582bccbfbc9e45882ab58425b17449a53e5e0b10d1287c58ac2c44424f4188bfe1de498e29ba2a1f2a8f28e565b997946fb359b7e320e4da6ee64e48547b1b7946919e91fac8f4f631a8de9c1029e87c0503cb18a43a8a8f5d9c3dc59d10a41ac65d4d93c1e7f5c0ac27ea2ffecc17881ffb6d63e4afe8b9c94610661b30ce34d4ec732b9cf886b08f6f38ea9aa094188067b656657eab22fc90e234e64e31dd0558de5891cd49cde67c5d6b1e307e23a35226ba09682f194eea06325c9e0a733c9758bca951cccf5730b71987ef564f92057a1985e45d3fe20bec7d96aceeaac031caaf4504dfcfd8c7c12b9a580844851dd54aedad307b7a6fc79e87a9431faffc9353e497820697e7631600c7cfaf851f844981cdd2b2048c78044e0af699d8b0b614cda9a3032f834112f2ac17bf8636314c1c2c5d2c38606127f57d2ffe8ad7a33cb02abae23c2eb3f3b0852826691729b16cfc6b2cc45d4177782ed1c1de61768b436d5b8fa6501cfa97ec65f5426b63e9e82ec3780cc5fe0cefef8f395a4935da39cffded65f9d37 + +SHAAlg = SHA512 +Msg = 1c8b88e34c5469ce1c6fb2625b0247fcc07930972cc0fa9d30b55afccfdd147d85551b52880cfaed4d3072194ee665430b3ef3184e66e256b41e43db696b520333909f30b23a6baae6fb55aaf1f936b11ee8491e23358f00a3847129f75da8842e225aa8524585acedb7a13dcca481ef035d7bd13296c84406d12d0d021adba8 +S = 9eb10c1a31066c3eda46d2a6102af5232b92a9e164c2792303454c9c9919d2eb34a896010cf2230f8138bca6869b4625e95c92cf2920b8c897749a1586e9c4e24e7a975f44968216b4ee88a398e49e3a234dc32f16ff998b8cab805ee9876b2ac6390abf53e6bceb2a8b1e6c91a550584208b53c23a13a8d5739343740fc667a8c9883993f9e77b2bdcd8123f1389bd7b3ec363c5f84b5b65dc183529b19e27c3b77db8468d97aded8ef878a112e0fd099ad1a634a3ae84972b95dad1fa7c5c46aae1e6c5f2bf1b57265a2ec4aba9cea60c738810f628ae076c32d1d12cfac0a2704af40162010acbf819bf20c2a5282d76c05a09ee5812db5007ee43930dec8d928a90d675f4223a77491ce2b396bc0a0d33d359051c957e19e411cb3577e9550f2e3ce637954551231088658b11b3e92835f44acf92df0f0481aa8b65216c649201284b85cda544eb9c2f08599f257adf3d3f12fd3032f0ac83cc5ba94537c4a55952e7df234e13e8d0c6513046d7fc5c7f2b2efbecf4c19f207486fdb5940d39b31e0dfc17143c74206c519f3e799606122688604c58eae05ca3b5f2a7a8a280e712e6968d4d225fad844dda555543d2e5fd9f86abeee66a9b98e26f90da6313de0376ffa4714ec1a82f74132c1fa60c6bc63d48f6a31d5bbd49b8a66de5dfec94b354c60123f9063e85ae54e75957170117f384cb72fdd96c04871225d80 + +SHAAlg = SHA512 +Msg = f708072854534169081799b3714803beb67f8409ae4d39cdfed09a2f828300b9ef5a650bb60f6bce2bb6a0eae69801f9693ebdfb04cc3b4bf6915dd2d5db077a3010dbe572fa47600963c212c8e252798af45218194e72694e72ff19798165740250f21f51bddc05ec448693dfcdff2861c8cbc7b47ce7104d9c076e351c2291 +S = 9a1e8c94597a186ae778ebb2473182b32dbbbe5729a574ad55346c156c5a377ac7302e09859368258139a46312b10aee2cdfd53f213ab42c65ff9b317a1414a071886b3066bcd3328aade60e8e6afa5c28d7d6ed193059c2af4c8617efdd8fbee7dd180c9297783f568f0fd1590490d0132a87b27c4b8be188eb513fbc12a419eac894b254b1b862254047bf582d2faf8c1cbba9465be5e71b7afd3e20bbbe933b044b33e9f06aa313beb4558d02ffaafd4825225037098d567b1120c042a4f5db6349d42bf710f0add3ed28091f0afb34695567baa8170a836fa0a9499de9f2877063b3e34c92cb723e8a1b76aa8e26568938aa5e51e7d0edf666535e5285ba1dc83b59d3fb9a0ee969cf4269aa94f7102f52080ff3985adc62d4f637ab7cebf7914e00141b27687241befc726e7765be8aac4b4902d592e0ad05ef54ce2c278d01e7e0b8de1cc1c48d912965f90be1e5170b754a283c571c88688f2d296c4cb5117372654e82fd9c871cf33bd8a041f48d484777c023db71ab2a0eb336c3a76d11021b7772dd9711d08d7e812e9f1373affae8d5b2e2f6386de3e38f93dfa7094b1cd625efdec3835b82992a3f50e64ebd6fb0c4ec4106f088986f98f1161cd4a8152c6b12c4ee2b3c115f3fe874c0a8d728a18cc761044c2b66aa09193be723d9d841e773347cf2346424089b21a1439a7cc3ae539cd45e99ef6fe285ef80 + +SHAAlg = SHA512 +Msg = c810b157fac10e2fe1fad7b4f03337b5c75de758066ba2bc5f11d9dcf0cba7b7cf2207aee62b452d0150b28d25529c39248f7d106e81730b2a88f02085e9b3664a16f779b430ea2080ca602d45f0c9a5086760210b37a674e7670f8eda08fba16275e7820bd8e55185f0495cf912a6419d6ef9538794233fbf379df0973067af +S = a7ab2b0a42a60f303f11b8f14ffcd35e7357dcf5e4e3e01ba32b8266c6c3dd59298b059142bbfb9f18f22ba1c638bff000299fbfc38ab5c5fa6122d476e214bf8b0fa96297c1a63e134e1283490f16e362ee885d135a58a450067f9dc08270063ff9be625e99037a562f3a47012988790c23842695d4db077b7aaec633094fb20656adec1c733f49e4eb121dfe91c8ec9d0db80f786f91fab87d6dcf68bca9d3fe9bd18d562f37db5f861850422a64df5a69d7e6c7b12d8ad3d7600e6cf259ccd33e7e66c3b8ca2eeeb1d4c03d0264068437b040c90f2edbf3982d227ccde89207f29c8a9114a0544ac9e2b64991621631a9145cb6ac0b637d495add900eb159258600167d71f28ee249466ad43961b1ea563743fd5c700d83afda3d8ce64c1727c2d4563ce9cd146687c2f8f8c2f402d903780cb77e9d9538bbef0d0c13f86044fc690a180227de71fe429b99ff919f4214aaac666f8b0bf18941e75a61d6ce214469b9757a4856b2da118626add8d2fa4d0912468f6796908c4bffc287db9b14e957190370ba72ade18ad1c2cecbb1d9ec77f92be526ca3320851ef576197fc69702c45fb6594d4f9fdd27aa7623fd2812fed0e26214114327f85ab740272f0af3e4e07885c130f9406c0e39d917ba55b4bab001572c0cbecdd6ade69467bebceb0473d3bc1379bd8fdefc255daac9cb88465552b281d525b7c8ee85acb9f8 + +SHAAlg = SHA512 +Msg = 431f3238d891886ec8471401ad04daf24e00884969955963b03b398e11b62ad33a8ee6135dc0c65630b3e25f396d7a84480795bc455ee7fa2b0cf8b9559783d8f9e71ca9f2fe1645c2e3a422d7df3ee70dec477e756bec6b55154f5d6f34e50386131c211fb342e385bfa2710fc2f0c3a598e7b781233061333f86a2e8f718fc +S = a36086eef46617b01648cfeb43aa676ba1d0f32bdfbab194ff17e685c476a434111f029d75051e00206e7cd12419737d6803fdccbb2eb76bba3286e334dfbdd0f83babf29a92241d97e13b8205d2e8a33a8106c16d9f98a67ab9b132ae0c821d79dcf824e1e28194767ab8b2fde70813b6701f29fcb1470675207498215a6f0a4671bddbbd1a5697e11ceeb61384b1e494eadce1d35e153b5a7eff8be54aeb17212118ca8166ca81f7a374272cfa580b7c2bf8ecde65b42860ad9463316deec871adf5851864b538efab894a8c8370f0bf3afa9c3087cd7e955586d3ad08b90278810e7db57d0aa811146f0ab90698d1ac08a25358938fee57e25ea0620bb40455e6cd2c688c5de20cadb5491a19956ecff1cba23cea6c991765e9f749635dd24871d24a3a475300d6e08924d037b7aa8dd71046e9cbe8857081eafb66aaabb007b6ae395151bc9bbc31ccf72ca756eba01d48c2e24d8422c6ec82d4df1b953739c4846741b81568aaa59509e81109b4665adc1a57b46169ef9bcd912d3f108eca275345b45b2aa571357864ab1212be27d139547bbba26c409681f632bbce553be94de50e8fc47e685dca76252b1094b2785d5a82c5333aefa24523e1e809a75f8c79b182f734bc9359fa1da421c2ebf6b18f0cd79ec97ab1cfff1bd1833d90b8aa482a57a29b6f886db5d8c14128aedfdc17a16a4449f5e2b9c61223b2a5cf + +SHAAlg = SHA512 +Msg = c2d662d5ea51560c4e4a3c25e137c4dff571f009aede2445b7cd7c0d332161f3f7b25f2df6f03150fcca1e5ca0ce89f97491c3007e51233decd9597403a5ffa1594771844409df5d92d4a0f57a50c9ddd34dfffa846289423cd3a9c063b82dde505c41e3bce487bb76316af75907af147c6e4c00a8587eda0f8516f93aa41331 +S = a023835c19f3b9e66ec2afaf46820cb34fbe196919e29107a47294669f50690b699c19f08b85da515d4485f1fbc7cb9541e4329a2aecfe764f41a34103850b2748f75de6829545894e3b0d4fdcb047017d30dd3aa8b49b38d21d41e6d89fef60b67d6e956ff0247eaff157c6f079dd520cdbf0915dc08dc6c01a78a5fa3ddb8b8d0acda861341a002b739fe290f14dc41df97490fc1e2d60ab2169301dabfd215f0357b0832a390f97ea96ee98f73a53e7cc6340217abafe5948a0a83190708404e0328fa156e366bfe2d4a9ac75531e458d91d151786c36bef7f0ce2d5ce5b6b0ce4f0d6410fd897342d492c1a7f8185013f723d746a61d2b97aba1e3d534dd63d0ad21a3fc73d97e480a7be367c549784315aea37c3a2f4a3172a5b4c4c6cb15a38d4f2d276c643ef4ade2b7ca6aa34b248849720f1bfef5f9a11f7dd279ae2185e4195691647acbace1ddd38581db67d37a839c2d6c5b62f0fa798d35f92eedcc2caf8a7d5623884f2f2631d82b0633a8c3a42baa8ccbcc7db05a342715788fe88c23652306fe025060d5c4ce305e33f12b8fec51d1d0300a7c0091e9166cc6a9e0f24b93fc93e5c712197781072c040acd5feb83cc49118d50aba69b54b3e51131a64c120a7989f05d7bf4543ed3cb0cb9048af363125d75fa25da39260eabe49004f51bac9a9feeb5818b514b09327caef7489f9c2c2467004947e48fac + diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-3.txt b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-3.txt new file mode 100644 index 000000000..cf4460abb --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-3.txt @@ -0,0 +1,341 @@ +# CAVS 11.4 +# "SigGen PKCS#1 Ver1.5" information +# Combinations selected:Mod Size 2048 with SHA-224 SHA-256 SHA-384 SHA-512; Mod Size 3072 with SHA-224 SHA-256 SHA-384 SHA-512 + + +[mod = 2048] + +n = cea80475324c1dc8347827818da58bac069d3419c614a6ea1ac6a3b510dcd72cc516954905e9fef908d45e13006adf27d467a7d83c111d1a5df15ef293771aefb920032a5bb989f8e4f5e1b05093d3f130f984c07a772a3683f4dc6fb28a96815b32123ccdd13954f19d5b8b24a103e771a34c328755c65ed64e1924ffd04d30b2142cc262f6e0048fef6dbc652f21479ea1c4b1d66d28f4d46ef7185e390cbfa2e02380582f3188bb94ebbf05d31487a09aff01fcbb4cd4bfd1f0a833b38c11813c84360bb53c7d4481031c40bad8713bb6b835cb08098ed15ba31ee4ba728a8c8e10f7294e1b4163b7aee57277bfd881a6f9d43e02c6925aa3a043fb7fb78d + +e = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260445 +d = 0997634c477c1a039d44c810b2aaa3c7862b0b88d3708272e1e15f66fc9389709f8a11f3ea6a5af7effa2d01c189c50f0d5bcbe3fa272e56cfc4a4e1d388a9dcd65df8628902556c8b6bb6a641709b5a35dd2622c73d4640bfa1359d0e76e1f219f8e33eb9bd0b59ec198eb2fccaae0346bd8b401e12e3c67cb629569c185a2e0f35a2f741644c1cca5ebb139d77a89a2953fc5e30048c0e619f07c8d21d1e56b8af07193d0fdf3f49cd49f2ef3138b5138862f1470bd2d16e34a2b9e7777a6c8c8d4cb94b4e8b5d616cd5393753e7b0f31cc7da559ba8e98d888914e334773baf498ad88d9631eb5fe32e53a4145bf0ba548bf2b0a50c63f67b14e398a34b0d + + +SHAAlg = SHA224 +Msg = 74230447bcd492f2f8a8c594a04379271690bf0c8a13ddfc1b7b96413e77ab2664cba1acd7a3c57ee5276e27414f8283a6f93b73bd392bd541f07eb461a080bb667e5ff095c9319f575b3893977e658c6c001ceef88a37b7902d4db31c3e34f3c164c47bbeefde3b946bad416a752c2cafcee9e401ae08884e5b8aa839f9d0b5 +S = 27da4104eace1991e08bd8e7cfccd97ec48b896a0e156ce7bdc23fd570aaa9a00ed015101f0c6261c7371ceca327a73c3cecfcf6b2d9ed920c9698046e25c89adb2360887d99983bf632f9e6eb0e5df60715902b9aeaa74bf5027aa246510891c74ae366a16f397e2c8ccdc8bd56aa10e0d01585e69f8c4856e76b53acfd3d782b8171529008fa5eff030f46956704a3f5d9167348f37021fc277c6c0a8f93b8a23cfbf918990f982a56d0ed2aa08161560755adc0ce2c3e2ab2929f79bfc0b24ff3e0ff352e6445d8a617f1785d66c32295bb365d61cfb107e9993bbd93421f2d344a86e4127827fa0d0b2535f9b1d547de12ba2868acdecf2cb5f92a6a159a + +SHAAlg = SHA224 +Msg = 9af2c5a919e5dadc668799f365fc23da6231437ea51ca5314645425043851f23d00d3704eeabb5c43f49674a19b7707dd9aa3d657a04ba8c6655c5ab8ba2e382b26631080cd79ec40e6a587b7f99840bd0e43297ab1690e4cec95d031a2ca131e7049cfb9bf1fca67bf353cdc12cc74ceee80c5d61da8f0129a8f4a218abc3f6 +S = c5dfbefd35cec846e2c7b2434dc9c46a5a9b1b6ce65b2b18665aedb1404de1f466e024f849eec308c2d2f2f0193df1898a581c9ea32581185553b171b6507082617c5c018afe0c3af64d2ec5a563795aa585e77753cd18836f6f0c29535f6200ca899928fe78e949b0a216ec47a6adf2223e17236cfc167cf00ed6136f03cf6ffd4f3f7787aeb005840978d8d6ba593d4f4cfe6920be102b9847d10140dff86b0db14ffccc9a96e673c672c1128ae45489d2cbfe6e195ca5206eda519cad3d6e0abf4653e36b5a264e87494a4d63ee91ff7c35a6ab12adfa3bb537f6198b06f5de0717076b0ec83ae0da9ea419cc0c96669d1d7c9e529271428401e09e04888a + +SHAAlg = SHA224 +Msg = 59b5b85b9dc246d30a3fc8a2de3c9dfa971643b0c1f7c9e40c9c87e4a15b0c4eb664587560474c06a9b65eece38c91703c0fa5a592728a03889f1b52d93309caecc91578a97b83e38ca6cbf0f7ee9103cd82d7673ca172f0da5ebadef4a08605226c582b1f67d4b2d8967777c36985f972f843be688c67f22b61cd529baa6b48 +S = 29b5ac417226444bc8570a279e0e561a4c39707bdbea936064ed603ba96889eb3d786b1999b5180cd5d0611788837a9df1496bacea31cbf8f24a1a2232d4158913c963f5066aad4b65e617d0903359696d759d84c1392e22c246d5f5bed4b806f4091d5e8f71a513f1319bb4e56971cd3e168c9a7e2789832293991a73d3027072ecee6863514549029fb3553478c8f4103bf62d7de1fb53fe76ce9778ada3bb9efa62da44cd00d02bb0eb7488ac24da3814c653cba612301373837a0c3f11885493cbf3024c3572eaed396d0ebb8039ddf843c218d8bc7783549046c33586fb3428562cb8046090040c0e4eea50a19a428bde34626277ff48a84faa189b5440 + +SHAAlg = SHA224 +Msg = 49a5f3930ad45aca5e22caac6646f0bede1228838d49f8f2e0b2dd27d26a4b590e7eef0c58b9378829bb1489994bff3882ef3a5ae3b958c88263ff1fd69fedb823a839dbe71ddb2f750f6f75e05936761a2f5e3a5dfa837bca63755951ae3c50d04a59667fa64fa98b4662d801159f61eefd1c8bc5b581f500dac73f0a424007 +S = 604eb637ca54bea5ad1fd3165911f3baa2e06c859dc73945a38bca7ff9bfa9ed39435348623d3e60f1ce487443840c6b2c000f1582e8526067a5e8923f1a1bdaabb1a40c0f49ee6906a4c8fc9b8cfa6d07c2cc5bdf2ada65c53d79548089c524fa364319a90d46213febdce6db795914cbda04d7bbbf26bbb299fc7d1449dcc81d139e3c33d4c1de96473994730a4b639633d677db25695ffd157e591bddead03dd2f1c1b8f5c8a213b785879bf7c9a992bb11dd5e91df3aff0931ca76c406230a19e307f33419c9d9d3f6f64bf8881c0ddf74a5716cbc433329368d6e55f1f751d7b9f9b0a26eb5811772f5f698530efc1eaceee6e1dc6839b2133c2fccfa8c + +SHAAlg = SHA224 +Msg = 9bfc4dac8c2232387216a532ce62d98c1aafa35c65dc388e3d4d37d6d186eae957f8c9edac1a3f2e3abcb1121f99bd4f8c2bbf5b6ac39a2544d8b502619f43ea30ddc8e4eafad8bf7256220380e0ae27fee46304b224cc8a1e2b1cb2a4de6fb3ee5452798de78653e08b01ec385f367c3982963f8428572793ed74cee369f5ae +S = 444f7efbfef586fad431e17fea1a2d59f19b3d619bb6fa3664301833a4db1243459e31aa6a703b22572f0912754e56f7231a55ac7abca514c79d9fb3564214b4af835d7d1eaf2b58ceb6a344f1c36890f5e83b50188c0147d6d1156da289ccf4bdb0b9a66f1e4a1f2643591d5ffb53702cf70ddf351592575488f1929010aca37714b234eeb5b952b9323ae26533e9ecd516df26392d1254228bd9ca21a369bb6ab0a33d5eb44cee92b0ea7471ffe5fa43c21de2a8975d4c5c8e185fcb7aab33d88a8365ddf0119c108803c56288643a056e781abd4a0242a92e2529d405efcfd4248662cfbb332d6e6fad6aceb90b5b58a5541abe07bef25d9d89215e398426 + +SHAAlg = SHA224 +Msg = bf5ff1968a39f809de73e6a8014fc6e8df159367f46340da6cc5fb468985b37446c5d89f3aca626fbe9b142b52cb022a3d93518a74243e25bd3a61c114f533874ee5cfb7fc63f599922854b7c9180949415f63f16bbfe9a8a6289ef8a88a836d20e75e4699acba6fa2412fb42cdfe32f33a25102a1df494c6fb738550decaa0c +S = 017e053d1ef85c43193a0009a903952aaf400fbcfee9c028975777ab540d2d22ab5c25f4cf1d3794afac6697e1f243829052a84e2843cc0e254dbac1021572999f2dcafab58b9dfef2fcaf701e431bdcd16dbef110095bcfba501059d7994dad5b0b54d0812a4380a1f0ba8ec2bcba768bf5b544695626a5f395e784d4b2962fb7533818de1d6ec686edc9f66868ad03ee64361a6cb91fd8ef536ca6454d16c537c07aa42923e62057df9dd9e7fa4ad0384f35721f6eb3b816d352a095c605d5c10e0a7a2e8640e27307cd44b9d71ac50c0043caca28ae8d6f8fa5bb483158a4e415ef6cfad47f34c0042a2d588ace0f1371d93865397bd21516da2cc15e909c + +SHAAlg = SHA224 +Msg = 2ff4fcd0be260bf4a0d73112d0e5649c0bef5bbcdf15423a05ffb2a1f021e09da63d15a8cf295ee50bd2844c89813e08d65da61df232ea4ea970443e20772cd5af11cce5ee40b40e133bcfdf7bb3953d865a8309a8a6c8fdbdd242d79d27a8baf17909d145f475355e19fa11cd03d204c4efdac629fb460fe92e93b48fb9be13 +S = abee5c868f850c17794f021ee9709cc2301320dd246fb3eadb7802a300a98a67083a2e4e250df13314c25453b898110801f7e7acb9b694644e5c4a2623dff1884913c05e636fe77ed5155d954ee38f1262c6c2e38d1114cf6cc5143c7277c8649f5a423f83dfd5f829d9dc74aa4b2fcdc8960cde5ce146b289136064b13bd0d36a1e64a261d680fb7e23d2ae92efb743c3db54609eca7a1be0e47e6f724dc5cf61cb2a369c2bb173f2c6cfecb9a887d583d277b8e30b24ec8549c4d53ba3988642a61f1f939f0f3898005c5d13aaaa54bcb8ae83b72b3cb644b9439d1d2accc800271d23e52f98480d270fad6aced512252ee98332af903563d982d8cbdefb7d + +SHAAlg = SHA224 +Msg = b5dca1532dffda0831cb2d21ebd1bdca23c9319c6427fdcc5aefe3a27fc9b92df7586c36b7c84572eda66bfb9cf5aa01877e72bd516723a7e20787e90df9a0136f6fa5109ac9475973673868d8bbee7086a2a54b3af4a3b41759bfb6485f2464e6ca53cb1c2c672589b59d50e54b137ee8ddd02d67f5055ac18d92f17924cc89 +S = 9ae5b9633f9adc7ff923d8875748bc6220dd8f6781b3d46d6008ae69fda072d205f87a12d54c3c7ecc85b88b6ef4770eeb4b71debeff8401e329f6b3e8dc8a9af13a533b60b962930bc0ce3d65d0b5a276e85a0c74f459fb072992991ba96849023478ab28d381aa67d22c9c3b092a023f06c96e11fd2f1b4d9daf0f3449de1797612a8113d6e626cc3f995e1c110e65d17c636c92929f913639a97cd049155830dc0f76049123be3d3d79159fc2b4258e94b8bf808d7c46beefe6df0a83037d15a72a581d8adedd8f013b38f5502d736d1d2f04b0e5dc22eb1a414e52b1a9e8735e0592288c9e5a0a78531e95974a5d48860f8e5b04ebd3eb56ad12adc46ec7 + +SHAAlg = SHA224 +Msg = 1e563fc3ad027a9cc606be19b258bf70dd8b5273e296236ee8d7a65331585014f05006515bedd6330250e5985fdaa870aea65766ff569fc48913989041cff6fbabcd83fdf064cd3932001b261c69a670bd48069c96e7ebecf1380d82751966c7f8d69e0e94efc775fd1c4a0c118f213ab179475cd0cf6daec94eef6ff6bd0640 +S = 80d3ff1f74a81095d0baa2e9de248c0312ca5a817bc9f5156a293d80896adec5507ee8f2df417afe8779668e25b46f49e4357a7170531ed30761103dbb994135b510d91db9fe1f1268f437e0f3a7a4ba6a4d0b9eb70dfc09fed4b44b35608501c2dfd7a230a28dad14926da4600ba785e496212e57738dd575b40c23347b1635ecdf2b9194d96b1450a6876aa76d04aa5947cce71d85121e0bf578e81cf78c6a047e30fc1d87cfd3019de4bb48294c25860b450355bc2662aa36d6e33f00ad79257d2d8b91f73f27c32a9afcb1e1f015f77cb6b0df51fb39ee1bd76ac42c20791d79cf3f363fb324db30ee82bcc1df1a9564330c12a549659bd3010001573133 + +SHAAlg = SHA224 +Msg = 900ae7e2e7e5f615750c4ee4c13cca8f9f450714a6b273f2e4aca632d11cf6a8821045771f601ed39791010b92f9fac6a824788cd0775d891b13528ea2fd5d59bc7bb51675c1d5263ccccf1edc8fe313ae4d50150c466af90895ed5c5e5991e4a813dec9d14f4294cc8761278644acfe198635b44266c1c915fa1fa2ef79b9d1 +S = 39c64891d9ac4741a57dd8aec7f7243613d155df4492814b40ceabee79eadb8d8bc5fa611bdebe0e0d9714c43d6d29ef309f782bc8e68a4d317ce1ece468552305a73db9d0d2891e2804f4201b1bf8a3246fa082adde1fc9b3d299f88cb93b7b47fe9f73137096c2b8c59ec0612a085363c04cc374769a964feaf1f8e491381e16d7ae2a0c672e69a3667310feed012156dca630a68d339ec80496c6b594fed17091d3a1c6ac3e4da1419b05d589cb32468288f7df4daaceff5a39bcf297dc508ce9549f602e973edbc2aa44332ec3661b19c8c58c5616924beb892f77b5e200d6fb3fc759263a749d157eff9f736798d281b25b71fb470bdb700f211f841db7 + +SHAAlg = SHA256 +Msg = 5af283b1b76ab2a695d794c23b35ca7371fc779e92ebf589e304c7f923d8cf976304c19818fcd89d6f07c8d8e08bf371068bdf28ae6ee83b2e02328af8c0e2f96e528e16f852f1fc5455e4772e288a68f159ca6bdcf902b858a1f94789b3163823e2d0717ff56689eec7d0e54d93f520d96e1eb04515abc70ae90578ff38d31b +S = 6b8be97d9e518a2ede746ff4a7d91a84a1fc665b52f154a927650db6e7348c69f8c8881f7bcf9b1a6d3366eed30c3aed4e93c203c43f5528a45de791895747ade9c5fa5eee81427edee02082147aa311712a6ad5fb1732e93b3d6cd23ffd46a0b3caf62a8b69957cc68ae39f9993c1a779599cdda949bdaababb77f248fcfeaa44059be5459fb9b899278e929528ee130facd53372ecbc42f3e8de2998425860406440f248d817432de687112e504d734028e6c5620fa282ca07647006cf0a2ff83e19a916554cc61810c2e855305db4e5cf893a6a96767365794556ff033359084d7e38a8456e68e21155b76151314a29875feee09557161cbc654541e89e42 + +SHAAlg = SHA256 +Msg = c43011f3ee88c9c9adcac8bf37221afa31769d347dec705e53aca98993e74606591867ccd289ba1b4f19365f983e0c578346da76c5e2228a07e4fc9b3d4807163371a52b68b66873201dc7d6b56616ac2e4cb522120787df7f15a5e8763a54c179c635d65816bc19485de3eb35a52040591094fe0e6485a7e0c60e38e7c61551 +S = aa3a4e12eb87596c711c9a22bcabcb9dadffcabcecbd16228889e9bb457d5d22571a72f034be4783384f43ce6fffc60534b8331cdd5d7c77f49180bfd194b5fd43a508c66d786c558876735894e6a9300952de792f747045e74d87fd50980230707a34a4df013ce050bbff0d6f570885c9c7bf8dc499132caee071b41d81ff91b8ce21aa2f282cbf52389f239afe1490890be21f9d808b3d70b97efd59c0b60e466088bb42714f212bc90db7e942ebcee60e7b107fff44fb3564ff07d6d02850215fd357d897c4d32bef8661689f2d84ff897637fb6d5568a7270e783426b74b7037493e5155fd7cb3ddddfd36bd8a9c877d71d2a966057c08263d2939c84987 + +SHAAlg = SHA256 +Msg = 61d7b3150131351e7b4c8e5645d38be9335b40289af34cc6b6fc5e48493bf8b7852c73982c99441ef66c7d9d33c29742b1406e02e0aa8dd034b1ac13cb0d775750cc91421fead9caa921eca61a02eb023a457e77915e183acf517d946bc68292896014fd214b7c8c5e14e15944be0f9296127771f736766e4f81dab3708ea2d0 +S = 84e92a145ae6be1ff9242d9ed2d68de668e802524e8ac0a79de62fe74048c35491fd2ffdb185057e666dbfaac84c34fde7891263f8b2bc74746230320f67a7bd7319c9b9de4190547014e2d7a2a5060d6200aadc3a44bac029ff3992edd30ec53ab0d9123eaa6b147352a073a98161e64f394bb99492c6977e24f445c7125bfb90f87faf262272134acb18823a99a5228d1495463297fd774877fb63d4918106347e6f29315e48363f39b33299eaa32d8da71b229d8ffee5f66f722ad3aa4175d3f84ece9cc8eca8d6f2f356a85c1524896c18f7b5c8f9bcdef45c496d539179891ddc76e5208ad8353d48c624054f3440eeba4432a10654a11ef53783bd116f + +SHAAlg = SHA256 +Msg = b6771ab0e128b41b32b8b05e05add23ce0fb877b40bfcc3b992f4c8698d1c828abecbcc1c33d401859ea2cb2afbc7fa4588802a5faee2867534639287ad8af84674be18db661de1da8e19c6b6bd452dd9bf3221d0861fb6fba96be42329b9f04f37dcf3b41fc58d2298348b0c15d1190b125300cf27e0dfad60522fc49846053 +S = 6276925568626f0cbe6f5150b050e1702582f8daf99a6f880ef75cd96c2d4208fb6e91b01ba6aba2a816b2d3cb975df850b1d268c4662dd1ea3a300c1d7171c633dd2efbac3000c56ab80f989dbc18243e636ba5d4d26a7d3f1965ad3cb0f1a8513f998003f7b67e2ac5c718cb688b3201d56e68f0b9f86257b84794cdffbc1fe3ea24b7bb6e9ef0539bd4fbc1afb55bc1dca39996ea8a63769f6e225707f69047555e1a4ef3c639c5f2a497b889424a90148639bb64df0a06e0b7f0e8ed466a977baca32f482337b2abe3983eaec3fe1075016e5867521760fd0607d799f1766b3ff6e2ae155d69250f8bf08c8edca0b4f31d0f838cfd298cb7312df93f0997 + +SHAAlg = SHA256 +Msg = 6a81cb6c7b268f4b9fb9172adbbb36a237a0dcf1c3c83a95dcb0271aac6ac330f04a5a00fee38bc00631a98598186159660d9d8e4c14a9528dea94836083dac4abb73fd00e38fe0e23c7236604a736540e52193ae56c33fbb8f5cfc5c7c2be2e222e4483b30d325c7ee14f742851fcb8b6d6189e98b822b8e6399d89e90fb997 +S = b67991050c083e645097db03fff34758868beb19e9c0c48475f0f913361e71d3d6f27a8c4f0b269b49e8534039e53ad3bab9a3e62abe078ee75e7fb5959006fbfb014ca7b81b3d5afe0ee5f6fc2dfbc450f2839543002f33f4f354f827278c76c041686eea7886ebb2a7afa5995c6cddb1c0b58066ddb8dc54a6927c146c3b2a0fa7cef28903c6c672bc20ef68ffbfab247eb688ab4bde7106d9c59d2153096dc9e5207267038d88e2174e76adc1508ae24eb602332e53c0c2e33154a66a97a0f12f66c61258c7bf6bbf3f1dcbe9caf2fd30ec68c0a9d09f4fd776304b540e62fc8512beaabc4be2107a1ec18e87f61f9db25e871dc0693cef17c2a687fc854f + +SHAAlg = SHA256 +Msg = 056c1e4644599e3183dd8d2f64e4bb2352ff00d012ab763f9ad6e560279f7ff38a5ecea9c2e4ea87d004ef8cc752ae93232aa37b5bf42884baa7e7fc6a8c951cd245de2d220d9bee2b414b3a7520c1e68bcf1ae99a9ff2bf3a93d80f8c1dfe8b85293517895c192e3c9e898295d65be334f44d62f5353eb6c5a29edfb4db2309 +S = ae05204e409d727eb9e4dc24be8f863328c2813da4fcef28866e21a5dab21a485321b735274af06bf17e271518e11164d722ab073548f02e1b441923db6f1cee65a017edfbaf3361c67fbc2b39fe038cb5cb65a640f95887389ce8a5ad2ec6e69d3d603505b025f6d6330c8b648802caf7e6fa3fe7b38141659986cb89e6232f106222564d5e5195eda6a25f99068572c2fafe97f147f7f2f4119f21385af1fced97f78632d8bf4fd9a9054d8b9aa2a9f4ded587847a91d42c6391125f103ae288547e8489693ae8686b84891b772b10c4796883f66cd459a8c1a6a4187bd6b387d349e92d7b604953727c9e9fdc449e7345e7ca6b339e26b086f5548898cbe9 + +SHAAlg = SHA256 +Msg = cec5c9b6f84497ac327f68ef886641fec995178b307192304374115efcc5ee96270c03db0b846d674c528f9d10155a3f61becce1d3a2b79d66cdc409ad99b7663080f51a102f4361e9dbd03ffcd876b98e683d448bd1217e6fb2151c66964723b2caa65c4e6ca201d1c532bd94d91cd4173b719da126563927ca0a7f6fe42536 +S = c48a8e01d4bbfe0f2f05659337ea71d21f38d7f7a10b00b06e1f899eaf40a8e97ead64bca37f13a55ef1cf3fb52cee279cdcb096085a467afa97b03d78d6076e472b12d6be9647cec32d8d91a26247693771687460ba5269de18e1edef6022533a9579f91d584f9e0cee1100c447b77576b1b4ee163ed4700147a9aa61bdc4e2316d2d818c1028ed1c3e372c9f6a1745572444637248091b83f7b539f9bd58b7675676034c20e4ca119b91c4ca5dc76acbff3d0462898352c591c2ca6f2d8b09e2e6338a84336e06f0cc020e9eb8da785889b497f3b98e827ee7a7d3f1b0b73c1958e16aa97861e6675970ce31d9d119bb340be80fd0f43c3dbe64f2a59d629d + +SHAAlg = SHA256 +Msg = 9193f8b914dfe0e62521f35afa4fa5d42835e198af673809377a3e7a99733142a180dc0e13e6bb7ceb3b60e5e9d515794d82c392e07913423391d22e2bb19aa0bd88afd7f77e27a240ea4e2de085481ac31ff8d37990211f82f2cbf4c90de98d6e1338bbc88e6a80ab9684dae64785dd107248048593abc9ab03f1737a6f6530 +S = 5c2fe453a8b08c90b02eb2c9994242d518f3f21b368895cffd624050e48aa714005ae675fe79aa3cadd4df55bdf12bec5be8a41d87538f7e031b782e34d392468e5f14bc613b8f4d28c8fb79a2537e1e601031da720acd7b2c8dcbe9858624a7a9a92a06f91845f732370d67365c6464f7b68f22eb3edfeec97e3285024d7f6943b6d50a16cc96d60f680351deaa25f0bc868948607a6ba7f1949b85943c6a92bd6172e81bcc055014b78a733972e3f39d14099d1607a20ff8681c29ae1ef99ef115ed6a1084b514b81a69d4a15ce1e2576fdcf2b2af615b52fec70132112dcc5bc19ec17f32281460623420317353e8a255fda502bd1fb11a58832ae2c04f9a + +SHAAlg = SHA256 +Msg = 0e57ef40b021bf87f642c5756b6515a0e06c15a01856d716c566a6edb381dfdf44d9033b1cc809e61dfef9a096dfb689b7271be449d04a1a9c354102c077af5ff72005ab6b06cf131d7345c21e821d6201cca4e090440d70be6009d2dd7a98d311751e1605a3b914dce6d2626b16f233a5a3d71d567cc820152f25e473514242 +S = 7643aa3fe63e66f79d6b409d145ea820c9f7356f71b4acdcbd43fe1e99f8802cd1662b16240f5cfd94a769b0b3f2cb0b11887e886e5ba43733367490b3fc188f2fb3a0c0c8a68b5d2726c8f7a31902b6b86cd402287d385c3e3c06503ce17fd6e54e582f4a907a91f952d2a360e2fba00028e4d3b02aabf7d220b31d1f8ee7faa070147682ccc8bcc756ca6a68fc20954550c317e87918781a3d1f1923503091090c3c60ca1c0b1c699906fbf85aa70ad9ae48709ff743b82dcc31074cfcea623ea45e48644b19a21772ca107ed64239c56574a087f1a6aadf0f4b00ffe581c1410274c875e4599063e46e5168803f0d28d21fcd3509b4c6222995add7753bf3 + +SHAAlg = SHA256 +Msg = 0c8491fc348d341fe85c46a56115f26035c59e6a2be765c44e2ec83d407ea096d13b57e3d0c758342246c47510a56793e5daeae1b96d4ab988378966876aa341b7d1c31bba59b7dbe6d1a16898eef0caca928f8ce84d5c64e025dc1679922d95e5cd3c6b994a385c5c8346469ef8764c0c74f5336191850c7f7e2b14be0027d8 +S = cacc8d9f5ecd34c143488461135c4951676145c6e472b92f12f758046f172142fa388f285f3fff068242028829047e248059ed4fd39d2c5ade469dc7c39345e5114950d2031cc7465fe712c4041d05c756d3f2d88a46ceb99f2e24a52e958a03cd2519a9b137e62d5ca2b353f7b047b625c3602313fdb53c8db23d83951a599db328fedc4ae06da89ce7f56259b5c8222f7bd3d9740478fd28e5810db78aee8623fdd39f603f8ddf98081d7873980c4eb0e22a9cd408f7c4134c12d2049a2d120f4b62e6b382b997fc375ef7ac955fcf80b045c3d6385ff422dad350c68870539068a162a2edbb93ceefed9677939b90bd3dfa0dc053460b4e2332efa692179a + +SHAAlg = SHA384 +Msg = 6cd59fdd3efd893d091afdc3155d354f10d6d88167427a2cf7246207e51791a6ca6200a914cd2834a9b3c79fcd59e26e457e0683bc33d49267edbdd6e5d90902696f1e7b1a4affc4ba371339868c28015ebbb73e262669866c35db974ba69e468f2583b9191d15d686cd66fb0b9e0ff0a3b4721a6dc342f14f2446b4e028595b +S = 3974900bec3fcb081f0e5a299adf30d087aabaa633911410e87a4979bbe3fa80c3abcf221686399a49bc2f1e5ac40c35df1700e4b9cb7c805a896646573f4a570a9704d2a2e6baee4b43d916906884ad3cf283529ea265e8fcb5cc1bdf7b7dee85941e4b4fb25c1fc7b951fb129ab393cb069be271c1d954da3c43674309f1d212826fabb8e812de2d53d12597de040d32cb28c9f813159cb18c1b51f7a874cbf229cc222caeb98e35ec5e4bf5c5e22cc8528631f15117e8c2be6eac91f4070eecdd07ecc6db6c46eaa65f472f2006988efef0b51c538c6e04d7519c8e3da4b172b1e2761089ed3ad1197992ef37c168dc881c8b5f8bbfee919f7c7afd25b8fc + +SHAAlg = SHA384 +Msg = acb30be9092b2f18f25934a0d678b6bcd6b67c2b88e75884f47b4fcae3adfa405afe2c7e61e2d6c508b92790ac00f76b77c965082668bf900f70a33762de6413af93af2ea8086fda293ded4475f23c4cc31ad494f98d7dd7b7fd6f7d972bb76cb35adc206804c3fe5acdd0e5b8b54e07c29111f788bc5902f40afac30afdbaf2 +S = b5c60d8da9b3943878cb2359cf65e4817c0794f950453ca77c81a5a1c1585591aa50a67468e3b399e4faf1d606bea0d9e6cc1d2d70db8063739e0c27d3dc9f9afe88dea52e73298a07d05c7d9707002efa537c389e38bd37bca74eb0af6261a5da06136202c8ad487eebd50bef74767089c70870be1d8fab9156f9fdbc2f2e9cc330a95018ce7943984becc25621bfa66018ef8320b60059f941156e9cdd87ff0d82cf7be77465e0203e7120aaeced84abd8186947d4ac3daf3f993902aec47c3090475c857b5d359f0a5572d4688e5a76a4653868ff54ce9f999e6bb559d1c11c67c15be9d7fe5f8c1704301d055f3d2907722779d6012036084e950de36f4f + +SHAAlg = SHA384 +Msg = 601a6aad3faa7988d5ae528a6969031b10a6f39216946aa89fd4532c8ed141f9a650b126ef488f7c5cf3fb2daa254cc28bdd55560419e80214ef999896dac4946852d24fcd9fb77610eebfbb6ba58bca26f4567f03ac7e56da553f23817bc103ee485592a058fb5e3bc8299c7290c71a29137e75dbf5328c3a2dcd34165b3f2e +S = 301d60d56576f3663a7fbe8036bbe4fbc0fbd82cd6a42e36d7bbc8b206543dc2d56d3198e7911ad138cad222dd99050dd1f85fe19c8a88bf67135e7f8f11b5f5e485c91fc7d478069b72f46ebcdcf2d2ae7de6ac8fe53bb6c04911d122cc231dc210b2147ebe8b052e8b2ccc09f338b349de2025cc87b2619a7b163347ca66a34791a2e46b4e2ac57eb9f6029cdbe024e896d57f7d0491f7783312f8f06c790770150cd139f61fd2b3e7041b37261c6e7ea86d4e06d9300b1a5667cb0288c550b2afb355944834b461cead13794276bb46e5e20aec7b63aaca4d491a500facd59a37c52779cf467d74af1e62b1ebe0fd0be1cacb7ce6d050d86e4eb76cde0693 + +SHAAlg = SHA384 +Msg = 44d3e0fc90100a1c9316063f26b180326cc2e3834ce56e4324528a0bbb015b3d7812958cd26b91bf08a3a0b1121f9f9dd77acb98a02ad75fcd613c53c732d1c235f59b6873ece6363f279452b6a4b65e80bb59fd47b9a2936dcc1e4dfe1f5362e3459b9859db3209a2698d27fa8aedfecd4d35b927daf8686c59d700490f0aa3 +S = af2229e94a857b89e0e890daca3a8fe12ebdba04948d1883a7d7816a3b682f7da3032540a8769f9ccac9586cf24e8c204b45b85d1bdcc5a5450a215b4048ea42983b3456fa8c76c6786e024f705e088d694559d668caa8684cad0fc57850fcaf34e458aee8fad4e09e6f196557d4e8860284d982c0105d98ce4912e96c3550e2a0c7e8bad5abc29a9a542f57a8c60579038067b3d5391abc21b4f9deb024ca58f9b0c38c0d1f82373f528e939bd73a24d501c591168814c872c525db0e56cae47df00fa3728dc3a0976965323ce8d2dee2b138b50ab7afd48495114673e91bb3ed2205e26a8455474c3d4ec8739bbff6df39b2b72ee050410930423b1472b6ed + +SHAAlg = SHA384 +Msg = 5af09077a1f534b89822b26c3272adf8500d3c6bd90f9b5e0d8b211f16d0720ee0eaf6462b6c8a80df6d75359fd19d03a0cafb52bc9d4c37c2aa099911a79a92652cc717f0746fdcad627c72f1c216b243d2175f6d00bf07d3f6aa2a04d4fe9f8fbce93218944b92aa07af6b4fcd80cfde2d7ada15c05e96e777ea1c17df08fc +S = a56823fa577e8946f1d2f6e351b738b53592544358528af88807ea4f19017dfe81a3d69f62fbff649550d9b310faf27a041fe624f0a02bdcddb79bfb0a465739ec8b64b748cc29e5a02c777e1826d3e2f1eee6fe2edee4a8bcac519c7c7ca5c039e76d630668945a1e5e8618e235864561a440e73e39f6d6842ad7da64ef5b0ce1c4ab88db157b68107174ad7d5c9a6065068768c11c4c96ff67050b5d07b8cd027fcd0d347ec79a197cf43435985bc1aeb479db0022289e8dd3b31bb7c62d8831cfe6952f41d24f89d753789535f918ff68b36950af6fd31dee1ac476a0cf93afe9f4a766f3c4d2c0c3f92825d5572eb2eb8a2b644e329eea1683f90810ed77 + +SHAAlg = SHA384 +Msg = f60a3a543768fabe37f003009a8c26f7dc91f1422d4429ed7f9d744cdd4b552afef75d241acda04ffc39672159ee248e602dab7192449e2ed4552995c258f00a476346e36a29a0126bc249040faa57c9380bdd74b83f62c56790920574433432f8d65c5cd185e24fad13127265c6a5ef8db4f114493d5cfa61d91664981408e9 +S = 08d396481deef18cb0bef7c3e826fe6e5c9ecc85e5230d35d66772b8d2d015d4e5f5794fbe0550df2f745730d6f8d1d3b850d164fce4630805e711b59308f8608506b7e01e8e9294ed8b7e7582165677f180e965169dca81b3daf24d7b92fe32d6a9ac63821d48b1a0a144fc7a04b0bfc63a3bc16a0fd837b02037ed76e50d46cbfa3857e658e370c586ab1eed825076321ac8e82be374bacb295e4d3408f0cc1fc4c300b84275a51c3573e9cabfdbe3dc51e4a6f5811d860d725aaf8fd0af19a2437b0f1c80f5ac222f6b25f1fa09e93399a6976b1b3ca76afe6086e9b232aae6c7b818255bf963f31c04ae3fa2136c0a442997d4cf12f395fb804a4755b56b + +SHAAlg = SHA384 +Msg = 2c07a81de58955b676fec0572d48d1955b4875ff62a44b0010c7a1072b299ee44dd0c076f2178a83d0ae76e767e231f1d81e070afab29c97abd4de2164e437b311f507841f8851d6d69ab51ee9e29e654b54bcee45e9b519c6a21787facb927f1d7d6491926614792fcc6346dcd080bb5cf07bf56ad0fc4e083a358214631510 +S = 9aa391e7c2f0e920aac27ed9fc2081d3c9caa3735883d01ad7a7e3b11867d0ad624156477bbbdde659f474682d0d774489e2b5b039d1eb35454c9e3eed78cff9c4262e3aecfca1d817542b486096598e1114bfc03f20a45de36f6df70d144d01dc4866a0f83319e7c2b8530f8c27a41b7add9f692d8a8e646455b67c9ec47a4d2ce3dfe35d6a2e89d9be50c5b6da39bb0254bd23a809ab97b2b48a068a87abde6b6a6e35955fc92a9626f9607d5b3f401517271594bef73859812b6a621ed6bdaf3c5f2a90b1e1680f68dcfccacb65e0081f1ccb6a2073709d1ba067065016ed73ebd7ebe9e7a7b60c8c9dd04a56fab30702c8a6df6a353a301047df4c7aff62 + +SHAAlg = SHA384 +Msg = 35ec92afdbc2fcefe48f1e2f6e4829ae53b3da0459cc4ea8a96818b5831891ee2f506fff37c89906d3233a51a5cf1469a62c185061f033085fca6a54e24529c3d6f0d8e904bcb0f089a5cd50869484da1a84f6fb8de4e53fce3dc714201519d11013f6f6aa64e8b5ec5cfeb27b611f0895059d8c47720d55e00b577ca5500920 +S = 6b0f5b50e678da083ed0f1b64e943e8c6279c7246af5ad079cdbf223e42a0d471e56314bc0d58f202aa6c5e1e5255985b0795d48eb3d4b8e3fc92240ae02b4088c6ce8ab0e8c79c68dfdc48657d6a28295391b9a5a5f35255126bf8ca53cbcc0082eab52ec109d22a1185f6dc792fc290aa8dbaebb2fbe404f1d039aa6343cd7af9fcb2d1e05def48096c237e10daa7cfac5ae9b3b3022005d0d2d5c9c5c502b2f23594e80d1604bbb8f5dec07cd3afe1f777743b0b58a4e0e4e5caa148830eee047968e7f40661f9f1a02e1a7fd2b6caf19326a75e9565efdc0114bcecb14dda06c329cf322a5bd3e6ab48d95f2d2a9c1c1233a0aa015a738f901f13148b454 + +SHAAlg = SHA384 +Msg = 80c9debdf93174d75750a6cf09af71fc18fd513bff9cb491be60af112a93f000873cf43858a07aca760a37e760c8cb01d276f42d997f01cca5e08a6a602f5fe63edcbed395b8c91fb0b336f21fea49d950e1ff24640c8d8d3b95081ad1596644ce34a558587e4a1e2cd50db9ed1dd3cebbc6dce8084d3e1ba70692e82618ed61 +S = 4a15a783adbf274622d5a610bb6fc73337999e445dc2133accb788d6203d70f3cdc63e67daa4171a7952a4986456fab3c077a8941fb259e37a5c0cbb20c408fa24ad0ec850e9bf028c3604609941f5ae2f18bf1ac37a24f755abb9c85ddcd0bf4a12fabd9d253029e081f628e2bbe9f9afe9224954d8315db86c2125512bb98ce9b36930994b091a8a1d7d4e2f4a0e58d0a35876adad14300530b39c8dc11ded3ef2fa95d5f22e67cae34cc21ad5e23f9122b53dfb79f1a2ac63c1844e9ef069a2e41f178d6dcedc518aafcf81e0ebd882556e731cb0ab41d957274a3fbbb7cef2608791000c6b860868cb7393e7d03d945689ffb77555efe08f461451d33c11 + +SHAAlg = SHA384 +Msg = 31395cef349551343a49271a8d812b4c7b65b455b7eda811fcf74161f397112357ae446257be26c93cfce55e4ba7976ded997ec10d1c8b1ac2fe22dc2ee81d05a6eb1361125cda0197e24ae974cd44092aa9f36fe01352ba05ccefd2370ceed6641950562f1776c39522e023d09a3b097bbe9bc5f87d05d80f8830abd7ac8c80 +S = 162f387695cf9d82dda89c749318e46c9be895ec364ea4aece97ccfa63925af3710894da2b7b5967e46f4efa80ca25d2a965a7e15f75e0aa1bd4250f8f41099e6e9714c3fc4311077ae9bddfe35ba4727531529c239d546ab1c298187f165f708ccc0ae3979a8da193e34859a59c2c3bc42253c8346688e6bba6fb1b01b10c1ec2c6493dedcc2696269d851bde63e27e37bed357455c8fee5629f94afa7a986695cfd5b99212657a6c884644596086b89e0c7c05e819faebebef745fd295af8866e0750f5479baed50cbb3d059f8a5eb7e0e61e2733ae50f0c1ec42be71f5dff324195cb4f0e941a21561513c3037db92fec9556b772ccab239e34b1876c56b1 + +SHAAlg = SHA512 +Msg = a7c309d44a57188bbd7b726b98b98ce12582228e1415864870a23961d2afb82cd5bc98bec922d5f2ac4168b056da176ef3ba91f6b699ba6acc4144868ff37f26fd06720868d12ad26ecb52572cf10416af68df03ab645a8b704857d2190ffc3f07eabe3a8e2abe34ed6159e884c4fae141d4333d5c3e0db044ff9cccd9cbd67f +S = 148af61ed5ea8a87a08b3f403929bf8031db4fd3999b64409ba489f97a3ee5208ea4202d2ec18734f615003a51f77441085be6ac0f11810ffa2dad58f0e186d5520ac2b8a5d3966e8d2abb8074e13b50a4e7de83be10a66fdc7ca18118c5774f781212de9efebc6376fcdddc65a3b1b8f1ab31492fe478259ce719b3db587498d879a01dec96e8eabeb07ff7073f3f3eb446084955ca26329a791315a2c259d225e26b2154b2047b21faba68115bfd962e5e24ec52d7c5d231e3044cbcd8c8804855703cbaa622b15b6ef78c7421a367166f1b02576c87360593da75b7189efafd1082bd59f6857f1701f646c24d70c95273c49d5b11e6afe258821b55c1680c + +SHAAlg = SHA512 +Msg = ca505d4591121664990747d95d9555cc75bfc3fdaeeceeaa60eafab3fc320cfce56eb9138138bf138f25f3c8bb027b136f5d3d90ed4897779b5951c09df5d08ba9ce8cbe17abc4f038687086e93d771b684322266633d0d65d71ec41234a1dbec07abc8f7df28bc43dd8a45b10ceafac06775805413701914e3bb37eb6ba5b5e +S = 589ccd4ebf9764f87e6afa7f13c4062579b02228117b15a8738ab39cd64477069cb4f52cd8d5f4574c657b453835ca3cedb824f03b92a573d6d3d91361313f11bdcb34d2059fe2e6ce2b854461af58a9294c88cbfb2a639976b56e4748026f3040e2fd7112d6ad44500689ac777c071d17391969762e186417c4400abdda5c16dce0077642f1fc1354e0e8c14e558c923c1bfb85488b8350f415866a60871ed7151f5fbc5b880500011977c778e17fe8918c5d343f70b00d58f718956125fe28b3a5e2d07604a2b8a877204434ce903b35a030936bc71951ca593df97d24e8e8ad8f2dc9b78f76ef13a1d386ca857ced48f19f3ebe39108f9b33ff59eb0556b1 + +SHAAlg = SHA512 +Msg = 237a7e44b0a6c268bb63364b958ae02b95e7eed36b3ea5bfb18b9b81c38e2663d187144e323f9ceafb479507d184e63cfbec3ecdbb8a05d2dfc8929693ed9e3e79e5f8abfc417ba1e17e3e281e8a0a32f084117f28c3dcbec51b86f5c85b2822441a9423b5b446d3928f977626a334579b39cfaf58f214c98d0cdf640be1ac59 +S = af076bc213caf75619f4bd1d787cc198f7df3324a0dd87a88416e0a4b81c2fb9a9db5f98aed43bc15fe2357143a6e4ff701d9c48f51de9eb803670bbc4b0aea7220be2f84b8300318c77a9f615986c4980abda85e3ad0089564dbaf7f44d81b6664eec0311adb194d46de96bb17d5a5d47426845802ca0f49a169eb82b75afa191027a0cc8fce9dd16055350df9745fc7200ff9f4ea3cfbfc66c42848113e3be3293d510382d0999f032515527bd99f66efa2a755e011247b223a68e51258b6bc319a7cdef4aec533e9dcd8ae26e349e5b33c79121907de509a1cb83c2e59a47c1a884bf68e7229316a62e3c49d1f542ebe7105cfc27099268120a7743908471 + +SHAAlg = SHA512 +Msg = ab18939230b096646a37a781629fbd9270f3891a5ceab4a8c3bc6851bc34115dbc066541b764a2ce88cc16a79324e5f8a90807652c639041733c34016fd30af08fed9024e26cf0b07c22811b1ae7911109e9625943447207dcd3fff39c45cb69ee731d22f8f008730ce2efc53f114945573ea2ddebb6e262c527d20f8bb1dc32 +S = 95bd0bf2362f34b2e04075b2934f404798703ea472b81ac3cc223aec486e4c3d9c5d1c2f9ee22417132964ed58e49937f5b257d316ca7fffe290b19f5b58103836812bef30ca0327039d8b9ea91295392fc394b881e2d2ac9e30c5a44256700fc9de0dba298273aec30c4f778d2e7127e8b8a88b0274fce04081cc13adbefe555014e1b5d5dcf6224c5ae2775423a66c81818eec014a3faf9ee75a3f6c3e51c556b0a288e8c262946684eb628b88e3f875e62ef6e801cae75f61cee404971c39d24a9712eb342ddc663515dec103b18d97d78ed68212f27900e77c049b60c853002b08022df56f707efa71027589e1a3ca6e415ba5f4437e978b07af3b73ba0d + +SHAAlg = SHA512 +Msg = a280e89ceb2c8cf26297191baf9a955d0d52375da023633e0afcdb0d39dc335d8295852ef4d06714e6511a95d37c04d26818606ada54359b7d0784aa933cc68561ee96a88910aa3d93d10787cd1d7580556731c174a6e3a32d9dcfa416604f0c671481d051f63db6919f4aba4486d1b0fdc6112c1521559f424523c26b4fb738 +S = cd60de3b4a1289a84ca761f90fa63f4d5688bd885f4b531c8515add2de1251f993ff7f986bef3fba692ecdebc81942d7429c7a59c5d3f1fb872fc1da1915e94586a5c3d963603619008f7efeded1d70b0a11ce2cd81b5b0d86b3760c9483674f55e9fa47f2f310d588fb2160e8b5c32be4e7a968d5a8d4ac6576b71a2b91cd6af0016cbc816d4aae8c70649e08dce90b3ce52ab49ce2cb5b0ed8a45e33d94cf2d4cfdee1151270b2073aeffeaf717d39e04192b8b693c53f21a6123813280806920b7dc582201c9d117050320671e86139a027976b7ecf413369a9fc28e0bd719ceb5e107de799f1bc2e255a9f29476d4574d1332f66468afb9004ff7b535302 + +SHAAlg = SHA512 +Msg = 85ed1e3dfcd5bca24cad1d01ebe192b7d059ec9b884436e18714a43fbcc9c64f687301352ff240817001e757d27309cd1fbbda9456b267dbfb958470b24d06280cf43382a19477875f3259f4210bac9b831d0a07f5e97e5f0f78818c259c289e1a789b6c7942c97bc1485a220131e5eba586643b9071e5366bc482dd3c3c9279 +S = 138134bbecefafc7ca8b102cbe87b012f8aada8878995002cf1887694b5be3b8f0bb616bc6e07962d5482d3a52c52ab91b3ee0064d24558e13c75c80f6a95b7dc498442879d5baf8ffa7e2f638808b97ff70136bb645e30944dd97a997a0205169553a5b9e874c5a9441e18c15ebed76043b639dfd64db79e174847a102724a2a05c649473cc7dacd39e2e1d5666bbb5f01246747048fffcdfcddf782da24a6dcc022b2695f70781bd9f8ff7d03be22eb8fc793f5c071a66d9a6ea46c6a2cf0556526ba8b085073546448081732ac15f12833c1db1701ff7f68344ca65dff86211a003adbf5189cfae79eaa8c8b7141ea378e44cc9c5bf024d2c710ff5cd68af + +SHAAlg = SHA512 +Msg = 0bdba34e35fca65a1781d4d7c933a5f210d3a59483aebc95ec71b32df13ff4abf401916937fd88ff44ab46b78cc369414e9bcaa8bab0bb8557828d73a2a656c2f816f070b5cb45549e8eca9d7c0b4a7b0a27e51c119358dad2a17fb3a45718f9dec3c94af78d65c3ecd36b71e230cf080d1efdd8d07f1cfc26768fd5407bc2b7 +S = 9f48deb96bec0b72fbc4f12f08afb46bccf19d9e0cd0368ebeb312d83872626380ac928b612c5cd77438d47aa9ceea905a9de7182c8ef76e8a7a03d6efec8400b6496362bf6a30ceb1ced2185fc7c2117b6a6d888ac20c1687b0f2aa9b76705fd3154889b6acaf4e63be25880c71e6c239ecfb965004cd6321257f846afd2a6590c72ad83146eefc7b0dc4796339a7f64da0fbe359f94ace1fd151c5ac7bb5707b32eacf564fe1622e66e1844e639602ca36274ae01f93e6b2bd1effd34ab63d852cc9caf3ce8446c29c8ae3c6110fb7538cc8371c2a3981249cdc1be2b24b6a0c951764d0b7efa92a22cd8ed165e182863579377997a9ee50c8ac3aa4df1aca + +SHAAlg = SHA512 +Msg = 9aeed85b40ba7f86a228b5a1515ba190b2efff66993a5ece19d18baa9b4e4df92e5152fe1ec56a9fc865f30bac7e949fc4f62f0b158d10b083636b4de9bb05db69fe31b50103fefc5f8daf3af7156b4552ca3667a9d720bbb2e4bcdabadfd4b7f4fc5bc811faa36710a9d17758a98d4a0474fec27e9ef5b74f5c689935442357 +S = 9eecdbd7fbf618ddddfb6e75d64440f60445b853c542fe0fbaaa6a431294e6cb6683ae1a71ea055eb49cd2a3cb5154dc93d9aa166399f4e6294f0eb0652800d71e041c1ce1ad849c03c963bc0929dcdd11be5d67a050d02b64b29eaba655642b6436fbfb163690bf432fdceedd106c2f4972ecbf3077ed8b753bb605ec1ea03020839a318a24f8d4c1d7d8df99a7f0010ae41a8b068e2888531056a7dabbe921878dcd3c7d69416867f4012a606ae86855f15aed0da1250e59687706e89c9494baf37f61fb1703b79928795f90ccbe293a1e9472f6e0f4b890fdda3ea2522e3d11d5abdf0069519424d147b5646a5a601f19ec89729a8b48461e71c08bbe9cda + +SHAAlg = SHA512 +Msg = 654e189f06c7d42d5539a5872184f8336cf100691f190818fd02082ad68a7609fd095e62fc32b529853aebddac3dbf0d54dd571be72c90404bcc93d01154a9bfeff65065705f8e7eeadf8575b1ca48e28a1eed516265e34540dd867c79d7f175235d1330cb1706356b709bd796f43abaf6fce993f88eaa2fc67f0ab776daf732 +S = af90298bcef615309f235d5c3360f0df11f5fb988789f213d4c46134fee5eb104aa1fabb1307c9a904709de88673ed9951cba93167c67c09d827021b08a22c0505828ab4beb42e59a38832cb4da24ecf91f470a3b412c0712a8a59f6f2739d4e9eb4cc58d2c52592f1452dc65759abe43e8d2bc804e2efb3efc9b23cc1734ff7caefa46b03ba4b397d0714cdb8501a812c1b9f47411c91cba53a3d3b139edbd7cbb543f5bf3829ba7f5fafd8a712c0b111943f53209353afaba176b3f5dc060339d09b1fb3c213dae5d0f004d302828560fb5debf9fe491eaa66f597aa4de23eeef9176358755c952ef96e3672583b6ecd95a02e8ca7b21d7c20cbb7a757af71 + +SHAAlg = SHA512 +Msg = 121f80b43f9757b3fa80906aeab232195f0e2c41e5bf8c091ac0f1e0bc9e43640680a1823d649bdf86aba277fad8bc85fc957da2caf7323053025ff949706c1476ae9b0953283d34d7c6266f8db65eebe96d195fdce8e965a6383320ec3de0230ab2548eaa69a47a96d80398cad57e14ce9eeac0421c1a6eba69559dcd8f0659 +S = 06a2d74585f12ea7a80527b8c635a21cc11b45dbb0885a12722126811dd25d657bfa9fda774301ca3498d05dfdfb78a6aa16a9f8a95f40f1f04bd354a522f6a2d62b324efa3c006c22c2314b01fa0e91a3dba49aa35b46b19804b07ad98fe4bc990393a4a273ce8f1c85fc19cd5eae9af0b7d1957bb23409778a010b00c6959e1b67066fdb9f8495b4de4dcbb987358145b1ff6a39ef6fc588cda1744e0ab9e7eb002c29a78531d25157c5c2cd6470551560a02845db6dbee242f965a255406f6ef47b3221a5110edb44d38b94191aeaf433c0ece3480b9d1b06d8b8b6c0a232a04c567888e6372f2e94bc2be6b827f8712af48c6f1e4f223f5528fcf348799d + +[mod = 3072] + +n = dca98304b729e819b340e26cecb730aecbd8930e334c731493b180de970e6d3bc579f86c8d5d032f8cd33c4397ee7ffd019d51b0a7dbe4f52505a1a34ae35d23cfaaf594419d509f469b1369589f9c8616a7d698513bc1d423d70070d3d72b996c23abe68b22ccc39aabd16507124042c88d4da6a7451288ec87c9244be226aac02d1817682f80cc34c6eaf37ec84d247aaedebb56c3bbcaffb5cf42f61fe1b7f3fc89748e213973bf5f679d8b8b42a47ac4afd9e51e1d1214dfe1a7e1169080bd9ad91758f6c0f9b22ae40af6b41403d8f2d96db5a088daa5ef8683f86f501f7ad3f358b6337da55c6cfc003197420c1c75abdb7be1403ea4f3e64259f5c6da3325bb87d605b6e14b5350e6e1455c9d497d81046608e38795dc85aba406c9de1f4f9990d5153b98bbabbdcbd6bb18854312b2da48b411e838f26ae3109f104dfd1619f991824ec819861e5199f26bb9b3b299bfa9ec2fd691271b58a8adecbf0ff627b54336f3df7003d70e37d11ddbd930d9aba7e88ed401acb44092fd53d5 + +e = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eaf05d +d = 2d6db91eb32e36e5d5127deb034d14072fe60c1cd13c8c3dd9adbc87140b5e7136f4f89e61bbee7826f45ac1d99194fbaa8c5a0bb94db31d93723b51419d9c6f6eeb5f3610b67f4b4e2ade05cc6b8990e8832cf4cd40f2df0388c9a52072e27efebae20b4ad5951f4d20dd18943e58b786d8797652b2bb759c319d2b0046dbf69c53c075d00c287b876042fafa23fe4dd705e4e423277c9000311e94ea3f7456e32fd12afe4a2bde358a65824f1055064823c893fc93be3b8c658bb441d7f0b00ac246bf043a9c0053d319f003ef5a5533f74d630d8ce93bab416a82951e05b82c6036593eca89f0ebacd7d51ed9610af43537fcd266e5e47c0d25fedad6d047a1a1ee3eb444367e3eff7c7520ca4f779f2027fe45036204168454df4918b547a4d19e938f3c6db6ca2702ad9bbda1261c64d00b578285bdcfc9851f96a4f2cd14d66b9c1f65742a1344948c9f1da8d338ed4e3deb1ebadf11f8c281944e8849823496f86111f378bdd084c99f65fb9b4ee6271b1d1be424c294d185d9fd9cdf + + +SHAAlg = SHA224 +Msg = 254ce36e8ed62e0887d4be00eefa82515acef956540cff45c448e7f9a9d5c9f40de61da439f389e5255ef8c83257ec921bfd150829c522eaa720d7be965860cea2bbe57454fc5e9588d6a96c22f2d989fd0bd21924501367450ad2a3627e4ee3ca15616748ba54219a84f8742495f23de6425710ac7479c4844d0031750f3c38 +S = 9dfd3f32091b916a56f4f357a961a525a527fd29b114b3f03829df1b25c0c5973b1c51af36633116f4c77aa2f677a3b0f82368a538bdb33e49db9fa704bd5123edefbd3a86dcc39283c2a03c96c69030f04c648417f544f08a9b4e01ae4d429ef21422ddfe76834f925c5653b1227835a9a4413da7942b0a015196faec31504111c9f084d6dd6d5a6956c55412c1bd14aaf95d828e844961fdd60cc078f169f6e1186cb0cb6ba3d21168c5bfd067dc6e460784e7c6a76ee3d8b332acfa97e5d4b656ec8c611ebd896fe90e619b588d0c615492464a1b3d05d3a963f451051c65d8f81feea925bcbee9ce7a39ba3c915a18a24a451e470e761d09855a965e83edae3fca41678cc9d098ba9928b525b50e48cb030c510c4ce727c6b93bd091b7d20b4b961165ae0e2848aa995bb73abe9a2634378d224128541ab056a31b784885aef8034dedac13167402f9f62b55741220df8aff5defb69c035d9a31e2a5b8817057241bcf854932f5edee7ee66e8917aa4a718b6c446bddf084f5cd769caeff + +SHAAlg = SHA224 +Msg = 35adcd3f24b6725518815cf4606f7b1d940c396384370a376e84456974de32ec4c7164da3ac749b73b30fffa836869c92a74830523cdf2866dc0e0a88d1506063bef0a855cf30c9530ac7cb3cd2e2e32ccfab03c4222db14f2aea89dc03d452069f0684a7283e4745ebd7a28240bf1e0e0686810c97fec6763144652f6a016c3 +S = b5120be98bcdfdc1e1e3312dd7b5910f073132a42776c4da75690c641f32d2899187d9b39b55f99ebe6ca0a08036372749816706664f39b27312135c50339f2bb17b2ceee25768c2bc0ac37d6ca6ee903c84e82e2f4d005d73bdc335f135399c49123662e8908119918437edb615b14e906c9f8ba1b85d5b45909f439cc8992951be1684a99eba04ecb0f6df923353516977774f69e826651190affa86a40be75b06a4128e5509c51557ae4fb410c7e5841ac9fdc4bc1f97e2862429f371aaaf99824dacfee0bc3961fb98b3ffc091f77956223ebf5bb546552358208a32ef9c37825e81668fd2c230f788ca16ffbcc0f1d884b30fe8efe6498295004ca7c7f2b173e5666b8b0fdf9d32756559f99d105c1e8042a7aed7262ca9a17025aa096075fe4433f34db6b0f197776c21fbe00e832eba028e6652653018079fee04eb3e3c12803c39830d072ab4971bcab4b79758694b5d3d8ab21ce874b7c42bedd52652219ff516fd694c3d7cb0bef0181bb85eb4b13184ea3aefe3cceea5c57596f7 + +SHAAlg = SHA224 +Msg = 0ba573a9dbb7f62e5a4d3d841bfd9298e8bb299eb4fdb256d11d2f8d64fe03e615f24cda0bdb73fe179102842f84b5051fa3d37e7b7cbe98d8a4c92c3b594b06d266f2e9e24759d4018edc848585ab3a3c151dbe5ee647a4bfc8cece4952f932aac80add4a42cf38800b748b05489bbfa9daae6844857403f051e37b753036f3 +S = 36fd6813ab411c4dcb2d7be1ed616c1e40de291a00acd87d2b4d9d4b73c8864a44413c51f09b37844a9804f823b27a9094627aaaf00a6be942d7558be11b84a73d98029c2e26eb8f650580ecb11b4ec2363597333444569634351600212962fef5352bdba367832899d3188a747236f08528f086d93ca33a06b10392bbbd625c867ddba74bb151dcc6afdd4ce41016dc2ef0ceea2ca20917fbdb0777e23503464d0bb59cd4e12c10945250889bae2ed839b70964b2c9d957eac6222a49b337730411984448e58c027371bcf9c2c7d686de3bdae16738db5276e0f538d15b3541c0ed86d318b423d8c7f1859602108a4b11c2772941396a14a2a88ec7971297c18633020998ee02b3114d19012a09a181d01f11cb8f8cb5f438e82fb45e7678bc8df9a26f1a3495439a7ac1f1bda6fb86c9b3ed6cb5f788634946348b7e24b0894c39c506ced2da657a335e54e8f997384e40c56a17a28a9bb64875a159cada5a644ab3bd6ea7bc4ccaed43dd0955f6be6e459e2e6a7ba652f1e9a3f8a83e4795 + +SHAAlg = SHA224 +Msg = 89530f816a5e2abd4b422fdf968ffd964e0ccf82a4fc6d9ac5a1a4cbf7fff3e1e4e287ab35226a5a6326f72bcaa7914600b694e564018cb8fa52a5897658631c96aa9359b50982ac9ee56cad9e2337fcdd1e616fedec3870a4e249a0275a1ac148b31cd2129adb7ba18878ac388c59828d4b1f6a6745d8886b5a765a338c8198 +S = 27c796caeee6b4bcd750d8df13cbe5164fd726f91baa575f702fe2966744cf2bef38c93efa1111c9277d77f3ecf697d02030f01e3d964c3125533d408834b7ce652824303eb278dca61023a2f9280352f89b5d03d008c103032b2b5c6b8cf7befc1ffffa9b559a995759a8d33c6f49ae574a2d31805ab055e646abed71b30ecf7367030bf26b962d41a2c7d7735ddc0e5f1eda30b1ae6efeaae9a4cf50b68506c21b12e3df2b993feaee448a6443e613cf536e2a711aa526487187b4fcd1fa684e99478c28b84d9af0eb6a4956c0377d08ee26ebd2d8d2f4ce7e66048da3c09c0538ff8efa178690d42f0341b28a8fcb649b531a07af1f21c4243242e045b194a04ad0f92edce482f355f66969cd90254ab159ff9d9c0c6680f78c996d7048e2c5f007ad36219d672a0e76f1bf8bc890faa56e493f0c52d09fa1265ce538e166709a00a2cd64e45b9e5acae2b95dcb22bcfe9630e32f37d0bb529efc8d298c0ba7b8d65e16dee99ad7446a393946258724d08d8476e7f16ccbc0e42638381a58 + +SHAAlg = SHA224 +Msg = e37656defdeedfb46b14628dff3f6917b8420e5a97ef6c54afda55e07c6043dd75e7908be466e938f629001d0ece81835f94482abad5d1eaa4d0ef9bacacc133fcbae22e2dfbe13360e2f1f48a5ae1560f0b4ed293d9171a0cae11001c7afc949f78b68d80b2afebd0c79dda19ec71d8ef31891ac906272c0ffd22d974d1db4a +S = a927ec4ceb2ec147cc457e66c12a646fdc412d9eeb1d51f3b5a3e5a8f4b0d36deba3a71914cc6f2321c39d834addb4857c82abe9280c7c8231893904bd27474cb2cce1012b921f0a4d6380aaed614356d653653388ce86ac71a27c976747c9213cf297e759fc3e2d7b1ad5ba8cb3106c0a67624479ce55d0cd67c24b5a45c180efb5830fc20d87ad3b1515e90b77af87f06c6b0e7129718a2f93aefbd1028b1ac63f6bd7eca0a00269c0473eaac55797511950b11525c24141cb5ac4cfe2d9fdbffcbddf8412a70eb1b8f45648553b7067581bc8ee2d6aa089b97e40dfe61c33faf9fcd5650f61078571f03c6df94e01dd7f90f1dbeaf042d9bbc8b3635c4c89932852b311f63ff619550aaba00f061418886224f8478708f9ecdbd96f0f2515353192ad93d46cfa8a4b3ac3eaf7ab9d1a3c4dfc62746ceb089ed3ab4051ae09274f54f2a9c379ffe8c8c0109487b6883a4849415c6a0cccc68b3096938d6e54669edaf7b82ec901c05333e6c3105541f031ab590461e7f1f776a293e593d00d + +SHAAlg = SHA224 +Msg = 99ea30dfbb1eff6f56ad6e0b055989a2cba11fd39e386b0026b5f3a4c28cb1e6cc3d716e1ecb7a77d4707025548f79198cea9f447b1576f8f32bfe459dbfca823d15622a3792e7ea5372f5f7bdb9cda5506cb436130096ef0413ef72155aec4775dbcdbc105c8def591bc52947bfce6d9d8f25516fe2140de2d68fd233455d5d +S = 69210ee27a00dfbfcd50aaf2eb502c5706ddff6d9d23fb38d1112f25c047eaac57dc90a6da673876319d5c04494ece8037c2fb60203c9f23322e2c2063fa7d19165eddd89e1b91935a2b50021e626825bf19cc46aaebfab09b4904dedef8c4632aaedb429feb687bbac2b406f923ff1e844941b0c02b08dc2d8b4265fceb61a82fcef0624f28eef3a9193b86f15f7ac470df590ae855a7aa7540499dd46a67855a5bae6ec5dca8b0c16bcc69c0a1f9218ec7ccae217ac9b47e8f7caefc1e102e3bdb42a677fabe18274a5e69447b33414df5bb29cceb2abd35c94d369eed256302d758df9948bee4efbdcc4ae356e78be735f7425b6443cbff7e85c653a666ded2e74ec7f61103d6e8bac110b157aebf61ce32f8b6f567acbe92f6e3e26efdd3942af6c279c2c7b4f18398cc0ab4e276881b6046cc552594cd9656f22c3ee49807cce0f09f2bfa7abb879727b734dc19c468f4af4d720da8ffd650cdd6938249b6a4c847a51383888d1292a6163222126d5a42dca6fb2283e7bbb6c20d7b60b1 + +SHAAlg = SHA224 +Msg = 1ee43de2d8797e65bfaf52c25a0b00b6c04e0e40469205565a9674d6af5737bf9be0f9a1bd62f852e28708e32904dbd2666e7f81c54e28e7b0773086f2975c9d1c0d619e27faa7e25c9b4c9c71d66c0cf512a0f5ee4cc450c067fe4250c4fb4c6a137cc26069127ef49225d578a83bca34e4778208b560f8530fe5f213069d34 +S = 3dd722d2f0543e66743f8cdb60341d61fd7b6ef8cb23a9e9f34057d7a0af49e30826aa0aaf1fd34efebdbfc93ae5212711a160f2b8786f4f5becc49209bd05ddf8de9fecd00af5304d6615272f2e4940bc8c39c2fbc636f8c105565ec0f15700cdb066c5ca1fd0e3e3f49452e4f6715a582227d59ec104575c174f8cd13ecabc4d5899e02ebd3e81bd2c003242738b3b95b0e0cf0ef02f8ee02896df646068ae233ffc4436f1e97d37d45d497e1a54a0d6fc5aaf275ec50cbf0b402052200f6bc35373828bcdb48a178c9688658a2363a8683ab9eafa9790eef2c79da148a9d995395d9f6a7b310f6f7141d3cb0f206e8baa82a338d519ee881cf61d5e1f906d42c2e85f25cd19d9864ab54a32969c8edf29e5ac52f62006d9219c21140007b05c63e3ba4c04ece5d8805026dbe8ff665252d537d013f709d84999f84b4382a894c1ba0318493783a598f637bc2d8d5678cf65d0383380ada0db5a510737a8b70c3baeeee47085088e96d99438ba5e988788f2886aa7e295d8578eb27f1d6838 + +SHAAlg = SHA224 +Msg = 740322953bfc8e840cecd9963f58bea70d2bd20a506366d78a0bad86296922bd097824673b99e3060585804a298670e26ae722924da8e1861d77fbe631dc23aa72b414b017e0770bb33e079f72d8f3eb9f5c83256acdff8ce977cdfa5c28d9b8b59d3a97583b123c1f00b5bca1b80e69b4743feb30388892f6f46aea31b50c90 +S = 7c414840910ca08fecd23ff12ceebcd48b7afa4e6a87a40654baaec6c9050087b1f0b6fa04e36cd595ad293d0827e9e1c94fe033ec42bbd021f7ce2e75da6dd206b99151768d6d5ae7b1f04416804c2ad7c6744c7343c8f01be259361c116810f0ada1c64348055b2594a06bdc08db390d750e4aeea5435932a04d0e69d5906304c84e19d5fb8688ca2598b6fae6d169593fac2909238c553c664de92cba6d8915e01a6e99d8d92fecbc6eaefd93151c61fbbde2eacf2634e7b6116ad2fe8859b65a7066d7b5b77638650b60a43d8277dab0aca145065b3cf00d963b7f818ddadd7c54be5b4ba769ae013446a574dbbb8f7c22b2d1543e7b5ec08dfde38ef9ad843c1bb6d9558aefcd45d3b12c8206b792ca72bf4950befbeec04fc1a28c3720588513a29af9691d2f31dd7d39a56bcb5f499fb14ca47fa541e2ea67843399e0c8ab89c81e5893415942bfe4e470a678c0e561ed64554711b16be3350c985b61f29219c5274d879308dd25fc033f819c385904654399e5438fd9c8cf1ec76ecc + +SHAAlg = SHA224 +Msg = f7e37820a19d5f6a05eb4779c240e7fb586ae8c3df713bcdf9c2af7c058cc327956bb8d42244eb43ff70622f8c1ca5d0acefcfa479eee46f369d658184672237d94050c42f89db31f934fea35b2810dd9ae7a105d26ec5abe75db007bd578382acac66792e35d73ddb80415e982dd1290b98856f52b98688f448b79817248e11 +S = 563e22617dd889e7be8dd26a176ee9f67b9b3eb040ad7a7fabc089b27ed4e7a782f1522b446f42a567492137770c612dc5e428ec28a3c502aa2508fb46b703d79d1fde8e1a507d7062e26440b3a3ff16bc82fcc9b301f2b58fa81852b57f951d925164be0c70bd281d726c9a71b984280352289f8c1b394a85df9e1732a4539a30a759e8f126096bf73f7b25a5ed34c32af345bc32e412e08b6ca9b656a6928519655ec9769cf1dae7c985505a812ee44bb3b42ecbec911beced8fe87365f113aac00a659c0eb37bfe7536f9176afe9c459a08ae23600d4c8543ef3c3af4cd1011e08fdcf199ba49024f08808c475986870561d6a088b79c38ae8ce0e6ec40268bc9fb7a3b618587f55fbcd31cea9370243865492e5f13c9fdad61f40b32d3a915194244949add15026c0ae19f52ad5b70365e77f2cf53298c9e2bad06171b0908df26b22ef1c737c3b321395ffcdb71c8228fe9de027f0d310686b1683a67419ea08971cf0bf1a3e5a1072724834601d5f944fa23f77d8e77e887f88ddbeeb1 + +SHAAlg = SHA224 +Msg = 8710a877b7a4c2e578793bd3e4d19cb56de97fcd1f2af5fb25a326d68fb737fb521371a690e49f7f1a46b7b634ffbd51986de5c5bdbdf8c4585ef85724b5072cde13853194e47962202932def0282e4108613a2e49c5db2bf323edb269e38a8434f62d414b0d17369109f276a0b3b52cc5aec72f4baa67d7fdd94b10e6a787ac +S = a78358ef28303deba1bf1bc3cae59ab0ff6614c520eeb7d8c8fd5ced34da7454ad140b539ef75e2d65dd891ebf899a88ada25bcc35726053da68e2e02b6acd2e7e21cb8b37355d19bd4c3e36a8c1647e1a384c8ad2ab39bd22f3d30f0f9dd685fe4dd7f836ec46bbcef0805d08a784a6964cd50f58071ed79f882491a331b445390b43f2a295a13a28ce0f44bb6d63f319d8de90e39017f4cbc14533da33380f553f097e796a671ba29c94582cd519f1f64db3be894b6615f6844ff2fc62101382b044f5856b9bb97871cf137c4e9e484e84a3cd2daea8e1c6358d66cd8326c1925ce1f7d2d2e90457adaa65ec3a67f4865bf6120effa06a79deb6b6ca9f85c9dd967f2f31a22d5db25b15530a9e850aca486bc0cac2be6b0af66ecb568c0955a30495bdd5d05a220cd06cb06f04f216076aaad4382a94040dccda68a19d55b49338c9315aa802910655fe9394aa73590a6b2a0439bbef5ec7ccb520f2c5cb71d393a6cce25bf77d8033444fb3da8ac861c63dc2561ffdcce8c2065b35b5c83b + +SHAAlg = SHA256 +Msg = bcf6074333a7ede592ffc9ecf1c51181287e0a69363f467de4bf6b5aa5b03759c150c1c2b23b023cce8393882702b86fb0ef9ef9a1b0e1e01cef514410f0f6a05e2252fd3af4e566d4e9f79b38ef910a73edcdfaf89b4f0a429614dabab46b08da94405e937aa049ec5a7a8ded33a338bb9f1dd404a799e19ddb3a836aa39c77 +S = d1d21b8dfa55f0681e8fa86135cf292d71b7669713c291d8f8dc246464de3bbb961b596dfc8fda6c823c384008d05bcb3dccc36accf1b2bede1a95e52258d7d1bdf1fc44e18072abd45c1392015ee71692690ef8cdaaed337dd8546783f961bb9620eb5c7b8b6716e8c600351fab7765ee38a15d32d8a2c0949825c49a7f25eedd9be7b807bbfd517913786620d249823dae6fe2fd39ac639dd74821b0c120b42f31c2c639d2c61b395f09f86851bc809b34c4981ac65cf25b2e8adcbce190ef2ef67a0189039c9110f26701c3eed731c8d9ead178220ffcac7f0f678aa22268e1d01942ec51e80eef06e2112830855e87bafe8cc9c22fd737c7abbca5eb7a221d3835a86610d24b507b5dcb4618aa421f63a5609ef5d68f5760fddf970135602efad0851bbff98fe87fa58bc365f38ee7ec8ef5aab17fd11d89d91ef4c604e0d1f001d0e08869df9225e3b4cef52ff86815e13b3efdf45776f9353769a8a51fe7d891a7ef7035eecfa259848738376886edc91cc78f6da31c2f07ee362c3d82 + +SHAAlg = SHA256 +Msg = 2bcad6e744f2490ba6a6e0722832417ebd910f9146eb62baaa5c749529f79d6ced0b81a2e2a48852c8558e338735dcbfc2285794ae60f81a25237c66f6ce5d5e801a001e7f9e309b2595cb866de2bb74ac51283b6820ec9f6ebe482e1fd2d5680b7fbd23c1e62a2ee4edff35823fc7e4a295ea4f1c332792aeb53eb44b0bedd2 +S = 37d960fe391298bbdc223fa1eb1d3cd9a46ba8c62e1da8c563c89a8f0e67b864fc89837ffc08aab7122b84c435c7f9406e165a1029857c1e4dea653569277273b1d9b0a9f5b0dc24afdd214476d47208ad5221a7d793cab80671fb4987c86bd6144880c59d24871400f64bdc6d496dbd497f3dbf642864fe49af3e21515e62d60f0071db4884f49670eaa9e4e4982f269abe724244288859c2adf60a09faaabb07990e09e56de254babbee14be7eb6eda0cdb22f3d0de8724804673fb99f86efb4263dcc5017abc91bd9cd833679475bfac50a2be8db86296bbf8017889357371314604e83d68b6efecd4b79f0a8afa0dffa448fb7fce6d344709a670e0cff432c3e187bcff7fdc4f4e9abe1095c46b01d88b6044bb950e92859010d9a0e3b2d1f27a096eacaa24263a2a0523d6e0da1fba8af768196f7a51f92fdf152bef062dd1f8327cee1d344c200c2115ac6ec1dd8514cef9e36d0ce8c32e58783c4fcba901aa70c2b42966488002ff171d36414a144bf46775183a8815de9ee3e81f31b + +SHAAlg = SHA256 +Msg = c3978bd050d46da4a79227d8270a2202953482875930fb1aeae4e67f87e79495289de293b4a40d92746fc84cc8318c2318fd30650e2bb9ce02fd734eb683410d44bb31ad54fd53cf9296ccd860b426f5c782ea5cb49371d56184f77911ddf1ba0039a0a49aa7e763eb4f5a04575997808b0ad9f6b330ca38edc19989febf4da5 +S = 9aed20a8bdaf26f1f119020d8f3ea6ce915138d4c87dce025e7f4e49536c8ec079edc6caf0d603bf42bd6a454a6d52d0d99fd0f59ffb3b22e9e67b3d0bb2d275d9aedc6da96a72cbff35c43e7f39a996fa8a6d338a0725f785254fe91a20834ba557fedfe7152b9956feddfd941741eff9177c2fbb55e200bbe42162b32a940cc300ab375557dffd48dfa539f50edd52df158d9072d14982e96303bc612c2c2506dbca3a939d626d2e7fb444c6ad7d8d9f3bba8210b2ac2f696783c349fc5280c105402a4b3d86bef5026c3dd999e3b22380f9dcce40e3a9cc9f1d7bc38ef3dd7e9413bb579800c0e6c3e9ab912da8fec1a4ab21398e9680ba0d04f3b4c8d53c02f05c7ae49b70a5611cf82e38de84aa8c2426f0b63ea01b289f201d3af40dad5d6e5bccc75b9959e5c9758e79105af7a9afb12aee577cb3991879db0fd8662c5bc49022752498a301d95f4b1d08c01ebc313f89c00b1ec2735a07983fd528e6388245036f0ed4a2dbb65dd33ab7f124c014ec1679f1c2f11edffb93fa2d1d73 + +SHAAlg = SHA256 +Msg = 0c119502c2a01920a090e43357e7b28e33c7ee858b4330e05c71048931c0ed88468ca931ecf0b79c2fdc1756b7675156ec66b8335e3df09463f5aee7028fbf560f984cf698fe5c4280229ac96a2e5923d8a9d5299449bb665008ecc889797e9bb15d04b88c7210fadb8bf6f238e5d2dc41b9ccd1f80e9a3e6ad147948f273341 +S = 8abf2a30774e6e7338eca09cccaca3684399940492fb94b23b5ad62ce3e11d2dbef8966ba5269979eb9653baad719516d3e8399079a2f670275a2ed42c820a9a31fcd703a76637e0d713f32d792b9ae36d7288f60c2d1ae52683bb15941b1cd890d2cd64998b772585e76032a1702e0652cbf259a1ceae695d40cf2f4f6d81341c8bc9082cb96c752c355dfbe296dd21d69846fa37613e73817b2a07046658c9e3fc6d091e17591bb1a4fb6e2ac00a3194c1488e16a9d2903786db86ae90e96acb4de9901aaf1b0651fb76a58dcb3db473efbfb831ef8e30f89967ddd3a6c2f18979a0450657cdaeef6e59377c6db1ec46065f614024a69c518a559942594a46266e0d3ca1334296b968a23a4b11c63a97e29eb16b24c02d545d5b427e6aa585333318e63a204524e0e42ac1edb70d3456780dbead31f785f0b2a77ffeb0d37384cb5f65b4e36ca241f3b2b059105faaa3222d6c135ea5a36651aea396d22fc4ea1b404d7e834b6df1fb838bb5ba0d784a96e2ae2843db3eeea496c7ad2b4241 + +SHAAlg = SHA256 +Msg = ddbd8468bdb036f4799f428bc8b4374ed9b7cde541337ac439d441ac0614cb75b816b80c17d237b8db73d4a11bfd929208333afedbb8f2410c741129c53932b596a7881c6a4d7111ba104d4600d1902f6f4a1608e139b71911c11c390a0dd091df369aa29d670b8a7e3f53825f7659ac74c40a0c3bfef0d3ae8307e4bdd6cd91 +S = 4e377e2459815d5b33915fa63cd477b5be7c6b7f7814d1350034ce710be67ed69139db622ef60ec6b7638e94b202368bac631e057702b0e6487b324a6b98ed7e03d1f3f20a9814b00e217a4648e4bbc449a2af405ca4b59f8438ddfd75d34d1064e58bfb325c55bd54ea6cdf7712ba807c3e4c665d620cd59513d7bc0855247eb670ecc292509661812702703275d9b2f87ef279d7700e69d995db98144a14c81774a4cd890ec03d13f858f3769e5048ed55caa81201e8785d3771ce6da51175d017d211fa703794416f469b1129d731abde744da5b2facd7a9b093d6c9743509b0103bab9c81c6e5f38bc9718e3e4faa86475d13725a829ac61df8d15f0b27cb40d0eba0b246b9c360b569b81b3abf380eec27492316bc292e5150ee0607219a2bd80ba984c7e3f1989bc51e4c5da3ae5070676e0c150d037a86a0f91bfc07cde64c19f9c7a7af44d6929970041448d3b17c249d5e0b5862e9a25209e8f97d7a0f030181504fead2266c873fd235983df3d0657b92096e2b490df33ca115733 + +SHAAlg = SHA256 +Msg = f996f3adc2aba505ad4ae52bc5a43371a33d0f28e1950b66d208240670f352ef96185e9a7044f4ce2f2ff9ae01a31ef640e0b682e940c5105117594613dd1df74d8f2ba20c52223b045a782e850a12a2aa5c12fad484f1a256d0cd0872d304e885c201cd7e1e56d594930bb4392136fb4979cc9b88aab7a44bfc2953751c2f4c +S = 30b348624faa9985fcd95f9c7ead3afe6456badf8c0fedbdadb3a9003a6702973acdb4e86652367db23e0a8141880d6631834f9f171c94a8fe9c315bcb8680ecfb5a4f59b45d4e4c3c05828b7faaa8e4234aada4e766646cc510d07b42bd3883a83b5bcb92d9e7cc1ddf590a690111bfc62a51af7e55543ea5188c92453d41d3e8fdabee3e1defa9d0afdb85c8153a5019ae45563ea3080a3022668168f0c273a6db1afadcd5edbca5021c2e53f4d951c604206ae10f287f451867271d370482791cdfdcb6a4010f6b3d9b928563d168da19f1c1e570f8c158f3d490b29aa23abd1ffdf20866c34c6e63b9e8a9a02d7a1b196d055f4c53ce82b400e4ab9e1b9d70d0049d6d57cf0a4949cfc68d633882882dcfdfc50cf449df10acf20305c2aa43bda10fd8a10b4ecaa23100aa47e92936dce1bfb8d6595235bbfe2c8585cb1647b2beacb1e1d4b6cef758811a68330fa9c3a82573c08fa2cda5a03f3425554e45d98c1645c5bd27d12e6c20b2c462a746e882a3421a7b1b1e25b4c36c8b16a1 + +SHAAlg = SHA256 +Msg = 6ace052d7e99cd973bb5c9f6679b1c305e07208965fe58c63b10a692f1dbbe22fcd0db15893ab19e107ba2e42c9934a9aafac32adf6c73473f6969e42c983b8f0c96a4639ef77d2c8e88e8cc47d7cfdd08f68d973a7beaf401cb4d1311992ddac3a9c9e067da198adc6304745f5dd312a182e6971c34a515a6c1bae647e57e4c +S = 5f0e74f454754a3074faafc605f3c9af47604a8983650a9b6211fb191d9afa5315df4db4501fd4f04c741d764656d4a5d006388ad8fdb219ec6b756908e23b30cb639ffa7bbf2874713bfd5a1062c19d04e0e4a74b14446a7fdf5cb812e9ac7b6012d9ae991c47656d2aded24074bb8a38b1a88b1c2b131e5b09c93757fdb2d6b69aa8265a435fba00aeb36a1f629bc34b876089d28a948dd6ab4c899430da60a26f6c13603fc889c7b2936ca3c5156bd7fa6e34eac9e04800833ef0cb9b6eef788c0ef0021a4536fb8371fa3e2c8bb8befac16e8092d69c571c1e15fd255ec0a07acf9ae9953831efd3dcbef44e0fccebb1af959d71f50130e8acb4fa2319261fba12f2715def82bfafbf40e345ec5dcdab5c1bf5f66b1d0e9f7a9c62c9375746e1ae0c8f14a489184383e81dce2070ad4b525df76b446b1f22921d424d9ba3ce21577501df6280fdc69f0239ae1127b69950759d5f0b693f54e87e0763623bf5d3ff69430081b9c9e2445a05e115675e090bcab2aa1d75ceee2ad619ec8b80 + +SHAAlg = SHA256 +Msg = 0e49740fdcca6bfce294c11f45407805b3da412b01ef3fb513e70e62fd9504c0670db69c36b6bebd69a0bcd240179ba8a47816a0c3437a61fb72adcaf9096f2a22efe0b431fc422d225301e850f2f0f4da87d6944a8529ef79781909ad96d1f20596f93e17c57fb4d756974bbbf900521cb089eee0ded5c956a15b096162b07f +S = 7bbb3ddd17a42be7cc4e7eaf456509a4ba58d40c49a3d99573b733e1942f9fca20ba8b910708d6e750367e847302fc603b8063c19af883e7507fb0d9cc2be37479a37cca25b8c7c46f6bf661dc6a3232f88b483f1b8f41b46d49ba3f1795d68eaad4a2556fb5d7873bbb6501ecf06ac558235ed13990b0e16f67965b09366bcb362cfc6fb978f4f68d8146dc8b819804df424e8ca5b63cf1fcf97bbf300d0b998860798a63424383fcd81d37773d59bb13b4fa5d468cd128bbab18a8ce5173be5d9d54d3177f0245788409973df4a9016b944baefbf3bf1146a9393d22e35ec2be0ae6f4c31dc4981f40fc1baf382600699eafcea92cbe24e26ee846fa23bc193b6e721401b7ac3f5f4ebeb633979f8ef35f4ab1117a869d5b9dbb7482f0d5a59e4163548d2512ae067205b57d030c483f720d2c44350428f5268943fc5f6ea1c88e2ec13ab3dc1456e96a3b8e7c121af4d6a5fe4ee55e99fbc3592a487c194bc2f2bf6e79fb79c2876cf3365e075beeacc7db4db7ee69e7f1fe12a327e6cb0f + +SHAAlg = SHA256 +Msg = 0e675dac9aec910106a6ab219b4cceb52ded2549e899c9a24d5ee55177761888a3be1a2def6aa32d62f788132d6227d9309806fdc02db7d8a850ff2c6dff37fcd777f1a0acefdf18bf85f1a12979be86d799253945fc34a288f348b7923d764db27a2a2d5ae20e6b25372ef318f8596529d8ca23fd6f08a8f62e0a1b6d989f23 +S = 8052d95f12ce0e6e53a5a356a0eb353bdcc1a66514d6cfb3a3d96155310bdda0a0d1795f97643f3a4496634f2dd9b95a2138ee390e1e74be3134f3f47a919ee7b59f8ecd272ab88c82cbce7c217e5f92d057a5b00fbf0575cdaecd7dc285a4218c8a955216598f0742671e018e8e4e76839a575f50b2102a8b77d1b84f6dce98d78e5758e0a6f92bf35d6a2f18ad400925d7880f9efc774a8c7ebf64885cd2f6f629b54a7c12ec91d39b3c2518241fdc322d9b235a8ea44f77e82f3dc4f728f620c07d1e7ff4094f29c674ab0f0802efa1c9e6481ebb84e0bf13ef468d8cca114570b9edcddf98ac4a834fe7a0d5c6fae8a60a48399f3c8af42ff4026e42a81aac36114ffc053f3f729b7cf9a97a56848ebea0115aa8298341aa226963ebdf57ab2d8e4b9000dd051a6c5d69f60e1dc1b33f2094fdbf8e5b627bc0764db9522cbbc081dbf38c21b13f980813bd2b00c757ebb8c0b21213152e694039f306f7342857651f722bdda01212a8552799bda6ef07c5207dc744ef7969afd5af2e6f12 + +SHAAlg = SHA256 +Msg = f6a7a6e52659125fbbc8727417283b9a64441f87121e27f386d5019f10cc9b961e09f1b3b0db23630cc0caacb3858c6f93afeeea7e1a6a80dbe0c2bd9c7c939570302dec39a4a25cc0cf1d32a71a75b9a0c302bcdd80b046c86651acf30838cd52e30399a8fab8d03fbd140cdc2f1f02f2480405169820ccb32e5974ffb8b1c8 +S = 84603acbfe1f2f769f1a62b0f287f306940b225476714a4b6827c02d7bd052f303f30a5fa6da83e60615305669ca9ec177c5b32b1415eebef78620296ebad6dbbd520839d3aacc9781ac8602ddce0736dcfa7290b45f155b8e924d0afdf7dfc8d199bf09509d0176a68b145756eef53de456e17078859849a352a5bb654239d8ebaf8800ca8263d34a868d52bf8f22644dd9f3c05bd891cd92f263530c5896023c6b213ddb64ede1770ff1686c34036e281e911d9dc960354fd844cb7b22dc0cd81a96203ba818401ccc225f857e59a5cb7ba6dfc7f5135ea32781e63daa14fbda1bacc18ebc50824d4028b8fdecda49e810bae5acc8adc0dca2e236fc832a97330a1214fa0aed15cd10c049efb65ce855c060f05befb317b8065843c4eb5a0371fc6f209f6ffb948c881f2f2091caf0f59f60b72c5f67271bae96b913fd21fa1dfa975d5ecd62b0d50873b686d29c880d36edcad33ec3e2216c9cfcfb4f984c23fde815e280a802428608bed3739af9200de1f85edee2834c04942c068aacd2 + +SHAAlg = SHA384 +Msg = bb294b95d913005b110987cde45887484ae6df794873dfc5c41fb7e8992c2fdce70699fcac8004699961b3ad1e1fce9ec8ea5685ccec5e80e4d0792559816f68613434bfaca81a843aac459a6fe35f5369c48e9191e4a32c70789594c5152db8d4bb02260012a8739cf325ddff2aa42fd67b6ee5bfe31591131ff27d0273d292 +S = 32637c60798b450bff100bff12838357deff281d5b31e4f4c2cfc96eb779ce6d31b1ce8bd7aa7fa88ddc4279c8c3280604b018ccf452004a1488ed4750181c5025636511ac6724fe51761c27d7cf9a0c8782ea2231268853c4b1f7acb0005e5687c8f3df16c962f02ce56b23d387a2baadc8bec94229c3557526e61707a8b59293a976e32c7fa133285088f3ce3e677788aaa947e7622c757e844b117592be99fe45376f8b3013e8772ec92c5bb0b9fa301b95544599690ad93668d83b2daa7df05c66214e275014780a912d8b1932d7a655058e743f50b074b1d9691ca23a2f95f6affbd516d64ccb2aa43c236eb95d36d272545e3beb8ff5aacd95b30f7f1d6418af042cd9a0cf0189846262322a18875ae4c3e68e4e8ffaa0276cdd99a0047c86c0f71d2deefd50642d29c195e6d14fb46fbac33a508c1f03a232de08aae09faf1da8ed2ba2ae84bcca88b78dccbde9afde08a3beb322dc79356b29c84841698914b050beb75a7b2f6701aa8101a5a4955ee27bafe81b21d03b43e3c77398 + +SHAAlg = SHA384 +Msg = f946c6bd5e1d6b89092f3c487c0568fa07c356fae9b8e831b8320289039746a435b122cfbc4a0d316bf90d481d3b7d979cc50d98c1190af8dc58e0035557dd5e94f437f41fab513202643a77748f76c6b77302bf40c392cd18731da082c99bdedeb70e15cd68bff59619cabcc92adcf122753c55afde0817352bc247d1170b8d +S = 50706ba49d9a316688a3ee80a0bd986757d43ec83285af9e78196bd52c900d40b280fa0de54e35ace7d6660012f1a66204092f0e634b97e0e51665b4075e36f1422266c7cad7b2d9981b913df3fa3e6a5a1cadfc6378a8540e0faa26f1cc6fb2fb492a80d0a6945bce5bbc23ddb3b10701f0249b27407a6700802e8842ef3cc761c4823acb5d1453508dcdbb979e7bd8d00128e60a9b3789167c91417d93f0e9fbb00c9af1498e09eb6485eb94cea4883f6a256eab2caa826de4fdac01baca3a216e3d204a3d837ffd4d0be2b2cef711909054c4da1d5b93a8f98451c7002ae84a5e7080d98671c50e3c91c4087d0477b104f916010e742f2d207fb40d122d8f211af6d7c5eca49542d9acb0f166e36abc37155070c12e9f28b907d67a2ca70bfce554e1c44c91520e98fc9ad0c0ee477f750516476a94168066ce47000030a99c23e2c38755de946d5edf0d6aa94212f992315b248c1f82723b29c42216c78cdcb668f11278261cee9252c8fd0ed37d0a8580ca9b9fde7505615943712da19a + +SHAAlg = SHA384 +Msg = 9a337d4c0bb9a005b47f4765d696d19dec58bc8482f2173a4a203a0b6d38b4961f6a852e76468e807c7e457683eead5cb8d98642fb76c0a1eeab36414c1899597d57aaf96782ada586f61a423f57953771d520cc4ead90d569f23d950f8dfedddb8355748576e6bbfb6f2e91b3da71753fd2f4ea229f6d20e27db8d05e9fcb68 +S = cff7aa7f875642fb9343e07ef5e7303bbf5f069b44c19fbf83e59d422e25267ef9307414b6b1ef61711ed0013276d1a2ad98390474027a0a703bfe8a6e87706059d89c060980c9c9e60dc7e1fb9f777a41785ab4d2b663ba0e3c1921545c479c2a383a50da8e489cb22b71101d0ec148ac70928732a772195a140d080152762a9c40803a39fa2a6978c2a75ac4d8bd1bccaa1f4204ba65edddf32fedf2d9d0a3aed9b06c47e717733c577812d723dba74a852b2905235c812dc5f1d0df0f0de73dfb86221c6ffdd1eda119bbe98d148add36a4fe50489b06aaeefcb5c2066d90fa79738706cd18e474d69609ff1210c77de7cd23ba2a775a4329cb271a826d602c401a71439019cec10cd9f184c4d04584211827b19eadac3258d8a0f2631613f051aae0c613050cb24442f15ed4fe0dbd290e42629141bd2cd56d20584a1d10e1f2c2a9ec731433d5bcd1d318bed5243b4b7d0f9a7982061c55dfaa86b2c01845c021fdd2a978d42034212f43b3351b6adeb03bdd6caf7de059502f16d77348 + +SHAAlg = SHA384 +Msg = 32fd45e73f6f6949f20cab78c0cc31d814baea6389546a365d35f54f23f1d995b74101187760c89bb0b40b5057b182e2fafb50b8f5cad879e993d3cb6ae59f61f891da34310d3010441a7153a9a5e7f210ebe6bc97e1a4e33fd34bb8a14b4db6dd34f8c2d43f4ab19786060b1e70070e3ed4d5f6d561767c483d879d2fec8b9c +S = c389613717ec7476ecda2144d0e8c8f9d66fb469c167c4209ec0bdeebfb471665d33dad47b8f3c319a76fe8a8a9f662b6c690b74903d17f61e2314e5ea8d26670ee4db4dad295b277ca08ade880de2e42d12b92952764c1dc808c266dbbedb670158eef36e896f55a203fb99556ded0597410ba37486b1d841f3d6d5c0b39f2f49f0c5794824fba94a8ec7c2b2c91eadd5c8cbe44895fe3be3bc1727d6fc0e5364f53578639d3b3af696b750a07853694ffe145a28c03620c78dd7377d094d92c3e09546883d4703e62a98ddf81fd01fcdf3c4b215224fe2b1b4992abf31f20d12afa868202390de334a846b2d58b253ea8ab3c5265d84773a659e8bac7af44123d9ea15062e65d4d419cf2d97077d0624f8e5c36f2c7b35ccf95435d5c36886ff9105a6c1ea225e15ea8cbc7b6bf6856151cd76fbb75b5b98f0e3db516a8e218189fcb1cd5de3cafeaa33ef135c5d8b8aa5f881afaacaf4c08bd7281255bc2a33b76d4a36e0b170c45588239e5b38c679b08cf802af73b6d79b3935949461e7 + +SHAAlg = SHA384 +Msg = ab66cc487ec951f2119d6e0fa17a6d8feb7d07149bec7db20718e4f31d88c01f9a53d5ba7ece3a4dbc67af6a35d130eae762cb7962b9ae557ca38452464002223f61bcd3c7353e99d62558ceedfcb9374d4bbf89680c8e2b9585603e076f1cdb0058299b4246845dc79d1043b1422efe84018e4c932c45beb8851fbf485e36d2 +S = b51331552b08be35a1698aa6203d84dbfff9001ed5dd776f2be4ddfc07dd4620e9654e82a33465bd20f11863c0ed02a0aea27a44d414c328a938bf877e15838ab99d670d01414262e8865dc1d9fc30fd0812699fa690c34f302f637ec802cd40ac8591e976c0b8bccb1b0137af64a2870210e8fa3dc431fe0956b8addff1e4b18cf07e078aa93af81bb3023c9e594e66595fd92b10226ea126005f4724427352c38e9e85fc2e0723f80af1f61599550b5ef54c5b38ca405738017b89cb9468d9741cd6bdf7112162251ba1d083cc370a4a8261c39b6b94bf21a53b7564531ae9ebc4ccea7ebb8bd314b2e13b58ed1018ae5b415e0f9e3e19a5ead3a44603f90674a190febde25f8ad8778aeead4d0f64fbae37166a54e3a763e35559bf8c3f173f19ff7bab98f3ef803dd56c07628399aff87485ee73dbc3db34ecc7bff3a53226cf87bc81d256e80c09520c8f38e9bcda095e3635128e1bedd9970600546a751eb11dab42e289d6fdfea04bd58d4571a79d24bce4508c54e1ec4cf75b985fd3 + +SHAAlg = SHA384 +Msg = fef7fe89b9a59902a70a1d9caad09ced8bee4145edcbe3ef7fa6dab37635129f3b8c5e0860410ecbd9cec3d8693682f25aec08b071f05dc8213bac8cff5d52b576653560bc01575604e6ab90f67227fb5c901a781eddc027700913e54a7fe51318482c9ab42c9d2b911b7ccc39ccb290f9a420a5dad93394d4d7b8c53fe3f242 +S = 45068ca6d82f2c123925cde11971215d8fa4a4df6848bb7654868700978764854638921bea5869280dc6ad9581ab43ff7012969948a5677fa0a66136a316a4bfecb89adf4131b5bedf3d4693b780d133af9bf9c133305be78374afda3ba3854203324481a9d10b9ca9b92dc7d74df531872ddfc76caa82de020e2c415643cbcc4280e6d2f4371fda7d9249314a8f437648991a9b03d71b5839ad38a1555ad34526994ba56870b6ea18011295f2ca2b0713b2e92ad77680c0dc5bed8d3b9b31ac14df769949c4a43ea67f6deeb3dc9ed589ea4e8a2cf6695df46f946f1467b28e875477ae4e645080fafda6dd551d2c02fd6b2b194fc0bdb050e06d4c784105f5a33b53e73098055963071efc1bf397fd325f3a6f4e10d76f0411a001e62ec73729018316f56310f893a59363d1f6fe5c17444b6c728a4933b75212fdfa258e4018b7763951ab4e5096411df9e5bc16df3896e46c973d32ac9276a4e2b5b80e3d8d798dc0470b45096b4d738669ce052ed818e560af1e92c915187d66cc308b70 + +SHAAlg = SHA384 +Msg = 82b3840eeb95c9c57724c70f112b6c2dc617c31785acd0c823f8bcdda285325eb3d308dc790522bc90db93d24ee0063249e55d4219ad97145feaf7f30668623cc8890a70f4f149866f82cf86f98b0053b23c98c8dd5e9107e341460e9bf5d88cc8bcd1f2e4c007cc1c02c4529b93233a0b06bdd15925854ab9e3f156eb925bf5 +S = 0593b9fd4421452376d27bc7a280101cfd6e88a6727d7d77cf65ceb723ecd257f32fe10277e85798e0da75917736da1a3bfc22adc7658fbb84da6ebea0b07d1cc405732fb040b585c1b63c8034069bffb8220656f1ac54ce693720d6fb1b5aec67b03c887c8077da148d10f48af7c028f992b18f13c0e57530c086d775483da5f66f3a6a19187868340ac63c6212bcbd6cbb7beda8620afd9b66de47473ef24d1b6a36f4ece9add49514fdf1d84c7a785b7f0e00f382235899790f472d13f48558a4314742f376808dec96edd2e229e943f7b983bea5ec6edfa5e9bb37f588e55ef62ebc9214beaf9da502434e1088df272c6c77c1e1d897c47beab77e3bbe317f8d43d21fd7e94337c7e263e2867bf580a2a8ecb9e36ab7d3e1d5cf9a23230953d59df0d7e23558fb612b7918abba31b164ce178818a1a9e6b6687f4de685d70e16bef6e192faedfe0b2b95477d37b0a3a2d002f33ef4321cb905040ce06fda1c98a008767fbc781a1eaf3375dab8664b590336b99e157b8687a6602fef6a3b + +SHAAlg = SHA384 +Msg = e153cca4431ed9713f4744ba054f5f191cb37b280108ae3a114ad349a872d1308b46211a83758a3b4be32fbeac42ccfee7e23df853ca400147077bb43a44c12f299b917f3aabdf589eeb1709bb3d60b08bc71eaa3ffeba4e2903a5dbd8339aae85fa24b9aee76130000605857a6aa197d00926270dcda58b7de758a6ca67e617 +S = a835cd4146bef465642d494936268a311a5490d2c9f9166c6ce98216a9a23a643597300a0050e6445abd5a9bfc7a2d9b70726c824c383bf5acaddddc34d434a31e5314d25fb58e258f518866c136e52855c16fe64ff8f1c4d66c4e9e39b8cb1196d80944d0746c0a3e1769cd4167df72ab5e4c9dbae9cb35f4828e12099f9b36a5a70c48d4aec9872d7b19e1291b33cbdf08a2263d500c0a83b5237ef6ce92de344b3b41d0d07404fcd5467b046b52b8f85fc6b5d7afc437f1ee9e78390ca9bb6cec618885ece29758f2fd6f4e5f4f896935de5f67cc04055a4c4c0fba5def8d2caa179331a85501ed25822ae79da9bc815cc39c6a979211083e8683136c942e1e17e9eb8f84aacf091aa1e51665fae446bc48c304af65391f279afb98b92e04c2b73d9d94e991198fe7781f0f9696fcba2c03485f76e6de30b9535cf3903db2f3afa851a47bcde72d4ed2e8fabf9bb7d4696cb4ab8c289b0c21e1f979ebc532e280cd9010df4ee72f84bb9e82752828f167030c0fe348ebc31ec17b8f07d94b + +SHAAlg = SHA384 +Msg = 9c63899dfc7bdc0db384727244caf71ecfb9b8792b9f57e936b3c2f5695565a9b0979f3c78fd73f00981813a16da342392fe3ceec6e63ffba191cbeb4f4b90050d2fccd83beb0622b2c3fff159d9e608f3abcb843bdd56c03339b975b9f4e3265b32f6bb6ccdfc6c5752d6e0344d749699c74c85b30c04ff95b272dbcfd6c7d3 +S = 4d38a297302ad0770d9729ce5b7212eef287ce0250f403e32b4acc3617dc0d2edcccc2d580ddbdbca5722b70704058a3b807f592e400bd563fcaa8b066a614b4906f1433968ed2f520a2f6b034d4b2d6890a241afd1adb8639a6cad9dbfd2e278dfebf79740d75f295759d29130b19ab19983dd68f779de41ffefd4e82b5e62f72f90efb73437f08a2503dd9819dae20ba9706c199de9cf884433eeb756286a85eae14bf9f6dbeb705461d91822282f18efbb10589a578f2c9c345b079a7e9dd07fd4b34051b27119729906c77dfb7d2f8fa6bdd5faa1e132bfba9d391e66395e67f01353fa275eace8b53aa91cb6fb693e19191d42a4c1a85a0c504b1c85f49a4d60936dee4646aca62a94aa4bc7828c1ffafde8be656317d506abec179cc90191d12356ff50644d3e01aa5bcfdd71d3c828dc3539dc0cf3fe8b9b91e0c2524f6a3710379c90affd0d0a50d74387f9ca88b46463ef1bdba58cc9a36e5c2c435a20d968350d15d941c3212cdce815592b310d259860de1dc1a3d70ac22302a51 + +SHAAlg = SHA384 +Msg = 04846c2e676ac73160bf4e45652bdc6cc4d4c9284577b4320ab77f6ebbb59a1fe0e085588e0f90b346cde6441af3c9d0117d1f3bcd962e406bf5a465ab6cda2d51be598fcbb29ea713651aacd7e47d22d8fa3450904730f51792ea374761a4dc1fc6f1bc657b77768f31f463e4267fc8dff61150d4b343b9d53759cdd7b98094 +S = 103bee57e25be8c3a2f774e739b47f93435e414932c0494b6b6aa2475bf7c9305c73747e0adf82c2032007b3f75a69c93112617a62566c5a2deaa25fb95209da49fe9c161cb2ffa40fd9d77f1ff660c8b6cd3b54e3e79a759c57c5719802c9311db704ba3c67b4a3113754a41b8da59c645be3909e7db7e7cf7294dab44f74240f81a281eecd6ef31c7cf18b1a19c7d02a312b91d6edfaa954462d34740af5ab708db5a10b00c542be82fa2b2026b09ef38a4001457e27a6023770e4b4d5003267c85c9eea1d5f8d770bd40b554d5b4daf146dccabac3ea8a13a05c3bddfc971c5158fac027ca19b7232621e9d2e37b6a655af545e44a298be78cd475c22a48bff7c3494a5f8a6abdf1a46f9de082e374fd598867d61e4d51daed84152e43cc6a2affae205edc52613480d411aba84fcc9b69d1c28f16f76836901a7c5b3eb2f2c940d0a3fad38a8efab968a0c85eb22e11d3d0861136ced5f06734fdf8d4f151d23861b1cba9b9c580d3350c76d4dc808461d5f872ec548b2b427dff74b1d1a + +SHAAlg = SHA512 +Msg = db6c9d4badb1d9b74d68346448b4d5340631783b5a35ac2458563ed0672cf54197587fb734c4ac189b2dda954cdfb18b41c010a77e90464eea6f863c5da0956bfa8cc636bf0a28be5addfe8d3e7e6f79f71d7fcbbae23ea141783f91d6cc4c8fad125811760ab57133818892471a79c6d04eafef37b2fbe506785318f9398377 +S = d480d5a979ad1a0c4ca329ebd88a4aa6948a8cf66a3c0bfee2254409c53054d6fff59f72a46f02c668146a144f8f2ba7c4e6b4de31400eba00ae3ee87589dcb6ea139e70f7704f691bc37d722f62bb3b2cd303a34d92fde4deb54a64dd39184382d59ccaf0c07a7ea4107d0808260ed8d421cb8b1407cdf9e915159282b9f7bffdbf40d877885da7399edebd300a7e77a908f756659a1824f95c8a812aa540ebaa64ab54a233723db55caa8b4466ea9ae6614ad1bb869e9d8e0d032f3901671e94c0b673be6537cd54278ed3da2e1edbc04ee3a9e8070d73ba0ffb93e60f30b87ff3862e9c53908f2c8e99915668c1f46635e05bf7163051ff9d92bc71a626553c69dfdd06a49f7ff1ed51e918f3ed801dae62ca276d7063d72a6ebc136ba06cfedf5aa23277e81008c63b2e0083d0fd6814f6d4b4b40a42e8c0206f3c356a5ec709b7c8a4b74b7b48d53c9d8694d27359c2c7701938d2f0161721a57313bb1a2e11da215872498182493d8517043b4c03f93446aac93830276542026ce83055 + +SHAAlg = SHA512 +Msg = d5dd3b6ce9772d9a97fe21648497783bac5bb5254aad82b6f7cbf43b15a40f386eea8d151967db149e9465865968133f246e1347301adad2345d6572ca77c58c150dda09a87b5f4da36b266d1fa7a59ccd2bb2e7d97f8b2315431923530b762e126eacaf5e5ac02ff1aaef819efb373cf0bb196f0e829e8fe1a698b4790a2a05 +S = bf9e8b4f2ae513f73d788958003733dbe20957b147b17c3f4fd6d024e8e83f07b65d9f3dbc3b1fe84da021ceabfccd8c57a014fbe5a2bce3e4051b7d03e09fc0350b6a21fad214ae7a073277c77a40dc44a5aeea5194a756b69c93977b69ee9294360eaa73a574548fa6a974a7cd5a6adcf09e80631156af85a8e5c5317e189eead47e2ead65c381396b5cacde260e937284a8e90eff2cbcb9dee22925f2f7256f74c67cf3ffc7b8ce657e8d135f0f376d9d936a79792c981614d98e3f7d662a4fd46dcda96916b32f366ed27dab188f184b984df0b559710d8ff2040be462f91943501bda4840fdd5c8ec15d189064def756e545db319e007c433f0468a6723357ba47d156ab7652b06ae2b18874f0771c626466dbd6423e6cbc518b5e4ae7b8f15e0f2d0471a9516dfa9591697f742862324d8d103fb631d6c2073d406b65cdee7bda543e2e9ebff9906985d1cb365172ea623ed7aa4c7a322f0984680e34e99bc6231b02e3d14581608bc55bca7fbe22d7f03e904da4552e009e5607f0418 + +SHAAlg = SHA512 +Msg = 591652b6eb1b52c9bebd583256c2228680110b878917dea5ad69e8c5d2ab514277b0ac31e7e2cceab2e5d9c45d77a41f599b38a832f6b2d8097952be4440d1ff84baf51bd70b64f130aeb686145fcd02953869fb841af7f6e34eaa2b996ccd89697c58fa255cc1e81f621400e14146361e31c709e84a56082231199539f7ede9 +S = 1de79d7216dde125deb77c34d90ab321a4de5fb11c296656ad9bf9a24653591117ace415e18eadce92823f31afe56fc8e29494e37cf2ba85abc3bac66e019584799aee234ad5559e21c7fd4ffd24d82649f679b4c05d8c15d3d4574a2e76b1f3ee9f8dec0af60b0ced1be8a19c2fa71bcbc1fb190899ec8556958e0782ace7196b36658656cf364d3773de86260fd8987604ef35eae8f38ec2cb0da864cca719219c2ad71c08506c412ec77995f37439c856977b71dfb9647990ef70faf43273ae60839cd0679ec9aa42bf914e421b797cba218a400ff9dbaa206cb9c2b0596c709a322b73cb82721d79f9db24211bf075a1cef74e8f6d2ba07fe0dc8a60f48af511ad469dcd06e07a4ce68072139c46d8be5e721253c3b18b3c94485ce55c0e7c1cbc39b77bc6bb7e5e9f42b1539e442da857658c9e771ccb86be7397647efbc0ccb2c3ad31ac4e32bf248cc0ced3a4f094526b25631cb50247096129b08a9c2cdfb775978b0feee265a6c41991c1dc4452615b78c906c7ed1bd207969d98d0 + +SHAAlg = SHA512 +Msg = 8dffaa9151271ad22622f228c892e1d9748b3c394397f2cbb6febeaa9244a027eef28db48a9a660162152764830f617e1ec6ea1cdb0ed25b6f999a107175a16669d6dfc92b16d50363fac4a570371ea976343a55ae124b6301ea935ed655d44f28320899dba35122505933b3371201a2a45f95ae65ab442a9479125e68ed212a +S = b329aef83a56ddc57cd9a0e15eb0b0b7aea7d78d5e8ca3982bd31cc825a0cd1c444d9f7bea9e7a27f3bbb3761060ff95fee1a3e864d2108fc40b64786a96a6d62d201217e03a8ba2c07ee94c267149d1e72cc5779b737e8547acd6aa4bba3ff38bf9687e9e82f511b597ad7ec1d795c36a98bf83a90fc86b0cad41953360738921936a458674b2e9a7012ac3029fdb0a9d12318202d2544a0d976ee536e03b7e8d894b3b9c762dab0110849cc1eaad747e3d88d7dcf49f824df027e645c0b9294e655d9fc9e1ef95eb53aaff5775c349486d4b5d67dba29b6217f8b9976612b57e16fc1f99983f2af04579938606879b7c7253e870714b4f0f24e26dc8c7a6fceffb5f98e3b2fb5db949d2f98cd1ae1aa552696b48c39f678e154351cc756d3e9a97f79279853ebd0db9ae6859fb2d5721385d06f5565a3a8ff0992d517acda1af69a92854a1b32a79cb9e442a90b055bb2ec3af8d9926a0d857e3cb1e7e4a7300d1accb9492ec7832af453529ff0f4a6ad3259757f707f713aaa5df231f7487 + +SHAAlg = SHA512 +Msg = 71d4163e708c121e931bb9692b217dddd35c7346f61cfc9591f7a4313abd4a9262af820bd7eb37e78c2b95b89daf25ec8e783aa1d4b78dbb96852433b4d478b109a6d65eed7d06f3fe122b172149eae7c365ced66578ebb7571ec218c36b65d2ee22dcdebb28c66a7138432cbdd712f7fb8bf78cb14860b25c2b4789706b5a1b +S = 2522ee3bda30c0434e54b199da8c9733964fd402b707f5b330f4f754a0502c7a713c7814f0e851a4a4db72690db96ea8b8813bd8629a948bb30c1b8272a816b30a755fc6fb1754167c3eb1f194395907a56cf5a73b4154383a05b78b731fedd9077f3c2267a5cf926697871fe0a4bed9c219552dd1c87aff50613094bcaa2dec42a35380a6bac673da2594f824a8f32f21d7593a3e49c78ee280193a478621d3b095c16dce72935314d4a2323eebe7855ca4738a19b5a31a5f95ab91fbe1289c02fea7a65b91327b7b9790556289e1b988e45d50eb8cea1581de5d5dfd21001c73b43921d8b21b9644b0f2b96ee6b09d73709c33338143d6a2fec559a436c5ec865d3acca5fee654f1325ae57255dfd42188c84dcb1f7c1e86028a74e31d736078741ee97c39a56e4de00fc12b8051835bbd0d8fcae737322099adc1017107022dd15c114da57e78b95681ba9945615b59da90f5a2a99a252eb42b2006eedd6e78476c2905473ee6b4f23c1c5cf0b80451c5426ea009141cb3fcb0df2ded92be + +SHAAlg = SHA512 +Msg = d00e1529228c79a20a1c3668ffa4a54140bb170bc5c669fd7560d9309900175e91d5a0e9c5f5471fdfb714bc385d52b08ff7e4230184d8b735593f0dd8c73b8a49f8595b951a21b6a5bfec63b684f67c0af1b471dda1684e9ba3f241501fe957603dea86784230f0c4fd65666361b82b187330fb4267404c0e059bd4eb52494b +S = 1835dd97e5093a33ce1e62d683863f6b3507f358a62fc879b524350fbc7330681cb0c682eef4330419caf8543bd9269b6d91d8e107ec38b6e9c6eaabf906457205d52a900e05579aa11fc581375264e69a925798e5a348e5a16f1567d5d0e40853380b34deac93ad7377aae8a27b090d0d3a92bf7a824d926e2e35a0c3bd0e990b591120d74dd9b052a73568e3c3f29c5a77fb1c921bce9c1e7f764aa67bac119f5839a5303860edeb634814c2386c831fee6200cf55b6bfea058b795a0fcf26eb7216ae1b7587c82e5685e584170cbddc89a77e0989d4ce5c3c7fdb664aaeaadbce1f231e64798f6f9a85456b5a93a502126a80e2d21f46921cc3601f5ecdbd56998a63b865fce7eb299f76af40e91281bfc019f40e0d46811e383691e4024c94566f18024ff2b22aa7e1270233ff16e92f89c68509ea0be2d34511581d472207d1b65f7ede45133de87a5ffb9262c1ff84088ff04c0183f48467996a94d82ba7510cb0b36cf2548209a50603375cb82e678f51493345ca33f9345ffdf54be9 + +SHAAlg = SHA512 +Msg = a35926685561f09f30925e94d74e5661892a2ddd524f751f8321163d611ea1591a08e0dffd46b208e98815a306aa8514b4db859dc1fe7bdcdf50c095554bf8b2f4cb9f884d70e55c2143bc26199c2f94b743f5528dd54689ad69eda660749f5c1bea8becaea632a4bf0c79a577edfcea7baaa6861e9d7f2dd5b4c4f6eb5f3d5f +S = b1a9c45a264d2c9af441a7b2d330dd788089ccef205d5d666bfe864367be9738124e9d74648ad99160bd3af81a81858babe667a5d95c980fe2f6ac34861eb2ec9b4b4e8b642ef3820f56ca388a556530d42754c47212e9b2f25238a1ef5afe29be63408cf38caa2d23a78824ae0b925975d3e983558df6d2e9b1d34a18b1d973ffaccc745e527ce76c663e903719355e45cd6d118ed0b85b70cbb8e496411353f84f8866a01fadc819ca0ff95bbe2cc68c8cf78da5581becc96247b911d185ed1fae36c4cad26208eb80883f42a08123dac68d88f2f9893cde02ef5a57661db2b3e1e9269cbb0e15c407bcf55d92e679383c90802cd0bffd469646dcb60ca01a1dead43228934018391dd81f8b7e797e527fbe1815b91bf3cd6a1f2ffbf5dd166acd5526761ca8bab5d463fb9fb820659f5cd50f8150f12f7e8d52e77773c1e6480c2cc184d411d641f71a9dedc2c5fc2ec37a2770a9383bfbf6a489cf32b56a12cf99378e39b50bdadb9f0591b2065f9d44e511c9dfb6158fddddd1bc2cece6 + +SHAAlg = SHA512 +Msg = 1271a0ddb99a0e1e9a501ca33c131b0a1c7820a397790869090fba373703ac38ea00a9a0ddeed199d97be1801ffab45206710a61e5ed894c3319012ded0ff414386e56b548ad915d80afcc2bdb976d7c8adddca7dfa28aeb694033a5612660c644e32f85c2805651d713660a38914d70f0e41fdc4b3d162ef3acd70659eef637 +S = bffd010b2ec4e4a32777b77619b87622f8921dab56e102c8d824fe52b5df7a203fe71799eeafdcc0c8872dba6a374407b5639aeb5a30a904712f15097dba0f2d62e845412395cf09540abd6e10c1a2e23dbf2fe1dfd2b02af4eea47515957fa3738b06411a551f8f8dc4b85ea7f5a3a1e26ccc4498bd64af8038c1da5cbd8e80b3cbacdef1a41ec5af205566c8dd80b2eadaf97dd0aa9833ba3fd0e4b673e2f8960b04eda76161643914242b961e74deae497caf005b00515d78492ec2c2deb60a57b9dce36e68dd82007d942ae7c023e1210f0be8a3eb3f004824074b8f725eaf8ac773e60fbbb7cba9630e88b69c8bcb2d74dbdb29bfff8b22545b80bb634e4c05f73e002a928efd5a6aa45621ce1b032a2244de48f4df4358156678cbe039c9ebe4cee945a25b9038469fe00c3092936a8cff9369045f906733a9d2ab3660182069b157ca8f9b99a71fc153c68301e97a38fc3a87ae2b6f03754e6da82d0b0726e0703979c9320289feefbcddcd9d706b71b51e9a1b9dc1412e6ed4b56676 + +SHAAlg = SHA512 +Msg = f30c783b4eaeb465767fa1b96d0af52435d85fab912b6aba10efa5b946ed01e15d427a4ecd0ff9556773791798b66956ecc75288d1e9ba2a9ea94857d3132999a225b1ffaf844670156e7a3ea9f077fe8259a098b9ee759a6ddfb7d20a7acd1bcb9f67777e74615e8859ea56281fe5c400748f02d1a263b1867a3b51748ab70f +S = 345e2f60f7c82c89ef7dfd7dff2bc2348bab020479330899d4410213b35e98d9bac92fd8ae806b5bce8a6c4bd8275b0facb4dd13f9d68ba67141fa5085264da6dd685a6d212170a2c9cbf2cf5930180effc250868c984bf50ff69d6069ea28f5bc1b63705d0732416fd829a5f5d6217462c22a33fd4652f7c1d198794646c08406024e8163a7ebe39cfb514c5443897b5894dd19a213e037f27e0ffbd6c5447a805a54dfdf4f65819d4e0fbee25e3dac47fb6b636e8de6190adccbcee937d0977b35b973606b0ca348758b50cdbba028b73d0ef01c56014c031c598fe8db87d2ca4644770aaa0451c376ded82ff5c6b8e7d2ed9d1c8a17c3122c128273c60fd1b0088dfbc9c927f162e43879405964cb11ef7899123feb8f88dd2734df98aa696d936a8df07000e84af90101f7006a9bd2549fdd0ad3f9de093012d32d2afaa828017ee9c607cbf5b54f223666d4b5f3e26e0dfec003961b83d83de39ff6a0e81e1883c1db4aaaf082fec5aa30a7e578553d89774c67907790c96dc4f5be4c8c + +SHAAlg = SHA512 +Msg = 132cf50c66ac4cc54339751a0ebb865e1d3d320562fc905c4abd1e78e464066c46c3a0c02db0371ee35a104d66dda864c6133e37cfad9116e883ebb73b295e7016c34ea9911a309272ef90114d8f59fff0a75193fe5ae31ed99121f9c59209bc4bd507b1dc12bc89b79ffe4d0df9209762a1730136290cdee58ec828ccc88eba +S = b12503b7b2f783618884174bcb9be10877960431ed6363c807e12db71b8b6bd9d6401d064e253740158e8b900152d37faf20333a7d80b3d47c7c7a3fa12091ce31cd8aae272a4da15fe2cb5cfdea541195a469c96bcf695e0b526dfa48a59003c6763af8136392c4b8d24db314746f42aca550acc65e074913ab82232eb8593509158a8ba34bc0f0e3125a834a3ed2d6a8cb1d085f234ae868b86aea8d6f82e13a08842485066e48aae4837873150f44475e12602b552dcb34d1f9fdaadbc6bff5134c6fc76263888be67efe63ee1840fa08c49938858a9d48b1058d18976bf2e3bfc625552f75b3ea44eb91dd366865f240a0c336a0110e0fa09d09cd94c70cbc8895ae3d44ae3dff545f0e8c8cc662ecd40f9099a952494396c6b423ebb463409969281cdd54ad87a308e487ce19745b30d5da76b98d2aa9a007a55783b3037e5b8662322810bdd11d86dc3f61451149391fb2f14ed9c17c751623a4042ce7edb875ee27bcd1f19d6dc9283ad06d15e097e2b0b15a7eb7128adbca0aa6adcc + diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigVer15_186-3.rsp b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigVer15_186-3.rsp new file mode 100644 index 000000000..07bd3d435 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigVer15_186-3.rsp @@ -0,0 +1,1992 @@ +# CAVS 11.0 +# "SigVer PKCS#1 Ver 1.5" information +# Combinations selected: Mod Size 1024 with SHA-1 SHA-224 SHA-256 SHA-384 SHA-512; Mod Size 2048 with SHA-1 SHA-224 SHA-256 SHA-384 SHA-512; Mod Size 3072 with SHA-1 SHA-224 SHA-256 SHA-384 SHA-512 + + +[mod = 1024] + +n = dd07f43534adefb5407cc163aacc7abe9f93cb749643eaec22a3ef16e77813d77df20e84a755088872fde21d3d3192f9a78d726ef3d0daa9d6bc19daf6822eb834fbf837ed03d0f84a7fc7709be382e880e77ba3ce3d91ca1cbf567fc2e62169843489188a128ec853079e7942e6590508ea2faab1cf87b860b21b9546442455 + +SHAAlg = SHA1 +e = fe3fa1 +d = 0 +Msg = 98245960c6d4da684d9da2e78cf59d2a63ca53ac39740c9f44e837c9042e0c911115715a17251a0f1fd5f5ff10fec5ec75900c5e80842f3d4f11d59f6f2390df9f09bfefd66db3ef878a10fe23997650e08c6180b9ff4e28b56c20b06d9ec163c8680cc80a96eb2f0d24bc8acdaefa7e2b2819baeacfb188fe5fdfa10687e946 +S = 1ea751e8c5329879a9003f529eba19514c153ee0bdd8caac9c94fbbf95a41ebdb9ad54a976bc1218a94b53e69cf3362b0472a8781b8df4af3e9aa584099c71f9622a6fcc3fd3935b033f68c1c970676eb6d2184056f1b524acec26c51df6dbe9bf3b4e1fc144b8edf563a03f28ad78d457485b4a57ed0ce81e409245f5ce1014 +Result = F + +SHAAlg = SHA1 +e = fe3fa1 +d = 0 +Msg = d7eabc57c2803382d1deb56a146767ac80c89183382e01990bb5aa1d3d2391168ad6eaf768fb7d738d014f92b14d7f0595306eb7441622a49800edee0134492d82320707fceba902af2e0c95fe634a85727bde6f022709a09248752db9a71941c7e75cb107b87dd6414d329b830f8fd521932ad3fbc97d36fe778b03eee6c7f7 +S = 9dac630d264a6a53cb81a6901ac0baabfb24d73b60ad3a4ed3a0eb98a2118a573c3cfe294178fbee63da7c27c5826fa5e6d1682eb254da53a961ba4473672f57a27aec22d4b205f79819ab4cb18b0f3842684bbdeca71cfcbc30d1866d22c9f1fa9dbe9e1a2f5f6f68fd4fff6909fd2c1a9904204a3cfa30da4c87de35a769a9 +Result = F + +SHAAlg = SHA1 +e = fe3fa1 +d = 0 +Msg = 73ef115a1dec6d91e1aa51c5e11708ead45b2419fb0313d9565ff39e1928a78f5a662b8c0c91247030f7bc934a5dac9412e99a556d40a6469beb40e7b2ff3c884bfd28537bf7dd8d05f45419cd96bb3e90fac8aad3e04eb6190c0eeb59eccfc5af7ab1b85264be71c66ac25e53085c70b5565620152c32b0388905b3f73689cf +S = 25493b7d70cc07e9269a248632c2c89c8514fe8298ed84319ec664f01db980e24bbb59eea5867316792fec36cbe9ee9d3c69346b992377f35c08d19de0d6dd37482074cf5d3c5cd2b54d09a3ed296187f4ee5b30926a7aa794c88a2c0f9d09f721436e5a9bd4fef62e20e43095faee7f5f1e6ce87705c27aa5cdb08d50bd2cf0 +Result = P + +SHAAlg = SHA1 +e = fe3fa1 +d = 0 +Msg = de4dc041a283c488187ef9b75e701ab0a25d6ab6e5cf9cc702ccf02cec05a04e37507acbda58cec933938a8b4b75a4425ce4b82590ebf3c30cb22f982dae5fdf11152ea85a95e32a2e45885a82dc4bbd9921247ac7a2b8b37ba97e157d6c20ae738424ffaaa0cb53137b394f8c0bd7c961fcf6de135cb53e589824cb62a7a963 +S = 1cbd45327f5bb1f7a86758ec9125d28cfbcc235fe18269442ea9bb9491241088c20b2652c00dfb08ed0f0002b7c6eabd5299174bcd42f96171cec53d9cee01fb52ebfee08089feaa4fc6e1da5dcf57d123da6a964f6d610e37af8a57ad31857eda5ebbbadafc6e02bf8f326fc4f853734b25cd56fed04ff647d50c3127fa35ed +Result = F + +SHAAlg = SHA1 +e = d20835 +d = 0 +Msg = c2721310ab955a702b78c23fe70032172922593c30ec9fc4cbc55bfb26f54605e36830c56caef1fe8847a3b82d1e0ee696536445943d2f8729b087b1537b88c2263503951d3a7408b2f0345e2c4ff0e2b9a05acdbc841e6a683918788e19c4d0b363f648663ecbd6d1fbdff98d9bc054bb91a39c50c956b5b0e876187fd6e278 +S = 4efb676a7f2214898257240803890a42c5b2e746928bcded262af27b68cf38d364ed7d5989ea93bfa8b5194d53708120864bd78367cb14dd76e2f983ee9190fca55468922cb3a7bfea38dffb704e81cb9bfba6a2b1b6c5af6814a812ac53befffa170a1e3f70e969078a9fe9bec58cc4c2d7891171949ce8c7cf20478b4ac1f0 +Result = F + +SHAAlg = SHA1 +e = fe3fa1 +d = 0 +Msg = 43226431830fd187e5fd0ff94bd3b4d1ab40074e12ac1d3ee96e42cf783f9ba3a8ee09220d564f14238e786fd85f736d4bfb01e2d4ebd1cd444ae82d6e314716e672c80308894a6e3ccf0d9e79f15fc108a1793a8b8ba43c3d8ba0987b1d45d384156b7c7d9008bcb82a982f3571c2f2699a38fe3f73dfb45d9930b8a8ebde03 +S = 34ba929fd60fa28dbe9f60c08d6b55cce37e888ac2adc9b714e5796a7a600e95449e70bac5814e3f6826df7b23512d17e343e62881c1a96970b254bf26503b0853ae509e39421c94ff844cb65683f84200acac3e759f191fdee7d65969b72873c77d1e13ffb13153940120ce5cbe2076675e844d6f7588a9ac129cbbcfaff3a3 +Result = F + +n = b8f34bda3e0cc0de41396ac4dab60770461c65d1370fd815adcb8712d737f16478e4f97c4d6626865a4e3e4095b803bc8b3023426c8a72557d5ce779664d76913eda01e5597a17907c5b4d2b1b70181d722994181c81ac9ca5c5450240c0c4e275586a9b6dec645953aa78a3fc290d359a2a6bbe6097fa14b23db3e9c0865cf7 + +SHAAlg = SHA224 +e = df05dd +d = 0 +Msg = ef28fdf1f0d14499c142864e68391d591ce212ea579dd5022e023190de227edba710191fdda1117b3c6f230a7c24e95125f54ed9a56c451c9f6bbba6876ec9746c102fa014d1fe404e16948b8471cd3d9023783dd0df087d7dd18c2238dfe2e6e62f27babee971afa03ec116a9a933e60474785f037f86ed6e3d8e4f1bff2ff8 +S = 3c8e1baef55289f6f2269fc9602eef96b551b21aaeda42fd7e3d17e36874f18a8f29cd05238159a5ccb8a53cbd2b792d5e614b569ed60b21e3218f5d995e685faea3aee813b0e57edc1419081b779b3d7206c77c329d400b0cc09cd88504e6cf61fee33d7c14cb4100ef5b3a7537dd67a7b16a6b2fda95f0228fae06e484d3c2 +Result = P + +SHAAlg = SHA224 +e = df05dd +d = 0 +Msg = 699184570ad86da2599e3e04f0e975594914926a1acf1212e567a1a0ca488c7da1c0750f45054adc327a78f3532e5b8815a5f9dec0dcf16a0787ae35de9de0828b162db100f42363688072df00d658b428a35ca0ba2e3fb19a9530aa8e593fa8501d1405e2abe17d2238958f9ee95326a9962279afcde630c51a8fc884859038 +S = 4284c45d50c2aabb87255c687a34a32cebd7ba65bf9230fa87d7f53491a9403b274be021fc3307058d45fc13266c5c83223d5f13cc8e1190806bbcb025a7ab963f327985dce6acc118d63b28e47809aae8e34079937595c22c127607e8758d3ac297ee0d86d34247e338675040607f32ecb7f417ee325cca8810b50abec9bc00 +Result = F + +SHAAlg = SHA224 +e = df05dd +d = 0 +Msg = 80b02dedb921b5059f1fe04cad8b2238121f5704ac9957f9321ccbebb3d33f063fd778cbe4530755dce61ee10448a38d90318360fd76498b4875efee5eb4f3ded3c5ae26d66de24b65059215bd1f164a156d6ebd8bdfd7875f0c9c955fd32f63a242780679b66d70a344e3f0c058a3f8089cc1233d1c2976dea77be79e78191b +S = 6fa1148b9a232bfc594d0fa8516d59b7fd0f3fa18e8098846d639c002763e87c4401913072b2352606d59dc096b37fbbe3e4c7a9b6bad383b28666faee4ee38f574225e26325a64689e56eff2ee0ae916a5291338e518d39c2fffc16e3008eb629ca527a4ba574345d0c6528f12d874db7d36ad7d498005a58fcb9b657e5659f +Result = F + +SHAAlg = SHA224 +e = df05dd +d = 0 +Msg = cf94842b4094d29a2687459a635b679588eef17a98c2a30f0ff87489227ceb5a497dcd4afb20f8c9b8758f834daa5736547e61c0faf9ea7d055a7fcf155265fe296f374366dbd11f14466df1ea210cc88b0d1876509347e64815c2af7d0487e879540b3f092d244541e4270cc0294df436825cc223f883f2e10f854fe4fc1ac0 +S = 80454cfc800bea78f8dffdd461b67b78c25b9d329437d226b564e35a60b37517dc101b1ec8da26c0eb5e4aa095e359cdaeb491afb4a244bb08acc40bd0bbc5cf3387ae010c458d0519fcd7db08c794c1d17486f23eb34faeb1da4f8797ae1447cb44af3d5090966e292245682b78d4005537c5b02d717c4fba831700fc9a9dd5 +Result = F + +SHAAlg = SHA224 +e = 67cca1 +d = 0 +Msg = 96d17e09a160fe3d25b1b36903331f966f55c2cf999ae4d48df08e13583edad36d3c6cb3478741534ff5a851ff258d77485bfd32318be746c2b420c12070aa2df9c8360a224ce77c7f64594024e1e2e4b9d7183823af93006178f4ebb37e25c9021ee3f87cd87a1f7fa6d01fb88ca5478c7119c8b62d6f6832e3107a5a91d30d +S = 57aaa5cbb71b9f2c886125cfe76e2bd5da585054bbc0cd5f625052ca24b13f85c65c533f61cef81069b59733fc80cb974d2de4d1ca90dec9bf22919ef59e7f9feb9901ce9db7fe3a92b00453d5b54224a51e36c6dd777a9b459a38d5ddb0cdcacd7c46d799b7e11590b4acaaea6a08daa5923147333203874863111b5fd8294c +Result = F + +SHAAlg = SHA224 +e = df05dd +d = 0 +Msg = 22a920c722cd8565208f520759c25949cb00259bf754dd95e6376a8b6abedc60a6110a9fd01f79c7369080e77ffba96b345a59367fbbb4f13238bba20a28b7803697db0613f425463a0a8580bc3241f3acc698f3ded8a63cef2487868544bf59d823d92372b44f8833e4aaf997cdea883c2c28fa9e157a1e25e5175e6379bc94 +S = 64b014b8a15860d8c6ad0558b805fc8381d3674f85908f6db02b1b4e5ff3d9d4a056446689d7a0fbe338b6f92ac82dffd3bfbbb7c8de5add79b948269d8f964ec98e054e8cb9896de5d4b1c2a2f0c8827e2ff8138f23ef2f265e23418e0143102f130255d512b5205cc3b6f6c61a0c1cdcb363e50f03d8a123477f7561c5fc1d +Result = F + +n = 8592b5850b9ba96e7faecbdd67e50ed5fb2018fda0bc6a09ab6345910fc445ac6bdb0e7a4c6b72c9441649c9e78109bbaa1d79f9fafb8794a1a06cb638bd8f3c3416d44c43cf862b8ac1d5006310b05a7760d341d07077ae775f1695061d3c7297dd3ab8fc5d03d09ed1602a1bb69891bb377fd0aad6cd90f8b207467db36279 + +SHAAlg = SHA256 +e = eef211 +d = 0 +Msg = 23d29062797ec367d664542872324b63a72305caed23d04b0834b594801095d7521078cae54c21f33f04e622793fbe3f70b19c45bee2fb8fe98dba53d9462b6c9060675c150ee491b1c849e75ef1806f7db60d6fc7399fa986efe5e00546a399458c051ff10c33c9947a257f0a91b97b35fa034df170e4224922de45eb5826e6 +S = 2d07177f91c0db0b74e34b532aa18673d27fdee370b7aa9094ef765c9a8278b7128f1bd24fd3992e6376f83bdea9e505be10de15163286a7c9d9873bdbcffe0535f9f8cb0dd99ba34e24ec462e4ad03618258b66894daeac9415545e030bd963f2beb8d089183ec7ff1be67e6f94e6871d42fb7d7c694682a9f4af599bfdf81 +Result = F + +SHAAlg = SHA256 +e = eef211 +d = 0 +Msg = 1e422f898ff258a99bc53648541709b3a3bba5828d36d070b42bec6a2117d6e6403f0d762ce6179d2dc220e180b1e52156a9d0291eed64840787dc91c1f20fda841797a0547b32bb83b668a177276fc4aee64b21fefa391522cc4e7372dc5cd5f2b3152f8e1973aaa48757afc3df7041b35b5e91b5c317cc0be48a38bb3d837f +S = 2e37c8221597f7e2b1970c40a50db5fefde31b1dff1e9b9d6a70b023acb014971580eddf1d67f15d9fbbddfcdf49cda14ccb7516c33b787a3a3fd43d005d02de10f93ffc99585ae5dfaa766c0f1f5bfa62e50e76a059a4a1e814c1ee9836e01595731dce48f94aa1ae36d9c5165a3eb28013fac271e091f7018fe96ec26009c1 +Result = P + +SHAAlg = SHA256 +e = eef211 +d = 0 +Msg = 84e3b56d68ea7c99068489e2c8080b9d3eb5ffea1e67eaea9c82af33935c5b960956ac0aec4d0ef3b0b71ecea50ebe9ef89a6c18f77b743279004cd703da91e01459b6516898b9d8ff30e1d3ca9fa6b5786135252cae734d410f6a1fe811627f248166c9645a27b9506665ca7f377e713c8eed97249d628b5314894696bd47f +S = 1b7dfda3e6da9e67ee9f207a9e03559fb5d7ec88f0310ac051e1e0612119214bcb11d1003bb5fbea088354c2a9c3318baa0264f67f0860f17528bfa63ee35f22908caf0e8e57c0ce63b334b747cc1a31ff90cdd550b27a34b05695a39d48e900a5e1ab4ce3f5030d903315a5dadbdbb0ffae04134a74cde2b99b8f8b5305759c +Result = F + +SHAAlg = SHA256 +e = 990d05 +d = 0 +Msg = c65f67c4843110ad555134fa8b9ec51dd9c93ff9ad5d96febffd6c95eaed88be3cd584f749c1c561c46bb11e50bd1bfd939202598cbd7c3e274cedce0f0e7ce3c452c8f6edf2d640ef904f1ebe20e8baf4a621e82041324e606942c83275db0b87609b8819cc2c93ff4776c47ece129d238f026e0ef3a07691dcd54bfa2c8b7c +S = 116b58e45693d6c80065cef13ab2f33ed6c4d3b6c5048ca2fac4c793b962c1d8315f6a76e379a0b4daa8e1ffe096291aa9c18b9a182d6f4c5b5bb6ed02b4a0fd39388e4ca5772165538aad34313696fa2a303ff024e25a301997f94860080783d87c7fd24f4eb7791a3b6be09c3f3ad0221ef8268444c40fd845617416119761 +Result = F + +SHAAlg = SHA256 +e = eef211 +d = 0 +Msg = edf40a32aed24e14439d8db48e80d92c4c11035dedd30d90a4ffde5dba8439cd274cf0bb63c155807a90f2cf5fac7add8297ffc5a4dd642ceae1162031dbf746a2229b3586a7b71d5bc2d6ac27324e320c5f73031de10a1d7046010a74105d0885fe7368be8d5b340fbda2148f183f7213f1c8ddffeae6ab5cb907e32b2b525a +S = 4e6e6482b8f163fb3c32ff454703a037b9882eec1f82dbd675c94accd79a476e12a347d2e9b4745d30164ce8484635aeddf1116df40b516e6b2af497d27f2194cceb801922aa6d55c935ad166bc477c8e54ab29c07f432b0aa3808e17d28254a0431fd0267e389a6b852f10df0f9a2f317c6a6e762c7395e743b38341828ac10 +Result = F + +SHAAlg = SHA256 +e = eef211 +d = 0 +Msg = b1bd4eedcbef7c57ecab2aed92cbd60052ddeb201181969a7713d53fa18ad16716a06d36fd341f1e8decffa5c41e1d695cf11861fbbfec65aabe0cf188e0b126bff77111b81d13308b53a232ba68c0ff1e1d3df82186e8802eb3a5bb6690c095950a810764730196d0283b1cda7166ca80a8836eed9e32f2ed3ac925a363a7bf +S = 7a0225a29a5f3e4592843c5c4d543d14ac544a3eeee9dd5e795ffa87c4e16dabaf07ef75363d773d89ca712df7c32010d3ca024ed84a954ff9625390e498d04e2c676f3c51ebf0a46fe22ccbffa53c52f9a292886e6a8b64efe5717c527dfaed41d2290c79c18ab28a96ab5afd2f071689653550a64be24fdb5f90a8014df659 +Result = F + +n = b5d182424e512cf47fbe70622b413c5ea20bd240030b365a61f73d4adb508ff5c73bcee41fc53b006e795cf07adf0d9e4d5b347b0f6389518f0f0efe0829b3edee97b6da7e0bfecce5298321bbeafd27af1c70d8674c0cba23f0a2498058b1c36f91463878f8618b2cc0333c77b8c1fbb1c5741e816ca5a607032a9489cc436b + +SHAAlg = SHA384 +e = 7f3c2b +d = 0 +Msg = 1c171086775b78f8601fee8dfb83657c709deda5f06bd825f60c1b27cc30f7fc52ced86ffb157d5218a4595d59fd3939903728d7b9f48f063893a14561a7f6d53da776138be7790506c62d33e62937b8a9299d981309e354746b74bc29c34405650bb41b32b9b638b2ee31b6abf0a72242da159107921a3732fc5c352c6d28b3 +S = 24af571294ea85c335ccaea25b166d0467c8f7bd968ca2eb2ac4a2b7efe60a65de0b572d0d4945a1b471895cc75e62ca7bb726569a2726e2f16777aeb8c6d1607bfc5bc0d4a712dd75ca8dbdf62ed436d2e2328797fad2dc44950ff52aecae4b2e58139877ed351a6d47eb1f98020732ca7660ebed30310332cb51f5a83aa923 +Result = F + +SHAAlg = SHA384 +e = 86ff85 +d = 0 +Msg = 1eae51e175da7b9be108ddf68f012aa8eec76a69647c4efa3f80c066eedabf8871d96acd0efa5a3c460d35b307948073236cb5de01af968093d8c04d87288329c249f1ae0a323529024a27e55cd01dad4a7a038c355caed7b20c6d6db204e13ef8470f0ad148b46bff07d816f67da65e4b3a7bfa694d3d078664ee51d53481ce +S = 15d4ce97f29fd12a37ec1b37e25cbc975a05846f30ef739c0880fac6338d6cfd0e0a253e8808538552de3dec400c77967479442fa1e16f7d7c201ec29552a0e95ee5f209d40d61651e0979deb836d31a5125fc7c9f9a5364b8d33cb41aaf319d1c84ac95ec2b8e4192a99ad16de5599e02f4422b83f69ce63eeea6bf75ff8099 +Result = F + +SHAAlg = SHA384 +e = 7f3c2b +d = 0 +Msg = b259c0641c7b75322f0da3465d876b8bf4cfadb2f2ba7cd51ad0d05a474f7b1b01735fc34ef5dd7bcad191c7fa4d3caade370111c56ed56f65a431a42b610923d04b02542da6e03750173d4bcfad81ae5c210e859a5dbb9e303c84541b9180b3486a13dd629664ace964119984ae22dd98163cd6199017aba0213233bee6c613 +S = 82c89132cb26e12a1550705f2c2095d4c4e202513db697efc5aa6ba4a4bb0d37d271ac1ee2cbce1799f247099e0e632b0dae5d9fbd7cd4678bfbc1c6aca0c8fbdab8470be6be9f535566522d658d6030cc320833ee45869bf135e25edcd1e678456a2555205104bcdb5f02a7df890e70dc6f0204e64938b6653f5c01ed01d42b +Result = F + +SHAAlg = SHA384 +e = 7f3c2b +d = 0 +Msg = f96007ac5f0ca23ccfa37060fb9a5d63d1b66b51ff7f540ab7f27196af76dab86d11cfc6c1dc56b793b4267ede33c497fddeecdf26a032a83478e90da96e4483f3cbbbb1ee89b082ab0953787004c343ffc476921b94da2949753c33d412eada13f69416eefdf8c29f08bff5b6f5a18f60cfd012e84194b47e5132b2384b13e6 +S = 32a0c7cd0c8aff00d21c3aef312f8007fecf3a2fd3e4cf64650fc882ef97014765822f50f0ac6bb189a692a21fc2362d5b97d3922649fed82ab667ed92a170010634d25d705aac8f4e54a1a65dec08c8b51d6d7385a19bf6bca290656486ed76843e341852171d6cf5d6680b30cf2ffc2e2dc09011345d829f97027c70fd2a02 +Result = P + +SHAAlg = SHA384 +e = 7f3c2b +d = 0 +Msg = 30ff897ba70c528e6338eea2b1f11b4a68ff9a18631f3d5f35ee423d1909dfd928731eeacf37eb797f4e6be7a6c29031df14eb7365dcc1abceaf60c0f645b3c339db1574e5d76308eeab5529e4fb0e3f2302f1ee4a32b7dfee1abec48f8da496ca011521d135e1c31917527152e4bcfa9c915590f86a4784fcf90451cc29dadc +S = 2f57420bb1395096c9f88801e128412f5f54a36ef3b1206d99b5eb314d92340ee5206a26caad74c031833765a90f9b74c40f16e5933b1cfac6005537a3350a5243d4ad8d40531b6bb529064d2479d54238221f48459e38108c961d8c0128e0fda20417811d3d1337c9301b020a5b12d57ee1d8e21dac9869379341f738b20bfb +Result = F + +SHAAlg = SHA384 +e = 7f3c2b +d = 0 +Msg = 5749e0825cc02fbe6d7d6321889902a610fd24997175324b0207ee0a2f82b350d759fe3bf3b22e3d79bb8815803d7efea4733126ac1c34616acf931fe38f149cb09fbc56a49795c4afb8af45027d65577472e1092549e3b3612bbde4c74ca39caac221bbb797edbad81ddf9959813e184aa33d2a2425c5a7afc3754122e2e8b9 +S = 84cf8a85959dc1e6d24a3889964d97cb5a4c4f2028f54f7e42542489ebadd7e23c8eaee79d176b962a488cc13c982c22c5395baa7d1854a028183c9daddf025d986eb5ba0066b3740edd754ccb6bd7e20a518b2b5d4d1774d9f16c25fd398e9763033a335fc2e5d67b4caa04e00376a36d372e17a43a0ed3d0883f47b59bb361 +Result = F + +n = a9f1795fc64a9fac0edd4553ea5b722b34b5266bef29594fa80dc8c64d33c3459edbfd36fd7b85203dbe4ca17cdf7ae53e5fafdeed8e8a688264858db18124438a3bf3110a721d94276cd47d7e5c2e1547dd5cb80212d594571432506987dbb4a250de62eebdc19a79f876228b2c4d04a1b5910395a8714520e78b997b3b6389 + +SHAAlg = SHA512 +e = d43d27 +d = 0 +Msg = b2abe66d1e6dcd75149d42445705b71b7509d393ee38b7d69821850e4268231e98193c91473b88cf61a94e97021d27a9348e04c310bc72cf26091d5b1f8a9349a15e4bc8733ee683e256b41863537acb79be737cd98894d6cde614cad65f2c3b95221cfbeb9e6ef7604d7eaec1d03ae80d4127a493c5a55254607342ae0e755d +S = 3f8ee147643e685b325c13557f44945c99efeb0aeabe719ac1da3f6923d02ee74b0767558225548f276d4bab34e8f09c4909a251cdfd7be3cb7f57f4d8f4bcd01dff0fa532ac3116770f0527b56c4415df19fba04858e70703f06b6f02cdd6420d255a21953ae328aa17eb9e151ea1fc0916fe3f3506d8f14ef8e8e09f6e2e26 +Result = P + +SHAAlg = SHA512 +e = 83a029 +d = 0 +Msg = c4d94f011bee04446ce78f805d6950a9de2c6e59f7afbe1fc42ae619bec5c2c53b070614399125c0570c72e0246085ba9c26e1d8f061d45e86689e9a4127d5dd028707896f2ba26cf35d114c054828c3ae67c24e453da8a07e47b53ca32f384220429a89452441ef48c2b3ed8989ff6f1ad659e27fad048eb2ad75266b43b59d +S = 4052cd1149655d56d50c46d65c8213a81bc71140558a0d6c0445a180b64ffe3a91a0f3e6c3e9312966927d68fa2b1cdbb342af9fe729c1710076008c123db4901ed4e4a68f4a6c17b8938f2c99a6ae81c821ef65cf7d18a1271291d669d1072581c34a1a4badf4be10b00d2a31e0d611769cfb8576a17760656a6f64dd6817ea +Result = F + +SHAAlg = SHA512 +e = d43d27 +d = 0 +Msg = abdffe0b951a91c54c7f00e1ff8e98060b413f131d9cb5589a861a053ed7b1e203b2e3414415873222ae60f527f1e7b529674b737149b7401d4dd3afc3c08d8a57d519c44f3d36af04f7b46f5c6a33afa6b12d92c53637ec918283b37a53aab06fefa87afeb928a5bc020337e721035b4ac6ec5a618bbdc6becc33f9abb98fbe +S = 5bdf363c7381eb660c572eaecc4325d0e977244f0bc229abffdcfe6a5e69b29b905b7cc83aa19ca3fa5c50917575c51fc6c299fcfce3d368326bccbc40b2437525fb39c103f32fc9e1aa653e2938afe0921c39a94110443551872b17728f8719d6ab98cd188d4182b62f6063720bb0550bd4f468668f4f4fad1ee3e5c7327fbf +Result = F + +SHAAlg = SHA512 +e = d43d27 +d = 0 +Msg = b375b0e73c3a7d7013a9972c01b240228821261ed4c3eff6efca15113472f42a06e52152c25cfe34f1888b9dc3307f3cb91b98a6a1302f9cc7dc0f916ab487676d5cbe7a4fa747df5dfff5ee2608f1fd3080096fe96a4beee06bd3f43574e1904fa12f67cc6181f9bed87d251481bdef5618238296b76c71a33f08427ff9292d +S = 5b5341b5bdcb35e167f488f1510513fce5a01a813ee593c97264b2867fbb0846d46166d0eb2e07b0d3804bc0d3e75349a6687c798d82c54333ad5cbdb4d13c452bb479e08a7fcc2f7aecda3dd3946f68c6f02f47b69869246f2c5edd608ac18aabefff4891dc3eafc561a8b4d745c46052fd352ee63e427f21973836587ac4be +Result = F + +SHAAlg = SHA512 +e = d43d27 +d = 0 +Msg = 2cb9740e0c1b8867866aa81c64122295854ed681e8eceabf0651bf7a65bc23996acfc8566f4bf42c151b7bf7db94eb57f0fb065546477549e829bafb8d4a67086dd48d87533378edf41d992e7fcfc425759a9c36bb9f4b32eed7767af6566f68ded0adeae25c7a70ca78ec09774d16c8bc357f6d6f7bd441bf62d942c768a580 +S = 1aece09a2f10ad4a72dcb389e771ceeaafe0d2b3ed89423da09784089f210e375124e65c040f67c44d2ba2f65ca7852d33e508831ec58e592bb4c9c440959337048072fa09d38b515e64940e35bc2a84764c4864970cd6b7dc6c63d284e6022ed1661149a4bf0c14c83b6f6f5d9fd7e22baf43e9b569ec26d8c42c4a597f026d +Result = F + +SHAAlg = SHA512 +e = d43d27 +d = 0 +Msg = da95fc957f922a88554a6a14b2be6d22599e1519c99f808c57797c30a8417872c0ee326898fda109b25f56cc2422a6743a590cc9089c3d6ca1c8a428432b7a7ca3b4f0a6172ebad51585e29a16198bc62edcbe4ef79cc2d7217bb47aa1be65bec18eb9f680b1d29aed5290171effa798a59d9c13fd3d9b6c65072fb05a86c4b +S = 96c37595427da33321b72448c89addd4ce9e63ae6e32a089bb780d57682099d35c92bacb405aa0979fb70725dbd06af1a9f6e9ad91457e50deeb5b91138db45a6b1e082fe3d9778355cabb6e7f4934f7d0d7a1ce0b8face619a9ce78cc024cdab6ac02f3cb6f8b6adfd1e0b245b227f66441b3863e8ee04cd83ec08b456b0f24 +Result = F + +n = 931a92071b310602a55840b8c0aea51e3562513e81010e1b93374cf4bbc50cdd94fa1dcb8d8b609e5dbea182c052e06d2a1c454755d9a279092221dc52d132e55ebe7234728a7692763636845a122e8752a319c5cf5065fb7c576460996bfe1e1b4fd319ed11400df2e6a18461f1a39c83996fe6886ed41be89cbcde6c764fe9 + +SHAAlg = SHA1 +e = a71a21 +d = 0 +Msg = 85254daa44d5ba337cf350e0679f416ed930168fd179ea484d4cd698633dac5a8ea8e86c46f6e311d31b4a946263cf2f596f1e2ae87a1347e0e22a5ec9e337452fa557f23c7926e48c5f32bf3ccdb03644ab6e2d07a2091f299660bea17148da0f2382844fe7ea734ec7f0a71c624c4b43edeee058783498cf726000137049e2 +S = 6f47d4d0ef70bbc71de2d6a88e044c6920dd81b030e8cb2e422a25101997e4186d00ca17bb6520b6d92075c7ab58ab84c7f4658bd955de37327817e18c3142ea6222b240b260489ea4008227de13b0c078f83909dd65852bfaa01bc9dc7e64ce80f35503fa9badde585652c9cd0fab0e73066d83ff9f343d4137778e3c09a58e +Result = F + +SHAAlg = SHA1 +e = a71a21 +d = 0 +Msg = be5e8dae6e3a61370324e23ba572996d4c0d6288d32c21355162b12fa6db1da554e313e091a795259a40f2dd49edf5f3eaa05c7e4bbd8ba0121e82ad535a0d9062473a6be6bd107e2f9d7e4aca1292f65217ecf1883a71d9a69f449cf147f2dd8e92ec9996033b0a6d446fcb4f6ad83e2b79f92bb52b3aa9b7eddd42a72b3352 +S = 206f738f2df12a70b0a1f5670be0c9c0341a1931d8fdd9491268a08bb42ca8dee88571f140bb7d4abc60f82fd284319e06b44aa9e384ba4c38b9a427e44013a2eed009e196a840f357cafd47485a978b7050342a46df3c4840ee4c56b2dbe605e555a3e7f6045d163f0641b6dd1da51a48c1e497d24db15f3b1a959438e18fd5 +Result = F + +SHAAlg = SHA1 +e = a71a21 +d = 0 +Msg = 544c1e697305e865ac0c00da5c17d1d369449101d55c741993581f7799245f0736a41b65a6f58743e4f59b0cbf05c4c6300dd93debc1505e3423b2e1f4494c2b0c612872e9f23b225865e07f9cc3858cbfc0a42c25f9f688677ae3b05e833c857d8c2cd664866cc9b364b77d1cda7eedbd64dc18ac8bcc5fd3649a2efe5997de +S = 73d0492938b07e39e4f611ee7f50d4558537dab9ede3f44b49448d88e447ae07790f969ad8f15c327b540486135cdb6e0a9725eaab5e343b64700233edd13c43cdb25cbc2f5311558152af4b2818be52ccb8cd0ed4ec475e7ff75dc7d56dc999b3d15b319d76c5dc6f690ff977407c1789e9531941062881b6ecfebb6dbfad2b +Result = P + +SHAAlg = SHA1 +e = 597bdf +d = 0 +Msg = c18b5b1847b7e397c39a6f90402aefc1d727f11418f31f17aca308ac3956230286c510c3e01c228fbc091baa9d1236f1382b6b13d688eefdfbb0f99645d3cbad965df12f76cbc49eb2bd33be494dc29289a0d38676ba24ee6b979aaf04773d3c3a7983c5d06bd1abefe13f360d849c8a13adb2d7be33cad1458173603deb8098 +S = e68bca9c9d1332ece050f6ca2cf697b7b00a3aef4f3925dcc34449be05ea7a732165abfbf808e0431d6266d4d24595b94b3921c877105c6dbea351de2047b8e7373f775958ca0e09a7da0fc0c74638d3d2b42a5fdf557d47039a0d3092304627fd2537f907876180a8ac3b4d6182fc8b515b3a12f3601ba002ec59ea0072115 +Result = F + +SHAAlg = SHA1 +e = a71a21 +d = 0 +Msg = 992fe15e5f63f165df61ba064f593894c4db4fbc489974682d6fabe4a1a0b13f82637af5739edeca2ff18ff91df64e8e25c75e11c3c13964598883eeca4b3cfa444a39595d95d54f6216e4adebd1e83ab36b8857a7e93de33dbb4f5d07f9004888ec06d446d03fba20d8a168e273705e17ceb3d81f9ae8ad810ff777823165f4 +S = 233ae74861a1c0db26a07165eef66954400a4aaf2f12a4f0b66ba5ac0549669c6688d5b35f1e5b1f8ee054dcfb87d3ffcf55ee5c3df6753f1cf838a109370f1709b1c77f6a8a5189c0eed565f930c01a6630dd35130cffd12ec4a02848d77f5a8661f42e087277382a36e504293492dfa8a689ff35d95343effe0baa9a9a090d +Result = F + +SHAAlg = SHA1 +e = a71a21 +d = 0 +Msg = ae004a585df79c01bff18adc7fffb88ff91c020e9e0208119a43eac4b59450c0776cae3a90cec67a77626e8f50cb934213357e48eb2d56bcdcb6e6cca999a1b2f5fce3e6a8367a9194e265455932dbec858790ff003e33f9a8cc3b0a380de30f6ed973c26dd9c22e6098f96760dd99779839c09ba6dca8b045ac70e829991fc1 +S = 3d954f484b59c38ef3103aa65ef334c81d8f4619f55148c2d95f5d23730cf6764accdac01405ab16ac53db30c4c00d62b2a34bd6fdb480b05e72ab02fe0bffb2d67d17f99275cb9ff17d87a1a78ee3531cd5221af5052e3e67b01e9c28e52bd99460ff28a40f618f3c7da8452f3c8172886b7350435dfe64e399e5483c540156 +Result = F + +n = db6c290095f221c8a06fd1f5a9db66eff85f57b242b4563adc97c8ca9ef5832a09d4834cce6ebdb33cef2ada5c79c8df38d34b7c1eb3c0db8c7f5bf58cdb38ac9ac2e7c9fd004c47789fc12748b298ae280892b209b9b39829e46e1df541423a9667d1a734942083cabf8edf9728c4cf12f252555996e421864bc20ae2fb8d9b + +SHAAlg = SHA224 +e = d1a0ff +d = 0 +Msg = 2ad99b93e2826814ea0b30d68e9c477258a72708337cb679d018c7d6493ee21804ca4811db4132a279ac5a2f07a7bc5009b59ec982d6cebd5f5c2b1e12fa66687e1e0a8f1380ba353afbba21f39db2edbcfaaefeb6c568ba03a1caf47234afab5e7deaf5d3688936f3a05b9598a5afb13b1e5f8f15700dd8838fad41af15434a +S = 5493e18f610948fcb4478efda8ba0dab7989ec550dc6f4ce7fc76c196c82ee5eed54153af9cb7ac77e8a4c35a59b80c94a3e00fc996f7d167604692b507e61fec155b262b45c02f13e88bcd28966f88c197b2056192defd0a2590d201ea70fd60094a7fee37cb1ed1435a1ae4d518c851ddf6f8b4c4df95aad416007cba12ce7 +Result = P + +SHAAlg = SHA224 +e = d1a0ff +d = 0 +Msg = 86ddf4770aaf968b1ad659dc9f2515edd968b512a59b9739ff5a360bc5990634bd959ffeda0a1e25bba7c8e775bff15a92411d025aea64a351b91b5400a4b0d5f889d6221567e24800ce7578f7945c5ad1cab4a33cee52ea4a6262b82c1d4dde3da1e10b422dac9def33a8b8ae0c1e959debc41dd51028b7f23e525ed06ea5f6 +S = 80bbca9013003f0134c93098244990f3a90d669d6d32f4433c2a5275ac7b9f0881b66bed33d6b65f7d157bd4092051db60c6d4b7ed038976cda641811a74d27656789aaefa460d521d00e07dcd4193112c7d9c32d0f34c64ad2d48aa5425099cc11360954fa02e205d6d5797c4c40c632c3f8ae3dc05470df044d7770162bbb +Result = F + +SHAAlg = SHA224 +e = d1a0ff +d = 0 +Msg = a94d1a783eb991205a6ca88c46561ecce59f0dde47e9201a7cd500cea6c80f2552ef594d0980c8d821439763d9520876a61d5aacc7b0f5141f39e9d644c4961ad44aac2508ea57c58b76b3f08c3186a812d72e218fded826b9fcf3b995e9e5fad466fc4a637ea7af3e0ce67a857dff28d1d77387c8fa301aef2708bdc0be628c +S = 9b2e9a0af7763f94355a4e4eb67186fd9fcac8d47fdbe71932cc5ce6a1d84d0bc326c5924160efae4272c450d91d0e7db931c25f82f5fd014cda81aa34ffbdb9beb47cb2cb746575095991677c057ac964648e992d9a1bd932a8cfbafac9ceb624e91d30f33c920bc132feaadf48682da946b4c22099a9a4dd4bb3c4cefb95b2 +Result = F + +SHAAlg = SHA224 +e = d1a0ff +d = 0 +Msg = 743d4b1645b2697e02db0d71c6f4d32fa55405e2eb9f0677a83df1ab6c0b7d694f50245334f2849f4fea0524e5f5bcb4538c8fad52179acb795ed2400440e807d3a77175b6bb4311e75622a5d8b89c952f7d31700fccb7c59ad0fd38b46cafd4092a79a351756f7cd309ad1d27a73a7a410d3354ab25250c127dbaba04f7987a +S = 3c37aa13fea5a4b6815c8891fcd2d0938f6262bf265348e0f30a11a459ccacf2fd10801cb6a58cda4b85f2666482875fa82cc5e58d7fc8d5dd5f9b4043b8d520215a74d469357c34e356e5503a7d021fc79c65eba251fbb7a4d96b2fb62ec82eac2aca458e6a59863bad7e30aaace0ce1f668505b81956cb6d1a97d77350894e +Result = F + +SHAAlg = SHA224 +e = d1a0ff +d = 0 +Msg = 4801f8e033c657f98343e0a2ffad41df6561b51167d62882f3d09c3fb7d7cb26e5e80d3f336a7d50276357ab91eca54b59e31b1f7adf3fa64f69cdbc0e6959b492de36a65dd2970add8ef486ee0aaf05a1a7f8093b20ee4281be065f33ccb124d74b39bdb7e7ec522d297ddb1eeda736c5171376b2827c7f123911d030ea1b9f +S = a8c647ac1e57fceaac0927b55aa5c0efeb1328288f0a8e84b28585972f392b405957d2e59af2919c553809776da3ed17f8719c8a4cc52edb8c4e5f075823a7e9589bb163e4d4b4af8317539196931171b33a4f14590b95164963af6f9fabc06445dc9a5444feb909717c3f90828bc8161cc06e842feb826bb488f9bb12236815 +Result = F + +SHAAlg = SHA224 +e = 86ff8b +d = 0 +Msg = 976bf7665489d950279e35a71d0e33082c8618ae7632b343cc31f7f67146e9ce21d0bd3e52fc3bf9ba39680711ec631918658d1ada12ec0632f3d2ff8d4eb99ef1a472873fe37f40b5ddbd43b6f94651ce29950af11cebbb03b4f2779ebaa0690fd15f68a1a86bcc1f747b80949ea35955b879a641b67709485ba0852af166d7 +S = 9908e1698eff1100cfd0063c2882aa135af50ec9917fd3b545e422de4dd321162798773475d13867b79e106ac2aabff64d87bd6ab7a76ce42c5d11e936219a97b44fe8362bce76406ff0596446cb8b6f80eb67e82cb23af415103ee06fdf80b3d92d0a80043c17cb906233110d3e7e44c3604916e8f7236667748995a5e46563 +Result = F + +n = 8f705d5529b5bf74600abc485bc4bb76deb9627088e51fdd26dd0f37bb3b98a9da4094d275d55011a844884122daf8b4abe99d43d918eb50d9642436647f60577c5f60fb9b810147a910dd7dd610318392dffa3fcc41f89f461bb5be85bf885b672cecf00da3af4d7d90074c4c0144c4bcd2d49145f8097648ec7230747f7033 + +SHAAlg = SHA256 +e = d90b53 +d = 0 +Msg = 10c21d2d4afdf3502dac1a791216d0c240b6b12061e0cf3033a7043380fd8756501cbe385d2553a6c7078aa909a3d2c22c2e9a743bd66503f6a8217ccab1b4f50163d916373b2ad80da17d8d211074213d76509fcede06f6984c95fea9e896b68b5f15d0be879f6f65429c2f40a4e066da587ca9043fda92815b09c103ec5521 +S = 411589c7d0860d41c7d4fef4d604b4dca0b160529209e762d5fc73df911e7bfdbe16feb0def70993e64eeb66888e47b3613256dfe04e75142ff2b325fd86b8e02eb01e4cd05b05cc788f014c170d584d092b7220a66133d4f0e949457eddc567eda792abe49b8a8fdfe177c6b6e0d7ac4262e95fa87c1277c46a759f9723cc6 +Result = F + +SHAAlg = SHA256 +e = 9ffbd +d = 0 +Msg = 393f6cd3c89e67def9579e586c945fe97d567bae23c54a2e18c5f0903bc9df0b32ec9d9d533ec800c55b57dae2432234e065a52db1fd00ef27a043e35c15e9215167a22bd53856daa9586698e19735d08dd7e7a3996568ddf289b027ea5b467eded903e316371954ec7654fc31389fa7ccd3c978a4a489dec1a6c0c4ae42ff08 +S = 327269d1d4d871a8be4ee49be39c5a51482fbe89d522c0d6cfb0ea6bf0c6f0b343a94222ef65058e27f5107e4f8d0ce20a064f19ac39189f221c5e62ad4fd7006eb1de620052bd35c268d5c1c6ee0f81e8b3f7f2977d2449167caaee2ca54d458108645268749651de6f7acaff09591d19ac99dc17d480ef3531ed4c14eb85bf +Result = P + +SHAAlg = SHA256 +e = 9ffbd +d = 0 +Msg = 36f62daacf68776f409d0595509a596a544b085ec7649687390324e1db78538fa90ea7b1abb0d659f9d50231663bde208433e35cb0510b79ec375f1f6eda97e128f186cd5d7cee6d5d22f10b076e8339fe5251a4df005bce9da4a1b795f566b72f553778652b141be2ed5e8c84a0fcf92b1cdfc183e0fbe7a5e1b9351177248 +S = 56c4af89728a322066b8c291b4f03da5a038e4a44ffd9b49be9ee5d1a800da1c58e7a852218eaee853f9695dd308e1a5fd95b41a441c2a6bd124088868fa26f384c9ce87849b2eb5edac55cb95d5dcda7bfffea621b3fa66e6b200ce755b947e778fbae07490410509f5036a07280f943b7300562926cdca3b20097f1ffc24e2 +Result = F + +SHAAlg = SHA256 +e = 9ffbd +d = 0 +Msg = 8c25bd2bed75a33ac134f9c1d445245fd8e580d6148fae11591c2b65382f271772d0941eb0577d2b748c99e7500c207b56efdd56cfa7852a302b47384956a4cec089810ebe987af0e8e47a8b91c488902d2ae4170983539e3adeb74ed451e2815c98ac827f0043930384c335ff3507a347dfbea02be9c172617da42f3fe98a37 +S = 56254367f71f6f1fc6944ebd29f8a5592095ebc73ff5222bd815da17bac7f12290f747deaeb29b98c98d31a3ea32508d7683a67d449c59a0d6c16b4855aaa7d6f170c02c5cef61c9b6889207ad021017094d24246c4c90a0de055f02a5984efb67481684667eea36ad6373c36712625fa18d3ed41b1dec22f3bfb0d534e52da6 +Result = F + +SHAAlg = SHA256 +e = 9ffbd +d = 0 +Msg = 2cb9740e0c1b8867866aa81c64122295854ed681e8eceabf0651bf7a65bc23996acfc8566f4bf42c151b7bf7db94eb57f0fb065546477549e829bafb8d4a67086dd48d87533378edf41d992e7fcfc425759a9c36bb9f4b32eed7767af6566f68ded0adeae25c7a70ca78ec09774d16c8bc357f6d6f7bd441bf62d942c768a580 +S = 156747b263be659661e5e35e363d0523303ded9eec1e751575ab3a43156773a056acfd0daaa68625b1cc068458ff9e40ae167594bac846cca2b98bf6e5a4a01e961adfcd70206c05d66e3903a64b61afcbd17391ad0db529944fc2d0d7be3a4da8091cb75910f670d9515ee4f8ff3d62307eb54657e03a330e3cb0661e6fb796 +Result = F + +SHAAlg = SHA256 +e = 9ffbd +d = 0 +Msg = 127498bf44b97a4a4ed7ad4bbc7c3781e2f83a53149fc95c1a6efa27def23d376866ec4b0c1c23e0e21ed1f677140f17c268b1965aa91b15e62d5749d4fb64024ee7d06569ff897ca026f0f282ff2f17a70dcc2ae8187fd8cfd241004dbaa6b9ab416c96c32b5429703930c543053e88782db49928b39cafc0a4e2d3b1f8ac66 +S = 1976fe18cf82bf6ba851626bf94509348f56866930c771c82a6e12c30735c283694a0eeac9337e407525e0a831ba7eff77299c6896a85050b960718a40d5e34b7bf71eae4cdfad0d91d8fa6dfe37f30679ef444ccd360971ddc47e038123b7eceb3072f370796122aaf0b9427563280222328fc0068ae1dbd39a033740789536 +Result = F + +n = afacf3dd32e2c4c9b817fc4ae16fe4a42e0740d002ae497d3379a9eaec89b564b2372ec50a0b816bbb67dbd200a4d03964e37bd0b76df25f86ccb670c957aa02bdbbe70833a80989221aca9967637ae2bf7d985afd133cf2d598c8cedaec23375ed54c6324fb1d0e09486d4e2a357a4963ea1bb57c701e4fc3cdab983e746fcd + +SHAAlg = SHA384 +e = d313bd +d = 0 +Msg = 3736dee9f3c62d492e3d8835b40f2950ab98878268a6ce9d87388d413a85affde140adb6db1b024d9c8ade7c00c91e01df207cffe26603a195c4c700bdbbd247eb68611551075122d5b7d426647c68f6898a0af03ec1a69a0274d3862b6ebd797e3762cbfd930211004cd0fa8731ee77cf5f981f23bfa0d1f5d01a9b2da758da +S = a327adffb14c4068ec25444c52c8216f0945ac937c1eb6274a7d1699abcb5c803c5dd810ee9094a468ff83181cb5cf599f877d373d099eec9d2c2b92d3cc51af7201dd1d4412822ab09c3a2c50968addd5c4ecb868724f2bbb2a9cae23fe27f4f65b187c03a727eed721f387e05dea5beb407d69b4108c205a6beb3ee9340225 +Result = F + +SHAAlg = SHA384 +e = 375ba7 +d = 0 +Msg = 3b84d3d8a1aa8e5652549d45784fa581080b6795f8fc9839ac40ec19b18275d8ad1e2b559686cc2d23e4e681800131f946652308aac0bf72f588ae0c34e490c330c994e0a062468b9eb6a98d5885865a0872034e26687737db367d14ba7c481cabcb36022708a778ab110ff266a34aac357c30eed2bc6a8f499184b8ab1342ea +S = 28708c3c7991aade36d8427202f100ca0d925e63cd16a3db6c8de894eac17949a85612db607976caa917427812a7cec682290d83d76ae06b5757b7dccb713c132af81a68a8eff4d0dc91279d508eff3e842b88a39b59262bcb199179eb4c476134ca04e6b09d738e3a3230decce0b3192d33e8681e0d8063b5fc8c0e19a877ca +Result = F + +SHAAlg = SHA384 +e = d313bd +d = 0 +Msg = 91fc783eecd57200d8bb03c560ddadd83283a56950f52a8e09991687285bb3466b51cf2f369f131c899990a430289b9d396fdbdfabaea04b7566760ca5befb1dda25ed0bfc3987fd2ae70ef1f4d4a748cbfc6b85b59abd524647dbc4cb65b4dfc8befa5da56977aba4eea43516a978e3cf747ee3d7802aaa62846d35021a8795 +S = a76360f7a30e138f5423711f65ddc0e4f636e5898edb991bd2679b684c46725c35bb64a7145f5d4b4324bb56fc830678f665ffda1de7c0bb2b584cc62aadce4debe133939cd56823b856a6cfd6a609c5a5000970702949efa5bfb5b4f00505a554818af0e7a3e5302762791173138ede1264d9ad07ddfa6389334448f2bf3594 +Result = F + +SHAAlg = SHA384 +e = d313bd +d = 0 +Msg = 59137c6434409d2dc7a9dadbfb67d90d098d8bbde021ab8d979c0e33fce6b2ad8fd3312a3553dfa10d990a46fe724f1a9173cec2e66f60a2e9421b10cca4ef610802aab5c9e0b9921e1c80a1281ce8b191170ef49a67f97153b1bf1bf54c83f13e2c59a54679936775aeee78fcda2e4894d1ccc190adce6f43856ad40b4018c +S = 9497e938923413ba81cc6ab618bd09cb26986154081f0f090e08bc99ccebc53422f9748b84bd9ee6c0c1652f5a6a109a37bb06c3d19938023cac60f6fec8a51f9f1f5e06f3499fa8ef74990b380a0f338f9fbe0ad16084cd25f03ad807382386f022d2d8d2bb3526ddd31ab707c652297062f3772996643e0352ad3a253d119b +Result = F + +SHAAlg = SHA384 +e = d313bd +d = 0 +Msg = b24759e46ffac65057ffbb9d22c14ca617fb9525cf719d113bde812ae92dced282eb2e1e98fd472d9e8ee0b8384c45ebb6d4ed73da6a5bd9e2ee420ec20bec47b2b2dc0ae8c7b389a71a503078983b7ab8c34408525f67f4ce6ef3638b5fec594883add2e9c0d10e7889542c6b0df6fa25afe00cbfb78a0b0747dc50c99094b1 +S = 7a43c55b7cabed623e90e116427bf918c4976fb6da64ab111924ca4b3cfb9dfcd2e7a95ac02a68f4b32860f67772595afc29b820e8087081eeb9e04f3bc7bc19d0737510c53cc3a10f75ec670137d2447286c3907e2ef077e5adfe61a1d04cf5acf1d565ee3949b2d706a3a4d5f121d1a64cbdfb66cb33eb96900a490c47efe3 +Result = F + +SHAAlg = SHA384 +e = d313bd +d = 0 +Msg = b8070bdbc42a06f58fbeab28d0ae02eb7149f2173951069ca74e717321284fd44ef52da8c010cc41d66b2249e026a2f88560bd8a624da9f1f48861c7b8abed86901ee3fb692c2ef81b5c0e4a90fe60ea290420785d132ce4a4da4a6f93a36dd2482734bc08a7b48227387712285fc42a26dd21c773cc17df7eeb3552fa37581f +S = 98a02f788839d5473b560173ab6c5f91a94f8c4a5acde42a349f0543279dba53d0f621d4c2bb8b05cfb3119215008cd8033c6c3e7458362db664df0e0e9e4d7030864c36f122bdcb7eb92d7908d11cd134da676bd2cd160679b98afd2e7f1d0abf86441235139594ef553caece176fa7a0a0055b99ddedb22e4d6619c24c532a +Result = P + +n = c946321761fc295e104cac20c4003e8f6b29ba1bfe247458fd006e27da27dcac8438d1f1b97dd6189f5d98aef968c1ffe5e0976d8a6cb93e9e703519bace48c0cdebe292174745e9fe24bd1283f004a022d2fc3b03db09a0c38a095d064f9dc14abb0490241125af6744535e83d11b252306af61b7d231e843463f79ced2f60f + +SHAAlg = SHA512 +e = a97a77 +d = 0 +Msg = 46a758cd3cb2c2030aaec074068234bf5026c6de0940205461c7ba87581b30e58d406744ad5c24028b9dbe4aa2ae104f39030db668f67dbbcd01b935305ccd6c927171aca022e1e26f486d027f2cf6d21cb29ea4ab19593ccf5a9f2191289f27fed1244fc5b580253e453925fc7d5cea83dbf6134027574a0128f8b6fb0d2a9 +S = 3c2a05b92025d230664c230d8546de1d970458cdc68ee8100ee53d5f3ea57593bfa3547a8b91ac6cccfbfe61013c5b313303016d552af8d6c2ef239b30da5c5560539db4cf242edd91517724afd9882f0377536e095f64d7d61bd3b3efe27433717c2d76802f13d676d5f14b561e3e12077c774840dc93d49e9e27a1547d13f7 +Result = F + +SHAAlg = SHA512 +e = a97a77 +d = 0 +Msg = eeb93216aa9f6030b5baa3eb3a4bc92d941a0aa2d5bb3a16a2104423450fd30dfdc552ea989b170644d9db85a3686e4a1ddca8187ab2a3f7b0d527daf967667e29bfea953faecb243a07252a2e5ec982960f330aec83bd0577ae12be65dce46f19aee260c65fe4533d4c692003b4449da7bc92c052b6ef08a0a2ea18aef5b6a6 +S = 41a8bf967f62204cf9a0e94d9e989907e4d07ce93741be7de06d5c527185c80d60cfb90557dceff13190729582c3fa8af4c28b2a6a43af6e5a13808824541241297af16a138dd281f72a170a00f7d8ef41310ec904477bdab2c32f4e18b1bfd6e3d6d7fdab5d2a23e2450e0e2bae225cfa633d7949cf9d4210e7913d49e5d5bf +Result = F + +SHAAlg = SHA512 +e = 30339 +d = 0 +Msg = f9ea187db1584bae05ec20b78eab1c5f0537e2075799ef8efc3d8773853eef3975e5dd10526c2db1fc07d58a3d251b1ba0f206a0872112f078ea27a5b84ecc7d1ba299001a4bea6326c7dbad3ced7018ba7513ba71ba4464fbbf8ccb4e70b2e5922b3296307feb8c2c341868b48b811ef9c6f39e3debedb42dc69c2c722d093b +S = 44b4e5e060265ab860dea7823d1a7d53a1f79fdff6ef2cd4e93ea86e59741817cfcdb88a5517a21b69bd9d73e2426c9429041c40a32845dd098a66cba52d147c32cbc5164144dab8d8642dcbe3dbdadc1cc7589de3a35383165eed8fda2602a54d8a02a9a0a992c95732933efa30c0cd3f4d95519e8d661247ecf9bc5464e543 +Result = F + +SHAAlg = SHA512 +e = a97a77 +d = 0 +Msg = e4ae864a45eddc459a59946c7bfd18cfc119394fdf2520bb7612873923d329e89c1c76c3fb6a8cc95943635b9fbf47e599478cc04c9d7d578a1c9589c342f24f1e6b069fc8df90908c0fcabea51ce4f0d099b2f8a592a2db26cdf032994f1dd093229da55656d0e25c46335e341dd8398d9813bf910d778f74ac00fc4c0592b3 +S = 8b7a625dbea9214f23cfcffa0554f3a4d64393f80daf01d01422857dcb74772f48b1215750319376cbbdbccfbf241d4cee1f190df04e5bd03e0e4e24e1cff426174a3ad1695ba0401c01fa6711f99fcc91a6852b6c77b2284ae5454d5819278682e6667bde72a69f1c111d1aee504c5a80dcdc6747d19bb287e85cc785714eba +Result = F + +SHAAlg = SHA512 +e = a97a77 +d = 0 +Msg = bb825caec83ec0fbb33fb18c1afed63805b394a219bedfbe0f4650906420783751f2752bfd98c2c3f2c654facdefe2723a6684b920c47fcc19895fd9250647499f7a86fe707b6ad982975980783c1d5e9cd580eb1836192d6a3a657f12aa1a918d61b7b087ae60474dfae9a681ab31031148b1be69dd54eae8a1890891d69715 +S = 64210dffdb7ea65e1de82f40e0bc3d450590dac4a8ad44427c2d6f13376fa9ae291990023fb678dfbe04a994cb84ac4698d71a613010d886d0aa6015aa092d52bbf857900934f8616444f69b137b651b61105bc64618b1fc69f589cf257d74c0a199c6a2bed8f26e58a0ba72778ab10f4419ddf5b9f3c5ec1c4390c8611713d +Result = F + +SHAAlg = SHA512 +e = a97a77 +d = 0 +Msg = 6d47a76b64deb512410e0e8b8b53104e27125fff792a2aa0cccdb006f48e038931ba0c0057ecd0ed2cdcf1f412787892e636d10b27a817a45b519313aeb77f34ddb90ffd5223b2b49180955fd22f687defb966f381628f4946fe3816c706c6b937ebb74a9daae2d136a1ffb514a169770c44239fcf8119f7577da9f885a46282 +S = 311263208e8021d33f3125bfcd72677f28e6a807b359ea71bc87b466396e98c6bc5e361b26c4c858ddd129a8dc9cc4dba02b1f39b87a51d184c6a6a1652ae35759477f7939b275e71d09ed52e4fc07900c3ec90785c6b2d6edfe59059a8181aa07a00a56c3bd5dfee7618ac17e0f1ec4e8d252a2c61aaee69abf62212c98f44b +Result = P + +n = eb3b1cbf5b0e88bd44b8575e6b40b618103dcb9a51d36e83baf5bf1ab6c0e4261c12664bc1a4d2216820e2dba9ff7c98b23b58ee86e738e0633dc916477e94be2fb8acf19f532842dbb2eb7911f8f7d884ce022395967e4442396e3618f875c856c73f6b89127646df29ff9971c0358fbda0a7673cc08c3f3f26d71411712a53 + +SHAAlg = SHA1 +e = 6ff82f +d = 0 +Msg = caa67650963439fbee5e64bb2f5f5a34f7a9d110ddcb2bfe609803fa1e8606d0475404db50f04613ec972347383ecea6353172847cfa815b2d8449102980c8788108c11b2e820f3802c83a09de86484726e3d5f17263664a860bfb2185c7e354610ad49796b43b721838d18989fe6f20b00623de27cf83d1537741b39923006c +S = dec7ad8721af589e22dda67098a77fc1b5dd0216dfb77caa5d71bfd6ae256b49dcd20066694d6c4f7b20b355d8eabcaa92a8d91e077fb0241a62be5e34bc1e577a5fea84af6903dfe94fef4d626709ce5d7abe4b1ce420312f928e00c0f62a4f99409ee3f11efcdd5e390ff2b69af600c9b5738915beae3b7f6d3cce8af4bad0 +Result = F + +SHAAlg = SHA1 +e = 6ff82f +d = 0 +Msg = 1ac33b15b4837e06f6be09f4c0e066cf9766f1154cf1988edb99e0399383288677b632c5e52adfdf75223a4424bcb824b2c7bfe248d464c65e9079f2dc51c7977fee98687fd4794f6f563d5f6445450b59c1ff95d24eadc9c02b68eaa5df64edf81475e5cba8d2bfab021a2fc8a294ea56fcbb163287fafec911b40b365587f0 +S = 1ea5f7437790531ab98e5bc93bffd187c1d5a25ec93cb35c02ac5f96b188483fb593ccbb27a4bd9c335657aaf4d5bcaac7c10c7943e4bb4aa66776d35bba92307564cfc7709049b7c9b59e4cce3c6c6cddcbd28d14a0d91afe6439cedc65bca893e6d4347100296cf5b37b889eeb0512121dcdc0ccdc8c10d9215260028be3c4 +Result = F + +SHAAlg = SHA1 +e = 6ff82f +d = 0 +Msg = c5b2ceeb622c694a8e3feba0d6a802b19713107f7c2c20b029b8612375680dcea49c10fb9ecf17bbf392ba20a590e784e7c1067da091696ccf7426b817a0c4f50e395b178c1374d564d61aedc05a2f13e9603cdeeff9ad0cbf45ceb96803331a5ef51dcdbebc391d7e549e56cb7651f5187b23f1aee774067597c9b5cb01c0c +S = cb554ca80e9c492edd709f35092850a63ee94cd42740397a19cbeadc30306169d47db14b8225e0115437b25c2e2194af74636888a6995d4fbd574c3f3e0ac5896e9864c702019d5f19ae4bf1a5dd3d0f23ba9b0a40b7ab49bf95779cbde4533f81469ee9da651e913bdb62e75c1f166a61a45712d2210cf1267444558710c8d2 +Result = F + +SHAAlg = SHA1 +e = 6ff82f +d = 0 +Msg = cc8e2868722310fb117ca3a52e1839eb85d308b8aa00ed0bf0b76aec8a70eba4f0d14d2d85c5a0e876ce2c8ee59cb36947def6c40a587aa07b368ca8e8a08367018e45b984de0d7f1aa46b977cc18c0cd9b7bb897cbb2814aa0ce8f8c9843e03c86c19f2ba95dd2ac4a466a93aae4b3b05055ff148517ecf43e286c57744a3e1 +S = 44263cea7850a2bd4204388df7a14cabbd0bc9f600c3a166d5ab003fc934963165dcb890c90c59eee6893f89fa98b4e162650ce853724e240ff642b68631fc2372a76dd72babe88954bacb6279fd3c92e63115869fcc6e7b6bd95116f9452878508b441227342d99f108dcb8b3408c0f2c49636ebf96e49d7a5b89ce84565243 +Result = P + +SHAAlg = SHA1 +e = 6ff82f +d = 0 +Msg = f2f47bb35772361b88df3595fb27bd1c4bc66da330e8d159afcf332a8e76b4890b749c6dce22ef991b0041214c55ca2a7f16bdf18c09d60f3a2a32fbb24e64d03306c55008c60b29b7471e787c29278cf5dde9ec1fc2549b818e579aa7f0f7afd2749e65eea6b554c47a74a271ebf9ca17e3989cd25b7386eec34a1157a494ae +S = c57b082915a8946942059dff585c079a5574f665aa7962eb6c51b8abbc78aaabc40904586bababfa5a9e98030f46db40e7b06320cbb924a16e886b963222c7ace2bec5dfce87964f22e07150124166e58f62e53cba5f6466c6e56caa71be4b5039cf16a43d414e40a56007e86ec995d923db42fb9ec1054cc1f1e4deae73ea81 +Result = F + +SHAAlg = SHA1 +e = 8aebdf +d = 0 +Msg = 32daa37ba23c04da51121e7e470f7d21c1c377e0ea0d75f6fb43b93f304f0c5ac339c51922035a9636872f7ad2c7f042814f5584a9309a3166d045b3577f3a7479e9f7c7b2bbf055d466d49f0b8d708fdf537e5aa5905cb4eb26a8984fff9bf7f779afe9dcdc62b3eb3fa24d69d65a641c7e46f5779319fc18a58640b236ad6 +S = cc71562cb955efc4a5bd0239f688e8828d2268278cd8763761b1274386f7520cd54d229e1ca4799d7efcb6c3e908307ea9233198b148c3e4ece724b9a769abdbe26685238c6ee88299b24c52337eb8c4753d0af63d3163d17093e4da9caa4181f22f1ca36063f8aaf82ea2735fb7d9f0ac161a33e64a7fc89f68c29fcd3a8c89 +Result = F + +n = d0427a9cab7bb135ae1f2aafc48bd6b9657874e4933ae5a74b6b19398f2f9d5f4f002ccd015175847634fc51e3077b3d5a74ff011d2ba7d20f6f0879c4db0677f6e6158e9a9f26553a7b978d4758b26487cac78dc64aa5b5062a8f72f2dddaf36078398e437b1cd86c6130beef07ebdc6517a6b480ff239f3d8c09d3b8d6e86b + +SHAAlg = SHA224 +e = 8cbc43 +d = 0 +Msg = c3a06a1a528253ef60ed93ed6cf442dcf0b64d03e7d81b3c8b33704e63c992767dfeab47f9056fb5c798fe6cb0ec0c669be43fbc0985d8bce3aa963d75f8d72fba150176da1520f9f135d1f512cc5e988c7e2acb6bb3504f4247870b288449a4014d344fff9bb0e3682ed233997c809a4beed6d7154bc91b32740a6185532dfe +S = 409befc69f30c8f8c5131a880f9a939713353846071a36fc5842c19c0ce3313046660d03e2ee406818a4e4da7a7a9a2cbaf7c0d56d2680fbdd743c33bcc89ef3bc7e3e0def61782470fbc85b0f84053ca02e3a120d244f3f929078648fbb7656d784c95569d4e5f6a15a97d19b3b36411c0b13b744572380a37af08a2e99bbf6 +Result = F + +SHAAlg = SHA224 +e = 8cbc43 +d = 0 +Msg = 4de1ca7bd670d773dae244222e06b863ce37320bd0819e289a06a78653a0cd7897c8b7d46fb7ca4080cafaac822be020f4ae0db80ef99fedf8e812153930582d72422bd74c72a29faf5802823576d7b1de1c449205899808925321f4720945fc4416ce8b55e88618cf5204ac2d2fc59ef2497fa19b79b102d20f7f2ae473bd6a +S = bc3b71a1ecccc2d9d25d68d89dfa8ef414ff76936f5baa60d957b56c176077482a8f2b982d68434587f89f90f5a14ad136dec43b1d9659d381737a79143a573814fcdb0583e3abdd7c4b43d04b0f3f6b368e734fa4d8b19c8130129e84b00514084a4e06175a864556d2306c27884aefa2699a698102c9971a47a9b7a5578c9c +Result = F + +SHAAlg = SHA224 +e = a892bf +d = 0 +Msg = 7f5a14b556156191b2704936f64df0bf1dd2bd8d587418f4f85472338fcf86aa5250df47c2699b428c236e0aad92ea7fd9acfd611e5bbb08c5d05d56791b8aebabf8d69734ec89153c91a1f65b2e1adbff8b6ce70e045674ccdbda05fed3897c50fa008ef4c6b3738c63e9e24a4c083c551913086f97719fd61ef028671f09c7 +S = 180d4fc61515ca15658a67af187c5e2f11200acd531fd76792c506b89e8863d0712f05124549840c2795d53dc70d00407a97cca6597aaf07c81f5753866deb50ccac94682826cfebc13ba430a728a4ef1ca90c1ae658d5b814db3b952691174bbae15932564e8d92241e41ebd4660bcf646b51377b8dda4421c49a387584199d +Result = F + +SHAAlg = SHA224 +e = 8cbc43 +d = 0 +Msg = f5286d7299712da006832f2fd5df01491b977c319bb399ca39d2865db215f9978b38c5d14702ab95dde0725d69cd399d22740d048c99b7ffefb5d78007e037fdfdf459bb96f0524cab9adb57d969a69779a1ee26d2c052fc8e19e3b26bbf7c8c33a452b7ee02cbcf56fa94a58b7cee3e0866481fd6f013c7ff47d27e4678704d +S = 356792a48df7d43260fb15ab585be0343a08aad209c5bc9354caf4a02dab6edcc7224b2d9303d214e28f350f6c4006361960f41ea8a8309315fc66c03899fba013b6b7df2f83487bd49654817f3ebf5789339f218da4c93cdca200daeedb970714d6c111b6df66eab0f643ed12ccf571d5e7cbcbd93055f3091b868f29ace5de +Result = P + +SHAAlg = SHA224 +e = 8cbc43 +d = 0 +Msg = 862edb9419adf4c8460c66031f247708abee0abb8c9965d9dfd938e76481db68df54d853be18a9c4fbedc3f244ddd3615ab44759b712109673bea641683d4d1f95a49809c0aa2b9c5f01c431b9e77d0f49f84be06346cb621aab3e5f605ed1df6fc5239c688a01b63af174a8c669fd7b41611f3ad95c1ea59b480729940bf010 +S = 3db0fa48e4fb59f44e914f019c9baa1ca0d912873876c60fb1cfe1e936e379ceb562a002503f46d63aa0d186c6f16631635ed8b123ab313e74a2cd955789f2a061c16bc18a3bdf5bf471ef9593c5294a92e43875bbc72ed971d48d0b45f1429924301de9dcc08fd7f2ecc17a6dada4f8db5147f6c3c1f00a785cbce2dc0e91be +Result = F + +SHAAlg = SHA224 +e = 8cbc43 +d = 0 +Msg = e0e4019da002c62b9a67e721f3eddedc2087e77a59e0129d4b3f966b0eae68da565b0c2aed3eacb361fc67e0fa0ceb7cee18462cd8a6f93d67f74ea0532fec3396b7a943d8e09f4e2bc9820df88231b139718a6ee9f58336b94a76c705adbde706c07fee492fc9866094e1afd798d7066a5b5c467417d70fab00b6e60b6e027e +S = be31a56ac580d6bb5874384e31f334f6326115ce3b9903179f8d5df2718b15453c5182f337f567089a70be4df32b4c132506f100240b40772a9fae33ce5a3f0e553df8e7b830f9f895cc971f964c1af23a68b5b71cf1f09f4540c5dd60db34820307748e5fc20b9017a710ba6d6af2a880b0853b46fa678d9d89a4fd4449023c +Result = F + +n = a16c7fcbb8d6fc602277e9cebb1790bd14999ef7670400c0bd0ea6116fc72e29b868c8b62ada0e7b4cd351b5a76c177f158b4f724f1d287d66df114eabd68e3e8d12409b69f96e334c0daff79392d184b9102ea5c4ec13052bfc509d9ae76851e8557a417b86e9d37687d243cf48812ce621c5f39404cd6b22a60beef744a42f + +SHAAlg = SHA256 +e = 681201 +d = 0 +Msg = e24695128cc0f0e9905a6dcc1c54e481ef431c0426a13e2a51888984ccbb48864de601e8b927f04d3cccb323985f47cabde033f89b51035c3478f881f5e0fef64621deac6061b59f5e1ba5b8971fcaf22cda70bdddd883a021874621753e48e9f47d95242877292720cdaa55c29d564363bb3a1a953ea43d403fdc2cf5dd0fa9 +S = 88b9604e95ccc993514a258d5a6785836b3c0ceda1f9a8359b1ec9592100c9b47572fb17d2c24dbd6b99ab46c408b7bd4b8094a44d05c2cde1145ab516b36926358f980ce1eb2e92793f65f34f09a4053f8deb77025052e12922e3f14823859d7e49aa54b7a7f0b20c1672e1a278ec631f955b4c19da05dd9c1f4487a0e08f31 +Result = F + +SHAAlg = SHA256 +e = 681201 +d = 0 +Msg = 820e27d35ad139ca305e9eb26c128ff59dcac86f05522e7e5721b458bf437fa22396493ea93903647942bef4c4afcb0a05a021d386c300a0260fd4395bb55c7473530b061f6baf983115501ea5f05b64de5e00e933f1d8f1aa20cbd6033f319ff9ae37d3c4508490e23e1dd717bd862ab36e2b5913c5fe996abc60d6c2c945 +S = 519c717e336e7a28d648acf178931f6cb958684979b23e1d53ad32aa242e327699ca1a1f294feeb8b6ad8668b75a3e42ca4ce08a91c3fcae06c7974e6d9e23e622363cae4cdcd1914d31f38f95002b1a6da863e70c244411cb1be90ffea30ca4e345429e58eb751f676ea7ebee4363c552aa5bda5d57908fd5a87142db8d9821 +Result = F + +SHAAlg = SHA256 +e = 681201 +d = 0 +Msg = d8330fa49a0a75f27470a2898ec1134666515fb467ad6b74be23dde26984d3f59028d467193307167717a2abc25aa6790d9acaa8f4ceb49274ce6f6d00161a2bd0c6dd9e7dee22e0cb0901f2c5c7fba31010ecb379453b39d0c95442f9c058bb40161291edc32e16184ea5a7bf907c8c16bbae1f1e9b6730791b72a97d0af56e +S = 5a692ebff6a43c5e63602018577fcac17415fcec4087e4c41065da33dbd7d87862de2e0c003bef2ebd0a411884811c7fbfa893590ea885acfb023857b904b0aff0e5061f2fe3376be5ae4de0510b2c34be6e0192722e63dd6f3fa9a7f8a191b7160997c463d7f7d46577e6cce534da08d1e5245b3a03b780f8144070cb66e6ff +Result = F + +SHAAlg = SHA256 +e = 681201 +d = 0 +Msg = 243db9a1c203c792db3204bbfb3cea400d6e5efec0c935092f0df759c016e3c04c6b331f8115a1da85ad2989dcb911f18c3927327f7c4a4128382b996ada552eb51b6ba372d4b1bca113ce16c06ed116ef97711f53319908b8e224cd7aaae584a573ea935be90121768b7cca6f0232977fb2c62d03902c442533685bb92d99aa +S = 8d1a40fbd8186e3cd1dfbb529e1ee9ab13a6c8e6cf04e663a4de2349c05334f0ab3c694ea89397ca3e70a2a1957ac75a6544842af88cbe3ebf641f68cbce75638da1c953c3f594f8ee8b3825ab4aaafb9fb152f05bb7dcc07e3b666ca8626e69bb262bc240398007b871b7790eca96512d64f3ff94470224fa075ce3164cb1e1 +Result = P + +SHAAlg = SHA256 +e = eefc9f +d = 0 +Msg = 186594f37c9ff1fe3ef55bbb511dfebdcf5b64723cacddf80f4425326e3b411c3a84aa5b4b1ead19fd8e120feb8cfce3fafd10b59a21d9f5480e6b77575d47c9f1237fc459231b617241bace853a7dc13f93200df9cf6a733de5c8ba85f13501452a5c552c14017fa7f79d1fa88f48ffa505dca1e31e581af4b382237f61d16e +S = 9301ae4d76e84df108b70d94400c0b2dbf0b024fd5cdd5821c408ca2f52b7d4466a43abcbd8f40e9c07c4e4e56ad1ff471327e2e997d4e372d82c3e9f9db4d40d4d6308b4f7e5ac91c4ee2c194c038f8275dff82b9cce56ccbbd2ac3d12550f184b1cf938cefc85afc588c45c1ea055da0d4dadda266895cb4b84b846d8fac13 +Result = F + +SHAAlg = SHA256 +e = 681201 +d = 0 +Msg = 2ab6c6ad26e227177b6458a1caf18bc083c162a1f18b0fbc77b0baac19b7223e3df988c8b39dc9bcf4c7ca7ca70d18706a2bd057cef7bddaa397c16777f1763c596314c2e3b4961d774b1801c89f84c79cef6dc0d1333bc99e52891f1c95cb75055c3444bb10d7638c580cd7349015eca37701850127d1b0f04bda7d118c6a11 +S = 8a270d2b49cd2897df192e12121ba6b92304e89a429753727e8cd7fd8395ee72788ecd58d91ab99b4385778fb8f9a5458a79790def0c05de8b5646c16f2f8f67652708573216f13335fbac257e4f6e46119fe5b50c309a7c01731c8f8fc240fc68f08f25879a32156dcded375c6ecaf0bf861066de3a034bbc00844dc74b8b6f +Result = F + +n = c8707116eb72426838b7a5d913fb64fc4468b227f7c13742f64a0942cfcc036c5e596a8ae286dc73b7f785bb51f228d54dccfe5bf30fb69009468bad91771901f55b6a26a2dbf959ac22bfbf838156de4afa25ca51f4c9be946b82a30b5cc8f00fc1a05eca66f1d237329e575558fcfc1de1a6985e48560490f5b7d6b7af4c39 + +SHAAlg = SHA384 +e = d3735d +d = 0 +Msg = 92698ed1e83213e11ab38cc9a489ea489e7fa584e01701436966915d0225f9721e06f7d80544a5d7317ef819f8c58d5c6cf4a56a803f6e4b6c0f84b9520eb7d4217d0f17bace0d8b516f343a16e4c8e71518d6fc5bf574c45b324ada906c51e26379db764ef9d463422d4716460d235162944023bb5f9d16ff76ecaa036a5002 +S = c2103a4b251be38f5121368448d8f70fcebcbd6e9044a3316f0e85d85f30fc8583f43858e876cc79367bdce48b4ad0eec6201038bd5f94686134e2fd5aed48ae59fa31949571de1a600eb3afaca9a1d024ed562d596cfc57afb63c101cdf21f5a23ba6124443987bd9ffd256514e5fbac983c7c50cd26e321c5d8d1f0057f71b +Result = F + +SHAAlg = SHA384 +e = d3735d +d = 0 +Msg = dd65c376e916706f38bb094ceefa6dfd866d9e0abcf6c785aa537e3d31f246349a0658537ddaa35de2651122a7200cf52214415f0637a3158bf8b328c919ff7c65bde97b70c2aa0a8c5097bc51b2a246ef652334146fd9da10f22b8c3701b41286b2ff568a758f607ea42384b45b38da3689ceefac476fba80696ed241536dde +S = 3405d722d9b7aa516a7ebb4e13c70321e17e8f468b508f8e9139a14c9e8761abc02267703bb872bab62e2d095cd55865bc59f34eba3ec9afd27f57371a876ad30e2ab282ef6004db4d41445fada2486b2e09c377276a2f1548ea734fb3c32c7f41c9560d8180af8e19337c53dd2c5b60f2e2087c1ae63b2ebffbca50e40ff40a +Result = F + +SHAAlg = SHA384 +e = d3735d +d = 0 +Msg = 3a53889abef559489af5df60909b948a76f69c6939cfec2922dbb2575834f1f6a70a6ccf7f96c6084050e7f8b462a23add5c9400f2294faaa442b898a521ad3c6bf9eb7332a42f1540dd9cca6caf5d20e12d8bdb2064518d448e4e668a893a4c1087cd2edd06dc962203c67ebf6a0e6509d249a2cb673bf78b273d690e52e14f +S = c5d68f849778e01654f343108edbe7a5c9ded2008f0dc28a1b17b3ef1f0baede8dc1c5726c4d0f1fe6e219455e3f97ad36e8ee03b7028919fce884fa691f63dc05f324d251a7da623f4a64b248425bad10958995efa41267e593145157f798af8236f179590510e0f82c8776e80c413f6cba7c45d896d44f9aef9fd73ca90a53 +Result = F + +SHAAlg = SHA384 +e = d3735d +d = 0 +Msg = 97076adca616d22a6a00ae00e8c9c893ce78da40576b997e6fedf212180b94820ca3aecba3bdfa56f81efa29471b825b9aac76caa5c1d510eed9f6b231d0129b02f803c9b46c4b477aa1585bcc3e07000c2e66966af3bed9053dd11052bb6086c231f03e9fcbcee337b151fe3ddb5f6c6c27320e6da85cc2fb4109924573852c +S = 8c1c84b1fe1cac7aab8f9be197e4cab01857b46373537ab07b4991ecb75f6d98f8e0231c4efeda700e25ed3fb031b57dbd3b0b42f680bf51e3a1f8af906d46adc636976255474f41f14a6f07609203fe268b776a884bfde7a882914b3090b5655eb547a235ec33663896349d2b3aba6f7f001fff508ab7cedcd3b8312825e11c +Result = P + +SHAAlg = SHA384 +e = d3735d +d = 0 +Msg = cbef0d70c24d57ab08d5ee977158702ba62503c51e2bea6e4d5d565f185b7ec58d4ef1c2d1132bb4599d67b95d94b5738a424c08f8b0216d5b0cb9e57d4e3bc4ec1cc979efea10cbbf651e63f412748b3e325d3555ea7e3f33a0adf580a807d84e203c9e06182e79a2f7bb9c1d19d6fc28bddd531f1f266b3be1dc9909af0987 +S = 231d7af64c2097849c82f6d479260086d20f8d9d7cb5ff689ec0718906006eb8b6ea2dd2a273e952576366adabefdb23e0f17fc81c1a7bae8ac064d96a09966895113420a6a0ed9c40e66d9ccedf6afbee9df7a188087a37b6c7cabb6e690494bb4f657d8392800c96e976185b02b97c8b058e9df63d94c5134fa7b4a330f9eb +Result = F + +SHAAlg = SHA384 +e = 6f0b91 +d = 0 +Msg = 70f636af866ee1b69fd8bd0a2018f5c21812a41b2007dd698621ef54aa4ce740a748560d36fc5401d00ec40213b0da0967bddbd3e10424da68e46e8316195099e0d505fa7a12709075275d83ab9a0aaddc36e64f995d9802619f43f00b8b094363c4cede18583e4bd64e11f5af7e8d98bfa64df510b942cabb7af701504a1928 +S = 649d1f2592a42c2adcab621af84da7cc26f752dd732f1d7c39dbf6e64049c75f0fec2c55eb379063c87303b87fe8f2a35020bc81a5cdcea122ac22cfb82795f1c69eaea35e1485e4ca3b33ec671b0d8090de507331b1888f30420d064a0c75eef97f3626d0485fbe210f47ad8b2f2526111a383082a0713b7cdd2716ca84eb67 +Result = F + +n = ed88e482e9d7d30dfb6ff2e20bd93b5cf028fd5e49f9415b72f77602e688e9ce0d153c5131cf1223ee78e322f207edc1eab0832efeed4146e3af7715a301fe847605e009d18c05db26b3034ad84ecbf2728a6d384694625528e1002a83f47166e46dac3d0d7d146fc06419a2d2a64a9482267bbf30d666e694e5b2180c3e8f09 + +SHAAlg = SHA512 +e = 22478b +d = 0 +Msg = 79d6e31776603dd6cd9f0856940e75fdf130e4846beb3ab6ba33ca30c635c64a2598dd77e68ba8417f73bb5a33907d8e4b2252645f7648225b54ca473f454767b9d56beff3a3ffe8afe0b980105f1367bdcda69524418917b3355fc121cc9523970b1302365fc136cf64778ac2b0b414b9a155b972e379e13273ef4126223be +S = 9563554bdd55d7eba323e370a74810726a6357780b763aa86d8c1e0394893db72bf85cceb76ed11e801483717d746169cdaf652c9cc11e0fa006166e05e54d1c2dbea9f8a01402f929d8d8e8eb0f1f028b98a779d9c44642df01ccc649cac24a4cc760cf52bd7eb4bc0f1809be7cdded3e0965f3462841ae6d0a1626e061bc4d +Result = F + +SHAAlg = SHA512 +e = 22478b +d = 0 +Msg = 6284989fb234eeb086e39dadb61cd985c75ff1e00fb88c561a9632de4ddb0f89c930f470939b9feaf1533c0317d32c2a022d042aa5a1d95c436ebb1a1ce87f764bcbc22cefcf2ad6897cef5fa5409ababdbf0dd45a6ac4c77c535a503c3f4f83b0fd08bd0ff717db1507bda9a98cad9dbebc13c6773cd5ff8eee1968f60a0717 +S = db9d569fd848047e693ef1826fc1b7aaf1fe449882843455dab2829d418fde0b90b6c2a0ab2bf1122ded1708c9442b05a6a44d42bf5313ea793ca1482825e8327247d3f35a7fc43457a3f55c60e3f506d9df6b7037ab5db46b440edf014b4def3936a3ff7c1feb4e4ff366731ef519e4408863ae2e8048bbfbdc9101857e893 +Result = F + +SHAAlg = SHA512 +e = 22478b +d = 0 +Msg = 310c04b35510e779f1b1e7177d18d32eeaffd15b2b210054f4ee5b33c284e1111bdbf3d7173ffd511f045884f5756f42f40d21fb9aea67d6437e37003788a844e74256dd74dc0888712a90ddea9af3dea568cad1a715e84bfa153d8eaec8fa141eabf66c75d05145708b57c9656fa72c847894845d8acbdba21a36822e2b21a9 +S = 9029571a3b5a0c4c5cd165661cec2868c896240281172a4089d5bff1214d7721a692383bc733d131ff7b5b41f1c8a15428b4d80bb3b225bd381edc5df7ab230e499116e4b336d1b0731e55782b088eacb9c7cc4e31a629d29dd81a31d87f0d169b975f7214e356d28366002ae65dcfe857cb1be25083e8d5c24303a52b73fdce +Result = F + +SHAAlg = SHA512 +e = 22478b +d = 0 +Msg = a86c47e276bd53067d97392bbdffc290d338f3b38fd8d409e22176f1fd8d33ebb7ab38052f2a4197b333a430e1fd91d00c9b9858e2186b3e4bc5e68594d24cedcc1cd4676e4664cb410b9ccd7dd2162e2f83ec2fde9a7b4b6f7a67254603e0c0ae6623ee7b38430beec629ead8a9d910029af820cd878b9716e602b95c4975cc +S = 85b7f16f782fb9ce2bc1b00114aec5fedf2e279ba0bdc4ae6a0e38e41bab63353ced11ccf3e55c8fd5dc99736f97ff891d13ed59c1f123ba4ce3daffbe08aedbbb7a0a90ac042fdc3f54253eb61b29b64f194610d42087189763baa351e0fa61b50a5c9875c0ca8538bf2187ef37d0cb1e6b5352bd017064955f2a0740db628f +Result = F + +SHAAlg = SHA512 +e = 22478b +d = 0 +Msg = 155958a8c08e561a69d5f41efe76304ffb0ffc658a2c8765ee17bd1521f211b3bc027ae6184ebbf5b369e837d58c26cb73e7b28853392537719ff600a2a9402377b3c5e9647334d921cea72e51f07089629b15e4b4bf99c7fd4cfdbeec44070a0c144297ec24462e7dad39ecbbcb96f38fd32d5ff4e66c7c5ac6dc3647e9eed0 +S = 5535cc093d3e54097bace607a8f75ec913c4d0219663ce6a3b493480d14bac47e85d23c1b7562f91df292725965c31450558f46904b8e50b42bf2e0b6308056aa83691ca2349e39d167baf17d069d11db8390dcfe04b5550137dca253ed5c614cf9e50eae496bddb27c70ff6615a5c5b8a340fa314dd672dcb5d214728d51002 +Result = P + +SHAAlg = SHA512 +e = 903695 +d = 0 +Msg = a87d48ac27cdc05dfbd93afab38c18a339beb5055180e5a196694c0450880c22bd1ec67c6a8b5630589753e67ccb1b3c8aa54577bfd5c7b9847d45297f602571ee6e1e91828d23807028e659b365fe583879027837a2176c75ac020777ef5d88bcf9d59e184994c8c30c76c70ff31e80c3c85089617c6144da640720b29c10e +S = d808e2fc131998e6ac727bf628dee867b9849f47bb92ab663192e83659e5091511db6bd36bd2e5281fee2157549212982748584abaad8b188e389776896f5b60b82441b6fd83b6494ede3f6bb74a795a10c344b557b92b13d8b7f172721720664a5e3031d218ff2dde8aeecd21d6c96ecac396ef78001fec388ea8ac9bb17e9a +Result = F + +[mod = 2048] + +n = ddc1676352ca011a235db9b4bb41eab81a9f3447a34c3626a531e3319665edd9c9e269788323ac7f2db36b9106f4b2148b7c7a309a0b7482ff08cc97c792bf8e2319f42aa51078a29a4ff90c0e29563059a8608e8809a04bf45f1334b23631d99253ba230dc640ffc3a70c27ce5fc7ebd1adfe68e4462790007b39f5d5b47dd9bd04d0d08ac3b586fd6cc8e178d52ecbc09434d4b89d83cadef6c53cce17788e87b551aa0b507893f308e23da919a4aa01183ddc831a99a3e3c4e5bffdc7e8c8b6800699abdf11569ba66e5892b2e55c6f8578a12f5e304dc28ffbd5ee2dfd2bafabac77ba67031f588e73cf7ba344396d166f5392ad36187b45e15916aaf5b7 + +SHAAlg = SHA1 +e = 748d77 +d = 0 +Msg = 9e7d8a94561c95facc082974fcdbcb813e1b37fdcbb1013a7d9c7c53d6e6dbbd44d7961fa36a106404fd760ead4ceacd61a0e150e144c95bb239f01a212aa1b585a29024c47d7745189d022b13dee9b9e14b5b70ce92a38607b50638a503ea61e7473e4abf3f15c4914f947437770f6f48836f079a81d7e4057887566a5700e9 +S = cd0a22729f6a2eb4c7bd6c1ebcb9510ba1aa6e8921109d7c1fff6f7cfc36691b69e89656b9d7cead82356efd740faeddb0e3cba5a98656b841f2e98d296b995b758074fbd97af3baa4b28e9df89e9246eed76ae3eca1bd213a81b5d15411dff648b887a8835fa2f7bb2f78be5c4be8dfb1ef0d6b08319685edc437e56da3c8a532ec8c7382f74859530eef7adffa68ede91e3fe4bd29f43bc8ff813fec7d0a15aee6de202e4f32fbce4621807cfab47bc395ac10368d931bd73a86d40a38cfa898668cf76f0f4eff32223c0e452132c36b2c16f228286abe0f3fd4f0eb73e5ad989ca19872097948c6152320daed43bc2a98c3468a610d13ca086bd8ea89bbce +Result = F + +SHAAlg = SHA1 +e = 748d77 +d = 0 +Msg = 2dc3fc128057e1c291f9b55ace78d9473dcd3560a7ac7d1bfc59b301f3bdee5ff1b9593f2cba7e96108ec5bfe2763728a37c884c370655e1c6acaa526347c76feb4a24643056b2e7570864b67f16ee41a49acda3c2ad87d73d38342980073deae41f6468d452041e30109a27ee8085f907cf0a4f91c99b6728a6596e9326d739 +S = bb75bbdbaea3269a01bd9b5e492178b7ec11abfb59d417cd5cdabb8a4b922b0f21ae69e9da7a9f628c9cf396bfeb75c836bf734561e68e91fbefeaf0f57f261c936bef741527187a5315dbf584f332fe3ed8a44367688e28998675c31f2b1cc3fa87faa4abcadff5fc64025c9589149e41c45a5037fe1c27d320d5a40ab6119b639ba052ad1d8a0339fd3a03f1356bcbc056c4f604862df36b66685feccfe5f93f2fe0c957a02e8d41a574ab0e56d8672d338de761fc9e9a1b801ac5dbd56c1592efa77f782d1dce3531efa5c7f569ddc313f5dce62466ddf269bd5b780f7c7c68b5232e1f77f7b4a8eef8a978eeb56d691c3e4a95965867c61d3c8e7badda1f +Result = P + +SHAAlg = SHA1 +e = 748d77 +d = 0 +Msg = 2e74a1d1d61bc6c856a20fecdd64c6a011542b3e7629c1c843e2d3ee21de557115ff5e56c8134741d95c1b4e4efeace14224df8de2b3d48d1eb68c5a2dbb6c429fb7472ad0bb1ad61fee8182eace06eb3c7d1168b10c8f8ceca4c90da6f424053a30eeb6866fbbf588ddd523573f5f1e9ec1435767a03d682c423c412435174 +S = 7aaab14a1a89468ab4b583a8ad03df515e5d34b0c36eeabff6c4532385d448ce99e4ba35c927751cd499fe3080e004a903afe833667965fbd2d97f8a4b617f805ec88bba1133c5c304e2183797887db331a597d1e5f673264f6fcce750b504ed24fc066af248833d42cee935779bcfa02b73dcd29254b4dcbe831b70c289f6998884bd216f320e4615fec8181d17654b7201b62e8610e69dbd8cbad6de1a5cc1b4619b2680e7ddc27c02a9b8dde6efecf0f6c4551bd38b46f10e78692887bfae9cde1cca4e33733797144c6cded6b58cde54c5b877e5d10d4775200c0f4eff5ccde7a42788ac22f762411da48826b670297f2b07435d61a31e063ec1a2791a32 +Result = F + +SHAAlg = SHA1 +e = 748d77 +d = 0 +Msg = 4b4f319b5c8c53e7a4749c4ee58b0b25365a96da57721b2044af994c0abaa0ffdad106065ccbdc7e4556a03c2c84b46c9a860f7760b7332b2ddc5f165fa905321a887ec89797fd8ebfefc212f92c905c402a60cf780c57510283f6ac8e4d913330fb02a8b7f89e5d3ac7689af38c853f50cef0aa487b6fdbec2cc6d63eab2a49 +S = 1ee9549fc8cf651a593e8c4516cb1b3d58099e6334b2b35c5da1e1c549e4a7769e92d51b52f622d5da43f8778c0e0f860f7e3a02268ab7a64523c0eddfd7db7941896a67bb33895d577be6c8c86af72d4e2feb5968eb2f04e462a2ed9e648c36c2d6667832a640d393fc11494a7379fb4fd6f0bff27718d8c9cfe0c9f2dd82472dbb6b751a5398be3f9aa67919461efa7bac3c6d5fc42b2149acdf29f8a30a98ac89a6a48833a3b2658111094372616986479256617247e60d95bf797b503d0dfc61b6336beed318d36e9f3575454cae1df787ff7f163f40598694ac891e09f743e02f442a1ab5ce1148cb66fde982ccb8ec945e59c57cfd5747cd5de5f3bf12 +Result = F + +SHAAlg = SHA1 +e = 8ffac3 +d = 0 +Msg = f62e0e07bb71ca7f93736ce1d2c29a4fe7a5c8769955a364916ab09a19943063238b48648d495e73a376c6ade6249ec20cbcf69447383501ca93b7fc8a7ebbe341557d0cb9519fa247ffcdaf95f1a179a5b3c4121300572b9b369129da08a97b5973f62ac7f355b186f6cb106a916b1cbd727a198616d28a0a3c84489499c1d2 +S = 66b378c5fa44c443f0ec885d55dc877612246703342fc8ef38a98c26325e52b9772f30d29f4a23b67153cdab1f84a615208ef809d84be83c57cce32ec9f9dd07a64af14f964c73d5a8f9fbafc07a68dd046cfed8e1c54c6fed3a4bb7c9ec153b64bb6c1591f1f78f834c44153da1dafbaaa9d44b8406108d70577ea8497b33aa09c5f2b63906949f1ac098d34c82a80a37d2f4164ea88bcaa30ead54f3b0391485a8eba084de3be452de37dc52d278d757c70c1b75bc1ce7c1441b0cfed2ec5e045bd77e732715c593e2a3b21ad81f7f92b6eb9ab23f84cfbdadfc89c75dd4474e752bcf479805f2b4fc5b953e2aa82b72044fb865cc93124096c14e0a645947 +Result = F + +SHAAlg = SHA1 +e = 748d77 +d = 0 +Msg = 60c3a8bb6b10b30395cb1a4b8faf39cabe5cc3b79057b769115390bdb9afbdb8883f506d564ffa2164e537ae3647c625a5bd5cb7309899d693733b979bb9925b386834aed414f16fe32e0932bb869de2a60f64ab36e29f16d9864f76ad6fa58496c4ba468d6680353b2df99ec675a649ebd943594d3eb1730c1434229ad8de7a +S = 5d36b5e092060e763963b87b41b027a1356a1d5068c8ddee205f0b012c27d6906e75ec2fa93cb840d69ff3c149653802659ef116c7d740afd3c4050193cb488493a9bf1025ff3918ffdb073e5b2f705eb771e1e7c91dbb9a9e18b1a36951d60671e25e4042776ca265bbba032b1dd5aae000737c49583450e072c4571ece1b5af9403bec0ee4eeb1e14165c8df6d2eeb93f10ba3dbcb9ff92abc2773d044560fa162e9e5b7f6915184e6ff3548df75ef7fdc8f2c869edbcb1b4a6598fd1acaa394f501eefc3fe5e6945f4143509d6cf8b4c8418e4f26f53400fc50d00cc4491ad16b58785fcc6f123d52b482764225f66998b3abc3b3e2d5e8741f3170ecc574 +Result = F + +n = c3ae3b433f447d5f94dda31fad8225c79eb2ea5b4e398690a342d23d922d91a4e3fddb3e42ef8b55408c096050601522fe6bee7c9aa03851933eae5a831280c8c2963a78ac104f8c03b21cccb768e4c2d290b25916fca23f4d3a3a69c5fb93705b7a125ae8274baeed6ad3db5ff86fcb6ff76ef97739b0ee8a539ca430786fa0aae9717fe499ad0f27370b76b0b76dfa9e00504fb4b8208cfb097d8ddffbe0156acb1c1b17a1b8e8c8fbfc0d5fe10345df98bc4ba3280b868eabeeab0ea5753cb0ccacd32db18a84bcaf80dcae2f39abef781f31e8add85838400b9412e61c5c6bdef9d4b8bec3568789944ede8ff7a6ba8d4a4ae73727811d5c93f4823359f7 + +SHAAlg = SHA224 +e = c5a8ff +d = 0 +Msg = cde4fccd809f882f87479eff1cb60107b12d3fabed45d87af128a203df006cea9db0e23bd6c3b1fd42a1eb0b2809ac1f21bbfe301e75fafeac2130eb774d490c0ddbeb80e5fadd00a0556cb88e8a0d5574dd43608d2ec3cace28d7c86ebc00e1a6cddf44b62d556028c9eaaf58206bd234fad7e341567d07dfa45e42cd34d890 +S = b23507940f4c90b01408ced77cb233fb51d992d42cd3367f9f06f855eed6d4b1bfbf70141374593fd9d6ba2d5ecedad1a83e76261e207f087a546e0e381186e6a1697967031e55c8b89780be1cab1eaa8f697290485140a9a62f5533e4560b0f417305799650bf959ec76d54229de21f0653bf68aeaa61c55e5407f87f154d28fa35062e1a8ca3de43fd22b41c4a0d49b8d1b8160e594fc25e791009a1c61d051ad6c7e65854d0e9476106e3cccd6db331916f09b5847591e0a5a73286d6d3722f57a5effe8de959f5821d6d55b81f7e34cf069de1f892a4600220b12e3b964615f289c2a87c567f4580eae39cdd373bc2cb45a2df332427e41a19ee9e947b74 +Result = P + +SHAAlg = SHA224 +e = c5a8ff +d = 0 +Msg = f14d803e6d572645b3b9a51d6c088d2847c4ae01418a8155238cc4f44c3f6527b053a14521e86d81ceff1506092e23464d99828e7f1de3de74ce60f9b4a45fb87d71baa30b161dc217f7afb19eacf4f3e3faf288b70192c2f8b64a545894f9ac5f8f1283b44afdb29889ba47b3e9c8d813cf4517729e56a7b72dc92ec078f9ac +S = 3c18b9f248455a5b309f140c08bfe34d43303e0ba69ec719911fc462094a92211bdec1278e4495f57e94b3d7ff4c6a779a50e878ea334a7e733c7b311038d8983b9f0e60e39f8b5b8fa0f7e092a44a68a6157206ced18d65eb7b4a24a8e35516ad8c6a00cd06be2cbb7c17626c871f5112240481fa9244b785b27bb843388280d92cb241d6c109794208e0c7723303e55b7ed611793de96ece67d4dc8a5a74ac48cac63eb88dc752577987b32a9df865cf6528e314d5521c438957ca00b01c4ffbed8439074223e1b995bbd9db78b6ce5887e094f76d9f4e05f33763e87ed872ed98130d998cb054522ef240452397c791ca2270026e9422c19fde67ed79c842 +Result = F + +SHAAlg = SHA224 +e = c5a8ff +d = 0 +Msg = 9ede1e0f1c8701163cc7a43ecb43ec6e6345ce55480c585b9067f1d78782e18251ff142cd1481aadca24731f44890a4a32b2ff605170a9eb53c5dc033daf67c40e42e1ffa1f9a630d44e1cb0ea883b2c2ed54c56d998f0da3604659404ea05001ccf0ff25442aa87a26d275b85e987fca0d73d9fa82c3512814c14f2a4dbc21e +S = 3748f91e73056970aedc01fd4d0ae01eb0c20d0d784aea63b23116d0be5b0f2daa616ce4247c2ff20b2980247df443a6526a6807ef608603dac5b7d8a0a77f99f24fe02565621217ee3506b361d6e742c47a41491019007cb384ef32fb412fd55441ca28e4b75c7c51c81cb9c6e53dddfa171326ec26b2105471256f2ce63384cd0ae6ab52072c00426c697ea9656c6b6ff1e830b6973f2e508c2bb8cf2c9854618c505f14de03803cfd1ee6b0697c41d6e341d46ec4e0873978e6c25594e24a4f12cb96fed88d152e9b2aeae43cbff01b47b27693dbee46065fbe624cdb660bca649af96967d5056559524244d97e4f47b35482b9d6730e94ab640485ed03b3 +Result = F + +SHAAlg = SHA224 +e = 32b6f1 +d = 0 +Msg = 26a0015ef69534d79ab6e5c50ee307a0f7f79bb67f4a25cc5f7b5d083d6c280f398dc66ac35e4d2eaf2f56dc8b2af6863094f03397502885eea55b99eb410e2f617dc40b11e2749bc2ec3ad9940f4d7391f8312985152e770f570075f937d0fbc5f76308882a9265fc76fa85d099f4b042aac861f0a11deceb1ab4630e5656bb +S = 126f428369214779900d4f2e8753656373686107dbc90ee00647a0551f548364f47b19e8795003e09b0a1d0f1ed36d2fc00977bbb9e5aec3970441a896fb860c7c340fe2f32cb49f80bc36d653c287e1fcdbb9da373b444678320a995194808a95207e546c2fb903692f860b9c91baa528dd47dc135b586ca17f6156961793ba843424a98297905b6dc00b0f5e3f35942dbcc6703fbcccb3be95405149eefa538b71df5e80e6c0284d0b71707225d435684228f3a7db8b8412146bd467dc861f35fc64a85a3a4a0ffa59c7e20a4eb7c620e4b78fd95de03da195b0ff8edfdbf8b0f2eba06fb08cedfdc3534e145c0b9c5ab798a90fc6e278ba70d8eaf55a7fbe +Result = F + +SHAAlg = SHA224 +e = c5a8ff +d = 0 +Msg = 17358f8313cb56d084af45738b063cdbafcb99fcdec45ceab2b589a6f3d3ce375c7b66fda2243d43b29355133a4e684e6c52cffcff08a2e07676214fa4b25243709decacd6cd74062ecba630b17f167c39e817034811dc3b4c40ddcb21707c9dd801e935b7af434280c10073f7828e8c9ef53ab9c3c55222bc7b86bf72f3946e +S = 5cccbb43b32e2e42fc405e9b1c3b1c7ec7cb90842243c2d26159193aa556c93f3439f3dc1d150f0f91165e456ed345bbad4a1ecc216e31db664dfd216ea687b83c0553ca8f60cf188c557d167939c2ddf1fc4d31c32203c9b7e73d8f5a0299cddc8e425c71cea6e5822f810678e3e98fa555a47682445a3349bcf8567b03cdf6502cebb41e1010aa5b0500b33a99f21742b8b695cddd5b752768effa13961dc4fd1f8f2a5d8833f1ffa00561e1846f9464bb476fc814f3aa0ea0a0144ece6d4223b8a19d7b9c8dcc2a8043fc8da9580b72735a596d61b2aa56970636bba5e8876b77f0107b44186c2ed66faf87a6bd3830c7f986e3324410455568b41b50e637 +Result = F + +SHAAlg = SHA224 +e = c5a8ff +d = 0 +Msg = c2750644e65c97ffad63af764ac13449f4a431a1382dce5b93bc806a406f7d764fe573c9f748796c2d8a468d75eea024f9cb18d7d88df51ac0fc6e9abfc11cdc5625ae21d01ddf8ed184a58932a7ab660c0602431359143026d2d99424a24dcc00be211418e3b0abc2d7363228f33c5557de57ae929b12e6ecc6291e161af88d +S = 96a00e06195993064bbedc9634b2d6c0a345d5d63b3972f2e5293acbe87bfe80081400eb73286cdbd9bcf33388987f9c3f9519295abf5839038df839dc9d0b58d8d5c7b508e61a66af6d66166bd86844a8bf7cbab5cf62faa34c26c0ad3ccfdbd095e233438374a26cdfe467b39ce8f2d072550850e8372e231d5054d8dbf33d876396bd97e064ae829de965eae8c0af586c926aa257a9171fbf8d6b93619656b3bccccbbdb07447557e8f1741c58cc03fd166df84692e50977c8b60fd4fe7516bea9c34c33ef4c0f7197d6940ba2fe209fbf5c863d3d3c78930ab922632726df06939ad0fb3d810667d6f43a14d69b7fb299a260d487f4fd13f722e9fff124c +Result = F + +n = c47abacc2a84d56f3614d92fd62ed36ddde459664b9301dcd1d61781cfcc026bcb2399bee7e75681a80b7bf500e2d08ceae1c42ec0b707927f2b2fe92ae852087d25f1d260cc74905ee5f9b254ed05494a9fe06732c3680992dd6f0dc634568d11542a705f83ae96d2a49763d5fbb24398edf3702bc94bc168190166492b8671de874bb9cecb058c6c8344aa8c93754d6effcd44a41ed7de0a9dcd9144437f212b18881d042d331a4618a9e630ef9bb66305e4fdf8f0391b3b2313fe549f0189ff968b92f33c266a4bc2cffc897d1937eeb9e406f5d0eaa7a14782e76af3fce98f54ed237b4a04a4159a5f6250a296a902880204e61d891c4da29f2d65f34cbb + +SHAAlg = SHA256 +e = 49d2a1 +d = 0 +Msg = 95123c8d1b236540b86976a11cea31f8bd4e6c54c235147d20ce722b03a6ad756fbd918c27df8ea9ce3104444c0bbe877305bc02e35535a02a58dcda306e632ad30b3dc3ce0ba97fdf46ec192965dd9cd7f4a71b02b8cba3d442646eeec4af590824ca98d74fbca934d0b6867aa1991f3040b707e806de6e66b5934f05509bea +S = 51265d96f11ab338762891cb29bf3f1d2b3305107063f5f3245af376dfcc7027d39365de70a31db05e9e10eb6148cb7f6425f0c93c4fb0e2291adbd22c77656afc196858a11e1c670d9eeb592613e69eb4f3aa501730743ac4464486c7ae68fd509e896f63884e9424f69c1c5397959f1e52a368667a598a1fc90125273d9341295d2f8e1cc4969bf228c860e07a3546be2eeda1cde48ee94d062801fe666e4a7ae8cb9cd79262c017b081af874ff00453ca43e34efdb43fffb0bb42a4e2d32a5e5cc9e8546a221fe930250e5f5333e0efe58ffebf19369a3b8ae5a67f6a048bc9ef915bda25160729b508667ada84a0c27e7e26cf2abca413e5e4693f4a9405 +Result = P + +SHAAlg = SHA256 +e = 49d2a1 +d = 0 +Msg = f89fd2f6c45a8b5066a651410b8e534bfec0d9a36f3e2b887457afd44dd651d1ec79274db5a455f182572fceea5e9e39c3c7c5d9e599e4fe31c37c34d253b419c3e8fb6b916aef6563f87d4c37224a456e5952698ba3d01b38945d998a795bd285d69478e3131f55117284e27b441f16095dca7ce9c5b68890b09a2bfbb010a5 +S = ba48538708512d45c0edcac57a9b4fb637e9721f72003c60f13f5c9a36c968cef9be8f54665418141c3d9ecc02a5bf952cfc055fb51e18705e9d8850f4e1f5a344af550de84ffd0805e27e557f6aa50d2645314c64c1c71aa6bb44faf8f29ca6578e2441d4510e36052f46551df341b2dcf43f761f08b946ca0b7081dadbb88e955e820fd7f657c4dd9f4554d167dd7c9a487ed41ced2b40068098deedc951060faf7e15b1f0f80ae67ff2ee28a238d80bf72dd71c8d95c79bc156114ece8ec837573a4b66898d45b45a5eacd0b0e41447d8fa08a367f437645e50c9920b88a16bc0880147acfb9a79de9e351b3fa00b3f4e9f182f45553dffca55e393c5eab6 +Result = F + +SHAAlg = SHA256 +e = 49d2a1 +d = 0 +Msg = 915c5e4c16acfa0f49de43d6491f0060a944034475ba518572c08366a8d36c7f1e6afc11e5e4649757bf7b9da10a61d57f1d626847871d8a2948e551b54167c79de88d3ebd40a3e35809b996a53348f98a9918c7a7ec606896ed30c271e00c51953dd97aa6a8fe1cd423c3695c83fcf45120ec0a9cd1644642182b60e599a246 +S = 3d57ea5961db8fc144301ca4278f799911229d865ea3e992c7fbc4d03c6551729e26034e95dd71da312340e4051c9dd9b12f7700a821fe3b7c37785d5106350b667ac255a57c13da5842d90bcadea9e6b1f720c607d6893a2caa3c5f3c4074e914451a45380a767c291a67cac3f1cab1fbd05adc37036856a8404e7cea3654019466de449ad6e92b27254f3d25949b1b860065406455a13db7c5fe25d1af7a84cddf7792c64e16260c950d60bd86d005924148ad097c126b84947ab6e89d48f61e711d62522b6e48f16186d1339e6ab3f58c359eb24cb68043737591cd7d9390a468c0022b3b253be52f1a7fc408f84e9ffb4c34fa9e01605851d6583aa13032 +Result = F + +SHAAlg = SHA256 +e = 7485b +d = 0 +Msg = 3d2f0693517cffb2b724c1f30502c5359c051c1bcd88dc1dd54b89e6981009d275a813b2bf016b74d0f6ed0d91e62d0884785c9afd8fd1fb7e99246cd4005cdda71a39cb649197a996d8ad2d23fdfb6bb015f24ec3d7f88af64fb83b4b525eb06607d133eec834cf7d6c9ab817b4c0dda370459d9cfba05ad0c1adc86a909fe +S = 511abd82218cab344979b2887b02600d2427f1eb12ac01d97684c2a443a9272834c3f79cded07a39dbee3770dde827a74dc994b17bfd8a26d07b239d26d58c42f79d560264c31b7e1c3dddef6d7556f228c394414f4cec561c3da2686a8eebec7702f32850809a93deeb84b2a02fcdba224d2fd9efb8e056e796f49b57d56e9f3e90d0b49b08bdee93a2e12e676fb4d4fa838c5bd88eda008f1b592a72465587be0ae17d9b156b904f44a7e04d3b58d24ad67b71b0f4c699fa51639546b62b9f83597ff03d465f1bb396ae15e92d0e92e85647d5df113e2c7518d0e3ad2e7aa7dac720c98347aa151e4f37fea081dbed350cc9c93f606b38f21a3e5de6d140d2 +Result = F + +SHAAlg = SHA256 +e = 49d2a1 +d = 0 +Msg = dffe42bfda886e1a73fe8a8dfcf71c9fb44deb054588a9bb9199d554aecce08f2ff88f2aa6f8a0fb675fb03c8e685c27432ca7c33c189bfd849d34fa7b2979ac1f57eca389632426bae0b98398ad60a3342557e14e96041c1bf4d90b46cf7ad1348322d28caf43c4f7e86c0924ae703c109ec50a84ea2a43df078c3015a52b28 +S = 8f4dd479239f2d08dc05d7d40539288b67c4d77210ecb16be76f0b1925e8b088570831e361a1ca57893135f8af64b8e2996b8d635899da4e04c68acb9b1b3813697d57da90c57f18509e0ab6705c704feb448cca5c07d258ecd884ab93f508cefdb25f2bc3061c4006099e2e33b27972c3edb0a0a33114d381c82ab506d041ff680af595ef3400a8bb6774030d2e38dd304272092bd32a553017f7bda4b998b27aa8aca12def327b1f11063a5342b0d55738183417d321c5682fc4ab64e79174216feebb989521e1e3d827647068003be34fe1d093964d28f4877c49b4065672448597a89b91919cfb55ca13836e7e6f3b3fd04f417cf1c16d9872538bf4e87a +Result = F + +SHAAlg = SHA256 +e = 49d2a1 +d = 0 +Msg = cfe99788f55ec6944942bd0a187d51b80fd8bd4051bd4f07c73e614eb75a8b9f997b176b2642b5f1b1877061ba9ce142c1d2a311583f072b7cbe08ed253681191c209d7b0d438fcdddc284d93d59d6dd80e48333a921dd31c9b6834f88768f8701e01102d3e8bdf074fbe0b8c93d9951f41545ef6eeb3be35530babc079f1fb3 +S = 9fd6f6107e838107f906c26cb2910704599f175b6a84db485fbc30776eb7fd53bfe20c38c537b154a3e519b662bd9fdc8e3045e21f6e5ae97d0ff6a9d8632825544525d84f99f80e3ed4e69dc5e219d59ccfbb37c23c84fe3b3e6fb22f402f94e5225c6387fdf8bcdb3508f8832908fe05771521e92234348004e8fe19a8f24bebcab9f074327c88d066bc12081748d696be6135c6aea32220ea786ebd7800e6936365ff25831c28cb6c8a59237ff84f5cf89036cff188ee0f9a6195f2b1aca2e4442af8369f1b49322fa2f891b83a14a97b60c6aeafd6c2928047affda9c8d869ff5294bb5943ad14a6d64e784d126c469d51e292b9ce33e1d8371ba5f467b3 +Result = F + +n = c858aea188541c0dd2626eec9a8c98511ca03870353128c1687d94a1be762a4940fca789831a720e108f2f7c1fc20aab38336b5668205d62963c51aad74757183faae7c0c59b9f679e96393e7f93e8a30ce99fed1b8e85e7146bd69a3f8dc5734bbacd51359f4f66aa507fbf4e69708877f7cd7cfb6868006e330869d9eee99f466962b0dee9080d9413bdec2e41445190394a49ecb191167350be411cdd6ade4eb38c4c4bf891b43c91b5981a3bcc8a66f85e5cbaef751e3cbe94c7f193fd78ac55048800250d5cc9e41b89319ac3d0258aa640299e165b0cf7e5e108f76a12f72132f6a2a4c239df0544d3d8407b94f9f38e9156c825a7eae001543fb264eb + +SHAAlg = SHA384 +e = 2a26db +d = 0 +Msg = 6c1c4396f7b7f9228e832a13692002ba2aff439dcb7fddbfd456c022d133ee8903a2d482562fdaa493ce3916d77a0c51441dab26f6b0340238a36a71f87fc3e179cabca9482b704971ce69f3f20ab64b70413d6c2908532b2a888a9fc224cae1365da410b6f2e298904b63b4a41726321835a4774dd063c211cfc8b5166c2d11 +S = 422e70ace2a2c07d2adbecd9dd5714c42d0e768d48bc33fea822974e42ecf99c791276e44936e70b183e712e0dd9b484199b92f24a76c6908faf6bc20fe266fa03886781cead7c82aeeebdd150bf48ae4698e76807ef24d29f3cd5590395f4725dbe7e468540b4d4d8be84e673bff86b0c08af17e738af91cee4f14367dd6bedf71b5e8e148b61ea968f16160604834831d557879542598be7d2fd01c7966f0ae1ec2554d8dd653f20c551a1de6212481e2a19a3e2fa9cf005e5f3ee1962c34e3e85f84104f9172debf89db438c32f2a8061ac15d3cd3f3a6b7d75fd7c3f8ea0c505c6398d1e70eb12e9e16f5a0e4b459c02ec38f0dfc7a4a3139c1fba6f59b4 +Result = F + +SHAAlg = SHA384 +e = 2a26db +d = 0 +Msg = d6a169031049b0b3b582d22bf40b9fca45d2618457146c2b4ac6f6ed1f34291f6de8773955cd2e21b7944caca65794621a7ce181e5ddbb45e9252867877dc4e35b6914ff26ec18890bf31f60fff1df367bc6c59373e58a1d8cb607188a394a2907ede95f6bf096731867f44fe520aacece76b5c3ea75023c9d3f3c080eaee376 +S = b9794f252e6907dc4c41de42ea5a0e6361114ac3814c4a92583ca70fd78e98190a0d9215bd5282e8520422093eff2e1cfa335cffcdcc27fe9bafe4516e74445d4aa17a08db754fc69b156d86ff26eb9e814f605142a3051d2fa64305d3e5c5c5f67c7d9e38c5054d069c14b23e4278fa5a73381f61f90a9ec428c883f1366e27ec0219db8c942582a284c161eead307285d0e4df6b0d7dea0e8216d7ef2e4b2ede2296e0b780e5a3f8d15f123f737b9d6170074f758de32b6f1e958b27e422b053df8f5fbbbafbc14119260f7022cd2934e8faeffbd7085aabc44497bfe07387bc0e5aa02399eab99318adb98f99a677aa0683e0c11d638cb13907fc5c3147e5 +Result = P + +SHAAlg = SHA384 +e = c74c01 +d = 0 +Msg = eab87ecf61ca1ea8eb29498b510ab371784d0274e2fa77e077ebd18c86c66e6b072fb45e233baf4cf627fb75934ae5034848cde22489cfd2b7e9a2bb19b1bf402ec7c69627211e974c7fdc12f95ae766e717594fad8128ff8776057155e084fae7e87e217766b4b0779bb40b8e2201c1dd246e6186cccb8f6ffac356433c05c0 +S = 35720e6883452e78bf0f9ba1566a638c8f5060a8ee313ba66bd2496d67b78d01fa1d5bcd4e3a96aebe6b0e66480335a49a500abd126c5b1beaaa60135db4e51b4efb5a59b662ad3525c2dd1c867bcf609971806895550531d9f5b0ded79f804d1d63c4a00931a64244a2b5f004287b523e9bd23a3ae8b393d2607d1a835062282477c2441cf3176110fa0064350f2cf73b7c67e02bf498eff69161e62e514563d23385be16498c525967350e047392861b7040c9b4039b5a8a49eddb385aaa4593c14e20dc4aa2f67258290a51c6e836e83edc061d4bcf5b8f3db470068372ff76a0109be686c25e70638d15156845dfb8ca1e84d0aef538798014ae1c173a14 +Result = F + +SHAAlg = SHA384 +e = 2a26db +d = 0 +Msg = fd73237a3010d505ea0ca786c5a3ae4d20c4eedbc6232199ce8ab4c9bf6f13bcf8cc26454f2b1b6ff900676baa3c07ccfc1f0cf7154e56d48425a0ca6d4ebdebe693206ba0f0a257caed8083322ba3c5ae3c2560bab710c3628c697463966d478d6f1ad36b88f1262679fbb8a7950a9efcc24100fd88d6cd2f6717ade86eab38 +S = 192d8fe5a69a1f9acf186f42893e458b6356b10a8fd0ee45114acf625b61c69d13884f7860b02acd67b5b5082bce20815e384dee608162fc9d19ac977842018e4b3f321d84bfb487c0f4f6a465b3f296c73ca3d8817c771c9969ae1144b1abcf6de251e504d1f662d6094d4e6fcd9ea3f85162883e1179e9fee4a3d7daf95bbadc64221fdc8c144fb4ca502f3eb11df85fe6bba561feed191963ff9f8441b583bd84ee540e47b318629ad59a251b759f060a40e717e50d9c0c0eb43122e6594575725382684c65ecf7f27e42c3e1f7d95c657371978772e111309bf4bae5241fadad0ad9cbd04ebcc8ee76b368439be21493aa41549dac8c356e65435f706d79 +Result = F + +SHAAlg = SHA384 +e = 2a26db +d = 0 +Msg = c17eda0010c4add3f0616155cbe6d43f90568851052d9e825fa002591027e39be03966263f569b1dd94bb0456cb264afd6b8bf987323008da593d8d3b407d505d9a421ff95b26cfb47e827fafee9f3668c0e59f5dc66bbd085fb8af59e57bad9d5477352bbdf0ab562be2f3b2a9468aad8e1be31e8ffb59325628288761f7960 +S = 669f6c902798a9c91672addb4fd138ca41ba9b5fbc8efab9bed5e7e25662a40af734240a301d304134e75494ba961740aa6b9fe54a340851791726a864a2d1645daafcbf38f49a5b319ab86101ae4fc5f21b0f15cd12e7979b6e3b2fb61dd049f9d864160110a68cbb9d399eddde358571cfad48f2057dcdf324768d8d3903d0a861a5824ff3a5b715fb7a098a41624ad13219a0af11eaced337e8e8aaf926eb4ad60534422ff986bfb498c63cba0cd6ccea9018a96e9a41e4693586aa70a0d6dc5c6312418d63e9f91aaf5df8d01dcaad7335cf88badf6d8da7fa9cd83e32be840f1b2cca1c8103d73d8a9949d72b4b8c56eb7fbfc523dc1accf80de1023d8c +Result = F + +SHAAlg = SHA384 +e = 2a26db +d = 0 +Msg = 92c641b80aa222fad6c757ad0a8936e0459bf8f4367f63ae5f41a68a19658452d91eb4f0b1c188811a78ceaaf03bf42fbefc6fc13c225c1816396842efe8ee3ba62360bdd8a1e859a6914fc7b8891d7b81bf0278c57b746959cc9aee2b7b6934823d0dc8862c8aad0278a3ac695afbeb174a7ac1da72f2c9b1620235d3053b65 +S = 5135f98250db1ebbd738c4d905db5a395c36c99f929d6cbe5bb4de9288575eded2b14220ea49ca7cd04584067b000964df2a4cf0b185b7a080c14ae05cc277b8751b2f1fc061de93b429fdef99c39704a158a5463041a109614c9bb1c9f66df48a67af779bfe85e179f289cca20d5618bda9686c0826ae14f8c86acf28645c5c28613446f202bc952ab1ae4aa06391edb0eb5355712b43d12ff96548292bfa072ff2411e7f9d57e3fc35a43c36743b4a384150f34059c815dbcb26f55da2be86ac5818e2a315a12f01b98e5e7b03a67cb4056a803be2280138d1611a2667c18d4b2a82aff86d9fd21568b2e6575b8e3c0470da8b2d7d6d0a2a172e6415a1b7d2 +Result = F + +n = b6515048e1f7a3506d6bf028ea0516592078a2ebd6db04af6040bb5dde8888787e1fd973b1d160da25ba9095450d866625aeb7cf684b522af4edbc20adfad09e9c4c42919b7691e1404afe8815f229001bf7f8e2b1c511d56207972e3efa588f04f7bea82b64c45bc28bbc5e3ca3b1be8652c54a3393e95a58c78c34c7c7ceeca983e91920467d184ecd5aad0114f83d0517e6ee82944cf134e9efdb68f14322517acc10285c892c94e6892c9659fb85af6d11322df94edeb77a379e97c7608e5d23c89b56a722b54d91f0811855c21e0c41ed362ae144e2f46eebb97a9057c673ddccc0f2ce178c3af086d1f93a092a2ae58bb0703ca66318913e69e36fd997 + +SHAAlg = SHA512 +e = 662f3b +d = 0 +Msg = e5b327e067ed7a242749d21d78e0b1d68d288595dec82a55cdaab1768a5260b4346ff95641b040a71fd9b7aa1b16ac0a838f7550073cfb5865fb750646e0763562cc2af0eb41dce52974bc1662a4e0d2fcab88e4e5d3a60a33ea9ea908994abeb9f141182f4759c58d426aca1232551742a345b9403335527fa0b3c69925e338 +S = 488df2a0a8775e6e65c6f457cb9e29dcc8ab6c37a12cf820308732052bfe068e3c6f3c4e73c17615aa6319b76d62df6cf48378b834dc412b9e5875f7fe16bb2670c4ee51cdc259df813d5faa541472581103421a9718e79b8c671b1c7b50f6d4315b96423ba6aca9d060a32372c4c237f02eef44f54f872bf91b5a390adf9c5a7a884416add7d15afd8fb8073243dd587ac8011a88d5566cac84d5dc4ca3f2d6938e0d03a9e8d016b4aea22183425c2bd4696d85501e264bba7dd980c3ac45d77a363955565f4675c5246802abc015236d69005d164c0f18a666d43442902be38fcc381ffb6b5a046af05686b0ad32b25c1e2d82707797016ee63fc9a952d2d5 +Result = F + +SHAAlg = SHA512 +e = a3e187 +d = 0 +Msg = 6b7450077038ca8478e7a380292151ad413c1949d78076efe497beb4013f036f7242375864a894d5732b3b906feb1ccd606315fbc79c5e8827a024fac432743cabbc5b35f2894c9f4134c1179261257034aaf24d16dd17ef42649c4ba80488601dcb03c7a343b88cebec7d3c18e9363fc6faf6684baa68cb3cca6ecf341d0784 +S = 1933ff9ae5c520efeb711fd17a571a209c2ba9e0469e39a5341a70ca46c6deb2359005fb21c9e914e8a5037345906204261476427ddbdf29212d84c6e4e1dbda61aeb21ceddad1c3789d99ea28ebf72c4fef790f838191b30587e00fa841d63bfebd00bf468b462ae935eaaef2f83ad596b29a0d538ad99b44d615217f0643f0d9bd755fa281e35bedca37b238a89b78f9d911a24c40ab3cf69dade4ce4a30bd3104f890a6cf410a1e76e625e28495f6f9b385d698e6f8a6eadf0df3af03b3e078f4b0c984bddf525f220635cb2993b72ccae40ad3378cdf775431c2ceaa1aaa57f355eefffc0f34b5d70d1a41aac9b052594f0132308b0e329e34c0d2fdc519 +Result = F + +SHAAlg = SHA512 +e = a3e187 +d = 0 +Msg = 8b618f6669b9f0450a57cdc57f5dd0bfcc0b4812e1e2c2eacc09d9422cef4fa7e9325c3f22c0450b673c316929a339dd6e2fbe10c97bff198ae9eafc324133702a9aa4e6b47eb4c621495afc45d223b3284d8360fe70680359d515aa9ea02e36b5610f61053c6200a047f186ba33b8ca602f3f0a6709272fa296025258556880 +S = ac87aad4ce85038b8552c4a6e93ed94368bb3376ce17ba1d08812e004b43a952e27fc50daee8929094e747dfbe02584a7654d950d21700605e699561c03e64d2016404da7b9c0b0011ff64f206225db1c8b5f974bbeca720a7c2ec73e6fbf58adcc6f5cc24df6d09ade74416f30df70c4449820f24378b90c176f65651ab1c1fc82d3fe834e7b66d0daea47b8d1931a81d1fedd4e6996c56edbe496fa237fbd41876a460780100e4e6f0864b6f9282abae4ecd98630548b5cb42e66cf9eb890e0651f159f356283af40c02913d2f3bbf6d8ebaf6b7d88e6699f482d7825428ccb7ef8129dbc665bd4df8e9a07c339a1134e907e439d0846480ae6c888c1e9be2 +Result = P + +SHAAlg = SHA512 +e = a3e187 +d = 0 +Msg = e2a14fdf10cbe13b0afa4294d073af00b19f02c2786987c9e3e80c79573e37aed1c01dfe20570f3f5225b7496c6c65fd5eaca387350c0fdf93fb6a965c17eccfb34eda8c25435b2b23f38830b698c2446ece487e9cf408e2c0d5b62745871cbe6c94b10f87586c0667aadace17bf6fdccb4a1a3013e81bd754bc19b579566f81 +S = e340359f9f1fc5e974d8ad8c189efdb2849ec93994b152e497e15289015d915014c73503bc69b83803dfa9d8216181fcdc64782c27fe9d464ce12359aa60b44618119df19a8f5defcaa171c44c0c0ebe1991131132aab4b19c02438b0fead22bb34e51bbd565665583bb6eba36e82068e2e3040a177dab3c1d3a6f81d0a3901a934c10e2abd73e8b9ef7a1be29a7fe18b304ce57d073f85b1b6873ab6b8ed94d5a0a0f3e5fc9b4857aed36de4ca72deac235861297fdc51fd9553eed189335935f23b4058f293c8cce8bd9bfc8fbb374ecf4eaa0f2a1f06ccea4ff3071beff69d70efbe07513ef0bfa02dc2c6b19b5ced674a16b6672b6e04a32ae14157fe10 +Result = F + +SHAAlg = SHA512 +e = a3e187 +d = 0 +Msg = fb200350b60d1e9b4a3b1b4d7341c55c635bfa791569a438de3bec72450baae8144b1f28afa2e6b5a5312862851a10fff3437e37fa5700b9a40efe96c8af34ea24d365bfab6b4e2e2004dac7e44a94340dcb6118b7fe6f3d9f8469efeeadeda3523e3fdd53723f50e53e984639d93b42d97c0ce4f467da0ef62495455c0fbb5a +S = 624183bf2abdb79689a45158a4876a352b19077de88aad06fadf3abcf4d2683b126fbf84c01ef614448c63e8a78d1e8749fd89a9b2550078c18989fea591c2a7c47e6a0bb4491dcb1868a43e75351ae2a7afe27782195f453bbf10643e6c3a23c01f2e713b6ded81e1db7ca4ecb3554fa9ae8005b80316cacdb4530a66dc2a073ec494bc3419df2f275db5a33871d0a8d9cd0d8bcf90aa24f096a79a4c8f5c0dfd8b1887535e59079c974f87d26bfeda7022399685748414df842ce04783b6f57bd2a2dbbe2e225f89c764b9775d7721157498446ce3d613332ea2cc589f7043afe3cae32b779ea8f1ab22fef99f67a0720306dcdf2d2cf7b35b0bf3630e03bb +Result = F + +SHAAlg = SHA512 +e = a3e187 +d = 0 +Msg = 64ac0940e3926d11b78494ee758ee6e7f9f034ddb622a99f4a15fe5355bcee188ccbeae909bf0dc4e51e520c0900052d41ce777e934af66bcecffcd365daa7af7eca69f547e401bc899aaaa07f0d9268e8d08de65bef0b1fdb3048acab98c2606331f02b440b313ec98103707ebd75e1157fdfddb719d00398bf48a6cefd2773 +S = 3853af577c8f5f96cdb01de108ef8737886118ded95a315a5f2c34ae22f8fed6aad5cc1debcffa3576cc0a5050f572cfd171413275254455f19312054f06e9bc50f9d2dcdd1fac7ff2fbf456c2c9a1217992acbce6f867b48291911de8dcbde4e0b85a92536157d939dab1a42fdeeac9b15e5ed3ca542d1cab43aae3723349e405f998705fd0edb19d9f4631e6c7cf7ad1962e99fbfe11629226a634eacc2ec2bf3ee2d87c2f6fe934a2293f5ff81b4dbeab62eb4d94bdb4ed481bcc4bf400c2050faade7375c811967596ab5415cc6f60fb6169faa95303ceed5ff261a93e0c2a2eb657501db9866fe858694f57ba25ec2f514d8f75980247597a006ab3df80 +Result = F + +n = 8cff9858fa12773ef90c10e8f142f69c0350772f999ff10ba2a5ec71cbee037f3a78a1c46028150a0004fd0198bb8175fa30fd9765a4e2c679124ded055cd37d4102b5e695d91b58bbb44e72c136c5e3da43b4e6d5604edc36774c353a729bb1647f4a33d74ccb70f7b003617bab798887b8f65cbe11aa8349dbfc0f5036042d6cd4c49b10634fdd9d9cbf61d9f85c94ae98cbf77172c61696434ebc2ac6ae8f678f0e4029eacc8fb1699916bdce026cd94780de58a707659ff650dae7599b6b1b6337323832b45a4ede37fba87051658e79248fcebde7c36009954919c87f836a2084d88f5237f72f4d208412e91ff6f3252574df7c00334a0fcf8fcc7ecc2b + +SHAAlg = SHA1 +e = b8f69 +d = 0 +Msg = 3ac87eafcf45920e233638ed4caa54765db4b801dd143ad978130943f5af41bc68f8bc83a9ba2c57045c668232080116880d20776f818c19142a068b619fdbb52baab85eadf1c0f135d5dc801d9b5209fdc99af81fd36dee33f71ec144662dc4eba41a48c33177621c6941eff4a970d623b3cd8dd55404df3d44faec884d6071 +S = 80ab1f8e28c9f939a7a15a6f81b41547e8497b5ba2dd08333243352e9d7aa347dcde6200a5e1cfc8136d3c59999ee571347c8a48d91e185d0b08ca31c8ea83d578f0fea6ad38c820d68b10221d493ea93e065fd846340ae09b94c6dcb78cffc79b958540689455734a9adebbbe50bed6e998e957079d11812bc2b4b497f9b9fc1496a639e021337d86c4df2bae4a065fe69e517655a571369a4454a1e29370689f8866375fad63075ef189f0ec3b686b5f3f02ae84c99ea67701d6906ad867d0dabef4f210e533d7daceda12ee0ad2a6826178503ae472f278b7f25d51c1fe8ef4b3d61da0928f4d7315abb27e570ec36fbdfbb4e3158e29b4605e1b082e56ef +Result = P + +SHAAlg = SHA1 +e = b8f69 +d = 0 +Msg = e88292f68268095c2d1059d6c671ee2cc3bc8734748f97a2896ceb22d56b8ea4512beaf7640e2f9a61a6f9cf526a2df0f4ae230602d20b98b6b989c18e7ca3854c60dd654006a231c9e2e61e1aee0a193aa0005a4e19af3b1b9f994bc74dbb9edf09b4689fb72aca6dac6aeca6664e4c9d7a6456e1cd4c34bf0762e708459e97 +S = 4b40e154df4538c2de6fc13cd93522acb23305b40890ae9e9ef33df58d0d1ada511346126fcd55fca4206bf3bf988c2967ade215538b818303596ffc33d4ae05ffb321ff303fa9a2b87b5467723dd1e036633398e15d9abe62d9f7528b1f31f3ad6ab70fd5af6029da4a961d006d7ff0f6b7e2f9181fdc47ed5fe0f74802e9d63249bd394bd6b570187dadb42a1ebb38bf1c78ba5b57c0a97ae29a6c9f8680b493a44c4909790143aaf12152d56df38864a36231f558c624077a00ef3619c58f7ebad4cdf706c4b2a47c6525c76b78f5473b57a0802432dcc67230fce82c87e41282b7e8f9855bf72f0770dd6be3f7fd260a435d51c1f2323257b507f97a7c38 +Result = F + +SHAAlg = SHA1 +e = d0d14f +d = 0 +Msg = 3853cd6d1384358712da7c1c583afee73fea00ee4aaf41be5c32d2f827a8280ce6b270454f822206c340d953c9ac6292ba041293be285dcff6fca5edfb0e508b88791d3a7309b8cae29f8cc9bbd7d8465ce905da8dcd37eab2a3222646511f55846e7e55675f1e5dd5bf3c861705898a8d607fcba0e6f497f7eef0aaeebabcf4 +S = 55dd7641ead751bc1b160724dd86e89497764119a998d5f800f97defe942aedc5cd2c8413918ac107a705dab99bdb182037f051b61932fd4d41f0a890f6db996cf99d210084536e3711653ab4ee5ce5b066a569306983c2f5b6c00c51fa49774f33c13565b95e832588ad2c004b81887c3df340096920908979e6f168c8818062cb04391f5649869e35efe762628f49d6751b7a3e0b184e9f935f591e4f2a1db158cb78f8e256c74c294ff424bc2efd3145cb234af88c623afa67b3eae68b91dc16a99ca36fca81653aa3ea47338c5a5a2a5b2340cff80672767f6e9549c6adebe6a84a4232560ad431a5f42a3ded809fda302ea7ce944ea3e7be7853704e1ea +Result = F + +SHAAlg = SHA1 +e = b8f69 +d = 0 +Msg = fefde998a5de015f63b0a75ce7f79f4dc681d18dc298aae64b7cbfa74610b3f70ed35b69b81221d19c5ca6551037acc7771132327b79e0b2968fa689d7b9a170e3983e2b3a3ba160bb9248a96b25ebe87205a7db66035cf0cc21545adc4625648536d805b1c04ab5ca3ad3807d2a2659be4678b00c9fe547f6190f41de1e087c +S = 17a01e1254dc902e8c6d607226175416c17ea28d28696b20706790dbac60f73732c804b6756df87ce6b1baceb22d582a6e24bf3d1754ccf1ca57e06150e6da60bcb8b116b3b8a31a715e0872b6047c6a4d7f6817ef5f12d13356b2b50fd71f5d9a38a0c35072ca38beed29ba541557b0525fd3d6639661037b5b61bee51aaf4e6c6bf5c577f9dee4811319d671911138050c54bc273db9eed5a7bde3281e65942cbddbf909e87587c58c8d40c081c81950f73a33d80bea61a56ee4a8930ac3b954d4a0706aaf3c753efd304946f90f33a20cfde65e388c266bad024cb1aea8879c78fd0d9bfddaceeb84f10ab66cfce1aa4f0651d7b1f0b4ee808a2e1f490ead +Result = F + +SHAAlg = SHA1 +e = b8f69 +d = 0 +Msg = c0b2621f30115b296d84c7d4e015981a24435e1877a660cc6cd6ec1de088eb1b2efab889a79233993cc211f67e2e7607c911c573bbdcb7e0eb21aa01d8b03ccf20001916f3d01134c60d6e1d4cf784a3a28089f5caf4a7655adf506e752cd2f5fb8a2bcffd141e847430865232b7eb75185753a68a365ae220d8856c9e43d415 +S = 368416eab883a2643e5288ad1d97887941e6a42a54a44336f12336cab4038e693f98ebe3df7378fd501ec9c7f267d6f8fafebc5340744a436d99647b19df668169849032b852df30da848e4605015aa0a9ce39c9ae25368c0575e7957273639d957b392e3556742bc5d0214c4cb82e3d342d3a73f72b7184b72b2ae2225ee830b1ddc528460046d83526c6d07b2bb89d4593b459f248eec995442e4aaad368dc0d3a10907ee779eb23c8a60df52fa461ea99e47e8cea7b761a02bdf81d43e4a7a44992d1317211607e099141de07ea034e95995ae52ebbccd38d0964e3fb4756dd6d57fb01dcc44b6d89852bcc605dabe36398e53029f4397dffef3ece22b939 +Result = F + +SHAAlg = SHA1 +e = b8f69 +d = 0 +Msg = 84ada4599f0bc0a41db787310f53a1588282b8669ba82e89e7f20fecec974422045d0ac86b5ea366960c4b97c6736e6adebe180771fdad962025da5c2358cb2725679fed559619b0ba9f98a4c6f949942f599b82fa7af38ed91aa219b645142990d5490f863a8948317754a2376d999f1d5c281e5da76838b9d74d69cee385f0 +S = 8286a2139ece519ecdf8aebc2db2427c207100212008dd27b1058bf46db2a477ff55bde9f0d02cbc3d93b6a97361bcbb3aad990ee9d255c58a96bd7108311d3d9276247f274d5a0dc9e6e411ff389de34cb693b273b5da7bcaafa101a5fb6ef42fdd6288ff6b6868291ca914f564c75fcad55d7c2ca3bb5da2abe02a3d589686f79c4bbf24876cdba03ffabaab32395245d72051c4aef965c0c18ee7ae1d19d8c179086f6c0495df64c44b618d5e9d07f20e051ac360fd6a84e87f7f7a777059d0ea3eb21a11de8cbc22724944c71cef002b612278ade389530486df058cc5459c20dfd4e9695c04bce91dac8a1ec79f43f80c0d691a1cfd1a7204af2a7a1a96 +Result = F + +n = e47c7708880c5420df4bc1d221288d455a52cb85bebc28ac8e737f246ad1923cf3e07835c02d187b7da9d91c0a29ad050724206a4912f2fc6f5d3b3840e701314a14ddc081e2df1b9eb683260370f11782de4e5ecdcea20e4a5edf85d88ef07616fb1088133349e7ac586da7788a857572c269db8eb51f56936950d638d309f4ef58e66d6cbc7184f45130105ed2bf32ae6cde0cee2934825b0314479f6ed168bce80c2187fbc367cc04eac80460da6d773a3062cef25148a6f9d3f273e016d1e5985d755cb228b43d69701c14073a28d846843ffcc194eeab6251eed8b3ed0fa05d4e722ddf9e70b12433ba25fcd0714de80492255e749a5a1a0901eacc145f + +SHAAlg = SHA224 +e = 912041 +d = 0 +Msg = 6bf49f7bbf5e4b3203fdd80d50807b078ca052fd3741808530e352abc9f5b6d1c4f23d0fec99904dfe34a2fe6819eeacfb6688b292dbcaac1c801de5e8646c8aeaada53811a163935057eca71c809e91713bc5773477d34b92327c2aea0da6da5199508adaf065a09eca0d9e0a7efb5362728181b8b05ad2268cf5f15b5bc63 +S = b5b0d557a330c6aeb2825aca52893df83cbb1441670e9808f2d48c473dd700390c54a7537df5aafb1bf0c8378e04b70559beda07c8ed88c2ddf5f52039d33d61cf05c7091e6e18c53d56c1790723645e500ded9e872da4fd983421628bc716fe0fba3baf7705a3619091b18077c3a3702e2c81216aa151cbcafde40d3dc62fcc8405ff43d5540b439ffbf55f35e2c4c5c08857b5196400a2bf88c2a7572aef5ddcb08b19ccea0a9dec14d6cb91c046094a7c0dbfd69df041509076c8c9352f2ef546c7ff93c0f521b56b4c47170514baf7ebc4537c7637e9b90e4196ec3defc13824fa07b419f4c8ed8bc80ce7a76470f75e1bd5187962b3d7128696fbb4587a +Result = F + +SHAAlg = SHA224 +e = 27378d +d = 0 +Msg = 9b64d317c6b4a68ae33bbe81830f61783e3efb7b02c91247aaf07cacd2b0d035ea8b1a0b8a87d317057910674183f9d3c6dc7de014cf44e43a07e56ba4095ada3502b15296c303d7cd0aaab21103af13dc0e82fb43c3ee5983334b74dc71f688a252feb4917020136175f62a9a966b82aa5d729534acf8efacff168d21f18c89 +S = d3fafb6f35e8cf50b72ba227f4d058c94fe370b9070c9391aaf6f1640324d037b23a94197cfa715df9ad8b33550012d0586c20811bfb6dbb447a771cf0e012f08afad1699bd60a214851c661262cc2f82aadfcdefecb8c90b3aaa5c43611fe94196f7a459c250676a58be551246fb59eccd361a14fdb0ce459384c27c9df7470efc081148691eddb582e025bffc9c0e3e9a87c20ca40a3a69ebfb4b7e160f04298bf7ea03eae1237f4a362d72cfc5e11081fbf96e5f4d06d79353ba1e1f7e620baa788763bf29c7adc1908e88dfa9917be4a3ef4741cefdca38f4f6b63fddb9ede24ff7350bc13641ae6da3bef6158bd665654ea5af40aad1cc4fc41dc2fec01 +Result = F + +SHAAlg = SHA224 +e = 912041 +d = 0 +Msg = d22082562066582114c6c3815712df6c188d72e45ef3da1d9bba44e285981f352145d1362082a8466f5a136b0aa812f611d9eb641df31f83d4d69cd6bbc334394c1a4ec84968dbfe4fa08c1aaea942c77819c7fbd841bb20a569d172375c3ba87a2862d6401fdb92dc219656ec1e592576d66d7137e3983d37fa4b7fa16e1bc8 +S = 379d0c9c5b2e14ce9e8b72ce8f19179b65320c8f2e262280307032a561a97a92c585872c9abec75ebd102b9882d50a7f7d55c82d8c3eacaec9fd952dc509ae2e7e82133c57b8e17e42cdec298fa6acac7cd70bc1d98ec555d05a848bf39aed1ae98ced8dd2a5fd945eefb0bdc4595d1773faa6e208abef1f847c0231b5eee110b06874c3ac1b8da4e2c80b4e7c553788cb86432e7158bcfdb14597de5405a58ae2555cbd32c0fe7edffdaafca6af1e05f56b9e4b7948096070d918e5af276ef752c7bbb471b3ce670ab5d7f827981b1d6f2221f98f9a1281cd1866dbb3a3ffbcc2a37b5345f9e0efd39ec9a98b7f9505a36cc3e40960f64f41c81dabae6e10e1 +Result = F + +SHAAlg = SHA224 +e = 912041 +d = 0 +Msg = 9a396961d2a04ac1ebf0c644b9bfef467c5aae9a085908c523779f6a2fa17c06094d0bde300d67352a64d8c123d89b60d848e108b38019fc370b72469f489c61c2c1cf363ab70f4ac502ae35eb181256e26bb9c5aef879898c1c0d0b91aacdcb8f3cbd5238c6c96886714f865aa6de8e63683eba41e8b0d2ea5376a34def96ac +S = 9a95977f668f0743ce203359070a168df6240a27ba14f8f831154744da822a0fab80d9494d0f2593c27eda509da2c72e4c29a602a6d5885e8a32bbfcb4b25235371c0935264fcc2fbf962e0bb9ab2ef2561d682a7bb160b415bc62a841e8102ba87e6391cdff82a9c457ce62d41b52509e444ae2447c3acae6aa3949de8bb526673f24eb8b729528b70853a947de0f0c00ca81d20667d80f2edac290c0406f313c9be022383cf1a7ef2bd3c976a8fb9f5b7bab83dc9cae9db743b08d09d43a0d2e77ba454c3047560dfd36375d94402457ee592e56045bc908357f27ce1f8f5985d39fcadbc6ff85648bcbd0ac5256a0d616d3e2955de13c17492788795de1ed +Result = F + +SHAAlg = SHA224 +e = 912041 +d = 0 +Msg = 7b31eec602345f493e740277a898b15978050e940eaf0de0912fb3bcd6171d618382c3f474effeff5d4fc822b15cc306c32d7e932c07f3636c775476d49d0727a3cbef5e6f4fed08c68ca6c4165087dfca610783b6592c2bb5b4515a9028268d2235f86ebafc334ac15425c59d1b04cdd4ca33cc754cc122b41133d2d45e837b +S = 13e6c2aa72551e1ba40cd6161d38dfa680eb9871b2774f7948571896b60b88c63132a5ea08462ee6f923c746d4d0913c18ce03c2539ffb49a3b72c32ba6466e2525fde8cd444468e82d81be42088f1fb400a6c62cf24cf03656acf25a6de237ebab794450cb9147e5b03f04f2d28a4103ea505ee123dba20ca9d394363cad45b1c9285cf69e2594abc216ff766565a3de7bc188a2bfc01d191d5bf3401ee8a9cfd81d5e300eaf9fc371f8f85e70b011606c257a8ffa0f0c19684c853598cac5ddc6691dd78a2301812bb563282f290c6236de23ce381e03c7c8b3b8bca0dfc52c4213f0968dcd266806c7ea3cfb9f18beb0994475aeab51f25e0639eaecf5610 +Result = P + +SHAAlg = SHA224 +e = 912041 +d = 0 +Msg = 7a7b8006a65edc1f142a788e427463b163b00fca044a0eb0eff219c44f3756271657db2a9c556e06884d8ecef405b8a1ccc4e32477674d2fbab179c7d9e3784dff8c69f4dfa33c799cd3bb0ee616ca976785ed185d6f0c6e88a8733e46231d2cfdc3324db96fcede1665043661d023f9fa9c378ffc89d3d4207e0e11df21cc2c +S = e130c1a1d84c124bb6159adecffeb7d47eab2643bf9e8bc330209f3bb09318369962256d7a246f2581c3823f2b833fac9f6f89669819a7ff91c607103848ade6bd26896d412c7c5ecbf2eec4b5bcd65142661d2e50a459a8369ac68a739db8fcf3078dad2da1f1e1d153e25460dbe3171eac9e66552e5a6649d2b837b54a91ef824127c65f7e4e6ea111332b7350e49b59af0a01ab1ca9ab35b8ade106c8e2f500e39f04fce7fdd53f1207817daecca9d2574982d2d396332169141fd08687792347c063fee1d46bacc2afd978296a5768cfdaa5dcf0cb6726c51e186a7a504c8cde390d7b72024935d5c6a844792395726341dccad1f5e537433b2723faf47f +Result = F + +n = a17a08272e656cf600f4650ef0952b15d568d9fb7f1b3f3559aa3792743f7d895e4e26dec2bf09996de8a99f7c434bc25b0c7d61e83fe5647c213b19902abfa053321a16048642cd3800de26172eb39ccab029130ceb82e5c25c676e89007cb00666a2d8f64e59fea64628cbec9c361abe25841551db01f58b80ab17f02a93cbaaffc2630ffb6f56f206b8a6f8e0f1e5790652e7c7227258dbcd5924e94876f983ed02e4e82272f5d44967bc501d1515d80dc25d5c838d0357d0d1704b0253d6e78802c02931000fea2e865c90b266c8a0b472e8eb17456777973342da6978cb45d2100cf91ca6f6d69ff30ee8f3164bfb180de0b355c067bd8f1a8544b9aac9 + +SHAAlg = SHA256 +e = 66a13d +d = 0 +Msg = 41c00eae64f3e330222e114541eeb5eae1a705ca0c0687a68e7982fa07f1b3de3ee7402ab89df2dd8aa69ec06ba8e4460d611cb7aee88e8dea35e11fd3e4d77c4336379a71590ab0c3e909e0e3b6571915c86c3cc8a0517d6ac1130d816f72f6f8b7d946b6af936f76ff3beed2a0742ba0e4dba082b73a3eb924ff0c3a1bec12 +S = 13165444a1f039da049b998e332cf7655149975713b5378ac5772f2e176ddbf338a25e297d873cca5f19eb4e4157c532d06249d1e99c2857f8d74bb74cc7593bc872daf5b45541a373aadc43a0711b3b2f27ccfed06d9578b2a3c7d10a12e398d0302f86e05f154e3cfd2a0e072aae157cae529bd5688fd0ccea22f58181d069eaa0957a5b0eaa2e3f5a4aeaf3d1512a43dd2f8434579eb57e23852d7323c5dd22359e9dfec59dd75ee3b8e234a41863fe0a68c46f777a9f48887a786cfaa40db1c7d9e04efb8a882d8169764b47a013b5d1d15f4cbf758adc83c53e9548e77de20f14b3b5f064465beaaa32ee41755aa48264a14df837ce5fb85a5ab91bf6eb +Result = P + +SHAAlg = SHA256 +e = 391c9d +d = 0 +Msg = 671ada018b6132b381978036f19cb9fa9cf7d07334642cbf718c59896113fe2d00d70f1c087743830a13c927be53379398abc3769bddb54772bf1c2abd3ec017a9a35939c315fe940e5fe0eb52f438e1b8307e5e94e1dc348206e203b4d77b5a8a05201e63424b30b4042f4a5786a62a25106bf3c67989d0c8ea13daefe4163c +S = 2942af5fb4e5230990bd20c2095fa29e9aefe6e6489111971f0dd397e8d461ab3f59c0f29b86d11ff187984c54c51b0bea35f479a4b83c33dcc8f149f56eb9859a71e45f3a33b83d30eca87bf19803eb5888ead3151d9b673546e2c0dbdb523c34331cbd3a83baae6b55dc465de20d40c5bca9647d74b8399d6e40404828772690afb93b314a55efb5149603c8421fd85ba5b61828c6f679b53f929398d87affb8929e4684631aa2e86d492d3d7c9a90c58e465080442f69623e4eb2080f7af2ed0442c0bb3f0eccf45d4f075e4474a2c058665f25164c457fd19e5852061af9b232cfd2eae7b60001364c013a1155a9af18cbc134d1ee8d30c157cde3a9ffbc +Result = F + +SHAAlg = SHA256 +e = 66a13d +d = 0 +Msg = be91864d3728f895c689f09b28484138e0afa29589bba7486a68f0bf4b2ea1e287cc11f46344c7ba9e27a2e049125798d97921847ba3b3d6a7f672b6f875e1e43b875c9ec6fa0ac40b470d3a6c18fb8e510792da78a9a7ec8dcb60a5fbfba39f014bce120851a9f9347299703961166170e25e5f2ad46bd2446e2355fbc9d05c +S = 631529e0b149ee1528d514861cac711eab8c01c1c22c7ff6ccbc08783a1ccb2748c22e57a1deefa867dcb1ae74c40b1969db2cee64c0706af8daf4c9e91c12672d8f0849af4bd0c4c5f8e439a3ba7e3ddf38a9b38db545410dec0aa40522d6a3cbc2ab53a838298f0b93ae7d362158f04858fc33ec03fa6d3b7ff0f27d74cc4abcedd25642f4d259d41511456004c24385ec32553ae5d5728a8f68707ddd6bfa51c2f4574e1c96ef4db0715675fa4fbc57b9091759eda387e16057e9d89797f61df9196044b98667866e12c5132928eb735fa2d02c0ee7e08ed68d80fe1f76bd85756a3967c6d3e1378a754fecee72362928cb622731bb01231758ebcb805f5e +Result = F + +SHAAlg = SHA256 +e = 66a13d +d = 0 +Msg = 4c2d1103c36e96d179291397b1238177d4af3b6fb9dc622d23ed80258b096be020346d970d7ea100fa7aa068d5f25d02d2d94e7fb081cdde3f0fbd861f2b7092cafcc86cd4539d9d72265fe33a41fd84293805e3eaa00c51557e502537009c0f516b6ca9a355524fea149831677627a6e2b3a7c4ef9fe82d7024812b5bf0b700 +S = 4d8b5ba1f5409f476221b3527be6389c1ca3eb50cd62113ad2f712cb2142ceff3178948670c9cb7dccd44896ddec9c0eba228370cb23919610774e9d70d6eade95865042edca6e90cdc007234400591e1cce71bfbf5a546548d483e68905113693a3d1719ce376e72b180b7f3c7ecd13469b8edd7ef95d9e330d78cb36e37b50e87d161b1abdec433421a3a65b49b39cacde0678de41df894d6a2b0f171cf91052bf0f0bb7cc89889bed7699e33540b4ec8f93ca2c690783dc5d80fa5b815aab0feb3ef4f10c0cb46496aaf6dfd2e5b3a7dd64386ab9a4da0319bd927facaea80ba5f4b1d71e16fcc7550fd8211756c35935507a32f204858e2b475d28eb56c8 +Result = F + +SHAAlg = SHA256 +e = 66a13d +d = 0 +Msg = e896edb0455f372c01d222d40af9298bc17fdbf450b4d0923dd7e12d4095987752cde6ef079614061d83fc805526791e81d21c7adfa52132a5c6a148ddec09c97320caad8dc352ff1ad23c3eae69c3028d867de20610469602187959dc5e6791731701b27eedd860204848d4bdccef800b2364f66cfc26067b53d326e4f39b18 +S = 6e21208ce42d4ec6512c300f6f9c0d43163eef7e05365448380ce3fec34913a701a5e30455556335101af1ba40ea69fc17b30c4192730336e8af2094d36873cc83617a3feebd2b09dccac1b31b9352c1db3c3dbb7ea1e774578e44c92ea925dafd9de71c46d3f25eb015199150e6e8c26ee612edc3fe2f0ca6acdca9274fcaa87d97e104112b1f85d1c3f3e92f0be7932613afe5a683c0e52f9234fd9ef979844e277e31d3c2b725bbebe97a9a8e619f8308c01a9b3ee48e5dfcca5b153e4890effb297ee0fecd30fd71b6dea0694530fbad6c65abc4621f23263ceaf2cfa21fcd19cb180812667e8b1ae108323ec289826412f124547ddd92024c0ea9784654 +Result = F + +SHAAlg = SHA256 +e = 66a13d +d = 0 +Msg = 3f49b00ac1f9255907cc03f9b45dc787c250d9d6833fb389e2f746e1ede599d390cbb45ea3b7bc1b28365f16cdc573dcb988d9d5843fa8d4877587ed57fa5b878c9423b1c7f21fbaf3e138fbcac39cf89b3ca9a84b2e0c109be82a17a89abf95b80cc4ad3390975df0365653b23e8b02f3d30ff6e0f62864a4b8f506e9ac0c25 +S = 90ac97a93a9f6c5c6e268e3464b6d547dc29bff8797d9f776e2f56fe1c30fefbb679ca9fafba40f400f08a5163d757e638aee083084581b760ab30071e075f90183db328e1ab519fedca1ed92a1e4e473b538e2470606b5379abd2e4b73f4c132e30c115bc34c73019880571c30fa6c6c1e320c13022317cd3acea8c520f87cf054e84be89a952202fc3f8d0d707cd8806b8b22bf2c0d7bf884688607a05b635210b9a7e2e1d2a28e324c1573d363d5a76ea0aaac70480671caa4969e5177448e62e76270197697fcaab720d811588c8ab540f053c8b23b7cefad205fd4c444bd5e73d80c62451158331face2b6f7ddb034dd5e61bec444f68d0c7e39d2df940 +Result = F + +n = ce30e07f34619a8a127f0e4401055bbea222f7c9eca47e0ace1d2adf756c0600f88aa165117a6f069746facb76a74ce4769d308669bc7d200763a2919ff119cfe6ec2a614f1bc8d4c4620921b1e60012fce58b39b19ee72ffd76544469d5e996215582fca819b7d6107224c6de0439918702e2de1fdf820b0900d38928877926fe8713f6a81be084cf0f43b7c8b16d065817855ff43a0c453ade8431b6cedf700733853cf534db64e1b7e9cd25f315fe2b66121829356d502d5c833a7240ba27b2eef11cc4943f3f483ae31e5bb9f4006418319520d2baf5821d740bb7ec2df1f573f3fc89ef27090453f9bec58dc0fe8544ad9a6b157fe5183136bc768b39cf + +SHAAlg = SHA384 +e = ee7f0f +d = 0 +Msg = 594007ec8417ba706089919c0659195a06e8fe38094ccf18b5a10028d1a43515aa7ebe7cb5dd5da2754950649fb68b717d5546b690b0b71a79f6216c1a930d99f804d723e3ea6dceda5d549d2982ecfcd460f43f38ef504bf0720a93f60798470a7d5dc75865725e556ca52deae8c265d4b012ba4b312214e1bec587ae285c85 +S = 25c7ab6e2f2365bf872dbf31ccf19239ca06542a9fc8fc47c69d25476db031d7869d3a340e1e0a8933fc36b36c49a4ef34af62e53bde304a4ea28fb14e20b3785a543a05bff10c4572753267179b45e32ca403c1e60a49e15086e160b006cbbedd908854e271e5a72c1695411da6078c6157d1d929d1b9be091c41f30f839de4500162ecb8507ae963c0fee43e6a431b7724fa0286d1f34f67f6e41cd6880aedd38c4261e43223eeadfa7d7c21c4ec3a47d04cd2fe5184180e4fb53091b7968df377fe09f02f9fb9ecf4ad929b373c131628fe07296dff3b8c278f50ea61dbb5c1023dc311e67b45e2986ed4121eeb6a345ba4c32eedfdd76e78a036414b1839 +Result = F + +SHAAlg = SHA384 +e = ee7f0f +d = 0 +Msg = fa742374566394a67041b2671ea19204ca568b0c1588f605c008335dcde1eda4e1309ef8ed3555c00da9b79db152439dfad6dbb267cd8063b0195ec2f27a089e0d5d04f94af58abc428d89aafb1deb93531b1acaa293c3d99b7ada727340dea946a45e61b6ccbc04d59531784528114e9dce503c0f0546cd48d3af57985af62e +S = 1c7c3dbf4d817f4c473b23477df5ce1de19da551dbfbf3bc2d1d5ccc0cc0e92b047bde1f953f7bd0617850f9fc9fb6df97cafb51f123006ebe6271e5ebdd9e5a78d3a537c723fe512dfdefcb424caa8918d3c1949e8f495e01ba3c74be7bcc072f9f9708b08d15380d5829553c586797bd8d6879fa705511e5f8471df0eaaa9fa257fa867bb2bfbdeca0d7e333e4551fe9d7fe0d933397b33ecd261ad3f0f2a387be15b86916b18a3c96a782aedca04b9d04c8fe40d6ad607e20d29190ea97114d42b21a5b852c5c60301525f59345e648e2f6729b5f28ac43db465e3538f279c0759ac5784cc0ff8e5c6d667465af27257718029c94ce06665562108a8ef93 +Result = P + +SHAAlg = SHA384 +e = ee7f0f +d = 0 +Msg = 27291335228e1da94acb8a3b47f7e1e581e7763a88ffeae4b248f55006c363a858fd5d02b6e4ead703d9b6b6e2061139d6f23a39a752de3e0723dc3975f54b76628abecc929fc617c60ab9e89805b27aa6cad9e8f260e59e89b4df0d63eb28a48bf7bdfb7f68ba51da851d38309ccd8f3a96dbb133ce07ec81248635984d0219 +S = 17fd9586eab20cfa751dfc278b426ddf05fc29d0c51d1de59f1adc1aacef5c31abd2c5491994f5884f7b6e939c238ba61a25c647eb881d34cd21e99fa44f778db68268b46dc6e7f06dc36f28d9d96706e8e3c02bb2d6a7bf11c8fba3b7477697ed5f43ebf109c3f6a70ac2af0510d91ed7312c131fabe48df9ef578965982649a3aedee8e103845d2ca72f5ea5f33f5f72a191e280f732cfc4d2cbd32981f385518da19755bae7c90d398c15e75492391c4bc06e61ac883ce397ff2a464bba432c3baaf65a053446d6d2b98f15243c00f2b248fcbc3ca46fc732f7c1297ed346a80b93758ab55bf32f8bfea9eb791c26b642ae085321831c0f1df200adf3afa +Result = F + +SHAAlg = SHA384 +e = ee7f0f +d = 0 +Msg = 7a55bdcc36e6ff6c685ac6e7c3250a6c881aa37c05dcf6fc5c95d38985ea9e0b962ead8d42d5f24ca02cda0d2e4874b4163cd613b090bd0047ee73aa201df62db83456634e075ffda1e678d3fb87cb796e40a6135e79216a4062023fa0e1dddf69cf80f761638eaaf3ee69e131c955e2198cdb2517816c62cc5947ef0e1d9d49 +S = 54807d1b14852038dc94c53e2bb8bea76f074fe33897ded6222b52f1ff0c9144ebcb38d83b70f6b2d59600ef9ad089d4e3ad1ed35cda4fb54213b3e4b7b29d5f18725a03e9a9318bb56d96d9538013b110e7d810980aec6a451b52330e7d7f8fe02bb29519ea98053cbcdaa8d3657c0de6a4d268dabb6536d050de9526a03b242ca9f30e7889088645fdb0e46ac09f8a7bd79914ed5873fcd66137f93e19a5e1c372869113adfffc2186c70f87eea2f91b83235ab3113439b5cf1b0fdca9d4db02af34ab48decab4b4b0db27c6fd36f8dad5fae9f395417b3049f8c995318a2e09768869f23a349072fb7c885efb32cd3aee0b35469fd8516ae252e45df0ea25 +Result = F + +SHAAlg = SHA384 +e = b9bc79 +d = 0 +Msg = 9570e4ae5307f347703324da8bad990a8659faf8d17acf13ec232d3227ee95e0adef19f6c0ebc07046c62c79853b7ac82bd06a2f9108c07140daea55b562e2f861d75667f4bd076ddb5b6faa0770a6e5f12286a4db370ef95887049e0eb1de44bb0ee32976e38ee938db33969ab4e40ae038967c376f80523b13c436bc44516c +S = c442aefba90877c319e5b8b2a87b50778bda701fa2bf5af4724d3eb7f894daea3fd719cbf0fa88ace828a1c7ff1701077efca06b8717fc2953f055d69bf8cac6f5b352da3ea459282903d42e886642c5ecf49dc5c8579f22d88c951a562a335b615df1bffed752abaad6a60612b186a4e971ec2eb8c33d3595a47e8fc871412b8b8f5f2fd262306499dd81f373e29144776c04393a2d433e9e3dd221678b2e62e7f7df1d40238c2c10c6f923c83b055e2a14ede1ec3ec1c48ec95faf0d61831e8539dfa62a3723e57d12bda7f75c2a7bf77d8a4a96ad2ba9a01d615b6ef05bdaa85d4e1e4804e316f4d32b8f1c3532366872497f139bea71a4f86ce00edab93e +Result = F + +SHAAlg = SHA384 +e = ee7f0f +d = 0 +Msg = 33bdcbfd07f82ceb4a4b208a3d3c24316f745360ec1f374ab092df90613031503d8e825e51d564d1eb68bfc253c72450b6b45de7639449c33a17e7af601bb01338ce2a2d8f13ba9f1728b92a1785cbb960076ca1834dcc274163dd43439daaa30cc6eaf32b7ad55cb5d1364af23ec27357b6a815b414697eafbcead2717ec809 +S = 2077c18cf72a6a6366fa6632a286e116ae694008cfc3f13b1cbc005fee635a317abea470fdc28fbbe9cefa2f9ed3796488d00a8ef419bae16ac54f5c7c5332f2221b4e753599e20d778d714dc065106d0f023276afbf012c5cfb97ec3a364d27392d2a530acde5b6631b6fe40fb825bf31c7e7dce52e1f9a22fff93f8a5f2a34dfb03fda309c580ba5cd174886ca1af32b24f4733093a4f360c696107943e88e0e9896f78011800e6cda15c94154db4167d4a508e331c08d0127446de659cf2d519f0451a50c38e14572afcaba1e8f0ac218ad250c32cb370b5390e7bb010b6ec10d81c05e86f99c63139bb7190f605fa9ca8c8decacbcfc4d3c6e61d1895c0a +Result = F + +n = f5596b5c452079319067a1bb3fd2f9c600abe8a8be658285a99b19dfee65f03c52d7e826943a934bb25e79542b7a9e179b6f95698bcc83e19cc6db49bdf718957206d83621ae4e384eccdf283b52fa3c4e7c0859859b574da49cecdb87249f20f16f0a9d63e6907256d5db57ed3cf12675b0ae63b458a1d4b64a2c508cd6f18a4ec57e5cdf2c62edebf1b739bd01d8a280d3bc88a8a81f9627e4aa83f0656b03ff04710ab4531f4f854a6a9fb326728b8752f61acdcc5e1d8f523e69b32b1aced6e9850a777048f294365ed98fb85fb4c0a0829279d0346c8efc1ec6afe7576116d15339cdcd1a8fbf4999264bfe22e9b6e5b6dace317c7689b866a72152829b + +SHAAlg = SHA512 +e = 534f11 +d = 0 +Msg = 142565e97e8f5f95ec31fa8325beec222b3eedd82062bef364146ae2fe53cca53d3e51829e6e00faf189b7fbb814b757d089627553aa4447bc14517b4c176df6adc5327ed649edb62e7be950f4b1f17eded710a900c29b66f0c171a62875822cabe38e45ecc82fb3eb2c1aeaa13aa27f9e4f7eddf151cb3a484255c958151231 +S = ec232493d315f0c4ad232653ec9de464c33f956af3718c5b9f1266e7402c61c5ee9c177f14f8dcadd1d074e8f4087516b77b2477e4fdaaf48fd138e89903ff04e11cd0fb07d832ba545025b921496443b52978e215239474a031c44bf96ecb4aef393fbe0fb52e819cae819af3ab41c48b80afc60aaf41eefcf36cd00c2aea08dd09e5aee0056ed1b7f15ba237daae1cf4fd944dd09596e5dc0f029bf83b52017018c046e0cb58e3f24593117a624064d5c9afaf9df69bf92c816b72e625bfa5e9cd96e963c62b0cf82eecdc1852c1c02147030fe540dc270e454b4106f8116cbed3231630c7c1345be5f8847f8627fa082675c680a98ff109649fc4399d40aa +Result = F + +SHAAlg = SHA512 +e = 534f11 +d = 0 +Msg = 53b72306191a180e86830fd37a1f13847739cf6ab30149ca6b8ccd0d791d261e29a315144982fb117f96d969e0757a07bdf5ef0dc0ef3cbb38425192b21a3cb9c9729c9f3fd759e24c6f9270353bd7ec21999953290ddedfae40392bef49fa99da2ca2f123a09a4a9416242ea4f691f94a2cb58213e398fd73906e205833c9 +S = 6f17ef5b663a05ad79a4fd77515845d7dcf6fe5eb928f4e6567d7d615277ad7963595baf26971c1ee8db870c9e830d5be09732b8911476b09c1493aa1ce8faa2b527349ebfc882eb93acca56f5c0f5682c784c4094ef86aca1bf36acc97b7a9a96aa349c5f8d2034b92b8a8725be2091f7adaf8c3a1ff14a1e900a35bc6f2eee130595411a3c94aff5d7a0f9f9f5a8df9bbd5b28676ebc587c1f1e26000cc8b789e8c6974cbd49d58c139fa5847a924f14074d340b7bd4f325773f09d82a0da54da2d7df251951c5950762c9a3a0d2db10693f4aeeb97780367698aca99a42fa47b5f185e4c607cb0dda51aa2d93611e2f5bca343baef36dd6b0bac18cfa6b73 +Result = F + +SHAAlg = SHA512 +e = 534f11 +d = 0 +Msg = b286242ed447af64ee029c7f33b5428d440503773f30748ff843be68868d45ea025387a58bc546668d31e9084377208d7bbdc76e9a630d2edf39d535ecf05cdc82cf1cc58ca7f16d5f097b0440b6c37c265721e0c26f5de7bd8d14c941c65d51ba62ad33ded6f8a1ebf319192f5c7481ce3dda75c03aade019a644c98df69070 +S = dfc19a45dd3b67cfa9a47615cb7f5365f28b85d5c11ca965846326849a2002e64b8f0e377be83641ca5e795f190aa609bc03f94bae4ea25e681959ac85e0ba28f6d298244c8c6f5c18edd868005c375221729dc434ebeb21e5063fcb281761d2b626276dd14b6e70ab53c3909e8df9f70f8a93a1485ab9794e7ce5c424a530329bde2834b8363e1f857dd9ff8908f4108c305ef2c303018392324fc600617d5ca4d041eea9a77f116ae29766ceb75a1c5f4931674044c5e48c7b214a2bb6f1da81ccd43ca056776da7b1c0702a9f39ba1cbd861251ea25620eee495e6a8cb00bb0a0963b609086ffe552bc8badaa9aa6a06a9710fd96f6047b8b1660a7680b34 +Result = F + +SHAAlg = SHA512 +e = 534f11 +d = 0 +Msg = a5374f49877cfd0734fe20ebe12c360d950416748ae3788ad69cb7cc4ac8d6c69b5ec23fbf84d6b19aa4a4fcdac1f35a200c049660b21a798af938866a8b2de7cd11cea6e5048320eec005b712db65c88ab451dd074f93235060da1e2ca5bd9b8279fde6bfa70a3e787cc9865120953d1d2684b04661eb6e6ff924fd59bf8ecb +S = 2e985464b882f7c6672154a107154add844b4be163ceb8053be6b6fd632cfbc86d934e5aea7d11878b4df6e24fb0dce099c5b52bfec0897dc57fb03465adc2067a779d011e64ceadfb1e0a7051c5d248094ec8cc239d80c6e70591d617e54f503158f2b22b93eeebe017897fcc8f44703c815f07a476bda567dafe122bc07363818c83eddb6f777bb9e84f11549f3cbc283b78b3f2277c7a54072c13032a416c6470395472303c84adc17dc6128cd82c6ccd907ccb93adb0990289bc5b2eaf948c2f421ad0caf2655cd5839c86aa854370550ce033bc05b7638b8edf67bb5ea997bd904df293b89a0d16535134b66a6fd5551aec3dc09f29fdecbfc6f474de6b +Result = P + +SHAAlg = SHA512 +e = 534f11 +d = 0 +Msg = dbed25e65429b89264ff6928e6ea9424b862a2df1daf870660fe8f4bbbb55b5a7604260f53bc4ee62a650fb3d18b91933e582522f068cbee8bd8f92cc2a097aa79234e052b05021c8a3d9dc4666b0fbed06b93e67f2a33ac73b88ec8d79fd92a2c742430a4abde1cccaf9cc56e33168db6c27292939ec62960c7d888c45a28c2 +S = d5c50cfbf215c17489ba4d29b5e2f84a4ea244ef0dcec72c3a077e12d74d586574aa9683cdd0546c3581a723ca048415c6252894e40d3bd803138f78c7c493fc679aa1104e2844bf51618c3571789175828cf7d59addabeb8fa2745d08a247d5937600f8bc0dfe2e1ea7abd257b3e1c207a3be3e2fef8344979c4e0dbbbbfcaa908e1c9c6da303e510f0bb455f4b91dc7fee576e358fd5b2aa8f1e6440bc229c004c31e6e61123aef01a0d382852689ac04424007f55b6fa6aa298b9a93b3eceb6e585f69a5714231e60e1db27b2cf94f7ca5f6fc4118c0604ee716f41736c7efa6c43a3af42b27b585cb9c6356be864e0514e2bae881f4ad5ddb9aad592d7ab +Result = F + +SHAAlg = SHA512 +e = 8f3795 +d = 0 +Msg = 562eea18d9654547cb566556964ead28616c18e0920dd7f691883c8bcf1cd6f90826deafc597d13c24a65fa9dbc2840c7bcbf55af281bd7d543d28a6dbdfe0e52c0756f7db88635f321930b82e4e5349cbc73ada81a8cdc60f484f52772e853d4a391b98251e43d87c189f2a96da6106d9c9b10748684ffa4a137935adf10f2a +S = 4df68855dfccab1e7a94430bebb9c631770e7bd75538a9017e2df5b35117db59f8c9f620c1fe41bbc5bc65155355a83c1c1da767bf7e6c40ed61464a53009d7d8d1ee31e7e82c4b97c520d74a60e0de0597b977d07ee95fbbd4e5486d7ad61ebe302de0cd634be178a04c8b9498c89b7ee1c674a074e70ae0f93e7e5dda89c165808a8ab55337a048ddb7eff91a8b5309ed9941ecdf3ddc3b1e235f7cf139b681b97cfbc584d9c0359b26a8011dccd7d5ff0475d52959d35e30ad66735bfdd06e63749dd775e65d9407375ee9f5f9e73bf77b75fe0a5923fa7fcafac08e10f0563dfedc2aa2abfaff6f73ba293497eb0159cefd63c974553a24cf0602353fd4b +Result = F + +n = ca1d2f73de2f586157f15beb1ab7c3cf7b8d99ed818cb89eedd10ce20fa3cdf12c41bf04ed06769b7f78fe493a2d17acd5fee9c147d4944c9df3a6a99e5b4cd0d4e6392733806998a05f546a046a6767d79f23e627dbada0404f2b7dff2e17a5bc537bd8efbe0b87e50f5a4645e4a0dea8a2799d48dc110daaeef895db6d6244627d45cb382bfe394d94cd122f8ad73d3c0ec0946669938c1204f940dafc4cbaa95a91d55ae84264390590dbce3b9bf7a6a085444906c774877ae3a67b1a6d19ce37936adb50cc510018dcbe3ecc964583ada6dbd22b0eb4a89571d98238894b1033764b0c4726fe8511f4207568aa4489cf7a57e84b9c5ff26bdab9b660f91d + +SHAAlg = SHA1 +e = 1e5e25 +d = 0 +Msg = 14bd8a7ccd4c3924208a8a6021bb7df5f238021062ab5e1e18131223c583aa4278c03581bc07516e0af2f92adc0cc8d92dc6448137c553e16064312ff595dc719a6e22f3883e4a69c3a4d0019671fbf75c200891239f5dacc426ef7256f8323a0427d146a4498a83f5107d58c3639ded17e5bcd4a881e1dceddbab7f7c13320 +S = 400994dcf90a8391d448059aa51ef3ef10ac64df165d5b6b22fb745bbfec307bfed443dd912414bde19bddff653f6460d6c2e1be6db883132981bc05d66827540a0f5fdb883645511173dc3b3c900daf1c0c2da808ef4a86061777f0c6f3ef738813f3cbce89cc8daddf6d178d1a45c83da92b3cc0cb68be6de5f5d56e5aad6db077f23979648253a8b1758e6478605646981882445f46738c955c900d74c60771528b91a83c69ced1ec3159be138b7d3872aef5ffd2f58c02b50bebb5dc3164bfdab96e6f325f9d4293a6b41d3f9f53535681454051778b98655849174748b1ef1a3841532b5aacc6a4b68a0cf994993643549ca0df2eba94718b11b73d6c9c +Result = F + +SHAAlg = SHA1 +e = 1e5e25 +d = 0 +Msg = 26dfc6c8d3f37c12edf9b1e176ba99ea602fd989a3453eaa8eddafe95a1760f805d049415e69d7cd5ccae165b3a7ddf7a902543b26f293950ba2a43ec59c7c9f224876fd63af005b9285949c1667ebe984616d52b8b3ebb825d590ea69b8150e244f35430b4e61843832b4cfc481298798530c188011aed9827d5d366df2930e +S = 8b9416808240350eab81f1468367cdb6c2b770b7dd9d88fcca8786db9407179b9401c5f074bf9d7a85c5fe26859e8e3bfd26502175bd1a759d1a6bd79149c043b25d9fa70d80f163696ca4153a3df857c63e709f0c00bfcd47e66467110dc6aa8da6411586101eaf99068585962ff994e8e51b30319561648994f2533bbd8b8adc2dff2126cd753ed8b8abc5913c0cf984e78128e2c18fc1f9d8017c60d2c4dd642633dfd412cc00a0c32569b25e328f242d691d75cd2ae22f8359426548b04e36f15bfb9fd561b1e3f3196296823a3828bb791f19bcb75e172f7c06e30cb2e9576bc83a7b59c67b821fc8c1d4d9775ef0f2b33a44c19d3aad04abfa17b8ac71 +Result = P + +SHAAlg = SHA1 +e = 1e5e25 +d = 0 +Msg = 59e84c0d700305007789dd765f33fc014241ef0fa4b406befcbdfaf27175d3a4e1ce097d27caeaa39eeb3bd3e1ea22b0d5ac445aea712a439d4fe93e42df02d9003687ed1d167f737b668c9963e0cb16820afcba3167e349faeeed8957bb179abc050c86d8508d1919e316f36e7dbfdb5044605603fef878198350fb3972db8e +S = 39daab754cc68ccadaf33a057d76aacccc30ad5341dfad503b33f29243e57636a68453323d81cede8ba0959bb980905f4a464ac21880842cf26eb8e8801c105ebda3a866d0d3e8597d234a21c46adb5dff49174df3c36f7c3deb693362418520af227195d609a548836378f4885af1ef95d2d9373c53ed811884cc534b7d88449281b2155938553205d5b51e39439904757a50d6c877d686b32906dd50049a620c3c3489c9007633a04882ef0186af29c71518ae8ed96f307d68eb33ce40793de205caea711cf9bea7fee8b751cd764f4e4e616c50be2456a868803969d692ff8b8b15a4f0d4ead24f610e231d5012a31247b46a582f1d3fea404a5d29691f7e +Result = F + +SHAAlg = SHA1 +e = 1e5e25 +d = 0 +Msg = 73e48a5d845d55944fe63aa61db36d80724b2809ecdeaa106dd880827db603e1e91822f1b01861b520db22993d6523f162b249a22b029c1f9174929857d6906ea6bcaee9f4cfbb2d2a68816a055e4954bc1ca2d3e4f65ffb91bddf3ebf9091e0f0f6b6ac162a69e6b2b6dd803e43e790c9b0bc02e161fb8ab5daeedd7b8c0d21 +S = 5f566d4ad20bec081e05f610df9b972a69afbb71e2a345f3b4fe8b5e2243cdc6a68044e46996ee9bbdd90e6bc7354238566fd7535e6ef04b7d0ea8eb3cb287b23e2492f1f16c799150bfef616467f1ae535667fe76ad5f6ec16aa0f0491c3ee7afebc6da5d6e4ebcc0194e90fd0bc944b0279c9973e269a7452b87a1a317c3d8131804ba4ab2b7a48a8241fa20506d9dd4d1ad74051d28c32c0e1c7bc4099e25c6056a359132c3f0d8d1f2725fffaec815eb91d9bb902aa8d024b797da8035c024539514ff3346067bd583aae8fe5f2a54be488f053407827445a27faaf635e97a7888246d817e7b291d9ae5939e0ebd0cd4a6cefcdf4bc5a637e294a368ab29 +Result = F + +SHAAlg = SHA1 +e = 60e097 +d = 0 +Msg = da4c0bf959ae81004fed9e58752e03f486906288f30fd891d7a77e952dbc3bac41b9dc3f64f86610e4e2aa7a3b571bfb8750ddef3ac21e9e13c6a9794df8b8a1161c0aa94208369d41be3f434ed868a0ea294abe89a123ad8b7171c86d70c03941bdc0c05ba69ab04ec9843a177994ed9764d17e477290c527f0fe09f7edf97d +S = 8b31638425af6493fdf969789f33b2f44bb0d84923347cf03cdc72ad9f139fad79096d100e567caa8099ae15c2ff5c74a3ddb8b40f5fa5a23da10b6b39d985d2d2219d129a39587983660fc9d51f43b1cefc1ae1a102c6d9634b4748d3a2688197fd445a635bfe40dba7da006e7016b9f1a77c2be92f1f50181c025b22224785d4c9c7062429506ba2a1b18bd719ef72892029df3098e707bf1858f81dee73827f9e1d1f9fb1055d969ed45a513f39870250c2b8a507605468d75f0d3ddf1dd1ac3a8bd245101dcf1eae32822dd208b0dea4ef5722d22518de07712192178f57c523175fe4ba17fdaf7e604efc6ad5e2215e1f327abe9ec2004bf7b70505e492 +Result = F + +SHAAlg = SHA1 +e = 1e5e25 +d = 0 +Msg = f0d6d7e7eedfec55dbb2e7506ebad1c99ba7ed0a5b1f9b01afb07cdce20ad7d70f6b3b52e45a6627a598663a7454fe52cf9e4b275a1ea7bcdf06ceee9345404d9bfee62cce38f7f4bdd71dbef0cbd4207387134692b42f45e027fcad7e11355d99761e9c35e16765295554016b861bdc8e498e91894af947bafd4e402bd77faf +S = c6141f88f387f4250ea16d2bc2b438fdfdaf3f3eff539a4f0573d249502d08c4a57333c511dac0b1d0e85cc3ff3bcd9ede0bddab2e4141157e41003dec0dd494cce39e4e9e4d77e89ab266e74579382fe4c829a090ffe40ae17b53da2653876112acb2b1575613570f4ccb219ae51ddd950078c0554cdb7394906c54ca960fc56bedacf7d62e25b72d5e727d18b9cd378f8131b9de088216929f42420404d75b4e960a257927f82ff353217042b61a45ecb45457a581dd82c57a76f7160273de2be85b594db977a29e92813f74feb1678e35a339c42dc66eaec11c8531869ee64c8f6fdd4bc2d918ac29e8995a35f06edc7fb1ec494a86b04dccadd448620ad2 +Result = F + +n = 90b75427986dcf7999f02089a49c5d69030f5cd3c447d1614f98ea4d9ee422fa7fda291f3e1c2d9aa959985464447551e7a5a525d69a5c8cdcf103bcdeb75fe80461c51d3d69cc3d4e8939f0f931d1e0082fee18bd4c52548b5f82cc295baf6ba4cc0d68ee513789c2c70113bb3a790ab9c84f2d75d4e1075193140a514c9c4de7a64b2f7c23784ed7a52250598eeaf7bbdd127b6353c0e1ff541c60928a4091fb5e4dbaa2d641092bc004fec2608e03722c7a389407d69849b828692480baf244b3b9c1a0d52bacea775efcf108c52cea1b181cd10ba8c0b81cba308a338bd3f978e99ca6e4b26fd1a30040a764617076f48b6c99fc73923ec452a33716bc17 + +SHAAlg = SHA224 +e = c7273d +d = 0 +Msg = aae5a0a1b71a2fa4d96f3d93fd71310cd74f8b591c3fc0f2f21e4442a556e8ae9b0566d48a5c3a10e845b445a3484cda13af35022de83541f92cb32c465e12709c363d15729e8304a15ca6c719f22e91d2c2037e06763b1b9e9f3129ea9cd79e94be4dedd7aab287ecfe3aa2c5378039fed21e5411b17c89c9c1e5c3f9dae042 +S = 6e6b52973dcbbe825e5bae4a896cc6db25aff02a5828bd8d1633ec3b84f1b8329fff96df9bd6894c2982e1a90cfbf2be26e96938a92f7b60fc8a5ddc9a52c1755af040fe334e9f22a90e467465b7945cf4ed61a684790158bda8becab03c2af96b452ca060b821f73bdfbb100ee951cdc1fd499debe2c2cfa4aaf4676d048cedc5a8704170496080df7361d2276f62b8cdf3d90e54780ee77c7f1e3e5376612a7f3497f4a052670b3068acebadf916e0d7c43cddb09956c33e56155346c49fb5d8ace7b4a822ff5b95f8088d7a07a5a3e15d7c0c6c30629e5b37d4dc815869ca9e3e7ee0b6239f71a2d8afec00332545e512a4a09aa8e8b4ef591f2587a0a6d5 +Result = F + +SHAAlg = SHA224 +e = 13e4a7 +d = 0 +Msg = 6f36fa13881fe89177509507e2ec6cc32bdc7f1f9467ccb3a702bfc9d569f9115dee50976f1117f191529fbd4343fd4bdee10e96c224b979b0d5741f75a00abcc96a9b7a76e5e4b7bd61c06df5e5eff1757e17e1b4d70857af0a44638bb6bfb97c52e3a6e5c0d749c12501ff41f9ca1fb65aa1e8b2a642b76a48387d5fd2a071 +S = 4c5eb6863cf17677ce951c275a4cec91fa359c3585373aeaec5984d5266449e0b165d12959e572c1773c0969dce7053037e928b1d0d3288fb4d0fd4279bffce54fb87edf98e3a0243f71db6eec770cfa34356236b8e0f75b225ea0b26409ac83a4fed6a2f4e736e5d4d4f490c642f58577f4ef71555052c3298280c8823a7b5f8bf7764ccbe26c2e24d7d98a3faa864078232e139f6b646c85b930864899a02dd60ff31b296e88ad3e815966207d4d16d9f2604ed340640ae6cf3dc3106010df84bbcf039011368c8e151ef43056b5a6c1b0d89eb4352023664a561484f3708c8398d82ae829712b038583439c12e2571ac48af9395a65cfb52be25519edf175 +Result = F + +SHAAlg = SHA224 +e = 13e4a7 +d = 0 +Msg = f0800962685215fbaba700bb28396c4c331fe796649e6e323d432f220e2e93c016b17cf5eb1accab1ccc26851495f8cd413bb9ae76586fa38e68752f53217bcf9e03ce2dbf2fda961e7cedae23c83d62548c2d1fbdb3cc4195ad9ecf1ebfa065cd9d8671ab3a47a2fbdfdb9e1d7b43f4b23acb5101588cf69a38346938b00a6b +S = 8b2d839c5d3d2061d57e4ee04c6f2477c23d22de5e9ba8742c6fe32b62713139432cc3bc6409420645aed4ca334c98b71f1717882b3d697dfa88fdf2074a77f5948972cd7bc8c6139158f68e8abcc61da4c914a06570835227eaeec482c0ffc0a45f5eb48be9d05add204593951502fc9c856f1c8727751548275f0cd8f2c7910dcdee0c35efa213f2c77b266efc5b2428a06217cbdefab82dc3c1ccddede4612decb8b687d85af0651d1a0c14c9886c88b81c66c64148cb64c846a5cf968d13bb2082a6ea6ba77b07827cbaeec620ffa01ba74ef71c645469005677bf09dd36cd2966706b197735ddd4d2554bcf29496dcfabf8c5d590edfa97d8a0397131b7 +Result = F + +SHAAlg = SHA224 +e = 13e4a7 +d = 0 +Msg = 464f766eb01b2f261c58380aad2a7582ff4efa5f68526fb57e06b9edd92ed7161a79097c2bb7387cc946929640cd75c4762d8e0a2bb5424f7f964c6bb596a8813608b08fd9fb864361b2b11148540b82bbe5dacfe5753dae7097ca6c4915753ca4e2b3cf4150e024ed83dea24b260064d45c26d41dfa297b58f379171e1404ee +S = 2cae7c2572bb5fe7767a1eaf3d49f5d0326619cb9517cd8eb330169951161aa9aea1f933eabf219307daf390c9c8193618210425addfdacbe4c1e97da5c5e296686d17e4b8324caceae2692df4f5ffe54bd6e44a9ee77fce951cf3e1e424dcbb427d3d28ef54816e4a669b9ab609375f83d4a66082373e82cfb0d53f416279a413acb7795bef538d0dc536d1012158777ea8466876ab942fee52659c952f95bd5554de7d09d1e17f7df5b86e39b5ff67d70bb69138689f9c2690220a0098d6ed93fbcaab9aaa0450b76bade63146869fed85b000f805837a6f6e4144a70e62cfcb1d114bba604514ed52556db4dc7c47c4c8c4328658eb25bb9c948087151654 +Result = F + +SHAAlg = SHA224 +e = 13e4a7 +d = 0 +Msg = cdca31bfd65351f045d65833ebd5c994700b661adcd9050a5d6e251fd00100a52c4bb6083d5dd3d65031590b95f3f965ba04859bcc5407691fcb122cdc3306fcd4d31ccd32720cbb61bad28d855670657c48c7b88c31f4fa1f93c01b57da90be63ead67d6a325525e6ed45083e6fb70a53529d1fa0f55653b942af59d78a266 +S = 870602bf6b02f8055e4ec4298530ebc0468cbc41dbf1a56764163de64d5f7d21e02254774f86d2740969aba91e7bc42e02f0ace2f2ec9b271f061d0e5c064e29537e0fb3e2d6297bbd59d14a0f7775f11223d1c271794700700cf2a43424d5beb099821323563ece3b7a04111ead4b4cf21022ad0bb63ebbe2909d7a3d6ed235d54a8c7a000c91a2345be07ed1b2f6d002fe47dbbb766a6e7535f5a4d715c4b90eb7368c5ee1ce621145fb4fc33e6286642a41ece6d4a9317d1b3acc36a03b2e96b6a68deed3b7899f3e459000d843bbccbf6191c759769d1fdb956b5f2b60dbb2a5b94339692c9d432f91e8c8bf5576c0f2a8c6f1024e045c4be6df56fd4947 +Result = F + +SHAAlg = SHA224 +e = 13e4a7 +d = 0 +Msg = f295d3911f8ea914d015885c8c64540a83badf0021a416c3e37b78236a2ecd1fce4114033416bdd3a36c18ec13250ee9c74c0fc4dd564b3d24a825802d5ae402a53bacace115ae3bbb329be79d1e5e42dbaf0a6446431145fe49b86a8703c7c41f8985d54f12e314c16ff89351d8addf66ebba2783f2d1a11965182aa0b0dd2d +S = 51f2fad2a3ad0cab5d4e53c481d9e37a31354b2e76d46c6cd0328fc85cfaca3cb1d54f0b7242962ba47cb6420cfaf197e4af8f587dc48f8ca795f25adcd9a689df3d088e6cdbc4d5afee80e70b9cdfc1ff01679e47d0d5661c2e6e20aa721c1d444a4a2bbdbf78ddf4d31eec1bc22b11371c3fd61f731d0f92a83bdd2476ea6ef91f5258fecfc1892a2717c905aafc2542f3da0385ec9df1cf132a4cd2a9546fceb07ea2df691d13ee6e063b00dfd17d9664dacc46cb13ec92e408d36e031e2fcc33402cb7d2a7b64e907fe049110ea418ac4fbf0f133c01ea6df74b84b4a7215cbf05c579417bde9d9abc818d68146b8beaf9b0d9e7c4f8ce3d2c8003dec786 +Result = P + +n = c9548608087bed6be0a4623b9d849aa0b4b4b6114ad0a7d82578076ceefe26ce48d1448e16d69963510e1e5fc658f3cf8f32a489b62d93fec1cdea6e1dde3feba04bb6a034518d83fd6138ea999982ab95d6a03517688ab6f8411c4a96b3e79d4141b8f68338a9baa99f4e2c7845b573981061c5fd29d5fc21833ff1b030b2deb651e51a291168e2b45ab4202dcd97b891925c75338e0e648d9d9ad325c10884e1fcdccc1c547b4a9c36aef939e8802b62405d6e3d358ffa88f206b976b87f8b12b827b0ee7823f9d1955f47f8678f7843b4cd03777e46717060e82bf149b36d4cf3d0bc7e4d0effde51a72f4ced8e8e5b11bdb135825ff08873e2f776929abb + +SHAAlg = SHA256 +e = 3c7bf9 +d = 0 +Msg = fc8e19e3b26bbf7c8c33a452b7ee02cbcf56fa94a58b7cee3e0866481fd6f013c7ff47d27e4678704d1590d74eb701be26c748c2cfe9cdb99bb80b4375fff0a16a2b87cb6900d4bc478c00110659b6d257e7cc905d5926b0b46fd706b2b48aa6edf921f6fd019b08837e3b276a3ce6b06c9dce24d8454d7a931613ba5d5f84c7 +S = 58bcfa4b10ac6a73918a07b9f0a8db1ebab9a0ee5c7f0a2261b98efb3592eeb6bf45fceae24ff20c2683e1b33291f49a7f86d7fe239c58a45910a14748e10c25a4dfa693e5a77138de2fe5f61de0a09078cd0d3c61b1e740bca7a3d4048d4fa12fe69412438efa18216819be40733500acd8087f429da734fce6a97fcdc9c32991dc847e4d653260890304f378a10b7754cb4ac5efd7a3db23bd44b6542b81ae9fc33edca6eb1570b1a39a0b8976626c3892afc42e6fbfa8bfbc191c3d026a6248e7ee391f977ea5f0442306ce87702ced7b3f00bf0a6040604d0a663859737ec6c04dc84763d1cb63c4da8381a08cc52b370ba09515b93d9a6d3e47c5929aa +Result = F + +SHAAlg = SHA256 +e = 3c7bf9 +d = 0 +Msg = 4c587ab2ddd6b13bf7a916b5d571d7613f24258201b1421b9de4dcfb3d8a99f7ebd5f37704024634ea38273ffab4f846be23b913634f21556dfeeea3a91779be63078d16da637990f1cf6487271ee111c9bbc483674733378483008c9171362f1db6f199464373d97334759445f8bb4acab3ebdaf4e09f494a3bb9bfdedef7d2 +S = 52bc5efecb052b92821c405e6f22cf374dd1ce4bf691eb8abcc1cd01254a6e51fe9237cfb9cadfe32a8780135949399b048d26f5de49bb9d008d39b749527eadd13066baff87765eb255021517a2ea69e45bd35db1fba9219c94f944b2c9a33a37779505c8eae52d6061988d152f9f51f0002e545973402294dda7f7c7cc3135c37ced8cf723d4011d1ac16bc1d0bd670eb7f63f079f30dad8cf55c326a33bc1684ff17a91509f4ead4f93c3c0eb6679eab612e05fc71b936c99ca8579cdeb9f26200a4bce89e330fd5d84b1ec98cc1d758243001fb18bc325b630a58154c2d38a5a8ac2ae6cfa54a20f7580a745c206990c142e8a580eb36266a3a9602a8bf +Result = F + +SHAAlg = SHA256 +e = b53999 +d = 0 +Msg = 425994d102a63f542766b12d5207ace27de9207630c2fdeaf741450413f1654f7061c563d7829e6665500cd33cb4647a78a9c7c9659ff749ef1c6a6b59a99d8532ecab1885121e54517005de386947d07b923602261467888852c27be6ccd5fd71436d77741f6825d20dc5d5b0ecfdeb6fea96a9ddeaf5adac2a74bb2322b4bd +S = c1f91aa430083ad84ca80ffae2d1ac2bee9b22bd0947175ffd03bd294f6a3cbb5ac63afdacf02f7a6a274fbc33f8aa25cb08174c9c4aad0cb9cbaf02e6f72a8deb6ac52ba88da773b4fd07b33144b9a28a23a1db150cb095cf03b208e80dda3263806b6b0e8eeeedd624d4eb8028e6b98ef2a3e55f38f1b0041425cf7557c41d35d4b0383448c800076eea2c22ca2f333496bdf53564f39d76822f55cb767cc1c2d516a22b4c6fc1525608ba61eb42c04c788c7050a48b7f3a431b2553dbb52cc065a9869c49cc021d7e448dc7012842d3351f98820bccd4fb7640b85fb431fbccbfd4e2544b6f3c7c270326c8cbbd216333ac82260c5edb47a301acd05c7c7f +Result = F + +SHAAlg = SHA256 +e = 3c7bf9 +d = 0 +Msg = bf082fa4b79f32849e8fae692696fc978ccb648c6e278d9bde4338d7b4632e3228b477e6a0d2cd14c68d51abdeed7c8c577457ec9fa2eff93cbf03c019d4014e1dfb311502d82f9265689e2d19f91b61c17a701c9ef50a69a55aae4cd57e67edc763c3f987ba3e46a2a6ffb680c3c25df46716e61228c832419e9f43916a4959 +S = 621120a71ff2a182dd2997beb2480f54be516b79a4c202d1d6f59270f8e4d4dbd625ac52fe0e49c5fd69dc0d15fb19ec58c9312a8161a61cb878abcb11399937f28ff0803877c239ce0b7c4cbc1e23eca22746b071b2716475424c12944660b929b6240aebe847fcb94f63d212f3aa538515dc061e9810fdb0adeb374d0f69d24fd52c94e42668a48fc0a57819952a40efb732cfa08b3d2b371780aea97be34efb5239994d7ee7c6ab9134b76711e76813ad5f5c3a5c95399e907650534dbfafec900c21be1308ddff6eda525f35e4fb3d275de46250ea1e4b96b60bd125b85f6c52b5419a725cd69b10cefd0901abe7f9e15940594cf811e34c60f38768244c +Result = P + +SHAAlg = SHA256 +e = 3c7bf9 +d = 0 +Msg = bb40a410b0183b32df12f739506643bdd2fa7e6aed83974918ecda402cfb09dd1932af4fd7f3b1b5a0e8269c5da268c25e806b204dd34e28653f304cdf6545bfadbe297f6bca7493936b8e91f08bc56455059c4c8ec36626972414ee0ca04c82e1aebba953e5ab531e62d823f16b7f2a1f51b9f6979b07cb16602e309bf545ad +S = 3f6909f674d4c9c2c26b66d8ee3d7702c560b193a8fbfd0ddb3a9dc909a6eb7aa74d446b7993cdd5b7e272d826281e4cfa08000d2291c2ebe3ee6a77a4e03a79248385359d0885c61c8ade8cf4de7c8e51e879cc1e6089a91a56dc58d2b239e185e9afebf733e2f0fd061270eee0670122c44fd17af6860b6f59690a1b2a91e16522e6a75903bf4e6c97237825f0b01e4c236052b173a8d91f910b0c903590e16d7104609ff9c0194ffe0c09dac1969ea08b01497c8169c7357e8b1f1040604dc0f8b967bfd075284736aa22b0822d3cd13c48a8169413e0b6b26af56c577c829b38e3fb5c4ff78949634d14ff3a40d0d43584d832d6b51d4065e0900ef197a5 +Result = F + +SHAAlg = SHA256 +e = 3c7bf9 +d = 0 +Msg = 56db10c78e9fab7c1c356bf8b38e4adcc464ebd1a3cedabfe812144016baca547aea625656f0bf2e3f1dc2c9c4d310c650e01672520a4bf79aebb5d00600af805ffce9847e62b086b35270d367a3770fff33fb28047b5f888167b28fad647940cabaae3a4d1c08ea3f7d7d00e326061f9906a2d902499dda652c1263520faffb +S = 8432cca3357f5ee765bd37dbe2b2d107dfd840f8f720cf4a80144740f96e47529c553fd503a25bfac61ad76a24386af72d81522e6f05b66299f6aea3b98b23838e7dde04db8f8b0f32ae393f6bc0bd7070e566ba1fea53ca871d680f70cc9585aeece672d7c64c228c49bf1ce877dae73f9d8756433f5edc4331415d51957d23e490d4f25317d09a3ad06ec9229dd706cf593915cb156d7f7a32d68e52ca27aea7087d4fd1e194b6029246694742dc70c5136a26cf41b3abf9cf9cb65cd2e37ade6b9fe5ef6160279871230f35758f02c3b37789c1d74df0dc0f97f28bd789755982dd249c0960e64739b3c74b9c55ab810650529e7243bdafda7edef76fc748 +Result = F + +n = ec660e20d2b5c6d192540b0f7331da6f1df6126a35861ce249bd0b6aac48c182dbfc5b6716892616810e8c39f9d9c7230771a64810bd9b0146b965135c38751c1793945cef1ed8a799340990ae73d542e26701907b707c3e383f428f87ef5af2b276d0f8dddf8bbeee36824c524b4c38195b9ac69024b65fe5bd6d768166199f3659936824addd4ee488c42480090bad1fec768c339fc172d9692f0c9d17638884cef77c763539b5995573963f12a852511c410833ae0d4b9086a92754f47453032858e6b5f5f215ad48122bec89830a4de5ad86cece5677dec6d6e01ad94d42933c4820269c595e52fef3694521060280c7e505d090aed94bf0b0a3c1596593 + +SHAAlg = SHA384 +e = 19aee1 +d = 0 +Msg = 2d891e111a8812a6448bc2ac2c234a616997a8579335c36d5fe6acfe0b052358fd715d70a7e104d4ad7880e04a9a7535f0fd8c672e0377f6d7472f80617580348b60c88a424efc31c696eb49096ec7d358fee1663cb9b423a3ec25eb3b9709cf1f7de8c7b57700a7d60d8d5030474823e9c12ebc85fe82dc0afe15a66213c50f +S = 7dce8f644be457f76b46f3537cd3c1965832e89ffa636f7bca10a2505db17e9babb7c3e5628fc5323d505efade76ed8a9b702b84c22be49c70b8c3e54b4a1f6daf66c2425ebc03fc6ccb600dbf916048e395aed1a5676db004d917c4021f786cfd0ac332e3e0434907848229af099ee468d6324d54f5b2fd051c7449f55460bf519eb9c076852b017220500168e18cd0358cb2c409acf692b4bfe1c75c4d319a45d465f920fb3f92b5c7025c21479c3e9c85bad8a323ca1fa0f112f448aba0bdfe602734f149f619479b39ae5217a01139c271007748fe5a089294a8c3c3507428c6a11d9ea84ed7c7b35a90d07ac3eee713189d47d4681316de68683c1fc94f +Result = F + +SHAAlg = SHA384 +e = 9885f3 +d = 0 +Msg = 8e8fa198e16acb264e1d0d9895af5ade743d7586d554bf39469e4e89a9c13eea2d844cfd7d34a0153746ebf49f3db2d595ceeab0c442c4b91d1dca2984fd2b42c8c4538dd9f9bf67356c10bba4195e11254fcec82812679ffdbd217b8dec3f644898dfd05e84d02432d8a3780c0c059a0d084c56698a4ff5d0c77b042d552357 +S = 421b51d49f5d95922894f0e44dfa5928f1589c632e2c0051b1e085c174e928d98f035b958564b92daf21408e130815c00b35b32578d320b4e604c77088dfa321fd69f6dbffb2bbcfd53d6d8023d9862598ef38f05f0d44dbe72d108aabcae0076d4dd48e4c38115ee7fccfbeca3fdb69ca26f233284d866aba242c932936a0e1f6d01b668204f7cb534164dac3183e08857b4f150ba6a4a38eb98c4ae2aa983c0c5971e62e687cc63fb9eff8148bf01d14011322cbe85a2bba650200ec39f8e3327196d3587e1f167cfaca4abe538f9f420b3ec5ac95c462ea32a700da870756f7fd759befbfed269956abf4d22d0378096bbef743b0feb15b30e2954cdf3ed2 +Result = F + +SHAAlg = SHA384 +e = 19aee1 +d = 0 +Msg = 92547ecfdc67a3887d5f686c77bf982d84ef4a951131051d8ad628bcd7b289fd27cd5d54ec5b58b226ef1557e5ebb7e8093bd1c14d43838c8415e61222e8aa52fdc6fed05584b03012f796034e652ce1133a7eb866fc496384815d7f6b60457a9ca52aec20c9f52bc9e1b41aba153f4129541b2364469ecb128254a9bc02a29c +S = a4c509864fb912cccf022eff3b7e2f4b568fb08aafc498cdacc1fbfa3c7c276645a7d2d838ed703e2dadc205c77e38e0e326a84c3a9dd3a1d6c5aba50c23e6923378ae1e3edd125751ccdc38d80b91569c20dc517ff1963be1d6cc35d2728bd3cdd0d23d341ba91b58ca868d90490a6a5a88bed3a789d46907b9acb725f187843b57d22b17b3966971deb99030eb72efeb4704a91683ab488160a5b43de32319fcf609cf00485f2a9a5a3a8eef1ff1b9cc646b8645d958bd002bb152327e92f6beb9f4c3c193f4f35de29c6e7a8739761018430e5144dbeb895857bf5a313570f1e94e9ab2522c6c046f0a8190a995bb49be4cb7a3794f89e1a4c8ab295f70c1 +Result = F + +SHAAlg = SHA384 +e = 19aee1 +d = 0 +Msg = 1a852bf321f978536e0c9638414beb424afbbc711ab742e7d85b01ef3521553fa10a4e7ac080bdf917398fcb0c5e5afa0ded36100f5cceda3a7fb76ce2ab0065ba1c0a754494991c8c452cb416f18ab115509e28ddb2848e9be5e4c344597f4ecb8207eb977e344334f814fa494ca3eecaeb9bbe6e028d8a645631fa4272fb82 +S = ed0c530de2798f47c15dfedde11d93fa134b243aa2d7ce2bba3718fb1a228f1ec7f6908f56f57166fc2f37c86c22b097f2324bbdccff72f6ff7650fbec45b0211a43ba885a6aa807470a93b08828e04300df4916640e4d8671f22d57ce20f1f0bc89b2f01b55e4aa5426ece11bcd05aabbb3d7434536cfa5256de9b99849e01ca9ffbeb770cc00aba63515aeaf92dac5e03a29f9f2746c2274d60f04d4353d76a174a17c25255a4dbddf8ff11987e2867da69049981e8ab9c1a200788308bda37c4fad9ddf5ea9b62ba42505bf3ae3ca5ab3d36ec5d67d993817caa1b0a7a225f0b3b42aa5734d7232d2d9e3c0b4cad51b26bd5dd2cefc22fa09ca060ff16801 +Result = F + +SHAAlg = SHA384 +e = 19aee1 +d = 0 +Msg = 3511607cfd2eea7780877d2c585d1d2043881cebc97ee0ec20b1e73b4c1e07df8a22fb41ef901be14d026b48566cd73e04f7bd3c380cac24a1ae6c30df0e3e28e85964d9abd5e4c2f42c8a1090082ccdb1df3154941154086030a645529ed297175ea52a7924ce823eaee26c4d57a33513ea811925b461fe27dd9e63ecf84d93 +S = e91b444f45a604eb9203d83adc877a36894c5fd6d75c521caeee6a8e57904698a887d0c54398bbf82da4c3aaab349bfc706497d991bdb86b9bcebc4c87df1b901b47ba95fdd0b8ff4b5dc5bd3300d36ec48e895208e41d569b2545fc7f3776797de5a21dd228da7ec09ea154c987812b12cb4c349e6029e61b9e5c1d3038994445f9d4b5151246a6b7012576cf2aa23afc2e259255663cc1977ac1fe8daed2b2b5d1ac1d0b1a7b6e32e50be4d4c3b3d818d7b650f85726f9d4b505e5491468d7f286bebb4d97fd4dc0854e0f18c0cd0455fd54d57968aad620a670e0f4aebca070247563d69044c3ddabcc735177e91c99953e00b81de45d01eb3dacc09c1083 +Result = P + +SHAAlg = SHA384 +e = 19aee1 +d = 0 +Msg = fe627041cc6368abdc8e193d731ea6235fbede7c969b050b1abcd72f1f96ca1570db942c0f94edd91b6f966df75a9a54a950d48e8073b164fa5c3753e4af464dc3f21e21739f22370e77dc80101a40adb8d5359fb1bb511ff1f7e4d0e2603961bf4e180741ac8f2b7c4ff3600386219753f309966f996ea6c735e78c5ed22abb +S = 3711a7daa81e0a5b897d3d371ab282b660307168c968cc3a1e4e947b32ff2f0d5d766535450b5c227f7a054b7f5110df9fdb6a8b8cdea54185d6ac90c9ad5afbb922d6ace388d121ce977ca4d778b83299a85a74cebd71234c04a1c2afefc034e9905023774b280a063a99a9c8d70cad6ba0b0cb943a2887caccfb3c0b436748a9880052a16f35c467e78243c0d175dcd92875f3f421313f69d040e8222c6ced1ff5ae12e352e8f45c759bec21a1a645c64611ec0dc94b69bc9fd52f287e828eeeec41f17afe3b62e7436d2940479a936bc5d82ff212967484550f1f552f301fe1f189088135de6af7f8e3a49ec5db80fd450bb2d9d52a95cc9607cc3cd1ce15 +Result = F + +n = 981ff4f5e7569dde9ea2f3630f0463002799dd234a423f6e960c4b55a57ef478e9bd58b94fe4303c5cf3a97d076e3ff845fdef29be7e9ff293acb652e86a5a260882cb4e7724a44a08ebd11a168fc389588f0cde26847644febd1f7c6c031ca1eae47f9941a4dca32028f1408eb96db40a386bf922a8aed72fa27a937e181f8dcf35c946bd5405897a0f0fbe00f18b66de336abd51ee46b8ffe4cee6667f3de4dec041774fd79a08b0a2be1fa16806c6b58ed795ab9044b732f69a1cf88f61ba862f24462bdb036d5d5701ba205e37c737e8da703e9dff2208051e537939e1f2643efa2261f268ee31021379681cfad9a1c03d91a6f17a316cca2e810a0ffcc3 + +SHAAlg = SHA512 +e = 8475b +d = 0 +Msg = 7120a0657a833d7f9723b647eb6867f5d9f6f1fb1a77e8eb0c9acc954d5b3b6f8986643b9076bfe3ac23fca8315c397b555077ab42534fc16adfe1a91bd90e125316e716d51e641e7c305a00d086a76bd7d9af852e280dd257b682585552310176da0f40710295f7b052b899ef6e1a8c069a82d1037d8ae67c2597eb244c0e05 +S = 385f2fe2bb8e9483bbc05c316283ad01f8aea41bd83ad941fec99bad0f066fb1c7dc960d536d4ed5302958a0df7b943836878a1c906b3f3f778e7335407676c7766183ef61624c32da8e79640ad5390660a46610b2b172dfb7fdf48e556408e0da06ddeab4468a00abf93d6e3fd71c04478b49f394e849f1923d4a57b76f6407675fe647f7bcc59f7493128e62c0cbf999dd4b3c62cbba2accfbf77351abf76927b89cb6f57d900d631d2445231f75b7d2c3ef303a51b38f9e7f0d69a68ab397674628a825ae74605f32deab2a0ec2fde1fe820b48d824b68acef3f0bdbd7804eb15899029bc9d349951d732eceeb3c42ed02ab35d112841f8e411b28435ddbb +Result = P + +SHAAlg = SHA512 +e = fd8739 +d = 0 +Msg = 77449a132998a90b149b91bd05fb1e53c85e28d7923e16a69cf7a122111edba82a156fc297dc2a9d222ababd8fbdb6efc6eedf7f3488a6ac6edaee59170b120505ae2afd9f968ad089ec8c04847e90078f5a4068529c1947bd84270bedcc0f534f38532e076ed28e93088efaabe8b2846ccbd4fbb6217761d31dd49f5908da78 +S = 240add12876bc54e013030c890f3abf774a109f687effbbb6a03d0b828e8e1ada27e424db835c78dc0d6905b212fbfd55885417d571e7da1cb1566a1cb713cb04a334eaa68545cb17cfe55c037230a5a71e941fe51517530392ed35b844ab7e891e9230d67250c7fe73a9d969523815dcbdae4c01322648cb0c686aebba24c4e57cc4859fd0e38a23dd43f86373d7c3250bd03d8400887926df0f98169c132f819180b9fc482ec77304b8af96a5334401912e6d210361218267c21f2c65d3a83c376516b869466278841e267d73237789b33e5a7ac3f1feb2a1a3e9bae60523ed5f814124805f11c151357fbb8a717fb8c858c66e647ddcb59c20c2bb8e86abc +Result = F + +SHAAlg = SHA512 +e = 8475b +d = 0 +Msg = f99ed2fc9e07ccafe0704660b1906e93542e3c7220d8551c81d8303f3f6477e90315b09b179b1ca06daedf9ce3476268c511f61d931aba6f05cfbe3d4d2768659c1e17dde7650700eb5875256f300376c97a5d00a3c81d06ffa6ec9b79cfea70cca151ea98cf557763564e23ddb218666851ba40d7484788764502824bc4c5af +S = 268ffe2eef8407c215d1e0d02d3b23d387900877d4b6ab515a9d35e30d6c64830e748ab782191f2f9a9c133765ec3863708dbdd36d5e4ce9dd262f040766829e365ccf8e19b146355770ec4dc3a059581efe466e59fdf1d6a7d0c6a24b052c54b5a0f02e73390cd70ac56c0a004a9e45ae81296b3f5f1677db8c0dbae012295eb884130530215c175239e7160182009b46607a71a6186c48a1b8cb45c1dce3fd2f31aba568065e8e490f021454a674b8dda3e436b375f0daa3294969492ed269e9156011b133de86ada6a84225b1c297b71b3462cd3ca037585bb805179d76864a9083f927e8e1360d9302a2be39166bd5411c997000d882b268623bdc5dc9d9 +Result = F + +SHAAlg = SHA512 +e = 8475b +d = 0 +Msg = 19d049056b4bbaf6c585c6aa4b7670ea52fd6814e6dad83eed6d334b82520d67156b7d56cc49604b88e6b2a983ea9bd33addced8d213ae5b6b97a4d420be913f80bba6bcf2f9d1416d094ddf2d402690d8a052f8dd506c4438d8f5d25225c90ff82b45a653dfa66ece77f8c9abf9a999a8dfb4e34d13cabfd19b96d4bb3a2d5 +S = 772e888d14c70c4e546fa77a85d1be25ef85bd24ea52db68c2c0d3889edf96a6d7d31696536a12fead53f44a055847be51567a6466730991383e5aee41da40c90d6c951e36c865fa4638490ab44a27cbaedaad7d415b80a51ab465c8a18df567356988020d7e6ec0404577ce8f02d581e48228bc342f6bfe2d2eb2dec17f66fae7debb40b839b1085c16caa417bf31a7bfa540405f76671c8d80dee48d8a1cd44b456ee61ba601938bb3626805c232ec3978936bd8dcea073ea483ba8cdc29841b442fd28b4b4b1a282298776d83b2174114766b2017e5ad547a1021fcc3b829ba30f0cbdcfbae09c5e0101f8ebf1fdbfa1e1d029bba61c1ca1920fb36ea6e2f +Result = F + +SHAAlg = SHA512 +e = 8475b +d = 0 +Msg = 1c0c43b58a3c85bc56763bb26f8060b645988d11d0651bc6d32e886b624a1b38a2d8cb5ed0b05e998499ce0937bcf03e03585792abb877bbdb6206a0b192a86c7be6cae1c35bcef089786986cfc94aa85b8ffdc2b8b60e3c7e07714fd39f211732a008e96b261fe6eb7dd6d03e91b61dd2a5454afe482a724285911fd15bd160 +S = 5be423f5b70087c95d748e060004afca6b49fea89dfb37c2460578af2484c0b9ac384193dd47bd06736c071b557aad22684016e6d97e9597f49d11edd8bc7e6dc44ed1f94403d171b215b00c8f3a6721e1cd4d37cebf67b705dee052a2cc97415fa9fac97180fd60ae20667af437d3caf6b69ac87eb9afc3c951a49719f32a9e12062500b958a5b48136bb41e4d6434d5fb59814384e06a4e4d0a779f044e873d5ceea1249f9648153663234cfe9171f988e12926059c896793bb56630432c5d3305d70b436f041c3eb1b6377cf01b27f507a9a8389f57b2b17010b808123ef23201da72f39febf7ea3841cdbe376d3ac89471f2494e948702f618ce382fde3d +Result = F + +SHAAlg = SHA512 +e = 8475b +d = 0 +Msg = 21ea231df11ec8a62b2bb1fb3a19d608e3ed32a531cf62d4b26c6e43e39ae719e83a32ef8063231b39bdce35e02a99d43cac9699fc83106fed956410701312cc2c5a148600176fff3baf075710deb7d0449ea1d62a4ac33cd103ccc97c532df3521072ea5783d3d89bca0667b27b5885638afc64a46da3c4c77d4d74eea05e16 +S = 20d90f8361337e7196010e8778794c721c881492e63ceac4a7bbf56daa41fbb9c1716be12b56b79fc826b090c3a2a73f85fe761c9249f0be8577ca78385d11ece10270c05d07590b8d3c889f4cf9cc0881c066957974804f4a74aa9eed9a7d26871885260b2d67c96b1cdac2a6ea61650d8324dfc37105b916ecc406d604f79bbd7c8a7754cf805cc9c74914dfa1bd2dd6ab62b0e228673ac84faeb9b38c94f3f1a1b74d83188837dc7cdf8521bb61c7378c3db6c2305bfa906ab1c6ba3c2fe557feaa5c97e28304a64f3b4153265cf51910a7636b3723cd56131ea16ab4ad865224088143d36f7fe25c9f18363953b33692c10fa3aed59eb70172d7f4708b +Result = F + +[mod = 3072] + +n = d8196d0e7875a3d396365b446f520f6706695a8046976fdf7917157e8747a58e5d30d83620703e743271b17f3c9763514c38c6808b49ea42ed3c9ad2514bfe059e095c2f17624b5bc1aa5060c320ca14da57d65024b7f1c09c1611b56a3d62fb104c4e458b18f6760d85c53cdcf0b83ff25b48b046d46c0110f8093f9b4873e99b81756232ab077c7195f711c86ae44de848011e028e666ce8f264ea34cd82193cce9fb055a09cf7d12d1e3cdc57f7efbf48237722e1f1bf499572a7b942a74e634751a1808f475806aa5233d122f7220f3f694b91990a45740d547b62582390ec43417037b05a82b0f72fcdae476f04128f2a3b3cf769c8e8d441db469f29da612ae4de490787eef11127a38510073a127ddf279e5132dd6db07275efac083104cbfa39acc224ac1755dfa8299ad4be9ec44b57d83837c583bd35ed8e857e6369281c41c0227283f137df0b29aa6940d126bcc46ee37c3774ba88cf60e5af2678adc8e1eb5e9b3b96c9e8ab2f6c7e69a2360df666544c5b266ff09d21b373ed + +SHAAlg = SHA1 +e = edc8a7 +d = 0 +Msg = af09df21babe776fcecbb5c5dfa352c790ab27b9a5e74242bbd23970368dbefd7c3c74d161ae01c7e13c65b415f38aa660f51b69ea1c9a504fe1ad31987cb9b26a4db2c37d7b326c50dbc8c91b13925306ff0e6098532dee7282a99c3ddf99f9e1024301f76e31e58271870bd94b9356e892a6a798d422a48c7fd5b80efe855a +S = 8005d3a1f6bc9e5b25e4bfe751a511b741d622eddab691d10911019f2589475c2432ab9a90627020ab3117042e468f1847a70d8fc392b09092bfca421292c5d4ecc0540957dedf526914490ce8338de9451cbc1c9c25dbba91d8c3d447dc7d044d9654022c8a21c08ecbadac1e44b0fe2ab462037cb409a8e37f617bc723ff4969e4553f46a8532cdc9429c0a03b8c34cb41812816904c98ea31eefb0d9a5a8f0c182e7d889d13704ba616ef1e91df911ea868df5d03b39d30624f310bff100d404fe6e86fe5986abd597babba200a28bc961d6d8054887a2f44ff269129e9b085891840e926244281cc312282e6da6ff5e70fb44cff6b2a2c48951601b1db25b4f70aabbcddb7e1c33e0521442e81df7835dde8a2852d410b45705e8763b5bbdae5dbf4d84dfe782ae862366ccf37adcbc8e51c9769fd516bab1f1572d8ebcd80ae9d052b1b102a2c13a7ed44465d9c535e6cf202c981c302e4117b74475f1b129d719280facc628fec3c28285bfccdccb67d75a71ae7908aacff6adf55d0ff +Result = F + +SHAAlg = SHA1 +e = edc8a7 +d = 0 +Msg = 5fa7b357c3630bec6d6e119f4266ff9465391acc638a87a7ad565fa84cd70679d0a8b82f892b64cefa28be108bb690627e5f5030247ff86251ed12270ddd12f18c05e9c161ffd7a4eeef817d1f6543065885c712ab65d7154fb66fe54da717c27d066f95b1a80c75300c826f663bc287d9f2a7fa5f03cbc68ff99f6c75fbbbf5 +S = 1e84e79b2c46ca8d7a0e35503e4713f556eeac5b86116ded6c9ae1c14343c4c0c241424fa4ade7f76d93e6f845c62f0f2039e3cfda2d364cda93006199ba774842a7f0a99fc72bb21d583ab440a7ea37c371211c8a99f49772edbf14a18b8c1d112fe78af270c8dd3eafad00c004ba22bd521f3767b2d05a4f4ad87a850c4cd444126c6ecf50487053dab17dd624f9daa9a921d31ccfbe77a56787c13522eec9a7948626e560413cf210e438b61475f0fe3b53c29c038e8962781886eb2bf407b74ef7169a8302113cba712488fb9f2e27743d3a48033ae9b6fb76b768ac7014d73df1f4740721a5da04257c5cd72c0bb3de9e734f800e8db60b5b56e7dd58dbcb02b48e837f0264c2aa8b2543162533081cd579c1651b8ee4cd5981a7b27b7c77450e6d4bf3576e541409c2ebd09975d92ba4c35ffde2a7b2bbfb9628795de7c49805ce553bd632ceeda8e626fef36e5fb118dc0708f785680a5888096046832121d5427d7239e123733ca606fb991cae95f1ffc23ab0457599abf92732a87d +Result = P + +SHAAlg = SHA1 +e = 9fbb4f +d = 0 +Msg = e4bc017c194430d1ae0798c2a122b56aedab0dc4f68cb81c27911fc3dabf040778e8c362e17cd7f20ea29f29f58762c6acf69204d22a4d112be029c18ab03184f49c2b9602ea1d75872f0f9873ad115ef7de8045ea51865c6cb5e0fbc934e4b1a002c27e44350a4262d76e76e439ca1a168b61ee07aa69e53339cbd75ef32476 +S = 2e6b315e6ae71c573f396ac918df88f2254b6c29d552dff65d30f37e07fbee166459ad9b21969e19adf0ef493d368ef4e889e002f636eab345a1bcd373904d8137262e7828f50c3a5b0be2d89f5cf0217a5a593bb4b58b93cd59870e3e61e682f8f2778cb907cae1e9650280748011d08cb9b1e437ee26099a876d414e7ed5a1f31aacc632f2503ce38d4a15cdc9b5d8c9a01a379e5cc6315b6d81bf657c4b5d876752e8682177a799c9ae4687b58ca5182d6fcf06c3048b2410285d5d4f98cf94b71d3af8f7328450fb0cd8189a3d354c29b425ab75c33c9a29aacc602bfd0955e57214f1b4def30dc2f06b8abdbd9d609e126699c7994d34312bfdfeda87b23c484a097e614508bbd9f0daf2e0e71ef7c20ae14a943499b82a294ba90787b26df264fd8ce25b88d14b636c6a5b587cff9c80370162859df1ef2bec3a946997f84a5c8c577ea8329f3cdcc97214e6071badf226851ab3b5c7c1c9bfee3feec017393c3a054adf70a58e8596fcd47af32ca062567cdd87c5a53dae3780ba13ee +Result = F + +SHAAlg = SHA1 +e = edc8a7 +d = 0 +Msg = b6ce2cd484adf679c884c35b885757bd48a50241733f215bfd5ae70547e25eb44311a88bd8418bcf88fe2d9c50601bd6cf979061abc8f5953118a4ec3b06f1fe57fd6bb025295fa8018b9e04e248804b824729a3c0fa0b45427cac2f5eddaa183bbafca933107aea7c51a0fb08b88f04a9da546e797f6d5479af8934781090eb +S = 1a0e831fbe4cba0309731c0bff9f3348e919fedca607b59d306e5f691879692ad2eda3a7e911da2dfcc2c1ece81873e8741ebec79dc58cf2884f638f393ad044d18c5147801d3c2238f10bce526f82d8fda18abf635e4c4593b44d4d1b9d390a62a9c3bdb662a0b5346e128c1841bf65780133cbb7ec1efa67f94a2ee8d503fcab70a0d9fa50c0ebbfb94910b0565efc6f0d79f1ea29ffdb0898a21c919ce9aae3d7349b2090a8c09f98e953a4cccfc8b0d19a8cd7a8a34c0dd5adc2f383b7dc2b5bfd7d9aed1a47aaecc54b5998c0c8e735b6f6ae7f737a68ef79d38fdf0756cee89089ceafc9cbefa2a02a0d02a7935c10a7826ecb6aa17a4d34b1c77d6942889457984e8197144907d3ac2a3e65ebe9d974bf522aada84f45bba806ca4b0534cad5b460d1bf5571a1e050e5494138f4c8bfcb4334968b50d9cb50b32c52aba4598fa47603de7d358f85b68e13432fd85b247c3759ff7e24dc1934d01ddd60a0156d4fe9d314681d3fd69f071bdfcc5b3a5b2df626f34eb95043bf160eb0a +Result = F + +SHAAlg = SHA1 +e = edc8a7 +d = 0 +Msg = 79d92d0766310a0011b4398c59543062ef8dceec5e5386e64949c028f4337cc007ae39448e1f156743e935c910e36714d009064456711f46b081d1c5ac60fa419caa106157684c8a803f0eb00be77d6cfcdf6d4f725f8777e58fa35facf679fbc2357905c9f5f7924f1e8be85149b893fd79cbb6bc0506a070d9fe9ffadf4219 +S = 1fd91927e15056b040794544ad1bd99a077f3151d9d705ced12c9a6c41483dc1e1b94bc549e06c91a35816ce9016a9f56b9b95f8ce2c9e4a33b445f701abae9c6301bc9581ae89ea2e83b725431d01a3ce1e266ad3b8cd29b217b27e1db105887423d25dd5c6e0c02b3800df9fbcb9f306b86ecbca65366542da71b03955d4063512998924a30283592516037e51e24ee8e8c6bba339e5cc6a3b64375a7dd96e7efc00d410fc0a63d0833dfc8ef518c74c2dc13f79cacbafc3fdc2253c50cf7a1f79ffc185a96a1602e5b7416123d874b5e4c4b4b35b3523309895113d7d2aa71cd895feed0eb9174ecb5b8dec252c53890e28648e71c87a8528be9c7b23de20550675b0b5072fe52cb1de14c5e1be13896dac73220726adb1e8102fcdce01b92251497a553d74f938c96fd9e5936392f0f5c5efe15a7574e01342cedc17cf4f750825424c7b939d0328d2c5a0a8f744826ed9f8dd4479a40da051b7924a29e81c13e929e4815474bb4a825d564cee8f22ce451d094c19d9661dc413e070c5a6 +Result = F + +SHAAlg = SHA1 +e = edc8a7 +d = 0 +Msg = 569b513e3a2f031a0fb2b3a2f3d51c321ffdde7dc9997f8248b2afbc79c3d09961ccb52e14a2aa29d589b5077e041c8723ec275ef2c0272c5d3cb7af7c2d4236ac83c6597da8d7e8cb10e6212a12c32688f661ae0d4fdafa468bb20b83c860127de90a283ce9913f3870cd58bfa41af7964213d4e3ed9dd44ac62837573c3113 +S = 202f80676900c6ebdaad6750b5e0600af5caee8b03480b8acfecf719fb3508b41ebc57e7625ee0303675478f17de92710db1855557ef3ad3e29353a53794df804db4ea20e8cc4a9c9ddb78b4be6f2475833fc13d9810de1bb338bc45bd88e76d8bba7b08beec647f3e084a15848591592b0fa7ccadf033a958ff643e8741fac68e7f8e7f6597ddbfe0e696fb68811d910ae817a017e136d100d50e2de6f9f8569593a5a88b535d44466e97baa7f9270334c299a7684059fdf5dc519ddceb050678501637b48ef27614b042365900a060e438ab6f16e3624795d47f448c0e91661c8aae15e46ceb37aa58ba8c413b6a6a812dedd263f2d8de3cd6f7f3b396334248ecc3f4dc5484a4218e33de1359798dda01affcafe7567633076ae95b847b2afcc1919e296cb77c8b00ed4aba717bd8c79b4320adae92bac470019ea631cc2efde91d5e465394c4c616faab83f5875fbb67b6c6ceca73c891ef4288750b02bbf478d532517bc6f76f0fd48dc2c0971888dc94854017c8e5551f0fda68e681a +Result = F + +n = b36d351c07628650b279ba674fe3ba00448699016565ad6f0ff357f963a3d8a08643fac8899513907d90b90972aaa021fb09914eb71021b643907510eaf3870bfc39828ea01fac9782aab8f02879f4215d75a3d88caad27f38888d13667b55bfd90c7244137f78e0383f38359b5a196ba31c4fabbb05556aab1ce1842f3d290f90978d9d10af4e478bf06a911cae4eec7b7605e9503d2242ef70e9717670a22377182f62257a0fd1ff4a6333e05b725a90ba956a6c6da35a7d195e4ae46e3b433a9fa05da8dca1349ef44573dbce2f009d1cd0c5d920793f5e7d439bfb67b60484742ac7d3b7e965b909b520f20e1c52535c42084e2f92de068f9ca9ccc0eba4d9d9787a7704cd68ec036465175c5db270c34a206f5feba43ccf3989ac08a2ff7f878092a937a6d3d159a998c610c042df0aedee4fc0f5cb4f1fb139c17641e697e85795271bfb31f037f0164babe466817b66052fdb2531b8dd4974234ff5b85362d7269b2646e25b7abe8372261c5762da7069e6b83cb0a0e005001eb3c047 + +SHAAlg = SHA224 +e = a0a45 +d = 0 +Msg = 23b3aeab1df87e9a70de730b6b46749a4750b5f902d92e926b424c6e7973e656e0207238e64b79cc730b4876688be96f325551209fd1dbcef008f57c2fae190dc36000aa412a1263854c2019023e559b56f16a0f21581a941827d62555dbb9c0f1fabec8d59c31a9cd2a63badf66a267daab688f3176d32b0a2655319300adb8 +S = 4eaf85a307c2e664739632f48ada9bec2626267c4f9392aae7a37ae6d832cf27c07a5b55c950e27bab900a0e4eb3d5c1de49a97beffa3912ae643d0e2ea91d00dfdbdef4792e96c3fc4996212514cbdc8c1b0ab6ddbb66f5baf470689e9fc69026e14cbf1864dc9fe6ea6c05715f9a2dc113a1b2911824e343651f82ab1388b83daab80bcba1882790d3b54194d33c6a85d836543896ee1904aa279be35b0388daf75c1d30d28e0cb7dbccc8d00e47346886e0dd250721b2905e282f33653caa70e1fe3fb1d8e3ff700a396983075411743ff9c7daca6e8c1b0b069a8ff047a753c7bc015e9f6119d8e0982c48789fd5386b76dd928326f5698b75953e9d79969f8e8fcf9ab76ad02a73b36388fab2ec9cdaedc70a76d120f60de52e6537295e757126450288ecf2e257f7f06b60b12de9958da3609a3da2e8fe470b209fa4203e3b90efb30f89a475b57acb605e303861c1c364436843f4a8509e30e58eb08e0b05afd5a581f952452ef903b9ede97087b28d82eb667eb82dfecc48dc542137 +Result = F + +SHAAlg = SHA224 +e = 81cecb +d = 0 +Msg = 3449cf086eb8534b7c49b237da1000a6c4e5054afc152cf9cb579c474301a45ac87b5cfacff489e8e455c271f273d142bf895c7eb6e5c50ee9e14e395615817469cbcf7bc3b377a03ad9a96321d3eb44c93fbdd5476d781378587cf643db8a471e216fb2d45ee31c85bcb037ee991753eaef6f7739130fb081a36ea992b9897c +S = 5406f6d1d30a4eadaafa9a187e1cb1602c3fd8aac3d2f1dd8d6aff4a9de2c6e89dab1a65ecbae506300081f076b286f8d6b0540b6a8dd1eee8e60461ca3ebb8b2fb0c78683ad1cc01010108c9baf0d0beb16a7690f37b716cbe9286cf059b7933cf5f870e96ef59913b9ec3e8a4332091776deadd14f920ac51c5843171ffb71c2c83ff332d078d14afebaee2d4dd8decd916186857770a8b537177a117327b1f37a93bb99755db82f8085caca20417e363c28f508b44fd3c5b53cc7b627f30198147cc399544ac010a7f30166314bc7d445496b2ffcc4e055b72db5d7755831f414eca7c2634bb4f87c8069e7347fc4ec40b6508a87872cdc13789dac52e0eefa060b3a132146e726bafefd13938122af1919d813fac1b83869ed5827205ac711d8d985f72e99c6546c6d7d81973022509fcf6051f68a0518666fd512ebeabfd69a24773ca0263cd6e0c8e8ca77fc13132303d8fad1ea40cd28c60e9921c07cd694d9a5f919c4b32be4adc141550746ce1cc020a4f95443ae8ca53089e12f04 +Result = F + +SHAAlg = SHA224 +e = 81cecb +d = 0 +Msg = 52d66e2c92f2cc3e157a38270faa968da1e83bbdf391a59183f86997bdac6c6fcbfa5675aeb344a18e30beab4e92e872644efc9ee8eaf784ea01934b098d764d4166a9c005054b968e8e87a1720ec3fb78001aa5ab170d6ead3775174ec4bcb45d204d55bf6f49e6bd9e7c54a2a38ff286067f1a65a04e1774a3f842b4daa86c +S = 2b6e0fbb2e6650315f857307f17eb0583d73f6a45f85a72ecdd16a484fd24b8074fb23bccb2b0ff9cc86f5c44eab3dee2bb0e72beb3298b6a3a3cdf1a92de1064fcfa92bbbb9820e656225c9a1fae66cdf2e4fd4c28cc5b7adbf64f13a81515f5b74ac14ffd639b73cd1b161c413b13db6b405a6f54bfc2ca2380a3af071e6e826d785ec4d67cef3081e52edff6370674d3094d611cbd9a73cd46f5d15b5109b9be9c92eea91c0510ba3c15c5ce19df5dd24478cce3d6a106a5c5a2f27caa028bdd5ce8f53182107f06407b50fb0b4a67db8496979ea1641d3e4f2935f5a642ee08086de3a1016b251dbf02aa0c952564c8f0054d15b7782c14a7b8f70b8219b3d603e23bddfa2f00f640558f2eee2976305a8e6cec1c1716b60987674f22bb270dd664b7d992934c82924d048410aa293364090c0d8a779842384a00c08596b384e85f9dbb17ab2a5dc3d6cda218144d9a161e57a44317bb1339867cf01af6ca75075c6f68e4b932500f1ccebbd0aa7b3e5eb961dd7f5e01a20f7924bcf9b67 +Result = F + +SHAAlg = SHA224 +e = 81cecb +d = 0 +Msg = d3508ea71028942912cbee8fc54705edfbee6ed907a019cd874dcccc81b5d048b272eb4422398eb6fc5d4e2f9d9498bdebfea111e8639ddd87bd3180bef62ae5dcf26fa81dd0347b7b6d71c9c82a9399faf071b4c671810a70b04c52e1c31ff1fad7041d2876f04238053ea46d915c47d0cbc50cc8502f1cea2e058912a41733 +S = 1c9f780c0bd9d6eaf41ebe2c44e5e4a4db11ecfe887230287c3c1cead0ac985bac58bfcc1ddd645821ed0433ac74838501cfdbf19cd05deda66ea7a70e746b3a16412f1f244b8b03ec2c14ea7e4f470d119677218fb4bfe2753e74e884b9d7ab8051b9d4060831370d5ba892a62563143c84c9105fc3a35fa81f20c0a882199f88f1287d2a27fd5fa0d924755937a2dd3ec087a65873d70cf8128bd700efb4925cc0948ae38d396d992f9641c72ff67f289a55f508c4b8f0763a9aed71a6a3ef79ec752a22cfc4571a9f532b88c462b4c1f5475e68ab1e940e3ebbe8093ac32912e8424791bb18eaace7f9188f089263252812bea0a28fc21ef6ce82ad73a3d7572de54daee91d54dedb8241a05a31c741c7e46daa1582c9e7afa7507422307ae10775a9936bf7a9b6c6e11c3977813a353051d16ab37d176cfb027f0c2429624558cbeb49bbb28743846c852e695674e938856fdff0c985f6c29b9a82e681c4cab010b6561fb6a27f2194074df5f2e1e46ddad30b74f25f15f1687053dc84c6 +Result = P + +SHAAlg = SHA224 +e = 81cecb +d = 0 +Msg = e140afaa153177cb8b86935e56d2e11e5a416b3a161edffac09940a697c8daa475eb7be0a3f4e071f2476e7907be234cf7f0cbd514b3773606df2baf1d55d7c1e5408893fb9be09420f4c4628c6f54eb840d20d22f2e9814a655c5eb4a2c37f25ac83f8ac52d5e7d3c15fce28ced5d412b21d2f710992cdbc8847621c754e47f +S = 4c946938453f7a617ae81c1739f770322e38db7b16feec1d2b4cdab7178206fd282473e3373c265235c8ac04f4ae036a6bcd671ab34a5e68496dcaafa5b39f5a292346b866f65085719f28a075a26233cbf91b1fcfac9a42580c8f378fd617dcb2541ef8b407bdd7bde66d4bd177eb6b7f18c5a3692874145341207e541bdc2eb917f20007417934587069c6a0edfa76c3b65f8eefecbbdbebe2a24ece3e7f392d7ea2d077b80c642b1436c4f8a438c228b42cc8b34ebcbf2b22a47f13fbb03b27b222206e5ddc1ffaa6bedeb14565453a588f714bbe75d5e74d7671db240c3e80560296843c9e11cbcf3e2fc97c4b5d3b240db888ae2ceb0520a5b749afc58abdd980275038eacbb2ea75fb89827123b2e879cc948f2dd2f95207f74066858a46c7a49ef92bec06c86f2b9561f6fcc500cbc20630f2ad43f6ac135f125aad88b8919c5e136fed41b96f3d3db136f70ef6798762fa66fbdeb07bc8a9a9be19a4fa5b57f3a3b5e9a516f427fcdf8b4fd421ee14c56b6de76b06ad40488a5b78e3 +Result = F + +SHAAlg = SHA224 +e = 81cecb +d = 0 +Msg = cb515c12597ba52986e4d885d2200c73abedd4cad90cc265194f29d708f4275b4331e30acd101451b17dc3a1e89d51687c62bb41ee5d1d67d6d37570c912aa387f05cd1b35079e6751f55210458793a6b5e0c985dc63984c2cc9a9903470aed1c7f6a0ac5b074b53af730d3bb184db149e8e84fe6bc73afa64594e9e13b63b0e +S = a198c1ea155d599ab072dd979e598d5832a003465984142ca347801b9b2e45d93392a99b4dc936bd820681b907892409381402be706a6d17384afd43a2fd0f6ebef8b8f832bb2a3c349190818380a126690ccf992d130a612ed045e80bf116ad162d44dbde124f53fdb6f7d802540b11f8262225844adeaffe3e3023221c3499253d44719b346c6ecdb04084ace60e1917f5ea423918f0c05c1156dc83e01bbdbb219675eb361668a00f4bff8e7e4db92f06ac5fd12c2398d0af989015aaa9453a8514a710430dd0cf79da874de15b183863d53693d7163a582c7d5d4d824e0041f4347e60099427a0f3fa15280d6735bda2c4368f0f1c9eb51db3680a4ab5ec6006701d842cf2c7cb001819df2ea9b4ea255674a7b35ff6946f46c459abeb44b634c07e82e03f5d9454ad552a59b1d14a545ae9c1b0176ae9b11bed3a15903903fc2543880ca12fd54b419c5723bec5cb48ca7ea31a5b120cfa24ce972ff970b3e09db7f06adde91aed64bb4a99f28e505d290e16641615d6c0ec6bf48d2b03 +Result = F + +n = 9bbb099e1ec285594e73f9d11cbe81e7f1fa06fd34f3ec0b799394aed30fc2ed9de7b2a6866fde69846fb55a6ab98e552f9d20f05aa0d55c967817e4e04bdf9bf52fabcfcfa41265a7561b033ca3d56fb8e8a2e4de63e960cfb5a689129b188e5641f20dbf8908dab8e30e82f1d0e288e23869c7cac2b0318602610a776a19c1f93968c652b64f51406e7a4b2508d25b632606834a9638074e2633eb323324b8b30fdbd8e8fdad8602b11f25f3906439055afe947f9b9bcffb45dad88a1df5304c879bb4a6eddb4d3d1846bf907d2ca269845c790b2f0af8154aad9c4acb75e18a5d0e4f9f88137032b9964fe171dfa0d0f286090790f52157179a6734b5f9a64e3d2ed529722c3d3836d4501496f927a0f8e389ca35332b836d99e995f4a3e86f581bf9abdc7a10e06a6b31296ae3b43e6ddc9a0d9a7d0d9c4053af0875e851192d1de7b08d1beb7b857e227f8803a5620726a31920bcab922d3370a78033b315024a0fc1f6c276be565e58de77f294c8089ff4c43fb334d26006ab5757c65b + +SHAAlg = SHA256 +e = ac6db1 +d = 0 +Msg = 921961e184a5d9657697e3e65ceb1ed10204ec56e739df0e4f906ee194c9ed27bd9fbc0d514abe3a6e480cb3155debfcc8d9fc815719b334f7500a769488773b68e31b69cd273c824f79f58306692c0c232fc5c0c83415ef1dd59a73a063e9d7bc6ee7bf9e433c8344b3051ed616c9473a90afdde393ee88e9a5849e5f642b43 +S = 55362a6854a7846c4d105dc8a358fd4c02931f117631968457f422939d266682fd705e2091bfd5d1bfb52b4bfad684914489ecdad9038b75c65916a9e967630b16c76656b58404ec11ac46d8684b3e72d4392fb6e7e6c929e43ad4fb6ce6198f241b39e8bcbbc058792dde31b195b91bb14236dcb82c28a5c24d633dd847d1548dd403b3a70149371f46432db1767a00c462758c2298fe9f1f04c2ff4b96858d084ffe5a624cb85c1f9be2a60fed40133b7c571c6c467f46a0f1e48ee6e2e6d65424bf8196b0d927e0fd4141264aa5df4129d52d2fb57b8dac9386a84ecd34ecb1feac3a2b99d055eda977ddf8027f1178348a30e4cb4ecef2291d7f520794018b39f5251fd46d97282ac21f6bce6539d19aa1c21c3c220a2ddb6feed262eceebd753eaf5e0eb98cb3eb7d324a3dac0a415a18b7f36170676e8b9d3e421a6f77046bee6d9591c93f7ef0242f464f15b63132a0aee80949709429b1e76d40d60f79b2a6ab362f12e2cdd0bc66868c80278043e179a36f2815e7916378b0fbdb8e +Result = F + +SHAAlg = SHA256 +e = 1ed02d +d = 0 +Msg = 8568ff68d40c9f240b5ff56d8919704a4819fb48b2f0741db6a3608a1aaddd861344d79813dd7f85e2f2f92bf00355adeadbc1d08b14fda5b5dd0f69c0fb37a9120e25a9ef166a0793352d9c7eb71fa3104fb11d55a38474220b205e6196ea04a94f506412be47f347b1f787dc3cb475e2fe31f6b9a6f0d026b6fd32a587dcdf +S = 191cae43b354617b1ebedb701c124e76339935835a3633b4f806fb835d0dc4b7e4abf00f8c575fad8467ca35bc0d37b58a90db835f4ecb9f1dbfdfaffffb6ef1e0b894dd65fbf8e36478adb673b116188d864f185be5fcfc17bf1e6cfccd499d632b3cb1722c75776cd4d8ec68d2512c1ca598b970f03f6fff5facb107c0e74d6aefffaac20f8e3aa6e825a1de1690a84c8ad1e766642f2a89d3032b58b8e6ec50ef6a8e69b6afd30a2755d42b55f9e21f69c8d9d993549d198ec6c17d12f09ab4be0209030dcb274afefa77fe461e6469ad51f56dc58ad2f06b620af36ba712fa798d9812d2b6ce8ff4554b58bd2a6a8abdd8d00920bc3ad3b61586e544eb073419a85bbc1dfaf775068dc004a7f0ae789d5023d013f3e6096ead893158ac4ba050b87f8186705179f531be573d9557744a70ee42a4b3eb89c824eb8ae1172212c177557267ef04157f9fcf003c2d1f6039671d3af71339c30fbf772f14b3d59e81739ef82d61ab61475e1b4c835fa50350da15610f45531ae85fae5ff9a31a +Result = F + +SHAAlg = SHA256 +e = ac6db1 +d = 0 +Msg = 88902b37b0db4246c41b50f180eb1350b1b6dac0477a3dd1accb0c5f541a85fe9637ca9cba15926153ce1edacfe66f574cd4b691adbe0c90ed8563ccb401bc93288e9baa06c7b837f191f8de0a5c9b2bc0a5b730eabfe56f13d43afa142779d8e99b86abbd791e90476ec64759d30194b631c6e425053134c3c0792f9d122296 +S = 9d64c3b9a4ba78889747aef7c8565eb075e5bd92a55f9d34d3df6a2d740cd863ff98a04be4866e9f906cc6d99270d208a3dc2e53201cac9f4f758eecbe8a44db0243a3e40400cac37856079f2fe02d54d9748754331d9935595c35b22cc6c45686ea964642ec4ca7e0a88e4a4c0a6166733e361c46a592469cad7009ca3170cf3fbe485b1c8726e23a6e35f9691d9bf4029d82756c64a4d31ad0b8ef57a0ba2d55419d7cfabbab1a23c8baa4bf043a444b127920250551467d7d528425dc7c903c2c824e6b9b65f543ad9d7055300f19500356100411271e15b939d496b4bd4cc3ba4b6aa2ce65f4825275404cb19512ae27cc986b0af6fddff35980c2cc0e96829ecbd9ee19944838e4c83b1eadb6f78669890f556781c4e97d8ede9664080e47b3adaf2f5e04bd42d46012aeace3078f9068d870fee02b088f9674fdc0ca0064e9f0f63205836d7a8771264c553c945eb7c87df2a13d8efd3cdc8409843e7a246089970abd43526f3cc9cf993d419a6beaaaf6830208686a1fde4733f078ac +Result = F + +SHAAlg = SHA256 +e = ac6db1 +d = 0 +Msg = 973606b2c7e5658a9d8f264b8f5a266d0992cfbd6e9d3ff95c31a69a32c4f0f1cf44a5759d090d5ccf089768e6497b047a9b9f8f3786b8f82681b18b2d65500ada2217005cb06852d249ed17c9d637a9ffa7a5fc6d66882f854e8461b9983ac63c3623fa0cc4bf9530bcf0ff3ee9a086211eaaad1927f8c70300e9c5db45f54d +S = 355644f5a26a4ffc638c44ab4d0b7359f37845235bfb994d28e63b114c0e0f97d2e29f448da8b12eb804792ccc686dd807f44211d6af410bdca1196df84016b3cdae180bbb59133aeac5928560ad2cf6be61392dc9e28d7ada11658cf4a873bd2626ca839e697c79a5c4bb3ed4c9b8f48f83f2800e1907376f2e8874c23f1dff8bbf3b3f98bed7895d486079a92557a553a71e18cfafdc155775f39a77455b432b0c2c4f09990d130060143e7310b9d9e1ae6f2b1b83b90b36c6581473f60c3c61a10e286557f84e5d04cc36e12cbce835234d2d773221313ad7287c9957d94a1cda8c1fccd3eec45dd84a5d075d6bf823123fcdc7d549286142ab514db6d998e377429494f07041387de3ab31b02ac1606e590572bd9003e5a62b90b95b00c0eca73c744ccf4eae44374e26ba6033dd2baede95e19cecc840a045bf995a3250ce7b08e0c3267de822616f93a4dd9e629eb38b479bd31071b48976cf73ce52c3734abd93249300dd5c40635842dd2a290276190737a123008a4f0be557ca6628 +Result = F + +SHAAlg = SHA256 +e = ac6db1 +d = 0 +Msg = 170dcd5458adfbdccc757e0b5abc19278112f24b418b995d395b46410da3624c0a8b49fc0d914fe6a02101ef6765adbfbb5e24739434be92acca9f43e19639bddbb012fef028c7c0449d52a9350b88c2f6e5e52a79648c0c931e8ace5bda5b8bd3a3afc4ca1b6e520012f99f8c57b3167bcec0d8bac30cb1367e8f4a4118d0a0 +S = 6a4db2e6c13ee8ec6174bf57ae5bb7555e66dc2e3b618f259d913b5b8b6c16b9760290c9c576b563316f510ad2461cd5086b6d9670551ec74b8a9d15ebd43ccdfdcd74cad660a3fe3f36992c86559cd8e9e4d3568924b1f7e55bc5d8df4cf53f240fb3b945a08d24f205d5a7081410ea3e8136ca282fc99e6be0b1fa2faa742c9d682d08a77b791bb0421241e6a82f84605dda359e4f8475cef346c9f6a54a085492fc4bbb30b1047c66f5fc529ecb6aa9ece561e5a3a62f9a19eca2badbfa32a2aa205713b16081519c2cde2f8e8261726fad49145dce0d9e24f6e085e44bd86f670a114ba98d54389f0ed683d062735cd495e6a8a6eef9fd70355b92b4cf6cf0c24e898b6d3f7fe51dcd1548a1adc67ba585e2d18809ea658d6ec4bb5e33e8501d11a266f5e0928ecb58547e72c27db8b07aae31eefef865bcf6a08485675d3037f432c157e5ee428d292bfc24c654d8fca7a60107dc18461251906521e1e9965fc80c7b5f582ac3dc3798a0a2937e76d7e7fd7122d3fd9083feeb9a44ad7c +Result = P + +SHAAlg = SHA256 +e = ac6db1 +d = 0 +Msg = b2f72cef31be4b7439191d9b342065e62513792826f950481486dd4289429b6e0ae86a05820c99e1ef0144845cfae05c0f6f144603c3ca50992387c38ab1f76120e2cdeba624cae61dc51a9f3010e76d6ab92936a77bbb34c8ffb4f9ab00f4b15badfda8834e050c292b49f398a9a39f9eb75f01f8684b7d0be10dedd576b9e8 +S = 8ca52a9040ac49ec2415054ee86379f297832a2a33892c9dec09de778982fb1bbff68b3787ef43ad15f9aa0c518847ba1b3075613bf187a6fc8a7fd7f0b43a6a24086c1d6c5fcb1db18c93bc508e609396ba019fa43dd19f95194c47003d6092303be35477a3137aa2adaa51b22618db29fce98b5bf791ac70be7e238c558f0fb42a40bcfe0e9c07e178afe7a2db74fcb03693ed46719d54d69d5de43ad6a93b0a5b7da6e05ebf7c4b02da42c7ac1f8997da7c4de00c7747361bbef534461bebc23477e93a48558b3ade7d09dce6fa6a378e68e7204ab35283c58148df0cf9444e5f91ad31cd0474815895555cfd7f9cef9164b91db4f98816d194f85bad581f410a655273e5d14491793141f9d928cb30a322c513935dfd830dfc75030b8b2ba1f46b763ec303bef32b4dbeb01781bc1f2bf2ceba27750082661558cf3d42f03d50409b7db521299009753c25926e3e6502bb1763ab68dd5c19dc0265b16a2d438c3ed23b74e60ecff88708e5601a478986dd1b607a2db0fe049664d136517f +Result = F + +n = e1b23c29762d8572f1d41f1e7a846876d9901705bb4b3e0228ae65b2572dd1b3305f4d42a7704dda5934260ae9afb1eb34e7d865bbe11ae16d292f170711487ebce1d7363cd00acda5894f06127c1d4a7d9897373b4767a118b1646bc7a38086bc7d359067e9857b8b8642294cd08bab7646ee8ae0b3c7a51527a58ead49dabd11c3ee8326dade7f803cecb906c73aced669d5c3aed02c373d51bba4ffa98018892245f1ee6b035d52a3ccacb2c28062e572f213d607bb403725b34c65ea54bf70c0613e1a8d0552489787e3dc16c0b8cc7ca2d0b4d3e37d1c448a1ca4dcba20c146e78e2a6b3be888c7f65e49a47fe83e491dc33c684a1fd8acea8be091fdb70945c889df40431241e96a58cf7042f7a54f236ab01214a4e17d713945f79f605a8bc1bb6a2c4a342537b95beb92bcd722b68c14c346a1578c567f3ae277a46c264f4e4ef324ec2cc20ad43fbaf4035df169675575374de658df91cb5b3830bb31f69a8161c98f3b7f9e5983d96cbd9204c5e356980589c2df25188c474191bf + +SHAAlg = SHA384 +e = 3bd4ff +d = 0 +Msg = 5a145e4a9e0f639fafe50687c28abdb29650e220fa5b58359155710fd2640f1752590ad6462bd20b43a356fa4958240600ded182413b9bc5d89a4d7c8944634551cb6f79ed88bb48a148300c324376d7344e5d4e8c517cbb2dfa185d25b34703ddd254d99c1066814e3d5d658432fd4cbb064e2ce185423f15dd9959af9b0279 +S = 89d9b5c50dbf8ae358aa201b9840d1eec03db8797f9d32dc4fc5f6421ede24c52715c698a5d8a6b4ef2c85f4bf2aab139e00edb17f8abe19cdd427c1d72f4e2f9b97aff034dc7fb09ed1de84ae491a04c71ac24fd8b16622a3517746cf63df051b55ed218a2c1e6ab5d603687bf199af4192c1f11f49f0e7a9e0e85563a60139b5829fc907599c7be5d19fca86f17b6fc65b6d039a43447c5d6d3deb41f7ab77a55bebd03dc92157131691a66cabdf721fbeff93250591faada512d7403f6f49912758e030c8abcbda4712775afd2d1b2d0fa31b175fbae92becfeed5b9a34a6c61c761145b8d2147b5834996850fff9ce72f59b5cbb7314bf5fa951e39b0a4e0b6c83ea1632d3b3bffd560ed36e8dfcabc60d8e77787ba1356b47b979c4f734abb5d02463f264d842569826808447365692f9508d69002d9a21893848ff62f3747592cd1c6b2b4d7e8b118a3a89915633958371c373c7c677a499fa32444d21cff20ff35c342e4277ca009e948f56d9e5ca99d281b3624c38c33098c1c18448 +Result = F + +SHAAlg = SHA384 +e = 3bd4ff +d = 0 +Msg = 31fd8f67e35675269c8deca6a513b67ad8ad903310195027def430717edb6a3909d10536ebe0ee7098034a4b7b440bc12f22c1eff235b3d357152f543b771e82f999db20e2e14660e7c114ed99dd692e5470a8cab6eb8a6756e06db8b31fefb66b1fbc2dae9fa47bf18cf194e726f74aad5feccc4583fa6c451e93a5d01b055c +S = 6d4b0803da15feaeaa9ee2d32af1cf1d209693da7b8847d30a11f6fbeebffe29691c93a9687519bfd79506f33c828d84c4368297067b997379098236db4856a40275256a3803a9bc2c2a748b5f22a5f9802251b650dbb57952abc845d5c10e0587497229b78a09b386d77b17bad1f3dbbd4a539e12f345cc96ecd6aafbb6c163c333a06ec4b1eaab7870dad2cc496e61e0aeb2bd8a23a92d95a7e771591b39de73581fc3f45619ed3f4f4eaec26bf364514d25f52fce545a60856b0d57cabbdfeca6c1da78552e75673d97c544fdb854046249f44d57edac6f50c6fa99d4c29a6d444db13797f064ccc759194da4a228649849379a197e032d6cf9cc9d62cbb46a5217c69947f1324d1743d5ef0863d80ac8d3566e89d0d892095b88397db3e0e07635805593c4d41db8a3528e88671a699a2f4b100b8ca601e341650cc73c6dedf36a9bb860d222fa456e6013419158e680217738551e90b4df4fe3c41ebec266ff230789ad8a5482a9451d52bf9efb8fb44c3e1bcc9f018bec51f8e68e8c19 +Result = F + +SHAAlg = SHA384 +e = 3bd4ff +d = 0 +Msg = 8f3b827a1dc3967aa2e26c9d9052a97e64b047c186cf980070528708137a2246763c557ca197f8b8b9240d876cef42669085be79064e1980e51dac06d4060cdbb870d1c5906a9c739c4358b2c554bfe4392120ad56a160efc9d940f9f7b0ddfb9cfe7dbdb1e688919466d587632c27dfa8abf8c43c6f753765adc949421f9e8d +S = a5e1136bc2db78827f97e435352303519df3c6ba149748ecea4c493f3355def8f94beb1ab45870d8bb1e32bb10c6cda4546c0bcf90da0758fa1e99b22742302ff17c7d5f0c5580a727304066204f524dd206e1a2a232d4394b74f3daeebc81d8609034dafec29620427caaa72f648fbf39028ff685925b1b7ae4b53e154ca93821b6b152da380217a2f82c864437df45c32253a9e3ecfcda3444f5db879cd12f2fe80d0b88a6fad7cb69303b82e1ed0b761e9f829fafbf4a7027fa2a6164f7701684f7aafd8b5dbf41e6d4031ca28bb4ce360fb3815c33fdb6051c9741ff4f9ebffcfd2f52873ba5567c17d40eb8a92af139b21a184b2e0740e0ade97effeea733cb2e1fe7ff65077c200b36e544f61e90dab2f524a74ed46f10d5244509faadc47f8bb57cac5026e00d1438b24f328dd5fa11fa3add3acd33b20f3c75b1007bcb5379cd8cd8e0f964dacda0157952f41e128ac43878c55acc5967cc2fc631010594248a439820df0ab1b7bd1be5f81bb026016dcc65a674d9ea03bf1958e591 +Result = P + +SHAAlg = SHA384 +e = 3bd4ff +d = 0 +Msg = 4fd8f7c586b502fe11ae866254e333b688f33e29b41cf995dca4a60275778d6c1d114cc6899e6f3ebf6040c38552e0c4190b973b22e469ebe75deae5bfbd5351c8f9d46bdcd72cccc15378eba04248e3b935f87754a03e53fb3cff94e6a9678bb75838be68a86230814fd5e38efc939ad03b09e333989f5580078e17d483f1a2 +S = c5fcf6db007527d04b7c7b2ab744547521ca009e1644f20e793bb51837922ae9411fff23c646c2b56d99a3cf24b676b7e3cb036b6445c33629bdcc979fbaa280ff8e1c1c9e66b0f453633d3933b788590302746f0cad1be62e6f0ff1457358137cddb8574f9df59be5192a2556b8689beeb266a5adf6b21ba56e6b7cd0d6760f5c350f2ffbda1fe30fda8e2cf563f96d85cec8051c7b635da259dc30e868d917fa31b21e91caddfe5dbd21475a98bf6ab4cbb2d62dd52e35a3320f48b027fe89eafc15bce8f1a5e6c5a402d0d87743d3cf6950dfff4c616da976fac676cc944296381d81ed8c8a782adad29b31e4b2343e92dc8c406e022e566c0b9f5477024c73b21dee60128098d2fcbf67273aa12f44de44ff22bd36a0292723d026e34a0f1d545eec9fe4024214aa647b31af4a5d7c8259a720462476fdac9aa480668d726b9fe4f3c220bb492cd871f86527072089d60872fed7721f4764277903f90bb987af661b2fca1d7ff12694ab654037ef9146480d2c1c8c6c5e52adde601bdbc1 +Result = F + +SHAAlg = SHA384 +e = 3bd4ff +d = 0 +Msg = 68e2b0476e66a61efdb9e8e7388840d0e58e4b9812ad3547ff3dc41d38a498c80226b1daf8ff3179f6af63583696fde7b9c0a2c7e902ab817c4627779b23201b44b1215eed9bf46c6a75b0961050f48f1b8c6ddc4dee9e86d8f2e0127e63a7b2f72808bd9361785d20b3d7880edfad31d19ab3bf879995bedbebf6d4298bb4f7 +S = c25f7a4c2998ac04d2291a849323fe2af98810e8270474594d9287230da4fb4469e198a6eedb1ff28bdf780320da132de069af846a8c88560722bcb59acfcc0a04533de1a69175d0d16c070098e43042af12fed1d5996c1a5a9550055440146ac83913427c6d60be2cbf0038c2b74d297f981af211aab0e08f89bbf4bf37693ef40fc9f44bb3df2c23ab3fd829c483f6704e541da8c842f1c3096de5c30ab6363fa2ef55b99d7ccc31b65c647893008b5b791f388f55ac1dd6fa786cf317c41a0a8eef2112549b7ce8030d403742995890adfa2f2dca37ded1a60c0fe987b1479a8ffd7272c7165c477e311cf208020d840cbd93892e72f05186a4aefbdfc0c4bf34525bf6d801bc45bdc41e8a1bed2cc7862ba789091bbd388a770b2c1bbff64416d7fbeffbe51a961f0fea7ec7c643b4d3f59beddc4d908dbdaf028c3f1ed10834c3e4b6038a53c24f102d5d5977f2d1573ec0273b0b16b9278e291a542939e63b5854c293bd42a571f286b347769e5d73f38ac034cc14dcc0b961bb0af5cc +Result = F + +SHAAlg = SHA384 +e = 10143d +d = 0 +Msg = a0a014cd11ec9b3df8d54647f5ccd580dbaaca2f6197c0551b2bfeeaa9d44c6a2f780690055b6e61af42466d0fd99f52d952ec81484f5a450f0264019392a1b957c1e1d3b7cd791fda93db16e2fa6a5f658f8c98216d0052eb60725de94a4c4701c5d01f9109647e61112cc9d6f9deb068abd2fa55ba5985978e508814c2f51c +S = 19382307981e33064a7836168c5302d691c9a364aa0193165d7852145b3ce74cc70439ee2652e598c153f1bf5c0e2e7bd628f15e797a974efd47cd70d368d9cc0c4d7ad8e41973c935e81a391e56c1ba9b486f59653cab41f5f7a0d5ad0f9730d45c6e2d00e5f78056d5a527ff128c584f1735ba1d4436bac48e74e1a387ba7e5de21d94ee419b466d6d01ea81f5fa7dd395ee8c5f0762a08799cd237d4c078ade6222dbc33ec83736760fdd04a0f911d9a1e6c1f97a57b1dcb9deb53471751dfcd83e17539a0dfa5e253aa0616d301dd613a2de4873fcffa324700e2c3f61c24b3cdb0e0e2cd33b33bd97e759d34693e18a6a40029c00c5f7e9d7c2638c3f6b5df9ee16da4ea4c1556f572d4c935ef1d091f313424a6085fdef28f76ab8562818cbb19e0b794669f6e6be366af6f0a43fc85bf82ee0abe8df1deffa4b1e7ad16f8feffc7e6b48995a11bcea982c995ee676985f84d47f93f4f9973de8aef4bb56cb66c9ac2f02b75f9d96a097b18a13007d716158620342e96961d6b7942a57 +Result = F + +n = 9689eb163a617c0abbf01ddc0e6d88c37f8a6b0baec0f6cab8f8a683f372a53d028253a6ba502da462adaf4fd87c8dc2b03b6c07c2b6aacab1d8c8bd043d89f4effe72ea2547c73c6366a2efab9c916945820fb880890bc085564e57ee76f7107a008f71e941e9fd631aec78f82e410ea9c893faa3d553cd1ca628af1087ca1b0c6aef3b66edcee14d1d7dc48293ddd7deed1ccbe487c957585abb9509151038d53f46b068e3e139c7689bf8e8d38669896b8d082e65e458e1f82b8e8ec926e7aa0f97d08526e9636f2c00af4c2bd3d8bffc4bb93cd47b09af18883e11b639d47938d036f7cfeb77db74a2c09a6dee9df98b18eff2fda7d3f4135083bb3b59e2172244ec37bdbdcfe6e199d36dc949cda1cca123fb2be07803d003d76af3d7164453df77d44c7f2599636ca44d0b7a46218326b0c814ed322b9c4279b060f1b9e14b70f55a3751c4343763cdbf9c14637d2210c59fbd037be17ea6706846fdc7b9ab90278c01c458e64442f9256f3ad1cbceb22959d495063aaca1a3959eae03 + +SHAAlg = SHA512 +e = 4df3ed +d = 0 +Msg = 54a8d256702239dee2ebc1dc681938b467ce4740dc5fff1796b5b50fa3f31000085860cbb568319bb746216bb065eec9845fd3d95625159cb359d9720cf838de6a3c958a5dc12e8b35e6f2e5757693528588db3fa7a343182c26c2c5e8e7e375e31b1a9a51765834c593dd53a1954ed7d10f077bb921b2126be418101e08384b +S = 869091f55f7e61bd18d88b974ddb408df8a724ca72232b6326de301cfc985e8db211180ad2057a4f4f73c07e48973b00d2833655acf393b31d155c11e9ddc05dd5f4516ac50fbc674cd0c577c79b00e5567629cbcf880b729a7ae0ca9eb040fdcced198243d40f5e3b59f35f2992da079e9f174844f1b2d0f1307624f4d868f558dcd1c6064297a152c816db1ee5848f9e670d8d837911c85b221430b309dcfb4853c3dbf6a2d8c8a6cd3d697ec325da6d8740081bb86e98d092a8794009915f5f55ca9ec074cded2745c50f328af98f78edc94cb6b416cf543d59a4d493824462a21fa6e368943d9d541ac233a7d708fcc7248be670051abf60199c656b8595dfd29e19a207d5c2d33a97dd7b66737023e62bbf522077b8531ededd070a2b17f7d1f9dba47a89585eb72d21c3dc6fb321614604899553bc0834baf3b7647a4aafa046964a805f05477c9e1def5c40430e82d635e7f90713e822e355edd10f2a65c886c4d94bb306bac35dbf307400eb7d8caaa36e167760209c80362e8c763a +Result = F + +SHAAlg = SHA512 +e = fa3751 +d = 0 +Msg = 6459ea1d443df706907ffdd3ca2f193f93f5a349b50357d26748b767cde6ab5cbfe76b1acb2b9eb97da5c4d2ddc8d18e3a3b1a0326d475c1c2c49ca73c0fd3fc9540cbbba85ac52d6811fabd693a3b09a281d535715ab784df3ad7292606d15a70ccd1a7e2b1b48ad92a6a3f736f9fd5522d9a869c7b654446102e9493b3ed9f +S = 2b72942573b825cd1f0172119c23440a2b384b7f2a3c5582bb02f764e2b159ea9ad880ca61b3df7ca249134f4bec285083c7ebf984b192808e916af687ef6c6a9a6722a4fa9189fac1521d03853f3dd5a95ff4b9dbdbf3c7077f720650ead01945ab5bfee582ac1643526fbf68efe1bb3b6f7d2b4b01f2155aaea38a2c7ed29add23ee791a703d11e3b1b7c500d9a6b647c1337bf537c071e5bada6faa025bcaf5e5d1196998909c3d64758826939ae7fe1466dc6efc10a2b25e21186c2d135ceace33cdf490b13a0d10c2527e04200aa70bc1d4f3cfb04b5d2bc17aee881d3a788401f45443470bc639232088a9553c8d792aa5707654f075476a66b86368d5a92b4c84a3b4baba1b0b98bdebb85b48b82b8409f2e9c1aa500670329ff3b6e83e25c561110d47b2fe93ea2946a74f9730da9b7d126f8d7c3fa4a51fc30144a827831c186390998d552a1b677afe5afee46e9d4a5774a56355a4d1967677e75d176aef71c3fa061644d7a9582385877de67f87724b0a6e868f3a2eeafb68c53b +Result = P + +SHAAlg = SHA512 +e = fa3751 +d = 0 +Msg = e4dcdd4e122e9466560370fb59ee0c4c323fca47e57772a029ff1b216f194f411f166af725ca43d0ac3d0e4029a381359c8e36f21363511b6f0a620c6aea8d6fd915e80e2fbf24e543f5707c538c9a744857775f3b9d86d539c9d0c44364120799411e3a39f77fcda2945c58dd909f2ebe005535680c58f50fa32cee026e282f +S = 2ca1d1fe97e0c3724d649dbe493c4bf8825d72f0e1717a6a8767453a3ef20bbbbc62fdcef7b816af229dc1ee2464a19b63825f47dea9774745dfe4ffd36ea72eaed7137412bcf0d0d5a9ffb02ecf15309aa047fde0a32a16876bcc33363b7290b6ec9c019d82767d36dcecb841b6946dac889cf3e11e614c4dd07e594c50e1557665c6ef76ef2205d57a2c8e6d0950ad7e4e476ce2e095f7e376c21f96c38b53327c94a9c4547982ce396eb2070bb73df03a09efb3bc6fbe5c35dd89e3ce54ff093739c678aeced539f04aee3c4d391b1399cfef4e24529033098a29aad09e715daba9c4323837b48b5292bcbf32b39cf15c6430714a930bd840b8c15d7467e71e99ef6726e1ab3d05a0e96939082391956f7f0492676a05771f695d24d7c7c22c64d7ef99a295ce34cb882153162400a9d6bacb4e1002ee51317477fddd9923fa1af2ef60e40da01fa19a43e446144581b3eb8f4d44d16b31c0b155c7e95ec52da4676c6abc1075ad271e5b39a5b3ac7672f1c65a1f28d402c691e8024559a +Result = F + +SHAAlg = SHA512 +e = fa3751 +d = 0 +Msg = eced7082ee6e916e753959e7dfbec00d9b424b64eb90eb2be7eb22e9c648674859bacc26d82edeeae158cc14beedcc19e713bb6dc71603e1c35cc22f799b29d34549221d0a5435852f14ac3ee77ef50eb69a495c31378b8b05dd73863a03eb9cb982b98f0c4a5fe766533f8ce3d7039410bf3c5aae5b49d0b3557b1692e8774b +S = 11aa09883b9f571237215bacf3ea7f100740a1bd72748804bca39e9ef8527692b5a8e1f94d255cab186edd16fbe76bb9d673ecef79f2614fc0bf4e2b3c28a93c39e6fb31de6c21dc93026f8ce717767d57bef1c91839568b9da11c1b48cd7e53e132ea7f9b12f80c3bc1a6b9ba1e7d234ffc4f251e6ada2588b21b457d9bedb51d14b1214144a81a3b987f00b20c6cbb314840363fb4a605495124abd45ac3d7e9d65e8b95dff0ba916d432749dfb24e5fadac418ff716097d86943a6bfa8dc5ff27dda853c63c1b2ce3383bd78197af3e30635d0ae65e203300ded374a790245cdf4d1640ba5d0da8d6ea35ba0263efde90c7b1a8ac1e3cd0f843e5fe57f681055de7ffea80e92af36bc183efaed08a5842f9bc8369626d60ab2c460de622b9b3c36e6e559787264abefaba843bf443cd9443eff990db82feece2cdb5e336f84f641176f82b41efa2377737089792b4a9596a32cad5450a5f6a93f947d249dd734be9b3cb6c825af53c27070eeb7c1713aa607fa89e44a542dac00b80bd246f +Result = F + +SHAAlg = SHA512 +e = fa3751 +d = 0 +Msg = 404f0ccd8f6ae6f81cd7a4efe9a1f630c56ac1987002698e0138507e85f09a89e976347a1a1214fc6addc20b36d217a9c52844d274e017b1109a7a1484ac3d1eb475153ba8efe459ed843a5638231cb44d9205941f062be239f103cd5c1b077a6af4b7f98229de786d7516b639ba8ebb23500bc7bb9c2d8842e5f48f57648205 +S = 11368e0d1b3900af8ce2fa432a871bc448e0d49a71eee2b201b67b496ce00854138386c3cccd6e4210f84c2e1de653f70f16d0240666fed5b9fcfb247d8c77f0ae9826fc32d0ed6aff6e94eab735ffa2dd108b842e59e7d04e3eddcdcd087b30a3d65cd9f6566dad10bd2e9d7bd2b6c20167552e77270ca43a1ca5aee8c9e7bb5825970ab74ea79d3ae73b12d34274d58117b568aa724a6766ed40afe8d2649dffd5bb9c1c854a70a10ac5459fb9bfe4bcecbb04103ffba4d314c2c5aebd805acfdb113f5321ebfa19d0c809e8713e35bdaa8c7930c2f2ca5792206aaac8e44b4cdf1434f04acf6c1df428843b14e1c8401555742707bd5f9e4188f38206fe11c13f29947ecd97f5f576d4ebeffd1f29d38e43d76348bb43840d9044fb7785a0d7d04bb27206b2907759c29a70acd14dceb05d21e7c8bd907df3746b666a40e35245f7bcd723446b4e88ab0e2d8d5b3456041ba111a8276df1e4625e5863c5dd6b2c7ec1ac55aac7eb8373cea752a6396558fa7adea9d8c4fe0843241bd67f2a +Result = F + +SHAAlg = SHA512 +e = fa3751 +d = 0 +Msg = abdffe0b951a91c54c7f00e1ff8e98060b413f131d9cb5589a861a053ed7b1e203b2e3414415873222ae60f527f1e7b529674b737149b7401d4dd3afc3c08d8a57d519c44f3d36af04f7b46f5c6a33afa6b12d92c53637ec918283b37a53aab06fefa87afeb928a5bc020337e721035b4ac6ec5a618bbdc6becc33f9abb98fbe +S = 183fcc6e78a7811df1b7442c3bf543e198ce6c691ea6b3aa1952bee39d3218a2b1cd55af26efe672b11c640af1de241fc1289cf10643992fbfe604e1e965d2eb9e19f3399d9fe174ec4129bffb0e041b15f8b7e7b25b535882cbd5d6983d8d84dbf91daf22078579670f70e1f46b723e5a0004f1870d88daa8d7d22df709226ee6d7b484ff47a44db43073f65bc6974493a807391861adf95535b560a47e0ae96af5239aaf1e524758ab6c7a2d3bdccc2f2cc173251954504b837e27f32e699e7604a11d8205893d8cbf9a5852af1f65f8e0b1e1851b4f7a80ff929d5f4f796aaeebddcbfc4c3835d6381b2341404b77d90c78be4d97747b2d6fa9b88610963795ee95f70bbc897b486cf4b313ade25d56ced2e8b6584b921567d32cd627e9497f39f743f020930cf5141668e127152fd92df34b44e3cd142c1668fd71f7f83246f2be3b2ff95bc1ed7e193d75adc5369fbea93314f03a305a825946846f59af8c108a14888e894872e4c0086599faef2f5a0edfb4e085c0402cc56e69930f59 +Result = F + +n = da3428fb42c2bd8b0a954bb132f3334b804b163913398188d6b7a8433fc66249a300eb5e7ed2b20b7e22e21caef328071993af0200040247c651a57d37160bf41db0af7840aa731be37c3daca590388ab93ca935b9ed94962f3837bf7df344855b2ce7eb4c68485c8455a16bae782d606a246a1a66229be6a4e3fa9b534c5e1c1100b5a15551fb0a70e78612eb2116f1a38fd694028cd2172bc7699105cd6e4c14b5c9da61819048c42b10e31c3019f8c97825f7f70312ee3e6348a38e0b4fe9d567e1a4087cf260944f57cdde56dfd9cd781c846ec73b523bda1539130c1750f24cf0b6d0d160f4492ee38d31bc44d4ca299effb4427e2bd4fff80f7d19042d988713a84d470fdb692a296e6e14c68d561addd58863496aba014ccc423cdaebe43874c90ba0981404398250a062266e372a9ab7f29c236225769f0baea54aa436705f0dad5dce1d608ce27cb34d22ec913c99c5a2d28103b0a88c8cbc3b9b37525ac45bb39d26d0615fb0af055911bcad4d724c208e1cde40259578df24ba3b + +SHAAlg = SHA1 +e = 8a381f +d = 0 +Msg = 8bd0e9c0054beaa7d19e08483fa541fa551ee71421af980d4b2b71e2f1117fb8ae5576c3fc63a666bd622a9c14b5639679c8a5a60d092f5b2a3461ee3fd429dcdb07bfd5078192d5d9d3829146ed4f1438e251aae0ec6afd4eb03a7e3fc39106366c2abdceac963c4e7b76ee7e55edbcb9f555e94461313ade26635b98e5a07e +S = 4197ec722775cc065adfcecce1af88d2556161466124f358563c84c52eb4ff711b9afa9a6c0bab52ea08f7a6f434ea5a6b4dabd3554baae2330b1de68e62d83c2d6217781c6e38376f142971e13c8806e0bf467089e3dae47b80f9f93e8677209f29d0b20b474ac815a2e2388b9d34b838373401b72a33e30914cc0ce9e1357d00f55d9736107d3db204bb13d77923566d35715a9c986f199d5d185f02aed6481dbd116e3fbc81c3bd4e3438928d3c93f63d9566b4af39bdc6361783286611a0bee9f326ac1678ffd9ef517ea0a6908cc38d3b153e68ce79bcde3c2f33d240cec3066d8c05af6d38008239979dacc67c2bcc14212909f4e2f92b654f7dea995cf006088be930061798d5fd0e4851c65d5a23b9440a83aacca0837059e85f32d16f390b02a57b910c6a9109f8d69af07d7a8a44beb4ddef724bdc475369ad34510b8edb5c2b36c9f9cfc775d1f1840d2406943048ba339d94f7f226763c17425543fc5d2c4f0d9fb0f4ca98e100be9c2917c13ebeb90a9e4fd235671cfca89769 +Result = F + +SHAAlg = SHA1 +e = 8a381f +d = 0 +Msg = b8012a53d58a2db0cfa9e680b24a6327a01873cc7493650ea46213f26cea2020291f7d50039a32ffceed5b66323370ac0aebca5b0b066311a63ede782faac7773e8f1baa567a0b10c48bfd04ca14d46ffd63713becdb790b024a5929ae7688bfc0f90c4b174f404d792ed442c21515d641286f565f3b3064812d8eee3077ec61 +S = 584351aa09ff6cd9da1771735e122bea891e20c6c3e297966885f7c7768a395c455768a8c6066018cce86d2effd909a719bd7d712072efa0aa530b9ed6a1a24c4c4f589a006c077ffb013f4fd9dc0a9e13b516a3234d09f79ff76e8d46a8c5f1e41f229805d9ffcea507277511b5f8e71d13568574d01759cd851e2b6cdb6a7fca280ee10d7a62ae15db9069c0438ccfdce2b8d83dbc7e5abe6ddb1813ce1b7aafad383455b50da544bdec9dce0d93894927940d17159f1f82bf44dcd8e69631125695b7cbed538ff467d0f53258d815b8a817e79fa238eef0a26e53202ff5e2d57b547831eba68f71ee81b1d4a5af42de2c5c4e9a8e4d3f53d6e9832e71de9590851a5be5e18b381c94536313185db54f9f03d362971b13a8612d3456cd8d3f15644fbeb33f8fb2b9b6b60522f49b6c6bc5d6c3701371f66dd115f95eaf5889893e27df3975ea90ee3e8b9438e7dc26ecee1dd9fdc34843e3188cb020778b4ffb8b52339405f17278be0e6d9a227292363829cce7cc3ac2ba1ff90cf8c09dbc +Result = F + +SHAAlg = SHA1 +e = 8a381f +d = 0 +Msg = 803aa22e7bfadb1ae48bdc6dea805f2951c23650d81d2056509c6c2a432d823fbf963254a4aee46e6bc0bdd9a7b7eaceb85a2b8a01a0959826d638d61a0a19157ef5ab3512c6d62ca6be887dafe281870a442e9dbfda2c69041f2c027323ec4a64f5572024b722be3bd1b6ca8194a5babdfcba0c612e57616ec3c02fed0f6e3 +S = bf3adfd66bd872ad41c1b2465bee7befb88bb46c36d1a113ee3df6e0d2547f771fa7e72b7ba22d86673912d70b8ca1bb61e6835da82f6a272ee25b4d603bed423d6febc079a13f9140cfd22fe2aa9994125310b8f4268b3ebd68ec0ec781bd129d921502ee93fad8d96d006996e44d662ddca2932d8c06f088cff205e5826104b7f2860beb589a5161e8c0d5454fa7c522e395e843f025e6b99af27951ce577894adf63516b7fc78a6bebf17c287d199888e5237a17a88a765f929618c53b87a7e4660507dc7fa3e4ffdac8eee8963a960eb34f0f974d83fcac38223f24c79f818fb46e767cb3a807a77d6fdaa4d1b072f9d20ef025329da3f2933ab694b838996b0e6710cee35339f4e1cb7a145e3feac23847049977a6afd55038b8fd9449bee3875ca23708932d693657167ee577fa56d790dbd98537857a5d67bfa5c998c39af621c43c5ebc3976a0de1dc09890929ac3384abcfc22ed1c965254245bb2c6f68399ad3b9c4e6499d1f09ae800a5d6fe871dc7adc98293fd86930aa566523 +Result = F + +SHAAlg = SHA1 +e = 7e024d +d = 0 +Msg = 66617eec7cb213d31a231ddbd0d4cebf80f32ac36d81bb979559877f416e3fb1da54b9fefe02a0b5d3d66bc59bd98b218945e969d3448fc609fba516a5c7a049e3c6b60ad39a95a2ac69541a6328aaa07c1a5e2d2193fe647102d4bc1a2e16e12ac05d58220258624ce6c2244f4a9104017a71567cf770387477fbbac82c0943 +S = 72d24f9b4b3642043b7080ce66d5c2bed95b1a710776ede03cbfef3806760a6ee640def72c6b04477342dc3d1109d06d58a1880bcb8b3ffd8ea15c2e66de6815419c684962f79dd0c0645b2b22cbcea29c7ae85bb5e689ead0f07350a3cc8dd872698daaafea95b014e12132df28b50e63f7c011a9e6a7184376223730119b201e8ac5d61b6bf9e7c2896fff600a119300bfb034a985330de944ffebf67f720a33115fa680e02bca71eed92d0160c83a037be1bc4383c26ada8e1298dd92d0db9d7d918a59baf2c2b2b88e7996f630d5f88675b8cf80be841973e3c1efd0a156ac9f5570eb2797ddd32cd4575fba8c3ed5c39236af3845bfd95020463ffb983b9a0ae24bd244f20a5ada496f58c80fa5b16dd2a8010abc86c7a8474621d4ebee2849ea96e0e94956614ea0818c425c0ccbbff20a62cb7d218573f5aeba6920f75a7fb26ebcf5debc473d4a8daed02e1eab16212ed268caf07c2df497d1ef6700f47287b80c6635edab668c3665ab333617daa98aac9c1f71f749bc1dc2bb2428 +Result = F + +SHAAlg = SHA1 +e = 8a381f +d = 0 +Msg = 1c7965099677664f23eeec41046865633a36ef29f6116ebd5101dbfc3d7edfc1bbd5a0674fcedb89b18c330cc6b4c860ced20c02dff8d24692a8a853fcf3676fe0e3087d2217b9c37fad30f17c65405f9c02aa97d6f4351346350148237118e3f1694652f8992b86f4188ef70ec1f4e90b9071eec44ebfadd6718de19a3e19a5 +S = 8b7a7e94dd13ad803b61a100b66075f011b9c52d8d443c49560f99256f0eef53a699d24dbd8aceaf85c2fc0eaedb6e34f1bb4e5a58a171b5f08170ff865cda853e599dd6f7b88c32678733198e1ee4eb586cb360f3ef8aa3c034557c49cc39bf02a5bb8b4f17aaf7a736b83d2965c4ae8bbf9cc81f3f7943dcfb74caf216b745f6fa6b941e6dc5d535feb5862864d4ab4d4258d7bd1f93ae81219f88d3b8790cd40e2c222b074a1d396a92f75bee8e088e0e71daa7120256c5842dc4abaf04d9784d25dc6374c0c33126055c4367d841809fb21f3a3cdbbee5aad204bd89b3b7aa4995154b4f2ff3896c936a1b8f41a95db16ffbb733d6abc23889ea2ddb07498a3bb270e259276d4bfbdccb94683a7860de3786c93b19e285685f4397594d1b18c1dafb09e614e8e59760968e14992f9b1b7bfadd283c3493ad5035b79630846b349e3cd294e93952b40cf4580e4fc24fdfbe77aeb92f8c6afe03624be13862880f1f939c21cc895e62fa4c78a3b95341092a6abe7d21b5bf5528b2383c20e6 +Result = F + +SHAAlg = SHA1 +e = 8a381f +d = 0 +Msg = d02569c471a2139f9265920ec395fd1803fe857d1e1063e03a2b0f2bac1ab33010dddf8c98ab7ed1a43709e49333faa3d91284cb52138119d77bacb00e2110bb8630c0530329c9a31627654af16771007a07217d9e0ef397e8ade1aa52c5db3c5ba874e15924dc5d11be0e09853b4a780d65c659a90ba19f964a18e01f0bfcfb +S = 40bb34f18580db4e1af934834953321a7fda886fb8831041909abfc08db1aedaf64115791699180c18b14584457933033e9cd0347b3e25dfde4c77bf5983f8f1635cadecaf7b109f399ef891604d4ef0b8bdc49d24011e7b1e4af79c34d0616aec06da2fe4a88847dca5f739bbd8c4dd6e4b196d8117f666534538ba180f703bd5cd87a9de0a50cdf2ed4b9e542d4ea9c2eba109754c55bd4432f37dba8708bd528a244e2b8aba7e8e56facb218391ca9dd29d8c1a58d7bf749f047829ff52998649f52ac76cf540ced9bc63c5fbb8e470a91fa0aba01bdd1fb899bac38c7b9e6c5f69591f63af213c2b543078ff3e29d02327aad6242511e6c91b37074a94ead1753546d0db25048fe2f3d10dccad0624495a3e1efd1687c9d0854fccbaf13e1e4892ebaecf2d1336681ee4f3888922a75424ee61d229f2f85984d187c9955ae51e6707bda528586b7e373267834dbf5a31332e640b611be64058e79f02fc4fa02e2e238eaa4cb725c471e9c0e5a48bbcd6efb9fb851cac9617a4da16e17166 +Result = P + +n = ca5f49e34545c5a0c6b8f0a02554ed42b52c19ea3f436f2eda6245be8750a746ae72f701b7a40bb832c507cd61c140165ede9d40d2e284f3f89048415ad6780deca914be8530dda59a6a2b0e267547d282b96480c31393a6da6d94f212a76e48490c8eeae71ae68a8651387b30f7e5dfe083b7a8a6dd0d6f7cc5a2c2f5cf16313e1b81f55d6cd182dec2c35120cfa78b35d9ea10cf78a8226122ab1c527073fab0db3729f8ee0c9f7e613f50f38d75b6c73d5f90f1241f0094c1cdd530525a08df53b25159ce3551306819bcdb2739d8e9dd647abf32b32b7946b9a286c42e1ebe287eef6abb73e080403b573f819ab52e89d80ab9afbb96a3ac5fcff7c58846954c7173af70f3f40a133d088ca7d4785eda736d741071147867020e8e4563cc3c9e4802e64910fc12a1010c5892341f582e8367f68368ae0fe0f9245f943ce7fab63dc00dc24b3b0de4842ceb84bb3d4f96d76cb85f05a1055b2b7af4bceb94fa442305b1c83685a2c737e108470c518ea61ce387ff185f5710b9dd1db367eb + +SHAAlg = SHA224 +e = 381c9 +d = 0 +Msg = 8255e97a8bf70c3435b7d30c682d83ffbedba83e3711652f2e0e09b58b68e2b13bae56c9dd4b2f68bead370508a705a9361416abcbbe20be447ea22f4ba4c0672d984eb78ec22b555ca8d0a1015628addd03a3fdf3f1868be295850e18f8937c425df9ce0624a503f5eec567bb02951599f075bb16743f9df19cd7dd592d04f9 +S = 7415b01b308d0fc2d8e4375445016dd9c6d4d629ef7d13137d6b753747d4fa5b9d47c6bbc64a489a8a70c7ee28b985b56f4592d6376f0c038c7e7b2133d5fdd4dfda6fb0ce3bbca04e21a5b8c14b7629ea3b894b165d0ddafa921dad32982f6aee071a17f77083f651fed61b7e2b1420741815037f307d1916161358ea4874c30d9af5a8cd8fa1c3a9e34f0a99a583aa6dd92151d57a2b8c9a3c72ed4a0d326dc866a369db22ba4ea116f35402ee6eda2fc5da71022012ebba006af436679b6d504cc385c739f15248f1c542c860510bff15e6e928ae547d04c356ac2af71da026e78cef70b1341ab66f602524c85157c4a14f87fb23885b165e73113ee9556cbf01068c2a1a2209d4d3d851ab7a7668c71fb59dd76d72ffbc7c0c3a6af22a2883e18437774b54c3c00ba1f0c6e5eb86fec2040507d4e3689df1b09d0e1507bb40fe8e641e25f0d2f5eb3ee0556a8b644f10520ceeb1cb36738d8c5da68ab416abd2f215c8c3dac42240dee316824c9718e89d7ffaf25d828c1b73f40d077289 +Result = F + +SHAAlg = SHA224 +e = ae3e15 +d = 0 +Msg = 5dd2a6ac86e9ded6dab84d35f7f22a376296cce8ce1f10c09afcfbbf9a3fa0bd1a9944fb2086c1fdf2c5289cd80baa5723f8b9ea6e4a6a2224511eef43a361bb5f1012fae9d8c502b11c651daa931edded7e79b001dec9b45ae4c7cd1fa979f4311f58d26848b18d20a54ce2f4f24c74c91056630f43f521439d3d81b8baaf11 +S = a7c2efe979ec7d50e5e7bfc31021f488c08f1f994f940b6556c390a3c07c4ec26e8f164a387d0d833285159ffbd23756a3f0a948e7153044296f8d72a5784b09f2137e3cd748a4a47fdef10a75b334d6ffaa1202a8cde689041925311393b81cf9f1cc45f3e60c6f279897e33e72bbd43895573188873bb86a6a9c7da7181e485355e318dfa94ea1915f1d9ca2d58d86ffcab1c4f57488b1dc29d7d9d81aa229d34d6ea7070bed6ddb92780a5e92e980ab82171cdb684df1a04dff080ee895f6707d4825c6e691c1e8b16e539da82fdab84c11412e8169d14751f15d015e9c42322ddf52abdb2b3847a92262e8c636345a19d7ca62afa45a8bba38912d555b1d638dc4bf15278c1ad890baafd2921834bf4e1beff44863447c16fb41889f68f12ea23178031fbc76ab18df4ebc8a2de8f8d232ad2a32d4a0b2a522523a084bdc345eb52fc2d4a1d643cb8f275f6f2556389eca777ba9a19ffaed03f756a7dcb24caeb106e6141d5aaa7b6542c69bbd1b257504c201d8ca40910d7b89bc627545 +Result = F + +SHAAlg = SHA224 +e = ae3e15 +d = 0 +Msg = ff284d6d1205bd4f163b8ad3092aade1c393ecef7043f6c743f2af8b696ac9f73cec94e7bacf1719356a5f334b341708192a5917ac71c454b83dcf2c8df15cc3468891804433e3cbdb4373154a4a9e19f17dcf62be5d980ee99702d1e128213d86c4eb4098794aee6f906f80edb46a9db256f7d98e4f9b7c3cc7f0844d563ded +S = 5f34eb93d9b90a04441d4f5616d4eee3ac9c011ac596b88d8def05b3c4f9ccce33f49ce1a5a27e435bdc2235502131af2700cf7bfa58955f23ddfd9dab3d1cf9ddeec831a2db279ceced0fff333fdd5b31b9bdf44416073b6529d17f374e7efd3a9d48593c8033055b070fb1658012397053d9dc955a9bf38cfd037ad0afdb8b7ecde81bc900311fb6579bb604e74ea287f987087ad25155396923a2e0bd63e484d0cdc6d6253c666cd0084a141c5fd9484a47268c02b83af542dd8b306b1035145fab348727ccf74e114e415706e2b9c56081879342ed3fa15db664c0752ae578b12634599751c7f449235b08ac844cb46c535f2541f769988af665e2d683089a99ef857431305ebfe1899f0cbf5443a5ac9efe16c16e01b7281862fd447ed479d1bc808bfe5cfa3fb59dec072e9cd17ea407ef42e73a768f95b3bfa9f4aa773b85e37187ed68016539c5bdb1b00b8f8729b1d483c02a6dfab7a0fbdb28eecf7a81dd8e090606667d0df4122d09c45a606ba9cea7c3036b359e352d750dd5ee +Result = F + +SHAAlg = SHA224 +e = ae3e15 +d = 0 +Msg = 319eee26336088f729845332df6db107d472340f4c995332a1a262c8da48c1fe7ec3537bab9131446276a0dd25c241b2c4d288b574d96f4721e16c5c050ca0da7a2051430c429a94d302616d00988a71b56d6af01ade7fc4ad3c5e78d917ecb0cbbcd1c481fc2aaf232f7e289779f40e504cc309662ee96fecbd20647ef00e46 +S = 4a3ddb67e8946e7b984f10092bcc80014512047e19c70258b8addefcf362f92d80080ac594654658a61ef50ad575549e0a46bd04fd062fb68cae54ed8ab0ebae947b396bd98231b0f21ec172667672497f84bb6dcd74a5829d19578668ad58b04f4432017e6d26a08947be4d48640c86de6941de482d7c94bdc40379d889656f6895fc9e64b86c154f2f38a16a440c2e63e7aeb94ee03e69b89ef0311c9c8a633bc15f910fdd1950e668fb2e0c28cd4b8297286c17ac2633e9f887179ed48409403f169a23862889bc21e9efa842433a1e8421aa78a411d048d795172dc6442e3f5efd8fc786097cc30425c18bc581c0b5c4f08f9bef20213e451cec080884c3a3938ed94bd24a16cfcdb1969cb6e50418ac3c11e41a162784f28bd8ce95b3e7e379d4c7c8dc198f3f6972ed03371fd093976a735b4dc2e7b849d56e900cb51c5910786e084d072d8eef58954ac4f76798678ca7fbc65a6266bd4154e23a08bc0e6b745b831fbfe817d41a97c1571d2f91fea48f8566a5fa4619b52307be0dcc +Result = F + +SHAAlg = SHA224 +e = ae3e15 +d = 0 +Msg = 5a6591198a8b3df598c0c430b346edc8f69bcccd3efd390b392e80e9c0755a9167e51c5152e12f414ae0c0270f6eb897f074ef5f9ab89c222ea711429653a50318b8f1ee2b433f748a953fd48884fc3fa3620f395b82124245f958b65ba2dbf2966576b8bfb855d58265a900c48ea00636ef94242a6483b4a6abbf0db76ae6a4 +S = b0e67355c556839445511499d9b06a335882c57209813ef80ecbc7a732a548785ed6361a172faddc368e14537bb663fe6959e05fefea37e3657cc1fae9081d2d99cb698480c22482cd4ac1b71d93fcb79a93f1f66431e49c4848a1efd76f46228768882fad68239eaa9979ba7cffbe969d0a50063ca0012378f9a941e523db070e21caf99e73ffeb33b60f91361c86bab2ac5cbd2813ec948464f2439bcd631f4bcde2b3a55ff296ab7437bc859bbb6e4f96da449f60a332de14db8419ee7c80d81acda6723eabb5c554b0485a9bfc8091277927735552db70d16e4a4278f0136c562f18de5cfaa066b3439909bed26e57ae92c0e46f6dcebd6eb9a2138a2f4a97d4ade44bf3fdddb4d01abe180c8d0b78e254bfaab762080a299af4cc1f5ea818d322cdc9f245125e889a73eff4bee650d0feffc3014ac6a358ceba27558dac8f949cdaed5e855a0a0d0d960c1f618cfe599fb96ae50780ded4732084d131bba10c14b2813380d1c722b5163a16a88152c35dc630da42219ab8ec489520accc +Result = F + +SHAAlg = SHA224 +e = ae3e15 +d = 0 +Msg = 81305f4d868289affd80a078bb41b092cd29dba8025ffb3caa8189f49c97be357e46f7f340475ec8ea17c74398efd882c2f66d03c1b63ab78fccb358cfe428fd0de535ec466959afab70e56aa255186b0e018803d05ec3948e0e37ecb25e4fd1b675dfdda0d2c28dc8f5c294e15bb77537b0f3503641defc2cb0de5750eb7ada +S = 8161622cd9040cc4dc4f2b1f9a88c7e743ae44e68c263f586eb3260fc5ca55c110cbc1841ca6fdcac080e16ddf6c6e56cc9172c57a0c5390e72bab8385514a7f881cf31a4dcdf7cdd9292d2e2521809355df5f4ddd7ed44b59a600f7d4a1c657f8a83830bb0b95f0c7ae61bf6bd0fdbaaa4a904576db286c79ef6f22f2a8732f4b51ac878efcb6b064783a3d3ad199dffacb51a8ca0ebe7fe36c5c1634db3c7b22047d46b40222b274443c007a58e08ffdd891fd213d89366287d6553b654c672dccbbb4c4d3dc07a07371500d1c35f96a0ff5f9dbe9ef23b87fb7e78728241c465a8697e6d6245244057ce4ae45483e8b2895e52a0643c66484773a43410e4dec60458c5a5c88e30e36a007d2c4076da3b92ff397ce7b56107a3ae41cfb41788a9580069c5205f19118c7c546fe832f375c3fa228cb7095aa5b964e9d48a2c0c76a5ac6f4ca55eef0ed051149e4cb6a3eb5f9c5cbff593cb4d77172a2d831aba7eeeb8e884b753d61d613d9c087b2a408e40e695ddd5029c032fa6181f3f2bb +Result = P + +n = 8aa12846ecb9d8b954d2ca0fd3f60826c76d2a98ae615f38f5a662cb6158f17f29050dc6a1bc2f60f3a9db2da6c9b27b8cabe25cfc25d005ad60ce298f6da3415ee0a0a00cd2fbaf1eb67d4fffbe03b2570ab56c10dfee9f4da86c05920993c92c4ac33a246f5102113a258e17736897f981b8b29ae695802fa1bcf9b41a5f1053bd77400a153d1d6efdf4e4c14703a34380da2921deac003b4a7246568527d9e37d0da956766f155d3b9a38ddb747f2706a72268542f594c90e0d2f0ef755f4aa67aa6a25004548c73861c0333597337a944c42f762ca2b54821425477e4e0e2a9b1842ed3f16d68ed31318dc396071b90e1e514cff975d198a581723cc98cb784d18cf197a14dd7b9d5036bd7724b9301f514236bf7c8b290dc5bd93ebb6bb2d18d3fc4f4d480b8d1b62ffa3de1224607976a27d40f912e50b46b915f19556781b2ac88e16c14982a0718bdb4cec77127165bd7151f0181cf56efa1ea345fee075a7b36a02e74a6f3eb035b608cdd2ceda4d738876fbd7ffb009019581685f + +SHAAlg = SHA256 +e = 74ef0b +d = 0 +Msg = 1d15d87fe7045f2a6650659acf23faeedc28b1bbd64a54f8f3bed617e3438975a6a891f4a08f99e6ef72c52efce3e7a15018f5b3aaa6bb4f4e8dcd069f75c06cf03799bf989f86ca4471cc0992a9010edb077b234fcb083148bedfe1d871d700a4c9d728f6bb8e9d0d556475b8feb0fc23fe2b56f041a5668957f6efb5c038f9 +S = 1f1563cbb8650b8a7ff7f71aba6c06ea20643e4620f29e8d1aeb4a1be6f665ff9779ca9303437aad3264aeb0f2b250af32054585edeb44b0a913175e6006d31b43eeb9c97bbd679e5434e8f645b6e096320a5906a64264abdb9cdeefabd5ff61ee3f851484ec6bb0c7957d6db38942be1b3412aeaa7b0700028fac765cc4f03bd7157122420f1acd4828ea01cd32e0cacc55f43fd9bf58ac71961031f72024832191598ae69dc96b458a237cae0e3a81784a98a1b012530936529efe73d073eaf974f8e1680706581e0accb3a189d80dc71b051474e50cd9d8eaaf9e7be4108be1e7d8e6a89709c50c2d85034f0e158b208a205fc4b30922d0e19ca58e15e46384ec15650ff56b6eaef908b44c4f9d71250fd050ce96acc204d68c09493596ab2bf3052792226d60b684e516e92fa0b1585dffbc309fac46457c07a901e901dd659e4fbe4ec0b327f88b8b8bc689c3f678aac3519ec1f7392936a726b7fe4be534b27bac5a35a55e18fdeb08857850940476c14fa12102014872b81bc5dcf292 +Result = F + +SHAAlg = SHA256 +e = 74ef0b +d = 0 +Msg = 50930141564ac38dfef23056b5cfd10efcf3bb8823fa6f5254f8ff45d4b0725a86076ac0b1b8042b0248006ed53d224cb08bd78b104f1c4b69bf9c96686118387b7c0cd193cd9028297a7cc27f4ccfb4281852b5ca7e787723d689384a68ff9437db319d86f12e2d7871ec7b3b64a2ed6b83722dd8f14b7f8a260e52022bef14 +S = 65862ec1d10c408e4278ee1421e773f49ad426e368a48136d6f77d5a6de96ef4643ef3b8f7b451f9ef9ab4d8590752dd7adf1d78ce23411f3586564b67172ef718e8824d357b37f105dd0e38c0578df14220dbd83588c56c4cc658b5d4b07337ba3e40b40aa6d877aeb3cb95256d25e55b702bdb23026bcf05387d58ce020d359348536f9f108d111bf69c3823aca8655bd73a64789d258bc90b5006ad01c0640118e17aacedbc0545c543df8e05f254fb7d8846703723fadbd4179d4a1a5a7c371e980309d33b2d79061f741aae529d4e84c686a4077d3ffc66a8b18fab2f72ed06a3372efee4507425610d317c74d5566f4829b079012e2e066bacde53e43dd702fae3861eaf2721e3fc5818de552b5a9d084b5f03a451527fce2d3a608028163befb91ccecdcaaaf5cc357bfb698f0860350136b71b4b087b50e2d97a9a6765a6077f1b26e168b5d60b7a91330c3e1769adc479ffd866351eea4cae92609c0431511b91b6683d0d8d4d2a72be8622c7dd969d5977127ca5a6c3d0ef7ff77a +Result = P + +SHAAlg = SHA256 +e = f1d0f1 +d = 0 +Msg = b1fe0c7145b1e35a8062ed24ab82e862a0d695a53a1cc7430af1b9574bf2a40918229110dd8c6c750c295b9911034e79879bd631ac883abf1262c80a98de6923993a78ca63dcd434eb36340bbfecbbb73b39cddc008f2023a27d163ea1d64a269b1068a7bfea431f855121839c8559a2247821ae1e77a1f8210b4cfb4e226f9c +S = 43333cc1b7da9710ad7f58a595078672be48dbedafab37dda0e1328e2f2b8b91dc88d2c33e0d8e06fdfa3dbc43e24d827f3ed31a994bf662225e1f0827a205cd638c16f38d664752d73db2c84f26d12a955e237f7a4d171a14d720b43dda3fa728d69ee0ed95869fc231d8f6fffe93b1acb81692ab9ff0f926073280a3bdd4472cba3b84541f1f9cd4508bf780e96c80b4a705c9893639f127969343a1ff9aab2b98d154c7f929fc55a5fe9485d1d9ca411131e5c0ff3fbaef353d49a9f13583cf1ebeea6209c123df32abcb311edc94c04e5eb3e1389e5011499e7d0d5bf66bb69ba7a06586d414b1d7cedd0106259406235fee1cf0b2bb2ce679f247741baecccff27c6e2a3a514d7aaebed281cb6381e7fa8d8a092ef1051b5418fd9886747c9194feab56eb975fe193076b474c2056d20a818a5b4ea56648ab5e7d4ddfdca1238d95da14dbb51e0a72b6df8d4e4d708a18e1828619c999525772400a9ca91c20229b1a979d30fa7bf7e33129abcc8d91f61ff0b8f2042345c27a928b7865 +Result = F + +SHAAlg = SHA256 +e = 74ef0b +d = 0 +Msg = 89574c2f705f32cafde26824389468218712eae98268588f02d683f17ad494df8b53457fd24651ef0561282d3e20e834960c8968f63a57342a14a6f2375bc10bef6d235fc2c4eae7d7c088985ca6bc8b1ae8c15c4ca7c5d0b1769cbae061b61fdc2e4e98e8e2e5f89c87ef2f392dcc6e3a2ff98c2bb788a9be84cd111ceb5b62 +S = 45c1da7fa6d790ac28f54716f23b2d594a637c5f6785e37fec8350e5d5334edceb66c263197702e5e5d543a2a9a6893cec3608512503ca26831d8847c2563c326bbdf3aa5edf7a583d8252e2cf35bb16cf30a0736ccdddd41af4b54729c843b9c675ab33d3ba1e1f7f63d2aa2ec94da2a9fe4eab9036b0561d5ddeb6d3dfecd1e243381de0eed5d41b8fd6023826d3bf4ffece8570e800c1689a57c2987a0f5629dac772c5f40b475ac61524c0308dd7de872d2f2d68c6017992ee060c607826db6f263f3276f330b7d267defe6eb91f9e9ca63e552531869f0b36784813991da6aa930736858146a42eac2b17c3ed2fac55ae3e0c6370b5302e693f84615e4174576150c6454a5c5f7a4f72d03630e899363db71eeb8e4e919ab6d15e87306c626dbcc18bfe62bfb1878a5105cef0f5b4f06cc4b6d7fc12f29e687ea9d0e16b7ca009356a2cda1f7b48b22e43883582cc770803f6c75892174168ac6954c76a475f0bdda4dce703e5d7737f7019a43ac72447b524a6132dde51f925fcbb9485 +Result = F + +SHAAlg = SHA256 +e = 74ef0b +d = 0 +Msg = a8d283d3e616fcdabe06076c3368e022884108cf569bf363db860010955dafab0f4a0f54fc0c755982f87358d83e08a4136e15ea3d3b1015a87efc6e817e9908a86ed85bbf37912f827878bc56cb4e0f244b54af67530581848804e95b1954321b45c7305a1eb923658dfddfd497182a62dead66fc6b397018aa01c748b648f1 +S = 5961403c27cac4677ccde42cb807477e004b7cc795f8e14049e78326769803f852175ad36d6cc08232c168a34e33eeadb7aaee642b6a75928ad303fb4140eebbfc2fdff5a990f8bea12311529cc4575594a56f6d362a6cf8623cf6580eae79525e502c7be1ae71699e2b7916cde5ab5149840ce8db96e839d0d507bcc3d6184ec68a99c30a1b562959d7873027aa491a9dee9094249e7e3e1913f263e05b6d892a8787686baa7ecb9a88e3bdb52a7e45fdf49bb73588173c722c5503bb5864917410da43ff55e85e4df1af4bdd3b913ee5ef8b9f0293ef36641a775dd4f70df95f157569899df3b7f2cf54a5e34575ff9f6ef5b93d00699586a247c2b42ddccffa5c88294b7bfb686970e0fb9a1e7a823a8b16ffa9b5e45726dd3bb015c88307062aab622fcdac7ed30b7c773793d3f7ce326d30535f4bc289918aace1feaa02c620be6cdcde24d694e7936c58c83f9e4bc3dcafbc542afa4daa7be014099173708452817dc1493d3306053e97fd1c258b062a982a5333925472eb004d82d8e4 +Result = F + +SHAAlg = SHA256 +e = 74ef0b +d = 0 +Msg = b2a9f33308f84f8718e860ee4e439ba1541a985f355c5dabc3a8df343660c69515ff713e5aac3ab2d10ffbf4c163d13bcecc1fed1eebd6cbbbb0f46938704be2983884c96b6063633a634d1325ee0715cb36c06f6a8f5225473bc5ad517f14a201fc34bd843d53001c8d5e34c40bc596130082ce626f582031ee58e6c7b5aa3e +S = 6f443dabd187abfeb167c7a76954251cb017b40dcd3c0de81909993fbdd6c99f64613e73aecc29eeb29fc9aab9ec54b55bc3539e0d34095248b5536b35f1a079a4f09ca2e83f51b07ef005a7e0a915be137e1d94ff2b26eda29a337b5b8d8652cb9f98703648a4b0d8c759ba48c1c37b2b76c3bbe116574c1f6265cc19703ce489186e3951e97e0d26230a82cd0b2a24def62b8af8e4962cf4e1a693d0d0bebd6fe45966b3a4e890e0a6f535919661beb109eb6d11e73ee2b97a3dd20074711bd4b817f442866d11c3fbf62255e05e466b36b8ffd57c6abe5592d72061d96435dedc32a822aa342b159ab21a993703b5ee7bd6d55508800b67667188810e062be554244db902947bd2ebc7f9e6c899f6ca1d3ba3a5c2edca8bafca8a5b54426b04a5a16a3c752d18647b578904f60a5dac531c95b0bfc37b7aeddd3c3564d0581f1088e85ed85ca366ef94eeb8f8d06b060f73f20778ae83bb884527fe9bc1a04d6dca59fefdfb9e14d68f97d9fb5fb1045c9a229d3015a4867efe88791554f8 +Result = F + +n = b9d8bc1223a849736371b49a5ca907a795cfb595fa5aa4ee94a6833fe0ba2368232fc0cf55debcbe7dcfda928bbae3f9069eaefc5c96cf490cce15585cc084ecb6cb09ef234e295b96fa01305f64494018cc49ebbbdc5ff99a2458a06501f33eac8fa9a69db092b3defa9ec09dbfa7cc36c9b356e05f514df1475b9c272d7ed2b63c37465d1554d0f7fd0df30cccd10f6a3d8052fdeb09fa95f305e421db0888a9276f1d1981f4bab7c2ceb4cac86e26c41fc10766b867f68da4c72d854b18acae0ef7631077b89f6bba28692b2a6e4af219770240c3479fdd4498b9c74416d3f666d245ab333f9ade406f9dbcaa3e4743dc7d210bcd6fa449b52121db40c2f8b3f1376be842806dccb7186811618f9ea4aed979e31e26b15e6497abf38ca47fad10c91d1315469072e0d64ca3b93aa86409f163460e750a86c73240d01f76bf2f7f1b947f22c99ae148673de8a3dad1ad34ecf33f1bd4f08f0cb7ea1e5cb62de9ffc98a265afd68c3bb0abc1ef12ced048be9ae9245b89f6c7733185fad0159 + +SHAAlg = SHA384 +e = c31179 +d = 0 +Msg = c084bf63aca6e6917b6b46a4ea65bb59cfead64d6415d21de30ecacc538b2a65a19764e1f293e44a387a45210369c5fe9b5ef6764b3fb741ff1f639c12be48ed614e5ba6a47d296bfeaf1177d28bb13cd9ba9e4971eb5871381b7d2ada133c3327320d7a696c9f3cf493126efed5675cb18735907f219df5b6897f3c5494ee7f +S = 3e81c4d40bddfa8fba559459acd314ed43381be13637b35d1f3856a3c881937e7338cca224cbe3fe8464eb0c96944a419857266bd1bbfb6fd5b156bd735f4a8642d96e40902a47f4302ab151825ba5b63d889ec54fbc100943d9b09658eeb654eef21f2168dfad01d2c02733fd192512ad643808fea2b1af43e10ba60c65548c82769df02c8d6cde973c24e9d92f31fc54be94a292ff2ef77cbbc53e970242acfbc40692a745208bcf96bffb862e1dd2ca3b90ae6f8be53fbc5899af6c7b4d1fcc530a34fe0856a0645181af615575efa02833b853775d252233f4c2e4bb515732814594ab2a82ba080e2db520fabcea260084627bfbe01af01e3774f3d8a6aaeb0cd80c901feec45d4eade1cf66cc878f190d3229b2df5b227dd4e03125a9a6d83a1580c0505e4a785ecb698e1ed0c83a2c62b48e3b44d3fc441364e5a8bf364a937e5303d16244bf016142d9841c04a52a8b3eebea3334c8b52108c7a62999801c840e98f30eca401772fc6b8462fe17c0ac75928ab068a16d5536df11170d +Result = F + +SHAAlg = SHA384 +e = c31179 +d = 0 +Msg = cba095c8a79360b72e4a9f1211fbbb6f267852c4180d8a6f5eaca67a6947d71c227e5483937aacd0e4195b648a4b9c5abbbc7f5425b33b7bdf3ac5c1a07fa26a2f7af9ca1ad0ec50abf728c3189bbbccfa4127b5002bb470e57b0adb9f9bfe42dadbad25a45cc73c6a2e2eb923b5c0cdcb51706d133d9c5657b89b4fd06395ae +S = 1390587a993b5f01af71c53023b9f1746268dc1486ee3466f66e34b02173781e8a9f971dfd1a6095f0a4ebe18324e79cdec45354822213a9d7efdb529abb6d1aaf8c86aba3f786f2412e1af6f392a9b2143f3c805d7b703e5a95ccfdcdfb4f2386766c99b99d90ec9217608ae513bafc062f3cf407a3bd684ed82b7b484e18a9ad507f75b066fb297bb19b1b092fd3741742f06887315dad3c30e3e5419caf0ffd67eeb9e986dde031968415cf33670402d35ef14f880b6d9e6cf7758497923c8575754ad3f9f7fda41a4e6021314cbff1a7f5b2799935c476e55458b2bbd61a32638eb45708d91af75723b5f4f4fea15f16eba82235f8c6f81d27c02242c5ddecfa5a206ae6b1e348c06a03f197c9a0ea3654435798abdf4908016709ac1b0cb6368b893b02a8aee9096dfb23897bea35ed7ba5cb897f50a6023e6d42355354545f43b1b8af8aaab8fed275efb57323e8963d32b1d600b55d5f35b52b1b0c937691c322cafbb32a54feb84ef38e221c9b00a80310ea3a1ca6e713277e6bc127 +Result = F + +SHAAlg = SHA384 +e = c31179 +d = 0 +Msg = a855f314f00f48cde12b6f316f9922604622960e60adaee1d6bb6f1af635b47897672259a94c5f23100c7fe2b3c3bf33cf847660929e48cce51d9d9289945169651aaecb1e939756e93105729d3ab8340d0b2682945db878f1c7350b55847eecbb777daf786c582d13a1ea275685732ca5bf8ebc8f7264ada3bf20ce858ca3cb +S = b360ac35950b6be6d9b9b604af60cfa6716a23a7e9c556cc2f3bc9b298cd8605a28225dd6a0aaf135fb56c1dad09b0481e573565bd13d6fcf8fd3f73ea12912ed4785093e3c12864e1d125c41ff4b30af81c6ddb4d9a722cda98e1095a2eab53a05d22ac1bdec2687c3bab14aa83ac9448c9544b685ef92f5aa3f02a2b8b7cf4607c68169e6c5d9bb4bd8a29beb2a2952fa02d172e3120f414a37de6ebc2f2f7176894938beff3666bfb852528841d9771708fbafd61a3f1410300b77b5efb7e682795f290fa0a469cc22cadd7e188a6a41c9ff25443850f749df159cb5748e071df8b5e0ff0e7d1517d3bf4e4b51263f8f76ff1e8114ebefc2b33dc3699870b29ea68853ecd5e6faeff01bbe8ea1595273ef6b0f0befc2d2cbe8b8c3c7f6a45aa1f905624d71bd649c85797a337ddab8d7b67feb3fa681be382f88b11eda4a0883e55c71bb452079f32ba8235888fc82b339efc574521e80d185e271bdded1df25acf2fca5acd1a9cf26ca30b71bb44ab61fff382ae7274669d5baa20d02a6f +Result = F + +SHAAlg = SHA384 +e = 7fd99d +d = 0 +Msg = 52b8858ed4d0a638f1694e25ba9d40dd27d5579f0de71ba54a8292a842cc59a79049f2e5f5ff603194d8f16962475c41d82e0b41eb00ba0d3d2341e99598ae7c8ddd97d48a12afabf15c96e99887f66a7befcb00b1a002bc9ebc4669691d175ab03c1c667b51ba306fbce5ac45a436de7ade3ee547101b39d3164831a8a4bac8 +S = 4ffd27f815873946809b20af5e752506c39c881dad1e61ef880a245755ee35858578bb2bf826ab8adae135cdee5a132d3d5d02d4dd4af4c530447b4ee8911f57d29d1c88853cb415e0c9d041a30593cfd7f539a4450c4016f629d4d723450ca869fc247fdab20d2d34315d7292584961dff6e8726a1515c1d0f0ed1eb7ad902d940f1513d3c9188cd06ea8562ce5a288b501a80110011508c4e1e575c0dcd7fa9a7df22bc37fc6ab2183b0570fa5b53c583ebfc414b412f14ba2eba86e996660ecec5d2cdcf4a408b84f35718115237ae3e6ebc7489ad754642c25c2c60dac66379ebc1e4b0fb7ae3e8a5afafe83e2119269ae04465a55562dfe8f2139b2cccaff2668cc9805d15f0a8a159ef4d9a4f4f6a1ff8f6b272cc317e7089a8b9ec056978e7c65e5e8a234b1e992ff9b279852ddf70b5b8a3ce8ee14ba9b7a1ccf7787a9ea8c97fa872d0c7b29002e4548ee6bbd7878d43cac68ad58b37ce0310d37b73342033e98d4725b629ef5400cb389c95356e893259a7a2aadcbc735186274b7 +Result = F + +SHAAlg = SHA384 +e = c31179 +d = 0 +Msg = c59a84b7b6a11b30d6e4ae9f4d745ac2b122ff0787f0e7a107c5a8db20654bacbc9fad8c45c92687686969901935ab17d73e08de31682208891d0b7318426547326ac7cfcb4a63883b6ee6783e2aa0c13fd2e576d62db3ad8f2894d6edc8c64bae629a28510e1a5cd659ee00c53a81e871485f787e29e2b9a14e0daca7ddb8df +S = 7ae1169c0d774fa54ced1d2cafc75f64d46a0f154275191580feae3c043b1fc84ffb9f39cdcdaf2e76170da8dacb51c9fdcd3ccc4966911576823dc2a312afae8a502b6ed879a51a9be3a7eb8fb7f0ba96203722add0d8edd2d1267fc74be56b1bd3e42a24df1e05c5ac2f576713fafe6b105fd403589dc6c8734b07d6650c12d215b2378ad63601c4edfb7f4e6a5951112b7e9dab5da98c863d2f373def298e408110da2e21b32fa1f942df85457dbd8d3e0b86e89547471b86f27df3c1e361de5609b78771557a859901b8e2310cec7af6a889c9bddc61c77293ba455314375ae731a12589353fc31104613f51384cefd8eb83b465cad5ad275e64dbd252a1f602afd2ffd8f50216d5ddb17fbf9bc30325427ad02cd525e87744c4a048e51dad778224cbace8fca7228df229b3a9e84777c2b4d0aade9c831f51005ee51b700e10efad61099a4a5c1516c85d2851f42660290aecdf1952a189681fa8a74682002b69318b9a404973a5f139f2a6594a8e0a8cc14033f27400c9601d9018c363 +Result = P + +SHAAlg = SHA384 +e = c31179 +d = 0 +Msg = 601f9b9b34cd3fe2fecf6244bb33a668c00aacfb5e76d95cbf045a98113c6598e677c299dbf18bdd781f30a05843bd4e8a3d60f336a426f3841505fbb9cb1f37a47045c63833ba6b7a1b3a859e9b3b416c66730ee9849a5134a6715aaeb703975db32b0893bc56f3ca6b8ad9d364a8a8302dee32be40bfde975ea79e36279a21 +S = a7f140de7666dd42f10350ffed86802c528fb6062bb7f2e1544622191dd93f337d2dc831a7885c8f96a22ed4b318865b73d9a38b994410ec4464fd6e3ac496df6c8184382a633240ea5bd6069e4d6a1789e230ed38eb46f117b286ff7721b7463d1a7a4d7e2117a5902ef1a51977f664b81524c2e42a4618acd8a0c4a2af1e8a454dd229f435159f36b132a1579d922a5828272a776540ae827adec7aa8e5d06703956f90c0a5351ebee317b3bb48ff14ce392d48d59c819c6111b37914be142038628416209656709a084d963fc5e213e0847eca013c83f4f002712ecaeac83d3224af740c764bea479633527632324745aefb28b87080e16e1febd5c435e1a5e17245ce65fb049d01706f3f5682f7e8bea9bdda372ece37a51fbfb611b8fb58c06d2c0ea37a6988a716fc6e38da4e09f66c2f745e1b51180e37deed1cf6bc7cc5edd6e149489cfe0045300390280ff940d762e0d866f5f9da73496d666a97c9d2f4f69ee3a51b77641e7faafc409d03be7afd79649eb293d61069b4479ab6a +Result = F + +n = dc09c7fdce01962419294bb4e9c7896347d9bbfffab1d7f35b2e36671d7766a4a4a6b16e8bc12adba6503d4d967efe51e89be652d42b8e7b1b12c0ab34d00997b72a5ab3859bd7d414c72e2997521384fc0ce01f2488f443f1afeb043b14099b3b1efb0154020ff10c50eab077e534270cee6e95fd9352c2f70350c0103a252fd041f9583b67bd92d5d712c21d6036834392b72e622fc0f3d3e1d1c09d512fc6486e7f5465999dffa16e2c5e3fa25267d8f52dd639c84af6bbbb76afecba35b8775ff1cad59e8280d73cb3fbbdc084a60429f7dd9bbe9198d2c8351c27c4ab61ab68d54e9222ebd9177550439a5b5b9ae13c49467aefc41afe435f0dfdaef913238a1f6ecf4692167c19357a2625b06942a5c5856100a6c9d66fb4ee37173fca4ff9298d4d4ba558aac53a75f14be641b1701550fc2a1e2cb4b2c734d29b266cde310888397ac19667fc577422c90a897c3b2e65ed62cac471595b18bb124501a663b093d1161d697f9df6bdb151bc9608534a25f983b14117505040fb481d53 + +SHAAlg = SHA512 +e = 5a75ff +d = 0 +Msg = 32e5485f4834ecff046b3f554de9f9d02aa8f95b2812d0d4fd1683c06a7a8d3d667324377873bddf6542d2590b50e3b58d4abb21b0ebf45d8515bd6f4920db978972ee85894ff6cae7f3158d7cde977f83702f11fdb583e45482eb803ec1764ae4092fb044729ea7d3a79157673c1c145542de91d6198650b086965d1205673c +S = 4f8d07925bc0ac7e423a824b1439cdcc486e9612f54c93f5d4fd34f64ad67369b172388e06da52ed100d278c77d6efecd3fdaf56d0a572dfdb978b9449d90951494809c2e88b4a25cf879967659db47dbd43656182958dfef8bc9c54c3a4d62fdb48066735ef5aa39cf89834e479a99e8d22700d288abadcbe28c6667e437515bb47c3d1662d9556ad98abc81bd1ce1b8990155c369ef3827e631164ce8d710c193246bd625692086d0e7f239ce3aa9d6b8d6a5728c64d24992465935aed196ab1715f88bc36118c52ba3cf48cff4e61fa0080282645cde0fbe9493150752093054f1f0889ef7a55c5814d6cf667913cfce4aff2941d1999dcaa5525bd497909839223759c62fdb1387dd4c84f72a32705ae7fa14512af2d7002b315c8c183f0bcaee254ad976270d035fb9d2f4cb22fa2e8a2535d9f345511b22391171aed821e754922b2f6c797debc339264fb28a9788a1d385f99a0333ef388113be22c7b93e18cc80b3a91d6dbe9dd46587544eef85335030a70ab73283e539498f2761e +Result = F + +SHAAlg = SHA512 +e = a1befd +d = 0 +Msg = 6de2659492e82a0541143765c7cb73d457c9b695b608231137e3b81fe97b23820f5ad7b3d05660e230b8f3373f9e4a5d909eaf41edac5617493eef9ff6ae7ca619df60cf5a23b993e05cf0877c628fdd24a5522ea4148077903d7b617db596c570ba286f9717df22374856dde6dfe95dfa26c8e341064a37f32784ede4591be7 +S = 1ae7122bd67306b4f3d0c3c25a6d3f3318b8ba13c64267f1c4264eeb974131d51566fbc71108873b4920bd48bccf493558b63ded97441cd674a3f020e1fe2fd09e093a18e654a4a379443394e540a53f5c24d67cce5f15be955c446ca872b2505a3b07be1fec5847261e76cf708dcbeef8db95a6fcc87bced3f7cdc1f524616fc0539df58075f818608fc38809ae8e489a35d186c8053f9cc26e869866b98347f888f701635df245248f29982efb7b05e80787cab12cdafe54d065b2ae3e0bb3a03ad0a727d77f6fc3cec60a32c5af590983d08b0d2d0a51dc50f3a6bb2f9786d6c77c37a32c917b91f5b29c65a6911a6638222256ef04b4bf76269f846db847b29d9edccae04effa28e357a76499389b831d5e8dc7c42036bc4277a71b4bab0edd152ccdbbddb8957a3bdbbaf1e4cbfb2b8af678ac7706d16ff6bc40c4e8fc4cbb30146f66b8e035363c935c5c72d78fafe2c8ddd4f0793b98a71a6b7ff6b6892c7ec193d1076fc243ac061801a72cdb78ba2f1c34881c6212af2a7689ecf51 +Result = F + +SHAAlg = SHA512 +e = a1befd +d = 0 +Msg = d9fdd81eb8d725ec727cf671386e9c4d7968b23e4d37a39414cb6de55a8ea401fff5b92894547c7b07f6e0b1836dfe0b92275d8a8542715f15a161a34a400e489cc450505957823c46b242c8897b72d5c6d282a78927f250e44e126c59d50d0ff99525fcce87401877d9a41e1241ff935f92aafd218d2e50c8f908a94ef6a93e +S = 9658a72570e4ee228863702a79115dd33a0d562762306cc603ca2c480aec784df73a32c067400e5539c68e34fcbac59457b0d89e6eb6faeac716234cae40a5a40593be11cbc9100280663007ae815d4515210f2f6220a09582fff1c085ae1dbf7cfa9ecbd3113b0f1803c47c65893e8cae0802177aa0a056007bf2863298cf172425c61d4798cef950e632f1f6d7618521dbd7aafbec3cc3e41c3f4bc9e80e437e71b4d6f924b15509cb355fa2d9e91176b861b81e4eefee72e988e7ed8e4eb7b93c4ea35c28332aac9de918e49a7575473d9cca1f117aacd06618a1fc9e1c6c6f8a7b0d4cb5d04187bfe930e4fc5a080ada4888e6aa5dc3e984c7841a225c50fae637369150863294ce5c0398a0c7d045098c644256ddea27b63b921fd87f86ab719962b71b5d8582a91f762cdfe3b1b2c714dda16dd91155fc9b5be378bbf2635997ad8effddb3869bf0cddbc113cc97d67fd69ed4b7884246cd18f0ae3a63c2db35ab7cfa4b73777cd8e005d6e222215a4d8818bd6426c4adc9b1c69565a6 +Result = F + +SHAAlg = SHA512 +e = a1befd +d = 0 +Msg = f5277358fc0e0ed9c50e381423ff803035d7107e961281ffd557f42625585ede55fa23cf02b6e7dd0b3ea0f24564f0fe7038b33c6a71d4b6a30f640bd13eed70e57c03f53dfe1d0a1b50a341563d48554fee9a6c2756d7992fcd03a5a0fa370f8df73c5115b05965dd8c6888be502f3eba40ee96358735af61d8f87bfb56e5c3 +S = d261372ba60cd5812e0230d6103e1f9a777b77f8bc9de3f27bcb3d32e23a60f56f4631350703e200ed9a97d3e2d397234576c5f5c1a347101f62142cca0a53ef9e2b22e724c9d02e5bf4fac684e2803e95640fad841aef7626bd6ef22e7a97ffff31237a70118504ee8bfa0f0e71fd80b195e8221a296d62fefe991e4be69785bad174ab44728605a3d1c41918d33a60fd5a002465ba7b02341c30e6b058b47cca3f5c8a289f5ea3401c2dad9b32ca2f3511538407fa5c03045528e977ce46c8dce655f445588d4a1cb8cb5d76e84776ae86344963b675a3428ca717e4f940ad29199cbf87d27334eab76b878bb015143bc2537fde09a8aaf2649ed29a5d09570959f011778677177e4624e0ac7d9146a2493d5d1299a408b1383ba61df26415d64bcf38e1441c4e0123dbc5ce22e7e077cf9eba5d632d308c23654f0453758a984700097044fe48c61f1873e5a3274c7d5cc7d68b392e26007a534cbec0167760adc5f8b5fea3e2e949e963fbff9ed89e844a3ff2e145d7b4b1193f724aa014 +Result = F + +SHAAlg = SHA512 +e = a1befd +d = 0 +Msg = 4ebfb0c3c540ba37f357cf30a2bc9155305d091f7db0a3d608477abc54a5d6889150f3157827055c77f678a00e487ce8797cc1b28f1b7fe6ea69ba09483ac4b331070343da41f4d14ae57064bb512f6543568a54b38e85bac0f00c5f60a17dbc770d67b3b337927eb44d3fe67180b0b5d713eb6db3b1bc3ad103f9266582098c +S = 6c640306e33515434ee5723d46bce72dcb4c5716311c9ad1d0182987a3090c1b4de97bf8c7323cef9f7d36fc0cc929b2bac1e7f6b1456409f51656b9ac3b9290fdf7910f28a2d0f72e56c94b1d1e5a76daa35e62c93e373b6c6b4435dc1394e131af3c0658e41dff438208bf6b159bc54f5dea67d04e0f794a251256f915e8f9770815c8d89ba123e0c057bf5286e95f017e65492904975b7d493286a634fbf3163a18adab3caaea230c2766deaf36243a37085377f3db5f091cfc707805cb8a9999a06eb3b931bbce312bb2ff53230fcb0c920a816164afbe947ef666617e39ac521db2156631b0f1ca24daee37a521e938be66d36a8819d2c648db87914cb7c7db43ce885d1db4b58b99b3c0a35af19c9cc4e0af21db9d133cf7a2699429fd06faeb3365e18cfe8d14295584167ce708a047b2eb3ab1c25bd1089c4fa5f9ace5ea02a8e7a5f170c398940270405eb6fd2382733247f4c3faca94b368d9e104668854bd3b3db5a5c8e9f63e5547da813ac8ae5b020013280287832703af91d6 +Result = P + +SHAAlg = SHA512 +e = a1befd +d = 0 +Msg = 6739c2996ed518592cde7619a0a5f361c09c51c36a738c189d80af0ce964ebdd24ecea5f5f3561441814e59ab2b4ff952281828fea451c4d4b912c84b65fd39b85f54eb3e80d83e52232d9caf56d4d415a21c36c763499fcca6f82afaa289216f01e959cf1a4a5c4b002fcb2521806edd244ba63f6862bae82e25a95ab064fd6 +S = bd4e9adfdf12d10d9de2d3c1d5324cd2048a57e0cac12ec5cc054f2f4c974b5c5dc3e8aca34a2a7d2907d3b930faaeb194f84fb6a9e99a2a7762346545f70bc384181b0213767f2a7381565cf4a17f3fd52c0d107b12d964605b576f2779411c38129a99300c902c28336ca76920b6c8e52e1c366fe92afe8c7c0ad93f38c07a9fd83926c1e634e026dbe67ae1f3df76a9bf6c75ecf6ecd660e68b0bb571028504bf233443e238aa573727713d659bc1d15171baed4d962017ab5689ef894802a65b4d522bf3b377aa2d3a42b718c8c7f205cd4c9c4d12f4fb2657bab0460c22737a5ee6524e96430493610178f19eb3750cb56f27e6088d26424ae13e863f410c7505899705168015e14ee1c5a1d4112b097f1e0f9dae32f64b75e82558f8f41bae65ab7cbfc400cbc1fd45601b53d26abe2f53a6ac660a7e940584e7fa90a0b8c4d906c46c4bb3a6eeed2327ac4409fd28b77b24c98e5c5f14a8e3678f965c46b455b02d7d0d58f24daf5f7b03362554d6809da7a90a3da53d81148eacea68 +Result = F + +n = d7a6b5b175afa3bb18fffeaee645a096d8ff28cf96e13dce6d753d3eef4c0cf605dd06f0d25d208da216eba09b3e7e59b304210e63118c5fbc3185f1b845d18bdbf113c4d65ad2880bb2a5eb5b4e7210df30296a4ed6cbc637595318e72e2a6439e4d244d63defad0d2a7d5c06518b0981fef4c916c533f3495c098b40254724fc5a44b0f1d23c3a275466100eb39de3dff6dd48e8322ac2251f3b1f09ae8e6a6136645acbf358e7baa89bc515a12e78cf0f6c9e257b816be1e7a3098b9c1d3b47a4c955b390dc576cca2f9b391b61af5e0eeba21addbe728c58eceb8e018573962ae069f91c538e3161e5765db7e15b352ba3978edbab3071104353d122024e1f3e31f6337dddaae90a2a646074b5691b95b7d82429192c897598a00d67639c326922407002d49432b3cdf84c095c021c4dbe53f7fbe80a497f75991d195122fdb672c67fc973626583202c8230a506f251600ab46435acf51ef6461bd55d0c14a76bb4f1c0b7e3c1affdf21dc8e514c2e8732779e62c3f1fd8626c4b80c683 + +SHAAlg = SHA1 +e = 2fda05 +d = 0 +Msg = 711cb316a158e229d3c4d2f5d6c7e5aa29b4ade40e95a188df2715eea5256946e7c98034c09173be343f8768c4235d9d409c6951dddda5e588ed874b79f1306a0aaee6c4ca4ac456cd52b0bf47028ea559c0b3552be99da93bd0e12ff504648783d2ce0de60b3cb94608364386eae08a1c2674362042ef9ca2d90be341e56e65 +S = d3c03e8891632b8fd169dbd4ef4a51f207ef89b50dffbc23fa2d941491d8e185f3c743684677df40b18b0d8cc712ae61a3027ad5be4725d6a8e7b242b2139494bbc5c59a0122b26e0f9afb8df76db8dfdce8e9d2c38818bb0140a41f9060bf23e6ae364220eb56e3a62eaf966873c14dd82bec57876d43d1e07197da109fc009ab8b45e48ddb7cb1ff34ef3fdb3f4226eea8597c5c59ac573d15183489ee52db3af1c13feddc9357722978e4172a3bb26bf2b2b537f121295c00151e1629e28cbddd7957a595cf5effa365dba30698d8049d4701a4dcf03e9bf53e4ad449a7aed4abb6cf65ebd33cbf763fef760c1fe178f5d748fe37292cef145d61cee1dc02bf1655516a5de3168dfbbf4136e6351d3b8313ece067edbe34b1678ea34387636506192384489556efbd133a9912d51780d7fed8662ced97a6dd49e423da4b0019fac0b83e96862eb302910284ff2eb190ac61dd2159ee24e0b233eb38d383b4ff6633bdba58d85cb81abccb072ad716eda8b33b6c8ea9de43e8bc184f1882b9 +Result = F + +SHAAlg = SHA1 +e = 2fda05 +d = 0 +Msg = 1b51ee87dd2a4715ad8de13b9dd8f46243d37bae04e392d39380232ab4e8c1044615d43e80edf7157bba9e3cf0d9fc2c44b624bcc1f86ef127f81c1763783d109e92d2ed79ee30bb9738a59f5dd15e26f5c588d699feb6090eb783fb6e3378212bae30bc5194b9af0bf13e8d6928e3f760e9f125135d33c250a3a0fd5e8039dd +S = 397e6e6a04b3fcb3f0379fe1f9b9e5cf5c6d433e383b688cced0a6ddebc740b8ec0266aa5c7e89d5ca77c9a020716dbce12dc044c00b3b1b23fe3419630bbd8bde5c9883a6d26232fee11a81ced86ccb338dfe46faa3fd58720b80f305d40f1966c268c56d92af05c4f1bf66e6d1c5c810fedff5b316f3b61089c8ab9a4f2b4d7a46bab1868008ff3c0bba9800634c5781cfd7711a9b51f41b517ea428a9b63eb36609c763cef555df2cfcd25e16b8b3c631fcc12ed78904111188908a21253544a8f9fb0615570b3f2453a3214ecfdbf44f403d1baf0fba84d17527e7cc23e15cfe047f4fffd89bbfecae01cd3ebec787c3dc54d9511af93a3b37924ef9d6d5fc6e147dd9e91a39bfe101e3e55004f096b9b889e95b4f1fcd561ea76ee6b19276e8a26aa3aa3eda99de7ee48ad1b1c907cc302e909e89f5e3dce32657ebcdeef78722b7ac95a87930facd56e9cc976b501edda38b663d98c9993b0139032dc95fdbe4a17a9eb0e82c40402365fb84c1195b039246cd424233c88fef251ff77c +Result = F + +SHAAlg = SHA1 +e = 6ce901 +d = 0 +Msg = 45d9c631cf0813fe85c7715860bc3a3b38f2a41a8688a12e6ea6030dfdb5e47eafd0458c3475f5d97381b535d05b996faa6fb16b28dee97536732ed5cadad2a46c0c32def50e96b897db58331d9f49f1742550476b935495b7555cd23a57f56b8577d54e9b3abd41f7bda479d1ef11689efec9d6d60faa33f932d72cd495157c +S = c7958952aae21c256809e83d7f1833e9819d3b4e4cf562ec71bc0effe7a797d62e71d1937a79361d1cdc9cd5726207daaa9def6249a0fd3da6a23683fc8b084871325e07223a3317868efdad20f52a0330f369a0ba51f0fc098afde7d2b72b7f2faab6782cb663c4701fc07bd82fa6d4ea77205a7ee8473a9c8336a781fb64c03632c52e6c1451c3ace7674d5fc9f26e8613c12137977511484487d9a8b928666bbe23cf0eefc849d9e0d0c125cc2ac42f342cb658d164ae57ab3d5606b8096fd4b4c81d54c9db79c5db70106cc474bc64ca73b713385dd9539329260899054bf6f74a45fd5363f78de558484a124a113ac2d2bc6fb8ed19730dc746748b62818e6e62f558d5d9fcbd2c6f4fcc70db6c7fc5c22524a89f04229def949379074e7220cb4717d6407364062095b615464e9ce9c50f53c4358d9f80ffbfe70c15cfd2d9d5f0b451979412f3cdc8f9619e189bf23e71116eb3c620c8f0740b890bfbe961f6cf8854ac6b2dc4fbfd62b6be3bfd1824070cd46b1002b61c1e572437af +Result = F + +SHAAlg = SHA1 +e = 2fda05 +d = 0 +Msg = c58629fdf3aaed600121e5a109ec1f62b360ab46abcbaeb1535ab2d0b53a40dabbfeb195a241411bac8c65de157a5fea49190f6a54940c6e9a0ff3ebc8d3ff030aabda877f8db3bbea7d9159aaafe7d8ecec68ed1f361c53a8afb4c8d7b71b581a554ddd71d86cc722be1119aed4e0b4039f5fd8f3fb08e8e5029c6dcb2fbb5e +S = 40ea4940619e7611473537ef5b108f9e1216e2ab9bb7fd45cfffe15e70621af6590eb571f9be970d30e5df0dbe527b9a9ea70e259b964e496735177d417de3291d16e0b055cc9b8f4dd5498bb7a78d8882bfba624580d81ff0b76f6a82f9a15d2c28cbeaa0e6c02807901838500e36cb403acadd6e431196c794c0bbae65fa6b7ef2ab4c58c0fc7f3d27bbc14dd7699d7b0fc42a3dd30504f7c7e71d8504c23fe08a05e76c8061337687241d27a0ba2411619d2befd66a00d894f302bbdc4f3ae7a562307f21cc43c377b084d8521e2f3d27315b5c8b494b5178dab25fb3a8ade194cf3f909e9f29d888f15a75d26d427e7a17edf63f7f5dd814c67433ae7e15f668637579a3b1d59c73f153e094029e74b8966a9a4b72efe0d5d0e7d9c44c63de6d0dbf00e76d459c3ded35165eac8a76883ced93359c34fdfa94ba74bb58464770051537e9b71f16f615d5615a7b8d380b4bb9ec2499b255ec17131d2161d10709c357687728de9758cf5a166e81fbc086a2e20dae9b99c4f4f83c5edc0ad6 +Result = P + +SHAAlg = SHA1 +e = 2fda05 +d = 0 +Msg = f7653ea73a08384cd5dc0f14daf59160b94ee19eb76b83109f3db3cfb446fb0febfe04a45774adc6e5385a1149798ecf386bbd7ad8eb5b7d7566393b75f711528ecf602136da73885ba0c5ee5569888919a482d9af891a76e6feb30c46b738a446a2f825bf82b51aa1d9f7b5e50ca614c2c2d8c4248de8845accc84b0ed0988c +S = 4ba672add725521df81acde1e1efd18d169ce4e04cb55d39fdb2c6598250e0c7953867dbe189c327f76bb6afeac0e013853e75829eb50635622c26667d55cf3bf81bcbbb94e5c0fffbd853e2d7d536659b1ca9105b777d6fdacf3000c7c287e484933d38e2c52b301e01a3fd196b4960b4d8a983466ec376ec1d70bd26e1d4dc707a87ccb32a4e12f56d00d1a8f9dc20794a59a437e93fe5c79a1ecd16dbc0191589b14c30e5187e626a0038b6f2396bb30c9b4c73a5b21db2128ffe67c6bcf81b0ccbc68a6fafb94296e334cbd28603a4f44da05a4c5d243e30160cd44f08aaaef7135632dd50830010bcf4b5282cc55e070478e51bdc87ed68534b8133876222986d525ec26624ad87e4a6910c6e3caac92e32e2fbf0945f8f1b201de5ef522aa4e84e06633ff3c092f8f095783da7f929013844458e3978f5e7679b633152a94880b6ccb064e5093a126ccd0435381908df6b4c84e47875edf323742429b7428bccdd889d602085d6b40ac2c05c705a91b41a9081586439cd178edfe7f909 +Result = F + +SHAAlg = SHA1 +e = 2fda05 +d = 0 +Msg = ad50e46eb42d8f201ee505c91168bd00494cc1945b402f86b4491ce98ea559c20bbe42dee081492247bbecf0263c1d4094d49af60d451ff76ba66ace937aed5a7902a0a53ec38bcea645cf1a6593f3c220af8edc0658b85481eaf6dd1ffd5e7e57f6544e0954b5899ceb22b449e0ff197f3623c2c10b9712799f57818ead0b8 +S = d4abfe9247a4fbd27668d0ed8473bb4d40eb5d5ccab3fa2dc7662d52dd613c12335fd0f13bc99c34d6966aeae422a7e3c9a2389d80480c9120eeabacb884ddb2906ea80511641747229e0a07c2ca082b354a0a52debfb93e1ffa19787134c8d7b8f81c0a07be5cf421fbcbca0084ae5b2410771f06c4bca56a920139ee50009ef879631609f0478b21e6548446752ff85905d0c5a80414afe6021a3ab737f061134f8fb390b030b1e6a1a016b8ec34b0cf3b38cd1b023ee7dd6840d459ff83fb2c6b703abf646478fdd64cf0347b9b55c78f2c731cf7b0242de2a6f247932a5cfe1391d7d19480a7945a105e3088c3ac5b72c8e422991b0b36e3ecad0904fdcb42a64271840dcdb1625760361ce81f4f68bab447390b691bc63829f60af23a77edc2cf97c071f58cf8a7c414ce5fdbfa7a6725203cd54c3386c4c85cdf17f770aea7e79de4d8368fc68b6f6c024bdb4ef9c346e0d78494f7134b0e9c651540dd2cf8edb5812a5f8d9943622fac67d5ad8fecef405bcfb16ec1fbecef8bc1c787 +Result = F + +n = bf3cc27b2500d059a2945cccdd64c705d13c5c6b4b5de2126d896d2c535682f23ea4e48072d256dd71ba229702a59ca69b9865c1f9659e4e4216620fbbee746ad318096f57855bba3486f9c613cd1ab91d9460610b29bca50d084ef7f49af47d9ed15d06ac92566bb1a5223274e2f95bd69a7c67ecfc3f75d730b289de45e40cc0d5303c4592263528b16405a7f41343021ef06cca8120a4a42830bff959625d5fe23bc2e5152d922c13a818118e15a350d1eda2aa9dac0e0b2458d3adeccb29d41a14c910945d61fb1b3c5938d51f6e1214c34ca70bca9323148a333b9275c2f1ebcd66e252ab83d6b88480b11318bc6f912b9ee80bed3b0b86dc6ea5c7eea6addb4348cd6eb02f32340d7d8c56503996c79c6f83fecadd919196c5aa502d71da5c2e96e947bfb1bcec6943d034e772784172bb891aa0b42cc334b853212507afe03edb4b01eed47a8a37714ef69356b3862a204898c5ca61366436f0ac99f1f85816b6568a4e01a99c4756386693765a9359ae97b415b6775727e586f7414b + +SHAAlg = SHA224 +e = 5ac725 +d = 0 +Msg = 57aa81bd3108db8d66bc0776a93debd1beca1eef845b04ad32d73b48e18736734bcb28a7d20b24bbc4f182b4ddd584de0d793a1c7cf7a27cccf7140e9e25ddf757e32bc1243a29f53b176aec64b48be2b854144ca933a06b43bd3e22b2fe1605035a50b22f7e3164559687c547c0480448c1762814f845a42190802b25f929c5 +S = 9849e963619fb64e3e5efedf27d40fdbc8506a8575852839ee4def01d4351e51654f880a564512f76cf405e2f9acc9e9d164f60cb2218bd4262cdb01e771186988c69ba0d8e979d5c7049b34b95ccdaf1091e7a4333303763e1cd9c27b8913566302240709f12bd67dc92cb714c6057644ce766ce9dabceda8b2407076e7833a022589302073283b764e088c7f3e8adab5d22e70739d2f2823c3aef894efe9f722899d452446d0d4fdd78767c1128c1770ab19d3f3a042d477b36bfd5fed6c81bd69211e7fad6932f093aee5e44953972697e4a0100c5ba74f2a6f83a01395de4164af43b560b780649a800edceb4baa41cccd803260570aa814b89af333da7c8259544f86e361d09ec3ae89b55671286274d696d75a58a9ad0a27a2a1ec70a6ace5902aa17b95dbc8aaff80d0ffd495c66a3e0300333b3c6b650e156bec3ce3afaf61c71c9ee109c255efcc4600aa16e84ca26e94aa6881be6dcf62737903e1fc28d6344fc30c2dee30ddf6dbc3f7529384900657146eb6bbaf100a29a88612 +Result = P + +SHAAlg = SHA224 +e = 5ac725 +d = 0 +Msg = e7e526659377f2baa839ea6149d5d8883b0959ef8fb6999c82345ecfa1e94838311a5768cd00ad86511f9543f7d3c50fc02ce08e16fb3f45af2df19ab45800fb2394f65d728ca0e875d512f0817eeb28d2e8db122ad762babbcadaa44788b70386fc0e2bc8425449db0269522ffdd43938e55165147289626eb220d7a2a1f4b8 +S = af25246bb588eee69e47c4edfb37ed99e6cef8bd029e9b9c715385513759437f77c55765d2243d4086ab654e9ada9a3896db001d3d386a20a38259815515a365a1e27f94fec375dd7e5fb01c2d906ed43aa215fbd265e0c6e1097138533be220b4af590e3a546ebbd9d122677287b479223a8abacbeaf1d79addb1c0ff0eb010c2a6dfabcd9ba849d7cd2162444ab91d9f2a18c9b4891072e6ff2e4bb48835820332f73e93cbc4d62d7996abe9b9586e21ccf198b19ee594d4502e32bdd2f0f36168f9d5d66f99ce10152b6ade62fe54fa8def312566da8f235bc55eedeeb854ea5d86423ac02424ed1ed0c71f124317573e39c941911870e7d52ee7104b39ce602a1856e71fece145d1585e39a49c7eac258cb4416ed6835d224288f640eaa8fb3577d2bbbd98767db35a2df06c9a2afa6493746dd87d14823d08d3a6fdd7d5aa63c4ab2f3c3bfe93d04daf23738df0574957f6f0e6610c0d955d3121005d27c6375da7194538a774e625a3a1c3df20c0f8ded59e8e7bbf42b139ca3b78c0ed +Result = F + +SHAAlg = SHA224 +e = 5ac725 +d = 0 +Msg = d8e5d6e971447805523fe6dda8e4490095587eea771078d66c44dfd416a1fd1b9b3fdba0f0d2a7e85824591a27c39758ccf6d54f0ef6c00d965bdd13aed56dac481c957d422abb5ce8a73366bba51b4b718d83ed3c59d22a4f0464f59f3f78ace6664aa5eeb27c0b0cb0bae8eaf29e828a04d1eb88a174d4a027bea26f49e6c4 +S = 44af904241e75d0bd469868d9037714ca17445e1db20674ba2277cbc8fc2c67fc69ced31ba5bb51ea8069e44925a7bcaff0d8389928b217aaa157f3e644300aab3891f2ad87785550450c8eb3e6915e6c7f33644c73942802163c1bf362d7760d3882fcac1d4addbe696583ec4f4cb8ec9f33d228d587a3d8c72aa43fcaa2a421222e503b306b83cb92ef920861cc21a73a32e91e2d30c3b86c7fd9637854b4786b693fde989992f757bbb15dde61512be9b666ccd8e56f838cd1d15b93b76f5e5732e2676d9ee4bcbcc6c891fe88f1639c7ef328ec828e9f849d43bdd2328ce2563a15a583dbbedf76670649bf4da5fb19ace67e3b21408ffce1d3bcdf4b66080555ae803b082b3aa0217d90350ba1e4e336c4974bd4bd5dc7ede6420740bdf0814f977cafa3bd9b98dddad951d9993b004e77d8d3eead36dce383e6f45f3ce201659398e20ac67939dfc96647a32dd6c150801c46f7e986bfdd9f51563518edf1f76ddb32720e0260d8c5155b614a99dcf5b6a74c7249ae1325bb0dae00b70 +Result = F + +SHAAlg = SHA224 +e = 5ac725 +d = 0 +Msg = 15d246c6df39e98ac52b6469795f1f7ac5435c4420426c26814723f7757d89e9705ad2b360db91ef881128c08cdc83b9c8f706fae634c39cb009f150224c9942c43b934437bfb1280df23a6ddede9a1f978857f8162d47cbf4cb0123a2e39127b87d70c0896eb3fefbd682b896eccc73dafe3985d6b3607bf6943bb71dcad75e +S = 89b1ade106055dbb3e12c8ab98b508655c13e0964fd9c727fbe09d7a48b0bb533bb05b496bbeea3bc944fe98d9963ca552bebe0f7f036f0987ec950b929636650a40c974b31bd3e202a8536bb43926182b5a65eca042311d2d0935a25a8dd1d838edf0ab8cc7e2464fa314682b00d9ab3caa3caf1a301a9c9b8339dc83bc03667f9dc28f6a41b9c9e767e3893e1e859348e3d3fd41ea28827a46470bc01fee0d6ca803e72221be0c11ba817d196ed11fcaa19dea0c39c33f4746288227d54e142616897ec853e87b7ce3deb2803b2bda1e64a9a539bec8ecaf03a5ed86bbe9b8649bc1f9b6bd676d678f84885771f1f50bcf1af3ed09b098049002b15ce257dde2bfc3957832c23f0acd0c84c048d689fc3cadc8aa5b521131a0a6921c641898e5c0a269c99d40d175341402fd7c07ba034f41d6fa4c87530ef67cbb1984e2d33860f32ebad2a353c80623601a2d16c9bca0d04ac5b11a1edc61dd5cc1f551554198786e290c6ebab35c6aac7e7a9adf4a2cdea81ca9884311f53f1f06a5760c +Result = F + +SHAAlg = SHA224 +e = 17f67f +d = 0 +Msg = c86602791e420eb39d805de6e063fa85e1075abf603be2f78993aa75d1b8815b210331da364a04a548fa86a6e9668df1315f77f61805b3fa23dc83c84323ffa3fa615e80bf407172a49e706636e2f910a48c56252411ffcb93e55f4e5bd9db149aa711d381cb5d01fa95a28c8d7d47cc84b67fb64d06ce5221d4c96fe3831d95 +S = 5bc2490f73543c50ca5aaa27a023c95977ecf03729adc0ed7c00daba2b93f9a3b428ec074db98986160eb1c911cd37417f2e0b8deb2c2bd851d406863d4cb8526d046c0382969cd23ecc0930258f64f7f419d64107fb42d3ca0aa4c59e3eff65d0871d1601eefe8c17184d4975409f8d6349ca7a33e9d13c84da2cd5c52c6403ccb7ee333c71fcc204183a40afe5c39cdf498478dc068c103771513823c6d75eaca6f8fc2183e2a9fd2686df63db5ac1414bdaa9b85ae599bff032bf404785575d4632a90014d4a3fe9886133854eeec6788e284e093e8c56cf52851154711657f0357d3bf14a2fb6afce5270b63258e375ca691c20ffa3bcd88e2d5c91e65f46e0f4e18f25534598fe90ec7777aa67a43bb4cdaffaacf7bd959714257ba9619bbbebe94a071c2705605d353f6b4bf34f4e308cd623d4e943b0c3cb33c2caeab62e569039e2ecea1645c90d3306149237832f40e670ff3f04b6ff9bffb381b32e837beaf64ad7e03594730c7f22481ad7469d2606dd7f5a7ccbe2d3a57ead8d1 +Result = F + +SHAAlg = SHA224 +e = 5ac725 +d = 0 +Msg = 9d28b62f48a01ec6563d2e1a0d3d036512c1000a896b16cb7c2b433c8156597797f90112526cff4e382ab8916adff11787c3d9e4cd274afd814d4cd7917ddb107955ea5d6361a7c492ec010b001567704625d39abd1f08d0e399186900cb288309e677f8c4a79d8e2d2b116e1905eed8198ef714a17cd8ac69b6afd81467ca3a +S = 24424762016268b9c3b96c7efc114d1b17cb33d7402d0b3d0b8d0c634d0cf719b3532bc1a8a89f80fa18bf6d7243cfad72366b07489e4b8ef315383ff978e3c7d95b05d0a445b42cf064f347f4b6efeac28c2365449a6478f3f6aefb33247b9bd0c236ebd1f19a9ad7397d4c5797dde3c92e7af0d4e833e7d39500cc73206cb307ef4dfee1869173abcc63b88022c526de78fee5499841b1852015387fa331d106dc3e25ff216f382265a96d44446b32fd5dba6eb77e444f0568bc266c40a8afc505f4785cebdb16c564566b7b62bf5c3b123e8b3e4e07dacf991c35423eab5812ea6601d69ff1e443e2d87836d69dbf6ae07d771d7f1eb565693b9ad9d8c47ec285485a2b77717035700874adff15920c20e5812489dd3aca8a20d047191f0db8f395cc4eebeb1aa3f6237b83edb0b29990c73ca7dfedbf2ea50c43608da025e81b7f41f4e1b5325ad58d9a9748a99265d8ef9280960fbaf5adc65174e76411cfb213cee2df4ba0056ba72191416a57c761c14fbd5e98bc89b44c110ef311b +Result = F + +n = 8c4b17ab9a0da366f67416075ce284ff69a2c1112a8b7d821f66e8bc5386cd1abfe499fb9a09523f1095729f61433cc17fed78789cde81145ba02d22ddb560332ec795ea6a764b9fb380f44ac63d64225772aa4503df2fdd20e7c1d17115d3c56176f49432b2930d417b84f997ed4e50cd557e2786e0275be8025f6f039a7a3b8ed421b4c224527c01c1a1bef6becda193eac7f484ab0a24da31d4bc8bb6f2d4a5f3817a246bd5a9c81dfbf55e8c5b18a8a63bebdcd245726ba5b6ed4f8981ab83933c00714064985d69a17ed017e3cfd7fd5d2c6e932a2e021d226013126e6272231ce8bf626121710cd19d0ff21227e4c4255be507809aeb0aa548f42749bae8e1a3e3b312d08f0226c5245c45b5d96eb8eaecd1b8a1dd3f9f908191325a02cb4ca57b25155447584749e2db23360233d9068195daebb7ca943311b58dedc6c809a5981ff1b66a803a4135fbddf1f4f2478559f9d2ba17d2da77b0f0b6b08662eb50495a16c301759cbf7281f4fa985800c14386e0db6df0422bbda9a26441 + +SHAAlg = SHA256 +e = e5a4b3 +d = 0 +Msg = 897bd083c89256d56a247c12e265f3390962eace1cef2f7504e197bfdb7ea144ab3256f2798473a48247caf6c415e658c0f9ee627f6ccb68d3838d4ddf660b9cd904cad40f05210428009a98adef9a73c8e0453e4bed9cfff36de8edef6c5c839c59f6d393ffa61de5b7b2a0a5db59b0a77db7098859e863ee0970461178da20 +S = 7a172ef111b0f2f9ec43bad8f6e8fa11e19222ed9575571716e55fe46b43aacee433447632849e0f486744054e70bdd98863f5f015b94ddd1571e64f6b9a26302e151d4865423791d596063bfad7e3b5c5494f4a3c5ed994c53b6d915824a1f1e8e3639f8873f9095a7842d88817a93bc2651e6ba94acce93830735654fcb5a4a01cccc090ede15ff5ed745a92d92d8186a746a693a94db4fae34db26c6ad0b4904c63001600947ee994e24da490a3de240e500b31b8be8b1b415599aa684c77116f12e3cb218cf388424e3276b1a3622f1c4115125f5af47d581b78b609a067ef5f33549fadbdadd098dd2c337897f113c8eca9a20f3da69aee2fe4a89bd3ff73eb4e8da271065a9013935731addb3480f52d07fb3a91261d8a030ee2cd9e0ab342b3bd62db62e359475ee9a36971ba37f5c3ae1f1939c276980140961e9542be9e0a4739fce668549fb606ae18774bbe62b20148dee0379f0f38fe982b25bae164785d3410c337b2f11ea74558d79991760847109dc0c77272a55afb0d3f58 +Result = F + +SHAAlg = SHA256 +e = e5a4b3 +d = 0 +Msg = 77ba90225f3ba1722312f52b1a07c3f659aee2a085e939c3e5ae77a3bb0a0456d56637285f0ac93dfbdf89781479529c6e543ab1025e0daa0ab6fa4458b48b31eb29db76c4e80312f685d5e0fd5ccdbe50d544ef3ae7e7bee5db6864b853732ce28ae4d537dd37383c8b3f2b7db91ba427b96722d28baf489fa429cb83efa38f +S = 1f442887263f403f6ff9b20fd2780937596e99e3c9e640def7de2006f14026de1e140e0cd5d45d7fcb1f42a9127a661c87cbaa4f9b600d8ad7fde5beed5c125294ad7b211d550bc35429c71f84a837eca906a580aaf3e301b46deb59ebfa4b66323f6e136d178f7ecd8440d891eeed5c91ed785ffefcc725f2792868e296a8eb03c5683ce791b554636a787d579e3db81177b45aee1ac6bbd90d84144a706196d557b48d7fa8b551c3bf638ce93a6425eac03232256f4cca758ab2c427d996702b522eca24b0781f33aa2b61e1256fdb94b166f98cacea3d5da205f818d19b432d50309d8265eef151b0f40fceba927fd6b5ec9d1c2ba54eb9af22aa354299ffad07da5071a1fb4314c69399a5aa16c3b4ff3b61937debf6e55b5f44e91855ff0a64ab59f549c3b4dcbad5c4306b08be4b1be99d000ea52665e9bd1983fbfaecb15ba18adb3e88bb9429d6d1aa85f7f6304c253692ea0ae579123703f9d89f69669fdd4c12607d8c1b7a28f814e75a45122956c21cae47bba9e4ec1afb707e5f +Result = P + +SHAAlg = SHA256 +e = c15efd +d = 0 +Msg = 34a83157520e0413bc2ec4b48034fe5cc3fd2f69fb7992f95e5437ad99d555aec606e1ee98155fb1d9faf94b175ace2b9aab8c18999a41bbada96e5e851d5ef3dc17b558a8014cd9942b3cf7b1b6396768b2225eb483d50c8e894866a800d6295d24d61ce8997295d50bb73eb612e819175818c2b4fdf7f5e93aed4f69456559 +S = 7a1699fcecfd4d337bcc6f4904d2356fff44aa24fd4a0324945d4a4dd9a9a552c59239dc9268783067477dade944adf592495a3b1e5a6eea7f58762ec4d5b0f3515f3b1eaab1273476cb0cc3080fa8c7d2f2695f4417a6dc538b8b2c58bfb248b7c41485aeb668a0a39ffa324f25074c75c0ae1c70496a4a37c9332fd73ced1d2fe561ae120c6c19d1e526c211ce8869ce236d06a9dab8f9ef453f8854cb4451033960a62fe279830667845edd5883734e730e50e7bae3bbcc619e5c4211ebf741ad2526bf0226440b7d076faa02a30f2c79132443de9fe9e6bfc12c65d1ee703ea274c06ffd5cf945413cfe13d1ec63d48ea477ba8c60a7aacc078b988cdb58691911975f26e1b33c2c0ff3e5026d9b1d7a6293eb330ad5513efd19937193b796c40114dd1ff32a2875963020f26177ca1b6a7d0c6a40a6c0be44b03555c0f4598f91600a336c73099fab278271c46d96f16d6882c00d5b3ba59f2a0bcb98f39b152c55eaee62a4eba026234f15963d7e7395de927e94893a8a175c65f0dd43 +Result = F + +SHAAlg = SHA256 +e = e5a4b3 +d = 0 +Msg = 72e970c5fbeccfb254bb1313e33470e3074dd8d3fc60093fffc7c960b2a970c3c113a8fac64b71916a616844cd06486e29a1b1c5b2a02845c00c606a2f61b7a2069c040258959038688f62c1100ec05c64e9f2be929f49870dee6075eaa2a2d78aac0c457973348f966f8bf374f3df93014a2426650673ed2d9553e8a915384b +S = 6ce37157a92a7eda47c16b5b2d961c564ef7df9d5886043c07abbd1e74ec7f549c78b07e2140207e6b93e89ae69a74a5a76184e00ec03f1dd36c0699535e0bedb4f28634b194fcebe13d2c4955e01e4ef459244a7497fd647d5e6dd5f7ec156929d0e2f1e146d3397d3636726bbea13b38d7d38d4a5e4ebe68df7ff86c62c3802e18250a2cab3d200363c577895a33dc69c18d15309e7117ebf47b3b98c893785c99dd0077982ee084b4ac08913de46415e5abdbd223aca6ac5574ff4a61f5fd7631b776113f12044e5e53960a5af3867c8366e3367a20de73e6c4e0f7b9075a1a79374aee0232d06280c53bc6a148026e1686059d652d96c99ac41f909e278b3c408568adfe35cc55800caa58d03ce9f1cf533018ec4fcb5d66a50758229716c2abebe4b3e3c6ac778fc008db8985e5032d7825fa333fa4d7468504cd0785000f92833d5cdd61880bf40f803ac298343d75e18c003a8471e06449406bf1bafd988e162b0b8c62eee5795d957f1fe5d7abc6e7c8b3b43759f212d01def9151dc +Result = F + +SHAAlg = SHA256 +e = e5a4b3 +d = 0 +Msg = 6147121ced1b5f1d73306e4a22c31669b76c20764fa4b4467d86126a9ad283565c378ec3aad26e51aff2c4712e1e8a821559483a54a48a48efc5913752474996e6c27b56e15c44736290c6d7bd2e1d7b13a394cf277b195c6c24efa763f5a359236e419e39c2c7cbb392da4378fcb89bdbd46efc6f314bc91c2c948272e479e9 +S = 8b5320215e2133754a182f38444a68fe9f3cfdbb7ea9d8e55d006789fb1d75c0fbe5e94201b15c97613a35c3ab54d61dcc62b978a8fab0ae3183fb7463814ec498eb0f4b0f5403044f33368afcf692b1b3ee3ef0ec1492c5c2ec370d75163b777705a0675252908bff8010e819bbde67b86b33a35e1fc43cb8da167691b6d69ecc19ae094a5461cadb0e977ea6b7ef6f3f639e4571a073d6033cf464e5eb17323447ac079e4e69caa7966d3083ecf616394fa25d2e30ef4e5b7e558c8c46802c2e35db02b7884b53b89f041037bf10ff30f291003323112dcc6b8eeebde3bf97e373305eab433061e3a634df865642743908ef822df62cedde8f4af403e7a924e22e667734e91a29d4b6c8f1c12da7023a1b22e6a3dd33e878efbab31220f4f2c923c88f1bb0d7b7497a9c687fbf59f9eb4625e6f92d7285bca5db93ae63213e3fe1333801fc3eca1d3a1ffa75319752a5aaac461d7a799659ad31569230266c1a62e787c25fa635b0d3aa248d047d9cee43fb12342a4c066dc971b893a7dbcf +Result = F + +SHAAlg = SHA256 +e = e5a4b3 +d = 0 +Msg = e9ba77e32581fb11b3d44a885ce8184207a00b5835016418cfe6e25921f4e30b26d1cd120691ac55dd711d11bec86a74f83af667972fdcab2e83d327d48055806d0900eb2b173c3f546a1e4f45788c76b7aaa27341c755771eb0567d314f39da46cad7159bfcf1f89f2516e7f9e0c671cc56d72539b218a726d535033e4ada40 +S = 17c273523709d84746ae546c8f58086a5ab385aade0707b5b39adbeb507670453a56bd356a9b549fb0112eb3be73466294c0180a9061b04128a001f62025867277e28508fd1c94109061184f6acac575737ec4f93c58ee452089e6714c4dd9f23833278dc66332a914ac8e1b0ec33472061bab9c29cd8d7a0c1778c71fb973c851b6c9bbb7b7dfd24a16f146eef248d1aa81e4f62cafce2ea146314b2a8d5711de6625011ee7ffe7ac49b03a5b7e2d842e9b35969a934c75d16b6cb890f8d4ebeb6f74a08059e70e90ee39816cab34c4702ccd4e14718a8ab5c981f9c8f7cb3e91bf066ba387824c1b27e33b27a06d9eb3ff3fcace0b285f51cf83b117005bcc12da946b5a36e9308ac98e9103becc8ec5dbb048df722e5c8e6cbeaad8f2e27af33648c9ce5d7940013146f5d3cb8c30849ea75b209c36b745dc3179617933e22dc25af5169f784d6128af2c8694b5caf19fbc0585ca1780181150e8f8bbd8d12ea8b0d41f86b1b3b27771b3f36d3cf5ac6a2702b8711d52edc1cc96ce071eab +Result = F + +n = c151ff0fed6cd9251edd8df49937283b4f4e67c3bad0826d46b6df2ca7657dda4f099714e70271d626ef41d2dd2a2d6e008b6193e7ff2bffe4207fff2b468b7a985ec684ff7364fbef587a1787c73840b1d0b5781d0428a6af38896de1e9eda5756af5545459e49e6ebf19d2a7be83ed4be2ab8d99e896a2d6338779e56ecb1fbdd1b79f813d0befa58d67aa8c935eec4b8f1c9895d225c8f0fbe7c960d5514bc78ee3c5af0d1bc8a81b1ea9b2caecfe37ac5d3fef9a0327ba7051f7996a901f2cadd1833d059d99e5bc2b512ffd5b090f80f0ec647f60c8756864b7f85d605fb391f614ea5f17a2766508e92092b3d8354572dfb947dc59f79d98ff945e9e3b83b3632464360fafc4cf2528b82836a685a29140abe524eea30b3bdfc1417959b46d933c4ec257d71696d74e89d7e024dfe20cbdebbb263fc586d22ee4b1fa688ee1ac92a9d7084e017ab4b1645158d4785ee8bb2f8eb54b5f70142ef19fe124269f0f83bb88720941d234269c2885a64b9f35118b900086d806b00133984047 + +SHAAlg = SHA384 +e = 872bf +d = 0 +Msg = f17fc496ee707a1bad8d591e059c1e37bf99e6df03594431116d91ed324983c2eda601cd7d24365d8334e5f9f935fca467dd6b5f59db36f010bac9e278098dcd5ab9b8d7d3c6697b051af4890cae7a6e33f2beb6686f33cfeeaa5a10524c4af9a08190bdd69e3afd99062fd7274ec21f8d9f86ec1a5c63571305e97fa85ce5d1 +S = 3ae65cccca0d7e3ffe189b1631aaa79a70bcce76156782790bd3b6c8ef7585b15509ec5400ed771f8b8a41c001257bbed0dea39a3ec68bffc1395849d44e0f4b238c7305fbbb0c41b0ef7c4b86fccd363b057886f504f971d5a072713ddbcfe0cd6953c0b9aa7c01c651a89b5de9d689701fd09fc609f098f0e758932b186c10555cb48ab6c90b3954416cc50232b427595c4acb19ffcd97c806b23c504071fbcfd2a5ce6cbd097d56c5822ca788bbf6fe935c2caf33e8e69b77b35e6c6c077781999e146aefa448c839f9293c6ff5d7e3dd791f34ccf9ee5f358890b59a2c387bae4232267ec2f8d3cfa878f507184e3093b50ad891675cc564442d99edef75bb86fe908f15017da5d263fff9d50a0b1638d5770a3db54c2f957d52b9d6515da3eb893ded69b2d54732a1f433c78d97bfd63fbf9d2b2650c18a95a07f629a7f0505010a43dbdeebf765de8e0c85eedad07672bb6b627eb8488f8d172ca6f95aef2c3250d3d10ff10ec2c347a540827bb57913f710d47e31aeeefa42cbfc6015 +Result = P + +SHAAlg = SHA384 +e = 872bf +d = 0 +Msg = 92394393057dddd26253cee4bcd5d9510b69da5821e95633e001569ca9d8768f17f23952ee559fb34eeafa912d27fd9d04eb1662c7a9fe831bc98e44c44bd44c5cae66aa4b10f615f39627782b0e9faeefd35d8955f14d1ac38a1a2c60794412c83472a304f70982b91ffda39fd4e80a35ea59d6b4096e7f410ca55c66a8ef68 +S = 5bf8ea11a6637f0258d7b66b9a77dfc1b7d278e6e3acffeeb06a044a2aeeb041e83feab36f27a7cc416c49cb1e086dbbafcc1411dd5b563e4731c72466015e781984434604c8f455b96714911330ed9eba40bc0fb2a38adde08db1035926225483ae62c3b90af042cc3f49a18906ee749ae6ec85e86a73e4d8a451ba77b4b11853dccb173ab2049fdcbfbf568445eb3ad539f4d4ac488cd2a13dad7d3e0dff3f92a6879a6ec7905711ab83f5825f7eeaf6a99a9c445b9edecee786a88d829f70366bcd382971649243643da2a87d339b3c6782d655a284a4f4869cbaf296453a2fc8a96dbd29a5d2298561dd6595f2c6a30f0c9e66fc926368759a0792c3110ebc9a9c90bbeb5c6fff1b66ca57ead5e556e98f69138ea792701c572402d0db36a1161c3f129832bb5db1f49b21e9476a02259243986e6437a437acc7eed412cf47ee2034474b5e4391815291abf07a2fb743a628a893e4cf43a3773dc7827aa5c0bbe083e4a59311f5e1d5e5c0e7704335b7d93b76d46acce9496fdb6ffa4fda +Result = F + +SHAAlg = SHA384 +e = 872bf +d = 0 +Msg = f5304ceed3b78326d2020a99a63f697c40ec35dffe3ce53222bce1078336dc1a82d5648e408bb7790eb0d9a325ece38b98569eab86dd50fd94e8d6be9a39f3729d17e828feac45fff0acfee92f37c1aff001873613b06a00a085b6f5713f42642c3c014575e2d4c1613da2f42de9abf1303319060e7bd8422fdda8356f1071f7 +S = 3dbf093e71870bc6cf17f01719dd3bf09b5b128d3396eafa0b806611d5d5dea961c0c1678ac69bbb3139b0aef0ba6be387cee84b27f49422b7c9616b78f58892eb132b40e6f1dae7226306284fed9174df4c36cd0ec83531cc1f854fe3edac489d6c42552f4701bb37b58a5618d8039375a367f414021959abf0fa255793e6589a0234fa4fa8e4515e38afbc0d5077703a3bc138e3e12c0cb9e2d457def3aecdc99ba5687521dd93e2b9dc031efcf2681cfbd730fda3556cc97a018332ed1be584a8c9b230f2766ca575e40d7e20e2eee711cfd9c773fda2ee1accfed4d10d39d9cab7c78ccc82e1cdd692d18a4c960676afbc742b3e38587e20d045e26fc72bcd44113d70d5216e4e15e5c629009cd88cd225f2b304da9cb7a61ab03e6f1252f7b65448b593dbc6a8b813e09ff71d8c90895eb962bdf7a2d0ebd4834708c1f44b3a5405d500ef7bf8d44719da03e76d8bbbb66916797bc244555fa770668fecf7ae30901450cf0b3046d0903e5dbc982e13b64f06c7bdac7f81e6c031d95478 +Result = F + +SHAAlg = SHA384 +e = 74dea3 +d = 0 +Msg = 22c5152bca7a2d7c48eb5bb3a50c937f2423ce8625220d5749349b9fd796939f5fa8a3dd9d440f1a9f4ef9852a8cdf2e5bb865bd8ad4556473bee412980437eae1f925f386093f112e490d3459529bcffb50348c69566e3e79f56716e50c4d1bf1e124d44e71c3473d052028f806ce4a4d12c4598c4f60cba300ac148856df19 +S = 58d2bab8f32a675ee83d4f36b0f7499adf4cc6f3335f5159d69302349741a472a39e8171b3ceba18230614003b247e0096dad35dad90226a4822de9d7108ff1f76da6becc3e5b41899ce52b85626a59522902297161d0bba1cb38236b6c80fb01e7e55278ef1523a3c41c232cc3caa3529211d50cece53060a5a36523b3ecaf1949fbe3032dcb17be1003624dbb280a926fe70ca19f6672fe100fa90dcf8b84bea122e0cfa5cedd52571a2fba21bdc0cd2f7d79b1d33e950e4828fa0d2fbc0d708ab428c1b6680e85e0386561b3e30d58bd4e0dce453d3eebe8e4fb47e6a1502db77d1ba0e6ee5b0aa71d6d0d91a38be4e1d84c7c95f68775d8b9c192ff61ce90644dd6a34b926dc7c8da5c3b1bf47236bb1a8cb7a5bbeabf86d649707598cfc9b1d4cdbd123e757da4238160054a3f7b5b4f77c1f0631f07cccab6a055d763b42b715a0872ea188410bde9cc2988f66f691122117d001e8942a20ab833875c2839c4bee53e82de7438a561aabe499453f49a0287d7a1114b8761202c6a4dda3 +Result = F + +SHAAlg = SHA384 +e = 872bf +d = 0 +Msg = 21af062f995cfe8325632c751f445cad6102d56607d73bc47726b4689fb14a437e0c91a7e65289a48016c591109ccde9fa49c2590659401660d08874e3b3dfb59677311e77bafa51783167d6c8e2b8fb5393e8de8c8290c86a5609bcb056d05072d92fbcd5fd1a31169c586cce7ce38a74c6901e23baf2819da07c699102e7bd +S = a3d26043c5f0eb27c6d22818dcbe19f156e246712850ddcdaf7aaccea00d028aeed43d3a39833bca74a7812143a80d33042c19952ccdc86fe4608b2702ebe93e398b4bbdb9a34f8500bc040e26d5b4667cae0e653ee6b76236f367a425567c93b31bc5549c2ae0138daf99fa2bc0d3986cead8ddfa4bc4e751b2244a1f395d449f4087dba2a9d003ed059caa4f4209435bcf266eb8070be17ebc7253d2327ffb6d2fb958c69b020557f1499987f78def362f1c36ab7f436423b21e729333b73ab1a6ae0941056339ea42a4a20c644e19ffe825e7814f7b48438aaf34e803995bf36044ea88615e4e91b7255938234a6304de76bb6b504978f49c27e85d98fabdeec915a408d4ad8bdfa74032fe285acdf5f20fc908a1482cb2861d64f1f960ddf7fab77a327c42ba5fca17269b4a068e44c4b599c51464c26ddeeecdeff81919dae58e6f5b70be99bcb18235edf47a4aedc5ad7fbf365d87cd94416499287e7e522eeaf172ca83120eb9210f7ed88f6249dd1ad1838080af68ca6106c6fe7305 +Result = F + +SHAAlg = SHA384 +e = 872bf +d = 0 +Msg = f00fbccfb64b9cabe7abe3e25e2fdf96881d0e606cf63ee4e8a8f1a83d050626ce74961f24e61d33360cdaafe7c878a6d1e1ed4341faa35d82c5d54c5f743dfbe370ec3f634e7967bfff5d15e4469e4c956fabc96c3f87971b272adef8bc25fcb96c84d67b69f8700aea36bc5c939ab05e31109bf4ab34b93a36b80511c7064e +S = 95f3c7b47d3c07fefa316f5b09de27afdf7337ac4fc4c77a805cd9e104cbe3344dd9d44e14130dcfc6e90b1bfdba92ec2e7e0ced121b08d9c4c7d6b39f707ac693ecec0460c850af7399b813f8d0ec9a0a3c6feea102333464b80cb1aa68d179102e9f600e7d69b68ac3bf31c7d064b8ff4fe4658d31a6910d6f5474f0652a6a76c6d2f75a614d168366d63f45a4ec8f69f754a57de0c8ef0a7b007f8785ac27e38b6f3f23792d20d2cd89082ff664fb2277817c23a0a3b584e6aff2800eb09ec7677d7fad80a4e5d8ca15e296772b5b89e51120b11ce2b983e6e430b764464a11a0ea16319b7b0a28e56eac826bb527a8c05dbe47ae187f22cb4714d4564d783f45fedae28bbdcdea7bd9d88474b72785a0ff9089e1007247144914712cda36d906c11d99373c29411f9264a9becf9c351f4dade4ef1dd3d48ebc6f27ae19d94cb49c3bdf22f685b4b9c3ad7f8c9cc5251499910c4a9e84945a92a1a6e0fc6f0c030c94ce7a4194280054af88c2d6e0b6934a0f25e159fa89a70c077f21a0b +Result = F + +n = acc1658b0b236d34992af6dfcd916f29c532a00faba18ed2be4835b1dd03951a5e3a46f2da3bb27a955606bd81d2be2d797ae651af241be9e84a52242e137c0d2fc5be00d692d094fd1606138fc280c113aa7e8250a484aea7c7e6f83bdd76d4966a5d1cf1d3ad1deb899ed53b9a633ed6c4617e38ec226523f6480bae9397b34ca5adc6e0fe854ce2e161866bf2621afff61f32b7dd08ce3ac931346315cfc6b66ba37e292bf0b5d274cdf98f175d247222843ff90e63e3d85427134dcc00fb20e51d84ac1b1132393fdaf7596818b56a9b019d65cf4b4302e9e11057ff90508d0c0c2c7b5f9d57e180e71b2f103a60ef6edbe40b1da27d16018bf6d4a4fabc9c73d5827f0e52c4a16e11d4bbcbc6cea5ff5bb2284ecce4b6080064c2794fa1cf6789565e16842882a7d3caae5051a9a45327b74bf4cd5885736bf5bb9bb045082aed3454fd40fe3c83397bb56115035f358735c290b43d5cb1f67b8853651dbac0cb9a197b46abb1121736a17d917dc2892eb2c5b3c4881ab472db54a5c4ad + +SHAAlg = SHA512 +e = c4d755 +d = 0 +Msg = 76dbb0c0d2069fe7c8287301f57169ec11c79fdad4191c4913f111362d495e8da5a058e5104dca6a32123a1a64f46d35384a2dee60154967cc8fdedc1307d51f14ebad44dd277a9dccad2ee9f35518c8c1e8aa72df777fa959f29decfef6f7ee09e53646013cb868dd21d9d46c3c728df4c8a0cd1aeac7f70141d6cdb6becce3 +S = 2e34f1e2f8064b52d770593345194f13460cdaf2bdc502e14e77ecffd093bb57fed459b1f1a26c15d58ef9ab1da879917cfcb2d5793b8c774bc94f0494c66010ace1159c8b546f616125bd79111d81614de5b0f6cc42d95c41bee3789e897adc94aaffbb3bd51e5f022d0385b7a1956cb013353c1167dada2a9c7d0052a0e0cda5eb0bd30f310099c1dfd36c809e0ed49d14ada4d39551a02d6d7e6db2a3a1ab499854c9445d2e9513529b181ebdaa6f97a3e84c246277f4e9ad6428a82c3745c050951ddb16a074f477cb10ee2765ec436c83df7342c6055a4c4206c88d826d04c7d342d5fc46a90c22a5b68ed57de78287a2047149290f16778ebbd253aacca35602f2b2f855a277ea263fc2ab286a42f5531248ae38adb65b8ce4b28185933d8a03f4787ec35a41d9965cf8a3a46bd970831842b94c99dcdc748ede26611f151fe33a64921e197ea329e26ff3cedddc830198a94c1917e8b6200f453c69e04cdaa9e872167aeab367ef9dfe7905581ab0796d611b15b97e4f6b351869ef3c +Result = F + +SHAAlg = SHA512 +e = 5b1365 +d = 0 +Msg = 3c2cc086a13b1d1b232f0f131032f1ef2dfd616ba03641680dfd012a00c221c38b59f1cf30509c620080643f05e22f4bdea44341a97c4ea6263da90018a8dd43ef84678ca5f1b811e6f9805873682ca8c8ddadbefd227cc0eab9db778eb75db8b2d6a823c9c57a111bc2eac7226bf1f034d1284a63cfd39fa29a1ff72998a80c +S = 51fb0f16194df6288533f7b91df149c79e8d474b4d44a51f903902700fa561836c4c6a09c9c5211737217b2de1d6d73106f4709ebc219a4c71d02516a9e42dc4ef9e372db5c3d05e3ba2c3da25e5e8519cbdc3998c0ac5187df777acce31f039480e11d745c6c0b235075cf1805498ea1f15bc911f6d94b3d332084ffda0000ee0d72572a5a24f303857447081129392a1693552c5da4ef6791e2a0f6e68a889e98c1ca7d8dfadc7beb60e8ca4756cb8f56efc62d3accfa16462f597363441dd9ce27328ba9014ff366600ac42140e1b4a4b9a068bbf05fc37acd0eb7c9fc6803a4f87d706d72b570e0fd405f6fd5b7a3926f5e7206d23bf2dd39598de89fa1e66a2fc4533f516d15f0e44bccd0e8d405ee95f1586d17ee25feff7bacf0f3a008e9c0a15129ded95f5a50fa7cf129517604504ba89fed73cbd4e96da21e824b93df4cfd6776961d0d14e5c3a11cf29a836f5c87fcc60e9c837717a632d070737b470f9a374c916166b5df2afd7250cff6f03ddaacf68b067bdf0edd1ddb82d2d +Result = F + +SHAAlg = SHA512 +e = c4d755 +d = 0 +Msg = 9a3482f481638f436c51f7b74d3bd19a91e99b02473c7f028507d421071fe80b1ab6fd87b8e491a9f587e3499a4db2b40f0f48a07e61b7663567636b4ceac0df88aa5dab80f622a4fe7bd605a85ae31ce07d5e43e82a42124ad8fcd377422d36aebbab471fc1c99c51d4d8d3c189ed3cccdae5d2cec0a7708c04a941cf51b679 +S = f5c8dfe8b67996bb62af65fad25c816979b33419babafcfb3d35c2887a0375ee7461487d4d65b1c03306919abad43793a93643b912cf906c4095356b64f8a3e01dddd2446ff3c07ec62bd6c1b39fca4efd95904ccd0cf87c1bc5f3659825b86daca6b46bfdba8790c4f958ac9647cb1991e2661a01925c79d1f9b23856e8035507b1cd66956a47e97e756443c6ebd46105f8788b0713f6d3f04c3f16849aae50dbe920a35d5e5c1345af610f38ee98c153b02dcc6a1175762af98587c203bb6bdc93300af93a64798d8f621a0805a3212ec9edc90ec4bfbb63d6121ce478a96fbf3e731285daa14a638d5bc9dfd2c365e9d1d70b80d3cc461bad93e7b2ee984228206b52c9bd1ca44561efc558a6133e93d82079b1d5bfc5006742848b95a7e50fc3b14f3590f76f1e86decfb7af82d49853b3b1a8b54d8bfc7bed9f50c78ad01a1b8c7a24ea959efc8c54e0a6cbde288d36673fefe3a3a308cbe895de7e1ce747073eeac6df67fd3e15b38de300d9555450948d2c72c592f1a3182be99d760 +Result = F + +SHAAlg = SHA512 +e = c4d755 +d = 0 +Msg = adf9b0a89d93e05bf18d5610d03d9e70474d4a169bbfe6abde2f2e4fc1587e3ba9da89a5053b4ee4de2b48d5af0ce57d78b13af00e66f571b53193daf058d33f98236ace2ce3f8f968333bd8197e82c82fc265591493b4673c62ad86feff72a4a25dbae9bb96c6e2b72e97dfb49c5e9995063418554d0bd49c49e41b905643b2 +S = 3b62f0d4fb1b702eda45e08c47d87b2caba37728133b54bbc654f1e39d4290050392a412226429384178be20a2bb8a2d737f08bffd1396052e4c82d625e3ff46955852b4ac9393ff7e620c8fb7ab5a7173f3cf67978127df7dc4496953488365e500ff13a1ec170ab95d48ae4b7c0392c4822f531a7a534464c91401d40561384c0ef1caab31f449a926e2b39dfc1cf0a048d121080ec31776da00f2c392783f15dcccb369844d7cec262fb6cb755660b0a08f00720b059b0c272262f2a943b6253c353e6069ccbd3c70b0c3a1474cc1d6f878e7a8495b4aad1d963351f9d23b69af996928a86f113ad50b327c26ccd599425c67c4f7bf8e495f7945efd4b11b952c52266ea3ebb46e445d18c596b8d2d6a9e8c70f0e3ceec51784c7477b662b304a5530caf18c3c8a232fd11c63258002714c298c258d724d8e8d4f4117bd74d2d92dc66fc324a257ab2f907aae0c7a8ed9e1aef7e9d0657472349eeb3da29972b11a9005fd93dead2361df7273adc8b968e0d608d782878ed75fd7113b7d67 +Result = F + +SHAAlg = SHA512 +e = c4d755 +d = 0 +Msg = 8b02e84531d5623e528e208c109a68ad04ffbb6ed29d075400b41e3b08a7673dab00d3d589b31344efa70934f0727c9cb7650fe31bc874487466dd81ad4db3a29bcf8b418dcc56d82534d76a66c75b6a0d1fa4d825f126add69076797eb2ff4b0377f7d167a791c09c3b74769a206ddfb037609517a0854bcd38d06ba060b1fe +S = 8a5503759f374b78b8bc654ffda8f1add7ea05e24218f9e9c140709a90c5bf8868f081bb2a01a43d724c99e47ebc2634859dd11653b1c5a4d65dd306719b7b4cf2b66f7ba3c93e8731a7adf715c5b0365e0f9453b14d08dcc88052c97d4fdf05f4c92dac2ade4708abe6fe752ed57a5f39281b0c5aa349e3c4ca056f66ccb6fa07154b12657ecd5a94db390e09320dbd2c452e84d389bf2fdf4686b21905497830aa57bc5ced3d23b519f6d6c300ca5d3903ad18ca426b13dfd5bf56e7b47300f88ae7fd0b085807951db84ca9074ec40d285334e85570f0df96afa9d85c55aff0bcc2ba28f2d5fa4860159575ee84194238424213b7673d0f50bf903351e274eac603f2e4218ea8c626fced0aa08097f6630d92139feeabb747ae20e2343c3d8c7647ec48ee2c0d00031b9c882f91efbc7e8487a0010ad3c51f160b902b59baca8f19e8fe90402e1e0131b37a936e101e15f8e4cfedc727cc160c6ae206f3c70ea09f08f00c9bd1837296785536d1bb9785014c59665cd2b930050161d946e6 +Result = F + +SHAAlg = SHA512 +e = c4d755 +d = 0 +Msg = 379b6b72a139346febdb0fdce95394c509a6c5f0876de862e47b922594c00549f76dbb298a5943f05fa44c5bca9a00c05eda934f17b71b98d9dea24d19397949da14d0d2dc7f841b10f3380d4e38a7474a853864c5ead47c00ebf4ed766efe5bcad7d1f5ff719efae710fb7cdef43265b8f1dfb7f7cdba1841eab18d12243a86 +S = 88f3e8e1b41671191471092d34520f6a43742702a629f1cc9d2b806c9e6cc1f3ab47fe1b0281570a0825c0de59b24554d4b78b00de2b807a92c51dcf22def3385635b477b9129a34c8543d24173f13167ad7fd7bdc108dd5f8e3f364c3f53ecb26fcc59145ea6ac74aaaa7cf0f1aff4b1462256b87e8d5dc9cf74ad2419b965217cc9ec90337cc01c7d9928ecd310468ca69cce111a16ed5bf7a07d3fe4dbe0b34b59645527547ffb9264ae48eed86d05d1caa8f519d5391bd2ce830d8ad0bda965a735cd4c061797ae661d0bb0431a8189a35aa0b4d2a6a6877b703bea7f09422372913e4ac4e2981e3c917f7bef9f9a1727fab29af9320b9ed44d5229460b06055c2ae911f4eeaca72de9c3b6269ac23943b13376e5009ebf8d349d34a28a07ba2f85466c2d488b6593f7abdf0f221c7aa51e142ba9e6828d23283e39671a41531f01a04fcd3dc70172dcef185e26bcee509a143150ca7f4e2dfdefd2be9dfb98ed0c7b12de9dd8d5653b88758ee1889093dd529657042a86507426caa6488 +Result = P + + diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/dsa_test.json b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/dsa_test.json new file mode 100644 index 000000000..a6810f406 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/dsa_test.json @@ -0,0 +1,5803 @@ +{ + "algorithm" : "DSA", + "generatorVersion" : "0.4", + "numberOfTests" : 651, + "notes" : { + "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.", + "EdgeCase" : "Some implementations of DSA do not properly check for boundaries. In some cases the modular inverse of 0 is simply 0. As a result there are implementations where values such as r=1, s=0 lead to forgeries.", + "NoLeadingZero" : "ASN encoded integers with a leading hex-digit in the range 8 .. F are negative. If the first hex-digit of a positive integer is 8 .. F then a leading 0 must be added. Some libraries forgot to do this an therefore generated invalid DSA signatures. Some providers, accept such legacy signatures for compatibility." + }, + "header" : [], + "testGroups" : [ + { + "keyDer" : "308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtjCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBhAACgYAXOTHdox7/MvJLODCRv3fqzcbv1Vdi\nSRHY6bnevw8lbQz/rFVnsz9uqunTJ1u+1++fX5TEADyVnkmh7T9YwxshuszA7YhA\ntGFF8SG4kG0HISm64B8HGUeZfo73YNLZ6iHQil636JOQshqFZkcTxUniX+2m6ebD\nGXCGa9+8j6mB9g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-1", + "type" : "DSAVer", + "key" : { + "g" : "0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d", + "keySize" : 1024, + "p" : "0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "q" : "0b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "type" : "DSAPublicKey", + "y" : "173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6" + }, + "tests" : [ + { + "tcId" : 1, + "comment" : "Legacy:ASN encoding of r misses leading 0", + "msg" : "313233343030", + "sig" : "302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "acceptable", + "flags" : [ + "NoLeadingZero" + ] + }, + { + "tcId" : 2, + "comment" : "valid", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "30812d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "302e02811500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a028114496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "3082002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "302f0282001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02820014496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "302d021600aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "302d021400aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "3085010000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "30320285010000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a02850100000014496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "308901000000000000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "3036028901000000000000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "3036021500aa6a258fbf7d90e15614676d377df8b10e38db4a0289010000000000000014496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "30847fffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "303102847fffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a02847fffffff496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "3084ffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "30310284ffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a0284ffffffff496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "3085ffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "30320285ffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a0285ffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "3088ffffffffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "30350288ffffffffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a0288ffffffffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "30ff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "302d02ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02ff496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "302d028000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0280496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "removing sequence", + "msg" : "313233343030", + "sig" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "appending 0's to sequence", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "prepending 0's to sequence", + "msg" : "313233343030", + "sig" : "302f0000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3032498177302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "30312500302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3032221a498177021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "303122192500021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "30352217021500aa6a258fbf7d90e15614676d377df8b10e38db4a0004deadbeef0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a22194981770214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221825000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a22160214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "3035aa00bb00cd00302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "3033aa02aabb302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "3035221daa00bb00cd00021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "3033221baa02aabb021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a221caa00bb00cd000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "3033021500aa6a258fbf7d90e15614676d377df8b10e38db4a221aaa02aabb0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "3080302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "30312280021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800214496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "3080312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "30312280031500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800314496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Replacing sequence with NULL", + "msg" : "313233343030", + "sig" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2e2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2f2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "322d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "ff2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "dropping value of sequence", + "msg" : "313233343030", + "sig" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "3031300102302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "indefinite length", + "msg" : "313233343030", + "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "indefinite length with truncated delimiter", + "msg" : "313233343030", + "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "indefinite length with additional element", + "msg" : "313233343030", + "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b05000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "indefinite length with truncated element", + "msg" : "313233343030", + "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "indefinite length with garbage", + "msg" : "313233343030", + "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "indefinite length with nonempty EOC", + "msg" : "313233343030", + "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "prepend empty sequence", + "msg" : "313233343030", + "sig" : "302f3000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "append empty sequence", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "sequence of sequence", + "msg" : "313233343030", + "sig" : "302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "truncated sequence", + "msg" : "313233343030", + "sig" : "3017021500aa6a258fbf7d90e15614676d377df8b10e38db4a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "repeat element in sequence", + "msg" : "313233343030", + "sig" : "3043021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "removing integer", + "msg" : "313233343030", + "sig" : "30160214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "302f0217000000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02160000496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "301805000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "301802000214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0200", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "302d021502aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02144b6d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38dbca0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964cbb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "302c021400aa6a258fbf7d90e15614676d377df8b10e38db0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a02136d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "302e0216ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215ff496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "30190901800214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a090180", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "313233343030", + "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201000215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 137, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3006020100020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 138, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3006020100020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 139, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30060201000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 140, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 141, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 142, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201000215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 143, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30818702010002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 144, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3008020100090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 145, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201010215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 146, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3006020101020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 147, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3006020101020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 148, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30060201010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 149, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 150, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 151, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201010215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 152, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30818702010102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 153, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3008020101090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 154, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201ff0215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 155, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30060201ff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 156, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30060201ff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 157, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30060201ff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 158, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 159, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 160, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0201ff0215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 161, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3081870201ff02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 162, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30080201ff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 163, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 164, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 165, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 166, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b10201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 167, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 168, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 169, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 170, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 171, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 172, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 173, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 174, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 175, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b20201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 176, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 177, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 178, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 179, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b202818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 180, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 181, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e02150100000000000000000000000000000000000000000215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 182, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0215010000000000000000000000000000000000000000020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 183, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a0215010000000000000000000000000000000000000000020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 184, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301a02150100000000000000000000000000000000000000000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 185, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 186, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 187, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "302e02150100000000000000000000000000000000000000000215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 188, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30819b021501000000000000000000000000000000000000000002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 189, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301c0215010000000000000000000000000000000000000000090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 190, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 191, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 192, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 193, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 194, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 195, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 196, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 197, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3082010802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 198, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "30818902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 199, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301c090380fe010215ff46f4c745f5af5bc1397672c06497fb68880b764f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 200, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3008090380fe01020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 201, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3008090380fe01020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 202, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "3008090380fe010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 203, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 204, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b2", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 205, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "301c090380fe010215010000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 206, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "308189090380fe0102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 207, + "comment" : "Signatures with special case values for r and s.", + "msg" : "313233343030", + "sig" : "300a090380fe01090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 208, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "302c02140e23ff8588683fd9455d185090a9d9199f646bcb0214631ced1a4f6a308bfee3b999f1c2bbe7dcc922dc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 209, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "302c0214313eedf8d478f95321cfdeb5fe439ef8716a60cb021407998d19305abe635be5af240bd7e0ec7216a5ce", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 210, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "302d02150092bda94e3d769675132d9d6a17944808899f8c42021416c7bb874e2e59219cb0d52b4fd470fcc8dcdff3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 211, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "302d021500976b29bc6023065b0ee1b5362a4cd2f5529a43c902141db2ad4c3e92cf2bc9267f926ac2e71dacfa5928", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 212, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "302c02144afbd1a5d8fb9d117c7efd3e7b3564f37305a80302144e13c38000458a528ff2b667265740e36438bd99", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keySize" : 2048, + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "type" : "DSAPublicKey", + "y" : "1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931" + }, + "tests" : [ + { + "tcId" : 213, + "comment" : "Legacy:ASN encoding of s misses leading 0", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "acceptable", + "flags" : [ + "NoLeadingZero" + ] + }, + { + "tcId" : 214, + "comment" : "valid", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 215, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 216, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 217, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 218, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 219, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 220, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 221, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 222, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 223, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 224, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 225, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 226, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 227, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 228, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 229, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 230, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 231, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 232, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 233, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 234, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 235, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 236, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 237, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 238, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 239, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 240, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 241, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 242, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 243, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 244, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 245, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 246, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 247, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 248, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 249, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 250, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 251, + "comment" : "removing sequence", + "msg" : "48656c6c6f", + "sig" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 252, + "comment" : "appending 0's to sequence", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 253, + "comment" : "prepending 0's to sequence", + "msg" : "48656c6c6f", + "sig" : "303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 254, + "comment" : "appending unused 0's", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 255, + "comment" : "appending unused 0's", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 256, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 257, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 258, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 259, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 260, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 261, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 262, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 263, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 264, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 265, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 266, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 267, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 268, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 269, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 270, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 271, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 272, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 273, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 274, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 275, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 276, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 277, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 278, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 279, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 280, + "comment" : "Replacing sequence with NULL", + "msg" : "48656c6c6f", + "sig" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 281, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 282, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "2f3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 283, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 284, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 285, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 286, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 287, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 288, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 289, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 290, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 291, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 292, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 293, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 294, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 295, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 296, + "comment" : "dropping value of sequence", + "msg" : "48656c6c6f", + "sig" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 297, + "comment" : "using composition", + "msg" : "48656c6c6f", + "sig" : "3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 298, + "comment" : "using composition", + "msg" : "48656c6c6f", + "sig" : "3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 299, + "comment" : "using composition", + "msg" : "48656c6c6f", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 300, + "comment" : "truncate sequence", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 301, + "comment" : "truncate sequence", + "msg" : "48656c6c6f", + "sig" : "303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 302, + "comment" : "indefinite length", + "msg" : "48656c6c6f", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 303, + "comment" : "indefinite length with truncated delimiter", + "msg" : "48656c6c6f", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623600", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 304, + "comment" : "indefinite length with additional element", + "msg" : "48656c6c6f", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623605000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 305, + "comment" : "indefinite length with truncated element", + "msg" : "48656c6c6f", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 306, + "comment" : "indefinite length with garbage", + "msg" : "48656c6c6f", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 307, + "comment" : "indefinite length with nonempty EOC", + "msg" : "48656c6c6f", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 308, + "comment" : "prepend empty sequence", + "msg" : "48656c6c6f", + "sig" : "303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 309, + "comment" : "append empty sequence", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 310, + "comment" : "sequence of sequence", + "msg" : "48656c6c6f", + "sig" : "303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 311, + "comment" : "truncated sequence", + "msg" : "48656c6c6f", + "sig" : "301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 312, + "comment" : "repeat element in sequence", + "msg" : "48656c6c6f", + "sig" : "305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 313, + "comment" : "removing integer", + "msg" : "48656c6c6f", + "sig" : "301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 314, + "comment" : "appending 0's to integer", + "msg" : "48656c6c6f", + "sig" : "303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 315, + "comment" : "appending 0's to integer", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 316, + "comment" : "prepending 0's to integer", + "msg" : "48656c6c6f", + "sig" : "303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 317, + "comment" : "prepending 0's to integer", + "msg" : "48656c6c6f", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 318, + "comment" : "Replacing integer with NULL", + "msg" : "48656c6c6f", + "sig" : "30210500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 319, + "comment" : "Replacing integer with NULL", + "msg" : "48656c6c6f", + "sig" : "3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 320, + "comment" : "dropping value of integer", + "msg" : "48656c6c6f", + "sig" : "30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 321, + "comment" : "dropping value of integer", + "msg" : "48656c6c6f", + "sig" : "3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 322, + "comment" : "modify first byte of integer", + "msg" : "48656c6c6f", + "sig" : "303d021c1c41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 323, + "comment" : "modify first byte of integer", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d02ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 324, + "comment" : "modify last byte of integer", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c94d021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 325, + "comment" : "modify last byte of integer", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862b6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 326, + "comment" : "truncate integer", + "msg" : "48656c6c6f", + "sig" : "303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 327, + "comment" : "truncate integer", + "msg" : "48656c6c6f", + "sig" : "303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 328, + "comment" : "truncate integer", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 329, + "comment" : "truncate integer", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 330, + "comment" : "leading ff in integer", + "msg" : "48656c6c6f", + "sig" : "303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 331, + "comment" : "leading ff in integer", + "msg" : "48656c6c6f", + "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 332, + "comment" : "infinity", + "msg" : "48656c6c6f", + "sig" : "3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 333, + "comment" : "infinity", + "msg" : "48656c6c6f", + "sig" : "3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 334, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 335, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 336, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 337, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 338, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 339, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 340, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 341, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 342, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 343, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 344, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 345, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 346, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 347, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "48656c6c6f", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 348, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 349, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3006020100020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 350, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3006020100020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 351, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30060201000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 352, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 353, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 354, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020100021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 355, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 356, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3008020100090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 357, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 358, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3006020101020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 359, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3006020101020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 360, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30060201010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 361, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 362, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 363, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022020101021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 364, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 365, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3008020101090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 366, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 367, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30060201ff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 368, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30060201ff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 369, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30060201ff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 370, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 371, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 372, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30220201ff021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 373, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 374, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30080201ff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 375, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 376, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 377, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 378, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 379, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 380, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 381, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 382, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 383, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 384, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 385, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 386, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 387, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 388, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 389, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 390, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 391, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 392, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 393, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 394, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 395, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 396, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3022021d01000000000000000000000000000000000000000000000000000000000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 397, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 398, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 399, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 400, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 401, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3024021d0100000000000000000000000000000000000000000000000000000000090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 402, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 403, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 404, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 405, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 406, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 407, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 408, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 409, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 410, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 411, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 412, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3008090380fe01020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 413, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3008090380fe01020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 414, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3008090380fe010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 415, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 416, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 417, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3024090380fe01021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 418, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 419, + "comment" : "Signatures with special case values for r and s.", + "msg" : "48656c6c6f", + "sig" : "300a090380fe01090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 420, + "comment" : "random signature", + "msg" : "48656c6c6f", + "sig" : "303b021c6e3d431498bb8911b97308e9e8d05cedd927e1576074f5b407ed47fb021b265cb60340e52374c6b03a99fc1db5d97ffff31d89a7d0847bc57b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 421, + "comment" : "random signature", + "msg" : "48656c6c6f", + "sig" : "303d021d00a7b626ca8fe3aadb70736367cbf221099af40e3683aa7f889568d18d021c0ea3c9660f7e84fb794db3ae473e9bafc84e3d1999073b3b444c31ba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 422, + "comment" : "random signature", + "msg" : "48656c6c6f", + "sig" : "303d021d0090d3707463fe1fd72514653e54b61e504bf4c32f5ee58928be423c7b021c18f867d66ab6c14e0d4fd144da061cac5e33ee62fc8573b0617eec11", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 423, + "comment" : "random signature", + "msg" : "48656c6c6f", + "sig" : "303d021c032d0712481f5be239cb0464b89d97fb4ca540089661bf1b930b927d021d00b7b2854013fcc17f3514ba83393a5998c905a90a0c3d0ef3a51562d5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 424, + "comment" : "random signature", + "msg" : "48656c6c6f", + "sig" : "303d021d00a11784b27530077677bdb15d78b75f508624099ca06036c2c24f7e20021c3a3c429f5c1411d952f1280c8ef0d582326a39447b934eee17c7b4ea", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keySize" : 2048, + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "type" : "DSAPublicKey", + "y" : "1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931" + }, + "tests" : [ + { + "tcId" : 425, + "comment" : "Legacy:ASN encoding of r misses leading 0", + "msg" : "54657374", + "sig" : "303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "acceptable", + "flags" : [ + "NoLeadingZero" + ] + }, + { + "tcId" : 426, + "comment" : "valid", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 427, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "30813d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 428, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "303e02811d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 429, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302811c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 430, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "3082003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 431, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "303f0282001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 432, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930282001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 433, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 434, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 435, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "303d021e009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 436, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "303d021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 437, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 438, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 439, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "3085010000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 440, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "30420285010000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 441, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285010000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 442, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "308901000000000000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 443, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "3046028901000000000000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 444, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "3046021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93028901000000000000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 445, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "30847fffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 446, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "304102847fffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 447, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302847fffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 448, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "3084ffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 449, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "30410284ffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 450, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930284ffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 451, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "3085ffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 452, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "30420285ffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 453, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285ffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 454, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "3088ffffffffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 455, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "30450288ffffffffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 456, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930288ffffffffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 457, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "30ff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 458, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "303d02ff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 459, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302ff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 460, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 461, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "303d0280009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 462, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302805fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 463, + "comment" : "removing sequence", + "msg" : "54657374", + "sig" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 464, + "comment" : "appending 0's to sequence", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 465, + "comment" : "prepending 0's to sequence", + "msg" : "54657374", + "sig" : "303f0000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 466, + "comment" : "appending unused 0's", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 467, + "comment" : "appending unused 0's", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 468, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 469, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 470, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 471, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "3042498177303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 472, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "30412500303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 473, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 474, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "30422222498177021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 475, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "304122212500021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 476, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "3045221f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930004deadbeef021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 477, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932221498177021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 478, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9322202500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 479, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93221e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 480, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "3045aa00bb00cd00303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 481, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "3043aa02aabb303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 482, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "30452225aa00bb00cd00021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 483, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "30432223aa02aabb021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 484, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932224aa00bb00cd00021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 485, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "3043021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932222aa02aabb021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 486, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "3080303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 487, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "30412280021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 488, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 489, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "3080313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 490, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "30412280031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 491, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 492, + "comment" : "Replacing sequence with NULL", + "msg" : "54657374", + "sig" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 493, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "2e3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 494, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "2f3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 495, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 496, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "323d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 497, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "ff3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 498, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 499, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 500, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 501, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 502, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 503, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 504, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 505, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 506, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 507, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 508, + "comment" : "dropping value of sequence", + "msg" : "54657374", + "sig" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 509, + "comment" : "using composition", + "msg" : "54657374", + "sig" : "3041300102303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 510, + "comment" : "using composition", + "msg" : "54657374", + "sig" : "30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 511, + "comment" : "using composition", + "msg" : "54657374", + "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 512, + "comment" : "truncate sequence", + "msg" : "54657374", + "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 513, + "comment" : "truncate sequence", + "msg" : "54657374", + "sig" : "303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 514, + "comment" : "indefinite length", + "msg" : "54657374", + "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 515, + "comment" : "indefinite length with truncated delimiter", + "msg" : "54657374", + "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11600", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 516, + "comment" : "indefinite length with additional element", + "msg" : "54657374", + "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11605000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 517, + "comment" : "indefinite length with truncated element", + "msg" : "54657374", + "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 518, + "comment" : "indefinite length with garbage", + "msg" : "54657374", + "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 519, + "comment" : "indefinite length with nonempty EOC", + "msg" : "54657374", + "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 520, + "comment" : "prepend empty sequence", + "msg" : "54657374", + "sig" : "303f3000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 521, + "comment" : "append empty sequence", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1163000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 522, + "comment" : "sequence of sequence", + "msg" : "54657374", + "sig" : "303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 523, + "comment" : "truncated sequence", + "msg" : "54657374", + "sig" : "301f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 524, + "comment" : "repeat element in sequence", + "msg" : "54657374", + "sig" : "305b021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 525, + "comment" : "removing integer", + "msg" : "54657374", + "sig" : "301e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 526, + "comment" : "appending 0's to integer", + "msg" : "54657374", + "sig" : "303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 527, + "comment" : "appending 0's to integer", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 528, + "comment" : "prepending 0's to integer", + "msg" : "54657374", + "sig" : "303f021f0000009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 529, + "comment" : "prepending 0's to integer", + "msg" : "54657374", + "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e00005fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 530, + "comment" : "Replacing integer with NULL", + "msg" : "54657374", + "sig" : "30200500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 531, + "comment" : "Replacing integer with NULL", + "msg" : "54657374", + "sig" : "3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 532, + "comment" : "dropping value of integer", + "msg" : "54657374", + "sig" : "30200200021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 533, + "comment" : "dropping value of integer", + "msg" : "54657374", + "sig" : "3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930200", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 534, + "comment" : "modify first byte of integer", + "msg" : "54657374", + "sig" : "303d021d029b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 535, + "comment" : "modify first byte of integer", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5de8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 536, + "comment" : "modify last byte of integer", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee13021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 537, + "comment" : "modify last byte of integer", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b196", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 538, + "comment" : "truncate integer", + "msg" : "54657374", + "sig" : "303c021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 539, + "comment" : "truncate integer", + "msg" : "54657374", + "sig" : "303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 540, + "comment" : "truncate integer", + "msg" : "54657374", + "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 541, + "comment" : "truncate integer", + "msg" : "54657374", + "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 542, + "comment" : "leading ff in integer", + "msg" : "54657374", + "sig" : "303e021eff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 543, + "comment" : "leading ff in integer", + "msg" : "54657374", + "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 544, + "comment" : "infinity", + "msg" : "54657374", + "sig" : "3021090180021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 545, + "comment" : "infinity", + "msg" : "54657374", + "sig" : "3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93090180", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 546, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303d021d0156667b48514d3e5d546ca89ff45ada90474113ed248b873430ab57f0021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 547, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303c021ce0794dfb465b4e9d969cb3d0616b4b8468dbaf85aec085b2b7008536021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 548, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303d021dff64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 549, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303c021c1f86b204b9a4b16269634c2f9e94b47b9724507a513f7a4d48ff7aca021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 550, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303d021dfea99984b7aeb2c1a2ab9357600ba5256fb8beec12db7478cbcf54a810021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 551, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303d021d019b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 552, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303c021c64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 553, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d011adeb9ed974f878dc2fc26f4bf86ffda5f7abe6c26ebabf9b8181a73", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 554, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca4f18ca08c5d97ce052c32252c9770ce81155a04b120aa783e6d47b9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 555, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 556, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5b0e735f73a26831fad3cddad3688f317eeaa5fb4edf5587c192b847", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 557, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dfee521461268b078723d03d90b40790025a0854193d914540647e7e58d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 558, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d015fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 559, + "comment" : "Modified r or s, e.g. by adding or subtracting the group order", + "msg" : "54657374", + "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d00a017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 560, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 561, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3006020100020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 562, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3006020100020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 563, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30060201000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 564, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 565, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 566, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020100021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 567, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 568, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3008020100090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 569, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 570, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3006020101020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 571, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3006020101020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 572, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30060201010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 573, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 574, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 575, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022020101021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 576, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 577, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3008020101090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 578, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 579, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30060201ff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 580, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30060201ff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 581, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30060201ff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 582, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 583, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 584, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30220201ff021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 585, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 586, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30080201ff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 587, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 588, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 589, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 590, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 591, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 592, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 593, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 594, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 595, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 596, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 597, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 598, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 599, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 600, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 601, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 602, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 603, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 604, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 605, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 606, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 607, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 608, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3022021d01000000000000000000000000000000000000000000000000000000000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 609, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 610, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 611, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 612, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 613, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3024021d0100000000000000000000000000000000000000000000000000000000090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 614, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 615, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 616, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 617, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 618, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 619, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 620, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 621, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 622, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 623, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 624, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3008090380fe01020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 625, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3008090380fe01020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 626, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3008090380fe010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 627, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 628, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 629, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3024090380fe01021d0100000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 630, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 631, + "comment" : "Signatures with special case values for r and s.", + "msg" : "54657374", + "sig" : "300a090380fe01090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 632, + "comment" : "random signature", + "msg" : "54657374", + "sig" : "303e021d009a77c2ecaa462bc2a103083725ad3a829484f471e4aee6202ee86cdb021d009dfbeb5221b3625945dd5e4cc6fee5262ea7894198e8c9da1cd76fb1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 633, + "comment" : "random signature", + "msg" : "54657374", + "sig" : "303d021c29a77fe0e704eccc142f5c56672fed3f44f06941e5232b3f356ed2a9021d00970b5c6e7cb7ecb361c0e1645d54f6e7e9440ef5b5af0bd4e4790656", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 634, + "comment" : "random signature", + "msg" : "54657374", + "sig" : "303c021c19b3f92f6c22e6906b446bca454f31a59aa7714001cbb29bfbcb9f46021c7b609e7b9ab85c569b44bb48ff6b5f6d4bbca4d96ff2dad3577610b3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 635, + "comment" : "random signature", + "msg" : "54657374", + "sig" : "303d021d009f8e58385c8d24feca68f3ed3634118f2a72a6001505ffa3ed0d8d14021c51f3e61627da82df148dc323d03e4d02bf7fd6de64af6cab83ca7a2d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 636, + "comment" : "random signature", + "msg" : "54657374", + "sig" : "303c021c77ee5cb172ea5d1f23e28195584c056cc19185e68341ee8cc5af4d45021c17d341bb596d6def1e04c361c780af7491b7bb45f7040085f3df1076", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtjCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBhAACgYBxPp+BCKanB1SFo3zho7BAzOVjoERW\nFP4Jn7G//Wiss2+eBNitF6zjwTbaZvcw63/xiTZCT/pOWuWx59rDddjRZGlyVLi3\n6Ej1552iXHnfXAcn1do0mEBc0PTkbRNsNR1wPMS/DT9PuxZTkoiGhJZKk60w+heU\niMrUpmVd1PqXVA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-1", + "type" : "DSAVer", + "key" : { + "g" : "0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d", + "keySize" : 1024, + "p" : "0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "q" : "0b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "type" : "DSAPublicKey", + "y" : "713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754" + }, + "tests" : [ + { + "tcId" : 637, + "comment" : "r,s = 1,1", + "msg" : "54657374", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 638, + "comment" : "r,s = 1,5", + "msg" : "54657374", + "sig" : "3006020101020105", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 639, + "comment" : "u2 small", + "msg" : "54657374", + "sig" : "3019020101021425023e8b9ba9ba72f481e90cb8ae67517e641b8a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 640, + "comment" : "s == q-1", + "msg" : "54657374", + "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtDCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBggACf2H+W2H21VWtp9wOusNFn8zY37rRi6lN\nvqUkN81/tDHfQE1HOMWU5yCm14YnWs0CJZymE6CKLeEY0BUNLMrmAhAqygzQNmal\nP2fAuZQ99QRsFbrq9Jap8Bi3yTneFQnecc5H3W9ExX9OAeVpvkaTJ3MZDBVEcM77\n0fSvgtKOSzE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-1", + "type" : "DSAVer", + "key" : { + "g" : "0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d", + "keySize" : 1024, + "p" : "0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f", + "q" : "0b90b38ba0a50a43ec6898d3f9b68049777f489b1", + "type" : "DSAPublicKey", + "y" : "61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31" + }, + "tests" : [ + { + "tcId" : 641, + "comment" : "s == 1", + "msg" : "54657374", + "sig" : "3019021462ba827381396dc44facc66c344f91788f11c6fc020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAaXi2jTEzTuW8ez6Rq2wjNvq0XGSDa9kstTN7c0256ORPiJ+IaYKfT+F0\n3JNEwWSgulsBJiWbqKQ/YHVk+kodDUlkXh1YhqH8SF4v6R5W6uMw2gXhews9AYwp\nAoWySbxAnnr1QwD8fD6zSRFFfiNxkxrZMC6EUM2V3z1WHqCtlNCi6ryv4N1nKPso\nACm1Vtn0+nwPRqeAQymTZwjpfhH8IrKlB2GokMZbX+oqGkFy9r6eqmDnOM32DAFR\nQuLlYrtioR6BDM3wv2MzBzgvLZqXabEV382rS6yuc/7KKJ2yCdzjTL4Sbox/nZ5P\nj3ETSaYI1We0jAUOnfsyvBhOyqTw8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keySize" : 2048, + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "type" : "DSAPublicKey", + "y" : "6978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0" + }, + "tests" : [ + { + "tcId" : 642, + "comment" : "r,s = 1,1", + "msg" : "54657374", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 643, + "comment" : "r,s = 1,5", + "msg" : "54657374", + "sig" : "3006020101020105", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 644, + "comment" : "u2 small", + "msg" : "54657374", + "sig" : "3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 645, + "comment" : "s == q-1", + "msg" : "54657374", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAKmSVO95AeJ+A7YInGSKGEVuS0J1d6WkE6APsTs+9c+DwjoKRD+vxn6PN\nxV/yDrlw2ccS9EeFwP1ZLBf7Q/RiU1ekrIoaYo9yBArlNgg5x8H2shTnoVUw/iKI\ncTnqDwWp2vnZW9a3Rnq/kQfJ++MeNjMCdu7Mzj1ZY1IG1gyiVvmvYGJ2JrBZSYS1\noHXELEIGf6jDMPJYvPFF3yepfajuQZtU46spbHzp72oBEzibPKx4hbRLNyLSfK1g\n5OWpJKHtA0LOqemSVva8EwjUrywK+TebHPIRnOETwIVwX1UZzMG6hWKiI2GQ0/DA\noQ8BRmrXmkgSfChDP2s04kpTmvYPPQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keySize" : 2048, + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "type" : "DSAPublicKey", + "y" : "2a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d" + }, + "tests" : [ + { + "tcId" : 646, + "comment" : "s == 1", + "msg" : "54657374", + "sig" : "3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQzCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBgACggEBAISBd7m8/xNsUsrvKkqby2Tb77rGnhiq5Jlpa17HsnDpBHi0E7uK2Pju\n6K0yEH17pJLDawB/nvMOvh7khNDqfLD/SvqoxwWtXhZXaXVBTxvA7+0lwhkKPtAG\ni/+h8Dv28hBWybs4M1CFGZfLyJz4cps5RSfwirk86bNgqgVaRxd+gqTOb+dsjf/d\nvW7iD6CNAIXTmD7dLI2aNmrSJFtO0o1nVHafXzp5i+S+Gc9Gk5mGXUZOP2QEOLzg\nPJYsI0TQ1VBUKu09tVwVODO+pEtBRoeLo0fIYUQ2xqrE/Rpg8lxis/hpp9Vcq0tx\nItXpr0Mio/yCFPpV3B7gIUWfssRZWCc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keySize" : 2048, + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "type" : "DSAPublicKey", + "y" : "0848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827" + }, + "tests" : [ + { + "tcId" : 647, + "comment" : "r,s = 1,1", + "msg" : "54657374", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 648, + "comment" : "r,s = 1,5", + "msg" : "54657374", + "sig" : "3006020101020105", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 649, + "comment" : "u2 small", + "msg" : "54657374", + "sig" : "3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 650, + "comment" : "s == q-1", + "msg" : "54657374", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAYpN0kpU34sOwnzDYgVVMpzV/ieJRBUdNu84G5AAe/WFIGkV6oNfX5WXp\nC3o9nGiABftAS/O20+YeQCMAvu58WM7q8AsRLd/u88vCAguiIG3U7wVj1/pSwyG0\n7mKA64WFBB0DytuSRN/yHckEF7vm8GuRwspkhEN8OEaSaxjuIidQgbYHJueiaimp\nR+q9A17eg9ZZJ7POsNTYwvNOlKPeD1fk6pmvBZZXUp9pVLGsm7RITKdrQIPhz0Jk\n7/AoZiE3dh5NfzWx7aPPUWhW8lVThA5Drjg3nSNLBsiRgiEyCB0Z8NXbnyO0u9X1\nZn3Xjz3X8f5fJcpIUV9jNc4cn9CmSw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keySize" : 2048, + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "type" : "DSAPublicKey", + "y" : "629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b" + }, + "tests" : [ + { + "tcId" : 651, + "comment" : "s == 1", + "msg" : "54657374", + "sig" : "3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/ecdsa_secp256r1_sha256_test.json b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/ecdsa_secp256r1_sha256_test.json new file mode 100644 index 000000000..19847ab77 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/ecdsa_secp256r1_sha256_test.json @@ -0,0 +1,3904 @@ +{ + "algorithm" : "ECDSA", + "generatorVersion" : "0.4", + "numberOfTests" : 340, + "notes" : { + "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.", + "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.", + "MissingZero" : "Some implementations of ECDSA and DSA incorrectly encode r and s by not including leading zeros in the ASN encoding of integers when necessary. Hence, some implementations (e.g. jdk) allow signatures with incorrect ASN encodings assuming that the signature is otherwise valid.", + "PointDuplication" : "Some implementations of ECDSA do not handle duplication and points at infinity correctly. This is a test vector that has been specially crafted to check for such an omission." + }, + "header" : [], + "testGroups" : [ + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838", + "wy" : "0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e" + }, + "tests" : [ + { + "tcId" : 1, + "comment" : "signature malleability", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3046022100e43dc0edacf7345544d7c28547949164bf882dedcc9db1be918caa02a5f7f7ca022100eb313df522aa9e6dbc0cd45d1ea6edaebd858dca4780a940014363ff7600118d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "304502204d1b36126feee49ec974650f8d1a335f8d210e60949642348ad71e476a35cdfe022100a890b9ddbb3f2089ea69fd117fb349ed054c0f0830f671c1a639ed88eec0bc75", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "304502200e285057b2f96995a3e6a6511cc4a83a791491610ae3f3571d8ab1080b726cc4022100d8b8325f25fb663eda57d958cc174fa8c36d19d2ccb76d5ac4488d776fcf0b8d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3046022100caf80e1656e0a20237b7c39c8bffdf1831efef84a0b5bd7d404fec77b20efecd022100e8352a15bf01544331281f2f71fd913003acabbc6ab0f47cdc58c8d7bc8a6cd5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "304502206160cb08f98f68d6c62b45babea51bd439d9003a40acb38295f63929bf26027e0221008f6b86c954822054da763c5dc9e5ce22e08814904e438311fa4ff2d79e9f9795", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "Legacy:ASN encoding of s misses leading 0", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "acceptable", + "flags" : [ + "MissingZero" + ] + }, + { + "tcId" : 8, + "comment" : "valid", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "removing sequence", + "msg" : "313233343030", + "sig" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "appending 0's to sequence", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "prepending 0's to sequence", + "msg" : "313233343030", + "sig" : "3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Replacing sequence with NULL", + "msg" : "313233343030", + "sig" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "dropping value of sequence", + "msg" : "313233343030", + "sig" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "indefinite length", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "indefinite length with truncated delimiter", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "indefinite length with additional element", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "indefinite length with truncated element", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "indefinite length with garbage", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "indefinite length with nonempty EOC", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "prepend empty sequence", + "msg" : "313233343030", + "sig" : "3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "append empty sequence", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "sequence of sequence", + "msg" : "313233343030", + "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "truncated sequence", + "msg" : "313233343030", + "sig" : "302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "repeat element in sequence", + "msg" : "313233343030", + "sig" : "306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "removing integer", + "msg" : "313233343030", + "sig" : "3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020100020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 142, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020100020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 143, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 144, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 145, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 146, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 147, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 148, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 149, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3008020100090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 150, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020101020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 151, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020101020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 152, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 153, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 154, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 155, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 156, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 157, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 158, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3008020101090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 159, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 160, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 161, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 162, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 163, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 164, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 165, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 166, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 167, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30080201ff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 168, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 169, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 170, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 171, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 172, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 173, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 174, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 175, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 176, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 177, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 178, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 179, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 180, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 181, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 182, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 183, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 184, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 185, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 186, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 187, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 188, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 189, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 190, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 191, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 192, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 193, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 194, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 195, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 196, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 197, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 198, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 199, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 200, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 201, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 202, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 203, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 204, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 205, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 206, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 207, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 208, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 209, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 210, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 211, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 212, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 213, + "comment" : "Edge case for Shamir multiplication", + "msg" : "3639383139", + "sig" : "3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECtmVACiNRmlAAx1yqfVEWk1DeEZA\nhVvwpph00t5f4QPFAR5u8sQtzVDV09Kfma5uuiyAySRPTFQi8Jef8MO6Xg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103", + "wy" : "0c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e" + }, + "tests" : [ + { + "tcId" : 214, + "comment" : "k*G has a large x-coordinate", + "msg" : "313233343030", + "sig" : "303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 215, + "comment" : "r too large", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqwX9nQ3ia5zm9IGWUtn8aRk9CqOY\n8PuoAT4JxYIgRVQZI1JxIox4Z1kJXRK3WvBpLdQQPxn2qMMvSUNaHpuNRQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554", + "wy" : "19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45" + }, + "tests" : [ + { + "tcId" : 216, + "comment" : "r,s are large", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgJhPOaH/OKhqaKpCAba+Xfv+z4di\nGXELB7rfb91MbFYR/rlzkNmCbnoG37QYcclA10QV7TysIInxRFAZu1XtlQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56", + "wy" : "11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95" + }, + "tests" : [ + { + "tcId" : 217, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQgG0JylEIBwylPW6qaMjK23Wh0lf\nzBmnCpW8YCtPfAWVw366nugXHBu1rG/q91O8NvRj467xZilXLAwKj7CADg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05", + "wy" : "095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e" + }, + "tests" : [ + { + "tcId" : 218, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpxr2TeUSakpOAreSLWbOlBXOiKTJ\n0lUU2RCCyHJayVddR3I8j75YC7Np/snCZl2OMKQ1uZMmRUgufJ8R6HIpaw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957", + "wy" : "5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b" + }, + "tests" : [ + { + "tcId" : 219, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020105020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZifOxPBzHqI/wpMfkOvlt1cvWX0g\n3wj8KzHujvFrFXJhcO132NChT8XJw8TJvn8NPuGPcJuyderyBz4lj+aUpQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572", + "wy" : "6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5" + }, + "tests" : [ + { + "tcId" : 220, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020105020103", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWnyIJehWkczh9edUTFTnPxSvwBDL\ncxNDJiyn7Fp39b/vbt9ipEl8G9exR/tsPSKvPDm/zpXzDhOhbT17KBL4Ew==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf", + "wy" : "0ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813" + }, + "tests" : [ + { + "tcId" : 221, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020105020105", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEy+DCkTLNc4Nk/t1gMVKZDASOXi//\nmW2IP6bKynl4xzdwr2qM5Ey0EiSyYDYG9MBNGI6Av/fMMa1RidSrDXDowQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737", + "wy" : "70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1" + }, + "tests" : [ + { + "tcId" : 222, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020105020106", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 223, + "comment" : "r is larger than n", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAES+QXgJcALw3qto8NmhMODtM6Z5XQ\nKiB5bbg0RLA34Tkg8TBR4O7Nz85NrOoPUNHyR8qmafGTwbQHW1GuKW0tVg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139", + "wy" : "20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56" + }, + "tests" : [ + { + "tcId" : 224, + "comment" : "s is larger than n", + "msg" : "313233343030", + "sig" : "3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0Pc3kiA3Fq/UvkMp+qSNJp8VMT67\nujedd4PJe/PokNmXH0oyBmBb7CF4K/XidccUQX6PVmVJ5rxoaQ0jY8icwQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9", + "wy" : "0971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1" + }, + "tests" : [ + { + "tcId" : 225, + "comment" : "small r and s^-1", + "msg" : "313233343030", + "sig" : "3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESDiyvjWmJ2qA754igUD52bls6Dt6\nJU9xzN67uAVM4F/6nLwSPJGbGeACOBmNBAaQQ71mCoKIFAUfy4qsc4psaw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f", + "wy" : "0fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b" + }, + "tests" : [ + { + "tcId" : 226, + "comment" : "smallish r and s^-1", + "msg" : "313233343030", + "sig" : "302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc5OYPKMKUgu8R4PcmWB0aqtETvUg\nwKjncRGapOdLD2Tp174asBoL9ibnCYY+akhtuvMnk6/M93Tixs0nsYV1Jg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64", + "wy" : "0e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526" + }, + "tests" : [ + { + "tcId" : 227, + "comment" : "100-bit r and small s^-1", + "msg" : "313233343030", + "sig" : "3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWsMxoRA/6WZpc3nzVqk381BYigVH\nfjCIUbilAtXfzcX+mZPfS1eTmyuNoJW/bXlCZSBM/gO+mVoC5l1AjIccCw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5", + "wy" : "0fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b" + }, + "tests" : [ + { + "tcId" : 228, + "comment" : "small r and 100 bit s^-1", + "msg" : "313233343030", + "sig" : "302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHSCb6N4t6HcJWjmdOQTHTMRY2Sbi\ne7jljl6uV2fEFQndWeBMIU97GNzjUfwqVJiTpoYOgBY/OMxgpPLJ0EDYyQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509", + "wy" : "0dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9" + }, + "tests" : [ + { + "tcId" : 229, + "comment" : "100-bit r and s^-1", + "msg" : "313233343030", + "sig" : "3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECDU5++5EYl46yq+i/LQTSTks7wYz\nobj6vs7gwTOxDpmRXB6+e/AN+FNRlncKWAR64qQC8mMmu31B1NdhYzeRHg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99", + "wy" : "0915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e" + }, + "tests" : [ + { + "tcId" : 230, + "comment" : "r and s^-1 are close to n", + "msg" : "313233343030", + "sig" : "3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEius2inAnpNZKveo3OQwMHWom85ni\n2XNN4es9Dhk3OHQFvRODRxXh266bh1zwe9VeG2aRx/dTau87Gb96St9XbQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874", + "wy" : "5bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d" + }, + "tests" : [ + { + "tcId" : 231, + "comment" : "s == 1", + "msg" : "313233343030", + "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 232, + "comment" : "s == 0", + "msg" : "313233343030", + "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtTPUaV3VuMXgd1flXm5Rb34siPoC\nOeI/YOjsB91w8ocbE07ljMWDJ4RWhj8zw6hdiB99SjmFAUPinU6vAJr+Rw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287", + "wy" : "1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47" + }, + "tests" : [ + { + "tcId" : 233, + "comment" : "point at infinity during verify", + "msg" : "313233343030", + "sig" : "304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEadoDZHNNLlMP7OlAGSZf77eBoPGw\nj2yIl732VXknyLhm0tPH3NUYsj1yaWDwaa1xqTPYbvirvM6LIPceKoRwAg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8", + "wy" : "66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002" + }, + "tests" : [ + { + "tcId" : 234, + "comment" : "u1 == 1", + "msg" : "313233343030", + "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2K3AACOo7cAlduK2Pj4wYhpHHisj\nIGIBh78GehrB/zIz4rUOwJgHrMs2Ex//le0SoJqGtOqWkKoyhhV2uiNi4Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32", + "wy" : "33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1" + }, + "tests" : [ + { + "tcId" : 235, + "comment" : "u1 == n - 1", + "msg" : "313233343030", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENiOslzztClb6bYgvA6fVx+3KAs/H\nskAfqzaQ2+dat4WNsGkI5ksoYT2nJX5zfzl5PajnE7oGQ7kum7MlK+f4/g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785", + "wy" : "08db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe" + }, + "tests" : [ + { + "tcId" : 236, + "comment" : "u2 == 1", + "msg" : "313233343030", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzwTqd+liJSPYlLk/9S3DAnsxlZUD\ntvo4kOXgQmP5IvHoUo+3wAazmDyLhADle07XF0DC85dUOIIRmb7ersqy6Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1", + "wy" : "0e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9" + }, + "tests" : [ + { + "tcId" : 237, + "comment" : "u2 == n - 1", + "msg" : "313233343030", + "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE23osihq1c+WSncJAd7UI1+aD1JIn\nmWvaPp942+/3c1BPQX87yaiAdcLgqt1aEzEXMM98x2qC8Ro26vCKbJmiBg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350", + "wy" : "4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206" + }, + "tests" : [ + { + "tcId" : 238, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e91e1ba60fdedb76a46bcb51dc0b8b4b7e019f0a28721885fa5d3a8196623397", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3q0Rx6WzloYvIZdNxHUvre/5lO/p\nu9BatBN2XqgLbh8d4/BkDorG7c+Jz/U8QOJlu5QHijQ3Nt8HqgMY/H/h/w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f", + "wy" : "1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff" + }, + "tests" : [ + { + "tcId" : 239, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fdea5843ffeb73af94313ba4831b53fe24f799e525b1e8e8c87b59b95b430ad9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0LxHLg18geuu06bvlsGGE7sf6m+Z\nQyb76A4A395nx+mYbHI+pIQ9SDiblG9krVbIOtcP8XuoUzVmfRu5+mGe/Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9", + "wy" : "0986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd" + }, + "tests" : [ + { + "tcId" : 240, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022003ffcabf2f1b4d2a65190db1680d62bb994e41c5251cd73b3c3dfc5e5bafc035", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoKRMqUfWairLc2AIucCNGrKtA3du\nAmQPeEldRY3VHDJjN/5c+MRgSx8cQJ3C2HLUKUpHYkIN9DowojkuQEJq3Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32", + "wy" : "6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add" + }, + "tests" : [ + { + "tcId" : 241, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204dfbc401f971cd304b33dfdb17d0fed0fe4c1a88ae648e0d2847f74977534989", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEycIRUpDQCLRftl+tD2AjiSmMJUIL\nd1AZ1Ctiw86Klrc4d9JagIDcAtmHynMPBAXCydvvrEb55gHMPwbpcTlz/Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7", + "wy" : "3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd" + }, + "tests" : [ + { + "tcId" : 242, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bc4024761cd2ffd43dfdb17d0fed112b988977055cd3a8e54971eba9cda5ca71", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXsoe9MKH3dxmuLzPG4jookwAGJYv\nPF5++oO8Gl/2Az5eecTLLCRbjEWr3Oio5Np1jZKmB8Ms1AfsrvIvHJNKcQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e", + "wy" : "5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71" + }, + "tests" : [ + { + "tcId" : 243, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220788048ed39a5ffa77bfb62fa1fda2257742bf35d128fb3459f2a0c909ee86f91", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXKqgMOf98OSTa8erWpY1PgoB5BMM\nP4vyLUc+MXAppHretq3EYvcFjyog03HpcCJU6bIBZCAFs87akmtCsXi++Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a", + "wy" : "0deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9" + }, + "tests" : [ + { + "tcId" : 244, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220476d9131fd381bd917d0fed112bc9e0a5924b5ed5b11167edd8b23582b3cb15e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwv0gusBuVVu4rAzmnrHqIPg6H8NQ\nHIpmRpsaMfYZsJhiNwUHefUrYVvXuNdqJfyVyi7TJSXHXyf/yHrDl+bLrw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098", + "wy" : "6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf" + }, + "tests" : [ + { + "tcId" : 245, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008374253e3e21bd154448d0a8f640fe46fafa8b19ce78d538f6cc0a19662d3601", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP9ahyn93+zsLvnJsNyAQBoQm4R6m\nrnjOF77a5LuobO0DzlUWQGv4z6q4dF6sHNaQGK1vULVGGHLd/Fbg2zyP9A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced", + "wy" : "3ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4" + }, + "tests" : [ + { + "tcId" : 246, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220357cfd3be4d01d413c5b9ede36cba5452c11ee7fe14879e749ae6a2d897a52d6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnLjlHielrjtiSmDW3DJzTkmJ2yDp\nvKPt4e33sIaRERS0wQSrPGd+SzbWVW6K1fUjQQoZ8uJ3qolfxXMitEJ1RA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "09cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114", + "wy" : "0b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544" + }, + "tests" : [ + { + "tcId" : 247, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022029798c5c0ee287d4a5e8e6b799fd86b8df5225298e6ffc807cd2f2bc27a0a6d8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo+UsFW3K8QUCYgt5VbwrQLx47z1W\nnhIjwmJRLY9JYCpKIDnzHBCXAkrTzIblcyHeAyNVRjSGFkzxkpRJd98Ufw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a", + "wy" : "4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f" + }, + "tests" : [ + { + "tcId" : 248, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02200b70f22c781092452dca1a5711fa3a5a1f72add1bf52c2ff7cae4820b30078dd", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8Zt4kocg1b7o5nD7kAEPsVw3v5G1\nilFXw/PAWbJlXojPcB7JYvtKEdzyc/XcNX5YRoVgx8/rlC0HSr1DKSYFCQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88", + "wy" : "0cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509" + }, + "tests" : [ + { + "tcId" : 249, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022016e1e458f021248a5b9434ae23f474b43ee55ba37ea585fef95c90416600f1ba", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg6dERZ7N+wGlz1KyegW7czdILSQv\nI117TLiTRVRckKjAXUkze5ZJgTKH3p/+kDVf2QXfXzwylFgoEh83zFDebg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8", + "wy" : "0c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e" + }, + "tests" : [ + { + "tcId" : 250, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202252d6856831b6cf895e4f0535eeaf0e5e5809753df848fe760ad86219016a97", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3RPGs0xWmC3a4STwOd/SP0sZu+iM\n7o5SiuUeXW86Ide/rUwubyY/5etZypdNA5/A5MM0VpL7UyC9rkvTtCpF/w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7", + "wy" : "0bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff" + }, + "tests" : [ + { + "tcId" : 251, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210081ffe55f178da695b28c86d8b406b15dab1a9e39661a3ae017fbe390ac0972c3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZ+b2Wc3ehpovZfCU6U5bTfrWNrv5\nUZL+7tAbDz3rdGCjfgpR8li3rrUd/lkvXP1WhbvlhxLI2SM8YohkN8OLoA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460", + "wy" : "0a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0" + }, + "tests" : [ + { + "tcId" : 252, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELrZBJQWuwFxlRfApkyCH5JDQVRHo\n7B9Zlhe7Nn+eyq+AX1HvzEgDQD+bGuASSJDwakP+3N2zGDD2ZprykolcsA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf", + "wy" : "0805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0" + }, + "tests" : [ + { + "tcId" : 253, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhNtkWGjqs146n9gOBW4uhVQ146a2\njXWlCoVGJf4NfzVtJYmsZV7cmhHvPgde3dqav5LnIXFXDve/Q6LuOTOM/g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35", + "wy" : "6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe" + }, + "tests" : [ + { + "tcId" : 254, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkbnkfFYnhmLXXAmDsiyo6mqlBZt6\nL/djfrKXXjhq1mNJqo/yg9D3fBjW0R3AYhZf0Tw8AxBnnBQIMCoWhU7PvQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663", + "wy" : "49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd" + }, + "tests" : [ + { + "tcId" : 255, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8+wvE8rwTQGStH+0xTEfttTcawqe\ngC5TJ/fsXujkg035fj5Gi30NuGfW7P6B4rD5Ux34fv20fBM4rDIf7+WkMg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d", + "wy" : "0f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432" + }, + "tests" : [ + { + "tcId" : 256, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2SsgCu/Ktqx9r9msry+hCzGAI1uP\nRrRQPkaTxnD8zIhe8vOuv1sxdHUzYlZ2j3wZ77c1LSfkzMrchba4q5Iscg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88", + "wy" : "5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72" + }, + "tests" : [ + { + "tcId" : 257, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECog2HrkuzKJiWzjl+Yu6u5a/F5s9\ndvxIFAo7zYgVI83mvfVgM/hKUFQDVZc3XZCGaqLJa4akHM9u3r9HKYrUiQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd", + "wy" : "0e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489" + }, + "tests" : [ + { + "tcId" : 258, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0PsXzNj6/oJ+DBr8XY2ANm4rIOfx\nSlY6K6UEadhDdehoYSVp054rufVUNVVkZG3pmsYCzGNJz4weI2p952N9kw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8", + "wy" : "68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93" + }, + "tests" : [ + { + "tcId" : 259, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg28zu8HcDT06u87w2R8R4qxBgQds\nmvCiKx5DCdPtsnaatEP/b5AeMMdzhnWCmXwr7CsMuBINdgI286lbvogfdQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276", + "wy" : "09ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75" + }, + "tests" : [ + { + "tcId" : 260, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkvmfvpc+1KKZcZuu5LQydBI3A03s\njXK6UQPLM+Vf7rgDPdDpETTHNBdIifPrzxt6GsBXZyiSgO56eUzr1uaWlw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8", + "wy" : "33dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697" + }, + "tests" : [ + { + "tcId" : 261, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE01uljaMBl9N45hjsD6fi4tEs/9c+\nu7IEnRMLukNK8J7/g5huaHXkHqQyt1haSbOmx3y7PEeRn46Ch0x5RjXB0g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e", + "wy" : "0ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2" + }, + "tests" : [ + { + "tcId" : 262, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhlHOSQ8bRtc/P/R1FJvikTZpczSl\nGdfdqwclyNB5MiThHGW9jKktyLya6CkR8LUnUc4h3ZADrmCQC9gl9ZDMKA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224", + "wy" : "0e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28" + }, + "tests" : [ + { + "tcId" : 263, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbY4bEsgxoNqHlWUP+V8QHtkh2eL3\nKxWxzaypgmuc/G3vbWPivFwIlXA5SkvJ+JLV5sempjeyBGmljBBq1Ia/Nw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d", + "wy" : "0ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37" + }, + "tests" : [ + { + "tcId" : 264, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECuWAuukztO8pl8vbsJIjKMqaQQ9i\neg99/yTLTZIOFUKJEef4zDZaiojrgUIaNhzMK5njCdjc2amLqDw5SdiT4w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542", + "wy" : "08911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3" + }, + "tests" : [ + { + "tcId" : 265, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW4Ev1SGq+mmDWoSczm+962mDtELS\nRE/nDhNMAn/EaWODikDyo2CS6QBOktjZQM9WOFUM5nLOi41OFeulSZJJ6Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963", + "wy" : "0838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9" + }, + "tests" : [ + { + "tcId" : 266, + "comment" : "point duplication during verification", + "msg" : "313233343030", + "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW4Ev1SGq+mmDWoSczm+962mDtELS\nRE/nDhNMAn/EaWN8db8MXJ9tF/+xbScmvzCpx6rzGo0xdHKx6hRatm22Fg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963", + "wy" : "7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616" + }, + "tests" : [ + { + "tcId" : 267, + "comment" : "duplication bug", + "msg" : "313233343030", + "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEat2oK5AmGw8xn6oNh4ZlprbaSX8J\nyQMXYiLDSs/vcqZH5vUNzECtXZtZ92ArsiL61xpBv14fnfSVmjZMYuSI2Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6", + "wy" : "47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9" + }, + "tests" : [ + { + "tcId" : 268, + "comment" : "point with x-coordinate 0", + "msg" : "313233343030", + "sig" : "30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEL8oNCkeRTed+1W5+zMMnamARIMbf\nAGnIJcj2oByfOCBl80UKHRfGskmJo5vrHH3s/Kg4T73ClEGOXYB7PG7X3g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820", + "wy" : "65f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de" + }, + "tests" : [ + { + "tcId" : 269, + "comment" : "point with x-coordinate 0", + "msg" : "313233343030", + "sig" : "3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3YbTtfShPoURCDt4ACCBxT/0Z/Ee\nvZilGmM9t2Zl0lBF1cggDIny+hDYSTSSJtIdjfrtb/jVyz4bfhdHTrwY9w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250", + "wy" : "45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7" + }, + "tests" : [ + { + "tcId" : 270, + "comment" : "comparison with point at infinity ", + "msg" : "313233343030", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET+pVsyyzKsoMEsTNCr+05ksPWlFu\nV4wBZZGpP1oPvMXX0/0Qsr5mjFR7IS9rsUyI8P7NOKiksseF7TvmLOSygA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5", + "wy" : "0d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280" + }, + "tests" : [ + { + "tcId" : 271, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXln1Bwhka+iliTVQFDCOYLZo+2cB\nliBsQedI5k5NyiFd43/uXJe8r3FE1bRZmC9S7ur73wOqy6/vOOITYkoB3g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21", + "wy" : "5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de" + }, + "tests" : [ + { + "tcId" : 272, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", + "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5" + }, + "tests" : [ + { + "tcId" : 273, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 274, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpawHL0cAeWAZXEYFLWD8GHp1DHMqZTOoTE0Sb+XyECuCg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", + "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a" + }, + "tests" : [ + { + "tcId" : 275, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 276, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5", + "wy" : "087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d" + }, + "tests" : [ + { + "tcId" : 277, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 278, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3045022100e502de07f887e60119f9668cec69d2760839e6e74b9e6ff8cb7fa8d5a24f66c802207605e8b6afdbef06db7f89d06e2add2cf064eb4054d5ff0b101d815e813a8c08", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 279, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3044022030fbfb3d662f0f07e8d51c6c3ebbc3ae9cf17b985db10e38116f1ba584cccf4102206fcc086c907209fe3d3d3a3724af44ce3d5af9345ac8864de18ad2b2f9617819", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 280, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "304602210097dde41357ef913cb8b9cd8e8c8c858831ec69298c739cd7fb14edcafc519d4e022100c8e032ad4432814ba4ddf3e25004594fa8c5137e39fd360ca36aedabaa934db3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 281, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3044022047bf21626d4b879fc51774251d7e3a380104e2c8170f13d32e86358c63d6b50102203f9c9d81b5e20b94766a62efdee7f3edfada68ab4d74487a24978fb574358830", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 282, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3045022100d7908fbd16c6a3ffd7c315bfc2f87d8d42bda8fac5d6024069b5df6b101420e0022066a4771722eef9f166f037629c0d210010727dd114049fe2159ffa228fc11798", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 283, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3046022100d48907279f401ee511d2e78d15f4c17539c93373d72bb66cff066a9114801a6d022100c7b709d88a367836a66cdb4b3bd4e0b2a76c97e551505c2969c98b6709600733", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 284, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "30450220743d6d5a99bcf2f7e011d6cac86a73582014419d3803c8d61128b23e4683cf96022100fa1270b7406b13cdbea376cb502f01f388f97dc5b660c9f3ba92c40233ae853f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 285, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "304502201c8e26e3a84892b12d6946fa39aa15ee8989f32c647db31c48c7276718907734022100e486719b597f52356d20afc98af82301d3ed33e2c3ec61c23601de687c432893", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 286, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3046022100f8f074bad4cc63ce49b1a7101f5f1e5dd7e8d28e1654e3052e9dea4e8830a247022100d232383e83d2b4e0c12ee6127dd8cc3fcfcdff971571b07e18ea0d59d1bd75e9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 287, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 288, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "304502202a95faa048e78949b27dd4f2a69bf26f809d565cca4fd0205aac95382e19df1c022100c7de7183db22fb7015697d8f15874529c1c37b3506b32e2969c6345ba6431eea", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 289, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "3046022100ef18b2f9d187e6d6ebd0fe0ff63ebbee44e4e8c3812fb53f7399a2db757965fc022100ff2f438009b409c18fb908851115a00f3ac250428c0485cb8e8066e27608dc2a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 290, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "3045022100d1ba6053e65dd564d24a99aeabb181529f48ed9564bfcf8d9b7950d05dfbf1f702204b4d69402ba634983534a599f49c47d4fef03ace4446a7934124e7b4cd212be2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 291, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "3045022100d8df1a77d439e1a68621712e5cf65ecc503398f7a87a6b53fbd1d7251d1a62bd02203276f956f733314b20eb399f2027702463e203cd8f15f1dbe41fe157dcaac618", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 292, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "30440220771b9696276b14cf4e0342272f65be8ddf3d603036b03d13a82f522c0446843c022062e7b425f0e2d8a6a207e8324014a6d4d569d80e0fe5509ba1cd1581446d5a2b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 293, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "3046022100f052476d9a28b34372a358481c650f2aee5c91b88fa307ad39719c11d2ae2b79022100d5da4b0f6bab8923ec17533d455ed259d379fe265956b7106f2c44c4f56a70ed", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 294, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "3046022100a6a63a03be4a3505ba28907fb2b028268387b657ae561fb5bf9c011a330a8dae022100bacb589b58eeb74b7ab85b1abdaf50f59ed03ea4a73dde66470b86dc34e25768", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 295, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "3046022100f547541d72fad13c84399a2e74e00c2f2b6ee9c24b48bb06c00c321786273c07022100d28d340d5e507b1fd87011bc8a21b388f7a4ea6acbc67916667e278dd52c5c1b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 296, + "comment" : "pseudorandom signature", + "msg" : "4d7367", + "sig" : "304402205b64337764e6b896219a3502e4ea632fc03afe12c27ad0501640f46f7a6e62950220100cd011a79cbcba991f0994e4e406de9a390d8ede12d4a116f39072d8373463", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 297, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 298, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "304402206d5091f9497241fb2a99137f56734d70797c1620fa58f292f3ddc1c21980768a02207d4681372addeec97da13d3834429a49cf94c68cc6d8380fcc1fb897caeaa4d7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 299, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30440220111af92aa721abe4492468a6ad410f85351c3f71f6f076c5160eac1665bf08a002205d9f4658ec427e54fd64ccc367f50d48c7e5c2822299e258f443cc7890d25db9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 300, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3046022100ecd42e0caddf730e79911ea0725402d3e4519e93299217cfff7f27eb06383bcb022100b9002348257e8aa55de6326e8588d1e5ac7803e912dca2b6aac1c0b6c6ce887d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 301, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3046022100dd7ff4894d875b82698e738cd6af3e06df3dfe519c63c83bda6cb780003212680221008ae21af20504ca943014f87bc06eff0c72222900e7b78e49e7107d1d27f78d7a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 302, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "304502202c4ffe7eba452ab8147fbd117091b6a6aed2c022b51a0559f45a210149827585022100f8f713031c6747382a930183f508cb5ba3dee9918623ed7b9246f7792895806f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 303, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30450220036e58fdd99c73206d0b989e315d4e7445853b29756abd9be4988043ee575318022100bca3bdbd7b13d674a507755a1fb25d6b9ad533e6aea4c07da2b662bf64074c1f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 304, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3045022100e8967620ea0878093f914bc670e9fd49e5e1d120cd8296f67934806921edd1eb0220091fe9cc8158606b7a93a87b830d8bf892c8086bc3ccb364b885adc11c5a2f5b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 305, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30450221008053d20f27c43e96e7cb99f0fb5ed638f391dbb8c49228bb164e3c5c7ed98df802200f8f909a360d019c8cd8cc4936c471cb0e81eec812a7815a413f015e5020a83a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 306, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "304402201a05d145760911a0d03a3f9e04183b4fa12052ab08e8e2a61cecd685abe06ccd022015a45cdddd5b271b460fd23970e3f09bd3e428c5935a141131f7bb9cdcb31ffe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 307, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 308, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "304502200a1ba2c8595e428eb8efe4d0d527b57a9d65a18f2adb74a8d42b079cca3ded47022100a9b1d33b3b0498f08a46b3602d216cddd909b46a4531bb0c8eda027c813701ea", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 309, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "3044022051a2d733ccc576739d202cac29631dd4a4c2b7bca274a88bed819b4fa74bc13a02203332485952b2bafdd23bb4bdd5b182c17d68fa989fb297e522f58267f579858b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 310, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "30450221008523fa05039757ff31734c5a97512e16d36a2b44cfeaf698bf99a3da10192ce102201a4a46d618146dbd6f8b96bde830c1cd6b3c40b3c3f076b0525327b81421703c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 311, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "30450221008b7c16aead127ff236229edf3b3d685389d833a6706f8baaf8d18c42c8e0fcb402207c007ac920eb885009bb826dacf204affc995b8b1da3088ab8233372e77bfcb9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 312, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "3046022100eb05151d10844480bb1da9bbd5fadeb94653979ce6473e1eae877c04b5dc136b022100f5626ba78e4936461be857439da72310f0159c53076ed7602b802b5c79296db6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 313, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "3046022100b1ef5e5b2ed946f33e3f14a755af39520397d425aa184e24c3a1ab2071bd28ad022100f06c9370a8fd969f14fe9fb10d18e593c1469e5716c7264880dd35a8589c4747", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 314, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "304502206da6c71eb7d8a2435999c8f6b7a1de30f2a863a2f07a8aad4d321d52cc619679022100ab1abe0cbd07504de3fd9ac64bed3bf89fb0061e251a1b1de2925e6635d523ec", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 315, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "30450220450e205ad97a14760979e1d5a24f2277c88382810b73c94ea53fa0d768ee18d1022100ba73359c371c5ff36c338bcd9761096647e0437db6a01b95df8cfa15ffc29bf4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 316, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "304502201814378a581d4584664c2e24d695edeec6ce96971887a35a67df515e8788d44c022100c96da4442349d041183bba91d8f2b0279501c85b7b31f993c82268b6703c7b3f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000", + "wy" : "0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685" + }, + "tests" : [ + { + "tcId" : 317, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 318, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 319, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935", + "wy" : "084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000" + }, + "tests" : [ + { + "tcId" : 320, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 321, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 322, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935", + "wy" : "7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff" + }, + "tests" : [ + { + "tcId" : 323, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 324, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 325, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff", + "wy" : "0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e" + }, + "tests" : [ + { + "tcId" : 326, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 327, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 328, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5", + "wy" : "5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73" + }, + "tests" : [ + { + "tcId" : 329, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 330, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 331, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e", + "wy" : "1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71" + }, + "tests" : [ + { + "tcId" : 332, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 333, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 334, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015", + "wy" : "1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2" + }, + "tests" : [ + { + "tcId" : 335, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 336, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 337, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015", + "wy" : "0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d" + }, + "tests" : [ + { + "tcId" : 338, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 339, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 340, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/ecdsa_test.json b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/ecdsa_test.json new file mode 100644 index 000000000..32aa60a91 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/ecdsa_test.json @@ -0,0 +1,18856 @@ +{ + "algorithm" : "ECDSA", + "generatorVersion" : "0.4", + "numberOfTests" : 1240, + "notes" : { + "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.", + "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.", + "GroupIsomorphism" : "Some EC groups have isomorphic groups that allow an efficient implementation. This is a test vector that contains values that are edge cases on such an isomorphic group.", + "MissingZero" : "Some implementations of ECDSA and DSA incorrectly encode r and s by not including leading zeros in the ASN encoding of integers when necessary. Hence, some implementations (e.g. jdk) allow signatures with incorrect ASN encodings assuming that the signature is otherwise valid.", + "PointDuplication" : "Some implementations of ECDSA do not handle duplication and points at infinity correctly. This is a test vector that has been specially crafted to check for such an omission.", + "WeakHash" : "The security strength of the hash function used in this signature is weaker than then strength of the EC parameters. Such choices are disallowed in FIPS PUB 186-4 Section 6.1.1. However, it is unclear whether a library should reject such parameter choices." + }, + "header" : [], + "testGroups" : [ + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838", + "wy" : "0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e" + }, + "tests" : [ + { + "tcId" : 1, + "comment" : "signature malleability", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "304602210086753af076a9fb3502947b82ed0803a4c956826fea52f0ca3a115368bcb3e57502210088f2916c764aec4a8ffcd8bb0d07bd2d9abf5809b420ba3a790609f9395f6c6a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3046022100c7bff935fb0dc1ddf8dc381b8b783b974e5c16bba8d8ff2c328f164842674f16022100a09baf6de24e7b390fa15c14204f4621c8386f7ff91ae86304305aad3e1bd41f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "30440220672deb79741a307a34f614d3d8bdcfe7d70704ba17e5f04191521f7f10e7cc44022029cf9a1498c58115db5c1d03e30a1371911ee4cffc83171887261f24c75ca80a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3046022100b9636bbfc0a48dc65055e6ed17ee0d21d671408ab5ab2172222d10eda9b02488022100a7700d7a903baa09e5360d2104674e207c367cf4464e5939505e19c112fcbb6b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3046022100cff051385f85a769db6e75838d87ec13c59304fd71d9904aecb8b28c1f9338ea022100e994c7a64261dd20bf2ec608285880a3581e4c75abfa923a5b474bce60b01251", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "Legacy:ASN encoding of s misses leading 0", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "acceptable", + "flags" : [ + "MissingZero" + ] + }, + { + "tcId" : 8, + "comment" : "valid", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "removing sequence", + "msg" : "313233343030", + "sig" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "appending 0's to sequence", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "prepending 0's to sequence", + "msg" : "313233343030", + "sig" : "3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Replacing sequence with NULL", + "msg" : "313233343030", + "sig" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "dropping value of sequence", + "msg" : "313233343030", + "sig" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "indefinite length", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "indefinite length with truncated delimiter", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "indefinite length with additional element", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "indefinite length with truncated element", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "indefinite length with garbage", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "indefinite length with nonempty EOC", + "msg" : "313233343030", + "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "prepend empty sequence", + "msg" : "313233343030", + "sig" : "3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "append empty sequence", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "sequence of sequence", + "msg" : "313233343030", + "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "truncated sequence", + "msg" : "313233343030", + "sig" : "302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "repeat element in sequence", + "msg" : "313233343030", + "sig" : "306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "removing integer", + "msg" : "313233343030", + "sig" : "3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020100020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 142, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020100020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 143, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 144, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 145, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 146, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 147, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 148, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 149, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3008020100090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 150, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020101020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 151, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020101020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 152, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 153, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 154, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 155, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 156, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 157, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 158, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3008020101090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 159, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 160, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 161, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 162, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 163, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 164, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 165, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 166, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 167, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30080201ff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 168, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 169, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 170, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 171, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 172, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 173, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 174, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 175, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 176, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 177, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 178, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 179, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 180, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 181, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 182, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 183, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 184, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 185, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 186, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 187, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 188, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 189, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 190, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 191, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 192, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 193, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 194, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 195, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 196, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 197, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 198, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 199, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 200, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 201, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 202, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 203, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 204, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 205, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 206, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 207, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 208, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 209, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 210, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 211, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 212, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 213, + "comment" : "Edge case for Shamir multiplication", + "msg" : "3639383139", + "sig" : "3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEuDj/ROW8F3vyEYnQdmCC/J2EMiaIf8l2\nA3EQC37iCm/wyddb+6ezGmvKGXRJbutW3jVwcZVdg8Sxutqgshgy6Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6f", + "wy" : "0f0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9" + }, + "tests" : [ + { + "tcId" : 214, + "comment" : "signature malleability", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022100900e75ad233fcc908509dbff5922647db37c21f4afd3203ae8dc4ae7794b0f87", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 215, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "304502203714006837443506a04d93a9245abddd7b17829220172a826dcc49577eb17a11022100b8c0892cac028b9bec95f6e561da7fc092d3cee3882c5b6aa7cfde2baf2791da", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 216, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3044022044da26aa0d2cb50dc29b6c4c8f8c596f9a89416f6cdd0dd84bea1556ee32008102205c37e44bb99c0315aaf8886bc3b4a359634e94489a96d7f5463b8720875fd6b5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 217, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3045022100a4a4506d12e5489b94746209e7aca23722269d7ecfa42f787b0092cae14352d702203d8a793ae2047a01c3591b3377b59c19bb4b6bc444b67e9c353c739f526ad711", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 218, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3045022100aea1527ff60cb198070fc75336eacb4a4627c00c78cdb21dfc9471e99bf7008d02201ebac9b104cf430e4aff3131aa77e3f6220f8426f010d514baf9c441800e9398", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 219, + "comment" : "random signature", + "msg" : "313233343030", + "sig" : "3044022000edef225ae6c0e0f4ccb666ca2f07e967140c9b555dd7e9a1a2bf40d4bbbe8202207f5212e2298234e893253d520270309f8cec8c85a2d9b88e5fa8d3552ebd501a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 220, + "comment" : "Legacy:ASN encoding of r misses leading 0", + "msg" : "313233343030", + "sig" : "30440220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "acceptable", + "flags" : [ + "MissingZero" + ] + }, + { + "tcId" : 221, + "comment" : "valid", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 222, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "308145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 223, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "304602812100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 224, + "comment" : "long form encoding of length", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650281206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 225, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "30820045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 226, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "30470282002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 227, + "comment" : "length contains leading 0", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365028200206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 228, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 229, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 230, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3045022200813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 231, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3045022000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 232, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502216ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 233, + "comment" : "wrong length", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021f6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 234, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "30850100000045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 235, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "304a0285010000002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 236, + "comment" : "uint32 overflow in length", + "msg" : "313233343030", + "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365028501000000206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 237, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "3089010000000000000045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 238, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "304e028901000000000000002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 239, + "comment" : "uint64 overflow in length", + "msg" : "313233343030", + "sig" : "304e022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502890100000000000000206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 240, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "30847fffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 241, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "304902847fffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 242, + "comment" : "length = 2**31 - 1", + "msg" : "313233343030", + "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502847fffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 243, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "3084ffffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 244, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "30490284ffffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 245, + "comment" : "length = 2**32 - 1", + "msg" : "313233343030", + "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650284ffffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 246, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "3085ffffffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 247, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "304a0285ffffffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 248, + "comment" : "length = 2**40 - 1", + "msg" : "313233343030", + "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650285ffffffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 249, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "3088ffffffffffffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 250, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "304d0288ffffffffffffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 251, + "comment" : "length = 2**64 - 1", + "msg" : "313233343030", + "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650288ffffffffffffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 252, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "30ff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 253, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "304502ff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 254, + "comment" : "incorrect length", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502ff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 255, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 256, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "3045028000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 257, + "comment" : "indefinite length without termination", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502806ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 258, + "comment" : "removing sequence", + "msg" : "313233343030", + "sig" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 259, + "comment" : "appending 0's to sequence", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 260, + "comment" : "prepending 0's to sequence", + "msg" : "313233343030", + "sig" : "30470000022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 261, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 262, + "comment" : "appending unused 0's", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 263, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 264, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 265, + "comment" : "appending null value", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 266, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a4981773045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 267, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304925003045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 268, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "30473045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 269, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a2226498177022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 270, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304922252500022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 271, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304d2223022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650004deadbeef02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 272, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222549817702206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 273, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652224250002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 274, + "comment" : "including garbage", + "msg" : "313233343030", + "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 275, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304daa00bb00cd003045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 276, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304baa02aabb3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 277, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304d2229aa00bb00cd00022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 278, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304b2227aa02aabb022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 279, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652228aa00bb00cd0002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 280, + "comment" : "including undefined tags", + "msg" : "313233343030", + "sig" : "304b022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652226aa02aabb02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 281, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "30803045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 282, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "30492280022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 283, + "comment" : "using composition with indefinite length", + "msg" : "313233343030", + "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365228002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 284, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "30803145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 285, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "30492280032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 286, + "comment" : "using composition with wrong tag", + "msg" : "313233343030", + "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365228003206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 287, + "comment" : "Replacing sequence with NULL", + "msg" : "313233343030", + "sig" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 288, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2e45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 289, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "2f45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 290, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 291, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3245022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 292, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "ff45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 293, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 294, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045012100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 295, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 296, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045042100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 297, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045ff2100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 298, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236500206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 299, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236501206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 300, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236503206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 301, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236504206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 302, + "comment" : "changing tag value", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365ff206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 303, + "comment" : "dropping value of sequence", + "msg" : "313233343030", + "sig" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 304, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "304930010230442100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 305, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "304922250201000220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 306, + "comment" : "using composition", + "msg" : "313233343030", + "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222402016f021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 307, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 308, + "comment" : "truncate sequence", + "msg" : "313233343030", + "sig" : "30442100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 309, + "comment" : "indefinite length", + "msg" : "313233343030", + "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 310, + "comment" : "indefinite length with truncated delimiter", + "msg" : "313233343030", + "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 311, + "comment" : "indefinite length with additional element", + "msg" : "313233343030", + "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba05000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 312, + "comment" : "indefinite length with truncated element", + "msg" : "313233343030", + "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 313, + "comment" : "indefinite length with garbage", + "msg" : "313233343030", + "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 314, + "comment" : "indefinite length with nonempty EOC", + "msg" : "313233343030", + "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 315, + "comment" : "prepend empty sequence", + "msg" : "313233343030", + "sig" : "30473000022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 316, + "comment" : "append empty sequence", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 317, + "comment" : "sequence of sequence", + "msg" : "313233343030", + "sig" : "30473045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 318, + "comment" : "truncated sequence", + "msg" : "313233343030", + "sig" : "3023022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 319, + "comment" : "repeat element in sequence", + "msg" : "313233343030", + "sig" : "3067022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 320, + "comment" : "removing integer", + "msg" : "313233343030", + "sig" : "302202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 321, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 322, + "comment" : "appending 0's to integer", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 323, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "30470223000000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 324, + "comment" : "prepending 0's to integer", + "msg" : "313233343030", + "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022200006ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 325, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "3024050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 326, + "comment" : "Replacing integer with NULL", + "msg" : "313233343030", + "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 327, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "3024020002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 328, + "comment" : "dropping value of integer", + "msg" : "313233343030", + "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650200", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 329, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "3045022102813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 330, + "comment" : "modify first byte of integer", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206df18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 331, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323e502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 332, + "comment" : "modify last byte of integer", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb313a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 333, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "3044022000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832302206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 334, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "30440220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 335, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021f6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 336, + "comment" : "truncate integer", + "msg" : "313233343030", + "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 337, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "30460222ff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 338, + "comment" : "leading ff in integer", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221ff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 339, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "302509018002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 340, + "comment" : "infinity", + "msg" : "313233343030", + "sig" : "3026022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365090180", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 341, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478583b90deabca4b05c4574e49b5899b964a602206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 342, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30440220813ef79ccefa9a56f7ba805f0e47858643b030ef461f1bcdf53fde3ef94ce22402206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 343, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30450221ff7ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 344, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304402207ec10863310565a908457fa0f1b87a79bc4fcf10b9e0e4320ac021c106b31ddc02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 345, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "30450221fe7ec10863310565a908457fa0f1b87a7c46f215435b4fa3ba8b1b64a766469b5a02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 346, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 347, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "304402207ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 348, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b7fc1e197d8aebe203c96c87232272172fb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 349, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221ff6ff18a52dcc0336f7af62400a6dd9b824c83de0b502cdfc51723b51886b4f079", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 350, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650220900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 351, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221fe900e75ad233fcc908509dbff592264803e1e68275141dfc369378dcdd8de8d05", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 352, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 353, + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "msg" : "313233343030", + "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022100900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 354, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020100020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 355, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020100020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 356, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201000201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 357, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 358, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 359, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 360, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 361, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 362, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3008020100090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 363, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020101020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 364, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3006020101020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 365, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201010201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 366, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 367, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 368, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 369, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 370, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 371, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3008020101090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 372, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 373, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 374, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30060201ff0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 375, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 376, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 377, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 378, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 379, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 380, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "30080201ff090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 381, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 382, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 383, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 384, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 385, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 386, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 387, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 388, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 389, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 390, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 391, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 392, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641400201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 393, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 394, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 395, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 396, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 397, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 398, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 399, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 400, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 401, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641420201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 402, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 403, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 404, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 405, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 406, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 407, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 408, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 409, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 410, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f0201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 411, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 412, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 413, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 414, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 415, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 416, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 417, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020100", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 418, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020101", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 419, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc300201ff", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 420, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 421, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 422, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 423, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 424, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 425, + "comment" : "Signature with special case values for r and s", + "msg" : "313233343030", + "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30090380fe01", + "result" : "invalid", + "flags" : [ + "EdgeCase" + ] + }, + { + "tcId" : 426, + "comment" : "Edge case for Shamir multiplication", + "msg" : "3235353835", + "sig" : "3045022100dd1b7d09a7bd8218961034a39a87fecf5314f00c4d25eb58a07ac85e85eab516022035138c401ef8d3493d65c9002fe62b43aee568731b744548358996d9cc427e06", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bc75e84bc85176a30559db843e5fbb3628526120dae9227de017934ab10526c0eccb6c30f0781acb6b7036ee6dd2b9b7d77c963247266e43", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvHXoS8hRdqMFWduEPl+7NihSYSDa6SJ9\n4BeTSrEFJsDsy2ww8Hgay2twNu5t0rm313yWMkcmbkM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0bc75e84bc85176a30559db843e5fbb3628526120dae9227de017934a", + "wy" : "0b10526c0eccb6c30f0781acb6b7036ee6dd2b9b7d77c963247266e43" + }, + "tests" : [ + { + "tcId" : 427, + "comment" : "k*G has a large x-coordinate", + "msg" : "4d7367", + "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 428, + "comment" : "r too large", + "msg" : "4d7367", + "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040bfefa69d4970f77e259099b01bbb869248e4859ed20c3d50dd83081e1f47eb82f10f71166816ad2a533b341883f9cdd88567c0fa9b2312e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEC/76adSXD3fiWQmbAbu4aSSOSFntIMPV\nDdgwgeH0frgvEPcRZoFq0qUzs0GIP5zdiFZ8D6myMS4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0bfefa69d4970f77e259099b01bbb869248e4859ed20c3d50dd83081", + "wy" : "0e1f47eb82f10f71166816ad2a533b341883f9cdd88567c0fa9b2312e" + }, + "tests" : [ + { + "tcId" : 429, + "comment" : "r,s are large", + "msg" : "4d7367", + "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000469627a4c0957fc76df1698c37b9c6efedf0768f9797da84749a6b6070ba90da74515d002f3ecc6fbc7619c66b962db97f361933fb2f9b943", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEaWJ6TAlX/HbfFpjDe5xu/t8HaPl5fahH\nSaa2BwupDadFFdAC8+zG+8dhnGa5YtuX82GTP7L5uUM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "69627a4c0957fc76df1698c37b9c6efedf0768f9797da84749a6b607", + "wy" : "0ba90da74515d002f3ecc6fbc7619c66b962db97f361933fb2f9b943" + }, + "tests" : [ + { + "tcId" : 430, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "4d7367", + "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046514a1d0aa8f7f516efee552d0948f6c44caa2f5b8489910753c7418e126a8aadd213f6f38e27b16b92fd6a9d01b10ec6db10f2ae7e24c31", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEZRSh0KqPf1Fu/uVS0JSPbETKovW4SJkQ\ndTx0GOEmqKrdIT9vOOJ7Frkv1qnQGxDsbbEPKufiTDE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "6514a1d0aa8f7f516efee552d0948f6c44caa2f5b8489910753c7418", + "wy" : "0e126a8aadd213f6f38e27b16b92fd6a9d01b10ec6db10f2ae7e24c31" + }, + "tests" : [ + { + "tcId" : 431, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "4d7367", + "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045a1fd06d0c6ae74cd08b8a94b01357c110eb9304ce58b93de7b02e002c824eca4386c5fcfba682f9dcd88b99f5fe90f6c620c50d420509e4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWh/QbQxq50zQi4qUsBNXwRDrkwTOWLk9\n57AuACyCTspDhsX8+6aC+dzYi5n1/pD2xiDFDUIFCeQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "5a1fd06d0c6ae74cd08b8a94b01357c110eb9304ce58b93de7b02e00", + "wy" : "2c824eca4386c5fcfba682f9dcd88b99f5fe90f6c620c50d420509e4" + }, + "tests" : [ + { + "tcId" : 432, + "comment" : "small r and s", + "msg" : "4d7367", + "sig" : "3006020103020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000499c273370404653c768c5d638e9209e81ebb03e132a3669a3c23c8c7c068e0572c09a968eaa4b92781fe0aa7303099b374b9c2fa5da05834", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEmcJzNwQEZTx2jF1jjpIJ6B67A+Eyo2aa\nPCPIx8Bo4FcsCalo6qS5J4H+CqcwMJmzdLnC+l2gWDQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "099c273370404653c768c5d638e9209e81ebb03e132a3669a3c23c8c7", + "wy" : "0c068e0572c09a968eaa4b92781fe0aa7303099b374b9c2fa5da05834" + }, + "tests" : [ + { + "tcId" : 433, + "comment" : "small r and s", + "msg" : "4d7367", + "sig" : "3006020103020103", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bed2146c8c62ddc31327c7f33d3a8feb2c3ef8e4414fe55f3545144536e288f69784e2a2d1ba748b0b3e07ffc31af07fd42c519a5c485d63", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvtIUbIxi3cMTJ8fzPTqP6yw++ORBT+Vf\nNUUURTbiiPaXhOKi0bp0iws+B//DGvB/1CxRmlxIXWM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0bed2146c8c62ddc31327c7f33d3a8feb2c3ef8e4414fe55f35451445", + "wy" : "36e288f69784e2a2d1ba748b0b3e07ffc31af07fd42c519a5c485d63" + }, + "tests" : [ + { + "tcId" : 434, + "comment" : "small r and s", + "msg" : "4d7367", + "sig" : "3006020103020104", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 435, + "comment" : "r is larger than n", + "msg" : "4d7367", + "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a83321aecea4a1fca6be1add7a93ab679ef165ee24999eedf50a2dca00d1bb5122c539d17669e7b805d1ef3c83f81b991af0c380429fad85", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEqDMhrs6kofymvhrdepOrZ57xZe4kmZ7t\n9QotygDRu1EixTnRdmnnuAXR7zyD+BuZGvDDgEKfrYU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0a83321aecea4a1fca6be1add7a93ab679ef165ee24999eedf50a2dca", + "wy" : "0d1bb5122c539d17669e7b805d1ef3c83f81b991af0c380429fad85" + }, + "tests" : [ + { + "tcId" : 436, + "comment" : "s is larger than n", + "msg" : "4d7367", + "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000448aea0b4cbcbeba311d7d90a3a68c3af32d9aad3ea9eccb7573599a6dd5e2021bd903228e2d46faa9dd294a0793f81ad352f448e3e3b5ddc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAESK6gtMvL66MR19kKOmjDrzLZqtPqnsy3\nVzWZpt1eICG9kDIo4tRvqp3SlKB5P4GtNS9Ejj47Xdw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "48aea0b4cbcbeba311d7d90a3a68c3af32d9aad3ea9eccb7573599a6", + "wy" : "0dd5e2021bd903228e2d46faa9dd294a0793f81ad352f448e3e3b5ddc" + }, + "tests" : [ + { + "tcId" : 437, + "comment" : "small r and s^-1", + "msg" : "4d7367", + "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043b11713a7fd7aa516ba2529ad28ac4ce9b6ddc0d9bf4be5fd235b81c139277b772527cd2e857d212402f80d7f3c237e4730509012fab97c6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEOxFxOn/XqlFrolKa0orEzptt3A2b9L5f\n0jW4HBOSd7dyUnzS6FfSEkAvgNfzwjfkcwUJAS+rl8Y=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "3b11713a7fd7aa516ba2529ad28ac4ce9b6ddc0d9bf4be5fd235b81c", + "wy" : "139277b772527cd2e857d212402f80d7f3c237e4730509012fab97c6" + }, + "tests" : [ + { + "tcId" : 438, + "comment" : "smallish r and s^-1", + "msg" : "4d7367", + "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047b1bf2b11f43f76f623270499a325450a8933590c09e132b83147033109485d2a2850aa0ed457e8de70398265ea27cbea2a53cc3a95db998", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEexvysR9D929iMnBJmjJUUKiTNZDAnhMr\ngxRwMxCUhdKihQqg7UV+jecDmCZeony+oqU8w6lduZg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "7b1bf2b11f43f76f623270499a325450a8933590c09e132b83147033", + "wy" : "109485d2a2850aa0ed457e8de70398265ea27cbea2a53cc3a95db998" + }, + "tests" : [ + { + "tcId" : 439, + "comment" : "100-bit r and small s^-1", + "msg" : "4d7367", + "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000438243cf4e5484660564484d497ef2afe528f28fda8c3697d10750a77b5c87a1b3090e592f047d1ba44b8f3ba1ec076fd8e8115c6fd671f22", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEOCQ89OVIRmBWRITUl+8q/lKPKP2ow2l9\nEHUKd7XIehswkOWS8EfRukS487oewHb9joEVxv1nHyI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "38243cf4e5484660564484d497ef2afe528f28fda8c3697d10750a77", + "wy" : "0b5c87a1b3090e592f047d1ba44b8f3ba1ec076fd8e8115c6fd671f22" + }, + "tests" : [ + { + "tcId" : 440, + "comment" : "small r and 100 bit s^-1", + "msg" : "4d7367", + "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043147173105159d5a66542e891dc5c1e831c390d76556a21f46b3f15ed9680c6eaa4136100e87bfa6592b8f059ae1450cf10980691049a5e5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMUcXMQUVnVpmVC6JHcXB6DHDkNdlVqIf\nRrPxXtloDG6qQTYQDoe/plkrjwWa4UUM8QmAaRBJpeU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "3147173105159d5a66542e891dc5c1e831c390d76556a21f46b3f15e", + "wy" : "0d9680c6eaa4136100e87bfa6592b8f059ae1450cf10980691049a5e5" + }, + "tests" : [ + { + "tcId" : 441, + "comment" : "100-bit r and s^-1", + "msg" : "4d7367", + "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000476152d39df62cbd76319de7d35bdb1a3994baf4f5ca5fc984e95021cb1b3a380622ebbd266413ef0ba15d121afc5d2d51ba7979da29c4007", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdhUtOd9iy9djGd59Nb2xo5lLr09cpfyY\nTpUCHLGzo4BiLrvSZkE+8LoV0SGvxdLVG6eXnaKcQAc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "76152d39df62cbd76319de7d35bdb1a3994baf4f5ca5fc984e95021c", + "wy" : "0b1b3a380622ebbd266413ef0ba15d121afc5d2d51ba7979da29c4007" + }, + "tests" : [ + { + "tcId" : 442, + "comment" : "r and s^-1 are close to n", + "msg" : "4d7367", + "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048e7d4044d0aece8c814fd2e4a540d6ce14e3e92498a4f6d2760170e0e7edb0b8e72157b42682787a43f78632b5bc8d5ca084b08ddd742902", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjn1ARNCuzoyBT9LkpUDWzhTj6SSYpPbS\ndgFw4OftsLjnIVe0JoJ4ekP3hjK1vI1coISwjd10KQI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "08e7d4044d0aece8c814fd2e4a540d6ce14e3e92498a4f6d2760170e0", + "wy" : "0e7edb0b8e72157b42682787a43f78632b5bc8d5ca084b08ddd742902" + }, + "tests" : [ + { + "tcId" : 443, + "comment" : "s == 1", + "msg" : "4d7367", + "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 444, + "comment" : "s == 0", + "msg" : "4d7367", + "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000486eef598040bc7ceb7cf07f0ee72e4e947dc120023bf552c0b484170bffa633852e6c6e2a41d61cf223a86b6ecfcf682cca8c38794925f4d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhu71mAQLx863zwfw7nLk6UfcEgAjv1Us\nC0hBcL/6YzhS5sbipB1hzyI6hrbs/PaCzKjDh5SSX00=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "086eef598040bc7ceb7cf07f0ee72e4e947dc120023bf552c0b484170", + "wy" : "0bffa633852e6c6e2a41d61cf223a86b6ecfcf682cca8c38794925f4d" + }, + "tests" : [ + { + "tcId" : 445, + "comment" : "point at infinity during verify", + "msg" : "4d7367", + "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b7fd6e16896127b2d4341fb41c4274797b739bd5b756c4737f8fee55eb01d914e4dfdf606e9198bf03dfc7734abd0fadd4193ed0515f3cd7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEt/1uFolhJ7LUNB+0HEJ0eXtzm9W3VsRz\nf4/uVesB2RTk399gbpGYvwPfx3NKvQ+t1Bk+0FFfPNc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0b7fd6e16896127b2d4341fb41c4274797b739bd5b756c4737f8fee55", + "wy" : "0eb01d914e4dfdf606e9198bf03dfc7734abd0fadd4193ed0515f3cd7" + }, + "tests" : [ + { + "tcId" : 446, + "comment" : "u1 == 1", + "msg" : "4d7367", + "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c0b041f884d648cc345e4600078eb790708ccad576d4abe3c943aa328", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004161fe96bac1f151e0565a7b2c3c089d79df5d298e7ca48964fdd86574c6247dbd41f235a149736122e96e6735054dac58c234031153fb82f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFh/pa6wfFR4FZaeyw8CJ15310pjnykiW\nT92GV0xiR9vUHyNaFJc2Ei6W5nNQVNrFjCNAMRU/uC8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "161fe96bac1f151e0565a7b2c3c089d79df5d298e7ca48964fdd8657", + "wy" : "4c6247dbd41f235a149736122e96e6735054dac58c234031153fb82f" + }, + "tests" : [ + { + "tcId" : 447, + "comment" : "u1 == n - 1", + "msg" : "4d7367", + "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00f4fbe077b29b733cba1b9fff87139d9bd7ec42e6a6926b08c8218715", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004882dff239cdf9a0812caaf384ade87497131e6fb8ca184c27f9fb4d60032fbe649751ab5bc386f09dcab56a6df6563480a4bec5ed72298b1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEiC3/I5zfmggSyq84St6HSXEx5vuMoYTC\nf5+01gAy++ZJdRq1vDhvCdyrVqbfZWNICkvsXtcimLE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0882dff239cdf9a0812caaf384ade87497131e6fb8ca184c27f9fb4d6", + "wy" : "32fbe649751ab5bc386f09dcab56a6df6563480a4bec5ed72298b1" + }, + "tests" : [ + { + "tcId" : 448, + "comment" : "u2 == 1", + "msg" : "4d7367", + "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cd8f963a1694e83241a7172f782b211786bc47b31ce5cad6abc865c19310d590a09e146c08fe443df76ec22ea95a62a90c7acef1127e4d71", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEzY+WOhaU6DJBpxcveCshF4a8R7Mc5crW\nq8hlwZMQ1ZCgnhRsCP5EPfduwi6pWmKpDHrO8RJ+TXE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0cd8f963a1694e83241a7172f782b211786bc47b31ce5cad6abc865c1", + "wy" : "09310d590a09e146c08fe443df76ec22ea95a62a90c7acef1127e4d71" + }, + "tests" : [ + { + "tcId" : 449, + "comment" : "u2 == n - 1", + "msg" : "4d7367", + "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b564852ecb065e52db2b0cf9acdd3499b9b0045331a78e27aab12d173bccbf5375fc99604883f23b83f46f3e3c36c46dda56227b771497ed", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtWSFLssGXlLbKwz5rN00mbmwBFMxp44n\nqrEtFzvMv1N1/JlgSIPyO4P0bz48NsRt2lYie3cUl+0=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0b564852ecb065e52db2b0cf9acdd3499b9b0045331a78e27aab12d17", + "wy" : "3bccbf5375fc99604883f23b83f46f3e3c36c46dda56227b771497ed" + }, + "tests" : [ + { + "tcId" : 450, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ae56b52d6f218441174c2000284de21998bf849bdc570597c450fd36", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6780fe52e48d890a9ece0d4eda2ab9ad7c18cbfa9fd747215fc2cd14463d417b8b15383290a12cc3d5f1a5d24df2607bf73dbc6e61d0dc8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExngP5S5I2JCp7ODU7aKrmtfBjL+p/XRy\nFfws0URj1Be4sVODKQoSzD1fGl0k3yYHv3PbxuYdDcg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0c6780fe52e48d890a9ece0d4eda2ab9ad7c18cbfa9fd747215fc2cd1", + "wy" : "4463d417b8b15383290a12cc3d5f1a5d24df2607bf73dbc6e61d0dc8" + }, + "tests" : [ + { + "tcId" : 451, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00abadccc5cafa7d90d9f20d1f3fbe18241e38cd6e99821135a808feb6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004111285cc943890d01f0ef496a0ab99c5f879127941193717ecfec0ad35cea32862b4985580a4277d6062210ff42a529eb878b901183743de", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEERKFzJQ4kNAfDvSWoKuZxfh5EnlBGTcX\n7P7ArTXOoyhitJhVgKQnfWBiIQ/0KlKeuHi5ARg3Q94=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "111285cc943890d01f0ef496a0ab99c5f879127941193717ecfec0ad", + "wy" : "35cea32862b4985580a4277d6062210ff42a529eb878b901183743de" + }, + "tests" : [ + { + "tcId" : 452, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ab7051d7e48b9f852e258cbede1f26aedc2e862ca9f63c7314c6ab13", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a70cf775ed0c3c6bc97e7c43e855c635d0b594011e59df12a8e28ee148da113b01454696dbe066c0368055000a92ad1018f1f6f2ccf8a26b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpwz3de0MPGvJfnxD6FXGNdC1lAEeWd8S\nqOKO4UjaETsBRUaW2+BmwDaAVQAKkq0QGPH28sz4oms=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0a70cf775ed0c3c6bc97e7c43e855c635d0b594011e59df12a8e28ee1", + "wy" : "48da113b01454696dbe066c0368055000a92ad1018f1f6f2ccf8a26b" + }, + "tests" : [ + { + "tcId" : 453, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c787b89e72cafea47f4fbe077b29b056875feb7f770106528bbee29a6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a2e42035b4fe096ecacb4b1a06565af64cfcc2b04f0178bc100732da00f2f50ea59d2a39ccee2eb5eca216c4748da18d783907963f5cb3e4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEouQgNbT+CW7Ky0saBlZa9kz8wrBPAXi8\nEAcy2gDy9Q6lnSo5zO4uteyiFsR0jaGNeDkHlj9cs+Q=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0a2e42035b4fe096ecacb4b1a06565af64cfcc2b04f0178bc100732da", + "wy" : "0f2f50ea59d2a39ccee2eb5eca216c4748da18d783907963f5cb3e4" + }, + "tests" : [ + { + "tcId" : 454, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00b89e72cafea47f4fbe077b29b73323565b6713b98090e2a4a8d86ed5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f378963f5ef0893b5f89d58f73e9f5de692843637b8d9f301a775374f53e8627b42d2d6d540c0e238d4abc9576b7f202a97774e2ee9e58a6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE83iWP17wiTtfidWPc+n13mkoQ2N7jZ8w\nGndTdPU+hie0LS1tVAwOI41KvJV2t/ICqXd04u6eWKY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0f378963f5ef0893b5f89d58f73e9f5de692843637b8d9f301a775374", + "wy" : "0f53e8627b42d2d6d540c0e238d4abc9576b7f202a97774e2ee9e58a6" + }, + "tests" : [ + { + "tcId" : 455, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c713ce595fd48fe9f7c0ef6536e673009d6153734ed449c03f554b36d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044be8786cf0e12e300b6180bcfb839a857f8aa99dc77e5496d28fcd122b5b9a274964449662fa65f8af0ca1f5d28c70a5c0a85d638cb8affe", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAES+h4bPDhLjALYYC8+4OahX+KqZ3HflSW\n0o/NEitbmidJZESWYvpl+K8MofXSjHClwKhdY4y4r/4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "4be8786cf0e12e300b6180bcfb839a857f8aa99dc77e5496d28fcd12", + "wy" : "2b5b9a274964449662fa65f8af0ca1f5d28c70a5c0a85d638cb8affe" + }, + "tests" : [ + { + "tcId" : 456, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2cafea47f4fbe077b29b733cba1b7743297b2de81ca9398d72ec3df5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049e5daf1bfea28ce039a8b95a08a1335034dd4cb8fe62ab5c8083ad27fea54bd62f2cf6ba7be2bb2823f73ebb3bb31fa3cf6638c11ecee8bb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEnl2vG/6ijOA5qLlaCKEzUDTdTLj+Yqtc\ngIOtJ/6lS9YvLPa6e+K7KCP3Prs7sx+jz2Y4wR7O6Ls=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "09e5daf1bfea28ce039a8b95a08a1335034dd4cb8fe62ab5c8083ad27", + "wy" : "0fea54bd62f2cf6ba7be2bb2823f73ebb3bb31fa3cf6638c11ecee8bb" + }, + "tests" : [ + { + "tcId" : 457, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a8d4a569486f3ddf7459efffebd8259614592df025b1a6797a33aba2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004846285e0d1d15f80a2377a48d5233c61f8cff74cd6236fff2936c006647b6c0e9bc8a250f8b3b3b2565dd0b65f394db2a5c58bf271ca4a22", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhGKF4NHRX4CiN3pI1SM8YfjP90zWI2//\nKTbABmR7bA6byKJQ+LOzslZd0LZfOU2ypcWL8nHKSiI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0846285e0d1d15f80a2377a48d5233c61f8cff74cd6236fff2936c006", + "wy" : "647b6c0e9bc8a250f8b3b3b2565dd0b65f394db2a5c58bf271ca4a22" + }, + "tests" : [ + { + "tcId" : 458, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c51a94ad290de7bbee8b3dfffd7b1348947f96ba2378623ad980b2d07", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ecc1ba5ba1d685c1c4a15146145b376f2e42950c3876f2160988a68ab58542baf7fa542fbab77cc7c93ff28969e37cf0f3ffbfe7fe02dc51", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7MG6W6HWhcHEoVFGFFs3by5ClQw4dvIW\nCYimirWFQrr3+lQvurd8x8k/8olp43zw8/+/5/4C3FE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0ecc1ba5ba1d685c1c4a15146145b376f2e42950c3876f2160988a68a", + "wy" : "0b58542baf7fa542fbab77cc7c93ff28969e37cf0f3ffbfe7fe02dc51" + }, + "tests" : [ + { + "tcId" : 459, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00fa7df03bd94db99e5d0dcfffc3895a1f5c5299925d37ca27123ed8a9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042cbb210b5f6d09ade8b6566e9e4f122caa0032798cff8fa3cb36a10c7978044ce07d958601f3e49323313780325ed39eb4ed130b4c70551a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELLshC19tCa3otlZunk8SLKoAMnmM/4+j\nyzahDHl4BEzgfZWGAfPkkyMxN4AyXtOetO0TC0xwVRo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "2cbb210b5f6d09ade8b6566e9e4f122caa0032798cff8fa3cb36a10c", + "wy" : "7978044ce07d958601f3e49323313780325ed39eb4ed130b4c70551a" + }, + "tests" : [ + { + "tcId" : 460, + "comment" : "edge case for u1", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d5b828ebf245cfc29712c65f6f0f1ea8de73bb355ee9b2dc38916aa8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004754108bb613336db9886cba90f5e4a9e4efd26cad603ff650164350de335eb473aa5c19e9d28d3100879d90c733e0f8436fef59a5afa1016", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdUEIu2EzNtuYhsupD15Knk79JsrWA/9l\nAWQ1DeM160c6pcGenSjTEAh52QxzPg+ENv71mlr6EBY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "754108bb613336db9886cba90f5e4a9e4efd26cad603ff650164350d", + "wy" : "0e335eb473aa5c19e9d28d3100879d90c733e0f8436fef59a5afa1016" + }, + "tests" : [ + { + "tcId" : 461, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004273c311cc5ce74d1d01b017188472de04b38b72d34abfae6266679b4ec64adcb3ca5247cf598a9cb66cc22e79e31f1661c781c1871fcc1a3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJzwxHMXOdNHQGwFxiEct4Es4ty00q/rm\nJmZ5tOxkrcs8pSR89Zipy2bMIueeMfFmHHgcGHH8waM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "273c311cc5ce74d1d01b017188472de04b38b72d34abfae6266679b4", + "wy" : "0ec64adcb3ca5247cf598a9cb66cc22e79e31f1661c781c1871fcc1a3" + }, + "tests" : [ + { + "tcId" : 462, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bd53b3b52cd9134e91e2f90ba50083c007daa7cff5cdabe4208ec1b8d4b114bdcd3f599aedde76c6ea6993d1d578d8faf9851d136d4caa4f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvVOztSzZE06R4vkLpQCDwAfap8/1zavk\nII7BuNSxFL3NP1ma7d52xuppk9HVeNj6+YUdE21Mqk8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0bd53b3b52cd9134e91e2f90ba50083c007daa7cff5cdabe4208ec1b8", + "wy" : "0d4b114bdcd3f599aedde76c6ea6993d1d578d8faf9851d136d4caa4f" + }, + "tests" : [ + { + "tcId" : 463, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004014cbf869ed4534cd9d32fc5bb806d5dfa61aad3e81edd4502c594859478257b5e26770f7bc6f7e084d47e1d7c4140b836344e5fe84c0694", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAUy/hp7UU0zZ0y/Fu4BtXfphqtPoHt1F\nAsWUhZR4JXteJncPe8b34ITUfh18QUC4NjROX+hMBpQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "14cbf869ed4534cd9d32fc5bb806d5dfa61aad3e81edd4502c59485", + "wy" : "09478257b5e26770f7bc6f7e084d47e1d7c4140b836344e5fe84c0694" + }, + "tests" : [ + { + "tcId" : 464, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000403c6d87405e081ac2dc9188afed99eb87f13bd7b80e7363fd21a7692a092b8b8354493e2444736a9c78bf356fcdf07849120986afb98fa03", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA8bYdAXggawtyRiK/tmeuH8TvXuA5zY/\n0hp2kqCSuLg1RJPiREc2qceL81b83weEkSCYavuY+gM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "3c6d87405e081ac2dc9188afed99eb87f13bd7b80e7363fd21a7692", + "wy" : "0a092b8b8354493e2444736a9c78bf356fcdf07849120986afb98fa03" + }, + "tests" : [ + { + "tcId" : 465, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000423a692efebef2ac0f696d0f952dbd435a4402aad2edc3262c19e0c2f705278859aec7c13b3ff66d04ea226c7de2edd6e69099b9d1a0e4bc9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEI6aS7+vvKsD2ltD5UtvUNaRAKq0u3DJi\nwZ4ML3BSeIWa7HwTs/9m0E6iJsfeLt1uaQmbnRoOS8k=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "23a692efebef2ac0f696d0f952dbd435a4402aad2edc3262c19e0c2f", + "wy" : "705278859aec7c13b3ff66d04ea226c7de2edd6e69099b9d1a0e4bc9" + }, + "tests" : [ + { + "tcId" : 466, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b2fcf3f649cdd7f8012ac1d2243f07ca0ff8fe75c9f59bbe7f3407e69c69a46fdf16174bb0e59ce3d7129cfafd74e6dacdb3dbbe6d772943", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsvzz9knN1/gBKsHSJD8Hyg/4/nXJ9Zu+\nfzQH5pxppG/fFhdLsOWc49cSnPr9dObazbPbvm13KUM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0b2fcf3f649cdd7f8012ac1d2243f07ca0ff8fe75c9f59bbe7f3407e6", + "wy" : "09c69a46fdf16174bb0e59ce3d7129cfafd74e6dacdb3dbbe6d772943" + }, + "tests" : [ + { + "tcId" : 467, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000421b68c2b25120292e7f0616d68260fc0f3fe9f1dff0fcb88c9f0138607ada4f6669a1c52e684113ceafd4f49cc119faa8ccbb3834e9853b9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEIbaMKyUSApLn8GFtaCYPwPP+nx3/D8uI\nyfAThgetpPZmmhxS5oQRPOr9T0nMEZ+qjMuzg06YU7k=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "21b68c2b25120292e7f0616d68260fc0f3fe9f1dff0fcb88c9f01386", + "wy" : "7ada4f6669a1c52e684113ceafd4f49cc119faa8ccbb3834e9853b9" + }, + "tests" : [ + { + "tcId" : 468, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a4d3669d9b797a7e2b07ea8e89ac2f0bc1aa914f788e93babcc4f15d46b26c00dad8dc5162bdeaaec2a38a649303bbdafc02b5a8ae8abf1d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpNNmnZt5en4rB+qOiawvC8GqkU94jpO6\nvMTxXUaybADa2NxRYr3qrsKjimSTA7va/AK1qK6Kvx0=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0a4d3669d9b797a7e2b07ea8e89ac2f0bc1aa914f788e93babcc4f15d", + "wy" : "46b26c00dad8dc5162bdeaaec2a38a649303bbdafc02b5a8ae8abf1d" + }, + "tests" : [ + { + "tcId" : 469, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000435d31d0546d98621e629ef809364e61f069d5209eb07df02aca0aed9ade758d0998296d3adadf1b2076081a787a52e4f2d647cb3f06ff9ae", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENdMdBUbZhiHmKe+Ak2TmHwadUgnrB98C\nrKCu2a3nWNCZgpbTra3xsgdggaeHpS5PLWR8s/Bv+a4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "35d31d0546d98621e629ef809364e61f069d5209eb07df02aca0aed9", + "wy" : "0ade758d0998296d3adadf1b2076081a787a52e4f2d647cb3f06ff9ae" + }, + "tests" : [ + { + "tcId" : 470, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b243cde43260a599600ce327389369ee212d61be8603a6aa9d0cc0ebb066a5cd3e877b75f45ef89699673c5d3a7be7385de993583ce9b20d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEskPN5DJgpZlgDOMnOJNp7iEtYb6GA6aq\nnQzA67Bmpc0+h3t19F74lplnPF06e+c4XemTWDzpsg0=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0b243cde43260a599600ce327389369ee212d61be8603a6aa9d0cc0eb", + "wy" : "0b066a5cd3e877b75f45ef89699673c5d3a7be7385de993583ce9b20d" + }, + "tests" : [ + { + "tcId" : 471, + "comment" : "edge case for u2", + "msg" : "4d7367", + "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77bf48b8d63e9618de21fa2bd81fda7552340a8d00fea6f33f47857f09", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwOHW7sQJMjdL39CDMJI5b4mLSKVY1nL8\n6pfbd79IuNY+lhjeIfor2B/adVI0Co0A/qbzP0eFfwk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77", + "wy" : "0bf48b8d63e9618de21fa2bd81fda7552340a8d00fea6f33f47857f09" + }, + "tests" : [ + { + "tcId" : 472, + "comment" : "point duplication during verification", + "msg" : "4d7367", + "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c23c5bbfb025d0d11bc97dd040416fcc32324cc8f5936ed88da2dc253", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db7740b74729c169e721de05d427e0258aaccbf572ff01590cc0b87a80f8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwOHW7sQJMjdL39CDMJI5b4mLSKVY1nL8\n6pfbd0C3RynBaech3gXUJ+AliqzL9XL/AVkMwLh6gPg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77", + "wy" : "40b74729c169e721de05d427e0258aaccbf572ff01590cc0b87a80f8" + }, + "tests" : [ + { + "tcId" : 473, + "comment" : "duplication bug", + "msg" : "4d7367", + "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c23c5bbfb025d0d11bc97dd040416fcc32324cc8f5936ed88da2dc253", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000431406520359b1fb714b9042a821a958e423639ef7c4d463b33240a8d9a813d3906c33b07451694b58ae6862898b4ecdad3ea3e0954a27ab1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMUBlIDWbH7cUuQQqghqVjkI2Oe98TUY7\nMyQKjZqBPTkGwzsHRRaUtYrmhiiYtOza0+o+CVSierE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "31406520359b1fb714b9042a821a958e423639ef7c4d463b33240a8d", + "wy" : "09a813d3906c33b07451694b58ae6862898b4ecdad3ea3e0954a27ab1" + }, + "tests" : [ + { + "tcId" : 474, + "comment" : "comparison with point at infinity ", + "msg" : "4d7367", + "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000453883538d86609217a4d9c27992e2bd704a4bb12fb91253cd4f496fa00b32f3a2d153a52bb577650cdf1b73a340535c7e73deb599aa95088", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEU4g1ONhmCSF6TZwnmS4r1wSkuxL7kSU8\n1PSW+gCzLzotFTpSu1d2UM3xtzo0BTXH5z3rWZqpUIg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "53883538d86609217a4d9c27992e2bd704a4bb12fb91253cd4f496fa", + "wy" : "0b32f3a2d153a52bb577650cdf1b73a340535c7e73deb599aa95088" + }, + "tests" : [ + { + "tcId" : 475, + "comment" : "extreme value for k", + "msg" : "4d7367", + "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004019cb0c37dbd376a14e9e9438767307e8f6cf2e79689b582882f347d02b11468cb1a7782569e48b7f72e482f5fc0da729388e4b479dc76b5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAZyww329N2oU6elDh2cwfo9s8ueWibWC\niC80fQKxFGjLGneCVp5It/cuSC9fwNpyk4jktHncdrU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "19cb0c37dbd376a14e9e9438767307e8f6cf2e79689b582882f347d", + "wy" : "2b11468cb1a7782569e48b7f72e482f5fc0da729388e4b479dc76b5" + }, + "tests" : [ + { + "tcId" : 476, + "comment" : "extreme value for k", + "msg" : "4d7367", + "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", + "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34" + }, + "tests" : [ + { + "tcId" : 477, + "comment" : "testing point duplication", + "msg" : "4d7367", + "sig" : "303c021c0b041f884d648cc345e4600078eb790708ccad576d4abe3c943aa328021c249249249249249249249249249227ce201a6b76951f982e7ae89851", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 478, + "comment" : "testing point duplication", + "msg" : "4d7367", + "sig" : "303d021d00f4fbe077b29b733cba1b9fff87139d9bd7ec42e6a6926b08c8218715021c249249249249249249249249249227ce201a6b76951f982e7ae89851", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", + "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd" + }, + "tests" : [ + { + "tcId" : 479, + "comment" : "testing point duplication", + "msg" : "4d7367", + "sig" : "303c021c0b041f884d648cc345e4600078eb790708ccad576d4abe3c943aa328021c249249249249249249249249249227ce201a6b76951f982e7ae89851", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 480, + "comment" : "testing point duplication", + "msg" : "4d7367", + "sig" : "303d021d00f4fbe077b29b733cba1b9fff87139d9bd7ec42e6a6926b08c8218715021c249249249249249249249249249227ce201a6b76951f982e7ae89851", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4", + "wy" : "0b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926" + }, + "tests" : [ + { + "tcId" : 481, + "comment" : "k*G has a large x-coordinate", + "msg" : "54657374", + "sig" : "303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 482, + "comment" : "r too large", + "msg" : "54657374", + "sig" : "3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPNjS+B1pU7CETAnXtWDVJ80u9nBW\niT6tr6UshQE4fVnuQf200QQCznoMXjt0et+jpJC2Kmt3GQaJA0hcC7bcLQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59", + "wy" : "0ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d" + }, + "tests" : [ + { + "tcId" : 483, + "comment" : "r,s are large", + "msg" : "54657374", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgkDNge3ZHLaTYTNQjDkVEA6B8zLE\nVF1BGJtIEZaFE3jgWwbnLUob/4DqXbUUqi+T6m3W2cCuJ7eDfcQy+c6J2Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378", + "wy" : "0e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9" + }, + "tests" : [ + { + "tcId" : 484, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsGKUc1Z0iw/BfxcExlqh3Kbhv+Z3\nl1b6YW2R6q0T3ywLOMF/PQZy50Cc/FmSqZ//ErhKT4QyKTtDERPxsvtXnQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c", + "wy" : "0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d" + }, + "tests" : [ + { + "tcId" : 485, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5", + "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0" + }, + "tests" : [ + { + "tcId" : 486, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020105020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e70127242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRGUwcuhfzTihrSDNwFgakHO8mF3\nraiFC2AeofhZ5wEnJC/OxwiCh1hAPOL+UBmDp5hOYgn01rldua13dn9V6w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e701", + "wy" : "27242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb" + }, + "tests" : [ + { + "tcId" : 487, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020105020103", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a72303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEDxuzO/1nnHqj1b+46SysUjoHCvb\n3TnBlYEsltz7QacjA6GT3Fkb4VC4g9dw7FHrtOvOiwkELC7LFsRI2OV79Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a7", + "wy" : "2303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5" + }, + "tests" : [ + { + "tcId" : 488, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020105020105", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6eabc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO2a4Kf5gRji8sr/owiIovmc5DCAR\nG9K0UUaJJ+h/tuq8jlnACTYXWLJ0uiytNrWP3khaPtCdrednEvqenErCEg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6ea", + "wy" : "0bc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212" + }, + "tests" : [ + { + "tcId" : 489, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020105020106", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 490, + "comment" : "r is larger than n", + "msg" : "54657374", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c3084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET/L2wk5KM81xwJ/cvHSmIzlhuHS4\nyODrlFggksvFDDCE+pVHr9pcZjNfP5N9THmvoSBIa1NBOdWa6C1h6tJkIA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c30", + "wy" : "084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420" + }, + "tests" : [ + { + "tcId" : 491, + "comment" : "s is larger than n", + "msg" : "54657374", + "sig" : "3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLlZCAuzCFnNU8L7lzzxTWDNqo7g\nBYeIm1vGV6xYgXWgLOXB5TyxlhE8eLTLjcfTYOXqeFCw9mULDEWvLDzXyg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "084b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175", + "wy" : "0a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca" + }, + "tests" : [ + { + "tcId" : 492, + "comment" : "small r and s^-1", + "msg" : "54657374", + "sig" : "3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e9925af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE30CDvW7L2lp3rleOXYNfp/dKB+u5\nHgVw4f8ypWM1Tpklr4CwmhZ9nvZH3yji2azQ1LxPLe7FcjgY7a+QceMR+A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e99", + "wy" : "25af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8" + }, + "tests" : [ + { + "tcId" : 493, + "comment" : "smallish r and s^-1", + "msg" : "54657374", + "sig" : "302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a03770387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwlaaPJv4wYOMqCH3um8ADMhnnSeP\nNza0FKNKfJVqA3cDh+qFvE8ogEtKkcm31lvGQ0yXWAZ5WrfUQaTpaDrrCQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a0377", + "wy" : "387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09" + }, + "tests" : [ + { + "tcId" : 494, + "comment" : "100-bit r and small s^-1", + "msg" : "54657374", + "sig" : "3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968ac496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESp99oqbDWaFlQMJxd0pr8cWGNXyX\nglb0SmSW2AZwlorEluc6RFY/jVb717ueTjrjBMhvLFCOt3ewOSR1W+tA1A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968a", + "wy" : "0c496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4" + }, + "tests" : [ + { + "tcId" : 495, + "comment" : "small r and 100 bit s^-1", + "msg" : "54657374", + "sig" : "302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh0FGQys80sniYgTAo0E2mWBn1Gbd\n5JF6j/I6jpXKEGtwmz1Ql274s4WoE7w186IHEL3G7dRl5vQ6xIZnA6ZgjA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b", + "wy" : "709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c" + }, + "tests" : [ + { + "tcId" : 496, + "comment" : "100-bit r and s^-1", + "msg" : "54657374", + "sig" : "3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07edeb3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEenNtjjJqnKYrviWjTqTjYztJmpav\np6qj/PP9iPjgft6z5Fh52GIrk+gYRDpoboae7ae/muRqo+r8xIpZNIZGJw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07ede", + "wy" : "0b3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627" + }, + "tests" : [ + { + "tcId" : 497, + "comment" : "r and s^-1 are close to n", + "msg" : "54657374", + "sig" : "3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6E2bIy6XGkM4JjD5lyXkI+wey0Hl\nUXLpxpdIoD8NWYhhixW0J62DNjvQQf91+smO8u6SNxTn0d/jF1N5PHWI1A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988", + "wy" : "618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4" + }, + "tests" : [ + { + "tcId" : 498, + "comment" : "s == 1", + "msg" : "54657374", + "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 499, + "comment" : "s == 0", + "msg" : "54657374", + "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAgNzb8sZixXY16DID2bd3RUlkkCq\neNCKrmfEZ94EUDQ0ODQ41QQeqaOH7o5NToS0RxsWDGvPJWiwcvjyDoeplg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de045034", + "wy" : "34383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996" + }, + "tests" : [ + { + "tcId" : 500, + "comment" : "point at infinity during verify", + "msg" : "54657374", + "sig" : "304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoX9bdaNe1kYjyly/H5GVEpLbDCPw\nwuokw9DK0JiMq8CDp6YYYlwiiUBzC0+j7mT67Lsvwg/d58WLOj9jAEJNxg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc0", + "wy" : "083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6" + }, + "tests" : [ + { + "tcId" : 501, + "comment" : "u1 == 1", + "msg" : "54657374", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBLoMuikaN9sT8zv5DatijATsg5Og\nIAQZ6eqh68yftcMfOgoOaCOkm2Ja1XsSoy1AR5cPw0KPDwBJ7PQmXcEvYg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c3", + "wy" : "1f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62" + }, + "tests" : [ + { + "tcId" : 502, + "comment" : "u1 == n - 1", + "msg" : "54657374", + "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaStsgo4P7tY9iuqitzIvnMvocjoe\n058inyBKQ0uJAO+h9varyzjqO4/eOLmMfCcfJ0r1aoxWKNwzKQaa5N1XFg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900ef", + "wy" : "0a1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716" + }, + "tests" : [ + { + "tcId" : 503, + "comment" : "u2 == 1", + "msg" : "54657374", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAM79kWLRPmTLk2h6nNj5dV67Wj73\nYy+AD4SHGHTM7wlUPsvq9+gETvchvi+19UnkuEgNJYdATr99u+8sVLwMsQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09", + "wy" : "543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1" + }, + "tests" : [ + { + "tcId" : 504, + "comment" : "u2 == n - 1", + "msg" : "54657374", + "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f244862243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXUYO0JVHPUvKR1cGSH9XhL1DIyF\npL653gPvo/DyRIYiQwGOaGbfki3DE2EgIDEf8h4kLOP7Fbx4xAayWrQwkQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f24486", + "wy" : "2243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091" + }, + "tests" : [ + { + "tcId" : 505, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220710f8e3edc7c2d5a3fd23de844002bb949d9f794f6d5405f6d97c1bb03dd2bd2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed71714927446699965d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwl8dFm8+IRzfBCom+Kv2CU1IuNFx\nkddO1xcUknRGaZll0G3WqIq/pJ6LTF2mu5IoUZaa35YEtazPtSoRTnfM2w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed717149274466999", + "wy" : "65d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb" + }, + "tests" : [ + { + "tcId" : 506, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100edffbc270f722c243069a7e5f40335a61a58525c7b4db2e7a8e269274ffe4e1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca98a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj+XogkOnbkGgBCNiGKPDotbu45ii\nPDoLAI1/AWTLwMqYog0b3PVzUTx8/ZuDxj46gtQBJ8iXaXyGuMs4evfyQA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca", + "wy" : "098a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240" + }, + "tests" : [ + { + "tcId" : 507, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a25adcae105ed7ff4f95d2344e24ee523314c3e178525d007904b68919ba4d53", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000402148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2cc0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAhSCVrUw+8Rwx7NBlws4JD7O5tWo\nQKN77KLvs36N/yzArb6giCSCp0icpwOjmYZLqYfutt23OK9TqDVzRzyzDQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2c", + "wy" : "0c0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d" + }, + "tests" : [ + { + "tcId" : 508, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202e4348c645707dce6760d773de3f3e87346924b2f64bd3dd0297e766b5805ebb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo02wEs5u2h6cc3XF/PPlTtaY4ZYV\nEkJzs6Yh0CHHb453dFjW9Vo2TCIeOeEgXVUQu0+7fd8I2Nj93hPR1t9/FA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e", + "wy" : "777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14" + }, + "tests" : [ + { + "tcId" : 509, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220348c673b07dce3920d773de3f3e87408869e916dbcf797d8f9684fb67753d1dc", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXrz/ni+FfKRK2Jx3YpDuttt0qGz\nFbLOeuN7Tnd4BB2TDXHuGZLSRmSVxCEC0I6BFUwwUwfR3NUtD6TEebJ45w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d", + "wy" : "0930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7" + }, + "tests" : [ + { + "tcId" : 510, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206918ce760fb9c7241aee7bc7e7d0e8110d3d22db79ef2fb1f2d09f6ceea7a3b8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000481e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb9ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgecZijw/I5Ac7ceh1u/26b+BEI5s\nNc2FWROa8xNdvLue8VaFMCkagGG5DJ9Che78upkNRXCk47e3N1JbXVgANA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "081e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb", + "wy" : "09ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034" + }, + "tests" : [ + { + "tcId" : 511, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022073b3c694391d8eadde3f3e874089464715ac20e4c126bbf6d864d648969f5b5a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf737f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEq015LKEh0dujnLneZFFJwqtXPovs\nxt3/PMmWDxiN33N/kLojZkFT6TJi/3M1VBUZWFjXvhMVppRWOG3mgoWjyA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf73", + "wy" : "7f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8" + }, + "tests" : [ + { + "tcId" : 512, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb07ac7a86948c2c2989a16db1930ef1b89ce112595197656877e53c41457f28", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUYQStpr0Oq4IRHamjVm73lH7+p5b\n6AVj9YfJwmUviO8tO5DSW6pr23sMVeUkCjqY+8JK/thSPt7BxwUD/BDyMw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef", + "wy" : "2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233" + }, + "tests" : [ + { + "tcId" : 513, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027e4d82cb6c061dd9337c69bf9332ed3d198662d6f2299443f62c861187db648", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352da54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoI8UpkS5qTXf/qR2Hrr1ktH2b+bN\nNzqn9dNwrzT4NS2lS1vEAlzzNZAKkUwpNOwv7Ho5bQp6/8rXMqV0HHqq9Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352d", + "wy" : "0a54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5" + }, + "tests" : [ + { + "tcId" : 514, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e7c5cf3aac2e88923b77850515fff6a12d13b356dfe9ec275c3dd81ae94609a4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8caace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzPIpamqJtiuQc504r0rjog6fRXFb\nkARGOSQQYeM/j4yqzgBGSR7qocbppHK5bYj0r4Pn/xu4RDjH4FgDRBKuCA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8c", + "wy" : "0aace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08" + }, + "tests" : [ + { + "tcId" : 515, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100c77838df91c1e953e016e10bddffea2317f9fee32bacfe553cede9e57a748f68", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000494b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElLD8FSW8q/grHzSJXlgZoGwCsj4E\nACJ24WX5YshuOSe+fCq00LJTAyBPsyofgpKQJ5IiXham0tv7KfvImpwzdg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "094b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927", + "wy" : "0be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376" + }, + "tests" : [ + { + "tcId" : 516, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ef071c02383d2a6c02dc217bbffd446730d0318b0425e2586220907f885f97f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEU1Hzfh3gyIxQhSfYmILRg8zc8u/K\nQH7bBifK39Ft5uxEtLV835YNMuvMTJeEfu0hhCWFO1tnXreBt2ahoTADSQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec", + "wy" : "44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349" + }, + "tests" : [ + { + "tcId" : 517, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205668aaa0b545bbf9a044a32399ffbe69ce20074e34d7bdf5cf56282a76976396", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a69d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdIu6/DIOZzXLZAGXEKJpxsK10Ue9\nyDEyXLL7J2rJcaadZV6adVvJ2ACtIe4/1NmA2Tp6SajFzNNwBRd1ePURYw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a6", + "wy" : "09d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163" + }, + "tests" : [ + { + "tcId" : 518, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100d12d6e56882f6c0027cae91a27127728f7fddf478fb4fdc2b65f40a60b0eb952", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000414b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFLO711xeHAw2U1qTTUq4URJBCzuQ\n+pejHDMDiWT9hcwRL32Df4+cNrRg1jbJZaX4GPK1DF0A+z+XBVYd1mMYgw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "14b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc", + "wy" : "112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883" + }, + "tests" : [ + { + "tcId" : 519, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2CNTPATNjtxtb5UKjgit4Eqbr6Lx\nSlkDVpNWca6TBb9DF40fiLalepaSTCZfDdt1tYMSkHsZWstZ13lzAxI3dQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf", + "wy" : "43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775" + }, + "tests" : [ + { + "tcId" : 520, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2ys0CLMWfZEDBiTGMo6M4+wQjBBV\ndcLz0gm5LmVLq2nDQxgTnFCwgCxuYS8P0xidgA33yZbV17fD1r6Cg2+iWA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69", + "wy" : "0c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258" + }, + "tests" : [ + { + "tcId" : 521, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000409179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab60638527425556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRec58WSJTkiFkU7KsHp0XjCSDff\nria8HderYGOFJ0JVVrQuMwKJ87gmstt6htGdRcKGClnyvh3cw7aR+VqSVQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "09179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab6063852742", + "wy" : "5556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255" + }, + "tests" : [ + { + "tcId" : 522, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000401959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7ed9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAZWfuN7aVuVGe35LIU6kwtDC+ynX\nD/Gbax7M69ZWjX7Z29d6kYKX/ZcL/wHhND9pJRZ9taFNCYohHDnMOkEzmA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7e", + "wy" : "0d9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398" + }, + "tests" : [ + { + "tcId" : 523, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a9960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVn8f3Dh+U1DIUrTo+LqdbZR+HF3X\nzMYaWTgkXda8qzqZYL66+RlRT5U1wi6q8LWBKFeXDiZmImex8+sQERMKEQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a", + "wy" : "09960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11" + }, + "tests" : [ + { + "tcId" : 524, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENJn5dP9Mpruy9RaC/V9Rdi+d1t0o\nVSYmYLNtRtPkvsL0mPriSHgH4iARkVLwEiR2xk1PpG3c6FxFRmMPDVxegQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2", + "wy" : "0f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81" + }, + "tests" : [ + { + "tcId" : 525, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELFwBZizwDBkpWWJX2xOybs8w0PPs\nS58DUbDycJRHNCbphqCGBg0Ibu6CLd0vx0QkegFUtX96acUdn9r6SE5Kxw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426", + "wy" : "0e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7" + }, + "tests" : [ + { + "tcId" : 526, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkdTLqBOgTYbbrpTCO+b1LBV3QYO+\ne6Wy2fPPAQsWBQGQC4rf6mSRAZqawIDVFgJaVBv0uVKwrXvksYdLAv1USg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "091d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501", + "wy" : "0900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a" + }, + "tests" : [ + { + "tcId" : 527, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73/Qo6NjhmODMOytQeGjswKvNpYI\nMdAhDGFLlI6KoSTvDW2ADkBH1tPBvg/erxH82Mq1q1nHMOs0EW41qMfQmA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124", + "wy" : "0ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098" + }, + "tests" : [ + { + "tcId" : 528, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpSHasTzJFS2Mp3A1pgf+oGxVzDyl\n2+uGjOqS6v6T3yp7+5soUxmWY15qXMqigmpAbOERG9ucLgyjZQBBii9D3g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a", + "wy" : "7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de" + }, + "tests" : [ + { + "tcId" : 529, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a10976e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER01YpO7Bbg1WXyGH/hHU6OeiaDoS\n84tPwB0SN6gaEJduVfc7t83aRr22fvd/b9KWnfK2eSD7WUX946UXpt7UzQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a1097", + "wy" : "6e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd" + }, + "tests" : [ + { + "tcId" : 530, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a62140e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaS2lzUMJ2ably1JcN9qPoIefe1cg\njNq79H0iOlsjpiFA4NqnjP3SB6c4mq7WFzixf8X8Pmpe0zl9KQLpEl5qtA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a621", + "wy" : "40e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4" + }, + "tests" : [ + { + "tcId" : 531, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000485689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhWibPgd1x3GKkCefFKgILPzU0fFn\nknT06biAXFcKBnAWf8xcpzRVLgmvo2QPSgNOFbm3ymYex/9w0/JA6+cFsQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "085689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670", + "wy" : "167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1" + }, + "tests" : [ + { + "tcId" : 532, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI34qlk/ADTd6hZK4thqvp6Sqp8e5/StB1uDhe9G6VnftzQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e", + "wy" : "2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd" + }, + "tests" : [ + { + "tcId" : 533, + "comment" : "point duplication during verification", + "msg" : "54657374", + "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI37VabA+8siFe21HSeVQWFtVWDhGA9S+KR8ehC5FqYgSMg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e", + "wy" : "0d569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232" + }, + "tests" : [ + { + "tcId" : 534, + "comment" : "duplication bug", + "msg" : "54657374", + "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000438a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69ca699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOKCE/8zEri+CBL4qvKn7itSrKDsq\npQ8TtrsjR62rxpymmXmbd7HMba0nHoi4mcEpMZhulY4fXPVlPd33OJNl4g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "38a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69c", + "wy" : "0a699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2" + }, + "tests" : [ + { + "tcId" : 535, + "comment" : "point with x-coordinate 0", + "msg" : "54657374", + "sig" : "30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeodvv4IdlsVVw1OT07LS6Amm2Dmw\nsRXZZNo+kZ74JQRzPc9B2DOwUwuHp7GlL32Rv6GZE/cVGIaROxYN4HzWmw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504", + "wy" : "733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b" + }, + "tests" : [ + { + "tcId" : 536, + "comment" : "point with x-coordinate 0", + "msg" : "54657374", + "sig" : "3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZkziczINkY2L2y5hIBtFSbNrfNxU\n4zuErbbywQqsgx5J5ogx8YvaKXOsPXa/vIxe4czu0t2GLi3HyRXHNs7x9A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e", + "wy" : "49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4" + }, + "tests" : [ + { + "tcId" : 537, + "comment" : "comparison with point at infinity ", + "msg" : "54657374", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElhaRpelg0HowHbutTYYkfsJ9cIn6\n6z3dGt05Xv/x4P5yVGIsw3GGbN+ZDSxTd3kON9HxUZgX8JojG9JgqeeK6w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe", + "wy" : "7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb" + }, + "tests" : [ + { + "tcId" : 538, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2wLR80IdYA6dnvnkdBnboyCO7QjC\n1BiaXbY6vrJzlmbg7SaWe5rantf/5ICCf5Cg0hDV/Y7GKOMXFeayQSVRKg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666", + "wy" : "0e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a" + }, + "tests" : [ + { + "tcId" : 539, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", + "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5" + }, + "tests" : [ + { + "tcId" : 540, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 541, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "3045022100acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpawHL0cAeWAZXEYFLWD8GHp1DHMqZTOoTE0Sb+XyECuCg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", + "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a" + }, + "tests" : [ + { + "tcId" : 542, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 543, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "3045022100acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAES/TlL5WEJ+u1kV+4yVlVUbTTo/2rZ7rd\nnWwwk/QlukNjDfcfQvDrfOqpTZ9kSKhd0wMxWIJJ/S/cCzCex+2EgbwW8ngAwT19\ntwD8guGxyFRaoMDTtW47/nifwYqRaIfC\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d", + "wy" : "0d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2" + }, + "tests" : [ + { + "tcId" : 544, + "comment" : "k*G has a large x-coordinate", + "msg" : "313233343030", + "sig" : "304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 545, + "comment" : "r too large", + "msg" : "313233343030", + "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENiO7KWuI9ibQ+SZWvwFvEVtyEnfMtJMH\nOb+9gfnB5zRjDgaF0y4VTgtKXGLkOFH2doNWtKV2TBKMexEF49d4qJ0eAdopft4b\nxDEsJYPgu93SFhNYPdCauJXGO+R5+UV2\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6", + "wy" : "768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576" + }, + "tests" : [ + { + "tcId" : 546, + "comment" : "r,s are large", + "msg" : "313233343030", + "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE1RbLisjkRXtpPVGSvuts59mka+9I7s8+\nqCMobxAfmNEw9aJtxv7CNmLv8H8USG/VhFaTLnSJS38OO7Df02JQKzdl3YCjF3IJ\n+yIdybUar0RwskU5FAW+9RQXaxOiZ6cg\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd5", + "wy" : "08456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720" + }, + "tests" : [ + { + "tcId" : 547, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqDgM01Am4Tv4e+aTzbbnWoLXZbQBm1Ke\njSd8SvbJ2yfrtdP4boit2dW2EYbwTIOpkqGHUHxzcyXSzGJKzvPNA2v6meDBUYvm\nXIi7UfkA+UEjrKutgdFRMNOt5/9+Q2Th\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9", + "wy" : "092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1" + }, + "tests" : [ + { + "tcId" : 548, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVU8v0LcAqfRWh1K2c9nA0p3JbBD+Z+OM\nbW0zm/r+Bflw2ow9IWToIDEwekS9MiURcTErYbWRE/8L07ippJNN8mKqgJb4QOnY\nv/pddJHe2Hs4xJb5ueTwuhCJ+NP/yIqf\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511", + "wy" : "71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f" + }, + "tests" : [ + { + "tcId" : 549, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020102020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERO4zNfp30vsC5L1wdPReWYqHnA+oIuxx\njCHcE7g0QO3E48EKGFhCPgMETJ7/Ilkc0CfEmTPlUQVX1rSyxvZv5dy5MCo7E/3G\ngEjD/KyIuhUrapgzyH/cYoCvxdEat8EH\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c", + "wy" : "0d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107" + }, + "tests" : [ + { + "tcId" : 550, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020102020102", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4vh/cuPGbHMDf+d2B9Qq0tnEzBWYk7S5\nuLA2XTp3ZtvoZ4sC4raPWOWk92gQYaOQ448hQoGFQr72srw6LE9DyV5SWda9VAFT\nE3jHyhJaH2zGCdT638XJqZNY7nf/eAyN\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390", + "wy" : "0e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d" + }, + "tests" : [ + { + "tcId" : 551, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020102020103", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 552, + "comment" : "r is larger than n", + "msg" : "313233343030", + "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBeZ8RPwMvJqOs0O01vWWx9AMrF2oWUyv\nRbcgk5dJYhTELYVqAVzlibybqGWk+rWriKAce10J76+Hj8uRAvs4dag4GvI00cWT\nB25FIiWlb1FnTzRxJtMAm0TcuwA6ZNlf\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "5e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab", + "wy" : "088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f" + }, + "tests" : [ + { + "tcId" : 553, + "comment" : "s is larger than n", + "msg" : "313233343030", + "sig" : "3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEC7A/zjwB688Ic6vRNKhoL1+42/+iLaZ0\nBH5cPnHkPeWC7Wq7kIwuT6pdlhhieLbBujsiEj5ozMVvF915/xVWVwb3GgthI8d6\n882I8K8CTMUll4FRbtyvX+mQZG57Zpmd\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1", + "wy" : "0ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d" + }, + "tests" : [ + { + "tcId" : 554, + "comment" : "small r and s^-1", + "msg" : "313233343030", + "sig" : "3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWPJGCQ1eSYY7wL8tUB/3L1UcXxxeZ560\nkGT9AuIhonBzJuwtFAvMgXr6rVBldhVmSXyCP9c2iCy/ePuSsaVYm2foBnSXxxCk\ny7Od7ixUMbxFz7lsn4RUOFyfKz7y09Ma\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566", + "wy" : "497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a" + }, + "tests" : [ + { + "tcId" : 555, + "comment" : "smallish r and s^-1", + "msg" : "313233343030", + "sig" : "303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/GmE3Wgw0UhfslgaRaeR2NyixyfHPT1E\nyJ8AgsGGivXKdLTKSuIoAmQKnr/ox64SmY1jpbWtG3K4mfCxMuSVKqoZ1B/e6kix\n7WuDWN0dsgf9ZuAUU61A9nuDatyALV/o\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12", + "wy" : "0998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8" + }, + "tests" : [ + { + "tcId" : 556, + "comment" : "100-bit r and small s^-1", + "msg" : "313233343030", + "sig" : "3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEG43vWSIwPWR+jrB+O62S+SS3m3ae7xaO\ndUHeH04NKK6XM+uYz4oftt1SygLIx1tRx6pL9nnUnYEUEiB02o9gRKQnNxeWpWVK\nYQYWLV9oartz69iWqwjHBiaH8SFx++Sj\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51", + "wy" : "0c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3" + }, + "tests" : [ + { + "tcId" : 557, + "comment" : "small r and 100 bit s^-1", + "msg" : "313233343030", + "sig" : "303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFzSgOaiKFsL/Sql9I5kSH1b1LvAe1eUI\nh/c29ltuUdboeGq7TgY9pdG6gS3/mYQDzNaY5sKW1c1pF4+Kgkgahl2jMWJ/HEsy\nT7wCs26LXtWKMfco6QTSA6OIdVMCGVdl\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403", + "wy" : "0ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765" + }, + "tests" : [ + { + "tcId" : 558, + "comment" : "100-bit r and s^-1", + "msg" : "313233343030", + "sig" : "3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUspH3amRcsuDIUlaz5iFSClZiOyXPBtO\nqUYsU+V2inBKk2QQ7oR7Xb8enQwTHabHh6RwJ+ZlV5LrAC1CKO5y98gUyaDOy/8m\neUj4HJkDrBDrNfbLhjaSJO1gmBHN85D0\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7", + "wy" : "087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4" + }, + "tests" : [ + { + "tcId" : 559, + "comment" : "r and s^-1 are close to n", + "msg" : "313233343030", + "sig" : "3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvT2R8APhitvqcwedTrojuR/Bf87BTJ6x\nWhk/vJyjnIx0fNeiyWI+Bd1YfMu4q0xEOtsKBwaqXqemgEIIL8zvyXlhKnoaPWlL\nAHk7A/ib/4Zqi5fI53mQwpNgznlQNsdk\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44", + "wy" : "3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764" + }, + "tests" : [ + { + "tcId" : 560, + "comment" : "s == 1", + "msg" : "313233343030", + "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 561, + "comment" : "s == 0", + "msg" : "313233343030", + "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+JY1PMOor91UPsOu8GLKl7wy7Rck6ji5\nQLjA6g4js0GHr75w2vjbqltRFVfl0r3axL0mXaZ87q/KY29vTARy8iqdAuIokYT3\nO7twCuj8kh7/SSDykL/LSfuyMswTohAo\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda", + "wy" : "0c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028" + }, + "tests" : [ + { + "tcId" : 562, + "comment" : "point at infinity during verify", + "msg" : "313233343030", + "sig" : "306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPs/Vijzlg4ZuBHHRbrPBCkEew7hnHzoE\ndpse2EZKcc8cdtjZt+NnC75xLW9VSpOD2YDYvt9XRw1rRcwa0MZCbccKDkvpARBq\nNmY7/KsE/LhgCHd7kkRRINXjZB2XOWNi\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383", + "wy" : "0d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362" + }, + "tests" : [ + { + "tcId" : 563, + "comment" : "u1 == 1", + "msg" : "313233343030", + "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQVDM0PpFqi72tQQt27G4fF/9ERWo/lmV\nZBlIrNqCp7GQdi2ENSzXTRygHnn2j5y06xG+nUlMGBwVbiPnflMr3wogw8x0uowp\nsfPrK9mRKe4NcP8NWT8Nem1oh+fFWTDS\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4", + "wy" : "0eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2" + }, + "tests" : [ + { + "tcId" : 564, + "comment" : "u1 == n - 1", + "msg" : "313233343030", + "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE54/iwRvqxwkO4K9/7UaajM69PMzE7p/M\nyO8/wEVbaaqggtwT4dhPNAJstvCvnpkv8067pxvzpAUL8o5AhLXF9dQJjsRvEKMb\nAvtL8gzJNi9vAqZugC+BdQdTX6w+wLCZ\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f", + "wy" : "0f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099" + }, + "tests" : [ + { + "tcId" : 565, + "comment" : "u2 == 1", + "msg" : "313233343030", + "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7iSrijTQWvaEk5NX8ydZzFoU88cXUpog\nrqjgxZZdikHmiSX2iEcZlLcgIbpRsowJClVpPJKtDLrp7c9RXitMBguIjYLIHko7\nahc7Yu0EpG+pXbGi85SZgPui43EmPE+p\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09", + "wy" : "0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9" + }, + "tests" : [ + { + "tcId" : 566, + "comment" : "u2 == n - 1", + "msg" : "313233343030", + "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPS6RYFXJLhs2Ez9ZN7N8GwECg063cAij\nupw9pEbpBllx1oupEwkYUeEM/1tM2HXBOap6rfwsr3EHsXrhrqiymdYb8VrKDLP9\nbx/96Bkr/ljwgiu7wfVb3fa0/pyPKw6s\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1", + "wy" : "39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac" + }, + "tests" : [ + { + "tcId" : 567, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAErllml0J6olAVbAWsQzjkiYCn8JPqHx/m\ncJi0P2U5wbIK50M4+b8nDTNmPFCr6P0AHKalJzLbdKsV0vJJo9g5CA+Jg2ff1kmS\nzc4nCN6q1SOioja0NABCQkHJGjW1MPpQ\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00", + "wy" : "1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50" + }, + "tests" : [ + { + "tcId" : 568, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiHOPmYHdTR+rtgrYPC3W38naMCIJrj5T\nSYqIO245o4vq2bAnCfNS0+a2V4FU6rJSk4igXGufOkAoq7mVClH1Jk7NdYCkI/3s\nlHL67rV/kuMcRr7yp4H+XtrQJgCfGYJi\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252", + "wy" : "09388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262" + }, + "tests" : [ + { + "tcId" : 569, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE9CFUExHJT915/CmPirGjrf0IAp/a1Dmp\nTUzqEffnmbxDlgny+3vj80nVXkhNCg02s1Mwu9vsHnXymESD2WvyENciwYMCkv/D\nWi9qIaS1BRn1ZfAku8zJciii+K2PrcDV\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36", + "wy" : "0b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5" + }, + "tests" : [ + { + "tcId" : 570, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOZvkz8Q5+U8kIcvTTCzZC65T62Dd+vyl\nL3J10WXRT6ZZtjZxO11LOeYv1IuuFB0OGyPjtPDCAu17Wdt4o1wSrGmMYD6rFE/Q\nmsLtj0SV9gfk0sh6I84uwz5BDKR+zCVV\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e", + "wy" : "1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555" + }, + "tests" : [ + { + "tcId" : 571, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFXi7/3ITfEvKM9c4Wokr6UywWfkJHd/o\nkDRfcSqful/HcITOwRCE7QSEkWBKB/Zsdruqhy8HENgqCNnd3YM8e+fH6OJl9JFF\nFX606OgoAHajfuWHMnHbUQA02hnaJEFb\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c", + "wy" : "76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b" + }, + "tests" : [ + { + "tcId" : 572, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEM7pFHIXnKQWPgwQQd6RpXrR9+T5xiwmk\nYYx1OsgDzXXBqRKQwv9aY1OJ0HFJVx2rH8fYpxd2hR/yRP9jL+b5LhZS5ShIk8Qk\nT+d12O/Fidgj3QPzkZAn8ARTe9juCfOj\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab", + "wy" : "1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3" + }, + "tests" : [ + { + "tcId" : 573, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBAdx4zkCFv7SxiCL31v+qDqxkVsWbmJl\nafEu/UEKObfnx29w8AEoQ6Jt6/TMwz3a5bxffmLQVOrDHNAir9txt8Y48kwwy60O\n817S/JkX81bpw/BDkbIdEDUnS4FTf8vz\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "40771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda", + "wy" : "0e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3" + }, + "tests" : [ + { + "tcId" : 574, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmNPxbhxRCpM+ZI540BWIMZ8ALpR134lC\noqidsGZrt8iLMrskgUDkSsSrKBEbK3kjmakm9KZvvij/ZcCfgwaJOuwJS4nQ/lKe\nNXfF7PMKeUTKr1MPRXXrET/PTCANLdS9\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923", + "wy" : "099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd" + }, + "tests" : [ + { + "tcId" : 575, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0f1gL+74C+nlWhnRqXmccqiZEQxqwh+z\nwhNXBpgJ1ZGod1tk0YZ6jP/xJPal46T1+VSAZPAbmviGhwVJOjegNxk7SPU7fHlz\nAj9T5s7/aDDKL3oU71FTbUU69DswWNip\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5", + "wy" : "0f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9" + }, + "tests" : [ + { + "tcId" : 576, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgvN2BPZmZMKIPbptmDl8KBBFy/WfHRbd\n2xOBEmokZVOotNKq6kitkYWhZF9lVn0xik17GfHS5ENMmo7K05YwSryCIhu6sGeZ\nNQcccv2XXnsCHASx0W6jb8LQUe9ajhF8\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31", + "wy" : "08a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c" + }, + "tests" : [ + { + "tcId" : 577, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8FLfwnv4ptNvNznyObmB9bU/4I2ZnsaD\nsB5D51lhViBroIuLn1kini+9zgXx5A+ZkPD9+3Ap+bPoxhRNrQM5IIt83LOCClVC\nWdudJ6/dGPSnUClsWbrWti3wdvkNU74N\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99", + "wy" : "090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d" + }, + "tests" : [ + { + "tcId" : 578, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+He9biqSc+MioymOo63RPREEsyFyKDZp\nymaI8MtZFSSn8V3UFJZoHtqYk5qucp/t6FyjfIHvGePcmrFpCKNyDYaHWlGmptky\n43SSpux6NE6rxII3fxSJH70dp/rv+hF4\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed", + "wy" : "0e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178" + }, + "tests" : [ + { + "tcId" : 579, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFCSbvP7s6rBsdWVNNhwN+NVrMg6jvB1G\nJ+wKL0uPo1d0RWlGZPVpqR9IB0E4HklKKEefIYbXFaVniPZwcwVqoMsLan94k+d7\nmml272Zj2AImiW1/Q7tQLhtNSVWKJ92L\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a", + "wy" : "28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b" + }, + "tests" : [ + { + "tcId" : 580, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUKQ4yY7pQCXOE+J9NrgoDUhDWFg260cB\nGgcM13cpJFaEoNsx/emAYgNJx5aDKyxsvbctup8/nMh4VZ9Qtr0SkPEKa8y8Hu73\ncIsbcgWQIph5eeNSIcUSWfM3xyiKL4a8\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c", + "wy" : "0bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc" + }, + "tests" : [ + { + "tcId" : 581, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETT/F3Pr3QRE82jzi+N/0yRIUPk02MUw2\nHX7VZWtoRIvMoRS6noEkKBI0Zgt3Jt3NaA3f736ge/vO3hCAPTjXIRYxyhFGYHiB\nnrZuEZIat/+jxFYMcy53WV/UCOkX3Zr8\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd", + "wy" : "680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc" + }, + "tests" : [ + { + "tcId" : 582, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY9Zc3+sfGkIAD0O9Hd0TBTentvY16NK9\ngal9oWgiEYPaQzynhCn9KzPF+UiVqcE6qdHV6jKHJWU6Wp0A+FpVFiNvOxQoqGKS\nh9OwSHougt1X+Tuyqj2Xg9x0Ex4TdWA0\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a", + "wy" : "0a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034" + }, + "tests" : [ + { + "tcId" : 583, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0iycNIuXRXEfV966w6B9+QpSfAa9AqhF\nT0FDfVQiTgcWmPA/3GSx1lJBTtw/IjnEmumBKkuS8JnWZZpllpF2jVflMO08kdVF\nV4FgWFCZelgiHyKiRRw5MkcGBsI/OrG4\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4", + "wy" : "09ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8" + }, + "tests" : [ + { + "tcId" : 584, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEMfBcDCnp2kmqL7vt7ncMaNEPhef3fnKs\nPPqchiOiu0LusvJKyPKu96sMS0eCMUADW7MvwewEu/9eq5bgcMk4uhtT/mOXD2Sa\n4C4qStpCCiSbb3xSXixLmw1VYq4m8ieM\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003", + "wy" : "5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c" + }, + "tests" : [ + { + "tcId" : 585, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvCbuyV4myYC8AzQmTLz8JriXw1ccls6a\nsqZ7SbsPJqYnL9wngG16TFcq4PeBSfHzyK9fQbmdIGYBgWVRP7O1XkJV3NBllkft\nVeHiYCyuTvvW6uHf4v9j4sdI1KzHQwE5\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3", + "wy" : "0c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139" + }, + "tests" : [ + { + "tcId" : 586, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEb6CWTdBUJQrxdokcDIIrATtw8FnDRxcs\nr8azbNFs87D50Z8lmL0NWArBbEassWfUN1vvcBwALcwED9VIJLFMwt8BVOsg50Rk\n4f57gzQm3X1ja/LXlgP93l3aqyOrDPQm\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4", + "wy" : "375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426" + }, + "tests" : [ + { + "tcId" : 587, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuqTnEu4HhqWrDlpdr9zc+Hs4gwqy7Ib6\n7dqf32UzL2qWiCaUEvBQNWUw1GZKf7jN7MRqkBsBbmu4ozatmqbxmr+a2mlwXRyQ\nW+r7laRPUq9D3kv4DAUM+Za3eW387o4b\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd", + "wy" : "0ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b" + }, + "tests" : [ + { + "tcId" : 588, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgeeKUq4GlVg/emAaubb7+vQ08r76H4yD\nPVnetiepJ8L0LUjrYX/gQvWE4QXCPCMXzyLVZfXztCXveTffYptoZNrHEmSyiMGp\nhyEPUjBxMZzj9kQRkQrCN2XEJm5hURK8\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317", + "wy" : "0cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc" + }, + "tests" : [ + { + "tcId" : 589, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQfqHZbGdMQgDHijJp4GjhcnBCyv9QuZD\nflxL1xHPKgMXUIR9F6gvk3ajCuGCptbnHCCvljJBR9QVWk0Mhnyo4266IE++0gh+\nD8vci6q+B7sxI/n3JZ53HNnxrRfRojeH\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7", + "wy" : "1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787" + }, + "tests" : [ + { + "tcId" : 590, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrVyweBt0se5S4c/BXj8srmdYOJG5RJF0I\nBO3USzLw8ADI+PiPHUpl/qUdu7SrHigj\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b", + "wy" : "572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823" + }, + "tests" : [ + { + "tcId" : 591, + "comment" : "point duplication during verification", + "msg" : "313233343030", + "sig" : "3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrqNPh+SLThGtHjA+ocDTUZinx25Gu26L3\n+xIrtM0PD/43Bwdv4rWaAVriRExU4dfc\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b", + "wy" : "0a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc" + }, + "tests" : [ + { + "tcId" : 592, + "comment" : "duplication bug", + "msg" : "313233343030", + "sig" : "3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtNeMzLztgGXA69wzC0Zw7JkwknPkQrm+\nNBGWwQQ+REH8V7kUCFWVv8dVxk/ECfC6Af7jHLu67VwTI/Cch9+bBxLBLplzP6I+\n+RtObKZmsJ3XVA6/EGihUVW8Bp49WVyM\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba", + "wy" : "1fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c" + }, + "tests" : [ + { + "tcId" : 593, + "comment" : "point with x-coordinate 0", + "msg" : "313233343030", + "sig" : "3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEbjxovlOq3oHvieCW2EHihFojMx5+yKao\nOdWNB/oBbAlz7XXeT5kXe/3HTbVm6dFaSXLqCOV3zh9hwTpsobrR3u8pgu4BooJv\nACt2nyxGCY07r/BopAXQnKOEDS+v5ORu\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a", + "wy" : "4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e" + }, + "tests" : [ + { + "tcId" : 594, + "comment" : "point with x-coordinate 0", + "msg" : "313233343030", + "sig" : "3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEsQHNs+uiDhEq27S70stHmmnlkKROqQJj\nGDKr+rivLDBBs99/FmWyxutTP1RiFxAKGmGqmVFXitTwCuFzOaim8TWbvQrDVWeO\n1N8hM48IdjwdNwLsEytjTHvMARjvsdDd\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a", + "wy" : "1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd" + }, + "tests" : [ + { + "tcId" : 595, + "comment" : "comparison with point at infinity ", + "msg" : "313233343030", + "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEZ2EESgQKSXnbJptKN35C8RtL4M4kYR9n\ndnTc93D1iHyk21ZTAyg4CebWX3/GvCc2BcfapAP8pTVJ91/zNykJZC0Ct/3KweaC\nQoFNbpJasBqAg2z7s1WBlgB54vtEwNGG\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736", + "wy" : "5c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186" + }, + "tests" : [ + { + "tcId" : 596, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENNdOwIi6tsYyOWjR9GiZOBL2kNbtyluX\nYE1xjhK4zf3ZbULlfTOv4xLw7jw9ChP3hvSSK7LBO993UqPstpOT6Ze9ZUYcRoZ+\nvu9ilrI/LFbfY6z95kjz9QAtvCOf/RWC\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7", + "wy" : "086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582" + }, + "tests" : [ + { + "tcId" : 597, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3NhfeSpYmLG9dnpi/kpLcKfj0Hb0omhR8\n6doxE7XwuMAKYLHOHX6BnXpDHXyQ6g5f\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7", + "wy" : "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f" + }, + "tests" : [ + { + "tcId" : 598, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 599, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3yeghtWnZ05CiYWdAbW0j1gcL4kLXZeuD\nFiXO7EoPRz71n04w4oF+YoW84oRvFfGg\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7", + "wy" : "0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0" + }, + "tests" : [ + { + "tcId" : 600, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 601, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHS/JlN8gS2PwWuhCDKOQVZuAxJiO\n9jm5XEaeXLJM8hZUDL68RwvKoEZmEtvebQMJjGmW4KBfApAhg866S1MPTzUAqZ5M\n3IpQwNmNhwlE5WVI3Ez2u789aXjvvI/Id4sz4TLSwYXCCETPPfOU1SIlkxfjkx8B\nMPI/ZQDIgPOoMZq0Sg4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "11d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f35", + "wy" : "0a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e" + }, + "tests" : [ + { + "tcId" : 602, + "comment" : "k*G has a large x-coordinate", + "msg" : "54657374", + "sig" : "3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 603, + "comment" : "r too large", + "msg" : "54657374", + "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmgKcd/7QTKsauJN/2oEo/Bm/jEGo\n8kL2qcpvCugTwXCbiwPiapKY/ln5njcG/8KMQ9JqEWkNL/2BWjPqMpB2aXgAElsq\nS2NfUU/V1jIVZy8xGuWTXBd07V2KRIl7aBkeY2mrJt+RXiBmqUPlmjV3MZ2sWoZk\nC8jHGNKxWUef3SLRFEE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "19a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea3290766978", + "wy" : "125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441" + }, + "tests" : [ + { + "tcId" : 604, + "comment" : "r,s are large", + "msg" : "54657374", + "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af005bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA62KHgEC0ygyMYa/n4ZXiLjlfaceF\nmsK3mAKWcJgyVXO1bT1lt7zzERvEhZ4dCBbFQUc6wf/PSizH1uaqWRuhF68AW+om\nysfOITWEtdNasi2LRdyI/ybtut1IeqmMyqcWE7t7edzmepvDbT6YD8ENQxOsIMTP\nJx7MH0ras5UTlxqk+50=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af", + "wy" : "5bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d" + }, + "tests" : [ + { + "tcId" : 605, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c200b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKWsEnxl5eFszd8Xijt9MJ4fyE/KD\na+r11hQHhwrehX1Qg+Adhyiw3d4bobs+eRYX7dsCpSx4BJeRylK2RvkxF8IAuXen\nEaUDDE72mQgzKWEyIDutvbwBQHxKzrSclrZY/Hf/H2Va104TROL8Vckcf8NDI1UZ\nLbPSwDzRNLo4etOs3kA=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c2", + "wy" : "0b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40" + }, + "tests" : [ + { + "tcId" : 606, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "5f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e999", + "wy" : "0a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab" + }, + "tests" : [ + { + "tcId" : 607, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7006b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAH7cGQnS6O1lQ8AoCfLLPQtHtacid\nlE2gQV6QhvNchbRK/dY1zcH63iznHmJIXiQ8658HWhEUdjAuYNfXixIHzacAa0JS\nB3FyMyBZqcYPlmiT/afnM3fevLqaj2nO6PWdZ6LKiS+tHfRGMWHxV8fBF8G7/dyI\nRBxMirxjZnvlwf8i9uI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7", + "wy" : "6b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2" + }, + "tests" : [ + { + "tcId" : 608, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020102", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b6101acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBh31CwRCp++NyPmhOoBxVJpeo6DZ4\nFFy63C4nwz527y7Yheevd/gzEyE7BBB7S5L4Cuv9Zw/RRnsruTM6woDqm2EBrPTo\nWgzL38RwNjjCHrRbSpPbP6dHs2UjhTXNruT8VqqVhUtOycRRaTqvcqkNZtMA0iEb\n3B+gz4XlwkrgjvKiQkg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b61", + "wy" : "1acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248" + }, + "tests" : [ + { + "tcId" : 609, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020103", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 610, + "comment" : "r is larger than n", + "msg" : "54657374", + "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9006dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBbq8sMEOxCtipm+f4zMSTFRm27Fky\nb2oG83TLT4bhI33w8m32qQz4bDDULjvQWDx0SDDez3g0RUX0ttrqZ0qILbkAbf0J\nMgqXbVksTTnTCQ1vStOZK3AOPpDtGhNGI4x19Lr0k76MHBaDjs7C2ZlCZgQv+cYk\nhpKW7psCO7sS1AvArwc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "16eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9", + "wy" : "6dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07" + }, + "tests" : [ + { + "tcId" : 611, + "comment" : "s is larger than n", + "msg" : "54657374", + "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8017ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBi3DfOWpr2EGN5qH36A+RW8wHkSnN\ny0ocdrDh0ldpEPGuFvPCdnGMhBwD4YziQ+uuWqYY8Jzd9HA0EiSlAW9vBOgBetPG\nECsoISANNzz/1WFKZwvr3ObyRLNNzofdh1h4a3ooKc1T5ZMl3OvpS1ZAudHKd1xS\ncWpZbZ46CED/29ZL8kc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "18b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8", + "wy" : "17ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247" + }, + "tests" : [ + { + "tcId" : 612, + "comment" : "small r and s^-1", + "msg" : "54657374", + "sig" : "304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b900643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAEzN5iGRFiAj9axCmyCUXQNptYjRA\nzfHjWW6DErWPI2ktagIQ0WgsBqR29EcDTXo0aXbQws4aWD+W95pTVrmggLkAZD0j\ntSEpL6lpZrf3M88gi2vnVkffhuLizNpAqzNgqx1jHvE/5m6z4I+uoZRFtvk+gyPh\nfeKQkx+tvitqfSzfM9c=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b9", + "wy" : "643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7" + }, + "tests" : [ + { + "tcId" : 613, + "comment" : "smallish r and s^-1", + "msg" : "54657374", + "sig" : "304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf01c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBU/oL4fnRmbpisepwSJPps0tNkeOP\nFq6MQ887qeO3sJsfk8+HZVNjrv6TljSKr7ca78FWeJBQ30b4QDsEbhqQaq8BwsQa\nf6AND3rq7KFWTavocMkJcYJVGxzv66a0Zz5VehspdYcROUPiXADCGlT0XygOD7xR\nFmSTNWf3nL0Onipa2nU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf", + "wy" : "1c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75" + }, + "tests" : [ + { + "tcId" : 614, + "comment" : "100-bit r and small s^-1", + "msg" : "54657374", + "sig" : "3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c000e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUjBFmboh/PnvJHuZ3xKtpxTJBnPz\nFwCnFLzKpkf2MICJpDjZWkYgZGJLjBbULWYPPBaieoI98d0DmImQKO+L5sAA4uYa\nJ+j78LCvscOUjouJN1tuXstd3Ubh0sKhlrquHvjWjk8Kkkqba/heUPzPcZ22EKoA\nT6/O+D2ZbNHvy9AIKKY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c0", + "wy" : "0e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6" + }, + "tests" : [ + { + "tcId" : 615, + "comment" : "small r and 100 bit s^-1", + "msg" : "54657374", + "sig" : "30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3010b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA0DrM7t232PYAQSBd74LgnmS8WYEc\n9lAt6o9yqajn3TxqsD4+bU0TG2iFfQrpb9S1nU+sggsQZI+ygt+U5dKcYtMBCwHI\nUwoImwexsqNP2p3+lxI7HA75fHyetk9EpsGs8hARV9hZapvb21StebO0o23QZ2TK\nsCR1HD+EzQo81xTX5Jw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3", + "wy" : "10b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c" + }, + "tests" : [ + { + "tcId" : 616, + "comment" : "100-bit r and s^-1", + "msg" : "54657374", + "sig" : "3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46005888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Sm6thBb7cnF8YVM42R0IkhOkzpH\nLIIvP8iMdoRUA5qg3B7E91IVfUYCXq0HIrPLhvaCMz6I7ea9L3SHCEhzrUYAWIgk\nM2Cwi6YjjXyC10kg+3yNXMr5KyxHiC5zDmpopWJHTTxM2c0TA1dMKQrt2sITzIMb\nbnEMnNE2iSysx6yOLpo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46", + "wy" : "5888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a" + }, + "tests" : [ + { + "tcId" : 617, + "comment" : "r and s^-1 are close to n", + "msg" : "54657374", + "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f007d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBe/462koaBucy9ITxgw0MC3HEe3T6\nUG3jq96m0TmrId1yx7HBMDXw/9ElQz0BAKcDAze5ndFia5HKVyMzWFOg9n8AfShE\nfC/Ewp/HSoOOMOrjmeKCtgf/8GGiew1pMhzMPOsPw66GpYx3QCja/RCL2HS4xE80\n9audLjHKd9Kqs8xerNs=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "17bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f", + "wy" : "7d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb" + }, + "tests" : [ + { + "tcId" : 618, + "comment" : "s == 1", + "msg" : "54657374", + "sig" : "3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 619, + "comment" : "s == 0", + "msg" : "54657374", + "sig" : "3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBO3O+DsTxizb9wgqslnVYCiDMcl7Q\n3m/qY6thEbSq7MabH98Fuxx6ccS3paHqr/I74VYE9AW17NOz7Wr+qOSc1kkAkSGA\nyYH0gNK4t0OJiLA6DF79vS2glPCC9/pX7MQf3oxl08nYDzT5Ek4VHaVdltKpuZFn\nLeeUSbzBwBkrdlCukLc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "13b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd649", + "wy" : "0912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7" + }, + "tests" : [ + { + "tcId" : 620, + "comment" : "point at infinity during verify", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBwB6rm6bd0h4zQhA0rNaskjpAn6s0\nngOAv6pUtASJAIal4S+wnhNScSz94Vq8JWMHmnPTM8nHnGcPsGtdgCqpt3YAp2oo\n0D9lfGG/h/9453M6BpVW0r1ji3kxarcLWigJvIqYoqhDI41KviaYsqpq7eGyVBvz\n3NAHz5zVxNSWnE9//Ms=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b776", + "wy" : "0a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb" + }, + "tests" : [ + { + "tcId" : 621, + "comment" : "u1 == 1", + "msg" : "54657374", + "sig" : "308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024100c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAGGNlxzWIgHpRAFQS2wBLRfX3vjpg\ndOYRkEKXjb+8WkMeFsyTB0fmzXURUFtMk0nO35CKWp29M82wrsy/aUVEV/sAFGIK\nKaJpHYA4054eTefEJDyMQmAecZlFwSl8GksQ10Fa83vx7Q3ckDC85TAYXf38Rlj/\nY19r2WYL7Mj/nspP3fo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb", + "wy" : "14620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa" + }, + "tests" : [ + { + "tcId" : 622, + "comment" : "u1 == n - 1", + "msg" : "54657374", + "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALip0a1XgW8Ew03TIq7i/ZRouKwJU\nBPCFRb78uVyff2gfb1ub8uvEXUyFcpIdOrXc4UTqXVDr7Im4yPAQ6jFJSGMAjIFv\nEi1dY7X+oA0aAO0jV39+99SPOXNWg1PUaDaOx3y8njxQEoObdIMwh9Ubo+aAq1N1\nvmgOqMGPe2GfMrFB8oE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "2e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863", + "wy" : "08c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281" + }, + "tests" : [ + { + "tcId" : 623, + "comment" : "u2 == 1", + "msg" : "54657374", + "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA03n3mCawQZjfNxqwUZ0afwpPGZ1h\nScqLfxOl2gnLoCT759T/f9eoqTtcvK88aCQ/Yw1H2PK2Uran1rHFIqdfqfIBxmBy\nLZXIPGuUV5RKzGceiB6NF7BzYvL4J5lFby8V1mLTaqCdWlI2KI08E4Lj4jCPRoZ9\nU8WIo3CFf65NMvCj3a8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f2", + "wy" : "1c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf" + }, + "tests" : [ + { + "tcId" : 624, + "comment" : "u2 == n - 1", + "msg" : "54657374", + "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb5001712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBucyMq2rz785ioV3h8q27sipNLXTo\n3PMv7AqUo9o1CN4dSgc/UkX5bJpqowIeVOqjUzp4F8TleUSrIXRUm2uT61ABcSzd\ng2bEURjwFhY6c0cZj0laKpvEJ5CNvG3UszD1bhwd9KmIb3/WPEkSSt5g1b+Oa3rD\n1p04+cTb2KEiFjgnLMs=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb50", + "wy" : "1712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb" + }, + "tests" : [ + { + "tcId" : 625, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308186024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0240424f8a11451ecd0735f06da9d15265d82c3c08f43db200b4b9404d558c9749dd51b1607da78f82eda9f32f5e53aef6ed9b97191fbd3bae7f35ddd3e66903d8bb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b601ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAOCbJGqozoYPeP24TTYZTCK68eQ6S\nh7x64TbtWb8DvkSntbQ6GMqK8aFOjKiO/hxl+JSXbFbEivALWsHzy831iLYBrDvO\nX648K7bc8Z2cJ16y61YUUjoEvw5/mKSlC+f4DIzO6Knnt0yK8HY0FwSnrCN2mkIH\nFyJ9b30bvPzs9yDsrDk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "3826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b6", + "wy" : "1ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39" + }, + "tests" : [ + { + "tcId" : 626, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024141eeab7d3d7e80937cad0b86d3e53e14830166c2efa89df18ec6f88fc6a8a580601a91934ba922bd746351a008ac4f86dcc4d13a7ff09420f897b52bf88a4c9269", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f64300601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAyGGz1Zd9r9MhxC6rGROi8ac06fsa\nIY8zwCqUHa+kHn9fpbTXP1LHTDXmJiscShVFxc3fqRL+RC7noWqq4MXD9kMAYB25\ngauVk8lAVyPKqG2GLFdbXFSkh0Z8I0DklfJtuxWHVw0Q04YJs4xQCUgFX1lrKQGU\nseZuqNBv+nVU0dj7axg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f643", + "wy" : "601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18" + }, + "tests" : [ + { + "tcId" : 627, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a2eb25c2d3f9db15f320a4dd42e236f98a5d8c6774c12f982e2bce6c5e16cb53dbc52da6e091201170c7b11463700865120b560f106e1448c57f957a3bec28db90", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b53023800754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAHwLaNjgp7gi0zJNGTi17FvLCYu95\nd6S01A8ThLQL3mgIEohg5VOfuR6SMQSAJJmavOGPH77qiYNIdUmkBDtTAjgAdUoF\nmo6hG8pMHyxTb7vZEMUDhqzVVMJ0eAkN+pKZnyfibpxfDFUfewKqFSPb9WBj97tw\nBNZJBMGuw1vHOu/i6Ag=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b530238", + "wy" : "754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808" + }, + "tests" : [ + { + "tcId" : 628, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200a521a445fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fddfff25612d4c640b972f4400e5bf597b342cc4a0e5e4d50ca579ce8a0ae09c0913", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c01186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALs4pYu9HEfSbFpesf60HWRZ3Z6EE\nt2rYd0nIOuKBi/ZqudlQn3P7FT6ri1RgfcynPTw4CXWvo+45NzK0Slk0mSwBGGrY\nC/EjujW9WyGz2V4sZyrTtIXweGIIWM+yTxv2Hq2Q+xonI+xQHCt6l83R/D6WTobS\nPAMKKrkNpvOXHaT2jJk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "2ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c", + "wy" : "1186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99" + }, + "tests" : [ + { + "tcId" : 629, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02411a445fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43a6e18df0b42a423dcc5bba72d6eaa3482d00750f395c72f7b528c14e6494fd8f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034008d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBq5gfUHqsbAipr415Y8DMldmkF2ow\nvTbZuLlmaXkS9WkIeSzPFcbKQYFRqi6EHBd4P4QU+k1cIi5JwAetyrEKoDQAjRoW\niKg5kxCEyu3jN1gghlaDcpIgmod/vBwS61b/mFCNI0g9bjam1H4PIhfSWM3cxvLv\n/iQ8CjNmTgq6DkbaM7k=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034", + "wy" : "08d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9" + }, + "tests" : [ + { + "tcId" : 630, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02413488bfd003ba3fe7222c398614731d4bc5d6e0518119ceef697ca468dd3fbc3a874dc31be16854847b98b774e5add546905a00ea1e72b8e5ef6a51829cc929fb1e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4017f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA/vrPQlZhyNOiGD/EzhG5p5eYuSNn\nHkLGk8EL7gbYp7Rh76SjJXPKx6AWTyuj6fSDZritBkFw++eYZksVOJ2OjaQBf0sp\nyxrgn2QKar63ioRndCK++4BBY0E4at7k2ucCx+Fq6D0CRTHhtjsBrLLEbkwOJd5W\nkVvUyQ7xE+h3kQj64mc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4", + "wy" : "17f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267" + }, + "tests" : [ + { + "tcId" : 631, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17f9b003304fb6269c9f550768537b35f96443556a62b5ec77958bd8e4204d6354ce", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e7501e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBulY/JD2FkCM75ZdF3I4xHoe2qeMr\n3b30Dw3IehG90dddWNMSw23I4nIiNpDaG2oFjV2rVvL8bylxIaWrKIwmnnUB4DTS\n5d25Dv1Ik+SGlLTPXIXovcr7vK5RiA2X4i0U2Dj4Fi7bDgJvW6iLFQ4/LB/EntJC\nl5O3bpLxr6nwGAUQXNg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e75", + "wy" : "1e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8" + }, + "tests" : [ + { + "tcId" : 632, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242014128151a7d33a465767e87681050667ae528af3c43cfc59e3c3c1c8037d941b12bed6b79efcbcacf25ad46226c5c2b2bbfa1360e23c331db67cede47d9b0aa3fd2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5015a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAJDTMonw5ZdMMGsN2BP7NVvDUrHAc\nHXpMxzV3ShCRNlzBp8teLWbYmTFVH9zgTA3vFQPi7Ct4IMGZrpkONjUjhuUBWjvX\n22L5tflvUPFM8LMVqqE0K/Q1JcnNLrBNK4PsIUBP5R9nUR0e5yln54NrgxboIoR3\n+JM+Rd9Vt1/rpDGZU8Y=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "2434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5", + "wy" : "15a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6" + }, + "tests" : [ + { + "tcId" : 633, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242019bcf27559ab324f2a0ebc95d059edeccd613604232da95c84d41d4d990ae7bb2d12b8d297d99fb86b64572d6fce2a34e4fa5e168f6894d4a1a828e2c6dbbdf31a2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e20089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAPuq3JBtJgl+Ns5BDwwep27tibMww\naTHGqI1CRSV64AV2LVSUS4qXlQ/TvgLuW8u1oQBosjDBvSEAMHMDO1tAcuIAibIT\nSvr/HX4Z/CPUQRBgjvvG4rgSChamO9/y4GX8yULnlsbb3/FPwXmraU7oZeg6KOcO\ni6Y1ZcL6LzGsPnG9xGo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "3eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e2", + "wy" : "089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a" + }, + "tests" : [ + { + "tcId" : 634, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200b6cd381945713041c7990356370a00a10888ce905df2c792226a96cadb61df94bc4277c04afbcdabf376f02d2a6addf4052ad7673b1ae1e1ec49af389066810792", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a170100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBf7g475pryIdu8hiKXw02+3ZkJnPs\nIi8j9Jz92GDFBTTTR3YJw6EWXpPfr8wQNNbPdils0C9W4z9Q76ICzdfdChcBANJ1\nvLg2nDTPMEbRmP+vTM67AxOarY5EATEPdj54tK0N2H+m4EOL9DCywQ8l+IGdxUa2\nsGYT6vBoxZzssruRaEo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "17fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a17", + "wy" : "100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a" + }, + "tests" : [ + { + "tcId" : 635, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200ffded83af75d70997c6507c92b1756cd13e9e1fb85e126ffa5a35fd95539b45b0e7fea93830bd009beeaec68f551ad5771500f584c66304c97c2c8f19c141a45a7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a00d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPSpVGMRbYC97Pu4uJhqZeqeKWoMc\nROOtoW/bDPGzKSae+xUs/o5OCAd7Z8wnq0rkKZW3qZce/lJIF1y118pj94oA0rZ2\nyj1B+O2LtlMJ3m7FN5lBpfdKbXDdyuH3NlznH97wPjcqoxQIqKUcw0ysVParc2bZ\nh1i3+T/JduD+UfOHG4I=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "13d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a", + "wy" : "0d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82" + }, + "tests" : [ + { + "tcId" : 636, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffbdb075eebae132f8ca0f92562ead9a27d3c3f70bc24dff4b46bfb2aa7368b61cffd5270617a0137dd5d8d1eaa35aaee2a01eb098cc60992f8591e33828348b4e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae005ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQArE6a0frYBUouEyA/zEiTM5Vb+3di\nrtRbYedRgm+KEwtTB8Hy8FIAHcOflx8ZXWqcalq10CWXgiqJKuK+ZxQ78q4AXOD9\nguNQuF8tei7b1ZWh6JChQ+6aF/FK7TGVDVF9RX6V7hYPgYt+eua3ITVQRRa0u9vI\nVxj0QqPcmiHuTaDzJ7Y=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae", + "wy" : "5ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6" + }, + "tests" : [ + { + "tcId" : 637, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200ff9c88b0e61851cc752f175b814604673bbda5f291a374fef0ea1f8bffad1d11312e393305644086d140f93996fdfe6083b4783f2ca8f49e188ceb1db5ab166cec", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1016e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAnRrvwBFgh3Td5rFXTPeXNWkbzNDV\nNJeVVbkj5IA/SW4JbZWvfb+AJZVTEs8xgPKxJOFAS6i9Riz4x1C9FX27GPEBbjc2\nViXig8ZEdna+wphBCja5yMZLpaG2kXkXndi48+jmWcysDN8cQvF001gKAILBMaiG\nXlCtmvkIjrLWPwtHaK4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "09d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1", + "wy" : "16e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae" + }, + "tests" : [ + { + "tcId" : 638, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200d17592e169fced8af990526ea1711b7cc52ec633ba6097cc1715e7362f0b65a9ede296d370489008b863d88a31b804328905ab0788370a2462bfcabd1df6146dc8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004010f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705012d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBD1gk0R0QD5wd6h9ED//mrvFDqPya\nrJ5k4U97r/OmKlrp9t1A3TaLZSOaqAIxhp4qp6ok8FjRemw1kka99eyF1wUBLQfC\nUf7Lz1AWqOqePEa8UxhLupYdSuidq/qhruM03PlIJM8ab4QOmouhzr+7mIGsyOgG\nKE0FgbfIWY8+fkZt6gk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "10f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705", + "wy" : "12d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09" + }, + "tests" : [ + { + "tcId" : 639, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b29400f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBtVf2/CHxbmqOUbKQSyT7jHXI/uSx\nsP+XX81UxJGg5SdYo4gwONvPIfGeV5FGPC2VK7SwtkKPCuc2m0HR2XZhspQA91yF\nk/ns9UomzIx7QY+fvKQpaIW5NnCTmUL13PbLSgPCNE0EEd8eWlSGUlNMS328zpQB\naXJSJn6HRdBxOI7sgy4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b294", + "wy" : "0f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e" + }, + "tests" : [ + { + "tcId" : 640, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f00a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAzgIrVDoYH90xMM41kmF4p/Dvlxxf\n6EiwLcG/aMiDspqjU2mr0ZntYo6oNzqWYKHAhUFKLGbeASjAj4OG7+ygDT8Aopxw\nS6rqAhSrlETpLUfbWcRIxlWUtwnFvUMHiXyY0LzLSp81HFHSJz7yu4TWh8MF52Nr\nVf0+OFS0s0ynunEnaso=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f", + "wy" : "0a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca" + }, + "tests" : [ + { + "tcId" : 641, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a01537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQA0ZT1HYAhjAKW6Xi5t6XrsNNz0h\n6e1/S+iuJepbb861gNxFEIJlJf4TjRpOIMwpPFMNukuFw9KbuHSGfDaEaWoBU3uj\nwywfH5stnoD4j/zcSqUkboFFuHw31HMEQjTYrSjGq9Whhu0Kthxuct3vd7CZ9R7c\nWOvrQzrtBkUDyklMTHM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a", + "wy" : "1537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73" + }, + "tests" : [ + { + "tcId" : 642, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040078266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a0198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAeCZvV53KE+oUM4wyoNaBLf2Ycgoq\nHqK/pEuis/4VxjBjyMx5PJbulgz1N+NK0Mr6RiGSz2KFy4xI2Tmb9VLU/GoBmL7e\nYSaJ0iiYQeSQW+dm26igewCk1KlvmhBxYKmybrMv2nmWNOAH7lDjT2slVg1+7Rco\n1LXtxFN99PUIkQrO9zY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "78266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a", + "wy" : "198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736" + }, + "tests" : [ + { + "tcId" : 643, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c301282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXFhcD63smjT8wIBBVPFMtWaLmX8u\nCW2gl0sj6ZAuNJmVYDeheKUhCDNQfh4QjuXNmU9lnj6Mqt6dKVjtSPZpkcMBKCwZ\naaaOGQxhHsAyI1LvAcdQ3IdGSqAQJLLBDJ1Lakop+Z6nQNuNr6tl7XVCNgFlTWj0\n32QugKTnnKEt+w7kJAQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "5c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c3", + "wy" : "1282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404" + }, + "tests" : [ + { + "tcId" : 644, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a00403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAkZ0Mv/cEPeLrAk5eznpZ3hSxvYsI\nQolYdDAFbjUOSRNr+JJ1eziXNed1s1LXdDdv4p5i5AFSU1AuTMwpnyV1dmoAQDzf\npJ/kZHeU1nn9KInDpsKmUeuwTk/uhGi9TCQNi6ciCX6uvVJHtL68boc7JwEcSdH4\noTHqD3pWeowqfBcyieI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a", + "wy" : "403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2" + }, + "tests" : [ + { + "tcId" : 645, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a99750010829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPIm2juIWXOWD4pprRjA+UeSbZYO5\nf6SPyX9IyorQ3dTd0J36389wlfDKGJY0MoQcTv+RX2E40O9ZHorkvp9KmXUAEIKc\nKWtJ6D6iIBi9HUvjDMM7/OIFqrpUUuEEn3i+3gsAOuLCe6/AzX96wRIQiSiL/jfi\nIeGPWk/dfXOzwOWuatE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "13c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a9975", + "wy" : "10829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1" + }, + "tests" : [ + { + "tcId" : 646, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f7901f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Ryg/3kHl6g8O+HIJCWvkXIICHqm\nc17r00mED9n7w7pZYu4R+AQzOMGz81BBcfqo6ERIgLalxVrmZnxSygftP3kB80eG\nwtxxcErDRjQQCo6RKnxAY3gg6XzTLVc51wNLx/aHS5DulMzgdmKjsnWyP6IK5/yD\ncNBbru/gKGFovTQX0T8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f79", + "wy" : "1f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f" + }, + "tests" : [ + { + "tcId" : 647, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040040af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c7901c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQK8vTdweUnKyrtNYt3dvKPDcmW93\nL5UfJdEvn4sPPeDRwdKbY7dKlQ20dHAaNMjdgDtZTpV71qPrfpOL5FEfTHkBwBtC\nyXPVX7iZbkDuaOES5YqJLqsDLFzdbbOfssEWkuizzr273Aj7PZWip2BwBQifRSze\nuYIbWhGEAfzQKcmtJIQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "40af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c79", + "wy" : "1c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484" + }, + "tests" : [ + { + "tcId" : 648, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040069e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c0177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAaeC0gduZ+JTweA+EcZ3hauxZnHZe\nulC4YVR3Bzwywmqx5OeuXR+VJROtMjIlIDtPDGWiSoNozTIsI+kgSdEhdHwBd5Ae\nN55eck9BZIf+5wd+auqB5SUMqjz/u30bInCqdUtP2uUeRDBQwzx7hCHHs8U4xJpn\nSjTiJ4x+oJ2QDPWFHc8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "69e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c", + "wy" : "177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf" + }, + "tests" : [ + { + "tcId" : 649, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67001c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAqcLFfxoukcTuaz0DwJI7WNDsQJ34\njk8wZbqBSL/Pf3HOsvGh6Z3IMAhLFpk0VOfhjaI8Gh53GZSR21QYrii3bGcAHJfu\ncgSTtCf9M6E8jofoQuyW5pA8yXyw9pNASYv9xvVDyoBE7KUR6ufw3VYqrBPyw/NW\n0hbEK3PdrUdW0DL2l5A=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67", + "wy" : "1c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790" + }, + "tests" : [ + { + "tcId" : 650, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a301aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB35pupag1foKeYLunEdEfhqLdKMXv\n2/lo6WRt+7DSf6i/TYHUYlXBmN9KJ+bKMVaQsepoeVKXw2Uim9aVmylktKMBqrRa\nIR6QErK8aavAWIoN6OLFkzTNOKPCId76t4n5z7Rgh5SoxRFQp4PllWoKn5ovVHze\ngtG11s9RxWZgS1C8940=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a3", + "wy" : "1aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d" + }, + "tests" : [ + { + "tcId" : 651, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf00134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB3zDvJuFgFToUaKXd0GsCzLFk3+Os\njH8V9o1PGQfvi+nK3GvnBaIpRCNAZwvRGG7YJtObpMIxGx33lAAaKTwCfN8AE08w\n5ENVBBAqVMNE7YAAnOG5xQksQLoy34BTk2qM2KlBrlKEUF/RrgxTAghsk6WCgw0k\nu2Rict2d0vIVBCWi1+U=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf", + "wy" : "134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5" + }, + "tests" : [ + { + "tcId" : 652, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4BaQ13\nCAa96fTSdgKTq6YHYGbxdi6ESPDQhyTvMR/3WW816LapNG3mW+qSS50wu5cuOziH\ngXL5BAN4oNtHKZ6XmFY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e", + "wy" : "1690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856" + }, + "tests" : [ + { + "tcId" : 653, + "comment" : "point duplication during verification", + "msg" : "54657374", + "sig" : "30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024200a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4AlvKI\n9/lCFgstif1sVFn4n5kOidF7tw8veNsQzuAIppDKF0lWy5IZpBVttGLPRGjRxMd4\nfo0G+/yHXyS41mFoZ6k=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e", + "wy" : "096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9" + }, + "tests" : [ + { + "tcId" : 654, + "comment" : "duplication bug", + "msg" : "54657374", + "sig" : "30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024200a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0008e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAmntS4d/wGAWBQ87xXHAqeglOgbPm\nZbUph6Swd9AMfRzDmL2+Fn0qPB7Z2v8g92iss/2WLAax/BZZOikXNAgPQMAAjkS0\nRKP2aAP/OEbyJtz3JOw85pLmesmR4GKuSg5VWhrRhJBdMjHD8FiuQMJmVHsHanyE\nINan6UqjADQq7u0cX30=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "09a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0", + "wy" : "08e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d" + }, + "tests" : [ + { + "tcId" : 655, + "comment" : "point with x-coordinate 0", + "msg" : "54657374", + "sig" : "3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd01efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA4m/wIAtzFFCtF7tv7xpuOHo+xBzU\n2AgjSmQnLoGcIgJmvnnFra43glRknsjMoF7JKBW4ues87FhpOqar0LoZGr0B78U2\n/3APNhHTWOGCkUcNhFRztXULdSXNNwlDL/L6h3Q6+SiUp6ZGqC/STT9uDMR6tnPW\nhjDXcL0NcksNYN5rUfY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd", + "wy" : "1efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6" + }, + "tests" : [ + { + "tcId" : 656, + "comment" : "point with x-coordinate 0", + "msg" : "54657374", + "sig" : "3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87002bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBd9QTC7D/VZfzpR9aAPkCE8HYWFOJ\ngp3tYxgJwYCmZWNkSDFCrtrTFIb/J6Kqq7DtMIiWlD3fllkOFmVFC6NMnocAK7pg\nmtiktMiU0wOzhyxPY5OeGa6R0hsag8wiYHAPjg7BmKbzjaYqbqVyHhNkpafwL2D1\n6N5TqXzhHIZm1YjLzbM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87", + "wy" : "2bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3" + }, + "tests" : [ + { + "tcId" : 657, + "comment" : "comparison with point at infinity ", + "msg" : "54657374", + "sig" : "308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040058d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1018728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAWNMbnzujTzhPJHj9YNVM+mk7vFRy\nECgcAAlYnAJEuhlY8rqRrfdqKWx3Vm6OquwTK1y9VVsT7ewMDwrgYejJobEBhyiw\n3QLRMfxoBbdRaMmCo/25P+hcorUw0dg5y1NMDrwCGuNyOSajACc3tLeWwSaI12iD\nTQXiUWgYQ4o4wCO1L88=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "58d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1", + "wy" : "18728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf" + }, + "tests" : [ + { + "tcId" : 658, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b60077400359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAz23xyvAvkJi+UC4YepJPvozBDwQi\n3Wa/2fkVbPItgw8IS42zpO5Yj7EIuheBA6GqRapof+mzAXN5G27+3ktgB3QANZuW\n5yT+hpq7lfRUmvQOE8Zk0aAJrQIFtFTxpJVYGncOXIKqmEvSpc0tNZrfSHw5LkQQ\nSP5gwmlv+pWMgH3gl8k=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b600774", + "wy" : "359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9" + }, + "tests" : [ + { + "tcId" : 659, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYBGDkp\naniaO8AEXIpftCx9G9mY9URJV5tEaBevvRcnPmYsl+5ymV70JkDFULkBP60HYTU8\ncIaicsJAiL6Udp/RZlA=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66", + "wy" : "11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650" + }, + "tests" : [ + { + "tcId" : 660, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "308186024100c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a310241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 661, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "308187024201ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d80241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYA58bW\nlYdlxD/7o3WgS9OC5CZnCru2qGS7l+hQQujYwZnTaBGNZqEL2b86r0b+wFL4nsrD\nj3ldjT2/d0FriWAuma8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66", + "wy" : "0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af" + }, + "tests" : [ + { + "tcId" : 662, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "308186024100c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a310241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 663, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "308187024201ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d80241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004873b01c3fbd1852fb7029e571eb0b6ee7a2cd85cdc3350332baf15b19b7892cd827fd418154a8436a2dbcff0ffde24cd1436e08161a7c9c1abf936c533bf2296", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIc7AcP70YUvtwKeVx6wtu56LNhc\n3DNQMyuvFbGbeJLNgn/UGBVKhDai28/w/94kzRQ24IFhp8nBq/k2xTO/IpY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0873b01c3fbd1852fb7029e571eb0b6ee7a2cd85cdc3350332baf15b19b7892cd", + "wy" : "0827fd418154a8436a2dbcff0ffde24cd1436e08161a7c9c1abf936c533bf2296" + }, + "tests" : [ + { + "tcId" : 664, + "comment" : "k*G has a large x-coordinate", + "msg" : "54657374", + "sig" : "3036021100e2027b801fc479308ff5399a8825fccf022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 665, + "comment" : "r too large", + "msg" : "54657374", + "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040654f94b4ee20794db95a64f56fc4d823118c8a2df77c25dc49ab6172a43a5cb3e43eec1ceab77f227a84fc0a185ee368817419900117724edd476fc17ce0c99", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAZU+UtO4geU25WmT1b8TYIxGMii\n33fCXcSathcqQ6XLPkPuwc6rd/InqE/AoYXuNogXQZkAEXck7dR2/BfODJk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "654f94b4ee20794db95a64f56fc4d823118c8a2df77c25dc49ab6172a43a5cb", + "wy" : "3e43eec1ceab77f227a84fc0a185ee368817419900117724edd476fc17ce0c99" + }, + "tests" : [ + { + "tcId" : 666, + "comment" : "r,s are large", + "msg" : "54657374", + "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a3022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040bdcb6c8fd1409184869e266c97a59982d9c360114c1ec5fd5402bc638fcb27e055132e5ac1221bc4fc89161d2d56e113880292e4a3d4d9e43979bb66e5dc819", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAvctsj9FAkYSGniZsl6WZgtnDYB\nFMHsX9VAK8Y4/LJ+BVEy5awSIbxPyJFh0tVuETiAKS5KPU2eQ5ebtm5dyBk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bdcb6c8fd1409184869e266c97a59982d9c360114c1ec5fd5402bc638fcb27e", + "wy" : "55132e5ac1221bc4fc89161d2d56e113880292e4a3d4d9e43979bb66e5dc819" + }, + "tests" : [ + { + "tcId" : 667, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "304402207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02204ab8de0a51481bc45794b924518f2dd6ac5cce31f3228d624c5a896f79a2d6a2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004656bd0903ccbd335f66090d6ed2ed1a9a6056142c5ccc55c38838a7f3847a4845ae6dc9d86de0b6f330344d9ed1683b6ec92184d8caf0c7837b1a8724125d7c9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGVr0JA8y9M19mCQ1u0u0ammBWFC\nxczFXDiDin84R6SEWubcnYbeC28zA0TZ7RaDtuySGE2Mrwx4N7GockEl18k=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "656bd0903ccbd335f66090d6ed2ed1a9a6056142c5ccc55c38838a7f3847a484", + "wy" : "5ae6dc9d86de0b6f330344d9ed1683b6ec92184d8caf0c7837b1a8724125d7c9" + }, + "tests" : [ + { + "tcId" : 668, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "304502207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0221008b1b5f89f5bb74caa42d36e601a9f3c20b4e6c91ceb98a52fbfa9f81781b8a17", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043794534eb2f575d7948fb331553b33aeaf395f66193c6f9eabd5e1b2a30b230c9afb63cb41720f4e915b630d4b088fb4fcea4d0849f3cc023a6ca59357f85c36", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDeUU06y9XXXlI+zMVU7M66vOV9m\nGTxvnqvV4bKjCyMMmvtjy0FyD06RW2MNSwiPtPzqTQhJ88wCOmylk1f4XDY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3794534eb2f575d7948fb331553b33aeaf395f66193c6f9eabd5e1b2a30b230c", + "wy" : "09afb63cb41720f4e915b630d4b088fb4fcea4d0849f3cc023a6ca59357f85c36" + }, + "tests" : [ + { + "tcId" : 669, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004380ec87cfe9da69e438357d9f68ed7ba59d43b164b1cb7ebdb5a8ba25ffb2abf832f8efce46b1c8a5ac4b4c39657432e0bfcf71bfccb08e236620f444148665c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDgOyHz+naaeQ4NX2faO17pZ1DsW\nSxy369tai6Jf+yq/gy+O/ORrHIpaxLTDlldDLgv89xv8ywjiNmIPREFIZlw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "380ec87cfe9da69e438357d9f68ed7ba59d43b164b1cb7ebdb5a8ba25ffb2abf", + "wy" : "0832f8efce46b1c8a5ac4b4c39657432e0bfcf71bfccb08e236620f444148665c" + }, + "tests" : [ + { + "tcId" : 670, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020102", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041b93505886094d6e1df0393000b41d097906fdf03435e771082ddb6e7d53b347285ecd2cb254f514c566b3cfffc50db03f259155be368fe713e8a833a747f981", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBuTUFiGCU1uHfA5MAC0HQl5Bv3w\nNDXncQgt2259U7NHKF7NLLJU9RTFZrPP/8UNsD8lkVW+No/nE+ioM6dH+YE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1b93505886094d6e1df0393000b41d097906fdf03435e771082ddb6e7d53b347", + "wy" : "285ecd2cb254f514c566b3cfffc50db03f259155be368fe713e8a833a747f981" + }, + "tests" : [ + { + "tcId" : 671, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020103", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 672, + "comment" : "r is larger than n", + "msg" : "54657374", + "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020103", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000403d1c0ee4010a27b1faddcdf256d0b6eb2a5bcc256e685d379f5ba20e93919f4658be2a06d5eb3205c2dbdb67d55413913b51d794c59e91d3e5b783d535ef5bc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAPRwO5AEKJ7H63c3yVtC26ypbzC\nVuaF03n1uiDpORn0ZYvioG1esyBcLb22fVVBORO1HXlMWekdPlt4PVNe9bw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3d1c0ee4010a27b1faddcdf256d0b6eb2a5bcc256e685d379f5ba20e93919f4", + "wy" : "658be2a06d5eb3205c2dbdb67d55413913b51d794c59e91d3e5b783d535ef5bc" + }, + "tests" : [ + { + "tcId" : 673, + "comment" : "s is larger than n", + "msg" : "54657374", + "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82975b2d2e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004677ccca257fb6730e744de5013bf98ea8003e320b8ca70888a351aa7b0f8906f54ca266a5267503e1aa90c74a67006bff1a8461ce9526bf266b02b39448a0219", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGd8zKJX+2cw50TeUBO/mOqAA+Mg\nuMpwiIo1Gqew+JBvVMomalJnUD4aqQx0pnAGv/GoRhzpUmvyZrArOUSKAhk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "677ccca257fb6730e744de5013bf98ea8003e320b8ca70888a351aa7b0f8906f", + "wy" : "54ca266a5267503e1aa90c74a67006bff1a8461ce9526bf266b02b39448a0219" + }, + "tests" : [ + { + "tcId" : 674, + "comment" : "small r and s^-1", + "msg" : "54657374", + "sig" : "30260202010102202827370584fdeb9f5d5a9fb9579a09390efb6f9d99b64fc188d8bce05c2d4eed", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000499a4b3ffdda680963d6a6f29d95eb6c1c653655437e028b92d8fa90b6e31649c28cbae0a35de3ad10e462c6854e95dfb5dfde9cb0575075c204ccf2edddbf725", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJmks//dpoCWPWpvKdletsHGU2VU\nN+AouS2PqQtuMWScKMuuCjXeOtEORixoVOld+1396csFdQdcIEzPLt3b9yU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "099a4b3ffdda680963d6a6f29d95eb6c1c653655437e028b92d8fa90b6e31649c", + "wy" : "28cbae0a35de3ad10e462c6854e95dfb5dfde9cb0575075c204ccf2edddbf725" + }, + "tests" : [ + { + "tcId" : 675, + "comment" : "smallish r and s^-1", + "msg" : "54657374", + "sig" : "302b02072d9b4d347952ce02204937a087731df4febc2c3a81ddfbab5dc3af950817f41b590d156ed409ad2869", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000463aeb7a8c99b569922290cfaf225e135c3110261987605d22edf37a3c6672d341acabe5a64f0c9ba20c665381ad24d275347ab6f54fb992d0d3f436c19d05cee", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGOut6jJm1aZIikM+vIl4TXDEQJh\nmHYF0i7fN6PGZy00Gsq+WmTwybogxmU4GtJNJ1NHq29U+5ktDT9DbBnQXO4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "63aeb7a8c99b569922290cfaf225e135c3110261987605d22edf37a3c6672d34", + "wy" : "1acabe5a64f0c9ba20c665381ad24d275347ab6f54fb992d0d3f436c19d05cee" + }, + "tests" : [ + { + "tcId" : 676, + "comment" : "100-bit r and small s^-1", + "msg" : "54657374", + "sig" : "3032020d1033e67e37b32b445580bf4efb02210091827d03bb6dac31940ba56ed88489048ff173f0bf20cab20dcc086fca37f285", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048e2fdf5606030d4c02117b6642699cd10b9f791bafa6952a6635939aa577ff3a350cd8e98725756cd384937e0599f38ee7cc16e85474c9bc6d6bbcb4a6ae3a82", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABI4v31YGAw1MAhF7ZkJpnNELn3kb\nr6aVKmY1k5qld/86NQzY6YcldWzThJN+BZnzjufMFuhUdMm8bWu8tKauOoI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08e2fdf5606030d4c02117b6642699cd10b9f791bafa6952a6635939aa577ff3a", + "wy" : "350cd8e98725756cd384937e0599f38ee7cc16e85474c9bc6d6bbcb4a6ae3a82" + }, + "tests" : [ + { + "tcId" : 677, + "comment" : "small r and 100 bit s^-1", + "msg" : "54657374", + "sig" : "30260202010102203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048854b415e4e34bb3e19a1c4bda67260f0518c320696b6e6393b3c7823d8a30a70e594403225c63da5138eb9067e86f638d91793b6410688c34cdf6c8d2ac601a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIhUtBXk40uz4ZocS9pnJg8FGMMg\naWtuY5Ozx4I9ijCnDllEAyJcY9pROOuQZ+hvY42ReTtkEGiMNM32yNKsYBo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08854b415e4e34bb3e19a1c4bda67260f0518c320696b6e6393b3c7823d8a30a7", + "wy" : "0e594403225c63da5138eb9067e86f638d91793b6410688c34cdf6c8d2ac601a" + }, + "tests" : [ + { + "tcId" : 678, + "comment" : "100-bit r and s^-1", + "msg" : "54657374", + "sig" : "3031020d062522bbd3ecbe7c39e93e7c2502203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004595f3befe9ac34763eb99d6a95f8b45a94084406f165ea5781ccd39d923b61232508badaf61ae9c37742f03b8fbf48413ef9c512cfa63a299c1bea7d6a7cc583", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFlfO+/prDR2PrmdapX4tFqUCEQG\n8WXqV4HM052SO2EjJQi62vYa6cN3QvA7j79IQT75xRLPpjopnBvqfWp8xYM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "595f3befe9ac34763eb99d6a95f8b45a94084406f165ea5781ccd39d923b6123", + "wy" : "2508badaf61ae9c37742f03b8fbf48413ef9c512cfa63a299c1bea7d6a7cc583" + }, + "tests" : [ + { + "tcId" : 679, + "comment" : "r and s^-1 are close to n", + "msg" : "54657374", + "sig" : "3045022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485628022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040f4c30d0099f1d1ce785714707f10172c0881cd1aec5daf4f849462688248fa00be78142c4538617830dcd2ef814cbe33c7dcf5cf6fb95217f7a76d118e029ed", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA9MMNAJnx0c54VxRwfxAXLAiBzR\nrsXa9PhJRiaIJI+gC+eBQsRThheDDc0u+BTL4zx9z1z2+5Uhf3p20RjgKe0=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0f4c30d0099f1d1ce785714707f10172c0881cd1aec5daf4f849462688248fa0", + "wy" : "0be78142c4538617830dcd2ef814cbe33c7dcf5cf6fb95217f7a76d118e029ed" + }, + "tests" : [ + { + "tcId" : 680, + "comment" : "s == 1", + "msg" : "54657374", + "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 681, + "comment" : "s == 0", + "msg" : "54657374", + "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045866d53f9e14bb54784136192419568c060f30d7dfd771f5a3e4d6a0e8c2597c43a773b94d7d0a706b9ba3488389705e29d6809f93a92fa69786657364129202", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFhm1T+eFLtUeEE2GSQZVowGDzDX\n39dx9aPk1qDowll8Q6dzuU19CnBrm6NIg4lwXinWgJ+TqS+ml4Zlc2QSkgI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5866d53f9e14bb54784136192419568c060f30d7dfd771f5a3e4d6a0e8c2597c", + "wy" : "43a773b94d7d0a706b9ba3488389705e29d6809f93a92fa69786657364129202" + }, + "tests" : [ + { + "tcId" : 682, + "comment" : "point at infinity during verify", + "msg" : "54657374", + "sig" : "3044022054fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b53022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a60f67988936eb09516548355a6731e04c62f2fb5be99668a819d3f1edcfe8ac691ec942aaa90570c5a61c3bdb6c01085829e63b87ecb5e80fa9d305b1f3e151", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKYPZ5iJNusJUWVINVpnMeBMYvL7\nW+mWaKgZ0/Htz+isaR7JQqqpBXDFphw722wBCFgp5juH7LXoD6nTBbHz4VE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a60f67988936eb09516548355a6731e04c62f2fb5be99668a819d3f1edcfe8ac", + "wy" : "691ec942aaa90570c5a61c3bdb6c01085829e63b87ecb5e80fa9d305b1f3e151" + }, + "tests" : [ + { + "tcId" : 683, + "comment" : "u1 == 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce20220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a68baf3367bc5d28f24eaa740ccb4f115f02e8e0d86d389d2f0679d522a21f3b57d331289faf2dc50f95d4e2cbfa7ace61c1fbbe73c628d78e78f1ed57e982e5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKaLrzNnvF0o8k6qdAzLTxFfAujg\n2G04nS8GedUioh87V9MxKJ+vLcUPldTiy/p6zmHB+75zxijXjnjx7VfpguU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a68baf3367bc5d28f24eaa740ccb4f115f02e8e0d86d389d2f0679d522a21f3b", + "wy" : "57d331289faf2dc50f95d4e2cbfa7ace61c1fbbe73c628d78e78f1ed57e982e5" + }, + "tests" : [ + { + "tcId" : 684, + "comment" : "u1 == n - 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040fd5ca9814b5dd0bb7dde76609785bc61ed9490ffff8e67d4d8cb67de0982ddda61b90df51db44af8adbbfd524b7eb3dd1eb652d13dd0a2e17049bed1ad20b23", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA/VypgUtd0Lt93nZgl4W8Ye2UkP\n//jmfU2Mtn3gmC3dphuQ31HbRK+K27/VJLfrPdHrZS0T3QouFwSb7RrSCyM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0fd5ca9814b5dd0bb7dde76609785bc61ed9490ffff8e67d4d8cb67de0982ddd", + "wy" : "0a61b90df51db44af8adbbfd524b7eb3dd1eb652d13dd0a2e17049bed1ad20b23" + }, + "tests" : [ + { + "tcId" : 685, + "comment" : "u2 == 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047289e13555ea568fe89151d61e5c072f4b35897600ae7bf9e2b2aa0e5fb3f0f33e3148ae84ca2d0bf8c771bf330be074b3524d7bf0d2bea2f5ae3ec101cca105", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHKJ4TVV6laP6JFR1h5cBy9LNYl2\nAK57+eKyqg5fs/DzPjFIroTKLQv4x3G/MwvgdLNSTXvw0r6i9a4+wQHMoQU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7289e13555ea568fe89151d61e5c072f4b35897600ae7bf9e2b2aa0e5fb3f0f3", + "wy" : "3e3148ae84ca2d0bf8c771bf330be074b3524d7bf0d2bea2f5ae3ec101cca105" + }, + "tests" : [ + { + "tcId" : 686, + "comment" : "u2 == n - 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022071523a926bf4712829995c6069025e4bb2d0fc6d23966f4fb5695f01ba3039c5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040e5c985b558157eb8ea717ed9662ba521d3c54164d7fe2ce3aaff1d395f90c076dd5d9ad049a537b684974297a1f91eadb3b7a97164ec381efbb3b0526661047", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA5cmFtVgVfrjqcX7ZZiulIdPFQW\nTX/izjqv8dOV+QwHbdXZrQSaU3toSXQpeh+R6ts7epcWTsOB77s7BSZmEEc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0e5c985b558157eb8ea717ed9662ba521d3c54164d7fe2ce3aaff1d395f90c07", + "wy" : "6dd5d9ad049a537b684974297a1f91eadb3b7a97164ec381efbb3b0526661047" + }, + "tests" : [ + { + "tcId" : 687, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022054635633127665edff4996c3232c0589e44acce6fb989885a1b92da58cd43c44", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004389a0c6c57397a0e5dd0dc238ff253a82d3073b4e3fca8b5ffb5f205c34651d308a535730a6987df9717111c8272fad3ac1ffb5feb5e04541682c9440863f425", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDiaDGxXOXoOXdDcI4/yU6gtMHO0\n4/yotf+18gXDRlHTCKU1cwpph9+XFxEcgnL606wf+1/rXgRUFoLJRAhj9CU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "389a0c6c57397a0e5dd0dc238ff253a82d3073b4e3fca8b5ffb5f205c34651d3", + "wy" : "08a535730a6987df9717111c8272fad3ac1ffb5feb5e04541682c9440863f425" + }, + "tests" : [ + { + "tcId" : 688, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220028eb8f6fb8e5a3833700b5687f17948beeecf7c73aa9c14430ef3ca01602036", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041817c8914321f6d4dea4936b11500555e57c20651db6b478761c8ea1d58632a80067bccdae9389ca4cb6e3279b1896448ff22951e5065326833487066eeedcf9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBgXyJFDIfbU3qSTaxFQBVXlfCBl\nHba0eHYcjqHVhjKoAGe8za6TicpMtuMnmxiWRI/yKVHlBlMmgzSHBm7u3Pk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1817c8914321f6d4dea4936b11500555e57c20651db6b478761c8ea1d58632a8", + "wy" : "67bccdae9389ca4cb6e3279b1896448ff22951e5065326833487066eeedcf9" + }, + "tests" : [ + { + "tcId" : 689, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207c04eb7f3730e231a1c6f86a11042f1a914b02bd83ca8e82670f9bf9d17d9e00", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004446e925eb47fb9e986762c3ad5600e44018b8928be7c61fee438db8f0fd76b185420796deda74ab9508ba6c45e826dbd47acbf943e87877478d6cd1b8825efad", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABERukl60f7nphnYsOtVgDkQBi4ko\nvnxh/uQ4248P12sYVCB5be2nSrlQi6bEXoJtvUesv5Q+h4d0eNbNG4gl760=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "446e925eb47fb9e986762c3ad5600e44018b8928be7c61fee438db8f0fd76b18", + "wy" : "5420796deda74ab9508ba6c45e826dbd47acbf943e87877478d6cd1b8825efad" + }, + "tests" : [ + { + "tcId" : 690, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203b3b272686d138084988ae23089d57b574fbabe983e1de35694442c2b9660070", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047742d14fff17f37674f3f1d4df982427dac545722aeafd8f3effbd40890900af693a32aa0b83dc4fe27a409e7a35f52827582d9c97f84acd24a4c3e3db67cdc6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHdC0U//F/N2dPPx1N+YJCfaxUVy\nKur9jz7/vUCJCQCvaToyqguD3E/iekCeejX1KCdYLZyX+ErNJKTD49tnzcY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7742d14fff17f37674f3f1d4df982427dac545722aeafd8f3effbd40890900af", + "wy" : "693a32aa0b83dc4fe27a409e7a35f52827582d9c97f84acd24a4c3e3db67cdc6" + }, + "tests" : [ + { + "tcId" : 691, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202e67ab256e246048b8154c6bd12de75f1657f9b20e8da09beca149a517cbfb1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045cc07b0a02619c701b5b2112ee1e8152aa2a7d87880c2310409142046e962df40e74e8191e2ec76f8f9e3c54a59bc79ec68bff407e4ad4d6988f419b5671f25b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFzAewoCYZxwG1shEu4egVKqKn2H\niAwjEECRQgRuli30DnToGR4ux2+PnjxUpZvHnsaL/0B+StTWmI9Bm1Zx8ls=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5cc07b0a02619c701b5b2112ee1e8152aa2a7d87880c2310409142046e962df4", + "wy" : "0e74e8191e2ec76f8f9e3c54a59bc79ec68bff407e4ad4d6988f419b5671f25b" + }, + "tests" : [ + { + "tcId" : 692, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205ccf564adc48c091702a98d7a25bcebe2caff3641d1b4137d942934a2f97f636", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045598267f28a0d095cac9d4b6e4f8157c73d48d6a76b72c8f3a8115ecfe5e28a72d651136d13e039ce4c134dd5572ffdc996bee018b3d01439df62a538ceac8a7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFWYJn8ooNCVysnUtuT4FXxz1I1q\ndrcsjzqBFez+XiinLWURNtE+A5zkwTTdVXL/3Jlr7gGLPQFDnfYqU4zqyKc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5598267f28a0d095cac9d4b6e4f8157c73d48d6a76b72c8f3a8115ecfe5e28a7", + "wy" : "2d651136d13e039ce4c134dd5572ffdc996bee018b3d01439df62a538ceac8a7" + }, + "tests" : [ + { + "tcId" : 693, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008197dc78d6ccee9677df5d99f382c80c19dd0d78babbb86810d8398b0c911414", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000480e25f21cd7b8be2bab4183194edbd22b0ca53fd70f344e42988a396b0f2c6e2991e27d9c14c1dbb5e1889956a7328159da9dbac082b93b289cc90b28f96a65a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIDiXyHNe4viurQYMZTtvSKwylP9\ncPNE5CmIo5aw8sbimR4n2cFMHbteGImVanMoFZ2p26wIK5OyicyQso+Wplo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "080e25f21cd7b8be2bab4183194edbd22b0ca53fd70f344e42988a396b0f2c6e2", + "wy" : "0991e27d9c14c1dbb5e1889956a7328159da9dbac082b93b289cc90b28f96a65a" + }, + "tests" : [ + { + "tcId" : 694, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207552d8ce45674b223735b1c2d0946581cd062d494a89f42f58f0ee1bc5c0f318", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680de45fd1e6c38819ae4bdd43d61482752fa43e8138a9a390364cecf36b4ef28b90de2f260f747fee8a963ae308349aa6b816e6be814035cbc68448eae27272", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgN5F/R5sOIGa5L3UPWFIJ1L6Q+\ngTipo5A2TOzza07yi5DeLyYPdH/uipY64wg0mqa4Fua+gUA1y8aESOricnI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "680de45fd1e6c38819ae4bdd43d61482752fa43e8138a9a390364cecf36b4ef2", + "wy" : "08b90de2f260f747fee8a963ae308349aa6b816e6be814035cbc68448eae27272" + }, + "tests" : [ + { + "tcId" : 695, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202a988eeb5d91279714eb150faea4838ede06b16567dc73919515d28ff04a12d7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000452d9e8e7e7a728f24a61ef3713375ade942d708d9bc061f500fd32d493f48fbd0f3883d1a55680f69a0fe6909da55f506e9937837e244e20550019a17ba9c370", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFLZ6OfnpyjySmHvNxM3Wt6ULXCN\nm8Bh9QD9MtST9I+9DziD0aVWgPaaD+aQnaVfUG6ZN4N+JE4gVQAZoXupw3A=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "52d9e8e7e7a728f24a61ef3713375ade942d708d9bc061f500fd32d493f48fbd", + "wy" : "0f3883d1a55680f69a0fe6909da55f506e9937837e244e20550019a17ba9c370" + }, + "tests" : [ + { + "tcId" : 696, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220559801a88f7843ce3f1c73cd7a5787e7a7eeadbcb9c90e71ee64e0dd0a741a63", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a00c60235109352c589563a590d61adbe34d84bddd6e82c2f42efb871527011778035471de3b72ddc3caf6981824aa4ce301405610156deb90ea9aa316a8ba66", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKAMYCNRCTUsWJVjpZDWGtvjTYS9\n3W6CwvQu+4cVJwEXeANUcd47ct3DyvaYGCSqTOMBQFYQFW3rkOqaoxaoumY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a00c60235109352c589563a590d61adbe34d84bddd6e82c2f42efb8715270117", + "wy" : "78035471de3b72ddc3caf6981824aa4ce301405610156deb90ea9aa316a8ba66" + }, + "tests" : [ + { + "tcId" : 697, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202b66568f063d10d73f77a86be8c18522b5c947493bfcc22f1d884a0a4409fc41", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045758f9e402a4bafd82594d0d26ed47a5f8e9c50526d34b34b47d0875b9fe7b1404f3f8095376d54dfc10d83c938a18175a64517e3b464edd058f5b8626d837c5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFdY+eQCpLr9gllNDSbtR6X46cUF\nJtNLNLR9CHW5/nsUBPP4CVN21U38ENg8k4oYF1pkUX47Rk7dBY9bhibYN8U=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5758f9e402a4bafd82594d0d26ed47a5f8e9c50526d34b34b47d0875b9fe7b14", + "wy" : "4f3f8095376d54dfc10d83c938a18175a64517e3b464edd058f5b8626d837c5" + }, + "tests" : [ + { + "tcId" : 698, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203e0275bf9b987118d0e37c350882178d48a5815ec1e547413387cdfce8becf00", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042fa1d8ac0d02da83a998f767bd854b1a043e383d5159e7077e35ed3a9ca8194212d7fb2b95e867ed0b24e45093d639f1fed68162aa51e60ad2e45de012b8e94a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABC+h2KwNAtqDqZj3Z72FSxoEPjg9\nUVnnB3417TqcqBlCEtf7K5XoZ+0LJORQk9Y58f7WgWKqUeYK0uRd4BK46Uo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2fa1d8ac0d02da83a998f767bd854b1a043e383d5159e7077e35ed3a9ca81942", + "wy" : "12d7fb2b95e867ed0b24e45093d639f1fed68162aa51e60ad2e45de012b8e94a" + }, + "tests" : [ + { + "tcId" : 699, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206353c7f3e0a4e33ebf7758dadf2bd9d0841328e13c75e252855f5a2b87c2c78c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043e09805fe499d1bcd7a4388fe03c4bd3eaf6371cdb3e7afd748cde52ae897c0219e65e9b77ef754d77140c20b8c89074950f7e71cbc7d97e0dc879371aa3306c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABD4JgF/kmdG816Q4j+A8S9Pq9jcc\n2z56/XSM3lKuiXwCGeZem3fvdU13FAwguMiQdJUPfnHLx9l+Dch5NxqjMGw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3e09805fe499d1bcd7a4388fe03c4bd3eaf6371cdb3e7afd748cde52ae897c02", + "wy" : "19e65e9b77ef754d77140c20b8c89074950f7e71cbc7d97e0dc879371aa3306c" + }, + "tests" : [ + { + "tcId" : 700, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014899bc6ff5e72338f3c9847fa6531c4337fde3fcf1c8c32f768fba3a402a964", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047e69909dbc544342a5bee9af766347526fea9bea526bd8a2728d80253c01c204a3490b6583c6bf44a3791b61a298dc18be55d3593c24b8a013747f9877f66e61", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH5pkJ28VENCpb7pr3ZjR1Jv6pvq\nUmvYonKNgCU8AcIEo0kLZYPGv0SjeRthopjcGL5V01k8JLigE3R/mHf2bmE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7e69909dbc544342a5bee9af766347526fea9bea526bd8a2728d80253c01c204", + "wy" : "0a3490b6583c6bf44a3791b61a298dc18be55d3593c24b8a013747f9877f66e61" + }, + "tests" : [ + { + "tcId" : 701, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022072655c5e4f1cefca22f413a612e5bfdd7ba9ae71053f68b0c74d9a73590013c3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046be621988af517a22e1549cb23416dc2cf8d8accdd8d083708e6d655f155ccfe8eb87277219356972a3bd0dac5f549ac52315c43e0edea9d6e24f2ff952029d0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGvmIZiK9ReiLhVJyyNBbcLPjYrM\n3Y0INwjm1lXxVcz+jrhydyGTVpcqO9DaxfVJrFIxXEPg7eqdbiTy/5UgKdA=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6be621988af517a22e1549cb23416dc2cf8d8accdd8d083708e6d655f155ccfe", + "wy" : "08eb87277219356972a3bd0dac5f549ac52315c43e0edea9d6e24f2ff952029d0" + }, + "tests" : [ + { + "tcId" : 702, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a2030dbf01d8c9de2900dc3845fda4e4c6bc049c4cd5717a9c629b9ed29d1859", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045ae6afae79752250b1ea02f49cd75aa899418631041172b2e3db31ca7abb2ab22bef1f798389a216b0322419fd7a76e4448b3d1abe425b47d84307e4553ad352", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFrmr655dSJQseoC9JzXWqiZQYYx\nBBFysuPbMcp6uyqyK+8feYOJohawMiQZ/Xp25ESLPRq+QltH2EMH5FU601I=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5ae6afae79752250b1ea02f49cd75aa899418631041172b2e3db31ca7abb2ab2", + "wy" : "2bef1f798389a216b0322419fd7a76e4448b3d1abe425b47d84307e4553ad352" + }, + "tests" : [ + { + "tcId" : 703, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a1db7293b6f01594b808718e61a4d642dff4fee2fb471167ef7ab42959a473e7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000418350252507cc26e4a12bf3e483e02dee74809382c8e640ca635b06c27b51a4e97578f3ef03fae837a178d50a9c94d7af61d6070dd13a72409925ec6b331326c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBg1AlJQfMJuShK/Pkg+At7nSAk4\nLI5kDKY1sGwntRpOl1ePPvA/roN6F41QqclNevYdYHDdE6ckCZJexrMxMmw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "18350252507cc26e4a12bf3e483e02dee74809382c8e640ca635b06c27b51a4e", + "wy" : "097578f3ef03fae837a178d50a9c94d7af61d6070dd13a72409925ec6b331326c" + }, + "tests" : [ + { + "tcId" : 704, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210099bb8d4bcbf1816d31aad88c25c61f1433b08322412c7bd84ed759d01c009127", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040943cc104456d87a712b8aaf7113d43be64404dcd0f8ed707ae3286e3db5323f43862753ab1b05e3f8d425498514caf178a7602ebe43a71ceeec6da14f880e4c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAlDzBBEVth6cSuKr3ET1DvmRATc\n0PjtcHrjKG49tTI/Q4YnU6sbBeP41CVJhRTK8XinYC6+Q6cc7uxtoU+IDkw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0943cc104456d87a712b8aaf7113d43be64404dcd0f8ed707ae3286e3db5323f", + "wy" : "43862753ab1b05e3f8d425498514caf178a7602ebe43a71ceeec6da14f880e4c" + }, + "tests" : [ + { + "tcId" : 705, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022041cee82a6957ef02ab3aa07a3315accc0d0d66c2081d530246d6e681873c90d1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000464931339acdda82764a00229d8d266b131122302fa3eb440cfda72cf81ad554e92ddffa1e7690efc1a4a8408e1e3c5e599aa9811f26d51852c9ceeabdfe5e5c7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGSTEzms3agnZKACKdjSZrExEiMC\n+j60QM/acs+BrVVOkt3/oedpDvwaSoQI4ePF5ZmqmBHybVGFLJzuq9/l5cc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "64931339acdda82764a00229d8d266b131122302fa3eb440cfda72cf81ad554e", + "wy" : "092ddffa1e7690efc1a4a8408e1e3c5e599aa9811f26d51852c9ceeabdfe5e5c7" + }, + "tests" : [ + { + "tcId" : 706, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220746d61572ecae774691e7809121986d9b93279b00934ff1def1f4798da89ad4c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004018d755e5540692f87b6e01864be3cc272a468f3fccdd535cc0c2f1c75e0abd04c7c7155f0e9686de0fcbcf93a39d50c2e2adf8b0362676b31e9a49bdcaadbb7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAGNdV5VQGkvh7bgGGS+PMJypGjz\n/M3VNcwMLxx14KvQTHxxVfDpaG3g/Lz5OjnVDC4q34sDYmdrMemkm9yq27c=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "18d755e5540692f87b6e01864be3cc272a468f3fccdd535cc0c2f1c75e0abd0", + "wy" : "4c7c7155f0e9686de0fcbcf93a39d50c2e2adf8b0362676b31e9a49bdcaadbb7" + }, + "tests" : [ + { + "tcId" : 707, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220281b26a0908968099f8e1f610f4f358318baa21107b791ef6f24cb244677a64b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000453ee3f75ed7275550c4b1604f68fbc4c411006b13da809d5ae6a14cb37bafef57d26222d2d7236b9d7e3ac4225100d68764c37c77b80f24f7c65e579d13d9727", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFPuP3XtcnVVDEsWBPaPvExBEAax\nPagJ1a5qFMs3uv71fSYiLS1yNrnX46xCJRANaHZMN8d7gPJPfGXledE9lyc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "53ee3f75ed7275550c4b1604f68fbc4c411006b13da809d5ae6a14cb37bafef5", + "wy" : "7d26222d2d7236b9d7e3ac4225100d68764c37c77b80f24f7c65e579d13d9727" + }, + "tests" : [ + { + "tcId" : 708, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022046a78fe7c149c67d7eeeb1b5be57b3a1082651c278ebc4a50abeb4570f858f1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000486fd25de250bd6e9c272d4a3e7f28edea934b7f043050b765ab755200f4e2900a2238299783c290a0b4d4f3bfe37645719967000466f29882e895f54c3eb7f8f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIb9Jd4lC9bpwnLUo+fyjt6pNLfw\nQwULdlq3VSAPTikAoiOCmXg8KQoLTU87/jdkVxmWcABGbymILolfVMPrf48=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "086fd25de250bd6e9c272d4a3e7f28edea934b7f043050b765ab755200f4e2900", + "wy" : "0a2238299783c290a0b4d4f3bfe37645719967000466f29882e895f54c3eb7f8f" + }, + "tests" : [ + { + "tcId" : 709, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b55", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041cc2c242a63d44b90f67f35aca9fd5cc0b25d384ee9648a05279d476f9aa748c6cb072f7336cf89f483542721c9ba71197e9bf387299d9807ef7924b9e7c083c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBzCwkKmPUS5D2fzWsqf1cwLJdOE\n7pZIoFJ51Hb5qnSMbLBy9zNs+J9INUJyHJunEZfpvzhymdmAfveSS558CDw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1cc2c242a63d44b90f67f35aca9fd5cc0b25d384ee9648a05279d476f9aa748c", + "wy" : "6cb072f7336cf89f483542721c9ba71197e9bf387299d9807ef7924b9e7c083c" + }, + "tests" : [ + { + "tcId" : 710, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008e305a1cf885ccc330ad0f1b5834a6a783f1948a5d5087d42bb5d47af8243535", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4386d34b899200cdd58ba2faa1d0169da8a5454de50d08a2e7f5362d60f6ec7c5de", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEUzOC4crtvti9+l9IxYvfy3XWgR\nEiuwFs9C5FeYn7Q4bTS4mSAM3Vi6L6odAWnailRU3lDQii5/U2LWD27Hxd4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb438", + "wy" : "6d34b899200cdd58ba2faa1d0169da8a5454de50d08a2e7f5362d60f6ec7c5de" + }, + "tests" : [ + { + "tcId" : 711, + "comment" : "point duplication during verification", + "msg" : "54657374", + "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4383cc69f4281e1cc63843660739c19b2e819e717d3049bf1a8ccb0720db0a68d99", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEUzOC4crtvti9+l9IxYvfy3XWgR\nEiuwFs9C5FeYn7Q4PMafQoHhzGOENmBznBmy6BnnF9MEm/GozLByDbCmjZk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb438", + "wy" : "3cc69f4281e1cc63843660739c19b2e819e717d3049bf1a8ccb0720db0a68d99" + }, + "tests" : [ + { + "tcId" : 712, + "comment" : "duplication bug", + "msg" : "54657374", + "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9011e3712e137ef2319b964c61ba2335399cb49d16f1939ca7f03c37c13bb0f93fdb94d60b34aa9e6919b62c24db2e57a07d593692f8ae924ee37a59f2fcd4e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKkBHjcS4TfvIxm5ZMYbojNTmctJ\n0W8ZOcp/A8N8E7sPk/25TWCzSqnmkZtiwk2y5XoH1ZNpL4rpJO43pZ8vzU4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a9011e3712e137ef2319b964c61ba2335399cb49d16f1939ca7f03c37c13bb0f", + "wy" : "093fdb94d60b34aa9e6919b62c24db2e57a07d593692f8ae924ee37a59f2fcd4e" + }, + "tests" : [ + { + "tcId" : 713, + "comment" : "comparison with point at infinity ", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4487", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004616514d11e2e9b4f63725981f1d33a0e28973bc7719a4cc2969700913cd2f1b16071f71eff21d2bc254fcffede47a53b6b4e041ab97b6350d59485176ec9d72b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGFlFNEeLptPY3JZgfHTOg4olzvH\ncZpMwpaXAJE80vGxYHH3Hv8h0rwlT8/+3kelO2tOBBq5e2NQ1ZSFF27J1ys=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "616514d11e2e9b4f63725981f1d33a0e28973bc7719a4cc2969700913cd2f1b1", + "wy" : "6071f71eff21d2bc254fcffede47a53b6b4e041ab97b6350d59485176ec9d72b" + }, + "tests" : [ + { + "tcId" : 714, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a12c7c13adff626ad31ffb8ba385c3092db1afe4a2a8e887d810a722048164cd8b1f3e67fde9ff0703f1e429f748c847997546ab1850ebc004535dccd453cf81", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKEsfBOt/2Jq0x/7i6OFwwktsa/k\noqjoh9gQpyIEgWTNix8+Z/3p/wcD8eQp90jIR5l1RqsYUOvABFNdzNRTz4E=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a12c7c13adff626ad31ffb8ba385c3092db1afe4a2a8e887d810a722048164cd", + "wy" : "08b1f3e67fde9ff0703f1e429f748c847997546ab1850ebc004535dccd453cf81" + }, + "tests" : [ + { + "tcId" : 715, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVH74NcPaxP2X+EYaFGEdycJ3RRMt7Y5UXB1Uxy8EaZc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262", + "wy" : "547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997" + }, + "tests" : [ + { + "tcId" : 716, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 717, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVXxfpd4T5L6mbcR2iSJvqKvEsRCnOJHTw/XzVfBp6eA=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262", + "wy" : "557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0" + }, + "tests" : [ + { + "tcId" : 718, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 719, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004231ea76f9414e4667265c9750666b38b6e9bde67fb074f78d25e7b1807a45a46182e262b4038cc6868516fbf12bd4dca207c17564e5a049c60b5d5dd09c73d22", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCMep2+UFORmcmXJdQZms4tum95n\n+wdPeNJeexgHpFpGGC4mK0A4zGhoUW+/Er1NyiB8F1ZOWgScYLXV3QnHPSI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "231ea76f9414e4667265c9750666b38b6e9bde67fb074f78d25e7b1807a45a46", + "wy" : "182e262b4038cc6868516fbf12bd4dca207c17564e5a049c60b5d5dd09c73d22" + }, + "tests" : [ + { + "tcId" : 720, + "comment" : "k*G has a large x-coordinate", + "msg" : "54657374", + "sig" : "3036021100e2027b801fc479308ff5399a8825fcce022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 721, + "comment" : "r too large", + "msg" : "54657374", + "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5375022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000485d4be1e69cb9b5a0c3be6fd07576bffa61e9a430b2fa4a80ef860ca6de2a4e58003cfc8de01db91d37dc76d1e3bd95aea47c301f1b987cd2ddaf5e91be77f15", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIXUvh5py5taDDvm/QdXa/+mHppD\nCy+kqA74YMpt4qTlgAPPyN4B25HTfcdtHjvZWupHwwHxuYfNLdr16RvnfxU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "085d4be1e69cb9b5a0c3be6fd07576bffa61e9a430b2fa4a80ef860ca6de2a4e5", + "wy" : "08003cfc8de01db91d37dc76d1e3bd95aea47c301f1b987cd2ddaf5e91be77f15" + }, + "tests" : [ + { + "tcId" : 722, + "comment" : "r,s are large", + "msg" : "54657374", + "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0a4f1e4d84c6bfd203a0ea04d7a9419bcd59b0ff8757609701b61881eda3b79bc84764caa0dd0815ca06fc0b38d7e840eabccf945697438944d5859772aeb4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsKTx5NhMa/0gOg6gTXqUGbzVmw\n/4dXYJcBthiB7aO3m8hHZMqg3QgVygb8CzjX6EDqvM+UVpdDiUTVhZdyrrQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3b0a4f1e4d84c6bfd203a0ea04d7a9419bcd59b0ff8757609701b61881eda3b7", + "wy" : "09bc84764caa0dd0815ca06fc0b38d7e840eabccf945697438944d5859772aeb4" + }, + "tests" : [ + { + "tcId" : 723, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "304402207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02204ab8de0a51481bc45794b924518f2dd6ac5cce31f3228d624c5a896f79a2d6a2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045a40fcf15f9749254ebcc9c8e1fecebb1248f5ce29dddc26702357bedebfa0154e25e19b6b63fe08914f4062c0a564ac5333632f1086415464d671626bc4dc56", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFpA/PFfl0klTrzJyOH+zrsSSPXO\nKd3cJnAjV77ev6AVTiXhm2tj/giRT0BiwKVkrFMzYy8QhkFUZNZxYmvE3FY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5a40fcf15f9749254ebcc9c8e1fecebb1248f5ce29dddc26702357bedebfa015", + "wy" : "4e25e19b6b63fe08914f4062c0a564ac5333632f1086415464d671626bc4dc56" + }, + "tests" : [ + { + "tcId" : 724, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "54657374", + "sig" : "304502207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0221008b1b5f89f5bb74caa42d36e601a9f3c20b4e6c91ceb98a52fbfa9f81781b8a17", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200044ee4aff9868419906d5946b3cc338fa4db92a1d016a5c6c697062d2c39dff57a7a308c37a2610abc9e604666c53495bd4359903e47119570935984b34d118018", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABE7kr/mGhBmQbVlGs8wzj6TbkqHQ\nFqXGxpcGLSw53/V6ejCMN6JhCryeYEZmxTSVvUNZkD5HEZVwk1mEs00RgBg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4ee4aff9868419906d5946b3cc338fa4db92a1d016a5c6c697062d2c39dff57a", + "wy" : "7a308c37a2610abc9e604666c53495bd4359903e47119570935984b34d118018" + }, + "tests" : [ + { + "tcId" : 725, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045ef5efbfaeb5cb4c2c9f8db76cdb6f832adabda8c3a882e99f9ab23d8962b7cb33097ad4f67e9cbb90b8bbd2b71f4554818ac5aeb1f396ac6d49626edd51b0c2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABF7177+utctMLJ+Nt2zbb4Mq2r2o\nw6iC6Z+asj2JYrfLMwl61PZ+nLuQuLvStx9FVIGKxa6x85asbUlibt1RsMI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5ef5efbfaeb5cb4c2c9f8db76cdb6f832adabda8c3a882e99f9ab23d8962b7cb", + "wy" : "33097ad4f67e9cbb90b8bbd2b71f4554818ac5aeb1f396ac6d49626edd51b0c2" + }, + "tests" : [ + { + "tcId" : 726, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020102", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043e8403566c4bd45dc1a3e33ffc44482c103eab150327e52879d91faec4b41ba27fa87129ced313ce073e9772f0d4862d879c39e5d1512e1a47e43303d9ddfb1d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABD6EA1ZsS9RdwaPjP/xESCwQPqsV\nAyflKHnZH67EtBuif6hxKc7TE84HPpdy8NSGLYecOeXRUS4aR+QzA9nd+x0=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3e8403566c4bd45dc1a3e33ffc44482c103eab150327e52879d91faec4b41ba2", + "wy" : "7fa87129ced313ce073e9772f0d4862d879c39e5d1512e1a47e43303d9ddfb1d" + }, + "tests" : [ + { + "tcId" : 727, + "comment" : "small r and s", + "msg" : "54657374", + "sig" : "3006020101020103", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 728, + "comment" : "r is larger than n", + "msg" : "54657374", + "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020103", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000414033c115778c47034a8dcd20912fa3dfa7c68aaf24b5cabc4c8d032f32758f855ec2a8c3033a2a832fc2f496d8fc067547bbffd37e7ea7314bba8a0e2e38bc8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBQDPBFXeMRwNKjc0gkS+j36fGiq\n8ktcq8TI0DLzJ1j4VewqjDAzoqgy/C9JbY/AZ1R7v/035+pzFLuooOLji8g=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "14033c115778c47034a8dcd20912fa3dfa7c68aaf24b5cabc4c8d032f32758f8", + "wy" : "55ec2a8c3033a2a832fc2f496d8fc067547bbffd37e7ea7314bba8a0e2e38bc8" + }, + "tests" : [ + { + "tcId" : 729, + "comment" : "s is larger than n", + "msg" : "54657374", + "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82975b2d2e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048a9fcc60103a2ca5b2c4d88843e224785a2b0540bd89a14d2f320a953aac5d789f2153a664aa7e150c0e267921894696c6cecbaba854457fc42c9d24864a08a1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIqfzGAQOiylssTYiEPiJHhaKwVA\nvYmhTS8yCpU6rF14nyFTpmSqfhUMDiZ5IYlGlsbOy6uoVEV/xCydJIZKCKE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08a9fcc60103a2ca5b2c4d88843e224785a2b0540bd89a14d2f320a953aac5d78", + "wy" : "09f2153a664aa7e150c0e267921894696c6cecbaba854457fc42c9d24864a08a1" + }, + "tests" : [ + { + "tcId" : 730, + "comment" : "small r and s^-1", + "msg" : "54657374", + "sig" : "30260202010202202827370584fdeb9f5d5a9fb9579a09390efb6f9d99b64fc188d8bce05c2d4eed", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200047eb86f8e5d2adf7cc4cbd8849ca3ac811540fd35f60bd691dbc666a894ee6e5c6c1daa6faf62318dc5f1dba736f841bb21af46aa6ac17f78662018d45fbdcc3f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABH64b45dKt98xMvYhJyjrIEVQP01\n9gvWkdvGZqiU7m5cbB2qb69iMY3F8dunNvhBuyGvRqpqwX94ZiAY1F+9zD8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7eb86f8e5d2adf7cc4cbd8849ca3ac811540fd35f60bd691dbc666a894ee6e5c", + "wy" : "6c1daa6faf62318dc5f1dba736f841bb21af46aa6ac17f78662018d45fbdcc3f" + }, + "tests" : [ + { + "tcId" : 731, + "comment" : "smallish r and s^-1", + "msg" : "54657374", + "sig" : "302b02072d9b4d347952cc02204937a087731df4febc2c3a81ddfbab5dc3af950817f41b590d156ed409ad2869", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200041206e3a802f59b8ed707474530c37a8c25efdfb1bcb2cfea3c813b58eb667e1715e78dc70170f2720cf0331432d61148591ebcfc4d20c6a3fd01afd9fa6a9e80", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBIG46gC9ZuO1wdHRTDDeowl79+x\nvLLP6jyBO1jrZn4XFeeNxwFw8nIM8DMUMtYRSFkevPxNIMaj/QGv2fpqnoA=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1206e3a802f59b8ed707474530c37a8c25efdfb1bcb2cfea3c813b58eb667e17", + "wy" : "15e78dc70170f2720cf0331432d61148591ebcfc4d20c6a3fd01afd9fa6a9e80" + }, + "tests" : [ + { + "tcId" : 732, + "comment" : "100-bit r and small s^-1", + "msg" : "54657374", + "sig" : "3032020d1033e67e37b32b445580bf4efc02210091827d03bb6dac31940ba56ed88489048ff173f0bf20cab20dcc086fca37f285", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048a33c9017ba0f19ed44cbdf7c9817024c3f095a899adafdcfe7dd6f51ffef9518c56c09ccfcbe2250838630e26764ba9e1bc1092bccec6135c29f31f617c14ca", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIozyQF7oPGe1Ey998mBcCTD8JWo\nma2v3P591vUf/vlRjFbAnM/L4iUIOGMOJnZLqeG8EJK8zsYTXCnzH2F8FMo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08a33c9017ba0f19ed44cbdf7c9817024c3f095a899adafdcfe7dd6f51ffef951", + "wy" : "08c56c09ccfcbe2250838630e26764ba9e1bc1092bccec6135c29f31f617c14ca" + }, + "tests" : [ + { + "tcId" : 733, + "comment" : "small r and 100 bit s^-1", + "msg" : "54657374", + "sig" : "30260202010202203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a5d5c0efc3901f308bf4251bb0cc2844e5abcee9096d118134fd714d13f2d0308ef80671c71bd6bf6e333325b561b3c0c3d1a4db1ac7ed8b0fe09b3b3253cd56", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKXVwO/DkB8wi/QlG7DMKETlq87p\nCW0RgTT9cU0T8tAwjvgGcccb1r9uMzMltWGzwMPRpNsax+2LD+CbOzJTzVY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a5d5c0efc3901f308bf4251bb0cc2844e5abcee9096d118134fd714d13f2d030", + "wy" : "08ef80671c71bd6bf6e333325b561b3c0c3d1a4db1ac7ed8b0fe09b3b3253cd56" + }, + "tests" : [ + { + "tcId" : 734, + "comment" : "100-bit r and s^-1", + "msg" : "54657374", + "sig" : "3031020d062522bbd3ecbe7c39e93e7c2502203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048aede4648355451e9ac82e480fee5c4c90492d053ece6f77d153878b51e13a4e9c3fd7e229ec77ab92ba6ca57005cb25313b3629d33409b15d34cabe08fec31a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIrt5GSDVUUemsguSA/uXEyQSS0F\nPs5vd9FTh4tR4TpOnD/X4insd6uSumylcAXLJTE7NinTNAmxXTTKvgj+wxo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08aede4648355451e9ac82e480fee5c4c90492d053ece6f77d153878b51e13a4e", + "wy" : "09c3fd7e229ec77ab92ba6ca57005cb25313b3629d33409b15d34cabe08fec31a" + }, + "tests" : [ + { + "tcId" : 735, + "comment" : "r and s^-1 are close to n", + "msg" : "54657374", + "sig" : "3045022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485629022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a3e82d3f4e532da8f2fb627e07436c86923e7bcd3055706250074257fad3f1052d01c6d7e6d065c3b25e4f85d211e060208d7dad38a56bbd397f785ab77820a8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKPoLT9OUy2o8vtifgdDbIaSPnvN\nMFVwYlAHQlf60/EFLQHG1+bQZcOyXk+F0hHgYCCNfa04pWu9OX94Wrd4IKg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a3e82d3f4e532da8f2fb627e07436c86923e7bcd3055706250074257fad3f105", + "wy" : "2d01c6d7e6d065c3b25e4f85d211e060208d7dad38a56bbd397f785ab77820a8" + }, + "tests" : [ + { + "tcId" : 736, + "comment" : "s == 1", + "msg" : "54657374", + "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce4020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 737, + "comment" : "s == 0", + "msg" : "54657374", + "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce4020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004938461391ad301808f26169b23999507de65e9af8af7e1f8e480336765ef4a8b3a858dbd1ef2cca29203ee738dacb20e0c57f1bc77653a0bb4929bc1fc4fe792", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJOEYTka0wGAjyYWmyOZlQfeZemv\nivfh+OSAM2dl70qLOoWNvR7yzKKSA+5zjayyDgxX8bx3ZToLtJKbwfxP55I=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0938461391ad301808f26169b23999507de65e9af8af7e1f8e480336765ef4a8b", + "wy" : "3a858dbd1ef2cca29203ee738dacb20e0c57f1bc77653a0bb4929bc1fc4fe792" + }, + "tests" : [ + { + "tcId" : 738, + "comment" : "point at infinity during verify", + "msg" : "54657374", + "sig" : "3044022054fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b53022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000495d81e1dd9790ff561dc95495371397250466122ef461ebf706de39e1f35929f18736e96131c0cb92c504dc26025db20bd124ece9c5c04182b3f0dd79bbdaa55", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJXYHh3ZeQ/1YdyVSVNxOXJQRmEi\n70Yev3Bt454fNZKfGHNulhMcDLksUE3CYCXbIL0STs6cXAQYKz8N15u9qlU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "095d81e1dd9790ff561dc95495371397250466122ef461ebf706de39e1f35929f", + "wy" : "18736e96131c0cb92c504dc26025db20bd124ece9c5c04182b3f0dd79bbdaa55" + }, + "tests" : [ + { + "tcId" : 739, + "comment" : "u1 == 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce00220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000482fd28b9fad4a324f2f1124c8c3bf4577b6ac6635377d01dc539399dfc48fe8e54435ac2fa06f4e74b8ec7276a185b15419182366e4bee335335a2b87f27a9bc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIL9KLn61KMk8vESTIw79Fd7asZj\nU3fQHcU5OZ38SP6OVENawvoG9OdLjscnahhbFUGRgjZuS+4zUzWiuH8nqbw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "082fd28b9fad4a324f2f1124c8c3bf4577b6ac6635377d01dc539399dfc48fe8e", + "wy" : "54435ac2fa06f4e74b8ec7276a185b15419182366e4bee335335a2b87f27a9bc" + }, + "tests" : [ + { + "tcId" : 740, + "comment" : "u1 == n - 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ec2ca240d708aee13f51f45e3d81caf3abc0a12056c6473f4ac77d06a9243593074913904d9383dc793a752bb29085bebbcbd221080f05137ea2633e00c9f38", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC7CyiQNcIruE/UfRePYHK86vAoS\nBWxkc/Ssd9BqkkNZMHSROQTZOD3Hk6dSuykIW+u8vSIQgPBRN+omM+AMnzg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2ec2ca240d708aee13f51f45e3d81caf3abc0a12056c6473f4ac77d06a924359", + "wy" : "3074913904d9383dc793a752bb29085bebbcbd221080f05137ea2633e00c9f38" + }, + "tests" : [ + { + "tcId" : 741, + "comment" : "u2 == 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000437e96dd49cec4da55325782300d56bad85ceb0bb89a68f489d58b0cab883bdd745684243865d704269ceb1d8682dd370c4b5456ebda33d60dba0c1fba8493db7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDfpbdSc7E2lUyV4IwDVa62FzrC7\niaaPSJ1YsMq4g73XRWhCQ4ZdcEJpzrHYaC3TcMS1RW69oz1g26DB+6hJPbc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "37e96dd49cec4da55325782300d56bad85ceb0bb89a68f489d58b0cab883bdd7", + "wy" : "45684243865d704269ceb1d8682dd370c4b5456ebda33d60dba0c1fba8493db7" + }, + "tests" : [ + { + "tcId" : 742, + "comment" : "u2 == n - 1", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022071523a926bf4712829995c6069025e4bb2d0fc6d23966f4fb5695f01ba3039c7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049f787c4b132b722d1c5a34042e8587d001b379a0f884bff21335a91e7e393b798a1c1eaf1520068b6e891222a434e9c61f3490fffdd855e4f54765105a6fccd6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJ94fEsTK3ItHFo0BC6Fh9ABs3mg\n+IS/8hM1qR5+OTt5ihwerxUgBotuiRIipDTpxh80kP/92FXk9UdlEFpvzNY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "09f787c4b132b722d1c5a34042e8587d001b379a0f884bff21335a91e7e393b79", + "wy" : "08a1c1eaf1520068b6e891222a434e9c61f3490fffdd855e4f54765105a6fccd6" + }, + "tests" : [ + { + "tcId" : 743, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022054635633127665edff4996c3232c0589e44acce6fb989885a1b92da58cd43c44", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000485b0ab50fcd2814f9e98712fd08bf77e95b95fa0a3203b14e9d64511f498dd535af793c11e554ce787e6e44037ce1449ef4eca6f1087e72b809e128fed50c1e7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIWwq1D80oFPnphxL9CL936VuV+g\noyA7FOnWRRH0mN1TWveTwR5VTOeH5uRAN84USe9Oym8Qh+crgJ4Sj+1Qwec=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "085b0ab50fcd2814f9e98712fd08bf77e95b95fa0a3203b14e9d64511f498dd53", + "wy" : "5af793c11e554ce787e6e44037ce1449ef4eca6f1087e72b809e128fed50c1e7" + }, + "tests" : [ + { + "tcId" : 744, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220028eb8f6fb8e5a3833700b5687f17948beeecf7c73aa9c14430ef3ca01602036", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000482958c572d5b3db6e18567361b715b1e3aea2a399f0a3c0723fa7f39ac6ec997201815b8ab4412a36334844afb6b407290240282b4036112ddf61f281057c862", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIKVjFctWz224YVnNhtxWx466io5\nnwo8ByP6fzmsbsmXIBgVuKtEEqNjNIRK+2tAcpAkAoK0A2ES3fYfKBBXyGI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "082958c572d5b3db6e18567361b715b1e3aea2a399f0a3c0723fa7f39ac6ec997", + "wy" : "201815b8ab4412a36334844afb6b407290240282b4036112ddf61f281057c862" + }, + "tests" : [ + { + "tcId" : 745, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207c04eb7f3730e231a1c6f86a11042f1a914b02bd83ca8e82670f9bf9d17d9e00", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043269930ec284341b0d34ffaa187f69ca4d1599daa85ff7c2ef069d75d62a2e189eb2b5ed183a18c369626e4eff08f42fb9d3286de2bcdb7c145507bd57e37a78", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDJpkw7ChDQbDTT/qhh/acpNFZna\nqF/3wu8GnXXWKi4YnrK17Rg6GMNpYm5O/wj0L7nTKG3ivNt8FFUHvVfjeng=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3269930ec284341b0d34ffaa187f69ca4d1599daa85ff7c2ef069d75d62a2e18", + "wy" : "09eb2b5ed183a18c369626e4eff08f42fb9d3286de2bcdb7c145507bd57e37a78" + }, + "tests" : [ + { + "tcId" : 746, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203b3b272686d138084988ae23089d57b574fbabe983e1de35694442c2b9660070", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ebdb7c2caec4073589afde56e0f7ecd8983fcc80eac1450af82dca4328c9b7198509d877261e2f71b05059e71f9f81fe91466e51ea1b8621407ce182ffadb45", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC69t8LK7EBzWJr95W4Pfs2Jg/zI\nDqwUUK+C3KQyjJtxmFCdh3Jh4vcbBQWecfn4H+kUZuUeobhiFAfOGC/620U=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2ebdb7c2caec4073589afde56e0f7ecd8983fcc80eac1450af82dca4328c9b71", + "wy" : "098509d877261e2f71b05059e71f9f81fe91466e51ea1b8621407ce182ffadb45" + }, + "tests" : [ + { + "tcId" : 747, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202e67ab256e246048b8154c6bd12de75f1657f9b20e8da09beca149a517cbfb1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042bb609b2926d816280a8104377abab010feb15a0c537081bdf3d5152ce94e5765a84ed06d11a4bfddfdc5465b1c0e4f891119cdcbaaad52eee39b046afb2c6cb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCu2CbKSbYFigKgQQ3erqwEP6xWg\nxTcIG989UVLOlOV2WoTtBtEaS/3f3FRlscDk+JERnNy6qtUu7jmwRq+yxss=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2bb609b2926d816280a8104377abab010feb15a0c537081bdf3d5152ce94e576", + "wy" : "5a84ed06d11a4bfddfdc5465b1c0e4f891119cdcbaaad52eee39b046afb2c6cb" + }, + "tests" : [ + { + "tcId" : 748, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205ccf564adc48c091702a98d7a25bcebe2caff3641d1b4137d942934a2f97f636", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045c52ce74f8178b363464f21ad35af0e4eb944c64006590b00d1f110ce66d19b696777c5dd01e7c522bccd704adeb236697617ef70b2ba24a7b8e19b02fc1dd88", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFxSznT4F4s2NGTyGtNa8OTrlExk\nAGWQsA0fEQzmbRm2lnd8XdAefFIrzNcEresjZpdhfvcLK6JKe44ZsC/B3Yg=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5c52ce74f8178b363464f21ad35af0e4eb944c64006590b00d1f110ce66d19b6", + "wy" : "096777c5dd01e7c522bccd704adeb236697617ef70b2ba24a7b8e19b02fc1dd88" + }, + "tests" : [ + { + "tcId" : 749, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221008197dc78d6ccee9677df5d99f382c80c19dd0d78babbb86810d8398b0c911414", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ffe3a34411ff56f7c7de85601cf4a07bfb39623ef660ceb0ab4493be8911362735028764c6e7812195d792ebc7e5954755f3e35c28467f72a7890bbbf403f7f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC/+OjRBH/VvfH3oVgHPSge/s5Yj\n72YM6wq0STvokRNic1AodkxueBIZXXkuvH5ZVHVfPjXChGf3KniQu79AP38=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2ffe3a34411ff56f7c7de85601cf4a07bfb39623ef660ceb0ab4493be8911362", + "wy" : "735028764c6e7812195d792ebc7e5954755f3e35c28467f72a7890bbbf403f7f" + }, + "tests" : [ + { + "tcId" : 750, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207552d8ce45674b223735b1c2d0946581cd062d494a89f42f58f0ee1bc5c0f318", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000464aa0c89a2b612b682080395da8601d8d19cd7ca163c01ee8d012ddace8e82ec4114ff212a262a25f7983ef1caa8fc5c781a06462c7f556e69f164aaf9ec0f40", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGSqDImithK2gggDldqGAdjRnNfK\nFjwB7o0BLdrOjoLsQRT/ISomKiX3mD7xyqj8XHgaBkYsf1VuafFkqvnsD0A=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "64aa0c89a2b612b682080395da8601d8d19cd7ca163c01ee8d012ddace8e82ec", + "wy" : "4114ff212a262a25f7983ef1caa8fc5c781a06462c7f556e69f164aaf9ec0f40" + }, + "tests" : [ + { + "tcId" : 751, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202a988eeb5d91279714eb150faea4838ede06b16567dc73919515d28ff04a12d7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000480af66c253b93acb4d5c06d22fba4dfec149d243af9fad96b9b0ab792ba38c4f171eb35aee0ad693d6ac63adf2813840f13e6432cb498ad9eb0356f6abe7d503", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABICvZsJTuTrLTVwG0i+6Tf7BSdJD\nr5+tlrmwq3kro4xPFx6zWu4K1pPWrGOt8oE4QPE+ZDLLSYrZ6wNW9qvn1QM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "080af66c253b93acb4d5c06d22fba4dfec149d243af9fad96b9b0ab792ba38c4f", + "wy" : "171eb35aee0ad693d6ac63adf2813840f13e6432cb498ad9eb0356f6abe7d503" + }, + "tests" : [ + { + "tcId" : 752, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220559801a88f7843ce3f1c73cd7a5787e7a7eeadbcb9c90e71ee64e0dd0a741a63", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000420d1a06bd6fda62e0a9ee8be88681234d04a519a44b25a8515746c44aad5787226d00ef3ec03a34b07efbbf1185bc6ce1f30ed780812dcebefe046fc9be6d9dc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCDRoGvW/aYuCp7ovohoEjTQSlGa\nRLJahRV0bESq1XhyJtAO8+wDo0sH77vxGFvGzh8w7XgIEtzr7+BG/Jvm2dw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "20d1a06bd6fda62e0a9ee8be88681234d04a519a44b25a8515746c44aad57872", + "wy" : "26d00ef3ec03a34b07efbbf1185bc6ce1f30ed780812dcebefe046fc9be6d9dc" + }, + "tests" : [ + { + "tcId" : 753, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202b66568f063d10d73f77a86be8c18522b5c947493bfcc22f1d884a0a4409fc41", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049b3fc0ecd0fc126fa2c539e0f0b1eb3228829664c841775a4d35032500a8a04522de521356799e53e43a4f5a62ddfc98aae4a3cb9f0ae2096224df1e84e90dd6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJs/wOzQ/BJvosU54PCx6zIogpZk\nyEF3Wk01AyUAqKBFIt5SE1Z5nlPkOk9aYt38mKrko8ufCuIJYiTfHoTpDdY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "09b3fc0ecd0fc126fa2c539e0f0b1eb3228829664c841775a4d35032500a8a045", + "wy" : "22de521356799e53e43a4f5a62ddfc98aae4a3cb9f0ae2096224df1e84e90dd6" + }, + "tests" : [ + { + "tcId" : 754, + "comment" : "edge case for u1", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203e0275bf9b987118d0e37c350882178d48a5815ec1e547413387cdfce8becf00", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004265900656b73d7f3023419513d3809a9f7553280756451a4f5b9696f4ec4630b8b4ab325d5fa8831b16699993dc49cc87db870fd1789869614653b38e0c74219", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCZZAGVrc9fzAjQZUT04Can3VTKA\ndWRRpPW5aW9OxGMLi0qzJdX6iDGxZpmZPcScyH24cP0XiYaWFGU7OODHQhk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "265900656b73d7f3023419513d3809a9f7553280756451a4f5b9696f4ec4630b", + "wy" : "08b4ab325d5fa8831b16699993dc49cc87db870fd1789869614653b38e0c74219" + }, + "tests" : [ + { + "tcId" : 755, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009bfce53d169f1bd2d444070b13ad08f65d7ba717ce4119fa601409ac64dae46e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042c26be9c36920f0066ec7816cf910e99cff1ed2a4f76f2762a8a9bb2312247152f594f09d6ac32cf0b761eea8a29ba67511765ffc5c67ca093e92a09171b4e4a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCwmvpw2kg8AZux4Fs+RDpnP8e0q\nT3bydiqKm7IxIkcVL1lPCdasMs8Ldh7qiim6Z1EXZf/Fxnygk+kqCRcbTko=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2c26be9c36920f0066ec7816cf910e99cff1ed2a4f76f2762a8a9bb231224715", + "wy" : "2f594f09d6ac32cf0b761eea8a29ba67511765ffc5c67ca093e92a09171b4e4a" + }, + "tests" : [ + { + "tcId" : 756, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022073cc15985005002b760de9b44659915f135c8ab1915ba5c83b2c80b6c1a82969", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040cde1d4275e01f57e5a78968b6da29d704b12d7ee15ffdbf67edb53937f575504c95a2f102571f765c509a89ac7a6ced5fede55b339eed9032f49bd627f75280", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABAzeHUJ14B9X5aeJaLbaKdcEsS1+\n4V/9v2fttTk39XVQTJWi8QJXH3ZcUJqJrHps7V/t5Vsznu2QMvSb1if3UoA=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0cde1d4275e01f57e5a78968b6da29d704b12d7ee15ffdbf67edb53937f57550", + "wy" : "4c95a2f102571f765c509a89ac7a6ced5fede55b339eed9032f49bd627f75280" + }, + "tests" : [ + { + "tcId" : 757, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202734eb40a83223e55a56bdd25adaa186476696d438be1c46a9a8c442bc7a8b3f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043795af819ed2bafdc708718f4f0b10c1362ae0210bd7c63c4f243ca7ce725e8927952b02af7554f50f4e0c71150b6a03c864479bfeca00a799a13212288c1c01", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDeVr4Ge0rr9xwhxj08LEME2KuAh\nC9fGPE8kPKfOcl6JJ5UrAq91VPUPTgxxFQtqA8hkR5v+ygCnmaEyEiiMHAE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3795af819ed2bafdc708718f4f0b10c1362ae0210bd7c63c4f243ca7ce725e89", + "wy" : "27952b02af7554f50f4e0c71150b6a03c864479bfeca00a799a13212288c1c01" + }, + "tests" : [ + { + "tcId" : 758, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009f5af50acc7c29e9a1df221ad37bacb5da3cdd447f515fa64b241ffd910eae3f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000459dcdf8fd82ad6aacf29c588ffdf9aeab54c89f6729cdc0c286d5c115bb5309071d4aec02802a39e801f793e87c96dfb7ff414adb24e609fd811835e5947bbb4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFnc34/YKtaqzynFiP/fmuq1TIn2\ncpzcDChtXBFbtTCQcdSuwCgCo56AH3k+h8lt+3/0FK2yTmCf2BGDXllHu7Q=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "59dcdf8fd82ad6aacf29c588ffdf9aeab54c89f6729cdc0c286d5c115bb53090", + "wy" : "71d4aec02802a39e801f793e87c96dfb7ff414adb24e609fd811835e5947bbb4" + }, + "tests" : [ + { + "tcId" : 759, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009f262626689b3c3235e93e8da30543ddfbde2af812938a380f4440b645187da7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004133904e1f94786758e63ddf382bd25b59793ce16e81dc33f794e9581cde8da644a099fe3b67dace481cae93f0ae7ece905e5ff3b411c0a6a2db4e20a228fe61f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBM5BOH5R4Z1jmPd84K9JbWXk84W\n6B3DP3lOlYHN6NpkSgmf47Z9rOSByuk/Cufs6QXl/ztBHApqLbTiCiKP5h8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "133904e1f94786758e63ddf382bd25b59793ce16e81dc33f794e9581cde8da64", + "wy" : "4a099fe3b67dace481cae93f0ae7ece905e5ff3b411c0a6a2db4e20a228fe61f" + }, + "tests" : [ + { + "tcId" : 760, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009450f4712f47cea82d6c728aa886fa4a6b82db4c6fc56d788e6a72e9f2e8a4a7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046d36cf5d643e4c77be28a30ef74d5016c5dfcba4f181467a0d8d419c28c0e9010f09dad5ab90679b3baf6cce79d8d87c07005a868133dcc898da81c2c760ae55", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABG02z11kPkx3viijDvdNUBbF38uk\n8YFGeg2NQZwowOkBDwna1auQZ5s7r2zOedjYfAcAWoaBM9zImNqBwsdgrlU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6d36cf5d643e4c77be28a30ef74d5016c5dfcba4f181467a0d8d419c28c0e901", + "wy" : "0f09dad5ab90679b3baf6cce79d8d87c07005a868133dcc898da81c2c760ae55" + }, + "tests" : [ + { + "tcId" : 761, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02201f156d9a2bd05b6f7a2c27c80f9bb73f8d540acc23b13705d91483d681e34edf", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004346a4c284d5f5aab6577fa8eaab3f465bd8dc99f91c0fc327d0dcf9f330293c24acc9f6c82b403b78f97b31e5f5ebadee52429716a3bd484478497ae649d2e66", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDRqTChNX1qrZXf6jqqz9GW9jcmf\nkcD8Mn0Nz58zApPCSsyfbIK0A7ePl7MeX1663uUkKXFqO9SER4SXrmSdLmY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "346a4c284d5f5aab6577fa8eaab3f465bd8dc99f91c0fc327d0dcf9f330293c2", + "wy" : "4acc9f6c82b403b78f97b31e5f5ebadee52429716a3bd484478497ae649d2e66" + }, + "tests" : [ + { + "tcId" : 762, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022033d58cc129940d5af53f5f8a6fd82d430e26df908bf649e8d1f5235cfd35de4a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046af61f84384de5591090cb3b6d8c592094f3702c2401eee392c920a43e927390a87f47a6d5db9e88ac2001e1843a3ce4c664bc33aedccef5f104f3d38501ca92", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGr2H4Q4TeVZEJDLO22MWSCU83As\nJAHu45LJIKQ+knOQqH9HptXbnoisIAHhhDo85MZkvDOu3M718QTz04UBypI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6af61f84384de5591090cb3b6d8c592094f3702c2401eee392c920a43e927390", + "wy" : "0a87f47a6d5db9e88ac2001e1843a3ce4c664bc33aedccef5f104f3d38501ca92" + }, + "tests" : [ + { + "tcId" : 763, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02201ea9a1bf078a5e9b9c16ad03b139ada7747e8d07ef6b08a8cab1588ecc48f6d0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046c98913484d659ac8bb2d2dec96505eadca3b1d9703a71c558655b8a9f3513c66f905ec936941a5798720c32847c2166a91e875f66d1949b9bfc9b3a7217c80a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGyYkTSE1lmsi7LS3sllBerco7HZ\ncDpxxVhlW4qfNRPGb5BeyTaUGleYcgwyhHwhZqkeh19m0ZSbm/ybOnIXyAo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6c98913484d659ac8bb2d2dec96505eadca3b1d9703a71c558655b8a9f3513c6", + "wy" : "6f905ec936941a5798720c32847c2166a91e875f66d1949b9bfc9b3a7217c80a" + }, + "tests" : [ + { + "tcId" : 764, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02200dfe729e8b4f8de96a22038589d6847b2ebdd38be7208cfd300a04d6326d7239", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040c30a40dbad124c50fc8b4000a51545523384fdc0cdc267cf734f65fb55902fd4630e4eaed17c12345efc9c8b5de7fc04271bf65ede03ee3df4668a9619d935f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABAwwpA260STFD8i0AApRVFUjOE/c\nDNwmfPc09l+1WQL9RjDk6u0XwSNF78nItd5/wEJxv2Xt4D7j30ZoqWGdk18=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0c30a40dbad124c50fc8b4000a51545523384fdc0cdc267cf734f65fb55902fd", + "wy" : "4630e4eaed17c12345efc9c8b5de7fc04271bf65ede03ee3df4668a9619d935f" + }, + "tests" : [ + { + "tcId" : 765, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022069fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046ca3fc25839a95af403e37794bad8a08e0f87fceb7ac68468704284807f65601681f87c95a55f1e210fe96f2d89c330b45fa034006c5280ce5c1770f091138b6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGyj/CWDmpWvQD43eUutigjg+H/O\nt6xoRocEKEgH9lYBaB+HyVpV8eIQ/pby2JwzC0X6A0AGxSgM5cF3DwkROLY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6ca3fc25839a95af403e37794bad8a08e0f87fceb7ac68468704284807f65601", + "wy" : "681f87c95a55f1e210fe96f2d89c330b45fa034006c5280ce5c1770f091138b6" + }, + "tests" : [ + { + "tcId" : 766, + "comment" : "edge case for u2", + "msg" : "54657374", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206898218e251066d0cc5e64317c2f177be9d008bbf70fe19f1ce36962a9e170f3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254471c1b4633bf35e53fcfdd6ec8bd1d30e94d342809e19e651ea265b9b09b7240c1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsNMeTsOfGUFG4/6WSLuk5s2dXK\nX43RMEzewNOWslRHHBtGM7815T/P3W7IvR0w6U00KAnhnmUeomW5sJtyQME=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b25447", + "wy" : "1c1b4633bf35e53fcfdd6ec8bd1d30e94d342809e19e651ea265b9b09b7240c1" + }, + "tests" : [ + { + "tcId" : 767, + "comment" : "point duplication during verification", + "msg" : "54657374", + "sig" : "304402205b22974296c093fcc9930e14215bb19875a7d1efb2efe0154d4e6196ddb34d44022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254478de011a7e2b8c47c6e889bc7e0665c892107ce19f387bb097dad8e6c83fc12b6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsNMeTsOfGUFG4/6WSLuk5s2dXK\nX43RMEzewNOWslRHjeARp+K4xHxuiJvH4GZciSEHzhnzh7sJfa2ObIP8ErY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b25447", + "wy" : "08de011a7e2b8c47c6e889bc7e0665c892107ce19f387bb097dad8e6c83fc12b6" + }, + "tests" : [ + { + "tcId" : 768, + "comment" : "duplication bug", + "msg" : "54657374", + "sig" : "304402205b22974296c093fcc9930e14215bb19875a7d1efb2efe0154d4e6196ddb34d44022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000452987319644a827a6d82083352487688f33e2095faeacbc83ec9c4e53e0338f115b7ed0718c3b21da8ae42a0b3735eb4fc7fdadbec883f3545698bd3305c0843", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFKYcxlkSoJ6bYIIM1JIdojzPiCV\n+urLyD7JxOU+AzjxFbftBxjDsh2orkKgs3NetPx/2tvsiD81RWmL0zBcCEM=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "52987319644a827a6d82083352487688f33e2095faeacbc83ec9c4e53e0338f1", + "wy" : "15b7ed0718c3b21da8ae42a0b3735eb4fc7fdadbec883f3545698bd3305c0843" + }, + "tests" : [ + { + "tcId" : 769, + "comment" : "comparison with point at infinity ", + "msg" : "54657374", + "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4487", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200041d30cc1c88b587fe248d14ae8391e2204517611dacd43eea92795327d3e177487f90837130c328b9396d81061094e9741d07578ad937e12b45551463866c8367", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABB0wzByItYf+JI0UroOR4iBFF2Ed\nrNQ+6pJ5UyfT4XdIf5CDcTDDKLk5bYEGEJTpdB0HV4rZN+ErRVUUY4Zsg2c=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1d30cc1c88b587fe248d14ae8391e2204517611dacd43eea92795327d3e17748", + "wy" : "7f90837130c328b9396d81061094e9741d07578ad937e12b45551463866c8367" + }, + "tests" : [ + { + "tcId" : 770, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "30450221008338427c7cf4d11cb981d9b18793e3779c494c502c75bd739e578de2a700578d022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042d373920bf3f9957e92d328be30b9c3ef5da0def50544577194d167ff55e55fd51d21be506e0aa233fad3869d197e4474d2a9039850c229ab772e510c06b20d5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC03OSC/P5lX6S0yi+MLnD712g3v\nUFRFdxlNFn/1XlX9UdIb5QbgqiM/rThp0ZfkR00qkDmFDCKat3LlEMBrINU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2d373920bf3f9957e92d328be30b9c3ef5da0def50544577194d167ff55e55fd", + "wy" : "51d21be506e0aa233fad3869d197e4474d2a9039850c229ab772e510c06b20d5" + }, + "tests" : [ + { + "tcId" : 771, + "comment" : "extreme value for k", + "msg" : "54657374", + "sig" : "3045022100a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKPo6zzBz+e3cyITsjplYUmvoULE\neq+8K3mhkVYuEwX0LZlsgjQ5xW1/eyLhRkRBfmm8tt450CcAHavo81slyb4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4", + "wy" : "2d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be" + }, + "tests" : [ + { + "tcId" : 772, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 773, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f47c61eb596db4e44ebeeae7af573f4bf4047f3f459b55f92802675f29c44889b9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKPo6zzBz+e3cyITsjplYUmvoULE\neq+8K3mhkVYuEwX0fGHrWW205E6+6uevVz9L9AR/P0WbVfkoAmdfKcRIibk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4", + "wy" : "7c61eb596db4e44ebeeae7af573f4bf4047f3f459b55f92802675f29c44889b9" + }, + "tests" : [ + { + "tcId" : 774, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 775, + "comment" : "testing point duplication", + "msg" : "54657374", + "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf386224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLIezUjMRvswbtVOiK22FSCEV70l\nfn6dgdtb0fVhAKeuuxOGRlUHu/OGIkyzg4FeG6vlYdy29JrwBz4b/aNmBm72JED8\ngd7H7KAhywwFCR37\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf3", + "wy" : "086224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb" + }, + "tests" : [ + { + "tcId" : 776, + "comment" : "k*G has a large x-coordinate", + "msg" : "313233343030", + "sig" : "30420215014064fb4c224a8b248a0d933f7642bd56aced9b12022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 777, + "comment" : "r too large", + "msg" : "313233343030", + "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e23022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200049c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf179001e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJyXAd4v/bKW5tVqXzwYnsuw5ESO\nOO1l2kbuqlGns05lCpHalfrxeQAeCpilmFI6NMSRjUGA+H1kHkYmzhH6OiRKv7JF\nBzZpPThlIwkkDr2p\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "09c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf17900", + "wy" : "1e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9" + }, + "tests" : [ + { + "tcId" : 778, + "comment" : "r,s are large", + "msg" : "313233343030", + "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee427538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLbw3cg074pnkDaB6gK3iPz/gtEj\nB8jD9KRLMNfF9hTa/MmoOZkfjuQnU44wrlECsgQ5V91hJPujobYBwEvdr2ySn/3y\n93lv1wmMOH28Cyb7\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee4", + "wy" : "27538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb" + }, + "tests" : [ + { + "tcId" : 779, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "305502287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0229008c0736554dbc446063e8e15f297fd4b66fa8879945bbb5c22714a9645f4fa4ef9d710eafa6b226d8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96fb52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABG30QyHUpfavY+AbebtgjqBKxvNf\neVBEoE/0APVH/TTZt4wSxFl4+W+1KQHOzkiqtDLD29y8DicLLMm5kVzB/7aaNl2E\nw5GGxIF3OHqp7gpI\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "6df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96f", + "wy" : "0b52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48" + }, + "tests" : [ + { + "tcId" : 780, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "305402287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02285407cdd593acb501fc2848351f9d2e6b5457d3de43c3130e3b74e6a9242b3cce1c24f094f118bcd6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE5JbwVqtdB/llYsaDZDRA4x/qJt\nNebFtp7vqkEH00XIB78nny6ia2AohTl2b8cmy56EHbXc+7t5LK3jwe9ktp3L2n9e\nSXtFWpEc4vDrysqt\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "4e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60", + "wy" : "288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad" + }, + "tests" : [ + { + "tcId" : 781, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000411e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af43f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBHglPRwlI5OqmqhP6tOBjOG6Rpj\nj6Im2YjQaT3qcZypX2Hkk+mDWvQ/Uz6JqiCFqfgSEIaiWX8QYPc8jXXWaUDlDurX\nPf0DxHbqGUfN1N0/\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "11e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af4", + "wy" : "3f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f" + }, + "tests" : [ + { + "tcId" : 782, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020102", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000416517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb9f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBZRen176rZHLqj2vCBBKjzZbSQs\nJGzp+YOy7wiyhM+tGsKFY7Vu2vufVv4t94wjmqFsPDGLyRkaFuxAenADVBc/i4Yt\nmgqhDWc5fybnycC+\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "16517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb", + "wy" : "09f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be" + }, + "tests" : [ + { + "tcId" : 783, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020103", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 784, + "comment" : "r is larger than n", + "msg" : "313233343030", + "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312020103", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABDomaLwJYU0mOO1Y8cQhu2Hy1Jmo\nb+fVc70TkqzvnilrHvKxDX9OxSTRt46ycWzmaAVNKWd8b00yNfJ9OpKV7O+d39L2\nWLoAIFLQ4eZxch4u\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "3a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524", + "wy" : "0d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e" + }, + "tests" : [ + { + "tcId" : 785, + "comment" : "s is larger than n", + "msg" : "313233343030", + "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44d86998", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c84b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0Wl8bhB/PZC430Yus2i3XrpYVj\nWVAXfgpksa1L5SfJCVf73yA9Z8hLAD8g6BZZCZt+RmYY8mEMbx3zFbIBHbB7kPNm\nK1FWH//fPrtdRDRA\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c8", + "wy" : "4b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440" + }, + "tests" : [ + { + "tcId" : 786, + "comment" : "small r and s^-1", + "msg" : "313233343030", + "sig" : "302e02020100022821494db879806d4f59e53d4963977a03f6ec51140c9f9a1dba8857ff3bbc76d2214947e60edc982b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLHjYZ2eNYc+lZu33ndA6Sfjy3/P\nRBO/277XLsyahqUNcCnK4I7ChatIa10vfJuTFEILyGTP4ptAZL97kiu7W7zRbzqB\n6n0KYbCgmmKVm3aQ\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab", + "wy" : "486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690" + }, + "tests" : [ + { + "tcId" : 787, + "comment" : "smallish r and s^-1", + "msg" : "313233343030", + "sig" : "303302072d9b4d347952cc022843becc876a63564b458280199e382cbad8ef68d406665bbf307ffea45845a9ac69345a84a5a72b87", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000497cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJfP66tYilQkKk2WLvgDN2w/Qwea\npQqIcdbndvegszrqRquaLaY6M9jIGvNK8umgxXHv+1AcSif9Ku3BNiNEevK8i21e\ncgjCPofi15fMPPV+\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "097cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8", + "wy" : "0c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e" + }, + "tests" : [ + { + "tcId" : 788, + "comment" : "100-bit r and small s^-1", + "msg" : "313233343030", + "sig" : "3039020d1033e67e37b32b445580bf4efc02283992353d916617b49303856488e39fbc26173b8bc426f8207de3d8f1b97f3d12c803b99d57768fa7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCluAGeUfvwHoGriGPsAFk0evrzT\neH95NIFAfieWJI6LZerFfbDBRgZynoCUuaVO6sI9mNUdZi7/LfM6hpMAj9AqBCnv\naFHsvc2TqsZ8L722\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606", + "wy" : "729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6" + }, + "tests" : [ + { + "tcId" : 789, + "comment" : "small r and 100 bit s^-1", + "msg" : "313233343030", + "sig" : "302f0202010002290084380881b243236967227191398a3a4909000425576c79465bdaaa0a03267b9e48f68fa0a68b29e3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a6851cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKN4OwFFXZIID1INFx+Sq+r0jHI4\n4Wiykx8rMi+cD6ppokCXg2ywpoUcvxoiusJDdVEkRgVoLavN1M85/50IRDkhyZRI\ny86l3rha2VLbsrln\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a685", + "wy" : "1cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967" + }, + "tests" : [ + { + "tcId" : 790, + "comment" : "100-bit r and s^-1", + "msg" : "313233343030", + "sig" : "303a020d062522bbd3ecbe7c39e93e7c2402290084380881b243236967227191398a3a4909000425576c79465bdaaa0a03267b9e48f68fa0a68b29e3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000470d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHDV/UHEFtW3zby5RCBb1p/wDtY1\nSqUCdX4InLGa9vd3vrD2khwPr6wirnzGXg57YXQjdQuEk6WFEuN5wA3mJsF/fIK/\nyQfyZhCj8eTRMsV1\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "70d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac", + "wy" : "22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575" + }, + "tests" : [ + { + "tcId" : 791, + "comment" : "r and s^-1 are close to n", + "msg" : "313233343030", + "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592940229008ce984c0247d8a7a9628503f36abeaeea65fdfc3cf0a0c6cc8dac9da9f043b4659b638e7832e620b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAaCjOY/Ow1pTOKZnQaUf6ni0cGK\nuAMmUvp6mMZ4z2uyxS5zaQheTvfFbfaRKJYvvvwq7xs/bEZ7cvwwWs9RszlkPKLt\na95WMXxM9ZiVkj3t\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "6828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7", + "wy" : "0c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded" + }, + "tests" : [ + { + "tcId" : 792, + "comment" : "s == 1", + "msg" : "313233343030", + "sig" : "302d02284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 793, + "comment" : "s == 0", + "msg" : "313233343030", + "sig" : "302d02284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCAlFq1mN3XxIVVSEHkDfz/KUMZP\nqkr9iGrdTaq5J/P2KqLa5oSmNdZjKu3VMOYdqzWRaWLujyPtaIGYr9WtawcF4u+d\nC6PFMzsVvatDLuNC\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6", + "wy" : "632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342" + }, + "tests" : [ + { + "tcId" : 794, + "comment" : "point at infinity during verify", + "msg" : "313233343030", + "sig" : "3054022869af23901b5e27dbf09e3c2f6900f032fcc7e7d2db47895196a41763f7432c74c348aaada262c98802284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c9b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGtDJxF+nATXpYJZxSB6NujSeOhz\nuStbOnCjxHQsxYO0FAiqqyOhKpybCyYWDFSKus1/Djcnb5F8CXIbOETQsm6e1cds\nmXh5kiWb8PewJEXT\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "6b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c", + "wy" : "09b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3" + }, + "tests" : [ + { + "tcId" : 795, + "comment" : "u1 == 1", + "msg" : "313233343030", + "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb700", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d77202282d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCd/SH+vd6Zdu3kVNuhjuMcPkE/N\nyvUnQNS9XEaXMeWOpr1T6NdyAigtNG8rTKe6y4gv73ScJxPxp18Agn6Lm590Sg4e\nNLz4B5mhIJUN6V2Z\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d7720228", + "wy" : "2d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99" + }, + "tests" : [ + { + "tcId" : 796, + "comment" : "u1 == n - 1", + "msg" : "313233343030", + "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f22", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000473bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334baec1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHO9YvO7Mp1lCStdE8V0bUYkAdJg\nCZTY/i7F71ufM5kISx3cZMszS67B0axPmgwqee98zErpFl3fp2E4I1cYzyQDLDP5\n20omsrA2kqVvUgLr\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "73bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334bae", + "wy" : "0c1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb" + }, + "tests" : [ + { + "tcId" : 797, + "comment" : "u2 == 1", + "msg" : "313233343030", + "sig" : "305402284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c197310502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000420a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCCnVVEDXbldehpnPUZNJ22ghhAI\n5GRMWCvBChvurrBwgj/QZKJiXrtdR/DHf8V+O7DhU7vH6bvejbmLDEbFgVSvW5eG\nsQuhKrO6hTOjmSiD\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "20a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb", + "wy" : "5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883" + }, + "tests" : [ + { + "tcId" : 798, + "comment" : "u2 == n - 1", + "msg" : "313233343030", + "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c19731050229008ce984c0247d8a7a9628503f36abeaeea65fdfc3cf0a0c6cc8dac9da9f043b4659b638e7832e620c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf671666340e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD9DbQfLAmSxP5L9aWM0pOUbfWYZ\n4tBDstDSeJY/JRYgDvkF6/ZxZmNA5kK2yWYHK3kngANlESiHnxne4BJztmvq2ARR\nlCd8koQJM0jZBWmx\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "3f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf6716663", + "wy" : "40e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1" + }, + "tests" : [ + { + "tcId" : 799, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02280cc64af035cb79b3336a62d915b381e268d3bcb834f9cfd0f597c37ca5fcf50f588614ef0ef7b6a5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e575421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMFvvm0NdzJ8+aZfmHwv5+4YB4Uc\nDhyLxPBiKAfc1KiLO5EusEdUceV1QhxAVABQUHoWPyPMfLkKzFKCLQHSRatw3KrA\nbi6mRDJ6hfWV0Cbv\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e5", + "wy" : "75421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef" + }, + "tests" : [ + { + "tcId" : 800, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0229008e765d0d1cf9539f682a4155b6d60eb6aa6862b2af9e9d3f94c9ad46d332f0e029775522815c0e5a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307ec62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABL6SQAfW4iuUSsdtp/wmYNGu+raU\ncb2DW9eO3SwQYh529xi/0KXiMH7GJYPVulzBxUdjBHazmYZuftlTtTj3bIav6c/Q\nhUtX4zaRx35ETMq4\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307e", + "wy" : "0c62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8" + }, + "tests" : [ + { + "tcId" : 801, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02287225a960d967cfe52ac126a50fd79fa85a586397c0b298c8adfaf138317b0f794b24f53bd920c1cf", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a431b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKzyQBMNR9SlfWBllfmJEp/qfpdE\nseU/XOZ5wkTIWvNcYYYH4uzOGkMbaWp5Wf4w0EkQDdVCWBgbCKL+RC5B/ylSPBGj\n4BAo62SzIcK3Alec\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a43", + "wy" : "1b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c" + }, + "tests" : [ + { + "tcId" : 802, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900874f311b6b9ac74fc34c60c0941873651b3c0ec1d097a7861e0c7fbec3226f23a5e2c929d856ecb3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000446243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEYkOznndjmsGem+U2aTF9lZjgPs\nMKDPaTD4AACYM4JqWa3lMhkz/y9p13C5eMzDbJC3SOUBBjbnAE3cGYhdp7uQ2/rU\nefxS3OS5KBQF8ca9\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "46243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f", + "wy" : "69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd" + }, + "tests" : [ + { + "tcId" : 803, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022813753ac90fbc7edfdcb32e1697fdfd41b1fb59c5ad177e96feacc87522ef928de80a60bb0f32e7e2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c94f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLS5tro8DnUJwnWJToToGNcd4UV3\nvbS/C45eEzLRCH88Mztz6Kt18slPM9DiqzQtLhlozj4cR76H457ognOuTPd3hp06\nFwO2Opg9LUPFkwPl\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c9", + "wy" : "4f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5" + }, + "tests" : [ + { + "tcId" : 804, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022826ea75921f78fdbfb9665c2d2ffbfa8363f6b38b5a2efd2dfd5990ea45df251bd014c1761e65cfc4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000403015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAMBWzymdoNGfHlEbUuT0Ql4MwhW\n7uQNbVhoOsc1AK4xXFtYI1HEImsY2JVh0/+g+TEaphZUf36x025zpsxL0jDfNKHz\nGb5mvLL7Dh9ozBku\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "3015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b", + "wy" : "18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e" + }, + "tests" : [ + { + "tcId" : 805, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0229009fee192930d30502c05e56adf086ecd13a92cd43ce0c72ea65ead43667890ae19be835333c32c5f0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c0623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBh9k/hKDmBD8JfQqH+NygdznPRF\nSKfTQD4DnknExRKFSCl1r1TsBWwGI8V1OP77cjHWGbvv1Mqzc6VLNhNU5Yax2Zga\niDXpxr6rCCy5PhO2\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c", + "wy" : "623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6" + }, + "tests" : [ + { + "tcId" : 806, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900963f97cb35a321df62fc219eb2f3703949c483165d06db13c403080a86c1e5d9b43d2e8dd9643cde", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAhVzCA1ESazj5NPu1bDAvYqNg5i\nSTwtUp+4fK6g1xv9r1/MM2jUlf0c51eGEMvsRlOYssEjiz4jueKbR2GWEGQw12MW\nqvKZN6zmWLaci/uZ\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd", + "wy" : "1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99" + }, + "tests" : [ + { + "tcId" : 807, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022813dbff9e667e7bcd44950226f93b09738e793517c02886ae9f2b3dededa756c9049ab9a46bc7c93e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000494c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a5833686d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJTFSRkAQHm+DbTJLcH8lH156w+O\nhp2UgTiGraQlTx2ttNh6YRKlgzaG2LW+rAD6/WR++LYx6JmmqLcqUR1PUM4VZkit\nnLcI+y+yxjj9ufMy\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "094c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a58336", + "wy" : "086d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332" + }, + "tests" : [ + { + "tcId" : 808, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900852466cef316992b3ca25cc54b7f4fda2e8a819e7c4b040543e94f9caca02937681c2019bb49ee43", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200042bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de92f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCvKdgQ3KLXu796J0lrN8uCxYMWu\nDM2ra9O6pHnxd1PDwADM+LqGI96S8MLWihvUBeRJgj/mOyFAKu8+mgF9y8MK8YvM\neahSZINDmMcvorsW\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "2bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de", + "wy" : "092f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16" + }, + "tests" : [ + { + "tcId" : 809, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228634bfe1800786b0256e90ac2de272f41c85e0976c0caa1691bd835a5a444b1ed1705a0361ae6ee36", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a300997d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBwBOzoyYMz7U+P2zpPmmEhl3I4S\nk+kjAfTLOlVL1dqKU+4QGz4aMAmX0pAeJnKTA+HLk6i3LcKvyQ/1tE/VtmJEVUh5\ndO1xx4M+/wPMEo0M\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "1c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a3009", + "wy" : "097d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c" + }, + "tests" : [ + { + "tcId" : 810, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900c697fc3000f0d604add21585bc4e5e8390bc12ed819542d237b06b4b488963da2e0b406c35cddc6c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b547f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGJL7EUg5gRKvtHu5JZGaHdRgUZM\nXWv1qLU58RVvMkjAInG/lCW5ZrVH9Aa8wUMibYFM25iNdkEq0Ya97rhprXijL+h8\ndvJUVEfd+PvQQwgR\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b5", + "wy" : "47f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811" + }, + "tests" : [ + { + "tcId" : 811, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285685b327caacf14f237ea7e9c873ad5f5f8a4cbe8bd0d19826407228fe47bcddbe7f8b470bef3791", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc8209fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBsrJzjjBV0VlvZBds8Kw4GzqBeK\nLwIUAzUCGPoY+fhgwbujn8UkvIIJ+6/KGvxa91mLh41py4db4NOfQf8BsJOIaT6z\nEK3J1INuImwjZ35R\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "1b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc82", + "wy" : "09fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51" + }, + "tests" : [ + { + "tcId" : 812, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900a2c1f84088120fce85fecf81f0ecc00729f4199ebba0d5b5eda190001000b43168db254b8ef32a70", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000440902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae016f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABECQK/ayOdLzWIJg6df1EiU/pE8w\nigq4Hf8FuPouJYFNZcIBjUk5Cq4Bb4rlaRk4QCrcD/opu4fvCvDs881EbZfD6NEr\nOwnreJCcG5GxuHhf\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "40902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae", + "wy" : "16f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f" + }, + "tests" : [ + { + "tcId" : 813, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228711f6d0abce96fe7f5bed2ca4600a021fdda9a8c922fb0e10f180f97fa2cc84dd785c71e6c41dbaf", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa92accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHJlM+Jnc6xyChFbAt6JrBWWZnfi\nObfFd6HBW4ECex/rc+ZzYB4hGqkqzLWFvAbMJ0thyeYUdG7dJI0czPjYsatLwVzF\njN8RYGXOl2fyoyI9\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa9", + "wy" : "2accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d" + }, + "tests" : [ + { + "tcId" : 814, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022802a6eb408443d24e96be4ca0278442a8a426087f9beb03ffe5526162bf1dc30434cf7ea79574b19b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000453c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFPD2k3hT301d1+b7KbVPueNrHPN\nPxjG+/cJtP+n3T5wtDZAm5soXRwqW2DkV+WEIslZFCtez/I239dsmcMBjOqQQFgJ\nmhNkfbCImM/QUJ6E\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "53c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c", + "wy" : "2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84" + }, + "tests" : [ + { + "tcId" : 815, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900b6ba1aecd240debe77213a4228b125603671c9d5147b6c0b36dd23e42b7cb5078a1b8fdf1b98b93a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0krn91I634WduS5R1IdGuLL4aG\nIImKnEL4uugXPjZG9Yb9gYcSQw5VsS1Z9zRBaPeW/lnAJuqqE5dFqKzpffHVxrzC\nHwz6aGD5yMdfORYp\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e", + "wy" : "55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629" + }, + "tests" : [ + { + "tcId" : 816, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900957b383ba1cebf5ca579ef6ed10027988f8424f42ffbea2e51b3340df9f8c3c60b558d6dc2df10f3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb69ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE20YCCZcsjpw2URlUasRXrdFX8M\nTSs81lxjXcrsphcCnKv3XAYQG7ae+LdibmsvmEWwCG0qlkAYubJeuNtCa8kGlMxh\nS3YCsf1gh6mnHL8f\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "4db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb6", + "wy" : "09ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f" + }, + "tests" : [ + { + "tcId" : 817, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02290098ff1db1b9affa33a2e53c684d3f07611772405e8c200f2af2afa9e53c6e8ef30cc143b3f5ff7fb0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD56uFCEDXWYfTODfq1GSZzkM/P8\n5nODsuMl3S/H4PUAdpy7Z7RVCijDAxRIeocJR1AzRJnb++stXLl27i1HmXMhWXpB\nEkoDj+hnvg72aMTO\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "3e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28", + "wy" : "0c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce" + }, + "tests" : [ + { + "tcId" : 818, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285e9ff4433ca3a4af648e0071c87c2e5c3554b11761b10bb2b81725028a56c4fc92f1320ca7396c4f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200047acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c0629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHrMkZk0sP2QARzZb1ndulLhIJTa\nwYosrcsDoPMaxy0/1ZhKEekiD4wGKbxfPw2rvT/dMPR6ClvqMFKJL45QpAM75Hlb\nMsZnHRQbRzCA5XkR\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "7acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c", + "wy" : "629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911" + }, + "tests" : [ + { + "tcId" : 819, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900c76ce53560163f157b11e4d05c61540a5df6b8241cbd3ba7d911a7541eec55e986ebf811ae50a8b9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000412c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBLBY/4ly3mtWcdrUoDcZwakLFhZ\nYjC/e6cgbmzitGfht6cGPlmwvtbMvq8irMsaxB7UOsd1uXrqOmiOLwlsOl5Z+Gi8\nkZ2lziUs9dcS595A\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "12c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6", + "wy" : "0ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40" + }, + "tests" : [ + { + "tcId" : 820, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02284218a45116ea65b283cc7d90a510f077b1b09eddbcfca3e7d2896b869dd3ba556c4f10590b0e08cf", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c57726503305c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGlgv83dACH8uKPXqoX5bPNgpxE+\nOCRQhSUCH4PjCFmJw14MV3JlAzBcEnW52LUZnUYfy500+IV7ZaFARi/VzcejPlz3\n9OLQilo02a4AspOa\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "6960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c5772650330", + "wy" : "5c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a" + }, + "tests" : [ + { + "tcId" : 821, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285e5f32423bad3644be718d8195341362c9cba52b330f913b1521af6e5e3eb2069421b05dcac299f7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000466ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f61a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGatLCYBI4jIuQRqRmuHvXG2Srgb\nVM/8WmEfS3WBrYNl7dCOav1KUvYaMGbAs7cD3c50Yjmk09vxk4lF8V6pSXu/xFs4\nnhMDULmUWSK4fON0\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "66ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f6", + "wy" : "1a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374" + }, + "tests" : [ + { + "tcId" : 822, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900ac07aaade5c5fb2fe5a18bbefd262e0e439fd68e0a317db06ff4ba623a2a03114ec5b6e084171058", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAz6bjg42BE6JNh9uXQX1o8AxCbp\nuFUNipUf7VMVcufMpm/+CuF2/w4xL6AuXMd8IfSmYw4lvLmH3B7vFK7IDBW5spLj\nrPswvCwEOPCpgxwH\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e", + "wy" : "312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07" + }, + "tests" : [ + { + "tcId" : 823, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228311f6d0abce96fe7f5bed2ca4600a021fdda9a8c922fb0e10f180f97fa2cc84dd785c71e6c41dbb1", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5eece48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD2rvDakVboHQy2hqnI5rv3vtyrA\nkxPDp/NDmFD2AlQ+tK/8XYIlte7OSOL2foLUSLPYubD8IAgyo9GsiAWIcnYvy/An\n6fVwXY9YEuUH2uEl\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "3dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5ee", + "wy" : "0ce48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125" + }, + "tests" : [ + { + "tcId" : 824, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228623eda1579d2dfcfeb7da5948c014043fbb53519245f61c21e301f2ff459909baf0b8e3cd883b762", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200048a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABIqWWNxfkapXdwbx2R0iUssNCfIF\nPlYRKRBcfzfdsvlysyJPEs+eQ/4IeC7GEF9MBlh+sezssvT0oE4jYwTcdesu//C+\nZrl3+oBK9zv8useO\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "08a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe", + "wy" : "08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e" + }, + "tests" : [ + { + "tcId" : 825, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900935e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59313", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf9994449705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAa0O7lYfuFYrVdS0a0R9vD14xat\nIZN83ZJT84RIV/CiXntne7+ZlESXBTYjNL3OtormpYRkDJXLEHibGZU/XhGZc+7X\nNRd6q/yyY/yO9e+X\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "6b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf999444", + "wy" : "09705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97" + }, + "tests" : [ + { + "tcId" : 826, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285b5d0d7669206f5f3b909d21145892b01b38e4ea8a3db6059b6e91f215be5a83c50dc7ef8dcc5c9d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZnAg2eUVJXZM/IGknorf1t0si+XOomDVaovfile\nBu86T1YVRtuX95r6\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999", + "wy" : "0c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa" + }, + "tests" : [ + { + "tcId" : 827, + "comment" : "point duplication during verification", + "msg" : "313233343030", + "sig" : "30560229009563bd68545ccd185ae724d8efcd4cc23234934eef10f280792b2f930c97a6c1e00829a8b975b9ee022900c5e79c49abb135129f0636e18e2e73bced30855deeba1477d9521b33a32865155177d946e1babcb4", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f42399912dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZkS2t+L4iZ2g+815eSmgoTxR2A4bG1wuEUgFJCO\ncaSx2aa+y9ZZu5Mt\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999", + "wy" : "12dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d" + }, + "tests" : [ + { + "tcId" : 828, + "comment" : "duplication bug", + "msg" : "313233343030", + "sig" : "30560229009563bd68545ccd185ae724d8efcd4cc23234934eef10f280792b2f930c97a6c1e00829a8b975b9ee022900c5e79c49abb135129f0636e18e2e73bced30855deeba1477d9521b33a32865155177d946e1babcb4", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d3425d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF0aEAEYvTYQ8Q4Tta3MepCjf0+Y\njPpOIsynfohESwAhbc/l9oQY00JdW4jJuMkrPex/e8xoim0Y5s3rkXYVDUsQYqgy\nyKO8N3+Nfpix2wud\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "5d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d342", + "wy" : "5d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d" + }, + "tests" : [ + { + "tcId" : 829, + "comment" : "comparison with point at infinity ", + "msg" : "313233343030", + "sig" : "305402284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c197310502282a460e39a48c0ff193727e795d339347984ff65457b636ed6f74d627fc8144fb81504445742783d0", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf32279b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMyprDjeWzbPedjkFctynmheC72v\n4WHF5+z6QXfoJugV1mUmql2vMiebd5m878a12NCf8aBzn9QjGIEm+Ar3AzFNoNJr\npnFKoZemWCw2sPBd\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "0cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf3227", + "wy" : "09b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d" + }, + "tests" : [ + { + "tcId" : 830, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de802284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000490537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e591003309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJBTemgnolBgJz1E1IRq6llmgt8K\nWdD/55vioevpGHA8q/rGTaXlkQAzCRgNnaXngje5VAPFLzzu5QMGe2cnFel9i2Np\nNCaEpy9Gdph0Gxof\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "090537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e59100", + "wy" : "3309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f" + }, + "tests" : [ + { + "tcId" : 831, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061102284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEO9fpr7U9i4Uom8xI7lv+byATfR\nCgh+tueHHioQpZnHEK+NDTniBhEU/dBVRewcyKtAkyR/dydeB0P/7RFxguqpx3h3\nqqxqx9NSRdFpLo7h\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611", + "wy" : "14fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1" + }, + "tests" : [ + { + "tcId" : 832, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3055022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb70002281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 833, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3055022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f2202281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEO9fpr7U9i4Uom8xI7lv+byATfR\nCgh+tueHHioQpZnHEK+NDTniBhG+YHbK8NAy7zX75TpSirkH8kvPueWCiwSly0F0\nzeeBYSmBzOCIhJ9G\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611", + "wy" : "0be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46" + }, + "tests" : [ + { + "tcId" : 834, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3055022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb70002281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 835, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3055022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f2202281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIqUFk3HZU/aPNQwHT6XICTC2rpx\n1EISjH8/rs2543WoWqgMSsKIifJY5suohtR2NlSLO/G2dfIxjD2Kt6HCgaMyQcEh\ns1kL/fcDx81Lro9FGIbZiSNMG4xYlhRVTUKTkg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "08a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636", + "wy" : "548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392" + }, + "tests" : [ + { + "tcId" : 836, + "comment" : "k*G has a large x-coordinate", + "msg" : "313233343030", + "sig" : "304e021900f39b6bacd3b2eb7bdd98f07a249d57614bbece10480386e80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 837, + "comment" : "r too large", + "msg" : "313233343030", + "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec4d0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000473f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHP4SrY3iTAeiLTLgsuTXez/uPQr\nLJeEx1RGFbkHbsenq5RwLKfx2arPuQU3tdNo3FAst8jBgoWZTHsZ+j4kAf3CbeVP\n/gBrt5vdeFLGZtcwvfdqFsB5Kmxmge1rZH/IGw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "73f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc", + "wy" : "502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b" + }, + "tests" : [ + { + "tcId" : 838, + "comment" : "r,s are large", + "msg" : "313233343030", + "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlehGHt2+ITZ6lbJc2FzTHoDs8f\nlVOQVvt+ELSqSZALIZTZGbKc2b83Oh1T71cRdHZ8AuNrk1pl5anLs1WJoqAYSCBl\nxeM9qM5IPcf3/kQVdPnnqwYUvc/GECLHgKMACQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174", + "wy" : "767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009" + }, + "tests" : [ + { + "tcId" : 839, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0230480eca2874aa6ba71e7fb5711339ac0a7bf84065b3c7d59c64a2c6015e6f794e7dfa2b1fec73a72adb32bdb7dd55cd04", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGGK2BkS5MMfI+qy8MaTs++EBAdK\nsdzgHcgqdoFRyfoDk7TWrq7saFjT9BmVeluZfzH6gJsbRGd8xa7xiUhGFCw+RLum\nxHESP6FP6486qekvdpvlSc75wdVbxvH0+EGBPQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f", + "wy" : "31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d" + }, + "tests" : [ + { + "tcId" : 840, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02301629ef2d7182d67b6bd9cf6842251fe09c96bfe022b8ad9a0e546fdc8ecf5dc8636fa13059d7e9d83fde50e0d2b392c8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000479583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlYO0lotXaBG1Z+FiDgCwqriqIj\nxeZVsnsevq+DvNNfQgWloOUaIFL//p/SN4XJj3c1fIoQCPy3o1eWFML/R5gPqeRL\na16j+KM8kZ3SrqXa0MoaAaniEGUYsWQpBuTydQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "79583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f", + "wy" : "77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275" + }, + "tests" : [ + { + "tcId" : 841, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlle6whbDrEo6LVr9NCrSSk6xA9\nTb4uRGHgPHARgmUT/oK9BuF+OujrWBHaC+yIuzPuHt3V1J3Ybnhfv+u5KIZhlk5v\nvgwHr5pLoxRfxL4R5UhLZQyXCW24LrsMoruE7Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "089657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb", + "wy" : "33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed" + }, + "tests" : [ + { + "tcId" : 842, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020102", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e890dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFh29BT6OFtAOi0Q2l2JsRA0StAF\nv6+MdZqx41YaOf8Nuf+R7GBAMW4vyjZUpIwOiQ3Ld/iW6kdcuXZyqEADKVVMlBth\ntKhL3h+Mj8UlDCkWH8PKUEWKQcd6SLszaILy6g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "5876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e89", + "wy" : "0dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea" + }, + "tests" : [ + { + "tcId" : 843, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020103", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 844, + "comment" : "r is larger than n", + "msg" : "313233343030", + "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566020103", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de06d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBvudB+hkqm9BTXQBidzcHnpjwAH\nY5TJeKlqD5+6ZOniHez/a0uP4R9gsY1ddYaE3gbRkyHqt+hgH49GBv6T/TsvAphq\nWMpWQTKCxm3Ta6ZySjy87ueZSLotVcdWWGtY4g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de", + "wy" : "6d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2" + }, + "tests" : [ + { + "tcId" : 845, + "comment" : "s is larger than n", + "msg" : "313233343030", + "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9173bec", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGsl+MFin3V548fuSwKcwCm0vb7Y\ni5s5kwPkoUNS0fP2BI7N0GLTfLp7cLy9WHIx52ITE/k9MQ8US9MyJYKARjndKWCW\nmpk6nyo2CfhW4UFaCk3PWKeGTkHiqMgN/BWKMA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7", + "wy" : "621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30" + }, + "tests" : [ + { + "tcId" : 846, + "comment" : "small r and s^-1", + "msg" : "313233343030", + "sig" : "303702020101023100896621d23283b12111048d1c978e2c286d60b6ef7ce37af36cf7aa4de268d626de7ddcb356d167c7483c69455c752c93", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d02112c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF0ILN5ghvjqaZT0bp3AbBwdLDo8\nLcXJe/E3ZT2bLtIRAbrYQ9RuS3klua9wNMbQIRLH9W5l0jMQQGM5H7OCizmQ5ok9\nd3RuQjBealuhEdl21pP1la+Fjxn6xyNPdITEiQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "5d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d021", + "wy" : "12c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489" + }, + "tests" : [ + { + "tcId" : 847, + "comment" : "smallish r and s^-1", + "msg" : "313233343030", + "sig" : "303b02072d9b4d347952cc023038e8dae216c63f06b3edbd0f9ba7a5e4a332ec187251e3d627839d1baac667d7caad2ab0a1ea9fbb12dc5a71e3b49bc9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHQHymwqGD+coTdmCenHio0IDv+t\nFaT2PLt6Fo48eJuLWc5NMSLKCKhpB7pIf3F/vD4sVqmzRgpRNrITvo1Iyz3Jx62U\nWx3Oy/k/ps+q+NvXDxBAuXrY46ww8uZP18x21g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "7407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc", + "wy" : "3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6" + }, + "tests" : [ + { + "tcId" : 848, + "comment" : "100-bit r and small s^-1", + "msg" : "313233343030", + "sig" : "3041020d1033e67e37b32b445580bf4efc02300d2436a599b396a51c546e05d1c3d25a8f6d05935ae5031dad3cdd7cb36cf6912a433de28f8475d3b1e2e1ce77610879", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE/DKlImgg7Jw//yx04LNtfeAo5Z\n/ABfOAejvVmJLJrSDbpxaO+e2b+Zsl7QG8/GymoT2i6FJ3em+Z0EMiobn7QidoS/\nfEDU0++SeYADo78toVjVaGRXwz0OJL5cJl/Ecw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca", + "wy" : "6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473" + }, + "tests" : [ + { + "tcId" : 849, + "comment" : "small r and 100 bit s^-1", + "msg" : "313233343030", + "sig" : "30360202010102304a289adad7ceec67ae99ef5da797b6bb17d9c168428ab30ea9a68b89652c4b9e9bae876ab3d7fbdf1eb92ed422bd3b93", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHNQp9ANdxmjGFIu9MXmviSzsssw\nDFlveejdMaRoj+ZaVLLXSXoGgh7suvMbL6fNy0vXL8fwXjJFf9oMw/MhFXdE8YQc\nML0Ibm3dW/QV63Hsvjbw8/0j08QUh/soPg6XlA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "7350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb", + "wy" : "4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794" + }, + "tests" : [ + { + "tcId" : 850, + "comment" : "100-bit r and s^-1", + "msg" : "313233343030", + "sig" : "3041020d062522bbd3ecbe7c39e93e7c2402304a289adad7ceec67ae99ef5da797b6bb17d9c168428ab30ea9a68b89652c4b9e9bae876ab3d7fbdf1eb92ed422bd3b93", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e30cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGFJitMahO7RAronEuuKe9kjIL2k\nrG0HtDJqMIadGesbliKdIe/XEdz3MEi/FmgA4wz8wToJFBMihNvqtvz11ws0yoam\ngRV+SHSr/67rtpuLcfadMyMGVngj3eVAfOc56A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "61498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e3", + "wy" : "0cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8" + }, + "tests" : [ + { + "tcId" : 851, + "comment" : "r and s^-1 are close to n", + "msg" : "313233343030", + "sig" : "30650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90464e502305dd0bf01c2259e1ab4e8f4fee099813f6374f6069e3839ccbf64499dc802c3c534d1cf1f9cffd76027b021574602ee43", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004050592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b511545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAUFkvNNsCY99MZpuJkZQb4YI3oQ\nRb/RZepK84U3ZWTt9mVKDf97XYRHQJDyZcRrURVFkYzY8iJgziGlhO36CxZESIyZ\nfZVlKSYq70AMwDIO0n3c7Dvea5/XmzdK9oj6nw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "50592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b51", + "wy" : "1545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f" + }, + "tests" : [ + { + "tcId" : 852, + "comment" : "s == 1", + "msg" : "313233343030", + "sig" : "303502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 853, + "comment" : "s == 0", + "msg" : "313233343030", + "sig" : "303502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a003343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE34mFRMKxDcPE0ySfylEw51PSbg\ngyC9gjkmrLBQ2Lak/q3ym+8H7NsA6Fs0HyIGmgAzQ2ldHgrAp4s4SQ2XwekOT/TK\nDSFAuRAfG2PynKTyv5F24WAEg5FiFr01q85nQQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a", + "wy" : "3343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741" + }, + "tests" : [ + { + "tcId" : 854, + "comment" : "point at infinity during verify", + "msg" : "313233343030", + "sig" : "30640230465c8f41519c369407aeb7bf287320ef8a97b884f6aa2b598f8b3736560212d3e79d5b57b5bfe1881dc41901748232b202302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF13E06JCscvnGn8w/GBrnRv7//a\n/B38eRzzOiL7D45YYYjPLV0GDdsEAEuvVhkcnw50Ad3MR6CbXs8nGcyTYBCpNxp/\ndiTmPnoAVQoT0DXPWG07Uix/0GJRrbsPCq091w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "5d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f", + "wy" : "0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7" + }, + "tests" : [ + { + "tcId" : 855, + "comment" : "u1 == 1", + "msg" : "313233343030", + "sig" : "306502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c89f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGB82UxC9bv8+FenCKwWPwr8CmXI\n2Icl8YxL9+t89dNKymAIontOX9lHYTTthfzTLInySCkMWbj7lj6Qurmws+MT07jg\npsiQFFWiK3t0oQgVLFuBS6V13o3gfNuNZ7orUA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c", + "wy" : "089f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50" + }, + "tests" : [ + { + "tcId" : 856, + "comment" : "u1 == n - 1", + "msg" : "313233343030", + "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c735f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEtK+9kXRrGk320NcXr8dSj6Sp3a\nmmKv7hmnL8ABmqLqiaElvqdnVQYjBlbKr/Usc19cNXW/ZpY379tnJHdQDx/je0Xc\n+HlIetbKNsQUcyn7dBcGzpuSjOR79twPnkQBfw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c73", + "wy" : "5f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f" + }, + "tests" : [ + { + "tcId" : 857, + "comment" : "u2 == 1", + "msg" : "313233343030", + "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d46edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABA2LJGxiMYi3RVcWrBibmvRBZ2oc\nQc1XV1S9Aq5NaCUwS5Yd3wgmuxYePWPpvHHx1G7b7dwtQNr9zKyQroXNYWoOoeSg\niuj8M1jOfVFC7ujzvr3BRZHEybFb/xK4zwgzSg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d4", + "wy" : "6edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a" + }, + "tests" : [ + { + "tcId" : 858, + "comment" : "u2 == n - 1", + "msg" : "313233343030", + "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102305dd0bf01c2259e1ab4e8f4fee099813f6374f6069e3839ccbf64499dc802c3c534d1cf1f9cffd76027b021574602ee44", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8029af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABATZ1KYtbrAgc+c4seQ5zs1UQAMZ\nEfRRkOtgYqM1NfxSabz8JdSvwdrg662UjXcy2AKa836Jo86n3ziwIPYkkG/KbZRO\nFIaFP+jlupz7otdKhS7Fh9Rv5JkXw2RBjvfspQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8", + "wy" : "29af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5" + }, + "tests" : [ + { + "tcId" : 859, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBpKVcmwzkPX7XipjZv2RZzPNJRm\n/MxFdZj8FaHWlW2M6DSLIzL/+z1RaweNKNMp3XP0Wkzh9dx3Lzwyg69lZObkEPnV\nBktkhAZZZpNmk/YqyZQOsokUoJHSlkzYQ7QQKA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd", + "wy" : "73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028" + }, + "tests" : [ + { + "tcId" : 860, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023070a8e817f4ea82b831ba5e671830b4312846b23da14ff7d43baf3a7ee7aa061c86422aaf27ffc5c655406868b5bf19bf", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f069e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDc6yY8IgmiobRNt5PoM4sQQQs0z\n7S0HJQ9TzU7UP6HaQl2ll71bQT1Wz/+VQmcQTwaeBFO7vXkoAxb4wcFhqEavN5qU\nHtKG5ZPn8om6T/9CRYsnOjukmVdOE05/tKfcGQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f", + "wy" : "69e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19" + }, + "tests" : [ + { + "tcId" : 861, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230326c0872a7224e7a104087acf4c4b4e3e5aba4ffe4625fc3955ce9647bf71fb596b83971ad2b52473a2821991c808905", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e8595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH5qtCm54zqXT2q5pJ6xUsSEV1+t\nXZvN3Lh+3OFueTM6k3J282rskSHeRQOEyyC7LoWV9sKIDYkZjhtiXmUFbQoZpY0d\nHFUbzF3TnSgdcm2tQQhIjI+UGsmDFpys4+zHGw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "7e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e", + "wy" : "08595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b" + }, + "tests" : [ + { + "tcId" : 862, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023065cf0a5bce70af078af6d5a14545ca619e47d6eb0fd0531ecc743a7685530284a83289c2d09e024384ae5e778799e414", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac551734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB+7N/dRlcPy3jr8yIrX6zIQgURg\niUP6zjqJAAX/Kj4LVYB5xYQmIPRK3Aw43YiqxVFzT464J9+SnXMXcUopz4ukMsr2\niQlNAOudY8vJCLp2ylsfk9IpR3yWCEKUD0Ik0w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac5", + "wy" : "51734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3" + }, + "tests" : [ + { + "tcId" : 863, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02302e099adfe4d9120596e8a1520399b0e249555b171e0a71967307548a3c28753fa40bbcb0a8658369dc8ca0caa05fb001", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000407fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAf6MMg3yK0Ckyah1Ei9J1IbXSaq\n1NgkS3JCST33AXLm3R2vXH4H9PoQL1xBWk7GHwkEUn34d1J/fQ9af3G22cA/LeHf\niASGjnM32jXJsf/Jvy4nnDr4oHhubzmDLMbtGw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "7fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f", + "wy" : "0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b" + }, + "tests" : [ + { + "tcId" : 864, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02305c1335bfc9b2240b2dd142a4073361c492aab62e3c14e32ce60ea9147850ea7f4817796150cb06d3b919419540bf6002", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c630c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGE5euf+jn6JS/ponlgTUUKToPG5\n8QkMDZaWN5thKHp1Kj99HSSA/kEnSY0O7ahMYwwvrdN+o2v+UytdOg8QHd06xZRY\nOZZI8++vWDPewcjI7OBVFYk1U+9NWBINN84uzQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "61397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c63", + "wy" : "0c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd" + }, + "tests" : [ + { + "tcId" : 865, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230259160b321c350f4f2299aa77c72a09248927957b6414308bf8c7fb4f2dbba5ca79198f80a150e1ceb5a9845144eee9b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH8WbvqNhBbZIvV2c6IYDPu0no0W\nDWC6XskLpUfz7M0izmr9maD7KSz9FrBpK5yrA0GFeeZ8h7NZkS9stBWL3X6hMLUA\ndybfL84xmRXe7cT36J7iP3huJTc8mTdJi6uBtA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "7f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03", + "wy" : "418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4" + }, + "tests" : [ + { + "tcId" : 866, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023100881964e1bba9a28c7a1d84379c65bb3da72f3cc879f7f579d2f9b34a574432d6c7d1c229ee227d4ddbdd9f15df9978c0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000477c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHfJwuZYsASraEDXwzpefrX5O6On\nxbMvcnX9dbB8HJL1rjFXa5y8oEYzfm1up2wUXmfFYBDdl0ni2Qs+tX7xxMc3QSM6\nMqakNVuMTjokvPWYZifHSAeDFh2x0qUzK9df7w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "77c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e", + "wy" : "67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef" + }, + "tests" : [ + { + "tcId" : 867, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02300e3c83bb59abc57220170152251cf010b0081fecca2c957ca7ec1a33dae3ca1d7094b1c0f71b03e008bbe64659119f09", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000464d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a3777299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGTZoxfVtBrzD9/HOJRg81f6mXgw\nTQJrMSqlygShm9wMVkQM/RSgsGDDuPTujUpaN3cpmyKAq0yFftJTHo2wJ/jHI4Ao\nvX97pZvIBUfU8Q2m8uYTWAVTQG8EJ+y9e3WRbg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "64d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a37", + "wy" : "77299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e" + }, + "tests" : [ + { + "tcId" : 868, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230631b97da7f334dafd01e2a01f8618632372d9abcdf14ebaf7213da37b1449c4e8c8a1dfe03384f3ade8907ad94421398", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCZLpEf4DXIb8eeYd/J6I+5YVl6I\nxJ9rnNZEjAJLb/U667KwjOwi6y6zjjD9VHJ/AYAYh/n5Tc5iXtHVY1CkslLg3PwJ\nhJKPJa0ioTE1uvmWv6goCfvnnAl5Zw/dyfup5g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01", + "wy" : "0801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6" + }, + "tests" : [ + { + "tcId" : 869, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230397e11325b2e2e3790dee4859fdcca85592bc46fd0d580abc5114602b68512f549d9854c9af0db658189dd583f7fc1cb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABASRgECljcR3pyRVYSc98ti9l35f\n05xA0wEVNssrnP7oLiq19TnlkI3L8/8kxkXbTllpqdjfXNqv40kMqklGrPXr4+k6\nqyio1Kb2HiyOXALcYFx1gG3d3eviORVjEVnB9w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e", + "wy" : "5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7" + }, + "tests" : [ + { + "tcId" : 870, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02300fe08a8a37290ebf519f9f0947580ed87b29ee22c29615a8180eb1cdbbc5899c0728ec9b32a96790248ab302eabd6ffe", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000422e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c408196089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCLkTr4KNR5Mkfe9/AwMPG4cZ52o\nSjJTnC27QeoxBhsIJePzTXsK1SUmHrnkV8QIGWCJ4zA0cxuo6flfWiNL+NNTnIOB\n9NlVENXg8UX9SCBeXGAhjD+EsYnI5P1WCLSXeA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "22e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c40819", + "wy" : "6089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778" + }, + "tests" : [ + { + "tcId" : 871, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02305f92937aa52d5dd10fcefb95a2d57b617d6d8b04e8db5b3b5a39abe893fda2aeb2f978108c558aabbad829ce02c27735", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000466ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a28accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGbtSXee1qexDIErx+57R6XRHF6l\nAncnPaFAvBsM9bghCmpzf36dku7m2EUTflxEoorMuPY3OFz2UZv64+065NCsqhmi\nYKAb2MtTrSTayrGVSyDRRyzzl16HzHM/Mpq2vQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "66ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a2", + "wy" : "08accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd" + }, + "tests" : [ + { + "tcId" : 872, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023059930a2b8bbd79b8051f252a1af76b4a5c6525adf9c6c7910a5ccf798eac0c8d4513923a792a965abe82bb564dac21cb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200043024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDAkkSBBvJiak2+03N0XixXgOgqp\nSrr7RGW0qJ1EFreosCnUfBfmmiWWL/Ou/oYtyySe6SUrVxPnR6Laiqwrlh7itqyh\nV6RIiHSGSPvNxWYc1KFpu5LJwc5Qp5pjc1ACoQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "3024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb", + "wy" : "249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1" + }, + "tests" : [ + { + "tcId" : 873, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02301449901ce4b00f0e3a5ff84cff8c134854b808e504d1b8f027ace9591234e3f62ce70c35a8aa8e60cafe1e0df3ed80e7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2000b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyTk7AOmmLOC4NnTNzKWbGNWzQk\nY0jjfB14iYpSLYE8SdCO/F8/fvM/PcndG8LlwgALlBDOBKZM0JWuEZS8H1FMcAmk\n4GhxtVcVTPSS58V3SUh+z80EyzFCareF/6leLw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2", + "wy" : "0b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f" + }, + "tests" : [ + { + "tcId" : 874, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02310089ae6f8e215bcf35c7e2afed1a6b9855171687d9edbea8af5bf8e9ddc667aac4e166f05097385fa9ea3a6245fc07b4ad", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCxYJ3qqYcQA1wNhg69JyZqX/qWo\n1fhgjExqx6KCdX5NxLb5LYKhAnLyoZaWpI+nn1qK23cHQGadYBDlX2YlsUG+Rp/h\nd59K3+ZOqy5KmsW/HCWz3gt0uPlkT8IWAQ2WWQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "2c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f", + "wy" : "5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659" + }, + "tests" : [ + { + "tcId" : 875, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303fc16256a0914ce2661a54688af4b2546b1b59b043667da6abb5b1a1e0e2e6ab862fe8bb749f7251572bc160567530a7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABG5fgn4aoiXEuV21JlX2fWVL3Gmk\nv49JwZ0eZdzxLKURUFqhcmyi9c34qzdvlKDFvV2uxvNfHfvGj7oCTMjF95zpuqhq\n39jSulOnmM3MkCXrl5fTviB7xpSrszjkN3j/3Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd", + "wy" : "5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd" + }, + "tests" : [ + { + "tcId" : 876, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023064c1556c5eef311a4f3ba46316adf73732d6ed47b1ba2ecd178ff89bbc5ddd6c6419f62e045ea2d35c33a250dc2fb925", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b1700465cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH/oUqdhKmc981HwWv6vy7Fs5Mrf\nhWgbK19GzDHvM9a2lTeOcyXpyzGF1xN7KxcARly9TIEAdtE1MWiH6UsUtLAQjbHJ\nRHlMOYk41CF2wyV1tkKLPje2AiEcV0rK/vCRHg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "7fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b170046", + "wy" : "5cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e" + }, + "tests" : [ + { + "tcId" : 877, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303cc98c561aa5f50c8f19d947dc75ac8f507e6985762006e7100982caccb79530f8f935ac9d3d82967cdf129ecf5b0ce5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABApJ3DWe1P72g+Ri3+aFRCzqd7cz\n/ZVjMhZ5TZph9+ECLZQqNueBpISitHmmQ0aa9FEuvQlmtov+z3pHAhvNnmqicD3M\nVWqaRD0WGVqhRXOPo2pN/z0JSB9KhlUKjR81RQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4", + "wy" : "512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545" + }, + "tests" : [ + { + "tcId" : 878, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303f2095530f36144e009019eee102b2867d83c9eb4f28bcb31b383e00c8c3746b20cc90e8efc813aefb5b6a4965204c53", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCdnFQh0ldUsQWDRVEbrtNdYKRv1\nvJyoe1bD8ArcQfpFLWZoQVLT4Z0vw61dKJeHrTZzhdPD9cPCxsMWatz6/D0gRFPK\nuHl9VulV+/HPQhdjpmU+QO/ZA134EoE1VGtiYQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad", + "wy" : "367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261" + }, + "tests" : [ + { + "tcId" : 879, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230704afc6a72080d1728f6cc9fd023e9d2373023377f02599b6ea9fb2923dd7403fe2fd73999f65316b53f910bda4f6f10", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFlD29Zsefy4gpNuzN1thgxC4gcn\nos2ykWXIQmydGSmQtx2aPH8kDkasqydBt+6cekYeWrHbPrm1GzI4062jNWfSUdj9\nD7r1mqHPtA/nsi4Cd/Fmoy7bgatqhYD5sfs+OQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "5943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a", + "wy" : "461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39" + }, + "tests" : [ + { + "tcId" : 880, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023046f09c4741c1afe74e32f6ff14daaf90f4486c33f5d0e978f9af24f5751988e72b374c5faeffdec309330401965f7d20", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda64ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFKF1yklyHx1tq2ZVQZBgr8t68sl\nyI0GBvZnKGPeQT5Uloik/PvmaJuyPbordXvNpk72sBdmyVtm/xBJbV3uusS0v4w7\ntCMsAZ+Atp2KsCFM6vWBMCfs7BM6WluXGUiCLg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "5285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda6", + "wy" : "4ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e" + }, + "tests" : [ + { + "tcId" : 881, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023019930a2b8bbd79b8051f252a1af76b4a5c6525adf9c6c7910a5ccf798eac0c8d4513923a792a965abe82bb564dac21cd", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b84eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAeGr7A915Hb/DcatR/6KIt87dkN\najWjw6klZviV84yxhTYTfgEPHPui++1wVo13uE7shAzKi28/YSMEtgL/rY3LrheG\nssIhbpoeWaa2lii1KkCLagg9cn88zQ5wb5ru+A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b8", + "wy" : "4eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8" + }, + "tests" : [ + { + "tcId" : 882, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023033261457177af3700a3e4a5435eed694b8ca4b5bf38d8f2214b99ef31d58191a8a272474f2552cb57d0576ac9b58439a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000446690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEZpDbQDkEIo5Pc2sTRHkVlmKOhW\nadTdATdLISdCgLQh5C9bo/Py+trSfURpvn2b236IO0PCchf2BuClumyd94HBRXds\nDlqJk/DtZcbe1lpDvd0P52EUhejo2efezfLYtQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "46690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb", + "wy" : "7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5" + }, + "tests" : [ + { + "tcId" : 883, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02304cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046567", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d83b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIvmkorK1EyVcbXEAV+j/65eY55B\nMKGma0c+Xf3+k7aKjeiVg2ZtTWmeiIVGn5saTYOx1TEjEORFrlfIWrGj3427twal\nmPvAB++2AqFKWVL9fn3wRk1TPgYuohEoXC9cJw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "08be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d", + "wy" : "083b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27" + }, + "tests" : [ + { + "tcId" : 884, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0231008b33c708624a1e2eeba00fb5b5a8ed1a1622fc71ed897fb13d87ac253935e8365850d380015c115d12e14a2472860d09", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e856a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehWoPDtjX8o+Rak5yflW/CBjcyE7R\nEyvX2p+Y/5X7Kuwjj035GFsJgqZoLAbIXmqJXg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e85", + "wy" : "6a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e" + }, + "tests" : [ + { + "tcId" : 885, + "comment" : "point duplication during verification", + "msg" : "313233343030", + "sig" : "30650231008729cbb906f69d8d43f94cb8c4b9572c958272f5c6ff759ba9113f340b9f9aa598837aa37a4311717faf4cf66747a5b4023028a9b8c55eb6f5f1cf5c233aff640f48211cd2b9cf0593e8b9ffff67c7e69703f8a6c5382a36769d3cca57711ab63c65", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e8522aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehSKqD6nLRd2WpQ78//snOcY4ZyI4\n2ih+2XMY2oOEjCUAHYWuETUTl8sfGvlK0p1i9Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e85", + "wy" : "22aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5" + }, + "tests" : [ + { + "tcId" : 886, + "comment" : "duplication bug", + "msg" : "313233343030", + "sig" : "30650231008729cbb906f69d8d43f94cb8c4b9572c958272f5c6ff759ba9113f340b9f9aa598837aa37a4311717faf4cf66747a5b4023028a9b8c55eb6f5f1cf5c233aff640f48211cd2b9cf0593e8b9ffff67c7e69703f8a6c5382a36769d3cca57711ab63c65", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIndc478sPeYEd9r7Ic0hRaUUK2h\njmAnIeYXaL4NgeXUE4HyRmgnbzK/4x/xwWvLax96TSgjvNc/I22Qtuph2JICYZDh\nQxe10RBSbp4mdfA9XvP86HtYJ6N+DPGbTTmIwA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "089dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b", + "wy" : "1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0" + }, + "tests" : [ + { + "tcId" : 887, + "comment" : "comparison with point at infinity ", + "msg" : "313233343030", + "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102301c25061a20a4e2a19cac497fa9c7a6c6376fe36862aa77bd6c9e1615bc00d454c30bbe23157ff3d00be80a009500e114", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a5303085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlVkqZz6C3/PXdFAZTlMI1k9F8R\n91nzT3x7W3zGrXP5v/j2YzzCA3jP8uU/t6UwMIW1zUYhZlqshDXYzoWybURFCLd7\nKC6RzVMVxwHS5bZrpMAL9+HrCFmhPMNR0ABBoQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a53030", + "wy" : "085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1" + }, + "tests" : [ + { + "tcId" : 888, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca02302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab723732442f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCwRV3LdKYYSGXocWd+cJahqwW+k\n8nrfdLzGc7tKaku10LW2RHDV0m4DAJIqtyNzJEL27CCeJ84LEn0zR0UnJkPTZmv/\nVJJ0GXZN5SMi7haW5iDRXg7qYv7Q8g7+bJHh4w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "2c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab7237324", + "wy" : "42f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3" + }, + "tests" : [ + { + "tcId" : 889, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e02302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB0cZPBoz0X/oqY6gbfBP2uIR6Pn\nfvFP49t/yv4MvRDo6CbgNDbWRqrvh7LiR9SvHoq+HXUg+cKkXLHrjpXP1VJitwsp\n/uxYZOGcBU/5kSkoDkZGIXeRgRFCggNBJjxTFQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e", + "wy" : "08abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315" + }, + "tests" : [ + { + "tcId" : 890, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 891, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "306402301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e01fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB0cZPBoz0X/oqY6gbfBP2uIR6Pn\nfvFP49t/yv4MvRDo6CbgNDbWRqrvh7LiR9SvHgH7AQ2CPqqDsquD77sWbIyyeGXf\n7mf+TzEV1MmGJef7no1hCBiLmWBExPzSCsuZPg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e", + "wy" : "1fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e" + }, + "tests" : [ + { + "tcId" : 892, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 893, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "306402301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000407310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc36226a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEBzEPkKnq4UmghAL1QZSg97SsQnv42b1s\ndoEHHcR9w2ImptN6xG1h/WAMC/G/+HaJ7RF92msOWTGK4BChl6JsoA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc362", + "wy" : "26a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0" + }, + "tests" : [ + { + "tcId" : 894, + "comment" : "k*G has a large x-coordinate", + "msg" : "313233343030", + "sig" : "30360211014551231950b75fc4402da1722fc9baeb022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 895, + "comment" : "r too large", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2c022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvJfnWF7srUjhZoO8QJFwjhqTDGg/xHAB\n1LODWU8sTiJwWYnPadrq3U5OS4FR7YiN/sIPsBco2J1Ws/OPKunIxQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22", + "wy" : "705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5" + }, + "tests" : [ + { + "tcId" : 896, + "comment" : "r,s are large", + "msg" : "313233343030", + "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERK0zmvvCHpq/e2AqXKU16jeBNbbRDYEx\nC92Ck9HfMlK2P/fQd0dw+P4dFyL6g6zQL0NOT8EQoMyPbd3TfVbEYw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "44ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252", + "wy" : "0b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463" + }, + "tests" : [ + { + "tcId" : 897, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203e9a7582886089c62fb840cf3b83061cd1cff3ae4341808bb5bdee6191174177", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEEmDCEiyeJE4a9RUb7eDDriO1TXxZaIHT\n7rrSHzfdh4xcmgwamt52c3qIEb1qf5KHyXjuOWqonBHkcinSzLVS8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c", + "wy" : "5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0" + }, + "tests" : [ + { + "tcId" : 898, + "comment" : "r and s^-1 have a large Hamming weight", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022024238e70b431b1a64efdf9032669939d4b77f249503fc6905feb7540dea3e6d2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGHcEW+JdNKHQYA+dXADQZFoqVDebbO76\n0ua/XCozUs6CGlMswXUe4dNtQcPWq06bFD5E7EbXNHjqanmlwOVBWQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce", + "wy" : "0821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159" + }, + "tests" : [ + { + "tcId" : 899, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020101", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERVQ5/MPS3uzt3q7OYOe9FzBPNuu2Aq31\noi4Ljx20alCuw4+yuvIh6ajRiHx79iIt0YNGNOdyYzFa9tI2CdBPdw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50", + "wy" : "0aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77" + }, + "tests" : [ + { + "tcId" : 900, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020102", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece7180449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELh9GawJMDDrOJDfeCRJ/7QS3BvlLGaIb\nscKs81zs5xgESa41I9clNOlklyz9OzivC93ZYZ5a8iPk0aQPNM+fHQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece718", + "wy" : "449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d" + }, + "tests" : [ + { + "tcId" : 901, + "comment" : "small r and s", + "msg" : "313233343030", + "sig" : "3006020101020103", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 902, + "comment" : "r is larger than n", + "msg" : "313233343030", + "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020103", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a25305adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE3aldewaY3l0tC08ANNvjW1D5ePzFGKhK\nv5yZ79lqJTBa3AjWpj2+gxq5nNkUbjxMRUkq0ZUhYSVCJW1q9g54iA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a2530", + "wy" : "5adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888" + }, + "tests" : [ + { + "tcId" : 903, + "comment" : "s is larger than n", + "msg" : "313233343030", + "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd04917c8", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000402ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee777eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAu9NbWz9WpTx13hCJuPipsCkNsVYOWGf\nOPtEcrX57nd+tKzU7r2lzXKHX/0qLyYinC3GtGUAkZpDLIZznzroZg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee77", + "wy" : "7eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866" + }, + "tests" : [ + { + "tcId" : 904, + "comment" : "small r and s^-1", + "msg" : "313233343030", + "sig" : "302702020101022100c58b162c58b162c58b162c58b162c58a1b242973853e16db75c8a1a71da4d39d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERk9P9xVynK5Qcso72AHTGVtnrsZemwGq\n0gopQ9y8tYSxr9KdMaOaEdVwqhWXQ5s7LRlxvy8avxVDLQIHsQ0dCA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584", + "wy" : "0b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08" + }, + "tests" : [ + { + "tcId" : 905, + "comment" : "smallish r and s^-1", + "msg" : "313233343030", + "sig" : "302c02072d9b4d347952cc022100fcbc5103d0da267477d1791461cf2aa44bf9d43198f79507bd8779d69a13108e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4cdeadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEFX+P3fNz619Jz88Q2LhTz5HLzX1mXDUi\nun3XON23mkzerfGlxEjqPJ9BkaiZmr/MdXrG1kVn7wcsR/7GE0Q7jw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4c", + "wy" : "0deadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f" + }, + "tests" : [ + { + "tcId" : 906, + "comment" : "100-bit r and small s^-1", + "msg" : "313233343030", + "sig" : "3032020d1033e67e37b32b445580bf4efc022100906f906f906f906f906f906f906f906ed8e426f7b1968c35a204236a579723d2", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAECTSlN0ZsB0MOLEj+uZC7Gft4zsyc7kJO\npNEwKRqiN/DU+S0jtGKAS1toxSVYwByZltv3J/zKu+7bliGkAFNa+g==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0", + "wy" : "0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa" + }, + "tests" : [ + { + "tcId" : 907, + "comment" : "small r and 100 bit s^-1", + "msg" : "313233343030", + "sig" : "3026020201010220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c654a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1u8gvmbIk/dBqb+Q2bdGddHCoxKWOXrL\nPvF0/QswDGVKDJVHjKADmRYtfw8tyJ79wrKKMPur4oWFcpWksMTiZQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c65", + "wy" : "4a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265" + }, + "tests" : [ + { + "tcId" : 908, + "comment" : "100-bit r and s^-1", + "msg" : "313233343030", + "sig" : "3031020d062522bbd3ecbe7c39e93e7c260220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee0629c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEtykdFATgwMB9q5NyGJ9L1Y0s6qjRXt5U\nTZUUVFup7gYpyaY9XjCHacww7CdqQQ5kZKJ+6v2eWZ2xDwU6T+SoKQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee06", + "wy" : "29c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829" + }, + "tests" : [ + { + "tcId" : 909, + "comment" : "r and s^-1 are close to n", + "msg" : "313233343030", + "sig" : "3045022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03640c1022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEu3n2GFf3Q7+htucRHOQJQ3claWnk4VFZ\nEj2VSKzDvmwfnZ+IYNz/0+s23Wwx/y5yJsIAnEyU2NfStWhr96vWdw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c", + "wy" : "1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677" + }, + "tests" : [ + { + "tcId" : 910, + "comment" : "s == 1", + "msg" : "313233343030", + "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 911, + "comment" : "s == 0", + "msg" : "313233343030", + "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020100", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b415087401b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1TO3iaSviQ+nqCofrljEBPmmKlC0mtr6\ns0nFE7QVCHQBtBcbgD52s0qYYeEPe8KJoGb9Ab0p+EyYehCl+xjC1A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b4150874", + "wy" : "1b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4" + }, + "tests" : [ + { + "tcId" : 912, + "comment" : "point at infinity during verify", + "msg" : "313233343030", + "sig" : "304402207fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82ce87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/rUWOw7OMP8+A8fVXEOA+i+oHuLANUlC\n/28IyZ0M2CzofeBe4b2gidPk4kj6D3IRAqz//fUOZUvigUM5md+Jfg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82c", + "wy" : "0e87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e" + }, + "tests" : [ + { + "tcId" : 913, + "comment" : "u1 == 1", + "msg" : "313233343030", + "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd414922897640683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEI4ztABzyK4hT4C7cicvspQULp+BCp6d/\nk4LNQUkiiXZAaD0wlGQ4QPKViQqkwYqjm0HXfdD7O7JwDk+ewoT/wg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd4149228976", + "wy" : "40683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2" + }, + "tests" : [ + { + "tcId" : 914, + "comment" : "u1 == n - 1", + "msg" : "313233343030", + "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35ed2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAElhz2SBfAbA5Rs8JzbJIv3hi9jEkG/Nf1\n72bEZ4UI817SxdGBaM++cPLxI710GSMruS3WkRPilBBhiJSBxaAnvw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35e", + "wy" : "0d2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf" + }, + "tests" : [ + { + "tcId" : 915, + "comment" : "u2 == 1", + "msg" : "313233343030", + "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000413681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b1028816528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEE2gerhaM1Op88uKkXQUnQtEKn2TnloZ9\nvcuCn+CxAogWUodg0Xc3bAnfed45VXwynMF1NRes/+j6LsKYAmuDhA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "13681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b10288", + "wy" : "16528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384" + }, + "tests" : [ + { + "tcId" : 916, + "comment" : "u2 == n - 1", + "msg" : "313233343030", + "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b89", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c291c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWqer/ba0CG1UMyXl15xulc5C+GbSu4SQ\nljOgS7GqMcKRyACIeUkF4dozM22HTi+RzPRcxZGFvt5d1vP3rKrhiw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c2", + "wy" : "091c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b" + }, + "tests" : [ + { + "tcId" : 917, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100e91e1ba6ba898620a46bcb51dc0b8b4ad1dc35dad892c4552d1847b2ce444637", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000400277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e464108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEACd3kbMFpFsrOVkLLwXTOSpsgYLO9OtU\nASDg9cIGw+RkEIIz+wuMOsiS15744Pv5LtEzrdtFVCcBMlhNxS7vQQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e4", + "wy" : "64108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41" + }, + "tests" : [ + { + "tcId" : 918, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100e36bf0cec06d9b841da81332812f74f30bbaec9f202319206c6f0b8a0a400ff7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1ac75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbvoJK2jelGDwvMkZAFpfboDhnemJaL48\n0sdwqZSb+xrHXm5Qh9ZVDV+b6x555QKTB7wlUjXi1dyZJBrDq4hsSQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1a", + "wy" : "0c75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49" + }, + "tests" : [ + { + "tcId" : 919, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ea26b57af884b6c06e348efe139c1e4e9ec9518d60c340f6bac7d278ca08d8a6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000472d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEctShnE+dLPWEjqQERbcNRpa18C1jLAxl\nTMfX7rDG0FjoxM2ZQ+RZF0x6wB+nQhmOR+bBmmvbDE9sI3gxwbP5Qg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "72d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058", + "wy" : "0e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942" + }, + "tests" : [ + { + "tcId" : 920, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205b1d27a7694c146244a5ad0bd0636d9d9ef3b9fb58385418d9c982105077d1b7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e740258f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEKo6i9Q3M7QwhdXW9+nzUfRxvEABB7A41\nUSeUwb5+dAJY+MFxIu0wP9pxQ+tYvt5wKVtlMmYBOwsOvT8FMTf27A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e7402", + "wy" : "58f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec" + }, + "tests" : [ + { + "tcId" : 921, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d27a7694c146244a5ad0bd0636d9e12abe687897e8e9998ddbd4e59a78520d0f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000488de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b80c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiN5onOmvHpS+aiCJyKixJT/9u2yOnIYk\nm6IgABpK07gMSZjlSEL0E7ntsYJay7YzXoHk0YSysByL69yF0fKJRg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "088de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b8", + "wy" : "0c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946" + }, + "tests" : [ + { + "tcId" : 922, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100a4f4ed29828c4894b5a17a0c6db3c256c2221449228a92dff7d76ca8206dd8dd", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/qLTH3D5DV+z4A4YasQqs8FhXO5xTgtO\nETGz1NgiW/ewN6GN8qwVND8w90Bn3fKegX1fd/jc4FcU2lnAlPDNqQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7", + "wy" : "0b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9" + }, + "tests" : [ + { + "tcId" : 923, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220694c146244a5ad0bd0636d9e12bc9e09e60e68b90d0b5e6c5dddd0cb694d8799", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200047258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEcliRHj1CM0kWZHnb4Lg0Gvf70D0KfhDt\nzLNrbO6lo9sXrCuJknkRKPo7ltwvvUyjv6eC7ygy/GZWlD2xjnNGsA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db", + "wy" : "17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0" + }, + "tests" : [ + { + "tcId" : 924, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203d7f487c07bfc5f30846938a3dcef696444707cf9677254a92b06c63ab867d22", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAETyhGHepkR01rs00Umcl9N7npVjPfHO7q\nrNRQFsmLORTIgYgQuMwG3bQOihJhxSj6pYlFXVpt+Tt3vF4OSTx0cA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914", + "wy" : "0c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470" + }, + "tests" : [ + { + "tcId" : 925, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206c7648fc0fbf8a06adb8b839f97b4ff7a800f11b1e37c593b261394599792ba4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000474f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEdPKoFPtdjsqRppteYHEnMrOTfeMoKb6X\nTte2jFwvXWbv8PB8VvmHplf0IZYgX1iMDx2W/YpjpfI4tI9Hh4j+Ow==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "74f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66", + "wy" : "0eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b" + }, + "tests" : [ + { + "tcId" : 926, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009be363a286f23f6322c205449d320baad417953ecb70f6214e90d49d7d1f26a8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6ab2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGVtRp8xKIbgnSnCpDed5gUw8jKNYMoII\nwJop8za4LWqyQWt8kv/9wpw7EoLdKnek0E3390UgRzk9hJmJxc7prQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6a", + "wy" : "0b2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad" + }, + "tests" : [ + { + "tcId" : 927, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022029798c5c45bdf58b4a7b2fdc2c46ab4af1218c7eeb9f0f27a88f1267674de3b0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYi/HRzIDS+wt3zvBbTSz0fejJ90qjBm6\ntLtP46JLWKpzay8vrnb0367MkJYzOwEyjVHrP9qckifpDQtEmYPE8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa", + "wy" : "736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0" + }, + "tests" : [ + { + "tcId" : 928, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02200b70f22ca2bb3cefadca1a5711fa3a59f4695385eb5aedf3495d0b6d00f8fd85", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c70827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH3+FyvLXVQ56+bZQI+u03ONFAxFpIwnb\nJplpuDS2EccIJ/RbeAIOy7r0hP3Vv6rmhw8RhMIVgbr274K9e1MPkw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c7", + "wy" : "0827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93" + }, + "tests" : [ + { + "tcId" : 929, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022016e1e459457679df5b9434ae23f474b3e8d2a70bd6b5dbe692ba16da01f1fb0a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000449c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377aefc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEScGX3ICtHaR6Q0K5OJPo4fsLuU/DOoPn\ng8ALJMeBN3rvwg2pK6x2KVH3JHS+zHNNTMIrqBuJXigv2sTfevDzfQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "49c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377a", + "wy" : "0efc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d" + }, + "tests" : [ + { + "tcId" : 930, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202252d685e831b6cf095e4f0535eeaf0ddd3bfa91c210c9d9dc17224702eaf88f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2MtoUXthalZACqOGhjXlS29plZii9hZ3\nV2VJgLr2rL5+yM9EnISaoDRhow762kFFPFfG5vvJO7xvpJrabcBVXA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe", + "wy" : "7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c" + }, + "tests" : [ + { + "tcId" : 931, + "comment" : "edge case for u1", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022075135abd7c425b60371a477f09ce0f274f64a8c6b061a07b5d63e93c65046c53", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004030713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAwcT+2Pyqm/iyt8bIO/CWcd0Rdr6h9rD\nmLhAZco0ffOyJ4GN4aObWJywcdg+UxfMzcIzjlHjEv4x2Nw0pIAXUA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "30713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3", + "wy" : "0b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750" + }, + "tests" : [ + { + "tcId" : 932, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d55555555555555555555555555555547c74934474db157d2a8c3f088aced62a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEurs2d7CVWALY6SmkE1VkDq8eoTU/incT\nMcSUbjSAr6clLxlsh+09KlnTsbVZE3/tABP+zvwZ+1qSaCubylG5UA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7", + "wy" : "252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950" + }, + "tests" : [ + { + "tcId" : 933, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100c1777c8853938e536213c02464a936000ba1e21c0fc62075d46c624e23b52f31", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGqsgGHk0cREaig6bFD/eAvyVkgeW06Y9\n4ym0JDlvumC75BMHBRdHkkQbMY06ox3+hXeCHptEbsVz0nLgNsTr6Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "1aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60", + "wy" : "0bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9" + }, + "tests" : [ + { + "tcId" : 934, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022030bbb794db588363b40679f6c182a50d3ce9679acdd3ffbe36d7813dacbdc818", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjLC5CUmcg+qAbNiFsd1GegEZ8GqIoCdu\nsM/aJ0U1qP9HtUKIM7w/LIv52QQRWM8zcYpplhzQFym8ABHR5YardQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff", + "wy" : "47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75" + }, + "tests" : [ + { + "tcId" : 935, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202c37fd995622c4fb7fffffffffffffffc7cee745110cb45ab558ed7c90c15a2f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjwPPGkInK7FTJyMJP3Lm/urIXhcA6fvp\npqLdZC10v107iacYna2M91/CL28ViqJ/nCygDaynhb4zWPK9o4YsoA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d", + "wy" : "3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0" + }, + "tests" : [ + { + "tcId" : 936, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207fd995622c4fb7ffffffffffffffffff5d883ffab5b32652ccdcaa290fccb97d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8acea2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERN47nHpXqMnoIJUnU0IefZh7s9efcfAT\ngFyJfgGPis6iRgdYyPmNP9zhIalDZZ43LDJv/y5fwq5/o/edquE8Eg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "44de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8ace", + "wy" : "0a2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12" + }, + "tests" : [ + { + "tcId" : 937, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ffb32ac4589f6ffffffffffffffffffebb107ff56b664ca599b954521f9972fa", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEb7iytI4zAxJorWpRdITciDnqkPZmnqDH\nrDIz4qwxOUoKyLvn9zwv9N+ZeHJ6wd/C/VhkfSDzH5kQUxa2RnHyBA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a", + "wy" : "0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204" + }, + "tests" : [ + { + "tcId" : 938, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205622c4fb7fffffffffffffffffffffff928a8f1c7ac7bec1808b9f61c01ec327", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvqcRIqBIaT6QX/YCs8+d0Yr2m5/J2EMd\nKx3Sa5Qsleb0PHuLletiCCwS2529p/445Fy+SkiGkH+4G9sMXqkkbA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6", + "wy" : "0f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c" + }, + "tests" : [ + { + "tcId" : 939, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022044104104104104104104104104104103b87853fd3b7d3f8e175125b4382f25ed", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2pGMcxugaiDLlO8zt3jpgaQEowXxlB/j\nNma0WwM1MVbiuyaU9XW0UYO+eOXJtSEL879Ij9TIKUUW2JVyyk9TkQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156", + "wy" : "0e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391" + }, + "tests" : [ + { + "tcId" : 940, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202739ce739ce739ce739ce739ce739ce705560298d1f2f08dc419ac273a5b54d9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEMAfpLDk32t55ZN+jWw7/Ax9+sCrtCgMU\nQREGzetw/j1adUb8BVKZeyDj1vQT514stm4RYyJpcRS3m6xzS/xNxQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d", + "wy" : "5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5" + }, + "tests" : [ + { + "tcId" : 941, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100b777777777777777777777777777777688e6a1fe808a97a348671222ff16b863", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000460e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9bd2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYOc071Yk08vw3dN1ARvWY9bWrrxkTrWZ\n/fmNvc0YzpvS2Qs6wx8TmvgyzM9sy7ssbqEfqXNw3JkG2kdNfYp1Zw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "60e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9b", + "wy" : "0d2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567" + }, + "tests" : [ + { + "tcId" : 942, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206492492492492492492492492492492406dd3a19b8d5fb875235963c593bd2d3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000485a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba33769744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEhakA6XhY9pPAt9+iYeOA2tbqBG0fZd3u\n7dX32K8LozdpdE0VrdT2wLw7DaKuyTs0y4xl+TQN33TnsACe7szOPA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "085a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba337", + "wy" : "69744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c" + }, + "tests" : [ + { + "tcId" : 943, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100955555555555555555555555555555547c74934474db157d2a8c3f088aced62c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000438066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEOAZvddiO/EyT3jb0ngN7I0zBix3lYIdQ\npiyrA0VAEEaj6EvtjPy4Ge9NVQRE8s5LZRdmtp4uKQH4iDb/kANP7Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "38066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046", + "wy" : "0a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed" + }, + "tests" : [ + { + "tcId" : 944, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3e3a49a23a6d8abe95461f8445676b17", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000498f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabfa33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEmPaBd9yVwbTL+lJFSIylI6fVYpRw0DXW\nIaRDxy85qr+jPSlUb6HGSPLH1cz3DPHOSrebXbGsBZ2+zQaNvf8biQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "098f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabf", + "wy" : "0a33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89" + }, + "tests" : [ + { + "tcId" : 945, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100bffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364143", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEXCu/ojybmtB/A4qom0kwvyZ9lAHkJV3p\n6NoKUHjsgnfj6IKjHV5qN54Hk5g8ze05uVxDU6sv8B6lNpukewwxkQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "5c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277", + "wy" : "0e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191" + }, + "tests" : [ + { + "tcId" : 946, + "comment" : "edge case for u2", + "msg" : "313233343030", + "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220185ddbca6dac41b1da033cfb60c152869e74b3cd66e9ffdf1b6bc09ed65ee40c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a3853547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4U1R4CCmESO215wGt6EzV+xrJVnul6Ptoprkz7EtcyEzA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385", + "wy" : "3547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc" + }, + "tests" : [ + { + "tcId" : 947, + "comment" : "point duplication during verification", + "msg" : "313233343030", + "sig" : "3045022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda022100d612c2984c2afa416aa7f2882a486d4a8426cb6cfc91ed5b737278f9fca8be68", + "result" : "valid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4XKuH99Z7txJKGP5SF7MqBOU2qYRaFwSXWUbME6SjN3Yw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385", + "wy" : "0cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763" + }, + "tests" : [ + { + "tcId" : 948, + "comment" : "duplication bug", + "msg" : "313233343030", + "sig" : "3045022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda022100d612c2984c2afa416aa7f2882a486d4a8426cb6cfc91ed5b737278f9fca8be68", + "result" : "invalid", + "flags" : [ + "PointDuplication" + ] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiqLGT6nGQ3Vjq/vL0AsgSNSMGMFSoqb0\nkDbedkfr6C4c5kOHmVxooGD6O8A5mwXMBu7H1Zj3UEGkkX5pK39R/w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e", + "wy" : "1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff" + }, + "tests" : [ + { + "tcId" : 949, + "comment" : "comparison with point at infinity ", + "msg" : "313233343030", + "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0022033333333333333333333333333333332f222f8faefdb533f265d461c29a47373", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71fdd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEORQn/37ngBPBSux9lqigYiCSmKeDg16U\n/WVJ1QL/9x/dZiTsNDrZ/PTZhyGB5Z+EL5ukzMrgmmwJcvtqxrTGvQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71f", + "wy" : "0dd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd" + }, + "tests" : [ + { + "tcId" : 950, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb248185ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEPzlSGZd0x885s4tmyxBCpiYNhoCAOEXk\n1DOtujuySBhepJW2jLx+1Bc+5jyQQtxQJiXH634h+wLKmpEU4KOhjQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb24818", + "wy" : "5ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d" + }, + "tests" : [ + { + "tcId" : 951, + "comment" : "extreme value for k", + "msg" : "313233343030", + "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5hIOtp3JqPEZV2k+/wOEQio/Re0SKaFVBmcR9CP+xDUuA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "wy" : "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8" + }, + "tests" : [ + { + "tcId" : 952, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502302202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 953, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3044022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e02202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5i3xSWI2Vw7mqJbBAPx7vdXAuhLt1l6q+ZjuC9vBO8ndw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "wy" : "0b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777" + }, + "tests" : [ + { + "tcId" : 954, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502302202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 955, + "comment" : "testing point duplication", + "msg" : "313233343030", + "sig" : "3044022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e02202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466", + "wy" : "0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176" + }, + "tests" : [ + { + "tcId" : 956, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 957, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303d021d00bc9052305d076c009f0250d888d0fae950bbdf53e42fc5b35850d4c5021c400a143f82c3b045ce46742aca8a1af966cc4b04e10fe96090374d36", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 958, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303c021c7a57cfac41911d334dde984ef64bacf978fb04c77ffe00892e611fad021c52a3f891c2877d433b6b5799ca6f774941370654e17811b2fc401974", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 959, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "303d021d00d48ab7215a25802132a9b0cb95493f911c965b1b2518cdaa3625417b021c1e49bc825576c5436140caa8a3332d1bb2a745f6a22ef3e80018581d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 960, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 961, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5", + "wy" : "087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d" + }, + "tests" : [ + { + "tcId" : 962, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 963, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "304402206d5091f9497241fb2a99137f56734d70797c1620fa58f292f3ddc1c21980768a02207d4681372addeec97da13d3834429a49cf94c68cc6d8380fcc1fb897caeaa4d7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 964, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30440220111af92aa721abe4492468a6ad410f85351c3f71f6f076c5160eac1665bf08a002205d9f4658ec427e54fd64ccc367f50d48c7e5c2822299e258f443cc7890d25db9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 965, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "3044022030e782f964b2e2ff065a051bc7adc20615d8c43a1365713c88268822c253bcce02205b16df652aa1ecb2dc8b46c515f9604e2e84cacfa7c6eec30428d2d3f4e08ed5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 966, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 967, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc", + "wy" : "09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3" + }, + "tests" : [ + { + "tcId" : 968, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 969, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3065023100ac5559ad224e76aa6637515357c5f0ac4ffef4f7e21297f8b65d72e6b5cc547511ddb2f0c36125b6b11c0a82308c44d20230542aea18bf5fe640d5e94fc27d69176e21cd15f0f817741e982f51e7a9d5bd4f33cd8846fbd9f6cd1ae7d0cff31de2e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 970, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3065023100d48578efe0200370eb3dba190629c584f4505b3d18dcb7176e81c94eaaba9be4b35f16b2f558cf42f6e49bb13a8c52a3023062d7450e411ce64d8349a9e90a07fc09e5521efec1b9739cc9f68d0877b4a4b4d50a5f5647ef6dc3e6a9495ccabbeae4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 971, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "306602310099c8ee5310653f6bb6f540146edc015cce3c115bf3088be1f4205930b08184be8868d8b8320f0ecc60f3b1bccd410b32023100ca49b9f4fda715d522bd0ec9b767ef6d7d0b340d3aa9fcac675874bb3dabc7b8e0c33923860b94cb00115b10ac5056f1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 972, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 973, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKpCL/Ftw4XvfrnQpSZSAi/KkLatZ\nr4sFI6Am1kCio9bTRFILYhd+LPoznKQvsIg+xCWQT72igzo7WwqaAIETZdgBIzPV\nMvj46xpiPDeKNpRlEZK72oM+O417j5Cyv8mwRfilXhtqX+FRLEAMS8nIb9fGmdZC\n9c7pu4J8iwq8DaAc7x4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8", + "wy" : "12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e" + }, + "tests" : [ + { + "tcId" : 974, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 975, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "308187024178192ba6c31398e095b1a5ba49e34f0a6df60263e8324a9d728e292c8dbe477ad9326f3e915f4006795dbeddc92b01fae052143c961b24e624eb70e0b0e6874653024201b470d58c6ec28c2fb155b2047073bc8bec3c2d9e7f50038964dd4b5b721807a679f7252fe72ca977e2bc4d8831fef14a2bf51c7919dfa7a33acdf9a9fc1ca2dbe6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 976, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "308187024160bedcd13c22d2353e613cca0f81215c34e51bf0a83faff1da5c8b4c182785358757b35a681e4eaf021af4f43d54ec49d8bfcd8dc5015b42a7a91f263fcb8db661024201050354daf39d5261bd27f36b8c1c38f48707ece9ea9311d13489dcfc5357eda2e57000c10cf0cda7b12f313842fb884a14f902ee9bca5b4da4fbbae0f969691005", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 977, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "308188024201b257e46f4a9fcba03012fbeea4cd3bb2e20fd7dd4e1ced708405330a87597407a5870861e71c3a157c021eb4beb9881fce9c3f458f3cd9dbd94e422cf07a75012e024201b55f01bd17e5a6ad7d28bfbf7560de548f96ca52683d12ec6ba347e6f3c1c4c3b6463c73bd2639014de5db1443f181d620d42e6f69b560f37732af83a6a2ef2119", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 978, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 979, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeCyO0X47Kng7VGTzOwllKnHGeOBexR6E\n4rz8Zjo96WOvmstCgLjH98QvTvmrpiRewewXEv04oPqWQY2M1qphUg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963", + "wy" : "0af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152" + }, + "tests" : [ + { + "tcId" : 980, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3045022100d035ee1f17fdb0b2681b163e33c359932659990af77dca632012b30b27a057b302201939d9f3b2858bc13e3474cb50e6a82be44faa71940f876c1cba4c3e989202b6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 981, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3046022100a2d376c52ef94bf6e458502ddf32b43e52cb6d7ca0aaf50f2e00421005507e4c022100d144a2f15c45eb048513756479eaf3fba64775297593c344596e6b3c19662c05", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 982, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3046022100f0fd2a0a44f1a2444a8b49f6de26828ee161c238ed113a722405eec674d1a71802210099a2ce92ee0a0fe669ddbe0ef8ea2c1d51110c2136893fadf4db87f3d99d6fec", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 983, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "3044022024813a5aeff4584826a72e3ce030ff39124b456c8db11574ab44e9634f2be54502200c50c914e04bfe3c87ef8dfda335686faa799591141c9b8def398c5eeae107c5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 984, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3046022100f80ae4f96cdbc9d853f83d47aae225bf407d51c56b7776cd67d0dc195d99a9dc022100b303e26be1f73465315221f0b331528807a1a9b6eb068ede6eebeaaa49af8a36", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 985, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "304402204f053f563ad34b74fd8c9934ce59e79c2eb8e6eca0fef5b323ca67d5ac7ed23802204d4b05daa0719e773d8617dce5631c5fd6f59c9bdc748e4b55c970040af01be5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7ed08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLVU/CXp8Jjq8UZsNTKMlzBdDUqg\n5EYui696jn7Qj8QOsB3IVVd7rqnjBwdwYW9XsX6phUytk4ga\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7e", + "wy" : "0d08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a" + }, + "tests" : [ + { + "tcId" : 986, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303c021c669ce9e63d915be4a217fb0bb9ad361d62e98d73e073fffbe921fd4a021c33ef2edccac60ced6d3d07c3b8f1d36687e16f8487c3e8ad5096c798", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 987, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303d021c16db8fd8135704f0a80afa911b2fd6a4c821ece419222fba82809c55021d00a0460d410d9a6c0c18664530c96a0e351098ab233d7dad8ba2d63bc9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 988, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303c021c4caf4650cabbe271f787aaf4d7482e3ebabe45dae93c83ea20aca1d1021c734be5f7361b31b316ea649732ba937313bc574617bfe3b8b3c7e13c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 989, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "303d021d00921175090125c251838efece2fe3ac1f5a52a4a3e027d864d375433f021c2c008ff69458d37992cd6b60af33e1c5ecc917cc6dbab80b74cfcb4b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 990, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "303c021c79854774987fa51e6614af166a3298d2a20ac8594a7287a9632c0be1021c13fa3911567cdcc2021d238335e67ffa01c6de22b18971854392d70e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 991, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "303c021c4f4e4d86d432a539f62dda75842544b24bbb0609d09ab1d0d1bcb976021c637ee62661e83551144240ea029572e03efd85787e45f175f0cd22d6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCZ2vR4/2D8zKNGvlBRCwDZ2DwlY\ndylBkFMIPrYdHtIsLPdpaIpf/WfaGJnSQ+Zryr4h+eeDNSY79TCLjkGnGzk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c", + "wy" : "2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39" + }, + "tests" : [ + { + "tcId" : 992, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30450220351e727003896ec02949a3cf752223bcc6c2b611b30391edd60dc0c83dc9c98f022100924ad9dc00364d4aa2091416d173862f9b02965ff176e880ea62a673e16db98e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 993, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3046022100a0ac4453893d671ebca111713ca23c3beed7b63317119858e1b8516fd1ca62dc022100a046ee1d900f36b3856aaab16523eb3f62427d305c12b9da9e5e00ebdbce0ae0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 994, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "304402205e1b940c559d2dff9418fcad50c27ad4de122d1bed47d2657ef1f756be97ce7e0220340855b0b0b045192aaeae2e96e276c9a78e1b2043c176d89cbc4951eeed8d50", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 995, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "304502203e083e2a473bda482c81c6beade21b130d15b1ca957a4576768caa3f11362f1502210087dc390d128a792252b51d8c93d1da064d702317add97dab74db78a8f2e6d2a7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 996, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "30440220745be1da902d19c76c8f57d4a1f3362b4b20ed7c8de8fc0463d566795f979cea02205916c317a1e325b53735216a0fa37737f08b32245c88084817b468a41f5afee9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 997, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "3044022044a811b2321acbc65cacf80d2dbe848946f1dac528f3e1ae38b0e54d083c258f022055d7edfaecdda3bbc062d5074e3c3719d32761159d027ca27c1725ddbd62f688", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000444ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABESrIyDCKXtmEUQo3zP+ZBlW+CAz\niTOYrztJsAIxeSAcJ9Jt1lEhwG4MWVJMk48Z2v/CqaRnnbp88Zkc7UcAWSu3XpjP\nd9v2xYTC9yc1FSkh\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320r1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "44ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e", + "wy" : "0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921" + }, + "tests" : [ + { + "tcId" : 998, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "305402287a31b7375f924369ec12bc33b834726c95444a4c263557344afa732cf48a155e71a6ee7de42e91ce022824d3d72861f4d2b551c10f0294d16a3bf1d4ee3e484439b804d097dea2d7cace76ade14af1663322", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 999, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "305402286787b980a66749ed0b63b8e1857d2d8bafe7344ca7a0d1c2c2ad23bc9d3916714bb1683ca3e19ef002286e0352e95bcd79de5cd1aac11f5ed3c42b4aa3b2bde667e939cc8aab2da60f7e27ed01375d77efd9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1000, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30550228033e4bdb806f5bf3dca2f3f839bdd9213c4904a00a2fb6ebe3ff9b4a00430a5e5547a1115676edf4022900976c3695960f25151df781955444e4581332f299d812e259c8efe857c8af8cb53144863178610db7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1001, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "3056022900ac60ae7e85aedd2e65b37a3731695f684d82c78029b4baa70e56e6fec23f3b65dd213dac69b5052f02290082ae3c06ffdceffec7da820479e6cf3f58bc3bb9b6d88e0da615b0885ece3388f6f2d2fa3685e6a7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1002, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "30540229009cf7f0d60cc1fb2d4b3e78d5f83b374e17a4aebccc6e723f1ad35babb2acfb2b75530389189395f802271110c5b8b8e5fa8dc7952a7bf6200bddae6c1d66639a07a4b6046e00bfa7a2bd9d5777b80c3a92", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1003, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "305502282417eb10a538921621066608243fd6574de84ef1281520f01ebe0444b46a607ab9eda8f3721779a60229008f1e2ea294028baeb738181e128c86ad55cb1945436cf69e090c2f6159f6f22011d731733b4433ba", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da501be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyaq6NDyy+vCYMZzE0V6iGHhvVc\njPCotmgJEXCmQi9sJJiUWoFkpLbyfN0R6ADaUBvpYbN7CYBGEM4N9A3YI2x1oS0M\ngBSxY0ZKSuunyxjSDTIiCD7EqUGFLySqPV2E4w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da50", + "wy" : "1be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3" + }, + "tests" : [ + { + "tcId" : 1004, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "306402306dd9d4e98c9c388240e95c49b2100afbe0d722f8a152651c61d7ef9bf46150e3cdf9bf6330e75e4bf2c294cd66e48d0602301282d33b5b79d4eaafa03a77bb8ba2c318291f6ea09d548b7704bb00910856dd360557e609add891c6435d7a80afddfb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1005, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "306402306e888a5eaa24d1a03318d4f6c0686e4dd584f78e7f6c00a52b5ff82e985b3efd641391ac9522685e89f9309ebe06679d023037c47e7fc27a56f86e033e9214691890d0edbf23bc267b2090f21ab6a18ade496dfe207ccd21efbaa797badaada30915", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1006, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "306402304518110ae52f101a2bf80b1969dbf50cc70189790e3805769f58239289cc60051f3337dec7803ec684208d0e56ee4140023019ea6f00caccfba71d9e56dcd47e9db355130722ebf5eeda228a15335192a3bb471f60a88c9bf8a7bfa1025c284fb829", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1007, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "306402300179a6f40039bfe52e7d30a9af9e3b24638de555bfef84840f0c9d6bd75fcb8e9b97bf33c5f8dc6b7d6b53972fe156d00230691efc254c864e9a448997c41525ffc386fa97ee489852c95a1485b1993b33e40fd3e0de7f1b64308fa829faceb3be17", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1008, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3064023065fd456814371d60883ffda5f74f36dc2d45886121770e29ed3163754716d12c1cab03a2cb6a6e3376fc96d8727bd1bf02301aa65e57932d05788413219b7ab23e5337f63fb2dcb0f89b4227d284a3fcbdf3c54c021a6c0ca42445bf802213121654", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1009, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "3065023046cb43798bc06dbe788a4f4b2b98130e3aae917f1d2a005656bd70a3288caf7c37d1dee0c9108828a69d2a1eeae113c60231008180d0c5ba1bed4f2b0d4d8ed7ea17916b63400397e7b6d70e7312c5ff0f4524a49abf7071c8ba470de64fb668570380", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200041ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd5443cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEHsf+InWGDDvA5ObkWa9+Fphd\nN626c1GsNXp8OX4HUi6kG8yo6Jd3/gW48NncjGFABPyvMKlwAaUBGhWfRvzVRDy8\nHd/HrImhovju93v5u6it5z2iEAy2o3FUa0lfteqIXrYxZF55WR22WcSSZtJj1cvT\nQDCBy0B1Nu/ppb7GmVU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP512r1", + "keySize" : 512, + "type" : "ECPublicKey", + "wx" : "1ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd544", + "wy" : "3cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955" + }, + "tests" : [ + { + "tcId" : 1010, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "308184024061483c729369413144a6be0dd05c1ac29bc440bbdaf87e572aa987e9ca423639f339bcaaad99cb1fa80b7c35416a1834ec04bcf0fe7812c712eb1f06a16daca3024041bb956c339ebcf5e4e403c7d8928d5eb4fdf7d3f53a2c06d6c9fac347f603ac3209a2af37516f807b50363b5328bc98b94354af7d59966d160f68e80c6b2dc0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1011, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "308185024100aa0f0c888b164bc5c95dde51b05b96a03194b1eeb51bb203038d874254126e2bd8facd041160d514af353c4c5b6b3879412b7e428ec96199976948a8a72ca499024047aa5389d7f95ba161db52f3a8fbdf25f67423e646d203728f8781b0bd68282a0e3c1360a282d90a2d2de4f70df63c0b1a6376c5b6bec8be918770f162ad63b7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1012, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "308184024043b42d602b8c9d58c2f3f9c692199918b202c5922c3b6a1719457033b0f291c202f79cdd05dff70f85a8fb3afbc802c51266b4d5a0d75432f624cd84cf92ac5002401fa248a12faaf352d953ba5e456e53ada5776bd96d351d7cd3b6893c25f9b1c75feaf709b297c7ed89d2afe1ee270d56b6d37d700d7f1c99acbd76739d33cf98", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1013, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "30818402405b86ad576cdc5e76a4e4a2ba795b80faa822bc07d62d6697a1a2d4c9f1ac99bdaf6c34ec446e764f598db0f422592ae59a59c8efdf6c480adfff10bff1936fdd02407725a56a95c4cbea85ebf78f01d16b63534f6f0c53d645e3c3d6e7c30ae25797a5e4e6a578368df577734823ad0efabd15581c428def0c4e34dacacb9f164909", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1014, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "30818502410089edf75e6e986305d8181386c16db44ba0d7ff40f4335569754a481f5cd48c6211a63de7bdaa485e9fa79858a4eabf111fed2959f031de2a132ba709412683a902407a8c08564f51534128bb52fe36dffaae89079011256ef8069e64d64c5610d3e611c0ba8b19027388fccc212523b22c44e85a789e16cb1bbd3240c86b43480fde", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1015, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "308185024100a620880bb7fab1180e3d8f393e4b3343dd4eb1c374f9d61252f8a201d9096ba836721f8e2d8b56cbf406960aae0e50325adfca6b1b529f06a81260bd8b15ff68024076537febbc0e24ab4992b576abf8bc0201cacf5ccf674ad3c3b1552c98ca64642eff5401afecab167ec0be195fe5ffa178f14567ef171b4827964a559d079b7a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a0004c514e66ef76e69aa6d27eb4a9147c84f2516407494ee454136a42f6b364a318ddcfd8b7024550e601ba549f96d2ca1b75d512ca6cf47fbe4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABMUU5m73bmmqbSfrSpFHyE8lFkB0\nlO5FQTakL2s2SjGN3P2LcCRVDmAbpUn5bSyht11RLKbPR/vk\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP224t1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0c514e66ef76e69aa6d27eb4a9147c84f2516407494ee454136a42f6b", + "wy" : "364a318ddcfd8b7024550e601ba549f96d2ca1b75d512ca6cf47fbe4" + }, + "tests" : [ + { + "tcId" : 1016, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303c021c34a59f27e90297e11ac10c22d15f54d6b95b39ea3e7a0e0ac19f6180021c77a1ced2a607e6f7410f1f2e5e8d95f1e9545c7a3681aed99427ae66", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1017, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303e021d00cd1c7fdb21092b5b8c5cb82fc558770728b35f78af101fe5e6489af3021d00c1bbd4168d5e4badfaf30e1de0f1bbebe421e11fc9781021eceecef5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1018, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "303c021c5d843d10309597a5fb1573c68628a7b9264b2fa5ba556181fd7df871021c184471bbdfeb0e9482b46db8be9985687b8cbd7388d09fab0569a88c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1019, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "303d021d00cdd0d45c29175bf8e9ac47d84e73eb83102995384369d45fe432d2d6021c586641ff60219da25448c314a2c4267be4d12f0e490fd46142e41874", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1020, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "303b021c3000d34848dff1f1412f9754ac38a061ae69feeef07aae4cc3ca0a5c021b3330a2e4e5ad39ee244649aad7d5fc533f0bc281c03ddbb0f6edff", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1021, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "303c021c1d0a67e5916f3eefa2794822489be4e9e8d2bfc83f31544103a11cbf021c4ae3cec888167cc93bdbf1f83ebf3d2d9a7288bdb1f094bf21b45d01", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048509d27e0e9b9720f61f48d491c6bcc62fd6d97f23394fb0b794f3bc7e926c7399fca67f503522d0453df1caf8e6db43d62c789f99fbc468774fb29efa44162c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIUJ0n4Om5cg9h9I1JHGvMYv1tl/\nIzlPsLeU87x+kmxzmfymf1A1ItBFPfHK+ObbQ9YseJ+Z+8Rod0+ynvpEFiw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08509d27e0e9b9720f61f48d491c6bcc62fd6d97f23394fb0b794f3bc7e926c73", + "wy" : "099fca67f503522d0453df1caf8e6db43d62c789f99fbc468774fb29efa44162c" + }, + "tests" : [ + { + "tcId" : 1022, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30460221008a2a6cd8b36728e5cbac83e6748d36876cb46004872b45adc05c55284ce612b602210098ac99ca605e2cd46ce17264be25899138a06340fa75c04e97b74af25ad16b78", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1023, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3044022010f580b61266cd1b3d4496c3b2ce68285bb7c2d651341fbc702782841f48790b02200f7df5adb9618c76dcbd322d2a3f792207a2a0d1f5c3a7cc01275690f80fb06b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1024, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30440220150dcf39eb3d0c097ed0edf3a33c1eef0d4c48c864f564a993a665996e5efb8602205304690dbb74c62cbad7eb15343592c6ce98ed64265e1effcfa47958172d6a6b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1025, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "304402204f0afdfa975557f8a144c9b0b2a60f43e40f5b9ba0d80779943a106e6a278b6902201d52424c3aeb9800c2afb9a066b106b66f202717828a261ed27476190d3f62d4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1026, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "304402204ebd5f5e64c10e74bd32a769565c49f931ec3b69f74859e4123dd85ddfa6ac7502200c1498cb92ce45a6e777a1f7d8de1e1f11f8056ba675ec9d1027b884a9e25177", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1027, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "304402205895cb223665173957d33b1bdbc9727371cfe5ebfb596b8e366b9f1c75aa0a0e02205d372010b36dde53c599262829a8f88581ad6247d3f30a2b692963212db88b6d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "306a301406072a8648ce3d020106092b240303020801010a0352000461447d3e1bb7da8122352bada17ab980cf5cbddbe09c4269533c7b48764bbfdffa78af06ef6333226ac4899f6a0bfaff640c91ae099489b18093ed1987b9a18cf621653b93dfcaf6bbbe9696e52281c8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEKA1IABGFEfT4bt9qBIjUrraF6uYDPXL3b\n4JxCaVM8e0h2S7/f+nivBu9jMyJqxImfagv6/2QMka4JlImxgJPtGYe5oYz2IWU7\nk9/K9ru+lpblIoHI\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP320t1", + "keySize" : 320, + "type" : "ECPublicKey", + "wx" : "61447d3e1bb7da8122352bada17ab980cf5cbddbe09c4269533c7b48764bbfdffa78af06ef633322", + "wy" : "6ac4899f6a0bfaff640c91ae099489b18093ed1987b9a18cf621653b93dfcaf6bbbe9696e52281c8" + }, + "tests" : [ + { + "tcId" : 1028, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3055022900accb506f1bad3d84f2966be7630ff551be70c1c1d6f45728abde037bf2a6b3bbc2dc94416539339d022865c576935e93ac452834bdf9cf3a6ce91da7fadaba34b24a0b5aa47f717ae3d1ef21c6ef7ef6be32", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1029, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "305602290099e8f2d8c52b9653cc551a3bae5ab2a32583bc8020839b734d3221e0775252913d7e112bf6a9d5db022900820ab618950c60360af8be40b49764adeae7c9045cb495b9a59c38eea918aab13b6d0837a200ed75", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1030, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3056022900d1715a0735fd59458d85f81a8b06ca7aa52f8dd7556a68c9584faeb3d5240253b065b4cc37b03aad022900a30f02a082ccd073f9f22d7fa6f80637a13d6428874236a48b64140b73ff85a5ec14c266e592a2f4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1031, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "305502286f64c4e05fb8f11e7ca9c71407de33d824adf4c0da9abf2f74a7b28dae2253586b18d3a69bea0520022900ca8ef19ae2f278265db27259693e57c7cf52e5c12d53f29e321a68aea5570f9f428854522813979f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1032, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "305602290080439603434ae38f3f08ca8812c3cf6b5b41973aace77ce5acc0fec5accbe5fce65b9dfaeeb1d75d0229008a952af632fc4823ff40f7d65be23e85717ef2111118b2b22932dc3f8b479501e1bc422fb0f6309c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1033, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "305502286ef646d78f7f4d69aa7378a9d199bc7fc5355f65a83b62de0d78ca3f6a9588d873b6a54ba9cbf98a022900b31e5ca01a5d076e70a1b8de28eff126bb3cab9f0e607a2cfd3a8056b6896762bae51b25861b8ef7", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000400d95b9bbcf029074240d23232b287fec40768d9d31826a2d128d48667c91fddd509ce449d7de14568af320d15499f964cdccbb334791e89c0ea0dadd3e9ab657d6dec8a38b174c6f3a9da08d8bf3703cbb21ed3c35dc702536aaeef03bd56a0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABADZW5u88CkHQkDSMjKyh/7EB2jZ\n0xgmotEo1IZnyR/d1QnORJ194UVorzINFUmflkzcy7M0eR6JwOoNrdPpq2V9beyK\nOLF0xvOp2gjYvzcDy7Ie08NdxwJTaq7vA71WoA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384t1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0d95b9bbcf029074240d23232b287fec40768d9d31826a2d128d48667c91fddd509ce449d7de14568af320d15499f96", + "wy" : "4cdccbb334791e89c0ea0dadd3e9ab657d6dec8a38b174c6f3a9da08d8bf3703cbb21ed3c35dc702536aaeef03bd56a0" + }, + "tests" : [ + { + "tcId" : 1034, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3064023038d0472c6a7fb0fa0b605023eca6e26c7570820554f1d3ccb9cce15579469c057ca6f99cafb591599ddc1713cd67e659023050f3983145a748dda08ab2547eff692b69606beffa993380f27fdf6fb91ba7bb9b3b37c65586c9512ff10ba849b58987", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1035, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3064023019d242b769d4188423daea513f769c3808b293cb3a7859d313bffe85f365df03c5427a2f60b9ac8595213e33aaa0675302302da4780efdf2fbae4df8828e07c162623c2116ef715e8b40b96c6fc20cc283c9b2fc6b0529c36dc8bcd21350a2a33c55", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1036, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3064023077ceb23b51b24c9910f6e05e52398892a18c14d6ca60445679b2e45798ab702349c7c3b5da5ae97a5c9aad16a7c7c96f023079778d545b5926b60d0a204cbd2f72e25f586cb535fae8370b321a2ef3ce72470e1e41c9662601eaf1a98df6279e09fe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1037, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "30640230152ca621474847b02e3cd14ec2c8e21247aacc830a0a5410bf408d5837d9ddd45738637134e55555916828922db3e4ea023039f3093eec232e1449d72a3a2b68cef4fd436c498ac265f90edc7bbbe1b102d5a42a801f3be233bacb5c52ce488fe83e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1038, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "3064023029b74d0c4211d1e36e8fcf0ae00a4b3fe738478119866c0503da62b6abdb96bd61fa70460be6aaa0579e162d045cc8be02304820e4bfe763eb12f37b1f852723728feb63c86741d4dd2196446ea5f47c2f879f11fdf23f121f950169901f3c4cb03c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1039, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "306502305e83a0b1c1bdfe98babe8f83bc046d5a896fbf307c8a468f4567dc2940a11d31344d3575620bd0c4201b80d6cc2a3ca9023100801352c92b908ce2f7522492ade4dea788ddb6d17204387d764ce7c2940302a98b62cf83baa69f0c735a56fe8c35dbeb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004a5008ecb5b6294ab2ea71a9e23694973c95a0b5f5874ade775d349a23148038e6c7311aa69aba4b9fa8cefe8ff9bf1c5f4324e3f3cdf43143b1d35df7cf7f5071bc165ca46fe65152d2e74d95ce1a740d5e1a2728005f72ed66e5eeef49d9750a7471c45658d0d189890a1616aa66d6487cc3e70ac950fe81e550dab58fdb55f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEpQCOy1tilKsupxqeI2lJc8la\nC19YdK3nddNJojFIA45scxGqaaukufqM7+j/m/HF9DJOPzzfQxQ7HTXffPf1BxvB\nZcpG/mUVLS502Vzhp0DV4aJygAX3LtZuXu70nZdQp0ccRWWNDRiYkKFhaqZtZIfM\nPnCslQ/oHlUNq1j9tV8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP512t1", + "keySize" : 512, + "type" : "ECPublicKey", + "wx" : "0a5008ecb5b6294ab2ea71a9e23694973c95a0b5f5874ade775d349a23148038e6c7311aa69aba4b9fa8cefe8ff9bf1c5f4324e3f3cdf43143b1d35df7cf7f507", + "wy" : "1bc165ca46fe65152d2e74d95ce1a740d5e1a2728005f72ed66e5eeef49d9750a7471c45658d0d189890a1616aa66d6487cc3e70ac950fe81e550dab58fdb55f" + }, + "tests" : [ + { + "tcId" : 1040, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30818502403a146c30a1e275ef8e6410288c48e9751d82c14cce9a1a8367cb272bda61048e6272bbfbe781a52f2694229a5fa49fb021b90b67dd976e83b7eabd3d6893d613024100810c5bdc99f722390918937ef115276cae34b30441285ed7242024dea1704445bb694848f6c2914e818af6947e3df8072fa9643ebc199ca88a374df7fd2fc009", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1041, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "30818402404747ab518a295690a79e3d94f3bfce525127c9efb3b52ddbfb60732e011e3fe562f91b2a4e476148c02ffe3c430ee7fd7cd9f2fcb7be29eb70cf2044f9c1b511024067c0b1de933bdd0e48ace2771771b7905d7b10cf1a8cb6ec1f4c66a7d314795a7f8ca2ac8370483cdf72430506bcf7afe2c09b407c296804e2c102f438ac2700", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1042, + "comment" : "pseudorandom signature", + "msg" : "313233343030", + "sig" : "3081850241009e2c83ad6ee75cc9f702ffe637d62c0d24442feacaf465edcf8868185615af5b42f39902df77ddd7dc86c519252fd09caa7063576e44f9b41b05aac372bd4957024005f25c0cef70be6bfa0389ec4084a3b953b354e1a3e667fc3caa29748d09e85cabcad230c3ce70308e130eeba4dd05b78a22a0502f20a95af4bea416b624264c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1043, + "comment" : "pseudorandom signature", + "msg" : "54657374", + "sig" : "30818402405326efd4d3969f3074cc2fc1226e0cd0a00be4cec1d01643812435bfe135ccd781040cd201101eb45c13d4654dbe3902109ec662dbb63b9e9d3ea017a62209d3024003fb04f8b00612a0020e8cdadf30a064436ced16a34ed7ec4d332950b93083b506ce05d12465877aed3db3744ba7b8e4698bc1c125bd38517f15949444b8fc8a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1044, + "comment" : "pseudorandom signature", + "msg" : "", + "sig" : "30818402401ebb81543b870229db3a440fdcf6402e22b5f9760c3b95e44bca6a7b7ad3df5c6e9d07f71ac6ce63916141baa92171bde9701b59907da2cfa922b30611188a2102406adba7340a1687dae2596329218a856ced4e86d0a39ddd7c1634233e061767dbf58751a05df152b49e0a5d722358a6d8fe7e69176621a365772cafaf41714833", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1045, + "comment" : "pseudorandom signature", + "msg" : "0000000000000000000000000000000000000000", + "sig" : "308185024100a6b9e91472661f0a15d79e3dd4c6b05921e07c456571233f4af67c66e94a9e06c6daddece057dc49b617f95138038a28d77a984015548d487adb3d55152129d002404c657ef2b28b0b7171a5c4ec4a11a894cba4c312be4d26013e508766f43cf8f7986d54fbc358e8b95b4171bee39fc0c8e1810e6e4642c31c740138f44e2586f8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ae6e3df43c00de10df3343347a02dbb18e82cc10d85ae90a9eb26c883d75603868e747b659b786745a83e5d05aacea097ebb7f4d24a4e47997fecf7faa19bf35", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErm499DwA3hDfM0M0egLbsY6CzBDY\nWukKnrJsiD11YDho50e2WbeGdFqD5dBarOoJfrt/TSSk5HmX/s9/qhm/NQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0ae6e3df43c00de10df3343347a02dbb18e82cc10d85ae90a9eb26c883d756038", + "wy" : "68e747b659b786745a83e5d05aacea097ebb7f4d24a4e47997fecf7faa19bf35" + }, + "tests" : [ + { + "tcId" : 1046, + "comment" : "Hash weaker than DL-group", + "msg" : "4d7367", + "sig" : "30460221008abad7ad92a9b9a33a4f9b4015bbd63ff1e89f626a76215ce09402f30b488bcb022100b2296e39a8a4b3ee38748a874b88cb085bd1645b82183aae2da7b45cd2632bbd", + "result" : "acceptable", + "flags" : [ + "WeakHash" + ] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429870e7f1077d2da9faac31ec2037770f21224f9fc48274e11007fe606254b51979c6b7feebe320ee32e734d9d2c208309ffd2a3a35749b0945e7f66bf1a807d7694d76bdf27fd048b6acfa091d58e6d936b83765c5542807bdf7bbe3371b5ed", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKYcOfxB30tqfqsMewgN3cPISJPn8SCdO\nEQB/5gYlS1GXnGt/7r4yDuMuc02dLCCDCf/So6NXSbCUXn9mvxqAfXaU12vfJ/0E\ni2rPoJHVjm2Ta4N2XFVCgHvfe74zcbXt\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "29870e7f1077d2da9faac31ec2037770f21224f9fc48274e11007fe606254b51979c6b7feebe320ee32e734d9d2c2083", + "wy" : "09ffd2a3a35749b0945e7f66bf1a807d7694d76bdf27fd048b6acfa091d58e6d936b83765c5542807bdf7bbe3371b5ed" + }, + "tests" : [ + { + "tcId" : 1047, + "comment" : "Hash weaker than DL-group", + "msg" : "54657374", + "sig" : "30650230496f9bb6374555956d9e44465891e2966aedc4fd1b5eec55acb889a74ad52455b0766a2b04933ba80ef042aca87a8aba023100adc16d5cc47504a632164987bdd53063047f4f69fb9db2140b95c931bc3193f433797854c4b4afe3f8b0e73ccf1ac698", + "result" : "acceptable", + "flags" : [ + "WeakHash" + ] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040062811f3e388189e2ea2bc7800bb47e6c01eead17e5c08a7e92bdbf5386dec6b13afced5a4bbb49ca0a87c6ef9575e4d2bcca9c02ac3a7c7c9235d77db0a0c4d4b701b163f2db0e5f4a49a9498dd4cffc1bbcafe56820c479cd0ffb36ff3bd2b2106b447faceff8b9169fcc88743adc9b78fcc97516d8c536e64a36e9d1aacec9294b34", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAYoEfPjiBieLqK8eAC7R+bAHurRfl\nwIp+kr2/U4bexrE6/O1aS7tJygqHxu+VdeTSvMqcAqw6fHySNdd9sKDE1LcBsWPy\n2w5fSkmpSY3Uz/wbvK/laCDEec0P+zb/O9KyEGtEf6zv+LkWn8yIdDrcm3j8yXUW\n2MU25ko26dGqzskpSzQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "62811f3e388189e2ea2bc7800bb47e6c01eead17e5c08a7e92bdbf5386dec6b13afced5a4bbb49ca0a87c6ef9575e4d2bcca9c02ac3a7c7c9235d77db0a0c4d4b7", + "wy" : "1b163f2db0e5f4a49a9498dd4cffc1bbcafe56820c479cd0ffb36ff3bd2b2106b447faceff8b9169fcc88743adc9b78fcc97516d8c536e64a36e9d1aacec9294b34" + }, + "tests" : [ + { + "tcId" : 1048, + "comment" : "Hash weaker than DL-group", + "msg" : "54657374", + "sig" : "30818802420125a17621b3636ba15386af51d678a465784bfd37fd68cf1e9aab218d29937ad45c0b854fdb4bb955e84cbb64c7268c691dd08c7a6c7eae5f2c2e46a564acbf0343024200b080aaceaa9723a962ada29a05dacffc3876e1e47abc08d7be9826d9d0f59da4035ba94bfc76846c477c946b651047a5850cb91c51c134cc29df6a431281905274", + "result" : "acceptable", + "flags" : [ + "WeakHash" + ] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000416c22e9e7de9e490012c93677a0527f50277d82c069349bc5ed85c65c8ddf45e4ce925bbb61a3f99753972f79d2fe1e8485e06347fffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFsIunn3p5JABLJNnegUn9QJ32CwGk0m8\nXthcZcjd9F5M6SW7tho/mXU5cvedL+HoSF4GNH////8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "16c22e9e7de9e490012c93677a0527f50277d82c069349bc5ed85c65", + "wy" : "0c8ddf45e4ce925bbb61a3f99753972f79d2fe1e8485e06347fffffff" + }, + "tests" : [ + { + "tcId" : 1049, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303d021d008a5d2e7556d47be42d55e92103c2fb35caceb386c04413bb657d4381021c4c7377529e10821c795d696408cf1bd098e8fe5b49233068a0ee36e6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1050, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303e021d00f8fb28d33156387cc5c1c359df36d546dfc529912fe696861fc888d9021d009e5f9c74549c188098ef0691defe34e376855288a0bacd41a5829f0d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1051, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303e021d00e2b9d6073dd7b32467e0cad6e8f066d56696c97193d115c4eb9c5a49021d00e1a310acacd29e1a9e0cb373191632fd513865799947f7af0b1c70c3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000443f6b3e6a5968b48d8c72a2d98fe81e6ef5dee9af38bcdd3de6c5f89aeee5daba5037a5260955d99c7fdbb6cdb02ee85844f32a4ffffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQ/az5qWWi0jYxyotmP6B5u9d7przi83T\n3mxfia7uXaulA3pSYJVdmcf9u2zbAu6FhE8ypP////8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "43f6b3e6a5968b48d8c72a2d98fe81e6ef5dee9af38bcdd3de6c5f89", + "wy" : "0aeee5daba5037a5260955d99c7fdbb6cdb02ee85844f32a4ffffffff" + }, + "tests" : [ + { + "tcId" : 1052, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303c021c5da1b59e7997ab7e0013c4af5db3608fd506f723e506106f40d96094021c74685189b408ed0bd2e3c96c568995845ac0b064fee3e1bc5da9532e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1053, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303d021d00a51d2c5d925cdc054e9c4bd6e0b0f5058734f74f0e1e0e491a73dc02021c714bbc6f446ef30e707acc9c84c3ba119414e55a66e3644e4f31c531", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1054, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303c021c388da108a77679c2ce7951d4fdc1777a95bcb25206b9a21eeb4c46d6021c31121ea14452e1fac5836646769239a6e99648358fbe12feeed70321", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b1700000000180e0dd4b058f7d7cb35f25870d838feea105211bc9f98388", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoQwBghyQlOKzkTkqqA1V2Q2jUiZzkDLv\nBRWxcAAAAAGA4N1LBY99fLNfJYcNg4/uoQUhG8n5g4g=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b170", + "wy" : "180e0dd4b058f7d7cb35f25870d838feea105211bc9f98388" + }, + "tests" : [ + { + "tcId" : 1055, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "303c021c33796e8bcdfd9d44d19dc1e0951712b97ba8d77aa7a5c506ee200e1f021c19e420f877105f3700daf364e9d87f9b7849cb60e2a9fce82ac5a090", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1056, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "303e021d00e6f67d52183f9284c49c0ac6dd32966ca48e9f8f4a8ff997b5bad529021d00d982695a83061ea483e554d8e701f75bc643f12dd51725fdafef198e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1057, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "303d021c029871f6677cf395c9480735242735baa9be08147f7218ea4c678030021d00a4f0b91c0021bd664bc4df6a524931a6a8a434131c91283c9d028e45", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b170fffffffe7f1f22b4fa7082834ca0da77f27c70115efadee436067c79", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoQwBghyQlOKzkTkqqA1V2Q2jUiZzkDLv\nBRWxcP////5/HyK0+nCCg0yg2nfyfHARXvre5DYGfHk=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "0a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b170", + "wy" : "0fffffffe7f1f22b4fa7082834ca0da77f27c70115efadee436067c79" + }, + "tests" : [ + { + "tcId" : 1058, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "303d021d008ae9d987abef0761c7657ed2a716098c0b75df077410e560e467141f021c73a34bb1f3aee02b1cebc676938680cc7b87b58fc0cc3c5a1b154e93", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1059, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "303c021c59ce9a92b60d319b832e5a8767b54627458ea2ac2bb8c30ad17a8a12021c702fa8ed4997262e646ba1f1f503252f53d029fc79446e1132825234", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1060, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "303e021d00e3862efa8044995ddb292df13c6ff303d18decf5c35f10f336477812021d00e4292971a476600cfe676fd14e7e77a57ec1619386917f8298aee08b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048c589daff97983c7dc5eadd8183fdc91f03811bd722557aa7fffffffb2302039ed0b831fdd0db45bf40253df69137c086c2d7340829a70cf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjFidr/l5g8fcXq3YGD/ckfA4Eb1yJVeq\nf////7IwIDntC4Mf3Q20W/QCU99pE3wIbC1zQIKacM8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "08c589daff97983c7dc5eadd8183fdc91f03811bd722557aa7fffffff", + "wy" : "0b2302039ed0b831fdd0db45bf40253df69137c086c2d7340829a70cf" + }, + "tests" : [ + { + "tcId" : 1061, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303d021d00ae0ab1d36249d97af3157fbf5c621f084ce75711f4fbdadb04046d04021c4a5cb9a2747843251363d80f685eb67795ead41ecea1b4c6ccbd8fa9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1062, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303e021d00ea1439d315b156ae68da113845366fe2d850336b30448fa46ed615ce021d00884d16de77edc7ea9326ba63c53c5d551e7765aa049078ea4f3d476c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1063, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "303d021d00af18ea84ef3ce2243947595c47945e82d8cd7ffaa3df306fbcea5fdf021c11bfca4e0820a08f5efdb8da6f1f52a0b7e4d9966fbeaa1cd95b11af", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", + "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5" + }, + "tests" : [ + { + "tcId" : 1064, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1065, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1066, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "keySize" : 224, + "type" : "ECPublicKey", + "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", + "wy" : "0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c" + }, + "tests" : [ + { + "tcId" : 1067, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1068, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1069, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000", + "wy" : "0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685" + }, + "tests" : [ + { + "tcId" : 1070, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1071, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1072, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935", + "wy" : "084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000" + }, + "tests" : [ + { + "tcId" : 1073, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1074, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1075, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935", + "wy" : "7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff" + }, + "tests" : [ + { + "tcId" : 1076, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1077, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1078, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff", + "wy" : "0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e" + }, + "tests" : [ + { + "tcId" : 1079, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1080, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1081, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5", + "wy" : "5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73" + }, + "tests" : [ + { + "tcId" : 1082, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1083, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1084, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e", + "wy" : "1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71" + }, + "tests" : [ + { + "tcId" : 1085, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1086, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1087, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015", + "wy" : "1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2" + }, + "tests" : [ + { + "tcId" : 1088, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1089, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1090, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015", + "wy" : "0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d" + }, + "tests" : [ + { + "tcId" : 1091, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1092, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1093, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv8AAAABBgSS1aVnPg8l2NUPt+WMSdhtRtQhaVXgqj1A4Q==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff", + "wy" : "1060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1" + }, + "tests" : [ + { + "tcId" : 1094, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304402206d6a4f556ccce154e7fb9f19e76c3deca13d59cc2aeb4ecad968aab2ded45965022053b9fa74803ede0fc4441bf683d56c564d3e274e09ccf47390badd1471c05fb7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1095, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100aad503de9b9fd66b948e9acf596f0a0e65e700b28b26ec56e6e45e846489b3c4022100fff223c5d0765447e8447a3f9d31fd0696e89d244422022ff61a110b2a8c2f04", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1096, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "30460221009182cebd3bb8ab572e167174397209ef4b1d439af3b200cdf003620089e43225022100abb88367d15fe62d1efffb6803da03109ee22e90bc9c78e8b4ed23630b82ea9d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv/////++fttKlqYwfDaJyrwSBpztieSuSvelqoeVcK7Tg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff", + "wy" : "0fffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e" + }, + "tests" : [ + { + "tcId" : 1097, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "304502203854a3998aebdf2dbc28adac4181462ccac7873907ab7f212c42db0e69b56ed8022100c12c09475c772fd0c1b2060d5163e42bf71d727e4ae7c03eeba954bf50b43bb3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1098, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3046022100e94dbdc38795fe5c904d8f16d969d3b587f0a25d2de90b6d8c5c53ff887e3607022100856b8c963e9b68dade44750bf97ec4d11b1a0a3804f4cb79aa27bdea78ac14e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1099, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3044022049fc102a08ca47b60e0858cd0284d22cddd7233f94aaffbb2db1dd2cf08425e102205b16fca5a12cdb39701697ad8e39ffd6bdec0024298afaa2326aea09200b14d6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAAAAAT/SIkjWTZX3PCm0irSGMYUL5QP9\nAPhGi18PcOD27nqkO8LG/SWx2CaSQcvdnbsNrJbcliMfQwcF+DhxfQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "13fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0", + "wy" : "0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d" + }, + "tests" : [ + { + "tcId" : 1100, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3045022041efa7d3f05a0010675fcb918a45c693da4b348df21a59d6f9cd73e0d831d67a022100bbab52596c1a1d9484296cdc92cbf07e665259a13791a8fe8845e2c07cf3fc67", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1101, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3046022100b615698c358b35920dd883eca625a6c5f7563970cdfc378f8fe0cee17092144c022100da0b84cd94a41e049ef477aeac157b2a9bfa6b7ac8de06ed3858c5eede6ddd6d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1102, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304602210087cf8c0eb82d44f69c60a2ff5457d3aaa322e7ec61ae5aecfd678ae1c1932b0e022100c522c4eea7eafb82914cbf5c1ff76760109f55ddddcf58274d41c9bc4311e06e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJa/WiayrrtZ8Hylt5ZQG+MVQ9XFGoLTs\nLJeHbf/////6RqduUgMi37xJHsTwzBl0IPxOpYg9j23VPDVLxPZ8NQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "25afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dffffffff", + "wy" : "0fa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35" + }, + "tests" : [ + { + "tcId" : 1103, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3045022062f48ef71ace27bf5a01834de1f7e3f948b9dce1ca1e911d5e13d3b104471d82022100a1570cc0f388768d3ba7df7f212564caa256ff825df997f21f72f5280d53011f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1104, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3046022100f6b0e2f6fe020cf7c0c20137434344ed7add6c4be51861e2d14cbda472a6ffb40221009be93722c1a3ad7d4cf91723700cb5486de5479d8c1b38ae4e8e5ba1638e9732", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1105, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3045022100db09d8460f05eff23bc7e436b67da563fa4b4edb58ac24ce201fa8a358125057022046da116754602940c8999c8d665f786c50f5772c0a3cdbda075e77eabc64df16", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE0S5sZrZ3NMPITSYBz1013Al+J2N/CspK\nT9t0tqrdO7k/W9/4i9VzbfiY5pkAbtdQ8RzwfFhmzXrXDHEh/////w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb9", + "wy" : "3f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff" + }, + "tests" : [ + { + "tcId" : 1106, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "30450220592c41e16517f12fcabd98267674f974b588e9f35d35406c1a7bb2ed1d19b7b8022100c19a5f942607c3551484ff0dc97281f0cdc82bc48e2205a0645c0cf3d7f59da0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1107, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3046022100be0d70887d5e40821a61b68047de4ea03debfdf51cdf4d4b195558b959a032b20221008266b4d270e24414ecacb14c091a233134b918d37320c6557d60ad0a63544ac4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1108, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3046022100fae92dfcb2ee392d270af3a5739faa26d4f97bfd39ed3cbee4d29e26af3b206a02210093645c80605595e02c09a0dc4b17ac2a51846a728b3e8d60442ed6449fd3342b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbUp/YNR3Sk8KqLve25U8fup5CUB+MWR1\nVmS8KAAAAADmWdNOTfONnoyeqt+6NmEsdpGVvobHeqw/NueLU4aA+w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256k1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000", + "wy" : "0e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb" + }, + "tests" : [ + { + "tcId" : 1109, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "30450220176a2557566ffa518b11226694eb9802ed2098bfe278e5570fe1d5d7af18a943022100ed6e2095f12a03f2eaf6718f430ec5fe2829fd1646ab648701656fd31221b97d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1110, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3045022060be20c3dbc162dd34d26780621c104bbe5dace630171b2daef0d826409ee5c2022100bd8081b27762ab6e8f425956bf604e332fa066a99b59f87e27dc1198b26f5caa", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1111, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3046022100edf03cf63f658883289a1a593d1007895b9f236d27c9c1f1313089aaed6b16ae022100e5b22903f7eb23adc2e01057e39b0408d495f694c83f306f1216c9bf87506074", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac", + "wy" : "0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1" + }, + "tests" : [ + { + "tcId" : 1112, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1113, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1114, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422", + "wy" : "0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000" + }, + "tests" : [ + { + "tcId" : 1115, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1116, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1117, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000", + "wy" : "0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557" + }, + "tests" : [ + { + "tcId" : 1118, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1119, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1120, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69", + "wy" : "0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98" + }, + "tests" : [ + { + "tcId" : 1121, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1122, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1123, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336", + "wy" : "208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4" + }, + "tests" : [ + { + "tcId" : 1124, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1125, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1126, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336", + "wy" : "0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b" + }, + "tests" : [ + { + "tcId" : 1127, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1128, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1129, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoAAAAA\nAJuYv9MzmMLPhgb8CuRottYXzLPnBK87hQZkKnddW02p0AIJNkqfCkrXfLrGBKAV\nyX5rWhiESliaTxx9liU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a", + "wy" : "09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625" + }, + "tests" : [ + { + "tcId" : 1130, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1131, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1132, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c024201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoB////\n/2RnQCzMZz0wefkD9RuXSSnoM0wY+1DEevmb1YiipLJWL/32ybVg9bUog0U5+1/q\nNoGUped7tadlsOOCado=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a", + "wy" : "1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da" + }, + "tests" : [ + { + "tcId" : 1133, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1134, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1135, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAAAAAvumoGEgHqax7UJlFjVoc166\nt4YAzfanEQHcY76vVG2XohT8Y5Z5OwFOsap6co9T3rL/mZmjgI3f7RXpYpsBmThS\n2tw5KZpaRba9fI3I7Gfnrbs1n6j6XUSXfhXi5ams8MM2RfPyxoxSbgdzL7NQQ3Gc\n+vwWBjyOWIUKlYQ2pOU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b", + "wy" : "1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5" + }, + "tests" : [ + { + "tcId" : 1136, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1137, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1138, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/////h1dUrMcpS+JR6NVk+3xZM0y\nT4M7kJNYRsZNsUVN+fAo3IvDa7BMt/DM7OugGjhECX98Ne6qgUKNsMymMzEBt8cC\nd9C/eKPHtiyTfwyyytJWX1UU9iBc6xoZPU/bRbpubOwHgnuuCxa4MWw1OaFRFNDe\nbS3kB/1xF1UacIJuraY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331", + "wy" : "1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6" + }, + "tests" : [ + { + "tcId" : 1139, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1140, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1141, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAx8iBe/LwZSpKS1FAx3PiYQgKChET\nlYVuijNQ9etWEr1js2e5ZekulTjqO3kIrvGt5LaOF/n5FISVwWfRxN1JE0kACL8L\n4peau4ER/Q12itytd0ETqCLBu2CIcFO1z4yVY+dnBaOR7OFUtd+xFLIONR30AUvs\nGfqHcghFgBzwa3////8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349", + "wy" : "08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff" + }, + "tests" : [ + { + "tcId" : 1142, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1143, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1144, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f7749507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKn7V9tiUBOJWU8O6fwWUvqDN3+j\nAuGc72QlL8CxR/d0lQes9bBDOe0QK5ymDbmMFluU6+hV0iAuRtzhW6HgKL4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f774", + "wy" : "09507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be" + }, + "tests" : [ + { + "tcId" : 1145, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3045022062aab40a36d6a0d25644719ce31dc629ec684f6f0da32f9dd034ccc421dbd0ed022100a1fa6b0dfd9558da29374fb77505ee8ab3572161711f821d11807c7fff910c1c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1146, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30450220740cd3d3a9cd9dbe05ead4e39e54db27c0f1579da68e3aa5c9245b047aebc3b80221008ae78c12233d378fe2ce3c0fb2b769f8463830a71a5e5187c11b20fdd7e50445", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1147, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3045022100a28f30245c5fb0c225fdec23924dc2cd4c2da888d1ee1bc5445858c646015ca802200ee364c1491c4551ef3509be8f88db0e04d0afb36528aeda1301b14948cc9cd6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e884652761270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDUaRfuSDyyfGxeEOPo78nL/kyi4\ngcR3ofVqjA6IRlJ2EnD4Bv5ArZfr92xoJThLeArmr8zHkrBfL7Pre3////8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e88465276", + "wy" : "1270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff" + }, + "tests" : [ + { + "tcId" : 1148, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304402207f202f54f591b51105b227ee6d6da3adddfc4b5e819efc04befcdcbf7484f78302204360ea04503955fc3f025928b2dce50ff2d58b9060b34bbedfc3c219b3b4355b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1149, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3044022062e218dca32e4ef35692e9315e1e036bef1766073b846e38de20d2d29349f9fe0220519d4d4c6158d95474d793a0ee9c260a0c5469c5aab79510971b41fb4fae4baf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1150, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3045022100a3902295f6f743ac754db7b3fcd823be917b1191a5705728f5682492784da7f1022043def636660eff72e6435edb850c9126c7067938668f249998a0e4006b8ee7db", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc35354a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAAAAAEpshRuNvwFVUW/jyzHD45z\n6LJeU5NlrXV3zDU1SiuMAxm8TM0+YNoRlHfCP6+PwtzvxC0691gnrrQvbw8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc3535", + "wy" : "4a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f" + }, + "tests" : [ + { + "tcId" : 1151, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304502210086d05b26a9ca7e10ae0681bb4c35a06d7a4e918f8625e3dfa7ac2d5aeda91c05022008c5f475a95888769da4a0e1b635c2292f654f934a5c5010fe0c729f3d11e1b1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1152, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3045022043c4474710d25094a2e21a9cc08585c26015f9f94012b100e72c0763aa9e0cff0221008345c46fd5592cefbd5ebb258965c05d964e6e6a278198ddc1e388cf1e75867c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1153, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304402206d2724167e816528491cce574f0526209de52cd0f2af0085284fd050163d37c5022076dd1dd50ff9b553b0e142b7e6c6be8edf3708dd292f03f3e9bf157d21daa9eb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d0508541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgL7Kvn199Prf5a4B+6XqUbdnWW\nBqLjBhLmZ0GbiF0FCFQdywcjeFw8dmWBp1FKH/QuRDfWP4eCccuGDwAAAAA=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d05", + "wy" : "08541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000" + }, + "tests" : [ + { + "tcId" : 1154, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "30440220321009a06c759c54cd66baafa0cbfd07eedb19f12a1ed654dd52b56f9c4fac7c02201956310a7e4757ec83ddb92d2763607354678149f1ad92387928cf887b4bed0f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1155, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "30450221009bdd359881c239e2415ca2af3d18463bb24be53f6f636cbd20360b6b333bc34502200ff03bc36cc1975bdc8680c44fbf2aefddf67c118c304b8b3d360eb10203c3a4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1156, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3044022048565eb7e7820d40754b5f264a4ceafa62bf75084241514b491995e7971e699502203da6df3d354f48daef6d078cf1124295fc8c3211f2757967c781dc2e9c62ed1a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee906100000001469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhAAAAAUaftFbKahcgyo2yXVZ+Ehz5Ic4T40AA+MEvUnI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061", + "wy" : "1469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272" + }, + "tests" : [ + { + "tcId" : 1157, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "30450220518e885def022eb5020fc90f4024d87122dc0f3ed7f869ed7720ff74a009fb7b0221008a3e26a8cd426d21eba5cd7a5614f3644395cfcecb24fe760a68a7a9e8f09c02", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1158, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3044022004b01e5cc3ce9bf10844bc1cb21deeff6ebc9e2a7010cfbb3af0811354599c8102202e65fb8db62f255910ea4d5235bb21aa67aa59ffd519911ecd9893000ab67bb4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1159, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "304502210094bb0601198c4ce266b0932426ffd00132d7d4e2de65ef47f56360825f26243802202734327d1989c9580f5458f04aac6fd5752a1ee5e236e9ed1a7c0b2d9b36db10", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhqftX2ltO9WVz+/Nv0vXbFRe95AbcBFIUPNNHJF4/AQU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061", + "wy" : "0a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105" + }, + "tests" : [ + { + "tcId" : 1160, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "304402204dde197f962c63a7799c862e897b3bb1e7a7ddfb9ab77c2a17a54151ce604ad60220017e7aef86e533086425a2c4b32082f118913ef3667c8437672e0bbc7c2b8d7e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1161, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "304402207c53ed1d504ad4ba53d39792012a34d007250a2b8d1ca189c0d9f75ccc9a9957022009b97dcc5c67487114231d601374a8364cafa39581291762202b9215d51135fd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1162, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30450220513245ab2b6a4206bb0f6970c8ad040a94725ddc9a08db0fd9def93866ffbba1022100a53a7ab37decedae18dd5b5c48eb642b7a9c927e6bcf6bdac3a757e6d2c169c5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200047f85e98d6be68ba1db3a0e1eddd66f059521eb4117e72d804134392effffffff0efe5fb8e32884e0796063ee19094944d7998137b305ff3b5f0288f67a1b6a2e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABH+F6Y1r5ouh2zoOHt3WbwWVIetB\nF+ctgEE0OS7/////Dv5fuOMohOB5YGPuGQlJRNeZgTezBf87XwKI9nobai4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "7f85e98d6be68ba1db3a0e1eddd66f059521eb4117e72d804134392effffffff", + "wy" : "0efe5fb8e32884e0796063ee19094944d7998137b305ff3b5f0288f67a1b6a2e" + }, + "tests" : [ + { + "tcId" : 1163, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304402204b5eaecd4434b9a3052490e5d74725d11b1bb0eab3341ab7e5343638b96309a5022060c4fcfacac8f8b6079402b514453033606c42efd166f67115644ec0cc704ff2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1164, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3044022017c45f9814d9553c17d73fccf1060770dba9e540af29b2576cce524494d6c8d202205cc08e026aed87fbb3d6f2e8e0cc8083f04eb3fd06e12e108f180b3e0fdec73e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1165, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "30440220515bc9c084757bbdbe90497ec5fca75e8b48e64f794417af2ba8bbf78ea992f5022068c31499463513540ba789bdaa4530884117c1856398ba3b19286029f3fa797b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b250890000000049e1973136914fb97489793fe44a2103c7bc6b90fe183976d0794632", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABABYI3o0+T2LcBP5a4vWGDAKJ5bK\n2TUPROW7id71slCJAAAAAEnhlzE2kU+5dIl5P+RKIQPHvGuQ/hg5dtB5RjI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "58237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089", + "wy" : "49e1973136914fb97489793fe44a2103c7bc6b90fe183976d0794632" + }, + "tests" : [ + { + "tcId" : 1166, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "30450220038090bf9f3f640519d418414f0a7f8afb0dbe4c225d4f9fa284922ba5f966490221008bfaded7b3ea38f7eb7f9912443130b4418e5bacc16a6ff8253d4f1926eced67", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1167, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3045022074cb761ac6b5687c29f18448c5ba804d5869780de37e5606ac5461b1b9697cfe02210098852aadb7bb2b44cbcd432eee62bdb0cebcab8c1d24ace5218bedee35609438", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1168, + "comment" : "y-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "3044022077cbc58c57a912a3a66153b6e83f0c0daf6f7d1449fa9a29281dd5d221ae8e8d02200b56cff53baccce588ca5c8eda47cf74a57ebbd8448126a50acdb11c8e0a2a53", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089a9fb57db580d128b07d4bad728fa143289f1d5200d69b49721fb0ea64ef50d45", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABABYI3o0+T2LcBP5a4vWGDAKJ5bK\n2TUPROW7id71slCJqftX21gNEosH1LrXKPoUMonx1SANabSXIfsOpk71DUU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "58237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089", + "wy" : "0a9fb57db580d128b07d4bad728fa143289f1d5200d69b49721fb0ea64ef50d45" + }, + "tests" : [ + { + "tcId" : 1169, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3044022063a581c9e66100f650d9ff11ad7bea622386a26c5337b71b4d97a120c146343102205cc6bb800deeb73a16814897ef9a625bbdb6e4b45fcceaf0a3182980619ea727", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1170, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "304402207d62fbfb45e73ffacf9c81d68769364940537494992296a50656731a5ebe1ab102207b986faf243493ce8f6a5e278271339cc18d3fd8a00f3fb07a5dbb37e820209d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1171, + "comment" : "y-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "304402210092cdaed3e4842b55745b13a84d4a67ee8fa4ec7c939f4a19425ed0c86bc36f9c021f5b52a0957ffcfceb4662fdd21af0846f4c877a37897b50f62ab344469d9e68", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049894c2c5ae909bc9f69fdeb1a9c19966c09c63c8d7b82acb1a83d24651716f664939cb7769d74f2235ad0653e0d33114062ebd90478bf8e219d2cfa8ffffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJiUwsWukJvJ9p/esanBmWbAnGPI\n17gqyxqD0kZRcW9mSTnLd2nXTyI1rQZT4NMxFAYuvZBHi/jiGdLPqP////8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "09894c2c5ae909bc9f69fdeb1a9c19966c09c63c8d7b82acb1a83d24651716f66", + "wy" : "4939cb7769d74f2235ad0653e0d33114062ebd90478bf8e219d2cfa8ffffffff" + }, + "tests" : [ + { + "tcId" : 1172, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "304402205157cfa642e8d3b77536846a0ff6cadaea5f53974d7c55385e84592a37fbb258022071e17e0a1c84805b2e6760e2cff8eb9b396a09264905fddb8db1e2a7cb5221d7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1173, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "30440220615579b5fe86585ece10d0c1eaa2a30d5d4b23b2c8c2ba51ca83ea51a8f73b3602204441feacf132db44e5d9d74ef183bdf86d25f8f48f5abc8286e0dd2f9dc0d189", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1174, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3044022034e5d4ab1ba116d64a65b098b29cc7919c7de039f1e6c62a2ed3f1801c07263a022069d9d5eb218dbd58ae23d2653bdb80d92d8672e3c518a5529a574a94c0c9cce0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a9fb57db1931dcd62fd3601a5f197b62bae749d2f28f7b2d02b8a6376ae050a546ede758cc395813b28ccf2fb7ca4ff2ca36b963473248e001ef511aa61f2f1b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKn7V9sZMdzWL9NgGl8Ze2K650nS\n8o97LQK4pjdq4FClRu3nWMw5WBOyjM8vt8pP8so2uWNHMkjgAe9RGqYfLxs=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256t1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a9fb57db1931dcd62fd3601a5f197b62bae749d2f28f7b2d02b8a6376ae050a5", + "wy" : "46ede758cc395813b28ccf2fb7ca4ff2ca36b963473248e001ef511aa61f2f1b" + }, + "tests" : [ + { + "tcId" : 1175, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30450221009572dfd46d530875292df5c19f2b66f76d2ab5e8c859464fa36712309f804d0002204fb29d6df73504fabb2a11b42b3a65b6568a67c0b8442b48733392a80cfb9a69", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1176, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30450221008502979572eb037cc088e0b5d00e8ae8a9596fd2274be6170cefa44b7fb73432022071d740cbc4d99ac707c98138c2676b6ffabe050db7320b869f3f05d49a3a17e1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1177, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "304402206ad7e2ca670e0c7ff8c5c6f0b4fce230b04a729a11cbf003c8bce87955bc56c8022029719b165bac6822c9582830cd4b0c61e03bfcdc2750d950ed27330fdc81fe43", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a850e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEYhF9LjOn2xuVyKajx5gvg9qWgX\n50lxjK7ntqqcnaTo8v95UWdO7StWmrhG9ZACqFDmYGqXJqkgnJ6UX79su8mkh8Sk\n2BxSrDaEwmwzkrm9JPcYSCG+BvZEiySo/////w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a8", + "wy" : "50e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff" + }, + "tests" : [ + { + "tcId" : 1178, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3064023043a3ac2f3d2b4d3723a97930b023ee73010a7cf8d2a99372f3132bd7d9c83574de3ab86525efc4ee2c59799d5ff7efb4023034f59a3ea9f5267f8458afdaa3873e2336e0ab8a40ca1b797cbd977d192f2024f9eb8d39b37b9a238f208d66bacd27bf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1179, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "306402303531ada25b8d9af9b87e5224cd6a6d956c17dc323ef8980f497a6e7e44c83d69b74de791d62bceacaff7378863dd725b0230459d15539399409380af99d560c561217daa5c539729453067dd1aa4bd9df2b534920f0d6213261ecea16f0ed68536b1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1180, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "30640230438a0cff9fcfcf587f8c40775ad44ea4b0ed69f2d547befe295d1fb9c24ddcb97f228027df552a06bf657b4c2027261502305e157630bb744fc8e7f75901de498e5af0b5511dfeee0c4c1f2e5c4aa0129de57b87a2a13ea59d187d51cbeb6ef22407", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e6553a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIy5HoHuWQG3Glmk98gXSuBf47oA\n9pncvDySMyZcZAWHs8FlWTwtdrX/xLjcvLDmVToOXRTy0Ojv4r2KomDYrOBr+WTF\nG6uCBwcKLTBBC7a4eu7Lf/+ALy1Oo8r24OfnJg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "08cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e655", + "wy" : "3a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726" + }, + "tests" : [ + { + "tcId" : 1181, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3064023016496c08c3076773fcd841a5e25e1a87108e0ba90f9727f539034bd2cf688e01a955686a15112e0590fc91e3995ff5f8023031b1b7338f74adba33712a83a7c685e7cd5f3be84ef951ecad50facb7c6ec393a3bac52ea7b1212bd92f4f45a9f8514c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1182, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "306602310087f3090292e79b722cde5aedafa4244f6eb460a280e2e050399b9d802391ad502108704a3c0bb9f9ae571c3f7dec6c0b02310089ae0043de38a585a1632c7211b78303afa3f8936154a6e65a6f729c3b1ec66a1775aa465af8eed6dfeaa5ba98cedb41", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1183, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30640230720822abefa91265a7b8d446ec3bc405fd192178aa1b85dd663396a896a32c119e64b1a20843f81edd43c03709b8dbc60230206ae95bb18d2d3844a39340872edba1611e3ea0e84cea7cb6cff282af414d8b5aa0be8aabc1b51b7121d426916b01b5", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000469ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGnr8zLh6yRVMkp1cqF5d6TilVEI\n7ovYG9bR9VXWCGh/W7s5hY6+4wSYW6p9Ccgwu2crnJZoTfwAfwFeOc2tqf4W21Ai\nv9FzNIyq/FKGhGIfl/uiTyww49xyh3LoAAAAAA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "69ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb", + "wy" : "672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000" + }, + "tests" : [ + { + "tcId" : 1184, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402301e5027fcc630aa08750a4725919dd9072422a21aca9d3326bec3e6ac040ba9784951b1fda6f588e60dcb550b75793a4e02300df3224641f6804f4d1bf951051e087ce1fa7365c43bd27878626833f09190cc0a7fa29b16bc2ca0d34fd0660d24718f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1185, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402304e61e34740a9f6db0854faf205719a3d98ef644b86241b858fa22959c04395578bef7be35036ae7a9ffeb9a2173311f402301e967c3b6071d37560fd64a4fe0921b1d600f60d883fdec816836176c5e67ad05182aa080c7e2184c0710050d523f0e2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1186, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402302c3090c581e575da58a8f659f74c5eee566400eb1d91de0a950e787542e6572f73b9f6d4f81f1c8e42f9e460dac3c1dc0230756b1b693e7fe06686708c2a609854accd21e3195d84b72c11c873908d175dfc00c00ebbdf8e2bb6970f2f19785303cc", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE+1aIZmZz8QQodCi1uua9gqXGm1\nI3YqpzmyRZSpqBKXMY32E/a3N5r0eXmuf////34tMltB/oMaI8tpTLgKMBGcGWFD\nU27jNEFrpDekGQVMGAqUUVRZa4PX98OmtgWWRQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff", + "wy" : "7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645" + }, + "tests" : [ + { + "tcId" : 1187, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "30640230092f0ee1feeb79c054ae36235f8717e9ee72b466b1704d4fa78addfcd13518a64db2b2fdb06439acbc4c045fb2c23c3a02302371ca6d36f4266162ee5c657c71cea35dcec3632c5b220a6f23ace1ba6562a841aeeeefe87a7998adfaf185b8558e4a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1188, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "306402306c8f4be641afaf5bf91ce08974d284ece6aec74792247229fa86c6597eed3fb507b712bb77af0226e1bbb3bad632b0d80230775954fe8bf936157b7ab7a683f6dc1838a8718200621bc8bf2f32b778f6c8e8c656532b50de39ac22d22b37dccfd1f9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1189, + "comment" : "x-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3064023076e5c07582177400df453114fed746f40704197897b4ca21b72e5b44d4ca40cfcaa55e4446355c91ea9767f38c8172df02300c6dd73eefbb4c06e823224d8efaa3ee934e4a97eed2833513b4d735ed06eb550b2a5fa7f86613d627d9db466afa6646", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200048cb91e70c122d808515ce5383d1f753f95023a64adee7b7072bcbf43ffbdfdfb05060d6a8f5ea5022a6a0e6245190235599ea831aa5857a0a118d4871e8a86aee2965afbdcfe3fb50e5e7c94672a63672eaf26384ecfa8d7a78512d6a6c63d86", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABIy5HnDBItgIUVzlOD0fdT+VAjpk\nre57cHK8v0P/vf37BQYNao9epQIqag5iRRkCNVmeqDGqWFegoRjUhx6Khq7illr7\n3P4/tQ5efJRnKmNnLq8mOE7PqNenhRLWpsY9hg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384t1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "08cb91e70c122d808515ce5383d1f753f95023a64adee7b7072bcbf43ffbdfdfb05060d6a8f5ea5022a6a0e6245190235", + "wy" : "599ea831aa5857a0a118d4871e8a86aee2965afbdcfe3fb50e5e7c94672a63672eaf26384ecfa8d7a78512d6a6c63d86" + }, + "tests" : [ + { + "tcId" : 1190, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "30640230495c7d5f262ad770f5f223cbf80d0c9e256c41d19ba9ad251fcd958915434c56c7f60db2f269b8b6aa49ff7a0314f5b1023026248e930f04d06798f447ade60ac88439a7b1e2bd987c03b17ddd357c2482c06d81e0eec720ab5180fefcbf2a95d5a6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1191, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "3064023059326ed88303d6dd31dd7b4c7e30337172ac4a9c3511c4805c2094374ddad15191bbdd3fe7a5e86a4fb9d0c46216492c023036dfedf341921afe9e3158b44a7db7ab370e2c43496a34d09fa88a4e8c8fb0ce8d933c08c39ea27503199e9a632d220c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1192, + "comment" : "x-coordinate of the public key is large", + "msg" : "4d657373616765", + "sig" : "306402305c53e8fc75fd338f2e28bb886fa3c88b09395a66e8a4528de51375c211f0e1c7ee04134db06f6caed4265be691c43471023051ac815c377e6af03fe1de6db95ca6cbac16e8b3d0b6384f153a4f7952b64923683266d30038d1465e400d6345d513af", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c03620004000000004ac5b59140cd6406050b0d813411a18e4a8449596b1fabd36fc49e4478117db2ea522ccaa43cc1beaa9a18a35fbf6dec1a4d2a8bc7b4c39ceeda7108068168a94e87161dfdd3040df9f6dae4d7eb5a88286d014c92cfe009902b3463", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABAAAAABKxbWRQM1kBgULDYE0EaGO\nSoRJWWsfq9NvxJ5EeBF9supSLMqkPMG+qpoYo1+/bewaTSqLx7TDnO7acQgGgWip\nTocWHf3TBA359trk1+taiChtAUySz+AJkCs0Yw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384t1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4ac5b59140cd6406050b0d813411a18e4a8449596b1fabd36fc49e4478117db2ea522ccaa43cc1beaa9a18a3", + "wy" : "5fbf6dec1a4d2a8bc7b4c39ceeda7108068168a94e87161dfdd3040df9f6dae4d7eb5a88286d014c92cfe009902b3463" + }, + "tests" : [ + { + "tcId" : 1193, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "306402300e971ffffd7b86a216cf2e8c2267ebfdbfffe33cc91a578abdb3b065a33829b1e85d77a83490bd862b484545373276e402301dee3a5b1021e5d7f2f6283be4c37749200089af3039847ee2d9d62abfe36144e6de9690714bd931535d73f872f5509b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1194, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "306402307080b70e60eb3bf5538555554ae8b135ec6378610e5fe1c9e3d1646b61ec28f51e7fe7ed9fb18717641e7debb90eb647023017d44cc60ef9d9d00f3672fb101f0e2d76a472d34181a607a13eb58756648ba0555dae6acb357d3cd5e30e7758884d42", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1195, + "comment" : "x-coordinate of the public key is small", + "msg" : "4d657373616765", + "sig" : "30640230210674f82d8731467e9893c007733971740837ceb78ee1a957e799c3309f27da768331262df94293f84b85fb00a70c730230686be0240ac527f1560e6d9c20af7b755be421c30ec3dae94bb2d01d7b0af2894c96a5ba181ab2d92b9f18db2d6dd28e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000449967ad412be2ee1d435ce6261ff127250085e1903e04c0388ff9c1a35e12536e31a2f8fefe2194cdf1e9bb800000000245148c105c664988179a8c2e68418dea078f90682ea06b51d89cc93173fb8a991ecca52805d97ac89f66855a593fbb4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABEmWetQSvi7h1DXOYmH/EnJQCF4Z\nA+BMA4j/nBo14SU24xovj+/iGUzfHpu4AAAAACRRSMEFxmSYgXmowuaEGN6gePkG\nguoGtR2JzJMXP7ipkezKUoBdl6yJ9mhVpZP7tA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384t1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "49967ad412be2ee1d435ce6261ff127250085e1903e04c0388ff9c1a35e12536e31a2f8fefe2194cdf1e9bb800000000", + "wy" : "245148c105c664988179a8c2e68418dea078f90682ea06b51d89cc93173fb8a991ecca52805d97ac89f66855a593fbb4" + }, + "tests" : [ + { + "tcId" : 1196, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3064023064aa82bf225050a63cf16424ccccd0f16d5939d73479d33db3d7f0517a750cdfc01e37354502ffcb1c4956c2c7c7fa3e02305e8101692c6eb55767734839efe43da943cb69d7b3ce9ea0d4aef6892cb244883997ec10f368e295ef080ef9b078d0d3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1197, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402302d106908a50b6e5ba59d6074a2e940dcfeb73c5ba1c5464ab9ff6c805d23f46464978116c68199d1a8ac63d8b823368d02307b8cc56036a62d9a26322a413a1a183f1bb2d795789fab72a45f4121b35796e1e3a592e1c62f2c4d070e9bee85bce70f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1198, + "comment" : "x-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "30640230180bea728d39c32579141a215e0256d2b8e0fcc1d2b73135a71cc484d9c8fb666644fe3c14ff11affe135e02c72647c2023042ccc524b7109bfef81604adb1893d1531b65c497560daa941f18a0dbd200ddf79743168011c0c6856f2a456e46c57da", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000433a02b38ab0869360416d68a1cb9d1e5e3fc37e539b7f562f4ce359d7504a5f551a98cd78812fad80b717df3f7de92510c66e185b7d57726984fe09e8ec885554d84faf51284fd839af4e59fc704c3f37626491d98a48350f41a50dfffffffff", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABDOgKzirCGk2BBbWihy50eXj/Dfl\nObf1YvTONZ11BKX1UamM14gS+tgLcX3z996SUQxm4YW31XcmmE/gno7IhVVNhPr1\nEoT9g5r05Z/HBMPzdiZJHZikg1D0GlDf/////w==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384t1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "33a02b38ab0869360416d68a1cb9d1e5e3fc37e539b7f562f4ce359d7504a5f551a98cd78812fad80b717df3f7de9251", + "wy" : "0c66e185b7d57726984fe09e8ec885554d84faf51284fd839af4e59fc704c3f37626491d98a48350f41a50dfffffffff" + }, + "tests" : [ + { + "tcId" : 1199, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "30640230577b89e7eb4e0c11d3ddc8273fdcab2583a0c8908acb3c92a41073c1b4879cb6bd09825e345917d10e9a10c57127a096023033c568e1ff376a2b6c49e495385de655d667b8402d73fc02e9db61d42b4920bd0c3f0c88a1c3091ab5b9970bdaa1d39c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1200, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "306402306bb794738248b375c9f5c6a5e67c04053979b1f096a97a54710da3674a6af23295256c660a6e0949be8c69c9e0af1c9a023016f454f290edac489680bc8bcacabfbff9d0d29dd11c7c003e97c056cca9cd2b5033692b766fd20d8ce0a4b0dfc417a4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1201, + "comment" : "y-coordinate of the public key has many trailing 1's", + "msg" : "4d657373616765", + "sig" : "3064023071dad8b09ea0c67eaa79b937cb4fc54c7280779f37dfe293756327b9bdf3bbad9a51613dbfde19496d620e15e2bf8fda023016db51fa414c9f13e2c7965e3315cda2fbd64f95b0c88d3b2aa48811727af7cdd70eee7700dbf4ea3c9c84e6284387be", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200047fa73b521e19cd2b08e7127f5a31309089ecb3628c7e341a977cfc4bf445ab151010602becf720dc41aebb86900870de4f3b7dd19ac8970f116996b0d48dc20d69d784e8502284701ef653300993e158c8b82fc5a4664a8ec28a03c400000000", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABH+nO1IeGc0rCOcSf1oxMJCJ7LNi\njH40Gpd8/Ev0RasVEBBgK+z3INxBrruGkAhw3k87fdGayJcPEWmWsNSNwg1p14To\nUCKEcB72UzAJk+FYyLgvxaRmSo7CigPEAAAAAA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384t1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "7fa73b521e19cd2b08e7127f5a31309089ecb3628c7e341a977cfc4bf445ab151010602becf720dc41aebb86900870de", + "wy" : "4f3b7dd19ac8970f116996b0d48dc20d69d784e8502284701ef653300993e158c8b82fc5a4664a8ec28a03c400000000" + }, + "tests" : [ + { + "tcId" : 1202, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402300e0e11e2cf805a3054db77fd49a9456ccf22f5948a9a02e6474a5a89dd394d3c89a46b16dcad39f67b33be149f75b8e30230719ace8887143d8f0f4c1e478de836fe78dc71d14ea234fddd47bbfcdd77fb44c77b49c6c4b048d05be953713a480db2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1203, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "306402305e4f0e8f833a1e50cf46495d4594c37894a21ec8164dfde3a05c9682698620746b42988fdeec9bdae3e961121e5ea0b1023077eba3e704bf9635b5750ffec2ee8d39681c762d21278465828ab0f574935448cff6575b8d699406407874864f87ad9f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1204, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3064023008c4664a036a5d4f5b7b9a365656db0c786246ac7b992bfac53cf2f31e9fc738698596db4ea385f7bab978b4f1ed02b2023063eb0c4d629d01f1fe9133d64440cda717cac4e16ac1ceeebe10b8c38d3ccc0b2bd75918e4c995d2c525c77591681804", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200043dc23704ba8346fee7028a863e3e1c201ac5e5c1f0a0bd8ad967d3fe8c8e4b8d6b5f92449e3378218862f261d09f6fd833c942cd24af05e473097248db981d009c69e53ea9b5f3f4ecba0d6f4d24317caedb6917f4ca9f8e9bf0e82800000000", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABD3CNwS6g0b+5wKKhj4+HCAaxeXB\n8KC9itln0/6MjkuNa1+SRJ4zeCGIYvJh0J9v2DPJQs0krwXkcwlySNuYHQCcaeU+\nqbXz9Oy6DW9NJDF8rttpF/TKn46b8OgoAAAAAA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384t1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "3dc23704ba8346fee7028a863e3e1c201ac5e5c1f0a0bd8ad967d3fe8c8e4b8d6b5f92449e3378218862f261d09f6fd8", + "wy" : "33c942cd24af05e473097248db981d009c69e53ea9b5f3f4ecba0d6f4d24317caedb6917f4ca9f8e9bf0e82800000000" + }, + "tests" : [ + { + "tcId" : 1205, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "30640230064db827c2b97c16fce0d952513bb687c26451db1c6b1e82010f6901fdd1709e83d0efcc5b33eae5f490c6604e8e172f023054aed930e8300a82efe2609ccb030b82c7991a7db261fd60e3c9097be13341909ec3492a3803cda07cb2d1838946d191", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1206, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3064023008d8ba04dc844a5ef30f632c7ca47ebe2ac75b86a821b8b6b5b699a5cbe42382f0b92703af6042205f80ddf23d27e97102300a33ca44c7b65eaf5cc81af23de282c562307980e31a1e6ee632a6141d7714394241d90869e2c9592423106abf2a35b1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 1207, + "comment" : "y-coordinate of the public key has many trailing 0's", + "msg" : "4d657373616765", + "sig" : "3064023024e40d5ef670018c0ce690fc15042156b0e39a057d2eb76c91d8119cc3982136118f4eee76403eac13b89cb9bdb0020002301aa24023e2e12ebed8146f3c4f1ecdfb24eca3bff085cd6c654cb52f33e368a073e27a9912f4509a27c84913b85fc7e0", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000481528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff1175bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIFSi3rbvr8bazx/odYShLB3Wbmp\njTGlcCcHsBj97P8Rdbv8y1RTgb+GAQMXMYQYKUAbCNzcaMw04Gpk5BIDhRI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "081528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff11", + "wy" : "75bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512" + }, + "tests" : [ + { + "tcId" : 1208, + "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "3045022100a50318c3066a4966ad18ae8f85253fbb5835a34b2f9187daac71ee28d3d5d0eb02200890ef0fc93df222d11197cb221483ce897b0cf1acf4a909c306c5a485776abc", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1209, + "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "30440220041e0389dda2cf2ae3a9562a0fb5d41c1f7533e6cc84a896e99af781e21097700220366b5d88c36f1227df522fdab65e12347d68eb64f2de82c648115fd565bd37b7", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1210, + "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "304502202a76394a04ae19b25c54291e28bcd42a7edeb20981b8a3b838f9dd0e29b574c10221009ce89980ae432c4fa6a68025da554bf900cc2eb0c66906420d322c14b453049c", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+FuqOA8IJd/IK7VgQa22dEIW0R191tUacX0Jssn7G2HI=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e", + "wy" : "16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872" + }, + "tests" : [ + { + "tcId" : 1211, + "comment" : "y-coordinate of the public key is small on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "3045022066958be3379405826a00daf5495b1657698126a5ff449f9649af26ca96df96670221009b4100816e2741f86c5c0b0dcf82e579f4281d2b8e70c234808d84c1a495079f", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1212, + "comment" : "y-coordinate of the public key is small on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "3044022053ed0f4b8fb33ef277cdd1060435ed3dec518a225659f71f67f9a1f07f85c1ca0220124d5f94ddf12bb4cbe3c5cea6d2686d4480dabb8ffbb05e5238c877fe20383e", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1213, + "comment" : "y-coordinate of the public key is small on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "3044022046643c7fe0f308b8af4ce2978d797e8c46a7e1f8bfee0b5cdbaecde1f59be41d02201bd11a814d1fbd9ae97a49df99beca7fec2512563c0031c5aad5b9fc2fb0a507", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e9310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+kxDJ19/lMcozeLKAMhXwYeiHrsRfcNmLwNDbaqCnewU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e", + "wy" : "09310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05" + }, + "tests" : [ + { + "tcId" : 1214, + "comment" : "y-coordinate of the public key is large on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "304402204f833bec9c80185beacbb73b5f984e2c03d922359be7468ce37584f53d1aea4a02206636744ab7fecaa53541bcf5f37c6cbe828a8efbc4d00f6469ba390a86708a26", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1215, + "comment" : "y-coordinate of the public key is large on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "3045022100a2869da416523aad2b8fa8aad5c3b31c5a535fdd413b71af4dffb90c6f96a669022029ff3e8d499cabc3cc4cccd0fa811cc3b04770aa71f0d052185210b14d31993d", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1216, + "comment" : "y-coordinate of the public key is large on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "3044022063dbfe29249a506b89fbd2cb1fafc254a9582dfc4b08d143b6d25bf2ab49d55e022044cad80c00460905e103f26da84cefd71af4bc7a71962a3bce321bc3b5842736", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f45994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG1Jmwd6ttd7JEMgosrKuRp2RZXd\nZ6eo38+E2n04stj0WZTAe4M/9JCcGpLMnyTeqIvoYDtAewDSKPryFY2yNU8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "6d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f4", + "wy" : "5994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f" + }, + "tests" : [ + { + "tcId" : 1217, + "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "30450221009d907cf88e10d60c3f23892498fe43ddb02f824fb18e6be313e02d94f2c8e09002200c16b9e0db4dc8606c023b001f69b3c886080794fc9d7fe31b00c1cf0935e421", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1218, + "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "304402207395ce0ef652848a86b61097cc9543998d39dae88a1fc9e4dfdd69642949548902207de29e256e8202382f91c116a667a8b946f210447a57369ba61ae4fae73dd136", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1219, + "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "304402207baf1fde87ccb1bea0f893b3bfb2549c04bca18835d8eb5a31b8d20506ff88c30220289ebe829fefb9ad009d7cdd622874aef5fa088f0508a4b43d5895d61645cecf", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000408c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAjC+V/+3eHVXj8snc9YhDR/aQTG\nSSJzrXYOt7mzXwNrK896BIyqLHJq6ICNyVMS6yNQJ1qPT77qfA8y84Oce5M=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "08c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b", + "wy" : "2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93" + }, + "tests" : [ + { + "tcId" : 1220, + "comment" : "x-coordinate of the public key is large on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "3044022033e37c3b66acabee3d68cbbb9c55cd52b586de51647723fa84e532a3ec5953ef02203b8a9ee707d1bc5f83e17ea072adc2ecda92e637d7c06060f1af79b929a850b3", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1221, + "comment" : "x-coordinate of the public key is large on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "304402201f8ebdc94ecddd84f90960cc55d0ca02e33d70535fc1c7322b3c2783b9dc92380220205aa8626c3a5da214e5485b11154a378d70b0d3323ab868528ae8048d17b696", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1222, + "comment" : "x-coordinate of the public key is large on brainpoolP256t1", + "msg" : "4d657373616765", + "sig" : "304402206b0d70e09ba1642adac06dff9b52e22a3e4aab4180e372665691412241e743a002204d7d30ff8a210de69e3e6d1ecf7175f89f481a4d9ed06beaf7148da47f4af9e9", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000434770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae263688622421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDR3DHOn5CznpX0d5uVPNfF1IEf2\nUTWEx7FLyhfXq8SZ+KsDfHD9LhOouXsq4mNohiJCFhW6Nj8f/pqPL+D24kb9oRRi\no+wADGheCakNvNwq9kZ/nuabXnvq2bhGH0pL4A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "34770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae2636886", + "wy" : "22421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0" + }, + "tests" : [ + { + "tcId" : 1223, + "comment" : "x-coordinate of the public key is large on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402300e44fdc33aed0c320e371e2a78e9f18fde83434e681afb05a5bdb0f43cac70e83ede56bf8c56acf70e054e2ffef549cf02301324b4cfe684d401eac15b0940f5835436d3a1028e27c1966dbf69fefef82748a05b4443c77c870789135755d0d184cf", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1224, + "comment" : "x-coordinate of the public key is large on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402305966acd8a7714f2015e36fd4fdb3452258ce0aaefb3972091b496bd530bbaf1ec67d7e37e50031b3eea44a8bb8f62c2002302a5f309d2fad55b93a7a3012cbda2845efaa4ea0d187d3824f4a6a9227730d3ab15246d8d0952c7ee8c0b9eb83d1c2a2", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1225, + "comment" : "x-coordinate of the public key is large on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "30640230266eace657e1ec88a2adbb38a5afb4f750274ca614d1fde9ea39dff6f2a2aa69923e9a7489f06bf9d84c518cee57e55b02303d19027684ef221216f63a591d8e793524e4c1234a56ce415bb9ad9e2ebf25ac94a99261b9157d19daa5aa876291f308", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000486f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e01ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIbw/Im3hh7DvVghYa7PyVeJrkAk\nWet/MBW33STiD8mwBcY1/CkKDiqf81hjt7guPgHrukiekj2tiBRgd5FOOuXFdeG+\nzs7HEJYqGP/ZEAV3bE2eS9lSx5NYenApHOR4tA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "086f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e", + "wy" : "1ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4" + }, + "tests" : [ + { + "tcId" : 1226, + "comment" : "x-coordinate of the public key is small on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "3064023013de6eb532321c023092aa78c199f9ee4dce7a18df158c3e799461af9d96c2d38765a78fdb14404d199365de05bd44c502302514a0359bcb66122bf48c186a4bb2edccf305b06414b11f470d2512cadda129366f6072de715bc2babb8a3a5f260d9b", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1227, + "comment" : "x-coordinate of the public key is small on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402301308d3d9edfe3ad07e215a975b2b067e9f0b803371b3029f4388a3471f4db23f358aea5c03db62d77115c56c4962633b02304b8b1fe44b32cc669114a1ce0ba0555446d0c96a32cb602185e8fba414d3a831cbf5b519b0f90647dc45e30a1f23ef90", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1228, + "comment" : "x-coordinate of the public key is small on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402305da3df094155b8f8812d0c6345344e41c3b591b65b95fedbbcbd3c3a3bb1c1dbfc4d4c5b841b8f8874d59b07cf2288fc02304a1e4a8399abbdf246929b2559bb0fa404772755fc74523626aeef432fe4764df1e1f5c9b0f897ed8f1ffd7a88167f0e", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e8072c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAgvfc61hcW6SJSw+vZgTaiIoxGt\nn0FzGh05NxaKELB5Wh+uSWy5qQc54cCm5THoByw7hWjqocb1QaZlznpm946i1Ykx\nA+YCit1iNWSS2LWsariQHVliHDNBbDOYG9WU7A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e807", + "wy" : "2c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec" + }, + "tests" : [ + { + "tcId" : 1229, + "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402300bf6fec0a5be27cddb0e7669ae06d15dfa75837f8ee72b47443ac845ffcd427b0893e10c85c20c7aa576fb70e87761ab02307418b6f374936adca8b07dc51545ee34ed2e9f56f3267033e30ea09a0acd31b6ce83503ee7e098627f8ba8b4c584341e", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1230, + "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "3064023003e306a86f6b2cb248fcb68d1d317a6042b7089e96d74c2f5b934e2e122831268a45e2185b7c21270e8b906cd372e6d702304c82ab6de6bc0194ac1a2e3480a0c80466af7d2a329d20b03151d1806a0bc0720f55d3781a7db9febe7d8bbd0a719bfa", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1231, + "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "3064023014d1df9b3db55ecc8d1e126625bdf5b6316bba1e7f4ea5ec77418c754a597563dc5dc291b7dd047782d518fe74e0be83023033ef701c440f280edf81a9632dde9dc17de5f438dcc19e9ca5919b4b73e62905e5f7e0bc9db0b14bc53327f79f70c6da", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e7498475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGr+TqdwVJK9owi3idcNpJRX3egl\n1SWJYKejZuRmWvnTJjksJnIWXqS73DM3TYjnSYR15pN6EKb2pQ8j3pEmugTlZQoc\n0GqAZspCMzn8LOU9kUgnRKTN8vk3928SquP2MA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "6afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e749", + "wy" : "08475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630" + }, + "tests" : [ + { + "tcId" : 1232, + "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402306a3a18400686635ae279c385b640d4fa080d9c44a5d421fe4be5a5ec7a8ae31b00bfa406e919e57e39c11360e670d8690230729c0b9ff77f88f810548d6db1835312a448114a3bd93cf59422faa2ea026f5d47627f0c11fb859112246d879c859568", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1233, + "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306502301ab8d6c31d4577f59ca5714c9eada979fdb9ec0cad32d8cb915dbd70492947187f5a52718e19982f7a2d4cb48b227723023100872e3ce7d1fd5ae180faf1990b11937558aa44ccdab631492b8925be84fbcb452148edad5bbfe48c06b8c9908ca252fd", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1234, + "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "3066023100803ffc58f8150a9c4c229a7b522357f49f9a5f48f82d8bb982954395836e09eb5f8cf1f345ce284674bc369d046d5c8a0231008a9feb64c410cf3ae6261ad35f7e3e8da13129daf94944f8e08e9649cd006622c3d5c91ec5b9798a1be3a31533a0a851", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd47a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEvGUmLCLTIuqJFGzLXGDEKHtlo1\nIodDpbnc0VSTvYZCR4mHxCFjfdBxUHnskPuM1HpFVX72U9B3Pb4mMPjgAGKe2Ck+\nGqSpbzsVmiRao1rZKhAZx+CamrdbpDwHhpKCNw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "4bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd4", + "wy" : "7a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237" + }, + "tests" : [ + { + "tcId" : 1235, + "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306502302ed569f12dbe30a2abf02190bb9e4de7e218e9fd705dc71cbe1480022781b2a2213c3ef2f91052e90840a18f74e375ae0231008872b566f387c2bcb639df9c2d866f7631df290c5f66c264d4949e256383b1b4b2098c120f13449d9d7bff6891919c88", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1236, + "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402304b7e5651b035959295092e2efe548da52206c8d0e48ba43e2b8ecd98ece25dc08955b6e7b05e38c4e22829d1658711b5023044a973b75528400cef3f63f55f2154d48bb0b826214200d3f33c7bc31155242d4e24f07ed19606fdb2c8ecaeb6981eb7", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1237, + "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "306402301ecadaceaa479fa4e9aabac4210b1ab77fc1d13a9c4cb022826bb1806575115834a6ecb9dec3e668b8c91d4aca283dc902302de8965a66d56545ad84fdaee16fffa0eb31022186a5b6be2a2475958b9ad72f483ebd4b255748a811806bcd428acfd7", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + }, + { + "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e21734c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCrDk/IMEQ4/lwZTBDl+rg4jGHsr\nYWPcZgg+gq/1aEJoQwVq/43CPuvOKX90eDDiFzTJNWcTkcbvqLRsXDez+EqC5Cmn\nWA/rmhODtVyDqTmOjsx7FdaZ5jliMpECoVdvKw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "key" : { + "curve" : "brainpoolP384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "2ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e217", + "wy" : "34c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b" + }, + "tests" : [ + { + "tcId" : 1238, + "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "3064023037e256872340da9dc884fd00daa14628372b4bedc0a8a09f9d7513521d3b803a78dc0edbab3c7dc2b2014baf7a9d210e02301ba4b4087973070cca9b957650177eeb41c557731596a966b0b7f68717d8e7b554afd07c2937c95403a90c3a05fa964b", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1239, + "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "3063022f128c199dc27677f23feae28a9b28813cbc3b02fca493005a67c3126a705c49b982cb5817ee2c81161e80b738bbb512023073cb6d4547771d254be74348955bee979071358aa3afd62a5838179a0965465aec79bd6cbd9b8b2aa2c79bb88ab21592", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + }, + { + "tcId" : 1240, + "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1", + "msg" : "4d657373616765", + "sig" : "3065023100818b0fd6ca0978a59cad3fa15e84db2896f39b2aa462f0583834fa4444d153fe61e0c93071ba96c5ffa7193f77b806f302301d2d6144172385f857db4b7e7e863962eacacdec034b4b4a9dd1af272604403f39f45a21948b30976e738e9e98fd9cee", + "result" : "valid", + "flags" : [ + "GroupIsomorphism" + ] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/rsa_signature_test.json b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/rsa_signature_test.json new file mode 100644 index 000000000..8e472ce4a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Signature/test_vectors/wycheproof/rsa_signature_test.json @@ -0,0 +1,3909 @@ +{ + "algorithm" : "RSASig", + "generatorVersion" : "0.4", + "numberOfTests" : 430, + "notes" : { + "MissingNull" : "Some legacy implementation of RSA PKCS#1 signatures did omit the parameter field instead of using an ASN NULL. Some libraries still accept these legacy signatures. This test vector contains such a legacy signature" + }, + "header" : [], + "testGroups" : [ + { + "e" : "10001", + "keyAsn" : "30818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001", + "keyDer" : "30819f300d06092a864886f70d010101050003818d0030818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrkBTcR9RLbSYPwf75qwIgQv2V\nZunXtgxUEAy24dTtyYWQRn0FAsF/zmnQCsXvtAsssWfYpEq5PXPE0PEJ+1omwviC\nMjb/UXz4RBLhc2ec+uQuBDtv7IH52YS1YlF+b+vh9yKV28P9/BnTJAqnVRVWPzHa\n2DVj86MVrPmgs1GiPwIDAQAB\n-----END PUBLIC KEY-----", + "keysize" : 1024, + "n" : "0ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f", + "sha" : "SHA-256", + "type" : "RSASigVer", + "tests" : [ + { + "tcId" : 1, + "comment" : "Legacy:missing NULL", + "msg" : "54657374", + "sig" : "253e1d19bbe91064f2364c1e7db3ba8eb6dc5b19202e440eab6fbdf28c8c6ec05b812983713c338c72b6e99b8edf506a89ff9fc8e5c2c52362097a56dc228060eca01e1ff318c6c81617691438703411c1f953b21cd74331f87c9b8b189fdffdfe8550bd2bd1d47be915f8604a0f472199dd705e19b1b815f99b68d60bc257c7", + "padding" : "302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "acceptable", + "flags" : [ + "MissingNull" + ] + }, + { + "tcId" : 2, + "comment" : "valid", + "msg" : "54657374", + "sig" : "68ea71ee1911687eb54b3d19cedcfd44719d0b24accccc59bdafd84e4eba48ef0be7f115e7073f9f273286a7dcee3b94cdbe208e30ae496987479d3aa12ab0e12685ab592d7693a494e6ad27d526ed3ab5912c7f81e09983931794c2165c22fd859e0f9af1a93a4dfe144098c562731e6059d236b52cb865996c87a9baf7f103", + "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "52f46d508e31f030b17c537888585f919037562e15f1924543601a41f9b701ee416ad73d6576b4eaaa64e685289dc478751dfe2d7e588252bfe2d43f4b3a31c6c6c39a9df884a2fc2e45f09c2150a830974b1c9d26090830b37bf06f1d57be1da34ebb016e9db7ce2c34e94872c89567ff6f2ab35a1a9fb6632e100c7d7af834", + "padding" : "308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "3f34017b3172aaeec72d208308e9b83150699f86634b948847eab56f0169fef51b5636a96866f4f0f4c649400489e047803a91f2b2f32ab715065e20770c4e2788946b85aca5c90efdd6a9458dd9b6f797f96a3de88d2e4896afe147d8c0389943828100061903a30eaff1dadd98d3e49dba56cdcfa5f215d9c615f974f4a0bc", + "padding" : "303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "1478337676aa47ca72ea7557facff06f6c777f56063f4487d345e43dc56a6bc5f8a891085d53a32c9d1c3cf7f469e7f56847b0b1b9b5b784526078271f21d0550afc40f81e2b8e8dec851d87511cace965edceb83cb96c8d6616e1ee75bb22c54412fc942a6f71c9fc609a31a69d34b774a97c1ba4f85cca28d9993db8543f75", + "padding" : "3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "77ba423e600bdd761ed10e7c00698a87fe1322f5f42b2902a0be7a24b1cf44f613fa55edeb2ded0475f8e1a13e5368f9a2bfc4f2f926ef289a2207bf3689fc1c8ec3e5463064a7f51bbc993966cc4016319b7c95f282372f1ff848d7fca753a81d905b3341b0fbf60ba186e750f3171cfc84288eff8742bda432bd6c8dc04f9f", + "padding" : "3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "long form encoding of length", + "msg" : "54657374", + "sig" : "9460ee79bb990bc3fe28cfca92363e6ff6900e3b61b3a402f06024a72b7a65d62094b4419e93900995eb121327f72b26b139bab3e5e2bd0c82e0cf6357f3b16f1c1dd4407a9a820f20e3baaa2259614d9ee3e015e1c1778befa13aff1e545ea1758cba4713631d63180a91b52df394294441642964a024f45b2251c90e002ec0", + "padding" : "3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "96ac043d3cada45aed0dbdc4662dcf7855553a5effa1077048b51c7e9bfff7c2bb3486ea42894d4b4afb26a3b3bd32cb68d5c4d8ca2622f50d8c56fdc25baf83b9909ecb096419ddc13578dcc8121007f7204ee82c517ae03de70fa23ef2390602029a0cbc8a96c5b781d857dbf12802aa561f5f41ea35aa0babb91b9f891762", + "padding" : "30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "2a70643572a7cda975d9e2c0827837e60eaa78c297b1ff75b84f654a91fe33294ccbeda52676ece50fcc03018151e66c24940bd0574ab85a6599231d587f4a6e0ae841cb6696e7dcfd182cb75001304e36887bc4fe3b373828f8b0e62ac2300a626c9e6a2cd05bb7910e74da2978dae1948f855b3b455cd30367160e21581cab", + "padding" : "30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "27778e39b45dee1e7003f1d315d3466fc111791187ddc056784c158df92097e123021e11918b6df8d905304db732e83d904bc914271b03def4ee129c3fc8adcc4f81b690e09e70e46c8b920093f304e64ecb7358740e976d28538a9eecf09ec1e1cd47df9107968207b21538cabe076bcc07c3862c46a793fcf638c70a972885", + "padding" : "3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "3a879e9f883b158908014f3617cae3315d47afdadd30840494f68d91c04dfe81bd16a40c7d21238cd1816928d989a232a3492325ab0f95d4426e3fb7d58c9908191dc557d8779dabb282287b7860c30e0796283428e0276447235809882ee990deb0f4312c01e7ddf0690406eeacb660acc6957bb670904cfd8d04df5e3ebda2", + "padding" : "3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "length contains leading 0", + "msg" : "54657374", + "sig" : "2b82155f363a3b283ae455f59e41c29dec2fbd8c7438b0e347aec5b38c7c895cb7d326870e4fbdb935fcbb561f223bd926dbe8b95ef5eaab27920dbe30c641e99f526a9bc356af54198b459b59383135a82cd5b6edab7da0b1a51d939b2f9951e1432d637c4f04a3546ed9c890143ae364602b94eabdaa2a45e4bdf0b5bdfa71", + "padding" : "3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "1dda56dc953aeee7fd76ae7166d92ab9e3d1d9759e76f8f1d7634a73cbf69e39d8249153d7c2d83c9664db13552f0c78df34b8a67e7b6c10bcc61b5ead7ba62ce0ec7ba8ac78d146f7e4cadee6f6250e0bc3100660e7afbe3afa17fa288d97549b4c8cacc00ac5c942673485739f89c9e5e63ad2be97a8f2313f5c5b095e7542", + "padding" : "3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "692c143b82196a391a3546607336e6f3bc047412645cf0def0d62d1b42234c14da138bb7f451b45073bbda2aba23412e83bc40d4e7de3e0684f2cad7d059f2d6831aa3d2ece4964ca75cd41dce23c5ba495c15345b36947b4b5a051fe1b84e148b5ae21f112d2245b1acbaeef9dc4a0c408829b9d2b1b5ab1d3a40af0a27b99e", + "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "66c31a45b2287425a20f65c3eba9cc58c370882f5fc62921935491fbd516df9baf9b28304a21d9008b61a92779ecfb3b0c03f6d74354f5159956e3fc1d35bd7376289378f05d7a71e05ab32794f2566a54635e8dc64740acbe10a293ceddbebe8499b520f406023a134eb9927ebb788b92488f036d109ec0a40ac52372e847b3", + "padding" : "3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "7b85536bdcda4ad3fc40129f2ff9dc85d9ec049913784064e7358686640446278a2006d93fb33429407597e5d8c783e3f7aee8a7791d69139f3c802a6547f01bf987415eec2447b0e8c4f3aee7ae2085d141fa34ca6634bc109dede93285d5c40cfcd98bd47ceb9cc1890dfff53b7ebb8038533580c7a67fe14c0c422e20cd64", + "padding" : "3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "5d77fba3cbb1905d83aa532fcc3227a95d7931bf0c2ab51f8118824de9dc029bd2470adf48b41c694ec7359d00a1336990c30ee368dd40bd681ba74794415d3997e7a756659397bf6abd44ca91c12a8580a3f5d1cdbc7f3be0c23c72334ce9b1419e6540dab73f5ff8ab57d0bbbe92b688bd3495f9344822b622042c2491bc41", + "padding" : "3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "7b5476fb78f389d1131764e7a13322f86008924c8c098f6d74f2df4dcc5a504cd786b3eaae33295cd1e87a2bbd1a06cb385674d465110a9a990d52de9a67f1c13ecaaa86383d489423c084fae9ecd2e9b109f4f04b8c013e3409128f3a079c068c1ad27bc2a20e76ad149325b7b0f0bd804a4e33949a98aac49076260702b0b0", + "padding" : "3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "6034e1253e4860a29096e392076794cfcea166a30b340cc09f77baa5952c06d148bd89b750c3112930ef210a50a7d3f6569da89912b5e50e824116e73a15536958f75779506d07e67ec9c0cd8de4b51dfbb0fe56926feed18ffbd83b0cdd50d56326c54adf97e629378ae5f0f02fcda3da1aa98cb1d1990946edec711a85a0d8", + "padding" : "3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "a44cd265e1ecea83fc74e9eef746ef173277cc96f69a1798590ddee7ce5b5c34a82ad58a5c042db19005e04eec4159900ea764c0d008c52b94577d1c438661fb767902d9d1bbd6a90bdc4df685ec5951eac81d8b4dd36bceef7b6f919e85b6c994c7cf22a804f15cebe63b77f47b3bc2c2aaa68c6362c27a574b849efafe72e9", + "padding" : "3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "wrong length", + "msg" : "54657374", + "sig" : "a160aa43f4873cada34bea5ccd2be9dce07940ee1c08eaad524a5019993bc753ce92cccada706b483f106ff20b327b35e7c83955ad3bbff3f26ced3489877d1b5bf285d61afcb30219c02a440da61030e301aadb901a525345d1a651a21c31a62ac9fb71738c3e215a8941ca9a3c4910679c5e774530c28788f6eddd7a31c024", + "padding" : "3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "1369c78f816a9baf027e255de0c258125be90f35b8daafee87f2ffef2d465e0694af4401cc5cdc7ca78b08d5688ceefbddc02abc5495d47c6829d696f8370ea427e7e0225eaf22cda720bbb5881edd16b19bbf2ca86654c65b4ad481c13fb38af00d77922f46b311f936c51f4610f6bdb514b366aa05f029c1e63e3cfcf9763d", + "padding" : "30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "41d4c1ea43cb207af8bfc1552e31da7ca5744b68c4e00c3bf55f4edd4c81e91c01f44fa05290dbaa1fdcdcc775f6032a049b4965345c16aac6994b06cda9e0387dbff96cdb115e014f69bb057faca2f618c70a31edd0beaef7acdcc0fb7c83b2f07a8b9de48aa04b7c973920af5b8dc20aac343251ddf4c2277985c3db1dac2f", + "padding" : "30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "76bae6c330b9ab33aa9f2abe8559c51fb95f953a75e48053ab99078069214b509dd1b5080ac6819e32912619372d71a9ff1a67449dd699e5bc6ec0e18d1893dfb5bd571d933926d05b0d9fd7036ba4556e209369d1c57ec49cd9075e583c257c6fd4899c2a8bbb157547812cc692f264bf54712c71ee090b974d99b4d1629696", + "padding" : "303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "3480a5c22f092f259b5bc4fdb9a33c044c24a645b57d61920effde1dc0bbfe53738023f16025841f9323b40f72c11091941bbdfaf7c2fbf77ad6626dbd6a3b7abb3ee916d96a922b11c86ce80ee67dec619bb98e9246d35a33b11b3a4e2a3a130e8b57ed4bcdd4b4e73aec3f9e3d50d3db5e29cffeb186846c72d09468d018ed", + "padding" : "303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "uint32 overflow in length", + "msg" : "54657374", + "sig" : "5b3d3a198d4b36c6d9641db181fff59407a25bf1571f85e47bad1eaf138079872b93b9eb51aae09b48d6f4ef56badd96a6584277d8f3c6e4a4e11275f72021b50a1665ddaaa56a2a7caa7da6b4d502c5214e17042811154d411dd2197c250264bb69ba43adf668d4f7b81d932afa55e378214bb19ddeb431f702a91dd11e23bb", + "padding" : "3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "1cc5577d04e34550e7f3d136064547efa30b9413e2c423b5a320eaaaf11cbebb91e13bbe3874e4650e057a8e38c8a366c473f35e0de82b22f846721a09e3f279ebdf54c8df395a9041333f09cb7bed5291bc1842857c4ce6ad5a1c2c476c1efddd5fe42824c25e0581aa7bb8f621d3b53566637c6266bb1bd0a5b7fb79c72616", + "padding" : "3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "6e56d1746105344b34fb8299d173f4a5032cbce3556ca9d1eee35f8b31818efc121a1a9599c24fef8531243016dd6288d67b4bf9fdbf2c90fba5b1661be03531b5e15385ea465d1376010f0af761e8fb1afff7823dcef8dc100d97c192e9a7d03c82321d83fd8ecf67207c65cf182e1104ec5669536070cf1e3fe73c5e27edeb", + "padding" : "303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "37a413f9202591b8860cd9d68515ab522ae800e9a71793b479f1fb74ab8c9b07e72fe82dabe1189d028b813610e5e57c055af2d32837551fdb0cd93d7669a3c02a14c460f4c92136a4d11cfb7dcc76401bb5b699fbc64d302736d68c3591ecd59220107cd63f55c83edd38c4568e6f7749c0d9baebfb7c8ae1bf2179101745a9", + "padding" : "303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "9fa8aac224bb50697103d457e7fc870853b23670ee5b8c7395d68ed82b30db18ae34a569abdcdf19238ffca8f5e435327dbe605bdc1a6dd3eaa3c2beb33f00642984a2034bf3b3e8de3ec7009e35069d5b27253c4aadcb4f163148e157252e3b9334abb6cf0299161c12908529f52de9416ec6218af7a6963fcc987c5024ea71", + "padding" : "303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "uint64 overflow in length", + "msg" : "54657374", + "sig" : "0f50bc6b1b94aeb6805dee51c92860693de47c4925ab90b57a46e0485a9afeed45083eade73bee684cd07048e632d1dd24aa2efc42c1f85e4fd7b7058dbeafb53a3d5b1cb1e7dded3352c3c92ded891839263a501afaa78fedfd04546c43d16f7a52b800abc9ab1ef827ae0eb19d9b52def2435f1477a48dff61800b4db830e4", + "padding" : "303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "9dcc651cc0a1b4d406112c0d1ebd7a9fb5a2c9d9f9cffbeab2d2821e5ed01efa9d191665794649bd1f588b729e8fba1eaa37a5a736a5863973c338a92b2665d6ead13b72a19d2da778febb94b150e8d750340a3b856fca8b3b6e3cbfecb9c397c23f46912ba546ab0f64ed88404ce317f8fb2278b68950e9712d6b11f5cdfcaa", + "padding" : "30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "0397d14205c2f52423ef69c874294dc2b37d5be5d5647f7e83f1dd6783cb41cce52e6de1dc8c9e93ca1ef887d4c0ea79cd8b26391d638bbd8080bce830bf1bd7fb1de31346f28d609874fafd4a34fb7bee900441f55589ec3c5e190106d8816cadfcfb445834739cafaaa3903ed93cedc41a76aa0ce18fb49a3a73b7b5928735", + "padding" : "303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "2c3ffd881c1c0ce2e4c98282d6011179a89b1e84b17072bcbbb64164e5e05410d0414a1fdbbc04564f3d80f3891f28c3f02e92bf97b4339b5bd4699614e236d4223cef0688c44b297eb9c0e22246b4cb28983b102a446dc76671206c3b77af6897f2f445512abda37bc9c37257dd4f1c6f0e6ec40929eb6b0058682b9d2f6c66", + "padding" : "3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "668bd06eafe953fca6a17b0da0f9006ceadb09ad904786b7530148df7eedc146d20a5472c39677d65e59934c00227fb662b3474596e6072f56d2c00c3d31e66f0da85f4670e75c3f2c910c0fec8c98bc31fb2eceff80350b78aec0d316e9bbb331544d8a3d0b1649291396c717e350bebba3d3c3a0b1d55f010879b8c7b7d4f9", + "padding" : "30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "length = 2**31 - 1", + "msg" : "54657374", + "sig" : "87482257ae1d18d0357428b756ae35a48549536a3439ca3c148eee64f4c096d896219097d55c14a25eb1490779f6b1471aed238cc0d6aaf265c12ac086d04de9b79a37518056dfacc12cb4916c17505fc7e2e6c1e0db720a286ea65bde4d3da1d2dcb8d0276e8ce73f3f923209149955285c602572cfd24c82e8d96d45f569e6", + "padding" : "3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "03aadd447f36952dfe73ae89e5c656b7d37ec92535e547cca62a7747f3831f2f613c7dc094f3d5c4c6b9e02b21ed4626930ef3948b42ed41f4cf468d2474acadf1c75599c5619e4872e6d3dfd93abe92234165135ed265e0c0f64fddf23e50c1f9fdcede8778a8ca008ab00f8afa887da3f4699df9f1140953232f36d035b03f", + "padding" : "3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "31afd9a0d827755352b16de04de42e98a8c72f08919ed475530a00c762b8a03bde22634dd856a7eede4b4947d780cb3efe55775e16d7f46f209dbcb5569b2d9469cc271aa850f74960f7c741928055925349821e32e1e0fe5a040010a39a4b6a343f7f35c204106b3617e528a99dcaea8a93766adcfe7be31cdb98f7f7f14669", + "padding" : "30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "16ac0aa2d727ef5fbf0305259ee6fa40827c92419f819673fd64cc2dc2dbfe7ce1cfcf06e26d45f59cb3d9afd30d7a6265863fe856e0a0b1b9508b1e7a2dfb0f87f5ebfc444bbdae504abde7daa33bffb991551940df682c8e2c45edef0563b34d4f11e1955e83c2145ee321165517d1532abd64dc613a280fc30670bba1f898", + "padding" : "303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "0fe0c75dae62462e66e7277b03c9113727419f7d4db7b2a567c0c189fb6328e1f73d5d44e2196b436f4c2f0f12950d419774c8a51c55f9b2217f904c4f03d5f5754174719dfb85f62795ef75e6d54e703bf231fd8472250f529f85294f29f6c5653ef585079c3b3d8f931da80a46c8afeef37696fb0e7986d413bb1996b8ad57", + "padding" : "3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "length = 2**32 - 1", + "msg" : "54657374", + "sig" : "9ef993e6ccf015b0b0de75b51213a1c3efcaf66bf83655287484ef28d984806226a7af1704fa6a7fc02984b44449f83ae24761021e49ba6117505c1e609406b002215de27d696643c3354fb48e6c64e7300944edaeb96e4872275f75532f5aab94358d4954522fc7903439e99223d8124e79a3f519050b6b576b77d5abe7c3e3", + "padding" : "3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "0fbc20d18ef2dce383ef9640232e44fc287cd97bdb1a18614a77a6d72da5db05df264fff4964b3395445a5b75f4098be8c923ec613efa49e87877c08ce52e9e8b491eaab77ed2336179f1e447bc53e0d9fb9cbd2f2c5e180acdc946df4cdb0a878f27dc010adb1d080330e0bed852181bf97dc4372049ac6ab5802c0d650ffa9", + "padding" : "3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "3df42c382b86647a466ffc743dc4713259bd7dfdc909939738e59e3d1eb11d104537762c50eb55d4677a005f7f925ffc7ef0751ffe0c4320a6cf0733e738a404b2672f3dd11fa97bf9d84b786a47c63bbc962d52873765a6de3a57590c2cec68118af81d7dac4f7ce6c101811f2fa364a34fe704d674be5a28531d6e8c4fe120", + "padding" : "30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "a66d9848a3db7e49d8053c4a3869415c0bb58fd265276c99a66ed1df84e162cfe8f0820229d2ac2f99d9753eed39af46649409cf559ca6edc8c47e550b7a4cf24fac756389e365ad73ddfa67e72d042ec494644c5f277f60864dc90d6cbfdf556396c795192077f51f173477b934871e2a960f7ac3e6e8c8039956a5061bccf2", + "padding" : "303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "7561668d5b2f8fd3190be8244d4d0550043dc0a7e80dfac83eb6f6ddbf448d424082fafc332e473d434b37ce7605352594ce632f4d5de30951581af907fff6c01814022c31a31b3d130673a56b4ef7763bad595053af0174df395b802722f5046e408c978e2b5a9a63f8ea80e932f76513928253f432c8bdc7ee51872d315b7a", + "padding" : "3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "length = 2**40 - 1", + "msg" : "54657374", + "sig" : "5a836168587968425c4e103bae20603e0ae6f714ccdc603a865bb3541b65eee9dd0d9ee21cc66c7a83403fce2413b97f1c1239947e94614f6f2eb731387c8b9d956242bd9fb0545eb2c874ca1a167222034649894b41fd0fa935cf52e583a5e9a4b503cf9f2b238c025bf2e22ed78e7a64bcac1d38302cc2361c71b854e79123", + "padding" : "3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "97c602416f2131d34f2a57acecf26365a30c12f77e5beac095533848ce227302092c6f44b47f011d6eb0a91f8024d1935d8bb274c42b57875115a94281fd3cb198f9334758d3200c1c721f6babef332c02a89968a7089f7783993bdd54f809f8372437798d2364040c1faabfb00faabf28cd6ae4ffea29ae2c08a6a7e6074700", + "padding" : "3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "2a970dc291a1dc935cca6985dda703bcc1ece2e40817ce8fa79b6e8fe84e113686e6e65570d46bf22147bcbc389cb5f86f92dc185f556d15e7614cef119fcd7305a31fd2f8710812f35f9f0bd8a1a6e5be3163de644370c67181b7575635dfb9f717f78631d62db714b2a19cea7079ff13c8926ae0c601e4befb6541b02a7e20", + "padding" : "30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "6e16d110235cd11e32b114ca9dac0cd6a1b041a6d2c61941d49bb458241281f62a4e2b1bf3cebc3e67e8c062ec67a51a599a553b09732e23e1d09fb2b20be7fd311a7122414d535651718a1421d4239276c227b96506729a09e3ff2779dd1c79de4d402623039b826e2bb4d26d1b56775fce14ed0203a9ebd8f042d981705a77", + "padding" : "303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "0716d252488e08f10a25cec94714e6105bd4e13ff019431190864cb0f4378d315f4bd0fdf186e1f2d45a6e97eb04fb2013273e178ce4f82a0b67bf9d021b1d8ab73d753adf2073ee1ad6190b2163139db63778a3670b7cce23f45efb601bd59644a431cbe534ecdf4c4c58ed02ed03863ee32d296b5736c010305fec655b1a44", + "padding" : "3039301506096086480165030402010588ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "length = 2**64 - 1", + "msg" : "54657374", + "sig" : "03e52a2ed638bfb9184a0ee3698502af3a19bb959a984957de5101e6f7a62cccc2ec2a6293fa9d76fabf3ce7e4bf35c65a5f864bc003686a1e05b57c5af6ad588e05a5225479422d7b78c5bedddaec7f4b8c1e9ab7478c1ee253847324e025434b76a01b82a40123ab31ec9862c6016885dc6cbfe97801503369fd3688bdaaf8", + "padding" : "3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "9c4217830da16424a6c80a62e1e1cc0c589e3324267b4498e89af96998f83524b67c703e46860ca55631f1e659096366b60557dbbc8aa8a3a7ff6a887f1afcc55d336458ae25b015061adc391b8a449a7546e48d7e1d783e5684730333b0e2a32c13d36e342e31a9c1c447c0585545e08ce4f6340529413aaba6872280bbd7a7", + "padding" : "30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "5aa35d19b312de94d0123619500c15ec79fd838f6f18e75e79a11e50d0eca9406ecb38de68e11cf107f80ce2d62573bd1e4062fe78f30cf4bdfe9bb571488887d9dfaa2d6031f3b7efdd0dd78f04d980abfe641f490faee10e86dcc9b729bda0b127b448d33b1e1b76373794c284d1aecb5b813a2defdae3723eafaaf3606eac", + "padding" : "303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "971daa114a33b412a3aa1c3a93d5e1cb9810210019fe4e6dd0c70361a99f1a0676563bca2a05915df2ef2e38cab387ea16405d371d1a382ac286f1f97d4fdcf84464413986d54d6e2c7aeb8d5afffdc6de31684ecc7df721957d331bfa588a5f2a65c52f29ba5e4585bc69539e1945f1c4306f8d664d9cedde6684254ac704e0", + "padding" : "3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "1f5bf49483eb6f33a5575ec2a8d49388523ee41223210f05e1f9f73bcb5a8973dfaa0093247460885f034e4ed7cd888c63f9f0f74dba7065f00cbfe5d9cc0dc7aebd7893acc3f32d5cc03763b59a0a846554ef58569f153301dd6080d428c8330718e733b92e76367f4eb75213de1495bdb1a5743deb55a77919adb45bb6bc4a", + "padding" : "3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "incorrect length", + "msg" : "54657374", + "sig" : "7bffc77cda9ff6bfbbd5a92fa6d4cf5a9f48a083c37a9437e5d82c0ad9f625aac8917c8df8bb4db5ef879431bacf360399c6607711082d6bfc5264f40631f2a742a3494c039146c3f41c7b53aa754afd35410a0a26c6957dfec86797268861036bacb5dc8fa6ca2893b26a3e4b186d4ae774a3822aa1e99ba4bf6bc3d53b2c99", + "padding" : "3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "3e461f3131735907cec3208f19a7ecfaa8f3bedf587d1c586773899f3fed55cf669ba736c9478b93ff058fc063e62433bb0da4d6da8254a00a6b1e1527dba86d89ca412cb952a988009d8874163683e729c7544b9c83e07b77467b4329e04bdee552ab0513f92dcc7376ed59718b645b50bd50661c783d559eaceb12f7bf5d10", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "81312384fb68fc608aa019df2a251d5a77dbff379c99d2804bc5ea766f051a80dcab2f63ec0b60d2b26391b35a83a5b75c7449fb0b32bd28d78f1138dde33b223d141e293bf007c5d028b34cd6055a4ed7aa31881c8514a2a091690405f8a708da65b34730233168dc08cd81733d2717db133f5d54ada593184bd008e5a7f016", + "padding" : "30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "1d1150ce975992c50b3cbe98f2373621929c7a90f8dc5a9434a06159fb614acdfbd09851b297505db51aea8132a8f082fe72ea23099aea18494d2a73aaa6b9b6b04ca6d20a88c5dcea917f92c5df7943254fa9c3b1e7eca05a2ae2f796726d9296c880cf0872b8c32082a3a42b9cd099d286b586b0efce95908c8ffd27835572", + "padding" : "3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "7c64ae50883b449f68f941c9892dc1e1f446bc3a779ce9906bf5f6751dd110162ee03a99d1b556ff380f176263846e76aea5e7078927ec6c076a79c64450f6ce8e7a9faab4040a31c145564107120cb524451e4fec4b1ae3702d0b063c660031b61fb6c2d0cb46d17c5f4605124057d5ce3a0ded2019a14718de1374e0e87124", + "padding" : "3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "indefinite length without termination", + "msg" : "54657374", + "sig" : "65e61f63db5ef3a5de4a11aa39e3f4a6d3d952336c19f0fd60255b376d459d318fe4234a3a6c883090617306f98659577f7670054fc4f2d4c82bf7fde24bd1a231c71644d487d65beead86828e48a3e081fa6d4666b86b899ea57c99a67c0ae75947f2a4e5dbce3025421b3213224e29a55faf0cab8d9411b629baabf7c9ba6a", + "padding" : "3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "removing sequence", + "msg" : "54657374", + "sig" : "5df1c4a701c6fc1f2daf6f4538f29c3452667424c05edcbdaba4a1678c8b5bc0e89656a0e48aef46642e0bb597813688904e9d74cbd377a3d9d2c965bd3ed06f136f10367ea3eecf89a97508389448a31ae0e79ed3725d0c4e99a516daa4116479bc53da5d7c2f26c7ec6310d4cb4174bb781405630a9b1c147b0e1da3a7faf9", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "removing sequence", + "msg" : "54657374", + "sig" : "3e43837b92ebe4df08586fced3dce46aeb2fdb6ec2bd0c58e823f6e6363b9b676786929d13ede60a8d8d0daaf71f0de8880ed0fdac8706eb2f324394145818b641d1049cc7552bc6273d86e901099c78297381faec5c518fb6de429700f3bbfef76cdecbb60088b9f2a77d75b8ff86f06cf23850e3183a267c0ea34f4f839015", + "padding" : "30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "appending 0's to sequence", + "msg" : "54657374", + "sig" : "26d20fecdcf0b7d6a0472754aecbe115c39d580ce9d78b67d1a6395aa6ce6689bf6d0d96545341fbf04956a48c47f7d30bda017acb1d8e24ce596aacd3e05b1afa571d19f5316142557f765e4c5d080bc5336b79e2c02d8833d076ac9d7794ffbe85c66d0db97e1f5bd2ecb46afb15c19a8fe083fa593420e996a483c2a3a766", + "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "appending 0's to sequence", + "msg" : "54657374", + "sig" : "1163082ba8d48352df7eab96a0067539faff24374a630aa4393461a0aac716606625d706699dfc22cf3aff89fcc278f83a0adac87aa0bf192dd86a97031515de1933a23849478ebed20e4203abfb47345bc18f38da5d45e829997b10107c536999b2ce10b2781e1db03e10cc2bdbc2e0ff4c3db5d271ce83c1e7e267e7c1e107", + "padding" : "3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "prepending 0's to sequence", + "msg" : "54657374", + "sig" : "0ded592bef1fa809841e0d7365e66af12f4239be0928656e7c49a043b9f2b18b9bd2dfe93a810c6e6c8ae6cb8a5c9d6e9d39a96a10b3bbdb92a7b8f575c2db4841c1b628160f956f54e0c58d3b6fd4d640b0a06d39476daba7be04b63a75f38bbf7517d9751d2b12d2dc00e44de7263275dce6b0c0af65d3c04878d6fc1be2ac", + "padding" : "30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "prepending 0's to sequence", + "msg" : "54657374", + "sig" : "95a42e5d9bd9ad5a8579444e8167bdecec16116a7900117b298c82d5560f1d16e9fbe963764727fef9111f2465e66177b576bdb8c70a58e3df6ff69edd2d6827c97d626b09c24cc49f223cd5d2db2916c54fd8f2ac7301723449b1823f2ff48c56849f7d608312d4bb7a97f90ba218f99cb773fba0a34909618f5d25854d7687", + "padding" : "3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "appending unused 0's", + "msg" : "54657374", + "sig" : "2344c598a8905b350f20de5cf0cee60253729a54be45b0b19acc109ac15862efab2e7c96e92bc990ed6959a40d725c24c25c8d223a46f490905c1448d8dbf7c9c427bc2e896bdce6d2c1daabdc93ce177f9525ac69d899bded12443338834a16d885456057461740c5140cb9a89a017851f9e99e38c1727fe5ccad9a7a8709d6", + "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "appending unused 0's", + "msg" : "54657374", + "sig" : "a08cbe4009080f73cef03116ea949d1dbacce7025f7f61040fb4e052754d5b2d74c2dd06c0dfe1d09b97aa5739c809bec6d8cb27e852e9fef353bfa32964b99495a6dc63d6ce77460ac280c74c0cabdef794f74930f7f8827af1c6690d22ec2df3af497837bbe900a890e3feeaca2c0d16b0017155390ff0396a35ecb62b5992", + "padding" : "3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "appending unused 0's", + "msg" : "54657374", + "sig" : "500df36bd7d0b56642e2d5dab6e4ec0b148e7b8673cfab40e45c5dad5efc469b3321ce027a3a7ff5689366a18a32267d161a1266491b055f11557c35bd0d4f43df11b8a26f7b13c54be423b87b30b1dca956151c3ec3df03b30918a413179b0e064bf434736b323408e3f1330743c8bdbbb9d466dc1e21710c12e2e3b638b172", + "padding" : "3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "11a382fe570e0cfeb515955b70ec89a9353cda0c5a5d3cfa3e16e41340eccaa18ba21ad87c4a54a7131c4a7cf9afed68b1c1645568bab9b0fe7dfe0437abbe1fb6cf06bb690f46aa2eca034093ded661c38954341f3f35abe484015150307ecafd06d4309836771dfe29bfe56350d68725e0cd02b1479c6f99eeba2d59f40626", + "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "110f3f188df46da58cdd46b5d460ba3d2f8d00d907289634d52a3ce693eb232cd6db738c48c8aa22d923d4f81d55925b3d4ff29ad9869f97a244d37b860cbd4646c6318c041729a7aaf473b61a93cccd62fe223d1be00364f03d722f43c7beff98c3fde573e7e6a0ce7d4a2a4bcf279765e29769bd4f884ce41fb808ac3d541a", + "padding" : "3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "470416ee76f0bbdbd2812b533813e4463b799f4036e6955f3e174f6287e3c73d57c32875607e2eaf06d612cc85170ba5df31286edb645ae9ceb9e62064050f3e7f6b36fe8fdae7a3bd89b6acc523c923b9d3f3e5f57d80c9100b39dde75caf46adcae56668149ce0b80762bc459ac598241dd79c6b4fe0220ad53e3c591243fe", + "padding" : "3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "100714ee0d38c541c2632e96885a7ce0afcb22f0cbd84c556f19d1b44bce75a8fdf141e975dda1812b4465050d4615a51c3b9816606c7ac88d6b684df938e7a8852835dcf5bf0ee45f2e413290691832095af77eef0e7a86f72167dbb03758e68561f7f06afc6e902ba19fad57e00cb43c0fb2a5ead689a146c79c9e6188bd85", + "padding" : "3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "appending null value", + "msg" : "54657374", + "sig" : "44eaf5ded57ac5c25c17eb31c2e071400b46b9022641347b2edb0b14efbd4eac5f71e4bfbe791e164c003667387e57ae22c6b00e69971d7245e381f6459e5f88d9dc0fdb385b777fe99e5e4d79aec057e41a1e457fe2b91a5f4a8878d2eaa1c3ad8393d281eca07ebd287364a19045029fa7ed0e62a21e5e42a88a52ea4abc8b", + "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "3b8b17b4c7b66b2fa3be8eb404e32b6fc0b9e56bbe678bddc8f7ef7c042c12ae5290b9c4201b35d10e409f3b7eb7760f5dee7fef09c30ea858b78bc9637dab245b8f83ee83c75a7aa3d5234b0b6dcdec385f8cd305dfef92aa83cc0ecde8f20f08af78b600c1f802695c243502397dd161b6151a72ac20596a7d7efd8e321298", + "padding" : "30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "762d30b302cd76b021e237f28017e48488ff3bb30ff9e92db5b1e76eec2ee91c9af03e1c5038afc22591b1cd8cfae648a33ab77901f9f3736e50eea83f7c7a4546dc55c0265fb17dfdd30250fa3881e34e51b4f2e54554ad098eee952ec888e911a0ea5df42c0560bcb4bdd718c88d834b534917e555c38fd1ec3593b2f25b39", + "padding" : "303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "8cbf9d425abef67ff0a7fb648e70b82b1556ac80e46dcff37145b9041bee2bbbfa56817e04994c9cf1123c6df2aeeb1637595eb1e20adef51d657943fd67826ac5d5dfba106ae9cd243f12746917a446ce955034b46ceb0f4d542b7bcd06ad3e6e10899d5338e6d8caf3d4de3cbf45d45a58d946a64d0bc13e97a4ab4e6b6016", + "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "2f4944e5191dde165950a381eee6cce3fd40214e6a9851919f5441b4efb7ae5724db46e92a747937c3c8f9329facb7a71ad5f380e44dad0436cd05fc312bf3cbf05c4873ab2125d605848cf97ef976f7ba8ab6949bdac5152bf1a66945caeddbd89346965a33a8fe0a0ba63b59beb05a44b6d84e1fd93506edcc48da12d488a6", + "padding" : "30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "975d07b7295268a8662aedbd2b65b5eb10bb496077f41b90d12d34ebc7e492f0c7f3a41d4164a279f06ea616f91968628be4ceecd4a554477bc76cc6b2e6bda4042dc253327c4b8fc40e9242cbc8b835114a7379a3081bae4b2803a99deb4a540f8c149ca5db3a61c7bc9f61cd7e55521660a06603849896c791a18d1c7360e1", + "padding" : "303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "37352cd11eb5ff7380bfb7c0d3e8d9979ae7cb489a71c31a077d59496547b0c95a760387ed50eefde0b762222f05a6033740f6e010693edf3ef8ab5f9c57f4eb1f6ccd83287dcc2e90857defe5ba4109bf79ad84ab069c85a25758d22536c6882919245fa2d7e7921b3635d984deeb6555cabdfc46a42c75875d55924c8bac62", + "padding" : "3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 82, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "05df1fa9290a68415b86468a57394c052f00abdd6c65eb4fbbd834cc117cee4bba99764906fdc46e78bd9d554d15cf0284a64dd0c19877115c425a1ba70c1a4339a54ba7fd60ec809b9b789dc06997c2f25e890d8bdb1bc945c0daa8c61feab5bca471bd520126b6db3d6077f55428e0e7374da961dc5cba5397604303eec6d5", + "padding" : "30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "1fb1960934683292a4c92cf3d582cd5fe68888a5b0f6c2e64538289da7f96a9efcc36bdbf1fdc0cc0b3b36c6af608309de58c6151112f3a78599ade4a718b359547a4cac9a020e5e7e7117d1bfeb3ec21bfe9732825e624b27ddf8a946eb858b30461706f769a54b0478e0753388951d98129383590186b80836608f7e06c72f", + "padding" : "30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "7e4f953b288c20fd5bec56a00745db9be03590efcb637e2ce2119a0a1846e9f38c0ebc5f2498ebde6217d81c9939b6d6a6f35ba54ee50d6313d3f2579751e7ae8d31ef4b0e99ca2e96c80459a7e5ff51f6f31e9c965be19097de13017c90037aa482d197c986f50bf2d5e1acb3f3024605e46d963410a4a623c898d0d773a78e", + "padding" : "30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "53b8fdeb2d8aee9796a56afe4934221610ad028ae6f9478c90d4e865f3f78b3d27b383f87086d50fc4d96c5004d8a22a0c5d32afad45fd68fcc3e9115bdfddab605c81f31d0a8ccffcfd5fdbfa0f0a4386649198b11c10f33ec5bd73c713a6af706e617a3a1e967f6ac025e7f283e49bb9ea1fe3a4f27d9f6caaf1bf4981ba06", + "padding" : "303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "90a5d10e2e19f7e016d5126a3d3eb91432611ebfd411b07a4be15aa48c39df33f3a2855f1e150ad34c7f83973bd73eca6575dcbac4086aa0a38db3d6e6ee2e9f419768493fb4829f1f6d67f80359f82d95483d6057de17fd388ae46687c429dea4d9f7a286c95fb1b9df0f1ba40a4263307789952b1bd07cdcb3b5cef10d9d2e", + "padding" : "3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "a88d38e8c765b7e439f42294e71c1689a318ed5414efdf474196989829d4989fce8910798f4d7873fb43d3a501fa15c8019813104e4699597246db66f96c838e45aa3596a1d26cbe9f6ee91c077422953b402f7e11f8768a2f132295bff79a0d10ab843cbcf2c921113992336638f4052446f52815328ba4946510a6b701d448", + "padding" : "303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "a34e59121976568352ea031232f6da386623a1c6866e36d6c6c07168de977faf6e008f14fe22a27d42664925f756f4b57f5258ceaa8197c3c172068dabf3c6cd46b3cf0262931bea731249781f28361c25cba9b64f678c0b2692056469624d0204bf2bf9c4e87407372838926e6b34e68cfb31e2870bfb5b0fdfa2ec1e177149", + "padding" : "3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "7f642b5702c331dd76b7ff66578a2c0547d91c556b7b9751443d911729fb5ce8426515ba068e2839cfdc956eb813c25d65a2d5213b59302c0ed5e6fb95c49002edb1605f8f622912fdc309d92e6e3f188ba19e991fab0a7018ae4f6e70927d91cffec51b2dcc8113908faa1173ec9ed72350aa93a8cadef8bfa7305bae22bdf9", + "padding" : "3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "including garbage", + "msg" : "54657374", + "sig" : "0abb75f2fac084da0b99bc823c021c4872e23302a6a25e400b6f25d60f7c903899a69dc548676106b44f37c1e6d2604eb995a16880a2a8e2cc9e0ccb2b984ae482036f69a6ad31a2b5836e73e0d30c3e10f8b93c7587d7c0f2371183edc3b8cd0fd7bc325b1cf75e1079f8d6df53fe495722cc1ce707cca49bc6f4ed2ca6c4f9", + "padding" : "3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "9f2234b108a45abaed850e19d2f9576f59bb83dbc6165da61c4798638f9c98587c7eb92a8c901dc4430e4a47dc05681ae811ffcad6f7a604c43551cd0f5d123549435d622f7efec578301efd49dc6b139abbc3c7d6a26858f6d18f09b863a145d6483c9efc6c322fec1341b6362dc1d752c714efcdfb09097a0ce6df7dbe88a9", + "padding" : "3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "24ba137a293599ab7e50a0a4f8c7a5cd02dda6a4568c93f84d00ff47296564563c9051b334db2fd2c081b23d322d4870a61b2435d651d7efb4e1b0920e759f7fd81a937bbc85ff43dbe2b702dec3acf4db68d5fd7b8a2f6d32cc49a7300dd659623b391927a2442d69c6c3c29e59eb80b1d0a95bec6d18a6223cf4357eb7cc96", + "padding" : "3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "04023dd35fa479f8156794d02935f8669c023c774b95c5a0e02837e32ccaf7a4ba5195835a15de6a21796eb96bdaed868f9e8b7f0a5a21c1a3058f53aadb62d6ee74cd70b2c38f17e42a1f7ffd88955731b4e15368211ad53f617aacbb54a7e7078740ba6daaca81c1b321b748ea1d13f7aece490226636ecac41bdc275175d6", + "padding" : "30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "253bed76e4b8465ebfffd1b7214ce586294d3bea290517ca2bfc417ba9d8e72d286570c348dc6084fd379c2bf4dae424189964639533e17c409ae18e445210ed4dc98de4ad7336554740d1532d5010a1bd7ebbc33ba48a3365d50669e4f4522d0e5ff7a3bdb1c42c42dee647a8a3ce16633eb33bbc0a869e12cf99f9481dcf85", + "padding" : "30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "0775598491297eb9004eed66234ded82e047ea2f06837425e6bd27f33b1373667f3ff4961d60f85edede88ec2bba2680151da3763f0df9785b31771da7e643862ff9ba944ab54bb1356ee113e420002a873f1eb381660f3eb84b1d6b25ccb8b82ad12ad0a449c4de205144873329e80ae8a84d1d3c1660b3303cbef28b48a553", + "padding" : "303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "a73df043d06ae53a37773016a4e21d3f1093c50e079b189c4bd7db3e2e9875b14e5374cb8e7394a9f1b45c7e4e9dd516198bf5055b30ea4d205f39fddaab3da0cec63524bdae2ae166a3874c59057d93855d6e6314fc5da8111ff58666a73c00a105311859f27d2fb92f507531b9d681e219861e4f0b2b979c185af2690eb4f7", + "padding" : "30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "17e5a889b8139593e192f7af684c918f2751f157214863f88984ff3d8c9e381d1bee5ee788fc82869f4c3d8483e3c17c873a850a7a5c85e4518cbd8531b331a308a0368a868bb7995ce0f8a7ac5ba53b88c31c958dfabb36ed461472505b598418185b864f381342c29dc80e55ca7c2095e7788e7e8d385d61de605f74e431b9", + "padding" : "3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "a659f7c44e4589e9f6658b0b57e82e65d5ee9fbe2376894f558a7ca4b6e3c5032f953d1dccfb9b76bbc53dd5d1a52cfc092c6ca279b37c0a43c99ec0553d7ef4d9bf9361a1c4a3fb7496aa58c0af518312e18819fffdafd1a230a38440a6fbb0e69babaa977b8b5fe08ed7c6d59c0391ccd80b42a0c0102264b0ed6af8524e9e", + "padding" : "3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "83fd4599a47bc0852ee1a12b2d97fceae6d8442fd089df1d21ecc252a410982410bbd2cc6bbca219502c2934ac593a09beefdeb54b0692b3e5724b79b0f5c53541b62b0c4bf80a658af71d5964fc6a1fd7823370d00e24dcead4bdc86bcd883fe3f48dc7f8468ce99b7580306007021b68b48ace274e3c09a1b5e21fc7542ef0", + "padding" : "3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "including undefined tags", + "msg" : "54657374", + "sig" : "4bab6fc6948143f8ec7c8ad86a0c5cda5bd8151c24ca7916857778729c882581603363fde0ae2a28b6f8f2c8ce8d5f6b6e731bf8ef735bd31318069544295b54b04ff2abd1e11900373931164586d7c830bae704f7314eebf1d32b3a171274ed456e335d2a0b998ac441053ef096a037bfa6e5cdf3835c45ede383f0ee8feeec", + "padding" : "3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "2d9940c172e83a1ce38ce52741e694c7b62c77a63c0523ef68ffde402b0cdf7102afa7005a731d399757b69d313c2970a61f785c12fe79aad5398a956a2c004faec802691b00246cb759b0db432739febfef9abece7bd95e6ad980eb9d8b53886f739035b71fecd5e5ef0f0c0990a9f8fc0aa5d18089471dbd53488c23630415", + "padding" : "30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "69fd1dfca1b436593840f946e6113a79018c6cbc4e2b4562b12d06c03c7cfc1e724841ec59aeb0371c67a76a089a3f83f837255719bd648bc0888339c54223c25a238e717d1a90691fcf9690a3fef132f034cc03926ba8ae21dbb68467669cd19837907ca58237b6619be08a92ccf8e5756e3caec34a3c2a4622d7154a72256f", + "padding" : "30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "58c64866f9c1b6cd94c33fd708375ee8462f89efb1c72322174a1c5ed9117885bfa4a02ef0acc16d6a078800b84e9fbdb7f8f4f232091326811e71639fc1321b31c15c9fccb68f77c79b2e39b817478539636966c0adb23407401a4c68e6cf5589104a5557650ac389e4fb2a64191014c4e8f9af48f8a28f555d5cc32d7a87aa", + "padding" : "3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "0ba4e7900332ef20ad600bd4b8c0bab55c1030138c6131c1cf14a45fa98e10ea297ff6c2b8de3d92bcab6f1d303f4f8168848b2fee58ca40fb1f1c7eeb808c212b413f6f302d2e3904c2be2fa77fac21d04352a0abb07aae028e54d9e08ce37a6c210ae47095890d668cc1c296c9db1b5ddec30b722790260dc26c85e35f6692", + "padding" : "3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "using composition with indefinite length", + "msg" : "54657374", + "sig" : "6f7b739d7e604a1123a232be4d0909a890eb3ad115f822b91592563a55fa59711f7ad17d1370abd4a6af6dac7ba08b6ae111291b0c8fd0626bc068022a8eff5ea5b797cc7fd35a81130a9394f051d2bb6bdf6190c11b964dbe2e4021a71ee8b405d0baf91ad5897d9ce22c8c1dd0e7dfee0e6abd979f5a1cd9443116c212b806", + "padding" : "3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "53e00d738939553ca6f742ccc3671c88fd2319dc438d046f06011e088b57df8703813a53fa9c68a8b2de333445fb739726ac2b6ce3b2800e3082f48b823a06d0b2a83fc4c0b2e6a40fc2d86b73030e974f101dc6fd6a24abcc6cb347eeed08a4c8086d1fc5fd68b0b36fce0c79e5187c38c8a4cd35973b1755643aa28496fbd4", + "padding" : "30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "9382e341df276efda17aaa4410801a3ba0e4ccd5f0b61cde2416c7a8345cab1bb1fcc4a4a1d7c4a03a9d9ef68c83f2b3e08fc5893324159cd3dbae159bab67b109e55db550b540aa6142531528281732f63235785e145ea0defac4e67e825b30fbe9ff19687436d600ca412053e2430a1d1b637d4db255f1616713f3a2ad135b", + "padding" : "30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "01ed4d8d4a342729f18182bc4f7645ca0a5216b57d4d26b874832983d19741673aa7c0e01705ada27ab779b9b84f431e83c621a2dd7ae5f501ec369273d297144b76477f4408bca5ef6a59053c1ffde80bc228f99dcaaffb4c520c507b3a941399042f0c535015d86b2b5a95696b71ed61ff2bb585442b85fa2477268b71f77e", + "padding" : "3035301126800709608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "21782ca777e07848b600c37bb0a881707e580fe822d5dbb78f4809251a5cd74cb6f3636194cec8bab9040339da6531c730060ff5ac39ac9ad56a2371fe21e02ce08da18778d2256276c47ef0261d9c453360fbc4a2cc1dc7a8965ac2ccc17b460b0fe359ae4fa53f75efc68e96762cff5d98be46fbeacce2edf1d1bf5e158653", + "padding" : "3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "using composition with wrong tag", + "msg" : "54657374", + "sig" : "1eb6de862a77d435e62635b620be37fc8be499500c19b4d87b3f993b9710f55476d3f3ac27d5ab2c1ec36dded088bc50ba5c0540934fdbb5ed3309babd766726ae833aec211a526caa82bf08f1704b66128f24c912c8c3719170090fe1a2738b0da32f91d35546a9a499618428d368b326203aeafce635668d3d5fde15762d84", + "padding" : "3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Replacing sequence with NULL", + "msg" : "54657374", + "sig" : "1803d41a0c822fda4ac7757702f93d48c6f6c2dc853e706fbc95f3fd4abcd376d0682907da9eff695ae52001d34bd241030899ffc8e2b9316a63500675be891eb560fab23fbc855ccf13a76785b6618f4a99406e367cf76ad9da4d59dc8378eeb1144ec3738aaee1c81c3e6862526b9f00829f1ff849eb7191b709fad6e944e9", + "padding" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Replacing sequence with NULL", + "msg" : "54657374", + "sig" : "3e33872aaf9b4484c80bdab42c7f14f2d0efc8c54bc2a0353cd2227638b9e1ce4ed63b9e89e2848f35f6de307d66eae9fab775f3a8883cfba5c8b71d86a213b284043027433cdae708b0714523ff2f5074f1ff89cb0635ee4f34eed7aef7d798c2e19be4594438325f5af4e9a7f575230681c925da54c74ebcd438e3c1e0fcd4", + "padding" : "302405000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "5770bbbb883f93f7c29bdab32e496f2e9063110fe648705fd0b1dc927052fc9ace9b36d898d19cd4f862b777b7c790d767b8313f735ff567c34cfb31f29644540645beea182cabdf789ff9ac3f68cc20444af0b9d4ec0bc8992945063fdb733cccef7590a10bdf491bc21c38f25ff65a581b40343e30529c3dbb71f62189ba3f", + "padding" : "2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "15bfb4fc46316e5445357e1e8aad401573dbd72f4ed10210fb0e6343c88d61e5e1ec52e940a123f29bae98210793ba6d9e09329a00a85565b573957d14ec6ef37999ceefa994c870f010bf4a63cb04af09c87f7810e3289014f50a5c051a3fe5294ed186c1bc8e1de9b663863619e3972d9bc0460438b56f63aec3315c10f904", + "padding" : "2f31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "65619cb9c793501f05673b24e7d9385c8b9f02fdbe3bb2e688c266068fcf2508a141797db8dc2ddd6b3ab649654a5d806d05f8508026c4f17bcb0a923b117965419171b86098589128563699fd8123f966f746518067d62c8d9ebbbfdc969671b198335cf51fa4b2919c03e66f1042346893c34829c774ed8dd9f31abc7ae2cd", + "padding" : "3131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "359dfbf40d3c2383f58bef1d518abe9852ca80d797393e4e1a9380ef08aa851d585213e8897c6f701ab680b0f63ccf5ea4216331918ca9a984fb6ba549f4bd066ec1fc4f1ed053fa5658b01df674a21322ba7e21fba6cbb3a8eb5565fb7bc269f99c65981efa650dde613ccd6d3927cdae45922d94dcf7ca5188bf5acf84035f", + "padding" : "3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "24a61067121e9b4363b816b7c5750584c23f3c3200ca929fdedbe95d7504c56ea7dffd762074e44e96e22147943f2b704003967270b2be1bd1baadc3861c4cae91bd41530c67220349db4481d324d9927d52fe85618ddab2598996c5813f3299e1afb020b24003fa94f94a0c6c02b3183295e0de79eda021dccc5539cd7874ce", + "padding" : "ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "11b8d1dc2fa2afbc32f048d7454ba032b432a2ecd438506aa72c697a5c118e9e231a0c6b6340b5564402b7e837c59dd36f726fd626621b8f543964198484087eded70e7bb1dd63df2cea33198b9d02dd28e3b8bd006ba991a8b3bf06ac928bef45cba2362f2e11a5fbfb0310e84e8b7ba1e17c315adc1f34519134c36689619d", + "padding" : "30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "6299afeee512d61202fbcf1f37a2bf6003d6d37e71dbbcfe14f8c3079c552d75fddb55ffbbf13b548a60c722c5ff816c09c6e5f14ba4b3c4d1ab31c9b66bb0666b5e5dc9e36eb70bf403251e2526955f6025c8bac3502f887ad1e5afae6f252209d09a1e1697431f571a95313e6058e55bbb555c75d34e608db2ad50819cd865", + "padding" : "30312f0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "6e23ce9405034595a7f7a77f66431d18fb770bbf009f6980f1516df788d3631f9d8de65313d6b23007d62f86cce97df492bcf4727db160a862eeb8900b43333553e1c33b1768eedfbbda7aacc8dc9863e7a4347b3d37e00619468d7a0b5a7385c42bf0edb3dc24588ec261c739a181c42beef46ffdb4317afd7e87cb6250a246", + "padding" : "3031310d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "8748f029d5294dc917cf4fb347e0046f903c088fd976ca97b1322738549df7c56cd67349d66596338fe418b29de9e8af8872fcdbb55e1a6f74e9965fe7a365b846b667d0ae50df23083be73cceb59db545a3e1a560f6ce0e9eaee57b5f95b8487a3987c00f364d0f148ead6d7e6a37b05456b913b7a79c0547b80da2a2893881", + "padding" : "3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "2bfc087003f3b98f0c8c5273de34f5e4d5047e909cd80e222072f6a7926ced5ae169131342640f2be11bde2f7565c3c63d0335614dd278915514de8421f4521f0138109a5c9778f86647b8a42815b6b861f173f5a6df893873f99c5e62bc3c086150e3b7d7abb943ecbe5806068abc433e9052d9bdfa19a58d19da463dbf3b23", + "padding" : "3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "0fe03eea6c50ab664bebc7d64346762aa29b08b61f2877973cd543c9533c9d0451db8d836eb46e8d64283306efd7ef6387cdc3c794f7474f2e7d51b9df078095adc85fb810cae52434c9cee5048fbff72610778397fd83204f44bb87f7637373d111dd16e18287bd9ffe816683bc3663f586082fe0811ff6a06c0264b67f7716", + "padding" : "3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "9eb8ca45243e6cfaba1209dd8bf9568ca23075a170363db359cece419b732f62796210ee7522ed71490ca66b452f9eab5bc1e2f00b81861909f003d3b0f2e03513b3db51ebcf19e6fc679d686a559f216c761352ddcd84d05b62c96bbfad63209d97205866296c66c01cf273b9657c64a3f8088d3be7be7cf93e176a76921230", + "padding" : "3031300d050960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "313d3aab5559becd0d917c83b5a0e34a7bbc3482018dc624564370202f3a71f687f056d3032b11f32278bc650d9a25d4b73be42e44b68298554d4c9399fbb4fc919f63f1649496775912f99c6b57eca8dbbec359f0a3dee046f3d54c31eac523eff73bead2a9a4f20bcf74e8d48776801d429a11bee061588d291efe0fd6e746", + "padding" : "3031300d070960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "748b9e64195314003ca31f726bb3d3294abd8eb376365acc5b1cd36934bbe1a9bae99ceb7c1a40c910bca6007ced7961ecc9ac74c7a6424cc87b6b9610320ab9c5b527d986c6e8ed21e677bbe2ee7752e2dbcfceecc2dd6da3f6c6b9c81435e9e060dcd67ba834729761dfc9570b79bb1b8ead7bc1325c2233e445eeed12dcad", + "padding" : "3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "7379bc96dd40d37a7f8e58f87c10fb94f250a964a55b2abead479b368e60e442e6eb864952308eb45eef1d318b6a5ffce634fcb886dbfa062060b9809cf89a09a26fd334ca22a1917fd219900ec0c68164c308cb9cbca3fb2b89ed8637c5540f7a5886ab1e52c503e20edd6316e41c746e53917e107ef5308590800ad378ac97", + "padding" : "3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "4a2478918565be6b46fe61e5f66cd1befb7a3026b5a1502e9a42636b0b924a02e85d7ffdfd8671b1d6d3e604e3ac6a5302db4e0ae0975d0661efa018d6ba0c632a6381368dcb75926542c74823a8c6d8732619764d5a61062fb3b17ae243bd691c97c8f9821af9526abcb522ec8e9dca32de1989e576e336af9dddc3e766541b", + "padding" : "3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "0f6972e592edfcc3d7df9366f8f20682f95003970d9fc5932715bbfbea6a7a3bcb311f270e7228f0ba6e94c44699c95ee4c55daf55e59ea65d136b61f0eb64487e72a4649802e25dcf463b79cdafd854b35ffc2e100b08d3e24bb131fa46440d49e4f6ec9f8bff61ee652755b9207a5661fbad44fcc511db385712da10908dff", + "padding" : "3031300d060960864801650304020104000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "61a002789a9eb5a71a1bfba260059cd75da7405336563b0910a75b9d56a89bed595f0f493973bfb3ec62b1a218abf9a3b1fc7bd18fbb04204b232f4c632f641364f0c65a6ca73b75225547714e60a854797195e46edc05a746e8d84f64b2151aae5880c2f33a8e7a68bd7e334325f68a87b65f553513d1f9e77904f6ab1cb2d3", + "padding" : "3031300d060960864801650304020106000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "5ec392c91cc165ae59013337e7f7d5f2f9b3a6d45b6f6beee6dbf93e7b9607900f4672555a57de6e9e1aee1fc9b7adfc0dc00e122e84b0233c0d615dd0d79764fdc9d1b0e541f2de0083ab479f313a07f55f51390d1c2274858b219b1ec0601b82a2f7648ae95ec17099067a173e3e83959b6c06f149af0e4610761aab5be1a5", + "padding" : "3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "6173aef07a7057c3e97f6b7d4d7266918876f9fad86000b4c8ec7f83ee491563115b0cb5d580df8c97feb0d95866eabb79147926f5395c5189554749f4a2c75c0d96325971635be029062e1f27536c5041bb42f42e1fa10e21bb8e9a2e2502f2a7299dfe3bd8720ecb8a57238056ab0eb546de8dc0e56b317c73ab1e19772596", + "padding" : "3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "3b80c72f3b7ada8b38b30527bca41180b4a89b066f44a17b9df5963dca46517d9160326afee7a34b650b9e7746e764958ce6a0a6268481a8df40e0a95a81ab0f0bd20c050becfc0c4b03ebda19749a4a1dd3ce925fafd9a4006a835eedf221a6ceab6aac6bc74f743fe171ef8c01935f8901e1ec9ff6e33ae8311851fa14a65e", + "padding" : "3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "8c4cb8e7fc5c5cde3f1d9bc79ec679ad6ebce8c63c7488b137e8b77641ada2c4de35f87b97a17f2a7b96e58dda634e725efbd9a60b45477eea53bac9ba6305e209ee153505517f598f5e9e1ae79395dc87a1a86da144eaed76ed86454cce2278d20ff4ec88b8383702032637dabf00a613be8edc95601007108eccd910d6eff3", + "padding" : "3031300d060960864801650304020105000320532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "8fba298e33e6d9f1a107036deceaaa094e5d4cb8d9dfad3ba46cbebd672a7c407c00ec44b0030cf8b4bd296b3daffc4fd220ac1b1b0c0827484f965cc3dbadd6cb313544db3260fff9311ea335cb3e004764860ef2cbd9d7affa06352424133db4ead84225a89a1a998b2a56e17e55c5b74c80597d3714cfc030c398b52dd933", + "padding" : "3031300d060960864801650304020105000520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "4b0eaf3ae1c7a3322dcfabee0569aaafba51e0f34fa6afc325bacc853ccd2daa3dca56c918325bf553af02ddd19fb597c368dd18892d52d9e935dc51d38347ebae2a7f90c78504355f6899ab4452d5f51d2025381d81042a08582dc50bc1078246ee69652043bb747969a7450659e333193990f34a8ce3f036221193e700489c", + "padding" : "3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "changing tag value", + "msg" : "54657374", + "sig" : "1fe7b390bcbd5bc1904e676111653e14e581e7817b45294bb790e4e62f3010aaaa77e246b29729f2b7da65a2f437b8d9c4fe3b26baad367a19fd7b1758d04c2f788c45e5309a833522b46d7255dd5ef70ed006ef966aa7c648bd0b893b8e1566961c16e9554fb729ec81819f1b3da890d413a153f487c030c7581da9531bf134", + "padding" : "3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "dropping value of sequence", + "msg" : "54657374", + "sig" : "317379f37cb7f21fd03259a27db3575d491a248df82e67b39d4956a1c619094fcde001544f0fa70c64dc0d0440fb21d2860a20a911cbb397792bf3eafa5cc050e78b1e7bb29d041cfa0287bdf54a90a7a8bff5c870e898fe34bb522477daf8e003bc22891b789ff215869cceb92610c4b03210d19506058d941e6fce7a3cd786", + "padding" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "dropping value of sequence", + "msg" : "54657374", + "sig" : "2de802ddacb7e47e27875943d5098419bca3b170bf74f1c4b4a8ac420d4469d9aea97592fbeaaa1dcb5fd20bb97afc5f7abae17a9bb85c5490db97010c5217c88f9f52b5e209cf5fba5f0594f4e4450114dd0348ece336870a1333f7660caf959056ba13b77d35239eea164ddbc8808f8e7e1beb070f551b6e95f90d5bdbd925", + "padding" : "302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "using composition", + "msg" : "54657374", + "sig" : "09342a8fb8402b5e50fbf8c5d1cae415ce02c0a803adfed88188982129e8480918dc21616bb5f8381e8dfe13f63234090c32e542a005df70df5e8e00dd2a478d10fff1b61efbdcf0e410236f7c031c9a5f7cd0db9098f8a32a6a49f408e72c4a29b7d27e8041ba605bf089bbdb9777e19b31ecca0d49b90d54701721af79cf3a", + "padding" : "303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "using composition", + "msg" : "54657374", + "sig" : "3ef90c414a64601c538c286f2c35f32445039799b8c266eed605027578edda796a409d905a751bf5c1cdea97840437fa82733d8f27efbbc05da732887078a8f547bbfb54607a54f893df7dde0c35c45f9c2402bed0405c72e98175e5b9d6f90224e07d12e8c1bbad2fc8b1a14c42dd5fb7e554db5edae89d335705c672cd7b55", + "padding" : "30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "using composition", + "msg" : "54657374", + "sig" : "3ad3e4ec3636b5eb8aac2161c04d228491ca0d9da2abd69d8904054373940b39b5c025c011c9b9508a25ec25b24a0837cdd6a27cb5c8ba3683d90ba5912ede9a21f2f7e851dc49dfebea8807576be703a6a87ca44c370db76812b9929a54fb8e2259453ccaf47da1b8ddc5b7322c20197604b9e028ec00bd7eb48012274d5b81", + "padding" : "30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "using composition", + "msg" : "54657374", + "sig" : "778d93be708d56defbb6dedcfec2a917a3772b2810e26143db1f9d0f26c4fbb8de8db5818aa32ebb2cdcd7960e593ace2c3c3eb682c930cbffcfa6b34438ee2a786a9707d5d10902f7f4d8fc677106275fcb6cb08f56f341e0f52af590e0bdfa2f2bf95693265e87f5046bcf3e6de34810e8eaa479f3afa2b0a98b175007c209", + "padding" : "3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "truncate sequence", + "msg" : "54657374", + "sig" : "a3e0e0cb9f7cdf8a2b95139f7c475f274bb63252385f62e66f82158f429e74d83df9ab1040717d34b6a5e009b6ac95960826ee83bb298ecf900425ff03a8f156053b57eac6086d61dd3a8085b84c83bebbe3270164e3147ddee8966a026796401fa48da70f5d949386eccad26b0016543f3f90c8ac2874100dce13f03845509c", + "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "truncate sequence", + "msg" : "54657374", + "sig" : "84345c9d3de7b5da2156d3669a731c4baf6726c4c231bc8bcaef950d7ac37ca8d86e9c9558404f313de3fdf09024d25491b0a933cc3958033210b1c4f90070ddd083005873762566ff2cd7f6915b4cb430f5e7e1bca8c2ec32b4ddee48aba667f9d614a27c3bb40c6cb7f0cd77d3d17257f197974d1871cc09c9583cc6af8e15", + "padding" : "30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "truncate sequence", + "msg" : "54657374", + "sig" : "227aaebca262d2189c479ab46d8715a34100bc1975c2d3991a4ade27376f068756cc9d89e903713bc28394d202d81b32126d7eb09154261841227cba6ea0a60d0ed9302f816fb4dd241dcd2d746d5c1b068c42c0b2bd567ef799cbfd0a83e8a30c4fa2f7296dceca38c36ab597ba992f658ef7955d32d38847870afbca35d836", + "padding" : "3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "truncate sequence", + "msg" : "54657374", + "sig" : "a4316d438c7091b3bd5ec09aeea9095cb5046d8f08642b087c34985c34377bdafe74285d00862fba20572ce7a06dfe62b4fc08704d1cfb161cd88478e7e1c5451e0bdcce0fdd83c0e37fba5168ae03fcf4ccf60fa12c9b0acb39fe99b06933b9e0774f41151e0564ef805144c0cb76101672c287912197155d91bf036e84d1ce", + "padding" : "3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "indefinite length", + "msg" : "54657374", + "sig" : "447904593d2796cb9851fc38f6494697af3eff1997568a320a0e6a50d62b484d7254c99cad3897f7383da73ee48ee824f7f6819c7dfce18021e7cb43b48cd77532c6af28e9adbe8005c576415c379bb7bd164a49010f0b243f60064f1986d1923146be8e8a4eceb9263445f32e49e5cef3e500467f3cfa9102b51b2772df803a", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "indefinite length", + "msg" : "54657374", + "sig" : "01ce4a92bfbefd1de73607085c875704ff40751537bbce8ae2df9b10db01443154f415a936b38f937f7514763e20de0c55a1b441c5b10a09c7e09a7070cbc88becfaa8d39ab1cb93f4e2d1dfbc973715b04bf5d21f2cbab061ce36c81642fea43d0b11317961886d8783c628947b8f14be0864674e84c4af5f9dbb1f95b327a1", + "padding" : "303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "indefinite length with truncated delimiter", + "msg" : "54657374", + "sig" : "0781175cedf15de5b498cca16fbe6bcee460775eb1c98013719c80f30716abf0d205d40bfcae1fbe188e0ccd1bef673ecdfdb83da619ab2e4d04bcd60e31d1028d7c7cac64d403e0b79b75fc09a43ad0a54cd7e7bfab90cc5b5d0e91924dc6dcaf28478e7b1f54c3ead799d0361174a013b7e4e1eeba7dd20ad0536949beeef8", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "indefinite length with truncated delimiter", + "msg" : "54657374", + "sig" : "5fa498524bd8190088734b8622061f55ee6ace39dd9a2e9ffac021e1612b42e294af4bf27c9ede0a6eee38e60fe0ebb8dbc49b2be7148b09711f9762ed4be7e02d4288e62fa7f203ae8143d3f17b288cb22386f43e6a5d84f9c1f5437add50c67846569cfb4fadaeb35e02b6910e47893890b880624349b13545a6c35d2d72d0", + "padding" : "3032308006096086480165030402010500000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "indefinite length with additional element", + "msg" : "54657374", + "sig" : "1a095bdaa1398cd4973120d58e430f5c9a12e4a0467d3abe5d44909e9427c42a082286745b4919a955115b7e1a74389130b2ba3606772d9720fbd1b6834f46a2c582ead78ff6a3d69a6298096d83f9b1ab56aab6a5882db313d84509c0314d6278ddce652dd816915baaa274308e93e52b906c83852247a75fc3dd6e5205de8d", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2505000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "indefinite length with additional element", + "msg" : "54657374", + "sig" : "1967e2397ccf4ca1cd1be11a27d7a60a0a324edccd069e4278570c4c45f052b434ae4e3365565a010f26249ef439dc060cee00d3e8247a3eaaa150a1834dd622fceea6224c0ab58526388cd1d62d9e151194dcbcc3212f36fd9ccb766ef59c4f0a3489fbb60d103a27edc48748af0b6d2295d9382c6bd50d5ca089ccfff27a43", + "padding" : "3035308006096086480165030402010500050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "indefinite length with truncated element", + "msg" : "54657374", + "sig" : "3516e125c8f18f77d801f216d334f6bc24fae8de5750c0f6f712ef405041f66a49d57907aca7bef67138bb34dd5e57db5d3de6e98d4fcc4024b18df92c51b926b60cab06ef39b4e5e18eaeabff04f68e9920dc1165bc1d128b1b1ebe6628debf9c34b936016c221ac98ccf97ddc31e3e92103f7bbff0045ae0418e7580745001", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "indefinite length with truncated element", + "msg" : "54657374", + "sig" : "9f60d52203b96a459ace5c0022d2dc4f5ce3cf772efb615d421ba51a2dfb0e86d01e5def5da80944c315f8b0bada43d27afec520dac6ba6cc419008d60d1a334f2c17234efbcceab67087d9199781e46b79b1dc5353f120ec2c5484e64aa058636a61e6f4efab4b436e714c7a017c405b4f0d0caf9459eb19ca897f2db9c2e4a", + "padding" : "30373080060960864801650304020105000608112200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "indefinite length with garbage", + "msg" : "54657374", + "sig" : "3efc2c6198d04b0cc86d8bdae3f3ca04f0614078a3fb195fae3b2ee36fd5b1dc3f2e0fcc57f51ec9329b99479348cc3650d7a391b6821e7203fa8298d4c944d9f0a25dd3586327580e1ce3c7a4101d52e502a0de2b0a50dd1371e214eff4a9c44563d1e3e69bbcb7ed2a58e894fbe2f3a5375e5032d29d10d518d6aafcf13ef7", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "indefinite length with garbage", + "msg" : "54657374", + "sig" : "4d8ade9eab5e5dc7bb18630ab57757edb41569ca9e9785f2b1edd281c017c05ebbe0857c4369374ccc79d8a24725563822723f0882fb83713549cdf7f5e0738b20ab3aa28868f98984046b9c4c5e75bb58d9ff194d8b9bc4383765d7b2ddad332cd5809346ef18169d22a7b2d1b4f6f8637215899e344b063d609ea484825253", + "padding" : "30373080060960864801650304020105000000fe02beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "indefinite length with nonempty EOC", + "msg" : "54657374", + "sig" : "89459f8da03d8744b6f7a6ce6723332aba211af3742058450ab2af7905d757e7b5901500b2458df59a68b68b818ee0e7bdcab6270f39ad577027258ca5bfb2d0602da91b5cadbc32181c86fdf96fa3169cf960051dd0d6302562d74ea82f462b90b7035102bc08ce51d35d404fc9d3841c3cb5d4c99f02816b8842bd93297f67", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "indefinite length with nonempty EOC", + "msg" : "54657374", + "sig" : "93c85d6e90100f96cde10158e25368e4f00c7870d39164c0a30a12fee1a6e9389c31be480ccff7c2ea9fda14455a4a5e4694982dfe9f2d5c6c59071da725c01e3add86648e85af4069f60a0944258e139db101799341d7e36437a411f727a693f1103b1b2f01469c26a15fa74e4ecaa09f112ff37fa61d9c3def0c8c4069fca6", + "padding" : "30353080060960864801650304020105000002beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "prepend empty sequence", + "msg" : "54657374", + "sig" : "361f80a57ddb48796e50b3e6467cb00a9e1e193330ecd2cd6a31f649b49eac27e295450efe03e09e59f1829cc661d36b0fe904602c644aad7ec8cb2ca3099078b6d4f7b9233dc159fd1a6189451fedbd176e436f6605f2b889fc7197ebb520accd7f90e543da44453c7ba1948e83e31f5907d1989d982acbb348ca2216fe050d", + "padding" : "30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "prepend empty sequence", + "msg" : "54657374", + "sig" : "674c01596bf71fccd36aa81b000be007f6cff713e5f6ffe58b25e790f9a1f6542ba3f68e1eeaf1bb1ac6c3d55aeaf08140f6cc3d0474f6bd87ee442568346553ceb34efb5301a4d3a5b3f28a5fb038ccfe8444524d18adfa042aa1685fc3a5f9005da5688853b8660ba74f0e32c5be38c743b0048ca9b9fc19a35a5ff4e2c48f", + "padding" : "3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "append empty sequence", + "msg" : "54657374", + "sig" : "07ba2b5d519b1f60dc455d6ad90b4135cb45c5da5a2a2c9b8cb954165394a0f40145ebf2b1a3ff1d47f5031d542d25041fe9b6d78aab623c40eedcd8467618168ad02af8a696573c5c63cae0b2c26583b0240848d663fdd0195322bc2c8dbf9b5db2ff9cc3e75e70480e51da0d6dd402fa87772ddef5256467205cf41a42d18a", + "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 163, + "comment" : "append empty sequence", + "msg" : "54657374", + "sig" : "9fd302307455d4e946c1ccee65b0941c3550c823279cc52c4f29ecff72a12ac40ef6b7e37b7dd774b7735bbae89b0792908bafc47f0b0a11637042fc8541b346151bdadc3990e64b6d1807dd0e7f9266ceb3f686a9813341f835562d3c8c84868a1f98db97d3e695ce4a25fce80b828d010d6323120362ac48700abff8a7116e", + "padding" : "3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "sequence of sequence", + "msg" : "54657374", + "sig" : "247aa1cb69ccb72795c93809d7c3a5e52de98ec5285196058a6ab18ec2f5d9fef5545ab5df923f63bd58f5f247b3d824bf161bcb56d325d4e2fc7eb3765dd81b5580422abf2a3bca8d8af94cf6a9a3133b1494f66d5cbe938d30b9308b5ce2cc6d3df37d3299b6a7616d40afcc7935d80225e1a89a7a63ebff13a66e21280a6a", + "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "sequence of sequence", + "msg" : "54657374", + "sig" : "6d6248f823020a9604bbafe5acc103d9bd020624585c95805533de22afa3b6b1b511f8805296ee4d3e96d707c91e55df8959464ddb6d6a3d62b1cb248754302b2833406300f4975d913f1b90f95e3673e2c57d6181d73a360e8c818b8a9dd1e7a4fdcd68683f11dd47c2d395f20b0ce9c59eede6ae6aa58a707c4ea8d1a73a9a", + "padding" : "3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 166, + "comment" : "truncated sequence", + "msg" : "54657374", + "sig" : "941d41c39aa8bf3879d16cb78c5486589e7b97e56a0249c4f613060d26b786598fd2d34bc4e99cc8888137975937307d6a328059a09f3b994bf955c7de4a2841a0d10bbbebb2db3b332656f258c66c8d50cf9155ba94e1cb21a78e6147af76958ddd997665b6d8f67ea8f5e1fdbebd7df635f20494489c895d33ae4c7f248bad", + "padding" : "300f300d06096086480165030402010500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "repeat element in sequence", + "msg" : "54657374", + "sig" : "a32afeafa2c3b58bef55776ef6daaac6647485dde100d968e0449d1a2d5a121807ca2fdd70e2e9cf524cae4f263e11837000df85f0886b718ff45cd316c8d031b746dabfb956dd6118a37e0dabcda1ce9c728afd9a5f2448f5b15d27982218888d457752485119f53219315bf63141c9c0802327226a096403ece022cb27c0df", + "padding" : "3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "removing oid", + "msg" : "54657374", + "sig" : "6098a732419cd71887548ccf4fbf3edeaf9fe7b220bd747ae1b995b746de1f4d7b48c73ddb71903f50ccf7c93be9c8219de5a75ecc302ab50356069dfaf642f32ec580a283519fbcf04784860b0660174dfb7e1e527bb320960bde8f6c605bc3c1055b878d2adbb44e1b6c41add15cb603345c4fe2d1c0158fa03f21b4c015e0", + "padding" : "3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 169, + "comment" : "appending 0's to oid", + "msg" : "54657374", + "sig" : "2f08cdca4d621007acd15b1f4e3c39882a8aef706878e8f101e7fb250798a3528dcbf4d3327ceb0754a2ca0850794094dde8a875cb947d624d386ddb9593259c53ef2311260ac3c9cd1277050ec98d105188f590f198ba908ddcf3f9ed18f5a96cc6b353fadde007658f87ff4c201db7621d69c8278305f3e9f2041a2dddfad0", + "padding" : "3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "prepending 0's to oid", + "msg" : "54657374", + "sig" : "10078ea73abb9bbb879c9d8139b1758170fb73b34f39cdc83e6a725439e315a5cba4421fe15e8c80d8fda0a9aba9a12c23aab41f7328d4191e6c7c3a53a505ab518dce078439347945671ab06a2cd5375457b3bf181c40a1a4be1ea8305c9a401488532c7cdc1150fb9c46a2e846ce4a2fd9ee863d0b0b8af7f10360acc47f10", + "padding" : "3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "Replacing oid with NULL", + "msg" : "54657374", + "sig" : "783575badcdfbe1a4c1483938e7de2e42908fda1bed644ee99505cae3aae5aa78819deed857176764586ac8c5c0a3febf1e344d7e2eabe062c688e4caa499709fd8db5f389d92e60388d8e61af7b0789434f3c07b06cc4c89b88923c4d4fc81fc36b0d43d71327e596088844862f95b8f80bea52465533a9e04a2457bb7bba51", + "padding" : "30283004050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 172, + "comment" : "dropping value of oid", + "msg" : "54657374", + "sig" : "69a74665f61787b54b522937c534e95e91917f5dd4fa9e3472add6e21dc033a275408f35c71ff6cc029e25986fe6dced8ed053a9040aac32fc444e9252d2bd4081fe3e51ace15a0f694c0b8953dd6afa7f8cac67f4d8e17513b415c14b439a634274893885907e2ea428a6e242154a58a031fedae31c73df7cd4e2f5591496cb", + "padding" : "30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "modify first byte of oid", + "msg" : "54657374", + "sig" : "1f581f5e39f76f319d933a82e44fc977bead2796fea24fe0546f9c4727d3e2502b532a3be241a0a97238f255e3290a0ecca458961d791e12e2865d96bae663695f5e34cb8c483a7842f2c7cde241c108d1e0a6c85d7b768753016a573035a651dcd1326aab662812262aa73945bd0b47224a66b6ce2b97e1800ce93c366ca16e", + "padding" : "3031300d060962864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "modify last byte of oid", + "msg" : "54657374", + "sig" : "36e0f5972a6be797cbe5ce66f3b16243138a219b50434430d16a85df61458f57d51fd72b1c9d8364c4a277ca51eebb550a55969270137e0970b10faa6dc95e96a510f647b7967bad5d6b6689c8a470302b70ae2eae6e95099523b66b6838e4183b2099d20c6f4dc24f7b9acb0e9a387ea8c030ebcb6bf02b9caa8afa07596d99", + "padding" : "3031300d060960864801650304028105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 175, + "comment" : "truncate oid", + "msg" : "54657374", + "sig" : "7b2f6581fb0b4f913ed38c0ea20dff2bd60723f2bc3f1022ceb946e48adb75b1e0be031dd8b706d82967f93c6b6ba496d8c4b49aea9970e139b18fefdce30a4ec04f77625eaca4c7d1265cebbbcf53b63a113cf06bc50e4a416a771cd28785a0075631a3ef60c9212e224aaa063e7d8109c27e248e6422b26acd02ec012b7bf3", + "padding" : "3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 176, + "comment" : "truncate oid", + "msg" : "54657374", + "sig" : "4dc9e86e076a395b530868d9fec9f858bd6e8c10cc1e32cae7653abb3f23991c677e970ee468c7f35022f3241f5d35673a8cf4ce9134b1e63a994dc7abc8cf4b9dbbb126b314312539931a0163c911f0234f5c3f683c9376f2ecaa3294d71a1274f6c63b84ea8faf826eacb05e4fa5459b787ff384b2cfe0f1f4c755f32b5c50", + "padding" : "3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 177, + "comment" : "wrong oid", + "msg" : "54657374", + "sig" : "760b8204d02a9fc5e9fdca0355d28f7d27ad27748e4c073496760f43231d1e3a818ebb53d1a071119864af412f491f56b7afd9f4690bcc279d5ea529ee91ffb99f5ad4c8f1c5caa23c3bc5dc4ee2f33fdcfde84f8ff4356a94df78feca2f1636b9cdb92db4fb9684a287766aded89818041004407358185508f3d340639f4f32", + "padding" : "3032300e060a3262306530333032316105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 178, + "comment" : "wrong oid", + "msg" : "54657374", + "sig" : "5f29f2ded51871e2cdcf743ec8da102a4612babbc8c994fce8d38eac83b1cba5ef060ea42a48b342e602a16f679d4fd0167e3044b252c8afe5b8b0635081ba0351e19971bc52df431140ea4251519f1ba889e0f0141dc789db0e1906376a75131a61f57b866f2882abe70a81f4d0c65fd600799d1f6c71ca2f2e95188abce526", + "padding" : "303a3016061236303836343830313635303330343032303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 179, + "comment" : "longer oid", + "msg" : "54657374", + "sig" : "9dd00e8991844457b0580e3b3abd6f6adac8d016521df40f972c67f9f8420af2b175c6d99be923e5a320baee434738200e8a111483b6f274583e396112c3ecff11f53bee290a0c58ce0c92a061871f2c9c54631f39793cb8a4dbdf069fa65412f760efb58f89958b7028e6aaedf11d8ccb5371fabd3a2208243af19e04a5363a", + "padding" : "303c30180614363038363438303136353033303430323031303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 180, + "comment" : "oid with modified node", + "msg" : "54657374", + "sig" : "43ea91ce7612e0e151d4526afd6146fafba081fc5ef78d50a8ccfa9079fe21e3270d4b9c884130bfe9fa86577ea505c19193801ae37f03cd3021887dca580f9be60ffeceab0e84747a427a2a6d0d6f2e2c43417e2a449270f6b545e3e149ab09efb158acc015b99277a79286790ca27d33e8f53a7c72f0bbce5d774fd7da3558", + "padding" : "303a3016061236303836343830313635303330343032313105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 181, + "comment" : "oid with modified node", + "msg" : "54657374", + "sig" : "24bf2bfcbd891a7b7dcdbd44a2d38aaba2e28195f0b955073bd51ee4824a55b84cc772501abb75bb0b6087415e7755ed101eb08d892a93e52206fe7d775a710aae5ef1cc0687613c1601cc9c33f0865bc67bc7676e911c3991e7bd08cace5d5b12c5ca2e6120d70fcb626d465c10aac07f884b024f9051d6885afd3c7fbc4e12", + "padding" : "3042301e061a363038363438303136353033303430323838383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 182, + "comment" : "large integer in oid", + "msg" : "54657374", + "sig" : "60e4e065e10cdb25b89c778724289fd61c73ccde8d66efbfdc77d05fa5e8839d821639c6a5f303e35fad3fa8c4716f207ba395637d46ecadb6dcadbe28f3a065c999e380966da63bb5c92ec5283877a514c33ae97197130bb2a7a5c0d805113805ca33afd886bd63966de732ac87b7d22675468e5123e611985c4473a8116234", + "padding" : "304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 183, + "comment" : "oid with invalid node", + "msg" : "54657374", + "sig" : "0704bc9e3679a62b6d07da2ea8c5597693987d710c98704768f60259e9697b4e8dcc84a5cefd53b45844134f167830ca5c6cf572923b3543f6ddcf274ae14e3b191fd7934db877439e0f95b5e3c8f04eb3aa2b4682cfe213b3756ec5b349eb295e8112e017869163c0312d6903646fbf9cb692d2311240c2cb968ca95d431d94", + "padding" : "303d3019061536303836343830313635303330343032303165303305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 184, + "comment" : "oid with invalid node", + "msg" : "54657374", + "sig" : "6674ec2352f0d3e90f4b72086f39815db11b056babc57644c8a703014f439baa46e8ed961714d5c7b5f0ec97ba3fe5ab867c16b7e1de089868dcb195fc20cc42fa1b3d3060f50cca77281bb6be18d65a1ee8e5a381e21e7f02e819752b71327a28719c7284f6425bc9241abb08d000faf58d48848d7f4b8d68b28266e663f36b", + "padding" : "3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 185, + "comment" : "appending 0's to null", + "msg" : "54657374", + "sig" : "8d18a5e0a81522b56eb9e4f43bee15475cdfc7881006150cc230e76028283375a13425fe5a106f2626346a65817010a5510b157b234a16fcb9426909a524a288161537be91ab13033ed296f5f8c1e5c3bdb963f12d7b5eded46106f7c2dc1ae9c451415303cb7e6a3f59809b922183b9638197909d5730e5b1e89705fbbe8464", + "padding" : "3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 186, + "comment" : "composed null", + "msg" : "54657374", + "sig" : "80c9add3930a98b726fe543b4350c593d28e77f9f53f1ea04c2bfca30f157309eeb41e5a675bc0045823df8e99f2e55d2567f4b78e36eb8af1b45c50e33e6634dcfdc4094407b760d8b60f76995edd05920a6a89e22168a788557bfc7cf01d47d21448a65f9766bb217bcac1124020b6b062fd0e7bbe3e142ec88652eb617513", + "padding" : "3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 187, + "comment" : "appending 0's to digest", + "msg" : "54657374", + "sig" : "51640e26e8764936a7d9d709b3e0f52a5f1843453f2c6107a8e7fd6dad8b1c02ecc71659cd4134be952c03ee83c190bea4ea7260e5472c3cdf87b6ad45b5c974957ee9b4bf6f30152c2d939f722cff32e5482db96f3e283532b96716d3624daf16767e0ecdad16c97e56e4e076d64b92af329d2d6a2f8d14b59d1b84853659ab", + "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 188, + "comment" : "prepending 0's to digest", + "msg" : "54657374", + "sig" : "9080bd4ac03b7ecedd45f8165360d4848bdfe1c9212ee1a4debc1aa92886cd7947a2df5435789bbb0b3e8f78815aac80e2cff14e1939e9ec32f42e7c29ed4029c88cafb64e8523dc85217c40d1bba900468a69c5bd4d12ac67401698fbffaa5159907ad459d3843e12487b3b2315c585881bc42e45543f7cf25110ab7e0a19f4", + "padding" : "3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 189, + "comment" : "Replacing digest with NULL", + "msg" : "54657374", + "sig" : "aad9443d445aff562925a33c0abb7bca890d279d2934efd8ce2e648f88b08c589cdfc751e9668bd63d2bb97b652821ab4ac0a85c97c3087dc139250e1a0c1e31ac7db7cda5805532c5b32fd302063e02a190fef7594b2fbce7fb364ea6d7eec1f2823e8b2304cd55f062f61f6528a1f0702dcd1e9a66b5b807a44b76670f3935", + "padding" : "3011300d060960864801650304020105000500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 190, + "comment" : "dropping value of digest", + "msg" : "54657374", + "sig" : "5f66f645307346216d3ba9c3d8b29e96270cb3b2e686a676fe975c10b8c26fda8d8eb172628bb3dcd726160c13ab8c5afb1d6ae943ea4c18d00465d97c0d2bcc27a63c18457ff8d6e3f5ba373b4be7b6f4c610f83578613f4fe41a40d86230afce0bb8d4496425a5bf0a80c6b1b1e2a981cd44c31a9aa603748c3d2fd2b85478", + "padding" : "3011300d060960864801650304020105000400", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 191, + "comment" : "modify first byte of digest", + "msg" : "54657374", + "sig" : "0f7ecb8d1f49a6af74361f72d7f552047611fddb9209a54ff0beec9f6494087067fbb3b8a46eaae41208b7a2725921e1a1408a82aab52b77ca3c6774e17f2eb1cc77d239adc23d7860dcc30602fa625eb5e54626d49fa1bccc8402463ac7ff7ffce3b723b6f0e541028a76775de752b56e95df62fe8eee6b5f5ae95240e8fced", + "padding" : "3031300d060960864801650304020105000420512eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 192, + "comment" : "modify last byte of digest", + "msg" : "54657374", + "sig" : "542f314c7986948793e53fa9ecca03cacac17d4c9e69ae3d71e57c36ddb293cd07397f7aa48d4ad1a1c59e61f12d766754eb2b3691c4c703446fa072fb709722ce0db92c804e920f8401fea399c5a72f9d99807b8063487bd57d717563eaecdb313bd6d479e2e720e5773a247b5e78a2534ae19c8970075f5114a347a85a7162", + "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345ea5", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 193, + "comment" : "truncate digest", + "msg" : "54657374", + "sig" : "888cd9bdece5ceeef0fea92727ef1a1d996960f3f551bf108682f8103590323669ba1ab48becd14a49b87a900434d0ca7670d094b08b2f851834757bef580d2d3278d85b88036ea90d4c2a673dfafeb0c3701332c2b77493110d9b28dade7e985ec27240c90498372fc00ac8e0e5547e4d59cdd19022b8d961f3b63630b5448d", + "padding" : "3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 194, + "comment" : "truncate digest", + "msg" : "54657374", + "sig" : "762c745262627d0df634d6cce41fb8af3cb855fc2d974b8093b035e9d11e510b9b7e7d61581b8f262fc1c4b8a6da3f6d609512e32f16416c7449c623c1773417032ddf2a559d7eb3af129fd02f83b5e35f5b5c065b1e0bc6481f38b6361f0b018b5e7166e8e67dddcf1550222f125efde241a27b0e7f670d15346dde082a8c4e", + "padding" : "3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 195, + "comment" : "wrong hash in padding", + "msg" : "54657374", + "sig" : "27830ed405bc9d34009ec6258b766100273b4dcf2a9b3cf6ae31029837c6e24cf6e819734c1fd10c2c23db34d227d98d3498850f083ecd78b648baccfd4647a572607dedbc2b8ab7a595c0594ece904380e7f395ba4840a81367e99275cde1064fc6f7fbd564c5f26ddd0103991ae8262eaf16623685b43f77ea7a05d080166a", + "padding" : "3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 196, + "comment" : "wrong hash in padding", + "msg" : "54657374", + "sig" : "8bbc9167821885a728260bf9831120ecc42c14b2b07854169c86421146367d1bec66d8c3daadd115f16a29754e7fa8fb70a63966f7838484615d4364311b6c3f6e73ecd8ced0adb52db2c374297119f5fe571bd5396529d13b7225e87db5b5b0df38e4c56f2349071b09ff5c1ded919b398d4aff38c6ae29af6f6ff99d3e8836", + "padding" : "302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 197, + "comment" : "wrong hash in padding", + "msg" : "54657374", + "sig" : "4cdfa8cd615bcdefa253d75212e4ed0a1fd60841656c6a749690cb0c6c3cd723b518560c3b11a734010acf6e38f0526338351d9b58351826b360c851d3c86429f38eb689e8555aa2a23157e197faebdd29bc49f84c10dacca655cd5fa50fdec86a72f0ff1c7f8feeec31fee188fbfa72776a7b5cdae1c1506830bd3a00181b13", + "padding" : "3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 198, + "comment" : "wrong hash in padding", + "msg" : "54657374", + "sig" : "024746d8dd71ecfe33cf0ad7ab8ddab9dfeb5740ec47b8ddd668f07b8f7610f726692404ac14c3a1947ff4246fe0a9e216131489125e71df68d60930fac06a20e948a3e4948aff5e3f9772155f8bd6772b1cefd8180ae719afc061e2f0d68a69769930b8d90ca4ecd6c7b20d04f0cc939502e698ad1c500403763c0205f6870d", + "padding" : "3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 199, + "comment" : "wrong hash in signature", + "msg" : "54657374", + "sig" : "3a152ced8b5e0efa33cd57d4afe67f31ed3b9fb22e7b0ff32795cd9510374fa09fc63a3366465f83ba4d44e36418a5c1d171b6ca05d8c74a242983d5e5912cd05bdbd75fcfd5b4eda7cadab21e6dcefca8e2ab7303871ef360beff45564a01bdc887d9e849e407c6aa5b12055647f6c9df49758d1272f7cb476f51088e21f246", + "padding" : "3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 200, + "comment" : "wrong hash in signature", + "msg" : "54657374", + "sig" : "3765b8800e6ccf29544d834034e39f8fe7a2e6dfd7e6b4a8f81df091bbfd7aa17edfa6005024fe04d35c340a2215fd3f1cf4b4dfdd3c8ad09e6df2c2256c7541e19c2e80051d1ef5df5c384bfb6be88c4415eb2740db2d9fb3214890a8a0f19146dfb7897bacc02700a89139dc8fb21b2a7bbfbd43604d7f384cc00aecefb4ef", + "padding" : "3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 201, + "comment" : "wrong hash in signature", + "msg" : "54657374", + "sig" : "5c5b097c21ac2eb156de39d1eaebe3b96082f54b0171469a94edf7d2027ebfdebc0837f766cfefec577e7b797c7a082df2ecc826e55d39927b01c2da26f8f6814ec993e3b93ee87a3418322b65ac652b3bba6d34373a13fd40b66be489938fadf67bbda762f6ee09a1ddc41382051d4a9a946e0df832bc65b7d5dd58cc5a402b", + "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 202, + "comment" : "wrong hash in signature", + "msg" : "54657374", + "sig" : "0ede4ac9ffcb6d3d42c75cf73303a28ba6089941f68dcf392a75b071f6c149a109cab95b80a679ca3b29ae44e51c18a2db4c72211ae6b959c7f22e854c45f20f5560446f33be4819f08d981d2fb176d48039ac4acd28127d593f9e219ad40e2a5ee911b334b3b8bb290f2327524e3faae2c028745e03d58882bfe503c4ff04b2", + "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 203, + "comment" : "using PKCS#1 encryption padding", + "msg" : "54657374", + "sig" : "6c0b3edf5f6e5d3f07057d0b752e89cfdd1c289ad18a0ba94670cd36547734e2c7bb32dd49709f0f7149944c450c23b7f2d360e3602cad5ddff7fd9d711eef6dd4c32e66c4433f041fffefe112024a655bc5bacbd0914bbb2b2a41a91b1293fe9478ddca926a13e6131cc5e9b70625eac1e533ce8171a2dc7b2c4a490e966445", + "padding" : "0002ff...00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 204, + "comment" : "using PKCS#1 encryption padding", + "msg" : "54657374", + "sig" : "1acce04e348a5c8377c54d8ddd8ec2d8c5cb9b195863c32eb716745f3462b5f249b612aefb31ba484949d0a0cb5cb8e1f06c1cec58fe5ffff6ba796218c46c3e527c7ab0c4276ccbafd133812faec33721a08542e7e3a34449bebbb28bd0f28994c6801ba5c971991004e31de8f728f6bc37a4ec7b049c1f2dc64d4be9415462", + "padding" : "0002ff...00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 205, + "comment" : "invalid PKCS#1 signature padding", + "msg" : "54657374", + "sig" : "61a4066d0b64964100ecf583325cad10b53912aba1bf3606720d2bdd8e21120bb0b5e4323987d96039819ccce0e5e90854bc0e5c239ab198f75b00355a04e4eb1f855f76697cd65732820575306eb9323954bc5913568a7278fcdeff8e8acad4481e3559f8c44a0be3bc02bae437c3146e4516632b3fe788c3a0e44171155728", + "padding" : "0001ff...ee00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 206, + "comment" : "PKCS#1 padding too short", + "msg" : "54657374", + "sig" : "979a313677883b0980997f1cb525f43401739945860149dcad80f602df8abed4fd85bcd6e174d9183a5a44008fd77b5a5abcffbcfd4f47ccd2dabef963d9b228310d99000ed0cebbf61438cbe586985bcffb3923a8467a97ae791d0b04925c0894b5a41583d6de72d4369f481f66abce41a577fb128fc0b0aeec746ec089d834", + "padding" : "000001ff...", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 207, + "comment" : "CVE-2017-11185", + "msg" : "54657374", + "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f", + "padding" : "n", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 208, + "comment" : "invalid length", + "msg" : "54657374", + "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0000", + "padding" : "2 bytes too long", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 209, + "comment" : "empty signature", + "msg" : "54657374", + "sig" : "", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 210, + "comment" : "0", + "msg" : "54657374", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 211, + "comment" : "1", + "msg" : "54657374", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 212, + "comment" : "2", + "msg" : "54657374", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 213, + "comment" : "n-1", + "msg" : "54657374", + "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23e", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 214, + "comment" : "n+1", + "msg" : "54657374", + "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a240", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 215, + "comment" : "-1", + "msg" : "54657374", + "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "padding" : "", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "e" : "10001", + "keyAsn" : "308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001", + "keyDer" : "30819f300d06092a864886f70d010101050003818d00308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeYjN+99T6vsJWG7RaGKNiAisj\nZmVxu8diwccXoUpG2PWBGQcqomJF5x/GlFVAM1FjeY/L3qBLMQTuI/LDh0u/s+fg\nwbpfH8qQkmUnRBTbaVel62aODjajiHhDVdUo5RpqSpqca2q5EoEqJo2sncrPHBNQ\nd2jmOx+C+K8pw3hqFwIDAQAB\n-----END PUBLIC KEY-----", + "keysize" : 1024, + "n" : "09e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a17", + "sha" : "SHA-1", + "type" : "RSASigVer", + "tests" : [ + { + "tcId" : 216, + "comment" : "Legacy:missing NULL", + "msg" : "48656c6c6f", + "sig" : "707e19417b5b3cb975795e5d53cb2db69bf80699e69114955aea5ff45755eb365fd34a18290db1975c32388eaed0d446b44138bf18b012f7da3ed067de6e444a5a66a35633c875254ed3d1b120ce657873e888af703e649076b368e90d761cb3e14cf79099026cb4a4c1f20c771c1d7544fccebd6d642506146e3d28acb6cf6b", + "padding" : "301f300706052b0e03021a0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "acceptable", + "flags" : [ + "MissingNull" + ] + }, + { + "tcId" : 217, + "comment" : "valid", + "msg" : "48656c6c6f", + "sig" : "8aa2c8a167fa230a1d1ea6bf5286d3ba6e675ca57cc5ca8cb26fdf465810c19af36cbdf843319f7af9b2954f372ef16891918aaa2ab64dbd1cd0ea54351ff2b3437fae5ec947971662c1f75ef6892b6899b77343fe87665c5b74df322b59f017e5488a67ec836ccc3f873788d60992d43f64b736507c455b649119373ba1aea4", + "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 218, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "5b4cb0b22300dc4913e7c1cb82e86663462e4b30d03053f697d59252e01339cd230b72afc8623e185db939108f3a47814f418b5411dbd3365d45b609f93b1f4fa10b7b908430a9f7d97037161cbeb2a1af0223b6657179a9bd2efa8c40a2f57b20755042b401e81d3fa3d4faf69d05cfdf3b7c3d5d3cce8fe036e9899db34de5", + "padding" : "308121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 219, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "264bb84974efc808ded6a363c50bba6c1ad8acea4d26f86afb81839d8ecfe7041db3ace271f308399bf3bd2effd70c3b17e968f084867a0d95299a8dd0bc27e516925d3b8c0e748d5f91dfc87eebc383ecfdf6bf46cd28912bd4cfb9949f7660f1dbdba527db82cfca5aad1f99cebb1d7b554d4038238a4755b25c2348397e2f", + "padding" : "302230810906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 220, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "23fad8546f338cec2aa7fd93387b8f1e735e3fc3337350276efad8950161e6cbc7dfd28c7272be65c9dd469cbfc8ddeb6945880234a60c0778d5e8f185b95b0caeda346ce5b8231f94c076d056e2aa7245072ee055f37e7392ad4c158dab92263e4803d82939c7ede603c3467c14c61a5743df002358cc63eab3648d8ca8ec2a", + "padding" : "3022300a0681052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 221, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "64513a079e0bd31939110d49d36101fd2a49c6d940637b9900fd317a64d174ef64acea808329b700954471c8282d1f246ca3172481fddfda77bbe24deb8d3d20200e78ee9cfbd97b063c1da700a50f635cc32ed74efc59407b8af422e01f728997c9a2dd6f8fd0fc89c9c5a9b0a2038cb006f3e8a8bd86ec129db6ae95b18ffd", + "padding" : "3022300a06052b0e03021a0581000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 222, + "comment" : "long form encoding of length", + "msg" : "48656c6c6f", + "sig" : "79547cc01aba5ccca5e0337304e02c48455df528e61037516262e151d4378f3447a730b894d63974c3df0cecd708bffd53742c908b718ea1e09786f00b58f434a10e5014fc5ee96c8c87aa0cd73348a470c369b71bee3d78e3b7a640d605736f3b3691253d853473e34e0eee9533abf655e0e490744a354309c3639ca5e0e084", + "padding" : "3022300906052b0e03021a0500048114f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 223, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "6dde5d8a638e4cda4551a295aa037c0db901578d70b6943d58f842e2b334822e986506768fbd73bd46e62f11acc308eb9b0f9fc8831729fdf630bb0b9ac8a9ce484e1fdf5d1099659ff452c132096d085b624e521ec0cd76449f50e57fa39adfb91d1c4cad4b9651cfda905689c24b3118970f78ca6240b48cba83d19da8ae91", + "padding" : "30820021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 224, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "28a4c4957ee24b104aa7f68d8d7fe5275abfe1c449f6e2d41d2741081e4e0248ff40acbfe0bf7652af44f4f369de583c355af6a5af87500330710b976f1bd3a705c216255d71589c341b237024337d38161946dd0ee3fc822b06c96775c6be57a906eb7c6178751537bb181e47acae959862253c34e979c3def80038488d0482", + "padding" : "30233082000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 225, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "08cc5258ab3d68d796e5dd868d676ce9c2774d1eb6a16b4bbf0acaa0baf9d812ed0138a17ab8a64dbb913e33a88a388883889bfde6922cca5ca98d5fd1ac13fa87eb1b5701cb4ef5271057b39cceafa0f8509f9151383058a1349460db1895b3d7fbc043771ebd48538e9c208c34719f21b2d60dfb7a06a3ef42d1f2a90826b8", + "padding" : "3023300b068200052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 226, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "118bdd711ce909f3e6894be2c5f7fbd21b6e542205e63447848bd6be079874f2858e9640ca8723cd4f73d1d272780aef52200d991cf620f7345f20ed4b5c978f93dfa495a24680c762ff1f1c4c3d0513b818b2cdedc63cacaa76af3b4672e0c3eae523b410d7c03ce4b9d2f65f92e580e4e7f04d3f62047db3968e33f0f1f40c", + "padding" : "3023300b06052b0e03021a058200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 227, + "comment" : "length contains leading 0", + "msg" : "48656c6c6f", + "sig" : "7c2ddfeb9611939302c4791b44d2eaec63ba700853c84c928e11f50a5fb15c47a2f0ad91962aa88e944c0a655db19ea4bda87e386ae820fea49725c75e13b26a7c7d9dc63e353259d318246a3ec3c4b7d2ff8e6af164fe73ef35eeb76e921a523f48db83d541b3abca995d807968cb960fe192ffc0501a0840a1f5bf1b332123", + "padding" : "3023300906052b0e03021a050004820014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 228, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "5065698891c73f55ade9d829053b14086b977af8f8ddcb9d2b5d236bced0821b00cca31a26b43a838ed36f96d823205fe79644ab4d431d2072f823bf9dd60bde8c2af3e2f4af0fcd734f285c0f8e0b9e5cfb5b7cf5d4131ad2122862c7bb6d9a9d6a7ec674703c79e4712ea84bc178da4bbf08355b2c248a5887a9b87702f70d", + "padding" : "3022300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 229, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "33ab162433e5c9677c2ef33d2949c64167afc165223a79ea96bc1096e0654db370f84b30f3ae03da910e6343fdc9f7413e9422f76dfe4287dfaf7250567076a4b2cba812b784410ff19f412df89f1af8b9a5ea4809b7f60b8b5b4063d07dd17311b5b0b75599ea8988c605b06cee2b6bcf79f20ad7c4bd67cf179511ceb9fb21", + "padding" : "3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 230, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "7cb2655e9bc1e633b46656d28db5bf457cfd6a6557ebe511a694ecd36987fcf94a6de7a3f73d47777990697b5663fe59b838fc0a7fcc0604a08e951fb1ef4dcdae0bc09c6733815a65ed465e86e98bd08ccce8df0a7822f1dd74fd8ff7add8314387ed2bb5474c7c282333bcc962af3f0506a15971f30967f49bbb22cf3e99d4", + "padding" : "3021300a06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 231, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "5e147003f7061b46a6046dc91374cbb2f1113ddb56dee64f203a513b421330655c123fc2c51a79ce70fef2884b6b444ff8639d5448a0781f8f0503009cac89a58fa0bf73b698011d80986379dfa0b8923591f2c310cdea8982f8b87dffc4ce27e5a1a75f44c40e95898d0ae12cabb94fff41116f1d96dfc8fb5834965b750cbc", + "padding" : "3021300806052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 232, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "8cf10e501268713c12ae5c26c5982c082a912ba2d22501a12438118067ac19957b0191498fb2113d1ca2db5fad32761f282b4c7684827b35a1709297c9bded1fe61a4e1963d32aaf4cd0ba5c51ad9c1aa3494c47afca86a264293d9a940310d6c1d8bc3e51ea3e12488e87f624e738f3568b21ab5f7a8b299b5eb0d7147ca794", + "padding" : "3021300906062b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 233, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "8ee3b703c37759112397fbc6410d9c95a93084f544a26756071b298ba563b2c22962befb038d995912ef5b48f5ffb9d187be72f835d0afa764eaaaffa2cf42b0918e8b364bdef42a482e571cb949342654c91e3012776620cdb590323326e2861d1abdae6ea2fae95d7304b25255aae9d7309324bfb6b47cc2555e5191e95a79", + "padding" : "3021300906042b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 234, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "7ab24ebda94da9c07a8742a96884e7006e36c15fadc0d41721d8192581ace97b040af10f79bdf1041ce48bfbdfe0e2807042ef91efb0136acd592346bc8c572bd0da5f6400406971b8d84b021c0550e32b9ae8cc4481b8979979170d7690158dc95f2fea00e05566a2369a3eb34794cfa6792128d72774eb0fb504490a5e9484", + "padding" : "3021300906052b0e03021a05010414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 235, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "49877ff5a25db5d9736e7c0198f7908dd0eaf2f2ac754d6456073df7a1b8d87f49fe9ed7caac03e92cf8bf253626c2ec049c4dd4615bacc5a617ffd874934ad868db7c5d7db8e37bddaa22b557b49bf8ee769bcd0d0faee45adaeca042fdfabe0864256a64389208ea8a825d373c439e220a60fb30ddf96427741e5771b89200", + "padding" : "3021300906052b0e03021a05000415f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 236, + "comment" : "wrong length", + "msg" : "48656c6c6f", + "sig" : "6acf67de89d21ac6c0e0360dc872eabd3d9f315a46921fbc835391f4e5df2d5a73826cccc3ae099c76c5e0b5dcf13f76316cad72f2715be8927fe83273cb5b10dce6b4a58236e90028146519ee975599e2cfce518be7e20701b82d24e1448654a89a52cdad64c33ef916e1d3a40eaeb07a7b1509a151ca7a8c3f37b734dbcdd3", + "padding" : "3021300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 237, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "8291239e82027853aad5ec6526dc14eb2e4d6f62459cec895e311302e531a472dc720a55f01089ad3ff96608cd0804dcc4816441f92e77b9dc59d85a7b750cef32013fc888ce4bab028152ed07d31e1232cfbdcdbf096cfbbed22be93a8cca41ffd69575c3e47aa6f3c4bb895690622ad253c60db7fad789b3508252120f2905", + "padding" : "30850100000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 238, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "0c0a60f4426a0922599d12bf623821ef3a69e88b8f3df39c998b91951bf8fd9f12f379db75bd051943076b73f145f6de4e82c050bdff9989bfb7430c6b4483502d291e666fc1b93e61a2e7dfc4f3b3d0f695ac605772a8f54a85148b76285aa0ae2a993d5061dccac1afeb9605771de9b51d6891e875c384d8827faef2388555", + "padding" : "30263085010000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 239, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "52d65dbd6d48dce0dbc538883d3508588966c4932afcb22457221c34414a59d8effbcb805c6320b5edb024c745afec75bb7c698d9e903fffeaf7a4ee8c36d7f44482f5116d8d7758f08c889ad777405f204e1c5b75e1dd2721f46679fa13a98f8bfc07885ad67a43fe4c05ded4c36f8d7e1bf5695bd348192986f1b40c60527e", + "padding" : "3026300e068501000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 240, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "485b9c137230f1bd439b4b5753be8267f386e1725d63d6c29bef2759c8fc81d4bfe2b5759e9dfd1772fe2cb661d320ec8fc831cf6e4abe8e18d622893a7ee92c64907c15427e7748faa3d1445e7721260e70be4f32167d60462fae53bfc2d943501b8634e443a940d9f41a1391119305a0367799909a7b83fdf7374721d4efcc", + "padding" : "3026300e06052b0e03021a058501000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 241, + "comment" : "uint32 overflow in length", + "msg" : "48656c6c6f", + "sig" : "73c06cbffd5b65aa863f4d61321d840689ab69885ecc340748b8c4ad290945074fb58c73a419ea9f56e9ad70d1b133567a6c3e8e42a9b009241179eb154d7fd1603b6e25db969bb62eac8477addf62f1437d225c57725f3a017073c7418e70adf1e5caf81740e9503ff395b956bc90aced537e846968d879e1a17f4823aa3ffc", + "padding" : "3026300906052b0e03021a050004850100000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 242, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "5d718291abc4c814b265b5eb7c41d96648ada9e6baeca90e4dc851a1655a64aadc072ed9402f583f6f56b1d885c9423f4b708afa978c3c941969188b44b04d4d787bb6079e3527d6c1e36cd5fffbd33178cb6f23c4e1302b3a59cebe6353b6b10a005e6f24a5ef8350900b3717646917d1efdaf8aab1a3e994d5627a8d11e577", + "padding" : "3089010000000000000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 243, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "1849ce77edf490fe5825f6bd1d6b4c312227fa9296ebb4f5e9a48dcb9b9a8918362a92d8a620dd3cec378f67beda0216b4c39fe07903bdeaed853f8884ba017fafce472c751284cfcd4db8fd5b93dd821eb43a202747927f1bcb947ad76ebd9d6085b616e8f8485b31889b95f28c4bf06dd4852142ac2f5ae707d1ed4f23cb5e", + "padding" : "302a308901000000000000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 244, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "0d3eb2ba13141b7d5fb65b0ebca47b979bb51778e762bde3c4cf33b02f84b0567214eaf31dfdc8197c2e84d9a85af76e8bf832a5ca2797af79b0293d85f513e421714e364ac5a5551a066063f008d6eb7c3bfdda6c6fed53e0161cb607ff7e78916f301cd81dd63f351eab77395c718b56d8d0b73b4806229999fb98aaa7751a", + "padding" : "302a301206890100000000000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 245, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "88b8e16d5527fc54feac2b63c905964e71c47701dad5944aba4847460b235c09e9ffa8bc6e59390dfa8d739893cbb32f5b06ec7f1fc918ffa0c364e0b5985dc05aafe98a8b86b18168d7705231dede7f0ffef76e6805a35a0ed9a78bebedcc274169f242aab6c33541c840a1e50cf09720b2aecfc356ed88ce1090bc54499f6c", + "padding" : "302a301206052b0e03021a05890100000000000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 246, + "comment" : "uint64 overflow in length", + "msg" : "48656c6c6f", + "sig" : "54bbb6fa9891afe6101547c34599fd1fb4bfb3dbe0c57fcaba3bd3700f0ee7d658ccd24bde5394aadc7480f181b90576a74de3c705b85bf214d9d8284be4b00b12678891989c3e3e16f53185fa590c016c29fd6ea02f97f1a872100969fdc57654b691122f2eddbeb6dc558ade5854fc8f26c11c5c32638bd4f7253099c7d1bf", + "padding" : "302a300906052b0e03021a05000489010000000000000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 247, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "0dd112d02c49ae5057f4b89c14b871e5a446e96dca84c6d0d012c95615cf43ebd42e79d034fdcdc93de62e3b11dc11dba63dacf300190d443e3796e0c95a5db3955f799ec1bcdd4ecf69b708fec727b76401e989f5cdd612773f65e1a357e0b2942b78aac09dea9eb0d86463aca289a0af876eb4ee031bdf10e0df27516ebafa", + "padding" : "30847fffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 248, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "603d34e2f71dabf90d862e828a0579fef915972f070c495da35fb279808ccf4bdbb0a43f666d203aa494f0a3012f5a4518c2a83fd8a8d3f1537be15174f22a355124657fef6e1b673c4010e8514cb133f63a15a7245ba9fd8acd03c080e4e89531c0ee3b41612e34b136c07c469c042b2b2718dc600cc1f4069063d0989fa188", + "padding" : "302530847fffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 249, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "11238413d11b4c1e0e311fee14bc4b3370c9943fc22c8b9429487bcb920e091d9edd0341bfc79070337854884267cbbc0f41dc34746c3e56096bc03cfa9d58e812d2bb9cf7dd90f3f16c048036255c0338c3777073a925f565ca9c9f78c7edb856f20a541275f84eef9a022e94dfeeeae4f07416cfefd742c21da502a1fe80c1", + "padding" : "3025300d06847fffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 250, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "8364095ecbfbd1f50f2964bce941395095071e45e9ab55edfef6ec767dc3790ac237a11132e6e087e96c226fd338783d4de817abfb9e134c2dd61dd4e400188f50be2a7cf3f96804011b5240da29bb1e8f7d4337c8e1f2af0acc1536057b0114a23172c6d37f9128ba4c2b719158ad70c5c44033e532c58d0d79c4508470465e", + "padding" : "3025300d06052b0e03021a05847fffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 251, + "comment" : "length = 2**31 - 1", + "msg" : "48656c6c6f", + "sig" : "8a3d7f621509191a435d03f94a338c1aeb99a824eac10a7c8575d1848f16af74dd87db6137a590d3e0cffa18cb5c52e1ab42688c2d50afa5a29730a98d6cd60e24f13c7dfd8500a9442954a23e773560a11b1a2a3fc087a28ff2520aeeff2a058928c9af14e90125b0d534bfec11eb1a02227e7d513569f3f8dc6e35f6fe6136", + "padding" : "3025300906052b0e03021a050004847ffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 252, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "149a74b89d1eb542f383ce0f24f8665b1387529770f561cee91f39e3af3e82c1cb0f589f4d6d5e9fbe92a8105993d55c205cbf9b4ec4c3085739ae1ae2ef4615d43040926813981d4b626f3c71e08981b8c900952eb23d8b9da218fc3f1f113a27682ead4466157e9043188d331a9632c8972ac7bca5729132bcf4b76309fcf4", + "padding" : "3084ffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 253, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "3b55f4f1b497c53dc4fe59e8e2c8bd48f9199bae420e43e5a22fcefe047a5fd6422de99742ab6b3f946a908d382852359f5f80037976287f4806ee3edbfb94a01d81fcc9c28afbbe8d824089bca34f939d5298152bfa11e69e047a6379723d5d187c1cee5f437517ea237d0a024d2d21316666f867411b0b84f6010dbf3fc2f7", + "padding" : "30253084ffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 254, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "99a4a625ecb0c1c339c42b058d05f8cc6cd47bb29deb1df909fc16083e08ea18f482dc3932f0f81a0881c8a4e450d52da647fe501baa9363ce0261729beb173e3c6b3ecfb392ce93d89ea4c0e911ee2b95574a966c23276b9495b2ef6dee3a054c728c4ebb1cb294c703e1320a7d3cace4acdb57c605ab1c197448d5b890e71c", + "padding" : "3025300d0684ffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 255, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "4473370a0f1cbe032dd66017379c5605c69fb77c74af9f119f93b4df107cda358dd074a7c8a2a4b3afb3bdd4d6074be90e6e8018fe482121cea28e7d42b4a64e0fad25c86d4792099812b74dfd225efefe1a4c9b664a3786c9e2070bd7ec4bbf666a4fdacf5966d121fd17169db07d47f04beae689080c76592527346d3741ec", + "padding" : "3025300d06052b0e03021a0584ffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 256, + "comment" : "length = 2**32 - 1", + "msg" : "48656c6c6f", + "sig" : "1157bd4955170a4d8dbb6c3e20faf50fdc20140cd2f0ba30f2b3b059742b747f501e8fd4df0c614d247d7c7ffb91365e6bfb5ce36d21364cde0ddf7d9b10c1b1fa0ef1aa37deecfcb0002094a6b2971854f70912e62e91275091ecdbf0c218c0a3a4d7c5ddc7eed97c317f46ea2b554d391d08a5d015ffdf1c51de55f8048d1f", + "padding" : "3025300906052b0e03021a05000484fffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 257, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "50af5b10a7fb4f26fe6abe148cbf8169fc5f7260e732f4ae4ccb79877a3b1c8d6fbc476a43db9f5e94c8c13fb256ce767aacd02445b47bcc54f535ce67251ee94a63b33dac77cff65d3de5aff42f12939f10320d40ac448cde70bcd8a40fa20dc91354f97521d847e45aaeb9fe38a8c9c0a3ebaaa34046a620654e305cbc3289", + "padding" : "3085ffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 258, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "4635e85ef3201bd0c0f1e57a2fda4c1a7b68f36db6ca9f1f034c75bad695a67964086d3d7f7a7505ff10cd77f1017908634f309fd5e0d4a406c1c579b08b397305e0e6a57390738c2e663449a72c0894bb3beb0933cd12c469181b139ee21ca9954dfd88b0ebc6f0e8d29c7b45b2bf5714e17ea9950e0d5b476b55aa0b717bfc", + "padding" : "30263085ffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 259, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "6cec5f74cea80f137a424880ca5254507315b6e50376a969a444aa0c33d5a9079fbdd417662c16048a249a94d251685742ebe4fba882e797bc77f6d28105136b2ba9bd5ec3080343d00d7bb9f579a334c945c1239680c11170e0470e801bdf6f9789a5428cf97b0af0f2fa77db2f8fc00182b1bf9601acde6fd5158b4f57bcaf", + "padding" : "3026300e0685ffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 260, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "0513eb217a06590004cbfcb0bc94c0c6f79b488fffbba9d85e289e42b91824c8c4e1dc04f3ad6f6ce6e8480c96889bef3c62105bdff8af972264cf0110b4e522fd26ff6af8147990143828fa3aa2ba25066369357e19fce0b8f90d048ac1ef19380fe493fb70ac9660d5258dc0657a6270166d3400c2421bbf57bcfe10e2ad64", + "padding" : "3026300e06052b0e03021a0585ffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 261, + "comment" : "length = 2**40 - 1", + "msg" : "48656c6c6f", + "sig" : "5b0df944013467b97409704eb2130b06e537f746c5387dbb858651f4446887f874977dfbe9d5fd26d0be6ed9ed9381b9a8511710d0756434ce897cb00863c652ddf3a6b2df37f9308a46dcf2027ea523f124c9f32c2d9a09b5d1928e2677dfaf5e0d8a00c3d0edc5c1441f017011a16f2e0788fb2d8d22e395b4d79a8375ba49", + "padding" : "3026300906052b0e03021a05000485fffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 262, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "52be2fd82c24a1fcbcc3d832732eb97b1032933fa6af3b7fd8d63fca652d4b3a40c8488695414049f416f4eb01095767d75325662accd8c47bb75500ea4a99ac1fbd01815d0b8ddf450e097380c53715298c22fd3150b8417a66f499495372f07e98578e407ca2d226c69533c80b08f58e1fc0ca1cacb8652fc9374e12f6278e", + "padding" : "3088ffffffffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 263, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "2703db8b7d2f7a879c235f95a9a39870074efea76b73663c50c4581eb2debb494472402d271b115a14fdc14eaea36cdb4c199260abd321d8cfbd1f56b1954761c5c61ad3ec1e440b53f1cceb156d8638b597eee1eb717b110f30fcea92f47e7c1ba438b1b161967f555bd14f0bcbcd21833aeb2c6b8b3f5c4727d07ddf009b11", + "padding" : "30293088ffffffffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 264, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "927d2fcf22048a79d64b34aaa94de24a10770a95e32f0a6e2b9bd5a9c1e502e9fca540e54aca240091923bf4a64fd703b30fb5cec96c8da5431373bfec653da1ab25cff5024e1a029cca12469db0ca362ecefadf60991fc1c1615154450d9e1b54abad613f5ddccb5545e615c6168d0247f8e7c061659c9946c3af1e373a618a", + "padding" : "302930110688ffffffffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 265, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "1da7bb65b41d9e5fb8b895882b9b6c2aa5ba32e7297c8eb3d64e5ae4311ad229692296cc27eb84e8673c29b65c35b1d52038d8b4136b334f4bd385621d7ddd6e0b5718c65834dcee0e7841a154f1953b130573995ad5cb29849490366936ee8a383f33f6cab3221d21d86c42ad8fff91efc5257ab8e9279df968d477167e75cb", + "padding" : "3029301106052b0e03021a0588ffffffffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 266, + "comment" : "length = 2**64 - 1", + "msg" : "48656c6c6f", + "sig" : "4c3a7204c4807d5b44fc36eff6b0513730fde67c74eb7a7d0484b7a5b89e444e89b07170ec0ff4ec4f58b9f13c3bb82cba0081b737f62277dbbc678933dc3faad4dcdd61c8b4d62c7a1c9a6dc40c564b36bcfb9aff90e9c642afd81a8c9911351e3f0b78e0ad6850c937a69ee2a639be88473682d7c4a6edc77365cfcfe91075", + "padding" : "3029300906052b0e03021a05000488fffffffffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 267, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "32107f36c8b86cee3154d197a6e281869070fa9947177aff8cfea5942b3fbc323452b002f957f19083b57d59e6279d80821fa33c1f450ef5f805eabf1782f729dad2f9d0e63462e901dcd449c7fb14a8c42ec9599d30cf1b16b45550061f5b6f7f91c4c2bcb1613daaec5984e634fdd65a19cf24cd29d093406d7f5f4c443a23", + "padding" : "30ff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 268, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "5ebb4faf49a82b1fda92b2ccc8de0d158bf62f819359d06c6a4a2a508bf728635296d188d5a221b40cde9d51e107b8e8f73ed2a0c3cbd92325ddea1cad1f72ff6491133ab7a2847f3d339cb2317e8b9e336516a7a9d84fa8fb2b481df9e1ec397fe97d18227ab98c2fa55f080569aedc7025af770674a5b33c61b811922058dd", + "padding" : "302130ff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 269, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "531ddbfca4d3202639ecda32eed51b2fcffaa0cc6a0e97bdc1df71ab3b800f3e80f661b118d9cd82dfa1ae35cc3a364dd2a1c688e90cb6b6a215485e5e30679838bea37edcbe982ae858ebb461a45ff687332be102eb65746d9539a693b489c3cd5901adecc2d4afeca278fcf3b21774f2d11090f436d949d4ef96480839b678", + "padding" : "3021300906ff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 270, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "4ec4e1b4bb0ce0b002b8cc0b47fbc2baa9be415e35d77fb95906620322a63fed39595837d1a547cffc5f50c34a4daebf3a15d7d7ede9e583ffefb77ca4e4cd953b91a8608ede58a5500dbb71ad24bfa2b07bbec03b702c53baf4a1053d4834376b205854cee7e0dbaa1ec60f72ef238fbce20d76f9549b485b41173da58356aa", + "padding" : "3021300906052b0e03021a05ff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 271, + "comment" : "incorrect length", + "msg" : "48656c6c6f", + "sig" : "7d54aa05c2043d5f6330ab97726ae0407d0f6be65cc1146b374d3e7f75583beb5ad0ba0361b2cd6bcfcfa01987cfdd4423047fa6f909b3fe3840262c55b3f2c0385cd8474cb92eedf9eb9113e9e83d0ae220124493c3df2380df4cea3e88b81d9e3947feebd788c2417c644974f6b909c1e44b75b74240b370f8663e9a1f63b3", + "padding" : "3021300906052b0e03021a050004fff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 272, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "1573e93ebc5caf4eba58c9d80b89c0b62de2073a85f5872a22ea283f37366fbb8c6c7f4b0a4f459505d95da2921d8aefa640d81f5dffb9e0e679c69ccb310eda59f36d49b33219b30ee3b0f680e2794654c99e63effef73b09891f67c403283999943d4ded2c823797ac2773aed7a0af88cade66f4a203fe91c8d86d720fbd36", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 273, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "9dc2d9a253cf809bf178002806d1c9883f5c74a0734f70dea7e322f2ea00a00a3bc864dc4f0fa90bdf0af0a8e46f893f6405a63998ed27f18cdffd1b46a183763e3bcfc4c491a023468f1b355d12be2118e4381d960fa2548afa12a6ea46da03268d1d050bd942ec8c2bf584f8d2ff00ff975860686311b1dd17d1ad6f262d66", + "padding" : "3021308006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 274, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "3b1240c785cab25d0ebd26078da7323bd28352a878cd405419cef18938d27dede67112d32f6a60d22b14c78e0f5c392bc9f53f2a71769e21a9dd4b5d8495a203ff0e715a1173ce69f3c966d83e8ac9a45ad534c36b77d1cd120a6a3236ce023099b19acb39a25ec420f8765829b77cb048a5136b597645caafbc34d3c09723c1", + "padding" : "3021300906802b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 275, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "84bbedc08a146e7f8923dbc116c9793d1bac3608d71f962664d2a155bc06b8a02d3a346e067f347cdf50ba537c14c1c8bfabcae5ff982e5543b626f89627d1a4bace0928115d22d2b0daa5285afab45c9d54e5fe1832494f432b32bafb8a922360f5f545b15dc189b7e64dfbe96372b401ad519162488f0123934a9c0512b4d3", + "padding" : "3021300906052b0e03021a05800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 276, + "comment" : "indefinite length without termination", + "msg" : "48656c6c6f", + "sig" : "15a6c89db01ecf6d5f4d3a1535bdadcab861655619500b010851340b88cf8ec2547bf402137751006ac9d675b42308f939eed23d010fa36006eee53b94d63c3ef3800665038ffb4f017c1f3f5f8e9b909fd555e67cb002fbe261a42bd7b617525c5027d5af82aae2b6fd29abe4f503dc5f2620aff14d7b7798fdb8d4a7629db2", + "padding" : "3021300906052b0e03021a05000480f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 277, + "comment" : "removing sequence", + "msg" : "48656c6c6f", + "sig" : "14951bfe3fa22176d5ff4ad5f7dec0d0954e25a2381c91bc17707034ba19087c9f5b167d250129b95b41c883c69a5628196f9733cdff2daacb49ab61ee430582aab7c785e4f70f2320ea1d18da9ed0bd4f96e597977c2aaf0c2b8a3dfd8015d08195e3446efe12788fb7cbfd612d309a13952682b65f03a8c9440fd735fb2078", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 278, + "comment" : "removing sequence", + "msg" : "48656c6c6f", + "sig" : "40868e6b6d88f66b2478d680ea58466d642e141951f69c1f25bc3f23211100441857b33253b4cf1668b6568b858d1c604e6062022c71c0d764f260c1924972ce44a89b508a3a220cc5b545c4166974e6b619d3d6cfd0b72be7f31070e743eb7611230b4da746f64dec399f71bbe8aa998a99f746bd422be6d02f0e80f5e9a337", + "padding" : "30160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 279, + "comment" : "appending 0's to sequence", + "msg" : "48656c6c6f", + "sig" : "34bff75efb6f79769cdf1dae7cbf4be4644b03b7e44ba74a277281e229a6bdd96f922884fdf97705a456ad07e13f90578ce2b3aad819879be2c4097ebe5329e8eb72598005d02c6e73d8ecdbb45fab138cd88259320397f6b90a5108adab63ea07e1b86f5e20455368cfec220782a63aa7aea41761ead5952f9c7da59135f0e9", + "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 280, + "comment" : "appending 0's to sequence", + "msg" : "48656c6c6f", + "sig" : "96d9ab79a2c8db9e9a483d5c36c0c3ee430eed6bd8385e4b7b655b7428a28d609ef4a9d413269572cc4be679497329042a1e1b0b090cfbc9a9236b94942e33e2e54a593efc3821ced8110042f4e56a521f4f46a3305dfcd1b899c0f092aeba78ecb8731a91c2a64bfbe7e00d46d85275a04c2269a74cbdf3ee6d6aa4867c8728", + "padding" : "3023300b06052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 281, + "comment" : "prepending 0's to sequence", + "msg" : "48656c6c6f", + "sig" : "26ec2f6585eb6e732d8430faad988f8223db0f11b8e56c14370697f083f16daf1ce571f73ed43162b40abe8736a43b99cb3c6c6e4a2fd5e2cc75bf779f10abd718eb0f252fa867b4d08cd8ab3f80745c2d368ceaac264427b96dac8b4b7aeeb3303cf4bdb7a45cac40f991c1fe53e8dc530c6dd76302dd8f6bfcd86d6ab290b2", + "padding" : "30230000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 282, + "comment" : "prepending 0's to sequence", + "msg" : "48656c6c6f", + "sig" : "9e4c79c5fe53b5514cd9a3f3d6d898b53f92859d7f862f66b08585ebd6efcead5b69df6d12b1dfed30abf729558f340def7ffd341bc599102ee3cad5459b11457a2a463cdc40594fea9b7d8d0a99b952aa442a25f77991d34a2dbb0b5d73946d5780c176f0cd977a4e2c26b3b25406b7092c2d8ca14205007fcd0b776d01278b", + "padding" : "3023300b000006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 283, + "comment" : "appending unused 0's", + "msg" : "48656c6c6f", + "sig" : "94c2d05aa194c25bbf274f9b1a312f87128d3c177cda66961cc8388a3ed5c658cdf320bc6af14e57b1569ee6f96280e5fa98ca6eb67017cf3077fa63d9f7a916c445dceacf73d06fe53060a11a4c9ebf0e6203890c0da57324d86fa92e8f9b854c262b57046b1422c9aabd40edbef96f97c015690a4dd1f84bcc02867067d35c", + "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 284, + "comment" : "appending unused 0's", + "msg" : "48656c6c6f", + "sig" : "789468845b4388391ff3baafc966a3957f2db65a01fb34132be2445c22b303fcdaa4379c14a9291f3a7e1f23948c5c6b3d1d61934d3e5689267a14b122017df19da59a762114b4db56b17fd61043caede4ad0c8f89ddf180456d5695b337525f6dee1d1806c69a14868ccbe6edfa523795a9422057a3dd9ca8636e5026ca74ea", + "padding" : "3023300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 285, + "comment" : "appending unused 0's", + "msg" : "48656c6c6f", + "sig" : "65929dfb1cfa05e3a405e1fd566e86a0627ad471101f5b2ace5d2a225641a521ecf2638b5de2c9f691dc0d4260ec49ce2b05bac8064e5a16881bba6dcf7fbb890896c27ca5fad9bfe6259aaaca16d94f01c24f13e30285caa9d610ad26457376c332bba7ab26d6bf832c7aeb2746faa914936c9ee51f9475861db055a89a1cf0", + "padding" : "3023300b06052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 286, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "81bacc6576415739b7cdf7ec09bbe148be54e8e9b1941992d6c3108cfd3bf095e9f2b4d0c9101136def16587e2121e6ce9d705be253c1597b4963ec43e99ff48d2cfc1ca6141a7c6c309d7a09312dcc5d2b985c38c89bc532578e19f544a0d22262306482973163a93a0e7845479214300f00cb9a01bc5253650d79446c4aa7d", + "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 287, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "42b488de85d7a4dfd153e07d965116dc20c05b971faf7c7c899dda96b3325947a36652cf1c6861011307c47b45fccdf1520c39a56e5ecc1292f336ae19256a2e68ca1d3e8930456e53b3778ccaf50a79f8bbce54489281f7dfd376473951f1a893460503cdec4ed81c722906fbde5b9553ace4f794e600b00e79b11822d13ff0", + "padding" : "3023300b06052b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 288, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "497311a6c38b7b78634e563139cd5255d5db5f49950b9a45928f0e0b84c9db2bda1072389bdd5c44b229a4038d5dd111e4681fd94fa09775e7670fa7de90f1362621f1ca85fb9c79d941fc34b121f60e38b211b3bbed00edbada6f53aaec2555ed59145af32235232a322519fd408ace24b819e0e3c9bd0a6597d84f9530d208", + "padding" : "3023300b06072b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 289, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "637bfa1961468a3ceae4f91bb9fdf7815d171cdc947a8cedb8beb9077f2096b65500a15c99f512c34acde371be79690acb660bcfe55c0d1a812d12d079f516a6d48b3d35c5c10f21987ac6ba830839a83b1d140c15c57a9df09dd0b1cceb323b1c9a0d854510116d0fa5d16443ea5fec8fc1ec782c76936beef5bd420d789494", + "padding" : "3023300b06052b0e03021a050205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 290, + "comment" : "appending null value", + "msg" : "48656c6c6f", + "sig" : "7fbadbb2cb7b323b8f1dfe78abd8e6b78df62aee4cd2d261ba32c05fa321caabf2ec7486bc9811999e48b3b1b06fa1c590fb7b014fe6137165357b4977821e74323eb64a338e98cb0133cc2a9a46e1691fe45dec76781e60022eecbaa6773e911589e831ac2a485c9654fdf3cfc73b66029295eef4c8065f831abafd960ac0b7", + "padding" : "3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 291, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "7d63040570a002364293787b3c0340b7c460eea2cc307d4a6542662a04c0f07ebbc27457f1745129eeddf08156c977e8e346b112024b50c2e3d3686b8e87dd0e35d4f5499cb14049e61e81a5b43fe306ef02b644f20f8db8ed738de9dc630dca8de629a9bc268bee600b7c13c35eaebbbd4e018df9659354efd9bcd5452f578d", + "padding" : "30264981773021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 292, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "0cc6704e2d24718199b007a9a590a3a63aad1d5f769bb29d2c233f38cd994ad8359522e9c1af260bd8c526de9528de4bf67ea0a34286eaf9e015e4276be490214a52e4f66d44d6f71b7e5c07850a18072ef3e15ce31ad0a085ac59501abc4552a5a2762d484ab494a281801eeebe59d20187f3b6a168cf23f0893b3ea100bba8", + "padding" : "302525003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 293, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "2916f598221ebb2894a79ae4580d3e7cf6af6a5d345d4be8b254b9efa08d267e3c25570a515ae47a22fe24a914218bd7bb8322e96d49cf16076cd5cefab88db6609438d939f392c2c985272c7561726e51c85ade312ea1b77cc96b0d681f6f2695106d6e8dd5fd5556ed88151cc0a4302f61f5f3db1e714ce11356fd6c6d46e2", + "padding" : "30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 294, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "934016d53fdc1e94095ad0c3b39fd01983a037a5344c486edf74efe2daa9da8e1b8e597176faba7ecc9562d432ff98dc205d00cb3937221a6efd35c42674058db4edeec5b6bc86f49e31201e8c6d5b0fe3d0463e2b36bfcd9bbfd055e89034446da971bc3dfe793350f2f85862baf328c542199ad55fd56bd1f75094eb5e09e2", + "padding" : "3026300e498177300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 295, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "5ef2282d6b3b03eeb68b8f1fa17bb20d7f3bd2a66f2450ad97048183c3647de4cf533442f92e2ea850b09c552be9e99419a48891e4952a0d4d886cc1a7115563a49c3490fb8e146b368d3a9f9d98567d6ad03799e6d6415cd325a413d43be0ddd2d5b3706c0bb0432989bda8a5d4543b832638ff3ee4ceaaf239acf0c1ac2f53", + "padding" : "3025300d2500300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 296, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "88f59da879a63cb4fa4523cda167443e78b2878e8143a54cb0e237ff51e45d34d17d59ce704b72c185346c7093b79fcc0700516dec9c5cb8c3bd7bc21a1f46f593b38b4dc52f80e06a1eb7631bf2590dc7001c122bd2fbe260547c9d13010094ad1e5e75255cbbda3539b1454e3914e6c1e8c93f58b36381b844c39d08770c64", + "padding" : "3029300b300906052b0e03021a05000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 297, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "1458cdaa71d53e60633583b0ca0edd905eaae3dc86350c4803a5fb5d1620b31713930cbe5d21d9530cd791c1cd10007078799a9359b09f39c61394f0d2ffe366efd4485830aceff2296da12a1f9b6677a1b8349cf6b832e7b9821e1be8d5e39a7e892062926066312b231306ba32cff73b03e9be39f12eb1a559e7e18d912f85", + "padding" : "3026300e260a49817706052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 298, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "7f2c73434ec35a0db8a6e89d81171d7df1e1479d4b5e00da0d5e1223c95ebf9eaecb9f5d7b2705ea3e06f42828fc6c6c3cd3af52e3dc20c164789785aa88cbdb63c4b973b4f871c085670039612d4a9f50f0ff84e38c576b09bcc9d55d6c66418f0e8737b1c0e8abc3c2dcee84d7861e58d4cbe887d022a3250f28059c5d4288", + "padding" : "3025300d2609250006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 299, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "51d48f38227999d2d1af07719ec317d34e2ee5e42650a6b59b2d0057b7df31a2b551a736c621f5a8e4345fa755f57e55ff80a61c041c7c28e9148b020913b72d6a0ea7cf2f956b567eaed32ea647687505e11d756581fa1d0b593207c6f2db3a75a0923a375731b925779fc3ade0a00997ce4cda3ec6e981e91e1af78b12dc26", + "padding" : "30293011260706052b0e03021a0004deadbeef05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 300, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "55dc53df20ba602ce3b36914347d0a2c22ece2b11ca27b9f8807ffd36545ae33f4a665b6a125253a5cd7c358c52d75b65cac14f9553252ec770c25ad03693a1b6f44470a7418bb55ef5d6a0528ff0174119b1b43c1fd1d07a2506603def7f66d45afb99ba70178b3774cc1f3b4421addb8fee0c22e86416b0b1f3c19356ee38f", + "padding" : "3026300e06052b0e03021a250549817705000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 301, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "1ff67456aa711438c0bf7e46aedf2cd4ebca7d0e9f8b3f98af54c949a1e27026281f77ecc61ae1a981afda0bf7aae38619c5447508b0fea79a588d0d2806ae0f67b32d6dac4b2ad58dfd413d235543666ddfe31d8545015edf25b5b90cf0f8c592f048d009a293dfd1e7bb50a37d52c1540bccf99d8fe2c1299cdbc563d96b45", + "padding" : "3025300d06052b0e03021a2504250005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 302, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "6af2cd04b32de5d3cf8ce985bca6f581e96dfb4ec483b1d2c06cf4439bde888524b2e6675c4fd4e10277752d269c87fe1c4eb70a72a2596cf53f1f4f0ba3e82212e72e09774781c888a96e8870658bd9c248bb1f0f7e3c44f4cd284dd6c611cda266f2f841ec1215295edb5291ff1e5111701258441f06b1ed85e16452a02cf5", + "padding" : "3029301106052b0e03021a250205000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 303, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "0541e9a8f0735076b58133e205803982f403cd1203407ebff3534a48eb35f06842fd496d505739fb07dd85f48b3b24685e1d6c7be539edc862cd9b6869097c7344847201842aeea3ebe3595557cb93269898e2109226a2f4eca5bfef0851a5fceb2d6bac753faf6dec4911610e6b40d827a00502537a6fe743d616558813df8a", + "padding" : "3026300906052b0e03021a050024194981770414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 304, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "5e21d6a684e3daf0be25155cf79874a6bfaee2b771d38ab8895f031cf25a9a05fc8e1d421ce78944bf57a3f0214ee090c42cec51decdc0dc3ab376deaa4603d59eb3ec8b4470e6d8b00b53651873d48f6f2cbd035bacd0f7b24633a025b8ea9dc7c55dfc6578601849e9aaaccdf5fd4d1611b45ed3abe2010079e64de8ab74e0", + "padding" : "3025300906052b0e03021a0500241825000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 305, + "comment" : "including garbage", + "msg" : "48656c6c6f", + "sig" : "1f96486457eb037dc9e2464e507d720adcf90f48a0dd1d42bf4239df64e5ef25556ec27290a8d87fc9fb89ad0a8547980f6b2bd7efd0dbe425559bdf08005fb762b92d0aea2f33c17002ab9a911e457532f0134d2e35db6b3393436de160faca0a2c82509ec929d2893bf82a83bfe1a59fc9189e7ca846998b39919d3ec4d6ed", + "padding" : "3029300906052b0e03021a050024160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 306, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "48eedcec184b7ade4fb34efac030a4ce140fcd91a1a1e986bf5232e8db9160f076d9ae36ca23246efd53ece2014ea56d5e596b42ce66e3c585d5e6a4cadcd779c6df0d8c43e7945cf02a07dd3851258ed021ade9cfe6fc3df222ebbd6b9e3f39b4331a11c4ea401592883b4f8da7372526f4f3e7acfdad447846ac8160e5ce38", + "padding" : "3029aa00bb00cd003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 307, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "107ae9af715ac312dcae1f831a818dd55caa33e659ac6f1a15ef41ebed6207cb54a7faa7e45b519a3ca9c304a645f24ee9ad3eb83d6856ce4809e5d7137ed30e919c9615382e9e8767495495cb7dc4cc27e2ee8932c47cdc6c9154391993108cf952fbada535823368843adbfb06d874c14634659f7dd89b02a14377a5c1e8c0", + "padding" : "3027aa02aabb3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 308, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "34b98ee9fe1600e2806f67ea122dfc989aa727f16c8e2cf704b1f05026105b595528692c16a052725a2ea47c4ea2ef13c2f5f9a9304d11607a25b8cb261e64658c6047627e9a7651730b81376d9fd978547c270d15f5c57126e3b41b39ca687d6c8be52bf2552104ca06ef64dfe317095b835cdac2840d4f0d3febcc3863684c", + "padding" : "30293011aa00bb00cd00300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 309, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "358ce2879366fcebb1212839560958d6a3cfc4cffe2a05e9c7ccbdf18b6427f419a2c1e85fd82e27bc63315a9742d141ca157a435c4f20758e4011b8b0b33b9fb5f0006170c3bbdf4d2fe16888404dbf8b9c00ef30bf45ea68371b76a692f98e79c6c5a574e410a8505d5166112f43cffc506a9d46276cbedfec64f1b2697584", + "padding" : "3027300faa02aabb300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 310, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "5affee843b343a6d142406d3d89366a9149d642ca12a661c5d0eb0c1b5e15d3c90dc134eb76aff110b1964ed6566469c47e54aba7145c5601412cd38c630e05236c169f2ac6491795408d410a763f0090e299ad9022ebacfcf2f8f0f248674402479db2387e9eefe47c86c2430e529cd13e213753332fc4a3541de49dd1f3920", + "padding" : "30293011260daa00bb00cd0006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 311, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "5cf35c6711fb8b297ec405496e8db527ad1cbcc55ce6122b24ed917fb989c28e369354900abb96f41457f15754fd1060710c6e984db30eb73300cfd890454e97957a589de151225827b5a12384717a7ad92aeb941e1e148e8d008e11598bc7b8a3eac35f2af5584f61335a608c5206e5e24cf934ef2009367f3403e8da2dd0cb", + "padding" : "3027300f260baa02aabb06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 312, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "6e037fa40b3ce48ea72b28bc1ce8cc01188e6f84addcbefa2c729179043b3804d6ff1f25d85c2b9d72acce9c9c64e3f63ecffac670f76b2be75d63b3cee45b72f8758345021177ed13b66ecf0082e3c4418cc92713bb9867c8d28b78f30ff599e82f17734d0772e1e733c0b74fbf31c4f1ee99dbb89b5b113a7f628742d3b2a2", + "padding" : "3029301106052b0e03021a2508aa00bb00cd0005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 313, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "5e7bf33ad4d9393d6b368764fac6395ed8ba3da7bf04a0f95d8426684bf0e9f2f78c9e49189bbeec883955af428e6e4527b871aeac21feb8231162f5380077c1fdf63a7cd4be65f813663dd82e732cfb3e1cd09298abbc42fbddc3551772f492627e657febca487db5c03c54850327eacc44dbf4a7c230f1c8166138cbd95587", + "padding" : "3027300f06052b0e03021a2506aa02aabb05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 314, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "0c57e98c13628c8188a0095b98d312cf0fa1a1d2039700ab4c607fe75ea0fab11c2c84e5d22d26b014ae1c2aa948efbb1197e39eafc49cf9f010a7b2be4ab9dfa94ad48ce5dcd5c7fd405f55922146cbc541b9ebc1c89f30a2a3f7cf4a8b14797ff4a60922ac710e7496931ff69e4c0d4e06375c05a7ef1910cbd6c3cae5bbb8", + "padding" : "3029300906052b0e03021a0500241caa00bb00cd000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 315, + "comment" : "including undefined tags", + "msg" : "48656c6c6f", + "sig" : "874f05aca449fe8b39b29dff1eb20b145ca4bccd25981176d33b6b41a1dcb48b7a668782549013deeceae3599309f541bfd4a15eb984a401bec4f0facce679c0608d962964b85df739ad19a926de875f6404ca5b209891d380f6e53140b1bfc05a2cf1db336d3a01e8777614299b6e2f683f2406b295f3366d77505cb2e56875", + "padding" : "3027300906052b0e03021a0500241aaa02aabb0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 316, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "123c3ba6d4a5de10837fe12e9b2c61ecb00c93c7d25aa440b7c739df817ccb37be122c5f5570e44a943ee345590c5ca0597605c1487986dfb75245f8e89e4f29aaf3c8eb5c5e8944a63baee4d0143ea2765b0f297a1da8a51981c26a807cf4f9a1aee00bb75cedfbf6466098f7aa27f1e3e63f4f0b7b8c40fc837c23248e914c", + "padding" : "30803021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 317, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "2220dc736ee3c63b5d5915050c6687b3861b52e664ce1ab501681d6e40990f02dfaf96f240adf2dfec05edcb268f6dda4129f901f7416660d56ab3a4145bc354fd11a1dc4e1535a4b8a61498508019ac38b61636356a641b8fb4d4739eb84b4fc49647fad35668ead0743aea841214a6e628ab2b5488de6e60d012c0566fe78d", + "padding" : "30253080300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 318, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "51fc2dc54c9a46a30ea1c7ea262e86c85110f8bbe42d5abaa3eafb13fa7f3e2424090476c2e50e5eb74d3b6f5e5fe379f3935afe5ed940d443fbcb8686f999c6fdc9e508a5fc7c27bc17169eb5d8e0421ebe7d04260c60435f56d4f614ab9dc0b9298c45fd660c352d35d2985831622eea08010bc27c887f95cb33699759e630", + "padding" : "3025300d268006052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 319, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "87fb9a61395878aafc1fb4a872d8e2db7db123ce4b2d67cd36a7f6e7e190d0bef9487f54340c28fe55d1bd9c38afe166924c787169890493d5cd2a5c79317064313b77a481ddb8bff9a917da32899448d9104ab67dcc856aee617a0a65631609f0632d58bb6585b4dd0c4a8bb41fa0dab99a08489feda41f1e7e5e1fde382952", + "padding" : "3025300d06052b0e03021a2580050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 320, + "comment" : "using composition with indefinite length", + "msg" : "48656c6c6f", + "sig" : "442ac72092d6956bc846d7be909704dc4633e3e59e6ff4bcc97bc9d412645dc17ec3db8bd885150bacfbb085dc90bdf26129637876a4d5713beee0385cb5ea7fa6ae57208df368b4ba95720a716d58ca6ee5a03ede1cc7f2ef31d8c459576ef72f6ba1b5d9409efc74932543ed601f957913a12304c2e29dac219d78ed12203a", + "padding" : "3025300906052b0e03021a050024800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 321, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "2ebe12f793a821425e9513256ce1517b03b6bc19e2c2347e94651054caffb1f5d6101d4f3402d5945b4aecd04dacc3ba89d1123916d44941715951e9fd59bf0614a0534762e86275a8f1b0b16fd9a9d146946cff740c206ba6b27b26e8d1fc43b2b4d117e144973091674607844f86fce6f07a2a63acf8df67d3827141ad432b", + "padding" : "30803121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 322, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "6e4d642285fa7a46daf985135181712e84efd52cebe8885b52c61a5cec753c1f8c8ba42886b584faf1551da81232214c2088060e6843d0d319a5e877bd4c500f6832f537306285011e5d8b98e2fe00bd38885211478f27b0d037c34d79d7f4d5828403d20b5463a7e1e2de2398c79fed33bc9eee2fdab52bb40acf9fb68a16a8", + "padding" : "30253080310906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 323, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "0de20757fb64e3633c36e8965fcc20631e9e890152e3a1d2d6a91fbe9ebd56bb99126050c79b41ef0c107086106738a91d0e815d3218404c1db9d4e8526e085ae10195b9cee788fdf7ba9d28c614bce268af0cc58b8a959fb4c24bfceeb5bcfcc4e326d9de825bcbd8eed0df37de2add59f8879326a7e6bfa2a36eb48eba2f36", + "padding" : "3025300d268007052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 324, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "2e48a4122de8e1779d169f5a6ab72eba7ca3b0c31ea73d41fd82047e18559ff9706acb85f92872124b4020ae001dadc76b61c0e166df0af677f886cde8e13dc8c2b5c93d62cee44cf3bbdc74756d249d3c59834e079154f6646a8c69a2320cf7bc3925523bc2ca3f8fa7d63650321d2a4de3ef3726f74a2020ff5db397454242", + "padding" : "3025300d06052b0e03021a2580040000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 325, + "comment" : "using composition with wrong tag", + "msg" : "48656c6c6f", + "sig" : "6726053471ecf6651529165c96db60559a525efb27d31de913a44d885d33e404fa9dd7d28de94a7d8dfaed297ae500a55bb3535d77dad3031f7edf7bcd636534621d870c28fe64f7b4752f59cb1490208405bf38dc054311473286c52a59a8c6060827ce9a2ccaae9739030927aaa5225d45655be1fd826eaa6b27a8e20a4f31", + "padding" : "3025300906052b0e03021a050024800514f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 326, + "comment" : "Replacing sequence with NULL", + "msg" : "48656c6c6f", + "sig" : "1cbd58b8b3007c4298bd1c10273da63a72b7957ef834ef906323f8d0108f150fa5e6a9eca58b8ea4b995ca553d80e801e9cf2bdce6716f577349af9074c73608d17105dcfa419689325cc9d8b92c0170c32359fe74231e9f694e7bd363f03fa94f0a6b9a12a708477eaa08fcba05d6afc1145c1eaab404effde4e187493a41a0", + "padding" : "0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 327, + "comment" : "Replacing sequence with NULL", + "msg" : "48656c6c6f", + "sig" : "03c82831e52e73e3d48e7773398712972715ee37d68c7cc7985a75a4e9b3316e294a8a73e2613d561dc385beec1405cf3a11eb1b02bd9fd7419bf648414392a6392e543684770ab5e387dcf73a4517e7af0085adc91d1a96a1354aa60c262f2c889ec32769b7a86d5c2e820f9d461bdd33e5d85345717c34d80b23fcd0cd45bb", + "padding" : "301805000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 328, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "4aba9d2c7a58610d7d3f1050cf5c1558369823c1a344c1573b64d3e8483e04995176f05c255ba67e8bfdcc6c7ca640a4ae423bb3c027f8b14318467e6ce1086db7307c0c9c56acd0372c9f53ad17e117df0557e5548d8d7bb6b9545ace3354f5400b832accea7c60c2585b34881461ee6595f0fd564de7f49a7f0228a042c39d", + "padding" : "2e21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 329, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "1f83a1013b293203ebf73ee142d7207bfe7f5f0159327ee40f1325a05ab6819b3e80682b2f4fbd8e65f3ac603e1d73f5d9dd264e25e4d3b473a1d665de67a770482291802c0bca8358cdb20f6bd4e98fdc3a6a533f5a809ae7f2257e997884563141fa95e84e352e949216d5f4e590c61d92fd9ae8191d48f2c128c781700f59", + "padding" : "2f21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 330, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "6c6f5ab24760dce19183684fca84e7858c9b0f0b0688c47df365fca8266ccfe5a90f419bad520c97a3b56d3b4c3bd1c9c176bfcaa8f785572dfda5e11a6bd503d817b6201995208b37f1f9f72c8e15105f28f600e56a17d3f8f6ca3a2c63ffad74e640b3e43c5671d22a15793d3c70d9118427aef8a96f9bccca7e66bf792cbf", + "padding" : "3121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 331, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "8c7108f3eab93fdfe930ff1a149a071019936122a4ba0524e309c9af89664f4a202a4f49a4288d80f759521de7e0e04409b5d9f4cb93a722724e34bce76607f9a4c46081abc5a606cda70a859ac1fc931afd10d22a7a4c224cffea888979cb314e9a8dd75a85059bc282c923ca5fd6b508cf4e0c21a93f5d179d05228316eed2", + "padding" : "3221300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 332, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "5200334dfd766b1052dbe9d422f94b979b60afe3d9a2d60aa5eccf0e449357296eccc321561534450ddec51de1b6dc6b94e1e8b1ca52714230f9f7081a36eab655827defce738670c769953dce9696110689c1db5d475c4b1b030db86cab46745b4f23d68dbe3951e089786101d19548816f78343c942f31373519aabee6e520", + "padding" : "ff21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 333, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "3fc2126ef4b90f42dc8817fb368e4fc5ca34105ae98b3298425af76d2a304ffdabf8d246a53385e0b1c2a2c46205d64eae7be9edb22d5d9bbfa50bca0ca7a8b279ca8eb0ef3aa94d48ec1120010148a58bb576258ec2fd57d10c3d60ed4d94160c5256a24973e5a8333a4f54c288a18494eeff5579e52ee8a45af1ef9943d6a8", + "padding" : "30212e0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 334, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "7d4161dd1d73800001b2eecaf1931374391b36fa244d1f92f233a89fc0ee3a95c3766f0c666f5bd0bc5e2d5b25fbe5ce72afe9784488b2076fcfec45dd0a59a9cef95effc524cc57fb55207631341caaa8369c10cbc6cd0726efcb9cd3db7157c9e58d7b84929705bbfb23d7641d90cee85cfa20b0ebc91b7ba98f910c41a13f", + "padding" : "30212f0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 335, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "6c848e100c2c5a650b3f27b641848ded3d54a8930d4acfaff8d7a9df3b5aaebb906c50ee5334130ca14f0bcedc5b036b8d6725bdeb56a6af1856e50d3700d9f1735e50f10ba2319e316ae707db874dc56044a9196ff42e1836d051448dccab90f163dce2b31b4405edddc9611e0909f9082b29e8e45f18c8ee7ab12a8502f39f", + "padding" : "3021310906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 336, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "8cda31b963c774894aeea363abc4af9a8b83cd4aec6cc9197423e7bf9f6935bce978a148d9179f47c092f3de5bf9229f37f86e7586d8fe197cabf27b99a902e561d722b0359a738523aef87286d19cb36d7b430aef83d9828df1aa334ec3835648b3b2af8c2c65f9ac8990d2f4df370d49da6f81dc93cb7035ee931093d843dc", + "padding" : "3021320906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 337, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "426aa261ad32507dbd08dc315b39368e8909824128abb746c65743fee574b42840489d54c8c5d6c5553e8ae1a3f14bdf4ae3677fec308864ad9d5ac5439976e9379904c6ae5a24e73daa34822e846a0eced7314b4cddc0111c21387d56f89f03a470b79514dfa97c405c8ca9dfbb6f2e3610a8eb5d6c52b37b200a1519026e7e", + "padding" : "3021ff0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 338, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "126d30c8acb2fdaee4e622a2b4f2a16c56b50d03c3fa4ef5a417e9aac346512483e1f4fb7217ff640197d31b0d6f4c41403945dcef37da312f33eb845fb862ec9994060b085c005c6feb382547a4fa1a7d6e7383c81c8ff7a51b539cb55c94d41fa804d9d6968b57a2e8c946f5260d835167b3b5a8302bb054638b9842ac963b", + "padding" : "3021300904052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 339, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "939e9204d0c47d391d83224328faad620f6d293ac79b619769c6fb1eea378111fae89d2def2721055598a5db3f006fcc96f4497aad2e41ffc84573caef22c26d19b66cff4cb4ea6aa7563239cffa1e7ab3d5c0c297b2306963dbceeb502ab76ba11dce1f4fd63af7d54ed9283541e45225e7503a991ff4631bee725eeeee66af", + "padding" : "3021300905052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 340, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "074d2f5e6eed13d3beb33cd6434d539e69a6554fc6485bfed21c1ea0350e268dd90d29977b2c43f6d0332fc3a7f1027117bc3ea86981cf2547090931755d84f934f589a7eef4243bc8185fc38c21f0e65ee7c19a7f8651f17e8dcc10bed8206c07191f3e146a871e5f93e52a080ae34c551834810076a1d6161c94e0c4e40624", + "padding" : "3021300907052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 341, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "44715b61effca0e94098d7dba43839ab8999dca771968c09b9263a9d732d000db443e4253394eb357cb05bc0d2a715d4d9a0a64b64e3ae7938e040bc9ce6f2b2a5172a564bf970a56a12dbe54d96bc9a6d5d1ee78b112e7c5447015dd461ce824062161f513f17cce02f259a80fa78e655b9c09d5f129fcab8df0a045d19142f", + "padding" : "3021300908052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 342, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "5ec2194d5f835d6dba9c4ab2bdebbed946f106fcd2a3c6a623e67e6f8ed7ffd8eb4d41f0bbfdcaad34a34d84f9a735f78de159748efe2fe3629f7f185e681dbc5c48025469fc890222e5be9884c550e5cc483f6854184df13162f20d1daeab78eccbc52988815997887e4e52ab7b756885442c7ddb557e726642bccabdfe78fb", + "padding" : "30213009ff052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 343, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "2fb77b5a5766d1e898af896192abf3f347100053b920dbaa931a8f210f1b84d522b283e59f6f6f5b7b13d4a3ffd21d2e0b64d1b275501b0bfadd23e89361f327e8fc7f29992dde2e5ecd85ae81cc1740228f983b02bb9875eb30597fd247a8351ba87a5ad5ae32cc4596b4105904a19e5805b92c266f66a9516fc2ca519ceb14", + "padding" : "3021300906052b0e03021a03000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 344, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "01c320bad86713b33ee0c9a537b5312d00fdf41eddda0e3328ebabbac7ff5502296d78f2c00183055b47cc03f91701c0d7d2ff4ce7c8d26b8481b296ad60acff9c0149dfb7100869526ee9dc7f5fff5aebf2af32975950213e34c7da77377ae3fcc0b4b9ed5369f0fb2115a06c1b2a3fee7201ae2d84442738e37f8cf0b5ee08", + "padding" : "3021300906052b0e03021a04000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 345, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "7a8fe54e250dbd71ab620a9b6b3c15f9dcc04a5d04dd70d6cef5fd48b13ddda846f60b38470f14e05123754bd227cdb4f2c2ad0c29d0b93dae4fde5eae3aca4ecdfb0efccad8c0b0e44544d4a5dc2b1c4956e11667e34306bfc475085b146eaa341d754845df2022fc11638021f3098836bc2d2569fa4ca5f20657709a5ad120", + "padding" : "3021300906052b0e03021a06000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 346, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "6a853a5244bf6d3795dd7047da88403f24831169f0fe2f7b789109f279d01e092d5e35d837644c4b83614bd40ae164290cb4fe6fb6eea7dd271195d0b81715a32184342c8c83a82ab6fc62ad58e299b619489d5670c65a6f9faae11909a825da0c4486ea2ba1002f5f8d1dfaccfee2312c9098ee684675f920e61a3f6ff11480", + "padding" : "3021300906052b0e03021a07000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 347, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "16f7787a9f5760f025b2e03886ae1a6c83a99a7495eb57e01b687434a1aa27e5f73e0440a0e6d45d7dae80b7f3d9dda8e2bd37540eac08bfd75f13371daa98a334af10762a55b684bef3c67ee6072717ee9fe67397fd612837e0c449d0404382a1b59adb19bebe32f29b1374b36f9649c0c5fe838252c15e2c8b92ba02bf607d", + "padding" : "3021300906052b0e03021aff000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 348, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "71629cae46ffacf0f7af338c56deb86464d037b1c38baf338eea05164a1bc15db208b8e3054d828dfa10aa5595d20e9010d071baff42f5d39264ba7a10ab263a30cf169021bafc2647bccb1f624abd87ea18750fb3380e7b0bcc0e12f96ffb6b98caebf9f2faee4644c8d6f0d8d33511725ac390f99fae9b40968de60a50dbb2", + "padding" : "3021300906052b0e03021a05000214f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 349, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "6756b3ad008422f5d738f6fddf98b5c049f177a4617e6425c61e512eaf6be60a9e51bccedc85f5c7ebdf74027b526b4d275aca2931bb8e63be243211ade9df54d7b8c65d6c9695586c81dbe7ea8cebf5eae8e34e68676938ccb5bd377821eb55f7f30a7635cfee75c7b35c99e1874e75ca2e07ecf6adb6d58fa704fafd444b92", + "padding" : "3021300906052b0e03021a05000314f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 350, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "348028df7eff398437ff6b48730cec081276fd2adbff36c6051244763cf3e99d642a1db43c287126532da2663c9c7a57c1d62a4877ad94489d4b0c7c89f7eb6c37766321bcfeffe21240f63347cdc2bbb52c85426a42fe7144f81617bf27b741e7e7080e092d887c59484d5d48e09f2d64a951738de9e1335b9f4777e7d2b9a7", + "padding" : "3021300906052b0e03021a05000514f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 351, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "656312f836bcfdfb4e38f88994a2295bb55ecff0e745974753b22a15c67c64c92c329693917050fae66f565310f8ef8cf4b37dd47eae088adafc34cb0a2eb1d34223ff51bd230d3946fd8d4abb8ed8d4c923bdff7011052e07b358bc5d59deca4a3d82999e54fb5d521564e9ce1fc69c3968adf31a5837fdecc0c9552297ecda", + "padding" : "3021300906052b0e03021a05000614f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 352, + "comment" : "changing tag value", + "msg" : "48656c6c6f", + "sig" : "8fe1efcfcfb09cb4bcea76590fb8fac5ad9428898848d3c20efb256ba2532dcd77603bbc2cb7c5902e099081f6a54ecfa4b0669d5391c10f391aebfc636fef14bb7bda71f12e0d9f164a2ad47abba6103986eba5cbb0b1a4bc3887a51ebe614e0dfa60afe1c5c0bd76911d01450952408384fb88e795897c0ed64e28c5f00b71", + "padding" : "3021300906052b0e03021a0500ff14f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 353, + "comment" : "dropping value of sequence", + "msg" : "48656c6c6f", + "sig" : "2b58ee609310e66e3d812f20eb3a9e2995bbd5947b5569c0c23aad8638590a43c8610e25fe6c248b74392ebe9f4edabb1e5b918e227f49bb9df288f5755d06f7a22e8e7e3d63b21ac023d35067142f301bde6f6ce017ffdd256647861801e3dcf38b18888b9986eb2c944937fe1706e28988f0781b7acc83c4a0ef4b40b25b44", + "padding" : "3000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 354, + "comment" : "dropping value of sequence", + "msg" : "48656c6c6f", + "sig" : "1bf19d3dbdc4d1ce61350bb52d11ef6ecde6816b875ce7fa7361bb2edf84115313cb95d21f3472b7d178e27c0701c6ab528a735fc0ced0a8af81c78d96227ffecc545c8cb7a49fe269e97d647b5b01e0996f29689504b1ff4e4d8e08fab6756ce9603c0bd622b4e74eb8c18373ac1efd5074d08ddaf8fd7c3204e25fc0c99328", + "padding" : "301830000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 355, + "comment" : "using composition", + "msg" : "48656c6c6f", + "sig" : "5e1f0d448504349b31c8a5ed03e066c7dd7878622fe42d645bae8592aee87e1056504d92a88a3626c54fe3da07649ae6bb30315f3c3b358beed1afd38d414785906dbbc6d0e188f9006756a545a1d1979a496449689ee3cc067072624ef5f2de8a1f6f0c798e8bbbb9b6e14db12512feaff11063dc3ca3a5b3bd5926bcabbd78", + "padding" : "302530013030200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 356, + "comment" : "using composition", + "msg" : "48656c6c6f", + "sig" : "18d30faf84664f79faa0dd0285c408fe54793df5858ed7cc367d62847470e32f433edb77c30f0d0dd549220cb18eba18d1076820ec27ac37bbd8b989b847ed8c84ed1930e7ea8566a9d043807b0f03fae51aa0046483343ae06831743fa79f4438190164e9d5e75610bb5fb9201365dd9dd4aa6b5dcafcfd73161dde7da40e99", + "padding" : "3025300d3001063008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 357, + "comment" : "using composition", + "msg" : "48656c6c6f", + "sig" : "981a4523b61116d28d4bdb8d80969f7fe1cfbb06f4dd218d05fa332680b1342d20f0e4d4a1a6401ad777615fc56e3ca2fccaf07139f43ebe1d92d20605f8c894d88e8c062487fa86f51b2026dd12ba68077c3551d928990848bf0de07cd880194f2ac276af86c1e55e25044be3c7204ddafdcd61795a9e3b7885a88f43aa6b8f", + "padding" : "3025300d260906012b06040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 358, + "comment" : "using composition", + "msg" : "48656c6c6f", + "sig" : "98d603185c1e2927622056c9053a62e17ea4aab5808418725cf8887720f5f3500cfe6ffa00513e45b72c9fe44d288d06555bf715282f6feb685df2f44bfcb3ed541653139eeeaeabeae9d52514495b604512a9ad6223f68a860612b668f5a0993ebd5c9ce9cc00baa80484d60b01c23a6abf40be03cd1cce3317563b1f9326f5", + "padding" : "3025300906052b0e03021a050024180401f70413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 359, + "comment" : "truncate sequence", + "msg" : "48656c6c6f", + "sig" : "3b5c1e0d3dc103755b67feb766d58968f94e8d8af6a209f6d28e7c0541a4fdf7a6976f664414f5ee0beb9369a59681291fb2c902853fcaa01bd065fb7a1da967849cf45bf558e375058591b3af1b5c8a18da21d5dd7598e7e3aebe0478180200294b86d88b1c39e224bc1dc22f1a8e537e05db467b5a04dc70ab9346c79fddd0", + "padding" : "3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 360, + "comment" : "truncate sequence", + "msg" : "48656c6c6f", + "sig" : "61b6f98e16e4809448e56d9845850b748bdb64064ed4851c141c57e93c37744bd91f54f5ffd9264f151294e6f73bc8d5a51daa06b9121bfea1f28847229875ab87a7297dc383987db1f6bc1133e344a95af6d34fd18105d154ca951e4e6f64f9fde7994207ddd5eb6bb2a07037f13c8d853a8b8684431d5ecf1cc9bde41cda49", + "padding" : "30200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 361, + "comment" : "truncate sequence", + "msg" : "48656c6c6f", + "sig" : "8c05912e8ebe5f2cc9fcbc2410bcb63b217756cd961db8caba316634c6ce191f365a21137602373f357461e9020b702025c61e3571cac6967a8f68375a9cd4792222b59c54e21649776f6e7d5995448779f7f9d32bb4e0e4e2b612b5c2b8574d98d01b9cdd26965541c0a67d484e13d4f49095ff7030b180569058376c7926a5", + "padding" : "3020300806052b0e03021a050414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 362, + "comment" : "truncate sequence", + "msg" : "48656c6c6f", + "sig" : "8bf895e0a26741d142767e67e73f102180a5e2083ee27d869585cd02c0211673641ab3e4f84cfdb2748b0a3a39db047fca2261c7ab3a7bac575990741d15c543f83f9da27fb5da3362ad1ce1a0eccf853b9e0a36f851b6cb5734cd22bc3b621193db37e13dd06d8854ff111dac2c939618aa041abce70123cb14d62d527223c1", + "padding" : "30203008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 363, + "comment" : "indefinite length", + "msg" : "48656c6c6f", + "sig" : "5280f9fd14542d5b61a951893b081540d922ba15a7a650aced363106d97b69aff5b1ad624528b7560dce27c3a3e8f8657c8b0e9b83ab63342550fea7469ec14ef1cf48ed33515d56c7872d5eae8cf2480ae7549a8ce4c56748d08c4f3a61bd13b9c9ead6bcaa113bf3f85a112057658689ea075fc8ac7d74216918d588865ec7", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 364, + "comment" : "indefinite length", + "msg" : "48656c6c6f", + "sig" : "88cd60c74205ced62ae7bf35eae4c86826ca946a9b3bf190ab8069734489058191b6a501b6766fce0f5a3e5f7a39c0deae40aa66ab36b5a2a39d955650118ded3a8dba0df5b50056058cd643630133c4f2cbaaf8055cbe96e63e8fef8074fa23e1f1d5a1b5cb5ecde5fde92c78441f2907aa53ae9e3e09f0a7a7628e4e2be5df", + "padding" : "3023308006052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 365, + "comment" : "indefinite length with truncated delimiter", + "msg" : "48656c6c6f", + "sig" : "380b0826787815b1d32147ac0b7f5489998f5a16c3e6347663b9d002c46f46cff6b15b304ec5dd74de921c58099c91da3f67ad905122b644e50b1f85cededceb3db8a0ad66bcc016588e3db5dd6094c94deff70824a79818adb0c693c83b981c5452f5ab17e26e480e3488d9e40547019d3508a40027c64532a07923de83352d", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 366, + "comment" : "indefinite length with truncated delimiter", + "msg" : "48656c6c6f", + "sig" : "464463484db67af5a057d878954fda2cb153a7105242cdd3506c5011a33131f77765ccdcbe38e4feda51447638c03d80064741cbfbf9efab1ff6613c1e57ff42220ade66b88c3913ca3475edf30f0b25ec7c4ad18135453cf186f791a1329e022df21381c2344d8a638e512984fa0e170a97d756504dddb4edd5212d6d4c820b", + "padding" : "3022308006052b0e03021a0500000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 367, + "comment" : "indefinite length with additional element", + "msg" : "48656c6c6f", + "sig" : "5d0d2d969b550f531294bfc8ce70542c5b1a6789284ed59b98156260f53a97303a5905d004fb09eecb4d8b3d7ff8bb8d11f0c4d7a2f5ef7f8a78eda41a9b4816d04930a6817185488e75bd9919eabe31a2a390adb2369e6d40db644eb0b082619e1fc904668d7619d530f9d4e89cdbd177d99df563c73bbd6a41b25290d825df", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf005000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 368, + "comment" : "indefinite length with additional element", + "msg" : "48656c6c6f", + "sig" : "70b3453abd3ceca3f14bf02e04fc0c98dfddb08ffea15c326f995de6b14f4a441cedb259cf1a003a90d7658697920ca08e128adeb78c62030906a9357ed8125352f15266adc740050da4c84ae067db4a4963f859bb05935f2a4684c42c1ecf9e48f47426b213de2c534275fb59b7dea7981178c7b1b95b20f5ede8937ddd4c83", + "padding" : "3025308006052b0e03021a0500050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 369, + "comment" : "indefinite length with truncated element", + "msg" : "48656c6c6f", + "sig" : "45c3b875d8401e38e121f23cef2a5d9032c6a5a797233ec733b74a8ce1ef1f3ffe141ff8af63170b2e2e345e70977ae0f23168ba41aca2ca55a8053312f1c132a907765e8fb2046c954c5ac7a212eec919de8d699e6f22f4cd7d274a9baf978fcb1c58a26f8bd4a434224eae04eeb5f1a0cfee6e6f41ad0ba5d3de3e801b6533", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0060811220000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 370, + "comment" : "indefinite length with truncated element", + "msg" : "48656c6c6f", + "sig" : "857d6308505c1fce9ccfb680ace1c4c539fb13e7b6f4ee052fd207f2d6b62ef35bf1e6bd66c37d51ac5dd8c3192aa8d2148b5f5a9887bd60d16f8a870932c0172d105f72097f1985c0402584f18b222539790611080c19678071d54ecd73cc7dd10fcab4269f5231d1084eeaae87288e12974f360e4e81271af8d1a5bcac9e8d", + "padding" : "3027308006052b0e03021a05000608112200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 371, + "comment" : "indefinite length with garbage", + "msg" : "48656c6c6f", + "sig" : "1f1b19d8efe38a0e104b533e3ad1e517658f3d96e2031da71b9e66bcd96bcbd9183d7ecef929b5999391bbe308bfd7bd39322d8c64732a5d782a5f04047ef6430ccc528755a052f84059ca767a7ab729287d45a96b3d3586fe92413cbc1c8e653e56e705d9168c821bcfbfe97662f0992718ea2357084e80970e50fca22c6b17", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000fe02beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 372, + "comment" : "indefinite length with garbage", + "msg" : "48656c6c6f", + "sig" : "7da218198082bc7e83b0970262545f05c31959db8a96e1e4c4572fd76cd4b96e1c4f0b7960ccd225ae865195e51e179e64736ee6ae70af86fbd8102b34704b1bfdf77ea5dbb23dffd120cdfb6229fcce0e90ef0cc06f13a4a87d6c8b0e6b275a3b89a8a4ccb08b311a57ce835d7e16e8d83509e186fbd9143fd588119ad4d473", + "padding" : "3027308006052b0e03021a05000000fe02beef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 373, + "comment" : "indefinite length with nonempty EOC", + "msg" : "48656c6c6f", + "sig" : "725ee31ee7c04b139adc17a362f84817c7550f5b8c49091733888429b906f822f4069733d15b071e2c2392b558871279d7194b2ee6660e550bba9b725bdeb4d1a6dcfc82a217c638d53c9c4c18e06e49038ec3c09e1b0cc789803409125380e0bba9e5bc4c9ea949c59d38b8fe6a280c825e79a32daa8dd3a0f0f7012d8fe159", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00002beef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 374, + "comment" : "indefinite length with nonempty EOC", + "msg" : "48656c6c6f", + "sig" : "902d192102ea702346d9e8cec57a1124f8b43ac34456ddf4a7ed4f6f55cb2dc3d3b88015f8da76cbbb1b09ae134fe333c9d482e5af92f3fc2f25630b196bd07571aaba9980dd940d281fece0b2e12b9a04254392ba52a62a4b59447c53396db16056a27436acac363f8921ee4eed52966930e371984f5b4d4f0fb09efba10dd9", + "padding" : "3025308006052b0e03021a05000002beef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 375, + "comment" : "prepend empty sequence", + "msg" : "48656c6c6f", + "sig" : "91c68a2673606cff82abf69c9e2d591315595a3a0b612d6d2708528be0184c9116195f58cb4109a69f8d2f7cbf4036affcebe7a1615a914833b921b915ea12b16324e6e74f95d6eb5b03201d67b945f03296ffb37ef7cda908e83f44dbed24a54e81b71f840668fa4fd82b29c0e1c5b1c021d481c73a662668603d3fbf5182dd", + "padding" : "30233000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 376, + "comment" : "prepend empty sequence", + "msg" : "48656c6c6f", + "sig" : "17c921fb3a8535f2e472df2c447a60f2fe49a4afeefa065f1c84e50dc97f989268ae6bf1e8d77f5b2edd59c2c7f3653b7565902c5b889ec7007fb9006f244257649888a4a1883146c88828717d381018b1f00d656d5e092172f49fadb42f913a92ae1eb4e01e3c2490e1dc52a109e37094188bcaa181898d97ea2c0203a885a8", + "padding" : "3023300b300006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 377, + "comment" : "append empty sequence", + "msg" : "48656c6c6f", + "sig" : "077b2d2e79ff380612aa3f9c79e8b7a580ffafdab8ca3ec86501c40248b3459c0c7b2590fc18ccfba2b0e7a34c67b8d3a7ed92fa686170475666570d38464720b4983e5c374f1b6c604226284a62e20a8a37341abd72f238aec8a2cdfeff00c512c28e608ce98e4bf3640c61509ec56f7e2143216214eb5b06bfd0fa448ba633", + "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf03000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 378, + "comment" : "append empty sequence", + "msg" : "48656c6c6f", + "sig" : "2121389e8b2282bf6022c45e7a3ac9f42bd7f13ea37060f6989bacc72fb6e887db8128024698a5c76adea034c69604b1f56e062627c840cd2f80802e6f2764606b96b78506614198844319bf7726b95afdfd19d5ffda1ccb159646bee5c3d81adf56f2b54edf749ca99a86bc9452f6a307eae06f028f86b4af17137f6a2352cb", + "padding" : "3023300b06052b0e03021a050030000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 379, + "comment" : "sequence of sequence", + "msg" : "48656c6c6f", + "sig" : "059efdc649108b988ee6a63697701a3c98bf7c770dd525844dd6e936d0f468b3c786f82a03c4b1d23caca0dd2a62a6ac43f58b6cb311a819f7b9f48cb9b59b17306deebf1d69a7d93a2d9381e48ddd0ef1d0a07dc5a5568eeefb3832dbbad503e21141f6dd58a5bf503a469d49dd3edc5f3a712b7e63d8ae734ee1808a9654f9", + "padding" : "30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 380, + "comment" : "sequence of sequence", + "msg" : "48656c6c6f", + "sig" : "21d94c3d46c49bc86f376e2d4fba1495f98558e9f76136ba001f1f90befb6311771b700c1252894a5348491c262329e99cc52ee68e577615ebe73d59210f8ddd8b91ddced5fe98cd832b57a4c583318377892bb15bb7d545cc7a182fb47c3149b99e4db5f12df9105a055d0925d8f3d747a2f25ba1dd00a5184afa46695197e3", + "padding" : "3023300b300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 381, + "comment" : "truncated sequence", + "msg" : "48656c6c6f", + "sig" : "690c052df7c7079aa3bbcc9d4699ac50bf0dd90b1d6822046c7ad1429900ce2c4882af9decd580fab0698e5ce3185bcc234561e051533283d022831fd8b19434e4bdbc84223ddcd99d1a8f28a9ba222394312d11d81ee95831b4264d5434c3122c30afaf6b990ccb4f6991f60e78195d3aed5f670c4c2fdc034a514b92c67519", + "padding" : "300b300906052b0e03021a0500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 382, + "comment" : "repeat element in sequence", + "msg" : "48656c6c6f", + "sig" : "4f4f38364932377af52adb8c51c5bd705088ddbfda713458377c3997915766ae05da5c797cbf24a9c73d36fa61b1b0bfb9c14e429c0b66fd6fe1ec041b9d14946588dc384a7a69bf2ab69fd8da67d0e1fab2dbf1838959cadd0d3ca03c9c0bc929d207be60ff8e08bfbb03f4423cd81fc5f587bbff3985d2beef69dce295b903", + "padding" : "3037300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 383, + "comment" : "removing oid", + "msg" : "48656c6c6f", + "sig" : "6ea8317813355faec271a659d62cc94f7408fe73178a2de00407136a53b69d77136b9ef4533e3cda580761f42a683d4a02a2abb7aeb941a44854832d18950d8efc43ae8de29c0c97873761d126e15e7816d173dcaf9315dfa045681d9a4b37b2ce1578ffcbfb4c30cba6e1746ec3f95d310839d75ea873ffcc0ee82513342a71", + "padding" : "301a300205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 384, + "comment" : "appending 0's to oid", + "msg" : "48656c6c6f", + "sig" : "990ac0a5dbe9f30114427c45925353e49c235ec8fc5b19724bffa75eb7e93987ed97dc3107e2ec26b9bb2c51d53f92158fca0baea0d881cb829e0bfcbc88f0021bf967e44a245eadf78fa8eed67aee696fde1a2a79e05a7c6a049f3af282a394f743bb4eedc9798b2d3290e8255a2339fb7a694e789a6fa38e2a236b948f48e1", + "padding" : "3023300b06072b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 385, + "comment" : "prepending 0's to oid", + "msg" : "48656c6c6f", + "sig" : "3c8995341ca2811f9e976e8157e708aa59b38f8e1a24ed16d8b30a19fa23c5df8b1ac2b3c82fbf91800918a2ad6b9320b10e39fb391254a3d954a278faffa97a2052513ccc8b17783faed189b8a4d997d7baba3053d6ab6493e2e36b3ee5046ea62d37a835a51390252dff088cc3a0a33cd1a82e557a0be0d5871b4fa18c05e2", + "padding" : "3023300b060700002b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 386, + "comment" : "Replacing oid with NULL", + "msg" : "48656c6c6f", + "sig" : "4e7f335369655f3868010396eb1a0c567b0763075a98e179b99f8511e0ce16e50b47dd3ffcedd55201082bf811e8206cabea8d20b4d0cebef5d9731fbce38c620f8baf25ff1dc5ebee28eefbdf0846361d2a7d54edddefefd04b8756b09f410016ade65bd30bae6e03db0d39c13099e397abababafedd89a56c072618ddea236", + "padding" : "301c3004050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 387, + "comment" : "dropping value of oid", + "msg" : "48656c6c6f", + "sig" : "87b5cb8841fa252f38c375b39ccce2d0361397a8436d2f37ca3e2293e554ca27fea1095683e42f274ccead1876d89dbb4e5dcca8e28972aeabe3d818144e96c020bef1de944724d1c2a813c633f8e7f8b6f8c8950d2c89dd26534430ff9cb6f5f08b332638b1385770a69bbbf6f76342b8270e2bd440df058c2ad55f9a0dd679", + "padding" : "301c3004060005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 388, + "comment" : "modify first byte of oid", + "msg" : "48656c6c6f", + "sig" : "20a593b6637cf415ddb40ffa364d78cd34ede10f492b7247ad8ad8d5cf9e58ad9ae23735e668bf9a5ec5ad0c0980566b8612054728f2f8fd84f9664611473462357f8a1cfd66c3bd844bb306ba900d2c9a8450df66cb05f6eecad196217b28cb828759385707753189a94993323a59d13e96b3fb3fd9200649a6d63ac5bda82a", + "padding" : "302130090605290e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 389, + "comment" : "modify last byte of oid", + "msg" : "48656c6c6f", + "sig" : "021cd5941f0021896d96282a1f8716b0d39305437cf862a3e447b27f1d8a8617a0ce4534c7502c730c4b03bf098f854194ae87def4db9381e00ba6d7551dcdfe2f04ac881522786e933881685d78a24fe3422bb99b53b1f517b8c942e6a19b224d183c357c296dfe5d3b178174c487176945890a707309c1329023a658c3cf9e", + "padding" : "3021300906052b0e03029a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 390, + "comment" : "truncate oid", + "msg" : "48656c6c6f", + "sig" : "3fcd54aa3d66afce987282cbfe09f0a6eb30d0c94227bef8a2c9fccba44f1c8aa080b361b13eed4c9d0d37caf26fe61ddac8347102d9080cb17f2cfdba7e217df3f8c19039d466241264ae8caf15652c8f72a6ae292dc71c80049d679034ad19bc745d6155cb2efde963f738cfea08f7bba8894f472beff5deebe33173033317", + "padding" : "3020300806042b0e030205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 391, + "comment" : "truncate oid", + "msg" : "48656c6c6f", + "sig" : "4ad8a7e4a92ee9aeb1bf3ee9392abe141d435a6ebd1799d90f5417e6daef65d37bf33c8c5255d52ce5d8b2cc223cd0c68a6061450df5c6694e2b911c8c25e6384a70fb19a50e10bfbc494fe5a62d9db915b7c77a27d17788f0567110bb046b8aa42d3ee1ea444c20b983226cf094f4cbfab24855c68f1e2e9fefd41b2dc7903b", + "padding" : "3020300806040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 392, + "comment" : "wrong oid", + "msg" : "48656c6c6f", + "sig" : "773070dea29e40cc9ca6ba047ac60013f8b5a2835c71e42aae5f0b04cfb78e229a59643ddaefc4ec9fecfcd7247d5bd344dcb4009c7f0e0c6d0b9f512e60c05e7b81420a03af3c5bd8f205d7393f6f32eaa0e4e51ae1a70ae3a8ffe04bbd576524fb1ea0b72930d03cc3e5d8762e7a2004ff0cb0202515c67fec1693ee7cd41d", + "padding" : "3026300e060a3262306530333032316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 393, + "comment" : "wrong oid", + "msg" : "48656c6c6f", + "sig" : "350274641f0d1af9b1574ad9c8b907ffcb5240825488a15f811abf56920c6b71d1c4d0fdec8322fbceedb2189bd7932738902830162171cb67243096ff0d42f7dddb3416eca5cd9b6a86e504a2351e4d87c75c2ab6bfdb005208afeb1cb6e542da32490aa5a0509db3926df6aec56fef56ebee5543d61f7cc3a35984a43c1a9d", + "padding" : "302e3016061236303836343830313635303330343032303105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 394, + "comment" : "longer oid", + "msg" : "48656c6c6f", + "sig" : "1ffcf9548a1c98d254f3be4aaa250650fb5f95d10b6468406c9a7498aa84213117b99a82f40727504f6a563bd471c1987aa45a13cd6b6a6c501a8e455516f29fb5cfe9e4703fb9529a06010a557353ca13efd3b1cbc7f0381a84e14690a54879f8c9a3da6d8aa19d3f372d7f1a87badcdd871179abe6bcbe1c18f4b38f87a3af", + "padding" : "30283010060c32623065303330323161303105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 395, + "comment" : "oid with modified node", + "msg" : "48656c6c6f", + "sig" : "17bd4b3bb00dd491d68c76810f5779e996eec04bc50606ad30166d9e26948c308ff766246cb5bbb362dc33129865a241a505332a0f46fcb882acead6c6bb5c1b8300381e3f9dcf89938b081e0c6106c51e8857252907d5b5998a0689335340b2d8bf186cd091753858f4c9f72faf4db828c3f23bb99fd1235d665b7703a9945d", + "padding" : "3026300e060a3262306530333032326105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 396, + "comment" : "oid with modified node", + "msg" : "48656c6c6f", + "sig" : "2bd908594b8677b6359473f30a827ced749a0b81e6bc060fc71f5ca8c54f26176394efc3b9dd34b6b425269afaf601a2402f5db7c1fbb95bf4d9a90f58af7dbf5c11e9993f3a6373df216dc9e51b25bbdca70e32f6a96cbe42d5efbf67f4c6cf64e0a5c6b5ee80aa0ff7976184a5ce33b7a7c2c8a079a207ba7b7e1c8a2ddf2b", + "padding" : "302e3016061232623065303330323838383038303830316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 397, + "comment" : "large integer in oid", + "msg" : "48656c6c6f", + "sig" : "13e8d2f76b24fac71cdfdf7bfc448ce55ca7a25b58feca2a51a3e9e40b3c75bad26a04e3799c66edd5871fd4dd62c7b35d0b062e1c0f7b05ba4b0e9c6635a40236abef106f3b3d862ff1bca0ee290f3283dd38c081db0df39573134d40693835f56b4b97387f3e3cc3fa3d9f9155611a5bd413d34857c774331223301e2d0207", + "padding" : "30383020061c3262306530333032383238303830383038303830383038303830316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 398, + "comment" : "oid with invalid node", + "msg" : "48656c6c6f", + "sig" : "1d847fccddad46487b0fcf75f743e9550e4c6e68fabe27e55374cf5ef9240bb37490041d24ae74bae0ac5e49196057cb150abcbaea8fabf3f936b0b2cf6d91c49f3bdaca01689b70fa34152580bcb22c67196c5b9634fb2f0d75f523fc7050a6134d870190e528cc18e6960d288e5b597930888a36ca4e6c455f5b88300ac160", + "padding" : "30293011060d3262306530333032316165303305000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 399, + "comment" : "oid with invalid node", + "msg" : "48656c6c6f", + "sig" : "4738deff4b32a30dd68b0abc1971dd2af9a500b5f6922558b96ac9b1ab4a50328b2ba9a48e7c207a02ddf642728930f4004d337483eaa0a01fb038a7a6c289672bdaf1016120f2faea563f179d3d623d3ec9bb5d936ea2a7f74d2bd70a06c83e904df55f5142c5c6b6f75221397dabcb19e069436b94ca764a5016141496503d", + "padding" : "3022300a06062b800e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 400, + "comment" : "appending 0's to null", + "msg" : "48656c6c6f", + "sig" : "977a5c762a4dcbe9551a4a0bcfe96114aa59187e6dd0164cbbec2d28ff9d11e413a1de7f274704c24229c99ce9b5a3d98872db56310be7259a2fa44e652c4d02f8802360d3a29ded2a7de0a183001e74b3aa3fe594867294461d6a23160481ecdee9c05c28ce066021847a23366cb147013f57ce53a24791dd1873527f1323f0", + "padding" : "3023300b06052b0e03021a050200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 401, + "comment" : "composed null", + "msg" : "48656c6c6f", + "sig" : "79a42d1f294f82bd6ad48818f1f634733fbefea7def5ea32a1ed56de994ac047011695a0c8a11813d042ee6784cb172da76aa0ed892e53d4bf99fc21301a91181e7c93a56646190aeeb4a1c212d34d17484521580d84adb41b2a5cc285963509d0c832e5a2252e5cb028839d9db7bdabb7689219b97d699277ed004ca6389b61", + "padding" : "3027300f06052b0e03021a2580aa00bb0000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 402, + "comment" : "appending 0's to digest", + "msg" : "48656c6c6f", + "sig" : "37ddb1b141539dfc350974039429b948cfd8acc40ecab7270b3e560f0876cec68fa22c8dbf09c8c25955819a5cfc6d251ab99cd06c013792207caa2ada95d4fc01a6d89329e211869c02c648a64b721e92ef3aa767569ba2f0c7c376772926a95ededa5d3f0ce10ab3b2b25f70fee1702dfedb0605ef6401f3f44c464ee98110", + "padding" : "3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 403, + "comment" : "prepending 0's to digest", + "msg" : "48656c6c6f", + "sig" : "85c2c430e7cc2e989e729186cb1256a5f7e78bbb6e135b36a43059389f57cc7fd67ccf20becc0d9e63731ae4ee77e926754ee5226991f9bd46203f7fb88562b00974dad035b1a0f39cba567dc0ed3cb3f7bf51326e62b0f82d8aaf8cc8dfb96c08c64235dc2a4f612bc29a8d4fb4b1edff1cd517d1c981a809ce9708a547a765", + "padding" : "3023300906052b0e03021a050004160000f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 404, + "comment" : "Replacing digest with NULL", + "msg" : "48656c6c6f", + "sig" : "5cd36e6403f666a5392101235b8f94dc80a87c03cffceaf72a9b6c37189bd028f94df3d6df776bc35f7090d2e0048d5e2ad327d4f6c4defe83538d7500b650aa47162e0d1536136a43cdc4cb9e12780496f696e781ede83fff94626f98d7f4d3c8ef865aa3d042b85a1c00b70c31757ab27c68f79bbb709e714a41558216ceaa", + "padding" : "300d300906052b0e03021a05000500", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 405, + "comment" : "dropping value of digest", + "msg" : "48656c6c6f", + "sig" : "708e3d4577c0ced7b4d729b5124169f67836738bc18f82537dbe1c9a48054769ed0888751a823eedd05408ed934a555655d473dcec0fb5c6f19aee82f1dedf3f4fa14171c3ccbd3f1f9920f233a21be4341134f25636cbdd55918e9da76568c3ba55c630ee3e9eaa4dba7bd989fe0534925d1c47592214eb4869bcd42b60c92d", + "padding" : "300d300906052b0e03021a05000400", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 406, + "comment" : "modify first byte of digest", + "msg" : "48656c6c6f", + "sig" : "82bc0a32f50b69da0533a0b7d966f86597c2685bbc9b44fc1d58518ef8c161efe6e6369945f1806ff709304c9f60430699b22c550d1f5f4d773c1d31667afbbc4cc824e75f0aab92d9d513e2f86f414d853e5dadf34893b6525765c11f67ca4b2dfae48584a760637016e3231fb89031d549ddbe6fa1bb90c7bc792e3f13f8a9", + "padding" : "3021300906052b0e03021a05000414f5ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 407, + "comment" : "modify last byte of digest", + "msg" : "48656c6c6f", + "sig" : "44b0c75a3abc8f2bd7575787b1349ddda91a5e432b85333030562e7c391344cb1e6dfe328f11491b92c2eefe38ee5fd8aefef2e02b0527fd35a9556e23dc9c1d6eb20bfe3b21bd8b2992c076d7c228821fe5b36f2af42d1c365f49219184c4ee11d2beac7dc08860cd57dc80484cc5702d49d1b9cf6e7cd3f7cccf05bf701c4b", + "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab70", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 408, + "comment" : "truncate digest", + "msg" : "48656c6c6f", + "sig" : "313624a0449c7f2f19878797dab59c91ed45ca0910aed355737635283d56edc7f470628e119a70f7d40b238e0ead042ec1c1c377272fa3ca975cc21eeec934f758ce70f19e00f592a0e5a4aad8e9956d9fd7dbbc126b6a001f20c42b517ba54511630382612f2bacb9711c87d9a19897c8c44f7905f548b558fada6a2c9912c7", + "padding" : "3020300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 409, + "comment" : "truncate digest", + "msg" : "48656c6c6f", + "sig" : "4a3539eaceb4691d856020b9acc11854892df705ad7994759dea2efe0c5384e8f86ebeb3f4360ab0bc7d35c8ca520c8d0a1c869f3979ddedbb60437e798332a0ef7a52ca86b430ebc6aa57114f6057c8f18066ca1483cbe8a8ad3a1e96476a21d53ac6f6a4e18ee965371ebe58184fdcec67f0d42cd16d6ce6800ec87978b759", + "padding" : "3020300906052b0e03021a05000413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 410, + "comment" : "wrong hash in padding", + "msg" : "48656c6c6f", + "sig" : "1d8eb339d60f873bf3dd07816dbd8a5b5e61805e26654e5a5869fcbef176a61a3b2c173778ce5fb7323dee2f4e42a272474576e8942ce04c66a17d2ccc093e529df580d047159f7c1266af51b7a7f07f43a28e309111540a80fa76b25b6d86f9d2fc99a28d1715567545509f80beb700fe9cfb82be7bc801794b7d32eb9b584d", + "padding" : "3024300c06082a864886f70d020505000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 411, + "comment" : "wrong hash in padding", + "msg" : "48656c6c6f", + "sig" : "949fecb83ddc236d3c622c9b6118fe0bf524080594c731636eb735e7d1285b5b6c527a2346b51c42fcf706184c4edd79ac98750dcf35973920aa19dee689cb7654b4785d2755b0dde4113c293e301f4e0331cf166bd8c7ae07031165fa4c02a3d6d70422fe42c7c6077a1f1dcbdc0de257363d51951ed1e2b8cb66684d42a8b4", + "padding" : "3025300d060960864801650304020105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 412, + "comment" : "wrong hash in padding", + "msg" : "48656c6c6f", + "sig" : "3b2ead8d64cf96e26db3ba9d1ff63a187a715d04e3a7dfcf6c85790896793bc19c0ea6c5266cd4ebc25b859a07ad6459942eb46f3efcb9adbc29f3fa5acf0013d5baf3089e3ec5cd3401ae282670d27493b0ee33e391a9d32283b224036405c9d61bbb470dc8a69762bc35483d3d26c1c8e16c311e5d3e284f1d51383ce7bdcb", + "padding" : "3025300d060960864801650304020205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 413, + "comment" : "wrong hash in padding", + "msg" : "48656c6c6f", + "sig" : "6b23ad94314f022d64a7b525aa933b7aef8184b66473572bf41c00f899dbeeb95755da7c749a0ce5cb09d3567ebd4ceb0033a1b16cfa13e85fd1745640a5306229a14a9c67c07f75058ad1dfebee25c44ba3bbf75fa053ef74717ea7f972dcf7d7d23901a3aed841e0ca419aa570a605e0d189d2b51ce3f00497c0bf16998ade", + "padding" : "3025300d060960864801650304020305000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 414, + "comment" : "wrong hash in signature", + "msg" : "48656c6c6f", + "sig" : "53ee28bf3582045ff9a6f7d813b9453fc5813245b198d98cb141f6f36202240746b9d3778006aa4cd3905bffed0fde38157d8e8809228871fb48037706ddaaebd31ecebe3dae0516539509bfaea18dc1fc3c7f29620f3214db5d70005e1323094aa8f94ac9d64d9d02ff2010178425027145740b40640a43ff24db043a7a2d2b", + "padding" : "3020300c06082a864886f70d0205050004108b1a9953c4611296a827abf8c47804d7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 415, + "comment" : "wrong hash in signature", + "msg" : "48656c6c6f", + "sig" : "171b1a7fa8cf97283809515866708d449f184d675613cbd33e91586f8e238946f860915f0fb6a390bc7cedfcf7d1621f49f3c6f39b7412d75660fbe3c2326c48399b7d41dfceeadabf0cbfc4b7dd756d8bdc38d28e80fb60e743fdf6d81973959d2c6b111fa0d8f3c9c8677c0c8030001b12f3e2c5990822154b1b762162dd7d", + "padding" : "3031300d060960864801650304020105000420185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 416, + "comment" : "wrong hash in signature", + "msg" : "48656c6c6f", + "sig" : "9810d39416595ad79cf376b41e6e5f94fb89f61ae78bc5a0c710fab15d369dd7f050b035e5c2b8cdfe10d06be739bae08b47afd0b7dd2b226905f3ee718ccd5b5fb5b951558a62d83a2f3ba5dd1990d2d3e05c461e33ccaa1bbc22350c3ca157351a5b88ad3b1f524fc5cec5c1714a8ab3ef709e462434a6048133846fd1d85b", + "padding" : "3041300d0609608648016503040202050004303519fe5ad2c596efe3e276a6f351b8fc0b03db861782490d45f7598ebd0ab5fd5520ed102f38c4a5ec834e98668035fc", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 417, + "comment" : "wrong hash in signature", + "msg" : "48656c6c6f", + "sig" : "57532194f33bfddba2e848b9342342114e2c6dcffe228cb97b72ac9e26b77cd336a6fa5c8152db0d536c6fb3cc48487a89cfcf42990593fd0dad420b46fa87ea2b9c9962025dcc2b8a6d5a0476408a62d9c276fb5eb8e97e5f1726918fef41c0d12ad420525a803d804002061c3bf355a3c4fee4ce42016cb0e0531d2657726d", + "padding" : "3051300d0609608648016503040203050004403615f80c9d293ed7402687f94b22d58e529b8cc7916f8fac7fddf7fbd5af4cf777d3d795a7a00a16bf7e7f3fb9561ee9baae480da9fe7a18769e71886b03f315", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 418, + "comment" : "using PKCS#1 encryption padding", + "msg" : "48656c6c6f", + "sig" : "572ecc55660cc4f8888559092f54e4ee0dc6a57d0722bcba6b608869bc0e86ed53f8d88180b40c006ff10dbf32ba2c6bf3558e22a688f7d68a6d38740b99dd2a2eaa6fc94fe9fa76a0bf775c0eca5751ce7837a3da3db7dc648fb94ed0def4996eb40e168d49417dfd82c86f2c586fc49dfa37a6335b8a76aee84c755610948b", + "padding" : "0002ff...00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 419, + "comment" : "using PKCS#1 encryption padding", + "msg" : "48656c6c6f", + "sig" : "849f48195c7ae50b762ff93e350bacdf52e3eef5f86dbec5115d74ccfb2c9a49cc91115f6935b71deb424865666ba070299e17e64c3ce5019e1481ee195cffb4fc1f92f026cea579bbe9f78d7c665dd7f65af7c3221bae50d5c0b50ede25a3993979d167a86db511b9ace4f11c331f892f06e72d17e934da9a83a3c703b3409b", + "padding" : "0002ff...00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 420, + "comment" : "invalid PKCS#1 signature padding", + "msg" : "48656c6c6f", + "sig" : "29b9b831e6694768910397fbe53e0a6868f75e3910d600e3421349bc4321d93067c78f6294b00e52e9c2fafdef67e0a460c3d76e6196fec6aab5c4964a4782c5da021466908d106193ec1b6b0bae4c9a5e3fcc4a355565c1dcfb76c489b4c3ad11b6f2182188470edf748eaf81646fcc164c60c1a55e9334076d8b5ce3d09808", + "padding" : "0001ff...ee00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 421, + "comment" : "PKCS#1 padding too short", + "msg" : "48656c6c6f", + "sig" : "583dc8ac657ac9d55c74b6505f1a7a4b2225c038f36cc66d76a7eb8c818195b138e8bb2b26ac5a01ce32aa3f590815f0ecdf693877bdb12c5dd55b947b91f83d66639874ca263d1227dd0b6531e3eedf0b1e87a92b8db4be7c3c40d70865f56c8e0b6cf6607d47ed44acff9c4360d65f847f4ae947a13e4a56dff1d11503bc9b", + "padding" : "000001ff...", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 422, + "comment" : "CVE-2017-11185", + "msg" : "48656c6c6f", + "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a17", + "padding" : "n", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 423, + "comment" : "invalid length", + "msg" : "48656c6c6f", + "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170000", + "padding" : "2 bytes too long", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 424, + "comment" : "empty signature", + "msg" : "48656c6c6f", + "sig" : "", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 425, + "comment" : "0", + "msg" : "48656c6c6f", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 426, + "comment" : "1", + "msg" : "48656c6c6f", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 427, + "comment" : "2", + "msg" : "48656c6c6f", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 428, + "comment" : "n-1", + "msg" : "48656c6c6f", + "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a16", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 429, + "comment" : "n+1", + "msg" : "48656c6c6f", + "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a18", + "padding" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 430, + "comment" : "-1", + "msg" : "48656c6c6f", + "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "padding" : "", + "result" : "invalid", + "flags" : [] + } + ] + } + ] +} diff --git a/lib27/site-packages/Crypto/SelfTest/Util/__init__.py b/lib27/site-packages/Crypto/SelfTest/Util/__init__.py new file mode 100644 index 000000000..fde6b0489 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Util/__init__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Util/__init__.py: Self-test for utility modules +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-test for utility modules""" + +__revision__ = "$Id$" + +import os + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest.Util import test_number; tests += test_number.get_tests(config=config) + from Crypto.SelfTest.Util import test_Counter; tests += test_Counter.get_tests(config=config) + from Crypto.SelfTest.Util import test_Padding; tests += test_Padding.get_tests(config=config) + from Crypto.SelfTest.Util import test_strxor; tests += test_strxor.get_tests(config=config) + from Crypto.SelfTest.Util import test_asn1; tests += test_asn1.get_tests(config=config) + return tests + +if __name__ == '__main__': + import unittest + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Util/test_Counter.py b/lib27/site-packages/Crypto/SelfTest/Util/test_Counter.py new file mode 100644 index 000000000..ff04bec8d --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Util/test_Counter.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Util/test_Counter: Self-test for the Crypto.Util.Counter module +# +# Written in 2009 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-tests for Crypto.Util.Counter""" + +from Crypto.Util.py3compat import * + +import unittest + +class CounterTests(unittest.TestCase): + def setUp(self): + global Counter + from Crypto.Util import Counter + + def test_BE(self): + """Big endian""" + c = Counter.new(128) + c = Counter.new(128, little_endian=False) + + def test_LE(self): + """Little endian""" + c = Counter.new(128, little_endian=True) + + def test_nbits(self): + c = Counter.new(nbits=128) + self.assertRaises(ValueError, Counter.new, 129) + + def test_prefix(self): + c = Counter.new(128, prefix=b("xx")) + + def test_suffix(self): + c = Counter.new(128, suffix=b("xx")) + + def test_iv(self): + c = Counter.new(128, initial_value=2) + +def get_tests(config={}): + from Crypto.SelfTest.st_common import list_test_cases + return list_test_cases(CounterTests) + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Util/test_Padding.py b/lib27/site-packages/Crypto/SelfTest/Util/test_Padding.py new file mode 100644 index 000000000..9b9efcaac --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Util/test_Padding.py @@ -0,0 +1,151 @@ +# +# SelfTest/Util/test_Padding.py: Self-test for padding functions +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify as uh + +from Crypto.Util.py3compat import * +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.Padding import pad, unpad + +class PKCS7_Tests(unittest.TestCase): + + def test1(self): + padded = pad(b(""), 4) + self.failUnless(padded == uh(b("04040404"))) + padded = pad(b(""), 4, 'pkcs7') + self.failUnless(padded == uh(b("04040404"))) + back = unpad(padded, 4) + self.failUnless(back == b("")) + + def test2(self): + padded = pad(uh(b("12345678")), 4) + self.failUnless(padded == uh(b("1234567804040404"))) + back = unpad(padded, 4) + self.failUnless(back == uh(b("12345678"))) + + def test3(self): + padded = pad(uh(b("123456")), 4) + self.failUnless(padded == uh(b("12345601"))) + back = unpad(padded, 4) + self.failUnless(back == uh(b("123456"))) + + def test4(self): + padded = pad(uh(b("1234567890")), 4) + self.failUnless(padded == uh(b("1234567890030303"))) + back = unpad(padded, 4) + self.failUnless(back == uh(b("1234567890"))) + + def testn1(self): + self.assertRaises(ValueError, pad, uh(b("12")), 4, 'pkcs8') + + def testn2(self): + self.assertRaises(ValueError, unpad, b("\0\0\0"), 4) + + def testn3(self): + self.assertRaises(ValueError, unpad, b("123456\x02"), 4) + self.assertRaises(ValueError, unpad, b("123456\x00"), 4) + self.assertRaises(ValueError, unpad, b("123456\x05\x05\x05\x05\x05"), 4) + +class X923_Tests(unittest.TestCase): + + def test1(self): + padded = pad(b(""), 4, 'x923') + self.failUnless(padded == uh(b("00000004"))) + back = unpad(padded, 4, 'x923') + self.failUnless(back == b("")) + + def test2(self): + padded = pad(uh(b("12345678")), 4, 'x923') + self.failUnless(padded == uh(b("1234567800000004"))) + back = unpad(padded, 4, 'x923') + self.failUnless(back == uh(b("12345678"))) + + def test3(self): + padded = pad(uh(b("123456")), 4, 'x923') + self.failUnless(padded == uh(b("12345601"))) + back = unpad(padded, 4, 'x923') + self.failUnless(back == uh(b("123456"))) + + def test4(self): + padded = pad(uh(b("1234567890")), 4, 'x923') + self.failUnless(padded == uh(b("1234567890000003"))) + back = unpad(padded, 4, 'x923') + self.failUnless(back == uh(b("1234567890"))) + + def testn1(self): + self.assertRaises(ValueError, unpad, b("123456\x02"), 4, 'x923') + self.assertRaises(ValueError, unpad, b("123456\x00"), 4, 'x923') + self.assertRaises(ValueError, unpad, b("123456\x00\x00\x00\x00\x05"), 4, 'x923') + +class ISO7816_Tests(unittest.TestCase): + + def test1(self): + padded = pad(b(""), 4, 'iso7816') + self.failUnless(padded == uh(b("80000000"))) + back = unpad(padded, 4, 'iso7816') + self.failUnless(back == b("")) + + def test2(self): + padded = pad(uh(b("12345678")), 4, 'iso7816') + self.failUnless(padded == uh(b("1234567880000000"))) + back = unpad(padded, 4, 'iso7816') + self.failUnless(back == uh(b("12345678"))) + + def test3(self): + padded = pad(uh(b("123456")), 4, 'iso7816') + self.failUnless(padded == uh(b("12345680"))) + #import pdb; pdb.set_trace() + back = unpad(padded, 4, 'iso7816') + self.failUnless(back == uh(b("123456"))) + + def test4(self): + padded = pad(uh(b("1234567890")), 4, 'iso7816') + self.failUnless(padded == uh(b("1234567890800000"))) + back = unpad(padded, 4, 'iso7816') + self.failUnless(back == uh(b("1234567890"))) + + def testn1(self): + self.assertRaises(ValueError, unpad, b("123456\x81"), 4, 'iso7816') + +def get_tests(config={}): + tests = [] + tests += list_test_cases(PKCS7_Tests) + tests += list_test_cases(X923_Tests) + tests += list_test_cases(ISO7816_Tests) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + diff --git a/lib27/site-packages/Crypto/SelfTest/Util/test_asn1.py b/lib27/site-packages/Crypto/SelfTest/Util/test_asn1.py new file mode 100644 index 000000000..5f22fff5d --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Util/test_asn1.py @@ -0,0 +1,779 @@ +# +# SelfTest/Util/test_asn.py: Self-test for the Crypto.Util.asn1 module +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Self-tests for Crypto.Util.asn1""" + +import unittest + +from Crypto.Util.py3compat import * +from Crypto.Util.asn1 import (DerObject, DerSetOf, DerInteger, + DerBitString, + DerObjectId, DerNull, DerOctetString, + DerSequence) + +class DerObjectTests(unittest.TestCase): + + def testObjInit1(self): + # Fail with invalid tag format (must be 1 byte) + self.assertRaises(ValueError, DerObject, b('\x00\x99')) + # Fail with invalid implicit tag (must be <0x1F) + self.assertRaises(ValueError, DerObject, 0x1F) + + # ------ + + def testObjEncode1(self): + # No payload + der = DerObject(b('\x02')) + self.assertEquals(der.encode(), b('\x02\x00')) + # Small payload (primitive) + der.payload = b('\x45') + self.assertEquals(der.encode(), b('\x02\x01\x45')) + # Invariant + self.assertEquals(der.encode(), b('\x02\x01\x45')) + # Initialize with numerical tag + der = DerObject(0x04) + der.payload = b('\x45') + self.assertEquals(der.encode(), b('\x04\x01\x45')) + # Initialize with constructed type + der = DerObject(b('\x10'), constructed=True) + self.assertEquals(der.encode(), b('\x30\x00')) + + def testObjEncode2(self): + # Initialize with payload + der = DerObject(0x03, b('\x12\x12')) + self.assertEquals(der.encode(), b('\x03\x02\x12\x12')) + + def testObjEncode3(self): + # Long payload + der = DerObject(b('\x10')) + der.payload = b("0")*128 + self.assertEquals(der.encode(), b('\x10\x81\x80' + "0"*128)) + + def testObjEncode4(self): + # Implicit tags (constructed) + der = DerObject(0x10, implicit=1, constructed=True) + der.payload = b('ppll') + self.assertEquals(der.encode(), b('\xa1\x04ppll')) + # Implicit tags (primitive) + der = DerObject(0x02, implicit=0x1E, constructed=False) + der.payload = b('ppll') + self.assertEquals(der.encode(), b('\x9E\x04ppll')) + + def testObjEncode5(self): + # Encode type with explicit tag + der = DerObject(0x10, explicit=5) + der.payload = b("xxll") + self.assertEqual(der.encode(), b("\xa5\x06\x10\x04xxll")) + + # ----- + + def testObjDecode1(self): + # Decode short payload + der = DerObject(0x02) + der.decode(b('\x02\x02\x01\x02')) + self.assertEquals(der.payload, b("\x01\x02")) + self.assertEquals(der._tag_octet, 0x02) + + def testObjDecode2(self): + # Decode long payload + der = DerObject(0x02) + der.decode(b('\x02\x81\x80' + "1"*128)) + self.assertEquals(der.payload, b("1")*128) + self.assertEquals(der._tag_octet, 0x02) + + def testObjDecode3(self): + # Decode payload with too much data gives error + der = DerObject(0x02) + self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02\xFF')) + # Decode payload with too little data gives error + der = DerObject(0x02) + self.assertRaises(ValueError, der.decode, b('\x02\x02\x01')) + + def testObjDecode4(self): + # Decode implicit tag (primitive) + der = DerObject(0x02, constructed=False, implicit=0xF) + self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02')) + der.decode(b('\x8F\x01\x00')) + self.assertEquals(der.payload, b('\x00')) + # Decode implicit tag (constructed) + der = DerObject(0x02, constructed=True, implicit=0xF) + self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02')) + der.decode(b('\xAF\x01\x00')) + self.assertEquals(der.payload, b('\x00')) + + def testObjDecode5(self): + # Decode payload with unexpected tag gives error + der = DerObject(0x02) + self.assertRaises(ValueError, der.decode, b('\x03\x02\x01\x02')) + + def testObjDecode6(self): + # Arbitrary DER object + der = DerObject() + der.decode(b('\x65\x01\x88')) + self.assertEquals(der._tag_octet, 0x65) + self.assertEquals(der.payload, b('\x88')) + + def testObjDecode7(self): + # Decode explicit tag + der = DerObject(0x10, explicit=5) + der.decode(b("\xa5\x06\x10\x04xxll")) + self.assertEquals(der._inner_tag_octet, 0x10) + self.assertEquals(der.payload, b('xxll')) + + # Explicit tag may be 0 + der = DerObject(0x10, explicit=0) + der.decode(b("\xa0\x06\x10\x04xxll")) + self.assertEquals(der._inner_tag_octet, 0x10) + self.assertEquals(der.payload, b('xxll')) + + def testObjDecode8(self): + # Verify that decode returns the object + der = DerObject(0x02) + self.assertEqual(der, der.decode(b('\x02\x02\x01\x02'))) + +class DerIntegerTests(unittest.TestCase): + + def testInit1(self): + der = DerInteger(1) + self.assertEquals(der.encode(), b('\x02\x01\x01')) + + def testEncode1(self): + # Single-byte integers + # Value 0 + der = DerInteger(0) + self.assertEquals(der.encode(), b('\x02\x01\x00')) + # Value 1 + der = DerInteger(1) + self.assertEquals(der.encode(), b('\x02\x01\x01')) + # Value 127 + der = DerInteger(127) + self.assertEquals(der.encode(), b('\x02\x01\x7F')) + + def testEncode2(self): + # Multi-byte integers + # Value 128 + der = DerInteger(128) + self.assertEquals(der.encode(), b('\x02\x02\x00\x80')) + # Value 0x180 + der = DerInteger(0x180) + self.assertEquals(der.encode(), b('\x02\x02\x01\x80')) + # One very long integer + der = DerInteger(2**2048) + self.assertEquals(der.encode(), + b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00')) + + def testEncode3(self): + # Negative integers + # Value -1 + der = DerInteger(-1) + self.assertEquals(der.encode(), b('\x02\x01\xFF')) + # Value -128 + der = DerInteger(-128) + self.assertEquals(der.encode(), b('\x02\x01\x80')) + # Value + der = DerInteger(-87873) + self.assertEquals(der.encode(), b('\x02\x03\xFE\xA8\xBF')) + + def testEncode4(self): + # Explicit encoding + number = DerInteger(0x34, explicit=3) + self.assertEquals(number.encode(), b('\xa3\x03\x02\x01\x34')) + + # ----- + + def testDecode1(self): + # Single-byte integer + der = DerInteger() + # Value 0 + der.decode(b('\x02\x01\x00')) + self.assertEquals(der.value, 0) + # Value 1 + der.decode(b('\x02\x01\x01')) + self.assertEquals(der.value, 1) + # Value 127 + der.decode(b('\x02\x01\x7F')) + self.assertEquals(der.value, 127) + + def testDecode2(self): + # Multi-byte integer + der = DerInteger() + # Value 0x180L + der.decode(b('\x02\x02\x01\x80')) + self.assertEquals(der.value,0x180) + # One very long integer + der.decode( + b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00')) + self.assertEquals(der.value,2**2048) + + def testDecode3(self): + # Negative integer + der = DerInteger() + # Value -1 + der.decode(b('\x02\x01\xFF')) + self.assertEquals(der.value, -1) + # Value -32768 + der.decode(b('\x02\x02\x80\x00')) + self.assertEquals(der.value, -32768) + + def testDecode5(self): + # We still accept BER integer format + der = DerInteger() + # Redundant leading zeroes + der.decode(b('\x02\x02\x00\x01')) + self.assertEquals(der.value, 1) + # Redundant leading 0xFF + der.decode(b('\x02\x02\xFF\xFF')) + self.assertEquals(der.value, -1) + # Empty payload + der.decode(b('\x02\x00')) + self.assertEquals(der.value, 0) + + def testDecode6(self): + # Explicit encoding + number = DerInteger(explicit=3) + number.decode(b('\xa3\x03\x02\x01\x34')) + self.assertEquals(number.value, 0x34) + + def testDecode7(self): + # Verify decode returns the DerInteger + der = DerInteger() + self.assertEquals(der, der.decode(b('\x02\x01\x7F'))) + + ### + + def testStrict1(self): + number = DerInteger() + + number.decode(b'\x02\x02\x00\x01') + number.decode(b'\x02\x02\x00\x7F') + self.assertRaises(ValueError, number.decode, b'\x02\x02\x00\x01', strict=True) + self.assertRaises(ValueError, number.decode, b'\x02\x02\x00\x7F', strict=True) + + ### + + def testErrDecode1(self): + # Wide length field + der = DerInteger() + self.assertRaises(ValueError, der.decode, b('\x02\x81\x01\x01')) + + +class DerSequenceTests(unittest.TestCase): + + def testInit1(self): + der = DerSequence([1, DerInteger(2), b('0\x00')]) + self.assertEquals(der.encode(), b('0\x08\x02\x01\x01\x02\x01\x020\x00')) + + def testEncode1(self): + # Empty sequence + der = DerSequence() + self.assertEquals(der.encode(), b('0\x00')) + self.failIf(der.hasOnlyInts()) + # One single-byte integer (zero) + der.append(0) + self.assertEquals(der.encode(), b('0\x03\x02\x01\x00')) + self.assertEquals(der.hasInts(),1) + self.assertEquals(der.hasInts(False),1) + self.failUnless(der.hasOnlyInts()) + self.failUnless(der.hasOnlyInts(False)) + # Invariant + self.assertEquals(der.encode(), b('0\x03\x02\x01\x00')) + + def testEncode2(self): + # Indexing + der = DerSequence() + der.append(0) + der[0] = 1 + self.assertEquals(len(der),1) + self.assertEquals(der[0],1) + self.assertEquals(der[-1],1) + self.assertEquals(der.encode(), b('0\x03\x02\x01\x01')) + # + der[:] = [1] + self.assertEquals(len(der),1) + self.assertEquals(der[0],1) + self.assertEquals(der.encode(), b('0\x03\x02\x01\x01')) + + def testEncode3(self): + # One multi-byte integer (non-zero) + der = DerSequence() + der.append(0x180) + self.assertEquals(der.encode(), b('0\x04\x02\x02\x01\x80')) + + def testEncode4(self): + # One very long integer + der = DerSequence() + der.append(2**2048) + self.assertEquals(der.encode(), b('0\x82\x01\x05')+ + b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00')) + + def testEncode5(self): + der = DerSequence() + der += 1 + der += b('\x30\x00') + self.assertEquals(der.encode(), b('\x30\x05\x02\x01\x01\x30\x00')) + + def testEncode6(self): + # Two positive integers + der = DerSequence() + der.append(0x180) + der.append(0xFF) + self.assertEquals(der.encode(), b('0\x08\x02\x02\x01\x80\x02\x02\x00\xff')) + self.failUnless(der.hasOnlyInts()) + self.failUnless(der.hasOnlyInts(False)) + # Two mixed integers + der = DerSequence() + der.append(2) + der.append(-2) + self.assertEquals(der.encode(), b('0\x06\x02\x01\x02\x02\x01\xFE')) + self.assertEquals(der.hasInts(), 1) + self.assertEquals(der.hasInts(False), 2) + self.failIf(der.hasOnlyInts()) + self.failUnless(der.hasOnlyInts(False)) + # + der.append(0x01) + der[1:] = [9,8] + self.assertEquals(len(der),3) + self.assertEqual(der[1:],[9,8]) + self.assertEqual(der[1:-1],[9]) + self.assertEquals(der.encode(), b('0\x09\x02\x01\x02\x02\x01\x09\x02\x01\x08')) + + def testEncode7(self): + # One integer and another type (already encoded) + der = DerSequence() + der.append(0x180) + der.append(b('0\x03\x02\x01\x05')) + self.assertEquals(der.encode(), b('0\x09\x02\x02\x01\x800\x03\x02\x01\x05')) + self.failIf(der.hasOnlyInts()) + + def testEncode8(self): + # One integer and another type (yet to encode) + der = DerSequence() + der.append(0x180) + der.append(DerSequence([5])) + self.assertEquals(der.encode(), b('0\x09\x02\x02\x01\x800\x03\x02\x01\x05')) + self.failIf(der.hasOnlyInts()) + + #### + + def testDecode1(self): + # Empty sequence + der = DerSequence() + der.decode(b('0\x00')) + self.assertEquals(len(der),0) + # One single-byte integer (zero) + der.decode(b('0\x03\x02\x01\x00')) + self.assertEquals(len(der),1) + self.assertEquals(der[0],0) + # Invariant + der.decode(b('0\x03\x02\x01\x00')) + self.assertEquals(len(der),1) + self.assertEquals(der[0],0) + + def testDecode2(self): + # One single-byte integer (non-zero) + der = DerSequence() + der.decode(b('0\x03\x02\x01\x7f')) + self.assertEquals(len(der),1) + self.assertEquals(der[0],127) + + def testDecode4(self): + # One very long integer + der = DerSequence() + der.decode(b('0\x82\x01\x05')+ + b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ + b('\x00\x00\x00\x00\x00\x00\x00\x00\x00')) + self.assertEquals(len(der),1) + self.assertEquals(der[0],2**2048) + + def testDecode6(self): + # Two integers + der = DerSequence() + der.decode(b('0\x08\x02\x02\x01\x80\x02\x02\x00\xff')) + self.assertEquals(len(der),2) + self.assertEquals(der[0],0x180) + self.assertEquals(der[1],0xFF) + + def testDecode7(self): + # One integer and 2 other types + der = DerSequence() + der.decode(b('0\x0A\x02\x02\x01\x80\x24\x02\xb6\x63\x12\x00')) + self.assertEquals(len(der),3) + self.assertEquals(der[0],0x180) + self.assertEquals(der[1],b('\x24\x02\xb6\x63')) + self.assertEquals(der[2],b('\x12\x00')) + + def testDecode8(self): + # Only 2 other types + der = DerSequence() + der.decode(b('0\x06\x24\x02\xb6\x63\x12\x00')) + self.assertEquals(len(der),2) + self.assertEquals(der[0],b('\x24\x02\xb6\x63')) + self.assertEquals(der[1],b('\x12\x00')) + self.assertEquals(der.hasInts(), 0) + self.assertEquals(der.hasInts(False), 0) + self.failIf(der.hasOnlyInts()) + self.failIf(der.hasOnlyInts(False)) + + def testDecode9(self): + # Verify that decode returns itself + der = DerSequence() + self.assertEqual(der, der.decode(b('0\x06\x24\x02\xb6\x63\x12\x00'))) + + ### + + def testErrDecode1(self): + # Not a sequence + der = DerSequence() + self.assertRaises(ValueError, der.decode, b('')) + self.assertRaises(ValueError, der.decode, b('\x00')) + self.assertRaises(ValueError, der.decode, b('\x30')) + + def testErrDecode2(self): + der = DerSequence() + # Too much data + self.assertRaises(ValueError, der.decode, b('\x30\x00\x00')) + + def testErrDecode3(self): + # Wrong length format + der = DerSequence() + # Missing length in sub-item + self.assertRaises(ValueError, der.decode, b('\x30\x04\x02\x01\x01\x00')) + # Valid BER, but invalid DER length + self.assertRaises(ValueError, der.decode, b('\x30\x81\x03\x02\x01\x01')) + self.assertRaises(ValueError, der.decode, b('\x30\x04\x02\x81\x01\x01')) + + def test_expected_nr_elements(self): + der_bin = DerSequence([1, 2, 3]).encode() + + DerSequence().decode(der_bin, nr_elements=3) + DerSequence().decode(der_bin, nr_elements=(2,3)) + self.assertRaises(ValueError, DerSequence().decode, der_bin, nr_elements=1) + self.assertRaises(ValueError, DerSequence().decode, der_bin, nr_elements=(4,5)) + + def test_expected_only_integers(self): + + der_bin1 = DerSequence([1, 2, 3]).encode() + der_bin2 = DerSequence([1, 2, DerSequence([3, 4])]).encode() + + DerSequence().decode(der_bin1, only_ints_expected=True) + DerSequence().decode(der_bin1, only_ints_expected=False) + DerSequence().decode(der_bin2, only_ints_expected=False) + self.assertRaises(ValueError, DerSequence().decode, der_bin2, only_ints_expected=True) + + +class DerOctetStringTests(unittest.TestCase): + + def testInit1(self): + der = DerOctetString(b('\xFF')) + self.assertEquals(der.encode(), b('\x04\x01\xFF')) + + def testEncode1(self): + # Empty sequence + der = DerOctetString() + self.assertEquals(der.encode(), b('\x04\x00')) + # Small payload + der.payload = b('\x01\x02') + self.assertEquals(der.encode(), b('\x04\x02\x01\x02')) + + #### + + def testDecode1(self): + # Empty sequence + der = DerOctetString() + der.decode(b('\x04\x00')) + self.assertEquals(der.payload, b('')) + # Small payload + der.decode(b('\x04\x02\x01\x02')) + self.assertEquals(der.payload, b('\x01\x02')) + + def testDecode2(self): + # Verify that decode returns the object + der = DerOctetString() + self.assertEqual(der, der.decode(b('\x04\x00'))) + + def testErrDecode1(self): + # No leftovers allowed + der = DerOctetString() + self.assertRaises(ValueError, der.decode, b('\x04\x01\x01\xff')) + +class DerNullTests(unittest.TestCase): + + def testEncode1(self): + der = DerNull() + self.assertEquals(der.encode(), b('\x05\x00')) + + #### + + def testDecode1(self): + # Empty sequence + der = DerNull() + self.assertEquals(der, der.decode(b('\x05\x00'))) + +class DerObjectIdTests(unittest.TestCase): + + def testInit1(self): + der = DerObjectId("1.1") + self.assertEquals(der.encode(), b('\x06\x01)')) + + def testEncode1(self): + der = DerObjectId('1.2.840.113549.1.1.1') + self.assertEquals(der.encode(), b('\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01')) + # + der = DerObjectId() + der.value = '1.2.840.113549.1.1.1' + self.assertEquals(der.encode(), b('\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01')) + + #### + + def testDecode1(self): + # Empty sequence + der = DerObjectId() + der.decode(b('\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01')) + self.assertEquals(der.value, '1.2.840.113549.1.1.1') + + def testDecode2(self): + # Verify that decode returns the object + der = DerObjectId() + self.assertEquals(der, + der.decode(b('\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01'))) + + +class DerBitStringTests(unittest.TestCase): + + def testInit1(self): + der = DerBitString(b("\xFF")) + self.assertEquals(der.encode(), b('\x03\x02\x00\xFF')) + + def testInit2(self): + der = DerBitString(DerInteger(1)) + self.assertEquals(der.encode(), b('\x03\x04\x00\x02\x01\x01')) + + def testEncode1(self): + # Empty sequence + der = DerBitString() + self.assertEquals(der.encode(), b('\x03\x01\x00')) + # Small payload + der = DerBitString(b('\x01\x02')) + self.assertEquals(der.encode(), b('\x03\x03\x00\x01\x02')) + # Small payload + der = DerBitString() + der.value = b('\x01\x02') + self.assertEquals(der.encode(), b('\x03\x03\x00\x01\x02')) + + #### + + def testDecode1(self): + # Empty sequence + der = DerBitString() + der.decode(b('\x03\x00')) + self.assertEquals(der.value, b('')) + # Small payload + der.decode(b('\x03\x03\x00\x01\x02')) + self.assertEquals(der.value, b('\x01\x02')) + + def testDecode2(self): + # Verify that decode returns the object + der = DerBitString() + self.assertEquals(der, der.decode(b('\x03\x00'))) + + +class DerSetOfTests(unittest.TestCase): + + def testInit1(self): + der = DerSetOf([DerInteger(1), DerInteger(2)]) + self.assertEquals(der.encode(), b('1\x06\x02\x01\x01\x02\x01\x02')) + + def testEncode1(self): + # Empty set + der = DerSetOf() + self.assertEquals(der.encode(), b('1\x00')) + # One single-byte integer (zero) + der.add(0) + self.assertEquals(der.encode(), b('1\x03\x02\x01\x00')) + # Invariant + self.assertEquals(der.encode(), b('1\x03\x02\x01\x00')) + + def testEncode2(self): + # Two integers + der = DerSetOf() + der.add(0x180) + der.add(0xFF) + self.assertEquals(der.encode(), b('1\x08\x02\x02\x00\xff\x02\x02\x01\x80')) + # Initialize with integers + der = DerSetOf([0x180, 0xFF]) + self.assertEquals(der.encode(), b('1\x08\x02\x02\x00\xff\x02\x02\x01\x80')) + + def testEncode3(self): + # One integer and another type (no matter what it is) + der = DerSetOf() + der.add(0x180) + self.assertRaises(ValueError, der.add, b('\x00\x02\x00\x00')) + + def testEncode4(self): + # Only non integers + der = DerSetOf() + der.add(b('\x01\x00')) + der.add(b('\x01\x01\x01')) + self.assertEquals(der.encode(), b('1\x05\x01\x00\x01\x01\x01')) + + #### + + def testDecode1(self): + # Empty sequence + der = DerSetOf() + der.decode(b('1\x00')) + self.assertEquals(len(der),0) + # One single-byte integer (zero) + der.decode(b('1\x03\x02\x01\x00')) + self.assertEquals(len(der),1) + self.assertEquals(list(der),[0]) + + def testDecode2(self): + # Two integers + der = DerSetOf() + der.decode(b('1\x08\x02\x02\x01\x80\x02\x02\x00\xff')) + self.assertEquals(len(der),2) + l = list(der) + self.failUnless(0x180 in l) + self.failUnless(0xFF in l) + + def testDecode3(self): + # One integer and 2 other types + der = DerSetOf() + #import pdb; pdb.set_trace() + self.assertRaises(ValueError, der.decode, + b('0\x0A\x02\x02\x01\x80\x24\x02\xb6\x63\x12\x00')) + + def testDecode4(self): + # Verify that decode returns the object + der = DerSetOf() + self.assertEquals(der, + der.decode(b('1\x08\x02\x02\x01\x80\x02\x02\x00\xff'))) + + ### + + def testErrDecode1(self): + # No leftovers allowed + der = DerSetOf() + self.assertRaises(ValueError, der.decode, + b('1\x08\x02\x02\x01\x80\x02\x02\x00\xff\xAA')) + +def get_tests(config={}): + from Crypto.SelfTest.st_common import list_test_cases + listTests = [] + listTests += list_test_cases(DerObjectTests) + listTests += list_test_cases(DerIntegerTests) + listTests += list_test_cases(DerSequenceTests) + listTests += list_test_cases(DerOctetStringTests) + listTests += list_test_cases(DerNullTests) + listTests += list_test_cases(DerObjectIdTests) + listTests += list_test_cases(DerBitStringTests) + listTests += list_test_cases(DerSetOfTests) + return listTests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Util/test_number.py b/lib27/site-packages/Crypto/SelfTest/Util/test_number.py new file mode 100644 index 000000000..14ff8a50e --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Util/test_number.py @@ -0,0 +1,143 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/Util/test_number.py: Self-test for parts of the Crypto.Util.number module +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self-tests for (some of) Crypto.Util.number""" + +from Crypto.Util.py3compat import * + +import unittest + +class MyError(Exception): + """Dummy exception used for tests""" + +# NB: In some places, we compare tuples instead of just output values so that +# if any inputs cause a test failure, we'll be able to tell which ones. + +class MiscTests(unittest.TestCase): + def setUp(self): + global number, math + from Crypto.Util import number + import math + + def test_ceil_div(self): + """Util.number.ceil_div""" + self.assertRaises(TypeError, number.ceil_div, "1", 1) + self.assertRaises(ZeroDivisionError, number.ceil_div, 1, 0) + self.assertRaises(ZeroDivisionError, number.ceil_div, -1, 0) + + # b = 1 + self.assertEqual(0, number.ceil_div(0, 1)) + self.assertEqual(1, number.ceil_div(1, 1)) + self.assertEqual(2, number.ceil_div(2, 1)) + self.assertEqual(3, number.ceil_div(3, 1)) + + # b = 2 + self.assertEqual(0, number.ceil_div(0, 2)) + self.assertEqual(1, number.ceil_div(1, 2)) + self.assertEqual(1, number.ceil_div(2, 2)) + self.assertEqual(2, number.ceil_div(3, 2)) + self.assertEqual(2, number.ceil_div(4, 2)) + self.assertEqual(3, number.ceil_div(5, 2)) + + # b = 3 + self.assertEqual(0, number.ceil_div(0, 3)) + self.assertEqual(1, number.ceil_div(1, 3)) + self.assertEqual(1, number.ceil_div(2, 3)) + self.assertEqual(1, number.ceil_div(3, 3)) + self.assertEqual(2, number.ceil_div(4, 3)) + self.assertEqual(2, number.ceil_div(5, 3)) + self.assertEqual(2, number.ceil_div(6, 3)) + self.assertEqual(3, number.ceil_div(7, 3)) + + # b = 4 + self.assertEqual(0, number.ceil_div(0, 4)) + self.assertEqual(1, number.ceil_div(1, 4)) + self.assertEqual(1, number.ceil_div(2, 4)) + self.assertEqual(1, number.ceil_div(3, 4)) + self.assertEqual(1, number.ceil_div(4, 4)) + self.assertEqual(2, number.ceil_div(5, 4)) + self.assertEqual(2, number.ceil_div(6, 4)) + self.assertEqual(2, number.ceil_div(7, 4)) + self.assertEqual(2, number.ceil_div(8, 4)) + self.assertEqual(3, number.ceil_div(9, 4)) + + def test_getStrongPrime(self): + """Util.number.getStrongPrime""" + self.assertRaises(ValueError, number.getStrongPrime, 256) + self.assertRaises(ValueError, number.getStrongPrime, 513) + bits = 512 + x = number.getStrongPrime(bits) + self.assertNotEqual(x % 2, 0) + self.assertEqual(x > (1 << bits-1)-1, 1) + self.assertEqual(x < (1 << bits), 1) + e = 2**16+1 + x = number.getStrongPrime(bits, e) + self.assertEqual(number.GCD(x-1, e), 1) + self.assertNotEqual(x % 2, 0) + self.assertEqual(x > (1 << bits-1)-1, 1) + self.assertEqual(x < (1 << bits), 1) + e = 2**16+2 + x = number.getStrongPrime(bits, e) + self.assertEqual(number.GCD((x-1)>>1, e), 1) + self.assertNotEqual(x % 2, 0) + self.assertEqual(x > (1 << bits-1)-1, 1) + self.assertEqual(x < (1 << bits), 1) + + def test_isPrime(self): + """Util.number.isPrime""" + self.assertEqual(number.isPrime(-3), False) # Regression test: negative numbers should not be prime + self.assertEqual(number.isPrime(-2), False) # Regression test: negative numbers should not be prime + self.assertEqual(number.isPrime(1), False) # Regression test: isPrime(1) caused some versions of PyCrypto to crash. + self.assertEqual(number.isPrime(2), True) + self.assertEqual(number.isPrime(3), True) + self.assertEqual(number.isPrime(4), False) + self.assertEqual(number.isPrime(2**1279-1), True) + self.assertEqual(number.isPrime(-(2**1279-1)), False) # Regression test: negative numbers should not be prime + # test some known gmp pseudo-primes taken from + # http://www.trnicely.net/misc/mpzspsp.html + for composite in (43 * 127 * 211, 61 * 151 * 211, 15259 * 30517, + 346141 * 692281, 1007119 * 2014237, 3589477 * 7178953, + 4859419 * 9718837, 2730439 * 5460877, + 245127919 * 490255837, 963939391 * 1927878781, + 4186358431 * 8372716861, 1576820467 * 3153640933): + self.assertEqual(number.isPrime(int(composite)), False) + + def test_size(self): + self.assertEqual(number.size(2),2) + self.assertEqual(number.size(3),2) + self.assertEqual(number.size(0xa2),8) + self.assertEqual(number.size(0xa2ba40),8*3) + self.assertEqual(number.size(0xa2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5), 1024) + + +def get_tests(config={}): + from Crypto.SelfTest.st_common import list_test_cases + tests = list_test_cases(MiscTests) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/Util/test_strxor.py b/lib27/site-packages/Crypto/SelfTest/Util/test_strxor.py new file mode 100644 index 000000000..c3f7d99d7 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/Util/test_strxor.py @@ -0,0 +1,295 @@ +# +# SelfTest/Util/test_strxor.py: Self-test for XORing +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import unittest +from binascii import unhexlify, hexlify + +from Crypto.SelfTest.st_common import list_test_cases +from Crypto.Util.strxor import strxor, strxor_c + + +class StrxorTests(unittest.TestCase): + + def test1(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term2 = unhexlify(b"383d4ba020573314395b") + result = unhexlify(b"c70ed123c59a7fcb6f12") + self.assertEqual(strxor(term1, term2), result) + self.assertEqual(strxor(term2, term1), result) + + def test2(self): + es = b"" + self.assertEqual(strxor(es, es), es) + + def test3(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + all_zeros = b"\x00" * len(term1) + self.assertEqual(strxor(term1, term1), all_zeros) + + def test_wrong_length(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term2 = unhexlify(b"ff339a83e5cd4cdf564990") + self.assertRaises(ValueError, strxor, term1, term2) + + def test_bytearray(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term1_ba = bytearray(term1) + term2 = unhexlify(b"383d4ba020573314395b") + result = unhexlify(b"c70ed123c59a7fcb6f12") + + self.assertEqual(strxor(term1_ba, term2), result) + + def test_memoryview(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term1_mv = memoryview(term1) + term2 = unhexlify(b"383d4ba020573314395b") + result = unhexlify(b"c70ed123c59a7fcb6f12") + + self.assertEqual(strxor(term1_mv, term2), result) + + def test_output_bytearray(self): + """Verify result can be stored in pre-allocated memory""" + + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term2 = unhexlify(b"383d4ba020573314395b") + original_term1 = term1[:] + original_term2 = term2[:] + expected_xor = unhexlify(b"c70ed123c59a7fcb6f12") + output = bytearray(len(term1)) + + result = strxor(term1, term2, output=output) + + self.assertEqual(result, None) + self.assertEqual(output, expected_xor) + self.assertEqual(term1, original_term1) + self.assertEqual(term2, original_term2) + + def test_output_memoryview(self): + """Verify result can be stored in pre-allocated memory""" + + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term2 = unhexlify(b"383d4ba020573314395b") + original_term1 = term1[:] + original_term2 = term2[:] + expected_xor = unhexlify(b"c70ed123c59a7fcb6f12") + output = memoryview(bytearray(len(term1))) + + result = strxor(term1, term2, output=output) + + self.assertEqual(result, None) + self.assertEqual(output, expected_xor) + self.assertEqual(term1, original_term1) + self.assertEqual(term2, original_term2) + + def test_output_overlapping_bytearray(self): + """Verify result can be stored in overlapping memory""" + + term1 = bytearray(unhexlify(b"ff339a83e5cd4cdf5649")) + term2 = unhexlify(b"383d4ba020573314395b") + original_term2 = term2[:] + expected_xor = unhexlify(b"c70ed123c59a7fcb6f12") + + result = strxor(term1, term2, output=term1) + + self.assertEqual(result, None) + self.assertEqual(term1, expected_xor) + self.assertEqual(term2, original_term2) + + def test_output_overlapping_memoryview(self): + """Verify result can be stored in overlapping memory""" + + term1 = memoryview(bytearray(unhexlify(b"ff339a83e5cd4cdf5649"))) + term2 = unhexlify(b"383d4ba020573314395b") + original_term2 = term2[:] + expected_xor = unhexlify(b"c70ed123c59a7fcb6f12") + + result = strxor(term1, term2, output=term1) + + self.assertEqual(result, None) + self.assertEqual(term1, expected_xor) + self.assertEqual(term2, original_term2) + + def test_output_ro_bytes(self): + """Verify result cannot be stored in read-only memory""" + + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term2 = unhexlify(b"383d4ba020573314395b") + + self.assertRaises(TypeError, strxor, term1, term2, output=term1) + + def test_output_ro_memoryview(self): + """Verify result cannot be stored in read-only memory""" + + term1 = memoryview(unhexlify(b"ff339a83e5cd4cdf5649")) + term2 = unhexlify(b"383d4ba020573314395b") + + self.assertRaises(TypeError, strxor, term1, term2, output=term1) + + def test_output_incorrect_length(self): + """Verify result cannot be stored in memory of incorrect length""" + + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term2 = unhexlify(b"383d4ba020573314395b") + output = bytearray(len(term1) - 1) + + self.assertRaises(ValueError, strxor, term1, term2, output=output) + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + del test_output_memoryview + del test_output_overlapping_memoryview + del test_output_ro_memoryview + + +class Strxor_cTests(unittest.TestCase): + + def test1(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + result = unhexlify(b"be72dbc2a48c0d9e1708") + self.assertEqual(strxor_c(term1, 65), result) + + def test2(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + self.assertEqual(strxor_c(term1, 0), term1) + + def test3(self): + self.assertEqual(strxor_c(b"", 90), b"") + + def test_wrong_range(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + self.assertRaises(ValueError, strxor_c, term1, -1) + self.assertRaises(ValueError, strxor_c, term1, 256) + + def test_bytearray(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term1_ba = bytearray(term1) + result = unhexlify(b"be72dbc2a48c0d9e1708") + + self.assertEqual(strxor_c(term1_ba, 65), result) + + def test_memoryview(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + term1_mv = memoryview(term1) + result = unhexlify(b"be72dbc2a48c0d9e1708") + + self.assertEqual(strxor_c(term1_mv, 65), result) + + def test_output_bytearray(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + original_term1 = term1[:] + expected_result = unhexlify(b"be72dbc2a48c0d9e1708") + output = bytearray(len(term1)) + + result = strxor_c(term1, 65, output=output) + + self.assertEqual(result, None) + self.assertEqual(output, expected_result) + self.assertEqual(term1, original_term1) + + def test_output_memoryview(self): + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + original_term1 = term1[:] + expected_result = unhexlify(b"be72dbc2a48c0d9e1708") + output = memoryview(bytearray(len(term1))) + + result = strxor_c(term1, 65, output=output) + + self.assertEqual(result, None) + self.assertEqual(output, expected_result) + self.assertEqual(term1, original_term1) + + def test_output_overlapping_bytearray(self): + """Verify result can be stored in overlapping memory""" + + term1 = bytearray(unhexlify(b"ff339a83e5cd4cdf5649")) + expected_xor = unhexlify(b"be72dbc2a48c0d9e1708") + + result = strxor_c(term1, 65, output=term1) + + self.assertEqual(result, None) + self.assertEqual(term1, expected_xor) + + def test_output_overlapping_memoryview(self): + """Verify result can be stored in overlapping memory""" + + term1 = memoryview(bytearray(unhexlify(b"ff339a83e5cd4cdf5649"))) + expected_xor = unhexlify(b"be72dbc2a48c0d9e1708") + + result = strxor_c(term1, 65, output=term1) + + self.assertEqual(result, None) + self.assertEqual(term1, expected_xor) + + def test_output_ro_bytes(self): + """Verify result cannot be stored in read-only memory""" + + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + + self.assertRaises(TypeError, strxor_c, term1, 65, output=term1) + + def test_output_ro_memoryview(self): + """Verify result cannot be stored in read-only memory""" + + term1 = memoryview(unhexlify(b"ff339a83e5cd4cdf5649")) + term2 = unhexlify(b"383d4ba020573314395b") + + self.assertRaises(TypeError, strxor_c, term1, 65, output=term1) + + def test_output_incorrect_length(self): + """Verify result cannot be stored in memory of incorrect length""" + + term1 = unhexlify(b"ff339a83e5cd4cdf5649") + output = bytearray(len(term1) - 1) + + self.assertRaises(ValueError, strxor_c, term1, 65, output=output) + + + import sys + if sys.version[:3] == "2.6": + del test_memoryview + del test_output_memoryview + del test_output_overlapping_memoryview + del test_output_ro_memoryview + + +def get_tests(config={}): + tests = [] + tests += list_test_cases(StrxorTests) + tests += list_test_cases(Strxor_cTests) + return tests + + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') diff --git a/lib27/site-packages/Crypto/SelfTest/__init__.py b/lib27/site-packages/Crypto/SelfTest/__init__.py new file mode 100644 index 000000000..bc34f4a8c --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/__init__.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/__init__.py: Self-test for PyCrypto +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Self tests + +These tests should perform quickly and can ideally be used every time an +application runs. +""" + +__revision__ = "$Id$" + +import sys +import unittest +from Crypto.Util.py3compat import BytesIO + +class SelfTestError(Exception): + def __init__(self, message, result): + Exception.__init__(self, message, result) + self.message = message + self.result = result + +def run(module=None, verbosity=0, stream=None, tests=None, config=None, **kwargs): + """Execute self-tests. + + This raises SelfTestError if any test is unsuccessful. + + You may optionally pass in a sub-module of SelfTest if you only want to + perform some of the tests. For example, the following would test only the + hash modules: + + Crypto.SelfTest.run(Crypto.SelfTest.Hash) + + """ + + if config is None: + config = {} + suite = unittest.TestSuite() + if module is None: + if tests is None: + tests = get_tests(config=config) + suite.addTests(tests) + else: + if tests is None: + suite.addTests(module.get_tests(config=config)) + else: + raise ValueError("'module' and 'tests' arguments are mutually exclusive") + if stream is None: + kwargs['stream'] = BytesIO() + else: + kwargs['stream'] = stream + runner = unittest.TextTestRunner(verbosity=verbosity, **kwargs) + result = runner.run(suite) + if not result.wasSuccessful(): + if stream is None: + sys.stderr.write(kwargs['stream'].getvalue()) + raise SelfTestError("Self-test failed", result) + return result + +def get_tests(config={}): + tests = [] + from Crypto.SelfTest import Cipher; tests += Cipher.get_tests(config=config) + from Crypto.SelfTest import Hash; tests += Hash.get_tests(config=config) + from Crypto.SelfTest import Protocol; tests += Protocol.get_tests(config=config) + from Crypto.SelfTest import PublicKey; tests += PublicKey.get_tests(config=config) + from Crypto.SelfTest import Random; tests += Random.get_tests(config=config) + from Crypto.SelfTest import Util; tests += Util.get_tests(config=config) + from Crypto.SelfTest import Signature; tests += Signature.get_tests(config=config) + from Crypto.SelfTest import IO; tests += IO.get_tests(config=config) + from Crypto.SelfTest import Math; tests += Math.get_tests(config=config) + return tests + +if __name__ == '__main__': + suite = lambda: unittest.TestSuite(get_tests()) + unittest.main(defaultTest='suite') + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/SelfTest/__main__.py b/lib27/site-packages/Crypto/SelfTest/__main__.py new file mode 100644 index 000000000..9ab0912a2 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/__main__.py @@ -0,0 +1,38 @@ +#! /usr/bin/env python +# +# __main__.py : Stand-along loader for PyCryptodome test suite +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from __future__ import print_function + +import sys + +from Crypto import SelfTest + +slow_tests = not "--skip-slow-tests" in sys.argv +if not slow_tests: + print("Skipping slow tests") + +wycheproof_warnings = "--wycheproof-warnings" in sys.argv +if wycheproof_warnings: + print("Printing Wycheproof warnings") + +config = {'slow_tests' : slow_tests, 'wycheproof_warnings' : wycheproof_warnings } +SelfTest.run(stream=sys.stdout, verbosity=1, config=config) diff --git a/lib27/site-packages/Crypto/SelfTest/loader.py b/lib27/site-packages/Crypto/SelfTest/loader.py new file mode 100644 index 000000000..733665c7a --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/loader.py @@ -0,0 +1,119 @@ +# =================================================================== +# +# Copyright (c) 2016, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import re +import sys +import binascii + +from Crypto.Util._file_system import pycryptodome_filename + + +def _load_tests(dir_comps, file_in, description, conversions): + """Load and parse a test vector file + + Return a list of objects, one per group of adjacent + KV lines or for a single line in the form "[.*]". + + For a group of lines, the object has one attribute per line. + """ + + line_number = 0 + results = [] + + class TestVector(object): + def __init__(self, description, count): + self.desc = description + self.count = count + self.others = [] + + test_vector = None + count = 0 + new_group = True + + while True: + line_number += 1 + line = file_in.readline() + if not line: + if test_vector is not None: + results.append(test_vector) + break + line = line.strip() + + # Skip comments and empty lines + if line.startswith('#') or not line: + new_group = True + continue + + if line.startswith("["): + if test_vector is not None: + results.append(test_vector) + test_vector = None + results.append(line) + continue + + if new_group: + count += 1 + new_group = False + if test_vector is not None: + results.append(test_vector) + test_vector = TestVector("%s (#%d)" % (description, count), count) + + res = re.match("([A-Za-z0-9]+) = ?(.*)", line) + if not res: + test_vector.others += [line] + else: + token = res.group(1).lower() + data = res.group(2).lower() + + conversion = conversions.get(token, None) + if conversion is None: + if len(data) % 2 != 0: + data = "0" + data + setattr(test_vector, token, binascii.unhexlify(data)) + else: + setattr(test_vector, token, conversion(data)) + + # This line is ignored + return results + +def load_tests(dir_comps, file_name, description, conversions): + """Load and parse a test vector file + + This function returnis a list of objects, one per group of adjacent + KV lines or for a single line in the form "[.*]". + + For a group of lines, the object has one attribute per line. + """ + + description = "%s test (%s)" % (description, file_name) + + with open(pycryptodome_filename(dir_comps, file_name)) as file_in: + results = _load_tests(dir_comps, file_in, description, conversions) + return results diff --git a/lib27/site-packages/Crypto/SelfTest/st_common.py b/lib27/site-packages/Crypto/SelfTest/st_common.py new file mode 100644 index 000000000..e098d8129 --- /dev/null +++ b/lib27/site-packages/Crypto/SelfTest/st_common.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# +# SelfTest/st_common.py: Common functions for SelfTest modules +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Common functions for SelfTest modules""" + +import unittest +import binascii +from Crypto.Util.py3compat import b + + +def list_test_cases(class_): + """Return a list of TestCase instances given a TestCase class + + This is useful when you have defined test* methods on your TestCase class. + """ + return unittest.TestLoader().loadTestsFromTestCase(class_) + +def strip_whitespace(s): + """Remove whitespace from a text or byte string""" + if isinstance(s,str): + return b("".join(s.split())) + else: + return b("").join(s.split()) + +def a2b_hex(s): + """Convert hexadecimal to binary, ignoring whitespace""" + return binascii.a2b_hex(strip_whitespace(s)) + +def b2a_hex(s): + """Convert binary to hexadecimal""" + # For completeness + return binascii.b2a_hex(s) + +# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/lib27/site-packages/Crypto/Signature/DSS.py b/lib27/site-packages/Crypto/Signature/DSS.py new file mode 100644 index 000000000..69c885530 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/DSS.py @@ -0,0 +1,399 @@ +# +# Signature/DSS.py : DSS.py +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +__all__ = ['new', 'DssSigScheme'] + + +from Crypto.Util.asn1 import DerSequence +from Crypto.Util.number import long_to_bytes +from Crypto.Math.Numbers import Integer + +from Crypto.Hash import HMAC +from Crypto.PublicKey.ECC import _curve, EccKey + + +class DssSigScheme(object): + """A (EC)DSA signature object. + Do not instantiate directly. + Use :func:`Crypto.Signature.DSS.new`. + """ + + def __init__(self, key, encoding, order): + """Create a new Digital Signature Standard (DSS) object. + + Do not instantiate this object directly, + use `Crypto.Signature.DSS.new` instead. + """ + + self._key = key + self._encoding = encoding + self._order = order + + self._order_bits = self._order.size_in_bits() + self._order_bytes = (self._order_bits - 1) // 8 + 1 + + def can_sign(self): + """Return ``True`` if this signature object can be used + for signing messages.""" + + return self._key.has_private() + + def _compute_nonce(self, msg_hash): + raise NotImplementedError("To be provided by subclasses") + + def _valid_hash(self, msg_hash): + raise NotImplementedError("To be provided by subclasses") + + def sign(self, msg_hash): + """Produce the DSA/ECDSA signature of a message. + + :parameter msg_hash: + The hash that was carried out over the message. + The object belongs to the :mod:`Crypto.Hash` package. + + Under mode *'fips-186-3'*, the hash must be a FIPS + approved secure hash (SHA-1 or a member of the SHA-2 family), + of cryptographic strength appropriate for the DSA key. + For instance, a 3072/256 DSA key can only be used + in combination with SHA-512. + :type msg_hash: hash object + + :return: The signature as a *byte string* + :raise ValueError: if the hash algorithm is incompatible to the (EC)DSA key + :raise TypeError: if the (EC)DSA key has no private half + """ + + if not self._valid_hash(msg_hash): + raise ValueError("Hash is not sufficiently strong") + + # Generate the nonce k (critical!) + nonce = self._compute_nonce(msg_hash) + + # Perform signature using the raw API + z = Integer.from_bytes(msg_hash.digest()[:self._order_bytes]) + sig_pair = self._key._sign(z, nonce) + + # Encode the signature into a single byte string + if self._encoding == 'binary': + output = b"".join([long_to_bytes(x, self._order_bytes) + for x in sig_pair]) + else: + # Dss-sig ::= SEQUENCE { + # r OCTET STRING, + # s OCTET STRING + # } + output = DerSequence(sig_pair).encode() + + return output + + def verify(self, msg_hash, signature): + """Check if a certain (EC)DSA signature is authentic. + + :parameter msg_hash: + The hash that was carried out over the message. + This is an object belonging to the :mod:`Crypto.Hash` module. + + Under mode *'fips-186-3'*, the hash must be a FIPS + approved secure hash (SHA-1 or a member of the SHA-2 family), + of cryptographic strength appropriate for the DSA key. + For instance, a 3072/256 DSA key can only be used in + combination with SHA-512. + :type msg_hash: hash object + + :parameter signature: + The signature that needs to be validated + :type signature: byte string + + :raise ValueError: if the signature is not authentic + """ + + if not self._valid_hash(msg_hash): + raise ValueError("Hash does not belong to SHS") + + if self._encoding == 'binary': + if len(signature) != (2 * self._order_bytes): + raise ValueError("The signature is not authentic (length)") + r_prime, s_prime = [Integer.from_bytes(x) + for x in (signature[:self._order_bytes], + signature[self._order_bytes:])] + else: + try: + der_seq = DerSequence().decode(signature, strict=True) + except (ValueError, IndexError): + raise ValueError("The signature is not authentic (DER)") + if len(der_seq) != 2 or not der_seq.hasOnlyInts(): + raise ValueError("The signature is not authentic (DER content)") + r_prime, s_prime = Integer(der_seq[0]), Integer(der_seq[1]) + + if not (0 < r_prime < self._order) or not (0 < s_prime < self._order): + raise ValueError("The signature is not authentic (d)") + + z = Integer.from_bytes(msg_hash.digest()[:self._order_bytes]) + result = self._key._verify(z, (r_prime, s_prime)) + if not result: + raise ValueError("The signature is not authentic") + # Make PyCrypto code to fail + return False + + +class DeterministicDsaSigScheme(DssSigScheme): + # Also applicable to ECDSA + + def __init__(self, key, encoding, order, private_key): + super(DeterministicDsaSigScheme, self).__init__(key, encoding, order) + self._private_key = private_key + + def _bits2int(self, bstr): + """See 2.3.2 in RFC6979""" + + result = Integer.from_bytes(bstr) + q_len = self._order.size_in_bits() + b_len = len(bstr) * 8 + if b_len > q_len: + result >>= (b_len - q_len) + return result + + def _int2octets(self, int_mod_q): + """See 2.3.3 in RFC6979""" + + assert 0 < int_mod_q < self._order + return long_to_bytes(int_mod_q, self._order_bytes) + + def _bits2octets(self, bstr): + """See 2.3.4 in RFC6979""" + + z1 = self._bits2int(bstr) + if z1 < self._order: + z2 = z1 + else: + z2 = z1 - self._order + return self._int2octets(z2) + + def _compute_nonce(self, mhash): + """Generate k in a deterministic way""" + + # See section 3.2 in RFC6979.txt + # Step a + h1 = mhash.digest() + # Step b + mask_v = b'\x01' * mhash.digest_size + # Step c + nonce_k = b'\x00' * mhash.digest_size + + for int_oct in (b'\x00', b'\x01'): + # Step d/f + nonce_k = HMAC.new(nonce_k, + mask_v + int_oct + + self._int2octets(self._private_key) + + self._bits2octets(h1), mhash).digest() + # Step e/g + mask_v = HMAC.new(nonce_k, mask_v, mhash).digest() + + nonce = -1 + while not (0 < nonce < self._order): + # Step h.C (second part) + if nonce != -1: + nonce_k = HMAC.new(nonce_k, mask_v + b'\x00', + mhash).digest() + mask_v = HMAC.new(nonce_k, mask_v, mhash).digest() + + # Step h.A + mask_t = b"" + + # Step h.B + while len(mask_t) < self._order_bytes: + mask_v = HMAC.new(nonce_k, mask_v, mhash).digest() + mask_t += mask_v + + # Step h.C (first part) + nonce = self._bits2int(mask_t) + return nonce + + def _valid_hash(self, msg_hash): + return True + + +class FipsDsaSigScheme(DssSigScheme): + + #: List of L (bit length of p) and N (bit length of q) combinations + #: that are allowed by FIPS 186-3. The security level is provided in + #: Table 2 of FIPS 800-57 (rev3). + _fips_186_3_L_N = ( + (1024, 160), # 80 bits (SHA-1 or stronger) + (2048, 224), # 112 bits (SHA-224 or stronger) + (2048, 256), # 128 bits (SHA-256 or stronger) + (3072, 256) # 256 bits (SHA-512) + ) + + def __init__(self, key, encoding, order, randfunc): + super(FipsDsaSigScheme, self).__init__(key, encoding, order) + self._randfunc = randfunc + + L = Integer(key.p).size_in_bits() + if (L, self._order_bits) not in self._fips_186_3_L_N: + error = ("L/N (%d, %d) is not compliant to FIPS 186-3" + % (L, self._order_bits)) + raise ValueError(error) + + def _compute_nonce(self, msg_hash): + # hash is not used + return Integer.random_range(min_inclusive=1, + max_exclusive=self._order, + randfunc=self._randfunc) + + def _valid_hash(self, msg_hash): + """Verify that SHA-1, SHA-2 or SHA-3 are used""" + return (msg_hash.oid == "1.3.14.3.2.26" or + msg_hash.oid.startswith("2.16.840.1.101.3.4.2.")) + + +class FipsEcDsaSigScheme(DssSigScheme): + + def __init__(self, key, encoding, order, randfunc): + super(FipsEcDsaSigScheme, self).__init__(key, encoding, order) + self._randfunc = randfunc + + def _compute_nonce(self, msg_hash): + return Integer.random_range(min_inclusive=1, + max_exclusive=_curve.order, + randfunc=self._randfunc) + + def _valid_hash(self, msg_hash): + """Verify that SHA-[23] (256|384|512) bits are used to + match the 128-bit security of P-256""" + + approved = ("2.16.840.1.101.3.4.2.1", + "2.16.840.1.101.3.4.2.2", + "2.16.840.1.101.3.4.2.3", + "2.16.840.1.101.3.4.2.8", + "2.16.840.1.101.3.4.2.9", + "2.16.840.1.101.3.4.2.10") + + return msg_hash.oid in approved + + +def new(key, mode, encoding='binary', randfunc=None): + """Create a signature object :class:`DSS_SigScheme` that + can perform (EC)DSA signature or verification. + + .. note:: + Refer to `NIST SP 800 Part 1 Rev 4`_ (or newer release) for an + overview of the recommended key lengths. + + :parameter key: + The key to use for computing the signature (*private* keys only) + or verifying one: it must be either + :class:`Crypto.PublicKey.DSA` or :class:`Crypto.PublicKey.ECC`. + + For DSA keys, let ``L`` and ``N`` be the bit lengths of the modulus ``p`` + and of ``q``: the pair ``(L,N)`` must appear in the following list, + in compliance to section 4.2 of `FIPS 186-4`_: + + - (1024, 160) *legacy only; do not create new signatures with this* + - (2048, 224) *deprecated; do not create new signatures with this* + - (2048, 256) + - (3072, 256) + + For ECC, only keys over P-256 are accepted. + :type key: + a key object + + :parameter mode: + The parameter can take these values: + + - *'fips-186-3'*. The signature generation is randomized and carried out + according to `FIPS 186-3`_: the nonce ``k`` is taken from the RNG. + - *'deterministic-rfc6979'*. The signature generation is not + randomized. See RFC6979_. + :type mode: + string + + :parameter encoding: + How the signature is encoded. This value determines the output of + :meth:`sign` and the input to :meth:`verify`. + + The following values are accepted: + + - *'binary'* (default), the signature is the raw concatenation + of ``r`` and ``s``. + For DSA, the size in bytes of the signature is ``N/4`` + (e.g. 64 bytes for ``N=256``). + For ECDSA (over P-256), the signature is always 64 bytes long. + + - *'der'*, the signature is an ASN.1 SEQUENCE with two + INTEGERs (``r`` and ``s``) encoded with DER. + The size of the signature is variable. + :type encoding: string + + :parameter randfunc: + A function that returns random *byte strings*, of a given length. + If omitted, the internal RNG is used. + Only applicable for the *'fips-186-3'* mode. + :type randfunc: callable + + .. _FIPS 186-3: http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf + .. _FIPS 186-4: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf + .. _NIST SP 800 Part 1 Rev 4: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r4.pdf + .. _RFC6979: http://tools.ietf.org/html/rfc6979 + """ + + # The goal of the 'mode' parameter is to avoid to + # have the current version of the standard as default. + # + # Over time, such version will be superseded by (for instance) + # FIPS 186-4 and it will be odd to have -3 as default. + + if encoding not in ('binary', 'der'): + raise ValueError("Unknown encoding '%s'" % encoding) + + if isinstance(key, EccKey): + order = _curve.order + private_key_attr = 'd' + else: + order = Integer(key.q) + private_key_attr = 'x' + + if key.has_private(): + private_key = getattr(key, private_key_attr) + else: + private_key = None + + if mode == 'deterministic-rfc6979': + return DeterministicDsaSigScheme(key, encoding, order, private_key) + elif mode == 'fips-186-3': + if isinstance(key, EccKey): + return FipsEcDsaSigScheme(key, encoding, order, randfunc) + else: + return FipsDsaSigScheme(key, encoding, order, randfunc) + else: + raise ValueError("Unknown DSS mode '%s'" % mode) diff --git a/lib27/site-packages/Crypto/Signature/DSS.pyi b/lib27/site-packages/Crypto/Signature/DSS.pyi new file mode 100644 index 000000000..dfc1776e5 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/DSS.pyi @@ -0,0 +1,24 @@ +from types import ModuleType +from typing import Union, Optional, Callable + +from Crypto.PublicKey.DSA import DsaKey +from Crypto.PublicKey.ECC import EccKey + +__all__ = ['new', 'DssSigScheme'] + +class DssSigScheme: + def __init__(self, key: Union[DsaKey, EccKey], encoding: str, order: int) -> None: ... + def can_sign(self) -> bool: ... + def sign(self, msg_hash: ModuleType) -> bytes: ... + def verify(self, msg_hash: ModuleType, signature: bytes) -> bool: ... + +class DeterministicDsaSigScheme(DssSigScheme): + def __init__(self, key, encoding, order, private_key) -> None: ... + +class FipsDsaSigScheme(DssSigScheme): + def __init__(self, key: DsaKey, encoding: str, order: int, randfunc: Callable) -> None: ... + +class FipsEcDsaSigScheme(DssSigScheme): + def __init__(self, key: EccKey, encoding: str, order: int, randfunc: Callable) -> None: ... + +def new(key: Union[DsaKey, EccKey], mode: str, encoding: Optional[str]='binary', randfunc: Optional[Callable]=None) -> Union[DeterministicDsaSigScheme, FipsDsaSigScheme, FipsEcDsaSigScheme]: ... diff --git a/lib27/site-packages/Crypto/Signature/PKCS1_PSS.py b/lib27/site-packages/Crypto/Signature/PKCS1_PSS.py new file mode 100644 index 000000000..c39d38816 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/PKCS1_PSS.py @@ -0,0 +1,55 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +Legacy module for PKCS#1 PSS signatures. + +:undocumented: __package__ +""" + +import types + +from Crypto.Signature import pss + + +def _pycrypto_verify(self, hash_object, signature): + try: + self._verify(hash_object, signature) + except (ValueError, TypeError): + return False + return True + + +def new(rsa_key, mgfunc=None, saltLen=None, randfunc=None): + pkcs1 = pss.new(rsa_key, mask_func=mgfunc, + salt_bytes=saltLen, rand_func=randfunc) + pkcs1._verify = pkcs1.verify + pkcs1.verify = types.MethodType(_pycrypto_verify, pkcs1) + return pkcs1 diff --git a/lib27/site-packages/Crypto/Signature/PKCS1_PSS.pyi b/lib27/site-packages/Crypto/Signature/PKCS1_PSS.pyi new file mode 100644 index 000000000..882cc8f7c --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/PKCS1_PSS.pyi @@ -0,0 +1,7 @@ +from typing import Optional, Callable + +from Crypto.PublicKey.RSA import RsaKey +from Crypto.Signature.pss import PSS_SigScheme + + +def new(rsa_key: RsaKey, mgfunc: Optional[Callable]=None, saltLen: Optional[int]=None, randfunc: Optional[Callable]=None) -> PSS_SigScheme: ... diff --git a/lib27/site-packages/Crypto/Signature/PKCS1_v1_5.py b/lib27/site-packages/Crypto/Signature/PKCS1_v1_5.py new file mode 100644 index 000000000..ac888edb4 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/PKCS1_v1_5.py @@ -0,0 +1,53 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +""" +Legacy module for PKCS#1 v1.5 signatures. + +:undocumented: __package__ +""" + +import types + +from Crypto.Signature import pkcs1_15 + +def _pycrypto_verify(self, hash_object, signature): + try: + self._verify(hash_object, signature) + except (ValueError, TypeError): + return False + return True + +def new(rsa_key): + pkcs1 = pkcs1_15.new(rsa_key) + pkcs1._verify = pkcs1.verify + pkcs1.verify = types.MethodType(_pycrypto_verify, pkcs1) + return pkcs1 + diff --git a/lib27/site-packages/Crypto/Signature/PKCS1_v1_5.pyi b/lib27/site-packages/Crypto/Signature/PKCS1_v1_5.pyi new file mode 100644 index 000000000..55b963736 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/PKCS1_v1_5.pyi @@ -0,0 +1,6 @@ +from Crypto.PublicKey.RSA import RsaKey + +from Crypto.Signature.pkcs1_15 import PKCS115_SigScheme + + +def new(rsa_key: RsaKey) -> PKCS115_SigScheme: ... \ No newline at end of file diff --git a/lib27/site-packages/Crypto/Signature/__init__.py b/lib27/site-packages/Crypto/Signature/__init__.py new file mode 100644 index 000000000..da028a512 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/__init__.py @@ -0,0 +1,36 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +"""Digital signature protocols + +A collection of standardized protocols to carry out digital signatures. +""" + +__all__ = ['PKCS1_v1_5', 'PKCS1_PSS', 'DSS', 'pkcs1_15', 'pss'] diff --git a/lib27/site-packages/Crypto/Signature/pkcs1_15.py b/lib27/site-packages/Crypto/Signature/pkcs1_15.py new file mode 100644 index 000000000..a6d6b8667 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/pkcs1_15.py @@ -0,0 +1,222 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import Crypto.Util.number +from Crypto.Util.number import ceil_div, bytes_to_long, long_to_bytes +from Crypto.Util.asn1 import DerSequence, DerNull, DerOctetString, DerObjectId + +class PKCS115_SigScheme: + """A signature object for ``RSASSA-PKCS1-v1_5``. + Do not instantiate directly. + Use :func:`Crypto.Signature.pkcs1_15.new`. + """ + + def __init__(self, rsa_key): + """Initialize this PKCS#1 v1.5 signature scheme object. + + :Parameters: + rsa_key : an RSA key object + Creation of signatures is only possible if this is a *private* + RSA key. Verification of signatures is always possible. + """ + self._key = rsa_key + + def can_sign(self): + """Return ``True`` if this object can be used to sign messages.""" + return self._key.has_private() + + def sign(self, msg_hash): + """Create the PKCS#1 v1.5 signature of a message. + + This function is also called ``RSASSA-PKCS1-V1_5-SIGN`` and + it is specified in + `section 8.2.1 of RFC8017 `_. + + :parameter msg_hash: + This is an object from the :mod:`Crypto.Hash` package. + It has been used to digest the message to sign. + :type msg_hash: hash object + + :return: the signature encoded as a *byte string*. + :raise ValueError: if the RSA key is not long enough for the given hash algorithm. + :raise TypeError: if the RSA key has no private half. + """ + + # See 8.2.1 in RFC3447 + modBits = Crypto.Util.number.size(self._key.n) + k = ceil_div(modBits,8) # Convert from bits to bytes + + # Step 1 + em = _EMSA_PKCS1_V1_5_ENCODE(msg_hash, k) + # Step 2a (OS2IP) + em_int = bytes_to_long(em) + # Step 2b (RSASP1) + m_int = self._key._decrypt(em_int) + # Step 2c (I2OSP) + signature = long_to_bytes(m_int, k) + return signature + + def verify(self, msg_hash, signature): + """Check if the PKCS#1 v1.5 signature over a message is valid. + + This function is also called ``RSASSA-PKCS1-V1_5-VERIFY`` and + it is specified in + `section 8.2.2 of RFC8037 `_. + + :parameter msg_hash: + The hash that was carried out over the message. This is an object + belonging to the :mod:`Crypto.Hash` module. + :type parameter: hash object + + :parameter signature: + The signature that needs to be validated. + :type signature: byte string + + :raise ValueError: if the signature is not valid. + """ + + # See 8.2.2 in RFC3447 + modBits = Crypto.Util.number.size(self._key.n) + k = ceil_div(modBits, 8) # Convert from bits to bytes + + # Step 1 + if len(signature) != k: + raise ValueError("Invalid signature") + # Step 2a (O2SIP) + signature_int = bytes_to_long(signature) + # Step 2b (RSAVP1) + em_int = self._key._encrypt(signature_int) + # Step 2c (I2OSP) + em1 = long_to_bytes(em_int, k) + # Step 3 + try: + possible_em1 = [ _EMSA_PKCS1_V1_5_ENCODE(msg_hash, k, True) ] + # MD2/4/5 hashes always require NULL params in AlgorithmIdentifier. + # For all others, it is optional. + try: + algorithm_is_md = msg_hash.oid.startswith('1.2.840.113549.2.') + except AttributeError: + algorithm_is_md = False + if not algorithm_is_md: # MD2/MD4/MD5 + possible_em1.append(_EMSA_PKCS1_V1_5_ENCODE(msg_hash, k, False)) + except ValueError: + raise ValueError("Invalid signature") + # Step 4 + # By comparing the full encodings (as opposed to checking each + # of its components one at a time) we avoid attacks to the padding + # scheme like Bleichenbacher's (see http://www.mail-archive.com/cryptography@metzdowd.com/msg06537). + # + if em1 not in possible_em1: + raise ValueError("Invalid signature") + pass + + +def _EMSA_PKCS1_V1_5_ENCODE(msg_hash, emLen, with_hash_parameters=True): + """ + Implement the ``EMSA-PKCS1-V1_5-ENCODE`` function, as defined + in PKCS#1 v2.1 (RFC3447, 9.2). + + ``_EMSA-PKCS1-V1_5-ENCODE`` actually accepts the message ``M`` as input, + and hash it internally. Here, we expect that the message has already + been hashed instead. + + :Parameters: + msg_hash : hash object + The hash object that holds the digest of the message being signed. + emLen : int + The length the final encoding must have, in bytes. + with_hash_parameters : bool + If True (default), include NULL parameters for the hash + algorithm in the ``digestAlgorithm`` SEQUENCE. + + :attention: the early standard (RFC2313) stated that ``DigestInfo`` + had to be BER-encoded. This means that old signatures + might have length tags in indefinite form, which + is not supported in DER. Such encoding cannot be + reproduced by this function. + + :Return: An ``emLen`` byte long string that encodes the hash. + """ + + # First, build the ASN.1 DER object DigestInfo: + # + # DigestInfo ::= SEQUENCE { + # digestAlgorithm AlgorithmIdentifier, + # digest OCTET STRING + # } + # + # where digestAlgorithm identifies the hash function and shall be an + # algorithm ID with an OID in the set PKCS1-v1-5DigestAlgorithms. + # + # PKCS1-v1-5DigestAlgorithms ALGORITHM-IDENTIFIER ::= { + # { OID id-md2 PARAMETERS NULL }| + # { OID id-md5 PARAMETERS NULL }| + # { OID id-sha1 PARAMETERS NULL }| + # { OID id-sha256 PARAMETERS NULL }| + # { OID id-sha384 PARAMETERS NULL }| + # { OID id-sha512 PARAMETERS NULL } + # } + # + # Appendix B.1 also says that for SHA-1/-2 algorithms, the parameters + # should be omitted. They may be present, but when they are, they shall + # have NULL value. + + digestAlgo = DerSequence([ DerObjectId(msg_hash.oid).encode() ]) + + if with_hash_parameters: + digestAlgo.append(DerNull().encode()) + + digest = DerOctetString(msg_hash.digest()) + digestInfo = DerSequence([ + digestAlgo.encode(), + digest.encode() + ]).encode() + + # We need at least 11 bytes for the remaining data: 3 fixed bytes and + # at least 8 bytes of padding). + if emLen None: ... + def can_sign(self) -> bool: ... + def sign(self, msg_hash: ModuleType) -> bytes: ... + def verify(self, msg_hash: ModuleType, signature: bytes) -> None: ... + +def _EMSA_PKCS1_V1_5_ENCODE(msg_hash: ModuleType, emLen: int, with_hash_parameters: Optional[bool]=True) -> bytes: ... + +def new(rsa_key: RsaKey) -> PKCS115_SigScheme: ... \ No newline at end of file diff --git a/lib27/site-packages/Crypto/Signature/pss.py b/lib27/site-packages/Crypto/Signature/pss.py new file mode 100644 index 000000000..66bb3f80b --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/pss.py @@ -0,0 +1,366 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util.py3compat import bchr, bord, iter_range +import Crypto.Util.number +from Crypto.Util.number import (ceil_div, + long_to_bytes, + bytes_to_long + ) +from Crypto.Util.strxor import strxor +from Crypto import Random + + +class PSS_SigScheme: + """A signature object for ``RSASSA-PSS``. + Do not instantiate directly. + Use :func:`Crypto.Signature.pss.new`. + """ + + def __init__(self, key, mgfunc, saltLen, randfunc): + """Initialize this PKCS#1 PSS signature scheme object. + + :Parameters: + key : an RSA key object + If a private half is given, both signature and + verification are possible. + If a public half is given, only verification is possible. + mgfunc : callable + A mask generation function that accepts two parameters: + a string to use as seed, and the lenth of the mask to + generate, in bytes. + saltLen : integer + Length of the salt, in bytes. + randfunc : callable + A function that returns random bytes. + """ + + self._key = key + self._saltLen = saltLen + self._mgfunc = mgfunc + self._randfunc = randfunc + + def can_sign(self): + """Return ``True`` if this object can be used to sign messages.""" + return self._key.has_private() + + def sign(self, msg_hash): + """Create the PKCS#1 PSS signature of a message. + + This function is also called ``RSASSA-PSS-SIGN`` and + it is specified in + `section 8.1.1 of RFC8017 `_. + + :parameter msg_hash: + This is an object from the :mod:`Crypto.Hash` package. + It has been used to digest the message to sign. + :type msg_hash: hash object + + :return: the signature encoded as a *byte string*. + :raise ValueError: if the RSA key is not long enough for the given hash algorithm. + :raise TypeError: if the RSA key has no private half. + """ + + # Set defaults for salt length and mask generation function + if self._saltLen is None: + sLen = msg_hash.digest_size + else: + sLen = self._saltLen + + if self._mgfunc is None: + mgf = lambda x, y: MGF1(x, y, msg_hash) + else: + mgf = self._mgfunc + + modBits = Crypto.Util.number.size(self._key.n) + + # See 8.1.1 in RFC3447 + k = ceil_div(modBits, 8) # k is length in bytes of the modulus + # Step 1 + em = _EMSA_PSS_ENCODE(msg_hash, modBits-1, self._randfunc, mgf, sLen) + # Step 2a (OS2IP) + em_int = bytes_to_long(em) + # Step 2b (RSASP1) + m_int = self._key._decrypt(em_int) + # Step 2c (I2OSP) + signature = long_to_bytes(m_int, k) + return signature + + def verify(self, msg_hash, signature): + """Check if the PKCS#1 PSS signature over a message is valid. + + This function is also called ``RSASSA-PSS-VERIFY`` and + it is specified in + `section 8.1.2 of RFC8037 `_. + + :parameter msg_hash: + The hash that was carried out over the message. This is an object + belonging to the :mod:`Crypto.Hash` module. + :type parameter: hash object + + :parameter signature: + The signature that needs to be validated. + :type signature: byte string + + :raise ValueError: if the signature is not valid. + """ + + # Set defaults for salt length and mask generation function + if self._saltLen is None: + sLen = msg_hash.digest_size + else: + sLen = self._saltLen + if self._mgfunc: + mgf = self._mgfunc + else: + mgf = lambda x, y: MGF1(x, y, msg_hash) + + modBits = Crypto.Util.number.size(self._key.n) + + # See 8.1.2 in RFC3447 + k = ceil_div(modBits, 8) # Convert from bits to bytes + # Step 1 + if len(signature) != k: + raise ValueError("Incorrect signature") + # Step 2a (O2SIP) + signature_int = bytes_to_long(signature) + # Step 2b (RSAVP1) + em_int = self._key._encrypt(signature_int) + # Step 2c (I2OSP) + emLen = ceil_div(modBits - 1, 8) + em = long_to_bytes(em_int, emLen) + # Step 3/4 + _EMSA_PSS_VERIFY(msg_hash, em, modBits-1, mgf, sLen) + + +def MGF1(mgfSeed, maskLen, hash_gen): + """Mask Generation Function, described in `B.2.1 of RFC8017 + `_. + + :param mfgSeed: + seed from which the mask is generated + :type mfgSeed: byte string + + :param maskLen: + intended length in bytes of the mask + :type maskLen: integer + + :param hash_gen: + A module or a hash object from :mod:`Crypto.Hash` + :type hash_object: + + :return: the mask, as a *byte string* + """ + + T = b"" + for counter in iter_range(ceil_div(maskLen, hash_gen.digest_size)): + c = long_to_bytes(counter, 4) + hobj = hash_gen.new() + hobj.update(mgfSeed + c) + T = T + hobj.digest() + assert(len(T) >= maskLen) + return T[:maskLen] + + +def _EMSA_PSS_ENCODE(mhash, emBits, randFunc, mgf, sLen): + """ + Implement the ``EMSA-PSS-ENCODE`` function, as defined + in PKCS#1 v2.1 (RFC3447, 9.1.1). + + The original ``EMSA-PSS-ENCODE`` actually accepts the message ``M`` + as input, and hash it internally. Here, we expect that the message + has already been hashed instead. + + :Parameters: + mhash : hash object + The hash object that holds the digest of the message being signed. + emBits : int + Maximum length of the final encoding, in bits. + randFunc : callable + An RNG function that accepts as only parameter an int, and returns + a string of random bytes, to be used as salt. + mgf : callable + A mask generation function that accepts two parameters: a string to + use as seed, and the lenth of the mask to generate, in bytes. + sLen : int + Length of the salt, in bytes. + + :Return: An ``emLen`` byte long string that encodes the hash + (with ``emLen = \ceil(emBits/8)``). + + :Raise ValueError: + When digest or salt length are too big. + """ + + emLen = ceil_div(emBits, 8) + + # Bitmask of digits that fill up + lmask = 0 + for i in iter_range(8*emLen-emBits): + lmask = lmask >> 1 | 0x80 + + # Step 1 and 2 have been already done + # Step 3 + if emLen < mhash.digest_size+sLen+2: + raise ValueError("Digest or salt length are too long" + " for given key size.") + # Step 4 + salt = randFunc(sLen) + # Step 5 + m_prime = bchr(0)*8 + mhash.digest() + salt + # Step 6 + h = mhash.new() + h.update(m_prime) + # Step 7 + ps = bchr(0)*(emLen-sLen-mhash.digest_size-2) + # Step 8 + db = ps + bchr(1) + salt + # Step 9 + dbMask = mgf(h.digest(), emLen-mhash.digest_size-1) + # Step 10 + maskedDB = strxor(db, dbMask) + # Step 11 + maskedDB = bchr(bord(maskedDB[0]) & ~lmask) + maskedDB[1:] + # Step 12 + em = maskedDB + h.digest() + bchr(0xBC) + return em + + +def _EMSA_PSS_VERIFY(mhash, em, emBits, mgf, sLen): + """ + Implement the ``EMSA-PSS-VERIFY`` function, as defined + in PKCS#1 v2.1 (RFC3447, 9.1.2). + + ``EMSA-PSS-VERIFY`` actually accepts the message ``M`` as input, + and hash it internally. Here, we expect that the message has already + been hashed instead. + + :Parameters: + mhash : hash object + The hash object that holds the digest of the message to be verified. + em : string + The signature to verify, therefore proving that the sender really + signed the message that was received. + emBits : int + Length of the final encoding (em), in bits. + mgf : callable + A mask generation function that accepts two parameters: a string to + use as seed, and the lenth of the mask to generate, in bytes. + sLen : int + Length of the salt, in bytes. + + :Raise ValueError: + When the encoding is inconsistent, or the digest or salt lengths + are too big. + """ + + emLen = ceil_div(emBits, 8) + + # Bitmask of digits that fill up + lmask = 0 + for i in iter_range(8*emLen-emBits): + lmask = lmask >> 1 | 0x80 + + # Step 1 and 2 have been already done + # Step 3 + if emLen < mhash.digest_size+sLen+2: + return False + # Step 4 + if ord(em[-1:]) != 0xBC: + raise ValueError("Incorrect signature") + # Step 5 + maskedDB = em[:emLen-mhash.digest_size-1] + h = em[emLen-mhash.digest_size-1:-1] + # Step 6 + if lmask & bord(em[0]): + raise ValueError("Incorrect signature") + # Step 7 + dbMask = mgf(h, emLen-mhash.digest_size-1) + # Step 8 + db = strxor(maskedDB, dbMask) + # Step 9 + db = bchr(bord(db[0]) & ~lmask) + db[1:] + # Step 10 + if not db.startswith(bchr(0)*(emLen-mhash.digest_size-sLen-2) + bchr(1)): + raise ValueError("Incorrect signature") + # Step 11 + if sLen > 0: + salt = db[-sLen:] + else: + salt = b"" + # Step 12 + m_prime = bchr(0)*8 + mhash.digest() + salt + # Step 13 + hobj = mhash.new() + hobj.update(m_prime) + hp = hobj.digest() + # Step 14 + if h != hp: + raise ValueError("Incorrect signature") + + +def new(rsa_key, **kwargs): + """Create a signature object for creating + or verifying PKCS#1 PSS signatures. + + :parameter rsa_key: + The RSA key to use for signing or verifying the message. + This is a :class:`Crypto.PublicKey.RSA` object. + Signing is only possible when ``rsa_key`` is a **private** RSA key. + :type rsa_key: RSA object + + :Keyword Arguments: + + * *mask_func* (``callable``) -- + A mask generation function that accepts two parameters: a string to + use as seed, and the length of the mask in bytes to generate. + If not specified, the standard :func:`MGF1` is used. + + * *salt_bytes* (``integer``) -- + Length of the salt, in bytes. + If not specified, it matches the output size of the hash function. + If zero, the signature scheme becomes deterministic. + + * *rand_func* (``callable``) -- + A function that returns random *byte string*, given the desired + length. + The default is :func:`Crypto.Random.get_random_bytes`. + + :return: a :class:`PSS_SigScheme` signature object + """ + + mask_func = kwargs.pop("mask_func", None) + salt_len = kwargs.pop("salt_bytes", None) + rand_func = kwargs.pop("rand_func", None) + if rand_func is None: + rand_func = Random.get_random_bytes + if kwargs: + raise ValueError("Unknown keywords: " + str(kwargs.keys())) + return PSS_SigScheme(rsa_key, mask_func, salt_len, rand_func) diff --git a/lib27/site-packages/Crypto/Signature/pss.pyi b/lib27/site-packages/Crypto/Signature/pss.pyi new file mode 100644 index 000000000..bf9706f62 --- /dev/null +++ b/lib27/site-packages/Crypto/Signature/pss.pyi @@ -0,0 +1,16 @@ +from types import ModuleType +from typing import Union, Callable + +from Crypto.PublicKey.RSA import RsaKey + + +class PSS_SigScheme: + def __init__(self, key: RsaKey, mgfunc: Callable, saltLen: int, randfunc: Callable) -> None: ... + def can_sign(self) -> bool: ... + def sign(self, msg_hash: ModuleType) -> bytes: ... + def verify(self, msg_hash: ModuleType, signature: bytes) -> None: ... + +def MGF1(mgfSeed: bytes, maskLen: int, hash_gen: ModuleType) -> bytes: ... +def _EMSA_PSS_ENCODE(mhash: ModuleType, emBits: int, randFunc: Callable, mgf: Callable, sLen: int) -> str: ... +def _EMSA_PSS_VERIFY(mhash: ModuleType, em: str, emBits: int, mgf: Callable, sLen: int) -> None: ... +def new(rsa_key: RsaKey, **kwargs: Union[Callable, int]) -> PSS_SigScheme: ... \ No newline at end of file diff --git a/lib27/site-packages/Crypto/Util/Counter.py b/lib27/site-packages/Crypto/Util/Counter.py new file mode 100644 index 000000000..423f91f37 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/Counter.py @@ -0,0 +1,70 @@ +# -*- coding: ascii -*- +# +# Util/Counter.py : Fast counter for use with CTR-mode ciphers +# +# Written in 2008 by Dwayne C. Litzenberger +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +def new(nbits, prefix=b"", suffix=b"", initial_value=1, little_endian=False, allow_wraparound=False): + """Create a stateful counter block function suitable for CTR encryption modes. + + Each call to the function returns the next counter block. + Each counter block is made up by three parts: + + +------+--------------+-------+ + |prefix| counter value|postfix| + +------+--------------+-------+ + + The counter value is incremented by 1 at each call. + + Args: + nbits (integer): + Length of the desired counter value, in bits. It must be a multiple of 8. + prefix (byte string): + The constant prefix of the counter block. By default, no prefix is + used. + suffix (byte string): + The constant postfix of the counter block. By default, no suffix is + used. + initial_value (integer): + The initial value of the counter. Default value is 1. + little_endian (boolean): + If ``True``, the counter number will be encoded in little endian format. + If ``False`` (default), in big endian format. + allow_wraparound (boolean): + This parameter is ignored. + Returns: + An object that can be passed with the :data:`counter` parameter to a CTR mode + cipher. + + It must hold that *len(prefix) + nbits//8 + len(suffix)* matches the + block size of the underlying block cipher. + """ + + if (nbits % 8) != 0: + raise ValueError("'nbits' must be a multiple of 8") + + # Ignore wraparound + return {"counter_len": nbits // 8, + "prefix": prefix, + "suffix": suffix, + "initial_value": initial_value, + "little_endian": little_endian + } diff --git a/lib27/site-packages/Crypto/Util/Padding.py b/lib27/site-packages/Crypto/Util/Padding.py new file mode 100644 index 000000000..86cc9393d --- /dev/null +++ b/lib27/site-packages/Crypto/Util/Padding.py @@ -0,0 +1,106 @@ +# +# Util/Padding.py : Functions to manage padding +# +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +__all__ = [ 'pad', 'unpad' ] + +from Crypto.Util.py3compat import * + + +def pad(data_to_pad, block_size, style='pkcs7'): + """Apply standard padding. + + Args: + data_to_pad (byte string): + The data that needs to be padded. + block_size (integer): + The block boundary to use for padding. The output length is guaranteed + to be a multiple of :data:`block_size`. + style (string): + Padding algorithm. It can be *'pkcs7'* (default), *'iso7816'* or *'x923'*. + + Return: + byte string : the original data with the appropriate padding added at the end. + """ + + padding_len = block_size-len(data_to_pad)%block_size + if style == 'pkcs7': + padding = bchr(padding_len)*padding_len + elif style == 'x923': + padding = bchr(0)*(padding_len-1) + bchr(padding_len) + elif style == 'iso7816': + padding = bchr(128) + bchr(0)*(padding_len-1) + else: + raise ValueError("Unknown padding style") + return data_to_pad + padding + + +def unpad(padded_data, block_size, style='pkcs7'): + """Remove standard padding. + + Args: + padded_data (byte string): + A piece of data with padding that needs to be stripped. + block_size (integer): + The block boundary to use for padding. The input length + must be a multiple of :data:`block_size`. + style (string): + Padding algorithm. It can be *'pkcs7'* (default), *'iso7816'* or *'x923'*. + Return: + byte string : data without padding. + Raises: + ValueError: if the padding is incorrect. + """ + + pdata_len = len(padded_data) + if pdata_len % block_size: + raise ValueError("Input data is not padded") + if style in ('pkcs7', 'x923'): + padding_len = bord(padded_data[-1]) + if padding_len<1 or padding_len>min(block_size, pdata_len): + raise ValueError("Padding is incorrect.") + if style == 'pkcs7': + if padded_data[-padding_len:]!=bchr(padding_len)*padding_len: + raise ValueError("PKCS#7 padding is incorrect.") + else: + if padded_data[-padding_len:-1]!=bchr(0)*(padding_len-1): + raise ValueError("ANSI X.923 padding is incorrect.") + elif style == 'iso7816': + padding_len = pdata_len - padded_data.rfind(bchr(128)) + if padding_len<1 or padding_len>min(block_size, pdata_len): + raise ValueError("Padding is incorrect.") + if padding_len>1 and padded_data[1-padding_len:]!=bchr(0)*(padding_len-1): + raise ValueError("ISO 7816-4 padding is incorrect.") + else: + raise ValueError("Unknown padding style") + return padded_data[:-padding_len] + diff --git a/lib27/site-packages/Crypto/Util/RFC1751.py b/lib27/site-packages/Crypto/Util/RFC1751.py new file mode 100644 index 000000000..bebefa8b6 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/RFC1751.py @@ -0,0 +1,391 @@ +# rfc1751.py : Converts between 128-bit strings and a human-readable +# sequence of words, as defined in RFC1751: "A Convention for +# Human-Readable 128-bit Keys", by Daniel L. McDonald. +# +# Part of the Python Cryptography Toolkit +# +# Written by Andrew M. Kuchling and others +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +from __future__ import print_function + +import binascii + +from Crypto.Util.py3compat import * + +binary={0:'0000', 1:'0001', 2:'0010', 3:'0011', 4:'0100', 5:'0101', + 6:'0110', 7:'0111', 8:'1000', 9:'1001', 10:'1010', 11:'1011', + 12:'1100', 13:'1101', 14:'1110', 15:'1111'} + +def _key2bin(s): + "Convert a key into a string of binary digits" + kl=map(lambda x: bord(x), s) + kl=map(lambda x: binary[x>>4]+binary[x&15], kl) + return ''.join(kl) + +def _extract(key, start, length): + """Extract a bitstring(2.x)/bytestring(2.x) from a string of binary digits, and return its + numeric value.""" + + result = 0 + for y in key[start:start+length]: + result = result * 2 + ord(y) - 48 + return result + +def key_to_english (key): + """Transform an arbitrary key into a string containing English words. + + Example:: + + >>> from Crypto.Util.RFC1751 import key_to_english + >>> key_to_english(b'66666666') + 'RAM LOIS GOAD CREW CARE HIT' + + Args: + key (byte string): + The key to convert. Its length must be a multiple of 8. + Return: + A string of English words. + """ + + english='' + for index in range(0, len(key), 8): # Loop over 8-byte subkeys + subkey=key[index:index+8] + # Compute the parity of the key + skbin=_key2bin(subkey) ; p=0 + for i in range(0, 64, 2): p=p+_extract(skbin, i, 2) + # Append parity bits to the subkey + skbin=_key2bin(subkey+bchr((p<<6) & 255)) + for i in range(0, 64, 11): + english=english+wordlist[_extract(skbin, i, 11)]+' ' + + return english.strip() + +def english_to_key (s): + """Transform a string into a corresponding key. + + Example:: + + >>> from Crypto.Util.RFC1751 import english_to_key + >>> english_to_key('RAM LOIS GOAD CREW CARE HIT') + b'66666666' + + Args: + s (string): the string with the words separated by whitespace; + the number of words must be a multiple of 6. + Return: + A byte string. + """ + + L=s.upper().split() ; key=b'' + for index in range(0, len(L), 6): + sublist=L[index:index+6] ; char=9*[0] ; bits=0 + for i in sublist: + index = wordlist.index(i) + shift = (8-(bits+11)%8) %8 + y = index << shift + cl, cc, cr = (y>>16), (y>>8)&0xff, y & 0xff + if (shift>5): + char[bits>>3] = char[bits>>3] | cl + char[(bits>>3)+1] = char[(bits>>3)+1] | cc + char[(bits>>3)+2] = char[(bits>>3)+2] | cr + elif shift>-3: + char[bits>>3] = char[bits>>3] | cc + char[(bits>>3)+1] = char[(bits>>3)+1] | cr + else: char[bits>>3] = char[bits>>3] | cr + bits=bits+11 + + subkey = b'' + for y in char: + subkey = subkey + bchr(y) + + # Check the parity of the resulting key + skbin=_key2bin(subkey) + p=0 + for i in range(0, 64, 2): p=p+_extract(skbin, i, 2) + if (p&3) != _extract(skbin, 64, 2): + raise ValueError("Parity error in resulting key") + key=key+subkey[0:8] + return key + +wordlist=[ "A", "ABE", "ACE", "ACT", "AD", "ADA", "ADD", + "AGO", "AID", "AIM", "AIR", "ALL", "ALP", "AM", "AMY", "AN", "ANA", + "AND", "ANN", "ANT", "ANY", "APE", "APS", "APT", "ARC", "ARE", "ARK", + "ARM", "ART", "AS", "ASH", "ASK", "AT", "ATE", "AUG", "AUK", "AVE", + "AWE", "AWK", "AWL", "AWN", "AX", "AYE", "BAD", "BAG", "BAH", "BAM", + "BAN", "BAR", "BAT", "BAY", "BE", "BED", "BEE", "BEG", "BEN", "BET", + "BEY", "BIB", "BID", "BIG", "BIN", "BIT", "BOB", "BOG", "BON", "BOO", + "BOP", "BOW", "BOY", "BUB", "BUD", "BUG", "BUM", "BUN", "BUS", "BUT", + "BUY", "BY", "BYE", "CAB", "CAL", "CAM", "CAN", "CAP", "CAR", "CAT", + "CAW", "COD", "COG", "COL", "CON", "COO", "COP", "COT", "COW", "COY", + "CRY", "CUB", "CUE", "CUP", "CUR", "CUT", "DAB", "DAD", "DAM", "DAN", + "DAR", "DAY", "DEE", "DEL", "DEN", "DES", "DEW", "DID", "DIE", "DIG", + "DIN", "DIP", "DO", "DOE", "DOG", "DON", "DOT", "DOW", "DRY", "DUB", + "DUD", "DUE", "DUG", "DUN", "EAR", "EAT", "ED", "EEL", "EGG", "EGO", + "ELI", "ELK", "ELM", "ELY", "EM", "END", "EST", "ETC", "EVA", "EVE", + "EWE", "EYE", "FAD", "FAN", "FAR", "FAT", "FAY", "FED", "FEE", "FEW", + "FIB", "FIG", "FIN", "FIR", "FIT", "FLO", "FLY", "FOE", "FOG", "FOR", + "FRY", "FUM", "FUN", "FUR", "GAB", "GAD", "GAG", "GAL", "GAM", "GAP", + "GAS", "GAY", "GEE", "GEL", "GEM", "GET", "GIG", "GIL", "GIN", "GO", + "GOT", "GUM", "GUN", "GUS", "GUT", "GUY", "GYM", "GYP", "HA", "HAD", + "HAL", "HAM", "HAN", "HAP", "HAS", "HAT", "HAW", "HAY", "HE", "HEM", + "HEN", "HER", "HEW", "HEY", "HI", "HID", "HIM", "HIP", "HIS", "HIT", + "HO", "HOB", "HOC", "HOE", "HOG", "HOP", "HOT", "HOW", "HUB", "HUE", + "HUG", "HUH", "HUM", "HUT", "I", "ICY", "IDA", "IF", "IKE", "ILL", + "INK", "INN", "IO", "ION", "IQ", "IRA", "IRE", "IRK", "IS", "IT", + "ITS", "IVY", "JAB", "JAG", "JAM", "JAN", "JAR", "JAW", "JAY", "JET", + "JIG", "JIM", "JO", "JOB", "JOE", "JOG", "JOT", "JOY", "JUG", "JUT", + "KAY", "KEG", "KEN", "KEY", "KID", "KIM", "KIN", "KIT", "LA", "LAB", + "LAC", "LAD", "LAG", "LAM", "LAP", "LAW", "LAY", "LEA", "LED", "LEE", + "LEG", "LEN", "LEO", "LET", "LEW", "LID", "LIE", "LIN", "LIP", "LIT", + "LO", "LOB", "LOG", "LOP", "LOS", "LOT", "LOU", "LOW", "LOY", "LUG", + "LYE", "MA", "MAC", "MAD", "MAE", "MAN", "MAO", "MAP", "MAT", "MAW", + "MAY", "ME", "MEG", "MEL", "MEN", "MET", "MEW", "MID", "MIN", "MIT", + "MOB", "MOD", "MOE", "MOO", "MOP", "MOS", "MOT", "MOW", "MUD", "MUG", + "MUM", "MY", "NAB", "NAG", "NAN", "NAP", "NAT", "NAY", "NE", "NED", + "NEE", "NET", "NEW", "NIB", "NIL", "NIP", "NIT", "NO", "NOB", "NOD", + "NON", "NOR", "NOT", "NOV", "NOW", "NU", "NUN", "NUT", "O", "OAF", + "OAK", "OAR", "OAT", "ODD", "ODE", "OF", "OFF", "OFT", "OH", "OIL", + "OK", "OLD", "ON", "ONE", "OR", "ORB", "ORE", "ORR", "OS", "OTT", + "OUR", "OUT", "OVA", "OW", "OWE", "OWL", "OWN", "OX", "PA", "PAD", + "PAL", "PAM", "PAN", "PAP", "PAR", "PAT", "PAW", "PAY", "PEA", "PEG", + "PEN", "PEP", "PER", "PET", "PEW", "PHI", "PI", "PIE", "PIN", "PIT", + "PLY", "PO", "POD", "POE", "POP", "POT", "POW", "PRO", "PRY", "PUB", + "PUG", "PUN", "PUP", "PUT", "QUO", "RAG", "RAM", "RAN", "RAP", "RAT", + "RAW", "RAY", "REB", "RED", "REP", "RET", "RIB", "RID", "RIG", "RIM", + "RIO", "RIP", "ROB", "ROD", "ROE", "RON", "ROT", "ROW", "ROY", "RUB", + "RUE", "RUG", "RUM", "RUN", "RYE", "SAC", "SAD", "SAG", "SAL", "SAM", + "SAN", "SAP", "SAT", "SAW", "SAY", "SEA", "SEC", "SEE", "SEN", "SET", + "SEW", "SHE", "SHY", "SIN", "SIP", "SIR", "SIS", "SIT", "SKI", "SKY", + "SLY", "SO", "SOB", "SOD", "SON", "SOP", "SOW", "SOY", "SPA", "SPY", + "SUB", "SUD", "SUE", "SUM", "SUN", "SUP", "TAB", "TAD", "TAG", "TAN", + "TAP", "TAR", "TEA", "TED", "TEE", "TEN", "THE", "THY", "TIC", "TIE", + "TIM", "TIN", "TIP", "TO", "TOE", "TOG", "TOM", "TON", "TOO", "TOP", + "TOW", "TOY", "TRY", "TUB", "TUG", "TUM", "TUN", "TWO", "UN", "UP", + "US", "USE", "VAN", "VAT", "VET", "VIE", "WAD", "WAG", "WAR", "WAS", + "WAY", "WE", "WEB", "WED", "WEE", "WET", "WHO", "WHY", "WIN", "WIT", + "WOK", "WON", "WOO", "WOW", "WRY", "WU", "YAM", "YAP", "YAW", "YE", + "YEA", "YES", "YET", "YOU", "ABED", "ABEL", "ABET", "ABLE", "ABUT", + "ACHE", "ACID", "ACME", "ACRE", "ACTA", "ACTS", "ADAM", "ADDS", + "ADEN", "AFAR", "AFRO", "AGEE", "AHEM", "AHOY", "AIDA", "AIDE", + "AIDS", "AIRY", "AJAR", "AKIN", "ALAN", "ALEC", "ALGA", "ALIA", + "ALLY", "ALMA", "ALOE", "ALSO", "ALTO", "ALUM", "ALVA", "AMEN", + "AMES", "AMID", "AMMO", "AMOK", "AMOS", "AMRA", "ANDY", "ANEW", + "ANNA", "ANNE", "ANTE", "ANTI", "AQUA", "ARAB", "ARCH", "AREA", + "ARGO", "ARID", "ARMY", "ARTS", "ARTY", "ASIA", "ASKS", "ATOM", + "AUNT", "AURA", "AUTO", "AVER", "AVID", "AVIS", "AVON", "AVOW", + "AWAY", "AWRY", "BABE", "BABY", "BACH", "BACK", "BADE", "BAIL", + "BAIT", "BAKE", "BALD", "BALE", "BALI", "BALK", "BALL", "BALM", + "BAND", "BANE", "BANG", "BANK", "BARB", "BARD", "BARE", "BARK", + "BARN", "BARR", "BASE", "BASH", "BASK", "BASS", "BATE", "BATH", + "BAWD", "BAWL", "BEAD", "BEAK", "BEAM", "BEAN", "BEAR", "BEAT", + "BEAU", "BECK", "BEEF", "BEEN", "BEER", + "BEET", "BELA", "BELL", "BELT", "BEND", "BENT", "BERG", "BERN", + "BERT", "BESS", "BEST", "BETA", "BETH", "BHOY", "BIAS", "BIDE", + "BIEN", "BILE", "BILK", "BILL", "BIND", "BING", "BIRD", "BITE", + "BITS", "BLAB", "BLAT", "BLED", "BLEW", "BLOB", "BLOC", "BLOT", + "BLOW", "BLUE", "BLUM", "BLUR", "BOAR", "BOAT", "BOCA", "BOCK", + "BODE", "BODY", "BOGY", "BOHR", "BOIL", "BOLD", "BOLO", "BOLT", + "BOMB", "BONA", "BOND", "BONE", "BONG", "BONN", "BONY", "BOOK", + "BOOM", "BOON", "BOOT", "BORE", "BORG", "BORN", "BOSE", "BOSS", + "BOTH", "BOUT", "BOWL", "BOYD", "BRAD", "BRAE", "BRAG", "BRAN", + "BRAY", "BRED", "BREW", "BRIG", "BRIM", "BROW", "BUCK", "BUDD", + "BUFF", "BULB", "BULK", "BULL", "BUNK", "BUNT", "BUOY", "BURG", + "BURL", "BURN", "BURR", "BURT", "BURY", "BUSH", "BUSS", "BUST", + "BUSY", "BYTE", "CADY", "CAFE", "CAGE", "CAIN", "CAKE", "CALF", + "CALL", "CALM", "CAME", "CANE", "CANT", "CARD", "CARE", "CARL", + "CARR", "CART", "CASE", "CASH", "CASK", "CAST", "CAVE", "CEIL", + "CELL", "CENT", "CERN", "CHAD", "CHAR", "CHAT", "CHAW", "CHEF", + "CHEN", "CHEW", "CHIC", "CHIN", "CHOU", "CHOW", "CHUB", "CHUG", + "CHUM", "CITE", "CITY", "CLAD", "CLAM", "CLAN", "CLAW", "CLAY", + "CLOD", "CLOG", "CLOT", "CLUB", "CLUE", "COAL", "COAT", "COCA", + "COCK", "COCO", "CODA", "CODE", "CODY", "COED", "COIL", "COIN", + "COKE", "COLA", "COLD", "COLT", "COMA", "COMB", "COME", "COOK", + "COOL", "COON", "COOT", "CORD", "CORE", "CORK", "CORN", "COST", + "COVE", "COWL", "CRAB", "CRAG", "CRAM", "CRAY", "CREW", "CRIB", + "CROW", "CRUD", "CUBA", "CUBE", "CUFF", "CULL", "CULT", "CUNY", + "CURB", "CURD", "CURE", "CURL", "CURT", "CUTS", "DADE", "DALE", + "DAME", "DANA", "DANE", "DANG", "DANK", "DARE", "DARK", "DARN", + "DART", "DASH", "DATA", "DATE", "DAVE", "DAVY", "DAWN", "DAYS", + "DEAD", "DEAF", "DEAL", "DEAN", "DEAR", "DEBT", "DECK", "DEED", + "DEEM", "DEER", "DEFT", "DEFY", "DELL", "DENT", "DENY", "DESK", + "DIAL", "DICE", "DIED", "DIET", "DIME", "DINE", "DING", "DINT", + "DIRE", "DIRT", "DISC", "DISH", "DISK", "DIVE", "DOCK", "DOES", + "DOLE", "DOLL", "DOLT", "DOME", "DONE", "DOOM", "DOOR", "DORA", + "DOSE", "DOTE", "DOUG", "DOUR", "DOVE", "DOWN", "DRAB", "DRAG", + "DRAM", "DRAW", "DREW", "DRUB", "DRUG", "DRUM", "DUAL", "DUCK", + "DUCT", "DUEL", "DUET", "DUKE", "DULL", "DUMB", "DUNE", "DUNK", + "DUSK", "DUST", "DUTY", "EACH", "EARL", "EARN", "EASE", "EAST", + "EASY", "EBEN", "ECHO", "EDDY", "EDEN", "EDGE", "EDGY", "EDIT", + "EDNA", "EGAN", "ELAN", "ELBA", "ELLA", "ELSE", "EMIL", "EMIT", + "EMMA", "ENDS", "ERIC", "EROS", "EVEN", "EVER", "EVIL", "EYED", + "FACE", "FACT", "FADE", "FAIL", "FAIN", "FAIR", "FAKE", "FALL", + "FAME", "FANG", "FARM", "FAST", "FATE", "FAWN", "FEAR", "FEAT", + "FEED", "FEEL", "FEET", "FELL", "FELT", "FEND", "FERN", "FEST", + "FEUD", "FIEF", "FIGS", "FILE", "FILL", "FILM", "FIND", "FINE", + "FINK", "FIRE", "FIRM", "FISH", "FISK", "FIST", "FITS", "FIVE", + "FLAG", "FLAK", "FLAM", "FLAT", "FLAW", "FLEA", "FLED", "FLEW", + "FLIT", "FLOC", "FLOG", "FLOW", "FLUB", "FLUE", "FOAL", "FOAM", + "FOGY", "FOIL", "FOLD", "FOLK", "FOND", "FONT", "FOOD", "FOOL", + "FOOT", "FORD", "FORE", "FORK", "FORM", "FORT", "FOSS", "FOUL", + "FOUR", "FOWL", "FRAU", "FRAY", "FRED", "FREE", "FRET", "FREY", + "FROG", "FROM", "FUEL", "FULL", "FUME", "FUND", "FUNK", "FURY", + "FUSE", "FUSS", "GAFF", "GAGE", "GAIL", "GAIN", "GAIT", "GALA", + "GALE", "GALL", "GALT", "GAME", "GANG", "GARB", "GARY", "GASH", + "GATE", "GAUL", "GAUR", "GAVE", "GAWK", "GEAR", "GELD", "GENE", + "GENT", "GERM", "GETS", "GIBE", "GIFT", "GILD", "GILL", "GILT", + "GINA", "GIRD", "GIRL", "GIST", "GIVE", "GLAD", "GLEE", "GLEN", + "GLIB", "GLOB", "GLOM", "GLOW", "GLUE", "GLUM", "GLUT", "GOAD", + "GOAL", "GOAT", "GOER", "GOES", "GOLD", "GOLF", "GONE", "GONG", + "GOOD", "GOOF", "GORE", "GORY", "GOSH", "GOUT", "GOWN", "GRAB", + "GRAD", "GRAY", "GREG", "GREW", "GREY", "GRID", "GRIM", "GRIN", + "GRIT", "GROW", "GRUB", "GULF", "GULL", "GUNK", "GURU", "GUSH", + "GUST", "GWEN", "GWYN", "HAAG", "HAAS", "HACK", "HAIL", "HAIR", + "HALE", "HALF", "HALL", "HALO", "HALT", "HAND", "HANG", "HANK", + "HANS", "HARD", "HARK", "HARM", "HART", "HASH", "HAST", "HATE", + "HATH", "HAUL", "HAVE", "HAWK", "HAYS", "HEAD", "HEAL", "HEAR", + "HEAT", "HEBE", "HECK", "HEED", "HEEL", "HEFT", "HELD", "HELL", + "HELM", "HERB", "HERD", "HERE", "HERO", "HERS", "HESS", "HEWN", + "HICK", "HIDE", "HIGH", "HIKE", "HILL", "HILT", "HIND", "HINT", + "HIRE", "HISS", "HIVE", "HOBO", "HOCK", "HOFF", "HOLD", "HOLE", + "HOLM", "HOLT", "HOME", "HONE", "HONK", "HOOD", "HOOF", "HOOK", + "HOOT", "HORN", "HOSE", "HOST", "HOUR", "HOVE", "HOWE", "HOWL", + "HOYT", "HUCK", "HUED", "HUFF", "HUGE", "HUGH", "HUGO", "HULK", + "HULL", "HUNK", "HUNT", "HURD", "HURL", "HURT", "HUSH", "HYDE", + "HYMN", "IBIS", "ICON", "IDEA", "IDLE", "IFFY", "INCA", "INCH", + "INTO", "IONS", "IOTA", "IOWA", "IRIS", "IRMA", "IRON", "ISLE", + "ITCH", "ITEM", "IVAN", "JACK", "JADE", "JAIL", "JAKE", "JANE", + "JAVA", "JEAN", "JEFF", "JERK", "JESS", "JEST", "JIBE", "JILL", + "JILT", "JIVE", "JOAN", "JOBS", "JOCK", "JOEL", "JOEY", "JOHN", + "JOIN", "JOKE", "JOLT", "JOVE", "JUDD", "JUDE", "JUDO", "JUDY", + "JUJU", "JUKE", "JULY", "JUNE", "JUNK", "JUNO", "JURY", "JUST", + "JUTE", "KAHN", "KALE", "KANE", "KANT", "KARL", "KATE", "KEEL", + "KEEN", "KENO", "KENT", "KERN", "KERR", "KEYS", "KICK", "KILL", + "KIND", "KING", "KIRK", "KISS", "KITE", "KLAN", "KNEE", "KNEW", + "KNIT", "KNOB", "KNOT", "KNOW", "KOCH", "KONG", "KUDO", "KURD", + "KURT", "KYLE", "LACE", "LACK", "LACY", "LADY", "LAID", "LAIN", + "LAIR", "LAKE", "LAMB", "LAME", "LAND", "LANE", "LANG", "LARD", + "LARK", "LASS", "LAST", "LATE", "LAUD", "LAVA", "LAWN", "LAWS", + "LAYS", "LEAD", "LEAF", "LEAK", "LEAN", "LEAR", "LEEK", "LEER", + "LEFT", "LEND", "LENS", "LENT", "LEON", "LESK", "LESS", "LEST", + "LETS", "LIAR", "LICE", "LICK", "LIED", "LIEN", "LIES", "LIEU", + "LIFE", "LIFT", "LIKE", "LILA", "LILT", "LILY", "LIMA", "LIMB", + "LIME", "LIND", "LINE", "LINK", "LINT", "LION", "LISA", "LIST", + "LIVE", "LOAD", "LOAF", "LOAM", "LOAN", "LOCK", "LOFT", "LOGE", + "LOIS", "LOLA", "LONE", "LONG", "LOOK", "LOON", "LOOT", "LORD", + "LORE", "LOSE", "LOSS", "LOST", "LOUD", "LOVE", "LOWE", "LUCK", + "LUCY", "LUGE", "LUKE", "LULU", "LUND", "LUNG", "LURA", "LURE", + "LURK", "LUSH", "LUST", "LYLE", "LYNN", "LYON", "LYRA", "MACE", + "MADE", "MAGI", "MAID", "MAIL", "MAIN", "MAKE", "MALE", "MALI", + "MALL", "MALT", "MANA", "MANN", "MANY", "MARC", "MARE", "MARK", + "MARS", "MART", "MARY", "MASH", "MASK", "MASS", "MAST", "MATE", + "MATH", "MAUL", "MAYO", "MEAD", "MEAL", "MEAN", "MEAT", "MEEK", + "MEET", "MELD", "MELT", "MEMO", "MEND", "MENU", "MERT", "MESH", + "MESS", "MICE", "MIKE", "MILD", "MILE", "MILK", "MILL", "MILT", + "MIMI", "MIND", "MINE", "MINI", "MINK", "MINT", "MIRE", "MISS", + "MIST", "MITE", "MITT", "MOAN", "MOAT", "MOCK", "MODE", "MOLD", + "MOLE", "MOLL", "MOLT", "MONA", "MONK", "MONT", "MOOD", "MOON", + "MOOR", "MOOT", "MORE", "MORN", "MORT", "MOSS", "MOST", "MOTH", + "MOVE", "MUCH", "MUCK", "MUDD", "MUFF", "MULE", "MULL", "MURK", + "MUSH", "MUST", "MUTE", "MUTT", "MYRA", "MYTH", "NAGY", "NAIL", + "NAIR", "NAME", "NARY", "NASH", "NAVE", "NAVY", "NEAL", "NEAR", + "NEAT", "NECK", "NEED", "NEIL", "NELL", "NEON", "NERO", "NESS", + "NEST", "NEWS", "NEWT", "NIBS", "NICE", "NICK", "NILE", "NINA", + "NINE", "NOAH", "NODE", "NOEL", "NOLL", "NONE", "NOOK", "NOON", + "NORM", "NOSE", "NOTE", "NOUN", "NOVA", "NUDE", "NULL", "NUMB", + "OATH", "OBEY", "OBOE", "ODIN", "OHIO", "OILY", "OINT", "OKAY", + "OLAF", "OLDY", "OLGA", "OLIN", "OMAN", "OMEN", "OMIT", "ONCE", + "ONES", "ONLY", "ONTO", "ONUS", "ORAL", "ORGY", "OSLO", "OTIS", + "OTTO", "OUCH", "OUST", "OUTS", "OVAL", "OVEN", "OVER", "OWLY", + "OWNS", "QUAD", "QUIT", "QUOD", "RACE", "RACK", "RACY", "RAFT", + "RAGE", "RAID", "RAIL", "RAIN", "RAKE", "RANK", "RANT", "RARE", + "RASH", "RATE", "RAVE", "RAYS", "READ", "REAL", "REAM", "REAR", + "RECK", "REED", "REEF", "REEK", "REEL", "REID", "REIN", "RENA", + "REND", "RENT", "REST", "RICE", "RICH", "RICK", "RIDE", "RIFT", + "RILL", "RIME", "RING", "RINK", "RISE", "RISK", "RITE", "ROAD", + "ROAM", "ROAR", "ROBE", "ROCK", "RODE", "ROIL", "ROLL", "ROME", + "ROOD", "ROOF", "ROOK", "ROOM", "ROOT", "ROSA", "ROSE", "ROSS", + "ROSY", "ROTH", "ROUT", "ROVE", "ROWE", "ROWS", "RUBE", "RUBY", + "RUDE", "RUDY", "RUIN", "RULE", "RUNG", "RUNS", "RUNT", "RUSE", + "RUSH", "RUSK", "RUSS", "RUST", "RUTH", "SACK", "SAFE", "SAGE", + "SAID", "SAIL", "SALE", "SALK", "SALT", "SAME", "SAND", "SANE", + "SANG", "SANK", "SARA", "SAUL", "SAVE", "SAYS", "SCAN", "SCAR", + "SCAT", "SCOT", "SEAL", "SEAM", "SEAR", "SEAT", "SEED", "SEEK", + "SEEM", "SEEN", "SEES", "SELF", "SELL", "SEND", "SENT", "SETS", + "SEWN", "SHAG", "SHAM", "SHAW", "SHAY", "SHED", "SHIM", "SHIN", + "SHOD", "SHOE", "SHOT", "SHOW", "SHUN", "SHUT", "SICK", "SIDE", + "SIFT", "SIGH", "SIGN", "SILK", "SILL", "SILO", "SILT", "SINE", + "SING", "SINK", "SIRE", "SITE", "SITS", "SITU", "SKAT", "SKEW", + "SKID", "SKIM", "SKIN", "SKIT", "SLAB", "SLAM", "SLAT", "SLAY", + "SLED", "SLEW", "SLID", "SLIM", "SLIT", "SLOB", "SLOG", "SLOT", + "SLOW", "SLUG", "SLUM", "SLUR", "SMOG", "SMUG", "SNAG", "SNOB", + "SNOW", "SNUB", "SNUG", "SOAK", "SOAR", "SOCK", "SODA", "SOFA", + "SOFT", "SOIL", "SOLD", "SOME", "SONG", "SOON", "SOOT", "SORE", + "SORT", "SOUL", "SOUR", "SOWN", "STAB", "STAG", "STAN", "STAR", + "STAY", "STEM", "STEW", "STIR", "STOW", "STUB", "STUN", "SUCH", + "SUDS", "SUIT", "SULK", "SUMS", "SUNG", "SUNK", "SURE", "SURF", + "SWAB", "SWAG", "SWAM", "SWAN", "SWAT", "SWAY", "SWIM", "SWUM", + "TACK", "TACT", "TAIL", "TAKE", "TALE", "TALK", "TALL", "TANK", + "TASK", "TATE", "TAUT", "TEAL", "TEAM", "TEAR", "TECH", "TEEM", + "TEEN", "TEET", "TELL", "TEND", "TENT", "TERM", "TERN", "TESS", + "TEST", "THAN", "THAT", "THEE", "THEM", "THEN", "THEY", "THIN", + "THIS", "THUD", "THUG", "TICK", "TIDE", "TIDY", "TIED", "TIER", + "TILE", "TILL", "TILT", "TIME", "TINA", "TINE", "TINT", "TINY", + "TIRE", "TOAD", "TOGO", "TOIL", "TOLD", "TOLL", "TONE", "TONG", + "TONY", "TOOK", "TOOL", "TOOT", "TORE", "TORN", "TOTE", "TOUR", + "TOUT", "TOWN", "TRAG", "TRAM", "TRAY", "TREE", "TREK", "TRIG", + "TRIM", "TRIO", "TROD", "TROT", "TROY", "TRUE", "TUBA", "TUBE", + "TUCK", "TUFT", "TUNA", "TUNE", "TUNG", "TURF", "TURN", "TUSK", + "TWIG", "TWIN", "TWIT", "ULAN", "UNIT", "URGE", "USED", "USER", + "USES", "UTAH", "VAIL", "VAIN", "VALE", "VARY", "VASE", "VAST", + "VEAL", "VEDA", "VEIL", "VEIN", "VEND", "VENT", "VERB", "VERY", + "VETO", "VICE", "VIEW", "VINE", "VISE", "VOID", "VOLT", "VOTE", + "WACK", "WADE", "WAGE", "WAIL", "WAIT", "WAKE", "WALE", "WALK", + "WALL", "WALT", "WAND", "WANE", "WANG", "WANT", "WARD", "WARM", + "WARN", "WART", "WASH", "WAST", "WATS", "WATT", "WAVE", "WAVY", + "WAYS", "WEAK", "WEAL", "WEAN", "WEAR", "WEED", "WEEK", "WEIR", + "WELD", "WELL", "WELT", "WENT", "WERE", "WERT", "WEST", "WHAM", + "WHAT", "WHEE", "WHEN", "WHET", "WHOA", "WHOM", "WICK", "WIFE", + "WILD", "WILL", "WIND", "WINE", "WING", "WINK", "WINO", "WIRE", + "WISE", "WISH", "WITH", "WOLF", "WONT", "WOOD", "WOOL", "WORD", + "WORE", "WORK", "WORM", "WORN", "WOVE", "WRIT", "WYNN", "YALE", + "YANG", "YANK", "YARD", "YARN", "YAWL", "YAWN", "YEAH", "YEAR", + "YELL", "YOGA", "YOKE" ] + +if __name__=='__main__': + data = [('EB33F77EE73D4053', 'TIDE ITCH SLOW REIN RULE MOT'), + ('CCAC2AED591056BE4F90FD441C534766', + 'RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE'), + ('EFF81F9BFBC65350920CDD7416DE8009', + 'TROD MUTE TAIL WARM CHAR KONG HAAG CITY BORE O TEAL AWL') + ] + + for key_hex, words in data: + print('Trying key', key_hex) + key_bin=binascii.a2b_hex(key_hex) + w2=key_to_english(key_bin) + if w2!=words: + print('key_to_english fails on key', key_hex, ', producing', w2) + k2=english_to_key(words) + if k2!=key_bin: + print('english_to_key fails on key', key_hex, ', producing', + repr(k2)) + + diff --git a/lib27/site-packages/Crypto/Util/__init__.py b/lib27/site-packages/Crypto/Util/__init__.py new file mode 100644 index 000000000..f12214d30 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/__init__.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Miscellaneous modules + +Contains useful modules that don't belong into any of the +other Crypto.* subpackages. + +======================== ============================================= +Module Description +======================== ============================================= +`Crypto.Util.number` Number-theoretic functions (primality testing, etc.) +`Crypto.Util.Counter` Fast counter functions for CTR cipher modes. +`Crypto.Util.RFC1751` Converts between 128-bit keys and human-readable + strings of words. +`Crypto.Util.asn1` Minimal support for ASN.1 DER encoding +`Crypto.Util.Padding` Set of functions for adding and removing padding. +======================== ============================================= + +:undocumented: _galois, _number_new, cpuid, py3compat, _raw_api +""" + +__all__ = ['RFC1751', 'number', 'strxor', 'asn1', 'Counter', 'Padding'] + diff --git a/lib27/site-packages/Crypto/Util/_cpu_features.py b/lib27/site-packages/Crypto/Util/_cpu_features.py new file mode 100644 index 000000000..b3039b587 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/_cpu_features.py @@ -0,0 +1,46 @@ +# =================================================================== +# +# Copyright (c) 2018, Helder Eijs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util._raw_api import load_pycryptodome_raw_lib + + +_raw_cpuid_lib = load_pycryptodome_raw_lib("Crypto.Util._cpuid_c", + """ + int have_aes_ni(void); + int have_clmul(void); + """) + + +def have_aes_ni(): + return _raw_cpuid_lib.have_aes_ni() + + +def have_clmul(): + return _raw_cpuid_lib.have_clmul() diff --git a/lib27/site-packages/Crypto/Util/_cpuid_c.pyd b/lib27/site-packages/Crypto/Util/_cpuid_c.pyd new file mode 100644 index 000000000..242b337c0 Binary files /dev/null and b/lib27/site-packages/Crypto/Util/_cpuid_c.pyd differ diff --git a/lib27/site-packages/Crypto/Util/_file_system.py b/lib27/site-packages/Crypto/Util/_file_system.py new file mode 100644 index 000000000..1cb0c4bf4 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/_file_system.py @@ -0,0 +1,54 @@ +# =================================================================== +# +# Copyright (c) 2016, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import os + + +def pycryptodome_filename(dir_comps, filename): + """Return the complete file name for the module + + dir_comps : list of string + The list of directory names in the PyCryptodome package. + The first element must be "Crypto". + + filename : string + The filename (inclusing extension) in the target directory. + """ + + if dir_comps[0] != "Crypto": + raise ValueError("Only available for modules under 'Crypto'") + + dir_comps = list(dir_comps[1:]) + [filename] + + util_lib, _ = os.path.split(os.path.abspath(__file__)) + root_lib = os.path.join(util_lib, "..") + + return os.path.join(root_lib, *dir_comps) + diff --git a/lib27/site-packages/Crypto/Util/_raw_api.py b/lib27/site-packages/Crypto/Util/_raw_api.py new file mode 100644 index 000000000..99eb036cb --- /dev/null +++ b/lib27/site-packages/Crypto/Util/_raw_api.py @@ -0,0 +1,318 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +import abc +import sys +import platform +from Crypto.Util.py3compat import byte_string +from Crypto.Util._file_system import pycryptodome_filename + +# +# List of file suffixes for Python extensions +# +if sys.version_info[0] < 3: + + import imp + extension_suffixes = [] + for ext, mod, typ in imp.get_suffixes(): + if typ == imp.C_EXTENSION: + extension_suffixes.append(ext) + +else: + + from importlib import machinery + extension_suffixes = machinery.EXTENSION_SUFFIXES + +# Which types with buffer interface we support (apart from byte strings) +if sys.version_info[0] == 2 and sys.version_info[1] < 7: + _buffer_type = (bytearray) +else: + _buffer_type = (bytearray, memoryview) + + +class _VoidPointer(object): + @abc.abstractmethod + def get(self): + """Return the memory location we point to""" + return + + @abc.abstractmethod + def address_of(self): + """Return a raw pointer to this pointer""" + return + + +try: + if sys.version_info[0] == 2 and sys.version_info[1] < 7: + raise ImportError("CFFI is only supported with Python 2.7+") + + # Starting from v2.18, pycparser (used by cffi for in-line ABI mode) + # stops working correctly when PYOPTIMIZE==2 or the parameter -OO is + # passed. In that case, we fall back to ctypes. + # Note that PyPy ships with an old version of pycparser so we can keep + # using cffi there. + # See https://github.com/Legrandin/pycryptodome/issues/228 + if platform.python_implementation() != "PyPy" and sys.flags.optimize == 2: + raise ImportError("CFFI with optimize=2 fails due to pycparser bug.") + + from cffi import FFI + + ffi = FFI() + null_pointer = ffi.NULL + uint8_t_type = ffi.typeof(ffi.new("const uint8_t*")) + + _Array = ffi.new("uint8_t[1]").__class__.__bases__ + + def load_lib(name, cdecl): + """Load a shared library and return a handle to it. + + @name, either an absolute path or the name of a library + in the system search path. + + @cdecl, the C function declarations. + """ + + lib = ffi.dlopen(name) + ffi.cdef(cdecl) + return lib + + def c_ulong(x): + """Convert a Python integer to unsigned long""" + return x + + c_ulonglong = c_ulong + + def c_size_t(x): + """Convert a Python integer to size_t""" + return x + + def create_string_buffer(init_or_size, size=None): + """Allocate the given amount of bytes (initially set to 0)""" + + if isinstance(init_or_size, bytes): + size = max(len(init_or_size) + 1, size) + result = ffi.new("uint8_t[]", size) + result[:] = init_or_size + else: + if size: + raise ValueError("Size must be specified once only") + result = ffi.new("uint8_t[]", init_or_size) + return result + + def get_c_string(c_string): + """Convert a C string into a Python byte sequence""" + return ffi.string(c_string) + + def get_raw_buffer(buf): + """Convert a C buffer into a Python byte sequence""" + return ffi.buffer(buf)[:] + + def c_uint8_ptr(data): + if isinstance(data, _buffer_type): + # This only works for cffi >= 1.7 + return ffi.cast(uint8_t_type, ffi.from_buffer(data)) + elif byte_string(data) or isinstance(data, _Array): + return data + else: + raise TypeError("Object type %s cannot be passed to C code" % type(data)) + + class VoidPointer_cffi(_VoidPointer): + """Model a newly allocated pointer to void""" + + def __init__(self): + self._pp = ffi.new("void *[1]") + + def get(self): + return self._pp[0] + + def address_of(self): + return self._pp + + def VoidPointer(): + return VoidPointer_cffi() + + backend = "cffi" + +except ImportError: + + import ctypes + from ctypes import (CDLL, c_void_p, byref, c_ulong, c_ulonglong, c_size_t, + create_string_buffer, c_ubyte) + from ctypes.util import find_library + from ctypes import Array as _Array + + null_pointer = None + + def load_lib(name, cdecl): + import platform + bits, linkage = platform.architecture() + if "." not in name and not linkage.startswith("Win"): + full_name = find_library(name) + if full_name is None: + raise OSError("Cannot load library '%s'" % name) + name = full_name + return CDLL(name) + + def get_c_string(c_string): + return c_string.value + + def get_raw_buffer(buf): + return buf.raw + + # ---- Get raw pointer --- + + if sys.version_info[0] == 2 and sys.version_info[1] == 6: + # ctypes in 2.6 does not define c_ssize_t. Replacing it + # with c_size_t keeps the structure correctely laid out + _c_ssize_t = c_size_t + else: + _c_ssize_t = ctypes.c_ssize_t + + _PyBUF_SIMPLE = 0 + _PyObject_GetBuffer = ctypes.pythonapi.PyObject_GetBuffer + _py_object = ctypes.py_object + _c_ssize_p = ctypes.POINTER(_c_ssize_t) + + # See Include/object.h for CPython + # and https://github.com/pallets/click/blob/master/click/_winconsole.py + class _Py_buffer(ctypes.Structure): + _fields_ = [ + ('buf', c_void_p), + ('obj', ctypes.py_object), + ('len', _c_ssize_t), + ('itemsize', _c_ssize_t), + ('readonly', ctypes.c_int), + ('ndim', ctypes.c_int), + ('format', ctypes.c_char_p), + ('shape', _c_ssize_p), + ('strides', _c_ssize_p), + ('suboffsets', _c_ssize_p), + ('internal', c_void_p) + ] + + # Extra field for CPython 2.6/2.7 + if sys.version_info[0] == 2: + _fields_.insert(-1, ('smalltable', _c_ssize_t * 2)) + + def c_uint8_ptr(data): + if byte_string(data) or isinstance(data, _Array): + return data + elif isinstance(data, _buffer_type): + obj = _py_object(data) + buf = _Py_buffer() + _PyObject_GetBuffer(obj, byref(buf), _PyBUF_SIMPLE) + buffer_type = c_ubyte * buf.len + return buffer_type.from_address(buf.buf) + else: + raise TypeError("Object type %s cannot be passed to C code" % type(data)) + + # --- + + class VoidPointer_ctypes(_VoidPointer): + """Model a newly allocated pointer to void""" + + def __init__(self): + self._p = c_void_p() + + def get(self): + return self._p + + def address_of(self): + return byref(self._p) + + def VoidPointer(): + return VoidPointer_ctypes() + + backend = "ctypes" + del ctypes + + +class SmartPointer(object): + """Class to hold a non-managed piece of memory""" + + def __init__(self, raw_pointer, destructor): + self._raw_pointer = raw_pointer + self._destructor = destructor + + def get(self): + return self._raw_pointer + + def release(self): + rp, self._raw_pointer = self._raw_pointer, None + return rp + + def __del__(self): + try: + if self._raw_pointer is not None: + self._destructor(self._raw_pointer) + self._raw_pointer = None + except AttributeError: + pass + + +def load_pycryptodome_raw_lib(name, cdecl): + """Load a shared library and return a handle to it. + + @name, the name of the library expressed as a PyCryptodome module, + for instance Crypto.Cipher._raw_cbc. + + @cdecl, the C function declarations. + """ + + split = name.split(".") + dir_comps, basename = split[:-1], split[-1] + attempts = [] + for ext in extension_suffixes: + try: + filename = basename + ext + return load_lib(pycryptodome_filename(dir_comps, filename), + cdecl) + except OSError as exp: + attempts.append("Trying '%s': %s" % (filename, str(exp))) + raise OSError("Cannot load native module '%s': %s" % (name, ", ".join(attempts))) + + +if sys.version_info[:2] != (2, 6): + + def is_buffer(x): + """Return True if object x supports the buffer interface""" + return isinstance(x, (bytes, bytearray, memoryview)) + + def is_writeable_buffer(x): + return (isinstance(x, bytearray) or + (isinstance(x, memoryview) and not x.readonly)) + +else: + + def is_buffer(x): + return isinstance(x, (bytes, bytearray)) + + def is_writeable_buffer(x): + return isinstance(x, bytearray) diff --git a/lib27/site-packages/Crypto/Util/_strxor.pyd b/lib27/site-packages/Crypto/Util/_strxor.pyd new file mode 100644 index 000000000..6c9db4850 Binary files /dev/null and b/lib27/site-packages/Crypto/Util/_strxor.pyd differ diff --git a/lib27/site-packages/Crypto/Util/asn1.py b/lib27/site-packages/Crypto/Util/asn1.py new file mode 100644 index 000000000..cda0f64c0 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/asn1.py @@ -0,0 +1,935 @@ +# -*- coding: ascii -*- +# +# Util/asn1.py : Minimal support for ASN.1 DER binary encoding. +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +import struct + +from Crypto.Util.py3compat import byte_string, b, bchr, bord + +from Crypto.Util.number import long_to_bytes, bytes_to_long + +__all__ = ['DerObject', 'DerInteger', 'DerOctetString', 'DerNull', + 'DerSequence', 'DerObjectId', 'DerBitString', 'DerSetOf'] + + +def _is_number(x, only_non_negative=False): + test = 0 + try: + test = x + test + except TypeError: + return False + return not only_non_negative or x >= 0 + + +class BytesIO_EOF(object): + """This class differs from BytesIO in that a ValueError exception is + raised whenever EOF is reached.""" + + def __init__(self, initial_bytes): + self._buffer = initial_bytes + self._index = 0 + self._bookmark = None + + def set_bookmark(self): + self._bookmark = self._index + + def data_since_bookmark(self): + assert self._bookmark is not None + return self._buffer[self._bookmark:self._index] + + def remaining_data(self): + return len(self._buffer) - self._index + + def read(self, length): + new_index = self._index + length + if new_index > len(self._buffer): + raise ValueError + + result = self._buffer[self._index:new_index] + self._index = new_index + return result + + def read_byte(self): + return bord(self.read(1)[0]) + + +class DerObject(object): + """Base class for defining a single DER object. + + This class should never be directly instantiated. + """ + + def __init__(self, asn1Id=None, payload=b'', implicit=None, + constructed=False, explicit=None): + """Initialize the DER object according to a specific ASN.1 type. + + :Parameters: + asn1Id : integer + The universal DER tag number for this object + (e.g. 0x10 for a SEQUENCE). + If None, the tag is not known yet. + + payload : byte string + The initial payload of the object (that it, + the content octets). + If not specified, the payload is empty. + + implicit : integer + The IMPLICIT tag number to use for the encoded object. + It overrides the universal tag *asn1Id*. + + constructed : bool + True when the ASN.1 type is *constructed*. + False when it is *primitive*. + + explicit : integer + The EXPLICIT tag number to use for the encoded object. + """ + + if asn1Id is None: + # The tag octet will be read in with ``decode`` + self._tag_octet = None + return + asn1Id = self._convertTag(asn1Id) + + self.payload = payload + + # In a BER/DER identifier octet: + # * bits 4-0 contain the tag value + # * bit 5 is set if the type is 'constructed' + # and unset if 'primitive' + # * bits 7-6 depend on the encoding class + # + # Class | Bit 7, Bit 6 + # ---------------------------------- + # universal | 0 0 + # application | 0 1 + # context-spec | 1 0 (default for IMPLICIT/EXPLICIT) + # private | 1 1 + # + if None not in (explicit, implicit): + raise ValueError("Explicit and implicit tags are" + " mutually exclusive") + + if implicit is not None: + self._tag_octet = 0x80 | 0x20 * constructed | self._convertTag(implicit) + return + + if explicit is not None: + self._tag_octet = 0xA0 | self._convertTag(explicit) + self._inner_tag_octet = 0x20 * constructed | asn1Id + return + + self._tag_octet = 0x20 * constructed | asn1Id + + def _convertTag(self, tag): + """Check if *tag* is a real DER tag. + Convert it from a character to number if necessary. + """ + if not _is_number(tag): + if len(tag) == 1: + tag = bord(tag[0]) + # Ensure that tag is a low tag + if not (_is_number(tag) and 0 <= tag < 0x1F): + raise ValueError("Wrong DER tag") + return tag + + @staticmethod + def _definite_form(length): + """Build length octets according to BER/DER + definite form. + """ + if length > 127: + encoding = long_to_bytes(length) + return bchr(len(encoding) + 128) + encoding + return bchr(length) + + def encode(self): + """Return this DER element, fully encoded as a binary byte string.""" + + # Concatenate identifier octets, length octets, + # and contents octets + + output_payload = self.payload + + # In case of an EXTERNAL tag, first encode the inner + # element. + if hasattr(self, "_inner_tag_octet"): + output_payload = (bchr(self._inner_tag_octet) + + self._definite_form(len(self.payload)) + + self.payload) + + return (bchr(self._tag_octet) + + self._definite_form(len(output_payload)) + + output_payload) + + def _decodeLen(self, s): + """Decode DER length octets from a file.""" + + length = s.read_byte() + if length <= 127: + return length + payloadLength = bytes_to_long(s.read(length & 0x7F)) + # According to DER (but not BER) the long form is used + # only when the length doesn't fit into 7 bits. + if payloadLength <= 127: + raise ValueError("Not a DER length tag (but still valid BER).") + return payloadLength + + def decode(self, der_encoded, strict=False): + """Decode a complete DER element, and re-initializes this + object with it. + + Args: + der_encoded (byte string): A complete DER element. + + Raises: + ValueError: in case of parsing errors. + """ + + if not byte_string(der_encoded): + raise ValueError("Input is not a byte string") + + s = BytesIO_EOF(der_encoded) + self._decodeFromStream(s, strict) + + # There shouldn't be other bytes left + if s.remaining_data() > 0: + raise ValueError("Unexpected extra data after the DER structure") + + return self + + def _decodeFromStream(self, s, strict): + """Decode a complete DER element from a file.""" + + idOctet = s.read_byte() + if self._tag_octet is not None: + if idOctet != self._tag_octet: + raise ValueError("Unexpected DER tag") + else: + self._tag_octet = idOctet + length = self._decodeLen(s) + self.payload = s.read(length) + + # In case of an EXTERNAL tag, further decode the inner + # element. + if hasattr(self, "_inner_tag_octet"): + p = BytesIO_EOF(self.payload) + inner_octet = p.read_byte() + if inner_octet != self._inner_tag_octet: + raise ValueError("Unexpected internal DER tag") + length = self._decodeLen(p) + self.payload = p.read(length) + + # There shouldn't be other bytes left + if p.remaining_data() > 0: + raise ValueError("Unexpected extra data after the DER structure") + + +class DerInteger(DerObject): + """Class to model a DER INTEGER. + + An example of encoding is:: + + >>> from Crypto.Util.asn1 import DerInteger + >>> from binascii import hexlify, unhexlify + >>> int_der = DerInteger(9) + >>> print hexlify(int_der.encode()) + + which will show ``020109``, the DER encoding of 9. + + And for decoding:: + + >>> s = unhexlify(b'020109') + >>> try: + >>> int_der = DerInteger() + >>> int_der.decode(s) + >>> print int_der.value + >>> except ValueError: + >>> print "Not a valid DER INTEGER" + + the output will be ``9``. + + :ivar value: The integer value + :vartype value: integer + """ + + def __init__(self, value=0, implicit=None, explicit=None): + """Initialize the DER object as an INTEGER. + + :Parameters: + value : integer + The value of the integer. + + implicit : integer + The IMPLICIT tag to use for the encoded object. + It overrides the universal tag for INTEGER (2). + """ + + DerObject.__init__(self, 0x02, b'', implicit, + False, explicit) + self.value = value # The integer value + + def encode(self): + """Return the DER INTEGER, fully encoded as a + binary string.""" + + number = self.value + self.payload = b'' + while True: + self.payload = bchr(int(number & 255)) + self.payload + if 128 <= number <= 255: + self.payload = bchr(0x00) + self.payload + if -128 <= number <= 255: + break + number >>= 8 + return DerObject.encode(self) + + def decode(self, der_encoded, strict=False): + """Decode a complete DER INTEGER DER, and re-initializes this + object with it. + + Args: + der_encoded (byte string): A complete INTEGER DER element. + + Raises: + ValueError: in case of parsing errors. + """ + + return DerObject.decode(self, der_encoded, strict=strict) + + def _decodeFromStream(self, s, strict): + """Decode a complete DER INTEGER from a file.""" + + # Fill up self.payload + DerObject._decodeFromStream(self, s, strict) + + if strict: + if len(self.payload) == 0: + raise ValueError("Invalid encoding for DER INTEGER: empty payload") + if len(self.payload) >= 2 and struct.unpack('>H', self.payload[:2])[0] < 0x80: + raise ValueError("Invalid encoding for DER INTEGER: leading zero") + + # Derive self.value from self.payload + self.value = 0 + bits = 1 + for i in self.payload: + self.value *= 256 + self.value += bord(i) + bits <<= 8 + if self.payload and bord(self.payload[0]) & 0x80: + self.value -= bits + + +class DerSequence(DerObject): + """Class to model a DER SEQUENCE. + + This object behaves like a dynamic Python sequence. + + Sub-elements that are INTEGERs behave like Python integers. + + Any other sub-element is a binary string encoded as a complete DER + sub-element (TLV). + + An example of encoding is: + + >>> from Crypto.Util.asn1 import DerSequence, DerInteger + >>> from binascii import hexlify, unhexlify + >>> obj_der = unhexlify('070102') + >>> seq_der = DerSequence([4]) + >>> seq_der.append(9) + >>> seq_der.append(obj_der.encode()) + >>> print hexlify(seq_der.encode()) + + which will show ``3009020104020109070102``, the DER encoding of the + sequence containing ``4``, ``9``, and the object with payload ``02``. + + For decoding: + + >>> s = unhexlify(b'3009020104020109070102') + >>> try: + >>> seq_der = DerSequence() + >>> seq_der.decode(s) + >>> print len(seq_der) + >>> print seq_der[0] + >>> print seq_der[:] + >>> except ValueError: + >>> print "Not a valid DER SEQUENCE" + + the output will be:: + + 3 + 4 + [4, 9, b'\x07\x01\x02'] + + """ + + def __init__(self, startSeq=None, implicit=None): + """Initialize the DER object as a SEQUENCE. + + :Parameters: + startSeq : Python sequence + A sequence whose element are either integers or + other DER objects. + + implicit : integer + The IMPLICIT tag to use for the encoded object. + It overrides the universal tag for SEQUENCE (16). + """ + + DerObject.__init__(self, 0x10, b'', implicit, True) + if startSeq is None: + self._seq = [] + else: + self._seq = startSeq + + # A few methods to make it behave like a python sequence + + def __delitem__(self, n): + del self._seq[n] + + def __getitem__(self, n): + return self._seq[n] + + def __setitem__(self, key, value): + self._seq[key] = value + + def __setslice__(self, i, j, sequence): + self._seq[i:j] = sequence + + def __delslice__(self, i, j): + del self._seq[i:j] + + def __getslice__(self, i, j): + return self._seq[max(0, i):max(0, j)] + + def __len__(self): + return len(self._seq) + + def __iadd__(self, item): + self._seq.append(item) + return self + + def append(self, item): + self._seq.append(item) + return self + + def hasInts(self, only_non_negative=True): + """Return the number of items in this sequence that are + integers. + + Args: + only_non_negative (boolean): + If ``True``, negative integers are not counted in. + """ + + items = [x for x in self._seq if _is_number(x, only_non_negative)] + return len(items) + + def hasOnlyInts(self, only_non_negative=True): + """Return ``True`` if all items in this sequence are integers + or non-negative integers. + + This function returns False is the sequence is empty, + or at least one member is not an integer. + + Args: + only_non_negative (boolean): + If ``True``, the presence of negative integers + causes the method to return ``False``.""" + return self._seq and self.hasInts(only_non_negative) == len(self._seq) + + def encode(self): + """Return this DER SEQUENCE, fully encoded as a + binary string. + + Raises: + ValueError: if some elements in the sequence are neither integers + nor byte strings. + """ + self.payload = b'' + for item in self._seq: + if byte_string(item): + self.payload += item + elif _is_number(item): + self.payload += DerInteger(item).encode() + else: + self.payload += item.encode() + return DerObject.encode(self) + + def decode(self, der_encoded, strict=False, nr_elements=None, only_ints_expected=False): + """Decode a complete DER SEQUENCE, and re-initializes this + object with it. + + Args: + der_encoded (byte string): + A complete SEQUENCE DER element. + nr_elements (None or integer or list of integers): + The number of members the SEQUENCE can have + only_ints_expected (boolean): + Whether the SEQUENCE is expected to contain only integers. + strict (boolean): + Whether decoding must check for strict DER compliancy. + + Raises: + ValueError: in case of parsing errors. + + DER INTEGERs are decoded into Python integers. Any other DER + element is not decoded. Its validity is not checked. + """ + + self._nr_elements = nr_elements + result = DerObject.decode(self, der_encoded, strict=strict) + + if only_ints_expected and not self.hasOnlyInts(): + raise ValueError("Some members are not INTEGERs") + + return result + + def _decodeFromStream(self, s, strict): + """Decode a complete DER SEQUENCE from a file.""" + + self._seq = [] + + # Fill up self.payload + DerObject._decodeFromStream(self, s, strict) + + # Add one item at a time to self.seq, by scanning self.payload + p = BytesIO_EOF(self.payload) + while p.remaining_data() > 0: + p.set_bookmark() + + der = DerObject() + der._decodeFromStream(p, strict) + + # Parse INTEGERs differently + if der._tag_octet != 0x02: + self._seq.append(p.data_since_bookmark()) + else: + derInt = DerInteger() + #import pdb; pdb.set_trace() + data = p.data_since_bookmark() + derInt.decode(data, strict=strict) + self._seq.append(derInt.value) + + ok = True + if self._nr_elements is not None: + try: + ok = len(self._seq) in self._nr_elements + except TypeError: + ok = len(self._seq) == self._nr_elements + + if not ok: + raise ValueError("Unexpected number of members (%d)" + " in the sequence" % len(self._seq)) + + +class DerOctetString(DerObject): + """Class to model a DER OCTET STRING. + + An example of encoding is: + + >>> from Crypto.Util.asn1 import DerOctetString + >>> from binascii import hexlify, unhexlify + >>> os_der = DerOctetString(b'\\xaa') + >>> os_der.payload += b'\\xbb' + >>> print hexlify(os_der.encode()) + + which will show ``0402aabb``, the DER encoding for the byte string + ``b'\\xAA\\xBB'``. + + For decoding: + + >>> s = unhexlify(b'0402aabb') + >>> try: + >>> os_der = DerOctetString() + >>> os_der.decode(s) + >>> print hexlify(os_der.payload) + >>> except ValueError: + >>> print "Not a valid DER OCTET STRING" + + the output will be ``aabb``. + + :ivar payload: The content of the string + :vartype payload: byte string + """ + + def __init__(self, value=b'', implicit=None): + """Initialize the DER object as an OCTET STRING. + + :Parameters: + value : byte string + The initial payload of the object. + If not specified, the payload is empty. + + implicit : integer + The IMPLICIT tag to use for the encoded object. + It overrides the universal tag for OCTET STRING (4). + """ + DerObject.__init__(self, 0x04, value, implicit, False) + + +class DerNull(DerObject): + """Class to model a DER NULL element.""" + + def __init__(self): + """Initialize the DER object as a NULL.""" + + DerObject.__init__(self, 0x05, b'', None, False) + + +class DerObjectId(DerObject): + """Class to model a DER OBJECT ID. + + An example of encoding is: + + >>> from Crypto.Util.asn1 import DerObjectId + >>> from binascii import hexlify, unhexlify + >>> oid_der = DerObjectId("1.2") + >>> oid_der.value += ".840.113549.1.1.1" + >>> print hexlify(oid_der.encode()) + + which will show ``06092a864886f70d010101``, the DER encoding for the + RSA Object Identifier ``1.2.840.113549.1.1.1``. + + For decoding: + + >>> s = unhexlify(b'06092a864886f70d010101') + >>> try: + >>> oid_der = DerObjectId() + >>> oid_der.decode(s) + >>> print oid_der.value + >>> except ValueError: + >>> print "Not a valid DER OBJECT ID" + + the output will be ``1.2.840.113549.1.1.1``. + + :ivar value: The Object ID (OID), a dot separated list of integers + :vartype value: string + """ + + def __init__(self, value='', implicit=None, explicit=None): + """Initialize the DER object as an OBJECT ID. + + :Parameters: + value : string + The initial Object Identifier (e.g. "1.2.0.0.6.2"). + implicit : integer + The IMPLICIT tag to use for the encoded object. + It overrides the universal tag for OBJECT ID (6). + explicit : integer + The EXPLICIT tag to use for the encoded object. + """ + DerObject.__init__(self, 0x06, b'', implicit, False, explicit) + self.value = value + + def encode(self): + """Return the DER OBJECT ID, fully encoded as a + binary string.""" + + comps = [int(x) for x in self.value.split(".")] + if len(comps) < 2: + raise ValueError("Not a valid Object Identifier string") + self.payload = bchr(40*comps[0]+comps[1]) + for v in comps[2:]: + enc = [] + while v: + enc.insert(0, (v & 0x7F) | 0x80) + v >>= 7 + enc[-1] &= 0x7F + self.payload += b''.join([bchr(x) for x in enc]) + return DerObject.encode(self) + + def decode(self, der_encoded, strict=False): + """Decode a complete DER OBJECT ID, and re-initializes this + object with it. + + Args: + der_encoded (byte string): + A complete DER OBJECT ID. + strict (boolean): + Whether decoding must check for strict DER compliancy. + + Raises: + ValueError: in case of parsing errors. + """ + + return DerObject.decode(self, der_encoded, strict) + + def _decodeFromStream(self, s, strict): + """Decode a complete DER OBJECT ID from a file.""" + + # Fill up self.payload + DerObject._decodeFromStream(self, s, strict) + + # Derive self.value from self.payload + p = BytesIO_EOF(self.payload) + comps = [str(x) for x in divmod(p.read_byte(), 40)] + v = 0 + while p.remaining_data(): + c = p.read_byte() + v = v*128 + (c & 0x7F) + if not (c & 0x80): + comps.append(str(v)) + v = 0 + self.value = '.'.join(comps) + + +class DerBitString(DerObject): + """Class to model a DER BIT STRING. + + An example of encoding is: + + >>> from Crypto.Util.asn1 import DerBitString + >>> from binascii import hexlify, unhexlify + >>> bs_der = DerBitString(b'\\xaa') + >>> bs_der.value += b'\\xbb' + >>> print hexlify(bs_der.encode()) + + which will show ``040300aabb``, the DER encoding for the bit string + ``b'\\xAA\\xBB'``. + + For decoding: + + >>> s = unhexlify(b'040300aabb') + >>> try: + >>> bs_der = DerBitString() + >>> bs_der.decode(s) + >>> print hexlify(bs_der.value) + >>> except ValueError: + >>> print "Not a valid DER BIT STRING" + + the output will be ``aabb``. + + :ivar value: The content of the string + :vartype value: byte string + """ + + def __init__(self, value=b'', implicit=None, explicit=None): + """Initialize the DER object as a BIT STRING. + + :Parameters: + value : byte string or DER object + The initial, packed bit string. + If not specified, the bit string is empty. + implicit : integer + The IMPLICIT tag to use for the encoded object. + It overrides the universal tag for OCTET STRING (3). + explicit : integer + The EXPLICIT tag to use for the encoded object. + """ + DerObject.__init__(self, 0x03, b'', implicit, False, explicit) + + # The bitstring value (packed) + if isinstance(value, DerObject): + self.value = value.encode() + else: + self.value = value + + def encode(self): + """Return the DER BIT STRING, fully encoded as a + binary string.""" + + # Add padding count byte + self.payload = b'\x00' + self.value + return DerObject.encode(self) + + def decode(self, der_encoded, strict=False): + """Decode a complete DER BIT STRING, and re-initializes this + object with it. + + Args: + der_encoded (byte string): a complete DER BIT STRING. + strict (boolean): + Whether decoding must check for strict DER compliancy. + + Raises: + ValueError: in case of parsing errors. + """ + + return DerObject.decode(self, der_encoded, strict) + + def _decodeFromStream(self, s, strict): + """Decode a complete DER BIT STRING DER from a file.""" + + # Fill-up self.payload + DerObject._decodeFromStream(self, s, strict) + + if self.payload and bord(self.payload[0]) != 0: + raise ValueError("Not a valid BIT STRING") + + # Fill-up self.value + self.value = b'' + # Remove padding count byte + if self.payload: + self.value = self.payload[1:] + + +class DerSetOf(DerObject): + """Class to model a DER SET OF. + + An example of encoding is: + + >>> from Crypto.Util.asn1 import DerBitString + >>> from binascii import hexlify, unhexlify + >>> so_der = DerSetOf([4,5]) + >>> so_der.add(6) + >>> print hexlify(so_der.encode()) + + which will show ``3109020104020105020106``, the DER encoding + of a SET OF with items 4,5, and 6. + + For decoding: + + >>> s = unhexlify(b'3109020104020105020106') + >>> try: + >>> so_der = DerSetOf() + >>> so_der.decode(s) + >>> print [x for x in so_der] + >>> except ValueError: + >>> print "Not a valid DER SET OF" + + the output will be ``[4, 5, 6]``. + """ + + def __init__(self, startSet=None, implicit=None): + """Initialize the DER object as a SET OF. + + :Parameters: + startSet : container + The initial set of integers or DER encoded objects. + implicit : integer + The IMPLICIT tag to use for the encoded object. + It overrides the universal tag for SET OF (17). + """ + DerObject.__init__(self, 0x11, b'', implicit, True) + self._seq = [] + + # All elements must be of the same type (and therefore have the + # same leading octet) + self._elemOctet = None + + if startSet: + for e in startSet: + self.add(e) + + def __getitem__(self, n): + return self._seq[n] + + def __iter__(self): + return iter(self._seq) + + def __len__(self): + return len(self._seq) + + def add(self, elem): + """Add an element to the set. + + Args: + elem (byte string or integer): + An element of the same type of objects already in the set. + It can be an integer or a DER encoded object. + """ + + if _is_number(elem): + eo = 0x02 + elif isinstance(elem, DerObject): + eo = self._tag_octet + else: + eo = bord(elem[0]) + + if self._elemOctet != eo: + if self._elemOctet is not None: + raise ValueError("New element does not belong to the set") + self._elemOctet = eo + + if elem not in self._seq: + self._seq.append(elem) + + def decode(self, der_encoded, strict=False): + """Decode a complete SET OF DER element, and re-initializes this + object with it. + + DER INTEGERs are decoded into Python integers. Any other DER + element is left undecoded; its validity is not checked. + + Args: + der_encoded (byte string): a complete DER BIT SET OF. + strict (boolean): + Whether decoding must check for strict DER compliancy. + + Raises: + ValueError: in case of parsing errors. + """ + + return DerObject.decode(self, der_encoded, strict) + + def _decodeFromStream(self, s, strict): + """Decode a complete DER SET OF from a file.""" + + self._seq = [] + + # Fill up self.payload + DerObject._decodeFromStream(self, s, strict) + + # Add one item at a time to self.seq, by scanning self.payload + p = BytesIO_EOF(self.payload) + setIdOctet = -1 + while p.remaining_data() > 0: + p.set_bookmark() + + der = DerObject() + der._decodeFromStream(p, strict) + + # Verify that all members are of the same type + if setIdOctet < 0: + setIdOctet = der._tag_octet + else: + if setIdOctet != der._tag_octet: + raise ValueError("Not all elements are of the same DER type") + + # Parse INTEGERs differently + if setIdOctet != 0x02: + self._seq.append(p.data_since_bookmark()) + else: + derInt = DerInteger() + derInt.decode(p.data_since_bookmark(), strict) + self._seq.append(derInt.value) + # end + + def encode(self): + """Return this SET OF DER element, fully encoded as a + binary string. + """ + + # Elements in the set must be ordered in lexicographic order + ordered = [] + for item in self._seq: + if _is_number(item): + bys = DerInteger(item).encode() + elif isinstance(item, DerObject): + bys = item.encode() + else: + bys = item + ordered.append(bys) + ordered.sort() + self.payload = b''.join(ordered) + return DerObject.encode(self) diff --git a/lib27/site-packages/Crypto/Util/number.py b/lib27/site-packages/Crypto/Util/number.py new file mode 100644 index 000000000..d64c7c570 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/number.py @@ -0,0 +1,1466 @@ +# +# number.py : Number-theoretic functions +# +# Part of the Python Cryptography Toolkit +# +# Written by Andrew M. Kuchling, Barry A. Warsaw, and others +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== +# + +import math +import sys +import struct +from Crypto import Random +from Crypto.Util.py3compat import _memoryview, iter_range + +# Backward compatibility +_fastmath = None + + +def ceil_div(n, d): + """Return ceil(n/d), that is, the smallest integer r such that r*d >= n""" + + if d == 0: + raise ZeroDivisionError() + if (n < 0) or (d < 0): + raise ValueError("Non positive values") + r, q = divmod(n, d) + if (n != 0) and (q != 0): + r += 1 + return r + + +def size (N): + """Returns the size of the number N in bits.""" + + bits = 0 + while N >> bits: + bits += 1 + return bits + + +def getRandomInteger(N, randfunc=None): + """Return a random number at most N bits long. + + If :data:`randfunc` is omitted, then :meth:`Random.get_random_bytes` is used. + + .. deprecated:: 3.0 + This function is for internal use only and may be renamed or removed in + the future. Use :func:`Crypto.Random.random.getrandbits` instead. + """ + + if randfunc is None: + randfunc = Random.get_random_bytes + + S = randfunc(N>>3) + odd_bits = N % 8 + if odd_bits != 0: + rand_bits = ord(randfunc(1)) >> (8-odd_bits) + S = struct.pack('B', rand_bits) + S + value = bytes_to_long(S) + return value + +def getRandomRange(a, b, randfunc=None): + """Return a random number *n* so that *a <= n < b*. + + If :data:`randfunc` is omitted, then :meth:`Random.get_random_bytes` is used. + + .. deprecated:: 3.0 + This function is for internal use only and may be renamed or removed in + the future. Use :func:`Crypto.Random.random.randrange` instead. + """ + + range_ = b - a - 1 + bits = size(range_) + value = getRandomInteger(bits, randfunc) + while value > range_: + value = getRandomInteger(bits, randfunc) + return a + value + +def getRandomNBitInteger(N, randfunc=None): + """Return a random number with exactly N-bits, + i.e. a random number between 2**(N-1) and (2**N)-1. + + If :data:`randfunc` is omitted, then :meth:`Random.get_random_bytes` is used. + + .. deprecated:: 3.0 + This function is for internal use only and may be renamed or removed in + the future. + """ + + value = getRandomInteger (N-1, randfunc) + value |= 2 ** (N-1) # Ensure high bit is set + assert size(value) >= N + return value + +def GCD(x,y): + """Greatest Common Denominator of :data:`x` and :data:`y`. + """ + + x = abs(x) ; y = abs(y) + while x > 0: + x, y = y % x, x + return y + +def inverse(u, v): + """The inverse of :data:`u` *mod* :data:`v`.""" + + u3, v3 = u, v + u1, v1 = 1, 0 + while v3 > 0: + q = u3 // v3 + u1, v1 = v1, u1 - v1*q + u3, v3 = v3, u3 - v3*q + while u1<0: + u1 = u1 + v + return u1 + +# Given a number of bits to generate and a random generation function, +# find a prime number of the appropriate size. + +def getPrime(N, randfunc=None): + """Return a random N-bit prime number. + + If randfunc is omitted, then :meth:`Random.get_random_bytes` is used. + """ + if randfunc is None: + randfunc = Random.get_random_bytes + + number=getRandomNBitInteger(N, randfunc) | 1 + while (not isPrime(number, randfunc=randfunc)): + number=number+2 + return number + + +def _rabinMillerTest(n, rounds, randfunc=None): + """_rabinMillerTest(n:long, rounds:int, randfunc:callable):int + Tests if n is prime. + Returns 0 when n is definitly composite. + Returns 1 when n is probably prime. + Returns 2 when n is definitly prime. + + If randfunc is omitted, then Random.new().read is used. + + This function is for internal use only and may be renamed or removed in + the future. + """ + # check special cases (n==2, n even, n < 2) + if n < 3 or (n & 1) == 0: + return n == 2 + # n might be very large so it might be beneficial to precalculate n-1 + n_1 = n - 1 + # determine m and b so that 2**b * m = n - 1 and b maximal + b = 0 + m = n_1 + while (m & 1) == 0: + b += 1 + m >>= 1 + + tested = [] + # we need to do at most n-2 rounds. + for i in iter_range (min (rounds, n-2)): + # randomly choose a < n and make sure it hasn't been tested yet + a = getRandomRange (2, n, randfunc) + while a in tested: + a = getRandomRange (2, n, randfunc) + tested.append (a) + # do the rabin-miller test + z = pow (a, m, n) # (a**m) % n + if z == 1 or z == n_1: + continue + composite = 1 + for r in iter_range(b): + z = (z * z) % n + if z == 1: + return 0 + elif z == n_1: + composite = 0 + break + if composite: + return 0 + return 1 + +def getStrongPrime(N, e=0, false_positive_prob=1e-6, randfunc=None): + """ + Return a random strong *N*-bit prime number. + In this context, *p* is a strong prime if *p-1* and *p+1* have at + least one large prime factor. + + Args: + N (integer): the exact length of the strong prime. + It must be a multiple of 128 and > 512. + e (integer): if provided, the returned prime (minus 1) + will be coprime to *e* and thus suitable for RSA where + *e* is the public exponent. + false_positive_prob (float): + The statistical probability for the result not to be actually a + prime. It defaults to 10\ :sup:`-6`. + Note that the real probability of a false-positive is far less. This is + just the mathematically provable limit. + randfunc (callable): + A function that takes a parameter *N* and that returns + a random byte string of such length. + If omitted, :func:`Crypto.Random.get_random_bytes` is used. + Return: + The new strong prime. + + .. deprecated:: 3.0 + This function is for internal use only and may be renamed or removed in + the future. + """ + + # This function was implemented following the + # instructions found in the paper: + # "FAST GENERATION OF RANDOM, STRONG RSA PRIMES" + # by Robert D. Silverman + # RSA Laboratories + # May 17, 1997 + # which by the time of writing could be freely downloaded here: + # http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.2713&rep=rep1&type=pdf + + if randfunc is None: + randfunc = Random.get_random_bytes + + # Use the accelerator if available + if _fastmath is not None: + return _fastmath.getStrongPrime(long(N), long(e), false_positive_prob, + randfunc) + + if (N < 512) or ((N % 128) != 0): + raise ValueError ("bits must be multiple of 128 and > 512") + + rabin_miller_rounds = int(math.ceil(-math.log(false_positive_prob)/math.log(4))) + + # calculate range for X + # lower_bound = sqrt(2) * 2^{511 + 128*x} + # upper_bound = 2^{512 + 128*x} - 1 + x = (N - 512) >> 7; + # We need to approximate the sqrt(2) in the lower_bound by an integer + # expression because floating point math overflows with these numbers + lower_bound = (14142135623730950489 * (2 ** (511 + 128*x))) // 10000000000000000000 + upper_bound = (1 << (512 + 128*x)) - 1 + # Randomly choose X in calculated range + X = getRandomRange (lower_bound, upper_bound, randfunc) + + # generate p1 and p2 + p = [0, 0] + for i in (0, 1): + # randomly choose 101-bit y + y = getRandomNBitInteger (101, randfunc) + # initialize the field for sieving + field = [0] * 5 * len (sieve_base) + # sieve the field + for prime in sieve_base: + offset = y % prime + for j in iter_range((prime - offset) % prime, len (field), prime): + field[j] = 1 + + # look for suitable p[i] starting at y + result = 0 + for j in range(len(field)): + composite = field[j] + # look for next canidate + if composite: + continue + tmp = y + j + result = _rabinMillerTest (tmp, rabin_miller_rounds) + if result > 0: + p[i] = tmp + break + if result == 0: + raise RuntimeError ("Couln't find prime in field. " + "Developer: Increase field_size") + + # Calculate R + # R = (p2^{-1} mod p1) * p2 - (p1^{-1} mod p2) * p1 + tmp1 = inverse (p[1], p[0]) * p[1] # (p2^-1 mod p1)*p2 + tmp2 = inverse (p[0], p[1]) * p[0] # (p1^-1 mod p2)*p1 + R = tmp1 - tmp2 # (p2^-1 mod p1)*p2 - (p1^-1 mod p2)*p1 + + # search for final prime number starting by Y0 + # Y0 = X + (R - X mod p1p2) + increment = p[0] * p[1] + X = X + (R - (X % increment)) + while 1: + is_possible_prime = 1 + # first check candidate against sieve_base + for prime in sieve_base: + if (X % prime) == 0: + is_possible_prime = 0 + break + # if e is given make sure that e and X-1 are coprime + # this is not necessarily a strong prime criterion but useful when + # creating them for RSA where the p-1 and q-1 should be coprime to + # the public exponent e + if e and is_possible_prime: + if e & 1: + if GCD(e, X-1) != 1: + is_possible_prime = 0 + else: + if GCD(e, (X-1) // 2) != 1: + is_possible_prime = 0 + + # do some Rabin-Miller-Tests + if is_possible_prime: + result = _rabinMillerTest (X, rabin_miller_rounds) + if result > 0: + break + X += increment + # abort when X has more bits than requested + # TODO: maybe we shouldn't abort but rather start over. + if X >= 1 << N: + raise RuntimeError ("Couln't find prime in field. " + "Developer: Increase field_size") + return X + +def isPrime(N, false_positive_prob=1e-6, randfunc=None): + r"""Test if a number *N* is a prime. + + Args: + false_positive_prob (float): + The statistical probability for the result not to be actually a + prime. It defaults to 10\ :sup:`-6`. + Note that the real probability of a false-positive is far less. + This is just the mathematically provable limit. + randfunc (callable): + A function that takes a parameter *N* and that returns + a random byte string of such length. + If omitted, :func:`Crypto.Random.get_random_bytes` is used. + + Return: + `True` is the input is indeed prime. + """ + + if randfunc is None: + randfunc = Random.get_random_bytes + + if _fastmath is not None: + return _fastmath.isPrime(long(N), false_positive_prob, randfunc) + + if N < 3 or N & 1 == 0: + return N == 2 + for p in sieve_base: + if N == p: + return 1 + if N % p == 0: + return 0 + + rounds = int(math.ceil(-math.log(false_positive_prob)/math.log(4))) + return _rabinMillerTest(N, rounds, randfunc) + + +# Improved conversion functions contributed by Barry Warsaw, after +# careful benchmarking + +import struct + +def long_to_bytes(n, blocksize=0): + """Convert an integer to a byte string. + + In Python 3.2+, use the native method instead:: + + >>> n.to_bytes(blocksize, 'big') + + For instance:: + + >>> n = 80 + >>> n.to_bytes(2, 'big') + b'\x00P' + + If the optional :data:`blocksize` is provided and greater than zero, + the byte string is padded with binary zeros (on the front) so that + the total length of the output is a multiple of blocksize. + + If :data:`blocksize` is zero or not provided, the byte string will + be of minimal length. + """ + # after much testing, this algorithm was deemed to be the fastest + s = b'' + n = int(n) + pack = struct.pack + while n > 0: + s = pack('>I', n & 0xffffffff) + s + n = n >> 32 + # strip off leading zeros + for i in range(len(s)): + if s[i] != b'\x00'[0]: + break + else: + # only happens when n == 0 + s = b'\x00' + i = 0 + s = s[i:] + # add back some pad bytes. this could be done more efficiently w.r.t. the + # de-padding being done above, but sigh... + if blocksize > 0 and len(s) % blocksize: + s = (blocksize - len(s) % blocksize) * b'\x00' + s + return s + +def bytes_to_long(s): + """Convert a byte string to a long integer (big endian). + + In Python 3.2+, use the native method instead:: + + >>> int.from_bytes(s, 'big') + + For instance:: + + >>> int.from_bytes(b'\x00P', 'big') + 80 + + This is (essentially) the inverse of :func:`long_to_bytes`. + """ + acc = 0 + + unpack = struct.unpack + + # Up to Python 2.7.4, struct.unpack can't work with bytearrays nor + # memoryviews + if sys.version_info[0:3] < (2, 7, 4): + if isinstance(s, bytearray): + s = bytes(s) + elif isinstance(s, _memoryview): + s = s.tobytes() + + length = len(s) + if length % 4: + extra = (4 - length % 4) + s = b'\x00' * extra + s + length = length + extra + for i in range(0, length, 4): + acc = (acc << 32) + unpack('>I', s[i:i+4])[0] + return acc + + +# For backwards compatibility... +import warnings +def long2str(n, blocksize=0): + warnings.warn("long2str() has been replaced by long_to_bytes()") + return long_to_bytes(n, blocksize) +def str2long(s): + warnings.warn("str2long() has been replaced by bytes_to_long()") + return bytes_to_long(s) + + +# The first 10000 primes used for checking primality. +# This should be enough to eliminate most of the odd +# numbers before needing to do a Rabin-Miller test at all. +sieve_base = ( + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, + 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, + 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, + 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, + 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, + 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, + 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, + 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, + 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, + 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, + 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, + 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, + 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, + 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, + 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, + 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, + 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, + 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, + 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, + 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, + 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, + 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, + 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, + 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, + 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, + 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, + 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, + 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, + 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, + 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, + 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, + 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, + 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, + 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, + 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, + 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, + 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, + 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, + 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, + 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, + 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, + 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, + 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, + 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, + 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, + 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, + 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, + 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, + 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, + 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, + 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, + 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, + 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, + 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, + 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, + 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, + 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, + 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, + 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, + 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, + 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, + 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, + 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, + 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, + 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, + 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, + 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, + 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, + 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, + 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, + 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, + 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, + 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, + 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, + 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, + 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, + 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, + 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, + 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, + 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, + 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, + 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, + 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, + 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, + 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, + 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, + 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, + 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, + 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, + 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, + 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, + 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, + 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, + 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, + 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, + 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, + 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, + 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, + 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, + 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, + 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, + 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, + 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, + 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, + 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, + 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, + 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, + 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, + 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, + 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, + 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, + 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, + 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, + 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, + 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, + 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, + 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, + 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, + 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, + 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, + 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, + 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, + 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, + 10009, 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, + 10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163, 10169, 10177, + 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, + 10273, 10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343, + 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, + 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, + 10589, 10597, 10601, 10607, 10613, 10627, 10631, 10639, 10651, 10657, + 10663, 10667, 10687, 10691, 10709, 10711, 10723, 10729, 10733, 10739, + 10753, 10771, 10781, 10789, 10799, 10831, 10837, 10847, 10853, 10859, + 10861, 10867, 10883, 10889, 10891, 10903, 10909, 10937, 10939, 10949, + 10957, 10973, 10979, 10987, 10993, 11003, 11027, 11047, 11057, 11059, + 11069, 11071, 11083, 11087, 11093, 11113, 11117, 11119, 11131, 11149, + 11159, 11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251, + 11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321, 11329, + 11351, 11353, 11369, 11383, 11393, 11399, 11411, 11423, 11437, 11443, + 11447, 11467, 11471, 11483, 11489, 11491, 11497, 11503, 11519, 11527, + 11549, 11551, 11579, 11587, 11593, 11597, 11617, 11621, 11633, 11657, + 11677, 11681, 11689, 11699, 11701, 11717, 11719, 11731, 11743, 11777, + 11779, 11783, 11789, 11801, 11807, 11813, 11821, 11827, 11831, 11833, + 11839, 11863, 11867, 11887, 11897, 11903, 11909, 11923, 11927, 11933, + 11939, 11941, 11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011, + 12037, 12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109, + 12113, 12119, 12143, 12149, 12157, 12161, 12163, 12197, 12203, 12211, + 12227, 12239, 12241, 12251, 12253, 12263, 12269, 12277, 12281, 12289, + 12301, 12323, 12329, 12343, 12347, 12373, 12377, 12379, 12391, 12401, + 12409, 12413, 12421, 12433, 12437, 12451, 12457, 12473, 12479, 12487, + 12491, 12497, 12503, 12511, 12517, 12527, 12539, 12541, 12547, 12553, + 12569, 12577, 12583, 12589, 12601, 12611, 12613, 12619, 12637, 12641, + 12647, 12653, 12659, 12671, 12689, 12697, 12703, 12713, 12721, 12739, + 12743, 12757, 12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, + 12841, 12853, 12889, 12893, 12899, 12907, 12911, 12917, 12919, 12923, + 12941, 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003, 13007, + 13009, 13033, 13037, 13043, 13049, 13063, 13093, 13099, 13103, 13109, + 13121, 13127, 13147, 13151, 13159, 13163, 13171, 13177, 13183, 13187, + 13217, 13219, 13229, 13241, 13249, 13259, 13267, 13291, 13297, 13309, + 13313, 13327, 13331, 13337, 13339, 13367, 13381, 13397, 13399, 13411, + 13417, 13421, 13441, 13451, 13457, 13463, 13469, 13477, 13487, 13499, + 13513, 13523, 13537, 13553, 13567, 13577, 13591, 13597, 13613, 13619, + 13627, 13633, 13649, 13669, 13679, 13681, 13687, 13691, 13693, 13697, + 13709, 13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781, + 13789, 13799, 13807, 13829, 13831, 13841, 13859, 13873, 13877, 13879, + 13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933, 13963, 13967, + 13997, 13999, 14009, 14011, 14029, 14033, 14051, 14057, 14071, 14081, + 14083, 14087, 14107, 14143, 14149, 14153, 14159, 14173, 14177, 14197, + 14207, 14221, 14243, 14249, 14251, 14281, 14293, 14303, 14321, 14323, + 14327, 14341, 14347, 14369, 14387, 14389, 14401, 14407, 14411, 14419, + 14423, 14431, 14437, 14447, 14449, 14461, 14479, 14489, 14503, 14519, + 14533, 14537, 14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, + 14621, 14627, 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699, + 14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753, 14759, 14767, + 14771, 14779, 14783, 14797, 14813, 14821, 14827, 14831, 14843, 14851, + 14867, 14869, 14879, 14887, 14891, 14897, 14923, 14929, 14939, 14947, + 14951, 14957, 14969, 14983, 15013, 15017, 15031, 15053, 15061, 15073, + 15077, 15083, 15091, 15101, 15107, 15121, 15131, 15137, 15139, 15149, + 15161, 15173, 15187, 15193, 15199, 15217, 15227, 15233, 15241, 15259, + 15263, 15269, 15271, 15277, 15287, 15289, 15299, 15307, 15313, 15319, + 15329, 15331, 15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, + 15413, 15427, 15439, 15443, 15451, 15461, 15467, 15473, 15493, 15497, + 15511, 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601, 15607, + 15619, 15629, 15641, 15643, 15647, 15649, 15661, 15667, 15671, 15679, + 15683, 15727, 15731, 15733, 15737, 15739, 15749, 15761, 15767, 15773, + 15787, 15791, 15797, 15803, 15809, 15817, 15823, 15859, 15877, 15881, + 15887, 15889, 15901, 15907, 15913, 15919, 15923, 15937, 15959, 15971, + 15973, 15991, 16001, 16007, 16033, 16057, 16061, 16063, 16067, 16069, + 16073, 16087, 16091, 16097, 16103, 16111, 16127, 16139, 16141, 16183, + 16187, 16189, 16193, 16217, 16223, 16229, 16231, 16249, 16253, 16267, + 16273, 16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381, + 16411, 16417, 16421, 16427, 16433, 16447, 16451, 16453, 16477, 16481, + 16487, 16493, 16519, 16529, 16547, 16553, 16561, 16567, 16573, 16603, + 16607, 16619, 16631, 16633, 16649, 16651, 16657, 16661, 16673, 16691, + 16693, 16699, 16703, 16729, 16741, 16747, 16759, 16763, 16787, 16811, + 16823, 16829, 16831, 16843, 16871, 16879, 16883, 16889, 16901, 16903, + 16921, 16927, 16931, 16937, 16943, 16963, 16979, 16981, 16987, 16993, + 17011, 17021, 17027, 17029, 17033, 17041, 17047, 17053, 17077, 17093, + 17099, 17107, 17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, + 17203, 17207, 17209, 17231, 17239, 17257, 17291, 17293, 17299, 17317, + 17321, 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387, 17389, + 17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467, 17471, 17477, + 17483, 17489, 17491, 17497, 17509, 17519, 17539, 17551, 17569, 17573, + 17579, 17581, 17597, 17599, 17609, 17623, 17627, 17657, 17659, 17669, + 17681, 17683, 17707, 17713, 17729, 17737, 17747, 17749, 17761, 17783, + 17789, 17791, 17807, 17827, 17837, 17839, 17851, 17863, 17881, 17891, + 17903, 17909, 17911, 17921, 17923, 17929, 17939, 17957, 17959, 17971, + 17977, 17981, 17987, 17989, 18013, 18041, 18043, 18047, 18049, 18059, + 18061, 18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133, 18143, + 18149, 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229, 18233, + 18251, 18253, 18257, 18269, 18287, 18289, 18301, 18307, 18311, 18313, + 18329, 18341, 18353, 18367, 18371, 18379, 18397, 18401, 18413, 18427, + 18433, 18439, 18443, 18451, 18457, 18461, 18481, 18493, 18503, 18517, + 18521, 18523, 18539, 18541, 18553, 18583, 18587, 18593, 18617, 18637, + 18661, 18671, 18679, 18691, 18701, 18713, 18719, 18731, 18743, 18749, + 18757, 18773, 18787, 18793, 18797, 18803, 18839, 18859, 18869, 18899, + 18911, 18913, 18917, 18919, 18947, 18959, 18973, 18979, 19001, 19009, + 19013, 19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121, + 19139, 19141, 19157, 19163, 19181, 19183, 19207, 19211, 19213, 19219, + 19231, 19237, 19249, 19259, 19267, 19273, 19289, 19301, 19309, 19319, + 19333, 19373, 19379, 19381, 19387, 19391, 19403, 19417, 19421, 19423, + 19427, 19429, 19433, 19441, 19447, 19457, 19463, 19469, 19471, 19477, + 19483, 19489, 19501, 19507, 19531, 19541, 19543, 19553, 19559, 19571, + 19577, 19583, 19597, 19603, 19609, 19661, 19681, 19687, 19697, 19699, + 19709, 19717, 19727, 19739, 19751, 19753, 19759, 19763, 19777, 19793, + 19801, 19813, 19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, + 19913, 19919, 19927, 19937, 19949, 19961, 19963, 19973, 19979, 19991, + 19993, 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063, 20071, + 20089, 20101, 20107, 20113, 20117, 20123, 20129, 20143, 20147, 20149, + 20161, 20173, 20177, 20183, 20201, 20219, 20231, 20233, 20249, 20261, + 20269, 20287, 20297, 20323, 20327, 20333, 20341, 20347, 20353, 20357, + 20359, 20369, 20389, 20393, 20399, 20407, 20411, 20431, 20441, 20443, + 20477, 20479, 20483, 20507, 20509, 20521, 20533, 20543, 20549, 20551, + 20563, 20593, 20599, 20611, 20627, 20639, 20641, 20663, 20681, 20693, + 20707, 20717, 20719, 20731, 20743, 20747, 20749, 20753, 20759, 20771, + 20773, 20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897, + 20899, 20903, 20921, 20929, 20939, 20947, 20959, 20963, 20981, 20983, + 21001, 21011, 21013, 21017, 21019, 21023, 21031, 21059, 21061, 21067, + 21089, 21101, 21107, 21121, 21139, 21143, 21149, 21157, 21163, 21169, + 21179, 21187, 21191, 21193, 21211, 21221, 21227, 21247, 21269, 21277, + 21283, 21313, 21317, 21319, 21323, 21341, 21347, 21377, 21379, 21383, + 21391, 21397, 21401, 21407, 21419, 21433, 21467, 21481, 21487, 21491, + 21493, 21499, 21503, 21517, 21521, 21523, 21529, 21557, 21559, 21563, + 21569, 21577, 21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, + 21649, 21661, 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751, + 21757, 21767, 21773, 21787, 21799, 21803, 21817, 21821, 21839, 21841, + 21851, 21859, 21863, 21871, 21881, 21893, 21911, 21929, 21937, 21943, + 21961, 21977, 21991, 21997, 22003, 22013, 22027, 22031, 22037, 22039, + 22051, 22063, 22067, 22073, 22079, 22091, 22093, 22109, 22111, 22123, + 22129, 22133, 22147, 22153, 22157, 22159, 22171, 22189, 22193, 22229, + 22247, 22259, 22271, 22273, 22277, 22279, 22283, 22291, 22303, 22307, + 22343, 22349, 22367, 22369, 22381, 22391, 22397, 22409, 22433, 22441, + 22447, 22453, 22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, + 22549, 22567, 22571, 22573, 22613, 22619, 22621, 22637, 22639, 22643, + 22651, 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721, 22727, + 22739, 22741, 22751, 22769, 22777, 22783, 22787, 22807, 22811, 22817, + 22853, 22859, 22861, 22871, 22877, 22901, 22907, 22921, 22937, 22943, + 22961, 22963, 22973, 22993, 23003, 23011, 23017, 23021, 23027, 23029, + 23039, 23041, 23053, 23057, 23059, 23063, 23071, 23081, 23087, 23099, + 23117, 23131, 23143, 23159, 23167, 23173, 23189, 23197, 23201, 23203, + 23209, 23227, 23251, 23269, 23279, 23291, 23293, 23297, 23311, 23321, + 23327, 23333, 23339, 23357, 23369, 23371, 23399, 23417, 23431, 23447, + 23459, 23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561, + 23563, 23567, 23581, 23593, 23599, 23603, 23609, 23623, 23627, 23629, + 23633, 23663, 23669, 23671, 23677, 23687, 23689, 23719, 23741, 23743, + 23747, 23753, 23761, 23767, 23773, 23789, 23801, 23813, 23819, 23827, + 23831, 23833, 23857, 23869, 23873, 23879, 23887, 23893, 23899, 23909, + 23911, 23917, 23929, 23957, 23971, 23977, 23981, 23993, 24001, 24007, + 24019, 24023, 24029, 24043, 24049, 24061, 24071, 24077, 24083, 24091, + 24097, 24103, 24107, 24109, 24113, 24121, 24133, 24137, 24151, 24169, + 24179, 24181, 24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, + 24317, 24329, 24337, 24359, 24371, 24373, 24379, 24391, 24407, 24413, + 24419, 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509, 24517, + 24527, 24533, 24547, 24551, 24571, 24593, 24611, 24623, 24631, 24659, + 24671, 24677, 24683, 24691, 24697, 24709, 24733, 24749, 24763, 24767, + 24781, 24793, 24799, 24809, 24821, 24841, 24847, 24851, 24859, 24877, + 24889, 24907, 24917, 24919, 24923, 24943, 24953, 24967, 24971, 24977, + 24979, 24989, 25013, 25031, 25033, 25037, 25057, 25073, 25087, 25097, + 25111, 25117, 25121, 25127, 25147, 25153, 25163, 25169, 25171, 25183, + 25189, 25219, 25229, 25237, 25243, 25247, 25253, 25261, 25301, 25303, + 25307, 25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373, 25391, + 25409, 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469, 25471, + 25523, 25537, 25541, 25561, 25577, 25579, 25583, 25589, 25601, 25603, + 25609, 25621, 25633, 25639, 25643, 25657, 25667, 25673, 25679, 25693, + 25703, 25717, 25733, 25741, 25747, 25759, 25763, 25771, 25793, 25799, + 25801, 25819, 25841, 25847, 25849, 25867, 25873, 25889, 25903, 25913, + 25919, 25931, 25933, 25939, 25943, 25951, 25969, 25981, 25997, 25999, + 26003, 26017, 26021, 26029, 26041, 26053, 26083, 26099, 26107, 26111, + 26113, 26119, 26141, 26153, 26161, 26171, 26177, 26183, 26189, 26203, + 26209, 26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297, + 26309, 26317, 26321, 26339, 26347, 26357, 26371, 26387, 26393, 26399, + 26407, 26417, 26423, 26431, 26437, 26449, 26459, 26479, 26489, 26497, + 26501, 26513, 26539, 26557, 26561, 26573, 26591, 26597, 26627, 26633, + 26641, 26647, 26669, 26681, 26683, 26687, 26693, 26699, 26701, 26711, + 26713, 26717, 26723, 26729, 26731, 26737, 26759, 26777, 26783, 26801, + 26813, 26821, 26833, 26839, 26849, 26861, 26863, 26879, 26881, 26891, + 26893, 26903, 26921, 26927, 26947, 26951, 26953, 26959, 26981, 26987, + 26993, 27011, 27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, + 27091, 27103, 27107, 27109, 27127, 27143, 27179, 27191, 27197, 27211, + 27239, 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299, 27329, + 27337, 27361, 27367, 27397, 27407, 27409, 27427, 27431, 27437, 27449, + 27457, 27479, 27481, 27487, 27509, 27527, 27529, 27539, 27541, 27551, + 27581, 27583, 27611, 27617, 27631, 27647, 27653, 27673, 27689, 27691, + 27697, 27701, 27733, 27737, 27739, 27743, 27749, 27751, 27763, 27767, + 27773, 27779, 27791, 27793, 27799, 27803, 27809, 27817, 27823, 27827, + 27847, 27851, 27883, 27893, 27901, 27917, 27919, 27941, 27943, 27947, + 27953, 27961, 27967, 27983, 27997, 28001, 28019, 28027, 28031, 28051, + 28057, 28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151, + 28163, 28181, 28183, 28201, 28211, 28219, 28229, 28277, 28279, 28283, + 28289, 28297, 28307, 28309, 28319, 28349, 28351, 28387, 28393, 28403, + 28409, 28411, 28429, 28433, 28439, 28447, 28463, 28477, 28493, 28499, + 28513, 28517, 28537, 28541, 28547, 28549, 28559, 28571, 28573, 28579, + 28591, 28597, 28603, 28607, 28619, 28621, 28627, 28631, 28643, 28649, + 28657, 28661, 28663, 28669, 28687, 28697, 28703, 28711, 28723, 28729, + 28751, 28753, 28759, 28771, 28789, 28793, 28807, 28813, 28817, 28837, + 28843, 28859, 28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, + 28949, 28961, 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059, + 29063, 29077, 29101, 29123, 29129, 29131, 29137, 29147, 29153, 29167, + 29173, 29179, 29191, 29201, 29207, 29209, 29221, 29231, 29243, 29251, + 29269, 29287, 29297, 29303, 29311, 29327, 29333, 29339, 29347, 29363, + 29383, 29387, 29389, 29399, 29401, 29411, 29423, 29429, 29437, 29443, + 29453, 29473, 29483, 29501, 29527, 29531, 29537, 29567, 29569, 29573, + 29581, 29587, 29599, 29611, 29629, 29633, 29641, 29663, 29669, 29671, + 29683, 29717, 29723, 29741, 29753, 29759, 29761, 29789, 29803, 29819, + 29833, 29837, 29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, + 29927, 29947, 29959, 29983, 29989, 30011, 30013, 30029, 30047, 30059, + 30071, 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133, 30137, + 30139, 30161, 30169, 30181, 30187, 30197, 30203, 30211, 30223, 30241, + 30253, 30259, 30269, 30271, 30293, 30307, 30313, 30319, 30323, 30341, + 30347, 30367, 30389, 30391, 30403, 30427, 30431, 30449, 30467, 30469, + 30491, 30493, 30497, 30509, 30517, 30529, 30539, 30553, 30557, 30559, + 30577, 30593, 30631, 30637, 30643, 30649, 30661, 30671, 30677, 30689, + 30697, 30703, 30707, 30713, 30727, 30757, 30763, 30773, 30781, 30803, + 30809, 30817, 30829, 30839, 30841, 30851, 30853, 30859, 30869, 30871, + 30881, 30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983, + 31013, 31019, 31033, 31039, 31051, 31063, 31069, 31079, 31081, 31091, + 31121, 31123, 31139, 31147, 31151, 31153, 31159, 31177, 31181, 31183, + 31189, 31193, 31219, 31223, 31231, 31237, 31247, 31249, 31253, 31259, + 31267, 31271, 31277, 31307, 31319, 31321, 31327, 31333, 31337, 31357, + 31379, 31387, 31391, 31393, 31397, 31469, 31477, 31481, 31489, 31511, + 31513, 31517, 31531, 31541, 31543, 31547, 31567, 31573, 31583, 31601, + 31607, 31627, 31643, 31649, 31657, 31663, 31667, 31687, 31699, 31721, + 31723, 31727, 31729, 31741, 31751, 31769, 31771, 31793, 31799, 31817, + 31847, 31849, 31859, 31873, 31883, 31891, 31907, 31957, 31963, 31973, + 31981, 31991, 32003, 32009, 32027, 32029, 32051, 32057, 32059, 32063, + 32069, 32077, 32083, 32089, 32099, 32117, 32119, 32141, 32143, 32159, + 32173, 32183, 32189, 32191, 32203, 32213, 32233, 32237, 32251, 32257, + 32261, 32297, 32299, 32303, 32309, 32321, 32323, 32327, 32341, 32353, + 32359, 32363, 32369, 32371, 32377, 32381, 32401, 32411, 32413, 32423, + 32429, 32441, 32443, 32467, 32479, 32491, 32497, 32503, 32507, 32531, + 32533, 32537, 32561, 32563, 32569, 32573, 32579, 32587, 32603, 32609, + 32611, 32621, 32633, 32647, 32653, 32687, 32693, 32707, 32713, 32717, + 32719, 32749, 32771, 32779, 32783, 32789, 32797, 32801, 32803, 32831, + 32833, 32839, 32843, 32869, 32887, 32909, 32911, 32917, 32933, 32939, + 32941, 32957, 32969, 32971, 32983, 32987, 32993, 32999, 33013, 33023, + 33029, 33037, 33049, 33053, 33071, 33073, 33083, 33091, 33107, 33113, + 33119, 33149, 33151, 33161, 33179, 33181, 33191, 33199, 33203, 33211, + 33223, 33247, 33287, 33289, 33301, 33311, 33317, 33329, 33331, 33343, + 33347, 33349, 33353, 33359, 33377, 33391, 33403, 33409, 33413, 33427, + 33457, 33461, 33469, 33479, 33487, 33493, 33503, 33521, 33529, 33533, + 33547, 33563, 33569, 33577, 33581, 33587, 33589, 33599, 33601, 33613, + 33617, 33619, 33623, 33629, 33637, 33641, 33647, 33679, 33703, 33713, + 33721, 33739, 33749, 33751, 33757, 33767, 33769, 33773, 33791, 33797, + 33809, 33811, 33827, 33829, 33851, 33857, 33863, 33871, 33889, 33893, + 33911, 33923, 33931, 33937, 33941, 33961, 33967, 33997, 34019, 34031, + 34033, 34039, 34057, 34061, 34123, 34127, 34129, 34141, 34147, 34157, + 34159, 34171, 34183, 34211, 34213, 34217, 34231, 34253, 34259, 34261, + 34267, 34273, 34283, 34297, 34301, 34303, 34313, 34319, 34327, 34337, + 34351, 34361, 34367, 34369, 34381, 34403, 34421, 34429, 34439, 34457, + 34469, 34471, 34483, 34487, 34499, 34501, 34511, 34513, 34519, 34537, + 34543, 34549, 34583, 34589, 34591, 34603, 34607, 34613, 34631, 34649, + 34651, 34667, 34673, 34679, 34687, 34693, 34703, 34721, 34729, 34739, + 34747, 34757, 34759, 34763, 34781, 34807, 34819, 34841, 34843, 34847, + 34849, 34871, 34877, 34883, 34897, 34913, 34919, 34939, 34949, 34961, + 34963, 34981, 35023, 35027, 35051, 35053, 35059, 35069, 35081, 35083, + 35089, 35099, 35107, 35111, 35117, 35129, 35141, 35149, 35153, 35159, + 35171, 35201, 35221, 35227, 35251, 35257, 35267, 35279, 35281, 35291, + 35311, 35317, 35323, 35327, 35339, 35353, 35363, 35381, 35393, 35401, + 35407, 35419, 35423, 35437, 35447, 35449, 35461, 35491, 35507, 35509, + 35521, 35527, 35531, 35533, 35537, 35543, 35569, 35573, 35591, 35593, + 35597, 35603, 35617, 35671, 35677, 35729, 35731, 35747, 35753, 35759, + 35771, 35797, 35801, 35803, 35809, 35831, 35837, 35839, 35851, 35863, + 35869, 35879, 35897, 35899, 35911, 35923, 35933, 35951, 35963, 35969, + 35977, 35983, 35993, 35999, 36007, 36011, 36013, 36017, 36037, 36061, + 36067, 36073, 36083, 36097, 36107, 36109, 36131, 36137, 36151, 36161, + 36187, 36191, 36209, 36217, 36229, 36241, 36251, 36263, 36269, 36277, + 36293, 36299, 36307, 36313, 36319, 36341, 36343, 36353, 36373, 36383, + 36389, 36433, 36451, 36457, 36467, 36469, 36473, 36479, 36493, 36497, + 36523, 36527, 36529, 36541, 36551, 36559, 36563, 36571, 36583, 36587, + 36599, 36607, 36629, 36637, 36643, 36653, 36671, 36677, 36683, 36691, + 36697, 36709, 36713, 36721, 36739, 36749, 36761, 36767, 36779, 36781, + 36787, 36791, 36793, 36809, 36821, 36833, 36847, 36857, 36871, 36877, + 36887, 36899, 36901, 36913, 36919, 36923, 36929, 36931, 36943, 36947, + 36973, 36979, 36997, 37003, 37013, 37019, 37021, 37039, 37049, 37057, + 37061, 37087, 37097, 37117, 37123, 37139, 37159, 37171, 37181, 37189, + 37199, 37201, 37217, 37223, 37243, 37253, 37273, 37277, 37307, 37309, + 37313, 37321, 37337, 37339, 37357, 37361, 37363, 37369, 37379, 37397, + 37409, 37423, 37441, 37447, 37463, 37483, 37489, 37493, 37501, 37507, + 37511, 37517, 37529, 37537, 37547, 37549, 37561, 37567, 37571, 37573, + 37579, 37589, 37591, 37607, 37619, 37633, 37643, 37649, 37657, 37663, + 37691, 37693, 37699, 37717, 37747, 37781, 37783, 37799, 37811, 37813, + 37831, 37847, 37853, 37861, 37871, 37879, 37889, 37897, 37907, 37951, + 37957, 37963, 37967, 37987, 37991, 37993, 37997, 38011, 38039, 38047, + 38053, 38069, 38083, 38113, 38119, 38149, 38153, 38167, 38177, 38183, + 38189, 38197, 38201, 38219, 38231, 38237, 38239, 38261, 38273, 38281, + 38287, 38299, 38303, 38317, 38321, 38327, 38329, 38333, 38351, 38371, + 38377, 38393, 38431, 38447, 38449, 38453, 38459, 38461, 38501, 38543, + 38557, 38561, 38567, 38569, 38593, 38603, 38609, 38611, 38629, 38639, + 38651, 38653, 38669, 38671, 38677, 38693, 38699, 38707, 38711, 38713, + 38723, 38729, 38737, 38747, 38749, 38767, 38783, 38791, 38803, 38821, + 38833, 38839, 38851, 38861, 38867, 38873, 38891, 38903, 38917, 38921, + 38923, 38933, 38953, 38959, 38971, 38977, 38993, 39019, 39023, 39041, + 39043, 39047, 39079, 39089, 39097, 39103, 39107, 39113, 39119, 39133, + 39139, 39157, 39161, 39163, 39181, 39191, 39199, 39209, 39217, 39227, + 39229, 39233, 39239, 39241, 39251, 39293, 39301, 39313, 39317, 39323, + 39341, 39343, 39359, 39367, 39371, 39373, 39383, 39397, 39409, 39419, + 39439, 39443, 39451, 39461, 39499, 39503, 39509, 39511, 39521, 39541, + 39551, 39563, 39569, 39581, 39607, 39619, 39623, 39631, 39659, 39667, + 39671, 39679, 39703, 39709, 39719, 39727, 39733, 39749, 39761, 39769, + 39779, 39791, 39799, 39821, 39827, 39829, 39839, 39841, 39847, 39857, + 39863, 39869, 39877, 39883, 39887, 39901, 39929, 39937, 39953, 39971, + 39979, 39983, 39989, 40009, 40013, 40031, 40037, 40039, 40063, 40087, + 40093, 40099, 40111, 40123, 40127, 40129, 40151, 40153, 40163, 40169, + 40177, 40189, 40193, 40213, 40231, 40237, 40241, 40253, 40277, 40283, + 40289, 40343, 40351, 40357, 40361, 40387, 40423, 40427, 40429, 40433, + 40459, 40471, 40483, 40487, 40493, 40499, 40507, 40519, 40529, 40531, + 40543, 40559, 40577, 40583, 40591, 40597, 40609, 40627, 40637, 40639, + 40693, 40697, 40699, 40709, 40739, 40751, 40759, 40763, 40771, 40787, + 40801, 40813, 40819, 40823, 40829, 40841, 40847, 40849, 40853, 40867, + 40879, 40883, 40897, 40903, 40927, 40933, 40939, 40949, 40961, 40973, + 40993, 41011, 41017, 41023, 41039, 41047, 41051, 41057, 41077, 41081, + 41113, 41117, 41131, 41141, 41143, 41149, 41161, 41177, 41179, 41183, + 41189, 41201, 41203, 41213, 41221, 41227, 41231, 41233, 41243, 41257, + 41263, 41269, 41281, 41299, 41333, 41341, 41351, 41357, 41381, 41387, + 41389, 41399, 41411, 41413, 41443, 41453, 41467, 41479, 41491, 41507, + 41513, 41519, 41521, 41539, 41543, 41549, 41579, 41593, 41597, 41603, + 41609, 41611, 41617, 41621, 41627, 41641, 41647, 41651, 41659, 41669, + 41681, 41687, 41719, 41729, 41737, 41759, 41761, 41771, 41777, 41801, + 41809, 41813, 41843, 41849, 41851, 41863, 41879, 41887, 41893, 41897, + 41903, 41911, 41927, 41941, 41947, 41953, 41957, 41959, 41969, 41981, + 41983, 41999, 42013, 42017, 42019, 42023, 42043, 42061, 42071, 42073, + 42083, 42089, 42101, 42131, 42139, 42157, 42169, 42179, 42181, 42187, + 42193, 42197, 42209, 42221, 42223, 42227, 42239, 42257, 42281, 42283, + 42293, 42299, 42307, 42323, 42331, 42337, 42349, 42359, 42373, 42379, + 42391, 42397, 42403, 42407, 42409, 42433, 42437, 42443, 42451, 42457, + 42461, 42463, 42467, 42473, 42487, 42491, 42499, 42509, 42533, 42557, + 42569, 42571, 42577, 42589, 42611, 42641, 42643, 42649, 42667, 42677, + 42683, 42689, 42697, 42701, 42703, 42709, 42719, 42727, 42737, 42743, + 42751, 42767, 42773, 42787, 42793, 42797, 42821, 42829, 42839, 42841, + 42853, 42859, 42863, 42899, 42901, 42923, 42929, 42937, 42943, 42953, + 42961, 42967, 42979, 42989, 43003, 43013, 43019, 43037, 43049, 43051, + 43063, 43067, 43093, 43103, 43117, 43133, 43151, 43159, 43177, 43189, + 43201, 43207, 43223, 43237, 43261, 43271, 43283, 43291, 43313, 43319, + 43321, 43331, 43391, 43397, 43399, 43403, 43411, 43427, 43441, 43451, + 43457, 43481, 43487, 43499, 43517, 43541, 43543, 43573, 43577, 43579, + 43591, 43597, 43607, 43609, 43613, 43627, 43633, 43649, 43651, 43661, + 43669, 43691, 43711, 43717, 43721, 43753, 43759, 43777, 43781, 43783, + 43787, 43789, 43793, 43801, 43853, 43867, 43889, 43891, 43913, 43933, + 43943, 43951, 43961, 43963, 43969, 43973, 43987, 43991, 43997, 44017, + 44021, 44027, 44029, 44041, 44053, 44059, 44071, 44087, 44089, 44101, + 44111, 44119, 44123, 44129, 44131, 44159, 44171, 44179, 44189, 44201, + 44203, 44207, 44221, 44249, 44257, 44263, 44267, 44269, 44273, 44279, + 44281, 44293, 44351, 44357, 44371, 44381, 44383, 44389, 44417, 44449, + 44453, 44483, 44491, 44497, 44501, 44507, 44519, 44531, 44533, 44537, + 44543, 44549, 44563, 44579, 44587, 44617, 44621, 44623, 44633, 44641, + 44647, 44651, 44657, 44683, 44687, 44699, 44701, 44711, 44729, 44741, + 44753, 44771, 44773, 44777, 44789, 44797, 44809, 44819, 44839, 44843, + 44851, 44867, 44879, 44887, 44893, 44909, 44917, 44927, 44939, 44953, + 44959, 44963, 44971, 44983, 44987, 45007, 45013, 45053, 45061, 45077, + 45083, 45119, 45121, 45127, 45131, 45137, 45139, 45161, 45179, 45181, + 45191, 45197, 45233, 45247, 45259, 45263, 45281, 45289, 45293, 45307, + 45317, 45319, 45329, 45337, 45341, 45343, 45361, 45377, 45389, 45403, + 45413, 45427, 45433, 45439, 45481, 45491, 45497, 45503, 45523, 45533, + 45541, 45553, 45557, 45569, 45587, 45589, 45599, 45613, 45631, 45641, + 45659, 45667, 45673, 45677, 45691, 45697, 45707, 45737, 45751, 45757, + 45763, 45767, 45779, 45817, 45821, 45823, 45827, 45833, 45841, 45853, + 45863, 45869, 45887, 45893, 45943, 45949, 45953, 45959, 45971, 45979, + 45989, 46021, 46027, 46049, 46051, 46061, 46073, 46091, 46093, 46099, + 46103, 46133, 46141, 46147, 46153, 46171, 46181, 46183, 46187, 46199, + 46219, 46229, 46237, 46261, 46271, 46273, 46279, 46301, 46307, 46309, + 46327, 46337, 46349, 46351, 46381, 46399, 46411, 46439, 46441, 46447, + 46451, 46457, 46471, 46477, 46489, 46499, 46507, 46511, 46523, 46549, + 46559, 46567, 46573, 46589, 46591, 46601, 46619, 46633, 46639, 46643, + 46649, 46663, 46679, 46681, 46687, 46691, 46703, 46723, 46727, 46747, + 46751, 46757, 46769, 46771, 46807, 46811, 46817, 46819, 46829, 46831, + 46853, 46861, 46867, 46877, 46889, 46901, 46919, 46933, 46957, 46993, + 46997, 47017, 47041, 47051, 47057, 47059, 47087, 47093, 47111, 47119, + 47123, 47129, 47137, 47143, 47147, 47149, 47161, 47189, 47207, 47221, + 47237, 47251, 47269, 47279, 47287, 47293, 47297, 47303, 47309, 47317, + 47339, 47351, 47353, 47363, 47381, 47387, 47389, 47407, 47417, 47419, + 47431, 47441, 47459, 47491, 47497, 47501, 47507, 47513, 47521, 47527, + 47533, 47543, 47563, 47569, 47581, 47591, 47599, 47609, 47623, 47629, + 47639, 47653, 47657, 47659, 47681, 47699, 47701, 47711, 47713, 47717, + 47737, 47741, 47743, 47777, 47779, 47791, 47797, 47807, 47809, 47819, + 47837, 47843, 47857, 47869, 47881, 47903, 47911, 47917, 47933, 47939, + 47947, 47951, 47963, 47969, 47977, 47981, 48017, 48023, 48029, 48049, + 48073, 48079, 48091, 48109, 48119, 48121, 48131, 48157, 48163, 48179, + 48187, 48193, 48197, 48221, 48239, 48247, 48259, 48271, 48281, 48299, + 48311, 48313, 48337, 48341, 48353, 48371, 48383, 48397, 48407, 48409, + 48413, 48437, 48449, 48463, 48473, 48479, 48481, 48487, 48491, 48497, + 48523, 48527, 48533, 48539, 48541, 48563, 48571, 48589, 48593, 48611, + 48619, 48623, 48647, 48649, 48661, 48673, 48677, 48679, 48731, 48733, + 48751, 48757, 48761, 48767, 48779, 48781, 48787, 48799, 48809, 48817, + 48821, 48823, 48847, 48857, 48859, 48869, 48871, 48883, 48889, 48907, + 48947, 48953, 48973, 48989, 48991, 49003, 49009, 49019, 49031, 49033, + 49037, 49043, 49057, 49069, 49081, 49103, 49109, 49117, 49121, 49123, + 49139, 49157, 49169, 49171, 49177, 49193, 49199, 49201, 49207, 49211, + 49223, 49253, 49261, 49277, 49279, 49297, 49307, 49331, 49333, 49339, + 49363, 49367, 49369, 49391, 49393, 49409, 49411, 49417, 49429, 49433, + 49451, 49459, 49463, 49477, 49481, 49499, 49523, 49529, 49531, 49537, + 49547, 49549, 49559, 49597, 49603, 49613, 49627, 49633, 49639, 49663, + 49667, 49669, 49681, 49697, 49711, 49727, 49739, 49741, 49747, 49757, + 49783, 49787, 49789, 49801, 49807, 49811, 49823, 49831, 49843, 49853, + 49871, 49877, 49891, 49919, 49921, 49927, 49937, 49939, 49943, 49957, + 49991, 49993, 49999, 50021, 50023, 50033, 50047, 50051, 50053, 50069, + 50077, 50087, 50093, 50101, 50111, 50119, 50123, 50129, 50131, 50147, + 50153, 50159, 50177, 50207, 50221, 50227, 50231, 50261, 50263, 50273, + 50287, 50291, 50311, 50321, 50329, 50333, 50341, 50359, 50363, 50377, + 50383, 50387, 50411, 50417, 50423, 50441, 50459, 50461, 50497, 50503, + 50513, 50527, 50539, 50543, 50549, 50551, 50581, 50587, 50591, 50593, + 50599, 50627, 50647, 50651, 50671, 50683, 50707, 50723, 50741, 50753, + 50767, 50773, 50777, 50789, 50821, 50833, 50839, 50849, 50857, 50867, + 50873, 50891, 50893, 50909, 50923, 50929, 50951, 50957, 50969, 50971, + 50989, 50993, 51001, 51031, 51043, 51047, 51059, 51061, 51071, 51109, + 51131, 51133, 51137, 51151, 51157, 51169, 51193, 51197, 51199, 51203, + 51217, 51229, 51239, 51241, 51257, 51263, 51283, 51287, 51307, 51329, + 51341, 51343, 51347, 51349, 51361, 51383, 51407, 51413, 51419, 51421, + 51427, 51431, 51437, 51439, 51449, 51461, 51473, 51479, 51481, 51487, + 51503, 51511, 51517, 51521, 51539, 51551, 51563, 51577, 51581, 51593, + 51599, 51607, 51613, 51631, 51637, 51647, 51659, 51673, 51679, 51683, + 51691, 51713, 51719, 51721, 51749, 51767, 51769, 51787, 51797, 51803, + 51817, 51827, 51829, 51839, 51853, 51859, 51869, 51871, 51893, 51899, + 51907, 51913, 51929, 51941, 51949, 51971, 51973, 51977, 51991, 52009, + 52021, 52027, 52051, 52057, 52067, 52069, 52081, 52103, 52121, 52127, + 52147, 52153, 52163, 52177, 52181, 52183, 52189, 52201, 52223, 52237, + 52249, 52253, 52259, 52267, 52289, 52291, 52301, 52313, 52321, 52361, + 52363, 52369, 52379, 52387, 52391, 52433, 52453, 52457, 52489, 52501, + 52511, 52517, 52529, 52541, 52543, 52553, 52561, 52567, 52571, 52579, + 52583, 52609, 52627, 52631, 52639, 52667, 52673, 52691, 52697, 52709, + 52711, 52721, 52727, 52733, 52747, 52757, 52769, 52783, 52807, 52813, + 52817, 52837, 52859, 52861, 52879, 52883, 52889, 52901, 52903, 52919, + 52937, 52951, 52957, 52963, 52967, 52973, 52981, 52999, 53003, 53017, + 53047, 53051, 53069, 53077, 53087, 53089, 53093, 53101, 53113, 53117, + 53129, 53147, 53149, 53161, 53171, 53173, 53189, 53197, 53201, 53231, + 53233, 53239, 53267, 53269, 53279, 53281, 53299, 53309, 53323, 53327, + 53353, 53359, 53377, 53381, 53401, 53407, 53411, 53419, 53437, 53441, + 53453, 53479, 53503, 53507, 53527, 53549, 53551, 53569, 53591, 53593, + 53597, 53609, 53611, 53617, 53623, 53629, 53633, 53639, 53653, 53657, + 53681, 53693, 53699, 53717, 53719, 53731, 53759, 53773, 53777, 53783, + 53791, 53813, 53819, 53831, 53849, 53857, 53861, 53881, 53887, 53891, + 53897, 53899, 53917, 53923, 53927, 53939, 53951, 53959, 53987, 53993, + 54001, 54011, 54013, 54037, 54049, 54059, 54083, 54091, 54101, 54121, + 54133, 54139, 54151, 54163, 54167, 54181, 54193, 54217, 54251, 54269, + 54277, 54287, 54293, 54311, 54319, 54323, 54331, 54347, 54361, 54367, + 54371, 54377, 54401, 54403, 54409, 54413, 54419, 54421, 54437, 54443, + 54449, 54469, 54493, 54497, 54499, 54503, 54517, 54521, 54539, 54541, + 54547, 54559, 54563, 54577, 54581, 54583, 54601, 54617, 54623, 54629, + 54631, 54647, 54667, 54673, 54679, 54709, 54713, 54721, 54727, 54751, + 54767, 54773, 54779, 54787, 54799, 54829, 54833, 54851, 54869, 54877, + 54881, 54907, 54917, 54919, 54941, 54949, 54959, 54973, 54979, 54983, + 55001, 55009, 55021, 55049, 55051, 55057, 55061, 55073, 55079, 55103, + 55109, 55117, 55127, 55147, 55163, 55171, 55201, 55207, 55213, 55217, + 55219, 55229, 55243, 55249, 55259, 55291, 55313, 55331, 55333, 55337, + 55339, 55343, 55351, 55373, 55381, 55399, 55411, 55439, 55441, 55457, + 55469, 55487, 55501, 55511, 55529, 55541, 55547, 55579, 55589, 55603, + 55609, 55619, 55621, 55631, 55633, 55639, 55661, 55663, 55667, 55673, + 55681, 55691, 55697, 55711, 55717, 55721, 55733, 55763, 55787, 55793, + 55799, 55807, 55813, 55817, 55819, 55823, 55829, 55837, 55843, 55849, + 55871, 55889, 55897, 55901, 55903, 55921, 55927, 55931, 55933, 55949, + 55967, 55987, 55997, 56003, 56009, 56039, 56041, 56053, 56081, 56087, + 56093, 56099, 56101, 56113, 56123, 56131, 56149, 56167, 56171, 56179, + 56197, 56207, 56209, 56237, 56239, 56249, 56263, 56267, 56269, 56299, + 56311, 56333, 56359, 56369, 56377, 56383, 56393, 56401, 56417, 56431, + 56437, 56443, 56453, 56467, 56473, 56477, 56479, 56489, 56501, 56503, + 56509, 56519, 56527, 56531, 56533, 56543, 56569, 56591, 56597, 56599, + 56611, 56629, 56633, 56659, 56663, 56671, 56681, 56687, 56701, 56711, + 56713, 56731, 56737, 56747, 56767, 56773, 56779, 56783, 56807, 56809, + 56813, 56821, 56827, 56843, 56857, 56873, 56891, 56893, 56897, 56909, + 56911, 56921, 56923, 56929, 56941, 56951, 56957, 56963, 56983, 56989, + 56993, 56999, 57037, 57041, 57047, 57059, 57073, 57077, 57089, 57097, + 57107, 57119, 57131, 57139, 57143, 57149, 57163, 57173, 57179, 57191, + 57193, 57203, 57221, 57223, 57241, 57251, 57259, 57269, 57271, 57283, + 57287, 57301, 57329, 57331, 57347, 57349, 57367, 57373, 57383, 57389, + 57397, 57413, 57427, 57457, 57467, 57487, 57493, 57503, 57527, 57529, + 57557, 57559, 57571, 57587, 57593, 57601, 57637, 57641, 57649, 57653, + 57667, 57679, 57689, 57697, 57709, 57713, 57719, 57727, 57731, 57737, + 57751, 57773, 57781, 57787, 57791, 57793, 57803, 57809, 57829, 57839, + 57847, 57853, 57859, 57881, 57899, 57901, 57917, 57923, 57943, 57947, + 57973, 57977, 57991, 58013, 58027, 58031, 58043, 58049, 58057, 58061, + 58067, 58073, 58099, 58109, 58111, 58129, 58147, 58151, 58153, 58169, + 58171, 58189, 58193, 58199, 58207, 58211, 58217, 58229, 58231, 58237, + 58243, 58271, 58309, 58313, 58321, 58337, 58363, 58367, 58369, 58379, + 58391, 58393, 58403, 58411, 58417, 58427, 58439, 58441, 58451, 58453, + 58477, 58481, 58511, 58537, 58543, 58549, 58567, 58573, 58579, 58601, + 58603, 58613, 58631, 58657, 58661, 58679, 58687, 58693, 58699, 58711, + 58727, 58733, 58741, 58757, 58763, 58771, 58787, 58789, 58831, 58889, + 58897, 58901, 58907, 58909, 58913, 58921, 58937, 58943, 58963, 58967, + 58979, 58991, 58997, 59009, 59011, 59021, 59023, 59029, 59051, 59053, + 59063, 59069, 59077, 59083, 59093, 59107, 59113, 59119, 59123, 59141, + 59149, 59159, 59167, 59183, 59197, 59207, 59209, 59219, 59221, 59233, + 59239, 59243, 59263, 59273, 59281, 59333, 59341, 59351, 59357, 59359, + 59369, 59377, 59387, 59393, 59399, 59407, 59417, 59419, 59441, 59443, + 59447, 59453, 59467, 59471, 59473, 59497, 59509, 59513, 59539, 59557, + 59561, 59567, 59581, 59611, 59617, 59621, 59627, 59629, 59651, 59659, + 59663, 59669, 59671, 59693, 59699, 59707, 59723, 59729, 59743, 59747, + 59753, 59771, 59779, 59791, 59797, 59809, 59833, 59863, 59879, 59887, + 59921, 59929, 59951, 59957, 59971, 59981, 59999, 60013, 60017, 60029, + 60037, 60041, 60077, 60083, 60089, 60091, 60101, 60103, 60107, 60127, + 60133, 60139, 60149, 60161, 60167, 60169, 60209, 60217, 60223, 60251, + 60257, 60259, 60271, 60289, 60293, 60317, 60331, 60337, 60343, 60353, + 60373, 60383, 60397, 60413, 60427, 60443, 60449, 60457, 60493, 60497, + 60509, 60521, 60527, 60539, 60589, 60601, 60607, 60611, 60617, 60623, + 60631, 60637, 60647, 60649, 60659, 60661, 60679, 60689, 60703, 60719, + 60727, 60733, 60737, 60757, 60761, 60763, 60773, 60779, 60793, 60811, + 60821, 60859, 60869, 60887, 60889, 60899, 60901, 60913, 60917, 60919, + 60923, 60937, 60943, 60953, 60961, 61001, 61007, 61027, 61031, 61043, + 61051, 61057, 61091, 61099, 61121, 61129, 61141, 61151, 61153, 61169, + 61211, 61223, 61231, 61253, 61261, 61283, 61291, 61297, 61331, 61333, + 61339, 61343, 61357, 61363, 61379, 61381, 61403, 61409, 61417, 61441, + 61463, 61469, 61471, 61483, 61487, 61493, 61507, 61511, 61519, 61543, + 61547, 61553, 61559, 61561, 61583, 61603, 61609, 61613, 61627, 61631, + 61637, 61643, 61651, 61657, 61667, 61673, 61681, 61687, 61703, 61717, + 61723, 61729, 61751, 61757, 61781, 61813, 61819, 61837, 61843, 61861, + 61871, 61879, 61909, 61927, 61933, 61949, 61961, 61967, 61979, 61981, + 61987, 61991, 62003, 62011, 62017, 62039, 62047, 62053, 62057, 62071, + 62081, 62099, 62119, 62129, 62131, 62137, 62141, 62143, 62171, 62189, + 62191, 62201, 62207, 62213, 62219, 62233, 62273, 62297, 62299, 62303, + 62311, 62323, 62327, 62347, 62351, 62383, 62401, 62417, 62423, 62459, + 62467, 62473, 62477, 62483, 62497, 62501, 62507, 62533, 62539, 62549, + 62563, 62581, 62591, 62597, 62603, 62617, 62627, 62633, 62639, 62653, + 62659, 62683, 62687, 62701, 62723, 62731, 62743, 62753, 62761, 62773, + 62791, 62801, 62819, 62827, 62851, 62861, 62869, 62873, 62897, 62903, + 62921, 62927, 62929, 62939, 62969, 62971, 62981, 62983, 62987, 62989, + 63029, 63031, 63059, 63067, 63073, 63079, 63097, 63103, 63113, 63127, + 63131, 63149, 63179, 63197, 63199, 63211, 63241, 63247, 63277, 63281, + 63299, 63311, 63313, 63317, 63331, 63337, 63347, 63353, 63361, 63367, + 63377, 63389, 63391, 63397, 63409, 63419, 63421, 63439, 63443, 63463, + 63467, 63473, 63487, 63493, 63499, 63521, 63527, 63533, 63541, 63559, + 63577, 63587, 63589, 63599, 63601, 63607, 63611, 63617, 63629, 63647, + 63649, 63659, 63667, 63671, 63689, 63691, 63697, 63703, 63709, 63719, + 63727, 63737, 63743, 63761, 63773, 63781, 63793, 63799, 63803, 63809, + 63823, 63839, 63841, 63853, 63857, 63863, 63901, 63907, 63913, 63929, + 63949, 63977, 63997, 64007, 64013, 64019, 64033, 64037, 64063, 64067, + 64081, 64091, 64109, 64123, 64151, 64153, 64157, 64171, 64187, 64189, + 64217, 64223, 64231, 64237, 64271, 64279, 64283, 64301, 64303, 64319, + 64327, 64333, 64373, 64381, 64399, 64403, 64433, 64439, 64451, 64453, + 64483, 64489, 64499, 64513, 64553, 64567, 64577, 64579, 64591, 64601, + 64609, 64613, 64621, 64627, 64633, 64661, 64663, 64667, 64679, 64693, + 64709, 64717, 64747, 64763, 64781, 64783, 64793, 64811, 64817, 64849, + 64853, 64871, 64877, 64879, 64891, 64901, 64919, 64921, 64927, 64937, + 64951, 64969, 64997, 65003, 65011, 65027, 65029, 65033, 65053, 65063, + 65071, 65089, 65099, 65101, 65111, 65119, 65123, 65129, 65141, 65147, + 65167, 65171, 65173, 65179, 65183, 65203, 65213, 65239, 65257, 65267, + 65269, 65287, 65293, 65309, 65323, 65327, 65353, 65357, 65371, 65381, + 65393, 65407, 65413, 65419, 65423, 65437, 65447, 65449, 65479, 65497, + 65519, 65521, 65537, 65539, 65543, 65551, 65557, 65563, 65579, 65581, + 65587, 65599, 65609, 65617, 65629, 65633, 65647, 65651, 65657, 65677, + 65687, 65699, 65701, 65707, 65713, 65717, 65719, 65729, 65731, 65761, + 65777, 65789, 65809, 65827, 65831, 65837, 65839, 65843, 65851, 65867, + 65881, 65899, 65921, 65927, 65929, 65951, 65957, 65963, 65981, 65983, + 65993, 66029, 66037, 66041, 66047, 66067, 66071, 66083, 66089, 66103, + 66107, 66109, 66137, 66161, 66169, 66173, 66179, 66191, 66221, 66239, + 66271, 66293, 66301, 66337, 66343, 66347, 66359, 66361, 66373, 66377, + 66383, 66403, 66413, 66431, 66449, 66457, 66463, 66467, 66491, 66499, + 66509, 66523, 66529, 66533, 66541, 66553, 66569, 66571, 66587, 66593, + 66601, 66617, 66629, 66643, 66653, 66683, 66697, 66701, 66713, 66721, + 66733, 66739, 66749, 66751, 66763, 66791, 66797, 66809, 66821, 66841, + 66851, 66853, 66863, 66877, 66883, 66889, 66919, 66923, 66931, 66943, + 66947, 66949, 66959, 66973, 66977, 67003, 67021, 67033, 67043, 67049, + 67057, 67061, 67073, 67079, 67103, 67121, 67129, 67139, 67141, 67153, + 67157, 67169, 67181, 67187, 67189, 67211, 67213, 67217, 67219, 67231, + 67247, 67261, 67271, 67273, 67289, 67307, 67339, 67343, 67349, 67369, + 67391, 67399, 67409, 67411, 67421, 67427, 67429, 67433, 67447, 67453, + 67477, 67481, 67489, 67493, 67499, 67511, 67523, 67531, 67537, 67547, + 67559, 67567, 67577, 67579, 67589, 67601, 67607, 67619, 67631, 67651, + 67679, 67699, 67709, 67723, 67733, 67741, 67751, 67757, 67759, 67763, + 67777, 67783, 67789, 67801, 67807, 67819, 67829, 67843, 67853, 67867, + 67883, 67891, 67901, 67927, 67931, 67933, 67939, 67943, 67957, 67961, + 67967, 67979, 67987, 67993, 68023, 68041, 68053, 68059, 68071, 68087, + 68099, 68111, 68113, 68141, 68147, 68161, 68171, 68207, 68209, 68213, + 68219, 68227, 68239, 68261, 68279, 68281, 68311, 68329, 68351, 68371, + 68389, 68399, 68437, 68443, 68447, 68449, 68473, 68477, 68483, 68489, + 68491, 68501, 68507, 68521, 68531, 68539, 68543, 68567, 68581, 68597, + 68611, 68633, 68639, 68659, 68669, 68683, 68687, 68699, 68711, 68713, + 68729, 68737, 68743, 68749, 68767, 68771, 68777, 68791, 68813, 68819, + 68821, 68863, 68879, 68881, 68891, 68897, 68899, 68903, 68909, 68917, + 68927, 68947, 68963, 68993, 69001, 69011, 69019, 69029, 69031, 69061, + 69067, 69073, 69109, 69119, 69127, 69143, 69149, 69151, 69163, 69191, + 69193, 69197, 69203, 69221, 69233, 69239, 69247, 69257, 69259, 69263, + 69313, 69317, 69337, 69341, 69371, 69379, 69383, 69389, 69401, 69403, + 69427, 69431, 69439, 69457, 69463, 69467, 69473, 69481, 69491, 69493, + 69497, 69499, 69539, 69557, 69593, 69623, 69653, 69661, 69677, 69691, + 69697, 69709, 69737, 69739, 69761, 69763, 69767, 69779, 69809, 69821, + 69827, 69829, 69833, 69847, 69857, 69859, 69877, 69899, 69911, 69929, + 69931, 69941, 69959, 69991, 69997, 70001, 70003, 70009, 70019, 70039, + 70051, 70061, 70067, 70079, 70099, 70111, 70117, 70121, 70123, 70139, + 70141, 70157, 70163, 70177, 70181, 70183, 70199, 70201, 70207, 70223, + 70229, 70237, 70241, 70249, 70271, 70289, 70297, 70309, 70313, 70321, + 70327, 70351, 70373, 70379, 70381, 70393, 70423, 70429, 70439, 70451, + 70457, 70459, 70481, 70487, 70489, 70501, 70507, 70529, 70537, 70549, + 70571, 70573, 70583, 70589, 70607, 70619, 70621, 70627, 70639, 70657, + 70663, 70667, 70687, 70709, 70717, 70729, 70753, 70769, 70783, 70793, + 70823, 70841, 70843, 70849, 70853, 70867, 70877, 70879, 70891, 70901, + 70913, 70919, 70921, 70937, 70949, 70951, 70957, 70969, 70979, 70981, + 70991, 70997, 70999, 71011, 71023, 71039, 71059, 71069, 71081, 71089, + 71119, 71129, 71143, 71147, 71153, 71161, 71167, 71171, 71191, 71209, + 71233, 71237, 71249, 71257, 71261, 71263, 71287, 71293, 71317, 71327, + 71329, 71333, 71339, 71341, 71347, 71353, 71359, 71363, 71387, 71389, + 71399, 71411, 71413, 71419, 71429, 71437, 71443, 71453, 71471, 71473, + 71479, 71483, 71503, 71527, 71537, 71549, 71551, 71563, 71569, 71593, + 71597, 71633, 71647, 71663, 71671, 71693, 71699, 71707, 71711, 71713, + 71719, 71741, 71761, 71777, 71789, 71807, 71809, 71821, 71837, 71843, + 71849, 71861, 71867, 71879, 71881, 71887, 71899, 71909, 71917, 71933, + 71941, 71947, 71963, 71971, 71983, 71987, 71993, 71999, 72019, 72031, + 72043, 72047, 72053, 72073, 72077, 72089, 72091, 72101, 72103, 72109, + 72139, 72161, 72167, 72169, 72173, 72211, 72221, 72223, 72227, 72229, + 72251, 72253, 72269, 72271, 72277, 72287, 72307, 72313, 72337, 72341, + 72353, 72367, 72379, 72383, 72421, 72431, 72461, 72467, 72469, 72481, + 72493, 72497, 72503, 72533, 72547, 72551, 72559, 72577, 72613, 72617, + 72623, 72643, 72647, 72649, 72661, 72671, 72673, 72679, 72689, 72701, + 72707, 72719, 72727, 72733, 72739, 72763, 72767, 72797, 72817, 72823, + 72859, 72869, 72871, 72883, 72889, 72893, 72901, 72907, 72911, 72923, + 72931, 72937, 72949, 72953, 72959, 72973, 72977, 72997, 73009, 73013, + 73019, 73037, 73039, 73043, 73061, 73063, 73079, 73091, 73121, 73127, + 73133, 73141, 73181, 73189, 73237, 73243, 73259, 73277, 73291, 73303, + 73309, 73327, 73331, 73351, 73361, 73363, 73369, 73379, 73387, 73417, + 73421, 73433, 73453, 73459, 73471, 73477, 73483, 73517, 73523, 73529, + 73547, 73553, 73561, 73571, 73583, 73589, 73597, 73607, 73609, 73613, + 73637, 73643, 73651, 73673, 73679, 73681, 73693, 73699, 73709, 73721, + 73727, 73751, 73757, 73771, 73783, 73819, 73823, 73847, 73849, 73859, + 73867, 73877, 73883, 73897, 73907, 73939, 73943, 73951, 73961, 73973, + 73999, 74017, 74021, 74027, 74047, 74051, 74071, 74077, 74093, 74099, + 74101, 74131, 74143, 74149, 74159, 74161, 74167, 74177, 74189, 74197, + 74201, 74203, 74209, 74219, 74231, 74257, 74279, 74287, 74293, 74297, + 74311, 74317, 74323, 74353, 74357, 74363, 74377, 74381, 74383, 74411, + 74413, 74419, 74441, 74449, 74453, 74471, 74489, 74507, 74509, 74521, + 74527, 74531, 74551, 74561, 74567, 74573, 74587, 74597, 74609, 74611, + 74623, 74653, 74687, 74699, 74707, 74713, 74717, 74719, 74729, 74731, + 74747, 74759, 74761, 74771, 74779, 74797, 74821, 74827, 74831, 74843, + 74857, 74861, 74869, 74873, 74887, 74891, 74897, 74903, 74923, 74929, + 74933, 74941, 74959, 75011, 75013, 75017, 75029, 75037, 75041, 75079, + 75083, 75109, 75133, 75149, 75161, 75167, 75169, 75181, 75193, 75209, + 75211, 75217, 75223, 75227, 75239, 75253, 75269, 75277, 75289, 75307, + 75323, 75329, 75337, 75347, 75353, 75367, 75377, 75389, 75391, 75401, + 75403, 75407, 75431, 75437, 75479, 75503, 75511, 75521, 75527, 75533, + 75539, 75541, 75553, 75557, 75571, 75577, 75583, 75611, 75617, 75619, + 75629, 75641, 75653, 75659, 75679, 75683, 75689, 75703, 75707, 75709, + 75721, 75731, 75743, 75767, 75773, 75781, 75787, 75793, 75797, 75821, + 75833, 75853, 75869, 75883, 75913, 75931, 75937, 75941, 75967, 75979, + 75983, 75989, 75991, 75997, 76001, 76003, 76031, 76039, 76079, 76081, + 76091, 76099, 76103, 76123, 76129, 76147, 76157, 76159, 76163, 76207, + 76213, 76231, 76243, 76249, 76253, 76259, 76261, 76283, 76289, 76303, + 76333, 76343, 76367, 76369, 76379, 76387, 76403, 76421, 76423, 76441, + 76463, 76471, 76481, 76487, 76493, 76507, 76511, 76519, 76537, 76541, + 76543, 76561, 76579, 76597, 76603, 76607, 76631, 76649, 76651, 76667, + 76673, 76679, 76697, 76717, 76733, 76753, 76757, 76771, 76777, 76781, + 76801, 76819, 76829, 76831, 76837, 76847, 76871, 76873, 76883, 76907, + 76913, 76919, 76943, 76949, 76961, 76963, 76991, 77003, 77017, 77023, + 77029, 77041, 77047, 77069, 77081, 77093, 77101, 77137, 77141, 77153, + 77167, 77171, 77191, 77201, 77213, 77237, 77239, 77243, 77249, 77261, + 77263, 77267, 77269, 77279, 77291, 77317, 77323, 77339, 77347, 77351, + 77359, 77369, 77377, 77383, 77417, 77419, 77431, 77447, 77471, 77477, + 77479, 77489, 77491, 77509, 77513, 77521, 77527, 77543, 77549, 77551, + 77557, 77563, 77569, 77573, 77587, 77591, 77611, 77617, 77621, 77641, + 77647, 77659, 77681, 77687, 77689, 77699, 77711, 77713, 77719, 77723, + 77731, 77743, 77747, 77761, 77773, 77783, 77797, 77801, 77813, 77839, + 77849, 77863, 77867, 77893, 77899, 77929, 77933, 77951, 77969, 77977, + 77983, 77999, 78007, 78017, 78031, 78041, 78049, 78059, 78079, 78101, + 78121, 78137, 78139, 78157, 78163, 78167, 78173, 78179, 78191, 78193, + 78203, 78229, 78233, 78241, 78259, 78277, 78283, 78301, 78307, 78311, + 78317, 78341, 78347, 78367, 78401, 78427, 78437, 78439, 78467, 78479, + 78487, 78497, 78509, 78511, 78517, 78539, 78541, 78553, 78569, 78571, + 78577, 78583, 78593, 78607, 78623, 78643, 78649, 78653, 78691, 78697, + 78707, 78713, 78721, 78737, 78779, 78781, 78787, 78791, 78797, 78803, + 78809, 78823, 78839, 78853, 78857, 78877, 78887, 78889, 78893, 78901, + 78919, 78929, 78941, 78977, 78979, 78989, 79031, 79039, 79043, 79063, + 79087, 79103, 79111, 79133, 79139, 79147, 79151, 79153, 79159, 79181, + 79187, 79193, 79201, 79229, 79231, 79241, 79259, 79273, 79279, 79283, + 79301, 79309, 79319, 79333, 79337, 79349, 79357, 79367, 79379, 79393, + 79397, 79399, 79411, 79423, 79427, 79433, 79451, 79481, 79493, 79531, + 79537, 79549, 79559, 79561, 79579, 79589, 79601, 79609, 79613, 79621, + 79627, 79631, 79633, 79657, 79669, 79687, 79691, 79693, 79697, 79699, + 79757, 79769, 79777, 79801, 79811, 79813, 79817, 79823, 79829, 79841, + 79843, 79847, 79861, 79867, 79873, 79889, 79901, 79903, 79907, 79939, + 79943, 79967, 79973, 79979, 79987, 79997, 79999, 80021, 80039, 80051, + 80071, 80077, 80107, 80111, 80141, 80147, 80149, 80153, 80167, 80173, + 80177, 80191, 80207, 80209, 80221, 80231, 80233, 80239, 80251, 80263, + 80273, 80279, 80287, 80309, 80317, 80329, 80341, 80347, 80363, 80369, + 80387, 80407, 80429, 80447, 80449, 80471, 80473, 80489, 80491, 80513, + 80527, 80537, 80557, 80567, 80599, 80603, 80611, 80621, 80627, 80629, + 80651, 80657, 80669, 80671, 80677, 80681, 80683, 80687, 80701, 80713, + 80737, 80747, 80749, 80761, 80777, 80779, 80783, 80789, 80803, 80809, + 80819, 80831, 80833, 80849, 80863, 80897, 80909, 80911, 80917, 80923, + 80929, 80933, 80953, 80963, 80989, 81001, 81013, 81017, 81019, 81023, + 81031, 81041, 81043, 81047, 81049, 81071, 81077, 81083, 81097, 81101, + 81119, 81131, 81157, 81163, 81173, 81181, 81197, 81199, 81203, 81223, + 81233, 81239, 81281, 81283, 81293, 81299, 81307, 81331, 81343, 81349, + 81353, 81359, 81371, 81373, 81401, 81409, 81421, 81439, 81457, 81463, + 81509, 81517, 81527, 81533, 81547, 81551, 81553, 81559, 81563, 81569, + 81611, 81619, 81629, 81637, 81647, 81649, 81667, 81671, 81677, 81689, + 81701, 81703, 81707, 81727, 81737, 81749, 81761, 81769, 81773, 81799, + 81817, 81839, 81847, 81853, 81869, 81883, 81899, 81901, 81919, 81929, + 81931, 81937, 81943, 81953, 81967, 81971, 81973, 82003, 82007, 82009, + 82013, 82021, 82031, 82037, 82039, 82051, 82067, 82073, 82129, 82139, + 82141, 82153, 82163, 82171, 82183, 82189, 82193, 82207, 82217, 82219, + 82223, 82231, 82237, 82241, 82261, 82267, 82279, 82301, 82307, 82339, + 82349, 82351, 82361, 82373, 82387, 82393, 82421, 82457, 82463, 82469, + 82471, 82483, 82487, 82493, 82499, 82507, 82529, 82531, 82549, 82559, + 82561, 82567, 82571, 82591, 82601, 82609, 82613, 82619, 82633, 82651, + 82657, 82699, 82721, 82723, 82727, 82729, 82757, 82759, 82763, 82781, + 82787, 82793, 82799, 82811, 82813, 82837, 82847, 82883, 82889, 82891, + 82903, 82913, 82939, 82963, 82981, 82997, 83003, 83009, 83023, 83047, + 83059, 83063, 83071, 83077, 83089, 83093, 83101, 83117, 83137, 83177, + 83203, 83207, 83219, 83221, 83227, 83231, 83233, 83243, 83257, 83267, + 83269, 83273, 83299, 83311, 83339, 83341, 83357, 83383, 83389, 83399, + 83401, 83407, 83417, 83423, 83431, 83437, 83443, 83449, 83459, 83471, + 83477, 83497, 83537, 83557, 83561, 83563, 83579, 83591, 83597, 83609, + 83617, 83621, 83639, 83641, 83653, 83663, 83689, 83701, 83717, 83719, + 83737, 83761, 83773, 83777, 83791, 83813, 83833, 83843, 83857, 83869, + 83873, 83891, 83903, 83911, 83921, 83933, 83939, 83969, 83983, 83987, + 84011, 84017, 84047, 84053, 84059, 84061, 84067, 84089, 84121, 84127, + 84131, 84137, 84143, 84163, 84179, 84181, 84191, 84199, 84211, 84221, + 84223, 84229, 84239, 84247, 84263, 84299, 84307, 84313, 84317, 84319, + 84347, 84349, 84377, 84389, 84391, 84401, 84407, 84421, 84431, 84437, + 84443, 84449, 84457, 84463, 84467, 84481, 84499, 84503, 84509, 84521, + 84523, 84533, 84551, 84559, 84589, 84629, 84631, 84649, 84653, 84659, + 84673, 84691, 84697, 84701, 84713, 84719, 84731, 84737, 84751, 84761, + 84787, 84793, 84809, 84811, 84827, 84857, 84859, 84869, 84871, 84913, + 84919, 84947, 84961, 84967, 84977, 84979, 84991, 85009, 85021, 85027, + 85037, 85049, 85061, 85081, 85087, 85091, 85093, 85103, 85109, 85121, + 85133, 85147, 85159, 85193, 85199, 85201, 85213, 85223, 85229, 85237, + 85243, 85247, 85259, 85297, 85303, 85313, 85331, 85333, 85361, 85363, + 85369, 85381, 85411, 85427, 85429, 85439, 85447, 85451, 85453, 85469, + 85487, 85513, 85517, 85523, 85531, 85549, 85571, 85577, 85597, 85601, + 85607, 85619, 85621, 85627, 85639, 85643, 85661, 85667, 85669, 85691, + 85703, 85711, 85717, 85733, 85751, 85781, 85793, 85817, 85819, 85829, + 85831, 85837, 85843, 85847, 85853, 85889, 85903, 85909, 85931, 85933, + 85991, 85999, 86011, 86017, 86027, 86029, 86069, 86077, 86083, 86111, + 86113, 86117, 86131, 86137, 86143, 86161, 86171, 86179, 86183, 86197, + 86201, 86209, 86239, 86243, 86249, 86257, 86263, 86269, 86287, 86291, + 86293, 86297, 86311, 86323, 86341, 86351, 86353, 86357, 86369, 86371, + 86381, 86389, 86399, 86413, 86423, 86441, 86453, 86461, 86467, 86477, + 86491, 86501, 86509, 86531, 86533, 86539, 86561, 86573, 86579, 86587, + 86599, 86627, 86629, 86677, 86689, 86693, 86711, 86719, 86729, 86743, + 86753, 86767, 86771, 86783, 86813, 86837, 86843, 86851, 86857, 86861, + 86869, 86923, 86927, 86929, 86939, 86951, 86959, 86969, 86981, 86993, + 87011, 87013, 87037, 87041, 87049, 87071, 87083, 87103, 87107, 87119, + 87121, 87133, 87149, 87151, 87179, 87181, 87187, 87211, 87221, 87223, + 87251, 87253, 87257, 87277, 87281, 87293, 87299, 87313, 87317, 87323, + 87337, 87359, 87383, 87403, 87407, 87421, 87427, 87433, 87443, 87473, + 87481, 87491, 87509, 87511, 87517, 87523, 87539, 87541, 87547, 87553, + 87557, 87559, 87583, 87587, 87589, 87613, 87623, 87629, 87631, 87641, + 87643, 87649, 87671, 87679, 87683, 87691, 87697, 87701, 87719, 87721, + 87739, 87743, 87751, 87767, 87793, 87797, 87803, 87811, 87833, 87853, + 87869, 87877, 87881, 87887, 87911, 87917, 87931, 87943, 87959, 87961, + 87973, 87977, 87991, 88001, 88003, 88007, 88019, 88037, 88069, 88079, + 88093, 88117, 88129, 88169, 88177, 88211, 88223, 88237, 88241, 88259, + 88261, 88289, 88301, 88321, 88327, 88337, 88339, 88379, 88397, 88411, + 88423, 88427, 88463, 88469, 88471, 88493, 88499, 88513, 88523, 88547, + 88589, 88591, 88607, 88609, 88643, 88651, 88657, 88661, 88663, 88667, + 88681, 88721, 88729, 88741, 88747, 88771, 88789, 88793, 88799, 88801, + 88807, 88811, 88813, 88817, 88819, 88843, 88853, 88861, 88867, 88873, + 88883, 88897, 88903, 88919, 88937, 88951, 88969, 88993, 88997, 89003, + 89009, 89017, 89021, 89041, 89051, 89057, 89069, 89071, 89083, 89087, + 89101, 89107, 89113, 89119, 89123, 89137, 89153, 89189, 89203, 89209, + 89213, 89227, 89231, 89237, 89261, 89269, 89273, 89293, 89303, 89317, + 89329, 89363, 89371, 89381, 89387, 89393, 89399, 89413, 89417, 89431, + 89443, 89449, 89459, 89477, 89491, 89501, 89513, 89519, 89521, 89527, + 89533, 89561, 89563, 89567, 89591, 89597, 89599, 89603, 89611, 89627, + 89633, 89653, 89657, 89659, 89669, 89671, 89681, 89689, 89753, 89759, + 89767, 89779, 89783, 89797, 89809, 89819, 89821, 89833, 89839, 89849, + 89867, 89891, 89897, 89899, 89909, 89917, 89923, 89939, 89959, 89963, + 89977, 89983, 89989, 90001, 90007, 90011, 90017, 90019, 90023, 90031, + 90053, 90059, 90067, 90071, 90073, 90089, 90107, 90121, 90127, 90149, + 90163, 90173, 90187, 90191, 90197, 90199, 90203, 90217, 90227, 90239, + 90247, 90263, 90271, 90281, 90289, 90313, 90353, 90359, 90371, 90373, + 90379, 90397, 90401, 90403, 90407, 90437, 90439, 90469, 90473, 90481, + 90499, 90511, 90523, 90527, 90529, 90533, 90547, 90583, 90599, 90617, + 90619, 90631, 90641, 90647, 90659, 90677, 90679, 90697, 90703, 90709, + 90731, 90749, 90787, 90793, 90803, 90821, 90823, 90833, 90841, 90847, + 90863, 90887, 90901, 90907, 90911, 90917, 90931, 90947, 90971, 90977, + 90989, 90997, 91009, 91019, 91033, 91079, 91081, 91097, 91099, 91121, + 91127, 91129, 91139, 91141, 91151, 91153, 91159, 91163, 91183, 91193, + 91199, 91229, 91237, 91243, 91249, 91253, 91283, 91291, 91297, 91303, + 91309, 91331, 91367, 91369, 91373, 91381, 91387, 91393, 91397, 91411, + 91423, 91433, 91453, 91457, 91459, 91463, 91493, 91499, 91513, 91529, + 91541, 91571, 91573, 91577, 91583, 91591, 91621, 91631, 91639, 91673, + 91691, 91703, 91711, 91733, 91753, 91757, 91771, 91781, 91801, 91807, + 91811, 91813, 91823, 91837, 91841, 91867, 91873, 91909, 91921, 91939, + 91943, 91951, 91957, 91961, 91967, 91969, 91997, 92003, 92009, 92033, + 92041, 92051, 92077, 92083, 92107, 92111, 92119, 92143, 92153, 92173, + 92177, 92179, 92189, 92203, 92219, 92221, 92227, 92233, 92237, 92243, + 92251, 92269, 92297, 92311, 92317, 92333, 92347, 92353, 92357, 92363, + 92369, 92377, 92381, 92383, 92387, 92399, 92401, 92413, 92419, 92431, + 92459, 92461, 92467, 92479, 92489, 92503, 92507, 92551, 92557, 92567, + 92569, 92581, 92593, 92623, 92627, 92639, 92641, 92647, 92657, 92669, + 92671, 92681, 92683, 92693, 92699, 92707, 92717, 92723, 92737, 92753, + 92761, 92767, 92779, 92789, 92791, 92801, 92809, 92821, 92831, 92849, + 92857, 92861, 92863, 92867, 92893, 92899, 92921, 92927, 92941, 92951, + 92957, 92959, 92987, 92993, 93001, 93047, 93053, 93059, 93077, 93083, + 93089, 93097, 93103, 93113, 93131, 93133, 93139, 93151, 93169, 93179, + 93187, 93199, 93229, 93239, 93241, 93251, 93253, 93257, 93263, 93281, + 93283, 93287, 93307, 93319, 93323, 93329, 93337, 93371, 93377, 93383, + 93407, 93419, 93427, 93463, 93479, 93481, 93487, 93491, 93493, 93497, + 93503, 93523, 93529, 93553, 93557, 93559, 93563, 93581, 93601, 93607, + 93629, 93637, 93683, 93701, 93703, 93719, 93739, 93761, 93763, 93787, + 93809, 93811, 93827, 93851, 93871, 93887, 93889, 93893, 93901, 93911, + 93913, 93923, 93937, 93941, 93949, 93967, 93971, 93979, 93983, 93997, + 94007, 94009, 94033, 94049, 94057, 94063, 94079, 94099, 94109, 94111, + 94117, 94121, 94151, 94153, 94169, 94201, 94207, 94219, 94229, 94253, + 94261, 94273, 94291, 94307, 94309, 94321, 94327, 94331, 94343, 94349, + 94351, 94379, 94397, 94399, 94421, 94427, 94433, 94439, 94441, 94447, + 94463, 94477, 94483, 94513, 94529, 94531, 94541, 94543, 94547, 94559, + 94561, 94573, 94583, 94597, 94603, 94613, 94621, 94649, 94651, 94687, + 94693, 94709, 94723, 94727, 94747, 94771, 94777, 94781, 94789, 94793, + 94811, 94819, 94823, 94837, 94841, 94847, 94849, 94873, 94889, 94903, + 94907, 94933, 94949, 94951, 94961, 94993, 94999, 95003, 95009, 95021, + 95027, 95063, 95071, 95083, 95087, 95089, 95093, 95101, 95107, 95111, + 95131, 95143, 95153, 95177, 95189, 95191, 95203, 95213, 95219, 95231, + 95233, 95239, 95257, 95261, 95267, 95273, 95279, 95287, 95311, 95317, + 95327, 95339, 95369, 95383, 95393, 95401, 95413, 95419, 95429, 95441, + 95443, 95461, 95467, 95471, 95479, 95483, 95507, 95527, 95531, 95539, + 95549, 95561, 95569, 95581, 95597, 95603, 95617, 95621, 95629, 95633, + 95651, 95701, 95707, 95713, 95717, 95723, 95731, 95737, 95747, 95773, + 95783, 95789, 95791, 95801, 95803, 95813, 95819, 95857, 95869, 95873, + 95881, 95891, 95911, 95917, 95923, 95929, 95947, 95957, 95959, 95971, + 95987, 95989, 96001, 96013, 96017, 96043, 96053, 96059, 96079, 96097, + 96137, 96149, 96157, 96167, 96179, 96181, 96199, 96211, 96221, 96223, + 96233, 96259, 96263, 96269, 96281, 96289, 96293, 96323, 96329, 96331, + 96337, 96353, 96377, 96401, 96419, 96431, 96443, 96451, 96457, 96461, + 96469, 96479, 96487, 96493, 96497, 96517, 96527, 96553, 96557, 96581, + 96587, 96589, 96601, 96643, 96661, 96667, 96671, 96697, 96703, 96731, + 96737, 96739, 96749, 96757, 96763, 96769, 96779, 96787, 96797, 96799, + 96821, 96823, 96827, 96847, 96851, 96857, 96893, 96907, 96911, 96931, + 96953, 96959, 96973, 96979, 96989, 96997, 97001, 97003, 97007, 97021, + 97039, 97073, 97081, 97103, 97117, 97127, 97151, 97157, 97159, 97169, + 97171, 97177, 97187, 97213, 97231, 97241, 97259, 97283, 97301, 97303, + 97327, 97367, 97369, 97373, 97379, 97381, 97387, 97397, 97423, 97429, + 97441, 97453, 97459, 97463, 97499, 97501, 97511, 97523, 97547, 97549, + 97553, 97561, 97571, 97577, 97579, 97583, 97607, 97609, 97613, 97649, + 97651, 97673, 97687, 97711, 97729, 97771, 97777, 97787, 97789, 97813, + 97829, 97841, 97843, 97847, 97849, 97859, 97861, 97871, 97879, 97883, + 97919, 97927, 97931, 97943, 97961, 97967, 97973, 97987, 98009, 98011, + 98017, 98041, 98047, 98057, 98081, 98101, 98123, 98129, 98143, 98179, + 98207, 98213, 98221, 98227, 98251, 98257, 98269, 98297, 98299, 98317, + 98321, 98323, 98327, 98347, 98369, 98377, 98387, 98389, 98407, 98411, + 98419, 98429, 98443, 98453, 98459, 98467, 98473, 98479, 98491, 98507, + 98519, 98533, 98543, 98561, 98563, 98573, 98597, 98621, 98627, 98639, + 98641, 98663, 98669, 98689, 98711, 98713, 98717, 98729, 98731, 98737, + 98773, 98779, 98801, 98807, 98809, 98837, 98849, 98867, 98869, 98873, + 98887, 98893, 98897, 98899, 98909, 98911, 98927, 98929, 98939, 98947, + 98953, 98963, 98981, 98993, 98999, 99013, 99017, 99023, 99041, 99053, + 99079, 99083, 99089, 99103, 99109, 99119, 99131, 99133, 99137, 99139, + 99149, 99173, 99181, 99191, 99223, 99233, 99241, 99251, 99257, 99259, + 99277, 99289, 99317, 99347, 99349, 99367, 99371, 99377, 99391, 99397, + 99401, 99409, 99431, 99439, 99469, 99487, 99497, 99523, 99527, 99529, + 99551, 99559, 99563, 99571, 99577, 99581, 99607, 99611, 99623, 99643, + 99661, 99667, 99679, 99689, 99707, 99709, 99713, 99719, 99721, 99733, + 99761, 99767, 99787, 99793, 99809, 99817, 99823, 99829, 99833, 99839, + 99859, 99871, 99877, 99881, 99901, 99907, 99923, 99929, 99961, 99971, + 99989, 99991, 100003, 100019, 100043, 100049, 100057, 100069, 100103, 100109, +100129, 100151, 100153, 100169, 100183, 100189, 100193, 100207, 100213, 100237, +100267, 100271, 100279, 100291, 100297, 100313, 100333, 100343, 100357, 100361, +100363, 100379, 100391, 100393, 100403, 100411, 100417, 100447, 100459, 100469, +100483, 100493, 100501, 100511, 100517, 100519, 100523, 100537, 100547, 100549, +100559, 100591, 100609, 100613, 100621, 100649, 100669, 100673, 100693, 100699, +100703, 100733, 100741, 100747, 100769, 100787, 100799, 100801, 100811, 100823, +100829, 100847, 100853, 100907, 100913, 100927, 100931, 100937, 100943, 100957, +100981, 100987, 100999, 101009, 101021, 101027, 101051, 101063, 101081, 101089, +101107, 101111, 101113, 101117, 101119, 101141, 101149, 101159, 101161, 101173, +101183, 101197, 101203, 101207, 101209, 101221, 101267, 101273, 101279, 101281, +101287, 101293, 101323, 101333, 101341, 101347, 101359, 101363, 101377, 101383, +101399, 101411, 101419, 101429, 101449, 101467, 101477, 101483, 101489, 101501, +101503, 101513, 101527, 101531, 101533, 101537, 101561, 101573, 101581, 101599, +101603, 101611, 101627, 101641, 101653, 101663, 101681, 101693, 101701, 101719, +101723, 101737, 101741, 101747, 101749, 101771, 101789, 101797, 101807, 101833, +101837, 101839, 101863, 101869, 101873, 101879, 101891, 101917, 101921, 101929, +101939, 101957, 101963, 101977, 101987, 101999, 102001, 102013, 102019, 102023, +102031, 102043, 102059, 102061, 102071, 102077, 102079, 102101, 102103, 102107, +102121, 102139, 102149, 102161, 102181, 102191, 102197, 102199, 102203, 102217, +102229, 102233, 102241, 102251, 102253, 102259, 102293, 102299, 102301, 102317, +102329, 102337, 102359, 102367, 102397, 102407, 102409, 102433, 102437, 102451, +102461, 102481, 102497, 102499, 102503, 102523, 102533, 102539, 102547, 102551, +102559, 102563, 102587, 102593, 102607, 102611, 102643, 102647, 102653, 102667, +102673, 102677, 102679, 102701, 102761, 102763, 102769, 102793, 102797, 102811, +102829, 102841, 102859, 102871, 102877, 102881, 102911, 102913, 102929, 102931, +102953, 102967, 102983, 103001, 103007, 103043, 103049, 103067, 103069, 103079, +103087, 103091, 103093, 103099, 103123, 103141, 103171, 103177, 103183, 103217, +103231, 103237, 103289, 103291, 103307, 103319, 103333, 103349, 103357, 103387, +103391, 103393, 103399, 103409, 103421, 103423, 103451, 103457, 103471, 103483, +103511, 103529, 103549, 103553, 103561, 103567, 103573, 103577, 103583, 103591, +103613, 103619, 103643, 103651, 103657, 103669, 103681, 103687, 103699, 103703, +103723, 103769, 103787, 103801, 103811, 103813, 103837, 103841, 103843, 103867, +103889, 103903, 103913, 103919, 103951, 103963, 103967, 103969, 103979, 103981, +103991, 103993, 103997, 104003, 104009, 104021, 104033, 104047, 104053, 104059, +104087, 104089, 104107, 104113, 104119, 104123, 104147, 104149, 104161, 104173, +104179, 104183, 104207, 104231, 104233, 104239, 104243, 104281, 104287, 104297, +104309, 104311, 104323, 104327, 104347, 104369, 104381, 104383, 104393, 104399, +104417, 104459, 104471, 104473, 104479, 104491, 104513, 104527, 104537, 104543, +104549, 104551, 104561, 104579, 104593, 104597, 104623, 104639, 104651, 104659, +104677, 104681, 104683, 104693, 104701, 104707, 104711, 104717, 104723, 104729, +) diff --git a/lib27/site-packages/Crypto/Util/py3compat.py b/lib27/site-packages/Crypto/Util/py3compat.py new file mode 100644 index 000000000..4bb801388 --- /dev/null +++ b/lib27/site-packages/Crypto/Util/py3compat.py @@ -0,0 +1,159 @@ +# -*- coding: utf-8 -*- +# +# Util/py3compat.py : Compatibility code for handling Py3k / Python 2.x +# +# Written in 2010 by Thorsten Behrens +# +# =================================================================== +# The contents of this file are dedicated to the public domain. To +# the extent that dedication to the public domain is not available, +# everyone is granted a worldwide, perpetual, royalty-free, +# non-exclusive license to exercise all rights associated with the +# contents of this file for any purpose whatsoever. +# No rights are reserved. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# =================================================================== + +"""Compatibility code for handling string/bytes changes from Python 2.x to Py3k + +In Python 2.x, strings (of type ''str'') contain binary data, including encoded +Unicode text (e.g. UTF-8). The separate type ''unicode'' holds Unicode text. +Unicode literals are specified via the u'...' prefix. Indexing or slicing +either type always produces a string of the same type as the original. +Data read from a file is always of '''str'' type. + +In Python 3.x, strings (type ''str'') may only contain Unicode text. The u'...' +prefix and the ''unicode'' type are now redundant. A new type (called +''bytes'') has to be used for binary data (including any particular +''encoding'' of a string). The b'...' prefix allows one to specify a binary +literal. Indexing or slicing a string produces another string. Slicing a byte +string produces another byte string, but the indexing operation produces an +integer. Data read from a file is of '''str'' type if the file was opened in +text mode, or of ''bytes'' type otherwise. + +Since PyCrypto aims at supporting both Python 2.x and 3.x, the following helper +functions are used to keep the rest of the library as independent as possible +from the actual Python version. + +In general, the code should always deal with binary strings, and use integers +instead of 1-byte character strings. + +b(s) + Take a text string literal (with no prefix or with u'...' prefix) and + make a byte string. +bchr(c) + Take an integer and make a 1-character byte string. +bord(c) + Take the result of indexing on a byte string and make an integer. +tobytes(s) + Take a text string, a byte string, or a sequence of character taken from + a byte string and make a byte string. +""" + +import sys +import abc + + +if sys.version_info[0] == 2: + def b(s): + return s + def bchr(s): + return chr(s) + def bstr(s): + return str(s) + def bord(s): + return ord(s) + def tobytes(s): + if isinstance(s, unicode): + return s.encode("latin-1") + else: + return ''.join(s) + def tostr(bs): + return bs + def byte_string(s): + return isinstance(s, str) + + # In Pyton 2.x, StringIO is a stand-alone module + from StringIO import StringIO as BytesIO + + from sys import maxint + + if sys.version_info[1] < 7: + import types + _memoryview = types.NoneType + else: + _memoryview = memoryview + + iter_range = xrange + + def is_native_int(x): + return isinstance(x, (int, long)) + + def is_string(x): + return isinstance(x, basestring) + + ABC = abc.ABCMeta('ABC', (object,), {'__slots__': ()}) + +else: + def b(s): + return s.encode("latin-1") # utf-8 would cause some side-effects we don't want + def bchr(s): + return bytes([s]) + def bstr(s): + if isinstance(s,str): + return bytes(s,"latin-1") + else: + return bytes(s) + def bord(s): + return s + def tobytes(s): + if isinstance(s,bytes): + return s + else: + if isinstance(s,str): + return s.encode("latin-1") + else: + return bytes([s]) + def tostr(bs): + return bs.decode("latin-1") + def byte_string(s): + return isinstance(s, bytes) + + # In Python 3.x, StringIO is a sub-module of io + from io import BytesIO + from sys import maxsize as maxint + + _memoryview = memoryview + + iter_range = range + + def is_native_int(x): + return isinstance(x, int) + + def is_string(x): + return isinstance(x, str) + + from abc import ABC + + +def _copy_bytes(start, end, seq): + """Return an immutable copy of a sequence (byte string, byte array, memoryview) + in a certain interval [start:seq]""" + + if isinstance(seq, _memoryview): + return seq[start:end].tobytes() + elif isinstance(seq, bytearray): + return bytes(seq[start:end]) + else: + return seq[start:end] + +del sys +del abc diff --git a/lib27/site-packages/Crypto/Util/strxor.py b/lib27/site-packages/Crypto/Util/strxor.py new file mode 100644 index 000000000..2bff250bf --- /dev/null +++ b/lib27/site-packages/Crypto/Util/strxor.py @@ -0,0 +1,137 @@ +# =================================================================== +# +# Copyright (c) 2014, Legrandin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# =================================================================== + +from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, c_size_t, + create_string_buffer, get_raw_buffer, + c_uint8_ptr, is_writeable_buffer) + +_raw_strxor = load_pycryptodome_raw_lib("Crypto.Util._strxor", + """ + void strxor(const uint8_t *in1, + const uint8_t *in2, + uint8_t *out, size_t len); + void strxor_c(const uint8_t *in, + uint8_t c, + uint8_t *out, + size_t len); + """) + + +def strxor(term1, term2, output=None): + """XOR two byte strings. + + Args: + term1 (bytes/bytearray/memoryview): + The first term of the XOR operation. + term2 (bytes/bytearray/memoryview): + The second term of the XOR operation. + output (bytearray/memoryview): + The location where the result must be written to. + If ``None``, the result is returned. + :Return: + If ``output`` is ``None``, a new ``bytes`` string with the result. + Otherwise ``None``. + """ + + if len(term1) != len(term2): + raise ValueError("Only byte strings of equal length can be xored") + + if output is None: + result = create_string_buffer(len(term1)) + else: + # Note: output may overlap with either input + result = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(term1) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(term1)) + + _raw_strxor.strxor(c_uint8_ptr(term1), + c_uint8_ptr(term2), + c_uint8_ptr(result), + c_size_t(len(term1))) + + if output is None: + return get_raw_buffer(result) + else: + return None + + +def strxor_c(term, c, output=None): + """XOR a byte string with a repeated sequence of characters. + + Args: + term(bytes/bytearray/memoryview): + The first term of the XOR operation. + c (bytes): + The byte that makes up the second term of the XOR operation. + output (None or bytearray/memoryview): + If not ``None``, the location where the result is stored into. + + Return: + If ``output`` is ``None``, a new ``bytes`` string with the result. + Otherwise ``None``. + """ + + if not 0 <= c < 256: + raise ValueError("c must be in range(256)") + + if output is None: + result = create_string_buffer(len(term)) + else: + # Note: output may overlap with either input + result = output + + if not is_writeable_buffer(output): + raise TypeError("output must be a bytearray or a writeable memoryview") + + if len(term) != len(output): + raise ValueError("output must have the same length as the input" + " (%d bytes)" % len(term)) + + _raw_strxor.strxor_c(c_uint8_ptr(term), + c, + c_uint8_ptr(result), + c_size_t(len(term)) + ) + + if output is None: + return get_raw_buffer(result) + else: + return None + + +def _strxor_direct(term1, term2, result): + """Very fast XOR - check conditions!""" + _raw_strxor.strxor(term1, term2, result, c_size_t(len(term1))) + diff --git a/lib27/site-packages/Crypto/__init__.py b/lib27/site-packages/Crypto/__init__.py new file mode 100644 index 000000000..9296e4403 --- /dev/null +++ b/lib27/site-packages/Crypto/__init__.py @@ -0,0 +1,6 @@ +__all__ = ['Cipher', 'Hash', 'Protocol', 'PublicKey', 'Util', 'Signature', + 'IO', 'Math'] + +version_info = (3, 7, '2') + +__version__ = ".".join([str(x) for x in version_info]) diff --git a/lib27/site-packages/Crypto/__init__.pyi b/lib27/site-packages/Crypto/__init__.pyi new file mode 100644 index 000000000..bc73446dc --- /dev/null +++ b/lib27/site-packages/Crypto/__init__.pyi @@ -0,0 +1,4 @@ +from typing import Tuple, Union + +version_info : Tuple[int, int, Union[int, str]] +__version__ : str diff --git a/lib27/site-packages/qrcode/tests/__init__.py b/lib27/site-packages/Crypto/py.typed similarity index 100% rename from lib27/site-packages/qrcode/tests/__init__.py rename to lib27/site-packages/Crypto/py.typed diff --git a/lib27/site-packages/agithub/GitHub.py b/lib27/site-packages/agithub/GitHub.py deleted file mode 100644 index 91b26fce6..000000000 --- a/lib27/site-packages/agithub/GitHub.py +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2012-2016 Jonathan Paugh and contributors -# See COPYING for license details -from agithub.base import * - -class GitHub(API): - ''' - The agnostic GitHub API. It doesn't know, and you don't care. - >>> from agithub import GitHub - >>> g = GitHub('user', 'pass') - >>> status, data = g.issues.get(filter='subscribed') - >>> data - ... [ list_, of, stuff ] - - >>> status, data = g.repos.jpaugh.repla.issues[1].get() - >>> data - ... { 'dict': 'my issue data', } - - >>> name, repo = 'jpaugh', 'repla' - >>> status, data = g.repos[name][repo].issues[1].get() - ... same thing - - >>> status, data = g.funny.I.donna.remember.that.one.get() - >>> status - ... 404 - - That's all there is to it. (blah.post() should work, too.) - - NOTE: It is up to you to spell things correctly. A GitHub object - doesn't even try to validate the url you feed it. On the other hand, - it automatically supports the full API--so why should you care? - ''' - def __init__(self, username=None, password=None, token=None, *args, **kwargs): - extraHeaders = {'accept' : 'application/vnd.github.v3+json'} - auth = self.generateAuthHeader(username, password, token) - if auth != None: - extraHeaders['authorization'] = auth - props = ConnectionProperties( - api_url = 'api.github.com', - secure_http = True, - extra_headers = extraHeaders - ) - - self.setClient(Client(*args, **kwargs)) - self.setConnectionProperties(props) - - def generateAuthHeader(self, username=None, password=None, token=None): - if token is not None: - if password is not None: - raise TypeError("You cannot use both password and oauth token authenication") - return 'Token %s' % token - elif username is not None: - if password is None: - raise TypeError("You need a password to authenticate as " + username) - self.username = username - return self.hash_pass(password) - - def hash_pass(self, password): - auth_str = ('%s:%s' % (self.username, password)).encode('utf-8') - return 'Basic '.encode('utf-8') + base64.b64encode(auth_str).strip() diff --git a/lib27/site-packages/agithub/__init__.py b/lib27/site-packages/agithub/__init__.py deleted file mode 100644 index 0191d1b02..000000000 --- a/lib27/site-packages/agithub/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2012-2016 Jonathan Paugh and contributors -# See COPYING for license details -from functools import partial, update_wrapper -from agithub.base import VERSION, STR_VERSION - -__all__ = [ "VERSION", "STR_VERSION" ] diff --git a/lib27/site-packages/agithub/base.py b/lib27/site-packages/agithub/base.py deleted file mode 100644 index ad46d11cf..000000000 --- a/lib27/site-packages/agithub/base.py +++ /dev/null @@ -1,360 +0,0 @@ -# Copyright 2012-2016 Jonathan Paugh and contributors -# See COPYING for license details -import json -import base64 -import re -from functools import partial, update_wrapper - - -import sys -if sys.version_info[0:2] > (3,0): - import http.client - import urllib.parse -else: - import httplib as http - http.client = http - import urllib as urllib - urllib.parse = urllib - -VERSION = [2,0] -STR_VERSION = 'v' + '.'.join(str(v) for v in VERSION) - -# These headers are implicitly included in each request; however, each -# can be explicitly overridden by the client code. (Used in Client -# objects.) -_default_headers = { - #XXX: Header field names MUST be lowercase; this is not checked - 'user-agent': 'agithub/' + STR_VERSION - } - -class API(object): - ''' - The toplevel object, and the "entry-point" into the client API. - Subclass this to develop an application for a particular REST API. - - Model your __init__ after the GitHub example. - ''' - def __init__(self, *args, **kwargs): - raise Exception ( - 'Please subclass API and override __init__() to' - 'provide a ConnectionProperties object. See the GitHub' - ' class for an example' - ) - - def setClient(self, client): - self.client = client - - def setConnectionProperties(self, props): - self.client.setConnectionProperties(props) - - def __getattr__(self, key): - return IncompleteRequest(self.client).__getattr__(key) - __getitem__ = __getattr__ - - def __repr__(self): - return IncompleteRequest(self.client).__repr__() - - def getheaders(self): - return self.client.headers - -class IncompleteRequest(object): - '''IncompleteRequests are partially-built HTTP requests. - They can be built via an HTTP-idiomatic notation, - or via "normal" method calls. - - Specifically, - >>> IncompleteRequest(client).path.to.resource.METHOD(...) - is equivalent to - >>> IncompleteRequest(client).client.METHOD('path/to/resource', ...) - where METHOD is replaced by get, post, head, etc. - - Also, if you use an invalid path, too bad. Just be ready to handle a - bad status code from the upstream API. (Or maybe an - httplib.error...) - - You can use item access instead of attribute access. This is - convenient for using variables\' values and is required for numbers. - >>> GitHub('user','pass').whatever[1][x][y].post() - - To understand the method(...) calls, check out github.client.Client. - ''' - def __init__(self, client): - self.client = client - self.url = '' - - def __getattr__(self, key): - if key in self.client.http_methods: - htmlMethod = getattr(self.client, key) - wrapper = partial(htmlMethod, url=self.url) - return update_wrapper(wrapper, htmlMethod) - else: - self.url += '/' + str(key) - return self - - __getitem__ = __getattr__ - - def __str__(self): - return self.url - - def __repr__(self): - return '%s: %s' % (self.__class__, self.url) - -class Client(object): - http_methods = ( - 'head', - 'get', - 'post', - 'put', - 'delete', - 'patch', - ) - - default_headers = {} - headers = None - - def __init__(self, username=None, - password=None, token=None, - connection_properties=None - ): - - # Set up connection properties - if connection_properties is not None: - self.setConnectionProperties(connection_properties) - - def setConnectionProperties(self, prop): - ''' - Initialize the connection properties. This must be called - (either by passing connection_properties=... to __init__ or - directly) before any request can be sent. - ''' - if type(prop) is not ConnectionProperties: - raise TypeError("Client.setConnectionProperties: Expected ConnectionProperties object") - - if prop.extra_headers is not None: - prop.filterEmptyHeaders() - self.default_headers = _default_headers.copy() - self.default_headers.update(prop.extra_headers) - self.prop = prop - - # Enforce case restrictions on self.default_headers - tmp_dict = {} - for k,v in self.default_headers.items(): - tmp_dict[k.lower()] = v - self.default_headers = tmp_dict - - def head(self, url, headers={}, **params): - url += self.urlencode(params) - return self.request('HEAD', url, None, headers) - - def get(self, url, headers={}, **params): - url += self.urlencode(params) - return self.request('GET', url, None, headers) - - def post(self, url, body=None, headers={}, **params): - url += self.urlencode(params) - if not 'content-type' in headers: - # We're doing a json.dumps of body, so let's set the content-type to json - headers['content-type'] = 'application/json' - return self.request('POST', url, json.dumps(body), headers) - - def put(self, url, body=None, headers={}, **params): - url += self.urlencode(params) - if not 'content-type' in headers: - # We're doing a json.dumps of body, so let's set the content-type to json - headers['content-type'] = 'application/json' - return self.request('PUT', url, json.dumps(body), headers) - - def delete(self, url, headers={}, **params): - url += self.urlencode(params) - return self.request('DELETE', url, None, headers) - - def patch(self, url, body=None, headers={}, **params): - """ - Do a http patch request on the given url with given body, headers and parameters - Parameters is a dictionary that will will be urlencoded - """ - url += self.urlencode(params) - if not 'content-type' in headers: - # We're doing a json.dumps of body, so let's set the content-type to json - headers['content-type'] = 'application/json' - return self.request('PATCH', url, json.dumps(body), headers) - - def request(self, method, url, body, headers): - '''Low-level networking. All HTTP-method methods call this''' - - headers = self._fix_headers(headers) - url = self.prop.constructUrl(url) - - #TODO: Context manager - conn = self.get_connection() - conn.request(method, url, body, headers) - response = conn.getresponse() - status = response.status - content = ResponseBody(response) - self.headers = response.getheaders() - - conn.close() - return status, content.processBody() - - def _fix_headers(self, headers): - # Convert header names to a uniform case - tmp_dict = {} - for k,v in headers.items(): - tmp_dict[k.lower()] = v - headers = tmp_dict - - # Add default headers (if unspecified) - for k,v in self.default_headers.items(): - if k not in headers: - headers[k] = v - return headers - - def urlencode(self, params): - if not params: - return '' - return '?' + urllib.parse.urlencode(params) - - def get_connection(self): - if self.prop.secure_http: - conn = http.client.HTTPSConnection(self.prop.api_url) - elif self.connection_properties.extra_headers is None \ - or 'authorization' not in self.connection_properties.extra_headers: - conn = http.client.HTTPConnection(self.prop.api_url) - else: - raise ConnectionError( - 'Refusing to send the authorization header over an insecure connection.') - - return conn - -class Body(object): - ''' - Superclass for ResponseBody and RequestBody - ''' - def parseContentType(self, ctype): - ''' - Parse the Content-Type header, returning the media-type and any - parameters - ''' - if ctype is None: - self.mediatype = 'application/octet-stream' - self.ctypeParameters = { 'charset' : 'ISO-8859-1' } - return - - params = ctype.split(';') - self.mediatype = params.pop(0).strip() - - # Parse parameters - if len(params) > 0: - params = map(lambda s : s.strip().split('='), params) - paramDict = {} - for attribute, value in params: - # TODO: Find out if specifying an attribute multiple - # times is even okay, and how it should be handled - attribute = attribute.lower() - if attribute in paramDict: - if type(paramDict[attribute]) is not list: - # Convert singleton value to value-list - paramDict[attribute] = [paramDict[attribute]] - # Insert new value along with pre-existing ones - paramDict[attribute] += value - else: - # Insert singleton attribute value - paramDict[attribute] = value - self.ctypeParameters = paramDict - else: - self.ctypeParameters = {} - - if 'charset' not in self.ctypeParameters: - self.ctypeParameters['charset'] = 'ISO-8859-1' - # NB: INO-8859-1 is specified (RFC 2068) as the default - # charset in case none is provided - - def mangled_mtype(self): - ''' - Mangle the media type into a suitable function name - ''' - return self.mediatype.replace('-','_').replace('/','_') - -class ResponseBody(Body): - ''' - Decode a response from the server, respecting the Content-Type field - ''' - def __init__(self, response): - self.response = response - self.body = response.read() - self.parseContentType(self.response.getheader('Content-Type')) - self.encoding = self.ctypeParameters['charset'] - - def decode_body(self): - ''' - Decode (and replace) self.body via the charset encoding - specified in the content-type header - ''' - self.body = self.body.decode(self.encoding) - - def processBody(self): - ''' - Retrieve the body of the response, encoding it into a usuable - form based on the media-type (mime-type) - ''' - handlerName = self.mangled_mtype() - handler = getattr(self, handlerName, self.application_octect_stream) - return handler() - - - ## media-type handlers - - def application_octect_stream(self): - '''Handler for unknown media-types. It does absolutely no - pre-processing of the response body, so it cannot mess it up - ''' - return self.body - - def application_json(self): - '''Handler for application/json media-type''' - self.decode_body() - - try: - pybody = json.loads(self.body) - except ValueError: - pybody = self.body - - return pybody - - text_javascript = application_json - # XXX: This isn't technically correct, but we'll hope for the best. - # Patches welcome! - - # Insert new media-type handlers here - -class ConnectionProperties(object): - __slots__ = ['api_url', 'url_prefix', 'secure_http', 'extra_headers'] - - def __init__(self, **props): - # Initialize attribute slots - for key in self.__slots__: - setattr(self, key, None) - - # Fill attribute slots with custom values - for key, val in props.items(): - if key not in ConnectionProperties.__slots__: - raise TypeError("Invalid connection property: " + str(key)) - else: - setattr(self, key, val) - - def constructUrl(self, url): - if self.url_prefix is None: - return url - return self.url_prefix + "/" + url - - def filterEmptyHeaders(self): - if self.extra_headers is not None: - self.extra_headers = self._filterEmptyHeaders(self.extra_headers) - - def _filterEmptyHeaders(self, headers): - newHeaders = {} - for header in headers.keys(): - if header is not None and header != "": - newHeaders[header] = headers[header] - - return newHeaders diff --git a/lib27/site-packages/certifi/__init__.py b/lib27/site-packages/certifi/__init__.py new file mode 100644 index 000000000..ef71f3af3 --- /dev/null +++ b/lib27/site-packages/certifi/__init__.py @@ -0,0 +1,3 @@ +from .core import where + +__version__ = "2018.11.29" diff --git a/lib27/site-packages/certifi/__main__.py b/lib27/site-packages/certifi/__main__.py new file mode 100644 index 000000000..5f1da0dd0 --- /dev/null +++ b/lib27/site-packages/certifi/__main__.py @@ -0,0 +1,2 @@ +from certifi import where +print(where()) diff --git a/lib27/site-packages/certifi/cacert.pem b/lib27/site-packages/certifi/cacert.pem new file mode 100644 index 000000000..db68797e2 --- /dev/null +++ b/lib27/site-packages/certifi/cacert.pem @@ -0,0 +1,4512 @@ + +# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Label: "GlobalSign Root CA" +# Serial: 4835703278459707669005204 +# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a +# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c +# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Label: "GlobalSign Root CA - R2" +# Serial: 4835703278459682885658125 +# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 +# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe +# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Label: "Verisign Class 3 Public Primary Certification Authority - G3" +# Serial: 206684696279472310254277870180966723415 +# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 +# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 +# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Label: "Entrust.net Premium 2048 Secure Server CA" +# Serial: 946069240 +# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 +# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 +# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Label: "Baltimore CyberTrust Root" +# Serial: 33554617 +# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 +# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 +# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Label: "AddTrust External Root" +# Serial: 1 +# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f +# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 +# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Label: "Entrust Root Certification Authority" +# Serial: 1164660820 +# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 +# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 +# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. +# Label: "GeoTrust Global CA" +# Serial: 144470 +# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 +# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 +# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Label: "GeoTrust Universal CA" +# Serial: 1 +# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 +# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 +# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy +c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 +IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV +VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 +cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT +QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh +F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v +c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w +mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd +VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX +teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ +f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe +Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ +nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY +MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG +9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX +IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn +ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z +uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN +Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja +QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW +koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 +ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt +DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm +bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Label: "GeoTrust Universal CA 2" +# Serial: 1 +# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 +# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 +# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy +c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD +VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 +c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 +WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG +FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq +XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL +se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb +KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd +IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 +y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt +hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc +QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 +Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV +HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ +KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ +L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr +Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo +ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY +T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz +GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m +1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV +OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH +6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX +QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +# Issuer: CN=AAA Certificate Services O=Comodo CA Limited +# Subject: CN=AAA Certificate Services O=Comodo CA Limited +# Label: "Comodo AAA Services root" +# Serial: 1 +# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 +# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 +# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Label: "QuoVadis Root CA" +# Serial: 985026699 +# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 +# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 +# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz +MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw +IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR +dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp +li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D +rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ +WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug +F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU +xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC +Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv +dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw +ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl +IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh +c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI +KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T +KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq +y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p +dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD +VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL +MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk +fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 +7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R +cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y +mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW +xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK +SnQ2+Q== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2" +# Serial: 1289 +# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b +# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 +# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3" +# Serial: 1478 +# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf +# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 +# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 +# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 +# Label: "Security Communication Root CA" +# Serial: 0 +# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a +# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 +# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY +MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t +dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 +WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD +VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 +9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ +DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 +Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N +QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ +xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G +A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG +kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr +Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 +Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU +JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot +RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== +-----END CERTIFICATE----- + +# Issuer: CN=Sonera Class2 CA O=Sonera +# Subject: CN=Sonera Class2 CA O=Sonera +# Label: "Sonera Class 2 Root CA" +# Serial: 29 +# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb +# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 +# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP +MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx +MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV +BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o +Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt +5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s +3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej +vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu +8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw +DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG +MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil +zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ +3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD +FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 +Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 +ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M +-----END CERTIFICATE----- + +# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Label: "XRamp Global CA Root" +# Serial: 107108908803651509692980124233745014957 +# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 +# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 +# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Label: "Go Daddy Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 +# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 +# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Label: "Starfield Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 +# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a +# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +# Issuer: O=Government Root Certification Authority +# Subject: O=Government Root Certification Authority +# Label: "Taiwan GRCA" +# Serial: 42023070807708724159991140556527066870 +# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e +# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 +# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ +MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow +PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR +IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q +gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy +yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts +F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 +jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx +ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC +VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK +YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH +EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN +Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud +DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE +MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK +UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf +qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK +ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE +JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 +hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 +EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm +nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX +udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz +ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe +LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl +pYYsfPQS +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root CA" +# Serial: 17154717934120587862167794914071425081 +# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 +# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 +# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root CA" +# Serial: 10944719598952040374951832963794454346 +# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e +# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 +# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert High Assurance EV Root CA" +# Serial: 3553400076410547919724730734378100087 +# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a +# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 +# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# Issuer: CN=Class 2 Primary CA O=Certplus +# Subject: CN=Class 2 Primary CA O=Certplus +# Label: "Certplus Class 2 Primary CA" +# Serial: 177770208045934040241468760488327595043 +# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b +# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb +# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz +cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 +MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz +IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ +ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR +VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL +kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd +EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas +H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 +HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud +DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 +QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu +Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ +AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 +yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR +FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA +ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB +kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Label: "DST Root CA X3" +# Serial: 91299735575339953335919266965803778155 +# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 +# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 +# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Label: "SwissSign Gold CA - G2" +# Serial: 13492815561806991280 +# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 +# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 +# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV +BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln +biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF +MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT +d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 +76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ +bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c +6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE +emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd +MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt +MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y +MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y +FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi +aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM +gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB +qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 +lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn +8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 +45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO +UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 +O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC +bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv +GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a +77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC +hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 +92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp +Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w +ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt +Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Label: "SwissSign Silver CA - G2" +# Serial: 5700383053117599563 +# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 +# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb +# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE +BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu +IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow +RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY +U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv +Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br +YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF +nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH +6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt +eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/ +c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ +MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH +HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf +jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6 +5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB +rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU +F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c +wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB +AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp +WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9 +xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ +2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ +IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8 +aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X +em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR +dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/ +OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+ +hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy +tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Label: "GeoTrust Primary Certification Authority" +# Serial: 32798226551256963324313806436981982369 +# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf +# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 +# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA" +# Serial: 69529181992039203566298953787712940909 +# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 +# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 +# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" +# Serial: 33037644167568058970164719475676101450 +# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c +# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 +# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +# Issuer: CN=SecureTrust CA O=SecureTrust Corporation +# Subject: CN=SecureTrust CA O=SecureTrust Corporation +# Label: "SecureTrust CA" +# Serial: 17199774589125277788362757014266862032 +# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 +# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 +# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +# Issuer: CN=Secure Global CA O=SecureTrust Corporation +# Subject: CN=Secure Global CA O=SecureTrust Corporation +# Label: "Secure Global CA" +# Serial: 9751836167731051554232119481456978597 +# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de +# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b +# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx +MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg +Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ +iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa +/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ +jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI +HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 +sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w +gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw +KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG +AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L +URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO +H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm +I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY +iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO Certification Authority O=COMODO CA Limited +# Label: "COMODO Certification Authority" +# Serial: 104350513648249232941998508985834464573 +# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 +# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b +# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB +gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV +BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw +MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl +YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P +RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 +UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI +2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 +Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp ++2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ +DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O +nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW +/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g +PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u +QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY +SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv +IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 +zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd +BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB +ZQ== +-----END CERTIFICATE----- + +# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Label: "Network Solutions Certificate Authority" +# Serial: 116697915152937497490437556386812487904 +# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e +# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce +# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi +MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV +UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO +ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz +c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP +OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl +mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF +BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 +qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw +gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu +bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp +dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 +6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ +h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH +/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN +pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Label: "COMODO ECC Certification Authority" +# Serial: 41578283867086692638256921589707938090 +# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 +# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 +# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GA CA" +# Serial: 86718877871133159090080555911823548314 +# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 +# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 +# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB +ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly +aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w +NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G +A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX +SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR +VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 +w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF +mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg +4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 +4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw +EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx +SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 +ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 +vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi +Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ +/L7fCg0= +-----END CERTIFICATE----- + +# Issuer: CN=Certigna O=Dhimyotis +# Subject: CN=Certigna O=Dhimyotis +# Label: "Certigna" +# Serial: 18364802974209362175 +# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff +# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 +# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X +DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ +BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 +QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny +gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw +zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q +130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 +JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw +ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj +AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG +9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h +bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc +fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu +HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w +t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Label: "Deutsche Telekom Root CA 2" +# Serial: 38 +# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 +# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf +# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc +MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj +IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB +IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE +RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl +U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 +IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU +ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC +QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr +rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S +NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc +QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH +txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP +BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC +AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp +tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa +IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl +6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ +xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc +# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc +# Label: "Cybertrust Global Root" +# Serial: 4835703278459682877484360 +# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 +# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 +# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG +A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh +bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE +ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 +7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS +J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y +HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP +t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz +FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY +XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw +hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js +MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA +A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj +Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx +XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o +omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc +A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Label: "ePKI Root Certification Authority" +# Serial: 28956088682735189655030529057352760477 +# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 +# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 +# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +# Issuer: O=certSIGN OU=certSIGN ROOT CA +# Subject: O=certSIGN OU=certSIGN ROOT CA +# Label: "certSIGN ROOT CA" +# Serial: 35210227249154 +# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 +# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b +# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT +AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD +QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP +MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do +0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ +UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d +RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ +OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv +JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C +AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O +BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ +LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY +MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ +44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I +Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw +i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN +9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G3" +# Serial: 28809105769928564313984085209975885599 +# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 +# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd +# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G2" +# Serial: 71758320672825410020661621085256472406 +# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f +# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 +# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G3" +# Serial: 127614157056681299805556476275995414779 +# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 +# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 +# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G2" +# Serial: 80682863203381065782177908751794619243 +# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a +# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 +# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Universal Root Certification Authority" +# Serial: 85209574734084581917763752644031726877 +# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 +# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 +# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" +# Serial: 63143484348153506665311985501458640051 +# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 +# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a +# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" +# Serial: 80544274841616 +# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 +# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 +# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG +EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 +MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl +cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR +dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB +pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM +b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm +aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz +IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT +lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz +AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 +VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG +ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 +BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG +AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M +U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh +bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C ++C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F +uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 +XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G2" +# Serial: 10000012 +# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a +# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 +# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX +DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 +qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp +uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU +Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE +pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp +5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M +UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN +GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy +5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv +6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK +eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 +B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ +BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov +L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG +SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS +CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen +5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 +IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK +gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL ++63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL +vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm +bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk +N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC +Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z +ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Label: "Hongkong Post Root CA 1" +# Serial: 1000 +# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca +# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 +# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx +FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg +Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG +A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr +b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ +jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn +PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh +ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 +nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h +q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED +MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC +mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 +7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB +oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs +EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO +fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi +AmvZWg== +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Label: "SecureSign RootCA11" +# Serial: 1 +# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 +# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 +# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr +MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG +A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 +MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp +Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD +QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz +i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 +h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV +MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 +UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni +8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC +h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB +AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm +KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ +X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr +QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 +pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN +QSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Label: "Microsec e-Szigno Root CA 2009" +# Serial: 14014712776195784473 +# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 +# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e +# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 +ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G +CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y +OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx +FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp +Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP +kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc +cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U +fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 +N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC +xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 ++rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM +Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG +SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h +mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk +ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c +2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t +HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Label: "GlobalSign Root CA - R3" +# Serial: 4835703278459759426209954 +# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 +# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad +# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- + +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Serial: 6047274297262753887 +# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 +# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa +# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE +BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h +cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy +MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg +Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 +thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM +cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG +L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i +NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h +X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b +m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy +Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja +EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T +KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF +6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh +OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD +VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv +ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl +AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF +661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 +am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 +ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 +PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS +3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k +SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF +3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM +ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g +StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz +Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB +jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +# Issuer: CN=Izenpe.com O=IZENPE S.A. +# Subject: CN=Izenpe.com O=IZENPE S.A. +# Label: "Izenpe.com" +# Serial: 917563065490389241595536686991402621 +# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 +# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 +# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 +MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 +ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD +VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j +b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq +scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO +xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H +LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX +uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD +yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ +JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q +rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN +BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L +hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB +QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ +HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu +Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg +QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB +BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA +A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb +laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 +awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo +JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw +LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT +VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk +LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb +UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ +QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ +naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls +QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Label: "Chambers of Commerce Root - 2008" +# Serial: 11806822484801597146 +# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 +# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c +# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz +IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz +MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj +dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw +EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp +MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 +28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq +VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q +DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR +5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL +ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a +Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl +UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s ++12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 +Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx +hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV +HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 ++HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN +YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t +L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy +ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt +IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV +HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w +DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW +PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF +5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 +glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH +FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 +pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD +xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG +tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq +jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De +fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ +d0jQ +-----END CERTIFICATE----- + +# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Label: "Global Chambersign Root - 2008" +# Serial: 14541511773111788494 +# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 +# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c +# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx +MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy +cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG +A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl +BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed +KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 +G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 +zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 +ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG +HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 +Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V +yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e +beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r +6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog +zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW +BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr +ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp +ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk +cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt +YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC +CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow +KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI +hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ +UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz +X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x +fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz +a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd +Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd +SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O +AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso +M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge +v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Label: "Go Daddy Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 +# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b +# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 +# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e +# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Services Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 +# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f +# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Commercial O=AffirmTrust +# Subject: CN=AffirmTrust Commercial O=AffirmTrust +# Label: "AffirmTrust Commercial" +# Serial: 8608355977964138876 +# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 +# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 +# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Networking O=AffirmTrust +# Subject: CN=AffirmTrust Networking O=AffirmTrust +# Label: "AffirmTrust Networking" +# Serial: 8957382827206547757 +# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f +# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f +# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium O=AffirmTrust +# Subject: CN=AffirmTrust Premium O=AffirmTrust +# Label: "AffirmTrust Premium" +# Serial: 7893706540734352110 +# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 +# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 +# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust +# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust +# Label: "AffirmTrust Premium ECC" +# Serial: 8401224907861490260 +# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d +# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb +# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA" +# Serial: 279744 +# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 +# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e +# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Label: "TWCA Root Certification Authority" +# Serial: 1 +# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 +# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 +# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES +MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU +V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz +WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO +LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE +AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH +K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX +RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z +rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx +3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq +hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC +MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls +XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D +lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn +aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ +YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Label: "Security Communication RootCA2" +# Serial: 0 +# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 +# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 +# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2011" +# Serial: 0 +# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 +# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d +# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix +RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p +YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw +NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK +EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl +cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz +dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ +fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns +bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD +75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP +FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV +HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp +5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu +b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA +A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p +6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 +dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys +Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI +l7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Label: "Actalis Authentication Root CA" +# Serial: 6271844772424770508 +# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 +# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac +# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +# Issuer: O=Trustis Limited OU=Trustis FPS Root CA +# Subject: O=Trustis Limited OU=Trustis FPS Root CA +# Label: "Trustis FPS Root CA" +# Serial: 36053640375399034304724988975563710553 +# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d +# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 +# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL +ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx +MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc +MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ +AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH +iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj +vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA +0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB +OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ +BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E +FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 +GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW +zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 +1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE +f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F +jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN +ZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 2 Root CA" +# Serial: 2 +# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 +# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 +# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 3 Root CA" +# Serial: 2 +# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec +# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 +# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 3" +# Serial: 1 +# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef +# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 +# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- + +# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Label: "EE Certification Centre Root CA" +# Serial: 112324828676200291871926431888494945866 +# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f +# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 +# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 +MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 +czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG +CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy +MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl +ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS +b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy +euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO +bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw +WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d +MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE +1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ +zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB +BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF +BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV +v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG +E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW +iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v +GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 2009" +# Serial: 623603 +# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f +# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 +# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 EV 2009" +# Serial: 623604 +# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 +# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 +# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +# Issuer: CN=CA Disig Root R2 O=Disig a.s. +# Subject: CN=CA Disig Root R2 O=Disig a.s. +# Label: "CA Disig Root R2" +# Serial: 10572350602393338211 +# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 +# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 +# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV +BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu +MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy +MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx +EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe +NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH +PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I +x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe +QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR +yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO +QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 +H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ +QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD +i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs +nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 +rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI +hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf +GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb +lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka ++elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal +TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i +nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 +gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr +G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os +zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x +L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Label: "ACCVRAIZ1" +# Serial: 6828503384748696800 +# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 +# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 +# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA Global Root CA" +# Serial: 3262 +# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 +# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 +# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx +EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT +VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 +NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT +B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF +10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz +0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh +MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH +zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc +46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 +yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi +laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP +oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA +BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE +qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm +4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL +1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF +H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo +RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ +nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh +15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW +6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW +nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j +wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz +aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy +KwbQBM0= +-----END CERTIFICATE----- + +# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Label: "TeliaSonera Root CA v1" +# Serial: 199041966741090107964904287217786801558 +# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c +# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 +# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Label: "E-Tugra Certification Authority" +# Serial: 7667447206703254355 +# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 +# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 +# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV +BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC +aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV +BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 +Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz +MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ +BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp +em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY +B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH +D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF +Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo +q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D +k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH +fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut +dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM +ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 +zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX +U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 +Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 +XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF +Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR +HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY +GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c +77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 ++GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK +vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 +FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl +yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P +AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD +y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d +NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 2" +# Serial: 1 +# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a +# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 +# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot 2011 O=Atos +# Subject: CN=Atos TrustedRoot 2011 O=Atos +# Label: "Atos TrustedRoot 2011" +# Serial: 6643877497813316402 +# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 +# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 +# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE +AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG +EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM +FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC +REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp +Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM +VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ +SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ +4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L +cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi +eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG +A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 +DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j +vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP +DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc +maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D +lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv +KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 1 G3" +# Serial: 687049649626669250736271037606554624078720034195 +# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab +# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 +# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2 G3" +# Serial: 390156079458959257446133169266079962026824725800 +# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 +# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 +# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3 G3" +# Serial: 268090761170461462463995952157327242137089239581 +# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 +# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d +# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G2" +# Serial: 15385348160840213938643033620894905419 +# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d +# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f +# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G3" +# Serial: 15459312981008553731928384953135426796 +# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb +# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 +# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G2" +# Serial: 4293743540046975378534879503202253541 +# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 +# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 +# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G3" +# Serial: 7089244469030293291760083333884364146 +# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca +# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e +# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Trusted Root G4" +# Serial: 7451500558977370777930084869016614236 +# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 +# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 +# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- + +# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Label: "COMODO RSA Certification Authority" +# Serial: 101909084537582093308941363524873193117 +# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 +# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 +# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Label: "USERTrust RSA Certification Authority" +# Serial: 2645093764781058787591871645665788717 +# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 +# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e +# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Label: "USERTrust ECC Certification Authority" +# Serial: 123013823720199481456569720443997572134 +# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 +# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 +# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Label: "GlobalSign ECC Root CA - R4" +# Serial: 14367148294922964480859022125800977897474 +# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e +# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb +# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ +FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F +uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX +kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs +ewv4n4Q= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Label: "GlobalSign ECC Root CA - R5" +# Serial: 32785792099990507226680698011560947931244 +# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 +# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa +# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G3" +# Serial: 10003001 +# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 +# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc +# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX +DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP +cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW +IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX +xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy +KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR +9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az +5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 +6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 +Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP +bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt +BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt +XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd +INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp +LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 +Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp +gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh +/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw +0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A +fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq +4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR +1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ +QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM +94B7IWcnMFk= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Label: "Staat der Nederlanden EV Root CA" +# Serial: 10000013 +# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba +# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb +# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y +MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg +TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS +b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS +M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC +UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d +Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p +rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l +pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb +j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC +KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS +/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X +cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH +1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP +px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 +MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u +2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS +v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC +wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy +CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e +vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 +Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa +Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL +eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 +FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc +7uzXLg== +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Label: "IdenTrust Commercial Root CA 1" +# Serial: 13298821034946342390520003877796839426 +# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 +# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 +# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Label: "IdenTrust Public Sector Root CA 1" +# Serial: 13298821034946342390521976156843933698 +# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba +# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd +# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G2" +# Serial: 1246989352 +# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 +# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 +# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - EC1" +# Serial: 51543124481930649114116133369 +# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc +# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 +# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority +# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority +# Label: "CFCA EV ROOT" +# Serial: 407555286 +# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 +# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 +# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD +TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx +MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j +aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP +T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 +sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL +TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 +/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp +7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz +EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt +hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP +a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot +aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg +TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV +PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv +cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL +tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd +BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT +ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL +jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS +ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy +P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 +xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d +Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN +5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe +/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z +AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ +5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Label: "Certinomis - Root CA" +# Serial: 1 +# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f +# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 +# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET +MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb +BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz +MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx +FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g +Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 +fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl +LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV +WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF +TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb +5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc +CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri +wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ +wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG +m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 +F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng +WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 +2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ +0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw +F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS +g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj +qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN +h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ +ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V +btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj +Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ +8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW +gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GB CA" +# Serial: 157768595616588414422159278966750757568 +# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d +# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed +# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt +MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg +Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i +YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x +CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG +b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 +HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx +WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX +1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk +u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P +99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r +M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB +BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh +cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 +gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO +ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf +aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Label: "SZAFIR ROOT CA2" +# Serial: 357043034767186914217277344587386743377558296292 +# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 +# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de +# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 +ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw +NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L +cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg +Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN +QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT +3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw +3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 +3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 +BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN +XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF +AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw +8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG +nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP +oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy +d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg +LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA 2" +# Serial: 44979900017204383099463764357512596969 +# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 +# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 +# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB +gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG +A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz +OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ +VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 +b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA +DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn +0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB +OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE +fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E +Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m +o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i +sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW +OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez +Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS +adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n +3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ +F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf +CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 +XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm +djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ +WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb +AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq +P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko +b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj +XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P +5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi +DrW5viSP +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce +# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 +# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix +DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k +IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT +N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v +dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG +A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh +ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx +QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA +4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 +AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 +4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C +ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV +9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD +gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 +Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq +NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko +LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd +ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I +XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI +M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot +9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V +Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea +j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh +X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ +l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf +bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 +pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK +e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 +vm9qp/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef +# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 +# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN +BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl +bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv +b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ +BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj +YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 +MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 +dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg +QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa +jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi +C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep +lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof +TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X1 O=Internet Security Research Group +# Subject: CN=ISRG Root X1 O=Internet Security Research Group +# Label: "ISRG Root X1" +# Serial: 172886928669790476064670243504169061120 +# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e +# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 +# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Label: "AC RAIZ FNMT-RCM" +# Serial: 485876308206448804701554682760554759 +# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d +# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 +# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx +CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ +WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ +BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG +Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ +yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf +BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz +WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF +tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z +374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC +IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL +mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 +wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS +MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 +ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet +UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H +YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 +LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 +RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM +LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf +77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N +JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm +fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp +6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp +1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B +9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok +RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv +uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 1 O=Amazon +# Subject: CN=Amazon Root CA 1 O=Amazon +# Label: "Amazon Root CA 1" +# Serial: 143266978916655856878034712317230054538369994 +# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 +# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 +# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 2 O=Amazon +# Subject: CN=Amazon Root CA 2 O=Amazon +# Label: "Amazon Root CA 2" +# Serial: 143266982885963551818349160658925006970653239 +# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 +# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a +# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 3 O=Amazon +# Subject: CN=Amazon Root CA 3 O=Amazon +# Label: "Amazon Root CA 3" +# Serial: 143266986699090766294700635381230934788665930 +# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 +# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e +# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 4 O=Amazon +# Subject: CN=Amazon Root CA 4 O=Amazon +# Label: "Amazon Root CA 4" +# Serial: 143266989758080763974105200630763877849284878 +# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd +# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be +# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Label: "LuxTrust Global Root 2" +# Serial: 59914338225734147123941058376788110305822489521 +# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c +# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f +# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQEL +BQAwRjELMAkGA1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNV +BAMMFkx1eFRydXN0IEdsb2JhbCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUw +MzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEWMBQGA1UECgwNTHV4VHJ1c3QgUy5B +LjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wmKb3F +ibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTem +hfY7RBi2xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1 +EMShduxq3sVs35a0VkBCwGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsn +Xpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4 +zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkmFRseTJIpgp7VkoGSQXAZ +96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niFwpN6cj5m +j5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4g +DEa/a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+ +8kPREd8vZS9kzl8UubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j +X5t/Lax5Gw5CMZdjpPuKadUiDTSQMC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmH +hFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB/zBCBgNVHSAEOzA5MDcGByuB +KwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5Lmx1eHRydXN0 +Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQEL +BQADggIBAGoZFO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9 +BzZAcg4atmpZ1gDlaCDdLnINH2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTO +jFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW7MM3LGVYvlcAGvI1+ut7MV3CwRI9 +loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIuZY+kt9J/Z93I055c +qqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWAVWe+ +2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/ +JEAdemrRTxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKre +zrnK+T+Tb/mjuuqlPpmt/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQf +LSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+ +x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31IiyBMz2TWuJdGsE7RKlY6 +oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- + +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Serial: 1 +# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 +# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca +# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx +GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp +bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w +KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 +BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy +dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG +EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll +IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU +QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT +TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg +LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 +a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr +LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr +N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X +YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ +iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f +AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH +V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf +IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 +lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c +8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf +lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Label: "GDCA TrustAUTH R5 ROOT" +# Serial: 9009899650740120186 +# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 +# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 +# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 +MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w +HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj +Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj +TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u +KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj +qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm +MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 +ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP +zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk +L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC +jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA +HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC +AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm +DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 +COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry +L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf +JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg +IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io +2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV +09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ +XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq +T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe +MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-1" +# Serial: 15752444095811006489 +# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 +# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a +# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y +IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB +pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h +IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG +A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU +cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid +RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V +seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme +9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV +EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW +hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ +DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD +ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I +/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ +yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts +L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN +zl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-2" +# Serial: 2711694510199101698 +# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 +# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 +# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig +Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk +MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg +Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD +VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy +dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ +QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq +1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp +2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK +DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape +az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF +3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 +oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM +g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 +mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd +BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U +nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw +DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX +dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ +MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL +/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX +CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa +ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW +2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 +N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 +Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB +As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp +5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu +1uwJ +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor ECA-1" +# Serial: 9548242946988625984 +# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c +# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd +# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y +IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig +RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb +3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA +BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 +3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou +owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ +wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF +ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf +BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv +civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 +AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 +soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI +WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi +tJ/X5g== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Label: "SSL.com Root Certification Authority RSA" +# Serial: 8875640296558310041 +# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 +# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb +# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE +BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK +DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz +OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R +xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX +qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC +C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 +6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh +/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF +YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E +JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc +US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 +ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm ++Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi +M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G +A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV +cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc +Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs +PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ +q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 +cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr +a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I +H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y +K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu +nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf +oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY +Ic2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com Root Certification Authority ECC" +# Serial: 8495723813297216424 +# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e +# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a +# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz +WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 +b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS +b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI +7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg +CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD +VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T +kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ +gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority RSA R2" +# Serial: 6248227494352943350 +# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 +# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a +# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy +MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G +A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD +DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq +M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf +OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa +4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 +HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR +aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA +b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ +Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV +PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO +pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu +UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY +MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 +9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW +s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 +Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg +cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM +79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz +/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt +ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm +Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK +QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ +w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi +S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 +mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority ECC" +# Serial: 3182246526754555285 +# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 +# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d +# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx +NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv +bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA +VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku +WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX +5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ +ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg +h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Label: "GlobalSign Root CA - R6" +# Serial: 1417766617973444989252670301619537 +# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae +# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 +# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg +MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx +MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET +MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI +xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k +ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD +aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw +LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw +1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX +k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 +SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h +bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n +WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY +rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce +MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu +bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt +Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 +55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj +vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf +cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz +oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp +nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs +pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v +JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R +8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 +5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GC CA" +# Serial: 44084345621038548146064804565436152554 +# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 +# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 +# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw +CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 +bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg +Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ +BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu +ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS +b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni +eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W +p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T +rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV +57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg +Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R1 O=Google Trust Services LLC +# Subject: CN=GTS Root R1 O=Google Trust Services LLC +# Label: "GTS Root R1" +# Serial: 146587175971765017618439757810265552097 +# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85 +# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8 +# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM +f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX +mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7 +zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P +fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc +vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4 +Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp +zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO +Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW +k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+ +DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF +lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW +Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 +d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z +XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR +gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3 +d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv +J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg +DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM ++SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy +F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9 +SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws +E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R2 O=Google Trust Services LLC +# Subject: CN=GTS Root R2 O=Google Trust Services LLC +# Label: "GTS Root R2" +# Serial: 146587176055767053814479386953112547951 +# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b +# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d +# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv +CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3Kg +GjSY6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9Bu +XvAuMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOd +re7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXu +PuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1 +mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K +8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqj +x5RWIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsR +nTKaG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0 +kzCqgc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9Ok +twIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBALZp +8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT +vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiT +z9D2PGcDFWEJ+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA +pJiS4wGWAqoC7o87xdFtCjMwc3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvb +pxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3DaWsYDQvTtN6LwG1BUSw7YhN4ZKJmB +R64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5rn/WkhLx3+WuXrD5R +RaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56GtmwfuNmsk +0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC +5AwiWVIQ7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiF +izoHCBy69Y9Vmhh1fuXsgWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLn +yOd/xCxgXS/Dr55FBcOEArf9LAhST4Ldo/DUhgkC +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R3 O=Google Trust Services LLC +# Subject: CN=GTS Root R3 O=Google Trust Services LLC +# Label: "GTS Root R3" +# Serial: 146587176140553309517047991083707763997 +# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25 +# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5 +# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5 +-----BEGIN CERTIFICATE----- +MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout +736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A +DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk +fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA +njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R4 O=Google Trust Services LLC +# Subject: CN=GTS Root R4 O=Google Trust Services LLC +# Label: "GTS Root R4" +# Serial: 146587176229350439916519468929765261721 +# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26 +# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb +# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd +-----BEGIN CERTIFICATE----- +MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu +hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l +xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0 +CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx +sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Global G2 Root O=UniTrust +# Subject: CN=UCA Global G2 Root O=UniTrust +# Label: "UCA Global G2 Root" +# Serial: 124779693093741543919145257850076631279 +# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 +# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a +# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH +bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x +CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds +b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr +b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 +kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm +VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R +VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc +C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj +tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY +D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv +j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl +NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 +iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP +O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV +ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj +L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl +1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU +b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV +PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj +y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb +EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg +DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI ++Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy +YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX +UB+K+wb1whnw0A== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Extended Validation Root O=UniTrust +# Subject: CN=UCA Extended Validation Root O=UniTrust +# Label: "UCA Extended Validation Root" +# Serial: 106100277556486529736699587978573607008 +# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 +# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a +# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF +eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx +MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV +BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog +D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS +sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop +O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk +sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi +c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj +VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz +KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ +TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G +sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs +1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD +fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN +l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ +VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 +c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp +4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s +t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj +2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO +vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C +xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx +cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM +fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax +-----END CERTIFICATE----- + +# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Label: "Certigna Root CA" +# Serial: 269714418870597844693661054334862075617 +# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 +# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 +# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw +WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw +MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x +MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD +VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX +BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO +ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M +CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu +I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm +TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh +C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf +ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz +IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT +Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k +JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 +hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB +GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov +L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo +dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr +aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq +hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L +6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG +HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 +0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB +lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi +o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 +gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v +faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 +Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh +jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw +3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- diff --git a/lib27/site-packages/certifi/core.py b/lib27/site-packages/certifi/core.py new file mode 100644 index 000000000..2d02ea44c --- /dev/null +++ b/lib27/site-packages/certifi/core.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +certifi.py +~~~~~~~~~~ + +This module returns the installation location of cacert.pem. +""" +import os + + +def where(): + f = os.path.dirname(__file__) + + return os.path.join(f, 'cacert.pem') + + +if __name__ == '__main__': + print(where()) diff --git a/lib27/site-packages/curl/__init__.py b/lib27/site-packages/curl/__init__.py deleted file mode 100644 index 315a383d6..000000000 --- a/lib27/site-packages/curl/__init__.py +++ /dev/null @@ -1,182 +0,0 @@ -'''A high-level interface to the pycurl extension''' - -# ** mfx NOTE: the CGI class uses "black magic" using COOKIEFILE in -# combination with a non-existant file name. See the libcurl docs -# for more info. - -import sys, pycurl - -py3 = sys.version_info[0] == 3 - -# python 2/3 compatibility -if py3: - import urllib.parse as urllib_parse - from urllib.parse import urljoin - from io import BytesIO -else: - import urllib as urllib_parse - from urlparse import urljoin - try: - from cStringIO import StringIO as BytesIO - except ImportError: - from StringIO import StringIO as BytesIO - -try: - import signal - from signal import SIGPIPE, SIG_IGN - signal.signal(SIGPIPE, SIG_IGN) -except ImportError: - pass - - -class Curl: - "High-level interface to pycurl functions." - def __init__(self, base_url="", fakeheaders=[]): - self.handle = pycurl.Curl() - # These members might be set. - self.set_url(base_url) - self.verbosity = 0 - self.fakeheaders = fakeheaders - # Nothing past here should be modified by the caller. - self.payload = None - self.payload_io = BytesIO() - self.hrd = "" - # Verify that we've got the right site; harmless on a non-SSL connect. - self.set_option(pycurl.SSL_VERIFYHOST, 2) - # Follow redirects in case it wants to take us to a CGI... - self.set_option(pycurl.FOLLOWLOCATION, 1) - self.set_option(pycurl.MAXREDIRS, 5) - self.set_option(pycurl.NOSIGNAL, 1) - # Setting this option with even a nonexistent file makes libcurl - # handle cookie capture and playback automatically. - self.set_option(pycurl.COOKIEFILE, "/dev/null") - # Set timeouts to avoid hanging too long - self.set_timeout(30) - # Use password identification from .netrc automatically - self.set_option(pycurl.NETRC, 1) - self.set_option(pycurl.WRITEFUNCTION, self.payload_io.write) - def header_callback(x): - self.hdr += x.decode('ascii') - self.set_option(pycurl.HEADERFUNCTION, header_callback) - - def set_timeout(self, timeout): - "Set timeout for a retrieving an object" - self.set_option(pycurl.TIMEOUT, timeout) - - def set_url(self, url): - "Set the base URL to be retrieved." - self.base_url = url - self.set_option(pycurl.URL, self.base_url) - - def set_option(self, *args): - "Set an option on the retrieval." - self.handle.setopt(*args) - - def set_verbosity(self, level): - "Set verbosity to 1 to see transactions." - self.set_option(pycurl.VERBOSE, level) - - def __request(self, relative_url=None): - "Perform the pending request." - if self.fakeheaders: - self.set_option(pycurl.HTTPHEADER, self.fakeheaders) - if relative_url: - self.set_option(pycurl.URL, urljoin(self.base_url, relative_url)) - self.payload = None - self.hdr = "" - self.handle.perform() - self.payload = self.payload_io.getvalue() - return self.payload - - def get(self, url="", params=None): - "Ship a GET request for a specified URL, capture the response." - if params: - url += "?" + urllib_parse.urlencode(params) - self.set_option(pycurl.HTTPGET, 1) - return self.__request(url) - - def post(self, cgi, params): - "Ship a POST request to a specified CGI, capture the response." - self.set_option(pycurl.POST, 1) - self.set_option(pycurl.POSTFIELDS, urllib_parse.urlencode(params)) - return self.__request(cgi) - - def body(self): - "Return the body from the last response." - return self.payload - - def header(self): - "Return the header from the last response." - return self.hdr - - def get_info(self, *args): - "Get information about retrieval." - return self.handle.getinfo(*args) - - def info(self): - "Return a dictionary with all info on the last response." - m = {} - m['effective-url'] = self.handle.getinfo(pycurl.EFFECTIVE_URL) - m['http-code'] = self.handle.getinfo(pycurl.HTTP_CODE) - m['total-time'] = self.handle.getinfo(pycurl.TOTAL_TIME) - m['namelookup-time'] = self.handle.getinfo(pycurl.NAMELOOKUP_TIME) - m['connect-time'] = self.handle.getinfo(pycurl.CONNECT_TIME) - m['pretransfer-time'] = self.handle.getinfo(pycurl.PRETRANSFER_TIME) - m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME) - m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT) - m['size-upload'] = self.handle.getinfo(pycurl.SIZE_UPLOAD) - m['size-download'] = self.handle.getinfo(pycurl.SIZE_DOWNLOAD) - m['speed-upload'] = self.handle.getinfo(pycurl.SPEED_UPLOAD) - m['header-size'] = self.handle.getinfo(pycurl.HEADER_SIZE) - m['request-size'] = self.handle.getinfo(pycurl.REQUEST_SIZE) - m['content-length-download'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD) - m['content-length-upload'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_UPLOAD) - m['content-type'] = self.handle.getinfo(pycurl.CONTENT_TYPE) - m['response-code'] = self.handle.getinfo(pycurl.RESPONSE_CODE) - m['speed-download'] = self.handle.getinfo(pycurl.SPEED_DOWNLOAD) - m['ssl-verifyresult'] = self.handle.getinfo(pycurl.SSL_VERIFYRESULT) - m['filetime'] = self.handle.getinfo(pycurl.INFO_FILETIME) - m['starttransfer-time'] = self.handle.getinfo(pycurl.STARTTRANSFER_TIME) - m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME) - m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT) - m['http-connectcode'] = self.handle.getinfo(pycurl.HTTP_CONNECTCODE) - m['httpauth-avail'] = self.handle.getinfo(pycurl.HTTPAUTH_AVAIL) - m['proxyauth-avail'] = self.handle.getinfo(pycurl.PROXYAUTH_AVAIL) - m['os-errno'] = self.handle.getinfo(pycurl.OS_ERRNO) - m['num-connects'] = self.handle.getinfo(pycurl.NUM_CONNECTS) - m['ssl-engines'] = self.handle.getinfo(pycurl.SSL_ENGINES) - m['cookielist'] = self.handle.getinfo(pycurl.INFO_COOKIELIST) - m['lastsocket'] = self.handle.getinfo(pycurl.LASTSOCKET) - m['ftp-entry-path'] = self.handle.getinfo(pycurl.FTP_ENTRY_PATH) - return m - - def answered(self, check): - "Did a given check string occur in the last payload?" - return self.payload.find(check) >= 0 - - def close(self): - "Close a session, freeing resources." - if self.handle: - self.handle.close() - self.handle = None - self.hdr = "" - self.payload = "" - - def __del__(self): - self.close() - - -if __name__ == "__main__": - if len(sys.argv) < 2: - url = 'http://curl.haxx.se' - else: - url = sys.argv[1] - c = Curl() - c.get(url) - print(c.body()) - print('='*74 + '\n') - import pprint - pprint.pprint(c.info()) - print(c.get_info(pycurl.OS_ERRNO)) - print(c.info()['os-errno']) - c.close() diff --git a/lib27/site-packages/pycurl.pyd b/lib27/site-packages/pycurl.pyd deleted file mode 100644 index fc28d203a..000000000 Binary files a/lib27/site-packages/pycurl.pyd and /dev/null differ diff --git a/lib27/site-packages/qrcode/__init__.py b/lib27/site-packages/qrcode/__init__.py deleted file mode 100644 index f6aa53f24..000000000 --- a/lib27/site-packages/qrcode/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -from qrcode.main import QRCode -from qrcode.main import make # noqa -from qrcode.constants import ( # noqa - ERROR_CORRECT_L, ERROR_CORRECT_M, ERROR_CORRECT_Q, ERROR_CORRECT_H) - -from qrcode import image # noqa - - -def run_example(data="http://www.lincolnloop.com", *args, **kwargs): - """ - Build an example QR Code and display it. - - There's an even easier way than the code here though: just use the ``make`` - shortcut. - """ - qr = QRCode(*args, **kwargs) - qr.add_data(data) - - im = qr.make_image() - im.show() - - -if __name__ == '__main__': # pragma: no cover - import sys - run_example(*sys.argv[1:]) diff --git a/lib27/site-packages/qrcode/base.py b/lib27/site-packages/qrcode/base.py deleted file mode 100644 index 26c521f78..000000000 --- a/lib27/site-packages/qrcode/base.py +++ /dev/null @@ -1,361 +0,0 @@ -from qrcode import constants - -EXP_TABLE = list(range(256)) - -LOG_TABLE = list(range(256)) - -for i in range(8): - EXP_TABLE[i] = 1 << i - -for i in range(8, 256): - EXP_TABLE[i] = ( - EXP_TABLE[i - 4] ^ EXP_TABLE[i - 5] ^ EXP_TABLE[i - 6] ^ - EXP_TABLE[i - 8]) - -for i in range(255): - LOG_TABLE[EXP_TABLE[i]] = i - -RS_BLOCK_OFFSET = { - constants.ERROR_CORRECT_L: 0, - constants.ERROR_CORRECT_M: 1, - constants.ERROR_CORRECT_Q: 2, - constants.ERROR_CORRECT_H: 3, -} - -RS_BLOCK_TABLE = [ - - # L - # M - # Q - # H - - # 1 - [1, 26, 19], - [1, 26, 16], - [1, 26, 13], - [1, 26, 9], - - # 2 - [1, 44, 34], - [1, 44, 28], - [1, 44, 22], - [1, 44, 16], - - # 3 - [1, 70, 55], - [1, 70, 44], - [2, 35, 17], - [2, 35, 13], - - # 4 - [1, 100, 80], - [2, 50, 32], - [2, 50, 24], - [4, 25, 9], - - # 5 - [1, 134, 108], - [2, 67, 43], - [2, 33, 15, 2, 34, 16], - [2, 33, 11, 2, 34, 12], - - # 6 - [2, 86, 68], - [4, 43, 27], - [4, 43, 19], - [4, 43, 15], - - # 7 - [2, 98, 78], - [4, 49, 31], - [2, 32, 14, 4, 33, 15], - [4, 39, 13, 1, 40, 14], - - # 8 - [2, 121, 97], - [2, 60, 38, 2, 61, 39], - [4, 40, 18, 2, 41, 19], - [4, 40, 14, 2, 41, 15], - - # 9 - [2, 146, 116], - [3, 58, 36, 2, 59, 37], - [4, 36, 16, 4, 37, 17], - [4, 36, 12, 4, 37, 13], - - # 10 - [2, 86, 68, 2, 87, 69], - [4, 69, 43, 1, 70, 44], - [6, 43, 19, 2, 44, 20], - [6, 43, 15, 2, 44, 16], - - # 11 - [4, 101, 81], - [1, 80, 50, 4, 81, 51], - [4, 50, 22, 4, 51, 23], - [3, 36, 12, 8, 37, 13], - - # 12 - [2, 116, 92, 2, 117, 93], - [6, 58, 36, 2, 59, 37], - [4, 46, 20, 6, 47, 21], - [7, 42, 14, 4, 43, 15], - - # 13 - [4, 133, 107], - [8, 59, 37, 1, 60, 38], - [8, 44, 20, 4, 45, 21], - [12, 33, 11, 4, 34, 12], - - # 14 - [3, 145, 115, 1, 146, 116], - [4, 64, 40, 5, 65, 41], - [11, 36, 16, 5, 37, 17], - [11, 36, 12, 5, 37, 13], - - # 15 - [5, 109, 87, 1, 110, 88], - [5, 65, 41, 5, 66, 42], - [5, 54, 24, 7, 55, 25], - [11, 36, 12, 7, 37, 13], - - # 16 - [5, 122, 98, 1, 123, 99], - [7, 73, 45, 3, 74, 46], - [15, 43, 19, 2, 44, 20], - [3, 45, 15, 13, 46, 16], - - # 17 - [1, 135, 107, 5, 136, 108], - [10, 74, 46, 1, 75, 47], - [1, 50, 22, 15, 51, 23], - [2, 42, 14, 17, 43, 15], - - # 18 - [5, 150, 120, 1, 151, 121], - [9, 69, 43, 4, 70, 44], - [17, 50, 22, 1, 51, 23], - [2, 42, 14, 19, 43, 15], - - # 19 - [3, 141, 113, 4, 142, 114], - [3, 70, 44, 11, 71, 45], - [17, 47, 21, 4, 48, 22], - [9, 39, 13, 16, 40, 14], - - # 20 - [3, 135, 107, 5, 136, 108], - [3, 67, 41, 13, 68, 42], - [15, 54, 24, 5, 55, 25], - [15, 43, 15, 10, 44, 16], - - # 21 - [4, 144, 116, 4, 145, 117], - [17, 68, 42], - [17, 50, 22, 6, 51, 23], - [19, 46, 16, 6, 47, 17], - - # 22 - [2, 139, 111, 7, 140, 112], - [17, 74, 46], - [7, 54, 24, 16, 55, 25], - [34, 37, 13], - - # 23 - [4, 151, 121, 5, 152, 122], - [4, 75, 47, 14, 76, 48], - [11, 54, 24, 14, 55, 25], - [16, 45, 15, 14, 46, 16], - - # 24 - [6, 147, 117, 4, 148, 118], - [6, 73, 45, 14, 74, 46], - [11, 54, 24, 16, 55, 25], - [30, 46, 16, 2, 47, 17], - - # 25 - [8, 132, 106, 4, 133, 107], - [8, 75, 47, 13, 76, 48], - [7, 54, 24, 22, 55, 25], - [22, 45, 15, 13, 46, 16], - - # 26 - [10, 142, 114, 2, 143, 115], - [19, 74, 46, 4, 75, 47], - [28, 50, 22, 6, 51, 23], - [33, 46, 16, 4, 47, 17], - - # 27 - [8, 152, 122, 4, 153, 123], - [22, 73, 45, 3, 74, 46], - [8, 53, 23, 26, 54, 24], - [12, 45, 15, 28, 46, 16], - - # 28 - [3, 147, 117, 10, 148, 118], - [3, 73, 45, 23, 74, 46], - [4, 54, 24, 31, 55, 25], - [11, 45, 15, 31, 46, 16], - - # 29 - [7, 146, 116, 7, 147, 117], - [21, 73, 45, 7, 74, 46], - [1, 53, 23, 37, 54, 24], - [19, 45, 15, 26, 46, 16], - - # 30 - [5, 145, 115, 10, 146, 116], - [19, 75, 47, 10, 76, 48], - [15, 54, 24, 25, 55, 25], - [23, 45, 15, 25, 46, 16], - - # 31 - [13, 145, 115, 3, 146, 116], - [2, 74, 46, 29, 75, 47], - [42, 54, 24, 1, 55, 25], - [23, 45, 15, 28, 46, 16], - - # 32 - [17, 145, 115], - [10, 74, 46, 23, 75, 47], - [10, 54, 24, 35, 55, 25], - [19, 45, 15, 35, 46, 16], - - # 33 - [17, 145, 115, 1, 146, 116], - [14, 74, 46, 21, 75, 47], - [29, 54, 24, 19, 55, 25], - [11, 45, 15, 46, 46, 16], - - # 34 - [13, 145, 115, 6, 146, 116], - [14, 74, 46, 23, 75, 47], - [44, 54, 24, 7, 55, 25], - [59, 46, 16, 1, 47, 17], - - # 35 - [12, 151, 121, 7, 152, 122], - [12, 75, 47, 26, 76, 48], - [39, 54, 24, 14, 55, 25], - [22, 45, 15, 41, 46, 16], - - # 36 - [6, 151, 121, 14, 152, 122], - [6, 75, 47, 34, 76, 48], - [46, 54, 24, 10, 55, 25], - [2, 45, 15, 64, 46, 16], - - # 37 - [17, 152, 122, 4, 153, 123], - [29, 74, 46, 14, 75, 47], - [49, 54, 24, 10, 55, 25], - [24, 45, 15, 46, 46, 16], - - # 38 - [4, 152, 122, 18, 153, 123], - [13, 74, 46, 32, 75, 47], - [48, 54, 24, 14, 55, 25], - [42, 45, 15, 32, 46, 16], - - # 39 - [20, 147, 117, 4, 148, 118], - [40, 75, 47, 7, 76, 48], - [43, 54, 24, 22, 55, 25], - [10, 45, 15, 67, 46, 16], - - # 40 - [19, 148, 118, 6, 149, 119], - [18, 75, 47, 31, 76, 48], - [34, 54, 24, 34, 55, 25], - [20, 45, 15, 61, 46, 16] - -] - - -def glog(n): - if n < 1: # pragma: no cover - raise ValueError("glog(%s)" % n) - return LOG_TABLE[n] - - -def gexp(n): - return EXP_TABLE[n % 255] - - -class Polynomial: - - def __init__(self, num, shift): - if not num: # pragma: no cover - raise Exception("%s/%s" % (len(num), shift)) - - offset = 0 - - for item in num: - if item != 0: - break - offset += 1 - - self.num = [0] * (len(num) - offset + shift) - for i in range(len(num) - offset): - self.num[i] = num[i + offset] - - def __getitem__(self, index): - return self.num[index] - - def __iter__(self): - return iter(self.num) - - def __len__(self): - return len(self.num) - - def __mul__(self, other): - num = [0] * (len(self) + len(other) - 1) - - for i, item in enumerate(self): - for j, other_item in enumerate(other): - num[i + j] ^= gexp(glog(item) + glog(other_item)) - - return Polynomial(num, 0) - - def __mod__(self, other): - difference = len(self) - len(other) - if difference < 0: - return self - - ratio = glog(self[0]) - glog(other[0]) - - num = self[:] - - num = [ - item ^ gexp(glog(other_item) + ratio) - for item, other_item in zip(self, other)] - if difference: - num.extend(self[-difference:]) - - # recursive call - return Polynomial(num, 0) % other - - -class RSBlock: - - def __init__(self, total_count, data_count): - self.total_count = total_count - self.data_count = data_count - - -def rs_blocks(version, error_correction): - if error_correction not in RS_BLOCK_OFFSET: # pragma: no cover - raise Exception( - "bad rs block @ version: %s / error_correction: %s" % - (version, error_correction)) - offset = RS_BLOCK_OFFSET[error_correction] - rs_block = RS_BLOCK_TABLE[(version - 1) * 4 + offset] - - blocks = [] - - for i in range(0, len(rs_block), 3): - count, total_count, data_count = rs_block[i:i + 3] - for j in range(count): - blocks.append(RSBlock(total_count, data_count)) - - return blocks diff --git a/lib27/site-packages/qrcode/console_scripts.py b/lib27/site-packages/qrcode/console_scripts.py deleted file mode 100644 index 5d1a904d6..000000000 --- a/lib27/site-packages/qrcode/console_scripts.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -""" -qr - Convert stdin (or the first argument) to a QR Code. - -When stdout is a tty the QR Code is printed to the terminal and when stdout is -a pipe to a file an image is written. The default image format is PNG. -""" -import sys -import optparse -import os -import qrcode -# The next block is added to get the terminal to display properly on MS platforms -if sys.platform.startswith(('win', 'cygwin')): - import colorama - colorama.init() - -default_factories = { - 'pil': 'qrcode.image.pil.PilImage', - 'pymaging': 'qrcode.image.pure.PymagingImage', - 'svg': 'qrcode.image.svg.SvgImage', - 'svg-fragment': 'qrcode.image.svg.SvgFragmentImage', - 'svg-path': 'qrcode.image.svg.SvgPathImage', -} - -error_correction = { - 'L': qrcode.ERROR_CORRECT_L, - 'M': qrcode.ERROR_CORRECT_M, - 'Q': qrcode.ERROR_CORRECT_Q, - 'H': qrcode.ERROR_CORRECT_H, -} - - -def main(args=sys.argv[1:]): - parser = optparse.OptionParser(usage=__doc__.strip()) - parser.add_option( - "--factory", help="Full python path to the image factory class to " - "create the image with. You can use the following shortcuts to the " - "built-in image factory classes: {0}.".format( - ", ".join(sorted(default_factories.keys())))) - parser.add_option( - "--optimize", type=int, help="Optimize the data by looking for chunks " - "of at least this many characters that could use a more efficient " - "encoding method. Use 0 to turn off chunk optimization.") - parser.add_option( - "--error-correction", type='choice', - choices=sorted(error_correction.keys()), default='M', - help="The error correction level to use. Choices are L (7%), " - "M (15%, default), Q (25%), and H (30%).") - opts, args = parser.parse_args(args) - - qr = qrcode.QRCode( - error_correction=error_correction[opts.error_correction]) - - if opts.factory: - module = default_factories.get(opts.factory, opts.factory) - if '.' not in module: - parser.error("The image factory is not a full python path") - module, name = module.rsplit('.', 1) - imp = __import__(module, {}, [], [name]) - image_factory = getattr(imp, name) - else: - image_factory = None - - if args: - data = args[0] - else: - # Use sys.stdin.buffer if available (Python 3) avoiding - # UnicodeDecodeErrors. - stdin_buffer = getattr(sys.stdin, 'buffer', sys.stdin) - data = stdin_buffer.read() - if opts.optimize is None: - qr.add_data(data) - else: - qr.add_data(data, optimize=opts.optimize) - - if image_factory is None and os.isatty(sys.stdout.fileno()): - qr.print_ascii(tty=True) - return - - img = qr.make_image(image_factory=image_factory) - - sys.stdout.flush() - # Use sys.stdout.buffer if available (Python 3), avoiding - # UnicodeDecodeErrors. - stdout_buffer = getattr(sys.stdout, 'buffer', None) - if not stdout_buffer: - if sys.platform == 'win32': # pragma: no cover - import msvcrt - msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) - stdout_buffer = sys.stdout - - img.save(stdout_buffer) - - -if __name__ == "__main__": - main() diff --git a/lib27/site-packages/qrcode/constants.py b/lib27/site-packages/qrcode/constants.py deleted file mode 100644 index 385dda088..000000000 --- a/lib27/site-packages/qrcode/constants.py +++ /dev/null @@ -1,5 +0,0 @@ -# QR error correct levels -ERROR_CORRECT_L = 1 -ERROR_CORRECT_M = 0 -ERROR_CORRECT_Q = 3 -ERROR_CORRECT_H = 2 diff --git a/lib27/site-packages/qrcode/exceptions.py b/lib27/site-packages/qrcode/exceptions.py deleted file mode 100644 index b37bd30c3..000000000 --- a/lib27/site-packages/qrcode/exceptions.py +++ /dev/null @@ -1,2 +0,0 @@ -class DataOverflowError(Exception): - pass diff --git a/lib27/site-packages/qrcode/image/base.py b/lib27/site-packages/qrcode/image/base.py deleted file mode 100644 index d0bfd8fb6..000000000 --- a/lib27/site-packages/qrcode/image/base.py +++ /dev/null @@ -1,62 +0,0 @@ -class BaseImage(object): - """ - Base QRCode image output class. - """ - kind = None - allowed_kinds = None - - def __init__(self, border, width, box_size, *args, **kwargs): - self.border = border - self.width = width - self.box_size = box_size - self.pixel_size = (self.width + self.border*2) * self.box_size - self._img = self.new_image(**kwargs) - - def drawrect(self, row, col): - """ - Draw a single rectangle of the QR code. - """ - raise NotImplementedError("BaseImage.drawrect") - - def save(self, stream, kind=None): - """ - Save the image file. - """ - raise NotImplementedError("BaseImage.save") - - def pixel_box(self, row, col): - """ - A helper method for pixel-based image generators that specifies the - four pixel coordinates for a single rect. - """ - x = (col + self.border) * self.box_size - y = (row + self.border) * self.box_size - return [(x, y), (x + self.box_size - 1, y + self.box_size - 1)] - - def new_image(self, **kwargs): # pragma: no cover - """ - Build the image class. Subclasses should return the class created. - """ - return None - - def get_image(self, **kwargs): - """ - Return the image class for further processing. - """ - return self._img - - def check_kind(self, kind, transform=None): - """ - Get the image type. - """ - if kind is None: - kind = self.kind - allowed = not self.allowed_kinds or kind in self.allowed_kinds - if transform: - kind = transform(kind) - if not allowed: - allowed = kind in self.allowed_kinds - if not allowed: - raise ValueError( - "Cannot set %s type to %s" % (type(self).__name__, kind)) - return kind diff --git a/lib27/site-packages/qrcode/image/pil.py b/lib27/site-packages/qrcode/image/pil.py deleted file mode 100644 index a56d2f9f0..000000000 --- a/lib27/site-packages/qrcode/image/pil.py +++ /dev/null @@ -1,50 +0,0 @@ -# Needed on case-insensitive filesystems -from __future__ import absolute_import - -# Try to import PIL in either of the two ways it can be installed. -try: - from PIL import Image, ImageDraw -except ImportError: # pragma: no cover - import Image - import ImageDraw - -import qrcode.image.base - - -class PilImage(qrcode.image.base.BaseImage): - """ - PIL image builder, default format is PNG. - """ - kind = "PNG" - - def new_image(self, **kwargs): - back_color = kwargs.get("fill_color", "white") - fill_color = kwargs.get("back_color", "black") - - if fill_color.lower() != "black" or back_color.lower() != "white": - if back_color.lower() == "transparent": - mode = "RGBA" - back_color = None - else: - mode = "RGB" - else: - mode = "1" - - img = Image.new(mode, (self.pixel_size, self.pixel_size), back_color) - self.fill_color = fill_color - self._idr = ImageDraw.Draw(img) - return img - - def drawrect(self, row, col): - box = self.pixel_box(row, col) - self._idr.rectangle(box, fill=self.fill_color) - - def save(self, stream, format=None, **kwargs): - if format is None: - format = kwargs.get("kind", self.kind) - if "kind" in kwargs: - del kwargs["kind"] - self._img.save(stream, format=format, **kwargs) - - def __getattr__(self, name): - return getattr(self._img, name) diff --git a/lib27/site-packages/qrcode/image/pure.py b/lib27/site-packages/qrcode/image/pure.py deleted file mode 100644 index 34f75fefd..000000000 --- a/lib27/site-packages/qrcode/image/pure.py +++ /dev/null @@ -1,49 +0,0 @@ -from pymaging import Image -from pymaging.colors import RGB -from pymaging.formats import registry -from pymaging.shapes import Line -from pymaging.webcolors import Black, White -from pymaging_png.png import PNG - -import qrcode.image.base - - -class PymagingImage(qrcode.image.base.BaseImage): - """ - pymaging image builder, default format is PNG. - """ - kind = "PNG" - allowed_kinds = ("PNG",) - - def __init__(self, *args, **kwargs): - """ - Register PNG with pymaging. - """ - registry.formats = [] - registry.names = {} - registry._populate() - registry.register(PNG) - - super(PymagingImage, self).__init__(*args, **kwargs) - - def new_image(self, **kwargs): - return Image.new(RGB, self.pixel_size, self.pixel_size, White) - - def drawrect(self, row, col): - (x, y), (x2, y2) = self.pixel_box(row, col) - for r in range(self.box_size): - line_y = y + r - line = Line(x, line_y, x2, line_y) - self._img.draw(line, Black) - - def save(self, stream, kind=None): - self._img.save(stream, self.check_kind(kind)) - - def check_kind(self, kind, transform=None, **kwargs): - """ - pymaging (pymaging_png at least) uses lower case for the type. - """ - if transform is None: - transform = lambda x: x.lower() - return super(PymagingImage, self).check_kind( - kind, transform=transform, **kwargs) diff --git a/lib27/site-packages/qrcode/image/svg.py b/lib27/site-packages/qrcode/image/svg.py deleted file mode 100644 index e99a66fb5..000000000 --- a/lib27/site-packages/qrcode/image/svg.py +++ /dev/null @@ -1,159 +0,0 @@ -from decimal import Decimal -# On Python 2.6 must install lxml since the older xml.etree.ElementTree -# version can not be used to create SVG images. -try: - import lxml.etree as ET -except ImportError: - import xml.etree.ElementTree as ET -import qrcode.image.base - - -class SvgFragmentImage(qrcode.image.base.BaseImage): - """ - SVG image builder - - Creates a QR-code image as a SVG document fragment. - """ - - _SVG_namespace = "http://www.w3.org/2000/svg" - kind = "SVG" - allowed_kinds = ("SVG",) - - def __init__(self, *args, **kwargs): - ET.register_namespace("svg", self._SVG_namespace) - super(SvgFragmentImage, self).__init__(*args, **kwargs) - # Save the unit size, for example the default box_size of 10 is '1mm'. - self.unit_size = self.units(self.box_size) - - def drawrect(self, row, col): - self._img.append(self._rect(row, col)) - - def units(self, pixels, text=True): - """ - A box_size of 10 (default) equals 1mm. - """ - units = Decimal(pixels) / 10 - if not text: - return units - return '%smm' % units - - def save(self, stream, kind=None): - self.check_kind(kind=kind) - self._write(stream) - - def new_image(self, **kwargs): - return self._svg() - - def _svg(self, tag=None, version='1.1', **kwargs): - if tag is None: - tag = ET.QName(self._SVG_namespace, "svg") - dimension = self.units(self.pixel_size) - return ET.Element( - tag, width=dimension, height=dimension, version=version, - **kwargs) - - def _rect(self, row, col, tag=None): - if tag is None: - tag = ET.QName(self._SVG_namespace, "rect") - x, y = self.pixel_box(row, col)[0] - return ET.Element( - tag, x=self.units(x), y=self.units(y), - width=self.unit_size, height=self.unit_size) - - def _write(self, stream): - ET.ElementTree(self._img).write(stream, xml_declaration=False) - - -class SvgImage(SvgFragmentImage): - """ - Standalone SVG image builder - - Creates a QR-code image as a standalone SVG document. - """ - background = None - - def _svg(self, tag='svg', **kwargs): - svg = super(SvgImage, self)._svg(tag=tag, **kwargs) - svg.set("xmlns", self._SVG_namespace) - if self.background: - svg.append( - ET.Element( - 'rect', fill=self.background, x='0', y='0', width='100%', - height='100%')) - return svg - - def _rect(self, row, col): - return super(SvgImage, self)._rect(row, col, tag="rect") - - def _write(self, stream): - ET.ElementTree(self._img).write(stream, encoding="UTF-8", - xml_declaration=True) - - -class SvgPathImage(SvgImage): - """ - SVG image builder with one single element (removes white spaces - between individual QR points). - """ - - QR_PATH_STYLE = 'fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none' - - def __init__(self, *args, **kwargs): - self._points = set() - super(SvgPathImage, self).__init__(*args, **kwargs) - - def _svg(self, viewBox=None, **kwargs): - if viewBox is None: - dimension = self.units(self.pixel_size, text=False) - viewBox = '0 0 %(d)s %(d)s' % {'d': dimension} - return super(SvgPathImage, self)._svg(viewBox=viewBox, **kwargs) - - def drawrect(self, row, col): - # (x, y) - self._points.add((col, row)) - - def _generate_subpaths(self): - """Generates individual QR points as subpaths""" - - rect_size = self.units(self.box_size, text=False) - - for point in self._points: - x_base = self.units( - (point[0]+self.border)*self.box_size, text=False) - y_base = self.units( - (point[1]+self.border)*self.box_size, text=False) - - yield ( - 'M %(x0)s %(y0)s L %(x0)s %(y1)s L %(x1)s %(y1)s L %(x1)s ' - '%(y0)s z' % dict( - x0=x_base, y0=y_base, - x1=x_base+rect_size, y1=y_base+rect_size, - )) - - def make_path(self): - subpaths = self._generate_subpaths() - - return ET.Element( - ET.QName("path"), - style=self.QR_PATH_STYLE, - d=' '.join(subpaths), - id="qr-path" - ) - - def _write(self, stream): - self._img.append(self.make_path()) - super(SvgPathImage, self)._write(stream) - - -class SvgFillImage(SvgImage): - """ - An SvgImage that fills the background to white. - """ - background = 'white' - - -class SvgPathFillImage(SvgPathImage): - """ - An SvgPathImage that fills the background to white. - """ - background = 'white' diff --git a/lib27/site-packages/qrcode/main.py b/lib27/site-packages/qrcode/main.py deleted file mode 100644 index 4fddd3758..000000000 --- a/lib27/site-packages/qrcode/main.py +++ /dev/null @@ -1,422 +0,0 @@ -from qrcode import constants, exceptions, util -from qrcode.image.base import BaseImage - -import six -from bisect import bisect_left - - -def make(data=None, **kwargs): - qr = QRCode(**kwargs) - qr.add_data(data) - return qr.make_image() - - -def _check_version(version): - if version < 1 or version > 40: - raise ValueError( - "Invalid version (was %s, expected 1 to 40)" % version) - - -def _check_box_size(size): - if int(size) <= 0: - raise ValueError( - "Invalid box size (was %s, expected larger than 0)" % size) - - -class QRCode: - - def __init__(self, version=None, - error_correction=constants.ERROR_CORRECT_M, - box_size=10, border=4, - image_factory=None): - _check_box_size(box_size) - self.version = version and int(version) - self.error_correction = int(error_correction) - self.box_size = int(box_size) - # Spec says border should be at least four boxes wide, but allow for - # any (e.g. for producing printable QR codes). - self.border = int(border) - self.image_factory = image_factory - if image_factory is not None: - assert issubclass(image_factory, BaseImage) - self.clear() - - def clear(self): - """ - Reset the internal data. - """ - self.modules = None - self.modules_count = 0 - self.data_cache = None - self.data_list = [] - - def add_data(self, data, optimize=20): - """ - Add data to this QR Code. - - :param optimize: Data will be split into multiple chunks to optimize - the QR size by finding to more compressed modes of at least this - length. Set to ``0`` to avoid optimizing at all. - """ - if isinstance(data, util.QRData): - self.data_list.append(data) - else: - if optimize: - self.data_list.extend(util.optimal_data_chunks(data)) - else: - self.data_list.append(util.QRData(data)) - self.data_cache = None - - def make(self, fit=True): - """ - Compile the data into a QR Code array. - - :param fit: If ``True`` (or if a size has not been provided), find the - best fit for the data to avoid data overflow errors. - """ - if fit or (self.version is None): - self.best_fit(start=self.version) - self.makeImpl(False, self.best_mask_pattern()) - - def makeImpl(self, test, mask_pattern): - _check_version(self.version) - self.modules_count = self.version * 4 + 17 - self.modules = [None] * self.modules_count - - for row in range(self.modules_count): - - self.modules[row] = [None] * self.modules_count - - for col in range(self.modules_count): - self.modules[row][col] = None # (col + row) % 3 - - self.setup_position_probe_pattern(0, 0) - self.setup_position_probe_pattern(self.modules_count - 7, 0) - self.setup_position_probe_pattern(0, self.modules_count - 7) - self.setup_position_adjust_pattern() - self.setup_timing_pattern() - self.setup_type_info(test, mask_pattern) - - if self.version >= 7: - self.setup_type_number(test) - - if self.data_cache is None: - self.data_cache = util.create_data( - self.version, self.error_correction, self.data_list) - self.map_data(self.data_cache, mask_pattern) - - def setup_position_probe_pattern(self, row, col): - for r in range(-1, 8): - - if row + r <= -1 or self.modules_count <= row + r: - continue - - for c in range(-1, 8): - - if col + c <= -1 or self.modules_count <= col + c: - continue - - if (0 <= r and r <= 6 and (c == 0 or c == 6) - or (0 <= c and c <= 6 and (r == 0 or r == 6)) - or (2 <= r and r <= 4 and 2 <= c and c <= 4)): - self.modules[row + r][col + c] = True - else: - self.modules[row + r][col + c] = False - - def best_fit(self, start=None): - """ - Find the minimum size required to fit in the data. - """ - if start is None: - start = 1 - _check_version(start) - - # Corresponds to the code in util.create_data, except we don't yet know - # version, so optimistically assume start and check later - mode_sizes = util.mode_sizes_for_version(start) - buffer = util.BitBuffer() - for data in self.data_list: - buffer.put(data.mode, 4) - buffer.put(len(data), mode_sizes[data.mode]) - data.write(buffer) - - needed_bits = len(buffer) - self.version = bisect_left(util.BIT_LIMIT_TABLE[self.error_correction], - needed_bits, start) - if self.version == 41: - raise exceptions.DataOverflowError() - - # Now check whether we need more bits for the mode sizes, recursing if - # our guess was too low - if mode_sizes is not util.mode_sizes_for_version(self.version): - self.best_fit(start=self.version) - return self.version - - def best_mask_pattern(self): - """ - Find the most efficient mask pattern. - """ - min_lost_point = 0 - pattern = 0 - - for i in range(8): - self.makeImpl(True, i) - - lost_point = util.lost_point(self.modules) - - if i == 0 or min_lost_point > lost_point: - min_lost_point = lost_point - pattern = i - - return pattern - - def print_tty(self, out=None): - """ - Output the QR Code only using TTY colors. - - If the data has not been compiled yet, make it first. - """ - if out is None: - import sys - out = sys.stdout - - if not out.isatty(): - raise OSError("Not a tty") - - if self.data_cache is None: - self.make() - - modcount = self.modules_count - out.write("\x1b[1;47m" + (" " * (modcount * 2 + 4)) + "\x1b[0m\n") - for r in range(modcount): - out.write("\x1b[1;47m \x1b[40m") - for c in range(modcount): - if self.modules[r][c]: - out.write(" ") - else: - out.write("\x1b[1;47m \x1b[40m") - out.write("\x1b[1;47m \x1b[0m\n") - out.write("\x1b[1;47m" + (" " * (modcount * 2 + 4)) + "\x1b[0m\n") - out.flush() - - def print_ascii(self, out=None, tty=False, invert=False): - """ - Output the QR Code using ASCII characters. - - :param tty: use fixed TTY color codes (forces invert=True) - :param invert: invert the ASCII characters (solid <-> transparent) - """ - if out is None: - import sys - if sys.version_info < (2, 7): - # On Python versions 2.6 and earlier, stdout tries to encode - # strings using ASCII rather than stdout.encoding, so use this - # workaround. - import codecs - out = codecs.getwriter(sys.stdout.encoding)(sys.stdout) - else: - out = sys.stdout - - if tty and not out.isatty(): - raise OSError("Not a tty") - - if self.data_cache is None: - self.make() - - modcount = self.modules_count - codes = [six.int2byte(code).decode('cp437') - for code in (255, 223, 220, 219)] - if tty: - invert = True - if invert: - codes.reverse() - - def get_module(x, y): - if (invert and self.border and - max(x, y) >= modcount+self.border): - return 1 - if min(x, y) < 0 or max(x, y) >= modcount: - return 0 - return self.modules[x][y] - - for r in range(-self.border, modcount+self.border, 2): - if tty: - if not invert or r < modcount+self.border-1: - out.write('\x1b[48;5;232m') # Background black - out.write('\x1b[38;5;255m') # Foreground white - for c in range(-self.border, modcount+self.border): - pos = get_module(r, c) + (get_module(r+1, c) << 1) - out.write(codes[pos]) - if tty: - out.write('\x1b[0m') - out.write('\n') - out.flush() - - def make_image(self, image_factory=None, **kwargs): - """ - Make an image from the QR Code data. - - If the data has not been compiled yet, make it first. - """ - _check_box_size(self.box_size) - if self.data_cache is None: - self.make() - - if image_factory is not None: - assert issubclass(image_factory, BaseImage) - else: - image_factory = self.image_factory - if image_factory is None: - # Use PIL by default - from qrcode.image.pil import PilImage - image_factory = PilImage - - im = image_factory( - self.border, self.modules_count, self.box_size, **kwargs) - for r in range(self.modules_count): - for c in range(self.modules_count): - if self.modules[r][c]: - im.drawrect(r, c) - return im - - def setup_timing_pattern(self): - for r in range(8, self.modules_count - 8): - if self.modules[r][6] is not None: - continue - self.modules[r][6] = (r % 2 == 0) - - for c in range(8, self.modules_count - 8): - if self.modules[6][c] is not None: - continue - self.modules[6][c] = (c % 2 == 0) - - def setup_position_adjust_pattern(self): - pos = util.pattern_position(self.version) - - for i in range(len(pos)): - - for j in range(len(pos)): - - row = pos[i] - col = pos[j] - - if self.modules[row][col] is not None: - continue - - for r in range(-2, 3): - - for c in range(-2, 3): - - if (r == -2 or r == 2 or c == -2 or c == 2 or - (r == 0 and c == 0)): - self.modules[row + r][col + c] = True - else: - self.modules[row + r][col + c] = False - - def setup_type_number(self, test): - bits = util.BCH_type_number(self.version) - - for i in range(18): - mod = (not test and ((bits >> i) & 1) == 1) - self.modules[i // 3][i % 3 + self.modules_count - 8 - 3] = mod - - for i in range(18): - mod = (not test and ((bits >> i) & 1) == 1) - self.modules[i % 3 + self.modules_count - 8 - 3][i // 3] = mod - - def setup_type_info(self, test, mask_pattern): - data = (self.error_correction << 3) | mask_pattern - bits = util.BCH_type_info(data) - - # vertical - for i in range(15): - - mod = (not test and ((bits >> i) & 1) == 1) - - if i < 6: - self.modules[i][8] = mod - elif i < 8: - self.modules[i + 1][8] = mod - else: - self.modules[self.modules_count - 15 + i][8] = mod - - # horizontal - for i in range(15): - - mod = (not test and ((bits >> i) & 1) == 1) - - if i < 8: - self.modules[8][self.modules_count - i - 1] = mod - elif i < 9: - self.modules[8][15 - i - 1 + 1] = mod - else: - self.modules[8][15 - i - 1] = mod - - # fixed module - self.modules[self.modules_count - 8][8] = (not test) - - def map_data(self, data, mask_pattern): - inc = -1 - row = self.modules_count - 1 - bitIndex = 7 - byteIndex = 0 - - mask_func = util.mask_func(mask_pattern) - - data_len = len(data) - - for col in six.moves.xrange(self.modules_count - 1, 0, -2): - - if col <= 6: - col -= 1 - - col_range = (col, col-1) - - while True: - - for c in col_range: - - if self.modules[row][c] is None: - - dark = False - - if byteIndex < data_len: - dark = (((data[byteIndex] >> bitIndex) & 1) == 1) - - if mask_func(row, c): - dark = not dark - - self.modules[row][c] = dark - bitIndex -= 1 - - if bitIndex == -1: - byteIndex += 1 - bitIndex = 7 - - row += inc - - if row < 0 or self.modules_count <= row: - row -= inc - inc = -inc - break - - def get_matrix(self): - """ - Return the QR Code as a multidimensonal array, including the border. - - To return the array without a border, set ``self.border`` to 0 first. - """ - if self.data_cache is None: - self.make() - - if not self.border: - return self.modules - - width = len(self.modules) + self.border*2 - code = [[False]*width] * self.border - x_border = [False]*self.border - for module in self.modules: - code.append(x_border + module + x_border) - code += [[False]*width] * self.border - - return code diff --git a/lib27/site-packages/qrcode/mecard.py b/lib27/site-packages/qrcode/mecard.py deleted file mode 100644 index ce05582c9..000000000 --- a/lib27/site-packages/qrcode/mecard.py +++ /dev/null @@ -1,33 +0,0 @@ -import six - -# {'code': 'N', 'label': 'Name', 'required': True, 'multipart': [ -# 'Last Name', 'First Name']}, -PROPERTIES = { - 'NICKNAME': {'label': 'Nickname'}, - 'BDAY': {'label': 'Birthday', 'date': True}, - 'TEL': {'label': 'Phone'}, - 'EMAIL': {'label': 'E-mail'}, - 'ADR': {'label': 'Address', 'multipart': [ - 'PO Box', 'Room Number', 'House Number', 'City', 'Prefecture', - 'Zip Code', 'Country']}, - 'URL': {'label': 'URL'}, - 'MEMO': {'label': 'Note'}, -} - - -def build_code(data): - notation = [] - - name = data['N'] - if not isinstance(name, six.text_type): - name = ','.join(name) - notation.append('N', name) - - for prop in PROPERTIES: - value = data.get(prop['code']) - if not value: - continue - if prop['date']: - value = value.strftime('%Y%m%d') - elif prop['multipart']: - value = ','.join(value) diff --git a/lib27/site-packages/qrcode/speedy.py b/lib27/site-packages/qrcode/speedy.py deleted file mode 100644 index 11ec3aaeb..000000000 --- a/lib27/site-packages/qrcode/speedy.py +++ /dev/null @@ -1,8 +0,0 @@ -import string -import qrcode - -qr = qrcode.QRCode() - -qr.add_data(string.letters*13) -qr.make() -print(qr.version) diff --git a/lib27/site-packages/qrcode/tests/svg.py b/lib27/site-packages/qrcode/tests/svg.py deleted file mode 100644 index a990e909e..000000000 --- a/lib27/site-packages/qrcode/tests/svg.py +++ /dev/null @@ -1,5 +0,0 @@ -from qrcode.image.svg import SvgImage - - -class SvgImageWhite(SvgImage): - background = 'white' diff --git a/lib27/site-packages/qrcode/tests/test_example.py b/lib27/site-packages/qrcode/tests/test_example.py deleted file mode 100644 index 1300b112b..000000000 --- a/lib27/site-packages/qrcode/tests/test_example.py +++ /dev/null @@ -1,18 +0,0 @@ -try: - import unittest2 as unittest -except ImportError: - import unittest -try: - from unittest import mock -except ImportError: - import mock - -from qrcode import run_example - - -class ExampleTest(unittest.TestCase): - - @mock.patch('PIL.Image.Image.show') - def runTest(self, mock_show): - run_example() - mock_show.assert_called_with() diff --git a/lib27/site-packages/qrcode/tests/test_qrcode.py b/lib27/site-packages/qrcode/tests/test_qrcode.py deleted file mode 100644 index c4494050b..000000000 --- a/lib27/site-packages/qrcode/tests/test_qrcode.py +++ /dev/null @@ -1,272 +0,0 @@ -import warnings -import six -import sys -import qrcode -import qrcode.util -import qrcode.image.svg - -try: - import qrcode.image.pure - import pymaging_png # ensure that PNG support is installed -except ImportError: # pragma: no cover - pymaging_png = None - -import qrcode -from qrcode.image.base import BaseImage -from qrcode.exceptions import DataOverflowError -from qrcode.util import ( - QRData, MODE_NUMBER, MODE_ALPHA_NUM, MODE_8BIT_BYTE) -from qrcode.tests.svg import SvgImageWhite - -try: - import unittest2 as unittest -except ImportError: - import unittest - -try: - from unittest import mock -except ImportError: - import mock - -UNICODE_TEXT = u'\u03b1\u03b2\u03b3' - - -class QRCodeTests(unittest.TestCase): - - def test_basic(self): - qr = qrcode.QRCode(version=1) - qr.add_data('a') - qr.make(fit=False) - - def test_large(self): - qr = qrcode.QRCode(version=27) - qr.add_data('a') - qr.make(fit=False) - - def test_invalid_version(self): - qr = qrcode.QRCode(version=41) - self.assertRaises(ValueError, qr.make, fit=False) - - def test_overflow(self): - qr = qrcode.QRCode(version=1) - qr.add_data('abcdefghijklmno') - self.assertRaises(DataOverflowError, qr.make, fit=False) - - def test_add_qrdata(self): - qr = qrcode.QRCode(version=1) - data = QRData('a') - qr.add_data(data) - qr.make(fit=False) - - def test_fit(self): - qr = qrcode.QRCode() - qr.add_data('a') - qr.make() - self.assertEqual(qr.version, 1) - qr.add_data('bcdefghijklmno') - qr.make() - self.assertEqual(qr.version, 2) - - def test_mode_number(self): - qr = qrcode.QRCode() - qr.add_data('1234567890123456789012345678901234', optimize=0) - qr.make() - self.assertEqual(qr.version, 1) - self.assertEqual(qr.data_list[0].mode, MODE_NUMBER) - - def test_mode_alpha(self): - qr = qrcode.QRCode() - qr.add_data('ABCDEFGHIJ1234567890', optimize=0) - qr.make() - self.assertEqual(qr.version, 1) - self.assertEqual(qr.data_list[0].mode, MODE_ALPHA_NUM) - - def test_regression_mode_comma(self): - qr = qrcode.QRCode() - qr.add_data(',', optimize=0) - qr.make() - self.assertEqual(qr.data_list[0].mode, MODE_8BIT_BYTE) - - def test_mode_8bit(self): - qr = qrcode.QRCode() - qr.add_data(u'abcABC' + UNICODE_TEXT, optimize=0) - qr.make() - self.assertEqual(qr.version, 1) - self.assertEqual(qr.data_list[0].mode, MODE_8BIT_BYTE) - - def test_mode_8bit_newline(self): - qr = qrcode.QRCode() - qr.add_data('ABCDEFGHIJ1234567890\n', optimize=0) - qr.make() - self.assertEqual(qr.data_list[0].mode, MODE_8BIT_BYTE) - - def test_render_pil(self): - qr = qrcode.QRCode() - qr.add_data(UNICODE_TEXT) - img = qr.make_image() - img.save(six.BytesIO()) - - def test_qrcode_bad_factory(self): - self.assertRaises( - TypeError, qrcode.QRCode, image_factory='not_BaseImage') - self.assertRaises( - AssertionError, qrcode.QRCode, image_factory=dict) - - def test_qrcode_factory(self): - - class MockFactory(BaseImage): - drawrect = mock.Mock() - - qr = qrcode.QRCode(image_factory=MockFactory) - qr.add_data(UNICODE_TEXT) - qr.make_image() - self.assertTrue(MockFactory.drawrect.called) - - def test_render_svg(self): - qr = qrcode.QRCode() - qr.add_data(UNICODE_TEXT) - img = qr.make_image(image_factory=qrcode.image.svg.SvgImage) - img.save(six.BytesIO()) - - def test_render_svg_path(self): - qr = qrcode.QRCode() - qr.add_data(UNICODE_TEXT) - img = qr.make_image(image_factory=qrcode.image.svg.SvgPathImage) - img.save(six.BytesIO()) - - def test_render_svg_fragment(self): - qr = qrcode.QRCode() - qr.add_data(UNICODE_TEXT) - img = qr.make_image(image_factory=qrcode.image.svg.SvgFragmentImage) - img.save(six.BytesIO()) - - def test_render_svg_with_background(self): - qr = qrcode.QRCode() - qr.add_data(UNICODE_TEXT) - img = qr.make_image(image_factory=SvgImageWhite) - img.save(six.BytesIO()) - - @unittest.skipIf(not pymaging_png, "Requires pymaging with PNG support") - def test_render_pymaging_png(self): - qr = qrcode.QRCode() - qr.add_data(UNICODE_TEXT) - img = qr.make_image(image_factory=qrcode.image.pure.PymagingImage) - with warnings.catch_warnings(): - if six.PY3: - warnings.simplefilter('ignore', DeprecationWarning) - img.save(six.BytesIO()) - - @unittest.skipIf(not pymaging_png, "Requires pymaging") - def test_render_pymaging_png_bad_kind(self): - qr = qrcode.QRCode() - qr.add_data(UNICODE_TEXT) - img = qr.make_image(image_factory=qrcode.image.pure.PymagingImage) - self.assertRaises(ValueError, img.save, six.BytesIO(), kind='FISH') - - def test_optimize(self): - qr = qrcode.QRCode() - text = 'A1abc12345def1HELLOa' - qr.add_data(text, optimize=4) - qr.make() - self.assertEqual(len(qr.data_list), 5) - self.assertEqual(qr.data_list[0].mode, MODE_8BIT_BYTE) - self.assertEqual(qr.data_list[1].mode, MODE_NUMBER) - self.assertEqual(qr.data_list[2].mode, MODE_8BIT_BYTE) - self.assertEqual(qr.data_list[3].mode, MODE_ALPHA_NUM) - self.assertEqual(qr.data_list[4].mode, MODE_8BIT_BYTE) - self.assertEqual(qr.version, 2) - - def test_optimize_size(self): - text = 'A1abc12345123451234512345def1HELLOHELLOHELLOHELLOa' * 5 - - qr = qrcode.QRCode() - qr.add_data(text) - qr.make() - self.assertEqual(qr.version, 10) - - qr = qrcode.QRCode() - qr.add_data(text, optimize=0) - qr.make() - self.assertEqual(qr.version, 11) - - def test_qrdata_repr(self): - data = b'hello' - data_obj = qrcode.util.QRData(data) - self.assertEqual(repr(data_obj), repr(data)) - - def test_print_ascii_stdout(self): - qr = qrcode.QRCode() - stdout_encoding = sys.stdout.encoding - with mock.patch('sys.stdout') as fake_stdout: - # Python 2.6 needs sys.stdout.encoding to be a real string. - sys.stdout.encoding = stdout_encoding - fake_stdout.isatty.return_value = None - self.assertRaises(OSError, qr.print_ascii, tty=True) - self.assertTrue(fake_stdout.isatty.called) - - def test_print_ascii(self): - qr = qrcode.QRCode(border=0) - f = six.StringIO() - qr.print_ascii(out=f) - printed = f.getvalue() - f.close() - expected = u'\u2588\u2580\u2580\u2580\u2580\u2580\u2588' - self.assertEqual(printed[:len(expected)], expected) - - f = six.StringIO() - f.isatty = lambda: True - qr.print_ascii(out=f, tty=True) - printed = f.getvalue() - f.close() - expected = ( - u'\x1b[48;5;232m\x1b[38;5;255m' + - u'\xa0\u2584\u2584\u2584\u2584\u2584\xa0') - self.assertEqual(printed[:len(expected)], expected) - - def test_print_tty_stdout(self): - qr = qrcode.QRCode() - with mock.patch('sys.stdout') as fake_stdout: - fake_stdout.isatty.return_value = None - self.assertRaises(OSError, qr.print_tty) - self.assertTrue(fake_stdout.isatty.called) - - def test_print_tty(self): - qr = qrcode.QRCode() - f = six.StringIO() - f.isatty = lambda: True - qr.print_tty(out=f) - printed = f.getvalue() - f.close() - BOLD_WHITE_BG = '\x1b[1;47m' - BLACK_BG = '\x1b[40m' - WHITE_BLOCK = BOLD_WHITE_BG + ' ' + BLACK_BG - EOL = '\x1b[0m\n' - expected = ( - BOLD_WHITE_BG + ' '*23 + EOL + - WHITE_BLOCK + ' '*7 + WHITE_BLOCK) - self.assertEqual(printed[:len(expected)], expected) - - def test_get_matrix(self): - qr = qrcode.QRCode(border=0) - qr.add_data('1') - self.assertEqual(qr.get_matrix(), qr.modules) - - def test_get_matrix_border(self): - qr = qrcode.QRCode(border=1) - qr.add_data('1') - matrix = [row[1:-1] for row in qr.get_matrix()[1:-1]] - self.assertEqual(matrix, qr.modules) - - def test_negative_size_at_construction(self): - self.assertRaises(ValueError, qrcode.QRCode, box_size=-1) - - def test_negative_size_at_usage(self): - qr = qrcode.QRCode() - qr.box_size = -1 - self.assertRaises(ValueError, qr.make_image) - - -class ShortcutTest(unittest.TestCase): - - def runTest(self): - qrcode.make('image') diff --git a/lib27/site-packages/qrcode/tests/test_script.py b/lib27/site-packages/qrcode/tests/test_script.py deleted file mode 100644 index 18cafc400..000000000 --- a/lib27/site-packages/qrcode/tests/test_script.py +++ /dev/null @@ -1,64 +0,0 @@ -import sys -try: - import unittest2 as unittest -except ImportError: - import unittest -try: - from unittest import mock -except ImportError: - import mock - -from qrcode.console_scripts import main - - -def bad_read(): - raise UnicodeDecodeError('utf-8', b'0x80', 0, 1, 'invalid start byte') - - -class ScriptTest(unittest.TestCase): - - @mock.patch('os.isatty', lambda *args: True) - @mock.patch('qrcode.main.QRCode.print_ascii') - def test_isatty(self, mock_print_ascii): - main(['testtext']) - mock_print_ascii.assert_called_with(tty=True) - - @mock.patch('os.isatty', lambda *args: False) - @mock.patch('sys.stdout') - def test_piped(self, mock_stdout): - main(['testtext']) - - @mock.patch('os.isatty', lambda *args: True) - @mock.patch('qrcode.main.QRCode.print_ascii') - def test_stdin(self, mock_print_ascii): - mock_stdin = mock.Mock(sys.stdin) - stdin_buffer = getattr(mock_stdin, 'buffer', mock_stdin) - stdin_buffer.read.return_value = 'testtext' - with mock.patch('sys.stdin', mock_stdin): - main([]) - self.assertTrue(stdin_buffer.read.called) - mock_print_ascii.assert_called_with(tty=True) - - @unittest.skipIf(sys.version_info[0] < 3, 'Python 3') - @mock.patch('os.isatty', lambda *args: True) - @mock.patch('qrcode.main.QRCode.print_ascii') - def test_stdin_py3_unicodedecodeerror(self, mock_print_ascii): - mock_stdin = mock.Mock(sys.stdin) - mock_stdin.buffer.read.return_value = 'testtext' - mock_stdin.read.side_effect = bad_read - with mock.patch('sys.stdin', mock_stdin): - main([]) - mock_print_ascii.assert_called_with(tty=True) - - @mock.patch('os.isatty', lambda *args: True) - @mock.patch('qrcode.main.QRCode.print_ascii') - def test_optimize(self, mock_print_ascii): - main('testtext --optimize 0'.split()) - - @mock.patch('sys.stdout') - def test_factory(self, mock_stdout): - main('testtext --factory svg'.split()) - - @mock.patch('sys.stderr') - def test_bad_factory(self, mock_stderr): - self.assertRaises(SystemExit, main, 'testtext --factory fish'.split()) diff --git a/lib27/site-packages/qrcode/util.py b/lib27/site-packages/qrcode/util.py deleted file mode 100644 index 89dcf0996..000000000 --- a/lib27/site-packages/qrcode/util.py +++ /dev/null @@ -1,556 +0,0 @@ -import re -import math - -import six -from six.moves import xrange - -from qrcode import base, exceptions - -# QR encoding modes. -MODE_NUMBER = 1 << 0 -MODE_ALPHA_NUM = 1 << 1 -MODE_8BIT_BYTE = 1 << 2 -MODE_KANJI = 1 << 3 - -# Encoding mode sizes. -MODE_SIZE_SMALL = { - MODE_NUMBER: 10, - MODE_ALPHA_NUM: 9, - MODE_8BIT_BYTE: 8, - MODE_KANJI: 8, -} -MODE_SIZE_MEDIUM = { - MODE_NUMBER: 12, - MODE_ALPHA_NUM: 11, - MODE_8BIT_BYTE: 16, - MODE_KANJI: 10, -} -MODE_SIZE_LARGE = { - MODE_NUMBER: 14, - MODE_ALPHA_NUM: 13, - MODE_8BIT_BYTE: 16, - MODE_KANJI: 12, -} - -ALPHA_NUM = six.b('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:') -RE_ALPHA_NUM = re.compile(six.b('^[') + re.escape(ALPHA_NUM) + six.b(']*\Z')) - -# The number of bits for numeric delimited data lengths. -NUMBER_LENGTH = {3: 10, 2: 7, 1: 4} - -PATTERN_POSITION_TABLE = [ - [], - [6, 18], - [6, 22], - [6, 26], - [6, 30], - [6, 34], - [6, 22, 38], - [6, 24, 42], - [6, 26, 46], - [6, 28, 50], - [6, 30, 54], - [6, 32, 58], - [6, 34, 62], - [6, 26, 46, 66], - [6, 26, 48, 70], - [6, 26, 50, 74], - [6, 30, 54, 78], - [6, 30, 56, 82], - [6, 30, 58, 86], - [6, 34, 62, 90], - [6, 28, 50, 72, 94], - [6, 26, 50, 74, 98], - [6, 30, 54, 78, 102], - [6, 28, 54, 80, 106], - [6, 32, 58, 84, 110], - [6, 30, 58, 86, 114], - [6, 34, 62, 90, 118], - [6, 26, 50, 74, 98, 122], - [6, 30, 54, 78, 102, 126], - [6, 26, 52, 78, 104, 130], - [6, 30, 56, 82, 108, 134], - [6, 34, 60, 86, 112, 138], - [6, 30, 58, 86, 114, 142], - [6, 34, 62, 90, 118, 146], - [6, 30, 54, 78, 102, 126, 150], - [6, 24, 50, 76, 102, 128, 154], - [6, 28, 54, 80, 106, 132, 158], - [6, 32, 58, 84, 110, 136, 162], - [6, 26, 54, 82, 110, 138, 166], - [6, 30, 58, 86, 114, 142, 170] -] - -G15 = ( - (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | - (1 << 0)) -G18 = ( - (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | - (1 << 2) | (1 << 0)) -G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1) - -PAD0 = 0xEC -PAD1 = 0x11 - -# Precompute bit count limits, indexed by error correction level and code size -_data_count = lambda block: block.data_count -BIT_LIMIT_TABLE = [ - [0] + [8*sum(map(_data_count, base.rs_blocks(version, error_correction))) - for version in xrange(1, 41)] - for error_correction in xrange(4) -] - - -def BCH_type_info(data): - d = data << 10 - while BCH_digit(d) - BCH_digit(G15) >= 0: - d ^= (G15 << (BCH_digit(d) - BCH_digit(G15))) - - return ((data << 10) | d) ^ G15_MASK - - -def BCH_type_number(data): - d = data << 12 - while BCH_digit(d) - BCH_digit(G18) >= 0: - d ^= (G18 << (BCH_digit(d) - BCH_digit(G18))) - return (data << 12) | d - - -def BCH_digit(data): - digit = 0 - while data != 0: - digit += 1 - data >>= 1 - return digit - - -def pattern_position(version): - return PATTERN_POSITION_TABLE[version - 1] - - -def mask_func(pattern): - """ - Return the mask function for the given mask pattern. - """ - if pattern == 0: # 000 - return lambda i, j: (i + j) % 2 == 0 - if pattern == 1: # 001 - return lambda i, j: i % 2 == 0 - if pattern == 2: # 010 - return lambda i, j: j % 3 == 0 - if pattern == 3: # 011 - return lambda i, j: (i + j) % 3 == 0 - if pattern == 4: # 100 - return lambda i, j: (math.floor(i / 2) + math.floor(j / 3)) % 2 == 0 - if pattern == 5: # 101 - return lambda i, j: (i * j) % 2 + (i * j) % 3 == 0 - if pattern == 6: # 110 - return lambda i, j: ((i * j) % 2 + (i * j) % 3) % 2 == 0 - if pattern == 7: # 111 - return lambda i, j: ((i * j) % 3 + (i + j) % 2) % 2 == 0 - raise TypeError("Bad mask pattern: " + pattern) # pragma: no cover - - -def mode_sizes_for_version(version): - if version < 10: - return MODE_SIZE_SMALL - elif version < 27: - return MODE_SIZE_MEDIUM - else: - return MODE_SIZE_LARGE - - -def length_in_bits(mode, version): - if mode not in ( - MODE_NUMBER, MODE_ALPHA_NUM, MODE_8BIT_BYTE, MODE_KANJI): - raise TypeError("Invalid mode (%s)" % mode) # pragma: no cover - - if version < 1 or version > 40: # pragma: no cover - raise ValueError( - "Invalid version (was %s, expected 1 to 40)" % version) - - return mode_sizes_for_version(version)[mode] - - -def lost_point(modules): - modules_count = len(modules) - - lost_point = 0 - - lost_point = _lost_point_level1(modules, modules_count) - lost_point += _lost_point_level2(modules, modules_count) - lost_point += _lost_point_level3(modules, modules_count) - lost_point += _lost_point_level4(modules, modules_count) - - return lost_point - - -def _lost_point_level1(modules, modules_count): - lost_point = 0 - - modules_range = xrange(modules_count) - row_range_first = (0, 1) - row_range_last = (-1, 0) - row_range_standard = (-1, 0, 1) - - col_range_first = ((0, 1), (1,)) - col_range_last = ((-1, 0), (-1,)) - col_range_standard = ((-1, 0, 1), (-1, 1)) - - for row in modules_range: - - if row == 0: - row_range = row_range_first - elif row == modules_count-1: - row_range = row_range_last - else: - row_range = row_range_standard - - for col in modules_range: - - sameCount = 0 - dark = modules[row][col] - - if col == 0: - col_range = col_range_first - elif col == modules_count-1: - col_range = col_range_last - else: - col_range = col_range_standard - - for r in row_range: - - row_offset = row + r - - if r != 0: - col_idx = 0 - else: - col_idx = 1 - - for c in col_range[col_idx]: - - if dark == modules[row_offset][col + c]: - sameCount += 1 - - if sameCount > 5: - lost_point += (3 + sameCount - 5) - - return lost_point - - -def _lost_point_level2(modules, modules_count): - lost_point = 0 - - modules_range = xrange(modules_count - 1) - - for row in modules_range: - this_row = modules[row] - next_row = modules[row+1] - for col in modules_range: - count = 0 - if this_row[col]: - count += 1 - if next_row[col]: - count += 1 - if this_row[col + 1]: - count += 1 - if next_row[col + 1]: - count += 1 - if count == 0 or count == 4: - lost_point += 3 - - return lost_point - - -def _lost_point_level3(modules, modules_count): - modules_range_short = xrange(modules_count-6) - - lost_point = 0 - for row in xrange(modules_count): - this_row = modules[row] - for col in modules_range_short: - if (this_row[col] - and not this_row[col + 1] - and this_row[col + 2] - and this_row[col + 3] - and this_row[col + 4] - and not this_row[col + 5] - and this_row[col + 6]): - lost_point += 40 - - for col in xrange(modules_count): - for row in modules_range_short: - if (modules[row][col] - and not modules[row + 1][col] - and modules[row + 2][col] - and modules[row + 3][col] - and modules[row + 4][col] - and not modules[row + 5][col] - and modules[row + 6][col]): - lost_point += 40 - - return lost_point - - -def _lost_point_level4(modules, modules_count): - modules_range = xrange(modules_count) - dark_count = 0 - - for row in modules_range: - this_row = modules[row] - for col in modules_range: - if this_row[col]: - dark_count += 1 - - ratio = abs(100 * dark_count / modules_count / modules_count - 50) / 5 - return ratio * 10 - - -def optimal_data_chunks(data, minimum=4): - """ - An iterator returning QRData chunks optimized to the data content. - - :param minimum: The minimum number of bytes in a row to split as a chunk. - """ - data = to_bytestring(data) - re_repeat = ( - six.b('{') + six.text_type(minimum).encode('ascii') + six.b(',}')) - num_pattern = re.compile(six.b('\d') + re_repeat) - num_bits = _optimal_split(data, num_pattern) - alpha_pattern = re.compile( - six.b('[') + re.escape(ALPHA_NUM) + six.b(']') + re_repeat) - for is_num, chunk in num_bits: - if is_num: - yield QRData(chunk, mode=MODE_NUMBER, check_data=False) - else: - for is_alpha, sub_chunk in _optimal_split(chunk, alpha_pattern): - if is_alpha: - mode = MODE_ALPHA_NUM - else: - mode = MODE_8BIT_BYTE - yield QRData(sub_chunk, mode=mode, check_data=False) - - -def _optimal_split(data, pattern): - while data: - match = re.search(pattern, data) - if not match: - break - start, end = match.start(), match.end() - if start: - yield False, data[:start] - yield True, data[start:end] - data = data[end:] - if data: - yield False, data - - -def to_bytestring(data): - """ - Convert data to a (utf-8 encoded) byte-string if it isn't a byte-string - already. - """ - if not isinstance(data, six.binary_type): - data = six.text_type(data).encode('utf-8') - return data - - -def optimal_mode(data): - """ - Calculate the optimal mode for this chunk of data. - """ - if data.isdigit(): - return MODE_NUMBER - if RE_ALPHA_NUM.match(data): - return MODE_ALPHA_NUM - return MODE_8BIT_BYTE - - -class QRData: - """ - Data held in a QR compatible format. - - Doesn't currently handle KANJI. - """ - - def __init__(self, data, mode=None, check_data=True): - """ - If ``mode`` isn't provided, the most compact QR data type possible is - chosen. - """ - if check_data: - data = to_bytestring(data) - - if mode is None: - self.mode = optimal_mode(data) - else: - self.mode = mode - if mode not in (MODE_NUMBER, MODE_ALPHA_NUM, MODE_8BIT_BYTE): - raise TypeError("Invalid mode (%s)" % mode) # pragma: no cover - if check_data and mode < optimal_mode(data): # pragma: no cover - raise ValueError( - "Provided data can not be represented in mode " - "{0}".format(mode)) - - self.data = data - - def __len__(self): - return len(self.data) - - def write(self, buffer): - if self.mode == MODE_NUMBER: - for i in xrange(0, len(self.data), 3): - chars = self.data[i:i + 3] - bit_length = NUMBER_LENGTH[len(chars)] - buffer.put(int(chars), bit_length) - elif self.mode == MODE_ALPHA_NUM: - for i in xrange(0, len(self.data), 2): - chars = self.data[i:i + 2] - if len(chars) > 1: - buffer.put( - ALPHA_NUM.find(chars[0]) * 45 + - ALPHA_NUM.find(chars[1]), 11) - else: - buffer.put(ALPHA_NUM.find(chars), 6) - else: - if six.PY3: - # Iterating a bytestring in Python 3 returns an integer, - # no need to ord(). - data = self.data - else: - data = [ord(c) for c in self.data] - for c in data: - buffer.put(c, 8) - - def __repr__(self): - return repr(self.data) - - -class BitBuffer: - - def __init__(self): - self.buffer = [] - self.length = 0 - - def __repr__(self): - return ".".join([str(n) for n in self.buffer]) - - def get(self, index): - buf_index = math.floor(index / 8) - return ((self.buffer[buf_index] >> (7 - index % 8)) & 1) == 1 - - def put(self, num, length): - for i in range(length): - self.put_bit(((num >> (length - i - 1)) & 1) == 1) - - def __len__(self): - return self.length - - def put_bit(self, bit): - buf_index = self.length // 8 - if len(self.buffer) <= buf_index: - self.buffer.append(0) - if bit: - self.buffer[buf_index] |= (0x80 >> (self.length % 8)) - self.length += 1 - - -def create_bytes(buffer, rs_blocks): - offset = 0 - - maxDcCount = 0 - maxEcCount = 0 - - dcdata = [0] * len(rs_blocks) - ecdata = [0] * len(rs_blocks) - - for r in range(len(rs_blocks)): - - dcCount = rs_blocks[r].data_count - ecCount = rs_blocks[r].total_count - dcCount - - maxDcCount = max(maxDcCount, dcCount) - maxEcCount = max(maxEcCount, ecCount) - - dcdata[r] = [0] * dcCount - - for i in range(len(dcdata[r])): - dcdata[r][i] = 0xff & buffer.buffer[i + offset] - offset += dcCount - - # Get error correction polynomial. - rsPoly = base.Polynomial([1], 0) - for i in range(ecCount): - rsPoly = rsPoly * base.Polynomial([1, base.gexp(i)], 0) - - rawPoly = base.Polynomial(dcdata[r], len(rsPoly) - 1) - - modPoly = rawPoly % rsPoly - ecdata[r] = [0] * (len(rsPoly) - 1) - for i in range(len(ecdata[r])): - modIndex = i + len(modPoly) - len(ecdata[r]) - if (modIndex >= 0): - ecdata[r][i] = modPoly[modIndex] - else: - ecdata[r][i] = 0 - - totalCodeCount = 0 - for rs_block in rs_blocks: - totalCodeCount += rs_block.total_count - - data = [None] * totalCodeCount - index = 0 - - for i in range(maxDcCount): - for r in range(len(rs_blocks)): - if i < len(dcdata[r]): - data[index] = dcdata[r][i] - index += 1 - - for i in range(maxEcCount): - for r in range(len(rs_blocks)): - if i < len(ecdata[r]): - data[index] = ecdata[r][i] - index += 1 - - return data - - -def create_data(version, error_correction, data_list): - - buffer = BitBuffer() - for data in data_list: - buffer.put(data.mode, 4) - buffer.put(len(data), length_in_bits(data.mode, version)) - data.write(buffer) - - # Calculate the maximum number of bits for the given version. - rs_blocks = base.rs_blocks(version, error_correction) - bit_limit = 0 - for block in rs_blocks: - bit_limit += block.data_count * 8 - - if len(buffer) > bit_limit: - raise exceptions.DataOverflowError( - "Code length overflow. Data size (%s) > size available (%s)" % - (len(buffer), bit_limit)) - - # Terminate the bits (add up to four 0s). - for i in range(min(bit_limit - len(buffer), 4)): - buffer.put_bit(False) - - # Delimit the string into 8-bit words, padding with 0s if necessary. - delimit = len(buffer) % 8 - if delimit: - for i in range(8 - delimit): - buffer.put_bit(False) - - # Add special alternating padding bitstrings until buffer is full. - bytes_to_fill = (bit_limit - len(buffer)) // 8 - for i in range(bytes_to_fill): - if i % 2 == 0: - buffer.put(PAD0, 8) - else: - buffer.put(PAD1, 8) - - return create_bytes(buffer, rs_blocks) diff --git a/lib27/site-packages/requests/__init__.py b/lib27/site-packages/requests/__init__.py deleted file mode 100644 index 82c0f7807..000000000 --- a/lib27/site-packages/requests/__init__.py +++ /dev/null @@ -1,89 +0,0 @@ -# -*- coding: utf-8 -*- - -# __ -# /__) _ _ _ _ _/ _ -# / ( (- (/ (/ (- _) / _) -# / - -""" -Requests HTTP library -~~~~~~~~~~~~~~~~~~~~~ - -Requests is an HTTP library, written in Python, for human beings. Basic GET -usage: - - >>> import requests - >>> r = requests.get('https://www.python.org') - >>> r.status_code - 200 - >>> 'Python is a programming language' in r.content - True - -... or POST: - - >>> payload = dict(key1='value1', key2='value2') - >>> r = requests.post('http://httpbin.org/post', data=payload) - >>> print(r.text) - { - ... - "form": { - "key2": "value2", - "key1": "value1" - }, - ... - } - -The other HTTP methods are supported - see `requests.api`. Full documentation -is at . - -:copyright: (c) 2016 by Kenneth Reitz. -:license: Apache 2.0, see LICENSE for more details. - -""" - -__title__ = 'requests' -__version__ = '2.10.0' -__build__ = 0x021000 -__author__ = 'Kenneth Reitz' -__license__ = 'Apache 2.0' -__copyright__ = 'Copyright 2016 Kenneth Reitz' - -# Attempt to enable urllib3's SNI support, if possible -try: - from .packages.urllib3.contrib import pyopenssl - pyopenssl.inject_into_urllib3() -except ImportError: - pass - -import warnings - -# urllib3's DependencyWarnings should be silenced. -from .packages.urllib3.exceptions import DependencyWarning -warnings.simplefilter('ignore', DependencyWarning) - -from . import utils -from .models import Request, Response, PreparedRequest -from .api import request, get, head, post, patch, put, delete, options -from .sessions import session, Session -from .status_codes import codes -from .exceptions import ( - RequestException, Timeout, URLRequired, - TooManyRedirects, HTTPError, ConnectionError, - FileModeWarning, ConnectTimeout, ReadTimeout -) - -# Set default logging handler to avoid "No handler found" warnings. -import logging -try: # Python 2.7+ - from logging import NullHandler -except ImportError: - class NullHandler(logging.Handler): - def emit(self, record): - pass - -logging.getLogger(__name__).addHandler(NullHandler()) - -import warnings - -# FileModeWarnings go off per the default. -warnings.simplefilter('default', FileModeWarning, append=True) diff --git a/lib27/site-packages/requests/adapters.py b/lib27/site-packages/requests/adapters.py deleted file mode 100644 index 23e448f42..000000000 --- a/lib27/site-packages/requests/adapters.py +++ /dev/null @@ -1,483 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.adapters -~~~~~~~~~~~~~~~~~ - -This module contains the transport adapters that Requests uses to define -and maintain connections. -""" - -import os.path -import socket - -from .models import Response -from .packages.urllib3.poolmanager import PoolManager, proxy_from_url -from .packages.urllib3.response import HTTPResponse -from .packages.urllib3.util import Timeout as TimeoutSauce -from .packages.urllib3.util.retry import Retry -from .compat import urlparse, basestring -from .utils import (DEFAULT_CA_BUNDLE_PATH, get_encoding_from_headers, - prepend_scheme_if_needed, get_auth_from_url, urldefragauth, - select_proxy, to_native_string) -from .structures import CaseInsensitiveDict -from .packages.urllib3.exceptions import ClosedPoolError -from .packages.urllib3.exceptions import ConnectTimeoutError -from .packages.urllib3.exceptions import HTTPError as _HTTPError -from .packages.urllib3.exceptions import MaxRetryError -from .packages.urllib3.exceptions import NewConnectionError -from .packages.urllib3.exceptions import ProxyError as _ProxyError -from .packages.urllib3.exceptions import ProtocolError -from .packages.urllib3.exceptions import ReadTimeoutError -from .packages.urllib3.exceptions import SSLError as _SSLError -from .packages.urllib3.exceptions import ResponseError -from .cookies import extract_cookies_to_jar -from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError, - ProxyError, RetryError, InvalidSchema) -from .auth import _basic_auth_str - -try: - from .packages.urllib3.contrib.socks import SOCKSProxyManager -except ImportError: - def SOCKSProxyManager(*args, **kwargs): - raise InvalidSchema("Missing dependencies for SOCKS support.") - -DEFAULT_POOLBLOCK = False -DEFAULT_POOLSIZE = 10 -DEFAULT_RETRIES = 0 -DEFAULT_POOL_TIMEOUT = None - - -class BaseAdapter(object): - """The Base Transport Adapter""" - - def __init__(self): - super(BaseAdapter, self).__init__() - - def send(self): - raise NotImplementedError - - def close(self): - raise NotImplementedError - - -class HTTPAdapter(BaseAdapter): - """The built-in HTTP Adapter for urllib3. - - Provides a general-case interface for Requests sessions to contact HTTP and - HTTPS urls by implementing the Transport Adapter interface. This class will - usually be created by the :class:`Session ` class under the - covers. - - :param pool_connections: The number of urllib3 connection pools to cache. - :param pool_maxsize: The maximum number of connections to save in the pool. - :param max_retries: The maximum number of retries each connection - should attempt. Note, this applies only to failed DNS lookups, socket - connections and connection timeouts, never to requests where data has - made it to the server. By default, Requests does not retry failed - connections. If you need granular control over the conditions under - which we retry a request, import urllib3's ``Retry`` class and pass - that instead. - :param pool_block: Whether the connection pool should block for connections. - - Usage:: - - >>> import requests - >>> s = requests.Session() - >>> a = requests.adapters.HTTPAdapter(max_retries=3) - >>> s.mount('http://', a) - """ - __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxsize', - '_pool_block'] - - def __init__(self, pool_connections=DEFAULT_POOLSIZE, - pool_maxsize=DEFAULT_POOLSIZE, max_retries=DEFAULT_RETRIES, - pool_block=DEFAULT_POOLBLOCK): - if max_retries == DEFAULT_RETRIES: - self.max_retries = Retry(0, read=False) - else: - self.max_retries = Retry.from_int(max_retries) - self.config = {} - self.proxy_manager = {} - - super(HTTPAdapter, self).__init__() - - self._pool_connections = pool_connections - self._pool_maxsize = pool_maxsize - self._pool_block = pool_block - - self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block) - - def __getstate__(self): - return dict((attr, getattr(self, attr, None)) for attr in - self.__attrs__) - - def __setstate__(self, state): - # Can't handle by adding 'proxy_manager' to self.__attrs__ because - # self.poolmanager uses a lambda function, which isn't pickleable. - self.proxy_manager = {} - self.config = {} - - for attr, value in state.items(): - setattr(self, attr, value) - - self.init_poolmanager(self._pool_connections, self._pool_maxsize, - block=self._pool_block) - - def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs): - """Initializes a urllib3 PoolManager. - - This method should not be called from user code, and is only - exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param connections: The number of urllib3 connection pools to cache. - :param maxsize: The maximum number of connections to save in the pool. - :param block: Block when no free connections are available. - :param pool_kwargs: Extra keyword arguments used to initialize the Pool Manager. - """ - # save these values for pickling - self._pool_connections = connections - self._pool_maxsize = maxsize - self._pool_block = block - - self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize, - block=block, strict=True, **pool_kwargs) - - def proxy_manager_for(self, proxy, **proxy_kwargs): - """Return urllib3 ProxyManager for the given proxy. - - This method should not be called from user code, and is only - exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param proxy: The proxy to return a urllib3 ProxyManager for. - :param proxy_kwargs: Extra keyword arguments used to configure the Proxy Manager. - :returns: ProxyManager - """ - if proxy in self.proxy_manager: - manager = self.proxy_manager[proxy] - elif proxy.lower().startswith('socks'): - username, password = get_auth_from_url(proxy) - manager = self.proxy_manager[proxy] = SOCKSProxyManager( - proxy, - username=username, - password=password, - num_pools=self._pool_connections, - maxsize=self._pool_maxsize, - block=self._pool_block, - **proxy_kwargs - ) - else: - proxy_headers = self.proxy_headers(proxy) - manager = self.proxy_manager[proxy] = proxy_from_url( - proxy, - proxy_headers=proxy_headers, - num_pools=self._pool_connections, - maxsize=self._pool_maxsize, - block=self._pool_block, - **proxy_kwargs) - - return manager - - def cert_verify(self, conn, url, verify, cert): - """Verify a SSL certificate. This method should not be called from user - code, and is only exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param conn: The urllib3 connection object associated with the cert. - :param url: The requested URL. - :param verify: Whether we should actually verify the certificate. - :param cert: The SSL certificate to verify. - """ - if url.lower().startswith('https') and verify: - - cert_loc = None - - # Allow self-specified cert location. - if verify is not True: - cert_loc = verify - - if not cert_loc: - cert_loc = DEFAULT_CA_BUNDLE_PATH - - if not cert_loc: - raise Exception("Could not find a suitable SSL CA certificate bundle.") - - conn.cert_reqs = 'CERT_REQUIRED' - - if not os.path.isdir(cert_loc): - conn.ca_certs = cert_loc - else: - conn.ca_cert_dir = cert_loc - else: - conn.cert_reqs = 'CERT_NONE' - conn.ca_certs = None - conn.ca_cert_dir = None - - if cert: - if not isinstance(cert, basestring): - conn.cert_file = cert[0] - conn.key_file = cert[1] - else: - conn.cert_file = cert - - def build_response(self, req, resp): - """Builds a :class:`Response ` object from a urllib3 - response. This should not be called from user code, and is only exposed - for use when subclassing the - :class:`HTTPAdapter ` - - :param req: The :class:`PreparedRequest ` used to generate the response. - :param resp: The urllib3 response object. - """ - response = Response() - - # Fallback to None if there's no status_code, for whatever reason. - response.status_code = getattr(resp, 'status', None) - - # Make headers case-insensitive. - response.headers = CaseInsensitiveDict(getattr(resp, 'headers', {})) - - # Set encoding. - response.encoding = get_encoding_from_headers(response.headers) - response.raw = resp - response.reason = response.raw.reason - - if isinstance(req.url, bytes): - response.url = req.url.decode('utf-8') - else: - response.url = req.url - - # Add new cookies from the server. - extract_cookies_to_jar(response.cookies, req, resp) - - # Give the Response some context. - response.request = req - response.connection = self - - return response - - def get_connection(self, url, proxies=None): - """Returns a urllib3 connection for the given URL. This should not be - called from user code, and is only exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param url: The URL to connect to. - :param proxies: (optional) A Requests-style dictionary of proxies used on this request. - """ - proxy = select_proxy(url, proxies) - - if proxy: - proxy = prepend_scheme_if_needed(proxy, 'http') - proxy_manager = self.proxy_manager_for(proxy) - conn = proxy_manager.connection_from_url(url) - else: - # Only scheme should be lower case - parsed = urlparse(url) - url = parsed.geturl() - conn = self.poolmanager.connection_from_url(url) - - return conn - - def close(self): - """Disposes of any internal state. - - Currently, this closes the PoolManager and any active ProxyManager, - which closes any pooled connections. - """ - self.poolmanager.clear() - for proxy in self.proxy_manager.values(): - proxy.clear() - - def request_url(self, request, proxies): - """Obtain the url to use when making the final request. - - If the message is being sent through a HTTP proxy, the full URL has to - be used. Otherwise, we should only use the path portion of the URL. - - This should not be called from user code, and is only exposed for use - when subclassing the - :class:`HTTPAdapter `. - - :param request: The :class:`PreparedRequest ` being sent. - :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs. - """ - proxy = select_proxy(request.url, proxies) - scheme = urlparse(request.url).scheme - - is_proxied_http_request = (proxy and scheme != 'https') - using_socks_proxy = False - if proxy: - proxy_scheme = urlparse(proxy).scheme.lower() - using_socks_proxy = proxy_scheme.startswith('socks') - - url = request.path_url - if is_proxied_http_request and not using_socks_proxy: - url = urldefragauth(request.url) - - return url - - def add_headers(self, request, **kwargs): - """Add any headers needed by the connection. As of v2.0 this does - nothing by default, but is left for overriding by users that subclass - the :class:`HTTPAdapter `. - - This should not be called from user code, and is only exposed for use - when subclassing the - :class:`HTTPAdapter `. - - :param request: The :class:`PreparedRequest ` to add headers to. - :param kwargs: The keyword arguments from the call to send(). - """ - pass - - def proxy_headers(self, proxy): - """Returns a dictionary of the headers to add to any request sent - through a proxy. This works with urllib3 magic to ensure that they are - correctly sent to the proxy, rather than in a tunnelled request if - CONNECT is being used. - - This should not be called from user code, and is only exposed for use - when subclassing the - :class:`HTTPAdapter `. - - :param proxies: The url of the proxy being used for this request. - """ - headers = {} - username, password = get_auth_from_url(proxy) - - if username and password: - headers['Proxy-Authorization'] = _basic_auth_str(username, - password) - - return headers - - def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None): - """Sends PreparedRequest object. Returns Response object. - - :param request: The :class:`PreparedRequest ` being sent. - :param stream: (optional) Whether to stream the request content. - :param timeout: (optional) How long to wait for the server to send - data before giving up, as a float, or a :ref:`(connect timeout, - read timeout) ` tuple. - :type timeout: float or tuple - :param verify: (optional) Whether to verify SSL certificates. - :param cert: (optional) Any user-provided SSL certificate to be trusted. - :param proxies: (optional) The proxies dictionary to apply to the request. - """ - - conn = self.get_connection(request.url, proxies) - - self.cert_verify(conn, request.url, verify, cert) - url = self.request_url(request, proxies) - self.add_headers(request) - - chunked = not (request.body is None or 'Content-Length' in request.headers) - - if isinstance(timeout, tuple): - try: - connect, read = timeout - timeout = TimeoutSauce(connect=connect, read=read) - except ValueError as e: - # this may raise a string formatting error. - err = ("Invalid timeout {0}. Pass a (connect, read) " - "timeout tuple, or a single float to set " - "both timeouts to the same value".format(timeout)) - raise ValueError(err) - else: - timeout = TimeoutSauce(connect=timeout, read=timeout) - - try: - if not chunked: - resp = conn.urlopen( - method=request.method, - url=url, - body=request.body, - headers=request.headers, - redirect=False, - assert_same_host=False, - preload_content=False, - decode_content=False, - retries=self.max_retries, - timeout=timeout - ) - - # Send the request. - else: - if hasattr(conn, 'proxy_pool'): - conn = conn.proxy_pool - - low_conn = conn._get_conn(timeout=DEFAULT_POOL_TIMEOUT) - - try: - low_conn.putrequest(request.method, - url, - skip_accept_encoding=True) - - for header, value in request.headers.items(): - low_conn.putheader(header, value) - - low_conn.endheaders() - - for i in request.body: - low_conn.send(hex(len(i))[2:].encode('utf-8')) - low_conn.send(b'\r\n') - low_conn.send(i) - low_conn.send(b'\r\n') - low_conn.send(b'0\r\n\r\n') - - # Receive the response from the server - try: - # For Python 2.7+ versions, use buffering of HTTP - # responses - r = low_conn.getresponse(buffering=True) - except TypeError: - # For compatibility with Python 2.6 versions and back - r = low_conn.getresponse() - - resp = HTTPResponse.from_httplib( - r, - pool=conn, - connection=low_conn, - preload_content=False, - decode_content=False - ) - except: - # If we hit any problems here, clean up the connection. - # Then, reraise so that we can handle the actual exception. - low_conn.close() - raise - - except (ProtocolError, socket.error) as err: - raise ConnectionError(err, request=request) - - except MaxRetryError as e: - if isinstance(e.reason, ConnectTimeoutError): - # TODO: Remove this in 3.0.0: see #2811 - if not isinstance(e.reason, NewConnectionError): - raise ConnectTimeout(e, request=request) - - if isinstance(e.reason, ResponseError): - raise RetryError(e, request=request) - - if isinstance(e.reason, _ProxyError): - raise ProxyError(e, request=request) - - raise ConnectionError(e, request=request) - - except ClosedPoolError as e: - raise ConnectionError(e, request=request) - - except _ProxyError as e: - raise ProxyError(e) - - except (_SSLError, _HTTPError) as e: - if isinstance(e, _SSLError): - raise SSLError(e, request=request) - elif isinstance(e, ReadTimeoutError): - raise ReadTimeout(e, request=request) - else: - raise - - return self.build_response(request, resp) diff --git a/lib27/site-packages/requests/api.py b/lib27/site-packages/requests/api.py deleted file mode 100644 index c2068d0ed..000000000 --- a/lib27/site-packages/requests/api.py +++ /dev/null @@ -1,149 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.api -~~~~~~~~~~~~ - -This module implements the Requests API. - -:copyright: (c) 2012 by Kenneth Reitz. -:license: Apache2, see LICENSE for more details. - -""" - -from . import sessions - - -def request(method, url, **kwargs): - """Constructs and sends a :class:`Request `. - - :param method: method for the new :class:`Request` object. - :param url: URL for the new :class:`Request` object. - :param params: (optional) Dictionary or bytes to be sent in the query string for the :class:`Request`. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param json: (optional) json data to send in the body of the :class:`Request`. - :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`. - :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`. - :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``) for multipart encoding upload. - ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')`` - or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content-type'`` is a string - defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers - to add for the file. - :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth. - :param timeout: (optional) How long to wait for the server to send data - before giving up, as a float, or a :ref:`(connect timeout, read - timeout) ` tuple. - :type timeout: float or tuple - :param allow_redirects: (optional) Boolean. Set to True if POST/PUT/DELETE redirect following is allowed. - :type allow_redirects: bool - :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy. - :param verify: (optional) whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to ``True``. - :param stream: (optional) if ``False``, the response content will be immediately downloaded. - :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair. - :return: :class:`Response ` object - :rtype: requests.Response - - Usage:: - - >>> import requests - >>> req = requests.request('GET', 'http://httpbin.org/get') - - """ - - # By using the 'with' statement we are sure the session is closed, thus we - # avoid leaving sockets open which can trigger a ResourceWarning in some - # cases, and look like a memory leak in others. - with sessions.Session() as session: - return session.request(method=method, url=url, **kwargs) - - -def get(url, params=None, **kwargs): - """Sends a GET request. - - :param url: URL for the new :class:`Request` object. - :param params: (optional) Dictionary or bytes to be sent in the query string for the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', True) - return request('get', url, params=params, **kwargs) - - -def options(url, **kwargs): - """Sends a OPTIONS request. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', True) - return request('options', url, **kwargs) - - -def head(url, **kwargs): - """Sends a HEAD request. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', False) - return request('head', url, **kwargs) - - -def post(url, data=None, json=None, **kwargs): - """Sends a POST request. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param json: (optional) json data to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('post', url, data=data, json=json, **kwargs) - - -def put(url, data=None, **kwargs): - """Sends a PUT request. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('put', url, data=data, **kwargs) - - -def patch(url, data=None, **kwargs): - """Sends a PATCH request. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('patch', url, data=data, **kwargs) - - -def delete(url, **kwargs): - """Sends a DELETE request. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('delete', url, **kwargs) diff --git a/lib27/site-packages/requests/auth.py b/lib27/site-packages/requests/auth.py deleted file mode 100644 index 73f8e9da8..000000000 --- a/lib27/site-packages/requests/auth.py +++ /dev/null @@ -1,242 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.auth -~~~~~~~~~~~~~ - -This module contains the authentication handlers for Requests. -""" - -import os -import re -import time -import hashlib -import threading - -from base64 import b64encode - -from .compat import urlparse, str -from .cookies import extract_cookies_to_jar -from .utils import parse_dict_header, to_native_string -from .status_codes import codes - -CONTENT_TYPE_FORM_URLENCODED = 'application/x-www-form-urlencoded' -CONTENT_TYPE_MULTI_PART = 'multipart/form-data' - - -def _basic_auth_str(username, password): - """Returns a Basic Auth string.""" - - authstr = 'Basic ' + to_native_string( - b64encode(('%s:%s' % (username, password)).encode('latin1')).strip() - ) - - return authstr - - -class AuthBase(object): - """Base class that all auth implementations derive from""" - - def __call__(self, r): - raise NotImplementedError('Auth hooks must be callable.') - - -class HTTPBasicAuth(AuthBase): - """Attaches HTTP Basic Authentication to the given Request object.""" - def __init__(self, username, password): - self.username = username - self.password = password - - def __eq__(self, other): - return all([ - self.username == getattr(other, 'username', None), - self.password == getattr(other, 'password', None) - ]) - - def __ne__(self, other): - return not self == other - - def __call__(self, r): - r.headers['Authorization'] = _basic_auth_str(self.username, self.password) - return r - - -class HTTPProxyAuth(HTTPBasicAuth): - """Attaches HTTP Proxy Authentication to a given Request object.""" - def __call__(self, r): - r.headers['Proxy-Authorization'] = _basic_auth_str(self.username, self.password) - return r - - -class HTTPDigestAuth(AuthBase): - """Attaches HTTP Digest Authentication to the given Request object.""" - def __init__(self, username, password): - self.username = username - self.password = password - # Keep state in per-thread local storage - self._thread_local = threading.local() - - def init_per_thread_state(self): - # Ensure state is initialized just once per-thread - if not hasattr(self._thread_local, 'init'): - self._thread_local.init = True - self._thread_local.last_nonce = '' - self._thread_local.nonce_count = 0 - self._thread_local.chal = {} - self._thread_local.pos = None - self._thread_local.num_401_calls = None - - def build_digest_header(self, method, url): - - realm = self._thread_local.chal['realm'] - nonce = self._thread_local.chal['nonce'] - qop = self._thread_local.chal.get('qop') - algorithm = self._thread_local.chal.get('algorithm') - opaque = self._thread_local.chal.get('opaque') - hash_utf8 = None - - if algorithm is None: - _algorithm = 'MD5' - else: - _algorithm = algorithm.upper() - # lambdas assume digest modules are imported at the top level - if _algorithm == 'MD5' or _algorithm == 'MD5-SESS': - def md5_utf8(x): - if isinstance(x, str): - x = x.encode('utf-8') - return hashlib.md5(x).hexdigest() - hash_utf8 = md5_utf8 - elif _algorithm == 'SHA': - def sha_utf8(x): - if isinstance(x, str): - x = x.encode('utf-8') - return hashlib.sha1(x).hexdigest() - hash_utf8 = sha_utf8 - - KD = lambda s, d: hash_utf8("%s:%s" % (s, d)) - - if hash_utf8 is None: - return None - - # XXX not implemented yet - entdig = None - p_parsed = urlparse(url) - #: path is request-uri defined in RFC 2616 which should not be empty - path = p_parsed.path or "/" - if p_parsed.query: - path += '?' + p_parsed.query - - A1 = '%s:%s:%s' % (self.username, realm, self.password) - A2 = '%s:%s' % (method, path) - - HA1 = hash_utf8(A1) - HA2 = hash_utf8(A2) - - if nonce == self._thread_local.last_nonce: - self._thread_local.nonce_count += 1 - else: - self._thread_local.nonce_count = 1 - ncvalue = '%08x' % self._thread_local.nonce_count - s = str(self._thread_local.nonce_count).encode('utf-8') - s += nonce.encode('utf-8') - s += time.ctime().encode('utf-8') - s += os.urandom(8) - - cnonce = (hashlib.sha1(s).hexdigest()[:16]) - if _algorithm == 'MD5-SESS': - HA1 = hash_utf8('%s:%s:%s' % (HA1, nonce, cnonce)) - - if not qop: - respdig = KD(HA1, "%s:%s" % (nonce, HA2)) - elif qop == 'auth' or 'auth' in qop.split(','): - noncebit = "%s:%s:%s:%s:%s" % ( - nonce, ncvalue, cnonce, 'auth', HA2 - ) - respdig = KD(HA1, noncebit) - else: - # XXX handle auth-int. - return None - - self._thread_local.last_nonce = nonce - - # XXX should the partial digests be encoded too? - base = 'username="%s", realm="%s", nonce="%s", uri="%s", ' \ - 'response="%s"' % (self.username, realm, nonce, path, respdig) - if opaque: - base += ', opaque="%s"' % opaque - if algorithm: - base += ', algorithm="%s"' % algorithm - if entdig: - base += ', digest="%s"' % entdig - if qop: - base += ', qop="auth", nc=%s, cnonce="%s"' % (ncvalue, cnonce) - - return 'Digest %s' % (base) - - def handle_redirect(self, r, **kwargs): - """Reset num_401_calls counter on redirects.""" - if r.is_redirect: - self._thread_local.num_401_calls = 1 - - def handle_401(self, r, **kwargs): - """Takes the given response and tries digest-auth, if needed.""" - - if self._thread_local.pos is not None: - # Rewind the file position indicator of the body to where - # it was to resend the request. - r.request.body.seek(self._thread_local.pos) - s_auth = r.headers.get('www-authenticate', '') - - if 'digest' in s_auth.lower() and self._thread_local.num_401_calls < 2: - - self._thread_local.num_401_calls += 1 - pat = re.compile(r'digest ', flags=re.IGNORECASE) - self._thread_local.chal = parse_dict_header(pat.sub('', s_auth, count=1)) - - # Consume content and release the original connection - # to allow our new request to reuse the same one. - r.content - r.close() - prep = r.request.copy() - extract_cookies_to_jar(prep._cookies, r.request, r.raw) - prep.prepare_cookies(prep._cookies) - - prep.headers['Authorization'] = self.build_digest_header( - prep.method, prep.url) - _r = r.connection.send(prep, **kwargs) - _r.history.append(r) - _r.request = prep - - return _r - - self._thread_local.num_401_calls = 1 - return r - - def __call__(self, r): - # Initialize per-thread state, if needed - self.init_per_thread_state() - # If we have a saved nonce, skip the 401 - if self._thread_local.last_nonce: - r.headers['Authorization'] = self.build_digest_header(r.method, r.url) - try: - self._thread_local.pos = r.body.tell() - except AttributeError: - # In the case of HTTPDigestAuth being reused and the body of - # the previous request was a file-like object, pos has the - # file position of the previous body. Ensure it's set to - # None. - self._thread_local.pos = None - r.register_hook('response', self.handle_401) - r.register_hook('response', self.handle_redirect) - self._thread_local.num_401_calls = 1 - - return r - - def __eq__(self, other): - return all([ - self.username == getattr(other, 'username', None), - self.password == getattr(other, 'password', None) - ]) - - def __ne__(self, other): - return not self == other diff --git a/lib27/site-packages/requests/cacert.pem b/lib27/site-packages/requests/cacert.pem deleted file mode 100644 index 6a66daa99..000000000 --- a/lib27/site-packages/requests/cacert.pem +++ /dev/null @@ -1,5616 +0,0 @@ - -# Issuer: O=Equifax OU=Equifax Secure Certificate Authority -# Subject: O=Equifax OU=Equifax Secure Certificate Authority -# Label: "Equifax Secure CA" -# Serial: 903804111 -# MD5 Fingerprint: 67:cb:9d:c0:13:24:8a:82:9b:b2:17:1e:d1:1b:ec:d4 -# SHA1 Fingerprint: d2:32:09:ad:23:d3:14:23:21:74:e4:0d:7f:9d:62:13:97:86:63:3a -# SHA256 Fingerprint: 08:29:7a:40:47:db:a2:36:80:c7:31:db:6e:31:76:53:ca:78:48:e1:be:bd:3a:0b:01:79:a7:07:f9:2c:f1:78 ------BEGIN CERTIFICATE----- -MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV -UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy -dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1 -MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx -dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B -AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f -BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A -cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC -AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ -MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm -aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw -ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj -IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF -MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA -A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y -7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh -1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Label: "GlobalSign Root CA" -# Serial: 4835703278459707669005204 -# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a -# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c -# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw -MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B -AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz -yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE -38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP -AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad -DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME -HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Label: "GlobalSign Root CA - R2" -# Serial: 4835703278459682885658125 -# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 -# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe -# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 -MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL -v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 -eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq -tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd -C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa -zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB -mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH -V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n -bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG -3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs -J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO -291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS -ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd -AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Label: "Verisign Class 3 Public Primary Certification Authority - G3" -# Serial: 206684696279472310254277870180966723415 -# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 -# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 -# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b -N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t -KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu -kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm -CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ -Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu -imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te -2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe -DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p -F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt -TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Label: "Verisign Class 4 Public Primary Certification Authority - G3" -# Serial: 314531972711909413743075096039378935511 -# MD5 Fingerprint: db:c8:f2:27:2e:b1:ea:6a:29:23:5d:fe:56:3e:33:df -# SHA1 Fingerprint: c8:ec:8c:87:92:69:cb:4b:ab:39:e9:8d:7e:57:67:f3:14:95:73:9d -# SHA256 Fingerprint: e3:89:36:0d:0f:db:ae:b3:d2:50:58:4b:47:30:31:4e:22:2f:39:c1:56:a0:20:14:4e:8d:96:05:61:79:15:06 ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1 -GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ -+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd -U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm -NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY -ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ -ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1 -CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq -g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm -fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c -2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/ -bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== ------END CERTIFICATE----- - -# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Label: "Entrust.net Premium 2048 Secure Server CA" -# Serial: 946069240 -# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 -# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 -# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 -MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH -4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub -j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo -U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b -u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ -bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er -fF6adulZkMV8gzURZVE= ------END CERTIFICATE----- - -# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Label: "Baltimore CyberTrust Root" -# Serial: 33554617 -# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 -# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 -# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -# Issuer: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network -# Subject: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network -# Label: "AddTrust Low-Value Services Root" -# Serial: 1 -# MD5 Fingerprint: 1e:42:95:02:33:92:6b:b9:5f:c0:7f:da:d6:b2:4b:fc -# SHA1 Fingerprint: cc:ab:0e:a0:4c:23:01:d6:69:7b:dd:37:9f:cd:12:eb:24:e3:94:9d -# SHA256 Fingerprint: 8c:72:09:27:9a:c0:4e:27:5e:16:d0:7f:d3:b7:75:e8:01:54:b5:96:80:46:e3:1f:52:dd:25:76:63:24:e9:a7 ------BEGIN CERTIFICATE----- -MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 -b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw -MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD -VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul -CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n -tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl -dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch -PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC -+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O -BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl -MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk -ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB -IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X -7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz -43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY -eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl -pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA -WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= ------END CERTIFICATE----- - -# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Label: "AddTrust External Root" -# Serial: 1 -# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f -# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 -# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 -MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h -bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v -dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt -H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 -uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX -mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX -a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN -E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 -WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD -VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 -Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU -cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx -IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN -AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH -YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC -Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX -c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a -mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - -# Issuer: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network -# Subject: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network -# Label: "AddTrust Public Services Root" -# Serial: 1 -# MD5 Fingerprint: c1:62:3e:23:c5:82:73:9c:03:59:4b:2b:e9:77:49:7f -# SHA1 Fingerprint: 2a:b6:28:48:5e:78:fb:f3:ad:9e:79:10:dd:6b:df:99:72:2c:96:e5 -# SHA256 Fingerprint: 07:91:ca:07:49:b2:07:82:aa:d3:c7:d7:bd:0c:df:c9:48:58:35:84:3e:b2:d7:99:60:09:ce:43:ab:6c:69:27 ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 -b3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx -MDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB -ZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV -BAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV -6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX -GCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP -dzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH -1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF -62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW -BBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL -MAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU -cnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv -b3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6 -IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/ -iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao -GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh -4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm -XiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY= ------END CERTIFICATE----- - -# Issuer: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network -# Subject: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network -# Label: "AddTrust Qualified Certificates Root" -# Serial: 1 -# MD5 Fingerprint: 27:ec:39:47:cd:da:5a:af:e2:9a:01:65:21:a9:4c:bb -# SHA1 Fingerprint: 4d:23:78:ec:91:95:39:b5:00:7f:75:8f:03:3b:21:1e:c5:4d:8b:cf -# SHA256 Fingerprint: 80:95:21:08:05:db:4b:bc:35:5e:44:28:d8:fd:6e:c2:cd:e3:ab:5f:b9:7a:99:42:98:8e:b8:f4:dc:d0:60:16 ------BEGIN CERTIFICATE----- -MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 -b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1 -MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK -EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh -BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq -xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G -87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i -2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U -WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1 -0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G -A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr -pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL -ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm -aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv -hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm -hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X -dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3 -P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y -iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no -xqE= ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Label: "Entrust Root Certification Authority" -# Serial: 1164660820 -# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 -# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 -# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m -0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -# Issuer: O=RSA Security Inc OU=RSA Security 2048 V3 -# Subject: O=RSA Security Inc OU=RSA Security 2048 V3 -# Label: "RSA Security 2048 v3" -# Serial: 13297492616345471454730593562152402946 -# MD5 Fingerprint: 77:0d:19:b1:21:fd:00:42:9c:3e:0c:a5:dd:0b:02:8e -# SHA1 Fingerprint: 25:01:90:19:cf:fb:d9:99:1c:b7:68:25:74:8d:94:5f:30:93:95:42 -# SHA256 Fingerprint: af:8b:67:62:a1:e5:28:22:81:61:a9:5d:5c:55:9e:e2:66:27:8f:75:d7:9e:83:01:89:a5:03:50:6a:bd:6b:4c ------BEGIN CERTIFICATE----- -MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6 -MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp -dHkgMjA0OCBWMzAeFw0wMTAyMjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAX -BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAy -MDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt49VcdKA3Xtp -eafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7Jylg -/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGl -wSMiuLgbWhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnh -AMFRD0xS+ARaqn1y07iHKrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2 -PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpu -AWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4EFgQUB8NR -MKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYc -HnmYv/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/ -Zb5gEydxiKRz44Rj0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+ -f00/FGj1EVDVwfSQpQgdMWD/YIwjVAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVO -rSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395nzIlQnQFgCi/vcEkllgVsRch -6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kApKnXwiJPZ9d3 -7CAFYd4= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. -# Label: "GeoTrust Global CA" -# Serial: 144470 -# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 -# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 -# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT -MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i -YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg -R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 -9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq -fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv -iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU -1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ -bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW -MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA -ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l -uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn -Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS -tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF -PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un -hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV -5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Global CA 2 O=GeoTrust Inc. -# Subject: CN=GeoTrust Global CA 2 O=GeoTrust Inc. -# Label: "GeoTrust Global CA 2" -# Serial: 1 -# MD5 Fingerprint: 0e:40:a7:6c:de:03:5d:8f:d1:0f:e4:d1:8d:f9:6c:a9 -# SHA1 Fingerprint: a9:e9:78:08:14:37:58:88:f2:05:19:b0:6d:2b:0d:2b:60:16:90:7d -# SHA256 Fingerprint: ca:2d:82:a0:86:77:07:2f:8a:b6:76:4f:f0:35:67:6c:fe:3e:5e:32:5e:01:21:72:df:3f:92:09:6d:b7:9b:85 ------BEGIN CERTIFICATE----- -MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFs -IENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg -R2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1A -PRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8 -Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hL -TytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL -5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7 -S4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe -2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUap -EBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6td -EPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv -/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywN -A0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0 -abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIF -I8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz -4iIprn2DQKi6bA== ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Label: "GeoTrust Universal CA" -# Serial: 1 -# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 -# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 -# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 ------BEGIN CERTIFICATE----- -MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy -c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE -BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 -IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV -VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 -cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT -QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh -F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v -c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w -mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd -VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX -teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ -f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe -Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ -nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB -/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY -MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG -9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc -aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX -IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn -ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z -uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN -Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja -QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW -koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 -ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt -DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm -bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Label: "GeoTrust Universal CA 2" -# Serial: 1 -# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 -# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 -# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy -c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD -VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 -c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 -WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG -FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq -XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL -se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb -KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd -IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 -y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt -hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc -QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 -Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV -HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ -KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ -L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr -Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo -ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY -T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz -GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m -1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV -OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH -6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX -QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS ------END CERTIFICATE----- - -# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association -# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association -# Label: "Visa eCommerce Root" -# Serial: 25952180776285836048024890241505565794 -# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02 -# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62 -# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22 ------BEGIN CERTIFICATE----- -MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr -MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl -cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv -bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw -CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h -dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l -cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h -2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E -lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV -ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq -299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t -vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL -dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF -AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR -zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3 -LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd -7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw -++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt -398znM/jra6O1I7mT1GvFpLgXPYHDw== ------END CERTIFICATE----- - -# Issuer: CN=Certum CA O=Unizeto Sp. z o.o. -# Subject: CN=Certum CA O=Unizeto Sp. z o.o. -# Label: "Certum Root CA" -# Serial: 65568 -# MD5 Fingerprint: 2c:8f:9f:66:1d:18:90:b1:47:26:9d:8e:86:82:8c:a9 -# SHA1 Fingerprint: 62:52:dc:40:f7:11:43:a2:2f:de:9e:f7:34:8e:06:42:51:b1:81:18 -# SHA256 Fingerprint: d8:e0:fe:bc:1d:b2:e3:8d:00:94:0f:37:d2:7d:41:34:4d:99:3e:73:4b:99:d5:65:6d:97:78:d4:d8:14:36:24 ------BEGIN CERTIFICATE----- -MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM -MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD -QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM -MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD -QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E -jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo -ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI -ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu -Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg -AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7 -HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA -uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa -TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg -xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q -CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x -O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs -6GAqm4VKQPNriiTsBhYscw== ------END CERTIFICATE----- - -# Issuer: CN=AAA Certificate Services O=Comodo CA Limited -# Subject: CN=AAA Certificate Services O=Comodo CA Limited -# Label: "Comodo AAA Services root" -# Serial: 1 -# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 -# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 -# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -# Issuer: CN=Secure Certificate Services O=Comodo CA Limited -# Subject: CN=Secure Certificate Services O=Comodo CA Limited -# Label: "Comodo Secure Services root" -# Serial: 1 -# MD5 Fingerprint: d3:d9:bd:ae:9f:ac:67:24:b3:c8:1b:52:e1:b9:a9:bd -# SHA1 Fingerprint: 4a:65:d5:f4:1d:ef:39:b8:b8:90:4a:4a:d3:64:81:33:cf:c7:a1:d1 -# SHA256 Fingerprint: bd:81:ce:3b:4f:65:91:d1:1a:67:b5:fc:7a:47:fd:ef:25:52:1b:f9:aa:4e:18:b9:e3:df:2e:34:a7:80:3b:e8 ------BEGIN CERTIFICATE----- -MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp -ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow -fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV -BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM -cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S -HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996 -CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk -3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz -6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV -HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud -EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv -Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw -Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww -DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0 -5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj -Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI -gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ -aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl -izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk= ------END CERTIFICATE----- - -# Issuer: CN=Trusted Certificate Services O=Comodo CA Limited -# Subject: CN=Trusted Certificate Services O=Comodo CA Limited -# Label: "Comodo Trusted Services root" -# Serial: 1 -# MD5 Fingerprint: 91:1b:3f:6e:cd:9e:ab:ee:07:fe:1f:71:d2:b3:61:27 -# SHA1 Fingerprint: e1:9f:e3:0e:8b:84:60:9e:80:9b:17:0d:72:a8:c5:ba:6e:14:09:bd -# SHA256 Fingerprint: 3f:06:e5:56:81:d4:96:f5:be:16:9e:b5:38:9f:9f:2b:8f:f6:1e:17:08:df:68:81:72:48:49:cd:5d:27:cb:69 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0 -aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla -MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO -BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD -VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW -fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt -TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL -fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW -1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7 -kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G -A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v -ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo -dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu -Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/ -HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 -pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS -jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+ -xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn -dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Label: "QuoVadis Root CA" -# Serial: 985026699 -# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 -# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 -# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz -MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw -IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR -dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp -li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D -rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ -WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug -F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU -xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC -Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv -dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw -ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl -IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh -c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy -ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI -KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T -KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq -y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p -dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD -VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL -MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk -fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 -7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R -cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y -mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW -xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK -SnQ2+Q== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2" -# Serial: 1289 -# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b -# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 -# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3" -# Serial: 1478 -# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf -# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 -# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 -# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 -# Label: "Security Communication Root CA" -# Serial: 0 -# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a -# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 -# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY -MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t -dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 -WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD -VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 -9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ -DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 -Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N -QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ -xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G -A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG -kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr -Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 -Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU -JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot -RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== ------END CERTIFICATE----- - -# Issuer: CN=Sonera Class2 CA O=Sonera -# Subject: CN=Sonera Class2 CA O=Sonera -# Label: "Sonera Class 2 Root CA" -# Serial: 29 -# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb -# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 -# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP -MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx -MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV -BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o -Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt -5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s -3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej -vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu -8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw -DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG -MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil -zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ -3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD -FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 -Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 -ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA" -# Serial: 10000010 -# MD5 Fingerprint: 60:84:7c:5a:ce:db:0c:d4:cb:a7:e9:fe:02:c6:a9:c0 -# SHA1 Fingerprint: 10:1d:fa:3f:d5:0b:cb:bb:9b:b5:60:0c:19:55:a4:1a:f4:73:3a:04 -# SHA256 Fingerprint: d4:1d:82:9e:8c:16:59:82:2a:f9:3f:ce:62:bf:fc:de:26:4f:c8:4e:8b:95:0c:5f:f2:75:d0:52:35:46:95:a3 ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJO -TDEeMBwGA1UEChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEy -MTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVk -ZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxhbmRlbiBSb290IENB -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFtvszn -ExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw71 -9tV2U02PjLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MO -hXeiD+EwR+4A5zN9RGcaC1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+U -tFE5A3+y3qcym7RHjm+0Sq7lr7HcsBthvJly3uSJt3omXdozSVtSnA71iq3DuD3o -BmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn622r+I/q85Ej0ZytqERAh -SQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRVHSAAMDww -OgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMv -cm9vdC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA -7Jbg0zTBLL9s+DANBgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k -/rvuFbQvBgwp8qiSpGEN/KtcCFtREytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzm -eafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbwMVcoEoJz6TMvplW0C5GUR5z6 -u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3ynGQI0DvDKcWy -7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR -iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== ------END CERTIFICATE----- - -# Issuer: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com -# Subject: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com -# Label: "UTN DATACorp SGC Root CA" -# Serial: 91374294542884689855167577680241077609 -# MD5 Fingerprint: b3:a5:3e:77:21:6d:ac:4a:c0:c9:fb:d5:41:3d:ca:06 -# SHA1 Fingerprint: 58:11:9f:0e:12:82:87:ea:50:fd:d9:87:45:6f:4f:78:dc:fa:d6:d4 -# SHA256 Fingerprint: 85:fb:2f:91:dd:12:27:5a:01:45:b6:36:53:4f:84:02:4a:d6:8b:69:b8:ee:88:68:4f:f7:11:37:58:05:b3:48 ------BEGIN CERTIFICATE----- -MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB -kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw -IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG -EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD -VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu -dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6 -E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ -D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK -4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq -lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW -bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB -o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT -MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js -LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr -BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB -AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft -Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj -j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH -KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv -2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3 -mfnGV/TJVTl4uix5yaaIK/QI ------END CERTIFICATE----- - -# Issuer: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com -# Subject: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com -# Label: "UTN USERFirst Hardware Root CA" -# Serial: 91374294542884704022267039221184531197 -# MD5 Fingerprint: 4c:56:41:e5:0d:bb:2b:e8:ca:a3:ed:18:08:ad:43:39 -# SHA1 Fingerprint: 04:83:ed:33:99:ac:36:08:05:87:22:ed:bc:5e:46:00:e3:be:f9:d7 -# SHA256 Fingerprint: 6e:a5:47:41:d0:04:66:7e:ed:1b:48:16:63:4a:a3:a7:9e:6e:4b:96:95:0f:82:79:da:fc:8d:9b:d8:81:21:37 ------BEGIN CERTIFICATE----- -MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB -lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt -SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG -A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe -MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v -d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh -cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn -0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ -M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a -MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd -oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI -DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy -oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD -VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0 -dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy -bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF -BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM -//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli -CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE -CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t -3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS -KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA== ------END CERTIFICATE----- - -# Issuer: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Subject: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Label: "Camerfirma Chambers of Commerce Root" -# Serial: 0 -# MD5 Fingerprint: b0:01:ee:14:d9:af:29:18:94:76:8e:f1:69:33:2a:84 -# SHA1 Fingerprint: 6e:3a:55:a4:19:0c:19:5c:93:84:3c:c0:db:72:2e:31:30:61:f0:b1 -# SHA256 Fingerprint: 0c:25:8a:12:a5:67:4a:ef:25:f2:8b:a7:dc:fa:ec:ee:a3:48:e5:41:e6:f5:cc:4e:e6:3b:71:b3:61:60:6a:c3 ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEn -MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL -ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMg -b2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRa -MH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBB -ODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3JnMSIw -IAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0B -AQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtb -unXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d -BmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq -7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM3 -0pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyX -roDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIG -A1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5j -aGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p -26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIA -BzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3JnMCcGA1Ud -EgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN -BgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz -aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEB -AAxBl8IahsAifJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZd -p0AJPaxJRUXcLo0waLIJuvvDL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi -1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wNUPf6s+xCX6ndbcj0dc97wXImsQEc -XCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/nADydb47kMgkdTXg0 -eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1erfu -tGWaIZDgqtCYvDi1czyL+Nw= ------END CERTIFICATE----- - -# Issuer: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Subject: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Label: "Camerfirma Global Chambersign Root" -# Serial: 0 -# MD5 Fingerprint: c5:e6:7b:bf:06:d0:4f:43:ed:c4:7a:65:8a:fb:6b:19 -# SHA1 Fingerprint: 33:9b:6b:14:50:24:9b:55:7a:01:87:72:84:d9:e0:2f:c3:d2:d8:e9 -# SHA256 Fingerprint: ef:3c:b4:17:fc:8e:bf:6f:97:87:6c:9e:4e:ce:39:de:1e:a5:fe:64:91:41:d1:02:8b:7d:11:c0:b2:29:8c:ed ------BEGIN CERTIFICATE----- -MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEn -MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL -ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENo -YW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYxNDE4WhcNMzcwOTMwMTYxNDE4WjB9 -MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgy -NzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4G -A1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUA -A4IBDQAwggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0 -Mi+ITaFgCPS3CU6gSS9J1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/s -QJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8Oby4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpV -eAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl6DJWk0aJqCWKZQbua795 -B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c8lCrEqWh -z0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0T -AQH/BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1i -ZXJzaWduLm9yZy9jaGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4w -TcbOX60Qq+UDpfqpFDAOBgNVHQ8BAf8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAH -MCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBjaGFtYmVyc2lnbi5vcmcwKgYD -VR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9yZzBbBgNVHSAE -VDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh -bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0B -AQUFAAOCAQEAPDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUM -bKGKfKX0j//U2K0X1S0E0T9YgOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXi -ryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJPJ7oKXqJ1/6v/2j1pReQvayZzKWG -VwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4IBHNfTIzSJRUTN3c -ecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREest2d/ -AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== ------END CERTIFICATE----- - -# Issuer: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok -# Subject: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok -# Label: "NetLock Notary (Class A) Root" -# Serial: 259 -# MD5 Fingerprint: 86:38:6d:5e:49:63:6c:85:5c:db:6d:dc:94:b7:d0:f7 -# SHA1 Fingerprint: ac:ed:5f:65:53:fd:25:ce:01:5f:1f:7a:48:3b:6a:74:9f:61:78:c6 -# SHA256 Fingerprint: 7f:12:cd:5f:7e:5e:29:0e:c7:d8:51:79:d5:b7:2c:20:a5:be:75:08:ff:db:5b:f8:1a:b9:68:4a:7f:c9:f6:67 ------BEGIN CERTIFICATE----- -MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhV -MRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMe -TmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0 -dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBB -KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0 -N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhC -dWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQu -MRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBL -b3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiD -zl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi -3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8 -WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LY -Oph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2Esi -NCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCC -ApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4 -QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0 -YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz -aSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu -IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtm -ZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMg -ZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVs -amFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRv -IGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3 -Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6 -ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1 -YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg -dG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRs -b2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0G -CSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQO -xmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP -0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQ -QeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxk -f1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK -8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI ------END CERTIFICATE----- - -# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Label: "XRamp Global CA Root" -# Serial: 107108908803651509692980124233745014957 -# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 -# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 -# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ -O+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Label: "Go Daddy Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 -# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 -# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8= ------END CERTIFICATE----- - -# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Label: "Starfield Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 -# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a -# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -# Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing -# Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing -# Label: "StartCom Certification Authority" -# Serial: 1 -# MD5 Fingerprint: 22:4d:8f:8a:fc:f7:35:c2:bb:57:34:90:7b:8b:22:16 -# SHA1 Fingerprint: 3e:2b:f7:f2:03:1b:96:f3:8c:e6:c4:d8:a8:5d:3e:2d:58:47:6a:0f -# SHA256 Fingerprint: c7:66:a9:be:f2:d4:07:1c:86:3a:31:aa:49:20:e8:13:b2:d1:98:60:8c:b7:b7:cf:e2:11:43:b8:36:df:09:ea ------BEGIN CERTIFICATE----- -MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW -MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg -Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9 -MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi -U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh -cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk -pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf -OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C -Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT -Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi -HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM -Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w -+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+ -Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3 -Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B -26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID -AQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE -FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j -ZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js -LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM -BgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0 -Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy -dGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh -cnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh -YmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg -dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp -bGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ -YIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT -TCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ -9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8 -jhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW -FjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz -ewT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1 -ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L -EUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu -L6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq -yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC -O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V -um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh -NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14= ------END CERTIFICATE----- - -# Issuer: O=Government Root Certification Authority -# Subject: O=Government Root Certification Authority -# Label: "Taiwan GRCA" -# Serial: 42023070807708724159991140556527066870 -# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e -# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 -# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ -MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow -PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR -IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q -gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy -yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts -F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 -jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx -ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC -VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK -YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH -EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN -Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud -DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE -MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK -UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ -TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf -qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK -ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE -JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 -hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 -EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm -nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX -udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz -ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe -LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl -pYYsfPQS ------END CERTIFICATE----- - -# Issuer: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services -# Subject: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services -# Label: "Swisscom Root CA 1" -# Serial: 122348795730808398873664200247279986742 -# MD5 Fingerprint: f8:38:7c:77:88:df:2c:16:68:2e:c2:e2:52:4b:b8:f9 -# SHA1 Fingerprint: 5f:3a:fc:0a:8b:64:f6:86:67:34:74:df:7e:a9:a2:fe:f9:fa:7a:51 -# SHA256 Fingerprint: 21:db:20:12:36:60:bb:2e:d4:18:20:5d:a1:1e:e7:a8:5a:65:e2:bc:6e:55:b5:af:7e:78:99:c8:a2:66:d9:2e ------BEGIN CERTIFICATE----- -MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBk -MQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0 -YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3Qg -Q0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4MTgyMjA2MjBaMGQxCzAJBgNVBAYT -AmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZp -Y2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9 -m2BtRsiMMW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdih -FvkcxC7mlSpnzNApbjyFNDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/ -TilftKaNXXsLmREDA/7n29uj/x2lzZAeAR81sH8A25Bvxn570e56eqeqDFdvpG3F -EzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkCb6dJtDZd0KTeByy2dbco -kdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn7uHbHaBu -HYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNF -vJbNcA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo -19AOeCMgkckkKmUpWyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjC -L3UcPX7ape8eYIVpQtPM+GP+HkM5haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJW -bjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNYMUJDLXT5xp6mig/p/r+D5kNX -JLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0hBBYw -FDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j -BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzc -K6FptWfUjNP9MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzf -ky9NfEBWMXrrpA9gzXrzvsMnjgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7Ik -Vh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQMbFamIp1TpBcahQq4FJHgmDmHtqB -sfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4HVtA4oJVwIHaM190e -3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtlvrsR -ls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ip -mXeascClOS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HH -b6D0jqTsNFFbjCYDcKF31QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksf -rK/7DZBaZmBwXarNeNQk7shBoJMBkpxqnvy5JMWzFYJ+vq6VK+uxwNrjAWALXmms -hFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCyx/yP2FS1k2Kdzs9Z+z0Y -zirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMWNY6E0F/6 -MBr1mmz0DlP5OlvRHA== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root CA" -# Serial: 17154717934120587862167794914071425081 -# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 -# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 -# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root CA" -# Serial: 10944719598952040374951832963794454346 -# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e -# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 -# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert High Assurance EV Root CA" -# Serial: 3553400076410547919724730734378100087 -# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a -# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 -# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9K ------END CERTIFICATE----- - -# Issuer: CN=Class 2 Primary CA O=Certplus -# Subject: CN=Class 2 Primary CA O=Certplus -# Label: "Certplus Class 2 Primary CA" -# Serial: 177770208045934040241468760488327595043 -# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b -# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb -# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb ------BEGIN CERTIFICATE----- -MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw -PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz -cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 -MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz -IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ -ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR -VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL -kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd -EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas -H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 -HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud -DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 -QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu -Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ -AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 -yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR -FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA -ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB -kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 -l7+ijrRU ------END CERTIFICATE----- - -# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Label: "DST Root CA X3" -# Serial: 91299735575339953335919266965803778155 -# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 -# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 -# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 ------BEGIN CERTIFICATE----- -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow -PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD -Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O -rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq -OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b -xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw -7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD -aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG -SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 -ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr -AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz -R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 -JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo -Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ ------END CERTIFICATE----- - -# Issuer: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES -# Subject: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES -# Label: "DST ACES CA X6" -# Serial: 17771143917277623872238992636097467865 -# MD5 Fingerprint: 21:d8:4c:82:2b:99:09:33:a2:eb:14:24:8d:8e:5f:e8 -# SHA1 Fingerprint: 40:54:da:6f:1c:3f:40:74:ac:ed:0f:ec:cd:db:79:d1:53:fb:90:1d -# SHA256 Fingerprint: 76:7c:95:5a:76:41:2c:89:af:68:8e:90:a1:c7:0f:55:6c:fd:6b:60:25:db:ea:10:41:6d:7e:b6:83:1f:8c:40 ------BEGIN CERTIFICATE----- -MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBb -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3Qx -ETAPBgNVBAsTCERTVCBBQ0VTMRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0w -MzExMjAyMTE5NThaFw0xNzExMjAyMTE5NThaMFsxCzAJBgNVBAYTAlVTMSAwHgYD -VQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UECxMIRFNUIEFDRVMx -FzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPu -ktKe1jzIDZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7 -gLFViYsx+tC3dr5BPTCapCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZH -fAjIgrrep4c9oW24MFbCswKBXy314powGCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4a -ahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPyMjwmR/onJALJfh1biEIT -ajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rk -c3QuY29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjto -dHRwOi8vd3d3LnRydXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMt -aW5kZXguaHRtbDAdBgNVHQ4EFgQUCXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZI -hvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V25FYrnJmQ6AgwbN99Pe7lv7Uk -QIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6tFr8hlxCBPeP/ -h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq -nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpR -rscL9yuwNwXsvFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf2 -9w4LTJxoeHtxMcfrHuBnQfO3oKfN5XozNmr6mis= ------END CERTIFICATE----- - -# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Kasım 2005 -# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Kasım 2005 -# Label: "TURKTRUST Certificate Services Provider Root 2" -# Serial: 1 -# MD5 Fingerprint: 37:a5:6e:d4:b1:25:84:97:b7:fd:56:15:7a:f9:a2:00 -# SHA1 Fingerprint: b4:35:d4:e1:11:9d:1c:66:90:a7:49:eb:b3:94:bd:63:7b:a7:82:b7 -# SHA256 Fingerprint: c4:70:cf:54:7e:23:02:b9:77:fb:29:dd:71:a8:9a:7b:6c:1f:60:77:7b:03:29:f5:60:17:f3:28:bf:4f:6b:e6 ------BEGIN CERTIFICATE----- -MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOc -UktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx -c8SxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xS -S1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kg -SGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcNMDUxMTA3MTAwNzU3 -WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVrdHJv -bmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJU -UjEPMA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSw -bGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWe -LiAoYykgS2FzxLFtIDIwMDUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqeLCDe2JAOCtFp0if7qnef -J1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKIx+XlZEdh -R3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJ -Qv2gQrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGX -JHpsmxcPbe9TmJEr5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1p -zpwACPI2/z7woQ8arBT9pmAPAgMBAAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58S -Fq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8GA1UdEwEB/wQFMAMBAf8wDQYJ -KoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/nttRbj2hWyfIvwq -ECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 -Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFz -gw2lGh1uEpJ+hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotH -uFEJjOp9zYhys2AzsfAKRO8P9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LS -y3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5UrbnBEI= ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Label: "SwissSign Gold CA - G2" -# Serial: 13492815561806991280 -# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 -# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 -# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 ------BEGIN CERTIFICATE----- -MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV -BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln -biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF -MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT -d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC -CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 -76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ -bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c -6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE -emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd -MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt -MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y -MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y -FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi -aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM -gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB -qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 -lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn -8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov -L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 -45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO -UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 -O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC -bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv -GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a -77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC -hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 -92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp -Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w -ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt -Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Label: "SwissSign Silver CA - G2" -# Serial: 5700383053117599563 -# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 -# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb -# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 ------BEGIN CERTIFICATE----- -MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE -BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu -IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow -RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY -U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv -Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br -YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF -nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH -6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt -eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/ -c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ -MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH -HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf -jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6 -5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB -rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU -F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c -wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 -cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB -AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp -WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9 -xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ -2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ -IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8 -aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X -em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR -dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/ -OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+ -hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy -tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Label: "GeoTrust Primary Certification Authority" -# Serial: 32798226551256963324313806436981982369 -# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf -# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 -# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c ------BEGIN CERTIFICATE----- -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY -MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo -R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx -MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK -Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 -AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA -ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 -7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W -kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI -mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ -KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 -6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl -4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K -oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj -UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU -AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA" -# Serial: 69529181992039203566298953787712940909 -# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 -# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 -# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB -qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV -BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw -NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j -LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG -A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs -W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta -3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk -6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 -Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J -NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP -r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU -DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz -YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 -/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ -LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 -jVaMaA== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" -# Serial: 33037644167568058970164719475676101450 -# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c -# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 -# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 -nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex -t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz -SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG -BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ -rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ -NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E -BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH -BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv -MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE -p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y -5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK -WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ -4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N -hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- - -# Issuer: CN=SecureTrust CA O=SecureTrust Corporation -# Subject: CN=SecureTrust CA O=SecureTrust Corporation -# Label: "SecureTrust CA" -# Serial: 17199774589125277788362757014266862032 -# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 -# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 -# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -# Issuer: CN=Secure Global CA O=SecureTrust Corporation -# Subject: CN=Secure Global CA O=SecureTrust Corporation -# Label: "Secure Global CA" -# Serial: 9751836167731051554232119481456978597 -# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de -# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b -# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO Certification Authority O=COMODO CA Limited -# Label: "COMODO Certification Authority" -# Serial: 104350513648249232941998508985834464573 -# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 -# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b -# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB -ZQ== ------END CERTIFICATE----- - -# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Label: "Network Solutions Certificate Authority" -# Serial: 116697915152937497490437556386812487904 -# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e -# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce -# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi -MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV -UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO -ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz -c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP -OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl -mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF -BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 -qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw -gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu -bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp -dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 -6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ -h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH -/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN -pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - -# Issuer: CN=WellsSecure Public Root Certificate Authority O=Wells Fargo WellsSecure OU=Wells Fargo Bank NA -# Subject: CN=WellsSecure Public Root Certificate Authority O=Wells Fargo WellsSecure OU=Wells Fargo Bank NA -# Label: "WellsSecure Public Root Certificate Authority" -# Serial: 1 -# MD5 Fingerprint: 15:ac:a5:c2:92:2d:79:bc:e8:7f:cb:67:ed:02:cf:36 -# SHA1 Fingerprint: e7:b4:f6:9d:61:ec:90:69:db:7e:90:a7:40:1a:3c:f4:7d:4f:e8:ee -# SHA256 Fingerprint: a7:12:72:ae:aa:a3:cf:e8:72:7f:7f:b3:9f:0f:b3:d1:e5:42:6e:90:60:b0:6e:e6:f1:3e:9a:3c:58:33:cd:43 ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMx -IDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxs -cyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9v -dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDcxMjEzMTcwNzU0WhcNMjIxMjE0 -MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdl -bGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQD -DC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+r -WxxTkqxtnt3CxC5FlAM1iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjU -Dk/41itMpBb570OYj7OeUt9tkTmPOL13i0Nj67eT/DBMHAGTthP796EfvyXhdDcs -HqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8bJVhHlfXBIEyg1J55oNj -z7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiBK0HmOFaf -SZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/Slwxl -AgMBAAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqG -KGh0dHA6Ly9jcmwucGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0P -AQH/BAQDAgHGMB0GA1UdDgQWBBQmlRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0j -BIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGBi6SBiDCBhTELMAkGA1UEBhMC -VVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNX -ZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg -Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEB -ALkVsUSRzCPIK0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd -/ZDJPHV3V3p9+N701NX3leZ0bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pB -A4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSljqHyita04pO2t/caaH/+Xc/77szWn -k4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+esE2fDbbFwRnzVlhE9 -iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJtylv -2G0xffX8oRAHh84vWdw+WNs= ------END CERTIFICATE----- - -# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Label: "COMODO ECC Certification Authority" -# Serial: 41578283867086692638256921589707938090 -# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 -# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 -# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -# Issuer: CN=IGC/A O=PM/SGDN OU=DCSSI -# Subject: CN=IGC/A O=PM/SGDN OU=DCSSI -# Label: "IGC/A" -# Serial: 245102874772 -# MD5 Fingerprint: 0c:7f:dd:6a:f4:2a:b9:c8:9b:bd:20:7e:a9:db:5c:37 -# SHA1 Fingerprint: 60:d6:89:74:b5:c2:65:9e:8a:0f:c1:88:7c:88:d2:46:69:1b:18:2c -# SHA256 Fingerprint: b9:be:a7:86:0a:96:2e:a3:61:1d:ab:97:ab:6d:a3:e2:1c:10:68:b9:7d:55:57:5e:d0:e1:12:79:c1:1c:89:32 ------BEGIN CERTIFICATE----- -MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYT -AkZSMQ8wDQYDVQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQ -TS9TR0ROMQ4wDAYDVQQLEwVEQ1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG -9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMB4XDTAyMTIxMzE0MjkyM1oXDTIw -MTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQIEwZGcmFuY2UxDjAM -BgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NTSTEO -MAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2 -LmZyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaI -s9z4iPf930Pfeo2aSVz2TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2 -xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCWSo7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4 -u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYyHF2fYPepraX/z9E0+X1b -F8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNdfrGoRpAx -Vs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGd -PDPQtQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNV -HSAEDjAMMAoGCCqBegF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAx -NjAfBgNVHSMEGDAWgBSjBS8YYFDCiQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUF -AAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RKq89toB9RlPhJy3Q2FLwV3duJ -L92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3QMZsyK10XZZOY -YLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg -Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2a -NjSaTFR+FwNIlQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R -0982gaEbeC9xs/FZTEYYKKuF0mBWWg== ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1 -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1 -# Label: "Security Communication EV RootCA1" -# Serial: 0 -# MD5 Fingerprint: 22:2d:a6:01:ea:7c:0a:f7:f0:6c:56:43:3f:77:76:d3 -# SHA1 Fingerprint: fe:b8:c4:32:dc:f9:76:9a:ce:ae:3d:d8:90:8f:fd:28:86:65:64:7d -# SHA256 Fingerprint: a2:2d:ba:68:1e:97:37:6e:2d:39:7d:72:8a:ae:3a:9b:62:96:b9:fd:ba:60:bc:2e:11:f6:47:f2:c6:75:fb:37 ------BEGIN CERTIFICATE----- -MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMh -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIz -MloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09N -IFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNlY3VyaXR5IENvbW11 -bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSE -RMqm4miO/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gO -zXppFodEtZDkBp2uoQSXWHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5 -bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4zZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDF -MxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4bepJz11sS6/vmsJWXMY1 -VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK9U2vP9eC -OKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G -CSqGSIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HW -tWS3irO4G8za+6xmiEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZ -q51ihPZRwSzJIxXYKLerJRO1RuGGAv8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDb -EJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnWmHyojf6GPgcWkuF75x3sM3Z+ -Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEWT1MKZPlO9L9O -VL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GA CA" -# Serial: 86718877871133159090080555911823548314 -# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 -# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 -# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 ------BEGIN CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB -ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly -aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl -ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w -NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G -A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD -VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX -SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR -VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 -w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF -mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg -4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 -4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw -EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx -SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 -ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 -vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi -Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ -/L7fCg0= ------END CERTIFICATE----- - -# Issuer: CN=Microsec e-Szigno Root CA O=Microsec Ltd. OU=e-Szigno CA -# Subject: CN=Microsec e-Szigno Root CA O=Microsec Ltd. OU=e-Szigno CA -# Label: "Microsec e-Szigno Root CA" -# Serial: 272122594155480254301341951808045322001 -# MD5 Fingerprint: f0:96:b6:2f:c5:10:d5:67:8e:83:25:32:e8:5e:2e:e5 -# SHA1 Fingerprint: 23:88:c9:d3:71:cc:9e:96:3d:ff:7d:3c:a7:ce:fc:d6:25:ec:19:0d -# SHA256 Fingerprint: 32:7a:3d:76:1a:ba:de:a0:34:eb:99:84:06:27:5c:b1:a4:77:6e:fd:ae:2f:df:6d:01:68:ea:1c:4f:55:67:d0 ------BEGIN CERTIFICATE----- -MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAw -cjELMAkGA1UEBhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNy -b3NlYyBMdGQuMRQwEgYDVQQLEwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9z -ZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0MDYxMjI4NDRaFw0xNzA0MDYxMjI4 -NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEWMBQGA1UEChMN -TWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMTGU1p -Y3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2u -uO/TEdyB5s87lozWbxXGd36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+ -LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/NoqdNAoI/gqyFxuEPkEeZlApxcpMqyabA -vjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjcQR/Ji3HWVBTji1R4P770 -Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJPqW+jqpx -62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcB -AQRbMFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3Aw -LQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAP -BgNVHRMBAf8EBTADAQH/MIIBcwYDVR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIB -AQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3LmUtc3ppZ25vLmh1L1NaU1ov -MIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0AdAB2AOEAbgB5 -ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn -AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABT -AHoAbwBsAGcA4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABh -ACAAcwB6AGUAcgBpAG4AdAAgAGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABo -AHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMAegBpAGcAbgBvAC4AaAB1AC8AUwBa -AFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6Ly93d3cuZS1zemln -bm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NOPU1p -Y3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxP -PU1pY3Jvc2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZv -Y2F0aW9uTGlzdDtiaW5hcnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuB -EGluZm9AZS1zemlnbm8uaHWkdzB1MSMwIQYDVQQDDBpNaWNyb3NlYyBlLVN6aWdu -w7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhTWjEWMBQGA1UEChMNTWlj -cm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhVMIGsBgNV -HSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJI -VTERMA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDAS -BgNVBAsTC2UtU3ppZ25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBS -b290IENBghEAzLjnv04pGv2i3GalHCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS -8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMTnGZjWS7KXHAM/IO8VbH0jgds -ZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FEaGAHQzAxQmHl -7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a -86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfR -hUZLphK3dehKyVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/ -MPMMNz7UwiiAc7EBt51alhQBS6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= ------END CERTIFICATE----- - -# Issuer: CN=Certigna O=Dhimyotis -# Subject: CN=Certigna O=Dhimyotis -# Label: "Certigna" -# Serial: 18364802974209362175 -# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff -# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 -# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center -# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center -# Label: "Deutsche Telekom Root CA 2" -# Serial: 38 -# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 -# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf -# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 ------BEGIN CERTIFICATE----- -MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc -MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj -IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB -IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE -RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl -U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 -IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU -ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC -QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr -rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S -NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc -QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH -txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP -BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp -tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa -IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl -6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ -xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU -Cm26OWMohpLzGITY+9HPBVZkVw== ------END CERTIFICATE----- - -# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc -# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc -# Label: "Cybertrust Global Root" -# Serial: 4835703278459682877484360 -# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 -# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 -# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 ------BEGIN CERTIFICATE----- -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG -A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh -bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE -ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS -b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 -7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS -J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y -HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP -t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz -FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY -XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ -MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw -hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js -MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA -A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj -Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx -XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o -omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc -A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW -WL1WMRJOEcgh4LMRkWXbtKaIOM5V ------END CERTIFICATE----- - -# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Label: "ePKI Root Certification Authority" -# Serial: 28956088682735189655030529057352760477 -# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 -# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 -# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw -IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL -SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH -SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh -ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X -DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 -TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ -fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA -sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU -WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS -nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH -dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip -NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC -AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF -MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB -uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl -PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP -JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ -gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 -j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 -5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB -o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS -/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z -Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE -W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D -hNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -# Issuer: CN=TÜBİTAK UEKAE Kök Sertifika Hizmet Sağlayıcısı - Sürüm 3 O=Türkiye Bilimsel ve Teknolojik Araştırma Kurumu - TÜBİTAK OU=Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü - UEKAE/Kamu Sertifikasyon Merkezi -# Subject: CN=TÜBİTAK UEKAE Kök Sertifika Hizmet Sağlayıcısı - Sürüm 3 O=Türkiye Bilimsel ve Teknolojik Araştırma Kurumu - TÜBİTAK OU=Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü - UEKAE/Kamu Sertifikasyon Merkezi -# Label: "T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3" -# Serial: 17 -# MD5 Fingerprint: ed:41:f5:8c:50:c5:2b:9c:73:e6:ee:6c:eb:c2:a8:26 -# SHA1 Fingerprint: 1b:4b:39:61:26:27:6b:64:91:a2:68:6d:d7:02:43:21:2d:1f:1d:96 -# SHA256 Fingerprint: e4:c7:34:30:d7:a5:b5:09:25:df:43:37:0a:0d:21:6e:9a:79:b9:d6:db:83:73:a0:c6:9e:b1:cc:31:c7:c5:2a ------BEGIN CERTIFICATE----- -MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRS -MRgwFgYDVQQHDA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJp -bGltc2VsIHZlIFRla25vbG9qaWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSw -VEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ryb25payB2ZSBLcmlwdG9sb2ppIEFy -YcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNVBAsMGkthbXUgU2Vy -dGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUgS8O2 -ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAe -Fw0wNzA4MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIx -GDAWBgNVBAcMD0dlYnplIC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmls -aW1zZWwgdmUgVGVrbm9sb2ppayBBcmHFn3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBU -QUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZlIEtyaXB0b2xvamkgQXJh -xZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2FtdSBTZXJ0 -aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7Zr -IFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4h -gb46ezzb8R1Sf1n68yJMlaCQvEhOEav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yK -O7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1xnnRFDDtG1hba+818qEhTsXO -fJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR6Oqeyjh1jmKw -lZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL -hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQID -AQABo0IwQDAdBgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmP -NOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4N5EY3ATIZJkrGG2AA1nJrvhY0D7t -wyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLTy9LQQfMmNkqblWwM -7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYhLBOh -gLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5n -oN+J1q2MdqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUs -yZyQ2uypQjyttgI= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 2 CA 1 O=Buypass AS-983163327 -# Subject: CN=Buypass Class 2 CA 1 O=Buypass AS-983163327 -# Label: "Buypass Class 2 CA 1" -# Serial: 1 -# MD5 Fingerprint: b8:08:9a:f0:03:cc:1b:0d:c8:6c:0b:76:a1:75:64:23 -# SHA1 Fingerprint: a0:a1:ab:90:c9:fc:84:7b:3b:12:61:e8:97:7d:5f:d3:22:61:d3:cc -# SHA256 Fingerprint: 0f:4e:9c:dd:26:4b:02:55:50:d1:70:80:63:40:21:4f:e9:44:34:c9:b0:2f:69:7e:c7:10:fc:5f:ea:fb:5e:38 ------BEGIN CERTIFICATE----- -MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3Mg -Q2xhc3MgMiBDQSAxMB4XDTA2MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzEL -MAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MR0wGwYD -VQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7McXA0 -ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLX -l18xoS830r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVB -HfCuuCkslFJgNJQ72uA40Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B -5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/RuFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3 -WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNCMEAwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0PAQH/BAQD -AgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLP -gcIV1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+ -DKhQ7SLHrQVMdvvt7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKu -BctN518fV4bVIJwo+28TOPX2EZL2fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHs -h7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5wwDX3OaJdZtB7WZ+oRxKaJyOk -LY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho ------END CERTIFICATE----- - -# Issuer: CN=EBG Elektronik Sertifika Hizmet Sağlayıcısı O=EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. -# Subject: CN=EBG Elektronik Sertifika Hizmet Sağlayıcısı O=EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. -# Label: "EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1" -# Serial: 5525761995591021570 -# MD5 Fingerprint: 2c:20:26:9d:cb:1a:4a:00:85:b5:b7:5a:ae:c2:01:37 -# SHA1 Fingerprint: 8c:96:ba:eb:dd:2b:07:07:48:ee:30:32:66:a0:f3:98:6e:7c:ae:58 -# SHA256 Fingerprint: 35:ae:5b:dd:d8:f7:ae:63:5c:ff:ba:56:82:a8:f0:0b:95:f4:84:62:c7:10:8e:e9:a0:e5:29:2b:07:4a:af:b2 ------BEGIN CERTIFICATE----- -MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNV -BAMML0VCRyBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx -c8SxMTcwNQYDVQQKDC5FQkcgQmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXpt -ZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAeFw0wNjA4MTcwMDIxMDlaFw0xNjA4 -MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25payBTZXJ0aWZpa2Eg -SGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2ltIFRl -a25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h -4fuXd7hxlugTlkaDT7byX3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAk -tiHq6yOU/im/+4mRDGSaBUorzAzu8T2bgmmkTPiab+ci2hC6X5L8GCcKqKpE+i4s -tPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfreYteIAbTdgtsApWjluTL -dlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZTqNGFav4 -c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8Um -TDGyY5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z -+kI2sSXFCjEmN1ZnuqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0O -Lna9XvNRiYuoP1Vzv9s6xiQFlpJIqkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMW -OeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vmExH8nYQKE3vwO9D8owrXieqW -fo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0Nokb+Clsi7n2 -l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB -/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgw -FoAU587GT/wWZ5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+ -8ygjdsZs93/mQJ7ANtyVDR2tFcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI -6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgmzJNSroIBk5DKd8pNSe/iWtkqvTDO -TLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64kXPBfrAowzIpAoHME -wfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqTbCmY -Iai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJn -xk1Gj7sURT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4Q -DgZxGhBM/nV+/x5XOULK1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9q -Kd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11t -hie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQY9iJSrSq3RZj9W6+YKH4 -7ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9AahH3eU7 -QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT ------END CERTIFICATE----- - -# Issuer: O=certSIGN OU=certSIGN ROOT CA -# Subject: O=certSIGN OU=certSIGN ROOT CA -# Label: "certSIGN ROOT CA" -# Serial: 35210227249154 -# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 -# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b -# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN -9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -# Issuer: CN=CNNIC ROOT O=CNNIC -# Subject: CN=CNNIC ROOT O=CNNIC -# Label: "CNNIC ROOT" -# Serial: 1228079105 -# MD5 Fingerprint: 21:bc:82:ab:49:c4:13:3b:4b:b2:2b:5c:6b:90:9c:19 -# SHA1 Fingerprint: 8b:af:4c:9b:1d:f0:2a:92:f7:da:12:8e:b9:1b:ac:f4:98:60:4b:6f -# SHA256 Fingerprint: e2:83:93:77:3d:a8:45:a6:79:f2:08:0c:c7:fb:44:a3:b7:a1:c3:79:2c:b7:eb:77:29:fd:cb:6a:8d:99:ae:a7 ------BEGIN CERTIFICATE----- -MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJD -TjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2 -MDcwOTE0WhcNMjcwNDE2MDcwOTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMF -Q05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzDo+/hn7E7SIX1mlwh -IhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tizVHa6 -dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZO -V/kbZKKTVrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrC -GHn2emU1z5DrvTOTn1OrczvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gN -v7Sg2Ca+I19zN38m5pIEo3/PIKe38zrKy5nLAgMBAAGjczBxMBEGCWCGSAGG+EIB -AQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscCwQ7vptU7ETAPBgNVHRMB -Af8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991SlgrHAsEO -76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnK -OOK5Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvH -ugDnuL8BV8F3RTIMO/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7Hgvi -yJA/qIYM/PmLXoXLT1tLYhFHxUV8BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fL -buXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2G8kS1sHNzYDzAgE8yGnLRUhj -2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5mmxE= ------END CERTIFICATE----- - -# Issuer: O=Japanese Government OU=ApplicationCA -# Subject: O=Japanese Government OU=ApplicationCA -# Label: "ApplicationCA - Japanese Government" -# Serial: 49 -# MD5 Fingerprint: 7e:23:4e:5b:a7:a5:b4:25:e9:00:07:74:11:62:ae:d6 -# SHA1 Fingerprint: 7f:8a:b0:cf:d0:51:87:6a:66:f3:36:0f:47:c8:8d:8c:d3:35:fc:74 -# SHA256 Fingerprint: 2d:47:43:7d:e1:79:51:21:5a:12:f3:c5:8e:51:c7:29:a5:80:26:ef:1f:cc:0a:5f:b3:d9:dc:01:2f:60:0d:19 ------BEGIN CERTIFICATE----- -MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEc -MBoGA1UEChMTSmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRp -b25DQTAeFw0wNzEyMTIxNTAwMDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYT -AkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zlcm5tZW50MRYwFAYDVQQLEw1BcHBs -aWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp23gdE6H -j6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4fl+K -f5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55 -IrmTwcrNwVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cw -FO5cjFW6WY2H/CPek9AEjP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDiht -QWEjdnjDuGWk81quzMKq2edY3rZ+nYVunyoKb58DKTCXKB28t89UKU5RMfkntigm -/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRUWssmP3HMlEYNllPqa0jQ -k/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNVBAYTAkpQ -MRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOC -seODvOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADlqRHZ3ODrso2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJ -hyzjVOGjprIIC8CFqMjSnHH2HZ9g/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+ -eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYDio+nEhEMy/0/ecGc/WLuo89U -DNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmWdupwX3kSa+Sj -B1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL -rosot4LKGAfmt1t06SAZf7IbiVQ= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G3" -# Serial: 28809105769928564313984085209975885599 -# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 -# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd -# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 ------BEGIN CERTIFICATE----- -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB -mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT -MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s -eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv -cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ -BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg -MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 -BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz -+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm -hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn -5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W -JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL -DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC -huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw -HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB -AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB -zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN -kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH -SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G -spki4cErx5z481+oghLrGREt ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G2" -# Serial: 71758320672825410020661621085256472406 -# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f -# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 -# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 ------BEGIN CERTIFICATE----- -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp -IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi -BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw -MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh -d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig -YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v -dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ -BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 -papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K -DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 -KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox -XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G3" -# Serial: 127614157056681299805556476275995414779 -# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 -# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 -# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB -rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV -BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa -Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl -LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u -MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl -ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm -gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 -YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf -b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 -9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S -zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk -OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV -HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA -2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW -oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c -KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM -m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu -MdRAGmI0Nj81Aa6sY6A= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G2" -# Serial: 80682863203381065782177908751794619243 -# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a -# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 -# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 ------BEGIN CERTIFICATE----- -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL -MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj -KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 -MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV -BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw -NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV -BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH -MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL -So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal -tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG -CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT -qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz -rD6ogRLQy7rQkgu2npaqBA+K ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Universal Root Certification Authority" -# Serial: 85209574734084581917763752644031726877 -# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 -# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 -# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB -vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W -ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX -MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 -IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y -IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh -bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF -9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH -H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H -LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN -/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT -rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw -WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs -exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 -sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ -seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz -4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ -BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR -lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 -7M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" -# Serial: 63143484348153506665311985501458640051 -# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 -# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a -# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp -U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg -SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln -biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm -GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve -fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ -aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj -aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW -kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC -4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga -FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- - -# Issuer: CN=NetLock Arany (Class Gold) Főtanúsítvány O=NetLock Kft. OU=Tanúsítványkiadók (Certification Services) -# Subject: CN=NetLock Arany (Class Gold) Főtanúsítvány O=NetLock Kft. OU=Tanúsítványkiadók (Certification Services) -# Label: "NetLock Arany (Class Gold) Főtanúsítvány" -# Serial: 80544274841616 -# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 -# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 -# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G2" -# Serial: 10000012 -# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a -# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 -# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f ------BEGIN CERTIFICATE----- -MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX -DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 -qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp -uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU -Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE -pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp -5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M -UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN -GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy -5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv -6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK -eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 -B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ -BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov -L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG -SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS -CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen -5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 -IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK -gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL -+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL -vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm -bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk -N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC -Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z -ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== ------END CERTIFICATE----- - -# Issuer: CN=CA Disig O=Disig a.s. -# Subject: CN=CA Disig O=Disig a.s. -# Label: "CA Disig" -# Serial: 1 -# MD5 Fingerprint: 3f:45:96:39:e2:50:87:f7:bb:fe:98:0c:3c:20:98:e6 -# SHA1 Fingerprint: 2a:c8:d5:8b:57:ce:bf:2f:49:af:f2:fc:76:8f:51:14:62:90:7a:41 -# SHA256 Fingerprint: 92:bf:51:19:ab:ec:ca:d0:b1:33:2d:c4:e1:d0:5f:ba:75:b5:67:90:44:ee:0c:a2:6e:93:1f:74:4f:2f:33:cf ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzET -MBEGA1UEBxMKQnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UE -AxMIQ0EgRGlzaWcwHhcNMDYwMzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQsw -CQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcg -YS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgmGErE -Nx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnX -mjxUizkDPw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYD -XcDtab86wYqg6I7ZuUUohwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhW -S8+2rT+MitcE5eN4TPWGqvWP+j1scaMtymfraHtuM6kMgiioTGohQBUgDCZbg8Kp -FhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8wgfwwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0PAQH/BAQD -AgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cu -ZGlzaWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5z -ay9jYS9jcmwvY2FfZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2sv -Y2EvY3JsL2NhX2Rpc2lnLmNybDAaBgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEw -DQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59tWDYcPQuBDRIrRhCA/ec8J9B6 -yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3mkkp7M5+cTxq -EEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ -CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeB -EicTXxChds6KezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFN -PGO+I++MzVpQuGhU+QqZMxEA4Z7CRneC9VkGjCFMhwnN5ag= ------END CERTIFICATE----- - -# Issuer: CN=Juur-SK O=AS Sertifitseerimiskeskus -# Subject: CN=Juur-SK O=AS Sertifitseerimiskeskus -# Label: "Juur-SK" -# Serial: 999181308 -# MD5 Fingerprint: aa:8e:5d:d9:f8:db:0a:58:b7:8d:26:87:6c:82:35:55 -# SHA1 Fingerprint: 40:9d:4b:d9:17:b5:5c:27:b6:9b:64:cb:98:22:44:0d:cd:09:b8:89 -# SHA256 Fingerprint: ec:c3:e9:c3:40:75:03:be:e0:91:aa:95:2f:41:34:8f:f8:8b:aa:86:3b:22:64:be:fa:c8:07:90:15:74:e9:39 ------BEGIN CERTIFICATE----- -MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcN -AQkBFglwa2lAc2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZp -dHNlZXJpbWlza2Vza3VzMRAwDgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMw -MVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMQsw -CQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEQ -MA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOB -SvZiF3tfTQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkz -ABpTpyHhOEvWgxutr2TC+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvH -LCu3GFH+4Hv2qEivbDtPL+/40UceJlfwUR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMP -PbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDaTpxt4brNj3pssAki14sL -2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQFMAMBAf8w -ggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwIC -MIHDHoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDk -AGwAagBhAHMAdABhAHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0 -AHMAZQBlAHIAaQBtAGkAcwBrAGUAcwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABz -AGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABrAGkAbgBuAGkAdABhAG0AaQBz -AGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nwcy8wKwYDVR0f -BCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE -FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcY -P2/v6X2+MA4GA1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOi -CfP+JmeaUOTDBS8rNXiRTHyoERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+g -kcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyLabVAyJRld/JXIWY7zoVAtjNjGr95 -HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678IIbsSt4beDI3poHS -na9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkhMp6q -qIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0Z -TbvGRNs2yyqcjg== ------END CERTIFICATE----- - -# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Label: "Hongkong Post Root CA 1" -# Serial: 1000 -# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca -# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 -# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 ------BEGIN CERTIFICATE----- -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx -FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg -Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG -A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr -b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ -jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn -PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh -ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 -nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h -q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED -MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC -mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 -7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB -oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs -EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO -fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi -AmvZWg== ------END CERTIFICATE----- - -# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Label: "SecureSign RootCA11" -# Serial: 1 -# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 -# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 -# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr -MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG -A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 -MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp -Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD -QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz -i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 -h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV -MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 -UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni -8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC -h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD -VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB -AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm -KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ -X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr -QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 -pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN -QSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -# Issuer: CN=ACEDICOM Root O=EDICOM OU=PKI -# Subject: CN=ACEDICOM Root O=EDICOM OU=PKI -# Label: "ACEDICOM Root" -# Serial: 7029493972724711941 -# MD5 Fingerprint: 42:81:a0:e2:1c:e3:55:10:de:55:89:42:65:96:22:e6 -# SHA1 Fingerprint: e0:b4:32:2e:b2:f6:a5:68:b6:54:53:84:48:18:4a:50:36:87:43:84 -# SHA256 Fingerprint: 03:95:0f:b4:9a:53:1f:3e:19:91:94:23:98:df:a9:e0:ea:32:d7:ba:1c:dd:9b:c8:5d:b5:7e:d9:40:0b:43:4a ------BEGIN CERTIFICATE----- -MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UE -AwwNQUNFRElDT00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00x -CzAJBgNVBAYTAkVTMB4XDTA4MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEW -MBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZF -RElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC -AgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHkWLn7 -09gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7 -XBZXehuDYAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5P -Grjm6gSSrj0RuVFCPYewMYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAK -t0SdE3QrwqXrIhWYENiLxQSfHY9g5QYbm8+5eaA9oiM/Qj9r+hwDezCNzmzAv+Yb -X79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbkHQl/Sog4P75n/TSW9R28 -MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTTxKJxqvQU -fecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI -2Sf23EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyH -K9caUPgn6C9D4zq92Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEae -ZAwUswdbxcJzbPEHXEUkFDWug/FqTYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAP -BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz4SsrSbbXc6GqlPUB53NlTKxQ -MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU9QHnc2VMrFAw -RAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv -bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWIm -fQwng4/F9tqgaHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3 -gvoFNTPhNahXwOf9jU8/kzJPeGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKe -I6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1PwkzQSulgUV1qzOMPPKC8W64iLgpq0i -5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1ThCojz2GuHURwCRi -ipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oIKiMn -MCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZ -o5NjEFIqnxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6 -zqylfDJKZ0DcMDQj3dcEI2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacN -GHk0vFQYXlPKNFHtRQrmjseCNj6nOGOpMCwXEGCSn1WHElkQwg9naRHMTh5+Spqt -r0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3otkYNbn5XOmeUwssfnHdK -Z05phkOTOPu220+DkdRgfks+KzgHVZhepA== ------END CERTIFICATE----- - -# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Label: "Microsec e-Szigno Root CA 2009" -# Serial: 14014712776195784473 -# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 -# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e -# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Label: "GlobalSign Root CA - R3" -# Serial: 4835703278459759426209954 -# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 -# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad -# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH -WD9f ------END CERTIFICATE----- - -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" -# Serial: 6047274297262753887 -# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 -# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa -# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE -BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h -cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy -MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg -Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 -thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM -cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG -L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i -NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h -X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b -m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy -Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja -EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T -KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF -6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh -OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD -VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp -cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv -ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl -AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF -661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 -am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 -ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 -PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS -3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k -SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF -3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM -ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g -StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz -Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB -jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V ------END CERTIFICATE----- - -# Issuer: CN=Izenpe.com O=IZENPE S.A. -# Subject: CN=Izenpe.com O=IZENPE S.A. -# Label: "Izenpe.com" -# Serial: 917563065490389241595536686991402621 -# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 -# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 -# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f ------BEGIN CERTIFICATE----- -MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 -MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 -ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD -VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j -b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq -scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO -xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H -LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX -uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD -yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ -JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q -rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN -BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L -hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB -QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ -HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu -Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg -QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB -BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx -MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA -A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb -laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 -awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo -JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw -LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT -VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk -LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb -UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ -QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ -naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls -QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== ------END CERTIFICATE----- - -# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Label: "Chambers of Commerce Root - 2008" -# Serial: 11806822484801597146 -# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 -# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c -# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 ------BEGIN CERTIFICATE----- -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz -IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz -MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj -dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw -EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp -MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 -28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq -VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q -DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR -5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL -ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a -Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl -UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s -+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 -Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx -hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV -HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 -+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN -YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t -L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy -ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt -IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV -HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w -DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW -PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF -5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 -glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH -FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 -pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD -xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG -tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq -jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De -fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ -d0jQ ------END CERTIFICATE----- - -# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Label: "Global Chambersign Root - 2008" -# Serial: 14541511773111788494 -# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 -# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c -# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca ------BEGIN CERTIFICATE----- -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD -aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx -MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy -cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG -A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl -BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed -KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 -G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 -zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 -ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG -HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 -Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V -yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e -beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r -6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog -zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW -BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr -ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp -ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk -cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt -YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC -CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow -KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI -hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ -UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz -X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x -fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz -a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd -Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd -SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O -AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso -M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge -v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B ------END CERTIFICATE----- - -# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Label: "Go Daddy Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 -# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b -# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI -4uJEvlz36hz1 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 -# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e -# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Services Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 -# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f -# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN -sSi6 ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Commercial O=AffirmTrust -# Subject: CN=AffirmTrust Commercial O=AffirmTrust -# Label: "AffirmTrust Commercial" -# Serial: 8608355977964138876 -# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 -# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 -# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Networking O=AffirmTrust -# Subject: CN=AffirmTrust Networking O=AffirmTrust -# Label: "AffirmTrust Networking" -# Serial: 8957382827206547757 -# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f -# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f -# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium O=AffirmTrust -# Subject: CN=AffirmTrust Premium O=AffirmTrust -# Label: "AffirmTrust Premium" -# Serial: 7893706540734352110 -# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 -# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 -# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQw== ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust -# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust -# Label: "AffirmTrust Premium ECC" -# Serial: 8401224907861490260 -# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d -# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb -# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA" -# Serial: 279744 -# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 -# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e -# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -# Issuer: CN=Certinomis - Autorité Racine O=Certinomis OU=0002 433998903 -# Subject: CN=Certinomis - Autorité Racine O=Certinomis OU=0002 433998903 -# Label: "Certinomis - Autorité Racine" -# Serial: 1 -# MD5 Fingerprint: 7f:30:78:8c:03:e3:ca:c9:0a:e2:c9:ea:1e:aa:55:1a -# SHA1 Fingerprint: 2e:14:da:ec:28:f0:fa:1e:8e:38:9a:4e:ab:eb:26:c0:0a:d3:83:c3 -# SHA256 Fingerprint: fc:bf:e2:88:62:06:f7:2b:27:59:3c:8b:07:02:97:e1:2d:76:9e:d1:0e:d7:93:07:05:a8:09:8e:ff:c1:4d:17 ------BEGIN CERTIFICATE----- -MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjET -MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAk -BgNVBAMMHUNlcnRpbm9taXMgLSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4 -Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNl -cnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYwJAYDVQQDDB1DZXJ0 -aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jY -F1AMnmHawE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N -8y4oH3DfVS9O7cdxbwlyLu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWe -rP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K -/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92NjMD2AR5vpTESOH2VwnHu -7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9qc1pkIuVC -28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6 -lSTClrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1E -nn1So2+WLhl+HPNbxxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB -0iSVL1N6aaLwD4ZFjliCK0wi1F6g530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql09 -5gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna4NH4+ej9Uji29YnfAgMBAAGj -WzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQN -jLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ -KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9s -ov3/4gbIOZ/xWqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZM -OH8oMDX/nyNTt7buFHAAQCvaR6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q -619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40nJ+U8/aGH88bc62UeYdocMMzpXDn -2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1BCxMjidPJC+iKunqj -o3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjvJL1v -nxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG -5ERQL1TEqkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWq -pdEdnV1j6CTmNhTih60bWfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZb -dsLLO7XSAPCjDuGtbkD326C00EauFddEwk01+dIL8hf2rGbVJLJP0RyZwG71fet0 -BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/vgt2Fl43N+bYdJeimUV5 ------END CERTIFICATE----- - -# Issuer: CN=Root CA Generalitat Valenciana O=Generalitat Valenciana OU=PKIGVA -# Subject: CN=Root CA Generalitat Valenciana O=Generalitat Valenciana OU=PKIGVA -# Label: "Root CA Generalitat Valenciana" -# Serial: 994436456 -# MD5 Fingerprint: 2c:8c:17:5e:b1:54:ab:93:17:b5:36:5a:db:d1:c6:f2 -# SHA1 Fingerprint: a0:73:e5:c5:bd:43:61:0d:86:4c:21:13:0a:85:58:57:cc:9c:ea:46 -# SHA256 Fingerprint: 8c:4e:df:d0:43:48:f3:22:96:9e:7e:29:a4:cd:4d:ca:00:46:55:06:1c:16:e1:b0:76:42:2e:f3:42:ad:63:0e ------BEGIN CERTIFICATE----- -MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJF -UzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJ -R1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcN -MDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3WjBoMQswCQYDVQQGEwJFUzEfMB0G -A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScw -JQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+ -WmmmO3I2F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKj -SgbwJ/BXufjpTjJ3Cj9BZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGl -u6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQD0EbtFpKd71ng+CT516nDOeB0/RSrFOy -A8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXteJajCq+TA81yc477OMUxk -Hl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMBAAGjggM7 -MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBr -aS5ndmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIIC -IwYKKwYBBAG/VQIBADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8A -cgBpAGQAYQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIA -YQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIAYQBsAGkAdABhAHQAIABWAGEA -bABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQByAGEAYwBpAPMA -bgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA -aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMA -aQBvAG4AYQBtAGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQA -ZQAgAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEA -YwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBuAHQAcgBhACAAZQBuACAAbABhACAA -ZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAAOgAvAC8AdwB3AHcA -LgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0dHA6 -Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+y -eAT8MIGVBgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQsw -CQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0G -A1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVu -Y2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRhTvW1yEICKrNcda3Fbcrn -lD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdzCkj+IHLt -b8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg -9J63NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XF -ducTZnV+ZfsBn5OHiJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmC -IoaZM3Fa6hlXPZHNqcCjbgcTpsnt+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= ------END CERTIFICATE----- - -# Issuer: CN=A-Trust-nQual-03 O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH OU=A-Trust-nQual-03 -# Subject: CN=A-Trust-nQual-03 O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH OU=A-Trust-nQual-03 -# Label: "A-Trust-nQual-03" -# Serial: 93214 -# MD5 Fingerprint: 49:63:ae:27:f4:d5:95:3d:d8:db:24:86:b8:9c:07:53 -# SHA1 Fingerprint: d3:c0:63:f2:19:ed:07:3e:34:ad:5d:75:0b:32:76:29:ff:d5:9a:f2 -# SHA256 Fingerprint: 79:3c:bf:45:59:b9:fd:e3:8a:b2:2d:f1:68:69:f6:98:81:ae:14:c4:b0:13:9a:c7:88:a7:8a:1a:fc:ca:02:fb ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTA1MDgxNzIyMDAw -MFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM -EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj -lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ -znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH -2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1 -k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs -2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD -VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAVdRU0VlIXLOThaq/Yy/kgM40ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fG -KOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmrsQd7TZjTXLDR8KdCoLXEjq/+ -8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZdJXDRZslo+S4R -FGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS -mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmE -DNuxUCAKGkq6ahq97BvIxYSazQ== ------END CERTIFICATE----- - -# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Label: "TWCA Root Certification Authority" -# Serial: 1 -# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 -# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 -# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Label: "Security Communication RootCA2" -# Serial: 0 -# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 -# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 -# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2011" -# Serial: 0 -# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 -# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d -# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 ------BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix -RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p -YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw -NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK -EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl -cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz -dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ -fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns -bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD -75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP -FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV -HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp -5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu -b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA -A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p -6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 -dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys -Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI -l7WdmplNsDz4SgCbZN2fOUvRJ9e4 ------END CERTIFICATE----- - -# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Label: "Actalis Authentication Root CA" -# Serial: 6271844772424770508 -# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 -# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac -# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -# Issuer: O=Trustis Limited OU=Trustis FPS Root CA -# Subject: O=Trustis Limited OU=Trustis FPS Root CA -# Label: "Trustis FPS Root CA" -# Serial: 36053640375399034304724988975563710553 -# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d -# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 -# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d ------BEGIN CERTIFICATE----- -MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL -ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx -MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc -MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ -AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH -iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj -vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA -0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB -OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ -BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E -FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 -GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW -zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 -1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE -f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F -jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN -ZetX2fNXlrtIzYE= ------END CERTIFICATE----- - -# Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing -# Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing -# Label: "StartCom Certification Authority" -# Serial: 45 -# MD5 Fingerprint: c9:3b:0d:84:41:fc:a4:76:79:23:08:57:de:10:19:16 -# SHA1 Fingerprint: a3:f1:33:3f:e2:42:bf:cf:c5:d1:4e:8f:39:42:98:40:68:10:d1:a0 -# SHA256 Fingerprint: e1:78:90:ee:09:a3:fb:f4:f4:8b:9c:41:4a:17:d6:37:b7:a5:06:47:e9:bc:75:23:22:72:7f:cc:17:42:a9:11 ------BEGIN CERTIFICATE----- -MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEW -MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg -Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM3WhcNMzYwOTE3MTk0NjM2WjB9 -MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi -U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh -cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk -pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf -OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C -Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT -Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi -HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM -Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w -+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+ -Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3 -Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B -26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID -AQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD -VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFul -F2mHMMo0aEPQQa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCC -ATgwLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5w -ZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVk -aWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENvbW1lcmNpYWwgKFN0 -YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0aGUg -c2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93 -d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgG -CWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1 -dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5fPGFf59Jb2vKXfuM/gTF -wWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWmN3PH/UvS -Ta0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst -0OcNOrg+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNc -pRJvkrKTlMeIFw6Ttn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKl -CcWw0bdT82AUuoVpaiF8H3VhFyAXe2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVF -P0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA2MFrLH9ZXF2RsXAiV+uKa0hK -1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBsHvUwyKMQ5bLm -KhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE -JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ -8dCAWZvLMdibD4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnm -fyWl8kgAwKQB2j8= ------END CERTIFICATE----- - -# Issuer: CN=StartCom Certification Authority G2 O=StartCom Ltd. -# Subject: CN=StartCom Certification Authority G2 O=StartCom Ltd. -# Label: "StartCom Certification Authority G2" -# Serial: 59 -# MD5 Fingerprint: 78:4b:fb:9e:64:82:0a:d3:b8:4c:62:f3:64:f2:90:64 -# SHA1 Fingerprint: 31:f1:fd:68:22:63:20:ee:c6:3b:3f:9d:ea:4a:3e:53:7c:7c:39:17 -# SHA256 Fingerprint: c7:ba:65:67:de:93:a7:98:ae:1f:aa:79:1e:71:2d:37:8f:ae:1f:93:c4:39:7f:ea:44:1b:b7:cb:e6:fd:59:95 ------BEGIN CERTIFICATE----- -MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEW -MBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkgRzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1 -OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoG -A1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRzIwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8Oo1XJ -JZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsD -vfOpL9HG4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnoo -D/Uefyf3lLE3PbfHkffiAez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/ -Q0kGi4xDuFby2X8hQxfqp0iVAXV16iulQ5XqFYSdCI0mblWbq9zSOdIxHWDirMxW -RST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbsO+wmETRIjfaAKxojAuuK -HDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8HvKTlXcxN -nw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM -0D4LnMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/i -UUjXuG+v+E5+M5iSFGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9 -Ha90OrInwMEePnWjFqmveiJdnxMaz6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHg -TuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE -AwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJKoZIhvcNAQEL -BQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K -2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfX -UfEpY9Z1zRbkJ4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl -6/2o1PXWT6RbdejF0mCy2wl+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK -9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG/+gyRr61M3Z3qAFdlsHB1b6uJcDJ -HgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTcnIhT76IxW1hPkWLI -wpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/XldblhY -XzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5l -IxKVCCIcl85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoo -hdVddLHRDiBYmxOlsGOm7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulr -so8uBtjRkcfGEvRM/TAXw8HaOFvjqermobp573PYtlNXLfbQ4ddI ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 2 Root CA" -# Serial: 2 -# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 -# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 -# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 3 Root CA" -# Serial: 2 -# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec -# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 -# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 3" -# Serial: 1 -# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef -# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 -# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p -TpPDpFQUWw== ------END CERTIFICATE----- - -# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Label: "EE Certification Centre Root CA" -# Serial: 112324828676200291871926431888494945866 -# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f -# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 -# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 ------BEGIN CERTIFICATE----- -MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 -MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 -czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG -CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy -MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl -ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS -b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy -euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO -bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw -WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d -MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE -1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ -zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB -BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF -BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV -v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG -E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u -uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW -iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v -GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= ------END CERTIFICATE----- - -# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Aralık 2007 -# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Aralık 2007 -# Label: "TURKTRUST Certificate Services Provider Root 2007" -# Serial: 1 -# MD5 Fingerprint: 2b:70:20:56:86:82:a0:18:c8:07:53:12:28:70:21:72 -# SHA1 Fingerprint: f1:7f:6f:b6:31:dc:99:e3:a3:c8:7f:fe:1c:f1:81:10:88:d9:60:33 -# SHA256 Fingerprint: 97:8c:d9:66:f2:fa:a0:7b:a7:aa:95:00:d9:c0:2e:9d:77:f2:cd:ad:a6:ad:6b:a7:4a:f4:b9:1c:66:59:3c:50 ------BEGIN CERTIFICATE----- -MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOc -UktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx -c8SxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xS -S1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kg -SGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4XDTA3MTIyNTE4Mzcx -OVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxla3Ry -b25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMC -VFIxDzANBgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDE -sGxldGnFn2ltIHZlIEJpbGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7F -ni4gKGMpIEFyYWzEsWsgMjAwNzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9NYvDdE3ePYakqtdTyuTFY -KTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQvKUmi8wUG -+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveG -HtyaKhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6P -IzdezKKqdfcYbwnTrqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M -733WB2+Y8a+xwXrXgTW4qhe04MsCAwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHk -Yb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G -CSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/sPx+EnWVUXKgW -AkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I -aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5 -mxRZNTZPz/OOXl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsa -XRik7r4EW5nVcV9VZWRi1aKbBFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZ -qxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAKpoRq0Tl9 ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 2009" -# Serial: 623603 -# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f -# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 -# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y -Johw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 EV 2009" -# Serial: 623604 -# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 -# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 -# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -# Issuer: CN=Autoridad de Certificacion Raiz del Estado Venezolano O=Sistema Nacional de Certificacion Electronica OU=Superintendencia de Servicios de Certificacion Electronica -# Subject: CN=PSCProcert O=Sistema Nacional de Certificacion Electronica OU=Proveedor de Certificados PROCERT -# Label: "PSCProcert" -# Serial: 11 -# MD5 Fingerprint: e6:24:e9:12:01:ae:0c:de:8e:85:c4:ce:a3:12:dd:ec -# SHA1 Fingerprint: 70:c1:8d:74:b4:28:81:0a:e4:fd:a5:75:d7:01:9f:99:b0:3d:50:74 -# SHA256 Fingerprint: 3c:fc:3c:14:d1:f6:84:ff:17:e3:8c:43:ca:44:0c:00:b9:67:ec:93:3e:8b:fe:06:4c:a1:d7:2c:90:f2:ad:b0 ------BEGIN CERTIFICATE----- -MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1 -dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9s -YW5vMQswCQYDVQQGEwJWRTEQMA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlz -dHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0 -aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBlcmludGVuZGVuY2lh -IGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUwIwYJ -KoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEw -MFoXDTIwMTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHBy -b2NlcnQubmV0LnZlMQ8wDQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGEx -KjAoBgNVBAsTIVByb3ZlZWRvciBkZSBDZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQG -A1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9u -aWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo9 -7BVCwfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74 -BCXfgI8Qhd19L3uA3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38G -ieU89RLAu9MLmV+QfI4tL3czkkohRqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9 -JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmOEO8GqQKJ/+MMbpfg353bIdD0 -PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG20qCZyFSTXai2 -0b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH -0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/ -6mnbVSKVUyqUtd+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1m -v6JpIzi4mWCZDlZTOpx+FIywBm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7 -K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvpr2uKGcfLFFb14dq12fy/czja+eev -bqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/AgEBMDcGA1UdEgQw -MC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAzNi0w -MB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFD -gBStuyIdxuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0 -b3JpZGFkIGRlIENlcnRpZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xh -bm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQHEwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0 -cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5hY2lvbmFsIGRlIENlcnRp -ZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5kZW5jaWEg -ZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkq -hkiG9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQD -AgEGME0GA1UdEQRGMESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0w -MDAwMDKgGwYFYIZeAgKgEgwQUklGLUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEag -RKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9sY3IvQ0VSVElGSUNBRE8t -UkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNyYWl6LnN1c2Nl -cnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v -Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsG -AQUFBwIBFh5odHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcN -AQELBQADggIBACtZ6yKZu4SqT96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS -1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmNg7+mvTV+LFwxNG9s2/NkAZiqlCxB -3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4quxtxj7mkoP3Yldmv -Wb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1n8Gh -HVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHm -pHmJWhSnFFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXz -sOfIt+FTvZLm8wyWuevo5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bE -qCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq3TNWOByyrYDT13K9mmyZY+gAu0F2Bbdb -mRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5poLWccret9W6aAjtmcz9 -opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3YeMLEYC/H -YvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km ------END CERTIFICATE----- - -# Issuer: CN=China Internet Network Information Center EV Certificates Root O=China Internet Network Information Center -# Subject: CN=China Internet Network Information Center EV Certificates Root O=China Internet Network Information Center -# Label: "China Internet Network Information Center EV Certificates Root" -# Serial: 1218379777 -# MD5 Fingerprint: 55:5d:63:00:97:bd:6a:97:f5:67:ab:4b:fb:6e:63:15 -# SHA1 Fingerprint: 4f:99:aa:93:fb:2b:d1:37:26:a1:99:4a:ce:7f:f0:05:f2:93:5d:1e -# SHA256 Fingerprint: 1c:01:c6:f4:db:b2:fe:fc:22:55:8b:2b:ca:32:56:3f:49:84:4a:cf:c3:2b:7b:e4:b0:ff:59:9f:9e:8c:7a:f7 ------BEGIN CERTIFICATE----- -MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC -Q04xMjAwBgNVBAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24g -Q2VudGVyMUcwRQYDVQQDDD5DaGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0 -aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMgUm9vdDAeFw0xMDA4MzEwNzExMjVa -Fw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAGA1UECgwpQ2hpbmEg -SW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMMPkNo -aW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRp -ZmljYXRlcyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z -7r07eKpkQ0H1UN+U8i6yjUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA// -DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV98YPjUesWgbdYavi7NifFy2cyjw1l1Vx -zUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2HklY0bBoQCxfVWhyXWIQ8 -hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23KzhmBsUs -4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54u -gQEC7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oY -NJKiyoOCWTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4E -FgQUfHJLOcfA22KlT5uqGDSSosqDglkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3 -j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd50XPFtQO3WKwMVC/GVhMPMdoG -52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM7+czV0I664zB -echNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws -ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrI -zo9uoV1/A3U05K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATy -wy39FCqQmbkHzJ8= ------END CERTIFICATE----- - -# Issuer: CN=Swisscom Root CA 2 O=Swisscom OU=Digital Certificate Services -# Subject: CN=Swisscom Root CA 2 O=Swisscom OU=Digital Certificate Services -# Label: "Swisscom Root CA 2" -# Serial: 40698052477090394928831521023204026294 -# MD5 Fingerprint: 5b:04:69:ec:a5:83:94:63:18:a7:86:d0:e4:f2:6e:19 -# SHA1 Fingerprint: 77:47:4f:c6:30:e4:0f:4c:47:64:3f:84:ba:b8:c6:95:4a:8a:41:ec -# SHA256 Fingerprint: f0:9b:12:2c:71:14:f4:a0:9b:d4:ea:4f:4a:99:d5:58:b4:6e:4c:25:cd:81:14:0d:29:c0:56:13:91:4c:38:41 ------BEGIN CERTIFICATE----- -MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBk -MQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0 -YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3Qg -Q0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2MjUwNzM4MTRaMGQxCzAJBgNVBAYT -AmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZp -Y2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvEr -jw0DzpPMLgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r -0rk0X2s682Q2zsKwzxNoysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f -2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJwDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVP -ACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpHWrumnf2U5NGKpV+GY3aF -y6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1aSgJA/MTA -tukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL -6yxSNLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0 -uPoTXGiTOmekl9AbmbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrAL -acywlKinh/LTSlDcX3KwFnUey7QYYpqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velh -k6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3qPyZ7iVNTA6z00yPhOgpD/0Q -VAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0hBBYw -FDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O -BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqh -b97iEoHF8TwuMA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4R -fbgZPnm3qKhyN2abGu2sEzsOv2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv -/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ82YqZh6NM4OKb3xuqFp1mrjX2lhI -REeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLzo9v/tdhZsnPdTSpx -srpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcsa0vv -aGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciAT -woCqISxxOQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99n -Bjx8Oto0QuFmtEYE3saWmA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5W -t6NlUe07qxS/TFED6F+KBZvuim6c779o+sjaC+NCydAXFJy3SuCvkychVSa1ZC+N -8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TCrvJcwhbtkj6EPnNgiLx2 -9CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX5OfNeOI5 -wSsSnqaeG8XmDtkx2Q== ------END CERTIFICATE----- - -# Issuer: CN=Swisscom Root EV CA 2 O=Swisscom OU=Digital Certificate Services -# Subject: CN=Swisscom Root EV CA 2 O=Swisscom OU=Digital Certificate Services -# Label: "Swisscom Root EV CA 2" -# Serial: 322973295377129385374608406479535262296 -# MD5 Fingerprint: 7b:30:34:9f:dd:0a:4b:6b:35:ca:31:51:28:5d:ae:ec -# SHA1 Fingerprint: e7:a1:90:29:d3:d5:52:dc:0d:0f:c6:92:d3:ea:88:0d:15:2e:1a:6b -# SHA256 Fingerprint: d9:5f:ea:3c:a4:ee:dc:e7:4c:d7:6e:75:fc:6d:1f:f6:2c:44:1f:0f:a8:bc:77:f0:34:b1:9e:5d:b2:58:01:5d ------BEGIN CERTIFICATE----- -MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAw -ZzELMAkGA1UEBhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdp -dGFsIENlcnRpZmljYXRlIFNlcnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290 -IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcNMzEwNjI1MDg0NTA4WjBnMQswCQYD -VQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2Vy -dGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYgQ0Eg -MjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7Bx -UglgRCgzo3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD -1ycfMQ4jFrclyxy0uYAyXhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPH -oCE2G3pXKSinLr9xJZDzRINpUKTk4RtiGZQJo/PDvO/0vezbE53PnUgJUmfANykR -HvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8LiqG12W0OfvrSdsyaGOx9/ -5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaHZa0zKcQv -idm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHL -OdAGalNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaC -NYGu+HuB5ur+rPQam3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f -46Fq9mDU5zXNysRojddxyNMkM3OxbPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCB -UWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDixzgHcgplwLa7JSnaFp6LNYth -7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/BAQDAgGGMB0G -A1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED -MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWB -bj2ITY1x0kbBbkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6x -XCX5145v9Ydkn+0UjrgEjihLj6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98T -PLr+flaYC/NUn81ETm484T4VvwYmneTwkLbUwp4wLh/vx3rEUMfqe9pQy3omywC0 -Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7XwgiG/W9mR4U9s70 -WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH59yL -Gn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm -7JFe3VE/23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4S -nr8PyQUQ3nqjsTzyP6WqJ3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VN -vBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyAHmBR3NdUIR7KYndP+tiPsys6DXhyyWhB -WkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/giuMod89a2GQ+fYWVq6nTI -fI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuWl8PVP3wb -I+2ksx0WckNLIOFZfsLorSa/ovc= ------END CERTIFICATE----- - -# Issuer: CN=CA Disig Root R1 O=Disig a.s. -# Subject: CN=CA Disig Root R1 O=Disig a.s. -# Label: "CA Disig Root R1" -# Serial: 14052245610670616104 -# MD5 Fingerprint: be:ec:11:93:9a:f5:69:21:bc:d7:c1:c0:67:89:cc:2a -# SHA1 Fingerprint: 8e:1c:74:f8:a6:20:b9:e5:8a:f4:61:fa:ec:2b:47:56:51:1a:52:c6 -# SHA256 Fingerprint: f9:6f:23:f4:c3:e7:9c:07:7a:46:98:8d:5a:f5:90:06:76:a0:f0:39:cb:64:5d:d1:75:49:b2:16:c8:24:40:ce ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQy -MDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjEw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy3QRk -D2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/o -OI7bm+V8u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3A -fQ+lekLZWnDZv6fXARz2m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJe -IgpFy4QxTaz+29FHuvlglzmxZcfe+5nkCiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8n -oc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTaYVKvJrT1cU/J19IG32PK -/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6vpmumwKj -rckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD -3AjLLhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE -7cderVC6xkGbrPAXZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkC -yC2fg69naQanMVXVz0tv/wQFx1isXxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLd -qvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ04IwDQYJKoZI -hvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR -xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaA -SfX8MPWbTx9BLxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXo -HqJPYNcHKfyyo6SdbhWSVhlMCrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpB -emOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5GfbVSUZP/3oNn6z4eGBrxEWi1CXYBmC -AMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85YmLLW1AL14FABZyb -7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKSds+x -DzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvk -F7mGnjixlAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqF -a3qdnom2piiZk4hA9z7NUaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsT -Q6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJa7+h89n07eLw4+1knj0vllJPgFOL ------END CERTIFICATE----- - -# Issuer: CN=CA Disig Root R2 O=Disig a.s. -# Subject: CN=CA Disig Root R2 O=Disig a.s. -# Label: "CA Disig Root R2" -# Serial: 10572350602393338211 -# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 -# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 -# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy -MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe -NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH -PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I -x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe -QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR -yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO -QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 -H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ -QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD -i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs -nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 -rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI -hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf -GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb -lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka -+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal -TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i -nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 -gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr -G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os -zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x -L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Label: "ACCVRAIZ1" -# Serial: 6828503384748696800 -# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 -# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 -# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Label: "TWCA Global Root CA" -# Serial: 3262 -# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 -# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 -# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy -KwbQBM0= ------END CERTIFICATE----- - -# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Label: "TeliaSonera Root CA v1" -# Serial: 199041966741090107964904287217786801558 -# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c -# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 -# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -# Issuer: CN=E-Tugra Certification Authority O=E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. OU=E-Tugra Sertifikasyon Merkezi -# Subject: CN=E-Tugra Certification Authority O=E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. OU=E-Tugra Sertifikasyon Merkezi -# Label: "E-Tugra Certification Authority" -# Serial: 7667447206703254355 -# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 -# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 -# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c ------BEGIN CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV -BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC -aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV -BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 -Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz -MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ -BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp -em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN -ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY -B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH -D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF -Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo -q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D -k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH -fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut -dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM -ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 -zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn -rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX -U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 -Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 -XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF -Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR -HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY -GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c -77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 -+GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK -vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 -FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl -yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P -AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD -y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d -NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 2" -# Serial: 1 -# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a -# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 -# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6Fuwg== ------END CERTIFICATE----- - -# Issuer: CN=Atos TrustedRoot 2011 O=Atos -# Subject: CN=Atos TrustedRoot 2011 O=Atos -# Label: "Atos TrustedRoot 2011" -# Serial: 6643877497813316402 -# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 -# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 -# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 1 G3" -# Serial: 687049649626669250736271037606554624078720034195 -# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab -# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 -# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 -MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV -wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe -rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 -68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh -4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp -UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o -abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc -3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G -KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt -hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO -Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt -zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD -ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 -cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN -qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 -YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv -b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 -8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k -NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj -ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp -q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt -nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2 G3" -# Serial: 390156079458959257446133169266079962026824725800 -# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 -# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 -# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 -MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf -qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW -n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym -c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ -O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 -o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j -IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq -IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz -8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh -vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l -7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG -cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD -ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC -roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga -W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n -lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE -+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV -csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd -dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg -KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM -HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 -WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3 G3" -# Serial: 268090761170461462463995952157327242137089239581 -# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 -# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d -# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 -MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR -/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu -FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR -U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c -ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR -FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k -A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw -eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl -sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp -VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q -A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ -ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD -ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI -FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv -oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg -u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP -0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf -3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl -8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ -DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN -PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ -ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G2" -# Serial: 15385348160840213938643033620894905419 -# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d -# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f -# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 ------BEGIN CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5w== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G3" -# Serial: 15459312981008553731928384953135426796 -# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb -# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 -# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 ------BEGIN CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv -6pZjamVFkpUBtA== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G2" -# Serial: 4293743540046975378534879503202253541 -# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 -# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 -# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f ------BEGIN CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrY= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G3" -# Serial: 7089244469030293291760083333884364146 -# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca -# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e -# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 ------BEGIN CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 -sycX ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Trusted Root G4" -# Serial: 7451500558977370777930084869016614236 -# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 -# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 -# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 ------BEGIN CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ ------END CERTIFICATE----- - -# Issuer: CN=Certification Authority of WoSign O=WoSign CA Limited -# Subject: CN=Certification Authority of WoSign O=WoSign CA Limited -# Label: "WoSign" -# Serial: 125491772294754854453622855443212256657 -# MD5 Fingerprint: a1:f2:f9:b5:d2:c8:7a:74:b8:f3:05:f1:d7:e1:84:8d -# SHA1 Fingerprint: b9:42:94:bf:91:ea:8f:b6:4b:e6:10:97:c7:fb:00:13:59:b6:76:cb -# SHA256 Fingerprint: 4b:22:d5:a6:ae:c9:9f:3c:db:79:aa:5e:c0:68:38:47:9c:d5:ec:ba:71:64:f7:f2:2d:c1:d6:5f:63:d8:57:08 ------BEGIN CERTIFICATE----- -MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBV -MQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNV -BAMTIUNlcnRpZmljYXRpb24gQXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgw -MTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFX -b1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvcqN -rLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1U -fcIiePyOCbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcScc -f+Hb0v1naMQFXQoOXXDX2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2 -ZjC1vt7tj/id07sBMOby8w7gLJKA84X5KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4M -x1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR+ScPewavVIMYe+HdVHpR -aG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ezEC8wQjch -zDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDar -uHqklWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221K -mYo0SLwX3OSACCK28jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvA -Sh0JWzko/amrzgD5LkhLJuYwTKVYyrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWv -HYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0CAwEAAaNCMEAwDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R8bNLtwYgFP6H -EtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1 -LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJ -MuYhOZO9sxXqT2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2e -JXLOC62qx1ViC777Y7NhRCOjy+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VN -g64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC2nz4SNAzqfkHx5Xh9T71XXG68pWp -dIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes5cVAWubXbHssw1ab -R80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/EaEQ -PkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGce -xGATVdVhmVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+ -J7x6v+Db9NpSvd4MVHAxkUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMl -OtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGikpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWT -ee5Ehr7XHuQe+w== ------END CERTIFICATE----- - -# Issuer: CN=CA 沃通根证书 O=WoSign CA Limited -# Subject: CN=CA 沃通根证书 O=WoSign CA Limited -# Label: "WoSign China" -# Serial: 106921963437422998931660691310149453965 -# MD5 Fingerprint: 78:83:5b:52:16:76:c4:24:3b:83:78:e8:ac:da:9a:93 -# SHA1 Fingerprint: 16:32:47:8d:89:f9:21:3a:92:00:85:63:f5:a4:a7:d3:12:40:8a:d6 -# SHA256 Fingerprint: d6:f0:34:bd:94:aa:23:3f:02:97:ec:a4:24:5b:28:39:73:e4:47:aa:59:0f:31:0c:77:f4:8f:df:83:11:22:54 ------BEGIN CERTIFICATE----- -MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBG -MQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNV -BAMMEkNBIOayg+mAmuagueivgeS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgw -MTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRl -ZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k8H/r -D195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld1 -9AXbbQs5uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExf -v5RxadmWPgxDT74wwJ85dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnk -UkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+L -NVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFyb7Ao65vh4YOhn0pdr8yb -+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc76DbT52V -qyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6K -yX2m+Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0G -AbQOXDBGVWCvOGU6yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaK -J/kR8slC/k7e3x9cxKSGhxYzoacXGKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwEC -AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUAA4ICAQBqinA4 -WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6 -yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj -/feTZU7n85iYr83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6 -jBAyvd0zaziGfjk9DgNyp115j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2 -ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0AkLppRQjbbpCBhqcqBT/mhDn4t/lX -X0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97qA4bLJyuQHCH2u2n -FoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Yjj4D -u9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10l -O1Hm13ZBONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Le -ie2uPAmvylezkolwQOQvT8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR1 -2KvxAmLBsX5VYc8T1yaw15zLKYs4SgsOkI26oQ== ------END CERTIFICATE----- - -# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Label: "COMODO RSA Certification Authority" -# Serial: 101909084537582093308941363524873193117 -# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 -# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 -# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB -NVOFBkpdn627G190 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Label: "USERTrust RSA Certification Authority" -# Serial: 2645093764781058787591871645665788717 -# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 -# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e -# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 ------BEGIN CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG -jjxDah2nGN59PRbxYvnKkKj9 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Label: "USERTrust ECC Certification Authority" -# Serial: 123013823720199481456569720443997572134 -# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 -# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 -# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a ------BEGIN CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Label: "GlobalSign ECC Root CA - R4" -# Serial: 14367148294922964480859022125800977897474 -# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e -# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb -# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c ------BEGIN CERTIFICATE----- -MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ -FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F -uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX -kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs -ewv4n4Q= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Label: "GlobalSign ECC Root CA - R5" -# Serial: 32785792099990507226680698011560947931244 -# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 -# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa -# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 ------BEGIN CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO -xwy8p2Fp8fc74SrL+SvzZpA3 ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G3" -# Serial: 10003001 -# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 -# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc -# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX -DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP -cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW -IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX -xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy -KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR -9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az -5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 -6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 -Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP -bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt -BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt -XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd -INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD -U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp -LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 -Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp -gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh -/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw -0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A -fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq -4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR -1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ -QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM -94B7IWcnMFk= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Label: "Staat der Nederlanden EV Root CA" -# Serial: 10000013 -# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba -# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb -# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a ------BEGIN CERTIFICATE----- -MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y -MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg -TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS -b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS -M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC -UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d -Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p -rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l -pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb -j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC -KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS -/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X -cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH -1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP -px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 -MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI -eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u -2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS -v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC -wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy -CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e -vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 -Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa -Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL -eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 -FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc -7uzXLg== ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Label: "IdenTrust Commercial Root CA 1" -# Serial: 13298821034946342390520003877796839426 -# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 -# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 -# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu -VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw -MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw -JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT -3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU -+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp -S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 -bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi -T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL -vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK -Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK -dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT -c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv -l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N -iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD -ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt -LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 -nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 -+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK -W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT -AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq -l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG -4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ -mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A -7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Label: "IdenTrust Public Sector Root CA 1" -# Serial: 13298821034946342390521976156843933698 -# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba -# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd -# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu -VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN -MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 -MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 -ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy -RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS -bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF -/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R -3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw -EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy -9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V -GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ -2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV -WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD -W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN -AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV -DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 -TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G -lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW -mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df -WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 -+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ -tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA -GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv -8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - G2" -# Serial: 1246989352 -# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 -# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 -# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - EC1" -# Serial: 51543124481930649114116133369 -# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc -# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 -# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - -# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority -# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority -# Label: "CFCA EV ROOT" -# Serial: 407555286 -# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 -# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 -# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su ------END CERTIFICATE----- - -# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5 O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. -# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5 O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. -# Label: "TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5" -# Serial: 156233699172481 -# MD5 Fingerprint: da:70:8e:f0:22:df:93:26:f6:5f:9f:d3:15:06:52:4e -# SHA1 Fingerprint: c4:18:f6:4d:46:d1:df:00:3d:27:30:13:72:43:a9:12:11:c6:75:fb -# SHA256 Fingerprint: 49:35:1b:90:34:44:c1:85:cc:dc:5c:69:3d:24:d8:55:5c:b2:08:d6:a8:14:13:07:69:9f:4a:f0:63:19:9d:78 ------BEGIN CERTIFICATE----- -MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UE -BhMCVFIxDzANBgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxn -aSDEsGxldGnFn2ltIHZlIEJpbGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkg -QS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1QgRWxla3Ryb25payBTZXJ0aWZpa2Eg -SGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAwODA3MDFaFw0yMzA0 -MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0wSwYD -VQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8 -dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCUZ4WWe60ghUEoI5RHwWrom -/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537jVJp45wnEFPzpALFp/kR -Gml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1mep5Fimh3 -4khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z -5UNP9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0 -hO8EuPbJbKoCPrZV4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QID -AQABo0IwQDAdBgNVHQ4EFgQUVpkHHtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJ5FdnsX -SDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPoBP5yCccLqh0l -VX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq -URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nf -peYVhDfwwvJllpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CF -Yv4HAqGEVka+lgqaE9chTLd8B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW -+qtB4Uu2NQvAmxU= ------END CERTIFICATE----- - -# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6 O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. -# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6 O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. -# Label: "TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6" -# Serial: 138134509972618 -# MD5 Fingerprint: f8:c5:ee:2a:6b:be:95:8d:08:f7:25:4a:ea:71:3e:46 -# SHA1 Fingerprint: 8a:5c:8c:ee:a5:03:e6:05:56:ba:d8:1b:d4:f6:c9:b0:ed:e5:2f:e0 -# SHA256 Fingerprint: 8d:e7:86:55:e1:be:7f:78:47:80:0b:93:f6:94:d2:1d:36:8c:c0:6e:03:3e:7f:ab:04:bb:5e:b9:9d:a6:b7:00 ------BEGIN CERTIFICATE----- -MIIEJjCCAw6gAwIBAgIGfaHyZeyKMA0GCSqGSIb3DQEBCwUAMIGxMQswCQYDVQQG -EwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0wSwYDVQQKDERUw5xSS1RSVVNUIEJpbGdp -IMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBB -LsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBI -aXptZXQgU2HEn2xhecSxY8Sxc8SxIEg2MB4XDTEzMTIxODA5MDQxMFoXDTIzMTIx -NjA5MDQxMFowgbExCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExTTBLBgNV -BAoMRFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBCaWxpxZ9pbSBHw7x2 -ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMUIwQAYDVQQDDDlUw5xSS1RSVVNUIEVs -ZWt0cm9uaWsgU2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLEgSDYwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCdsGjW6L0UlqMACprx9MfMkU1x -eHe59yEmFXNRFpQJRwXiM/VomjX/3EsvMsew7eKC5W/a2uqsxgbPJQ1BgfbBOCK9 -+bGlprMBvD9QFyv26WZV1DOzXPhDIHiTVRZwGTLmiddk671IUP320EEDwnS3/faA -z1vFq6TWlRKb55cTMgPp1KtDWxbtMyJkKbbSk60vbNg9tvYdDjTu0n2pVQ8g9P0p -u5FbHH3GQjhtQiht1AH7zYiXSX6484P4tZgvsycLSF5W506jM7NE1qXyGJTtHB6p -lVxiSvgNZ1GpryHV+DKdeboaX+UEVU0TRv/yz3THGmNtwx8XEsMeED5gCLMxAgMB -AAGjQjBAMB0GA1UdDgQWBBTdVRcT9qzoSCHK77Wv0QAy7Z6MtTAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAb1gNl0Oq -FlQ+v6nfkkU/hQu7VtMMUszIv3ZnXuaqs6fvuay0EBQNdH49ba3RfdCaqaXKGDsC -QC4qnFAUi/5XfldcEQlLNkVS9z2sFP1E34uXI9TDwe7UU5X+LEr+DXCqu4svLcsy -o4LyVN/Y8t3XSHLuSqMplsNEzm61kod2pLv0kmzOLBQJZo6NrRa1xxsJYTvjIKID -gI6tflEATseWhvtDmHd9KMeP2Cpu54Rvl0EpABZeTeIT6lnAY2c6RPuY/ATTMHKm -9ocJV612ph1jmv3XZch4gyt1O6VbuA1df74jrlZVlFjvH4GMKrLN5ptjnhi85WsG -tAuYSyher4hYyw== ------END CERTIFICATE----- - -# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 -# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 -# Label: "Certinomis - Root CA" -# Serial: 1 -# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f -# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 -# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 ------BEGIN CERTIFICATE----- -MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET -MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb -BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz -MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx -FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g -Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 -fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl -LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV -WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF -TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb -5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc -CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri -wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ -wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG -m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 -F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng -WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 -2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF -AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ -0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw -F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS -g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj -qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN -h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ -ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V -btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj -Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ -8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW -gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= ------END CERTIFICATE----- -# Issuer: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Subject: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Label: "Entrust.net Secure Server CA" -# Serial: 927650371 -# MD5 Fingerprint: df:f2:80:73:cc:f1:e6:61:73:fc:f5:42:e9:c5:7c:ee -# SHA1 Fingerprint: 99:a6:9b:e6:1a:fe:88:6b:4d:2b:82:00:7c:b8:54:fc:31:7e:15:39 -# SHA256 Fingerprint: 62:f2:40:27:8c:56:4c:4d:d8:bf:7d:9d:4f:6f:36:6e:a8:94:d2:2f:5f:34:d9:89:a9:83:ac:ec:2f:ff:ed:50 ------BEGIN CERTIFICATE----- -MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC -VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u -ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc -KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u -ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1 -MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE -ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j -b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF -bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg -U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA -A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/ -I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3 -wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC -AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb -oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5 -BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p -dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk -MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp -b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu -dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0 -MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi -E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa -MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI -hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN -95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd -2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= ------END CERTIFICATE----- - -# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority -# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority -# Label: "ValiCert Class 2 VA" -# Serial: 1 -# MD5 Fingerprint: a9:23:75:9b:ba:49:36:6e:31:c2:db:f2:e7:66:ba:87 -# SHA1 Fingerprint: 31:7a:2a:d0:7f:2b:33:5e:f5:a1:c3:4e:4b:57:e8:b7:d8:f1:fc:a6 -# SHA256 Fingerprint: 58:d0:17:27:9c:d4:dc:63:ab:dd:b1:96:a6:c9:90:6c:30:c4:e0:87:83:ea:e8:c1:60:99:54:d6:93:55:59:6b ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 -IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz -BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y -aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG -9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy -NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y -azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw -Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl -cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY -dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9 -WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS -v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v -UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu -IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC -W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd ------END CERTIFICATE----- - -# Issuer: CN=NetLock Expressz (Class C) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok -# Subject: CN=NetLock Expressz (Class C) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok -# Label: "NetLock Express (Class C) Root" -# Serial: 104 -# MD5 Fingerprint: 4f:eb:f1:f0:70:c2:80:63:5d:58:9f:da:12:3c:a9:c4 -# SHA1 Fingerprint: e3:92:51:2f:0a:cf:f5:05:df:f6:de:06:7f:75:37:e1:65:ea:57:4b -# SHA256 Fingerprint: 0b:5e:ed:4e:84:64:03:cf:55:e0:65:84:84:40:ed:2a:82:75:8b:f5:b9:aa:1f:25:3d:46:13:cf:a0:80:ff:3f ------BEGIN CERTIFICATE----- -MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUx -ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0 -b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQD -EytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4X -DTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJBgNVBAYTAkhVMREw -DwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9u -c2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMr -TmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNA -OoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC -2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwW -RMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0P -AQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEW -ggJNRklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0 -YWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFz -b2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBO -ZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2ZWRpLiBB -IGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVs -b2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs -ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25s -YXBqYW4gYSBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kg -a2VyaGV0byBheiBlbGxlbm9yemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4g -SU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0 -aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQUyBhdmFpbGFibGUg -YXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwgYXQg -Y3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmY -ta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2g -pO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4 -Fp1hBWeAyNDYpQcCNJgEjTME1A== ------END CERTIFICATE----- - -# Issuer: CN=NetLock Uzleti (Class B) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok -# Subject: CN=NetLock Uzleti (Class B) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok -# Label: "NetLock Business (Class B) Root" -# Serial: 105 -# MD5 Fingerprint: 39:16:aa:b9:6a:41:e1:14:69:df:9e:6c:3b:72:dc:b6 -# SHA1 Fingerprint: 87:9f:4b:ee:05:df:98:58:3b:e3:60:d6:33:e7:0d:3f:fe:98:71:af -# SHA256 Fingerprint: 39:df:7b:68:2b:7b:93:8f:84:71:54:81:cc:de:8d:60:d8:f2:2e:c5:98:87:7d:0a:aa:c1:2b:59:18:2b:03:12 ------BEGIN CERTIFICATE----- -MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUx -ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0 -b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQD -EylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05 -OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYDVQQGEwJIVTERMA8G -A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh -Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5l -dExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqG -SIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xK -gZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riX -iK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvc -Q7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8E -BAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1G -SUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFu -b3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBh -bGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExv -Y2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGln -aXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0 -IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh -c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGph -biBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJo -ZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBP -UlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmlj -YXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBo -dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNA -bmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06 -sPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXa -n3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKS -NitjrFgBazMpUIaD8QFI ------END CERTIFICATE----- - -# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority -# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority -# Label: "RSA Root Certificate 1" -# Serial: 1 -# MD5 Fingerprint: a2:6f:53:b7:ee:40:db:4a:68:e7:fa:18:d9:10:4b:72 -# SHA1 Fingerprint: 69:bd:8c:f4:9c:d3:00:fb:59:2e:17:93:ca:55:6a:f3:ec:aa:35:fb -# SHA256 Fingerprint: bc:23:f9:8a:31:3c:b9:2d:e3:bb:fc:3a:5a:9f:44:61:ac:39:49:4c:4a:e1:5a:9e:9d:f1:31:e9:9b:73:01:9a ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 -IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz -BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y -aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG -9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy -NjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y -azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw -Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl -cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD -cnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs -2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY -JJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE -Zwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ -n0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A -PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu ------END CERTIFICATE----- - -# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority -# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority -# Label: "ValiCert Class 1 VA" -# Serial: 1 -# MD5 Fingerprint: 65:58:ab:15:ad:57:6c:1e:a8:a7:b5:69:ac:bf:ff:eb -# SHA1 Fingerprint: e5:df:74:3c:b6:01:c4:9b:98:43:dc:ab:8c:e8:6a:81:10:9f:e4:8e -# SHA256 Fingerprint: f4:c1:49:55:1a:30:13:a3:5b:c7:bf:fe:17:a7:f3:44:9b:c1:ab:5b:5a:0a:e7:4b:06:c2:3b:90:00:4c:01:04 ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 -IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz -BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y -aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG -9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy -NTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y -azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw -Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl -cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y -LqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+ -TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y -TfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0 -LBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW -I8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw -nXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI ------END CERTIFICATE----- - -# Issuer: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc. -# Subject: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc. -# Label: "Equifax Secure eBusiness CA 1" -# Serial: 4 -# MD5 Fingerprint: 64:9c:ef:2e:44:fc:c6:8f:52:07:d0:51:73:8f:cb:3d -# SHA1 Fingerprint: da:40:18:8b:91:89:a3:ed:ee:ae:da:97:fe:2f:9d:f5:b7:d1:8a:41 -# SHA256 Fingerprint: cf:56:ff:46:a4:a1:86:10:9d:d9:65:84:b5:ee:b5:8a:51:0c:42:75:b0:e5:f9:4f:40:bb:ae:86:5e:19:f6:73 ------BEGIN CERTIFICATE----- -MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc -MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT -ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw -MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j -LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ -KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo -RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu -WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw -Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD -AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK -eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM -zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+ -WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN -/Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ== ------END CERTIFICATE----- - -# Issuer: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc. -# Subject: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc. -# Label: "Equifax Secure Global eBusiness CA" -# Serial: 1 -# MD5 Fingerprint: 8f:5d:77:06:27:c4:98:3c:5b:93:78:e7:d7:7d:9b:cc -# SHA1 Fingerprint: 7e:78:4a:10:1c:82:65:cc:2d:e1:f1:6d:47:b4:40:ca:d9:0a:19:45 -# SHA256 Fingerprint: 5f:0b:62:ea:b5:e3:53:ea:65:21:65:16:58:fb:b6:53:59:f4:43:28:0a:4a:fb:d1:04:d7:7d:10:f9:f0:4c:07 ------BEGIN CERTIFICATE----- -MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc -MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT -ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw -MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj -dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l -c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC -UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc -58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/ -o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr -aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA -A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA -Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv -8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV ------END CERTIFICATE----- - -# Issuer: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division -# Subject: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division -# Label: "Thawte Premium Server CA" -# Serial: 1 -# MD5 Fingerprint: 06:9f:69:79:16:66:90:02:1b:8c:8c:a2:c3:07:6f:3a -# SHA1 Fingerprint: 62:7f:8d:78:27:65:63:99:d2:7d:7f:90:44:c9:fe:b3:f3:3e:fa:9a -# SHA256 Fingerprint: ab:70:36:36:5c:71:54:aa:29:c2:c2:9f:5d:41:91:16:3b:16:2a:22:25:01:13:57:d5:6d:07:ff:a7:bc:1f:72 ------BEGIN CERTIFICATE----- -MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD -VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv -biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy -dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t -MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB -MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG -A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp -b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl -cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv -bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE -VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ -ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR -uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG -9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI -hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM -pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg== ------END CERTIFICATE----- - -# Issuer: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division -# Subject: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division -# Label: "Thawte Server CA" -# Serial: 1 -# MD5 Fingerprint: c5:70:c4:a2:ed:53:78:0c:c8:10:53:81:64:cb:d0:1d -# SHA1 Fingerprint: 23:e5:94:94:51:95:f2:41:48:03:b4:d5:64:d2:a3:a3:f5:d8:8b:8c -# SHA256 Fingerprint: b4:41:0b:73:e2:e6:ea:ca:47:fb:c4:2f:8f:a4:01:8a:f4:38:1d:c5:4c:fa:a8:44:50:46:1e:ed:09:45:4d:e9 ------BEGIN CERTIFICATE----- -MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD -VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv -biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm -MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx -MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT -DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3 -dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl -cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3 -DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD -gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91 -yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX -L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj -EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG -7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e -QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ -qdq5snUb9kLy78fyGPmJvKP/iiMucEc= ------END CERTIFICATE----- - -# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority -# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority -# Label: "Verisign Class 3 Public Primary Certification Authority" -# Serial: 149843929435818692848040365716851702463 -# MD5 Fingerprint: 10:fc:63:5d:f6:26:3e:0d:f3:25:be:5f:79:cd:67:67 -# SHA1 Fingerprint: 74:2c:31:92:e6:07:e4:24:eb:45:49:54:2b:e1:bb:c5:3e:61:74:e2 -# SHA256 Fingerprint: e7:68:56:34:ef:ac:f6:9a:ce:93:9a:6b:25:5b:7b:4f:ab:ef:42:93:5b:50:a2:65:ac:b5:cb:60:27:e4:4e:70 ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz -cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 -MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV -BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN -ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE -BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is -I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G -CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do -lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc -AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k ------END CERTIFICATE----- - -# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority -# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority -# Label: "Verisign Class 3 Public Primary Certification Authority" -# Serial: 80507572722862485515306429940691309246 -# MD5 Fingerprint: ef:5a:f1:33:ef:f1:cd:bb:51:02:ee:12:14:4b:96:c4 -# SHA1 Fingerprint: a1:db:63:93:91:6f:17:e4:18:55:09:40:04:15:c7:02:40:b0:ae:6b -# SHA256 Fingerprint: a4:b6:b3:99:6f:c2:f3:06:b3:fd:86:81:bd:63:41:3d:8c:50:09:cc:4f:a3:29:c2:cc:f0:e2:fa:1b:14:03:05 ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz -cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 -MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV -BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN -ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE -BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is -I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G -CSqGSIb3DQEBBQUAA4GBABByUqkFFBkyCEHwxWsKzH4PIRnN5GfcX6kb5sroc50i -2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWXbj9T/UWZYB2oK0z5XqcJ -2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/D/xwzoiQ ------END CERTIFICATE----- - -# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network -# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network -# Label: "Verisign Class 3 Public Primary Certification Authority - G2" -# Serial: 167285380242319648451154478808036881606 -# MD5 Fingerprint: a2:33:9b:4c:74:78:73:d4:6c:e7:c1:f3:8d:cb:5c:e9 -# SHA1 Fingerprint: 85:37:1c:a6:e5:50:14:3d:ce:28:03:47:1b:de:3a:09:e8:f8:77:0f -# SHA256 Fingerprint: 83:ce:3c:12:29:68:8a:59:3d:48:5f:81:97:3c:0f:91:95:43:1e:da:37:cc:5e:36:43:0e:79:c7:a8:88:63:8b ------BEGIN CERTIFICATE----- -MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ -BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh -c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy -MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp -emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X -DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw -FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg -UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo -YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 -MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB -AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4 -pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0 -13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID -AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk -U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i -F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY -oJ2daZH9 ------END CERTIFICATE----- - -# Issuer: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc. -# Subject: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc. -# Label: "GTE CyberTrust Global Root" -# Serial: 421 -# MD5 Fingerprint: ca:3d:d3:68:f1:03:5c:d0:32:fa:b8:2b:59:e8:5a:db -# SHA1 Fingerprint: 97:81:79:50:d8:1c:96:70:cc:34:d8:09:cf:79:44:31:36:7e:f4:74 -# SHA256 Fingerprint: a5:31:25:18:8d:21:10:aa:96:4b:02:c7:b7:c6:da:32:03:17:08:94:e5:fb:71:ff:fb:66:67:d5:e6:81:0a:36 ------BEGIN CERTIFICATE----- -MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD -VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv -bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv -b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV -UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU -cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds -b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH -iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS -r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 -04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r -GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 -3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P -lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ ------END CERTIFICATE----- diff --git a/lib27/site-packages/requests/certs.py b/lib27/site-packages/requests/certs.py deleted file mode 100644 index 07e647507..000000000 --- a/lib27/site-packages/requests/certs.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -""" -certs.py -~~~~~~~~ - -This module returns the preferred default CA certificate bundle. - -If you are packaging Requests, e.g., for a Linux distribution or a managed -environment, you can change the definition of where() to return a separately -packaged CA bundle. -""" -import os.path - -try: - from certifi import where -except ImportError: - def where(): - """Return the preferred certificate bundle.""" - # vendored bundle inside Requests - return os.path.join(os.path.dirname(__file__), 'cacert.pem') - -if __name__ == '__main__': - print(where()) diff --git a/lib27/site-packages/requests/compat.py b/lib27/site-packages/requests/compat.py deleted file mode 100644 index 70edff784..000000000 --- a/lib27/site-packages/requests/compat.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -pythoncompat -""" - -from .packages import chardet - -import sys - -# ------- -# Pythons -# ------- - -# Syntax sugar. -_ver = sys.version_info - -#: Python 2.x? -is_py2 = (_ver[0] == 2) - -#: Python 3.x? -is_py3 = (_ver[0] == 3) - -try: - import simplejson as json -except (ImportError, SyntaxError): - # simplejson does not support Python 3.2, it throws a SyntaxError - # because of u'...' Unicode literals. - import json - -# --------- -# Specifics -# --------- - -if is_py2: - from urllib import quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, proxy_bypass - from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag - from urllib2 import parse_http_list - import cookielib - from Cookie import Morsel - from StringIO import StringIO - from .packages.urllib3.packages.ordered_dict import OrderedDict - - builtin_str = str - bytes = str - str = unicode - basestring = basestring - numeric_types = (int, long, float) - -elif is_py3: - from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag - from urllib.request import parse_http_list, getproxies, proxy_bypass - from http import cookiejar as cookielib - from http.cookies import Morsel - from io import StringIO - from collections import OrderedDict - - builtin_str = str - str = str - bytes = bytes - basestring = (str, bytes) - numeric_types = (int, float) diff --git a/lib27/site-packages/requests/cookies.py b/lib27/site-packages/requests/cookies.py deleted file mode 100644 index eee5168f2..000000000 --- a/lib27/site-packages/requests/cookies.py +++ /dev/null @@ -1,493 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -Compatibility code to be able to use `cookielib.CookieJar` with requests. - -requests.utils imports from here, so be careful with imports. -""" - -import copy -import time -import calendar -import collections -from .compat import cookielib, urlparse, urlunparse, Morsel - -try: - import threading - # grr, pyflakes: this fixes "redefinition of unused 'threading'" - threading -except ImportError: - import dummy_threading as threading - - -class MockRequest(object): - """Wraps a `requests.Request` to mimic a `urllib2.Request`. - - The code in `cookielib.CookieJar` expects this interface in order to correctly - manage cookie policies, i.e., determine whether a cookie can be set, given the - domains of the request and the cookie. - - The original request object is read-only. The client is responsible for collecting - the new headers via `get_new_headers()` and interpreting them appropriately. You - probably want `get_cookie_header`, defined below. - """ - - def __init__(self, request): - self._r = request - self._new_headers = {} - self.type = urlparse(self._r.url).scheme - - def get_type(self): - return self.type - - def get_host(self): - return urlparse(self._r.url).netloc - - def get_origin_req_host(self): - return self.get_host() - - def get_full_url(self): - # Only return the response's URL if the user hadn't set the Host - # header - if not self._r.headers.get('Host'): - return self._r.url - # If they did set it, retrieve it and reconstruct the expected domain - host = self._r.headers['Host'] - parsed = urlparse(self._r.url) - # Reconstruct the URL as we expect it - return urlunparse([ - parsed.scheme, host, parsed.path, parsed.params, parsed.query, - parsed.fragment - ]) - - def is_unverifiable(self): - return True - - def has_header(self, name): - return name in self._r.headers or name in self._new_headers - - def get_header(self, name, default=None): - return self._r.headers.get(name, self._new_headers.get(name, default)) - - def add_header(self, key, val): - """cookielib has no legitimate use for this method; add it back if you find one.""" - raise NotImplementedError("Cookie headers should be added with add_unredirected_header()") - - def add_unredirected_header(self, name, value): - self._new_headers[name] = value - - def get_new_headers(self): - return self._new_headers - - @property - def unverifiable(self): - return self.is_unverifiable() - - @property - def origin_req_host(self): - return self.get_origin_req_host() - - @property - def host(self): - return self.get_host() - - -class MockResponse(object): - """Wraps a `httplib.HTTPMessage` to mimic a `urllib.addinfourl`. - - ...what? Basically, expose the parsed HTTP headers from the server response - the way `cookielib` expects to see them. - """ - - def __init__(self, headers): - """Make a MockResponse for `cookielib` to read. - - :param headers: a httplib.HTTPMessage or analogous carrying the headers - """ - self._headers = headers - - def info(self): - return self._headers - - def getheaders(self, name): - self._headers.getheaders(name) - - -def extract_cookies_to_jar(jar, request, response): - """Extract the cookies from the response into a CookieJar. - - :param jar: cookielib.CookieJar (not necessarily a RequestsCookieJar) - :param request: our own requests.Request object - :param response: urllib3.HTTPResponse object - """ - if not (hasattr(response, '_original_response') and - response._original_response): - return - # the _original_response field is the wrapped httplib.HTTPResponse object, - req = MockRequest(request) - # pull out the HTTPMessage with the headers and put it in the mock: - res = MockResponse(response._original_response.msg) - jar.extract_cookies(res, req) - - -def get_cookie_header(jar, request): - """Produce an appropriate Cookie header string to be sent with `request`, or None.""" - r = MockRequest(request) - jar.add_cookie_header(r) - return r.get_new_headers().get('Cookie') - - -def remove_cookie_by_name(cookiejar, name, domain=None, path=None): - """Unsets a cookie by name, by default over all domains and paths. - - Wraps CookieJar.clear(), is O(n). - """ - clearables = [] - for cookie in cookiejar: - if cookie.name != name: - continue - if domain is not None and domain != cookie.domain: - continue - if path is not None and path != cookie.path: - continue - clearables.append((cookie.domain, cookie.path, cookie.name)) - - for domain, path, name in clearables: - cookiejar.clear(domain, path, name) - - -class CookieConflictError(RuntimeError): - """There are two cookies that meet the criteria specified in the cookie jar. - Use .get and .set and include domain and path args in order to be more specific.""" - - -class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping): - """Compatibility class; is a cookielib.CookieJar, but exposes a dict - interface. - - This is the CookieJar we create by default for requests and sessions that - don't specify one, since some clients may expect response.cookies and - session.cookies to support dict operations. - - Requests does not use the dict interface internally; it's just for - compatibility with external client code. All requests code should work - out of the box with externally provided instances of ``CookieJar``, e.g. - ``LWPCookieJar`` and ``FileCookieJar``. - - Unlike a regular CookieJar, this class is pickleable. - - .. warning:: dictionary operations that are normally O(1) may be O(n). - """ - def get(self, name, default=None, domain=None, path=None): - """Dict-like get() that also supports optional domain and path args in - order to resolve naming collisions from using one cookie jar over - multiple domains. - - .. warning:: operation is O(n), not O(1).""" - try: - return self._find_no_duplicates(name, domain, path) - except KeyError: - return default - - def set(self, name, value, **kwargs): - """Dict-like set() that also supports optional domain and path args in - order to resolve naming collisions from using one cookie jar over - multiple domains.""" - # support client code that unsets cookies by assignment of a None value: - if value is None: - remove_cookie_by_name(self, name, domain=kwargs.get('domain'), path=kwargs.get('path')) - return - - if isinstance(value, Morsel): - c = morsel_to_cookie(value) - else: - c = create_cookie(name, value, **kwargs) - self.set_cookie(c) - return c - - def iterkeys(self): - """Dict-like iterkeys() that returns an iterator of names of cookies - from the jar. See itervalues() and iteritems().""" - for cookie in iter(self): - yield cookie.name - - def keys(self): - """Dict-like keys() that returns a list of names of cookies from the - jar. See values() and items().""" - return list(self.iterkeys()) - - def itervalues(self): - """Dict-like itervalues() that returns an iterator of values of cookies - from the jar. See iterkeys() and iteritems().""" - for cookie in iter(self): - yield cookie.value - - def values(self): - """Dict-like values() that returns a list of values of cookies from the - jar. See keys() and items().""" - return list(self.itervalues()) - - def iteritems(self): - """Dict-like iteritems() that returns an iterator of name-value tuples - from the jar. See iterkeys() and itervalues().""" - for cookie in iter(self): - yield cookie.name, cookie.value - - def items(self): - """Dict-like items() that returns a list of name-value tuples from the - jar. See keys() and values(). Allows client-code to call - ``dict(RequestsCookieJar)`` and get a vanilla python dict of key value - pairs.""" - return list(self.iteritems()) - - def list_domains(self): - """Utility method to list all the domains in the jar.""" - domains = [] - for cookie in iter(self): - if cookie.domain not in domains: - domains.append(cookie.domain) - return domains - - def list_paths(self): - """Utility method to list all the paths in the jar.""" - paths = [] - for cookie in iter(self): - if cookie.path not in paths: - paths.append(cookie.path) - return paths - - def multiple_domains(self): - """Returns True if there are multiple domains in the jar. - Returns False otherwise.""" - domains = [] - for cookie in iter(self): - if cookie.domain is not None and cookie.domain in domains: - return True - domains.append(cookie.domain) - return False # there is only one domain in jar - - def get_dict(self, domain=None, path=None): - """Takes as an argument an optional domain and path and returns a plain - old Python dict of name-value pairs of cookies that meet the - requirements.""" - dictionary = {} - for cookie in iter(self): - if (domain is None or cookie.domain == domain) and (path is None - or cookie.path == path): - dictionary[cookie.name] = cookie.value - return dictionary - - def __contains__(self, name): - try: - return super(RequestsCookieJar, self).__contains__(name) - except CookieConflictError: - return True - - def __getitem__(self, name): - """Dict-like __getitem__() for compatibility with client code. Throws - exception if there are more than one cookie with name. In that case, - use the more explicit get() method instead. - - .. warning:: operation is O(n), not O(1).""" - - return self._find_no_duplicates(name) - - def __setitem__(self, name, value): - """Dict-like __setitem__ for compatibility with client code. Throws - exception if there is already a cookie of that name in the jar. In that - case, use the more explicit set() method instead.""" - - self.set(name, value) - - def __delitem__(self, name): - """Deletes a cookie given a name. Wraps ``cookielib.CookieJar``'s - ``remove_cookie_by_name()``.""" - remove_cookie_by_name(self, name) - - def set_cookie(self, cookie, *args, **kwargs): - if hasattr(cookie.value, 'startswith') and cookie.value.startswith('"') and cookie.value.endswith('"'): - cookie.value = cookie.value.replace('\\"', '') - return super(RequestsCookieJar, self).set_cookie(cookie, *args, **kwargs) - - def update(self, other): - """Updates this jar with cookies from another CookieJar or dict-like""" - if isinstance(other, cookielib.CookieJar): - for cookie in other: - self.set_cookie(copy.copy(cookie)) - else: - super(RequestsCookieJar, self).update(other) - - def _find(self, name, domain=None, path=None): - """Requests uses this method internally to get cookie values. Takes as - args name and optional domain and path. Returns a cookie.value. If - there are conflicting cookies, _find arbitrarily chooses one. See - _find_no_duplicates if you want an exception thrown if there are - conflicting cookies.""" - for cookie in iter(self): - if cookie.name == name: - if domain is None or cookie.domain == domain: - if path is None or cookie.path == path: - return cookie.value - - raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) - - def _find_no_duplicates(self, name, domain=None, path=None): - """Both ``__get_item__`` and ``get`` call this function: it's never - used elsewhere in Requests. Takes as args name and optional domain and - path. Returns a cookie.value. Throws KeyError if cookie is not found - and CookieConflictError if there are multiple cookies that match name - and optionally domain and path.""" - toReturn = None - for cookie in iter(self): - if cookie.name == name: - if domain is None or cookie.domain == domain: - if path is None or cookie.path == path: - if toReturn is not None: # if there are multiple cookies that meet passed in criteria - raise CookieConflictError('There are multiple cookies with name, %r' % (name)) - toReturn = cookie.value # we will eventually return this as long as no cookie conflict - - if toReturn: - return toReturn - raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) - - def __getstate__(self): - """Unlike a normal CookieJar, this class is pickleable.""" - state = self.__dict__.copy() - # remove the unpickleable RLock object - state.pop('_cookies_lock') - return state - - def __setstate__(self, state): - """Unlike a normal CookieJar, this class is pickleable.""" - self.__dict__.update(state) - if '_cookies_lock' not in self.__dict__: - self._cookies_lock = threading.RLock() - - def copy(self): - """Return a copy of this RequestsCookieJar.""" - new_cj = RequestsCookieJar() - new_cj.update(self) - return new_cj - - -def _copy_cookie_jar(jar): - if jar is None: - return None - - if hasattr(jar, 'copy'): - # We're dealing with an instance of RequestsCookieJar - return jar.copy() - # We're dealing with a generic CookieJar instance - new_jar = copy.copy(jar) - new_jar.clear() - for cookie in jar: - new_jar.set_cookie(copy.copy(cookie)) - return new_jar - - -def create_cookie(name, value, **kwargs): - """Make a cookie from underspecified parameters. - - By default, the pair of `name` and `value` will be set for the domain '' - and sent on every request (this is sometimes called a "supercookie"). - """ - result = dict( - version=0, - name=name, - value=value, - port=None, - domain='', - path='/', - secure=False, - expires=None, - discard=True, - comment=None, - comment_url=None, - rest={'HttpOnly': None}, - rfc2109=False,) - - badargs = set(kwargs) - set(result) - if badargs: - err = 'create_cookie() got unexpected keyword arguments: %s' - raise TypeError(err % list(badargs)) - - result.update(kwargs) - result['port_specified'] = bool(result['port']) - result['domain_specified'] = bool(result['domain']) - result['domain_initial_dot'] = result['domain'].startswith('.') - result['path_specified'] = bool(result['path']) - - return cookielib.Cookie(**result) - - -def morsel_to_cookie(morsel): - """Convert a Morsel object into a Cookie containing the one k/v pair.""" - - expires = None - if morsel['max-age']: - try: - expires = int(time.time() + int(morsel['max-age'])) - except ValueError: - raise TypeError('max-age: %s must be integer' % morsel['max-age']) - elif morsel['expires']: - time_template = '%a, %d-%b-%Y %H:%M:%S GMT' - expires = calendar.timegm( - time.strptime(morsel['expires'], time_template) - ) - return create_cookie( - comment=morsel['comment'], - comment_url=bool(morsel['comment']), - discard=False, - domain=morsel['domain'], - expires=expires, - name=morsel.key, - path=morsel['path'], - port=None, - rest={'HttpOnly': morsel['httponly']}, - rfc2109=False, - secure=bool(morsel['secure']), - value=morsel.value, - version=morsel['version'] or 0, - ) - - -def cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True): - """Returns a CookieJar from a key/value dictionary. - - :param cookie_dict: Dict of key/values to insert into CookieJar. - :param cookiejar: (optional) A cookiejar to add the cookies to. - :param overwrite: (optional) If False, will not replace cookies - already in the jar with new ones. - """ - if cookiejar is None: - cookiejar = RequestsCookieJar() - - if cookie_dict is not None: - names_from_jar = [cookie.name for cookie in cookiejar] - for name in cookie_dict: - if overwrite or (name not in names_from_jar): - cookiejar.set_cookie(create_cookie(name, cookie_dict[name])) - - return cookiejar - - -def merge_cookies(cookiejar, cookies): - """Add cookies to cookiejar and returns a merged CookieJar. - - :param cookiejar: CookieJar object to add the cookies to. - :param cookies: Dictionary or CookieJar object to be added. - """ - if not isinstance(cookiejar, cookielib.CookieJar): - raise ValueError('You can only merge into CookieJar') - - if isinstance(cookies, dict): - cookiejar = cookiejar_from_dict( - cookies, cookiejar=cookiejar, overwrite=False) - elif isinstance(cookies, cookielib.CookieJar): - try: - cookiejar.update(cookies) - except AttributeError: - for cookie_in_jar in cookies: - cookiejar.set_cookie(cookie_in_jar) - - return cookiejar diff --git a/lib27/site-packages/requests/exceptions.py b/lib27/site-packages/requests/exceptions.py deleted file mode 100644 index ba0b910e3..000000000 --- a/lib27/site-packages/requests/exceptions.py +++ /dev/null @@ -1,114 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.exceptions -~~~~~~~~~~~~~~~~~~~ - -This module contains the set of Requests' exceptions. - -""" -from .packages.urllib3.exceptions import HTTPError as BaseHTTPError - - -class RequestException(IOError): - """There was an ambiguous exception that occurred while handling your - request.""" - - def __init__(self, *args, **kwargs): - """ - Initialize RequestException with `request` and `response` objects. - """ - response = kwargs.pop('response', None) - self.response = response - self.request = kwargs.pop('request', None) - if (response is not None and not self.request and - hasattr(response, 'request')): - self.request = self.response.request - super(RequestException, self).__init__(*args, **kwargs) - - -class HTTPError(RequestException): - """An HTTP error occurred.""" - - -class ConnectionError(RequestException): - """A Connection error occurred.""" - - -class ProxyError(ConnectionError): - """A proxy error occurred.""" - - -class SSLError(ConnectionError): - """An SSL error occurred.""" - - -class Timeout(RequestException): - """The request timed out. - - Catching this error will catch both - :exc:`~requests.exceptions.ConnectTimeout` and - :exc:`~requests.exceptions.ReadTimeout` errors. - """ - - -class ConnectTimeout(ConnectionError, Timeout): - """The request timed out while trying to connect to the remote server. - - Requests that produced this error are safe to retry. - """ - - -class ReadTimeout(Timeout): - """The server did not send any data in the allotted amount of time.""" - - -class URLRequired(RequestException): - """A valid URL is required to make a request.""" - - -class TooManyRedirects(RequestException): - """Too many redirects.""" - - -class MissingSchema(RequestException, ValueError): - """The URL schema (e.g. http or https) is missing.""" - - -class InvalidSchema(RequestException, ValueError): - """See defaults.py for valid schemas.""" - - -class InvalidURL(RequestException, ValueError): - """ The URL provided was somehow invalid. """ - - -class ChunkedEncodingError(RequestException): - """The server declared chunked encoding but sent an invalid chunk.""" - - -class ContentDecodingError(RequestException, BaseHTTPError): - """Failed to decode response content""" - - -class StreamConsumedError(RequestException, TypeError): - """The content for this response was already consumed""" - - -class RetryError(RequestException): - """Custom retries logic failed""" - - -# Warnings - - -class RequestsWarning(Warning): - """Base warning for Requests.""" - pass - - -class FileModeWarning(RequestsWarning, DeprecationWarning): - """ - A file was opened in text mode, but Requests determined its binary length. - """ - pass diff --git a/lib27/site-packages/requests/hooks.py b/lib27/site-packages/requests/hooks.py deleted file mode 100644 index 9da94366d..000000000 --- a/lib27/site-packages/requests/hooks.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.hooks -~~~~~~~~~~~~~~ - -This module provides the capabilities for the Requests hooks system. - -Available hooks: - -``response``: - The response generated from a Request. - -""" -HOOKS = ['response'] - -def default_hooks(): - return dict((event, []) for event in HOOKS) - -# TODO: response is the only one - - -def dispatch_hook(key, hooks, hook_data, **kwargs): - """Dispatches a hook dictionary on a given piece of data.""" - hooks = hooks or dict() - hooks = hooks.get(key) - if hooks: - if hasattr(hooks, '__call__'): - hooks = [hooks] - for hook in hooks: - _hook_data = hook(hook_data, **kwargs) - if _hook_data is not None: - hook_data = _hook_data - return hook_data diff --git a/lib27/site-packages/requests/models.py b/lib27/site-packages/requests/models.py deleted file mode 100644 index fe4bec1bd..000000000 --- a/lib27/site-packages/requests/models.py +++ /dev/null @@ -1,855 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.models -~~~~~~~~~~~~~~~ - -This module contains the primary objects that power Requests. -""" - -import collections -import datetime - -from io import BytesIO, UnsupportedOperation -from .hooks import default_hooks -from .structures import CaseInsensitiveDict - -from .auth import HTTPBasicAuth -from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar -from .packages.urllib3.fields import RequestField -from .packages.urllib3.filepost import encode_multipart_formdata -from .packages.urllib3.util import parse_url -from .packages.urllib3.exceptions import ( - DecodeError, ReadTimeoutError, ProtocolError, LocationParseError) -from .exceptions import ( - HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError, - ContentDecodingError, ConnectionError, StreamConsumedError) -from .utils import ( - guess_filename, get_auth_from_url, requote_uri, - stream_decode_response_unicode, to_key_val_list, parse_header_links, - iter_slices, guess_json_utf, super_len, to_native_string) -from .compat import ( - cookielib, urlunparse, urlsplit, urlencode, str, bytes, StringIO, - is_py2, chardet, builtin_str, basestring) -from .compat import json as complexjson -from .status_codes import codes - -#: The set of HTTP status codes that indicate an automatically -#: processable redirect. -REDIRECT_STATI = ( - codes.moved, # 301 - codes.found, # 302 - codes.other, # 303 - codes.temporary_redirect, # 307 - codes.permanent_redirect, # 308 -) - -DEFAULT_REDIRECT_LIMIT = 30 -CONTENT_CHUNK_SIZE = 10 * 1024 -ITER_CHUNK_SIZE = 512 - - -class RequestEncodingMixin(object): - @property - def path_url(self): - """Build the path URL to use.""" - - url = [] - - p = urlsplit(self.url) - - path = p.path - if not path: - path = '/' - - url.append(path) - - query = p.query - if query: - url.append('?') - url.append(query) - - return ''.join(url) - - @staticmethod - def _encode_params(data): - """Encode parameters in a piece of data. - - Will successfully encode parameters when passed as a dict or a list of - 2-tuples. Order is retained if data is a list of 2-tuples but arbitrary - if parameters are supplied as a dict. - """ - - if isinstance(data, (str, bytes)): - return data - elif hasattr(data, 'read'): - return data - elif hasattr(data, '__iter__'): - result = [] - for k, vs in to_key_val_list(data): - if isinstance(vs, basestring) or not hasattr(vs, '__iter__'): - vs = [vs] - for v in vs: - if v is not None: - result.append( - (k.encode('utf-8') if isinstance(k, str) else k, - v.encode('utf-8') if isinstance(v, str) else v)) - return urlencode(result, doseq=True) - else: - return data - - @staticmethod - def _encode_files(files, data): - """Build the body for a multipart/form-data request. - - Will successfully encode files when passed as a dict or a list of - tuples. Order is retained if data is a list of tuples but arbitrary - if parameters are supplied as a dict. - The tuples may be 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype) - or 4-tuples (filename, fileobj, contentype, custom_headers). - - """ - if (not files): - raise ValueError("Files must be provided.") - elif isinstance(data, basestring): - raise ValueError("Data must not be a string.") - - new_fields = [] - fields = to_key_val_list(data or {}) - files = to_key_val_list(files or {}) - - for field, val in fields: - if isinstance(val, basestring) or not hasattr(val, '__iter__'): - val = [val] - for v in val: - if v is not None: - # Don't call str() on bytestrings: in Py3 it all goes wrong. - if not isinstance(v, bytes): - v = str(v) - - new_fields.append( - (field.decode('utf-8') if isinstance(field, bytes) else field, - v.encode('utf-8') if isinstance(v, str) else v)) - - for (k, v) in files: - # support for explicit filename - ft = None - fh = None - if isinstance(v, (tuple, list)): - if len(v) == 2: - fn, fp = v - elif len(v) == 3: - fn, fp, ft = v - else: - fn, fp, ft, fh = v - else: - fn = guess_filename(v) or k - fp = v - - if isinstance(fp, (str, bytes, bytearray)): - fdata = fp - else: - fdata = fp.read() - - rf = RequestField(name=k, data=fdata, filename=fn, headers=fh) - rf.make_multipart(content_type=ft) - new_fields.append(rf) - - body, content_type = encode_multipart_formdata(new_fields) - - return body, content_type - - -class RequestHooksMixin(object): - def register_hook(self, event, hook): - """Properly register a hook.""" - - if event not in self.hooks: - raise ValueError('Unsupported event specified, with event name "%s"' % (event)) - - if isinstance(hook, collections.Callable): - self.hooks[event].append(hook) - elif hasattr(hook, '__iter__'): - self.hooks[event].extend(h for h in hook if isinstance(h, collections.Callable)) - - def deregister_hook(self, event, hook): - """Deregister a previously registered hook. - Returns True if the hook existed, False if not. - """ - - try: - self.hooks[event].remove(hook) - return True - except ValueError: - return False - - -class Request(RequestHooksMixin): - """A user-created :class:`Request ` object. - - Used to prepare a :class:`PreparedRequest `, which is sent to the server. - - :param method: HTTP method to use. - :param url: URL to send. - :param headers: dictionary of headers to send. - :param files: dictionary of {filename: fileobject} files to multipart upload. - :param data: the body to attach to the request. If a dictionary is provided, form-encoding will take place. - :param json: json for the body to attach to the request (if files or data is not specified). - :param params: dictionary of URL parameters to append to the URL. - :param auth: Auth handler or (user, pass) tuple. - :param cookies: dictionary or CookieJar of cookies to attach to this request. - :param hooks: dictionary of callback hooks, for internal usage. - - Usage:: - - >>> import requests - >>> req = requests.Request('GET', 'http://httpbin.org/get') - >>> req.prepare() - - - """ - def __init__(self, method=None, url=None, headers=None, files=None, - data=None, params=None, auth=None, cookies=None, hooks=None, json=None): - - # Default empty dicts for dict params. - data = [] if data is None else data - files = [] if files is None else files - headers = {} if headers is None else headers - params = {} if params is None else params - hooks = {} if hooks is None else hooks - - self.hooks = default_hooks() - for (k, v) in list(hooks.items()): - self.register_hook(event=k, hook=v) - - self.method = method - self.url = url - self.headers = headers - self.files = files - self.data = data - self.json = json - self.params = params - self.auth = auth - self.cookies = cookies - - def __repr__(self): - return '' % (self.method) - - def prepare(self): - """Constructs a :class:`PreparedRequest ` for transmission and returns it.""" - p = PreparedRequest() - p.prepare( - method=self.method, - url=self.url, - headers=self.headers, - files=self.files, - data=self.data, - json=self.json, - params=self.params, - auth=self.auth, - cookies=self.cookies, - hooks=self.hooks, - ) - return p - - -class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): - """The fully mutable :class:`PreparedRequest ` object, - containing the exact bytes that will be sent to the server. - - Generated from either a :class:`Request ` object or manually. - - Usage:: - - >>> import requests - >>> req = requests.Request('GET', 'http://httpbin.org/get') - >>> r = req.prepare() - - - >>> s = requests.Session() - >>> s.send(r) - - - """ - - def __init__(self): - #: HTTP verb to send to the server. - self.method = None - #: HTTP URL to send the request to. - self.url = None - #: dictionary of HTTP headers. - self.headers = None - # The `CookieJar` used to create the Cookie header will be stored here - # after prepare_cookies is called - self._cookies = None - #: request body to send to the server. - self.body = None - #: dictionary of callback hooks, for internal usage. - self.hooks = default_hooks() - - def prepare(self, method=None, url=None, headers=None, files=None, - data=None, params=None, auth=None, cookies=None, hooks=None, json=None): - """Prepares the entire request with the given parameters.""" - - self.prepare_method(method) - self.prepare_url(url, params) - self.prepare_headers(headers) - self.prepare_cookies(cookies) - self.prepare_body(data, files, json) - self.prepare_auth(auth, url) - - # Note that prepare_auth must be last to enable authentication schemes - # such as OAuth to work on a fully prepared request. - - # This MUST go after prepare_auth. Authenticators could add a hook - self.prepare_hooks(hooks) - - def __repr__(self): - return '' % (self.method) - - def copy(self): - p = PreparedRequest() - p.method = self.method - p.url = self.url - p.headers = self.headers.copy() if self.headers is not None else None - p._cookies = _copy_cookie_jar(self._cookies) - p.body = self.body - p.hooks = self.hooks - return p - - def prepare_method(self, method): - """Prepares the given HTTP method.""" - self.method = method - if self.method is not None: - self.method = to_native_string(self.method.upper()) - - def prepare_url(self, url, params): - """Prepares the given HTTP URL.""" - #: Accept objects that have string representations. - #: We're unable to blindly call unicode/str functions - #: as this will include the bytestring indicator (b'') - #: on python 3.x. - #: https://github.com/kennethreitz/requests/pull/2238 - if isinstance(url, bytes): - url = url.decode('utf8') - else: - url = unicode(url) if is_py2 else str(url) - - # Don't do any URL preparation for non-HTTP schemes like `mailto`, - # `data` etc to work around exceptions from `url_parse`, which - # handles RFC 3986 only. - if ':' in url and not url.lower().startswith('http'): - self.url = url - return - - # Support for unicode domain names and paths. - try: - scheme, auth, host, port, path, query, fragment = parse_url(url) - except LocationParseError as e: - raise InvalidURL(*e.args) - - if not scheme: - error = ("Invalid URL {0!r}: No schema supplied. Perhaps you meant http://{0}?") - error = error.format(to_native_string(url, 'utf8')) - - raise MissingSchema(error) - - if not host: - raise InvalidURL("Invalid URL %r: No host supplied" % url) - - # Only want to apply IDNA to the hostname - try: - host = host.encode('idna').decode('utf-8') - except UnicodeError: - raise InvalidURL('URL has an invalid label.') - - # Carefully reconstruct the network location - netloc = auth or '' - if netloc: - netloc += '@' - netloc += host - if port: - netloc += ':' + str(port) - - # Bare domains aren't valid URLs. - if not path: - path = '/' - - if is_py2: - if isinstance(scheme, str): - scheme = scheme.encode('utf-8') - if isinstance(netloc, str): - netloc = netloc.encode('utf-8') - if isinstance(path, str): - path = path.encode('utf-8') - if isinstance(query, str): - query = query.encode('utf-8') - if isinstance(fragment, str): - fragment = fragment.encode('utf-8') - - if isinstance(params, (str, bytes)): - params = to_native_string(params) - - enc_params = self._encode_params(params) - if enc_params: - if query: - query = '%s&%s' % (query, enc_params) - else: - query = enc_params - - url = requote_uri(urlunparse([scheme, netloc, path, None, query, fragment])) - self.url = url - - def prepare_headers(self, headers): - """Prepares the given HTTP headers.""" - - if headers: - self.headers = CaseInsensitiveDict((to_native_string(name), value) for name, value in headers.items()) - else: - self.headers = CaseInsensitiveDict() - - def prepare_body(self, data, files, json=None): - """Prepares the given HTTP body data.""" - - # Check if file, fo, generator, iterator. - # If not, run through normal process. - - # Nottin' on you. - body = None - content_type = None - length = None - - if not data and json is not None: - content_type = 'application/json' - body = complexjson.dumps(json) - - is_stream = all([ - hasattr(data, '__iter__'), - not isinstance(data, (basestring, list, tuple, dict)) - ]) - - try: - length = super_len(data) - except (TypeError, AttributeError, UnsupportedOperation): - length = None - - if is_stream: - body = data - - if files: - raise NotImplementedError('Streamed bodies and files are mutually exclusive.') - - if length: - self.headers['Content-Length'] = builtin_str(length) - else: - self.headers['Transfer-Encoding'] = 'chunked' - else: - # Multi-part file uploads. - if files: - (body, content_type) = self._encode_files(files, data) - else: - if data: - body = self._encode_params(data) - if isinstance(data, basestring) or hasattr(data, 'read'): - content_type = None - else: - content_type = 'application/x-www-form-urlencoded' - - self.prepare_content_length(body) - - # Add content-type if it wasn't explicitly provided. - if content_type and ('content-type' not in self.headers): - self.headers['Content-Type'] = content_type - - self.body = body - - def prepare_content_length(self, body): - if hasattr(body, 'seek') and hasattr(body, 'tell'): - curr_pos = body.tell() - body.seek(0, 2) - end_pos = body.tell() - self.headers['Content-Length'] = builtin_str(max(0, end_pos - curr_pos)) - body.seek(curr_pos, 0) - elif body is not None: - l = super_len(body) - if l: - self.headers['Content-Length'] = builtin_str(l) - elif (self.method not in ('GET', 'HEAD')) and (self.headers.get('Content-Length') is None): - self.headers['Content-Length'] = '0' - - def prepare_auth(self, auth, url=''): - """Prepares the given HTTP auth data.""" - - # If no Auth is explicitly provided, extract it from the URL first. - if auth is None: - url_auth = get_auth_from_url(self.url) - auth = url_auth if any(url_auth) else None - - if auth: - if isinstance(auth, tuple) and len(auth) == 2: - # special-case basic HTTP auth - auth = HTTPBasicAuth(*auth) - - # Allow auth to make its changes. - r = auth(self) - - # Update self to reflect the auth changes. - self.__dict__.update(r.__dict__) - - # Recompute Content-Length - self.prepare_content_length(self.body) - - def prepare_cookies(self, cookies): - """Prepares the given HTTP cookie data. - - This function eventually generates a ``Cookie`` header from the - given cookies using cookielib. Due to cookielib's design, the header - will not be regenerated if it already exists, meaning this function - can only be called once for the life of the - :class:`PreparedRequest ` object. Any subsequent calls - to ``prepare_cookies`` will have no actual effect, unless the "Cookie" - header is removed beforehand.""" - - if isinstance(cookies, cookielib.CookieJar): - self._cookies = cookies - else: - self._cookies = cookiejar_from_dict(cookies) - - cookie_header = get_cookie_header(self._cookies, self) - if cookie_header is not None: - self.headers['Cookie'] = cookie_header - - def prepare_hooks(self, hooks): - """Prepares the given hooks.""" - # hooks can be passed as None to the prepare method and to this - # method. To prevent iterating over None, simply use an empty list - # if hooks is False-y - hooks = hooks or [] - for event in hooks: - self.register_hook(event, hooks[event]) - - -class Response(object): - """The :class:`Response ` object, which contains a - server's response to an HTTP request. - """ - - __attrs__ = [ - '_content', 'status_code', 'headers', 'url', 'history', - 'encoding', 'reason', 'cookies', 'elapsed', 'request' - ] - - def __init__(self): - super(Response, self).__init__() - - self._content = False - self._content_consumed = False - - #: Integer Code of responded HTTP Status, e.g. 404 or 200. - self.status_code = None - - #: Case-insensitive Dictionary of Response Headers. - #: For example, ``headers['content-encoding']`` will return the - #: value of a ``'Content-Encoding'`` response header. - self.headers = CaseInsensitiveDict() - - #: File-like object representation of response (for advanced usage). - #: Use of ``raw`` requires that ``stream=True`` be set on the request. - # This requirement does not apply for use internally to Requests. - self.raw = None - - #: Final URL location of Response. - self.url = None - - #: Encoding to decode with when accessing r.text. - self.encoding = None - - #: A list of :class:`Response ` objects from - #: the history of the Request. Any redirect responses will end - #: up here. The list is sorted from the oldest to the most recent request. - self.history = [] - - #: Textual reason of responded HTTP Status, e.g. "Not Found" or "OK". - self.reason = None - - #: A CookieJar of Cookies the server sent back. - self.cookies = cookiejar_from_dict({}) - - #: The amount of time elapsed between sending the request - #: and the arrival of the response (as a timedelta). - #: This property specifically measures the time taken between sending - #: the first byte of the request and finishing parsing the headers. It - #: is therefore unaffected by consuming the response content or the - #: value of the ``stream`` keyword argument. - self.elapsed = datetime.timedelta(0) - - #: The :class:`PreparedRequest ` object to which this - #: is a response. - self.request = None - - def __getstate__(self): - # Consume everything; accessing the content attribute makes - # sure the content has been fully read. - if not self._content_consumed: - self.content - - return dict( - (attr, getattr(self, attr, None)) - for attr in self.__attrs__ - ) - - def __setstate__(self, state): - for name, value in state.items(): - setattr(self, name, value) - - # pickled objects do not have .raw - setattr(self, '_content_consumed', True) - setattr(self, 'raw', None) - - def __repr__(self): - return '' % (self.status_code) - - def __bool__(self): - """Returns true if :attr:`status_code` is 'OK'.""" - return self.ok - - def __nonzero__(self): - """Returns true if :attr:`status_code` is 'OK'.""" - return self.ok - - def __iter__(self): - """Allows you to use a response as an iterator.""" - return self.iter_content(128) - - @property - def ok(self): - try: - self.raise_for_status() - except HTTPError: - return False - return True - - @property - def is_redirect(self): - """True if this Response is a well-formed HTTP redirect that could have - been processed automatically (by :meth:`Session.resolve_redirects`). - """ - return ('location' in self.headers and self.status_code in REDIRECT_STATI) - - @property - def is_permanent_redirect(self): - """True if this Response one of the permanent versions of redirect""" - return ('location' in self.headers and self.status_code in (codes.moved_permanently, codes.permanent_redirect)) - - @property - def apparent_encoding(self): - """The apparent encoding, provided by the chardet library""" - return chardet.detect(self.content)['encoding'] - - def iter_content(self, chunk_size=1, decode_unicode=False): - """Iterates over the response data. When stream=True is set on the - request, this avoids reading the content at once into memory for - large responses. The chunk size is the number of bytes it should - read into memory. This is not necessarily the length of each item - returned as decoding can take place. - - If decode_unicode is True, content will be decoded using the best - available encoding based on the response. - """ - - def generate(): - # Special case for urllib3. - if hasattr(self.raw, 'stream'): - try: - for chunk in self.raw.stream(chunk_size, decode_content=True): - yield chunk - except ProtocolError as e: - raise ChunkedEncodingError(e) - except DecodeError as e: - raise ContentDecodingError(e) - except ReadTimeoutError as e: - raise ConnectionError(e) - else: - # Standard file-like object. - while True: - chunk = self.raw.read(chunk_size) - if not chunk: - break - yield chunk - - self._content_consumed = True - - if self._content_consumed and isinstance(self._content, bool): - raise StreamConsumedError() - # simulate reading small chunks of the content - reused_chunks = iter_slices(self._content, chunk_size) - - stream_chunks = generate() - - chunks = reused_chunks if self._content_consumed else stream_chunks - - if decode_unicode: - chunks = stream_decode_response_unicode(chunks, self) - - return chunks - - def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=None, delimiter=None): - """Iterates over the response data, one line at a time. When - stream=True is set on the request, this avoids reading the - content at once into memory for large responses. - - .. note:: This method is not reentrant safe. - """ - - pending = None - - for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode): - - if pending is not None: - chunk = pending + chunk - - if delimiter: - lines = chunk.split(delimiter) - else: - lines = chunk.splitlines() - - if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: - pending = lines.pop() - else: - pending = None - - for line in lines: - yield line - - if pending is not None: - yield pending - - @property - def content(self): - """Content of the response, in bytes.""" - - if self._content is False: - # Read the contents. - try: - if self._content_consumed: - raise RuntimeError( - 'The content for this response was already consumed') - - if self.status_code == 0: - self._content = None - else: - self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes() - - except AttributeError: - self._content = None - - self._content_consumed = True - # don't need to release the connection; that's been handled by urllib3 - # since we exhausted the data. - return self._content - - @property - def text(self): - """Content of the response, in unicode. - - If Response.encoding is None, encoding will be guessed using - ``chardet``. - - The encoding of the response content is determined based solely on HTTP - headers, following RFC 2616 to the letter. If you can take advantage of - non-HTTP knowledge to make a better guess at the encoding, you should - set ``r.encoding`` appropriately before accessing this property. - """ - - # Try charset from content-type - content = None - encoding = self.encoding - - if not self.content: - return str('') - - # Fallback to auto-detected encoding. - if self.encoding is None: - encoding = self.apparent_encoding - - # Decode unicode from given encoding. - try: - content = str(self.content, encoding, errors='replace') - except (LookupError, TypeError): - # A LookupError is raised if the encoding was not found which could - # indicate a misspelling or similar mistake. - # - # A TypeError can be raised if encoding is None - # - # So we try blindly encoding. - content = str(self.content, errors='replace') - - return content - - def json(self, **kwargs): - """Returns the json-encoded content of a response, if any. - - :param \*\*kwargs: Optional arguments that ``json.loads`` takes. - """ - - if not self.encoding and len(self.content) > 3: - # No encoding set. JSON RFC 4627 section 3 states we should expect - # UTF-8, -16 or -32. Detect which one to use; If the detection or - # decoding fails, fall back to `self.text` (using chardet to make - # a best guess). - encoding = guess_json_utf(self.content) - if encoding is not None: - try: - return complexjson.loads( - self.content.decode(encoding), **kwargs - ) - except UnicodeDecodeError: - # Wrong UTF codec detected; usually because it's not UTF-8 - # but some other 8-bit codec. This is an RFC violation, - # and the server didn't bother to tell us what codec *was* - # used. - pass - return complexjson.loads(self.text, **kwargs) - - @property - def links(self): - """Returns the parsed header links of the response, if any.""" - - header = self.headers.get('link') - - # l = MultiDict() - l = {} - - if header: - links = parse_header_links(header) - - for link in links: - key = link.get('rel') or link.get('url') - l[key] = link - - return l - - def raise_for_status(self): - """Raises stored :class:`HTTPError`, if one occurred.""" - - http_error_msg = '' - - if 400 <= self.status_code < 500: - http_error_msg = '%s Client Error: %s for url: %s' % (self.status_code, self.reason, self.url) - - elif 500 <= self.status_code < 600: - http_error_msg = '%s Server Error: %s for url: %s' % (self.status_code, self.reason, self.url) - - if http_error_msg: - raise HTTPError(http_error_msg, response=self) - - def close(self): - """Releases the connection back to the pool. Once this method has been - called the underlying ``raw`` object must not be accessed again. - - *Note: Should not normally need to be called explicitly.* - """ - if not self._content_consumed: - return self.raw.close() - - return self.raw.release_conn() diff --git a/lib27/site-packages/requests/packages/__init__.py b/lib27/site-packages/requests/packages/__init__.py deleted file mode 100644 index 971c2ad02..000000000 --- a/lib27/site-packages/requests/packages/__init__.py +++ /dev/null @@ -1,36 +0,0 @@ -''' -Debian and other distributions "unbundle" requests' vendored dependencies, and -rewrite all imports to use the global versions of ``urllib3`` and ``chardet``. -The problem with this is that not only requests itself imports those -dependencies, but third-party code outside of the distros' control too. - -In reaction to these problems, the distro maintainers replaced -``requests.packages`` with a magical "stub module" that imports the correct -modules. The implementations were varying in quality and all had severe -problems. For example, a symlink (or hardlink) that links the correct modules -into place introduces problems regarding object identity, since you now have -two modules in `sys.modules` with the same API, but different identities:: - - requests.packages.urllib3 is not urllib3 - -With version ``2.5.2``, requests started to maintain its own stub, so that -distro-specific breakage would be reduced to a minimum, even though the whole -issue is not requests' fault in the first place. See -https://github.com/kennethreitz/requests/pull/2375 for the corresponding pull -request. -''' - -from __future__ import absolute_import -import sys - -try: - from . import urllib3 -except ImportError: - import urllib3 - sys.modules['%s.urllib3' % __name__] = urllib3 - -try: - from . import chardet -except ImportError: - import chardet - sys.modules['%s.chardet' % __name__] = chardet diff --git a/lib27/site-packages/requests/packages/chardet/__init__.py b/lib27/site-packages/requests/packages/chardet/__init__.py deleted file mode 100644 index 82c2a48d2..000000000 --- a/lib27/site-packages/requests/packages/chardet/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -__version__ = "2.3.0" -from sys import version_info - - -def detect(aBuf): - if ((version_info < (3, 0) and isinstance(aBuf, unicode)) or - (version_info >= (3, 0) and not isinstance(aBuf, bytes))): - raise ValueError('Expected a bytes object, not a unicode object') - - from . import universaldetector - u = universaldetector.UniversalDetector() - u.reset() - u.feed(aBuf) - u.close() - return u.result diff --git a/lib27/site-packages/requests/packages/chardet/big5freq.py b/lib27/site-packages/requests/packages/chardet/big5freq.py deleted file mode 100644 index 65bffc04b..000000000 --- a/lib27/site-packages/requests/packages/chardet/big5freq.py +++ /dev/null @@ -1,925 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Big5 frequency table -# by Taiwan's Mandarin Promotion Council -# -# -# 128 --> 0.42261 -# 256 --> 0.57851 -# 512 --> 0.74851 -# 1024 --> 0.89384 -# 2048 --> 0.97583 -# -# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 -# Random Distribution Ration = 512/(5401-512)=0.105 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR - -BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 - -#Char to FreqOrder table -BIG5_TABLE_SIZE = 5376 - -Big5CharToFreqOrder = ( - 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 -3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 -1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 - 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 -3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 -4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 -5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 - 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 - 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 - 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 -2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 -1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 -3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 - 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 -3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 -2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 - 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 -3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 -1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 -5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 - 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 -5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 -1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 - 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 - 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 -3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 -3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 - 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 -2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 -2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 - 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 - 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 -3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 -1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 -1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 -1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 -2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 - 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 -4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 -1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 -5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 -2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 - 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 - 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 - 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 - 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 -5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 - 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 -1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 - 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 - 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 -5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 -1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 - 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 -3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 -4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 -3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 - 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 - 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 -1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 -4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 -3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 -3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 -2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 -5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 -3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 -5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 -1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 -2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 -1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 - 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 -1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 -4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 -3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 - 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 - 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 - 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 -2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 -5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 -1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 -2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 -1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 -1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 -5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 -5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 -5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 -3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 -4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 -4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 -2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 -5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 -3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 - 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 -5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 -5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 -1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 -2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 -3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 -4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 -5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 -3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 -4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 -1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 -1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 -4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 -1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 - 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 -1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 -1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 -3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 - 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 -5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 -2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 -1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 -1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 -5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 - 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 -4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 - 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 -2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 - 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 -1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 -1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 - 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 -4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 -4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 -1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 -3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 -5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 -5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 -1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 -2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 -1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 -3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 -2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 -3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 -2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 -4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 -4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 -3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 - 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 -3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 - 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 -3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 -4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 -3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 -1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 -5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 - 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 -5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 -1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 - 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 -4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 -4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 - 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 -2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 -2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 -3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 -1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 -4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 -2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 -1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 -1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 -2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 -3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 -1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 -5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 -1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 -4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 -1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 - 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 -1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 -4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 -4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 -2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 -1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 -4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 - 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 -5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 -2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 -3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 -4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 - 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 -5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 -5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 -1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 -4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 -4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 -2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 -3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 -3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 -2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 -1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 -4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 -3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 -3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 -2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 -4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 -5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 -3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 -2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 -3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 -1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 -2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 -3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 -4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 -2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 -2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 -5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 -1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 -2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 -1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 -3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 -4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 -2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 -3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 -3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 -2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 -4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 -2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 -3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 -4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 -5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 -3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 - 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 -1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 -4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 -1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 -4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 -5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 - 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 -5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 -5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 -2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 -3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 -2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 -2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 - 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 -1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 -4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 -3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 -3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 - 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 -2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 - 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 -2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 -4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 -1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 -4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 -1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 -3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 - 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 -3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 -5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 -5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 -3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 -3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 -1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 -2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 -5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 -1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 -1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 -3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 - 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 -1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 -4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 -5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 -2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 -3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 - 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 -1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 -2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 -2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 -5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 -5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 -5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 -2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 -2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 -1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 -4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 -3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 -3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 -4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 -4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 -2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 -2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 -5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 -4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 -5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 -4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 - 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 - 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 -1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 -3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 -4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 -1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 -5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 -2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 -2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 -3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 -5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 -1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 -3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 -5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 -1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 -5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 -2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 -3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 -2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 -3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 -3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 -3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 -4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 - 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 -2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 -4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 -3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 -5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 -1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 -5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 - 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 -1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 - 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 -4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 -1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 -4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 -1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 - 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 -3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 -4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 -5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 - 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 -3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 - 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 -2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 #last 512 -#Everything below is of no interest for detection purpose -2522,1613,4812,5799,3345,3945,2523,5800,4162,5801,1637,4163,2471,4813,3946,5802, # 5392 -2500,3034,3800,5803,5804,2195,4814,5805,2163,5806,5807,5808,5809,5810,5811,5812, # 5408 -5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828, # 5424 -5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844, # 5440 -5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5858,5859,5860, # 5456 -5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872,5873,5874,5875,5876, # 5472 -5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888,5889,5890,5891,5892, # 5488 -5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905,5906,5907,5908, # 5504 -5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920,5921,5922,5923,5924, # 5520 -5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5938,5939,5940, # 5536 -5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952,5953,5954,5955,5956, # 5552 -5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968,5969,5970,5971,5972, # 5568 -5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984,5985,5986,5987,5988, # 5584 -5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004, # 5600 -6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020, # 5616 -6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036, # 5632 -6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052, # 5648 -6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068, # 5664 -6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084, # 5680 -6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100, # 5696 -6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116, # 5712 -6117,6118,6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,6132, # 5728 -6133,6134,6135,6136,6137,6138,6139,6140,6141,6142,6143,6144,6145,6146,6147,6148, # 5744 -6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163,6164, # 5760 -6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179,6180, # 5776 -6181,6182,6183,6184,6185,6186,6187,6188,6189,6190,6191,6192,6193,6194,6195,6196, # 5792 -6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,6211,6212, # 5808 -6213,6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,3670,6224,6225,6226,6227, # 5824 -6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,6242,6243, # 5840 -6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,6254,6255,6256,6257,6258,6259, # 5856 -6260,6261,6262,6263,6264,6265,6266,6267,6268,6269,6270,6271,6272,6273,6274,6275, # 5872 -6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,4815,6286,6287,6288,6289,6290, # 5888 -6291,6292,4816,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,6303,6304,6305, # 5904 -6306,6307,6308,6309,6310,6311,4817,4818,6312,6313,6314,6315,6316,6317,6318,4819, # 5920 -6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,6334, # 5936 -6335,6336,6337,4820,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6349, # 5952 -6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363,6364,6365, # 5968 -6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379,6380,6381, # 5984 -6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395,6396,6397, # 6000 -6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,3441,6411,6412, # 6016 -6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,4440,6426,6427, # 6032 -6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,6439,6440,6441,6442,6443, # 6048 -6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,4821,6455,6456,6457,6458, # 6064 -6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,6473,6474, # 6080 -6475,6476,6477,3947,3948,6478,6479,6480,6481,3272,4441,6482,6483,6484,6485,4442, # 6096 -6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496,4822,6497,6498,6499,6500, # 6112 -6501,6502,6503,6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516, # 6128 -6517,6518,6519,6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532, # 6144 -6533,6534,6535,6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548, # 6160 -6549,6550,6551,6552,6553,6554,6555,6556,2784,6557,4823,6558,6559,6560,6561,6562, # 6176 -6563,6564,6565,6566,6567,6568,6569,3949,6570,6571,6572,4824,6573,6574,6575,6576, # 6192 -6577,6578,6579,6580,6581,6582,6583,4825,6584,6585,6586,3950,2785,6587,6588,6589, # 6208 -6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605, # 6224 -6606,6607,6608,6609,6610,6611,6612,4826,6613,6614,6615,4827,6616,6617,6618,6619, # 6240 -6620,6621,6622,6623,6624,6625,4164,6626,6627,6628,6629,6630,6631,6632,6633,6634, # 6256 -3547,6635,4828,6636,6637,6638,6639,6640,6641,6642,3951,2984,6643,6644,6645,6646, # 6272 -6647,6648,6649,4165,6650,4829,6651,6652,4830,6653,6654,6655,6656,6657,6658,6659, # 6288 -6660,6661,6662,4831,6663,6664,6665,6666,6667,6668,6669,6670,6671,4166,6672,4832, # 6304 -3952,6673,6674,6675,6676,4833,6677,6678,6679,4167,6680,6681,6682,3198,6683,6684, # 6320 -6685,6686,6687,6688,6689,6690,6691,6692,6693,6694,6695,6696,6697,4834,6698,6699, # 6336 -6700,6701,6702,6703,6704,6705,6706,6707,6708,6709,6710,6711,6712,6713,6714,6715, # 6352 -6716,6717,6718,6719,6720,6721,6722,6723,6724,6725,6726,6727,6728,6729,6730,6731, # 6368 -6732,6733,6734,4443,6735,6736,6737,6738,6739,6740,6741,6742,6743,6744,6745,4444, # 6384 -6746,6747,6748,6749,6750,6751,6752,6753,6754,6755,6756,6757,6758,6759,6760,6761, # 6400 -6762,6763,6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777, # 6416 -6778,6779,6780,6781,4168,6782,6783,3442,6784,6785,6786,6787,6788,6789,6790,6791, # 6432 -4169,6792,6793,6794,6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806, # 6448 -6807,6808,6809,6810,6811,4835,6812,6813,6814,4445,6815,6816,4446,6817,6818,6819, # 6464 -6820,6821,6822,6823,6824,6825,6826,6827,6828,6829,6830,6831,6832,6833,6834,6835, # 6480 -3548,6836,6837,6838,6839,6840,6841,6842,6843,6844,6845,6846,4836,6847,6848,6849, # 6496 -6850,6851,6852,6853,6854,3953,6855,6856,6857,6858,6859,6860,6861,6862,6863,6864, # 6512 -6865,6866,6867,6868,6869,6870,6871,6872,6873,6874,6875,6876,6877,3199,6878,6879, # 6528 -6880,6881,6882,4447,6883,6884,6885,6886,6887,6888,6889,6890,6891,6892,6893,6894, # 6544 -6895,6896,6897,6898,6899,6900,6901,6902,6903,6904,4170,6905,6906,6907,6908,6909, # 6560 -6910,6911,6912,6913,6914,6915,6916,6917,6918,6919,6920,6921,6922,6923,6924,6925, # 6576 -6926,6927,4837,6928,6929,6930,6931,6932,6933,6934,6935,6936,3346,6937,6938,4838, # 6592 -6939,6940,6941,4448,6942,6943,6944,6945,6946,4449,6947,6948,6949,6950,6951,6952, # 6608 -6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966,6967,6968, # 6624 -6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981,6982,6983,6984, # 6640 -6985,6986,6987,6988,6989,6990,6991,6992,6993,6994,3671,6995,6996,6997,6998,4839, # 6656 -6999,7000,7001,7002,3549,7003,7004,7005,7006,7007,7008,7009,7010,7011,7012,7013, # 6672 -7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027,7028,7029, # 6688 -7030,4840,7031,7032,7033,7034,7035,7036,7037,7038,4841,7039,7040,7041,7042,7043, # 6704 -7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,7059, # 6720 -7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,2985,7071,7072,7073,7074, # 6736 -7075,7076,7077,7078,7079,7080,4842,7081,7082,7083,7084,7085,7086,7087,7088,7089, # 6752 -7090,7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105, # 6768 -7106,7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,4450,7119,7120, # 6784 -7121,7122,7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136, # 6800 -7137,7138,7139,7140,7141,7142,7143,4843,7144,7145,7146,7147,7148,7149,7150,7151, # 6816 -7152,7153,7154,7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167, # 6832 -7168,7169,7170,7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183, # 6848 -7184,7185,7186,7187,7188,4171,4172,7189,7190,7191,7192,7193,7194,7195,7196,7197, # 6864 -7198,7199,7200,7201,7202,7203,7204,7205,7206,7207,7208,7209,7210,7211,7212,7213, # 6880 -7214,7215,7216,7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229, # 6896 -7230,7231,7232,7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245, # 6912 -7246,7247,7248,7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261, # 6928 -7262,7263,7264,7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277, # 6944 -7278,7279,7280,7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293, # 6960 -7294,7295,7296,4844,7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308, # 6976 -7309,7310,7311,7312,7313,7314,7315,7316,4451,7317,7318,7319,7320,7321,7322,7323, # 6992 -7324,7325,7326,7327,7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339, # 7008 -7340,7341,7342,7343,7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,4173,7354, # 7024 -7355,4845,7356,7357,7358,7359,7360,7361,7362,7363,7364,7365,7366,7367,7368,7369, # 7040 -7370,7371,7372,7373,7374,7375,7376,7377,7378,7379,7380,7381,7382,7383,7384,7385, # 7056 -7386,7387,7388,4846,7389,7390,7391,7392,7393,7394,7395,7396,7397,7398,7399,7400, # 7072 -7401,7402,7403,7404,7405,3672,7406,7407,7408,7409,7410,7411,7412,7413,7414,7415, # 7088 -7416,7417,7418,7419,7420,7421,7422,7423,7424,7425,7426,7427,7428,7429,7430,7431, # 7104 -7432,7433,7434,7435,7436,7437,7438,7439,7440,7441,7442,7443,7444,7445,7446,7447, # 7120 -7448,7449,7450,7451,7452,7453,4452,7454,3200,7455,7456,7457,7458,7459,7460,7461, # 7136 -7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473,7474,4847,7475,7476, # 7152 -7477,3133,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,7488,7489,7490,7491, # 7168 -7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,3347,7503,7504,7505,7506, # 7184 -7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,7520,7521,4848, # 7200 -7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,7536,7537, # 7216 -7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,3801,4849,7550,7551, # 7232 -7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, # 7248 -7568,7569,3035,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582, # 7264 -7583,7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598, # 7280 -7599,7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614, # 7296 -7615,7616,4850,7617,7618,3802,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628, # 7312 -7629,7630,7631,7632,4851,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643, # 7328 -7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659, # 7344 -7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,4453,7671,7672,7673,7674, # 7360 -7675,7676,7677,7678,7679,7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690, # 7376 -7691,7692,7693,7694,7695,7696,7697,3443,7698,7699,7700,7701,7702,4454,7703,7704, # 7392 -7705,7706,7707,7708,7709,7710,7711,7712,7713,2472,7714,7715,7716,7717,7718,7719, # 7408 -7720,7721,7722,7723,7724,7725,7726,7727,7728,7729,7730,7731,3954,7732,7733,7734, # 7424 -7735,7736,7737,7738,7739,7740,7741,7742,7743,7744,7745,7746,7747,7748,7749,7750, # 7440 -3134,7751,7752,4852,7753,7754,7755,4853,7756,7757,7758,7759,7760,4174,7761,7762, # 7456 -7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,7777,7778, # 7472 -7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791,7792,7793,7794, # 7488 -7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,4854,7806,7807,7808,7809, # 7504 -7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824,7825, # 7520 -4855,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, # 7536 -7841,7842,7843,7844,7845,7846,7847,3955,7848,7849,7850,7851,7852,7853,7854,7855, # 7552 -7856,7857,7858,7859,7860,3444,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870, # 7568 -7871,7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886, # 7584 -7887,7888,7889,7890,7891,4175,7892,7893,7894,7895,7896,4856,4857,7897,7898,7899, # 7600 -7900,2598,7901,7902,7903,7904,7905,7906,7907,7908,4455,7909,7910,7911,7912,7913, # 7616 -7914,3201,7915,7916,7917,7918,7919,7920,7921,4858,7922,7923,7924,7925,7926,7927, # 7632 -7928,7929,7930,7931,7932,7933,7934,7935,7936,7937,7938,7939,7940,7941,7942,7943, # 7648 -7944,7945,7946,7947,7948,7949,7950,7951,7952,7953,7954,7955,7956,7957,7958,7959, # 7664 -7960,7961,7962,7963,7964,7965,7966,7967,7968,7969,7970,7971,7972,7973,7974,7975, # 7680 -7976,7977,7978,7979,7980,7981,4859,7982,7983,7984,7985,7986,7987,7988,7989,7990, # 7696 -7991,7992,7993,7994,7995,7996,4860,7997,7998,7999,8000,8001,8002,8003,8004,8005, # 7712 -8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,4176,8017,8018,8019,8020, # 7728 -8021,8022,8023,4861,8024,8025,8026,8027,8028,8029,8030,8031,8032,8033,8034,8035, # 7744 -8036,4862,4456,8037,8038,8039,8040,4863,8041,8042,8043,8044,8045,8046,8047,8048, # 7760 -8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063,8064, # 7776 -8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079,8080, # 7792 -8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096, # 7808 -8097,8098,8099,4864,4177,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110, # 7824 -8111,8112,8113,8114,8115,8116,8117,8118,8119,8120,4178,8121,8122,8123,8124,8125, # 7840 -8126,8127,8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141, # 7856 -8142,8143,8144,8145,4865,4866,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155, # 7872 -8156,8157,8158,8159,8160,8161,8162,8163,8164,8165,4179,8166,8167,8168,8169,8170, # 7888 -8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181,4457,8182,8183,8184,8185, # 7904 -8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201, # 7920 -8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213,8214,8215,8216,8217, # 7936 -8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229,8230,8231,8232,8233, # 7952 -8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245,8246,8247,8248,8249, # 7968 -8250,8251,8252,8253,8254,8255,8256,3445,8257,8258,8259,8260,8261,8262,4458,8263, # 7984 -8264,8265,8266,8267,8268,8269,8270,8271,8272,4459,8273,8274,8275,8276,3550,8277, # 8000 -8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,4460,8290,8291,8292, # 8016 -8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,4867, # 8032 -8308,8309,8310,8311,8312,3551,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322, # 8048 -8323,8324,8325,8326,4868,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337, # 8064 -8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353, # 8080 -8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,4869,4461,8364,8365,8366,8367, # 8096 -8368,8369,8370,4870,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382, # 8112 -8383,8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398, # 8128 -8399,8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,4871,8411,8412,8413, # 8144 -8414,8415,8416,8417,8418,8419,8420,8421,8422,4462,8423,8424,8425,8426,8427,8428, # 8160 -8429,8430,8431,8432,8433,2986,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443, # 8176 -8444,8445,8446,8447,8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459, # 8192 -8460,8461,8462,8463,8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475, # 8208 -8476,8477,8478,4180,8479,8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490, # 8224 -8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506, # 8240 -8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522, # 8256 -8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538, # 8272 -8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554, # 8288 -8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,4872,8565,8566,8567,8568,8569, # 8304 -8570,8571,8572,8573,4873,8574,8575,8576,8577,8578,8579,8580,8581,8582,8583,8584, # 8320 -8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597,8598,8599,8600, # 8336 -8601,8602,8603,8604,8605,3803,8606,8607,8608,8609,8610,8611,8612,8613,4874,3804, # 8352 -8614,8615,8616,8617,8618,8619,8620,8621,3956,8622,8623,8624,8625,8626,8627,8628, # 8368 -8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,2865,8639,8640,8641,8642,8643, # 8384 -8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,4463,8657,8658, # 8400 -8659,4875,4876,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672, # 8416 -8673,8674,8675,8676,8677,8678,8679,8680,8681,4464,8682,8683,8684,8685,8686,8687, # 8432 -8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, # 8448 -8704,8705,8706,8707,8708,8709,2261,8710,8711,8712,8713,8714,8715,8716,8717,8718, # 8464 -8719,8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,4181, # 8480 -8734,8735,8736,8737,8738,8739,8740,8741,8742,8743,8744,8745,8746,8747,8748,8749, # 8496 -8750,8751,8752,8753,8754,8755,8756,8757,8758,8759,8760,8761,8762,8763,4877,8764, # 8512 -8765,8766,8767,8768,8769,8770,8771,8772,8773,8774,8775,8776,8777,8778,8779,8780, # 8528 -8781,8782,8783,8784,8785,8786,8787,8788,4878,8789,4879,8790,8791,8792,4880,8793, # 8544 -8794,8795,8796,8797,8798,8799,8800,8801,4881,8802,8803,8804,8805,8806,8807,8808, # 8560 -8809,8810,8811,8812,8813,8814,8815,3957,8816,8817,8818,8819,8820,8821,8822,8823, # 8576 -8824,8825,8826,8827,8828,8829,8830,8831,8832,8833,8834,8835,8836,8837,8838,8839, # 8592 -8840,8841,8842,8843,8844,8845,8846,8847,4882,8848,8849,8850,8851,8852,8853,8854, # 8608 -8855,8856,8857,8858,8859,8860,8861,8862,8863,8864,8865,8866,8867,8868,8869,8870, # 8624 -8871,8872,8873,8874,8875,8876,8877,8878,8879,8880,8881,8882,8883,8884,3202,8885, # 8640 -8886,8887,8888,8889,8890,8891,8892,8893,8894,8895,8896,8897,8898,8899,8900,8901, # 8656 -8902,8903,8904,8905,8906,8907,8908,8909,8910,8911,8912,8913,8914,8915,8916,8917, # 8672 -8918,8919,8920,8921,8922,8923,8924,4465,8925,8926,8927,8928,8929,8930,8931,8932, # 8688 -4883,8933,8934,8935,8936,8937,8938,8939,8940,8941,8942,8943,2214,8944,8945,8946, # 8704 -8947,8948,8949,8950,8951,8952,8953,8954,8955,8956,8957,8958,8959,8960,8961,8962, # 8720 -8963,8964,8965,4884,8966,8967,8968,8969,8970,8971,8972,8973,8974,8975,8976,8977, # 8736 -8978,8979,8980,8981,8982,8983,8984,8985,8986,8987,8988,8989,8990,8991,8992,4885, # 8752 -8993,8994,8995,8996,8997,8998,8999,9000,9001,9002,9003,9004,9005,9006,9007,9008, # 8768 -9009,9010,9011,9012,9013,9014,9015,9016,9017,9018,9019,9020,9021,4182,9022,9023, # 8784 -9024,9025,9026,9027,9028,9029,9030,9031,9032,9033,9034,9035,9036,9037,9038,9039, # 8800 -9040,9041,9042,9043,9044,9045,9046,9047,9048,9049,9050,9051,9052,9053,9054,9055, # 8816 -9056,9057,9058,9059,9060,9061,9062,9063,4886,9064,9065,9066,9067,9068,9069,4887, # 8832 -9070,9071,9072,9073,9074,9075,9076,9077,9078,9079,9080,9081,9082,9083,9084,9085, # 8848 -9086,9087,9088,9089,9090,9091,9092,9093,9094,9095,9096,9097,9098,9099,9100,9101, # 8864 -9102,9103,9104,9105,9106,9107,9108,9109,9110,9111,9112,9113,9114,9115,9116,9117, # 8880 -9118,9119,9120,9121,9122,9123,9124,9125,9126,9127,9128,9129,9130,9131,9132,9133, # 8896 -9134,9135,9136,9137,9138,9139,9140,9141,3958,9142,9143,9144,9145,9146,9147,9148, # 8912 -9149,9150,9151,4888,9152,9153,9154,9155,9156,9157,9158,9159,9160,9161,9162,9163, # 8928 -9164,9165,9166,9167,9168,9169,9170,9171,9172,9173,9174,9175,4889,9176,9177,9178, # 8944 -9179,9180,9181,9182,9183,9184,9185,9186,9187,9188,9189,9190,9191,9192,9193,9194, # 8960 -9195,9196,9197,9198,9199,9200,9201,9202,9203,4890,9204,9205,9206,9207,9208,9209, # 8976 -9210,9211,9212,9213,9214,9215,9216,9217,9218,9219,9220,9221,9222,4466,9223,9224, # 8992 -9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240, # 9008 -9241,9242,9243,9244,9245,4891,9246,9247,9248,9249,9250,9251,9252,9253,9254,9255, # 9024 -9256,9257,4892,9258,9259,9260,9261,4893,4894,9262,9263,9264,9265,9266,9267,9268, # 9040 -9269,9270,9271,9272,9273,4467,9274,9275,9276,9277,9278,9279,9280,9281,9282,9283, # 9056 -9284,9285,3673,9286,9287,9288,9289,9290,9291,9292,9293,9294,9295,9296,9297,9298, # 9072 -9299,9300,9301,9302,9303,9304,9305,9306,9307,9308,9309,9310,9311,9312,9313,9314, # 9088 -9315,9316,9317,9318,9319,9320,9321,9322,4895,9323,9324,9325,9326,9327,9328,9329, # 9104 -9330,9331,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345, # 9120 -9346,9347,4468,9348,9349,9350,9351,9352,9353,9354,9355,9356,9357,9358,9359,9360, # 9136 -9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9372,9373,4896,9374,4469, # 9152 -9375,9376,9377,9378,9379,4897,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389, # 9168 -9390,9391,9392,9393,9394,9395,9396,9397,9398,9399,9400,9401,9402,9403,9404,9405, # 9184 -9406,4470,9407,2751,9408,9409,3674,3552,9410,9411,9412,9413,9414,9415,9416,9417, # 9200 -9418,9419,9420,9421,4898,9422,9423,9424,9425,9426,9427,9428,9429,3959,9430,9431, # 9216 -9432,9433,9434,9435,9436,4471,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446, # 9232 -9447,9448,9449,9450,3348,9451,9452,9453,9454,9455,9456,9457,9458,9459,9460,9461, # 9248 -9462,9463,9464,9465,9466,9467,9468,9469,9470,9471,9472,4899,9473,9474,9475,9476, # 9264 -9477,4900,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,3349,9489,9490, # 9280 -9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506, # 9296 -9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,4901,9521, # 9312 -9522,9523,9524,9525,9526,4902,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536, # 9328 -9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,9548,9549,9550,9551,9552, # 9344 -9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568, # 9360 -9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584, # 9376 -3805,9585,9586,9587,9588,9589,9590,9591,9592,9593,9594,9595,9596,9597,9598,9599, # 9392 -9600,9601,9602,4903,9603,9604,9605,9606,9607,4904,9608,9609,9610,9611,9612,9613, # 9408 -9614,4905,9615,9616,9617,9618,9619,9620,9621,9622,9623,9624,9625,9626,9627,9628, # 9424 -9629,9630,9631,9632,4906,9633,9634,9635,9636,9637,9638,9639,9640,9641,9642,9643, # 9440 -4907,9644,9645,9646,9647,9648,9649,9650,9651,9652,9653,9654,9655,9656,9657,9658, # 9456 -9659,9660,9661,9662,9663,9664,9665,9666,9667,9668,9669,9670,9671,9672,4183,9673, # 9472 -9674,9675,9676,9677,4908,9678,9679,9680,9681,4909,9682,9683,9684,9685,9686,9687, # 9488 -9688,9689,9690,4910,9691,9692,9693,3675,9694,9695,9696,2945,9697,9698,9699,9700, # 9504 -9701,9702,9703,9704,9705,4911,9706,9707,9708,9709,9710,9711,9712,9713,9714,9715, # 9520 -9716,9717,9718,9719,9720,9721,9722,9723,9724,9725,9726,9727,9728,9729,9730,9731, # 9536 -9732,9733,9734,9735,4912,9736,9737,9738,9739,9740,4913,9741,9742,9743,9744,9745, # 9552 -9746,9747,9748,9749,9750,9751,9752,9753,9754,9755,9756,9757,9758,4914,9759,9760, # 9568 -9761,9762,9763,9764,9765,9766,9767,9768,9769,9770,9771,9772,9773,9774,9775,9776, # 9584 -9777,9778,9779,9780,9781,9782,4915,9783,9784,9785,9786,9787,9788,9789,9790,9791, # 9600 -9792,9793,4916,9794,9795,9796,9797,9798,9799,9800,9801,9802,9803,9804,9805,9806, # 9616 -9807,9808,9809,9810,9811,9812,9813,9814,9815,9816,9817,9818,9819,9820,9821,9822, # 9632 -9823,9824,9825,9826,9827,9828,9829,9830,9831,9832,9833,9834,9835,9836,9837,9838, # 9648 -9839,9840,9841,9842,9843,9844,9845,9846,9847,9848,9849,9850,9851,9852,9853,9854, # 9664 -9855,9856,9857,9858,9859,9860,9861,9862,9863,9864,9865,9866,9867,9868,4917,9869, # 9680 -9870,9871,9872,9873,9874,9875,9876,9877,9878,9879,9880,9881,9882,9883,9884,9885, # 9696 -9886,9887,9888,9889,9890,9891,9892,4472,9893,9894,9895,9896,9897,3806,9898,9899, # 9712 -9900,9901,9902,9903,9904,9905,9906,9907,9908,9909,9910,9911,9912,9913,9914,4918, # 9728 -9915,9916,9917,4919,9918,9919,9920,9921,4184,9922,9923,9924,9925,9926,9927,9928, # 9744 -9929,9930,9931,9932,9933,9934,9935,9936,9937,9938,9939,9940,9941,9942,9943,9944, # 9760 -9945,9946,4920,9947,9948,9949,9950,9951,9952,9953,9954,9955,4185,9956,9957,9958, # 9776 -9959,9960,9961,9962,9963,9964,9965,4921,9966,9967,9968,4473,9969,9970,9971,9972, # 9792 -9973,9974,9975,9976,9977,4474,9978,9979,9980,9981,9982,9983,9984,9985,9986,9987, # 9808 -9988,9989,9990,9991,9992,9993,9994,9995,9996,9997,9998,9999,10000,10001,10002,10003, # 9824 -10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019, # 9840 -10020,10021,4922,10022,4923,10023,10024,10025,10026,10027,10028,10029,10030,10031,10032,10033, # 9856 -10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,4924, # 9872 -10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,10060,10061,10062,10063,10064, # 9888 -10065,10066,10067,10068,10069,10070,10071,10072,10073,10074,10075,10076,10077,10078,10079,10080, # 9904 -10081,10082,10083,10084,10085,10086,10087,4475,10088,10089,10090,10091,10092,10093,10094,10095, # 9920 -10096,10097,4476,10098,10099,10100,10101,10102,10103,10104,10105,10106,10107,10108,10109,10110, # 9936 -10111,2174,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125, # 9952 -10126,10127,10128,10129,10130,10131,10132,10133,10134,10135,10136,10137,10138,10139,10140,3807, # 9968 -4186,4925,10141,10142,10143,10144,10145,10146,10147,4477,4187,10148,10149,10150,10151,10152, # 9984 -10153,4188,10154,10155,10156,10157,10158,10159,10160,10161,4926,10162,10163,10164,10165,10166, #10000 -10167,10168,10169,10170,10171,10172,10173,10174,10175,10176,10177,10178,10179,10180,10181,10182, #10016 -10183,10184,10185,10186,10187,10188,10189,10190,10191,10192,3203,10193,10194,10195,10196,10197, #10032 -10198,10199,10200,4478,10201,10202,10203,10204,4479,10205,10206,10207,10208,10209,10210,10211, #10048 -10212,10213,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,10225,10226,10227, #10064 -10228,10229,10230,10231,10232,10233,10234,4927,10235,10236,10237,10238,10239,10240,10241,10242, #10080 -10243,10244,10245,10246,10247,10248,10249,10250,10251,10252,10253,10254,10255,10256,10257,10258, #10096 -10259,10260,10261,10262,10263,10264,10265,10266,10267,10268,10269,10270,10271,10272,10273,4480, #10112 -4928,4929,10274,10275,10276,10277,10278,10279,10280,10281,10282,10283,10284,10285,10286,10287, #10128 -10288,10289,10290,10291,10292,10293,10294,10295,10296,10297,10298,10299,10300,10301,10302,10303, #10144 -10304,10305,10306,10307,10308,10309,10310,10311,10312,10313,10314,10315,10316,10317,10318,10319, #10160 -10320,10321,10322,10323,10324,10325,10326,10327,10328,10329,10330,10331,10332,10333,10334,4930, #10176 -10335,10336,10337,10338,10339,10340,10341,10342,4931,10343,10344,10345,10346,10347,10348,10349, #10192 -10350,10351,10352,10353,10354,10355,3088,10356,2786,10357,10358,10359,10360,4189,10361,10362, #10208 -10363,10364,10365,10366,10367,10368,10369,10370,10371,10372,10373,10374,10375,4932,10376,10377, #10224 -10378,10379,10380,10381,10382,10383,10384,10385,10386,10387,10388,10389,10390,10391,10392,4933, #10240 -10393,10394,10395,4934,10396,10397,10398,10399,10400,10401,10402,10403,10404,10405,10406,10407, #10256 -10408,10409,10410,10411,10412,3446,10413,10414,10415,10416,10417,10418,10419,10420,10421,10422, #10272 -10423,4935,10424,10425,10426,10427,10428,10429,10430,4936,10431,10432,10433,10434,10435,10436, #10288 -10437,10438,10439,10440,10441,10442,10443,4937,10444,10445,10446,10447,4481,10448,10449,10450, #10304 -10451,10452,10453,10454,10455,10456,10457,10458,10459,10460,10461,10462,10463,10464,10465,10466, #10320 -10467,10468,10469,10470,10471,10472,10473,10474,10475,10476,10477,10478,10479,10480,10481,10482, #10336 -10483,10484,10485,10486,10487,10488,10489,10490,10491,10492,10493,10494,10495,10496,10497,10498, #10352 -10499,10500,10501,10502,10503,10504,10505,4938,10506,10507,10508,10509,10510,2552,10511,10512, #10368 -10513,10514,10515,10516,3447,10517,10518,10519,10520,10521,10522,10523,10524,10525,10526,10527, #10384 -10528,10529,10530,10531,10532,10533,10534,10535,10536,10537,10538,10539,10540,10541,10542,10543, #10400 -4482,10544,4939,10545,10546,10547,10548,10549,10550,10551,10552,10553,10554,10555,10556,10557, #10416 -10558,10559,10560,10561,10562,10563,10564,10565,10566,10567,3676,4483,10568,10569,10570,10571, #10432 -10572,3448,10573,10574,10575,10576,10577,10578,10579,10580,10581,10582,10583,10584,10585,10586, #10448 -10587,10588,10589,10590,10591,10592,10593,10594,10595,10596,10597,10598,10599,10600,10601,10602, #10464 -10603,10604,10605,10606,10607,10608,10609,10610,10611,10612,10613,10614,10615,10616,10617,10618, #10480 -10619,10620,10621,10622,10623,10624,10625,10626,10627,4484,10628,10629,10630,10631,10632,4940, #10496 -10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,10647,10648, #10512 -10649,10650,10651,10652,10653,10654,10655,10656,4941,10657,10658,10659,2599,10660,10661,10662, #10528 -10663,10664,10665,10666,3089,10667,10668,10669,10670,10671,10672,10673,10674,10675,10676,10677, #10544 -10678,10679,10680,4942,10681,10682,10683,10684,10685,10686,10687,10688,10689,10690,10691,10692, #10560 -10693,10694,10695,10696,10697,4485,10698,10699,10700,10701,10702,10703,10704,4943,10705,3677, #10576 -10706,10707,10708,10709,10710,10711,10712,4944,10713,10714,10715,10716,10717,10718,10719,10720, #10592 -10721,10722,10723,10724,10725,10726,10727,10728,4945,10729,10730,10731,10732,10733,10734,10735, #10608 -10736,10737,10738,10739,10740,10741,10742,10743,10744,10745,10746,10747,10748,10749,10750,10751, #10624 -10752,10753,10754,10755,10756,10757,10758,10759,10760,10761,4946,10762,10763,10764,10765,10766, #10640 -10767,4947,4948,10768,10769,10770,10771,10772,10773,10774,10775,10776,10777,10778,10779,10780, #10656 -10781,10782,10783,10784,10785,10786,10787,10788,10789,10790,10791,10792,10793,10794,10795,10796, #10672 -10797,10798,10799,10800,10801,10802,10803,10804,10805,10806,10807,10808,10809,10810,10811,10812, #10688 -10813,10814,10815,10816,10817,10818,10819,10820,10821,10822,10823,10824,10825,10826,10827,10828, #10704 -10829,10830,10831,10832,10833,10834,10835,10836,10837,10838,10839,10840,10841,10842,10843,10844, #10720 -10845,10846,10847,10848,10849,10850,10851,10852,10853,10854,10855,10856,10857,10858,10859,10860, #10736 -10861,10862,10863,10864,10865,10866,10867,10868,10869,10870,10871,10872,10873,10874,10875,10876, #10752 -10877,10878,4486,10879,10880,10881,10882,10883,10884,10885,4949,10886,10887,10888,10889,10890, #10768 -10891,10892,10893,10894,10895,10896,10897,10898,10899,10900,10901,10902,10903,10904,10905,10906, #10784 -10907,10908,10909,10910,10911,10912,10913,10914,10915,10916,10917,10918,10919,4487,10920,10921, #10800 -10922,10923,10924,10925,10926,10927,10928,10929,10930,10931,10932,4950,10933,10934,10935,10936, #10816 -10937,10938,10939,10940,10941,10942,10943,10944,10945,10946,10947,10948,10949,4488,10950,10951, #10832 -10952,10953,10954,10955,10956,10957,10958,10959,4190,10960,10961,10962,10963,10964,10965,10966, #10848 -10967,10968,10969,10970,10971,10972,10973,10974,10975,10976,10977,10978,10979,10980,10981,10982, #10864 -10983,10984,10985,10986,10987,10988,10989,10990,10991,10992,10993,10994,10995,10996,10997,10998, #10880 -10999,11000,11001,11002,11003,11004,11005,11006,3960,11007,11008,11009,11010,11011,11012,11013, #10896 -11014,11015,11016,11017,11018,11019,11020,11021,11022,11023,11024,11025,11026,11027,11028,11029, #10912 -11030,11031,11032,4951,11033,11034,11035,11036,11037,11038,11039,11040,11041,11042,11043,11044, #10928 -11045,11046,11047,4489,11048,11049,11050,11051,4952,11052,11053,11054,11055,11056,11057,11058, #10944 -4953,11059,11060,11061,11062,11063,11064,11065,11066,11067,11068,11069,11070,11071,4954,11072, #10960 -11073,11074,11075,11076,11077,11078,11079,11080,11081,11082,11083,11084,11085,11086,11087,11088, #10976 -11089,11090,11091,11092,11093,11094,11095,11096,11097,11098,11099,11100,11101,11102,11103,11104, #10992 -11105,11106,11107,11108,11109,11110,11111,11112,11113,11114,11115,3808,11116,11117,11118,11119, #11008 -11120,11121,11122,11123,11124,11125,11126,11127,11128,11129,11130,11131,11132,11133,11134,4955, #11024 -11135,11136,11137,11138,11139,11140,11141,11142,11143,11144,11145,11146,11147,11148,11149,11150, #11040 -11151,11152,11153,11154,11155,11156,11157,11158,11159,11160,11161,4956,11162,11163,11164,11165, #11056 -11166,11167,11168,11169,11170,11171,11172,11173,11174,11175,11176,11177,11178,11179,11180,4957, #11072 -11181,11182,11183,11184,11185,11186,4958,11187,11188,11189,11190,11191,11192,11193,11194,11195, #11088 -11196,11197,11198,11199,11200,3678,11201,11202,11203,11204,11205,11206,4191,11207,11208,11209, #11104 -11210,11211,11212,11213,11214,11215,11216,11217,11218,11219,11220,11221,11222,11223,11224,11225, #11120 -11226,11227,11228,11229,11230,11231,11232,11233,11234,11235,11236,11237,11238,11239,11240,11241, #11136 -11242,11243,11244,11245,11246,11247,11248,11249,11250,11251,4959,11252,11253,11254,11255,11256, #11152 -11257,11258,11259,11260,11261,11262,11263,11264,11265,11266,11267,11268,11269,11270,11271,11272, #11168 -11273,11274,11275,11276,11277,11278,11279,11280,11281,11282,11283,11284,11285,11286,11287,11288, #11184 -11289,11290,11291,11292,11293,11294,11295,11296,11297,11298,11299,11300,11301,11302,11303,11304, #11200 -11305,11306,11307,11308,11309,11310,11311,11312,11313,11314,3679,11315,11316,11317,11318,4490, #11216 -11319,11320,11321,11322,11323,11324,11325,11326,11327,11328,11329,11330,11331,11332,11333,11334, #11232 -11335,11336,11337,11338,11339,11340,11341,11342,11343,11344,11345,11346,11347,4960,11348,11349, #11248 -11350,11351,11352,11353,11354,11355,11356,11357,11358,11359,11360,11361,11362,11363,11364,11365, #11264 -11366,11367,11368,11369,11370,11371,11372,11373,11374,11375,11376,11377,3961,4961,11378,11379, #11280 -11380,11381,11382,11383,11384,11385,11386,11387,11388,11389,11390,11391,11392,11393,11394,11395, #11296 -11396,11397,4192,11398,11399,11400,11401,11402,11403,11404,11405,11406,11407,11408,11409,11410, #11312 -11411,4962,11412,11413,11414,11415,11416,11417,11418,11419,11420,11421,11422,11423,11424,11425, #11328 -11426,11427,11428,11429,11430,11431,11432,11433,11434,11435,11436,11437,11438,11439,11440,11441, #11344 -11442,11443,11444,11445,11446,11447,11448,11449,11450,11451,11452,11453,11454,11455,11456,11457, #11360 -11458,11459,11460,11461,11462,11463,11464,11465,11466,11467,11468,11469,4963,11470,11471,4491, #11376 -11472,11473,11474,11475,4964,11476,11477,11478,11479,11480,11481,11482,11483,11484,11485,11486, #11392 -11487,11488,11489,11490,11491,11492,4965,11493,11494,11495,11496,11497,11498,11499,11500,11501, #11408 -11502,11503,11504,11505,11506,11507,11508,11509,11510,11511,11512,11513,11514,11515,11516,11517, #11424 -11518,11519,11520,11521,11522,11523,11524,11525,11526,11527,11528,11529,3962,11530,11531,11532, #11440 -11533,11534,11535,11536,11537,11538,11539,11540,11541,11542,11543,11544,11545,11546,11547,11548, #11456 -11549,11550,11551,11552,11553,11554,11555,11556,11557,11558,11559,11560,11561,11562,11563,11564, #11472 -4193,4194,11565,11566,11567,11568,11569,11570,11571,11572,11573,11574,11575,11576,11577,11578, #11488 -11579,11580,11581,11582,11583,11584,11585,11586,11587,11588,11589,11590,11591,4966,4195,11592, #11504 -11593,11594,11595,11596,11597,11598,11599,11600,11601,11602,11603,11604,3090,11605,11606,11607, #11520 -11608,11609,11610,4967,11611,11612,11613,11614,11615,11616,11617,11618,11619,11620,11621,11622, #11536 -11623,11624,11625,11626,11627,11628,11629,11630,11631,11632,11633,11634,11635,11636,11637,11638, #11552 -11639,11640,11641,11642,11643,11644,11645,11646,11647,11648,11649,11650,11651,11652,11653,11654, #11568 -11655,11656,11657,11658,11659,11660,11661,11662,11663,11664,11665,11666,11667,11668,11669,11670, #11584 -11671,11672,11673,11674,4968,11675,11676,11677,11678,11679,11680,11681,11682,11683,11684,11685, #11600 -11686,11687,11688,11689,11690,11691,11692,11693,3809,11694,11695,11696,11697,11698,11699,11700, #11616 -11701,11702,11703,11704,11705,11706,11707,11708,11709,11710,11711,11712,11713,11714,11715,11716, #11632 -11717,11718,3553,11719,11720,11721,11722,11723,11724,11725,11726,11727,11728,11729,11730,4969, #11648 -11731,11732,11733,11734,11735,11736,11737,11738,11739,11740,4492,11741,11742,11743,11744,11745, #11664 -11746,11747,11748,11749,11750,11751,11752,4970,11753,11754,11755,11756,11757,11758,11759,11760, #11680 -11761,11762,11763,11764,11765,11766,11767,11768,11769,11770,11771,11772,11773,11774,11775,11776, #11696 -11777,11778,11779,11780,11781,11782,11783,11784,11785,11786,11787,11788,11789,11790,4971,11791, #11712 -11792,11793,11794,11795,11796,11797,4972,11798,11799,11800,11801,11802,11803,11804,11805,11806, #11728 -11807,11808,11809,11810,4973,11811,11812,11813,11814,11815,11816,11817,11818,11819,11820,11821, #11744 -11822,11823,11824,11825,11826,11827,11828,11829,11830,11831,11832,11833,11834,3680,3810,11835, #11760 -11836,4974,11837,11838,11839,11840,11841,11842,11843,11844,11845,11846,11847,11848,11849,11850, #11776 -11851,11852,11853,11854,11855,11856,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866, #11792 -11867,11868,11869,11870,11871,11872,11873,11874,11875,11876,11877,11878,11879,11880,11881,11882, #11808 -11883,11884,4493,11885,11886,11887,11888,11889,11890,11891,11892,11893,11894,11895,11896,11897, #11824 -11898,11899,11900,11901,11902,11903,11904,11905,11906,11907,11908,11909,11910,11911,11912,11913, #11840 -11914,11915,4975,11916,11917,11918,11919,11920,11921,11922,11923,11924,11925,11926,11927,11928, #11856 -11929,11930,11931,11932,11933,11934,11935,11936,11937,11938,11939,11940,11941,11942,11943,11944, #11872 -11945,11946,11947,11948,11949,4976,11950,11951,11952,11953,11954,11955,11956,11957,11958,11959, #11888 -11960,11961,11962,11963,11964,11965,11966,11967,11968,11969,11970,11971,11972,11973,11974,11975, #11904 -11976,11977,11978,11979,11980,11981,11982,11983,11984,11985,11986,11987,4196,11988,11989,11990, #11920 -11991,11992,4977,11993,11994,11995,11996,11997,11998,11999,12000,12001,12002,12003,12004,12005, #11936 -12006,12007,12008,12009,12010,12011,12012,12013,12014,12015,12016,12017,12018,12019,12020,12021, #11952 -12022,12023,12024,12025,12026,12027,12028,12029,12030,12031,12032,12033,12034,12035,12036,12037, #11968 -12038,12039,12040,12041,12042,12043,12044,12045,12046,12047,12048,12049,12050,12051,12052,12053, #11984 -12054,12055,12056,12057,12058,12059,12060,12061,4978,12062,12063,12064,12065,12066,12067,12068, #12000 -12069,12070,12071,12072,12073,12074,12075,12076,12077,12078,12079,12080,12081,12082,12083,12084, #12016 -12085,12086,12087,12088,12089,12090,12091,12092,12093,12094,12095,12096,12097,12098,12099,12100, #12032 -12101,12102,12103,12104,12105,12106,12107,12108,12109,12110,12111,12112,12113,12114,12115,12116, #12048 -12117,12118,12119,12120,12121,12122,12123,4979,12124,12125,12126,12127,12128,4197,12129,12130, #12064 -12131,12132,12133,12134,12135,12136,12137,12138,12139,12140,12141,12142,12143,12144,12145,12146, #12080 -12147,12148,12149,12150,12151,12152,12153,12154,4980,12155,12156,12157,12158,12159,12160,4494, #12096 -12161,12162,12163,12164,3811,12165,12166,12167,12168,12169,4495,12170,12171,4496,12172,12173, #12112 -12174,12175,12176,3812,12177,12178,12179,12180,12181,12182,12183,12184,12185,12186,12187,12188, #12128 -12189,12190,12191,12192,12193,12194,12195,12196,12197,12198,12199,12200,12201,12202,12203,12204, #12144 -12205,12206,12207,12208,12209,12210,12211,12212,12213,12214,12215,12216,12217,12218,12219,12220, #12160 -12221,4981,12222,12223,12224,12225,12226,12227,12228,12229,12230,12231,12232,12233,12234,12235, #12176 -4982,12236,12237,12238,12239,12240,12241,12242,12243,12244,12245,4983,12246,12247,12248,12249, #12192 -4984,12250,12251,12252,12253,12254,12255,12256,12257,12258,12259,12260,12261,12262,12263,12264, #12208 -4985,12265,4497,12266,12267,12268,12269,12270,12271,12272,12273,12274,12275,12276,12277,12278, #12224 -12279,12280,12281,12282,12283,12284,12285,12286,12287,4986,12288,12289,12290,12291,12292,12293, #12240 -12294,12295,12296,2473,12297,12298,12299,12300,12301,12302,12303,12304,12305,12306,12307,12308, #12256 -12309,12310,12311,12312,12313,12314,12315,12316,12317,12318,12319,3963,12320,12321,12322,12323, #12272 -12324,12325,12326,12327,12328,12329,12330,12331,12332,4987,12333,12334,12335,12336,12337,12338, #12288 -12339,12340,12341,12342,12343,12344,12345,12346,12347,12348,12349,12350,12351,12352,12353,12354, #12304 -12355,12356,12357,12358,12359,3964,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369, #12320 -12370,3965,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384, #12336 -12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400, #12352 -12401,12402,12403,12404,12405,12406,12407,12408,4988,12409,12410,12411,12412,12413,12414,12415, #12368 -12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431, #12384 -12432,12433,12434,12435,12436,12437,12438,3554,12439,12440,12441,12442,12443,12444,12445,12446, #12400 -12447,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462, #12416 -12463,12464,4989,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477, #12432 -12478,12479,12480,4990,12481,12482,12483,12484,12485,12486,12487,12488,12489,4498,12490,12491, #12448 -12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507, #12464 -12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523, #12480 -12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,12535,12536,12537,12538,12539, #12496 -12540,12541,12542,12543,12544,12545,12546,12547,12548,12549,12550,12551,4991,12552,12553,12554, #12512 -12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570, #12528 -12571,12572,12573,12574,12575,12576,12577,12578,3036,12579,12580,12581,12582,12583,3966,12584, #12544 -12585,12586,12587,12588,12589,12590,12591,12592,12593,12594,12595,12596,12597,12598,12599,12600, #12560 -12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616, #12576 -12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632, #12592 -12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,4499,12647, #12608 -12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663, #12624 -12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679, #12640 -12680,12681,12682,12683,12684,12685,12686,12687,12688,12689,12690,12691,12692,12693,12694,12695, #12656 -12696,12697,12698,4992,12699,12700,12701,12702,12703,12704,12705,12706,12707,12708,12709,12710, #12672 -12711,12712,12713,12714,12715,12716,12717,12718,12719,12720,12721,12722,12723,12724,12725,12726, #12688 -12727,12728,12729,12730,12731,12732,12733,12734,12735,12736,12737,12738,12739,12740,12741,12742, #12704 -12743,12744,12745,12746,12747,12748,12749,12750,12751,12752,12753,12754,12755,12756,12757,12758, #12720 -12759,12760,12761,12762,12763,12764,12765,12766,12767,12768,12769,12770,12771,12772,12773,12774, #12736 -12775,12776,12777,12778,4993,2175,12779,12780,12781,12782,12783,12784,12785,12786,4500,12787, #12752 -12788,12789,12790,12791,12792,12793,12794,12795,12796,12797,12798,12799,12800,12801,12802,12803, #12768 -12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819, #12784 -12820,12821,12822,12823,12824,12825,12826,4198,3967,12827,12828,12829,12830,12831,12832,12833, #12800 -12834,12835,12836,12837,12838,12839,12840,12841,12842,12843,12844,12845,12846,12847,12848,12849, #12816 -12850,12851,12852,12853,12854,12855,12856,12857,12858,12859,12860,12861,4199,12862,12863,12864, #12832 -12865,12866,12867,12868,12869,12870,12871,12872,12873,12874,12875,12876,12877,12878,12879,12880, #12848 -12881,12882,12883,12884,12885,12886,12887,4501,12888,12889,12890,12891,12892,12893,12894,12895, #12864 -12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911, #12880 -12912,4994,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,12924,12925,12926, #12896 -12927,12928,12929,12930,12931,12932,12933,12934,12935,12936,12937,12938,12939,12940,12941,12942, #12912 -12943,12944,12945,12946,12947,12948,12949,12950,12951,12952,12953,12954,12955,12956,1772,12957, #12928 -12958,12959,12960,12961,12962,12963,12964,12965,12966,12967,12968,12969,12970,12971,12972,12973, #12944 -12974,12975,12976,12977,12978,12979,12980,12981,12982,12983,12984,12985,12986,12987,12988,12989, #12960 -12990,12991,12992,12993,12994,12995,12996,12997,4502,12998,4503,12999,13000,13001,13002,13003, #12976 -4504,13004,13005,13006,13007,13008,13009,13010,13011,13012,13013,13014,13015,13016,13017,13018, #12992 -13019,13020,13021,13022,13023,13024,13025,13026,13027,13028,13029,3449,13030,13031,13032,13033, #13008 -13034,13035,13036,13037,13038,13039,13040,13041,13042,13043,13044,13045,13046,13047,13048,13049, #13024 -13050,13051,13052,13053,13054,13055,13056,13057,13058,13059,13060,13061,13062,13063,13064,13065, #13040 -13066,13067,13068,13069,13070,13071,13072,13073,13074,13075,13076,13077,13078,13079,13080,13081, #13056 -13082,13083,13084,13085,13086,13087,13088,13089,13090,13091,13092,13093,13094,13095,13096,13097, #13072 -13098,13099,13100,13101,13102,13103,13104,13105,13106,13107,13108,13109,13110,13111,13112,13113, #13088 -13114,13115,13116,13117,13118,3968,13119,4995,13120,13121,13122,13123,13124,13125,13126,13127, #13104 -4505,13128,13129,13130,13131,13132,13133,13134,4996,4506,13135,13136,13137,13138,13139,4997, #13120 -13140,13141,13142,13143,13144,13145,13146,13147,13148,13149,13150,13151,13152,13153,13154,13155, #13136 -13156,13157,13158,13159,4998,13160,13161,13162,13163,13164,13165,13166,13167,13168,13169,13170, #13152 -13171,13172,13173,13174,13175,13176,4999,13177,13178,13179,13180,13181,13182,13183,13184,13185, #13168 -13186,13187,13188,13189,13190,13191,13192,13193,13194,13195,13196,13197,13198,13199,13200,13201, #13184 -13202,13203,13204,13205,13206,5000,13207,13208,13209,13210,13211,13212,13213,13214,13215,13216, #13200 -13217,13218,13219,13220,13221,13222,13223,13224,13225,13226,13227,4200,5001,13228,13229,13230, #13216 -13231,13232,13233,13234,13235,13236,13237,13238,13239,13240,3969,13241,13242,13243,13244,3970, #13232 -13245,13246,13247,13248,13249,13250,13251,13252,13253,13254,13255,13256,13257,13258,13259,13260, #13248 -13261,13262,13263,13264,13265,13266,13267,13268,3450,13269,13270,13271,13272,13273,13274,13275, #13264 -13276,5002,13277,13278,13279,13280,13281,13282,13283,13284,13285,13286,13287,13288,13289,13290, #13280 -13291,13292,13293,13294,13295,13296,13297,13298,13299,13300,13301,13302,3813,13303,13304,13305, #13296 -13306,13307,13308,13309,13310,13311,13312,13313,13314,13315,13316,13317,13318,13319,13320,13321, #13312 -13322,13323,13324,13325,13326,13327,13328,4507,13329,13330,13331,13332,13333,13334,13335,13336, #13328 -13337,13338,13339,13340,13341,5003,13342,13343,13344,13345,13346,13347,13348,13349,13350,13351, #13344 -13352,13353,13354,13355,13356,13357,13358,13359,13360,13361,13362,13363,13364,13365,13366,13367, #13360 -5004,13368,13369,13370,13371,13372,13373,13374,13375,13376,13377,13378,13379,13380,13381,13382, #13376 -13383,13384,13385,13386,13387,13388,13389,13390,13391,13392,13393,13394,13395,13396,13397,13398, #13392 -13399,13400,13401,13402,13403,13404,13405,13406,13407,13408,13409,13410,13411,13412,13413,13414, #13408 -13415,13416,13417,13418,13419,13420,13421,13422,13423,13424,13425,13426,13427,13428,13429,13430, #13424 -13431,13432,4508,13433,13434,13435,4201,13436,13437,13438,13439,13440,13441,13442,13443,13444, #13440 -13445,13446,13447,13448,13449,13450,13451,13452,13453,13454,13455,13456,13457,5005,13458,13459, #13456 -13460,13461,13462,13463,13464,13465,13466,13467,13468,13469,13470,4509,13471,13472,13473,13474, #13472 -13475,13476,13477,13478,13479,13480,13481,13482,13483,13484,13485,13486,13487,13488,13489,13490, #13488 -13491,13492,13493,13494,13495,13496,13497,13498,13499,13500,13501,13502,13503,13504,13505,13506, #13504 -13507,13508,13509,13510,13511,13512,13513,13514,13515,13516,13517,13518,13519,13520,13521,13522, #13520 -13523,13524,13525,13526,13527,13528,13529,13530,13531,13532,13533,13534,13535,13536,13537,13538, #13536 -13539,13540,13541,13542,13543,13544,13545,13546,13547,13548,13549,13550,13551,13552,13553,13554, #13552 -13555,13556,13557,13558,13559,13560,13561,13562,13563,13564,13565,13566,13567,13568,13569,13570, #13568 -13571,13572,13573,13574,13575,13576,13577,13578,13579,13580,13581,13582,13583,13584,13585,13586, #13584 -13587,13588,13589,13590,13591,13592,13593,13594,13595,13596,13597,13598,13599,13600,13601,13602, #13600 -13603,13604,13605,13606,13607,13608,13609,13610,13611,13612,13613,13614,13615,13616,13617,13618, #13616 -13619,13620,13621,13622,13623,13624,13625,13626,13627,13628,13629,13630,13631,13632,13633,13634, #13632 -13635,13636,13637,13638,13639,13640,13641,13642,5006,13643,13644,13645,13646,13647,13648,13649, #13648 -13650,13651,5007,13652,13653,13654,13655,13656,13657,13658,13659,13660,13661,13662,13663,13664, #13664 -13665,13666,13667,13668,13669,13670,13671,13672,13673,13674,13675,13676,13677,13678,13679,13680, #13680 -13681,13682,13683,13684,13685,13686,13687,13688,13689,13690,13691,13692,13693,13694,13695,13696, #13696 -13697,13698,13699,13700,13701,13702,13703,13704,13705,13706,13707,13708,13709,13710,13711,13712, #13712 -13713,13714,13715,13716,13717,13718,13719,13720,13721,13722,13723,13724,13725,13726,13727,13728, #13728 -13729,13730,13731,13732,13733,13734,13735,13736,13737,13738,13739,13740,13741,13742,13743,13744, #13744 -13745,13746,13747,13748,13749,13750,13751,13752,13753,13754,13755,13756,13757,13758,13759,13760, #13760 -13761,13762,13763,13764,13765,13766,13767,13768,13769,13770,13771,13772,13773,13774,3273,13775, #13776 -13776,13777,13778,13779,13780,13781,13782,13783,13784,13785,13786,13787,13788,13789,13790,13791, #13792 -13792,13793,13794,13795,13796,13797,13798,13799,13800,13801,13802,13803,13804,13805,13806,13807, #13808 -13808,13809,13810,13811,13812,13813,13814,13815,13816,13817,13818,13819,13820,13821,13822,13823, #13824 -13824,13825,13826,13827,13828,13829,13830,13831,13832,13833,13834,13835,13836,13837,13838,13839, #13840 -13840,13841,13842,13843,13844,13845,13846,13847,13848,13849,13850,13851,13852,13853,13854,13855, #13856 -13856,13857,13858,13859,13860,13861,13862,13863,13864,13865,13866,13867,13868,13869,13870,13871, #13872 -13872,13873,13874,13875,13876,13877,13878,13879,13880,13881,13882,13883,13884,13885,13886,13887, #13888 -13888,13889,13890,13891,13892,13893,13894,13895,13896,13897,13898,13899,13900,13901,13902,13903, #13904 -13904,13905,13906,13907,13908,13909,13910,13911,13912,13913,13914,13915,13916,13917,13918,13919, #13920 -13920,13921,13922,13923,13924,13925,13926,13927,13928,13929,13930,13931,13932,13933,13934,13935, #13936 -13936,13937,13938,13939,13940,13941,13942,13943,13944,13945,13946,13947,13948,13949,13950,13951, #13952 -13952,13953,13954,13955,13956,13957,13958,13959,13960,13961,13962,13963,13964,13965,13966,13967, #13968 -13968,13969,13970,13971,13972) #13973 - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/big5prober.py b/lib27/site-packages/requests/packages/chardet/big5prober.py deleted file mode 100644 index becce81e5..000000000 --- a/lib27/site-packages/requests/packages/chardet/big5prober.py +++ /dev/null @@ -1,42 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import Big5DistributionAnalysis -from .mbcssm import Big5SMModel - - -class Big5Prober(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(Big5SMModel) - self._mDistributionAnalyzer = Big5DistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "Big5" diff --git a/lib27/site-packages/requests/packages/chardet/chardetect.py b/lib27/site-packages/requests/packages/chardet/chardetect.py deleted file mode 100644 index ffe892f25..000000000 --- a/lib27/site-packages/requests/packages/chardet/chardetect.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env python -""" -Script which takes one or more file paths and reports on their detected -encodings - -Example:: - - % chardetect somefile someotherfile - somefile: windows-1252 with confidence 0.5 - someotherfile: ascii with confidence 1.0 - -If no paths are provided, it takes its input from stdin. - -""" - -from __future__ import absolute_import, print_function, unicode_literals - -import argparse -import sys -from io import open - -from chardet import __version__ -from chardet.universaldetector import UniversalDetector - - -def description_of(lines, name='stdin'): - """ - Return a string describing the probable encoding of a file or - list of strings. - - :param lines: The lines to get the encoding of. - :type lines: Iterable of bytes - :param name: Name of file or collection of lines - :type name: str - """ - u = UniversalDetector() - for line in lines: - u.feed(line) - u.close() - result = u.result - if result['encoding']: - return '{0}: {1} with confidence {2}'.format(name, result['encoding'], - result['confidence']) - else: - return '{0}: no result'.format(name) - - -def main(argv=None): - ''' - Handles command line arguments and gets things started. - - :param argv: List of arguments, as if specified on the command-line. - If None, ``sys.argv[1:]`` is used instead. - :type argv: list of str - ''' - # Get command line arguments - parser = argparse.ArgumentParser( - description="Takes one or more file paths and reports their detected \ - encodings", - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - conflict_handler='resolve') - parser.add_argument('input', - help='File whose encoding we would like to determine.', - type=argparse.FileType('rb'), nargs='*', - default=[sys.stdin]) - parser.add_argument('--version', action='version', - version='%(prog)s {0}'.format(__version__)) - args = parser.parse_args(argv) - - for f in args.input: - if f.isatty(): - print("You are running chardetect interactively. Press " + - "CTRL-D twice at the start of a blank line to signal the " + - "end of your input. If you want help, run chardetect " + - "--help\n", file=sys.stderr) - print(description_of(f, f.name)) - - -if __name__ == '__main__': - main() diff --git a/lib27/site-packages/requests/packages/chardet/chardistribution.py b/lib27/site-packages/requests/packages/chardet/chardistribution.py deleted file mode 100644 index 4e64a00be..000000000 --- a/lib27/site-packages/requests/packages/chardet/chardistribution.py +++ /dev/null @@ -1,231 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .euctwfreq import (EUCTWCharToFreqOrder, EUCTW_TABLE_SIZE, - EUCTW_TYPICAL_DISTRIBUTION_RATIO) -from .euckrfreq import (EUCKRCharToFreqOrder, EUCKR_TABLE_SIZE, - EUCKR_TYPICAL_DISTRIBUTION_RATIO) -from .gb2312freq import (GB2312CharToFreqOrder, GB2312_TABLE_SIZE, - GB2312_TYPICAL_DISTRIBUTION_RATIO) -from .big5freq import (Big5CharToFreqOrder, BIG5_TABLE_SIZE, - BIG5_TYPICAL_DISTRIBUTION_RATIO) -from .jisfreq import (JISCharToFreqOrder, JIS_TABLE_SIZE, - JIS_TYPICAL_DISTRIBUTION_RATIO) -from .compat import wrap_ord - -ENOUGH_DATA_THRESHOLD = 1024 -SURE_YES = 0.99 -SURE_NO = 0.01 -MINIMUM_DATA_THRESHOLD = 3 - - -class CharDistributionAnalysis: - def __init__(self): - # Mapping table to get frequency order from char order (get from - # GetOrder()) - self._mCharToFreqOrder = None - self._mTableSize = None # Size of above table - # This is a constant value which varies from language to language, - # used in calculating confidence. See - # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html - # for further detail. - self._mTypicalDistributionRatio = None - self.reset() - - def reset(self): - """reset analyser, clear any state""" - # If this flag is set to True, detection is done and conclusion has - # been made - self._mDone = False - self._mTotalChars = 0 # Total characters encountered - # The number of characters whose frequency order is less than 512 - self._mFreqChars = 0 - - def feed(self, aBuf, aCharLen): - """feed a character with known length""" - if aCharLen == 2: - # we only care about 2-bytes character in our distribution analysis - order = self.get_order(aBuf) - else: - order = -1 - if order >= 0: - self._mTotalChars += 1 - # order is valid - if order < self._mTableSize: - if 512 > self._mCharToFreqOrder[order]: - self._mFreqChars += 1 - - def get_confidence(self): - """return confidence based on existing data""" - # if we didn't receive any character in our consideration range, - # return negative answer - if self._mTotalChars <= 0 or self._mFreqChars <= MINIMUM_DATA_THRESHOLD: - return SURE_NO - - if self._mTotalChars != self._mFreqChars: - r = (self._mFreqChars / ((self._mTotalChars - self._mFreqChars) - * self._mTypicalDistributionRatio)) - if r < SURE_YES: - return r - - # normalize confidence (we don't want to be 100% sure) - return SURE_YES - - def got_enough_data(self): - # It is not necessary to receive all data to draw conclusion. - # For charset detection, certain amount of data is enough - return self._mTotalChars > ENOUGH_DATA_THRESHOLD - - def get_order(self, aBuf): - # We do not handle characters based on the original encoding string, - # but convert this encoding string to a number, here called order. - # This allows multiple encodings of a language to share one frequency - # table. - return -1 - - -class EUCTWDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = EUCTWCharToFreqOrder - self._mTableSize = EUCTW_TABLE_SIZE - self._mTypicalDistributionRatio = EUCTW_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for euc-TW encoding, we are interested - # first byte range: 0xc4 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char = wrap_ord(aBuf[0]) - if first_char >= 0xC4: - return 94 * (first_char - 0xC4) + wrap_ord(aBuf[1]) - 0xA1 - else: - return -1 - - -class EUCKRDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = EUCKRCharToFreqOrder - self._mTableSize = EUCKR_TABLE_SIZE - self._mTypicalDistributionRatio = EUCKR_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for euc-KR encoding, we are interested - # first byte range: 0xb0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char = wrap_ord(aBuf[0]) - if first_char >= 0xB0: - return 94 * (first_char - 0xB0) + wrap_ord(aBuf[1]) - 0xA1 - else: - return -1 - - -class GB2312DistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = GB2312CharToFreqOrder - self._mTableSize = GB2312_TABLE_SIZE - self._mTypicalDistributionRatio = GB2312_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for GB2312 encoding, we are interested - # first byte range: 0xb0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) - if (first_char >= 0xB0) and (second_char >= 0xA1): - return 94 * (first_char - 0xB0) + second_char - 0xA1 - else: - return -1 - - -class Big5DistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = Big5CharToFreqOrder - self._mTableSize = BIG5_TABLE_SIZE - self._mTypicalDistributionRatio = BIG5_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for big5 encoding, we are interested - # first byte range: 0xa4 -- 0xfe - # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) - if first_char >= 0xA4: - if second_char >= 0xA1: - return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 - else: - return 157 * (first_char - 0xA4) + second_char - 0x40 - else: - return -1 - - -class SJISDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = JISCharToFreqOrder - self._mTableSize = JIS_TABLE_SIZE - self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for sjis encoding, we are interested - # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe - # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe - # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) - if (first_char >= 0x81) and (first_char <= 0x9F): - order = 188 * (first_char - 0x81) - elif (first_char >= 0xE0) and (first_char <= 0xEF): - order = 188 * (first_char - 0xE0 + 31) - else: - return -1 - order = order + second_char - 0x40 - if second_char > 0x7F: - order = -1 - return order - - -class EUCJPDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = JISCharToFreqOrder - self._mTableSize = JIS_TABLE_SIZE - self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for euc-JP encoding, we are interested - # first byte range: 0xa0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - char = wrap_ord(aBuf[0]) - if char >= 0xA0: - return 94 * (char - 0xA1) + wrap_ord(aBuf[1]) - 0xa1 - else: - return -1 diff --git a/lib27/site-packages/requests/packages/chardet/charsetgroupprober.py b/lib27/site-packages/requests/packages/chardet/charsetgroupprober.py deleted file mode 100644 index 85e7a1c67..000000000 --- a/lib27/site-packages/requests/packages/chardet/charsetgroupprober.py +++ /dev/null @@ -1,106 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -import sys -from .charsetprober import CharSetProber - - -class CharSetGroupProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mActiveNum = 0 - self._mProbers = [] - self._mBestGuessProber = None - - def reset(self): - CharSetProber.reset(self) - self._mActiveNum = 0 - for prober in self._mProbers: - if prober: - prober.reset() - prober.active = True - self._mActiveNum += 1 - self._mBestGuessProber = None - - def get_charset_name(self): - if not self._mBestGuessProber: - self.get_confidence() - if not self._mBestGuessProber: - return None -# self._mBestGuessProber = self._mProbers[0] - return self._mBestGuessProber.get_charset_name() - - def feed(self, aBuf): - for prober in self._mProbers: - if not prober: - continue - if not prober.active: - continue - st = prober.feed(aBuf) - if not st: - continue - if st == constants.eFoundIt: - self._mBestGuessProber = prober - return self.get_state() - elif st == constants.eNotMe: - prober.active = False - self._mActiveNum -= 1 - if self._mActiveNum <= 0: - self._mState = constants.eNotMe - return self.get_state() - return self.get_state() - - def get_confidence(self): - st = self.get_state() - if st == constants.eFoundIt: - return 0.99 - elif st == constants.eNotMe: - return 0.01 - bestConf = 0.0 - self._mBestGuessProber = None - for prober in self._mProbers: - if not prober: - continue - if not prober.active: - if constants._debug: - sys.stderr.write(prober.get_charset_name() - + ' not active\n') - continue - cf = prober.get_confidence() - if constants._debug: - sys.stderr.write('%s confidence = %s\n' % - (prober.get_charset_name(), cf)) - if bestConf < cf: - bestConf = cf - self._mBestGuessProber = prober - if not self._mBestGuessProber: - return 0.0 - return bestConf -# else: -# self._mBestGuessProber = self._mProbers[0] -# return self._mBestGuessProber.get_confidence() diff --git a/lib27/site-packages/requests/packages/chardet/charsetprober.py b/lib27/site-packages/requests/packages/chardet/charsetprober.py deleted file mode 100644 index 97581712c..000000000 --- a/lib27/site-packages/requests/packages/chardet/charsetprober.py +++ /dev/null @@ -1,62 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -import re - - -class CharSetProber: - def __init__(self): - pass - - def reset(self): - self._mState = constants.eDetecting - - def get_charset_name(self): - return None - - def feed(self, aBuf): - pass - - def get_state(self): - return self._mState - - def get_confidence(self): - return 0.0 - - def filter_high_bit_only(self, aBuf): - aBuf = re.sub(b'([\x00-\x7F])+', b' ', aBuf) - return aBuf - - def filter_without_english_letters(self, aBuf): - aBuf = re.sub(b'([A-Za-z])+', b' ', aBuf) - return aBuf - - def filter_with_english_letters(self, aBuf): - # TODO - return aBuf diff --git a/lib27/site-packages/requests/packages/chardet/codingstatemachine.py b/lib27/site-packages/requests/packages/chardet/codingstatemachine.py deleted file mode 100644 index 8dd8c9179..000000000 --- a/lib27/site-packages/requests/packages/chardet/codingstatemachine.py +++ /dev/null @@ -1,61 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .constants import eStart -from .compat import wrap_ord - - -class CodingStateMachine: - def __init__(self, sm): - self._mModel = sm - self._mCurrentBytePos = 0 - self._mCurrentCharLen = 0 - self.reset() - - def reset(self): - self._mCurrentState = eStart - - def next_state(self, c): - # for each byte we get its class - # if it is first byte, we also get byte length - # PY3K: aBuf is a byte stream, so c is an int, not a byte - byteCls = self._mModel['classTable'][wrap_ord(c)] - if self._mCurrentState == eStart: - self._mCurrentBytePos = 0 - self._mCurrentCharLen = self._mModel['charLenTable'][byteCls] - # from byte's class and stateTable, we get its next state - curr_state = (self._mCurrentState * self._mModel['classFactor'] - + byteCls) - self._mCurrentState = self._mModel['stateTable'][curr_state] - self._mCurrentBytePos += 1 - return self._mCurrentState - - def get_current_charlen(self): - return self._mCurrentCharLen - - def get_coding_state_machine(self): - return self._mModel['name'] diff --git a/lib27/site-packages/requests/packages/chardet/compat.py b/lib27/site-packages/requests/packages/chardet/compat.py deleted file mode 100644 index d9e30addf..000000000 --- a/lib27/site-packages/requests/packages/chardet/compat.py +++ /dev/null @@ -1,34 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# Contributor(s): -# Ian Cordasco - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys - - -if sys.version_info < (3, 0): - base_str = (str, unicode) -else: - base_str = (bytes, str) - - -def wrap_ord(a): - if sys.version_info < (3, 0) and isinstance(a, base_str): - return ord(a) - else: - return a diff --git a/lib27/site-packages/requests/packages/chardet/constants.py b/lib27/site-packages/requests/packages/chardet/constants.py deleted file mode 100644 index e4d148b3c..000000000 --- a/lib27/site-packages/requests/packages/chardet/constants.py +++ /dev/null @@ -1,39 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -_debug = 0 - -eDetecting = 0 -eFoundIt = 1 -eNotMe = 2 - -eStart = 0 -eError = 1 -eItsMe = 2 - -SHORTCUT_THRESHOLD = 0.95 diff --git a/lib27/site-packages/requests/packages/chardet/cp949prober.py b/lib27/site-packages/requests/packages/chardet/cp949prober.py deleted file mode 100644 index ff4272f82..000000000 --- a/lib27/site-packages/requests/packages/chardet/cp949prober.py +++ /dev/null @@ -1,44 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCKRDistributionAnalysis -from .mbcssm import CP949SMModel - - -class CP949Prober(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(CP949SMModel) - # NOTE: CP949 is a superset of EUC-KR, so the distribution should be - # not different. - self._mDistributionAnalyzer = EUCKRDistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "CP949" diff --git a/lib27/site-packages/requests/packages/chardet/escprober.py b/lib27/site-packages/requests/packages/chardet/escprober.py deleted file mode 100644 index 80a844ff3..000000000 --- a/lib27/site-packages/requests/packages/chardet/escprober.py +++ /dev/null @@ -1,86 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -from .escsm import (HZSMModel, ISO2022CNSMModel, ISO2022JPSMModel, - ISO2022KRSMModel) -from .charsetprober import CharSetProber -from .codingstatemachine import CodingStateMachine -from .compat import wrap_ord - - -class EscCharSetProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mCodingSM = [ - CodingStateMachine(HZSMModel), - CodingStateMachine(ISO2022CNSMModel), - CodingStateMachine(ISO2022JPSMModel), - CodingStateMachine(ISO2022KRSMModel) - ] - self.reset() - - def reset(self): - CharSetProber.reset(self) - for codingSM in self._mCodingSM: - if not codingSM: - continue - codingSM.active = True - codingSM.reset() - self._mActiveSM = len(self._mCodingSM) - self._mDetectedCharset = None - - def get_charset_name(self): - return self._mDetectedCharset - - def get_confidence(self): - if self._mDetectedCharset: - return 0.99 - else: - return 0.00 - - def feed(self, aBuf): - for c in aBuf: - # PY3K: aBuf is a byte array, so c is an int, not a byte - for codingSM in self._mCodingSM: - if not codingSM: - continue - if not codingSM.active: - continue - codingState = codingSM.next_state(wrap_ord(c)) - if codingState == constants.eError: - codingSM.active = False - self._mActiveSM -= 1 - if self._mActiveSM <= 0: - self._mState = constants.eNotMe - return self.get_state() - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - self._mDetectedCharset = codingSM.get_coding_state_machine() # nopep8 - return self.get_state() - - return self.get_state() diff --git a/lib27/site-packages/requests/packages/chardet/escsm.py b/lib27/site-packages/requests/packages/chardet/escsm.py deleted file mode 100644 index bd302b4c6..000000000 --- a/lib27/site-packages/requests/packages/chardet/escsm.py +++ /dev/null @@ -1,242 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .constants import eStart, eError, eItsMe - -HZ_cls = ( -1,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,0,0,0,0, # 20 - 27 -0,0,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,0,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,4,0,5,2,0, # 78 - 7f -1,1,1,1,1,1,1,1, # 80 - 87 -1,1,1,1,1,1,1,1, # 88 - 8f -1,1,1,1,1,1,1,1, # 90 - 97 -1,1,1,1,1,1,1,1, # 98 - 9f -1,1,1,1,1,1,1,1, # a0 - a7 -1,1,1,1,1,1,1,1, # a8 - af -1,1,1,1,1,1,1,1, # b0 - b7 -1,1,1,1,1,1,1,1, # b8 - bf -1,1,1,1,1,1,1,1, # c0 - c7 -1,1,1,1,1,1,1,1, # c8 - cf -1,1,1,1,1,1,1,1, # d0 - d7 -1,1,1,1,1,1,1,1, # d8 - df -1,1,1,1,1,1,1,1, # e0 - e7 -1,1,1,1,1,1,1,1, # e8 - ef -1,1,1,1,1,1,1,1, # f0 - f7 -1,1,1,1,1,1,1,1, # f8 - ff -) - -HZ_st = ( -eStart,eError, 3,eStart,eStart,eStart,eError,eError,# 00-07 -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 08-0f -eItsMe,eItsMe,eError,eError,eStart,eStart, 4,eError,# 10-17 - 5,eError, 6,eError, 5, 5, 4,eError,# 18-1f - 4,eError, 4, 4, 4,eError, 4,eError,# 20-27 - 4,eItsMe,eStart,eStart,eStart,eStart,eStart,eStart,# 28-2f -) - -HZCharLenTable = (0, 0, 0, 0, 0, 0) - -HZSMModel = {'classTable': HZ_cls, - 'classFactor': 6, - 'stateTable': HZ_st, - 'charLenTable': HZCharLenTable, - 'name': "HZ-GB-2312"} - -ISO2022CN_cls = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,0,0,0,0, # 20 - 27 -0,3,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,4,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022CN_st = ( -eStart, 3,eError,eStart,eStart,eStart,eStart,eStart,# 00-07 -eStart,eError,eError,eError,eError,eError,eError,eError,# 08-0f -eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,# 10-17 -eItsMe,eItsMe,eItsMe,eError,eError,eError, 4,eError,# 18-1f -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 20-27 - 5, 6,eError,eError,eError,eError,eError,eError,# 28-2f -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 30-37 -eError,eError,eError,eError,eError,eItsMe,eError,eStart,# 38-3f -) - -ISO2022CNCharLenTable = (0, 0, 0, 0, 0, 0, 0, 0, 0) - -ISO2022CNSMModel = {'classTable': ISO2022CN_cls, - 'classFactor': 9, - 'stateTable': ISO2022CN_st, - 'charLenTable': ISO2022CNCharLenTable, - 'name': "ISO-2022-CN"} - -ISO2022JP_cls = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,2,2, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,7,0,0,0, # 20 - 27 -3,0,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -6,0,4,0,8,0,0,0, # 40 - 47 -0,9,5,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022JP_st = ( -eStart, 3,eError,eStart,eStart,eStart,eStart,eStart,# 00-07 -eStart,eStart,eError,eError,eError,eError,eError,eError,# 08-0f -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 10-17 -eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,# 18-1f -eError, 5,eError,eError,eError, 4,eError,eError,# 20-27 -eError,eError,eError, 6,eItsMe,eError,eItsMe,eError,# 28-2f -eError,eError,eError,eError,eError,eError,eItsMe,eItsMe,# 30-37 -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 38-3f -eError,eError,eError,eError,eItsMe,eError,eStart,eStart,# 40-47 -) - -ISO2022JPCharLenTable = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) - -ISO2022JPSMModel = {'classTable': ISO2022JP_cls, - 'classFactor': 10, - 'stateTable': ISO2022JP_st, - 'charLenTable': ISO2022JPCharLenTable, - 'name': "ISO-2022-JP"} - -ISO2022KR_cls = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,3,0,0,0, # 20 - 27 -0,4,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,5,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022KR_st = ( -eStart, 3,eError,eStart,eStart,eStart,eError,eError,# 00-07 -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 08-0f -eItsMe,eItsMe,eError,eError,eError, 4,eError,eError,# 10-17 -eError,eError,eError,eError, 5,eError,eError,eError,# 18-1f -eError,eError,eError,eItsMe,eStart,eStart,eStart,eStart,# 20-27 -) - -ISO2022KRCharLenTable = (0, 0, 0, 0, 0, 0) - -ISO2022KRSMModel = {'classTable': ISO2022KR_cls, - 'classFactor': 6, - 'stateTable': ISO2022KR_st, - 'charLenTable': ISO2022KRCharLenTable, - 'name': "ISO-2022-KR"} - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/eucjpprober.py b/lib27/site-packages/requests/packages/chardet/eucjpprober.py deleted file mode 100644 index 8e64fdcc2..000000000 --- a/lib27/site-packages/requests/packages/chardet/eucjpprober.py +++ /dev/null @@ -1,90 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from . import constants -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCJPDistributionAnalysis -from .jpcntx import EUCJPContextAnalysis -from .mbcssm import EUCJPSMModel - - -class EUCJPProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(EUCJPSMModel) - self._mDistributionAnalyzer = EUCJPDistributionAnalysis() - self._mContextAnalyzer = EUCJPContextAnalysis() - self.reset() - - def reset(self): - MultiByteCharSetProber.reset(self) - self._mContextAnalyzer.reset() - - def get_charset_name(self): - return "EUC-JP" - - def feed(self, aBuf): - aLen = len(aBuf) - for i in range(0, aLen): - # PY3K: aBuf is a byte array, so aBuf[i] is an int, not a byte - codingState = self._mCodingSM.next_state(aBuf[i]) - if codingState == constants.eError: - if constants._debug: - sys.stderr.write(self.get_charset_name() - + ' prober hit error at byte ' + str(i) - + '\n') - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - charLen = self._mCodingSM.get_current_charlen() - if i == 0: - self._mLastChar[1] = aBuf[0] - self._mContextAnalyzer.feed(self._mLastChar, charLen) - self._mDistributionAnalyzer.feed(self._mLastChar, charLen) - else: - self._mContextAnalyzer.feed(aBuf[i - 1:i + 1], charLen) - self._mDistributionAnalyzer.feed(aBuf[i - 1:i + 1], - charLen) - - self._mLastChar[0] = aBuf[aLen - 1] - - if self.get_state() == constants.eDetecting: - if (self._mContextAnalyzer.got_enough_data() and - (self.get_confidence() > constants.SHORTCUT_THRESHOLD)): - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - contxtCf = self._mContextAnalyzer.get_confidence() - distribCf = self._mDistributionAnalyzer.get_confidence() - return max(contxtCf, distribCf) diff --git a/lib27/site-packages/requests/packages/chardet/euckrfreq.py b/lib27/site-packages/requests/packages/chardet/euckrfreq.py deleted file mode 100644 index a179e4c21..000000000 --- a/lib27/site-packages/requests/packages/chardet/euckrfreq.py +++ /dev/null @@ -1,596 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Sampling from about 20M text materials include literature and computer technology - -# 128 --> 0.79 -# 256 --> 0.92 -# 512 --> 0.986 -# 1024 --> 0.99944 -# 2048 --> 0.99999 -# -# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 -# Random Distribution Ration = 512 / (2350-512) = 0.279. -# -# Typical Distribution Ratio - -EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 - -EUCKR_TABLE_SIZE = 2352 - -# Char to FreqOrder table , -EUCKRCharToFreqOrder = ( \ - 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, -1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, -1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, - 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, - 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, - 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, -1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, - 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, - 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, -1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, -1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, -1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, -1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, -1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, - 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, -1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, -1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, -1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, -1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, - 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, -1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, - 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, - 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, -1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, - 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, -1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, - 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, - 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, -1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, -1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, -1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, -1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, - 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, -1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, - 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, - 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, -1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, -1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, -1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, -1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, -1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, -1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, - 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, - 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, - 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, -1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, - 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, -1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, - 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, - 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, -2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, - 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, - 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, -2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, -2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, -2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, - 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, - 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, -2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, - 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, -1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, -2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, -1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, -2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, -2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, -1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, - 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, -2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, -2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, - 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, - 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, -2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, -1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, -2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, -2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, -2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, -2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, -2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, -2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, -1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, -2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, -2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, -2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, -2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, -2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, -1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, -1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, -2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, -1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, -2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, -1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, - 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, -2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, - 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, -2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, - 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, -2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, -2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, - 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, -2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, -1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, - 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, -1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, -2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, -1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, -2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, - 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, -2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, -1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, -2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, -1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, -2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, -1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, - 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, -2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, -2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, - 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, - 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, -1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, -1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, - 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, -2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, -2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, - 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, - 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, - 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, -2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, - 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, - 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, -2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, -2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, - 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, -2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, -1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, - 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, -2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, -2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, -2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, - 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, - 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, - 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, -2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, -2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, -2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, -1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, -2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, - 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 -#Everything below is of no interest for detection purpose -2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658, -2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674, -2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690, -2691,2692,2693,2694,2695,2696,2697,2698,2699,1542, 880,2700,2701,2702,2703,2704, -2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720, -2721,2722,2723,2724,2725,1543,2726,2727,2728,2729,2730,2731,2732,1544,2733,2734, -2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750, -2751,2752,2753,2754,1545,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765, -2766,1546,2767,1547,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779, -2780,2781,2782,2783,2784,2785,2786,1548,2787,2788,2789,1109,2790,2791,2792,2793, -2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809, -2810,2811,2812,1329,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824, -2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840, -2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856, -1549,2857,2858,2859,2860,1550,2861,2862,1551,2863,2864,2865,2866,2867,2868,2869, -2870,2871,2872,2873,2874,1110,1330,2875,2876,2877,2878,2879,2880,2881,2882,2883, -2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899, -2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915, -2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,1331, -2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,1552,2944,2945, -2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961, -2962,2963,2964,1252,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976, -2977,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2989,2990,2991,2992, -2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008, -3009,3010,3011,3012,1553,3013,3014,3015,3016,3017,1554,3018,1332,3019,3020,3021, -3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037, -3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,1555,3051,3052, -3053,1556,1557,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066, -3067,1558,3068,3069,3070,3071,3072,3073,3074,3075,3076,1559,3077,3078,3079,3080, -3081,3082,3083,1253,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095, -3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,1152,3109,3110, -3111,3112,3113,1560,3114,3115,3116,3117,1111,3118,3119,3120,3121,3122,3123,3124, -3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3139,3140, -3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156, -3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172, -3173,3174,3175,3176,1333,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187, -3188,3189,1561,3190,3191,1334,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201, -3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217, -3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233, -3234,1562,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248, -3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264, -3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,1563,3278,3279, -3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295, -3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311, -3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327, -3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343, -3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359, -3360,3361,3362,3363,3364,1335,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374, -3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,1336,3388,3389, -3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405, -3406,3407,3408,3409,3410,3411,3412,3413,3414,1337,3415,3416,3417,3418,3419,1338, -3420,3421,3422,1564,1565,3423,3424,3425,3426,3427,3428,3429,3430,3431,1254,3432, -3433,3434,1339,3435,3436,3437,3438,3439,1566,3440,3441,3442,3443,3444,3445,3446, -3447,3448,3449,3450,3451,3452,3453,3454,1255,3455,3456,3457,3458,3459,1567,1191, -3460,1568,1569,3461,3462,3463,1570,3464,3465,3466,3467,3468,1571,3469,3470,3471, -3472,3473,1572,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486, -1340,3487,3488,3489,3490,3491,3492,1021,3493,3494,3495,3496,3497,3498,1573,3499, -1341,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,1342,3512,3513, -3514,3515,3516,1574,1343,3517,3518,3519,1575,3520,1576,3521,3522,3523,3524,3525, -3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541, -3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553,3554,3555,3556,3557, -3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573, -3574,3575,3576,3577,3578,3579,3580,1577,3581,3582,1578,3583,3584,3585,3586,3587, -3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603, -3604,1579,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618, -3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,1580,3630,3631,1581,3632, -3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3643,3644,3645,3646,3647,3648, -3649,3650,3651,3652,3653,3654,3655,3656,1582,3657,3658,3659,3660,3661,3662,3663, -3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679, -3680,3681,3682,3683,3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695, -3696,3697,3698,3699,3700,1192,3701,3702,3703,3704,1256,3705,3706,3707,3708,1583, -1257,3709,3710,3711,3712,3713,3714,3715,3716,1584,3717,3718,3719,3720,3721,3722, -3723,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738, -3739,3740,3741,3742,3743,3744,3745,1344,3746,3747,3748,3749,3750,3751,3752,3753, -3754,3755,3756,1585,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,1586,3767, -3768,3769,3770,3771,3772,3773,3774,3775,3776,3777,3778,1345,3779,3780,3781,3782, -3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795,1346,1587,3796, -3797,1588,3798,3799,3800,3801,3802,3803,3804,3805,3806,1347,3807,3808,3809,3810, -3811,1589,3812,3813,3814,3815,3816,3817,3818,3819,3820,3821,1590,3822,3823,1591, -1348,3824,3825,3826,3827,3828,3829,3830,1592,3831,3832,1593,3833,3834,3835,3836, -3837,3838,3839,3840,3841,3842,3843,3844,1349,3845,3846,3847,3848,3849,3850,3851, -3852,3853,3854,3855,3856,3857,3858,1594,3859,3860,3861,3862,3863,3864,3865,3866, -3867,3868,3869,1595,3870,3871,3872,3873,1596,3874,3875,3876,3877,3878,3879,3880, -3881,3882,3883,3884,3885,3886,1597,3887,3888,3889,3890,3891,3892,3893,3894,3895, -1598,3896,3897,3898,1599,1600,3899,1350,3900,1351,3901,3902,1352,3903,3904,3905, -3906,3907,3908,3909,3910,3911,3912,3913,3914,3915,3916,3917,3918,3919,3920,3921, -3922,3923,3924,1258,3925,3926,3927,3928,3929,3930,3931,1193,3932,1601,3933,3934, -3935,3936,3937,3938,3939,3940,3941,3942,3943,1602,3944,3945,3946,3947,3948,1603, -3949,3950,3951,3952,3953,3954,3955,3956,3957,3958,3959,3960,3961,3962,3963,3964, -3965,1604,3966,3967,3968,3969,3970,3971,3972,3973,3974,3975,3976,3977,1353,3978, -3979,3980,3981,3982,3983,3984,3985,3986,3987,3988,3989,3990,3991,1354,3992,3993, -3994,3995,3996,3997,3998,3999,4000,4001,4002,4003,4004,4005,4006,4007,4008,4009, -4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,1355,4024, -4025,4026,4027,4028,4029,4030,4031,4032,4033,4034,4035,4036,4037,4038,4039,4040, -1605,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055, -4056,4057,4058,4059,4060,1606,4061,4062,4063,4064,1607,4065,4066,4067,4068,4069, -4070,4071,4072,4073,4074,4075,4076,1194,4077,4078,1608,4079,4080,4081,4082,4083, -4084,4085,4086,4087,1609,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098, -4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,1259,4109,4110,4111,4112,4113, -4114,4115,4116,4117,4118,4119,4120,4121,4122,4123,4124,1195,4125,4126,4127,1610, -4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,1356,4138,4139,4140,4141,4142, -4143,4144,1611,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157, -4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173, -4174,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,4185,4186,4187,4188,4189, -4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205, -4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4217,4218,4219,1612,4220, -4221,4222,4223,4224,4225,4226,4227,1357,4228,1613,4229,4230,4231,4232,4233,4234, -4235,4236,4237,4238,4239,4240,4241,4242,4243,1614,4244,4245,4246,4247,4248,4249, -4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265, -4266,4267,4268,4269,4270,1196,1358,4271,4272,4273,4274,4275,4276,4277,4278,4279, -4280,4281,4282,4283,4284,4285,4286,4287,1615,4288,4289,4290,4291,4292,4293,4294, -4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307,4308,4309,4310, -4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325,4326, -4327,4328,4329,4330,4331,4332,4333,4334,1616,4335,4336,4337,4338,4339,4340,4341, -4342,4343,4344,4345,4346,4347,4348,4349,4350,4351,4352,4353,4354,4355,4356,4357, -4358,4359,4360,1617,4361,4362,4363,4364,4365,1618,4366,4367,4368,4369,4370,4371, -4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387, -4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403, -4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4416,1619,4417,4418, -4419,4420,4421,4422,4423,4424,4425,1112,4426,4427,4428,4429,4430,1620,4431,4432, -4433,4434,4435,4436,4437,4438,4439,4440,4441,4442,1260,1261,4443,4444,4445,4446, -4447,4448,4449,4450,4451,4452,4453,4454,4455,1359,4456,4457,4458,4459,4460,4461, -4462,4463,4464,4465,1621,4466,4467,4468,4469,4470,4471,4472,4473,4474,4475,4476, -4477,4478,4479,4480,4481,4482,4483,4484,4485,4486,4487,4488,4489,1055,4490,4491, -4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507, -4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,1622,4519,4520,4521,1623, -4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,1360,4536, -4537,4538,4539,4540,4541,4542,4543, 975,4544,4545,4546,4547,4548,4549,4550,4551, -4552,4553,4554,4555,4556,4557,4558,4559,4560,4561,4562,4563,4564,4565,4566,4567, -4568,4569,4570,4571,1624,4572,4573,4574,4575,4576,1625,4577,4578,4579,4580,4581, -4582,4583,4584,1626,4585,4586,4587,4588,4589,4590,4591,4592,4593,4594,4595,1627, -4596,4597,4598,4599,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611, -4612,4613,4614,4615,1628,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4626, -4627,4628,4629,4630,4631,4632,4633,4634,4635,4636,4637,4638,4639,4640,4641,4642, -4643,4644,4645,4646,4647,4648,4649,1361,4650,4651,4652,4653,4654,4655,4656,4657, -4658,4659,4660,4661,1362,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672, -4673,4674,4675,4676,4677,4678,4679,4680,4681,4682,1629,4683,4684,4685,4686,4687, -1630,4688,4689,4690,4691,1153,4692,4693,4694,1113,4695,4696,4697,4698,4699,4700, -4701,4702,4703,4704,4705,4706,4707,4708,4709,4710,4711,1197,4712,4713,4714,4715, -4716,4717,4718,4719,4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,4730,4731, -4732,4733,4734,4735,1631,4736,1632,4737,4738,4739,4740,4741,4742,4743,4744,1633, -4745,4746,4747,4748,4749,1262,4750,4751,4752,4753,4754,1363,4755,4756,4757,4758, -4759,4760,4761,4762,4763,4764,4765,4766,4767,4768,1634,4769,4770,4771,4772,4773, -4774,4775,4776,4777,4778,1635,4779,4780,4781,4782,4783,4784,4785,4786,4787,4788, -4789,1636,4790,4791,4792,4793,4794,4795,4796,4797,4798,4799,4800,4801,4802,4803, -4804,4805,4806,1637,4807,4808,4809,1638,4810,4811,4812,4813,4814,4815,4816,4817, -4818,1639,4819,4820,4821,4822,4823,4824,4825,4826,4827,4828,4829,4830,4831,4832, -4833,1077,4834,4835,4836,4837,4838,4839,4840,4841,4842,4843,4844,4845,4846,4847, -4848,4849,4850,4851,4852,4853,4854,4855,4856,4857,4858,4859,4860,4861,4862,4863, -4864,4865,4866,4867,4868,4869,4870,4871,4872,4873,4874,4875,4876,4877,4878,4879, -4880,4881,4882,4883,1640,4884,4885,1641,4886,4887,4888,4889,4890,4891,4892,4893, -4894,4895,4896,4897,4898,4899,4900,4901,4902,4903,4904,4905,4906,4907,4908,4909, -4910,4911,1642,4912,4913,4914,1364,4915,4916,4917,4918,4919,4920,4921,4922,4923, -4924,4925,4926,4927,4928,4929,4930,4931,1643,4932,4933,4934,4935,4936,4937,4938, -4939,4940,4941,4942,4943,4944,4945,4946,4947,4948,4949,4950,4951,4952,4953,4954, -4955,4956,4957,4958,4959,4960,4961,4962,4963,4964,4965,4966,4967,4968,4969,4970, -4971,4972,4973,4974,4975,4976,4977,4978,4979,4980,1644,4981,4982,4983,4984,1645, -4985,4986,1646,4987,4988,4989,4990,4991,4992,4993,4994,4995,4996,4997,4998,4999, -5000,5001,5002,5003,5004,5005,1647,5006,1648,5007,5008,5009,5010,5011,5012,1078, -5013,5014,5015,5016,5017,5018,5019,5020,5021,5022,5023,5024,5025,5026,5027,5028, -1365,5029,5030,5031,5032,5033,5034,5035,5036,5037,5038,5039,1649,5040,5041,5042, -5043,5044,5045,1366,5046,5047,5048,5049,5050,5051,5052,5053,5054,5055,1650,5056, -5057,5058,5059,5060,5061,5062,5063,5064,5065,5066,5067,5068,5069,5070,5071,5072, -5073,5074,5075,5076,5077,1651,5078,5079,5080,5081,5082,5083,5084,5085,5086,5087, -5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102,5103, -5104,5105,5106,5107,5108,5109,5110,1652,5111,5112,5113,5114,5115,5116,5117,5118, -1367,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,1653,5130,5131,5132, -5133,5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148, -5149,1368,5150,1654,5151,1369,5152,5153,5154,5155,5156,5157,5158,5159,5160,5161, -5162,5163,5164,5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,5176,5177, -5178,1370,5179,5180,5181,5182,5183,5184,5185,5186,5187,5188,5189,5190,5191,5192, -5193,5194,5195,5196,5197,5198,1655,5199,5200,5201,5202,1656,5203,5204,5205,5206, -1371,5207,1372,5208,5209,5210,5211,1373,5212,5213,1374,5214,5215,5216,5217,5218, -5219,5220,5221,5222,5223,5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234, -5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,5245,5246,5247,1657,5248,5249, -5250,5251,1658,1263,5252,5253,5254,5255,5256,1375,5257,5258,5259,5260,5261,5262, -5263,5264,5265,5266,5267,5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278, -5279,5280,5281,5282,5283,1659,5284,5285,5286,5287,5288,5289,5290,5291,5292,5293, -5294,5295,5296,5297,5298,5299,5300,1660,5301,5302,5303,5304,5305,5306,5307,5308, -5309,5310,5311,5312,5313,5314,5315,5316,5317,5318,5319,5320,5321,1376,5322,5323, -5324,5325,5326,5327,5328,5329,5330,5331,5332,5333,1198,5334,5335,5336,5337,5338, -5339,5340,5341,5342,5343,1661,5344,5345,5346,5347,5348,5349,5350,5351,5352,5353, -5354,5355,5356,5357,5358,5359,5360,5361,5362,5363,5364,5365,5366,5367,5368,5369, -5370,5371,5372,5373,5374,5375,5376,5377,5378,5379,5380,5381,5382,5383,5384,5385, -5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,5398,1264,5399,5400, -5401,5402,5403,5404,5405,5406,5407,5408,5409,5410,5411,5412,1662,5413,5414,5415, -5416,1663,5417,5418,5419,5420,5421,5422,5423,5424,5425,5426,5427,5428,5429,5430, -5431,5432,5433,5434,5435,5436,5437,5438,1664,5439,5440,5441,5442,5443,5444,5445, -5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456,5457,5458,5459,5460,5461, -5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472,5473,5474,5475,5476,5477, -5478,1154,5479,5480,5481,5482,5483,5484,5485,1665,5486,5487,5488,5489,5490,5491, -5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504,5505,5506,5507, -5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520,5521,5522,5523, -5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536,5537,5538,5539, -5540,5541,5542,5543,5544,5545,5546,5547,5548,1377,5549,5550,5551,5552,5553,5554, -5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568,5569,5570, -1114,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584,5585, -5586,5587,5588,5589,5590,5591,5592,1378,5593,5594,5595,5596,5597,5598,5599,5600, -5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,1379,5615, -5616,5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631, -5632,5633,5634,1380,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646, -5647,5648,5649,1381,1056,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660, -1666,5661,5662,5663,5664,5665,5666,5667,5668,1667,5669,1668,5670,5671,5672,5673, -5674,5675,5676,5677,5678,1155,5679,5680,5681,5682,5683,5684,5685,5686,5687,5688, -5689,5690,5691,5692,5693,5694,5695,5696,5697,5698,1669,5699,5700,5701,5702,5703, -5704,5705,1670,5706,5707,5708,5709,5710,1671,5711,5712,5713,5714,1382,5715,5716, -5717,5718,5719,5720,5721,5722,5723,5724,5725,1672,5726,5727,1673,1674,5728,5729, -5730,5731,5732,5733,5734,5735,5736,1675,5737,5738,5739,5740,5741,5742,5743,5744, -1676,5745,5746,5747,5748,5749,5750,5751,1383,5752,5753,5754,5755,5756,5757,5758, -5759,5760,5761,5762,5763,5764,5765,5766,5767,5768,1677,5769,5770,5771,5772,5773, -1678,5774,5775,5776, 998,5777,5778,5779,5780,5781,5782,5783,5784,5785,1384,5786, -5787,5788,5789,5790,5791,5792,5793,5794,5795,5796,5797,5798,5799,5800,1679,5801, -5802,5803,1115,1116,5804,5805,5806,5807,5808,5809,5810,5811,5812,5813,5814,5815, -5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828,5829,5830,5831, -5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844,5845,5846,5847, -5848,5849,5850,5851,5852,5853,5854,5855,1680,5856,5857,5858,5859,5860,5861,5862, -5863,5864,1681,5865,5866,5867,1682,5868,5869,5870,5871,5872,5873,5874,5875,5876, -5877,5878,5879,1683,5880,1684,5881,5882,5883,5884,1685,5885,5886,5887,5888,5889, -5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905, -5906,5907,1686,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, -5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,1687, -5936,5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951, -5952,1688,1689,5953,1199,5954,5955,5956,5957,5958,5959,5960,5961,1690,5962,5963, -5964,5965,5966,5967,5968,5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979, -5980,5981,1385,5982,1386,5983,5984,5985,5986,5987,5988,5989,5990,5991,5992,5993, -5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009, -6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020,6021,6022,6023,6024,6025, -6026,6027,1265,6028,6029,1691,6030,6031,6032,6033,6034,6035,6036,6037,6038,6039, -6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052,6053,6054,6055, -6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068,6069,6070,6071, -6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,1692,6085,6086, -6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100,6101,6102, -6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116,6117,6118, -6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,1693,6132,6133, -6134,6135,6136,1694,6137,6138,6139,6140,6141,1695,6142,6143,6144,6145,6146,6147, -6148,6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163, -6164,6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179, -6180,6181,6182,6183,6184,6185,1696,6186,6187,6188,6189,6190,6191,6192,6193,6194, -6195,6196,6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210, -6211,6212,6213,6214,6215,6216,6217,6218,6219,1697,6220,6221,6222,6223,6224,6225, -6226,6227,6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241, -6242,6243,6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,1698,6254,6255,6256, -6257,6258,6259,6260,6261,6262,6263,1200,6264,6265,6266,6267,6268,6269,6270,6271, #1024 -6272,6273,6274,6275,6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,6286,6287, -6288,6289,6290,6291,6292,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,1699, -6303,6304,1700,6305,6306,6307,6308,6309,6310,6311,6312,6313,6314,6315,6316,6317, -6318,6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333, -6334,6335,6336,6337,6338,6339,1701,6340,6341,6342,6343,6344,1387,6345,6346,6347, -6348,6349,6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363, -6364,6365,6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379, -6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395, -6396,6397,6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,6411, -6412,6413,1702,6414,6415,6416,6417,6418,6419,6420,6421,6422,1703,6423,6424,6425, -6426,6427,6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,1704,6439,6440, -6441,6442,6443,6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,6455,6456, -6457,6458,6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472, -6473,6474,6475,6476,6477,6478,6479,6480,6481,6482,6483,6484,6485,6486,6487,6488, -6489,6490,6491,6492,6493,6494,6495,6496,6497,6498,6499,6500,6501,6502,6503,1266, -6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516,6517,6518,6519, -6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532,6533,6534,6535, -6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551, -1705,1706,6552,6553,6554,6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565, -6566,6567,6568,6569,6570,6571,6572,6573,6574,6575,6576,6577,6578,6579,6580,6581, -6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6597, -6598,6599,6600,6601,6602,6603,6604,6605,6606,6607,6608,6609,6610,6611,6612,6613, -6614,6615,6616,6617,6618,6619,6620,6621,6622,6623,6624,6625,6626,6627,6628,6629, -6630,6631,6632,6633,6634,6635,6636,6637,1388,6638,6639,6640,6641,6642,6643,6644, -1707,6645,6646,6647,6648,6649,6650,6651,6652,6653,6654,6655,6656,6657,6658,6659, -6660,6661,6662,6663,1708,6664,6665,6666,6667,6668,6669,6670,6671,6672,6673,6674, -1201,6675,6676,6677,6678,6679,6680,6681,6682,6683,6684,6685,6686,6687,6688,6689, -6690,6691,6692,6693,6694,6695,6696,6697,6698,6699,6700,6701,6702,6703,6704,6705, -6706,6707,6708,6709,6710,6711,6712,6713,6714,6715,6716,6717,6718,6719,6720,6721, -6722,6723,6724,6725,1389,6726,6727,6728,6729,6730,6731,6732,6733,6734,6735,6736, -1390,1709,6737,6738,6739,6740,6741,6742,1710,6743,6744,6745,6746,1391,6747,6748, -6749,6750,6751,6752,6753,6754,6755,6756,6757,1392,6758,6759,6760,6761,6762,6763, -6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777,6778,6779, -6780,1202,6781,6782,6783,6784,6785,6786,6787,6788,6789,6790,6791,6792,6793,6794, -6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806,6807,6808,6809,1711, -6810,6811,6812,6813,6814,6815,6816,6817,6818,6819,6820,6821,6822,6823,6824,6825, -6826,6827,6828,6829,6830,6831,6832,6833,6834,6835,6836,1393,6837,6838,6839,6840, -6841,6842,6843,6844,6845,6846,6847,6848,6849,6850,6851,6852,6853,6854,6855,6856, -6857,6858,6859,6860,6861,6862,6863,6864,6865,6866,6867,6868,6869,6870,6871,6872, -6873,6874,6875,6876,6877,6878,6879,6880,6881,6882,6883,6884,6885,6886,6887,6888, -6889,6890,6891,6892,6893,6894,6895,6896,6897,6898,6899,6900,6901,6902,1712,6903, -6904,6905,6906,6907,6908,6909,6910,1713,6911,6912,6913,6914,6915,6916,6917,6918, -6919,6920,6921,6922,6923,6924,6925,6926,6927,6928,6929,6930,6931,6932,6933,6934, -6935,6936,6937,6938,6939,6940,6941,6942,6943,6944,6945,6946,6947,6948,6949,6950, -6951,6952,6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966, -6967,6968,6969,6970,6971,6972,6973,6974,1714,6975,6976,6977,6978,6979,6980,6981, -6982,6983,6984,6985,6986,6987,6988,1394,6989,6990,6991,6992,6993,6994,6995,6996, -6997,6998,6999,7000,1715,7001,7002,7003,7004,7005,7006,7007,7008,7009,7010,7011, -7012,7013,7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027, -7028,1716,7029,7030,7031,7032,7033,7034,7035,7036,7037,7038,7039,7040,7041,7042, -7043,7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058, -7059,7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,7071,7072,7073,7074, -7075,7076,7077,7078,7079,7080,7081,7082,7083,7084,7085,7086,7087,7088,7089,7090, -7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105,7106, -7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,7119,7120,7121,7122, -7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136,7137,7138, -7139,7140,7141,7142,7143,7144,7145,7146,7147,7148,7149,7150,7151,7152,7153,7154, -7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167,7168,7169,7170, -7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183,7184,7185,7186, -7187,7188,7189,7190,7191,7192,7193,7194,7195,7196,7197,7198,7199,7200,7201,7202, -7203,7204,7205,7206,7207,1395,7208,7209,7210,7211,7212,7213,1717,7214,7215,7216, -7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229,7230,7231,7232, -7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245,7246,7247,7248, -7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261,7262,7263,7264, -7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277,7278,7279,7280, -7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293,7294,7295,7296, -7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308,7309,7310,7311,7312, -7313,1718,7314,7315,7316,7317,7318,7319,7320,7321,7322,7323,7324,7325,7326,7327, -7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339,7340,7341,7342,7343, -7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,7354,7355,7356,7357,7358,7359, -7360,7361,7362,7363,7364,7365,7366,7367,7368,7369,7370,7371,7372,7373,7374,7375, -7376,7377,7378,7379,7380,7381,7382,7383,7384,7385,7386,7387,7388,7389,7390,7391, -7392,7393,7394,7395,7396,7397,7398,7399,7400,7401,7402,7403,7404,7405,7406,7407, -7408,7409,7410,7411,7412,7413,7414,7415,7416,7417,7418,7419,7420,7421,7422,7423, -7424,7425,7426,7427,7428,7429,7430,7431,7432,7433,7434,7435,7436,7437,7438,7439, -7440,7441,7442,7443,7444,7445,7446,7447,7448,7449,7450,7451,7452,7453,7454,7455, -7456,7457,7458,7459,7460,7461,7462,7463,7464,7465,7466,7467,7468,7469,7470,7471, -7472,7473,7474,7475,7476,7477,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487, -7488,7489,7490,7491,7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,7503, -7504,7505,7506,7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519, -7520,7521,7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535, -7536,7537,7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,7550,7551, -7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, -7568,7569,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582,7583, -7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598,7599, -7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614,7615, -7616,7617,7618,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628,7629,7630,7631, -7632,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643,7644,7645,7646,7647, -7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659,7660,7661,7662,7663, -7664,7665,7666,7667,7668,7669,7670,7671,7672,7673,7674,7675,7676,7677,7678,7679, -7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690,7691,7692,7693,7694,7695, -7696,7697,7698,7699,7700,7701,7702,7703,7704,7705,7706,7707,7708,7709,7710,7711, -7712,7713,7714,7715,7716,7717,7718,7719,7720,7721,7722,7723,7724,7725,7726,7727, -7728,7729,7730,7731,7732,7733,7734,7735,7736,7737,7738,7739,7740,7741,7742,7743, -7744,7745,7746,7747,7748,7749,7750,7751,7752,7753,7754,7755,7756,7757,7758,7759, -7760,7761,7762,7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775, -7776,7777,7778,7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791, -7792,7793,7794,7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,7806,7807, -7808,7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823, -7824,7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839, -7840,7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855, -7856,7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871, -7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887, -7888,7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903, -7904,7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919, -7920,7921,7922,7923,7924,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, -7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951, -7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967, -7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983, -7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999, -8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015, -8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031, -8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047, -8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063, -8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079, -8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095, -8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111, -8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127, -8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143, -8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159, -8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175, -8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191, -8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207, -8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223, -8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239, -8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255, -8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271, -8272,8273,8274,8275,8276,8277,8278,8279,8280,8281,8282,8283,8284,8285,8286,8287, -8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303, -8304,8305,8306,8307,8308,8309,8310,8311,8312,8313,8314,8315,8316,8317,8318,8319, -8320,8321,8322,8323,8324,8325,8326,8327,8328,8329,8330,8331,8332,8333,8334,8335, -8336,8337,8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351, -8352,8353,8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,8364,8365,8366,8367, -8368,8369,8370,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382,8383, -8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398,8399, -8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,8411,8412,8413,8414,8415, -8416,8417,8418,8419,8420,8421,8422,8423,8424,8425,8426,8427,8428,8429,8430,8431, -8432,8433,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443,8444,8445,8446,8447, -8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459,8460,8461,8462,8463, -8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475,8476,8477,8478,8479, -8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490,8491,8492,8493,8494,8495, -8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506,8507,8508,8509,8510,8511, -8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522,8523,8524,8525,8526,8527, -8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538,8539,8540,8541,8542,8543, -8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,8556,8557,8558,8559, -8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8570,8571,8572,8573,8574,8575, -8576,8577,8578,8579,8580,8581,8582,8583,8584,8585,8586,8587,8588,8589,8590,8591, -8592,8593,8594,8595,8596,8597,8598,8599,8600,8601,8602,8603,8604,8605,8606,8607, -8608,8609,8610,8611,8612,8613,8614,8615,8616,8617,8618,8619,8620,8621,8622,8623, -8624,8625,8626,8627,8628,8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,8639, -8640,8641,8642,8643,8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655, -8656,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671, -8672,8673,8674,8675,8676,8677,8678,8679,8680,8681,8682,8683,8684,8685,8686,8687, -8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, -8704,8705,8706,8707,8708,8709,8710,8711,8712,8713,8714,8715,8716,8717,8718,8719, -8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,8734,8735, -8736,8737,8738,8739,8740,8741) - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/euckrprober.py b/lib27/site-packages/requests/packages/chardet/euckrprober.py deleted file mode 100644 index 5982a46b6..000000000 --- a/lib27/site-packages/requests/packages/chardet/euckrprober.py +++ /dev/null @@ -1,42 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCKRDistributionAnalysis -from .mbcssm import EUCKRSMModel - - -class EUCKRProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(EUCKRSMModel) - self._mDistributionAnalyzer = EUCKRDistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "EUC-KR" diff --git a/lib27/site-packages/requests/packages/chardet/euctwfreq.py b/lib27/site-packages/requests/packages/chardet/euctwfreq.py deleted file mode 100644 index 576e7504d..000000000 --- a/lib27/site-packages/requests/packages/chardet/euctwfreq.py +++ /dev/null @@ -1,428 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# EUCTW frequency table -# Converted from big5 work -# by Taiwan's Mandarin Promotion Council -# - -# 128 --> 0.42261 -# 256 --> 0.57851 -# 512 --> 0.74851 -# 1024 --> 0.89384 -# 2048 --> 0.97583 -# -# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 -# Random Distribution Ration = 512/(5401-512)=0.105 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR - -EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 - -# Char to FreqOrder table , -EUCTW_TABLE_SIZE = 8102 - -EUCTWCharToFreqOrder = ( - 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 -3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 -1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 - 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 -3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 -4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 -7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 - 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 - 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 - 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 -2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 -1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 -3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 - 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 -3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 -2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 - 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 -3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 -1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 -7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 - 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 -7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 -1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 - 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 - 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 -3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 -3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 - 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 -2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 -2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 - 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 - 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 -3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 -1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 -1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 -1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 -2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 - 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 -4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 -1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 -7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 -2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 - 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 - 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 - 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 - 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 -7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 - 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 -1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 - 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 - 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 -7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 -1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 - 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 -3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 -4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 -3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 - 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 - 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 -1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 -4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 -3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 -3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 -2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 -7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 -3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 -7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 -1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 -2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 -1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 - 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 -1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 -4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 -3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 - 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 - 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 - 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 -2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 -7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 -1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 -2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 -1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 -1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 -7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 -7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 -7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 -3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 -4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 -1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 -7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 -2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 -7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 -3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 -3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 -7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 -2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 -7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 - 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 -4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 -2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 -7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 -3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 -2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 -2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 - 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 -2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 -1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 -1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 -2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 -1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 -7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 -7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 -2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 -4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 -1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 -7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 - 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 -4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 - 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 -2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 - 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 -1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 -1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 - 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 -3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 -3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 -1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 -3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 -7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 -7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 -1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 -2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 -1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 -3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 -2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 -3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 -2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 -4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 -4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 -3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 - 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 -3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 - 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 -3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 -3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 -3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 -1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 -7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 - 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 -7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 -1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 - 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 -4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 -3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 - 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 -2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 -2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 -3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 -1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 -4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 -2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 -1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 -1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 -2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 -3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 -1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 -7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 -1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 -4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 -1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 - 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 -1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 -3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 -3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 -2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 -1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 -4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 - 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 -7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 -2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 -3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 -4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 - 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 -7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 -7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 -1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 -4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 -3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 -2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 -3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 -3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 -2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 -1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 -4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 -3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 -3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 -2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 -4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 -7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 -3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 -2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 -3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 -1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 -2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 -3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 -4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 -2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 -2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 -7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 -1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 -2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 -1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 -3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 -4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 -2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 -3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 -3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 -2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 -4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 -2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 -3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 -4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 -7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 -3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 - 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 -1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 -4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 -1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 -4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 -7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 - 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 -7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 -2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 -1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 -1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 -3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 - 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 - 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 - 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 -3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 -2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 - 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 -7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 -1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 -3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 -7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 -1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 -7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 -4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 -1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 -2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 -2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 -4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 - 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 - 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 -3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 -3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 -1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 -2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 -7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 -1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 -1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 -3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 - 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 -1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 -4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 -7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 -2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 -3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 - 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 -1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 -2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 -2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 -7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 -7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 -7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 -2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 -2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 -1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 -4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 -3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 -3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 -4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 -4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 -2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 -2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 -7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 -4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 -7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 -2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 -1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 -3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 -4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 -2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 - 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 -2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 -1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 -2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 -2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 -4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 -7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 -1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 -3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 -7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 -1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 -8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 -2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 -8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 -2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 -2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 -8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 -8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 -8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 - 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 -8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 -4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 -3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 -8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 -1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 -8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 - 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 -1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 - 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 -4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 -1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 -4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 -1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 - 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 -3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 -4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 -8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 - 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 -3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 - 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 -2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 -#Everything below is of no interest for detection purpose -2515,1613,4582,8119,3312,3866,2516,8120,4058,8121,1637,4059,2466,4583,3867,8122, # 8118 -2493,3016,3734,8123,8124,2192,8125,8126,2162,8127,8128,8129,8130,8131,8132,8133, # 8134 -8134,8135,8136,8137,8138,8139,8140,8141,8142,8143,8144,8145,8146,8147,8148,8149, # 8150 -8150,8151,8152,8153,8154,8155,8156,8157,8158,8159,8160,8161,8162,8163,8164,8165, # 8166 -8166,8167,8168,8169,8170,8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181, # 8182 -8182,8183,8184,8185,8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197, # 8198 -8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213, # 8214 -8214,8215,8216,8217,8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229, # 8230 -8230,8231,8232,8233,8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245, # 8246 -8246,8247,8248,8249,8250,8251,8252,8253,8254,8255,8256,8257,8258,8259,8260,8261, # 8262 -8262,8263,8264,8265,8266,8267,8268,8269,8270,8271,8272,8273,8274,8275,8276,8277, # 8278 -8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,8290,8291,8292,8293, # 8294 -8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,8308,8309, # 8310 -8310,8311,8312,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322,8323,8324,8325, # 8326 -8326,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337,8338,8339,8340,8341, # 8342 -8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353,8354,8355,8356,8357, # 8358 -8358,8359,8360,8361,8362,8363,8364,8365,8366,8367,8368,8369,8370,8371,8372,8373, # 8374 -8374,8375,8376,8377,8378,8379,8380,8381,8382,8383,8384,8385,8386,8387,8388,8389, # 8390 -8390,8391,8392,8393,8394,8395,8396,8397,8398,8399,8400,8401,8402,8403,8404,8405, # 8406 -8406,8407,8408,8409,8410,8411,8412,8413,8414,8415,8416,8417,8418,8419,8420,8421, # 8422 -8422,8423,8424,8425,8426,8427,8428,8429,8430,8431,8432,8433,8434,8435,8436,8437, # 8438 -8438,8439,8440,8441,8442,8443,8444,8445,8446,8447,8448,8449,8450,8451,8452,8453, # 8454 -8454,8455,8456,8457,8458,8459,8460,8461,8462,8463,8464,8465,8466,8467,8468,8469, # 8470 -8470,8471,8472,8473,8474,8475,8476,8477,8478,8479,8480,8481,8482,8483,8484,8485, # 8486 -8486,8487,8488,8489,8490,8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501, # 8502 -8502,8503,8504,8505,8506,8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517, # 8518 -8518,8519,8520,8521,8522,8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533, # 8534 -8534,8535,8536,8537,8538,8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549, # 8550 -8550,8551,8552,8553,8554,8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,8565, # 8566 -8566,8567,8568,8569,8570,8571,8572,8573,8574,8575,8576,8577,8578,8579,8580,8581, # 8582 -8582,8583,8584,8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597, # 8598 -8598,8599,8600,8601,8602,8603,8604,8605,8606,8607,8608,8609,8610,8611,8612,8613, # 8614 -8614,8615,8616,8617,8618,8619,8620,8621,8622,8623,8624,8625,8626,8627,8628,8629, # 8630 -8630,8631,8632,8633,8634,8635,8636,8637,8638,8639,8640,8641,8642,8643,8644,8645, # 8646 -8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,8657,8658,8659,8660,8661, # 8662 -8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672,8673,8674,8675,8676,8677, # 8678 -8678,8679,8680,8681,8682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,8693, # 8694 -8694,8695,8696,8697,8698,8699,8700,8701,8702,8703,8704,8705,8706,8707,8708,8709, # 8710 -8710,8711,8712,8713,8714,8715,8716,8717,8718,8719,8720,8721,8722,8723,8724,8725, # 8726 -8726,8727,8728,8729,8730,8731,8732,8733,8734,8735,8736,8737,8738,8739,8740,8741) # 8742 - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/euctwprober.py b/lib27/site-packages/requests/packages/chardet/euctwprober.py deleted file mode 100644 index fe652fe37..000000000 --- a/lib27/site-packages/requests/packages/chardet/euctwprober.py +++ /dev/null @@ -1,41 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCTWDistributionAnalysis -from .mbcssm import EUCTWSMModel - -class EUCTWProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(EUCTWSMModel) - self._mDistributionAnalyzer = EUCTWDistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "EUC-TW" diff --git a/lib27/site-packages/requests/packages/chardet/gb2312freq.py b/lib27/site-packages/requests/packages/chardet/gb2312freq.py deleted file mode 100644 index 1238f510f..000000000 --- a/lib27/site-packages/requests/packages/chardet/gb2312freq.py +++ /dev/null @@ -1,472 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# GB2312 most frequently used character table -# -# Char to FreqOrder table , from hz6763 - -# 512 --> 0.79 -- 0.79 -# 1024 --> 0.92 -- 0.13 -# 2048 --> 0.98 -- 0.06 -# 6768 --> 1.00 -- 0.02 -# -# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 -# Random Distribution Ration = 512 / (3755 - 512) = 0.157 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR - -GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 - -GB2312_TABLE_SIZE = 3760 - -GB2312CharToFreqOrder = ( -1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, -2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, -2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, - 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, -1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, -1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, - 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, -1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, -2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, -3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, - 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, -1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, - 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, -2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, - 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, -2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, -1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, -3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, - 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, -1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, - 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, -2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, -1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, -3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, -1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, -2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, -1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, - 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, -3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, -3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, - 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, -3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, - 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, -1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, -3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, -2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, -1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, - 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, -1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, -4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, - 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, -3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, -3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, - 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, -1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, -2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, -1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, -1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, - 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, -3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, -3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, -4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, - 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, -3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, -1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, -1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, -4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, - 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, - 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, -3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, -1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, - 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, -1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, -2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, - 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, - 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, - 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, -3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, -4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, -3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, - 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, -2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, -2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, -2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, - 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, -2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, - 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, - 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, - 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, -3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, -2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, -2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, -1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, - 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, -2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, - 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, - 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, -1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, -1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, - 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, - 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, -1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, -2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, -3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, -2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, -2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, -2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, -3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, -1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, -1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, -2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, -1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, -3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, -1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, -1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, -3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, - 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, -2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, -1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, -4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, -1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, -1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, -3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, -1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, - 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, - 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, -1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, - 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, -1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, -1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, - 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, -3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, -4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, -3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, -2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, -2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, -1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, -3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, -2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, -1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, -1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, - 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, -2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, -2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, -3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, -4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, -3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, - 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, -3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, -2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, -1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, - 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, - 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, -3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, -4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, -2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, -1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, -1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, - 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, -1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, -3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, - 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, - 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, -1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, - 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, -1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, - 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, -2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, - 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, -2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, -2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, -1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, -1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, -2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, - 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, -1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, -1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, -2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, -2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, -3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, -1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, -4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, - 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, - 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, -3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, -1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, - 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, -3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, -1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, -4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, -1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, -2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, -1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, - 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, -1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, -3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, - 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, -2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, - 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, -1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, -1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, -1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, -3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, -2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, -3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, -3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, -3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, - 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, -2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, - 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, -2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, - 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, -1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, - 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, - 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, -1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, -3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, -3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, -1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, -1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, -3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, -2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, -2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, -1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, -3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, - 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, -4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, -1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, -2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, -3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, -3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, -1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, - 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, - 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, -2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, - 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, -1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, - 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, -1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, -1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, -1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, -1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, -1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, - 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, - 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, # last 512 -#Everything below is of no interest for detection purpose -5508,6484,3900,3414,3974,4441,4024,3537,4037,5628,5099,3633,6485,3148,6486,3636, -5509,3257,5510,5973,5445,5872,4941,4403,3174,4627,5873,6276,2286,4230,5446,5874, -5122,6102,6103,4162,5447,5123,5323,4849,6277,3980,3851,5066,4246,5774,5067,6278, -3001,2807,5695,3346,5775,5974,5158,5448,6487,5975,5976,5776,3598,6279,5696,4806, -4211,4154,6280,6488,6489,6490,6281,4212,5037,3374,4171,6491,4562,4807,4722,4827, -5977,6104,4532,4079,5159,5324,5160,4404,3858,5359,5875,3975,4288,4610,3486,4512, -5325,3893,5360,6282,6283,5560,2522,4231,5978,5186,5449,2569,3878,6284,5401,3578, -4415,6285,4656,5124,5979,2506,4247,4449,3219,3417,4334,4969,4329,6492,4576,4828, -4172,4416,4829,5402,6286,3927,3852,5361,4369,4830,4477,4867,5876,4173,6493,6105, -4657,6287,6106,5877,5450,6494,4155,4868,5451,3700,5629,4384,6288,6289,5878,3189, -4881,6107,6290,6495,4513,6496,4692,4515,4723,5100,3356,6497,6291,3810,4080,5561, -3570,4430,5980,6498,4355,5697,6499,4724,6108,6109,3764,4050,5038,5879,4093,3226, -6292,5068,5217,4693,3342,5630,3504,4831,4377,4466,4309,5698,4431,5777,6293,5778, -4272,3706,6110,5326,3752,4676,5327,4273,5403,4767,5631,6500,5699,5880,3475,5039, -6294,5562,5125,4348,4301,4482,4068,5126,4593,5700,3380,3462,5981,5563,3824,5404, -4970,5511,3825,4738,6295,6501,5452,4516,6111,5881,5564,6502,6296,5982,6503,4213, -4163,3454,6504,6112,4009,4450,6113,4658,6297,6114,3035,6505,6115,3995,4904,4739, -4563,4942,4110,5040,3661,3928,5362,3674,6506,5292,3612,4791,5565,4149,5983,5328, -5259,5021,4725,4577,4564,4517,4364,6298,5405,4578,5260,4594,4156,4157,5453,3592, -3491,6507,5127,5512,4709,4922,5984,5701,4726,4289,6508,4015,6116,5128,4628,3424, -4241,5779,6299,4905,6509,6510,5454,5702,5780,6300,4365,4923,3971,6511,5161,3270, -3158,5985,4100, 867,5129,5703,6117,5363,3695,3301,5513,4467,6118,6512,5455,4232, -4242,4629,6513,3959,4478,6514,5514,5329,5986,4850,5162,5566,3846,4694,6119,5456, -4869,5781,3779,6301,5704,5987,5515,4710,6302,5882,6120,4392,5364,5705,6515,6121, -6516,6517,3736,5988,5457,5989,4695,2457,5883,4551,5782,6303,6304,6305,5130,4971, -6122,5163,6123,4870,3263,5365,3150,4871,6518,6306,5783,5069,5706,3513,3498,4409, -5330,5632,5366,5458,5459,3991,5990,4502,3324,5991,5784,3696,4518,5633,4119,6519, -4630,5634,4417,5707,4832,5992,3418,6124,5993,5567,4768,5218,6520,4595,3458,5367, -6125,5635,6126,4202,6521,4740,4924,6307,3981,4069,4385,6308,3883,2675,4051,3834, -4302,4483,5568,5994,4972,4101,5368,6309,5164,5884,3922,6127,6522,6523,5261,5460, -5187,4164,5219,3538,5516,4111,3524,5995,6310,6311,5369,3181,3386,2484,5188,3464, -5569,3627,5708,6524,5406,5165,4677,4492,6312,4872,4851,5885,4468,5996,6313,5709, -5710,6128,2470,5886,6314,5293,4882,5785,3325,5461,5101,6129,5711,5786,6525,4906, -6526,6527,4418,5887,5712,4808,2907,3701,5713,5888,6528,3765,5636,5331,6529,6530, -3593,5889,3637,4943,3692,5714,5787,4925,6315,6130,5462,4405,6131,6132,6316,5262, -6531,6532,5715,3859,5716,5070,4696,5102,3929,5788,3987,4792,5997,6533,6534,3920, -4809,5000,5998,6535,2974,5370,6317,5189,5263,5717,3826,6536,3953,5001,4883,3190, -5463,5890,4973,5999,4741,6133,6134,3607,5570,6000,4711,3362,3630,4552,5041,6318, -6001,2950,2953,5637,4646,5371,4944,6002,2044,4120,3429,6319,6537,5103,4833,6538, -6539,4884,4647,3884,6003,6004,4758,3835,5220,5789,4565,5407,6540,6135,5294,4697, -4852,6320,6321,3206,4907,6541,6322,4945,6542,6136,6543,6323,6005,4631,3519,6544, -5891,6545,5464,3784,5221,6546,5571,4659,6547,6324,6137,5190,6548,3853,6549,4016, -4834,3954,6138,5332,3827,4017,3210,3546,4469,5408,5718,3505,4648,5790,5131,5638, -5791,5465,4727,4318,6325,6326,5792,4553,4010,4698,3439,4974,3638,4335,3085,6006, -5104,5042,5166,5892,5572,6327,4356,4519,5222,5573,5333,5793,5043,6550,5639,5071, -4503,6328,6139,6551,6140,3914,3901,5372,6007,5640,4728,4793,3976,3836,4885,6552, -4127,6553,4451,4102,5002,6554,3686,5105,6555,5191,5072,5295,4611,5794,5296,6556, -5893,5264,5894,4975,5466,5265,4699,4976,4370,4056,3492,5044,4886,6557,5795,4432, -4769,4357,5467,3940,4660,4290,6141,4484,4770,4661,3992,6329,4025,4662,5022,4632, -4835,4070,5297,4663,4596,5574,5132,5409,5895,6142,4504,5192,4664,5796,5896,3885, -5575,5797,5023,4810,5798,3732,5223,4712,5298,4084,5334,5468,6143,4052,4053,4336, -4977,4794,6558,5335,4908,5576,5224,4233,5024,4128,5469,5225,4873,6008,5045,4729, -4742,4633,3675,4597,6559,5897,5133,5577,5003,5641,5719,6330,6560,3017,2382,3854, -4406,4811,6331,4393,3964,4946,6561,2420,3722,6562,4926,4378,3247,1736,4442,6332, -5134,6333,5226,3996,2918,5470,4319,4003,4598,4743,4744,4485,3785,3902,5167,5004, -5373,4394,5898,6144,4874,1793,3997,6334,4085,4214,5106,5642,4909,5799,6009,4419, -4189,3330,5899,4165,4420,5299,5720,5227,3347,6145,4081,6335,2876,3930,6146,3293, -3786,3910,3998,5900,5300,5578,2840,6563,5901,5579,6147,3531,5374,6564,6565,5580, -4759,5375,6566,6148,3559,5643,6336,6010,5517,6337,6338,5721,5902,3873,6011,6339, -6567,5518,3868,3649,5722,6568,4771,4947,6569,6149,4812,6570,2853,5471,6340,6341, -5644,4795,6342,6012,5723,6343,5724,6013,4349,6344,3160,6150,5193,4599,4514,4493, -5168,4320,6345,4927,3666,4745,5169,5903,5005,4928,6346,5725,6014,4730,4203,5046, -4948,3395,5170,6015,4150,6016,5726,5519,6347,5047,3550,6151,6348,4197,4310,5904, -6571,5581,2965,6152,4978,3960,4291,5135,6572,5301,5727,4129,4026,5905,4853,5728, -5472,6153,6349,4533,2700,4505,5336,4678,3583,5073,2994,4486,3043,4554,5520,6350, -6017,5800,4487,6351,3931,4103,5376,6352,4011,4321,4311,4190,5136,6018,3988,3233, -4350,5906,5645,4198,6573,5107,3432,4191,3435,5582,6574,4139,5410,6353,5411,3944, -5583,5074,3198,6575,6354,4358,6576,5302,4600,5584,5194,5412,6577,6578,5585,5413, -5303,4248,5414,3879,4433,6579,4479,5025,4854,5415,6355,4760,4772,3683,2978,4700, -3797,4452,3965,3932,3721,4910,5801,6580,5195,3551,5907,3221,3471,3029,6019,3999, -5908,5909,5266,5267,3444,3023,3828,3170,4796,5646,4979,4259,6356,5647,5337,3694, -6357,5648,5338,4520,4322,5802,3031,3759,4071,6020,5586,4836,4386,5048,6581,3571, -4679,4174,4949,6154,4813,3787,3402,3822,3958,3215,3552,5268,4387,3933,4950,4359, -6021,5910,5075,3579,6358,4234,4566,5521,6359,3613,5049,6022,5911,3375,3702,3178, -4911,5339,4521,6582,6583,4395,3087,3811,5377,6023,6360,6155,4027,5171,5649,4421, -4249,2804,6584,2270,6585,4000,4235,3045,6156,5137,5729,4140,4312,3886,6361,4330, -6157,4215,6158,3500,3676,4929,4331,3713,4930,5912,4265,3776,3368,5587,4470,4855, -3038,4980,3631,6159,6160,4132,4680,6161,6362,3923,4379,5588,4255,6586,4121,6587, -6363,4649,6364,3288,4773,4774,6162,6024,6365,3543,6588,4274,3107,3737,5050,5803, -4797,4522,5589,5051,5730,3714,4887,5378,4001,4523,6163,5026,5522,4701,4175,2791, -3760,6589,5473,4224,4133,3847,4814,4815,4775,3259,5416,6590,2738,6164,6025,5304, -3733,5076,5650,4816,5590,6591,6165,6592,3934,5269,6593,3396,5340,6594,5804,3445, -3602,4042,4488,5731,5732,3525,5591,4601,5196,6166,6026,5172,3642,4612,3202,4506, -4798,6366,3818,5108,4303,5138,5139,4776,3332,4304,2915,3415,4434,5077,5109,4856, -2879,5305,4817,6595,5913,3104,3144,3903,4634,5341,3133,5110,5651,5805,6167,4057, -5592,2945,4371,5593,6596,3474,4182,6367,6597,6168,4507,4279,6598,2822,6599,4777, -4713,5594,3829,6169,3887,5417,6170,3653,5474,6368,4216,2971,5228,3790,4579,6369, -5733,6600,6601,4951,4746,4555,6602,5418,5475,6027,3400,4665,5806,6171,4799,6028, -5052,6172,3343,4800,4747,5006,6370,4556,4217,5476,4396,5229,5379,5477,3839,5914, -5652,5807,4714,3068,4635,5808,6173,5342,4192,5078,5419,5523,5734,6174,4557,6175, -4602,6371,6176,6603,5809,6372,5735,4260,3869,5111,5230,6029,5112,6177,3126,4681, -5524,5915,2706,3563,4748,3130,6178,4018,5525,6604,6605,5478,4012,4837,6606,4534, -4193,5810,4857,3615,5479,6030,4082,3697,3539,4086,5270,3662,4508,4931,5916,4912, -5811,5027,3888,6607,4397,3527,3302,3798,2775,2921,2637,3966,4122,4388,4028,4054, -1633,4858,5079,3024,5007,3982,3412,5736,6608,3426,3236,5595,3030,6179,3427,3336, -3279,3110,6373,3874,3039,5080,5917,5140,4489,3119,6374,5812,3405,4494,6031,4666, -4141,6180,4166,6032,5813,4981,6609,5081,4422,4982,4112,3915,5653,3296,3983,6375, -4266,4410,5654,6610,6181,3436,5082,6611,5380,6033,3819,5596,4535,5231,5306,5113, -6612,4952,5918,4275,3113,6613,6376,6182,6183,5814,3073,4731,4838,5008,3831,6614, -4888,3090,3848,4280,5526,5232,3014,5655,5009,5737,5420,5527,6615,5815,5343,5173, -5381,4818,6616,3151,4953,6617,5738,2796,3204,4360,2989,4281,5739,5174,5421,5197, -3132,5141,3849,5142,5528,5083,3799,3904,4839,5480,2880,4495,3448,6377,6184,5271, -5919,3771,3193,6034,6035,5920,5010,6036,5597,6037,6378,6038,3106,5422,6618,5423, -5424,4142,6619,4889,5084,4890,4313,5740,6620,3437,5175,5307,5816,4199,5198,5529, -5817,5199,5656,4913,5028,5344,3850,6185,2955,5272,5011,5818,4567,4580,5029,5921, -3616,5233,6621,6622,6186,4176,6039,6379,6380,3352,5200,5273,2908,5598,5234,3837, -5308,6623,6624,5819,4496,4323,5309,5201,6625,6626,4983,3194,3838,4167,5530,5922, -5274,6381,6382,3860,3861,5599,3333,4292,4509,6383,3553,5481,5820,5531,4778,6187, -3955,3956,4324,4389,4218,3945,4325,3397,2681,5923,4779,5085,4019,5482,4891,5382, -5383,6040,4682,3425,5275,4094,6627,5310,3015,5483,5657,4398,5924,3168,4819,6628, -5925,6629,5532,4932,4613,6041,6630,4636,6384,4780,4204,5658,4423,5821,3989,4683, -5822,6385,4954,6631,5345,6188,5425,5012,5384,3894,6386,4490,4104,6632,5741,5053, -6633,5823,5926,5659,5660,5927,6634,5235,5742,5824,4840,4933,4820,6387,4859,5928, -4955,6388,4143,3584,5825,5346,5013,6635,5661,6389,5014,5484,5743,4337,5176,5662, -6390,2836,6391,3268,6392,6636,6042,5236,6637,4158,6638,5744,5663,4471,5347,3663, -4123,5143,4293,3895,6639,6640,5311,5929,5826,3800,6189,6393,6190,5664,5348,3554, -3594,4749,4603,6641,5385,4801,6043,5827,4183,6642,5312,5426,4761,6394,5665,6191, -4715,2669,6643,6644,5533,3185,5427,5086,5930,5931,5386,6192,6044,6645,4781,4013, -5745,4282,4435,5534,4390,4267,6045,5746,4984,6046,2743,6193,3501,4087,5485,5932, -5428,4184,4095,5747,4061,5054,3058,3862,5933,5600,6646,5144,3618,6395,3131,5055, -5313,6396,4650,4956,3855,6194,3896,5202,4985,4029,4225,6195,6647,5828,5486,5829, -3589,3002,6648,6397,4782,5276,6649,6196,6650,4105,3803,4043,5237,5830,6398,4096, -3643,6399,3528,6651,4453,3315,4637,6652,3984,6197,5535,3182,3339,6653,3096,2660, -6400,6654,3449,5934,4250,4236,6047,6401,5831,6655,5487,3753,4062,5832,6198,6199, -6656,3766,6657,3403,4667,6048,6658,4338,2897,5833,3880,2797,3780,4326,6659,5748, -5015,6660,5387,4351,5601,4411,6661,3654,4424,5935,4339,4072,5277,4568,5536,6402, -6662,5238,6663,5349,5203,6200,5204,6201,5145,4536,5016,5056,4762,5834,4399,4957, -6202,6403,5666,5749,6664,4340,6665,5936,5177,5667,6666,6667,3459,4668,6404,6668, -6669,4543,6203,6670,4276,6405,4480,5537,6671,4614,5205,5668,6672,3348,2193,4763, -6406,6204,5937,5602,4177,5669,3419,6673,4020,6205,4443,4569,5388,3715,3639,6407, -6049,4058,6206,6674,5938,4544,6050,4185,4294,4841,4651,4615,5488,6207,6408,6051, -5178,3241,3509,5835,6208,4958,5836,4341,5489,5278,6209,2823,5538,5350,5206,5429, -6675,4638,4875,4073,3516,4684,4914,4860,5939,5603,5389,6052,5057,3237,5490,3791, -6676,6409,6677,4821,4915,4106,5351,5058,4243,5539,4244,5604,4842,4916,5239,3028, -3716,5837,5114,5605,5390,5940,5430,6210,4332,6678,5540,4732,3667,3840,6053,4305, -3408,5670,5541,6410,2744,5240,5750,6679,3234,5606,6680,5607,5671,3608,4283,4159, -4400,5352,4783,6681,6411,6682,4491,4802,6211,6412,5941,6413,6414,5542,5751,6683, -4669,3734,5942,6684,6415,5943,5059,3328,4670,4144,4268,6685,6686,6687,6688,4372, -3603,6689,5944,5491,4373,3440,6416,5543,4784,4822,5608,3792,4616,5838,5672,3514, -5391,6417,4892,6690,4639,6691,6054,5673,5839,6055,6692,6056,5392,6212,4038,5544, -5674,4497,6057,6693,5840,4284,5675,4021,4545,5609,6418,4454,6419,6213,4113,4472, -5314,3738,5087,5279,4074,5610,4959,4063,3179,4750,6058,6420,6214,3476,4498,4716, -5431,4960,4685,6215,5241,6694,6421,6216,6695,5841,5945,6422,3748,5946,5179,3905, -5752,5545,5947,4374,6217,4455,6423,4412,6218,4803,5353,6696,3832,5280,6219,4327, -4702,6220,6221,6059,4652,5432,6424,3749,4751,6425,5753,4986,5393,4917,5948,5030, -5754,4861,4733,6426,4703,6697,6222,4671,5949,4546,4961,5180,6223,5031,3316,5281, -6698,4862,4295,4934,5207,3644,6427,5842,5950,6428,6429,4570,5843,5282,6430,6224, -5088,3239,6060,6699,5844,5755,6061,6431,2701,5546,6432,5115,5676,4039,3993,3327, -4752,4425,5315,6433,3941,6434,5677,4617,4604,3074,4581,6225,5433,6435,6226,6062, -4823,5756,5116,6227,3717,5678,4717,5845,6436,5679,5846,6063,5847,6064,3977,3354, -6437,3863,5117,6228,5547,5394,4499,4524,6229,4605,6230,4306,4500,6700,5951,6065, -3693,5952,5089,4366,4918,6701,6231,5548,6232,6702,6438,4704,5434,6703,6704,5953, -4168,6705,5680,3420,6706,5242,4407,6066,3812,5757,5090,5954,4672,4525,3481,5681, -4618,5395,5354,5316,5955,6439,4962,6707,4526,6440,3465,4673,6067,6441,5682,6708, -5435,5492,5758,5683,4619,4571,4674,4804,4893,4686,5493,4753,6233,6068,4269,6442, -6234,5032,4705,5146,5243,5208,5848,6235,6443,4963,5033,4640,4226,6236,5849,3387, -6444,6445,4436,4437,5850,4843,5494,4785,4894,6709,4361,6710,5091,5956,3331,6237, -4987,5549,6069,6711,4342,3517,4473,5317,6070,6712,6071,4706,6446,5017,5355,6713, -6714,4988,5436,6447,4734,5759,6715,4735,4547,4456,4754,6448,5851,6449,6450,3547, -5852,5318,6451,6452,5092,4205,6716,6238,4620,4219,5611,6239,6072,4481,5760,5957, -5958,4059,6240,6453,4227,4537,6241,5761,4030,4186,5244,5209,3761,4457,4876,3337, -5495,5181,6242,5959,5319,5612,5684,5853,3493,5854,6073,4169,5613,5147,4895,6074, -5210,6717,5182,6718,3830,6243,2798,3841,6075,6244,5855,5614,3604,4606,5496,5685, -5118,5356,6719,6454,5960,5357,5961,6720,4145,3935,4621,5119,5962,4261,6721,6455, -4786,5963,4375,4582,6245,6246,6247,6076,5437,4877,5856,3376,4380,6248,4160,6722, -5148,6456,5211,6457,6723,4718,6458,6724,6249,5358,4044,3297,6459,6250,5857,5615, -5497,5245,6460,5498,6725,6251,6252,5550,3793,5499,2959,5396,6461,6462,4572,5093, -5500,5964,3806,4146,6463,4426,5762,5858,6077,6253,4755,3967,4220,5965,6254,4989, -5501,6464,4352,6726,6078,4764,2290,5246,3906,5438,5283,3767,4964,2861,5763,5094, -6255,6256,4622,5616,5859,5860,4707,6727,4285,4708,4824,5617,6257,5551,4787,5212, -4965,4935,4687,6465,6728,6466,5686,6079,3494,4413,2995,5247,5966,5618,6729,5967, -5764,5765,5687,5502,6730,6731,6080,5397,6467,4990,6258,6732,4538,5060,5619,6733, -4719,5688,5439,5018,5149,5284,5503,6734,6081,4607,6259,5120,3645,5861,4583,6260, -4584,4675,5620,4098,5440,6261,4863,2379,3306,4585,5552,5689,4586,5285,6735,4864, -6736,5286,6082,6737,4623,3010,4788,4381,4558,5621,4587,4896,3698,3161,5248,4353, -4045,6262,3754,5183,4588,6738,6263,6739,6740,5622,3936,6741,6468,6742,6264,5095, -6469,4991,5968,6743,4992,6744,6083,4897,6745,4256,5766,4307,3108,3968,4444,5287, -3889,4343,6084,4510,6085,4559,6086,4898,5969,6746,5623,5061,4919,5249,5250,5504, -5441,6265,5320,4878,3242,5862,5251,3428,6087,6747,4237,5624,5442,6266,5553,4539, -6748,2585,3533,5398,4262,6088,5150,4736,4438,6089,6267,5505,4966,6749,6268,6750, -6269,5288,5554,3650,6090,6091,4624,6092,5690,6751,5863,4270,5691,4277,5555,5864, -6752,5692,4720,4865,6470,5151,4688,4825,6753,3094,6754,6471,3235,4653,6755,5213, -5399,6756,3201,4589,5865,4967,6472,5866,6473,5019,3016,6757,5321,4756,3957,4573, -6093,4993,5767,4721,6474,6758,5625,6759,4458,6475,6270,6760,5556,4994,5214,5252, -6271,3875,5768,6094,5034,5506,4376,5769,6761,2120,6476,5253,5770,6762,5771,5970, -3990,5971,5557,5558,5772,6477,6095,2787,4641,5972,5121,6096,6097,6272,6763,3703, -5867,5507,6273,4206,6274,4789,6098,6764,3619,3646,3833,3804,2394,3788,4936,3978, -4866,4899,6099,6100,5559,6478,6765,3599,5868,6101,5869,5870,6275,6766,4527,6767) - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/gb2312prober.py b/lib27/site-packages/requests/packages/chardet/gb2312prober.py deleted file mode 100644 index 0325a2d86..000000000 --- a/lib27/site-packages/requests/packages/chardet/gb2312prober.py +++ /dev/null @@ -1,41 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import GB2312DistributionAnalysis -from .mbcssm import GB2312SMModel - -class GB2312Prober(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(GB2312SMModel) - self._mDistributionAnalyzer = GB2312DistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "GB2312" diff --git a/lib27/site-packages/requests/packages/chardet/hebrewprober.py b/lib27/site-packages/requests/packages/chardet/hebrewprober.py deleted file mode 100644 index ba225c5ef..000000000 --- a/lib27/site-packages/requests/packages/chardet/hebrewprober.py +++ /dev/null @@ -1,283 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Shy Shalom -# Portions created by the Initial Developer are Copyright (C) 2005 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .constants import eNotMe, eDetecting -from .compat import wrap_ord - -# This prober doesn't actually recognize a language or a charset. -# It is a helper prober for the use of the Hebrew model probers - -### General ideas of the Hebrew charset recognition ### -# -# Four main charsets exist in Hebrew: -# "ISO-8859-8" - Visual Hebrew -# "windows-1255" - Logical Hebrew -# "ISO-8859-8-I" - Logical Hebrew -# "x-mac-hebrew" - ?? Logical Hebrew ?? -# -# Both "ISO" charsets use a completely identical set of code points, whereas -# "windows-1255" and "x-mac-hebrew" are two different proper supersets of -# these code points. windows-1255 defines additional characters in the range -# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific -# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. -# x-mac-hebrew defines similar additional code points but with a different -# mapping. -# -# As far as an average Hebrew text with no diacritics is concerned, all four -# charsets are identical with respect to code points. Meaning that for the -# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters -# (including final letters). -# -# The dominant difference between these charsets is their directionality. -# "Visual" directionality means that the text is ordered as if the renderer is -# not aware of a BIDI rendering algorithm. The renderer sees the text and -# draws it from left to right. The text itself when ordered naturally is read -# backwards. A buffer of Visual Hebrew generally looks like so: -# "[last word of first line spelled backwards] [whole line ordered backwards -# and spelled backwards] [first word of first line spelled backwards] -# [end of line] [last word of second line] ... etc' " -# adding punctuation marks, numbers and English text to visual text is -# naturally also "visual" and from left to right. -# -# "Logical" directionality means the text is ordered "naturally" according to -# the order it is read. It is the responsibility of the renderer to display -# the text from right to left. A BIDI algorithm is used to place general -# punctuation marks, numbers and English text in the text. -# -# Texts in x-mac-hebrew are almost impossible to find on the Internet. From -# what little evidence I could find, it seems that its general directionality -# is Logical. -# -# To sum up all of the above, the Hebrew probing mechanism knows about two -# charsets: -# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are -# backwards while line order is natural. For charset recognition purposes -# the line order is unimportant (In fact, for this implementation, even -# word order is unimportant). -# Logical Hebrew - "windows-1255" - normal, naturally ordered text. -# -# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be -# specifically identified. -# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew -# that contain special punctuation marks or diacritics is displayed with -# some unconverted characters showing as question marks. This problem might -# be corrected using another model prober for x-mac-hebrew. Due to the fact -# that x-mac-hebrew texts are so rare, writing another model prober isn't -# worth the effort and performance hit. -# -#### The Prober #### -# -# The prober is divided between two SBCharSetProbers and a HebrewProber, -# all of which are managed, created, fed data, inquired and deleted by the -# SBCSGroupProber. The two SBCharSetProbers identify that the text is in -# fact some kind of Hebrew, Logical or Visual. The final decision about which -# one is it is made by the HebrewProber by combining final-letter scores -# with the scores of the two SBCharSetProbers to produce a final answer. -# -# The SBCSGroupProber is responsible for stripping the original text of HTML -# tags, English characters, numbers, low-ASCII punctuation characters, spaces -# and new lines. It reduces any sequence of such characters to a single space. -# The buffer fed to each prober in the SBCS group prober is pure text in -# high-ASCII. -# The two SBCharSetProbers (model probers) share the same language model: -# Win1255Model. -# The first SBCharSetProber uses the model normally as any other -# SBCharSetProber does, to recognize windows-1255, upon which this model was -# built. The second SBCharSetProber is told to make the pair-of-letter -# lookup in the language model backwards. This in practice exactly simulates -# a visual Hebrew model using the windows-1255 logical Hebrew model. -# -# The HebrewProber is not using any language model. All it does is look for -# final-letter evidence suggesting the text is either logical Hebrew or visual -# Hebrew. Disjointed from the model probers, the results of the HebrewProber -# alone are meaningless. HebrewProber always returns 0.00 as confidence -# since it never identifies a charset by itself. Instead, the pointer to the -# HebrewProber is passed to the model probers as a helper "Name Prober". -# When the Group prober receives a positive identification from any prober, -# it asks for the name of the charset identified. If the prober queried is a -# Hebrew model prober, the model prober forwards the call to the -# HebrewProber to make the final decision. In the HebrewProber, the -# decision is made according to the final-letters scores maintained and Both -# model probers scores. The answer is returned in the form of the name of the -# charset identified, either "windows-1255" or "ISO-8859-8". - -# windows-1255 / ISO-8859-8 code points of interest -FINAL_KAF = 0xea -NORMAL_KAF = 0xeb -FINAL_MEM = 0xed -NORMAL_MEM = 0xee -FINAL_NUN = 0xef -NORMAL_NUN = 0xf0 -FINAL_PE = 0xf3 -NORMAL_PE = 0xf4 -FINAL_TSADI = 0xf5 -NORMAL_TSADI = 0xf6 - -# Minimum Visual vs Logical final letter score difference. -# If the difference is below this, don't rely solely on the final letter score -# distance. -MIN_FINAL_CHAR_DISTANCE = 5 - -# Minimum Visual vs Logical model score difference. -# If the difference is below this, don't rely at all on the model score -# distance. -MIN_MODEL_DISTANCE = 0.01 - -VISUAL_HEBREW_NAME = "ISO-8859-8" -LOGICAL_HEBREW_NAME = "windows-1255" - - -class HebrewProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mLogicalProber = None - self._mVisualProber = None - self.reset() - - def reset(self): - self._mFinalCharLogicalScore = 0 - self._mFinalCharVisualScore = 0 - # The two last characters seen in the previous buffer, - # mPrev and mBeforePrev are initialized to space in order to simulate - # a word delimiter at the beginning of the data - self._mPrev = ' ' - self._mBeforePrev = ' ' - # These probers are owned by the group prober. - - def set_model_probers(self, logicalProber, visualProber): - self._mLogicalProber = logicalProber - self._mVisualProber = visualProber - - def is_final(self, c): - return wrap_ord(c) in [FINAL_KAF, FINAL_MEM, FINAL_NUN, FINAL_PE, - FINAL_TSADI] - - def is_non_final(self, c): - # The normal Tsadi is not a good Non-Final letter due to words like - # 'lechotet' (to chat) containing an apostrophe after the tsadi. This - # apostrophe is converted to a space in FilterWithoutEnglishLetters - # causing the Non-Final tsadi to appear at an end of a word even - # though this is not the case in the original text. - # The letters Pe and Kaf rarely display a related behavior of not being - # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' - # for example legally end with a Non-Final Pe or Kaf. However, the - # benefit of these letters as Non-Final letters outweighs the damage - # since these words are quite rare. - return wrap_ord(c) in [NORMAL_KAF, NORMAL_MEM, NORMAL_NUN, NORMAL_PE] - - def feed(self, aBuf): - # Final letter analysis for logical-visual decision. - # Look for evidence that the received buffer is either logical Hebrew - # or visual Hebrew. - # The following cases are checked: - # 1) A word longer than 1 letter, ending with a final letter. This is - # an indication that the text is laid out "naturally" since the - # final letter really appears at the end. +1 for logical score. - # 2) A word longer than 1 letter, ending with a Non-Final letter. In - # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, - # should not end with the Non-Final form of that letter. Exceptions - # to this rule are mentioned above in isNonFinal(). This is an - # indication that the text is laid out backwards. +1 for visual - # score - # 3) A word longer than 1 letter, starting with a final letter. Final - # letters should not appear at the beginning of a word. This is an - # indication that the text is laid out backwards. +1 for visual - # score. - # - # The visual score and logical score are accumulated throughout the - # text and are finally checked against each other in GetCharSetName(). - # No checking for final letters in the middle of words is done since - # that case is not an indication for either Logical or Visual text. - # - # We automatically filter out all 7-bit characters (replace them with - # spaces) so the word boundary detection works properly. [MAP] - - if self.get_state() == eNotMe: - # Both model probers say it's not them. No reason to continue. - return eNotMe - - aBuf = self.filter_high_bit_only(aBuf) - - for cur in aBuf: - if cur == ' ': - # We stand on a space - a word just ended - if self._mBeforePrev != ' ': - # next-to-last char was not a space so self._mPrev is not a - # 1 letter word - if self.is_final(self._mPrev): - # case (1) [-2:not space][-1:final letter][cur:space] - self._mFinalCharLogicalScore += 1 - elif self.is_non_final(self._mPrev): - # case (2) [-2:not space][-1:Non-Final letter][ - # cur:space] - self._mFinalCharVisualScore += 1 - else: - # Not standing on a space - if ((self._mBeforePrev == ' ') and - (self.is_final(self._mPrev)) and (cur != ' ')): - # case (3) [-2:space][-1:final letter][cur:not space] - self._mFinalCharVisualScore += 1 - self._mBeforePrev = self._mPrev - self._mPrev = cur - - # Forever detecting, till the end or until both model probers return - # eNotMe (handled above) - return eDetecting - - def get_charset_name(self): - # Make the decision: is it Logical or Visual? - # If the final letter score distance is dominant enough, rely on it. - finalsub = self._mFinalCharLogicalScore - self._mFinalCharVisualScore - if finalsub >= MIN_FINAL_CHAR_DISTANCE: - return LOGICAL_HEBREW_NAME - if finalsub <= -MIN_FINAL_CHAR_DISTANCE: - return VISUAL_HEBREW_NAME - - # It's not dominant enough, try to rely on the model scores instead. - modelsub = (self._mLogicalProber.get_confidence() - - self._mVisualProber.get_confidence()) - if modelsub > MIN_MODEL_DISTANCE: - return LOGICAL_HEBREW_NAME - if modelsub < -MIN_MODEL_DISTANCE: - return VISUAL_HEBREW_NAME - - # Still no good, back to final letter distance, maybe it'll save the - # day. - if finalsub < 0.0: - return VISUAL_HEBREW_NAME - - # (finalsub > 0 - Logical) or (don't know what to do) default to - # Logical. - return LOGICAL_HEBREW_NAME - - def get_state(self): - # Remain active as long as any of the model probers are active. - if (self._mLogicalProber.get_state() == eNotMe) and \ - (self._mVisualProber.get_state() == eNotMe): - return eNotMe - return eDetecting diff --git a/lib27/site-packages/requests/packages/chardet/jisfreq.py b/lib27/site-packages/requests/packages/chardet/jisfreq.py deleted file mode 100644 index 064345b08..000000000 --- a/lib27/site-packages/requests/packages/chardet/jisfreq.py +++ /dev/null @@ -1,569 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Sampling from about 20M text materials include literature and computer technology -# -# Japanese frequency table, applied to both S-JIS and EUC-JP -# They are sorted in order. - -# 128 --> 0.77094 -# 256 --> 0.85710 -# 512 --> 0.92635 -# 1024 --> 0.97130 -# 2048 --> 0.99431 -# -# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 -# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 -# -# Typical Distribution Ratio, 25% of IDR - -JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 - -# Char to FreqOrder table , -JIS_TABLE_SIZE = 4368 - -JISCharToFreqOrder = ( - 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 -3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 -1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 -2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 -2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 -5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 -1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 -5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 -5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 -5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 -5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 -5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 -5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 -1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 -1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 -1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 -2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 -3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 -3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 - 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 - 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 -1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 - 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 -5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 - 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 - 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 - 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 - 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 - 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 -5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 -5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 -5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 -4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 -5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 -5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 -5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 -5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 -5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 -5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 -5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 -5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 -5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 -3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 -5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 -5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 -5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 -5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 -5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 -5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 -5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 -5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 -5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 -5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 -5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 -5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 -5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 -5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 -5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 -5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 -5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 -5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 -5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 -5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 -5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 -5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 -5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 -5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 -5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 -5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 -5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 -5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 -5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 -5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 -5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 -5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 -5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 -5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 -5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 -5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 -5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 -5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 -6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 -6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 -6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 -6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 -6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 -6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 -6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 -6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 -4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 - 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 - 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 -1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 -1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 - 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 -3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 -3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 - 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 -3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 -3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 - 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 -2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 - 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 -3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 -1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 - 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 -1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 - 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 -2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 -2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 -2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 -2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 -1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 -1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 -1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 -1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 -2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 -1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 -2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 -1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 -1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 -1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 -1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 -1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 -1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 - 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 - 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 -1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 -2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 -2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 -2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 -3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 -3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 - 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 -3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 -1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 - 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 -2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 -1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 - 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 -3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 -4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 -2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 -1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 -2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 -1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 - 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 - 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 -1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 -2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 -2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 -2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 -3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 -1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 -2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 - 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 - 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 - 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 -1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 -2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 - 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 -1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 -1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 - 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 -1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 -1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 -1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 - 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 -2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 - 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 -2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 -3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 -2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 -1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 -6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 -1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 -2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 -1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 - 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 - 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 -3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 -3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 -1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 -1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 -1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 -1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 - 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 - 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 -2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 - 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 -3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 -2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 - 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 -1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 -2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 - 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 -1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 - 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 -4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 -2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 -1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 - 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 -1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 -2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 - 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 -6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 -1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 -1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 -2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 -3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 - 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 -3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 -1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 - 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 -1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 - 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 -3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 - 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 -2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 - 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 -4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 -2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 -1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 -1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 -1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 - 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 -1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 -3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 -1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 -3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 - 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 - 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 - 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 -2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 -1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 - 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 -1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 - 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 -1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 - 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 - 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 - 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 -1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 -1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 -2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 -4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 - 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 -1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 - 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 -1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 -3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 -1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 -2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 -2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 -1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 -1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 -2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 - 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 -2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 -1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 -1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 -1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 -1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 -3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 -2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 -2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 - 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 -3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 -3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 -1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 -2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 -1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 -2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 -#Everything below is of no interest for detection purpose -2138,2122,3730,2888,1995,1820,1044,6190,6191,6192,6193,6194,6195,6196,6197,6198, # 4384 -6199,6200,6201,6202,6203,6204,6205,4670,6206,6207,6208,6209,6210,6211,6212,6213, # 4400 -6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,6224,6225,6226,6227,6228,6229, # 4416 -6230,6231,6232,6233,6234,6235,6236,6237,3187,6238,6239,3969,6240,6241,6242,6243, # 4432 -6244,4671,6245,6246,4672,6247,6248,4133,6249,6250,4364,6251,2923,2556,2613,4673, # 4448 -4365,3970,6252,6253,6254,6255,4674,6256,6257,6258,2768,2353,4366,4675,4676,3188, # 4464 -4367,3463,6259,4134,4677,4678,6260,2267,6261,3842,3332,4368,3543,6262,6263,6264, # 4480 -3013,1954,1928,4135,4679,6265,6266,2478,3091,6267,4680,4369,6268,6269,1699,6270, # 4496 -3544,4136,4681,6271,4137,6272,4370,2804,6273,6274,2593,3971,3972,4682,6275,2236, # 4512 -4683,6276,6277,4684,6278,6279,4138,3973,4685,6280,6281,3258,6282,6283,6284,6285, # 4528 -3974,4686,2841,3975,6286,6287,3545,6288,6289,4139,4687,4140,6290,4141,6291,4142, # 4544 -6292,6293,3333,6294,6295,6296,4371,6297,3399,6298,6299,4372,3976,6300,6301,6302, # 4560 -4373,6303,6304,3843,3731,6305,4688,4374,6306,6307,3259,2294,6308,3732,2530,4143, # 4576 -6309,4689,6310,6311,6312,3048,6313,6314,4690,3733,2237,6315,6316,2282,3334,6317, # 4592 -6318,3844,6319,6320,4691,6321,3400,4692,6322,4693,6323,3049,6324,4375,6325,3977, # 4608 -6326,6327,6328,3546,6329,4694,3335,6330,4695,4696,6331,6332,6333,6334,4376,3978, # 4624 -6335,4697,3979,4144,6336,3980,4698,6337,6338,6339,6340,6341,4699,4700,4701,6342, # 4640 -6343,4702,6344,6345,4703,6346,6347,4704,6348,4705,4706,3135,6349,4707,6350,4708, # 4656 -6351,4377,6352,4709,3734,4145,6353,2506,4710,3189,6354,3050,4711,3981,6355,3547, # 4672 -3014,4146,4378,3735,2651,3845,3260,3136,2224,1986,6356,3401,6357,4712,2594,3627, # 4688 -3137,2573,3736,3982,4713,3628,4714,4715,2682,3629,4716,6358,3630,4379,3631,6359, # 4704 -6360,6361,3983,6362,6363,6364,6365,4147,3846,4717,6366,6367,3737,2842,6368,4718, # 4720 -2628,6369,3261,6370,2386,6371,6372,3738,3984,4719,3464,4720,3402,6373,2924,3336, # 4736 -4148,2866,6374,2805,3262,4380,2704,2069,2531,3138,2806,2984,6375,2769,6376,4721, # 4752 -4722,3403,6377,6378,3548,6379,6380,2705,3092,1979,4149,2629,3337,2889,6381,3338, # 4768 -4150,2557,3339,4381,6382,3190,3263,3739,6383,4151,4723,4152,2558,2574,3404,3191, # 4784 -6384,6385,4153,6386,4724,4382,6387,6388,4383,6389,6390,4154,6391,4725,3985,6392, # 4800 -3847,4155,6393,6394,6395,6396,6397,3465,6398,4384,6399,6400,6401,6402,6403,6404, # 4816 -4156,6405,6406,6407,6408,2123,6409,6410,2326,3192,4726,6411,6412,6413,6414,4385, # 4832 -4157,6415,6416,4158,6417,3093,3848,6418,3986,6419,6420,3849,6421,6422,6423,4159, # 4848 -6424,6425,4160,6426,3740,6427,6428,6429,6430,3987,6431,4727,6432,2238,6433,6434, # 4864 -4386,3988,6435,6436,3632,6437,6438,2843,6439,6440,6441,6442,3633,6443,2958,6444, # 4880 -6445,3466,6446,2364,4387,3850,6447,4388,2959,3340,6448,3851,6449,4728,6450,6451, # 4896 -3264,4729,6452,3193,6453,4389,4390,2706,3341,4730,6454,3139,6455,3194,6456,3051, # 4912 -2124,3852,1602,4391,4161,3853,1158,3854,4162,3989,4392,3990,4731,4732,4393,2040, # 4928 -4163,4394,3265,6457,2807,3467,3855,6458,6459,6460,3991,3468,4733,4734,6461,3140, # 4944 -2960,6462,4735,6463,6464,6465,6466,4736,4737,4738,4739,6467,6468,4164,2403,3856, # 4960 -6469,6470,2770,2844,6471,4740,6472,6473,6474,6475,6476,6477,6478,3195,6479,4741, # 4976 -4395,6480,2867,6481,4742,2808,6482,2493,4165,6483,6484,6485,6486,2295,4743,6487, # 4992 -6488,6489,3634,6490,6491,6492,6493,6494,6495,6496,2985,4744,6497,6498,4745,6499, # 5008 -6500,2925,3141,4166,6501,6502,4746,6503,6504,4747,6505,6506,6507,2890,6508,6509, # 5024 -6510,6511,6512,6513,6514,6515,6516,6517,6518,6519,3469,4167,6520,6521,6522,4748, # 5040 -4396,3741,4397,4749,4398,3342,2125,4750,6523,4751,4752,4753,3052,6524,2961,4168, # 5056 -6525,4754,6526,4755,4399,2926,4169,6527,3857,6528,4400,4170,6529,4171,6530,6531, # 5072 -2595,6532,6533,6534,6535,3635,6536,6537,6538,6539,6540,6541,6542,4756,6543,6544, # 5088 -6545,6546,6547,6548,4401,6549,6550,6551,6552,4402,3405,4757,4403,6553,6554,6555, # 5104 -4172,3742,6556,6557,6558,3992,3636,6559,6560,3053,2726,6561,3549,4173,3054,4404, # 5120 -6562,6563,3993,4405,3266,3550,2809,4406,6564,6565,6566,4758,4759,6567,3743,6568, # 5136 -4760,3744,4761,3470,6569,6570,6571,4407,6572,3745,4174,6573,4175,2810,4176,3196, # 5152 -4762,6574,4177,6575,6576,2494,2891,3551,6577,6578,3471,6579,4408,6580,3015,3197, # 5168 -6581,3343,2532,3994,3858,6582,3094,3406,4409,6583,2892,4178,4763,4410,3016,4411, # 5184 -6584,3995,3142,3017,2683,6585,4179,6586,6587,4764,4412,6588,6589,4413,6590,2986, # 5200 -6591,2962,3552,6592,2963,3472,6593,6594,4180,4765,6595,6596,2225,3267,4414,6597, # 5216 -3407,3637,4766,6598,6599,3198,6600,4415,6601,3859,3199,6602,3473,4767,2811,4416, # 5232 -1856,3268,3200,2575,3996,3997,3201,4417,6603,3095,2927,6604,3143,6605,2268,6606, # 5248 -3998,3860,3096,2771,6607,6608,3638,2495,4768,6609,3861,6610,3269,2745,4769,4181, # 5264 -3553,6611,2845,3270,6612,6613,6614,3862,6615,6616,4770,4771,6617,3474,3999,4418, # 5280 -4419,6618,3639,3344,6619,4772,4182,6620,2126,6621,6622,6623,4420,4773,6624,3018, # 5296 -6625,4774,3554,6626,4183,2025,3746,6627,4184,2707,6628,4421,4422,3097,1775,4185, # 5312 -3555,6629,6630,2868,6631,6632,4423,6633,6634,4424,2414,2533,2928,6635,4186,2387, # 5328 -6636,4775,6637,4187,6638,1891,4425,3202,3203,6639,6640,4776,6641,3345,6642,6643, # 5344 -3640,6644,3475,3346,3641,4000,6645,3144,6646,3098,2812,4188,3642,3204,6647,3863, # 5360 -3476,6648,3864,6649,4426,4001,6650,6651,6652,2576,6653,4189,4777,6654,6655,6656, # 5376 -2846,6657,3477,3205,4002,6658,4003,6659,3347,2252,6660,6661,6662,4778,6663,6664, # 5392 -6665,6666,6667,6668,6669,4779,4780,2048,6670,3478,3099,6671,3556,3747,4004,6672, # 5408 -6673,6674,3145,4005,3748,6675,6676,6677,6678,6679,3408,6680,6681,6682,6683,3206, # 5424 -3207,6684,6685,4781,4427,6686,4782,4783,4784,6687,6688,6689,4190,6690,6691,3479, # 5440 -6692,2746,6693,4428,6694,6695,6696,6697,6698,6699,4785,6700,6701,3208,2727,6702, # 5456 -3146,6703,6704,3409,2196,6705,4429,6706,6707,6708,2534,1996,6709,6710,6711,2747, # 5472 -6712,6713,6714,4786,3643,6715,4430,4431,6716,3557,6717,4432,4433,6718,6719,6720, # 5488 -6721,3749,6722,4006,4787,6723,6724,3644,4788,4434,6725,6726,4789,2772,6727,6728, # 5504 -6729,6730,6731,2708,3865,2813,4435,6732,6733,4790,4791,3480,6734,6735,6736,6737, # 5520 -4436,3348,6738,3410,4007,6739,6740,4008,6741,6742,4792,3411,4191,6743,6744,6745, # 5536 -6746,6747,3866,6748,3750,6749,6750,6751,6752,6753,6754,6755,3867,6756,4009,6757, # 5552 -4793,4794,6758,2814,2987,6759,6760,6761,4437,6762,6763,6764,6765,3645,6766,6767, # 5568 -3481,4192,6768,3751,6769,6770,2174,6771,3868,3752,6772,6773,6774,4193,4795,4438, # 5584 -3558,4796,4439,6775,4797,6776,6777,4798,6778,4799,3559,4800,6779,6780,6781,3482, # 5600 -6782,2893,6783,6784,4194,4801,4010,6785,6786,4440,6787,4011,6788,6789,6790,6791, # 5616 -6792,6793,4802,6794,6795,6796,4012,6797,6798,6799,6800,3349,4803,3483,6801,4804, # 5632 -4195,6802,4013,6803,6804,4196,6805,4014,4015,6806,2847,3271,2848,6807,3484,6808, # 5648 -6809,6810,4441,6811,4442,4197,4443,3272,4805,6812,3412,4016,1579,6813,6814,4017, # 5664 -6815,3869,6816,2964,6817,4806,6818,6819,4018,3646,6820,6821,4807,4019,4020,6822, # 5680 -6823,3560,6824,6825,4021,4444,6826,4198,6827,6828,4445,6829,6830,4199,4808,6831, # 5696 -6832,6833,3870,3019,2458,6834,3753,3413,3350,6835,4809,3871,4810,3561,4446,6836, # 5712 -6837,4447,4811,4812,6838,2459,4448,6839,4449,6840,6841,4022,3872,6842,4813,4814, # 5728 -6843,6844,4815,4200,4201,4202,6845,4023,6846,6847,4450,3562,3873,6848,6849,4816, # 5744 -4817,6850,4451,4818,2139,6851,3563,6852,6853,3351,6854,6855,3352,4024,2709,3414, # 5760 -4203,4452,6856,4204,6857,6858,3874,3875,6859,6860,4819,6861,6862,6863,6864,4453, # 5776 -3647,6865,6866,4820,6867,6868,6869,6870,4454,6871,2869,6872,6873,4821,6874,3754, # 5792 -6875,4822,4205,6876,6877,6878,3648,4206,4455,6879,4823,6880,4824,3876,6881,3055, # 5808 -4207,6882,3415,6883,6884,6885,4208,4209,6886,4210,3353,6887,3354,3564,3209,3485, # 5824 -2652,6888,2728,6889,3210,3755,6890,4025,4456,6891,4825,6892,6893,6894,6895,4211, # 5840 -6896,6897,6898,4826,6899,6900,4212,6901,4827,6902,2773,3565,6903,4828,6904,6905, # 5856 -6906,6907,3649,3650,6908,2849,3566,6909,3567,3100,6910,6911,6912,6913,6914,6915, # 5872 -4026,6916,3355,4829,3056,4457,3756,6917,3651,6918,4213,3652,2870,6919,4458,6920, # 5888 -2438,6921,6922,3757,2774,4830,6923,3356,4831,4832,6924,4833,4459,3653,2507,6925, # 5904 -4834,2535,6926,6927,3273,4027,3147,6928,3568,6929,6930,6931,4460,6932,3877,4461, # 5920 -2729,3654,6933,6934,6935,6936,2175,4835,2630,4214,4028,4462,4836,4215,6937,3148, # 5936 -4216,4463,4837,4838,4217,6938,6939,2850,4839,6940,4464,6941,6942,6943,4840,6944, # 5952 -4218,3274,4465,6945,6946,2710,6947,4841,4466,6948,6949,2894,6950,6951,4842,6952, # 5968 -4219,3057,2871,6953,6954,6955,6956,4467,6957,2711,6958,6959,6960,3275,3101,4843, # 5984 -6961,3357,3569,6962,4844,6963,6964,4468,4845,3570,6965,3102,4846,3758,6966,4847, # 6000 -3878,4848,4849,4029,6967,2929,3879,4850,4851,6968,6969,1733,6970,4220,6971,6972, # 6016 -6973,6974,6975,6976,4852,6977,6978,6979,6980,6981,6982,3759,6983,6984,6985,3486, # 6032 -3487,6986,3488,3416,6987,6988,6989,6990,6991,6992,6993,6994,6995,6996,6997,4853, # 6048 -6998,6999,4030,7000,7001,3211,7002,7003,4221,7004,7005,3571,4031,7006,3572,7007, # 6064 -2614,4854,2577,7008,7009,2965,3655,3656,4855,2775,3489,3880,4222,4856,3881,4032, # 6080 -3882,3657,2730,3490,4857,7010,3149,7011,4469,4858,2496,3491,4859,2283,7012,7013, # 6096 -7014,2365,4860,4470,7015,7016,3760,7017,7018,4223,1917,7019,7020,7021,4471,7022, # 6112 -2776,4472,7023,7024,7025,7026,4033,7027,3573,4224,4861,4034,4862,7028,7029,1929, # 6128 -3883,4035,7030,4473,3058,7031,2536,3761,3884,7032,4036,7033,2966,2895,1968,4474, # 6144 -3276,4225,3417,3492,4226,2105,7034,7035,1754,2596,3762,4227,4863,4475,3763,4864, # 6160 -3764,2615,2777,3103,3765,3658,3418,4865,2296,3766,2815,7036,7037,7038,3574,2872, # 6176 -3277,4476,7039,4037,4477,7040,7041,4038,7042,7043,7044,7045,7046,7047,2537,7048, # 6192 -7049,7050,7051,7052,7053,7054,4478,7055,7056,3767,3659,4228,3575,7057,7058,4229, # 6208 -7059,7060,7061,3660,7062,3212,7063,3885,4039,2460,7064,7065,7066,7067,7068,7069, # 6224 -7070,7071,7072,7073,7074,4866,3768,4867,7075,7076,7077,7078,4868,3358,3278,2653, # 6240 -7079,7080,4479,3886,7081,7082,4869,7083,7084,7085,7086,7087,7088,2538,7089,7090, # 6256 -7091,4040,3150,3769,4870,4041,2896,3359,4230,2930,7092,3279,7093,2967,4480,3213, # 6272 -4481,3661,7094,7095,7096,7097,7098,7099,7100,7101,7102,2461,3770,7103,7104,4231, # 6288 -3151,7105,7106,7107,4042,3662,7108,7109,4871,3663,4872,4043,3059,7110,7111,7112, # 6304 -3493,2988,7113,4873,7114,7115,7116,3771,4874,7117,7118,4232,4875,7119,3576,2336, # 6320 -4876,7120,4233,3419,4044,4877,4878,4482,4483,4879,4484,4234,7121,3772,4880,1045, # 6336 -3280,3664,4881,4882,7122,7123,7124,7125,4883,7126,2778,7127,4485,4486,7128,4884, # 6352 -3214,3887,7129,7130,3215,7131,4885,4045,7132,7133,4046,7134,7135,7136,7137,7138, # 6368 -7139,7140,7141,7142,7143,4235,7144,4886,7145,7146,7147,4887,7148,7149,7150,4487, # 6384 -4047,4488,7151,7152,4888,4048,2989,3888,7153,3665,7154,4049,7155,7156,7157,7158, # 6400 -7159,7160,2931,4889,4890,4489,7161,2631,3889,4236,2779,7162,7163,4891,7164,3060, # 6416 -7165,1672,4892,7166,4893,4237,3281,4894,7167,7168,3666,7169,3494,7170,7171,4050, # 6432 -7172,7173,3104,3360,3420,4490,4051,2684,4052,7174,4053,7175,7176,7177,2253,4054, # 6448 -7178,7179,4895,7180,3152,3890,3153,4491,3216,7181,7182,7183,2968,4238,4492,4055, # 6464 -7184,2990,7185,2479,7186,7187,4493,7188,7189,7190,7191,7192,4896,7193,4897,2969, # 6480 -4494,4898,7194,3495,7195,7196,4899,4495,7197,3105,2731,7198,4900,7199,7200,7201, # 6496 -4056,7202,3361,7203,7204,4496,4901,4902,7205,4497,7206,7207,2315,4903,7208,4904, # 6512 -7209,4905,2851,7210,7211,3577,7212,3578,4906,7213,4057,3667,4907,7214,4058,2354, # 6528 -3891,2376,3217,3773,7215,7216,7217,7218,7219,4498,7220,4908,3282,2685,7221,3496, # 6544 -4909,2632,3154,4910,7222,2337,7223,4911,7224,7225,7226,4912,4913,3283,4239,4499, # 6560 -7227,2816,7228,7229,7230,7231,7232,7233,7234,4914,4500,4501,7235,7236,7237,2686, # 6576 -7238,4915,7239,2897,4502,7240,4503,7241,2516,7242,4504,3362,3218,7243,7244,7245, # 6592 -4916,7246,7247,4505,3363,7248,7249,7250,7251,3774,4506,7252,7253,4917,7254,7255, # 6608 -3284,2991,4918,4919,3219,3892,4920,3106,3497,4921,7256,7257,7258,4922,7259,4923, # 6624 -3364,4507,4508,4059,7260,4240,3498,7261,7262,4924,7263,2992,3893,4060,3220,7264, # 6640 -7265,7266,7267,7268,7269,4509,3775,7270,2817,7271,4061,4925,4510,3776,7272,4241, # 6656 -4511,3285,7273,7274,3499,7275,7276,7277,4062,4512,4926,7278,3107,3894,7279,7280, # 6672 -4927,7281,4513,7282,7283,3668,7284,7285,4242,4514,4243,7286,2058,4515,4928,4929, # 6688 -4516,7287,3286,4244,7288,4517,7289,7290,7291,3669,7292,7293,4930,4931,4932,2355, # 6704 -4933,7294,2633,4518,7295,4245,7296,7297,4519,7298,7299,4520,4521,4934,7300,4246, # 6720 -4522,7301,7302,7303,3579,7304,4247,4935,7305,4936,7306,7307,7308,7309,3777,7310, # 6736 -4523,7311,7312,7313,4248,3580,7314,4524,3778,4249,7315,3581,7316,3287,7317,3221, # 6752 -7318,4937,7319,7320,7321,7322,7323,7324,4938,4939,7325,4525,7326,7327,7328,4063, # 6768 -7329,7330,4940,7331,7332,4941,7333,4526,7334,3500,2780,1741,4942,2026,1742,7335, # 6784 -7336,3582,4527,2388,7337,7338,7339,4528,7340,4250,4943,7341,7342,7343,4944,7344, # 6800 -7345,7346,3020,7347,4945,7348,7349,7350,7351,3895,7352,3896,4064,3897,7353,7354, # 6816 -7355,4251,7356,7357,3898,7358,3779,7359,3780,3288,7360,7361,4529,7362,4946,4530, # 6832 -2027,7363,3899,4531,4947,3222,3583,7364,4948,7365,7366,7367,7368,4949,3501,4950, # 6848 -3781,4951,4532,7369,2517,4952,4252,4953,3155,7370,4954,4955,4253,2518,4533,7371, # 6864 -7372,2712,4254,7373,7374,7375,3670,4956,3671,7376,2389,3502,4065,7377,2338,7378, # 6880 -7379,7380,7381,3061,7382,4957,7383,7384,7385,7386,4958,4534,7387,7388,2993,7389, # 6896 -3062,7390,4959,7391,7392,7393,4960,3108,4961,7394,4535,7395,4962,3421,4536,7396, # 6912 -4963,7397,4964,1857,7398,4965,7399,7400,2176,3584,4966,7401,7402,3422,4537,3900, # 6928 -3585,7403,3782,7404,2852,7405,7406,7407,4538,3783,2654,3423,4967,4539,7408,3784, # 6944 -3586,2853,4540,4541,7409,3901,7410,3902,7411,7412,3785,3109,2327,3903,7413,7414, # 6960 -2970,4066,2932,7415,7416,7417,3904,3672,3424,7418,4542,4543,4544,7419,4968,7420, # 6976 -7421,4255,7422,7423,7424,7425,7426,4067,7427,3673,3365,4545,7428,3110,2559,3674, # 6992 -7429,7430,3156,7431,7432,3503,7433,3425,4546,7434,3063,2873,7435,3223,4969,4547, # 7008 -4548,2898,4256,4068,7436,4069,3587,3786,2933,3787,4257,4970,4971,3788,7437,4972, # 7024 -3064,7438,4549,7439,7440,7441,7442,7443,4973,3905,7444,2874,7445,7446,7447,7448, # 7040 -3021,7449,4550,3906,3588,4974,7450,7451,3789,3675,7452,2578,7453,4070,7454,7455, # 7056 -7456,4258,3676,7457,4975,7458,4976,4259,3790,3504,2634,4977,3677,4551,4260,7459, # 7072 -7460,7461,7462,3907,4261,4978,7463,7464,7465,7466,4979,4980,7467,7468,2213,4262, # 7088 -7469,7470,7471,3678,4981,7472,2439,7473,4263,3224,3289,7474,3908,2415,4982,7475, # 7104 -4264,7476,4983,2655,7477,7478,2732,4552,2854,2875,7479,7480,4265,7481,4553,4984, # 7120 -7482,7483,4266,7484,3679,3366,3680,2818,2781,2782,3367,3589,4554,3065,7485,4071, # 7136 -2899,7486,7487,3157,2462,4072,4555,4073,4985,4986,3111,4267,2687,3368,4556,4074, # 7152 -3791,4268,7488,3909,2783,7489,2656,1962,3158,4557,4987,1963,3159,3160,7490,3112, # 7168 -4988,4989,3022,4990,4991,3792,2855,7491,7492,2971,4558,7493,7494,4992,7495,7496, # 7184 -7497,7498,4993,7499,3426,4559,4994,7500,3681,4560,4269,4270,3910,7501,4075,4995, # 7200 -4271,7502,7503,4076,7504,4996,7505,3225,4997,4272,4077,2819,3023,7506,7507,2733, # 7216 -4561,7508,4562,7509,3369,3793,7510,3590,2508,7511,7512,4273,3113,2994,2616,7513, # 7232 -7514,7515,7516,7517,7518,2820,3911,4078,2748,7519,7520,4563,4998,7521,7522,7523, # 7248 -7524,4999,4274,7525,4564,3682,2239,4079,4565,7526,7527,7528,7529,5000,7530,7531, # 7264 -5001,4275,3794,7532,7533,7534,3066,5002,4566,3161,7535,7536,4080,7537,3162,7538, # 7280 -7539,4567,7540,7541,7542,7543,7544,7545,5003,7546,4568,7547,7548,7549,7550,7551, # 7296 -7552,7553,7554,7555,7556,5004,7557,7558,7559,5005,7560,3795,7561,4569,7562,7563, # 7312 -7564,2821,3796,4276,4277,4081,7565,2876,7566,5006,7567,7568,2900,7569,3797,3912, # 7328 -7570,7571,7572,4278,7573,7574,7575,5007,7576,7577,5008,7578,7579,4279,2934,7580, # 7344 -7581,5009,7582,4570,7583,4280,7584,7585,7586,4571,4572,3913,7587,4573,3505,7588, # 7360 -5010,7589,7590,7591,7592,3798,4574,7593,7594,5011,7595,4281,7596,7597,7598,4282, # 7376 -5012,7599,7600,5013,3163,7601,5014,7602,3914,7603,7604,2734,4575,4576,4577,7605, # 7392 -7606,7607,7608,7609,3506,5015,4578,7610,4082,7611,2822,2901,2579,3683,3024,4579, # 7408 -3507,7612,4580,7613,3226,3799,5016,7614,7615,7616,7617,7618,7619,7620,2995,3290, # 7424 -7621,4083,7622,5017,7623,7624,7625,7626,7627,4581,3915,7628,3291,7629,5018,7630, # 7440 -7631,7632,7633,4084,7634,7635,3427,3800,7636,7637,4582,7638,5019,4583,5020,7639, # 7456 -3916,7640,3801,5021,4584,4283,7641,7642,3428,3591,2269,7643,2617,7644,4585,3592, # 7472 -7645,4586,2902,7646,7647,3227,5022,7648,4587,7649,4284,7650,7651,7652,4588,2284, # 7488 -7653,5023,7654,7655,7656,4589,5024,3802,7657,7658,5025,3508,4590,7659,7660,7661, # 7504 -1969,5026,7662,7663,3684,1821,2688,7664,2028,2509,4285,7665,2823,1841,7666,2689, # 7520 -3114,7667,3917,4085,2160,5027,5028,2972,7668,5029,7669,7670,7671,3593,4086,7672, # 7536 -4591,4087,5030,3803,7673,7674,7675,7676,7677,7678,7679,4286,2366,4592,4593,3067, # 7552 -2328,7680,7681,4594,3594,3918,2029,4287,7682,5031,3919,3370,4288,4595,2856,7683, # 7568 -3509,7684,7685,5032,5033,7686,7687,3804,2784,7688,7689,7690,7691,3371,7692,7693, # 7584 -2877,5034,7694,7695,3920,4289,4088,7696,7697,7698,5035,7699,5036,4290,5037,5038, # 7600 -5039,7700,7701,7702,5040,5041,3228,7703,1760,7704,5042,3229,4596,2106,4089,7705, # 7616 -4597,2824,5043,2107,3372,7706,4291,4090,5044,7707,4091,7708,5045,3025,3805,4598, # 7632 -4292,4293,4294,3373,7709,4599,7710,5046,7711,7712,5047,5048,3806,7713,7714,7715, # 7648 -5049,7716,7717,7718,7719,4600,5050,7720,7721,7722,5051,7723,4295,3429,7724,7725, # 7664 -7726,7727,3921,7728,3292,5052,4092,7729,7730,7731,7732,7733,7734,7735,5053,5054, # 7680 -7736,7737,7738,7739,3922,3685,7740,7741,7742,7743,2635,5055,7744,5056,4601,7745, # 7696 -7746,2560,7747,7748,7749,7750,3923,7751,7752,7753,7754,7755,4296,2903,7756,7757, # 7712 -7758,7759,7760,3924,7761,5057,4297,7762,7763,5058,4298,7764,4093,7765,7766,5059, # 7728 -3925,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,3595,7777,4299,5060,4094, # 7744 -7778,3293,5061,7779,7780,4300,7781,7782,4602,7783,3596,7784,7785,3430,2367,7786, # 7760 -3164,5062,5063,4301,7787,7788,4095,5064,5065,7789,3374,3115,7790,7791,7792,7793, # 7776 -7794,7795,7796,3597,4603,7797,7798,3686,3116,3807,5066,7799,7800,5067,7801,7802, # 7792 -4604,4302,5068,4303,4096,7803,7804,3294,7805,7806,5069,4605,2690,7807,3026,7808, # 7808 -7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824, # 7824 -7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, # 7840 -7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855,7856, # 7856 -7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871,7872, # 7872 -7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887,7888, # 7888 -7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903,7904, # 7904 -7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919,7920, # 7920 -7921,7922,7923,7924,3926,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, # 7936 -7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951, # 7952 -7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967, # 7968 -7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983, # 7984 -7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999, # 8000 -8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015, # 8016 -8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031, # 8032 -8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047, # 8048 -8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063, # 8064 -8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079, # 8080 -8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095, # 8096 -8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111, # 8112 -8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127, # 8128 -8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143, # 8144 -8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159, # 8160 -8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175, # 8176 -8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191, # 8192 -8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207, # 8208 -8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223, # 8224 -8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239, # 8240 -8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255, # 8256 -8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271) # 8272 - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/jpcntx.py b/lib27/site-packages/requests/packages/chardet/jpcntx.py deleted file mode 100644 index 59aeb6a87..000000000 --- a/lib27/site-packages/requests/packages/chardet/jpcntx.py +++ /dev/null @@ -1,227 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .compat import wrap_ord - -NUM_OF_CATEGORY = 6 -DONT_KNOW = -1 -ENOUGH_REL_THRESHOLD = 100 -MAX_REL_THRESHOLD = 1000 -MINIMUM_DATA_THRESHOLD = 4 - -# This is hiragana 2-char sequence table, the number in each cell represents its frequency category -jp2CharContext = ( -(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), -(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), -(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), -(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), -(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), -(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), -(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), -(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), -(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), -(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), -(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), -(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), -(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), -(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), -(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), -(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), -(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), -(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), -(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), -(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), -(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), -(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), -(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), -(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), -(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), -(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), -(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), -(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), -(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), -(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), -(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), -(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), -(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), -(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), -(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), -(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), -(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), -(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), -(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), -(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), -(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), -(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), -(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), -(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), -(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), -(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), -(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), -(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), -(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), -(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), -(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), -(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), -(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), -(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), -(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), -(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), -(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), -(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), -(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), -(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), -(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), -(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), -(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), -(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), -(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), -(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), -(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), -(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), -(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), -(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), -(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), -(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), -(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), -(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), -) - -class JapaneseContextAnalysis: - def __init__(self): - self.reset() - - def reset(self): - self._mTotalRel = 0 # total sequence received - # category counters, each interger counts sequence in its category - self._mRelSample = [0] * NUM_OF_CATEGORY - # if last byte in current buffer is not the last byte of a character, - # we need to know how many bytes to skip in next buffer - self._mNeedToSkipCharNum = 0 - self._mLastCharOrder = -1 # The order of previous char - # If this flag is set to True, detection is done and conclusion has - # been made - self._mDone = False - - def feed(self, aBuf, aLen): - if self._mDone: - return - - # The buffer we got is byte oriented, and a character may span in more than one - # buffers. In case the last one or two byte in last buffer is not - # complete, we record how many byte needed to complete that character - # and skip these bytes here. We can choose to record those bytes as - # well and analyse the character once it is complete, but since a - # character will not make much difference, by simply skipping - # this character will simply our logic and improve performance. - i = self._mNeedToSkipCharNum - while i < aLen: - order, charLen = self.get_order(aBuf[i:i + 2]) - i += charLen - if i > aLen: - self._mNeedToSkipCharNum = i - aLen - self._mLastCharOrder = -1 - else: - if (order != -1) and (self._mLastCharOrder != -1): - self._mTotalRel += 1 - if self._mTotalRel > MAX_REL_THRESHOLD: - self._mDone = True - break - self._mRelSample[jp2CharContext[self._mLastCharOrder][order]] += 1 - self._mLastCharOrder = order - - def got_enough_data(self): - return self._mTotalRel > ENOUGH_REL_THRESHOLD - - def get_confidence(self): - # This is just one way to calculate confidence. It works well for me. - if self._mTotalRel > MINIMUM_DATA_THRESHOLD: - return (self._mTotalRel - self._mRelSample[0]) / self._mTotalRel - else: - return DONT_KNOW - - def get_order(self, aBuf): - return -1, 1 - -class SJISContextAnalysis(JapaneseContextAnalysis): - def __init__(self): - self.charset_name = "SHIFT_JIS" - - def get_charset_name(self): - return self.charset_name - - def get_order(self, aBuf): - if not aBuf: - return -1, 1 - # find out current char's byte length - first_char = wrap_ord(aBuf[0]) - if ((0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC)): - charLen = 2 - if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): - self.charset_name = "CP932" - else: - charLen = 1 - - # return its order if it is hiragana - if len(aBuf) > 1: - second_char = wrap_ord(aBuf[1]) - if (first_char == 202) and (0x9F <= second_char <= 0xF1): - return second_char - 0x9F, charLen - - return -1, charLen - -class EUCJPContextAnalysis(JapaneseContextAnalysis): - def get_order(self, aBuf): - if not aBuf: - return -1, 1 - # find out current char's byte length - first_char = wrap_ord(aBuf[0]) - if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): - charLen = 2 - elif first_char == 0x8F: - charLen = 3 - else: - charLen = 1 - - # return its order if it is hiragana - if len(aBuf) > 1: - second_char = wrap_ord(aBuf[1]) - if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): - return second_char - 0xA1, charLen - - return -1, charLen - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/langbulgarianmodel.py b/lib27/site-packages/requests/packages/chardet/langbulgarianmodel.py deleted file mode 100644 index e5788fc64..000000000 --- a/lib27/site-packages/requests/packages/chardet/langbulgarianmodel.py +++ /dev/null @@ -1,229 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -# this table is modified base on win1251BulgarianCharToOrderMap, so -# only number <64 is sure valid - -Latin5_BulgarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 -194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 -210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 - 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 - 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 - 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 - 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 -) - -win1251BulgarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 -206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 -221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 - 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 - 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 - 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 - 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 96.9392% -# first 1024 sequences:3.0618% -# rest sequences: 0.2992% -# negative sequences: 0.0020% -BulgarianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, -3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, -0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, -0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, -0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, -0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, -0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, -2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, -3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, -1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, -3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, -1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, -2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, -2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, -3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, -1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, -2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, -2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, -3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, -1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, -2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, -2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, -2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, -1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, -2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, -1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, -3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, -1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, -3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, -1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, -2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, -1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, -2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, -1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, -2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, -1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, -1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, -1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, -2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, -1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, -2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, -1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, -0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, -1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, -1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, -1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, -0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, -0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, -0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, -1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, -1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, -1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, -1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -) - -Latin5BulgarianModel = { - 'charToOrderMap': Latin5_BulgarianCharToOrderMap, - 'precedenceMatrix': BulgarianLangModel, - 'mTypicalPositiveRatio': 0.969392, - 'keepEnglishLetter': False, - 'charsetName': "ISO-8859-5" -} - -Win1251BulgarianModel = { - 'charToOrderMap': win1251BulgarianCharToOrderMap, - 'precedenceMatrix': BulgarianLangModel, - 'mTypicalPositiveRatio': 0.969392, - 'keepEnglishLetter': False, - 'charsetName': "windows-1251" -} - - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/langcyrillicmodel.py b/lib27/site-packages/requests/packages/chardet/langcyrillicmodel.py deleted file mode 100644 index a86f54bd5..000000000 --- a/lib27/site-packages/requests/packages/chardet/langcyrillicmodel.py +++ /dev/null @@ -1,329 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# KOI8-R language model -# Character Mapping Table: -KOI8R_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 -223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 -238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 - 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 - 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 - 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 - 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 -) - -win1251_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, -239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -) - -latin5_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, -) - -macCyrillic_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, -239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, -) - -IBM855_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, -206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, - 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, -220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, -230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, - 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, - 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, -250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, -) - -IBM866_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 97.6601% -# first 1024 sequences: 2.3389% -# rest sequences: 0.1237% -# negative sequences: 0.0009% -RussianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, -3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, -0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, -0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, -1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, -1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, -2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, -1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, -3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, -1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, -2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, -1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, -1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, -1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, -2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, -1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, -3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, -1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, -2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, -1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, -2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, -1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, -1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, -1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, -3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, -3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, -1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, -1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, -0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, -1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, -1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, -0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, -1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, -2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, -1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, -1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, -2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, -1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, -0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, -2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, -1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, -1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, -0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, -0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, -0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, -0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, -2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, -0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, -) - -Koi8rModel = { - 'charToOrderMap': KOI8R_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "KOI8-R" -} - -Win1251CyrillicModel = { - 'charToOrderMap': win1251_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "windows-1251" -} - -Latin5CyrillicModel = { - 'charToOrderMap': latin5_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "ISO-8859-5" -} - -MacCyrillicModel = { - 'charToOrderMap': macCyrillic_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "MacCyrillic" -}; - -Ibm866Model = { - 'charToOrderMap': IBM866_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "IBM866" -} - -Ibm855Model = { - 'charToOrderMap': IBM855_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "IBM855" -} - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/langgreekmodel.py b/lib27/site-packages/requests/packages/chardet/langgreekmodel.py deleted file mode 100644 index ddb583765..000000000 --- a/lib27/site-packages/requests/packages/chardet/langgreekmodel.py +++ /dev/null @@ -1,225 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -Latin7_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 -253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 -253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 -124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 - 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 -) - -win1253_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 -253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 -253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 -124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 - 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 98.2851% -# first 1024 sequences:1.7001% -# rest sequences: 0.0359% -# negative sequences: 0.0148% -GreekLangModel = ( -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, -3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, -2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, -2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, -2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, -0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, -3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, -3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, -2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, -0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, -0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, -0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, -0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, -0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, -0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, -0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, -0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, -0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, -0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, -0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, -0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, -0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, -0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, -0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, -0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, -0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, -0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, -0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, -0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, -0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, -0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, -0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, -0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, -0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, -0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, -0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, -0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, -0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -) - -Latin7GreekModel = { - 'charToOrderMap': Latin7_CharToOrderMap, - 'precedenceMatrix': GreekLangModel, - 'mTypicalPositiveRatio': 0.982851, - 'keepEnglishLetter': False, - 'charsetName': "ISO-8859-7" -} - -Win1253GreekModel = { - 'charToOrderMap': win1253_CharToOrderMap, - 'precedenceMatrix': GreekLangModel, - 'mTypicalPositiveRatio': 0.982851, - 'keepEnglishLetter': False, - 'charsetName': "windows-1253" -} - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/langhebrewmodel.py b/lib27/site-packages/requests/packages/chardet/langhebrewmodel.py deleted file mode 100644 index 75f2bc7fe..000000000 --- a/lib27/site-packages/requests/packages/chardet/langhebrewmodel.py +++ /dev/null @@ -1,201 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Simon Montagu -# Portions created by the Initial Developer are Copyright (C) 2005 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Shoshannah Forbes - original C code (?) -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Windows-1255 language model -# Character Mapping Table: -win1255_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 - 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 -253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 - 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 -124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, -215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, - 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, -106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, - 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, -238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, - 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, - 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 98.4004% -# first 1024 sequences: 1.5981% -# rest sequences: 0.087% -# negative sequences: 0.0015% -HebrewLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, -3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, -1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, -1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, -1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, -1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, -0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, -0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, -0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, -0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, -0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, -0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, -0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, -0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, -0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, -0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, -0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, -0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, -1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, -0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, -0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, -0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, -0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, -0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, -2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, -0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, -0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, -1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, -0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, -2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, -1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, -2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, -2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, -0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, -0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, -) - -Win1255HebrewModel = { - 'charToOrderMap': win1255_CharToOrderMap, - 'precedenceMatrix': HebrewLangModel, - 'mTypicalPositiveRatio': 0.984004, - 'keepEnglishLetter': False, - 'charsetName': "windows-1255" -} - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/langhungarianmodel.py b/lib27/site-packages/requests/packages/chardet/langhungarianmodel.py deleted file mode 100644 index 49d2f0fe7..000000000 --- a/lib27/site-packages/requests/packages/chardet/langhungarianmodel.py +++ /dev/null @@ -1,225 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -Latin2_HungarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, - 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, -253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, - 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, -159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, -175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, -191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, - 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, -221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, -232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, - 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, -245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, -) - -win1250HungarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, - 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, -253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, - 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, -161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, -177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, -191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, - 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, -221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, -232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, - 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, -245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 94.7368% -# first 1024 sequences:5.2623% -# rest sequences: 0.8894% -# negative sequences: 0.0009% -HungarianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, -3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, -3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, -0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, -0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, -1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, -1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, -3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, -2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, -2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, -2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, -2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, -2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, -3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, -2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, -2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, -2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, -1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, -1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, -3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, -1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, -1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, -2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, -2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, -2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, -3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, -2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, -1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, -1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, -2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, -2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, -1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, -1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, -2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, -1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, -2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, -2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, -1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, -1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, -1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, -0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, -2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, -2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, -1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, -2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, -1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, -1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, -2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, -2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, -2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, -1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, -2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, -0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, -0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, -) - -Latin2HungarianModel = { - 'charToOrderMap': Latin2_HungarianCharToOrderMap, - 'precedenceMatrix': HungarianLangModel, - 'mTypicalPositiveRatio': 0.947368, - 'keepEnglishLetter': True, - 'charsetName': "ISO-8859-2" -} - -Win1250HungarianModel = { - 'charToOrderMap': win1250HungarianCharToOrderMap, - 'precedenceMatrix': HungarianLangModel, - 'mTypicalPositiveRatio': 0.947368, - 'keepEnglishLetter': True, - 'charsetName': "windows-1250" -} - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/langthaimodel.py b/lib27/site-packages/requests/packages/chardet/langthaimodel.py deleted file mode 100644 index 0508b1b1a..000000000 --- a/lib27/site-packages/requests/packages/chardet/langthaimodel.py +++ /dev/null @@ -1,200 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# The following result for thai was collected from a limited sample (1M). - -# Character Mapping Table: -TIS620CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 -188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 -253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 - 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 -209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, -223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, -236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, - 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, - 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, - 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, - 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, - 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 92.6386% -# first 1024 sequences:7.3177% -# rest sequences: 1.0230% -# negative sequences: 0.0436% -ThaiLangModel = ( -0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, -0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, -3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, -0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, -3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, -3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, -3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, -3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, -3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, -3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, -2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, -3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, -0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, -0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, -1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, -3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, -3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, -1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, -0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, -0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, -3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, -2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, -3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, -0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, -3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, -3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, -2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, -3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, -2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, -3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, -3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, -3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, -3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, -1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, -0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, -0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, -3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, -3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, -1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, -3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, -3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, -0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, -0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, -1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, -1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, -3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, -0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, -3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, -0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, -0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, -0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, -0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, -0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, -0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, -0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, -3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, -0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, -0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, -3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, -2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, -0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, -3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, -1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, -1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -) - -TIS620ThaiModel = { - 'charToOrderMap': TIS620CharToOrderMap, - 'precedenceMatrix': ThaiLangModel, - 'mTypicalPositiveRatio': 0.926386, - 'keepEnglishLetter': False, - 'charsetName': "TIS-620" -} - -# flake8: noqa diff --git a/lib27/site-packages/requests/packages/chardet/latin1prober.py b/lib27/site-packages/requests/packages/chardet/latin1prober.py deleted file mode 100644 index eef357354..000000000 --- a/lib27/site-packages/requests/packages/chardet/latin1prober.py +++ /dev/null @@ -1,139 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .constants import eNotMe -from .compat import wrap_ord - -FREQ_CAT_NUM = 4 - -UDF = 0 # undefined -OTH = 1 # other -ASC = 2 # ascii capital letter -ASS = 3 # ascii small letter -ACV = 4 # accent capital vowel -ACO = 5 # accent capital other -ASV = 6 # accent small vowel -ASO = 7 # accent small other -CLASS_NUM = 8 # total classes - -Latin1_CharToClass = ( - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F - OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 - ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F - ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 - ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F - OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 - ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F - ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 - ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F - OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 - OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F - UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 - OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF - ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 - ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF - ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 - ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF - ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 - ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF - ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 - ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF -) - -# 0 : illegal -# 1 : very unlikely -# 2 : normal -# 3 : very likely -Latin1ClassModel = ( - # UDF OTH ASC ASS ACV ACO ASV ASO - 0, 0, 0, 0, 0, 0, 0, 0, # UDF - 0, 3, 3, 3, 3, 3, 3, 3, # OTH - 0, 3, 3, 3, 3, 3, 3, 3, # ASC - 0, 3, 3, 3, 1, 1, 3, 3, # ASS - 0, 3, 3, 3, 1, 2, 1, 2, # ACV - 0, 3, 3, 3, 3, 3, 3, 3, # ACO - 0, 3, 1, 3, 1, 1, 1, 3, # ASV - 0, 3, 1, 3, 1, 1, 3, 3, # ASO -) - - -class Latin1Prober(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self.reset() - - def reset(self): - self._mLastCharClass = OTH - self._mFreqCounter = [0] * FREQ_CAT_NUM - CharSetProber.reset(self) - - def get_charset_name(self): - return "windows-1252" - - def feed(self, aBuf): - aBuf = self.filter_with_english_letters(aBuf) - for c in aBuf: - charClass = Latin1_CharToClass[wrap_ord(c)] - freq = Latin1ClassModel[(self._mLastCharClass * CLASS_NUM) - + charClass] - if freq == 0: - self._mState = eNotMe - break - self._mFreqCounter[freq] += 1 - self._mLastCharClass = charClass - - return self.get_state() - - def get_confidence(self): - if self.get_state() == eNotMe: - return 0.01 - - total = sum(self._mFreqCounter) - if total < 0.01: - confidence = 0.0 - else: - confidence = ((self._mFreqCounter[3] - self._mFreqCounter[1] * 20.0) - / total) - if confidence < 0.0: - confidence = 0.0 - # lower the confidence of latin1 so that other more accurate - # detector can take priority. - confidence = confidence * 0.73 - return confidence diff --git a/lib27/site-packages/requests/packages/chardet/mbcharsetprober.py b/lib27/site-packages/requests/packages/chardet/mbcharsetprober.py deleted file mode 100644 index bb42f2fb5..000000000 --- a/lib27/site-packages/requests/packages/chardet/mbcharsetprober.py +++ /dev/null @@ -1,86 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Proofpoint, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from . import constants -from .charsetprober import CharSetProber - - -class MultiByteCharSetProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mDistributionAnalyzer = None - self._mCodingSM = None - self._mLastChar = [0, 0] - - def reset(self): - CharSetProber.reset(self) - if self._mCodingSM: - self._mCodingSM.reset() - if self._mDistributionAnalyzer: - self._mDistributionAnalyzer.reset() - self._mLastChar = [0, 0] - - def get_charset_name(self): - pass - - def feed(self, aBuf): - aLen = len(aBuf) - for i in range(0, aLen): - codingState = self._mCodingSM.next_state(aBuf[i]) - if codingState == constants.eError: - if constants._debug: - sys.stderr.write(self.get_charset_name() - + ' prober hit error at byte ' + str(i) - + '\n') - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - charLen = self._mCodingSM.get_current_charlen() - if i == 0: - self._mLastChar[1] = aBuf[0] - self._mDistributionAnalyzer.feed(self._mLastChar, charLen) - else: - self._mDistributionAnalyzer.feed(aBuf[i - 1:i + 1], - charLen) - - self._mLastChar[0] = aBuf[aLen - 1] - - if self.get_state() == constants.eDetecting: - if (self._mDistributionAnalyzer.got_enough_data() and - (self.get_confidence() > constants.SHORTCUT_THRESHOLD)): - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - return self._mDistributionAnalyzer.get_confidence() diff --git a/lib27/site-packages/requests/packages/chardet/mbcsgroupprober.py b/lib27/site-packages/requests/packages/chardet/mbcsgroupprober.py deleted file mode 100644 index 03c9dcf3e..000000000 --- a/lib27/site-packages/requests/packages/chardet/mbcsgroupprober.py +++ /dev/null @@ -1,54 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Proofpoint, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetgroupprober import CharSetGroupProber -from .utf8prober import UTF8Prober -from .sjisprober import SJISProber -from .eucjpprober import EUCJPProber -from .gb2312prober import GB2312Prober -from .euckrprober import EUCKRProber -from .cp949prober import CP949Prober -from .big5prober import Big5Prober -from .euctwprober import EUCTWProber - - -class MBCSGroupProber(CharSetGroupProber): - def __init__(self): - CharSetGroupProber.__init__(self) - self._mProbers = [ - UTF8Prober(), - SJISProber(), - EUCJPProber(), - GB2312Prober(), - EUCKRProber(), - CP949Prober(), - Big5Prober(), - EUCTWProber() - ] - self.reset() diff --git a/lib27/site-packages/requests/packages/chardet/mbcssm.py b/lib27/site-packages/requests/packages/chardet/mbcssm.py deleted file mode 100644 index efe678ca0..000000000 --- a/lib27/site-packages/requests/packages/chardet/mbcssm.py +++ /dev/null @@ -1,572 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .constants import eStart, eError, eItsMe - -# BIG5 - -BIG5_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,1, # 78 - 7f - 4,4,4,4,4,4,4,4, # 80 - 87 - 4,4,4,4,4,4,4,4, # 88 - 8f - 4,4,4,4,4,4,4,4, # 90 - 97 - 4,4,4,4,4,4,4,4, # 98 - 9f - 4,3,3,3,3,3,3,3, # a0 - a7 - 3,3,3,3,3,3,3,3, # a8 - af - 3,3,3,3,3,3,3,3, # b0 - b7 - 3,3,3,3,3,3,3,3, # b8 - bf - 3,3,3,3,3,3,3,3, # c0 - c7 - 3,3,3,3,3,3,3,3, # c8 - cf - 3,3,3,3,3,3,3,3, # d0 - d7 - 3,3,3,3,3,3,3,3, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,3,3,3, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,3,3,0 # f8 - ff -) - -BIG5_st = ( - eError,eStart,eStart, 3,eError,eError,eError,eError,#00-07 - eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,#08-0f - eError,eStart,eStart,eStart,eStart,eStart,eStart,eStart#10-17 -) - -Big5CharLenTable = (0, 1, 1, 2, 0) - -Big5SMModel = {'classTable': BIG5_cls, - 'classFactor': 5, - 'stateTable': BIG5_st, - 'charLenTable': Big5CharLenTable, - 'name': 'Big5'} - -# CP949 - -CP949_cls = ( - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f - 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f - 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f - 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f - 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f - 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f - 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f - 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f - 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af - 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf - 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff -) - -CP949_st = ( -#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = - eError,eStart, 3,eError,eStart,eStart, 4, 5,eError, 6, # eStart - eError,eError,eError,eError,eError,eError,eError,eError,eError,eError, # eError - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe, # eItsMe - eError,eError,eStart,eStart,eError,eError,eError,eStart,eStart,eStart, # 3 - eError,eError,eStart,eStart,eStart,eStart,eStart,eStart,eStart,eStart, # 4 - eError,eStart,eStart,eStart,eStart,eStart,eStart,eStart,eStart,eStart, # 5 - eError,eStart,eStart,eStart,eStart,eError,eError,eStart,eStart,eStart, # 6 -) - -CP949CharLenTable = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) - -CP949SMModel = {'classTable': CP949_cls, - 'classFactor': 10, - 'stateTable': CP949_st, - 'charLenTable': CP949CharLenTable, - 'name': 'CP949'} - -# EUC-JP - -EUCJP_cls = ( - 4,4,4,4,4,4,4,4, # 00 - 07 - 4,4,4,4,4,4,5,5, # 08 - 0f - 4,4,4,4,4,4,4,4, # 10 - 17 - 4,4,4,5,4,4,4,4, # 18 - 1f - 4,4,4,4,4,4,4,4, # 20 - 27 - 4,4,4,4,4,4,4,4, # 28 - 2f - 4,4,4,4,4,4,4,4, # 30 - 37 - 4,4,4,4,4,4,4,4, # 38 - 3f - 4,4,4,4,4,4,4,4, # 40 - 47 - 4,4,4,4,4,4,4,4, # 48 - 4f - 4,4,4,4,4,4,4,4, # 50 - 57 - 4,4,4,4,4,4,4,4, # 58 - 5f - 4,4,4,4,4,4,4,4, # 60 - 67 - 4,4,4,4,4,4,4,4, # 68 - 6f - 4,4,4,4,4,4,4,4, # 70 - 77 - 4,4,4,4,4,4,4,4, # 78 - 7f - 5,5,5,5,5,5,5,5, # 80 - 87 - 5,5,5,5,5,5,1,3, # 88 - 8f - 5,5,5,5,5,5,5,5, # 90 - 97 - 5,5,5,5,5,5,5,5, # 98 - 9f - 5,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,2,2,2, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,2,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,0,5 # f8 - ff -) - -EUCJP_st = ( - 3, 4, 3, 5,eStart,eError,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eStart,eError,eStart,eError,eError,eError,#10-17 - eError,eError,eStart,eError,eError,eError, 3,eError,#18-1f - 3,eError,eError,eError,eStart,eStart,eStart,eStart#20-27 -) - -EUCJPCharLenTable = (2, 2, 2, 3, 1, 0) - -EUCJPSMModel = {'classTable': EUCJP_cls, - 'classFactor': 6, - 'stateTable': EUCJP_st, - 'charLenTable': EUCJPCharLenTable, - 'name': 'EUC-JP'} - -# EUC-KR - -EUCKR_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 1,1,1,1,1,1,1,1, # 40 - 47 - 1,1,1,1,1,1,1,1, # 48 - 4f - 1,1,1,1,1,1,1,1, # 50 - 57 - 1,1,1,1,1,1,1,1, # 58 - 5f - 1,1,1,1,1,1,1,1, # 60 - 67 - 1,1,1,1,1,1,1,1, # 68 - 6f - 1,1,1,1,1,1,1,1, # 70 - 77 - 1,1,1,1,1,1,1,1, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,3,3,3, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,3,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 2,2,2,2,2,2,2,2, # e0 - e7 - 2,2,2,2,2,2,2,2, # e8 - ef - 2,2,2,2,2,2,2,2, # f0 - f7 - 2,2,2,2,2,2,2,0 # f8 - ff -) - -EUCKR_st = ( - eError,eStart, 3,eError,eError,eError,eError,eError,#00-07 - eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,eStart,eStart #08-0f -) - -EUCKRCharLenTable = (0, 1, 2, 0) - -EUCKRSMModel = {'classTable': EUCKR_cls, - 'classFactor': 4, - 'stateTable': EUCKR_st, - 'charLenTable': EUCKRCharLenTable, - 'name': 'EUC-KR'} - -# EUC-TW - -EUCTW_cls = ( - 2,2,2,2,2,2,2,2, # 00 - 07 - 2,2,2,2,2,2,0,0, # 08 - 0f - 2,2,2,2,2,2,2,2, # 10 - 17 - 2,2,2,0,2,2,2,2, # 18 - 1f - 2,2,2,2,2,2,2,2, # 20 - 27 - 2,2,2,2,2,2,2,2, # 28 - 2f - 2,2,2,2,2,2,2,2, # 30 - 37 - 2,2,2,2,2,2,2,2, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,2, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,6,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,3,4,4,4,4,4,4, # a0 - a7 - 5,5,1,1,1,1,1,1, # a8 - af - 1,1,1,1,1,1,1,1, # b0 - b7 - 1,1,1,1,1,1,1,1, # b8 - bf - 1,1,3,1,3,3,3,3, # c0 - c7 - 3,3,3,3,3,3,3,3, # c8 - cf - 3,3,3,3,3,3,3,3, # d0 - d7 - 3,3,3,3,3,3,3,3, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,3,3,3, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,3,3,0 # f8 - ff -) - -EUCTW_st = ( - eError,eError,eStart, 3, 3, 3, 4,eError,#00-07 - eError,eError,eError,eError,eError,eError,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eStart,eError,#10-17 - eStart,eStart,eStart,eError,eError,eError,eError,eError,#18-1f - 5,eError,eError,eError,eStart,eError,eStart,eStart,#20-27 - eStart,eError,eStart,eStart,eStart,eStart,eStart,eStart #28-2f -) - -EUCTWCharLenTable = (0, 0, 1, 2, 2, 2, 3) - -EUCTWSMModel = {'classTable': EUCTW_cls, - 'classFactor': 7, - 'stateTable': EUCTW_st, - 'charLenTable': EUCTWCharLenTable, - 'name': 'x-euc-tw'} - -# GB2312 - -GB2312_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 3,3,3,3,3,3,3,3, # 30 - 37 - 3,3,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,4, # 78 - 7f - 5,6,6,6,6,6,6,6, # 80 - 87 - 6,6,6,6,6,6,6,6, # 88 - 8f - 6,6,6,6,6,6,6,6, # 90 - 97 - 6,6,6,6,6,6,6,6, # 98 - 9f - 6,6,6,6,6,6,6,6, # a0 - a7 - 6,6,6,6,6,6,6,6, # a8 - af - 6,6,6,6,6,6,6,6, # b0 - b7 - 6,6,6,6,6,6,6,6, # b8 - bf - 6,6,6,6,6,6,6,6, # c0 - c7 - 6,6,6,6,6,6,6,6, # c8 - cf - 6,6,6,6,6,6,6,6, # d0 - d7 - 6,6,6,6,6,6,6,6, # d8 - df - 6,6,6,6,6,6,6,6, # e0 - e7 - 6,6,6,6,6,6,6,6, # e8 - ef - 6,6,6,6,6,6,6,6, # f0 - f7 - 6,6,6,6,6,6,6,0 # f8 - ff -) - -GB2312_st = ( - eError,eStart,eStart,eStart,eStart,eStart, 3,eError,#00-07 - eError,eError,eError,eError,eError,eError,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,eStart,#10-17 - 4,eError,eStart,eStart,eError,eError,eError,eError,#18-1f - eError,eError, 5,eError,eError,eError,eItsMe,eError,#20-27 - eError,eError,eStart,eStart,eStart,eStart,eStart,eStart #28-2f -) - -# To be accurate, the length of class 6 can be either 2 or 4. -# But it is not necessary to discriminate between the two since -# it is used for frequency analysis only, and we are validing -# each code range there as well. So it is safe to set it to be -# 2 here. -GB2312CharLenTable = (0, 1, 1, 1, 1, 1, 2) - -GB2312SMModel = {'classTable': GB2312_cls, - 'classFactor': 7, - 'stateTable': GB2312_st, - 'charLenTable': GB2312CharLenTable, - 'name': 'GB2312'} - -# Shift_JIS - -SJIS_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,1, # 78 - 7f - 3,3,3,3,3,2,2,3, # 80 - 87 - 3,3,3,3,3,3,3,3, # 88 - 8f - 3,3,3,3,3,3,3,3, # 90 - 97 - 3,3,3,3,3,3,3,3, # 98 - 9f - #0xa0 is illegal in sjis encoding, but some pages does - #contain such byte. We need to be more error forgiven. - 2,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,2,2,2, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,2,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,4,4,4, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,0,0,0) # f8 - ff - - -SJIS_st = ( - eError,eStart,eStart, 3,eError,eError,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eError,eError,eStart,eStart,eStart,eStart #10-17 -) - -SJISCharLenTable = (0, 1, 1, 2, 0, 0) - -SJISSMModel = {'classTable': SJIS_cls, - 'classFactor': 6, - 'stateTable': SJIS_st, - 'charLenTable': SJISCharLenTable, - 'name': 'Shift_JIS'} - -# UCS2-BE - -UCS2BE_cls = ( - 0,0,0,0,0,0,0,0, # 00 - 07 - 0,0,1,0,0,2,0,0, # 08 - 0f - 0,0,0,0,0,0,0,0, # 10 - 17 - 0,0,0,3,0,0,0,0, # 18 - 1f - 0,0,0,0,0,0,0,0, # 20 - 27 - 0,3,3,3,3,3,0,0, # 28 - 2f - 0,0,0,0,0,0,0,0, # 30 - 37 - 0,0,0,0,0,0,0,0, # 38 - 3f - 0,0,0,0,0,0,0,0, # 40 - 47 - 0,0,0,0,0,0,0,0, # 48 - 4f - 0,0,0,0,0,0,0,0, # 50 - 57 - 0,0,0,0,0,0,0,0, # 58 - 5f - 0,0,0,0,0,0,0,0, # 60 - 67 - 0,0,0,0,0,0,0,0, # 68 - 6f - 0,0,0,0,0,0,0,0, # 70 - 77 - 0,0,0,0,0,0,0,0, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,0,0,0,0,0,0,0, # a0 - a7 - 0,0,0,0,0,0,0,0, # a8 - af - 0,0,0,0,0,0,0,0, # b0 - b7 - 0,0,0,0,0,0,0,0, # b8 - bf - 0,0,0,0,0,0,0,0, # c0 - c7 - 0,0,0,0,0,0,0,0, # c8 - cf - 0,0,0,0,0,0,0,0, # d0 - d7 - 0,0,0,0,0,0,0,0, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,4,5 # f8 - ff -) - -UCS2BE_st = ( - 5, 7, 7,eError, 4, 3,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe, 6, 6, 6, 6,eError,eError,#10-17 - 6, 6, 6, 6, 6,eItsMe, 6, 6,#18-1f - 6, 6, 6, 6, 5, 7, 7,eError,#20-27 - 5, 8, 6, 6,eError, 6, 6, 6,#28-2f - 6, 6, 6, 6,eError,eError,eStart,eStart #30-37 -) - -UCS2BECharLenTable = (2, 2, 2, 0, 2, 2) - -UCS2BESMModel = {'classTable': UCS2BE_cls, - 'classFactor': 6, - 'stateTable': UCS2BE_st, - 'charLenTable': UCS2BECharLenTable, - 'name': 'UTF-16BE'} - -# UCS2-LE - -UCS2LE_cls = ( - 0,0,0,0,0,0,0,0, # 00 - 07 - 0,0,1,0,0,2,0,0, # 08 - 0f - 0,0,0,0,0,0,0,0, # 10 - 17 - 0,0,0,3,0,0,0,0, # 18 - 1f - 0,0,0,0,0,0,0,0, # 20 - 27 - 0,3,3,3,3,3,0,0, # 28 - 2f - 0,0,0,0,0,0,0,0, # 30 - 37 - 0,0,0,0,0,0,0,0, # 38 - 3f - 0,0,0,0,0,0,0,0, # 40 - 47 - 0,0,0,0,0,0,0,0, # 48 - 4f - 0,0,0,0,0,0,0,0, # 50 - 57 - 0,0,0,0,0,0,0,0, # 58 - 5f - 0,0,0,0,0,0,0,0, # 60 - 67 - 0,0,0,0,0,0,0,0, # 68 - 6f - 0,0,0,0,0,0,0,0, # 70 - 77 - 0,0,0,0,0,0,0,0, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,0,0,0,0,0,0,0, # a0 - a7 - 0,0,0,0,0,0,0,0, # a8 - af - 0,0,0,0,0,0,0,0, # b0 - b7 - 0,0,0,0,0,0,0,0, # b8 - bf - 0,0,0,0,0,0,0,0, # c0 - c7 - 0,0,0,0,0,0,0,0, # c8 - cf - 0,0,0,0,0,0,0,0, # d0 - d7 - 0,0,0,0,0,0,0,0, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,4,5 # f8 - ff -) - -UCS2LE_st = ( - 6, 6, 7, 6, 4, 3,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe, 5, 5, 5,eError,eItsMe,eError,#10-17 - 5, 5, 5,eError, 5,eError, 6, 6,#18-1f - 7, 6, 8, 8, 5, 5, 5,eError,#20-27 - 5, 5, 5,eError,eError,eError, 5, 5,#28-2f - 5, 5, 5,eError, 5,eError,eStart,eStart #30-37 -) - -UCS2LECharLenTable = (2, 2, 2, 2, 2, 2) - -UCS2LESMModel = {'classTable': UCS2LE_cls, - 'classFactor': 6, - 'stateTable': UCS2LE_st, - 'charLenTable': UCS2LECharLenTable, - 'name': 'UTF-16LE'} - -# UTF-8 - -UTF8_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 1,1,1,1,1,1,1,1, # 40 - 47 - 1,1,1,1,1,1,1,1, # 48 - 4f - 1,1,1,1,1,1,1,1, # 50 - 57 - 1,1,1,1,1,1,1,1, # 58 - 5f - 1,1,1,1,1,1,1,1, # 60 - 67 - 1,1,1,1,1,1,1,1, # 68 - 6f - 1,1,1,1,1,1,1,1, # 70 - 77 - 1,1,1,1,1,1,1,1, # 78 - 7f - 2,2,2,2,3,3,3,3, # 80 - 87 - 4,4,4,4,4,4,4,4, # 88 - 8f - 4,4,4,4,4,4,4,4, # 90 - 97 - 4,4,4,4,4,4,4,4, # 98 - 9f - 5,5,5,5,5,5,5,5, # a0 - a7 - 5,5,5,5,5,5,5,5, # a8 - af - 5,5,5,5,5,5,5,5, # b0 - b7 - 5,5,5,5,5,5,5,5, # b8 - bf - 0,0,6,6,6,6,6,6, # c0 - c7 - 6,6,6,6,6,6,6,6, # c8 - cf - 6,6,6,6,6,6,6,6, # d0 - d7 - 6,6,6,6,6,6,6,6, # d8 - df - 7,8,8,8,8,8,8,8, # e0 - e7 - 8,8,8,8,8,9,8,8, # e8 - ef - 10,11,11,11,11,11,11,11, # f0 - f7 - 12,13,13,13,14,15,0,0 # f8 - ff -) - -UTF8_st = ( - eError,eStart,eError,eError,eError,eError, 12, 10,#00-07 - 9, 11, 8, 7, 6, 5, 4, 3,#08-0f - eError,eError,eError,eError,eError,eError,eError,eError,#10-17 - eError,eError,eError,eError,eError,eError,eError,eError,#18-1f - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,#20-27 - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,#28-2f - eError,eError, 5, 5, 5, 5,eError,eError,#30-37 - eError,eError,eError,eError,eError,eError,eError,eError,#38-3f - eError,eError,eError, 5, 5, 5,eError,eError,#40-47 - eError,eError,eError,eError,eError,eError,eError,eError,#48-4f - eError,eError, 7, 7, 7, 7,eError,eError,#50-57 - eError,eError,eError,eError,eError,eError,eError,eError,#58-5f - eError,eError,eError,eError, 7, 7,eError,eError,#60-67 - eError,eError,eError,eError,eError,eError,eError,eError,#68-6f - eError,eError, 9, 9, 9, 9,eError,eError,#70-77 - eError,eError,eError,eError,eError,eError,eError,eError,#78-7f - eError,eError,eError,eError,eError, 9,eError,eError,#80-87 - eError,eError,eError,eError,eError,eError,eError,eError,#88-8f - eError,eError, 12, 12, 12, 12,eError,eError,#90-97 - eError,eError,eError,eError,eError,eError,eError,eError,#98-9f - eError,eError,eError,eError,eError, 12,eError,eError,#a0-a7 - eError,eError,eError,eError,eError,eError,eError,eError,#a8-af - eError,eError, 12, 12, 12,eError,eError,eError,#b0-b7 - eError,eError,eError,eError,eError,eError,eError,eError,#b8-bf - eError,eError,eStart,eStart,eStart,eStart,eError,eError,#c0-c7 - eError,eError,eError,eError,eError,eError,eError,eError #c8-cf -) - -UTF8CharLenTable = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) - -UTF8SMModel = {'classTable': UTF8_cls, - 'classFactor': 16, - 'stateTable': UTF8_st, - 'charLenTable': UTF8CharLenTable, - 'name': 'UTF-8'} diff --git a/lib27/site-packages/requests/packages/chardet/sbcharsetprober.py b/lib27/site-packages/requests/packages/chardet/sbcharsetprober.py deleted file mode 100644 index 37291bd27..000000000 --- a/lib27/site-packages/requests/packages/chardet/sbcharsetprober.py +++ /dev/null @@ -1,120 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from . import constants -from .charsetprober import CharSetProber -from .compat import wrap_ord - -SAMPLE_SIZE = 64 -SB_ENOUGH_REL_THRESHOLD = 1024 -POSITIVE_SHORTCUT_THRESHOLD = 0.95 -NEGATIVE_SHORTCUT_THRESHOLD = 0.05 -SYMBOL_CAT_ORDER = 250 -NUMBER_OF_SEQ_CAT = 4 -POSITIVE_CAT = NUMBER_OF_SEQ_CAT - 1 -#NEGATIVE_CAT = 0 - - -class SingleByteCharSetProber(CharSetProber): - def __init__(self, model, reversed=False, nameProber=None): - CharSetProber.__init__(self) - self._mModel = model - # TRUE if we need to reverse every pair in the model lookup - self._mReversed = reversed - # Optional auxiliary prober for name decision - self._mNameProber = nameProber - self.reset() - - def reset(self): - CharSetProber.reset(self) - # char order of last character - self._mLastOrder = 255 - self._mSeqCounters = [0] * NUMBER_OF_SEQ_CAT - self._mTotalSeqs = 0 - self._mTotalChar = 0 - # characters that fall in our sampling range - self._mFreqChar = 0 - - def get_charset_name(self): - if self._mNameProber: - return self._mNameProber.get_charset_name() - else: - return self._mModel['charsetName'] - - def feed(self, aBuf): - if not self._mModel['keepEnglishLetter']: - aBuf = self.filter_without_english_letters(aBuf) - aLen = len(aBuf) - if not aLen: - return self.get_state() - for c in aBuf: - order = self._mModel['charToOrderMap'][wrap_ord(c)] - if order < SYMBOL_CAT_ORDER: - self._mTotalChar += 1 - if order < SAMPLE_SIZE: - self._mFreqChar += 1 - if self._mLastOrder < SAMPLE_SIZE: - self._mTotalSeqs += 1 - if not self._mReversed: - i = (self._mLastOrder * SAMPLE_SIZE) + order - model = self._mModel['precedenceMatrix'][i] - else: # reverse the order of the letters in the lookup - i = (order * SAMPLE_SIZE) + self._mLastOrder - model = self._mModel['precedenceMatrix'][i] - self._mSeqCounters[model] += 1 - self._mLastOrder = order - - if self.get_state() == constants.eDetecting: - if self._mTotalSeqs > SB_ENOUGH_REL_THRESHOLD: - cf = self.get_confidence() - if cf > POSITIVE_SHORTCUT_THRESHOLD: - if constants._debug: - sys.stderr.write('%s confidence = %s, we have a' - 'winner\n' % - (self._mModel['charsetName'], cf)) - self._mState = constants.eFoundIt - elif cf < NEGATIVE_SHORTCUT_THRESHOLD: - if constants._debug: - sys.stderr.write('%s confidence = %s, below negative' - 'shortcut threshhold %s\n' % - (self._mModel['charsetName'], cf, - NEGATIVE_SHORTCUT_THRESHOLD)) - self._mState = constants.eNotMe - - return self.get_state() - - def get_confidence(self): - r = 0.01 - if self._mTotalSeqs > 0: - r = ((1.0 * self._mSeqCounters[POSITIVE_CAT]) / self._mTotalSeqs - / self._mModel['mTypicalPositiveRatio']) - r = r * self._mFreqChar / self._mTotalChar - if r >= 1.0: - r = 0.99 - return r diff --git a/lib27/site-packages/requests/packages/chardet/sbcsgroupprober.py b/lib27/site-packages/requests/packages/chardet/sbcsgroupprober.py deleted file mode 100644 index 1b6196cd1..000000000 --- a/lib27/site-packages/requests/packages/chardet/sbcsgroupprober.py +++ /dev/null @@ -1,69 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetgroupprober import CharSetGroupProber -from .sbcharsetprober import SingleByteCharSetProber -from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, - Latin5CyrillicModel, MacCyrillicModel, - Ibm866Model, Ibm855Model) -from .langgreekmodel import Latin7GreekModel, Win1253GreekModel -from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel -from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel -from .langthaimodel import TIS620ThaiModel -from .langhebrewmodel import Win1255HebrewModel -from .hebrewprober import HebrewProber - - -class SBCSGroupProber(CharSetGroupProber): - def __init__(self): - CharSetGroupProber.__init__(self) - self._mProbers = [ - SingleByteCharSetProber(Win1251CyrillicModel), - SingleByteCharSetProber(Koi8rModel), - SingleByteCharSetProber(Latin5CyrillicModel), - SingleByteCharSetProber(MacCyrillicModel), - SingleByteCharSetProber(Ibm866Model), - SingleByteCharSetProber(Ibm855Model), - SingleByteCharSetProber(Latin7GreekModel), - SingleByteCharSetProber(Win1253GreekModel), - SingleByteCharSetProber(Latin5BulgarianModel), - SingleByteCharSetProber(Win1251BulgarianModel), - SingleByteCharSetProber(Latin2HungarianModel), - SingleByteCharSetProber(Win1250HungarianModel), - SingleByteCharSetProber(TIS620ThaiModel), - ] - hebrewProber = HebrewProber() - logicalHebrewProber = SingleByteCharSetProber(Win1255HebrewModel, - False, hebrewProber) - visualHebrewProber = SingleByteCharSetProber(Win1255HebrewModel, True, - hebrewProber) - hebrewProber.set_model_probers(logicalHebrewProber, visualHebrewProber) - self._mProbers.extend([hebrewProber, logicalHebrewProber, - visualHebrewProber]) - - self.reset() diff --git a/lib27/site-packages/requests/packages/chardet/sjisprober.py b/lib27/site-packages/requests/packages/chardet/sjisprober.py deleted file mode 100644 index cd0e9e707..000000000 --- a/lib27/site-packages/requests/packages/chardet/sjisprober.py +++ /dev/null @@ -1,91 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import SJISDistributionAnalysis -from .jpcntx import SJISContextAnalysis -from .mbcssm import SJISSMModel -from . import constants - - -class SJISProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(SJISSMModel) - self._mDistributionAnalyzer = SJISDistributionAnalysis() - self._mContextAnalyzer = SJISContextAnalysis() - self.reset() - - def reset(self): - MultiByteCharSetProber.reset(self) - self._mContextAnalyzer.reset() - - def get_charset_name(self): - return self._mContextAnalyzer.get_charset_name() - - def feed(self, aBuf): - aLen = len(aBuf) - for i in range(0, aLen): - codingState = self._mCodingSM.next_state(aBuf[i]) - if codingState == constants.eError: - if constants._debug: - sys.stderr.write(self.get_charset_name() - + ' prober hit error at byte ' + str(i) - + '\n') - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - charLen = self._mCodingSM.get_current_charlen() - if i == 0: - self._mLastChar[1] = aBuf[0] - self._mContextAnalyzer.feed(self._mLastChar[2 - charLen:], - charLen) - self._mDistributionAnalyzer.feed(self._mLastChar, charLen) - else: - self._mContextAnalyzer.feed(aBuf[i + 1 - charLen:i + 3 - - charLen], charLen) - self._mDistributionAnalyzer.feed(aBuf[i - 1:i + 1], - charLen) - - self._mLastChar[0] = aBuf[aLen - 1] - - if self.get_state() == constants.eDetecting: - if (self._mContextAnalyzer.got_enough_data() and - (self.get_confidence() > constants.SHORTCUT_THRESHOLD)): - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - contxtCf = self._mContextAnalyzer.get_confidence() - distribCf = self._mDistributionAnalyzer.get_confidence() - return max(contxtCf, distribCf) diff --git a/lib27/site-packages/requests/packages/chardet/universaldetector.py b/lib27/site-packages/requests/packages/chardet/universaldetector.py deleted file mode 100644 index 476522b99..000000000 --- a/lib27/site-packages/requests/packages/chardet/universaldetector.py +++ /dev/null @@ -1,170 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -import sys -import codecs -from .latin1prober import Latin1Prober # windows-1252 -from .mbcsgroupprober import MBCSGroupProber # multi-byte character sets -from .sbcsgroupprober import SBCSGroupProber # single-byte character sets -from .escprober import EscCharSetProber # ISO-2122, etc. -import re - -MINIMUM_THRESHOLD = 0.20 -ePureAscii = 0 -eEscAscii = 1 -eHighbyte = 2 - - -class UniversalDetector: - def __init__(self): - self._highBitDetector = re.compile(b'[\x80-\xFF]') - self._escDetector = re.compile(b'(\033|~{)') - self._mEscCharSetProber = None - self._mCharSetProbers = [] - self.reset() - - def reset(self): - self.result = {'encoding': None, 'confidence': 0.0} - self.done = False - self._mStart = True - self._mGotData = False - self._mInputState = ePureAscii - self._mLastChar = b'' - if self._mEscCharSetProber: - self._mEscCharSetProber.reset() - for prober in self._mCharSetProbers: - prober.reset() - - def feed(self, aBuf): - if self.done: - return - - aLen = len(aBuf) - if not aLen: - return - - if not self._mGotData: - # If the data starts with BOM, we know it is UTF - if aBuf[:3] == codecs.BOM_UTF8: - # EF BB BF UTF-8 with BOM - self.result = {'encoding': "UTF-8-SIG", 'confidence': 1.0} - elif aBuf[:4] == codecs.BOM_UTF32_LE: - # FF FE 00 00 UTF-32, little-endian BOM - self.result = {'encoding': "UTF-32LE", 'confidence': 1.0} - elif aBuf[:4] == codecs.BOM_UTF32_BE: - # 00 00 FE FF UTF-32, big-endian BOM - self.result = {'encoding': "UTF-32BE", 'confidence': 1.0} - elif aBuf[:4] == b'\xFE\xFF\x00\x00': - # FE FF 00 00 UCS-4, unusual octet order BOM (3412) - self.result = { - 'encoding': "X-ISO-10646-UCS-4-3412", - 'confidence': 1.0 - } - elif aBuf[:4] == b'\x00\x00\xFF\xFE': - # 00 00 FF FE UCS-4, unusual octet order BOM (2143) - self.result = { - 'encoding': "X-ISO-10646-UCS-4-2143", - 'confidence': 1.0 - } - elif aBuf[:2] == codecs.BOM_LE: - # FF FE UTF-16, little endian BOM - self.result = {'encoding': "UTF-16LE", 'confidence': 1.0} - elif aBuf[:2] == codecs.BOM_BE: - # FE FF UTF-16, big endian BOM - self.result = {'encoding': "UTF-16BE", 'confidence': 1.0} - - self._mGotData = True - if self.result['encoding'] and (self.result['confidence'] > 0.0): - self.done = True - return - - if self._mInputState == ePureAscii: - if self._highBitDetector.search(aBuf): - self._mInputState = eHighbyte - elif ((self._mInputState == ePureAscii) and - self._escDetector.search(self._mLastChar + aBuf)): - self._mInputState = eEscAscii - - self._mLastChar = aBuf[-1:] - - if self._mInputState == eEscAscii: - if not self._mEscCharSetProber: - self._mEscCharSetProber = EscCharSetProber() - if self._mEscCharSetProber.feed(aBuf) == constants.eFoundIt: - self.result = {'encoding': self._mEscCharSetProber.get_charset_name(), - 'confidence': self._mEscCharSetProber.get_confidence()} - self.done = True - elif self._mInputState == eHighbyte: - if not self._mCharSetProbers: - self._mCharSetProbers = [MBCSGroupProber(), SBCSGroupProber(), - Latin1Prober()] - for prober in self._mCharSetProbers: - if prober.feed(aBuf) == constants.eFoundIt: - self.result = {'encoding': prober.get_charset_name(), - 'confidence': prober.get_confidence()} - self.done = True - break - - def close(self): - if self.done: - return - if not self._mGotData: - if constants._debug: - sys.stderr.write('no data received!\n') - return - self.done = True - - if self._mInputState == ePureAscii: - self.result = {'encoding': 'ascii', 'confidence': 1.0} - return self.result - - if self._mInputState == eHighbyte: - proberConfidence = None - maxProberConfidence = 0.0 - maxProber = None - for prober in self._mCharSetProbers: - if not prober: - continue - proberConfidence = prober.get_confidence() - if proberConfidence > maxProberConfidence: - maxProberConfidence = proberConfidence - maxProber = prober - if maxProber and (maxProberConfidence > MINIMUM_THRESHOLD): - self.result = {'encoding': maxProber.get_charset_name(), - 'confidence': maxProber.get_confidence()} - return self.result - - if constants._debug: - sys.stderr.write('no probers hit minimum threshhold\n') - for prober in self._mCharSetProbers[0].mProbers: - if not prober: - continue - sys.stderr.write('%s confidence = %s\n' % - (prober.get_charset_name(), - prober.get_confidence())) diff --git a/lib27/site-packages/requests/packages/chardet/utf8prober.py b/lib27/site-packages/requests/packages/chardet/utf8prober.py deleted file mode 100644 index 1c0bb5d8f..000000000 --- a/lib27/site-packages/requests/packages/chardet/utf8prober.py +++ /dev/null @@ -1,76 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -from .charsetprober import CharSetProber -from .codingstatemachine import CodingStateMachine -from .mbcssm import UTF8SMModel - -ONE_CHAR_PROB = 0.5 - - -class UTF8Prober(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(UTF8SMModel) - self.reset() - - def reset(self): - CharSetProber.reset(self) - self._mCodingSM.reset() - self._mNumOfMBChar = 0 - - def get_charset_name(self): - return "utf-8" - - def feed(self, aBuf): - for c in aBuf: - codingState = self._mCodingSM.next_state(c) - if codingState == constants.eError: - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - if self._mCodingSM.get_current_charlen() >= 2: - self._mNumOfMBChar += 1 - - if self.get_state() == constants.eDetecting: - if self.get_confidence() > constants.SHORTCUT_THRESHOLD: - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - unlike = 0.99 - if self._mNumOfMBChar < 6: - for i in range(0, self._mNumOfMBChar): - unlike = unlike * ONE_CHAR_PROB - return 1.0 - unlike - else: - return unlike diff --git a/lib27/site-packages/requests/packages/urllib3/__init__.py b/lib27/site-packages/requests/packages/urllib3/__init__.py deleted file mode 100644 index 73668991f..000000000 --- a/lib27/site-packages/requests/packages/urllib3/__init__.py +++ /dev/null @@ -1,96 +0,0 @@ -""" -urllib3 - Thread-safe connection pooling and re-using. -""" - -from __future__ import absolute_import -import warnings - -from .connectionpool import ( - HTTPConnectionPool, - HTTPSConnectionPool, - connection_from_url -) - -from . import exceptions -from .filepost import encode_multipart_formdata -from .poolmanager import PoolManager, ProxyManager, proxy_from_url -from .response import HTTPResponse -from .util.request import make_headers -from .util.url import get_host -from .util.timeout import Timeout -from .util.retry import Retry - - -# Set default logging handler to avoid "No handler found" warnings. -import logging -try: # Python 2.7+ - from logging import NullHandler -except ImportError: - class NullHandler(logging.Handler): - def emit(self, record): - pass - -__author__ = 'Andrey Petrov (andrey.petrov@shazow.net)' -__license__ = 'MIT' -__version__ = '1.15.1' - -__all__ = ( - 'HTTPConnectionPool', - 'HTTPSConnectionPool', - 'PoolManager', - 'ProxyManager', - 'HTTPResponse', - 'Retry', - 'Timeout', - 'add_stderr_logger', - 'connection_from_url', - 'disable_warnings', - 'encode_multipart_formdata', - 'get_host', - 'make_headers', - 'proxy_from_url', -) - -logging.getLogger(__name__).addHandler(NullHandler()) - - -def add_stderr_logger(level=logging.DEBUG): - """ - Helper for quickly adding a StreamHandler to the logger. Useful for - debugging. - - Returns the handler after adding it. - """ - # This method needs to be in this __init__.py to get the __name__ correct - # even if urllib3 is vendored within another package. - logger = logging.getLogger(__name__) - handler = logging.StreamHandler() - handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s')) - logger.addHandler(handler) - logger.setLevel(level) - logger.debug('Added a stderr logging handler to logger: %s', __name__) - return handler - -# ... Clean up. -del NullHandler - - -# All warning filters *must* be appended unless you're really certain that they -# shouldn't be: otherwise, it's very hard for users to use most Python -# mechanisms to silence them. -# SecurityWarning's always go off by default. -warnings.simplefilter('always', exceptions.SecurityWarning, append=True) -# SubjectAltNameWarning's should go off once per host -warnings.simplefilter('default', exceptions.SubjectAltNameWarning, append=True) -# InsecurePlatformWarning's don't vary between requests, so we keep it default. -warnings.simplefilter('default', exceptions.InsecurePlatformWarning, - append=True) -# SNIMissingWarnings should go off only once. -warnings.simplefilter('default', exceptions.SNIMissingWarning, append=True) - - -def disable_warnings(category=exceptions.HTTPWarning): - """ - Helper for quickly disabling all urllib3 warnings. - """ - warnings.simplefilter('ignore', category) diff --git a/lib27/site-packages/requests/packages/urllib3/_collections.py b/lib27/site-packages/requests/packages/urllib3/_collections.py deleted file mode 100644 index 77cee0170..000000000 --- a/lib27/site-packages/requests/packages/urllib3/_collections.py +++ /dev/null @@ -1,324 +0,0 @@ -from __future__ import absolute_import -from collections import Mapping, MutableMapping -try: - from threading import RLock -except ImportError: # Platform-specific: No threads available - class RLock: - def __enter__(self): - pass - - def __exit__(self, exc_type, exc_value, traceback): - pass - - -try: # Python 2.7+ - from collections import OrderedDict -except ImportError: - from .packages.ordered_dict import OrderedDict -from .packages.six import iterkeys, itervalues, PY3 - - -__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict'] - - -_Null = object() - - -class RecentlyUsedContainer(MutableMapping): - """ - Provides a thread-safe dict-like container which maintains up to - ``maxsize`` keys while throwing away the least-recently-used keys beyond - ``maxsize``. - - :param maxsize: - Maximum number of recent elements to retain. - - :param dispose_func: - Every time an item is evicted from the container, - ``dispose_func(value)`` is called. Callback which will get called - """ - - ContainerCls = OrderedDict - - def __init__(self, maxsize=10, dispose_func=None): - self._maxsize = maxsize - self.dispose_func = dispose_func - - self._container = self.ContainerCls() - self.lock = RLock() - - def __getitem__(self, key): - # Re-insert the item, moving it to the end of the eviction line. - with self.lock: - item = self._container.pop(key) - self._container[key] = item - return item - - def __setitem__(self, key, value): - evicted_value = _Null - with self.lock: - # Possibly evict the existing value of 'key' - evicted_value = self._container.get(key, _Null) - self._container[key] = value - - # If we didn't evict an existing value, we might have to evict the - # least recently used item from the beginning of the container. - if len(self._container) > self._maxsize: - _key, evicted_value = self._container.popitem(last=False) - - if self.dispose_func and evicted_value is not _Null: - self.dispose_func(evicted_value) - - def __delitem__(self, key): - with self.lock: - value = self._container.pop(key) - - if self.dispose_func: - self.dispose_func(value) - - def __len__(self): - with self.lock: - return len(self._container) - - def __iter__(self): - raise NotImplementedError('Iteration over this class is unlikely to be threadsafe.') - - def clear(self): - with self.lock: - # Copy pointers to all values, then wipe the mapping - values = list(itervalues(self._container)) - self._container.clear() - - if self.dispose_func: - for value in values: - self.dispose_func(value) - - def keys(self): - with self.lock: - return list(iterkeys(self._container)) - - -class HTTPHeaderDict(MutableMapping): - """ - :param headers: - An iterable of field-value pairs. Must not contain multiple field names - when compared case-insensitively. - - :param kwargs: - Additional field-value pairs to pass in to ``dict.update``. - - A ``dict`` like container for storing HTTP Headers. - - Field names are stored and compared case-insensitively in compliance with - RFC 7230. Iteration provides the first case-sensitive key seen for each - case-insensitive pair. - - Using ``__setitem__`` syntax overwrites fields that compare equal - case-insensitively in order to maintain ``dict``'s api. For fields that - compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add`` - in a loop. - - If multiple fields that are equal case-insensitively are passed to the - constructor or ``.update``, the behavior is undefined and some will be - lost. - - >>> headers = HTTPHeaderDict() - >>> headers.add('Set-Cookie', 'foo=bar') - >>> headers.add('set-cookie', 'baz=quxx') - >>> headers['content-length'] = '7' - >>> headers['SET-cookie'] - 'foo=bar, baz=quxx' - >>> headers['Content-Length'] - '7' - """ - - def __init__(self, headers=None, **kwargs): - super(HTTPHeaderDict, self).__init__() - self._container = OrderedDict() - if headers is not None: - if isinstance(headers, HTTPHeaderDict): - self._copy_from(headers) - else: - self.extend(headers) - if kwargs: - self.extend(kwargs) - - def __setitem__(self, key, val): - self._container[key.lower()] = (key, val) - return self._container[key.lower()] - - def __getitem__(self, key): - val = self._container[key.lower()] - return ', '.join(val[1:]) - - def __delitem__(self, key): - del self._container[key.lower()] - - def __contains__(self, key): - return key.lower() in self._container - - def __eq__(self, other): - if not isinstance(other, Mapping) and not hasattr(other, 'keys'): - return False - if not isinstance(other, type(self)): - other = type(self)(other) - return (dict((k.lower(), v) for k, v in self.itermerged()) == - dict((k.lower(), v) for k, v in other.itermerged())) - - def __ne__(self, other): - return not self.__eq__(other) - - if not PY3: # Python 2 - iterkeys = MutableMapping.iterkeys - itervalues = MutableMapping.itervalues - - __marker = object() - - def __len__(self): - return len(self._container) - - def __iter__(self): - # Only provide the originally cased names - for vals in self._container.values(): - yield vals[0] - - def pop(self, key, default=__marker): - '''D.pop(k[,d]) -> v, remove specified key and return the corresponding value. - If key is not found, d is returned if given, otherwise KeyError is raised. - ''' - # Using the MutableMapping function directly fails due to the private marker. - # Using ordinary dict.pop would expose the internal structures. - # So let's reinvent the wheel. - try: - value = self[key] - except KeyError: - if default is self.__marker: - raise - return default - else: - del self[key] - return value - - def discard(self, key): - try: - del self[key] - except KeyError: - pass - - def add(self, key, val): - """Adds a (name, value) pair, doesn't overwrite the value if it already - exists. - - >>> headers = HTTPHeaderDict(foo='bar') - >>> headers.add('Foo', 'baz') - >>> headers['foo'] - 'bar, baz' - """ - key_lower = key.lower() - new_vals = key, val - # Keep the common case aka no item present as fast as possible - vals = self._container.setdefault(key_lower, new_vals) - if new_vals is not vals: - # new_vals was not inserted, as there was a previous one - if isinstance(vals, list): - # If already several items got inserted, we have a list - vals.append(val) - else: - # vals should be a tuple then, i.e. only one item so far - # Need to convert the tuple to list for further extension - self._container[key_lower] = [vals[0], vals[1], val] - - def extend(self, *args, **kwargs): - """Generic import function for any type of header-like object. - Adapted version of MutableMapping.update in order to insert items - with self.add instead of self.__setitem__ - """ - if len(args) > 1: - raise TypeError("extend() takes at most 1 positional " - "arguments ({0} given)".format(len(args))) - other = args[0] if len(args) >= 1 else () - - if isinstance(other, HTTPHeaderDict): - for key, val in other.iteritems(): - self.add(key, val) - elif isinstance(other, Mapping): - for key in other: - self.add(key, other[key]) - elif hasattr(other, "keys"): - for key in other.keys(): - self.add(key, other[key]) - else: - for key, value in other: - self.add(key, value) - - for key, value in kwargs.items(): - self.add(key, value) - - def getlist(self, key): - """Returns a list of all the values for the named field. Returns an - empty list if the key doesn't exist.""" - try: - vals = self._container[key.lower()] - except KeyError: - return [] - else: - if isinstance(vals, tuple): - return [vals[1]] - else: - return vals[1:] - - # Backwards compatibility for httplib - getheaders = getlist - getallmatchingheaders = getlist - iget = getlist - - def __repr__(self): - return "%s(%s)" % (type(self).__name__, dict(self.itermerged())) - - def _copy_from(self, other): - for key in other: - val = other.getlist(key) - if isinstance(val, list): - # Don't need to convert tuples - val = list(val) - self._container[key.lower()] = [key] + val - - def copy(self): - clone = type(self)() - clone._copy_from(self) - return clone - - def iteritems(self): - """Iterate over all header lines, including duplicate ones.""" - for key in self: - vals = self._container[key.lower()] - for val in vals[1:]: - yield vals[0], val - - def itermerged(self): - """Iterate over all headers, merging duplicate ones together.""" - for key in self: - val = self._container[key.lower()] - yield val[0], ', '.join(val[1:]) - - def items(self): - return list(self.iteritems()) - - @classmethod - def from_httplib(cls, message): # Python 2 - """Read headers from a Python 2 httplib message object.""" - # python2.7 does not expose a proper API for exporting multiheaders - # efficiently. This function re-reads raw lines from the message - # object and extracts the multiheaders properly. - headers = [] - - for line in message.headers: - if line.startswith((' ', '\t')): - key, value = headers[-1] - headers[-1] = (key, value + '\r\n' + line.rstrip()) - continue - - key, value = line.split(':', 1) - headers.append((key, value.strip())) - - return cls(headers) diff --git a/lib27/site-packages/requests/packages/urllib3/connection.py b/lib27/site-packages/requests/packages/urllib3/connection.py deleted file mode 100644 index 5ce008048..000000000 --- a/lib27/site-packages/requests/packages/urllib3/connection.py +++ /dev/null @@ -1,330 +0,0 @@ -from __future__ import absolute_import -import datetime -import logging -import os -import sys -import socket -from socket import error as SocketError, timeout as SocketTimeout -import warnings -from .packages import six - -try: # Python 3 - from http.client import HTTPConnection as _HTTPConnection - from http.client import HTTPException # noqa: unused in this module -except ImportError: - from httplib import HTTPConnection as _HTTPConnection - from httplib import HTTPException # noqa: unused in this module - -try: # Compiled with SSL? - import ssl - BaseSSLError = ssl.SSLError -except (ImportError, AttributeError): # Platform-specific: No SSL. - ssl = None - - class BaseSSLError(BaseException): - pass - - -try: # Python 3: - # Not a no-op, we're adding this to the namespace so it can be imported. - ConnectionError = ConnectionError -except NameError: # Python 2: - class ConnectionError(Exception): - pass - - -from .exceptions import ( - NewConnectionError, - ConnectTimeoutError, - SubjectAltNameWarning, - SystemTimeWarning, -) -from .packages.ssl_match_hostname import match_hostname, CertificateError - -from .util.ssl_ import ( - resolve_cert_reqs, - resolve_ssl_version, - ssl_wrap_socket, - assert_fingerprint, -) - - -from .util import connection - -from ._collections import HTTPHeaderDict - -log = logging.getLogger(__name__) - -port_by_scheme = { - 'http': 80, - 'https': 443, -} - -RECENT_DATE = datetime.date(2014, 1, 1) - - -class DummyConnection(object): - """Used to detect a failed ConnectionCls import.""" - pass - - -class HTTPConnection(_HTTPConnection, object): - """ - Based on httplib.HTTPConnection but provides an extra constructor - backwards-compatibility layer between older and newer Pythons. - - Additional keyword parameters are used to configure attributes of the connection. - Accepted parameters include: - - - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool` - - ``source_address``: Set the source address for the current connection. - - .. note:: This is ignored for Python 2.6. It is only applied for 2.7 and 3.x - - - ``socket_options``: Set specific options on the underlying socket. If not specified, then - defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling - Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy. - - For example, if you wish to enable TCP Keep Alive in addition to the defaults, - you might pass:: - - HTTPConnection.default_socket_options + [ - (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1), - ] - - Or you may want to disable the defaults by passing an empty list (e.g., ``[]``). - """ - - default_port = port_by_scheme['http'] - - #: Disable Nagle's algorithm by default. - #: ``[(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)]`` - default_socket_options = [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)] - - #: Whether this connection verifies the host's certificate. - is_verified = False - - def __init__(self, *args, **kw): - if six.PY3: # Python 3 - kw.pop('strict', None) - - # Pre-set source_address in case we have an older Python like 2.6. - self.source_address = kw.get('source_address') - - if sys.version_info < (2, 7): # Python 2.6 - # _HTTPConnection on Python 2.6 will balk at this keyword arg, but - # not newer versions. We can still use it when creating a - # connection though, so we pop it *after* we have saved it as - # self.source_address. - kw.pop('source_address', None) - - #: The socket options provided by the user. If no options are - #: provided, we use the default options. - self.socket_options = kw.pop('socket_options', self.default_socket_options) - - # Superclass also sets self.source_address in Python 2.7+. - _HTTPConnection.__init__(self, *args, **kw) - - def _new_conn(self): - """ Establish a socket connection and set nodelay settings on it. - - :return: New socket connection. - """ - extra_kw = {} - if self.source_address: - extra_kw['source_address'] = self.source_address - - if self.socket_options: - extra_kw['socket_options'] = self.socket_options - - try: - conn = connection.create_connection( - (self.host, self.port), self.timeout, **extra_kw) - - except SocketTimeout as e: - raise ConnectTimeoutError( - self, "Connection to %s timed out. (connect timeout=%s)" % - (self.host, self.timeout)) - - except SocketError as e: - raise NewConnectionError( - self, "Failed to establish a new connection: %s" % e) - - return conn - - def _prepare_conn(self, conn): - self.sock = conn - # the _tunnel_host attribute was added in python 2.6.3 (via - # http://hg.python.org/cpython/rev/0f57b30a152f) so pythons 2.6(0-2) do - # not have them. - if getattr(self, '_tunnel_host', None): - # TODO: Fix tunnel so it doesn't depend on self.sock state. - self._tunnel() - # Mark this connection as not reusable - self.auto_open = 0 - - def connect(self): - conn = self._new_conn() - self._prepare_conn(conn) - - def request_chunked(self, method, url, body=None, headers=None): - """ - Alternative to the common request method, which sends the - body with chunked encoding and not as one block - """ - headers = HTTPHeaderDict(headers if headers is not None else {}) - skip_accept_encoding = 'accept-encoding' in headers - self.putrequest(method, url, skip_accept_encoding=skip_accept_encoding) - for header, value in headers.items(): - self.putheader(header, value) - if 'transfer-encoding' not in headers: - self.putheader('Transfer-Encoding', 'chunked') - self.endheaders() - - if body is not None: - stringish_types = six.string_types + (six.binary_type,) - if isinstance(body, stringish_types): - body = (body,) - for chunk in body: - if not chunk: - continue - if not isinstance(chunk, six.binary_type): - chunk = chunk.encode('utf8') - len_str = hex(len(chunk))[2:] - self.send(len_str.encode('utf-8')) - self.send(b'\r\n') - self.send(chunk) - self.send(b'\r\n') - - # After the if clause, to always have a closed body - self.send(b'0\r\n\r\n') - - -class HTTPSConnection(HTTPConnection): - default_port = port_by_scheme['https'] - - def __init__(self, host, port=None, key_file=None, cert_file=None, - strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, **kw): - - HTTPConnection.__init__(self, host, port, strict=strict, - timeout=timeout, **kw) - - self.key_file = key_file - self.cert_file = cert_file - - # Required property for Google AppEngine 1.9.0 which otherwise causes - # HTTPS requests to go out as HTTP. (See Issue #356) - self._protocol = 'https' - - def connect(self): - conn = self._new_conn() - self._prepare_conn(conn) - self.sock = ssl.wrap_socket(conn, self.key_file, self.cert_file) - - -class VerifiedHTTPSConnection(HTTPSConnection): - """ - Based on httplib.HTTPSConnection but wraps the socket with - SSL certification. - """ - cert_reqs = None - ca_certs = None - ca_cert_dir = None - ssl_version = None - assert_fingerprint = None - - def set_cert(self, key_file=None, cert_file=None, - cert_reqs=None, ca_certs=None, - assert_hostname=None, assert_fingerprint=None, - ca_cert_dir=None): - - if (ca_certs or ca_cert_dir) and cert_reqs is None: - cert_reqs = 'CERT_REQUIRED' - - self.key_file = key_file - self.cert_file = cert_file - self.cert_reqs = cert_reqs - self.assert_hostname = assert_hostname - self.assert_fingerprint = assert_fingerprint - self.ca_certs = ca_certs and os.path.expanduser(ca_certs) - self.ca_cert_dir = ca_cert_dir and os.path.expanduser(ca_cert_dir) - - def connect(self): - # Add certificate verification - conn = self._new_conn() - - resolved_cert_reqs = resolve_cert_reqs(self.cert_reqs) - resolved_ssl_version = resolve_ssl_version(self.ssl_version) - - hostname = self.host - if getattr(self, '_tunnel_host', None): - # _tunnel_host was added in Python 2.6.3 - # (See: http://hg.python.org/cpython/rev/0f57b30a152f) - - self.sock = conn - # Calls self._set_hostport(), so self.host is - # self._tunnel_host below. - self._tunnel() - # Mark this connection as not reusable - self.auto_open = 0 - - # Override the host with the one we're requesting data from. - hostname = self._tunnel_host - - is_time_off = datetime.date.today() < RECENT_DATE - if is_time_off: - warnings.warn(( - 'System time is way off (before {0}). This will probably ' - 'lead to SSL verification errors').format(RECENT_DATE), - SystemTimeWarning - ) - - # Wrap socket using verification with the root certs in - # trusted_root_certs - self.sock = ssl_wrap_socket(conn, self.key_file, self.cert_file, - cert_reqs=resolved_cert_reqs, - ca_certs=self.ca_certs, - ca_cert_dir=self.ca_cert_dir, - server_hostname=hostname, - ssl_version=resolved_ssl_version) - - if self.assert_fingerprint: - assert_fingerprint(self.sock.getpeercert(binary_form=True), - self.assert_fingerprint) - elif resolved_cert_reqs != ssl.CERT_NONE \ - and self.assert_hostname is not False: - cert = self.sock.getpeercert() - if not cert.get('subjectAltName', ()): - warnings.warn(( - 'Certificate for {0} has no `subjectAltName`, falling back to check for a ' - '`commonName` for now. This feature is being removed by major browsers and ' - 'deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 ' - 'for details.)'.format(hostname)), - SubjectAltNameWarning - ) - _match_hostname(cert, self.assert_hostname or hostname) - - self.is_verified = (resolved_cert_reqs == ssl.CERT_REQUIRED or - self.assert_fingerprint is not None) - - -def _match_hostname(cert, asserted_hostname): - try: - match_hostname(cert, asserted_hostname) - except CertificateError as e: - log.error( - 'Certificate did not match expected hostname: %s. ' - 'Certificate: %s', asserted_hostname, cert - ) - # Add cert to exception and reraise so client code can inspect - # the cert when catching the exception, if they want to - e._peer_cert = cert - raise - - -if ssl: - # Make a copy for testing. - UnverifiedHTTPSConnection = HTTPSConnection - HTTPSConnection = VerifiedHTTPSConnection -else: - HTTPSConnection = DummyConnection diff --git a/lib27/site-packages/requests/packages/urllib3/connectionpool.py b/lib27/site-packages/requests/packages/urllib3/connectionpool.py deleted file mode 100644 index 3fcfb1201..000000000 --- a/lib27/site-packages/requests/packages/urllib3/connectionpool.py +++ /dev/null @@ -1,849 +0,0 @@ -from __future__ import absolute_import -import errno -import logging -import sys -import warnings - -from socket import error as SocketError, timeout as SocketTimeout -import socket - -try: # Python 3 - from queue import LifoQueue, Empty, Full -except ImportError: - from Queue import LifoQueue, Empty, Full - # Queue is imported for side effects on MS Windows - import Queue as _unused_module_Queue # noqa: unused - - -from .exceptions import ( - ClosedPoolError, - ProtocolError, - EmptyPoolError, - HeaderParsingError, - HostChangedError, - LocationValueError, - MaxRetryError, - ProxyError, - ReadTimeoutError, - SSLError, - TimeoutError, - InsecureRequestWarning, - NewConnectionError, -) -from .packages.ssl_match_hostname import CertificateError -from .packages import six -from .connection import ( - port_by_scheme, - DummyConnection, - HTTPConnection, HTTPSConnection, VerifiedHTTPSConnection, - HTTPException, BaseSSLError, -) -from .request import RequestMethods -from .response import HTTPResponse - -from .util.connection import is_connection_dropped -from .util.response import assert_header_parsing -from .util.retry import Retry -from .util.timeout import Timeout -from .util.url import get_host, Url - - -xrange = six.moves.xrange - -log = logging.getLogger(__name__) - -_Default = object() - - -# Pool objects -class ConnectionPool(object): - """ - Base class for all connection pools, such as - :class:`.HTTPConnectionPool` and :class:`.HTTPSConnectionPool`. - """ - - scheme = None - QueueCls = LifoQueue - - def __init__(self, host, port=None): - if not host: - raise LocationValueError("No host specified.") - - # httplib doesn't like it when we include brackets in ipv6 addresses - # Specifically, if we include brackets but also pass the port then - # httplib crazily doubles up the square brackets on the Host header. - # Instead, we need to make sure we never pass ``None`` as the port. - # However, for backward compatibility reasons we can't actually - # *assert* that. - self.host = host.strip('[]') - self.port = port - - def __str__(self): - return '%s(host=%r, port=%r)' % (type(self).__name__, - self.host, self.port) - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.close() - # Return False to re-raise any potential exceptions - return False - - def close(): - """ - Close all pooled connections and disable the pool. - """ - pass - - -# This is taken from http://hg.python.org/cpython/file/7aaba721ebc0/Lib/socket.py#l252 -_blocking_errnos = set([errno.EAGAIN, errno.EWOULDBLOCK]) - - -class HTTPConnectionPool(ConnectionPool, RequestMethods): - """ - Thread-safe connection pool for one host. - - :param host: - Host used for this HTTP Connection (e.g. "localhost"), passed into - :class:`httplib.HTTPConnection`. - - :param port: - Port used for this HTTP Connection (None is equivalent to 80), passed - into :class:`httplib.HTTPConnection`. - - :param strict: - Causes BadStatusLine to be raised if the status line can't be parsed - as a valid HTTP/1.0 or 1.1 status line, passed into - :class:`httplib.HTTPConnection`. - - .. note:: - Only works in Python 2. This parameter is ignored in Python 3. - - :param timeout: - Socket timeout in seconds for each individual connection. This can - be a float or integer, which sets the timeout for the HTTP request, - or an instance of :class:`urllib3.util.Timeout` which gives you more - fine-grained control over request timeouts. After the constructor has - been parsed, this is always a `urllib3.util.Timeout` object. - - :param maxsize: - Number of connections to save that can be reused. More than 1 is useful - in multithreaded situations. If ``block`` is set to False, more - connections will be created but they will not be saved once they've - been used. - - :param block: - If set to True, no more than ``maxsize`` connections will be used at - a time. When no free connections are available, the call will block - until a connection has been released. This is a useful side effect for - particular multithreaded situations where one does not want to use more - than maxsize connections per host to prevent flooding. - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - - :param retries: - Retry configuration to use by default with requests in this pool. - - :param _proxy: - Parsed proxy URL, should not be used directly, instead, see - :class:`urllib3.connectionpool.ProxyManager`" - - :param _proxy_headers: - A dictionary with proxy headers, should not be used directly, - instead, see :class:`urllib3.connectionpool.ProxyManager`" - - :param \**conn_kw: - Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`, - :class:`urllib3.connection.HTTPSConnection` instances. - """ - - scheme = 'http' - ConnectionCls = HTTPConnection - - def __init__(self, host, port=None, strict=False, - timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, block=False, - headers=None, retries=None, - _proxy=None, _proxy_headers=None, - **conn_kw): - ConnectionPool.__init__(self, host, port) - RequestMethods.__init__(self, headers) - - self.strict = strict - - if not isinstance(timeout, Timeout): - timeout = Timeout.from_float(timeout) - - if retries is None: - retries = Retry.DEFAULT - - self.timeout = timeout - self.retries = retries - - self.pool = self.QueueCls(maxsize) - self.block = block - - self.proxy = _proxy - self.proxy_headers = _proxy_headers or {} - - # Fill the queue up so that doing get() on it will block properly - for _ in xrange(maxsize): - self.pool.put(None) - - # These are mostly for testing and debugging purposes. - self.num_connections = 0 - self.num_requests = 0 - self.conn_kw = conn_kw - - if self.proxy: - # Enable Nagle's algorithm for proxies, to avoid packet fragmentation. - # We cannot know if the user has added default socket options, so we cannot replace the - # list. - self.conn_kw.setdefault('socket_options', []) - - def _new_conn(self): - """ - Return a fresh :class:`HTTPConnection`. - """ - self.num_connections += 1 - log.info("Starting new HTTP connection (%d): %s", - self.num_connections, self.host) - - conn = self.ConnectionCls(host=self.host, port=self.port, - timeout=self.timeout.connect_timeout, - strict=self.strict, **self.conn_kw) - return conn - - def _get_conn(self, timeout=None): - """ - Get a connection. Will return a pooled connection if one is available. - - If no connections are available and :prop:`.block` is ``False``, then a - fresh connection is returned. - - :param timeout: - Seconds to wait before giving up and raising - :class:`urllib3.exceptions.EmptyPoolError` if the pool is empty and - :prop:`.block` is ``True``. - """ - conn = None - try: - conn = self.pool.get(block=self.block, timeout=timeout) - - except AttributeError: # self.pool is None - raise ClosedPoolError(self, "Pool is closed.") - - except Empty: - if self.block: - raise EmptyPoolError(self, - "Pool reached maximum size and no more " - "connections are allowed.") - pass # Oh well, we'll create a new connection then - - # If this is a persistent connection, check if it got disconnected - if conn and is_connection_dropped(conn): - log.info("Resetting dropped connection: %s", self.host) - conn.close() - if getattr(conn, 'auto_open', 1) == 0: - # This is a proxied connection that has been mutated by - # httplib._tunnel() and cannot be reused (since it would - # attempt to bypass the proxy) - conn = None - - return conn or self._new_conn() - - def _put_conn(self, conn): - """ - Put a connection back into the pool. - - :param conn: - Connection object for the current host and port as returned by - :meth:`._new_conn` or :meth:`._get_conn`. - - If the pool is already full, the connection is closed and discarded - because we exceeded maxsize. If connections are discarded frequently, - then maxsize should be increased. - - If the pool is closed, then the connection will be closed and discarded. - """ - try: - self.pool.put(conn, block=False) - return # Everything is dandy, done. - except AttributeError: - # self.pool is None. - pass - except Full: - # This should never happen if self.block == True - log.warning( - "Connection pool is full, discarding connection: %s", - self.host) - - # Connection never got put back into the pool, close it. - if conn: - conn.close() - - def _validate_conn(self, conn): - """ - Called right before a request is made, after the socket is created. - """ - pass - - def _prepare_proxy(self, conn): - # Nothing to do for HTTP connections. - pass - - def _get_timeout(self, timeout): - """ Helper that always returns a :class:`urllib3.util.Timeout` """ - if timeout is _Default: - return self.timeout.clone() - - if isinstance(timeout, Timeout): - return timeout.clone() - else: - # User passed us an int/float. This is for backwards compatibility, - # can be removed later - return Timeout.from_float(timeout) - - def _raise_timeout(self, err, url, timeout_value): - """Is the error actually a timeout? Will raise a ReadTimeout or pass""" - - if isinstance(err, SocketTimeout): - raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) - - # See the above comment about EAGAIN in Python 3. In Python 2 we have - # to specifically catch it and throw the timeout error - if hasattr(err, 'errno') and err.errno in _blocking_errnos: - raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) - - # Catch possible read timeouts thrown as SSL errors. If not the - # case, rethrow the original. We need to do this because of: - # http://bugs.python.org/issue10272 - if 'timed out' in str(err) or 'did not complete (read)' in str(err): # Python 2.6 - raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) - - def _make_request(self, conn, method, url, timeout=_Default, chunked=False, - **httplib_request_kw): - """ - Perform a request on a given urllib connection object taken from our - pool. - - :param conn: - a connection from one of our connection pools - - :param timeout: - Socket timeout in seconds for the request. This can be a - float or integer, which will set the same timeout value for - the socket connect and the socket read, or an instance of - :class:`urllib3.util.Timeout`, which gives you more fine-grained - control over your timeouts. - """ - self.num_requests += 1 - - timeout_obj = self._get_timeout(timeout) - timeout_obj.start_connect() - conn.timeout = timeout_obj.connect_timeout - - # Trigger any extra validation we need to do. - try: - self._validate_conn(conn) - except (SocketTimeout, BaseSSLError) as e: - # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout. - self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) - raise - - # conn.request() calls httplib.*.request, not the method in - # urllib3.request. It also calls makefile (recv) on the socket. - if chunked: - conn.request_chunked(method, url, **httplib_request_kw) - else: - conn.request(method, url, **httplib_request_kw) - - # Reset the timeout for the recv() on the socket - read_timeout = timeout_obj.read_timeout - - # App Engine doesn't have a sock attr - if getattr(conn, 'sock', None): - # In Python 3 socket.py will catch EAGAIN and return None when you - # try and read into the file pointer created by http.client, which - # instead raises a BadStatusLine exception. Instead of catching - # the exception and assuming all BadStatusLine exceptions are read - # timeouts, check for a zero timeout before making the request. - if read_timeout == 0: - raise ReadTimeoutError( - self, url, "Read timed out. (read timeout=%s)" % read_timeout) - if read_timeout is Timeout.DEFAULT_TIMEOUT: - conn.sock.settimeout(socket.getdefaulttimeout()) - else: # None or a value - conn.sock.settimeout(read_timeout) - - # Receive the response from the server - try: - try: # Python 2.7, use buffering of HTTP responses - httplib_response = conn.getresponse(buffering=True) - except TypeError: # Python 2.6 and older - httplib_response = conn.getresponse() - except (SocketTimeout, BaseSSLError, SocketError) as e: - self._raise_timeout(err=e, url=url, timeout_value=read_timeout) - raise - - # AppEngine doesn't have a version attr. - http_version = getattr(conn, '_http_vsn_str', 'HTTP/?') - log.debug("\"%s %s %s\" %s %s", method, url, http_version, - httplib_response.status, httplib_response.length) - - try: - assert_header_parsing(httplib_response.msg) - except HeaderParsingError as hpe: # Platform-specific: Python 3 - log.warning( - 'Failed to parse headers (url=%s): %s', - self._absolute_url(url), hpe, exc_info=True) - - return httplib_response - - def _absolute_url(self, path): - return Url(scheme=self.scheme, host=self.host, port=self.port, path=path).url - - def close(self): - """ - Close all pooled connections and disable the pool. - """ - # Disable access to the pool - old_pool, self.pool = self.pool, None - - try: - while True: - conn = old_pool.get(block=False) - if conn: - conn.close() - - except Empty: - pass # Done. - - def is_same_host(self, url): - """ - Check if the given ``url`` is a member of the same host as this - connection pool. - """ - if url.startswith('/'): - return True - - # TODO: Add optional support for socket.gethostbyname checking. - scheme, host, port = get_host(url) - - # Use explicit default port for comparison when none is given - if self.port and not port: - port = port_by_scheme.get(scheme) - elif not self.port and port == port_by_scheme.get(scheme): - port = None - - return (scheme, host, port) == (self.scheme, self.host, self.port) - - def urlopen(self, method, url, body=None, headers=None, retries=None, - redirect=True, assert_same_host=True, timeout=_Default, - pool_timeout=None, release_conn=None, chunked=False, - **response_kw): - """ - Get a connection from the pool and perform an HTTP request. This is the - lowest level call for making a request, so you'll need to specify all - the raw details. - - .. note:: - - More commonly, it's appropriate to use a convenience method provided - by :class:`.RequestMethods`, such as :meth:`request`. - - .. note:: - - `release_conn` will only behave as expected if - `preload_content=False` because we want to make - `preload_content=False` the default behaviour someday soon without - breaking backwards compatibility. - - :param method: - HTTP request method (such as GET, POST, PUT, etc.) - - :param body: - Data to send in the request body (useful for creating - POST requests, see HTTPConnectionPool.post_url for - more convenience). - - :param headers: - Dictionary of custom headers to send, such as User-Agent, - If-None-Match, etc. If None, pool headers are used. If provided, - these headers completely replace any pool-specific headers. - - :param retries: - Configure the number of retries to allow before raising a - :class:`~urllib3.exceptions.MaxRetryError` exception. - - Pass ``None`` to retry until you receive a response. Pass a - :class:`~urllib3.util.retry.Retry` object for fine-grained control - over different types of retries. - Pass an integer number to retry connection errors that many times, - but no other types of errors. Pass zero to never retry. - - If ``False``, then retries are disabled and any exception is raised - immediately. Also, instead of raising a MaxRetryError on redirects, - the redirect response will be returned. - - :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. - - :param redirect: - If True, automatically handle redirects (status codes 301, 302, - 303, 307, 308). Each redirect counts as a retry. Disabling retries - will disable redirect, too. - - :param assert_same_host: - If ``True``, will make sure that the host of the pool requests is - consistent else will raise HostChangedError. When False, you can - use the pool on an HTTP proxy and request foreign hosts. - - :param timeout: - If specified, overrides the default timeout for this one - request. It may be a float (in seconds) or an instance of - :class:`urllib3.util.Timeout`. - - :param pool_timeout: - If set and the pool is set to block=True, then this method will - block for ``pool_timeout`` seconds and raise EmptyPoolError if no - connection is available within the time period. - - :param release_conn: - If False, then the urlopen call will not release the connection - back into the pool once a response is received (but will release if - you read the entire contents of the response such as when - `preload_content=True`). This is useful if you're not preloading - the response's content immediately. You will need to call - ``r.release_conn()`` on the response ``r`` to return the connection - back into the pool. If None, it takes the value of - ``response_kw.get('preload_content', True)``. - - :param chunked: - If True, urllib3 will send the body using chunked transfer - encoding. Otherwise, urllib3 will send the body using the standard - content-length form. Defaults to False. - - :param \**response_kw: - Additional parameters are passed to - :meth:`urllib3.response.HTTPResponse.from_httplib` - """ - if headers is None: - headers = self.headers - - if not isinstance(retries, Retry): - retries = Retry.from_int(retries, redirect=redirect, default=self.retries) - - if release_conn is None: - release_conn = response_kw.get('preload_content', True) - - # Check host - if assert_same_host and not self.is_same_host(url): - raise HostChangedError(self, url, retries) - - conn = None - - # Merge the proxy headers. Only do this in HTTP. We have to copy the - # headers dict so we can safely change it without those changes being - # reflected in anyone else's copy. - if self.scheme == 'http': - headers = headers.copy() - headers.update(self.proxy_headers) - - # Must keep the exception bound to a separate variable or else Python 3 - # complains about UnboundLocalError. - err = None - - # Keep track of whether we cleanly exited the except block. This - # ensures we do proper cleanup in finally. - clean_exit = False - - try: - # Request a connection from the queue. - timeout_obj = self._get_timeout(timeout) - conn = self._get_conn(timeout=pool_timeout) - - conn.timeout = timeout_obj.connect_timeout - - is_new_proxy_conn = self.proxy is not None and not getattr(conn, 'sock', None) - if is_new_proxy_conn: - self._prepare_proxy(conn) - - # Make the request on the httplib connection object. - httplib_response = self._make_request(conn, method, url, - timeout=timeout_obj, - body=body, headers=headers, - chunked=chunked) - - # If we're going to release the connection in ``finally:``, then - # the response doesn't need to know about the connection. Otherwise - # it will also try to release it and we'll have a double-release - # mess. - response_conn = conn if not release_conn else None - - # Import httplib's response into our own wrapper object - response = HTTPResponse.from_httplib(httplib_response, - pool=self, - connection=response_conn, - **response_kw) - - # Everything went great! - clean_exit = True - - except Empty: - # Timed out by queue. - raise EmptyPoolError(self, "No pool connections are available.") - - except (BaseSSLError, CertificateError) as e: - # Close the connection. If a connection is reused on which there - # was a Certificate error, the next request will certainly raise - # another Certificate error. - clean_exit = False - raise SSLError(e) - - except SSLError: - # Treat SSLError separately from BaseSSLError to preserve - # traceback. - clean_exit = False - raise - - except (TimeoutError, HTTPException, SocketError, ProtocolError) as e: - # Discard the connection for these exceptions. It will be - # be replaced during the next _get_conn() call. - clean_exit = False - - if isinstance(e, (SocketError, NewConnectionError)) and self.proxy: - e = ProxyError('Cannot connect to proxy.', e) - elif isinstance(e, (SocketError, HTTPException)): - e = ProtocolError('Connection aborted.', e) - - retries = retries.increment(method, url, error=e, _pool=self, - _stacktrace=sys.exc_info()[2]) - retries.sleep() - - # Keep track of the error for the retry warning. - err = e - - finally: - if not clean_exit: - # We hit some kind of exception, handled or otherwise. We need - # to throw the connection away unless explicitly told not to. - # Close the connection, set the variable to None, and make sure - # we put the None back in the pool to avoid leaking it. - conn = conn and conn.close() - release_conn = True - - if release_conn: - # Put the connection back to be reused. If the connection is - # expired then it will be None, which will get replaced with a - # fresh connection during _get_conn. - self._put_conn(conn) - - if not conn: - # Try again - log.warning("Retrying (%r) after connection " - "broken by '%r': %s", retries, err, url) - return self.urlopen(method, url, body, headers, retries, - redirect, assert_same_host, - timeout=timeout, pool_timeout=pool_timeout, - release_conn=release_conn, **response_kw) - - # Handle redirect? - redirect_location = redirect and response.get_redirect_location() - if redirect_location: - if response.status == 303: - method = 'GET' - - try: - retries = retries.increment(method, url, response=response, _pool=self) - except MaxRetryError: - if retries.raise_on_redirect: - # Release the connection for this response, since we're not - # returning it to be released manually. - response.release_conn() - raise - return response - - log.info("Redirecting %s -> %s", url, redirect_location) - return self.urlopen( - method, redirect_location, body, headers, - retries=retries, redirect=redirect, - assert_same_host=assert_same_host, - timeout=timeout, pool_timeout=pool_timeout, - release_conn=release_conn, **response_kw) - - # Check if we should retry the HTTP response. - if retries.is_forced_retry(method, status_code=response.status): - try: - retries = retries.increment(method, url, response=response, _pool=self) - except MaxRetryError: - if retries.raise_on_status: - # Release the connection for this response, since we're not - # returning it to be released manually. - response.release_conn() - raise - return response - retries.sleep() - log.info("Forced retry: %s", url) - return self.urlopen( - method, url, body, headers, - retries=retries, redirect=redirect, - assert_same_host=assert_same_host, - timeout=timeout, pool_timeout=pool_timeout, - release_conn=release_conn, **response_kw) - - return response - - -class HTTPSConnectionPool(HTTPConnectionPool): - """ - Same as :class:`.HTTPConnectionPool`, but HTTPS. - - When Python is compiled with the :mod:`ssl` module, then - :class:`.VerifiedHTTPSConnection` is used, which *can* verify certificates, - instead of :class:`.HTTPSConnection`. - - :class:`.VerifiedHTTPSConnection` uses one of ``assert_fingerprint``, - ``assert_hostname`` and ``host`` in this order to verify connections. - If ``assert_hostname`` is False, no verification is done. - - The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``, - ``ca_cert_dir``, and ``ssl_version`` are only used if :mod:`ssl` is - available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade - the connection socket into an SSL socket. - """ - - scheme = 'https' - ConnectionCls = HTTPSConnection - - def __init__(self, host, port=None, - strict=False, timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, - block=False, headers=None, retries=None, - _proxy=None, _proxy_headers=None, - key_file=None, cert_file=None, cert_reqs=None, - ca_certs=None, ssl_version=None, - assert_hostname=None, assert_fingerprint=None, - ca_cert_dir=None, **conn_kw): - - HTTPConnectionPool.__init__(self, host, port, strict, timeout, maxsize, - block, headers, retries, _proxy, _proxy_headers, - **conn_kw) - - if ca_certs and cert_reqs is None: - cert_reqs = 'CERT_REQUIRED' - - self.key_file = key_file - self.cert_file = cert_file - self.cert_reqs = cert_reqs - self.ca_certs = ca_certs - self.ca_cert_dir = ca_cert_dir - self.ssl_version = ssl_version - self.assert_hostname = assert_hostname - self.assert_fingerprint = assert_fingerprint - - def _prepare_conn(self, conn): - """ - Prepare the ``connection`` for :meth:`urllib3.util.ssl_wrap_socket` - and establish the tunnel if proxy is used. - """ - - if isinstance(conn, VerifiedHTTPSConnection): - conn.set_cert(key_file=self.key_file, - cert_file=self.cert_file, - cert_reqs=self.cert_reqs, - ca_certs=self.ca_certs, - ca_cert_dir=self.ca_cert_dir, - assert_hostname=self.assert_hostname, - assert_fingerprint=self.assert_fingerprint) - conn.ssl_version = self.ssl_version - - return conn - - def _prepare_proxy(self, conn): - """ - Establish tunnel connection early, because otherwise httplib - would improperly set Host: header to proxy's IP:port. - """ - # Python 2.7+ - try: - set_tunnel = conn.set_tunnel - except AttributeError: # Platform-specific: Python 2.6 - set_tunnel = conn._set_tunnel - - if sys.version_info <= (2, 6, 4) and not self.proxy_headers: # Python 2.6.4 and older - set_tunnel(self.host, self.port) - else: - set_tunnel(self.host, self.port, self.proxy_headers) - - conn.connect() - - def _new_conn(self): - """ - Return a fresh :class:`httplib.HTTPSConnection`. - """ - self.num_connections += 1 - log.info("Starting new HTTPS connection (%d): %s", - self.num_connections, self.host) - - if not self.ConnectionCls or self.ConnectionCls is DummyConnection: - raise SSLError("Can't connect to HTTPS URL because the SSL " - "module is not available.") - - actual_host = self.host - actual_port = self.port - if self.proxy is not None: - actual_host = self.proxy.host - actual_port = self.proxy.port - - conn = self.ConnectionCls(host=actual_host, port=actual_port, - timeout=self.timeout.connect_timeout, - strict=self.strict, **self.conn_kw) - - return self._prepare_conn(conn) - - def _validate_conn(self, conn): - """ - Called right before a request is made, after the socket is created. - """ - super(HTTPSConnectionPool, self)._validate_conn(conn) - - # Force connect early to allow us to validate the connection. - if not getattr(conn, 'sock', None): # AppEngine might not have `.sock` - conn.connect() - - if not conn.is_verified: - warnings.warn(( - 'Unverified HTTPS request is being made. ' - 'Adding certificate verification is strongly advised. See: ' - 'https://urllib3.readthedocs.org/en/latest/security.html'), - InsecureRequestWarning) - - -def connection_from_url(url, **kw): - """ - Given a url, return an :class:`.ConnectionPool` instance of its host. - - This is a shortcut for not having to parse out the scheme, host, and port - of the url before creating an :class:`.ConnectionPool` instance. - - :param url: - Absolute URL string that must include the scheme. Port is optional. - - :param \**kw: - Passes additional parameters to the constructor of the appropriate - :class:`.ConnectionPool`. Useful for specifying things like - timeout, maxsize, headers, etc. - - Example:: - - >>> conn = connection_from_url('http://google.com/') - >>> r = conn.request('GET', '/') - """ - scheme, host, port = get_host(url) - port = port or port_by_scheme.get(scheme, 80) - if scheme == 'https': - return HTTPSConnectionPool(host, port=port, **kw) - else: - return HTTPConnectionPool(host, port=port, **kw) diff --git a/lib27/site-packages/requests/packages/urllib3/contrib/appengine.py b/lib27/site-packages/requests/packages/urllib3/contrib/appengine.py deleted file mode 100644 index f4289c0ff..000000000 --- a/lib27/site-packages/requests/packages/urllib3/contrib/appengine.py +++ /dev/null @@ -1,231 +0,0 @@ -from __future__ import absolute_import -import logging -import os -import warnings - -from ..exceptions import ( - HTTPError, - HTTPWarning, - MaxRetryError, - ProtocolError, - TimeoutError, - SSLError -) - -from ..packages.six import BytesIO -from ..request import RequestMethods -from ..response import HTTPResponse -from ..util.timeout import Timeout -from ..util.retry import Retry - -try: - from google.appengine.api import urlfetch -except ImportError: - urlfetch = None - - -log = logging.getLogger(__name__) - - -class AppEnginePlatformWarning(HTTPWarning): - pass - - -class AppEnginePlatformError(HTTPError): - pass - - -class AppEngineManager(RequestMethods): - """ - Connection manager for Google App Engine sandbox applications. - - This manager uses the URLFetch service directly instead of using the - emulated httplib, and is subject to URLFetch limitations as described in - the App Engine documentation here: - - https://cloud.google.com/appengine/docs/python/urlfetch - - Notably it will raise an AppEnginePlatformError if: - * URLFetch is not available. - * If you attempt to use this on GAEv2 (Managed VMs), as full socket - support is available. - * If a request size is more than 10 megabytes. - * If a response size is more than 32 megabtyes. - * If you use an unsupported request method such as OPTIONS. - - Beyond those cases, it will raise normal urllib3 errors. - """ - - def __init__(self, headers=None, retries=None, validate_certificate=True): - if not urlfetch: - raise AppEnginePlatformError( - "URLFetch is not available in this environment.") - - if is_prod_appengine_mvms(): - raise AppEnginePlatformError( - "Use normal urllib3.PoolManager instead of AppEngineManager" - "on Managed VMs, as using URLFetch is not necessary in " - "this environment.") - - warnings.warn( - "urllib3 is using URLFetch on Google App Engine sandbox instead " - "of sockets. To use sockets directly instead of URLFetch see " - "https://urllib3.readthedocs.org/en/latest/contrib.html.", - AppEnginePlatformWarning) - - RequestMethods.__init__(self, headers) - self.validate_certificate = validate_certificate - - self.retries = retries or Retry.DEFAULT - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - # Return False to re-raise any potential exceptions - return False - - def urlopen(self, method, url, body=None, headers=None, - retries=None, redirect=True, timeout=Timeout.DEFAULT_TIMEOUT, - **response_kw): - - retries = self._get_retries(retries, redirect) - - try: - response = urlfetch.fetch( - url, - payload=body, - method=method, - headers=headers or {}, - allow_truncated=False, - follow_redirects=( - redirect and - retries.redirect != 0 and - retries.total), - deadline=self._get_absolute_timeout(timeout), - validate_certificate=self.validate_certificate, - ) - except urlfetch.DeadlineExceededError as e: - raise TimeoutError(self, e) - - except urlfetch.InvalidURLError as e: - if 'too large' in str(e): - raise AppEnginePlatformError( - "URLFetch request too large, URLFetch only " - "supports requests up to 10mb in size.", e) - raise ProtocolError(e) - - except urlfetch.DownloadError as e: - if 'Too many redirects' in str(e): - raise MaxRetryError(self, url, reason=e) - raise ProtocolError(e) - - except urlfetch.ResponseTooLargeError as e: - raise AppEnginePlatformError( - "URLFetch response too large, URLFetch only supports" - "responses up to 32mb in size.", e) - - except urlfetch.SSLCertificateError as e: - raise SSLError(e) - - except urlfetch.InvalidMethodError as e: - raise AppEnginePlatformError( - "URLFetch does not support method: %s" % method, e) - - http_response = self._urlfetch_response_to_http_response( - response, **response_kw) - - # Check for redirect response - if (http_response.get_redirect_location() and - retries.raise_on_redirect and redirect): - raise MaxRetryError(self, url, "too many redirects") - - # Check if we should retry the HTTP response. - if retries.is_forced_retry(method, status_code=http_response.status): - retries = retries.increment( - method, url, response=http_response, _pool=self) - log.info("Forced retry: %s", url) - retries.sleep() - return self.urlopen( - method, url, - body=body, headers=headers, - retries=retries, redirect=redirect, - timeout=timeout, **response_kw) - - return http_response - - def _urlfetch_response_to_http_response(self, urlfetch_resp, **response_kw): - - if is_prod_appengine(): - # Production GAE handles deflate encoding automatically, but does - # not remove the encoding header. - content_encoding = urlfetch_resp.headers.get('content-encoding') - - if content_encoding == 'deflate': - del urlfetch_resp.headers['content-encoding'] - - transfer_encoding = urlfetch_resp.headers.get('transfer-encoding') - # We have a full response's content, - # so let's make sure we don't report ourselves as chunked data. - if transfer_encoding == 'chunked': - encodings = transfer_encoding.split(",") - encodings.remove('chunked') - urlfetch_resp.headers['transfer-encoding'] = ','.join(encodings) - - return HTTPResponse( - # In order for decoding to work, we must present the content as - # a file-like object. - body=BytesIO(urlfetch_resp.content), - headers=urlfetch_resp.headers, - status=urlfetch_resp.status_code, - **response_kw - ) - - def _get_absolute_timeout(self, timeout): - if timeout is Timeout.DEFAULT_TIMEOUT: - return 5 # 5s is the default timeout for URLFetch. - if isinstance(timeout, Timeout): - if timeout._read is not timeout._connect: - warnings.warn( - "URLFetch does not support granular timeout settings, " - "reverting to total timeout.", AppEnginePlatformWarning) - return timeout.total - return timeout - - def _get_retries(self, retries, redirect): - if not isinstance(retries, Retry): - retries = Retry.from_int( - retries, redirect=redirect, default=self.retries) - - if retries.connect or retries.read or retries.redirect: - warnings.warn( - "URLFetch only supports total retries and does not " - "recognize connect, read, or redirect retry parameters.", - AppEnginePlatformWarning) - - return retries - - -def is_appengine(): - return (is_local_appengine() or - is_prod_appengine() or - is_prod_appengine_mvms()) - - -def is_appengine_sandbox(): - return is_appengine() and not is_prod_appengine_mvms() - - -def is_local_appengine(): - return ('APPENGINE_RUNTIME' in os.environ and - 'Development/' in os.environ['SERVER_SOFTWARE']) - - -def is_prod_appengine(): - return ('APPENGINE_RUNTIME' in os.environ and - 'Google App Engine/' in os.environ['SERVER_SOFTWARE'] and - not is_prod_appengine_mvms()) - - -def is_prod_appengine_mvms(): - return os.environ.get('GAE_VM', False) == 'true' diff --git a/lib27/site-packages/requests/packages/urllib3/contrib/ntlmpool.py b/lib27/site-packages/requests/packages/urllib3/contrib/ntlmpool.py deleted file mode 100644 index 11d0b5c34..000000000 --- a/lib27/site-packages/requests/packages/urllib3/contrib/ntlmpool.py +++ /dev/null @@ -1,115 +0,0 @@ -""" -NTLM authenticating pool, contributed by erikcederstran - -Issue #10, see: http://code.google.com/p/urllib3/issues/detail?id=10 -""" -from __future__ import absolute_import - -try: - from http.client import HTTPSConnection -except ImportError: - from httplib import HTTPSConnection -from logging import getLogger -from ntlm import ntlm - -from urllib3 import HTTPSConnectionPool - - -log = getLogger(__name__) - - -class NTLMConnectionPool(HTTPSConnectionPool): - """ - Implements an NTLM authentication version of an urllib3 connection pool - """ - - scheme = 'https' - - def __init__(self, user, pw, authurl, *args, **kwargs): - """ - authurl is a random URL on the server that is protected by NTLM. - user is the Windows user, probably in the DOMAIN\\username format. - pw is the password for the user. - """ - super(NTLMConnectionPool, self).__init__(*args, **kwargs) - self.authurl = authurl - self.rawuser = user - user_parts = user.split('\\', 1) - self.domain = user_parts[0].upper() - self.user = user_parts[1] - self.pw = pw - - def _new_conn(self): - # Performs the NTLM handshake that secures the connection. The socket - # must be kept open while requests are performed. - self.num_connections += 1 - log.debug('Starting NTLM HTTPS connection no. %d: https://%s%s', - self.num_connections, self.host, self.authurl) - - headers = {} - headers['Connection'] = 'Keep-Alive' - req_header = 'Authorization' - resp_header = 'www-authenticate' - - conn = HTTPSConnection(host=self.host, port=self.port) - - # Send negotiation message - headers[req_header] = ( - 'NTLM %s' % ntlm.create_NTLM_NEGOTIATE_MESSAGE(self.rawuser)) - log.debug('Request headers: %s', headers) - conn.request('GET', self.authurl, None, headers) - res = conn.getresponse() - reshdr = dict(res.getheaders()) - log.debug('Response status: %s %s', res.status, res.reason) - log.debug('Response headers: %s', reshdr) - log.debug('Response data: %s [...]', res.read(100)) - - # Remove the reference to the socket, so that it can not be closed by - # the response object (we want to keep the socket open) - res.fp = None - - # Server should respond with a challenge message - auth_header_values = reshdr[resp_header].split(', ') - auth_header_value = None - for s in auth_header_values: - if s[:5] == 'NTLM ': - auth_header_value = s[5:] - if auth_header_value is None: - raise Exception('Unexpected %s response header: %s' % - (resp_header, reshdr[resp_header])) - - # Send authentication message - ServerChallenge, NegotiateFlags = \ - ntlm.parse_NTLM_CHALLENGE_MESSAGE(auth_header_value) - auth_msg = ntlm.create_NTLM_AUTHENTICATE_MESSAGE(ServerChallenge, - self.user, - self.domain, - self.pw, - NegotiateFlags) - headers[req_header] = 'NTLM %s' % auth_msg - log.debug('Request headers: %s', headers) - conn.request('GET', self.authurl, None, headers) - res = conn.getresponse() - log.debug('Response status: %s %s', res.status, res.reason) - log.debug('Response headers: %s', dict(res.getheaders())) - log.debug('Response data: %s [...]', res.read()[:100]) - if res.status != 200: - if res.status == 401: - raise Exception('Server rejected request: wrong ' - 'username or password') - raise Exception('Wrong server response: %s %s' % - (res.status, res.reason)) - - res.fp = None - log.debug('Connection established') - return conn - - def urlopen(self, method, url, body=None, headers=None, retries=3, - redirect=True, assert_same_host=True): - if headers is None: - headers = {} - headers['Connection'] = 'Keep-Alive' - return super(NTLMConnectionPool, self).urlopen(method, url, body, - headers, retries, - redirect, - assert_same_host) diff --git a/lib27/site-packages/requests/packages/urllib3/contrib/pyopenssl.py b/lib27/site-packages/requests/packages/urllib3/contrib/pyopenssl.py deleted file mode 100644 index ed3b9cc34..000000000 --- a/lib27/site-packages/requests/packages/urllib3/contrib/pyopenssl.py +++ /dev/null @@ -1,358 +0,0 @@ -'''SSL with SNI_-support for Python 2. Follow these instructions if you would -like to verify SSL certificates in Python 2. Note, the default libraries do -*not* do certificate checking; you need to do additional work to validate -certificates yourself. - -This needs the following packages installed: - -* pyOpenSSL (tested with 0.13) -* ndg-httpsclient (tested with 0.3.2) -* pyasn1 (tested with 0.1.6) - -You can install them with the following command: - - pip install pyopenssl ndg-httpsclient pyasn1 - -To activate certificate checking, call -:func:`~urllib3.contrib.pyopenssl.inject_into_urllib3` from your Python code -before you begin making HTTP requests. This can be done in a ``sitecustomize`` -module, or at any other time before your application begins using ``urllib3``, -like this:: - - try: - import urllib3.contrib.pyopenssl - urllib3.contrib.pyopenssl.inject_into_urllib3() - except ImportError: - pass - -Now you can use :mod:`urllib3` as you normally would, and it will support SNI -when the required modules are installed. - -Activating this module also has the positive side effect of disabling SSL/TLS -compression in Python 2 (see `CRIME attack`_). - -If you want to configure the default list of supported cipher suites, you can -set the ``urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST`` variable. - -Module Variables ----------------- - -:var DEFAULT_SSL_CIPHER_LIST: The list of supported SSL/TLS cipher suites. - -.. _sni: https://en.wikipedia.org/wiki/Server_Name_Indication -.. _crime attack: https://en.wikipedia.org/wiki/CRIME_(security_exploit) - -''' -from __future__ import absolute_import - -try: - from ndg.httpsclient.ssl_peer_verification import SUBJ_ALT_NAME_SUPPORT - from ndg.httpsclient.subj_alt_name import SubjectAltName as BaseSubjectAltName -except SyntaxError as e: - raise ImportError(e) - -import OpenSSL.SSL -from pyasn1.codec.der import decoder as der_decoder -from pyasn1.type import univ, constraint -from socket import timeout, error as SocketError - -try: # Platform-specific: Python 2 - from socket import _fileobject -except ImportError: # Platform-specific: Python 3 - _fileobject = None - from urllib3.packages.backports.makefile import backport_makefile - -import ssl -import select -import six - -from .. import connection -from .. import util - -__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] - -# SNI only *really* works if we can read the subjectAltName of certificates. -HAS_SNI = SUBJ_ALT_NAME_SUPPORT - -# Map from urllib3 to PyOpenSSL compatible parameter-values. -_openssl_versions = { - ssl.PROTOCOL_SSLv23: OpenSSL.SSL.SSLv23_METHOD, - ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, -} - -if hasattr(ssl, 'PROTOCOL_TLSv1_1') and hasattr(OpenSSL.SSL, 'TLSv1_1_METHOD'): - _openssl_versions[ssl.PROTOCOL_TLSv1_1] = OpenSSL.SSL.TLSv1_1_METHOD - -if hasattr(ssl, 'PROTOCOL_TLSv1_2') and hasattr(OpenSSL.SSL, 'TLSv1_2_METHOD'): - _openssl_versions[ssl.PROTOCOL_TLSv1_2] = OpenSSL.SSL.TLSv1_2_METHOD - -try: - _openssl_versions.update({ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD}) -except AttributeError: - pass - -_openssl_verify = { - ssl.CERT_NONE: OpenSSL.SSL.VERIFY_NONE, - ssl.CERT_OPTIONAL: OpenSSL.SSL.VERIFY_PEER, - ssl.CERT_REQUIRED: - OpenSSL.SSL.VERIFY_PEER + OpenSSL.SSL.VERIFY_FAIL_IF_NO_PEER_CERT, -} - -DEFAULT_SSL_CIPHER_LIST = util.ssl_.DEFAULT_CIPHERS.encode('ascii') - -# OpenSSL will only write 16K at a time -SSL_WRITE_BLOCKSIZE = 16384 - -orig_util_HAS_SNI = util.HAS_SNI -orig_connection_ssl_wrap_socket = connection.ssl_wrap_socket - - -def inject_into_urllib3(): - 'Monkey-patch urllib3 with PyOpenSSL-backed SSL-support.' - - connection.ssl_wrap_socket = ssl_wrap_socket - util.HAS_SNI = HAS_SNI - util.IS_PYOPENSSL = True - - -def extract_from_urllib3(): - 'Undo monkey-patching by :func:`inject_into_urllib3`.' - - connection.ssl_wrap_socket = orig_connection_ssl_wrap_socket - util.HAS_SNI = orig_util_HAS_SNI - util.IS_PYOPENSSL = False - - -# Note: This is a slightly bug-fixed version of same from ndg-httpsclient. -class SubjectAltName(BaseSubjectAltName): - '''ASN.1 implementation for subjectAltNames support''' - - # There is no limit to how many SAN certificates a certificate may have, - # however this needs to have some limit so we'll set an arbitrarily high - # limit. - sizeSpec = univ.SequenceOf.sizeSpec + \ - constraint.ValueSizeConstraint(1, 1024) - - -# Note: This is a slightly bug-fixed version of same from ndg-httpsclient. -def get_subj_alt_name(peer_cert): - # Search through extensions - dns_name = [] - if not SUBJ_ALT_NAME_SUPPORT: - return dns_name - - general_names = SubjectAltName() - for i in range(peer_cert.get_extension_count()): - ext = peer_cert.get_extension(i) - ext_name = ext.get_short_name() - if ext_name != b'subjectAltName': - continue - - # PyOpenSSL returns extension data in ASN.1 encoded form - ext_dat = ext.get_data() - decoded_dat = der_decoder.decode(ext_dat, - asn1Spec=general_names) - - for name in decoded_dat: - if not isinstance(name, SubjectAltName): - continue - for entry in range(len(name)): - component = name.getComponentByPosition(entry) - if component.getName() != 'dNSName': - continue - dns_name.append(str(component.getComponent())) - - return dns_name - - -class WrappedSocket(object): - '''API-compatibility wrapper for Python OpenSSL's Connection-class. - - Note: _makefile_refs, _drop() and _reuse() are needed for the garbage - collector of pypy. - ''' - - def __init__(self, connection, socket, suppress_ragged_eofs=True): - self.connection = connection - self.socket = socket - self.suppress_ragged_eofs = suppress_ragged_eofs - self._makefile_refs = 0 - self._closed = False - - def fileno(self): - return self.socket.fileno() - - # Copy-pasted from Python 3.5 source code - def _decref_socketios(self): - if self._makefile_refs > 0: - self._makefile_refs -= 1 - if self._closed: - self.close() - - def recv(self, *args, **kwargs): - try: - data = self.connection.recv(*args, **kwargs) - except OpenSSL.SSL.SysCallError as e: - if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): - return b'' - else: - raise SocketError(str(e)) - except OpenSSL.SSL.ZeroReturnError as e: - if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: - return b'' - else: - raise - except OpenSSL.SSL.WantReadError: - rd, wd, ed = select.select( - [self.socket], [], [], self.socket.gettimeout()) - if not rd: - raise timeout('The read operation timed out') - else: - return self.recv(*args, **kwargs) - else: - return data - - def recv_into(self, *args, **kwargs): - try: - return self.connection.recv_into(*args, **kwargs) - except OpenSSL.SSL.SysCallError as e: - if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): - return 0 - else: - raise SocketError(str(e)) - except OpenSSL.SSL.ZeroReturnError as e: - if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: - return 0 - else: - raise - except OpenSSL.SSL.WantReadError: - rd, wd, ed = select.select( - [self.socket], [], [], self.socket.gettimeout()) - if not rd: - raise timeout('The read operation timed out') - else: - return self.recv_into(*args, **kwargs) - - def settimeout(self, timeout): - return self.socket.settimeout(timeout) - - def _send_until_done(self, data): - while True: - try: - return self.connection.send(data) - except OpenSSL.SSL.WantWriteError: - _, wlist, _ = select.select([], [self.socket], [], - self.socket.gettimeout()) - if not wlist: - raise timeout() - continue - - def sendall(self, data): - total_sent = 0 - while total_sent < len(data): - sent = self._send_until_done(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) - total_sent += sent - - def shutdown(self): - # FIXME rethrow compatible exceptions should we ever use this - self.connection.shutdown() - - def close(self): - if self._makefile_refs < 1: - try: - self._closed = True - return self.connection.close() - except OpenSSL.SSL.Error: - return - else: - self._makefile_refs -= 1 - - def getpeercert(self, binary_form=False): - x509 = self.connection.get_peer_certificate() - - if not x509: - return x509 - - if binary_form: - return OpenSSL.crypto.dump_certificate( - OpenSSL.crypto.FILETYPE_ASN1, - x509) - - return { - 'subject': ( - (('commonName', x509.get_subject().CN),), - ), - 'subjectAltName': [ - ('DNS', value) - for value in get_subj_alt_name(x509) - ] - } - - def _reuse(self): - self._makefile_refs += 1 - - def _drop(self): - if self._makefile_refs < 1: - self.close() - else: - self._makefile_refs -= 1 - - -if _fileobject: # Platform-specific: Python 2 - def makefile(self, mode, bufsize=-1): - self._makefile_refs += 1 - return _fileobject(self, mode, bufsize, close=True) -else: # Platform-specific: Python 3 - makefile = backport_makefile - -WrappedSocket.makefile = makefile - - -def _verify_callback(cnx, x509, err_no, err_depth, return_code): - return err_no == 0 - - -def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, - ca_certs=None, server_hostname=None, - ssl_version=None, ca_cert_dir=None): - ctx = OpenSSL.SSL.Context(_openssl_versions[ssl_version]) - if certfile: - keyfile = keyfile or certfile # Match behaviour of the normal python ssl library - ctx.use_certificate_file(certfile) - if keyfile: - ctx.use_privatekey_file(keyfile) - if cert_reqs != ssl.CERT_NONE: - ctx.set_verify(_openssl_verify[cert_reqs], _verify_callback) - if ca_certs or ca_cert_dir: - try: - ctx.load_verify_locations(ca_certs, ca_cert_dir) - except OpenSSL.SSL.Error as e: - raise ssl.SSLError('bad ca_certs: %r' % ca_certs, e) - else: - ctx.set_default_verify_paths() - - # Disable TLS compression to mitigate CRIME attack (issue #309) - OP_NO_COMPRESSION = 0x20000 - ctx.set_options(OP_NO_COMPRESSION) - - # Set list of supported ciphersuites. - ctx.set_cipher_list(DEFAULT_SSL_CIPHER_LIST) - - cnx = OpenSSL.SSL.Connection(ctx, sock) - if isinstance(server_hostname, six.text_type): # Platform-specific: Python 3 - server_hostname = server_hostname.encode('utf-8') - cnx.set_tlsext_host_name(server_hostname) - cnx.set_connect_state() - while True: - try: - cnx.do_handshake() - except OpenSSL.SSL.WantReadError: - rd, _, _ = select.select([sock], [], [], sock.gettimeout()) - if not rd: - raise timeout('select timed out') - continue - except OpenSSL.SSL.Error as e: - raise ssl.SSLError('bad handshake: %r' % e) - break - - return WrappedSocket(cnx, sock) diff --git a/lib27/site-packages/requests/packages/urllib3/contrib/socks.py b/lib27/site-packages/requests/packages/urllib3/contrib/socks.py deleted file mode 100644 index 3748fee53..000000000 --- a/lib27/site-packages/requests/packages/urllib3/contrib/socks.py +++ /dev/null @@ -1,172 +0,0 @@ -# -*- coding: utf-8 -*- -""" -SOCKS support for urllib3 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -This contrib module contains provisional support for SOCKS proxies from within -urllib3. This module supports SOCKS4 (specifically the SOCKS4A variant) and -SOCKS5. To enable its functionality, either install PySocks or install this -module with the ``socks`` extra. - -Known Limitations: - -- Currently PySocks does not support contacting remote websites via literal - IPv6 addresses. Any such connection attempt will fail. -- Currently PySocks does not support IPv6 connections to the SOCKS proxy. Any - such connection attempt will fail. -""" -from __future__ import absolute_import - -try: - import socks -except ImportError: - import warnings - from ..exceptions import DependencyWarning - - warnings.warn(( - 'SOCKS support in urllib3 requires the installation of optional ' - 'dependencies: specifically, PySocks. For more information, see ' - 'https://urllib3.readthedocs.org/en/latest/contrib.html#socks-proxies' - ), - DependencyWarning - ) - raise - -from socket import error as SocketError, timeout as SocketTimeout - -from ..connection import ( - HTTPConnection, HTTPSConnection -) -from ..connectionpool import ( - HTTPConnectionPool, HTTPSConnectionPool -) -from ..exceptions import ConnectTimeoutError, NewConnectionError -from ..poolmanager import PoolManager -from ..util.url import parse_url - -try: - import ssl -except ImportError: - ssl = None - - -class SOCKSConnection(HTTPConnection): - """ - A plain-text HTTP connection that connects via a SOCKS proxy. - """ - def __init__(self, *args, **kwargs): - self._socks_options = kwargs.pop('_socks_options') - super(SOCKSConnection, self).__init__(*args, **kwargs) - - def _new_conn(self): - """ - Establish a new connection via the SOCKS proxy. - """ - extra_kw = {} - if self.source_address: - extra_kw['source_address'] = self.source_address - - if self.socket_options: - extra_kw['socket_options'] = self.socket_options - - try: - conn = socks.create_connection( - (self.host, self.port), - proxy_type=self._socks_options['socks_version'], - proxy_addr=self._socks_options['proxy_host'], - proxy_port=self._socks_options['proxy_port'], - proxy_username=self._socks_options['username'], - proxy_password=self._socks_options['password'], - timeout=self.timeout, - **extra_kw - ) - - except SocketTimeout as e: - raise ConnectTimeoutError( - self, "Connection to %s timed out. (connect timeout=%s)" % - (self.host, self.timeout)) - - except socks.ProxyError as e: - # This is fragile as hell, but it seems to be the only way to raise - # useful errors here. - if e.socket_err: - error = e.socket_err - if isinstance(error, SocketTimeout): - raise ConnectTimeoutError( - self, - "Connection to %s timed out. (connect timeout=%s)" % - (self.host, self.timeout) - ) - else: - raise NewConnectionError( - self, - "Failed to establish a new connection: %s" % error - ) - else: - raise NewConnectionError( - self, - "Failed to establish a new connection: %s" % e - ) - - except SocketError as e: # Defensive: PySocks should catch all these. - raise NewConnectionError( - self, "Failed to establish a new connection: %s" % e) - - return conn - - -# We don't need to duplicate the Verified/Unverified distinction from -# urllib3/connection.py here because the HTTPSConnection will already have been -# correctly set to either the Verified or Unverified form by that module. This -# means the SOCKSHTTPSConnection will automatically be the correct type. -class SOCKSHTTPSConnection(SOCKSConnection, HTTPSConnection): - pass - - -class SOCKSHTTPConnectionPool(HTTPConnectionPool): - ConnectionCls = SOCKSConnection - - -class SOCKSHTTPSConnectionPool(HTTPSConnectionPool): - ConnectionCls = SOCKSHTTPSConnection - - -class SOCKSProxyManager(PoolManager): - """ - A version of the urllib3 ProxyManager that routes connections via the - defined SOCKS proxy. - """ - pool_classes_by_scheme = { - 'http': SOCKSHTTPConnectionPool, - 'https': SOCKSHTTPSConnectionPool, - } - - def __init__(self, proxy_url, username=None, password=None, - num_pools=10, headers=None, **connection_pool_kw): - parsed = parse_url(proxy_url) - - if parsed.scheme == 'socks5': - socks_version = socks.PROXY_TYPE_SOCKS5 - elif parsed.scheme == 'socks4': - socks_version = socks.PROXY_TYPE_SOCKS4 - else: - raise ValueError( - "Unable to determine SOCKS version from %s" % proxy_url - ) - - self.proxy_url = proxy_url - - socks_options = { - 'socks_version': socks_version, - 'proxy_host': parsed.host, - 'proxy_port': parsed.port, - 'username': username, - 'password': password, - } - connection_pool_kw['_socks_options'] = socks_options - - super(SOCKSProxyManager, self).__init__( - num_pools, headers, **connection_pool_kw - ) - - self.pool_classes_by_scheme = SOCKSProxyManager.pool_classes_by_scheme diff --git a/lib27/site-packages/requests/packages/urllib3/exceptions.py b/lib27/site-packages/requests/packages/urllib3/exceptions.py deleted file mode 100644 index f2e65917b..000000000 --- a/lib27/site-packages/requests/packages/urllib3/exceptions.py +++ /dev/null @@ -1,209 +0,0 @@ -from __future__ import absolute_import -# Base Exceptions - - -class HTTPError(Exception): - "Base exception used by this module." - pass - - -class HTTPWarning(Warning): - "Base warning used by this module." - pass - - -class PoolError(HTTPError): - "Base exception for errors caused within a pool." - def __init__(self, pool, message): - self.pool = pool - HTTPError.__init__(self, "%s: %s" % (pool, message)) - - def __reduce__(self): - # For pickling purposes. - return self.__class__, (None, None) - - -class RequestError(PoolError): - "Base exception for PoolErrors that have associated URLs." - def __init__(self, pool, url, message): - self.url = url - PoolError.__init__(self, pool, message) - - def __reduce__(self): - # For pickling purposes. - return self.__class__, (None, self.url, None) - - -class SSLError(HTTPError): - "Raised when SSL certificate fails in an HTTPS connection." - pass - - -class ProxyError(HTTPError): - "Raised when the connection to a proxy fails." - pass - - -class DecodeError(HTTPError): - "Raised when automatic decoding based on Content-Type fails." - pass - - -class ProtocolError(HTTPError): - "Raised when something unexpected happens mid-request/response." - pass - - -#: Renamed to ProtocolError but aliased for backwards compatibility. -ConnectionError = ProtocolError - - -# Leaf Exceptions - -class MaxRetryError(RequestError): - """Raised when the maximum number of retries is exceeded. - - :param pool: The connection pool - :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool` - :param string url: The requested Url - :param exceptions.Exception reason: The underlying error - - """ - - def __init__(self, pool, url, reason=None): - self.reason = reason - - message = "Max retries exceeded with url: %s (Caused by %r)" % ( - url, reason) - - RequestError.__init__(self, pool, url, message) - - -class HostChangedError(RequestError): - "Raised when an existing pool gets a request for a foreign host." - - def __init__(self, pool, url, retries=3): - message = "Tried to open a foreign host with url: %s" % url - RequestError.__init__(self, pool, url, message) - self.retries = retries - - -class TimeoutStateError(HTTPError): - """ Raised when passing an invalid state to a timeout """ - pass - - -class TimeoutError(HTTPError): - """ Raised when a socket timeout error occurs. - - Catching this error will catch both :exc:`ReadTimeoutErrors - ` and :exc:`ConnectTimeoutErrors `. - """ - pass - - -class ReadTimeoutError(TimeoutError, RequestError): - "Raised when a socket timeout occurs while receiving data from a server" - pass - - -# This timeout error does not have a URL attached and needs to inherit from the -# base HTTPError -class ConnectTimeoutError(TimeoutError): - "Raised when a socket timeout occurs while connecting to a server" - pass - - -class NewConnectionError(ConnectTimeoutError, PoolError): - "Raised when we fail to establish a new connection. Usually ECONNREFUSED." - pass - - -class EmptyPoolError(PoolError): - "Raised when a pool runs out of connections and no more are allowed." - pass - - -class ClosedPoolError(PoolError): - "Raised when a request enters a pool after the pool has been closed." - pass - - -class LocationValueError(ValueError, HTTPError): - "Raised when there is something wrong with a given URL input." - pass - - -class LocationParseError(LocationValueError): - "Raised when get_host or similar fails to parse the URL input." - - def __init__(self, location): - message = "Failed to parse: %s" % location - HTTPError.__init__(self, message) - - self.location = location - - -class ResponseError(HTTPError): - "Used as a container for an error reason supplied in a MaxRetryError." - GENERIC_ERROR = 'too many error responses' - SPECIFIC_ERROR = 'too many {status_code} error responses' - - -class SecurityWarning(HTTPWarning): - "Warned when perfoming security reducing actions" - pass - - -class SubjectAltNameWarning(SecurityWarning): - "Warned when connecting to a host with a certificate missing a SAN." - pass - - -class InsecureRequestWarning(SecurityWarning): - "Warned when making an unverified HTTPS request." - pass - - -class SystemTimeWarning(SecurityWarning): - "Warned when system time is suspected to be wrong" - pass - - -class InsecurePlatformWarning(SecurityWarning): - "Warned when certain SSL configuration is not available on a platform." - pass - - -class SNIMissingWarning(HTTPWarning): - "Warned when making a HTTPS request without SNI available." - pass - - -class DependencyWarning(HTTPWarning): - """ - Warned when an attempt is made to import a module with missing optional - dependencies. - """ - pass - - -class ResponseNotChunked(ProtocolError, ValueError): - "Response needs to be chunked in order to read it as chunks." - pass - - -class ProxySchemeUnknown(AssertionError, ValueError): - "ProxyManager does not support the supplied scheme" - # TODO(t-8ch): Stop inheriting from AssertionError in v2.0. - - def __init__(self, scheme): - message = "Not supported proxy scheme %s" % scheme - super(ProxySchemeUnknown, self).__init__(message) - - -class HeaderParsingError(HTTPError): - "Raised by assert_header_parsing, but we convert it to a log.warning statement." - def __init__(self, defects, unparsed_data): - message = '%s, unparsed data: %r' % (defects or 'Unknown', unparsed_data) - super(HeaderParsingError, self).__init__(message) diff --git a/lib27/site-packages/requests/packages/urllib3/fields.py b/lib27/site-packages/requests/packages/urllib3/fields.py deleted file mode 100644 index 8fa2a1276..000000000 --- a/lib27/site-packages/requests/packages/urllib3/fields.py +++ /dev/null @@ -1,178 +0,0 @@ -from __future__ import absolute_import -import email.utils -import mimetypes - -from .packages import six - - -def guess_content_type(filename, default='application/octet-stream'): - """ - Guess the "Content-Type" of a file. - - :param filename: - The filename to guess the "Content-Type" of using :mod:`mimetypes`. - :param default: - If no "Content-Type" can be guessed, default to `default`. - """ - if filename: - return mimetypes.guess_type(filename)[0] or default - return default - - -def format_header_param(name, value): - """ - Helper function to format and quote a single header parameter. - - Particularly useful for header parameters which might contain - non-ASCII values, like file names. This follows RFC 2231, as - suggested by RFC 2388 Section 4.4. - - :param name: - The name of the parameter, a string expected to be ASCII only. - :param value: - The value of the parameter, provided as a unicode string. - """ - if not any(ch in value for ch in '"\\\r\n'): - result = '%s="%s"' % (name, value) - try: - result.encode('ascii') - except (UnicodeEncodeError, UnicodeDecodeError): - pass - else: - return result - if not six.PY3 and isinstance(value, six.text_type): # Python 2: - value = value.encode('utf-8') - value = email.utils.encode_rfc2231(value, 'utf-8') - value = '%s*=%s' % (name, value) - return value - - -class RequestField(object): - """ - A data container for request body parameters. - - :param name: - The name of this request field. - :param data: - The data/value body. - :param filename: - An optional filename of the request field. - :param headers: - An optional dict-like object of headers to initially use for the field. - """ - def __init__(self, name, data, filename=None, headers=None): - self._name = name - self._filename = filename - self.data = data - self.headers = {} - if headers: - self.headers = dict(headers) - - @classmethod - def from_tuples(cls, fieldname, value): - """ - A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. - - Supports constructing :class:`~urllib3.fields.RequestField` from - parameter of key/value strings AND key/filetuple. A filetuple is a - (filename, data, MIME type) tuple where the MIME type is optional. - For example:: - - 'foo': 'bar', - 'fakefile': ('foofile.txt', 'contents of foofile'), - 'realfile': ('barfile.txt', open('realfile').read()), - 'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'), - 'nonamefile': 'contents of nonamefile field', - - Field names and filenames must be unicode. - """ - if isinstance(value, tuple): - if len(value) == 3: - filename, data, content_type = value - else: - filename, data = value - content_type = guess_content_type(filename) - else: - filename = None - content_type = None - data = value - - request_param = cls(fieldname, data, filename=filename) - request_param.make_multipart(content_type=content_type) - - return request_param - - def _render_part(self, name, value): - """ - Overridable helper function to format a single header parameter. - - :param name: - The name of the parameter, a string expected to be ASCII only. - :param value: - The value of the parameter, provided as a unicode string. - """ - return format_header_param(name, value) - - def _render_parts(self, header_parts): - """ - Helper function to format and quote a single header. - - Useful for single headers that are composed of multiple items. E.g., - 'Content-Disposition' fields. - - :param header_parts: - A sequence of (k, v) typles or a :class:`dict` of (k, v) to format - as `k1="v1"; k2="v2"; ...`. - """ - parts = [] - iterable = header_parts - if isinstance(header_parts, dict): - iterable = header_parts.items() - - for name, value in iterable: - if value: - parts.append(self._render_part(name, value)) - - return '; '.join(parts) - - def render_headers(self): - """ - Renders the headers for this request field. - """ - lines = [] - - sort_keys = ['Content-Disposition', 'Content-Type', 'Content-Location'] - for sort_key in sort_keys: - if self.headers.get(sort_key, False): - lines.append('%s: %s' % (sort_key, self.headers[sort_key])) - - for header_name, header_value in self.headers.items(): - if header_name not in sort_keys: - if header_value: - lines.append('%s: %s' % (header_name, header_value)) - - lines.append('\r\n') - return '\r\n'.join(lines) - - def make_multipart(self, content_disposition=None, content_type=None, - content_location=None): - """ - Makes this request field into a multipart request field. - - This method overrides "Content-Disposition", "Content-Type" and - "Content-Location" headers to the request parameter. - - :param content_type: - The 'Content-Type' of the request body. - :param content_location: - The 'Content-Location' of the request body. - - """ - self.headers['Content-Disposition'] = content_disposition or 'form-data' - self.headers['Content-Disposition'] += '; '.join([ - '', self._render_parts( - (('name', self._name), ('filename', self._filename)) - ) - ]) - self.headers['Content-Type'] = content_type - self.headers['Content-Location'] = content_location diff --git a/lib27/site-packages/requests/packages/urllib3/filepost.py b/lib27/site-packages/requests/packages/urllib3/filepost.py deleted file mode 100644 index 97a2843ca..000000000 --- a/lib27/site-packages/requests/packages/urllib3/filepost.py +++ /dev/null @@ -1,94 +0,0 @@ -from __future__ import absolute_import -import codecs - -from uuid import uuid4 -from io import BytesIO - -from .packages import six -from .packages.six import b -from .fields import RequestField - -writer = codecs.lookup('utf-8')[3] - - -def choose_boundary(): - """ - Our embarassingly-simple replacement for mimetools.choose_boundary. - """ - return uuid4().hex - - -def iter_field_objects(fields): - """ - Iterate over fields. - - Supports list of (k, v) tuples and dicts, and lists of - :class:`~urllib3.fields.RequestField`. - - """ - if isinstance(fields, dict): - i = six.iteritems(fields) - else: - i = iter(fields) - - for field in i: - if isinstance(field, RequestField): - yield field - else: - yield RequestField.from_tuples(*field) - - -def iter_fields(fields): - """ - .. deprecated:: 1.6 - - Iterate over fields. - - The addition of :class:`~urllib3.fields.RequestField` makes this function - obsolete. Instead, use :func:`iter_field_objects`, which returns - :class:`~urllib3.fields.RequestField` objects. - - Supports list of (k, v) tuples and dicts. - """ - if isinstance(fields, dict): - return ((k, v) for k, v in six.iteritems(fields)) - - return ((k, v) for k, v in fields) - - -def encode_multipart_formdata(fields, boundary=None): - """ - Encode a dictionary of ``fields`` using the multipart/form-data MIME format. - - :param fields: - Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). - - :param boundary: - If not specified, then a random boundary will be generated using - :func:`mimetools.choose_boundary`. - """ - body = BytesIO() - if boundary is None: - boundary = choose_boundary() - - for field in iter_field_objects(fields): - body.write(b('--%s\r\n' % (boundary))) - - writer(body).write(field.render_headers()) - data = field.data - - if isinstance(data, int): - data = str(data) # Backwards compatibility - - if isinstance(data, six.text_type): - writer(body).write(data) - else: - body.write(data) - - body.write(b'\r\n') - - body.write(b('--%s--\r\n' % (boundary))) - - content_type = str('multipart/form-data; boundary=%s' % boundary) - - return body.getvalue(), content_type diff --git a/lib27/site-packages/requests/packages/urllib3/packages/__init__.py b/lib27/site-packages/requests/packages/urllib3/packages/__init__.py deleted file mode 100644 index 170e974c1..000000000 --- a/lib27/site-packages/requests/packages/urllib3/packages/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from __future__ import absolute_import - -from . import ssl_match_hostname - -__all__ = ('ssl_match_hostname', ) diff --git a/lib27/site-packages/requests/packages/urllib3/packages/ordered_dict.py b/lib27/site-packages/requests/packages/urllib3/packages/ordered_dict.py deleted file mode 100644 index 4479363cc..000000000 --- a/lib27/site-packages/requests/packages/urllib3/packages/ordered_dict.py +++ /dev/null @@ -1,259 +0,0 @@ -# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. -# Passes Python2.7's test suite and incorporates all the latest updates. -# Copyright 2009 Raymond Hettinger, released under the MIT License. -# http://code.activestate.com/recipes/576693/ -try: - from thread import get_ident as _get_ident -except ImportError: - from dummy_thread import get_ident as _get_ident - -try: - from _abcoll import KeysView, ValuesView, ItemsView -except ImportError: - pass - - -class OrderedDict(dict): - 'Dictionary that remembers insertion order' - # An inherited dict maps keys to values. - # The inherited dict provides __getitem__, __len__, __contains__, and get. - # The remaining methods are order-aware. - # Big-O running times for all methods are the same as for regular dictionaries. - - # The internal self.__map dictionary maps keys to links in a doubly linked list. - # The circular doubly linked list starts and ends with a sentinel element. - # The sentinel element never gets deleted (this simplifies the algorithm). - # Each link is stored as a list of length three: [PREV, NEXT, KEY]. - - def __init__(self, *args, **kwds): - '''Initialize an ordered dictionary. Signature is the same as for - regular dictionaries, but keyword arguments are not recommended - because their insertion order is arbitrary. - - ''' - if len(args) > 1: - raise TypeError('expected at most 1 arguments, got %d' % len(args)) - try: - self.__root - except AttributeError: - self.__root = root = [] # sentinel node - root[:] = [root, root, None] - self.__map = {} - self.__update(*args, **kwds) - - def __setitem__(self, key, value, dict_setitem=dict.__setitem__): - 'od.__setitem__(i, y) <==> od[i]=y' - # Setting a new item creates a new link which goes at the end of the linked - # list, and the inherited dictionary is updated with the new key/value pair. - if key not in self: - root = self.__root - last = root[0] - last[1] = root[0] = self.__map[key] = [last, root, key] - dict_setitem(self, key, value) - - def __delitem__(self, key, dict_delitem=dict.__delitem__): - 'od.__delitem__(y) <==> del od[y]' - # Deleting an existing item uses self.__map to find the link which is - # then removed by updating the links in the predecessor and successor nodes. - dict_delitem(self, key) - link_prev, link_next, key = self.__map.pop(key) - link_prev[1] = link_next - link_next[0] = link_prev - - def __iter__(self): - 'od.__iter__() <==> iter(od)' - root = self.__root - curr = root[1] - while curr is not root: - yield curr[2] - curr = curr[1] - - def __reversed__(self): - 'od.__reversed__() <==> reversed(od)' - root = self.__root - curr = root[0] - while curr is not root: - yield curr[2] - curr = curr[0] - - def clear(self): - 'od.clear() -> None. Remove all items from od.' - try: - for node in self.__map.itervalues(): - del node[:] - root = self.__root - root[:] = [root, root, None] - self.__map.clear() - except AttributeError: - pass - dict.clear(self) - - def popitem(self, last=True): - '''od.popitem() -> (k, v), return and remove a (key, value) pair. - Pairs are returned in LIFO order if last is true or FIFO order if false. - - ''' - if not self: - raise KeyError('dictionary is empty') - root = self.__root - if last: - link = root[0] - link_prev = link[0] - link_prev[1] = root - root[0] = link_prev - else: - link = root[1] - link_next = link[1] - root[1] = link_next - link_next[0] = root - key = link[2] - del self.__map[key] - value = dict.pop(self, key) - return key, value - - # -- the following methods do not depend on the internal structure -- - - def keys(self): - 'od.keys() -> list of keys in od' - return list(self) - - def values(self): - 'od.values() -> list of values in od' - return [self[key] for key in self] - - def items(self): - 'od.items() -> list of (key, value) pairs in od' - return [(key, self[key]) for key in self] - - def iterkeys(self): - 'od.iterkeys() -> an iterator over the keys in od' - return iter(self) - - def itervalues(self): - 'od.itervalues -> an iterator over the values in od' - for k in self: - yield self[k] - - def iteritems(self): - 'od.iteritems -> an iterator over the (key, value) items in od' - for k in self: - yield (k, self[k]) - - def update(*args, **kwds): - '''od.update(E, **F) -> None. Update od from dict/iterable E and F. - - If E is a dict instance, does: for k in E: od[k] = E[k] - If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] - Or if E is an iterable of items, does: for k, v in E: od[k] = v - In either case, this is followed by: for k, v in F.items(): od[k] = v - - ''' - if len(args) > 2: - raise TypeError('update() takes at most 2 positional ' - 'arguments (%d given)' % (len(args),)) - elif not args: - raise TypeError('update() takes at least 1 argument (0 given)') - self = args[0] - # Make progressively weaker assumptions about "other" - other = () - if len(args) == 2: - other = args[1] - if isinstance(other, dict): - for key in other: - self[key] = other[key] - elif hasattr(other, 'keys'): - for key in other.keys(): - self[key] = other[key] - else: - for key, value in other: - self[key] = value - for key, value in kwds.items(): - self[key] = value - - __update = update # let subclasses override update without breaking __init__ - - __marker = object() - - def pop(self, key, default=__marker): - '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. - If key is not found, d is returned if given, otherwise KeyError is raised. - - ''' - if key in self: - result = self[key] - del self[key] - return result - if default is self.__marker: - raise KeyError(key) - return default - - def setdefault(self, key, default=None): - 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' - if key in self: - return self[key] - self[key] = default - return default - - def __repr__(self, _repr_running={}): - 'od.__repr__() <==> repr(od)' - call_key = id(self), _get_ident() - if call_key in _repr_running: - return '...' - _repr_running[call_key] = 1 - try: - if not self: - return '%s()' % (self.__class__.__name__,) - return '%s(%r)' % (self.__class__.__name__, self.items()) - finally: - del _repr_running[call_key] - - def __reduce__(self): - 'Return state information for pickling' - items = [[k, self[k]] for k in self] - inst_dict = vars(self).copy() - for k in vars(OrderedDict()): - inst_dict.pop(k, None) - if inst_dict: - return (self.__class__, (items,), inst_dict) - return self.__class__, (items,) - - def copy(self): - 'od.copy() -> a shallow copy of od' - return self.__class__(self) - - @classmethod - def fromkeys(cls, iterable, value=None): - '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S - and values equal to v (which defaults to None). - - ''' - d = cls() - for key in iterable: - d[key] = value - return d - - def __eq__(self, other): - '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive - while comparison to a regular mapping is order-insensitive. - - ''' - if isinstance(other, OrderedDict): - return len(self)==len(other) and self.items() == other.items() - return dict.__eq__(self, other) - - def __ne__(self, other): - return not self == other - - # -- the following methods are only used in Python 2.7 -- - - def viewkeys(self): - "od.viewkeys() -> a set-like object providing a view on od's keys" - return KeysView(self) - - def viewvalues(self): - "od.viewvalues() -> an object providing a view on od's values" - return ValuesView(self) - - def viewitems(self): - "od.viewitems() -> a set-like object providing a view on od's items" - return ItemsView(self) diff --git a/lib27/site-packages/requests/packages/urllib3/packages/six.py b/lib27/site-packages/requests/packages/urllib3/packages/six.py deleted file mode 100644 index 27d80112b..000000000 --- a/lib27/site-packages/requests/packages/urllib3/packages/six.py +++ /dev/null @@ -1,385 +0,0 @@ -"""Utilities for writing code that runs on Python 2 and 3""" - -#Copyright (c) 2010-2011 Benjamin Peterson - -#Permission is hereby granted, free of charge, to any person obtaining a copy of -#this software and associated documentation files (the "Software"), to deal in -#the Software without restriction, including without limitation the rights to -#use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -#the Software, and to permit persons to whom the Software is furnished to do so, -#subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in all -#copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -#FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -#COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -#IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -#CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -import operator -import sys -import types - -__author__ = "Benjamin Peterson " -__version__ = "1.2.0" # Revision 41c74fef2ded - - -# True if we are running on Python 3. -PY3 = sys.version_info[0] == 3 - -if PY3: - string_types = str, - integer_types = int, - class_types = type, - text_type = str - binary_type = bytes - - MAXSIZE = sys.maxsize -else: - string_types = basestring, - integer_types = (int, long) - class_types = (type, types.ClassType) - text_type = unicode - binary_type = str - - if sys.platform.startswith("java"): - # Jython always uses 32 bits. - MAXSIZE = int((1 << 31) - 1) - else: - # It's possible to have sizeof(long) != sizeof(Py_ssize_t). - class X(object): - def __len__(self): - return 1 << 31 - try: - len(X()) - except OverflowError: - # 32-bit - MAXSIZE = int((1 << 31) - 1) - else: - # 64-bit - MAXSIZE = int((1 << 63) - 1) - del X - - -def _add_doc(func, doc): - """Add documentation to a function.""" - func.__doc__ = doc - - -def _import_module(name): - """Import module, returning the module after the last dot.""" - __import__(name) - return sys.modules[name] - - -class _LazyDescr(object): - - def __init__(self, name): - self.name = name - - def __get__(self, obj, tp): - result = self._resolve() - setattr(obj, self.name, result) - # This is a bit ugly, but it avoids running this again. - delattr(tp, self.name) - return result - - -class MovedModule(_LazyDescr): - - def __init__(self, name, old, new=None): - super(MovedModule, self).__init__(name) - if PY3: - if new is None: - new = name - self.mod = new - else: - self.mod = old - - def _resolve(self): - return _import_module(self.mod) - - -class MovedAttribute(_LazyDescr): - - def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): - super(MovedAttribute, self).__init__(name) - if PY3: - if new_mod is None: - new_mod = name - self.mod = new_mod - if new_attr is None: - if old_attr is None: - new_attr = name - else: - new_attr = old_attr - self.attr = new_attr - else: - self.mod = old_mod - if old_attr is None: - old_attr = name - self.attr = old_attr - - def _resolve(self): - module = _import_module(self.mod) - return getattr(module, self.attr) - - - -class _MovedItems(types.ModuleType): - """Lazy loading of moved objects""" - - -_moved_attributes = [ - MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), - MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), - MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), - MovedAttribute("map", "itertools", "builtins", "imap", "map"), - MovedAttribute("reload_module", "__builtin__", "imp", "reload"), - MovedAttribute("reduce", "__builtin__", "functools"), - MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), - - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), - MovedModule("copyreg", "copy_reg"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), - MovedModule("html_parser", "HTMLParser", "html.parser"), - MovedModule("http_client", "httplib", "http.client"), - MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), - MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), - MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), - MovedModule("cPickle", "cPickle", "pickle"), - MovedModule("queue", "Queue"), - MovedModule("reprlib", "repr"), - MovedModule("socketserver", "SocketServer"), - MovedModule("tkinter", "Tkinter"), - MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), - MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), - MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), - MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), - MovedModule("tkinter_tix", "Tix", "tkinter.tix"), - MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), - MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), - MovedModule("tkinter_colorchooser", "tkColorChooser", - "tkinter.colorchooser"), - MovedModule("tkinter_commondialog", "tkCommonDialog", - "tkinter.commondialog"), - MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), - MovedModule("tkinter_font", "tkFont", "tkinter.font"), - MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), - MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", - "tkinter.simpledialog"), - MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), - MovedModule("winreg", "_winreg"), -] -for attr in _moved_attributes: - setattr(_MovedItems, attr.name, attr) -del attr - -moves = sys.modules[__name__ + ".moves"] = _MovedItems("moves") - - -def add_move(move): - """Add an item to six.moves.""" - setattr(_MovedItems, move.name, move) - - -def remove_move(name): - """Remove item from six.moves.""" - try: - delattr(_MovedItems, name) - except AttributeError: - try: - del moves.__dict__[name] - except KeyError: - raise AttributeError("no such move, %r" % (name,)) - - -if PY3: - _meth_func = "__func__" - _meth_self = "__self__" - - _func_code = "__code__" - _func_defaults = "__defaults__" - - _iterkeys = "keys" - _itervalues = "values" - _iteritems = "items" -else: - _meth_func = "im_func" - _meth_self = "im_self" - - _func_code = "func_code" - _func_defaults = "func_defaults" - - _iterkeys = "iterkeys" - _itervalues = "itervalues" - _iteritems = "iteritems" - - -try: - advance_iterator = next -except NameError: - def advance_iterator(it): - return it.next() -next = advance_iterator - - -if PY3: - def get_unbound_function(unbound): - return unbound - - Iterator = object - - def callable(obj): - return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) -else: - def get_unbound_function(unbound): - return unbound.im_func - - class Iterator(object): - - def next(self): - return type(self).__next__(self) - - callable = callable -_add_doc(get_unbound_function, - """Get the function out of a possibly unbound function""") - - -get_method_function = operator.attrgetter(_meth_func) -get_method_self = operator.attrgetter(_meth_self) -get_function_code = operator.attrgetter(_func_code) -get_function_defaults = operator.attrgetter(_func_defaults) - - -def iterkeys(d): - """Return an iterator over the keys of a dictionary.""" - return iter(getattr(d, _iterkeys)()) - -def itervalues(d): - """Return an iterator over the values of a dictionary.""" - return iter(getattr(d, _itervalues)()) - -def iteritems(d): - """Return an iterator over the (key, value) pairs of a dictionary.""" - return iter(getattr(d, _iteritems)()) - - -if PY3: - def b(s): - return s.encode("latin-1") - def u(s): - return s - if sys.version_info[1] <= 1: - def int2byte(i): - return bytes((i,)) - else: - # This is about 2x faster than the implementation above on 3.2+ - int2byte = operator.methodcaller("to_bytes", 1, "big") - import io - StringIO = io.StringIO - BytesIO = io.BytesIO -else: - def b(s): - return s - def u(s): - return unicode(s, "unicode_escape") - int2byte = chr - import StringIO - StringIO = BytesIO = StringIO.StringIO -_add_doc(b, """Byte literal""") -_add_doc(u, """Text literal""") - - -if PY3: - import builtins - exec_ = getattr(builtins, "exec") - - - def reraise(tp, value, tb=None): - if value.__traceback__ is not tb: - raise value.with_traceback(tb) - raise value - - - print_ = getattr(builtins, "print") - del builtins - -else: - def exec_(code, globs=None, locs=None): - """Execute code in a namespace.""" - if globs is None: - frame = sys._getframe(1) - globs = frame.f_globals - if locs is None: - locs = frame.f_locals - del frame - elif locs is None: - locs = globs - exec("""exec code in globs, locs""") - - - exec_("""def reraise(tp, value, tb=None): - raise tp, value, tb -""") - - - def print_(*args, **kwargs): - """The new-style print function.""" - fp = kwargs.pop("file", sys.stdout) - if fp is None: - return - def write(data): - if not isinstance(data, basestring): - data = str(data) - fp.write(data) - want_unicode = False - sep = kwargs.pop("sep", None) - if sep is not None: - if isinstance(sep, unicode): - want_unicode = True - elif not isinstance(sep, str): - raise TypeError("sep must be None or a string") - end = kwargs.pop("end", None) - if end is not None: - if isinstance(end, unicode): - want_unicode = True - elif not isinstance(end, str): - raise TypeError("end must be None or a string") - if kwargs: - raise TypeError("invalid keyword arguments to print()") - if not want_unicode: - for arg in args: - if isinstance(arg, unicode): - want_unicode = True - break - if want_unicode: - newline = unicode("\n") - space = unicode(" ") - else: - newline = "\n" - space = " " - if sep is None: - sep = space - if end is None: - end = newline - for i, arg in enumerate(args): - if i: - write(sep) - write(arg) - write(end) - -_add_doc(reraise, """Reraise an exception.""") - - -def with_metaclass(meta, base=object): - """Create a base class with a metaclass.""" - return meta("NewBase", (base,), {}) diff --git a/lib27/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py b/lib27/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py deleted file mode 100644 index dd59a75fd..000000000 --- a/lib27/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -try: - # Python 3.2+ - from ssl import CertificateError, match_hostname -except ImportError: - try: - # Backport of the function from a pypi module - from backports.ssl_match_hostname import CertificateError, match_hostname - except ImportError: - # Our vendored copy - from ._implementation import CertificateError, match_hostname - -# Not needed, but documenting what we provide. -__all__ = ('CertificateError', 'match_hostname') diff --git a/lib27/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py b/lib27/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py deleted file mode 100644 index 52f428733..000000000 --- a/lib27/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +++ /dev/null @@ -1,105 +0,0 @@ -"""The match_hostname() function from Python 3.3.3, essential when using SSL.""" - -# Note: This file is under the PSF license as the code comes from the python -# stdlib. http://docs.python.org/3/license.html - -import re - -__version__ = '3.4.0.2' - -class CertificateError(ValueError): - pass - - -def _dnsname_match(dn, hostname, max_wildcards=1): - """Matching according to RFC 6125, section 6.4.3 - - http://tools.ietf.org/html/rfc6125#section-6.4.3 - """ - pats = [] - if not dn: - return False - - # Ported from python3-syntax: - # leftmost, *remainder = dn.split(r'.') - parts = dn.split(r'.') - leftmost = parts[0] - remainder = parts[1:] - - wildcards = leftmost.count('*') - if wildcards > max_wildcards: - # Issue #17980: avoid denials of service by refusing more - # than one wildcard per fragment. A survey of established - # policy among SSL implementations showed it to be a - # reasonable choice. - raise CertificateError( - "too many wildcards in certificate DNS name: " + repr(dn)) - - # speed up common case w/o wildcards - if not wildcards: - return dn.lower() == hostname.lower() - - # RFC 6125, section 6.4.3, subitem 1. - # The client SHOULD NOT attempt to match a presented identifier in which - # the wildcard character comprises a label other than the left-most label. - if leftmost == '*': - # When '*' is a fragment by itself, it matches a non-empty dotless - # fragment. - pats.append('[^.]+') - elif leftmost.startswith('xn--') or hostname.startswith('xn--'): - # RFC 6125, section 6.4.3, subitem 3. - # The client SHOULD NOT attempt to match a presented identifier - # where the wildcard character is embedded within an A-label or - # U-label of an internationalized domain name. - pats.append(re.escape(leftmost)) - else: - # Otherwise, '*' matches any dotless string, e.g. www* - pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) - - # add the remaining fragments, ignore any wildcards - for frag in remainder: - pats.append(re.escape(frag)) - - pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) - return pat.match(hostname) - - -def match_hostname(cert, hostname): - """Verify that *cert* (in decoded format as returned by - SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 - rules are followed, but IP addresses are not accepted for *hostname*. - - CertificateError is raised on failure. On success, the function - returns nothing. - """ - if not cert: - raise ValueError("empty or no certificate") - dnsnames = [] - san = cert.get('subjectAltName', ()) - for key, value in san: - if key == 'DNS': - if _dnsname_match(value, hostname): - return - dnsnames.append(value) - if not dnsnames: - # The subject is only checked when there is no dNSName entry - # in subjectAltName - for sub in cert.get('subject', ()): - for key, value in sub: - # XXX according to RFC 2818, the most specific Common Name - # must be used. - if key == 'commonName': - if _dnsname_match(value, hostname): - return - dnsnames.append(value) - if len(dnsnames) > 1: - raise CertificateError("hostname %r " - "doesn't match either of %s" - % (hostname, ', '.join(map(repr, dnsnames)))) - elif len(dnsnames) == 1: - raise CertificateError("hostname %r " - "doesn't match %r" - % (hostname, dnsnames[0])) - else: - raise CertificateError("no appropriate commonName or " - "subjectAltName fields were found") diff --git a/lib27/site-packages/requests/packages/urllib3/poolmanager.py b/lib27/site-packages/requests/packages/urllib3/poolmanager.py deleted file mode 100644 index 1023dcba3..000000000 --- a/lib27/site-packages/requests/packages/urllib3/poolmanager.py +++ /dev/null @@ -1,284 +0,0 @@ -from __future__ import absolute_import -import logging - -try: # Python 3 - from urllib.parse import urljoin -except ImportError: - from urlparse import urljoin - -from ._collections import RecentlyUsedContainer -from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool -from .connectionpool import port_by_scheme -from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown -from .request import RequestMethods -from .util.url import parse_url -from .util.retry import Retry - - -__all__ = ['PoolManager', 'ProxyManager', 'proxy_from_url'] - - -log = logging.getLogger(__name__) - -SSL_KEYWORDS = ('key_file', 'cert_file', 'cert_reqs', 'ca_certs', - 'ssl_version', 'ca_cert_dir') - -pool_classes_by_scheme = { - 'http': HTTPConnectionPool, - 'https': HTTPSConnectionPool, -} - - -class PoolManager(RequestMethods): - """ - Allows for arbitrary requests while transparently keeping track of - necessary connection pools for you. - - :param num_pools: - Number of connection pools to cache before discarding the least - recently used pool. - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - - :param \**connection_pool_kw: - Additional parameters are used to create fresh - :class:`urllib3.connectionpool.ConnectionPool` instances. - - Example:: - - >>> manager = PoolManager(num_pools=2) - >>> r = manager.request('GET', 'http://google.com/') - >>> r = manager.request('GET', 'http://google.com/mail') - >>> r = manager.request('GET', 'http://yahoo.com/') - >>> len(manager.pools) - 2 - - """ - - proxy = None - - def __init__(self, num_pools=10, headers=None, **connection_pool_kw): - RequestMethods.__init__(self, headers) - self.connection_pool_kw = connection_pool_kw - self.pools = RecentlyUsedContainer(num_pools, - dispose_func=lambda p: p.close()) - - # Locally set the pool classes so other PoolManagers can override them. - self.pool_classes_by_scheme = pool_classes_by_scheme - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.clear() - # Return False to re-raise any potential exceptions - return False - - def _new_pool(self, scheme, host, port): - """ - Create a new :class:`ConnectionPool` based on host, port and scheme. - - This method is used to actually create the connection pools handed out - by :meth:`connection_from_url` and companion methods. It is intended - to be overridden for customization. - """ - pool_cls = self.pool_classes_by_scheme[scheme] - kwargs = self.connection_pool_kw - if scheme == 'http': - kwargs = self.connection_pool_kw.copy() - for kw in SSL_KEYWORDS: - kwargs.pop(kw, None) - - return pool_cls(host, port, **kwargs) - - def clear(self): - """ - Empty our store of pools and direct them all to close. - - This will not affect in-flight connections, but they will not be - re-used after completion. - """ - self.pools.clear() - - def connection_from_host(self, host, port=None, scheme='http'): - """ - Get a :class:`ConnectionPool` based on the host, port, and scheme. - - If ``port`` isn't given, it will be derived from the ``scheme`` using - ``urllib3.connectionpool.port_by_scheme``. - """ - - if not host: - raise LocationValueError("No host specified.") - - scheme = scheme or 'http' - port = port or port_by_scheme.get(scheme, 80) - pool_key = (scheme, host, port) - - with self.pools.lock: - # If the scheme, host, or port doesn't match existing open - # connections, open a new ConnectionPool. - pool = self.pools.get(pool_key) - if pool: - return pool - - # Make a fresh ConnectionPool of the desired type - pool = self._new_pool(scheme, host, port) - self.pools[pool_key] = pool - - return pool - - def connection_from_url(self, url): - """ - Similar to :func:`urllib3.connectionpool.connection_from_url` but - doesn't pass any additional parameters to the - :class:`urllib3.connectionpool.ConnectionPool` constructor. - - Additional parameters are taken from the :class:`.PoolManager` - constructor. - """ - u = parse_url(url) - return self.connection_from_host(u.host, port=u.port, scheme=u.scheme) - - def urlopen(self, method, url, redirect=True, **kw): - """ - Same as :meth:`urllib3.connectionpool.HTTPConnectionPool.urlopen` - with custom cross-host redirect logic and only sends the request-uri - portion of the ``url``. - - The given ``url`` parameter must be absolute, such that an appropriate - :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. - """ - u = parse_url(url) - conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) - - kw['assert_same_host'] = False - kw['redirect'] = False - if 'headers' not in kw: - kw['headers'] = self.headers - - if self.proxy is not None and u.scheme == "http": - response = conn.urlopen(method, url, **kw) - else: - response = conn.urlopen(method, u.request_uri, **kw) - - redirect_location = redirect and response.get_redirect_location() - if not redirect_location: - return response - - # Support relative URLs for redirecting. - redirect_location = urljoin(url, redirect_location) - - # RFC 7231, Section 6.4.4 - if response.status == 303: - method = 'GET' - - retries = kw.get('retries') - if not isinstance(retries, Retry): - retries = Retry.from_int(retries, redirect=redirect) - - try: - retries = retries.increment(method, url, response=response, _pool=conn) - except MaxRetryError: - if retries.raise_on_redirect: - raise - return response - - kw['retries'] = retries - kw['redirect'] = redirect - - log.info("Redirecting %s -> %s", url, redirect_location) - return self.urlopen(method, redirect_location, **kw) - - -class ProxyManager(PoolManager): - """ - Behaves just like :class:`PoolManager`, but sends all requests through - the defined proxy, using the CONNECT method for HTTPS URLs. - - :param proxy_url: - The URL of the proxy to be used. - - :param proxy_headers: - A dictionary contaning headers that will be sent to the proxy. In case - of HTTP they are being sent with each request, while in the - HTTPS/CONNECT case they are sent only once. Could be used for proxy - authentication. - - Example: - >>> proxy = urllib3.ProxyManager('http://localhost:3128/') - >>> r1 = proxy.request('GET', 'http://google.com/') - >>> r2 = proxy.request('GET', 'http://httpbin.org/') - >>> len(proxy.pools) - 1 - >>> r3 = proxy.request('GET', 'https://httpbin.org/') - >>> r4 = proxy.request('GET', 'https://twitter.com/') - >>> len(proxy.pools) - 3 - - """ - - def __init__(self, proxy_url, num_pools=10, headers=None, - proxy_headers=None, **connection_pool_kw): - - if isinstance(proxy_url, HTTPConnectionPool): - proxy_url = '%s://%s:%i' % (proxy_url.scheme, proxy_url.host, - proxy_url.port) - proxy = parse_url(proxy_url) - if not proxy.port: - port = port_by_scheme.get(proxy.scheme, 80) - proxy = proxy._replace(port=port) - - if proxy.scheme not in ("http", "https"): - raise ProxySchemeUnknown(proxy.scheme) - - self.proxy = proxy - self.proxy_headers = proxy_headers or {} - - connection_pool_kw['_proxy'] = self.proxy - connection_pool_kw['_proxy_headers'] = self.proxy_headers - - super(ProxyManager, self).__init__( - num_pools, headers, **connection_pool_kw) - - def connection_from_host(self, host, port=None, scheme='http'): - if scheme == "https": - return super(ProxyManager, self).connection_from_host( - host, port, scheme) - - return super(ProxyManager, self).connection_from_host( - self.proxy.host, self.proxy.port, self.proxy.scheme) - - def _set_proxy_headers(self, url, headers=None): - """ - Sets headers needed by proxies: specifically, the Accept and Host - headers. Only sets headers not provided by the user. - """ - headers_ = {'Accept': '*/*'} - - netloc = parse_url(url).netloc - if netloc: - headers_['Host'] = netloc - - if headers: - headers_.update(headers) - return headers_ - - def urlopen(self, method, url, redirect=True, **kw): - "Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute." - u = parse_url(url) - - if u.scheme == "http": - # For proxied HTTPS requests, httplib sets the necessary headers - # on the CONNECT to the proxy. For HTTP, we'll definitely - # need to set 'Host' at the very least. - headers = kw.get('headers', self.headers) - kw['headers'] = self._set_proxy_headers(url, headers) - - return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw) - - -def proxy_from_url(url, **kw): - return ProxyManager(proxy_url=url, **kw) diff --git a/lib27/site-packages/requests/packages/urllib3/request.py b/lib27/site-packages/requests/packages/urllib3/request.py deleted file mode 100644 index d5aa62d88..000000000 --- a/lib27/site-packages/requests/packages/urllib3/request.py +++ /dev/null @@ -1,151 +0,0 @@ -from __future__ import absolute_import -try: - from urllib.parse import urlencode -except ImportError: - from urllib import urlencode - -from .filepost import encode_multipart_formdata - - -__all__ = ['RequestMethods'] - - -class RequestMethods(object): - """ - Convenience mixin for classes who implement a :meth:`urlopen` method, such - as :class:`~urllib3.connectionpool.HTTPConnectionPool` and - :class:`~urllib3.poolmanager.PoolManager`. - - Provides behavior for making common types of HTTP request methods and - decides which type of request field encoding to use. - - Specifically, - - :meth:`.request_encode_url` is for sending requests whose fields are - encoded in the URL (such as GET, HEAD, DELETE). - - :meth:`.request_encode_body` is for sending requests whose fields are - encoded in the *body* of the request using multipart or www-form-urlencoded - (such as for POST, PUT, PATCH). - - :meth:`.request` is for making any kind of request, it will look up the - appropriate encoding format and use one of the above two methods to make - the request. - - Initializer parameters: - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - """ - - _encode_url_methods = set(['DELETE', 'GET', 'HEAD', 'OPTIONS']) - - def __init__(self, headers=None): - self.headers = headers or {} - - def urlopen(self, method, url, body=None, headers=None, - encode_multipart=True, multipart_boundary=None, - **kw): # Abstract - raise NotImplemented("Classes extending RequestMethods must implement " - "their own ``urlopen`` method.") - - def request(self, method, url, fields=None, headers=None, **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the appropriate encoding of - ``fields`` based on the ``method`` used. - - This is a convenience method that requires the least amount of manual - effort. It can be used in most situations, while still having the - option to drop down to more specific methods when necessary, such as - :meth:`request_encode_url`, :meth:`request_encode_body`, - or even the lowest level :meth:`urlopen`. - """ - method = method.upper() - - if method in self._encode_url_methods: - return self.request_encode_url(method, url, fields=fields, - headers=headers, - **urlopen_kw) - else: - return self.request_encode_body(method, url, fields=fields, - headers=headers, - **urlopen_kw) - - def request_encode_url(self, method, url, fields=None, headers=None, - **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the ``fields`` encoded in - the url. This is useful for request methods like GET, HEAD, DELETE, etc. - """ - if headers is None: - headers = self.headers - - extra_kw = {'headers': headers} - extra_kw.update(urlopen_kw) - - if fields: - url += '?' + urlencode(fields) - - return self.urlopen(method, url, **extra_kw) - - def request_encode_body(self, method, url, fields=None, headers=None, - encode_multipart=True, multipart_boundary=None, - **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the ``fields`` encoded in - the body. This is useful for request methods like POST, PUT, PATCH, etc. - - When ``encode_multipart=True`` (default), then - :meth:`urllib3.filepost.encode_multipart_formdata` is used to encode - the payload with the appropriate content type. Otherwise - :meth:`urllib.urlencode` is used with the - 'application/x-www-form-urlencoded' content type. - - Multipart encoding must be used when posting files, and it's reasonably - safe to use it in other times too. However, it may break request - signing, such as with OAuth. - - Supports an optional ``fields`` parameter of key/value strings AND - key/filetuple. A filetuple is a (filename, data, MIME type) tuple where - the MIME type is optional. For example:: - - fields = { - 'foo': 'bar', - 'fakefile': ('foofile.txt', 'contents of foofile'), - 'realfile': ('barfile.txt', open('realfile').read()), - 'typedfile': ('bazfile.bin', open('bazfile').read(), - 'image/jpeg'), - 'nonamefile': 'contents of nonamefile field', - } - - When uploading a file, providing a filename (the first parameter of the - tuple) is optional but recommended to best mimick behavior of browsers. - - Note that if ``headers`` are supplied, the 'Content-Type' header will - be overwritten because it depends on the dynamic random boundary string - which is used to compose the body of the request. The random boundary - string can be explicitly set with the ``multipart_boundary`` parameter. - """ - if headers is None: - headers = self.headers - - extra_kw = {'headers': {}} - - if fields: - if 'body' in urlopen_kw: - raise TypeError( - "request got values for both 'fields' and 'body', can only specify one.") - - if encode_multipart: - body, content_type = encode_multipart_formdata(fields, boundary=multipart_boundary) - else: - body, content_type = urlencode(fields), 'application/x-www-form-urlencoded' - - extra_kw['body'] = body - extra_kw['headers'] = {'Content-Type': content_type} - - extra_kw['headers'].update(headers) - extra_kw.update(urlopen_kw) - - return self.urlopen(method, url, **extra_kw) diff --git a/lib27/site-packages/requests/packages/urllib3/response.py b/lib27/site-packages/requests/packages/urllib3/response.py deleted file mode 100644 index ac1b2f19e..000000000 --- a/lib27/site-packages/requests/packages/urllib3/response.py +++ /dev/null @@ -1,526 +0,0 @@ -from __future__ import absolute_import -from contextlib import contextmanager -import zlib -import io -from socket import timeout as SocketTimeout -from socket import error as SocketError - -from ._collections import HTTPHeaderDict -from .exceptions import ( - ProtocolError, DecodeError, ReadTimeoutError, ResponseNotChunked -) -from .packages.six import string_types as basestring, binary_type, PY3 -from .packages.six.moves import http_client as httplib -from .connection import HTTPException, BaseSSLError -from .util.response import is_fp_closed, is_response_to_head - - -class DeflateDecoder(object): - - def __init__(self): - self._first_try = True - self._data = binary_type() - self._obj = zlib.decompressobj() - - def __getattr__(self, name): - return getattr(self._obj, name) - - def decompress(self, data): - if not data: - return data - - if not self._first_try: - return self._obj.decompress(data) - - self._data += data - try: - return self._obj.decompress(data) - except zlib.error: - self._first_try = False - self._obj = zlib.decompressobj(-zlib.MAX_WBITS) - try: - return self.decompress(self._data) - finally: - self._data = None - - -class GzipDecoder(object): - - def __init__(self): - self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) - - def __getattr__(self, name): - return getattr(self._obj, name) - - def decompress(self, data): - if not data: - return data - return self._obj.decompress(data) - - -def _get_decoder(mode): - if mode == 'gzip': - return GzipDecoder() - - return DeflateDecoder() - - -class HTTPResponse(io.IOBase): - """ - HTTP Response container. - - Backwards-compatible to httplib's HTTPResponse but the response ``body`` is - loaded and decoded on-demand when the ``data`` property is accessed. This - class is also compatible with the Python standard library's :mod:`io` - module, and can hence be treated as a readable object in the context of that - framework. - - Extra parameters for behaviour not present in httplib.HTTPResponse: - - :param preload_content: - If True, the response's body will be preloaded during construction. - - :param decode_content: - If True, attempts to decode specific content-encoding's based on headers - (like 'gzip' and 'deflate') will be skipped and raw data will be used - instead. - - :param original_response: - When this HTTPResponse wrapper is generated from an httplib.HTTPResponse - object, it's convenient to include the original for debug purposes. It's - otherwise unused. - """ - - CONTENT_DECODERS = ['gzip', 'deflate'] - REDIRECT_STATUSES = [301, 302, 303, 307, 308] - - def __init__(self, body='', headers=None, status=0, version=0, reason=None, - strict=0, preload_content=True, decode_content=True, - original_response=None, pool=None, connection=None): - - if isinstance(headers, HTTPHeaderDict): - self.headers = headers - else: - self.headers = HTTPHeaderDict(headers) - self.status = status - self.version = version - self.reason = reason - self.strict = strict - self.decode_content = decode_content - - self._decoder = None - self._body = None - self._fp = None - self._original_response = original_response - self._fp_bytes_read = 0 - - if body and isinstance(body, (basestring, binary_type)): - self._body = body - - self._pool = pool - self._connection = connection - - if hasattr(body, 'read'): - self._fp = body - - # Are we using the chunked-style of transfer encoding? - self.chunked = False - self.chunk_left = None - tr_enc = self.headers.get('transfer-encoding', '').lower() - # Don't incur the penalty of creating a list and then discarding it - encodings = (enc.strip() for enc in tr_enc.split(",")) - if "chunked" in encodings: - self.chunked = True - - # If requested, preload the body. - if preload_content and not self._body: - self._body = self.read(decode_content=decode_content) - - def get_redirect_location(self): - """ - Should we redirect and where to? - - :returns: Truthy redirect location string if we got a redirect status - code and valid location. ``None`` if redirect status and no - location. ``False`` if not a redirect status code. - """ - if self.status in self.REDIRECT_STATUSES: - return self.headers.get('location') - - return False - - def release_conn(self): - if not self._pool or not self._connection: - return - - self._pool._put_conn(self._connection) - self._connection = None - - @property - def data(self): - # For backwords-compat with earlier urllib3 0.4 and earlier. - if self._body: - return self._body - - if self._fp: - return self.read(cache_content=True) - - def tell(self): - """ - Obtain the number of bytes pulled over the wire so far. May differ from - the amount of content returned by :meth:``HTTPResponse.read`` if bytes - are encoded on the wire (e.g, compressed). - """ - return self._fp_bytes_read - - def _init_decoder(self): - """ - Set-up the _decoder attribute if necessar. - """ - # Note: content-encoding value should be case-insensitive, per RFC 7230 - # Section 3.2 - content_encoding = self.headers.get('content-encoding', '').lower() - if self._decoder is None and content_encoding in self.CONTENT_DECODERS: - self._decoder = _get_decoder(content_encoding) - - def _decode(self, data, decode_content, flush_decoder): - """ - Decode the data passed in and potentially flush the decoder. - """ - try: - if decode_content and self._decoder: - data = self._decoder.decompress(data) - except (IOError, zlib.error) as e: - content_encoding = self.headers.get('content-encoding', '').lower() - raise DecodeError( - "Received response with content-encoding: %s, but " - "failed to decode it." % content_encoding, e) - - if flush_decoder and decode_content: - data += self._flush_decoder() - - return data - - def _flush_decoder(self): - """ - Flushes the decoder. Should only be called if the decoder is actually - being used. - """ - if self._decoder: - buf = self._decoder.decompress(b'') - return buf + self._decoder.flush() - - return b'' - - @contextmanager - def _error_catcher(self): - """ - Catch low-level python exceptions, instead re-raising urllib3 - variants, so that low-level exceptions are not leaked in the - high-level api. - - On exit, release the connection back to the pool. - """ - clean_exit = False - - try: - try: - yield - - except SocketTimeout: - # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but - # there is yet no clean way to get at it from this context. - raise ReadTimeoutError(self._pool, None, 'Read timed out.') - - except BaseSSLError as e: - # FIXME: Is there a better way to differentiate between SSLErrors? - if 'read operation timed out' not in str(e): # Defensive: - # This shouldn't happen but just in case we're missing an edge - # case, let's avoid swallowing SSL errors. - raise - - raise ReadTimeoutError(self._pool, None, 'Read timed out.') - - except (HTTPException, SocketError) as e: - # This includes IncompleteRead. - raise ProtocolError('Connection broken: %r' % e, e) - - # If no exception is thrown, we should avoid cleaning up - # unnecessarily. - clean_exit = True - finally: - # If we didn't terminate cleanly, we need to throw away our - # connection. - if not clean_exit: - # The response may not be closed but we're not going to use it - # anymore so close it now to ensure that the connection is - # released back to the pool. - if self._original_response: - self._original_response.close() - - # Closing the response may not actually be sufficient to close - # everything, so if we have a hold of the connection close that - # too. - if self._connection: - self._connection.close() - - # If we hold the original response but it's closed now, we should - # return the connection back to the pool. - if self._original_response and self._original_response.isclosed(): - self.release_conn() - - def read(self, amt=None, decode_content=None, cache_content=False): - """ - Similar to :meth:`httplib.HTTPResponse.read`, but with two additional - parameters: ``decode_content`` and ``cache_content``. - - :param amt: - How much of the content to read. If specified, caching is skipped - because it doesn't make sense to cache partial content as the full - response. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - - :param cache_content: - If True, will save the returned data such that the same result is - returned despite of the state of the underlying file object. This - is useful if you want the ``.data`` property to continue working - after having ``.read()`` the file object. (Overridden if ``amt`` is - set.) - """ - self._init_decoder() - if decode_content is None: - decode_content = self.decode_content - - if self._fp is None: - return - - flush_decoder = False - data = None - - with self._error_catcher(): - if amt is None: - # cStringIO doesn't like amt=None - data = self._fp.read() - flush_decoder = True - else: - cache_content = False - data = self._fp.read(amt) - if amt != 0 and not data: # Platform-specific: Buggy versions of Python. - # Close the connection when no data is returned - # - # This is redundant to what httplib/http.client _should_ - # already do. However, versions of python released before - # December 15, 2012 (http://bugs.python.org/issue16298) do - # not properly close the connection in all cases. There is - # no harm in redundantly calling close. - self._fp.close() - flush_decoder = True - - if data: - self._fp_bytes_read += len(data) - - data = self._decode(data, decode_content, flush_decoder) - - if cache_content: - self._body = data - - return data - - def stream(self, amt=2**16, decode_content=None): - """ - A generator wrapper for the read() method. A call will block until - ``amt`` bytes have been read from the connection or until the - connection is closed. - - :param amt: - How much of the content to read. The generator will return up to - much data per iteration, but may return less. This is particularly - likely when using compressed data. However, the empty string will - never be returned. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - """ - if self.chunked: - for line in self.read_chunked(amt, decode_content=decode_content): - yield line - else: - while not is_fp_closed(self._fp): - data = self.read(amt=amt, decode_content=decode_content) - - if data: - yield data - - @classmethod - def from_httplib(ResponseCls, r, **response_kw): - """ - Given an :class:`httplib.HTTPResponse` instance ``r``, return a - corresponding :class:`urllib3.response.HTTPResponse` object. - - Remaining parameters are passed to the HTTPResponse constructor, along - with ``original_response=r``. - """ - headers = r.msg - - if not isinstance(headers, HTTPHeaderDict): - if PY3: # Python 3 - headers = HTTPHeaderDict(headers.items()) - else: # Python 2 - headers = HTTPHeaderDict.from_httplib(headers) - - # HTTPResponse objects in Python 3 don't have a .strict attribute - strict = getattr(r, 'strict', 0) - resp = ResponseCls(body=r, - headers=headers, - status=r.status, - version=r.version, - reason=r.reason, - strict=strict, - original_response=r, - **response_kw) - return resp - - # Backwards-compatibility methods for httplib.HTTPResponse - def getheaders(self): - return self.headers - - def getheader(self, name, default=None): - return self.headers.get(name, default) - - # Overrides from io.IOBase - def close(self): - if not self.closed: - self._fp.close() - - if self._connection: - self._connection.close() - - @property - def closed(self): - if self._fp is None: - return True - elif hasattr(self._fp, 'closed'): - return self._fp.closed - elif hasattr(self._fp, 'isclosed'): # Python 2 - return self._fp.isclosed() - else: - return True - - def fileno(self): - if self._fp is None: - raise IOError("HTTPResponse has no file to get a fileno from") - elif hasattr(self._fp, "fileno"): - return self._fp.fileno() - else: - raise IOError("The file-like object this HTTPResponse is wrapped " - "around has no file descriptor") - - def flush(self): - if self._fp is not None and hasattr(self._fp, 'flush'): - return self._fp.flush() - - def readable(self): - # This method is required for `io` module compatibility. - return True - - def readinto(self, b): - # This method is required for `io` module compatibility. - temp = self.read(len(b)) - if len(temp) == 0: - return 0 - else: - b[:len(temp)] = temp - return len(temp) - - def _update_chunk_length(self): - # First, we'll figure out length of a chunk and then - # we'll try to read it from socket. - if self.chunk_left is not None: - return - line = self._fp.fp.readline() - line = line.split(b';', 1)[0] - try: - self.chunk_left = int(line, 16) - except ValueError: - # Invalid chunked protocol response, abort. - self.close() - raise httplib.IncompleteRead(line) - - def _handle_chunk(self, amt): - returned_chunk = None - if amt is None: - chunk = self._fp._safe_read(self.chunk_left) - returned_chunk = chunk - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - elif amt < self.chunk_left: - value = self._fp._safe_read(amt) - self.chunk_left = self.chunk_left - amt - returned_chunk = value - elif amt == self.chunk_left: - value = self._fp._safe_read(amt) - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - returned_chunk = value - else: # amt > self.chunk_left - returned_chunk = self._fp._safe_read(self.chunk_left) - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - return returned_chunk - - def read_chunked(self, amt=None, decode_content=None): - """ - Similar to :meth:`HTTPResponse.read`, but with an additional - parameter: ``decode_content``. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - """ - self._init_decoder() - # FIXME: Rewrite this method and make it a class with a better structured logic. - if not self.chunked: - raise ResponseNotChunked( - "Response is not chunked. " - "Header 'transfer-encoding: chunked' is missing.") - - # Don't bother reading the body of a HEAD request. - if self._original_response and is_response_to_head(self._original_response): - self._original_response.close() - return - - with self._error_catcher(): - while True: - self._update_chunk_length() - if self.chunk_left == 0: - break - chunk = self._handle_chunk(amt) - decoded = self._decode(chunk, decode_content=decode_content, - flush_decoder=False) - if decoded: - yield decoded - - if decode_content: - # On CPython and PyPy, we should never need to flush the - # decoder. However, on Jython we *might* need to, so - # lets defensively do it anyway. - decoded = self._flush_decoder() - if decoded: # Platform-specific: Jython. - yield decoded - - # Chunk content ends with \r\n: discard it. - while True: - line = self._fp.fp.readline() - if not line: - # Some sites may not end with '\r\n'. - break - if line == b'\r\n': - break - - # We read everything; close the "file". - if self._original_response: - self._original_response.close() diff --git a/lib27/site-packages/requests/packages/urllib3/util/__init__.py b/lib27/site-packages/requests/packages/urllib3/util/__init__.py deleted file mode 100644 index 4778cf996..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/__init__.py +++ /dev/null @@ -1,46 +0,0 @@ -from __future__ import absolute_import -# For backwards compatibility, provide imports that used to be here. -from .connection import is_connection_dropped -from .request import make_headers -from .response import is_fp_closed -from .ssl_ import ( - SSLContext, - HAS_SNI, - IS_PYOPENSSL, - assert_fingerprint, - resolve_cert_reqs, - resolve_ssl_version, - ssl_wrap_socket, -) -from .timeout import ( - current_time, - Timeout, -) - -from .retry import Retry -from .url import ( - get_host, - parse_url, - split_first, - Url, -) - -__all__ = ( - 'HAS_SNI', - 'IS_PYOPENSSL', - 'SSLContext', - 'Retry', - 'Timeout', - 'Url', - 'assert_fingerprint', - 'current_time', - 'is_connection_dropped', - 'is_fp_closed', - 'get_host', - 'parse_url', - 'make_headers', - 'resolve_cert_reqs', - 'resolve_ssl_version', - 'split_first', - 'ssl_wrap_socket', -) diff --git a/lib27/site-packages/requests/packages/urllib3/util/connection.py b/lib27/site-packages/requests/packages/urllib3/util/connection.py deleted file mode 100644 index 01a4812f2..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/connection.py +++ /dev/null @@ -1,101 +0,0 @@ -from __future__ import absolute_import -import socket -try: - from select import poll, POLLIN -except ImportError: # `poll` doesn't exist on OSX and other platforms - poll = False - try: - from select import select - except ImportError: # `select` doesn't exist on AppEngine. - select = False - - -def is_connection_dropped(conn): # Platform-specific - """ - Returns True if the connection is dropped and should be closed. - - :param conn: - :class:`httplib.HTTPConnection` object. - - Note: For platforms like AppEngine, this will always return ``False`` to - let the platform handle connection recycling transparently for us. - """ - sock = getattr(conn, 'sock', False) - if sock is False: # Platform-specific: AppEngine - return False - if sock is None: # Connection already closed (such as by httplib). - return True - - if not poll: - if not select: # Platform-specific: AppEngine - return False - - try: - return select([sock], [], [], 0.0)[0] - except socket.error: - return True - - # This version is better on platforms that support it. - p = poll() - p.register(sock, POLLIN) - for (fno, ev) in p.poll(0.0): - if fno == sock.fileno(): - # Either data is buffered (bad), or the connection is dropped. - return True - - -# This function is copied from socket.py in the Python 2.7 standard -# library test suite. Added to its signature is only `socket_options`. -def create_connection(address, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, - source_address=None, socket_options=None): - """Connect to *address* and return the socket object. - - Convenience function. Connect to *address* (a 2-tuple ``(host, - port)``) and return the socket object. Passing the optional - *timeout* parameter will set the timeout on the socket instance - before attempting to connect. If no *timeout* is supplied, the - global default timeout setting returned by :func:`getdefaulttimeout` - is used. If *source_address* is set it must be a tuple of (host, port) - for the socket to bind as a source address before making the connection. - An host of '' or port 0 tells the OS to use the default. - """ - - host, port = address - if host.startswith('['): - host = host.strip('[]') - err = None - for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): - af, socktype, proto, canonname, sa = res - sock = None - try: - sock = socket.socket(af, socktype, proto) - - # If provided, set socket level options before connecting. - # This is the only addition urllib3 makes to this function. - _set_socket_options(sock, socket_options) - - if timeout is not socket._GLOBAL_DEFAULT_TIMEOUT: - sock.settimeout(timeout) - if source_address: - sock.bind(source_address) - sock.connect(sa) - return sock - - except socket.error as e: - err = e - if sock is not None: - sock.close() - sock = None - - if err is not None: - raise err - - raise socket.error("getaddrinfo returns an empty list") - - -def _set_socket_options(sock, options): - if options is None: - return - - for opt in options: - sock.setsockopt(*opt) diff --git a/lib27/site-packages/requests/packages/urllib3/util/request.py b/lib27/site-packages/requests/packages/urllib3/util/request.py deleted file mode 100644 index 73779315f..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/request.py +++ /dev/null @@ -1,72 +0,0 @@ -from __future__ import absolute_import -from base64 import b64encode - -from ..packages.six import b - -ACCEPT_ENCODING = 'gzip,deflate' - - -def make_headers(keep_alive=None, accept_encoding=None, user_agent=None, - basic_auth=None, proxy_basic_auth=None, disable_cache=None): - """ - Shortcuts for generating request headers. - - :param keep_alive: - If ``True``, adds 'connection: keep-alive' header. - - :param accept_encoding: - Can be a boolean, list, or string. - ``True`` translates to 'gzip,deflate'. - List will get joined by comma. - String will be used as provided. - - :param user_agent: - String representing the user-agent you want, such as - "python-urllib3/0.6" - - :param basic_auth: - Colon-separated username:password string for 'authorization: basic ...' - auth header. - - :param proxy_basic_auth: - Colon-separated username:password string for 'proxy-authorization: basic ...' - auth header. - - :param disable_cache: - If ``True``, adds 'cache-control: no-cache' header. - - Example:: - - >>> make_headers(keep_alive=True, user_agent="Batman/1.0") - {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'} - >>> make_headers(accept_encoding=True) - {'accept-encoding': 'gzip,deflate'} - """ - headers = {} - if accept_encoding: - if isinstance(accept_encoding, str): - pass - elif isinstance(accept_encoding, list): - accept_encoding = ','.join(accept_encoding) - else: - accept_encoding = ACCEPT_ENCODING - headers['accept-encoding'] = accept_encoding - - if user_agent: - headers['user-agent'] = user_agent - - if keep_alive: - headers['connection'] = 'keep-alive' - - if basic_auth: - headers['authorization'] = 'Basic ' + \ - b64encode(b(basic_auth)).decode('utf-8') - - if proxy_basic_auth: - headers['proxy-authorization'] = 'Basic ' + \ - b64encode(b(proxy_basic_auth)).decode('utf-8') - - if disable_cache: - headers['cache-control'] = 'no-cache' - - return headers diff --git a/lib27/site-packages/requests/packages/urllib3/util/response.py b/lib27/site-packages/requests/packages/urllib3/util/response.py deleted file mode 100644 index 0b5c75c13..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/response.py +++ /dev/null @@ -1,74 +0,0 @@ -from __future__ import absolute_import -from ..packages.six.moves import http_client as httplib - -from ..exceptions import HeaderParsingError - - -def is_fp_closed(obj): - """ - Checks whether a given file-like object is closed. - - :param obj: - The file-like object to check. - """ - - try: - # Check via the official file-like-object way. - return obj.closed - except AttributeError: - pass - - try: - # Check if the object is a container for another file-like object that - # gets released on exhaustion (e.g. HTTPResponse). - return obj.fp is None - except AttributeError: - pass - - raise ValueError("Unable to determine whether fp is closed.") - - -def assert_header_parsing(headers): - """ - Asserts whether all headers have been successfully parsed. - Extracts encountered errors from the result of parsing headers. - - Only works on Python 3. - - :param headers: Headers to verify. - :type headers: `httplib.HTTPMessage`. - - :raises urllib3.exceptions.HeaderParsingError: - If parsing errors are found. - """ - - # This will fail silently if we pass in the wrong kind of parameter. - # To make debugging easier add an explicit check. - if not isinstance(headers, httplib.HTTPMessage): - raise TypeError('expected httplib.Message, got {0}.'.format( - type(headers))) - - defects = getattr(headers, 'defects', None) - get_payload = getattr(headers, 'get_payload', None) - - unparsed_data = None - if get_payload: # Platform-specific: Python 3. - unparsed_data = get_payload() - - if defects or unparsed_data: - raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data) - - -def is_response_to_head(response): - """ - Checks whether the request of a response has been a HEAD-request. - Handles the quirks of AppEngine. - - :param conn: - :type conn: :class:`httplib.HTTPResponse` - """ - # FIXME: Can we do this somehow without accessing private httplib _method? - method = response._method - if isinstance(method, int): # Platform-specific: Appengine - return method == 3 - return method.upper() == 'HEAD' diff --git a/lib27/site-packages/requests/packages/urllib3/util/retry.py b/lib27/site-packages/requests/packages/urllib3/util/retry.py deleted file mode 100644 index 2d3aa20d0..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/retry.py +++ /dev/null @@ -1,294 +0,0 @@ -from __future__ import absolute_import -import time -import logging - -from ..exceptions import ( - ConnectTimeoutError, - MaxRetryError, - ProtocolError, - ReadTimeoutError, - ResponseError, -) -from ..packages import six - - -log = logging.getLogger(__name__) - - -class Retry(object): - """ Retry configuration. - - Each retry attempt will create a new Retry object with updated values, so - they can be safely reused. - - Retries can be defined as a default for a pool:: - - retries = Retry(connect=5, read=2, redirect=5) - http = PoolManager(retries=retries) - response = http.request('GET', 'http://example.com/') - - Or per-request (which overrides the default for the pool):: - - response = http.request('GET', 'http://example.com/', retries=Retry(10)) - - Retries can be disabled by passing ``False``:: - - response = http.request('GET', 'http://example.com/', retries=False) - - Errors will be wrapped in :class:`~urllib3.exceptions.MaxRetryError` unless - retries are disabled, in which case the causing exception will be raised. - - :param int total: - Total number of retries to allow. Takes precedence over other counts. - - Set to ``None`` to remove this constraint and fall back on other - counts. It's a good idea to set this to some sensibly-high value to - account for unexpected edge cases and avoid infinite retry loops. - - Set to ``0`` to fail on the first retry. - - Set to ``False`` to disable and imply ``raise_on_redirect=False``. - - :param int connect: - How many connection-related errors to retry on. - - These are errors raised before the request is sent to the remote server, - which we assume has not triggered the server to process the request. - - Set to ``0`` to fail on the first retry of this type. - - :param int read: - How many times to retry on read errors. - - These errors are raised after the request was sent to the server, so the - request may have side-effects. - - Set to ``0`` to fail on the first retry of this type. - - :param int redirect: - How many redirects to perform. Limit this to avoid infinite redirect - loops. - - A redirect is a HTTP response with a status code 301, 302, 303, 307 or - 308. - - Set to ``0`` to fail on the first retry of this type. - - Set to ``False`` to disable and imply ``raise_on_redirect=False``. - - :param iterable method_whitelist: - Set of uppercased HTTP method verbs that we should retry on. - - By default, we only retry on methods which are considered to be - indempotent (multiple requests with the same parameters end with the - same state). See :attr:`Retry.DEFAULT_METHOD_WHITELIST`. - - :param iterable status_forcelist: - A set of HTTP status codes that we should force a retry on. - - By default, this is disabled with ``None``. - - :param float backoff_factor: - A backoff factor to apply between attempts. urllib3 will sleep for:: - - {backoff factor} * (2 ^ ({number of total retries} - 1)) - - seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep - for [0.1s, 0.2s, 0.4s, ...] between retries. It will never be longer - than :attr:`Retry.BACKOFF_MAX`. - - By default, backoff is disabled (set to 0). - - :param bool raise_on_redirect: Whether, if the number of redirects is - exhausted, to raise a MaxRetryError, or to return a response with a - response code in the 3xx range. - - :param bool raise_on_status: Similar meaning to ``raise_on_redirect``: - whether we should raise an exception, or return a response, - if status falls in ``status_forcelist`` range and retries have - been exhausted. - """ - - DEFAULT_METHOD_WHITELIST = frozenset([ - 'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']) - - #: Maximum backoff time. - BACKOFF_MAX = 120 - - def __init__(self, total=10, connect=None, read=None, redirect=None, - method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None, - backoff_factor=0, raise_on_redirect=True, raise_on_status=True, - _observed_errors=0): - - self.total = total - self.connect = connect - self.read = read - - if redirect is False or total is False: - redirect = 0 - raise_on_redirect = False - - self.redirect = redirect - self.status_forcelist = status_forcelist or set() - self.method_whitelist = method_whitelist - self.backoff_factor = backoff_factor - self.raise_on_redirect = raise_on_redirect - self.raise_on_status = raise_on_status - self._observed_errors = _observed_errors # TODO: use .history instead? - - def new(self, **kw): - params = dict( - total=self.total, - connect=self.connect, read=self.read, redirect=self.redirect, - method_whitelist=self.method_whitelist, - status_forcelist=self.status_forcelist, - backoff_factor=self.backoff_factor, - raise_on_redirect=self.raise_on_redirect, - raise_on_status=self.raise_on_status, - _observed_errors=self._observed_errors, - ) - params.update(kw) - return type(self)(**params) - - @classmethod - def from_int(cls, retries, redirect=True, default=None): - """ Backwards-compatibility for the old retries format.""" - if retries is None: - retries = default if default is not None else cls.DEFAULT - - if isinstance(retries, Retry): - return retries - - redirect = bool(redirect) and None - new_retries = cls(retries, redirect=redirect) - log.debug("Converted retries value: %r -> %r", retries, new_retries) - return new_retries - - def get_backoff_time(self): - """ Formula for computing the current backoff - - :rtype: float - """ - if self._observed_errors <= 1: - return 0 - - backoff_value = self.backoff_factor * (2 ** (self._observed_errors - 1)) - return min(self.BACKOFF_MAX, backoff_value) - - def sleep(self): - """ Sleep between retry attempts using an exponential backoff. - - By default, the backoff factor is 0 and this method will return - immediately. - """ - backoff = self.get_backoff_time() - if backoff <= 0: - return - time.sleep(backoff) - - def _is_connection_error(self, err): - """ Errors when we're fairly sure that the server did not receive the - request, so it should be safe to retry. - """ - return isinstance(err, ConnectTimeoutError) - - def _is_read_error(self, err): - """ Errors that occur after the request has been started, so we should - assume that the server began processing it. - """ - return isinstance(err, (ReadTimeoutError, ProtocolError)) - - def is_forced_retry(self, method, status_code): - """ Is this method/status code retryable? (Based on method/codes whitelists) - """ - if self.method_whitelist and method.upper() not in self.method_whitelist: - return False - - return self.status_forcelist and status_code in self.status_forcelist - - def is_exhausted(self): - """ Are we out of retries? """ - retry_counts = (self.total, self.connect, self.read, self.redirect) - retry_counts = list(filter(None, retry_counts)) - if not retry_counts: - return False - - return min(retry_counts) < 0 - - def increment(self, method=None, url=None, response=None, error=None, - _pool=None, _stacktrace=None): - """ Return a new Retry object with incremented retry counters. - - :param response: A response object, or None, if the server did not - return a response. - :type response: :class:`~urllib3.response.HTTPResponse` - :param Exception error: An error encountered during the request, or - None if the response was received successfully. - - :return: A new ``Retry`` object. - """ - if self.total is False and error: - # Disabled, indicate to re-raise the error. - raise six.reraise(type(error), error, _stacktrace) - - total = self.total - if total is not None: - total -= 1 - - _observed_errors = self._observed_errors - connect = self.connect - read = self.read - redirect = self.redirect - cause = 'unknown' - - if error and self._is_connection_error(error): - # Connect retry? - if connect is False: - raise six.reraise(type(error), error, _stacktrace) - elif connect is not None: - connect -= 1 - _observed_errors += 1 - - elif error and self._is_read_error(error): - # Read retry? - if read is False: - raise six.reraise(type(error), error, _stacktrace) - elif read is not None: - read -= 1 - _observed_errors += 1 - - elif response and response.get_redirect_location(): - # Redirect retry? - if redirect is not None: - redirect -= 1 - cause = 'too many redirects' - - else: - # Incrementing because of a server error like a 500 in - # status_forcelist and a the given method is in the whitelist - _observed_errors += 1 - cause = ResponseError.GENERIC_ERROR - if response and response.status: - cause = ResponseError.SPECIFIC_ERROR.format( - status_code=response.status) - - new_retry = self.new( - total=total, - connect=connect, read=read, redirect=redirect, - _observed_errors=_observed_errors) - - if new_retry.is_exhausted(): - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - - log.debug("Incremented Retry for (url='%s'): %r", url, new_retry) - - return new_retry - - def __repr__(self): - return ('{cls.__name__}(total={self.total}, connect={self.connect}, ' - 'read={self.read}, redirect={self.redirect})').format( - cls=type(self), self=self) - - -# For backwards compatibility (equivalent to pre-v1.9): -Retry.DEFAULT = Retry(3) diff --git a/lib27/site-packages/requests/packages/urllib3/util/ssl_.py b/lib27/site-packages/requests/packages/urllib3/util/ssl_.py deleted file mode 100644 index e8d9e7d29..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/ssl_.py +++ /dev/null @@ -1,320 +0,0 @@ -from __future__ import absolute_import -import errno -import warnings -import hmac - -from binascii import hexlify, unhexlify -from hashlib import md5, sha1, sha256 - -from ..exceptions import SSLError, InsecurePlatformWarning, SNIMissingWarning - - -SSLContext = None -HAS_SNI = False -create_default_context = None -IS_PYOPENSSL = False - -# Maps the length of a digest to a possible hash function producing this digest -HASHFUNC_MAP = { - 32: md5, - 40: sha1, - 64: sha256, -} - - -def _const_compare_digest_backport(a, b): - """ - Compare two digests of equal length in constant time. - - The digests must be of type str/bytes. - Returns True if the digests match, and False otherwise. - """ - result = abs(len(a) - len(b)) - for l, r in zip(bytearray(a), bytearray(b)): - result |= l ^ r - return result == 0 - - -_const_compare_digest = getattr(hmac, 'compare_digest', - _const_compare_digest_backport) - - -try: # Test for SSL features - import ssl - from ssl import wrap_socket, CERT_NONE, PROTOCOL_SSLv23 - from ssl import HAS_SNI # Has SNI? -except ImportError: - pass - - -try: - from ssl import OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION -except ImportError: - OP_NO_SSLv2, OP_NO_SSLv3 = 0x1000000, 0x2000000 - OP_NO_COMPRESSION = 0x20000 - -# A secure default. -# Sources for more information on TLS ciphers: -# -# - https://wiki.mozilla.org/Security/Server_Side_TLS -# - https://www.ssllabs.com/projects/best-practices/index.html -# - https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ -# -# The general intent is: -# - Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), -# - prefer ECDHE over DHE for better performance, -# - prefer any AES-GCM over any AES-CBC for better performance and security, -# - use 3DES as fallback which is secure but slow, -# - disable NULL authentication, MD5 MACs and DSS for security reasons. -DEFAULT_CIPHERS = ( - 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:' - 'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:!aNULL:' - '!eNULL:!MD5' -) - -try: - from ssl import SSLContext # Modern SSL? -except ImportError: - import sys - - class SSLContext(object): # Platform-specific: Python 2 & 3.1 - supports_set_ciphers = ((2, 7) <= sys.version_info < (3,) or - (3, 2) <= sys.version_info) - - def __init__(self, protocol_version): - self.protocol = protocol_version - # Use default values from a real SSLContext - self.check_hostname = False - self.verify_mode = ssl.CERT_NONE - self.ca_certs = None - self.options = 0 - self.certfile = None - self.keyfile = None - self.ciphers = None - - def load_cert_chain(self, certfile, keyfile): - self.certfile = certfile - self.keyfile = keyfile - - def load_verify_locations(self, cafile=None, capath=None): - self.ca_certs = cafile - - if capath is not None: - raise SSLError("CA directories not supported in older Pythons") - - def set_ciphers(self, cipher_suite): - if not self.supports_set_ciphers: - raise TypeError( - 'Your version of Python does not support setting ' - 'a custom cipher suite. Please upgrade to Python ' - '2.7, 3.2, or later if you need this functionality.' - ) - self.ciphers = cipher_suite - - def wrap_socket(self, socket, server_hostname=None, server_side=False): - warnings.warn( - 'A true SSLContext object is not available. This prevents ' - 'urllib3 from configuring SSL appropriately and may cause ' - 'certain SSL connections to fail. You can upgrade to a newer ' - 'version of Python to solve this. For more information, see ' - 'https://urllib3.readthedocs.org/en/latest/security.html' - '#insecureplatformwarning.', - InsecurePlatformWarning - ) - kwargs = { - 'keyfile': self.keyfile, - 'certfile': self.certfile, - 'ca_certs': self.ca_certs, - 'cert_reqs': self.verify_mode, - 'ssl_version': self.protocol, - 'server_side': server_side, - } - if self.supports_set_ciphers: # Platform-specific: Python 2.7+ - return wrap_socket(socket, ciphers=self.ciphers, **kwargs) - else: # Platform-specific: Python 2.6 - return wrap_socket(socket, **kwargs) - - -def assert_fingerprint(cert, fingerprint): - """ - Checks if given fingerprint matches the supplied certificate. - - :param cert: - Certificate as bytes object. - :param fingerprint: - Fingerprint as string of hexdigits, can be interspersed by colons. - """ - - fingerprint = fingerprint.replace(':', '').lower() - digest_length = len(fingerprint) - hashfunc = HASHFUNC_MAP.get(digest_length) - if not hashfunc: - raise SSLError( - 'Fingerprint of invalid length: {0}'.format(fingerprint)) - - # We need encode() here for py32; works on py2 and p33. - fingerprint_bytes = unhexlify(fingerprint.encode()) - - cert_digest = hashfunc(cert).digest() - - if not _const_compare_digest(cert_digest, fingerprint_bytes): - raise SSLError('Fingerprints did not match. Expected "{0}", got "{1}".' - .format(fingerprint, hexlify(cert_digest))) - - -def resolve_cert_reqs(candidate): - """ - Resolves the argument to a numeric constant, which can be passed to - the wrap_socket function/method from the ssl module. - Defaults to :data:`ssl.CERT_NONE`. - If given a string it is assumed to be the name of the constant in the - :mod:`ssl` module or its abbrevation. - (So you can specify `REQUIRED` instead of `CERT_REQUIRED`. - If it's neither `None` nor a string we assume it is already the numeric - constant which can directly be passed to wrap_socket. - """ - if candidate is None: - return CERT_NONE - - if isinstance(candidate, str): - res = getattr(ssl, candidate, None) - if res is None: - res = getattr(ssl, 'CERT_' + candidate) - return res - - return candidate - - -def resolve_ssl_version(candidate): - """ - like resolve_cert_reqs - """ - if candidate is None: - return PROTOCOL_SSLv23 - - if isinstance(candidate, str): - res = getattr(ssl, candidate, None) - if res is None: - res = getattr(ssl, 'PROTOCOL_' + candidate) - return res - - return candidate - - -def create_urllib3_context(ssl_version=None, cert_reqs=None, - options=None, ciphers=None): - """All arguments have the same meaning as ``ssl_wrap_socket``. - - By default, this function does a lot of the same work that - ``ssl.create_default_context`` does on Python 3.4+. It: - - - Disables SSLv2, SSLv3, and compression - - Sets a restricted set of server ciphers - - If you wish to enable SSLv3, you can do:: - - from urllib3.util import ssl_ - context = ssl_.create_urllib3_context() - context.options &= ~ssl_.OP_NO_SSLv3 - - You can do the same to enable compression (substituting ``COMPRESSION`` - for ``SSLv3`` in the last line above). - - :param ssl_version: - The desired protocol version to use. This will default to - PROTOCOL_SSLv23 which will negotiate the highest protocol that both - the server and your installation of OpenSSL support. - :param cert_reqs: - Whether to require the certificate verification. This defaults to - ``ssl.CERT_REQUIRED``. - :param options: - Specific OpenSSL options. These default to ``ssl.OP_NO_SSLv2``, - ``ssl.OP_NO_SSLv3``, ``ssl.OP_NO_COMPRESSION``. - :param ciphers: - Which cipher suites to allow the server to select. - :returns: - Constructed SSLContext object with specified options - :rtype: SSLContext - """ - context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) - - # Setting the default here, as we may have no ssl module on import - cert_reqs = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs - - if options is None: - options = 0 - # SSLv2 is easily broken and is considered harmful and dangerous - options |= OP_NO_SSLv2 - # SSLv3 has several problems and is now dangerous - options |= OP_NO_SSLv3 - # Disable compression to prevent CRIME attacks for OpenSSL 1.0+ - # (issue #309) - options |= OP_NO_COMPRESSION - - context.options |= options - - if getattr(context, 'supports_set_ciphers', True): # Platform-specific: Python 2.6 - context.set_ciphers(ciphers or DEFAULT_CIPHERS) - - context.verify_mode = cert_reqs - if getattr(context, 'check_hostname', None) is not None: # Platform-specific: Python 3.2 - # We do our own verification, including fingerprints and alternative - # hostnames. So disable it here - context.check_hostname = False - return context - - -def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, - ca_certs=None, server_hostname=None, - ssl_version=None, ciphers=None, ssl_context=None, - ca_cert_dir=None): - """ - All arguments except for server_hostname, ssl_context, and ca_cert_dir have - the same meaning as they do when using :func:`ssl.wrap_socket`. - - :param server_hostname: - When SNI is supported, the expected hostname of the certificate - :param ssl_context: - A pre-made :class:`SSLContext` object. If none is provided, one will - be created using :func:`create_urllib3_context`. - :param ciphers: - A string of ciphers we wish the client to support. This is not - supported on Python 2.6 as the ssl module does not support it. - :param ca_cert_dir: - A directory containing CA certificates in multiple separate files, as - supported by OpenSSL's -CApath flag or the capath argument to - SSLContext.load_verify_locations(). - """ - context = ssl_context - if context is None: - context = create_urllib3_context(ssl_version, cert_reqs, - ciphers=ciphers) - - if ca_certs or ca_cert_dir: - try: - context.load_verify_locations(ca_certs, ca_cert_dir) - except IOError as e: # Platform-specific: Python 2.6, 2.7, 3.2 - raise SSLError(e) - # Py33 raises FileNotFoundError which subclasses OSError - # These are not equivalent unless we check the errno attribute - except OSError as e: # Platform-specific: Python 3.3 and beyond - if e.errno == errno.ENOENT: - raise SSLError(e) - raise - - if certfile: - context.load_cert_chain(certfile, keyfile) - if HAS_SNI: # Platform-specific: OpenSSL with enabled SNI - return context.wrap_socket(sock, server_hostname=server_hostname) - - warnings.warn( - 'An HTTPS request has been made, but the SNI (Subject Name ' - 'Indication) extension to TLS is not available on this platform. ' - 'This may cause the server to present an incorrect TLS ' - 'certificate, which can cause validation failures. You can upgrade to ' - 'a newer version of Python to solve this. For more information, see ' - 'https://urllib3.readthedocs.org/en/latest/security.html' - '#snimissingwarning.', - SNIMissingWarning - ) - return context.wrap_socket(sock) diff --git a/lib27/site-packages/requests/packages/urllib3/util/timeout.py b/lib27/site-packages/requests/packages/urllib3/util/timeout.py deleted file mode 100644 index ff62f4764..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/timeout.py +++ /dev/null @@ -1,242 +0,0 @@ -from __future__ import absolute_import -# The default socket timeout, used by httplib to indicate that no timeout was -# specified by the user -from socket import _GLOBAL_DEFAULT_TIMEOUT -import time - -from ..exceptions import TimeoutStateError - -# A sentinel value to indicate that no timeout was specified by the user in -# urllib3 -_Default = object() - - -def current_time(): - """ - Retrieve the current time. This function is mocked out in unit testing. - """ - return time.time() - - -class Timeout(object): - """ Timeout configuration. - - Timeouts can be defined as a default for a pool:: - - timeout = Timeout(connect=2.0, read=7.0) - http = PoolManager(timeout=timeout) - response = http.request('GET', 'http://example.com/') - - Or per-request (which overrides the default for the pool):: - - response = http.request('GET', 'http://example.com/', timeout=Timeout(10)) - - Timeouts can be disabled by setting all the parameters to ``None``:: - - no_timeout = Timeout(connect=None, read=None) - response = http.request('GET', 'http://example.com/, timeout=no_timeout) - - - :param total: - This combines the connect and read timeouts into one; the read timeout - will be set to the time leftover from the connect attempt. In the - event that both a connect timeout and a total are specified, or a read - timeout and a total are specified, the shorter timeout will be applied. - - Defaults to None. - - :type total: integer, float, or None - - :param connect: - The maximum amount of time to wait for a connection attempt to a server - to succeed. Omitting the parameter will default the connect timeout to - the system default, probably `the global default timeout in socket.py - `_. - None will set an infinite timeout for connection attempts. - - :type connect: integer, float, or None - - :param read: - The maximum amount of time to wait between consecutive - read operations for a response from the server. Omitting - the parameter will default the read timeout to the system - default, probably `the global default timeout in socket.py - `_. - None will set an infinite timeout. - - :type read: integer, float, or None - - .. note:: - - Many factors can affect the total amount of time for urllib3 to return - an HTTP response. - - For example, Python's DNS resolver does not obey the timeout specified - on the socket. Other factors that can affect total request time include - high CPU load, high swap, the program running at a low priority level, - or other behaviors. - - In addition, the read and total timeouts only measure the time between - read operations on the socket connecting the client and the server, - not the total amount of time for the request to return a complete - response. For most requests, the timeout is raised because the server - has not sent the first byte in the specified time. This is not always - the case; if a server streams one byte every fifteen seconds, a timeout - of 20 seconds will not trigger, even though the request will take - several minutes to complete. - - If your goal is to cut off any request after a set amount of wall clock - time, consider having a second "watcher" thread to cut off a slow - request. - """ - - #: A sentinel object representing the default timeout value - DEFAULT_TIMEOUT = _GLOBAL_DEFAULT_TIMEOUT - - def __init__(self, total=None, connect=_Default, read=_Default): - self._connect = self._validate_timeout(connect, 'connect') - self._read = self._validate_timeout(read, 'read') - self.total = self._validate_timeout(total, 'total') - self._start_connect = None - - def __str__(self): - return '%s(connect=%r, read=%r, total=%r)' % ( - type(self).__name__, self._connect, self._read, self.total) - - @classmethod - def _validate_timeout(cls, value, name): - """ Check that a timeout attribute is valid. - - :param value: The timeout value to validate - :param name: The name of the timeout attribute to validate. This is - used to specify in error messages. - :return: The validated and casted version of the given value. - :raises ValueError: If the type is not an integer or a float, or if it - is a numeric value less than zero. - """ - if value is _Default: - return cls.DEFAULT_TIMEOUT - - if value is None or value is cls.DEFAULT_TIMEOUT: - return value - - try: - float(value) - except (TypeError, ValueError): - raise ValueError("Timeout value %s was %s, but it must be an " - "int or float." % (name, value)) - - try: - if value < 0: - raise ValueError("Attempted to set %s timeout to %s, but the " - "timeout cannot be set to a value less " - "than 0." % (name, value)) - except TypeError: # Python 3 - raise ValueError("Timeout value %s was %s, but it must be an " - "int or float." % (name, value)) - - return value - - @classmethod - def from_float(cls, timeout): - """ Create a new Timeout from a legacy timeout value. - - The timeout value used by httplib.py sets the same timeout on the - connect(), and recv() socket requests. This creates a :class:`Timeout` - object that sets the individual timeouts to the ``timeout`` value - passed to this function. - - :param timeout: The legacy timeout value. - :type timeout: integer, float, sentinel default object, or None - :return: Timeout object - :rtype: :class:`Timeout` - """ - return Timeout(read=timeout, connect=timeout) - - def clone(self): - """ Create a copy of the timeout object - - Timeout properties are stored per-pool but each request needs a fresh - Timeout object to ensure each one has its own start/stop configured. - - :return: a copy of the timeout object - :rtype: :class:`Timeout` - """ - # We can't use copy.deepcopy because that will also create a new object - # for _GLOBAL_DEFAULT_TIMEOUT, which socket.py uses as a sentinel to - # detect the user default. - return Timeout(connect=self._connect, read=self._read, - total=self.total) - - def start_connect(self): - """ Start the timeout clock, used during a connect() attempt - - :raises urllib3.exceptions.TimeoutStateError: if you attempt - to start a timer that has been started already. - """ - if self._start_connect is not None: - raise TimeoutStateError("Timeout timer has already been started.") - self._start_connect = current_time() - return self._start_connect - - def get_connect_duration(self): - """ Gets the time elapsed since the call to :meth:`start_connect`. - - :return: Elapsed time. - :rtype: float - :raises urllib3.exceptions.TimeoutStateError: if you attempt - to get duration for a timer that hasn't been started. - """ - if self._start_connect is None: - raise TimeoutStateError("Can't get connect duration for timer " - "that has not started.") - return current_time() - self._start_connect - - @property - def connect_timeout(self): - """ Get the value to use when setting a connection timeout. - - This will be a positive float or integer, the value None - (never timeout), or the default system timeout. - - :return: Connect timeout. - :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None - """ - if self.total is None: - return self._connect - - if self._connect is None or self._connect is self.DEFAULT_TIMEOUT: - return self.total - - return min(self._connect, self.total) - - @property - def read_timeout(self): - """ Get the value for the read timeout. - - This assumes some time has elapsed in the connection timeout and - computes the read timeout appropriately. - - If self.total is set, the read timeout is dependent on the amount of - time taken by the connect timeout. If the connection time has not been - established, a :exc:`~urllib3.exceptions.TimeoutStateError` will be - raised. - - :return: Value to use for the read timeout. - :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None - :raises urllib3.exceptions.TimeoutStateError: If :meth:`start_connect` - has not yet been called on this object. - """ - if (self.total is not None and - self.total is not self.DEFAULT_TIMEOUT and - self._read is not None and - self._read is not self.DEFAULT_TIMEOUT): - # In case the connect timeout has not yet been established. - if self._start_connect is None: - return self._read - return max(0, min(self.total - self.get_connect_duration(), - self._read)) - elif self.total is not None and self.total is not self.DEFAULT_TIMEOUT: - return max(0, self.total - self.get_connect_duration()) - else: - return self._read diff --git a/lib27/site-packages/requests/packages/urllib3/util/url.py b/lib27/site-packages/requests/packages/urllib3/util/url.py deleted file mode 100644 index e996204a0..000000000 --- a/lib27/site-packages/requests/packages/urllib3/util/url.py +++ /dev/null @@ -1,217 +0,0 @@ -from __future__ import absolute_import -from collections import namedtuple - -from ..exceptions import LocationParseError - - -url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] - - -class Url(namedtuple('Url', url_attrs)): - """ - Datastructure for representing an HTTP URL. Used as a return value for - :func:`parse_url`. - """ - slots = () - - def __new__(cls, scheme=None, auth=None, host=None, port=None, path=None, - query=None, fragment=None): - if path and not path.startswith('/'): - path = '/' + path - return super(Url, cls).__new__(cls, scheme, auth, host, port, path, - query, fragment) - - @property - def hostname(self): - """For backwards-compatibility with urlparse. We're nice like that.""" - return self.host - - @property - def request_uri(self): - """Absolute path including the query string.""" - uri = self.path or '/' - - if self.query is not None: - uri += '?' + self.query - - return uri - - @property - def netloc(self): - """Network location including host and port""" - if self.port: - return '%s:%d' % (self.host, self.port) - return self.host - - @property - def url(self): - """ - Convert self into a url - - This function should more or less round-trip with :func:`.parse_url`. The - returned url may not be exactly the same as the url inputted to - :func:`.parse_url`, but it should be equivalent by the RFC (e.g., urls - with a blank port will have : removed). - - Example: :: - - >>> U = parse_url('http://google.com/mail/') - >>> U.url - 'http://google.com/mail/' - >>> Url('http', 'username:password', 'host.com', 80, - ... '/path', 'query', 'fragment').url - 'http://username:password@host.com:80/path?query#fragment' - """ - scheme, auth, host, port, path, query, fragment = self - url = '' - - # We use "is not None" we want things to happen with empty strings (or 0 port) - if scheme is not None: - url += scheme + '://' - if auth is not None: - url += auth + '@' - if host is not None: - url += host - if port is not None: - url += ':' + str(port) - if path is not None: - url += path - if query is not None: - url += '?' + query - if fragment is not None: - url += '#' + fragment - - return url - - def __str__(self): - return self.url - - -def split_first(s, delims): - """ - Given a string and an iterable of delimiters, split on the first found - delimiter. Return two split parts and the matched delimiter. - - If not found, then the first part is the full input string. - - Example:: - - >>> split_first('foo/bar?baz', '?/=') - ('foo', 'bar?baz', '/') - >>> split_first('foo/bar?baz', '123') - ('foo/bar?baz', '', None) - - Scales linearly with number of delims. Not ideal for large number of delims. - """ - min_idx = None - min_delim = None - for d in delims: - idx = s.find(d) - if idx < 0: - continue - - if min_idx is None or idx < min_idx: - min_idx = idx - min_delim = d - - if min_idx is None or min_idx < 0: - return s, '', None - - return s[:min_idx], s[min_idx + 1:], min_delim - - -def parse_url(url): - """ - Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is - performed to parse incomplete urls. Fields not provided will be None. - - Partly backwards-compatible with :mod:`urlparse`. - - Example:: - - >>> parse_url('http://google.com/mail/') - Url(scheme='http', host='google.com', port=None, path='/mail/', ...) - >>> parse_url('google.com:80') - Url(scheme=None, host='google.com', port=80, path=None, ...) - >>> parse_url('/foo?bar') - Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) - """ - - # While this code has overlap with stdlib's urlparse, it is much - # simplified for our needs and less annoying. - # Additionally, this implementations does silly things to be optimal - # on CPython. - - if not url: - # Empty - return Url() - - scheme = None - auth = None - host = None - port = None - path = None - fragment = None - query = None - - # Scheme - if '://' in url: - scheme, url = url.split('://', 1) - - # Find the earliest Authority Terminator - # (http://tools.ietf.org/html/rfc3986#section-3.2) - url, path_, delim = split_first(url, ['/', '?', '#']) - - if delim: - # Reassemble the path - path = delim + path_ - - # Auth - if '@' in url: - # Last '@' denotes end of auth part - auth, url = url.rsplit('@', 1) - - # IPv6 - if url and url[0] == '[': - host, url = url.split(']', 1) - host += ']' - - # Port - if ':' in url: - _host, port = url.split(':', 1) - - if not host: - host = _host - - if port: - # If given, ports must be integers. - if not port.isdigit(): - raise LocationParseError(url) - port = int(port) - else: - # Blank ports are cool, too. (rfc3986#section-3.2.3) - port = None - - elif not host and url: - host = url - - if not path: - return Url(scheme, auth, host, port, path, query, fragment) - - # Fragment - if '#' in path: - path, fragment = path.split('#', 1) - - # Query - if '?' in path: - path, query = path.split('?', 1) - - return Url(scheme, auth, host, port, path, query, fragment) - - -def get_host(url): - """ - Deprecated. Use :func:`.parse_url` instead. - """ - p = parse_url(url) - return p.scheme or 'http', p.hostname, p.port diff --git a/lib27/site-packages/requests/sessions.py b/lib27/site-packages/requests/sessions.py deleted file mode 100644 index 45be9733e..000000000 --- a/lib27/site-packages/requests/sessions.py +++ /dev/null @@ -1,689 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.session -~~~~~~~~~~~~~~~~ - -This module provides a Session object to manage and persist settings across -requests (cookies, auth, proxies). - -""" -import os -from collections import Mapping -from datetime import datetime - -from .auth import _basic_auth_str -from .compat import cookielib, OrderedDict, urljoin, urlparse -from .cookies import ( - cookiejar_from_dict, extract_cookies_to_jar, RequestsCookieJar, merge_cookies) -from .models import Request, PreparedRequest, DEFAULT_REDIRECT_LIMIT -from .hooks import default_hooks, dispatch_hook -from .utils import to_key_val_list, default_headers, to_native_string -from .exceptions import ( - TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) -from .packages.urllib3._collections import RecentlyUsedContainer -from .structures import CaseInsensitiveDict - -from .adapters import HTTPAdapter - -from .utils import ( - requote_uri, get_environ_proxies, get_netrc_auth, should_bypass_proxies, - get_auth_from_url -) - -from .status_codes import codes - -# formerly defined here, reexposed here for backward compatibility -from .models import REDIRECT_STATI - -REDIRECT_CACHE_SIZE = 1000 - - -def merge_setting(request_setting, session_setting, dict_class=OrderedDict): - """ - Determines appropriate setting for a given request, taking into account the - explicit setting on that request, and the setting in the session. If a - setting is a dictionary, they will be merged together using `dict_class` - """ - - if session_setting is None: - return request_setting - - if request_setting is None: - return session_setting - - # Bypass if not a dictionary (e.g. verify) - if not ( - isinstance(session_setting, Mapping) and - isinstance(request_setting, Mapping) - ): - return request_setting - - merged_setting = dict_class(to_key_val_list(session_setting)) - merged_setting.update(to_key_val_list(request_setting)) - - # Remove keys that are set to None. Extract keys first to avoid altering - # the dictionary during iteration. - none_keys = [k for (k, v) in merged_setting.items() if v is None] - for key in none_keys: - del merged_setting[key] - - return merged_setting - - -def merge_hooks(request_hooks, session_hooks, dict_class=OrderedDict): - """ - Properly merges both requests and session hooks. - - This is necessary because when request_hooks == {'response': []}, the - merge breaks Session hooks entirely. - """ - if session_hooks is None or session_hooks.get('response') == []: - return request_hooks - - if request_hooks is None or request_hooks.get('response') == []: - return session_hooks - - return merge_setting(request_hooks, session_hooks, dict_class) - - -class SessionRedirectMixin(object): - def resolve_redirects(self, resp, req, stream=False, timeout=None, - verify=True, cert=None, proxies=None, **adapter_kwargs): - """Receives a Response. Returns a generator of Responses.""" - - i = 0 - hist = [] # keep track of history - - while resp.is_redirect: - prepared_request = req.copy() - - if i > 0: - # Update history and keep track of redirects. - hist.append(resp) - new_hist = list(hist) - resp.history = new_hist - - try: - resp.content # Consume socket so it can be released - except (ChunkedEncodingError, ContentDecodingError, RuntimeError): - resp.raw.read(decode_content=False) - - if i >= self.max_redirects: - raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) - - # Release the connection back into the pool. - resp.close() - - url = resp.headers['location'] - - # Handle redirection without scheme (see: RFC 1808 Section 4) - if url.startswith('//'): - parsed_rurl = urlparse(resp.url) - url = '%s:%s' % (parsed_rurl.scheme, url) - - # The scheme should be lower case... - parsed = urlparse(url) - url = parsed.geturl() - - # Facilitate relative 'location' headers, as allowed by RFC 7231. - # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') - # Compliant with RFC3986, we percent encode the url. - if not parsed.netloc: - url = urljoin(resp.url, requote_uri(url)) - else: - url = requote_uri(url) - - prepared_request.url = to_native_string(url) - # Cache the url, unless it redirects to itself. - if resp.is_permanent_redirect and req.url != prepared_request.url: - self.redirect_cache[req.url] = prepared_request.url - - self.rebuild_method(prepared_request, resp) - - # https://github.com/kennethreitz/requests/issues/1084 - if resp.status_code not in (codes.temporary_redirect, codes.permanent_redirect): - if 'Content-Length' in prepared_request.headers: - del prepared_request.headers['Content-Length'] - - prepared_request.body = None - - headers = prepared_request.headers - try: - del headers['Cookie'] - except KeyError: - pass - - # Extract any cookies sent on the response to the cookiejar - # in the new request. Because we've mutated our copied prepared - # request, use the old one that we haven't yet touched. - extract_cookies_to_jar(prepared_request._cookies, req, resp.raw) - prepared_request._cookies.update(self.cookies) - prepared_request.prepare_cookies(prepared_request._cookies) - - # Rebuild auth and proxy information. - proxies = self.rebuild_proxies(prepared_request, proxies) - self.rebuild_auth(prepared_request, resp) - - # Override the original request. - req = prepared_request - - resp = self.send( - req, - stream=stream, - timeout=timeout, - verify=verify, - cert=cert, - proxies=proxies, - allow_redirects=False, - **adapter_kwargs - ) - - extract_cookies_to_jar(self.cookies, prepared_request, resp.raw) - - i += 1 - yield resp - - def rebuild_auth(self, prepared_request, response): - """ - When being redirected we may want to strip authentication from the - request to avoid leaking credentials. This method intelligently removes - and reapplies authentication where possible to avoid credential loss. - """ - headers = prepared_request.headers - url = prepared_request.url - - if 'Authorization' in headers: - # If we get redirected to a new host, we should strip out any - # authentication headers. - original_parsed = urlparse(response.request.url) - redirect_parsed = urlparse(url) - - if (original_parsed.hostname != redirect_parsed.hostname): - del headers['Authorization'] - - # .netrc might have more auth for us on our new host. - new_auth = get_netrc_auth(url) if self.trust_env else None - if new_auth is not None: - prepared_request.prepare_auth(new_auth) - - return - - def rebuild_proxies(self, prepared_request, proxies): - """ - This method re-evaluates the proxy configuration by considering the - environment variables. If we are redirected to a URL covered by - NO_PROXY, we strip the proxy configuration. Otherwise, we set missing - proxy keys for this URL (in case they were stripped by a previous - redirect). - - This method also replaces the Proxy-Authorization header where - necessary. - """ - headers = prepared_request.headers - url = prepared_request.url - scheme = urlparse(url).scheme - new_proxies = proxies.copy() if proxies is not None else {} - - if self.trust_env and not should_bypass_proxies(url): - environ_proxies = get_environ_proxies(url) - - proxy = environ_proxies.get(scheme) - - if proxy: - new_proxies.setdefault(scheme, environ_proxies[scheme]) - - if 'Proxy-Authorization' in headers: - del headers['Proxy-Authorization'] - - try: - username, password = get_auth_from_url(new_proxies[scheme]) - except KeyError: - username, password = None, None - - if username and password: - headers['Proxy-Authorization'] = _basic_auth_str(username, password) - - return new_proxies - - def rebuild_method(self, prepared_request, response): - """When being redirected we may want to change the method of the request - based on certain specs or browser behavior. - """ - method = prepared_request.method - - # http://tools.ietf.org/html/rfc7231#section-6.4.4 - if response.status_code == codes.see_other and method != 'HEAD': - method = 'GET' - - # Do what the browsers do, despite standards... - # First, turn 302s into GETs. - if response.status_code == codes.found and method != 'HEAD': - method = 'GET' - - # Second, if a POST is responded to with a 301, turn it into a GET. - # This bizarre behaviour is explained in Issue 1704. - if response.status_code == codes.moved and method == 'POST': - method = 'GET' - - prepared_request.method = method - - -class Session(SessionRedirectMixin): - """A Requests session. - - Provides cookie persistence, connection-pooling, and configuration. - - Basic Usage:: - - >>> import requests - >>> s = requests.Session() - >>> s.get('http://httpbin.org/get') - - - Or as a context manager:: - - >>> with requests.Session() as s: - >>> s.get('http://httpbin.org/get') - - """ - - __attrs__ = [ - 'headers', 'cookies', 'auth', 'proxies', 'hooks', 'params', 'verify', - 'cert', 'prefetch', 'adapters', 'stream', 'trust_env', - 'max_redirects', - ] - - def __init__(self): - - #: A case-insensitive dictionary of headers to be sent on each - #: :class:`Request ` sent from this - #: :class:`Session `. - self.headers = default_headers() - - #: Default Authentication tuple or object to attach to - #: :class:`Request `. - self.auth = None - - #: Dictionary mapping protocol or protocol and host to the URL of the proxy - #: (e.g. {'http': 'foo.bar:3128', 'http://host.name': 'foo.bar:4012'}) to - #: be used on each :class:`Request `. - self.proxies = {} - - #: Event-handling hooks. - self.hooks = default_hooks() - - #: Dictionary of querystring data to attach to each - #: :class:`Request `. The dictionary values may be lists for - #: representing multivalued query parameters. - self.params = {} - - #: Stream response content default. - self.stream = False - - #: SSL Verification default. - self.verify = True - - #: SSL certificate default. - self.cert = None - - #: Maximum number of redirects allowed. If the request exceeds this - #: limit, a :class:`TooManyRedirects` exception is raised. - self.max_redirects = DEFAULT_REDIRECT_LIMIT - - #: Trust environment settings for proxy configuration, default - #: authentication and similar. - self.trust_env = True - - #: A CookieJar containing all currently outstanding cookies set on this - #: session. By default it is a - #: :class:`RequestsCookieJar `, but - #: may be any other ``cookielib.CookieJar`` compatible object. - self.cookies = cookiejar_from_dict({}) - - # Default connection adapters. - self.adapters = OrderedDict() - self.mount('https://', HTTPAdapter()) - self.mount('http://', HTTPAdapter()) - - # Only store 1000 redirects to prevent using infinite memory - self.redirect_cache = RecentlyUsedContainer(REDIRECT_CACHE_SIZE) - - def __enter__(self): - return self - - def __exit__(self, *args): - self.close() - - def prepare_request(self, request): - """Constructs a :class:`PreparedRequest ` for - transmission and returns it. The :class:`PreparedRequest` has settings - merged from the :class:`Request ` instance and those of the - :class:`Session`. - - :param request: :class:`Request` instance to prepare with this - session's settings. - """ - cookies = request.cookies or {} - - # Bootstrap CookieJar. - if not isinstance(cookies, cookielib.CookieJar): - cookies = cookiejar_from_dict(cookies) - - # Merge with session cookies - merged_cookies = merge_cookies( - merge_cookies(RequestsCookieJar(), self.cookies), cookies) - - - # Set environment's basic authentication if not explicitly set. - auth = request.auth - if self.trust_env and not auth and not self.auth: - auth = get_netrc_auth(request.url) - - p = PreparedRequest() - p.prepare( - method=request.method.upper(), - url=request.url, - files=request.files, - data=request.data, - json=request.json, - headers=merge_setting(request.headers, self.headers, dict_class=CaseInsensitiveDict), - params=merge_setting(request.params, self.params), - auth=merge_setting(auth, self.auth), - cookies=merged_cookies, - hooks=merge_hooks(request.hooks, self.hooks), - ) - return p - - def request(self, method, url, - params=None, - data=None, - headers=None, - cookies=None, - files=None, - auth=None, - timeout=None, - allow_redirects=True, - proxies=None, - hooks=None, - stream=None, - verify=None, - cert=None, - json=None): - """Constructs a :class:`Request `, prepares it and sends it. - Returns :class:`Response ` object. - - :param method: method for the new :class:`Request` object. - :param url: URL for the new :class:`Request` object. - :param params: (optional) Dictionary or bytes to be sent in the query - string for the :class:`Request`. - :param data: (optional) Dictionary, bytes, or file-like object to send - in the body of the :class:`Request`. - :param json: (optional) json to send in the body of the - :class:`Request`. - :param headers: (optional) Dictionary of HTTP Headers to send with the - :class:`Request`. - :param cookies: (optional) Dict or CookieJar object to send with the - :class:`Request`. - :param files: (optional) Dictionary of ``'filename': file-like-objects`` - for multipart encoding upload. - :param auth: (optional) Auth tuple or callable to enable - Basic/Digest/Custom HTTP Auth. - :param timeout: (optional) How long to wait for the server to send - data before giving up, as a float, or a :ref:`(connect timeout, - read timeout) ` tuple. - :type timeout: float or tuple - :param allow_redirects: (optional) Set to True by default. - :type allow_redirects: bool - :param proxies: (optional) Dictionary mapping protocol or protocol and - hostname to the URL of the proxy. - :param stream: (optional) whether to immediately download the response - content. Defaults to ``False``. - :param verify: (optional) whether the SSL cert will be verified. - A CA_BUNDLE path can also be provided. Defaults to ``True``. - :param cert: (optional) if String, path to ssl client cert file (.pem). - If Tuple, ('cert', 'key') pair. - :rtype: requests.Response - """ - # Create the Request. - req = Request( - method = method.upper(), - url = url, - headers = headers, - files = files, - data = data or {}, - json = json, - params = params or {}, - auth = auth, - cookies = cookies, - hooks = hooks, - ) - prep = self.prepare_request(req) - - proxies = proxies or {} - - settings = self.merge_environment_settings( - prep.url, proxies, stream, verify, cert - ) - - # Send the request. - send_kwargs = { - 'timeout': timeout, - 'allow_redirects': allow_redirects, - } - send_kwargs.update(settings) - resp = self.send(prep, **send_kwargs) - - return resp - - def get(self, url, **kwargs): - """Sends a GET request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - kwargs.setdefault('allow_redirects', True) - return self.request('GET', url, **kwargs) - - def options(self, url, **kwargs): - """Sends a OPTIONS request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - kwargs.setdefault('allow_redirects', True) - return self.request('OPTIONS', url, **kwargs) - - def head(self, url, **kwargs): - """Sends a HEAD request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - kwargs.setdefault('allow_redirects', False) - return self.request('HEAD', url, **kwargs) - - def post(self, url, data=None, json=None, **kwargs): - """Sends a POST request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param json: (optional) json to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('POST', url, data=data, json=json, **kwargs) - - def put(self, url, data=None, **kwargs): - """Sends a PUT request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('PUT', url, data=data, **kwargs) - - def patch(self, url, data=None, **kwargs): - """Sends a PATCH request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('PATCH', url, data=data, **kwargs) - - def delete(self, url, **kwargs): - """Sends a DELETE request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('DELETE', url, **kwargs) - - def send(self, request, **kwargs): - """Send a given PreparedRequest.""" - # Set defaults that the hooks can utilize to ensure they always have - # the correct parameters to reproduce the previous request. - kwargs.setdefault('stream', self.stream) - kwargs.setdefault('verify', self.verify) - kwargs.setdefault('cert', self.cert) - kwargs.setdefault('proxies', self.proxies) - - # It's possible that users might accidentally send a Request object. - # Guard against that specific failure case. - if isinstance(request, Request): - raise ValueError('You can only send PreparedRequests.') - - # Set up variables needed for resolve_redirects and dispatching of hooks - allow_redirects = kwargs.pop('allow_redirects', True) - stream = kwargs.get('stream') - hooks = request.hooks - - # Resolve URL in redirect cache, if available. - if allow_redirects: - checked_urls = set() - while request.url in self.redirect_cache: - checked_urls.add(request.url) - new_url = self.redirect_cache.get(request.url) - if new_url in checked_urls: - break - request.url = new_url - - # Get the appropriate adapter to use - adapter = self.get_adapter(url=request.url) - - # Start time (approximately) of the request - start = datetime.utcnow() - - # Send the request - r = adapter.send(request, **kwargs) - - # Total elapsed time of the request (approximately) - r.elapsed = datetime.utcnow() - start - - # Response manipulation hooks - r = dispatch_hook('response', hooks, r, **kwargs) - - # Persist cookies - if r.history: - - # If the hooks create history then we want those cookies too - for resp in r.history: - extract_cookies_to_jar(self.cookies, resp.request, resp.raw) - - extract_cookies_to_jar(self.cookies, request, r.raw) - - # Redirect resolving generator. - gen = self.resolve_redirects(r, request, **kwargs) - - # Resolve redirects if allowed. - history = [resp for resp in gen] if allow_redirects else [] - - # Shuffle things around if there's history. - if history: - # Insert the first (original) request at the start - history.insert(0, r) - # Get the last request made - r = history.pop() - r.history = history - - if not stream: - r.content - - return r - - def merge_environment_settings(self, url, proxies, stream, verify, cert): - """Check the environment and merge it with some settings.""" - # Gather clues from the surrounding environment. - if self.trust_env: - # Set environment's proxies. - env_proxies = get_environ_proxies(url) or {} - for (k, v) in env_proxies.items(): - proxies.setdefault(k, v) - - # Look for requests environment configuration and be compatible - # with cURL. - if verify is True or verify is None: - verify = (os.environ.get('REQUESTS_CA_BUNDLE') or - os.environ.get('CURL_CA_BUNDLE')) - - # Merge all the kwargs. - proxies = merge_setting(proxies, self.proxies) - stream = merge_setting(stream, self.stream) - verify = merge_setting(verify, self.verify) - cert = merge_setting(cert, self.cert) - - return {'verify': verify, 'proxies': proxies, 'stream': stream, - 'cert': cert} - - def get_adapter(self, url): - """Returns the appropriate connection adapter for the given URL.""" - for (prefix, adapter) in self.adapters.items(): - - if url.lower().startswith(prefix): - return adapter - - # Nothing matches :-/ - raise InvalidSchema("No connection adapters were found for '%s'" % url) - - def close(self): - """Closes all adapters and as such the session""" - for v in self.adapters.values(): - v.close() - - def mount(self, prefix, adapter): - """Registers a connection adapter to a prefix. - - Adapters are sorted in descending order by key length.""" - - self.adapters[prefix] = adapter - keys_to_move = [k for k in self.adapters if len(k) < len(prefix)] - - for key in keys_to_move: - self.adapters[key] = self.adapters.pop(key) - - def __getstate__(self): - state = dict((attr, getattr(self, attr, None)) for attr in self.__attrs__) - state['redirect_cache'] = dict(self.redirect_cache) - return state - - def __setstate__(self, state): - redirect_cache = state.pop('redirect_cache', {}) - for attr, value in state.items(): - setattr(self, attr, value) - - self.redirect_cache = RecentlyUsedContainer(REDIRECT_CACHE_SIZE) - for redirect, to in redirect_cache.items(): - self.redirect_cache[redirect] = to - - -def session(): - """Returns a :class:`Session` for context-management.""" - - return Session() diff --git a/lib27/site-packages/requests/status_codes.py b/lib27/site-packages/requests/status_codes.py deleted file mode 100644 index 0137c91d9..000000000 --- a/lib27/site-packages/requests/status_codes.py +++ /dev/null @@ -1,91 +0,0 @@ -# -*- coding: utf-8 -*- - -from .structures import LookupDict - -_codes = { - - # Informational. - 100: ('continue',), - 101: ('switching_protocols',), - 102: ('processing',), - 103: ('checkpoint',), - 122: ('uri_too_long', 'request_uri_too_long'), - 200: ('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '✓'), - 201: ('created',), - 202: ('accepted',), - 203: ('non_authoritative_info', 'non_authoritative_information'), - 204: ('no_content',), - 205: ('reset_content', 'reset'), - 206: ('partial_content', 'partial'), - 207: ('multi_status', 'multiple_status', 'multi_stati', 'multiple_stati'), - 208: ('already_reported',), - 226: ('im_used',), - - # Redirection. - 300: ('multiple_choices',), - 301: ('moved_permanently', 'moved', '\\o-'), - 302: ('found',), - 303: ('see_other', 'other'), - 304: ('not_modified',), - 305: ('use_proxy',), - 306: ('switch_proxy',), - 307: ('temporary_redirect', 'temporary_moved', 'temporary'), - 308: ('permanent_redirect', - 'resume_incomplete', 'resume',), # These 2 to be removed in 3.0 - - # Client Error. - 400: ('bad_request', 'bad'), - 401: ('unauthorized',), - 402: ('payment_required', 'payment'), - 403: ('forbidden',), - 404: ('not_found', '-o-'), - 405: ('method_not_allowed', 'not_allowed'), - 406: ('not_acceptable',), - 407: ('proxy_authentication_required', 'proxy_auth', 'proxy_authentication'), - 408: ('request_timeout', 'timeout'), - 409: ('conflict',), - 410: ('gone',), - 411: ('length_required',), - 412: ('precondition_failed', 'precondition'), - 413: ('request_entity_too_large',), - 414: ('request_uri_too_large',), - 415: ('unsupported_media_type', 'unsupported_media', 'media_type'), - 416: ('requested_range_not_satisfiable', 'requested_range', 'range_not_satisfiable'), - 417: ('expectation_failed',), - 418: ('im_a_teapot', 'teapot', 'i_am_a_teapot'), - 421: ('misdirected_request',), - 422: ('unprocessable_entity', 'unprocessable'), - 423: ('locked',), - 424: ('failed_dependency', 'dependency'), - 425: ('unordered_collection', 'unordered'), - 426: ('upgrade_required', 'upgrade'), - 428: ('precondition_required', 'precondition'), - 429: ('too_many_requests', 'too_many'), - 431: ('header_fields_too_large', 'fields_too_large'), - 444: ('no_response', 'none'), - 449: ('retry_with', 'retry'), - 450: ('blocked_by_windows_parental_controls', 'parental_controls'), - 451: ('unavailable_for_legal_reasons', 'legal_reasons'), - 499: ('client_closed_request',), - - # Server Error. - 500: ('internal_server_error', 'server_error', '/o\\', '✗'), - 501: ('not_implemented',), - 502: ('bad_gateway',), - 503: ('service_unavailable', 'unavailable'), - 504: ('gateway_timeout',), - 505: ('http_version_not_supported', 'http_version'), - 506: ('variant_also_negotiates',), - 507: ('insufficient_storage',), - 509: ('bandwidth_limit_exceeded', 'bandwidth'), - 510: ('not_extended',), - 511: ('network_authentication_required', 'network_auth', 'network_authentication'), -} - -codes = LookupDict(name='status_codes') - -for code, titles in _codes.items(): - for title in titles: - setattr(codes, title, code) - if not title.startswith('\\'): - setattr(codes, title.upper(), code) diff --git a/lib27/site-packages/requests/structures.py b/lib27/site-packages/requests/structures.py deleted file mode 100644 index 991056e47..000000000 --- a/lib27/site-packages/requests/structures.py +++ /dev/null @@ -1,106 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.structures -~~~~~~~~~~~~~~~~~~~ - -Data structures that power Requests. - -""" - -import collections - -from .compat import OrderedDict - - -class CaseInsensitiveDict(collections.MutableMapping): - """ - A case-insensitive ``dict``-like object. - - Implements all methods and operations of - ``collections.MutableMapping`` as well as dict's ``copy``. Also - provides ``lower_items``. - - All keys are expected to be strings. The structure remembers the - case of the last key to be set, and ``iter(instance)``, - ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` - will contain case-sensitive keys. However, querying and contains - testing is case insensitive:: - - cid = CaseInsensitiveDict() - cid['Accept'] = 'application/json' - cid['aCCEPT'] == 'application/json' # True - list(cid) == ['Accept'] # True - - For example, ``headers['content-encoding']`` will return the - value of a ``'Content-Encoding'`` response header, regardless - of how the header name was originally stored. - - If the constructor, ``.update``, or equality comparison - operations are given keys that have equal ``.lower()``s, the - behavior is undefined. - - """ - def __init__(self, data=None, **kwargs): - self._store = OrderedDict() - if data is None: - data = {} - self.update(data, **kwargs) - - def __setitem__(self, key, value): - # Use the lowercased key for lookups, but store the actual - # key alongside the value. - self._store[key.lower()] = (key, value) - - def __getitem__(self, key): - return self._store[key.lower()][1] - - def __delitem__(self, key): - del self._store[key.lower()] - - def __iter__(self): - return (casedkey for casedkey, mappedvalue in self._store.values()) - - def __len__(self): - return len(self._store) - - def lower_items(self): - """Like iteritems(), but with all lowercase keys.""" - return ( - (lowerkey, keyval[1]) - for (lowerkey, keyval) - in self._store.items() - ) - - def __eq__(self, other): - if isinstance(other, collections.Mapping): - other = CaseInsensitiveDict(other) - else: - return NotImplemented - # Compare insensitively - return dict(self.lower_items()) == dict(other.lower_items()) - - # Copy is required - def copy(self): - return CaseInsensitiveDict(self._store.values()) - - def __repr__(self): - return str(dict(self.items())) - -class LookupDict(dict): - """Dictionary lookup object.""" - - def __init__(self, name=None): - self.name = name - super(LookupDict, self).__init__() - - def __repr__(self): - return '' % (self.name) - - def __getitem__(self, key): - # We allow fall-through here, so values default to None - - return self.__dict__.get(key, None) - - def get(self, key, default=None): - return self.__dict__.get(key, default) diff --git a/lib27/site-packages/requests/utils.py b/lib27/site-packages/requests/utils.py deleted file mode 100644 index c08448ccb..000000000 --- a/lib27/site-packages/requests/utils.py +++ /dev/null @@ -1,728 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.utils -~~~~~~~~~~~~~~ - -This module provides utility functions that are used within Requests -that are also useful for external consumption. - -""" - -import cgi -import codecs -import collections -import io -import os -import re -import socket -import struct -import warnings - -from . import __version__ -from . import certs -from .compat import parse_http_list as _parse_list_header -from .compat import (quote, urlparse, bytes, str, OrderedDict, unquote, is_py2, - builtin_str, getproxies, proxy_bypass, urlunparse, - basestring) -from .cookies import RequestsCookieJar, cookiejar_from_dict -from .structures import CaseInsensitiveDict -from .exceptions import InvalidURL, FileModeWarning - -_hush_pyflakes = (RequestsCookieJar,) - -NETRC_FILES = ('.netrc', '_netrc') - -DEFAULT_CA_BUNDLE_PATH = certs.where() - - -def dict_to_sequence(d): - """Returns an internal sequence dictionary update.""" - - if hasattr(d, 'items'): - d = d.items() - - return d - - -def super_len(o): - total_length = 0 - current_position = 0 - - if hasattr(o, '__len__'): - total_length = len(o) - - elif hasattr(o, 'len'): - total_length = o.len - - elif hasattr(o, 'getvalue'): - # e.g. BytesIO, cStringIO.StringIO - total_length = len(o.getvalue()) - - elif hasattr(o, 'fileno'): - try: - fileno = o.fileno() - except io.UnsupportedOperation: - pass - else: - total_length = os.fstat(fileno).st_size - - # Having used fstat to determine the file length, we need to - # confirm that this file was opened up in binary mode. - if 'b' not in o.mode: - warnings.warn(( - "Requests has determined the content-length for this " - "request using the binary size of the file: however, the " - "file has been opened in text mode (i.e. without the 'b' " - "flag in the mode). This may lead to an incorrect " - "content-length. In Requests 3.0, support will be removed " - "for files in text mode."), - FileModeWarning - ) - - if hasattr(o, 'tell'): - try: - current_position = o.tell() - except (OSError, IOError): - # This can happen in some weird situations, such as when the file - # is actually a special file descriptor like stdin. In this - # instance, we don't know what the length is, so set it to zero and - # let requests chunk it instead. - current_position = total_length - - return max(0, total_length - current_position) - - -def get_netrc_auth(url, raise_errors=False): - """Returns the Requests tuple auth for a given url from netrc.""" - - try: - from netrc import netrc, NetrcParseError - - netrc_path = None - - for f in NETRC_FILES: - try: - loc = os.path.expanduser('~/{0}'.format(f)) - except KeyError: - # os.path.expanduser can fail when $HOME is undefined and - # getpwuid fails. See http://bugs.python.org/issue20164 & - # https://github.com/kennethreitz/requests/issues/1846 - return - - if os.path.exists(loc): - netrc_path = loc - break - - # Abort early if there isn't one. - if netrc_path is None: - return - - ri = urlparse(url) - - # Strip port numbers from netloc. This weird `if...encode`` dance is - # used for Python 3.2, which doesn't support unicode literals. - splitstr = b':' - if isinstance(url, str): - splitstr = splitstr.decode('ascii') - host = ri.netloc.split(splitstr)[0] - - try: - _netrc = netrc(netrc_path).authenticators(host) - if _netrc: - # Return with login / password - login_i = (0 if _netrc[0] else 1) - return (_netrc[login_i], _netrc[2]) - except (NetrcParseError, IOError): - # If there was a parsing error or a permissions issue reading the file, - # we'll just skip netrc auth unless explicitly asked to raise errors. - if raise_errors: - raise - - # AppEngine hackiness. - except (ImportError, AttributeError): - pass - - -def guess_filename(obj): - """Tries to guess the filename of the given object.""" - name = getattr(obj, 'name', None) - if (name and isinstance(name, basestring) and name[0] != '<' and - name[-1] != '>'): - return os.path.basename(name) - - -def from_key_val_list(value): - """Take an object and test to see if it can be represented as a - dictionary. Unless it can not be represented as such, return an - OrderedDict, e.g., - - :: - - >>> from_key_val_list([('key', 'val')]) - OrderedDict([('key', 'val')]) - >>> from_key_val_list('string') - ValueError: need more than 1 value to unpack - >>> from_key_val_list({'key': 'val'}) - OrderedDict([('key', 'val')]) - """ - if value is None: - return None - - if isinstance(value, (str, bytes, bool, int)): - raise ValueError('cannot encode objects that are not 2-tuples') - - return OrderedDict(value) - - -def to_key_val_list(value): - """Take an object and test to see if it can be represented as a - dictionary. If it can be, return a list of tuples, e.g., - - :: - - >>> to_key_val_list([('key', 'val')]) - [('key', 'val')] - >>> to_key_val_list({'key': 'val'}) - [('key', 'val')] - >>> to_key_val_list('string') - ValueError: cannot encode objects that are not 2-tuples. - """ - if value is None: - return None - - if isinstance(value, (str, bytes, bool, int)): - raise ValueError('cannot encode objects that are not 2-tuples') - - if isinstance(value, collections.Mapping): - value = value.items() - - return list(value) - - -# From mitsuhiko/werkzeug (used with permission). -def parse_list_header(value): - """Parse lists as described by RFC 2068 Section 2. - - In particular, parse comma-separated lists where the elements of - the list may include quoted-strings. A quoted-string could - contain a comma. A non-quoted string could have quotes in the - middle. Quotes are removed automatically after parsing. - - It basically works like :func:`parse_set_header` just that items - may appear multiple times and case sensitivity is preserved. - - The return value is a standard :class:`list`: - - >>> parse_list_header('token, "quoted value"') - ['token', 'quoted value'] - - To create a header from the :class:`list` again, use the - :func:`dump_header` function. - - :param value: a string with a list header. - :return: :class:`list` - """ - result = [] - for item in _parse_list_header(value): - if item[:1] == item[-1:] == '"': - item = unquote_header_value(item[1:-1]) - result.append(item) - return result - - -# From mitsuhiko/werkzeug (used with permission). -def parse_dict_header(value): - """Parse lists of key, value pairs as described by RFC 2068 Section 2 and - convert them into a python dict: - - >>> d = parse_dict_header('foo="is a fish", bar="as well"') - >>> type(d) is dict - True - >>> sorted(d.items()) - [('bar', 'as well'), ('foo', 'is a fish')] - - If there is no value for a key it will be `None`: - - >>> parse_dict_header('key_without_value') - {'key_without_value': None} - - To create a header from the :class:`dict` again, use the - :func:`dump_header` function. - - :param value: a string with a dict header. - :return: :class:`dict` - """ - result = {} - for item in _parse_list_header(value): - if '=' not in item: - result[item] = None - continue - name, value = item.split('=', 1) - if value[:1] == value[-1:] == '"': - value = unquote_header_value(value[1:-1]) - result[name] = value - return result - - -# From mitsuhiko/werkzeug (used with permission). -def unquote_header_value(value, is_filename=False): - r"""Unquotes a header value. (Reversal of :func:`quote_header_value`). - This does not use the real unquoting but what browsers are actually - using for quoting. - - :param value: the header value to unquote. - """ - if value and value[0] == value[-1] == '"': - # this is not the real unquoting, but fixing this so that the - # RFC is met will result in bugs with internet explorer and - # probably some other browsers as well. IE for example is - # uploading files with "C:\foo\bar.txt" as filename - value = value[1:-1] - - # if this is a filename and the starting characters look like - # a UNC path, then just return the value without quotes. Using the - # replace sequence below on a UNC path has the effect of turning - # the leading double slash into a single slash and then - # _fix_ie_filename() doesn't work correctly. See #458. - if not is_filename or value[:2] != '\\\\': - return value.replace('\\\\', '\\').replace('\\"', '"') - return value - - -def dict_from_cookiejar(cj): - """Returns a key/value dictionary from a CookieJar. - - :param cj: CookieJar object to extract cookies from. - """ - - cookie_dict = {} - - for cookie in cj: - cookie_dict[cookie.name] = cookie.value - - return cookie_dict - - -def add_dict_to_cookiejar(cj, cookie_dict): - """Returns a CookieJar from a key/value dictionary. - - :param cj: CookieJar to insert cookies into. - :param cookie_dict: Dict of key/values to insert into CookieJar. - """ - - cj2 = cookiejar_from_dict(cookie_dict) - cj.update(cj2) - return cj - - -def get_encodings_from_content(content): - """Returns encodings from given content string. - - :param content: bytestring to extract encodings from. - """ - warnings.warn(( - 'In requests 3.0, get_encodings_from_content will be removed. For ' - 'more information, please see the discussion on issue #2266. (This' - ' warning should only appear once.)'), - DeprecationWarning) - - charset_re = re.compile(r']', flags=re.I) - pragma_re = re.compile(r']', flags=re.I) - xml_re = re.compile(r'^<\?xml.*?encoding=["\']*(.+?)["\'>]') - - return (charset_re.findall(content) + - pragma_re.findall(content) + - xml_re.findall(content)) - - -def get_encoding_from_headers(headers): - """Returns encodings from given HTTP Header Dict. - - :param headers: dictionary to extract encoding from. - """ - - content_type = headers.get('content-type') - - if not content_type: - return None - - content_type, params = cgi.parse_header(content_type) - - if 'charset' in params: - return params['charset'].strip("'\"") - - if 'text' in content_type: - return 'ISO-8859-1' - - -def stream_decode_response_unicode(iterator, r): - """Stream decodes a iterator.""" - - if r.encoding is None: - for item in iterator: - yield item - return - - decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') - for chunk in iterator: - rv = decoder.decode(chunk) - if rv: - yield rv - rv = decoder.decode(b'', final=True) - if rv: - yield rv - - -def iter_slices(string, slice_length): - """Iterate over slices of a string.""" - pos = 0 - while pos < len(string): - yield string[pos:pos + slice_length] - pos += slice_length - - -def get_unicode_from_response(r): - """Returns the requested content back in unicode. - - :param r: Response object to get unicode content from. - - Tried: - - 1. charset from content-type - 2. fall back and replace all unicode characters - - """ - warnings.warn(( - 'In requests 3.0, get_unicode_from_response will be removed. For ' - 'more information, please see the discussion on issue #2266. (This' - ' warning should only appear once.)'), - DeprecationWarning) - - tried_encodings = [] - - # Try charset from content-type - encoding = get_encoding_from_headers(r.headers) - - if encoding: - try: - return str(r.content, encoding) - except UnicodeError: - tried_encodings.append(encoding) - - # Fall back: - try: - return str(r.content, encoding, errors='replace') - except TypeError: - return r.content - - -# The unreserved URI characters (RFC 3986) -UNRESERVED_SET = frozenset( - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - + "0123456789-._~") - - -def unquote_unreserved(uri): - """Un-escape any percent-escape sequences in a URI that are unreserved - characters. This leaves all reserved, illegal and non-ASCII bytes encoded. - """ - parts = uri.split('%') - for i in range(1, len(parts)): - h = parts[i][0:2] - if len(h) == 2 and h.isalnum(): - try: - c = chr(int(h, 16)) - except ValueError: - raise InvalidURL("Invalid percent-escape sequence: '%s'" % h) - - if c in UNRESERVED_SET: - parts[i] = c + parts[i][2:] - else: - parts[i] = '%' + parts[i] - else: - parts[i] = '%' + parts[i] - return ''.join(parts) - - -def requote_uri(uri): - """Re-quote the given URI. - - This function passes the given URI through an unquote/quote cycle to - ensure that it is fully and consistently quoted. - """ - safe_with_percent = "!#$%&'()*+,/:;=?@[]~" - safe_without_percent = "!#$&'()*+,/:;=?@[]~" - try: - # Unquote only the unreserved characters - # Then quote only illegal characters (do not quote reserved, - # unreserved, or '%') - return quote(unquote_unreserved(uri), safe=safe_with_percent) - except InvalidURL: - # We couldn't unquote the given URI, so let's try quoting it, but - # there may be unquoted '%'s in the URI. We need to make sure they're - # properly quoted so they do not cause issues elsewhere. - return quote(uri, safe=safe_without_percent) - - -def address_in_network(ip, net): - """ - This function allows you to check if on IP belongs to a network subnet - Example: returns True if ip = 192.168.1.1 and net = 192.168.1.0/24 - returns False if ip = 192.168.1.1 and net = 192.168.100.0/24 - """ - ipaddr = struct.unpack('=L', socket.inet_aton(ip))[0] - netaddr, bits = net.split('/') - netmask = struct.unpack('=L', socket.inet_aton(dotted_netmask(int(bits))))[0] - network = struct.unpack('=L', socket.inet_aton(netaddr))[0] & netmask - return (ipaddr & netmask) == (network & netmask) - - -def dotted_netmask(mask): - """ - Converts mask from /xx format to xxx.xxx.xxx.xxx - Example: if mask is 24 function returns 255.255.255.0 - """ - bits = 0xffffffff ^ (1 << 32 - mask) - 1 - return socket.inet_ntoa(struct.pack('>I', bits)) - - -def is_ipv4_address(string_ip): - try: - socket.inet_aton(string_ip) - except socket.error: - return False - return True - - -def is_valid_cidr(string_network): - """Very simple check of the cidr format in no_proxy variable""" - if string_network.count('/') == 1: - try: - mask = int(string_network.split('/')[1]) - except ValueError: - return False - - if mask < 1 or mask > 32: - return False - - try: - socket.inet_aton(string_network.split('/')[0]) - except socket.error: - return False - else: - return False - return True - - -def should_bypass_proxies(url): - """ - Returns whether we should bypass proxies or not. - """ - get_proxy = lambda k: os.environ.get(k) or os.environ.get(k.upper()) - - # First check whether no_proxy is defined. If it is, check that the URL - # we're getting isn't in the no_proxy list. - no_proxy = get_proxy('no_proxy') - netloc = urlparse(url).netloc - - if no_proxy: - # We need to check whether we match here. We need to see if we match - # the end of the netloc, both with and without the port. - no_proxy = ( - host for host in no_proxy.replace(' ', '').split(',') if host - ) - - ip = netloc.split(':')[0] - if is_ipv4_address(ip): - for proxy_ip in no_proxy: - if is_valid_cidr(proxy_ip): - if address_in_network(ip, proxy_ip): - return True - else: - for host in no_proxy: - if netloc.endswith(host) or netloc.split(':')[0].endswith(host): - # The URL does match something in no_proxy, so we don't want - # to apply the proxies on this URL. - return True - - # If the system proxy settings indicate that this URL should be bypassed, - # don't proxy. - # The proxy_bypass function is incredibly buggy on OS X in early versions - # of Python 2.6, so allow this call to fail. Only catch the specific - # exceptions we've seen, though: this call failing in other ways can reveal - # legitimate problems. - try: - bypass = proxy_bypass(netloc) - except (TypeError, socket.gaierror): - bypass = False - - if bypass: - return True - - return False - - -def get_environ_proxies(url): - """Return a dict of environment proxies.""" - if should_bypass_proxies(url): - return {} - else: - return getproxies() - - -def select_proxy(url, proxies): - """Select a proxy for the url, if applicable. - - :param url: The url being for the request - :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs - """ - proxies = proxies or {} - urlparts = urlparse(url) - if urlparts.hostname is None: - proxy = None - else: - proxy = proxies.get(urlparts.scheme+'://'+urlparts.hostname) - if proxy is None: - proxy = proxies.get(urlparts.scheme) - return proxy - - -def default_user_agent(name="python-requests"): - """Return a string representing the default user agent.""" - return '%s/%s' % (name, __version__) - - -def default_headers(): - return CaseInsensitiveDict({ - 'User-Agent': default_user_agent(), - 'Accept-Encoding': ', '.join(('gzip', 'deflate')), - 'Accept': '*/*', - 'Connection': 'keep-alive', - }) - - -def parse_header_links(value): - """Return a dict of parsed link headers proxies. - - i.e. Link: ; rel=front; type="image/jpeg",; rel=back;type="image/jpeg" - - """ - - links = [] - - replace_chars = ' \'"' - - for val in re.split(', *<', value): - try: - url, params = val.split(';', 1) - except ValueError: - url, params = val, '' - - link = {'url': url.strip('<> \'"')} - - for param in params.split(';'): - try: - key, value = param.split('=') - except ValueError: - break - - link[key.strip(replace_chars)] = value.strip(replace_chars) - - links.append(link) - - return links - - -# Null bytes; no need to recreate these on each call to guess_json_utf -_null = '\x00'.encode('ascii') # encoding to ASCII for Python 3 -_null2 = _null * 2 -_null3 = _null * 3 - - -def guess_json_utf(data): - # JSON always starts with two ASCII characters, so detection is as - # easy as counting the nulls and from their location and count - # determine the encoding. Also detect a BOM, if present. - sample = data[:4] - if sample in (codecs.BOM_UTF32_LE, codecs.BOM32_BE): - return 'utf-32' # BOM included - if sample[:3] == codecs.BOM_UTF8: - return 'utf-8-sig' # BOM included, MS style (discouraged) - if sample[:2] in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE): - return 'utf-16' # BOM included - nullcount = sample.count(_null) - if nullcount == 0: - return 'utf-8' - if nullcount == 2: - if sample[::2] == _null2: # 1st and 3rd are null - return 'utf-16-be' - if sample[1::2] == _null2: # 2nd and 4th are null - return 'utf-16-le' - # Did not detect 2 valid UTF-16 ascii-range characters - if nullcount == 3: - if sample[:3] == _null3: - return 'utf-32-be' - if sample[1:] == _null3: - return 'utf-32-le' - # Did not detect a valid UTF-32 ascii-range character - return None - - -def prepend_scheme_if_needed(url, new_scheme): - """Given a URL that may or may not have a scheme, prepend the given scheme. - Does not replace a present scheme with the one provided as an argument.""" - scheme, netloc, path, params, query, fragment = urlparse(url, new_scheme) - - # urlparse is a finicky beast, and sometimes decides that there isn't a - # netloc present. Assume that it's being over-cautious, and switch netloc - # and path if urlparse decided there was no netloc. - if not netloc: - netloc, path = path, netloc - - return urlunparse((scheme, netloc, path, params, query, fragment)) - - -def get_auth_from_url(url): - """Given a url with authentication components, extract them into a tuple of - username,password.""" - parsed = urlparse(url) - - try: - auth = (unquote(parsed.username), unquote(parsed.password)) - except (AttributeError, TypeError): - auth = ('', '') - - return auth - - -def to_native_string(string, encoding='ascii'): - """ - Given a string object, regardless of type, returns a representation of that - string in the native string type, encoding and decoding where necessary. - This assumes ASCII unless told otherwise. - """ - if isinstance(string, builtin_str): - out = string - else: - if is_py2: - out = string.encode(encoding) - else: - out = string.decode(encoding) - - return out - - -def urldefragauth(url): - """ - Given a url remove the fragment and the authentication part - """ - scheme, netloc, path, params, query, fragment = urlparse(url) - - # see func:`prepend_scheme_if_needed` - if not netloc: - netloc, path = path, netloc - - netloc = netloc.rsplit('@', 1)[-1] - - return urlunparse((scheme, netloc, path, params, query, '')) diff --git a/lib27/site-packages/tornado/__init__.py b/lib27/site-packages/tornado/__init__.py deleted file mode 100644 index 85bacc7e9..000000000 --- a/lib27/site-packages/tornado/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""The Tornado web server and tools.""" - -from __future__ import absolute_import, division, print_function, with_statement - -# version is a human-readable version number. - -# version_info is a four-tuple for programmatic comparison. The first -# three numbers are the components of the version number. The fourth -# is zero for an official release, positive for a development branch, -# or negative for a release candidate or beta (after the base version -# number has been incremented) -version = "4.3" -version_info = (4, 3, 0, 0) diff --git a/lib27/site-packages/tornado/_locale_data.py b/lib27/site-packages/tornado/_locale_data.py deleted file mode 100644 index 47c1df618..000000000 --- a/lib27/site-packages/tornado/_locale_data.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 -# -# Copyright 2012 Facebook -# -# 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. - -"""Data used by the tornado.locale module.""" - -from __future__ import absolute_import, division, print_function, with_statement - -# NOTE: This file is supposed to contain unicode strings, which is -# exactly what you'd get with e.g. u"Español" in most python versions. -# However, Python 3.2 doesn't support the u"" syntax, so we use a u() -# function instead. tornado.util.u cannot be used because it doesn't -# support non-ascii characters on python 2. -# When we drop support for Python 3.2, we can remove the parens -# and make these plain unicode strings. -from tornado.escape import to_unicode as u - -LOCALE_NAMES = { - "af_ZA": {"name_en": u("Afrikaans"), "name": u("Afrikaans")}, - "am_ET": {"name_en": u("Amharic"), "name": u("አማርኛ")}, - "ar_AR": {"name_en": u("Arabic"), "name": u("العربية")}, - "bg_BG": {"name_en": u("Bulgarian"), "name": u("Български")}, - "bn_IN": {"name_en": u("Bengali"), "name": u("বাংলা")}, - "bs_BA": {"name_en": u("Bosnian"), "name": u("Bosanski")}, - "ca_ES": {"name_en": u("Catalan"), "name": u("Català")}, - "cs_CZ": {"name_en": u("Czech"), "name": u("Čeština")}, - "cy_GB": {"name_en": u("Welsh"), "name": u("Cymraeg")}, - "da_DK": {"name_en": u("Danish"), "name": u("Dansk")}, - "de_DE": {"name_en": u("German"), "name": u("Deutsch")}, - "el_GR": {"name_en": u("Greek"), "name": u("Ελληνικά")}, - "en_GB": {"name_en": u("English (UK)"), "name": u("English (UK)")}, - "en_US": {"name_en": u("English (US)"), "name": u("English (US)")}, - "es_ES": {"name_en": u("Spanish (Spain)"), "name": u("Español (España)")}, - "es_LA": {"name_en": u("Spanish"), "name": u("Español")}, - "et_EE": {"name_en": u("Estonian"), "name": u("Eesti")}, - "eu_ES": {"name_en": u("Basque"), "name": u("Euskara")}, - "fa_IR": {"name_en": u("Persian"), "name": u("فارسی")}, - "fi_FI": {"name_en": u("Finnish"), "name": u("Suomi")}, - "fr_CA": {"name_en": u("French (Canada)"), "name": u("Français (Canada)")}, - "fr_FR": {"name_en": u("French"), "name": u("Français")}, - "ga_IE": {"name_en": u("Irish"), "name": u("Gaeilge")}, - "gl_ES": {"name_en": u("Galician"), "name": u("Galego")}, - "he_IL": {"name_en": u("Hebrew"), "name": u("עברית")}, - "hi_IN": {"name_en": u("Hindi"), "name": u("हिन्दी")}, - "hr_HR": {"name_en": u("Croatian"), "name": u("Hrvatski")}, - "hu_HU": {"name_en": u("Hungarian"), "name": u("Magyar")}, - "id_ID": {"name_en": u("Indonesian"), "name": u("Bahasa Indonesia")}, - "is_IS": {"name_en": u("Icelandic"), "name": u("Íslenska")}, - "it_IT": {"name_en": u("Italian"), "name": u("Italiano")}, - "ja_JP": {"name_en": u("Japanese"), "name": u("日本語")}, - "ko_KR": {"name_en": u("Korean"), "name": u("한국어")}, - "lt_LT": {"name_en": u("Lithuanian"), "name": u("Lietuvių")}, - "lv_LV": {"name_en": u("Latvian"), "name": u("Latviešu")}, - "mk_MK": {"name_en": u("Macedonian"), "name": u("Македонски")}, - "ml_IN": {"name_en": u("Malayalam"), "name": u("മലയാളം")}, - "ms_MY": {"name_en": u("Malay"), "name": u("Bahasa Melayu")}, - "nb_NO": {"name_en": u("Norwegian (bokmal)"), "name": u("Norsk (bokmål)")}, - "nl_NL": {"name_en": u("Dutch"), "name": u("Nederlands")}, - "nn_NO": {"name_en": u("Norwegian (nynorsk)"), "name": u("Norsk (nynorsk)")}, - "pa_IN": {"name_en": u("Punjabi"), "name": u("ਪੰਜਾਬੀ")}, - "pl_PL": {"name_en": u("Polish"), "name": u("Polski")}, - "pt_BR": {"name_en": u("Portuguese (Brazil)"), "name": u("Português (Brasil)")}, - "pt_PT": {"name_en": u("Portuguese (Portugal)"), "name": u("Português (Portugal)")}, - "ro_RO": {"name_en": u("Romanian"), "name": u("Română")}, - "ru_RU": {"name_en": u("Russian"), "name": u("Русский")}, - "sk_SK": {"name_en": u("Slovak"), "name": u("Slovenčina")}, - "sl_SI": {"name_en": u("Slovenian"), "name": u("Slovenščina")}, - "sq_AL": {"name_en": u("Albanian"), "name": u("Shqip")}, - "sr_RS": {"name_en": u("Serbian"), "name": u("Српски")}, - "sv_SE": {"name_en": u("Swedish"), "name": u("Svenska")}, - "sw_KE": {"name_en": u("Swahili"), "name": u("Kiswahili")}, - "ta_IN": {"name_en": u("Tamil"), "name": u("தமிழ்")}, - "te_IN": {"name_en": u("Telugu"), "name": u("తెలుగు")}, - "th_TH": {"name_en": u("Thai"), "name": u("ภาษาไทย")}, - "tl_PH": {"name_en": u("Filipino"), "name": u("Filipino")}, - "tr_TR": {"name_en": u("Turkish"), "name": u("Türkçe")}, - "uk_UA": {"name_en": u("Ukraini "), "name": u("Українська")}, - "vi_VN": {"name_en": u("Vietnamese"), "name": u("Tiếng Việt")}, - "zh_CN": {"name_en": u("Chinese (Simplified)"), "name": u("中文(简体)")}, - "zh_TW": {"name_en": u("Chinese (Traditional)"), "name": u("中文(繁體)")}, -} diff --git a/lib27/site-packages/tornado/auth.py b/lib27/site-packages/tornado/auth.py deleted file mode 100644 index ff7172aa0..000000000 --- a/lib27/site-packages/tornado/auth.py +++ /dev/null @@ -1,1139 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""This module contains implementations of various third-party -authentication schemes. - -All the classes in this file are class mixins designed to be used with -the `tornado.web.RequestHandler` class. They are used in two ways: - -* On a login handler, use methods such as ``authenticate_redirect()``, - ``authorize_redirect()``, and ``get_authenticated_user()`` to - establish the user's identity and store authentication tokens to your - database and/or cookies. -* In non-login handlers, use methods such as ``facebook_request()`` - or ``twitter_request()`` to use the authentication tokens to make - requests to the respective services. - -They all take slightly different arguments due to the fact all these -services implement authentication and authorization slightly differently. -See the individual service classes below for complete documentation. - -Example usage for Google OAuth: - -.. testcode:: - - class GoogleOAuth2LoginHandler(tornado.web.RequestHandler, - tornado.auth.GoogleOAuth2Mixin): - @tornado.gen.coroutine - def get(self): - if self.get_argument('code', False): - user = yield self.get_authenticated_user( - redirect_uri='http://your.site.com/auth/google', - code=self.get_argument('code')) - # Save the user with e.g. set_secure_cookie - else: - yield self.authorize_redirect( - redirect_uri='http://your.site.com/auth/google', - client_id=self.settings['google_oauth']['key'], - scope=['profile', 'email'], - response_type='code', - extra_params={'approval_prompt': 'auto'}) - -.. testoutput:: - :hide: - - -.. versionchanged:: 4.0 - All of the callback interfaces in this module are now guaranteed - to run their callback with an argument of ``None`` on error. - Previously some functions would do this while others would simply - terminate the request on their own. This change also ensures that - errors are more consistently reported through the ``Future`` interfaces. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import base64 -import binascii -import functools -import hashlib -import hmac -import time -import uuid - -from tornado.concurrent import TracebackFuture, return_future, chain_future -from tornado import gen -from tornado import httpclient -from tornado import escape -from tornado.httputil import url_concat -from tornado.log import gen_log -from tornado.stack_context import ExceptionStackContext -from tornado.util import u, unicode_type, ArgReplacer - -try: - import urlparse # py2 -except ImportError: - import urllib.parse as urlparse # py3 - -try: - import urllib.parse as urllib_parse # py3 -except ImportError: - import urllib as urllib_parse # py2 - -try: - long # py2 -except NameError: - long = int # py3 - - -class AuthError(Exception): - pass - - -def _auth_future_to_callback(callback, future): - try: - result = future.result() - except AuthError as e: - gen_log.warning(str(e)) - result = None - callback(result) - - -def _auth_return_future(f): - """Similar to tornado.concurrent.return_future, but uses the auth - module's legacy callback interface. - - Note that when using this decorator the ``callback`` parameter - inside the function will actually be a future. - """ - replacer = ArgReplacer(f, 'callback') - - @functools.wraps(f) - def wrapper(*args, **kwargs): - future = TracebackFuture() - callback, args, kwargs = replacer.replace(future, args, kwargs) - if callback is not None: - future.add_done_callback( - functools.partial(_auth_future_to_callback, callback)) - - def handle_exception(typ, value, tb): - if future.done(): - return False - else: - future.set_exc_info((typ, value, tb)) - return True - with ExceptionStackContext(handle_exception): - f(*args, **kwargs) - return future - return wrapper - - -class OpenIdMixin(object): - """Abstract implementation of OpenID and Attribute Exchange. - - Class attributes: - - * ``_OPENID_ENDPOINT``: the identity provider's URI. - """ - @return_future - def authenticate_redirect(self, callback_uri=None, - ax_attrs=["name", "email", "language", "username"], - callback=None): - """Redirects to the authentication URL for this service. - - After authentication, the service will redirect back to the given - callback URI with additional parameters including ``openid.mode``. - - We request the given attributes for the authenticated user by - default (name, email, language, and username). If you don't need - all those attributes for your app, you can request fewer with - the ax_attrs keyword argument. - - .. versionchanged:: 3.1 - Returns a `.Future` and takes an optional callback. These are - not strictly necessary as this method is synchronous, - but they are supplied for consistency with - `OAuthMixin.authorize_redirect`. - """ - callback_uri = callback_uri or self.request.uri - args = self._openid_args(callback_uri, ax_attrs=ax_attrs) - self.redirect(self._OPENID_ENDPOINT + "?" + urllib_parse.urlencode(args)) - callback() - - @_auth_return_future - def get_authenticated_user(self, callback, http_client=None): - """Fetches the authenticated user data upon redirect. - - This method should be called by the handler that receives the - redirect from the `authenticate_redirect()` method (which is - often the same as the one that calls it; in that case you would - call `get_authenticated_user` if the ``openid.mode`` parameter - is present and `authenticate_redirect` if it is not). - - The result of this method will generally be used to set a cookie. - """ - # Verify the OpenID response via direct request to the OP - args = dict((k, v[-1]) for k, v in self.request.arguments.items()) - args["openid.mode"] = u("check_authentication") - url = self._OPENID_ENDPOINT - if http_client is None: - http_client = self.get_auth_http_client() - http_client.fetch(url, functools.partial( - self._on_authentication_verified, callback), - method="POST", body=urllib_parse.urlencode(args)) - - def _openid_args(self, callback_uri, ax_attrs=[], oauth_scope=None): - url = urlparse.urljoin(self.request.full_url(), callback_uri) - args = { - "openid.ns": "http://specs.openid.net/auth/2.0", - "openid.claimed_id": - "http://specs.openid.net/auth/2.0/identifier_select", - "openid.identity": - "http://specs.openid.net/auth/2.0/identifier_select", - "openid.return_to": url, - "openid.realm": urlparse.urljoin(url, '/'), - "openid.mode": "checkid_setup", - } - if ax_attrs: - args.update({ - "openid.ns.ax": "http://openid.net/srv/ax/1.0", - "openid.ax.mode": "fetch_request", - }) - ax_attrs = set(ax_attrs) - required = [] - if "name" in ax_attrs: - ax_attrs -= set(["name", "firstname", "fullname", "lastname"]) - required += ["firstname", "fullname", "lastname"] - args.update({ - "openid.ax.type.firstname": - "http://axschema.org/namePerson/first", - "openid.ax.type.fullname": - "http://axschema.org/namePerson", - "openid.ax.type.lastname": - "http://axschema.org/namePerson/last", - }) - known_attrs = { - "email": "http://axschema.org/contact/email", - "language": "http://axschema.org/pref/language", - "username": "http://axschema.org/namePerson/friendly", - } - for name in ax_attrs: - args["openid.ax.type." + name] = known_attrs[name] - required.append(name) - args["openid.ax.required"] = ",".join(required) - if oauth_scope: - args.update({ - "openid.ns.oauth": - "http://specs.openid.net/extensions/oauth/1.0", - "openid.oauth.consumer": self.request.host.split(":")[0], - "openid.oauth.scope": oauth_scope, - }) - return args - - def _on_authentication_verified(self, future, response): - if response.error or b"is_valid:true" not in response.body: - future.set_exception(AuthError( - "Invalid OpenID response: %s" % (response.error or - response.body))) - return - - # Make sure we got back at least an email from attribute exchange - ax_ns = None - for name in self.request.arguments: - if name.startswith("openid.ns.") and \ - self.get_argument(name) == u("http://openid.net/srv/ax/1.0"): - ax_ns = name[10:] - break - - def get_ax_arg(uri): - if not ax_ns: - return u("") - prefix = "openid." + ax_ns + ".type." - ax_name = None - for name in self.request.arguments.keys(): - if self.get_argument(name) == uri and name.startswith(prefix): - part = name[len(prefix):] - ax_name = "openid." + ax_ns + ".value." + part - break - if not ax_name: - return u("") - return self.get_argument(ax_name, u("")) - - email = get_ax_arg("http://axschema.org/contact/email") - name = get_ax_arg("http://axschema.org/namePerson") - first_name = get_ax_arg("http://axschema.org/namePerson/first") - last_name = get_ax_arg("http://axschema.org/namePerson/last") - username = get_ax_arg("http://axschema.org/namePerson/friendly") - locale = get_ax_arg("http://axschema.org/pref/language").lower() - user = dict() - name_parts = [] - if first_name: - user["first_name"] = first_name - name_parts.append(first_name) - if last_name: - user["last_name"] = last_name - name_parts.append(last_name) - if name: - user["name"] = name - elif name_parts: - user["name"] = u(" ").join(name_parts) - elif email: - user["name"] = email.split("@")[0] - if email: - user["email"] = email - if locale: - user["locale"] = locale - if username: - user["username"] = username - claimed_id = self.get_argument("openid.claimed_id", None) - if claimed_id: - user["claimed_id"] = claimed_id - future.set_result(user) - - def get_auth_http_client(self): - """Returns the `.AsyncHTTPClient` instance to be used for auth requests. - - May be overridden by subclasses to use an HTTP client other than - the default. - """ - return httpclient.AsyncHTTPClient() - - -class OAuthMixin(object): - """Abstract implementation of OAuth 1.0 and 1.0a. - - See `TwitterMixin` below for an example implementation. - - Class attributes: - - * ``_OAUTH_AUTHORIZE_URL``: The service's OAuth authorization url. - * ``_OAUTH_ACCESS_TOKEN_URL``: The service's OAuth access token url. - * ``_OAUTH_VERSION``: May be either "1.0" or "1.0a". - * ``_OAUTH_NO_CALLBACKS``: Set this to True if the service requires - advance registration of callbacks. - - Subclasses must also override the `_oauth_get_user_future` and - `_oauth_consumer_token` methods. - """ - @return_future - def authorize_redirect(self, callback_uri=None, extra_params=None, - http_client=None, callback=None): - """Redirects the user to obtain OAuth authorization for this service. - - The ``callback_uri`` may be omitted if you have previously - registered a callback URI with the third-party service. For - some services (including Friendfeed), you must use a - previously-registered callback URI and cannot specify a - callback via this method. - - This method sets a cookie called ``_oauth_request_token`` which is - subsequently used (and cleared) in `get_authenticated_user` for - security purposes. - - Note that this method is asynchronous, although it calls - `.RequestHandler.finish` for you so it may not be necessary - to pass a callback or use the `.Future` it returns. However, - if this method is called from a function decorated with - `.gen.coroutine`, you must call it with ``yield`` to keep the - response from being closed prematurely. - - .. versionchanged:: 3.1 - Now returns a `.Future` and takes an optional callback, for - compatibility with `.gen.coroutine`. - """ - if callback_uri and getattr(self, "_OAUTH_NO_CALLBACKS", False): - raise Exception("This service does not support oauth_callback") - if http_client is None: - http_client = self.get_auth_http_client() - if getattr(self, "_OAUTH_VERSION", "1.0a") == "1.0a": - http_client.fetch( - self._oauth_request_token_url(callback_uri=callback_uri, - extra_params=extra_params), - functools.partial( - self._on_request_token, - self._OAUTH_AUTHORIZE_URL, - callback_uri, - callback)) - else: - http_client.fetch( - self._oauth_request_token_url(), - functools.partial( - self._on_request_token, self._OAUTH_AUTHORIZE_URL, - callback_uri, - callback)) - - @_auth_return_future - def get_authenticated_user(self, callback, http_client=None): - """Gets the OAuth authorized user and access token. - - This method should be called from the handler for your - OAuth callback URL to complete the registration process. We run the - callback with the authenticated user dictionary. This dictionary - will contain an ``access_key`` which can be used to make authorized - requests to this service on behalf of the user. The dictionary will - also contain other fields such as ``name``, depending on the service - used. - """ - future = callback - request_key = escape.utf8(self.get_argument("oauth_token")) - oauth_verifier = self.get_argument("oauth_verifier", None) - request_cookie = self.get_cookie("_oauth_request_token") - if not request_cookie: - future.set_exception(AuthError( - "Missing OAuth request token cookie")) - return - self.clear_cookie("_oauth_request_token") - cookie_key, cookie_secret = [base64.b64decode(escape.utf8(i)) for i in request_cookie.split("|")] - if cookie_key != request_key: - future.set_exception(AuthError( - "Request token does not match cookie")) - return - token = dict(key=cookie_key, secret=cookie_secret) - if oauth_verifier: - token["verifier"] = oauth_verifier - if http_client is None: - http_client = self.get_auth_http_client() - http_client.fetch(self._oauth_access_token_url(token), - functools.partial(self._on_access_token, callback)) - - def _oauth_request_token_url(self, callback_uri=None, extra_params=None): - consumer_token = self._oauth_consumer_token() - url = self._OAUTH_REQUEST_TOKEN_URL - args = dict( - oauth_consumer_key=escape.to_basestring(consumer_token["key"]), - oauth_signature_method="HMAC-SHA1", - oauth_timestamp=str(int(time.time())), - oauth_nonce=escape.to_basestring(binascii.b2a_hex(uuid.uuid4().bytes)), - oauth_version="1.0", - ) - if getattr(self, "_OAUTH_VERSION", "1.0a") == "1.0a": - if callback_uri == "oob": - args["oauth_callback"] = "oob" - elif callback_uri: - args["oauth_callback"] = urlparse.urljoin( - self.request.full_url(), callback_uri) - if extra_params: - args.update(extra_params) - signature = _oauth10a_signature(consumer_token, "GET", url, args) - else: - signature = _oauth_signature(consumer_token, "GET", url, args) - - args["oauth_signature"] = signature - return url + "?" + urllib_parse.urlencode(args) - - def _on_request_token(self, authorize_url, callback_uri, callback, - response): - if response.error: - raise Exception("Could not get request token: %s" % response.error) - request_token = _oauth_parse_response(response.body) - data = (base64.b64encode(escape.utf8(request_token["key"])) + b"|" + - base64.b64encode(escape.utf8(request_token["secret"]))) - self.set_cookie("_oauth_request_token", data) - args = dict(oauth_token=request_token["key"]) - if callback_uri == "oob": - self.finish(authorize_url + "?" + urllib_parse.urlencode(args)) - callback() - return - elif callback_uri: - args["oauth_callback"] = urlparse.urljoin( - self.request.full_url(), callback_uri) - self.redirect(authorize_url + "?" + urllib_parse.urlencode(args)) - callback() - - def _oauth_access_token_url(self, request_token): - consumer_token = self._oauth_consumer_token() - url = self._OAUTH_ACCESS_TOKEN_URL - args = dict( - oauth_consumer_key=escape.to_basestring(consumer_token["key"]), - oauth_token=escape.to_basestring(request_token["key"]), - oauth_signature_method="HMAC-SHA1", - oauth_timestamp=str(int(time.time())), - oauth_nonce=escape.to_basestring(binascii.b2a_hex(uuid.uuid4().bytes)), - oauth_version="1.0", - ) - if "verifier" in request_token: - args["oauth_verifier"] = request_token["verifier"] - - if getattr(self, "_OAUTH_VERSION", "1.0a") == "1.0a": - signature = _oauth10a_signature(consumer_token, "GET", url, args, - request_token) - else: - signature = _oauth_signature(consumer_token, "GET", url, args, - request_token) - - args["oauth_signature"] = signature - return url + "?" + urllib_parse.urlencode(args) - - def _on_access_token(self, future, response): - if response.error: - future.set_exception(AuthError("Could not fetch access token")) - return - - access_token = _oauth_parse_response(response.body) - self._oauth_get_user_future(access_token).add_done_callback( - functools.partial(self._on_oauth_get_user, access_token, future)) - - def _oauth_consumer_token(self): - """Subclasses must override this to return their OAuth consumer keys. - - The return value should be a `dict` with keys ``key`` and ``secret``. - """ - raise NotImplementedError() - - @return_future - def _oauth_get_user_future(self, access_token, callback): - """Subclasses must override this to get basic information about the - user. - - Should return a `.Future` whose result is a dictionary - containing information about the user, which may have been - retrieved by using ``access_token`` to make a request to the - service. - - The access token will be added to the returned dictionary to make - the result of `get_authenticated_user`. - - For backwards compatibility, the callback-based ``_oauth_get_user`` - method is also supported. - """ - # By default, call the old-style _oauth_get_user, but new code - # should override this method instead. - self._oauth_get_user(access_token, callback) - - def _oauth_get_user(self, access_token, callback): - raise NotImplementedError() - - def _on_oauth_get_user(self, access_token, future, user_future): - if user_future.exception() is not None: - future.set_exception(user_future.exception()) - return - user = user_future.result() - if not user: - future.set_exception(AuthError("Error getting user")) - return - user["access_token"] = access_token - future.set_result(user) - - def _oauth_request_parameters(self, url, access_token, parameters={}, - method="GET"): - """Returns the OAuth parameters as a dict for the given request. - - parameters should include all POST arguments and query string arguments - that will be sent with the request. - """ - consumer_token = self._oauth_consumer_token() - base_args = dict( - oauth_consumer_key=escape.to_basestring(consumer_token["key"]), - oauth_token=escape.to_basestring(access_token["key"]), - oauth_signature_method="HMAC-SHA1", - oauth_timestamp=str(int(time.time())), - oauth_nonce=escape.to_basestring(binascii.b2a_hex(uuid.uuid4().bytes)), - oauth_version="1.0", - ) - args = {} - args.update(base_args) - args.update(parameters) - if getattr(self, "_OAUTH_VERSION", "1.0a") == "1.0a": - signature = _oauth10a_signature(consumer_token, method, url, args, - access_token) - else: - signature = _oauth_signature(consumer_token, method, url, args, - access_token) - base_args["oauth_signature"] = escape.to_basestring(signature) - return base_args - - def get_auth_http_client(self): - """Returns the `.AsyncHTTPClient` instance to be used for auth requests. - - May be overridden by subclasses to use an HTTP client other than - the default. - """ - return httpclient.AsyncHTTPClient() - - -class OAuth2Mixin(object): - """Abstract implementation of OAuth 2.0. - - See `FacebookGraphMixin` or `GoogleOAuth2Mixin` below for example - implementations. - - Class attributes: - - * ``_OAUTH_AUTHORIZE_URL``: The service's authorization url. - * ``_OAUTH_ACCESS_TOKEN_URL``: The service's access token url. - """ - @return_future - def authorize_redirect(self, redirect_uri=None, client_id=None, - client_secret=None, extra_params=None, - callback=None, scope=None, response_type="code"): - """Redirects the user to obtain OAuth authorization for this service. - - Some providers require that you register a redirect URL with - your application instead of passing one via this method. You - should call this method to log the user in, and then call - ``get_authenticated_user`` in the handler for your - redirect URL to complete the authorization process. - - .. versionchanged:: 3.1 - Returns a `.Future` and takes an optional callback. These are - not strictly necessary as this method is synchronous, - but they are supplied for consistency with - `OAuthMixin.authorize_redirect`. - """ - args = { - "redirect_uri": redirect_uri, - "client_id": client_id, - "response_type": response_type - } - if extra_params: - args.update(extra_params) - if scope: - args['scope'] = ' '.join(scope) - self.redirect( - url_concat(self._OAUTH_AUTHORIZE_URL, args)) - callback() - - def _oauth_request_token_url(self, redirect_uri=None, client_id=None, - client_secret=None, code=None, - extra_params=None): - url = self._OAUTH_ACCESS_TOKEN_URL - args = dict( - redirect_uri=redirect_uri, - code=code, - client_id=client_id, - client_secret=client_secret, - ) - if extra_params: - args.update(extra_params) - return url_concat(url, args) - - @_auth_return_future - def oauth2_request(self, url, callback, access_token=None, - post_args=None, **args): - """Fetches the given URL auth an OAuth2 access token. - - If the request is a POST, ``post_args`` should be provided. Query - string arguments should be given as keyword arguments. - - Example usage: - - ..testcode:: - - class MainHandler(tornado.web.RequestHandler, - tornado.auth.FacebookGraphMixin): - @tornado.web.authenticated - @tornado.gen.coroutine - def get(self): - new_entry = yield self.oauth2_request( - "https://graph.facebook.com/me/feed", - post_args={"message": "I am posting from my Tornado application!"}, - access_token=self.current_user["access_token"]) - - if not new_entry: - # Call failed; perhaps missing permission? - yield self.authorize_redirect() - return - self.finish("Posted a message!") - - .. testoutput:: - :hide: - - .. versionadded:: 4.3 - """ - all_args = {} - if access_token: - all_args["access_token"] = access_token - all_args.update(args) - - if all_args: - url += "?" + urllib_parse.urlencode(all_args) - callback = functools.partial(self._on_oauth2_request, callback) - http = self.get_auth_http_client() - if post_args is not None: - http.fetch(url, method="POST", body=urllib_parse.urlencode(post_args), - callback=callback) - else: - http.fetch(url, callback=callback) - - def _on_oauth2_request(self, future, response): - if response.error: - future.set_exception(AuthError("Error response %s fetching %s" % - (response.error, response.request.url))) - return - - future.set_result(escape.json_decode(response.body)) - - def get_auth_http_client(self): - """Returns the `.AsyncHTTPClient` instance to be used for auth requests. - - May be overridden by subclasses to use an HTTP client other than - the default. - - .. versionadded:: 4.3 - """ - return httpclient.AsyncHTTPClient() - - -class TwitterMixin(OAuthMixin): - """Twitter OAuth authentication. - - To authenticate with Twitter, register your application with - Twitter at http://twitter.com/apps. Then copy your Consumer Key - and Consumer Secret to the application - `~tornado.web.Application.settings` ``twitter_consumer_key`` and - ``twitter_consumer_secret``. Use this mixin on the handler for the - URL you registered as your application's callback URL. - - When your application is set up, you can use this mixin like this - to authenticate the user with Twitter and get access to their stream: - - .. testcode:: - - class TwitterLoginHandler(tornado.web.RequestHandler, - tornado.auth.TwitterMixin): - @tornado.gen.coroutine - def get(self): - if self.get_argument("oauth_token", None): - user = yield self.get_authenticated_user() - # Save the user using e.g. set_secure_cookie() - else: - yield self.authorize_redirect() - - .. testoutput:: - :hide: - - The user object returned by `~OAuthMixin.get_authenticated_user` - includes the attributes ``username``, ``name``, ``access_token``, - and all of the custom Twitter user attributes described at - https://dev.twitter.com/docs/api/1.1/get/users/show - """ - _OAUTH_REQUEST_TOKEN_URL = "https://api.twitter.com/oauth/request_token" - _OAUTH_ACCESS_TOKEN_URL = "https://api.twitter.com/oauth/access_token" - _OAUTH_AUTHORIZE_URL = "https://api.twitter.com/oauth/authorize" - _OAUTH_AUTHENTICATE_URL = "https://api.twitter.com/oauth/authenticate" - _OAUTH_NO_CALLBACKS = False - _TWITTER_BASE_URL = "https://api.twitter.com/1.1" - - @return_future - def authenticate_redirect(self, callback_uri=None, callback=None): - """Just like `~OAuthMixin.authorize_redirect`, but - auto-redirects if authorized. - - This is generally the right interface to use if you are using - Twitter for single-sign on. - - .. versionchanged:: 3.1 - Now returns a `.Future` and takes an optional callback, for - compatibility with `.gen.coroutine`. - """ - http = self.get_auth_http_client() - http.fetch(self._oauth_request_token_url(callback_uri=callback_uri), - functools.partial( - self._on_request_token, self._OAUTH_AUTHENTICATE_URL, - None, callback)) - - @_auth_return_future - def twitter_request(self, path, callback=None, access_token=None, - post_args=None, **args): - """Fetches the given API path, e.g., ``statuses/user_timeline/btaylor`` - - The path should not include the format or API version number. - (we automatically use JSON format and API version 1). - - If the request is a POST, ``post_args`` should be provided. Query - string arguments should be given as keyword arguments. - - All the Twitter methods are documented at http://dev.twitter.com/ - - Many methods require an OAuth access token which you can - obtain through `~OAuthMixin.authorize_redirect` and - `~OAuthMixin.get_authenticated_user`. The user returned through that - process includes an 'access_token' attribute that can be used - to make authenticated requests via this method. Example - usage: - - .. testcode:: - - class MainHandler(tornado.web.RequestHandler, - tornado.auth.TwitterMixin): - @tornado.web.authenticated - @tornado.gen.coroutine - def get(self): - new_entry = yield self.twitter_request( - "/statuses/update", - post_args={"status": "Testing Tornado Web Server"}, - access_token=self.current_user["access_token"]) - if not new_entry: - # Call failed; perhaps missing permission? - yield self.authorize_redirect() - return - self.finish("Posted a message!") - - .. testoutput:: - :hide: - - """ - if path.startswith('http:') or path.startswith('https:'): - # Raw urls are useful for e.g. search which doesn't follow the - # usual pattern: http://search.twitter.com/search.json - url = path - else: - url = self._TWITTER_BASE_URL + path + ".json" - # Add the OAuth resource request signature if we have credentials - if access_token: - all_args = {} - all_args.update(args) - all_args.update(post_args or {}) - method = "POST" if post_args is not None else "GET" - oauth = self._oauth_request_parameters( - url, access_token, all_args, method=method) - args.update(oauth) - if args: - url += "?" + urllib_parse.urlencode(args) - http = self.get_auth_http_client() - http_callback = functools.partial(self._on_twitter_request, callback) - if post_args is not None: - http.fetch(url, method="POST", body=urllib_parse.urlencode(post_args), - callback=http_callback) - else: - http.fetch(url, callback=http_callback) - - def _on_twitter_request(self, future, response): - if response.error: - future.set_exception(AuthError( - "Error response %s fetching %s" % (response.error, - response.request.url))) - return - future.set_result(escape.json_decode(response.body)) - - def _oauth_consumer_token(self): - self.require_setting("twitter_consumer_key", "Twitter OAuth") - self.require_setting("twitter_consumer_secret", "Twitter OAuth") - return dict( - key=self.settings["twitter_consumer_key"], - secret=self.settings["twitter_consumer_secret"]) - - @gen.coroutine - def _oauth_get_user_future(self, access_token): - user = yield self.twitter_request( - "/account/verify_credentials", - access_token=access_token) - if user: - user["username"] = user["screen_name"] - raise gen.Return(user) - - -class GoogleOAuth2Mixin(OAuth2Mixin): - """Google authentication using OAuth2. - - In order to use, register your application with Google and copy the - relevant parameters to your application settings. - - * Go to the Google Dev Console at http://console.developers.google.com - * Select a project, or create a new one. - * In the sidebar on the left, select APIs & Auth. - * In the list of APIs, find the Google+ API service and set it to ON. - * In the sidebar on the left, select Credentials. - * In the OAuth section of the page, select Create New Client ID. - * Set the Redirect URI to point to your auth handler - * Copy the "Client secret" and "Client ID" to the application settings as - {"google_oauth": {"key": CLIENT_ID, "secret": CLIENT_SECRET}} - - .. versionadded:: 3.2 - """ - _OAUTH_AUTHORIZE_URL = "https://accounts.google.com/o/oauth2/auth" - _OAUTH_ACCESS_TOKEN_URL = "https://accounts.google.com/o/oauth2/token" - _OAUTH_USERINFO_URL = "https://www.googleapis.com/oauth2/v1/userinfo" - _OAUTH_NO_CALLBACKS = False - _OAUTH_SETTINGS_KEY = 'google_oauth' - - @_auth_return_future - def get_authenticated_user(self, redirect_uri, code, callback): - """Handles the login for the Google user, returning an access token. - - The result is a dictionary containing an ``access_token`` field - ([among others](https://developers.google.com/identity/protocols/OAuth2WebServer#handlingtheresponse)). - Unlike other ``get_authenticated_user`` methods in this package, - this method does not return any additional information about the user. - The returned access token can be used with `OAuth2Mixin.oauth2_request` - to request additional information (perhaps from - ``https://www.googleapis.com/oauth2/v2/userinfo``) - - Example usage: - - .. testcode:: - - class GoogleOAuth2LoginHandler(tornado.web.RequestHandler, - tornado.auth.GoogleOAuth2Mixin): - @tornado.gen.coroutine - def get(self): - if self.get_argument('code', False): - access = yield self.get_authenticated_user( - redirect_uri='http://your.site.com/auth/google', - code=self.get_argument('code')) - user = yield self.oauth2_request( - "https://www.googleapis.com/oauth2/v1/userinfo", - access_token=access["access_token"]) - # Save the user and access token with - # e.g. set_secure_cookie. - else: - yield self.authorize_redirect( - redirect_uri='http://your.site.com/auth/google', - client_id=self.settings['google_oauth']['key'], - scope=['profile', 'email'], - response_type='code', - extra_params={'approval_prompt': 'auto'}) - - .. testoutput:: - :hide: - - """ - http = self.get_auth_http_client() - body = urllib_parse.urlencode({ - "redirect_uri": redirect_uri, - "code": code, - "client_id": self.settings[self._OAUTH_SETTINGS_KEY]['key'], - "client_secret": self.settings[self._OAUTH_SETTINGS_KEY]['secret'], - "grant_type": "authorization_code", - }) - - http.fetch(self._OAUTH_ACCESS_TOKEN_URL, - functools.partial(self._on_access_token, callback), - method="POST", headers={'Content-Type': 'application/x-www-form-urlencoded'}, body=body) - - def _on_access_token(self, future, response): - """Callback function for the exchange to the access token.""" - if response.error: - future.set_exception(AuthError('Google auth error: %s' % str(response))) - return - - args = escape.json_decode(response.body) - future.set_result(args) - - -class FacebookGraphMixin(OAuth2Mixin): - """Facebook authentication using the new Graph API and OAuth2.""" - _OAUTH_ACCESS_TOKEN_URL = "https://graph.facebook.com/oauth/access_token?" - _OAUTH_AUTHORIZE_URL = "https://www.facebook.com/dialog/oauth?" - _OAUTH_NO_CALLBACKS = False - _FACEBOOK_BASE_URL = "https://graph.facebook.com" - - @_auth_return_future - def get_authenticated_user(self, redirect_uri, client_id, client_secret, - code, callback, extra_fields=None): - """Handles the login for the Facebook user, returning a user object. - - Example usage: - - .. testcode:: - - class FacebookGraphLoginHandler(tornado.web.RequestHandler, - tornado.auth.FacebookGraphMixin): - @tornado.gen.coroutine - def get(self): - if self.get_argument("code", False): - user = yield self.get_authenticated_user( - redirect_uri='/auth/facebookgraph/', - client_id=self.settings["facebook_api_key"], - client_secret=self.settings["facebook_secret"], - code=self.get_argument("code")) - # Save the user with e.g. set_secure_cookie - else: - yield self.authorize_redirect( - redirect_uri='/auth/facebookgraph/', - client_id=self.settings["facebook_api_key"], - extra_params={"scope": "read_stream,offline_access"}) - - .. testoutput:: - :hide: - - """ - http = self.get_auth_http_client() - args = { - "redirect_uri": redirect_uri, - "code": code, - "client_id": client_id, - "client_secret": client_secret, - } - - fields = set(['id', 'name', 'first_name', 'last_name', - 'locale', 'picture', 'link']) - if extra_fields: - fields.update(extra_fields) - - http.fetch(self._oauth_request_token_url(**args), - functools.partial(self._on_access_token, redirect_uri, client_id, - client_secret, callback, fields)) - - def _on_access_token(self, redirect_uri, client_id, client_secret, - future, fields, response): - if response.error: - future.set_exception(AuthError('Facebook auth error: %s' % str(response))) - return - - args = urlparse.parse_qs(escape.native_str(response.body)) - session = { - "access_token": args["access_token"][-1], - "expires": args.get("expires") - } - - self.facebook_request( - path="/me", - callback=functools.partial( - self._on_get_user_info, future, session, fields), - access_token=session["access_token"], - fields=",".join(fields) - ) - - def _on_get_user_info(self, future, session, fields, user): - if user is None: - future.set_result(None) - return - - fieldmap = {} - for field in fields: - fieldmap[field] = user.get(field) - - fieldmap.update({"access_token": session["access_token"], "session_expires": session.get("expires")}) - future.set_result(fieldmap) - - @_auth_return_future - def facebook_request(self, path, callback, access_token=None, - post_args=None, **args): - """Fetches the given relative API path, e.g., "/btaylor/picture" - - If the request is a POST, ``post_args`` should be provided. Query - string arguments should be given as keyword arguments. - - An introduction to the Facebook Graph API can be found at - http://developers.facebook.com/docs/api - - Many methods require an OAuth access token which you can - obtain through `~OAuth2Mixin.authorize_redirect` and - `get_authenticated_user`. The user returned through that - process includes an ``access_token`` attribute that can be - used to make authenticated requests via this method. - - Example usage: - - ..testcode:: - - class MainHandler(tornado.web.RequestHandler, - tornado.auth.FacebookGraphMixin): - @tornado.web.authenticated - @tornado.gen.coroutine - def get(self): - new_entry = yield self.facebook_request( - "/me/feed", - post_args={"message": "I am posting from my Tornado application!"}, - access_token=self.current_user["access_token"]) - - if not new_entry: - # Call failed; perhaps missing permission? - yield self.authorize_redirect() - return - self.finish("Posted a message!") - - .. testoutput:: - :hide: - - The given path is relative to ``self._FACEBOOK_BASE_URL``, - by default "https://graph.facebook.com". - - This method is a wrapper around `OAuth2Mixin.oauth2_request`; - the only difference is that this method takes a relative path, - while ``oauth2_request`` takes a complete url. - - .. versionchanged:: 3.1 - Added the ability to override ``self._FACEBOOK_BASE_URL``. - """ - url = self._FACEBOOK_BASE_URL + path - # Thanks to the _auth_return_future decorator, our "callback" - # argument is a Future, which we cannot pass as a callback to - # oauth2_request. Instead, have oauth2_request return a - # future and chain them together. - oauth_future = self.oauth2_request(url, access_token=access_token, - post_args=post_args, **args) - chain_future(oauth_future, callback) - - -def _oauth_signature(consumer_token, method, url, parameters={}, token=None): - """Calculates the HMAC-SHA1 OAuth signature for the given request. - - See http://oauth.net/core/1.0/#signing_process - """ - parts = urlparse.urlparse(url) - scheme, netloc, path = parts[:3] - normalized_url = scheme.lower() + "://" + netloc.lower() + path - - base_elems = [] - base_elems.append(method.upper()) - base_elems.append(normalized_url) - base_elems.append("&".join("%s=%s" % (k, _oauth_escape(str(v))) - for k, v in sorted(parameters.items()))) - base_string = "&".join(_oauth_escape(e) for e in base_elems) - - key_elems = [escape.utf8(consumer_token["secret"])] - key_elems.append(escape.utf8(token["secret"] if token else "")) - key = b"&".join(key_elems) - - hash = hmac.new(key, escape.utf8(base_string), hashlib.sha1) - return binascii.b2a_base64(hash.digest())[:-1] - - -def _oauth10a_signature(consumer_token, method, url, parameters={}, token=None): - """Calculates the HMAC-SHA1 OAuth 1.0a signature for the given request. - - See http://oauth.net/core/1.0a/#signing_process - """ - parts = urlparse.urlparse(url) - scheme, netloc, path = parts[:3] - normalized_url = scheme.lower() + "://" + netloc.lower() + path - - base_elems = [] - base_elems.append(method.upper()) - base_elems.append(normalized_url) - base_elems.append("&".join("%s=%s" % (k, _oauth_escape(str(v))) - for k, v in sorted(parameters.items()))) - - base_string = "&".join(_oauth_escape(e) for e in base_elems) - key_elems = [escape.utf8(urllib_parse.quote(consumer_token["secret"], safe='~'))] - key_elems.append(escape.utf8(urllib_parse.quote(token["secret"], safe='~') if token else "")) - key = b"&".join(key_elems) - - hash = hmac.new(key, escape.utf8(base_string), hashlib.sha1) - return binascii.b2a_base64(hash.digest())[:-1] - - -def _oauth_escape(val): - if isinstance(val, unicode_type): - val = val.encode("utf-8") - return urllib_parse.quote(val, safe="~") - - -def _oauth_parse_response(body): - # I can't find an officially-defined encoding for oauth responses and - # have never seen anyone use non-ascii. Leave the response in a byte - # string for python 2, and use utf8 on python 3. - body = escape.native_str(body) - p = urlparse.parse_qs(body, keep_blank_values=False) - token = dict(key=p["oauth_token"][0], secret=p["oauth_token_secret"][0]) - - # Add the extra parameters the Provider included to the token - special = ("oauth_token", "oauth_token_secret") - token.update((k, p[k][0]) for k in p if k not in special) - return token diff --git a/lib27/site-packages/tornado/autoreload.py b/lib27/site-packages/tornado/autoreload.py deleted file mode 100644 index 1cbf26c6c..000000000 --- a/lib27/site-packages/tornado/autoreload.py +++ /dev/null @@ -1,339 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""Automatically restart the server when a source file is modified. - -Most applications should not access this module directly. Instead, -pass the keyword argument ``autoreload=True`` to the -`tornado.web.Application` constructor (or ``debug=True``, which -enables this setting and several others). This will enable autoreload -mode as well as checking for changes to templates and static -resources. Note that restarting is a destructive operation and any -requests in progress will be aborted when the process restarts. (If -you want to disable autoreload while using other debug-mode features, -pass both ``debug=True`` and ``autoreload=False``). - -This module can also be used as a command-line wrapper around scripts -such as unit test runners. See the `main` method for details. - -The command-line wrapper and Application debug modes can be used together. -This combination is encouraged as the wrapper catches syntax errors and -other import-time failures, while debug mode catches changes once -the server has started. - -This module depends on `.IOLoop`, so it will not work in WSGI applications -and Google App Engine. It also will not work correctly when `.HTTPServer`'s -multi-process mode is used. - -Reloading loses any Python interpreter command-line arguments (e.g. ``-u``) -because it re-executes Python using ``sys.executable`` and ``sys.argv``. -Additionally, modifying these variables will cause reloading to behave -incorrectly. - -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import os -import sys - -# sys.path handling -# ----------------- -# -# If a module is run with "python -m", the current directory (i.e. "") -# is automatically prepended to sys.path, but not if it is run as -# "path/to/file.py". The processing for "-m" rewrites the former to -# the latter, so subsequent executions won't have the same path as the -# original. -# -# Conversely, when run as path/to/file.py, the directory containing -# file.py gets added to the path, which can cause confusion as imports -# may become relative in spite of the future import. -# -# We address the former problem by setting the $PYTHONPATH environment -# variable before re-execution so the new process will see the correct -# path. We attempt to address the latter problem when tornado.autoreload -# is run as __main__, although we can't fix the general case because -# we cannot reliably reconstruct the original command line -# (http://bugs.python.org/issue14208). - -if __name__ == "__main__": - # This sys.path manipulation must come before our imports (as much - # as possible - if we introduced a tornado.sys or tornado.os - # module we'd be in trouble), or else our imports would become - # relative again despite the future import. - # - # There is a separate __main__ block at the end of the file to call main(). - if sys.path[0] == os.path.dirname(__file__): - del sys.path[0] - -import functools -import logging -import os -import pkgutil -import sys -import traceback -import types -import subprocess -import weakref - -from tornado import ioloop -from tornado.log import gen_log -from tornado import process -from tornado.util import exec_in - -try: - import signal -except ImportError: - signal = None - -# os.execv is broken on Windows and can't properly parse command line -# arguments and executable name if they contain whitespaces. subprocess -# fixes that behavior. -# This distinction is also important because when we use execv, we want to -# close the IOLoop and all its file descriptors, to guard against any -# file descriptors that were not set CLOEXEC. When execv is not available, -# we must not close the IOLoop because we want the process to exit cleanly. -_has_execv = sys.platform != 'win32' - -_watched_files = set() -_reload_hooks = [] -_reload_attempted = False -_io_loops = weakref.WeakKeyDictionary() - - -def start(io_loop=None, check_time=500): - """Begins watching source files for changes. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - io_loop = io_loop or ioloop.IOLoop.current() - if io_loop in _io_loops: - return - _io_loops[io_loop] = True - if len(_io_loops) > 1: - gen_log.warning("tornado.autoreload started more than once in the same process") - if _has_execv: - add_reload_hook(functools.partial(io_loop.close, all_fds=True)) - modify_times = {} - callback = functools.partial(_reload_on_update, modify_times) - scheduler = ioloop.PeriodicCallback(callback, check_time, io_loop=io_loop) - scheduler.start() - - -def wait(): - """Wait for a watched file to change, then restart the process. - - Intended to be used at the end of scripts like unit test runners, - to run the tests again after any source file changes (but see also - the command-line interface in `main`) - """ - io_loop = ioloop.IOLoop() - start(io_loop) - io_loop.start() - - -def watch(filename): - """Add a file to the watch list. - - All imported modules are watched by default. - """ - _watched_files.add(filename) - - -def add_reload_hook(fn): - """Add a function to be called before reloading the process. - - Note that for open file and socket handles it is generally - preferable to set the ``FD_CLOEXEC`` flag (using `fcntl` or - ``tornado.platform.auto.set_close_exec``) instead - of using a reload hook to close them. - """ - _reload_hooks.append(fn) - - -def _reload_on_update(modify_times): - if _reload_attempted: - # We already tried to reload and it didn't work, so don't try again. - return - if process.task_id() is not None: - # We're in a child process created by fork_processes. If child - # processes restarted themselves, they'd all restart and then - # all call fork_processes again. - return - for module in list(sys.modules.values()): - # Some modules play games with sys.modules (e.g. email/__init__.py - # in the standard library), and occasionally this can cause strange - # failures in getattr. Just ignore anything that's not an ordinary - # module. - if not isinstance(module, types.ModuleType): - continue - path = getattr(module, "__file__", None) - if not path: - continue - if path.endswith(".pyc") or path.endswith(".pyo"): - path = path[:-1] - _check_file(modify_times, path) - for path in _watched_files: - _check_file(modify_times, path) - - -def _check_file(modify_times, path): - try: - modified = os.stat(path).st_mtime - except Exception: - return - if path not in modify_times: - modify_times[path] = modified - return - if modify_times[path] != modified: - gen_log.info("%s modified; restarting server", path) - _reload() - - -def _reload(): - global _reload_attempted - _reload_attempted = True - for fn in _reload_hooks: - fn() - if hasattr(signal, "setitimer"): - # Clear the alarm signal set by - # ioloop.set_blocking_log_threshold so it doesn't fire - # after the exec. - signal.setitimer(signal.ITIMER_REAL, 0, 0) - # sys.path fixes: see comments at top of file. If sys.path[0] is an empty - # string, we were (probably) invoked with -m and the effective path - # is about to change on re-exec. Add the current directory to $PYTHONPATH - # to ensure that the new process sees the same path we did. - path_prefix = '.' + os.pathsep - if (sys.path[0] == '' and - not os.environ.get("PYTHONPATH", "").startswith(path_prefix)): - os.environ["PYTHONPATH"] = (path_prefix + - os.environ.get("PYTHONPATH", "")) - if not _has_execv: - subprocess.Popen([sys.executable] + sys.argv) - sys.exit(0) - else: - try: - os.execv(sys.executable, [sys.executable] + sys.argv) - except OSError: - # Mac OS X versions prior to 10.6 do not support execv in - # a process that contains multiple threads. Instead of - # re-executing in the current process, start a new one - # and cause the current process to exit. This isn't - # ideal since the new process is detached from the parent - # terminal and thus cannot easily be killed with ctrl-C, - # but it's better than not being able to autoreload at - # all. - # Unfortunately the errno returned in this case does not - # appear to be consistent, so we can't easily check for - # this error specifically. - os.spawnv(os.P_NOWAIT, sys.executable, - [sys.executable] + sys.argv) - # At this point the IOLoop has been closed and finally - # blocks will experience errors if we allow the stack to - # unwind, so just exit uncleanly. - os._exit(0) - -_USAGE = """\ -Usage: - python -m tornado.autoreload -m module.to.run [args...] - python -m tornado.autoreload path/to/script.py [args...] -""" - - -def main(): - """Command-line wrapper to re-run a script whenever its source changes. - - Scripts may be specified by filename or module name:: - - python -m tornado.autoreload -m tornado.test.runtests - python -m tornado.autoreload tornado/test/runtests.py - - Running a script with this wrapper is similar to calling - `tornado.autoreload.wait` at the end of the script, but this wrapper - can catch import-time problems like syntax errors that would otherwise - prevent the script from reaching its call to `wait`. - """ - original_argv = sys.argv - sys.argv = sys.argv[:] - if len(sys.argv) >= 3 and sys.argv[1] == "-m": - mode = "module" - module = sys.argv[2] - del sys.argv[1:3] - elif len(sys.argv) >= 2: - mode = "script" - script = sys.argv[1] - sys.argv = sys.argv[1:] - else: - print(_USAGE, file=sys.stderr) - sys.exit(1) - - try: - if mode == "module": - import runpy - runpy.run_module(module, run_name="__main__", alter_sys=True) - elif mode == "script": - with open(script) as f: - # Execute the script in our namespace instead of creating - # a new one so that something that tries to import __main__ - # (e.g. the unittest module) will see names defined in the - # script instead of just those defined in this module. - global __file__ - __file__ = script - # If __package__ is defined, imports may be incorrectly - # interpreted as relative to this module. - global __package__ - del __package__ - exec_in(f.read(), globals(), globals()) - except SystemExit as e: - logging.basicConfig() - gen_log.info("Script exited with status %s", e.code) - except Exception as e: - logging.basicConfig() - gen_log.warning("Script exited with uncaught exception", exc_info=True) - # If an exception occurred at import time, the file with the error - # never made it into sys.modules and so we won't know to watch it. - # Just to make sure we've covered everything, walk the stack trace - # from the exception and watch every file. - for (filename, lineno, name, line) in traceback.extract_tb(sys.exc_info()[2]): - watch(filename) - if isinstance(e, SyntaxError): - # SyntaxErrors are special: their innermost stack frame is fake - # so extract_tb won't see it and we have to get the filename - # from the exception object. - watch(e.filename) - else: - logging.basicConfig() - gen_log.info("Script exited normally") - # restore sys.argv so subsequent executions will include autoreload - sys.argv = original_argv - - if mode == 'module': - # runpy did a fake import of the module as __main__, but now it's - # no longer in sys.modules. Figure out where it is and watch it. - loader = pkgutil.get_loader(module) - if loader is not None: - watch(loader.get_filename()) - - wait() - - -if __name__ == "__main__": - # See also the other __main__ block at the top of the file, which modifies - # sys.path before our imports - main() diff --git a/lib27/site-packages/tornado/concurrent.py b/lib27/site-packages/tornado/concurrent.py deleted file mode 100644 index 5f8cdc414..000000000 --- a/lib27/site-packages/tornado/concurrent.py +++ /dev/null @@ -1,510 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2012 Facebook -# -# 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. -"""Utilities for working with threads and ``Futures``. - -``Futures`` are a pattern for concurrent programming introduced in -Python 3.2 in the `concurrent.futures` package. This package defines -a mostly-compatible `Future` class designed for use from coroutines, -as well as some utility functions for interacting with the -`concurrent.futures` package. -""" -from __future__ import absolute_import, division, print_function, with_statement - -import functools -import platform -import textwrap -import traceback -import sys - -from tornado.log import app_log -from tornado.stack_context import ExceptionStackContext, wrap -from tornado.util import raise_exc_info, ArgReplacer - -try: - from concurrent import futures -except ImportError: - futures = None - - -# Can the garbage collector handle cycles that include __del__ methods? -# This is true in cpython beginning with version 3.4 (PEP 442). -_GC_CYCLE_FINALIZERS = (platform.python_implementation() == 'CPython' and - sys.version_info >= (3, 4)) - - -class ReturnValueIgnoredError(Exception): - pass - -# This class and associated code in the future object is derived -# from the Trollius project, a backport of asyncio to Python 2.x - 3.x - - -class _TracebackLogger(object): - """Helper to log a traceback upon destruction if not cleared. - - This solves a nasty problem with Futures and Tasks that have an - exception set: if nobody asks for the exception, the exception is - never logged. This violates the Zen of Python: 'Errors should - never pass silently. Unless explicitly silenced.' - - However, we don't want to log the exception as soon as - set_exception() is called: if the calling code is written - properly, it will get the exception and handle it properly. But - we *do* want to log it if result() or exception() was never called - -- otherwise developers waste a lot of time wondering why their - buggy code fails silently. - - An earlier attempt added a __del__() method to the Future class - itself, but this backfired because the presence of __del__() - prevents garbage collection from breaking cycles. A way out of - this catch-22 is to avoid having a __del__() method on the Future - class itself, but instead to have a reference to a helper object - with a __del__() method that logs the traceback, where we ensure - that the helper object doesn't participate in cycles, and only the - Future has a reference to it. - - The helper object is added when set_exception() is called. When - the Future is collected, and the helper is present, the helper - object is also collected, and its __del__() method will log the - traceback. When the Future's result() or exception() method is - called (and a helper object is present), it removes the the helper - object, after calling its clear() method to prevent it from - logging. - - One downside is that we do a fair amount of work to extract the - traceback from the exception, even when it is never logged. It - would seem cheaper to just store the exception object, but that - references the traceback, which references stack frames, which may - reference the Future, which references the _TracebackLogger, and - then the _TracebackLogger would be included in a cycle, which is - what we're trying to avoid! As an optimization, we don't - immediately format the exception; we only do the work when - activate() is called, which call is delayed until after all the - Future's callbacks have run. Since usually a Future has at least - one callback (typically set by 'yield From') and usually that - callback extracts the callback, thereby removing the need to - format the exception. - - PS. I don't claim credit for this solution. I first heard of it - in a discussion about closing files when they are collected. - """ - - __slots__ = ('exc_info', 'formatted_tb') - - def __init__(self, exc_info): - self.exc_info = exc_info - self.formatted_tb = None - - def activate(self): - exc_info = self.exc_info - if exc_info is not None: - self.exc_info = None - self.formatted_tb = traceback.format_exception(*exc_info) - - def clear(self): - self.exc_info = None - self.formatted_tb = None - - def __del__(self): - if self.formatted_tb: - app_log.error('Future exception was never retrieved: %s', - ''.join(self.formatted_tb).rstrip()) - - -class Future(object): - """Placeholder for an asynchronous result. - - A ``Future`` encapsulates the result of an asynchronous - operation. In synchronous applications ``Futures`` are used - to wait for the result from a thread or process pool; in - Tornado they are normally used with `.IOLoop.add_future` or by - yielding them in a `.gen.coroutine`. - - `tornado.concurrent.Future` is similar to - `concurrent.futures.Future`, but not thread-safe (and therefore - faster for use with single-threaded event loops). - - In addition to ``exception`` and ``set_exception``, methods ``exc_info`` - and ``set_exc_info`` are supported to capture tracebacks in Python 2. - The traceback is automatically available in Python 3, but in the - Python 2 futures backport this information is discarded. - This functionality was previously available in a separate class - ``TracebackFuture``, which is now a deprecated alias for this class. - - .. versionchanged:: 4.0 - `tornado.concurrent.Future` is always a thread-unsafe ``Future`` - with support for the ``exc_info`` methods. Previously it would - be an alias for the thread-safe `concurrent.futures.Future` - if that package was available and fall back to the thread-unsafe - implementation if it was not. - - .. versionchanged:: 4.1 - If a `.Future` contains an error but that error is never observed - (by calling ``result()``, ``exception()``, or ``exc_info()``), - a stack trace will be logged when the `.Future` is garbage collected. - This normally indicates an error in the application, but in cases - where it results in undesired logging it may be necessary to - suppress the logging by ensuring that the exception is observed: - ``f.add_done_callback(lambda f: f.exception())``. - """ - def __init__(self): - self._done = False - self._result = None - self._exc_info = None - - self._log_traceback = False # Used for Python >= 3.4 - self._tb_logger = None # Used for Python <= 3.3 - - self._callbacks = [] - - # Implement the Python 3.5 Awaitable protocol if possible - # (we can't use return and yield together until py33). - if sys.version_info >= (3, 3): - exec(textwrap.dedent(""" - def __await__(self): - return (yield self) - """)) - else: - # Py2-compatible version for use with cython. - def __await__(self): - result = yield self - # StopIteration doesn't take args before py33, - # but Cython recognizes the args tuple. - e = StopIteration() - e.args = (result,) - raise e - - def cancel(self): - """Cancel the operation, if possible. - - Tornado ``Futures`` do not support cancellation, so this method always - returns False. - """ - return False - - def cancelled(self): - """Returns True if the operation has been cancelled. - - Tornado ``Futures`` do not support cancellation, so this method - always returns False. - """ - return False - - def running(self): - """Returns True if this operation is currently running.""" - return not self._done - - def done(self): - """Returns True if the future has finished running.""" - return self._done - - def _clear_tb_log(self): - self._log_traceback = False - if self._tb_logger is not None: - self._tb_logger.clear() - self._tb_logger = None - - def result(self, timeout=None): - """If the operation succeeded, return its result. If it failed, - re-raise its exception. - - This method takes a ``timeout`` argument for compatibility with - `concurrent.futures.Future` but it is an error to call it - before the `Future` is done, so the ``timeout`` is never used. - """ - self._clear_tb_log() - if self._result is not None: - return self._result - if self._exc_info is not None: - raise_exc_info(self._exc_info) - self._check_done() - return self._result - - def exception(self, timeout=None): - """If the operation raised an exception, return the `Exception` - object. Otherwise returns None. - - This method takes a ``timeout`` argument for compatibility with - `concurrent.futures.Future` but it is an error to call it - before the `Future` is done, so the ``timeout`` is never used. - """ - self._clear_tb_log() - if self._exc_info is not None: - return self._exc_info[1] - else: - self._check_done() - return None - - def add_done_callback(self, fn): - """Attaches the given callback to the `Future`. - - It will be invoked with the `Future` as its argument when the Future - has finished running and its result is available. In Tornado - consider using `.IOLoop.add_future` instead of calling - `add_done_callback` directly. - """ - if self._done: - fn(self) - else: - self._callbacks.append(fn) - - def set_result(self, result): - """Sets the result of a ``Future``. - - It is undefined to call any of the ``set`` methods more than once - on the same object. - """ - self._result = result - self._set_done() - - def set_exception(self, exception): - """Sets the exception of a ``Future.``""" - self.set_exc_info( - (exception.__class__, - exception, - getattr(exception, '__traceback__', None))) - - def exc_info(self): - """Returns a tuple in the same format as `sys.exc_info` or None. - - .. versionadded:: 4.0 - """ - self._clear_tb_log() - return self._exc_info - - def set_exc_info(self, exc_info): - """Sets the exception information of a ``Future.`` - - Preserves tracebacks on Python 2. - - .. versionadded:: 4.0 - """ - self._exc_info = exc_info - self._log_traceback = True - if not _GC_CYCLE_FINALIZERS: - self._tb_logger = _TracebackLogger(exc_info) - - try: - self._set_done() - finally: - # Activate the logger after all callbacks have had a - # chance to call result() or exception(). - if self._log_traceback and self._tb_logger is not None: - self._tb_logger.activate() - self._exc_info = exc_info - - def _check_done(self): - if not self._done: - raise Exception("DummyFuture does not support blocking for results") - - def _set_done(self): - self._done = True - for cb in self._callbacks: - try: - cb(self) - except Exception: - app_log.exception('Exception in callback %r for %r', - cb, self) - self._callbacks = None - - # On Python 3.3 or older, objects with a destructor part of a reference - # cycle are never destroyed. It's no longer the case on Python 3.4 thanks to - # the PEP 442. - if _GC_CYCLE_FINALIZERS: - def __del__(self): - if not self._log_traceback: - # set_exception() was not called, or result() or exception() - # has consumed the exception - return - - tb = traceback.format_exception(*self._exc_info) - - app_log.error('Future %r exception was never retrieved: %s', - self, ''.join(tb).rstrip()) - -TracebackFuture = Future - -if futures is None: - FUTURES = Future -else: - FUTURES = (futures.Future, Future) - - -def is_future(x): - return isinstance(x, FUTURES) - - -class DummyExecutor(object): - def submit(self, fn, *args, **kwargs): - future = TracebackFuture() - try: - future.set_result(fn(*args, **kwargs)) - except Exception: - future.set_exc_info(sys.exc_info()) - return future - - def shutdown(self, wait=True): - pass - -dummy_executor = DummyExecutor() - - -def run_on_executor(*args, **kwargs): - """Decorator to run a synchronous method asynchronously on an executor. - - The decorated method may be called with a ``callback`` keyword - argument and returns a future. - - The `.IOLoop` and executor to be used are determined by the ``io_loop`` - and ``executor`` attributes of ``self``. To use different attributes, - pass keyword arguments to the decorator:: - - @run_on_executor(executor='_thread_pool') - def foo(self): - pass - - .. versionchanged:: 4.2 - Added keyword arguments to use alternative attributes. - """ - def run_on_executor_decorator(fn): - executor = kwargs.get("executor", "executor") - io_loop = kwargs.get("io_loop", "io_loop") - - @functools.wraps(fn) - def wrapper(self, *args, **kwargs): - callback = kwargs.pop("callback", None) - future = getattr(self, executor).submit(fn, self, *args, **kwargs) - if callback: - getattr(self, io_loop).add_future( - future, lambda future: callback(future.result())) - return future - return wrapper - if args and kwargs: - raise ValueError("cannot combine positional and keyword args") - if len(args) == 1: - return run_on_executor_decorator(args[0]) - elif len(args) != 0: - raise ValueError("expected 1 argument, got %d", len(args)) - return run_on_executor_decorator - - -_NO_RESULT = object() - - -def return_future(f): - """Decorator to make a function that returns via callback return a - `Future`. - - The wrapped function should take a ``callback`` keyword argument - and invoke it with one argument when it has finished. To signal failure, - the function can simply raise an exception (which will be - captured by the `.StackContext` and passed along to the ``Future``). - - From the caller's perspective, the callback argument is optional. - If one is given, it will be invoked when the function is complete - with `Future.result()` as an argument. If the function fails, the - callback will not be run and an exception will be raised into the - surrounding `.StackContext`. - - If no callback is given, the caller should use the ``Future`` to - wait for the function to complete (perhaps by yielding it in a - `.gen.engine` function, or passing it to `.IOLoop.add_future`). - - Usage: - - .. testcode:: - - @return_future - def future_func(arg1, arg2, callback): - # Do stuff (possibly asynchronous) - callback(result) - - @gen.engine - def caller(callback): - yield future_func(arg1, arg2) - callback() - - .. - - Note that ``@return_future`` and ``@gen.engine`` can be applied to the - same function, provided ``@return_future`` appears first. However, - consider using ``@gen.coroutine`` instead of this combination. - """ - replacer = ArgReplacer(f, 'callback') - - @functools.wraps(f) - def wrapper(*args, **kwargs): - future = TracebackFuture() - callback, args, kwargs = replacer.replace( - lambda value=_NO_RESULT: future.set_result(value), - args, kwargs) - - def handle_error(typ, value, tb): - future.set_exc_info((typ, value, tb)) - return True - exc_info = None - with ExceptionStackContext(handle_error): - try: - result = f(*args, **kwargs) - if result is not None: - raise ReturnValueIgnoredError( - "@return_future should not be used with functions " - "that return values") - except: - exc_info = sys.exc_info() - raise - if exc_info is not None: - # If the initial synchronous part of f() raised an exception, - # go ahead and raise it to the caller directly without waiting - # for them to inspect the Future. - future.result() - - # If the caller passed in a callback, schedule it to be called - # when the future resolves. It is important that this happens - # just before we return the future, or else we risk confusing - # stack contexts with multiple exceptions (one here with the - # immediate exception, and again when the future resolves and - # the callback triggers its exception by calling future.result()). - if callback is not None: - def run_callback(future): - result = future.result() - if result is _NO_RESULT: - callback() - else: - callback(future.result()) - future.add_done_callback(wrap(run_callback)) - return future - return wrapper - - -def chain_future(a, b): - """Chain two futures together so that when one completes, so does the other. - - The result (success or failure) of ``a`` will be copied to ``b``, unless - ``b`` has already been completed or cancelled by the time ``a`` finishes. - """ - def copy(future): - assert future is a - if b.done(): - return - if (isinstance(a, TracebackFuture) and isinstance(b, TracebackFuture) - and a.exc_info() is not None): - b.set_exc_info(a.exc_info()) - elif a.exception() is not None: - b.set_exception(a.exception()) - else: - b.set_result(a.result()) - a.add_done_callback(copy) diff --git a/lib27/site-packages/tornado/curl_httpclient.py b/lib27/site-packages/tornado/curl_httpclient.py deleted file mode 100644 index 22f250232..000000000 --- a/lib27/site-packages/tornado/curl_httpclient.py +++ /dev/null @@ -1,500 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""Non-blocking HTTP client implementation using pycurl.""" - -from __future__ import absolute_import, division, print_function, with_statement - -import collections -import functools -import logging -import pycurl -import threading -import time -from io import BytesIO - -from tornado import httputil -from tornado import ioloop -from tornado import stack_context - -from tornado.escape import utf8, native_str -from tornado.httpclient import HTTPResponse, HTTPError, AsyncHTTPClient, main - -curl_log = logging.getLogger('tornado.curl_httpclient') - - -class CurlAsyncHTTPClient(AsyncHTTPClient): - def initialize(self, io_loop, max_clients=10, defaults=None): - super(CurlAsyncHTTPClient, self).initialize(io_loop, defaults=defaults) - self._multi = pycurl.CurlMulti() - self._multi.setopt(pycurl.M_TIMERFUNCTION, self._set_timeout) - self._multi.setopt(pycurl.M_SOCKETFUNCTION, self._handle_socket) - self._curls = [self._curl_create() for i in range(max_clients)] - self._free_list = self._curls[:] - self._requests = collections.deque() - self._fds = {} - self._timeout = None - - # libcurl has bugs that sometimes cause it to not report all - # relevant file descriptors and timeouts to TIMERFUNCTION/ - # SOCKETFUNCTION. Mitigate the effects of such bugs by - # forcing a periodic scan of all active requests. - self._force_timeout_callback = ioloop.PeriodicCallback( - self._handle_force_timeout, 1000, io_loop=io_loop) - self._force_timeout_callback.start() - - # Work around a bug in libcurl 7.29.0: Some fields in the curl - # multi object are initialized lazily, and its destructor will - # segfault if it is destroyed without having been used. Add - # and remove a dummy handle to make sure everything is - # initialized. - dummy_curl_handle = pycurl.Curl() - self._multi.add_handle(dummy_curl_handle) - self._multi.remove_handle(dummy_curl_handle) - - def close(self): - self._force_timeout_callback.stop() - if self._timeout is not None: - self.io_loop.remove_timeout(self._timeout) - for curl in self._curls: - curl.close() - self._multi.close() - super(CurlAsyncHTTPClient, self).close() - - def fetch_impl(self, request, callback): - self._requests.append((request, callback)) - self._process_queue() - self._set_timeout(0) - - def _handle_socket(self, event, fd, multi, data): - """Called by libcurl when it wants to change the file descriptors - it cares about. - """ - event_map = { - pycurl.POLL_NONE: ioloop.IOLoop.NONE, - pycurl.POLL_IN: ioloop.IOLoop.READ, - pycurl.POLL_OUT: ioloop.IOLoop.WRITE, - pycurl.POLL_INOUT: ioloop.IOLoop.READ | ioloop.IOLoop.WRITE - } - if event == pycurl.POLL_REMOVE: - if fd in self._fds: - self.io_loop.remove_handler(fd) - del self._fds[fd] - else: - ioloop_event = event_map[event] - # libcurl sometimes closes a socket and then opens a new - # one using the same FD without giving us a POLL_NONE in - # between. This is a problem with the epoll IOLoop, - # because the kernel can tell when a socket is closed and - # removes it from the epoll automatically, causing future - # update_handler calls to fail. Since we can't tell when - # this has happened, always use remove and re-add - # instead of update. - if fd in self._fds: - self.io_loop.remove_handler(fd) - self.io_loop.add_handler(fd, self._handle_events, - ioloop_event) - self._fds[fd] = ioloop_event - - def _set_timeout(self, msecs): - """Called by libcurl to schedule a timeout.""" - if self._timeout is not None: - self.io_loop.remove_timeout(self._timeout) - self._timeout = self.io_loop.add_timeout( - self.io_loop.time() + msecs / 1000.0, self._handle_timeout) - - def _handle_events(self, fd, events): - """Called by IOLoop when there is activity on one of our - file descriptors. - """ - action = 0 - if events & ioloop.IOLoop.READ: - action |= pycurl.CSELECT_IN - if events & ioloop.IOLoop.WRITE: - action |= pycurl.CSELECT_OUT - while True: - try: - ret, num_handles = self._multi.socket_action(fd, action) - except pycurl.error as e: - ret = e.args[0] - if ret != pycurl.E_CALL_MULTI_PERFORM: - break - self._finish_pending_requests() - - def _handle_timeout(self): - """Called by IOLoop when the requested timeout has passed.""" - with stack_context.NullContext(): - self._timeout = None - while True: - try: - ret, num_handles = self._multi.socket_action( - pycurl.SOCKET_TIMEOUT, 0) - except pycurl.error as e: - ret = e.args[0] - if ret != pycurl.E_CALL_MULTI_PERFORM: - break - self._finish_pending_requests() - - # In theory, we shouldn't have to do this because curl will - # call _set_timeout whenever the timeout changes. However, - # sometimes after _handle_timeout we will need to reschedule - # immediately even though nothing has changed from curl's - # perspective. This is because when socket_action is - # called with SOCKET_TIMEOUT, libcurl decides internally which - # timeouts need to be processed by using a monotonic clock - # (where available) while tornado uses python's time.time() - # to decide when timeouts have occurred. When those clocks - # disagree on elapsed time (as they will whenever there is an - # NTP adjustment), tornado might call _handle_timeout before - # libcurl is ready. After each timeout, resync the scheduled - # timeout with libcurl's current state. - new_timeout = self._multi.timeout() - if new_timeout >= 0: - self._set_timeout(new_timeout) - - def _handle_force_timeout(self): - """Called by IOLoop periodically to ask libcurl to process any - events it may have forgotten about. - """ - with stack_context.NullContext(): - while True: - try: - ret, num_handles = self._multi.socket_all() - except pycurl.error as e: - ret = e.args[0] - if ret != pycurl.E_CALL_MULTI_PERFORM: - break - self._finish_pending_requests() - - def _finish_pending_requests(self): - """Process any requests that were completed by the last - call to multi.socket_action. - """ - while True: - num_q, ok_list, err_list = self._multi.info_read() - for curl in ok_list: - self._finish(curl) - for curl, errnum, errmsg in err_list: - self._finish(curl, errnum, errmsg) - if num_q == 0: - break - self._process_queue() - - def _process_queue(self): - with stack_context.NullContext(): - while True: - started = 0 - while self._free_list and self._requests: - started += 1 - curl = self._free_list.pop() - (request, callback) = self._requests.popleft() - curl.info = { - "headers": httputil.HTTPHeaders(), - "buffer": BytesIO(), - "request": request, - "callback": callback, - "curl_start_time": time.time(), - } - try: - self._curl_setup_request( - curl, request, curl.info["buffer"], - curl.info["headers"]) - except Exception as e: - # If there was an error in setup, pass it on - # to the callback. Note that allowing the - # error to escape here will appear to work - # most of the time since we are still in the - # caller's original stack frame, but when - # _process_queue() is called from - # _finish_pending_requests the exceptions have - # nowhere to go. - callback(HTTPResponse( - request=request, - code=599, - error=e)) - else: - self._multi.add_handle(curl) - - if not started: - break - - def _finish(self, curl, curl_error=None, curl_message=None): - info = curl.info - curl.info = None - self._multi.remove_handle(curl) - self._free_list.append(curl) - buffer = info["buffer"] - if curl_error: - error = CurlError(curl_error, curl_message) - code = error.code - effective_url = None - buffer.close() - buffer = None - else: - error = None - code = curl.getinfo(pycurl.HTTP_CODE) - effective_url = curl.getinfo(pycurl.EFFECTIVE_URL) - buffer.seek(0) - # the various curl timings are documented at - # http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html - time_info = dict( - queue=info["curl_start_time"] - info["request"].start_time, - namelookup=curl.getinfo(pycurl.NAMELOOKUP_TIME), - connect=curl.getinfo(pycurl.CONNECT_TIME), - pretransfer=curl.getinfo(pycurl.PRETRANSFER_TIME), - starttransfer=curl.getinfo(pycurl.STARTTRANSFER_TIME), - total=curl.getinfo(pycurl.TOTAL_TIME), - redirect=curl.getinfo(pycurl.REDIRECT_TIME), - ) - try: - info["callback"](HTTPResponse( - request=info["request"], code=code, headers=info["headers"], - buffer=buffer, effective_url=effective_url, error=error, - reason=info['headers'].get("X-Http-Reason", None), - request_time=time.time() - info["curl_start_time"], - time_info=time_info)) - except Exception: - self.handle_callback_exception(info["callback"]) - - def handle_callback_exception(self, callback): - self.io_loop.handle_callback_exception(callback) - - def _curl_create(self): - curl = pycurl.Curl() - if curl_log.isEnabledFor(logging.DEBUG): - curl.setopt(pycurl.VERBOSE, 1) - curl.setopt(pycurl.DEBUGFUNCTION, self._curl_debug) - return curl - - def _curl_setup_request(self, curl, request, buffer, headers): - curl.setopt(pycurl.URL, native_str(request.url)) - - # libcurl's magic "Expect: 100-continue" behavior causes delays - # with servers that don't support it (which include, among others, - # Google's OpenID endpoint). Additionally, this behavior has - # a bug in conjunction with the curl_multi_socket_action API - # (https://sourceforge.net/tracker/?func=detail&atid=100976&aid=3039744&group_id=976), - # which increases the delays. It's more trouble than it's worth, - # so just turn off the feature (yes, setting Expect: to an empty - # value is the official way to disable this) - if "Expect" not in request.headers: - request.headers["Expect"] = "" - - # libcurl adds Pragma: no-cache by default; disable that too - if "Pragma" not in request.headers: - request.headers["Pragma"] = "" - - curl.setopt(pycurl.HTTPHEADER, - ["%s: %s" % (native_str(k), native_str(v)) - for k, v in request.headers.get_all()]) - - curl.setopt(pycurl.HEADERFUNCTION, - functools.partial(self._curl_header_callback, - headers, request.header_callback)) - if request.streaming_callback: - def write_function(chunk): - self.io_loop.add_callback(request.streaming_callback, chunk) - else: - write_function = buffer.write - if bytes is str: # py2 - curl.setopt(pycurl.WRITEFUNCTION, write_function) - else: # py3 - # Upstream pycurl doesn't support py3, but ubuntu 12.10 includes - # a fork/port. That version has a bug in which it passes unicode - # strings instead of bytes to the WRITEFUNCTION. This means that - # if you use a WRITEFUNCTION (which tornado always does), you cannot - # download arbitrary binary data. This needs to be fixed in the - # ported pycurl package, but in the meantime this lambda will - # make it work for downloading (utf8) text. - curl.setopt(pycurl.WRITEFUNCTION, lambda s: write_function(utf8(s))) - curl.setopt(pycurl.FOLLOWLOCATION, request.follow_redirects) - curl.setopt(pycurl.MAXREDIRS, request.max_redirects) - curl.setopt(pycurl.CONNECTTIMEOUT_MS, int(1000 * request.connect_timeout)) - curl.setopt(pycurl.TIMEOUT_MS, int(1000 * request.request_timeout)) - if request.user_agent: - curl.setopt(pycurl.USERAGENT, native_str(request.user_agent)) - else: - curl.setopt(pycurl.USERAGENT, "Mozilla/5.0 (compatible; pycurl)") - if request.network_interface: - curl.setopt(pycurl.INTERFACE, request.network_interface) - if request.decompress_response: - curl.setopt(pycurl.ENCODING, "gzip,deflate") - else: - curl.setopt(pycurl.ENCODING, "none") - if request.proxy_host and request.proxy_port: - curl.setopt(pycurl.PROXY, request.proxy_host) - curl.setopt(pycurl.PROXYPORT, request.proxy_port) - if request.proxy_username: - credentials = '%s:%s' % (request.proxy_username, - request.proxy_password) - curl.setopt(pycurl.PROXYUSERPWD, credentials) - else: - curl.setopt(pycurl.PROXY, '') - curl.unsetopt(pycurl.PROXYUSERPWD) - if request.validate_cert: - curl.setopt(pycurl.SSL_VERIFYPEER, 1) - curl.setopt(pycurl.SSL_VERIFYHOST, 2) - else: - curl.setopt(pycurl.SSL_VERIFYPEER, 0) - curl.setopt(pycurl.SSL_VERIFYHOST, 0) - if request.ca_certs is not None: - curl.setopt(pycurl.CAINFO, request.ca_certs) - else: - # There is no way to restore pycurl.CAINFO to its default value - # (Using unsetopt makes it reject all certificates). - # I don't see any way to read the default value from python so it - # can be restored later. We'll have to just leave CAINFO untouched - # if no ca_certs file was specified, and require that if any - # request uses a custom ca_certs file, they all must. - pass - - if request.allow_ipv6 is False: - # Curl behaves reasonably when DNS resolution gives an ipv6 address - # that we can't reach, so allow ipv6 unless the user asks to disable. - curl.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_V4) - else: - curl.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_WHATEVER) - - # Set the request method through curl's irritating interface which makes - # up names for almost every single method - curl_options = { - "GET": pycurl.HTTPGET, - "POST": pycurl.POST, - "PUT": pycurl.UPLOAD, - "HEAD": pycurl.NOBODY, - } - custom_methods = set(["DELETE", "OPTIONS", "PATCH"]) - for o in curl_options.values(): - curl.setopt(o, False) - if request.method in curl_options: - curl.unsetopt(pycurl.CUSTOMREQUEST) - curl.setopt(curl_options[request.method], True) - elif request.allow_nonstandard_methods or request.method in custom_methods: - curl.setopt(pycurl.CUSTOMREQUEST, request.method) - else: - raise KeyError('unknown method ' + request.method) - - body_expected = request.method in ("POST", "PATCH", "PUT") - body_present = request.body is not None - if not request.allow_nonstandard_methods: - # Some HTTP methods nearly always have bodies while others - # almost never do. Fail in this case unless the user has - # opted out of sanity checks with allow_nonstandard_methods. - if ((body_expected and not body_present) or - (body_present and not body_expected)): - raise ValueError( - 'Body must %sbe None for method %s (unless ' - 'allow_nonstandard_methods is true)' % - ('not ' if body_expected else '', request.method)) - - if body_expected or body_present: - if request.method == "GET": - # Even with `allow_nonstandard_methods` we disallow - # GET with a body (because libcurl doesn't allow it - # unless we use CUSTOMREQUEST). While the spec doesn't - # forbid clients from sending a body, it arguably - # disallows the server from doing anything with them. - raise ValueError('Body must be None for GET request') - request_buffer = BytesIO(utf8(request.body or '')) - - def ioctl(cmd): - if cmd == curl.IOCMD_RESTARTREAD: - request_buffer.seek(0) - curl.setopt(pycurl.READFUNCTION, request_buffer.read) - curl.setopt(pycurl.IOCTLFUNCTION, ioctl) - if request.method == "POST": - curl.setopt(pycurl.POSTFIELDSIZE, len(request.body or '')) - else: - curl.setopt(pycurl.UPLOAD, True) - curl.setopt(pycurl.INFILESIZE, len(request.body or '')) - - if request.auth_username is not None: - userpwd = "%s:%s" % (request.auth_username, request.auth_password or '') - - if request.auth_mode is None or request.auth_mode == "basic": - curl.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_BASIC) - elif request.auth_mode == "digest": - curl.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_DIGEST) - else: - raise ValueError("Unsupported auth_mode %s" % request.auth_mode) - - curl.setopt(pycurl.USERPWD, native_str(userpwd)) - curl_log.debug("%s %s (username: %r)", request.method, request.url, - request.auth_username) - else: - curl.unsetopt(pycurl.USERPWD) - curl_log.debug("%s %s", request.method, request.url) - - if request.client_cert is not None: - curl.setopt(pycurl.SSLCERT, request.client_cert) - - if request.client_key is not None: - curl.setopt(pycurl.SSLKEY, request.client_key) - - if request.ssl_options is not None: - raise ValueError("ssl_options not supported in curl_httpclient") - - if threading.activeCount() > 1: - # libcurl/pycurl is not thread-safe by default. When multiple threads - # are used, signals should be disabled. This has the side effect - # of disabling DNS timeouts in some environments (when libcurl is - # not linked against ares), so we don't do it when there is only one - # thread. Applications that use many short-lived threads may need - # to set NOSIGNAL manually in a prepare_curl_callback since - # there may not be any other threads running at the time we call - # threading.activeCount. - curl.setopt(pycurl.NOSIGNAL, 1) - if request.prepare_curl_callback is not None: - request.prepare_curl_callback(curl) - - def _curl_header_callback(self, headers, header_callback, header_line): - header_line = native_str(header_line) - if header_callback is not None: - self.io_loop.add_callback(header_callback, header_line) - # header_line as returned by curl includes the end-of-line characters. - # whitespace at the start should be preserved to allow multi-line headers - header_line = header_line.rstrip() - if header_line.startswith("HTTP/"): - headers.clear() - try: - (__, __, reason) = httputil.parse_response_start_line(header_line) - header_line = "X-Http-Reason: %s" % reason - except httputil.HTTPInputError: - return - if not header_line: - return - headers.parse_line(header_line) - - def _curl_debug(self, debug_type, debug_msg): - debug_types = ('I', '<', '>', '<', '>') - if debug_type == 0: - curl_log.debug('%s', debug_msg.strip()) - elif debug_type in (1, 2): - for line in debug_msg.splitlines(): - curl_log.debug('%s %s', debug_types[debug_type], line) - elif debug_type == 4: - curl_log.debug('%s %r', debug_types[debug_type], debug_msg) - - -class CurlError(HTTPError): - def __init__(self, errno, message): - HTTPError.__init__(self, 599, message) - self.errno = errno - - -if __name__ == "__main__": - AsyncHTTPClient.configure(CurlAsyncHTTPClient) - main() diff --git a/lib27/site-packages/tornado/escape.py b/lib27/site-packages/tornado/escape.py deleted file mode 100644 index 2f04b4683..000000000 --- a/lib27/site-packages/tornado/escape.py +++ /dev/null @@ -1,399 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""Escaping/unescaping methods for HTML, JSON, URLs, and others. - -Also includes a few other miscellaneous string manipulation functions that -have crept in over time. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import re -import sys - -from tornado.util import unicode_type, basestring_type, u - -try: - from urllib.parse import parse_qs as _parse_qs # py3 -except ImportError: - from urlparse import parse_qs as _parse_qs # Python 2.6+ - -try: - import htmlentitydefs # py2 -except ImportError: - import html.entities as htmlentitydefs # py3 - -try: - import urllib.parse as urllib_parse # py3 -except ImportError: - import urllib as urllib_parse # py2 - -import json - -try: - unichr -except NameError: - unichr = chr - -_XHTML_ESCAPE_RE = re.compile('[&<>"\']') -_XHTML_ESCAPE_DICT = {'&': '&', '<': '<', '>': '>', '"': '"', - '\'': '''} - - -def xhtml_escape(value): - """Escapes a string so it is valid within HTML or XML. - - Escapes the characters ``<``, ``>``, ``"``, ``'``, and ``&``. - When used in attribute values the escaped strings must be enclosed - in quotes. - - .. versionchanged:: 3.2 - - Added the single quote to the list of escaped characters. - """ - return _XHTML_ESCAPE_RE.sub(lambda match: _XHTML_ESCAPE_DICT[match.group(0)], - to_basestring(value)) - - -def xhtml_unescape(value): - """Un-escapes an XML-escaped string.""" - return re.sub(r"&(#?)(\w+?);", _convert_entity, _unicode(value)) - - -# The fact that json_encode wraps json.dumps is an implementation detail. -# Please see https://github.com/tornadoweb/tornado/pull/706 -# before sending a pull request that adds **kwargs to this function. -def json_encode(value): - """JSON-encodes the given Python object.""" - # JSON permits but does not require forward slashes to be escaped. - # This is useful when json data is emitted in a tags from prematurely terminating - # the javascript. Some json libraries do this escaping by default, - # although python's standard library does not, so we do it here. - # http://stackoverflow.com/questions/1580647/json-why-are-forward-slashes-escaped - return json.dumps(value).replace("?@\[\]^`{|}~\s]))|(?:\((?:[^\s&()]|&|")*\)))+)""")) - - -def linkify(text, shorten=False, extra_params="", - require_protocol=False, permitted_protocols=["http", "https"]): - """Converts plain text into HTML with links. - - For example: ``linkify("Hello http://tornadoweb.org!")`` would return - ``Hello http://tornadoweb.org!`` - - Parameters: - - * ``shorten``: Long urls will be shortened for display. - - * ``extra_params``: Extra text to include in the link tag, or a callable - taking the link as an argument and returning the extra text - e.g. ``linkify(text, extra_params='rel="nofollow" class="external"')``, - or:: - - def extra_params_cb(url): - if url.startswith("http://example.com"): - return 'class="internal"' - else: - return 'class="external" rel="nofollow"' - linkify(text, extra_params=extra_params_cb) - - * ``require_protocol``: Only linkify urls which include a protocol. If - this is False, urls such as www.facebook.com will also be linkified. - - * ``permitted_protocols``: List (or set) of protocols which should be - linkified, e.g. ``linkify(text, permitted_protocols=["http", "ftp", - "mailto"])``. It is very unsafe to include protocols such as - ``javascript``. - """ - if extra_params and not callable(extra_params): - extra_params = " " + extra_params.strip() - - def make_link(m): - url = m.group(1) - proto = m.group(2) - if require_protocol and not proto: - return url # not protocol, no linkify - - if proto and proto not in permitted_protocols: - return url # bad protocol, no linkify - - href = m.group(1) - if not proto: - href = "http://" + href # no proto specified, use http - - if callable(extra_params): - params = " " + extra_params(href).strip() - else: - params = extra_params - - # clip long urls. max_len is just an approximation - max_len = 30 - if shorten and len(url) > max_len: - before_clip = url - if proto: - proto_len = len(proto) + 1 + len(m.group(3) or "") # +1 for : - else: - proto_len = 0 - - parts = url[proto_len:].split("/") - if len(parts) > 1: - # Grab the whole host part plus the first bit of the path - # The path is usually not that interesting once shortened - # (no more slug, etc), so it really just provides a little - # extra indication of shortening. - url = url[:proto_len] + parts[0] + "/" + \ - parts[1][:8].split('?')[0].split('.')[0] - - if len(url) > max_len * 1.5: # still too long - url = url[:max_len] - - if url != before_clip: - amp = url.rfind('&') - # avoid splitting html char entities - if amp > max_len - 5: - url = url[:amp] - url += "..." - - if len(url) >= len(before_clip): - url = before_clip - else: - # full url is visible on mouse-over (for those who don't - # have a status bar, such as Safari by default) - params += ' title="%s"' % href - - return u('%s') % (href, params, url) - - # First HTML-escape so that our strings are all safe. - # The regex is modified to avoid character entites other than & so - # that we won't pick up ", etc. - text = _unicode(xhtml_escape(text)) - return _URL_RE.sub(make_link, text) - - -def _convert_entity(m): - if m.group(1) == "#": - try: - if m.group(2)[:1].lower() == 'x': - return unichr(int(m.group(2)[1:], 16)) - else: - return unichr(int(m.group(2))) - except ValueError: - return "&#%s;" % m.group(2) - try: - return _HTML_UNICODE_MAP[m.group(2)] - except KeyError: - return "&%s;" % m.group(2) - - -def _build_unicode_map(): - unicode_map = {} - for name, value in htmlentitydefs.name2codepoint.items(): - unicode_map[name] = unichr(value) - return unicode_map - -_HTML_UNICODE_MAP = _build_unicode_map() diff --git a/lib27/site-packages/tornado/gen.py b/lib27/site-packages/tornado/gen.py deleted file mode 100644 index bf184e548..000000000 --- a/lib27/site-packages/tornado/gen.py +++ /dev/null @@ -1,1241 +0,0 @@ -"""``tornado.gen`` is a generator-based interface to make it easier to -work in an asynchronous environment. Code using the ``gen`` module -is technically asynchronous, but it is written as a single generator -instead of a collection of separate functions. - -For example, the following asynchronous handler: - -.. testcode:: - - class AsyncHandler(RequestHandler): - @asynchronous - def get(self): - http_client = AsyncHTTPClient() - http_client.fetch("http://example.com", - callback=self.on_fetch) - - def on_fetch(self, response): - do_something_with_response(response) - self.render("template.html") - -.. testoutput:: - :hide: - -could be written with ``gen`` as: - -.. testcode:: - - class GenAsyncHandler(RequestHandler): - @gen.coroutine - def get(self): - http_client = AsyncHTTPClient() - response = yield http_client.fetch("http://example.com") - do_something_with_response(response) - self.render("template.html") - -.. testoutput:: - :hide: - -Most asynchronous functions in Tornado return a `.Future`; -yielding this object returns its `~.Future.result`. - -You can also yield a list or dict of ``Futures``, which will be -started at the same time and run in parallel; a list or dict of results will -be returned when they are all finished: - -.. testcode:: - - @gen.coroutine - def get(self): - http_client = AsyncHTTPClient() - response1, response2 = yield [http_client.fetch(url1), - http_client.fetch(url2)] - response_dict = yield dict(response3=http_client.fetch(url3), - response4=http_client.fetch(url4)) - response3 = response_dict['response3'] - response4 = response_dict['response4'] - -.. testoutput:: - :hide: - -If the `~functools.singledispatch` library is available (standard in -Python 3.4, available via the `singledispatch -`_ package on older -versions), additional types of objects may be yielded. Tornado includes -support for ``asyncio.Future`` and Twisted's ``Deferred`` class when -``tornado.platform.asyncio`` and ``tornado.platform.twisted`` are imported. -See the `convert_yielded` function to extend this mechanism. - -.. versionchanged:: 3.2 - Dict support added. - -.. versionchanged:: 4.1 - Support added for yielding ``asyncio`` Futures and Twisted Deferreds - via ``singledispatch``. - -""" -from __future__ import absolute_import, division, print_function, with_statement - -import collections -import functools -import itertools -import os -import sys -import textwrap -import types - -from tornado.concurrent import Future, TracebackFuture, is_future, chain_future -from tornado.ioloop import IOLoop -from tornado.log import app_log -from tornado import stack_context -from tornado.util import raise_exc_info - -try: - try: - from functools import singledispatch # py34+ - except ImportError: - from singledispatch import singledispatch # backport -except ImportError: - # In most cases, singledispatch is required (to avoid - # difficult-to-diagnose problems in which the functionality - # available differs depending on which invisble packages are - # installed). However, in Google App Engine third-party - # dependencies are more trouble so we allow this module to be - # imported without it. - if 'APPENGINE_RUNTIME' not in os.environ: - raise - singledispatch = None - -try: - try: - from collections.abc import Generator as GeneratorType # py35+ - except ImportError: - from backports_abc import Generator as GeneratorType - - try: - from inspect import isawaitable # py35+ - except ImportError: - from backports_abc import isawaitable -except ImportError: - if 'APPENGINE_RUNTIME' not in os.environ: - raise - from types import GeneratorType - - def isawaitable(x): - return False - -try: - import builtins # py3 -except ImportError: - import __builtin__ as builtins - - -class KeyReuseError(Exception): - pass - - -class UnknownKeyError(Exception): - pass - - -class LeakedCallbackError(Exception): - pass - - -class BadYieldError(Exception): - pass - - -class ReturnValueIgnoredError(Exception): - pass - - -class TimeoutError(Exception): - """Exception raised by ``with_timeout``.""" - - -def _value_from_stopiteration(e): - try: - # StopIteration has a value attribute beginning in py33. - # So does our Return class. - return e.value - except AttributeError: - pass - try: - # Cython backports coroutine functionality by putting the value in - # e.args[0]. - return e.args[0] - except (AttributeError, IndexError): - return None - - -def engine(func): - """Callback-oriented decorator for asynchronous generators. - - This is an older interface; for new code that does not need to be - compatible with versions of Tornado older than 3.0 the - `coroutine` decorator is recommended instead. - - This decorator is similar to `coroutine`, except it does not - return a `.Future` and the ``callback`` argument is not treated - specially. - - In most cases, functions decorated with `engine` should take - a ``callback`` argument and invoke it with their result when - they are finished. One notable exception is the - `~tornado.web.RequestHandler` :ref:`HTTP verb methods `, - which use ``self.finish()`` in place of a callback argument. - """ - func = _make_coroutine_wrapper(func, replace_callback=False) - - @functools.wraps(func) - def wrapper(*args, **kwargs): - future = func(*args, **kwargs) - - def final_callback(future): - if future.result() is not None: - raise ReturnValueIgnoredError( - "@gen.engine functions cannot return values: %r" % - (future.result(),)) - # The engine interface doesn't give us any way to return - # errors but to raise them into the stack context. - # Save the stack context here to use when the Future has resolved. - future.add_done_callback(stack_context.wrap(final_callback)) - return wrapper - - -def coroutine(func, replace_callback=True): - """Decorator for asynchronous generators. - - Any generator that yields objects from this module must be wrapped - in either this decorator or `engine`. - - Coroutines may "return" by raising the special exception - `Return(value) `. In Python 3.3+, it is also possible for - the function to simply use the ``return value`` statement (prior to - Python 3.3 generators were not allowed to also return values). - In all versions of Python a coroutine that simply wishes to exit - early may use the ``return`` statement without a value. - - Functions with this decorator return a `.Future`. Additionally, - they may be called with a ``callback`` keyword argument, which - will be invoked with the future's result when it resolves. If the - coroutine fails, the callback will not be run and an exception - will be raised into the surrounding `.StackContext`. The - ``callback`` argument is not visible inside the decorated - function; it is handled by the decorator itself. - - From the caller's perspective, ``@gen.coroutine`` is similar to - the combination of ``@return_future`` and ``@gen.engine``. - - .. warning:: - - When exceptions occur inside a coroutine, the exception - information will be stored in the `.Future` object. You must - examine the result of the `.Future` object, or the exception - may go unnoticed by your code. This means yielding the function - if called from another coroutine, using something like - `.IOLoop.run_sync` for top-level calls, or passing the `.Future` - to `.IOLoop.add_future`. - - """ - return _make_coroutine_wrapper(func, replace_callback=True) - - -def _make_coroutine_wrapper(func, replace_callback): - """The inner workings of ``@gen.coroutine`` and ``@gen.engine``. - - The two decorators differ in their treatment of the ``callback`` - argument, so we cannot simply implement ``@engine`` in terms of - ``@coroutine``. - """ - # On Python 3.5, set the coroutine flag on our generator, to allow it - # to be used with 'await'. - if hasattr(types, 'coroutine'): - func = types.coroutine(func) - - @functools.wraps(func) - def wrapper(*args, **kwargs): - future = TracebackFuture() - - if replace_callback and 'callback' in kwargs: - callback = kwargs.pop('callback') - IOLoop.current().add_future( - future, lambda future: callback(future.result())) - - try: - result = func(*args, **kwargs) - except (Return, StopIteration) as e: - result = _value_from_stopiteration(e) - except Exception: - future.set_exc_info(sys.exc_info()) - return future - else: - if isinstance(result, GeneratorType): - # Inline the first iteration of Runner.run. This lets us - # avoid the cost of creating a Runner when the coroutine - # never actually yields, which in turn allows us to - # use "optional" coroutines in critical path code without - # performance penalty for the synchronous case. - try: - orig_stack_contexts = stack_context._state.contexts - yielded = next(result) - if stack_context._state.contexts is not orig_stack_contexts: - yielded = TracebackFuture() - yielded.set_exception( - stack_context.StackContextInconsistentError( - 'stack_context inconsistency (probably caused ' - 'by yield within a "with StackContext" block)')) - except (StopIteration, Return) as e: - future.set_result(_value_from_stopiteration(e)) - except Exception: - future.set_exc_info(sys.exc_info()) - else: - Runner(result, future, yielded) - try: - return future - finally: - # Subtle memory optimization: if next() raised an exception, - # the future's exc_info contains a traceback which - # includes this stack frame. This creates a cycle, - # which will be collected at the next full GC but has - # been shown to greatly increase memory usage of - # benchmarks (relative to the refcount-based scheme - # used in the absence of cycles). We can avoid the - # cycle by clearing the local variable after we return it. - future = None - future.set_result(result) - return future - return wrapper - - -class Return(Exception): - """Special exception to return a value from a `coroutine`. - - If this exception is raised, its value argument is used as the - result of the coroutine:: - - @gen.coroutine - def fetch_json(url): - response = yield AsyncHTTPClient().fetch(url) - raise gen.Return(json_decode(response.body)) - - In Python 3.3, this exception is no longer necessary: the ``return`` - statement can be used directly to return a value (previously - ``yield`` and ``return`` with a value could not be combined in the - same function). - - By analogy with the return statement, the value argument is optional, - but it is never necessary to ``raise gen.Return()``. The ``return`` - statement can be used with no arguments instead. - """ - def __init__(self, value=None): - super(Return, self).__init__() - self.value = value - # Cython recognizes subclasses of StopIteration with a .args tuple. - self.args = (value,) - - -class WaitIterator(object): - """Provides an iterator to yield the results of futures as they finish. - - Yielding a set of futures like this: - - ``results = yield [future1, future2]`` - - pauses the coroutine until both ``future1`` and ``future2`` - return, and then restarts the coroutine with the results of both - futures. If either future is an exception, the expression will - raise that exception and all the results will be lost. - - If you need to get the result of each future as soon as possible, - or if you need the result of some futures even if others produce - errors, you can use ``WaitIterator``:: - - wait_iterator = gen.WaitIterator(future1, future2) - while not wait_iterator.done(): - try: - result = yield wait_iterator.next() - except Exception as e: - print("Error {} from {}".format(e, wait_iterator.current_future)) - else: - print("Result {} received from {} at {}".format( - result, wait_iterator.current_future, - wait_iterator.current_index)) - - Because results are returned as soon as they are available the - output from the iterator *will not be in the same order as the - input arguments*. If you need to know which future produced the - current result, you can use the attributes - ``WaitIterator.current_future``, or ``WaitIterator.current_index`` - to get the index of the future from the input list. (if keyword - arguments were used in the construction of the `WaitIterator`, - ``current_index`` will use the corresponding keyword). - - On Python 3.5, `WaitIterator` implements the async iterator - protocol, so it can be used with the ``async for`` statement (note - that in this version the entire iteration is aborted if any value - raises an exception, while the previous example can continue past - individual errors):: - - async for result in gen.WaitIterator(future1, future2): - print("Result {} received from {} at {}".format( - result, wait_iterator.current_future, - wait_iterator.current_index)) - - .. versionadded:: 4.1 - - .. versionchanged:: 4.3 - Added ``async for`` support in Python 3.5. - - """ - def __init__(self, *args, **kwargs): - if args and kwargs: - raise ValueError( - "You must provide args or kwargs, not both") - - if kwargs: - self._unfinished = dict((f, k) for (k, f) in kwargs.items()) - futures = list(kwargs.values()) - else: - self._unfinished = dict((f, i) for (i, f) in enumerate(args)) - futures = args - - self._finished = collections.deque() - self.current_index = self.current_future = None - self._running_future = None - - for future in futures: - future.add_done_callback(self._done_callback) - - def done(self): - """Returns True if this iterator has no more results.""" - if self._finished or self._unfinished: - return False - # Clear the 'current' values when iteration is done. - self.current_index = self.current_future = None - return True - - def next(self): - """Returns a `.Future` that will yield the next available result. - - Note that this `.Future` will not be the same object as any of - the inputs. - """ - self._running_future = TracebackFuture() - - if self._finished: - self._return_result(self._finished.popleft()) - - return self._running_future - - def _done_callback(self, done): - if self._running_future and not self._running_future.done(): - self._return_result(done) - else: - self._finished.append(done) - - def _return_result(self, done): - """Called set the returned future's state that of the future - we yielded, and set the current future for the iterator. - """ - chain_future(done, self._running_future) - - self.current_future = done - self.current_index = self._unfinished.pop(done) - - @coroutine - def __aiter__(self): - raise Return(self) - - def __anext__(self): - if self.done(): - # Lookup by name to silence pyflakes on older versions. - raise getattr(builtins, 'StopAsyncIteration')() - return self.next() - - -class YieldPoint(object): - """Base class for objects that may be yielded from the generator. - - .. deprecated:: 4.0 - Use `Futures <.Future>` instead. - """ - def start(self, runner): - """Called by the runner after the generator has yielded. - - No other methods will be called on this object before ``start``. - """ - raise NotImplementedError() - - def is_ready(self): - """Called by the runner to determine whether to resume the generator. - - Returns a boolean; may be called more than once. - """ - raise NotImplementedError() - - def get_result(self): - """Returns the value to use as the result of the yield expression. - - This method will only be called once, and only after `is_ready` - has returned true. - """ - raise NotImplementedError() - - -class Callback(YieldPoint): - """Returns a callable object that will allow a matching `Wait` to proceed. - - The key may be any value suitable for use as a dictionary key, and is - used to match ``Callbacks`` to their corresponding ``Waits``. The key - must be unique among outstanding callbacks within a single run of the - generator function, but may be reused across different runs of the same - function (so constants generally work fine). - - The callback may be called with zero or one arguments; if an argument - is given it will be returned by `Wait`. - - .. deprecated:: 4.0 - Use `Futures <.Future>` instead. - """ - def __init__(self, key): - self.key = key - - def start(self, runner): - self.runner = runner - runner.register_callback(self.key) - - def is_ready(self): - return True - - def get_result(self): - return self.runner.result_callback(self.key) - - -class Wait(YieldPoint): - """Returns the argument passed to the result of a previous `Callback`. - - .. deprecated:: 4.0 - Use `Futures <.Future>` instead. - """ - def __init__(self, key): - self.key = key - - def start(self, runner): - self.runner = runner - - def is_ready(self): - return self.runner.is_ready(self.key) - - def get_result(self): - return self.runner.pop_result(self.key) - - -class WaitAll(YieldPoint): - """Returns the results of multiple previous `Callbacks `. - - The argument is a sequence of `Callback` keys, and the result is - a list of results in the same order. - - `WaitAll` is equivalent to yielding a list of `Wait` objects. - - .. deprecated:: 4.0 - Use `Futures <.Future>` instead. - """ - def __init__(self, keys): - self.keys = keys - - def start(self, runner): - self.runner = runner - - def is_ready(self): - return all(self.runner.is_ready(key) for key in self.keys) - - def get_result(self): - return [self.runner.pop_result(key) for key in self.keys] - - -def Task(func, *args, **kwargs): - """Adapts a callback-based asynchronous function for use in coroutines. - - Takes a function (and optional additional arguments) and runs it with - those arguments plus a ``callback`` keyword argument. The argument passed - to the callback is returned as the result of the yield expression. - - .. versionchanged:: 4.0 - ``gen.Task`` is now a function that returns a `.Future`, instead of - a subclass of `YieldPoint`. It still behaves the same way when - yielded. - """ - future = Future() - - def handle_exception(typ, value, tb): - if future.done(): - return False - future.set_exc_info((typ, value, tb)) - return True - - def set_result(result): - if future.done(): - return - future.set_result(result) - with stack_context.ExceptionStackContext(handle_exception): - func(*args, callback=_argument_adapter(set_result), **kwargs) - return future - - -class YieldFuture(YieldPoint): - def __init__(self, future, io_loop=None): - """Adapts a `.Future` to the `YieldPoint` interface. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - self.future = future - self.io_loop = io_loop or IOLoop.current() - - def start(self, runner): - if not self.future.done(): - self.runner = runner - self.key = object() - runner.register_callback(self.key) - self.io_loop.add_future(self.future, runner.result_callback(self.key)) - else: - self.runner = None - self.result_fn = self.future.result - - def is_ready(self): - if self.runner is not None: - return self.runner.is_ready(self.key) - else: - return True - - def get_result(self): - if self.runner is not None: - return self.runner.pop_result(self.key).result() - else: - return self.result_fn() - - -def _contains_yieldpoint(children): - """Returns True if ``children`` contains any YieldPoints. - - ``children`` may be a dict or a list, as used by `MultiYieldPoint` - and `multi_future`. - """ - if isinstance(children, dict): - return any(isinstance(i, YieldPoint) for i in children.values()) - if isinstance(children, list): - return any(isinstance(i, YieldPoint) for i in children) - return False - - -def multi(children, quiet_exceptions=()): - """Runs multiple asynchronous operations in parallel. - - ``children`` may either be a list or a dict whose values are - yieldable objects. ``multi()`` returns a new yieldable - object that resolves to a parallel structure containing their - results. If ``children`` is a list, the result is a list of - results in the same order; if it is a dict, the result is a dict - with the same keys. - - That is, ``results = yield multi(list_of_futures)`` is equivalent - to:: - - results = [] - for future in list_of_futures: - results.append(yield future) - - If any children raise exceptions, ``multi()`` will raise the first - one. All others will be logged, unless they are of types - contained in the ``quiet_exceptions`` argument. - - If any of the inputs are `YieldPoints `, the returned - yieldable object is a `YieldPoint`. Otherwise, returns a `.Future`. - This means that the result of `multi` can be used in a native - coroutine if and only if all of its children can be. - - In a ``yield``-based coroutine, it is not normally necessary to - call this function directly, since the coroutine runner will - do it automatically when a list or dict is yielded. However, - it is necessary in ``await``-based coroutines, or to pass - the ``quiet_exceptions`` argument. - - This function is available under the names ``multi()`` and ``Multi()`` - for historical reasons. - - .. versionchanged:: 4.2 - If multiple yieldables fail, any exceptions after the first - (which is raised) will be logged. Added the ``quiet_exceptions`` - argument to suppress this logging for selected exception types. - - .. versionchanged:: 4.3 - Replaced the class ``Multi`` and the function ``multi_future`` - with a unified function ``multi``. Added support for yieldables - other than `YieldPoint` and `.Future`. - - """ - if _contains_yieldpoint(children): - return MultiYieldPoint(children, quiet_exceptions=quiet_exceptions) - else: - return multi_future(children, quiet_exceptions=quiet_exceptions) - -Multi = multi - - -class MultiYieldPoint(YieldPoint): - """Runs multiple asynchronous operations in parallel. - - This class is similar to `multi`, but it always creates a stack - context even when no children require it. It is not compatible with - native coroutines. - - .. versionchanged:: 4.2 - If multiple ``YieldPoints`` fail, any exceptions after the first - (which is raised) will be logged. Added the ``quiet_exceptions`` - argument to suppress this logging for selected exception types. - - .. versionchanged:: 4.3 - Renamed from ``Multi`` to ``MultiYieldPoint``. The name ``Multi`` - remains as an alias for the equivalent `multi` function. - - .. deprecated:: 4.3 - Use `multi` instead. - """ - def __init__(self, children, quiet_exceptions=()): - self.keys = None - if isinstance(children, dict): - self.keys = list(children.keys()) - children = children.values() - self.children = [] - for i in children: - if not isinstance(i, YieldPoint): - i = convert_yielded(i) - if is_future(i): - i = YieldFuture(i) - self.children.append(i) - assert all(isinstance(i, YieldPoint) for i in self.children) - self.unfinished_children = set(self.children) - self.quiet_exceptions = quiet_exceptions - - def start(self, runner): - for i in self.children: - i.start(runner) - - def is_ready(self): - finished = list(itertools.takewhile( - lambda i: i.is_ready(), self.unfinished_children)) - self.unfinished_children.difference_update(finished) - return not self.unfinished_children - - def get_result(self): - result_list = [] - exc_info = None - for f in self.children: - try: - result_list.append(f.get_result()) - except Exception as e: - if exc_info is None: - exc_info = sys.exc_info() - else: - if not isinstance(e, self.quiet_exceptions): - app_log.error("Multiple exceptions in yield list", - exc_info=True) - if exc_info is not None: - raise_exc_info(exc_info) - if self.keys is not None: - return dict(zip(self.keys, result_list)) - else: - return list(result_list) - - -def multi_future(children, quiet_exceptions=()): - """Wait for multiple asynchronous futures in parallel. - - This function is similar to `multi`, but does not support - `YieldPoints `. - - .. versionadded:: 4.0 - - .. versionchanged:: 4.2 - If multiple ``Futures`` fail, any exceptions after the first (which is - raised) will be logged. Added the ``quiet_exceptions`` - argument to suppress this logging for selected exception types. - - .. deprecated:: 4.3 - Use `multi` instead. - """ - if isinstance(children, dict): - keys = list(children.keys()) - children = children.values() - else: - keys = None - children = list(map(convert_yielded, children)) - assert all(is_future(i) for i in children) - unfinished_children = set(children) - - future = Future() - if not children: - future.set_result({} if keys is not None else []) - - def callback(f): - unfinished_children.remove(f) - if not unfinished_children: - result_list = [] - for f in children: - try: - result_list.append(f.result()) - except Exception as e: - if future.done(): - if not isinstance(e, quiet_exceptions): - app_log.error("Multiple exceptions in yield list", - exc_info=True) - else: - future.set_exc_info(sys.exc_info()) - if not future.done(): - if keys is not None: - future.set_result(dict(zip(keys, result_list))) - else: - future.set_result(result_list) - - listening = set() - for f in children: - if f not in listening: - listening.add(f) - f.add_done_callback(callback) - return future - - -def maybe_future(x): - """Converts ``x`` into a `.Future`. - - If ``x`` is already a `.Future`, it is simply returned; otherwise - it is wrapped in a new `.Future`. This is suitable for use as - ``result = yield gen.maybe_future(f())`` when you don't know whether - ``f()`` returns a `.Future` or not. - - .. deprecated:: 4.3 - This function only handles ``Futures``, not other yieldable objects. - Instead of `maybe_future`, check for the non-future result types - you expect (often just ``None``), and ``yield`` anything unknown. - """ - if is_future(x): - return x - else: - fut = Future() - fut.set_result(x) - return fut - - -def with_timeout(timeout, future, io_loop=None, quiet_exceptions=()): - """Wraps a `.Future` in a timeout. - - Raises `TimeoutError` if the input future does not complete before - ``timeout``, which may be specified in any form allowed by - `.IOLoop.add_timeout` (i.e. a `datetime.timedelta` or an absolute time - relative to `.IOLoop.time`) - - If the wrapped `.Future` fails after it has timed out, the exception - will be logged unless it is of a type contained in ``quiet_exceptions`` - (which may be an exception type or a sequence of types). - - Currently only supports Futures, not other `YieldPoint` classes. - - .. versionadded:: 4.0 - - .. versionchanged:: 4.1 - Added the ``quiet_exceptions`` argument and the logging of unhandled - exceptions. - """ - # TODO: allow yield points in addition to futures? - # Tricky to do with stack_context semantics. - # - # It's tempting to optimize this by cancelling the input future on timeout - # instead of creating a new one, but A) we can't know if we are the only - # one waiting on the input future, so cancelling it might disrupt other - # callers and B) concurrent futures can only be cancelled while they are - # in the queue, so cancellation cannot reliably bound our waiting time. - result = Future() - chain_future(future, result) - if io_loop is None: - io_loop = IOLoop.current() - - def error_callback(future): - try: - future.result() - except Exception as e: - if not isinstance(e, quiet_exceptions): - app_log.error("Exception in Future %r after timeout", - future, exc_info=True) - - def timeout_callback(): - result.set_exception(TimeoutError("Timeout")) - # In case the wrapped future goes on to fail, log it. - future.add_done_callback(error_callback) - timeout_handle = io_loop.add_timeout( - timeout, timeout_callback) - if isinstance(future, Future): - # We know this future will resolve on the IOLoop, so we don't - # need the extra thread-safety of IOLoop.add_future (and we also - # don't care about StackContext here. - future.add_done_callback( - lambda future: io_loop.remove_timeout(timeout_handle)) - else: - # concurrent.futures.Futures may resolve on any thread, so we - # need to route them back to the IOLoop. - io_loop.add_future( - future, lambda future: io_loop.remove_timeout(timeout_handle)) - return result - - -def sleep(duration): - """Return a `.Future` that resolves after the given number of seconds. - - When used with ``yield`` in a coroutine, this is a non-blocking - analogue to `time.sleep` (which should not be used in coroutines - because it is blocking):: - - yield gen.sleep(0.5) - - Note that calling this function on its own does nothing; you must - wait on the `.Future` it returns (usually by yielding it). - - .. versionadded:: 4.1 - """ - f = Future() - IOLoop.current().call_later(duration, lambda: f.set_result(None)) - return f - - -_null_future = Future() -_null_future.set_result(None) - -moment = Future() -moment.__doc__ = \ - """A special object which may be yielded to allow the IOLoop to run for -one iteration. - -This is not needed in normal use but it can be helpful in long-running -coroutines that are likely to yield Futures that are ready instantly. - -Usage: ``yield gen.moment`` - -.. versionadded:: 4.0 -""" -moment.set_result(None) - - -class Runner(object): - """Internal implementation of `tornado.gen.engine`. - - Maintains information about pending callbacks and their results. - - The results of the generator are stored in ``result_future`` (a - `.TracebackFuture`) - """ - def __init__(self, gen, result_future, first_yielded): - self.gen = gen - self.result_future = result_future - self.future = _null_future - self.yield_point = None - self.pending_callbacks = None - self.results = None - self.running = False - self.finished = False - self.had_exception = False - self.io_loop = IOLoop.current() - # For efficiency, we do not create a stack context until we - # reach a YieldPoint (stack contexts are required for the historical - # semantics of YieldPoints, but not for Futures). When we have - # done so, this field will be set and must be called at the end - # of the coroutine. - self.stack_context_deactivate = None - if self.handle_yield(first_yielded): - self.run() - - def register_callback(self, key): - """Adds ``key`` to the list of callbacks.""" - if self.pending_callbacks is None: - # Lazily initialize the old-style YieldPoint data structures. - self.pending_callbacks = set() - self.results = {} - if key in self.pending_callbacks: - raise KeyReuseError("key %r is already pending" % (key,)) - self.pending_callbacks.add(key) - - def is_ready(self, key): - """Returns true if a result is available for ``key``.""" - if self.pending_callbacks is None or key not in self.pending_callbacks: - raise UnknownKeyError("key %r is not pending" % (key,)) - return key in self.results - - def set_result(self, key, result): - """Sets the result for ``key`` and attempts to resume the generator.""" - self.results[key] = result - if self.yield_point is not None and self.yield_point.is_ready(): - try: - self.future.set_result(self.yield_point.get_result()) - except: - self.future.set_exc_info(sys.exc_info()) - self.yield_point = None - self.run() - - def pop_result(self, key): - """Returns the result for ``key`` and unregisters it.""" - self.pending_callbacks.remove(key) - return self.results.pop(key) - - def run(self): - """Starts or resumes the generator, running until it reaches a - yield point that is not ready. - """ - if self.running or self.finished: - return - try: - self.running = True - while True: - future = self.future - if not future.done(): - return - self.future = None - try: - orig_stack_contexts = stack_context._state.contexts - exc_info = None - - try: - value = future.result() - except Exception: - self.had_exception = True - exc_info = sys.exc_info() - - if exc_info is not None: - yielded = self.gen.throw(*exc_info) - exc_info = None - else: - yielded = self.gen.send(value) - - if stack_context._state.contexts is not orig_stack_contexts: - self.gen.throw( - stack_context.StackContextInconsistentError( - 'stack_context inconsistency (probably caused ' - 'by yield within a "with StackContext" block)')) - except (StopIteration, Return) as e: - self.finished = True - self.future = _null_future - if self.pending_callbacks and not self.had_exception: - # If we ran cleanly without waiting on all callbacks - # raise an error (really more of a warning). If we - # had an exception then some callbacks may have been - # orphaned, so skip the check in that case. - raise LeakedCallbackError( - "finished without waiting for callbacks %r" % - self.pending_callbacks) - self.result_future.set_result(_value_from_stopiteration(e)) - self.result_future = None - self._deactivate_stack_context() - return - except Exception: - self.finished = True - self.future = _null_future - self.result_future.set_exc_info(sys.exc_info()) - self.result_future = None - self._deactivate_stack_context() - return - if not self.handle_yield(yielded): - return - finally: - self.running = False - - def handle_yield(self, yielded): - # Lists containing YieldPoints require stack contexts; - # other lists are handled in convert_yielded. - if _contains_yieldpoint(yielded): - yielded = multi(yielded) - - if isinstance(yielded, YieldPoint): - # YieldPoints are too closely coupled to the Runner to go - # through the generic convert_yielded mechanism. - self.future = TracebackFuture() - - def start_yield_point(): - try: - yielded.start(self) - if yielded.is_ready(): - self.future.set_result( - yielded.get_result()) - else: - self.yield_point = yielded - except Exception: - self.future = TracebackFuture() - self.future.set_exc_info(sys.exc_info()) - - if self.stack_context_deactivate is None: - # Start a stack context if this is the first - # YieldPoint we've seen. - with stack_context.ExceptionStackContext( - self.handle_exception) as deactivate: - self.stack_context_deactivate = deactivate - - def cb(): - start_yield_point() - self.run() - self.io_loop.add_callback(cb) - return False - else: - start_yield_point() - else: - try: - self.future = convert_yielded(yielded) - except BadYieldError: - self.future = TracebackFuture() - self.future.set_exc_info(sys.exc_info()) - - if not self.future.done() or self.future is moment: - self.io_loop.add_future( - self.future, lambda f: self.run()) - return False - return True - - def result_callback(self, key): - return stack_context.wrap(_argument_adapter( - functools.partial(self.set_result, key))) - - def handle_exception(self, typ, value, tb): - if not self.running and not self.finished: - self.future = TracebackFuture() - self.future.set_exc_info((typ, value, tb)) - self.run() - return True - else: - return False - - def _deactivate_stack_context(self): - if self.stack_context_deactivate is not None: - self.stack_context_deactivate() - self.stack_context_deactivate = None - -Arguments = collections.namedtuple('Arguments', ['args', 'kwargs']) - - -def _argument_adapter(callback): - """Returns a function that when invoked runs ``callback`` with one arg. - - If the function returned by this function is called with exactly - one argument, that argument is passed to ``callback``. Otherwise - the args tuple and kwargs dict are wrapped in an `Arguments` object. - """ - def wrapper(*args, **kwargs): - if kwargs or len(args) > 1: - callback(Arguments(args, kwargs)) - elif args: - callback(args[0]) - else: - callback(None) - return wrapper - -# Convert Awaitables into Futures. It is unfortunately possible -# to have infinite recursion here if those Awaitables assume that -# we're using a different coroutine runner and yield objects -# we don't understand. If that happens, the solution is to -# register that runner's yieldable objects with convert_yielded. -if sys.version_info >= (3, 3): - exec(textwrap.dedent(""" - @coroutine - def _wrap_awaitable(x): - if hasattr(x, '__await__'): - x = x.__await__() - return (yield from x) - """)) -else: - # Py2-compatible version for use with Cython. - # Copied from PEP 380. - @coroutine - def _wrap_awaitable(x): - if hasattr(x, '__await__'): - _i = x.__await__() - else: - _i = iter(x) - try: - _y = next(_i) - except StopIteration as _e: - _r = _value_from_stopiteration(_e) - else: - while 1: - try: - _s = yield _y - except GeneratorExit as _e: - try: - _m = _i.close - except AttributeError: - pass - else: - _m() - raise _e - except BaseException as _e: - _x = sys.exc_info() - try: - _m = _i.throw - except AttributeError: - raise _e - else: - try: - _y = _m(*_x) - except StopIteration as _e: - _r = _value_from_stopiteration(_e) - break - else: - try: - if _s is None: - _y = next(_i) - else: - _y = _i.send(_s) - except StopIteration as _e: - _r = _value_from_stopiteration(_e) - break - raise Return(_r) - - -def convert_yielded(yielded): - """Convert a yielded object into a `.Future`. - - The default implementation accepts lists, dictionaries, and Futures. - - If the `~functools.singledispatch` library is available, this function - may be extended to support additional types. For example:: - - @convert_yielded.register(asyncio.Future) - def _(asyncio_future): - return tornado.platform.asyncio.to_tornado_future(asyncio_future) - - .. versionadded:: 4.1 - """ - # Lists and dicts containing YieldPoints were handled earlier. - if isinstance(yielded, (list, dict)): - return multi(yielded) - elif is_future(yielded): - return yielded - elif isawaitable(yielded): - return _wrap_awaitable(yielded) - else: - raise BadYieldError("yielded unknown object %r" % (yielded,)) - -if singledispatch is not None: - convert_yielded = singledispatch(convert_yielded) - - try: - # If we can import t.p.asyncio, do it for its side effect - # (registering asyncio.Future with convert_yielded). - # It's ugly to do this here, but it prevents a cryptic - # infinite recursion in _wrap_awaitable. - # Note that even with this, asyncio integration is unlikely - # to work unless the application also configures AsyncIOLoop, - # but at least the error messages in that case are more - # comprehensible than a stack overflow. - import tornado.platform.asyncio - except ImportError: - pass - else: - # Reference the imported module to make pyflakes happy. - tornado diff --git a/lib27/site-packages/tornado/http1connection.py b/lib27/site-packages/tornado/http1connection.py deleted file mode 100644 index 1c577063b..000000000 --- a/lib27/site-packages/tornado/http1connection.py +++ /dev/null @@ -1,722 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2014 Facebook -# -# 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. - -"""Client and server implementations of HTTP/1.x. - -.. versionadded:: 4.0 -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import re - -from tornado.concurrent import Future -from tornado.escape import native_str, utf8 -from tornado import gen -from tornado import httputil -from tornado import iostream -from tornado.log import gen_log, app_log -from tornado import stack_context -from tornado.util import GzipDecompressor - - -class _QuietException(Exception): - def __init__(self): - pass - - -class _ExceptionLoggingContext(object): - """Used with the ``with`` statement when calling delegate methods to - log any exceptions with the given logger. Any exceptions caught are - converted to _QuietException - """ - def __init__(self, logger): - self.logger = logger - - def __enter__(self): - pass - - def __exit__(self, typ, value, tb): - if value is not None: - self.logger.error("Uncaught exception", exc_info=(typ, value, tb)) - raise _QuietException - - -class HTTP1ConnectionParameters(object): - """Parameters for `.HTTP1Connection` and `.HTTP1ServerConnection`. - """ - def __init__(self, no_keep_alive=False, chunk_size=None, - max_header_size=None, header_timeout=None, max_body_size=None, - body_timeout=None, decompress=False): - """ - :arg bool no_keep_alive: If true, always close the connection after - one request. - :arg int chunk_size: how much data to read into memory at once - :arg int max_header_size: maximum amount of data for HTTP headers - :arg float header_timeout: how long to wait for all headers (seconds) - :arg int max_body_size: maximum amount of data for body - :arg float body_timeout: how long to wait while reading body (seconds) - :arg bool decompress: if true, decode incoming - ``Content-Encoding: gzip`` - """ - self.no_keep_alive = no_keep_alive - self.chunk_size = chunk_size or 65536 - self.max_header_size = max_header_size or 65536 - self.header_timeout = header_timeout - self.max_body_size = max_body_size - self.body_timeout = body_timeout - self.decompress = decompress - - -class HTTP1Connection(httputil.HTTPConnection): - """Implements the HTTP/1.x protocol. - - This class can be on its own for clients, or via `HTTP1ServerConnection` - for servers. - """ - def __init__(self, stream, is_client, params=None, context=None): - """ - :arg stream: an `.IOStream` - :arg bool is_client: client or server - :arg params: a `.HTTP1ConnectionParameters` instance or ``None`` - :arg context: an opaque application-defined object that can be accessed - as ``connection.context``. - """ - self.is_client = is_client - self.stream = stream - if params is None: - params = HTTP1ConnectionParameters() - self.params = params - self.context = context - self.no_keep_alive = params.no_keep_alive - # The body limits can be altered by the delegate, so save them - # here instead of just referencing self.params later. - self._max_body_size = (self.params.max_body_size or - self.stream.max_buffer_size) - self._body_timeout = self.params.body_timeout - # _write_finished is set to True when finish() has been called, - # i.e. there will be no more data sent. Data may still be in the - # stream's write buffer. - self._write_finished = False - # True when we have read the entire incoming body. - self._read_finished = False - # _finish_future resolves when all data has been written and flushed - # to the IOStream. - self._finish_future = Future() - # If true, the connection should be closed after this request - # (after the response has been written in the server side, - # and after it has been read in the client) - self._disconnect_on_finish = False - self._clear_callbacks() - # Save the start lines after we read or write them; they - # affect later processing (e.g. 304 responses and HEAD methods - # have content-length but no bodies) - self._request_start_line = None - self._response_start_line = None - self._request_headers = None - # True if we are writing output with chunked encoding. - self._chunking_output = None - # While reading a body with a content-length, this is the - # amount left to read. - self._expected_content_remaining = None - # A Future for our outgoing writes, returned by IOStream.write. - self._pending_write = None - - def read_response(self, delegate): - """Read a single HTTP response. - - Typical client-mode usage is to write a request using `write_headers`, - `write`, and `finish`, and then call ``read_response``. - - :arg delegate: a `.HTTPMessageDelegate` - - Returns a `.Future` that resolves to None after the full response has - been read. - """ - if self.params.decompress: - delegate = _GzipMessageDelegate(delegate, self.params.chunk_size) - return self._read_message(delegate) - - @gen.coroutine - def _read_message(self, delegate): - need_delegate_close = False - try: - header_future = self.stream.read_until_regex( - b"\r?\n\r?\n", - max_bytes=self.params.max_header_size) - if self.params.header_timeout is None: - header_data = yield header_future - else: - try: - header_data = yield gen.with_timeout( - self.stream.io_loop.time() + self.params.header_timeout, - header_future, - io_loop=self.stream.io_loop, - quiet_exceptions=iostream.StreamClosedError) - except gen.TimeoutError: - self.close() - raise gen.Return(False) - start_line, headers = self._parse_headers(header_data) - if self.is_client: - start_line = httputil.parse_response_start_line(start_line) - self._response_start_line = start_line - else: - start_line = httputil.parse_request_start_line(start_line) - self._request_start_line = start_line - self._request_headers = headers - - self._disconnect_on_finish = not self._can_keep_alive( - start_line, headers) - need_delegate_close = True - with _ExceptionLoggingContext(app_log): - header_future = delegate.headers_received(start_line, headers) - if header_future is not None: - yield header_future - if self.stream is None: - # We've been detached. - need_delegate_close = False - raise gen.Return(False) - skip_body = False - if self.is_client: - if (self._request_start_line is not None and - self._request_start_line.method == 'HEAD'): - skip_body = True - code = start_line.code - if code == 304: - # 304 responses may include the content-length header - # but do not actually have a body. - # http://tools.ietf.org/html/rfc7230#section-3.3 - skip_body = True - if code >= 100 and code < 200: - # 1xx responses should never indicate the presence of - # a body. - if ('Content-Length' in headers or - 'Transfer-Encoding' in headers): - raise httputil.HTTPInputError( - "Response code %d cannot have body" % code) - # TODO: client delegates will get headers_received twice - # in the case of a 100-continue. Document or change? - yield self._read_message(delegate) - else: - if (headers.get("Expect") == "100-continue" and - not self._write_finished): - self.stream.write(b"HTTP/1.1 100 (Continue)\r\n\r\n") - if not skip_body: - body_future = self._read_body( - start_line.code if self.is_client else 0, headers, delegate) - if body_future is not None: - if self._body_timeout is None: - yield body_future - else: - try: - yield gen.with_timeout( - self.stream.io_loop.time() + self._body_timeout, - body_future, self.stream.io_loop, - quiet_exceptions=iostream.StreamClosedError) - except gen.TimeoutError: - gen_log.info("Timeout reading body from %s", - self.context) - self.stream.close() - raise gen.Return(False) - self._read_finished = True - if not self._write_finished or self.is_client: - need_delegate_close = False - with _ExceptionLoggingContext(app_log): - delegate.finish() - # If we're waiting for the application to produce an asynchronous - # response, and we're not detached, register a close callback - # on the stream (we didn't need one while we were reading) - if (not self._finish_future.done() and - self.stream is not None and - not self.stream.closed()): - self.stream.set_close_callback(self._on_connection_close) - yield self._finish_future - if self.is_client and self._disconnect_on_finish: - self.close() - if self.stream is None: - raise gen.Return(False) - except httputil.HTTPInputError as e: - gen_log.info("Malformed HTTP message from %s: %s", - self.context, e) - self.close() - raise gen.Return(False) - finally: - if need_delegate_close: - with _ExceptionLoggingContext(app_log): - delegate.on_connection_close() - self._clear_callbacks() - raise gen.Return(True) - - def _clear_callbacks(self): - """Clears the callback attributes. - - This allows the request handler to be garbage collected more - quickly in CPython by breaking up reference cycles. - """ - self._write_callback = None - self._write_future = None - self._close_callback = None - if self.stream is not None: - self.stream.set_close_callback(None) - - def set_close_callback(self, callback): - """Sets a callback that will be run when the connection is closed. - - .. deprecated:: 4.0 - Use `.HTTPMessageDelegate.on_connection_close` instead. - """ - self._close_callback = stack_context.wrap(callback) - - def _on_connection_close(self): - # Note that this callback is only registered on the IOStream - # when we have finished reading the request and are waiting for - # the application to produce its response. - if self._close_callback is not None: - callback = self._close_callback - self._close_callback = None - callback() - if not self._finish_future.done(): - self._finish_future.set_result(None) - self._clear_callbacks() - - def close(self): - if self.stream is not None: - self.stream.close() - self._clear_callbacks() - if not self._finish_future.done(): - self._finish_future.set_result(None) - - def detach(self): - """Take control of the underlying stream. - - Returns the underlying `.IOStream` object and stops all further - HTTP processing. May only be called during - `.HTTPMessageDelegate.headers_received`. Intended for implementing - protocols like websockets that tunnel over an HTTP handshake. - """ - self._clear_callbacks() - stream = self.stream - self.stream = None - if not self._finish_future.done(): - self._finish_future.set_result(None) - return stream - - def set_body_timeout(self, timeout): - """Sets the body timeout for a single request. - - Overrides the value from `.HTTP1ConnectionParameters`. - """ - self._body_timeout = timeout - - def set_max_body_size(self, max_body_size): - """Sets the body size limit for a single request. - - Overrides the value from `.HTTP1ConnectionParameters`. - """ - self._max_body_size = max_body_size - - def write_headers(self, start_line, headers, chunk=None, callback=None): - """Implements `.HTTPConnection.write_headers`.""" - lines = [] - if self.is_client: - self._request_start_line = start_line - lines.append(utf8('%s %s HTTP/1.1' % (start_line[0], start_line[1]))) - # Client requests with a non-empty body must have either a - # Content-Length or a Transfer-Encoding. - self._chunking_output = ( - start_line.method in ('POST', 'PUT', 'PATCH') and - 'Content-Length' not in headers and - 'Transfer-Encoding' not in headers) - else: - self._response_start_line = start_line - lines.append(utf8('HTTP/1.1 %s %s' % (start_line[1], start_line[2]))) - self._chunking_output = ( - # TODO: should this use - # self._request_start_line.version or - # start_line.version? - self._request_start_line.version == 'HTTP/1.1' and - # 304 responses have no body (not even a zero-length body), and so - # should not have either Content-Length or Transfer-Encoding. - # headers. - start_line.code != 304 and - # No need to chunk the output if a Content-Length is specified. - 'Content-Length' not in headers and - # Applications are discouraged from touching Transfer-Encoding, - # but if they do, leave it alone. - 'Transfer-Encoding' not in headers) - # If a 1.0 client asked for keep-alive, add the header. - if (self._request_start_line.version == 'HTTP/1.0' and - (self._request_headers.get('Connection', '').lower() - == 'keep-alive')): - headers['Connection'] = 'Keep-Alive' - if self._chunking_output: - headers['Transfer-Encoding'] = 'chunked' - if (not self.is_client and - (self._request_start_line.method == 'HEAD' or - start_line.code == 304)): - self._expected_content_remaining = 0 - elif 'Content-Length' in headers: - self._expected_content_remaining = int(headers['Content-Length']) - else: - self._expected_content_remaining = None - lines.extend([utf8(n) + b": " + utf8(v) for n, v in headers.get_all()]) - for line in lines: - if b'\n' in line: - raise ValueError('Newline in header: ' + repr(line)) - future = None - if self.stream.closed(): - future = self._write_future = Future() - future.set_exception(iostream.StreamClosedError()) - future.exception() - else: - if callback is not None: - self._write_callback = stack_context.wrap(callback) - else: - future = self._write_future = Future() - data = b"\r\n".join(lines) + b"\r\n\r\n" - if chunk: - data += self._format_chunk(chunk) - self._pending_write = self.stream.write(data) - self._pending_write.add_done_callback(self._on_write_complete) - return future - - def _format_chunk(self, chunk): - if self._expected_content_remaining is not None: - self._expected_content_remaining -= len(chunk) - if self._expected_content_remaining < 0: - # Close the stream now to stop further framing errors. - self.stream.close() - raise httputil.HTTPOutputError( - "Tried to write more data than Content-Length") - if self._chunking_output and chunk: - # Don't write out empty chunks because that means END-OF-STREAM - # with chunked encoding - return utf8("%x" % len(chunk)) + b"\r\n" + chunk + b"\r\n" - else: - return chunk - - def write(self, chunk, callback=None): - """Implements `.HTTPConnection.write`. - - For backwards compatibility is is allowed but deprecated to - skip `write_headers` and instead call `write()` with a - pre-encoded header block. - """ - future = None - if self.stream.closed(): - future = self._write_future = Future() - self._write_future.set_exception(iostream.StreamClosedError()) - self._write_future.exception() - else: - if callback is not None: - self._write_callback = stack_context.wrap(callback) - else: - future = self._write_future = Future() - self._pending_write = self.stream.write(self._format_chunk(chunk)) - self._pending_write.add_done_callback(self._on_write_complete) - return future - - def finish(self): - """Implements `.HTTPConnection.finish`.""" - if (self._expected_content_remaining is not None and - self._expected_content_remaining != 0 and - not self.stream.closed()): - self.stream.close() - raise httputil.HTTPOutputError( - "Tried to write %d bytes less than Content-Length" % - self._expected_content_remaining) - if self._chunking_output: - if not self.stream.closed(): - self._pending_write = self.stream.write(b"0\r\n\r\n") - self._pending_write.add_done_callback(self._on_write_complete) - self._write_finished = True - # If the app finished the request while we're still reading, - # divert any remaining data away from the delegate and - # close the connection when we're done sending our response. - # Closing the connection is the only way to avoid reading the - # whole input body. - if not self._read_finished: - self._disconnect_on_finish = True - # No more data is coming, so instruct TCP to send any remaining - # data immediately instead of waiting for a full packet or ack. - self.stream.set_nodelay(True) - if self._pending_write is None: - self._finish_request(None) - else: - self._pending_write.add_done_callback(self._finish_request) - - def _on_write_complete(self, future): - exc = future.exception() - if exc is not None and not isinstance(exc, iostream.StreamClosedError): - future.result() - if self._write_callback is not None: - callback = self._write_callback - self._write_callback = None - self.stream.io_loop.add_callback(callback) - if self._write_future is not None: - future = self._write_future - self._write_future = None - future.set_result(None) - - def _can_keep_alive(self, start_line, headers): - if self.params.no_keep_alive: - return False - connection_header = headers.get("Connection") - if connection_header is not None: - connection_header = connection_header.lower() - if start_line.version == "HTTP/1.1": - return connection_header != "close" - elif ("Content-Length" in headers - or headers.get("Transfer-Encoding", "").lower() == "chunked" - or start_line.method in ("HEAD", "GET")): - return connection_header == "keep-alive" - return False - - def _finish_request(self, future): - self._clear_callbacks() - if not self.is_client and self._disconnect_on_finish: - self.close() - return - # Turn Nagle's algorithm back on, leaving the stream in its - # default state for the next request. - self.stream.set_nodelay(False) - if not self._finish_future.done(): - self._finish_future.set_result(None) - - def _parse_headers(self, data): - # The lstrip removes newlines that some implementations sometimes - # insert between messages of a reused connection. Per RFC 7230, - # we SHOULD ignore at least one empty line before the request. - # http://tools.ietf.org/html/rfc7230#section-3.5 - data = native_str(data.decode('latin1')).lstrip("\r\n") - # RFC 7230 section allows for both CRLF and bare LF. - eol = data.find("\n") - start_line = data[:eol].rstrip("\r") - try: - headers = httputil.HTTPHeaders.parse(data[eol:]) - except ValueError: - # probably form split() if there was no ':' in the line - raise httputil.HTTPInputError("Malformed HTTP headers: %r" % - data[eol:100]) - return start_line, headers - - def _read_body(self, code, headers, delegate): - if "Content-Length" in headers: - if "Transfer-Encoding" in headers: - # Response cannot contain both Content-Length and - # Transfer-Encoding headers. - # http://tools.ietf.org/html/rfc7230#section-3.3.3 - raise httputil.HTTPInputError( - "Response with both Transfer-Encoding and Content-Length") - if "," in headers["Content-Length"]: - # Proxies sometimes cause Content-Length headers to get - # duplicated. If all the values are identical then we can - # use them but if they differ it's an error. - pieces = re.split(r',\s*', headers["Content-Length"]) - if any(i != pieces[0] for i in pieces): - raise httputil.HTTPInputError( - "Multiple unequal Content-Lengths: %r" % - headers["Content-Length"]) - headers["Content-Length"] = pieces[0] - content_length = int(headers["Content-Length"]) - - if content_length > self._max_body_size: - raise httputil.HTTPInputError("Content-Length too long") - else: - content_length = None - - if code == 204: - # This response code is not allowed to have a non-empty body, - # and has an implicit length of zero instead of read-until-close. - # http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.3 - if ("Transfer-Encoding" in headers or - content_length not in (None, 0)): - raise httputil.HTTPInputError( - "Response with code %d should not have body" % code) - content_length = 0 - - if content_length is not None: - return self._read_fixed_body(content_length, delegate) - if headers.get("Transfer-Encoding") == "chunked": - return self._read_chunked_body(delegate) - if self.is_client: - return self._read_body_until_close(delegate) - return None - - @gen.coroutine - def _read_fixed_body(self, content_length, delegate): - while content_length > 0: - body = yield self.stream.read_bytes( - min(self.params.chunk_size, content_length), partial=True) - content_length -= len(body) - if not self._write_finished or self.is_client: - with _ExceptionLoggingContext(app_log): - ret = delegate.data_received(body) - if ret is not None: - yield ret - - @gen.coroutine - def _read_chunked_body(self, delegate): - # TODO: "chunk extensions" http://tools.ietf.org/html/rfc2616#section-3.6.1 - total_size = 0 - while True: - chunk_len = yield self.stream.read_until(b"\r\n", max_bytes=64) - chunk_len = int(chunk_len.strip(), 16) - if chunk_len == 0: - return - total_size += chunk_len - if total_size > self._max_body_size: - raise httputil.HTTPInputError("chunked body too large") - bytes_to_read = chunk_len - while bytes_to_read: - chunk = yield self.stream.read_bytes( - min(bytes_to_read, self.params.chunk_size), partial=True) - bytes_to_read -= len(chunk) - if not self._write_finished or self.is_client: - with _ExceptionLoggingContext(app_log): - ret = delegate.data_received(chunk) - if ret is not None: - yield ret - # chunk ends with \r\n - crlf = yield self.stream.read_bytes(2) - assert crlf == b"\r\n" - - @gen.coroutine - def _read_body_until_close(self, delegate): - body = yield self.stream.read_until_close() - if not self._write_finished or self.is_client: - with _ExceptionLoggingContext(app_log): - delegate.data_received(body) - - -class _GzipMessageDelegate(httputil.HTTPMessageDelegate): - """Wraps an `HTTPMessageDelegate` to decode ``Content-Encoding: gzip``. - """ - def __init__(self, delegate, chunk_size): - self._delegate = delegate - self._chunk_size = chunk_size - self._decompressor = None - - def headers_received(self, start_line, headers): - if headers.get("Content-Encoding") == "gzip": - self._decompressor = GzipDecompressor() - # Downstream delegates will only see uncompressed data, - # so rename the content-encoding header. - # (but note that curl_httpclient doesn't do this). - headers.add("X-Consumed-Content-Encoding", - headers["Content-Encoding"]) - del headers["Content-Encoding"] - return self._delegate.headers_received(start_line, headers) - - @gen.coroutine - def data_received(self, chunk): - if self._decompressor: - compressed_data = chunk - while compressed_data: - decompressed = self._decompressor.decompress( - compressed_data, self._chunk_size) - if decompressed: - ret = self._delegate.data_received(decompressed) - if ret is not None: - yield ret - compressed_data = self._decompressor.unconsumed_tail - else: - ret = self._delegate.data_received(chunk) - if ret is not None: - yield ret - - def finish(self): - if self._decompressor is not None: - tail = self._decompressor.flush() - if tail: - # I believe the tail will always be empty (i.e. - # decompress will return all it can). The purpose - # of the flush call is to detect errors such - # as truncated input. But in case it ever returns - # anything, treat it as an extra chunk - self._delegate.data_received(tail) - return self._delegate.finish() - - def on_connection_close(self): - return self._delegate.on_connection_close() - - -class HTTP1ServerConnection(object): - """An HTTP/1.x server.""" - def __init__(self, stream, params=None, context=None): - """ - :arg stream: an `.IOStream` - :arg params: a `.HTTP1ConnectionParameters` or None - :arg context: an opaque application-defined object that is accessible - as ``connection.context`` - """ - self.stream = stream - if params is None: - params = HTTP1ConnectionParameters() - self.params = params - self.context = context - self._serving_future = None - - @gen.coroutine - def close(self): - """Closes the connection. - - Returns a `.Future` that resolves after the serving loop has exited. - """ - self.stream.close() - # Block until the serving loop is done, but ignore any exceptions - # (start_serving is already responsible for logging them). - try: - yield self._serving_future - except Exception: - pass - - def start_serving(self, delegate): - """Starts serving requests on this connection. - - :arg delegate: a `.HTTPServerConnectionDelegate` - """ - assert isinstance(delegate, httputil.HTTPServerConnectionDelegate) - self._serving_future = self._server_request_loop(delegate) - # Register the future on the IOLoop so its errors get logged. - self.stream.io_loop.add_future(self._serving_future, - lambda f: f.result()) - - @gen.coroutine - def _server_request_loop(self, delegate): - try: - while True: - conn = HTTP1Connection(self.stream, False, - self.params, self.context) - request_delegate = delegate.start_request(self, conn) - try: - ret = yield conn.read_response(request_delegate) - except (iostream.StreamClosedError, - iostream.UnsatisfiableReadError): - return - except _QuietException: - # This exception was already logged. - conn.close() - return - except Exception: - gen_log.error("Uncaught exception", exc_info=True) - conn.close() - return - if not ret: - return - yield gen.moment - finally: - delegate.on_close(self) diff --git a/lib27/site-packages/tornado/httpclient.py b/lib27/site-packages/tornado/httpclient.py deleted file mode 100644 index 9179227b1..000000000 --- a/lib27/site-packages/tornado/httpclient.py +++ /dev/null @@ -1,659 +0,0 @@ -"""Blocking and non-blocking HTTP client interfaces. - -This module defines a common interface shared by two implementations, -``simple_httpclient`` and ``curl_httpclient``. Applications may either -instantiate their chosen implementation class directly or use the -`AsyncHTTPClient` class from this module, which selects an implementation -that can be overridden with the `AsyncHTTPClient.configure` method. - -The default implementation is ``simple_httpclient``, and this is expected -to be suitable for most users' needs. However, some applications may wish -to switch to ``curl_httpclient`` for reasons such as the following: - -* ``curl_httpclient`` has some features not found in ``simple_httpclient``, - including support for HTTP proxies and the ability to use a specified - network interface. - -* ``curl_httpclient`` is more likely to be compatible with sites that are - not-quite-compliant with the HTTP spec, or sites that use little-exercised - features of HTTP. - -* ``curl_httpclient`` is faster. - -* ``curl_httpclient`` was the default prior to Tornado 2.0. - -Note that if you are using ``curl_httpclient``, it is highly -recommended that you use a recent version of ``libcurl`` and -``pycurl``. Currently the minimum supported version of libcurl is -7.21.1, and the minimum version of pycurl is 7.18.2. It is highly -recommended that your ``libcurl`` installation is built with -asynchronous DNS resolver (threaded or c-ares), otherwise you may -encounter various problems with request timeouts (for more -information, see -http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTCONNECTTIMEOUTMS -and comments in curl_httpclient.py). - -To select ``curl_httpclient``, call `AsyncHTTPClient.configure` at startup:: - - AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient") -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import functools -import time -import weakref - -from tornado.concurrent import TracebackFuture -from tornado.escape import utf8, native_str -from tornado import httputil, stack_context -from tornado.ioloop import IOLoop -from tornado.util import Configurable - - -class HTTPClient(object): - """A blocking HTTP client. - - This interface is provided for convenience and testing; most applications - that are running an IOLoop will want to use `AsyncHTTPClient` instead. - Typical usage looks like this:: - - http_client = httpclient.HTTPClient() - try: - response = http_client.fetch("http://www.google.com/") - print response.body - except httpclient.HTTPError as e: - # HTTPError is raised for non-200 responses; the response - # can be found in e.response. - print("Error: " + str(e)) - except Exception as e: - # Other errors are possible, such as IOError. - print("Error: " + str(e)) - http_client.close() - """ - def __init__(self, async_client_class=None, **kwargs): - self._io_loop = IOLoop(make_current=False) - if async_client_class is None: - async_client_class = AsyncHTTPClient - self._async_client = async_client_class(self._io_loop, **kwargs) - self._closed = False - - def __del__(self): - self.close() - - def close(self): - """Closes the HTTPClient, freeing any resources used.""" - if not self._closed: - self._async_client.close() - self._io_loop.close() - self._closed = True - - def fetch(self, request, **kwargs): - """Executes a request, returning an `HTTPResponse`. - - The request may be either a string URL or an `HTTPRequest` object. - If it is a string, we construct an `HTTPRequest` using any additional - kwargs: ``HTTPRequest(request, **kwargs)`` - - If an error occurs during the fetch, we raise an `HTTPError` unless - the ``raise_error`` keyword argument is set to False. - """ - response = self._io_loop.run_sync(functools.partial( - self._async_client.fetch, request, **kwargs)) - return response - - -class AsyncHTTPClient(Configurable): - """An non-blocking HTTP client. - - Example usage:: - - def handle_request(response): - if response.error: - print "Error:", response.error - else: - print response.body - - http_client = AsyncHTTPClient() - http_client.fetch("http://www.google.com/", handle_request) - - The constructor for this class is magic in several respects: It - actually creates an instance of an implementation-specific - subclass, and instances are reused as a kind of pseudo-singleton - (one per `.IOLoop`). The keyword argument ``force_instance=True`` - can be used to suppress this singleton behavior. Unless - ``force_instance=True`` is used, no arguments other than - ``io_loop`` should be passed to the `AsyncHTTPClient` constructor. - The implementation subclass as well as arguments to its - constructor can be set with the static method `configure()` - - All `AsyncHTTPClient` implementations support a ``defaults`` - keyword argument, which can be used to set default values for - `HTTPRequest` attributes. For example:: - - AsyncHTTPClient.configure( - None, defaults=dict(user_agent="MyUserAgent")) - # or with force_instance: - client = AsyncHTTPClient(force_instance=True, - defaults=dict(user_agent="MyUserAgent")) - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - @classmethod - def configurable_base(cls): - return AsyncHTTPClient - - @classmethod - def configurable_default(cls): - from tornado.simple_httpclient import SimpleAsyncHTTPClient - return SimpleAsyncHTTPClient - - @classmethod - def _async_clients(cls): - attr_name = '_async_client_dict_' + cls.__name__ - if not hasattr(cls, attr_name): - setattr(cls, attr_name, weakref.WeakKeyDictionary()) - return getattr(cls, attr_name) - - def __new__(cls, io_loop=None, force_instance=False, **kwargs): - io_loop = io_loop or IOLoop.current() - if force_instance: - instance_cache = None - else: - instance_cache = cls._async_clients() - if instance_cache is not None and io_loop in instance_cache: - return instance_cache[io_loop] - instance = super(AsyncHTTPClient, cls).__new__(cls, io_loop=io_loop, - **kwargs) - # Make sure the instance knows which cache to remove itself from. - # It can't simply call _async_clients() because we may be in - # __new__(AsyncHTTPClient) but instance.__class__ may be - # SimpleAsyncHTTPClient. - instance._instance_cache = instance_cache - if instance_cache is not None: - instance_cache[instance.io_loop] = instance - return instance - - def initialize(self, io_loop, defaults=None): - self.io_loop = io_loop - self.defaults = dict(HTTPRequest._DEFAULTS) - if defaults is not None: - self.defaults.update(defaults) - self._closed = False - - def close(self): - """Destroys this HTTP client, freeing any file descriptors used. - - This method is **not needed in normal use** due to the way - that `AsyncHTTPClient` objects are transparently reused. - ``close()`` is generally only necessary when either the - `.IOLoop` is also being closed, or the ``force_instance=True`` - argument was used when creating the `AsyncHTTPClient`. - - No other methods may be called on the `AsyncHTTPClient` after - ``close()``. - - """ - if self._closed: - return - self._closed = True - if self._instance_cache is not None: - if self._instance_cache.get(self.io_loop) is not self: - raise RuntimeError("inconsistent AsyncHTTPClient cache") - del self._instance_cache[self.io_loop] - - def fetch(self, request, callback=None, raise_error=True, **kwargs): - """Executes a request, asynchronously returning an `HTTPResponse`. - - The request may be either a string URL or an `HTTPRequest` object. - If it is a string, we construct an `HTTPRequest` using any additional - kwargs: ``HTTPRequest(request, **kwargs)`` - - This method returns a `.Future` whose result is an - `HTTPResponse`. By default, the ``Future`` will raise an `HTTPError` - if the request returned a non-200 response code. Instead, if - ``raise_error`` is set to False, the response will always be - returned regardless of the response code. - - If a ``callback`` is given, it will be invoked with the `HTTPResponse`. - In the callback interface, `HTTPError` is not automatically raised. - Instead, you must check the response's ``error`` attribute or - call its `~HTTPResponse.rethrow` method. - """ - if self._closed: - raise RuntimeError("fetch() called on closed AsyncHTTPClient") - if not isinstance(request, HTTPRequest): - request = HTTPRequest(url=request, **kwargs) - # We may modify this (to add Host, Accept-Encoding, etc), - # so make sure we don't modify the caller's object. This is also - # where normal dicts get converted to HTTPHeaders objects. - request.headers = httputil.HTTPHeaders(request.headers) - request = _RequestProxy(request, self.defaults) - future = TracebackFuture() - if callback is not None: - callback = stack_context.wrap(callback) - - def handle_future(future): - exc = future.exception() - if isinstance(exc, HTTPError) and exc.response is not None: - response = exc.response - elif exc is not None: - response = HTTPResponse( - request, 599, error=exc, - request_time=time.time() - request.start_time) - else: - response = future.result() - self.io_loop.add_callback(callback, response) - future.add_done_callback(handle_future) - - def handle_response(response): - if raise_error and response.error: - future.set_exception(response.error) - else: - future.set_result(response) - self.fetch_impl(request, handle_response) - return future - - def fetch_impl(self, request, callback): - raise NotImplementedError() - - @classmethod - def configure(cls, impl, **kwargs): - """Configures the `AsyncHTTPClient` subclass to use. - - ``AsyncHTTPClient()`` actually creates an instance of a subclass. - This method may be called with either a class object or the - fully-qualified name of such a class (or ``None`` to use the default, - ``SimpleAsyncHTTPClient``) - - If additional keyword arguments are given, they will be passed - to the constructor of each subclass instance created. The - keyword argument ``max_clients`` determines the maximum number - of simultaneous `~AsyncHTTPClient.fetch()` operations that can - execute in parallel on each `.IOLoop`. Additional arguments - may be supported depending on the implementation class in use. - - Example:: - - AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient") - """ - super(AsyncHTTPClient, cls).configure(impl, **kwargs) - - -class HTTPRequest(object): - """HTTP client request object.""" - - # Default values for HTTPRequest parameters. - # Merged with the values on the request object by AsyncHTTPClient - # implementations. - _DEFAULTS = dict( - connect_timeout=20.0, - request_timeout=20.0, - follow_redirects=True, - max_redirects=5, - decompress_response=True, - proxy_password='', - allow_nonstandard_methods=False, - validate_cert=True) - - def __init__(self, url, method="GET", headers=None, body=None, - auth_username=None, auth_password=None, auth_mode=None, - connect_timeout=None, request_timeout=None, - if_modified_since=None, follow_redirects=None, - max_redirects=None, user_agent=None, use_gzip=None, - network_interface=None, streaming_callback=None, - header_callback=None, prepare_curl_callback=None, - proxy_host=None, proxy_port=None, proxy_username=None, - proxy_password=None, allow_nonstandard_methods=None, - validate_cert=None, ca_certs=None, - allow_ipv6=None, - client_key=None, client_cert=None, body_producer=None, - expect_100_continue=False, decompress_response=None, - ssl_options=None): - r"""All parameters except ``url`` are optional. - - :arg string url: URL to fetch - :arg string method: HTTP method, e.g. "GET" or "POST" - :arg headers: Additional HTTP headers to pass on the request - :type headers: `~tornado.httputil.HTTPHeaders` or `dict` - :arg body: HTTP request body as a string (byte or unicode; if unicode - the utf-8 encoding will be used) - :arg body_producer: Callable used for lazy/asynchronous request bodies. - It is called with one argument, a ``write`` function, and should - return a `.Future`. It should call the write function with new - data as it becomes available. The write function returns a - `.Future` which can be used for flow control. - Only one of ``body`` and ``body_producer`` may - be specified. ``body_producer`` is not supported on - ``curl_httpclient``. When using ``body_producer`` it is recommended - to pass a ``Content-Length`` in the headers as otherwise chunked - encoding will be used, and many servers do not support chunked - encoding on requests. New in Tornado 4.0 - :arg string auth_username: Username for HTTP authentication - :arg string auth_password: Password for HTTP authentication - :arg string auth_mode: Authentication mode; default is "basic". - Allowed values are implementation-defined; ``curl_httpclient`` - supports "basic" and "digest"; ``simple_httpclient`` only supports - "basic" - :arg float connect_timeout: Timeout for initial connection in seconds - :arg float request_timeout: Timeout for entire request in seconds - :arg if_modified_since: Timestamp for ``If-Modified-Since`` header - :type if_modified_since: `datetime` or `float` - :arg bool follow_redirects: Should redirects be followed automatically - or return the 3xx response? - :arg int max_redirects: Limit for ``follow_redirects`` - :arg string user_agent: String to send as ``User-Agent`` header - :arg bool decompress_response: Request a compressed response from - the server and decompress it after downloading. Default is True. - New in Tornado 4.0. - :arg bool use_gzip: Deprecated alias for ``decompress_response`` - since Tornado 4.0. - :arg string network_interface: Network interface to use for request. - ``curl_httpclient`` only; see note below. - :arg callable streaming_callback: If set, ``streaming_callback`` will - be run with each chunk of data as it is received, and - ``HTTPResponse.body`` and ``HTTPResponse.buffer`` will be empty in - the final response. - :arg callable header_callback: If set, ``header_callback`` will - be run with each header line as it is received (including the - first line, e.g. ``HTTP/1.0 200 OK\r\n``, and a final line - containing only ``\r\n``. All lines include the trailing newline - characters). ``HTTPResponse.headers`` will be empty in the final - response. This is most useful in conjunction with - ``streaming_callback``, because it's the only way to get access to - header data while the request is in progress. - :arg callable prepare_curl_callback: If set, will be called with - a ``pycurl.Curl`` object to allow the application to make additional - ``setopt`` calls. - :arg string proxy_host: HTTP proxy hostname. To use proxies, - ``proxy_host`` and ``proxy_port`` must be set; ``proxy_username`` and - ``proxy_pass`` are optional. Proxies are currently only supported - with ``curl_httpclient``. - :arg int proxy_port: HTTP proxy port - :arg string proxy_username: HTTP proxy username - :arg string proxy_password: HTTP proxy password - :arg bool allow_nonstandard_methods: Allow unknown values for ``method`` - argument? - :arg bool validate_cert: For HTTPS requests, validate the server's - certificate? - :arg string ca_certs: filename of CA certificates in PEM format, - or None to use defaults. See note below when used with - ``curl_httpclient``. - :arg string client_key: Filename for client SSL key, if any. See - note below when used with ``curl_httpclient``. - :arg string client_cert: Filename for client SSL certificate, if any. - See note below when used with ``curl_httpclient``. - :arg ssl.SSLContext ssl_options: `ssl.SSLContext` object for use in - ``simple_httpclient`` (unsupported by ``curl_httpclient``). - Overrides ``validate_cert``, ``ca_certs``, ``client_key``, - and ``client_cert``. - :arg bool allow_ipv6: Use IPv6 when available? Default is true. - :arg bool expect_100_continue: If true, send the - ``Expect: 100-continue`` header and wait for a continue response - before sending the request body. Only supported with - simple_httpclient. - - .. note:: - - When using ``curl_httpclient`` certain options may be - inherited by subsequent fetches because ``pycurl`` does - not allow them to be cleanly reset. This applies to the - ``ca_certs``, ``client_key``, ``client_cert``, and - ``network_interface`` arguments. If you use these - options, you should pass them on every request (you don't - have to always use the same values, but it's not possible - to mix requests that specify these options with ones that - use the defaults). - - .. versionadded:: 3.1 - The ``auth_mode`` argument. - - .. versionadded:: 4.0 - The ``body_producer`` and ``expect_100_continue`` arguments. - - .. versionadded:: 4.2 - The ``ssl_options`` argument. - """ - # Note that some of these attributes go through property setters - # defined below. - self.headers = headers - if if_modified_since: - self.headers["If-Modified-Since"] = httputil.format_timestamp( - if_modified_since) - self.proxy_host = proxy_host - self.proxy_port = proxy_port - self.proxy_username = proxy_username - self.proxy_password = proxy_password - self.url = url - self.method = method - self.body = body - self.body_producer = body_producer - self.auth_username = auth_username - self.auth_password = auth_password - self.auth_mode = auth_mode - self.connect_timeout = connect_timeout - self.request_timeout = request_timeout - self.follow_redirects = follow_redirects - self.max_redirects = max_redirects - self.user_agent = user_agent - if decompress_response is not None: - self.decompress_response = decompress_response - else: - self.decompress_response = use_gzip - self.network_interface = network_interface - self.streaming_callback = streaming_callback - self.header_callback = header_callback - self.prepare_curl_callback = prepare_curl_callback - self.allow_nonstandard_methods = allow_nonstandard_methods - self.validate_cert = validate_cert - self.ca_certs = ca_certs - self.allow_ipv6 = allow_ipv6 - self.client_key = client_key - self.client_cert = client_cert - self.ssl_options = ssl_options - self.expect_100_continue = expect_100_continue - self.start_time = time.time() - - @property - def headers(self): - return self._headers - - @headers.setter - def headers(self, value): - if value is None: - self._headers = httputil.HTTPHeaders() - else: - self._headers = value - - @property - def body(self): - return self._body - - @body.setter - def body(self, value): - self._body = utf8(value) - - @property - def body_producer(self): - return self._body_producer - - @body_producer.setter - def body_producer(self, value): - self._body_producer = stack_context.wrap(value) - - @property - def streaming_callback(self): - return self._streaming_callback - - @streaming_callback.setter - def streaming_callback(self, value): - self._streaming_callback = stack_context.wrap(value) - - @property - def header_callback(self): - return self._header_callback - - @header_callback.setter - def header_callback(self, value): - self._header_callback = stack_context.wrap(value) - - @property - def prepare_curl_callback(self): - return self._prepare_curl_callback - - @prepare_curl_callback.setter - def prepare_curl_callback(self, value): - self._prepare_curl_callback = stack_context.wrap(value) - - -class HTTPResponse(object): - """HTTP Response object. - - Attributes: - - * request: HTTPRequest object - - * code: numeric HTTP status code, e.g. 200 or 404 - - * reason: human-readable reason phrase describing the status code - - * headers: `tornado.httputil.HTTPHeaders` object - - * effective_url: final location of the resource after following any - redirects - - * buffer: ``cStringIO`` object for response body - - * body: response body as string (created on demand from ``self.buffer``) - - * error: Exception object, if any - - * request_time: seconds from request start to finish - - * time_info: dictionary of diagnostic timing information from the request. - Available data are subject to change, but currently uses timings - available from http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html, - plus ``queue``, which is the delay (if any) introduced by waiting for - a slot under `AsyncHTTPClient`'s ``max_clients`` setting. - """ - def __init__(self, request, code, headers=None, buffer=None, - effective_url=None, error=None, request_time=None, - time_info=None, reason=None): - if isinstance(request, _RequestProxy): - self.request = request.request - else: - self.request = request - self.code = code - self.reason = reason or httputil.responses.get(code, "Unknown") - if headers is not None: - self.headers = headers - else: - self.headers = httputil.HTTPHeaders() - self.buffer = buffer - self._body = None - if effective_url is None: - self.effective_url = request.url - else: - self.effective_url = effective_url - if error is None: - if self.code < 200 or self.code >= 300: - self.error = HTTPError(self.code, message=self.reason, - response=self) - else: - self.error = None - else: - self.error = error - self.request_time = request_time - self.time_info = time_info or {} - - def _get_body(self): - if self.buffer is None: - return None - elif self._body is None: - self._body = self.buffer.getvalue() - - return self._body - - body = property(_get_body) - - def rethrow(self): - """If there was an error on the request, raise an `HTTPError`.""" - if self.error: - raise self.error - - def __repr__(self): - args = ",".join("%s=%r" % i for i in sorted(self.__dict__.items())) - return "%s(%s)" % (self.__class__.__name__, args) - - -class HTTPError(Exception): - """Exception thrown for an unsuccessful HTTP request. - - Attributes: - - * ``code`` - HTTP error integer error code, e.g. 404. Error code 599 is - used when no HTTP response was received, e.g. for a timeout. - - * ``response`` - `HTTPResponse` object, if any. - - Note that if ``follow_redirects`` is False, redirects become HTTPErrors, - and you can look at ``error.response.headers['Location']`` to see the - destination of the redirect. - """ - def __init__(self, code, message=None, response=None): - self.code = code - self.message = message or httputil.responses.get(code, "Unknown") - self.response = response - super(HTTPError, self).__init__(code, message, response) - - def __str__(self): - return "HTTP %d: %s" % (self.code, self.message) - - -class _RequestProxy(object): - """Combines an object with a dictionary of defaults. - - Used internally by AsyncHTTPClient implementations. - """ - def __init__(self, request, defaults): - self.request = request - self.defaults = defaults - - def __getattr__(self, name): - request_attr = getattr(self.request, name) - if request_attr is not None: - return request_attr - elif self.defaults is not None: - return self.defaults.get(name, None) - else: - return None - - -def main(): - from tornado.options import define, options, parse_command_line - define("print_headers", type=bool, default=False) - define("print_body", type=bool, default=True) - define("follow_redirects", type=bool, default=True) - define("validate_cert", type=bool, default=True) - args = parse_command_line() - client = HTTPClient() - for arg in args: - try: - response = client.fetch(arg, - follow_redirects=options.follow_redirects, - validate_cert=options.validate_cert, - ) - except HTTPError as e: - if e.response is not None: - response = e.response - else: - raise - if options.print_headers: - print(response.headers) - if options.print_body: - print(native_str(response.body)) - client.close() - -if __name__ == "__main__": - main() diff --git a/lib27/site-packages/tornado/httpserver.py b/lib27/site-packages/tornado/httpserver.py deleted file mode 100644 index ff235fe46..000000000 --- a/lib27/site-packages/tornado/httpserver.py +++ /dev/null @@ -1,304 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""A non-blocking, single-threaded HTTP server. - -Typical applications have little direct interaction with the `HTTPServer` -class except to start a server at the beginning of the process -(and even that is often done indirectly via `tornado.web.Application.listen`). - -.. versionchanged:: 4.0 - - The ``HTTPRequest`` class that used to live in this module has been moved - to `tornado.httputil.HTTPServerRequest`. The old name remains as an alias. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import socket - -from tornado.escape import native_str -from tornado.http1connection import HTTP1ServerConnection, HTTP1ConnectionParameters -from tornado import gen -from tornado import httputil -from tornado import iostream -from tornado import netutil -from tornado.tcpserver import TCPServer -from tornado.util import Configurable - - -class HTTPServer(TCPServer, Configurable, - httputil.HTTPServerConnectionDelegate): - r"""A non-blocking, single-threaded HTTP server. - - A server is defined by a subclass of `.HTTPServerConnectionDelegate`, - or, for backwards compatibility, a callback that takes an - `.HTTPServerRequest` as an argument. The delegate is usually a - `tornado.web.Application`. - - `HTTPServer` supports keep-alive connections by default - (automatically for HTTP/1.1, or for HTTP/1.0 when the client - requests ``Connection: keep-alive``). - - If ``xheaders`` is ``True``, we support the - ``X-Real-Ip``/``X-Forwarded-For`` and - ``X-Scheme``/``X-Forwarded-Proto`` headers, which override the - remote IP and URI scheme/protocol for all requests. These headers - are useful when running Tornado behind a reverse proxy or load - balancer. The ``protocol`` argument can also be set to ``https`` - if Tornado is run behind an SSL-decoding proxy that does not set one of - the supported ``xheaders``. - - To make this server serve SSL traffic, send the ``ssl_options`` keyword - argument with an `ssl.SSLContext` object. For compatibility with older - versions of Python ``ssl_options`` may also be a dictionary of keyword - arguments for the `ssl.wrap_socket` method.:: - - ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) - ssl_ctx.load_cert_chain(os.path.join(data_dir, "mydomain.crt"), - os.path.join(data_dir, "mydomain.key")) - HTTPServer(applicaton, ssl_options=ssl_ctx) - - `HTTPServer` initialization follows one of three patterns (the - initialization methods are defined on `tornado.tcpserver.TCPServer`): - - 1. `~tornado.tcpserver.TCPServer.listen`: simple single-process:: - - server = HTTPServer(app) - server.listen(8888) - IOLoop.current().start() - - In many cases, `tornado.web.Application.listen` can be used to avoid - the need to explicitly create the `HTTPServer`. - - 2. `~tornado.tcpserver.TCPServer.bind`/`~tornado.tcpserver.TCPServer.start`: - simple multi-process:: - - server = HTTPServer(app) - server.bind(8888) - server.start(0) # Forks multiple sub-processes - IOLoop.current().start() - - When using this interface, an `.IOLoop` must *not* be passed - to the `HTTPServer` constructor. `~.TCPServer.start` will always start - the server on the default singleton `.IOLoop`. - - 3. `~tornado.tcpserver.TCPServer.add_sockets`: advanced multi-process:: - - sockets = tornado.netutil.bind_sockets(8888) - tornado.process.fork_processes(0) - server = HTTPServer(app) - server.add_sockets(sockets) - IOLoop.current().start() - - The `~.TCPServer.add_sockets` interface is more complicated, - but it can be used with `tornado.process.fork_processes` to - give you more flexibility in when the fork happens. - `~.TCPServer.add_sockets` can also be used in single-process - servers if you want to create your listening sockets in some - way other than `tornado.netutil.bind_sockets`. - - .. versionchanged:: 4.0 - Added ``decompress_request``, ``chunk_size``, ``max_header_size``, - ``idle_connection_timeout``, ``body_timeout``, ``max_body_size`` - arguments. Added support for `.HTTPServerConnectionDelegate` - instances as ``request_callback``. - - .. versionchanged:: 4.1 - `.HTTPServerConnectionDelegate.start_request` is now called with - two arguments ``(server_conn, request_conn)`` (in accordance with the - documentation) instead of one ``(request_conn)``. - - .. versionchanged:: 4.2 - `HTTPServer` is now a subclass of `tornado.util.Configurable`. - """ - def __init__(self, *args, **kwargs): - # Ignore args to __init__; real initialization belongs in - # initialize since we're Configurable. (there's something - # weird in initialization order between this class, - # Configurable, and TCPServer so we can't leave __init__ out - # completely) - pass - - def initialize(self, request_callback, no_keep_alive=False, io_loop=None, - xheaders=False, ssl_options=None, protocol=None, - decompress_request=False, - chunk_size=None, max_header_size=None, - idle_connection_timeout=None, body_timeout=None, - max_body_size=None, max_buffer_size=None): - self.request_callback = request_callback - self.no_keep_alive = no_keep_alive - self.xheaders = xheaders - self.protocol = protocol - self.conn_params = HTTP1ConnectionParameters( - decompress=decompress_request, - chunk_size=chunk_size, - max_header_size=max_header_size, - header_timeout=idle_connection_timeout or 3600, - max_body_size=max_body_size, - body_timeout=body_timeout) - TCPServer.__init__(self, io_loop=io_loop, ssl_options=ssl_options, - max_buffer_size=max_buffer_size, - read_chunk_size=chunk_size) - self._connections = set() - - @classmethod - def configurable_base(cls): - return HTTPServer - - @classmethod - def configurable_default(cls): - return HTTPServer - - @gen.coroutine - def close_all_connections(self): - while self._connections: - # Peek at an arbitrary element of the set - conn = next(iter(self._connections)) - yield conn.close() - - def handle_stream(self, stream, address): - context = _HTTPRequestContext(stream, address, - self.protocol) - conn = HTTP1ServerConnection( - stream, self.conn_params, context) - self._connections.add(conn) - conn.start_serving(self) - - def start_request(self, server_conn, request_conn): - return _ServerRequestAdapter(self, server_conn, request_conn) - - def on_close(self, server_conn): - self._connections.remove(server_conn) - - -class _HTTPRequestContext(object): - def __init__(self, stream, address, protocol): - self.address = address - # Save the socket's address family now so we know how to - # interpret self.address even after the stream is closed - # and its socket attribute replaced with None. - if stream.socket is not None: - self.address_family = stream.socket.family - else: - self.address_family = None - # In HTTPServerRequest we want an IP, not a full socket address. - if (self.address_family in (socket.AF_INET, socket.AF_INET6) and - address is not None): - self.remote_ip = address[0] - else: - # Unix (or other) socket; fake the remote address. - self.remote_ip = '0.0.0.0' - if protocol: - self.protocol = protocol - elif isinstance(stream, iostream.SSLIOStream): - self.protocol = "https" - else: - self.protocol = "http" - self._orig_remote_ip = self.remote_ip - self._orig_protocol = self.protocol - - def __str__(self): - if self.address_family in (socket.AF_INET, socket.AF_INET6): - return self.remote_ip - elif isinstance(self.address, bytes): - # Python 3 with the -bb option warns about str(bytes), - # so convert it explicitly. - # Unix socket addresses are str on mac but bytes on linux. - return native_str(self.address) - else: - return str(self.address) - - def _apply_xheaders(self, headers): - """Rewrite the ``remote_ip`` and ``protocol`` fields.""" - # Squid uses X-Forwarded-For, others use X-Real-Ip - ip = headers.get("X-Forwarded-For", self.remote_ip) - ip = ip.split(',')[-1].strip() - ip = headers.get("X-Real-Ip", ip) - if netutil.is_valid_ip(ip): - self.remote_ip = ip - # AWS uses X-Forwarded-Proto - proto_header = headers.get( - "X-Scheme", headers.get("X-Forwarded-Proto", - self.protocol)) - if proto_header in ("http", "https"): - self.protocol = proto_header - - def _unapply_xheaders(self): - """Undo changes from `_apply_xheaders`. - - Xheaders are per-request so they should not leak to the next - request on the same connection. - """ - self.remote_ip = self._orig_remote_ip - self.protocol = self._orig_protocol - - -class _ServerRequestAdapter(httputil.HTTPMessageDelegate): - """Adapts the `HTTPMessageDelegate` interface to the interface expected - by our clients. - """ - def __init__(self, server, server_conn, request_conn): - self.server = server - self.connection = request_conn - self.request = None - if isinstance(server.request_callback, - httputil.HTTPServerConnectionDelegate): - self.delegate = server.request_callback.start_request( - server_conn, request_conn) - self._chunks = None - else: - self.delegate = None - self._chunks = [] - - def headers_received(self, start_line, headers): - if self.server.xheaders: - self.connection.context._apply_xheaders(headers) - if self.delegate is None: - self.request = httputil.HTTPServerRequest( - connection=self.connection, start_line=start_line, - headers=headers) - else: - return self.delegate.headers_received(start_line, headers) - - def data_received(self, chunk): - if self.delegate is None: - self._chunks.append(chunk) - else: - return self.delegate.data_received(chunk) - - def finish(self): - if self.delegate is None: - self.request.body = b''.join(self._chunks) - self.request._parse_body() - self.server.request_callback(self.request) - else: - self.delegate.finish() - self._cleanup() - - def on_connection_close(self): - if self.delegate is None: - self._chunks = None - else: - self.delegate.on_connection_close() - self._cleanup() - - def _cleanup(self): - if self.server.xheaders: - self.connection.context._unapply_xheaders() - - -HTTPRequest = httputil.HTTPServerRequest diff --git a/lib27/site-packages/tornado/httputil.py b/lib27/site-packages/tornado/httputil.py deleted file mode 100644 index 471df54f9..000000000 --- a/lib27/site-packages/tornado/httputil.py +++ /dev/null @@ -1,897 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""HTTP utility code shared by clients and servers. - -This module also defines the `HTTPServerRequest` class which is exposed -via `tornado.web.RequestHandler.request`. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import calendar -import collections -import copy -import datetime -import email.utils -import numbers -import re -import time - -from tornado.escape import native_str, parse_qs_bytes, utf8 -from tornado.log import gen_log -from tornado.util import ObjectDict - -try: - import Cookie # py2 -except ImportError: - import http.cookies as Cookie # py3 - -try: - from httplib import responses # py2 -except ImportError: - from http.client import responses # py3 - -# responses is unused in this file, but we re-export it to other files. -# Reference it so pyflakes doesn't complain. -responses - -try: - from urllib import urlencode # py2 -except ImportError: - from urllib.parse import urlencode # py3 - -try: - from ssl import SSLError -except ImportError: - # ssl is unavailable on app engine. - class SSLError(Exception): - pass - - -# RFC 7230 section 3.5: a recipient MAY recognize a single LF as a line -# terminator and ignore any preceding CR. -_CRLF_RE = re.compile(r'\r?\n') - - -class _NormalizedHeaderCache(dict): - """Dynamic cached mapping of header names to Http-Header-Case. - - Implemented as a dict subclass so that cache hits are as fast as a - normal dict lookup, without the overhead of a python function - call. - - >>> normalized_headers = _NormalizedHeaderCache(10) - >>> normalized_headers["coNtent-TYPE"] - 'Content-Type' - """ - def __init__(self, size): - super(_NormalizedHeaderCache, self).__init__() - self.size = size - self.queue = collections.deque() - - def __missing__(self, key): - normalized = "-".join([w.capitalize() for w in key.split("-")]) - self[key] = normalized - self.queue.append(key) - if len(self.queue) > self.size: - # Limit the size of the cache. LRU would be better, but this - # simpler approach should be fine. In Python 2.7+ we could - # use OrderedDict (or in 3.2+, @functools.lru_cache). - old_key = self.queue.popleft() - del self[old_key] - return normalized - -_normalized_headers = _NormalizedHeaderCache(1000) - - -class HTTPHeaders(collections.MutableMapping): - """A dictionary that maintains ``Http-Header-Case`` for all keys. - - Supports multiple values per key via a pair of new methods, - `add()` and `get_list()`. The regular dictionary interface - returns a single value per key, with multiple values joined by a - comma. - - >>> h = HTTPHeaders({"content-type": "text/html"}) - >>> list(h.keys()) - ['Content-Type'] - >>> h["Content-Type"] - 'text/html' - - >>> h.add("Set-Cookie", "A=B") - >>> h.add("Set-Cookie", "C=D") - >>> h["set-cookie"] - 'A=B,C=D' - >>> h.get_list("set-cookie") - ['A=B', 'C=D'] - - >>> for (k,v) in sorted(h.get_all()): - ... print('%s: %s' % (k,v)) - ... - Content-Type: text/html - Set-Cookie: A=B - Set-Cookie: C=D - """ - def __init__(self, *args, **kwargs): - self._dict = {} - self._as_list = {} - self._last_key = None - if (len(args) == 1 and len(kwargs) == 0 and - isinstance(args[0], HTTPHeaders)): - # Copy constructor - for k, v in args[0].get_all(): - self.add(k, v) - else: - # Dict-style initialization - self.update(*args, **kwargs) - - # new public methods - - def add(self, name, value): - """Adds a new value for the given key.""" - norm_name = _normalized_headers[name] - self._last_key = norm_name - if norm_name in self: - self._dict[norm_name] = (native_str(self[norm_name]) + ',' + - native_str(value)) - self._as_list[norm_name].append(value) - else: - self[norm_name] = value - - def get_list(self, name): - """Returns all values for the given header as a list.""" - norm_name = _normalized_headers[name] - return self._as_list.get(norm_name, []) - - def get_all(self): - """Returns an iterable of all (name, value) pairs. - - If a header has multiple values, multiple pairs will be - returned with the same name. - """ - for name, values in self._as_list.items(): - for value in values: - yield (name, value) - - def parse_line(self, line): - """Updates the dictionary with a single header line. - - >>> h = HTTPHeaders() - >>> h.parse_line("Content-Type: text/html") - >>> h.get('content-type') - 'text/html' - """ - if line[0].isspace(): - # continuation of a multi-line header - new_part = ' ' + line.lstrip() - self._as_list[self._last_key][-1] += new_part - self._dict[self._last_key] += new_part - else: - name, value = line.split(":", 1) - self.add(name, value.strip()) - - @classmethod - def parse(cls, headers): - """Returns a dictionary from HTTP header text. - - >>> h = HTTPHeaders.parse("Content-Type: text/html\\r\\nContent-Length: 42\\r\\n") - >>> sorted(h.items()) - [('Content-Length', '42'), ('Content-Type', 'text/html')] - """ - h = cls() - for line in _CRLF_RE.split(headers): - if line: - h.parse_line(line) - return h - - # MutableMapping abstract method implementations. - - def __setitem__(self, name, value): - norm_name = _normalized_headers[name] - self._dict[norm_name] = value - self._as_list[norm_name] = [value] - - def __getitem__(self, name): - return self._dict[_normalized_headers[name]] - - def __delitem__(self, name): - norm_name = _normalized_headers[name] - del self._dict[norm_name] - del self._as_list[norm_name] - - def __len__(self): - return len(self._dict) - - def __iter__(self): - return iter(self._dict) - - def copy(self): - # defined in dict but not in MutableMapping. - return HTTPHeaders(self) - - # Use our overridden copy method for the copy.copy module. - # This makes shallow copies one level deeper, but preserves - # the appearance that HTTPHeaders is a single container. - __copy__ = copy - - -class HTTPServerRequest(object): - """A single HTTP request. - - All attributes are type `str` unless otherwise noted. - - .. attribute:: method - - HTTP request method, e.g. "GET" or "POST" - - .. attribute:: uri - - The requested uri. - - .. attribute:: path - - The path portion of `uri` - - .. attribute:: query - - The query portion of `uri` - - .. attribute:: version - - HTTP version specified in request, e.g. "HTTP/1.1" - - .. attribute:: headers - - `.HTTPHeaders` dictionary-like object for request headers. Acts like - a case-insensitive dictionary with additional methods for repeated - headers. - - .. attribute:: body - - Request body, if present, as a byte string. - - .. attribute:: remote_ip - - Client's IP address as a string. If ``HTTPServer.xheaders`` is set, - will pass along the real IP address provided by a load balancer - in the ``X-Real-Ip`` or ``X-Forwarded-For`` header. - - .. versionchanged:: 3.1 - The list format of ``X-Forwarded-For`` is now supported. - - .. attribute:: protocol - - The protocol used, either "http" or "https". If ``HTTPServer.xheaders`` - is set, will pass along the protocol used by a load balancer if - reported via an ``X-Scheme`` header. - - .. attribute:: host - - The requested hostname, usually taken from the ``Host`` header. - - .. attribute:: arguments - - GET/POST arguments are available in the arguments property, which - maps arguments names to lists of values (to support multiple values - for individual names). Names are of type `str`, while arguments - are byte strings. Note that this is different from - `.RequestHandler.get_argument`, which returns argument values as - unicode strings. - - .. attribute:: query_arguments - - Same format as ``arguments``, but contains only arguments extracted - from the query string. - - .. versionadded:: 3.2 - - .. attribute:: body_arguments - - Same format as ``arguments``, but contains only arguments extracted - from the request body. - - .. versionadded:: 3.2 - - .. attribute:: files - - File uploads are available in the files property, which maps file - names to lists of `.HTTPFile`. - - .. attribute:: connection - - An HTTP request is attached to a single HTTP connection, which can - be accessed through the "connection" attribute. Since connections - are typically kept open in HTTP/1.1, multiple requests can be handled - sequentially on a single connection. - - .. versionchanged:: 4.0 - Moved from ``tornado.httpserver.HTTPRequest``. - """ - def __init__(self, method=None, uri=None, version="HTTP/1.0", headers=None, - body=None, host=None, files=None, connection=None, - start_line=None): - if start_line is not None: - method, uri, version = start_line - self.method = method - self.uri = uri - self.version = version - self.headers = headers or HTTPHeaders() - self.body = body or b"" - - # set remote IP and protocol - context = getattr(connection, 'context', None) - self.remote_ip = getattr(context, 'remote_ip', None) - self.protocol = getattr(context, 'protocol', "http") - - self.host = host or self.headers.get("Host") or "127.0.0.1" - self.files = files or {} - self.connection = connection - self._start_time = time.time() - self._finish_time = None - - self.path, sep, self.query = uri.partition('?') - self.arguments = parse_qs_bytes(self.query, keep_blank_values=True) - self.query_arguments = copy.deepcopy(self.arguments) - self.body_arguments = {} - - def supports_http_1_1(self): - """Returns True if this request supports HTTP/1.1 semantics. - - .. deprecated:: 4.0 - Applications are less likely to need this information with the - introduction of `.HTTPConnection`. If you still need it, access - the ``version`` attribute directly. - """ - return self.version == "HTTP/1.1" - - @property - def cookies(self): - """A dictionary of Cookie.Morsel objects.""" - if not hasattr(self, "_cookies"): - self._cookies = Cookie.SimpleCookie() - if "Cookie" in self.headers: - try: - self._cookies.load( - native_str(self.headers["Cookie"])) - except Exception: - self._cookies = {} - return self._cookies - - def write(self, chunk, callback=None): - """Writes the given chunk to the response stream. - - .. deprecated:: 4.0 - Use ``request.connection`` and the `.HTTPConnection` methods - to write the response. - """ - assert isinstance(chunk, bytes) - assert self.version.startswith("HTTP/1."), \ - "deprecated interface only supported in HTTP/1.x" - self.connection.write(chunk, callback=callback) - - def finish(self): - """Finishes this HTTP request on the open connection. - - .. deprecated:: 4.0 - Use ``request.connection`` and the `.HTTPConnection` methods - to write the response. - """ - self.connection.finish() - self._finish_time = time.time() - - def full_url(self): - """Reconstructs the full URL for this request.""" - return self.protocol + "://" + self.host + self.uri - - def request_time(self): - """Returns the amount of time it took for this request to execute.""" - if self._finish_time is None: - return time.time() - self._start_time - else: - return self._finish_time - self._start_time - - def get_ssl_certificate(self, binary_form=False): - """Returns the client's SSL certificate, if any. - - To use client certificates, the HTTPServer's - `ssl.SSLContext.verify_mode` field must be set, e.g.:: - - ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) - ssl_ctx.load_cert_chain("foo.crt", "foo.key") - ssl_ctx.load_verify_locations("cacerts.pem") - ssl_ctx.verify_mode = ssl.CERT_REQUIRED - server = HTTPServer(app, ssl_options=ssl_ctx) - - By default, the return value is a dictionary (or None, if no - client certificate is present). If ``binary_form`` is true, a - DER-encoded form of the certificate is returned instead. See - SSLSocket.getpeercert() in the standard library for more - details. - http://docs.python.org/library/ssl.html#sslsocket-objects - """ - try: - return self.connection.stream.socket.getpeercert( - binary_form=binary_form) - except SSLError: - return None - - def _parse_body(self): - parse_body_arguments( - self.headers.get("Content-Type", ""), self.body, - self.body_arguments, self.files, - self.headers) - - for k, v in self.body_arguments.items(): - self.arguments.setdefault(k, []).extend(v) - - def __repr__(self): - attrs = ("protocol", "host", "method", "uri", "version", "remote_ip") - args = ", ".join(["%s=%r" % (n, getattr(self, n)) for n in attrs]) - return "%s(%s, headers=%s)" % ( - self.__class__.__name__, args, dict(self.headers)) - - -class HTTPInputError(Exception): - """Exception class for malformed HTTP requests or responses - from remote sources. - - .. versionadded:: 4.0 - """ - pass - - -class HTTPOutputError(Exception): - """Exception class for errors in HTTP output. - - .. versionadded:: 4.0 - """ - pass - - -class HTTPServerConnectionDelegate(object): - """Implement this interface to handle requests from `.HTTPServer`. - - .. versionadded:: 4.0 - """ - def start_request(self, server_conn, request_conn): - """This method is called by the server when a new request has started. - - :arg server_conn: is an opaque object representing the long-lived - (e.g. tcp-level) connection. - :arg request_conn: is a `.HTTPConnection` object for a single - request/response exchange. - - This method should return a `.HTTPMessageDelegate`. - """ - raise NotImplementedError() - - def on_close(self, server_conn): - """This method is called when a connection has been closed. - - :arg server_conn: is a server connection that has previously been - passed to ``start_request``. - """ - pass - - -class HTTPMessageDelegate(object): - """Implement this interface to handle an HTTP request or response. - - .. versionadded:: 4.0 - """ - def headers_received(self, start_line, headers): - """Called when the HTTP headers have been received and parsed. - - :arg start_line: a `.RequestStartLine` or `.ResponseStartLine` - depending on whether this is a client or server message. - :arg headers: a `.HTTPHeaders` instance. - - Some `.HTTPConnection` methods can only be called during - ``headers_received``. - - May return a `.Future`; if it does the body will not be read - until it is done. - """ - pass - - def data_received(self, chunk): - """Called when a chunk of data has been received. - - May return a `.Future` for flow control. - """ - pass - - def finish(self): - """Called after the last chunk of data has been received.""" - pass - - def on_connection_close(self): - """Called if the connection is closed without finishing the request. - - If ``headers_received`` is called, either ``finish`` or - ``on_connection_close`` will be called, but not both. - """ - pass - - -class HTTPConnection(object): - """Applications use this interface to write their responses. - - .. versionadded:: 4.0 - """ - def write_headers(self, start_line, headers, chunk=None, callback=None): - """Write an HTTP header block. - - :arg start_line: a `.RequestStartLine` or `.ResponseStartLine`. - :arg headers: a `.HTTPHeaders` instance. - :arg chunk: the first (optional) chunk of data. This is an optimization - so that small responses can be written in the same call as their - headers. - :arg callback: a callback to be run when the write is complete. - - The ``version`` field of ``start_line`` is ignored. - - Returns a `.Future` if no callback is given. - """ - raise NotImplementedError() - - def write(self, chunk, callback=None): - """Writes a chunk of body data. - - The callback will be run when the write is complete. If no callback - is given, returns a Future. - """ - raise NotImplementedError() - - def finish(self): - """Indicates that the last body data has been written. - """ - raise NotImplementedError() - - -def url_concat(url, args): - """Concatenate url and arguments regardless of whether - url has existing query parameters. - - ``args`` may be either a dictionary or a list of key-value pairs - (the latter allows for multiple values with the same key. - - >>> url_concat("http://example.com/foo", dict(c="d")) - 'http://example.com/foo?c=d' - >>> url_concat("http://example.com/foo?a=b", dict(c="d")) - 'http://example.com/foo?a=b&c=d' - >>> url_concat("http://example.com/foo?a=b", [("c", "d"), ("c", "d2")]) - 'http://example.com/foo?a=b&c=d&c=d2' - """ - if not args: - return url - if url[-1] not in ('?', '&'): - url += '&' if ('?' in url) else '?' - return url + urlencode(args) - - -class HTTPFile(ObjectDict): - """Represents a file uploaded via a form. - - For backwards compatibility, its instance attributes are also - accessible as dictionary keys. - - * ``filename`` - * ``body`` - * ``content_type`` - """ - pass - - -def _parse_request_range(range_header): - """Parses a Range header. - - Returns either ``None`` or tuple ``(start, end)``. - Note that while the HTTP headers use inclusive byte positions, - this method returns indexes suitable for use in slices. - - >>> start, end = _parse_request_range("bytes=1-2") - >>> start, end - (1, 3) - >>> [0, 1, 2, 3, 4][start:end] - [1, 2] - >>> _parse_request_range("bytes=6-") - (6, None) - >>> _parse_request_range("bytes=-6") - (-6, None) - >>> _parse_request_range("bytes=-0") - (None, 0) - >>> _parse_request_range("bytes=") - (None, None) - >>> _parse_request_range("foo=42") - >>> _parse_request_range("bytes=1-2,6-10") - - Note: only supports one range (ex, ``bytes=1-2,6-10`` is not allowed). - - See [0] for the details of the range header. - - [0]: http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p5-range-latest.html#byte.ranges - """ - unit, _, value = range_header.partition("=") - unit, value = unit.strip(), value.strip() - if unit != "bytes": - return None - start_b, _, end_b = value.partition("-") - try: - start = _int_or_none(start_b) - end = _int_or_none(end_b) - except ValueError: - return None - if end is not None: - if start is None: - if end != 0: - start = -end - end = None - else: - end += 1 - return (start, end) - - -def _get_content_range(start, end, total): - """Returns a suitable Content-Range header: - - >>> print(_get_content_range(None, 1, 4)) - bytes 0-0/4 - >>> print(_get_content_range(1, 3, 4)) - bytes 1-2/4 - >>> print(_get_content_range(None, None, 4)) - bytes 0-3/4 - """ - start = start or 0 - end = (end or total) - 1 - return "bytes %s-%s/%s" % (start, end, total) - - -def _int_or_none(val): - val = val.strip() - if val == "": - return None - return int(val) - - -def parse_body_arguments(content_type, body, arguments, files, headers=None): - """Parses a form request body. - - Supports ``application/x-www-form-urlencoded`` and - ``multipart/form-data``. The ``content_type`` parameter should be - a string and ``body`` should be a byte string. The ``arguments`` - and ``files`` parameters are dictionaries that will be updated - with the parsed contents. - """ - if headers and 'Content-Encoding' in headers: - gen_log.warning("Unsupported Content-Encoding: %s", - headers['Content-Encoding']) - return - if content_type.startswith("application/x-www-form-urlencoded"): - try: - uri_arguments = parse_qs_bytes(native_str(body), keep_blank_values=True) - except Exception as e: - gen_log.warning('Invalid x-www-form-urlencoded body: %s', e) - uri_arguments = {} - for name, values in uri_arguments.items(): - if values: - arguments.setdefault(name, []).extend(values) - elif content_type.startswith("multipart/form-data"): - try: - fields = content_type.split(";") - for field in fields: - k, sep, v = field.strip().partition("=") - if k == "boundary" and v: - parse_multipart_form_data(utf8(v), body, arguments, files) - break - else: - raise ValueError("multipart boundary not found") - except Exception as e: - gen_log.warning("Invalid multipart/form-data: %s", e) - - -def parse_multipart_form_data(boundary, data, arguments, files): - """Parses a ``multipart/form-data`` body. - - The ``boundary`` and ``data`` parameters are both byte strings. - The dictionaries given in the arguments and files parameters - will be updated with the contents of the body. - """ - # The standard allows for the boundary to be quoted in the header, - # although it's rare (it happens at least for google app engine - # xmpp). I think we're also supposed to handle backslash-escapes - # here but I'll save that until we see a client that uses them - # in the wild. - if boundary.startswith(b'"') and boundary.endswith(b'"'): - boundary = boundary[1:-1] - final_boundary_index = data.rfind(b"--" + boundary + b"--") - if final_boundary_index == -1: - gen_log.warning("Invalid multipart/form-data: no final boundary") - return - parts = data[:final_boundary_index].split(b"--" + boundary + b"\r\n") - for part in parts: - if not part: - continue - eoh = part.find(b"\r\n\r\n") - if eoh == -1: - gen_log.warning("multipart/form-data missing headers") - continue - headers = HTTPHeaders.parse(part[:eoh].decode("utf-8")) - disp_header = headers.get("Content-Disposition", "") - disposition, disp_params = _parse_header(disp_header) - if disposition != "form-data" or not part.endswith(b"\r\n"): - gen_log.warning("Invalid multipart/form-data") - continue - value = part[eoh + 4:-2] - if not disp_params.get("name"): - gen_log.warning("multipart/form-data value missing name") - continue - name = disp_params["name"] - if disp_params.get("filename"): - ctype = headers.get("Content-Type", "application/unknown") - files.setdefault(name, []).append(HTTPFile( - filename=disp_params["filename"], body=value, - content_type=ctype)) - else: - arguments.setdefault(name, []).append(value) - - -def format_timestamp(ts): - """Formats a timestamp in the format used by HTTP. - - The argument may be a numeric timestamp as returned by `time.time`, - a time tuple as returned by `time.gmtime`, or a `datetime.datetime` - object. - - >>> format_timestamp(1359312200) - 'Sun, 27 Jan 2013 18:43:20 GMT' - """ - if isinstance(ts, numbers.Real): - pass - elif isinstance(ts, (tuple, time.struct_time)): - ts = calendar.timegm(ts) - elif isinstance(ts, datetime.datetime): - ts = calendar.timegm(ts.utctimetuple()) - else: - raise TypeError("unknown timestamp type: %r" % ts) - return email.utils.formatdate(ts, usegmt=True) - - -RequestStartLine = collections.namedtuple( - 'RequestStartLine', ['method', 'path', 'version']) - - -def parse_request_start_line(line): - """Returns a (method, path, version) tuple for an HTTP 1.x request line. - - The response is a `collections.namedtuple`. - - >>> parse_request_start_line("GET /foo HTTP/1.1") - RequestStartLine(method='GET', path='/foo', version='HTTP/1.1') - """ - try: - method, path, version = line.split(" ") - except ValueError: - raise HTTPInputError("Malformed HTTP request line") - if not re.match(r"^HTTP/1\.[0-9]$", version): - raise HTTPInputError( - "Malformed HTTP version in HTTP Request-Line: %r" % version) - return RequestStartLine(method, path, version) - - -ResponseStartLine = collections.namedtuple( - 'ResponseStartLine', ['version', 'code', 'reason']) - - -def parse_response_start_line(line): - """Returns a (version, code, reason) tuple for an HTTP 1.x response line. - - The response is a `collections.namedtuple`. - - >>> parse_response_start_line("HTTP/1.1 200 OK") - ResponseStartLine(version='HTTP/1.1', code=200, reason='OK') - """ - line = native_str(line) - match = re.match("(HTTP/1.[0-9]) ([0-9]+) ([^\r]*)", line) - if not match: - raise HTTPInputError("Error parsing response start line") - return ResponseStartLine(match.group(1), int(match.group(2)), - match.group(3)) - -# _parseparam and _parse_header are copied and modified from python2.7's cgi.py -# The original 2.7 version of this code did not correctly support some -# combinations of semicolons and double quotes. -# It has also been modified to support valueless parameters as seen in -# websocket extension negotiations. - - -def _parseparam(s): - while s[:1] == ';': - s = s[1:] - end = s.find(';') - while end > 0 and (s.count('"', 0, end) - s.count('\\"', 0, end)) % 2: - end = s.find(';', end + 1) - if end < 0: - end = len(s) - f = s[:end] - yield f.strip() - s = s[end:] - - -def _parse_header(line): - """Parse a Content-type like header. - - Return the main content-type and a dictionary of options. - - """ - parts = _parseparam(';' + line) - key = next(parts) - pdict = {} - for p in parts: - i = p.find('=') - if i >= 0: - name = p[:i].strip().lower() - value = p[i + 1:].strip() - if len(value) >= 2 and value[0] == value[-1] == '"': - value = value[1:-1] - value = value.replace('\\\\', '\\').replace('\\"', '"') - pdict[name] = value - else: - pdict[p] = None - return key, pdict - - -def _encode_header(key, pdict): - """Inverse of _parse_header. - - >>> _encode_header('permessage-deflate', - ... {'client_max_window_bits': 15, 'client_no_context_takeover': None}) - 'permessage-deflate; client_max_window_bits=15; client_no_context_takeover' - """ - if not pdict: - return key - out = [key] - # Sort the parameters just to make it easy to test. - for k, v in sorted(pdict.items()): - if v is None: - out.append(k) - else: - # TODO: quote if necessary. - out.append('%s=%s' % (k, v)) - return '; '.join(out) - - -def doctests(): - import doctest - return doctest.DocTestSuite() - - -def split_host_and_port(netloc): - """Returns ``(host, port)`` tuple from ``netloc``. - - Returned ``port`` will be ``None`` if not present. - - .. versionadded:: 4.1 - """ - match = re.match(r'^(.+):(\d+)$', netloc) - if match: - host = match.group(1) - port = int(match.group(2)) - else: - host = netloc - port = None - return (host, port) diff --git a/lib27/site-packages/tornado/ioloop.py b/lib27/site-packages/tornado/ioloop.py deleted file mode 100644 index c23cb33e4..000000000 --- a/lib27/site-packages/tornado/ioloop.py +++ /dev/null @@ -1,1053 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""An I/O event loop for non-blocking sockets. - -Typical applications will use a single `IOLoop` object, in the -`IOLoop.instance` singleton. The `IOLoop.start` method should usually -be called at the end of the ``main()`` function. Atypical applications may -use more than one `IOLoop`, such as one `IOLoop` per thread, or per `unittest` -case. - -In addition to I/O events, the `IOLoop` can also schedule time-based events. -`IOLoop.add_timeout` is a non-blocking alternative to `time.sleep`. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import datetime -import errno -import functools -import heapq -import itertools -import logging -import numbers -import os -import select -import sys -import threading -import time -import traceback -import math - -from tornado.concurrent import TracebackFuture, is_future -from tornado.log import app_log, gen_log -from tornado import stack_context -from tornado.util import Configurable, errno_from_exception, timedelta_to_seconds - -try: - import signal -except ImportError: - signal = None - -try: - import thread # py2 -except ImportError: - import _thread as thread # py3 - -from tornado.platform.auto import set_close_exec, Waker - - -_POLL_TIMEOUT = 3600.0 - - -class TimeoutError(Exception): - pass - - -class IOLoop(Configurable): - """A level-triggered I/O loop. - - We use ``epoll`` (Linux) or ``kqueue`` (BSD and Mac OS X) if they - are available, or else we fall back on select(). If you are - implementing a system that needs to handle thousands of - simultaneous connections, you should use a system that supports - either ``epoll`` or ``kqueue``. - - Example usage for a simple TCP server: - - .. testcode:: - - import errno - import functools - import tornado.ioloop - import socket - - def connection_ready(sock, fd, events): - while True: - try: - connection, address = sock.accept() - except socket.error as e: - if e.args[0] not in (errno.EWOULDBLOCK, errno.EAGAIN): - raise - return - connection.setblocking(0) - handle_connection(connection, address) - - if __name__ == '__main__': - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) - sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - sock.setblocking(0) - sock.bind(("", port)) - sock.listen(128) - - io_loop = tornado.ioloop.IOLoop.current() - callback = functools.partial(connection_ready, sock) - io_loop.add_handler(sock.fileno(), callback, io_loop.READ) - io_loop.start() - - .. testoutput:: - :hide: - - By default, a newly-constructed `IOLoop` becomes the thread's current - `IOLoop`, unless there already is a current `IOLoop`. This behavior - can be controlled with the ``make_current`` argument to the `IOLoop` - constructor: if ``make_current=True``, the new `IOLoop` will always - try to become current and it raises an error if there is already a - current instance. If ``make_current=False``, the new `IOLoop` will - not try to become current. - - .. versionchanged:: 4.2 - Added the ``make_current`` keyword argument to the `IOLoop` - constructor. - """ - # Constants from the epoll module - _EPOLLIN = 0x001 - _EPOLLPRI = 0x002 - _EPOLLOUT = 0x004 - _EPOLLERR = 0x008 - _EPOLLHUP = 0x010 - _EPOLLRDHUP = 0x2000 - _EPOLLONESHOT = (1 << 30) - _EPOLLET = (1 << 31) - - # Our events map exactly to the epoll events - NONE = 0 - READ = _EPOLLIN - WRITE = _EPOLLOUT - ERROR = _EPOLLERR | _EPOLLHUP - - # Global lock for creating global IOLoop instance - _instance_lock = threading.Lock() - - _current = threading.local() - - @staticmethod - def instance(): - """Returns a global `IOLoop` instance. - - Most applications have a single, global `IOLoop` running on the - main thread. Use this method to get this instance from - another thread. In most other cases, it is better to use `current()` - to get the current thread's `IOLoop`. - """ - if not hasattr(IOLoop, "_instance"): - with IOLoop._instance_lock: - if not hasattr(IOLoop, "_instance"): - # New instance after double check - IOLoop._instance = IOLoop() - return IOLoop._instance - - @staticmethod - def initialized(): - """Returns true if the singleton instance has been created.""" - return hasattr(IOLoop, "_instance") - - def install(self): - """Installs this `IOLoop` object as the singleton instance. - - This is normally not necessary as `instance()` will create - an `IOLoop` on demand, but you may want to call `install` to use - a custom subclass of `IOLoop`. - """ - assert not IOLoop.initialized() - IOLoop._instance = self - - @staticmethod - def clear_instance(): - """Clear the global `IOLoop` instance. - - .. versionadded:: 4.0 - """ - if hasattr(IOLoop, "_instance"): - del IOLoop._instance - - @staticmethod - def current(instance=True): - """Returns the current thread's `IOLoop`. - - If an `IOLoop` is currently running or has been marked as - current by `make_current`, returns that instance. If there is - no current `IOLoop`, returns `IOLoop.instance()` (i.e. the - main thread's `IOLoop`, creating one if necessary) if ``instance`` - is true. - - In general you should use `IOLoop.current` as the default when - constructing an asynchronous object, and use `IOLoop.instance` - when you mean to communicate to the main thread from a different - one. - - .. versionchanged:: 4.1 - Added ``instance`` argument to control the fallback to - `IOLoop.instance()`. - """ - current = getattr(IOLoop._current, "instance", None) - if current is None and instance: - return IOLoop.instance() - return current - - def make_current(self): - """Makes this the `IOLoop` for the current thread. - - An `IOLoop` automatically becomes current for its thread - when it is started, but it is sometimes useful to call - `make_current` explicitly before starting the `IOLoop`, - so that code run at startup time can find the right - instance. - - .. versionchanged:: 4.1 - An `IOLoop` created while there is no current `IOLoop` - will automatically become current. - """ - IOLoop._current.instance = self - - @staticmethod - def clear_current(): - IOLoop._current.instance = None - - @classmethod - def configurable_base(cls): - return IOLoop - - @classmethod - def configurable_default(cls): - if hasattr(select, "epoll"): - from tornado.platform.epoll import EPollIOLoop - return EPollIOLoop - if hasattr(select, "kqueue"): - # Python 2.6+ on BSD or Mac - from tornado.platform.kqueue import KQueueIOLoop - return KQueueIOLoop - from tornado.platform.select import SelectIOLoop - return SelectIOLoop - - def initialize(self, make_current=None): - if make_current is None: - if IOLoop.current(instance=False) is None: - self.make_current() - elif make_current: - if IOLoop.current(instance=False) is not None: - raise RuntimeError("current IOLoop already exists") - self.make_current() - - def close(self, all_fds=False): - """Closes the `IOLoop`, freeing any resources used. - - If ``all_fds`` is true, all file descriptors registered on the - IOLoop will be closed (not just the ones created by the - `IOLoop` itself). - - Many applications will only use a single `IOLoop` that runs for the - entire lifetime of the process. In that case closing the `IOLoop` - is not necessary since everything will be cleaned up when the - process exits. `IOLoop.close` is provided mainly for scenarios - such as unit tests, which create and destroy a large number of - ``IOLoops``. - - An `IOLoop` must be completely stopped before it can be closed. This - means that `IOLoop.stop()` must be called *and* `IOLoop.start()` must - be allowed to return before attempting to call `IOLoop.close()`. - Therefore the call to `close` will usually appear just after - the call to `start` rather than near the call to `stop`. - - .. versionchanged:: 3.1 - If the `IOLoop` implementation supports non-integer objects - for "file descriptors", those objects will have their - ``close`` method when ``all_fds`` is true. - """ - raise NotImplementedError() - - def add_handler(self, fd, handler, events): - """Registers the given handler to receive the given events for ``fd``. - - The ``fd`` argument may either be an integer file descriptor or - a file-like object with a ``fileno()`` method (and optionally a - ``close()`` method, which may be called when the `IOLoop` is shut - down). - - The ``events`` argument is a bitwise or of the constants - ``IOLoop.READ``, ``IOLoop.WRITE``, and ``IOLoop.ERROR``. - - When an event occurs, ``handler(fd, events)`` will be run. - - .. versionchanged:: 4.0 - Added the ability to pass file-like objects in addition to - raw file descriptors. - """ - raise NotImplementedError() - - def update_handler(self, fd, events): - """Changes the events we listen for ``fd``. - - .. versionchanged:: 4.0 - Added the ability to pass file-like objects in addition to - raw file descriptors. - """ - raise NotImplementedError() - - def remove_handler(self, fd): - """Stop listening for events on ``fd``. - - .. versionchanged:: 4.0 - Added the ability to pass file-like objects in addition to - raw file descriptors. - """ - raise NotImplementedError() - - def set_blocking_signal_threshold(self, seconds, action): - """Sends a signal if the `IOLoop` is blocked for more than - ``s`` seconds. - - Pass ``seconds=None`` to disable. Requires Python 2.6 on a unixy - platform. - - The action parameter is a Python signal handler. Read the - documentation for the `signal` module for more information. - If ``action`` is None, the process will be killed if it is - blocked for too long. - """ - raise NotImplementedError() - - def set_blocking_log_threshold(self, seconds): - """Logs a stack trace if the `IOLoop` is blocked for more than - ``s`` seconds. - - Equivalent to ``set_blocking_signal_threshold(seconds, - self.log_stack)`` - """ - self.set_blocking_signal_threshold(seconds, self.log_stack) - - def log_stack(self, signal, frame): - """Signal handler to log the stack trace of the current thread. - - For use with `set_blocking_signal_threshold`. - """ - gen_log.warning('IOLoop blocked for %f seconds in\n%s', - self._blocking_signal_threshold, - ''.join(traceback.format_stack(frame))) - - def start(self): - """Starts the I/O loop. - - The loop will run until one of the callbacks calls `stop()`, which - will make the loop stop after the current event iteration completes. - """ - raise NotImplementedError() - - def _setup_logging(self): - """The IOLoop catches and logs exceptions, so it's - important that log output be visible. However, python's - default behavior for non-root loggers (prior to python - 3.2) is to print an unhelpful "no handlers could be - found" message rather than the actual log entry, so we - must explicitly configure logging if we've made it this - far without anything. - - This method should be called from start() in subclasses. - """ - if not any([logging.getLogger().handlers, - logging.getLogger('tornado').handlers, - logging.getLogger('tornado.application').handlers]): - logging.basicConfig() - - def stop(self): - """Stop the I/O loop. - - If the event loop is not currently running, the next call to `start()` - will return immediately. - - To use asynchronous methods from otherwise-synchronous code (such as - unit tests), you can start and stop the event loop like this:: - - ioloop = IOLoop() - async_method(ioloop=ioloop, callback=ioloop.stop) - ioloop.start() - - ``ioloop.start()`` will return after ``async_method`` has run - its callback, whether that callback was invoked before or - after ``ioloop.start``. - - Note that even after `stop` has been called, the `IOLoop` is not - completely stopped until `IOLoop.start` has also returned. - Some work that was scheduled before the call to `stop` may still - be run before the `IOLoop` shuts down. - """ - raise NotImplementedError() - - def run_sync(self, func, timeout=None): - """Starts the `IOLoop`, runs the given function, and stops the loop. - - The function must return either a yieldable object or - ``None``. If the function returns a yieldable object, the - `IOLoop` will run until the yieldable is resolved (and - `run_sync()` will return the yieldable's result). If it raises - an exception, the `IOLoop` will stop and the exception will be - re-raised to the caller. - - The keyword-only argument ``timeout`` may be used to set - a maximum duration for the function. If the timeout expires, - a `TimeoutError` is raised. - - This method is useful in conjunction with `tornado.gen.coroutine` - to allow asynchronous calls in a ``main()`` function:: - - @gen.coroutine - def main(): - # do stuff... - - if __name__ == '__main__': - IOLoop.current().run_sync(main) - - .. versionchanged:: 4.3 - Returning a non-``None``, non-yieldable value is now an error. - """ - future_cell = [None] - - def run(): - try: - result = func() - if result is not None: - from tornado.gen import convert_yielded - result = convert_yielded(result) - except Exception: - future_cell[0] = TracebackFuture() - future_cell[0].set_exc_info(sys.exc_info()) - else: - if is_future(result): - future_cell[0] = result - else: - future_cell[0] = TracebackFuture() - future_cell[0].set_result(result) - self.add_future(future_cell[0], lambda future: self.stop()) - self.add_callback(run) - if timeout is not None: - timeout_handle = self.add_timeout(self.time() + timeout, self.stop) - self.start() - if timeout is not None: - self.remove_timeout(timeout_handle) - if not future_cell[0].done(): - raise TimeoutError('Operation timed out after %s seconds' % timeout) - return future_cell[0].result() - - def time(self): - """Returns the current time according to the `IOLoop`'s clock. - - The return value is a floating-point number relative to an - unspecified time in the past. - - By default, the `IOLoop`'s time function is `time.time`. However, - it may be configured to use e.g. `time.monotonic` instead. - Calls to `add_timeout` that pass a number instead of a - `datetime.timedelta` should use this function to compute the - appropriate time, so they can work no matter what time function - is chosen. - """ - return time.time() - - def add_timeout(self, deadline, callback, *args, **kwargs): - """Runs the ``callback`` at the time ``deadline`` from the I/O loop. - - Returns an opaque handle that may be passed to - `remove_timeout` to cancel. - - ``deadline`` may be a number denoting a time (on the same - scale as `IOLoop.time`, normally `time.time`), or a - `datetime.timedelta` object for a deadline relative to the - current time. Since Tornado 4.0, `call_later` is a more - convenient alternative for the relative case since it does not - require a timedelta object. - - Note that it is not safe to call `add_timeout` from other threads. - Instead, you must use `add_callback` to transfer control to the - `IOLoop`'s thread, and then call `add_timeout` from there. - - Subclasses of IOLoop must implement either `add_timeout` or - `call_at`; the default implementations of each will call - the other. `call_at` is usually easier to implement, but - subclasses that wish to maintain compatibility with Tornado - versions prior to 4.0 must use `add_timeout` instead. - - .. versionchanged:: 4.0 - Now passes through ``*args`` and ``**kwargs`` to the callback. - """ - if isinstance(deadline, numbers.Real): - return self.call_at(deadline, callback, *args, **kwargs) - elif isinstance(deadline, datetime.timedelta): - return self.call_at(self.time() + timedelta_to_seconds(deadline), - callback, *args, **kwargs) - else: - raise TypeError("Unsupported deadline %r" % deadline) - - def call_later(self, delay, callback, *args, **kwargs): - """Runs the ``callback`` after ``delay`` seconds have passed. - - Returns an opaque handle that may be passed to `remove_timeout` - to cancel. Note that unlike the `asyncio` method of the same - name, the returned object does not have a ``cancel()`` method. - - See `add_timeout` for comments on thread-safety and subclassing. - - .. versionadded:: 4.0 - """ - return self.call_at(self.time() + delay, callback, *args, **kwargs) - - def call_at(self, when, callback, *args, **kwargs): - """Runs the ``callback`` at the absolute time designated by ``when``. - - ``when`` must be a number using the same reference point as - `IOLoop.time`. - - Returns an opaque handle that may be passed to `remove_timeout` - to cancel. Note that unlike the `asyncio` method of the same - name, the returned object does not have a ``cancel()`` method. - - See `add_timeout` for comments on thread-safety and subclassing. - - .. versionadded:: 4.0 - """ - return self.add_timeout(when, callback, *args, **kwargs) - - def remove_timeout(self, timeout): - """Cancels a pending timeout. - - The argument is a handle as returned by `add_timeout`. It is - safe to call `remove_timeout` even if the callback has already - been run. - """ - raise NotImplementedError() - - def add_callback(self, callback, *args, **kwargs): - """Calls the given callback on the next I/O loop iteration. - - It is safe to call this method from any thread at any time, - except from a signal handler. Note that this is the **only** - method in `IOLoop` that makes this thread-safety guarantee; all - other interaction with the `IOLoop` must be done from that - `IOLoop`'s thread. `add_callback()` may be used to transfer - control from other threads to the `IOLoop`'s thread. - - To add a callback from a signal handler, see - `add_callback_from_signal`. - """ - raise NotImplementedError() - - def add_callback_from_signal(self, callback, *args, **kwargs): - """Calls the given callback on the next I/O loop iteration. - - Safe for use from a Python signal handler; should not be used - otherwise. - - Callbacks added with this method will be run without any - `.stack_context`, to avoid picking up the context of the function - that was interrupted by the signal. - """ - raise NotImplementedError() - - def spawn_callback(self, callback, *args, **kwargs): - """Calls the given callback on the next IOLoop iteration. - - Unlike all other callback-related methods on IOLoop, - ``spawn_callback`` does not associate the callback with its caller's - ``stack_context``, so it is suitable for fire-and-forget callbacks - that should not interfere with the caller. - - .. versionadded:: 4.0 - """ - with stack_context.NullContext(): - self.add_callback(callback, *args, **kwargs) - - def add_future(self, future, callback): - """Schedules a callback on the ``IOLoop`` when the given - `.Future` is finished. - - The callback is invoked with one argument, the - `.Future`. - """ - assert is_future(future) - callback = stack_context.wrap(callback) - future.add_done_callback( - lambda future: self.add_callback(callback, future)) - - def _run_callback(self, callback): - """Runs a callback with error handling. - - For use in subclasses. - """ - try: - ret = callback() - if ret is not None: - from tornado import gen - # Functions that return Futures typically swallow all - # exceptions and store them in the Future. If a Future - # makes it out to the IOLoop, ensure its exception (if any) - # gets logged too. - try: - ret = gen.convert_yielded(ret) - except gen.BadYieldError: - # It's not unusual for add_callback to be used with - # methods returning a non-None and non-yieldable - # result, which should just be ignored. - pass - else: - self.add_future(ret, lambda f: f.result()) - except Exception: - self.handle_callback_exception(callback) - - def handle_callback_exception(self, callback): - """This method is called whenever a callback run by the `IOLoop` - throws an exception. - - By default simply logs the exception as an error. Subclasses - may override this method to customize reporting of exceptions. - - The exception itself is not passed explicitly, but is available - in `sys.exc_info`. - """ - app_log.error("Exception in callback %r", callback, exc_info=True) - - def split_fd(self, fd): - """Returns an (fd, obj) pair from an ``fd`` parameter. - - We accept both raw file descriptors and file-like objects as - input to `add_handler` and related methods. When a file-like - object is passed, we must retain the object itself so we can - close it correctly when the `IOLoop` shuts down, but the - poller interfaces favor file descriptors (they will accept - file-like objects and call ``fileno()`` for you, but they - always return the descriptor itself). - - This method is provided for use by `IOLoop` subclasses and should - not generally be used by application code. - - .. versionadded:: 4.0 - """ - try: - return fd.fileno(), fd - except AttributeError: - return fd, fd - - def close_fd(self, fd): - """Utility method to close an ``fd``. - - If ``fd`` is a file-like object, we close it directly; otherwise - we use `os.close`. - - This method is provided for use by `IOLoop` subclasses (in - implementations of ``IOLoop.close(all_fds=True)`` and should - not generally be used by application code. - - .. versionadded:: 4.0 - """ - try: - try: - fd.close() - except AttributeError: - os.close(fd) - except OSError: - pass - - -class PollIOLoop(IOLoop): - """Base class for IOLoops built around a select-like function. - - For concrete implementations, see `tornado.platform.epoll.EPollIOLoop` - (Linux), `tornado.platform.kqueue.KQueueIOLoop` (BSD and Mac), or - `tornado.platform.select.SelectIOLoop` (all platforms). - """ - def initialize(self, impl, time_func=None, **kwargs): - super(PollIOLoop, self).initialize(**kwargs) - self._impl = impl - if hasattr(self._impl, 'fileno'): - set_close_exec(self._impl.fileno()) - self.time_func = time_func or time.time - self._handlers = {} - self._events = {} - self._callbacks = [] - self._callback_lock = threading.Lock() - self._timeouts = [] - self._cancellations = 0 - self._running = False - self._stopped = False - self._closing = False - self._thread_ident = None - self._blocking_signal_threshold = None - self._timeout_counter = itertools.count() - - # Create a pipe that we send bogus data to when we want to wake - # the I/O loop when it is idle - self._waker = Waker() - self.add_handler(self._waker.fileno(), - lambda fd, events: self._waker.consume(), - self.READ) - - def close(self, all_fds=False): - with self._callback_lock: - self._closing = True - self.remove_handler(self._waker.fileno()) - if all_fds: - for fd, handler in self._handlers.values(): - self.close_fd(fd) - self._waker.close() - self._impl.close() - self._callbacks = None - self._timeouts = None - - def add_handler(self, fd, handler, events): - fd, obj = self.split_fd(fd) - self._handlers[fd] = (obj, stack_context.wrap(handler)) - self._impl.register(fd, events | self.ERROR) - - def update_handler(self, fd, events): - fd, obj = self.split_fd(fd) - self._impl.modify(fd, events | self.ERROR) - - def remove_handler(self, fd): - fd, obj = self.split_fd(fd) - self._handlers.pop(fd, None) - self._events.pop(fd, None) - try: - self._impl.unregister(fd) - except Exception: - gen_log.debug("Error deleting fd from IOLoop", exc_info=True) - - def set_blocking_signal_threshold(self, seconds, action): - if not hasattr(signal, "setitimer"): - gen_log.error("set_blocking_signal_threshold requires a signal module " - "with the setitimer method") - return - self._blocking_signal_threshold = seconds - if seconds is not None: - signal.signal(signal.SIGALRM, - action if action is not None else signal.SIG_DFL) - - def start(self): - if self._running: - raise RuntimeError("IOLoop is already running") - self._setup_logging() - if self._stopped: - self._stopped = False - return - old_current = getattr(IOLoop._current, "instance", None) - IOLoop._current.instance = self - self._thread_ident = thread.get_ident() - self._running = True - - # signal.set_wakeup_fd closes a race condition in event loops: - # a signal may arrive at the beginning of select/poll/etc - # before it goes into its interruptible sleep, so the signal - # will be consumed without waking the select. The solution is - # for the (C, synchronous) signal handler to write to a pipe, - # which will then be seen by select. - # - # In python's signal handling semantics, this only matters on the - # main thread (fortunately, set_wakeup_fd only works on the main - # thread and will raise a ValueError otherwise). - # - # If someone has already set a wakeup fd, we don't want to - # disturb it. This is an issue for twisted, which does its - # SIGCHLD processing in response to its own wakeup fd being - # written to. As long as the wakeup fd is registered on the IOLoop, - # the loop will still wake up and everything should work. - old_wakeup_fd = None - if hasattr(signal, 'set_wakeup_fd') and os.name == 'posix': - # requires python 2.6+, unix. set_wakeup_fd exists but crashes - # the python process on windows. - try: - old_wakeup_fd = signal.set_wakeup_fd(self._waker.write_fileno()) - if old_wakeup_fd != -1: - # Already set, restore previous value. This is a little racy, - # but there's no clean get_wakeup_fd and in real use the - # IOLoop is just started once at the beginning. - signal.set_wakeup_fd(old_wakeup_fd) - old_wakeup_fd = None - except ValueError: - # Non-main thread, or the previous value of wakeup_fd - # is no longer valid. - old_wakeup_fd = None - - try: - while True: - # Prevent IO event starvation by delaying new callbacks - # to the next iteration of the event loop. - with self._callback_lock: - callbacks = self._callbacks - self._callbacks = [] - - # Add any timeouts that have come due to the callback list. - # Do not run anything until we have determined which ones - # are ready, so timeouts that call add_timeout cannot - # schedule anything in this iteration. - due_timeouts = [] - if self._timeouts: - now = self.time() - while self._timeouts: - if self._timeouts[0].callback is None: - # The timeout was cancelled. Note that the - # cancellation check is repeated below for timeouts - # that are cancelled by another timeout or callback. - heapq.heappop(self._timeouts) - self._cancellations -= 1 - elif self._timeouts[0].deadline <= now: - due_timeouts.append(heapq.heappop(self._timeouts)) - else: - break - if (self._cancellations > 512 - and self._cancellations > (len(self._timeouts) >> 1)): - # Clean up the timeout queue when it gets large and it's - # more than half cancellations. - self._cancellations = 0 - self._timeouts = [x for x in self._timeouts - if x.callback is not None] - heapq.heapify(self._timeouts) - - for callback in callbacks: - self._run_callback(callback) - for timeout in due_timeouts: - if timeout.callback is not None: - self._run_callback(timeout.callback) - # Closures may be holding on to a lot of memory, so allow - # them to be freed before we go into our poll wait. - callbacks = callback = due_timeouts = timeout = None - - if self._callbacks: - # If any callbacks or timeouts called add_callback, - # we don't want to wait in poll() before we run them. - poll_timeout = 0.0 - elif self._timeouts: - # If there are any timeouts, schedule the first one. - # Use self.time() instead of 'now' to account for time - # spent running callbacks. - poll_timeout = self._timeouts[0].deadline - self.time() - poll_timeout = max(0, min(poll_timeout, _POLL_TIMEOUT)) - else: - # No timeouts and no callbacks, so use the default. - poll_timeout = _POLL_TIMEOUT - - if not self._running: - break - - if self._blocking_signal_threshold is not None: - # clear alarm so it doesn't fire while poll is waiting for - # events. - signal.setitimer(signal.ITIMER_REAL, 0, 0) - - try: - event_pairs = self._impl.poll(poll_timeout) - except Exception as e: - # Depending on python version and IOLoop implementation, - # different exception types may be thrown and there are - # two ways EINTR might be signaled: - # * e.errno == errno.EINTR - # * e.args is like (errno.EINTR, 'Interrupted system call') - if errno_from_exception(e) == errno.EINTR: - continue - else: - raise - - if self._blocking_signal_threshold is not None: - signal.setitimer(signal.ITIMER_REAL, - self._blocking_signal_threshold, 0) - - # Pop one fd at a time from the set of pending fds and run - # its handler. Since that handler may perform actions on - # other file descriptors, there may be reentrant calls to - # this IOLoop that update self._events - self._events.update(event_pairs) - while self._events: - fd, events = self._events.popitem() - try: - fd_obj, handler_func = self._handlers[fd] - handler_func(fd_obj, events) - except (OSError, IOError) as e: - if errno_from_exception(e) == errno.EPIPE: - # Happens when the client closes the connection - pass - else: - self.handle_callback_exception(self._handlers.get(fd)) - except Exception: - self.handle_callback_exception(self._handlers.get(fd)) - fd_obj = handler_func = None - - finally: - # reset the stopped flag so another start/stop pair can be issued - self._stopped = False - if self._blocking_signal_threshold is not None: - signal.setitimer(signal.ITIMER_REAL, 0, 0) - IOLoop._current.instance = old_current - if old_wakeup_fd is not None: - signal.set_wakeup_fd(old_wakeup_fd) - - def stop(self): - self._running = False - self._stopped = True - self._waker.wake() - - def time(self): - return self.time_func() - - def call_at(self, deadline, callback, *args, **kwargs): - timeout = _Timeout( - deadline, - functools.partial(stack_context.wrap(callback), *args, **kwargs), - self) - heapq.heappush(self._timeouts, timeout) - return timeout - - def remove_timeout(self, timeout): - # Removing from a heap is complicated, so just leave the defunct - # timeout object in the queue (see discussion in - # http://docs.python.org/library/heapq.html). - # If this turns out to be a problem, we could add a garbage - # collection pass whenever there are too many dead timeouts. - timeout.callback = None - self._cancellations += 1 - - def add_callback(self, callback, *args, **kwargs): - if thread.get_ident() != self._thread_ident: - # If we're not on the IOLoop's thread, we need to synchronize - # with other threads, or waking logic will induce a race. - with self._callback_lock: - if self._closing: - return - list_empty = not self._callbacks - self._callbacks.append(functools.partial( - stack_context.wrap(callback), *args, **kwargs)) - if list_empty: - # If we're not in the IOLoop's thread, and we added the - # first callback to an empty list, we may need to wake it - # up (it may wake up on its own, but an occasional extra - # wake is harmless). Waking up a polling IOLoop is - # relatively expensive, so we try to avoid it when we can. - self._waker.wake() - else: - if self._closing: - return - # If we're on the IOLoop's thread, we don't need the lock, - # since we don't need to wake anyone, just add the - # callback. Blindly insert into self._callbacks. This is - # safe even from signal handlers because the GIL makes - # list.append atomic. One subtlety is that if the signal - # is interrupting another thread holding the - # _callback_lock block in IOLoop.start, we may modify - # either the old or new version of self._callbacks, but - # either way will work. - self._callbacks.append(functools.partial( - stack_context.wrap(callback), *args, **kwargs)) - - def add_callback_from_signal(self, callback, *args, **kwargs): - with stack_context.NullContext(): - self.add_callback(callback, *args, **kwargs) - - -class _Timeout(object): - """An IOLoop timeout, a UNIX timestamp and a callback""" - - # Reduce memory overhead when there are lots of pending callbacks - __slots__ = ['deadline', 'callback', 'tiebreaker'] - - def __init__(self, deadline, callback, io_loop): - if not isinstance(deadline, numbers.Real): - raise TypeError("Unsupported deadline %r" % deadline) - self.deadline = deadline - self.callback = callback - self.tiebreaker = next(io_loop._timeout_counter) - - # Comparison methods to sort by deadline, with object id as a tiebreaker - # to guarantee a consistent ordering. The heapq module uses __le__ - # in python2.5, and __lt__ in 2.6+ (sort() and most other comparisons - # use __lt__). - def __lt__(self, other): - return ((self.deadline, self.tiebreaker) < - (other.deadline, other.tiebreaker)) - - def __le__(self, other): - return ((self.deadline, self.tiebreaker) <= - (other.deadline, other.tiebreaker)) - - -class PeriodicCallback(object): - """Schedules the given callback to be called periodically. - - The callback is called every ``callback_time`` milliseconds. - Note that the timeout is given in milliseconds, while most other - time-related functions in Tornado use seconds. - - If the callback runs for longer than ``callback_time`` milliseconds, - subsequent invocations will be skipped to get back on schedule. - - `start` must be called after the `PeriodicCallback` is created. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - def __init__(self, callback, callback_time, io_loop=None): - self.callback = callback - if callback_time <= 0: - raise ValueError("Periodic callback must have a positive callback_time") - self.callback_time = callback_time - self.io_loop = io_loop or IOLoop.current() - self._running = False - self._timeout = None - - def start(self): - """Starts the timer.""" - self._running = True - self._next_timeout = self.io_loop.time() - self._schedule_next() - - def stop(self): - """Stops the timer.""" - self._running = False - if self._timeout is not None: - self.io_loop.remove_timeout(self._timeout) - self._timeout = None - - def is_running(self): - """Return True if this `.PeriodicCallback` has been started. - - .. versionadded:: 4.1 - """ - return self._running - - def _run(self): - if not self._running: - return - try: - return self.callback() - except Exception: - self.io_loop.handle_callback_exception(self.callback) - finally: - self._schedule_next() - - def _schedule_next(self): - if self._running: - current_time = self.io_loop.time() - - if self._next_timeout <= current_time: - callback_time_sec = self.callback_time / 1000.0 - self._next_timeout += (math.floor((current_time - self._next_timeout) / callback_time_sec) + 1) * callback_time_sec - - self._timeout = self.io_loop.add_timeout(self._next_timeout, self._run) diff --git a/lib27/site-packages/tornado/iostream.py b/lib27/site-packages/tornado/iostream.py deleted file mode 100644 index 4e304f890..000000000 --- a/lib27/site-packages/tornado/iostream.py +++ /dev/null @@ -1,1550 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""Utility classes to write to and read from non-blocking files and sockets. - -Contents: - -* `BaseIOStream`: Generic interface for reading and writing. -* `IOStream`: Implementation of BaseIOStream using non-blocking sockets. -* `SSLIOStream`: SSL-aware version of IOStream. -* `PipeIOStream`: Pipe-based IOStream implementation. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import collections -import errno -import numbers -import os -import socket -import sys -import re - -from tornado.concurrent import TracebackFuture -from tornado import ioloop -from tornado.log import gen_log, app_log -from tornado.netutil import ssl_wrap_socket, ssl_match_hostname, SSLCertificateError, _client_ssl_defaults, _server_ssl_defaults -from tornado import stack_context -from tornado.util import errno_from_exception - -try: - from tornado.platform.posix import _set_nonblocking -except ImportError: - _set_nonblocking = None - -try: - import ssl -except ImportError: - # ssl is not available on Google App Engine - ssl = None - -# These errnos indicate that a non-blocking operation must be retried -# at a later time. On most platforms they're the same value, but on -# some they differ. -_ERRNO_WOULDBLOCK = (errno.EWOULDBLOCK, errno.EAGAIN) - -if hasattr(errno, "WSAEWOULDBLOCK"): - _ERRNO_WOULDBLOCK += (errno.WSAEWOULDBLOCK,) - -# These errnos indicate that a connection has been abruptly terminated. -# They should be caught and handled less noisily than other errors. -_ERRNO_CONNRESET = (errno.ECONNRESET, errno.ECONNABORTED, errno.EPIPE, - errno.ETIMEDOUT) - -if hasattr(errno, "WSAECONNRESET"): - _ERRNO_CONNRESET += (errno.WSAECONNRESET, errno.WSAECONNABORTED, errno.WSAETIMEDOUT) - -if sys.platform == 'darwin': - # OSX appears to have a race condition that causes send(2) to return - # EPROTOTYPE if called while a socket is being torn down: - # http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ - # Since the socket is being closed anyway, treat this as an ECONNRESET - # instead of an unexpected error. - _ERRNO_CONNRESET += (errno.EPROTOTYPE,) - -# More non-portable errnos: -_ERRNO_INPROGRESS = (errno.EINPROGRESS,) - -if hasattr(errno, "WSAEINPROGRESS"): - _ERRNO_INPROGRESS += (errno.WSAEINPROGRESS,) - - -class StreamClosedError(IOError): - """Exception raised by `IOStream` methods when the stream is closed. - - Note that the close callback is scheduled to run *after* other - callbacks on the stream (to allow for buffered data to be processed), - so you may see this error before you see the close callback. - - The ``real_error`` attribute contains the underlying error that caused - the stream to close (if any). - - .. versionchanged:: 4.3 - Added the ``real_error`` attribute. - """ - def __init__(self, real_error=None): - super(StreamClosedError, self).__init__('Stream is closed') - self.real_error = real_error - - -class UnsatisfiableReadError(Exception): - """Exception raised when a read cannot be satisfied. - - Raised by ``read_until`` and ``read_until_regex`` with a ``max_bytes`` - argument. - """ - pass - - -class StreamBufferFullError(Exception): - """Exception raised by `IOStream` methods when the buffer is full. - """ - - -class BaseIOStream(object): - """A utility class to write to and read from a non-blocking file or socket. - - We support a non-blocking ``write()`` and a family of ``read_*()`` methods. - All of the methods take an optional ``callback`` argument and return a - `.Future` only if no callback is given. When the operation completes, - the callback will be run or the `.Future` will resolve with the data - read (or ``None`` for ``write()``). All outstanding ``Futures`` will - resolve with a `StreamClosedError` when the stream is closed; users - of the callback interface will be notified via - `.BaseIOStream.set_close_callback` instead. - - When a stream is closed due to an error, the IOStream's ``error`` - attribute contains the exception object. - - Subclasses must implement `fileno`, `close_fd`, `write_to_fd`, - `read_from_fd`, and optionally `get_fd_error`. - """ - def __init__(self, io_loop=None, max_buffer_size=None, - read_chunk_size=None, max_write_buffer_size=None): - """`BaseIOStream` constructor. - - :arg io_loop: The `.IOLoop` to use; defaults to `.IOLoop.current`. - Deprecated since Tornado 4.1. - :arg max_buffer_size: Maximum amount of incoming data to buffer; - defaults to 100MB. - :arg read_chunk_size: Amount of data to read at one time from the - underlying transport; defaults to 64KB. - :arg max_write_buffer_size: Amount of outgoing data to buffer; - defaults to unlimited. - - .. versionchanged:: 4.0 - Add the ``max_write_buffer_size`` parameter. Changed default - ``read_chunk_size`` to 64KB. - """ - self.io_loop = io_loop or ioloop.IOLoop.current() - self.max_buffer_size = max_buffer_size or 104857600 - # A chunk size that is too close to max_buffer_size can cause - # spurious failures. - self.read_chunk_size = min(read_chunk_size or 65536, - self.max_buffer_size // 2) - self.max_write_buffer_size = max_write_buffer_size - self.error = None - self._read_buffer = collections.deque() - self._write_buffer = collections.deque() - self._read_buffer_size = 0 - self._write_buffer_size = 0 - self._write_buffer_frozen = False - self._read_delimiter = None - self._read_regex = None - self._read_max_bytes = None - self._read_bytes = None - self._read_partial = False - self._read_until_close = False - self._read_callback = None - self._read_future = None - self._streaming_callback = None - self._write_callback = None - self._write_future = None - self._close_callback = None - self._connect_callback = None - self._connect_future = None - # _ssl_connect_future should be defined in SSLIOStream - # but it's here so we can clean it up in maybe_run_close_callback. - # TODO: refactor that so subclasses can add additional futures - # to be cancelled. - self._ssl_connect_future = None - self._connecting = False - self._state = None - self._pending_callbacks = 0 - self._closed = False - - def fileno(self): - """Returns the file descriptor for this stream.""" - raise NotImplementedError() - - def close_fd(self): - """Closes the file underlying this stream. - - ``close_fd`` is called by `BaseIOStream` and should not be called - elsewhere; other users should call `close` instead. - """ - raise NotImplementedError() - - def write_to_fd(self, data): - """Attempts to write ``data`` to the underlying file. - - Returns the number of bytes written. - """ - raise NotImplementedError() - - def read_from_fd(self): - """Attempts to read from the underlying file. - - Returns ``None`` if there was nothing to read (the socket - returned `~errno.EWOULDBLOCK` or equivalent), otherwise - returns the data. When possible, should return no more than - ``self.read_chunk_size`` bytes at a time. - """ - raise NotImplementedError() - - def get_fd_error(self): - """Returns information about any error on the underlying file. - - This method is called after the `.IOLoop` has signaled an error on the - file descriptor, and should return an Exception (such as `socket.error` - with additional information, or None if no such information is - available. - """ - return None - - def read_until_regex(self, regex, callback=None, max_bytes=None): - """Asynchronously read until we have matched the given regex. - - The result includes the data that matches the regex and anything - that came before it. If a callback is given, it will be run - with the data as an argument; if not, this method returns a - `.Future`. - - If ``max_bytes`` is not None, the connection will be closed - if more than ``max_bytes`` bytes have been read and the regex is - not satisfied. - - .. versionchanged:: 4.0 - Added the ``max_bytes`` argument. The ``callback`` argument is - now optional and a `.Future` will be returned if it is omitted. - """ - future = self._set_read_callback(callback) - self._read_regex = re.compile(regex) - self._read_max_bytes = max_bytes - try: - self._try_inline_read() - except UnsatisfiableReadError as e: - # Handle this the same way as in _handle_events. - gen_log.info("Unsatisfiable read, closing connection: %s" % e) - self.close(exc_info=True) - return future - except: - if future is not None: - # Ensure that the future doesn't log an error because its - # failure was never examined. - future.add_done_callback(lambda f: f.exception()) - raise - return future - - def read_until(self, delimiter, callback=None, max_bytes=None): - """Asynchronously read until we have found the given delimiter. - - The result includes all the data read including the delimiter. - If a callback is given, it will be run with the data as an argument; - if not, this method returns a `.Future`. - - If ``max_bytes`` is not None, the connection will be closed - if more than ``max_bytes`` bytes have been read and the delimiter - is not found. - - .. versionchanged:: 4.0 - Added the ``max_bytes`` argument. The ``callback`` argument is - now optional and a `.Future` will be returned if it is omitted. - """ - future = self._set_read_callback(callback) - self._read_delimiter = delimiter - self._read_max_bytes = max_bytes - try: - self._try_inline_read() - except UnsatisfiableReadError as e: - # Handle this the same way as in _handle_events. - gen_log.info("Unsatisfiable read, closing connection: %s" % e) - self.close(exc_info=True) - return future - except: - if future is not None: - future.add_done_callback(lambda f: f.exception()) - raise - return future - - def read_bytes(self, num_bytes, callback=None, streaming_callback=None, - partial=False): - """Asynchronously read a number of bytes. - - If a ``streaming_callback`` is given, it will be called with chunks - of data as they become available, and the final result will be empty. - Otherwise, the result is all the data that was read. - If a callback is given, it will be run with the data as an argument; - if not, this method returns a `.Future`. - - If ``partial`` is true, the callback is run as soon as we have - any bytes to return (but never more than ``num_bytes``) - - .. versionchanged:: 4.0 - Added the ``partial`` argument. The callback argument is now - optional and a `.Future` will be returned if it is omitted. - """ - future = self._set_read_callback(callback) - assert isinstance(num_bytes, numbers.Integral) - self._read_bytes = num_bytes - self._read_partial = partial - self._streaming_callback = stack_context.wrap(streaming_callback) - try: - self._try_inline_read() - except: - if future is not None: - future.add_done_callback(lambda f: f.exception()) - raise - return future - - def read_until_close(self, callback=None, streaming_callback=None): - """Asynchronously reads all data from the socket until it is closed. - - If a ``streaming_callback`` is given, it will be called with chunks - of data as they become available, and the final result will be empty. - Otherwise, the result is all the data that was read. - If a callback is given, it will be run with the data as an argument; - if not, this method returns a `.Future`. - - Note that if a ``streaming_callback`` is used, data will be - read from the socket as quickly as it becomes available; there - is no way to apply backpressure or cancel the reads. If flow - control or cancellation are desired, use a loop with - `read_bytes(partial=True) <.read_bytes>` instead. - - .. versionchanged:: 4.0 - The callback argument is now optional and a `.Future` will - be returned if it is omitted. - - """ - future = self._set_read_callback(callback) - self._streaming_callback = stack_context.wrap(streaming_callback) - if self.closed(): - if self._streaming_callback is not None: - self._run_read_callback(self._read_buffer_size, True) - self._run_read_callback(self._read_buffer_size, False) - return future - self._read_until_close = True - try: - self._try_inline_read() - except: - if future is not None: - future.add_done_callback(lambda f: f.exception()) - raise - return future - - def write(self, data, callback=None): - """Asynchronously write the given data to this stream. - - If ``callback`` is given, we call it when all of the buffered write - data has been successfully written to the stream. If there was - previously buffered write data and an old write callback, that - callback is simply overwritten with this new callback. - - If no ``callback`` is given, this method returns a `.Future` that - resolves (with a result of ``None``) when the write has been - completed. If `write` is called again before that `.Future` has - resolved, the previous future will be orphaned and will never resolve. - - .. versionchanged:: 4.0 - Now returns a `.Future` if no callback is given. - """ - assert isinstance(data, bytes) - self._check_closed() - # We use bool(_write_buffer) as a proxy for write_buffer_size>0, - # so never put empty strings in the buffer. - if data: - if (self.max_write_buffer_size is not None and - self._write_buffer_size + len(data) > self.max_write_buffer_size): - raise StreamBufferFullError("Reached maximum write buffer size") - # Break up large contiguous strings before inserting them in the - # write buffer, so we don't have to recopy the entire thing - # as we slice off pieces to send to the socket. - WRITE_BUFFER_CHUNK_SIZE = 128 * 1024 - for i in range(0, len(data), WRITE_BUFFER_CHUNK_SIZE): - self._write_buffer.append(data[i:i + WRITE_BUFFER_CHUNK_SIZE]) - self._write_buffer_size += len(data) - if callback is not None: - self._write_callback = stack_context.wrap(callback) - future = None - else: - future = self._write_future = TracebackFuture() - future.add_done_callback(lambda f: f.exception()) - if not self._connecting: - self._handle_write() - if self._write_buffer: - self._add_io_state(self.io_loop.WRITE) - self._maybe_add_error_listener() - return future - - def set_close_callback(self, callback): - """Call the given callback when the stream is closed. - - This is not necessary for applications that use the `.Future` - interface; all outstanding ``Futures`` will resolve with a - `StreamClosedError` when the stream is closed. - """ - self._close_callback = stack_context.wrap(callback) - self._maybe_add_error_listener() - - def close(self, exc_info=False): - """Close this stream. - - If ``exc_info`` is true, set the ``error`` attribute to the current - exception from `sys.exc_info` (or if ``exc_info`` is a tuple, - use that instead of `sys.exc_info`). - """ - if not self.closed(): - if exc_info: - if not isinstance(exc_info, tuple): - exc_info = sys.exc_info() - if any(exc_info): - self.error = exc_info[1] - if self._read_until_close: - if (self._streaming_callback is not None and - self._read_buffer_size): - self._run_read_callback(self._read_buffer_size, True) - self._read_until_close = False - self._run_read_callback(self._read_buffer_size, False) - if self._state is not None: - self.io_loop.remove_handler(self.fileno()) - self._state = None - self.close_fd() - self._closed = True - self._maybe_run_close_callback() - - def _maybe_run_close_callback(self): - # If there are pending callbacks, don't run the close callback - # until they're done (see _maybe_add_error_handler) - if self.closed() and self._pending_callbacks == 0: - futures = [] - if self._read_future is not None: - futures.append(self._read_future) - self._read_future = None - if self._write_future is not None: - futures.append(self._write_future) - self._write_future = None - if self._connect_future is not None: - futures.append(self._connect_future) - self._connect_future = None - if self._ssl_connect_future is not None: - futures.append(self._ssl_connect_future) - self._ssl_connect_future = None - for future in futures: - future.set_exception(StreamClosedError(real_error=self.error)) - if self._close_callback is not None: - cb = self._close_callback - self._close_callback = None - self._run_callback(cb) - # Delete any unfinished callbacks to break up reference cycles. - self._read_callback = self._write_callback = None - # Clear the buffers so they can be cleared immediately even - # if the IOStream object is kept alive by a reference cycle. - # TODO: Clear the read buffer too; it currently breaks some tests. - self._write_buffer = None - - def reading(self): - """Returns true if we are currently reading from the stream.""" - return self._read_callback is not None or self._read_future is not None - - def writing(self): - """Returns true if we are currently writing to the stream.""" - return bool(self._write_buffer) - - def closed(self): - """Returns true if the stream has been closed.""" - return self._closed - - def set_nodelay(self, value): - """Sets the no-delay flag for this stream. - - By default, data written to TCP streams may be held for a time - to make the most efficient use of bandwidth (according to - Nagle's algorithm). The no-delay flag requests that data be - written as soon as possible, even if doing so would consume - additional bandwidth. - - This flag is currently defined only for TCP-based ``IOStreams``. - - .. versionadded:: 3.1 - """ - pass - - def _handle_events(self, fd, events): - if self.closed(): - gen_log.warning("Got events for closed stream %s", fd) - return - try: - if self._connecting: - # Most IOLoops will report a write failed connect - # with the WRITE event, but SelectIOLoop reports a - # READ as well so we must check for connecting before - # either. - self._handle_connect() - if self.closed(): - return - if events & self.io_loop.READ: - self._handle_read() - if self.closed(): - return - if events & self.io_loop.WRITE: - self._handle_write() - if self.closed(): - return - if events & self.io_loop.ERROR: - self.error = self.get_fd_error() - # We may have queued up a user callback in _handle_read or - # _handle_write, so don't close the IOStream until those - # callbacks have had a chance to run. - self.io_loop.add_callback(self.close) - return - state = self.io_loop.ERROR - if self.reading(): - state |= self.io_loop.READ - if self.writing(): - state |= self.io_loop.WRITE - if state == self.io_loop.ERROR and self._read_buffer_size == 0: - # If the connection is idle, listen for reads too so - # we can tell if the connection is closed. If there is - # data in the read buffer we won't run the close callback - # yet anyway, so we don't need to listen in this case. - state |= self.io_loop.READ - if state != self._state: - assert self._state is not None, \ - "shouldn't happen: _handle_events without self._state" - self._state = state - self.io_loop.update_handler(self.fileno(), self._state) - except UnsatisfiableReadError as e: - gen_log.info("Unsatisfiable read, closing connection: %s" % e) - self.close(exc_info=True) - except Exception: - gen_log.error("Uncaught exception, closing connection.", - exc_info=True) - self.close(exc_info=True) - raise - - def _run_callback(self, callback, *args): - def wrapper(): - self._pending_callbacks -= 1 - try: - return callback(*args) - except Exception: - app_log.error("Uncaught exception, closing connection.", - exc_info=True) - # Close the socket on an uncaught exception from a user callback - # (It would eventually get closed when the socket object is - # gc'd, but we don't want to rely on gc happening before we - # run out of file descriptors) - self.close(exc_info=True) - # Re-raise the exception so that IOLoop.handle_callback_exception - # can see it and log the error - raise - finally: - self._maybe_add_error_listener() - # We schedule callbacks to be run on the next IOLoop iteration - # rather than running them directly for several reasons: - # * Prevents unbounded stack growth when a callback calls an - # IOLoop operation that immediately runs another callback - # * Provides a predictable execution context for e.g. - # non-reentrant mutexes - # * Ensures that the try/except in wrapper() is run outside - # of the application's StackContexts - with stack_context.NullContext(): - # stack_context was already captured in callback, we don't need to - # capture it again for IOStream's wrapper. This is especially - # important if the callback was pre-wrapped before entry to - # IOStream (as in HTTPConnection._header_callback), as we could - # capture and leak the wrong context here. - self._pending_callbacks += 1 - self.io_loop.add_callback(wrapper) - - def _read_to_buffer_loop(self): - # This method is called from _handle_read and _try_inline_read. - try: - if self._read_bytes is not None: - target_bytes = self._read_bytes - elif self._read_max_bytes is not None: - target_bytes = self._read_max_bytes - elif self.reading(): - # For read_until without max_bytes, or - # read_until_close, read as much as we can before - # scanning for the delimiter. - target_bytes = None - else: - target_bytes = 0 - next_find_pos = 0 - # Pretend to have a pending callback so that an EOF in - # _read_to_buffer doesn't trigger an immediate close - # callback. At the end of this method we'll either - # establish a real pending callback via - # _read_from_buffer or run the close callback. - # - # We need two try statements here so that - # pending_callbacks is decremented before the `except` - # clause below (which calls `close` and does need to - # trigger the callback) - self._pending_callbacks += 1 - while not self.closed(): - # Read from the socket until we get EWOULDBLOCK or equivalent. - # SSL sockets do some internal buffering, and if the data is - # sitting in the SSL object's buffer select() and friends - # can't see it; the only way to find out if it's there is to - # try to read it. - if self._read_to_buffer() == 0: - break - - self._run_streaming_callback() - - # If we've read all the bytes we can use, break out of - # this loop. We can't just call read_from_buffer here - # because of subtle interactions with the - # pending_callback and error_listener mechanisms. - # - # If we've reached target_bytes, we know we're done. - if (target_bytes is not None and - self._read_buffer_size >= target_bytes): - break - - # Otherwise, we need to call the more expensive find_read_pos. - # It's inefficient to do this on every read, so instead - # do it on the first read and whenever the read buffer - # size has doubled. - if self._read_buffer_size >= next_find_pos: - pos = self._find_read_pos() - if pos is not None: - return pos - next_find_pos = self._read_buffer_size * 2 - return self._find_read_pos() - finally: - self._pending_callbacks -= 1 - - def _handle_read(self): - try: - pos = self._read_to_buffer_loop() - except UnsatisfiableReadError: - raise - except Exception as e: - gen_log.warning("error on read: %s" % e) - self.close(exc_info=True) - return - if pos is not None: - self._read_from_buffer(pos) - return - else: - self._maybe_run_close_callback() - - def _set_read_callback(self, callback): - assert self._read_callback is None, "Already reading" - assert self._read_future is None, "Already reading" - if callback is not None: - self._read_callback = stack_context.wrap(callback) - else: - self._read_future = TracebackFuture() - return self._read_future - - def _run_read_callback(self, size, streaming): - if streaming: - callback = self._streaming_callback - else: - callback = self._read_callback - self._read_callback = self._streaming_callback = None - if self._read_future is not None: - assert callback is None - future = self._read_future - self._read_future = None - future.set_result(self._consume(size)) - if callback is not None: - assert (self._read_future is None) or streaming - self._run_callback(callback, self._consume(size)) - else: - # If we scheduled a callback, we will add the error listener - # afterwards. If we didn't, we have to do it now. - self._maybe_add_error_listener() - - def _try_inline_read(self): - """Attempt to complete the current read operation from buffered data. - - If the read can be completed without blocking, schedules the - read callback on the next IOLoop iteration; otherwise starts - listening for reads on the socket. - """ - # See if we've already got the data from a previous read - self._run_streaming_callback() - pos = self._find_read_pos() - if pos is not None: - self._read_from_buffer(pos) - return - self._check_closed() - try: - pos = self._read_to_buffer_loop() - except Exception: - # If there was an in _read_to_buffer, we called close() already, - # but couldn't run the close callback because of _pending_callbacks. - # Before we escape from this function, run the close callback if - # applicable. - self._maybe_run_close_callback() - raise - if pos is not None: - self._read_from_buffer(pos) - return - # We couldn't satisfy the read inline, so either close the stream - # or listen for new data. - if self.closed(): - self._maybe_run_close_callback() - else: - self._add_io_state(ioloop.IOLoop.READ) - - def _read_to_buffer(self): - """Reads from the socket and appends the result to the read buffer. - - Returns the number of bytes read. Returns 0 if there is nothing - to read (i.e. the read returns EWOULDBLOCK or equivalent). On - error closes the socket and raises an exception. - """ - while True: - try: - chunk = self.read_from_fd() - except (socket.error, IOError, OSError) as e: - if errno_from_exception(e) == errno.EINTR: - continue - # ssl.SSLError is a subclass of socket.error - if self._is_connreset(e): - # Treat ECONNRESET as a connection close rather than - # an error to minimize log spam (the exception will - # be available on self.error for apps that care). - self.close(exc_info=True) - return - self.close(exc_info=True) - raise - break - if chunk is None: - return 0 - self._read_buffer.append(chunk) - self._read_buffer_size += len(chunk) - if self._read_buffer_size > self.max_buffer_size: - gen_log.error("Reached maximum read buffer size") - self.close() - raise StreamBufferFullError("Reached maximum read buffer size") - return len(chunk) - - def _run_streaming_callback(self): - if self._streaming_callback is not None and self._read_buffer_size: - bytes_to_consume = self._read_buffer_size - if self._read_bytes is not None: - bytes_to_consume = min(self._read_bytes, bytes_to_consume) - self._read_bytes -= bytes_to_consume - self._run_read_callback(bytes_to_consume, True) - - def _read_from_buffer(self, pos): - """Attempts to complete the currently-pending read from the buffer. - - The argument is either a position in the read buffer or None, - as returned by _find_read_pos. - """ - self._read_bytes = self._read_delimiter = self._read_regex = None - self._read_partial = False - self._run_read_callback(pos, False) - - def _find_read_pos(self): - """Attempts to find a position in the read buffer that satisfies - the currently-pending read. - - Returns a position in the buffer if the current read can be satisfied, - or None if it cannot. - """ - if (self._read_bytes is not None and - (self._read_buffer_size >= self._read_bytes or - (self._read_partial and self._read_buffer_size > 0))): - num_bytes = min(self._read_bytes, self._read_buffer_size) - return num_bytes - elif self._read_delimiter is not None: - # Multi-byte delimiters (e.g. '\r\n') may straddle two - # chunks in the read buffer, so we can't easily find them - # without collapsing the buffer. However, since protocols - # using delimited reads (as opposed to reads of a known - # length) tend to be "line" oriented, the delimiter is likely - # to be in the first few chunks. Merge the buffer gradually - # since large merges are relatively expensive and get undone in - # _consume(). - if self._read_buffer: - while True: - loc = self._read_buffer[0].find(self._read_delimiter) - if loc != -1: - delimiter_len = len(self._read_delimiter) - self._check_max_bytes(self._read_delimiter, - loc + delimiter_len) - return loc + delimiter_len - if len(self._read_buffer) == 1: - break - _double_prefix(self._read_buffer) - self._check_max_bytes(self._read_delimiter, - len(self._read_buffer[0])) - elif self._read_regex is not None: - if self._read_buffer: - while True: - m = self._read_regex.search(self._read_buffer[0]) - if m is not None: - self._check_max_bytes(self._read_regex, m.end()) - return m.end() - if len(self._read_buffer) == 1: - break - _double_prefix(self._read_buffer) - self._check_max_bytes(self._read_regex, - len(self._read_buffer[0])) - return None - - def _check_max_bytes(self, delimiter, size): - if (self._read_max_bytes is not None and - size > self._read_max_bytes): - raise UnsatisfiableReadError( - "delimiter %r not found within %d bytes" % ( - delimiter, self._read_max_bytes)) - - def _handle_write(self): - while self._write_buffer: - try: - if not self._write_buffer_frozen: - # On windows, socket.send blows up if given a - # write buffer that's too large, instead of just - # returning the number of bytes it was able to - # process. Therefore we must not call socket.send - # with more than 128KB at a time. - _merge_prefix(self._write_buffer, 128 * 1024) - num_bytes = self.write_to_fd(self._write_buffer[0]) - if num_bytes == 0: - # With OpenSSL, if we couldn't write the entire buffer, - # the very same string object must be used on the - # next call to send. Therefore we suppress - # merging the write buffer after an incomplete send. - # A cleaner solution would be to set - # SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER, but this is - # not yet accessible from python - # (http://bugs.python.org/issue8240) - self._write_buffer_frozen = True - break - self._write_buffer_frozen = False - _merge_prefix(self._write_buffer, num_bytes) - self._write_buffer.popleft() - self._write_buffer_size -= num_bytes - except (socket.error, IOError, OSError) as e: - if e.args[0] in _ERRNO_WOULDBLOCK: - self._write_buffer_frozen = True - break - else: - if not self._is_connreset(e): - # Broken pipe errors are usually caused by connection - # reset, and its better to not log EPIPE errors to - # minimize log spam - gen_log.warning("Write error on %s: %s", - self.fileno(), e) - self.close(exc_info=True) - return - if not self._write_buffer: - if self._write_callback: - callback = self._write_callback - self._write_callback = None - self._run_callback(callback) - if self._write_future: - future = self._write_future - self._write_future = None - future.set_result(None) - - def _consume(self, loc): - if loc == 0: - return b"" - _merge_prefix(self._read_buffer, loc) - self._read_buffer_size -= loc - return self._read_buffer.popleft() - - def _check_closed(self): - if self.closed(): - raise StreamClosedError(real_error=self.error) - - def _maybe_add_error_listener(self): - # This method is part of an optimization: to detect a connection that - # is closed when we're not actively reading or writing, we must listen - # for read events. However, it is inefficient to do this when the - # connection is first established because we are going to read or write - # immediately anyway. Instead, we insert checks at various times to - # see if the connection is idle and add the read listener then. - if self._pending_callbacks != 0: - return - if self._state is None or self._state == ioloop.IOLoop.ERROR: - if self.closed(): - self._maybe_run_close_callback() - elif (self._read_buffer_size == 0 and - self._close_callback is not None): - self._add_io_state(ioloop.IOLoop.READ) - - def _add_io_state(self, state): - """Adds `state` (IOLoop.{READ,WRITE} flags) to our event handler. - - Implementation notes: Reads and writes have a fast path and a - slow path. The fast path reads synchronously from socket - buffers, while the slow path uses `_add_io_state` to schedule - an IOLoop callback. Note that in both cases, the callback is - run asynchronously with `_run_callback`. - - To detect closed connections, we must have called - `_add_io_state` at some point, but we want to delay this as - much as possible so we don't have to set an `IOLoop.ERROR` - listener that will be overwritten by the next slow-path - operation. As long as there are callbacks scheduled for - fast-path ops, those callbacks may do more reads. - If a sequence of fast-path ops do not end in a slow-path op, - (e.g. for an @asynchronous long-poll request), we must add - the error handler. This is done in `_run_callback` and `write` - (since the write callback is optional so we can have a - fast-path write with no `_run_callback`) - """ - if self.closed(): - # connection has been closed, so there can be no future events - return - if self._state is None: - self._state = ioloop.IOLoop.ERROR | state - with stack_context.NullContext(): - self.io_loop.add_handler( - self.fileno(), self._handle_events, self._state) - elif not self._state & state: - self._state = self._state | state - self.io_loop.update_handler(self.fileno(), self._state) - - def _is_connreset(self, exc): - """Return true if exc is ECONNRESET or equivalent. - - May be overridden in subclasses. - """ - return (isinstance(exc, (socket.error, IOError)) and - errno_from_exception(exc) in _ERRNO_CONNRESET) - - -class IOStream(BaseIOStream): - r"""Socket-based `IOStream` implementation. - - This class supports the read and write methods from `BaseIOStream` - plus a `connect` method. - - The ``socket`` parameter may either be connected or unconnected. - For server operations the socket is the result of calling - `socket.accept `. For client operations the - socket is created with `socket.socket`, and may either be - connected before passing it to the `IOStream` or connected with - `IOStream.connect`. - - A very simple (and broken) HTTP client using this class: - - .. testcode:: - - import tornado.ioloop - import tornado.iostream - import socket - - def send_request(): - stream.write(b"GET / HTTP/1.0\r\nHost: friendfeed.com\r\n\r\n") - stream.read_until(b"\r\n\r\n", on_headers) - - def on_headers(data): - headers = {} - for line in data.split(b"\r\n"): - parts = line.split(b":") - if len(parts) == 2: - headers[parts[0].strip()] = parts[1].strip() - stream.read_bytes(int(headers[b"Content-Length"]), on_body) - - def on_body(data): - print(data) - stream.close() - tornado.ioloop.IOLoop.current().stop() - - if __name__ == '__main__': - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) - stream = tornado.iostream.IOStream(s) - stream.connect(("friendfeed.com", 80), send_request) - tornado.ioloop.IOLoop.current().start() - - .. testoutput:: - :hide: - - """ - def __init__(self, socket, *args, **kwargs): - self.socket = socket - self.socket.setblocking(False) - super(IOStream, self).__init__(*args, **kwargs) - - def fileno(self): - return self.socket - - def close_fd(self): - self.socket.close() - self.socket = None - - def get_fd_error(self): - errno = self.socket.getsockopt(socket.SOL_SOCKET, - socket.SO_ERROR) - return socket.error(errno, os.strerror(errno)) - - def read_from_fd(self): - try: - chunk = self.socket.recv(self.read_chunk_size) - except socket.error as e: - if e.args[0] in _ERRNO_WOULDBLOCK: - return None - else: - raise - if not chunk: - self.close() - return None - return chunk - - def write_to_fd(self, data): - return self.socket.send(data) - - def connect(self, address, callback=None, server_hostname=None): - """Connects the socket to a remote address without blocking. - - May only be called if the socket passed to the constructor was - not previously connected. The address parameter is in the - same format as for `socket.connect ` for - the type of socket passed to the IOStream constructor, - e.g. an ``(ip, port)`` tuple. Hostnames are accepted here, - but will be resolved synchronously and block the IOLoop. - If you have a hostname instead of an IP address, the `.TCPClient` - class is recommended instead of calling this method directly. - `.TCPClient` will do asynchronous DNS resolution and handle - both IPv4 and IPv6. - - If ``callback`` is specified, it will be called with no - arguments when the connection is completed; if not this method - returns a `.Future` (whose result after a successful - connection will be the stream itself). - - In SSL mode, the ``server_hostname`` parameter will be used - for certificate validation (unless disabled in the - ``ssl_options``) and SNI (if supported; requires Python - 2.7.9+). - - Note that it is safe to call `IOStream.write - ` while the connection is pending, in - which case the data will be written as soon as the connection - is ready. Calling `IOStream` read methods before the socket is - connected works on some platforms but is non-portable. - - .. versionchanged:: 4.0 - If no callback is given, returns a `.Future`. - - .. versionchanged:: 4.2 - SSL certificates are validated by default; pass - ``ssl_options=dict(cert_reqs=ssl.CERT_NONE)`` or a - suitably-configured `ssl.SSLContext` to the - `SSLIOStream` constructor to disable. - """ - self._connecting = True - if callback is not None: - self._connect_callback = stack_context.wrap(callback) - future = None - else: - future = self._connect_future = TracebackFuture() - try: - self.socket.connect(address) - except socket.error as e: - # In non-blocking mode we expect connect() to raise an - # exception with EINPROGRESS or EWOULDBLOCK. - # - # On freebsd, other errors such as ECONNREFUSED may be - # returned immediately when attempting to connect to - # localhost, so handle them the same way as an error - # reported later in _handle_connect. - if (errno_from_exception(e) not in _ERRNO_INPROGRESS and - errno_from_exception(e) not in _ERRNO_WOULDBLOCK): - if future is None: - gen_log.warning("Connect error on fd %s: %s", - self.socket.fileno(), e) - self.close(exc_info=True) - return future - self._add_io_state(self.io_loop.WRITE) - return future - - def start_tls(self, server_side, ssl_options=None, server_hostname=None): - """Convert this `IOStream` to an `SSLIOStream`. - - This enables protocols that begin in clear-text mode and - switch to SSL after some initial negotiation (such as the - ``STARTTLS`` extension to SMTP and IMAP). - - This method cannot be used if there are outstanding reads - or writes on the stream, or if there is any data in the - IOStream's buffer (data in the operating system's socket - buffer is allowed). This means it must generally be used - immediately after reading or writing the last clear-text - data. It can also be used immediately after connecting, - before any reads or writes. - - The ``ssl_options`` argument may be either an `ssl.SSLContext` - object or a dictionary of keyword arguments for the - `ssl.wrap_socket` function. The ``server_hostname`` argument - will be used for certificate validation unless disabled - in the ``ssl_options``. - - This method returns a `.Future` whose result is the new - `SSLIOStream`. After this method has been called, - any other operation on the original stream is undefined. - - If a close callback is defined on this stream, it will be - transferred to the new stream. - - .. versionadded:: 4.0 - - .. versionchanged:: 4.2 - SSL certificates are validated by default; pass - ``ssl_options=dict(cert_reqs=ssl.CERT_NONE)`` or a - suitably-configured `ssl.SSLContext` to disable. - """ - if (self._read_callback or self._read_future or - self._write_callback or self._write_future or - self._connect_callback or self._connect_future or - self._pending_callbacks or self._closed or - self._read_buffer or self._write_buffer): - raise ValueError("IOStream is not idle; cannot convert to SSL") - if ssl_options is None: - if server_side: - ssl_options = _server_ssl_defaults - else: - ssl_options = _client_ssl_defaults - - socket = self.socket - self.io_loop.remove_handler(socket) - self.socket = None - socket = ssl_wrap_socket(socket, ssl_options, - server_hostname=server_hostname, - server_side=server_side, - do_handshake_on_connect=False) - orig_close_callback = self._close_callback - self._close_callback = None - - future = TracebackFuture() - ssl_stream = SSLIOStream(socket, ssl_options=ssl_options, - io_loop=self.io_loop) - # Wrap the original close callback so we can fail our Future as well. - # If we had an "unwrap" counterpart to this method we would need - # to restore the original callback after our Future resolves - # so that repeated wrap/unwrap calls don't build up layers. - - def close_callback(): - if not future.done(): - # Note that unlike most Futures returned by IOStream, - # this one passes the underlying error through directly - # instead of wrapping everything in a StreamClosedError - # with a real_error attribute. This is because once the - # connection is established it's more helpful to raise - # the SSLError directly than to hide it behind a - # StreamClosedError (and the client is expecting SSL - # issues rather than network issues since this method is - # named start_tls). - future.set_exception(ssl_stream.error or StreamClosedError()) - if orig_close_callback is not None: - orig_close_callback() - ssl_stream.set_close_callback(close_callback) - ssl_stream._ssl_connect_callback = lambda: future.set_result(ssl_stream) - ssl_stream.max_buffer_size = self.max_buffer_size - ssl_stream.read_chunk_size = self.read_chunk_size - return future - - def _handle_connect(self): - err = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR) - if err != 0: - self.error = socket.error(err, os.strerror(err)) - # IOLoop implementations may vary: some of them return - # an error state before the socket becomes writable, so - # in that case a connection failure would be handled by the - # error path in _handle_events instead of here. - if self._connect_future is None: - gen_log.warning("Connect error on fd %s: %s", - self.socket.fileno(), errno.errorcode[err]) - self.close() - return - if self._connect_callback is not None: - callback = self._connect_callback - self._connect_callback = None - self._run_callback(callback) - if self._connect_future is not None: - future = self._connect_future - self._connect_future = None - future.set_result(self) - self._connecting = False - - def set_nodelay(self, value): - if (self.socket is not None and - self.socket.family in (socket.AF_INET, socket.AF_INET6)): - try: - self.socket.setsockopt(socket.IPPROTO_TCP, - socket.TCP_NODELAY, 1 if value else 0) - except socket.error as e: - # Sometimes setsockopt will fail if the socket is closed - # at the wrong time. This can happen with HTTPServer - # resetting the value to false between requests. - if e.errno != errno.EINVAL and not self._is_connreset(e): - raise - - -class SSLIOStream(IOStream): - """A utility class to write to and read from a non-blocking SSL socket. - - If the socket passed to the constructor is already connected, - it should be wrapped with:: - - ssl.wrap_socket(sock, do_handshake_on_connect=False, **kwargs) - - before constructing the `SSLIOStream`. Unconnected sockets will be - wrapped when `IOStream.connect` is finished. - """ - def __init__(self, *args, **kwargs): - """The ``ssl_options`` keyword argument may either be an - `ssl.SSLContext` object or a dictionary of keywords arguments - for `ssl.wrap_socket` - """ - self._ssl_options = kwargs.pop('ssl_options', _client_ssl_defaults) - super(SSLIOStream, self).__init__(*args, **kwargs) - self._ssl_accepting = True - self._handshake_reading = False - self._handshake_writing = False - self._ssl_connect_callback = None - self._server_hostname = None - - # If the socket is already connected, attempt to start the handshake. - try: - self.socket.getpeername() - except socket.error: - pass - else: - # Indirectly start the handshake, which will run on the next - # IOLoop iteration and then the real IO state will be set in - # _handle_events. - self._add_io_state(self.io_loop.WRITE) - - def reading(self): - return self._handshake_reading or super(SSLIOStream, self).reading() - - def writing(self): - return self._handshake_writing or super(SSLIOStream, self).writing() - - def _do_ssl_handshake(self): - # Based on code from test_ssl.py in the python stdlib - try: - self._handshake_reading = False - self._handshake_writing = False - self.socket.do_handshake() - except ssl.SSLError as err: - if err.args[0] == ssl.SSL_ERROR_WANT_READ: - self._handshake_reading = True - return - elif err.args[0] == ssl.SSL_ERROR_WANT_WRITE: - self._handshake_writing = True - return - elif err.args[0] in (ssl.SSL_ERROR_EOF, - ssl.SSL_ERROR_ZERO_RETURN): - return self.close(exc_info=True) - elif err.args[0] == ssl.SSL_ERROR_SSL: - try: - peer = self.socket.getpeername() - except Exception: - peer = '(not connected)' - gen_log.warning("SSL Error on %s %s: %s", - self.socket.fileno(), peer, err) - return self.close(exc_info=True) - raise - except socket.error as err: - # Some port scans (e.g. nmap in -sT mode) have been known - # to cause do_handshake to raise EBADF and ENOTCONN, so make - # those errors quiet as well. - # https://groups.google.com/forum/?fromgroups#!topic/python-tornado/ApucKJat1_0 - if (self._is_connreset(err) or - err.args[0] in (errno.EBADF, errno.ENOTCONN)): - return self.close(exc_info=True) - raise - except AttributeError: - # On Linux, if the connection was reset before the call to - # wrap_socket, do_handshake will fail with an - # AttributeError. - return self.close(exc_info=True) - else: - self._ssl_accepting = False - if not self._verify_cert(self.socket.getpeercert()): - self.close() - return - self._run_ssl_connect_callback() - - def _run_ssl_connect_callback(self): - if self._ssl_connect_callback is not None: - callback = self._ssl_connect_callback - self._ssl_connect_callback = None - self._run_callback(callback) - if self._ssl_connect_future is not None: - future = self._ssl_connect_future - self._ssl_connect_future = None - future.set_result(self) - - def _verify_cert(self, peercert): - """Returns True if peercert is valid according to the configured - validation mode and hostname. - - The ssl handshake already tested the certificate for a valid - CA signature; the only thing that remains is to check - the hostname. - """ - if isinstance(self._ssl_options, dict): - verify_mode = self._ssl_options.get('cert_reqs', ssl.CERT_NONE) - elif isinstance(self._ssl_options, ssl.SSLContext): - verify_mode = self._ssl_options.verify_mode - assert verify_mode in (ssl.CERT_NONE, ssl.CERT_REQUIRED, ssl.CERT_OPTIONAL) - if verify_mode == ssl.CERT_NONE or self._server_hostname is None: - return True - cert = self.socket.getpeercert() - if cert is None and verify_mode == ssl.CERT_REQUIRED: - gen_log.warning("No SSL certificate given") - return False - try: - ssl_match_hostname(peercert, self._server_hostname) - except SSLCertificateError as e: - gen_log.warning("Invalid SSL certificate: %s" % e) - return False - else: - return True - - def _handle_read(self): - if self._ssl_accepting: - self._do_ssl_handshake() - return - super(SSLIOStream, self)._handle_read() - - def _handle_write(self): - if self._ssl_accepting: - self._do_ssl_handshake() - return - super(SSLIOStream, self)._handle_write() - - def connect(self, address, callback=None, server_hostname=None): - self._server_hostname = server_hostname - # Pass a dummy callback to super.connect(), which is slightly - # more efficient than letting it return a Future we ignore. - super(SSLIOStream, self).connect(address, callback=lambda: None) - return self.wait_for_handshake(callback) - - def _handle_connect(self): - # Call the superclass method to check for errors. - super(SSLIOStream, self)._handle_connect() - if self.closed(): - return - # When the connection is complete, wrap the socket for SSL - # traffic. Note that we do this by overriding _handle_connect - # instead of by passing a callback to super().connect because - # user callbacks are enqueued asynchronously on the IOLoop, - # but since _handle_events calls _handle_connect immediately - # followed by _handle_write we need this to be synchronous. - # - # The IOLoop will get confused if we swap out self.socket while the - # fd is registered, so remove it now and re-register after - # wrap_socket(). - self.io_loop.remove_handler(self.socket) - old_state = self._state - self._state = None - self.socket = ssl_wrap_socket(self.socket, self._ssl_options, - server_hostname=self._server_hostname, - do_handshake_on_connect=False) - self._add_io_state(old_state) - - def wait_for_handshake(self, callback=None): - """Wait for the initial SSL handshake to complete. - - If a ``callback`` is given, it will be called with no - arguments once the handshake is complete; otherwise this - method returns a `.Future` which will resolve to the - stream itself after the handshake is complete. - - Once the handshake is complete, information such as - the peer's certificate and NPN/ALPN selections may be - accessed on ``self.socket``. - - This method is intended for use on server-side streams - or after using `IOStream.start_tls`; it should not be used - with `IOStream.connect` (which already waits for the - handshake to complete). It may only be called once per stream. - - .. versionadded:: 4.2 - """ - if (self._ssl_connect_callback is not None or - self._ssl_connect_future is not None): - raise RuntimeError("Already waiting") - if callback is not None: - self._ssl_connect_callback = stack_context.wrap(callback) - future = None - else: - future = self._ssl_connect_future = TracebackFuture() - if not self._ssl_accepting: - self._run_ssl_connect_callback() - return future - - def write_to_fd(self, data): - try: - return self.socket.send(data) - except ssl.SSLError as e: - if e.args[0] == ssl.SSL_ERROR_WANT_WRITE: - # In Python 3.5+, SSLSocket.send raises a WANT_WRITE error if - # the socket is not writeable; we need to transform this into - # an EWOULDBLOCK socket.error or a zero return value, - # either of which will be recognized by the caller of this - # method. Prior to Python 3.5, an unwriteable socket would - # simply return 0 bytes written. - return 0 - raise - - def read_from_fd(self): - if self._ssl_accepting: - # If the handshake hasn't finished yet, there can't be anything - # to read (attempting to read may or may not raise an exception - # depending on the SSL version) - return None - try: - # SSLSocket objects have both a read() and recv() method, - # while regular sockets only have recv(). - # The recv() method blocks (at least in python 2.6) if it is - # called when there is nothing to read, so we have to use - # read() instead. - chunk = self.socket.read(self.read_chunk_size) - except ssl.SSLError as e: - # SSLError is a subclass of socket.error, so this except - # block must come first. - if e.args[0] == ssl.SSL_ERROR_WANT_READ: - return None - else: - raise - except socket.error as e: - if e.args[0] in _ERRNO_WOULDBLOCK: - return None - else: - raise - if not chunk: - self.close() - return None - return chunk - - def _is_connreset(self, e): - if isinstance(e, ssl.SSLError) and e.args[0] == ssl.SSL_ERROR_EOF: - return True - return super(SSLIOStream, self)._is_connreset(e) - - -class PipeIOStream(BaseIOStream): - """Pipe-based `IOStream` implementation. - - The constructor takes an integer file descriptor (such as one returned - by `os.pipe`) rather than an open file object. Pipes are generally - one-way, so a `PipeIOStream` can be used for reading or writing but not - both. - """ - def __init__(self, fd, *args, **kwargs): - self.fd = fd - _set_nonblocking(fd) - super(PipeIOStream, self).__init__(*args, **kwargs) - - def fileno(self): - return self.fd - - def close_fd(self): - os.close(self.fd) - - def write_to_fd(self, data): - return os.write(self.fd, data) - - def read_from_fd(self): - try: - chunk = os.read(self.fd, self.read_chunk_size) - except (IOError, OSError) as e: - if errno_from_exception(e) in _ERRNO_WOULDBLOCK: - return None - elif errno_from_exception(e) == errno.EBADF: - # If the writing half of a pipe is closed, select will - # report it as readable but reads will fail with EBADF. - self.close(exc_info=True) - return None - else: - raise - if not chunk: - self.close() - return None - return chunk - - -def _double_prefix(deque): - """Grow by doubling, but don't split the second chunk just because the - first one is small. - """ - new_len = max(len(deque[0]) * 2, - (len(deque[0]) + len(deque[1]))) - _merge_prefix(deque, new_len) - - -def _merge_prefix(deque, size): - """Replace the first entries in a deque of strings with a single - string of up to size bytes. - - >>> d = collections.deque(['abc', 'de', 'fghi', 'j']) - >>> _merge_prefix(d, 5); print(d) - deque(['abcde', 'fghi', 'j']) - - Strings will be split as necessary to reach the desired size. - >>> _merge_prefix(d, 7); print(d) - deque(['abcdefg', 'hi', 'j']) - - >>> _merge_prefix(d, 3); print(d) - deque(['abc', 'defg', 'hi', 'j']) - - >>> _merge_prefix(d, 100); print(d) - deque(['abcdefghij']) - """ - if len(deque) == 1 and len(deque[0]) <= size: - return - prefix = [] - remaining = size - while deque and remaining > 0: - chunk = deque.popleft() - if len(chunk) > remaining: - deque.appendleft(chunk[remaining:]) - chunk = chunk[:remaining] - prefix.append(chunk) - remaining -= len(chunk) - # This data structure normally just contains byte strings, but - # the unittest gets messy if it doesn't use the default str() type, - # so do the merge based on the type of data that's actually present. - if prefix: - deque.appendleft(type(prefix[0])().join(prefix)) - if not deque: - deque.appendleft(b"") - - -def doctests(): - import doctest - return doctest.DocTestSuite() diff --git a/lib27/site-packages/tornado/locale.py b/lib27/site-packages/tornado/locale.py deleted file mode 100644 index 8310c4d4c..000000000 --- a/lib27/site-packages/tornado/locale.py +++ /dev/null @@ -1,521 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright 2009 Facebook -# -# 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. - -"""Translation methods for generating localized strings. - -To load a locale and generate a translated string:: - - user_locale = tornado.locale.get("es_LA") - print user_locale.translate("Sign out") - -`tornado.locale.get()` returns the closest matching locale, not necessarily the -specific locale you requested. You can support pluralization with -additional arguments to `~Locale.translate()`, e.g.:: - - people = [...] - message = user_locale.translate( - "%(list)s is online", "%(list)s are online", len(people)) - print message % {"list": user_locale.list(people)} - -The first string is chosen if ``len(people) == 1``, otherwise the second -string is chosen. - -Applications should call one of `load_translations` (which uses a simple -CSV format) or `load_gettext_translations` (which uses the ``.mo`` format -supported by `gettext` and related tools). If neither method is called, -the `Locale.translate` method will simply return the original string. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import codecs -import csv -import datetime -from io import BytesIO -import numbers -import os -import re - -from tornado import escape -from tornado.log import gen_log -from tornado.util import u - -from tornado._locale_data import LOCALE_NAMES - -_default_locale = "en_US" -_translations = {} -_supported_locales = frozenset([_default_locale]) -_use_gettext = False -CONTEXT_SEPARATOR = "\x04" - - -def get(*locale_codes): - """Returns the closest match for the given locale codes. - - We iterate over all given locale codes in order. If we have a tight - or a loose match for the code (e.g., "en" for "en_US"), we return - the locale. Otherwise we move to the next code in the list. - - By default we return ``en_US`` if no translations are found for any of - the specified locales. You can change the default locale with - `set_default_locale()`. - """ - return Locale.get_closest(*locale_codes) - - -def set_default_locale(code): - """Sets the default locale. - - The default locale is assumed to be the language used for all strings - in the system. The translations loaded from disk are mappings from - the default locale to the destination locale. Consequently, you don't - need to create a translation file for the default locale. - """ - global _default_locale - global _supported_locales - _default_locale = code - _supported_locales = frozenset(list(_translations.keys()) + [_default_locale]) - - -def load_translations(directory, encoding=None): - """Loads translations from CSV files in a directory. - - Translations are strings with optional Python-style named placeholders - (e.g., ``My name is %(name)s``) and their associated translations. - - The directory should have translation files of the form ``LOCALE.csv``, - e.g. ``es_GT.csv``. The CSV files should have two or three columns: string, - translation, and an optional plural indicator. Plural indicators should - be one of "plural" or "singular". A given string can have both singular - and plural forms. For example ``%(name)s liked this`` may have a - different verb conjugation depending on whether %(name)s is one - name or a list of names. There should be two rows in the CSV file for - that string, one with plural indicator "singular", and one "plural". - For strings with no verbs that would change on translation, simply - use "unknown" or the empty string (or don't include the column at all). - - The file is read using the `csv` module in the default "excel" dialect. - In this format there should not be spaces after the commas. - - If no ``encoding`` parameter is given, the encoding will be - detected automatically (among UTF-8 and UTF-16) if the file - contains a byte-order marker (BOM), defaulting to UTF-8 if no BOM - is present. - - Example translation ``es_LA.csv``:: - - "I love you","Te amo" - "%(name)s liked this","A %(name)s les gustó esto","plural" - "%(name)s liked this","A %(name)s le gustó esto","singular" - - .. versionchanged:: 4.3 - Added ``encoding`` parameter. Added support for BOM-based encoding - detection, UTF-16, and UTF-8-with-BOM. - """ - global _translations - global _supported_locales - _translations = {} - for path in os.listdir(directory): - if not path.endswith(".csv"): - continue - locale, extension = path.split(".") - if not re.match("[a-z]+(_[A-Z]+)?$", locale): - gen_log.error("Unrecognized locale %r (path: %s)", locale, - os.path.join(directory, path)) - continue - full_path = os.path.join(directory, path) - if encoding is None: - # Try to autodetect encoding based on the BOM. - with open(full_path, 'rb') as f: - data = f.read(len(codecs.BOM_UTF16_LE)) - if data in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE): - encoding = 'utf-16' - else: - # utf-8-sig is "utf-8 with optional BOM". It's discouraged - # in most cases but is common with CSV files because Excel - # cannot read utf-8 files without a BOM. - encoding = 'utf-8-sig' - try: - # python 3: csv.reader requires a file open in text mode. - # Force utf8 to avoid dependence on $LANG environment variable. - f = open(full_path, "r", encoding=encoding) - except TypeError: - # python 2: csv can only handle byte strings (in ascii-compatible - # encodings), which we decode below. Transcode everything into - # utf8 before passing it to csv.reader. - f = BytesIO() - with codecs.open(full_path, "r", encoding=encoding) as infile: - f.write(escape.utf8(infile.read())) - f.seek(0) - _translations[locale] = {} - for i, row in enumerate(csv.reader(f)): - if not row or len(row) < 2: - continue - row = [escape.to_unicode(c).strip() for c in row] - english, translation = row[:2] - if len(row) > 2: - plural = row[2] or "unknown" - else: - plural = "unknown" - if plural not in ("plural", "singular", "unknown"): - gen_log.error("Unrecognized plural indicator %r in %s line %d", - plural, path, i + 1) - continue - _translations[locale].setdefault(plural, {})[english] = translation - f.close() - _supported_locales = frozenset(list(_translations.keys()) + [_default_locale]) - gen_log.debug("Supported locales: %s", sorted(_supported_locales)) - - -def load_gettext_translations(directory, domain): - """Loads translations from `gettext`'s locale tree - - Locale tree is similar to system's ``/usr/share/locale``, like:: - - {directory}/{lang}/LC_MESSAGES/{domain}.mo - - Three steps are required to have you app translated: - - 1. Generate POT translation file:: - - xgettext --language=Python --keyword=_:1,2 -d mydomain file1.py file2.html etc - - 2. Merge against existing POT file:: - - msgmerge old.po mydomain.po > new.po - - 3. Compile:: - - msgfmt mydomain.po -o {directory}/pt_BR/LC_MESSAGES/mydomain.mo - """ - import gettext - global _translations - global _supported_locales - global _use_gettext - _translations = {} - for lang in os.listdir(directory): - if lang.startswith('.'): - continue # skip .svn, etc - if os.path.isfile(os.path.join(directory, lang)): - continue - try: - os.stat(os.path.join(directory, lang, "LC_MESSAGES", domain + ".mo")) - _translations[lang] = gettext.translation(domain, directory, - languages=[lang]) - except Exception as e: - gen_log.error("Cannot load translation for '%s': %s", lang, str(e)) - continue - _supported_locales = frozenset(list(_translations.keys()) + [_default_locale]) - _use_gettext = True - gen_log.debug("Supported locales: %s", sorted(_supported_locales)) - - -def get_supported_locales(): - """Returns a list of all the supported locale codes.""" - return _supported_locales - - -class Locale(object): - """Object representing a locale. - - After calling one of `load_translations` or `load_gettext_translations`, - call `get` or `get_closest` to get a Locale object. - """ - @classmethod - def get_closest(cls, *locale_codes): - """Returns the closest match for the given locale code.""" - for code in locale_codes: - if not code: - continue - code = code.replace("-", "_") - parts = code.split("_") - if len(parts) > 2: - continue - elif len(parts) == 2: - code = parts[0].lower() + "_" + parts[1].upper() - if code in _supported_locales: - return cls.get(code) - if parts[0].lower() in _supported_locales: - return cls.get(parts[0].lower()) - return cls.get(_default_locale) - - @classmethod - def get(cls, code): - """Returns the Locale for the given locale code. - - If it is not supported, we raise an exception. - """ - if not hasattr(cls, "_cache"): - cls._cache = {} - if code not in cls._cache: - assert code in _supported_locales - translations = _translations.get(code, None) - if translations is None: - locale = CSVLocale(code, {}) - elif _use_gettext: - locale = GettextLocale(code, translations) - else: - locale = CSVLocale(code, translations) - cls._cache[code] = locale - return cls._cache[code] - - def __init__(self, code, translations): - self.code = code - self.name = LOCALE_NAMES.get(code, {}).get("name", u("Unknown")) - self.rtl = False - for prefix in ["fa", "ar", "he"]: - if self.code.startswith(prefix): - self.rtl = True - break - self.translations = translations - - # Initialize strings for date formatting - _ = self.translate - self._months = [ - _("January"), _("February"), _("March"), _("April"), - _("May"), _("June"), _("July"), _("August"), - _("September"), _("October"), _("November"), _("December")] - self._weekdays = [ - _("Monday"), _("Tuesday"), _("Wednesday"), _("Thursday"), - _("Friday"), _("Saturday"), _("Sunday")] - - def translate(self, message, plural_message=None, count=None): - """Returns the translation for the given message for this locale. - - If ``plural_message`` is given, you must also provide - ``count``. We return ``plural_message`` when ``count != 1``, - and we return the singular form for the given message when - ``count == 1``. - """ - raise NotImplementedError() - - def pgettext(self, context, message, plural_message=None, count=None): - raise NotImplementedError() - - def format_date(self, date, gmt_offset=0, relative=True, shorter=False, - full_format=False): - """Formats the given date (which should be GMT). - - By default, we return a relative time (e.g., "2 minutes ago"). You - can return an absolute date string with ``relative=False``. - - You can force a full format date ("July 10, 1980") with - ``full_format=True``. - - This method is primarily intended for dates in the past. - For dates in the future, we fall back to full format. - """ - if isinstance(date, numbers.Real): - date = datetime.datetime.utcfromtimestamp(date) - now = datetime.datetime.utcnow() - if date > now: - if relative and (date - now).seconds < 60: - # Due to click skew, things are some things slightly - # in the future. Round timestamps in the immediate - # future down to now in relative mode. - date = now - else: - # Otherwise, future dates always use the full format. - full_format = True - local_date = date - datetime.timedelta(minutes=gmt_offset) - local_now = now - datetime.timedelta(minutes=gmt_offset) - local_yesterday = local_now - datetime.timedelta(hours=24) - difference = now - date - seconds = difference.seconds - days = difference.days - - _ = self.translate - format = None - if not full_format: - if relative and days == 0: - if seconds < 50: - return _("1 second ago", "%(seconds)d seconds ago", - seconds) % {"seconds": seconds} - - if seconds < 50 * 60: - minutes = round(seconds / 60.0) - return _("1 minute ago", "%(minutes)d minutes ago", - minutes) % {"minutes": minutes} - - hours = round(seconds / (60.0 * 60)) - return _("1 hour ago", "%(hours)d hours ago", - hours) % {"hours": hours} - - if days == 0: - format = _("%(time)s") - elif days == 1 and local_date.day == local_yesterday.day and \ - relative: - format = _("yesterday") if shorter else \ - _("yesterday at %(time)s") - elif days < 5: - format = _("%(weekday)s") if shorter else \ - _("%(weekday)s at %(time)s") - elif days < 334: # 11mo, since confusing for same month last year - format = _("%(month_name)s %(day)s") if shorter else \ - _("%(month_name)s %(day)s at %(time)s") - - if format is None: - format = _("%(month_name)s %(day)s, %(year)s") if shorter else \ - _("%(month_name)s %(day)s, %(year)s at %(time)s") - - tfhour_clock = self.code not in ("en", "en_US", "zh_CN") - if tfhour_clock: - str_time = "%d:%02d" % (local_date.hour, local_date.minute) - elif self.code == "zh_CN": - str_time = "%s%d:%02d" % ( - (u('\u4e0a\u5348'), u('\u4e0b\u5348'))[local_date.hour >= 12], - local_date.hour % 12 or 12, local_date.minute) - else: - str_time = "%d:%02d %s" % ( - local_date.hour % 12 or 12, local_date.minute, - ("am", "pm")[local_date.hour >= 12]) - - return format % { - "month_name": self._months[local_date.month - 1], - "weekday": self._weekdays[local_date.weekday()], - "day": str(local_date.day), - "year": str(local_date.year), - "time": str_time - } - - def format_day(self, date, gmt_offset=0, dow=True): - """Formats the given date as a day of week. - - Example: "Monday, January 22". You can remove the day of week with - ``dow=False``. - """ - local_date = date - datetime.timedelta(minutes=gmt_offset) - _ = self.translate - if dow: - return _("%(weekday)s, %(month_name)s %(day)s") % { - "month_name": self._months[local_date.month - 1], - "weekday": self._weekdays[local_date.weekday()], - "day": str(local_date.day), - } - else: - return _("%(month_name)s %(day)s") % { - "month_name": self._months[local_date.month - 1], - "day": str(local_date.day), - } - - def list(self, parts): - """Returns a comma-separated list for the given list of parts. - - The format is, e.g., "A, B and C", "A and B" or just "A" for lists - of size 1. - """ - _ = self.translate - if len(parts) == 0: - return "" - if len(parts) == 1: - return parts[0] - comma = u(' \u0648 ') if self.code.startswith("fa") else u(", ") - return _("%(commas)s and %(last)s") % { - "commas": comma.join(parts[:-1]), - "last": parts[len(parts) - 1], - } - - def friendly_number(self, value): - """Returns a comma-separated number for the given integer.""" - if self.code not in ("en", "en_US"): - return str(value) - value = str(value) - parts = [] - while value: - parts.append(value[-3:]) - value = value[:-3] - return ",".join(reversed(parts)) - - -class CSVLocale(Locale): - """Locale implementation using tornado's CSV translation format.""" - def translate(self, message, plural_message=None, count=None): - if plural_message is not None: - assert count is not None - if count != 1: - message = plural_message - message_dict = self.translations.get("plural", {}) - else: - message_dict = self.translations.get("singular", {}) - else: - message_dict = self.translations.get("unknown", {}) - return message_dict.get(message, message) - - def pgettext(self, context, message, plural_message=None, count=None): - if self.translations: - gen_log.warning('pgettext is not supported by CSVLocale') - return self.translate(message, plural_message, count) - - -class GettextLocale(Locale): - """Locale implementation using the `gettext` module.""" - def __init__(self, code, translations): - try: - # python 2 - self.ngettext = translations.ungettext - self.gettext = translations.ugettext - except AttributeError: - # python 3 - self.ngettext = translations.ngettext - self.gettext = translations.gettext - # self.gettext must exist before __init__ is called, since it - # calls into self.translate - super(GettextLocale, self).__init__(code, translations) - - def translate(self, message, plural_message=None, count=None): - if plural_message is not None: - assert count is not None - return self.ngettext(message, plural_message, count) - else: - return self.gettext(message) - - def pgettext(self, context, message, plural_message=None, count=None): - """Allows to set context for translation, accepts plural forms. - - Usage example:: - - pgettext("law", "right") - pgettext("good", "right") - - Plural message example:: - - pgettext("organization", "club", "clubs", len(clubs)) - pgettext("stick", "club", "clubs", len(clubs)) - - To generate POT file with context, add following options to step 1 - of `load_gettext_translations` sequence:: - - xgettext [basic options] --keyword=pgettext:1c,2 --keyword=pgettext:1c,2,3 - - .. versionadded:: 4.2 - """ - if plural_message is not None: - assert count is not None - msgs_with_ctxt = ("%s%s%s" % (context, CONTEXT_SEPARATOR, message), - "%s%s%s" % (context, CONTEXT_SEPARATOR, plural_message), - count) - result = self.ngettext(*msgs_with_ctxt) - if CONTEXT_SEPARATOR in result: - # Translation not found - result = self.ngettext(message, plural_message, count) - return result - else: - msg_with_ctxt = "%s%s%s" % (context, CONTEXT_SEPARATOR, message) - result = self.gettext(msg_with_ctxt) - if CONTEXT_SEPARATOR in result: - # Translation not found - result = message - return result diff --git a/lib27/site-packages/tornado/locks.py b/lib27/site-packages/tornado/locks.py deleted file mode 100644 index a18177286..000000000 --- a/lib27/site-packages/tornado/locks.py +++ /dev/null @@ -1,512 +0,0 @@ -# Copyright 2015 The Tornado Authors -# -# 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. - -from __future__ import absolute_import, division, print_function, with_statement - -__all__ = ['Condition', 'Event', 'Semaphore', 'BoundedSemaphore', 'Lock'] - -import collections - -from tornado import gen, ioloop -from tornado.concurrent import Future - - -class _TimeoutGarbageCollector(object): - """Base class for objects that periodically clean up timed-out waiters. - - Avoids memory leak in a common pattern like: - - while True: - yield condition.wait(short_timeout) - print('looping....') - """ - def __init__(self): - self._waiters = collections.deque() # Futures. - self._timeouts = 0 - - def _garbage_collect(self): - # Occasionally clear timed-out waiters. - self._timeouts += 1 - if self._timeouts > 100: - self._timeouts = 0 - self._waiters = collections.deque( - w for w in self._waiters if not w.done()) - - -class Condition(_TimeoutGarbageCollector): - """A condition allows one or more coroutines to wait until notified. - - Like a standard `threading.Condition`, but does not need an underlying lock - that is acquired and released. - - With a `Condition`, coroutines can wait to be notified by other coroutines: - - .. testcode:: - - from tornado import gen - from tornado.ioloop import IOLoop - from tornado.locks import Condition - - condition = Condition() - - @gen.coroutine - def waiter(): - print("I'll wait right here") - yield condition.wait() # Yield a Future. - print("I'm done waiting") - - @gen.coroutine - def notifier(): - print("About to notify") - condition.notify() - print("Done notifying") - - @gen.coroutine - def runner(): - # Yield two Futures; wait for waiter() and notifier() to finish. - yield [waiter(), notifier()] - - IOLoop.current().run_sync(runner) - - .. testoutput:: - - I'll wait right here - About to notify - Done notifying - I'm done waiting - - `wait` takes an optional ``timeout`` argument, which is either an absolute - timestamp:: - - io_loop = IOLoop.current() - - # Wait up to 1 second for a notification. - yield condition.wait(timeout=io_loop.time() + 1) - - ...or a `datetime.timedelta` for a timeout relative to the current time:: - - # Wait up to 1 second. - yield condition.wait(timeout=datetime.timedelta(seconds=1)) - - The method raises `tornado.gen.TimeoutError` if there's no notification - before the deadline. - """ - - def __init__(self): - super(Condition, self).__init__() - self.io_loop = ioloop.IOLoop.current() - - def __repr__(self): - result = '<%s' % (self.__class__.__name__, ) - if self._waiters: - result += ' waiters[%s]' % len(self._waiters) - return result + '>' - - def wait(self, timeout=None): - """Wait for `.notify`. - - Returns a `.Future` that resolves ``True`` if the condition is notified, - or ``False`` after a timeout. - """ - waiter = Future() - self._waiters.append(waiter) - if timeout: - def on_timeout(): - waiter.set_result(False) - self._garbage_collect() - io_loop = ioloop.IOLoop.current() - timeout_handle = io_loop.add_timeout(timeout, on_timeout) - waiter.add_done_callback( - lambda _: io_loop.remove_timeout(timeout_handle)) - return waiter - - def notify(self, n=1): - """Wake ``n`` waiters.""" - waiters = [] # Waiters we plan to run right now. - while n and self._waiters: - waiter = self._waiters.popleft() - if not waiter.done(): # Might have timed out. - n -= 1 - waiters.append(waiter) - - for waiter in waiters: - waiter.set_result(True) - - def notify_all(self): - """Wake all waiters.""" - self.notify(len(self._waiters)) - - -class Event(object): - """An event blocks coroutines until its internal flag is set to True. - - Similar to `threading.Event`. - - A coroutine can wait for an event to be set. Once it is set, calls to - ``yield event.wait()`` will not block unless the event has been cleared: - - .. testcode:: - - from tornado import gen - from tornado.ioloop import IOLoop - from tornado.locks import Event - - event = Event() - - @gen.coroutine - def waiter(): - print("Waiting for event") - yield event.wait() - print("Not waiting this time") - yield event.wait() - print("Done") - - @gen.coroutine - def setter(): - print("About to set the event") - event.set() - - @gen.coroutine - def runner(): - yield [waiter(), setter()] - - IOLoop.current().run_sync(runner) - - .. testoutput:: - - Waiting for event - About to set the event - Not waiting this time - Done - """ - def __init__(self): - self._future = Future() - - def __repr__(self): - return '<%s %s>' % ( - self.__class__.__name__, 'set' if self.is_set() else 'clear') - - def is_set(self): - """Return ``True`` if the internal flag is true.""" - return self._future.done() - - def set(self): - """Set the internal flag to ``True``. All waiters are awakened. - - Calling `.wait` once the flag is set will not block. - """ - if not self._future.done(): - self._future.set_result(None) - - def clear(self): - """Reset the internal flag to ``False``. - - Calls to `.wait` will block until `.set` is called. - """ - if self._future.done(): - self._future = Future() - - def wait(self, timeout=None): - """Block until the internal flag is true. - - Returns a Future, which raises `tornado.gen.TimeoutError` after a - timeout. - """ - if timeout is None: - return self._future - else: - return gen.with_timeout(timeout, self._future) - - -class _ReleasingContextManager(object): - """Releases a Lock or Semaphore at the end of a "with" statement. - - with (yield semaphore.acquire()): - pass - - # Now semaphore.release() has been called. - """ - def __init__(self, obj): - self._obj = obj - - def __enter__(self): - pass - - def __exit__(self, exc_type, exc_val, exc_tb): - self._obj.release() - - -class Semaphore(_TimeoutGarbageCollector): - """A lock that can be acquired a fixed number of times before blocking. - - A Semaphore manages a counter representing the number of `.release` calls - minus the number of `.acquire` calls, plus an initial value. The `.acquire` - method blocks if necessary until it can return without making the counter - negative. - - Semaphores limit access to a shared resource. To allow access for two - workers at a time: - - .. testsetup:: semaphore - - from collections import deque - - from tornado import gen - from tornado.ioloop import IOLoop - from tornado.concurrent import Future - - # Ensure reliable doctest output: resolve Futures one at a time. - futures_q = deque([Future() for _ in range(3)]) - - @gen.coroutine - def simulator(futures): - for f in futures: - yield gen.moment - f.set_result(None) - - IOLoop.current().add_callback(simulator, list(futures_q)) - - def use_some_resource(): - return futures_q.popleft() - - .. testcode:: semaphore - - from tornado import gen - from tornado.ioloop import IOLoop - from tornado.locks import Semaphore - - sem = Semaphore(2) - - @gen.coroutine - def worker(worker_id): - yield sem.acquire() - try: - print("Worker %d is working" % worker_id) - yield use_some_resource() - finally: - print("Worker %d is done" % worker_id) - sem.release() - - @gen.coroutine - def runner(): - # Join all workers. - yield [worker(i) for i in range(3)] - - IOLoop.current().run_sync(runner) - - .. testoutput:: semaphore - - Worker 0 is working - Worker 1 is working - Worker 0 is done - Worker 2 is working - Worker 1 is done - Worker 2 is done - - Workers 0 and 1 are allowed to run concurrently, but worker 2 waits until - the semaphore has been released once, by worker 0. - - `.acquire` is a context manager, so ``worker`` could be written as:: - - @gen.coroutine - def worker(worker_id): - with (yield sem.acquire()): - print("Worker %d is working" % worker_id) - yield use_some_resource() - - # Now the semaphore has been released. - print("Worker %d is done" % worker_id) - - In Python 3.5, the semaphore itself can be used as an async context - manager:: - - async def worker(worker_id): - async with sem: - print("Worker %d is working" % worker_id) - await use_some_resource() - - # Now the semaphore has been released. - print("Worker %d is done" % worker_id) - - .. versionchanged:: 4.3 - Added ``async with`` support in Python 3.5. - """ - def __init__(self, value=1): - super(Semaphore, self).__init__() - if value < 0: - raise ValueError('semaphore initial value must be >= 0') - - self._value = value - - def __repr__(self): - res = super(Semaphore, self).__repr__() - extra = 'locked' if self._value == 0 else 'unlocked,value:{0}'.format( - self._value) - if self._waiters: - extra = '{0},waiters:{1}'.format(extra, len(self._waiters)) - return '<{0} [{1}]>'.format(res[1:-1], extra) - - def release(self): - """Increment the counter and wake one waiter.""" - self._value += 1 - while self._waiters: - waiter = self._waiters.popleft() - if not waiter.done(): - self._value -= 1 - - # If the waiter is a coroutine paused at - # - # with (yield semaphore.acquire()): - # - # then the context manager's __exit__ calls release() at the end - # of the "with" block. - waiter.set_result(_ReleasingContextManager(self)) - break - - def acquire(self, timeout=None): - """Decrement the counter. Returns a Future. - - Block if the counter is zero and wait for a `.release`. The Future - raises `.TimeoutError` after the deadline. - """ - waiter = Future() - if self._value > 0: - self._value -= 1 - waiter.set_result(_ReleasingContextManager(self)) - else: - self._waiters.append(waiter) - if timeout: - def on_timeout(): - waiter.set_exception(gen.TimeoutError()) - self._garbage_collect() - io_loop = ioloop.IOLoop.current() - timeout_handle = io_loop.add_timeout(timeout, on_timeout) - waiter.add_done_callback( - lambda _: io_loop.remove_timeout(timeout_handle)) - return waiter - - def __enter__(self): - raise RuntimeError( - "Use Semaphore like 'with (yield semaphore.acquire())', not like" - " 'with semaphore'") - - __exit__ = __enter__ - - @gen.coroutine - def __aenter__(self): - yield self.acquire() - - @gen.coroutine - def __aexit__(self, typ, value, tb): - self.release() - - -class BoundedSemaphore(Semaphore): - """A semaphore that prevents release() being called too many times. - - If `.release` would increment the semaphore's value past the initial - value, it raises `ValueError`. Semaphores are mostly used to guard - resources with limited capacity, so a semaphore released too many times - is a sign of a bug. - """ - def __init__(self, value=1): - super(BoundedSemaphore, self).__init__(value=value) - self._initial_value = value - - def release(self): - """Increment the counter and wake one waiter.""" - if self._value >= self._initial_value: - raise ValueError("Semaphore released too many times") - super(BoundedSemaphore, self).release() - - -class Lock(object): - """A lock for coroutines. - - A Lock begins unlocked, and `acquire` locks it immediately. While it is - locked, a coroutine that yields `acquire` waits until another coroutine - calls `release`. - - Releasing an unlocked lock raises `RuntimeError`. - - `acquire` supports the context manager protocol in all Python versions: - - >>> from tornado import gen, locks - >>> lock = locks.Lock() - >>> - >>> @gen.coroutine - ... def f(): - ... with (yield lock.acquire()): - ... # Do something holding the lock. - ... pass - ... - ... # Now the lock is released. - - In Python 3.5, `Lock` also supports the async context manager - protocol. Note that in this case there is no `acquire`, because - ``async with`` includes both the ``yield`` and the ``acquire`` - (just as it does with `threading.Lock`): - - >>> async def f(): # doctest: +SKIP - ... async with lock: - ... # Do something holding the lock. - ... pass - ... - ... # Now the lock is released. - - .. versionchanged:: 3.5 - Added ``async with`` support in Python 3.5. - - """ - def __init__(self): - self._block = BoundedSemaphore(value=1) - - def __repr__(self): - return "<%s _block=%s>" % ( - self.__class__.__name__, - self._block) - - def acquire(self, timeout=None): - """Attempt to lock. Returns a Future. - - Returns a Future, which raises `tornado.gen.TimeoutError` after a - timeout. - """ - return self._block.acquire(timeout) - - def release(self): - """Unlock. - - The first coroutine in line waiting for `acquire` gets the lock. - - If not locked, raise a `RuntimeError`. - """ - try: - self._block.release() - except ValueError: - raise RuntimeError('release unlocked lock') - - def __enter__(self): - raise RuntimeError( - "Use Lock like 'with (yield lock)', not like 'with lock'") - - __exit__ = __enter__ - - @gen.coroutine - def __aenter__(self): - yield self.acquire() - - @gen.coroutine - def __aexit__(self, typ, value, tb): - self.release() diff --git a/lib27/site-packages/tornado/log.py b/lib27/site-packages/tornado/log.py deleted file mode 100644 index 040889a98..000000000 --- a/lib27/site-packages/tornado/log.py +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2012 Facebook -# -# 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. -"""Logging support for Tornado. - -Tornado uses three logger streams: - -* ``tornado.access``: Per-request logging for Tornado's HTTP servers (and - potentially other servers in the future) -* ``tornado.application``: Logging of errors from application code (i.e. - uncaught exceptions from callbacks) -* ``tornado.general``: General-purpose logging, including any errors - or warnings from Tornado itself. - -These streams may be configured independently using the standard library's -`logging` module. For example, you may wish to send ``tornado.access`` logs -to a separate file for analysis. -""" -from __future__ import absolute_import, division, print_function, with_statement - -import logging -import logging.handlers -import sys - -from tornado.escape import _unicode -from tornado.util import unicode_type, basestring_type - -try: - import curses -except ImportError: - curses = None - -# Logger objects for internal tornado use -access_log = logging.getLogger("tornado.access") -app_log = logging.getLogger("tornado.application") -gen_log = logging.getLogger("tornado.general") - - -def _stderr_supports_color(): - color = False - if curses and hasattr(sys.stderr, 'isatty') and sys.stderr.isatty(): - try: - curses.setupterm() - if curses.tigetnum("colors") > 0: - color = True - except Exception: - pass - return color - - -def _safe_unicode(s): - try: - return _unicode(s) - except UnicodeDecodeError: - return repr(s) - - -class LogFormatter(logging.Formatter): - """Log formatter used in Tornado. - - Key features of this formatter are: - - * Color support when logging to a terminal that supports it. - * Timestamps on every log line. - * Robust against str/bytes encoding problems. - - This formatter is enabled automatically by - `tornado.options.parse_command_line` (unless ``--logging=none`` is - used). - """ - DEFAULT_FORMAT = '%(color)s[%(levelname)1.1s %(asctime)s %(module)s:%(lineno)d]%(end_color)s %(message)s' - DEFAULT_DATE_FORMAT = '%y%m%d %H:%M:%S' - DEFAULT_COLORS = { - logging.DEBUG: 4, # Blue - logging.INFO: 2, # Green - logging.WARNING: 3, # Yellow - logging.ERROR: 1, # Red - } - - def __init__(self, color=True, fmt=DEFAULT_FORMAT, - datefmt=DEFAULT_DATE_FORMAT, colors=DEFAULT_COLORS): - r""" - :arg bool color: Enables color support. - :arg string fmt: Log message format. - It will be applied to the attributes dict of log records. The - text between ``%(color)s`` and ``%(end_color)s`` will be colored - depending on the level if color support is on. - :arg dict colors: color mappings from logging level to terminal color - code - :arg string datefmt: Datetime format. - Used for formatting ``(asctime)`` placeholder in ``prefix_fmt``. - - .. versionchanged:: 3.2 - - Added ``fmt`` and ``datefmt`` arguments. - """ - logging.Formatter.__init__(self, datefmt=datefmt) - self._fmt = fmt - - self._colors = {} - if color and _stderr_supports_color(): - # The curses module has some str/bytes confusion in - # python3. Until version 3.2.3, most methods return - # bytes, but only accept strings. In addition, we want to - # output these strings with the logging module, which - # works with unicode strings. The explicit calls to - # unicode() below are harmless in python2 but will do the - # right conversion in python 3. - fg_color = (curses.tigetstr("setaf") or - curses.tigetstr("setf") or "") - if (3, 0) < sys.version_info < (3, 2, 3): - fg_color = unicode_type(fg_color, "ascii") - - for levelno, code in colors.items(): - self._colors[levelno] = unicode_type(curses.tparm(fg_color, code), "ascii") - self._normal = unicode_type(curses.tigetstr("sgr0"), "ascii") - else: - self._normal = '' - - def format(self, record): - try: - message = record.getMessage() - assert isinstance(message, basestring_type) # guaranteed by logging - # Encoding notes: The logging module prefers to work with character - # strings, but only enforces that log messages are instances of - # basestring. In python 2, non-ascii bytestrings will make - # their way through the logging framework until they blow up with - # an unhelpful decoding error (with this formatter it happens - # when we attach the prefix, but there are other opportunities for - # exceptions further along in the framework). - # - # If a byte string makes it this far, convert it to unicode to - # ensure it will make it out to the logs. Use repr() as a fallback - # to ensure that all byte strings can be converted successfully, - # but don't do it by default so we don't add extra quotes to ascii - # bytestrings. This is a bit of a hacky place to do this, but - # it's worth it since the encoding errors that would otherwise - # result are so useless (and tornado is fond of using utf8-encoded - # byte strings whereever possible). - record.message = _safe_unicode(message) - except Exception as e: - record.message = "Bad message (%r): %r" % (e, record.__dict__) - - record.asctime = self.formatTime(record, self.datefmt) - - if record.levelno in self._colors: - record.color = self._colors[record.levelno] - record.end_color = self._normal - else: - record.color = record.end_color = '' - - formatted = self._fmt % record.__dict__ - - if record.exc_info: - if not record.exc_text: - record.exc_text = self.formatException(record.exc_info) - if record.exc_text: - # exc_text contains multiple lines. We need to _safe_unicode - # each line separately so that non-utf8 bytes don't cause - # all the newlines to turn into '\n'. - lines = [formatted.rstrip()] - lines.extend(_safe_unicode(ln) for ln in record.exc_text.split('\n')) - formatted = '\n'.join(lines) - return formatted.replace("\n", "\n ") - - -def enable_pretty_logging(options=None, logger=None): - """Turns on formatted logging output as configured. - - This is called automatically by `tornado.options.parse_command_line` - and `tornado.options.parse_config_file`. - """ - if options is None: - from tornado.options import options - if options.logging is None or options.logging.lower() == 'none': - return - if logger is None: - logger = logging.getLogger() - logger.setLevel(getattr(logging, options.logging.upper())) - if options.log_file_prefix: - rotate_mode = options.log_rotate_mode - if rotate_mode == 'size': - channel = logging.handlers.RotatingFileHandler( - filename=options.log_file_prefix, - maxBytes=options.log_file_max_size, - backupCount=options.log_file_num_backups) - elif rotate_mode == 'time': - channel = logging.handlers.TimedRotatingFileHandler( - filename=options.log_file_prefix, - when=options.log_rotate_when, - interval=options.log_rotate_interval, - backupCount=options.log_file_num_backups) - else: - error_message = 'The value of log_rotate_mode option should be ' +\ - '"size" or "time", not "%s".' % rotate_mode - raise ValueError(error_message) - channel.setFormatter(LogFormatter(color=False)) - logger.addHandler(channel) - - if (options.log_to_stderr or - (options.log_to_stderr is None and not logger.handlers)): - # Set up color if we are in a tty and curses is installed - channel = logging.StreamHandler() - channel.setFormatter(LogFormatter()) - logger.addHandler(channel) - - -def define_logging_options(options=None): - """Add logging-related flags to ``options``. - - These options are present automatically on the default options instance; - this method is only necessary if you have created your own `.OptionParser`. - - .. versionadded:: 4.2 - This function existed in prior versions but was broken and undocumented until 4.2. - """ - if options is None: - # late import to prevent cycle - from tornado.options import options - options.define("logging", default="info", - help=("Set the Python log level. If 'none', tornado won't touch the " - "logging configuration."), - metavar="debug|info|warning|error|none") - options.define("log_to_stderr", type=bool, default=None, - help=("Send log output to stderr (colorized if possible). " - "By default use stderr if --log_file_prefix is not set and " - "no other logging is configured.")) - options.define("log_file_prefix", type=str, default=None, metavar="PATH", - help=("Path prefix for log files. " - "Note that if you are running multiple tornado processes, " - "log_file_prefix must be different for each of them (e.g. " - "include the port number)")) - options.define("log_file_max_size", type=int, default=100 * 1000 * 1000, - help="max size of log files before rollover") - options.define("log_file_num_backups", type=int, default=10, - help="number of log files to keep") - - options.define("log_rotate_when", type=str, default='midnight', - help=("specify the type of TimedRotatingFileHandler interval " - "other options:('S', 'M', 'H', 'D', 'W0'-'W6')")) - options.define("log_rotate_interval", type=int, default=1, - help="The interval value of timed rotating") - - options.define("log_rotate_mode", type=str, default='size', - help="The mode of rotating files(time or size)") - - options.add_parse_callback(lambda: enable_pretty_logging(options)) diff --git a/lib27/site-packages/tornado/netutil.py b/lib27/site-packages/tornado/netutil.py deleted file mode 100644 index 4fc8d04d9..000000000 --- a/lib27/site-packages/tornado/netutil.py +++ /dev/null @@ -1,521 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011 Facebook -# -# 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. - -"""Miscellaneous network utility code.""" - -from __future__ import absolute_import, division, print_function, with_statement - -import errno -import os -import sys -import socket -import stat - -from tornado.concurrent import dummy_executor, run_on_executor -from tornado.ioloop import IOLoop -from tornado.platform.auto import set_close_exec -from tornado.util import u, Configurable, errno_from_exception - -try: - import ssl -except ImportError: - # ssl is not available on Google App Engine - ssl = None - -try: - import certifi -except ImportError: - # certifi is optional as long as we have ssl.create_default_context. - if ssl is None or hasattr(ssl, 'create_default_context'): - certifi = None - else: - raise - -try: - xrange # py2 -except NameError: - xrange = range # py3 - -if hasattr(ssl, 'match_hostname') and hasattr(ssl, 'CertificateError'): # python 3.2+ - ssl_match_hostname = ssl.match_hostname - SSLCertificateError = ssl.CertificateError -elif ssl is None: - ssl_match_hostname = SSLCertificateError = None -else: - import backports.ssl_match_hostname - ssl_match_hostname = backports.ssl_match_hostname.match_hostname - SSLCertificateError = backports.ssl_match_hostname.CertificateError - -if hasattr(ssl, 'SSLContext'): - if hasattr(ssl, 'create_default_context'): - # Python 2.7.9+, 3.4+ - # Note that the naming of ssl.Purpose is confusing; the purpose - # of a context is to authentiate the opposite side of the connection. - _client_ssl_defaults = ssl.create_default_context( - ssl.Purpose.SERVER_AUTH) - _server_ssl_defaults = ssl.create_default_context( - ssl.Purpose.CLIENT_AUTH) - else: - # Python 3.2-3.3 - _client_ssl_defaults = ssl.SSLContext(ssl.PROTOCOL_SSLv23) - _client_ssl_defaults.verify_mode = ssl.CERT_REQUIRED - _client_ssl_defaults.load_verify_locations(certifi.where()) - _server_ssl_defaults = ssl.SSLContext(ssl.PROTOCOL_SSLv23) - if hasattr(ssl, 'OP_NO_COMPRESSION'): - # Disable TLS compression to avoid CRIME and related attacks. - # This constant wasn't added until python 3.3. - _client_ssl_defaults.options |= ssl.OP_NO_COMPRESSION - _server_ssl_defaults.options |= ssl.OP_NO_COMPRESSION - -elif ssl: - # Python 2.6-2.7.8 - _client_ssl_defaults = dict(cert_reqs=ssl.CERT_REQUIRED, - ca_certs=certifi.where()) - _server_ssl_defaults = {} -else: - # Google App Engine - _client_ssl_defaults = dict(cert_reqs=None, - ca_certs=None) - _server_ssl_defaults = {} - -# ThreadedResolver runs getaddrinfo on a thread. If the hostname is unicode, -# getaddrinfo attempts to import encodings.idna. If this is done at -# module-import time, the import lock is already held by the main thread, -# leading to deadlock. Avoid it by caching the idna encoder on the main -# thread now. -u('foo').encode('idna') - -# These errnos indicate that a non-blocking operation must be retried -# at a later time. On most platforms they're the same value, but on -# some they differ. -_ERRNO_WOULDBLOCK = (errno.EWOULDBLOCK, errno.EAGAIN) - -if hasattr(errno, "WSAEWOULDBLOCK"): - _ERRNO_WOULDBLOCK += (errno.WSAEWOULDBLOCK,) - -# Default backlog used when calling sock.listen() -_DEFAULT_BACKLOG = 128 - - -def bind_sockets(port, address=None, family=socket.AF_UNSPEC, - backlog=_DEFAULT_BACKLOG, flags=None, reuse_port=False): - """Creates listening sockets bound to the given port and address. - - Returns a list of socket objects (multiple sockets are returned if - the given address maps to multiple IP addresses, which is most common - for mixed IPv4 and IPv6 use). - - Address may be either an IP address or hostname. If it's a hostname, - the server will listen on all IP addresses associated with the - name. Address may be an empty string or None to listen on all - available interfaces. Family may be set to either `socket.AF_INET` - or `socket.AF_INET6` to restrict to IPv4 or IPv6 addresses, otherwise - both will be used if available. - - The ``backlog`` argument has the same meaning as for - `socket.listen() `. - - ``flags`` is a bitmask of AI_* flags to `~socket.getaddrinfo`, like - ``socket.AI_PASSIVE | socket.AI_NUMERICHOST``. - - ``resuse_port`` option sets ``SO_REUSEPORT`` option for every socket - in the list. If your platform doesn't support this option ValueError will - be raised. - """ - if reuse_port and not hasattr(socket, "SO_REUSEPORT"): - raise ValueError("the platform doesn't support SO_REUSEPORT") - - sockets = [] - if address == "": - address = None - if not socket.has_ipv6 and family == socket.AF_UNSPEC: - # Python can be compiled with --disable-ipv6, which causes - # operations on AF_INET6 sockets to fail, but does not - # automatically exclude those results from getaddrinfo - # results. - # http://bugs.python.org/issue16208 - family = socket.AF_INET - if flags is None: - flags = socket.AI_PASSIVE - bound_port = None - for res in set(socket.getaddrinfo(address, port, family, socket.SOCK_STREAM, - 0, flags)): - af, socktype, proto, canonname, sockaddr = res - if (sys.platform == 'darwin' and address == 'localhost' and - af == socket.AF_INET6 and sockaddr[3] != 0): - # Mac OS X includes a link-local address fe80::1%lo0 in the - # getaddrinfo results for 'localhost'. However, the firewall - # doesn't understand that this is a local address and will - # prompt for access (often repeatedly, due to an apparent - # bug in its ability to remember granting access to an - # application). Skip these addresses. - continue - try: - sock = socket.socket(af, socktype, proto) - except socket.error as e: - if errno_from_exception(e) == errno.EAFNOSUPPORT: - continue - raise - set_close_exec(sock.fileno()) - if os.name != 'nt': - sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - if reuse_port: - sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) - if af == socket.AF_INET6: - # On linux, ipv6 sockets accept ipv4 too by default, - # but this makes it impossible to bind to both - # 0.0.0.0 in ipv4 and :: in ipv6. On other systems, - # separate sockets *must* be used to listen for both ipv4 - # and ipv6. For consistency, always disable ipv4 on our - # ipv6 sockets and use a separate ipv4 socket when needed. - # - # Python 2.x on windows doesn't have IPPROTO_IPV6. - if hasattr(socket, "IPPROTO_IPV6"): - sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) - - # automatic port allocation with port=None - # should bind on the same port on IPv4 and IPv6 - host, requested_port = sockaddr[:2] - if requested_port == 0 and bound_port is not None: - sockaddr = tuple([host, bound_port] + list(sockaddr[2:])) - - sock.setblocking(0) - sock.bind(sockaddr) - bound_port = sock.getsockname()[1] - sock.listen(backlog) - sockets.append(sock) - return sockets - -if hasattr(socket, 'AF_UNIX'): - def bind_unix_socket(file, mode=0o600, backlog=_DEFAULT_BACKLOG): - """Creates a listening unix socket. - - If a socket with the given name already exists, it will be deleted. - If any other file with that name exists, an exception will be - raised. - - Returns a socket object (not a list of socket objects like - `bind_sockets`) - """ - sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - set_close_exec(sock.fileno()) - sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - sock.setblocking(0) - try: - st = os.stat(file) - except OSError as err: - if errno_from_exception(err) != errno.ENOENT: - raise - else: - if stat.S_ISSOCK(st.st_mode): - os.remove(file) - else: - raise ValueError("File %s exists and is not a socket", file) - sock.bind(file) - os.chmod(file, mode) - sock.listen(backlog) - return sock - - -def add_accept_handler(sock, callback, io_loop=None): - """Adds an `.IOLoop` event handler to accept new connections on ``sock``. - - When a connection is accepted, ``callback(connection, address)`` will - be run (``connection`` is a socket object, and ``address`` is the - address of the other end of the connection). Note that this signature - is different from the ``callback(fd, events)`` signature used for - `.IOLoop` handlers. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - if io_loop is None: - io_loop = IOLoop.current() - - def accept_handler(fd, events): - # More connections may come in while we're handling callbacks; - # to prevent starvation of other tasks we must limit the number - # of connections we accept at a time. Ideally we would accept - # up to the number of connections that were waiting when we - # entered this method, but this information is not available - # (and rearranging this method to call accept() as many times - # as possible before running any callbacks would have adverse - # effects on load balancing in multiprocess configurations). - # Instead, we use the (default) listen backlog as a rough - # heuristic for the number of connections we can reasonably - # accept at once. - for i in xrange(_DEFAULT_BACKLOG): - try: - connection, address = sock.accept() - except socket.error as e: - # _ERRNO_WOULDBLOCK indicate we have accepted every - # connection that is available. - if errno_from_exception(e) in _ERRNO_WOULDBLOCK: - return - # ECONNABORTED indicates that there was a connection - # but it was closed while still in the accept queue. - # (observed on FreeBSD). - if errno_from_exception(e) == errno.ECONNABORTED: - continue - raise - callback(connection, address) - io_loop.add_handler(sock, accept_handler, IOLoop.READ) - - -def is_valid_ip(ip): - """Returns true if the given string is a well-formed IP address. - - Supports IPv4 and IPv6. - """ - if not ip or '\x00' in ip: - # getaddrinfo resolves empty strings to localhost, and truncates - # on zero bytes. - return False - try: - res = socket.getaddrinfo(ip, 0, socket.AF_UNSPEC, - socket.SOCK_STREAM, - 0, socket.AI_NUMERICHOST) - return bool(res) - except socket.gaierror as e: - if e.args[0] == socket.EAI_NONAME: - return False - raise - return True - - -class Resolver(Configurable): - """Configurable asynchronous DNS resolver interface. - - By default, a blocking implementation is used (which simply calls - `socket.getaddrinfo`). An alternative implementation can be - chosen with the `Resolver.configure <.Configurable.configure>` - class method:: - - Resolver.configure('tornado.netutil.ThreadedResolver') - - The implementations of this interface included with Tornado are - - * `tornado.netutil.BlockingResolver` - * `tornado.netutil.ThreadedResolver` - * `tornado.netutil.OverrideResolver` - * `tornado.platform.twisted.TwistedResolver` - * `tornado.platform.caresresolver.CaresResolver` - """ - @classmethod - def configurable_base(cls): - return Resolver - - @classmethod - def configurable_default(cls): - return BlockingResolver - - def resolve(self, host, port, family=socket.AF_UNSPEC, callback=None): - """Resolves an address. - - The ``host`` argument is a string which may be a hostname or a - literal IP address. - - Returns a `.Future` whose result is a list of (family, - address) pairs, where address is a tuple suitable to pass to - `socket.connect ` (i.e. a ``(host, - port)`` pair for IPv4; additional fields may be present for - IPv6). If a ``callback`` is passed, it will be run with the - result as an argument when it is complete. - """ - raise NotImplementedError() - - def close(self): - """Closes the `Resolver`, freeing any resources used. - - .. versionadded:: 3.1 - - """ - pass - - -class ExecutorResolver(Resolver): - """Resolver implementation using a `concurrent.futures.Executor`. - - Use this instead of `ThreadedResolver` when you require additional - control over the executor being used. - - The executor will be shut down when the resolver is closed unless - ``close_resolver=False``; use this if you want to reuse the same - executor elsewhere. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - def initialize(self, io_loop=None, executor=None, close_executor=True): - self.io_loop = io_loop or IOLoop.current() - if executor is not None: - self.executor = executor - self.close_executor = close_executor - else: - self.executor = dummy_executor - self.close_executor = False - - def close(self): - if self.close_executor: - self.executor.shutdown() - self.executor = None - - @run_on_executor - def resolve(self, host, port, family=socket.AF_UNSPEC): - # On Solaris, getaddrinfo fails if the given port is not found - # in /etc/services and no socket type is given, so we must pass - # one here. The socket type used here doesn't seem to actually - # matter (we discard the one we get back in the results), - # so the addresses we return should still be usable with SOCK_DGRAM. - addrinfo = socket.getaddrinfo(host, port, family, socket.SOCK_STREAM) - results = [] - for family, socktype, proto, canonname, address in addrinfo: - results.append((family, address)) - return results - - -class BlockingResolver(ExecutorResolver): - """Default `Resolver` implementation, using `socket.getaddrinfo`. - - The `.IOLoop` will be blocked during the resolution, although the - callback will not be run until the next `.IOLoop` iteration. - """ - def initialize(self, io_loop=None): - super(BlockingResolver, self).initialize(io_loop=io_loop) - - -class ThreadedResolver(ExecutorResolver): - """Multithreaded non-blocking `Resolver` implementation. - - Requires the `concurrent.futures` package to be installed - (available in the standard library since Python 3.2, - installable with ``pip install futures`` in older versions). - - The thread pool size can be configured with:: - - Resolver.configure('tornado.netutil.ThreadedResolver', - num_threads=10) - - .. versionchanged:: 3.1 - All ``ThreadedResolvers`` share a single thread pool, whose - size is set by the first one to be created. - """ - _threadpool = None - _threadpool_pid = None - - def initialize(self, io_loop=None, num_threads=10): - threadpool = ThreadedResolver._create_threadpool(num_threads) - super(ThreadedResolver, self).initialize( - io_loop=io_loop, executor=threadpool, close_executor=False) - - @classmethod - def _create_threadpool(cls, num_threads): - pid = os.getpid() - if cls._threadpool_pid != pid: - # Threads cannot survive after a fork, so if our pid isn't what it - # was when we created the pool then delete it. - cls._threadpool = None - if cls._threadpool is None: - from concurrent.futures import ThreadPoolExecutor - cls._threadpool = ThreadPoolExecutor(num_threads) - cls._threadpool_pid = pid - return cls._threadpool - - -class OverrideResolver(Resolver): - """Wraps a resolver with a mapping of overrides. - - This can be used to make local DNS changes (e.g. for testing) - without modifying system-wide settings. - - The mapping can contain either host strings or host-port pairs. - """ - def initialize(self, resolver, mapping): - self.resolver = resolver - self.mapping = mapping - - def close(self): - self.resolver.close() - - def resolve(self, host, port, *args, **kwargs): - if (host, port) in self.mapping: - host, port = self.mapping[(host, port)] - elif host in self.mapping: - host = self.mapping[host] - return self.resolver.resolve(host, port, *args, **kwargs) - - -# These are the keyword arguments to ssl.wrap_socket that must be translated -# to their SSLContext equivalents (the other arguments are still passed -# to SSLContext.wrap_socket). -_SSL_CONTEXT_KEYWORDS = frozenset(['ssl_version', 'certfile', 'keyfile', - 'cert_reqs', 'ca_certs', 'ciphers']) - - -def ssl_options_to_context(ssl_options): - """Try to convert an ``ssl_options`` dictionary to an - `~ssl.SSLContext` object. - - The ``ssl_options`` dictionary contains keywords to be passed to - `ssl.wrap_socket`. In Python 2.7.9+, `ssl.SSLContext` objects can - be used instead. This function converts the dict form to its - `~ssl.SSLContext` equivalent, and may be used when a component which - accepts both forms needs to upgrade to the `~ssl.SSLContext` version - to use features like SNI or NPN. - """ - if isinstance(ssl_options, dict): - assert all(k in _SSL_CONTEXT_KEYWORDS for k in ssl_options), ssl_options - if (not hasattr(ssl, 'SSLContext') or - isinstance(ssl_options, ssl.SSLContext)): - return ssl_options - context = ssl.SSLContext( - ssl_options.get('ssl_version', ssl.PROTOCOL_SSLv23)) - if 'certfile' in ssl_options: - context.load_cert_chain(ssl_options['certfile'], ssl_options.get('keyfile', None)) - if 'cert_reqs' in ssl_options: - context.verify_mode = ssl_options['cert_reqs'] - if 'ca_certs' in ssl_options: - context.load_verify_locations(ssl_options['ca_certs']) - if 'ciphers' in ssl_options: - context.set_ciphers(ssl_options['ciphers']) - if hasattr(ssl, 'OP_NO_COMPRESSION'): - # Disable TLS compression to avoid CRIME and related attacks. - # This constant wasn't added until python 3.3. - context.options |= ssl.OP_NO_COMPRESSION - return context - - -def ssl_wrap_socket(socket, ssl_options, server_hostname=None, **kwargs): - """Returns an ``ssl.SSLSocket`` wrapping the given socket. - - ``ssl_options`` may be either an `ssl.SSLContext` object or a - dictionary (as accepted by `ssl_options_to_context`). Additional - keyword arguments are passed to ``wrap_socket`` (either the - `~ssl.SSLContext` method or the `ssl` module function as - appropriate). - """ - context = ssl_options_to_context(ssl_options) - if hasattr(ssl, 'SSLContext') and isinstance(context, ssl.SSLContext): - if server_hostname is not None and getattr(ssl, 'HAS_SNI'): - # Python doesn't have server-side SNI support so we can't - # really unittest this, but it can be manually tested with - # python3.2 -m tornado.httpclient https://sni.velox.ch - return context.wrap_socket(socket, server_hostname=server_hostname, - **kwargs) - else: - return context.wrap_socket(socket, **kwargs) - else: - return ssl.wrap_socket(socket, **dict(context, **kwargs)) diff --git a/lib27/site-packages/tornado/options.py b/lib27/site-packages/tornado/options.py deleted file mode 100644 index ba16b1a7f..000000000 --- a/lib27/site-packages/tornado/options.py +++ /dev/null @@ -1,582 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""A command line parsing module that lets modules define their own options. - -Each module defines its own options which are added to the global -option namespace, e.g.:: - - from tornado.options import define, options - - define("mysql_host", default="127.0.0.1:3306", help="Main user DB") - define("memcache_hosts", default="127.0.0.1:11011", multiple=True, - help="Main user memcache servers") - - def connect(): - db = database.Connection(options.mysql_host) - ... - -The ``main()`` method of your application does not need to be aware of all of -the options used throughout your program; they are all automatically loaded -when the modules are loaded. However, all modules that define options -must have been imported before the command line is parsed. - -Your ``main()`` method can parse the command line or parse a config file with -either:: - - tornado.options.parse_command_line() - # or - tornado.options.parse_config_file("/etc/server.conf") - -Command line formats are what you would expect (``--myoption=myvalue``). -Config files are just Python files. Global names become options, e.g.:: - - myoption = "myvalue" - myotheroption = "myothervalue" - -We support `datetimes `, `timedeltas -`, ints, and floats (just pass a ``type`` kwarg to -`define`). We also accept multi-value options. See the documentation for -`define()` below. - -`tornado.options.options` is a singleton instance of `OptionParser`, and -the top-level functions in this module (`define`, `parse_command_line`, etc) -simply call methods on it. You may create additional `OptionParser` -instances to define isolated sets of options, such as for subcommands. - -.. note:: - - By default, several options are defined that will configure the - standard `logging` module when `parse_command_line` or `parse_config_file` - are called. If you want Tornado to leave the logging configuration - alone so you can manage it yourself, either pass ``--logging=none`` - on the command line or do the following to disable it in code:: - - from tornado.options import options, parse_command_line - options.logging = None - parse_command_line() - -.. versionchanged:: 4.3 - Dashes and underscores are fully interchangeable in option names; - options can be defined, set, and read with any mix of the two. - Dashes are typical for command-line usage while config files require - underscores. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import datetime -import numbers -import re -import sys -import os -import textwrap - -from tornado.escape import _unicode, native_str -from tornado.log import define_logging_options -from tornado import stack_context -from tornado.util import basestring_type, exec_in - - -class Error(Exception): - """Exception raised by errors in the options module.""" - pass - - -class OptionParser(object): - """A collection of options, a dictionary with object-like access. - - Normally accessed via static functions in the `tornado.options` module, - which reference a global instance. - """ - def __init__(self): - # we have to use self.__dict__ because we override setattr. - self.__dict__['_options'] = {} - self.__dict__['_parse_callbacks'] = [] - self.define("help", type=bool, help="show this help information", - callback=self._help_callback) - - def _normalize_name(self, name): - return name.replace('_', '-') - - def __getattr__(self, name): - name = self._normalize_name(name) - if isinstance(self._options.get(name), _Option): - return self._options[name].value() - raise AttributeError("Unrecognized option %r" % name) - - def __setattr__(self, name, value): - name = self._normalize_name(name) - if isinstance(self._options.get(name), _Option): - return self._options[name].set(value) - raise AttributeError("Unrecognized option %r" % name) - - def __iter__(self): - return (opt.name for opt in self._options.values()) - - def __contains__(self, name): - name = self._normalize_name(name) - return name in self._options - - def __getitem__(self, name): - name = self._normalize_name(name) - return self._options[name].value() - - def items(self): - """A sequence of (name, value) pairs. - - .. versionadded:: 3.1 - """ - return [(opt.name, opt.value()) for name, opt in self._options.items()] - - def groups(self): - """The set of option-groups created by ``define``. - - .. versionadded:: 3.1 - """ - return set(opt.group_name for opt in self._options.values()) - - def group_dict(self, group): - """The names and values of options in a group. - - Useful for copying options into Application settings:: - - from tornado.options import define, parse_command_line, options - - define('template_path', group='application') - define('static_path', group='application') - - parse_command_line() - - application = Application( - handlers, **options.group_dict('application')) - - .. versionadded:: 3.1 - """ - return dict( - (opt.name, opt.value()) for name, opt in self._options.items() - if not group or group == opt.group_name) - - def as_dict(self): - """The names and values of all options. - - .. versionadded:: 3.1 - """ - return dict( - (opt.name, opt.value()) for name, opt in self._options.items()) - - def define(self, name, default=None, type=None, help=None, metavar=None, - multiple=False, group=None, callback=None): - """Defines a new command line option. - - If ``type`` is given (one of str, float, int, datetime, or timedelta) - or can be inferred from the ``default``, we parse the command line - arguments based on the given type. If ``multiple`` is True, we accept - comma-separated values, and the option value is always a list. - - For multi-value integers, we also accept the syntax ``x:y``, which - turns into ``range(x, y)`` - very useful for long integer ranges. - - ``help`` and ``metavar`` are used to construct the - automatically generated command line help string. The help - message is formatted like:: - - --name=METAVAR help string - - ``group`` is used to group the defined options in logical - groups. By default, command line options are grouped by the - file in which they are defined. - - Command line option names must be unique globally. They can be parsed - from the command line with `parse_command_line` or parsed from a - config file with `parse_config_file`. - - If a ``callback`` is given, it will be run with the new value whenever - the option is changed. This can be used to combine command-line - and file-based options:: - - define("config", type=str, help="path to config file", - callback=lambda path: parse_config_file(path, final=False)) - - With this definition, options in the file specified by ``--config`` will - override options set earlier on the command line, but can be overridden - by later flags. - """ - if name in self._options: - raise Error("Option %r already defined in %s" % - (name, self._options[name].file_name)) - frame = sys._getframe(0) - options_file = frame.f_code.co_filename - - # Can be called directly, or through top level define() fn, in which - # case, step up above that frame to look for real caller. - if (frame.f_back.f_code.co_filename == options_file and - frame.f_back.f_code.co_name == 'define'): - frame = frame.f_back - - file_name = frame.f_back.f_code.co_filename - if file_name == options_file: - file_name = "" - if type is None: - if not multiple and default is not None: - type = default.__class__ - else: - type = str - if group: - group_name = group - else: - group_name = file_name - normalized = self._normalize_name(name) - option = _Option(name, file_name=file_name, - default=default, type=type, help=help, - metavar=metavar, multiple=multiple, - group_name=group_name, - callback=callback) - self._options[normalized] = option - - def parse_command_line(self, args=None, final=True): - """Parses all options given on the command line (defaults to - `sys.argv`). - - Note that ``args[0]`` is ignored since it is the program name - in `sys.argv`. - - We return a list of all arguments that are not parsed as options. - - If ``final`` is ``False``, parse callbacks will not be run. - This is useful for applications that wish to combine configurations - from multiple sources. - """ - if args is None: - args = sys.argv - remaining = [] - for i in range(1, len(args)): - # All things after the last option are command line arguments - if not args[i].startswith("-"): - remaining = args[i:] - break - if args[i] == "--": - remaining = args[i + 1:] - break - arg = args[i].lstrip("-") - name, equals, value = arg.partition("=") - name = self._normalize_name(name) - if name not in self._options: - self.print_help() - raise Error('Unrecognized command line option: %r' % name) - option = self._options[name] - if not equals: - if option.type == bool: - value = "true" - else: - raise Error('Option %r requires a value' % name) - option.parse(value) - - if final: - self.run_parse_callbacks() - - return remaining - - def parse_config_file(self, path, final=True): - """Parses and loads the Python config file at the given path. - - If ``final`` is ``False``, parse callbacks will not be run. - This is useful for applications that wish to combine configurations - from multiple sources. - - .. versionchanged:: 4.1 - Config files are now always interpreted as utf-8 instead of - the system default encoding. - """ - config = {} - with open(path, 'rb') as f: - exec_in(native_str(f.read()), config, config) - for name in config: - normalized = self._normalize_name(name) - if normalized in self._options: - self._options[normalized].set(config[name]) - - if final: - self.run_parse_callbacks() - - def print_help(self, file=None): - """Prints all the command line options to stderr (or another file).""" - if file is None: - file = sys.stderr - print("Usage: %s [OPTIONS]" % sys.argv[0], file=file) - print("\nOptions:\n", file=file) - by_group = {} - for option in self._options.values(): - by_group.setdefault(option.group_name, []).append(option) - - for filename, o in sorted(by_group.items()): - if filename: - print("\n%s options:\n" % os.path.normpath(filename), file=file) - o.sort(key=lambda option: option.name) - for option in o: - # Always print names with dashes in a CLI context. - prefix = self._normalize_name(option.name) - if option.metavar: - prefix += "=" + option.metavar - description = option.help or "" - if option.default is not None and option.default != '': - description += " (default %s)" % option.default - lines = textwrap.wrap(description, 79 - 35) - if len(prefix) > 30 or len(lines) == 0: - lines.insert(0, '') - print(" --%-30s %s" % (prefix, lines[0]), file=file) - for line in lines[1:]: - print("%-34s %s" % (' ', line), file=file) - print(file=file) - - def _help_callback(self, value): - if value: - self.print_help() - sys.exit(0) - - def add_parse_callback(self, callback): - """Adds a parse callback, to be invoked when option parsing is done.""" - self._parse_callbacks.append(stack_context.wrap(callback)) - - def run_parse_callbacks(self): - for callback in self._parse_callbacks: - callback() - - def mockable(self): - """Returns a wrapper around self that is compatible with - `mock.patch `. - - The `mock.patch ` function (included in - the standard library `unittest.mock` package since Python 3.3, - or in the third-party ``mock`` package for older versions of - Python) is incompatible with objects like ``options`` that - override ``__getattr__`` and ``__setattr__``. This function - returns an object that can be used with `mock.patch.object - ` to modify option values:: - - with mock.patch.object(options.mockable(), 'name', value): - assert options.name == value - """ - return _Mockable(self) - - -class _Mockable(object): - """`mock.patch` compatible wrapper for `OptionParser`. - - As of ``mock`` version 1.0.1, when an object uses ``__getattr__`` - hooks instead of ``__dict__``, ``patch.__exit__`` tries to delete - the attribute it set instead of setting a new one (assuming that - the object does not catpure ``__setattr__``, so the patch - created a new attribute in ``__dict__``). - - _Mockable's getattr and setattr pass through to the underlying - OptionParser, and delattr undoes the effect of a previous setattr. - """ - def __init__(self, options): - # Modify __dict__ directly to bypass __setattr__ - self.__dict__['_options'] = options - self.__dict__['_originals'] = {} - - def __getattr__(self, name): - return getattr(self._options, name) - - def __setattr__(self, name, value): - assert name not in self._originals, "don't reuse mockable objects" - self._originals[name] = getattr(self._options, name) - setattr(self._options, name, value) - - def __delattr__(self, name): - setattr(self._options, name, self._originals.pop(name)) - - -class _Option(object): - UNSET = object() - - def __init__(self, name, default=None, type=basestring_type, help=None, - metavar=None, multiple=False, file_name=None, group_name=None, - callback=None): - if default is None and multiple: - default = [] - self.name = name - self.type = type - self.help = help - self.metavar = metavar - self.multiple = multiple - self.file_name = file_name - self.group_name = group_name - self.callback = callback - self.default = default - self._value = _Option.UNSET - - def value(self): - return self.default if self._value is _Option.UNSET else self._value - - def parse(self, value): - _parse = { - datetime.datetime: self._parse_datetime, - datetime.timedelta: self._parse_timedelta, - bool: self._parse_bool, - basestring_type: self._parse_string, - }.get(self.type, self.type) - if self.multiple: - self._value = [] - for part in value.split(","): - if issubclass(self.type, numbers.Integral): - # allow ranges of the form X:Y (inclusive at both ends) - lo, _, hi = part.partition(":") - lo = _parse(lo) - hi = _parse(hi) if hi else lo - self._value.extend(range(lo, hi + 1)) - else: - self._value.append(_parse(part)) - else: - self._value = _parse(value) - if self.callback is not None: - self.callback(self._value) - return self.value() - - def set(self, value): - if self.multiple: - if not isinstance(value, list): - raise Error("Option %r is required to be a list of %s" % - (self.name, self.type.__name__)) - for item in value: - if item is not None and not isinstance(item, self.type): - raise Error("Option %r is required to be a list of %s" % - (self.name, self.type.__name__)) - else: - if value is not None and not isinstance(value, self.type): - raise Error("Option %r is required to be a %s (%s given)" % - (self.name, self.type.__name__, type(value))) - self._value = value - if self.callback is not None: - self.callback(self._value) - - # Supported date/time formats in our options - _DATETIME_FORMATS = [ - "%a %b %d %H:%M:%S %Y", - "%Y-%m-%d %H:%M:%S", - "%Y-%m-%d %H:%M", - "%Y-%m-%dT%H:%M", - "%Y%m%d %H:%M:%S", - "%Y%m%d %H:%M", - "%Y-%m-%d", - "%Y%m%d", - "%H:%M:%S", - "%H:%M", - ] - - def _parse_datetime(self, value): - for format in self._DATETIME_FORMATS: - try: - return datetime.datetime.strptime(value, format) - except ValueError: - pass - raise Error('Unrecognized date/time format: %r' % value) - - _TIMEDELTA_ABBREV_DICT = { - 'h': 'hours', - 'm': 'minutes', - 'min': 'minutes', - 's': 'seconds', - 'sec': 'seconds', - 'ms': 'milliseconds', - 'us': 'microseconds', - 'd': 'days', - 'w': 'weeks', - } - - _FLOAT_PATTERN = r'[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][-+]?\d+)?' - - _TIMEDELTA_PATTERN = re.compile( - r'\s*(%s)\s*(\w*)\s*' % _FLOAT_PATTERN, re.IGNORECASE) - - def _parse_timedelta(self, value): - try: - sum = datetime.timedelta() - start = 0 - while start < len(value): - m = self._TIMEDELTA_PATTERN.match(value, start) - if not m: - raise Exception() - num = float(m.group(1)) - units = m.group(2) or 'seconds' - units = self._TIMEDELTA_ABBREV_DICT.get(units, units) - sum += datetime.timedelta(**{units: num}) - start = m.end() - return sum - except Exception: - raise - - def _parse_bool(self, value): - return value.lower() not in ("false", "0", "f") - - def _parse_string(self, value): - return _unicode(value) - - -options = OptionParser() -"""Global options object. - -All defined options are available as attributes on this object. -""" - - -def define(name, default=None, type=None, help=None, metavar=None, - multiple=False, group=None, callback=None): - """Defines an option in the global namespace. - - See `OptionParser.define`. - """ - return options.define(name, default=default, type=type, help=help, - metavar=metavar, multiple=multiple, group=group, - callback=callback) - - -def parse_command_line(args=None, final=True): - """Parses global options from the command line. - - See `OptionParser.parse_command_line`. - """ - return options.parse_command_line(args, final=final) - - -def parse_config_file(path, final=True): - """Parses global options from a config file. - - See `OptionParser.parse_config_file`. - """ - return options.parse_config_file(path, final=final) - - -def print_help(file=None): - """Prints all the command line options to stderr (or another file). - - See `OptionParser.print_help`. - """ - return options.print_help(file) - - -def add_parse_callback(callback): - """Adds a parse callback, to be invoked when option parsing is done. - - See `OptionParser.add_parse_callback` - """ - options.add_parse_callback(callback) - - -# Default options -define_logging_options(options) diff --git a/lib27/site-packages/tornado/platform/asyncio.py b/lib27/site-packages/tornado/platform/asyncio.py deleted file mode 100644 index bf0428ec5..000000000 --- a/lib27/site-packages/tornado/platform/asyncio.py +++ /dev/null @@ -1,216 +0,0 @@ -"""Bridges between the `asyncio` module and Tornado IOLoop. - -.. versionadded:: 3.2 - -This module integrates Tornado with the ``asyncio`` module introduced -in Python 3.4 (and available `as a separate download -`_ for Python 3.3). This makes -it possible to combine the two libraries on the same event loop. - -Most applications should use `AsyncIOMainLoop` to run Tornado on the -default ``asyncio`` event loop. Applications that need to run event -loops on multiple threads may use `AsyncIOLoop` to create multiple -loops. - -.. note:: - - Tornado requires the `~asyncio.BaseEventLoop.add_reader` family of methods, - so it is not compatible with the `~asyncio.ProactorEventLoop` on Windows. - Use the `~asyncio.SelectorEventLoop` instead. -""" - -from __future__ import absolute_import, division, print_function, with_statement -import functools - -import tornado.concurrent -from tornado.gen import convert_yielded -from tornado.ioloop import IOLoop -from tornado import stack_context - -try: - # Import the real asyncio module for py33+ first. Older versions of the - # trollius backport also use this name. - import asyncio -except ImportError as e: - # Asyncio itself isn't available; see if trollius is (backport to py26+). - try: - import trollius as asyncio - except ImportError: - # Re-raise the original asyncio error, not the trollius one. - raise e - - -class BaseAsyncIOLoop(IOLoop): - def initialize(self, asyncio_loop, close_loop=False, **kwargs): - super(BaseAsyncIOLoop, self).initialize(**kwargs) - self.asyncio_loop = asyncio_loop - self.close_loop = close_loop - # Maps fd to (fileobj, handler function) pair (as in IOLoop.add_handler) - self.handlers = {} - # Set of fds listening for reads/writes - self.readers = set() - self.writers = set() - self.closing = False - - def close(self, all_fds=False): - self.closing = True - for fd in list(self.handlers): - fileobj, handler_func = self.handlers[fd] - self.remove_handler(fd) - if all_fds: - self.close_fd(fileobj) - if self.close_loop: - self.asyncio_loop.close() - - def add_handler(self, fd, handler, events): - fd, fileobj = self.split_fd(fd) - if fd in self.handlers: - raise ValueError("fd %s added twice" % fd) - self.handlers[fd] = (fileobj, stack_context.wrap(handler)) - if events & IOLoop.READ: - self.asyncio_loop.add_reader( - fd, self._handle_events, fd, IOLoop.READ) - self.readers.add(fd) - if events & IOLoop.WRITE: - self.asyncio_loop.add_writer( - fd, self._handle_events, fd, IOLoop.WRITE) - self.writers.add(fd) - - def update_handler(self, fd, events): - fd, fileobj = self.split_fd(fd) - if events & IOLoop.READ: - if fd not in self.readers: - self.asyncio_loop.add_reader( - fd, self._handle_events, fd, IOLoop.READ) - self.readers.add(fd) - else: - if fd in self.readers: - self.asyncio_loop.remove_reader(fd) - self.readers.remove(fd) - if events & IOLoop.WRITE: - if fd not in self.writers: - self.asyncio_loop.add_writer( - fd, self._handle_events, fd, IOLoop.WRITE) - self.writers.add(fd) - else: - if fd in self.writers: - self.asyncio_loop.remove_writer(fd) - self.writers.remove(fd) - - def remove_handler(self, fd): - fd, fileobj = self.split_fd(fd) - if fd not in self.handlers: - return - if fd in self.readers: - self.asyncio_loop.remove_reader(fd) - self.readers.remove(fd) - if fd in self.writers: - self.asyncio_loop.remove_writer(fd) - self.writers.remove(fd) - del self.handlers[fd] - - def _handle_events(self, fd, events): - fileobj, handler_func = self.handlers[fd] - handler_func(fileobj, events) - - def start(self): - old_current = IOLoop.current(instance=False) - try: - self._setup_logging() - self.make_current() - self.asyncio_loop.run_forever() - finally: - if old_current is None: - IOLoop.clear_current() - else: - old_current.make_current() - - def stop(self): - self.asyncio_loop.stop() - - def call_at(self, when, callback, *args, **kwargs): - # asyncio.call_at supports *args but not **kwargs, so bind them here. - # We do not synchronize self.time and asyncio_loop.time, so - # convert from absolute to relative. - return self.asyncio_loop.call_later( - max(0, when - self.time()), self._run_callback, - functools.partial(stack_context.wrap(callback), *args, **kwargs)) - - def remove_timeout(self, timeout): - timeout.cancel() - - def add_callback(self, callback, *args, **kwargs): - if self.closing: - raise RuntimeError("IOLoop is closing") - self.asyncio_loop.call_soon_threadsafe( - self._run_callback, - functools.partial(stack_context.wrap(callback), *args, **kwargs)) - - add_callback_from_signal = add_callback - - -class AsyncIOMainLoop(BaseAsyncIOLoop): - """``AsyncIOMainLoop`` creates an `.IOLoop` that corresponds to the - current ``asyncio`` event loop (i.e. the one returned by - ``asyncio.get_event_loop()``). Recommended usage:: - - from tornado.platform.asyncio import AsyncIOMainLoop - import asyncio - AsyncIOMainLoop().install() - asyncio.get_event_loop().run_forever() - """ - def initialize(self, **kwargs): - super(AsyncIOMainLoop, self).initialize(asyncio.get_event_loop(), - close_loop=False, **kwargs) - - -class AsyncIOLoop(BaseAsyncIOLoop): - """``AsyncIOLoop`` is an `.IOLoop` that runs on an ``asyncio`` event loop. - This class follows the usual Tornado semantics for creating new - ``IOLoops``; these loops are not necessarily related to the - ``asyncio`` default event loop. Recommended usage:: - - from tornado.ioloop import IOLoop - IOLoop.configure('tornado.platform.asyncio.AsyncIOLoop') - IOLoop.current().start() - - Each ``AsyncIOLoop`` creates a new ``asyncio.EventLoop``; this object - can be accessed with the ``asyncio_loop`` attribute. - """ - def initialize(self, **kwargs): - loop = asyncio.new_event_loop() - try: - super(AsyncIOLoop, self).initialize(loop, close_loop=True, **kwargs) - except Exception: - # If initialize() does not succeed (taking ownership of the loop), - # we have to close it. - loop.close() - raise - - -def to_tornado_future(asyncio_future): - """Convert an `asyncio.Future` to a `tornado.concurrent.Future`. - - .. versionadded:: 4.1 - """ - tf = tornado.concurrent.Future() - tornado.concurrent.chain_future(asyncio_future, tf) - return tf - - -def to_asyncio_future(tornado_future): - """Convert a Tornado yieldable object to an `asyncio.Future`. - - .. versionadded:: 4.1 - - .. versionchanged:: 4.3 - Now accepts any yieldable object, not just - `tornado.concurrent.Future`. - """ - tornado_future = convert_yielded(tornado_future) - af = asyncio.Future() - tornado.concurrent.chain_future(tornado_future, af) - return af - -if hasattr(convert_yielded, 'register'): - convert_yielded.register(asyncio.Future, to_tornado_future) diff --git a/lib27/site-packages/tornado/platform/auto.py b/lib27/site-packages/tornado/platform/auto.py deleted file mode 100644 index fc40c9d97..000000000 --- a/lib27/site-packages/tornado/platform/auto.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011 Facebook -# -# 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. - -"""Implementation of platform-specific functionality. - -For each function or class described in `tornado.platform.interface`, -the appropriate platform-specific implementation exists in this module. -Most code that needs access to this functionality should do e.g.:: - - from tornado.platform.auto import set_close_exec -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import os - -if 'APPENGINE_RUNTIME' in os.environ: - from tornado.platform.common import Waker - - def set_close_exec(fd): - pass -elif os.name == 'nt': - from tornado.platform.common import Waker - from tornado.platform.windows import set_close_exec -else: - from tornado.platform.posix import set_close_exec, Waker - -try: - # monotime monkey-patches the time module to have a monotonic function - # in versions of python before 3.3. - import monotime - # Silence pyflakes warning about this unused import - monotime -except ImportError: - pass -try: - from time import monotonic as monotonic_time -except ImportError: - monotonic_time = None - -__all__ = ['Waker', 'set_close_exec', 'monotonic_time'] diff --git a/lib27/site-packages/tornado/platform/caresresolver.py b/lib27/site-packages/tornado/platform/caresresolver.py deleted file mode 100644 index 5559614f5..000000000 --- a/lib27/site-packages/tornado/platform/caresresolver.py +++ /dev/null @@ -1,79 +0,0 @@ -from __future__ import absolute_import, division, print_function, with_statement -import pycares -import socket - -from tornado import gen -from tornado.ioloop import IOLoop -from tornado.netutil import Resolver, is_valid_ip - - -class CaresResolver(Resolver): - """Name resolver based on the c-ares library. - - This is a non-blocking and non-threaded resolver. It may not produce - the same results as the system resolver, but can be used for non-blocking - resolution when threads cannot be used. - - c-ares fails to resolve some names when ``family`` is ``AF_UNSPEC``, - so it is only recommended for use in ``AF_INET`` (i.e. IPv4). This is - the default for ``tornado.simple_httpclient``, but other libraries - may default to ``AF_UNSPEC``. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - def initialize(self, io_loop=None): - self.io_loop = io_loop or IOLoop.current() - self.channel = pycares.Channel(sock_state_cb=self._sock_state_cb) - self.fds = {} - - def _sock_state_cb(self, fd, readable, writable): - state = ((IOLoop.READ if readable else 0) | - (IOLoop.WRITE if writable else 0)) - if not state: - self.io_loop.remove_handler(fd) - del self.fds[fd] - elif fd in self.fds: - self.io_loop.update_handler(fd, state) - self.fds[fd] = state - else: - self.io_loop.add_handler(fd, self._handle_events, state) - self.fds[fd] = state - - def _handle_events(self, fd, events): - read_fd = pycares.ARES_SOCKET_BAD - write_fd = pycares.ARES_SOCKET_BAD - if events & IOLoop.READ: - read_fd = fd - if events & IOLoop.WRITE: - write_fd = fd - self.channel.process_fd(read_fd, write_fd) - - @gen.coroutine - def resolve(self, host, port, family=0): - if is_valid_ip(host): - addresses = [host] - else: - # gethostbyname doesn't take callback as a kwarg - self.channel.gethostbyname(host, family, (yield gen.Callback(1))) - callback_args = yield gen.Wait(1) - assert isinstance(callback_args, gen.Arguments) - assert not callback_args.kwargs - result, error = callback_args.args - if error: - raise Exception('C-Ares returned error %s: %s while resolving %s' % - (error, pycares.errno.strerror(error), host)) - addresses = result.addresses - addrinfo = [] - for address in addresses: - if '.' in address: - address_family = socket.AF_INET - elif ':' in address: - address_family = socket.AF_INET6 - else: - address_family = socket.AF_UNSPEC - if family != socket.AF_UNSPEC and family != address_family: - raise Exception('Requested socket family %d but got %d' % - (family, address_family)) - addrinfo.append((address_family, (address, port))) - raise gen.Return(addrinfo) diff --git a/lib27/site-packages/tornado/platform/common.py b/lib27/site-packages/tornado/platform/common.py deleted file mode 100644 index b409a903f..000000000 --- a/lib27/site-packages/tornado/platform/common.py +++ /dev/null @@ -1,92 +0,0 @@ -"""Lowest-common-denominator implementations of platform functionality.""" -from __future__ import absolute_import, division, print_function, with_statement - -import errno -import socket - -from tornado.platform import interface - - -class Waker(interface.Waker): - """Create an OS independent asynchronous pipe. - - For use on platforms that don't have os.pipe() (or where pipes cannot - be passed to select()), but do have sockets. This includes Windows - and Jython. - """ - def __init__(self): - # Based on Zope select_trigger.py: - # https://github.com/zopefoundation/Zope/blob/master/src/ZServer/medusa/thread/select_trigger.py - - self.writer = socket.socket() - # Disable buffering -- pulling the trigger sends 1 byte, - # and we want that sent immediately, to wake up ASAP. - self.writer.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - - count = 0 - while 1: - count += 1 - # Bind to a local port; for efficiency, let the OS pick - # a free port for us. - # Unfortunately, stress tests showed that we may not - # be able to connect to that port ("Address already in - # use") despite that the OS picked it. This appears - # to be a race bug in the Windows socket implementation. - # So we loop until a connect() succeeds (almost always - # on the first try). See the long thread at - # http://mail.zope.org/pipermail/zope/2005-July/160433.html - # for hideous details. - a = socket.socket() - a.bind(("127.0.0.1", 0)) - a.listen(1) - connect_address = a.getsockname() # assigned (host, port) pair - try: - self.writer.connect(connect_address) - break # success - except socket.error as detail: - if (not hasattr(errno, 'WSAEADDRINUSE') or - detail[0] != errno.WSAEADDRINUSE): - # "Address already in use" is the only error - # I've seen on two WinXP Pro SP2 boxes, under - # Pythons 2.3.5 and 2.4.1. - raise - # (10048, 'Address already in use') - # assert count <= 2 # never triggered in Tim's tests - if count >= 10: # I've never seen it go above 2 - a.close() - self.writer.close() - raise socket.error("Cannot bind trigger!") - # Close `a` and try again. Note: I originally put a short - # sleep() here, but it didn't appear to help or hurt. - a.close() - - self.reader, addr = a.accept() - self.reader.setblocking(0) - self.writer.setblocking(0) - a.close() - self.reader_fd = self.reader.fileno() - - def fileno(self): - return self.reader.fileno() - - def write_fileno(self): - return self.writer.fileno() - - def wake(self): - try: - self.writer.send(b"x") - except (IOError, socket.error): - pass - - def consume(self): - try: - while True: - result = self.reader.recv(1024) - if not result: - break - except (IOError, socket.error): - pass - - def close(self): - self.reader.close() - self.writer.close() diff --git a/lib27/site-packages/tornado/platform/epoll.py b/lib27/site-packages/tornado/platform/epoll.py deleted file mode 100644 index b08cc6281..000000000 --- a/lib27/site-packages/tornado/platform/epoll.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2012 Facebook -# -# 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. -"""EPoll-based IOLoop implementation for Linux systems.""" -from __future__ import absolute_import, division, print_function, with_statement - -import select - -from tornado.ioloop import PollIOLoop - - -class EPollIOLoop(PollIOLoop): - def initialize(self, **kwargs): - super(EPollIOLoop, self).initialize(impl=select.epoll(), **kwargs) diff --git a/lib27/site-packages/tornado/platform/interface.py b/lib27/site-packages/tornado/platform/interface.py deleted file mode 100644 index 07da6babd..000000000 --- a/lib27/site-packages/tornado/platform/interface.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011 Facebook -# -# 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. - -"""Interfaces for platform-specific functionality. - -This module exists primarily for documentation purposes and as base classes -for other tornado.platform modules. Most code should import the appropriate -implementation from `tornado.platform.auto`. -""" - -from __future__ import absolute_import, division, print_function, with_statement - - -def set_close_exec(fd): - """Sets the close-on-exec bit (``FD_CLOEXEC``)for a file descriptor.""" - raise NotImplementedError() - - -class Waker(object): - """A socket-like object that can wake another thread from ``select()``. - - The `~tornado.ioloop.IOLoop` will add the Waker's `fileno()` to - its ``select`` (or ``epoll`` or ``kqueue``) calls. When another - thread wants to wake up the loop, it calls `wake`. Once it has woken - up, it will call `consume` to do any necessary per-wake cleanup. When - the ``IOLoop`` is closed, it closes its waker too. - """ - def fileno(self): - """Returns the read file descriptor for this waker. - - Must be suitable for use with ``select()`` or equivalent on the - local platform. - """ - raise NotImplementedError() - - def write_fileno(self): - """Returns the write file descriptor for this waker.""" - raise NotImplementedError() - - def wake(self): - """Triggers activity on the waker's file descriptor.""" - raise NotImplementedError() - - def consume(self): - """Called after the listen has woken up to do any necessary cleanup.""" - raise NotImplementedError() - - def close(self): - """Closes the waker's file descriptor(s).""" - raise NotImplementedError() diff --git a/lib27/site-packages/tornado/platform/kqueue.py b/lib27/site-packages/tornado/platform/kqueue.py deleted file mode 100644 index f8f3e4a61..000000000 --- a/lib27/site-packages/tornado/platform/kqueue.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2012 Facebook -# -# 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. -"""KQueue-based IOLoop implementation for BSD/Mac systems.""" -from __future__ import absolute_import, division, print_function, with_statement - -import select - -from tornado.ioloop import IOLoop, PollIOLoop - -assert hasattr(select, 'kqueue'), 'kqueue not supported' - - -class _KQueue(object): - """A kqueue-based event loop for BSD/Mac systems.""" - def __init__(self): - self._kqueue = select.kqueue() - self._active = {} - - def fileno(self): - return self._kqueue.fileno() - - def close(self): - self._kqueue.close() - - def register(self, fd, events): - if fd in self._active: - raise IOError("fd %s already registered" % fd) - self._control(fd, events, select.KQ_EV_ADD) - self._active[fd] = events - - def modify(self, fd, events): - self.unregister(fd) - self.register(fd, events) - - def unregister(self, fd): - events = self._active.pop(fd) - self._control(fd, events, select.KQ_EV_DELETE) - - def _control(self, fd, events, flags): - kevents = [] - if events & IOLoop.WRITE: - kevents.append(select.kevent( - fd, filter=select.KQ_FILTER_WRITE, flags=flags)) - if events & IOLoop.READ: - kevents.append(select.kevent( - fd, filter=select.KQ_FILTER_READ, flags=flags)) - # Even though control() takes a list, it seems to return EINVAL - # on Mac OS X (10.6) when there is more than one event in the list. - for kevent in kevents: - self._kqueue.control([kevent], 0) - - def poll(self, timeout): - kevents = self._kqueue.control(None, 1000, timeout) - events = {} - for kevent in kevents: - fd = kevent.ident - if kevent.filter == select.KQ_FILTER_READ: - events[fd] = events.get(fd, 0) | IOLoop.READ - if kevent.filter == select.KQ_FILTER_WRITE: - if kevent.flags & select.KQ_EV_EOF: - # If an asynchronous connection is refused, kqueue - # returns a write event with the EOF flag set. - # Turn this into an error for consistency with the - # other IOLoop implementations. - # Note that for read events, EOF may be returned before - # all data has been consumed from the socket buffer, - # so we only check for EOF on write events. - events[fd] = IOLoop.ERROR - else: - events[fd] = events.get(fd, 0) | IOLoop.WRITE - if kevent.flags & select.KQ_EV_ERROR: - events[fd] = events.get(fd, 0) | IOLoop.ERROR - return events.items() - - -class KQueueIOLoop(PollIOLoop): - def initialize(self, **kwargs): - super(KQueueIOLoop, self).initialize(impl=_KQueue(), **kwargs) diff --git a/lib27/site-packages/tornado/platform/posix.py b/lib27/site-packages/tornado/platform/posix.py deleted file mode 100644 index 41a5794c6..000000000 --- a/lib27/site-packages/tornado/platform/posix.py +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011 Facebook -# -# 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. - -"""Posix implementations of platform-specific functionality.""" - -from __future__ import absolute_import, division, print_function, with_statement - -import fcntl -import os - -from tornado.platform import interface - - -def set_close_exec(fd): - flags = fcntl.fcntl(fd, fcntl.F_GETFD) - fcntl.fcntl(fd, fcntl.F_SETFD, flags | fcntl.FD_CLOEXEC) - - -def _set_nonblocking(fd): - flags = fcntl.fcntl(fd, fcntl.F_GETFL) - fcntl.fcntl(fd, fcntl.F_SETFL, flags | os.O_NONBLOCK) - - -class Waker(interface.Waker): - def __init__(self): - r, w = os.pipe() - _set_nonblocking(r) - _set_nonblocking(w) - set_close_exec(r) - set_close_exec(w) - self.reader = os.fdopen(r, "rb", 0) - self.writer = os.fdopen(w, "wb", 0) - - def fileno(self): - return self.reader.fileno() - - def write_fileno(self): - return self.writer.fileno() - - def wake(self): - try: - self.writer.write(b"x") - except IOError: - pass - - def consume(self): - try: - while True: - result = self.reader.read() - if not result: - break - except IOError: - pass - - def close(self): - self.reader.close() - self.writer.close() diff --git a/lib27/site-packages/tornado/platform/select.py b/lib27/site-packages/tornado/platform/select.py deleted file mode 100644 index db52ef910..000000000 --- a/lib27/site-packages/tornado/platform/select.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2012 Facebook -# -# 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. -"""Select-based IOLoop implementation. - -Used as a fallback for systems that don't support epoll or kqueue. -""" -from __future__ import absolute_import, division, print_function, with_statement - -import select - -from tornado.ioloop import IOLoop, PollIOLoop - - -class _Select(object): - """A simple, select()-based IOLoop implementation for non-Linux systems""" - def __init__(self): - self.read_fds = set() - self.write_fds = set() - self.error_fds = set() - self.fd_sets = (self.read_fds, self.write_fds, self.error_fds) - - def close(self): - pass - - def register(self, fd, events): - if fd in self.read_fds or fd in self.write_fds or fd in self.error_fds: - raise IOError("fd %s already registered" % fd) - if events & IOLoop.READ: - self.read_fds.add(fd) - if events & IOLoop.WRITE: - self.write_fds.add(fd) - if events & IOLoop.ERROR: - self.error_fds.add(fd) - # Closed connections are reported as errors by epoll and kqueue, - # but as zero-byte reads by select, so when errors are requested - # we need to listen for both read and error. - # self.read_fds.add(fd) - - def modify(self, fd, events): - self.unregister(fd) - self.register(fd, events) - - def unregister(self, fd): - self.read_fds.discard(fd) - self.write_fds.discard(fd) - self.error_fds.discard(fd) - - def poll(self, timeout): - readable, writeable, errors = select.select( - self.read_fds, self.write_fds, self.error_fds, timeout) - events = {} - for fd in readable: - events[fd] = events.get(fd, 0) | IOLoop.READ - for fd in writeable: - events[fd] = events.get(fd, 0) | IOLoop.WRITE - for fd in errors: - events[fd] = events.get(fd, 0) | IOLoop.ERROR - return events.items() - - -class SelectIOLoop(PollIOLoop): - def initialize(self, **kwargs): - super(SelectIOLoop, self).initialize(impl=_Select(), **kwargs) diff --git a/lib27/site-packages/tornado/platform/twisted.py b/lib27/site-packages/tornado/platform/twisted.py deleted file mode 100644 index d3a4e75d1..000000000 --- a/lib27/site-packages/tornado/platform/twisted.py +++ /dev/null @@ -1,585 +0,0 @@ -# Author: Ovidiu Predescu -# Date: July 2011 -# -# 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. -"""Bridges between the Twisted reactor and Tornado IOLoop. - -This module lets you run applications and libraries written for -Twisted in a Tornado application. It can be used in two modes, -depending on which library's underlying event loop you want to use. - -This module has been tested with Twisted versions 11.0.0 and newer. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import datetime -import functools -import numbers -import socket -import sys - -import twisted.internet.abstract -from twisted.internet.defer import Deferred -from twisted.internet.posixbase import PosixReactorBase -from twisted.internet.interfaces import \ - IReactorFDSet, IDelayedCall, IReactorTime, IReadDescriptor, IWriteDescriptor -from twisted.python import failure, log -from twisted.internet import error -import twisted.names.cache -import twisted.names.client -import twisted.names.hosts -import twisted.names.resolve - -from zope.interface import implementer - -from tornado.concurrent import Future -from tornado.escape import utf8 -from tornado import gen -import tornado.ioloop -from tornado.log import app_log -from tornado.netutil import Resolver -from tornado.stack_context import NullContext, wrap -from tornado.ioloop import IOLoop -from tornado.util import timedelta_to_seconds - - -@implementer(IDelayedCall) -class TornadoDelayedCall(object): - """DelayedCall object for Tornado.""" - def __init__(self, reactor, seconds, f, *args, **kw): - self._reactor = reactor - self._func = functools.partial(f, *args, **kw) - self._time = self._reactor.seconds() + seconds - self._timeout = self._reactor._io_loop.add_timeout(self._time, - self._called) - self._active = True - - def _called(self): - self._active = False - self._reactor._removeDelayedCall(self) - try: - self._func() - except: - app_log.error("_called caught exception", exc_info=True) - - def getTime(self): - return self._time - - def cancel(self): - self._active = False - self._reactor._io_loop.remove_timeout(self._timeout) - self._reactor._removeDelayedCall(self) - - def delay(self, seconds): - self._reactor._io_loop.remove_timeout(self._timeout) - self._time += seconds - self._timeout = self._reactor._io_loop.add_timeout(self._time, - self._called) - - def reset(self, seconds): - self._reactor._io_loop.remove_timeout(self._timeout) - self._time = self._reactor.seconds() + seconds - self._timeout = self._reactor._io_loop.add_timeout(self._time, - self._called) - - def active(self): - return self._active - - -@implementer(IReactorTime, IReactorFDSet) -class TornadoReactor(PosixReactorBase): - """Twisted reactor built on the Tornado IOLoop. - - `TornadoReactor` implements the Twisted reactor interface on top of - the Tornado IOLoop. To use it, simply call `install` at the beginning - of the application:: - - import tornado.platform.twisted - tornado.platform.twisted.install() - from twisted.internet import reactor - - When the app is ready to start, call ``IOLoop.current().start()`` - instead of ``reactor.run()``. - - It is also possible to create a non-global reactor by calling - ``tornado.platform.twisted.TornadoReactor(io_loop)``. However, if - the `.IOLoop` and reactor are to be short-lived (such as those used in - unit tests), additional cleanup may be required. Specifically, it is - recommended to call:: - - reactor.fireSystemEvent('shutdown') - reactor.disconnectAll() - - before closing the `.IOLoop`. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - def __init__(self, io_loop=None): - if not io_loop: - io_loop = tornado.ioloop.IOLoop.current() - self._io_loop = io_loop - self._readers = {} # map of reader objects to fd - self._writers = {} # map of writer objects to fd - self._fds = {} # a map of fd to a (reader, writer) tuple - self._delayedCalls = {} - PosixReactorBase.__init__(self) - self.addSystemEventTrigger('during', 'shutdown', self.crash) - - # IOLoop.start() bypasses some of the reactor initialization. - # Fire off the necessary events if they weren't already triggered - # by reactor.run(). - def start_if_necessary(): - if not self._started: - self.fireSystemEvent('startup') - self._io_loop.add_callback(start_if_necessary) - - # IReactorTime - def seconds(self): - return self._io_loop.time() - - def callLater(self, seconds, f, *args, **kw): - dc = TornadoDelayedCall(self, seconds, f, *args, **kw) - self._delayedCalls[dc] = True - return dc - - def getDelayedCalls(self): - return [x for x in self._delayedCalls if x._active] - - def _removeDelayedCall(self, dc): - if dc in self._delayedCalls: - del self._delayedCalls[dc] - - # IReactorThreads - def callFromThread(self, f, *args, **kw): - assert callable(f), "%s is not callable" % f - with NullContext(): - # This NullContext is mainly for an edge case when running - # TwistedIOLoop on top of a TornadoReactor. - # TwistedIOLoop.add_callback uses reactor.callFromThread and - # should not pick up additional StackContexts along the way. - self._io_loop.add_callback(f, *args, **kw) - - # We don't need the waker code from the super class, Tornado uses - # its own waker. - def installWaker(self): - pass - - def wakeUp(self): - pass - - # IReactorFDSet - def _invoke_callback(self, fd, events): - if fd not in self._fds: - return - (reader, writer) = self._fds[fd] - if reader: - err = None - if reader.fileno() == -1: - err = error.ConnectionLost() - elif events & IOLoop.READ: - err = log.callWithLogger(reader, reader.doRead) - if err is None and events & IOLoop.ERROR: - err = error.ConnectionLost() - if err is not None: - self.removeReader(reader) - reader.readConnectionLost(failure.Failure(err)) - if writer: - err = None - if writer.fileno() == -1: - err = error.ConnectionLost() - elif events & IOLoop.WRITE: - err = log.callWithLogger(writer, writer.doWrite) - if err is None and events & IOLoop.ERROR: - err = error.ConnectionLost() - if err is not None: - self.removeWriter(writer) - writer.writeConnectionLost(failure.Failure(err)) - - def addReader(self, reader): - if reader in self._readers: - # Don't add the reader if it's already there - return - fd = reader.fileno() - self._readers[reader] = fd - if fd in self._fds: - (_, writer) = self._fds[fd] - self._fds[fd] = (reader, writer) - if writer: - # We already registered this fd for write events, - # update it for read events as well. - self._io_loop.update_handler(fd, IOLoop.READ | IOLoop.WRITE) - else: - with NullContext(): - self._fds[fd] = (reader, None) - self._io_loop.add_handler(fd, self._invoke_callback, - IOLoop.READ) - - def addWriter(self, writer): - if writer in self._writers: - return - fd = writer.fileno() - self._writers[writer] = fd - if fd in self._fds: - (reader, _) = self._fds[fd] - self._fds[fd] = (reader, writer) - if reader: - # We already registered this fd for read events, - # update it for write events as well. - self._io_loop.update_handler(fd, IOLoop.READ | IOLoop.WRITE) - else: - with NullContext(): - self._fds[fd] = (None, writer) - self._io_loop.add_handler(fd, self._invoke_callback, - IOLoop.WRITE) - - def removeReader(self, reader): - if reader in self._readers: - fd = self._readers.pop(reader) - (_, writer) = self._fds[fd] - if writer: - # We have a writer so we need to update the IOLoop for - # write events only. - self._fds[fd] = (None, writer) - self._io_loop.update_handler(fd, IOLoop.WRITE) - else: - # Since we have no writer registered, we remove the - # entry from _fds and unregister the handler from the - # IOLoop - del self._fds[fd] - self._io_loop.remove_handler(fd) - - def removeWriter(self, writer): - if writer in self._writers: - fd = self._writers.pop(writer) - (reader, _) = self._fds[fd] - if reader: - # We have a reader so we need to update the IOLoop for - # read events only. - self._fds[fd] = (reader, None) - self._io_loop.update_handler(fd, IOLoop.READ) - else: - # Since we have no reader registered, we remove the - # entry from the _fds and unregister the handler from - # the IOLoop. - del self._fds[fd] - self._io_loop.remove_handler(fd) - - def removeAll(self): - return self._removeAll(self._readers, self._writers) - - def getReaders(self): - return self._readers.keys() - - def getWriters(self): - return self._writers.keys() - - # The following functions are mainly used in twisted-style test cases; - # it is expected that most users of the TornadoReactor will call - # IOLoop.start() instead of Reactor.run(). - def stop(self): - PosixReactorBase.stop(self) - fire_shutdown = functools.partial(self.fireSystemEvent, "shutdown") - self._io_loop.add_callback(fire_shutdown) - - def crash(self): - PosixReactorBase.crash(self) - self._io_loop.stop() - - def doIteration(self, delay): - raise NotImplementedError("doIteration") - - def mainLoop(self): - # Since this class is intended to be used in applications - # where the top-level event loop is ``io_loop.start()`` rather - # than ``reactor.run()``, it is implemented a little - # differently than other Twisted reactors. We override - # ``mainLoop`` instead of ``doIteration`` and must implement - # timed call functionality on top of `.IOLoop.add_timeout` - # rather than using the implementation in - # ``PosixReactorBase``. - self._io_loop.start() - - -class _TestReactor(TornadoReactor): - """Subclass of TornadoReactor for use in unittests. - - This can't go in the test.py file because of import-order dependencies - with the Twisted reactor test builder. - """ - def __init__(self): - # always use a new ioloop - super(_TestReactor, self).__init__(IOLoop()) - - def listenTCP(self, port, factory, backlog=50, interface=''): - # default to localhost to avoid firewall prompts on the mac - if not interface: - interface = '127.0.0.1' - return super(_TestReactor, self).listenTCP( - port, factory, backlog=backlog, interface=interface) - - def listenUDP(self, port, protocol, interface='', maxPacketSize=8192): - if not interface: - interface = '127.0.0.1' - return super(_TestReactor, self).listenUDP( - port, protocol, interface=interface, maxPacketSize=maxPacketSize) - - -def install(io_loop=None): - """Install this package as the default Twisted reactor. - - ``install()`` must be called very early in the startup process, - before most other twisted-related imports. Conversely, because it - initializes the `.IOLoop`, it cannot be called before - `.fork_processes` or multi-process `~.TCPServer.start`. These - conflicting requirements make it difficult to use `.TornadoReactor` - in multi-process mode, and an external process manager such as - ``supervisord`` is recommended instead. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - - """ - if not io_loop: - io_loop = tornado.ioloop.IOLoop.current() - reactor = TornadoReactor(io_loop) - from twisted.internet.main import installReactor - installReactor(reactor) - return reactor - - -@implementer(IReadDescriptor, IWriteDescriptor) -class _FD(object): - def __init__(self, fd, fileobj, handler): - self.fd = fd - self.fileobj = fileobj - self.handler = handler - self.reading = False - self.writing = False - self.lost = False - - def fileno(self): - return self.fd - - def doRead(self): - if not self.lost: - self.handler(self.fileobj, tornado.ioloop.IOLoop.READ) - - def doWrite(self): - if not self.lost: - self.handler(self.fileobj, tornado.ioloop.IOLoop.WRITE) - - def connectionLost(self, reason): - if not self.lost: - self.handler(self.fileobj, tornado.ioloop.IOLoop.ERROR) - self.lost = True - - def logPrefix(self): - return '' - - -class TwistedIOLoop(tornado.ioloop.IOLoop): - """IOLoop implementation that runs on Twisted. - - `TwistedIOLoop` implements the Tornado IOLoop interface on top of - the Twisted reactor. Recommended usage:: - - from tornado.platform.twisted import TwistedIOLoop - from twisted.internet import reactor - TwistedIOLoop().install() - # Set up your tornado application as usual using `IOLoop.instance` - reactor.run() - - Uses the global Twisted reactor by default. To create multiple - ``TwistedIOLoops`` in the same process, you must pass a unique reactor - when constructing each one. - - Not compatible with `tornado.process.Subprocess.set_exit_callback` - because the ``SIGCHLD`` handlers used by Tornado and Twisted conflict - with each other. - """ - def initialize(self, reactor=None, **kwargs): - super(TwistedIOLoop, self).initialize(**kwargs) - if reactor is None: - import twisted.internet.reactor - reactor = twisted.internet.reactor - self.reactor = reactor - self.fds = {} - - def close(self, all_fds=False): - fds = self.fds - self.reactor.removeAll() - for c in self.reactor.getDelayedCalls(): - c.cancel() - if all_fds: - for fd in fds.values(): - self.close_fd(fd.fileobj) - - def add_handler(self, fd, handler, events): - if fd in self.fds: - raise ValueError('fd %s added twice' % fd) - fd, fileobj = self.split_fd(fd) - self.fds[fd] = _FD(fd, fileobj, wrap(handler)) - if events & tornado.ioloop.IOLoop.READ: - self.fds[fd].reading = True - self.reactor.addReader(self.fds[fd]) - if events & tornado.ioloop.IOLoop.WRITE: - self.fds[fd].writing = True - self.reactor.addWriter(self.fds[fd]) - - def update_handler(self, fd, events): - fd, fileobj = self.split_fd(fd) - if events & tornado.ioloop.IOLoop.READ: - if not self.fds[fd].reading: - self.fds[fd].reading = True - self.reactor.addReader(self.fds[fd]) - else: - if self.fds[fd].reading: - self.fds[fd].reading = False - self.reactor.removeReader(self.fds[fd]) - if events & tornado.ioloop.IOLoop.WRITE: - if not self.fds[fd].writing: - self.fds[fd].writing = True - self.reactor.addWriter(self.fds[fd]) - else: - if self.fds[fd].writing: - self.fds[fd].writing = False - self.reactor.removeWriter(self.fds[fd]) - - def remove_handler(self, fd): - fd, fileobj = self.split_fd(fd) - if fd not in self.fds: - return - self.fds[fd].lost = True - if self.fds[fd].reading: - self.reactor.removeReader(self.fds[fd]) - if self.fds[fd].writing: - self.reactor.removeWriter(self.fds[fd]) - del self.fds[fd] - - def start(self): - old_current = IOLoop.current(instance=False) - try: - self._setup_logging() - self.make_current() - self.reactor.run() - finally: - if old_current is None: - IOLoop.clear_current() - else: - old_current.make_current() - - def stop(self): - self.reactor.crash() - - def add_timeout(self, deadline, callback, *args, **kwargs): - # This method could be simplified (since tornado 4.0) by - # overriding call_at instead of add_timeout, but we leave it - # for now as a test of backwards-compatibility. - if isinstance(deadline, numbers.Real): - delay = max(deadline - self.time(), 0) - elif isinstance(deadline, datetime.timedelta): - delay = timedelta_to_seconds(deadline) - else: - raise TypeError("Unsupported deadline %r") - return self.reactor.callLater( - delay, self._run_callback, - functools.partial(wrap(callback), *args, **kwargs)) - - def remove_timeout(self, timeout): - if timeout.active(): - timeout.cancel() - - def add_callback(self, callback, *args, **kwargs): - self.reactor.callFromThread( - self._run_callback, - functools.partial(wrap(callback), *args, **kwargs)) - - def add_callback_from_signal(self, callback, *args, **kwargs): - self.add_callback(callback, *args, **kwargs) - - -class TwistedResolver(Resolver): - """Twisted-based asynchronous resolver. - - This is a non-blocking and non-threaded resolver. It is - recommended only when threads cannot be used, since it has - limitations compared to the standard ``getaddrinfo``-based - `~tornado.netutil.Resolver` and - `~tornado.netutil.ThreadedResolver`. Specifically, it returns at - most one result, and arguments other than ``host`` and ``family`` - are ignored. It may fail to resolve when ``family`` is not - ``socket.AF_UNSPEC``. - - Requires Twisted 12.1 or newer. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - def initialize(self, io_loop=None): - self.io_loop = io_loop or IOLoop.current() - # partial copy of twisted.names.client.createResolver, which doesn't - # allow for a reactor to be passed in. - self.reactor = tornado.platform.twisted.TornadoReactor(io_loop) - - host_resolver = twisted.names.hosts.Resolver('/etc/hosts') - cache_resolver = twisted.names.cache.CacheResolver(reactor=self.reactor) - real_resolver = twisted.names.client.Resolver('/etc/resolv.conf', - reactor=self.reactor) - self.resolver = twisted.names.resolve.ResolverChain( - [host_resolver, cache_resolver, real_resolver]) - - @gen.coroutine - def resolve(self, host, port, family=0): - # getHostByName doesn't accept IP addresses, so if the input - # looks like an IP address just return it immediately. - if twisted.internet.abstract.isIPAddress(host): - resolved = host - resolved_family = socket.AF_INET - elif twisted.internet.abstract.isIPv6Address(host): - resolved = host - resolved_family = socket.AF_INET6 - else: - deferred = self.resolver.getHostByName(utf8(host)) - resolved = yield gen.Task(deferred.addBoth) - if isinstance(resolved, failure.Failure): - resolved.raiseException() - elif twisted.internet.abstract.isIPAddress(resolved): - resolved_family = socket.AF_INET - elif twisted.internet.abstract.isIPv6Address(resolved): - resolved_family = socket.AF_INET6 - else: - resolved_family = socket.AF_UNSPEC - if family != socket.AF_UNSPEC and family != resolved_family: - raise Exception('Requested socket family %d but got %d' % - (family, resolved_family)) - result = [ - (resolved_family, (resolved, port)), - ] - raise gen.Return(result) - -if hasattr(gen.convert_yielded, 'register'): - @gen.convert_yielded.register(Deferred) - def _(d): - f = Future() - - def errback(failure): - try: - failure.raiseException() - # Should never happen, but just in case - raise Exception("errback called without error") - except: - f.set_exc_info(sys.exc_info()) - d.addCallbacks(f.set_result, errback) - return f diff --git a/lib27/site-packages/tornado/platform/windows.py b/lib27/site-packages/tornado/platform/windows.py deleted file mode 100644 index 817bdca13..000000000 --- a/lib27/site-packages/tornado/platform/windows.py +++ /dev/null @@ -1,20 +0,0 @@ -# NOTE: win32 support is currently experimental, and not recommended -# for production use. - - -from __future__ import absolute_import, division, print_function, with_statement -import ctypes -import ctypes.wintypes - -# See: http://msdn.microsoft.com/en-us/library/ms724935(VS.85).aspx -SetHandleInformation = ctypes.windll.kernel32.SetHandleInformation -SetHandleInformation.argtypes = (ctypes.wintypes.HANDLE, ctypes.wintypes.DWORD, ctypes.wintypes.DWORD) -SetHandleInformation.restype = ctypes.wintypes.BOOL - -HANDLE_FLAG_INHERIT = 0x00000001 - - -def set_close_exec(fd): - success = SetHandleInformation(fd, HANDLE_FLAG_INHERIT, 0) - if not success: - raise ctypes.GetLastError() diff --git a/lib27/site-packages/tornado/process.py b/lib27/site-packages/tornado/process.py deleted file mode 100644 index daa9677bb..000000000 --- a/lib27/site-packages/tornado/process.py +++ /dev/null @@ -1,357 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011 Facebook -# -# 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. - -"""Utilities for working with multiple processes, including both forking -the server into multiple processes and managing subprocesses. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import errno -import os -import signal -import subprocess -import sys -import time - -from binascii import hexlify - -from tornado.concurrent import Future -from tornado import ioloop -from tornado.iostream import PipeIOStream -from tornado.log import gen_log -from tornado.platform.auto import set_close_exec -from tornado import stack_context -from tornado.util import errno_from_exception - -try: - import multiprocessing -except ImportError: - # Multiprocessing is not available on Google App Engine. - multiprocessing = None - -try: - long # py2 -except NameError: - long = int # py3 - - -# Re-export this exception for convenience. -try: - CalledProcessError = subprocess.CalledProcessError -except AttributeError: - # The subprocess module exists in Google App Engine, but is empty. - # This module isn't very useful in that case, but it should - # at least be importable. - if 'APPENGINE_RUNTIME' not in os.environ: - raise - - -def cpu_count(): - """Returns the number of processors on this machine.""" - if multiprocessing is None: - return 1 - try: - return multiprocessing.cpu_count() - except NotImplementedError: - pass - try: - return os.sysconf("SC_NPROCESSORS_CONF") - except ValueError: - pass - gen_log.error("Could not detect number of processors; assuming 1") - return 1 - - -def _reseed_random(): - if 'random' not in sys.modules: - return - import random - # If os.urandom is available, this method does the same thing as - # random.seed (at least as of python 2.6). If os.urandom is not - # available, we mix in the pid in addition to a timestamp. - try: - seed = long(hexlify(os.urandom(16)), 16) - except NotImplementedError: - seed = int(time.time() * 1000) ^ os.getpid() - random.seed(seed) - - -def _pipe_cloexec(): - r, w = os.pipe() - set_close_exec(r) - set_close_exec(w) - return r, w - - -_task_id = None - - -def fork_processes(num_processes, max_restarts=100): - """Starts multiple worker processes. - - If ``num_processes`` is None or <= 0, we detect the number of cores - available on this machine and fork that number of child - processes. If ``num_processes`` is given and > 0, we fork that - specific number of sub-processes. - - Since we use processes and not threads, there is no shared memory - between any server code. - - Note that multiple processes are not compatible with the autoreload - module (or the ``autoreload=True`` option to `tornado.web.Application` - which defaults to True when ``debug=True``). - When using multiple processes, no IOLoops can be created or - referenced until after the call to ``fork_processes``. - - In each child process, ``fork_processes`` returns its *task id*, a - number between 0 and ``num_processes``. Processes that exit - abnormally (due to a signal or non-zero exit status) are restarted - with the same id (up to ``max_restarts`` times). In the parent - process, ``fork_processes`` returns None if all child processes - have exited normally, but will otherwise only exit by throwing an - exception. - """ - global _task_id - assert _task_id is None - if num_processes is None or num_processes <= 0: - num_processes = cpu_count() - if ioloop.IOLoop.initialized(): - raise RuntimeError("Cannot run in multiple processes: IOLoop instance " - "has already been initialized. You cannot call " - "IOLoop.instance() before calling start_processes()") - gen_log.info("Starting %d processes", num_processes) - children = {} - - def start_child(i): - pid = os.fork() - if pid == 0: - # child process - _reseed_random() - global _task_id - _task_id = i - return i - else: - children[pid] = i - return None - for i in range(num_processes): - id = start_child(i) - if id is not None: - return id - num_restarts = 0 - while children: - try: - pid, status = os.wait() - except OSError as e: - if errno_from_exception(e) == errno.EINTR: - continue - raise - if pid not in children: - continue - id = children.pop(pid) - if os.WIFSIGNALED(status): - gen_log.warning("child %d (pid %d) killed by signal %d, restarting", - id, pid, os.WTERMSIG(status)) - elif os.WEXITSTATUS(status) != 0: - gen_log.warning("child %d (pid %d) exited with status %d, restarting", - id, pid, os.WEXITSTATUS(status)) - else: - gen_log.info("child %d (pid %d) exited normally", id, pid) - continue - num_restarts += 1 - if num_restarts > max_restarts: - raise RuntimeError("Too many child restarts, giving up") - new_id = start_child(id) - if new_id is not None: - return new_id - # All child processes exited cleanly, so exit the master process - # instead of just returning to right after the call to - # fork_processes (which will probably just start up another IOLoop - # unless the caller checks the return value). - sys.exit(0) - - -def task_id(): - """Returns the current task id, if any. - - Returns None if this process was not created by `fork_processes`. - """ - global _task_id - return _task_id - - -class Subprocess(object): - """Wraps ``subprocess.Popen`` with IOStream support. - - The constructor is the same as ``subprocess.Popen`` with the following - additions: - - * ``stdin``, ``stdout``, and ``stderr`` may have the value - ``tornado.process.Subprocess.STREAM``, which will make the corresponding - attribute of the resulting Subprocess a `.PipeIOStream`. - * A new keyword argument ``io_loop`` may be used to pass in an IOLoop. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - STREAM = object() - - _initialized = False - _waiting = {} - - def __init__(self, *args, **kwargs): - self.io_loop = kwargs.pop('io_loop', None) or ioloop.IOLoop.current() - # All FDs we create should be closed on error; those in to_close - # should be closed in the parent process on success. - pipe_fds = [] - to_close = [] - if kwargs.get('stdin') is Subprocess.STREAM: - in_r, in_w = _pipe_cloexec() - kwargs['stdin'] = in_r - pipe_fds.extend((in_r, in_w)) - to_close.append(in_r) - self.stdin = PipeIOStream(in_w, io_loop=self.io_loop) - if kwargs.get('stdout') is Subprocess.STREAM: - out_r, out_w = _pipe_cloexec() - kwargs['stdout'] = out_w - pipe_fds.extend((out_r, out_w)) - to_close.append(out_w) - self.stdout = PipeIOStream(out_r, io_loop=self.io_loop) - if kwargs.get('stderr') is Subprocess.STREAM: - err_r, err_w = _pipe_cloexec() - kwargs['stderr'] = err_w - pipe_fds.extend((err_r, err_w)) - to_close.append(err_w) - self.stderr = PipeIOStream(err_r, io_loop=self.io_loop) - try: - self.proc = subprocess.Popen(*args, **kwargs) - except: - for fd in pipe_fds: - os.close(fd) - raise - for fd in to_close: - os.close(fd) - for attr in ['stdin', 'stdout', 'stderr', 'pid']: - if not hasattr(self, attr): # don't clobber streams set above - setattr(self, attr, getattr(self.proc, attr)) - self._exit_callback = None - self.returncode = None - - def set_exit_callback(self, callback): - """Runs ``callback`` when this process exits. - - The callback takes one argument, the return code of the process. - - This method uses a ``SIGCHLD`` handler, which is a global setting - and may conflict if you have other libraries trying to handle the - same signal. If you are using more than one ``IOLoop`` it may - be necessary to call `Subprocess.initialize` first to designate - one ``IOLoop`` to run the signal handlers. - - In many cases a close callback on the stdout or stderr streams - can be used as an alternative to an exit callback if the - signal handler is causing a problem. - """ - self._exit_callback = stack_context.wrap(callback) - Subprocess.initialize(self.io_loop) - Subprocess._waiting[self.pid] = self - Subprocess._try_cleanup_process(self.pid) - - def wait_for_exit(self, raise_error=True): - """Returns a `.Future` which resolves when the process exits. - - Usage:: - - ret = yield proc.wait_for_exit() - - This is a coroutine-friendly alternative to `set_exit_callback` - (and a replacement for the blocking `subprocess.Popen.wait`). - - By default, raises `subprocess.CalledProcessError` if the process - has a non-zero exit status. Use ``wait_for_exit(raise_error=False)`` - to suppress this behavior and return the exit status without raising. - - .. versionadded:: 4.2 - """ - future = Future() - - def callback(ret): - if ret != 0 and raise_error: - # Unfortunately we don't have the original args any more. - future.set_exception(CalledProcessError(ret, None)) - else: - future.set_result(ret) - self.set_exit_callback(callback) - return future - - @classmethod - def initialize(cls, io_loop=None): - """Initializes the ``SIGCHLD`` handler. - - The signal handler is run on an `.IOLoop` to avoid locking issues. - Note that the `.IOLoop` used for signal handling need not be the - same one used by individual Subprocess objects (as long as the - ``IOLoops`` are each running in separate threads). - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - if cls._initialized: - return - if io_loop is None: - io_loop = ioloop.IOLoop.current() - cls._old_sigchld = signal.signal( - signal.SIGCHLD, - lambda sig, frame: io_loop.add_callback_from_signal(cls._cleanup)) - cls._initialized = True - - @classmethod - def uninitialize(cls): - """Removes the ``SIGCHLD`` handler.""" - if not cls._initialized: - return - signal.signal(signal.SIGCHLD, cls._old_sigchld) - cls._initialized = False - - @classmethod - def _cleanup(cls): - for pid in list(cls._waiting.keys()): # make a copy - cls._try_cleanup_process(pid) - - @classmethod - def _try_cleanup_process(cls, pid): - try: - ret_pid, status = os.waitpid(pid, os.WNOHANG) - except OSError as e: - if errno_from_exception(e) == errno.ECHILD: - return - if ret_pid == 0: - return - assert ret_pid == pid - subproc = cls._waiting.pop(pid) - subproc.io_loop.add_callback_from_signal( - subproc._set_returncode, status) - - def _set_returncode(self, status): - if os.WIFSIGNALED(status): - self.returncode = -os.WTERMSIG(status) - else: - assert os.WIFEXITED(status) - self.returncode = os.WEXITSTATUS(status) - if self._exit_callback: - callback = self._exit_callback - self._exit_callback = None - callback(self.returncode) diff --git a/lib27/site-packages/tornado/queues.py b/lib27/site-packages/tornado/queues.py deleted file mode 100644 index 129b204e3..000000000 --- a/lib27/site-packages/tornado/queues.py +++ /dev/null @@ -1,357 +0,0 @@ -# Copyright 2015 The Tornado Authors -# -# 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. - -from __future__ import absolute_import, division, print_function, with_statement - -__all__ = ['Queue', 'PriorityQueue', 'LifoQueue', 'QueueFull', 'QueueEmpty'] - -import collections -import heapq - -from tornado import gen, ioloop -from tornado.concurrent import Future -from tornado.locks import Event - - -class QueueEmpty(Exception): - """Raised by `.Queue.get_nowait` when the queue has no items.""" - pass - - -class QueueFull(Exception): - """Raised by `.Queue.put_nowait` when a queue is at its maximum size.""" - pass - - -def _set_timeout(future, timeout): - if timeout: - def on_timeout(): - future.set_exception(gen.TimeoutError()) - io_loop = ioloop.IOLoop.current() - timeout_handle = io_loop.add_timeout(timeout, on_timeout) - future.add_done_callback( - lambda _: io_loop.remove_timeout(timeout_handle)) - - -class _QueueIterator(object): - def __init__(self, q): - self.q = q - - def __anext__(self): - return self.q.get() - - -class Queue(object): - """Coordinate producer and consumer coroutines. - - If maxsize is 0 (the default) the queue size is unbounded. - - .. testcode:: - - from tornado import gen - from tornado.ioloop import IOLoop - from tornado.queues import Queue - - q = Queue(maxsize=2) - - @gen.coroutine - def consumer(): - while True: - item = yield q.get() - try: - print('Doing work on %s' % item) - yield gen.sleep(0.01) - finally: - q.task_done() - - @gen.coroutine - def producer(): - for item in range(5): - yield q.put(item) - print('Put %s' % item) - - @gen.coroutine - def main(): - # Start consumer without waiting (since it never finishes). - IOLoop.current().spawn_callback(consumer) - yield producer() # Wait for producer to put all tasks. - yield q.join() # Wait for consumer to finish all tasks. - print('Done') - - IOLoop.current().run_sync(main) - - .. testoutput:: - - Put 0 - Put 1 - Doing work on 0 - Put 2 - Doing work on 1 - Put 3 - Doing work on 2 - Put 4 - Doing work on 3 - Doing work on 4 - Done - - In Python 3.5, `Queue` implements the async iterator protocol, so - ``consumer()`` could be rewritten as:: - - async def consumer(): - async for item in q: - try: - print('Doing work on %s' % item) - yield gen.sleep(0.01) - finally: - q.task_done() - - .. versionchanged:: 4.3 - Added ``async for`` support in Python 3.5. - - """ - def __init__(self, maxsize=0): - if maxsize is None: - raise TypeError("maxsize can't be None") - - if maxsize < 0: - raise ValueError("maxsize can't be negative") - - self._maxsize = maxsize - self._init() - self._getters = collections.deque([]) # Futures. - self._putters = collections.deque([]) # Pairs of (item, Future). - self._unfinished_tasks = 0 - self._finished = Event() - self._finished.set() - - @property - def maxsize(self): - """Number of items allowed in the queue.""" - return self._maxsize - - def qsize(self): - """Number of items in the queue.""" - return len(self._queue) - - def empty(self): - return not self._queue - - def full(self): - if self.maxsize == 0: - return False - else: - return self.qsize() >= self.maxsize - - def put(self, item, timeout=None): - """Put an item into the queue, perhaps waiting until there is room. - - Returns a Future, which raises `tornado.gen.TimeoutError` after a - timeout. - """ - try: - self.put_nowait(item) - except QueueFull: - future = Future() - self._putters.append((item, future)) - _set_timeout(future, timeout) - return future - else: - return gen._null_future - - def put_nowait(self, item): - """Put an item into the queue without blocking. - - If no free slot is immediately available, raise `QueueFull`. - """ - self._consume_expired() - if self._getters: - assert self.empty(), "queue non-empty, why are getters waiting?" - getter = self._getters.popleft() - self.__put_internal(item) - getter.set_result(self._get()) - elif self.full(): - raise QueueFull - else: - self.__put_internal(item) - - def get(self, timeout=None): - """Remove and return an item from the queue. - - Returns a Future which resolves once an item is available, or raises - `tornado.gen.TimeoutError` after a timeout. - """ - future = Future() - try: - future.set_result(self.get_nowait()) - except QueueEmpty: - self._getters.append(future) - _set_timeout(future, timeout) - return future - - def get_nowait(self): - """Remove and return an item from the queue without blocking. - - Return an item if one is immediately available, else raise - `QueueEmpty`. - """ - self._consume_expired() - if self._putters: - assert self.full(), "queue not full, why are putters waiting?" - item, putter = self._putters.popleft() - self.__put_internal(item) - putter.set_result(None) - return self._get() - elif self.qsize(): - return self._get() - else: - raise QueueEmpty - - def task_done(self): - """Indicate that a formerly enqueued task is complete. - - Used by queue consumers. For each `.get` used to fetch a task, a - subsequent call to `.task_done` tells the queue that the processing - on the task is complete. - - If a `.join` is blocking, it resumes when all items have been - processed; that is, when every `.put` is matched by a `.task_done`. - - Raises `ValueError` if called more times than `.put`. - """ - if self._unfinished_tasks <= 0: - raise ValueError('task_done() called too many times') - self._unfinished_tasks -= 1 - if self._unfinished_tasks == 0: - self._finished.set() - - def join(self, timeout=None): - """Block until all items in the queue are processed. - - Returns a Future, which raises `tornado.gen.TimeoutError` after a - timeout. - """ - return self._finished.wait(timeout) - - @gen.coroutine - def __aiter__(self): - return _QueueIterator(self) - - # These three are overridable in subclasses. - def _init(self): - self._queue = collections.deque() - - def _get(self): - return self._queue.popleft() - - def _put(self, item): - self._queue.append(item) - # End of the overridable methods. - - def __put_internal(self, item): - self._unfinished_tasks += 1 - self._finished.clear() - self._put(item) - - def _consume_expired(self): - # Remove timed-out waiters. - while self._putters and self._putters[0][1].done(): - self._putters.popleft() - - while self._getters and self._getters[0].done(): - self._getters.popleft() - - def __repr__(self): - return '<%s at %s %s>' % ( - type(self).__name__, hex(id(self)), self._format()) - - def __str__(self): - return '<%s %s>' % (type(self).__name__, self._format()) - - def _format(self): - result = 'maxsize=%r' % (self.maxsize, ) - if getattr(self, '_queue', None): - result += ' queue=%r' % self._queue - if self._getters: - result += ' getters[%s]' % len(self._getters) - if self._putters: - result += ' putters[%s]' % len(self._putters) - if self._unfinished_tasks: - result += ' tasks=%s' % self._unfinished_tasks - return result - - -class PriorityQueue(Queue): - """A `.Queue` that retrieves entries in priority order, lowest first. - - Entries are typically tuples like ``(priority number, data)``. - - .. testcode:: - - from tornado.queues import PriorityQueue - - q = PriorityQueue() - q.put((1, 'medium-priority item')) - q.put((0, 'high-priority item')) - q.put((10, 'low-priority item')) - - print(q.get_nowait()) - print(q.get_nowait()) - print(q.get_nowait()) - - .. testoutput:: - - (0, 'high-priority item') - (1, 'medium-priority item') - (10, 'low-priority item') - """ - def _init(self): - self._queue = [] - - def _put(self, item): - heapq.heappush(self._queue, item) - - def _get(self): - return heapq.heappop(self._queue) - - -class LifoQueue(Queue): - """A `.Queue` that retrieves the most recently put items first. - - .. testcode:: - - from tornado.queues import LifoQueue - - q = LifoQueue() - q.put(3) - q.put(2) - q.put(1) - - print(q.get_nowait()) - print(q.get_nowait()) - print(q.get_nowait()) - - .. testoutput:: - - 1 - 2 - 3 - """ - def _init(self): - self._queue = [] - - def _put(self, item): - self._queue.append(item) - - def _get(self): - return self._queue.pop() diff --git a/lib27/site-packages/tornado/simple_httpclient.py b/lib27/site-packages/tornado/simple_httpclient.py deleted file mode 100644 index 37b0bc27f..000000000 --- a/lib27/site-packages/tornado/simple_httpclient.py +++ /dev/null @@ -1,549 +0,0 @@ -#!/usr/bin/env python -from __future__ import absolute_import, division, print_function, with_statement - -from tornado.escape import utf8, _unicode -from tornado import gen -from tornado.httpclient import HTTPResponse, HTTPError, AsyncHTTPClient, main, _RequestProxy -from tornado import httputil -from tornado.http1connection import HTTP1Connection, HTTP1ConnectionParameters -from tornado.iostream import StreamClosedError -from tornado.netutil import Resolver, OverrideResolver, _client_ssl_defaults -from tornado.log import gen_log -from tornado import stack_context -from tornado.tcpclient import TCPClient - -import base64 -import collections -import copy -import functools -import re -import socket -import sys -from io import BytesIO - - -try: - import urlparse # py2 -except ImportError: - import urllib.parse as urlparse # py3 - -try: - import ssl -except ImportError: - # ssl is not available on Google App Engine. - ssl = None - -try: - import certifi -except ImportError: - certifi = None - - -def _default_ca_certs(): - if certifi is None: - raise Exception("The 'certifi' package is required to use https " - "in simple_httpclient") - return certifi.where() - - -class SimpleAsyncHTTPClient(AsyncHTTPClient): - """Non-blocking HTTP client with no external dependencies. - - This class implements an HTTP 1.1 client on top of Tornado's IOStreams. - Some features found in the curl-based AsyncHTTPClient are not yet - supported. In particular, proxies are not supported, connections - are not reused, and callers cannot select the network interface to be - used. - """ - def initialize(self, io_loop, max_clients=10, - hostname_mapping=None, max_buffer_size=104857600, - resolver=None, defaults=None, max_header_size=None, - max_body_size=None): - """Creates a AsyncHTTPClient. - - Only a single AsyncHTTPClient instance exists per IOLoop - in order to provide limitations on the number of pending connections. - ``force_instance=True`` may be used to suppress this behavior. - - Note that because of this implicit reuse, unless ``force_instance`` - is used, only the first call to the constructor actually uses - its arguments. It is recommended to use the ``configure`` method - instead of the constructor to ensure that arguments take effect. - - ``max_clients`` is the number of concurrent requests that can be - in progress; when this limit is reached additional requests will be - queued. Note that time spent waiting in this queue still counts - against the ``request_timeout``. - - ``hostname_mapping`` is a dictionary mapping hostnames to IP addresses. - It can be used to make local DNS changes when modifying system-wide - settings like ``/etc/hosts`` is not possible or desirable (e.g. in - unittests). - - ``max_buffer_size`` (default 100MB) is the number of bytes - that can be read into memory at once. ``max_body_size`` - (defaults to ``max_buffer_size``) is the largest response body - that the client will accept. Without a - ``streaming_callback``, the smaller of these two limits - applies; with a ``streaming_callback`` only ``max_body_size`` - does. - - .. versionchanged:: 4.2 - Added the ``max_body_size`` argument. - """ - super(SimpleAsyncHTTPClient, self).initialize(io_loop, - defaults=defaults) - self.max_clients = max_clients - self.queue = collections.deque() - self.active = {} - self.waiting = {} - self.max_buffer_size = max_buffer_size - self.max_header_size = max_header_size - self.max_body_size = max_body_size - # TCPClient could create a Resolver for us, but we have to do it - # ourselves to support hostname_mapping. - if resolver: - self.resolver = resolver - self.own_resolver = False - else: - self.resolver = Resolver(io_loop=io_loop) - self.own_resolver = True - if hostname_mapping is not None: - self.resolver = OverrideResolver(resolver=self.resolver, - mapping=hostname_mapping) - self.tcp_client = TCPClient(resolver=self.resolver, io_loop=io_loop) - - def close(self): - super(SimpleAsyncHTTPClient, self).close() - if self.own_resolver: - self.resolver.close() - self.tcp_client.close() - - def fetch_impl(self, request, callback): - key = object() - self.queue.append((key, request, callback)) - if not len(self.active) < self.max_clients: - timeout_handle = self.io_loop.add_timeout( - self.io_loop.time() + min(request.connect_timeout, - request.request_timeout), - functools.partial(self._on_timeout, key)) - else: - timeout_handle = None - self.waiting[key] = (request, callback, timeout_handle) - self._process_queue() - if self.queue: - gen_log.debug("max_clients limit reached, request queued. " - "%d active, %d queued requests." % ( - len(self.active), len(self.queue))) - - def _process_queue(self): - with stack_context.NullContext(): - while self.queue and len(self.active) < self.max_clients: - key, request, callback = self.queue.popleft() - if key not in self.waiting: - continue - self._remove_timeout(key) - self.active[key] = (request, callback) - release_callback = functools.partial(self._release_fetch, key) - self._handle_request(request, release_callback, callback) - - def _connection_class(self): - return _HTTPConnection - - def _handle_request(self, request, release_callback, final_callback): - self._connection_class()( - self.io_loop, self, request, release_callback, - final_callback, self.max_buffer_size, self.tcp_client, - self.max_header_size, self.max_body_size) - - def _release_fetch(self, key): - del self.active[key] - self._process_queue() - - def _remove_timeout(self, key): - if key in self.waiting: - request, callback, timeout_handle = self.waiting[key] - if timeout_handle is not None: - self.io_loop.remove_timeout(timeout_handle) - del self.waiting[key] - - def _on_timeout(self, key): - request, callback, timeout_handle = self.waiting[key] - self.queue.remove((key, request, callback)) - timeout_response = HTTPResponse( - request, 599, error=HTTPError(599, "Timeout"), - request_time=self.io_loop.time() - request.start_time) - self.io_loop.add_callback(callback, timeout_response) - del self.waiting[key] - - -class _HTTPConnection(httputil.HTTPMessageDelegate): - _SUPPORTED_METHODS = set(["GET", "HEAD", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"]) - - def __init__(self, io_loop, client, request, release_callback, - final_callback, max_buffer_size, tcp_client, - max_header_size, max_body_size): - self.start_time = io_loop.time() - self.io_loop = io_loop - self.client = client - self.request = request - self.release_callback = release_callback - self.final_callback = final_callback - self.max_buffer_size = max_buffer_size - self.tcp_client = tcp_client - self.max_header_size = max_header_size - self.max_body_size = max_body_size - self.code = None - self.headers = None - self.chunks = [] - self._decompressor = None - # Timeout handle returned by IOLoop.add_timeout - self._timeout = None - self._sockaddr = None - with stack_context.ExceptionStackContext(self._handle_exception): - self.parsed = urlparse.urlsplit(_unicode(self.request.url)) - if self.parsed.scheme not in ("http", "https"): - raise ValueError("Unsupported url scheme: %s" % - self.request.url) - # urlsplit results have hostname and port results, but they - # didn't support ipv6 literals until python 2.7. - netloc = self.parsed.netloc - if "@" in netloc: - userpass, _, netloc = netloc.rpartition("@") - host, port = httputil.split_host_and_port(netloc) - if port is None: - port = 443 if self.parsed.scheme == "https" else 80 - if re.match(r'^\[.*\]$', host): - # raw ipv6 addresses in urls are enclosed in brackets - host = host[1:-1] - self.parsed_hostname = host # save final host for _on_connect - - if request.allow_ipv6 is False: - af = socket.AF_INET - else: - af = socket.AF_UNSPEC - - ssl_options = self._get_ssl_options(self.parsed.scheme) - - timeout = min(self.request.connect_timeout, self.request.request_timeout) - if timeout: - self._timeout = self.io_loop.add_timeout( - self.start_time + timeout, - stack_context.wrap(self._on_timeout)) - self.tcp_client.connect(host, port, af=af, - ssl_options=ssl_options, - max_buffer_size=self.max_buffer_size, - callback=self._on_connect) - - def _get_ssl_options(self, scheme): - if scheme == "https": - if self.request.ssl_options is not None: - return self.request.ssl_options - # If we are using the defaults, don't construct a - # new SSLContext. - if (self.request.validate_cert and - self.request.ca_certs is None and - self.request.client_cert is None and - self.request.client_key is None): - return _client_ssl_defaults - ssl_options = {} - if self.request.validate_cert: - ssl_options["cert_reqs"] = ssl.CERT_REQUIRED - if self.request.ca_certs is not None: - ssl_options["ca_certs"] = self.request.ca_certs - elif not hasattr(ssl, 'create_default_context'): - # When create_default_context is present, - # we can omit the "ca_certs" parameter entirely, - # which avoids the dependency on "certifi" for py34. - ssl_options["ca_certs"] = _default_ca_certs() - if self.request.client_key is not None: - ssl_options["keyfile"] = self.request.client_key - if self.request.client_cert is not None: - ssl_options["certfile"] = self.request.client_cert - - # SSL interoperability is tricky. We want to disable - # SSLv2 for security reasons; it wasn't disabled by default - # until openssl 1.0. The best way to do this is to use - # the SSL_OP_NO_SSLv2, but that wasn't exposed to python - # until 3.2. Python 2.7 adds the ciphers argument, which - # can also be used to disable SSLv2. As a last resort - # on python 2.6, we set ssl_version to TLSv1. This is - # more narrow than we'd like since it also breaks - # compatibility with servers configured for SSLv3 only, - # but nearly all servers support both SSLv3 and TLSv1: - # http://blog.ivanristic.com/2011/09/ssl-survey-protocol-support.html - if sys.version_info >= (2, 7): - # In addition to disabling SSLv2, we also exclude certain - # classes of insecure ciphers. - ssl_options["ciphers"] = "DEFAULT:!SSLv2:!EXPORT:!DES" - else: - # This is really only necessary for pre-1.0 versions - # of openssl, but python 2.6 doesn't expose version - # information. - ssl_options["ssl_version"] = ssl.PROTOCOL_TLSv1 - return ssl_options - return None - - def _on_timeout(self): - self._timeout = None - if self.final_callback is not None: - raise HTTPError(599, "Timeout") - - def _remove_timeout(self): - if self._timeout is not None: - self.io_loop.remove_timeout(self._timeout) - self._timeout = None - - def _on_connect(self, stream): - if self.final_callback is None: - # final_callback is cleared if we've hit our timeout. - stream.close() - return - self.stream = stream - self.stream.set_close_callback(self.on_connection_close) - self._remove_timeout() - if self.final_callback is None: - return - if self.request.request_timeout: - self._timeout = self.io_loop.add_timeout( - self.start_time + self.request.request_timeout, - stack_context.wrap(self._on_timeout)) - if (self.request.method not in self._SUPPORTED_METHODS and - not self.request.allow_nonstandard_methods): - raise KeyError("unknown method %s" % self.request.method) - for key in ('network_interface', - 'proxy_host', 'proxy_port', - 'proxy_username', 'proxy_password'): - if getattr(self.request, key, None): - raise NotImplementedError('%s not supported' % key) - if "Connection" not in self.request.headers: - self.request.headers["Connection"] = "close" - if "Host" not in self.request.headers: - if '@' in self.parsed.netloc: - self.request.headers["Host"] = self.parsed.netloc.rpartition('@')[-1] - else: - self.request.headers["Host"] = self.parsed.netloc - username, password = None, None - if self.parsed.username is not None: - username, password = self.parsed.username, self.parsed.password - elif self.request.auth_username is not None: - username = self.request.auth_username - password = self.request.auth_password or '' - if username is not None: - if self.request.auth_mode not in (None, "basic"): - raise ValueError("unsupported auth_mode %s", - self.request.auth_mode) - auth = utf8(username) + b":" + utf8(password) - self.request.headers["Authorization"] = (b"Basic " + - base64.b64encode(auth)) - if self.request.user_agent: - self.request.headers["User-Agent"] = self.request.user_agent - if not self.request.allow_nonstandard_methods: - # Some HTTP methods nearly always have bodies while others - # almost never do. Fail in this case unless the user has - # opted out of sanity checks with allow_nonstandard_methods. - body_expected = self.request.method in ("POST", "PATCH", "PUT") - body_present = (self.request.body is not None or - self.request.body_producer is not None) - if ((body_expected and not body_present) or - (body_present and not body_expected)): - raise ValueError( - 'Body must %sbe None for method %s (unless ' - 'allow_nonstandard_methods is true)' % - ('not ' if body_expected else '', self.request.method)) - if self.request.expect_100_continue: - self.request.headers["Expect"] = "100-continue" - if self.request.body is not None: - # When body_producer is used the caller is responsible for - # setting Content-Length (or else chunked encoding will be used). - self.request.headers["Content-Length"] = str(len( - self.request.body)) - if (self.request.method == "POST" and - "Content-Type" not in self.request.headers): - self.request.headers["Content-Type"] = "application/x-www-form-urlencoded" - if self.request.decompress_response: - self.request.headers["Accept-Encoding"] = "gzip" - req_path = ((self.parsed.path or '/') + - (('?' + self.parsed.query) if self.parsed.query else '')) - self.connection = self._create_connection(stream) - start_line = httputil.RequestStartLine(self.request.method, - req_path, '') - self.connection.write_headers(start_line, self.request.headers) - if self.request.expect_100_continue: - self._read_response() - else: - self._write_body(True) - - def _create_connection(self, stream): - stream.set_nodelay(True) - connection = HTTP1Connection( - stream, True, - HTTP1ConnectionParameters( - no_keep_alive=True, - max_header_size=self.max_header_size, - max_body_size=self.max_body_size, - decompress=self.request.decompress_response), - self._sockaddr) - return connection - - def _write_body(self, start_read): - if self.request.body is not None: - self.connection.write(self.request.body) - elif self.request.body_producer is not None: - fut = self.request.body_producer(self.connection.write) - if fut is not None: - fut = gen.convert_yielded(fut) - - def on_body_written(fut): - fut.result() - self.connection.finish() - if start_read: - self._read_response() - self.io_loop.add_future(fut, on_body_written) - return - self.connection.finish() - if start_read: - self._read_response() - - def _read_response(self): - # Ensure that any exception raised in read_response ends up in our - # stack context. - self.io_loop.add_future( - self.connection.read_response(self), - lambda f: f.result()) - - def _release(self): - if self.release_callback is not None: - release_callback = self.release_callback - self.release_callback = None - release_callback() - - def _run_callback(self, response): - self._release() - if self.final_callback is not None: - final_callback = self.final_callback - self.final_callback = None - self.io_loop.add_callback(final_callback, response) - - def _handle_exception(self, typ, value, tb): - if self.final_callback: - self._remove_timeout() - if isinstance(value, StreamClosedError): - if value.real_error is None: - value = HTTPError(599, "Stream closed") - else: - value = value.real_error - self._run_callback(HTTPResponse(self.request, 599, error=value, - request_time=self.io_loop.time() - self.start_time, - )) - - if hasattr(self, "stream"): - # TODO: this may cause a StreamClosedError to be raised - # by the connection's Future. Should we cancel the - # connection more gracefully? - self.stream.close() - return True - else: - # If our callback has already been called, we are probably - # catching an exception that is not caused by us but rather - # some child of our callback. Rather than drop it on the floor, - # pass it along, unless it's just the stream being closed. - return isinstance(value, StreamClosedError) - - def on_connection_close(self): - if self.final_callback is not None: - message = "Connection closed" - if self.stream.error: - raise self.stream.error - try: - raise HTTPError(599, message) - except HTTPError: - self._handle_exception(*sys.exc_info()) - - def headers_received(self, first_line, headers): - if self.request.expect_100_continue and first_line.code == 100: - self._write_body(False) - return - self.code = first_line.code - self.reason = first_line.reason - self.headers = headers - - if self._should_follow_redirect(): - return - - if self.request.header_callback is not None: - # Reassemble the start line. - self.request.header_callback('%s %s %s\r\n' % first_line) - for k, v in self.headers.get_all(): - self.request.header_callback("%s: %s\r\n" % (k, v)) - self.request.header_callback('\r\n') - - def _should_follow_redirect(self): - return (self.request.follow_redirects and - self.request.max_redirects > 0 and - self.code in (301, 302, 303, 307)) - - def finish(self): - data = b''.join(self.chunks) - self._remove_timeout() - original_request = getattr(self.request, "original_request", - self.request) - if self._should_follow_redirect(): - assert isinstance(self.request, _RequestProxy) - new_request = copy.copy(self.request.request) - new_request.url = urlparse.urljoin(self.request.url, - self.headers["Location"]) - new_request.max_redirects = self.request.max_redirects - 1 - del new_request.headers["Host"] - # http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4 - # Client SHOULD make a GET request after a 303. - # According to the spec, 302 should be followed by the same - # method as the original request, but in practice browsers - # treat 302 the same as 303, and many servers use 302 for - # compatibility with pre-HTTP/1.1 user agents which don't - # understand the 303 status. - if self.code in (302, 303): - new_request.method = "GET" - new_request.body = None - for h in ["Content-Length", "Content-Type", - "Content-Encoding", "Transfer-Encoding"]: - try: - del self.request.headers[h] - except KeyError: - pass - new_request.original_request = original_request - final_callback = self.final_callback - self.final_callback = None - self._release() - self.client.fetch(new_request, final_callback) - self._on_end_request() - return - if self.request.streaming_callback: - buffer = BytesIO() - else: - buffer = BytesIO(data) # TODO: don't require one big string? - response = HTTPResponse(original_request, - self.code, reason=getattr(self, 'reason', None), - headers=self.headers, - request_time=self.io_loop.time() - self.start_time, - buffer=buffer, - effective_url=self.request.url) - self._run_callback(response) - self._on_end_request() - - def _on_end_request(self): - self.stream.close() - - def data_received(self, chunk): - if self._should_follow_redirect(): - # We're going to follow a redirect so just discard the body. - return - if self.request.streaming_callback is not None: - self.request.streaming_callback(chunk) - else: - self.chunks.append(chunk) - - -if __name__ == "__main__": - AsyncHTTPClient.configure(SimpleAsyncHTTPClient) - main() diff --git a/lib27/site-packages/tornado/speedups.pyd b/lib27/site-packages/tornado/speedups.pyd deleted file mode 100644 index fb2968386..000000000 Binary files a/lib27/site-packages/tornado/speedups.pyd and /dev/null differ diff --git a/lib27/site-packages/tornado/stack_context.py b/lib27/site-packages/tornado/stack_context.py deleted file mode 100644 index 2c0d9ee7d..000000000 --- a/lib27/site-packages/tornado/stack_context.py +++ /dev/null @@ -1,388 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2010 Facebook -# -# 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. - -"""`StackContext` allows applications to maintain threadlocal-like state -that follows execution as it moves to other execution contexts. - -The motivating examples are to eliminate the need for explicit -``async_callback`` wrappers (as in `tornado.web.RequestHandler`), and to -allow some additional context to be kept for logging. - -This is slightly magic, but it's an extension of the idea that an -exception handler is a kind of stack-local state and when that stack -is suspended and resumed in a new context that state needs to be -preserved. `StackContext` shifts the burden of restoring that state -from each call site (e.g. wrapping each `.AsyncHTTPClient` callback -in ``async_callback``) to the mechanisms that transfer control from -one context to another (e.g. `.AsyncHTTPClient` itself, `.IOLoop`, -thread pools, etc). - -Example usage:: - - @contextlib.contextmanager - def die_on_error(): - try: - yield - except Exception: - logging.error("exception in asynchronous operation",exc_info=True) - sys.exit(1) - - with StackContext(die_on_error): - # Any exception thrown here *or in callback and its descendants* - # will cause the process to exit instead of spinning endlessly - # in the ioloop. - http_client.fetch(url, callback) - ioloop.start() - -Most applications shouldn't have to work with `StackContext` directly. -Here are a few rules of thumb for when it's necessary: - -* If you're writing an asynchronous library that doesn't rely on a - stack_context-aware library like `tornado.ioloop` or `tornado.iostream` - (for example, if you're writing a thread pool), use - `.stack_context.wrap()` before any asynchronous operations to capture the - stack context from where the operation was started. - -* If you're writing an asynchronous library that has some shared - resources (such as a connection pool), create those shared resources - within a ``with stack_context.NullContext():`` block. This will prevent - ``StackContexts`` from leaking from one request to another. - -* If you want to write something like an exception handler that will - persist across asynchronous calls, create a new `StackContext` (or - `ExceptionStackContext`), and make your asynchronous calls in a ``with`` - block that references your `StackContext`. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import sys -import threading - -from tornado.util import raise_exc_info - - -class StackContextInconsistentError(Exception): - pass - - -class _State(threading.local): - def __init__(self): - self.contexts = (tuple(), None) -_state = _State() - - -class StackContext(object): - """Establishes the given context as a StackContext that will be transferred. - - Note that the parameter is a callable that returns a context - manager, not the context itself. That is, where for a - non-transferable context manager you would say:: - - with my_context(): - - StackContext takes the function itself rather than its result:: - - with StackContext(my_context): - - The result of ``with StackContext() as cb:`` is a deactivation - callback. Run this callback when the StackContext is no longer - needed to ensure that it is not propagated any further (note that - deactivating a context does not affect any instances of that - context that are currently pending). This is an advanced feature - and not necessary in most applications. - """ - def __init__(self, context_factory): - self.context_factory = context_factory - self.contexts = [] - self.active = True - - def _deactivate(self): - self.active = False - - # StackContext protocol - def enter(self): - context = self.context_factory() - self.contexts.append(context) - context.__enter__() - - def exit(self, type, value, traceback): - context = self.contexts.pop() - context.__exit__(type, value, traceback) - - # Note that some of this code is duplicated in ExceptionStackContext - # below. ExceptionStackContext is more common and doesn't need - # the full generality of this class. - def __enter__(self): - self.old_contexts = _state.contexts - self.new_contexts = (self.old_contexts[0] + (self,), self) - _state.contexts = self.new_contexts - - try: - self.enter() - except: - _state.contexts = self.old_contexts - raise - - return self._deactivate - - def __exit__(self, type, value, traceback): - try: - self.exit(type, value, traceback) - finally: - final_contexts = _state.contexts - _state.contexts = self.old_contexts - - # Generator coroutines and with-statements with non-local - # effects interact badly. Check here for signs of - # the stack getting out of sync. - # Note that this check comes after restoring _state.context - # so that if it fails things are left in a (relatively) - # consistent state. - if final_contexts is not self.new_contexts: - raise StackContextInconsistentError( - 'stack_context inconsistency (may be caused by yield ' - 'within a "with StackContext" block)') - - # Break up a reference to itself to allow for faster GC on CPython. - self.new_contexts = None - - -class ExceptionStackContext(object): - """Specialization of StackContext for exception handling. - - The supplied ``exception_handler`` function will be called in the - event of an uncaught exception in this context. The semantics are - similar to a try/finally clause, and intended use cases are to log - an error, close a socket, or similar cleanup actions. The - ``exc_info`` triple ``(type, value, traceback)`` will be passed to the - exception_handler function. - - If the exception handler returns true, the exception will be - consumed and will not be propagated to other exception handlers. - """ - def __init__(self, exception_handler): - self.exception_handler = exception_handler - self.active = True - - def _deactivate(self): - self.active = False - - def exit(self, type, value, traceback): - if type is not None: - return self.exception_handler(type, value, traceback) - - def __enter__(self): - self.old_contexts = _state.contexts - self.new_contexts = (self.old_contexts[0], self) - _state.contexts = self.new_contexts - - return self._deactivate - - def __exit__(self, type, value, traceback): - try: - if type is not None: - return self.exception_handler(type, value, traceback) - finally: - final_contexts = _state.contexts - _state.contexts = self.old_contexts - - if final_contexts is not self.new_contexts: - raise StackContextInconsistentError( - 'stack_context inconsistency (may be caused by yield ' - 'within a "with StackContext" block)') - - # Break up a reference to itself to allow for faster GC on CPython. - self.new_contexts = None - - -class NullContext(object): - """Resets the `StackContext`. - - Useful when creating a shared resource on demand (e.g. an - `.AsyncHTTPClient`) where the stack that caused the creating is - not relevant to future operations. - """ - def __enter__(self): - self.old_contexts = _state.contexts - _state.contexts = (tuple(), None) - - def __exit__(self, type, value, traceback): - _state.contexts = self.old_contexts - - -def _remove_deactivated(contexts): - """Remove deactivated handlers from the chain""" - # Clean ctx handlers - stack_contexts = tuple([h for h in contexts[0] if h.active]) - - # Find new head - head = contexts[1] - while head is not None and not head.active: - head = head.old_contexts[1] - - # Process chain - ctx = head - while ctx is not None: - parent = ctx.old_contexts[1] - - while parent is not None: - if parent.active: - break - ctx.old_contexts = parent.old_contexts - parent = parent.old_contexts[1] - - ctx = parent - - return (stack_contexts, head) - - -def wrap(fn): - """Returns a callable object that will restore the current `StackContext` - when executed. - - Use this whenever saving a callback to be executed later in a - different execution context (either in a different thread or - asynchronously in the same thread). - """ - # Check if function is already wrapped - if fn is None or hasattr(fn, '_wrapped'): - return fn - - # Capture current stack head - # TODO: Any other better way to store contexts and update them in wrapped function? - cap_contexts = [_state.contexts] - - if not cap_contexts[0][0] and not cap_contexts[0][1]: - # Fast path when there are no active contexts. - def null_wrapper(*args, **kwargs): - try: - current_state = _state.contexts - _state.contexts = cap_contexts[0] - return fn(*args, **kwargs) - finally: - _state.contexts = current_state - null_wrapper._wrapped = True - return null_wrapper - - def wrapped(*args, **kwargs): - ret = None - try: - # Capture old state - current_state = _state.contexts - - # Remove deactivated items - cap_contexts[0] = contexts = _remove_deactivated(cap_contexts[0]) - - # Force new state - _state.contexts = contexts - - # Current exception - exc = (None, None, None) - top = None - - # Apply stack contexts - last_ctx = 0 - stack = contexts[0] - - # Apply state - for n in stack: - try: - n.enter() - last_ctx += 1 - except: - # Exception happened. Record exception info and store top-most handler - exc = sys.exc_info() - top = n.old_contexts[1] - - # Execute callback if no exception happened while restoring state - if top is None: - try: - ret = fn(*args, **kwargs) - except: - exc = sys.exc_info() - top = contexts[1] - - # If there was exception, try to handle it by going through the exception chain - if top is not None: - exc = _handle_exception(top, exc) - else: - # Otherwise take shorter path and run stack contexts in reverse order - while last_ctx > 0: - last_ctx -= 1 - c = stack[last_ctx] - - try: - c.exit(*exc) - except: - exc = sys.exc_info() - top = c.old_contexts[1] - break - else: - top = None - - # If if exception happened while unrolling, take longer exception handler path - if top is not None: - exc = _handle_exception(top, exc) - - # If exception was not handled, raise it - if exc != (None, None, None): - raise_exc_info(exc) - finally: - _state.contexts = current_state - return ret - - wrapped._wrapped = True - return wrapped - - -def _handle_exception(tail, exc): - while tail is not None: - try: - if tail.exit(*exc): - exc = (None, None, None) - except: - exc = sys.exc_info() - - tail = tail.old_contexts[1] - - return exc - - -def run_with_stack_context(context, func): - """Run a coroutine ``func`` in the given `StackContext`. - - It is not safe to have a ``yield`` statement within a ``with StackContext`` - block, so it is difficult to use stack context with `.gen.coroutine`. - This helper function runs the function in the correct context while - keeping the ``yield`` and ``with`` statements syntactically separate. - - Example:: - - @gen.coroutine - def incorrect(): - with StackContext(ctx): - # ERROR: this will raise StackContextInconsistentError - yield other_coroutine() - - @gen.coroutine - def correct(): - yield run_with_stack_context(StackContext(ctx), other_coroutine) - - .. versionadded:: 3.1 - """ - with context: - return func() diff --git a/lib27/site-packages/tornado/tcpclient.py b/lib27/site-packages/tornado/tcpclient.py deleted file mode 100644 index f594d91b8..000000000 --- a/lib27/site-packages/tornado/tcpclient.py +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2014 Facebook -# -# 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. - -"""A non-blocking TCP connection factory. -""" -from __future__ import absolute_import, division, print_function, with_statement - -import functools -import socket - -from tornado.concurrent import Future -from tornado.ioloop import IOLoop -from tornado.iostream import IOStream -from tornado import gen -from tornado.netutil import Resolver - -_INITIAL_CONNECT_TIMEOUT = 0.3 - - -class _Connector(object): - """A stateless implementation of the "Happy Eyeballs" algorithm. - - "Happy Eyeballs" is documented in RFC6555 as the recommended practice - for when both IPv4 and IPv6 addresses are available. - - In this implementation, we partition the addresses by family, and - make the first connection attempt to whichever address was - returned first by ``getaddrinfo``. If that connection fails or - times out, we begin a connection in parallel to the first address - of the other family. If there are additional failures we retry - with other addresses, keeping one connection attempt per family - in flight at a time. - - http://tools.ietf.org/html/rfc6555 - - """ - def __init__(self, addrinfo, io_loop, connect): - self.io_loop = io_loop - self.connect = connect - - self.future = Future() - self.timeout = None - self.last_error = None - self.remaining = len(addrinfo) - self.primary_addrs, self.secondary_addrs = self.split(addrinfo) - - @staticmethod - def split(addrinfo): - """Partition the ``addrinfo`` list by address family. - - Returns two lists. The first list contains the first entry from - ``addrinfo`` and all others with the same family, and the - second list contains all other addresses (normally one list will - be AF_INET and the other AF_INET6, although non-standard resolvers - may return additional families). - """ - primary = [] - secondary = [] - primary_af = addrinfo[0][0] - for af, addr in addrinfo: - if af == primary_af: - primary.append((af, addr)) - else: - secondary.append((af, addr)) - return primary, secondary - - def start(self, timeout=_INITIAL_CONNECT_TIMEOUT): - self.try_connect(iter(self.primary_addrs)) - self.set_timout(timeout) - return self.future - - def try_connect(self, addrs): - try: - af, addr = next(addrs) - except StopIteration: - # We've reached the end of our queue, but the other queue - # might still be working. Send a final error on the future - # only when both queues are finished. - if self.remaining == 0 and not self.future.done(): - self.future.set_exception(self.last_error or - IOError("connection failed")) - return - future = self.connect(af, addr) - future.add_done_callback(functools.partial(self.on_connect_done, - addrs, af, addr)) - - def on_connect_done(self, addrs, af, addr, future): - self.remaining -= 1 - try: - stream = future.result() - except Exception as e: - if self.future.done(): - return - # Error: try again (but remember what happened so we have an - # error to raise in the end) - self.last_error = e - self.try_connect(addrs) - if self.timeout is not None: - # If the first attempt failed, don't wait for the - # timeout to try an address from the secondary queue. - self.io_loop.remove_timeout(self.timeout) - self.on_timeout() - return - self.clear_timeout() - if self.future.done(): - # This is a late arrival; just drop it. - stream.close() - else: - self.future.set_result((af, addr, stream)) - - def set_timout(self, timeout): - self.timeout = self.io_loop.add_timeout(self.io_loop.time() + timeout, - self.on_timeout) - - def on_timeout(self): - self.timeout = None - self.try_connect(iter(self.secondary_addrs)) - - def clear_timeout(self): - if self.timeout is not None: - self.io_loop.remove_timeout(self.timeout) - - -class TCPClient(object): - """A non-blocking TCP connection factory. - - .. versionchanged:: 4.1 - The ``io_loop`` argument is deprecated. - """ - def __init__(self, resolver=None, io_loop=None): - self.io_loop = io_loop or IOLoop.current() - if resolver is not None: - self.resolver = resolver - self._own_resolver = False - else: - self.resolver = Resolver(io_loop=io_loop) - self._own_resolver = True - - def close(self): - if self._own_resolver: - self.resolver.close() - - @gen.coroutine - def connect(self, host, port, af=socket.AF_UNSPEC, ssl_options=None, - max_buffer_size=None): - """Connect to the given host and port. - - Asynchronously returns an `.IOStream` (or `.SSLIOStream` if - ``ssl_options`` is not None). - """ - addrinfo = yield self.resolver.resolve(host, port, af) - connector = _Connector( - addrinfo, self.io_loop, - functools.partial(self._create_stream, max_buffer_size)) - af, addr, stream = yield connector.start() - # TODO: For better performance we could cache the (af, addr) - # information here and re-use it on subsequent connections to - # the same host. (http://tools.ietf.org/html/rfc6555#section-4.2) - if ssl_options is not None: - stream = yield stream.start_tls(False, ssl_options=ssl_options, - server_hostname=host) - raise gen.Return(stream) - - def _create_stream(self, max_buffer_size, af, addr): - # Always connect in plaintext; we'll convert to ssl if necessary - # after one connection has completed. - stream = IOStream(socket.socket(af), - io_loop=self.io_loop, - max_buffer_size=max_buffer_size) - return stream.connect(addr) diff --git a/lib27/site-packages/tornado/tcpserver.py b/lib27/site-packages/tornado/tcpserver.py deleted file mode 100644 index c9d148a80..000000000 --- a/lib27/site-packages/tornado/tcpserver.py +++ /dev/null @@ -1,273 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011 Facebook -# -# 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. - -"""A non-blocking, single-threaded TCP server.""" -from __future__ import absolute_import, division, print_function, with_statement - -import errno -import os -import socket - -from tornado.log import app_log -from tornado.ioloop import IOLoop -from tornado.iostream import IOStream, SSLIOStream -from tornado.netutil import bind_sockets, add_accept_handler, ssl_wrap_socket -from tornado import process -from tornado.util import errno_from_exception - -try: - import ssl -except ImportError: - # ssl is not available on Google App Engine. - ssl = None - - -class TCPServer(object): - r"""A non-blocking, single-threaded TCP server. - - To use `TCPServer`, define a subclass which overrides the `handle_stream` - method. - - To make this server serve SSL traffic, send the ``ssl_options`` keyword - argument with an `ssl.SSLContext` object. For compatibility with older - versions of Python ``ssl_options`` may also be a dictionary of keyword - arguments for the `ssl.wrap_socket` method.:: - - ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) - ssl_ctx.load_cert_chain(os.path.join(data_dir, "mydomain.crt"), - os.path.join(data_dir, "mydomain.key")) - TCPServer(ssl_options=ssl_ctx) - - `TCPServer` initialization follows one of three patterns: - - 1. `listen`: simple single-process:: - - server = TCPServer() - server.listen(8888) - IOLoop.current().start() - - 2. `bind`/`start`: simple multi-process:: - - server = TCPServer() - server.bind(8888) - server.start(0) # Forks multiple sub-processes - IOLoop.current().start() - - When using this interface, an `.IOLoop` must *not* be passed - to the `TCPServer` constructor. `start` will always start - the server on the default singleton `.IOLoop`. - - 3. `add_sockets`: advanced multi-process:: - - sockets = bind_sockets(8888) - tornado.process.fork_processes(0) - server = TCPServer() - server.add_sockets(sockets) - IOLoop.current().start() - - The `add_sockets` interface is more complicated, but it can be - used with `tornado.process.fork_processes` to give you more - flexibility in when the fork happens. `add_sockets` can - also be used in single-process servers if you want to create - your listening sockets in some way other than - `~tornado.netutil.bind_sockets`. - - .. versionadded:: 3.1 - The ``max_buffer_size`` argument. - """ - def __init__(self, io_loop=None, ssl_options=None, max_buffer_size=None, - read_chunk_size=None): - self.io_loop = io_loop - self.ssl_options = ssl_options - self._sockets = {} # fd -> socket object - self._pending_sockets = [] - self._started = False - self.max_buffer_size = max_buffer_size - self.read_chunk_size = read_chunk_size - - # Verify the SSL options. Otherwise we don't get errors until clients - # connect. This doesn't verify that the keys are legitimate, but - # the SSL module doesn't do that until there is a connected socket - # which seems like too much work - if self.ssl_options is not None and isinstance(self.ssl_options, dict): - # Only certfile is required: it can contain both keys - if 'certfile' not in self.ssl_options: - raise KeyError('missing key "certfile" in ssl_options') - - if not os.path.exists(self.ssl_options['certfile']): - raise ValueError('certfile "%s" does not exist' % - self.ssl_options['certfile']) - if ('keyfile' in self.ssl_options and - not os.path.exists(self.ssl_options['keyfile'])): - raise ValueError('keyfile "%s" does not exist' % - self.ssl_options['keyfile']) - - def listen(self, port, address=""): - """Starts accepting connections on the given port. - - This method may be called more than once to listen on multiple ports. - `listen` takes effect immediately; it is not necessary to call - `TCPServer.start` afterwards. It is, however, necessary to start - the `.IOLoop`. - """ - sockets = bind_sockets(port, address=address) - self.add_sockets(sockets) - - def add_sockets(self, sockets): - """Makes this server start accepting connections on the given sockets. - - The ``sockets`` parameter is a list of socket objects such as - those returned by `~tornado.netutil.bind_sockets`. - `add_sockets` is typically used in combination with that - method and `tornado.process.fork_processes` to provide greater - control over the initialization of a multi-process server. - """ - if self.io_loop is None: - self.io_loop = IOLoop.current() - - for sock in sockets: - self._sockets[sock.fileno()] = sock - add_accept_handler(sock, self._handle_connection, - io_loop=self.io_loop) - - def add_socket(self, socket): - """Singular version of `add_sockets`. Takes a single socket object.""" - self.add_sockets([socket]) - - def bind(self, port, address=None, family=socket.AF_UNSPEC, backlog=128): - """Binds this server to the given port on the given address. - - To start the server, call `start`. If you want to run this server - in a single process, you can call `listen` as a shortcut to the - sequence of `bind` and `start` calls. - - Address may be either an IP address or hostname. If it's a hostname, - the server will listen on all IP addresses associated with the - name. Address may be an empty string or None to listen on all - available interfaces. Family may be set to either `socket.AF_INET` - or `socket.AF_INET6` to restrict to IPv4 or IPv6 addresses, otherwise - both will be used if available. - - The ``backlog`` argument has the same meaning as for - `socket.listen `. - - This method may be called multiple times prior to `start` to listen - on multiple ports or interfaces. - """ - sockets = bind_sockets(port, address=address, family=family, - backlog=backlog) - if self._started: - self.add_sockets(sockets) - else: - self._pending_sockets.extend(sockets) - - def start(self, num_processes=1): - """Starts this server in the `.IOLoop`. - - By default, we run the server in this process and do not fork any - additional child process. - - If num_processes is ``None`` or <= 0, we detect the number of cores - available on this machine and fork that number of child - processes. If num_processes is given and > 1, we fork that - specific number of sub-processes. - - Since we use processes and not threads, there is no shared memory - between any server code. - - Note that multiple processes are not compatible with the autoreload - module (or the ``autoreload=True`` option to `tornado.web.Application` - which defaults to True when ``debug=True``). - When using multiple processes, no IOLoops can be created or - referenced until after the call to ``TCPServer.start(n)``. - """ - assert not self._started - self._started = True - if num_processes != 1: - process.fork_processes(num_processes) - sockets = self._pending_sockets - self._pending_sockets = [] - self.add_sockets(sockets) - - def stop(self): - """Stops listening for new connections. - - Requests currently in progress may still continue after the - server is stopped. - """ - for fd, sock in self._sockets.items(): - self.io_loop.remove_handler(fd) - sock.close() - - def handle_stream(self, stream, address): - """Override to handle a new `.IOStream` from an incoming connection. - - This method may be a coroutine; if so any exceptions it raises - asynchronously will be logged. Accepting of incoming connections - will not be blocked by this coroutine. - - If this `TCPServer` is configured for SSL, ``handle_stream`` - may be called before the SSL handshake has completed. Use - `.SSLIOStream.wait_for_handshake` if you need to verify the client's - certificate or use NPN/ALPN. - - .. versionchanged:: 4.2 - Added the option for this method to be a coroutine. - """ - raise NotImplementedError() - - def _handle_connection(self, connection, address): - if self.ssl_options is not None: - assert ssl, "Python 2.6+ and OpenSSL required for SSL" - try: - connection = ssl_wrap_socket(connection, - self.ssl_options, - server_side=True, - do_handshake_on_connect=False) - except ssl.SSLError as err: - if err.args[0] == ssl.SSL_ERROR_EOF: - return connection.close() - else: - raise - except socket.error as err: - # If the connection is closed immediately after it is created - # (as in a port scan), we can get one of several errors. - # wrap_socket makes an internal call to getpeername, - # which may return either EINVAL (Mac OS X) or ENOTCONN - # (Linux). If it returns ENOTCONN, this error is - # silently swallowed by the ssl module, so we need to - # catch another error later on (AttributeError in - # SSLIOStream._do_ssl_handshake). - # To test this behavior, try nmap with the -sT flag. - # https://github.com/tornadoweb/tornado/pull/750 - if errno_from_exception(err) in (errno.ECONNABORTED, errno.EINVAL): - return connection.close() - else: - raise - try: - if self.ssl_options is not None: - stream = SSLIOStream(connection, io_loop=self.io_loop, - max_buffer_size=self.max_buffer_size, - read_chunk_size=self.read_chunk_size) - else: - stream = IOStream(connection, io_loop=self.io_loop, - max_buffer_size=self.max_buffer_size, - read_chunk_size=self.read_chunk_size) - future = self.handle_stream(stream, address) - if future is not None: - self.io_loop.add_future(future, lambda f: f.result()) - except Exception: - app_log.error("Error in connection callback", exc_info=True) diff --git a/lib27/site-packages/tornado/template.py b/lib27/site-packages/tornado/template.py deleted file mode 100644 index fa588991e..000000000 --- a/lib27/site-packages/tornado/template.py +++ /dev/null @@ -1,975 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Facebook -# -# 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. - -"""A simple template system that compiles templates to Python code. - -Basic usage looks like:: - - t = template.Template("{{ myvalue }}") - print t.generate(myvalue="XXX") - -`Loader` is a class that loads templates from a root directory and caches -the compiled templates:: - - loader = template.Loader("/home/btaylor") - print loader.load("test.html").generate(myvalue="XXX") - -We compile all templates to raw Python. Error-reporting is currently... uh, -interesting. Syntax for the templates:: - - ### base.html - - - {% block title %}Default title{% end %} - - -
    - {% for student in students %} - {% block student %} -
  • {{ escape(student.name) }}
  • - {% end %} - {% end %} -
- - - - ### bold.html - {% extends "base.html" %} - - {% block title %}A bolder title{% end %} - - {% block student %} -
  • {{ escape(student.name) }}
  • - {% end %} - -Unlike most other template systems, we do not put any restrictions on the -expressions you can include in your statements. ``if`` and ``for`` blocks get -translated exactly into Python, so you can do complex expressions like:: - - {% for student in [p for p in people if p.student and p.age > 23] %} -
  • {{ escape(student.name) }}
  • - {% end %} - -Translating directly to Python means you can apply functions to expressions -easily, like the ``escape()`` function in the examples above. You can pass -functions in to your template just like any other variable -(In a `.RequestHandler`, override `.RequestHandler.get_template_namespace`):: - - ### Python code - def add(x, y): - return x + y - template.execute(add=add) - - ### The template - {{ add(1, 2) }} - -We provide the functions `escape() <.xhtml_escape>`, `.url_escape()`, -`.json_encode()`, and `.squeeze()` to all templates by default. - -Typical applications do not create `Template` or `Loader` instances by -hand, but instead use the `~.RequestHandler.render` and -`~.RequestHandler.render_string` methods of -`tornado.web.RequestHandler`, which load templates automatically based -on the ``template_path`` `.Application` setting. - -Variable names beginning with ``_tt_`` are reserved by the template -system and should not be used by application code. - -Syntax Reference ----------------- - -Template expressions are surrounded by double curly braces: ``{{ ... }}``. -The contents may be any python expression, which will be escaped according -to the current autoescape setting and inserted into the output. Other -template directives use ``{% %}``. These tags may be escaped as ``{{!`` -and ``{%!`` if you need to include a literal ``{{`` or ``{%`` in the output. - -To comment out a section so that it is omitted from the output, surround it -with ``{# ... #}``. - -``{% apply *function* %}...{% end %}`` - Applies a function to the output of all template code between ``apply`` - and ``end``:: - - {% apply linkify %}{{name}} said: {{message}}{% end %} - - Note that as an implementation detail apply blocks are implemented - as nested functions and thus may interact strangely with variables - set via ``{% set %}``, or the use of ``{% break %}`` or ``{% continue %}`` - within loops. - -``{% autoescape *function* %}`` - Sets the autoescape mode for the current file. This does not affect - other files, even those referenced by ``{% include %}``. Note that - autoescaping can also be configured globally, at the `.Application` - or `Loader`.:: - - {% autoescape xhtml_escape %} - {% autoescape None %} - -``{% block *name* %}...{% end %}`` - Indicates a named, replaceable block for use with ``{% extends %}``. - Blocks in the parent template will be replaced with the contents of - the same-named block in a child template.:: - - - {% block title %}Default title{% end %} - - - {% extends "base.html" %} - {% block title %}My page title{% end %} - -``{% comment ... %}`` - A comment which will be removed from the template output. Note that - there is no ``{% end %}`` tag; the comment goes from the word ``comment`` - to the closing ``%}`` tag. - -``{% extends *filename* %}`` - Inherit from another template. Templates that use ``extends`` should - contain one or more ``block`` tags to replace content from the parent - template. Anything in the child template not contained in a ``block`` - tag will be ignored. For an example, see the ``{% block %}`` tag. - -``{% for *var* in *expr* %}...{% end %}`` - Same as the python ``for`` statement. ``{% break %}`` and - ``{% continue %}`` may be used inside the loop. - -``{% from *x* import *y* %}`` - Same as the python ``import`` statement. - -``{% if *condition* %}...{% elif *condition* %}...{% else %}...{% end %}`` - Conditional statement - outputs the first section whose condition is - true. (The ``elif`` and ``else`` sections are optional) - -``{% import *module* %}`` - Same as the python ``import`` statement. - -``{% include *filename* %}`` - Includes another template file. The included file can see all the local - variables as if it were copied directly to the point of the ``include`` - directive (the ``{% autoescape %}`` directive is an exception). - Alternately, ``{% module Template(filename, **kwargs) %}`` may be used - to include another template with an isolated namespace. - -``{% module *expr* %}`` - Renders a `~tornado.web.UIModule`. The output of the ``UIModule`` is - not escaped:: - - {% module Template("foo.html", arg=42) %} - - ``UIModules`` are a feature of the `tornado.web.RequestHandler` - class (and specifically its ``render`` method) and will not work - when the template system is used on its own in other contexts. - -``{% raw *expr* %}`` - Outputs the result of the given expression without autoescaping. - -``{% set *x* = *y* %}`` - Sets a local variable. - -``{% try %}...{% except %}...{% else %}...{% finally %}...{% end %}`` - Same as the python ``try`` statement. - -``{% while *condition* %}... {% end %}`` - Same as the python ``while`` statement. ``{% break %}`` and - ``{% continue %}`` may be used inside the loop. - -``{% whitespace *mode* %}`` - Sets the whitespace mode for the remainder of the current file - (or until the next ``{% whitespace %}`` directive). See - `filter_whitespace` for available options. New in Tornado 4.3. -""" - -from __future__ import absolute_import, division, print_function, with_statement - -import datetime -import linecache -import os.path -import posixpath -import re -import threading - -from tornado import escape -from tornado.log import app_log -from tornado.util import ObjectDict, exec_in, unicode_type - -try: - from cStringIO import StringIO # py2 -except ImportError: - from io import StringIO # py3 - -_DEFAULT_AUTOESCAPE = "xhtml_escape" -_UNSET = object() - - -def filter_whitespace(mode, text): - """Transform whitespace in ``text`` according to ``mode``. - - Available modes are: - - * ``all``: Return all whitespace unmodified. - * ``single``: Collapse consecutive whitespace with a single whitespace - character, preserving newlines. - * ``oneline``: Collapse all runs of whitespace into a single space - character, removing all newlines in the process. - - .. versionadded:: 4.3 - """ - if mode == 'all': - return text - elif mode == 'single': - text = re.sub(r"([\t ]+)", " ", text) - text = re.sub(r"(\s*\n\s*)", "\n", text) - return text - elif mode == 'oneline': - return re.sub(r"(\s+)", " ", text) - else: - raise Exception("invalid whitespace mode %s" % mode) - - -class Template(object): - """A compiled template. - - We compile into Python from the given template_string. You can generate - the template from variables with generate(). - """ - # note that the constructor's signature is not extracted with - # autodoc because _UNSET looks like garbage. When changing - # this signature update website/sphinx/template.rst too. - def __init__(self, template_string, name="", loader=None, - compress_whitespace=_UNSET, autoescape=_UNSET, - whitespace=None): - """Construct a Template. - - :arg str template_string: the contents of the template file. - :arg str name: the filename from which the template was loaded - (used for error message). - :arg tornado.template.BaseLoader loader: the `~tornado.template.BaseLoader` responsible for this template, - used to resolve ``{% include %}`` and ``{% extend %}`` - directives. - :arg bool compress_whitespace: Deprecated since Tornado 4.3. - Equivalent to ``whitespace="single"`` if true and - ``whitespace="all"`` if false. - :arg str autoescape: The name of a function in the template - namespace, or ``None`` to disable escaping by default. - :arg str whitespace: A string specifying treatment of whitespace; - see `filter_whitespace` for options. - - .. versionchanged:: 4.3 - Added ``whitespace`` parameter; deprecated ``compress_whitespace``. - """ - self.name = escape.native_str(name) - - if compress_whitespace is not _UNSET: - # Convert deprecated compress_whitespace (bool) to whitespace (str). - if whitespace is not None: - raise Exception("cannot set both whitespace and compress_whitespace") - whitespace = "single" if compress_whitespace else "all" - if whitespace is None: - if loader and loader.whitespace: - whitespace = loader.whitespace - else: - # Whitespace defaults by filename. - if name.endswith(".html") or name.endswith(".js"): - whitespace = "single" - else: - whitespace = "all" - # Validate the whitespace setting. - filter_whitespace(whitespace, '') - - if autoescape is not _UNSET: - self.autoescape = autoescape - elif loader: - self.autoescape = loader.autoescape - else: - self.autoescape = _DEFAULT_AUTOESCAPE - - self.namespace = loader.namespace if loader else {} - reader = _TemplateReader(name, escape.native_str(template_string), - whitespace) - self.file = _File(self, _parse(reader, self)) - self.code = self._generate_python(loader) - self.loader = loader - try: - # Under python2.5, the fake filename used here must match - # the module name used in __name__ below. - # The dont_inherit flag prevents template.py's future imports - # from being applied to the generated code. - self.compiled = compile( - escape.to_unicode(self.code), - "%s.generated.py" % self.name.replace('.', '_'), - "exec", dont_inherit=True) - except Exception: - formatted_code = _format_code(self.code).rstrip() - app_log.error("%s code:\n%s", self.name, formatted_code) - raise - - def generate(self, **kwargs): - """Generate this template with the given arguments.""" - namespace = { - "escape": escape.xhtml_escape, - "xhtml_escape": escape.xhtml_escape, - "url_escape": escape.url_escape, - "json_encode": escape.json_encode, - "squeeze": escape.squeeze, - "linkify": escape.linkify, - "datetime": datetime, - "_tt_utf8": escape.utf8, # for internal use - "_tt_string_types": (unicode_type, bytes), - # __name__ and __loader__ allow the traceback mechanism to find - # the generated source code. - "__name__": self.name.replace('.', '_'), - "__loader__": ObjectDict(get_source=lambda name: self.code), - } - namespace.update(self.namespace) - namespace.update(kwargs) - exec_in(self.compiled, namespace) - execute = namespace["_tt_execute"] - # Clear the traceback module's cache of source data now that - # we've generated a new template (mainly for this module's - # unittests, where different tests reuse the same name). - linecache.clearcache() - return execute() - - def _generate_python(self, loader): - buffer = StringIO() - try: - # named_blocks maps from names to _NamedBlock objects - named_blocks = {} - ancestors = self._get_ancestors(loader) - ancestors.reverse() - for ancestor in ancestors: - ancestor.find_named_blocks(loader, named_blocks) - writer = _CodeWriter(buffer, named_blocks, loader, - ancestors[0].template) - ancestors[0].generate(writer) - return buffer.getvalue() - finally: - buffer.close() - - def _get_ancestors(self, loader): - ancestors = [self.file] - for chunk in self.file.body.chunks: - if isinstance(chunk, _ExtendsBlock): - if not loader: - raise ParseError("{% extends %} block found, but no " - "template loader") - template = loader.load(chunk.name, self.name) - ancestors.extend(template._get_ancestors(loader)) - return ancestors - - -class BaseLoader(object): - """Base class for template loaders. - - You must use a template loader to use template constructs like - ``{% extends %}`` and ``{% include %}``. The loader caches all - templates after they are loaded the first time. - """ - def __init__(self, autoescape=_DEFAULT_AUTOESCAPE, namespace=None, - whitespace=None): - """Construct a template loader. - - :arg str autoescape: The name of a function in the template - namespace, such as "xhtml_escape", or ``None`` to disable - autoescaping by default. - :arg dict namespace: A dictionary to be added to the default template - namespace, or ``None``. - :arg str whitespace: A string specifying default behavior for - whitespace in templates; see `filter_whitespace` for options. - Default is "single" for files ending in ".html" and ".js" and - "all" for other files. - - .. versionchanged:: 4.3 - Added ``whitespace`` parameter. - """ - self.autoescape = autoescape - self.namespace = namespace or {} - self.whitespace = whitespace - self.templates = {} - # self.lock protects self.templates. It's a reentrant lock - # because templates may load other templates via `include` or - # `extends`. Note that thanks to the GIL this code would be safe - # even without the lock, but could lead to wasted work as multiple - # threads tried to compile the same template simultaneously. - self.lock = threading.RLock() - - def reset(self): - """Resets the cache of compiled templates.""" - with self.lock: - self.templates = {} - - def resolve_path(self, name, parent_path=None): - """Converts a possibly-relative path to absolute (used internally).""" - raise NotImplementedError() - - def load(self, name, parent_path=None): - """Loads a template.""" - name = self.resolve_path(name, parent_path=parent_path) - with self.lock: - if name not in self.templates: - self.templates[name] = self._create_template(name) - return self.templates[name] - - def _create_template(self, name): - raise NotImplementedError() - - -class Loader(BaseLoader): - """A template loader that loads from a single root directory. - """ - def __init__(self, root_directory, **kwargs): - super(Loader, self).__init__(**kwargs) - self.root = os.path.abspath(root_directory) - - def resolve_path(self, name, parent_path=None): - if parent_path and not parent_path.startswith("<") and \ - not parent_path.startswith("/") and \ - not name.startswith("/"): - current_path = os.path.join(self.root, parent_path) - file_dir = os.path.dirname(os.path.abspath(current_path)) - relative_path = os.path.abspath(os.path.join(file_dir, name)) - if relative_path.startswith(self.root): - name = relative_path[len(self.root) + 1:] - return name - - def _create_template(self, name): - path = os.path.join(self.root, name) - with open(path, "rb") as f: - template = Template(f.read(), name=name, loader=self) - return template - - -class DictLoader(BaseLoader): - """A template loader that loads from a dictionary.""" - def __init__(self, dict, **kwargs): - super(DictLoader, self).__init__(**kwargs) - self.dict = dict - - def resolve_path(self, name, parent_path=None): - if parent_path and not parent_path.startswith("<") and \ - not parent_path.startswith("/") and \ - not name.startswith("/"): - file_dir = posixpath.dirname(parent_path) - name = posixpath.normpath(posixpath.join(file_dir, name)) - return name - - def _create_template(self, name): - return Template(self.dict[name], name=name, loader=self) - - -class _Node(object): - def each_child(self): - return () - - def generate(self, writer): - raise NotImplementedError() - - def find_named_blocks(self, loader, named_blocks): - for child in self.each_child(): - child.find_named_blocks(loader, named_blocks) - - -class _File(_Node): - def __init__(self, template, body): - self.template = template - self.body = body - self.line = 0 - - def generate(self, writer): - writer.write_line("def _tt_execute():", self.line) - with writer.indent(): - writer.write_line("_tt_buffer = []", self.line) - writer.write_line("_tt_append = _tt_buffer.append", self.line) - self.body.generate(writer) - writer.write_line("return _tt_utf8('').join(_tt_buffer)", self.line) - - def each_child(self): - return (self.body,) - - -class _ChunkList(_Node): - def __init__(self, chunks): - self.chunks = chunks - - def generate(self, writer): - for chunk in self.chunks: - chunk.generate(writer) - - def each_child(self): - return self.chunks - - -class _NamedBlock(_Node): - def __init__(self, name, body, template, line): - self.name = name - self.body = body - self.template = template - self.line = line - - def each_child(self): - return (self.body,) - - def generate(self, writer): - block = writer.named_blocks[self.name] - with writer.include(block.template, self.line): - block.body.generate(writer) - - def find_named_blocks(self, loader, named_blocks): - named_blocks[self.name] = self - _Node.find_named_blocks(self, loader, named_blocks) - - -class _ExtendsBlock(_Node): - def __init__(self, name): - self.name = name - - -class _IncludeBlock(_Node): - def __init__(self, name, reader, line): - self.name = name - self.template_name = reader.name - self.line = line - - def find_named_blocks(self, loader, named_blocks): - included = loader.load(self.name, self.template_name) - included.file.find_named_blocks(loader, named_blocks) - - def generate(self, writer): - included = writer.loader.load(self.name, self.template_name) - with writer.include(included, self.line): - included.file.body.generate(writer) - - -class _ApplyBlock(_Node): - def __init__(self, method, line, body=None): - self.method = method - self.line = line - self.body = body - - def each_child(self): - return (self.body,) - - def generate(self, writer): - method_name = "_tt_apply%d" % writer.apply_counter - writer.apply_counter += 1 - writer.write_line("def %s():" % method_name, self.line) - with writer.indent(): - writer.write_line("_tt_buffer = []", self.line) - writer.write_line("_tt_append = _tt_buffer.append", self.line) - self.body.generate(writer) - writer.write_line("return _tt_utf8('').join(_tt_buffer)", self.line) - writer.write_line("_tt_append(_tt_utf8(%s(%s())))" % ( - self.method, method_name), self.line) - - -class _ControlBlock(_Node): - def __init__(self, statement, line, body=None): - self.statement = statement - self.line = line - self.body = body - - def each_child(self): - return (self.body,) - - def generate(self, writer): - writer.write_line("%s:" % self.statement, self.line) - with writer.indent(): - self.body.generate(writer) - # Just in case the body was empty - writer.write_line("pass", self.line) - - -class _IntermediateControlBlock(_Node): - def __init__(self, statement, line): - self.statement = statement - self.line = line - - def generate(self, writer): - # In case the previous block was empty - writer.write_line("pass", self.line) - writer.write_line("%s:" % self.statement, self.line, writer.indent_size() - 1) - - -class _Statement(_Node): - def __init__(self, statement, line): - self.statement = statement - self.line = line - - def generate(self, writer): - writer.write_line(self.statement, self.line) - - -class _Expression(_Node): - def __init__(self, expression, line, raw=False): - self.expression = expression - self.line = line - self.raw = raw - - def generate(self, writer): - writer.write_line("_tt_tmp = %s" % self.expression, self.line) - writer.write_line("if isinstance(_tt_tmp, _tt_string_types):" - " _tt_tmp = _tt_utf8(_tt_tmp)", self.line) - writer.write_line("else: _tt_tmp = _tt_utf8(str(_tt_tmp))", self.line) - if not self.raw and writer.current_template.autoescape is not None: - # In python3 functions like xhtml_escape return unicode, - # so we have to convert to utf8 again. - writer.write_line("_tt_tmp = _tt_utf8(%s(_tt_tmp))" % - writer.current_template.autoescape, self.line) - writer.write_line("_tt_append(_tt_tmp)", self.line) - - -class _Module(_Expression): - def __init__(self, expression, line): - super(_Module, self).__init__("_tt_modules." + expression, line, - raw=True) - - -class _Text(_Node): - def __init__(self, value, line, whitespace): - self.value = value - self.line = line - self.whitespace = whitespace - - def generate(self, writer): - value = self.value - - # Compress whitespace if requested, with a crude heuristic to avoid - # altering preformatted whitespace. - if "
    " not in value:
    -            value = filter_whitespace(self.whitespace, value)
    -
    -        if value:
    -            writer.write_line('_tt_append(%r)' % escape.utf8(value), self.line)
    -
    -
    -class ParseError(Exception):
    -    """Raised for template syntax errors.
    -
    -    ``ParseError`` instances have ``filename`` and ``lineno`` attributes
    -    indicating the position of the error.
    -
    -    .. versionchanged:: 4.3
    -       Added ``filename`` and ``lineno`` attributes.
    -    """
    -    def __init__(self, message, filename, lineno):
    -        self.message = message
    -        # The names "filename" and "lineno" are chosen for consistency
    -        # with python SyntaxError.
    -        self.filename = filename
    -        self.lineno = lineno
    -
    -    def __str__(self):
    -        return '%s at %s:%d' % (self.message, self.filename, self.lineno)
    -
    -
    -class _CodeWriter(object):
    -    def __init__(self, file, named_blocks, loader, current_template):
    -        self.file = file
    -        self.named_blocks = named_blocks
    -        self.loader = loader
    -        self.current_template = current_template
    -        self.apply_counter = 0
    -        self.include_stack = []
    -        self._indent = 0
    -
    -    def indent_size(self):
    -        return self._indent
    -
    -    def indent(self):
    -        class Indenter(object):
    -            def __enter__(_):
    -                self._indent += 1
    -                return self
    -
    -            def __exit__(_, *args):
    -                assert self._indent > 0
    -                self._indent -= 1
    -
    -        return Indenter()
    -
    -    def include(self, template, line):
    -        self.include_stack.append((self.current_template, line))
    -        self.current_template = template
    -
    -        class IncludeTemplate(object):
    -            def __enter__(_):
    -                return self
    -
    -            def __exit__(_, *args):
    -                self.current_template = self.include_stack.pop()[0]
    -
    -        return IncludeTemplate()
    -
    -    def write_line(self, line, line_number, indent=None):
    -        if indent is None:
    -            indent = self._indent
    -        line_comment = '  # %s:%d' % (self.current_template.name, line_number)
    -        if self.include_stack:
    -            ancestors = ["%s:%d" % (tmpl.name, lineno)
    -                         for (tmpl, lineno) in self.include_stack]
    -            line_comment += ' (via %s)' % ', '.join(reversed(ancestors))
    -        print("    " * indent + line + line_comment, file=self.file)
    -
    -
    -class _TemplateReader(object):
    -    def __init__(self, name, text, whitespace):
    -        self.name = name
    -        self.text = text
    -        self.whitespace = whitespace
    -        self.line = 1
    -        self.pos = 0
    -
    -    def find(self, needle, start=0, end=None):
    -        assert start >= 0, start
    -        pos = self.pos
    -        start += pos
    -        if end is None:
    -            index = self.text.find(needle, start)
    -        else:
    -            end += pos
    -            assert end >= start
    -            index = self.text.find(needle, start, end)
    -        if index != -1:
    -            index -= pos
    -        return index
    -
    -    def consume(self, count=None):
    -        if count is None:
    -            count = len(self.text) - self.pos
    -        newpos = self.pos + count
    -        self.line += self.text.count("\n", self.pos, newpos)
    -        s = self.text[self.pos:newpos]
    -        self.pos = newpos
    -        return s
    -
    -    def remaining(self):
    -        return len(self.text) - self.pos
    -
    -    def __len__(self):
    -        return self.remaining()
    -
    -    def __getitem__(self, key):
    -        if type(key) is slice:
    -            size = len(self)
    -            start, stop, step = key.indices(size)
    -            if start is None:
    -                start = self.pos
    -            else:
    -                start += self.pos
    -            if stop is not None:
    -                stop += self.pos
    -            return self.text[slice(start, stop, step)]
    -        elif key < 0:
    -            return self.text[key]
    -        else:
    -            return self.text[self.pos + key]
    -
    -    def __str__(self):
    -        return self.text[self.pos:]
    -
    -    def raise_parse_error(self, msg):
    -        raise ParseError(msg, self.name, self.line)
    -
    -
    -def _format_code(code):
    -    lines = code.splitlines()
    -    format = "%%%dd  %%s\n" % len(repr(len(lines) + 1))
    -    return "".join([format % (i + 1, line) for (i, line) in enumerate(lines)])
    -
    -
    -def _parse(reader, template, in_block=None, in_loop=None):
    -    body = _ChunkList([])
    -    while True:
    -        # Find next template directive
    -        curly = 0
    -        while True:
    -            curly = reader.find("{", curly)
    -            if curly == -1 or curly + 1 == reader.remaining():
    -                # EOF
    -                if in_block:
    -                    reader.raise_parse_error(
    -                        "Missing {%% end %%} block for %s" % in_block)
    -                body.chunks.append(_Text(reader.consume(), reader.line,
    -                                         reader.whitespace))
    -                return body
    -            # If the first curly brace is not the start of a special token,
    -            # start searching from the character after it
    -            if reader[curly + 1] not in ("{", "%", "#"):
    -                curly += 1
    -                continue
    -            # When there are more than 2 curlies in a row, use the
    -            # innermost ones.  This is useful when generating languages
    -            # like latex where curlies are also meaningful
    -            if (curly + 2 < reader.remaining() and
    -                    reader[curly + 1] == '{' and reader[curly + 2] == '{'):
    -                curly += 1
    -                continue
    -            break
    -
    -        # Append any text before the special token
    -        if curly > 0:
    -            cons = reader.consume(curly)
    -            body.chunks.append(_Text(cons, reader.line,
    -                                     reader.whitespace))
    -
    -        start_brace = reader.consume(2)
    -        line = reader.line
    -
    -        # Template directives may be escaped as "{{!" or "{%!".
    -        # In this case output the braces and consume the "!".
    -        # This is especially useful in conjunction with jquery templates,
    -        # which also use double braces.
    -        if reader.remaining() and reader[0] == "!":
    -            reader.consume(1)
    -            body.chunks.append(_Text(start_brace, line,
    -                                     reader.whitespace))
    -            continue
    -
    -        # Comment
    -        if start_brace == "{#":
    -            end = reader.find("#}")
    -            if end == -1:
    -                reader.raise_parse_error("Missing end comment #}")
    -            contents = reader.consume(end).strip()
    -            reader.consume(2)
    -            continue
    -
    -        # Expression
    -        if start_brace == "{{":
    -            end = reader.find("}}")
    -            if end == -1:
    -                reader.raise_parse_error("Missing end expression }}")
    -            contents = reader.consume(end).strip()
    -            reader.consume(2)
    -            if not contents:
    -                reader.raise_parse_error("Empty expression")
    -            body.chunks.append(_Expression(contents, line))
    -            continue
    -
    -        # Block
    -        assert start_brace == "{%", start_brace
    -        end = reader.find("%}")
    -        if end == -1:
    -            reader.raise_parse_error("Missing end block %}")
    -        contents = reader.consume(end).strip()
    -        reader.consume(2)
    -        if not contents:
    -            reader.raise_parse_error("Empty block tag ({% %})")
    -
    -        operator, space, suffix = contents.partition(" ")
    -        suffix = suffix.strip()
    -
    -        # Intermediate ("else", "elif", etc) blocks
    -        intermediate_blocks = {
    -            "else": set(["if", "for", "while", "try"]),
    -            "elif": set(["if"]),
    -            "except": set(["try"]),
    -            "finally": set(["try"]),
    -        }
    -        allowed_parents = intermediate_blocks.get(operator)
    -        if allowed_parents is not None:
    -            if not in_block:
    -                reader.raise_parse_error("%s outside %s block" %
    -                                         (operator, allowed_parents))
    -            if in_block not in allowed_parents:
    -                reader.raise_parse_error(
    -                    "%s block cannot be attached to %s block" %
    -                    (operator, in_block))
    -            body.chunks.append(_IntermediateControlBlock(contents, line))
    -            continue
    -
    -        # End tag
    -        elif operator == "end":
    -            if not in_block:
    -                reader.raise_parse_error("Extra {% end %} block")
    -            return body
    -
    -        elif operator in ("extends", "include", "set", "import", "from",
    -                          "comment", "autoescape", "whitespace", "raw",
    -                          "module"):
    -            if operator == "comment":
    -                continue
    -            if operator == "extends":
    -                suffix = suffix.strip('"').strip("'")
    -                if not suffix:
    -                    reader.raise_parse_error("extends missing file path")
    -                block = _ExtendsBlock(suffix)
    -            elif operator in ("import", "from"):
    -                if not suffix:
    -                    reader.raise_parse_error("import missing statement")
    -                block = _Statement(contents, line)
    -            elif operator == "include":
    -                suffix = suffix.strip('"').strip("'")
    -                if not suffix:
    -                    reader.raise_parse_error("include missing file path")
    -                block = _IncludeBlock(suffix, reader, line)
    -            elif operator == "set":
    -                if not suffix:
    -                    reader.raise_parse_error("set missing statement")
    -                block = _Statement(suffix, line)
    -            elif operator == "autoescape":
    -                fn = suffix.strip()
    -                if fn == "None":
    -                    fn = None
    -                template.autoescape = fn
    -                continue
    -            elif operator == "whitespace":
    -                mode = suffix.strip()
    -                # Validate the selected mode
    -                filter_whitespace(mode, '')
    -                reader.whitespace = mode
    -                continue
    -            elif operator == "raw":
    -                block = _Expression(suffix, line, raw=True)
    -            elif operator == "module":
    -                block = _Module(suffix, line)
    -            body.chunks.append(block)
    -            continue
    -
    -        elif operator in ("apply", "block", "try", "if", "for", "while"):
    -            # parse inner body recursively
    -            if operator in ("for", "while"):
    -                block_body = _parse(reader, template, operator, operator)
    -            elif operator == "apply":
    -                # apply creates a nested function so syntactically it's not
    -                # in the loop.
    -                block_body = _parse(reader, template, operator, None)
    -            else:
    -                block_body = _parse(reader, template, operator, in_loop)
    -
    -            if operator == "apply":
    -                if not suffix:
    -                    reader.raise_parse_error("apply missing method name")
    -                block = _ApplyBlock(suffix, line, block_body)
    -            elif operator == "block":
    -                if not suffix:
    -                    reader.raise_parse_error("block missing name")
    -                block = _NamedBlock(suffix, block_body, template, line)
    -            else:
    -                block = _ControlBlock(contents, line, block_body)
    -            body.chunks.append(block)
    -            continue
    -
    -        elif operator in ("break", "continue"):
    -            if not in_loop:
    -                reader.raise_parse_error("%s outside %s block" %
    -                                         (operator, set(["for", "while"])))
    -            body.chunks.append(_Statement(contents, line))
    -            continue
    -
    -        else:
    -            reader.raise_parse_error("unknown operator: %r" % operator)
    diff --git a/lib27/site-packages/tornado/test/__main__.py b/lib27/site-packages/tornado/test/__main__.py
    deleted file mode 100644
    index 5953443b1..000000000
    --- a/lib27/site-packages/tornado/test/__main__.py
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -"""Shim to allow python -m tornado.test.
    -
    -This only works in python 2.7+.
    -"""
    -from __future__ import absolute_import, division, print_function, with_statement
    -
    -from tornado.test.runtests import all, main
    -
    -# tornado.testing.main autodiscovery relies on 'all' being present in
    -# the main module, so import it here even though it is not used directly.
    -# The following line prevents a pyflakes warning.
    -all = all
    -
    -main()
    diff --git a/lib27/site-packages/tornado/test/asyncio_test.py b/lib27/site-packages/tornado/test/asyncio_test.py
    deleted file mode 100644
    index b50b2048e..000000000
    --- a/lib27/site-packages/tornado/test/asyncio_test.py
    +++ /dev/null
    @@ -1,113 +0,0 @@
    -# 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.
    -
    -from __future__ import absolute_import, division, print_function, with_statement
    -
    -from tornado import gen
    -from tornado.testing import AsyncTestCase, gen_test
    -from tornado.test.util import unittest, skipBefore33, skipBefore35, exec_test
    -
    -try:
    -    from tornado.platform.asyncio import asyncio
    -except ImportError:
    -    asyncio = None
    -else:
    -    from tornado.platform.asyncio import AsyncIOLoop, to_asyncio_future
    -    # This is used in dynamically-evaluated code, so silence pyflakes.
    -    to_asyncio_future
    -
    -
    -@unittest.skipIf(asyncio is None, "asyncio module not present")
    -class AsyncIOLoopTest(AsyncTestCase):
    -    def get_new_ioloop(self):
    -        io_loop = AsyncIOLoop()
    -        asyncio.set_event_loop(io_loop.asyncio_loop)
    -        return io_loop
    -
    -    def test_asyncio_callback(self):
    -        # Basic test that the asyncio loop is set up correctly.
    -        asyncio.get_event_loop().call_soon(self.stop)
    -        self.wait()
    -
    -    @gen_test
    -    def test_asyncio_future(self):
    -        # Test that we can yield an asyncio future from a tornado coroutine.
    -        # Without 'yield from', we must wrap coroutines in asyncio.async.
    -        x = yield asyncio.async(
    -            asyncio.get_event_loop().run_in_executor(None, lambda: 42))
    -        self.assertEqual(x, 42)
    -
    -    @skipBefore33
    -    @gen_test
    -    def test_asyncio_yield_from(self):
    -        # Test that we can use asyncio coroutines with 'yield from'
    -        # instead of asyncio.async(). This requires python 3.3 syntax.
    -        namespace = exec_test(globals(), locals(), """
    -        @gen.coroutine
    -        def f():
    -            event_loop = asyncio.get_event_loop()
    -            x = yield from event_loop.run_in_executor(None, lambda: 42)
    -            return x
    -        """)
    -        result = yield namespace['f']()
    -        self.assertEqual(result, 42)
    -
    -    @skipBefore35
    -    def test_asyncio_adapter(self):
    -        # This test demonstrates that when using the asyncio coroutine
    -        # runner (i.e. run_until_complete), the to_asyncio_future
    -        # adapter is needed. No adapter is needed in the other direction,
    -        # as demonstrated by other tests in the package.
    -        @gen.coroutine
    -        def tornado_coroutine():
    -            yield gen.Task(self.io_loop.add_callback)
    -            raise gen.Return(42)
    -        native_coroutine_without_adapter = exec_test(globals(), locals(), """
    -        async def native_coroutine_without_adapter():
    -            return await tornado_coroutine()
    -        """)["native_coroutine_without_adapter"]
    -
    -        native_coroutine_with_adapter = exec_test(globals(), locals(), """
    -        async def native_coroutine_with_adapter():
    -            return await to_asyncio_future(tornado_coroutine())
    -        """)["native_coroutine_with_adapter"]
    -
    -        # Use the adapter, but two degrees from the tornado coroutine.
    -        native_coroutine_with_adapter2 = exec_test(globals(), locals(), """
    -        async def native_coroutine_with_adapter2():
    -            return await to_asyncio_future(native_coroutine_without_adapter())
    -        """)["native_coroutine_with_adapter2"]
    -
    -        # Tornado supports native coroutines both with and without adapters
    -        self.assertEqual(
    -            self.io_loop.run_sync(native_coroutine_without_adapter),
    -            42)
    -        self.assertEqual(
    -            self.io_loop.run_sync(native_coroutine_with_adapter),
    -            42)
    -        self.assertEqual(
    -            self.io_loop.run_sync(native_coroutine_with_adapter2),
    -            42)
    -
    -        # Asyncio only supports coroutines that yield asyncio-compatible
    -        # Futures.
    -        with self.assertRaises(RuntimeError):
    -            asyncio.get_event_loop().run_until_complete(
    -                native_coroutine_without_adapter())
    -        self.assertEqual(
    -            asyncio.get_event_loop().run_until_complete(
    -                native_coroutine_with_adapter()),
    -            42)
    -        self.assertEqual(
    -            asyncio.get_event_loop().run_until_complete(
    -                native_coroutine_with_adapter2()),
    -            42)
    diff --git a/lib27/site-packages/tornado/test/auth_test.py b/lib27/site-packages/tornado/test/auth_test.py
    deleted file mode 100644
    index 59c96b232..000000000
    --- a/lib27/site-packages/tornado/test/auth_test.py
    +++ /dev/null
    @@ -1,545 +0,0 @@
    -# These tests do not currently do much to verify the correct implementation
    -# of the openid/oauth protocols, they just exercise the major code paths
    -# and ensure that it doesn't blow up (e.g. with unicode/bytes issues in
    -# python 3)
    -
    -
    -from __future__ import absolute_import, division, print_function, with_statement
    -from tornado.auth import OpenIdMixin, OAuthMixin, OAuth2Mixin, TwitterMixin, AuthError, GoogleOAuth2Mixin, FacebookGraphMixin
    -from tornado.concurrent import Future
    -from tornado.escape import json_decode
    -from tornado import gen
    -from tornado.httputil import url_concat
    -from tornado.log import gen_log
    -from tornado.testing import AsyncHTTPTestCase, ExpectLog
    -from tornado.util import u
    -from tornado.web import RequestHandler, Application, asynchronous, HTTPError
    -
    -
    -class OpenIdClientLoginHandler(RequestHandler, OpenIdMixin):
    -    def initialize(self, test):
    -        self._OPENID_ENDPOINT = test.get_url('/openid/server/authenticate')
    -
    -    @asynchronous
    -    def get(self):
    -        if self.get_argument('openid.mode', None):
    -            self.get_authenticated_user(
    -                self.on_user, http_client=self.settings['http_client'])
    -            return
    -        res = self.authenticate_redirect()
    -        assert isinstance(res, Future)
    -        assert res.done()
    -
    -    def on_user(self, user):
    -        if user is None:
    -            raise Exception("user is None")
    -        self.finish(user)
    -
    -
    -class OpenIdServerAuthenticateHandler(RequestHandler):
    -    def post(self):
    -        if self.get_argument('openid.mode') != 'check_authentication':
    -            raise Exception("incorrect openid.mode %r")
    -        self.write('is_valid:true')
    -
    -
    -class OAuth1ClientLoginHandler(RequestHandler, OAuthMixin):
    -    def initialize(self, test, version):
    -        self._OAUTH_VERSION = version
    -        self._OAUTH_REQUEST_TOKEN_URL = test.get_url('/oauth1/server/request_token')
    -        self._OAUTH_AUTHORIZE_URL = test.get_url('/oauth1/server/authorize')
    -        self._OAUTH_ACCESS_TOKEN_URL = test.get_url('/oauth1/server/access_token')
    -
    -    def _oauth_consumer_token(self):
    -        return dict(key='asdf', secret='qwer')
    -
    -    @asynchronous
    -    def get(self):
    -        if self.get_argument('oauth_token', None):
    -            self.get_authenticated_user(
    -                self.on_user, http_client=self.settings['http_client'])
    -            return
    -        res = self.authorize_redirect(http_client=self.settings['http_client'])
    -        assert isinstance(res, Future)
    -
    -    def on_user(self, user):
    -        if user is None:
    -            raise Exception("user is None")
    -        self.finish(user)
    -
    -    def _oauth_get_user(self, access_token, callback):
    -        if self.get_argument('fail_in_get_user', None):
    -            raise Exception("failing in get_user")
    -        if access_token != dict(key='uiop', secret='5678'):
    -            raise Exception("incorrect access token %r" % access_token)
    -        callback(dict(email='foo@example.com'))
    -
    -
    -class OAuth1ClientLoginCoroutineHandler(OAuth1ClientLoginHandler):
    -    """Replaces OAuth1ClientLoginCoroutineHandler's get() with a coroutine."""
    -    @gen.coroutine
    -    def get(self):
    -        if self.get_argument('oauth_token', None):
    -            # Ensure that any exceptions are set on the returned Future,
    -            # not simply thrown into the surrounding StackContext.
    -            try:
    -                yield self.get_authenticated_user()
    -            except Exception as e:
    -                self.set_status(503)
    -                self.write("got exception: %s" % e)
    -        else:
    -            yield self.authorize_redirect()
    -
    -
    -class OAuth1ClientRequestParametersHandler(RequestHandler, OAuthMixin):
    -    def initialize(self, version):
    -        self._OAUTH_VERSION = version
    -
    -    def _oauth_consumer_token(self):
    -        return dict(key='asdf', secret='qwer')
    -
    -    def get(self):
    -        params = self._oauth_request_parameters(
    -            'http://www.example.com/api/asdf',
    -            dict(key='uiop', secret='5678'),
    -            parameters=dict(foo='bar'))
    -        self.write(params)
    -
    -
    -class OAuth1ServerRequestTokenHandler(RequestHandler):
    -    def get(self):
    -        self.write('oauth_token=zxcv&oauth_token_secret=1234')
    -
    -
    -class OAuth1ServerAccessTokenHandler(RequestHandler):
    -    def get(self):
    -        self.write('oauth_token=uiop&oauth_token_secret=5678')
    -
    -
    -class OAuth2ClientLoginHandler(RequestHandler, OAuth2Mixin):
    -    def initialize(self, test):
    -        self._OAUTH_AUTHORIZE_URL = test.get_url('/oauth2/server/authorize')
    -
    -    def get(self):
    -        res = self.authorize_redirect()
    -        assert isinstance(res, Future)
    -        assert res.done()
    -
    -
    -class FacebookClientLoginHandler(RequestHandler, FacebookGraphMixin):
    -    def initialize(self, test):
    -        self._OAUTH_AUTHORIZE_URL = test.get_url('/facebook/server/authorize')
    -        self._OAUTH_ACCESS_TOKEN_URL = test.get_url('/facebook/server/access_token')
    -        self._FACEBOOK_BASE_URL = test.get_url('/facebook/server')
    -
    -    @gen.coroutine
    -    def get(self):
    -        if self.get_argument("code", None):
    -            user = yield self.get_authenticated_user(
    -                redirect_uri=self.request.full_url(),
    -                client_id=self.settings["facebook_api_key"],
    -                client_secret=self.settings["facebook_secret"],
    -                code=self.get_argument("code"))
    -            self.write(user)
    -        else:
    -            yield self.authorize_redirect(
    -                redirect_uri=self.request.full_url(),
    -                client_id=self.settings["facebook_api_key"],
    -                extra_params={"scope": "read_stream,offline_access"})
    -
    -
    -class FacebookServerAccessTokenHandler(RequestHandler):
    -    def get(self):
    -        self.write('access_token=asdf')
    -
    -
    -class FacebookServerMeHandler(RequestHandler):
    -    def get(self):
    -        self.write('{}')
    -
    -
    -class TwitterClientHandler(RequestHandler, TwitterMixin):
    -    def initialize(self, test):
    -        self._OAUTH_REQUEST_TOKEN_URL = test.get_url('/oauth1/server/request_token')
    -        self._OAUTH_ACCESS_TOKEN_URL = test.get_url('/twitter/server/access_token')
    -        self._OAUTH_AUTHORIZE_URL = test.get_url('/oauth1/server/authorize')
    -        self._TWITTER_BASE_URL = test.get_url('/twitter/api')
    -
    -    def get_auth_http_client(self):
    -        return self.settings['http_client']
    -
    -
    -class TwitterClientLoginHandler(TwitterClientHandler):
    -    @asynchronous
    -    def get(self):
    -        if self.get_argument("oauth_token", None):
    -            self.get_authenticated_user(self.on_user)
    -            return
    -        self.authorize_redirect()
    -
    -    def on_user(self, user):
    -        if user is None:
    -            raise Exception("user is None")
    -        self.finish(user)
    -
    -
    -class TwitterClientLoginGenEngineHandler(TwitterClientHandler):
    -    @asynchronous
    -    @gen.engine
    -    def get(self):
    -        if self.get_argument("oauth_token", None):
    -            user = yield self.get_authenticated_user()
    -            self.finish(user)
    -        else:
    -            # Old style: with @gen.engine we can ignore the Future from
    -            # authorize_redirect.
    -            self.authorize_redirect()
    -
    -
    -class TwitterClientLoginGenCoroutineHandler(TwitterClientHandler):
    -    @gen.coroutine
    -    def get(self):
    -        if self.get_argument("oauth_token", None):
    -            user = yield self.get_authenticated_user()
    -            self.finish(user)
    -        else:
    -            # New style: with @gen.coroutine the result must be yielded
    -            # or else the request will be auto-finished too soon.
    -            yield self.authorize_redirect()
    -
    -
    -class TwitterClientShowUserHandler(TwitterClientHandler):
    -    @asynchronous
    -    @gen.engine
    -    def get(self):
    -        # TODO: would be nice to go through the login flow instead of
    -        # cheating with a hard-coded access token.
    -        response = yield gen.Task(self.twitter_request,
    -                                  '/users/show/%s' % self.get_argument('name'),
    -                                  access_token=dict(key='hjkl', secret='vbnm'))
    -        if response is None:
    -            self.set_status(500)
    -            self.finish('error from twitter request')
    -        else:
    -            self.finish(response)
    -
    -
    -class TwitterClientShowUserFutureHandler(TwitterClientHandler):
    -    @asynchronous
    -    @gen.engine
    -    def get(self):
    -        try:
    -            response = yield self.twitter_request(
    -                '/users/show/%s' % self.get_argument('name'),
    -                access_token=dict(key='hjkl', secret='vbnm'))
    -        except AuthError as e:
    -            self.set_status(500)
    -            self.finish(str(e))
    -            return
    -        assert response is not None
    -        self.finish(response)
    -
    -
    -class TwitterServerAccessTokenHandler(RequestHandler):
    -    def get(self):
    -        self.write('oauth_token=hjkl&oauth_token_secret=vbnm&screen_name=foo')
    -
    -
    -class TwitterServerShowUserHandler(RequestHandler):
    -    def get(self, screen_name):
    -        if screen_name == 'error':
    -            raise HTTPError(500)
    -        assert 'oauth_nonce' in self.request.arguments
    -        assert 'oauth_timestamp' in self.request.arguments
    -        assert 'oauth_signature' in self.request.arguments
    -        assert self.get_argument('oauth_consumer_key') == 'test_twitter_consumer_key'
    -        assert self.get_argument('oauth_signature_method') == 'HMAC-SHA1'
    -        assert self.get_argument('oauth_version') == '1.0'
    -        assert self.get_argument('oauth_token') == 'hjkl'
    -        self.write(dict(screen_name=screen_name, name=screen_name.capitalize()))
    -
    -
    -class TwitterServerVerifyCredentialsHandler(RequestHandler):
    -    def get(self):
    -        assert 'oauth_nonce' in self.request.arguments
    -        assert 'oauth_timestamp' in self.request.arguments
    -        assert 'oauth_signature' in self.request.arguments
    -        assert self.get_argument('oauth_consumer_key') == 'test_twitter_consumer_key'
    -        assert self.get_argument('oauth_signature_method') == 'HMAC-SHA1'
    -        assert self.get_argument('oauth_version') == '1.0'
    -        assert self.get_argument('oauth_token') == 'hjkl'
    -        self.write(dict(screen_name='foo', name='Foo'))
    -
    -
    -class AuthTest(AsyncHTTPTestCase):
    -    def get_app(self):
    -        return Application(
    -            [
    -                # test endpoints
    -                ('/openid/client/login', OpenIdClientLoginHandler, dict(test=self)),
    -                ('/oauth10/client/login', OAuth1ClientLoginHandler,
    -                 dict(test=self, version='1.0')),
    -                ('/oauth10/client/request_params',
    -                 OAuth1ClientRequestParametersHandler,
    -                 dict(version='1.0')),
    -                ('/oauth10a/client/login', OAuth1ClientLoginHandler,
    -                 dict(test=self, version='1.0a')),
    -                ('/oauth10a/client/login_coroutine',
    -                 OAuth1ClientLoginCoroutineHandler,
    -                 dict(test=self, version='1.0a')),
    -                ('/oauth10a/client/request_params',
    -                 OAuth1ClientRequestParametersHandler,
    -                 dict(version='1.0a')),
    -                ('/oauth2/client/login', OAuth2ClientLoginHandler, dict(test=self)),
    -
    -                ('/facebook/client/login', FacebookClientLoginHandler, dict(test=self)),
    -
    -                ('/twitter/client/login', TwitterClientLoginHandler, dict(test=self)),
    -                ('/twitter/client/login_gen_engine', TwitterClientLoginGenEngineHandler, dict(test=self)),
    -                ('/twitter/client/login_gen_coroutine', TwitterClientLoginGenCoroutineHandler, dict(test=self)),
    -                ('/twitter/client/show_user', TwitterClientShowUserHandler, dict(test=self)),
    -                ('/twitter/client/show_user_future', TwitterClientShowUserFutureHandler, dict(test=self)),
    -
    -                # simulated servers
    -                ('/openid/server/authenticate', OpenIdServerAuthenticateHandler),
    -                ('/oauth1/server/request_token', OAuth1ServerRequestTokenHandler),
    -                ('/oauth1/server/access_token', OAuth1ServerAccessTokenHandler),
    -
    -                ('/facebook/server/access_token', FacebookServerAccessTokenHandler),
    -                ('/facebook/server/me', FacebookServerMeHandler),
    -                ('/twitter/server/access_token', TwitterServerAccessTokenHandler),
    -                (r'/twitter/api/users/show/(.*)\.json', TwitterServerShowUserHandler),
    -                (r'/twitter/api/account/verify_credentials\.json', TwitterServerVerifyCredentialsHandler),
    -            ],
    -            http_client=self.http_client,
    -            twitter_consumer_key='test_twitter_consumer_key',
    -            twitter_consumer_secret='test_twitter_consumer_secret',
    -            facebook_api_key='test_facebook_api_key',
    -            facebook_secret='test_facebook_secret')
    -
    -    def test_openid_redirect(self):
    -        response = self.fetch('/openid/client/login', follow_redirects=False)
    -        self.assertEqual(response.code, 302)
    -        self.assertTrue(
    -            '/openid/server/authenticate?' in response.headers['Location'])
    -
    -    def test_openid_get_user(self):
    -        response = self.fetch('/openid/client/login?openid.mode=blah&openid.ns.ax=http://openid.net/srv/ax/1.0&openid.ax.type.email=http://axschema.org/contact/email&openid.ax.value.email=foo@example.com')
    -        response.rethrow()
    -        parsed = json_decode(response.body)
    -        self.assertEqual(parsed["email"], "foo@example.com")
    -
    -    def test_oauth10_redirect(self):
    -        response = self.fetch('/oauth10/client/login', follow_redirects=False)
    -        self.assertEqual(response.code, 302)
    -        self.assertTrue(response.headers['Location'].endswith(
    -            '/oauth1/server/authorize?oauth_token=zxcv'))
    -        # the cookie is base64('zxcv')|base64('1234')
    -        self.assertTrue(
    -            '_oauth_request_token="enhjdg==|MTIzNA=="' in response.headers['Set-Cookie'],
    -            response.headers['Set-Cookie'])
    -
    -    def test_oauth10_get_user(self):
    -        response = self.fetch(
    -            '/oauth10/client/login?oauth_token=zxcv',
    -            headers={'Cookie': '_oauth_request_token=enhjdg==|MTIzNA=='})
    -        response.rethrow()
    -        parsed = json_decode(response.body)
    -        self.assertEqual(parsed['email'], 'foo@example.com')
    -        self.assertEqual(parsed['access_token'], dict(key='uiop', secret='5678'))
    -
    -    def test_oauth10_request_parameters(self):
    -        response = self.fetch('/oauth10/client/request_params')
    -        response.rethrow()
    -        parsed = json_decode(response.body)
    -        self.assertEqual(parsed['oauth_consumer_key'], 'asdf')
    -        self.assertEqual(parsed['oauth_token'], 'uiop')
    -        self.assertTrue('oauth_nonce' in parsed)
    -        self.assertTrue('oauth_signature' in parsed)
    -
    -    def test_oauth10a_redirect(self):
    -        response = self.fetch('/oauth10a/client/login', follow_redirects=False)
    -        self.assertEqual(response.code, 302)
    -        self.assertTrue(response.headers['Location'].endswith(
    -            '/oauth1/server/authorize?oauth_token=zxcv'))
    -        # the cookie is base64('zxcv')|base64('1234')
    -        self.assertTrue(
    -            '_oauth_request_token="enhjdg==|MTIzNA=="' in response.headers['Set-Cookie'],
    -            response.headers['Set-Cookie'])
    -
    -    def test_oauth10a_get_user(self):
    -        response = self.fetch(
    -            '/oauth10a/client/login?oauth_token=zxcv',
    -            headers={'Cookie': '_oauth_request_token=enhjdg==|MTIzNA=='})
    -        response.rethrow()
    -        parsed = json_decode(response.body)
    -        self.assertEqual(parsed['email'], 'foo@example.com')
    -        self.assertEqual(parsed['access_token'], dict(key='uiop', secret='5678'))
    -
    -    def test_oauth10a_request_parameters(self):
    -        response = self.fetch('/oauth10a/client/request_params')
    -        response.rethrow()
    -        parsed = json_decode(response.body)
    -        self.assertEqual(parsed['oauth_consumer_key'], 'asdf')
    -        self.assertEqual(parsed['oauth_token'], 'uiop')
    -        self.assertTrue('oauth_nonce' in parsed)
    -        self.assertTrue('oauth_signature' in parsed)
    -
    -    def test_oauth10a_get_user_coroutine_exception(self):
    -        response = self.fetch(
    -            '/oauth10a/client/login_coroutine?oauth_token=zxcv&fail_in_get_user=true',
    -            headers={'Cookie': '_oauth_request_token=enhjdg==|MTIzNA=='})
    -        self.assertEqual(response.code, 503)
    -
    -    def test_oauth2_redirect(self):
    -        response = self.fetch('/oauth2/client/login', follow_redirects=False)
    -        self.assertEqual(response.code, 302)
    -        self.assertTrue('/oauth2/server/authorize?' in response.headers['Location'])
    -
    -    def test_facebook_login(self):
    -        response = self.fetch('/facebook/client/login', follow_redirects=False)
    -        self.assertEqual(response.code, 302)
    -        self.assertTrue('/facebook/server/authorize?' in response.headers['Location'])
    -        response = self.fetch('/facebook/client/login?code=1234', follow_redirects=False)
    -        self.assertEqual(response.code, 200)
    -
    -    def base_twitter_redirect(self, url):
    -        # Same as test_oauth10a_redirect
    -        response = self.fetch(url, follow_redirects=False)
    -        self.assertEqual(response.code, 302)
    -        self.assertTrue(response.headers['Location'].endswith(
    -            '/oauth1/server/authorize?oauth_token=zxcv'))
    -        # the cookie is base64('zxcv')|base64('1234')
    -        self.assertTrue(
    -            '_oauth_request_token="enhjdg==|MTIzNA=="' in response.headers['Set-Cookie'],
    -            response.headers['Set-Cookie'])
    -
    -    def test_twitter_redirect(self):
    -        self.base_twitter_redirect('/twitter/client/login')
    -
    -    def test_twitter_redirect_gen_engine(self):
    -        self.base_twitter_redirect('/twitter/client/login_gen_engine')
    -
    -    def test_twitter_redirect_gen_coroutine(self):
    -        self.base_twitter_redirect('/twitter/client/login_gen_coroutine')
    -
    -    def test_twitter_get_user(self):
    -        response = self.fetch(
    -            '/twitter/client/login?oauth_token=zxcv',
    -            headers={'Cookie': '_oauth_request_token=enhjdg==|MTIzNA=='})
    -        response.rethrow()
    -        parsed = json_decode(response.body)
    -        self.assertEqual(parsed,
    -                         {u('access_token'): {u('key'): u('hjkl'),
    -                                              u('screen_name'): u('foo'),
    -                                              u('secret'): u('vbnm')},
    -                          u('name'): u('Foo'),
    -                          u('screen_name'): u('foo'),
    -                          u('username'): u('foo')})
    -
    -    def test_twitter_show_user(self):
    -        response = self.fetch('/twitter/client/show_user?name=somebody')
    -        response.rethrow()
    -        self.assertEqual(json_decode(response.body),
    -                         {'name': 'Somebody', 'screen_name': 'somebody'})
    -
    -    def test_twitter_show_user_error(self):
    -        with ExpectLog(gen_log, 'Error response HTTP 500'):
    -            response = self.fetch('/twitter/client/show_user?name=error')
    -        self.assertEqual(response.code, 500)
    -        self.assertEqual(response.body, b'error from twitter request')
    -
    -    def test_twitter_show_user_future(self):
    -        response = self.fetch('/twitter/client/show_user_future?name=somebody')
    -        response.rethrow()
    -        self.assertEqual(json_decode(response.body),
    -                         {'name': 'Somebody', 'screen_name': 'somebody'})
    -
    -    def test_twitter_show_user_future_error(self):
    -        response = self.fetch('/twitter/client/show_user_future?name=error')
    -        self.assertEqual(response.code, 500)
    -        self.assertIn(b'Error response HTTP 500', response.body)
    -
    -
    -class GoogleLoginHandler(RequestHandler, GoogleOAuth2Mixin):
    -    def initialize(self, test):
    -        self.test = test
    -        self._OAUTH_REDIRECT_URI = test.get_url('/client/login')
    -        self._OAUTH_AUTHORIZE_URL = test.get_url('/google/oauth2/authorize')
    -        self._OAUTH_ACCESS_TOKEN_URL = test.get_url('/google/oauth2/token')
    -
    -    @gen.coroutine
    -    def get(self):
    -        code = self.get_argument('code', None)
    -        if code is not None:
    -            # retrieve authenticate google user
    -            access = yield self.get_authenticated_user(self._OAUTH_REDIRECT_URI,
    -                                                       code)
    -            user = yield self.oauth2_request(
    -                self.test.get_url("/google/oauth2/userinfo"),
    -                access_token=access["access_token"])
    -            # return the user and access token as json
    -            user["access_token"] = access["access_token"]
    -            self.write(user)
    -        else:
    -            yield self.authorize_redirect(
    -                redirect_uri=self._OAUTH_REDIRECT_URI,
    -                client_id=self.settings['google_oauth']['key'],
    -                client_secret=self.settings['google_oauth']['secret'],
    -                scope=['profile', 'email'],
    -                response_type='code',
    -                extra_params={'prompt': 'select_account'})
    -
    -
    -class GoogleOAuth2AuthorizeHandler(RequestHandler):
    -    def get(self):
    -        # issue a fake auth code and redirect to redirect_uri
    -        code = 'fake-authorization-code'
    -        self.redirect(url_concat(self.get_argument('redirect_uri'),
    -                                 dict(code=code)))
    -
    -
    -class GoogleOAuth2TokenHandler(RequestHandler):
    -    def post(self):
    -        assert self.get_argument('code') == 'fake-authorization-code'
    -        # issue a fake token
    -        self.finish({
    -            'access_token': 'fake-access-token',
    -            'expires_in': 'never-expires'
    -        })
    -
    -
    -class GoogleOAuth2UserinfoHandler(RequestHandler):
    -    def get(self):
    -        assert self.get_argument('access_token') == 'fake-access-token'
    -        # return a fake user
    -        self.finish({
    -            'name': 'Foo',
    -            'email': 'foo@example.com'
    -        })
    -
    -
    -class GoogleOAuth2Test(AsyncHTTPTestCase):
    -    def get_app(self):
    -        return Application(
    -            [
    -                # test endpoints
    -                ('/client/login', GoogleLoginHandler, dict(test=self)),
    -
    -                # simulated google authorization server endpoints
    -                ('/google/oauth2/authorize', GoogleOAuth2AuthorizeHandler),
    -                ('/google/oauth2/token', GoogleOAuth2TokenHandler),
    -                ('/google/oauth2/userinfo', GoogleOAuth2UserinfoHandler),
    -            ],
    -            google_oauth={
    -                "key": 'fake_google_client_id',
    -                "secret": 'fake_google_client_secret'
    -            })
    -
    -    def test_google_login(self):
    -        response = self.fetch('/client/login')
    -        self.assertDictEqual({
    -            u('name'): u('Foo'),
    -            u('email'): u('foo@example.com'),
    -            u('access_token'): u('fake-access-token'),
    -        }, json_decode(response.body))
    diff --git a/lib27/site-packages/tornado/test/concurrent_test.py b/lib27/site-packages/tornado/test/concurrent_test.py
    deleted file mode 100644
    index bf90ad0ec..000000000
    --- a/lib27/site-packages/tornado/test/concurrent_test.py
    +++ /dev/null
    @@ -1,415 +0,0 @@
    -#!/usr/bin/env python
    -#
    -# Copyright 2012 Facebook
    -#
    -# 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.
    -from __future__ import absolute_import, division, print_function, with_statement
    -
    -import logging
    -import re
    -import socket
    -import sys
    -import traceback
    -
    -from tornado.concurrent import Future, return_future, ReturnValueIgnoredError, run_on_executor
    -from tornado.escape import utf8, to_unicode
    -from tornado import gen
    -from tornado.iostream import IOStream
    -from tornado import stack_context
    -from tornado.tcpserver import TCPServer
    -from tornado.testing import AsyncTestCase, LogTrapTestCase, bind_unused_port, gen_test
    -from tornado.test.util import unittest
    -
    -
    -try:
    -    from concurrent import futures
    -except ImportError:
    -    futures = None
    -
    -
    -class ReturnFutureTest(AsyncTestCase):
    -    @return_future
    -    def sync_future(self, callback):
    -        callback(42)
    -
    -    @return_future
    -    def async_future(self, callback):
    -        self.io_loop.add_callback(callback, 42)
    -
    -    @return_future
    -    def immediate_failure(self, callback):
    -        1 / 0
    -
    -    @return_future
    -    def delayed_failure(self, callback):
    -        self.io_loop.add_callback(lambda: 1 / 0)
    -
    -    @return_future
    -    def return_value(self, callback):
    -        # Note that the result of both running the callback and returning
    -        # a value (or raising an exception) is unspecified; with current
    -        # implementations the last event prior to callback resolution wins.
    -        return 42
    -
    -    @return_future
    -    def no_result_future(self, callback):
    -        callback()
    -
    -    def test_immediate_failure(self):
    -        with self.assertRaises(ZeroDivisionError):
    -            # The caller sees the error just like a normal function.
    -            self.immediate_failure(callback=self.stop)
    -        # The callback is not run because the function failed synchronously.
    -        self.io_loop.add_timeout(self.io_loop.time() + 0.05, self.stop)
    -        result = self.wait()
    -        self.assertIs(result, None)
    -
    -    def test_return_value(self):
    -        with self.assertRaises(ReturnValueIgnoredError):
    -            self.return_value(callback=self.stop)
    -
    -    def test_callback_kw(self):
    -        future = self.sync_future(callback=self.stop)
    -        result = self.wait()
    -        self.assertEqual(result, 42)
    -        self.assertEqual(future.result(), 42)
    -
    -    def test_callback_positional(self):
    -        # When the callback is passed in positionally, future_wrap shouldn't
    -        # add another callback in the kwargs.
    -        future = self.sync_future(self.stop)
    -        result = self.wait()
    -        self.assertEqual(result, 42)
    -        self.assertEqual(future.result(), 42)
    -
    -    def test_no_callback(self):
    -        future = self.sync_future()
    -        self.assertEqual(future.result(), 42)
    -
    -    def test_none_callback_kw(self):
    -        # explicitly pass None as callback
    -        future = self.sync_future(callback=None)
    -        self.assertEqual(future.result(), 42)
    -
    -    def test_none_callback_pos(self):
    -        future = self.sync_future(None)
    -        self.assertEqual(future.result(), 42)
    -
    -    def test_async_future(self):
    -        future = self.async_future()
    -        self.assertFalse(future.done())
    -        self.io_loop.add_future(future, self.stop)
    -        future2 = self.wait()
    -        self.assertIs(future, future2)
    -        self.assertEqual(future.result(), 42)
    -
    -    @gen_test
    -    def test_async_future_gen(self):
    -        result = yield self.async_future()
    -        self.assertEqual(result, 42)
    -
    -    def test_delayed_failure(self):
    -        future = self.delayed_failure()
    -        self.io_loop.add_future(future, self.stop)
    -        future2 = self.wait()
    -        self.assertIs(future, future2)
    -        with self.assertRaises(ZeroDivisionError):
    -            future.result()
    -
    -    def test_kw_only_callback(self):
    -        @return_future
    -        def f(**kwargs):
    -            kwargs['callback'](42)
    -        future = f()
    -        self.assertEqual(future.result(), 42)
    -
    -    def test_error_in_callback(self):
    -        self.sync_future(callback=lambda future: 1 / 0)
    -        # The exception gets caught by our StackContext and will be re-raised
    -        # when we wait.
    -        self.assertRaises(ZeroDivisionError, self.wait)
    -
    -    def test_no_result_future(self):
    -        future = self.no_result_future(self.stop)
    -        result = self.wait()
    -        self.assertIs(result, None)
    -        # result of this future is undefined, but not an error
    -        future.result()
    -
    -    def test_no_result_future_callback(self):
    -        future = self.no_result_future(callback=lambda: self.stop())
    -        result = self.wait()
    -        self.assertIs(result, None)
    -        future.result()
    -
    -    @gen_test
    -    def test_future_traceback(self):
    -        @return_future
    -        @gen.engine
    -        def f(callback):
    -            yield gen.Task(self.io_loop.add_callback)
    -            try:
    -                1 / 0
    -            except ZeroDivisionError:
    -                self.expected_frame = traceback.extract_tb(
    -                    sys.exc_info()[2], limit=1)[0]
    -                raise
    -        try:
    -            yield f()
    -            self.fail("didn't get expected exception")
    -        except ZeroDivisionError:
    -            tb = traceback.extract_tb(sys.exc_info()[2])
    -            self.assertIn(self.expected_frame, tb)
    -
    -# The following series of classes demonstrate and test various styles
    -# of use, with and without generators and futures.
    -
    -
    -class CapServer(TCPServer):
    -    def handle_stream(self, stream, address):
    -        logging.info("handle_stream")
    -        self.stream = stream
    -        self.stream.read_until(b"\n", self.handle_read)
    -
    -    def handle_read(self, data):
    -        logging.info("handle_read")
    -        data = to_unicode(data)
    -        if data == data.upper():
    -            self.stream.write(b"error\talready capitalized\n")
    -        else:
    -            # data already has \n
    -            self.stream.write(utf8("ok\t%s" % data.upper()))
    -        self.stream.close()
    -
    -
    -class CapError(Exception):
    -    pass
    -
    -
    -class BaseCapClient(object):
    -    def __init__(self, port, io_loop):
    -        self.port = port
    -        self.io_loop = io_loop
    -
    -    def process_response(self, data):
    -        status, message = re.match('(.*)\t(.*)\n', to_unicode(data)).groups()
    -        if status == 'ok':
    -            return message
    -        else:
    -            raise CapError(message)
    -
    -
    -class ManualCapClient(BaseCapClient):
    -    def capitalize(self, request_data, callback=None):
    -        logging.info("capitalize")
    -        self.request_data = request_data
    -        self.stream = IOStream(socket.socket(), io_loop=self.io_loop)
    -        self.stream.connect(('127.0.0.1', self.port),
    -                            callback=self.handle_connect)
    -        self.future = Future()
    -        if callback is not None:
    -            self.future.add_done_callback(
    -                stack_context.wrap(lambda future: callback(future.result())))
    -        return self.future
    -
    -    def handle_connect(self):
    -        logging.info("handle_connect")
    -        self.stream.write(utf8(self.request_data + "\n"))
    -        self.stream.read_until(b'\n', callback=self.handle_read)
    -
    -    def handle_read(self, data):
    -        logging.info("handle_read")
    -        self.stream.close()
    -        try:
    -            self.future.set_result(self.process_response(data))
    -        except CapError as e:
    -            self.future.set_exception(e)
    -
    -
    -class DecoratorCapClient(BaseCapClient):
    -    @return_future
    -    def capitalize(self, request_data, callback):
    -        logging.info("capitalize")
    -        self.request_data = request_data
    -        self.stream = IOStream(socket.socket(), io_loop=self.io_loop)
    -        self.stream.connect(('127.0.0.1', self.port),
    -                            callback=self.handle_connect)
    -        self.callback = callback
    -
    -    def handle_connect(self):
    -        logging.info("handle_connect")
    -        self.stream.write(utf8(self.request_data + "\n"))
    -        self.stream.read_until(b'\n', callback=self.handle_read)
    -
    -    def handle_read(self, data):
    -        logging.info("handle_read")
    -        self.stream.close()
    -        self.callback(self.process_response(data))
    -
    -
    -class GeneratorCapClient(BaseCapClient):
    -    @return_future
    -    @gen.engine
    -    def capitalize(self, request_data, callback):
    -        logging.info('capitalize')
    -        stream = IOStream(socket.socket(), io_loop=self.io_loop)
    -        logging.info('connecting')
    -        yield gen.Task(stream.connect, ('127.0.0.1', self.port))
    -        stream.write(utf8(request_data + '\n'))
    -        logging.info('reading')
    -        data = yield gen.Task(stream.read_until, b'\n')
    -        logging.info('returning')
    -        stream.close()
    -        callback(self.process_response(data))
    -
    -
    -class ClientTestMixin(object):
    -    def setUp(self):
    -        super(ClientTestMixin, self).setUp()
    -        self.server = CapServer(io_loop=self.io_loop)
    -        sock, port = bind_unused_port()
    -        self.server.add_sockets([sock])
    -        self.client = self.client_class(io_loop=self.io_loop, port=port)
    -
    -    def tearDown(self):
    -        self.server.stop()
    -        super(ClientTestMixin, self).tearDown()
    -
    -    def test_callback(self):
    -        self.client.capitalize("hello", callback=self.stop)
    -        result = self.wait()
    -        self.assertEqual(result, "HELLO")
    -
    -    def test_callback_error(self):
    -        self.client.capitalize("HELLO", callback=self.stop)
    -        self.assertRaisesRegexp(CapError, "already capitalized", self.wait)
    -
    -    def test_future(self):
    -        future = self.client.capitalize("hello")
    -        self.io_loop.add_future(future, self.stop)
    -        self.wait()
    -        self.assertEqual(future.result(), "HELLO")
    -
    -    def test_future_error(self):
    -        future = self.client.capitalize("HELLO")
    -        self.io_loop.add_future(future, self.stop)
    -        self.wait()
    -        self.assertRaisesRegexp(CapError, "already capitalized", future.result)
    -
    -    def test_generator(self):
    -        @gen.engine
    -        def f():
    -            result = yield self.client.capitalize("hello")
    -            self.assertEqual(result, "HELLO")
    -            self.stop()
    -        f()
    -        self.wait()
    -
    -    def test_generator_error(self):
    -        @gen.engine
    -        def f():
    -            with self.assertRaisesRegexp(CapError, "already capitalized"):
    -                yield self.client.capitalize("HELLO")
    -            self.stop()
    -        f()
    -        self.wait()
    -
    -
    -class ManualClientTest(ClientTestMixin, AsyncTestCase, LogTrapTestCase):
    -    client_class = ManualCapClient
    -
    -
    -class DecoratorClientTest(ClientTestMixin, AsyncTestCase, LogTrapTestCase):
    -    client_class = DecoratorCapClient
    -
    -
    -class GeneratorClientTest(ClientTestMixin, AsyncTestCase, LogTrapTestCase):
    -    client_class = GeneratorCapClient
    -
    -
    -@unittest.skipIf(futures is None, "concurrent.futures module not present")
    -class RunOnExecutorTest(AsyncTestCase):
    -    @gen_test
    -    def test_no_calling(self):
    -        class Object(object):
    -            def __init__(self, io_loop):
    -                self.io_loop = io_loop
    -                self.executor = futures.thread.ThreadPoolExecutor(1)
    -
    -            @run_on_executor
    -            def f(self):
    -                return 42
    -
    -        o = Object(io_loop=self.io_loop)
    -        answer = yield o.f()
    -        self.assertEqual(answer, 42)
    -
    -    @gen_test
    -    def test_call_with_no_args(self):
    -        class Object(object):
    -            def __init__(self, io_loop):
    -                self.io_loop = io_loop
    -                self.executor = futures.thread.ThreadPoolExecutor(1)
    -
    -            @run_on_executor()
    -            def f(self):
    -                return 42
    -
    -        o = Object(io_loop=self.io_loop)
    -        answer = yield o.f()
    -        self.assertEqual(answer, 42)
    -
    -    @gen_test
    -    def test_call_with_io_loop(self):
    -        class Object(object):
    -            def __init__(self, io_loop):
    -                self._io_loop = io_loop
    -                self.executor = futures.thread.ThreadPoolExecutor(1)
    -
    -            @run_on_executor(io_loop='_io_loop')
    -            def f(self):
    -                return 42
    -
    -        o = Object(io_loop=self.io_loop)
    -        answer = yield o.f()
    -        self.assertEqual(answer, 42)
    -
    -    @gen_test
    -    def test_call_with_executor(self):
    -        class Object(object):
    -            def __init__(self, io_loop):
    -                self.io_loop = io_loop
    -                self.__executor = futures.thread.ThreadPoolExecutor(1)
    -
    -            @run_on_executor(executor='_Object__executor')
    -            def f(self):
    -                return 42
    -
    -        o = Object(io_loop=self.io_loop)
    -        answer = yield o.f()
    -        self.assertEqual(answer, 42)
    -
    -    @gen_test
    -    def test_call_with_both(self):
    -        class Object(object):
    -            def __init__(self, io_loop):
    -                self._io_loop = io_loop
    -                self.__executor = futures.thread.ThreadPoolExecutor(1)
    -
    -            @run_on_executor(io_loop='_io_loop', executor='_Object__executor')
    -            def f(self):
    -                return 42
    -
    -        o = Object(io_loop=self.io_loop)
    -        answer = yield o.f()
    -        self.assertEqual(answer, 42)
    diff --git a/lib27/site-packages/tornado/test/csv_translations/fr_FR.csv b/lib27/site-packages/tornado/test/csv_translations/fr_FR.csv
    deleted file mode 100644
    index 6321b6e7c..000000000
    --- a/lib27/site-packages/tornado/test/csv_translations/fr_FR.csv
    +++ /dev/null
    @@ -1 +0,0 @@
    -"school","école"
    diff --git a/lib27/site-packages/tornado/test/curl_httpclient_test.py b/lib27/site-packages/tornado/test/curl_httpclient_test.py
    deleted file mode 100644
    index d06a7bd2a..000000000
    --- a/lib27/site-packages/tornado/test/curl_httpclient_test.py
    +++ /dev/null
    @@ -1,124 +0,0 @@
    -from __future__ import absolute_import, division, print_function, with_statement
    -
    -from hashlib import md5
    -
    -from tornado.escape import utf8
    -from tornado.httpclient import HTTPRequest
    -from tornado.stack_context import ExceptionStackContext
    -from tornado.testing import AsyncHTTPTestCase
    -from tornado.test import httpclient_test
    -from tornado.test.util import unittest
    -from tornado.web import Application, RequestHandler
    -
    -
    -try:
    -    import pycurl
    -except ImportError:
    -    pycurl = None
    -
    -if pycurl is not None:
    -    from tornado.curl_httpclient import CurlAsyncHTTPClient
    -
    -
    -@unittest.skipIf(pycurl is None, "pycurl module not present")
    -class CurlHTTPClientCommonTestCase(httpclient_test.HTTPClientCommonTestCase):
    -    def get_http_client(self):
    -        client = CurlAsyncHTTPClient(io_loop=self.io_loop,
    -                                     defaults=dict(allow_ipv6=False))
    -        # make sure AsyncHTTPClient magic doesn't give us the wrong class
    -        self.assertTrue(isinstance(client, CurlAsyncHTTPClient))
    -        return client
    -
    -
    -class DigestAuthHandler(RequestHandler):
    -    def get(self):
    -        realm = 'test'
    -        opaque = 'asdf'
    -        # Real implementations would use a random nonce.
    -        nonce = "1234"
    -        username = 'foo'
    -        password = 'bar'
    -
    -        auth_header = self.request.headers.get('Authorization', None)
    -        if auth_header is not None:
    -            auth_mode, params = auth_header.split(' ', 1)
    -            assert auth_mode == 'Digest'
    -            param_dict = {}
    -            for pair in params.split(','):
    -                k, v = pair.strip().split('=', 1)
    -                if v[0] == '"' and v[-1] == '"':
    -                    v = v[1:-1]
    -                param_dict[k] = v
    -            assert param_dict['realm'] == realm
    -            assert param_dict['opaque'] == opaque
    -            assert param_dict['nonce'] == nonce
    -            assert param_dict['username'] == username
    -            assert param_dict['uri'] == self.request.path
    -            h1 = md5(utf8('%s:%s:%s' % (username, realm, password))).hexdigest()
    -            h2 = md5(utf8('%s:%s' % (self.request.method,
    -                                     self.request.path))).hexdigest()
    -            digest = md5(utf8('%s:%s:%s' % (h1, nonce, h2))).hexdigest()
    -            if digest == param_dict['response']:
    -                self.write('ok')
    -            else:
    -                self.write('fail')
    -        else:
    -            self.set_status(401)
    -            self.set_header('WWW-Authenticate',
    -                            'Digest realm="%s", nonce="%s", opaque="%s"' %
    -                            (realm, nonce, opaque))
    -
    -
    -class CustomReasonHandler(RequestHandler):
    -    def get(self):
    -        self.set_status(200, "Custom reason")
    -
    -
    -class CustomFailReasonHandler(RequestHandler):
    -    def get(self):
    -        self.set_status(400, "Custom reason")
    -
    -
    -@unittest.skipIf(pycurl is None, "pycurl module not present")
    -class CurlHTTPClientTestCase(AsyncHTTPTestCase):
    -    def setUp(self):
    -        super(CurlHTTPClientTestCase, self).setUp()
    -        self.http_client = CurlAsyncHTTPClient(self.io_loop,
    -                                               defaults=dict(allow_ipv6=False))
    -
    -    def get_app(self):
    -        return Application([
    -            ('/digest', DigestAuthHandler),
    -            ('/custom_reason', CustomReasonHandler),
    -            ('/custom_fail_reason', CustomFailReasonHandler),
    -        ])
    -
    -    def test_prepare_curl_callback_stack_context(self):
    -        exc_info = []
    -
    -        def error_handler(typ, value, tb):
    -            exc_info.append((typ, value, tb))
    -            self.stop()
    -            return True
    -
    -        with ExceptionStackContext(error_handler):
    -            request = HTTPRequest(self.get_url('/'),
    -                                  prepare_curl_callback=lambda curl: 1 / 0)
    -        self.http_client.fetch(request, callback=self.stop)
    -        self.wait()
    -        self.assertEqual(1, len(exc_info))
    -        self.assertIs(exc_info[0][0], ZeroDivisionError)
    -
    -    def test_digest_auth(self):
    -        response = self.fetch('/digest', auth_mode='digest',
    -                              auth_username='foo', auth_password='bar')
    -        self.assertEqual(response.body, b'ok')
    -
    -    def test_custom_reason(self):
    -        response = self.fetch('/custom_reason')
    -        self.assertEqual(response.reason, "Custom reason")
    -
    -    def test_fail_custom_reason(self):
    -        response = self.fetch('/custom_fail_reason')
    -        self.assertEqual(str(response.error), "HTTP 400: Custom reason")
    -
    diff --git a/lib27/site-packages/tornado/test/escape_test.py b/lib27/site-packages/tornado/test/escape_test.py
    deleted file mode 100644
    index 65765b68a..000000000
    --- a/lib27/site-packages/tornado/test/escape_test.py
    +++ /dev/null
    @@ -1,245 +0,0 @@
    -#!/usr/bin/env python
    -
    -
    -from __future__ import absolute_import, division, print_function, with_statement
    -import tornado.escape
    -
    -from tornado.escape import utf8, xhtml_escape, xhtml_unescape, url_escape, url_unescape, to_unicode, json_decode, json_encode, squeeze, recursive_unicode
    -from tornado.util import u, unicode_type
    -from tornado.test.util import unittest
    -
    -linkify_tests = [
    -    # (input, linkify_kwargs, expected_output)
    -
    -    ("hello http://world.com/!", {},
    -     u('hello http://world.com/!')),
    -
    -    ("hello http://world.com/with?param=true&stuff=yes", {},
    -     u('hello http://world.com/with?param=true&stuff=yes')),
    -
    -    # an opened paren followed by many chars killed Gruber's regex
    -    ("http://url.com/w(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", {},
    -     u('http://url.com/w(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')),
    -
    -    # as did too many dots at the end
    -    ("http://url.com/withmany.......................................", {},
    -     u('http://url.com/withmany.......................................')),
    -
    -    ("http://url.com/withmany((((((((((((((((((((((((((((((((((a)", {},
    -     u('http://url.com/withmany((((((((((((((((((((((((((((((((((a)')),
    -
    -    # some examples from http://daringfireball.net/2009/11/liberal_regex_for_matching_urls
    -    # plus a fex extras (such as multiple parentheses).
    -    ("http://foo.com/blah_blah", {},
    -     u('http://foo.com/blah_blah')),
    -
    -    ("http://foo.com/blah_blah/", {},
    -     u('http://foo.com/blah_blah/')),
    -
    -    ("(Something like http://foo.com/blah_blah)", {},
    -     u('(Something like http://foo.com/blah_blah)')),
    -
    -    ("http://foo.com/blah_blah_(wikipedia)", {},
    -     u('http://foo.com/blah_blah_(wikipedia)')),
    -
    -    ("http://foo.com/blah_(blah)_(wikipedia)_blah", {},
    -     u('http://foo.com/blah_(blah)_(wikipedia)_blah')),
    -
    -    ("(Something like http://foo.com/blah_blah_(wikipedia))", {},
    -     u('(Something like http://foo.com/blah_blah_(wikipedia))')),
    -
    -    ("http://foo.com/blah_blah.", {},
    -     u('http://foo.com/blah_blah.')),
    -
    -    ("http://foo.com/blah_blah/.", {},
    -     u('http://foo.com/blah_blah/.')),
    -
    -    ("", {},
    -     u('<http://foo.com/blah_blah>')),
    -
    -    ("", {},
    -     u('<http://foo.com/blah_blah/>')),
    -
    -    ("http://foo.com/blah_blah,", {},
    -     u('http://foo.com/blah_blah,')),
    -
    -    ("http://www.example.com/wpstyle/?p=364.", {},
    -     u('http://www.example.com/wpstyle/?p=364.')),
    -
    -    ("rdar://1234",
    -     {"permitted_protocols": ["http", "rdar"]},
    -     u('rdar://1234')),
    -
    -    ("rdar:/1234",
    -     {"permitted_protocols": ["rdar"]},
    -     u('rdar:/1234')),
    -
    -    ("http://userid:password@example.com:8080", {},
    -     u('http://userid:password@example.com:8080')),
    -
    -    ("http://userid@example.com", {},
    -     u('http://userid@example.com')),
    -
    -    ("http://userid@example.com:8080", {},
    -     u('http://userid@example.com:8080')),
    -
    -    ("http://userid:password@example.com", {},
    -     u('http://userid:password@example.com')),
    -
    -    ("message://%3c330e7f8409726r6a4ba78dkf1fd71420c1bf6ff@mail.gmail.com%3e",
    -     {"permitted_protocols": ["http", "message"]},
    -     u('message://%3c330e7f8409726r6a4ba78dkf1fd71420c1bf6ff@mail.gmail.com%3e')),
    -
    -    (u("http://\u27a1.ws/\u4a39"), {},
    -     u('http://\u27a1.ws/\u4a39')),
    -
    -    ("http://example.com", {},
    -     u('<tag>http://example.com</tag>')),
    -
    -    ("Just a www.example.com link.", {},
    -     u('Just a www.example.com link.')),
    -
    -    ("Just a www.example.com link.",
    -     {"require_protocol": True},
    -     u('Just a www.example.com link.')),
    -
    -    ("A http://reallylong.com/link/that/exceedsthelenglimit.html",
    -     {"require_protocol": True, "shorten": True},
    -     u('A http://reallylong.com/link...')),
    -
    -    ("A http://reallylongdomainnamethatwillbetoolong.com/hi!",
    -     {"shorten": True},
    -     u('A http://reallylongdomainnametha...!')),
    -
    -    ("A file:///passwords.txt and http://web.com link", {},
    -     u('A file:///passwords.txt and http://web.com link')),
    -
    -    ("A file:///passwords.txt and http://web.com link",
    -     {"permitted_protocols": ["file"]},
    -     u('A file:///passwords.txt and http://web.com link')),
    -
    -    ("www.external-link.com",
    -     {"extra_params": 'rel="nofollow" class="external"'},
    -     u('www.external-link.com')),
    -
    -    ("www.external-link.com and www.internal-link.com/blogs extra",
    -     {"extra_params": lambda href: 'class="internal"' if href.startswith("http://www.internal-link.com") else 'rel="nofollow" class="external"'},
    -     u('www.external-link.com and www.internal-link.com/blogs extra')),
    -
    -    ("www.external-link.com",
    -     {"extra_params": lambda href: '    rel="nofollow" class="external"  '},
    -     u('www.external-link.com')),
    -]
    -
    -
    -class EscapeTestCase(unittest.TestCase):
    -    def test_linkify(self):
    -        for text, kwargs, html in linkify_tests:
    -            linked = tornado.escape.linkify(text, **kwargs)
    -            self.assertEqual(linked, html)
    -
    -    def test_xhtml_escape(self):
    -        tests = [
    -            ("", "<foo>"),
    -            (u(""), u("<foo>")),
    -            (b"", b"<foo>"),
    -
    -            ("<>&\"'", "<>&"'"),
    -            ("&", "&amp;"),
    -
    -            (u("<\u00e9>"), u("<\u00e9>")),
    -            (b"<\xc3\xa9>", b"<\xc3\xa9>"),
    -        ]
    -        for unescaped, escaped in tests:
    -            self.assertEqual(utf8(xhtml_escape(unescaped)), utf8(escaped))
    -            self.assertEqual(utf8(unescaped), utf8(xhtml_unescape(escaped)))
    -
    -    def test_xhtml_unescape_numeric(self):
    -        tests = [
    -            ('foo bar', 'foo bar'),
    -            ('foo bar', 'foo bar'),
    -            ('foo bar', 'foo bar'),
    -            ('foo઼bar', u('foo\u0abcbar')),
    -            ('foo&#xyz;bar', 'foo&#xyz;bar'),  # invalid encoding
    -            ('foo&#;bar', 'foo&#;bar'),        # invalid encoding
    -            ('foo&#x;bar', 'foo&#x;bar'),      # invalid encoding
    -        ]
    -        for escaped, unescaped in tests:
    -            self.assertEqual(unescaped, xhtml_unescape(escaped))
    -
    -    def test_url_escape_unicode(self):
    -        tests = [
    -            # byte strings are passed through as-is
    -            (u('\u00e9').encode('utf8'), '%C3%A9'),
    -            (u('\u00e9').encode('latin1'), '%E9'),
    -
    -            # unicode strings become utf8
    -            (u('\u00e9'), '%C3%A9'),
    -        ]
    -        for unescaped, escaped in tests:
    -            self.assertEqual(url_escape(unescaped), escaped)
    -
    -    def test_url_unescape_unicode(self):
    -        tests = [
    -            ('%C3%A9', u('\u00e9'), 'utf8'),
    -            ('%C3%A9', u('\u00c3\u00a9'), 'latin1'),
    -            ('%C3%A9', utf8(u('\u00e9')), None),
    -        ]
    -        for escaped, unescaped, encoding in tests:
    -            # input strings to url_unescape should only contain ascii
    -            # characters, but make sure the function accepts both byte
    -            # and unicode strings.
    -            self.assertEqual(url_unescape(to_unicode(escaped), encoding), unescaped)
    -            self.assertEqual(url_unescape(utf8(escaped), encoding), unescaped)
    -
    -    def test_url_escape_quote_plus(self):
    -        unescaped = '+ #%'
    -        plus_escaped = '%2B+%23%25'
    -        escaped = '%2B%20%23%25'
    -        self.assertEqual(url_escape(unescaped), plus_escaped)
    -        self.assertEqual(url_escape(unescaped, plus=False), escaped)
    -        self.assertEqual(url_unescape(plus_escaped), unescaped)
    -        self.assertEqual(url_unescape(escaped, plus=False), unescaped)
    -        self.assertEqual(url_unescape(plus_escaped, encoding=None),
    -                         utf8(unescaped))
    -        self.assertEqual(url_unescape(escaped, encoding=None, plus=False),
    -                         utf8(unescaped))
    -
    -    def test_escape_return_types(self):
    -        # On python2 the escape methods should generally return the same
    -        # type as their argument
    -        self.assertEqual(type(xhtml_escape("foo")), str)
    -        self.assertEqual(type(xhtml_escape(u("foo"))), unicode_type)
    -
    -    def test_json_decode(self):
    -        # json_decode accepts both bytes and unicode, but strings it returns
    -        # are always unicode.
    -        self.assertEqual(json_decode(b'"foo"'), u("foo"))
    -        self.assertEqual(json_decode(u('"foo"')), u("foo"))
    -
    -        # Non-ascii bytes are interpreted as utf8
    -        self.assertEqual(json_decode(utf8(u('"\u00e9"'))), u("\u00e9"))
    -
    -    def test_json_encode(self):
    -        # json deals with strings, not bytes.  On python 2 byte strings will
    -        # convert automatically if they are utf8; on python 3 byte strings
    -        # are not allowed.
    -        self.assertEqual(json_decode(json_encode(u("\u00e9"))), u("\u00e9"))
    -        if bytes is str:
    -            self.assertEqual(json_decode(json_encode(utf8(u("\u00e9")))), u("\u00e9"))
    -            self.assertRaises(UnicodeDecodeError, json_encode, b"\xe9")
    -
    -    def test_squeeze(self):
    -        self.assertEqual(squeeze(u('sequences     of    whitespace   chars')), u('sequences of whitespace chars'))
    -
    -    def test_recursive_unicode(self):
    -        tests = {
    -            'dict': {b"foo": b"bar"},
    -            'list': [b"foo", b"bar"],
    -            'tuple': (b"foo", b"bar"),
    -            'bytes': b"foo"
    -        }
    -        self.assertEqual(recursive_unicode(tests['dict']), {u("foo"): u("bar")})
    -        self.assertEqual(recursive_unicode(tests['list']), [u("foo"), u("bar")])
    -        self.assertEqual(recursive_unicode(tests['tuple']), (u("foo"), u("bar")))
    -        self.assertEqual(recursive_unicode(tests['bytes']), u("foo"))
    diff --git a/lib27/site-packages/tornado/test/gen_test.py b/lib27/site-packages/tornado/test/gen_test.py
    deleted file mode 100644
    index 1b118f948..000000000
    --- a/lib27/site-packages/tornado/test/gen_test.py
    +++ /dev/null
    @@ -1,1359 +0,0 @@
    -from __future__ import absolute_import, division, print_function, with_statement
    -
    -import contextlib
    -import datetime
    -import functools
    -import sys
    -import textwrap
    -import time
    -import weakref
    -
    -from tornado.concurrent import return_future, Future
    -from tornado.escape import url_escape
    -from tornado.httpclient import AsyncHTTPClient
    -from tornado.ioloop import IOLoop
    -from tornado.log import app_log
    -from tornado import stack_context
    -from tornado.testing import AsyncHTTPTestCase, AsyncTestCase, ExpectLog, gen_test
    -from tornado.test.util import unittest, skipOnTravis, skipBefore33, skipBefore35, skipNotCPython, exec_test
    -from tornado.web import Application, RequestHandler, asynchronous, HTTPError
    -
    -from tornado import gen
    -
    -try:
    -    from concurrent import futures
    -except ImportError:
    -    futures = None
    -
    -
    -class GenEngineTest(AsyncTestCase):
    -    def setUp(self):
    -        super(GenEngineTest, self).setUp()
    -        self.named_contexts = []
    -
    -    def named_context(self, name):
    -        @contextlib.contextmanager
    -        def context():
    -            self.named_contexts.append(name)
    -            try:
    -                yield
    -            finally:
    -                self.assertEqual(self.named_contexts.pop(), name)
    -        return context
    -
    -    def run_gen(self, f):
    -        f()
    -        return self.wait()
    -
    -    def delay_callback(self, iterations, callback, arg):
    -        """Runs callback(arg) after a number of IOLoop iterations."""
    -        if iterations == 0:
    -            callback(arg)
    -        else:
    -            self.io_loop.add_callback(functools.partial(
    -                self.delay_callback, iterations - 1, callback, arg))
    -
    -    @return_future
    -    def async_future(self, result, callback):
    -        self.io_loop.add_callback(callback, result)
    -
    -    @gen.coroutine
    -    def async_exception(self, e):
    -        yield gen.moment
    -        raise e
    -
    -    def test_no_yield(self):
    -        @gen.engine
    -        def f():
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_inline_cb(self):
    -        @gen.engine
    -        def f():
    -            (yield gen.Callback("k1"))()
    -            res = yield gen.Wait("k1")
    -            self.assertTrue(res is None)
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_ioloop_cb(self):
    -        @gen.engine
    -        def f():
    -            self.io_loop.add_callback((yield gen.Callback("k1")))
    -            yield gen.Wait("k1")
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_exception_phase1(self):
    -        @gen.engine
    -        def f():
    -            1 / 0
    -        self.assertRaises(ZeroDivisionError, self.run_gen, f)
    -
    -    def test_exception_phase2(self):
    -        @gen.engine
    -        def f():
    -            self.io_loop.add_callback((yield gen.Callback("k1")))
    -            yield gen.Wait("k1")
    -            1 / 0
    -        self.assertRaises(ZeroDivisionError, self.run_gen, f)
    -
    -    def test_exception_in_task_phase1(self):
    -        def fail_task(callback):
    -            1 / 0
    -
    -        @gen.engine
    -        def f():
    -            try:
    -                yield gen.Task(fail_task)
    -                raise Exception("did not get expected exception")
    -            except ZeroDivisionError:
    -                self.stop()
    -        self.run_gen(f)
    -
    -    def test_exception_in_task_phase2(self):
    -        # This is the case that requires the use of stack_context in gen.engine
    -        def fail_task(callback):
    -            self.io_loop.add_callback(lambda: 1 / 0)
    -
    -        @gen.engine
    -        def f():
    -            try:
    -                yield gen.Task(fail_task)
    -                raise Exception("did not get expected exception")
    -            except ZeroDivisionError:
    -                self.stop()
    -        self.run_gen(f)
    -
    -    def test_with_arg(self):
    -        @gen.engine
    -        def f():
    -            (yield gen.Callback("k1"))(42)
    -            res = yield gen.Wait("k1")
    -            self.assertEqual(42, res)
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_with_arg_tuple(self):
    -        @gen.engine
    -        def f():
    -            (yield gen.Callback((1, 2)))((3, 4))
    -            res = yield gen.Wait((1, 2))
    -            self.assertEqual((3, 4), res)
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_key_reuse(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Callback("k1")
    -            yield gen.Callback("k1")
    -            self.stop()
    -        self.assertRaises(gen.KeyReuseError, self.run_gen, f)
    -
    -    def test_key_reuse_tuple(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Callback((1, 2))
    -            yield gen.Callback((1, 2))
    -            self.stop()
    -        self.assertRaises(gen.KeyReuseError, self.run_gen, f)
    -
    -    def test_key_mismatch(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Callback("k1")
    -            yield gen.Wait("k2")
    -            self.stop()
    -        self.assertRaises(gen.UnknownKeyError, self.run_gen, f)
    -
    -    def test_key_mismatch_tuple(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Callback((1, 2))
    -            yield gen.Wait((2, 3))
    -            self.stop()
    -        self.assertRaises(gen.UnknownKeyError, self.run_gen, f)
    -
    -    def test_leaked_callback(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Callback("k1")
    -            self.stop()
    -        self.assertRaises(gen.LeakedCallbackError, self.run_gen, f)
    -
    -    def test_leaked_callback_tuple(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Callback((1, 2))
    -            self.stop()
    -        self.assertRaises(gen.LeakedCallbackError, self.run_gen, f)
    -
    -    def test_parallel_callback(self):
    -        @gen.engine
    -        def f():
    -            for k in range(3):
    -                self.io_loop.add_callback((yield gen.Callback(k)))
    -            yield gen.Wait(1)
    -            self.io_loop.add_callback((yield gen.Callback(3)))
    -            yield gen.Wait(0)
    -            yield gen.Wait(3)
    -            yield gen.Wait(2)
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_bogus_yield(self):
    -        @gen.engine
    -        def f():
    -            yield 42
    -        self.assertRaises(gen.BadYieldError, self.run_gen, f)
    -
    -    def test_bogus_yield_tuple(self):
    -        @gen.engine
    -        def f():
    -            yield (1, 2)
    -        self.assertRaises(gen.BadYieldError, self.run_gen, f)
    -
    -    def test_reuse(self):
    -        @gen.engine
    -        def f():
    -            self.io_loop.add_callback((yield gen.Callback(0)))
    -            yield gen.Wait(0)
    -            self.stop()
    -        self.run_gen(f)
    -        self.run_gen(f)
    -
    -    def test_task(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_wait_all(self):
    -        @gen.engine
    -        def f():
    -            (yield gen.Callback("k1"))("v1")
    -            (yield gen.Callback("k2"))("v2")
    -            results = yield gen.WaitAll(["k1", "k2"])
    -            self.assertEqual(results, ["v1", "v2"])
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_exception_in_yield(self):
    -        @gen.engine
    -        def f():
    -            try:
    -                yield gen.Wait("k1")
    -                raise Exception("did not get expected exception")
    -            except gen.UnknownKeyError:
    -                pass
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_resume_after_exception_in_yield(self):
    -        @gen.engine
    -        def f():
    -            try:
    -                yield gen.Wait("k1")
    -                raise Exception("did not get expected exception")
    -            except gen.UnknownKeyError:
    -                pass
    -            (yield gen.Callback("k2"))("v2")
    -            self.assertEqual((yield gen.Wait("k2")), "v2")
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_orphaned_callback(self):
    -        @gen.engine
    -        def f():
    -            self.orphaned_callback = yield gen.Callback(1)
    -        try:
    -            self.run_gen(f)
    -            raise Exception("did not get expected exception")
    -        except gen.LeakedCallbackError:
    -            pass
    -        self.orphaned_callback()
    -
    -    def test_multi(self):
    -        @gen.engine
    -        def f():
    -            (yield gen.Callback("k1"))("v1")
    -            (yield gen.Callback("k2"))("v2")
    -            results = yield [gen.Wait("k1"), gen.Wait("k2")]
    -            self.assertEqual(results, ["v1", "v2"])
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_multi_dict(self):
    -        @gen.engine
    -        def f():
    -            (yield gen.Callback("k1"))("v1")
    -            (yield gen.Callback("k2"))("v2")
    -            results = yield dict(foo=gen.Wait("k1"), bar=gen.Wait("k2"))
    -            self.assertEqual(results, dict(foo="v1", bar="v2"))
    -            self.stop()
    -        self.run_gen(f)
    -
    -    # The following tests explicitly run with both gen.Multi
    -    # and gen.multi_future (Task returns a Future, so it can be used
    -    # with either).
    -    def test_multi_yieldpoint_delayed(self):
    -        @gen.engine
    -        def f():
    -            # callbacks run at different times
    -            responses = yield gen.Multi([
    -                gen.Task(self.delay_callback, 3, arg="v1"),
    -                gen.Task(self.delay_callback, 1, arg="v2"),
    -            ])
    -            self.assertEqual(responses, ["v1", "v2"])
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_multi_yieldpoint_dict_delayed(self):
    -        @gen.engine
    -        def f():
    -            # callbacks run at different times
    -            responses = yield gen.Multi(dict(
    -                foo=gen.Task(self.delay_callback, 3, arg="v1"),
    -                bar=gen.Task(self.delay_callback, 1, arg="v2"),
    -            ))
    -            self.assertEqual(responses, dict(foo="v1", bar="v2"))
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_multi_future_delayed(self):
    -        @gen.engine
    -        def f():
    -            # callbacks run at different times
    -            responses = yield gen.multi_future([
    -                gen.Task(self.delay_callback, 3, arg="v1"),
    -                gen.Task(self.delay_callback, 1, arg="v2"),
    -            ])
    -            self.assertEqual(responses, ["v1", "v2"])
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_multi_future_dict_delayed(self):
    -        @gen.engine
    -        def f():
    -            # callbacks run at different times
    -            responses = yield gen.multi_future(dict(
    -                foo=gen.Task(self.delay_callback, 3, arg="v1"),
    -                bar=gen.Task(self.delay_callback, 1, arg="v2"),
    -            ))
    -            self.assertEqual(responses, dict(foo="v1", bar="v2"))
    -            self.stop()
    -        self.run_gen(f)
    -
    -    @skipOnTravis
    -    @gen_test
    -    def test_multi_performance(self):
    -        # Yielding a list used to have quadratic performance; make
    -        # sure a large list stays reasonable.  On my laptop a list of
    -        # 2000 used to take 1.8s, now it takes 0.12.
    -        start = time.time()
    -        yield [gen.Task(self.io_loop.add_callback) for i in range(2000)]
    -        end = time.time()
    -        self.assertLess(end - start, 1.0)
    -
    -    @gen_test
    -    def test_multi_empty(self):
    -        # Empty lists or dicts should return the same type.
    -        x = yield []
    -        self.assertTrue(isinstance(x, list))
    -        y = yield {}
    -        self.assertTrue(isinstance(y, dict))
    -
    -    @gen_test
    -    def test_multi_mixed_types(self):
    -        # A YieldPoint (Wait) and Future (Task) can be combined
    -        # (and use the YieldPoint codepath)
    -        (yield gen.Callback("k1"))("v1")
    -        responses = yield [gen.Wait("k1"),
    -                           gen.Task(self.delay_callback, 3, arg="v2")]
    -        self.assertEqual(responses, ["v1", "v2"])
    -
    -    @gen_test
    -    def test_future(self):
    -        result = yield self.async_future(1)
    -        self.assertEqual(result, 1)
    -
    -    @gen_test
    -    def test_multi_future(self):
    -        results = yield [self.async_future(1), self.async_future(2)]
    -        self.assertEqual(results, [1, 2])
    -
    -    @gen_test
    -    def test_multi_future_duplicate(self):
    -        f = self.async_future(2)
    -        results = yield [self.async_future(1), f, self.async_future(3), f]
    -        self.assertEqual(results, [1, 2, 3, 2])
    -
    -    @gen_test
    -    def test_multi_dict_future(self):
    -        results = yield dict(foo=self.async_future(1), bar=self.async_future(2))
    -        self.assertEqual(results, dict(foo=1, bar=2))
    -
    -    @gen_test
    -    def test_multi_exceptions(self):
    -        with ExpectLog(app_log, "Multiple exceptions in yield list"):
    -            with self.assertRaises(RuntimeError) as cm:
    -                yield gen.Multi([self.async_exception(RuntimeError("error 1")),
    -                                 self.async_exception(RuntimeError("error 2"))])
    -        self.assertEqual(str(cm.exception), "error 1")
    -
    -        # With only one exception, no error is logged.
    -        with self.assertRaises(RuntimeError):
    -            yield gen.Multi([self.async_exception(RuntimeError("error 1")),
    -                             self.async_future(2)])
    -
    -        # Exception logging may be explicitly quieted.
    -        with self.assertRaises(RuntimeError):
    -            yield gen.Multi([self.async_exception(RuntimeError("error 1")),
    -                             self.async_exception(RuntimeError("error 2"))],
    -                            quiet_exceptions=RuntimeError)
    -
    -    @gen_test
    -    def test_multi_future_exceptions(self):
    -        with ExpectLog(app_log, "Multiple exceptions in yield list"):
    -            with self.assertRaises(RuntimeError) as cm:
    -                yield [self.async_exception(RuntimeError("error 1")),
    -                       self.async_exception(RuntimeError("error 2"))]
    -        self.assertEqual(str(cm.exception), "error 1")
    -
    -        # With only one exception, no error is logged.
    -        with self.assertRaises(RuntimeError):
    -            yield [self.async_exception(RuntimeError("error 1")),
    -                   self.async_future(2)]
    -
    -        # Exception logging may be explicitly quieted.
    -        with self.assertRaises(RuntimeError):
    -            yield gen.multi_future(
    -                [self.async_exception(RuntimeError("error 1")),
    -                 self.async_exception(RuntimeError("error 2"))],
    -                quiet_exceptions=RuntimeError)
    -
    -    def test_arguments(self):
    -        @gen.engine
    -        def f():
    -            (yield gen.Callback("noargs"))()
    -            self.assertEqual((yield gen.Wait("noargs")), None)
    -            (yield gen.Callback("1arg"))(42)
    -            self.assertEqual((yield gen.Wait("1arg")), 42)
    -
    -            (yield gen.Callback("kwargs"))(value=42)
    -            result = yield gen.Wait("kwargs")
    -            self.assertTrue(isinstance(result, gen.Arguments))
    -            self.assertEqual(((), dict(value=42)), result)
    -            self.assertEqual(dict(value=42), result.kwargs)
    -
    -            (yield gen.Callback("2args"))(42, 43)
    -            result = yield gen.Wait("2args")
    -            self.assertTrue(isinstance(result, gen.Arguments))
    -            self.assertEqual(((42, 43), {}), result)
    -            self.assertEqual((42, 43), result.args)
    -
    -            def task_func(callback):
    -                callback(None, error="foo")
    -            result = yield gen.Task(task_func)
    -            self.assertTrue(isinstance(result, gen.Arguments))
    -            self.assertEqual(((None,), dict(error="foo")), result)
    -
    -            self.stop()
    -        self.run_gen(f)
    -
    -    def test_stack_context_leak(self):
    -        # regression test: repeated invocations of a gen-based
    -        # function should not result in accumulated stack_contexts
    -        def _stack_depth():
    -            head = stack_context._state.contexts[1]
    -            length = 0
    -
    -            while head is not None:
    -                length += 1
    -                head = head.old_contexts[1]
    -
    -            return length
    -
    -        @gen.engine
    -        def inner(callback):
    -            yield gen.Task(self.io_loop.add_callback)
    -            callback()
    -
    -        @gen.engine
    -        def outer():
    -            for i in range(10):
    -                yield gen.Task(inner)
    -
    -            stack_increase = _stack_depth() - initial_stack_depth
    -            self.assertTrue(stack_increase <= 2)
    -            self.stop()
    -        initial_stack_depth = _stack_depth()
    -        self.run_gen(outer)
    -
    -    def test_stack_context_leak_exception(self):
    -        # same as previous, but with a function that exits with an exception
    -        @gen.engine
    -        def inner(callback):
    -            yield gen.Task(self.io_loop.add_callback)
    -            1 / 0
    -
    -        @gen.engine
    -        def outer():
    -            for i in range(10):
    -                try:
    -                    yield gen.Task(inner)
    -                except ZeroDivisionError:
    -                    pass
    -            stack_increase = len(stack_context._state.contexts) - initial_stack_depth
    -            self.assertTrue(stack_increase <= 2)
    -            self.stop()
    -        initial_stack_depth = len(stack_context._state.contexts)
    -        self.run_gen(outer)
    -
    -    def function_with_stack_context(self, callback):
    -        # Technically this function should stack_context.wrap its callback
    -        # upon entry.  However, it is very common for this step to be
    -        # omitted.
    -        def step2():
    -            self.assertEqual(self.named_contexts, ['a'])
    -            self.io_loop.add_callback(callback)
    -
    -        with stack_context.StackContext(self.named_context('a')):
    -            self.io_loop.add_callback(step2)
    -
    -    @gen_test
    -    def test_wait_transfer_stack_context(self):
    -        # Wait should not pick up contexts from where callback was invoked,
    -        # even if that function improperly fails to wrap its callback.
    -        cb = yield gen.Callback('k1')
    -        self.function_with_stack_context(cb)
    -        self.assertEqual(self.named_contexts, [])
    -        yield gen.Wait('k1')
    -        self.assertEqual(self.named_contexts, [])
    -
    -    @gen_test
    -    def test_task_transfer_stack_context(self):
    -        yield gen.Task(self.function_with_stack_context)
    -        self.assertEqual(self.named_contexts, [])
    -
    -    def test_raise_after_stop(self):
    -        # This pattern will be used in the following tests so make sure
    -        # the exception propagates as expected.
    -        @gen.engine
    -        def f():
    -            self.stop()
    -            1 / 0
    -
    -        with self.assertRaises(ZeroDivisionError):
    -            self.run_gen(f)
    -
    -    def test_sync_raise_return(self):
    -        # gen.Return is allowed in @gen.engine, but it may not be used
    -        # to return a value.
    -        @gen.engine
    -        def f():
    -            self.stop(42)
    -            raise gen.Return()
    -
    -        result = self.run_gen(f)
    -        self.assertEqual(result, 42)
    -
    -    def test_async_raise_return(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            self.stop(42)
    -            raise gen.Return()
    -
    -        result = self.run_gen(f)
    -        self.assertEqual(result, 42)
    -
    -    def test_sync_raise_return_value(self):
    -        @gen.engine
    -        def f():
    -            raise gen.Return(42)
    -
    -        with self.assertRaises(gen.ReturnValueIgnoredError):
    -            self.run_gen(f)
    -
    -    def test_sync_raise_return_value_tuple(self):
    -        @gen.engine
    -        def f():
    -            raise gen.Return((1, 2))
    -
    -        with self.assertRaises(gen.ReturnValueIgnoredError):
    -            self.run_gen(f)
    -
    -    def test_async_raise_return_value(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            raise gen.Return(42)
    -
    -        with self.assertRaises(gen.ReturnValueIgnoredError):
    -            self.run_gen(f)
    -
    -    def test_async_raise_return_value_tuple(self):
    -        @gen.engine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            raise gen.Return((1, 2))
    -
    -        with self.assertRaises(gen.ReturnValueIgnoredError):
    -            self.run_gen(f)
    -
    -    def test_return_value(self):
    -        # It is an error to apply @gen.engine to a function that returns
    -        # a value.
    -        @gen.engine
    -        def f():
    -            return 42
    -
    -        with self.assertRaises(gen.ReturnValueIgnoredError):
    -            self.run_gen(f)
    -
    -    def test_return_value_tuple(self):
    -        # It is an error to apply @gen.engine to a function that returns
    -        # a value.
    -        @gen.engine
    -        def f():
    -            return (1, 2)
    -
    -        with self.assertRaises(gen.ReturnValueIgnoredError):
    -            self.run_gen(f)
    -
    -    @skipNotCPython
    -    def test_task_refcounting(self):
    -        # On CPython, tasks and their arguments should be released immediately
    -        # without waiting for garbage collection.
    -        @gen.engine
    -        def f():
    -            class Foo(object):
    -                pass
    -            arg = Foo()
    -            self.arg_ref = weakref.ref(arg)
    -            task = gen.Task(self.io_loop.add_callback, arg=arg)
    -            self.task_ref = weakref.ref(task)
    -            yield task
    -            self.stop()
    -
    -        self.run_gen(f)
    -        self.assertIs(self.arg_ref(), None)
    -        self.assertIs(self.task_ref(), None)
    -
    -
    -class GenCoroutineTest(AsyncTestCase):
    -    def setUp(self):
    -        # Stray StopIteration exceptions can lead to tests exiting prematurely,
    -        # so we need explicit checks here to make sure the tests run all
    -        # the way through.
    -        self.finished = False
    -        super(GenCoroutineTest, self).setUp()
    -
    -    def tearDown(self):
    -        super(GenCoroutineTest, self).tearDown()
    -        assert self.finished
    -
    -    @gen_test
    -    def test_sync_gen_return(self):
    -        @gen.coroutine
    -        def f():
    -            raise gen.Return(42)
    -        result = yield f()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @gen_test
    -    def test_async_gen_return(self):
    -        @gen.coroutine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            raise gen.Return(42)
    -        result = yield f()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @gen_test
    -    def test_sync_return(self):
    -        @gen.coroutine
    -        def f():
    -            return 42
    -        result = yield f()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @skipBefore33
    -    @gen_test
    -    def test_async_return(self):
    -        namespace = exec_test(globals(), locals(), """
    -        @gen.coroutine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            return 42
    -        """)
    -        result = yield namespace['f']()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @skipBefore33
    -    @gen_test
    -    def test_async_early_return(self):
    -        # A yield statement exists but is not executed, which means
    -        # this function "returns" via an exception.  This exception
    -        # doesn't happen before the exception handling is set up.
    -        namespace = exec_test(globals(), locals(), """
    -        @gen.coroutine
    -        def f():
    -            if True:
    -                return 42
    -            yield gen.Task(self.io_loop.add_callback)
    -        """)
    -        result = yield namespace['f']()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @skipBefore35
    -    @gen_test
    -    def test_async_await(self):
    -        # This test verifies that an async function can await a
    -        # yield-based gen.coroutine, and that a gen.coroutine
    -        # (the test method itself) can yield an async function.
    -        namespace = exec_test(globals(), locals(), """
    -        async def f():
    -            await gen.Task(self.io_loop.add_callback)
    -            return 42
    -        """)
    -        result = yield namespace['f']()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @skipBefore35
    -    @gen_test
    -    def test_async_await_mixed_multi_native_future(self):
    -        namespace = exec_test(globals(), locals(), """
    -        async def f1():
    -            await gen.Task(self.io_loop.add_callback)
    -            return 42
    -        """)
    -
    -        @gen.coroutine
    -        def f2():
    -            yield gen.Task(self.io_loop.add_callback)
    -            raise gen.Return(43)
    -
    -        results = yield [namespace['f1'](), f2()]
    -        self.assertEqual(results, [42, 43])
    -        self.finished = True
    -
    -    @skipBefore35
    -    @gen_test
    -    def test_async_await_mixed_multi_native_yieldpoint(self):
    -        namespace = exec_test(globals(), locals(), """
    -        async def f1():
    -            await gen.Task(self.io_loop.add_callback)
    -            return 42
    -        """)
    -
    -        @gen.coroutine
    -        def f2():
    -            yield gen.Task(self.io_loop.add_callback)
    -            raise gen.Return(43)
    -
    -        f2(callback=(yield gen.Callback('cb')))
    -        results = yield [namespace['f1'](), gen.Wait('cb')]
    -        self.assertEqual(results, [42, 43])
    -        self.finished = True
    -
    -    @gen_test
    -    def test_sync_return_no_value(self):
    -        @gen.coroutine
    -        def f():
    -            return
    -        result = yield f()
    -        self.assertEqual(result, None)
    -        self.finished = True
    -
    -    @gen_test
    -    def test_async_return_no_value(self):
    -        # Without a return value we don't need python 3.3.
    -        @gen.coroutine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            return
    -        result = yield f()
    -        self.assertEqual(result, None)
    -        self.finished = True
    -
    -    @gen_test
    -    def test_sync_raise(self):
    -        @gen.coroutine
    -        def f():
    -            1 / 0
    -        # The exception is raised when the future is yielded
    -        # (or equivalently when its result method is called),
    -        # not when the function itself is called).
    -        future = f()
    -        with self.assertRaises(ZeroDivisionError):
    -            yield future
    -        self.finished = True
    -
    -    @gen_test
    -    def test_async_raise(self):
    -        @gen.coroutine
    -        def f():
    -            yield gen.Task(self.io_loop.add_callback)
    -            1 / 0
    -        future = f()
    -        with self.assertRaises(ZeroDivisionError):
    -            yield future
    -        self.finished = True
    -
    -    @gen_test
    -    def test_pass_callback(self):
    -        @gen.coroutine
    -        def f():
    -            raise gen.Return(42)
    -        result = yield gen.Task(f)
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @gen_test
    -    def test_replace_yieldpoint_exception(self):
    -        # Test exception handling: a coroutine can catch one exception
    -        # raised by a yield point and raise a different one.
    -        @gen.coroutine
    -        def f1():
    -            1 / 0
    -
    -        @gen.coroutine
    -        def f2():
    -            try:
    -                yield f1()
    -            except ZeroDivisionError:
    -                raise KeyError()
    -
    -        future = f2()
    -        with self.assertRaises(KeyError):
    -            yield future
    -        self.finished = True
    -
    -    @gen_test
    -    def test_swallow_yieldpoint_exception(self):
    -        # Test exception handling: a coroutine can catch an exception
    -        # raised by a yield point and not raise a different one.
    -        @gen.coroutine
    -        def f1():
    -            1 / 0
    -
    -        @gen.coroutine
    -        def f2():
    -            try:
    -                yield f1()
    -            except ZeroDivisionError:
    -                raise gen.Return(42)
    -
    -        result = yield f2()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @gen_test
    -    def test_replace_context_exception(self):
    -        # Test exception handling: exceptions thrown into the stack context
    -        # can be caught and replaced.
    -        # Note that this test and the following are for behavior that is
    -        # not really supported any more:  coroutines no longer create a
    -        # stack context automatically; but one is created after the first
    -        # YieldPoint (i.e. not a Future).
    -        @gen.coroutine
    -        def f2():
    -            (yield gen.Callback(1))()
    -            yield gen.Wait(1)
    -            self.io_loop.add_callback(lambda: 1 / 0)
    -            try:
    -                yield gen.Task(self.io_loop.add_timeout,
    -                               self.io_loop.time() + 10)
    -            except ZeroDivisionError:
    -                raise KeyError()
    -
    -        future = f2()
    -        with self.assertRaises(KeyError):
    -            yield future
    -        self.finished = True
    -
    -    @gen_test
    -    def test_swallow_context_exception(self):
    -        # Test exception handling: exceptions thrown into the stack context
    -        # can be caught and ignored.
    -        @gen.coroutine
    -        def f2():
    -            (yield gen.Callback(1))()
    -            yield gen.Wait(1)
    -            self.io_loop.add_callback(lambda: 1 / 0)
    -            try:
    -                yield gen.Task(self.io_loop.add_timeout,
    -                               self.io_loop.time() + 10)
    -            except ZeroDivisionError:
    -                raise gen.Return(42)
    -
    -        result = yield f2()
    -        self.assertEqual(result, 42)
    -        self.finished = True
    -
    -    @gen_test
    -    def test_moment(self):
    -        calls = []
    -
    -        @gen.coroutine
    -        def f(name, yieldable):
    -            for i in range(5):
    -                calls.append(name)
    -                yield yieldable
    -        # First, confirm the behavior without moment: each coroutine
    -        # monopolizes the event loop until it finishes.
    -        immediate = Future()
    -        immediate.set_result(None)
    -        yield [f('a', immediate), f('b', immediate)]
    -        self.assertEqual(''.join(calls), 'aaaaabbbbb')
    -
    -        # With moment, they take turns.
    -        calls = []
    -        yield [f('a', gen.moment), f('b', gen.moment)]
    -        self.assertEqual(''.join(calls), 'ababababab')
    -        self.finished = True
    -
    -        calls = []
    -        yield [f('a', gen.moment), f('b', immediate)]
    -        self.assertEqual(''.join(calls), 'abbbbbaaaa')
    -
    -    @gen_test
    -    def test_sleep(self):
    -        yield gen.sleep(0.01)
    -        self.finished = True
    -
    -    @skipBefore33
    -    @gen_test
    -    def test_py3_leak_exception_context(self):
    -        class LeakedException(Exception):
    -            pass
    -
    -        @gen.coroutine
    -        def inner(iteration):
    -            raise LeakedException(iteration)
    -
    -        try:
    -            yield inner(1)
    -        except LeakedException as e:
    -            self.assertEqual(str(e), "1")
    -            self.assertIsNone(e.__context__)
    -
    -        try:
    -            yield inner(2)
    -        except LeakedException as e:
    -            self.assertEqual(str(e), "2")
    -            self.assertIsNone(e.__context__)
    -
    -        self.finished = True
    -
    -
    -class GenSequenceHandler(RequestHandler):
    -    @asynchronous
    -    @gen.engine
    -    def get(self):
    -        self.io_loop = self.request.connection.stream.io_loop
    -        self.io_loop.add_callback((yield gen.Callback("k1")))
    -        yield gen.Wait("k1")
    -        self.write("1")
    -        self.io_loop.add_callback((yield gen.Callback("k2")))
    -        yield gen.Wait("k2")
    -        self.write("2")
    -        # reuse an old key
    -        self.io_loop.add_callback((yield gen.Callback("k1")))
    -        yield gen.Wait("k1")
    -        self.finish("3")
    -
    -
    -class GenCoroutineSequenceHandler(RequestHandler):
    -    @gen.coroutine
    -    def get(self):
    -        self.io_loop = self.request.connection.stream.io_loop
    -        self.io_loop.add_callback((yield gen.Callback("k1")))
    -        yield gen.Wait("k1")
    -        self.write("1")
    -        self.io_loop.add_callback((yield gen.Callback("k2")))
    -        yield gen.Wait("k2")
    -        self.write("2")
    -        # reuse an old key
    -        self.io_loop.add_callback((yield gen.Callback("k1")))
    -        yield gen.Wait("k1")
    -        self.finish("3")
    -
    -
    -class GenCoroutineUnfinishedSequenceHandler(RequestHandler):
    -    @asynchronous
    -    @gen.coroutine
    -    def get(self):
    -        self.io_loop = self.request.connection.stream.io_loop
    -        self.io_loop.add_callback((yield gen.Callback("k1")))
    -        yield gen.Wait("k1")
    -        self.write("1")
    -        self.io_loop.add_callback((yield gen.Callback("k2")))
    -        yield gen.Wait("k2")
    -        self.write("2")
    -        # reuse an old key
    -        self.io_loop.add_callback((yield gen.Callback("k1")))
    -        yield gen.Wait("k1")
    -        # just write, don't finish
    -        self.write("3")
    -
    -
    -class GenTaskHandler(RequestHandler):
    -    @asynchronous
    -    @gen.engine
    -    def get(self):
    -        io_loop = self.request.connection.stream.io_loop
    -        client = AsyncHTTPClient(io_loop=io_loop)
    -        response = yield gen.Task(client.fetch, self.get_argument('url'))
    -        response.rethrow()
    -        self.finish(b"got response: " + response.body)
    -
    -
    -class GenExceptionHandler(RequestHandler):
    -    @asynchronous
    -    @gen.engine
    -    def get(self):
    -        # This test depends on the order of the two decorators.
    -        io_loop = self.request.connection.stream.io_loop
    -        yield gen.Task(io_loop.add_callback)
    -        raise Exception("oops")
    -
    -
    -class GenCoroutineExceptionHandler(RequestHandler):
    -    @gen.coroutine
    -    def get(self):
    -        # This test depends on the order of the two decorators.
    -        io_loop = self.request.connection.stream.io_loop
    -        yield gen.Task(io_loop.add_callback)
    -        raise Exception("oops")
    -
    -
    -class GenYieldExceptionHandler(RequestHandler):
    -    @asynchronous
    -    @gen.engine
    -    def get(self):
    -        io_loop = self.request.connection.stream.io_loop
    -        # Test the interaction of the two stack_contexts.
    -
    -        def fail_task(callback):
    -            io_loop.add_callback(lambda: 1 / 0)
    -        try:
    -            yield gen.Task(fail_task)
    -            raise Exception("did not get expected exception")
    -        except ZeroDivisionError:
    -            self.finish('ok')
    -
    -
    -# "Undecorated" here refers to the absence of @asynchronous.
    -class UndecoratedCoroutinesHandler(RequestHandler):
    -    @gen.coroutine
    -    def prepare(self):
    -        self.chunks = []
    -        yield gen.Task(IOLoop.current().add_callback)
    -        self.chunks.append('1')
    -
    -    @gen.coroutine
    -    def get(self):
    -        self.chunks.append('2')
    -        yield gen.Task(IOLoop.current().add_callback)
    -        self.chunks.append('3')
    -        yield gen.Task(IOLoop.current().add_callback)
    -        self.write(''.join(self.chunks))
    -
    -
    -class AsyncPrepareErrorHandler(RequestHandler):
    -    @gen.coroutine
    -    def prepare(self):
    -        yield gen.Task(IOLoop.current().add_callback)
    -        raise HTTPError(403)
    -
    -    def get(self):
    -        self.finish('ok')
    -
    -
    -class NativeCoroutineHandler(RequestHandler):
    -    if sys.version_info > (3, 5):
    -        exec(textwrap.dedent("""
    -        async def get(self):
    -            await gen.Task(IOLoop.current().add_callback)
    -            self.write("ok")
    -        """))
    -
    -
    -class GenWebTest(AsyncHTTPTestCase):
    -    def get_app(self):
    -        return Application([
    -            ('/sequence', GenSequenceHandler),
    -            ('/coroutine_sequence', GenCoroutineSequenceHandler),
    -            ('/coroutine_unfinished_sequence',
    -             GenCoroutineUnfinishedSequenceHandler),
    -            ('/task', GenTaskHandler),
    -            ('/exception', GenExceptionHandler),
    -            ('/coroutine_exception', GenCoroutineExceptionHandler),
    -            ('/yield_exception', GenYieldExceptionHandler),
    -            ('/undecorated_coroutine', UndecoratedCoroutinesHandler),
    -            ('/async_prepare_error', AsyncPrepareErrorHandler),
    -            ('/native_coroutine', NativeCoroutineHandler),
    -        ])
    -
    -    def test_sequence_handler(self):
    -        response = self.fetch('/sequence')
    -        self.assertEqual(response.body, b"123")
    -
    -    def test_coroutine_sequence_handler(self):
    -        response = self.fetch('/coroutine_sequence')
    -        self.assertEqual(response.body, b"123")
    -
    -    def test_coroutine_unfinished_sequence_handler(self):
    -        response = self.fetch('/coroutine_unfinished_sequence')
    -        self.assertEqual(response.body, b"123")
    -
    -    def test_task_handler(self):
    -        response = self.fetch('/task?url=%s' % url_escape(self.get_url('/sequence')))
    -        self.assertEqual(response.body, b"got response: 123")
    -
    -    def test_exception_handler(self):
    -        # Make sure we get an error and not a timeout
    -        with ExpectLog(app_log, "Uncaught exception GET /exception"):
    -            response = self.fetch('/exception')
    -        self.assertEqual(500, response.code)
    -
    -    def test_coroutine_exception_handler(self):
    -        # Make sure we get an error and not a timeout
    -        with ExpectLog(app_log, "Uncaught exception GET /coroutine_exception"):
    -            response = self.fetch('/coroutine_exception')
    -        self.assertEqual(500, response.code)
    -
    -    def test_yield_exception_handler(self):
    -        response = self.fetch('/yield_exception')
    -        self.assertEqual(response.body, b'ok')
    -
    -    def test_undecorated_coroutines(self):
    -        response = self.fetch('/undecorated_coroutine')
    -        self.assertEqual(response.body, b'123')
    -
    -    def test_async_prepare_error_handler(self):
    -        response = self.fetch('/async_prepare_error')
    -        self.assertEqual(response.code, 403)
    -
    -    @skipBefore35
    -    def test_native_coroutine_handler(self):
    -        response = self.fetch('/native_coroutine')
    -        self.assertEqual(response.code, 200)
    -        self.assertEqual(response.body, b'ok')
    -
    -
    -class WithTimeoutTest(AsyncTestCase):
    -    @gen_test
    -    def test_timeout(self):
    -        with self.assertRaises(gen.TimeoutError):
    -            yield gen.with_timeout(datetime.timedelta(seconds=0.1),
    -                                   Future())
    -
    -    @gen_test
    -    def test_completes_before_timeout(self):
    -        future = Future()
    -        self.io_loop.add_timeout(datetime.timedelta(seconds=0.1),
    -                                 lambda: future.set_result('asdf'))
    -        result = yield gen.with_timeout(datetime.timedelta(seconds=3600),
    -                                        future, io_loop=self.io_loop)
    -        self.assertEqual(result, 'asdf')
    -
    -    @gen_test
    -    def test_fails_before_timeout(self):
    -        future = Future()
    -        self.io_loop.add_timeout(
    -            datetime.timedelta(seconds=0.1),
    -            lambda: future.set_exception(ZeroDivisionError()))
    -        with self.assertRaises(ZeroDivisionError):
    -            yield gen.with_timeout(datetime.timedelta(seconds=3600),
    -                                   future, io_loop=self.io_loop)
    -
    -    @gen_test
    -    def test_already_resolved(self):
    -        future = Future()
    -        future.set_result('asdf')
    -        result = yield gen.with_timeout(datetime.timedelta(seconds=3600),
    -                                        future, io_loop=self.io_loop)
    -        self.assertEqual(result, 'asdf')
    -
    -    @unittest.skipIf(futures is None, 'futures module not present')
    -    @gen_test
    -    def test_timeout_concurrent_future(self):
    -        with futures.ThreadPoolExecutor(1) as executor:
    -            with self.assertRaises(gen.TimeoutError):
    -                yield gen.with_timeout(self.io_loop.time(),
    -                                       executor.submit(time.sleep, 0.1))
    -
    -    @unittest.skipIf(futures is None, 'futures module not present')
    -    @gen_test
    -    def test_completed_concurrent_future(self):
    -        with futures.ThreadPoolExecutor(1) as executor:
    -            yield gen.with_timeout(datetime.timedelta(seconds=3600),
    -                                   executor.submit(lambda: None))
    -
    -
    -class WaitIteratorTest(AsyncTestCase):
    -    @gen_test
    -    def test_empty_iterator(self):
    -        g = gen.WaitIterator()
    -        self.assertTrue(g.done(), 'empty generator iterated')
    -
    -        with self.assertRaises(ValueError):
    -            g = gen.WaitIterator(False, bar=False)
    -
    -        self.assertEqual(g.current_index, None, "bad nil current index")
    -        self.assertEqual(g.current_future, None, "bad nil current future")
    -
    -    @gen_test
    -    def test_already_done(self):
    -        f1 = Future()
    -        f2 = Future()
    -        f3 = Future()
    -        f1.set_result(24)
    -        f2.set_result(42)
    -        f3.set_result(84)
    -
    -        g = gen.WaitIterator(f1, f2, f3)
    -        i = 0
    -        while not g.done():
    -            r = yield g.next()
    -            # Order is not guaranteed, but the current implementation
    -            # preserves ordering of already-done Futures.
    -            if i == 0:
    -                self.assertEqual(g.current_index, 0)
    -                self.assertIs(g.current_future, f1)
    -                self.assertEqual(r, 24)
    -            elif i == 1:
    -                self.assertEqual(g.current_index, 1)
    -                self.assertIs(g.current_future, f2)
    -                self.assertEqual(r, 42)
    -            elif i == 2:
    -                self.assertEqual(g.current_index, 2)
    -                self.assertIs(g.current_future, f3)
    -                self.assertEqual(r, 84)
    -            i += 1
    -
    -        self.assertEqual(g.current_index, None, "bad nil current index")
    -        self.assertEqual(g.current_future, None, "bad nil current future")
    -
    -        dg = gen.WaitIterator(f1=f1, f2=f2)
    -
    -        while not dg.done():
    -            dr = yield dg.next()
    -            if dg.current_index == "f1":
    -                self.assertTrue(dg.current_future == f1 and dr == 24,
    -                                "WaitIterator dict status incorrect")
    -            elif dg.current_index == "f2":
    -                self.assertTrue(dg.current_future == f2 and dr == 42,
    -                                "WaitIterator dict status incorrect")
    -            else:
    -                self.fail("got bad WaitIterator index {}".format(
    -                    dg.current_index))
    -
    -            i += 1
    -
    -        self.assertEqual(dg.current_index, None, "bad nil current index")
    -        self.assertEqual(dg.current_future, None, "bad nil current future")
    -
    -    def finish_coroutines(self, iteration, futures):
    -        if iteration == 3:
    -            futures[2].set_result(24)
    -        elif iteration == 5:
    -            futures[0].set_exception(ZeroDivisionError())
    -        elif iteration == 8:
    -            futures[1].set_result(42)
    -            futures[3].set_result(84)
    -
    -        if iteration < 8:
    -            self.io_loop.add_callback(self.finish_coroutines, iteration + 1, futures)
    -
    -    @gen_test
    -    def test_iterator(self):
    -        futures = [Future(), Future(), Future(), Future()]
    -
    -        self.finish_coroutines(0, futures)
    -
    -        g = gen.WaitIterator(*futures)
    -
    -        i = 0
    -        while not g.done():
    -            try:
    -                r = yield g.next()
    -            except ZeroDivisionError:
    -                self.assertIs(g.current_future, futures[0],
    -                              'exception future invalid')
    -            else:
    -                if i == 0:
    -                    self.assertEqual(r, 24, 'iterator value incorrect')
    -                    self.assertEqual(g.current_index, 2, 'wrong index')
    -                elif i == 2:
    -                    self.assertEqual(r, 42, 'iterator value incorrect')
    -                    self.assertEqual(g.current_index, 1, 'wrong index')
    -                elif i == 3:
    -                    self.assertEqual(r, 84, 'iterator value incorrect')
    -                    self.assertEqual(g.current_index, 3, 'wrong index')
    -            i += 1
    -
    -    @skipBefore35
    -    @gen_test
    -    def test_iterator_async_await(self):
    -        # Recreate the previous test with py35 syntax. It's a little clunky
    -        # because of the way the previous test handles an exception on
    -        # a single iteration.
    -        futures = [Future(), Future(), Future(), Future()]
    -        self.finish_coroutines(0, futures)
    -        self.finished = False
    -
    -        namespace = exec_test(globals(), locals(), """
    -        async def f():
    -            i = 0
    -            g = gen.WaitIterator(*futures)
    -            try:
    -                async for r in g:
    -                    if i == 0:
    -                        self.assertEqual(r, 24, 'iterator value incorrect')
    -                        self.assertEqual(g.current_index, 2, 'wrong index')
    -                    else:
    -                        raise Exception("expected exception on iteration 1")
    -                    i += 1
    -            except ZeroDivisionError:
    -                i += 1
    -            async for r in g:
    -                if i == 2:
    -                    self.assertEqual(r, 42, 'iterator value incorrect')
    -                    self.assertEqual(g.current_index, 1, 'wrong index')
    -                elif i == 3:
    -                    self.assertEqual(r, 84, 'iterator value incorrect')
    -                    self.assertEqual(g.current_index, 3, 'wrong index')
    -                else:
    -                    raise Exception("didn't expect iteration %d" % i)
    -                i += 1
    -            self.finished = True
    -        """)
    -        yield namespace['f']()
    -        self.assertTrue(self.finished)
    -
    -    @gen_test
    -    def test_no_ref(self):
    -        # In this usage, there is no direct hard reference to the
    -        # WaitIterator itself, only the Future it returns. Since
    -        # WaitIterator uses weak references internally to improve GC
    -        # performance, this used to cause problems.
    -        yield gen.with_timeout(datetime.timedelta(seconds=0.1),
    -                               gen.WaitIterator(gen.sleep(0)).next())
    -
    -
    -if __name__ == '__main__':
    -    unittest.main()
    diff --git a/lib27/site-packages/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.mo b/lib27/site-packages/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.mo
    deleted file mode 100644
    index a97bf9c57..000000000
    Binary files a/lib27/site-packages/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.mo and /dev/null differ
    diff --git a/lib27/site-packages/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.po b/lib27/site-packages/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.po
    deleted file mode 100644
    index 88d72c862..000000000
    --- a/lib27/site-packages/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.po
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -# SOME DESCRIPTIVE TITLE.
    -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
    -# This file is distributed under the same license as the PACKAGE package.
    -# FIRST AUTHOR , YEAR.
    -#
    -#, fuzzy
    -msgid ""
    -msgstr ""
    -"Project-Id-Version: PACKAGE VERSION\n"
    -"Report-Msgid-Bugs-To: \n"
    -"POT-Creation-Date: 2015-01-27 11:05+0300\n"
    -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    -"Last-Translator: FULL NAME \n"
    -"Language-Team: LANGUAGE \n"
    -"Language: \n"
    -"MIME-Version: 1.0\n"
    -"Content-Type: text/plain; charset=utf-8\n"
    -"Content-Transfer-Encoding: 8bit\n"
    -"Plural-Forms: nplurals=2; plural=(n > 1);\n"
    -
    -#: extract_me.py:11
    -msgid "school"
    -msgstr "école"
    -
    -#: extract_me.py:12
    -msgctxt "law"
    -msgid "right"
    -msgstr "le droit"
    -
    -#: extract_me.py:13
    -msgctxt "good"
    -msgid "right"
    -msgstr "le bien"
    -
    -#: extract_me.py:14
    -msgctxt "organization"
    -msgid "club"
    -msgid_plural "clubs"
    -msgstr[0] "le club"
    -msgstr[1] "les clubs"
    -
    -#: extract_me.py:15
    -msgctxt "stick"
    -msgid "club"
    -msgid_plural "clubs"
    -msgstr[0] "le bâton"
    -msgstr[1] "les bâtons"
    diff --git a/lib27/site-packages/tornado/test/httpclient_test.py b/lib27/site-packages/tornado/test/httpclient_test.py
    deleted file mode 100644
    index e7551c93b..000000000
    --- a/lib27/site-packages/tornado/test/httpclient_test.py
    +++ /dev/null
    @@ -1,661 +0,0 @@
    -#!/usr/bin/env python
    -
    -from __future__ import absolute_import, division, print_function, with_statement
    -
    -import base64
    -import binascii
    -from contextlib import closing
    -import copy
    -import functools
    -import sys
    -import threading
    -import datetime
    -from io import BytesIO
    -
    -from tornado.escape import utf8
    -from tornado import gen
    -from tornado.httpclient import HTTPRequest, HTTPResponse, _RequestProxy, HTTPError, HTTPClient
    -from tornado.httpserver import HTTPServer
    -from tornado.ioloop import IOLoop
    -from tornado.iostream import IOStream
    -from tornado.log import gen_log
    -from tornado import netutil
    -from tornado.stack_context import ExceptionStackContext, NullContext
    -from tornado.testing import AsyncHTTPTestCase, bind_unused_port, gen_test, ExpectLog
    -from tornado.test.util import unittest, skipOnTravis
    -from tornado.util import u
    -from tornado.web import Application, RequestHandler, url
    -from tornado.httputil import format_timestamp, HTTPHeaders
    -
    -
    -class HelloWorldHandler(RequestHandler):
    -    def get(self):
    -        name = self.get_argument("name", "world")
    -        self.set_header("Content-Type", "text/plain")
    -        self.finish("Hello %s!" % name)
    -
    -
    -class PostHandler(RequestHandler):
    -    def post(self):
    -        self.finish("Post arg1: %s, arg2: %s" % (
    -            self.get_argument("arg1"), self.get_argument("arg2")))
    -
    -
    -class PutHandler(RequestHandler):
    -    def put(self):
    -        self.write("Put body: ")
    -        self.write(self.request.body)
    -
    -
    -class RedirectHandler(RequestHandler):
    -    def prepare(self):
    -        self.write('redirects can have bodies too')
    -        self.redirect(self.get_argument("url"),
    -                      status=int(self.get_argument("status", "302")))
    -
    -
    -class ChunkHandler(RequestHandler):
    -    @gen.coroutine
    -    def get(self):
    -        self.write("asdf")
    -        self.flush()
    -        # Wait a bit to ensure the chunks are sent and received separately.
    -        yield gen.sleep(0.01)
    -        self.write("qwer")
    -
    -
    -class AuthHandler(RequestHandler):
    -    def get(self):
    -        self.finish(self.request.headers["Authorization"])
    -
    -
    -class CountdownHandler(RequestHandler):
    -    def get(self, count):
    -        count = int(count)
    -        if count > 0:
    -            self.redirect(self.reverse_url("countdown", count - 1))
    -        else:
    -            self.write("Zero")
    -
    -
    -class EchoPostHandler(RequestHandler):
    -    def post(self):
    -        self.write(self.request.body)
    -
    -
    -class UserAgentHandler(RequestHandler):
    -    def get(self):
    -        self.write(self.request.headers.get('User-Agent', 'User agent not set'))
    -
    -
    -class ContentLength304Handler(RequestHandler):
    -    def get(self):
    -        self.set_status(304)
    -        self.set_header('Content-Length', 42)
    -
    -    def _clear_headers_for_304(self):
    -        # Tornado strips content-length from 304 responses, but here we
    -        # want to simulate servers that include the headers anyway.
    -        pass
    -
    -
    -class PatchHandler(RequestHandler):
    -
    -    def patch(self):
    -        "Return the request payload - so we can check it is being kept"
    -        self.write(self.request.body)
    -
    -
    -class AllMethodsHandler(RequestHandler):
    -    SUPPORTED_METHODS = RequestHandler.SUPPORTED_METHODS + ('OTHER',)
    -
    -    def method(self):
    -        self.write(self.request.method)
    -
    -    get = post = put = delete = options = patch = other = method
    -
    -# These tests end up getting run redundantly: once here with the default
    -# HTTPClient implementation, and then again in each implementation's own
    -# test suite.
    -
    -
    -class HTTPClientCommonTestCase(AsyncHTTPTestCase):
    -    def get_app(self):
    -        return Application([
    -            url("/hello", HelloWorldHandler),
    -            url("/post", PostHandler),
    -            url("/put", PutHandler),
    -            url("/redirect", RedirectHandler),
    -            url("/chunk", ChunkHandler),
    -            url("/auth", AuthHandler),
    -            url("/countdown/([0-9]+)", CountdownHandler, name="countdown"),
    -            url("/echopost", EchoPostHandler),
    -            url("/user_agent", UserAgentHandler),
    -            url("/304_with_content_length", ContentLength304Handler),
    -            url("/all_methods", AllMethodsHandler),
    -            url('/patch', PatchHandler),
    -        ], gzip=True)
    -
    -    def test_patch_receives_payload(self):
    -        body = b"some patch data"
    -        response = self.fetch("/patch", method='PATCH', body=body)
    -        self.assertEqual(response.code, 200)
    -        self.assertEqual(response.body, body)
    -
    -    @skipOnTravis
    -    def test_hello_world(self):
    -        response = self.fetch("/hello")
    -        self.assertEqual(response.code, 200)
    -        self.assertEqual(response.headers["Content-Type"], "text/plain")
    -        self.assertEqual(response.body, b"Hello world!")
    -        self.assertEqual(int(response.request_time), 0)
    -
    -        response = self.fetch("/hello?name=Ben")
    -        self.assertEqual(response.body, b"Hello Ben!")
    -
    -    def test_streaming_callback(self):
    -        # streaming_callback is also tested in test_chunked
    -        chunks = []
    -        response = self.fetch("/hello",
    -                              streaming_callback=chunks.append)
    -        # with streaming_callback, data goes to the callback and not response.body
    -        self.assertEqual(chunks, [b"Hello world!"])
    -        self.assertFalse(response.body)
    -
    -    def test_post(self):
    -        response = self.fetch("/post", method="POST",
    -                              body="arg1=foo&arg2=bar")
    -        self.assertEqual(response.code, 200)
    -        self.assertEqual(response.body, b"Post arg1: foo, arg2: bar")
    -
    -    def test_chunked(self):
    -        response = self.fetch("/chunk")
    -        self.assertEqual(response.body, b"asdfqwer")
    -
    -        chunks = []
    -        response = self.fetch("/chunk",
    -                              streaming_callback=chunks.append)
    -        self.assertEqual(chunks, [b"asdf", b"qwer"])
    -        self.assertFalse(response.body)
    -
    -    def test_chunked_close(self):
    -        # test case in which chunks spread read-callback processing
    -        # over several ioloop iterations, but the connection is already closed.
    -        sock, port = bind_unused_port()
    -        with closing(sock):
    -            def write_response(stream, request_data):
    -                if b"HTTP/1." not in request_data:
    -                    self.skipTest("requires HTTP/1.x")
    -                stream.write(b"""\
    -HTTP/1.1 200 OK
    -Transfer-Encoding: chunked
    -
    -1
    -1
    -1
    -2
    -0
    -
    -""".replace(b"\n", b"\r\n"), callback=stream.close)
    -
    -            def accept_callback(conn, address):
    -                # fake an HTTP server using chunked encoding where the final chunks
    -                # and connection close all happen at once
    -                stream = IOStream(conn, io_loop=self.io_loop)
    -                stream.read_until(b"\r\n\r\n",
    -                                  functools.partial(write_response, stream))
    -            netutil.add_accept_handler(sock, accept_callback, self.io_loop)
    -            self.http_client.fetch("http://127.0.0.1:%d/" % port, self.stop)
    -            resp = self.wait()
    -            resp.rethrow()
    -            self.assertEqual(resp.body, b"12")
    -            self.io_loop.remove_handler(sock.fileno())
    -
    -    def test_streaming_stack_context(self):
    -        chunks = []
    -        exc_info = []
    -
    -        def error_handler(typ, value, tb):
    -            exc_info.append((typ, value, tb))
    -            return True
    -
    -        def streaming_cb(chunk):
    -            chunks.append(chunk)
    -            if chunk == b'qwer':
    -                1 / 0
    -
    -        with ExceptionStackContext(error_handler):
    -            self.fetch('/chunk', streaming_callback=streaming_cb)
    -
    -        self.assertEqual(chunks, [b'asdf', b'qwer'])
    -        self.assertEqual(1, len(exc_info))
    -        self.assertIs(exc_info[0][0], ZeroDivisionError)
    -
    -    def test_basic_auth(self):
    -        self.assertEqual(self.fetch("/auth", auth_username="Aladdin",
    -                                    auth_password="open sesame").body,
    -                         b"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==")
    -
    -    def test_basic_auth_explicit_mode(self):
    -        self.assertEqual(self.fetch("/auth", auth_username="Aladdin",
    -                                    auth_password="open sesame",
    -                                    auth_mode="basic").body,
    -                         b"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==")
    -
    -    def test_unsupported_auth_mode(self):
    -        # curl and simple clients handle errors a bit differently; the
    -        # important thing is that they don't fall back to basic auth
    -        # on an unknown mode.
    -        with ExpectLog(gen_log, "uncaught exception", required=False):
    -            with self.assertRaises((ValueError, HTTPError)):
    -                response = self.fetch("/auth", auth_username="Aladdin",
    -                                      auth_password="open sesame",
    -                                      auth_mode="asdf")
    -                response.rethrow()
    -
    -    def test_follow_redirect(self):
    -        response = self.fetch("/countdown/2", follow_redirects=False)
    -        self.assertEqual(302, response.code)
    -        self.assertTrue(response.headers["Location"].endswith("/countdown/1"))
    -
    -        response = self.fetch("/countdown/2")
    -        self.assertEqual(200, response.code)
    -        self.assertTrue(response.effective_url.endswith("/countdown/0"))
    -        self.assertEqual(b"Zero", response.body)
    -
    -    def test_credentials_in_url(self):
    -        url = self.get_url("/auth").replace("http://", "http://me:secret@")
    -        self.http_client.fetch(url, self.stop)
    -        response = self.wait()
    -        self.assertEqual(b"Basic " + base64.b64encode(b"me:secret"),
    -                         response.body)
    -
    -    def test_body_encoding(self):
    -        unicode_body = u("\xe9")
    -        byte_body = binascii.a2b_hex(b"e9")
    -
    -        # unicode string in body gets converted to utf8
    -        response = self.fetch("/echopost", method="POST", body=unicode_body,
    -                              headers={"Content-Type": "application/blah"})
    -        self.assertEqual(response.headers["Content-Length"], "2")
    -        self.assertEqual(response.body, utf8(unicode_body))
    -
    -        # byte strings pass through directly
    -        response = self.fetch("/echopost", method="POST",
    -                              body=byte_body,
    -                              headers={"Content-Type": "application/blah"})
    -        self.assertEqual(response.headers["Content-Length"], "1")
    -        self.assertEqual(response.body, byte_body)
    -
    -        # Mixing unicode in headers and byte string bodies shouldn't
    -        # break anything
    -        response = self.fetch("/echopost", method="POST", body=byte_body,
    -                              headers={"Content-Type": "application/blah"},
    -                              user_agent=u("foo"))
    -        self.assertEqual(response.headers["Content-Length"], "1")
    -        self.assertEqual(response.body, byte_body)
    -
    -    def test_types(self):
    -        response = self.fetch("/hello")
    -        self.assertEqual(type(response.body), bytes)
    -        self.assertEqual(type(response.headers["Content-Type"]), str)
    -        self.assertEqual(type(response.code), int)
    -        self.assertEqual(type(response.effective_url), str)
    -
    -    def test_header_callback(self):
    -        first_line = []
    -        headers = {}
    -        chunks = []
    -
    -        def header_callback(header_line):
    -            if header_line.startswith('HTTP/1.1 101'):
    -                # Upgrading to HTTP/2
    -                pass
    -            elif header_line.startswith('HTTP/'):
    -                first_line.append(header_line)
    -            elif header_line != '\r\n':
    -                k, v = header_line.split(':', 1)
    -                headers[k.lower()] = v.strip()
    -
    -        def streaming_callback(chunk):
    -            # All header callbacks are run before any streaming callbacks,
    -            # so the header data is available to process the data as it
    -            # comes in.
    -            self.assertEqual(headers['content-type'], 'text/html; charset=UTF-8')
    -            chunks.append(chunk)
    -
    -        self.fetch('/chunk', header_callback=header_callback,
    -                   streaming_callback=streaming_callback)
    -        self.assertEqual(len(first_line), 1, first_line)
    -        self.assertRegexpMatches(first_line[0], 'HTTP/[0-9]\\.[0-9] 200.*\r\n')
    -        self.assertEqual(chunks, [b'asdf', b'qwer'])
    -
    -    def test_header_callback_stack_context(self):
    -        exc_info = []
    -
    -        def error_handler(typ, value, tb):
    -            exc_info.append((typ, value, tb))
    -            return True
    -
    -        def header_callback(header_line):
    -            if header_line.lower().startswith('content-type:'):
    -                1 / 0
    -
    -        with ExceptionStackContext(error_handler):
    -            self.fetch('/chunk', header_callback=header_callback)
    -        self.assertEqual(len(exc_info), 1)
    -        self.assertIs(exc_info[0][0], ZeroDivisionError)
    -
    -    def test_configure_defaults(self):
    -        defaults = dict(user_agent='TestDefaultUserAgent', allow_ipv6=False)
    -        # Construct a new instance of the configured client class
    -        client = self.http_client.__class__(self.io_loop, force_instance=True,
    -                                            defaults=defaults)
    -        try:
    -            client.fetch(self.get_url('/user_agent'), callback=self.stop)
    -            response = self.wait()
    -            self.assertEqual(response.body, b'TestDefaultUserAgent')
    -        finally:
    -            client.close()
    -
    -    def test_header_types(self):
    -        # Header values may be passed as character or utf8 byte strings,
    -        # in a plain dictionary or an HTTPHeaders object.
    -        # Keys must always be the native str type.
    -        # All combinations should have the same results on the wire.
    -        for value in [u("MyUserAgent"), b"MyUserAgent"]:
    -            for container in [dict, HTTPHeaders]:
    -                headers = container()
    -                headers['User-Agent'] = value
    -                resp = self.fetch('/user_agent', headers=headers)
    -                self.assertEqual(
    -                    resp.body, b"MyUserAgent",
    -                    "response=%r, value=%r, container=%r" %
    -                    (resp.body, value, container))
    -
    -    def test_multi_line_headers(self):
    -        # Multi-line http headers are rare but rfc-allowed
    -        # http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
    -        sock, port = bind_unused_port()
    -        with closing(sock):
    -            def write_response(stream, request_data):
    -                if b"HTTP/1." not in request_data:
    -                    self.skipTest("requires HTTP/1.x")
    -                stream.write(b"""\
    -HTTP/1.1 200 OK
    -X-XSS-Protection: 1;
    -\tmode=block
    -
    -""".replace(b"\n", b"\r\n"), callback=stream.close)
    -
    -            def accept_callback(conn, address):
    -                stream = IOStream(conn, io_loop=self.io_loop)
    -                stream.read_until(b"\r\n\r\n",
    -                                  functools.partial(write_response, stream))
    -            netutil.add_accept_handler(sock, accept_callback, self.io_loop)
    -            self.http_client.fetch("http://127.0.0.1:%d/" % port, self.stop)
    -            resp = self.wait()
    -            resp.rethrow()
    -            self.assertEqual(resp.headers['X-XSS-Protection'], "1; mode=block")
    -            self.io_loop.remove_handler(sock.fileno())
    -
    -    def test_304_with_content_length(self):
    -        # According to the spec 304 responses SHOULD NOT include
    -        # Content-Length or other entity headers, but some servers do it
    -        # anyway.
    -        # http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5
    -        response = self.fetch('/304_with_content_length')
    -        self.assertEqual(response.code, 304)
    -        self.assertEqual(response.headers['Content-Length'], '42')
    -
    -    def test_final_callback_stack_context(self):
    -        # The final callback should be run outside of the httpclient's
    -        # stack_context.  We want to ensure that there is not stack_context
    -        # between the user's callback and the IOLoop, so monkey-patch
    -        # IOLoop.handle_callback_exception and disable the test harness's
    -        # context with a NullContext.
    -        # Note that this does not apply to secondary callbacks (header
    -        # and streaming_callback), as errors there must be seen as errors
    -        # by the http client so it can clean up the connection.
    -        exc_info = []
    -
    -        def handle_callback_exception(callback):
    -            exc_info.append(sys.exc_info())
    -            self.stop()
    -        self.io_loop.handle_callback_exception = handle_callback_exception
    -        with NullContext():
    -            self.http_client.fetch(self.get_url('/hello'),
    -                                   lambda response: 1 / 0)
    -        self.wait()
    -        self.assertEqual(exc_info[0][0], ZeroDivisionError)
    -
    -    @gen_test
    -    def test_future_interface(self):
    -        response = yield self.http_client.fetch(self.get_url('/hello'))
    -        self.assertEqual(response.body, b'Hello world!')
    -
    -    @gen_test
    -    def test_future_http_error(self):
    -        with self.assertRaises(HTTPError) as context:
    -            yield self.http_client.fetch(self.get_url('/notfound'))
    -        self.assertEqual(context.exception.code, 404)
    -        self.assertEqual(context.exception.response.code, 404)
    -
    -    @gen_test
    -    def test_future_http_error_no_raise(self):
    -        response = yield self.http_client.fetch(self.get_url('/notfound'), raise_error=False)
    -        self.assertEqual(response.code, 404)
    -
    -    @gen_test
    -    def test_reuse_request_from_response(self):
    -        # The response.request attribute should be an HTTPRequest, not
    -        # a _RequestProxy.
    -        # This test uses self.http_client.fetch because self.fetch calls
    -        # self.get_url on the input unconditionally.
    -        url = self.get_url('/hello')
    -        response = yield self.http_client.fetch(url)
    -        self.assertEqual(response.request.url, url)
    -        self.assertTrue(isinstance(response.request, HTTPRequest))
    -        response2 = yield self.http_client.fetch(response.request)
    -        self.assertEqual(response2.body, b'Hello world!')
    -
    -    def test_all_methods(self):
    -        for method in ['GET', 'DELETE', 'OPTIONS']:
    -            response = self.fetch('/all_methods', method=method)
    -            self.assertEqual(response.body, utf8(method))
    -        for method in ['POST', 'PUT', 'PATCH']:
    -            response = self.fetch('/all_methods', method=method, body=b'')
    -            self.assertEqual(response.body, utf8(method))
    -        response = self.fetch('/all_methods', method='HEAD')
    -        self.assertEqual(response.body, b'')
    -        response = self.fetch('/all_methods', method='OTHER',
    -                              allow_nonstandard_methods=True)
    -        self.assertEqual(response.body, b'OTHER')
    -
    -    def test_body_sanity_checks(self):
    -        # These methods require a body.
    -        for method in ('POST', 'PUT', 'PATCH'):
    -            with self.assertRaises(ValueError) as context:
    -                resp = self.fetch('/all_methods', method=method)
    -                resp.rethrow()
    -            self.assertIn('must not be None', str(context.exception))
    -
    -            resp = self.fetch('/all_methods', method=method,
    -                              allow_nonstandard_methods=True)
    -            self.assertEqual(resp.code, 200)
    -
    -        # These methods don't allow a body.
    -        for method in ('GET', 'DELETE', 'OPTIONS'):
    -            with self.assertRaises(ValueError) as context:
    -                resp = self.fetch('/all_methods', method=method, body=b'asdf')
    -                resp.rethrow()
    -            self.assertIn('must be None', str(context.exception))
    -
    -            # In most cases this can be overridden, but curl_httpclient
    -            # does not allow body with a GET at all.
    -            if method != 'GET':
    -                resp = self.fetch('/all_methods', method=method, body=b'asdf',
    -                                  allow_nonstandard_methods=True)
    -                resp.rethrow()
    -                self.assertEqual(resp.code, 200)
    -
    -    # This test causes odd failures with the combination of
    -    # curl_httpclient (at least with the version of libcurl available
    -    # on ubuntu 12.04), TwistedIOLoop, and epoll.  For POST (but not PUT),
    -    # curl decides the response came back too soon and closes the connection
    -    # to start again.  It does this *before* telling the socket callback to
    -    # unregister the FD.  Some IOLoop implementations have special kernel
    -    # integration to discover this immediately.  Tornado's IOLoops
    -    # ignore errors on remove_handler to accommodate this behavior, but
    -    # Twisted's reactor does not.  The removeReader call fails and so
    -    # do all future removeAll calls (which our tests do at cleanup).
    -    #
    -    # def test_post_307(self):
    -    #    response = self.fetch("/redirect?status=307&url=/post",
    -    #                          method="POST", body=b"arg1=foo&arg2=bar")
    -    #    self.assertEqual(response.body, b"Post arg1: foo, arg2: bar")
    -
    -    def test_put_307(self):
    -        response = self.fetch("/redirect?status=307&url=/put",
    -                              method="PUT", body=b"hello")
    -        response.rethrow()
    -        self.assertEqual(response.body, b"Put body: hello")
    -
    -
    -class RequestProxyTest(unittest.TestCase):
    -    def test_request_set(self):
    -        proxy = _RequestProxy(HTTPRequest('http://example.com/',
    -                                          user_agent='foo'),
    -                              dict())
    -        self.assertEqual(proxy.user_agent, 'foo')
    -
    -    def test_default_set(self):
    -        proxy = _RequestProxy(HTTPRequest('http://example.com/'),
    -                              dict(network_interface='foo'))
    -        self.assertEqual(proxy.network_interface, 'foo')
    -
    -    def test_both_set(self):
    -        proxy = _RequestProxy(HTTPRequest('http://example.com/',
    -                                          proxy_host='foo'),
    -                              dict(proxy_host='bar'))
    -        self.assertEqual(proxy.proxy_host, 'foo')
    -
    -    def test_neither_set(self):
    -        proxy = _RequestProxy(HTTPRequest('http://example.com/'),
    -                              dict())
    -        self.assertIs(proxy.auth_username, None)
    -
    -    def test_bad_attribute(self):
    -        proxy = _RequestProxy(HTTPRequest('http://example.com/'),
    -                              dict())
    -        with self.assertRaises(AttributeError):
    -            proxy.foo
    -
    -    def test_defaults_none(self):
    -        proxy = _RequestProxy(HTTPRequest('http://example.com/'), None)
    -        self.assertIs(proxy.auth_username, None)
    -
    -
    -class HTTPResponseTestCase(unittest.TestCase):
    -    def test_str(self):
    -        response = HTTPResponse(HTTPRequest('http://example.com'),
    -                                200, headers={}, buffer=BytesIO())
    -        s = str(response)
    -        self.assertTrue(s.startswith('HTTPResponse('))
    -        self.assertIn('code=200', s)
    -
    -
    -class SyncHTTPClientTest(unittest.TestCase):
    -    def setUp(self):
    -        if IOLoop.configured_class().__name__ in ('TwistedIOLoop',
    -                                                  'AsyncIOMainLoop'):
    -            # TwistedIOLoop only supports the global reactor, so we can't have
    -            # separate IOLoops for client and server threads.
    -            # AsyncIOMainLoop doesn't work with the default policy
    -            # (although it could with some tweaks to this test and a
    -            # policy that created loops for non-main threads).
    -            raise unittest.SkipTest(
    -                'Sync HTTPClient not compatible with TwistedIOLoop or '
    -                'AsyncIOMainLoop')
    -        self.server_ioloop = IOLoop()
    -
    -        sock, self.port = bind_unused_port()
    -        app = Application([('/', HelloWorldHandler)])
    -        self.server = HTTPServer(app, io_loop=self.server_ioloop)
    -        self.server.add_socket(sock)
    -
    -        self.server_thread = threading.Thread(target=self.server_ioloop.start)
    -        self.server_thread.start()
    -
    -        self.http_client = HTTPClient()
    -
    -    def tearDown(self):
    -        def stop_server():
    -            self.server.stop()
    -            # Delay the shutdown of the IOLoop by one iteration because
    -            # the server may still have some cleanup work left when
    -            # the client finishes with the response (this is noticable
    -            # with http/2, which leaves a Future with an unexamined
    -            # StreamClosedError on the loop).
    -            self.server_ioloop.add_callback(self.server_ioloop.stop)
    -        self.server_ioloop.add_callback(stop_server)
    -        self.server_thread.join()
    -        self.http_client.close()
    -        self.server_ioloop.close(all_fds=True)
    -
    -    def get_url(self, path):
    -        return 'http://127.0.0.1:%d%s' % (self.port, path)
    -
    -    def test_sync_client(self):
    -        response = self.http_client.fetch(self.get_url('/'))
    -        self.assertEqual(b'Hello world!', response.body)
    -
    -    def test_sync_client_error(self):
    -        # Synchronous HTTPClient raises errors directly; no need for
    -        # response.rethrow()
    -        with self.assertRaises(HTTPError) as assertion:
    -            self.http_client.fetch(self.get_url('/notfound'))
    -        self.assertEqual(assertion.exception.code, 404)
    -
    -
    -class HTTPRequestTestCase(unittest.TestCase):
    -    def test_headers(self):
    -        request = HTTPRequest('http://example.com', headers={'foo': 'bar'})
    -        self.assertEqual(request.headers, {'foo': 'bar'})
    -
    -    def test_headers_setter(self):
    -        request = HTTPRequest('http://example.com')
    -        request.headers = {'bar': 'baz'}
    -        self.assertEqual(request.headers, {'bar': 'baz'})
    -
    -    def test_null_headers_setter(self):
    -        request = HTTPRequest('http://example.com')
    -        request.headers = None
    -        self.assertEqual(request.headers, {})
    -
    -    def test_body(self):
    -        request = HTTPRequest('http://example.com', body='foo')
    -        self.assertEqual(request.body, utf8('foo'))
    -
    -    def test_body_setter(self):
    -        request = HTTPRequest('http://example.com')
    -        request.body = 'foo'
    -        self.assertEqual(request.body, utf8('foo'))
    -
    -    def test_if_modified_since(self):
    -        http_date = datetime.datetime.utcnow()
    -        request = HTTPRequest('http://example.com', if_modified_since=http_date)
    -        self.assertEqual(request.headers,
    -                         {'If-Modified-Since': format_timestamp(http_date)})
    -
    -
    -class HTTPErrorTestCase(unittest.TestCase):
    -    def test_copy(self):
    -        e = HTTPError(403)
    -        e2 = copy.copy(e)
    -        self.assertIsNot(e, e2)
    -        self.assertEqual(e.code, e2.code)
    -
    -    def test_str(self):
    -        e = HTTPError(403)
    -        self.assertEqual(str(e), "HTTP 403: Forbidden")
    diff --git a/lib27/site-packages/tornado/test/httpserver_test.py b/lib27/site-packages/tornado/test/httpserver_test.py
    deleted file mode 100644
    index 065f5b1fa..000000000
    --- a/lib27/site-packages/tornado/test/httpserver_test.py
    +++ /dev/null
    @@ -1,1094 +0,0 @@
    -#!/usr/bin/env python
    -
    -
    -from __future__ import absolute_import, division, print_function, with_statement
    -from tornado import netutil
    -from tornado.escape import json_decode, json_encode, utf8, _unicode, recursive_unicode, native_str
    -from tornado import gen
    -from tornado.http1connection import HTTP1Connection
    -from tornado.httpserver import HTTPServer
    -from tornado.httputil import HTTPHeaders, HTTPMessageDelegate, HTTPServerConnectionDelegate, ResponseStartLine
    -from tornado.iostream import IOStream
    -from tornado.log import gen_log
    -from tornado.netutil import ssl_options_to_context
    -from tornado.simple_httpclient import SimpleAsyncHTTPClient
    -from tornado.testing import AsyncHTTPTestCase, AsyncHTTPSTestCase, AsyncTestCase, ExpectLog, gen_test
    -from tornado.test.util import unittest, skipOnTravis
    -from tornado.util import u
    -from tornado.web import Application, RequestHandler, asynchronous, stream_request_body
    -from contextlib import closing
    -import datetime
    -import gzip
    -import os
    -import shutil
    -import socket
    -import ssl
    -import sys
    -import tempfile
    -from io import BytesIO
    -
    -
    -def read_stream_body(stream, callback):
    -    """Reads an HTTP response from `stream` and runs callback with its
    -    headers and body."""
    -    chunks = []
    -
    -    class Delegate(HTTPMessageDelegate):
    -        def headers_received(self, start_line, headers):
    -            self.headers = headers
    -
    -        def data_received(self, chunk):
    -            chunks.append(chunk)
    -
    -        def finish(self):
    -            callback((self.headers, b''.join(chunks)))
    -    conn = HTTP1Connection(stream, True)
    -    conn.read_response(Delegate())
    -
    -
    -class HandlerBaseTestCase(AsyncHTTPTestCase):
    -    def get_app(self):
    -        return Application([('/', self.__class__.Handler)])
    -
    -    def fetch_json(self, *args, **kwargs):
    -        response = self.fetch(*args, **kwargs)
    -        response.rethrow()
    -        return json_decode(response.body)
    -
    -
    -class HelloWorldRequestHandler(RequestHandler):
    -    def initialize(self, protocol="http"):
    -        self.expected_protocol = protocol
    -
    -    def get(self):
    -        if self.request.protocol != self.expected_protocol:
    -            raise Exception("unexpected protocol")
    -        self.finish("Hello world")
    -
    -    def post(self):
    -        self.finish("Got %d bytes in POST" % len(self.request.body))
    -
    -
    -# In pre-1.0 versions of openssl, SSLv23 clients always send SSLv2
    -# ClientHello messages, which are rejected by SSLv3 and TLSv1
    -# servers.  Note that while the OPENSSL_VERSION_INFO was formally
    -# introduced in python3.2, it was present but undocumented in
    -# python 2.7
    -skipIfOldSSL = unittest.skipIf(
    -    getattr(ssl, 'OPENSSL_VERSION_INFO', (0, 0)) < (1, 0),
    -    "old version of ssl module and/or openssl")
    -
    -
    -class BaseSSLTest(AsyncHTTPSTestCase):
    -    def get_app(self):
    -        return Application([('/', HelloWorldRequestHandler,
    -                             dict(protocol="https"))])
    -
    -
    -class SSLTestMixin(object):
    -    def get_ssl_options(self):
    -        return dict(ssl_version=self.get_ssl_version(),
    -                    **AsyncHTTPSTestCase.get_ssl_options())
    -
    -    def get_ssl_version(self):
    -        raise NotImplementedError()
    -
    -    def test_ssl(self):
    -        response = self.fetch('/')
    -        self.assertEqual(response.body, b"Hello world")
    -
    -    def test_large_post(self):
    -        response = self.fetch('/',
    -                              method='POST',
    -                              body='A' * 5000)
    -        self.assertEqual(response.body, b"Got 5000 bytes in POST")
    -
    -    def test_non_ssl_request(self):
    -        # Make sure the server closes the connection when it gets a non-ssl
    -        # connection, rather than waiting for a timeout or otherwise
    -        # misbehaving.
    -        with ExpectLog(gen_log, '(SSL Error|uncaught exception)'):
    -            with ExpectLog(gen_log, 'Uncaught exception', required=False):
    -                self.http_client.fetch(
    -                    self.get_url("/").replace('https:', 'http:'),
    -                    self.stop,
    -                    request_timeout=3600,
    -                    connect_timeout=3600)
    -                response = self.wait()
    -        self.assertEqual(response.code, 599)
    -
    -    def test_error_logging(self):
    -        # No stack traces are logged for SSL errors.
    -        with ExpectLog(gen_log, 'SSL Error') as expect_log:
    -            self.http_client.fetch(
    -                self.get_url("/").replace("https:", "http:"),
    -                self.stop)
    -            response = self.wait()
    -            self.assertEqual(response.code, 599)
    -        self.assertFalse(expect_log.logged_stack)
    -
    -# Python's SSL implementation differs significantly between versions.
    -# For example, SSLv3 and TLSv1 throw an exception if you try to read
    -# from the socket before the handshake is complete, but the default
    -# of SSLv23 allows it.
    -
    -
    -class SSLv23Test(BaseSSLTest, SSLTestMixin):
    -    def get_ssl_version(self):
    -        return ssl.PROTOCOL_SSLv23
    -
    -
    -@skipIfOldSSL
    -class SSLv3Test(BaseSSLTest, SSLTestMixin):
    -    def get_ssl_version(self):
    -        return ssl.PROTOCOL_SSLv3
    -
    -
    -@skipIfOldSSL
    -class TLSv1Test(BaseSSLTest, SSLTestMixin):
    -    def get_ssl_version(self):
    -        return ssl.PROTOCOL_TLSv1
    -
    -
    -@unittest.skipIf(not hasattr(ssl, 'SSLContext'), 'ssl.SSLContext not present')
    -class SSLContextTest(BaseSSLTest, SSLTestMixin):
    -    def get_ssl_options(self):
    -        context = ssl_options_to_context(
    -            AsyncHTTPSTestCase.get_ssl_options(self))
    -        assert isinstance(context, ssl.SSLContext)
    -        return context
    -
    -
    -class BadSSLOptionsTest(unittest.TestCase):
    -    def test_missing_arguments(self):
    -        application = Application()
    -        self.assertRaises(KeyError, HTTPServer, application, ssl_options={
    -            "keyfile": "/__missing__.crt",
    -        })
    -
    -    def test_missing_key(self):
    -        """A missing SSL key should cause an immediate exception."""
    -
    -        application = Application()
    -        module_dir = os.path.dirname(__file__)
    -        existing_certificate = os.path.join(module_dir, 'test.crt')
    -        existing_key = os.path.join(module_dir, 'test.key')
    -
    -        self.assertRaises((ValueError, IOError),
    -                          HTTPServer, application, ssl_options={
    -                              "certfile": "/__mising__.crt",
    -        })
    -        self.assertRaises((ValueError, IOError),
    -                          HTTPServer, application, ssl_options={
    -                              "certfile": existing_certificate,
    -                              "keyfile": "/__missing__.key"
    -        })
    -
    -        # This actually works because both files exist
    -        HTTPServer(application, ssl_options={
    -                   "certfile": existing_certificate,
    -                   "keyfile": existing_key,
    -                   })
    -
    -
    -class MultipartTestHandler(RequestHandler):
    -    def post(self):
    -        self.finish({"header": self.request.headers["X-Header-Encoding-Test"],
    -                     "argument": self.get_argument("argument"),
    -                     "filename": self.request.files["files"][0].filename,
    -                     "filebody": _unicode(self.request.files["files"][0]["body"]),
    -                     })
    -
    -
    -# This test is also called from wsgi_test
    -class HTTPConnectionTest(AsyncHTTPTestCase):
    -    def get_handlers(self):
    -        return [("/multipart", MultipartTestHandler),
    -                ("/hello", HelloWorldRequestHandler)]
    -
    -    def get_app(self):
    -        return Application(self.get_handlers())
    -
    -    def raw_fetch(self, headers, body, newline=b"\r\n"):
    -        with closing(IOStream(socket.socket())) as stream:
    -            stream.connect(('127.0.0.1', self.get_http_port()), self.stop)
    -            self.wait()
    -            stream.write(
    -                newline.join(headers +
    -                             [utf8("Content-Length: %d" % len(body))]) +
    -                newline + newline + body)
    -            read_stream_body(stream, self.stop)
    -            headers, body = self.wait()
    -            return body
    -
    -    def test_multipart_form(self):
    -        # Encodings here are tricky:  Headers are latin1, bodies can be
    -        # anything (we use utf8 by default).
    -        response = self.raw_fetch([
    -            b"POST /multipart HTTP/1.0",
    -            b"Content-Type: multipart/form-data; boundary=1234567890",
    -            b"X-Header-encoding-test: \xe9",
    -        ],
    -            b"\r\n".join([
    -                b"Content-Disposition: form-data; name=argument",
    -                b"",
    -                u("\u00e1").encode("utf-8"),
    -                b"--1234567890",
    -                u('Content-Disposition: form-data; name="files"; filename="\u00f3"').encode("utf8"),
    -                b"",
    -                u("\u00fa").encode("utf-8"),
    -                b"--1234567890--",
    -                b"",
    -            ]))
    -        data = json_decode(response)
    -        self.assertEqual(u("\u00e9"), data["header"])
    -        self.assertEqual(u("\u00e1"), data["argument"])
    -        self.assertEqual(u("\u00f3"), data["filename"])
    -        self.assertEqual(u("\u00fa"), data["filebody"])
    -
    -    def test_newlines(self):
    -        # We support both CRLF and bare LF as line separators.
    -        for newline in (b"\r\n", b"\n"):
    -            response = self.raw_fetch([b"GET /hello HTTP/1.0"], b"",
    -                                      newline=newline)
    -            self.assertEqual(response, b'Hello world')
    -
    -    def test_100_continue(self):
    -        # Run through a 100-continue interaction by hand:
    -        # When given Expect: 100-continue, we get a 100 response after the
    -        # headers, and then the real response after the body.
    -        stream = IOStream(socket.socket(), io_loop=self.io_loop)
    -        stream.connect(("127.0.0.1", self.get_http_port()), callback=self.stop)
    -        self.wait()
    -        stream.write(b"\r\n".join([b"POST /hello HTTP/1.1",
    -                                   b"Content-Length: 1024",
    -                                   b"Expect: 100-continue",
    -                                   b"Connection: close",
    -                                   b"\r\n"]), callback=self.stop)
    -        self.wait()
    -        stream.read_until(b"\r\n\r\n", self.stop)
    -        data = self.wait()
    -        self.assertTrue(data.startswith(b"HTTP/1.1 100 "), data)
    -        stream.write(b"a" * 1024)
    -        stream.read_until(b"\r\n", self.stop)
    -        first_line = self.wait()
    -        self.assertTrue(first_line.startswith(b"HTTP/1.1 200"), first_line)
    -        stream.read_until(b"\r\n\r\n", self.stop)
    -        header_data = self.wait()
    -        headers = HTTPHeaders.parse(native_str(header_data.decode('latin1')))
    -        stream.read_bytes(int(headers["Content-Length"]), self.stop)
    -        body = self.wait()
    -        self.assertEqual(body, b"Got 1024 bytes in POST")
    -        stream.close()
    -
    -
    -class EchoHandler(RequestHandler):
    -    def get(self):
    -        self.write(recursive_unicode(self.request.arguments))
    -
    -    def post(self):
    -        self.write(recursive_unicode(self.request.arguments))
    -
    -
    -class TypeCheckHandler(RequestHandler):
    -    def prepare(self):
    -        self.errors = {}
    -        fields = [
    -            ('method', str),
    -            ('uri', str),
    -            ('version', str),
    -            ('remote_ip', str),
    -            ('protocol', str),
    -            ('host', str),
    -            ('path', str),
    -            ('query', str),
    -        ]
    -        for field, expected_type in fields:
    -            self.check_type(field, getattr(self.request, field), expected_type)
    -
    -        self.check_type('header_key', list(self.request.headers.keys())[0], str)
    -        self.check_type('header_value', list(self.request.headers.values())[0], str)
    -
    -        self.check_type('cookie_key', list(self.request.cookies.keys())[0], str)
    -        self.check_type('cookie_value', list(self.request.cookies.values())[0].value, str)
    -        # secure cookies
    -
    -        self.check_type('arg_key', list(self.request.arguments.keys())[0], str)
    -        self.check_type('arg_value', list(self.request.arguments.values())[0][0], bytes)
    -
    -    def post(self):
    -        self.check_type('body', self.request.body, bytes)
    -        self.write(self.errors)
    -
    -    def get(self):
    -        self.write(self.errors)
    -
    -    def check_type(self, name, obj, expected_type):
    -        actual_type = type(obj)
    -        if expected_type != actual_type:
    -            self.errors[name] = "expected %s, got %s" % (expected_type,
    -                                                         actual_type)
    -
    -
    -class HTTPServerTest(AsyncHTTPTestCase):
    -    def get_app(self):
    -        return Application([("/echo", EchoHandler),
    -                            ("/typecheck", TypeCheckHandler),
    -                            ("//doubleslash", EchoHandler),
    -                            ])
    -
    -    def test_query_string_encoding(self):
    -        response = self.fetch("/echo?foo=%C3%A9")
    -        data = json_decode(response.body)
    -        self.assertEqual(data, {u("foo"): [u("\u00e9")]})
    -
    -    def test_empty_query_string(self):
    -        response = self.fetch("/echo?foo=&foo=")
    -        data = json_decode(response.body)
    -        self.assertEqual(data, {u("foo"): [u(""), u("")]})
    -
    -    def test_empty_post_parameters(self):
    -        response = self.fetch("/echo", method="POST", body="foo=&bar=")
    -        data = json_decode(response.body)
    -        self.assertEqual(data, {u("foo"): [u("")], u("bar"): [u("")]})
    -
    -    def test_types(self):
    -        headers = {"Cookie": "foo=bar"}
    -        response = self.fetch("/typecheck?foo=bar", headers=headers)
    -        data = json_decode(response.body)
    -        self.assertEqual(data, {})
    -
    -        response = self.fetch("/typecheck", method="POST", body="foo=bar", headers=headers)
    -        data = json_decode(response.body)
    -        self.assertEqual(data, {})
    -
    -    def test_double_slash(self):
    -        # urlparse.urlsplit (which tornado.httpserver used to use
    -        # incorrectly) would parse paths beginning with "//" as
    -        # protocol-relative urls.
    -        response = self.fetch("//doubleslash")
    -        self.assertEqual(200, response.code)
    -        self.assertEqual(json_decode(response.body), {})
    -
    -    def test_malformed_body(self):
    -        # parse_qs is pretty forgiving, but it will fail on python 3
    -        # if the data is not utf8.  On python 2 parse_qs will work,
    -        # but then the recursive_unicode call in EchoHandler will
    -        # fail.
    -        if str is bytes:
    -            return
    -        with ExpectLog(gen_log, 'Invalid x-www-form-urlencoded body'):
    -            response = self.fetch(
    -                '/echo', method="POST",
    -                headers={'Content-Type': 'application/x-www-form-urlencoded'},
    -                body=b'\xe9')
    -        self.assertEqual(200, response.code)
    -        self.assertEqual(b'{}', response.body)
    -
    -
    -class HTTPServerRawTest(AsyncHTTPTestCase):
    -    def get_app(self):
    -        return Application([
    -            ('/echo', EchoHandler),
    -        ])
    -
    -    def setUp(self):
    -        super(HTTPServerRawTest, self).setUp()
    -        self.stream = IOStream(socket.socket())
    -        self.stream.connect(('127.0.0.1', self.get_http_port()), self.stop)
    -        self.wait()
    -
    -    def tearDown(self):
    -        self.stream.close()
    -        super(HTTPServerRawTest, self).tearDown()
    -
    -    def test_empty_request(self):
    -        self.stream.close()
    -        self.io_loop.add_timeout(datetime.timedelta(seconds=0.001), self.stop)
    -        self.wait()
    -
    -    def test_malformed_first_line(self):
    -        with ExpectLog(gen_log, '.*Malformed HTTP request line'):
    -            self.stream.write(b'asdf\r\n\r\n')
    -            # TODO: need an async version of ExpectLog so we don't need
    -            # hard-coded timeouts here.
    -            self.io_loop.add_timeout(datetime.timedelta(seconds=0.01),
    -                                     self.stop)
    -            self.wait()
    -
    -    def test_malformed_headers(self):
    -        with ExpectLog(gen_log, '.*Malformed HTTP headers'):
    -            self.stream.write(b'GET / HTTP/1.0\r\nasdf\r\n\r\n')
    -            self.io_loop.add_timeout(datetime.timedelta(seconds=0.01),
    -                                     self.stop)
    -            self.wait()
    -
    -    def test_chunked_request_body(self):
    -        # Chunked requests are not widely supported and we don't have a way
    -        # to generate them in AsyncHTTPClient, but HTTPServer will read them.
    -        self.stream.write(b"""\
    -POST /echo HTTP/1.1
    -Transfer-Encoding: chunked
    -Content-Type: application/x-www-form-urlencoded
    -
    -4
    -foo=
    -3
    -bar
    -0
    -
    -""".replace(b"\n", b"\r\n"))
    -        read_stream_body(self.stream, self.stop)
    -        headers, response = self.wait()
    -        self.assertEqual(json_decode(response), {u('foo'): [u('bar')]})
    -
    -
    -class XHeaderTest(HandlerBaseTestCase):
    -    class Handler(RequestHandler):
    -        def get(self):
    -            self.write(dict(remote_ip=self.request.remote_ip,
    -                            remote_protocol=self.request.protocol))
    -
    -    def get_httpserver_options(self):
    -        return dict(xheaders=True)
    -
    -    def test_ip_headers(self):
    -        self.assertEqual(self.fetch_json("/")["remote_ip"], "127.0.0.1")
    -
    -        valid_ipv4 = {"X-Real-IP": "4.4.4.4"}
    -        self.assertEqual(
    -            self.fetch_json("/", headers=valid_ipv4)["remote_ip"],
    -            "4.4.4.4")
    -
    -        valid_ipv4_list = {"X-Forwarded-For": "127.0.0.1, 4.4.4.4"}
    -        self.assertEqual(
    -            self.fetch_json("/", headers=valid_ipv4_list)["remote_ip"],
    -            "4.4.4.4")
    -
    -        valid_ipv6 = {"X-Real-IP": "2620:0:1cfe:face:b00c::3"}
    -        self.assertEqual(
    -            self.fetch_json("/", headers=valid_ipv6)["remote_ip"],
    -            "2620:0:1cfe:face:b00c::3")
    -
    -        valid_ipv6_list = {"X-Forwarded-For": "::1, 2620:0:1cfe:face:b00c::3"}
    -        self.assertEqual(
    -            self.fetch_json("/", headers=valid_ipv6_list)["remote_ip"],
    -            "2620:0:1cfe:face:b00c::3")
    -
    -        invalid_chars = {"X-Real-IP": "4.4.4.4
    -
    -'
    -                         for p in paths)
    -            sloc = html.rindex(b'')
    -            html = html[:sloc] + utf8(js) + b'\n' + html[sloc:]
    -        if js_embed:
    -            js = b''
    -            sloc = html.rindex(b'')
    -            html = html[:sloc] + js + b'\n' + html[sloc:]
    -        if css_files:
    -            paths = []
    -            unique_paths = set()
    -            for path in css_files:
    -                if not is_absolute(path):
    -                    path = self.static_url(path)
    -                if path not in unique_paths:
    -                    paths.append(path)
    -                    unique_paths.add(path)
    -            css = ''.join(''
    -                          for p in paths)
    -            hloc = html.index(b'')
    -            html = html[:hloc] + utf8(css) + b'\n' + html[hloc:]
    -        if css_embed:
    -            css = b''
    -            hloc = html.index(b'')
    -            html = html[:hloc] + css + b'\n' + html[hloc:]
    -        if html_heads:
    -            hloc = html.index(b'')
    -            html = html[:hloc] + b''.join(html_heads) + b'\n' + html[hloc:]
    -        if html_bodies:
    -            hloc = html.index(b'')
    -            html = html[:hloc] + b''.join(html_bodies) + b'\n' + html[hloc:]
    -        self.finish(html)
    -
    -    def render_string(self, template_name, **kwargs):
    -        """Generate the given template with the given arguments.
    -
    -        We return the generated byte string (in utf8). To generate and
    -        write a template as a response, use render() above.
    -        """
    -        # If no template_path is specified, use the path of the calling file
    -        template_path = self.get_template_path()
    -        if not template_path:
    -            frame = sys._getframe(0)
    -            web_file = frame.f_code.co_filename
    -            while frame.f_code.co_filename == web_file:
    -                frame = frame.f_back
    -            template_path = os.path.dirname(frame.f_code.co_filename)
    -        with RequestHandler._template_loader_lock:
    -            if template_path not in RequestHandler._template_loaders:
    -                loader = self.create_template_loader(template_path)
    -                RequestHandler._template_loaders[template_path] = loader
    -            else:
    -                loader = RequestHandler._template_loaders[template_path]
    -        t = loader.load(template_name)
    -        namespace = self.get_template_namespace()
    -        namespace.update(kwargs)
    -        return t.generate(**namespace)
    -
    -    def get_template_namespace(self):
    -        """Returns a dictionary to be used as the default template namespace.
    -
    -        May be overridden by subclasses to add or modify values.
    -
    -        The results of this method will be combined with additional
    -        defaults in the `tornado.template` module and keyword arguments
    -        to `render` or `render_string`.
    -        """
    -        namespace = dict(
    -            handler=self,
    -            request=self.request,
    -            current_user=self.current_user,
    -            locale=self.locale,
    -            _=self.locale.translate,
    -            pgettext=self.locale.pgettext,
    -            static_url=self.static_url,
    -            xsrf_form_html=self.xsrf_form_html,
    -            reverse_url=self.reverse_url
    -        )
    -        namespace.update(self.ui)
    -        return namespace
    -
    -    def create_template_loader(self, template_path):
    -        """Returns a new template loader for the given path.
    -
    -        May be overridden by subclasses.  By default returns a
    -        directory-based loader on the given path, using the
    -        ``autoescape`` and ``template_whitespace`` application
    -        settings.  If a ``template_loader`` application setting is
    -        supplied, uses that instead.
    -        """
    -        settings = self.application.settings
    -        if "template_loader" in settings:
    -            return settings["template_loader"]
    -        kwargs = {}
    -        if "autoescape" in settings:
    -            # autoescape=None means "no escaping", so we have to be sure
    -            # to only pass this kwarg if the user asked for it.
    -            kwargs["autoescape"] = settings["autoescape"]
    -        if "template_whitespace" in settings:
    -            kwargs["whitespace"] = settings["template_whitespace"]
    -        return template.Loader(template_path, **kwargs)
    -
    -    def flush(self, include_footers=False, callback=None):
    -        """Flushes the current output buffer to the network.
    -
    -        The ``callback`` argument, if given, can be used for flow control:
    -        it will be run when all flushed data has been written to the socket.
    -        Note that only one flush callback can be outstanding at a time;
    -        if another flush occurs before the previous flush's callback
    -        has been run, the previous callback will be discarded.
    -
    -        .. versionchanged:: 4.0
    -           Now returns a `.Future` if no callback is given.
    -        """
    -        chunk = b"".join(self._write_buffer)
    -        self._write_buffer = []
    -        if not self._headers_written:
    -            self._headers_written = True
    -            for transform in self._transforms:
    -                self._status_code, self._headers, chunk = \
    -                    transform.transform_first_chunk(
    -                        self._status_code, self._headers,
    -                        chunk, include_footers)
    -            # Ignore the chunk and only write the headers for HEAD requests
    -            if self.request.method == "HEAD":
    -                chunk = None
    -
    -            # Finalize the cookie headers (which have been stored in a side
    -            # object so an outgoing cookie could be overwritten before it
    -            # is sent).
    -            if hasattr(self, "_new_cookie"):
    -                for cookie in self._new_cookie.values():
    -                    self.add_header("Set-Cookie", cookie.OutputString(None))
    -
    -            start_line = httputil.ResponseStartLine('',
    -                                                    self._status_code,
    -                                                    self._reason)
    -            return self.request.connection.write_headers(
    -                start_line, self._headers, chunk, callback=callback)
    -        else:
    -            for transform in self._transforms:
    -                chunk = transform.transform_chunk(chunk, include_footers)
    -            # Ignore the chunk and only write the headers for HEAD requests
    -            if self.request.method != "HEAD":
    -                return self.request.connection.write(chunk, callback=callback)
    -            else:
    -                future = Future()
    -                future.set_result(None)
    -                return future
    -
    -    def finish(self, chunk=None):
    -        """Finishes this response, ending the HTTP request."""
    -        if self._finished:
    -            raise RuntimeError("finish() called twice")
    -
    -        if chunk is not None:
    -            self.write(chunk)
    -
    -        # Automatically support ETags and add the Content-Length header if
    -        # we have not flushed any content yet.
    -        if not self._headers_written:
    -            if (self._status_code == 200 and
    -                self.request.method in ("GET", "HEAD") and
    -                    "Etag" not in self._headers):
    -                self.set_etag_header()
    -                if self.check_etag_header():
    -                    self._write_buffer = []
    -                    self.set_status(304)
    -            if self._status_code == 304:
    -                assert not self._write_buffer, "Cannot send body with 304"
    -                self._clear_headers_for_304()
    -            elif "Content-Length" not in self._headers:
    -                content_length = sum(len(part) for part in self._write_buffer)
    -                self.set_header("Content-Length", content_length)
    -
    -        if hasattr(self.request, "connection"):
    -            # Now that the request is finished, clear the callback we
    -            # set on the HTTPConnection (which would otherwise prevent the
    -            # garbage collection of the RequestHandler when there
    -            # are keepalive connections)
    -            self.request.connection.set_close_callback(None)
    -
    -        self.flush(include_footers=True)
    -        self.request.finish()
    -        self._log()
    -        self._finished = True
    -        self.on_finish()
    -        # Break up a reference cycle between this handler and the
    -        # _ui_module closures to allow for faster GC on CPython.
    -        self.ui = None
    -
    -    def send_error(self, status_code=500, **kwargs):
    -        """Sends the given HTTP error code to the browser.
    -
    -        If `flush()` has already been called, it is not possible to send
    -        an error, so this method will simply terminate the response.
    -        If output has been written but not yet flushed, it will be discarded
    -        and replaced with the error page.
    -
    -        Override `write_error()` to customize the error page that is returned.
    -        Additional keyword arguments are passed through to `write_error`.
    -        """
    -        if self._headers_written:
    -            gen_log.error("Cannot send error response after headers written")
    -            if not self._finished:
    -                # If we get an error between writing headers and finishing,
    -                # we are unlikely to be able to finish due to a
    -                # Content-Length mismatch. Try anyway to release the
    -                # socket.
    -                try:
    -                    self.finish()
    -                except Exception:
    -                    gen_log.error("Failed to flush partial response",
    -                                  exc_info=True)
    -            return
    -        self.clear()
    -
    -        reason = kwargs.get('reason')
    -        if 'exc_info' in kwargs:
    -            exception = kwargs['exc_info'][1]
    -            if isinstance(exception, HTTPError) and exception.reason:
    -                reason = exception.reason
    -        self.set_status(status_code, reason=reason)
    -        try:
    -            self.write_error(status_code, **kwargs)
    -        except Exception:
    -            app_log.error("Uncaught exception in write_error", exc_info=True)
    -        if not self._finished:
    -            self.finish()
    -
    -    def write_error(self, status_code, **kwargs):
    -        """Override to implement custom error pages.
    -
    -        ``write_error`` may call `write`, `render`, `set_header`, etc
    -        to produce output as usual.
    -
    -        If this error was caused by an uncaught exception (including
    -        HTTPError), an ``exc_info`` triple will be available as
    -        ``kwargs["exc_info"]``.  Note that this exception may not be
    -        the "current" exception for purposes of methods like
    -        ``sys.exc_info()`` or ``traceback.format_exc``.
    -        """
    -        if self.settings.get("serve_traceback") and "exc_info" in kwargs:
    -            # in debug mode, try to send a traceback
    -            self.set_header('Content-Type', 'text/plain')
    -            for line in traceback.format_exception(*kwargs["exc_info"]):
    -                self.write(line)
    -            self.finish()
    -        else:
    -            self.finish("%(code)d: %(message)s"
    -                        "%(code)d: %(message)s" % {
    -                            "code": status_code,
    -                            "message": self._reason,
    -                        })
    -
    -    @property
    -    def locale(self):
    -        """The locale for the current session.
    -
    -        Determined by either `get_user_locale`, which you can override to
    -        set the locale based on, e.g., a user preference stored in a
    -        database, or `get_browser_locale`, which uses the ``Accept-Language``
    -        header.
    -
    -        .. versionchanged: 4.1
    -           Added a property setter.
    -        """
    -        if not hasattr(self, "_locale"):
    -            self._locale = self.get_user_locale()
    -            if not self._locale:
    -                self._locale = self.get_browser_locale()
    -                assert self._locale
    -        return self._locale
    -
    -    @locale.setter
    -    def locale(self, value):
    -        self._locale = value
    -
    -    def get_user_locale(self):
    -        """Override to determine the locale from the authenticated user.
    -
    -        If None is returned, we fall back to `get_browser_locale()`.
    -
    -        This method should return a `tornado.locale.Locale` object,
    -        most likely obtained via a call like ``tornado.locale.get("en")``
    -        """
    -        return None
    -
    -    def get_browser_locale(self, default="en_US"):
    -        """Determines the user's locale from ``Accept-Language`` header.
    -
    -        See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4
    -        """
    -        if "Accept-Language" in self.request.headers:
    -            languages = self.request.headers["Accept-Language"].split(",")
    -            locales = []
    -            for language in languages:
    -                parts = language.strip().split(";")
    -                if len(parts) > 1 and parts[1].startswith("q="):
    -                    try:
    -                        score = float(parts[1][2:])
    -                    except (ValueError, TypeError):
    -                        score = 0.0
    -                else:
    -                    score = 1.0
    -                locales.append((parts[0], score))
    -            if locales:
    -                locales.sort(key=lambda pair: pair[1], reverse=True)
    -                codes = [l[0] for l in locales]
    -                return locale.get(*codes)
    -        return locale.get(default)
    -
    -    @property
    -    def current_user(self):
    -        """The authenticated user for this request.
    -
    -        This is set in one of two ways:
    -
    -        * A subclass may override `get_current_user()`, which will be called
    -          automatically the first time ``self.current_user`` is accessed.
    -          `get_current_user()` will only be called once per request,
    -          and is cached for future access::
    -
    -              def get_current_user(self):
    -                  user_cookie = self.get_secure_cookie("user")
    -                      if user_cookie:
    -                          return json.loads(user_cookie)
    -                  return None
    -
    -        * It may be set as a normal variable, typically from an overridden
    -          `prepare()`::
    -
    -              @gen.coroutine
    -              def prepare(self):
    -                  user_id_cookie = self.get_secure_cookie("user_id")
    -                  if user_id_cookie:
    -                      self.current_user = yield load_user(user_id_cookie)
    -
    -        Note that `prepare()` may be a coroutine while `get_current_user()`
    -        may not, so the latter form is necessary if loading the user requires
    -        asynchronous operations.
    -
    -        The user object may any type of the application's choosing.
    -        """
    -        if not hasattr(self, "_current_user"):
    -            self._current_user = self.get_current_user()
    -        return self._current_user
    -
    -    @current_user.setter
    -    def current_user(self, value):
    -        self._current_user = value
    -
    -    def get_current_user(self):
    -        """Override to determine the current user from, e.g., a cookie.
    -
    -        This method may not be a coroutine.
    -        """
    -        return None
    -
    -    def get_login_url(self):
    -        """Override to customize the login URL based on the request.
    -
    -        By default, we use the ``login_url`` application setting.
    -        """
    -        self.require_setting("login_url", "@tornado.web.authenticated")
    -        return self.application.settings["login_url"]
    -
    -    def get_template_path(self):
    -        """Override to customize template path for each handler.
    -
    -        By default, we use the ``template_path`` application setting.
    -        Return None to load templates relative to the calling file.
    -        """
    -        return self.application.settings.get("template_path")
    -
    -    @property
    -    def xsrf_token(self):
    -        """The XSRF-prevention token for the current user/session.
    -
    -        To prevent cross-site request forgery, we set an '_xsrf' cookie
    -        and include the same '_xsrf' value as an argument with all POST
    -        requests. If the two do not match, we reject the form submission
    -        as a potential forgery.
    -
    -        See http://en.wikipedia.org/wiki/Cross-site_request_forgery
    -
    -        .. versionchanged:: 3.2.2
    -           The xsrf token will now be have a random mask applied in every
    -           request, which makes it safe to include the token in pages
    -           that are compressed.  See http://breachattack.com for more
    -           information on the issue fixed by this change.  Old (version 1)
    -           cookies will be converted to version 2 when this method is called
    -           unless the ``xsrf_cookie_version`` `Application` setting is
    -           set to 1.
    -
    -        .. versionchanged:: 4.3
    -           The ``xsrf_cookie_kwargs`` `Application` setting may be
    -           used to supply additional cookie options (which will be
    -           passed directly to `set_cookie`). For example,
    -           ``xsrf_cookie_kwargs=dict(httponly=True, secure=True)``
    -           will set the ``secure`` and ``httponly`` flags on the
    -           ``_xsrf`` cookie.
    -        """
    -        if not hasattr(self, "_xsrf_token"):
    -            version, token, timestamp = self._get_raw_xsrf_token()
    -            output_version = self.settings.get("xsrf_cookie_version", 2)
    -            cookie_kwargs = self.settings.get("xsrf_cookie_kwargs", {})
    -            if output_version == 1:
    -                self._xsrf_token = binascii.b2a_hex(token)
    -            elif output_version == 2:
    -                mask = os.urandom(4)
    -                self._xsrf_token = b"|".join([
    -                    b"2",
    -                    binascii.b2a_hex(mask),
    -                    binascii.b2a_hex(_websocket_mask(mask, token)),
    -                    utf8(str(int(timestamp)))])
    -            else:
    -                raise ValueError("unknown xsrf cookie version %d",
    -                                 output_version)
    -            if version is None:
    -                expires_days = 30 if self.current_user else None
    -                self.set_cookie("_xsrf", self._xsrf_token,
    -                                expires_days=expires_days,
    -                                **cookie_kwargs)
    -        return self._xsrf_token
    -
    -    def _get_raw_xsrf_token(self):
    -        """Read or generate the xsrf token in its raw form.
    -
    -        The raw_xsrf_token is a tuple containing:
    -
    -        * version: the version of the cookie from which this token was read,
    -          or None if we generated a new token in this request.
    -        * token: the raw token data; random (non-ascii) bytes.
    -        * timestamp: the time this token was generated (will not be accurate
    -          for version 1 cookies)
    -        """
    -        if not hasattr(self, '_raw_xsrf_token'):
    -            cookie = self.get_cookie("_xsrf")
    -            if cookie:
    -                version, token, timestamp = self._decode_xsrf_token(cookie)
    -            else:
    -                version, token, timestamp = None, None, None
    -            if token is None:
    -                version = None
    -                token = os.urandom(16)
    -                timestamp = time.time()
    -            self._raw_xsrf_token = (version, token, timestamp)
    -        return self._raw_xsrf_token
    -
    -    def _decode_xsrf_token(self, cookie):
    -        """Convert a cookie string into a the tuple form returned by
    -        _get_raw_xsrf_token.
    -        """
    -
    -        try:
    -            m = _signed_value_version_re.match(utf8(cookie))
    -
    -            if m:
    -                version = int(m.group(1))
    -                if version == 2:
    -                    _, mask, masked_token, timestamp = cookie.split("|")
    -
    -                    mask = binascii.a2b_hex(utf8(mask))
    -                    token = _websocket_mask(
    -                        mask, binascii.a2b_hex(utf8(masked_token)))
    -                    timestamp = int(timestamp)
    -                    return version, token, timestamp
    -                else:
    -                    # Treat unknown versions as not present instead of failing.
    -                    raise Exception("Unknown xsrf cookie version")
    -            else:
    -                version = 1
    -                try:
    -                    token = binascii.a2b_hex(utf8(cookie))
    -                except (binascii.Error, TypeError):
    -                    token = utf8(cookie)
    -                # We don't have a usable timestamp in older versions.
    -                timestamp = int(time.time())
    -                return (version, token, timestamp)
    -        except Exception:
    -            # Catch exceptions and return nothing instead of failing.
    -            gen_log.debug("Uncaught exception in _decode_xsrf_token",
    -                          exc_info=True)
    -            return None, None, None
    -
    -    def check_xsrf_cookie(self):
    -        """Verifies that the ``_xsrf`` cookie matches the ``_xsrf`` argument.
    -
    -        To prevent cross-site request forgery, we set an ``_xsrf``
    -        cookie and include the same value as a non-cookie
    -        field with all ``POST`` requests. If the two do not match, we
    -        reject the form submission as a potential forgery.
    -
    -        The ``_xsrf`` value may be set as either a form field named ``_xsrf``
    -        or in a custom HTTP header named ``X-XSRFToken`` or ``X-CSRFToken``
    -        (the latter is accepted for compatibility with Django).
    -
    -        See http://en.wikipedia.org/wiki/Cross-site_request_forgery
    -
    -        Prior to release 1.1.1, this check was ignored if the HTTP header
    -        ``X-Requested-With: XMLHTTPRequest`` was present.  This exception
    -        has been shown to be insecure and has been removed.  For more
    -        information please see
    -        http://www.djangoproject.com/weblog/2011/feb/08/security/
    -        http://weblog.rubyonrails.org/2011/2/8/csrf-protection-bypass-in-ruby-on-rails
    -
    -        .. versionchanged:: 3.2.2
    -           Added support for cookie version 2.  Both versions 1 and 2 are
    -           supported.
    -        """
    -        token = (self.get_argument("_xsrf", None) or
    -                 self.request.headers.get("X-Xsrftoken") or
    -                 self.request.headers.get("X-Csrftoken"))
    -        if not token:
    -            raise HTTPError(403, "'_xsrf' argument missing from POST")
    -        _, token, _ = self._decode_xsrf_token(token)
    -        _, expected_token, _ = self._get_raw_xsrf_token()
    -        if not _time_independent_equals(utf8(token), utf8(expected_token)):
    -            raise HTTPError(403, "XSRF cookie does not match POST argument")
    -
    -    def xsrf_form_html(self):
    -        """An HTML ```` element to be included with all POST forms.
    -
    -        It defines the ``_xsrf`` input value, which we check on all POST
    -        requests to prevent cross-site request forgery. If you have set
    -        the ``xsrf_cookies`` application setting, you must include this
    -        HTML within all of your HTML forms.
    -
    -        In a template, this method should be called with ``{% module
    -        xsrf_form_html() %}``
    -
    -        See `check_xsrf_cookie()` above for more information.
    -        """
    -        return ''
    -
    -    def static_url(self, path, include_host=None, **kwargs):
    -        """Returns a static URL for the given relative static file path.
    -
    -        This method requires you set the ``static_path`` setting in your
    -        application (which specifies the root directory of your static
    -        files).
    -
    -        This method returns a versioned url (by default appending
    -        ``?v=``), which allows the static files to be
    -        cached indefinitely.  This can be disabled by passing
    -        ``include_version=False`` (in the default implementation;
    -        other static file implementations are not required to support
    -        this, but they may support other options).
    -
    -        By default this method returns URLs relative to the current
    -        host, but if ``include_host`` is true the URL returned will be
    -        absolute.  If this handler has an ``include_host`` attribute,
    -        that value will be used as the default for all `static_url`
    -        calls that do not pass ``include_host`` as a keyword argument.
    -
    -        """
    -        self.require_setting("static_path", "static_url")
    -        get_url = self.settings.get("static_handler_class",
    -                                    StaticFileHandler).make_static_url
    -
    -        if include_host is None:
    -            include_host = getattr(self, "include_host", False)
    -
    -        if include_host:
    -            base = self.request.protocol + "://" + self.request.host
    -        else:
    -            base = ""
    -
    -        return base + get_url(self.settings, path, **kwargs)
    -
    -    def require_setting(self, name, feature="this feature"):
    -        """Raises an exception if the given app setting is not defined."""
    -        if not self.application.settings.get(name):
    -            raise Exception("You must define the '%s' setting in your "
    -                            "application to use %s" % (name, feature))
    -
    -    def reverse_url(self, name, *args):
    -        """Alias for `Application.reverse_url`."""
    -        return self.application.reverse_url(name, *args)
    -
    -    def compute_etag(self):
    -        """Computes the etag header to be used for this request.
    -
    -        By default uses a hash of the content written so far.
    -
    -        May be overridden to provide custom etag implementations,
    -        or may return None to disable tornado's default etag support.
    -        """
    -        hasher = hashlib.sha1()
    -        for part in self._write_buffer:
    -            hasher.update(part)
    -        return '"%s"' % hasher.hexdigest()
    -
    -    def set_etag_header(self):
    -        """Sets the response's Etag header using ``self.compute_etag()``.
    -
    -        Note: no header will be set if ``compute_etag()`` returns ``None``.
    -
    -        This method is called automatically when the request is finished.
    -        """
    -        etag = self.compute_etag()
    -        if etag is not None:
    -            self.set_header("Etag", etag)
    -
    -    def check_etag_header(self):
    -        """Checks the ``Etag`` header against requests's ``If-None-Match``.
    -
    -        Returns ``True`` if the request's Etag matches and a 304 should be
    -        returned. For example::
    -
    -            self.set_etag_header()
    -            if self.check_etag_header():
    -                self.set_status(304)
    -                return
    -
    -        This method is called automatically when the request is finished,
    -        but may be called earlier for applications that override
    -        `compute_etag` and want to do an early check for ``If-None-Match``
    -        before completing the request.  The ``Etag`` header should be set
    -        (perhaps with `set_etag_header`) before calling this method.
    -        """
    -        computed_etag = utf8(self._headers.get("Etag", ""))
    -        # Find all weak and strong etag values from If-None-Match header
    -        # because RFC 7232 allows multiple etag values in a single header.
    -        etags = re.findall(
    -            br'\*|(?:W/)?"[^"]*"',
    -            utf8(self.request.headers.get("If-None-Match", ""))
    -        )
    -        if not computed_etag or not etags:
    -            return False
    -
    -        match = False
    -        if etags[0] == b'*':
    -            match = True
    -        else:
    -            # Use a weak comparison when comparing entity-tags.
    -            val = lambda x: x[2:] if x.startswith(b'W/') else x
    -            for etag in etags:
    -                if val(etag) == val(computed_etag):
    -                    match = True
    -                    break
    -        return match
    -
    -    def _stack_context_handle_exception(self, type, value, traceback):
    -        try:
    -            # For historical reasons _handle_request_exception only takes
    -            # the exception value instead of the full triple,
    -            # so re-raise the exception to ensure that it's in
    -            # sys.exc_info()
    -            raise_exc_info((type, value, traceback))
    -        except Exception:
    -            self._handle_request_exception(value)
    -        return True
    -
    -    @gen.coroutine
    -    def _execute(self, transforms, *args, **kwargs):
    -        """Executes this request with the given output transforms."""
    -        self._transforms = transforms
    -        try:
    -            if self.request.method not in self.SUPPORTED_METHODS:
    -                raise HTTPError(405)
    -            self.path_args = [self.decode_argument(arg) for arg in args]
    -            self.path_kwargs = dict((k, self.decode_argument(v, name=k))
    -                                    for (k, v) in kwargs.items())
    -            # If XSRF cookies are turned on, reject form submissions without
    -            # the proper cookie
    -            if self.request.method not in ("GET", "HEAD", "OPTIONS") and \
    -                    self.application.settings.get("xsrf_cookies"):
    -                self.check_xsrf_cookie()
    -
    -            result = self.prepare()
    -            if result is not None:
    -                result = yield result
    -            if self._prepared_future is not None:
    -                # Tell the Application we've finished with prepare()
    -                # and are ready for the body to arrive.
    -                self._prepared_future.set_result(None)
    -            if self._finished:
    -                return
    -
    -            if _has_stream_request_body(self.__class__):
    -                # In streaming mode request.body is a Future that signals
    -                # the body has been completely received.  The Future has no
    -                # result; the data has been passed to self.data_received
    -                # instead.
    -                try:
    -                    yield self.request.body
    -                except iostream.StreamClosedError:
    -                    return
    -
    -            method = getattr(self, self.request.method.lower())
    -            result = method(*self.path_args, **self.path_kwargs)
    -            if result is not None:
    -                result = yield result
    -            if self._auto_finish and not self._finished:
    -                self.finish()
    -        except Exception as e:
    -            try:
    -                self._handle_request_exception(e)
    -            except Exception:
    -                app_log.error("Exception in exception handler", exc_info=True)
    -            if (self._prepared_future is not None and
    -                    not self._prepared_future.done()):
    -                # In case we failed before setting _prepared_future, do it
    -                # now (to unblock the HTTP server).  Note that this is not
    -                # in a finally block to avoid GC issues prior to Python 3.4.
    -                self._prepared_future.set_result(None)
    -
    -    def data_received(self, chunk):
    -        """Implement this method to handle streamed request data.
    -
    -        Requires the `.stream_request_body` decorator.
    -        """
    -        raise NotImplementedError()
    -
    -    def _log(self):
    -        """Logs the current request.
    -
    -        Sort of deprecated since this functionality was moved to the
    -        Application, but left in place for the benefit of existing apps
    -        that have overridden this method.
    -        """
    -        self.application.log_request(self)
    -
    -    def _request_summary(self):
    -        return "%s %s (%s)" % (self.request.method, self.request.uri,
    -                               self.request.remote_ip)
    -
    -    def _handle_request_exception(self, e):
    -        if isinstance(e, Finish):
    -            # Not an error; just finish the request without logging.
    -            if not self._finished:
    -                self.finish(*e.args)
    -            return
    -        try:
    -            self.log_exception(*sys.exc_info())
    -        except Exception:
    -            # An error here should still get a best-effort send_error()
    -            # to avoid leaking the connection.
    -            app_log.error("Error in exception logger", exc_info=True)
    -        if self._finished:
    -            # Extra errors after the request has been finished should
    -            # be logged, but there is no reason to continue to try and
    -            # send a response.
    -            return
    -        if isinstance(e, HTTPError):
    -            if e.status_code not in httputil.responses and not e.reason:
    -                gen_log.error("Bad HTTP status code: %d", e.status_code)
    -                self.send_error(500, exc_info=sys.exc_info())
    -            else:
    -                self.send_error(e.status_code, exc_info=sys.exc_info())
    -        else:
    -            self.send_error(500, exc_info=sys.exc_info())
    -
    -    def log_exception(self, typ, value, tb):
    -        """Override to customize logging of uncaught exceptions.
    -
    -        By default logs instances of `HTTPError` as warnings without
    -        stack traces (on the ``tornado.general`` logger), and all
    -        other exceptions as errors with stack traces (on the
    -        ``tornado.application`` logger).
    -
    -        .. versionadded:: 3.1
    -        """
    -        if isinstance(value, HTTPError):
    -            if value.log_message:
    -                format = "%d %s: " + value.log_message
    -                args = ([value.status_code, self._request_summary()] +
    -                        list(value.args))
    -                gen_log.warning(format, *args)
    -        else:
    -            app_log.error("Uncaught exception %s\n%r", self._request_summary(),
    -                          self.request, exc_info=(typ, value, tb))
    -
    -    def _ui_module(self, name, module):
    -        def render(*args, **kwargs):
    -            if not hasattr(self, "_active_modules"):
    -                self._active_modules = {}
    -            if name not in self._active_modules:
    -                self._active_modules[name] = module(self)
    -            rendered = self._active_modules[name].render(*args, **kwargs)
    -            return rendered
    -        return render
    -
    -    def _ui_method(self, method):
    -        return lambda *args, **kwargs: method(self, *args, **kwargs)
    -
    -    def _clear_headers_for_304(self):
    -        # 304 responses should not contain entity headers (defined in
    -        # http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7.1)
    -        # not explicitly allowed by
    -        # http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5
    -        headers = ["Allow", "Content-Encoding", "Content-Language",
    -                   "Content-Length", "Content-MD5", "Content-Range",
    -                   "Content-Type", "Last-Modified"]
    -        for h in headers:
    -            self.clear_header(h)
    -
    -
    -def asynchronous(method):
    -    """Wrap request handler methods with this if they are asynchronous.
    -
    -    This decorator is for callback-style asynchronous methods; for
    -    coroutines, use the ``@gen.coroutine`` decorator without
    -    ``@asynchronous``. (It is legal for legacy reasons to use the two
    -    decorators together provided ``@asynchronous`` is first, but
    -    ``@asynchronous`` will be ignored in this case)
    -
    -    This decorator should only be applied to the :ref:`HTTP verb
    -    methods `; its behavior is undefined for any other method.
    -    This decorator does not *make* a method asynchronous; it tells
    -    the framework that the method *is* asynchronous.  For this decorator
    -    to be useful the method must (at least sometimes) do something
    -    asynchronous.
    -
    -    If this decorator is given, the response is not finished when the
    -    method returns. It is up to the request handler to call
    -    `self.finish() ` to finish the HTTP
    -    request. Without this decorator, the request is automatically
    -    finished when the ``get()`` or ``post()`` method returns. Example:
    -
    -    .. testcode::
    -
    -       class MyRequestHandler(RequestHandler):
    -           @asynchronous
    -           def get(self):
    -              http = httpclient.AsyncHTTPClient()
    -              http.fetch("http://friendfeed.com/", self._on_download)
    -
    -           def _on_download(self, response):
    -              self.write("Downloaded!")
    -              self.finish()
    -
    -    .. testoutput::
    -       :hide:
    -
    -    .. versionchanged:: 3.1
    -       The ability to use ``@gen.coroutine`` without ``@asynchronous``.
    -
    -    .. versionchanged:: 4.3 Returning anything but ``None`` or a
    -       yieldable object from a method decorated with ``@asynchronous``
    -       is an error. Such return values were previously ignored silently.
    -    """
    -    # Delay the IOLoop import because it's not available on app engine.
    -    from tornado.ioloop import IOLoop
    -
    -    @functools.wraps(method)
    -    def wrapper(self, *args, **kwargs):
    -        self._auto_finish = False
    -        with stack_context.ExceptionStackContext(
    -                self._stack_context_handle_exception):
    -            result = method(self, *args, **kwargs)
    -            if result is not None:
    -                result = gen.convert_yielded(result)
    -                # If @asynchronous is used with @gen.coroutine, (but
    -                # not @gen.engine), we can automatically finish the
    -                # request when the future resolves.  Additionally,
    -                # the Future will swallow any exceptions so we need
    -                # to throw them back out to the stack context to finish
    -                # the request.
    -                def future_complete(f):
    -                    f.result()
    -                    if not self._finished:
    -                        self.finish()
    -                IOLoop.current().add_future(result, future_complete)
    -                # Once we have done this, hide the Future from our
    -                # caller (i.e. RequestHandler._when_complete), which
    -                # would otherwise set up its own callback and
    -                # exception handler (resulting in exceptions being
    -                # logged twice).
    -                return None
    -            return result
    -    return wrapper
    -
    -
    -def stream_request_body(cls):
    -    """Apply to `RequestHandler` subclasses to enable streaming body support.
    -
    -    This decorator implies the following changes:
    -
    -    * `.HTTPServerRequest.body` is undefined, and body arguments will not
    -      be included in `RequestHandler.get_argument`.
    -    * `RequestHandler.prepare` is called when the request headers have been
    -      read instead of after the entire body has been read.
    -    * The subclass must define a method ``data_received(self, data):``, which
    -      will be called zero or more times as data is available.  Note that
    -      if the request has an empty body, ``data_received`` may not be called.
    -    * ``prepare`` and ``data_received`` may return Futures (such as via
    -      ``@gen.coroutine``, in which case the next method will not be called
    -      until those futures have completed.
    -    * The regular HTTP method (``post``, ``put``, etc) will be called after
    -      the entire body has been read.
    -
    -    There is a subtle interaction between ``data_received`` and asynchronous
    -    ``prepare``: The first call to ``data_received`` may occur at any point
    -    after the call to ``prepare`` has returned *or yielded*.
    -    """
    -    if not issubclass(cls, RequestHandler):
    -        raise TypeError("expected subclass of RequestHandler, got %r", cls)
    -    cls._stream_request_body = True
    -    return cls
    -
    -
    -def _has_stream_request_body(cls):
    -    if not issubclass(cls, RequestHandler):
    -        raise TypeError("expected subclass of RequestHandler, got %r", cls)
    -    return getattr(cls, '_stream_request_body', False)
    -
    -
    -def removeslash(method):
    -    """Use this decorator to remove trailing slashes from the request path.
    -
    -    For example, a request to ``/foo/`` would redirect to ``/foo`` with this
    -    decorator. Your request handler mapping should use a regular expression
    -    like ``r'/foo/*'`` in conjunction with using the decorator.
    -    """
    -    @functools.wraps(method)
    -    def wrapper(self, *args, **kwargs):
    -        if self.request.path.endswith("/"):
    -            if self.request.method in ("GET", "HEAD"):
    -                uri = self.request.path.rstrip("/")
    -                if uri:  # don't try to redirect '/' to ''
    -                    if self.request.query:
    -                        uri += "?" + self.request.query
    -                    self.redirect(uri, permanent=True)
    -                    return
    -            else:
    -                raise HTTPError(404)
    -        return method(self, *args, **kwargs)
    -    return wrapper
    -
    -
    -def addslash(method):
    -    """Use this decorator to add a missing trailing slash to the request path.
    -
    -    For example, a request to ``/foo`` would redirect to ``/foo/`` with this
    -    decorator. Your request handler mapping should use a regular expression
    -    like ``r'/foo/?'`` in conjunction with using the decorator.
    -    """
    -    @functools.wraps(method)
    -    def wrapper(self, *args, **kwargs):
    -        if not self.request.path.endswith("/"):
    -            if self.request.method in ("GET", "HEAD"):
    -                uri = self.request.path + "/"
    -                if self.request.query:
    -                    uri += "?" + self.request.query
    -                self.redirect(uri, permanent=True)
    -                return
    -            raise HTTPError(404)
    -        return method(self, *args, **kwargs)
    -    return wrapper
    -
    -
    -class Application(httputil.HTTPServerConnectionDelegate):
    -    """A collection of request handlers that make up a web application.
    -
    -    Instances of this class are callable and can be passed directly to
    -    HTTPServer to serve the application::
    -
    -        application = web.Application([
    -            (r"/", MainPageHandler),
    -        ])
    -        http_server = httpserver.HTTPServer(application)
    -        http_server.listen(8080)
    -        ioloop.IOLoop.current().start()
    -
    -    The constructor for this class takes in a list of `URLSpec` objects
    -    or (regexp, request_class) tuples. When we receive requests, we
    -    iterate over the list in order and instantiate an instance of the
    -    first request class whose regexp matches the request path.
    -    The request class can be specified as either a class object or a
    -    (fully-qualified) name.
    -
    -    Each tuple can contain additional elements, which correspond to the
    -    arguments to the `URLSpec` constructor.  (Prior to Tornado 3.2,
    -    only tuples of two or three elements were allowed).
    -
    -    A dictionary may be passed as the third element of the tuple,
    -    which will be used as keyword arguments to the handler's
    -    constructor and `~RequestHandler.initialize` method.  This pattern
    -    is used for the `StaticFileHandler` in this example (note that a
    -    `StaticFileHandler` can be installed automatically with the
    -    static_path setting described below)::
    -
    -        application = web.Application([
    -            (r"/static/(.*)", web.StaticFileHandler, {"path": "/var/www"}),
    -        ])
    -
    -    We support virtual hosts with the `add_handlers` method, which takes in
    -    a host regular expression as the first argument::
    -
    -        application.add_handlers(r"www\.myhost\.com", [
    -            (r"/article/([0-9]+)", ArticleHandler),
    -        ])
    -
    -    You can serve static files by sending the ``static_path`` setting
    -    as a keyword argument. We will serve those files from the
    -    ``/static/`` URI (this is configurable with the
    -    ``static_url_prefix`` setting), and we will serve ``/favicon.ico``
    -    and ``/robots.txt`` from the same directory.  A custom subclass of
    -    `StaticFileHandler` can be specified with the
    -    ``static_handler_class`` setting.
    -
    -    """
    -    def __init__(self, handlers=None, default_host="", transforms=None,
    -                 **settings):
    -        if transforms is None:
    -            self.transforms = []
    -            if settings.get("compress_response") or settings.get("gzip"):
    -                self.transforms.append(GZipContentEncoding)
    -        else:
    -            self.transforms = transforms
    -        self.handlers = []
    -        self.named_handlers = {}
    -        self.default_host = default_host
    -        self.settings = settings
    -        self.ui_modules = {'linkify': _linkify,
    -                           'xsrf_form_html': _xsrf_form_html,
    -                           'Template': TemplateModule,
    -                           }
    -        self.ui_methods = {}
    -        self._load_ui_modules(settings.get("ui_modules", {}))
    -        self._load_ui_methods(settings.get("ui_methods", {}))
    -        if self.settings.get("static_path"):
    -            path = self.settings["static_path"]
    -            handlers = list(handlers or [])
    -            static_url_prefix = settings.get("static_url_prefix",
    -                                             "/static/")
    -            static_handler_class = settings.get("static_handler_class",
    -                                                StaticFileHandler)
    -            static_handler_args = settings.get("static_handler_args", {})
    -            static_handler_args['path'] = path
    -            for pattern in [re.escape(static_url_prefix) + r"(.*)",
    -                            r"/(favicon\.ico)", r"/(robots\.txt)"]:
    -                handlers.insert(0, (pattern, static_handler_class,
    -                                    static_handler_args))
    -        if handlers:
    -            self.add_handlers(".*$", handlers)
    -
    -        if self.settings.get('debug'):
    -            self.settings.setdefault('autoreload', True)
    -            self.settings.setdefault('compiled_template_cache', False)
    -            self.settings.setdefault('static_hash_cache', False)
    -            self.settings.setdefault('serve_traceback', True)
    -
    -        # Automatically reload modified modules
    -        if self.settings.get('autoreload'):
    -            from tornado import autoreload
    -            autoreload.start()
    -
    -    def listen(self, port, address="", **kwargs):
    -        """Starts an HTTP server for this application on the given port.
    -
    -        This is a convenience alias for creating an `.HTTPServer`
    -        object and calling its listen method.  Keyword arguments not
    -        supported by `HTTPServer.listen <.TCPServer.listen>` are passed to the
    -        `.HTTPServer` constructor.  For advanced uses
    -        (e.g. multi-process mode), do not use this method; create an
    -        `.HTTPServer` and call its
    -        `.TCPServer.bind`/`.TCPServer.start` methods directly.
    -
    -        Note that after calling this method you still need to call
    -        ``IOLoop.current().start()`` to start the server.
    -
    -        Returns the `.HTTPServer` object.
    -
    -        .. versionchanged:: 4.3
    -           Now returns the `.HTTPServer` object.
    -        """
    -        # import is here rather than top level because HTTPServer
    -        # is not importable on appengine
    -        from tornado.httpserver import HTTPServer
    -        server = HTTPServer(self, **kwargs)
    -        server.listen(port, address)
    -        return server
    -
    -    def add_handlers(self, host_pattern, host_handlers):
    -        """Appends the given handlers to our handler list.
    -
    -        Host patterns are processed sequentially in the order they were
    -        added. All matching patterns will be considered.
    -        """
    -        if not host_pattern.endswith("$"):
    -            host_pattern += "$"
    -        handlers = []
    -        # The handlers with the wildcard host_pattern are a special
    -        # case - they're added in the constructor but should have lower
    -        # precedence than the more-precise handlers added later.
    -        # If a wildcard handler group exists, it should always be last
    -        # in the list, so insert new groups just before it.
    -        if self.handlers and self.handlers[-1][0].pattern == '.*$':
    -            self.handlers.insert(-1, (re.compile(host_pattern), handlers))
    -        else:
    -            self.handlers.append((re.compile(host_pattern), handlers))
    -
    -        for spec in host_handlers:
    -            if isinstance(spec, (tuple, list)):
    -                assert len(spec) in (2, 3, 4)
    -                spec = URLSpec(*spec)
    -            handlers.append(spec)
    -            if spec.name:
    -                if spec.name in self.named_handlers:
    -                    app_log.warning(
    -                        "Multiple handlers named %s; replacing previous value",
    -                        spec.name)
    -                self.named_handlers[spec.name] = spec
    -
    -    def add_transform(self, transform_class):
    -        self.transforms.append(transform_class)
    -
    -    def _get_host_handlers(self, request):
    -        host = split_host_and_port(request.host.lower())[0]
    -        matches = []
    -        for pattern, handlers in self.handlers:
    -            if pattern.match(host):
    -                matches.extend(handlers)
    -        # Look for default host if not behind load balancer (for debugging)
    -        if not matches and "X-Real-Ip" not in request.headers:
    -            for pattern, handlers in self.handlers:
    -                if pattern.match(self.default_host):
    -                    matches.extend(handlers)
    -        return matches or None
    -
    -    def _load_ui_methods(self, methods):
    -        if isinstance(methods, types.ModuleType):
    -            self._load_ui_methods(dict((n, getattr(methods, n))
    -                                       for n in dir(methods)))
    -        elif isinstance(methods, list):
    -            for m in methods:
    -                self._load_ui_methods(m)
    -        else:
    -            for name, fn in methods.items():
    -                if not name.startswith("_") and hasattr(fn, "__call__") \
    -                        and name[0].lower() == name[0]:
    -                    self.ui_methods[name] = fn
    -
    -    def _load_ui_modules(self, modules):
    -        if isinstance(modules, types.ModuleType):
    -            self._load_ui_modules(dict((n, getattr(modules, n))
    -                                       for n in dir(modules)))
    -        elif isinstance(modules, list):
    -            for m in modules:
    -                self._load_ui_modules(m)
    -        else:
    -            assert isinstance(modules, dict)
    -            for name, cls in modules.items():
    -                try:
    -                    if issubclass(cls, UIModule):
    -                        self.ui_modules[name] = cls
    -                except TypeError:
    -                    pass
    -
    -    def start_request(self, server_conn, request_conn):
    -        # Modern HTTPServer interface
    -        return _RequestDispatcher(self, request_conn)
    -
    -    def __call__(self, request):
    -        # Legacy HTTPServer interface
    -        dispatcher = _RequestDispatcher(self, None)
    -        dispatcher.set_request(request)
    -        return dispatcher.execute()
    -
    -    def reverse_url(self, name, *args):
    -        """Returns a URL path for handler named ``name``
    -
    -        The handler must be added to the application as a named `URLSpec`.
    -
    -        Args will be substituted for capturing groups in the `URLSpec` regex.
    -        They will be converted to strings if necessary, encoded as utf8,
    -        and url-escaped.
    -        """
    -        if name in self.named_handlers:
    -            return self.named_handlers[name].reverse(*args)
    -        raise KeyError("%s not found in named urls" % name)
    -
    -    def log_request(self, handler):
    -        """Writes a completed HTTP request to the logs.
    -
    -        By default writes to the python root logger.  To change
    -        this behavior either subclass Application and override this method,
    -        or pass a function in the application settings dictionary as
    -        ``log_function``.
    -        """
    -        if "log_function" in self.settings:
    -            self.settings["log_function"](handler)
    -            return
    -        if handler.get_status() < 400:
    -            log_method = access_log.info
    -        elif handler.get_status() < 500:
    -            log_method = access_log.warning
    -        else:
    -            log_method = access_log.error
    -        request_time = 1000.0 * handler.request.request_time()
    -        log_method("%d %s %.2fms", handler.get_status(),
    -                   handler._request_summary(), request_time)
    -
    -
    -class _RequestDispatcher(httputil.HTTPMessageDelegate):
    -    def __init__(self, application, connection):
    -        self.application = application
    -        self.connection = connection
    -        self.request = None
    -        self.chunks = []
    -        self.handler_class = None
    -        self.handler_kwargs = None
    -        self.path_args = []
    -        self.path_kwargs = {}
    -
    -    def headers_received(self, start_line, headers):
    -        self.set_request(httputil.HTTPServerRequest(
    -            connection=self.connection, start_line=start_line,
    -            headers=headers))
    -        if self.stream_request_body:
    -            self.request.body = Future()
    -            return self.execute()
    -
    -    def set_request(self, request):
    -        self.request = request
    -        self._find_handler()
    -        self.stream_request_body = _has_stream_request_body(self.handler_class)
    -
    -    def _find_handler(self):
    -        # Identify the handler to use as soon as we have the request.
    -        # Save url path arguments for later.
    -        app = self.application
    -        handlers = app._get_host_handlers(self.request)
    -        if not handlers:
    -            self.handler_class = RedirectHandler
    -            self.handler_kwargs = dict(url="%s://%s/"
    -                                       % (self.request.protocol,
    -                                          app.default_host))
    -            return
    -        for spec in handlers:
    -            match = spec.regex.match(self.request.path)
    -            if match:
    -                self.handler_class = spec.handler_class
    -                self.handler_kwargs = spec.kwargs
    -                if spec.regex.groups:
    -                    # Pass matched groups to the handler.  Since
    -                    # match.groups() includes both named and
    -                    # unnamed groups, we want to use either groups
    -                    # or groupdict but not both.
    -                    if spec.regex.groupindex:
    -                        self.path_kwargs = dict(
    -                            (str(k), _unquote_or_none(v))
    -                            for (k, v) in match.groupdict().items())
    -                    else:
    -                        self.path_args = [_unquote_or_none(s)
    -                                          for s in match.groups()]
    -                return
    -        if app.settings.get('default_handler_class'):
    -            self.handler_class = app.settings['default_handler_class']
    -            self.handler_kwargs = app.settings.get(
    -                'default_handler_args', {})
    -        else:
    -            self.handler_class = ErrorHandler
    -            self.handler_kwargs = dict(status_code=404)
    -
    -    def data_received(self, data):
    -        if self.stream_request_body:
    -            return self.handler.data_received(data)
    -        else:
    -            self.chunks.append(data)
    -
    -    def finish(self):
    -        if self.stream_request_body:
    -            self.request.body.set_result(None)
    -        else:
    -            self.request.body = b''.join(self.chunks)
    -            self.request._parse_body()
    -            self.execute()
    -
    -    def on_connection_close(self):
    -        if self.stream_request_body:
    -            self.handler.on_connection_close()
    -        else:
    -            self.chunks = None
    -
    -    def execute(self):
    -        # If template cache is disabled (usually in the debug mode),
    -        # re-compile templates and reload static files on every
    -        # request so you don't need to restart to see changes
    -        if not self.application.settings.get("compiled_template_cache", True):
    -            with RequestHandler._template_loader_lock:
    -                for loader in RequestHandler._template_loaders.values():
    -                    loader.reset()
    -        if not self.application.settings.get('static_hash_cache', True):
    -            StaticFileHandler.reset()
    -
    -        self.handler = self.handler_class(self.application, self.request,
    -                                          **self.handler_kwargs)
    -        transforms = [t(self.request) for t in self.application.transforms]
    -
    -        if self.stream_request_body:
    -            self.handler._prepared_future = Future()
    -        # Note that if an exception escapes handler._execute it will be
    -        # trapped in the Future it returns (which we are ignoring here,
    -        # leaving it to be logged when the Future is GC'd).
    -        # However, that shouldn't happen because _execute has a blanket
    -        # except handler, and we cannot easily access the IOLoop here to
    -        # call add_future (because of the requirement to remain compatible
    -        # with WSGI)
    -        self.handler._execute(transforms, *self.path_args,
    -                              **self.path_kwargs)
    -        # If we are streaming the request body, then execute() is finished
    -        # when the handler has prepared to receive the body.  If not,
    -        # it doesn't matter when execute() finishes (so we return None)
    -        return self.handler._prepared_future
    -
    -
    -class HTTPError(Exception):
    -    """An exception that will turn into an HTTP error response.
    -
    -    Raising an `HTTPError` is a convenient alternative to calling
    -    `RequestHandler.send_error` since it automatically ends the
    -    current function.
    -
    -    To customize the response sent with an `HTTPError`, override
    -    `RequestHandler.write_error`.
    -
    -    :arg int status_code: HTTP status code.  Must be listed in
    -        `httplib.responses ` unless the ``reason``
    -        keyword argument is given.
    -    :arg string log_message: Message to be written to the log for this error
    -        (will not be shown to the user unless the `Application` is in debug
    -        mode).  May contain ``%s``-style placeholders, which will be filled
    -        in with remaining positional parameters.
    -    :arg string reason: Keyword-only argument.  The HTTP "reason" phrase
    -        to pass in the status line along with ``status_code``.  Normally
    -        determined automatically from ``status_code``, but can be used
    -        to use a non-standard numeric code.
    -    """
    -    def __init__(self, status_code=500, log_message=None, *args, **kwargs):
    -        self.status_code = status_code
    -        self.log_message = log_message
    -        self.args = args
    -        self.reason = kwargs.get('reason', None)
    -        if log_message and not args:
    -            self.log_message = log_message.replace('%', '%%')
    -
    -    def __str__(self):
    -        message = "HTTP %d: %s" % (
    -            self.status_code,
    -            self.reason or httputil.responses.get(self.status_code, 'Unknown'))
    -        if self.log_message:
    -            return message + " (" + (self.log_message % self.args) + ")"
    -        else:
    -            return message
    -
    -
    -class Finish(Exception):
    -    """An exception that ends the request without producing an error response.
    -
    -    When `Finish` is raised in a `RequestHandler`, the request will
    -    end (calling `RequestHandler.finish` if it hasn't already been
    -    called), but the error-handling methods (including
    -    `RequestHandler.write_error`) will not be called.
    -
    -    If `Finish()` was created with no arguments, the pending response
    -    will be sent as-is. If `Finish()` was given an argument, that
    -    argument will be passed to `RequestHandler.finish()`.
    -
    -    This can be a more convenient way to implement custom error pages
    -    than overriding ``write_error`` (especially in library code)::
    -
    -        if self.current_user is None:
    -            self.set_status(401)
    -            self.set_header('WWW-Authenticate', 'Basic realm="something"')
    -            raise Finish()
    -
    -    .. versionchanged:: 4.3
    -       Arguments passed to ``Finish()`` will be passed on to
    -       `RequestHandler.finish`.
    -    """
    -    pass
    -
    -
    -class MissingArgumentError(HTTPError):
    -    """Exception raised by `RequestHandler.get_argument`.
    -
    -    This is a subclass of `HTTPError`, so if it is uncaught a 400 response
    -    code will be used instead of 500 (and a stack trace will not be logged).
    -
    -    .. versionadded:: 3.1
    -    """
    -    def __init__(self, arg_name):
    -        super(MissingArgumentError, self).__init__(
    -            400, 'Missing argument %s' % arg_name)
    -        self.arg_name = arg_name
    -
    -
    -class ErrorHandler(RequestHandler):
    -    """Generates an error response with ``status_code`` for all requests."""
    -    def initialize(self, status_code):
    -        self.set_status(status_code)
    -
    -    def prepare(self):
    -        raise HTTPError(self._status_code)
    -
    -    def check_xsrf_cookie(self):
    -        # POSTs to an ErrorHandler don't actually have side effects,
    -        # so we don't need to check the xsrf token.  This allows POSTs
    -        # to the wrong url to return a 404 instead of 403.
    -        pass
    -
    -
    -class RedirectHandler(RequestHandler):
    -    """Redirects the client to the given URL for all GET requests.
    -
    -    You should provide the keyword argument ``url`` to the handler, e.g.::
    -
    -        application = web.Application([
    -            (r"/oldpath", web.RedirectHandler, {"url": "/newpath"}),
    -        ])
    -    """
    -    def initialize(self, url, permanent=True):
    -        self._url = url
    -        self._permanent = permanent
    -
    -    def get(self):
    -        self.redirect(self._url, permanent=self._permanent)
    -
    -
    -class StaticFileHandler(RequestHandler):
    -    """A simple handler that can serve static content from a directory.
    -
    -    A `StaticFileHandler` is configured automatically if you pass the
    -    ``static_path`` keyword argument to `Application`.  This handler
    -    can be customized with the ``static_url_prefix``, ``static_handler_class``,
    -    and ``static_handler_args`` settings.
    -
    -    To map an additional path to this handler for a static data directory
    -    you would add a line to your application like::
    -
    -        application = web.Application([
    -            (r"/content/(.*)", web.StaticFileHandler, {"path": "/var/www"}),
    -        ])
    -
    -    The handler constructor requires a ``path`` argument, which specifies the
    -    local root directory of the content to be served.
    -
    -    Note that a capture group in the regex is required to parse the value for
    -    the ``path`` argument to the get() method (different than the constructor
    -    argument above); see `URLSpec` for details.
    -
    -    To serve a file like ``index.html`` automatically when a directory is
    -    requested, set ``static_handler_args=dict(default_filename="index.html")``
    -    in your application settings, or add ``default_filename`` as an initializer
    -    argument for your ``StaticFileHandler``.
    -
    -    To maximize the effectiveness of browser caching, this class supports
    -    versioned urls (by default using the argument ``?v=``).  If a version
    -    is given, we instruct the browser to cache this file indefinitely.
    -    `make_static_url` (also available as `RequestHandler.static_url`) can
    -    be used to construct a versioned url.
    -
    -    This handler is intended primarily for use in development and light-duty
    -    file serving; for heavy traffic it will be more efficient to use
    -    a dedicated static file server (such as nginx or Apache).  We support
    -    the HTTP ``Accept-Ranges`` mechanism to return partial content (because
    -    some browsers require this functionality to be present to seek in
    -    HTML5 audio or video).
    -
    -    **Subclassing notes**
    -
    -    This class is designed to be extensible by subclassing, but because
    -    of the way static urls are generated with class methods rather than
    -    instance methods, the inheritance patterns are somewhat unusual.
    -    Be sure to use the ``@classmethod`` decorator when overriding a
    -    class method.  Instance methods may use the attributes ``self.path``
    -    ``self.absolute_path``, and ``self.modified``.
    -
    -    Subclasses should only override methods discussed in this section;
    -    overriding other methods is error-prone.  Overriding
    -    ``StaticFileHandler.get`` is particularly problematic due to the
    -    tight coupling with ``compute_etag`` and other methods.
    -
    -    To change the way static urls are generated (e.g. to match the behavior
    -    of another server or CDN), override `make_static_url`, `parse_url_path`,
    -    `get_cache_time`, and/or `get_version`.
    -
    -    To replace all interaction with the filesystem (e.g. to serve
    -    static content from a database), override `get_content`,
    -    `get_content_size`, `get_modified_time`, `get_absolute_path`, and
    -    `validate_absolute_path`.
    -
    -    .. versionchanged:: 3.1
    -       Many of the methods for subclasses were added in Tornado 3.1.
    -    """
    -    CACHE_MAX_AGE = 86400 * 365 * 10  # 10 years
    -
    -    _static_hashes = {}
    -    _lock = threading.Lock()  # protects _static_hashes
    -
    -    def initialize(self, path, default_filename=None):
    -        self.root = path
    -        self.default_filename = default_filename
    -
    -    @classmethod
    -    def reset(cls):
    -        with cls._lock:
    -            cls._static_hashes = {}
    -
    -    def head(self, path):
    -        return self.get(path, include_body=False)
    -
    -    @gen.coroutine
    -    def get(self, path, include_body=True):
    -        # Set up our path instance variables.
    -        self.path = self.parse_url_path(path)
    -        del path  # make sure we don't refer to path instead of self.path again
    -        absolute_path = self.get_absolute_path(self.root, self.path)
    -        self.absolute_path = self.validate_absolute_path(
    -            self.root, absolute_path)
    -        if self.absolute_path is None:
    -            return
    -
    -        self.modified = self.get_modified_time()
    -        self.set_headers()
    -
    -        if self.should_return_304():
    -            self.set_status(304)
    -            return
    -
    -        request_range = None
    -        range_header = self.request.headers.get("Range")
    -        if range_header:
    -            # As per RFC 2616 14.16, if an invalid Range header is specified,
    -            # the request will be treated as if the header didn't exist.
    -            request_range = httputil._parse_request_range(range_header)
    -
    -        size = self.get_content_size()
    -        if request_range:
    -            start, end = request_range
    -            if (start is not None and start >= size) or end == 0:
    -                # As per RFC 2616 14.35.1, a range is not satisfiable only: if
    -                # the first requested byte is equal to or greater than the
    -                # content, or when a suffix with length 0 is specified
    -                self.set_status(416)  # Range Not Satisfiable
    -                self.set_header("Content-Type", "text/plain")
    -                self.set_header("Content-Range", "bytes */%s" % (size, ))
    -                return
    -            if start is not None and start < 0:
    -                start += size
    -            if end is not None and end > size:
    -                # Clients sometimes blindly use a large range to limit their
    -                # download size; cap the endpoint at the actual file size.
    -                end = size
    -            # Note: only return HTTP 206 if less than the entire range has been
    -            # requested. Not only is this semantically correct, but Chrome
    -            # refuses to play audio if it gets an HTTP 206 in response to
    -            # ``Range: bytes=0-``.
    -            if size != (end or size) - (start or 0):
    -                self.set_status(206)  # Partial Content
    -                self.set_header("Content-Range",
    -                                httputil._get_content_range(start, end, size))
    -        else:
    -            start = end = None
    -
    -        if start is not None and end is not None:
    -            content_length = end - start
    -        elif end is not None:
    -            content_length = end
    -        elif start is not None:
    -            content_length = size - start
    -        else:
    -            content_length = size
    -        self.set_header("Content-Length", content_length)
    -
    -        if include_body:
    -            content = self.get_content(self.absolute_path, start, end)
    -            if isinstance(content, bytes):
    -                content = [content]
    -            for chunk in content:
    -                try:
    -                    self.write(chunk)
    -                    yield self.flush()
    -                except iostream.StreamClosedError:
    -                    return
    -        else:
    -            assert self.request.method == "HEAD"
    -
    -    def compute_etag(self):
    -        """Sets the ``Etag`` header based on static url version.
    -
    -        This allows efficient ``If-None-Match`` checks against cached
    -        versions, and sends the correct ``Etag`` for a partial response
    -        (i.e. the same ``Etag`` as the full file).
    -
    -        .. versionadded:: 3.1
    -        """
    -        version_hash = self._get_cached_version(self.absolute_path)
    -        if not version_hash:
    -            return None
    -        return '"%s"' % (version_hash, )
    -
    -    def set_headers(self):
    -        """Sets the content and caching headers on the response.
    -
    -        .. versionadded:: 3.1
    -        """
    -        self.set_header("Accept-Ranges", "bytes")
    -        self.set_etag_header()
    -
    -        if self.modified is not None:
    -            self.set_header("Last-Modified", self.modified)
    -
    -        content_type = self.get_content_type()
    -        if content_type:
    -            self.set_header("Content-Type", content_type)
    -
    -        cache_time = self.get_cache_time(self.path, self.modified,
    -                                         content_type)
    -        if cache_time > 0:
    -            self.set_header("Expires", datetime.datetime.utcnow() +
    -                            datetime.timedelta(seconds=cache_time))
    -            self.set_header("Cache-Control", "max-age=" + str(cache_time))
    -
    -        self.set_extra_headers(self.path)
    -
    -    def should_return_304(self):
    -        """Returns True if the headers indicate that we should return 304.
    -
    -        .. versionadded:: 3.1
    -        """
    -        if self.check_etag_header():
    -            return True
    -
    -        # Check the If-Modified-Since, and don't send the result if the
    -        # content has not been modified
    -        ims_value = self.request.headers.get("If-Modified-Since")
    -        if ims_value is not None:
    -            date_tuple = email.utils.parsedate(ims_value)
    -            if date_tuple is not None:
    -                if_since = datetime.datetime(*date_tuple[:6])
    -                if if_since >= self.modified:
    -                    return True
    -
    -        return False
    -
    -    @classmethod
    -    def get_absolute_path(cls, root, path):
    -        """Returns the absolute location of ``path`` relative to ``root``.
    -
    -        ``root`` is the path configured for this `StaticFileHandler`
    -        (in most cases the ``static_path`` `Application` setting).
    -
    -        This class method may be overridden in subclasses.  By default
    -        it returns a filesystem path, but other strings may be used
    -        as long as they are unique and understood by the subclass's
    -        overridden `get_content`.
    -
    -        .. versionadded:: 3.1
    -        """
    -        abspath = os.path.abspath(os.path.join(root, path))
    -        return abspath
    -
    -    def validate_absolute_path(self, root, absolute_path):
    -        """Validate and return the absolute path.
    -
    -        ``root`` is the configured path for the `StaticFileHandler`,
    -        and ``path`` is the result of `get_absolute_path`
    -
    -        This is an instance method called during request processing,
    -        so it may raise `HTTPError` or use methods like
    -        `RequestHandler.redirect` (return None after redirecting to
    -        halt further processing).  This is where 404 errors for missing files
    -        are generated.
    -
    -        This method may modify the path before returning it, but note that
    -        any such modifications will not be understood by `make_static_url`.
    -
    -        In instance methods, this method's result is available as
    -        ``self.absolute_path``.
    -
    -        .. versionadded:: 3.1
    -        """
    -        # os.path.abspath strips a trailing /.
    -        # We must add it back to `root` so that we only match files
    -        # in a directory named `root` instead of files starting with
    -        # that prefix.
    -        root = os.path.abspath(root)
    -        if not root.endswith(os.path.sep):
    -            # abspath always removes a trailing slash, except when
    -            # root is '/'. This is an unusual case, but several projects
    -            # have independently discovered this technique to disable
    -            # Tornado's path validation and (hopefully) do their own,
    -            # so we need to support it.
    -            root += os.path.sep
    -        # The trailing slash also needs to be temporarily added back
    -        # the requested path so a request to root/ will match.
    -        if not (absolute_path + os.path.sep).startswith(root):
    -            raise HTTPError(403, "%s is not in root static directory",
    -                            self.path)
    -        if (os.path.isdir(absolute_path) and
    -                self.default_filename is not None):
    -            # need to look at the request.path here for when path is empty
    -            # but there is some prefix to the path that was already
    -            # trimmed by the routing
    -            if not self.request.path.endswith("/"):
    -                self.redirect(self.request.path + "/", permanent=True)
    -                return
    -            absolute_path = os.path.join(absolute_path, self.default_filename)
    -        if not os.path.exists(absolute_path):
    -            raise HTTPError(404)
    -        if not os.path.isfile(absolute_path):
    -            raise HTTPError(403, "%s is not a file", self.path)
    -        return absolute_path
    -
    -    @classmethod
    -    def get_content(cls, abspath, start=None, end=None):
    -        """Retrieve the content of the requested resource which is located
    -        at the given absolute path.
    -
    -        This class method may be overridden by subclasses.  Note that its
    -        signature is different from other overridable class methods
    -        (no ``settings`` argument); this is deliberate to ensure that
    -        ``abspath`` is able to stand on its own as a cache key.
    -
    -        This method should either return a byte string or an iterator
    -        of byte strings.  The latter is preferred for large files
    -        as it helps reduce memory fragmentation.
    -
    -        .. versionadded:: 3.1
    -        """
    -        with open(abspath, "rb") as file:
    -            if start is not None:
    -                file.seek(start)
    -            if end is not None:
    -                remaining = end - (start or 0)
    -            else:
    -                remaining = None
    -            while True:
    -                chunk_size = 64 * 1024
    -                if remaining is not None and remaining < chunk_size:
    -                    chunk_size = remaining
    -                chunk = file.read(chunk_size)
    -                if chunk:
    -                    if remaining is not None:
    -                        remaining -= len(chunk)
    -                    yield chunk
    -                else:
    -                    if remaining is not None:
    -                        assert remaining == 0
    -                    return
    -
    -    @classmethod
    -    def get_content_version(cls, abspath):
    -        """Returns a version string for the resource at the given path.
    -
    -        This class method may be overridden by subclasses.  The
    -        default implementation is a hash of the file's contents.
    -
    -        .. versionadded:: 3.1
    -        """
    -        data = cls.get_content(abspath)
    -        hasher = hashlib.md5()
    -        if isinstance(data, bytes):
    -            hasher.update(data)
    -        else:
    -            for chunk in data:
    -                hasher.update(chunk)
    -        return hasher.hexdigest()
    -
    -    def _stat(self):
    -        if not hasattr(self, '_stat_result'):
    -            self._stat_result = os.stat(self.absolute_path)
    -        return self._stat_result
    -
    -    def get_content_size(self):
    -        """Retrieve the total size of the resource at the given path.
    -
    -        This method may be overridden by subclasses.
    -
    -        .. versionadded:: 3.1
    -
    -        .. versionchanged:: 4.0
    -           This method is now always called, instead of only when
    -           partial results are requested.
    -        """
    -        stat_result = self._stat()
    -        return stat_result[stat.ST_SIZE]
    -
    -    def get_modified_time(self):
    -        """Returns the time that ``self.absolute_path`` was last modified.
    -
    -        May be overridden in subclasses.  Should return a `~datetime.datetime`
    -        object or None.
    -
    -        .. versionadded:: 3.1
    -        """
    -        stat_result = self._stat()
    -        modified = datetime.datetime.utcfromtimestamp(
    -            stat_result[stat.ST_MTIME])
    -        return modified
    -
    -    def get_content_type(self):
    -        """Returns the ``Content-Type`` header to be used for this request.
    -
    -        .. versionadded:: 3.1
    -        """
    -        mime_type, encoding = mimetypes.guess_type(self.absolute_path)
    -        # per RFC 6713, use the appropriate type for a gzip compressed file
    -        if encoding == "gzip":
    -            return "application/gzip"
    -        # As of 2015-07-21 there is no bzip2 encoding defined at
    -        # http://www.iana.org/assignments/media-types/media-types.xhtml
    -        # So for that (and any other encoding), use octet-stream.
    -        elif encoding is not None:
    -            return "application/octet-stream"
    -        elif mime_type is not None:
    -            return mime_type
    -        # if mime_type not detected, use application/octet-stream
    -        else:
    -            return "application/octet-stream"
    -
    -    def set_extra_headers(self, path):
    -        """For subclass to add extra headers to the response"""
    -        pass
    -
    -    def get_cache_time(self, path, modified, mime_type):
    -        """Override to customize cache control behavior.
    -
    -        Return a positive number of seconds to make the result
    -        cacheable for that amount of time or 0 to mark resource as
    -        cacheable for an unspecified amount of time (subject to
    -        browser heuristics).
    -
    -        By default returns cache expiry of 10 years for resources requested
    -        with ``v`` argument.
    -        """
    -        return self.CACHE_MAX_AGE if "v" in self.request.arguments else 0
    -
    -    @classmethod
    -    def make_static_url(cls, settings, path, include_version=True):
    -        """Constructs a versioned url for the given path.
    -
    -        This method may be overridden in subclasses (but note that it
    -        is a class method rather than an instance method).  Subclasses
    -        are only required to implement the signature
    -        ``make_static_url(cls, settings, path)``; other keyword
    -        arguments may be passed through `~RequestHandler.static_url`
    -        but are not standard.
    -
    -        ``settings`` is the `Application.settings` dictionary.  ``path``
    -        is the static path being requested.  The url returned should be
    -        relative to the current host.
    -
    -        ``include_version`` determines whether the generated URL should
    -        include the query string containing the version hash of the
    -        file corresponding to the given ``path``.
    -
    -        """
    -        url = settings.get('static_url_prefix', '/static/') + path
    -        if not include_version:
    -            return url
    -
    -        version_hash = cls.get_version(settings, path)
    -        if not version_hash:
    -            return url
    -
    -        return '%s?v=%s' % (url, version_hash)
    -
    -    def parse_url_path(self, url_path):
    -        """Converts a static URL path into a filesystem path.
    -
    -        ``url_path`` is the path component of the URL with
    -        ``static_url_prefix`` removed.  The return value should be
    -        filesystem path relative to ``static_path``.
    -
    -        This is the inverse of `make_static_url`.
    -        """
    -        if os.path.sep != "/":
    -            url_path = url_path.replace("/", os.path.sep)
    -        return url_path
    -
    -    @classmethod
    -    def get_version(cls, settings, path):
    -        """Generate the version string to be used in static URLs.
    -
    -        ``settings`` is the `Application.settings` dictionary and ``path``
    -        is the relative location of the requested asset on the filesystem.
    -        The returned value should be a string, or ``None`` if no version
    -        could be determined.
    -
    -        .. versionchanged:: 3.1
    -           This method was previously recommended for subclasses to override;
    -           `get_content_version` is now preferred as it allows the base
    -           class to handle caching of the result.
    -        """
    -        abs_path = cls.get_absolute_path(settings['static_path'], path)
    -        return cls._get_cached_version(abs_path)
    -
    -    @classmethod
    -    def _get_cached_version(cls, abs_path):
    -        with cls._lock:
    -            hashes = cls._static_hashes
    -            if abs_path not in hashes:
    -                try:
    -                    hashes[abs_path] = cls.get_content_version(abs_path)
    -                except Exception:
    -                    gen_log.error("Could not open static file %r", abs_path)
    -                    hashes[abs_path] = None
    -            hsh = hashes.get(abs_path)
    -            if hsh:
    -                return hsh
    -        return None
    -
    -
    -class FallbackHandler(RequestHandler):
    -    """A `RequestHandler` that wraps another HTTP server callback.
    -
    -    The fallback is a callable object that accepts an
    -    `~.httputil.HTTPServerRequest`, such as an `Application` or
    -    `tornado.wsgi.WSGIContainer`.  This is most useful to use both
    -    Tornado ``RequestHandlers`` and WSGI in the same server.  Typical
    -    usage::
    -
    -        wsgi_app = tornado.wsgi.WSGIContainer(
    -            django.core.handlers.wsgi.WSGIHandler())
    -        application = tornado.web.Application([
    -            (r"/foo", FooHandler),
    -            (r".*", FallbackHandler, dict(fallback=wsgi_app),
    -        ])
    -    """
    -    def initialize(self, fallback):
    -        self.fallback = fallback
    -
    -    def prepare(self):
    -        self.fallback(self.request)
    -        self._finished = True
    -
    -
    -class OutputTransform(object):
    -    """A transform modifies the result of an HTTP request (e.g., GZip encoding)
    -
    -    Applications are not expected to create their own OutputTransforms
    -    or interact with them directly; the framework chooses which transforms
    -    (if any) to apply.
    -    """
    -    def __init__(self, request):
    -        pass
    -
    -    def transform_first_chunk(self, status_code, headers, chunk, finishing):
    -        return status_code, headers, chunk
    -
    -    def transform_chunk(self, chunk, finishing):
    -        return chunk
    -
    -
    -class GZipContentEncoding(OutputTransform):
    -    """Applies the gzip content encoding to the response.
    -
    -    See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
    -
    -    .. versionchanged:: 4.0
    -        Now compresses all mime types beginning with ``text/``, instead
    -        of just a whitelist. (the whitelist is still used for certain
    -        non-text mime types).
    -    """
    -    # Whitelist of compressible mime types (in addition to any types
    -    # beginning with "text/").
    -    CONTENT_TYPES = set(["application/javascript", "application/x-javascript",
    -                         "application/xml", "application/atom+xml",
    -                         "application/json", "application/xhtml+xml"])
    -    # Python's GzipFile defaults to level 9, while most other gzip
    -    # tools (including gzip itself) default to 6, which is probably a
    -    # better CPU/size tradeoff.
    -    GZIP_LEVEL = 6
    -    # Responses that are too short are unlikely to benefit from gzipping
    -    # after considering the "Content-Encoding: gzip" header and the header
    -    # inside the gzip encoding.
    -    # Note that responses written in multiple chunks will be compressed
    -    # regardless of size.
    -    MIN_LENGTH = 1024
    -
    -    def __init__(self, request):
    -        self._gzipping = "gzip" in request.headers.get("Accept-Encoding", "")
    -
    -    def _compressible_type(self, ctype):
    -        return ctype.startswith('text/') or ctype in self.CONTENT_TYPES
    -
    -    def transform_first_chunk(self, status_code, headers, chunk, finishing):
    -        if 'Vary' in headers:
    -            headers['Vary'] += b', Accept-Encoding'
    -        else:
    -            headers['Vary'] = b'Accept-Encoding'
    -        if self._gzipping:
    -            ctype = _unicode(headers.get("Content-Type", "")).split(";")[0]
    -            self._gzipping = self._compressible_type(ctype) and \
    -                (not finishing or len(chunk) >= self.MIN_LENGTH) and \
    -                ("Content-Encoding" not in headers)
    -        if self._gzipping:
    -            headers["Content-Encoding"] = "gzip"
    -            self._gzip_value = BytesIO()
    -            self._gzip_file = gzip.GzipFile(mode="w", fileobj=self._gzip_value,
    -                                            compresslevel=self.GZIP_LEVEL)
    -            chunk = self.transform_chunk(chunk, finishing)
    -            if "Content-Length" in headers:
    -                # The original content length is no longer correct.
    -                # If this is the last (and only) chunk, we can set the new
    -                # content-length; otherwise we remove it and fall back to
    -                # chunked encoding.
    -                if finishing:
    -                    headers["Content-Length"] = str(len(chunk))
    -                else:
    -                    del headers["Content-Length"]
    -        return status_code, headers, chunk
    -
    -    def transform_chunk(self, chunk, finishing):
    -        if self._gzipping:
    -            self._gzip_file.write(chunk)
    -            if finishing:
    -                self._gzip_file.close()
    -            else:
    -                self._gzip_file.flush()
    -            chunk = self._gzip_value.getvalue()
    -            self._gzip_value.truncate(0)
    -            self._gzip_value.seek(0)
    -        return chunk
    -
    -
    -def authenticated(method):
    -    """Decorate methods with this to require that the user be logged in.
    -
    -    If the user is not logged in, they will be redirected to the configured
    -    `login url `.
    -
    -    If you configure a login url with a query parameter, Tornado will
    -    assume you know what you're doing and use it as-is.  If not, it
    -    will add a `next` parameter so the login page knows where to send
    -    you once you're logged in.
    -    """
    -    @functools.wraps(method)
    -    def wrapper(self, *args, **kwargs):
    -        if not self.current_user:
    -            if self.request.method in ("GET", "HEAD"):
    -                url = self.get_login_url()
    -                if "?" not in url:
    -                    if urlparse.urlsplit(url).scheme:
    -                        # if login url is absolute, make next absolute too
    -                        next_url = self.request.full_url()
    -                    else:
    -                        next_url = self.request.uri
    -                    url += "?" + urlencode(dict(next=next_url))
    -                self.redirect(url)
    -                return
    -            raise HTTPError(403)
    -        return method(self, *args, **kwargs)
    -    return wrapper
    -
    -
    -class UIModule(object):
    -    """A re-usable, modular UI unit on a page.
    -
    -    UI modules often execute additional queries, and they can include
    -    additional CSS and JavaScript that will be included in the output
    -    page, which is automatically inserted on page render.
    -
    -    Subclasses of UIModule must override the `render` method.
    -    """
    -    def __init__(self, handler):
    -        self.handler = handler
    -        self.request = handler.request
    -        self.ui = handler.ui
    -        self.locale = handler.locale
    -
    -    @property
    -    def current_user(self):
    -        return self.handler.current_user
    -
    -    def render(self, *args, **kwargs):
    -        """Override in subclasses to return this module's output."""
    -        raise NotImplementedError()
    -
    -    def embedded_javascript(self):
    -        """Override to return a JavaScript string
    -        to be embedded in the page."""
    -        return None
    -
    -    def javascript_files(self):
    -        """Override to return a list of JavaScript files needed by this module.
    -
    -        If the return values are relative paths, they will be passed to
    -        `RequestHandler.static_url`; otherwise they will be used as-is.
    -        """
    -        return None
    -
    -    def embedded_css(self):
    -        """Override to return a CSS string
    -        that will be embedded in the page."""
    -        return None
    -
    -    def css_files(self):
    -        """Override to returns a list of CSS files required by this module.
    -
    -        If the return values are relative paths, they will be passed to
    -        `RequestHandler.static_url`; otherwise they will be used as-is.
    -        """
    -        return None
    -
    -    def html_head(self):
    -        """Override to return an HTML string that will be put in the 
    -        element.
    -        """
    -        return None
    -
    -    def html_body(self):
    -        """Override to return an HTML string that will be put at the end of
    -        the  element.
    -        """
    -        return None
    -
    -    def render_string(self, path, **kwargs):
    -        """Renders a template and returns it as a string."""
    -        return self.handler.render_string(path, **kwargs)
    -
    -
    -class _linkify(UIModule):
    -    def render(self, text, **kwargs):
    -        return escape.linkify(text, **kwargs)
    -
    -
    -class _xsrf_form_html(UIModule):
    -    def render(self):
    -        return self.handler.xsrf_form_html()
    -
    -
    -class TemplateModule(UIModule):
    -    """UIModule that simply renders the given template.
    -
    -    {% module Template("foo.html") %} is similar to {% include "foo.html" %},
    -    but the module version gets its own namespace (with kwargs passed to
    -    Template()) instead of inheriting the outer template's namespace.
    -
    -    Templates rendered through this module also get access to UIModule's
    -    automatic javascript/css features.  Simply call set_resources
    -    inside the template and give it keyword arguments corresponding to
    -    the methods on UIModule: {{ set_resources(js_files=static_url("my.js")) }}
    -    Note that these resources are output once per template file, not once
    -    per instantiation of the template, so they must not depend on
    -    any arguments to the template.
    -    """
    -    def __init__(self, handler):
    -        super(TemplateModule, self).__init__(handler)
    -        # keep resources in both a list and a dict to preserve order
    -        self._resource_list = []
    -        self._resource_dict = {}
    -
    -    def render(self, path, **kwargs):
    -        def set_resources(**kwargs):
    -            if path not in self._resource_dict:
    -                self._resource_list.append(kwargs)
    -                self._resource_dict[path] = kwargs
    -            else:
    -                if self._resource_dict[path] != kwargs:
    -                    raise ValueError("set_resources called with different "
    -                                     "resources for the same template")
    -            return ""
    -        return self.render_string(path, set_resources=set_resources,
    -                                  **kwargs)
    -
    -    def _get_resources(self, key):
    -        return (r[key] for r in self._resource_list if key in r)
    -
    -    def embedded_javascript(self):
    -        return "\n".join(self._get_resources("embedded_javascript"))
    -
    -    def javascript_files(self):
    -        result = []
    -        for f in self._get_resources("javascript_files"):
    -            if isinstance(f, (unicode_type, bytes)):
    -                result.append(f)
    -            else:
    -                result.extend(f)
    -        return result
    -
    -    def embedded_css(self):
    -        return "\n".join(self._get_resources("embedded_css"))
    -
    -    def css_files(self):
    -        result = []
    -        for f in self._get_resources("css_files"):
    -            if isinstance(f, (unicode_type, bytes)):
    -                result.append(f)
    -            else:
    -                result.extend(f)
    -        return result
    -
    -    def html_head(self):
    -        return "".join(self._get_resources("html_head"))
    -
    -    def html_body(self):
    -        return "".join(self._get_resources("html_body"))
    -
    -
    -class _UIModuleNamespace(object):
    -    """Lazy namespace which creates UIModule proxies bound to a handler."""
    -    def __init__(self, handler, ui_modules):
    -        self.handler = handler
    -        self.ui_modules = ui_modules
    -
    -    def __getitem__(self, key):
    -        return self.handler._ui_module(key, self.ui_modules[key])
    -
    -    def __getattr__(self, key):
    -        try:
    -            return self[key]
    -        except KeyError as e:
    -            raise AttributeError(str(e))
    -
    -
    -class URLSpec(object):
    -    """Specifies mappings between URLs and handlers."""
    -    def __init__(self, pattern, handler, kwargs=None, name=None):
    -        """Parameters:
    -
    -        * ``pattern``: Regular expression to be matched.  Any groups
    -          in the regex will be passed in to the handler's get/post/etc
    -          methods as arguments.
    -
    -        * ``handler``: `RequestHandler` subclass to be invoked.
    -
    -        * ``kwargs`` (optional): A dictionary of additional arguments
    -          to be passed to the handler's constructor.
    -
    -        * ``name`` (optional): A name for this handler.  Used by
    -          `Application.reverse_url`.
    -        """
    -        if not pattern.endswith('$'):
    -            pattern += '$'
    -        self.regex = re.compile(pattern)
    -        assert len(self.regex.groupindex) in (0, self.regex.groups), \
    -            ("groups in url regexes must either be all named or all "
    -             "positional: %r" % self.regex.pattern)
    -
    -        if isinstance(handler, str):
    -            # import the Module and instantiate the class
    -            # Must be a fully qualified name (module.ClassName)
    -            handler = import_object(handler)
    -
    -        self.handler_class = handler
    -        self.kwargs = kwargs or {}
    -        self.name = name
    -        self._path, self._group_count = self._find_groups()
    -
    -    def __repr__(self):
    -        return '%s(%r, %s, kwargs=%r, name=%r)' % \
    -            (self.__class__.__name__, self.regex.pattern,
    -             self.handler_class, self.kwargs, self.name)
    -
    -    def _find_groups(self):
    -        """Returns a tuple (reverse string, group count) for a url.
    -
    -        For example: Given the url pattern /([0-9]{4})/([a-z-]+)/, this method
    -        would return ('/%s/%s/', 2).
    -        """
    -        pattern = self.regex.pattern
    -        if pattern.startswith('^'):
    -            pattern = pattern[1:]
    -        if pattern.endswith('$'):
    -            pattern = pattern[:-1]
    -
    -        if self.regex.groups != pattern.count('('):
    -            # The pattern is too complicated for our simplistic matching,
    -            # so we can't support reversing it.
    -            return (None, None)
    -
    -        pieces = []
    -        for fragment in pattern.split('('):
    -            if ')' in fragment:
    -                paren_loc = fragment.index(')')
    -                if paren_loc >= 0:
    -                    pieces.append('%s' + fragment[paren_loc + 1:])
    -            else:
    -                pieces.append(fragment)
    -
    -        return (''.join(pieces), self.regex.groups)
    -
    -    def reverse(self, *args):
    -        assert self._path is not None, \
    -            "Cannot reverse url regex " + self.regex.pattern
    -        assert len(args) == self._group_count, "required number of arguments "\
    -            "not found"
    -        if not len(args):
    -            return self._path
    -        converted_args = []
    -        for a in args:
    -            if not isinstance(a, (unicode_type, bytes)):
    -                a = str(a)
    -            converted_args.append(escape.url_escape(utf8(a), plus=False))
    -        return self._path % tuple(converted_args)
    -
    -url = URLSpec
    -
    -
    -if hasattr(hmac, 'compare_digest'):  # python 3.3
    -    _time_independent_equals = hmac.compare_digest
    -else:
    -    def _time_independent_equals(a, b):
    -        if len(a) != len(b):
    -            return False
    -        result = 0
    -        if isinstance(a[0], int):  # python3 byte strings
    -            for x, y in zip(a, b):
    -                result |= x ^ y
    -        else:  # python2
    -            for x, y in zip(a, b):
    -                result |= ord(x) ^ ord(y)
    -        return result == 0
    -
    -
    -def create_signed_value(secret, name, value, version=None, clock=None,
    -                        key_version=None):
    -    if version is None:
    -        version = DEFAULT_SIGNED_VALUE_VERSION
    -    if clock is None:
    -        clock = time.time
    -
    -    timestamp = utf8(str(int(clock())))
    -    value = base64.b64encode(utf8(value))
    -    if version == 1:
    -        signature = _create_signature_v1(secret, name, value, timestamp)
    -        value = b"|".join([value, timestamp, signature])
    -        return value
    -    elif version == 2:
    -        # The v2 format consists of a version number and a series of
    -        # length-prefixed fields "%d:%s", the last of which is a
    -        # signature, all separated by pipes.  All numbers are in
    -        # decimal format with no leading zeros.  The signature is an
    -        # HMAC-SHA256 of the whole string up to that point, including
    -        # the final pipe.
    -        #
    -        # The fields are:
    -        # - format version (i.e. 2; no length prefix)
    -        # - key version (integer, default is 0)
    -        # - timestamp (integer seconds since epoch)
    -        # - name (not encoded; assumed to be ~alphanumeric)
    -        # - value (base64-encoded)
    -        # - signature (hex-encoded; no length prefix)
    -        def format_field(s):
    -            return utf8("%d:" % len(s)) + utf8(s)
    -        to_sign = b"|".join([
    -            b"2",
    -            format_field(str(key_version or 0)),
    -            format_field(timestamp),
    -            format_field(name),
    -            format_field(value),
    -            b''])
    -
    -        if isinstance(secret, dict):
    -            assert key_version is not None, 'Key version must be set when sign key dict is used'
    -            assert version >= 2, 'Version must be at least 2 for key version support'
    -            secret = secret[key_version]
    -
    -        signature = _create_signature_v2(secret, to_sign)
    -        return to_sign + signature
    -    else:
    -        raise ValueError("Unsupported version %d" % version)
    -
    -# A leading version number in decimal
    -# with no leading zeros, followed by a pipe.
    -_signed_value_version_re = re.compile(br"^([1-9][0-9]*)\|(.*)$")
    -
    -
    -def _get_version(value):
    -    # Figures out what version value is.  Version 1 did not include an
    -    # explicit version field and started with arbitrary base64 data,
    -    # which makes this tricky.
    -    m = _signed_value_version_re.match(value)
    -    if m is None:
    -        version = 1
    -    else:
    -        try:
    -            version = int(m.group(1))
    -            if version > 999:
    -                # Certain payloads from the version-less v1 format may
    -                # be parsed as valid integers.  Due to base64 padding
    -                # restrictions, this can only happen for numbers whose
    -                # length is a multiple of 4, so we can treat all
    -                # numbers up to 999 as versions, and for the rest we
    -                # fall back to v1 format.
    -                version = 1
    -        except ValueError:
    -            version = 1
    -    return version
    -
    -
    -def decode_signed_value(secret, name, value, max_age_days=31,
    -                        clock=None, min_version=None):
    -    if clock is None:
    -        clock = time.time
    -    if min_version is None:
    -        min_version = DEFAULT_SIGNED_VALUE_MIN_VERSION
    -    if min_version > 2:
    -        raise ValueError("Unsupported min_version %d" % min_version)
    -    if not value:
    -        return None
    -
    -    value = utf8(value)
    -    version = _get_version(value)
    -
    -    if version < min_version:
    -        return None
    -    if version == 1:
    -        return _decode_signed_value_v1(secret, name, value,
    -                                       max_age_days, clock)
    -    elif version == 2:
    -        return _decode_signed_value_v2(secret, name, value,
    -                                       max_age_days, clock)
    -    else:
    -        return None
    -
    -
    -def _decode_signed_value_v1(secret, name, value, max_age_days, clock):
    -    parts = utf8(value).split(b"|")
    -    if len(parts) != 3:
    -        return None
    -    signature = _create_signature_v1(secret, name, parts[0], parts[1])
    -    if not _time_independent_equals(parts[2], signature):
    -        gen_log.warning("Invalid cookie signature %r", value)
    -        return None
    -    timestamp = int(parts[1])
    -    if timestamp < clock() - max_age_days * 86400:
    -        gen_log.warning("Expired cookie %r", value)
    -        return None
    -    if timestamp > clock() + 31 * 86400:
    -        # _cookie_signature does not hash a delimiter between the
    -        # parts of the cookie, so an attacker could transfer trailing
    -        # digits from the payload to the timestamp without altering the
    -        # signature.  For backwards compatibility, sanity-check timestamp
    -        # here instead of modifying _cookie_signature.
    -        gen_log.warning("Cookie timestamp in future; possible tampering %r",
    -                        value)
    -        return None
    -    if parts[1].startswith(b"0"):
    -        gen_log.warning("Tampered cookie %r", value)
    -        return None
    -    try:
    -        return base64.b64decode(parts[0])
    -    except Exception:
    -        return None
    -
    -
    -def _decode_fields_v2(value):
    -    def _consume_field(s):
    -        length, _, rest = s.partition(b':')
    -        n = int(length)
    -        field_value = rest[:n]
    -        # In python 3, indexing bytes returns small integers; we must
    -        # use a slice to get a byte string as in python 2.
    -        if rest[n:n + 1] != b'|':
    -            raise ValueError("malformed v2 signed value field")
    -        rest = rest[n + 1:]
    -        return field_value, rest
    -
    -    rest = value[2:]  # remove version number
    -    key_version, rest = _consume_field(rest)
    -    timestamp, rest = _consume_field(rest)
    -    name_field, rest = _consume_field(rest)
    -    value_field, passed_sig = _consume_field(rest)
    -    return int(key_version), timestamp, name_field, value_field, passed_sig
    -
    -
    -def _decode_signed_value_v2(secret, name, value, max_age_days, clock):
    -    try:
    -        key_version, timestamp, name_field, value_field, passed_sig = _decode_fields_v2(value)
    -    except ValueError:
    -        return None
    -    signed_string = value[:-len(passed_sig)]
    -
    -    if isinstance(secret, dict):
    -        try:
    -            secret = secret[key_version]
    -        except KeyError:
    -            return None
    -
    -    expected_sig = _create_signature_v2(secret, signed_string)
    -    if not _time_independent_equals(passed_sig, expected_sig):
    -        return None
    -    if name_field != utf8(name):
    -        return None
    -    timestamp = int(timestamp)
    -    if timestamp < clock() - max_age_days * 86400:
    -        # The signature has expired.
    -        return None
    -    try:
    -        return base64.b64decode(value_field)
    -    except Exception:
    -        return None
    -
    -
    -def get_signature_key_version(value):
    -    value = utf8(value)
    -    version = _get_version(value)
    -    if version < 2:
    -        return None
    -    try:
    -        key_version, _, _, _, _ = _decode_fields_v2(value)
    -    except ValueError:
    -        return None
    -
    -    return key_version
    -
    -
    -def _create_signature_v1(secret, *parts):
    -    hash = hmac.new(utf8(secret), digestmod=hashlib.sha1)
    -    for part in parts:
    -        hash.update(utf8(part))
    -    return utf8(hash.hexdigest())
    -
    -
    -def _create_signature_v2(secret, s):
    -    hash = hmac.new(utf8(secret), digestmod=hashlib.sha256)
    -    hash.update(utf8(s))
    -    return utf8(hash.hexdigest())
    -
    -
    -def _unquote_or_none(s):
    -    """None-safe wrapper around url_unescape to handle unamteched optional
    -    groups correctly.
    -
    -    Note that args are passed as bytes so the handler can decide what
    -    encoding to use.
    -    """
    -    if s is None:
    -        return s
    -    return escape.url_unescape(s, encoding=None, plus=False)
    diff --git a/lib27/site-packages/tornado/websocket.py b/lib27/site-packages/tornado/websocket.py
    deleted file mode 100644
    index 11e526687..000000000
    --- a/lib27/site-packages/tornado/websocket.py
    +++ /dev/null
    @@ -1,1063 +0,0 @@
    -"""Implementation of the WebSocket protocol.
    -
    -`WebSockets `_ allow for bidirectional
    -communication between the browser and server.
    -
    -WebSockets are supported in the current versions of all major browsers,
    -although older versions that do not support WebSockets are still in use
    -(refer to http://caniuse.com/websockets for details).
    -
    -This module implements the final version of the WebSocket protocol as
    -defined in `RFC 6455 `_.  Certain
    -browser versions (notably Safari 5.x) implemented an earlier draft of
    -the protocol (known as "draft 76") and are not compatible with this module.
    -
    -.. versionchanged:: 4.0
    -   Removed support for the draft 76 protocol version.
    -"""
    -
    -from __future__ import absolute_import, division, print_function, with_statement
    -# Author: Jacob Kristhammar, 2010
    -
    -import base64
    -import collections
    -import hashlib
    -import os
    -import struct
    -import tornado.escape
    -import tornado.web
    -import zlib
    -
    -from tornado.concurrent import TracebackFuture
    -from tornado.escape import utf8, native_str, to_unicode
    -from tornado import httpclient, httputil
    -from tornado.ioloop import IOLoop
    -from tornado.iostream import StreamClosedError
    -from tornado.log import gen_log, app_log
    -from tornado import simple_httpclient
    -from tornado.tcpclient import TCPClient
    -from tornado.util import _websocket_mask
    -
    -try:
    -    from urllib.parse import urlparse  # py2
    -except ImportError:
    -    from urlparse import urlparse  # py3
    -
    -try:
    -    xrange  # py2
    -except NameError:
    -    xrange = range  # py3
    -
    -
    -class WebSocketError(Exception):
    -    pass
    -
    -
    -class WebSocketClosedError(WebSocketError):
    -    """Raised by operations on a closed connection.
    -
    -    .. versionadded:: 3.2
    -    """
    -    pass
    -
    -
    -class WebSocketHandler(tornado.web.RequestHandler):
    -    """Subclass this class to create a basic WebSocket handler.
    -
    -    Override `on_message` to handle incoming messages, and use
    -    `write_message` to send messages to the client. You can also
    -    override `open` and `on_close` to handle opened and closed
    -    connections.
    -
    -    See http://dev.w3.org/html5/websockets/ for details on the
    -    JavaScript interface.  The protocol is specified at
    -    http://tools.ietf.org/html/rfc6455.
    -
    -    Here is an example WebSocket handler that echos back all received messages
    -    back to the client:
    -
    -    .. testcode::
    -
    -      class EchoWebSocket(tornado.websocket.WebSocketHandler):
    -          def open(self):
    -              print("WebSocket opened")
    -
    -          def on_message(self, message):
    -              self.write_message(u"You said: " + message)
    -
    -          def on_close(self):
    -              print("WebSocket closed")
    -
    -    .. testoutput::
    -       :hide:
    -
    -    WebSockets are not standard HTTP connections. The "handshake" is
    -    HTTP, but after the handshake, the protocol is
    -    message-based. Consequently, most of the Tornado HTTP facilities
    -    are not available in handlers of this type. The only communication
    -    methods available to you are `write_message()`, `ping()`, and
    -    `close()`. Likewise, your request handler class should implement
    -    `open()` method rather than ``get()`` or ``post()``.
    -
    -    If you map the handler above to ``/websocket`` in your application, you can
    -    invoke it in JavaScript with::
    -
    -      var ws = new WebSocket("ws://localhost:8888/websocket");
    -      ws.onopen = function() {
    -         ws.send("Hello, world");
    -      };
    -      ws.onmessage = function (evt) {
    -         alert(evt.data);
    -      };
    -
    -    This script pops up an alert box that says "You said: Hello, world".
    -
    -    Web browsers allow any site to open a websocket connection to any other,
    -    instead of using the same-origin policy that governs other network
    -    access from javascript.  This can be surprising and is a potential
    -    security hole, so since Tornado 4.0 `WebSocketHandler` requires
    -    applications that wish to receive cross-origin websockets to opt in
    -    by overriding the `~WebSocketHandler.check_origin` method (see that
    -    method's docs for details).  Failure to do so is the most likely
    -    cause of 403 errors when making a websocket connection.
    -
    -    When using a secure websocket connection (``wss://``) with a self-signed
    -    certificate, the connection from a browser may fail because it wants
    -    to show the "accept this certificate" dialog but has nowhere to show it.
    -    You must first visit a regular HTML page using the same certificate
    -    to accept it before the websocket connection will succeed.
    -    """
    -    def __init__(self, application, request, **kwargs):
    -        tornado.web.RequestHandler.__init__(self, application, request,
    -                                            **kwargs)
    -        self.ws_connection = None
    -        self.close_code = None
    -        self.close_reason = None
    -        self.stream = None
    -        self._on_close_called = False
    -
    -    @tornado.web.asynchronous
    -    def get(self, *args, **kwargs):
    -        self.open_args = args
    -        self.open_kwargs = kwargs
    -
    -        # Upgrade header should be present and should be equal to WebSocket
    -        if self.request.headers.get("Upgrade", "").lower() != 'websocket':
    -            self.set_status(400)
    -            log_msg = "Can \"Upgrade\" only to \"WebSocket\"."
    -            self.finish(log_msg)
    -            gen_log.debug(log_msg)
    -            return
    -
    -        # Connection header should be upgrade.
    -        # Some proxy servers/load balancers
    -        # might mess with it.
    -        headers = self.request.headers
    -        connection = map(lambda s: s.strip().lower(),
    -                         headers.get("Connection", "").split(","))
    -        if 'upgrade' not in connection:
    -            self.set_status(400)
    -            log_msg = "\"Connection\" must be \"Upgrade\"."
    -            self.finish(log_msg)
    -            gen_log.debug(log_msg)
    -            return
    -
    -        # Handle WebSocket Origin naming convention differences
    -        # The difference between version 8 and 13 is that in 8 the
    -        # client sends a "Sec-Websocket-Origin" header and in 13 it's
    -        # simply "Origin".
    -        if "Origin" in self.request.headers:
    -            origin = self.request.headers.get("Origin")
    -        else:
    -            origin = self.request.headers.get("Sec-Websocket-Origin", None)
    -
    -        # If there was an origin header, check to make sure it matches
    -        # according to check_origin. When the origin is None, we assume it
    -        # did not come from a browser and that it can be passed on.
    -        if origin is not None and not self.check_origin(origin):
    -            self.set_status(403)
    -            log_msg = "Cross origin websockets not allowed"
    -            self.finish(log_msg)
    -            gen_log.debug(log_msg)
    -            return
    -
    -        self.stream = self.request.connection.detach()
    -        self.stream.set_close_callback(self.on_connection_close)
    -
    -        self.ws_connection = self.get_websocket_protocol()
    -        if self.ws_connection:
    -            self.ws_connection.accept_connection()
    -        else:
    -            if not self.stream.closed():
    -                self.stream.write(tornado.escape.utf8(
    -                    "HTTP/1.1 426 Upgrade Required\r\n"
    -                    "Sec-WebSocket-Version: 7, 8, 13\r\n\r\n"))
    -                self.stream.close()
    -
    -    def write_message(self, message, binary=False):
    -        """Sends the given message to the client of this Web Socket.
    -
    -        The message may be either a string or a dict (which will be
    -        encoded as json).  If the ``binary`` argument is false, the
    -        message will be sent as utf8; in binary mode any byte string
    -        is allowed.
    -
    -        If the connection is already closed, raises `WebSocketClosedError`.
    -
    -        .. versionchanged:: 3.2
    -           `WebSocketClosedError` was added (previously a closed connection
    -           would raise an `AttributeError`)
    -
    -        .. versionchanged:: 4.3
    -           Returns a `.Future` which can be used for flow control.
    -        """
    -        if self.ws_connection is None:
    -            raise WebSocketClosedError()
    -        if isinstance(message, dict):
    -            message = tornado.escape.json_encode(message)
    -        return self.ws_connection.write_message(message, binary=binary)
    -
    -    def select_subprotocol(self, subprotocols):
    -        """Invoked when a new WebSocket requests specific subprotocols.
    -
    -        ``subprotocols`` is a list of strings identifying the
    -        subprotocols proposed by the client.  This method may be
    -        overridden to return one of those strings to select it, or
    -        ``None`` to not select a subprotocol.  Failure to select a
    -        subprotocol does not automatically abort the connection,
    -        although clients may close the connection if none of their
    -        proposed subprotocols was selected.
    -        """
    -        return None
    -
    -    def get_compression_options(self):
    -        """Override to return compression options for the connection.
    -
    -        If this method returns None (the default), compression will
    -        be disabled.  If it returns a dict (even an empty one), it
    -        will be enabled.  The contents of the dict may be used to
    -        control the memory and CPU usage of the compression,
    -        but no such options are currently implemented.
    -
    -        .. versionadded:: 4.1
    -        """
    -        return None
    -
    -    def open(self, *args, **kwargs):
    -        """Invoked when a new WebSocket is opened.
    -
    -        The arguments to `open` are extracted from the `tornado.web.URLSpec`
    -        regular expression, just like the arguments to
    -        `tornado.web.RequestHandler.get`.
    -        """
    -        pass
    -
    -    def on_message(self, message):
    -        """Handle incoming messages on the WebSocket
    -
    -        This method must be overridden.
    -        """
    -        raise NotImplementedError
    -
    -    def ping(self, data):
    -        """Send ping frame to the remote end."""
    -        if self.ws_connection is None:
    -            raise WebSocketClosedError()
    -        self.ws_connection.write_ping(data)
    -
    -    def on_pong(self, data):
    -        """Invoked when the response to a ping frame is received."""
    -        pass
    -
    -    def on_close(self):
    -        """Invoked when the WebSocket is closed.
    -
    -        If the connection was closed cleanly and a status code or reason
    -        phrase was supplied, these values will be available as the attributes
    -        ``self.close_code`` and ``self.close_reason``.
    -
    -        .. versionchanged:: 4.0
    -
    -           Added ``close_code`` and ``close_reason`` attributes.
    -        """
    -        pass
    -
    -    def close(self, code=None, reason=None):
    -        """Closes this Web Socket.
    -
    -        Once the close handshake is successful the socket will be closed.
    -
    -        ``code`` may be a numeric status code, taken from the values
    -        defined in `RFC 6455 section 7.4.1
    -        `_.
    -        ``reason`` may be a textual message about why the connection is
    -        closing.  These values are made available to the client, but are
    -        not otherwise interpreted by the websocket protocol.
    -
    -        .. versionchanged:: 4.0
    -
    -           Added the ``code`` and ``reason`` arguments.
    -        """
    -        if self.ws_connection:
    -            self.ws_connection.close(code, reason)
    -            self.ws_connection = None
    -
    -    def check_origin(self, origin):
    -        """Override to enable support for allowing alternate origins.
    -
    -        The ``origin`` argument is the value of the ``Origin`` HTTP
    -        header, the url responsible for initiating this request.  This
    -        method is not called for clients that do not send this header;
    -        such requests are always allowed (because all browsers that
    -        implement WebSockets support this header, and non-browser
    -        clients do not have the same cross-site security concerns).
    -
    -        Should return True to accept the request or False to reject it.
    -        By default, rejects all requests with an origin on a host other
    -        than this one.
    -
    -        This is a security protection against cross site scripting attacks on
    -        browsers, since WebSockets are allowed to bypass the usual same-origin
    -        policies and don't use CORS headers.
    -
    -        To accept all cross-origin traffic (which was the default prior to
    -        Tornado 4.0), simply override this method to always return true::
    -
    -            def check_origin(self, origin):
    -                return True
    -
    -        To allow connections from any subdomain of your site, you might
    -        do something like::
    -
    -            def check_origin(self, origin):
    -                parsed_origin = urllib.parse.urlparse(origin)
    -                return parsed_origin.netloc.endswith(".mydomain.com")
    -
    -        .. versionadded:: 4.0
    -        """
    -        parsed_origin = urlparse(origin)
    -        origin = parsed_origin.netloc
    -        origin = origin.lower()
    -
    -        host = self.request.headers.get("Host")
    -
    -        # Check to see that origin matches host directly, including ports
    -        return origin == host
    -
    -    def set_nodelay(self, value):
    -        """Set the no-delay flag for this stream.
    -
    -        By default, small messages may be delayed and/or combined to minimize
    -        the number of packets sent.  This can sometimes cause 200-500ms delays
    -        due to the interaction between Nagle's algorithm and TCP delayed
    -        ACKs.  To reduce this delay (at the expense of possibly increasing
    -        bandwidth usage), call ``self.set_nodelay(True)`` once the websocket
    -        connection is established.
    -
    -        See `.BaseIOStream.set_nodelay` for additional details.
    -
    -        .. versionadded:: 3.1
    -        """
    -        self.stream.set_nodelay(value)
    -
    -    def on_connection_close(self):
    -        if self.ws_connection:
    -            self.ws_connection.on_connection_close()
    -            self.ws_connection = None
    -        if not self._on_close_called:
    -            self._on_close_called = True
    -            self.on_close()
    -
    -    def send_error(self, *args, **kwargs):
    -        if self.stream is None:
    -            super(WebSocketHandler, self).send_error(*args, **kwargs)
    -        else:
    -            # If we get an uncaught exception during the handshake,
    -            # we have no choice but to abruptly close the connection.
    -            # TODO: for uncaught exceptions after the handshake,
    -            # we can close the connection more gracefully.
    -            self.stream.close()
    -
    -    def get_websocket_protocol(self):
    -        websocket_version = self.request.headers.get("Sec-WebSocket-Version")
    -        if websocket_version in ("7", "8", "13"):
    -            return WebSocketProtocol13(
    -                self, compression_options=self.get_compression_options())
    -
    -
    -def _wrap_method(method):
    -    def _disallow_for_websocket(self, *args, **kwargs):
    -        if self.stream is None:
    -            method(self, *args, **kwargs)
    -        else:
    -            raise RuntimeError("Method not supported for Web Sockets")
    -    return _disallow_for_websocket
    -for method in ["write", "redirect", "set_header", "set_cookie",
    -               "set_status", "flush", "finish"]:
    -    setattr(WebSocketHandler, method,
    -            _wrap_method(getattr(WebSocketHandler, method)))
    -
    -
    -class WebSocketProtocol(object):
    -    """Base class for WebSocket protocol versions.
    -    """
    -    def __init__(self, handler):
    -        self.handler = handler
    -        self.request = handler.request
    -        self.stream = handler.stream
    -        self.client_terminated = False
    -        self.server_terminated = False
    -
    -    def _run_callback(self, callback, *args, **kwargs):
    -        """Runs the given callback with exception handling.
    -
    -        On error, aborts the websocket connection and returns False.
    -        """
    -        try:
    -            callback(*args, **kwargs)
    -        except Exception:
    -            app_log.error("Uncaught exception in %s",
    -                          self.request.path, exc_info=True)
    -            self._abort()
    -
    -    def on_connection_close(self):
    -        self._abort()
    -
    -    def _abort(self):
    -        """Instantly aborts the WebSocket connection by closing the socket"""
    -        self.client_terminated = True
    -        self.server_terminated = True
    -        self.stream.close()  # forcibly tear down the connection
    -        self.close()  # let the subclass cleanup
    -
    -
    -class _PerMessageDeflateCompressor(object):
    -    def __init__(self, persistent, max_wbits):
    -        if max_wbits is None:
    -            max_wbits = zlib.MAX_WBITS
    -        # There is no symbolic constant for the minimum wbits value.
    -        if not (8 <= max_wbits <= zlib.MAX_WBITS):
    -            raise ValueError("Invalid max_wbits value %r; allowed range 8-%d",
    -                             max_wbits, zlib.MAX_WBITS)
    -        self._max_wbits = max_wbits
    -        if persistent:
    -            self._compressor = self._create_compressor()
    -        else:
    -            self._compressor = None
    -
    -    def _create_compressor(self):
    -        return zlib.compressobj(tornado.web.GZipContentEncoding.GZIP_LEVEL,
    -                                zlib.DEFLATED, -self._max_wbits)
    -
    -    def compress(self, data):
    -        compressor = self._compressor or self._create_compressor()
    -        data = (compressor.compress(data) +
    -                compressor.flush(zlib.Z_SYNC_FLUSH))
    -        assert data.endswith(b'\x00\x00\xff\xff')
    -        return data[:-4]
    -
    -
    -class _PerMessageDeflateDecompressor(object):
    -    def __init__(self, persistent, max_wbits):
    -        if max_wbits is None:
    -            max_wbits = zlib.MAX_WBITS
    -        if not (8 <= max_wbits <= zlib.MAX_WBITS):
    -            raise ValueError("Invalid max_wbits value %r; allowed range 8-%d",
    -                             max_wbits, zlib.MAX_WBITS)
    -        self._max_wbits = max_wbits
    -        if persistent:
    -            self._decompressor = self._create_decompressor()
    -        else:
    -            self._decompressor = None
    -
    -    def _create_decompressor(self):
    -        return zlib.decompressobj(-self._max_wbits)
    -
    -    def decompress(self, data):
    -        decompressor = self._decompressor or self._create_decompressor()
    -        return decompressor.decompress(data + b'\x00\x00\xff\xff')
    -
    -
    -class WebSocketProtocol13(WebSocketProtocol):
    -    """Implementation of the WebSocket protocol from RFC 6455.
    -
    -    This class supports versions 7 and 8 of the protocol in addition to the
    -    final version 13.
    -    """
    -    # Bit masks for the first byte of a frame.
    -    FIN = 0x80
    -    RSV1 = 0x40
    -    RSV2 = 0x20
    -    RSV3 = 0x10
    -    RSV_MASK = RSV1 | RSV2 | RSV3
    -    OPCODE_MASK = 0x0f
    -
    -    def __init__(self, handler, mask_outgoing=False,
    -                 compression_options=None):
    -        WebSocketProtocol.__init__(self, handler)
    -        self.mask_outgoing = mask_outgoing
    -        self._final_frame = False
    -        self._frame_opcode = None
    -        self._masked_frame = None
    -        self._frame_mask = None
    -        self._frame_length = None
    -        self._fragmented_message_buffer = None
    -        self._fragmented_message_opcode = None
    -        self._waiting = None
    -        self._compression_options = compression_options
    -        self._decompressor = None
    -        self._compressor = None
    -        self._frame_compressed = None
    -        # The total uncompressed size of all messages received or sent.
    -        # Unicode messages are encoded to utf8.
    -        # Only for testing; subject to change.
    -        self._message_bytes_in = 0
    -        self._message_bytes_out = 0
    -        # The total size of all packets received or sent.  Includes
    -        # the effect of compression, frame overhead, and control frames.
    -        self._wire_bytes_in = 0
    -        self._wire_bytes_out = 0
    -
    -    def accept_connection(self):
    -        try:
    -            self._handle_websocket_headers()
    -            self._accept_connection()
    -        except ValueError:
    -            gen_log.debug("Malformed WebSocket request received",
    -                          exc_info=True)
    -            self._abort()
    -            return
    -
    -    def _handle_websocket_headers(self):
    -        """Verifies all invariant- and required headers
    -
    -        If a header is missing or have an incorrect value ValueError will be
    -        raised
    -        """
    -        fields = ("Host", "Sec-Websocket-Key", "Sec-Websocket-Version")
    -        if not all(map(lambda f: self.request.headers.get(f), fields)):
    -            raise ValueError("Missing/Invalid WebSocket headers")
    -
    -    @staticmethod
    -    def compute_accept_value(key):
    -        """Computes the value for the Sec-WebSocket-Accept header,
    -        given the value for Sec-WebSocket-Key.
    -        """
    -        sha1 = hashlib.sha1()
    -        sha1.update(utf8(key))
    -        sha1.update(b"258EAFA5-E914-47DA-95CA-C5AB0DC85B11")  # Magic value
    -        return native_str(base64.b64encode(sha1.digest()))
    -
    -    def _challenge_response(self):
    -        return WebSocketProtocol13.compute_accept_value(
    -            self.request.headers.get("Sec-Websocket-Key"))
    -
    -    def _accept_connection(self):
    -        subprotocol_header = ''
    -        subprotocols = self.request.headers.get("Sec-WebSocket-Protocol", '')
    -        subprotocols = [s.strip() for s in subprotocols.split(',')]
    -        if subprotocols:
    -            selected = self.handler.select_subprotocol(subprotocols)
    -            if selected:
    -                assert selected in subprotocols
    -                subprotocol_header = ("Sec-WebSocket-Protocol: %s\r\n"
    -                                      % selected)
    -
    -        extension_header = ''
    -        extensions = self._parse_extensions_header(self.request.headers)
    -        for ext in extensions:
    -            if (ext[0] == 'permessage-deflate' and
    -                    self._compression_options is not None):
    -                # TODO: negotiate parameters if compression_options
    -                # specifies limits.
    -                self._create_compressors('server', ext[1])
    -                if ('client_max_window_bits' in ext[1] and
    -                        ext[1]['client_max_window_bits'] is None):
    -                    # Don't echo an offered client_max_window_bits
    -                    # parameter with no value.
    -                    del ext[1]['client_max_window_bits']
    -                extension_header = ('Sec-WebSocket-Extensions: %s\r\n' %
    -                                    httputil._encode_header(
    -                                        'permessage-deflate', ext[1]))
    -                break
    -
    -        if self.stream.closed():
    -            self._abort()
    -            return
    -        self.stream.write(tornado.escape.utf8(
    -            "HTTP/1.1 101 Switching Protocols\r\n"
    -            "Upgrade: websocket\r\n"
    -            "Connection: Upgrade\r\n"
    -            "Sec-WebSocket-Accept: %s\r\n"
    -            "%s%s"
    -            "\r\n" % (self._challenge_response(),
    -                      subprotocol_header, extension_header)))
    -
    -        self._run_callback(self.handler.open, *self.handler.open_args,
    -                           **self.handler.open_kwargs)
    -        self._receive_frame()
    -
    -    def _parse_extensions_header(self, headers):
    -        extensions = headers.get("Sec-WebSocket-Extensions", '')
    -        if extensions:
    -            return [httputil._parse_header(e.strip())
    -                    for e in extensions.split(',')]
    -        return []
    -
    -    def _process_server_headers(self, key, headers):
    -        """Process the headers sent by the server to this client connection.
    -
    -        'key' is the websocket handshake challenge/response key.
    -        """
    -        assert headers['Upgrade'].lower() == 'websocket'
    -        assert headers['Connection'].lower() == 'upgrade'
    -        accept = self.compute_accept_value(key)
    -        assert headers['Sec-Websocket-Accept'] == accept
    -
    -        extensions = self._parse_extensions_header(headers)
    -        for ext in extensions:
    -            if (ext[0] == 'permessage-deflate' and
    -                    self._compression_options is not None):
    -                self._create_compressors('client', ext[1])
    -            else:
    -                raise ValueError("unsupported extension %r", ext)
    -
    -    def _get_compressor_options(self, side, agreed_parameters):
    -        """Converts a websocket agreed_parameters set to keyword arguments
    -        for our compressor objects.
    -        """
    -        options = dict(
    -            persistent=(side + '_no_context_takeover') not in agreed_parameters)
    -        wbits_header = agreed_parameters.get(side + '_max_window_bits', None)
    -        if wbits_header is None:
    -            options['max_wbits'] = zlib.MAX_WBITS
    -        else:
    -            options['max_wbits'] = int(wbits_header)
    -        return options
    -
    -    def _create_compressors(self, side, agreed_parameters):
    -        # TODO: handle invalid parameters gracefully
    -        allowed_keys = set(['server_no_context_takeover',
    -                            'client_no_context_takeover',
    -                            'server_max_window_bits',
    -                            'client_max_window_bits'])
    -        for key in agreed_parameters:
    -            if key not in allowed_keys:
    -                raise ValueError("unsupported compression parameter %r" % key)
    -        other_side = 'client' if (side == 'server') else 'server'
    -        self._compressor = _PerMessageDeflateCompressor(
    -            **self._get_compressor_options(side, agreed_parameters))
    -        self._decompressor = _PerMessageDeflateDecompressor(
    -            **self._get_compressor_options(other_side, agreed_parameters))
    -
    -    def _write_frame(self, fin, opcode, data, flags=0):
    -        if fin:
    -            finbit = self.FIN
    -        else:
    -            finbit = 0
    -        frame = struct.pack("B", finbit | opcode | flags)
    -        l = len(data)
    -        if self.mask_outgoing:
    -            mask_bit = 0x80
    -        else:
    -            mask_bit = 0
    -        if l < 126:
    -            frame += struct.pack("B", l | mask_bit)
    -        elif l <= 0xFFFF:
    -            frame += struct.pack("!BH", 126 | mask_bit, l)
    -        else:
    -            frame += struct.pack("!BQ", 127 | mask_bit, l)
    -        if self.mask_outgoing:
    -            mask = os.urandom(4)
    -            data = mask + _websocket_mask(mask, data)
    -        frame += data
    -        self._wire_bytes_out += len(frame)
    -        try:
    -            return self.stream.write(frame)
    -        except StreamClosedError:
    -            self._abort()
    -
    -    def write_message(self, message, binary=False):
    -        """Sends the given message to the client of this Web Socket."""
    -        if binary:
    -            opcode = 0x2
    -        else:
    -            opcode = 0x1
    -        message = tornado.escape.utf8(message)
    -        assert isinstance(message, bytes)
    -        self._message_bytes_out += len(message)
    -        flags = 0
    -        if self._compressor:
    -            message = self._compressor.compress(message)
    -            flags |= self.RSV1
    -        return self._write_frame(True, opcode, message, flags=flags)
    -
    -    def write_ping(self, data):
    -        """Send ping frame."""
    -        assert isinstance(data, bytes)
    -        self._write_frame(True, 0x9, data)
    -
    -    def _receive_frame(self):
    -        try:
    -            self.stream.read_bytes(2, self._on_frame_start)
    -        except StreamClosedError:
    -            self._abort()
    -
    -    def _on_frame_start(self, data):
    -        self._wire_bytes_in += len(data)
    -        header, payloadlen = struct.unpack("BB", data)
    -        self._final_frame = header & self.FIN
    -        reserved_bits = header & self.RSV_MASK
    -        self._frame_opcode = header & self.OPCODE_MASK
    -        self._frame_opcode_is_control = self._frame_opcode & 0x8
    -        if self._decompressor is not None and self._frame_opcode != 0:
    -            self._frame_compressed = bool(reserved_bits & self.RSV1)
    -            reserved_bits &= ~self.RSV1
    -        if reserved_bits:
    -            # client is using as-yet-undefined extensions; abort
    -            self._abort()
    -            return
    -        self._masked_frame = bool(payloadlen & 0x80)
    -        payloadlen = payloadlen & 0x7f
    -        if self._frame_opcode_is_control and payloadlen >= 126:
    -            # control frames must have payload < 126
    -            self._abort()
    -            return
    -        try:
    -            if payloadlen < 126:
    -                self._frame_length = payloadlen
    -                if self._masked_frame:
    -                    self.stream.read_bytes(4, self._on_masking_key)
    -                else:
    -                    self.stream.read_bytes(self._frame_length,
    -                                           self._on_frame_data)
    -            elif payloadlen == 126:
    -                self.stream.read_bytes(2, self._on_frame_length_16)
    -            elif payloadlen == 127:
    -                self.stream.read_bytes(8, self._on_frame_length_64)
    -        except StreamClosedError:
    -            self._abort()
    -
    -    def _on_frame_length_16(self, data):
    -        self._wire_bytes_in += len(data)
    -        self._frame_length = struct.unpack("!H", data)[0]
    -        try:
    -            if self._masked_frame:
    -                self.stream.read_bytes(4, self._on_masking_key)
    -            else:
    -                self.stream.read_bytes(self._frame_length, self._on_frame_data)
    -        except StreamClosedError:
    -            self._abort()
    -
    -    def _on_frame_length_64(self, data):
    -        self._wire_bytes_in += len(data)
    -        self._frame_length = struct.unpack("!Q", data)[0]
    -        try:
    -            if self._masked_frame:
    -                self.stream.read_bytes(4, self._on_masking_key)
    -            else:
    -                self.stream.read_bytes(self._frame_length, self._on_frame_data)
    -        except StreamClosedError:
    -            self._abort()
    -
    -    def _on_masking_key(self, data):
    -        self._wire_bytes_in += len(data)
    -        self._frame_mask = data
    -        try:
    -            self.stream.read_bytes(self._frame_length,
    -                                   self._on_masked_frame_data)
    -        except StreamClosedError:
    -            self._abort()
    -
    -    def _on_masked_frame_data(self, data):
    -        # Don't touch _wire_bytes_in; we'll do it in _on_frame_data.
    -        self._on_frame_data(_websocket_mask(self._frame_mask, data))
    -
    -    def _on_frame_data(self, data):
    -        self._wire_bytes_in += len(data)
    -        if self._frame_opcode_is_control:
    -            # control frames may be interleaved with a series of fragmented
    -            # data frames, so control frames must not interact with
    -            # self._fragmented_*
    -            if not self._final_frame:
    -                # control frames must not be fragmented
    -                self._abort()
    -                return
    -            opcode = self._frame_opcode
    -        elif self._frame_opcode == 0:  # continuation frame
    -            if self._fragmented_message_buffer is None:
    -                # nothing to continue
    -                self._abort()
    -                return
    -            self._fragmented_message_buffer += data
    -            if self._final_frame:
    -                opcode = self._fragmented_message_opcode
    -                data = self._fragmented_message_buffer
    -                self._fragmented_message_buffer = None
    -        else:  # start of new data message
    -            if self._fragmented_message_buffer is not None:
    -                # can't start new message until the old one is finished
    -                self._abort()
    -                return
    -            if self._final_frame:
    -                opcode = self._frame_opcode
    -            else:
    -                self._fragmented_message_opcode = self._frame_opcode
    -                self._fragmented_message_buffer = data
    -
    -        if self._final_frame:
    -            self._handle_message(opcode, data)
    -
    -        if not self.client_terminated:
    -            self._receive_frame()
    -
    -    def _handle_message(self, opcode, data):
    -        if self.client_terminated:
    -            return
    -
    -        if self._frame_compressed:
    -            data = self._decompressor.decompress(data)
    -
    -        if opcode == 0x1:
    -            # UTF-8 data
    -            self._message_bytes_in += len(data)
    -            try:
    -                decoded = data.decode("utf-8")
    -            except UnicodeDecodeError:
    -                self._abort()
    -                return
    -            self._run_callback(self.handler.on_message, decoded)
    -        elif opcode == 0x2:
    -            # Binary data
    -            self._message_bytes_in += len(data)
    -            self._run_callback(self.handler.on_message, data)
    -        elif opcode == 0x8:
    -            # Close
    -            self.client_terminated = True
    -            if len(data) >= 2:
    -                self.handler.close_code = struct.unpack('>H', data[:2])[0]
    -            if len(data) > 2:
    -                self.handler.close_reason = to_unicode(data[2:])
    -            # Echo the received close code, if any (RFC 6455 section 5.5.1).
    -            self.close(self.handler.close_code)
    -        elif opcode == 0x9:
    -            # Ping
    -            self._write_frame(True, 0xA, data)
    -        elif opcode == 0xA:
    -            # Pong
    -            self._run_callback(self.handler.on_pong, data)
    -        else:
    -            self._abort()
    -
    -    def close(self, code=None, reason=None):
    -        """Closes the WebSocket connection."""
    -        if not self.server_terminated:
    -            if not self.stream.closed():
    -                if code is None and reason is not None:
    -                    code = 1000  # "normal closure" status code
    -                if code is None:
    -                    close_data = b''
    -                else:
    -                    close_data = struct.pack('>H', code)
    -                if reason is not None:
    -                    close_data += utf8(reason)
    -                self._write_frame(True, 0x8, close_data)
    -            self.server_terminated = True
    -        if self.client_terminated:
    -            if self._waiting is not None:
    -                self.stream.io_loop.remove_timeout(self._waiting)
    -                self._waiting = None
    -            self.stream.close()
    -        elif self._waiting is None:
    -            # Give the client a few seconds to complete a clean shutdown,
    -            # otherwise just close the connection.
    -            self._waiting = self.stream.io_loop.add_timeout(
    -                self.stream.io_loop.time() + 5, self._abort)
    -
    -
    -class WebSocketClientConnection(simple_httpclient._HTTPConnection):
    -    """WebSocket client connection.
    -
    -    This class should not be instantiated directly; use the
    -    `websocket_connect` function instead.
    -    """
    -    def __init__(self, io_loop, request, on_message_callback=None,
    -                 compression_options=None):
    -        self.compression_options = compression_options
    -        self.connect_future = TracebackFuture()
    -        self.protocol = None
    -        self.read_future = None
    -        self.read_queue = collections.deque()
    -        self.key = base64.b64encode(os.urandom(16))
    -        self._on_message_callback = on_message_callback
    -        self.close_code = self.close_reason = None
    -
    -        scheme, sep, rest = request.url.partition(':')
    -        scheme = {'ws': 'http', 'wss': 'https'}[scheme]
    -        request.url = scheme + sep + rest
    -        request.headers.update({
    -            'Upgrade': 'websocket',
    -            'Connection': 'Upgrade',
    -            'Sec-WebSocket-Key': self.key,
    -            'Sec-WebSocket-Version': '13',
    -        })
    -        if self.compression_options is not None:
    -            # Always offer to let the server set our max_wbits (and even though
    -            # we don't offer it, we will accept a client_no_context_takeover
    -            # from the server).
    -            # TODO: set server parameters for deflate extension
    -            # if requested in self.compression_options.
    -            request.headers['Sec-WebSocket-Extensions'] = (
    -                'permessage-deflate; client_max_window_bits')
    -
    -        self.tcp_client = TCPClient(io_loop=io_loop)
    -        super(WebSocketClientConnection, self).__init__(
    -            io_loop, None, request, lambda: None, self._on_http_response,
    -            104857600, self.tcp_client, 65536, 104857600)
    -
    -    def close(self, code=None, reason=None):
    -        """Closes the websocket connection.
    -
    -        ``code`` and ``reason`` are documented under
    -        `WebSocketHandler.close`.
    -
    -        .. versionadded:: 3.2
    -
    -        .. versionchanged:: 4.0
    -
    -           Added the ``code`` and ``reason`` arguments.
    -        """
    -        if self.protocol is not None:
    -            self.protocol.close(code, reason)
    -            self.protocol = None
    -
    -    def on_connection_close(self):
    -        if not self.connect_future.done():
    -            self.connect_future.set_exception(StreamClosedError())
    -        self.on_message(None)
    -        self.tcp_client.close()
    -        super(WebSocketClientConnection, self).on_connection_close()
    -
    -    def _on_http_response(self, response):
    -        if not self.connect_future.done():
    -            if response.error:
    -                self.connect_future.set_exception(response.error)
    -            else:
    -                self.connect_future.set_exception(WebSocketError(
    -                    "Non-websocket response"))
    -
    -    def headers_received(self, start_line, headers):
    -        if start_line.code != 101:
    -            return super(WebSocketClientConnection, self).headers_received(
    -                start_line, headers)
    -
    -        self.headers = headers
    -        self.protocol = self.get_websocket_protocol()
    -        self.protocol._process_server_headers(self.key, self.headers)
    -        self.protocol._receive_frame()
    -
    -        if self._timeout is not None:
    -            self.io_loop.remove_timeout(self._timeout)
    -            self._timeout = None
    -
    -        self.stream = self.connection.detach()
    -        self.stream.set_close_callback(self.on_connection_close)
    -        # Once we've taken over the connection, clear the final callback
    -        # we set on the http request.  This deactivates the error handling
    -        # in simple_httpclient that would otherwise interfere with our
    -        # ability to see exceptions.
    -        self.final_callback = None
    -
    -        self.connect_future.set_result(self)
    -
    -    def write_message(self, message, binary=False):
    -        """Sends a message to the WebSocket server."""
    -        return self.protocol.write_message(message, binary)
    -
    -    def read_message(self, callback=None):
    -        """Reads a message from the WebSocket server.
    -
    -        If on_message_callback was specified at WebSocket
    -        initialization, this function will never return messages
    -
    -        Returns a future whose result is the message, or None
    -        if the connection is closed.  If a callback argument
    -        is given it will be called with the future when it is
    -        ready.
    -        """
    -        assert self.read_future is None
    -        future = TracebackFuture()
    -        if self.read_queue:
    -            future.set_result(self.read_queue.popleft())
    -        else:
    -            self.read_future = future
    -        if callback is not None:
    -            self.io_loop.add_future(future, callback)
    -        return future
    -
    -    def on_message(self, message):
    -        if self._on_message_callback:
    -            self._on_message_callback(message)
    -        elif self.read_future is not None:
    -            self.read_future.set_result(message)
    -            self.read_future = None
    -        else:
    -            self.read_queue.append(message)
    -
    -    def on_pong(self, data):
    -        pass
    -
    -    def get_websocket_protocol(self):
    -        return WebSocketProtocol13(self, mask_outgoing=True,
    -                                   compression_options=self.compression_options)
    -
    -
    -def websocket_connect(url, io_loop=None, callback=None, connect_timeout=None,
    -                      on_message_callback=None, compression_options=None):
    -    """Client-side websocket support.
    -
    -    Takes a url and returns a Future whose result is a
    -    `WebSocketClientConnection`.
    -
    -    ``compression_options`` is interpreted in the same way as the
    -    return value of `.WebSocketHandler.get_compression_options`.
    -
    -    The connection supports two styles of operation. In the coroutine
    -    style, the application typically calls
    -    `~.WebSocketClientConnection.read_message` in a loop::
    -
    -        conn = yield websocket_connect(url)
    -        while True:
    -            msg = yield conn.read_message()
    -            if msg is None: break
    -            # Do something with msg
    -
    -    In the callback style, pass an ``on_message_callback`` to
    -    ``websocket_connect``. In both styles, a message of ``None``
    -    indicates that the connection has been closed.
    -
    -    .. versionchanged:: 3.2
    -       Also accepts ``HTTPRequest`` objects in place of urls.
    -
    -    .. versionchanged:: 4.1
    -       Added ``compression_options`` and ``on_message_callback``.
    -       The ``io_loop`` argument is deprecated.
    -    """
    -    if io_loop is None:
    -        io_loop = IOLoop.current()
    -    if isinstance(url, httpclient.HTTPRequest):
    -        assert connect_timeout is None
    -        request = url
    -        # Copy and convert the headers dict/object (see comments in
    -        # AsyncHTTPClient.fetch)
    -        request.headers = httputil.HTTPHeaders(request.headers)
    -    else:
    -        request = httpclient.HTTPRequest(url, connect_timeout=connect_timeout)
    -    request = httpclient._RequestProxy(
    -        request, httpclient.HTTPRequest._DEFAULTS)
    -    conn = WebSocketClientConnection(io_loop, request,
    -                                     on_message_callback=on_message_callback,
    -                                     compression_options=compression_options)
    -    if callback is not None:
    -        io_loop.add_future(conn.connect_future, callback)
    -    return conn.connect_future
    diff --git a/lib27/site-packages/tornado/wsgi.py b/lib27/site-packages/tornado/wsgi.py
    deleted file mode 100644
    index 59e6c559f..000000000
    --- a/lib27/site-packages/tornado/wsgi.py
    +++ /dev/null
    @@ -1,358 +0,0 @@
    -#!/usr/bin/env python
    -#
    -# Copyright 2009 Facebook
    -#
    -# 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.
    -
    -"""WSGI support for the Tornado web framework.
    -
    -WSGI is the Python standard for web servers, and allows for interoperability
    -between Tornado and other Python web frameworks and servers.  This module
    -provides WSGI support in two ways:
    -
    -* `WSGIAdapter` converts a `tornado.web.Application` to the WSGI application
    -  interface.  This is useful for running a Tornado app on another
    -  HTTP server, such as Google App Engine.  See the `WSGIAdapter` class
    -  documentation for limitations that apply.
    -* `WSGIContainer` lets you run other WSGI applications and frameworks on the
    -  Tornado HTTP server.  For example, with this class you can mix Django
    -  and Tornado handlers in a single server.
    -"""
    -
    -from __future__ import absolute_import, division, print_function, with_statement
    -
    -import sys
    -from io import BytesIO
    -import tornado
    -
    -from tornado.concurrent import Future
    -from tornado import escape
    -from tornado import httputil
    -from tornado.log import access_log
    -from tornado import web
    -from tornado.escape import native_str
    -from tornado.util import unicode_type
    -
    -
    -try:
    -    import urllib.parse as urllib_parse  # py3
    -except ImportError:
    -    import urllib as urllib_parse
    -
    -# PEP 3333 specifies that WSGI on python 3 generally deals with byte strings
    -# that are smuggled inside objects of type unicode (via the latin1 encoding).
    -# These functions are like those in the tornado.escape module, but defined
    -# here to minimize the temptation to use them in non-wsgi contexts.
    -if str is unicode_type:
    -    def to_wsgi_str(s):
    -        assert isinstance(s, bytes)
    -        return s.decode('latin1')
    -
    -    def from_wsgi_str(s):
    -        assert isinstance(s, str)
    -        return s.encode('latin1')
    -else:
    -    def to_wsgi_str(s):
    -        assert isinstance(s, bytes)
    -        return s
    -
    -    def from_wsgi_str(s):
    -        assert isinstance(s, str)
    -        return s
    -
    -
    -class WSGIApplication(web.Application):
    -    """A WSGI equivalent of `tornado.web.Application`.
    -
    -    .. deprecated:: 4.0
    -
    -       Use a regular `.Application` and wrap it in `WSGIAdapter` instead.
    -    """
    -    def __call__(self, environ, start_response):
    -        return WSGIAdapter(self)(environ, start_response)
    -
    -
    -# WSGI has no facilities for flow control, so just return an already-done
    -# Future when the interface requires it.
    -_dummy_future = Future()
    -_dummy_future.set_result(None)
    -
    -
    -class _WSGIConnection(httputil.HTTPConnection):
    -    def __init__(self, method, start_response, context):
    -        self.method = method
    -        self.start_response = start_response
    -        self.context = context
    -        self._write_buffer = []
    -        self._finished = False
    -        self._expected_content_remaining = None
    -        self._error = None
    -
    -    def set_close_callback(self, callback):
    -        # WSGI has no facility for detecting a closed connection mid-request,
    -        # so we can simply ignore the callback.
    -        pass
    -
    -    def write_headers(self, start_line, headers, chunk=None, callback=None):
    -        if self.method == 'HEAD':
    -            self._expected_content_remaining = 0
    -        elif 'Content-Length' in headers:
    -            self._expected_content_remaining = int(headers['Content-Length'])
    -        else:
    -            self._expected_content_remaining = None
    -        self.start_response(
    -            '%s %s' % (start_line.code, start_line.reason),
    -            [(native_str(k), native_str(v)) for (k, v) in headers.get_all()])
    -        if chunk is not None:
    -            self.write(chunk, callback)
    -        elif callback is not None:
    -            callback()
    -        return _dummy_future
    -
    -    def write(self, chunk, callback=None):
    -        if self._expected_content_remaining is not None:
    -            self._expected_content_remaining -= len(chunk)
    -            if self._expected_content_remaining < 0:
    -                self._error = httputil.HTTPOutputError(
    -                    "Tried to write more data than Content-Length")
    -                raise self._error
    -        self._write_buffer.append(chunk)
    -        if callback is not None:
    -            callback()
    -        return _dummy_future
    -
    -    def finish(self):
    -        if (self._expected_content_remaining is not None and
    -                self._expected_content_remaining != 0):
    -            self._error = httputil.HTTPOutputError(
    -                "Tried to write %d bytes less than Content-Length" %
    -                self._expected_content_remaining)
    -            raise self._error
    -        self._finished = True
    -
    -
    -class _WSGIRequestContext(object):
    -    def __init__(self, remote_ip, protocol):
    -        self.remote_ip = remote_ip
    -        self.protocol = protocol
    -
    -    def __str__(self):
    -        return self.remote_ip
    -
    -
    -class WSGIAdapter(object):
    -    """Converts a `tornado.web.Application` instance into a WSGI application.
    -
    -    Example usage::
    -
    -        import tornado.web
    -        import tornado.wsgi
    -        import wsgiref.simple_server
    -
    -        class MainHandler(tornado.web.RequestHandler):
    -            def get(self):
    -                self.write("Hello, world")
    -
    -        if __name__ == "__main__":
    -            application = tornado.web.Application([
    -                (r"/", MainHandler),
    -            ])
    -            wsgi_app = tornado.wsgi.WSGIAdapter(application)
    -            server = wsgiref.simple_server.make_server('', 8888, wsgi_app)
    -            server.serve_forever()
    -
    -    See the `appengine demo
    -    `_
    -    for an example of using this module to run a Tornado app on Google
    -    App Engine.
    -
    -    In WSGI mode asynchronous methods are not supported.  This means
    -    that it is not possible to use `.AsyncHTTPClient`, or the
    -    `tornado.auth` or `tornado.websocket` modules.
    -
    -    .. versionadded:: 4.0
    -    """
    -    def __init__(self, application):
    -        if isinstance(application, WSGIApplication):
    -            self.application = lambda request: web.Application.__call__(
    -                application, request)
    -        else:
    -            self.application = application
    -
    -    def __call__(self, environ, start_response):
    -        method = environ["REQUEST_METHOD"]
    -        uri = urllib_parse.quote(from_wsgi_str(environ.get("SCRIPT_NAME", "")))
    -        uri += urllib_parse.quote(from_wsgi_str(environ.get("PATH_INFO", "")))
    -        if environ.get("QUERY_STRING"):
    -            uri += "?" + environ["QUERY_STRING"]
    -        headers = httputil.HTTPHeaders()
    -        if environ.get("CONTENT_TYPE"):
    -            headers["Content-Type"] = environ["CONTENT_TYPE"]
    -        if environ.get("CONTENT_LENGTH"):
    -            headers["Content-Length"] = environ["CONTENT_LENGTH"]
    -        for key in environ:
    -            if key.startswith("HTTP_"):
    -                headers[key[5:].replace("_", "-")] = environ[key]
    -        if headers.get("Content-Length"):
    -            body = environ["wsgi.input"].read(
    -                int(headers["Content-Length"]))
    -        else:
    -            body = b""
    -        protocol = environ["wsgi.url_scheme"]
    -        remote_ip = environ.get("REMOTE_ADDR", "")
    -        if environ.get("HTTP_HOST"):
    -            host = environ["HTTP_HOST"]
    -        else:
    -            host = environ["SERVER_NAME"]
    -        connection = _WSGIConnection(method, start_response,
    -                                     _WSGIRequestContext(remote_ip, protocol))
    -        request = httputil.HTTPServerRequest(
    -            method, uri, "HTTP/1.1", headers=headers, body=body,
    -            host=host, connection=connection)
    -        request._parse_body()
    -        self.application(request)
    -        if connection._error:
    -            raise connection._error
    -        if not connection._finished:
    -            raise Exception("request did not finish synchronously")
    -        return connection._write_buffer
    -
    -
    -class WSGIContainer(object):
    -    r"""Makes a WSGI-compatible function runnable on Tornado's HTTP server.
    -
    -    .. warning::
    -
    -       WSGI is a *synchronous* interface, while Tornado's concurrency model
    -       is based on single-threaded asynchronous execution.  This means that
    -       running a WSGI app with Tornado's `WSGIContainer` is *less scalable*
    -       than running the same app in a multi-threaded WSGI server like
    -       ``gunicorn`` or ``uwsgi``.  Use `WSGIContainer` only when there are
    -       benefits to combining Tornado and WSGI in the same process that
    -       outweigh the reduced scalability.
    -
    -    Wrap a WSGI function in a `WSGIContainer` and pass it to `.HTTPServer` to
    -    run it. For example::
    -
    -        def simple_app(environ, start_response):
    -            status = "200 OK"
    -            response_headers = [("Content-type", "text/plain")]
    -            start_response(status, response_headers)
    -            return ["Hello world!\n"]
    -
    -        container = tornado.wsgi.WSGIContainer(simple_app)
    -        http_server = tornado.httpserver.HTTPServer(container)
    -        http_server.listen(8888)
    -        tornado.ioloop.IOLoop.current().start()
    -
    -    This class is intended to let other frameworks (Django, web.py, etc)
    -    run on the Tornado HTTP server and I/O loop.
    -
    -    The `tornado.web.FallbackHandler` class is often useful for mixing
    -    Tornado and WSGI apps in the same server.  See
    -    https://github.com/bdarnell/django-tornado-demo for a complete example.
    -    """
    -    def __init__(self, wsgi_application):
    -        self.wsgi_application = wsgi_application
    -
    -    def __call__(self, request):
    -        data = {}
    -        response = []
    -
    -        def start_response(status, response_headers, exc_info=None):
    -            data["status"] = status
    -            data["headers"] = response_headers
    -            return response.append
    -        app_response = self.wsgi_application(
    -            WSGIContainer.environ(request), start_response)
    -        try:
    -            response.extend(app_response)
    -            body = b"".join(response)
    -        finally:
    -            if hasattr(app_response, "close"):
    -                app_response.close()
    -        if not data:
    -            raise Exception("WSGI app did not call start_response")
    -
    -        status_code, reason = data["status"].split(' ', 1)
    -        status_code = int(status_code)
    -        headers = data["headers"]
    -        header_set = set(k.lower() for (k, v) in headers)
    -        body = escape.utf8(body)
    -        if status_code != 304:
    -            if "content-length" not in header_set:
    -                headers.append(("Content-Length", str(len(body))))
    -            if "content-type" not in header_set:
    -                headers.append(("Content-Type", "text/html; charset=UTF-8"))
    -        if "server" not in header_set:
    -            headers.append(("Server", "TornadoServer/%s" % tornado.version))
    -
    -        start_line = httputil.ResponseStartLine("HTTP/1.1", status_code, reason)
    -        header_obj = httputil.HTTPHeaders()
    -        for key, value in headers:
    -            header_obj.add(key, value)
    -        request.connection.write_headers(start_line, header_obj, chunk=body)
    -        request.connection.finish()
    -        self._log(status_code, request)
    -
    -    @staticmethod
    -    def environ(request):
    -        """Converts a `tornado.httputil.HTTPServerRequest` to a WSGI environment.
    -        """
    -        hostport = request.host.split(":")
    -        if len(hostport) == 2:
    -            host = hostport[0]
    -            port = int(hostport[1])
    -        else:
    -            host = request.host
    -            port = 443 if request.protocol == "https" else 80
    -        environ = {
    -            "REQUEST_METHOD": request.method,
    -            "SCRIPT_NAME": "",
    -            "PATH_INFO": to_wsgi_str(escape.url_unescape(
    -                request.path, encoding=None, plus=False)),
    -            "QUERY_STRING": request.query,
    -            "REMOTE_ADDR": request.remote_ip,
    -            "SERVER_NAME": host,
    -            "SERVER_PORT": str(port),
    -            "SERVER_PROTOCOL": request.version,
    -            "wsgi.version": (1, 0),
    -            "wsgi.url_scheme": request.protocol,
    -            "wsgi.input": BytesIO(escape.utf8(request.body)),
    -            "wsgi.errors": sys.stderr,
    -            "wsgi.multithread": False,
    -            "wsgi.multiprocess": True,
    -            "wsgi.run_once": False,
    -        }
    -        if "Content-Type" in request.headers:
    -            environ["CONTENT_TYPE"] = request.headers.pop("Content-Type")
    -        if "Content-Length" in request.headers:
    -            environ["CONTENT_LENGTH"] = request.headers.pop("Content-Length")
    -        for key, value in request.headers.items():
    -            environ["HTTP_" + key.replace("-", "_").upper()] = value
    -        return environ
    -
    -    def _log(self, status_code, request):
    -        if status_code < 400:
    -            log_method = access_log.info
    -        elif status_code < 500:
    -            log_method = access_log.warning
    -        else:
    -            log_method = access_log.error
    -        request_time = 1000.0 * request.request_time()
    -        summary = request.method + " " + request.uri + " (" + \
    -            request.remote_ip + ")"
    -        log_method("%d %s %.2fms", status_code, summary, request_time)
    -
    -
    -HTTPRequest = httputil.HTTPServerRequest
    diff --git a/lib27/site-packages/websocket/__init__.py b/lib27/site-packages/websocket/__init__.py
    deleted file mode 100644
    index d65a5d143..000000000
    --- a/lib27/site-packages/websocket/__init__.py
    +++ /dev/null
    @@ -1,210 +0,0 @@
    -import re
    -import struct
    -from hashlib import md5
    -
    -version_info = (0, 2, 1)
    -__version__ = '0.2.1'
    -
    -# This class implements the Websocket protocol draft version as of May 23, 2010
    -# The version as of August 6, 2010 will be implementend once Firefox or
    -# Webkit-trunk support this version.
    -
    -
    -class WebSocket(object):
    -
    -    @classmethod
    -    def is_socket(self, environ):
    -        if 'upgrade' not in environ.get("HTTP_CONNECTION").lower():
    -            return False
    -        if environ.get("HTTP_UPGRADE") != "WebSocket":
    -            return False
    -        if not environ.get("HTTP_ORIGIN"):
    -            return False
    -        return True
    -
    -    def __init__(self, environ, socket, rfile):
    -        # QQQ should reply Bad Request when IOError is raised above
    -        #     should only log the error message, traceback is not necessary
    -        self.origin = environ['HTTP_ORIGIN']
    -        self.protocol = environ.get('HTTP_SEC_WEBSOCKET_PROTOCOL', 'unknown')
    -        self.path_info = environ['PATH_INFO']
    -        self.host = environ['HTTP_HOST']
    -        self.key1 = environ.get('HTTP_SEC_WEBSOCKET_KEY1')
    -        self.key2 = environ.get('HTTP_SEC_WEBSOCKET_KEY2')
    -        self.socket = socket
    -        self.rfile = rfile
    -        self.handshaked = False
    -
    -    def __repr__(self):
    -        try:
    -            info = ' ' + self.socket._formatinfo()
    -        except Exception:
    -            info = ''
    -        return '<%s at %s%s>' % (type(self).__name__, hex(id(self)), info)
    -
    -    def do_handshake(self):
    -        """This method is called automatically in the first send() or receive()"""
    -        assert not self.handshaked, 'Already did handshake'
    -        if self.key1 is not None:
    -            # version 76
    -            if not self.key1:
    -                message = "Missing HTTP_SEC_WEBSOCKET_KEY1 header in the request"
    -                self._reply_400(message)
    -                raise IOError(message)
    -            if not self.key2:
    -                message = "Missing HTTP_SEC_WEBSOCKET_KEY2 header in the request"
    -                self._reply_400(message)
    -                raise IOError(message)
    -            headers = [
    -                ("Upgrade", "WebSocket"),
    -                ("Connection", "Upgrade"),
    -                ("Sec-WebSocket-Origin", self.origin),
    -                ("Sec-WebSocket-Protocol", self.protocol),
    -                ("Sec-WebSocket-Location", "ws://" + self.host + self.path_info),
    -            ]
    -            self._send_reply("101 Web Socket Protocol Handshake", headers)
    -            challenge = self._get_challenge()
    -            self.socket.sendall(challenge)
    -        else:
    -            # version 75
    -            headers = [
    -                ("Upgrade", "WebSocket"),
    -                ("Connection", "Upgrade"),
    -                ("WebSocket-Origin", self.websocket.origin),
    -                ("WebSocket-Protocol", self.websocket.protocol),
    -                ("WebSocket-Location", "ws://" + self.host + self.path_info),
    -            ]
    -            self._send_reply("101 Web Socket Protocol Handshake", headers)
    -        self.handshaked = True
    -
    -    def _send_reply(self, status, headers, message=None):
    -        self.status = status
    -        self.headers_sent = True
    -        towrite = ['HTTP/1.1 %s\r\n' % self.status]
    -        for header in headers:
    -            towrite.append("%s: %s\r\n" % header)
    -        towrite.append("\r\n")
    -        if message:
    -            towrite.append(message)
    -        self.socket.sendall(''.join(towrite))
    -
    -    def _reply_400(self, message):
    -        self._send_reply('400 Bad Request',
    -                         [('Content-Length', str(len(message))),
    -                          ('Content-Type', 'text/plain')],
    -                         message)
    -        self.socket = None
    -        self.rfile = None
    -
    -    def _get_key_value(self, key_value):
    -        key_number = int(re.sub("\\D", "", key_value))
    -        spaces = re.subn(" ", "", key_value)[1]
    -
    -        if key_number % spaces != 0:
    -            self._reply_400('Invalid key')
    -            raise IOError("key_number %r is not an intergral multiple of spaces %r" % (key_number, spaces))
    -
    -        return key_number / spaces
    -
    -    def _get_challenge(self):
    -        part1 = self._get_key_value(self.key1)
    -        part2 = self._get_key_value(self.key2)
    -
    -        # This request should have 8 bytes of data in the body
    -        key3 = self.rfile.read(8)
    -
    -        challenge = ""
    -        challenge += struct.pack("!I", part1)
    -        challenge += struct.pack("!I", part2)
    -        challenge += key3
    -        return md5(challenge).digest()
    -
    -    def send(self, message):
    -        if not self.handshaked:
    -            self.do_handshake()
    -        if isinstance(message, str):
    -            pass
    -        elif isinstance(message, unicode):
    -            message = message.encode('utf-8')
    -        else:
    -            raise TypeError("Expected string or unicode: %r" % (message, ))
    -        self.socket.sendall("\x00" + message + "\xFF")
    -
    -    def close(self):
    -        # XXX implement graceful close with 0xFF frame
    -        if self.socket is not None:
    -            try:
    -                self.socket.close()
    -            except Exception:
    -                pass
    -            self.socket = None
    -            self.rfile = None
    -
    -    def _message_length(self):
    -        # TODO: buildin security agains lengths greater than 2**31 or 2**32
    -        length = 0
    -
    -        while True:
    -            byte_str = self.rfile.read(1)
    -
    -            if not byte_str:
    -                return 0
    -            else:
    -                byte = ord(byte_str)
    -
    -            if byte != 0x00:
    -                length = length * 128 + (byte & 0x7f)
    -                if (byte & 0x80) != 0x80:
    -                    break
    -
    -        return length
    -
    -    def _read_until(self):
    -        bytes = []
    -
    -        while True:
    -            byte = self.rfile.read(1)
    -            if ord(byte) != 0xff:
    -                bytes.append(byte)
    -            else:
    -                break
    -
    -        return ''.join(bytes)
    -
    -    def receive(self):
    -        if not self.handshaked:
    -            self.do_handshake()
    -        while self.socket is not None:
    -            frame_str = self.rfile.read(1)
    -            if not frame_str:
    -                self.close()
    -                break
    -            else:
    -                frame_type = ord(frame_str)
    -
    -            if (frame_type & 0x80) == 0x00:  # most significant byte is not set
    -                if frame_type == 0x00:
    -                    bytes = self._read_until()
    -                    return bytes.decode("utf-8")
    -                else:
    -                    self.close()
    -            elif (frame_type & 0x80) == 0x80:  # most significant byte is set
    -                # Read binary data (forward-compatibility)
    -                if frame_type != 0xff:
    -                    self.close()
    -                    break
    -                else:
    -                    length = self._message_length()
    -                    if length == 0:
    -                        self.close()
    -                        break
    -                    else:
    -                        self.rfile.read(length)  # discard the bytes
    -            else:
    -                raise IOError("Received invalid message")
    -
    -    def getsockname(self):
    -        return self.socket.getsockname()
    -
    -    def getpeername(self):
    -        return self.socket.getpeername()
    diff --git a/lib27/site-packages/websocket/data/WebSocketMain.swf b/lib27/site-packages/websocket/data/WebSocketMain.swf
    deleted file mode 100644
    index 5eab4521a..000000000
    Binary files a/lib27/site-packages/websocket/data/WebSocketMain.swf and /dev/null differ
    diff --git a/lib27/site-packages/websocket/data/flashsocket.js b/lib27/site-packages/websocket/data/flashsocket.js
    deleted file mode 100644
    index c7dd4425d..000000000
    --- a/lib27/site-packages/websocket/data/flashsocket.js
    +++ /dev/null
    @@ -1,998 +0,0 @@
    -WEB_SOCKET_SWF_LOCATION = '/websocket/WebSocketMain.swf';
    -/*	SWFObject v2.2  
    -	is released under the MIT License  
    -*/
    -var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y0){for(var af=0;af0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad'}}aa.outerHTML='"+af+"";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab 0) {
    -		for (var i = 0; i < ol; i++) {
    -			if (typeof objects[i].SetVariable != "undefined") {
    -				activeObjects[activeObjects.length] = objects[i];
    -			}
    -		}
    -	}
    -    var embeds = document.getElementsByTagName("embed");
    -    var el = embeds.length;
    -    var activeEmbeds = [];
    -    if (el > 0) {
    -		for (var j = 0; j < el; j++) {
    -			if (typeof embeds[j].SetVariable != "undefined") {
    -            	activeEmbeds[activeEmbeds.length] = embeds[j];
    -            }
    -        }
    -    }
    -    var aol = activeObjects.length;
    -    var ael = activeEmbeds.length;
    -    var searchStr = "bridgeName="+ bridgeName;
    -    if ((aol == 1 && !ael) || (aol == 1 && ael == 1)) {
    -    	FABridge.attachBridge(activeObjects[0], bridgeName);	 
    -    }
    -    else if (ael == 1 && !aol) {
    -    	FABridge.attachBridge(activeEmbeds[0], bridgeName);
    -        }
    -    else {
    -                var flash_found = false;
    -		if (aol > 1) {
    -			for (var k = 0; k < aol; k++) {
    -				 var params = activeObjects[k].childNodes;
    -				 for (var l = 0; l < params.length; l++) {
    -					var param = params[l];
    -					if (param.nodeType == 1 && param.tagName.toLowerCase() == "param" && param["name"].toLowerCase() == "flashvars" && param["value"].indexOf(searchStr) >= 0) {
    -						FABridge.attachBridge(activeObjects[k], bridgeName);
    -                            flash_found = true;
    -                            break;
    -                        }
    -                    }
    -                if (flash_found) {
    -                    break;
    -                }
    -            }
    -        }
    -		if (!flash_found && ael > 1) {
    -			for (var m = 0; m < ael; m++) {
    -				var flashVars = activeEmbeds[m].attributes.getNamedItem("flashVars").nodeValue;
    -				if (flashVars.indexOf(searchStr) >= 0) {
    -					FABridge.attachBridge(activeEmbeds[m], bridgeName);
    -					break;
    -    }
    -            }
    -        }
    -    }
    -    return true;
    -}
    -
    -// used to track multiple bridge instances, since callbacks from AS are global across the page.
    -
    -FABridge.nextBridgeID = 0;
    -FABridge.instances = {};
    -FABridge.idMap = {};
    -FABridge.refCount = 0;
    -
    -FABridge.extractBridgeFromID = function(id)
    -{
    -    var bridgeID = (id >> 16);
    -    return FABridge.idMap[bridgeID];
    -}
    -
    -FABridge.attachBridge = function(instance, bridgeName)
    -{
    -    var newBridgeInstance = new FABridge(instance, bridgeName);
    -
    -    FABridge[bridgeName] = newBridgeInstance;
    -
    -/*  FABridge[bridgeName] = function() {
    -        return newBridgeInstance.root();
    -    }
    -*/
    -    var callbacks = FABridge.initCallbacks[bridgeName];
    -    if (callbacks == null)
    -    {
    -        return;
    -    }
    -    for (var i = 0; i < callbacks.length; i++)
    -    {
    -        callbacks[i].call(newBridgeInstance);
    -    }
    -    delete FABridge.initCallbacks[bridgeName]
    -}
    -
    -// some methods can't be proxied.  You can use the explicit get,set, and call methods if necessary.
    -
    -FABridge.blockedMethods =
    -{
    -    toString: true,
    -    get: true,
    -    set: true,
    -    call: true
    -};
    -
    -FABridge.prototype =
    -{
    -
    -
    -// bootstrapping
    -
    -    root: function()
    -    {
    -        return this.deserialize(this.target.getRoot());
    -    },
    -//clears all of the AS objects in the cache maps
    -    releaseASObjects: function()
    -    {
    -        return this.target.releaseASObjects();
    -    },
    -//clears a specific object in AS from the type maps
    -    releaseNamedASObject: function(value)
    -    {
    -        if(typeof(value) != "object")
    -        {
    -            return false;
    -        }
    -        else
    -        {
    -            var ret =  this.target.releaseNamedASObject(value.fb_instance_id);
    -            return ret;
    -        }
    -    },
    -//create a new AS Object
    -    create: function(className)
    -    {
    -        return this.deserialize(this.target.create(className));
    -    },
    -
    -
    -    // utilities
    -
    -    makeID: function(token)
    -    {
    -        return (this.bridgeID << 16) + token;
    -    },
    -
    -
    -    // low level access to the flash object
    -
    -//get a named property from an AS object
    -    getPropertyFromAS: function(objRef, propName)
    -    {
    -        if (FABridge.refCount > 0)
    -        {
    -            throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
    -        }
    -        else
    -        {
    -            FABridge.refCount++;
    -            retVal = this.target.getPropFromAS(objRef, propName);
    -            retVal = this.handleError(retVal);
    -            FABridge.refCount--;
    -            return retVal;
    -        }
    -    },
    -//set a named property on an AS object
    -    setPropertyInAS: function(objRef,propName, value)
    -    {
    -        if (FABridge.refCount > 0)
    -        {
    -            throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
    -        }
    -        else
    -        {
    -            FABridge.refCount++;
    -            retVal = this.target.setPropInAS(objRef,propName, this.serialize(value));
    -            retVal = this.handleError(retVal);
    -            FABridge.refCount--;
    -            return retVal;
    -        }
    -    },
    -
    -//call an AS function
    -    callASFunction: function(funcID, args)
    -    {
    -        if (FABridge.refCount > 0)
    -        {
    -            throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
    -        }
    -        else
    -        {
    -            FABridge.refCount++;
    -            retVal = this.target.invokeASFunction(funcID, this.serialize(args));
    -            retVal = this.handleError(retVal);
    -            FABridge.refCount--;
    -            return retVal;
    -        }
    -    },
    -//call a method on an AS object
    -    callASMethod: function(objID, funcName, args)
    -    {
    -        if (FABridge.refCount > 0)
    -        {
    -            throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
    -        }
    -        else
    -        {
    -            FABridge.refCount++;
    -            args = this.serialize(args);
    -            retVal = this.target.invokeASMethod(objID, funcName, args);
    -            retVal = this.handleError(retVal);
    -            FABridge.refCount--;
    -            return retVal;
    -        }
    -    },
    -
    -    // responders to remote calls from flash
    -
    -    //callback from flash that executes a local JS function
    -    //used mostly when setting js functions as callbacks on events
    -    invokeLocalFunction: function(funcID, args)
    -    {
    -        var result;
    -        var func = this.localFunctionCache[funcID];
    -
    -        if(func != undefined)
    -        {
    -            result = this.serialize(func.apply(null, this.deserialize(args)));
    -        }
    -
    -        return result;
    -    },
    -
    -    // Object Types and Proxies
    -	
    -    // accepts an object reference, returns a type object matching the obj reference.
    -    getTypeFromName: function(objTypeName)
    -    {
    -        return this.remoteTypeCache[objTypeName];
    -    },
    -    //create an AS proxy for the given object ID and type
    -    createProxy: function(objID, typeName)
    -    {
    -        var objType = this.getTypeFromName(typeName);
    -	        instanceFactory.prototype = objType;
    -	        var instance = new instanceFactory(objID);
    -        this.remoteInstanceCache[objID] = instance;
    -        return instance;
    -    },
    -    //return the proxy associated with the given object ID
    -    getProxy: function(objID)
    -    {
    -        return this.remoteInstanceCache[objID];
    -    },
    -
    -    // accepts a type structure, returns a constructed type
    -    addTypeDataToCache: function(typeData)
    -    {
    -        var newType = new ASProxy(this, typeData.name);
    -        var accessors = typeData.accessors;
    -        for (var i = 0; i < accessors.length; i++)
    -        {
    -            this.addPropertyToType(newType, accessors[i]);
    -        }
    -
    -        var methods = typeData.methods;
    -        for (var i = 0; i < methods.length; i++)
    -        {
    -            if (FABridge.blockedMethods[methods[i]] == undefined)
    -            {
    -                this.addMethodToType(newType, methods[i]);
    -            }
    -        }
    -
    -
    -        this.remoteTypeCache[newType.typeName] = newType;
    -        return newType;
    -    },
    -
    -    //add a property to a typename; used to define the properties that can be called on an AS proxied object
    -    addPropertyToType: function(ty, propName)
    -    {
    -        var c = propName.charAt(0);
    -        var setterName;
    -        var getterName;
    -        if(c >= "a" && c <= "z")
    -        {
    -            getterName = "get" + c.toUpperCase() + propName.substr(1);
    -            setterName = "set" + c.toUpperCase() + propName.substr(1);
    -        }
    -        else
    -        {
    -            getterName = "get" + propName;
    -            setterName = "set" + propName;
    -        }
    -        ty[setterName] = function(val)
    -        {
    -            this.bridge.setPropertyInAS(this.fb_instance_id, propName, val);
    -        }
    -        ty[getterName] = function()
    -        {
    -            return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName));
    -        }
    -    },
    -
    -    //add a method to a typename; used to define the methods that can be callefd on an AS proxied object
    -    addMethodToType: function(ty, methodName)
    -    {
    -        ty[methodName] = function()
    -        {
    -            return this.bridge.deserialize(this.bridge.callASMethod(this.fb_instance_id, methodName, FABridge.argsToArray(arguments)));
    -        }
    -    },
    -
    -    // Function Proxies
    -
    -    //returns the AS proxy for the specified function ID
    -    getFunctionProxy: function(funcID)
    -    {
    -        var bridge = this;
    -        if (this.remoteFunctionCache[funcID] == null)
    -        {
    -            this.remoteFunctionCache[funcID] = function()
    -            {
    -                bridge.callASFunction(funcID, FABridge.argsToArray(arguments));
    -            }
    -        }
    -        return this.remoteFunctionCache[funcID];
    -    },
    -    
    -    //reutrns the ID of the given function; if it doesnt exist it is created and added to the local cache
    -    getFunctionID: function(func)
    -    {
    -        if (func.__bridge_id__ == undefined)
    -        {
    -            func.__bridge_id__ = this.makeID(this.nextLocalFuncID++);
    -            this.localFunctionCache[func.__bridge_id__] = func;
    -        }
    -        return func.__bridge_id__;
    -    },
    -
    -    // serialization / deserialization
    -
    -    serialize: function(value)
    -    {
    -        var result = {};
    -
    -        var t = typeof(value);
    -        //primitives are kept as such
    -        if (t == "number" || t == "string" || t == "boolean" || t == null || t == undefined)
    -        {
    -            result = value;
    -        }
    -        else if (value instanceof Array)
    -        {
    -            //arrays are serializesd recursively
    -            result = [];
    -            for (var i = 0; i < value.length; i++)
    -            {
    -                result[i] = this.serialize(value[i]);
    -            }
    -        }
    -        else if (t == "function")
    -        {
    -            //js functions are assigned an ID and stored in the local cache 
    -            result.type = FABridge.TYPE_JSFUNCTION;
    -            result.value = this.getFunctionID(value);
    -        }
    -        else if (value instanceof ASProxy)
    -        {
    -            result.type = FABridge.TYPE_ASINSTANCE;
    -            result.value = value.fb_instance_id;
    -        }
    -        else
    -        {
    -            result.type = FABridge.TYPE_ANONYMOUS;
    -            result.value = value;
    -        }
    -
    -        return result;
    -    },
    -
    -    //on deserialization we always check the return for the specific error code that is used to marshall NPE's into JS errors
    -    // the unpacking is done by returning the value on each pachet for objects/arrays 
    -    deserialize: function(packedValue)
    -    {
    -
    -        var result;
    -
    -        var t = typeof(packedValue);
    -        if (t == "number" || t == "string" || t == "boolean" || packedValue == null || packedValue == undefined)
    -        {
    -            result = this.handleError(packedValue);
    -        }
    -        else if (packedValue instanceof Array)
    -        {
    -            result = [];
    -            for (var i = 0; i < packedValue.length; i++)
    -            {
    -                result[i] = this.deserialize(packedValue[i]);
    -            }
    -        }
    -        else if (t == "object")
    -        {
    -            for(var i = 0; i < packedValue.newTypes.length; i++)
    -            {
    -                this.addTypeDataToCache(packedValue.newTypes[i]);
    -            }
    -            for (var aRefID in packedValue.newRefs)
    -            {
    -                this.createProxy(aRefID, packedValue.newRefs[aRefID]);
    -            }
    -            if (packedValue.type == FABridge.TYPE_PRIMITIVE)
    -            {
    -                result = packedValue.value;
    -            }
    -            else if (packedValue.type == FABridge.TYPE_ASFUNCTION)
    -            {
    -                result = this.getFunctionProxy(packedValue.value);
    -            }
    -            else if (packedValue.type == FABridge.TYPE_ASINSTANCE)
    -            {
    -                result = this.getProxy(packedValue.value);
    -            }
    -            else if (packedValue.type == FABridge.TYPE_ANONYMOUS)
    -            {
    -                result = packedValue.value;
    -            }
    -        }
    -        return result;
    -    },
    -    //increases the reference count for the given object
    -    addRef: function(obj)
    -    {
    -        this.target.incRef(obj.fb_instance_id);
    -    },
    -    //decrease the reference count for the given object and release it if needed
    -    release:function(obj)
    -    {
    -        this.target.releaseRef(obj.fb_instance_id);
    -    },
    -
    -    // check the given value for the components of the hard-coded error code : __FLASHERROR
    -    // used to marshall NPE's into flash
    -    
    -    handleError: function(value)
    -    {
    -        if (typeof(value)=="string" && value.indexOf("__FLASHERROR")==0)
    -        {
    -            var myErrorMessage = value.split("||");
    -            if(FABridge.refCount > 0 )
    -            {
    -                FABridge.refCount--;
    -            }
    -            throw new Error(myErrorMessage[1]);
    -            return value;
    -        }
    -        else
    -        {
    -            return value;
    -        }   
    -    }
    -};
    -
    -// The root ASProxy class that facades a flash object
    -
    -ASProxy = function(bridge, typeName)
    -{
    -    this.bridge = bridge;
    -    this.typeName = typeName;
    -    return this;
    -};
    -//methods available on each ASProxy object
    -ASProxy.prototype =
    -{
    -    get: function(propName)
    -    {
    -        return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName));
    -    },
    -
    -    set: function(propName, value)
    -    {
    -        this.bridge.setPropertyInAS(this.fb_instance_id, propName, value);
    -    },
    -
    -    call: function(funcName, args)
    -    {
    -        this.bridge.callASMethod(this.fb_instance_id, funcName, args);
    -    }, 
    -    
    -    addRef: function() {
    -        this.bridge.addRef(this);
    -    }, 
    -    
    -    release: function() {
    -        this.bridge.release(this);
    -    }
    -};
    -
    -// Copyright: Hiroshi Ichikawa 
    -// License: New BSD License
    -// Reference: http://dev.w3.org/html5/websockets/
    -// Reference: http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol
    -
    -(function() {
    -  
    -  if (window.WebSocket) return;
    -
    -  var console = window.console;
    -  if (!console) console = {log: function(){ }, error: function(){ }};
    -
    -  if (!swfobject.hasFlashPlayerVersion("9.0.0")) {
    -    console.error("Flash Player is not installed.");
    -    return;
    -  }
    -  if (location.protocol == "file:") {
    -    console.error(
    -      "WARNING: web-socket-js doesn't work in file:///... URL " +
    -      "unless you set Flash Security Settings properly. " +
    -      "Open the page via Web server i.e. http://...");
    -  }
    -
    -  WebSocket = function(url, protocol, proxyHost, proxyPort, headers) {
    -    var self = this;
    -    self.readyState = WebSocket.CONNECTING;
    -    self.bufferedAmount = 0;
    -    // Uses setTimeout() to make sure __createFlash() runs after the caller sets ws.onopen etc.
    -    // Otherwise, when onopen fires immediately, onopen is called before it is set.
    -    setTimeout(function() {
    -      WebSocket.__addTask(function() {
    -        self.__createFlash(url, protocol, proxyHost, proxyPort, headers);
    -      });
    -    }, 1);
    -  }
    -  
    -  WebSocket.prototype.__createFlash = function(url, protocol, proxyHost, proxyPort, headers) {
    -    var self = this;
    -    self.__flash =
    -      WebSocket.__flash.create(url, protocol, proxyHost || null, proxyPort || 0, headers || null);
    -
    -    self.__flash.addEventListener("open", function(fe) {
    -      try {
    -        self.readyState = self.__flash.getReadyState();
    -        if (self.__timer) clearInterval(self.__timer);
    -        if (window.opera) {
    -          // Workaround for weird behavior of Opera which sometimes drops events.
    -          self.__timer = setInterval(function () {
    -            self.__handleMessages();
    -          }, 500);
    -        }
    -        if (self.onopen) self.onopen();
    -      } catch (e) {
    -        console.error(e.toString());
    -      }
    -    });
    -
    -    self.__flash.addEventListener("close", function(fe) {
    -      try {
    -        self.readyState = self.__flash.getReadyState();
    -        if (self.__timer) clearInterval(self.__timer);
    -        if (self.onclose) self.onclose();
    -      } catch (e) {
    -        console.error(e.toString());
    -      }
    -    });
    -
    -    self.__flash.addEventListener("message", function() {
    -      try {
    -        self.__handleMessages();
    -      } catch (e) {
    -        console.error(e.toString());
    -      }
    -    });
    -
    -    self.__flash.addEventListener("error", function(fe) {
    -      try {
    -        if (self.__timer) clearInterval(self.__timer);
    -        if (self.onerror) self.onerror();
    -      } catch (e) {
    -        console.error(e.toString());
    -      }
    -    });
    -
    -    self.__flash.addEventListener("stateChange", function(fe) {
    -      try {
    -        self.readyState = self.__flash.getReadyState();
    -        self.bufferedAmount = fe.getBufferedAmount();
    -      } catch (e) {
    -        console.error(e.toString());
    -      }
    -    });
    -
    -    //console.log("[WebSocket] Flash object is ready");
    -  };
    -
    -  WebSocket.prototype.send = function(data) {
    -    if (this.__flash) {
    -      this.readyState = this.__flash.getReadyState();
    -    }
    -    if (!this.__flash || this.readyState == WebSocket.CONNECTING) {
    -      throw "INVALID_STATE_ERR: Web Socket connection has not been established";
    -    }
    -    // We use encodeURIComponent() here, because FABridge doesn't work if
    -    // the argument includes some characters. We don't use escape() here
    -    // because of this:
    -    // https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Functions#escape_and_unescape_Functions
    -    // But it looks decodeURIComponent(encodeURIComponent(s)) doesn't
    -    // preserve all Unicode characters either e.g. "\uffff" in Firefox.
    -    var result = this.__flash.send(encodeURIComponent(data));
    -    if (result < 0) { // success
    -      return true;
    -    } else {
    -      this.bufferedAmount = result;
    -      return false;
    -    }
    -  };
    -
    -  WebSocket.prototype.close = function() {
    -    var self = this;
    -    if (!self.__flash) return;
    -    self.readyState = self.__flash.getReadyState();
    -    if (self.readyState == WebSocket.CLOSED || self.readyState == WebSocket.CLOSING) return;
    -    self.__flash.close();
    -    // Sets/calls them manually here because Flash WebSocketConnection.close cannot fire events
    -    // which causes weird error:
    -    // > You are trying to call recursively into the Flash Player which is not allowed.
    -    self.readyState = WebSocket.CLOSED;
    -    if (self.__timer) clearInterval(self.__timer);
    -    if (self.onclose) {
    -       // Make it asynchronous so that it looks more like an actual
    -       // close event
    -       setTimeout(self.onclose, 1);
    -     }
    -  };
    -
    -  /**
    -   * Implementation of {@link DOM 2 EventTarget Interface}
    -   *
    -   * @param {string} type
    -   * @param {function} listener
    -   * @param {boolean} useCapture !NB Not implemented yet
    -   * @return void
    -   */
    -  WebSocket.prototype.addEventListener = function(type, listener, useCapture) {
    -    if (!('__events' in this)) {
    -      this.__events = {};
    -    }
    -    if (!(type in this.__events)) {
    -      this.__events[type] = [];
    -      if ('function' == typeof this['on' + type]) {
    -        this.__events[type].defaultHandler = this['on' + type];
    -        this['on' + type] = this.__createEventHandler(this, type);
    -      }
    -    }
    -    this.__events[type].push(listener);
    -  };
    -
    -  /**
    -   * Implementation of {@link DOM 2 EventTarget Interface}
    -   *
    -   * @param {string} type
    -   * @param {function} listener
    -   * @param {boolean} useCapture NB! Not implemented yet
    -   * @return void
    -   */
    -  WebSocket.prototype.removeEventListener = function(type, listener, useCapture) {
    -    if (!('__events' in this)) {
    -      this.__events = {};
    -    }
    -    if (!(type in this.__events)) return;
    -    for (var i = this.__events.length; i > -1; --i) {
    -      if (listener === this.__events[type][i]) {
    -        this.__events[type].splice(i, 1);
    -        break;
    -      }
    -    }
    -  };
    -
    -  /**
    -   * Implementation of {@link DOM 2 EventTarget Interface}
    -   *
    -   * @param {WebSocketEvent} event
    -   * @return void
    -   */
    -  WebSocket.prototype.dispatchEvent = function(event) {
    -    if (!('__events' in this)) throw 'UNSPECIFIED_EVENT_TYPE_ERR';
    -    if (!(event.type in this.__events)) throw 'UNSPECIFIED_EVENT_TYPE_ERR';
    -
    -    for (var i = 0, l = this.__events[event.type].length; i < l; ++ i) {
    -      this.__events[event.type][i](event);
    -      if (event.cancelBubble) break;
    -    }
    -
    -    if (false !== event.returnValue &&
    -        'function' == typeof this.__events[event.type].defaultHandler)
    -    {
    -      this.__events[event.type].defaultHandler(event);
    -    }
    -  };
    -
    -  WebSocket.prototype.__handleMessages = function() {
    -    // Gets data using readSocketData() instead of getting it from event object
    -    // of Flash event. This is to make sure to keep message order.
    -    // It seems sometimes Flash events don't arrive in the same order as they are sent.
    -    var arr = this.__flash.readSocketData();
    -    for (var i = 0; i < arr.length; i++) {
    -      var data = decodeURIComponent(arr[i]);
    -      try {
    -        if (this.onmessage) {
    -          var e;
    -          if (window.MessageEvent && !window.opera) {
    -            e = document.createEvent("MessageEvent");
    -            e.initMessageEvent("message", false, false, data, null, null, window, null);
    -          } else { // IE and Opera, the latter one truncates the data parameter after any 0x00 bytes
    -            e = {data: data};
    -          }
    -          this.onmessage(e);
    -        }
    -      } catch (e) {
    -        console.error(e.toString());
    -      }
    -    }
    -  };
    -
    -  /**
    -   * @param {object} object
    -   * @param {string} type
    -   */
    -  WebSocket.prototype.__createEventHandler = function(object, type) {
    -    return function(data) {
    -      var event = new WebSocketEvent();
    -      event.initEvent(type, true, true);
    -      event.target = event.currentTarget = object;
    -      for (var key in data) {
    -        event[key] = data[key];
    -      }
    -      object.dispatchEvent(event, arguments);
    -    };
    -  }
    -
    -  /**
    -   * Basic implementation of {@link DOM 2 EventInterface}
    -   *
    -   * @class
    -   * @constructor
    -   */
    -  function WebSocketEvent(){}
    -
    -  /**
    -   *
    -   * @type boolean
    -   */
    -  WebSocketEvent.prototype.cancelable = true;
    -
    -  /**
    -   *
    -   * @type boolean
    -   */
    -  WebSocketEvent.prototype.cancelBubble = false;
    -
    -  /**
    -   *
    -   * @return void
    -   */
    -  WebSocketEvent.prototype.preventDefault = function() {
    -    if (this.cancelable) {
    -      this.returnValue = false;
    -    }
    -  };
    -
    -  /**
    -   *
    -   * @return void
    -   */
    -  WebSocketEvent.prototype.stopPropagation = function() {
    -    this.cancelBubble = true;
    -  };
    -
    -  /**
    -   *
    -   * @param {string} eventTypeArg
    -   * @param {boolean} canBubbleArg
    -   * @param {boolean} cancelableArg
    -   * @return void
    -   */
    -  WebSocketEvent.prototype.initEvent = function(eventTypeArg, canBubbleArg, cancelableArg) {
    -    this.type = eventTypeArg;
    -    this.cancelable = cancelableArg;
    -    this.timeStamp = new Date();
    -  };
    -
    -
    -  WebSocket.CONNECTING = 0;
    -  WebSocket.OPEN = 1;
    -  WebSocket.CLOSING = 2;
    -  WebSocket.CLOSED = 3;
    -
    -  WebSocket.__tasks = [];
    -
    -  WebSocket.__initialize = function() {
    -    if (WebSocket.__swfLocation) {
    -      // For backword compatibility.
    -      window.WEB_SOCKET_SWF_LOCATION = WebSocket.__swfLocation;
    -    }
    -    if (!window.WEB_SOCKET_SWF_LOCATION) {
    -      console.error("[WebSocket] set WEB_SOCKET_SWF_LOCATION to location of WebSocketMain.swf");
    -      return;
    -    }
    -    var container = document.createElement("div");
    -    container.id = "webSocketContainer";
    -    // Hides Flash box. We cannot use display: none or visibility: hidden because it prevents
    -    // Flash from loading at least in IE. So we move it out of the screen at (-100, -100).
    -    // But this even doesn't work with Flash Lite (e.g. in Droid Incredible). So with Flash
    -    // Lite, we put it at (0, 0). This shows 1x1 box visible at left-top corner but this is
    -    // the best we can do as far as we know now.
    -    container.style.position = "absolute";
    -    if (WebSocket.__isFlashLite()) {
    -      container.style.left = "0px";
    -      container.style.top = "0px";
    -    } else {
    -      container.style.left = "-100px";
    -      container.style.top = "-100px";
    -    }
    -    var holder = document.createElement("div");
    -    holder.id = "webSocketFlash";
    -    container.appendChild(holder);
    -    document.body.appendChild(container);
    -    // See this article for hasPriority:
    -    // http://help.adobe.com/en_US/as3/mobile/WS4bebcd66a74275c36cfb8137124318eebc6-7ffd.html
    -    swfobject.embedSWF(
    -      WEB_SOCKET_SWF_LOCATION, "webSocketFlash",
    -      "1" /* width */, "1" /* height */, "9.0.0" /* SWF version */,
    -      null, {bridgeName: "webSocket"}, {hasPriority: true, allowScriptAccess: "always"}, null,
    -      function(e) {
    -        if (!e.success) console.error("[WebSocket] swfobject.embedSWF failed");
    -      }
    -    );
    -    FABridge.addInitializationCallback("webSocket", function() {
    -      try {
    -        //console.log("[WebSocket] FABridge initializad");
    -        WebSocket.__flash = FABridge.webSocket.root();
    -        WebSocket.__flash.setCallerUrl(location.href);
    -        WebSocket.__flash.setDebug(!!window.WEB_SOCKET_DEBUG);
    -        for (var i = 0; i < WebSocket.__tasks.length; ++i) {
    -          WebSocket.__tasks[i]();
    -        }
    -        WebSocket.__tasks = [];
    -      } catch (e) {
    -        console.error("[WebSocket] " + e.toString());
    -      }
    -    });
    -  };
    -
    -  WebSocket.__addTask = function(task) {
    -    if (WebSocket.__flash) {
    -      task();
    -    } else {
    -      WebSocket.__tasks.push(task);
    -    }
    -  };
    -  
    -  WebSocket.__isFlashLite = function() {
    -    if (!window.navigator || !window.navigator.mimeTypes) return false;
    -    var mimeType = window.navigator.mimeTypes["application/x-shockwave-flash"];
    -    if (!mimeType || !mimeType.enabledPlugin || !mimeType.enabledPlugin.filename) return false;
    -    return mimeType.enabledPlugin.filename.match(/flashlite/i) ? true : false;
    -  };
    -
    -  // called from Flash
    -  window.webSocketLog = function(message) {
    -    console.log(decodeURIComponent(message));
    -  };
    -
    -  // called from Flash
    -  window.webSocketError = function(message) {
    -    console.error(decodeURIComponent(message));
    -  };
    -
    -  if (!window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION) {
    -    if (window.addEventListener) {
    -      window.addEventListener("load", WebSocket.__initialize, false);
    -    } else {
    -      window.attachEvent("onload", WebSocket.__initialize);
    -    }
    -  }
    -  
    -})();
    diff --git a/lib27/site-packages/websocket/policyserver.py b/lib27/site-packages/websocket/policyserver.py
    deleted file mode 100644
    index 6da9e0b45..000000000
    --- a/lib27/site-packages/websocket/policyserver.py
    +++ /dev/null
    @@ -1,22 +0,0 @@
    -from gevent.server import StreamServer
    -
    -__all__ = ['FlashPolicyServer']
    -
    -
    -class FlashPolicyServer(StreamServer):
    -    policy = """
    -"""
    -
    -    noisy = False
    -
    -    def __init__(self, listener=None, backlog=None, noisy=None):
    -        if listener is None:
    -            listener = ('0.0.0.0', 843)
    -        if noisy is not None:
    -            self.noisy = noisy
    -        StreamServer.__init__(self, listener=listener, backlog=backlog)
    -
    -    def handle(self, socket, address):
    -        if self.noisy:
    -            print 'Accepted connection from %s:%s' % address
    -        socket.sendall(self.policy)
    diff --git a/lib27/site-packages/websocket/server.py b/lib27/site-packages/websocket/server.py
    deleted file mode 100644
    index 1c4224959..000000000
    --- a/lib27/site-packages/websocket/server.py
    +++ /dev/null
    @@ -1,134 +0,0 @@
    -import sys
    -import traceback
    -from os.path import abspath, dirname, join, basename
    -from socket import error
    -from hashlib import md5
    -from datetime import datetime
    -from gevent.pywsgi import WSGIHandler, WSGIServer
    -
    -from websocket.policyserver import FlashPolicyServer
    -from websocket import WebSocket
    -
    -import gevent
    -assert gevent.version_info >= (0, 13, 2), 'Newer version of gevent is required to run websocket.server'
    -
    -__all__ = ['WebsocketHandler', 'WebsocketServer']
    -
    -
    -class WebsocketHandler(WSGIHandler):
    -
    -    def run_application(self):
    -        path = self.environ.get('PATH_INFO')
    -        content_type = self.server.data_handlers.get(path)
    -        if content_type is not None:
    -            self.serve_file(basename(path), content_type)
    -            return
    -
    -        websocket_mode = False
    -
    -        if WebSocket.is_socket(self.environ):
    -            self.status = 'websocket'
    -            self.log_request()
    -            self.environ['websocket'] = WebSocket(self.environ, self.socket, self.rfile)
    -            websocket_mode = True
    -        try:
    -            self.result = self.application(self.environ, self.start_response)
    -            if self.result is not None:
    -                self.process_result()
    -        except:
    -            websocket = self.environ.get('websocket')
    -            if websocket is not None:
    -                websocket.close()
    -            raise
    -        finally:
    -            if websocket_mode:
    -                # we own the socket now, make sure pywsgi does not try to read from it:
    -                self.socket = None
    -
    -    def serve_file(self, filename, content_type):
    -        from websocket import data
    -        path = join(dirname(abspath(data.__file__)), filename)
    -        if self.server.etags.get(path) == (self.environ.get('HTTP_IF_NONE_MATCH') or 'x'):
    -            self.start_response('304 Not Modifed', [])
    -            self.write('')
    -            return
    -        try:
    -            body = open(path).read()
    -        except IOError, ex:
    -            sys.stderr.write('Cannot open %s: %s\n' % (path, ex))
    -            self.start_response('404 Not Found', [])
    -            self.write('')
    -            return
    -        etag = md5(body).hexdigest()
    -        self.server.etags[path] = etag
    -        self.start_response('200 OK', [('Content-Type', content_type),
    -                                       ('Content-Length', str(len(body))),
    -                                       ('Etag', etag)])
    -        self.write(body)
    -
    -
    -class WebsocketServer(WSGIServer):
    -
    -    handler_class = WebsocketHandler
    -    data_handlers = {
    -        '/websocket/WebSocketMain.swf': 'application/x-shockwave-flash',
    -        '/websocket/flashsocket.js': 'text/javascript'
    -    }
    -    etags = {}
    -
    -    def __init__(self, listener, application=None, policy_server=True, backlog=None,
    -                 spawn='default', log='default', handler_class=None, environ=None, **ssl_args):
    -        if policy_server is True:
    -            self.policy_server = FlashPolicyServer()
    -        elif isinstance(policy_server, tuple):
    -            self.policy_server = FlashPolicyServer(policy_server)
    -        elif policy_server:
    -            raise TypeError('Expected tuple or boolean: %r' % (policy_server, ))
    -        else:
    -            self.policy_server = None
    -        super(WebsocketServer, self).__init__(listener, application, backlog=backlog, spawn=spawn, log=log,
    -                                              handler_class=handler_class, environ=environ, **ssl_args)
    -
    -    def start_accepting(self):
    -        self._start_policy_server()
    -        super(WebsocketServer, self).start_accepting()
    -        self.log_message('%s accepting connections on %s', self.__class__.__name__, _format_address(self))
    -
    -    def _start_policy_server(self):
    -        server = self.policy_server
    -        if server is not None:
    -            try:
    -                server.start()
    -                self.log_message('%s accepting connections on %s', server.__class__.__name__, _format_address(server))
    -            except error, ex:
    -                sys.stderr.write('FAILED to start %s on %s: %s\n' % (server.__class__.__name__, _format_address(server), ex))
    -            except Exception:
    -                traceback.print_exc()
    -                sys.stderr.write('FAILED to start %s on %s\n' % (server.__class__.__name__, _format_address(server)))
    -
    -    def kill(self):
    -        if self.policy_server is not None:
    -            self.policy_server.kill()
    -        super(WebsocketServer, self).kill()
    -
    -    def log_message(self, message, *args):
    -        log = self.log
    -        if log is not None:
    -            try:
    -                message = message % args
    -            except Exception:
    -                traceback.print_exc()
    -                try:
    -                    message = '%r %r' % (message, args)
    -                except Exception:
    -                    traceback.print_exc()
    -            log.write('%s %s\n' % (datetime.now().replace(microsecond=0), message))
    -
    -
    -def _format_address(server):
    -    try:
    -        if server.server_host == '0.0.0.0':
    -            return ':%s' % server.server_port
    -        return '%s:%s' % (server.server_host, server.server_port)
    -    except Exception:
    -        traceback.print_exc()
    diff --git a/plugins/Adafruit MQTT Client/Adafruit.png b/plugins/Adafruit MQTT Client/Adafruit.png
    new file mode 100644
    index 000000000..b21837f4a
    Binary files /dev/null and b/plugins/Adafruit MQTT Client/Adafruit.png differ
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/__init__.py b/plugins/Adafruit MQTT Client/Adafruit_IO/__init__.py
    new file mode 100644
    index 000000000..02dba25a9
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/__init__.py	
    @@ -0,0 +1,24 @@
    +# Copyright (c) 2014 Adafruit Industries
    +# Author: Tony DiCola
    +
    +# Permission is hereby granted, free of charge, to any person obtaining a copy
    +# of this software and associated documentation files (the "Software"), to deal
    +# in the Software without restriction, including without limitation the rights
    +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +# copies of the Software, and to permit persons to whom the Software is
    +# furnished to do so, subject to the following conditions:
    +
    +# The above copyright notice and this permission notice shall be included in all
    +# copies or substantial portions of the Software.
    +
    +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +# SOFTWARE.
    +from .client import Client
    +from .mqtt_client import MQTTClient
    +from .errors import AdafruitIOError, RequestError, ThrottlingError
    +from .model import Data, Stream, Feed, Group
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/client.py b/plugins/Adafruit MQTT Client/Adafruit_IO/client.py
    new file mode 100644
    index 000000000..b8235ba42
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/client.py	
    @@ -0,0 +1,250 @@
    +# Copyright (c) 2014 Adafruit Industries
    +# Authors: Justin Cooper & Tony DiCola
    +
    +# Permission is hereby granted, free of charge, to any person obtaining a copy
    +# of this software and associated documentation files (the "Software"), to deal
    +# in the Software without restriction, including without limitation the rights
    +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +# copies of the Software, and to permit persons to whom the Software is
    +# furnished to do so, subject to the following conditions:
    +
    +# The above copyright notice and this permission notice shall be included in all
    +# copies or substantial portions of the Software.
    +
    +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +# SOFTWARE.
    +import json
    +
    +import requests
    +
    +from .errors import RequestError, ThrottlingError
    +from .model import Data, Feed, Group
    +
    +
    +class Client(object):
    +    """Client instance for interacting with the Adafruit IO service using its
    +    REST API.  Use this client class to send, receive, and enumerate feed data.
    +    """
    +
    +    def __init__(self, key, proxies=None, base_url='https://io.adafruit.com'):
    +        """Create an instance of the Adafruit IO REST API client.  Key must be
    +        provided and set to your Adafruit IO access key value.  Optionaly
    +        provide a proxies dict in the format used by the requests library, and
    +        base_url to point at a different Adafruit IO service (the default is
    +        the production Adafruit IO service over SSL).
    +        """
    +        self.key = key
    +        self.proxies = proxies
    +        # Save URL without trailing slash as it will be added later when
    +        # constructing the path.
    +        self.base_url = base_url.rstrip('/')
    +
    +    def _compose_url(self, path):
    +        return '{0}/{1}'.format(self.base_url, path)
    +
    +    def _handle_error(self, response):
    +        # Handle explicit errors.
    +        if response.status_code == 429:
    +            raise ThrottlingError()
    +        # Handle all other errors (400 & 500 level HTTP responses)
    +        elif response.status_code >= 400:
    +            raise RequestError(response)
    +        # Else do nothing if there was no error.
    +
    +    def _get(self, path):
    +        response = requests.get(self._compose_url(path),
    +                                headers={'X-AIO-Key': self.key},
    +                                proxies=self.proxies)
    +        self._handle_error(response)
    +        return response.json()
    +
    +    def _post(self, path, data):
    +        response = requests.post(self._compose_url(path),
    +                                 headers={'X-AIO-Key': self.key,
    +                                          'Content-Type': 'application/json'},
    +                                 proxies=self.proxies,
    +                                 data=json.dumps(data))
    +        self._handle_error(response)
    +        return response.json()
    +
    +    def _delete(self, path):
    +        response = requests.delete(self._compose_url(path),
    +                                   headers={'X-AIO-Key': self.key,
    +                                            'Content-Type': 'application/json'},
    +                                   proxies=self.proxies)
    +        self._handle_error(response)
    +
    +    # Data functionality.
    +    def send(self, feed_name, value):
    +        """Helper function to simplify adding a value to a feed.  Will find the 
    +        specified feed by name or create a new feed if it doesn't exist, then 
    +        will append the provided value to the feed.  Returns a Data instance 
    +        with details about the newly appended row of data.
    +        """
    +        path = "api/feeds/{0}/data/send".format(feed_name)
    +        return Data.from_dict(self._post(path, {'value': value}))
    +
    +    def append(self, feed, value):
    +        """Helper function to simplify adding a value to a feed.  Will append the
    +        specified value to the feed identified by either name, key, or ID.
    +        Returns a Data instance with details about the newly appended row of data.
    +        Note that unlike send the feed should exist before calling append.
    +        """
    +        return self.create_data(feed, Data(value=value))
    +
    +    def receive(self, feed):
    +        """Retrieve the most recent value for the specified feed.  Feed can be a
    +        feed ID, feed key, or feed name.  Returns a Data instance whose value
    +        property holds the retrieved value.
    +        """
    +        path = "api/feeds/{0}/data/last".format(feed)
    +        return Data.from_dict(self._get(path))
    +
    +    def receive_next(self, feed):
    +        """Retrieve the next unread value from the specified feed.  Feed can be 
    +        a feed ID, feed key, or feed name.  Returns a Data instance whose value
    +        property holds the retrieved value.
    +        """
    +        path = "api/feeds/{0}/data/next".format(feed)
    +        return Data.from_dict(self._get(path))
    +
    +    def receive_previous(self, feed):
    +        """Retrieve the previous unread value from the specified feed.  Feed can
    +        be a feed ID, feed key, or feed name.  Returns a Data instance whose 
    +        value property holds the retrieved value.
    +        """
    +        path = "api/feeds/{0}/data/previous".format(feed)
    +        return Data.from_dict(self._get(path))
    +
    +    def data(self, feed, data_id=None):
    +        """Retrieve data from a feed.  Feed can be a feed ID, feed key, or feed
    +        name.  Data_id is an optional id for a single data value to retrieve.  
    +        If data_id is not specified then all the data for the feed will be 
    +        returned in an array.
    +        """
    +        if data_id is None:
    +            path = "api/feeds/{0}/data".format(feed)
    +            return list(map(Data.from_dict, self._get(path)))
    +        else:
    +            path = "api/feeds/{0}/data/{1}".format(feed, data_id)
    +            return Data.from_dict(self._get(path))
    +
    +    def create_data(self, feed, data):
    +        """Create a new row of data in the specified feed.  Feed can be a feed
    +        ID, feed key, or feed name.  Data must be an instance of the Data class
    +        with at least a value property set on it.  Returns a Data instance with
    +        details about the newly appended row of data.
    +        """
    +        path = "api/feeds/{0}/data".format(feed)
    +        return Data.from_dict(self._post(path, data._asdict()))
    +
    +    def delete(self, feed, data_id):
    +        """Delete data from a feed.  Feed can be a feed ID, feed key, or feed
    +        name.  Data_id must be the ID of the piece of data to delete.
    +        """
    +        path = "api/feeds/{0}/data/{1}".format(feed, data_id)
    +        self._delete(path)
    +
    +    # Feed functionality.
    +    def feeds(self, feed=None):
    +        """Retrieve a list of all feeds, or the specified feed.  If feed is not
    +        specified a list of all feeds will be returned.  If feed is specified it
    +        can be a feed name, key, or ID and the requested feed will be returned.
    +        """
    +        if feed is None:
    +            path = "api/feeds"
    +            return list(map(Feed.from_dict, self._get(path)))
    +        else:
    +            path = "api/feeds/{0}".format(feed)
    +            return Feed.from_dict(self._get(path))
    +
    +    def create_feed(self, feed):
    +        """Create the specified feed.  Feed should be an instance of the Feed
    +        type with at least the name property set.
    +        """
    +        path = "api/feeds/"
    +        return Feed.from_dict(self._post(path, feed._asdict()))
    +
    +    def delete_feed(self, feed):
    +        """Delete the specified feed.  Feed can be a feed ID, feed key, or feed
    +        name.
    +        """
    +        path = "api/feeds/{0}".format(feed)
    +        self._delete(path)
    +
    +    # Group functionality.
    +    def send_group(self, group_name, data):
    +        """Update all feeds in a group with one call.  Group_name should be the
    +        name of a group to update.  Data should be a dict with an item for each
    +        feed in the group, where the key is the feed name and value is the new
    +        data row value.  For example a group 'TestGroup' with feeds 'FeedOne'
    +        and 'FeedTwo' could be updated by calling:
    +        
    +        send_group('TestGroup', {'FeedOne': 'value1', 'FeedTwo': 10})
    +        
    +        This would add the value 'value1' to the feed 'FeedOne' and add the
    +        value 10 to the feed 'FeedTwo'.
    +
    +        After a successful update an instance of Group will be returned with
    +        metadata about the updated group.
    +        """
    +        path = "api/groups/{0}/send".format(group_name)
    +        return Group.from_dict(self._post(path, {'value': data}))
    +
    +    def receive_group(self, group):
    +        """Retrieve the most recent value for the specified group.  Group can be
    +        a group ID, group key, or group name.  Returns a Group instance whose
    +        feeds property holds an array of Feed instances associated with the group.
    +        """
    +        path = "api/groups/{0}/last".format(group)
    +        return Group.from_dict(self._get(path))
    +
    +    def receive_next_group(self, group):
    +        """Retrieve the next unread value from the specified group.  Group can
    +        be a group ID, group key, or group name.  Returns a Group instance whose
    +        feeds property holds an array of Feed instances associated with the 
    +        group.
    +        """
    +        path = "api/groups/{0}/next".format(group)
    +        return Group.from_dict(self._get(path))
    +
    +    def receive_previous_group(self, group):
    +        """Retrieve the previous unread value from the specified group.  Group
    +        can be a group ID, group key, or group name.  Returns a Group instance
    +        whose feeds property holds an array of Feed instances associated with
    +        the group.
    +        """
    +        path = "api/groups/{0}/previous".format(group)
    +        return Group.from_dict(self._get(path))
    +
    +    def groups(self, group=None):
    +        """Retrieve a list of all groups, or the specified group.  If group is 
    +        not specified a list of all groups will be returned.  If group is 
    +        specified it can be a group name, key, or ID and the requested group 
    +        will be returned.
    +        """
    +        if group is None:
    +            path = "api/groups/"
    +            return list(map(Group.from_dict, self._get(path)))
    +        else:
    +            path = "api/groups/{0}".format(group)
    +            return Group.from_dict(self._get(path))
    +
    +    def create_group(self, group):
    +        """Create the specified group.  Group should be an instance of the Group
    +        type with at least the name and feeds property set.
    +        """
    +        path = "api/groups/"
    +        return Group.from_dict(self._post(path, group._asdict()))
    +
    +    def delete_group(self, group):
    +        """Delete the specified group.  Group can be a group ID, group key, or
    +        group name.
    +        """
    +        path = "api/groups/{0}".format(group)
    +        self._delete(path)
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/errors.py b/plugins/Adafruit MQTT Client/Adafruit_IO/errors.py
    new file mode 100644
    index 000000000..f2d3e11e5
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/errors.py	
    @@ -0,0 +1,40 @@
    +# Copyright (c) 2014 Adafruit Industries
    +# Author: Tony DiCola
    +
    +# Permission is hereby granted, free of charge, to any person obtaining a copy
    +# of this software and associated documentation files (the "Software"), to deal
    +# in the Software without restriction, including without limitation the rights
    +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +# copies of the Software, and to permit persons to whom the Software is
    +# furnished to do so, subject to the following conditions:
    +
    +# The above copyright notice and this permission notice shall be included in all
    +# copies or substantial portions of the Software.
    +
    +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +# SOFTWARE.
    +class AdafruitIOError(Exception):
    +    """Base class for all Adafruit IO request failures."""
    +    pass
    +
    +
    +class RequestError(Exception):
    +    """General error for a failed Adafruit IO request."""
    +    def __init__(self, response):
    +        super(RequestError, self).__init__("Adafruit IO request failed: {0} {1}".format(
    +            response.status_code, response.reason))
    +
    +
    +class ThrottlingError(AdafruitIOError):
    +    """Too many requests have been made to Adafruit IO in a short period of time.
    +    Reduce the rate of requests and try again later.
    +    """
    +    def __init__(self):
    +        super(ThrottlingError, self).__init__("Exceeded the limit of Adafruit IO "  \
    +            "requests in a short period of time. Please reduce the rate of requests " \
    +            "and try again later.")
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/model.py b/plugins/Adafruit MQTT Client/Adafruit_IO/model.py
    new file mode 100644
    index 000000000..ad0bd6494
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/model.py	
    @@ -0,0 +1,132 @@
    +# Copyright (c) 2014 Adafruit Industries
    +# Author: Tony DiCola
    +
    +# Permission is hereby granted, free of charge, to any person obtaining a copy
    +# of this software and associated documentation files (the "Software"), to deal
    +# in the Software without restriction, including without limitation the rights
    +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +# copies of the Software, and to permit persons to whom the Software is
    +# furnished to do so, subject to the following conditions:
    +
    +# The above copyright notice and this permission notice shall be included in all
    +# copies or substantial portions of the Software.
    +
    +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +# SOFTWARE.
    +from collections import namedtuple
    +# Handle python 2 and 3 (where map functions like itertools.imap)
    +try:
    +    from itertools import imap as map
    +except ImportError:
    +    # Ignore import error on python 3 since map already behaves as expected.
    +    pass
    +
    +
    +# List of fields/properties that are present on a data object from IO.
    +DATA_FIELDS   = [ 'created_epoch', 
    +                  'created_at',
    +                  'updated_at',
    +                  'value',
    +                  'completed_at',
    +                  'feed_id',
    +                  'expiration',
    +                  'position',
    +                  'id' ]
    +
    +STREAM_FIELDS = [ 'completed_at',
    +                  'created_at',
    +                  'id',
    +                  'value' ]
    +
    +FEED_FIELDS   = [ 'last_value_at',
    +                  'name',
    +                  'stream',
    +                  'created_at',
    +                  'updated_at',
    +                  'unit_type',
    +                  'mode',
    +                  'key',
    +                  'unit_symbol',
    +                  'fixed',
    +                  'last_value',
    +                  'id' ]
    +
    +GROUP_FIELDS  = [ 'description',
    +                  'source_keys',
    +                  'id',
    +                  'source',
    +                  'key',
    +                  'feeds',
    +                  'properties',
    +                  'name' ]
    +
    +
    +# These are very simple data model classes that are based on namedtuple.  This is
    +# to keep the classes simple and prevent any confusion around updating data
    +# locally and forgetting to send those updates back up to the IO service (since
    +# tuples are immutable you can't change them!).  Depending on how people use the
    +# client it might be prudent to revisit this decision and consider making these
    +# full fledged classes that are mutable.
    +Data   = namedtuple('Data', DATA_FIELDS)
    +Stream = namedtuple('Stream', STREAM_FIELDS)
    +Feed   = namedtuple('Feed', FEED_FIELDS)
    +Group  = namedtuple('Group', GROUP_FIELDS)
    +
    +
    +# Magic incantation to make all parameters to the initializers optional with a
    +# default value of None.
    +Data.__new__.__defaults__   = tuple(None for x in DATA_FIELDS)
    +Stream.__new__.__defaults__ = tuple(None for x in STREAM_FIELDS)
    +Feed.__new__.__defaults__   = tuple(None for x in FEED_FIELDS)
    +Group.__new__.__defaults__  = tuple(None for x in GROUP_FIELDS)
    +
    +
    +# Define methods to convert from dicts to the data types.
    +def _from_dict(cls, data):
    +    # Convert dict to call to class initializer (to work with the data types
    +    # base on namedtuple).  However be very careful to preserve forwards
    +    # compatibility by ignoring any attributes in the dict which are unknown
    +    # by the data type.
    +    #params = {x: data.get(x, None) for x in cls._fields}
    +    #
    +    #Modified to support Python 2.6 by krambriw 2015-02-19
    +    params = {}
    +    for x in cls._fields:
    +        params[x] = data.get(x, None)
    +    return cls(**params)
    +
    +
    +def _feed_from_dict(cls, data):
    +    #params = {x: data.get(x, None) for x in cls._fields}
    +    #
    +    #Modified to support Python 2.6 by krambriw 2015-02-19
    +    params = {}
    +    for x in cls._fields:
    +        params[x] = data.get(x, None)
    +     # Parse the stream if provided and generate a stream instance.
    +    params['stream'] = Stream.from_dict(data.get('stream', {}))
    +    return cls(**params)
    +
    +
    +def _group_from_dict(cls, data):
    +    #params = {x: data.get(x, None) for x in cls._fields}
    +    #
    +    #Modified to support Python 2.6 by krambriw 2015-02-19
    +    params = {}
    +    for x in cls._fields:
    +        params[x] = data.get(x, None)
    +    # Parse the feeds if they're provided and generate feed instances.
    +    params['feeds'] = tuple(map(Feed.from_dict, data.get('feeds', [])))
    +    return cls(**params)
    +
    +
    +# Now add the from_dict class methods defined above to the data types.
    +Data.from_dict   = classmethod(_from_dict)
    +Stream.from_dict = classmethod(_from_dict)
    +Feed.from_dict   = classmethod(_feed_from_dict)
    +Group.from_dict  = classmethod(_group_from_dict)
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/mqtt_client.py b/plugins/Adafruit MQTT Client/Adafruit_IO/mqtt_client.py
    new file mode 100644
    index 000000000..0e564f9a3
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/mqtt_client.py	
    @@ -0,0 +1,176 @@
    +# Copyright (c) 2014 Adafruit Industries
    +# Author: Tony DiCola
    +
    +# Permission is hereby granted, free of charge, to any person obtaining a copy
    +# of this software and associated documentation files (the "Software"), to deal
    +# in the Software without restriction, including without limitation the rights
    +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +# copies of the Software, and to permit persons to whom the Software is
    +# furnished to do so, subject to the following conditions:
    +
    +# The above copyright notice and this permission notice shall be included in all
    +# copies or substantial portions of the Software.
    +
    +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +# SOFTWARE.
    +import logging
    +
    +import paho.mqtt.client as mqtt
    +
    +
    +# How long to wait before sending a keep alive (paho-mqtt configuration).
    +KEEP_ALIVE_SEC = 3600  # One minute
    +
    +logger = logging.getLogger(__name__)
    +
    +
    +class MQTTClient(object):
    +    """Interface for publishing and subscribing to feed changes on Adafruit IO
    +    using the MQTT protocol.
    +    """
    +
    +    def __init__(self, username, key, service_host='io.adafruit.com', service_port=1883):
    +        """Create instance of MQTT client.
    +
    +        Required parameters:
    +        - username: The Adafruit.IO username for your account (found on the
    +                    accounts site https://accounts.adafruit.com/).
    +        - key: The Adafruit.IO access key for your account.
    +        """
    +        self._username = username
    +        self._service_host = service_host
    +        self._service_port = service_port
    +        # Initialize event callbacks to be None so they don't fire.
    +        self.on_connect    = None
    +        self.on_disconnect = None
    +        self.on_message    = None
    +        # Initialize MQTT client.
    +        self._client = mqtt.Client()
    +        self._client.username_pw_set(username, key)
    +        self._client.on_connect    = self._mqtt_connect
    +        self._client.on_disconnect = self._mqtt_disconnect
    +        self._client.on_message    = self._mqtt_message
    +        self._connected = False
    +
    +        # Modified by krambriw 2015-02-21
    +        # -to support sending disconnection error events
    +        self.feed_id = None
    +
    +    def _mqtt_connect(self, client, userdata, flags, rc):
    +        logger.debug('Client on_connect called.')
    +        # Check if the result code is success (0) or some error (non-zero) and
    +        # raise an exception if failed.
    +        if rc == 0:
    +            self._connected = True
    +        else:
    +            # TODO: Make explicit exception classes for these failures:
    +            # 0: Connection successful 1: Connection refused - incorrect protocol version 2: Connection refused - invalid client identifier 3: Connection refused - server unavailable 4: Connection refused - bad username or password 5: Connection refused - not authorised 6-255: Currently unused.
    +            raise RuntimeError('Error connecting to Adafruit IO with rc: {0}'.format(rc))
    +        # Call the on_connect callback if available.
    +        if self.on_connect is not None:
    +            self.on_connect(self)
    +
    +    def _mqtt_disconnect(self, client, userdata, rc):
    +        logger.debug('Client on_disconnect called.')
    +        self._connected = False
    +        # If this was an unexpected disconnect (non-zero result code) then raise
    +        # an exception.
    +        # Modified by krambriw 2015-02-21
    +        # - sending disconnection error events instead of raising exceptions
    +
    +        #if rc != 0:
    +        #    raise RuntimeError('Unexpected disconnect with rc: {0}'.format(rc))
    +        if rc != 0:
    +            self.on_message(self, self.feed_id, 'disconnect')
    +        #
    +        #
    +        # Call the on_disconnect callback if available.
    +        if self.on_disconnect is not None:
    +            self.on_disconnect(self)
    +
    +    def _mqtt_message(self, client, userdata, msg):
    +        logger.debug('Client on_message called.')
    +        # Parse out the feed id and call on_message callback.
    +        # Assumes topic looks like "username/feeds/id"
    +        parsed_topic = msg.topic.split('/')
    +        if self.on_message is not None and self._username == parsed_topic[0]:
    +            feed = parsed_topic[2]
    +            payload = '' if msg.payload is None else msg.payload.decode('utf-8')
    +            self.on_message(self, feed, payload)
    +
    +    def connect(self, **kwargs):
    +        """Connect to the Adafruit.IO service.  Must be called before any loop
    +        or publish operations are called.  Will raise an exception if a 
    +        connection cannot be made.  Optional keyword arguments will be passed
    +        to paho-mqtt client connect function.
    +        """
    +        # Skip calling connect if already connected.
    +        if self._connected:
    +            return
    +        # Connect to the Adafruit IO MQTT service.
    +        self._client.connect(self._service_host, port=self._service_port, 
    +            keepalive=KEEP_ALIVE_SEC, **kwargs)
    +
    +    def is_connected(self):
    +        """Returns True if connected to Adafruit.IO and False if not connected.
    +        """
    +        return self._connected
    +
    +    def disconnect(self):
    +        """Disconnect MQTT client if connected."""
    +        if self._connected:
    +            self._client.disconnect()
    +
    +    def loop_background(self):
    +        """Starts a background thread to listen for messages from Adafruit.IO
    +        and call the appropriate callbacks when feed events occur.  Will return
    +        immediately and will not block execution.  Should only be called once.
    +        """
    +        self._client.loop_start()
    +
    +    def loop_blocking(self):
    +        """Listen for messages from Adafruit.IO and call the appropriate
    +        callbacks when feed events occur.  This call will block execution of
    +        your program and will not return until disconnect is explicitly called.
    +
    +        This is useful if your program doesn't need to do anything else except
    +        listen and respond to Adafruit.IO feed events.  If you need to do other 
    +        processing, consider using the loop_background function to run a loop
    +        in the background.
    +        """
    +        self._client.loop_forever()
    +
    +    def loop(self, timeout_sec=1.0):
    +        """Manually process messages from Adafruit.IO.  This is meant to be used
    +        inside your own main loop, where you periodically call this function to
    +        make sure messages are being processed to and from Adafruit_IO.
    +
    +        The optional timeout_sec parameter specifies at most how long to block 
    +        execution waiting for messages when this function is called.  The default
    +        is one second.
    +        """
    +        self._client.loop(timeout=timeout_sec)
    +
    +    def subscribe(self, feed_id):
    +        """Subscribe to changes on the specified feed.  When the feed is updated
    +        the on_message function will be called with the feed_id and new value.
    +        """
    +        # Modified by krambriw 2015-02-21
    +        # - making feed_id available to all functions
    +        self.feed_id = feed_id
    +        self._client.subscribe('{0}/feeds/{1}'.format(self._username, feed_id))
    +
    +    def publish(self, feed_id, value):
    +        """Publish a value to a specified feed.
    +
    +        Required parameters:
    +        - feed_id: The id of the feed to update.
    +        - value: The new value to publish to the feed.
    +        """
    +        self._client.publish('{0}/feeds/{1}'.format(self._username, feed_id),
    +            payload=value)
    diff --git a/lib27/site-packages/qrcode/image/__init__.py b/plugins/Adafruit MQTT Client/Adafruit_IO/paho/__init__.py
    similarity index 100%
    rename from lib27/site-packages/qrcode/image/__init__.py
    rename to plugins/Adafruit MQTT Client/Adafruit_IO/paho/__init__.py
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/__init__.py b/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/__init__.py
    new file mode 100644
    index 000000000..f90140865
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/__init__.py	
    @@ -0,0 +1 @@
    +__version__ = "1.1"
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/client.py b/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/client.py
    new file mode 100644
    index 000000000..9bbde8a50
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/client.py	
    @@ -0,0 +1,2337 @@
    +# Copyright (c) 2012-2014 Roger Light 
    +#
    +# All rights reserved. This program and the accompanying materials
    +# are made available under the terms of the Eclipse Public License v1.0
    +# and Eclipse Distribution License v1.0 which accompany this distribution.
    +#
    +# The Eclipse Public License is available at
    +#    http://www.eclipse.org/legal/epl-v10.html
    +# and the Eclipse Distribution License is available at
    +#   http://www.eclipse.org/org/documents/edl-v10.php.
    +#
    +# Contributors:
    +#    Roger Light - initial API and implementation
    +
    +"""
    +This is an MQTT v3.1 client module. MQTT is a lightweight pub/sub messaging
    +protocol that is easy to implement and suitable for low powered devices.
    +"""
    +import errno
    +import platform
    +import random
    +import select
    +import socket
    +HAVE_SSL = True
    +try:
    +    import ssl
    +    cert_reqs = ssl.CERT_REQUIRED
    +    tls_version = ssl.PROTOCOL_TLSv1
    +except:
    +    HAVE_SSL = False
    +    cert_reqs = None
    +    tls_version = None
    +import struct
    +import sys
    +import threading
    +import time
    +HAVE_DNS = True
    +try:
    +    import dns.resolver
    +except ImportError:
    +    HAVE_DNS = False
    +
    +if platform.system() == 'Windows':
    +    EAGAIN = errno.WSAEWOULDBLOCK
    +else:
    +    EAGAIN = errno.EAGAIN
    +
    +VERSION_MAJOR=1
    +VERSION_MINOR=0
    +VERSION_REVISION=0
    +VERSION_NUMBER=(VERSION_MAJOR*1000000+VERSION_MINOR*1000+VERSION_REVISION)
    +
    +MQTTv31 = 3
    +MQTTv311 = 4
    +
    +if sys.version_info[0] < 3:
    +    PROTOCOL_NAMEv31 = "MQIsdp"
    +    PROTOCOL_NAMEv311 = "MQTT"
    +else:
    +    PROTOCOL_NAMEv31 = b"MQIsdp"
    +    PROTOCOL_NAMEv311 = b"MQTT"
    +
    +PROTOCOL_VERSION = 3
    +
    +# Message types
    +CONNECT = 0x10
    +CONNACK = 0x20
    +PUBLISH = 0x30
    +PUBACK = 0x40
    +PUBREC = 0x50
    +PUBREL = 0x60
    +PUBCOMP = 0x70
    +SUBSCRIBE = 0x80
    +SUBACK = 0x90
    +UNSUBSCRIBE = 0xA0
    +UNSUBACK = 0xB0
    +PINGREQ = 0xC0
    +PINGRESP = 0xD0
    +DISCONNECT = 0xE0
    +
    +# Log levels
    +MQTT_LOG_INFO = 0x01
    +MQTT_LOG_NOTICE = 0x02
    +MQTT_LOG_WARNING = 0x04
    +MQTT_LOG_ERR = 0x08
    +MQTT_LOG_DEBUG = 0x10
    +
    +# CONNACK codes
    +CONNACK_ACCEPTED = 0
    +CONNACK_REFUSED_PROTOCOL_VERSION = 1
    +CONNACK_REFUSED_IDENTIFIER_REJECTED = 2
    +CONNACK_REFUSED_SERVER_UNAVAILABLE = 3
    +CONNACK_REFUSED_BAD_USERNAME_PASSWORD = 4
    +CONNACK_REFUSED_NOT_AUTHORIZED = 5
    +
    +# Connection state
    +mqtt_cs_new = 0
    +mqtt_cs_connected = 1
    +mqtt_cs_disconnecting = 2
    +mqtt_cs_connect_async = 3
    +
    +# Message state
    +mqtt_ms_invalid = 0
    +mqtt_ms_publish= 1
    +mqtt_ms_wait_for_puback = 2
    +mqtt_ms_wait_for_pubrec = 3
    +mqtt_ms_resend_pubrel = 4
    +mqtt_ms_wait_for_pubrel = 5
    +mqtt_ms_resend_pubcomp = 6
    +mqtt_ms_wait_for_pubcomp = 7
    +mqtt_ms_send_pubrec = 8
    +mqtt_ms_queued = 9
    +
    +# Error values
    +MQTT_ERR_AGAIN = -1
    +MQTT_ERR_SUCCESS = 0
    +MQTT_ERR_NOMEM = 1
    +MQTT_ERR_PROTOCOL = 2
    +MQTT_ERR_INVAL = 3
    +MQTT_ERR_NO_CONN = 4
    +MQTT_ERR_CONN_REFUSED = 5
    +MQTT_ERR_NOT_FOUND = 6
    +MQTT_ERR_CONN_LOST = 7
    +MQTT_ERR_TLS = 8
    +MQTT_ERR_PAYLOAD_SIZE = 9
    +MQTT_ERR_NOT_SUPPORTED = 10
    +MQTT_ERR_AUTH = 11
    +MQTT_ERR_ACL_DENIED = 12
    +MQTT_ERR_UNKNOWN = 13
    +MQTT_ERR_ERRNO = 14
    +
    +if sys.version_info[0] < 3:
    +    sockpair_data = "0"
    +else:
    +    sockpair_data = b"0"
    +
    +def error_string(mqtt_errno):
    +    """Return the error string associated with an mqtt error number."""
    +    if mqtt_errno == MQTT_ERR_SUCCESS:
    +        return "No error."
    +    elif mqtt_errno == MQTT_ERR_NOMEM:
    +        return "Out of memory."
    +    elif mqtt_errno == MQTT_ERR_PROTOCOL:
    +        return "A network protocol error occurred when communicating with the broker."
    +    elif mqtt_errno == MQTT_ERR_INVAL:
    +        return "Invalid function arguments provided."
    +    elif mqtt_errno == MQTT_ERR_NO_CONN:
    +        return "The client is not currently connected."
    +    elif mqtt_errno == MQTT_ERR_CONN_REFUSED:
    +        return "The connection was refused."
    +    elif mqtt_errno == MQTT_ERR_NOT_FOUND:
    +        return "Message not found (internal error)."
    +    elif mqtt_errno == MQTT_ERR_CONN_LOST:
    +        return "The connection was lost."
    +    elif mqtt_errno == MQTT_ERR_TLS:
    +        return "A TLS error occurred."
    +    elif mqtt_errno == MQTT_ERR_PAYLOAD_SIZE:
    +        return "Payload too large."
    +    elif mqtt_errno == MQTT_ERR_NOT_SUPPORTED:
    +        return "This feature is not supported."
    +    elif mqtt_errno == MQTT_ERR_AUTH:
    +        return "Authorisation failed."
    +    elif mqtt_errno == MQTT_ERR_ACL_DENIED:
    +        return "Access denied by ACL."
    +    elif mqtt_errno == MQTT_ERR_UNKNOWN:
    +        return "Unknown error."
    +    elif mqtt_errno == MQTT_ERR_ERRNO:
    +        return "Error defined by errno."
    +    else:
    +        return "Unknown error."
    +
    +
    +def connack_string(connack_code):
    +    """Return the string associated with a CONNACK result."""
    +    if connack_code == 0:
    +        return "Connection Accepted."
    +    elif connack_code == 1:
    +        return "Connection Refused: unacceptable protocol version."
    +    elif connack_code == 2:
    +        return "Connection Refused: identifier rejected."
    +    elif connack_code == 3:
    +        return "Connection Refused: broker unavailable."
    +    elif connack_code == 4:
    +        return "Connection Refused: bad user name or password."
    +    elif connack_code == 5:
    +        return "Connection Refused: not authorised."
    +    else:
    +        return "Connection Refused: unknown reason."
    +
    +
    +def topic_matches_sub(sub, topic):
    +    """Check whether a topic matches a subscription.
    +
    +    For example:
    +
    +    foo/bar would match the subscription foo/# or +/bar
    +    non/matching would not match the subscription non/+/+
    +    """
    +    result = True
    +    multilevel_wildcard = False
    +
    +    slen = len(sub)
    +    tlen = len(topic)
    +
    +    if slen > 0 and tlen > 0:
    +        if (sub[0] == '$' and topic[0] != '$') or (topic[0] == '$' and sub[0] != '$'):
    +            return False
    +
    +    spos = 0
    +    tpos = 0
    +
    +    while spos < slen and tpos < tlen:
    +        if sub[spos] == topic[tpos]:
    +            if tpos == tlen-1:
    +                # Check for e.g. foo matching foo/#
    +                if spos == slen-3 and sub[spos+1] == '/' and sub[spos+2] == '#':
    +                    result = True
    +                    multilevel_wildcard = True
    +                    break
    +
    +            spos += 1
    +            tpos += 1
    +
    +            if tpos == tlen and spos == slen-1 and sub[spos] == '+':
    +                spos += 1
    +                result = True
    +                break
    +        else:
    +            if sub[spos] == '+':
    +                spos += 1
    +                while tpos < tlen and topic[tpos] != '/':
    +                    tpos += 1
    +                if tpos == tlen and spos == slen:
    +                    result = True
    +                    break
    +
    +            elif sub[spos] == '#':
    +                multilevel_wildcard = True
    +                if spos+1 != slen:
    +                    result = False
    +                    break
    +                else:
    +                    result = True
    +                    break
    +
    +            else:
    +                result = False
    +                break
    +
    +    if not multilevel_wildcard and (tpos < tlen or spos < slen):
    +        result = False
    +
    +    return result
    +
    +
    +def _socketpair_compat():
    +    """TCP/IP socketpair including Windows support"""
    +    listensock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_IP)
    +    listensock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    +    listensock.bind(("127.0.0.1", 0))
    +    listensock.listen(1)
    +
    +    iface, port = listensock.getsockname()
    +    sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_IP)
    +    sock1.setblocking(0)
    +    try:
    +        sock1.connect(("localhost", port))
    +    except socket.error as err:
    +        if err.errno != errno.EINPROGRESS and err.errno != errno.EWOULDBLOCK and err.errno != EAGAIN:
    +            raise
    +    sock2, address = listensock.accept()
    +    sock2.setblocking(0)
    +    listensock.close()
    +    return (sock1, sock2)
    +
    +
    +class MQTTMessage:
    +    """ This is a class that describes an incoming message. It is passed to the
    +    on_message callback as the message parameter.
    +
    +    Members:
    +
    +    topic : String. topic that the message was published on.
    +    payload : String/bytes the message payload.
    +    qos : Integer. The message Quality of Service 0, 1 or 2.
    +    retain : Boolean. If true, the message is a retained message and not fresh.
    +    mid : Integer. The message id.
    +    """
    +    def __init__(self):
    +        self.timestamp = 0
    +        self.state = mqtt_ms_invalid
    +        self.dup = False
    +        self.mid = 0
    +        self.topic = ""
    +        self.payload = None
    +        self.qos = 0
    +        self.retain = False
    +
    +
    +class Client(object):
    +    """MQTT version 3.1/3.1.1 client class.
    +
    +    This is the main class for use communicating with an MQTT broker.
    +
    +    General usage flow:
    +
    +    * Use connect()/connect_async() to connect to a broker
    +    * Call loop() frequently to maintain network traffic flow with the broker
    +    * Or use loop_start() to set a thread running to call loop() for you.
    +    * Or use loop_forever() to handle calling loop() for you in a blocking
    +    * function.
    +    * Use subscribe() to subscribe to a topic and receive messages
    +    * Use publish() to send messages
    +    * Use disconnect() to disconnect from the broker
    +
    +    Data returned from the broker is made available with the use of callback
    +    functions as described below.
    +
    +    Callbacks
    +    =========
    +
    +    A number of callback functions are available to receive data back from the
    +    broker. To use a callback, define a function and then assign it to the
    +    client:
    +
    +    def on_connect(client, userdata, flags, rc):
    +        print("Connection returned " + str(rc))
    +
    +    client.on_connect = on_connect
    +
    +    All of the callbacks as described below have a "client" and an "userdata"
    +    argument. "client" is the Client instance that is calling the callback.
    +    "userdata" is user data of any type and can be set when creating a new client
    +    instance or with user_data_set(userdata).
    +
    +    The callbacks:
    +
    +    on_connect(client, userdata, flags, rc): called when the broker responds to our connection
    +      request.
    +      flags is a dict that contains response flags from the broker:
    +        flags['session present'] - this flag is useful for clients that are
    +            using clean session set to 0 only. If a client with clean
    +            session=0, that reconnects to a broker that it has previously
    +            connected to, this flag indicates whether the broker still has the
    +            session information for the client. If 1, the session still exists.
    +      The value of rc determines success or not:
    +        0: Connection successful
    +        1: Connection refused - incorrect protocol version
    +        2: Connection refused - invalid client identifier
    +        3: Connection refused - server unavailable
    +        4: Connection refused - bad username or password
    +        5: Connection refused - not authorised
    +        6-255: Currently unused.
    +
    +    on_disconnect(client, userdata, rc): called when the client disconnects from the broker.
    +      The rc parameter indicates the disconnection state. If MQTT_ERR_SUCCESS
    +      (0), the callback was called in response to a disconnect() call. If any
    +      other value the disconnection was unexpected, such as might be caused by
    +      a network error.
    +
    +    on_message(client, userdata, message): called when a message has been received on a
    +      topic that the client subscribes to. The message variable is a
    +      MQTTMessage that describes all of the message parameters.
    +
    +    on_publish(client, userdata, mid): called when a message that was to be sent using the
    +      publish() call has completed transmission to the broker. For messages
    +      with QoS levels 1 and 2, this means that the appropriate handshakes have
    +      completed. For QoS 0, this simply means that the message has left the
    +      client. The mid variable matches the mid variable returned from the
    +      corresponding publish() call, to allow outgoing messages to be tracked.
    +      This callback is important because even if the publish() call returns
    +      success, it does not always mean that the message has been sent.
    +
    +    on_subscribe(client, userdata, mid, granted_qos): called when the broker responds to a
    +      subscribe request. The mid variable matches the mid variable returned
    +      from the corresponding subscribe() call. The granted_qos variable is a
    +      list of integers that give the QoS level the broker has granted for each
    +      of the different subscription requests.
    +
    +    on_unsubscribe(client, userdata, mid): called when the broker responds to an unsubscribe
    +      request. The mid variable matches the mid variable returned from the
    +      corresponding unsubscribe() call.
    +
    +    on_log(client, userdata, level, buf): called when the client has log information. Define
    +      to allow debugging. The level variable gives the severity of the message
    +      and will be one of MQTT_LOG_INFO, MQTT_LOG_NOTICE, MQTT_LOG_WARNING,
    +      MQTT_LOG_ERR, and MQTT_LOG_DEBUG. The message itself is in buf.
    +
    +    """
    +    def __init__(self, client_id="", clean_session=True, userdata=None, protocol=MQTTv31):
    +        """client_id is the unique client id string used when connecting to the
    +        broker. If client_id is zero length or None, then one will be randomly
    +        generated. In this case, clean_session must be True. If this is not the
    +        case a ValueError will be raised.
    +
    +        clean_session is a boolean that determines the client type. If True,
    +        the broker will remove all information about this client when it
    +        disconnects. If False, the client is a persistent client and
    +        subscription information and queued messages will be retained when the
    +        client disconnects.
    +        Note that a client will never discard its own outgoing messages on
    +        disconnect. Calling connect() or reconnect() will cause the messages to
    +        be resent.  Use reinitialise() to reset a client to its original state.
    +
    +        userdata is user defined data of any type that is passed as the "userdata"
    +        parameter to callbacks. It may be updated at a later point with the
    +        user_data_set() function.
    +
    +        The protocol argument allows explicit setting of the MQTT version to
    +        use for this client. Can be paho.mqtt.client.MQTTv311 (v3.1.1) or
    +        paho.mqtt.client.MQTTv31 (v3.1), with the default being v3.1. If the
    +        broker reports that the client connected with an invalid protocol
    +        version, the client will automatically attempt to reconnect using v3.1
    +        instead.
    +        """
    +        if not clean_session and (client_id == "" or client_id is None):
    +            raise ValueError('A client id must be provided if clean session is False.')
    +
    +        self._protocol = protocol
    +        self._userdata = userdata
    +        self._sock = None
    +        self._sockpairR, self._sockpairW = _socketpair_compat()
    +        self._keepalive = 60
    +        self._message_retry = 20
    +        self._last_retry_check = 0
    +        self._clean_session = clean_session
    +        if client_id == "" or client_id is None:
    +            self._client_id = "paho/" + "".join(random.choice("0123456789ADCDEF") for x in range(23-5))
    +        else:
    +            self._client_id = client_id
    +
    +        self._username = ""
    +        self._password = ""
    +        self._in_packet = {
    +            "command": 0,
    +            "have_remaining": 0,
    +            "remaining_count": [],
    +            "remaining_mult": 1,
    +            "remaining_length": 0,
    +            "packet": b"",
    +            "to_process": 0,
    +            "pos": 0}
    +        self._out_packet = []
    +        self._current_out_packet = None
    +        self._last_msg_in = time.time()
    +        self._last_msg_out = time.time()
    +        self._ping_t = 0
    +        self._last_mid = 0
    +        self._state = mqtt_cs_new
    +        self._out_messages = []
    +        self._in_messages = []
    +        self._max_inflight_messages = 20
    +        self._inflight_messages = 0
    +        self._will = False
    +        self._will_topic = ""
    +        self._will_payload = None
    +        self._will_qos = 0
    +        self._will_retain = False
    +        self.on_disconnect = None
    +        self.on_connect = None
    +        self.on_publish = None
    +        self.on_message = None
    +        self.on_message_filtered = []
    +        self.on_subscribe = None
    +        self.on_unsubscribe = None
    +        self.on_log = None
    +        self._host = ""
    +        self._port = 1883
    +        self._bind_address = ""
    +        self._in_callback = False
    +        self._strict_protocol = False
    +        self._callback_mutex = threading.Lock()
    +        self._state_mutex = threading.Lock()
    +        self._out_packet_mutex = threading.Lock()
    +        self._current_out_packet_mutex = threading.Lock()
    +        self._msgtime_mutex = threading.Lock()
    +        self._out_message_mutex = threading.Lock()
    +        self._in_message_mutex = threading.Lock()
    +        self._thread = None
    +        self._thread_terminate = False
    +        self._ssl = None
    +        self._tls_certfile = None
    +        self._tls_keyfile = None
    +        self._tls_ca_certs = None
    +        self._tls_cert_reqs = None
    +        self._tls_ciphers = None
    +        self._tls_version = tls_version
    +        self._tls_insecure = False
    +
    +    def __del__(self):
    +        pass
    +
    +    def reinitialise(self, client_id="", clean_session=True, userdata=None):
    +        if self._ssl:
    +            self._ssl.close()
    +            self._ssl = None
    +            self._sock = None
    +        elif self._sock:
    +            self._sock.close()
    +            self._sock = None
    +        if self._sockpairR:
    +            self._sockpairR.close()
    +            self._sockpairR = None
    +        if self._sockpairW:
    +            self._sockpairW.close()
    +            self._sockpairW = None
    +
    +        self.__init__(client_id, clean_session, userdata)
    +
    +    def tls_set(self, ca_certs, certfile=None, keyfile=None, cert_reqs=cert_reqs, tls_version=tls_version, ciphers=None):
    +        """Configure network encryption and authentication options. Enables SSL/TLS support.
    +
    +        ca_certs : a string path to the Certificate Authority certificate files
    +        that are to be treated as trusted by this client. If this is the only
    +        option given then the client will operate in a similar manner to a web
    +        browser. That is to say it will require the broker to have a
    +        certificate signed by the Certificate Authorities in ca_certs and will
    +        communicate using TLS v1, but will not attempt any form of
    +        authentication. This provides basic network encryption but may not be
    +        sufficient depending on how the broker is configured.
    +
    +        certfile and keyfile are strings pointing to the PEM encoded client
    +        certificate and private keys respectively. If these arguments are not
    +        None then they will be used as client information for TLS based
    +        authentication.  Support for this feature is broker dependent. Note
    +        that if either of these files in encrypted and needs a password to
    +        decrypt it, Python will ask for the password at the command line. It is
    +        not currently possible to define a callback to provide the password.
    +
    +        cert_reqs allows the certificate requirements that the client imposes
    +        on the broker to be changed. By default this is ssl.CERT_REQUIRED,
    +        which means that the broker must provide a certificate. See the ssl
    +        pydoc for more information on this parameter.
    +
    +        tls_version allows the version of the SSL/TLS protocol used to be
    +        specified. By default TLS v1 is used. Previous versions (all versions
    +        beginning with SSL) are possible but not recommended due to possible
    +        security problems.
    +
    +        ciphers is a string specifying which encryption ciphers are allowable
    +        for this connection, or None to use the defaults. See the ssl pydoc for
    +        more information.
    +
    +        Must be called before connect() or connect_async()."""
    +        if HAVE_SSL is False:
    +            raise ValueError('This platform has no SSL/TLS.')
    +
    +        if sys.version < '2.7':
    +            raise ValueError('Python 2.7 is the minimum supported version for TLS.')
    +
    +        if ca_certs is None:
    +            raise ValueError('ca_certs must not be None.')
    +
    +        try:
    +            f = open(ca_certs, "r")
    +        except IOError as err:
    +            raise IOError(ca_certs+": "+err.strerror)
    +        else:
    +            f.close()
    +        if certfile is not None:
    +            try:
    +                f = open(certfile, "r")
    +            except IOError as err:
    +                raise IOError(certfile+": "+err.strerror)
    +            else:
    +                f.close()
    +        if keyfile is not None:
    +            try:
    +                f = open(keyfile, "r")
    +            except IOError as err:
    +                raise IOError(keyfile+": "+err.strerror)
    +            else:
    +                f.close()
    +
    +        self._tls_ca_certs = ca_certs
    +        self._tls_certfile = certfile
    +        self._tls_keyfile = keyfile
    +        self._tls_cert_reqs = cert_reqs
    +        self._tls_version = tls_version
    +        self._tls_ciphers = ciphers
    +
    +    def tls_insecure_set(self, value):
    +        """Configure verification of the server hostname in the server certificate.
    +
    +        If value is set to true, it is impossible to guarantee that the host
    +        you are connecting to is not impersonating your server. This can be
    +        useful in initial server testing, but makes it possible for a malicious
    +        third party to impersonate your server through DNS spoofing, for
    +        example.
    +
    +        Do not use this function in a real system. Setting value to true means
    +        there is no point using encryption.
    +
    +        Must be called before connect()."""
    +        if HAVE_SSL is False:
    +            raise ValueError('This platform has no SSL/TLS.')
    +
    +        self._tls_insecure = value
    +
    +    def connect(self, host, port=1883, keepalive=60, bind_address=""):
    +        """Connect to a remote broker.
    +
    +        host is the hostname or IP address of the remote broker.
    +        port is the network port of the server host to connect to. Defaults to
    +        1883. Note that the default port for MQTT over SSL/TLS is 8883 so if you
    +        are using tls_set() the port may need providing.
    +        keepalive: Maximum period in seconds between communications with the
    +        broker. If no other messages are being exchanged, this controls the
    +        rate at which the client will send ping messages to the broker.
    +        """
    +        self.connect_async(host, port, keepalive, bind_address)
    +        return self.reconnect()
    +
    +    def connect_srv(self, domain=None, keepalive=60, bind_address=""):
    +        """Connect to a remote broker.
    +
    +        domain is the DNS domain to search for SRV records; if None,
    +        try to determine local domain name.
    +        keepalive and bind_address are as for connect()
    +        """
    +
    +        if HAVE_DNS is False:
    +            raise ValueError('No DNS resolver library found.')
    +
    +        if domain is None:
    +            domain = socket.getfqdn()
    +            domain = domain[domain.find('.') + 1:]
    +
    +        try:
    +            rr = '_mqtt._tcp.%s' % domain
    +            if self._ssl is not None:
    +                # IANA specifies secure-mqtt (not mqtts) for port 8883
    +                rr = '_secure-mqtt._tcp.%s' % domain
    +            answers = []
    +            for answer in dns.resolver.query(rr, dns.rdatatype.SRV):
    +                addr = answer.target.to_text()[:-1]
    +                answers.append((addr, answer.port, answer.priority, answer.weight))
    +        except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer, dns.resolver.NoNameservers):
    +            raise ValueError("No answer/NXDOMAIN for SRV in %s" % (domain))
    +
    +        # FIXME: doesn't account for weight
    +        for answer in answers:
    +            host, port, prio, weight = answer
    +
    +            try:
    +                return self.connect(host, port, keepalive, bind_address)
    +            except:
    +                pass
    +
    +        raise ValueError("No SRV hosts responded")
    +
    +    def connect_async(self, host, port=1883, keepalive=60, bind_address=""):
    +        """Connect to a remote broker asynchronously. This is a non-blocking
    +        connect call that can be used with loop_start() to provide very quick
    +        start.
    +
    +        host is the hostname or IP address of the remote broker.
    +        port is the network port of the server host to connect to. Defaults to
    +        1883. Note that the default port for MQTT over SSL/TLS is 8883 so if you
    +        are using tls_set() the port may need providing.
    +        keepalive: Maximum period in seconds between communications with the
    +        broker. If no other messages are being exchanged, this controls the
    +        rate at which the client will send ping messages to the broker.
    +        """
    +        if host is None or len(host) == 0:
    +            raise ValueError('Invalid host.')
    +        if port <= 0:
    +            raise ValueError('Invalid port number.')
    +        if keepalive < 0:
    +            raise ValueError('Keepalive must be >=0.')
    +        if bind_address != "" and bind_address is not None:
    +            if (sys.version_info[0] == 2 and sys.version_info[1] < 7) or (sys.version_info[0] == 3 and sys.version_info[1] < 2):
    +                raise ValueError('bind_address requires Python 2.7 or 3.2.')
    +
    +        self._host = host
    +        self._port = port
    +        self._keepalive = keepalive
    +        self._bind_address = bind_address
    +
    +        self._state_mutex.acquire()
    +        self._state = mqtt_cs_connect_async
    +        self._state_mutex.release()
    +
    +    def reconnect(self):
    +        """Reconnect the client after a disconnect. Can only be called after
    +        connect()/connect_async()."""
    +        if len(self._host) == 0:
    +            raise ValueError('Invalid host.')
    +        if self._port <= 0:
    +            raise ValueError('Invalid port number.')
    +
    +        self._in_packet = {
    +            "command": 0,
    +            "have_remaining": 0,
    +            "remaining_count": [],
    +            "remaining_mult": 1,
    +            "remaining_length": 0,
    +            "packet": b"",
    +            "to_process": 0,
    +            "pos": 0}
    +
    +        self._out_packet_mutex.acquire()
    +        self._out_packet = []
    +        self._out_packet_mutex.release()
    +
    +        self._current_out_packet_mutex.acquire()
    +        self._current_out_packet = None
    +        self._current_out_packet_mutex.release()
    +
    +        self._msgtime_mutex.acquire()
    +        self._last_msg_in = time.time()
    +        self._last_msg_out = time.time()
    +        self._msgtime_mutex.release()
    +
    +        self._ping_t = 0
    +        self._state_mutex.acquire()
    +        self._state = mqtt_cs_new
    +        self._state_mutex.release()
    +        if self._ssl:
    +            self._ssl.close()
    +            self._ssl = None
    +            self._sock = None
    +        elif self._sock:
    +            self._sock.close()
    +            self._sock = None
    +
    +        # Put messages in progress in a valid state.
    +        self._messages_reconnect_reset()
    +
    +        try:
    +            if (sys.version_info[0] == 2 and sys.version_info[1] < 7) or (sys.version_info[0] == 3 and sys.version_info[1] < 2):
    +                sock = socket.create_connection((self._host, self._port))
    +            else:
    +                sock = socket.create_connection((self._host, self._port), source_address=(self._bind_address, 0))
    +        except socket.error as err:
    +            if err.errno != errno.EINPROGRESS and err.errno != errno.EWOULDBLOCK and err.errno != EAGAIN:
    +                raise
    +
    +        if self._tls_ca_certs is not None:
    +            self._ssl = ssl.wrap_socket(
    +                sock,
    +                certfile=self._tls_certfile,
    +                keyfile=self._tls_keyfile,
    +                ca_certs=self._tls_ca_certs,
    +                cert_reqs=self._tls_cert_reqs,
    +                ssl_version=self._tls_version,
    +                ciphers=self._tls_ciphers)
    +
    +            if self._tls_insecure is False:
    +                if sys.version_info[0] < 3 or (sys.version_info[0] == 3 and sys.version_info[1] < 2):
    +                    self._tls_match_hostname()
    +                else:
    +                    ssl.match_hostname(self._ssl.getpeercert(), self._host)
    +
    +        self._sock = sock
    +        self._sock.setblocking(0)
    +
    +        return self._send_connect(self._keepalive, self._clean_session)
    +
    +    def loop(self, timeout=1.0, max_packets=1):
    +        """Process network events.
    +
    +        This function must be called regularly to ensure communication with the
    +        broker is carried out. It calls select() on the network socket to wait
    +        for network events. If incoming data is present it will then be
    +        processed. Outgoing commands, from e.g. publish(), are normally sent
    +        immediately that their function is called, but this is not always
    +        possible. loop() will also attempt to send any remaining outgoing
    +        messages, which also includes commands that are part of the flow for
    +        messages with QoS>0.
    +
    +        timeout: The time in seconds to wait for incoming/outgoing network
    +          traffic before timing out and returning.
    +        max_packets: Not currently used.
    +
    +        Returns MQTT_ERR_SUCCESS on success.
    +        Returns >0 on error.
    +
    +        A ValueError will be raised if timeout < 0"""
    +        if timeout < 0.0:
    +            raise ValueError('Invalid timeout.')
    +
    +        self._current_out_packet_mutex.acquire()
    +        self._out_packet_mutex.acquire()
    +        if self._current_out_packet is None and len(self._out_packet) > 0:
    +            self._current_out_packet = self._out_packet.pop(0)
    +
    +        if self._current_out_packet:
    +            wlist = [self.socket()]
    +        else:
    +            wlist = []
    +        self._out_packet_mutex.release()
    +        self._current_out_packet_mutex.release()
    +
    +        # sockpairR is used to break out of select() before the timeout, on a
    +        # call to publish() etc.
    +        rlist = [self.socket(), self._sockpairR]
    +        try:
    +            socklist = select.select(rlist, wlist, [], timeout)
    +        except TypeError:
    +            # Socket isn't correct type, in likelihood connection is lost
    +            return MQTT_ERR_CONN_LOST
    +        except ValueError:
    +            # Can occur if we just reconnected but rlist/wlist contain a -1 for
    +            # some reason.
    +            return MQTT_ERR_CONN_LOST
    +        except:
    +            return MQTT_ERR_UNKNOWN
    +
    +        if self.socket() in socklist[0]:
    +            rc = self.loop_read(max_packets)
    +            if rc or (self._ssl is None and self._sock is None):
    +                return rc
    +
    +        if self._sockpairR in socklist[0]:
    +            # Stimulate output write even though we didn't ask for it, because
    +            # at that point the publish or other command wasn't present.
    +            socklist[1].insert(0, self.socket())
    +            # Clear sockpairR - only ever a single byte written.
    +            try:
    +                self._sockpairR.recv(1)
    +            except socket.error as err:
    +                if err.errno != EAGAIN:
    +                    raise
    +
    +        if self.socket() in socklist[1]:
    +            rc = self.loop_write(max_packets)
    +            if rc or (self._ssl is None and self._sock is None):
    +                return rc
    +
    +        return self.loop_misc()
    +
    +    def publish(self, topic, payload=None, qos=0, retain=False):
    +        """Publish a message on a topic.
    +
    +        This causes a message to be sent to the broker and subsequently from
    +        the broker to any clients subscribing to matching topics.
    +
    +        topic: The topic that the message should be published on.
    +        payload: The actual message to send. If not given, or set to None a
    +        zero length message will be used. Passing an int or float will result
    +        in the payload being converted to a string representing that number. If
    +        you wish to send a true int/float, use struct.pack() to create the
    +        payload you require.
    +        qos: The quality of service level to use.
    +        retain: If set to true, the message will be set as the "last known
    +        good"/retained message for the topic.
    +
    +        Returns a tuple (result, mid), where result is MQTT_ERR_SUCCESS to
    +        indicate success or MQTT_ERR_NO_CONN if the client is not currently
    +        connected.  mid is the message ID for the publish request. The mid
    +        value can be used to track the publish request by checking against the
    +        mid argument in the on_publish() callback if it is defined.
    +
    +        A ValueError will be raised if topic is None, has zero length or is
    +        invalid (contains a wildcard), if qos is not one of 0, 1 or 2, or if
    +        the length of the payload is greater than 268435455 bytes."""
    +        if topic is None or len(topic) == 0:
    +            raise ValueError('Invalid topic.')
    +        if qos<0 or qos>2:
    +            raise ValueError('Invalid QoS level.')
    +        if isinstance(payload, str) or isinstance(payload, bytearray):
    +            local_payload = payload
    +        elif sys.version_info[0] < 3 and isinstance(payload, unicode):
    +            local_payload = payload
    +        elif isinstance(payload, int) or isinstance(payload, float):
    +            local_payload = str(payload)
    +        elif payload is None:
    +            local_payload = None
    +        else:
    +            raise TypeError('payload must be a string, bytearray, int, float or None.')
    +
    +        if local_payload is not None and len(local_payload) > 268435455:
    +            raise ValueError('Payload too large.')
    +
    +        if self._topic_wildcard_len_check(topic) != MQTT_ERR_SUCCESS:
    +            raise ValueError('Publish topic cannot contain wildcards.')
    +
    +        local_mid = self._mid_generate()
    +
    +        if qos == 0:
    +            rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False)
    +            return (rc, local_mid)
    +        else:
    +            message = MQTTMessage()
    +            message.timestamp = time.time()
    +
    +            message.mid = local_mid
    +            message.topic = topic
    +            if local_payload is None or len(local_payload) == 0:
    +                message.payload = None
    +            else:
    +                message.payload = local_payload
    +
    +            message.qos = qos
    +            message.retain = retain
    +            message.dup = False
    +
    +            self._out_message_mutex.acquire()
    +            self._out_messages.append(message)
    +            if self._max_inflight_messages == 0 or self._inflight_messages < self._max_inflight_messages:
    +                self._inflight_messages = self._inflight_messages+1
    +                if qos == 1:
    +                    message.state = mqtt_ms_wait_for_puback
    +                elif qos == 2:
    +                    message.state = mqtt_ms_wait_for_pubrec
    +                self._out_message_mutex.release()
    +
    +                rc = self._send_publish(message.mid, message.topic, message.payload, message.qos, message.retain, message.dup)
    +
    +                # remove from inflight messages so it will be send after a connection is made
    +                if rc is MQTT_ERR_NO_CONN:
    +                    with self._out_message_mutex:
    +                        self._inflight_messages -= 1
    +                        message.state = mqtt_ms_publish
    +
    +                return (rc, local_mid)
    +            else:
    +                message.state = mqtt_ms_queued;
    +                self._out_message_mutex.release()
    +                return (MQTT_ERR_SUCCESS, local_mid)
    +
    +    def username_pw_set(self, username, password=None):
    +        """Set a username and optionally a password for broker authentication.
    +
    +        Must be called before connect() to have any effect.
    +        Requires a broker that supports MQTT v3.1.
    +
    +        username: The username to authenticate with. Need have no relationship to the client id.
    +        password: The password to authenticate with. Optional, set to None if not required.
    +        """
    +        self._username = username.encode('utf-8')
    +        self._password = password
    +
    +    def disconnect(self):
    +        """Disconnect a connected client from the broker."""
    +        self._state_mutex.acquire()
    +        self._state = mqtt_cs_disconnecting
    +        self._state_mutex.release()
    +
    +        if self._sock is None and self._ssl is None:
    +            return MQTT_ERR_NO_CONN
    +
    +        return self._send_disconnect()
    +
    +    def subscribe(self, topic, qos=0):
    +        """Subscribe the client to one or more topics.
    +
    +        This function may be called in three different ways:
    +
    +        Simple string and integer
    +        -------------------------
    +        e.g. subscribe("my/topic", 2)
    +
    +        topic: A string specifying the subscription topic to subscribe to.
    +        qos: The desired quality of service level for the subscription.
    +             Defaults to 0.
    +
    +        String and integer tuple
    +        ------------------------
    +        e.g. subscribe(("my/topic", 1))
    +
    +        topic: A tuple of (topic, qos). Both topic and qos must be present in
    +               the tuple.
    +        qos: Not used.
    +
    +        List of string and integer tuples
    +        ------------------------
    +        e.g. subscribe([("my/topic", 0), ("another/topic", 2)])
    +
    +        This allows multiple topic subscriptions in a single SUBSCRIPTION
    +        command, which is more efficient than using multiple calls to
    +        subscribe().
    +
    +        topic: A list of tuple of format (topic, qos). Both topic and qos must
    +               be present in all of the tuples.
    +        qos: Not used.
    +
    +        The function returns a tuple (result, mid), where result is
    +        MQTT_ERR_SUCCESS to indicate success or (MQTT_ERR_NO_CONN, None) if the
    +        client is not currently connected.  mid is the message ID for the
    +        subscribe request. The mid value can be used to track the subscribe
    +        request by checking against the mid argument in the on_subscribe()
    +        callback if it is defined.
    +
    +        Raises a ValueError if qos is not 0, 1 or 2, or if topic is None or has
    +        zero string length, or if topic is not a string, tuple or list.
    +        """
    +        topic_qos_list = None
    +        if isinstance(topic, str):
    +            if qos<0 or qos>2:
    +                raise ValueError('Invalid QoS level.')
    +            if topic is None or len(topic) == 0:
    +                raise ValueError('Invalid topic.')
    +            topic_qos_list = [(topic.encode('utf-8'), qos)]
    +        elif isinstance(topic, tuple):
    +            if topic[1]<0 or topic[1]>2:
    +                raise ValueError('Invalid QoS level.')
    +            if topic[0] is None or len(topic[0]) == 0 or not isinstance(topic[0], str):
    +                raise ValueError('Invalid topic.')
    +            topic_qos_list = [(topic[0].encode('utf-8'), topic[1])]
    +        elif isinstance(topic, list):
    +            topic_qos_list = []
    +            for t in topic:
    +                if t[1]<0 or t[1]>2:
    +                    raise ValueError('Invalid QoS level.')
    +                if t[0] is None or len(t[0]) == 0 or not isinstance(t[0], str):
    +                    raise ValueError('Invalid topic.')
    +                topic_qos_list.append((t[0].encode('utf-8'), t[1]))
    +
    +        if topic_qos_list is None:
    +            raise ValueError("No topic specified, or incorrect topic type.")
    +
    +        if self._sock is None and self._ssl is None:
    +            return (MQTT_ERR_NO_CONN, None)
    +
    +        return self._send_subscribe(False, topic_qos_list)
    +
    +    def unsubscribe(self, topic):
    +        """Unsubscribe the client from one or more topics.
    +
    +        topic: A single string, or list of strings that are the subscription
    +               topics to unsubscribe from.
    +
    +        Returns a tuple (result, mid), where result is MQTT_ERR_SUCCESS
    +        to indicate success or (MQTT_ERR_NO_CONN, None) if the client is not
    +        currently connected.
    +        mid is the message ID for the unsubscribe request. The mid value can be
    +        used to track the unsubscribe request by checking against the mid
    +        argument in the on_unsubscribe() callback if it is defined.
    +
    +        Raises a ValueError if topic is None or has zero string length, or is
    +        not a string or list.
    +        """
    +        topic_list = None
    +        if topic is None:
    +            raise ValueError('Invalid topic.')
    +        if isinstance(topic, str):
    +            if len(topic) == 0:
    +                raise ValueError('Invalid topic.')
    +            topic_list = [topic.encode('utf-8')]
    +        elif isinstance(topic, list):
    +            topic_list = []
    +            for t in topic:
    +                if len(t) == 0 or not isinstance(t, str):
    +                    raise ValueError('Invalid topic.')
    +                topic_list.append(t.encode('utf-8'))
    +
    +        if topic_list is None:
    +            raise ValueError("No topic specified, or incorrect topic type.")
    +
    +        if self._sock is None and self._ssl is None:
    +            return (MQTT_ERR_NO_CONN, None)
    +
    +        return self._send_unsubscribe(False, topic_list)
    +
    +    def loop_read(self, max_packets=1):
    +        """Process read network events. Use in place of calling loop() if you
    +        wish to handle your client reads as part of your own application.
    +
    +        Use socket() to obtain the client socket to call select() or equivalent
    +        on.
    +
    +        Do not use if you are using the threaded interface loop_start()."""
    +        if self._sock is None and self._ssl is None:
    +            return MQTT_ERR_NO_CONN
    +
    +        max_packets = len(self._out_messages) + len(self._in_messages)
    +        if max_packets < 1:
    +            max_packets = 1
    +
    +        for i in range(0, max_packets):
    +            rc = self._packet_read()
    +            if rc > 0:
    +                return self._loop_rc_handle(rc)
    +            elif rc == MQTT_ERR_AGAIN:
    +                return MQTT_ERR_SUCCESS
    +        return MQTT_ERR_SUCCESS
    +
    +    def loop_write(self, max_packets=1):
    +        """Process read network events. Use in place of calling loop() if you
    +        wish to handle your client reads as part of your own application.
    +
    +        Use socket() to obtain the client socket to call select() or equivalent
    +        on.
    +
    +        Use want_write() to determine if there is data waiting to be written.
    +
    +        Do not use if you are using the threaded interface loop_start()."""
    +        if self._sock is None and self._ssl is None:
    +            return MQTT_ERR_NO_CONN
    +
    +        max_packets = len(self._out_packet) + 1
    +        if max_packets < 1:
    +            max_packets = 1
    +
    +        for i in range(0, max_packets):
    +            rc = self._packet_write()
    +            if rc > 0:
    +                return self._loop_rc_handle(rc)
    +            elif rc == MQTT_ERR_AGAIN:
    +                return MQTT_ERR_SUCCESS
    +        return MQTT_ERR_SUCCESS
    +
    +    def want_write(self):
    +        """Call to determine if there is network data waiting to be written.
    +        Useful if you are calling select() yourself rather than using loop().
    +        """
    +        if self._current_out_packet or len(self._out_packet) > 0:
    +            return True
    +        else:
    +            return False
    +
    +    def loop_misc(self):
    +        """Process miscellaneous network events. Use in place of calling loop() if you
    +        wish to call select() or equivalent on.
    +
    +        Do not use if you are using the threaded interface loop_start()."""
    +        if self._sock is None and self._ssl is None:
    +            return MQTT_ERR_NO_CONN
    +
    +        now = time.time()
    +        self._check_keepalive()
    +        if self._last_retry_check+1 < now:
    +            # Only check once a second at most
    +            self._message_retry_check()
    +            self._last_retry_check = now
    +
    +        if self._ping_t > 0 and now - self._ping_t >= self._keepalive:
    +            # client->ping_t != 0 means we are waiting for a pingresp.
    +            # This hasn't happened in the keepalive time so we should disconnect.
    +            if self._ssl:
    +                self._ssl.close()
    +                self._ssl = None
    +            elif self._sock:
    +                self._sock.close()
    +                self._sock = None
    +
    +            self._callback_mutex.acquire()
    +            if self._state == mqtt_cs_disconnecting:
    +                rc = MQTT_ERR_SUCCESS
    +            else:
    +                rc = 1
    +            if self.on_disconnect:
    +                self._in_callback = True
    +                self.on_disconnect(self, self._userdata, rc)
    +                self._in_callback = False
    +            self._callback_mutex.release()
    +            return MQTT_ERR_CONN_LOST
    +
    +        return MQTT_ERR_SUCCESS
    +
    +    def max_inflight_messages_set(self, inflight):
    +        """Set the maximum number of messages with QoS>0 that can be part way
    +        through their network flow at once. Defaults to 20."""
    +        if inflight < 0:
    +            raise ValueError('Invalid inflight.')
    +        self._max_inflight_messages = inflight
    +
    +    def message_retry_set(self, retry):
    +        """Set the timeout in seconds before a message with QoS>0 is retried.
    +        20 seconds by default."""
    +        if retry < 0:
    +            raise ValueError('Invalid retry.')
    +
    +        self._message_retry = retry
    +
    +    def user_data_set(self, userdata):
    +        """Set the user data variable passed to callbacks. May be any data type."""
    +        self._userdata = userdata
    +
    +    def will_set(self, topic, payload=None, qos=0, retain=False):
    +        """Set a Will to be sent by the broker in case the client disconnects unexpectedly.
    +
    +        This must be called before connect() to have any effect.
    +
    +        topic: The topic that the will message should be published on.
    +        payload: The message to send as a will. If not given, or set to None a
    +        zero length message will be used as the will. Passing an int or float
    +        will result in the payload being converted to a string representing
    +        that number. If you wish to send a true int/float, use struct.pack() to
    +        create the payload you require.
    +        qos: The quality of service level to use for the will.
    +        retain: If set to true, the will message will be set as the "last known
    +        good"/retained message for the topic.
    +
    +        Raises a ValueError if qos is not 0, 1 or 2, or if topic is None or has
    +        zero string length.
    +        """
    +        if topic is None or len(topic) == 0:
    +            raise ValueError('Invalid topic.')
    +        if qos<0 or qos>2:
    +            raise ValueError('Invalid QoS level.')
    +        if isinstance(payload, str):
    +            self._will_payload = payload.encode('utf-8')
    +        elif isinstance(payload, bytearray):
    +            self._will_payload = payload
    +        elif isinstance(payload, int) or isinstance(payload, float):
    +            self._will_payload = str(payload)
    +        elif payload is None:
    +            self._will_payload = None
    +        else:
    +            raise TypeError('payload must be a string, bytearray, int, float or None.')
    +
    +        self._will = True
    +        self._will_topic = topic.encode('utf-8')
    +        self._will_qos = qos
    +        self._will_retain = retain
    +
    +    def will_clear(self):
    +        """ Removes a will that was previously configured with will_set().
    +
    +        Must be called before connect() to have any effect."""
    +        self._will = False
    +        self._will_topic = ""
    +        self._will_payload = None
    +        self._will_qos = 0
    +        self._will_retain = False
    +
    +    def socket(self):
    +        """Return the socket or ssl object for this client."""
    +        if self._ssl:
    +            return self._ssl
    +        else:
    +            return self._sock
    +
    +    def loop_forever(self, timeout=1.0, max_packets=1, retry_first_connection=False):
    +        """This function call loop() for you in an infinite blocking loop. It
    +        is useful for the case where you only want to run the MQTT client loop
    +        in your program.
    +
    +        loop_forever() will handle reconnecting for you. If you call
    +        disconnect() in a callback it will return.
    +
    +
    +        timeout: The time in seconds to wait for incoming/outgoing network
    +          traffic before timing out and returning.
    +        max_packets: Not currently used.
    +        retry_first_connection: Should the first connection attempt be retried on failure.
    +
    +        Raises socket.error on first connection failures unless retry_first_connection=True
    +        """
    +
    +        run = True
    +
    +        while run:
    +            if self._state == mqtt_cs_connect_async:
    +                try:
    +                    self.reconnect()
    +                except socket.error:
    +                    if not retry_first_connection:
    +                        raise
    +                    self._easy_log(MQTT_LOG_DEBUG, "Connection failed, retrying")
    +                    time.sleep(1)
    +            else:
    +                break
    +
    +        while run:
    +            rc = MQTT_ERR_SUCCESS
    +            while rc == MQTT_ERR_SUCCESS:
    +                rc = self.loop(timeout, max_packets)
    +                # We don't need to worry about locking here, because we've
    +                # either called loop_forever() when in single threaded mode, or
    +                # in multi threaded mode when loop_stop() has been called and
    +                # so no other threads can access _current_out_packet,
    +                # _out_packet or _messages.
    +                if (self._thread_terminate is True
    +                        and self._current_out_packet is None
    +                        and len(self._out_packet) == 0
    +                        and len(self._out_messages) == 0):
    +
    +                    rc = 1
    +                    run = False
    +
    +            self._state_mutex.acquire()
    +            if self._state == mqtt_cs_disconnecting or run is False or self._thread_terminate is True:
    +                run = False
    +                self._state_mutex.release()
    +            else:
    +                self._state_mutex.release()
    +                time.sleep(1)
    +
    +                self._state_mutex.acquire()
    +                if self._state == mqtt_cs_disconnecting or run is False or self._thread_terminate is True:
    +                    run = False
    +                    self._state_mutex.release()
    +                else:
    +                    self._state_mutex.release()
    +                    try:
    +                        self.reconnect()
    +                    except socket.error as err:
    +                        pass
    +
    +        return rc
    +
    +    def loop_start(self):
    +        """This is part of the threaded client interface. Call this once to
    +        start a new thread to process network traffic. This provides an
    +        alternative to repeatedly calling loop() yourself.
    +        """
    +        if self._thread is not None:
    +            return MQTT_ERR_INVAL
    +
    +        self._thread_terminate = False
    +        self._thread = threading.Thread(target=self._thread_main)
    +        self._thread.daemon = True
    +        self._thread.start()
    +
    +    def loop_stop(self, force=False):
    +        """This is part of the threaded client interface. Call this once to
    +        stop the network thread previously created with loop_start(). This call
    +        will block until the network thread finishes.
    +
    +        The force parameter is currently ignored.
    +        """
    +        if self._thread is None:
    +            return MQTT_ERR_INVAL
    +
    +        self._thread_terminate = True
    +        self._thread.join()
    +        self._thread = None
    +
    +    def message_callback_add(self, sub, callback):
    +        """Register a message callback for a specific topic.
    +        Messages that match 'sub' will be passed to 'callback'. Any
    +        non-matching messages will be passed to the default on_message
    +        callback.
    +        
    +        Call multiple times with different 'sub' to define multiple topic
    +        specific callbacks.
    +        
    +        Topic specific callbacks may be removed with
    +        message_callback_remove()."""
    +        if callback is None or sub is None:
    +            raise ValueError("sub and callback must both be defined.")
    +
    +        self._callback_mutex.acquire()
    +
    +        for i in range(0, len(self.on_message_filtered)):
    +            if self.on_message_filtered[i][0] == sub:
    +                self.on_message_filtered[i] = (sub, callback)
    +                self._callback_mutex.release()
    +                return
    +
    +        self.on_message_filtered.append((sub, callback))
    +        self._callback_mutex.release()
    +
    +    def message_callback_remove(self, sub):
    +        """Remove a message callback previously registered with
    +        message_callback_add()."""
    +        if sub is None:
    +            raise ValueError("sub must defined.")
    +
    +        self._callback_mutex.acquire()
    +        for i in range(0, len(self.on_message_filtered)):
    +            if self.on_message_filtered[i][0] == sub:
    +                self.on_message_filtered.pop(i)
    +                self._callback_mutex.release()
    +                return
    +        self._callback_mutex.release()
    +
    +    # ============================================================
    +    # Private functions
    +    # ============================================================
    +
    +    def _loop_rc_handle(self, rc):
    +        if rc:
    +            if self._ssl:
    +                self._ssl.close()
    +                self._ssl = None
    +            elif self._sock:
    +                self._sock.close()
    +                self._sock = None
    +
    +            self._state_mutex.acquire()
    +            if self._state == mqtt_cs_disconnecting:
    +                rc = MQTT_ERR_SUCCESS
    +            self._state_mutex.release()
    +            self._callback_mutex.acquire()
    +            if self.on_disconnect:
    +                self._in_callback = True
    +                self.on_disconnect(self, self._userdata, rc)
    +                self._in_callback = False
    +
    +            self._callback_mutex.release()
    +        return rc
    +
    +    def _packet_read(self):
    +        # This gets called if pselect() indicates that there is network data
    +        # available - ie. at least one byte.  What we do depends on what data we
    +        # already have.
    +        # If we've not got a command, attempt to read one and save it. This should
    +        # always work because it's only a single byte.
    +        # Then try to read the remaining length. This may fail because it is may
    +        # be more than one byte - will need to save data pending next read if it
    +        # does fail.
    +        # Then try to read the remaining payload, where 'payload' here means the
    +        # combined variable header and actual payload. This is the most likely to
    +        # fail due to longer length, so save current data and current position.
    +        # After all data is read, send to _mqtt_handle_packet() to deal with.
    +        # Finally, free the memory and reset everything to starting conditions.
    +        if self._in_packet['command'] == 0:
    +            try:
    +                if self._ssl:
    +                    command = self._ssl.read(1)
    +                else:
    +                    command = self._sock.recv(1)
    +            except socket.error as err:
    +                if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE):
    +                    return MQTT_ERR_AGAIN
    +                if err.errno == EAGAIN:
    +                    return MQTT_ERR_AGAIN
    +                print(err)
    +                return 1
    +            else:
    +                if len(command) == 0:
    +                    return 1
    +                command = struct.unpack("!B", command)
    +                self._in_packet['command'] = command[0]
    +
    +        if self._in_packet['have_remaining'] == 0:
    +            # Read remaining
    +            # Algorithm for decoding taken from pseudo code at
    +            # http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/topic/com.ibm.etools.mft.doc/ac10870_.htm
    +            while True:
    +                try:
    +                    if self._ssl:
    +                        byte = self._ssl.read(1)
    +                    else:
    +                        byte = self._sock.recv(1)
    +                except socket.error as err:
    +                    if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE):
    +                        return MQTT_ERR_AGAIN
    +                    if err.errno == EAGAIN:
    +                        return MQTT_ERR_AGAIN
    +                    print(err)
    +                    return 1
    +                else:
    +                    byte = struct.unpack("!B", byte)
    +                    byte = byte[0]
    +                    self._in_packet['remaining_count'].append(byte)
    +                    # Max 4 bytes length for remaining length as defined by protocol.
    +                     # Anything more likely means a broken/malicious client.
    +                    if len(self._in_packet['remaining_count']) > 4:
    +                        return MQTT_ERR_PROTOCOL
    +
    +                    self._in_packet['remaining_length'] = self._in_packet['remaining_length'] + (byte & 127)*self._in_packet['remaining_mult']
    +                    self._in_packet['remaining_mult'] = self._in_packet['remaining_mult'] * 128
    +
    +                if (byte & 128) == 0:
    +                    break
    +
    +            self._in_packet['have_remaining'] = 1
    +            self._in_packet['to_process'] = self._in_packet['remaining_length']
    +
    +        while self._in_packet['to_process'] > 0:
    +            try:
    +                if self._ssl:
    +                    data = self._ssl.read(self._in_packet['to_process'])
    +                else:
    +                    data = self._sock.recv(self._in_packet['to_process'])
    +            except socket.error as err:
    +                if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE):
    +                    return MQTT_ERR_AGAIN
    +                if err.errno == EAGAIN:
    +                    return MQTT_ERR_AGAIN
    +                print(err)
    +                return 1
    +            else:
    +                self._in_packet['to_process'] = self._in_packet['to_process'] - len(data)
    +                self._in_packet['packet'] = self._in_packet['packet'] + data
    +
    +        # All data for this packet is read.
    +        self._in_packet['pos'] = 0
    +        rc = self._packet_handle()
    +
    +        # Free data and reset values
    +        self._in_packet = dict(
    +            command=0,
    +            have_remaining=0,
    +            remaining_count=[],
    +            remaining_mult=1,
    +            remaining_length=0,
    +            packet=b"",
    +            to_process=0,
    +            pos=0)
    +
    +        self._msgtime_mutex.acquire()
    +        self._last_msg_in = time.time()
    +        self._msgtime_mutex.release()
    +        return rc
    +
    +    def _packet_write(self):
    +        self._current_out_packet_mutex.acquire()
    +
    +        while self._current_out_packet:
    +            packet = self._current_out_packet
    +
    +            try:
    +                if self._ssl:
    +                    write_length = self._ssl.write(packet['packet'][packet['pos']:])
    +                else:
    +                    write_length = self._sock.send(packet['packet'][packet['pos']:])
    +            except AttributeError:
    +                self._current_out_packet_mutex.release()
    +                return MQTT_ERR_SUCCESS
    +            except socket.error as err:
    +                self._current_out_packet_mutex.release()
    +                if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE):
    +                    return MQTT_ERR_AGAIN
    +                if err.errno == EAGAIN:
    +                    return MQTT_ERR_AGAIN
    +                print(err)
    +                return 1
    +
    +            if write_length > 0:
    +                packet['to_process'] = packet['to_process'] - write_length
    +                packet['pos'] = packet['pos'] + write_length
    +
    +                if packet['to_process'] == 0:
    +                    if (packet['command'] & 0xF0) == PUBLISH and packet['qos'] == 0:
    +                        self._callback_mutex.acquire()
    +                        if self.on_publish:
    +                            self._in_callback = True
    +                            self.on_publish(self, self._userdata, packet['mid'])
    +                            self._in_callback = False
    +
    +                        self._callback_mutex.release()
    +
    +                    if (packet['command'] & 0xF0) == DISCONNECT:
    +                        self._current_out_packet_mutex.release()
    +
    +                        self._msgtime_mutex.acquire()
    +                        self._last_msg_out = time.time()
    +                        self._msgtime_mutex.release()
    +
    +                        self._callback_mutex.acquire()
    +                        if self.on_disconnect:
    +                            self._in_callback = True
    +                            self.on_disconnect(self, self._userdata, 0)
    +                            self._in_callback = False
    +                        self._callback_mutex.release()
    +
    +                        if self._ssl:
    +                            self._ssl.close()
    +                            self._ssl = None
    +                        if self._sock:
    +                            self._sock.close()
    +                            self._sock = None
    +                        return MQTT_ERR_SUCCESS
    +
    +                    self._out_packet_mutex.acquire()
    +                    if len(self._out_packet) > 0:
    +                        self._current_out_packet = self._out_packet.pop(0)
    +                    else:
    +                        self._current_out_packet = None
    +                    self._out_packet_mutex.release()
    +            else:
    +                pass  # FIXME
    +
    +        self._current_out_packet_mutex.release()
    +
    +        self._msgtime_mutex.acquire()
    +        self._last_msg_out = time.time()
    +        self._msgtime_mutex.release()
    +
    +        return MQTT_ERR_SUCCESS
    +
    +    def _easy_log(self, level, buf):
    +        if self.on_log:
    +            self.on_log(self, self._userdata, level, buf)
    +
    +    def _check_keepalive(self):
    +        now = time.time()
    +        self._msgtime_mutex.acquire()
    +        last_msg_out = self._last_msg_out
    +        last_msg_in = self._last_msg_in
    +        self._msgtime_mutex.release()
    +        if (self._sock is not None or self._ssl is not None) and (now - last_msg_out >= self._keepalive or now - last_msg_in >= self._keepalive):
    +            if self._state == mqtt_cs_connected and self._ping_t == 0:
    +                self._send_pingreq()
    +                self._msgtime_mutex.acquire()
    +                self._last_msg_out = now
    +                self._last_msg_in = now
    +                self._msgtime_mutex.release()
    +            else:
    +                if self._ssl:
    +                    self._ssl.close()
    +                    self._ssl = None
    +                elif self._sock:
    +                    self._sock.close()
    +                    self._sock = None
    +
    +                if self._state == mqtt_cs_disconnecting:
    +                    rc = MQTT_ERR_SUCCESS
    +                else:
    +                    rc = 1
    +                self._callback_mutex.acquire()
    +                if self.on_disconnect:
    +                    self._in_callback = True
    +                    self.on_disconnect(self, self._userdata, rc)
    +                    self._in_callback = False
    +                self._callback_mutex.release()
    +
    +    def _mid_generate(self):
    +        self._last_mid = self._last_mid + 1
    +        if self._last_mid == 65536:
    +            self._last_mid = 1
    +        return self._last_mid
    +
    +    def _topic_wildcard_len_check(self, topic):
    +        # Search for + or # in a topic. Return MQTT_ERR_INVAL if found.
    +         # Also returns MQTT_ERR_INVAL if the topic string is too long.
    +         # Returns MQTT_ERR_SUCCESS if everything is fine.
    +        if '+' in topic or '#' in topic or len(topic) == 0 or len(topic) > 65535:
    +            return MQTT_ERR_INVAL
    +        else:
    +            return MQTT_ERR_SUCCESS
    +
    +    def _send_pingreq(self):
    +        self._easy_log(MQTT_LOG_DEBUG, "Sending PINGREQ")
    +        rc = self._send_simple_command(PINGREQ)
    +        if rc == MQTT_ERR_SUCCESS:
    +            self._ping_t = time.time()
    +        return rc
    +
    +    def _send_pingresp(self):
    +        self._easy_log(MQTT_LOG_DEBUG, "Sending PINGRESP")
    +        return self._send_simple_command(PINGRESP)
    +
    +    def _send_puback(self, mid):
    +        self._easy_log(MQTT_LOG_DEBUG, "Sending PUBACK (Mid: "+str(mid)+")")
    +        return self._send_command_with_mid(PUBACK, mid, False)
    +
    +    def _send_pubcomp(self, mid):
    +        self._easy_log(MQTT_LOG_DEBUG, "Sending PUBCOMP (Mid: "+str(mid)+")")
    +        return self._send_command_with_mid(PUBCOMP, mid, False)
    +
    +    def _pack_remaining_length(self, packet, remaining_length):
    +        remaining_bytes = []
    +        while True:
    +            byte = remaining_length % 128
    +            remaining_length = remaining_length // 128
    +            # If there are more digits to encode, set the top bit of this digit
    +            if remaining_length > 0:
    +                byte = byte | 0x80
    +
    +            remaining_bytes.append(byte)
    +            packet.extend(struct.pack("!B", byte))
    +            if remaining_length == 0:
    +                # FIXME - this doesn't deal with incorrectly large payloads
    +                return packet
    +
    +    def _pack_str16(self, packet, data):
    +        if sys.version_info[0] < 3:
    +            if isinstance(data, bytearray):
    +                packet.extend(struct.pack("!H", len(data)))
    +                packet.extend(data)
    +            elif isinstance(data, str):
    +                udata = data.encode('utf-8')
    +                pack_format = "!H" + str(len(udata)) + "s"
    +                packet.extend(struct.pack(pack_format, len(udata), udata))
    +            elif isinstance(data, unicode):
    +                udata = data.encode('utf-8')
    +                pack_format = "!H" + str(len(udata)) + "s"
    +                packet.extend(struct.pack(pack_format, len(udata), udata))
    +            else:
    +                raise TypeError
    +        else:
    +            if isinstance(data, bytearray) or isinstance(data, bytes):
    +                packet.extend(struct.pack("!H", len(data)))
    +                packet.extend(data)
    +            elif isinstance(data, str):
    +                udata = data.encode('utf-8')
    +                pack_format = "!H" + str(len(udata)) + "s"
    +                packet.extend(struct.pack(pack_format, len(udata), udata))
    +            else:
    +                raise TypeError
    +
    +    def _send_publish(self, mid, topic, payload=None, qos=0, retain=False, dup=False):
    +        if self._sock is None and self._ssl is None:
    +            return MQTT_ERR_NO_CONN
    +
    +        utopic = topic.encode('utf-8')
    +        command = PUBLISH | ((dup&0x1)<<3) | (qos<<1) | retain
    +        packet = bytearray()
    +        packet.extend(struct.pack("!B", command))
    +        if payload is None:
    +            remaining_length = 2+len(utopic)
    +            self._easy_log(MQTT_LOG_DEBUG, "Sending PUBLISH (d"+str(dup)+", q"+str(qos)+", r"+str(int(retain))+", m"+str(mid)+", '"+topic+"' (NULL payload)")
    +        else:
    +            if isinstance(payload, str):
    +                upayload = payload.encode('utf-8')
    +                payloadlen = len(upayload)
    +            elif isinstance(payload, bytearray):
    +                payloadlen = len(payload)
    +            elif isinstance(payload, unicode):
    +                upayload = payload.encode('utf-8')
    +                payloadlen = len(upayload)
    +
    +            remaining_length = 2+len(utopic) + payloadlen
    +            self._easy_log(MQTT_LOG_DEBUG, "Sending PUBLISH (d"+str(dup)+", q"+str(qos)+", r"+str(int(retain))+", m"+str(mid)+", '"+topic+"', ... ("+str(payloadlen)+" bytes)")
    +
    +        if qos > 0:
    +            # For message id
    +            remaining_length = remaining_length + 2
    +
    +        self._pack_remaining_length(packet, remaining_length)
    +        self._pack_str16(packet, topic)
    +
    +        if qos > 0:
    +            # For message id
    +            packet.extend(struct.pack("!H", mid))
    +
    +        if payload is not None:
    +            if isinstance(payload, str):
    +                pack_format = str(payloadlen) + "s"
    +                packet.extend(struct.pack(pack_format, upayload))
    +            elif isinstance(payload, bytearray):
    +                packet.extend(payload)
    +            elif isinstance(payload, unicode):
    +                pack_format = str(payloadlen) + "s"
    +                packet.extend(struct.pack(pack_format, upayload))
    +            else:
    +                raise TypeError('payload must be a string, unicode or a bytearray.')
    +
    +        return self._packet_queue(PUBLISH, packet, mid, qos)
    +
    +    def _send_pubrec(self, mid):
    +        self._easy_log(MQTT_LOG_DEBUG, "Sending PUBREC (Mid: "+str(mid)+")")
    +        return self._send_command_with_mid(PUBREC, mid, False)
    +
    +    def _send_pubrel(self, mid, dup=False):
    +        self._easy_log(MQTT_LOG_DEBUG, "Sending PUBREL (Mid: "+str(mid)+")")
    +        return self._send_command_with_mid(PUBREL|2, mid, dup)
    +
    +    def _send_command_with_mid(self, command, mid, dup):
    +        # For PUBACK, PUBCOMP, PUBREC, and PUBREL
    +        if dup:
    +            command = command | 8
    +
    +        remaining_length = 2
    +        packet = struct.pack('!BBH', command, remaining_length, mid)
    +        return self._packet_queue(command, packet, mid, 1)
    +
    +    def _send_simple_command(self, command):
    +        # For DISCONNECT, PINGREQ and PINGRESP
    +        remaining_length = 0
    +        packet = struct.pack('!BB', command, remaining_length)
    +        return self._packet_queue(command, packet, 0, 0)
    +
    +    def _send_connect(self, keepalive, clean_session):
    +        if self._protocol == MQTTv31:
    +            protocol = PROTOCOL_NAMEv31
    +            proto_ver = 3
    +        else:
    +            protocol = PROTOCOL_NAMEv311
    +            proto_ver = 4
    +        remaining_length = 2+len(protocol) + 1+1+2 + 2+len(self._client_id)
    +        connect_flags = 0
    +        if clean_session:
    +            connect_flags = connect_flags | 0x02
    +
    +        if self._will:
    +            if self._will_payload is not None:
    +                remaining_length = remaining_length + 2+len(self._will_topic) + 2+len(self._will_payload)
    +            else:
    +                remaining_length = remaining_length + 2+len(self._will_topic) + 2
    +
    +            connect_flags = connect_flags | 0x04 | ((self._will_qos&0x03) << 3) | ((self._will_retain&0x01) << 5)
    +
    +        if self._username:
    +            remaining_length = remaining_length + 2+len(self._username)
    +            connect_flags = connect_flags | 0x80
    +            if self._password:
    +                connect_flags = connect_flags | 0x40
    +                remaining_length = remaining_length + 2+len(self._password)
    +
    +        command = CONNECT
    +        packet = bytearray()
    +        packet.extend(struct.pack("!B", command))
    +
    +        self._pack_remaining_length(packet, remaining_length)
    +        packet.extend(struct.pack("!H"+str(len(protocol))+"sBBH", len(protocol), protocol, proto_ver, connect_flags, keepalive))
    +
    +        self._pack_str16(packet, self._client_id)
    +
    +        if self._will:
    +            self._pack_str16(packet, self._will_topic)
    +            if self._will_payload is None or len(self._will_payload) == 0:
    +                packet.extend(struct.pack("!H", 0))
    +            else:
    +                self._pack_str16(packet, self._will_payload)
    +
    +        if self._username:
    +            self._pack_str16(packet, self._username)
    +
    +            if self._password:
    +                self._pack_str16(packet, self._password)
    +
    +        self._keepalive = keepalive
    +        return self._packet_queue(command, packet, 0, 0)
    +
    +    def _send_disconnect(self):
    +        return self._send_simple_command(DISCONNECT)
    +
    +    def _send_subscribe(self, dup, topics):
    +        remaining_length = 2
    +        for t in topics:
    +            remaining_length = remaining_length + 2+len(t[0])+1
    +
    +        command = SUBSCRIBE | (dup<<3) | (1<<1)
    +        packet = bytearray()
    +        packet.extend(struct.pack("!B", command))
    +        self._pack_remaining_length(packet, remaining_length)
    +        local_mid = self._mid_generate()
    +        packet.extend(struct.pack("!H", local_mid))
    +        for t in topics:
    +            self._pack_str16(packet, t[0])
    +            packet.extend(struct.pack("B", t[1]))
    +        return (self._packet_queue(command, packet, local_mid, 1), local_mid)
    +
    +    def _send_unsubscribe(self, dup, topics):
    +        remaining_length = 2
    +        for t in topics:
    +            remaining_length = remaining_length + 2+len(t)
    +
    +        command = UNSUBSCRIBE | (dup<<3) | (1<<1)
    +        packet = bytearray()
    +        packet.extend(struct.pack("!B", command))
    +        self._pack_remaining_length(packet, remaining_length)
    +        local_mid = self._mid_generate()
    +        packet.extend(struct.pack("!H", local_mid))
    +        for t in topics:
    +            self._pack_str16(packet, t)
    +        return (self._packet_queue(command, packet, local_mid, 1), local_mid)
    +
    +    def _message_retry_check_actual(self, messages, mutex):
    +        mutex.acquire()
    +        now = time.time()
    +        for m in messages:
    +            if m.timestamp + self._message_retry < now:
    +                if m.state == mqtt_ms_wait_for_puback or m.state == mqtt_ms_wait_for_pubrec:
    +                    m.timestamp = now
    +                    m.dup = True
    +                    self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup)
    +                elif m.state == mqtt_ms_wait_for_pubrel:
    +                    m.timestamp = now
    +                    m.dup = True
    +                    self._send_pubrec(m.mid)
    +                elif m.state == mqtt_ms_wait_for_pubcomp:
    +                    m.timestamp = now
    +                    m.dup = True
    +                    self._send_pubrel(m.mid, True)
    +        mutex.release()
    +
    +    def _message_retry_check(self):
    +        self._message_retry_check_actual(self._out_messages, self._out_message_mutex)
    +        self._message_retry_check_actual(self._in_messages, self._in_message_mutex)
    +
    +    def _messages_reconnect_reset_out(self):
    +        self._out_message_mutex.acquire()
    +        self._inflight_messages = 0
    +        for m in self._out_messages:
    +            m.timestamp = 0
    +            if self._max_inflight_messages == 0 or self._inflight_messages < self._max_inflight_messages:
    +                if m.qos == 0:
    +                    m.state = mqtt_ms_publish
    +                elif m.qos == 1:
    +                    #self._inflight_messages = self._inflight_messages + 1
    +                    if m.state == mqtt_ms_wait_for_puback:
    +                        m.dup = True
    +                    m.state = mqtt_ms_publish
    +                elif m.qos == 2:
    +                    #self._inflight_messages = self._inflight_messages + 1
    +                    if m.state == mqtt_ms_wait_for_pubcomp:
    +                        m.state = mqtt_ms_resend_pubrel
    +                        m.dup = True
    +                    else:
    +                        if m.state == mqtt_ms_wait_for_pubrec:
    +                            m.dup = True
    +                        m.state = mqtt_ms_publish
    +            else:
    +                m.state = mqtt_ms_queued
    +        self._out_message_mutex.release()
    +
    +    def _messages_reconnect_reset_in(self):
    +        self._in_message_mutex.acquire()
    +        for m in self._in_messages:
    +            m.timestamp = 0
    +            if m.qos != 2:
    +                self._in_messages.pop(self._in_messages.index(m))
    +            else:
    +                # Preserve current state
    +                pass
    +        self._in_message_mutex.release()
    +
    +    def _messages_reconnect_reset(self):
    +        self._messages_reconnect_reset_out()
    +        self._messages_reconnect_reset_in()
    +
    +    def _packet_queue(self, command, packet, mid, qos):
    +        mpkt = dict(
    +            command = command,
    +            mid = mid,
    +            qos = qos,
    +            pos = 0,
    +            to_process = len(packet),
    +            packet = packet)
    +
    +        self._out_packet_mutex.acquire()
    +        self._out_packet.append(mpkt)
    +        if self._current_out_packet_mutex.acquire(False):
    +            if self._current_out_packet is None and len(self._out_packet) > 0:
    +                self._current_out_packet = self._out_packet.pop(0)
    +            self._current_out_packet_mutex.release()
    +        self._out_packet_mutex.release()
    +
    +        # Write a single byte to sockpairW (connected to sockpairR) to break
    +        # out of select() if in threaded mode.
    +        try:
    +            self._sockpairW.send(sockpair_data)
    +        except socket.error as err:
    +            if err.errno != EAGAIN:
    +                raise
    +
    +        if not self._in_callback and self._thread is None:
    +            return self.loop_write()
    +        else:
    +            return MQTT_ERR_SUCCESS
    +
    +    def _packet_handle(self):
    +        cmd = self._in_packet['command']&0xF0
    +        if cmd == PINGREQ:
    +            return self._handle_pingreq()
    +        elif cmd == PINGRESP:
    +            return self._handle_pingresp()
    +        elif cmd == PUBACK:
    +            return self._handle_pubackcomp("PUBACK")
    +        elif cmd == PUBCOMP:
    +            return self._handle_pubackcomp("PUBCOMP")
    +        elif cmd == PUBLISH:
    +            return self._handle_publish()
    +        elif cmd == PUBREC:
    +            return self._handle_pubrec()
    +        elif cmd == PUBREL:
    +            return self._handle_pubrel()
    +        elif cmd == CONNACK:
    +            return self._handle_connack()
    +        elif cmd == SUBACK:
    +            return self._handle_suback()
    +        elif cmd == UNSUBACK:
    +            return self._handle_unsuback()
    +        else:
    +            # If we don't recognise the command, return an error straight away.
    +            self._easy_log(MQTT_LOG_ERR, "Error: Unrecognised command "+str(cmd))
    +            return MQTT_ERR_PROTOCOL
    +
    +    def _handle_pingreq(self):
    +        if self._strict_protocol:
    +            if self._in_packet['remaining_length'] != 0:
    +                return MQTT_ERR_PROTOCOL
    +
    +        self._easy_log(MQTT_LOG_DEBUG, "Received PINGREQ")
    +        return self._send_pingresp()
    +
    +    def _handle_pingresp(self):
    +        if self._strict_protocol:
    +            if self._in_packet['remaining_length'] != 0:
    +                return MQTT_ERR_PROTOCOL
    +
    +        # No longer waiting for a PINGRESP.
    +        self._ping_t = 0
    +        self._easy_log(MQTT_LOG_DEBUG, "Received PINGRESP")
    +        return MQTT_ERR_SUCCESS
    +
    +    def _handle_connack(self):
    +        if self._strict_protocol:
    +            if self._in_packet['remaining_length'] != 2:
    +                return MQTT_ERR_PROTOCOL
    +
    +        if len(self._in_packet['packet']) != 2:
    +            return MQTT_ERR_PROTOCOL
    +
    +        (flags, result) = struct.unpack("!BB", self._in_packet['packet'])
    +        if result == CONNACK_REFUSED_PROTOCOL_VERSION and self._protocol == MQTTv311:
    +            self._easy_log(MQTT_LOG_DEBUG, "Received CONNACK ("+str(flags)+", "+str(result)+"), attempting downgrade to MQTT v3.1.")
    +            # Downgrade to MQTT v3.1
    +            self._protocol = MQTTv31
    +            return self.reconnect()
    +
    +        if result == 0:
    +            self._state = mqtt_cs_connected
    +
    +        self._easy_log(MQTT_LOG_DEBUG, "Received CONNACK ("+str(flags)+", "+str(result)+")")
    +        self._callback_mutex.acquire()
    +        if self.on_connect:
    +            self._in_callback = True
    +
    +            if sys.version_info[0] < 3:
    +                argcount = self.on_connect.func_code.co_argcount
    +            else:
    +                argcount = self.on_connect.__code__.co_argcount
    +
    +            if argcount == 3:
    +                self.on_connect(self, self._userdata, result)
    +            else:
    +                flags_dict = dict()
    +                flags_dict['session present'] = flags & 0x01
    +                self.on_connect(self, self._userdata, flags_dict, result)
    +            self._in_callback = False
    +        self._callback_mutex.release()
    +        if result == 0:
    +            rc = 0
    +            self._out_message_mutex.acquire()
    +            for m in self._out_messages:
    +                m.timestamp = time.time()
    +                if m.state == mqtt_ms_queued:
    +                    self.loop_write() # Process outgoing messages that have just been queued up
    +                    self._out_message_mutex.release()
    +                    return MQTT_ERR_SUCCESS
    +
    +                if m.qos == 0:
    +                    self._in_callback = True # Don't call loop_write after _send_publish()
    +                    rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup)
    +                    self._in_callback = False
    +                    if rc != 0:
    +                        self._out_message_mutex.release()
    +                        return rc
    +                elif m.qos == 1:
    +                    if m.state == mqtt_ms_publish:
    +                        self._inflight_messages = self._inflight_messages + 1
    +                        m.state = mqtt_ms_wait_for_puback
    +                        self._in_callback = True # Don't call loop_write after _send_publish()
    +                        rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup)
    +                        self._in_callback = False
    +                        if rc != 0:
    +                            self._out_message_mutex.release()
    +                            return rc
    +                elif m.qos == 2:
    +                    if m.state == mqtt_ms_publish:
    +                        self._inflight_messages = self._inflight_messages + 1
    +                        m.state = mqtt_ms_wait_for_pubrec
    +                        self._in_callback = True # Don't call loop_write after _send_publish()
    +                        rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup)
    +                        self._in_callback = False
    +                        if rc != 0:
    +                            self._out_message_mutex.release()
    +                            return rc
    +                    elif m.state == mqtt_ms_resend_pubrel:
    +                        self._inflight_messages = self._inflight_messages + 1
    +                        m.state = mqtt_ms_wait_for_pubcomp
    +                        self._in_callback = True # Don't call loop_write after _send_pubrel()
    +                        rc = self._send_pubrel(m.mid, m.dup)
    +                        self._in_callback = False
    +                        if rc != 0:
    +                            self._out_message_mutex.release()
    +                            return rc
    +                self.loop_write() # Process outgoing messages that have just been queued up
    +            self._out_message_mutex.release()
    +            return rc
    +        elif result > 0 and result < 6:
    +            return MQTT_ERR_CONN_REFUSED
    +        else:
    +            return MQTT_ERR_PROTOCOL
    +
    +    def _handle_suback(self):
    +        self._easy_log(MQTT_LOG_DEBUG, "Received SUBACK")
    +        pack_format = "!H" + str(len(self._in_packet['packet'])-2) + 's'
    +        (mid, packet) = struct.unpack(pack_format, self._in_packet['packet'])
    +        pack_format = "!" + "B"*len(packet)
    +        granted_qos = struct.unpack(pack_format, packet)
    +
    +        self._callback_mutex.acquire()
    +        if self.on_subscribe:
    +            self._in_callback = True
    +            self.on_subscribe(self, self._userdata, mid, granted_qos)
    +            self._in_callback = False
    +        self._callback_mutex.release()
    +
    +        return MQTT_ERR_SUCCESS
    +
    +    def _handle_publish(self):
    +        rc = 0
    +
    +        header = self._in_packet['command']
    +        message = MQTTMessage()
    +        message.dup = (header & 0x08)>>3
    +        message.qos = (header & 0x06)>>1
    +        message.retain = (header & 0x01)
    +
    +        pack_format = "!H" + str(len(self._in_packet['packet'])-2) + 's'
    +        (slen, packet) = struct.unpack(pack_format, self._in_packet['packet'])
    +        pack_format = '!' + str(slen) + 's' + str(len(packet)-slen) + 's'
    +        (message.topic, packet) = struct.unpack(pack_format, packet)
    +
    +        if len(message.topic) == 0:
    +            return MQTT_ERR_PROTOCOL
    +
    +        if sys.version_info[0] >= 3:
    +            message.topic = message.topic.decode('utf-8')
    +
    +        if message.qos > 0:
    +            pack_format = "!H" + str(len(packet)-2) + 's'
    +            (message.mid, packet) = struct.unpack(pack_format, packet)
    +
    +        message.payload = packet
    +
    +        self._easy_log(
    +            MQTT_LOG_DEBUG,
    +            "Received PUBLISH (d"+str(message.dup)+
    +            ", q"+str(message.qos)+", r"+str(message.retain)+
    +            ", m"+str(message.mid)+", '"+message.topic+
    +            "', ...  ("+str(len(message.payload))+" bytes)")
    +
    +        message.timestamp = time.time()
    +        if message.qos == 0:
    +            self._handle_on_message(message)
    +            return MQTT_ERR_SUCCESS
    +        elif message.qos == 1:
    +            rc = self._send_puback(message.mid)
    +            self._handle_on_message(message)
    +            return rc
    +        elif message.qos == 2:
    +            rc = self._send_pubrec(message.mid)
    +            message.state = mqtt_ms_wait_for_pubrel
    +            self._in_message_mutex.acquire()
    +            self._in_messages.append(message)
    +            self._in_message_mutex.release()
    +            return rc
    +        else:
    +            return MQTT_ERR_PROTOCOL
    +
    +    def _handle_pubrel(self):
    +        if self._strict_protocol:
    +            if self._in_packet['remaining_length'] != 2:
    +                return MQTT_ERR_PROTOCOL
    +
    +        if len(self._in_packet['packet']) != 2:
    +            return MQTT_ERR_PROTOCOL
    +
    +        mid = struct.unpack("!H", self._in_packet['packet'])
    +        mid = mid[0]
    +        self._easy_log(MQTT_LOG_DEBUG, "Received PUBREL (Mid: "+str(mid)+")")
    +
    +        self._in_message_mutex.acquire()
    +        for i in range(len(self._in_messages)):
    +            if self._in_messages[i].mid == mid:
    +
    +                # Only pass the message on if we have removed it from the queue - this
    +                # prevents multiple callbacks for the same message.
    +                self._handle_on_message(self._in_messages[i])
    +                self._in_messages.pop(i)
    +                self._inflight_messages = self._inflight_messages - 1
    +                if self._max_inflight_messages > 0:
    +                    self._out_message_mutex.acquire()
    +                    rc = self._update_inflight()
    +                    self._out_message_mutex.release()
    +                    if rc != MQTT_ERR_SUCCESS:
    +                        self._in_message_mutex.release()
    +                        return rc
    +
    +                self._in_message_mutex.release()
    +                return self._send_pubcomp(mid)
    +
    +        self._in_message_mutex.release()
    +        return MQTT_ERR_SUCCESS
    +
    +    def _update_inflight(self):
    +        # Dont lock message_mutex here
    +        for m in self._out_messages:
    +            if self._inflight_messages < self._max_inflight_messages:
    +                if m.qos > 0 and m.state == mqtt_ms_queued:
    +                    self._inflight_messages = self._inflight_messages + 1
    +                    if m.qos == 1:
    +                        m.state = mqtt_ms_wait_for_puback
    +                    elif m.qos == 2:
    +                        m.state = mqtt_ms_wait_for_pubrec
    +                    rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup)
    +                    if rc != 0:
    +                        return rc
    +            else:
    +                return MQTT_ERR_SUCCESS
    +        return MQTT_ERR_SUCCESS
    +
    +    def _handle_pubrec(self):
    +        if self._strict_protocol:
    +            if self._in_packet['remaining_length'] != 2:
    +                return MQTT_ERR_PROTOCOL
    +
    +        mid = struct.unpack("!H", self._in_packet['packet'])
    +        mid = mid[0]
    +        self._easy_log(MQTT_LOG_DEBUG, "Received PUBREC (Mid: "+str(mid)+")")
    +
    +        self._out_message_mutex.acquire()
    +        for m in self._out_messages:
    +            if m.mid == mid:
    +                m.state = mqtt_ms_wait_for_pubcomp
    +                m.timestamp = time.time()
    +                self._out_message_mutex.release()
    +                return self._send_pubrel(mid, False)
    +
    +        self._out_message_mutex.release()
    +        return MQTT_ERR_SUCCESS
    +
    +    def _handle_unsuback(self):
    +        if self._strict_protocol:
    +            if self._in_packet['remaining_length'] != 2:
    +                return MQTT_ERR_PROTOCOL
    +
    +        mid = struct.unpack("!H", self._in_packet['packet'])
    +        mid = mid[0]
    +        self._easy_log(MQTT_LOG_DEBUG, "Received UNSUBACK (Mid: "+str(mid)+")")
    +        self._callback_mutex.acquire()
    +        if self.on_unsubscribe:
    +            self._in_callback = True
    +            self.on_unsubscribe(self, self._userdata, mid)
    +            self._in_callback = False
    +        self._callback_mutex.release()
    +        return MQTT_ERR_SUCCESS
    +
    +    def _handle_pubackcomp(self, cmd):
    +        if self._strict_protocol:
    +            if self._in_packet['remaining_length'] != 2:
    +                return MQTT_ERR_PROTOCOL
    +
    +        mid = struct.unpack("!H", self._in_packet['packet'])
    +        mid = mid[0]
    +        self._easy_log(MQTT_LOG_DEBUG, "Received "+cmd+" (Mid: "+str(mid)+")")
    +
    +        self._out_message_mutex.acquire()
    +        for i in range(len(self._out_messages)):
    +            try:
    +                if self._out_messages[i].mid == mid:
    +                    # Only inform the client the message has been sent once.
    +                    self._callback_mutex.acquire()
    +                    if self.on_publish:
    +                        self._out_message_mutex.release()
    +                        self._in_callback = True
    +                        self.on_publish(self, self._userdata, mid)
    +                        self._in_callback = False
    +                        self._out_message_mutex.acquire()
    +
    +                    self._callback_mutex.release()
    +                    self._out_messages.pop(i)
    +                    self._inflight_messages = self._inflight_messages - 1
    +                    if self._max_inflight_messages > 0:
    +                        rc = self._update_inflight()
    +                        if rc != MQTT_ERR_SUCCESS:
    +                            self._out_message_mutex.release()
    +                            return rc
    +                    self._out_message_mutex.release()
    +                    return MQTT_ERR_SUCCESS
    +            except IndexError:
    +                # Have removed item so i>count.
    +                # Not really an error.
    +                pass
    +
    +        self._out_message_mutex.release()
    +        return MQTT_ERR_SUCCESS
    +
    +    def _handle_on_message(self, message):
    +        self._callback_mutex.acquire()
    +        matched = False
    +        for t in self.on_message_filtered:
    +            if topic_matches_sub(t[0], message.topic):
    +                self._in_callback = True
    +                t[1](self, self._userdata, message)
    +                self._in_callback = False
    +                matched = True
    +
    +        if matched == False and self.on_message:
    +            self._in_callback = True
    +            self.on_message(self, self._userdata, message)
    +            self._in_callback = False
    +
    +        self._callback_mutex.release()
    +
    +    def _thread_main(self):
    +        self._state_mutex.acquire()
    +        if self._state == mqtt_cs_connect_async:
    +            self._state_mutex.release()
    +            self.reconnect()
    +        else:
    +            self._state_mutex.release()
    +
    +        self.loop_forever()
    +
    +    def _host_matches_cert(self, host, cert_host):
    +        if cert_host[0:2] == "*.":
    +            if cert_host.count("*") != 1:
    +                return False
    +
    +            host_match = host.split(".", 1)[1]
    +            cert_match = cert_host.split(".", 1)[1]
    +            if host_match == cert_match:
    +                return True
    +            else:
    +                return False
    +        else:
    +            if host == cert_host:
    +                return True
    +            else:
    +                return False
    +
    +    def _tls_match_hostname(self):
    +        cert = self._ssl.getpeercert()
    +        san = cert.get('subjectAltName')
    +        if san:
    +            have_san_dns = False
    +            for (key, value) in san:
    +                if key == 'DNS':
    +                    have_san_dns = True
    +                    if self._host_matches_cert(self._host.lower(), value.lower()) == True:
    +                        return
    +                if key == 'IP Address':
    +                    have_san_dns = True
    +                    if value.lower() == self._host.lower():
    +                        return
    +
    +            if have_san_dns:
    +                # Only check subject if subjectAltName dns not found.
    +                raise ssl.SSLError('Certificate subject does not match remote hostname.')
    +        subject = cert.get('subject')
    +        if subject:
    +            for ((key, value),) in subject:
    +                if key == 'commonName':
    +                    if self._host_matches_cert(self._host.lower(), value.lower()) == True:
    +                        return
    +
    +        raise ssl.SSLError('Certificate subject does not match remote hostname.')
    +
    +
    +# Compatibility class for easy porting from mosquitto.py. 
    +class Mosquitto(Client):
    +    def __init__(self, client_id="", clean_session=True, userdata=None):
    +        super(Mosquitto, self).__init__(client_id, clean_session, userdata)
    diff --git a/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/publish.py b/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/publish.py
    new file mode 100644
    index 000000000..b468dda82
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/Adafruit_IO/paho/mqtt/publish.py	
    @@ -0,0 +1,217 @@
    +# Copyright (c) 2014 Roger Light 
    +#
    +# All rights reserved. This program and the accompanying materials
    +# are made available under the terms of the Eclipse Public License v1.0
    +# and Eclipse Distribution License v1.0 which accompany this distribution.
    +#
    +# The Eclipse Public License is available at
    +#    http://www.eclipse.org/legal/epl-v10.html
    +# and the Eclipse Distribution License is available at
    +#   http://www.eclipse.org/org/documents/edl-v10.php.
    +#
    +# Contributors:
    +#    Roger Light - initial API and implementation
    +
    +"""
    +This module provides some helper functions to allow straightforward publishing
    +of messages in a one-shot manner. In other words, they are useful for the
    +situation where you have a single/multiple messages you want to publish to a
    +broker, then disconnect and nothing else is required.
    +"""
    +
    +import paho.mqtt.client as mqtt
    +
    +
    +def _do_publish(c):
    +    """Internal function"""
    +    m = c._userdata[0]
    +    c._userdata = c._userdata[1:]
    +    if type(m) is dict:
    +        topic = m['topic']
    +        try:
    +            payload = m['payload']
    +        except KeyError:
    +            payload = None
    +        try:
    +            qos = m['qos']
    +        except KeyError:
    +            qos = 0
    +        try:
    +            retain = m['retain']
    +        except KeyError:
    +            retain = False
    +    elif type(m) is tuple:
    +        (topic, payload, qos, retain) = m
    +    else:
    +        raise ValueError('message must be a dict or a tuple')
    +
    +    c.publish(topic, payload, qos, retain)
    +
    +
    +def _on_connect(c, userdata, flags, rc):
    +    """Internal callback"""
    +    _do_publish(c)
    +
    +
    +def _on_publish(c, userdata, mid):
    +    """Internal callback"""
    +    if len(userdata) == 0:
    +        c.disconnect()
    +    else:
    +        _do_publish(c)
    +
    +
    +def multiple(msgs, hostname="localhost", port=1883, client_id="", keepalive=60,
    +             will=None, auth=None, tls=None, protocol=mqtt.MQTTv31):
    +    """Publish multiple messages to a broker, then disconnect cleanly.
    +
    +    This function creates an MQTT client, connects to a broker and publishes a
    +    list of messages. Once the messages have been delivered, it disconnects
    +    cleanly from the broker.
    +
    +    msgs : a list of messages to publish. Each message is either a dict or a
    +           tuple.
    +
    +           If a dict, only the topic must be present. Default values will be
    +           used for any missing arguments. The dict must be of the form:
    +
    +           msg = {'topic':"", 'payload':"", 'qos':,
    +           'retain':}
    +           topic must be present and may not be empty.
    +           If payload is "", None or not present then a zero length payload
    +           will be published.
    +           If qos is not present, the default of 0 is used.
    +           If retain is not present, the default of False is used.
    +
    +           If a tuple, then it must be of the form:
    +           ("", "", qos, retain)
    +    hostname : a string containing the address of the broker to connect to.
    +               Defaults to localhost.
    +    port : the port to connect to the broker on. Defaults to 1883.
    +    client_id : the MQTT client id to use. If "" or None, the Paho library will
    +                generate a client id automatically.
    +    keepalive : the keepalive timeout value for the client. Defaults to 60
    +                seconds.
    +    will : a dict containing will parameters for the client: will = {'topic':
    +           "", 'payload':", 'qos':, 'retain':}.
    +           Topic is required, all other parameters are optional and will
    +           default to None, 0 and False respectively.
    +           Defaults to None, which indicates no will should be used.
    +    auth : a dict containing authentication parameters for the client:
    +           auth = {'username':"", 'password':""}
    +           Username is required, password is optional and will default to None
    +           if not provided.
    +           Defaults to None, which indicates no authentication is to be used.
    +    tls : a dict containing TLS configuration parameters for the client:
    +          dict = {'ca_certs':"", 'certfile':"",
    +          'keyfile':"", 'tls_version':"",
    +          'ciphers':"}
    +          ca_certs is required, all other parameters are optional and will
    +          default to None if not provided, which results in the client using
    +          the default behaviour - see the paho.mqtt.client documentation.
    +          Defaults to None, which indicates that TLS should not be used.
    +    """
    +
    +    if type(msgs) is not list:
    +        raise ValueError('msgs must be a list')
    +
    +    client = mqtt.Client(client_id=client_id,
    +                         userdata=msgs, protocol=protocol)
    +    client.on_publish = _on_publish
    +    client.on_connect = _on_connect
    +
    +    if auth is not None:
    +        username = auth['username']
    +        try:
    +            password = auth['password']
    +        except KeyError:
    +            password = None
    +        client.username_pw_set(username, password)
    +
    +    if will is not None:
    +        will_topic = will['topic']
    +        try:
    +            will_payload = will['payload']
    +        except KeyError:
    +            will_payload = None
    +        try:
    +            will_qos = will['qos']
    +        except KeyError:
    +            will_qos = 0
    +        try:
    +            will_retain = will['retain']
    +        except KeyError:
    +            will_retain = False
    +
    +        client.will_set(will_topic, will_payload, will_qos, will_retain)
    +
    +    if tls is not None:
    +        ca_certs = tls['ca_certs']
    +        try:
    +            certfile = tls['certfile']
    +        except KeyError:
    +            certfile = None
    +        try:
    +            keyfile = tls['keyfile']
    +        except KeyError:
    +            keyfile = None
    +        try:
    +            tls_version = tls['tls_version']
    +        except KeyError:
    +            tls_version = None
    +        try:
    +            ciphers = tls['ciphers']
    +        except KeyError:
    +            ciphers = None
    +        client.tls_set(ca_certs, certfile, keyfile, tls_version=tls_version,
    +                       ciphers=ciphers)
    +
    +    client.connect(hostname, port, keepalive)
    +    client.loop_forever()
    +
    +
    +def single(topic, payload=None, qos=0, retain=False, hostname="localhost",
    +           port=1883, client_id="", keepalive=60, will=None, auth=None,
    +           tls=None, protocol=mqtt.MQTTv31):
    +    """Publish a single message to a broker, then disconnect cleanly.
    +
    +    This function creates an MQTT client, connects to a broker and publishes a
    +    single message. Once the message has been delivered, it disconnects cleanly
    +    from the broker.
    +
    +    topic : the only required argument must be the topic string to which the
    +            payload will be published.
    +    payload : the payload to be published. If "" or None, a zero length payload
    +              will be published.
    +    qos : the qos to use when publishing,  default to 0.
    +    retain : set the message to be retained (True) or not (False).
    +    hostname : a string containing the address of the broker to connect to.
    +               Defaults to localhost.
    +    port : the port to connect to the broker on. Defaults to 1883.
    +    client_id : the MQTT client id to use. If "" or None, the Paho library will
    +                generate a client id automatically.
    +    keepalive : the keepalive timeout value for the client. Defaults to 60
    +                seconds.
    +    will : a dict containing will parameters for the client: will = {'topic':
    +           "", 'payload':", 'qos':, 'retain':}.
    +           Topic is required, all other parameters are optional and will
    +           default to None, 0 and False respectively.
    +           Defaults to None, which indicates no will should be used.
    +    auth : a dict containing authentication parameters for the client:
    +           auth = {'username':"", 'password':""}
    +           Username is required, password is optional and will default to None
    +           if not provided.
    +           Defaults to None, which indicates no authentication is to be used.
    +    tls : a dict containing TLS configuration parameters for the client:
    +          dict = {'ca_certs':"", 'certfile':"",
    +          'keyfile':"", 'tls_version':"",
    +          'ciphers':"}
    +          ca_certs is required, all other parameters are optional and will
    +          default to None if not provided, which results in the client using
    +          the default behaviour - see the paho.mqtt.client documentation.
    +          Defaults to None, which indicates that TLS should not be used.
    +    """
    +
    +    msg = {'topic':topic, 'payload':payload, 'qos':qos, 'retain':retain}
    +    multiple([msg], hostname, port, client_id, keepalive, will, auth, tls, protocol)
    +
    diff --git a/plugins/Adafruit MQTT Client/__init__.py b/plugins/Adafruit MQTT Client/__init__.py
    new file mode 100644
    index 000000000..3b6f80d15
    --- /dev/null
    +++ b/plugins/Adafruit MQTT Client/__init__.py	
    @@ -0,0 +1,366 @@
    +# -*- coding: utf-8 -*-
    +#
    +# This file is a plugin for EventGhost.
    +# Copyright (C) 2016 Walter Kraembring .
    +#
    +###############################################################################
    +#
    +# EventGhost is free software; you can redistribute it and/or modify it under
    +# the terms of the GNU General Public License version 2 as published by the
    +# Free Software Foundation;
    +#
    +# EventGhost 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, see .
    +#
    +##############################################################################
    +#
    +# Acknowledgement: All credits to:
    +# Mr Tony DiCola  for the Adafruit IO Python Client Library 
    +# The Eclipse Foundation project for the Eclipse Paho MQTT Python Client library
    +##############################################################################
    +# Revision history:
    +#
    +# 2016-04-05  Changed looping method
    +# 2016-03-30  Rewamped again!!!
    +# 2016-03-22  Rewamped!
    +# 2016-03-21  Reconnection routines introduced & improved
    +# 2016-03-16  Avoiding the plugin to hang if Adafruit refuses connection
    +# 2016-03-08  Adafruit stabilized communication, added events when connected and
    +#             disconnected
    +# 2016-03-02  Endless story, trying to improve connection handling. Adafruit
    +#             made a configuration change to stabilize connections 
    +# 2016-02-29  Further improved connection error handling
    +# 2016-02-23  Introduced heart beats to keep connection alive
    +#             Improved connection error handling
    +# 2016-02-22  Found a better and simpler way to publish messages
    +# 2016-02-21  Adafruit-IO MQTT client plugin, first version
    +##############################################################################
    +
    +
    +eg.RegisterPlugin(
    +    name = "Adafruit MQTT Client",
    +    author = "krambriw",
    +    version = "0.1.3",
    +    kind = "other",
    +    canMultiLoad = True,
    +    url = "http://www.eventghost.org/forum",
    +    description = "Connects to Adafruit-IO via MQTT",
    +    guid = "{2B94CD19-9472-4ACC-8178-7BEA8C10FE03}",
    +    help = """
    +        
    + """ +) + +import eg +import time +import os +from threading import Event, Thread + +# Import Adafruit IO MQTT client. +from .Adafruit_IO import MQTTClient + + + +class Text: + adafruitUser = "Adafruit-IO user name: " + adafruitIOkey = "Adafruit-IO key: " + adafruitFeedId = "Adafruit-IO feed ID: " + repeat = "Show repeated events: " + comms_up = "Communication with Adafruit-IO started..." + comms_dwn = "Communication with Adafruit-IO stopped..." + plugin_init = "Please wait, Adafruit-IO MQTT client is starting up..." + plugin_dwn = "Adafruit-IO MQTT client plugin stopped..." + plugin_restart = "Please wait, Adafruit-IO MQTT client is restarting..." + publish_failed = "Failed to publish: " + connect_failed = "Not connected to Adafruit-IO..." + connect_failed_waiting = "Not yet connected to Adafruit-IO...please wait" + diconnect_event = "Event received: client.on_disconnect" + + + +class publishMQTTtxt: + name = "Publish a MQTT message" + description = ("A MQTT message") + actionName = "MQTT publisher name: " + topicName = "Feed/Topic: " + messageName = "Message: " + + + +class Adafruit_IO_MQTT(eg.PluginBase): + text = Text + + def __init__(self): + self.AddAction(publishMQTT) + + + def monitoring(self, mainThreadEvent, client): + mainThreadEvent.wait(10.0) #Initial wait + while not mainThreadEvent.isSet(): # Main Loop + client.loop() + if client.is_connected(): + mainThreadEvent.wait(0.1) + else: + eg.PrintError (self.text.connect_failed_waiting) + if not mainThreadEvent.isSet(): + self.reStart() + mainThreadEvent.wait(5.0) + + + def reStart(self): + print self.text.plugin_restart + self.__stop__() + for i in range(0, 200): + time.sleep(0.05) + self.__start__( + self.adafruitUser, + self.adafruitIOkey, + self.adafruitFeedId, + self.repeat + ) + + + def __start__( + self, + adafruitUser='adafruit io username', + adafruitIOkey='adafruit io key', + adafruitFeedId='feed id', + repeat=False + ): + self.adafruitUser = adafruitUser + self.adafruitIOkey = adafruitIOkey + self.adafruitFeedId = adafruitFeedId + self.repeat = repeat + self.oldEvent = '' + self.prefix = 'Adafruit_IO' + self.started = False + self.client = None + self.message = [] + self.connectionCntr = 0 + + + def goInit(): + print self.text.plugin_init + # Create an MQTT client instance. + self.client = None + self.client = MQTTClient( + adafruitUser, + adafruitIOkey, + service_host='io.adafruit.com', + service_port=1883 + ) + # Setup the callback functions defined above. + self.client.on_connect = connected + self.client.on_disconnect = disconnected + self.client.on_message = message + # Connect to the Adafruit IO server. + self.client.connect() + self.mainThreadEvent = Event() + self.started = True + mainThread = Thread(target=self.monitoring, args=(self.mainThreadEvent, self.client,)) + mainThread.start() + + + def connected(client): + if client.is_connected() and self.started: + self.connectionCntr += 1 + #Start subscribing. + client.subscribe(adafruitFeedId) + #print self.text.comms_up + eg.TriggerEvent( + self.text.comms_up, + payload = None, + prefix=self.prefix + ) + if not client.is_connected(): + eg.PrintError (self.text.connect_failed) + + + def disconnected(client): + if not client.is_connected() and self.started: + if self.connectionCntr > 0: + self.connectionCntr -= 1 + self.started = False + LogToFile(self.text.diconnect_event) + #print self.text.comms_dwn + eg.TriggerEvent( + self.text.comms_dwn, + payload = None, + prefix=self.prefix + ) + + + def message(client, feed_id, payload): + msg = str(feed_id) + pl = str(payload) + if (self.oldEvent <> msg+pl or self.repeat): + eg.TriggerEvent( + msg, + payload = pl, + prefix=self.prefix + ) + self.oldEvent = msg+pl + if pl == 'disconnect': + try: + self.client.disconnect() + except: + pass + + + def LogToFile(s): + s = s.decode('utf-8') + timeStamp = str( + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ) + logStr = timeStamp+"\t"+s+"" + fileHandle = None + progData = eg.configDir + '\plugins\Adafruit MQTT Client' + if ( + not os.path.exists(progData) + and not os.path.isdir(progData) + ): + os.makedirs(progData) + fileHandle = open ( + progData+'/'+ + self.name+'.htm', 'a' + ) + fileHandle.write ( logStr.encode('utf-8') ) + fileHandle.close () + + + goInit() + + + def publishEvent(self, message): + if message <> [] and self.started: + try: + self.client.publish(message[0], message[1]) + except: + eg.PrintError (self.text.publish_failed+str(message)) + self.message = [] + + + def __stop__(self): + self.mainThreadEvent.set() + self.started = False + self.connectionCntr = 0 + try: + self.client.disconnect() + except: + pass + print self.text.plugin_dwn + + + def __close__(self): + self.started = False + self.connectionCntr = 0 + try: + self.client.disconnect() + except: + pass + + + def Configure( + self, + adafruitUser='adafruit io username', + adafruitIOkey='adafruit io key', + adafruitFeedId='feed id', + repeat=False, + *args + ): + text = self.text + panel = eg.ConfigPanel(self, resizable=True) + + UserCtrl = wx.TextCtrl(panel, -1, adafruitUser) + UserCtrl.SetInitialSize((250,-1)) + + IOkeyCtrl = wx.TextCtrl(panel, -1, adafruitIOkey) + IOkeyCtrl.SetInitialSize((250,-1)) + + FeedIdCtrl = wx.TextCtrl(panel, -1, adafruitFeedId) + FeedIdCtrl.SetInitialSize((250,-1)) + + repeatCtrl = wx.CheckBox(panel, -1, "") + repeatCtrl.SetValue(repeat) + + panel.AddLine(text.adafruitUser, UserCtrl) + panel.AddLine(text.adafruitIOkey, IOkeyCtrl) + panel.AddLine(text.adafruitFeedId, FeedIdCtrl) + panel.AddLine(text.repeat, repeatCtrl) + + while panel.Affirmed(): + panel.SetResult( + UserCtrl.GetValue(), + IOkeyCtrl.GetValue(), + FeedIdCtrl.GetValue(), + repeatCtrl.GetValue(), + *args + ) + + + +class publishMQTT(eg.ActionClass): + text = publishMQTTtxt + + def __call__( + self, + name, + topic, + message + ): + self.message = str( + (eg.ParseString(message) if message else '').encode("utf-8") + ) + self.plugin.publishEvent([str(topic), self.message]) + + + def Configure( + self, + name="Give this MQTT message a name", + topic="eventghost", + message=u"{eg.event.string}{eg.event.payload}" + ): + panel = eg.ConfigPanel(self) + mySizer_1 = wx.GridBagSizer(10, 10) + mySizer_2 = wx.GridBagSizer(10, 10) + mySizer_3 = wx.GridBagSizer(10, 10) + + #name + nameCtrl = wx.TextCtrl(panel, -1, name) + nameCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.actionName), (0,0)) + mySizer_1.Add(nameCtrl, (1,0)) + + #topic + topicCtrl = wx.TextCtrl(panel, -1, topic) + topicCtrl.SetInitialSize((250,-1)) + mySizer_2.Add(wx.StaticText(panel, -1, self.text.topicName), (1,0)) + mySizer_2.Add(topicCtrl, (2,0)) + + #message + messageCtrl = wx.TextCtrl(panel, -1, message) + messageCtrl.SetInitialSize((250,-1)) + mySizer_3.Add(wx.StaticText(panel, -1, self.text.messageName), (1,0)) + mySizer_3.Add(messageCtrl, (2,0)) + + + panel.sizer.Add(mySizer_1, 0, flag = wx.EXPAND) + panel.sizer.Add(mySizer_2, 0, flag = wx.EXPAND) + panel.sizer.Add(mySizer_3, 0, flag = wx.EXPAND) + + while panel.Affirmed(): + name = nameCtrl.GetValue() + topic = topicCtrl.GetValue() + message = messageCtrl.GetValue() + panel.SetResult( + name, + topic, + message + ) + + + diff --git a/plugins/Adafruit MQTT Client/icon.png b/plugins/Adafruit MQTT Client/icon.png new file mode 100644 index 000000000..9d0473785 Binary files /dev/null and b/plugins/Adafruit MQTT Client/icon.png differ diff --git a/plugins/AlbumPlayer/__init__.py b/plugins/AlbumPlayer/__init__.py new file mode 100644 index 000000000..6cc09093b --- /dev/null +++ b/plugins/AlbumPlayer/__init__.py @@ -0,0 +1,462 @@ +# -*- coding: utf-8 -*- + +# 1.1 added 'Bring To Front' action +# 1.0 initial version + + +import eg + + +eg.RegisterPlugin( + name="AlbumPlayer", + author="topix", + version="1.0.1", + kind="program", + guid="{D944DEFC-C7BD-4E1E-AF7F-430B42315EF0}", + createMacrosOnAdd=True, + description='Adds actions to control ' + '
    ' + 'AlbumPlayer.', + url="http://www.eventghost.net/forum/viewtopic.php?f=9&t=6838", +) + + +import ctypes +import win32gui +from sys import maxint + +import wx + +import xmltodict +from eg.WinApi.Dynamic import ( + COPYDATASTRUCT, PCOPYDATASTRUCT, + WM_COPYDATA, WM_USER, +) + + +AP_REMOTE_CONTROL = WM_USER + 10 # remote control the AlbumPlayer +AP_SUBSCRIBE_FOR_INFO = WM_USER + 11 # subscribe to AlbumPlayer notifications +AP_NEW_COVER_AVAILABLE = WM_USER + 12 # notify a new cover is available +AP_NEW_RATING = WM_USER + 13 # notify new rating +AP_ADJUST_VOLUME = WM_USER + 14 # adjust volume + +AP_RC_PLAY_PAUSE = 1 +AP_RC_STOP = 2 +AP_RC_NEXT_TRACK = 3 +AP_RC_PREV_TRACK = 4 +AP_RC_PLAY = 5 +AP_RC_PAUSE = 6 +AP_RC_INC_SPEED = 7 # Increase Play Speed Factor +AP_RC_DEC_SPEED = 8 # Decrease Play Speed Factor +AP_RC_SEEK = 9 # lparam = position in ms +AP_RC_SET_VOLUME = 10 # lparam 0 - 100 +AP_RC_CHANGE_VOLUME = 11 # lparam = Steps on a volume scale of 0 to 100 (step max -100 to 100) +AP_RC_TOGGLE_MUTE = 12 +AP_RC_BAN_TRACK = 13 +AP_RC_RC_KEYS = 14 # lparam = +# 15 = Info +# 18 = Next Page +# 19 = Prev Page +# 30 = Up +# 31 = Down +# 32 = Left +# 33 = Right +# 34 = Ok/Enter +# 35 = Back +# 91 = Red Key +# 92 = Green Key +# 93 = Yellow Key +# 94 = Blue Key +AP_RC_REQ_STATE = 15 # Request Player state, lparam = +# 0 = Play State (Notifies status with wparam 1) +# 1 = Track Progress (Notifies sttus with wparam 6) +# 2 = Volume (Notifies status with wparam 12) +AP_BRING_TO_FRONT = 100 +AP_RC_EXIT = 101 + +AP_NOTIFY_NEW_TRACK = 0 # new track notification, ap_info.txt is written +AP_NOTIFY_NEW_PLAY_STATE = 1 # new play state +AP_NOTIFY_CLOSING = 2 # albumplayer will be closed +AP_NOTIFY_COVER_ACCEPTED = 3 # new cover is accepted +AP_NOTIFY_TRACK_UPDATE = 4 # track update notification, ap_info.txt is written, same track +AP_NOTIFY_NEW_PROGRESS = 5 # new track progress (lParam = progress in seconds) +AP_NOTIFY_PROGRESS_UPDATE = 6 # new track progress (lParam = progress in seconds) +AP_NOTIFY_PLAYLIST_CHANGED = 10 +AP_NOTIFY_VOLUME_CHANGED = 12 # lparam = volume percentage (0-100) +AP_NOTIFY_SETTINGS_CHANGED = 20 + +AP_PLAY_STATES = [ + 'Stopped', + 'Playing', + 'Paused' +] + +AP_SETTING_TYPES = [ + 'PreferencesChanged', + 'NewSkinApllied', + 'PartyModeChanged' +] + + +# noinspection PyPep8Naming +class AlbumPlayer(eg.PluginBase): + # noinspection PyPep8Naming,PyClassHasNoInit + class text: + enableNotifications = 'Enable Notifications' + + def __init__(self): + super(AlbumPlayer, self).__init__() + self.apHwnd = None + self.isEnabled = False + self.verbose = False # print the received dict + # add actions to control AlbumPlayer + self.AddActionsFromList(ACTIONS, RemoteControl) + + def __start__(self, notifications): + self.notifyMe = notifications + self.FindWindow() + if not self.apHwnd: + self.PrintError('AlbumPlayer is not running.') + self.TriggerEvent('NotRunning') + return False + self.msg_rcvr = eg.MessageReceiver("AP_plugin_") + msg = self.msg_rcvr.AddWmUserHandler(self.SimpleMessageHandler) + self.msg_rcvr.AddHandler(WM_COPYDATA, self.XmlMessageHandler) + if not self.isEnabled: + self.msg_rcvr.Start() + # we want to receive notifications from AlbumPlayer + win32gui.SendMessage(self.apHwnd, AP_SUBSCRIBE_FOR_INFO, + self.msg_rcvr.hwnd, msg) + win32gui.SendMessage(self.apHwnd, AP_SUBSCRIBE_FOR_INFO, + self.msg_rcvr.hwnd, WM_COPYDATA) + self.TriggerEvent('Connected') + self.isEnabled = True + return True + + def __stop__(self): + if self.apHwnd: + self.msg_rcvr.RemoveWmUserHandler(self.SimpleMessageHandler) + self.msg_rcvr.RemoveHandler(WM_COPYDATA, self.XmlMessageHandler) + if hasattr(self, 'msg_rcvr'): + # noinspection PyProtectedMember + if self.msg_rcvr._ThreadWorker__thread.is_alive(): + wx.CallAfter(self.msg_rcvr.Stop) + self.msg_rcvr = None + del self.msg_rcvr + self.TriggerEvent('Disconnected') + self.isEnabled = False + return + + def __close__(self): + pass + + def Configure(self, notifications=True): + panel = eg.ConfigPanel() + + notify = wx.CheckBox(panel, wx.ID_ANY, self.text.enableNotifications) + notify.SetValue(notifications) + + panel.sizer.AddStretchSpacer() + panel.sizer.Add(notify, 0, wx.ALIGN_CENTRE) + panel.sizer.AddStretchSpacer() + + # panel.dialog.buttonRow.applyButton.Enable(False) + while panel.Affirmed(): + panel.SetResult(notify.GetValue()) + + def FindWindow(self): + # Find the AlbumPlayer window + self.apHwnd = win32gui.FindWindow('TfrmPlayer', 'AlbumPlayer') + + # noinspection PyUnusedLocal + def SimpleMessageHandler(self, hwnd, mesg, wParam, lParam): + if wParam == AP_NOTIFY_CLOSING: + self.__stop__() + self.apHwnd = None + self.TriggerEvent("Closing") + + if not self.notifyMe or not self.isEnabled: + return True + + if wParam == AP_NOTIFY_NEW_PROGRESS: + return True + # self.TriggerEvent("Progress", payload=lParam) + elif wParam == AP_NOTIFY_PROGRESS_UPDATE: + return True + # self.TriggerEvent("ProgressUpdate", payload=lParam) + elif wParam == AP_NOTIFY_COVER_ACCEPTED: + self.TriggerEvent("CoverAccepted") + elif wParam == AP_NOTIFY_NEW_PLAY_STATE: + self.TriggerEvent(AP_PLAY_STATES[lParam]) + elif wParam == AP_NOTIFY_NEW_TRACK: + self.TriggerEvent("NewTrack", payload=lParam) + elif wParam == AP_NOTIFY_TRACK_UPDATE: + self.TriggerEvent("TrackUpdate") + elif wParam == AP_NOTIFY_PLAYLIST_CHANGED: + self.TriggerEvent("PlaylistChanged") + elif wParam == AP_NOTIFY_VOLUME_CHANGED: + self.TriggerEvent("VolumeChanged", payload=lParam) + elif wParam == AP_NOTIFY_SETTINGS_CHANGED: + self.TriggerEvent(AP_SETTING_TYPES[lParam]) + else: + print u'unknown simple message. (wParam=%s, lParam=%s)' % (repr(wParam), repr(lParam)) + return True + + def PrintDict(self, theDict): + for key, value in theDict.iteritems(): + if isinstance(value, dict): + self.PrintDict(value) + else: + print key, ':', value + + # noinspection PyPep8Naming,PyUnusedLocal + def XmlMessageHandler(self, hwnd, mesg, wParam, lParam): + cpy_data = ctypes.cast(lParam, PCOPYDATASTRUCT) + msg = xmltodict.parse(ctypes.string_at(cpy_data.contents.lpData)) + if 'AlbumPlayerReply' in msg: + if not msg['AlbumPlayerReply']: + return True + cmd = msg['AlbumPlayerReply'].pop('@id') + self.TriggerEvent(cmd, payload=msg['AlbumPlayerReply']) + if self.verbose: + self.PrintDict(msg['AlbumPlayerReply']) + else: + self.PrintError(u'Unknown xml message: %s' % repr(msg)) + return True + + def SendCopydata(self, xml_msg): + if not self.apHwnd: + return None + cpy_data = ctypes.create_string_buffer(xml_msg) + cds = COPYDATASTRUCT() + cds.cbData = ctypes.sizeof(cpy_data) + cds.lpData = ctypes.cast(ctypes.pointer(cpy_data), ctypes.c_void_p) + return win32gui.SendMessage(self.apHwnd, WM_COPYDATA, self.msg_rcvr.hwnd, cds) + + +class ConnectAP(eg.ActionBase): + """ Connect to AlbumPlayer """ + + def __call__(self): + if self.plugin.apHwnd: + return True + return self.plugin.__start__(self.plugin.notifyMe) + + +# noinspection PyUnresolvedReferences +class RemoteControl(eg.ActionBase): + """ Send a Window Message to AlbumPlayer. """ + + def __call__(self): + if not self.plugin.apHwnd: + print "no apHwnd" + return None + print "VALUE:", self.value + return win32gui.SendMessage( + self.plugin.apHwnd, + AP_REMOTE_CONTROL, + self.value, + 0 + ) + + +# noinspection PyUnresolvedReferences +class RemoteControlKey(eg.ActionBase): + """ Send a Window Message to AlbumPlayer. """ + + def __call__(self): + if not self.plugin.apHwnd: + return None + return win32gui.SendMessage( + self.plugin.apHwnd, + AP_REMOTE_CONTROL, + AP_RC_RC_KEYS, + self.value + ) + + +# noinspection PyUnresolvedReferences +class SetVolume(eg.ActionBase): + """ Set the Volume on a scale of 0 to 100. """ + + # noinspection PyPep8Naming,PyClassHasNoInit + class text: + lblVolume = 'Set the volume on a scale of 0 to 100.' + + def __call__(self, volume): + if not self.plugin.apHwnd: + return None + return win32gui.SendMessage( + self.plugin.apHwnd, + AP_REMOTE_CONTROL, + self.value, + volume + ) + + def Configure(self, volume=50): + panel = eg.ConfigPanel() + + label = wx.StaticText(panel, wx.ID_ANY, self.text.lblVolume) + spin = wx.SpinCtrl( + panel, + wx.ID_ANY, + style=wx.SP_ARROW_KEYS | wx.ALIGN_RIGHT | wx.SP_WRAP, + min=0, + max=100, + initial=volume + ) + + panel.sizer.AddStretchSpacer() + panel.sizer.Add(label, 0, wx.ALL | wx.ALIGN_CENTRE, 5) + panel.sizer.Add(spin, 0, wx.ALL | wx.ALIGN_CENTRE, 5) + panel.sizer.AddStretchSpacer() + + while panel.Affirmed(): + panel.SetResult(spin.GetValue()) + + +# noinspection PyUnresolvedReferences +class ChangeVolume(eg.ActionBase): + """ Increase/Decrease the volume. """ + + # noinspection PyPep8Naming,PyClassHasNoInit + class text: + lblVolume = 'Set the steps to increase or decrease the volume (step max -100 to 100):' + + def __call__(self, volume): + if not self.plugin.apHwnd: + return None + return win32gui.SendMessage( + self.plugin.apHwnd, + AP_REMOTE_CONTROL, + self.value, + volume + ) + + def Configure(self, volume=50): + panel = eg.ConfigPanel() + + label = wx.StaticText(panel, wx.ID_ANY, self.text.lblVolume) + spin = wx.SpinCtrl( + panel, + wx.ID_ANY, + style=wx.SP_ARROW_KEYS | wx.ALIGN_RIGHT | wx.SP_WRAP, + min=-100, + max=100, + initial=volume + ) + + panel.sizer.AddStretchSpacer() + panel.sizer.Add(label, 0, wx.ALL | wx.ALIGN_CENTRE, 5) + panel.sizer.Add(spin, 0, wx.ALL | wx.ALIGN_CENTRE, 5) + panel.sizer.AddStretchSpacer() + + while panel.Affirmed(): + panel.SetResult(spin.GetValue()) + + +# noinspection PyUnresolvedReferences +class Seek(eg.ActionBase): + """ Seek to position (in ms). """ + + # noinspection PyPep8Naming,PyClassHasNoInit + class text: + lblVolume = 'Seek to position (in ms):' + + def __call__(self, position): + if not self.plugin.apHwnd: + return None + return win32gui.SendMessage( + self.plugin.apHwnd, + AP_REMOTE_CONTROL, + self.value, + position + ) + + def Configure(self, position=0): + panel = eg.ConfigPanel() + + label = wx.StaticText(panel, wx.ID_ANY, self.text.lblVolume) + spin = wx.SpinCtrl( + panel, + wx.ID_ANY, + style=wx.SP_ARROW_KEYS | wx.ALIGN_RIGHT | wx.SP_WRAP, + min=0, + max=maxint, + initial=position + ) + + panel.sizer.AddStretchSpacer() + panel.sizer.Add(label, 0, wx.ALL | wx.ALIGN_CENTRE, 5) + panel.sizer.Add(spin, 0, wx.ALL | wx.ALIGN_CENTRE, 5) + panel.sizer.AddStretchSpacer() + + while panel.Affirmed(): + panel.SetResult(spin.GetValue()) + + +# noinspection PyUnresolvedReferences +class SendSimpleXmlCommand(eg.ActionBase): + """ + Send a AlbumPlayerCommand which is only build of the id + and don't need any further parameters. + """ + + def __call__(self): + xml_msg = r'' \ + r'' % self.value + return self.plugin.SendCopydata(xml_msg) + + +ACTIONS = ( + (ConnectAP, 'Connect', 'Connect to AlbumPlayer', 'Connect to AlbumPlayer if it wasn\'t running at plugin start.', + None), + (RemoteControl, 'CloseAP', 'Quit AlbumPlayer', None, AP_RC_EXIT), + (RemoteControl, 'BringToFront', 'Bring To Front', None, AP_BRING_TO_FRONT), + (RemoteControl, 'PlayPause', 'Play/Pause', None, AP_RC_PLAY_PAUSE), + (RemoteControl, 'Play', 'Play', None, AP_RC_PLAY), + (RemoteControl, 'Pause', 'Pause', None, AP_RC_PAUSE), + (RemoteControl, 'Stop', 'Stop', None, AP_RC_STOP), + (RemoteControl, 'NextTrack', 'Next Track', None, AP_RC_NEXT_TRACK), + (RemoteControl, 'PreviousTrack', 'Previous Track', None, AP_RC_PREV_TRACK), + (RemoteControl, 'IncSpeed', 'Increase Play Speed', None, AP_RC_INC_SPEED), + (RemoteControl, 'DecSpeed', 'Decrease Play Speed', None, AP_RC_DEC_SPEED), + (RemoteControl, 'ToggleMute', 'Toggle mute', None, AP_RC_TOGGLE_MUTE), + (SetVolume, 'SetVolume', 'Set Volume', None, AP_RC_SET_VOLUME), + (ChangeVolume, 'ChangeVolume', 'Increase/Decrease Volume', None, AP_RC_CHANGE_VOLUME), + (Seek, 'Seek', 'Seek to position', None, AP_RC_SEEK), + (RemoteControl, 'BanTrack', 'Ban track', None, AP_RC_BAN_TRACK), + + (eg.ActionGroup, 'AlbumPlayerRequests', 'Request info from AlbumPlayer', None, ( + (SendSimpleXmlCommand, "GetWindowState", "Get window state", "Get window State", 'GetWindowState'), + (SendSimpleXmlCommand, "GetNowPlayingInfo", "GetNowPlayingInfo", "GetNowPlayingInfo", 'GetNowPlayingInfo'), + (SendSimpleXmlCommand, "GetPlayMode", "GetPlayMode", "GetPlayMode", 'GetPlayMode'), + (SendSimpleXmlCommand, "GetPlayState", "GetPlayState", "GetPlayState", 'GetPlayState'), + (SendSimpleXmlCommand, "GetPlaylistNameList", "GetPlaylistNameList", "GetPlaylistNameList", + 'GetPlaylistNameList'), + (SendSimpleXmlCommand, "ClearPlaylist", "ClearPlaylist", "ClearPlaylist", 'ClearPlaylist'), + (SendSimpleXmlCommand, "GetCollectionTypeList", "GetCollectionTypeList", "GetCollectionTypeList", + 'GetCollectionTypeList'), + (SendSimpleXmlCommand, "GetCollectionType", "GetCollectionType", "GetCollectionType", 'GetCollectionType'), + (SendSimpleXmlCommand, "GetPage", "GetPage", "GetPage", 'GetPage'), + (SendSimpleXmlCommand, "GetSelectedAlbum", "GetSelectedAlbum", "GetSelectedAlbum", 'GetSelectedAlbum'), + (SendSimpleXmlCommand, "GetPartyModeSettings", "GetPartyModeSettings", "GetPartyModeSettings", + 'GetPartyModeSettings'), + (SendSimpleXmlCommand, "GetCredits", "GetCredits", "GetCredits", 'GetCredits'), + )), + (eg.ActionGroup, 'RemoteControlKeys', 'Remote Control Keys', None, ( + (RemoteControlKey, "KeyInfo", "Info", "Info", 15), + (RemoteControlKey, "KeyNextPage", "Next Page", "Next Page", 18), + (RemoteControlKey, "KeyPrevPage", "Previous Page", "Previous Page", 19), + (RemoteControlKey, "KeyUp", "Up", "Up", 30), + (RemoteControlKey, "KeyDown", "Down", "Down", 31), + (RemoteControlKey, "KeyLeft", "Left", "Left", 32), + (RemoteControlKey, "KeyRight", "Right", "Right", 33), + (RemoteControlKey, "KeyOkEnter", "Ok/Enter", "Ok/Enter", 34), + (RemoteControlKey, "KeyBack", "Back", "Back", 35), + (RemoteControlKey, "KeyRed", "Red", "Red", 91), + (RemoteControlKey, "KeyGreen", "Green", "Green", 92), + (RemoteControlKey, "KeyYellow", "Yellow", "Yellow", 93), + (RemoteControlKey, "KeyBlue", "Blue", "Blue", 94), + )), +) diff --git a/plugins/AlbumPlayer/icon.png b/plugins/AlbumPlayer/icon.png new file mode 100644 index 000000000..2f975f074 Binary files /dev/null and b/plugins/AlbumPlayer/icon.png differ diff --git a/plugins/AlbumPlayer/xmltodict.py b/plugins/AlbumPlayer/xmltodict.py new file mode 100644 index 000000000..152c02eb7 --- /dev/null +++ b/plugins/AlbumPlayer/xmltodict.py @@ -0,0 +1,363 @@ +#!/usr/bin/env python +"Makes working with XML feel like you are working with JSON" + +from xml.parsers import expat +from xml.sax.saxutils import XMLGenerator +from xml.sax.xmlreader import AttributesImpl +try: # pragma no cover + from cStringIO import StringIO +except ImportError: # pragma no cover + try: + from StringIO import StringIO + except ImportError: + from io import StringIO +try: # pragma no cover + from collections import OrderedDict +except ImportError: # pragma no cover + try: + from ordereddict import OrderedDict + except ImportError: + OrderedDict = dict + +try: # pragma no cover + _basestring = basestring +except NameError: # pragma no cover + _basestring = str +try: # pragma no cover + _unicode = unicode +except NameError: # pragma no cover + _unicode = str + +__author__ = 'Martin Blech' +__version__ = '0.9.2' +__license__ = 'MIT' + + +class ParsingInterrupted(Exception): + pass + + +class _DictSAXHandler(object): + def __init__(self, + item_depth=0, + item_callback=lambda *args: True, + xml_attribs=True, + attr_prefix='@', + cdata_key='#text', + force_cdata=False, + cdata_separator='', + postprocessor=None, + dict_constructor=OrderedDict, + strip_whitespace=True, + namespace_separator=':', + namespaces=None): + self.path = [] + self.stack = [] + self.data = None + self.item = None + self.item_depth = item_depth + self.xml_attribs = xml_attribs + self.item_callback = item_callback + self.attr_prefix = attr_prefix + self.cdata_key = cdata_key + self.force_cdata = force_cdata + self.cdata_separator = cdata_separator + self.postprocessor = postprocessor + self.dict_constructor = dict_constructor + self.strip_whitespace = strip_whitespace + self.namespace_separator = namespace_separator + self.namespaces = namespaces + + def _build_name(self, full_name): + if not self.namespaces: + return full_name + i = full_name.rfind(self.namespace_separator) + if i == -1: + return full_name + namespace, name = full_name[:i], full_name[i+1:] + short_namespace = self.namespaces.get(namespace, namespace) + if not short_namespace: + return name + else: + return self.namespace_separator.join((short_namespace, name)) + + def _attrs_to_dict(self, attrs): + if isinstance(attrs, dict): + return attrs + return self.dict_constructor(zip(attrs[0::2], attrs[1::2])) + + def startElement(self, full_name, attrs): + name = self._build_name(full_name) + attrs = self._attrs_to_dict(attrs) + self.path.append((name, attrs or None)) + if len(self.path) > self.item_depth: + self.stack.append((self.item, self.data)) + if self.xml_attribs: + attrs = self.dict_constructor( + (self.attr_prefix+key, value) + for (key, value) in attrs.items()) + else: + attrs = None + self.item = attrs or None + self.data = None + + def endElement(self, full_name): + name = self._build_name(full_name) + if len(self.path) == self.item_depth: + item = self.item + if item is None: + item = self.data + should_continue = self.item_callback(self.path, item) + if not should_continue: + raise ParsingInterrupted() + if len(self.stack): + item, data = self.item, self.data + self.item, self.data = self.stack.pop() + if self.strip_whitespace and data is not None: + data = data.strip() or None + if data and self.force_cdata and item is None: + item = self.dict_constructor() + if item is not None: + if data: + self.push_data(item, self.cdata_key, data) + self.item = self.push_data(self.item, name, item) + else: + self.item = self.push_data(self.item, name, data) + else: + self.item = self.data = None + self.path.pop() + + def characters(self, data): + if not self.data: + self.data = data + else: + self.data += self.cdata_separator + data + + def push_data(self, item, key, data): + if self.postprocessor is not None: + result = self.postprocessor(self.path, key, data) + if result is None: + return item + key, data = result + if item is None: + item = self.dict_constructor() + try: + value = item[key] + if isinstance(value, list): + value.append(data) + else: + item[key] = [value, data] + except KeyError: + item[key] = data + return item + + +def parse(xml_input, encoding=None, expat=expat, process_namespaces=False, + namespace_separator=':', **kwargs): + """Parse the given XML input and convert it into a dictionary. + + `xml_input` can either be a `string` or a file-like object. + + If `xml_attribs` is `True`, element attributes are put in the dictionary + among regular child elements, using `@` as a prefix to avoid collisions. If + set to `False`, they are just ignored. + + Simple example:: + + >>> import xmltodict + >>> doc = xmltodict.parse(\"\"\" + ... + ... 1 + ... 2 + ... + ... \"\"\") + >>> doc['a']['@prop'] + u'x' + >>> doc['a']['b'] + [u'1', u'2'] + + If `item_depth` is `0`, the function returns a dictionary for the root + element (default behavior). Otherwise, it calls `item_callback` every time + an item at the specified depth is found and returns `None` in the end + (streaming mode). + + The callback function receives two parameters: the `path` from the document + root to the item (name-attribs pairs), and the `item` (dict). If the + callback's return value is false-ish, parsing will be stopped with the + :class:`ParsingInterrupted` exception. + + Streaming example:: + + >>> def handle(path, item): + ... print 'path:%s item:%s' % (path, item) + ... return True + ... + >>> xmltodict.parse(\"\"\" + ... + ... 1 + ... 2 + ... \"\"\", item_depth=2, item_callback=handle) + path:[(u'a', {u'prop': u'x'}), (u'b', None)] item:1 + path:[(u'a', {u'prop': u'x'}), (u'b', None)] item:2 + + The optional argument `postprocessor` is a function that takes `path`, + `key` and `value` as positional arguments and returns a new `(key, value)` + pair where both `key` and `value` may have changed. Usage example:: + + >>> def postprocessor(path, key, value): + ... try: + ... return key + ':int', int(value) + ... except (ValueError, TypeError): + ... return key, value + >>> xmltodict.parse('12x', + ... postprocessor=postprocessor) + OrderedDict([(u'a', OrderedDict([(u'b:int', [1, 2]), (u'b', u'x')]))]) + + You can pass an alternate version of `expat` (such as `defusedexpat`) by + using the `expat` parameter. E.g: + + >>> import defusedexpat + >>> xmltodict.parse('hello', expat=defusedexpat.pyexpat) + OrderedDict([(u'a', u'hello')]) + + """ + handler = _DictSAXHandler(namespace_separator=namespace_separator, + **kwargs) + if isinstance(xml_input, _unicode): + if not encoding: + encoding = 'utf-8' + xml_input = xml_input.encode(encoding) + if not process_namespaces: + namespace_separator = None + parser = expat.ParserCreate( + encoding, + namespace_separator + ) + try: + parser.ordered_attributes = True + except AttributeError: + # Jython's expat does not support ordered_attributes + pass + parser.StartElementHandler = handler.startElement + parser.EndElementHandler = handler.endElement + parser.CharacterDataHandler = handler.characters + parser.buffer_text = True + try: + parser.ParseFile(xml_input) + except (TypeError, AttributeError): + parser.Parse(xml_input, True) + return handler.item + + +def _emit(key, value, content_handler, + attr_prefix='@', + cdata_key='#text', + depth=0, + preprocessor=None, + pretty=False, + newl='\n', + indent='\t', + full_document=True): + if preprocessor is not None: + result = preprocessor(key, value) + if result is None: + return + key, value = result + if not isinstance(value, (list, tuple)): + value = [value] + if full_document and depth == 0 and len(value) > 1: + raise ValueError('document with multiple roots') + for v in value: + if v is None: + v = OrderedDict() + elif not isinstance(v, dict): + v = _unicode(v) + if isinstance(v, _basestring): + v = OrderedDict(((cdata_key, v),)) + cdata = None + attrs = OrderedDict() + children = [] + for ik, iv in v.items(): + if ik == cdata_key: + cdata = iv + continue + if ik.startswith(attr_prefix): + attrs[ik[len(attr_prefix):]] = iv + continue + children.append((ik, iv)) + if pretty: + content_handler.ignorableWhitespace(depth * indent) + content_handler.startElement(key, AttributesImpl(attrs)) + if pretty and children: + content_handler.ignorableWhitespace(newl) + for child_key, child_value in children: + _emit(child_key, child_value, content_handler, + attr_prefix, cdata_key, depth+1, preprocessor, + pretty, newl, indent) + if cdata is not None: + content_handler.characters(cdata) + if pretty and children: + content_handler.ignorableWhitespace(depth * indent) + content_handler.endElement(key) + if pretty and depth: + content_handler.ignorableWhitespace(newl) + + +def unparse(input_dict, output=None, encoding='utf-8', full_document=True, + **kwargs): + """Emit an XML document for the given `input_dict` (reverse of `parse`). + + The resulting XML document is returned as a string, but if `output` (a + file-like object) is specified, it is written there instead. + + Dictionary keys prefixed with `attr_prefix` (default=`'@'`) are interpreted + as XML node attributes, whereas keys equal to `cdata_key` + (default=`'#text'`) are treated as character data. + + The `pretty` parameter (default=`False`) enables pretty-printing. In this + mode, lines are terminated with `'\n'` and indented with `'\t'`, but this + can be customized with the `newl` and `indent` parameters. + + """ + if full_document and len(input_dict) != 1: + raise ValueError('Document must have exactly one root.') + must_return = False + if output is None: + output = StringIO() + must_return = True + content_handler = XMLGenerator(output, encoding) + if full_document: + content_handler.startDocument() + for key, value in input_dict.items(): + _emit(key, value, content_handler, full_document=full_document, + **kwargs) + if full_document: + content_handler.endDocument() + if must_return: + value = output.getvalue() + try: # pragma no cover + value = value.decode(encoding) + except AttributeError: # pragma no cover + pass + return value + +if __name__ == '__main__': # pragma: no cover + import sys + import marshal + + (item_depth,) = sys.argv[1:] + item_depth = int(item_depth) + + def handle_item(path, item): + marshal.dump((path, item), sys.stdout) + return True + + try: + root = parse(sys.stdin, + item_depth=item_depth, + item_callback=handle_item, + dict_constructor=dict) + if item_depth == 0: + handle_item([], root) + except KeyboardInterrupt: + pass diff --git a/plugins/AudioEndpoint/AudioEndpointControl/AudioEndpoints.py b/plugins/AudioEndpoint/AudioEndpointControl/AudioEndpoints.py new file mode 100644 index 000000000..5292e902f --- /dev/null +++ b/plugins/AudioEndpoint/AudioEndpointControl/AudioEndpoints.py @@ -0,0 +1,355 @@ +# -*- coding: utf-8 -*- +"""Defines the main classes AudioEndpoints, AudioEndpoint and AudioVolume""" + +from __future__ import print_function, unicode_literals, absolute_import + +from ctypes import POINTER as _POINTER +from functools import partial as _partial +from _ctypes import COMError +from win32api import FormatMessage # pylint: disable=no-name-in-module + +from comtypes import CoCreateInstance, CLSCTX_INPROC_SERVER, CLSCTX_ALL, GUID + +from .MMConstants import (Render, Console, DEVICE_STATE_ACTIVE, + Device_FriendlyName, STGM_READ) +try: + # Try to import local .MMDeviceAPILib for Python 2.6 compatibility + from .MMDeviceAPILib import (MMDeviceEnumerator as _MMDeviceEnumerator, + IMMDeviceEnumerator as _IMMDeviceEnumerator, + IMMNotificationClient) +except ImportError: + # Use comtypes to generate MMDeviceAPILib (Python 2.7+)) + from comtypes.client import GetModule + GetModule("mmdeviceapi.tlb") + from comtypes.gen.MMDeviceAPILib import ( + MMDeviceEnumerator as _MMDeviceEnumerator, + IMMDeviceEnumerator as _IMMDeviceEnumerator, + IMMNotificationClient) +from .Notifications import CAudioEndpointVolumeCallback, CMMNotificationClient +from .EndpointvolumeAPI import (IAudioEndpointVolume as _IAudioEndpointVolume, + IID_IAudioEndpointVolume) +from .PolicyConfigAPI import CLSID_CPolicyConfigVistaClient, IPolicyConfigVista + +_CLSID_MMDeviceEnumerator = _MMDeviceEnumerator._reg_clsid_ + + +def _GetValue(value): + # Need to do this in a function as comtypes seems to + # have a problem if it's in a class. + + # Types for vt defined here: + # https://msdn.microsoft.com/en-us/library/windows/desktop/aa380072%28v=vs.85%29.aspx + if value.vt == 0: + return None + elif value.vt == 31: + return value.__MIDL____MIDL_itf_mmdeviceapi_0003_00850001.pwszVal + return value.__MIDL____MIDL_itf_mmdeviceapi_0003_00850001.cVal + + +def _FunctionCallback(Function, Callback, Msg): + try: + hr = Function(Callback) + if hr: + raise Exception("{0} returned:".format(Msg), FormatMessage(hr)) + except COMError as e: + raise Exception("{0} error:".format(Msg), e.text) + + +class AudioVolume(object): + """Wrapper for volume related methods.""" + def __init__(self, endpoint, EventContext=None): + self._callback = None + self.endpoint = endpoint + self.EventContext = EventContext + + self._AudioEndpointVolume = _POINTER(_IAudioEndpointVolume)( + endpoint._endpoint.Activate(IID_IAudioEndpointVolume, + CLSCTX_INPROC_SERVER, None)) + + def GetChannelCount(self): + """Gets a count of the channels in the audio stream.""" + return self._AudioEndpointVolume.GetChannelCount() + + def __len__(self): + return self.GetChannelCount() + + def Get(self, Channel=0, Scalar=True): + """ + When Scalar=True: Gets the master volume level, expressed as + (default) a normalized, audio-tapered value. + + When Scalar=False: Gets the master volume level of the + audio stream, in decibels. + + When Scalar=True: Gets the normalized, audio-tapered volume + (default) level of the specified channel of the audio stream. + + When Scalar=False: Gets the volume level, in decibels, of the + specified channel in the audio stream. + """ + if Channel == 0: + if Scalar: + return self._AudioEndpointVolume.GetMasterVolumeLevelScalar() + else: + return self._AudioEndpointVolume.GetMasterVolumeLevel() + + if Scalar: + return self._AudioEndpointVolume.GetChannelVolumeLevelScalar( + Channel-1) + + return self._AudioEndpointVolume.GetChannelVolumeLevel(Channel-1) + + def Set(self, LevelDB, Channel=0, Scalar=True): + """ + When Scalar=True: Sets the master volume level, expressed as + (default) a normalized, audio-tapered value. + + When Scalar=False: Sets the master volume level of the + audio stream, in decibels. + + When Scalar=True: Sets the normalized, audio-tapered volume level of + (default) the specified channel in the audio stream. + + When Scalar=False: Sets the volume level, in decibels, of the + specified channel of the audio stream. + + """ + if isinstance(LevelDB, bool): + self._AudioEndpointVolume.SetMute(LevelDB, self.EventContext) + elif Channel == 0: + if Scalar: + self._AudioEndpointVolume.SetMasterVolumeLevelScalar( + LevelDB, self.EventContext) + else: + self._AudioEndpointVolume.SetMasterVolumeLevel( + LevelDB, self.EventContext) + else: + if Scalar: + self._AudioEndpointVolume.SetChannelVolumeLevelScalar( + Channel-1, LevelDB, self.EventContext) + else: + self._AudioEndpointVolume.SetChannelVolumeLevel( + Channel-1, LevelDB, self.EventContext) + + def GetRange(self): + """Gets the volume range of the audio stream, in decibels.""" + return self._AudioEndpointVolume.GetVolumeRange() + + def StepDown(self): + """Decreases the volume level by one step.""" + return self._AudioEndpointVolume.VolumeStepDown(self.EventContext) + + def StepUp(self): + """Increases the volume level by one step.""" + return self._AudioEndpointVolume.VolumeStepUp(self.EventContext) + + def GetStepInfo(self): + """Gets information about the current step in the volume range.""" + return self._AudioEndpointVolume.GetVolumeStepInfo() + + def QueryHardwareSupport(self): + """ + Queries the audio endpoint device for its hardware-supported functions. + """ + return self._AudioEndpointVolume.QueryHardwareSupport() + + def RegisterCallback(self, callback): + """Registers the endpoint's notification callback interface.""" + self._callback = CAudioEndpointVolumeCallback(callback, self.endpoint) + _FunctionCallback( + self._AudioEndpointVolume.RegisterControlChangeNotify, + self._callback, "RegisterControlChangeNotify") + + def UnregisterCallback(self): + """Unregister the endpoint's volume notification callback interface.""" + _FunctionCallback( + self._AudioEndpointVolume.UnregisterControlChangeNotify, + self._callback, "UnregisterControlChangeNotify") + self._callback = None + + def __add__(self, other=1): + for _ in range(other): + self.StepUp() + + def __sub__(self, other=1): + for _ in range(other): + self.StepDown() + + def __int__(self): + return int(self.GetChannelCount()) + + def __float__(self): + return self[0] + + def __str__(self): + return 'Volume: {0}'.format(self[0]) + + @property + def Mute(self): # TODO: Missing method docstring (missing-docstring) + return bool(self._AudioEndpointVolume.GetMute()) + + @Mute.setter + def Mute(self, bMute): + self.Set(bMute) + + def __eq__(self, other): + """Tests if two endpoint devices are the same.""" + return self.endpoint.getId() == other.endpoint.getId() + + def __ne__(self, other): + """Tests if two endpoint devices are not the same.""" + return self.endpoint.getId() != other.endpoint.getId() + + def __ge__(self, other): + """Tests if two endpoint devices are not the same.""" # FIX: + return float(self) >= float(other) + + def __le__(self, other): + """Tests if two endpoint devices are not the same.""" # FIX: + return float(self) <= float(other) + + __getitem__ = Get + __setitem__ = _partial(Set, Scalar=True) + __pos__ = __add__ + __neg__ = __sub__ + + +class AudioEndpoint(object): + """Wrapper for a single COM endpoint.""" + def __init__(self, endpoint, endpoints, PKEY_Device=Device_FriendlyName, + EventContext=None): + """Initializes an endpoint object.""" + self._endpoint = endpoint + self.endpoints = endpoints + self.PKEY_Device = PKEY_Device + self.EventContext = EventContext + self._AudioVolume = AudioVolume(self, self.EventContext) + self.RegisterCallback = self._AudioVolume.RegisterCallback + self.UnregisterCallback = self._AudioVolume.UnregisterCallback + + @property + def volume(self): # TODO: Missing method docstring (missing-docstring) + return self._AudioVolume + + @volume.setter + def volume(self, LevelDB): + return self._AudioVolume.Set(LevelDB) + + def getName(self): + """Return an endpoint devices FriendlyName.""" + pStore = self._endpoint.OpenPropertyStore(STGM_READ) + return _GetValue(pStore.GetValue(self.PKEY_Device)) + + def getId(self): + """Gets a string that identifies the device.""" + return self._endpoint.GetId() + + def getState(self): + """Gets the current state of the device.""" + return self._endpoint.GetState() + + def isDefault(self, role=Console, dataFlow=Render): + """Return if endpoint device is default or not.""" + return self == self.endpoints.GetDefault(role, dataFlow) + + def GetMute(self): + """Gets the muting state of the audio stream.""" + return self._AudioVolume.Mute + + def SetMute(self, Mute): + """Sets the muting state of the audio stream.""" + self._AudioVolume.Mute = Mute + + def __eq__(self, other): + """Tests if two endpoint devices are the same.""" + return self.getId() == other.getId() + + def __ne__(self, other): + """Tests if two endpoint devices are not the same.""" + return self.getId() != other.getId() + + __unicode__ = getName + + def __str__(self): + return str(self.getName()) + + +class AudioEndpoints(object): + """The main class to access all endpoints in the system""" + + def __init__(self, DEVICE_STATE=DEVICE_STATE_ACTIVE, + PKEY_Device=Device_FriendlyName, + EventContext=GUID.create_new()): + self.DEVICE_STATE = DEVICE_STATE + self.PKEY_Device = PKEY_Device + self.EventContext = EventContext + self._DevEnum = CoCreateInstance(_CLSID_MMDeviceEnumerator, + _IMMDeviceEnumerator, + CLSCTX_INPROC_SERVER) + self._callback = None + self._PolicyConfig = None + + # TODO: Missing class docstring (missing-docstring) + def GetDefault(self, role=Console, dataFlow=Render): + return AudioEndpoint(self._DevEnum.GetDefaultAudioEndpoint(dataFlow, + role), + self, self.PKEY_Device, self.EventContext) + + # TODO: Missing class docstring (missing-docstring) + def SetDefault(self, endpoint, role=Console): + OldDefault = self.GetDefault(role) + + if self._PolicyConfig is None: + self._PolicyConfig = CoCreateInstance( + CLSID_CPolicyConfigVistaClient, IPolicyConfigVista, CLSCTX_ALL) + + hr = self._PolicyConfig.SetDefaultEndpoint(endpoint.getId(), role) + if hr: + print('SetDefaultEndpoint', FormatMessage(hr)) + return OldDefault + + def RegisterCallback(self, callback): + """Register endpoints notification callback interface.""" + self._callback = CMMNotificationClient(callback, self) + _FunctionCallback(self._DevEnum.RegisterEndpointNotificationCallback, + self._callback, + "RegisterEndpointNotificationCallback") + + def UnregisterCallback(self): + """Unregister endpoints notification callback interface.""" + _FunctionCallback( + self._DevEnum.UnregisterEndpointNotificationCallback, + self._callback, "UnregisterEndpointNotificationCallback") + self._callback = None + + def __call__(self, ID): + try: + return AudioEndpoint(self._DevEnum.GetDevice(ID), self, + self.PKEY_Device, self.EventContext) + except COMError: + for endpoint in self: + if endpoint.getName() == ID: + return endpoint + raise + + def __str__(self): + return str([str(endpoint) for endpoint in self]) + + # TODO: Missing class docstring (missing-docstring) + def ChangeFilter(self, DEVICE_STATE=None, PKEY_Device=None): + if DEVICE_STATE is not None: + self.DEVICE_STATE = DEVICE_STATE + if PKEY_Device is not None: + self.PKEY_Device = PKEY_Device + + def __iter__(self, dataFlow=Render): + pEndpoints = self._DevEnum.EnumAudioEndpoints(dataFlow, + self.DEVICE_STATE) + for i in range(pEndpoints.GetCount()): + yield AudioEndpoint(pEndpoints.Item(i), self, self.PKEY_Device, + self.EventContext) + + # pylint: disable=invalid-length-returned + def __len__(self): + return int(self._DevEnum.EnumAudioEndpoints( + Render, self.DEVICE_STATE).GetCount()) diff --git a/plugins/AudioEndpoint/AudioEndpointControl/EndpointvolumeAPI.py b/plugins/AudioEndpoint/AudioEndpointControl/EndpointvolumeAPI.py new file mode 100644 index 000000000..95d2a168f --- /dev/null +++ b/plugins/AudioEndpoint/AudioEndpointControl/EndpointvolumeAPI.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- +# TODO: Missing module docstring (missing-docstring) + +from __future__ import print_function, unicode_literals, absolute_import + +from ctypes import ( + POINTER as _POINTER, + HRESULT as _HRESULT, + c_float as _c_float, + Structure +) +from ctypes.wintypes import ( + BOOL as _BOOL, + DWORD as _DWORD, + UINT as _UINT, +) +from comtypes import ( + GUID as _GUID, + IUnknown as _IUnknown, + COMMETHOD as _COMMETHOD, +) + + +class AUDIO_VOLUME_NOTIFICATION_DATA(Structure): + # TODO: Missing class docstring (missing-docstring) + pass + + +AUDIO_VOLUME_NOTIFICATION_DATA._fields_ = [ + ('guidEventContext', _GUID), + ('bMuted', _BOOL), + ('fMasterVolume', _c_float), + ('nChannels', _UINT), + ('afChannelVolumes', (_c_float * 1)), +] +PAUDIO_VOLUME_NOTIFICATION_DATA = _POINTER(AUDIO_VOLUME_NOTIFICATION_DATA) + +IID_IAudioEndpointVolumeCallback = _GUID( + '{657804FA-D6AD-4496-8A60-352752AF4F89}' +) + + +class IAudioEndpointVolumeCallback(_IUnknown): + # TODO: Missing class docstring (missing-docstring) + _iid_ = IID_IAudioEndpointVolumeCallback + _methods_ = [ + _COMMETHOD( + [], + _HRESULT, + 'OnNotify', + (['in'], PAUDIO_VOLUME_NOTIFICATION_DATA, 'pNotify') + ), + ] + + +IID_IAudioEndpointVolume = _GUID('{5CDF2C82-841E-4546-9722-0CF74078229A}') + + +class IAudioEndpointVolume(_IUnknown): + # TODO: Missing class docstring (missing-docstring) + _iid_ = _GUID('{5CDF2C82-841E-4546-9722-0CF74078229A}') + _methods_ = [ + _COMMETHOD( + [], _HRESULT, 'RegisterControlChangeNotify', + (['in'], _POINTER(IAudioEndpointVolumeCallback), 'pNotify') + ), + _COMMETHOD( + [], _HRESULT, 'UnregisterControlChangeNotify', + (['in'], _POINTER(IAudioEndpointVolumeCallback), 'pNotify') + ), + _COMMETHOD( + [], _HRESULT, 'GetChannelCount', + (['out', 'retval'], _POINTER(_UINT), 'pnChannelCount'), + ), + _COMMETHOD( + [], _HRESULT, 'SetMasterVolumeLevel', + (['in'], _c_float, 'fLevelDB'), + (['in'], _POINTER(_GUID), 'pguidEventContext') + ), + _COMMETHOD( + [], _HRESULT, 'SetMasterVolumeLevelScalar', + (['in'], _c_float, 'fLevelDB'), + (['in'], _POINTER(_GUID), 'pguidEventContext') + ), + _COMMETHOD( + [], _HRESULT, 'GetMasterVolumeLevel', + (['out', 'retval'], _POINTER(_c_float), 'pfLevelDB') + ), + _COMMETHOD( + [], _HRESULT, 'GetMasterVolumeLevelScalar', + (['out', 'retval'], _POINTER(_c_float), 'pfLevelDB') + ), + _COMMETHOD( + [], _HRESULT, 'SetChannelVolumeLevel', + (['in'], _UINT, 'nChannel'), + (['in'], _c_float, 'fLevelDB'), + (['in'], _POINTER(_GUID), 'pguidEventContext') + ), + _COMMETHOD( + [], _HRESULT, 'SetChannelVolumeLevelScalar', + (['in'], _UINT, 'nChannel'), + (['in'], _c_float, 'fLevelDB'), + (['in'], _POINTER(_GUID), 'pguidEventContext') + ), + _COMMETHOD( + [], _HRESULT, 'GetChannelVolumeLevel', + (['in'], _UINT, 'nChannel'), + (['out', 'retval'], _POINTER(_c_float), 'pfLevelDB') + ), + _COMMETHOD( + [], _HRESULT, 'GetChannelVolumeLevelScalar', + (['in'], _UINT, 'nChannel'), + (['out', 'retval'], _POINTER(_c_float), 'pfLevelDB') + ), + _COMMETHOD( + [], _HRESULT, 'SetMute', + (['in'], _BOOL, 'bMute'), + (['in'], _POINTER(_GUID), 'pguidEventContext') + ), + _COMMETHOD( + [], _HRESULT, 'GetMute', + (['out', 'retval'], _POINTER(_BOOL), 'pbMute') + ), + _COMMETHOD( + [], _HRESULT, 'GetVolumeStepInfo', + (['out', 'retval'], _POINTER(_UINT), 'pnStep'), + (['out', 'retval'], _POINTER(_UINT), 'pnStepCount'), + ), + _COMMETHOD( + [], _HRESULT, 'VolumeStepUp', + (['in'], _POINTER(_GUID), 'pguidEventContext') + ), + _COMMETHOD( + [], _HRESULT, 'VolumeStepDown', + (['in'], _POINTER(_GUID), 'pguidEventContext') + ), + _COMMETHOD( + [], _HRESULT, 'QueryHardwareSupport', + (['out', 'retval'], _POINTER(_DWORD), 'pdwHardwareSupportMask') + ), + _COMMETHOD( + [], _HRESULT, 'GetVolumeRange', + (['out', 'retval'], _POINTER(_c_float), 'pfLevelMinDB'), + (['out', 'retval'], _POINTER(_c_float), 'pfLevelMaxDB'), + (['out', 'retval'], _POINTER(_c_float), 'pfVolumeIncrementDB') + ), + ] diff --git a/plugins/AudioEndpoint/AudioEndpointControl/MMConstants.py b/plugins/AudioEndpoint/AudioEndpointControl/MMConstants.py new file mode 100644 index 000000000..6f0a280c5 --- /dev/null +++ b/plugins/AudioEndpoint/AudioEndpointControl/MMConstants.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- +"""Defines constants and types needed""" + +from __future__ import print_function, unicode_literals + +__all__ = (b"Render", b"Capture", b"All", b"Console", + b"Multimedia", b"Communications", b"DEVICE_STATE_ACTIVE", + b"DEVICE_STATE_DISABLED", b"DEVICE_STATE_NOTPRESENT", + b"DEVICE_STATE_UNPLUGGED", b"DEVICE_STATEMASK_ALL", + b"Device_FriendlyName", b"Device_DeviceDesc", + b"DeviceInterface_FriendlyName") + +from comtypes import GUID as _GUID + +try: + from MMDeviceAPILib import ( + _tagpropertykey, + eRender, + eCapture, + eAll, + eConsole, + eMultimedia, + eCommunications, + ) +except ImportError: + from comtypes.client import GetModule # pylint: disable=ungrouped-imports + GetModule("mmdeviceapi.tlb") + from comtypes.gen.MMDeviceAPILib import ( + _tagpropertykey, + eRender, + eCapture, + eAll, + eConsole, + eMultimedia, + eCommunications, + ) + +PROPERTYKEY = _tagpropertykey + + +class _ValueTypeClass(object): # pylint: disable=too-few-public-methods + def __init__(self, value): + self._value = value + + def __str__(self): + return self._valueMap[self._value] # pylint: disable=no-member + + def __int__(self): + return self._value + + def __eq__(self, other): + return self._value == other._value + + +class _BitFlagTypeClass(_ValueTypeClass): + def __str__(self): + return ", ".join([self._valueMap[Bit] + for Bit in self._valueMap if self._value & Bit]) + + def __or__(self, other): + return self.__class__(int(self) | int(other)) + + def __iter__(self): + for Bit in self._valueMap: + if self._value & Bit: + yield self.__class__(Bit) + + +def _CreateValueType(Name, ValueMap, Class=_ValueTypeClass): + ValueType = type(str(Name), (Class,), {'_valueMap': ValueMap}) + + return ValueType + + +# DataFlow enumeration: The DataFlowType class defines constants that indicate +# the direction in which audio data flows between an audio endpoint device and +# an application. +DataFlowType = _CreateValueType( + 'DataFlowType', + { + eRender: 'Render', + eCapture: 'Capture', + eAll: 'All', + } +) + +Render = DataFlowType(eRender) +Capture = DataFlowType(eCapture) +All = DataFlowType(eAll) + +# Role enumeration: The RoleType class defines constants that indicate the role +# that the system has assigned to an audio endpoint device. +RoleType = _CreateValueType( + 'RoleType', + { + eConsole: 'Console', + eMultimedia: 'Multimedia', + eCommunications: 'Communications', + } +) + +Console = RoleType(eConsole) +Multimedia = RoleType(eMultimedia) +Communications = RoleType(eCommunications) + +# DEVICE_STATE_XXX Constants: The DEVICE_STATE_XXX constants indicate the +# current state of an audio endpoint device. +Device_StateType = _CreateValueType( + 'Device_StateType', + { + 0x00000001: 'Active', + 0x00000002: 'Disabled', + 0x00000004: 'Notpresent', + 0x00000008: 'Unplugged', + }, _BitFlagTypeClass +) + +DEVICE_STATE_ACTIVE = Device_StateType(0x00000001) +DEVICE_STATE_DISABLED = Device_StateType(0x00000002) +DEVICE_STATE_NOTPRESENT = Device_StateType(0x00000004) +DEVICE_STATE_UNPLUGGED = Device_StateType(0x00000008) +DEVICE_STATEMASK_ALL = Device_StateType(0x0000000F) + +# The STGM constants are flags that indicate conditions for creating and +# deleting the object and access modes for the object. The STGM constants +# are included in the IStorage, IStream, and IPropertySetStorage interfaces +# and in the StgCreateDocfile, StgCreateStorageEx, +# StgCreateDocfileOnILockBytes, StgOpenStorage, and StgOpenStorageEx functions. +# The storage-access mode. This parameter specifies whether to open the +# property store in read mode, write mode, or read/write mode. Set this +# parameter to one of the following STGM constants: +STGMType = _CreateValueType( + 'STGMType', + { + 0x00000000: 'Read', + 0x00000001: 'Write', + 0x00000002: 'Readwrite', + } +) + +STGM_READ = STGMType(0x00000000) +STGM_WRITE = STGMType(0x00000001) +STGM_READWRITE = STGMType(0x00000002) + +# Each PKEY_Xxx property identifier in the following list is a constant of +# type PROPERTYKEY that is defined in header file +# Functiondiscoverykeys_devpkey.h. All audio endpoint devices have these +# three device properties. +Device_FriendlyName = PROPERTYKEY( + _GUID('{A45C254E-DF1C-4EFD-8020-67D146A850E0}'), 14) +Device_DeviceDesc = PROPERTYKEY( + _GUID('{A45C254E-DF1C-4EFD-8020-67D146A850E0}'), 2) +DeviceInterface_FriendlyName = PROPERTYKEY( + _GUID('{026E516E-B814-414B-83CD-856D6FEF4822}'), 2) + + +# ENDPOINT_HARDWARE_SUPPORT_XXX Constants +# +# The ENDPOINT_HARDWARE_SUPPORT_XXX constants are hardware support flags for an +# audio endpoint device. +# +# Remarks +# +# The IAudioEndpointVolume::QueryHardwareSupport and +# IAudioMeterInformation::QueryHardwareSupport methods use the +# ENDPOINT_HARDWARE_SUPPORT_XXX constants. +# +# A hardware support mask indicates which functions an audio endpoint device +# implements in hardware. The mask can be either 0 or the bitwise-OR +# combination of one or more ENDPOINT_HARDWARE_SUPPORT_XXX constants. If a bit +# that corresponds to a particular ENDPOINT_HARDWARE_SUPPORT_XXX constant is +# set in the mask, then the meaning is that the function represented by that +# constant is implemented in hardware by the device. +ENDPOINT_HARDWARE_SUPPORTType = _CreateValueType( + 'ENDPOINT_HARDWARE_SUPPORTType', + { + 0x00000001: 'Volume', + 0x00000002: 'Mute', + 0x00000004: 'Meter', + }, _BitFlagTypeClass +) + +# The audio endpoint device supports a hardware volume control. +ENDPOINT_HARDWARE_SUPPORT_VOLUME = ENDPOINT_HARDWARE_SUPPORTType(0x00000001) +# The audio endpoint device supports a hardware mute control. +ENDPOINT_HARDWARE_SUPPORT_MUTE = ENDPOINT_HARDWARE_SUPPORTType(0x00000002) +# The audio endpoint device supports a hardware peak meter. +ENDPOINT_HARDWARE_SUPPORT_METER = ENDPOINT_HARDWARE_SUPPORTType(0x00000004) diff --git a/plugins/AudioEndpoint/AudioEndpointControl/Notifications.py b/plugins/AudioEndpoint/AudioEndpointControl/Notifications.py new file mode 100644 index 000000000..30461b13c --- /dev/null +++ b/plugins/AudioEndpoint/AudioEndpointControl/Notifications.py @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +"""Notifications wrapper classes""" + +from __future__ import print_function, unicode_literals, absolute_import + +import sys +import traceback +from ctypes import POINTER as _POINTER, c_float as _c_float, cast as _cast + +from comtypes import COMObject as _COMObject + +from .MMConstants import DataFlowType, RoleType, Device_StateType +from .AudioEndpoints import IMMNotificationClient +from .EndpointvolumeAPI import IAudioEndpointVolumeCallback + + +class cNotify(object): # TODO: Missing class docstring (missing-docstring) + # pylint: disable=too-few-public-methods + def __init__(self, pNotify): + self.EventContext = pNotify.contents.guidEventContext + self.Muted = bool(pNotify.contents.bMuted) + self.MasterVolume = pNotify.contents.fMasterVolume + self.Channels = pNotify.contents.nChannels + self.ChannelVolumes = [] + pfChannelVolumes = _cast( + pNotify.contents.afChannelVolumes, _POINTER(_c_float) + ) + for channel in range(pNotify.contents.nChannels): + self.ChannelVolumes.append(pfChannelVolumes[channel]) + + +# TODO: Missing class docstring (missing-docstring) +class CallbackBaseClass(_COMObject): + def __init__(self, Callback): + if Callback is None: + raise Exception("Callback object required, got:", repr(Callback)) + self._Callback = Callback + _COMObject.__init__(self) + + +class CAudioEndpointVolumeCallback(CallbackBaseClass): + _com_interfaces_ = [IAudioEndpointVolumeCallback] + + def __init__(self, Callback, endpoint): + CallbackBaseClass.__init__(self, Callback) + self._endpoint = endpoint + + def OnNotify(self, this, pNotify): # pylint: disable=unused-argument + # TODO: Missing method docstring + try: + self._Callback.OnNotify(cNotify(pNotify), self._endpoint) + except AttributeError: # TODO: Log warning "OnNotify" method missing + pass + + +# TODO: Missing class docstring +class CMMNotificationClient(CallbackBaseClass): + _com_interfaces_ = [IMMNotificationClient] + + def __init__(self, Callback, endpoints): + CallbackBaseClass.__init__(self, Callback) + self._AudioDevices = endpoints + + def OnDeviceStateChanged(self, this, pwstrDeviceId, dwNewState): + # pylint: disable=unused-argument + # TODO: Missing method docstring (missing-docstring) + try: + self._Callback.OnDeviceStateChanged( + self._AudioDevices(pwstrDeviceId), + Device_StateType(dwNewState) + ) + except AttributeError: + pass + except: # FIX: No exception type(s) specified (bare-except) + traceback.print_exc(file=sys.stdout) + + def OnDeviceRemoved(self, this, pwstrDeviceId): + # pylint: disable=unused-argument + # TODO: Missing method docstring (missing-docstring) + try: + self._Callback.OnDeviceRemoved(self._AudioDevices(pwstrDeviceId)) + except AttributeError: + pass + except: # FIX: No exception type(s) specified (bare-except) + traceback.print_exc(file=sys.stdout) + + def OnDeviceAdded(self, this, pwstrDeviceId): + # pylint: disable=unused-argument + # TODO: Missing method docstring (missing-docstring) + try: + self._Callback.OnDeviceAdded(self._AudioDevices(pwstrDeviceId)) + except AttributeError: + pass + except: # FIX: No exception type(s) specified (bare-except) + traceback.print_exc(file=sys.stdout) + + def OnDefaultDeviceChanged(self, this, flow, role, pwstrDeviceId): + # pylint: disable=unused-argument + # TODO: Missing method docstring (missing-docstring) + try: + self._Callback.OnDefaultDeviceChanged( + DataFlowType(flow), + RoleType(role), + self._AudioDevices(pwstrDeviceId) + ) + except AttributeError: + pass + except: # FIX: No exception type(s) specified (bare-except) + traceback.print_exc(file=sys.stdout) + + def OnPropertyValueChanged(self, this, pwstrDeviceId, key): + # pylint: disable=unused-argument + # TODO: Missing method docstring (missing-docstring) + try: + self._Callback.OnPropertyValueChanged( + self._AudioDevices(pwstrDeviceId), + key + ) + except AttributeError: + pass + except: # FIX: No exception type(s) specified (bare-except) + traceback.print_exc(file=sys.stdout) diff --git a/plugins/AudioEndpoint/AudioEndpointControl/PolicyConfigAPI.py b/plugins/AudioEndpoint/AudioEndpointControl/PolicyConfigAPI.py new file mode 100644 index 000000000..6d37cb8c8 --- /dev/null +++ b/plugins/AudioEndpoint/AudioEndpointControl/PolicyConfigAPI.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# TODO: Missing module docstring (missing-docstring) + +from ctypes import HRESULT as _HRESULT +from ctypes.wintypes import ( + DWORD as _DWORD, + LPCWSTR as _PCWSTR, +) + +from comtypes import ( + COMMETHOD as _COMMETHOD, + GUID as _GUID, + IUnknown as _IUnknown, + STDMETHOD as _STDMETHOD, +) + +CLSID_CPolicyConfigVistaClient = _GUID( + '{294935CE-F637-4E7C-A41B-AB255460B862}') +IID_IPolicyConfigVista = _GUID('{568b9108-44bf-40b4-9006-86afe5b5a620}') + + +# TODO: Missing class docstring (missing-docstring) +class IPolicyConfigVista(_IUnknown): + _iid_ = IID_IPolicyConfigVista + _methods_ = ( + _STDMETHOD(_HRESULT, 'GetMixFormat', []), + _STDMETHOD(_HRESULT, 'GetDeviceFormat', []), + _STDMETHOD(_HRESULT, 'SetDeviceFormat', []), + _STDMETHOD(_HRESULT, 'GetProcessingPeriod', []), + _STDMETHOD(_HRESULT, 'SetProcessingPeriod', []), + _STDMETHOD(_HRESULT, 'GetShareMode', []), + _STDMETHOD(_HRESULT, 'SetShareMode', []), + _STDMETHOD(_HRESULT, 'GetPropertyValue', []), + _STDMETHOD(_HRESULT, 'SetPropertyValue', []), + _COMMETHOD( + [], _HRESULT, + 'SetDefaultEndpoint', + (['in'], _PCWSTR, 'wszDeviceId'), + (['in'], _DWORD, 'eRole') + ), + _STDMETHOD(_HRESULT, 'SetEndpointVisibility', []) + ) diff --git a/plugins/AudioEndpoint/AudioEndpointControl/__init__.py b/plugins/AudioEndpoint/AudioEndpointControl/__init__.py new file mode 100644 index 000000000..9ce4dfcf3 --- /dev/null +++ b/plugins/AudioEndpoint/AudioEndpointControl/__init__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +"""Defines the AudioEndpintControl API""" + +from __future__ import print_function, unicode_literals, absolute_import + +__all__ = (b"AudioEndpoints", b"Render", b"Capture", b"All", b"Console", + b"Multimedia", b"Communications", b"DEVICE_STATE_ACTIVE", + b"DEVICE_STATE_DISABLED", b"DEVICE_STATE_NOTPRESENT", + b"DEVICE_STATE_UNPLUGGED", b"DEVICE_STATEMASK_ALL", + b"Device_FriendlyName", b"Device_DeviceDesc", + b"DeviceInterface_FriendlyName") +__version__ = '0.2a4' +__author__ = 'Joni Borén' + +from .AudioEndpoints import AudioEndpoints +# DataFlow enumeration: The DataFlow enumeration defines constants that +# indicate the direction in which audio data flows between an audio endpoint +# device and an application. +from .MMConstants import Render, Capture, All +# Role enumeration: The Role enumeration defines constants that indicate the +# role that the system has assigned to an audio endpoint device. +from .MMConstants import Console, Multimedia, Communications +# DEVICE_STATE_XXX Constants: The DEVICE_STATE_XXX constants indicate the +# current state of an audio endpoint device. +from .MMConstants import ( + DEVICE_STATE_ACTIVE, + DEVICE_STATE_DISABLED, + DEVICE_STATE_NOTPRESENT, + DEVICE_STATE_UNPLUGGED, + DEVICE_STATEMASK_ALL + ) +# Each PKEY_Xxx property identifier in the following list is a constant of type +# PROPERTYKEY that is defined in header file Functiondiscoverykeys_devpkey.h. +# All audio endpoint devices have these three device properties. +from .MMConstants import ( + Device_FriendlyName, + Device_DeviceDesc, + DeviceInterface_FriendlyName + ) diff --git a/plugins/AudioEndpoint/__init__.py b/plugins/AudioEndpoint/__init__.py new file mode 100644 index 000000000..aeaace83f --- /dev/null +++ b/plugins/AudioEndpoint/__init__.py @@ -0,0 +1,689 @@ +# -*- coding: utf-8 -*- +# +# plugins/AudioEndpoint/__init__.py +# +# This file is a plugin for EventGhost. + +import eg + +eg.RegisterPlugin( + name = "AudioEndpoint", + guid = "{31DE576B-5938-4C0B-A0E2-64F9ADF02BF8}", + author = "Sem;colon", + version = "2.3.3", + kind = "other", + canMultiLoad = False, + description = "This plugin can set the default audio render device and generates events when an audio endpoint changes!", + url = "http://www.eventghost.net/forum/viewtopic.php?f=9&t=6213", +) + +import AudioEndpointControl +from fnmatch import fnmatch + +class MMNotificationClient(object): + + def __init__(self, plugin): + self.plugin = plugin + + def OnDeviceStateChanged(self, AudioDevice, NewState): + NewState=str(NewState).upper() + self.plugin.TriggerEvent("State."+NewState+"."+AudioDevice.getName(),[AudioDevice.getId()]) + if NewState == "ACTIVE" or NewState == "NOTPRESENT": + self.plugin.ReInitAudioDevices() + + def OnDeviceRemoved(self, AudioDevice): + self.plugin.TriggerEvent("DeviceRemoved."+AudioDevice.getName(),[AudioDevice.getId()]) + if AudioDevice in self.plugin.registeredAudioDevices: + AudioDevice.UnregisterCallback() + self.plugin.registeredAudioDevices.remove(AudioDevice) + self.plugin.ReInitAudioDevices() + + def OnDeviceAdded(self, AudioDevice): + self.plugin.TriggerEvent("DeviceAdded."+AudioDevice.getName(),[AudioDevice.getId()]) + self.plugin.ReInitAudioDevices() + + def OnDefaultDeviceChanged(self, flow, role, AudioDevice): + self.plugin.TriggerEvent("Default."+str(flow)+"."+str(role)+"."+AudioDevice.getName(),[AudioDevice.getId()]) + + #def OnPropertyValueChanged(self, AudioDevice, key): + # if self.plugin.advancedEndpointEvents: + # property=u"{%8.08x-%4.04x-%4.04x-%2.02x%2.02x-%2.02x%2.02x%2.02x%2.02x%2.02x%2.02x}" % (key.fmtid.Data1, key.fmtid.Data2, key.fmtid.Data3, 2**8+key.fmtid.Data4[0], 2**8+key.fmtid.Data4[1], 2**8+key.fmtid.Data4[2], 2**8+key.fmtid.Data4[3], 2**8+key.fmtid.Data4[4], 2**8+key.fmtid.Data4[5], 2**8+key.fmtid.Data4[6], 2**8+key.fmtid.Data4[7]) + # self.plugin.TriggerEvent("Property."+AudioDevice.getName(),[AudioDevice.getId(),property,int(key.pid)]) + + +class AudioEndpointVolumeCallback(object): + + def __init__(self, plugin): + self.plugin = plugin + + def OnNotify(self, Notify, AudioDevice): + if self.plugin.AudioDeviceData[AudioDevice.getId()]["volume"] != Notify.MasterVolume: + self.plugin.AudioDeviceData[AudioDevice.getId()]["volume"] = Notify.MasterVolume + self.plugin.TriggerEvent("Volume."+AudioDevice.getName(), [AudioDevice.getId(), str(round(Notify.MasterVolume*100,2))]) + if self.plugin.AudioDeviceData[AudioDevice.getId()]["mute"] != Notify.Muted: + self.plugin.AudioDeviceData[AudioDevice.getId()]["mute"] = Notify.Muted + if Notify.Muted: + self.plugin.TriggerEvent("Mute."+AudioDevice.getName(), [AudioDevice.getId(), Notify.Muted]) + else: + self.plugin.TriggerEvent("UnMute."+AudioDevice.getName(), [AudioDevice.getId(), Notify.Muted]) + + +class AudioEndpoint(eg.PluginBase): + + class Text: + eventBox = "Trigger events:" + volumeEvents = "Volume or mute changes on an audio endpoint" + endpointEvents = "Audio endpoint state changes" + advancedEndpointEvents = "Advanced audio endpoint state changes (property changes)" + flows = ["Render", "Capture"] + returnedDevice = 'Returned device from the an "Get Audio Device" action' + + + def __init__(self): + self.AddAction(SetRender, "SetRender", "Set Default Audio Render", "Sets the default audio render device.(by id)", hidden=True)#only for backwards compatibillity + self.AddAction(GetRender, "GetRender", "Get Default Audio Render", "Returns the ID of the current Default Audio Render", hidden=True)#only for backwards compatibillity + self.AddAction(SetDefaultDevice, "SetDefaultDevice", "Set Default Audio Device", "Sets the default audio device.(by id)") + self.AddAction(GetDefaultDevice, "GetDefaultDevice", "Get Default Audio Device", "Returns the ID and the name of the current Default Audio Device") + self.AddAction(GetDeviceByName, "GetDeviceByName", "Get Audio Device By Name", "Returns the ID and the name of the first device with the specified name") + self.AddAction(NextRender, "NextRender", "Next Default Audio Render", "Selects the next available Default Audio Render", hidden=True)#only for backwards compatibillity + self.AddAction(PreviousRender, "PreviousRender", "Previous Default Audio Render", "Selects previous available Default Audio Render", hidden=True)#only for backwards compatibillity + self.AddAction(NextDefaultDevice, "NextDefaultDevice", "Next Default Audio Device", "Selects the next available Default Audio Device") + self.AddAction(PreviousDefaultDevice, "PreviousDefaultDevice", "Previous Default Audio Device", "Selects previous available Default Audio Device") + self.AddAction(GetMute, "GetMute", "Get Mute", "Returns True if a specific audio endpoint is muted, and False if not") + self.AddAction(SetMute, "SetMute", "Set Mute", "Set mute for a specific audio endpoint (ON, OFF or TOGGLE)") + self.AddAction(GetVolume, "GetVolume", "Get Volume", "Returns the current volume of a specific audio endpoint") + self.AddAction(SetVolume, "SetVolume", "Set Volume", "Set the volume for a specific audio endpoint. Can be absolute or relative") + self.registeredAudioDevices = [] + self.AudioDeviceData = {} + + + def __start__(self, volumeEvents=True, endpointEvents=True, advancedEndpointEvents=False): + self.volumeEvents=volumeEvents + self.endpointEvents=endpointEvents + #self.advancedEndpointEvents=advancedEndpointEvents + self.AudioDevices = AudioEndpointControl.AudioEndpoints() + if endpointEvents: + self.AudioDevices.RegisterCallback(MMNotificationClient(self)) + if self.ReInitAudioDevices(): + print "Audio Endpoint plugin started." + for flow in [0,1]: + for role in [0,1,2]: + try: + device=self.AudioDevices.GetDefault(role,flow) + flow2=AudioEndpointControl.EDataFlow[flow] + role2=AudioEndpointControl.ERole[role] + self.TriggerEvent("Default."+flow2+"."+role2+"."+device.getName(),[device.getId()]) + except: + pass + + + def __stop__(self): + for AudioDevice in self.registeredAudioDevices: + AudioDevice.UnregisterCallback() + self.registeredAudioDevices = [] + if self.endpointEvents: + self.AudioDevices.UnregisterCallback() + self.AudioDevices=None + print "Audio Endpoint plugin stopped." + + + def __close__(self): + print "Audio Endpoint plugin closed." + + + def ReInitAudioDevices(self): + self.AudioDeviceIDs = [[],[]] + self.AudioDeviceNames = [[],[]] + self.allAudioDeviceIDs = [] + self.allAudioDeviceNames= [] + for flow in [0,1]: #Render,Capture + for AudioDevice in self.AudioDevices.__iter__(flow): + if self.volumeEvents and AudioDevice not in self.registeredAudioDevices: + AudioDevice.RegisterCallback(AudioEndpointVolumeCallback(self)) + self.registeredAudioDevices.append(AudioDevice) + self.AudioDeviceIDs[flow].append(AudioDevice.getId()) + self.allAudioDeviceIDs.append(AudioDevice.getId()) + self.AudioDeviceNames[flow].append(AudioDevice.getName()) + self.allAudioDeviceNames.append(self.Text.flows[flow]+": "+AudioDevice.getName()) + if AudioDevice.getId() not in self.AudioDeviceData: + self.AudioDeviceData[AudioDevice.getId()] = {"volume":None,"mute":None} + if self.AudioDeviceData[AudioDevice.getId()]["volume"] != AudioDevice.volume.Get(): + self.AudioDeviceData[AudioDevice.getId()]["volume"] = AudioDevice.volume.Get() + #self.TriggerEvent("Volume."+AudioDevice.getName(),[AudioDevice.getId(),str(round(AudioDevice.volume.Get()*100,2))]) + if self.AudioDeviceData[AudioDevice.getId()]["mute"] != (AudioDevice.GetMute() == 1): + self.AudioDeviceData[AudioDevice.getId()]["mute"] = AudioDevice.GetMute() == 1 + #if AudioDevice.GetMute() == 1: + # self.TriggerEvent("Mute."+AudioDevice.getName(),[AudioDevice.getId(),AudioDevice.GetMute() == 1]) + #else: + # self.TriggerEvent("UnMute."+AudioDevice.getName(),[AudioDevice.getId(),AudioDevice.GetMute() == 1]) + self.allAudioDeviceIDs.append("returnedDevice") + self.allAudioDeviceNames.append(self.Text.returnedDevice) + return True + + + def Configure(self, volumeEvents=True, endpointEvents=True, advancedEndpointEvents=False): + text = self.Text + panel = eg.ConfigPanel() + wx_volumeEvents = wx.CheckBox(panel, -1, text.volumeEvents) + wx_volumeEvents.SetValue(volumeEvents) + wx_endpointEvents = wx.CheckBox(panel, -1, text.endpointEvents) + wx_endpointEvents.SetValue(endpointEvents) + #wx_advancedEndpointEvents = wx.CheckBox(panel, -1, text.advancedEndpointEvents) + #wx_advancedEndpointEvents.SetValue(advancedEndpointEvents) + eventBox = panel.BoxedGroup( + text.eventBox, + ("",wx_volumeEvents), + ("",wx_endpointEvents), + #("",wx_advancedEndpointEvents), + ) + + panel.sizer.Add(eventBox, 0, wx.EXPAND) + + while panel.Affirmed(): + panel.SetResult( + wx_volumeEvents.GetValue(), + wx_endpointEvents.GetValue(), + #wx_advancedEndpointEvents.GetValue(), + ) + + +class SetRender(eg.ActionBase):#only for backward compatibillity + + class Text: + role = "Role:" + setTo = "Set default to:" + + def __call__(self,target,role=0): + try: + self.plugin.AudioDevices.SetDefault(self.plugin.AudioDevices(target),role) + return True + except: + eg.PrintError("AudioEndpoint SetRender: Device not found! "+str(target)) + return False + + def GetLabel(self, target="",role=0): + try: + target = self.plugin.AudioDevices(target).getName() + except: + target = "???" + return target + + def Configure(self,target="",role=0): + roles=["Console","Multimedia","Communications"] + panel = eg.ConfigPanel(self) + + wx_role = wx.Choice(panel, -1, choices=roles) + wx_role.SetSelection(role) + st_role = panel.StaticText(self.Text.role) + + if target in self.plugin.AudioDeviceIDs[0]: + target = self.plugin.AudioDeviceIDs[0].index(target) + else: + target = 0 + wx_setTo = wx.Choice(panel, -1, choices=self.plugin.AudioDeviceNames[0]) + wx_setTo.SetSelection(target) + st_setTo = panel.StaticText(self.Text.setTo) + + panel.AddLine(st_role,wx_role) + panel.AddLine(st_setTo,wx_setTo) + + while panel.Affirmed(): + panel.SetResult(self.plugin.AudioDeviceIDs[0][wx_setTo.GetCurrentSelection()],wx_role.GetCurrentSelection()) + + +class GetRender(eg.ActionBase):#only for backward compatibillity + + def __call__(self): + return self.plugin.AudioDevices.GetDefault(0,0).getId() + + +class SetDefaultDevice(eg.ActionBase): + + class Text: + role = "Role:" + setTo = "Set default to:" + + def __call__(self,deviceId,role=0): + try: + if deviceId=="returnedDevice": + deviceId = eg.result["id"] + self.plugin.AudioDevices.SetDefault(self.plugin.AudioDevices(deviceId),role) + return True + except: + eg.PrintError("AudioEndpoint SetCapture: Device not found! "+str(deviceId)) + return False + + def GetLabel(self, deviceId,role=0): + target = "to the returned device" + if deviceId!="returnedDevice": + try: + target = "to " + self.plugin.AudioDevices(deviceId).getName() + except: + target = "???" + return self.name + " " + target + + def Configure(self,target="",role=0): + roles=["Console","Multimedia","Communications"] + panel = eg.ConfigPanel(self) + + wx_role = wx.Choice(panel, -1, choices=roles) + wx_role.SetSelection(role) + st_role = panel.StaticText(self.Text.role) + + if target in self.plugin.allAudioDeviceIDs: + target = self.plugin.allAudioDeviceIDs.index(target) + else: + target = 0 + wx_setTo = wx.Choice(panel, -1, choices=self.plugin.allAudioDeviceNames) + wx_setTo.SetSelection(target) + st_setTo = panel.StaticText(self.Text.setTo) + + panel.AddLine(st_role,wx_role) + panel.AddLine(st_setTo,wx_setTo) + + while panel.Affirmed(): + panel.SetResult(self.plugin.allAudioDeviceIDs[wx_setTo.GetCurrentSelection()],wx_role.GetCurrentSelection()) + + + +class GetDefaultDevice(eg.ActionBase): + + class Text: + flow = "Flow:" + role = "Role:" + + def __call__(self,role=0,flow=0): + try: + device = self.plugin.AudioDevices.GetDefault(role,flow) + return {"id":device.getId(),"name":device.getName()} + except: + eg.PrintError("AudioEndpoint GetDefaultDevice: Default device not found!") + return False + + def Configure(self,role=0,flow=0): + flows=["Render","Capture"] + roles=["Console","Multimedia","Communications"] + panel = eg.ConfigPanel(self) + + wx_role = wx.Choice(panel, -1, choices=roles) + wx_role.SetSelection(role) + st_role = panel.StaticText(self.Text.role) + + wx_flow = wx.Choice(panel, -1, choices=flows) + wx_flow.SetSelection(flow) + st_flow = panel.StaticText(self.Text.flow) + + panel.AddLine(st_role,wx_role) + panel.AddLine(st_flow,wx_flow) + + while panel.Affirmed(): + panel.SetResult(wx_role.GetCurrentSelection(),wx_flow.GetCurrentSelection()) + + +class GetDeviceByName(eg.ActionBase): + + class Text: + target = "Device Name:" + parsing = "disable parsing" + + def __call__(self,target1,parseNoTarget=True): + result = None + if not parseNoTarget: + target1=eg.ParseString(unicode(target1)) + for target in self.plugin.allAudioDeviceNames: + if fnmatch(target,target1): + targetIndex = self.plugin.allAudioDeviceNames.index(target) + id = self.plugin.allAudioDeviceIDs[targetIndex] + device = self.plugin.AudioDevices(id) + result = {"id":device.getId(),"name":device.getName()} + break + return result + + def Configure(self,target="",parseNoTarget=True): + panel = eg.ConfigPanel(self) + wx_parseNoTarget = wx.CheckBox(panel, -1, self.Text.parsing) + wx_parseNoTarget.SetValue(parseNoTarget) + wx_target = panel.TextCtrl(unicode(target), size=(400,-1)) + st_target = panel.StaticText(self.Text.target) + + panel.AddLine(st_target,wx_target,wx_parseNoTarget) + + while panel.Affirmed(): + panel.SetResult(wx_target.GetValue(),wx_parseNoTarget.GetValue()) + + +class NextRender(eg.ActionBase):#only for backward compatibillity + + class Text: + role = "Role:" + + def __call__(self,role=0): + oldIndex = self.plugin.AudioDeviceIDs[0].index(self.plugin.AudioDevices.GetDefault(role,0).getId()) + i=oldIndex+1 + while i!=oldIndex: + if i=len(self.plugin.AudioDeviceIDs[0]): + i=0 + else: + i+=1 + eg.PrintError("AudioEndpoint NextRender: No (other) selectable Render!") + return False + + def Configure(self,role=0): + while panel.Affirmed(): + panel.SetResult(role) + + +class PreviousRender(eg.ActionBase):#only for backward compatibillity + + class Text: + role = "Role:" + + def __call__(self,role=0): + oldIndex = self.plugin.AudioDeviceIDs[0].index(self.plugin.AudioDevices.GetDefault(role,0).getId()) + i=oldIndex-1 + while i!=oldIndex: + if i>=0: + target = self.plugin.AudioDeviceIDs[0][i] + self.plugin.AudioDevices.SetDefault(self.plugin.AudioDevices(target),role) + return True + if i<=0: + i=len(self.plugin.AudioDeviceIDs[0])-1 + else: + i-=1 + eg.PrintError("AudioEndpoint PreviousRender: No (other) selectable Render!") + return False + + def Configure(self,role=0): + while panel.Affirmed(): + panel.SetResult(role) + + +class NextDefaultDevice(eg.ActionBase): + + class Text: + flow = "Flow:" + role = "Role:" + + def __call__(self,role=0,flow=0): + oldIndex = self.plugin.AudioDeviceIDs[flow].index(self.plugin.AudioDevices.GetDefault(role,flow).getId()) + i=oldIndex+1 + while i!=oldIndex: + if i=len(self.plugin.AudioDeviceIDs[flow]): + i=0 + else: + i+=1 + eg.PrintError("AudioEndpoint NextDefaultDevice: No (other) selectable device!") + return False + + def Configure(self,role=0,flow=0): + flows=["Render","Capture"] + roles=["Console","Multimedia","Communications"] + panel = eg.ConfigPanel(self) + + wx_role = wx.Choice(panel, -1, choices=roles) + wx_role.SetSelection(role) + st_role = panel.StaticText(self.Text.role) + + wx_flow = wx.Choice(panel, -1, choices=flows) + wx_flow.SetSelection(flow) + st_flow = panel.StaticText(self.Text.flow) + + panel.AddLine(st_role,wx_role) + panel.AddLine(st_flow,wx_flow) + + while panel.Affirmed(): + panel.SetResult(wx_role.GetCurrentSelection(),wx_flow.GetCurrentSelection()) + + +class PreviousDefaultDevice(eg.ActionBase): + + class Text: + flow = "Flow:" + role = "Role:" + + def __call__(self,role=0,flow=0): + oldIndex = self.plugin.AudioDeviceIDs[flow].index(self.plugin.AudioDevices.GetDefault(role,flow).getId()) + i=oldIndex-1 + while i!=oldIndex: + if i>=0: + target = self.plugin.AudioDeviceIDs[flow][i] + self.plugin.AudioDevices.SetDefault(self.plugin.AudioDevices(target),role) + return True + if i<=0: + i=len(self.plugin.AudioDeviceIDs[flow])-1 + else: + i-=1 + eg.PrintError("AudioEndpoint PreviousDefaultDevice: No (other) selectable device!") + return False + + def Configure(self,role=0,flow=0): + flows=["Render","Capture"] + roles=["Console","Multimedia","Communications"] + panel = eg.ConfigPanel(self) + + wx_role = wx.Choice(panel, -1, choices=roles) + wx_role.SetSelection(role) + st_role = panel.StaticText(self.Text.role) + + wx_flow = wx.Choice(panel, -1, choices=flows) + wx_flow.SetSelection(flow) + st_flow = panel.StaticText(self.Text.flow) + + panel.AddLine(st_role,wx_role) + panel.AddLine(st_flow,wx_flow) + + while panel.Affirmed(): + panel.SetResult(wx_role.GetCurrentSelection(),wx_flow.GetCurrentSelection()) + + +class GetMute(eg.ActionBase): + + class Text: + device="Device:" + + def __call__(self, deviceId): + try: + if deviceId=="returnedDevice": + deviceId = eg.result["id"] + targetDevice = self.plugin.AudioDevices(deviceId) + except: + eg.PrintError("AudioEndpoint GetMute: Device not found! "+str(deviceId)) + return None + return targetDevice.GetMute() == 1 + + def GetLabel(self, deviceId): + target = "for the returned device" + if deviceId!="returnedDevice": + try: + target = "for " + self.plugin.AudioDevices(deviceId).getName() + except: + target = "???" + return self.name + " " + target + + def Configure(self, deviceId=""): + panel = eg.ConfigPanel(self) + + if deviceId in self.plugin.allAudioDeviceIDs: + target = self.plugin.allAudioDeviceIDs.index(deviceId) + else: + target = 0 + wx_device = wx.Choice(panel, -1, choices=self.plugin.allAudioDeviceNames) + wx_device.SetSelection(target) + st_device = panel.StaticText(self.Text.device) + + panel.AddLine(st_device,wx_device) + + while panel.Affirmed(): + panel.SetResult(self.plugin.allAudioDeviceIDs[wx_device.GetCurrentSelection()]) + + +class SetMute(eg.ActionBase): + + class Text: + device = "Device:" + state = "State:" + + def __call__(self, deviceId, targetState): + try: + if deviceId=="returnedDevice": + deviceId = eg.result["id"] + targetDevice = self.plugin.AudioDevices(deviceId) + except: + eg.PrintError("AudioEndpoint SetMute: Device not found! "+str(deviceId)) + return False + if targetState==1: + targetDevice.SetMute(True) + elif targetState==0: + targetDevice.SetMute(False) + else: + targetDevice.SetMute(targetDevice.GetMute() == 0) + return True + + def GetLabel(self, deviceId, targetState=0): + states=["OFF","ON","TOGGLE"] + target = states[targetState] + " on the returned device" + if deviceId!="returnedDevice": + try: + target = states[targetState] + " on " + self.plugin.AudioDevices(deviceId).getName() + except: + target = "???" + return self.name + " " + target + + def Configure(self, deviceId="", targetState=0): + states=["OFF","ON","TOGGLE"] + panel = eg.ConfigPanel(self) + + wx_state = wx.Choice(panel, -1, choices=states) + wx_state.SetSelection(targetState) + st_state = panel.StaticText(self.Text.state) + + if deviceId in self.plugin.allAudioDeviceIDs: + target = self.plugin.allAudioDeviceIDs.index(deviceId) + else: + target = 0 + wx_device = wx.Choice(panel, -1, choices=self.plugin.allAudioDeviceNames) + wx_device.SetSelection(target) + st_device = panel.StaticText(self.Text.device) + + panel.AddLine(st_device,wx_device) + panel.AddLine(st_state,wx_state) + + while panel.Affirmed(): + panel.SetResult(self.plugin.allAudioDeviceIDs[wx_device.GetCurrentSelection()],wx_state.GetCurrentSelection()) + + +class GetVolume(eg.ActionBase): + + class Text: + device="Device:" + + def __call__(self, deviceId): + try: + if deviceId=="returnedDevice": + deviceId = eg.result["id"] + targetDevice = self.plugin.AudioDevices(deviceId) + except: + eg.PrintError("AudioEndpoint GetVolume: Device not found! "+str(deviceId)) + return None + return round(targetDevice.volume.Get()*100,2) + + def GetLabel(self, deviceId): + target = "for the returned device" + if deviceId!="returnedDevice": + try: + target = "for " + self.plugin.AudioDevices(deviceId).getName() + except: + target = "???" + return self.name + " " + target + + def Configure(self, deviceId=""): + panel = eg.ConfigPanel(self) + + if deviceId in self.plugin.allAudioDeviceIDs: + target = self.plugin.allAudioDeviceIDs.index(deviceId) + else: + target = 0 + wx_device = wx.Choice(panel, -1, choices=self.plugin.allAudioDeviceNames) + wx_device.SetSelection(target) + st_device = panel.StaticText(self.Text.device) + + panel.AddLine(st_device,wx_device) + + while panel.Affirmed(): + panel.SetResult(self.plugin.allAudioDeviceIDs[wx_device.GetCurrentSelection()]) + + +class SetVolume(eg.ActionBase): + + class Text: + device = "Device:" + relative = "Relative" + level = "Level:" + + def __call__(self, deviceId, level, relative=False): + try: + if deviceId=="returnedDevice": + deviceId = eg.result["id"] + targetDevice = self.plugin.AudioDevices(deviceId) + except: + eg.PrintError("AudioEndpoint SetVolume: Device not found! "+str(deviceId)) + return False + targetVolume=0.0 + if relative: + targetVolume=round(targetDevice.volume.Get()*100,2)+level + else: + targetVolume=level + if targetVolume>100: + targetVolume=100.0 + elif targetVolume<0: + targetVolume=0.0 + targetDevice.volume.Set(targetVolume/100) + return True + + def GetLabel(self, deviceId, level, relative=False): + if relative: + target = "Relative by " + str(level) + " on " + else: + target = "to " + str(level) + " on " + if deviceId=="returnedDevice": + target += "the returned device" + else: + try: + target += self.plugin.AudioDevices(deviceId).getName() + except: + target = "???" + return self.name + " " + target + + def Configure(self, deviceId="", level=0.0, relative=False): + panel = eg.ConfigPanel(self) + + if deviceId in self.plugin.allAudioDeviceIDs: + target = self.plugin.allAudioDeviceIDs.index(deviceId) + else: + target = 0 + wx_device = wx.Choice(panel, -1, choices=self.plugin.allAudioDeviceNames) + wx_device.SetSelection(target) + st_device = panel.StaticText(self.Text.device) + + wx_level = eg.SpinNumCtrl(panel, -1, level, min=-100.0, max=100.0) + st_level = panel.StaticText(self.Text.level) + + wx_relative = wx.CheckBox(panel, -1, self.Text.relative) + wx_relative.SetValue(relative) + st_relative = panel.StaticText("") + + panel.AddLine(st_device,wx_device) + panel.AddLine(st_level,wx_level) + panel.AddLine(st_relative,wx_relative) + + while panel.Affirmed(): + panel.SetResult(self.plugin.allAudioDeviceIDs[wx_device.GetCurrentSelection()],wx_level.GetValue(),wx_relative.GetValue()) + \ No newline at end of file diff --git a/plugins/AudioEndpoint/icon.png b/plugins/AudioEndpoint/icon.png new file mode 100644 index 000000000..5946b1983 Binary files /dev/null and b/plugins/AudioEndpoint/icon.png differ diff --git a/plugins/AxialControlHA/__init__.py b/plugins/AxialControlHA/__init__.py new file mode 100644 index 000000000..9f385d8b6 --- /dev/null +++ b/plugins/AxialControlHA/__init__.py @@ -0,0 +1,1436 @@ +import eg +from urllib import urlopen +import requests +import json +import httplib +import threading +from datetime import datetime +import time +import os +import codecs +import re + +eg.RegisterPlugin( + name = "AxialControlHA", + author = "yokel22", + version = "1.0.1", + kind = "program", + createMacrosOnAdd=True, + canMultiLoad=True, + description = ( + "This is a plugin for AxialControl Home Automation Software (Formerly " + "called InControl). AxialControl" + "Homepage"), + url = "http://www.eventghost.net/forum/viewtopic.php?f=9&t=9528", + icon = ( + "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAm" + "pwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlE" + "tvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6O" + "Iisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAA" + "EAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUA" + "EB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZY" + "hEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGD" + "IIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAu" + "wnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0f" + "tH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxE" + "JbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//w" + "d0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2" + "SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAAR" + "KCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNM" + "BRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCD" + "JiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRG" + "ogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7Eir" + "AyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJy" + "KTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+k" + "sqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU0" + "5QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0u" + "hHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmO" + "eZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqt" + "Vqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1" + "gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvK" + "eIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9" + "lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFg" + "GswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423G" + "bcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFost" + "qi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qb" + "cZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpz" + "uP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRK" + "dPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ" + "0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30" + "N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSF" + "oyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6" + "RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4" + "p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi" + "/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYO" + "SkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdl" + "V2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK" + "4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1Yf" + "qGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4" + "N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R" + "7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HI" + "w6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rO" + "EH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2f" + "yz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86" + "X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9" + "/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/p" + "H1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZf" + "yl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7" + "kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAA" + "Bdvkl/FRgAAA6JJREFUeNo8zNtPWwUAwOFfT3tKe0rphbbc6kYZt5GBAhPcEtHpJDyQuR" + "gvMZkPy0xc8FGjTzMa9YUsxumWYaKLxsxpZkyWLCy7hQyDhXGnGwgyCi23DugFunLanp7" + "jk35/wKe7H3hIQlab4rF4tWhgq8hecL/A6UrEkrssz01/bxKVjqzo/Lx6X9V3mpbELEnI" + "aTNGQwaBLMLEzPyF5ZXwaJ6ou7IUXruVlLMHthIxW2R6NBDJc5yazz9YZjYbe6ZG/rwoK" + "yo2i4SqavxHSMrZLqfJhNtuob3t0Lso2fn12cBc0Fp54MtJiQ8vz9ITduCuqD0dnn1wc3" + "0zjr3A+n+i84+MpVcex4w3hgNUl9h/f7bc3dS7U1pxdjQFySRYDRDZpam5nM+aQQnN9pf" + "VtR7xFlvV7e0YQg6dUWcUWQ2vYFGzr1+T91Sc9e9AIgGaCrE0SAbGhh7xwWAW7anqttD0" + "4L2tWAxJktCfeO/9tWx6d6DWKR4NlB7m3O0IxBNYfR7ebK2gZb+L0qIC5pI5tiZCDOldH" + "K937AlOjTxnzHdf1vWPjhMPLYzeEaqavrkXhfg2bx97mmPuXYZHx8ghYLNaqGtsontwk7" + "Fbs+xvr6O7bofdyNp5fWdH+8CEWtTSPZaD1U3eOt7Aa851fvjtOvW1Vfg8djIY8AdmeOd" + "QBWFRYnJgkcceH0c86RZDSm8p+2JahI04BdVFvOBIce6XXr79+DSNXisTM0Geaajl6tA/" + "/DX1NycaaxgOLHC37xHlr3iigq/p8ItlQiqLkuH5ei/jgQe0tTTT6CvhZ3+QqOig1z/NG" + "611uB1WZmaCOJwiCCnSJum6YLFZF4dOVlY1FEYfPllbRsjmKLQYAFgX7fyxpJK2lwAgqg" + "qLoTDGjMxXr3p+uni05KSwsLzJpioteSv2TgYWI9itEjfH5wDQa3DhfB9VdgmA+c0kxW4" + "bGxtRWry22/lKXBUSyV1WUhqio8iyFcrirqqjpsTFR5du0LbXxiddB7GaNLou3cVrl0hb" + "HahpgRjm6IZiRtB0OjQ1hyLLRsxmvh7YoOPll0jIMj9eu0N5botPf+3DJoLOWMCVvjCUF" + "COjT8UUDaHUbsLnsmAxaXmoKsuLO3RemkYq3YfFVUrfQhyTkEcgrnDmagCUPNCbkPLEjF" + "4wYPA4bRgkA6daKs9EIil3MCmXKxhzPf5VpcaW0xXmS7pQKKGtP1FVX71PNQpiprOhuL/" + "S65mIZgT+HQBG+5db3h2cPQAAAABJRU5ErkJggg=="), +) + +class PollingThread(): + + def __init__(self, plugin, interval): + self.plugin = plugin + self.interval = interval + self.event = threading.Event() + + + def Start(self): + self.pollThread = threading.Thread( + name="AxialPollingThread", + target=self.Poller + ) + self.pollThread.start() + + def Stop(self): + self.event.set() + eg.PrintNotice("AxialControl Event Polling Stopped") + + def Poller(self): + waitTime = self.interval + self.event.clear() + + while not self.event.isSet(): + self.event.wait(waitTime) + self.plugin.checkChange() + + + +class AxialControlHA(eg.PluginBase): + """ A plugin to control AxialControl Home Automation Software """ + + def __init__(self): + self.host = "127.0.0.1" + self.port = 1178 + self.password = "password" + self.polling = False + self.pollingtime = 5 + self.connected = False + self.getdevices = "" + self.scenesdict = {} + + info = self.AddGroup( + "Information Retrieval", + "Actions for Information Retrieval" + ) + info.AddAction(GetSingleDevice) + info.AddAction(ListAllDevices) + info.AddAction(ListScenes) + + byType = info.AddGroup( + "Group Information Retrieval", + "Actions for Group Type Information Retrieval" + ) + byType.AddAction(ListLights) + byType.AddAction(ListDimmers) + byType.AddAction(ListOutlets) + byType.AddAction(ListLocks) + byType.AddAction(ListEnergyDisplayers) + byType.AddAction(ListLevelDisplayers) + byType.AddAction(ListMultiLevelSensors) + byType.AddAction(ListMotion) + byType.AddAction(ListBinary) + byType.AddAction(ListGarageDoorOpeners) + byType.AddAction(ListFans) + byType.AddAction(ListColorBulb) + byType.AddAction(ListIrrigation) + byType.AddAction(ListWaterSensor) + byType.AddAction(ListNestHomeAway) + byType.AddAction(ListThermostat) + + actions = self.AddGroup( + "Actions", + "Actions to change device states" + ) + actions.AddAction(TurnSwitchOn) + actions.AddAction(TurnSwitchOff) + actions.AddAction(ToggleSwitch) + actions.AddAction(TurnOutletOn) + actions.AddAction(TurnOutletOff) + actions.AddAction(ToggleOutlet) + actions.AddAction(SetDimmerLevel) + actions.AddAction(OpenGarageDoor) + actions.AddAction(CloseGarageDoor) + actions.AddAction(UnLockDoor) + actions.AddAction(LockDoor) + actions.AddAction(ActivateScene) + actions.AddAction(SetThermostatLevel) + + def Configure( + self, + host="127.0.0.1", + port=1178, + password="password", + polling=False, + pollingtime=15 + ): + + panel = eg.ConfigPanel() + helpString = panel.StaticText( + "Enter Your AxialControl Server Credentials" + ) + spaceString = panel.StaticText("") + hostCtrl = panel.TextCtrl(host) + portCtrl = panel.SpinIntCtrl(port, max=65535) + passwordCtrl = panel.TextCtrl(password) + pollingCtrl = panel.CheckBox(polling) + pollingtimeCtrl = panel.SpinIntCtrl(pollingtime, min=1) + + networkBox = panel.BoxedGroup( + "Network", + ("IP:", hostCtrl), + ("Port:", portCtrl) + ) + securityBox = panel.BoxedGroup( + "Security", + ("Password:", passwordCtrl) + ) + pollingBox = panel.BoxedGroup( + "Events", + ("Enable Event Polling:", pollingCtrl), + ("Polling time in Seconds:", pollingtimeCtrl) + ) + panel.sizer.Add(helpString, 0, wx.EXPAND) + panel.sizer.Add(spaceString, 0, wx.EXPAND) + panel.sizer.Add(networkBox, 0, wx.EXPAND) + panel.sizer.Add(securityBox, 0, wx.TOP|wx.EXPAND, 10) + panel.sizer.Add(pollingBox, 0, wx.EXPAND) + + while panel.Affirmed(): + panel.SetResult( + hostCtrl.GetValue(), + portCtrl.GetValue(), + passwordCtrl.GetValue(), + pollingCtrl.GetValue(), + pollingtimeCtrl.GetValue() + ) + + def __start__(self, host, port, password, polling, pollingtime): + + self.host = host + self.password = password + self.port = port + self.polling = polling + self.pollingtime = pollingtime + self.token = self.host + ":" + str(self.port) + + # Check for Server Connection + data = self.getDevices() + self.startDict = {} + self.startDict = self.devicedict + + if data != False: + if self.polling == True : + eg.PrintNotice("Now Connected to AxialControlHA Server, Event Polling Enabled") + PollingThread(self, self.pollingtime).Start() + else: + eg.PrintNotice("Now Connected to AxialControlHA Server, Event Polling Disabled") + PollingThread(self, self.pollingtime).Stop() + else: + eg.PrintError("AxialControl Connection error, wrong IP or Server not accessible") + + + + + def __stop__ (self): + pass + + def req(self, page, method='GET', body=''): + data = False + if body!='': body = json.dumps(body) + + server = httplib.HTTPConnection(self.host + ":" + str(self.port)) + try: + server.request(method, page, body) + except: + data = False + else: + try: + response = server.getresponse() + + except: + data = False + else: + if response.status == 200: + try: + data = response.read() + except: + data = False + else: + data = json.loads(data) + else: + data = False + return data + server.close() + + def putCmd(self, url, payload): + headers = {'content-type': 'application/json' } + send = requests.put(url, data=json.dumps(payload), headers=headers) + + return send + + def getCmd(self, url): + headers = {'content-type': 'application/json' } + payload = { } + send = requests.get(url, data=json.dumps(payload), headers=headers) + + def postCmd(self, url, payload): + headers = {'content-type': 'application/json' } + send = requests.post(url, data=json.dumps(payload), headers=headers) + + def getDevices(self): + + adress = 'http://' + self.token + '/zwave/devices?password=' + self.password + data = self.req(adress) + self.switchdict = {} + self.outletdict = {} + self.dimmerdict = {} + self.thermostatdict = {} + self.unknowndict = {} + self.binarydict = {} + self.zoneplayerdict = {} + self.motiondict = {} + self.multileveldict = {} + self.lockdict = {} + self.leveldisplayerdict = {} + self.ipcamdict = {} + self.energymonitordict = {} + self.alarmdict = {} + self.fandict = {} + self.nestawaydict = {} + self.garagedooropenerdict = {} + self.colorbulbdict = {} + self.irrigationdict = {} + self.watersensordict = {} + self.devicedict = {} + self.devices = [] + + try: + for x in data: + DeviceName = x['deviceName'] + DeviceType = x['deviceType'] + Visible = x['visible'] + RoomID = str(x['roomId']) + DisplayOrder = str(x['displayOrder']) + NodeID = str(x['nodeId']) + Battery = str(x['bl']) + Name = x['name'] + CurrLevel = str(x['level']) + DeviceID = str(x['deviceId']) + sr = str(x['sr']) + + LastChange = self.convert_time((str(x['lastLevelUpdate']))) + + self.devicedict[Name] = {'sr':sr, 'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + + if DeviceType == 0 and Visible == True: + self.switchdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 1 and Visible == True: + self.dimmerdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 2 and Visible == True: + self.outletdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 3 and Visible == True: + self.thermostatdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 5 and Visible == True: + self.unknowndict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 6 and Visible == True: + self.binarydict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 7 and Visible == True: + self.zoneplayerdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 8 and Visible == True: + self.motiondict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 9 and Visible == True: + self.multileveldict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 10 and Visible == True: + self.lockdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 11 and Visible == True: + self.leveldisplayerdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 12 and Visible == True: + self.testbulbdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 13 and Visible == True: + self.ipcamdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 14 and Visible == True: + self.energymonitordict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 15 and Visible == True: + self.alarmdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 16 and Visible == True: + self.fandict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 17 and Visible == True: + self.colorbulbdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 19 and Visible == True: + self.nestawaydict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 20 and Visible == True: + self.garagedooropenerdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 21 and Visible == True: + self.watersensordict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + if DeviceType == 25 and Visible == True: + self.irrigationdict[Name] = {'name':Name, 'deviceID':DeviceID,'value':CurrLevel,'lastUpdate':LastChange,'type':DeviceType, 'batteryLevel':Battery, 'roomID':RoomID} + + + self.devices = {'Switch':self.switchdict, 'WaterSensor':self.watersensordict, 'Irrigation':self.irrigationdict, 'ColorBulb':self.colorbulbdict, 'Dimmer':self.dimmerdict, 'Outlet':self.outletdict, 'Thermostat':self.thermostatdict, 'Unknown':self.unknowndict, 'Binary':self.binarydict, 'Motion':self.motiondict, 'MultiLevel':self.multileveldict, 'Lock':self.lockdict, 'LevelDisplayer':self.leveldisplayerdict, 'EnergyMonitor':self.energymonitordict, 'Alarm':self.alarmdict, 'Fan':self.fandict, 'NestAwayMode':self.nestawaydict, 'GarageDoorOpener':self.garagedooropenerdict} + + return self.devices + + except TypeError: + return False + + + + def getScenes(self): + url = 'http://' + self.token + '/zwave/getScenes' + payload = { "password": self.password, "sceneName": "", "activate": 1 } + self.scenesdict = {} + + scrape = self.putCmd(url, payload) + parsed_json = json.loads(scrape.content) + + for scene in parsed_json: + visible = scene['mobileVisible'] + + if visible == True: + sceneID = scene['sceneId'] + name = scene['sceneName'] + self.scenesdict[name] = {'sceneID':sceneID} + + return self.scenesdict + + def checkChange(self): + startDict = {} + currDict = {} + startDict = self.startDict + self.getDevices() + currDict = self.devicedict + + diffkeys = [device for device in startDict if startDict[device]['value'] != currDict[device]['value']] + for device in diffkeys: + name = currDict[device]['name'] + value = currDict[device]['value'] + deviceid = currDict[device]['deviceID'] + devicetype = currDict[device]['type'] + changeDict = {} + changeDict = {"value":value, "deviceID":deviceid, "type":devicetype} + self.TriggerEvent(name, changeDict) + + self.startDict = currDict + + def convert_EVTtime(self, devicetime): + dTime = devicetime + convertTime = datetime.strptime(dTime, '%m/%d/%Y %H:%M:%S %p').strftime('%I:%M:%m:%d') + return convertTime + + + def convert_time(self, lastUpdate): + lastUpdate = lastUpdate.split('-') + hroffset = lastUpdate[1].split(')') + lastUpdate = lastUpdate[0].split('(') + lastUpdate = int(lastUpdate[1]) + offset = str(hroffset[0][0])+ str(hroffset[0][1]) + ts = time.time() + + st = datetime.fromtimestamp(ts).strftime('%m/%d/%Y %H:%M:%S %p') + starttime = time.strftime('%m/%d/%Y %H:%M:%S %p', time.localtime(lastUpdate/1000.)) + '08/28/2012 00:45:17 AM' + + convertTime = datetime.strptime(st, '%m/%d/%Y %H:%M:%S %p') - datetime.strptime(starttime, '%m/%d/%Y %H:%M:%S %p') + timedif = str(convertTime) + return timedif + + +### Plugin Actions ### + +class ListLights(eg.ActionBase): + name = "Get Switches" + description = "Returns Switches Dictionary" + + def __call__(self): + items = self.plugin.switchdict + return items + +class ListDimmers(eg.ActionBase): + name = "Get Dimmers" + description = "Returns Dimmers Dictionary" + + def __call__(self): + items = self.plugin.dimmerdict + return items + +class ListOutlets(eg.ActionBase): + name = "Get Outlets" + description = "Returns Outlets Dictionary" + + def __call__(self): + items = self.plugin.outletdict + return items + +class ListLocks(eg.ActionBase): + name = "Get Locks" + description = "Returns Locks Dictionary" + + def __call__(self): + items = self.plugin.lockdict + return items + +class ListLevelDisplayers(eg.ActionBase): + name = "Get Level Displayers" + description = "Returns LevelDisplayers Dictionary" + + def __call__(self): + items = self.plugin.leveldisplayerdict + return items + +class ListMultiLevelSensors(eg.ActionBase): + name = "Get MultiLevel Sensors" + description = "Returns MultiLevelSensors Dictionary" + + def __call__(self): + items = self.plugin.multileveldict + return items + +class ListBinary(eg.ActionBase): + name = "Get Binary Sensors" + description = "Returns Binary Sensors Dictionary" + + def __call__(self): + items = self.plugin.binarydict + return items + +class ListMotion(eg.ActionBase): + name = "Get Motion Sensors" + description = "Returns Motion Sensors Dictionary" + + def __call__(self): + items = self.plugin.motiondict + return items + +class ListEnergyDisplayers(eg.ActionBase): + name = "Get Energy Displayers" + description = "Returns EnergyDisplayers Dictionary" + + def __call__(self): + items = self.plugin.energymonitordict + return items + +class ListGarageDoorOpeners(eg.ActionBase): + name = "Get Garage Door Openers" + description = "Returns Garage Door Openers Dictionary" + + def __call__(self): + items = self.plugin.garagedooropenerdict + return items + +class ListFans(eg.ActionBase): + name = "Get Fans" + description = "Returns Fans Dictionary" + + def __call__(self): + items = self.plugin.fandict + return items + +class ListColorBulb(eg.ActionBase): + name = "Get Color Bulbs" + description = "Returns Colr Bulb Dictionary" + + def __call__(self): + items = self.plugin.colorbulbdict + return items + +class ListIrrigation(eg.ActionBase): + name = "Get Irrigation Controllers" + description = "Returns Irrigation Dictionary" + + def __call__(self): + items = self.plugin.irrigationdict + return items + +class ListWaterSensor(eg.ActionBase): + name = "Get Water Sensors" + description = "Returns Water Sensor Dictionary" + + def __call__(self): + items = self.plugin.watersensordict + return items + +class ListNestHomeAway(eg.ActionBase): + name = "Get Nest Home/Away" + description = "Returns Nest Home/Away Mode Dictionary" + + def __call__(self): + items = self.plugin.nestawaydict + return items + +class ListThermostat(eg.ActionBase): + name = "Get Thermostat" + description = "Returns Thermostat Dictionary" + + def __call__(self): + items = self.plugin.thermostatdict + return items + +class ListAllDevices(eg.ActionBase): + name = "Get All Devices" + description = "Returns All Devices Dictionary" + + def __call__(self): + + cmd = self.plugin.getDevices() + items = self.plugin.devicedict + + return items + +class GetSingleDevice(eg.ActionBase): + name = "Get Single Device" + description = "Returns a Single Device" + + class text: + label_tree="Get Device: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + cmd = self.plugin.getDevices() + items = self.plugin.devicedict[deviceName] + + return items + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName = ''): + panel = eg.ConfigPanel() + + deviceDict = self.plugin.devicedict + deviceNameChoices = sorted(deviceDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = deviceDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Device", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + deviceDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class ListScenes(eg.ActionBase): + name = "Get Scenes" + description = "Returns Scenes Dictionary" + + def __call__(self): + + a = self.plugin.getScenes() + scenes = self.plugin.scenesdict + + return scenes + +class TurnSwitchOn(eg.ActionBase): + name = "Turn On Switch" + description = "Sets Selected Switch to On" + + class text: + label_tree="Turn Light Switch On: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "true" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName = ''): + panel = eg.ConfigPanel() + + switchDict = self.plugin.switchdict + deviceNameChoices = sorted(switchDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = switchDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Switch", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + switchDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class TurnSwitchOff(eg.ActionBase): + name = "Turn Off Switch" + description = "Sets Selected Switch to Off" + + class text: + label_tree="Turn Light Switch Off: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "false" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, device, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName = ''): + panel = eg.ConfigPanel() + + switchDict = self.plugin.switchdict + deviceNameChoices = sorted(switchDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = switchDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Switch", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + switchDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class ToggleSwitch(eg.ActionBase): + name = "Toggle Switch" + description = "Toggles Selected Switch On/Off" + + class text: + label_tree="Toggle Light Switch: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + cmd = self.plugin.getDevices() + + state = self.plugin.switchdict[deviceName]['value'] + if state == "255": + powered = "false" + else: + powered = "true" + + payload = { "password": self.plugin.password, "deviceId": device, "powered": powered } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName ): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName='', value=''): + panel = eg.ConfigPanel() + + switchDict = self.plugin.switchdict + deviceNameChoices = sorted(switchDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = switchDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Switch", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + switchDict[deviceNameCtrl.GetStringSelection()]['deviceID'], + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class TurnOutletOn(eg.ActionBase): + name = "Turn On Outlet" + description = "Sets Selected Outlet to On" + + class text: + label_tree="Turn Outlet On: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "true" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName=''): + panel = eg.ConfigPanel() + + outletDict = self.plugin.outletdict + deviceNameChoices = sorted(outletDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = outletDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Outlet", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + outletDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class TurnOutletOff(eg.ActionBase): + name = "Turn Off Outlet" + description = "Sets Selected Outlet to Off" + + class text: + label_tree="Turn Outlet Off: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "false" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName=''): + panel = eg.ConfigPanel() + + outletDict = self.plugin.outletdict + deviceNameChoices = sorted(outletDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = outletDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Outlet", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + outletDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class ToggleOutlet(eg.ActionBase): + name = "Toggle Outlet" + description = "Toggles Selected Outlet On/Off" + + class text: + label_tree="Toggle Outlet: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + cmd = self.plugin.getDevices() + + state = self.plugin.outletdict[deviceName]['value'] + if state == "255": + powered = "false" + else: + powered = "true" + + payload = { "password": self.plugin.password, "deviceId": device, "powered": powered } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName ): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName='', value=''): + panel = eg.ConfigPanel() + + outletDict = self.plugin.outletdict + deviceNameChoices = sorted(outletDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = outletDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Switch", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + outletDict[deviceNameCtrl.GetStringSelection()]['deviceID'], + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class OpenGarageDoor(eg.ActionBase): + name = "Open Garage Door" + description = "Opens Selected Garage Door" + + class text: + label_tree="Open Garage Door: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "true" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName=''): + panel = eg.ConfigPanel() + + garagedooropenerDict = self.plugin.garagedooropenerdict + deviceNameChoices = sorted(garagedooropenerDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = garagedooropenerDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Garage Door", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + garagedooropenerDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class CloseGarageDoor(eg.ActionBase): + name = "Close Garage Door" + description = "Closes Selected Garage Door" + + class text: + label_tree="Close Garage Door: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "false" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName=''): + panel = eg.ConfigPanel() + + garagedooropenerDict = self.plugin.garagedooropenerdict + deviceNameChoices = sorted(garagedooropenerDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = garagedooropenerDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Garage Door", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + garagedooropenerDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class UnLockDoor(eg.ActionBase): + name = "UnLock Door" + description = "UnLocks Selected Door" + + class text: + label_tree="UnLock Door: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "false" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName=''): + panel = eg.ConfigPanel() + + lockDict = self.plugin.lockdict + deviceNameChoices = sorted(lockDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = lockDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Lock", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + lockDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class LockDoor(eg.ActionBase): + name = "Lock Door" + description = "Locks Selected Door" + + class text: + label_tree="Lock Door: " + label_conf="Device Name" + + def __call__(self, device, deviceName): + url = 'http://' + self.plugin.token + '/zwave/setDevicePower' + payload = { "password": self.plugin.password, "deviceId": device, "powered": "true" } + + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, deviceID, deviceName): + return self.text.label_tree+deviceName + + def Configure(self, deviceID="Device ID", deviceName=''): + panel = eg.ConfigPanel() + + lockDict = self.plugin.lockdict + deviceNameChoices = sorted(lockDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = lockDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + + deviceBox = panel.BoxedGroup( + "Choose Lock", + ("Name: ", deviceNameCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + lockDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class ActivateScene(eg.ActionBase): + name = "Activate Scene" + description = "Activates Selected AxialControl Scene" + + class text: + label_tree="Activate Scene: " + label_conf="Scene Name" + + def __call__(self, scene): + url = 'http://' + self.plugin.token + '/zwave/activateScene' + payload = { "password": self.plugin.password, "sceneName": scene, "activate": 1 } + send = self.plugin.putCmd(url, payload) + + def GetLabel(self, scene): + return self.text.label_tree+scene + + def Configure(self, scene="Scene Name"): + panel = eg.ConfigPanel() + try: + self.plugin.getScenes() + except requests.ConnectionError: + pass + keyChoicesList = sorted(self.plugin.scenesdict.keys()) + if keyChoicesList: + keySelection = keyChoicesList[0] + choiceKeyCtrl = panel.Choice(keyChoicesList.index(keySelection), keyChoicesList) + else: + choiceKeyCtrl = panel.Choice(0, []) + + panel.AddLine("Select Scene: ", choiceKeyCtrl) + while panel.Affirmed(): + panel.SetResult( + choiceKeyCtrl.GetStringSelection() + ) + +class SetDimmerLevel(eg.ActionBase): + name = "Set Dimmer Level" + description = "Sets Selected Dimmer to Selected Value" + + class text: + label_tree="Set Dimmer Switch Level: " + label_conf="Device Name" + + def __call__(self, device, deviceValue, deviceName): + if deviceValue == 0: + powered = "False" + else: + powered = "True" + self.adress = 'http://' + self.plugin.token + '/zwave/setDeviceState?NODEID=' + device + '&Powered=' + powered + '&Level=' + str(deviceValue) + '&Password=' + self.plugin.password + r = self.plugin.getCmd(self.adress) + + def GetLabel(self, deviceID, deviceValue, deviceName): + return self.text.label_tree+deviceName+' '+str(deviceValue)+'%' + + def Configure(self, deviceID="Device ID", deviceValue=66, deviceName=''): + panel = eg.ConfigPanel() + + dimmerDict = self.plugin.dimmerdict + deviceNameChoices = sorted(dimmerDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = dimmerDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + deviceValueCtrl = panel.SpinIntCtrl( + deviceValue, + max=100, + ) + + deviceBox = panel.BoxedGroup( + "Choose Dimmer Switch", + ("Name: ", deviceNameCtrl), + ("Value: ", deviceValueCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + dimmerDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceValueCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) + +class SetThermostatLevel(eg.ActionBase): + name = "Set Thermostat Level" + description = "Sets Selected Thermostat to Selected Value in Degrees" + + class text: + label_tree="Set Thermostat Level: " + label_conf="Device Name" + + def __call__(self, device, deviceValue, deviceName): + self.adress = 'http://' + self.plugin.token + '/zwave/thermoSetPoint?NODEID=' + device + '&setPointName=' + "heating1" + '&temperatureValue=' + str(deviceValue) + '&Password=' + self.plugin.password + r = self.plugin.getCmd(self.adress) + + def GetLabel(self, deviceID, deviceValue, deviceName): + return self.text.label_tree+deviceName+' '+str(deviceValue)+'%' + + def Configure(self, deviceID="Device ID", deviceValue=66, deviceName=''): + panel = eg.ConfigPanel() + + thermostatDict = self.plugin.thermostatdict + deviceNameChoices = sorted(thermostatDict.keys()) + + if deviceName in deviceNameChoices: + deviceSelection = deviceNameChoices.index(deviceName) + deviceName = thermostatDict[deviceName]['deviceID'] + else: + deviceSelection = 0 + + deviceNameCtrl = panel.Choice( + deviceSelection, + deviceNameChoices + ) + deviceIDCtrl = panel.TextCtrl(deviceName) + deviceValueCtrl = panel.SpinIntCtrl( + deviceValue, + max=100, + ) + + deviceBox = panel.BoxedGroup( + "Choose Thermostat", + ("Name: ", deviceNameCtrl), + ("Value: ", deviceValueCtrl), + (deviceIDCtrl) + ) + + def OnChoice(event): + deviceIDCtrl.SetValue( + thermostatDict[deviceNameCtrl.GetStringSelection()]['deviceID'] + ) + event.Skip() + deviceNameCtrl.Bind(wx.EVT_CHOICE, OnChoice) + + eg.EqualizeWidths(tuple(deviceBox.GetColumnItems(0))) + panel.sizer.Add(deviceBox, 0, wx.EXPAND | wx.ALL, 10) + deviceIDCtrl.Hide() + + while panel.Affirmed(): + panel.SetResult( + deviceIDCtrl.GetValue(), + deviceValueCtrl.GetValue(), + deviceNameCtrl.GetStringSelection() + ) diff --git a/plugins/Billy/__init__.py b/plugins/Billy/__init__.py index 4b5ddb2e2..8460ac388 100644 --- a/plugins/Billy/__init__.py +++ b/plugins/Billy/__init__.py @@ -394,9 +394,7 @@ def OnButton(self, event): colourData = colourDlg.GetColourData() colour=colourData.GetColour().Get() self.SetValue(colour) - listBoxCtrl = event.GetEventObject().GetParent().GetSizer().\ - GetChildren()[0].GetSizer().GetChildren()[0].GetSizer().\ - GetChildren()[0].GetSizer().GetChildren()[1].GetWindow() + listBoxCtrl = self.FindWindowByName('listBox') btnId = event.GetId() if btnId == 1: listBoxCtrl.SetBackgroundColour(colour) @@ -416,8 +414,8 @@ def GetValue(self): def SetValue(self, value): self.value = value w, h = self.GetSize() - image = wx.EmptyImage(w-10, h-10) - image.SetRGBRect((1, 1, w-12, h-12), *value) + image = wx.Image(w-10, h-10) + image.SetRGB((1, 1, w-12, h-12), *value[:3]) self.SetBitmapLabel(image.ConvertToBitmap()) #=============================================================================== @@ -451,24 +449,22 @@ def __init__( def OnButton(self, event): data = wx.FontData() if self.fontInfo is not None: - font = wx.FontFromNativeInfoString(self.fontInfo) + font = wx.Font(self.fontInfo) data.SetInitialFont(font) else: data.SetInitialFont( - wx.SystemSettings_GetFont(wx.SYS_ANSI_VAR_FONT ) + wx.SystemSettings.GetFont(wx.SYS_ANSI_VAR_FONT ) ) dlg = wx.FontDialog(self.window, data) if dlg.ShowModal() == wx.ID_OK: data = dlg.GetFontData() font = data.GetChosenFont() - listBoxCtrl = event.GetEventObject().GetParent().GetSizer().\ - GetChildren()[0].GetSizer().GetChildren()[0].GetSizer().\ - GetChildren()[0].GetSizer().GetChildren()[1].GetWindow() + listBoxCtrl = self.FindWindowByName('listBox') for n in range(10,20): font.SetPointSize(n) listBoxCtrl.SetFont(font) - if listBoxCtrl.GetTextExtent('X')[1]>20: + if listBoxCtrl.GetFullTextExtent('X')[1]>20: break self.fontInfo = data.GetChosenFont().GetNativeFontInfo().\ ToString() @@ -533,7 +529,7 @@ def __call__( font.SetPointSize(36) fontInfo = font.GetNativeFontInfoDesc() else: - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) favChoiceCtrl.SetFont(font) # menu height calculation: h=favChoiceCtrl.GetCharHeight() @@ -543,13 +539,13 @@ def __call__( # menu width calculation: width_lst=[] for item in choices: - width_lst.append(favChoiceCtrl.GetTextExtent(item+' ')[0]) + width_lst.append(favChoiceCtrl.GetFullTextExtent(item+' ')[0]) width = max(width_lst)+8 if height < height0: width += 20 #for vertical scrollbar width = min((width,GetSystemMetrics (0)-50)) self.plugin.menuDlg.SetSize((width+6,height+6)) - favChoiceCtrl.SetDimensions(2,2,width,height,wx.SIZE_AUTO) + favChoiceCtrl.SetSize(2, 2, width, height, wx.SIZE_AUTO) mainSizer =wx.BoxSizer(wx.VERTICAL) self.plugin.menuDlg.SetSizer(mainSizer) favChoiceCtrl.SetSelection(0) @@ -614,15 +610,25 @@ def Configure( folder = False, dirpath = "" ): - -# class MyDirBrowseButton(eg.DirBrowseButton): -# def GetTextCtrl(self): # now I can make build-in textCtrl non-editable !!! -# return self.textControl # + global panel + panel = eg.ConfigPanel(self) dir = self.plugin.BillyPath+'\\Favorites' if not os.path.exists(dir): - self.PrintError(self.text.dir_err) + panel.sizer.Add(panel.StaticText(self.text.dir_err)) + panel.sizer.Add(panel.StaticText(dir)) + while panel.Affirmed(): + panel.SetResult( + fore, + back, + fontInfo, + play, + force, + folder, + dirpath, + ) return + # files = os.listdir(dir) if not os.path.exists(dirpath): dirpath = dir @@ -633,14 +639,11 @@ def Configure( choices.append(item[:-4]) choices.sort() self.plugin.favList = choices # - self.fore = fore self.back = back self.oldSel=0 - #Controls - global panel - panel = eg.ConfigPanel(self) + #Controls previewLbl=wx.StaticText(panel, -1, self.text.menuPreview) #Font button fontLbl=wx.StaticText(panel, -1, self.text.menuFont) @@ -659,9 +662,9 @@ def Configure( back, self.text.background ) - w1 = panel.GetTextExtent(self.text.menuFont)[0] - w2 = panel.GetTextExtent(self.text.txtColour+':')[0] - w3 = panel.GetTextExtent(self.text.background+':')[0] + w1 = panel.GetFullTextExtent(self.text.menuFont)[0] + w2 = panel.GetFullTextExtent(self.text.txtColour+':')[0] + w3 = panel.GetFullTextExtent(self.text.background+':')[0] w = max(w1,w2,w3) listBoxCtrl=wx.ListBox( panel,-1, @@ -675,11 +678,11 @@ def Configure( font.SetPointSize(36) fontInfo = font.GetNativeFontInfoDesc() else: - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) for n in range(10,20): font.SetPointSize(n) listBoxCtrl.SetFont(font) - if listBoxCtrl.GetTextExtent('X')[1]>20: + if listBoxCtrl.GetFullTextExtent('X')[1]>20: break playCtrl = wx.CheckBox(panel, -1, ' '+self.text.play_label) playCtrl.SetValue(play) @@ -701,7 +704,7 @@ def Configure( dirpathCtrl.SetValue(dirpath) box = wx.StaticBox(panel,-1,self.text.radioPath) - #Sizers + #Sizers mainSizer=wx.BoxSizer(wx.VERTICAL) topSizer = wx.BoxSizer(wx.HORIZONTAL) leftSizer = wx.BoxSizer(wx.VERTICAL) @@ -729,7 +732,7 @@ def Configure( mainSizer.Add(playCtrl,0,wx.TOP,10) mainSizer.Add(forceCtrl,0,wx.TOP,8) - #Events handling + #Events handling def OnRadioButton(event=None): flag = rb2.GetValue() dirpathCtrl.Enable(flag) @@ -768,8 +771,7 @@ def OnButton(event): self.testFlag = True event.Skip() panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, OnButton) - - #On close panel + #On close panel while panel.Affirmed(): panel.SetResult( foreColourButton.GetValue(), diff --git a/plugins/Broadcaster/__init__.py b/plugins/Broadcaster/__init__.py index 902122f2d..fc5c650f9 100644 --- a/plugins/Broadcaster/__init__.py +++ b/plugins/Broadcaster/__init__.py @@ -213,7 +213,7 @@ def bcastSend(self, eventString, payload="", port=0): UDPSock.close() - def Configure(self, command="", payload="", port=""): + def Configure(self, command="", payload="", port=65000): text = self.text panel = eg.ConfigPanel(self) diff --git a/plugins/CoreAudio/__init__.py b/plugins/CoreAudio/__init__.py new file mode 100644 index 000000000..f131f764c --- /dev/null +++ b/plugins/CoreAudio/__init__.py @@ -0,0 +1,2495 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +import eg + +pyWinCoreAudio = __import__('pyWinCoreAudio') + +eg.RegisterPlugin( + name=u'Core Audio', + author=u'K', + version=u'0.1a', + description=u'', + kind=u'other', + canMultiLoad=False, + createMacrosOnAdd=False, + guid=u'{0FA5977B-8C04-408C-AC2D-947FE2BD7666}', + icon=None +) + +import wx # NOQA +import threading # NOQA +from eg.WinApi import SoundMixer # NOQA + + +class Text(eg.TranslatableStrings): + # add variables with string that you want to be able to have translated + # using the language editor in here + + class GetMasterVolume: + name = 'Get Master Volume' + description = 'Gets the master volume level.' + + class SetMasterVolume: + name = 'Set Master Volume' + description = 'Sets the master volume level.' + + class GetEndpointVolume: + name = 'Get Endpoint Volume' + description = 'Gets the volume level for a given endpoint.' + + class SetEndpointVolumeAbsolute: + name = 'Set Endpoint Volume Absolute' + description = 'Sets the volume level for a given endpoint.' + + class SetEndpointVolumeRelative: + name = 'Set Endpoint Volume Relative' + description = 'Sets the volume level +- the supplied amount.' + + class GetChannelVolume: + name = 'Get Channel Volume' + description = ( + 'Gets the volume for a single channel on a given endpoint.' + ) + + class SetChannelVolumeAbsolute: + name = 'Set Channel Volume Absolute' + description = ( + 'Sets the volume for a single channel on a given endpoint.' + ) + + class SetChannelVolumeRelative: + name = 'Set Channel Volume Relative' + description = ( + 'Sets the volume for a single channel level +- the supplied amount.' + ) + + class IsPlaying: + name = 'IsPlaying' + description = 'Checks is there is audio output on a given endpoint.' + + +class Callbacks: + + def __init__(self, plugin): + self.plugin = plugin + self.__sessions = dict() + self.__endpoints = dict() + self.__default_endpoints = dict() + self.__registered_endpoints = dict() + self.__volume_lock = threading.Lock() + + pyWinCoreAudio.AudioDevices.register_notification_callback(self) + + for device in pyWinCoreAudio.AudioDevices: + self.__map_device(device) + + def __map_device(self, device): + self.__registered_endpoints[device] = [] + for endpoint in device: + if endpoint.is_default: + if endpoint.data_flow not in self.__default_endpoints: + self.__default_endpoints[endpoint.data_flow] = None + + old_default = self.__default_endpoints[endpoint.data_flow] + + if old_default is None or old_default.id != endpoint.id: + self.__default_endpoints[endpoint.data_flow] = endpoint + self.plugin.TriggerEvent( + u'{0}.{1}.Default.{2}'.format( + device.name, + self.__format_endpoint_name(endpoint), + endpoint.data_flow + ), + endpoint + ) + try: + volume = endpoint.volume + channels = volume.channels + volume.register_notification_callback(self) + self.__endpoints[endpoint] = dict( + vol=volume.master_scalar, + mute=volume.mute, + channels={ + i: channels[i].level_scalar + for i in range(channels.count) + } + ) + + except AttributeError: + pass + self.__registered_endpoints[device] += [endpoint] + for session in endpoint: + session.register_notification_callback(self) + # self.__sessions[session] = dict(vol=session.volume.master_scalar, mute=session.volume.mute) + try: + endpoint.session_manager.register_notification_callback( + self + ) + except AttributeError: + pass + + @staticmethod + def __format_endpoint_name(endpoint): + return endpoint.name.replace( + '(' + endpoint.device.name + ')', + '' + ).strip() + + def session_created(self, session): + endpoint = session.session_manager.endpoint + device = endpoint.device + self.plugin.TriggerEvent( + u'{0}.{1}.Session.{2}.Created'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name + ), + session + ) + session.register_notification_callback(self) + # self.__sessions[session] = dict(vol=session.volume.master_scalar, mute=session.volume.mute) + + def session_name_changed(self, session, _): + endpoint = session.session_manager.endpoint + device = endpoint.device + + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.NameChanged'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name + ), + session + ) + + def session_grouping_changed(self, session, _): + endpoint = session.session_manager.endpoint + device = endpoint.device + + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.GroupChanged'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name + ), + session + ) + + def session_icon_path_changed(self, session, _): + endpoint = session.session_manager.endpoint + device = endpoint.device + + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.IconChanged'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name + ), + session + ) + + def session_disconnect( + self, + endpoint, + name, + id, + disconnect_reason + ): + device = endpoint.device + + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.Disconnected'.format( + device.name, + self.__format_endpoint_name(endpoint), + name + ), + disconnect_reason + ) + + def session_volume_changed(self, session, new_vol, new_mute): + endpoint = session.session_manager.endpoint + device = endpoint.device + + if session not in self.__sessions: + self.__sessions[session] = dict(vol=None, mute=None) + + old_vol = self.__sessions[session]['vol'] + old_mute = self.__sessions[session]['mute'] + + if old_vol != new_vol: + self.__sessions[session]['vol'] = new_vol + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.Volume.{3:.4f}'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name, + new_vol * 100.0 + ), + session + ) + if old_mute != new_mute: + self.__sessions[session]['mute'] = new_mute + if new_mute: + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.MuteOn'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name + ), + session + ) + else: + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.MuteOff'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name + ), + session + ) + + def session_state_changed(self, session, state): + endpoint = session.session_manager.endpoint + device = endpoint.device + + if state == 'Active': + state = 'AudioPlayback.Started' + + elif state == 'Inactive': + state = 'AudioPlayback.Stopped' + + else: + state = 'State.' + state + + self.plugin.TriggerEvent( + u'{0}.{1}.{2}.{3}'.format( + device.name, + self.__format_endpoint_name(endpoint), + session.name, + state + ), + session + ) + + def endpoint_volume_change( + self, + endpoint, + new_vol, + new_channels, + new_mute + ): + + if endpoint not in self.__endpoints: + self.__endpoints[endpoint] = dict( + vol=None, + mute=None, + channels=[None] * 8 + ) + + old_endpoint = self.__endpoints[endpoint] + old_mute = old_endpoint['mute'] + old_vol = old_endpoint['vol'] + old_channels = old_endpoint['channels'] + + if new_vol > old_vol: + vol_diff = new_vol - old_vol + else: + vol_diff = old_vol + + if old_mute != new_mute: + old_endpoint['mute'] = new_mute + if new_mute: + self.plugin.TriggerEvent( + u'{0}.{1}.MuteOn'.format( + endpoint.device.name, + self.__format_endpoint_name(endpoint), + ), + endpoint + ) + else: + self.plugin.TriggerEvent( + u'{0}.{1}.MuteOff'.format( + endpoint.device.name, + self.__format_endpoint_name(endpoint), + ), + endpoint + ) + + equal_channels = [] + unequal_channels = [] + + for channel_num, channel_vol in enumerate(new_channels): + if channel_num not in old_channels: + old_channels[channel_num] = 0 + + if ( + round(channel_vol, 4) == + round(old_channels[channel_num], 4) + ): + continue + + if round(new_vol, 4) - round(channel_vol, 4) == 0: + equal_channels += [channel_num] + + elif ( + round(new_vol, 4) - round(vol_diff, 4) == + round(channel_vol, 4) + ): + equal_channels += [channel_num] + + else: + unequal_channels += [channel_num] + + old_channels[channel_num] = channel_vol + + if old_vol != new_vol: + old_endpoint['vol'] = new_vol + if len(equal_channels) == 1: + channel_num = equal_channels[0] + channel_vol = new_channels[channel_num] + + self.plugin.TriggerEvent( + u'{0}.{1}.Channel.{2}.Volume.{3:.4f}'.format( + endpoint.device.name, + self.__format_endpoint_name(endpoint), + channel_num, + channel_vol * 100.0 + ), + endpoint + ) + + self.plugin.TriggerEvent( + u'{0}.{1}.Volume.{2:.4f}'.format( + endpoint.device.name, + self.__format_endpoint_name(endpoint), + new_vol * 100.0 + ), + endpoint + ) + + elif len(unequal_channels) == 1: + channel_num = unequal_channels[0] + channel_vol = new_channels[channel_num] + + self.plugin.TriggerEvent( + u'{0}.{1}.Channel.{2}.Volume.{3:.4f}'.format( + endpoint.device.name, + self.__format_endpoint_name(endpoint), + channel_num, + channel_vol * 100.0 + ), + endpoint + ) + + def device_state_change(self, device, state): + self.plugin.TriggerEvent( + u'{0}.State.{1}'.format( + device.name, + state + ), + device + ) + + def device_added(self, device): + self.__map_device(device) + + self.plugin.TriggerEvent( + u'Device.{0}.Added'.format(device.name), + device + ) + + def device_removed(self, device): + for endpoint in self.__registered_endpoints[device]: + del(self.__endpoints[endpoint]) + + del(self.__registered_endpoints[device]) + self.plugin.TriggerEvent(u'Device.{0}.Removed'.format(device.name)) + + def default_endpoint_changed(self, device): + for endpoint in device: + if endpoint.is_default: + old_default = self.__default_endpoints[endpoint.data_flow] + if old_default is None or old_default.id != endpoint.id: + self.__default_endpoints[endpoint.data_flow] = endpoint + self.plugin.TriggerEvent( + u'{0}.{1}.Default.{2}'.format( + device.name, + self.__format_endpoint_name(endpoint), + endpoint.data_flow + ), + endpoint + ) + + def device_property_changed(self, device, key): + # print 'device property changed' + # print ' device name:', device.name + # print ' key:', key.fmtid, key.pid + # print + # print + pass + + +class CoreAudio(eg.PluginBase): + text = Text + + def __init__(self): + eg.PluginBase.__init__(self) + + self.AddAction(GetEndpointVolume) + self.AddAction(SetEndpointVolumeAbsolute) + self.AddAction(SetEndpointVolumeRelative) + self.AddAction(GetSessionVolume) + self.AddAction(GetEndpointChannelVolume) + self.AddAction(SetEndpointChannelVolumeAbsolute) + self.AddAction(SetEndpointChannelVolumeRelative) + self.AddAction(IsDeviceActive) + self.AddAction(GetEndpointMute) + self.AddAction(SetEndpointMute) + self.AddAction(ToggleEndpointMute) + self.AddAction(IsPlaybackEndpointActive) + self.AddAction(IsDefaultPlaybackEndpoint) + self.AddAction(GetDefaultPlaybackEndpoint) + self.AddAction(SetDefaultPlaybackEndpoint) + self.AddAction(IsDefaultRecordingEndpoint) + self.AddAction(GetDefaultRecordingEndpoint) + self.AddAction(SetDefaultRecordingEndpoint) + + def __start__(self): + self.callbacks = Callbacks(self) + + def __close__(self): + pass + + def __stop__(self): + pass + + +class DevicePanel(wx.Panel): + + def __init__(self, parent, use_defaults=True): + wx.Panel.__init__(self, parent, -1) + self._devices = sorted( + iter(pyWinCoreAudio.AudioDevices), + key=lambda x: x.name + ) + + choices = ( + ['Default Playback Device', 'Default Recording Device'] + + list(device.name for device in self._devices) + ) + self._devices = [ + 'Default Playback Device', + 'Default Recording Device' + ] + self._devices + + if not use_defaults: + choices = choices[2:] + self._devices = self._devices[2:] + + self.device_ctrl = wx.Choice( + self, + -1, + choices=choices + ) + + bottom_sizer = wx.BoxSizer(wx.VERTICAL) + + def create_widgets(txt): + st = wx.StaticText(self, -1, txt) + ctrl = wx.StaticText(self, -1, ' ' * 20) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(st, 0, wx.ALL, 5) + sizer.Add(ctrl, 0, wx.ALL, 5) + bottom_sizer.Add(sizer) + return ctrl + + self.connector_ctrl = create_widgets('Connector Count:') + self.state_ctrl = create_widgets('State:') + + self.device_ctrl.Bind(wx.EVT_CHOICE, self.on_choice) + + main_sizer = wx.BoxSizer(wx.VERTICAL) + + main_sizer.Add(self.device_ctrl, 1, wx.EXPAND | wx.ALL, 15) + main_sizer.Add(bottom_sizer) + self.SetSizer(main_sizer) + + def set_selection(self, value): + self.device_ctrl.SetSelection(value) + self.on_choice() + + def set_string_selection(self, value): + self.device_ctrl.SetStringSelection(value) + self.on_choice() + + def get_string_selection(self): + return self.device_ctrl.GetStringSelection() + + def on_choice(self, evt=None): + selection = self.device_ctrl.GetSelection() + device = self._devices[selection] + + if device in ('Default Playback Device', 'Default Recording Device'): + self.connector_ctrl.SetLabel('') + self.state_ctrl.SetLabel('') + else: + self.connector_ctrl.SetLabel(unicode(device.connector_count)) + self.state_ctrl.SetLabel(unicode(device.state)) + + if evt is not None: + evt.Skip() + + def get_device(self): + selection = self.device_ctrl.GetSelection() + device = self._devices[selection] + return device + + +class EndpointPanel(wx.Panel): + + def __init__(self, parent): + self._endpoints = [] + self._flow = 'All' + wx.Panel.__init__(self, parent, -1) + self.endpoint_ctrl = wx.Choice(self, -1, choices=[]) + + bottom_sizer = wx.BoxSizer(wx.VERTICAL) + + def create_widgets(txt): + st = wx.StaticText(self, -1, txt) + ctrl = wx.StaticText(self, -1, ' ' * 20) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(st, 0, wx.ALL, 5) + sizer.Add(ctrl, 0, wx.ALL, 5) + bottom_sizer.Add(sizer) + return ctrl + + self.description_ctrl = create_widgets('Description:') + self.data_flow_ctrl = create_widgets('Flow:') + self.form_factor_ctrl = create_widgets('Type:') + self.full_speaker_ctrl = create_widgets('Full Range Speakers:') + self.guid_ctrl = create_widgets('GUID:') + self.physical_speaker_ctrl = create_widgets('Physical Speakers:') + self.effects_ctrl = create_widgets('System Effects:') + + self.endpoint_ctrl.Bind(wx.EVT_CHOICE, self.on_choice) + + main_sizer = wx.BoxSizer(wx.VERTICAL) + + main_sizer.Add(self.endpoint_ctrl, 1, wx.EXPAND | wx.ALL, 15) + main_sizer.Add(bottom_sizer) + self.SetSizer(main_sizer) + + def set_flow(self, flow): + self._flow = flow + + def set_endpoints(self, device): + + if device in ('Default Playback Device', 'Default Recording Device'): + self._endpoints = [] + self.endpoint_ctrl.Clear() + self.description_ctrl.SetLabel('') + self.data_flow_ctrl.SetLabel('') + self.form_factor_ctrl.SetLabel('') + self.full_speaker_ctrl.SetLabel('') + self.guid_ctrl.SetLabel('') + self.physical_speaker_ctrl.SetLabel('') + self.effects_ctrl.SetLabel('') + + else: + + self._endpoints = sorted(iter(device), key=lambda x: x.name) + + if self._flow != 'All': + self._endpoints = list( + endpoint for endpoint in self._endpoints + if endpoint.data_flow == self._flow + ) + + self.endpoint_ctrl.Clear() + self.endpoint_ctrl.AppendItems( + list(endpoint.name for endpoint in self._endpoints) + ) + + def set_selection(self, value): + if value is not None: + self.endpoint_ctrl.SetSelection(value) + self.on_choice() + + def set_string_selection(self, value): + if value is not None: + self.endpoint_ctrl.SetStringSelection(value) + self.on_choice() + + def get_string_selection(self): + if self.endpoint_ctrl.GetItems(): + return self.endpoint_ctrl.GetStringSelection() + else: + return None + + def on_choice(self, evt=None): + + selection = self.endpoint_ctrl.GetSelection() + endpoint = self._endpoints[selection] + + self.description_ctrl.SetLabel(unicode(endpoint.description)) + self.data_flow_ctrl.SetLabel(unicode(endpoint.data_flow)) + self.form_factor_ctrl.SetLabel(unicode(endpoint.form_factor)) + self.full_speaker_ctrl.SetLabel(unicode(endpoint.full_range_speakers)) + self.guid_ctrl.SetLabel(unicode(endpoint.guid)) + self.physical_speaker_ctrl.SetLabel(unicode(endpoint.physical_speakers)) + self.effects_ctrl.SetLabel(unicode(endpoint.system_effects)) + + if evt is not None: + evt.Skip() + + def get_endpoint(self): + if self.endpoint_ctrl.GetItems(): + selection = self.endpoint_ctrl.GetSelection() + endpoint = self._endpoints[selection] + return endpoint + + +class SessionPanel(wx.Panel): + + def __init__(self, parent): + self._sessions = [] + wx.Panel.__init__(self, parent, -1) + self.session_ctrl = wx.Choice(self, -1, choices=[]) + + bottom_sizer = wx.BoxSizer(wx.VERTICAL) + + def create_widgets(txt): + st = wx.StaticText(self, -1, txt) + ctrl = wx.StaticText(self, -1, ' ' * 20) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(st, 0, wx.ALL, 5) + sizer.Add(ctrl, 0, wx.ALL, 5) + bottom_sizer.Add(sizer) + return ctrl + + self.state_ctrl = create_widgets('State:') + + self.session_ctrl.Bind(wx.EVT_CHOICE, self.on_choice) + + main_sizer = wx.BoxSizer(wx.VERTICAL) + + main_sizer.Add(self.session_ctrl, 1, wx.EXPAND | wx.ALL, 15) + main_sizer.Add(bottom_sizer) + self.SetSizer(main_sizer) + + def set_sessions(self, endpoint): + self.session_ctrl.Clear() + if endpoint is None: + del self._sessions[:] + else: + self._sessions = sorted(iter(endpoint), key=lambda x: x.name) + for session in self._sessions: + print session.id + print session.process_id + print session.instance_id + self.session_ctrl.AppendItems( + list(session.name for session in self._sessions) + ) + + def set_selection(self, value): + if self.session_ctrl.GetItems(): + self.session_ctrl.SetSelection(value) + self.on_choice() + + def set_string_selection(self, value): + if self.session_ctrl.GetItems(): + self.session_ctrl.SetStringSelection(value) + self.on_choice() + + def get_string_selection(self): + if self.session_ctrl.GetItems(): + return self.session_ctrl.GetStringSelection() + else: + return '' + + def on_choice(self, evt=None): + + selection = self.session_ctrl.GetSelection() + session = self._sessions[selection] + + self.state_ctrl.SetLabel(unicode(session.state)) + if evt is not None: + evt.Skip() + + def get_session(self): + if self.session_ctrl.GetItems(): + selection = self.session_ctrl.GetSelection() + session = self._sessions[selection] + return session + + +def _re_range(val, min_value, max_value): + return val * ((max_value - min_value) / 100.0) + + +class VolumeInfoCtrl(wx.Panel): + + def __init__(self, parent): + + wx.Panel.__init__(self, parent, -1) + + main_sizer = wx.BoxSizer(wx.VERTICAL) + + def create_widgets(txt): + st = wx.StaticText(self, -1, txt) + ctrl = wx.StaticText(self, -1, ' ' * 40) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(st, 0, wx.ALL, 5) + sizer.Add(ctrl, 1, wx.ALL, 5) + main_sizer.Add(sizer) + return ctrl + + self.scalar_volume_ctrl = create_widgets('Scalar Volume:') + self.scalar_min_ctrl = create_widgets('Scalar Min:') + self.scalar_max_ctrl = create_widgets('Scalar Max:') + self.scalar_step_ctrl = create_widgets('Scalar Step:') + main_sizer.AddSpacer(1) + self.db_volume_ctrl = create_widgets('dB Volume:') + self.db_min_ctrl = create_widgets('db Min:') + self.db_max_ctrl = create_widgets('db Max:') + self.db_step_ctrl = create_widgets('db Step:') + + self.SetSizer(main_sizer) + + def set_endpoint(self, endpoint): + if endpoint: + volume = endpoint.volume + + db_min = volume.min + db_max = volume.max + db_step = volume.step + scalar_min = 0.0 + scalar_max = 100.0 + scalar_step = _re_range(db_step, db_min, db_max) + + scalar = volume.master_scalar * 100.0 + db = volume.master + + self.scalar_volume_ctrl.SetLabel(u'{0:.4f}'.format(scalar)) + self.scalar_min_ctrl.SetLabel(u'{0:.4f}'.format(scalar_min)) + self.scalar_max_ctrl.SetLabel(u'{0:.4f}'.format(scalar_max)) + self.scalar_step_ctrl.SetLabel(u'{0:.4f}'.format(scalar_step)) + + self.db_volume_ctrl.SetLabel(u'{0:.4f}'.format(db)) + self.db_min_ctrl.SetLabel(u'{0:.4f}'.format(db_min)) + self.db_max_ctrl.SetLabel(u'{0:.4f}'.format(db_max)) + self.db_step_ctrl.SetLabel(u'{0:.4f}'.format(db_step)) + else: + self.scalar_volume_ctrl.SetLabel('') + self.scalar_min_ctrl.SetLabel('') + self.scalar_max_ctrl.SetLabel('') + self.scalar_step_ctrl.SetLabel('') + + self.db_volume_ctrl.SetLabel('') + self.db_min_ctrl.SetLabel('') + self.db_max_ctrl.SetLabel('') + self.db_step_ctrl.SetLabel('') + + def set_channel(self, channel): + if channel is not None: + db_min = channel.min + db_max = channel.max + db_step = channel.step + scalar_min = 0.0 + scalar_max = 100.0 + scalar_step = _re_range(db_step, db_min, db_max) + + scalar = channel.level_scalar * 100.0 + db = channel.level + + self.scalar_volume_ctrl.SetLabel(u'{0:.4f}'.format(scalar)) + self.scalar_min_ctrl.SetLabel(u'{0:.4f}'.format(scalar_min)) + self.scalar_max_ctrl.SetLabel(u'{0:.4f}'.format(scalar_max)) + self.scalar_step_ctrl.SetLabel(u'{0:.4f}'.format(scalar_step)) + + self.db_volume_ctrl.SetLabel(u'{0:.4f}'.format(db)) + self.db_min_ctrl.SetLabel(u'{0:.4f}'.format(db_min)) + self.db_max_ctrl.SetLabel(u'{0:.4f}'.format(db_max)) + self.db_step_ctrl.SetLabel(u'{0:.4f}'.format(db_step)) + else: + self.scalar_volume_ctrl.SetLabel('') + self.scalar_min_ctrl.SetLabel('') + self.scalar_max_ctrl.SetLabel('') + self.scalar_step_ctrl.SetLabel('') + + self.db_volume_ctrl.SetLabel('') + self.db_min_ctrl.SetLabel('') + self.db_max_ctrl.SetLabel('') + self.db_step_ctrl.SetLabel('') + + +class GetEndpointVolume(eg.ActionBase): + + def __call__(self, device, endpoint): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpoint = endpt + break + else: + continue + break + else: + return None + try: + return endpoint.volume.master_scalar * 100.0 + except AttributeError: + return None + + def Configure( + self, + device='Default Playback Device', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + endpoint_ctrl = EndpointPanel(panel) + volume_info_ctrl = VolumeInfoCtrl(panel) + + device_ctrl.set_string_selection(device) + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + endpoint = endpoint_ctrl.get_endpoint() + + if endpoint is not None: + try: + _ = endpoint.volume + volume_info_ctrl.set_endpoint(endpoint) + except AttributeError: + pass + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + if device not in ( + 'Default Playback Device', + 'Default Recording Device' + ): + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + try: + _ = endpoint.volume + volume_info_ctrl.set_endpoint(endpoint) + except AttributeError: + volume_info_ctrl.set_endpoint(None) + else: + volume_info_ctrl.set_endpoint(None) + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + try: + _ = endpoint.volume + volume_info_ctrl.set_endpoint(endpoint) + except AttributeError: + volume_info_ctrl.set_endpoint(None) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(volume_info_ctrl) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + + +class SetEndpointVolumeBase(eg.ActionBase): + _spin_range = dict(min=0.0, max=0.0) + + def _update_volume(self, old_volume, new_volume): + raise NotImplementedError + + def __call__(self, device, endpoint, volume): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpoint = endpt + break + else: + continue + break + else: + return None + try: + endpoint.volume.master_scalar = self._update_volume( + endpoint.volume.master_scalar, + volume + ) + + return endpoint.volume.master_scalar * 100.0 + except AttributeError: + return None + + def Configure( + self, + device='Default Playback Device', + endpoint=None, + volume=0.0 + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + endpoint_ctrl = EndpointPanel(panel) + volume_info_ctrl = VolumeInfoCtrl(panel) + volume_ctrl = eg.SpinNumCtrl( + panel, + -1, + value=volume, + increment=1.0, + **self._spin_range + ) + + device_ctrl.set_string_selection(device) + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + endpoint = endpoint_ctrl.get_endpoint() + + if endpoint is not None: + try: + vol = endpoint.volume + volume_info_ctrl.set_endpoint(endpoint) + volume_ctrl.increment = _re_range( + vol.step, + vol.min, + vol.max + ) + except AttributeError: + panel.EnableButtons(False) + volume_ctrl.Enable(False) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + if device not in ( + 'Default Playback Device', + 'Default Recording Device' + ): + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + volume_info_ctrl.set_endpoint(endpoint) + volume_ctrl.increment = _re_range( + vol.step, + vol.min, + vol.max + ) + panel.EnableButtons(True) + volume_ctrl.Enable(True) + + except AttributeError: + volume_info_ctrl.set_endpoint(None) + volume_ctrl.Enable(False) + panel.EnableButtons(False) + else: + volume_info_ctrl.set_endpoint(None) + volume_ctrl.increment = 1.0 + panel.EnableButtons(True) + volume_ctrl.Enable(True) + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + volume_info_ctrl.set_endpoint(endpoint) + volume_ctrl.increment = _re_range( + vol.step, + vol.min, + vol.max + ) + volume_ctrl.Enable(True) + panel.EnableButtons(True) + except AttributeError: + volume_info_ctrl.set_endpoint(None) + volume_ctrl.Enable(False) + panel.EnableButtons(False) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + volume_sizer = wx.BoxSizer(wx.VERTICAL) + volume_sizer.Add(volume_ctrl, 0, wx.ALL, 15) + volume_sizer.Add(volume_info_ctrl, 0) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(volume_sizer, 0) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection(), + volume_ctrl.GetValue() + ) + + +class SetEndpointVolumeAbsolute(SetEndpointVolumeBase): + _spin_range = dict(min=0.0, max=100.0) + + def _update_volume(self, _, new_volume): + return new_volume / 100 + + +class SetEndpointVolumeRelative(SetEndpointVolumeBase): + _spin_range = dict(min=-100.0, max=100.0) + + def _update_volume(self, old_volume, new_volume): + new_volume = old_volume + (new_volume / 100) + + if new_volume > 1: + new_volume = 1.0 + elif new_volume < 0: + new_volume = 0.0 + + return new_volume + + +class GetEndpointChannelVolume(eg.ActionBase): + + def __call__(self, device, endpoint, channel): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpoint = endpt + break + else: + continue + break + else: + return None + try: + return endpoint.volume.channels[channel].level_scalar * 100.0 + except (AttributeError, IndexError): + return None + + def Configure( + self, + device='Default Playback Device', + endpoint=None, + channel=0 + ): + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + endpoint_ctrl = EndpointPanel(panel) + volume_info_ctrl = VolumeInfoCtrl(panel) + channel_ctrl = eg.SpinIntCtrl(panel, -1, value=0, min=0, max=8) + + device_ctrl.set_string_selection(device) + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + endpoint = endpoint_ctrl.get_endpoint() + + if endpoint is not None: + try: + vol = endpoint.volume + channel_ctrl.numCtrl.SetMax(vol.channels.count - 1) + volume_info_ctrl.set_channel(vol.channels[channel]) + + except AttributeError: + panel.EnableButtons(False) + channel_ctrl.Enable(False) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + if device not in ( + 'Default Playback Device', + 'Default Recording Device' + ): + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + channel_ctrl.numCtrl.SetMax(vol.channels.count - 1) + volume_info_ctrl.set_channel(vol.channels[0]) + panel.EnableButtons(True) + channel_ctrl.Enable(True) + channel_ctrl.SetValue(0) + + except AttributeError: + volume_info_ctrl.set_channel(None) + channel_ctrl.Enable(False) + panel.EnableButtons(False) + else: + volume_info_ctrl.set_channel(None) + channel_ctrl.numCtrl.SetMax(8) + panel.EnableButtons(True) + channel_ctrl.Enable(True) + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + channel_ctrl.numCtrl.SetMax(vol.channels.count - 1) + volume_info_ctrl.set_channel(vol.channels[0]) + panel.EnableButtons(True) + channel_ctrl.Enable(True) + channel_ctrl.SetValue(0) + except AttributeError: + volume_info_ctrl.set_channel(None) + channel_ctrl.Enable(False) + panel.EnableButtons(False) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + channel_sizer = wx.BoxSizer(wx.VERTICAL) + channel_sizer.Add(channel_ctrl, 0, wx.ALL, 15) + channel_sizer.Add(volume_info_ctrl, 0) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(channel_sizer, 0) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection(), + channel_ctrl.GetValue() + ) + + +class SetEndpointChannelVolumeBase(eg.ActionBase): + _spin_range = dict(min=0.0, max=0.0) + + def _update_volume(self, old_volume, new_volume): + raise NotImplementedError + + def __call__(self, device, endpoint, channel, volume): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpoint = endpt + break + else: + continue + break + else: + return None + try: + endpoint.volume.channels[channel].level_scalar = ( + self._update_volume( + endpoint.volume.channels[channel].level_scalar, + volume + ) + ) + return endpoint.volume.channels[channel].level_scalar * 100 + except (AttributeError, IndexError): + return None + + def Configure( + self, + device='Default Playback Device', + endpoint=None, + channel=0, + volume=0.0 + ): + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + endpoint_ctrl = EndpointPanel(panel) + volume_info_ctrl = VolumeInfoCtrl(panel) + channel_ctrl = eg.SpinIntCtrl(panel, -1, value=0, min=0, max=8) + volume_ctrl = eg.SpinNumCtrl( + panel, + -1, + value=volume, + increment=1.0, + **self._spin_range + ) + + device_ctrl.set_string_selection(device) + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + endpoint = endpoint_ctrl.get_endpoint() + + if endpoint is not None: + try: + vol = endpoint.volume + channel_ctrl.numCtrl.SetMax(vol.channels.count - 1) + channel = vol.channels[channel] + volume_info_ctrl.set_channel(channel) + volume_ctrl.increment = _re_range( + channel.step, + channel.min, + channel.max + ) + + except AttributeError: + panel.EnableButtons(False) + channel_ctrl.Enable(False) + volume_ctrl.Enable(False) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + if device not in ( + 'Default Playback Device', + 'Default Recording Device' + ): + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + channel_ctrl.numCtrl.SetMax(vol.channels.count - 1) + channel = vol.channels[0] + volume_info_ctrl.set_channel(channel) + volume_ctrl.increment = _re_range( + channel.step, + channel.min, + channel.max + ) + panel.EnableButtons(True) + channel_ctrl.Enable(True) + volume_ctrl.Enable(True) + channel_ctrl.SetValue(0) + + except AttributeError: + volume_info_ctrl.set_channel(None) + channel_ctrl.Enable(False) + volume_ctrl.Enable(False) + panel.EnableButtons(False) + else: + volume_info_ctrl.set_channel(None) + channel_ctrl.numCtrl.SetMax(8) + panel.EnableButtons(True) + channel_ctrl.Enable(True) + volume_ctrl.Enable(True) + volume_ctrl.increment = 1.0 + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + channel_ctrl.numCtrl.SetMax(vol.channels.count - 1) + channel = vol.channels[0] + volume_info_ctrl.set_channel(channel) + volume_ctrl.increment = _re_range( + channel.step, + channel.min, + channel.max + ) + panel.EnableButtons(True) + channel_ctrl.Enable(True) + volume_ctrl.Enable(True) + channel_ctrl.SetValue(0) + except AttributeError: + volume_info_ctrl.set_channel(None) + channel_ctrl.Enable(False) + volume_ctrl.Enable(False) + panel.EnableButtons(False) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + channel_sizer = wx.BoxSizer(wx.HORIZONTAL) + channel_sizer.Add(channel_ctrl, 0, wx.ALL, 15) + channel_sizer.Add(volume_ctrl, 0, wx.ALL, 15) + + volume_info_sizer = wx.BoxSizer(wx.VERTICAL) + volume_info_sizer.Add(channel_sizer, 0) + volume_info_sizer.Add(volume_info_ctrl, 0) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(volume_info_sizer, 0) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection(), + channel_ctrl.GetValue(), + volume_ctrl.GetValue() + ) + + +class SetEndpointChannelVolumeAbsolute(SetEndpointChannelVolumeBase): + _spin_range = dict(min=0.0, max=100.0) + + def _update_volume(self, _, new_volume): + return new_volume / 100 + + +class SetEndpointChannelVolumeRelative(SetEndpointChannelVolumeBase): + _spin_range = dict(min=-100.0, max=100.0) + + def _update_volume(self, old_volume, new_volume): + new_volume = old_volume + (new_volume / 100) + + if new_volume > 1: + new_volume = 1.0 + elif new_volume < 0: + new_volume = 0.0 + + return new_volume + + + +class IsDeviceActive(eg.ActionBase): + + def __call__(self, device): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + device = endpoint.device + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + device = endpoint.device + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + device = dev + break + else: + return False + + return device.state == 'Active' + + def Configure( + self, + device='Default Playback Device', + endpoint=None, + ): + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + device_ctrl.set_string_selection(device) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + ) + + +class GetEndpointMute(eg.ActionBase): + + def __call__(self, device, endpoint): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpoint = endpt + break + else: + continue + break + else: + return None + try: + return endpoint.volume.mute + except AttributeError: + return None + + def Configure( + self, + device='Default Playback Device', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + endpoint_ctrl = EndpointPanel(panel) + mute_info_st = panel.StaticText('Muted:') + mute_info_ctrl = panel.StaticText(' ') + + device_ctrl.set_string_selection(device) + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + endpoint = endpoint_ctrl.get_endpoint() + + if endpoint is not None: + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + except AttributeError: + panel.EnableButtons(False) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + if device not in ( + 'Default Playback Device', + 'Default Recording Device' + ): + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + panel.EnableButtons(True) + except AttributeError: + mute_info_ctrl.SetLabel(' ') + panel.EnableButtons(False) + else: + mute_info_ctrl.SetLabel(' ') + panel.EnableButtons(True) + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + panel.EnableButtons(True) + except AttributeError: + mute_info_ctrl.SetLabel(' ') + panel.EnableButtons(False) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + mute_sizer = wx.BoxSizer(wx.HORIZONTAL) + mute_sizer.Add(mute_info_st, 0, wx.ALL, 5) + mute_sizer.Add(mute_info_ctrl, 0, wx.ALL, 5) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(mute_sizer) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + + +class SetEndpointMute(eg.ActionBase): + + def __call__(self, device, endpoint, mute): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpoint = endpt + break + else: + continue + break + else: + return None + try: + endpoint.volume.mute = mute + return endpoint.volume.mute + except AttributeError: + return None + + def Configure( + self, + device='Default Playback Device', + endpoint=None, + mute=True + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + endpoint_ctrl = EndpointPanel(panel) + mute_info_st = panel.StaticText('Muted:') + mute_info_ctrl = panel.StaticText(' ') + mute_st = panel.StaticText('Mute:') + mute_ctrl = wx.CheckBox(panel, -1, '') + mute_ctrl.SetValue(mute) + + device_ctrl.set_string_selection(device) + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + endpoint = endpoint_ctrl.get_endpoint() + + if endpoint is not None: + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + except AttributeError: + panel.EnableButtons(False) + mute_ctrl.Enable(False) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + if device not in ( + 'Default Playback Device', + 'Default Recording Device' + ): + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + panel.EnableButtons(True) + mute_ctrl.Enable(True) + + except AttributeError: + mute_info_ctrl.SetLabel(' ') + mute_ctrl.Enable(False) + panel.EnableButtons(False) + else: + mute_info_ctrl.SetLabel(' ') + mute_ctrl.increment = 1.0 + panel.EnableButtons(True) + mute_ctrl.Enable(True) + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + mute_ctrl.Enable(True) + panel.EnableButtons(True) + except AttributeError: + mute_info_ctrl.SetLabel(' ') + mute_ctrl.Enable(False) + panel.EnableButtons(False) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + mute_sizer = wx.BoxSizer(wx.HORIZONTAL) + mute_sizer.Add(mute_st, 0, wx.ALL, 15) + mute_sizer.Add(mute_ctrl, 0, wx.ALL, 15) + + mute_info_sizer = wx.BoxSizer(wx.HORIZONTAL) + mute_info_sizer.Add(mute_info_st, 0, wx.ALL, 5) + mute_info_sizer.Add(mute_info_ctrl, 0, wx.ALL, 5) + + m_sizer = wx.BoxSizer(wx.VERTICAL) + m_sizer.Add(mute_sizer, 0) + m_sizer.Add(mute_info_sizer, 0) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(m_sizer) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection(), + mute_ctrl.GetValue() + ) + + +class ToggleEndpointMute(eg.ActionBase): + + def __call__(self, device, endpoint): + if device == 'Default Playback Device': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + elif device == 'Default Recording Device': + endpoint = pyWinCoreAudio.AudioDevices.default_capture_endpoint + else: + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpoint = endpt + break + else: + continue + break + else: + return None + try: + endpoint.volume.mute = not endpoint.volume.mute + return endpoint.volume.mute + except AttributeError: + return None + + def Configure( + self, + device='Default Playback Device', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel) + endpoint_ctrl = EndpointPanel(panel) + mute_info_st = panel.StaticText('Muted:') + mute_info_ctrl = panel.StaticText(' ') + + device_ctrl.set_string_selection(device) + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + endpoint = endpoint_ctrl.get_endpoint() + + if endpoint is not None: + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + except AttributeError: + panel.EnableButtons(False) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + if device not in ( + 'Default Playback Device', + 'Default Recording Device' + ): + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + panel.EnableButtons(True) + except AttributeError: + mute_info_ctrl.SetLabel(' ') + panel.EnableButtons(False) + else: + mute_info_ctrl.SetLabel(' ') + panel.EnableButtons(True) + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + try: + vol = endpoint.volume + mute_info_ctrl.SetLabel(unicode(vol.mute)) + panel.EnableButtons(True) + except AttributeError: + mute_info_ctrl.SetLabel(' ') + panel.EnableButtons(False) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + mute_sizer = wx.BoxSizer(wx.HORIZONTAL) + mute_sizer.Add(mute_info_st, 0, wx.ALL, 5) + mute_sizer.Add(mute_info_ctrl, 0, wx.ALL, 5) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(mute_sizer) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + + +class GetSessionVolume(eg.ActionBase): + + def __call__(self, device, endpoint, session): + + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + try: + for sess in endpt: + if sess.name == session: + try: + return ( + sess.volume.master_scalar * 100.0 + ) + except AttributeError: + return None + + except (AttributeError, TypeError): + pass + return None + + else: + return None + else: + return None + + def Configure( + self, + device='', + endpoint=None, + session='' + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel, use_defaults=False) + endpoint_ctrl = EndpointPanel(panel) + session_ctrl = SessionPanel(panel) + + if device: + device_ctrl.set_string_selection(device) + else: + device_ctrl.set_selection(0) + + endpoint_ctrl.set_flow('Render') + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + endpoint = endpoint_ctrl.get_endpoint() + + session_ctrl.set_sessions(endpoint) + session_ctrl.set_string_selection(session) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + endpoint_ctrl.set_selection(0) + endpoint = endpoint_ctrl.get_endpoint() + session_ctrl.set_sessions(endpoint) + session_ctrl.set_selection(0) + + wx.CallAfter(do) + evt.Skip() + + def on_endpoint_choice(evt): + def do(): + endpoint = endpoint_ctrl.get_endpoint() + session_ctrl.set_sessions(endpoint) + session_ctrl.set_selection(0) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + + endpoint_ctrl.Bind(wx.EVT_CHOICE, on_endpoint_choice) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + sizer.Add(session_ctrl, 1) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection(), + session_ctrl.get_string_selection() + ) + + +class IsPlaybackEndpointActive(eg.ActionBase): + + def __call__(self, device, endpoint): + + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + try: + for session in endpt: + if session.state == 'Active': + return True + except (AttributeError, TypeError): + pass + return False + + else: + return False + else: + return False + + def Configure( + self, + device='', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel, use_defaults=False) + endpoint_ctrl = EndpointPanel(panel) + if device: + device_ctrl.set_string_selection(device) + else: + device_ctrl.set_selection(0) + + endpoint_ctrl.set_flow('Render') + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + endpoint_ctrl.set_selection(0) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + + +class IsDefaultPlaybackEndpoint(eg.ActionBase): + def __call__(self, device, endpoint): + + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + return endpt.is_default + else: + return False + else: + return False + + def Configure( + self, + device='', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel, use_defaults=False) + endpoint_ctrl = EndpointPanel(panel) + if device: + device_ctrl.set_string_selection(device) + else: + device_ctrl.set_selection(0) + + endpoint_ctrl.set_flow('Render') + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + endpoint_ctrl.set_selection(0) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + + +class GetDefaultPlaybackEndpoint(eg.ActionBase): + + def __call__(self): + return pyWinCoreAudio.AudioDevices.default_render_endpoint + + +class SetDefaultPlaybackEndpoint(eg.ActionBase): + + def __call__(self, device, endpoint): + + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpt.set_default() + return endpt.is_default + else: + return None + else: + return None + + def Configure( + self, + device='', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel, use_defaults=False) + endpoint_ctrl = EndpointPanel(panel) + if device: + device_ctrl.set_string_selection(device) + else: + device_ctrl.set_selection(0) + + endpoint_ctrl.set_flow('Render') + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + endpoint_ctrl.set_selection(0) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + + +class IsDefaultRecordingEndpoint(eg.ActionBase): + + def __call__(self, device, endpoint): + + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + return endpt.is_default + else: + return False + else: + return False + + def Configure( + self, + device='', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel, use_defaults=False) + endpoint_ctrl = EndpointPanel(panel) + if device: + device_ctrl.set_string_selection(device) + else: + device_ctrl.set_selection(0) + + endpoint_ctrl.set_flow('Capture') + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + endpoint_ctrl.set_selection(0) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + + +class GetDefaultRecordingEndpoint(eg.ActionBase): + + def __call__(self): + return pyWinCoreAudio.AudioDevices.default_capture_endpoint + + +class SetDefaultRecordingEndpoint(eg.ActionBase): + + def __call__(self, device, endpoint): + + for dev in pyWinCoreAudio.AudioDevices: + if dev.name == device: + for endpt in dev: + if endpt.name == endpoint: + endpt.set_default() + return endpt.is_default + else: + return None + else: + return None + + def Configure( + self, + device='', + endpoint=None + ): + text = self.text + panel = eg.ConfigPanel() + + device_ctrl = DevicePanel(panel, use_defaults=False) + endpoint_ctrl = EndpointPanel(panel) + if device: + device_ctrl.set_string_selection(device) + else: + device_ctrl.set_selection(0) + + endpoint_ctrl.set_flow('Capture') + endpoint_ctrl.set_endpoints(device_ctrl.get_device()) + endpoint_ctrl.set_string_selection(endpoint) + + def on_device_choice(evt): + def do(): + device = device_ctrl.get_device() + endpoint_ctrl.set_endpoints(device) + endpoint_ctrl.set_selection(0) + + wx.CallAfter(do) + evt.Skip() + + device_ctrl.Bind(wx.EVT_CHOICE, on_device_choice) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_ctrl, 1) + sizer.Add(endpoint_ctrl, 1) + + panel.sizer.Add(sizer) + + while panel.Affirmed(): + panel.SetResult( + device_ctrl.get_string_selection(), + endpoint_ctrl.get_string_selection() + ) + +def old_get_label(device_id): + if eg.WindowsVersion >= 'Vista': + if not device_id: + device_id = 'Primary Sound Driver' + + if device_id == 'Primary Sound Driver': + return device_id + elif not isinstance(device_id, int): + for device in pyWinCoreAudio.AudioDevices: + for endpoint in device: + if endpoint.name.startswith(device_id): + return endpoint.name + else: + return device_id + + return SoundMixer.GetDeviceId(device_id) + + +class OldAudioChoiceCtrl(wx.Choice): + + def __init__(self, parent): + if eg.WindowsVersion >= 'Vista': + choices = ['Primary Sound Driver'] + for device in pyWinCoreAudio.AudioDevices: + for endpoint in device: + choices += [endpoint.name] + else: + choices = SoundMixer.GetMixerDevices(True) + + wx.Choice.__init__(self, parent, -1, choices=choices) + + def SetStringSelection(self, value): + if eg.WindowsVersion >= 'Vista': + if not value: + value = 'Primary Sound Driver' + if value in self.GetItems(): + wx.Choice.SetStringSelection(self, value) + else: + self.SetSelection(0) + else: + self.SetSelection(SoundMixer.GetDeviceId(value)) + + +class MasterVolumeBase(eg.ActionBase): + name = '' + description = '' + iconFile = "icons/SoundCard" + _min = 0 + _max = 0 + + class text: + text1 = '' + text2 = '' + + def _set_volume(self, value, device): + raise NotImplementedError + + def __call__(self, value, deviceId=0): + value = ( + float(value) + if isinstance(value, (int, float)) + else float(eg.ParseString(value)) + ) + + if eg.WindowsVersion >= 'Vista': + if not deviceId: + deviceId = 'Primary Sound Driver' + + if deviceId == 'Primary Sound Driver': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + else: + for device in pyWinCoreAudio.AudioDevices: + for endpoint in device: + if endpoint.name.startswith(deviceId): + break + else: + continue + break + else: + raise SoundMixer.SoundMixerException( + u'Device {0} not found.'.format(deviceId) + ) + + return self._set_volume(value, endpoint.volume) + + else: + return self._set_volume(value, deviceId) + + def Configure(self, value=0, deviceId=0): + panel = eg.ConfigPanel() + + deviceCtrl = OldAudioChoiceCtrl(panel) + deviceCtrl.SetStringSelection(deviceId) + + valueCtrl = panel.SmartSpinNumCtrl(value, min=self._min, max=self._max) + sizer = eg.HBoxSizer( + (panel.StaticText(self.text.text1), 0, wx.ALIGN_CENTER_VERTICAL), + (valueCtrl, 0, wx.LEFT | wx.RIGHT, 5), + (panel.StaticText(self.text.text2), 0, wx.ALIGN_CENTER_VERTICAL), + ) + + panel.AddLine(self.plugin.text.device, deviceCtrl) + panel.AddLine(sizer) + while panel.Affirmed(): + panel.SetResult( + valueCtrl.GetValue(), + deviceCtrl.GetStringSelection(), + ) + + def GetLabel(self, value, deviceId=0): + primaryDevice = (deviceId == self.plugin.text.primaryDevice) + deviceId = old_get_label(deviceId) + if isinstance(value, (int, float)): + value = float(value) + if not primaryDevice: + return "%s #%i: %.2f %%" % (self.name, deviceId + 1, value) + else: + return "%s: %.2f %%" % (self.name, value) + else: + if not primaryDevice: + return "%s #%i: %s %%" % (self.name, deviceId + 1, value) + else: + return "%s: %s %%" % (self.name, value) + + +class ChangeMasterVolumeBy(MasterVolumeBase): + name = "Change Master Volume" + description = "Changes the master volume relative to the current value." + _min = -100 + _max = 100 + + class text: + text1 = "Change master volume by" + text2 = "percent." + + def _set_volume(self, value, device): + if eg.WindowsVersion >= 'Vista': + volume = device.master_scalar * 100.00 + volume += value + device.master_scalar = volume / 100.00 + return device.master_scalar * 100 + else: + return SoundMixer.ChangeMasterVolumeBy(value, device) + + +class SetMasterVolume(MasterVolumeBase): + name = "Set Master Volume" + description = "Sets the master volume to an absolute value." + _min = 0 + _max = 100 + + class text: + text1 = "Set master volume to" + text2 = "percent." + + def _set_volume(self, value, device): + if eg.WindowsVersion >= 'Vista': + device.master_scalar = value / 100.00 + return device.master_scalar * 100 + else: + return SoundMixer.SetMasterVolume(value, device) + + +class MuteBase(eg.ActionBase): + name = '' + description = '' + iconFile = "icons/SoundCard" + _mute = None + + def __call__(self, deviceId=0): + if eg.WindowsVersion >= 'Vista': + if not deviceId: + deviceId = 'Primary Sound Driver' + + if deviceId == 'Primary Sound Driver': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + else: + for device in pyWinCoreAudio.AudioDevices: + for endpoint in device: + if endpoint.name.startswith(deviceId): + break + else: + continue + break + else: + raise SoundMixer.SoundMixerException( + u'Device {0} not found.'.format(deviceId) + ) + + endpoint.volume.mute = self._mute + return endpoint.volume.mute + else: + return SoundMixer.SetMute(self._mute, deviceId) + + def Configure(self, deviceId=0): + panel = eg.ConfigPanel() + + deviceCtrl = OldAudioChoiceCtrl(panel) + deviceCtrl.SetStringSelection(deviceId) + + panel.AddLine(self.plugin.text.device, deviceCtrl) + while panel.Affirmed(): + panel.SetResult(deviceCtrl.GetStringSelection()) + + def GetLabel(self, deviceId): + return self.text.name + ': ' + old_get_label(deviceId) + + +class MuteOff(MuteBase): + name = "Turn Mute Off" + description = "Turns mute off." + _mute = False + + +class MuteOn(MuteBase): + name = "Turn Mute On" + description = "Turns mute on." + _mute = True + + +class GetMute(MuteBase): + name = "Get Mute Status" + description = "Gets mute status." + + def __call__(self, deviceId=0): + if eg.WindowsVersion >= 'Vista': + if not deviceId: + deviceId = 'Primary Sound Driver' + + if deviceId == 'Primary Sound Driver': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + else: + for device in pyWinCoreAudio.AudioDevices: + for endpoint in device: + if endpoint.name.startswith(deviceId): + break + else: + continue + break + else: + raise SoundMixer.SoundMixerException( + u'Device {0} not found.'.format(deviceId) + ) + return endpoint.volume.mute + else: + return SoundMixer.GetMute(deviceId) + + +class ToggleMute(MuteBase): + name = "Toggle Mute" + description = "Toggles mute." + + def __call__(self, deviceId=0): + if eg.WindowsVersion >= 'Vista': + if not deviceId: + deviceId = 'Primary Sound Driver' + + if deviceId == 'Primary Sound Driver': + endpoint = pyWinCoreAudio.AudioDevices.default_render_endpoint + else: + for device in pyWinCoreAudio.AudioDevices: + for endpoint in device: + if endpoint.name.startswith(deviceId): + break + else: + continue + break + else: + raise SoundMixer.SoundMixerException( + u'Device {0} not found.'.format(deviceId) + ) + + endpoint.volume.mute = not endpoint.volume.mute + return endpoint.volume.mute + else: + return SoundMixer.ToggleMute(deviceId) + + diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/__init__.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/__init__.py new file mode 100644 index 000000000..f76e0a36f --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/__init__.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioapotypes.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioapotypes.py new file mode 100644 index 000000000..a9dcdd126 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioapotypes.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +from enum import APO_BUFFER_FLAGS +from ctypes.wintypes import (UINT) + +POINTER = ctypes.POINTER +UINT32 = ctypes.c_uint32 +UINT_PTR = POINTER(UINT) + + +class APO_CONNECTION_PROPERTY(ctypes.Structure): + _fields_ = [ + ('pBuffer', UINT_PTR), + ('u32ValidFrameCount', UINT32), + ('u32BufferFlags', APO_BUFFER_FLAGS), + ('u32Signature', UINT32) + ] + + +PAPO_CONNECTION_PROPERTY = POINTER(APO_CONNECTION_PROPERTY) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioclient.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioclient.py new file mode 100644 index 000000000..1efb6d28b --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioclient.py @@ -0,0 +1,521 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from iid import ( + IID_IActivateAudioInterfaceAsyncOperation, + IID_IActivateAudioInterfaceCompletionHandler, + IID_IAudioCaptureClient, + IID_IAudioClient, + IID_IAudioClient2, + IID_IAudioClient3, + IID_IAudioClock, + IID_IAudioClock2, + IID_IAudioClockAdjustment, + IID_IAudioRenderClient, + IID_IAudioStreamVolume, + IID_IChannelAudioVolume, + IID_ISimpleAudioVolume, +) +from enum import ( + AUDIO_STREAM_CATEGORY, + AUDCLNT_STREAMOPTIONS +) + +from ctypes.wintypes import ( + FLOAT, + DWORD, + BOOL, + WORD, + HANDLE, + BYTE +) + + +COMMETHOD = comtypes.COMMETHOD +UINT32 = ctypes.c_uint32 +UINT64 = ctypes.c_uint64 +LONGLONG = ctypes.c_longlong +REFERENCE_TIME = ctypes.c_longlong +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +LPCGUID = POINTER(comtypes.GUID) +LPFLOAT = POINTER(FLOAT) +LPDWORD = POINTER(DWORD) +LPBOOL = POINTER(BOOL) +LPUINT32 = POINTER(UINT32) +LPBYTE = POINTER(BYTE) +LPUINT64 = POINTER(UINT64) +LPREFERENCE_TIME = POINTER(REFERENCE_TIME) +LPHRESULT = POINTER(HRESULT) +PIUnknown = POINTER(comtypes.IUnknown) + + +class WAVEFORMATEX(ctypes.Structure): + _fields_ = [ + ('wFormatTag', WORD), + ('nChannels', WORD), + ('nSamplesPerSec', WORD), + ('nAvgBytesPerSec', WORD), + ('nBlockAlign', WORD), + ('wBitsPerSample', WORD), + ('cbSize', WORD), + ] + + +PWAVEFORMATEX = POINTER(WAVEFORMATEX) + + +class AudioClientProperties(ctypes.Structure): + _fields_ = [ + ('cbSize', UINT32), + ('bIsOffload', BOOL), + ('eCategory', AUDIO_STREAM_CATEGORY), + ('Options', AUDCLNT_STREAMOPTIONS), + ] + + +PAudioClientProperties = POINTER(AudioClientProperties) + + +class IActivateAudioInterfaceAsyncOperation(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IActivateAudioInterfaceAsyncOperation + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetActivateResult', + (['out'], LPHRESULT, 'activateOperation'), + (['out'], POINTER(PIUnknown), 'activatedInterface') + ), + ) + + +PIActivateAudioInterfaceAsyncOperation = POINTER( + IActivateAudioInterfaceAsyncOperation +) + + +class IActivateAudioInterfaceCompletionHandler(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IActivateAudioInterfaceCompletionHandler + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'ActivateCompleted', + ( + ['in'], + PIActivateAudioInterfaceAsyncOperation, + 'activateOperation' + ) + ), + ) + + +PIActivateAudioInterfaceCompletionHandler = POINTER( + IActivateAudioInterfaceCompletionHandler +) + + +class IAudioCaptureClient(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioCaptureClient + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetBuffer', + (['out'], POINTER(LPBYTE), 'ppData'), + (['out'], LPUINT32, 'pNumFramesToRead'), + (['out'], LPDWORD, 'pdwFlags'), + (['out'], LPUINT64, 'pu64DevicePosition'), + (['out'], LPUINT64, 'pu64QPCPosition') + ), + COMMETHOD( + [], + HRESULT, + 'ReleaseBuffer', + (['in'], UINT32, 'NumFramesWritten'), + ), + COMMETHOD( + [], + HRESULT, + 'GetNextPacketSize', + (['out'], LPUINT32, 'pNumFramesInNextPacket'), + ) + ) + + +PIAudioCaptureClient = POINTER(IAudioCaptureClient) + + +class IAudioClient(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioClient + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Initialize', + (['in'], DWORD, 'ShareMode'), + (['in'], DWORD, 'StreamFlags'), + (['in'], LONGLONG, 'hnsBufferDuration'), + (['in'], LONGLONG, 'hnsPeriodicity'), + (['in'], PWAVEFORMATEX, 'pFormat'), + (['in'], LPCGUID, 'AudioSessionGuid') + ), + COMMETHOD( + [], + HRESULT, + 'GetBufferSize', + (['out', 'retval'], LPUINT32, 'pNumBufferFrames') + ), + COMMETHOD( + [], + HRESULT, + 'GetStreamLatency', + (['out', 'retval'], POINTER(LONGLONG), 'phnsLatency') + ), + COMMETHOD( + [], + HRESULT, + 'GetCurrentPadding', + (['out', 'retval'], LPUINT32, 'pNumPaddingFrames') + ), + COMMETHOD( + [], + HRESULT, + 'IsFormatSupported', + (['in'], DWORD, 'ShareMode'), + (['in'], PWAVEFORMATEX, 'pFormat'), + (['out', 'unique'], POINTER(PWAVEFORMATEX), 'ppClosestMatch') + ), + COMMETHOD( + [], + HRESULT, + 'GetMixFormat', + (['out', 'retval'], POINTER(PWAVEFORMATEX), 'ppDeviceFormat') + ), + COMMETHOD( + [], + HRESULT, + 'GetDevicePeriod', + (['out', 'retval'], POINTER(LONGLONG), 'phnsDefaultDevicePeriod'), + (['out', 'retval'], POINTER(LONGLONG), 'phnsMinimumDevicePeriod') + ), + COMMETHOD( + [], + HRESULT, + 'SetEventHandle', + (['in'], HANDLE, 'eventHandle'), + ), + COMMETHOD( + [], + HRESULT, + 'GetService', + (['in'], LPCGUID, 'iid'), + (['out'], POINTER(PIUnknown), 'ppv') + ), + COMMETHOD([], HRESULT, 'Start'), + COMMETHOD([], HRESULT, 'Stop'), + COMMETHOD([], HRESULT, 'Reset'), + + ) + + +PIAudioClient = POINTER(IAudioClient) + + +class IAudioClient2(IAudioClient): + _case_insensitive_ = True + _iid_ = IID_IAudioClient2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'IsOffloadCapable', + (['in'], AUDIO_STREAM_CATEGORY, 'Category'), + (['out'], LPBOOL, 'pbOffloadCapable') + ), + COMMETHOD( + [], + HRESULT, + 'SetClientProperties', + (['in'], PAudioClientProperties, 'pProperties') + ), + COMMETHOD( + [], + HRESULT, + 'GetBufferSizeLimits', + (['in'], PWAVEFORMATEX, 'pFormat'), + (['in'], BOOL, 'bEventDriven'), + (['out'], LPREFERENCE_TIME, 'phnsMinBufferDuration'), + (['out'], LPREFERENCE_TIME, 'phnsMaxBufferDuration') + ) + ) + + +PIAudioClient2 = POINTER(IAudioClient2) + + +class IAudioClient3(IAudioClient): + _case_insensitive_ = True + _iid_ = IID_IAudioClient3 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'InitializeSharedAudioStream', + (['in'], DWORD, 'StreamFlags'), + (['in'], UINT32, 'PeriodInFrames'), + (['in'], PWAVEFORMATEX, 'pFormat'), + (['in'], LPCGUID, 'AudioSessionGuid') + ), + COMMETHOD( + [], + HRESULT, + 'GetCurrentSharedModeEnginePeriod', + (['out'], POINTER(PWAVEFORMATEX), 'ppFormat'), + (['out'], LPUINT32, 'pCurrentPeriodInFrames'), + ), + COMMETHOD( + [], + HRESULT, + 'GetSharedModeEnginePeriod', + (['in'], PWAVEFORMATEX, 'pFormat'), + (['out'], LPUINT32, 'pDefaultPeriodInFrames'), + (['out'], LPUINT32, 'pFundamentalPeriodInFrames'), + (['out'], LPUINT32, 'pMinPeriodInFrames'), + (['out'], LPUINT32, 'pMaxPeriodInFrames') + ) + ) + + +PIAudioClient3 = POINTER(IAudioClient3) + + +class IAudioClock(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioClock + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetFrequency', + (['out'], LPUINT64, 'pu64Frequency') + ), + COMMETHOD( + [], + HRESULT, + 'GetPosition', + (['out'], LPUINT64, 'pu64Position'), + (['out'], LPUINT64, 'pu64QPCPosition'), + ), + COMMETHOD( + [], + HRESULT, + 'GetCharacteristics', + (['out'], LPDWORD, 'pdwCharacteristics'), + ) + ) + + +PIAudioClock = POINTER(IAudioClock) + + +class IAudioClock2(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioClock2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetDevicePosition', + (['out'], LPUINT64, 'DevicePosition'), + (['out'], LPUINT64, 'QPCPosition'), + ), + ) + + +PIAudioClock2 = POINTER(IAudioClock2) + + +class IAudioClockAdjustment(comtypes.IUnknown): + _iid_ = IID_IAudioClockAdjustment + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetSampleRate', + (['in'], FLOAT, 'flSampleRate') + ), + ) + + +PIAudioClockAdjustment = POINTER(IAudioClockAdjustment) + + +class IAudioRenderClient(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioRenderClient + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetBuffer', + (['in'], UINT32, 'NumFramesRequested'), + (['out'], POINTER(LPBYTE), 'PeriodInFrames') + ), + COMMETHOD( + [], + HRESULT, + 'ReleaseBuffer', + (['in'], UINT32, 'NumFramesWritten'), + (['in'], DWORD, 'dwFlags'), + ) + ) + + +PIAudioRenderClient = POINTER(IAudioRenderClient) + + +class ISimpleAudioVolume(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISimpleAudioVolume + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetMasterVolume', + (['in'], FLOAT, 'fLevel'), + (['in'], LPCGUID, 'EventContext') + ), + COMMETHOD( + [], + HRESULT, + 'GetMasterVolume', + (['out', 'retval'], LPFLOAT, 'pfLevel') + ), + COMMETHOD( + [], + HRESULT, + 'SetMute', + (['in'], BOOL, 'bMute'), + (['in'], LPCGUID, 'EventContext') + ), + COMMETHOD( + [], + HRESULT, + 'GetMute', + (['out', 'retval'], LPBOOL, 'pbMute') + ) + ) + + +PISimpleAudioVolume = POINTER(ISimpleAudioVolume) + + +class IAudioStreamVolume(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioStreamVolume + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetChannelCount', + (['out'], LPUINT32, 'pdwCount') + ), + COMMETHOD( + [], + HRESULT, + 'SetChannelVolume', + (['in'], UINT32, 'dwIndex'), + (['in'], FLOAT, 'fLevel') + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelVolume', + (['in'], UINT32, 'dwIndex'), + (['out'], LPFLOAT, 'pfLevel') + ), + COMMETHOD( + [], + HRESULT, + 'SetAllVolumes', + (['in'], UINT32, 'dwCount'), + (['in'], LPFLOAT, 'pfVolumes') + ), + COMMETHOD( + [], + HRESULT, + 'GetAllVolumes', + (['in'], UINT32, 'dwCount'), + (['out'], LPFLOAT, 'pfVolumes') + ), + ) + + +PIAudioStreamVolume = POINTER(IAudioStreamVolume) + + +class IChannelAudioVolume(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IChannelAudioVolume + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetChannelCount', + (['out'], LPUINT32, 'pdwCount') + ), + COMMETHOD( + [], + HRESULT, + 'SetChannelVolume', + (['in'], UINT32, 'dwIndex'), + (['in'], FLOAT, 'pfLevel') + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelVolume', + (['in'], UINT32, 'dwIndex'), + (['out'], LPFLOAT, 'pfLevel') + ), + COMMETHOD( + [], + HRESULT, + 'SetAllVolumes', + (['in'], UINT32, 'dwCount'), + (['in'], LPFLOAT, 'pfVolumes') + ), + COMMETHOD( + [], + HRESULT, + 'GetAllVolumes', + (['in'], UINT32, 'dwCount'), + (['out'], LPFLOAT, 'pfVolumes') + ), + ) + + +PIChannelAudioVolume = POINTER(IChannelAudioVolume) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioendpoints.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioendpoints.py new file mode 100644 index 000000000..1152f42b4 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioendpoints.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from iid import IID_IAudioEndpointFormatControl +from ctypes.wintypes import ( + DWORD, +) + +COMMETHOD = comtypes.COMMETHOD +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER + + +class IAudioEndpointFormatControl(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointFormatControl + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'ResetToDefault', + (['in'], DWORD, 'ResetFlags') + ), + ) + + +PIAudioEndpointFormatControl = POINTER(IAudioEndpointFormatControl) + diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioenginebaseapo.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioenginebaseapo.py new file mode 100644 index 000000000..e66fe3246 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioenginebaseapo.py @@ -0,0 +1,347 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from mmdeviceapi import PIMMDeviceCollection +from propertystore import PIPropertyStore +from audiomediatype import PIAudioMediaType +from audioapotypes import PAPO_CONNECTION_PROPERTY +from enum import ( + APO_CONNECTION_BUFFER_TYPE, + APO_FLAG +) +from ctypes.wintypes import ( + UINT, + LPARAM, + BOOL, + HANDLE, + LPWSTR, + WCHAR, + BYTE, + LPCVOID +) +from _iid import ( + IID_IAudioProcessingObjectRT, + IID_IAudioProcessingObjectVBR, + IID_IAudioProcessingObjectConfiguration, + IID_IAudioProcessingObject, + IID_IAudioSystemEffects, + IID_IAudioSystemEffects2, + IID_IAudioSystemEffectsCustomFormats, + IID +) + + +POINTER = ctypes.POINTER +COMMETHOD = comtypes.COMMETHOD +CLSID = comtypes.GUID +GUID = comtypes.GUID +HNSTIME = ctypes.c_longlong +VOID = ctypes.c_void_p +UINT32 = ctypes.c_uint32 +HRESULT = ctypes.HRESULT +LPUINT = POINTER(UINT) +LPUINT32 = POINTER(UINT32) +UINT_PTR = POINTER(UINT) +LPBYTE = POINTER(BYTE) +LPHNSTIME = POINTER(HNSTIME) +LPGUID = POINTER(comtypes.GUID) + + +class APO_CONNECTION_DESCRIPTOR(ctypes.Structure): + _fields_ = [ + ('Type', APO_CONNECTION_BUFFER_TYPE), + ('pBuffer', UINT_PTR), + ('u32MaxFrameCount', UINT32), + ('pFormat', PIAudioMediaType), + ('u32Signature', UINT32) + ] + + +PAPO_CONNECTION_DESCRIPTOR = POINTER(APO_CONNECTION_DESCRIPTOR) + + +class APO_REG_PROPERTIES(ctypes.Structure): + _fields_ = [ + ('clsid', CLSID), + ('Flags', APO_FLAG), + ('szFriendlyName[256]', WCHAR), + ('szCopyrightInfo[256]', WCHAR), + ('u32MajorVersion', UINT32), + ('u32MinorVersion', UINT32), + ('u32MinInputConnections', UINT32), + ('u32MaxInputConnections', UINT32), + ('u32MinOutputConnections', UINT32), + ('u32MaxOutputConnections', UINT32), + ('u32MaxInstances', UINT32), + ('u32NumAPOInterfaces', UINT32), + ('iidAPOInterfaceList[]', IID) + ] + + +PAPO_REG_PROPERTIES = POINTER(APO_REG_PROPERTIES) + + +class APOInitBaseStruct(ctypes.Structure): + _fields_ = [ + ('cbSize', UINT32), + ('clsid', CLSID) + ] + + +PAPOInitBaseStruct = POINTER(APOInitBaseStruct) + + +class IAudioProcessingObjectRT(comtypes.IUnknown): + _iid_ = IID_IAudioProcessingObjectRT + _methods_ = ( + COMMETHOD( + [], + VOID, + 'APOProcess', + (['in'], UINT32, 'u32NumInputConnections'), + (['in'], POINTER(PAPO_CONNECTION_PROPERTY), 'ppInputConnections'), + (['in'], UINT32, 'u32NumOutputConnections'), + ( + ['in', 'out'], + POINTER(PAPO_CONNECTION_PROPERTY), + 'ppOutputConnections' + ), + ), + COMMETHOD( + [], + UINT32, + 'CalcInputFrames', + (['in'], UINT32, 'u32OutputFrameCount') + ), + COMMETHOD( + [], + UINT32, + 'CalcOutputFrames', + (['in'], UINT32, 'u32InputFrameCount') + ), + ) + + +PIAudioProcessingObjectRT = POINTER(IAudioProcessingObjectRT) + + +class IAudioProcessingObjectVBR(comtypes.IUnknown): + _iid_ = IID_IAudioProcessingObjectVBR + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'CalcMaxInputFrames', + (['in'], UINT32, 'u32MaxOutputFrameCount'), + (['out'], LPUINT32, 'pu32InputFrameCount'), + ), + COMMETHOD( + [], + HRESULT, + 'CalcMaxOutputFrames', + (['in'], UINT32, 'u32MaxInputFrameCount'), + (['out'], LPUINT32, 'pu32OutputFrameCount'), + ), + ) + + +PIAudioProcessingObjectVBR = POINTER(IAudioProcessingObjectVBR) + + +class IAudioProcessingObjectConfiguration(comtypes.IUnknown): + _iid_ = IID_IAudioProcessingObjectConfiguration + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'LockForProcess', + (['in'], UINT32, 'u32NumInputConnections'), + ( + ['in'], + POINTER(PAPO_CONNECTION_DESCRIPTOR), + 'ppInputConnections' + ), + (['in'], UINT32, 'u32NumOutputConnections'), + ( + ['in'], + POINTER(PAPO_CONNECTION_DESCRIPTOR), + 'ppOutputConnections' + ), + ), + COMMETHOD( + [], + HRESULT, + 'UnlockForProcess' + ), + ) + + +PIAudioProcessingObjectConfiguration = POINTER( + IAudioProcessingObjectConfiguration +) + + +class IAudioProcessingObject(comtypes.IUnknown): + _iid_ = IID_IAudioProcessingObject + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Reset' + ), + COMMETHOD( + [], + HRESULT, + 'GetLatency', + (['out'], LPHNSTIME, 'pTime') + ), + COMMETHOD( + [], + HRESULT, + 'GetRegistrationProperties', + (['out'], POINTER(PAPO_REG_PROPERTIES), 'ppRegProps') + ), + COMMETHOD( + [], + HRESULT, + 'Initialize', + (['in'], UINT32, 'cbDataSize'), + (['in'], LPBYTE, 'pbyData') + ), + COMMETHOD( + [], + HRESULT, + 'IsInputFormatSupported', + (['in', 'unique'], PIAudioMediaType, 'pOppositeFormat'), + (['in'], PIAudioMediaType, 'pRequestedInputFormat'), + (['out'], POINTER(PIAudioMediaType), 'ppSupportedInputFormat') + ), + COMMETHOD( + [], + HRESULT, + 'IsOutputFormatSupported', + (['in', 'unique'], PIAudioMediaType, 'pOppositeFormat'), + (['in'], PIAudioMediaType, 'pRequestedOutputFormat'), + (['out'], POINTER(PIAudioMediaType), 'ppSupportedOutputFormat') + ), + COMMETHOD( + [], + HRESULT, + 'GetInputChannelCount', + (['out'], LPUINT32, 'pu32ChannelCount') + ), + ) + + +PIAudioProcessingObject = POINTER(IAudioProcessingObject) + + +class IAudioSystemEffects(comtypes.IUnknown): + _iid_ = IID_IAudioSystemEffects + + +PIAudioSystemEffects = POINTER(IAudioSystemEffects) + + +class IAudioSystemEffects2(IAudioSystemEffects): + _iid_ = IID_IAudioSystemEffects2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetEffectsList', + (['out'], POINTER(LPGUID), 'ppEffectsIds'), + (['out'], LPUINT, 'pcEffects'), + (['in'], HANDLE, 'Event') + ), + ) + + +PIAudioSystemEffects2 = POINTER(IAudioSystemEffects2) + + +class IAudioSystemEffectsCustomFormats(comtypes.IUnknown): + _iid_ = IID_IAudioSystemEffectsCustomFormats + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetFormatCount', + (['out'], LPUINT, 'pcFormats') + ), + COMMETHOD( + [], + HRESULT, + 'GetFormatCount', + (['in'], UINT, 'nFormat'), + (['out'], POINTER(PIAudioMediaType), 'ppFormat') + ), + COMMETHOD( + [], + HRESULT, + 'GetFormatRepresentation', + (['in'], UINT, 'nFormat'), + (['out'], POINTER(LPWSTR), 'ppwstrFormatRep') + ) + ) + + +PIAudioSystemEffectsCustomFormats = POINTER(IAudioSystemEffectsCustomFormats) + + +class APOInitSystemEffects(ctypes.Structure): + _fields_ = [ + ('APOInit', APOInitBaseStruct), + ('pAPOEndpointProperties', PIPropertyStore), + ('pAPOSystemEffectsProperties', PIPropertyStore), + ('pReserved', LPCVOID), + ('pDeviceCollection', PIMMDeviceCollection) + ] + + +PAPOInitSystemEffects = POINTER(APOInitSystemEffects) + + +class APOInitSystemEffects2(ctypes.Structure): + _fields_ = [ + ('APOInit', APOInitBaseStruct), + ('pAPOEndpointProperties', PIPropertyStore), + ('pAPOSystemEffectsProperties', PIPropertyStore), + ('pReserved', LPCVOID), + ('pDeviceCollection', PIMMDeviceCollection), + ('nSoftwareIoDeviceInCollection', UINT), + ('nSoftwareIoConnectorIndex', UINT), + ('AudioProcessingMode', GUID), + ('InitializeForDiscoveryOnly', BOOL) + ] + + +PAPOInitSystemEffects2 = POINTER(APOInitSystemEffects2) + + +class AudioFXExtensionParams(ctypes.Structure): + _fields_ = [ + ('AddPageParam', LPARAM), + ('pwstrEndpointID', LPWSTR), + ('pFxProperties', PIPropertyStore), + ] + + +PAudioFXExtensionParams = POINTER(AudioFXExtensionParams) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioengineendpoint.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioengineendpoint.py new file mode 100644 index 000000000..991c488cf --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audioengineendpoint.py @@ -0,0 +1,476 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from mmdeviceapi import IMMDevice +from audioclient import PWAVEFORMATEX, WAVEFORMATEX +from audioapotypes import ( + APO_CONNECTION_PROPERTY, + PAPO_CONNECTION_PROPERTY +) +from enum import ( + AE_POSITION_FLAGS, + EndpointConnectorType, + AUDIO_CURVE_TYPE +) +from ctypes.wintypes import ( + FLOAT, + UINT, + DWORD, + BOOL, + HANDLE, + LPWSTR +) +from _iid import ( + IID_IAudioEndpointLastBufferControl, + IID_IHardwareAudioEngineBase, + IID_IAudioLfxControl, + IID_IAudioEndpointOffloadStreamVolume, + IID_IAudioEndpointOffloadStreamMute, + IID_IAudioEndpointOffloadStreamMeter, + IID_IAudioEndpoint, + IID_IAudioDeviceEndpoint, + IID_IAudioEndpointControl, + IID_IAudioEndpointRT, + IID_IAudioInputEndpointRT, + IID_IAudioOutputEndpointRT +) + +COMMETHOD = comtypes.COMMETHOD +HNSTIME = ctypes.c_longlong +VOID = ctypes.c_void_p +UINT32 = ctypes.c_uint32 +UINT64 = ctypes.c_uint64 +FLOAT32 = FLOAT +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +LPBOOL = POINTER(BOOL) +UINT_PTR = POINTER(UINT) + + +class AUDIO_ENDPOINT_SHARED_CREATE_PARAMS(ctypes.Structure): + _fields_ = [ + ('u32Size', UINT32), + ('u32TSSessionId', UINT32), + ('targetEndpointConnectorType', EndpointConnectorType), + ('wfxDeviceFormat', WAVEFORMATEX), + ] + + +PAUDIO_ENDPOINT_SHARED_CREATE_PARAMS = POINTER( + AUDIO_ENDPOINT_SHARED_CREATE_PARAMS +) + + +class AE_CURRENT_POSITION(ctypes.Structure): + _fields_ = [ + ('u64DevicePosition', UINT64), + ('u64StreamPosition', UINT64), + ('u64PaddingFrames', UINT64), + ('hnsQPCPosition', HNSTIME), + ('f32FramesPerSecond', FLOAT32), + ('Flag', AE_POSITION_FLAGS), + ] + + +PAE_CURRENT_POSITION = POINTER(AE_CURRENT_POSITION) + + +class IAudioEndpoint(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpoint + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetFrameFormat', + (['out'], POINTER(PWAVEFORMATEX), 'ppFormat') + ), + COMMETHOD( + [], + HRESULT, + 'GetFramesPerPacket', + (['out'], POINTER(UINT32), 'pFramesPerPacket') + ), + COMMETHOD( + [], + HRESULT, + 'GetLatency', + (['out'], POINTER(HNSTIME), 'pLatency') + ), + COMMETHOD( + [], + HRESULT, + 'SetStreamFlags', + (['in'], DWORD, 'streamFlags') + ), + COMMETHOD( + [], + HRESULT, + 'SetEventHandle', + (['in'], HANDLE, 'eventHandle') + ) + ) + + +PIAudioEndpoint = POINTER(IAudioEndpoint) + + +class IAudioEndpointLastBufferControl(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointLastBufferControl + _methods_ = ( + COMMETHOD( + [], + BOOL, + 'IsLastBufferControlSupported' + ), + COMMETHOD( + [], + VOID, + 'ReleaseOutputDataPointerForLastBuffer', + (['in'], PAPO_CONNECTION_PROPERTY, 'pConnectionProperty'), + ), + ) + + +PIAudioEndpointLastBufferControl = POINTER( + IAudioEndpointLastBufferControl +) + + +class IAudioLfxControl(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioLfxControl + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetLocalEffectsState', + (['in'], BOOL, 'bEnabled') + ), + COMMETHOD( + [], + HRESULT, + 'GetLocalEffectsState', + (['out'], LPBOOL, 'pbEnabled') + ) + ) + + +PIAudioLfxControl = POINTER(IAudioLfxControl) + + +class IHardwareAudioEngineBase(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IHardwareAudioEngineBase + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetAvailableOffloadConnectorCount', + (['in'], LPWSTR, '_pwstrDeviceId'), + (['in'], UINT32, '_uConnectorId'), + (['out'], POINTER(UINT32), '_pAvailableConnectorInstanceCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetEngineFormat', + (['in'], POINTER(IMMDevice), 'pDevice'), + (['in'], BOOL, '_bRequestDeviceFormat'), + (['out'], POINTER(PWAVEFORMATEX), '_ppwfxFormat') + ), + COMMETHOD( + [], + HRESULT, + 'SetEngineDeviceFormat', + (['in'], POINTER(IMMDevice), 'pDevice'), + (['in'], POINTER(WAVEFORMATEX), '_pwfxFormat') + ), + COMMETHOD( + [], + HRESULT, + 'SetGfxState', + (['in'], POINTER(IMMDevice), 'pDevice'), + (['in'], LPBOOL, '_bEnable') + ), + COMMETHOD( + [], + HRESULT, + 'GetGfxState', + (['in'], POINTER(IMMDevice), 'pDevice'), + (['out'], LPBOOL, '_bEnable') + ) + ) + + +PIHardwareAudioEngineBase = POINTER(IHardwareAudioEngineBase) + + +class IAudioEndpointOffloadStreamVolume(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointOffloadStreamVolume + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetVolumeChannelCount', + (['out'], POINTER(UINT32), 'pu32ChannelCount'), + ), + COMMETHOD( + [], + HRESULT, + 'SetChannelVolumes', + (['in'], UINT32, 'u32ChannelCount'), + (['in'], POINTER(FLOAT32), 'pf32Volumes'), + (['in'], AUDIO_CURVE_TYPE, 'u32CurveType'), + (['in'], POINTER(HNSTIME), 'pCurveDuration'), + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelVolumes', + (['in'], UINT32, 'u32ChannelCount'), + (['out'], POINTER(FLOAT32), 'pf32Volumes') + ) + ) + + +PIAudioEndpointOffloadStreamVolume = POINTER(IAudioEndpointOffloadStreamVolume) + + +class IAudioEndpointOffloadStreamMute(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointOffloadStreamMute + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetMute', + (['in'], BOOL, 'bMuted') + ), + COMMETHOD( + [], + HRESULT, + 'GetMute', + (['out'], LPBOOL, 'pbMuted') + ) + ) + + +PIAudioEndpointOffloadStreamMute = POINTER(IAudioEndpointOffloadStreamMute) + + +class IAudioEndpointOffloadStreamMeter(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointOffloadStreamMeter + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetMeterChannelCount', + (['out'], POINTER(UINT32), 'pu32ChannelCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetMeteringData', + (['in'], UINT32, 'u32ChannelCount'), + (['out'], POINTER(FLOAT32), 'pf32PeakValues') + ) + ) + + +PIAudioEndpointOffloadStreamMeter = POINTER(IAudioEndpointOffloadStreamMeter) + + +class IAudioDeviceEndpoint(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioDeviceEndpoint + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetBuffer', + (['in'], HNSTIME, 'MaxPeriod'), + (['in'], UINT32, 'u32LatencyCoefficient'), + ), + COMMETHOD( + [], + HRESULT, + 'GetRTCaps', + (['out', 'retval'], LPBOOL, 'pbIsRTCapable'), + ), + COMMETHOD( + [], + HRESULT, + 'GetEventDrivenCapable', + (['out', 'retval'], LPBOOL, 'pbisEventCapable'), + ), + COMMETHOD( + [], + HRESULT, + 'WriteExclusiveModeParametersToSharedMemory', + (['in'], UINT_PTR, 'hTargetProcess'), + (['in'], HNSTIME, 'hnsPeriod'), + (['in'], HNSTIME, 'hnsBufferDuration'), + (['in'], UINT32, 'u32LatencyCoefficient'), + (['out'], POINTER(UINT32), 'pu32SharedMemorySize'), + (['out'], POINTER(UINT_PTR), 'phSharedMemory'), + ) + ) + + +PIAudioDeviceEndpoint = POINTER(IAudioDeviceEndpoint) + + +class IAudioEndpointRT(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointRT + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetCurrentPadding', + (['out'], POINTER(HNSTIME), 'pPadding'), + (['out'], POINTER(AE_CURRENT_POSITION), 'pAeCurrentPosition') + ), + COMMETHOD( + [], + VOID, + 'ProcessingComplete', + ), + COMMETHOD( + [], + HRESULT, + 'SetPinInactive', + ), + COMMETHOD( + [], + HRESULT, + 'SetPinActive', + ) + ) + + +PIAudioEndpointRT = POINTER(IAudioEndpointRT) + + +class IAudioInputEndpointRT(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioInputEndpointRT + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetInputDataPointer', + ( + ['in', 'out'], + POINTER(APO_CONNECTION_PROPERTY), + 'pConnectionProperty' + ), + (['in', 'out'], POINTER(AE_CURRENT_POSITION), 'pAeTimeStamp') + ), + COMMETHOD( + [], + HRESULT, + 'ReleaseInputDataPointer', + (['in'], UINT32, 'u32FrameCount'), + (['in'], UINT_PTR, 'pDataPointer') + ), + COMMETHOD( + [], + VOID, + 'PulseEndpoint' + ) + ) + + +PIAudioInputEndpointRT = POINTER(IAudioInputEndpointRT) + + +class IAudioOutputEndpointRT(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioOutputEndpointRT + _methods_ = ( + COMMETHOD( + [], + UINT_PTR, + 'GetOutputDataPointer', + (['in'], UINT32, 'u32FrameCount'), + (['in'], PAE_CURRENT_POSITION, 'pAeTimeStamp'), + ), + COMMETHOD( + [], + VOID, + 'ReleaseOutputDataPointer', + (['in'], POINTER(APO_CONNECTION_PROPERTY), 'pConnectionProperty'), + ), + COMMETHOD( + [], + VOID, + 'PulseEndpoint' + ) + ) + + +PIAudioOutputEndpointRT = POINTER(IAudioOutputEndpointRT) + + +class IAudioEndpointControl(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointControl + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Start', + (['in'], VOID) + ), + COMMETHOD( + [], + HRESULT, + 'Reset', + (['in'], VOID) + ), + COMMETHOD( + [], + HRESULT, + 'Stop', + (['in'], VOID) + ), + COMMETHOD( + [], + HRESULT, + 'SetGfxState', + (['in'], POINTER(IMMDevice), 'pDevice'), + (['in'], LPBOOL, '_bEnable') + ), + COMMETHOD( + [], + HRESULT, + 'GetGfxState', + (['in'], POINTER(IMMDevice), 'pDevice'), + (['out'], LPBOOL, '_bEnable') + ) + ) + + +PIAudioEndpointControl = POINTER(IAudioEndpointControl) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audiomediatype.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audiomediatype.py new file mode 100644 index 000000000..b083265f9 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audiomediatype.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from iid import IID_IAudioMediaType +from audioclient import WAVEFORMATEX +from ctypes.wintypes import ( + BOOL, + DWORD, + FLOAT +) + +POINTER = ctypes.POINTER +COMMETHOD = comtypes.COMMETHOD +GUID = comtypes.GUID +HRESULT = ctypes.HRESULT +LPBOOL = POINTER(BOOL) +LPDWORD = POINTER(DWORD) + + +class UNCOMPRESSEDAUDIOFORMAT(ctypes.Structure): + _fields_ = [ + ('guidFormatType', GUID), + ('dwSamplesPerFrame', DWORD), + ('dwBytesPerSampleContainer', DWORD), + ('dwValidBitsPerSample', DWORD), + ('fFramesPerSecond', FLOAT), + ('dwChannelMask', DWORD), + ] + + +PUNCOMPRESSEDAUDIOFORMAT = POINTER(UNCOMPRESSEDAUDIOFORMAT) + + +class IAudioMediaType(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioMediaType + + +PIAudioMediaType = POINTER(IAudioMediaType) + + +IAudioMediaType._methods_ = ( + COMMETHOD( + [], + HRESULT, + 'IsCompressedFormat', + (['out'], LPBOOL, 'pfCompressed') + ), + COMMETHOD( + [], + HRESULT, + 'IsEqual', + (['in'], PIAudioMediaType, 'pIAudioType'), + (['out'], LPDWORD, 'pdwFlags'), + ), + COMMETHOD( + [], + WAVEFORMATEX, + 'GetAudioFormat' + ), + COMMETHOD( + [], + HRESULT, + 'GetUncompressedAudioFormat', + (['out'], PUNCOMPRESSEDAUDIOFORMAT, 'pUncompressedAudioFormat'), + ) +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audiopolicy.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audiopolicy.py new file mode 100644 index 000000000..df77017cb --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/audiopolicy.py @@ -0,0 +1,359 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from enum import PAudioSessionState +from audioclient import PISimpleAudioVolume +from iid import ( + IID_IAudioSessionEvents, + IID_IAudioSessionControl, + IID_IAudioSessionControl2, + IID_IAudioSessionManager, + IID_IAudioSessionManager2, + IID_IAudioSessionNotification, + IID_IAudioVolumeDuckNotification, + IID_IAudioSessionEnumerator, +) +from ctypes.wintypes import ( + FLOAT, + INT, + DWORD, + BOOL, + LPWSTR, + LPCWSTR, + WCHAR, +) + + +COMMETHOD = comtypes.COMMETHOD +GUID = comtypes.GUID +UINT32 = ctypes.c_uint32 +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +LPWCHAR = POINTER(WCHAR) +LPCGUID = POINTER(comtypes.GUID) +LPDWORD = POINTER(DWORD) +LPINT = POINTER(INT) + + +class IAudioSessionEvents(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioSessionEvents + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnDisplayNameChanged', + (['in'], LPCWSTR, 'NewDisplayName'), + (['in'], LPCGUID, 'EventContext'), + ), + COMMETHOD( + [], + HRESULT, + 'OnIconPathChanged', + (['in'], LPWCHAR, 'NewIconPath'), + (['in'], LPCGUID, 'EventContext'), + ), + COMMETHOD( + [], + HRESULT, + 'OnSimpleVolumeChanged', + (['in'], FLOAT, 'NewVolume'), + (['in'], BOOL, 'NewMute'), + (['in'], LPCGUID, 'EventContext'), + ), + COMMETHOD( + [], + HRESULT, + 'OnChannelVolumeChanged', + (['in'], DWORD, 'ChannelCount'), + (['in'], (FLOAT * 8), 'NewChannelVolumeArray'), + (['in'], DWORD, 'ChangedChannel'), + (['in'], LPCGUID, 'EventContext'), + ), + COMMETHOD( + [], + HRESULT, + 'OnGroupingParamChanged', + (['in'], LPCGUID, 'NewGroupingParam'), + (['in'], LPCGUID, 'EventContext'), + ), + COMMETHOD( + [], + HRESULT, + 'OnStateChanged', + (['in'], DWORD, 'DisconnectReason'), + ), + COMMETHOD( + [], + HRESULT, + 'OnSessionDisconnected', + (['in'], DWORD, 'DisconnectReason'), + ) + ) + + +PIAudioSessionEvents = POINTER(IAudioSessionEvents) + + +class IAudioSessionControl(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioSessionControl + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetState', + (['out'], PAudioSessionState, 'pRetVal') + ), + COMMETHOD( + [], + HRESULT, + 'GetDisplayName', + (['out'], POINTER(LPWSTR), 'pRetVal') + ), + COMMETHOD( + [], + HRESULT, + 'SetDisplayName', + (['in'], LPCWSTR, 'Value'), + (['in', 'unique'], LPCGUID, 'EventContext') + ), + COMMETHOD( + [], + HRESULT, + 'GetIconPath', + (['out'], POINTER(LPCWSTR), 'pRetVal') + ), + COMMETHOD( + [], + HRESULT, + 'SetIconPath', + (['in'], LPCWSTR, 'Value'), + (['in'], LPCGUID, 'EventContext') + ), + COMMETHOD( + [], + HRESULT, + 'GetGroupingParam', + (['out'], POINTER(GUID), 'pRetVal') + ), + COMMETHOD( + [], + HRESULT, + 'SetGroupingParam', + (['in'], LPCGUID, 'Override'), + (['in'], LPCGUID, 'EventContext') + ), + COMMETHOD( + [], + HRESULT, + 'RegisterAudioSessionNotification', + (['in'], PIAudioSessionEvents, 'NewNotifications') + ), + COMMETHOD( + [], + HRESULT, + 'UnregisterAudioSessionNotification', + (['in'], PIAudioSessionEvents, 'NewNotifications') + ) + ) + + +PIAudioSessionControl = POINTER(IAudioSessionControl) + + +class IAudioSessionNotification(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioSessionNotification + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnSessionCreated', + (['in'], PIAudioSessionControl, 'NewSession') + ), + ) + + +PIAudioSessionNotification = POINTER(IAudioSessionNotification) + + +class IAudioSessionEnumerator(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioSessionEnumerator + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetCount', + (['out'], LPINT, 'SessionCount') + ), + + COMMETHOD( + [], + HRESULT, + 'GetSession', + (['in'], INT, 'SessionCount'), + (['out'], POINTER(PIAudioSessionControl), 'Session') + ) + ) + + +PIAudioSessionEnumerator = POINTER(IAudioSessionEnumerator) + + +class IAudioSessionControl2(IAudioSessionControl): + _case_insensitive_ = True + _iid_ = IID_IAudioSessionControl2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetSessionIdentifier', + (['out'], POINTER(LPCWSTR), 'pRetVal') + ), + COMMETHOD( + [], + HRESULT, + 'GetSessionInstanceIdentifier', + (['out'], POINTER(LPCWSTR), 'pRetVal') + ), + COMMETHOD( + [], + HRESULT, + 'GetProcessId', + (['out'], POINTER(DWORD), 'pRetVal') + ), + COMMETHOD( + [], + HRESULT, + 'IsSystemSoundsSession' + ), + COMMETHOD( + [], + HRESULT, + 'SetDuckingPreferences', + (['in'], BOOL, 'optOut') + ) + ) + + +PIAudioSessionControl2 = POINTER(IAudioSessionControl2) + + +class IAudioSessionManager(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioSessionManager + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetAudioSessionControl', + (['in'], LPCGUID, 'AudioSessionGuid'), + (['in'], DWORD, 'StreamFlags'), + ( + ['out'], + POINTER(PIAudioSessionControl), + 'SessionControl' + ) + ), + COMMETHOD( + [], + HRESULT, + 'GetSimpleAudioVolume', + (['in'], LPCGUID, 'AudioSessionGuid'), + (['in'], DWORD, 'CrossProcessSession'), + (['out'], POINTER(PISimpleAudioVolume), 'AudioVolume') + ) + + ) + + +PIAudioSessionManager = POINTER(IAudioSessionManager) + + +class IAudioVolumeDuckNotification(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioVolumeDuckNotification + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnVolumeDuckNotification', + (['in'], LPCWSTR, 'sessionID'), + (['in'], UINT32, 'countCommunicationSessions'), + ), + COMMETHOD( + [], + HRESULT, + 'OnVolumeUnduckNotification', + (['in'], LPCWSTR, 'sessionID') + ) + ) + + +PIAudioVolumeDuckNotification = POINTER(IAudioVolumeDuckNotification) + + +class IAudioSessionManager2(IAudioSessionManager): + _case_insensitive_ = True + _iid_ = IID_IAudioSessionManager2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetSessionEnumerator', + ( + ['out', 'retval'], + POINTER(PIAudioSessionEnumerator), + 'SessionList' + ) + ), + comtypes.STDMETHOD( + HRESULT, + 'RegisterSessionNotification', + ( + PIAudioSessionNotification, + ) + ), + comtypes.STDMETHOD( + HRESULT, + 'UnregisterSessionNotification', + ( + PIAudioSessionNotification, + ) + ), + COMMETHOD( + [], + HRESULT, + 'RegisterDuckNotification', + (['in'], LPCWSTR, 'SessionID'), + (['in'], PIAudioVolumeDuckNotification, 'duckNotification') + ), + COMMETHOD( + [], + HRESULT, + 'UnregisterDuckNotification', + (['in'], PIAudioVolumeDuckNotification, 'duckNotification') + ) + ) + + +PIAudioSessionManager2 = POINTER(IAudioSessionManager2) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/constant.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/constant.py new file mode 100644 index 000000000..ce398a02e --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/constant.py @@ -0,0 +1,3599 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +from ctypes import sizeof, HRESULT +from ctypes.wintypes import FLOAT# , ULONG +from comtypes import GUID +from propertystore import PROPERTYKEY + + +def _HRESULT_TYPEDEF_(_sc): + return HRESULT(_sc) + + +def AUDCLNT_ERR(code): + return (SEVERITY_ERROR << 31) | (FACILITY_AUDCLNT << 16) | code + + +def AUDCLNT_SUCCESS(code): + return (SEVERITY_SUCCESS << 31) | (FACILITY_AUDCLNT << 16) | code + + +def CTL_CODE(DeviceType, Function, Method, Access): + return DeviceType << 16 | Access << 14 | Function << 2 | Method + + +def _convert_guid(*hex_guid): + guid = [] + hex_four = '' + hex_twelve = '' + for h in hex_guid: + h = hex(h)[2:].replace('L', '') + + if len(h) not in (8, 4, 2): + h = '0' + h + + if len(h) == 2: + if hex_four is not None and hex_four: + h = hex_four + h + hex_four = None + elif hex_four is None: + hex_twelve += h + if len(hex_twelve) == 12: + h = hex_twelve + else: + continue + else: + hex_four = h + continue + guid += [h.upper()] + + guid = '{' + '-'.join(guid) + '}' + return guid + + +def DEFINE_PROPERTYKEY(*hex_guid): + guid = _convert_guid(*hex_guid[:-1]) + index = hex_guid[-1] + + return PROPERTYKEY(GUID(guid), index) + + +def DEFINE_GUIDNAMED(*hex_guid): + return GUID(_convert_guid(*hex_guid)) + + +def DEFINE_USB_TERMINAL_GUID(*hex_code): + return ( + 0xDFF219E0 + hex_code[0], + 0xF70F, + 0x11D0, + 0xB9, + 0x17, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 + ) + + +S_OK = 0x00000000 + +STGM_READ = 0x00000000 +STGM_WRITE = 0x00000001 +STGM_READWRITE = 0x00000002 + +DEVICE_STATE_ACTIVE = 0x00000001 +DEVICE_STATE_DISABLED = 0x00000002 +DEVICE_STATE_NOTPRESENT = 0x00000004 +DEVICE_STATE_UNPLUGGED = 0x00000008 +DEVICE_STATE_MASK_ALL = 0x0000000F + +ENDPOINT_HARDWARE_SUPPORT_VOLUME = 0x00000001 +ENDPOINT_HARDWARE_SUPPORT_MUTE = 0x00000002 +ENDPOINT_HARDWARE_SUPPORT_METER = 0x00000004 + +AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED = 0x10000000 +AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE = 0x20000000 +AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED = 0x40000000 + +AUDIOMEDIATYPE_EQUAL_FORMAT_TYPES = 0x00000002 +AUDIOMEDIATYPE_EQUAL_FORMAT_DATA = 0x00000004 +AUDIOMEDIATYPE_EQUAL_FORMAT_USER_DATA = 0x00000008 + +AUDCLNT_STREAMFLAGS_CROSSPROCESS = 0x00010000 +AUDCLNT_STREAMFLAGS_LOOPBACK = 0x00020000 +AUDCLNT_STREAMFLAGS_EVENTCALLBACK = 0x00040000 +AUDCLNT_STREAMFLAGS_NOPERSIST = 0x00080000 +AUDCLNT_STREAMFLAGS_RATEADJUST = 0x00100000 +AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY = 0x08000000 +AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM = 0x80000000 + +ENDPOINT_SYSFX_ENABLED = 0x00000000 +ENDPOINT_SYSFX_DISABLED = 0x00000001 + +JACKDESC2_PRESENCE_DETECT_CAPABILITY = 0x00000001 +JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY = 0x00000002 + +APO_CONNECTION_DESCRIPTOR_SIGNATURE = 'ACDS' +APO_CONNECTION_PROPERTY_SIGNATURE = 'ACPS' + +AUDIO_MIN_CHANNELS = 1 +AUDIO_MAX_CHANNELS = 4096 + +AUDIO_MIN_FRAMERATE = 10.0 +AUDIO_MAX_FRAMERATE = 384000.0 + +# The object has already been initialized. +APOERR_ALREADY_INITIALIZED = _HRESULT_TYPEDEF_(0x887D0001) +# Object/structure is not initialized. +APOERR_NOT_INITIALIZED = _HRESULT_TYPEDEF_(0x887D0002) +# a pin supporting the format cannot be found. +APOERR_FORMAT_NOT_SUPPORTED = _HRESULT_TYPEDEF_(0x887D0003) +# Invalid CLSID in an APO Initialization structure +APOERR_INVALID_APO_CLSID = _HRESULT_TYPEDEF_(0x887D0004) +# Buffers overlap on an APO that does not accept in-place buffers. +APOERR_BUFFERS_OVERLAP = _HRESULT_TYPEDEF_(0x887D0005) +# APO is already in an unlocked state +APOERR_ALREADY_UNLOCKED = _HRESULT_TYPEDEF_(0x887D0006) +# number of input or output connections not valid on this APO +APOERR_NUM_CONNECTIONS_INVALID = _HRESULT_TYPEDEF_(0x887D0007) +# Output maxFrameCount not large enough. +APOERR_INVALID_OUTPUT_MAXFRAMECOUNT = _HRESULT_TYPEDEF_(0x887D0008) +# Invalid connection format for this operation +APOERR_INVALID_CONNECTION_FORMAT = _HRESULT_TYPEDEF_(0x887D0009) +# APO is locked ready to process and can not be changed +APOERR_APO_LOCKED = _HRESULT_TYPEDEF_(0x887D000A) +# Invalid coefficient count +APOERR_INVALID_COEFFCOUNT = _HRESULT_TYPEDEF_(0x887D000B) +# Invalid coefficient +APOERR_INVALID_COEFFICIENT = _HRESULT_TYPEDEF_(0x887D000C) +# an invalid curve parameter was specified +APOERR_INVALID_CURVE_PARAM = _HRESULT_TYPEDEF_(0x887D000D) + +MAX_SINK_DESCRIPTION_NAME_LENGTH = 32 + +FACILITY_AUDCLNT = 2185 +SEVERITY_SUCCESS = 0 +SEVERITY_ERROR = 1 + + +AUDCLNT_E_NOT_INITIALIZED = AUDCLNT_ERR(0x001) +AUDCLNT_E_ALREADY_INITIALIZED = AUDCLNT_ERR(0x002) +AUDCLNT_E_WRONG_ENDPOINT_TYPE = AUDCLNT_ERR(0x003) +AUDCLNT_E_DEVICE_INVALIDATED = AUDCLNT_ERR(0x004) +AUDCLNT_E_NOT_STOPPED = AUDCLNT_ERR(0x005) +AUDCLNT_E_BUFFER_TOO_LARGE = AUDCLNT_ERR(0x006) +AUDCLNT_E_OUT_OF_ORDER = AUDCLNT_ERR(0x007) +AUDCLNT_E_UNSUPPORTED_FORMAT = AUDCLNT_ERR(0x008) +AUDCLNT_E_INVALID_SIZE = AUDCLNT_ERR(0x009) +AUDCLNT_E_DEVICE_IN_USE = AUDCLNT_ERR(0x00a) +AUDCLNT_E_BUFFER_OPERATION_PENDING = AUDCLNT_ERR(0x00b) +AUDCLNT_E_THREAD_NOT_REGISTERED = AUDCLNT_ERR(0x00c) +AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED = AUDCLNT_ERR(0x00e) +AUDCLNT_E_ENDPOINT_CREATE_FAILED = AUDCLNT_ERR(0x00f) +AUDCLNT_E_SERVICE_NOT_RUNNING = AUDCLNT_ERR(0x010) +AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED = AUDCLNT_ERR(0x011) +AUDCLNT_E_EXCLUSIVE_MODE_ONLY = AUDCLNT_ERR(0x012) +AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL = AUDCLNT_ERR(0x013) +AUDCLNT_E_EVENTHANDLE_NOT_SET = AUDCLNT_ERR(0x014) +AUDCLNT_E_INCORRECT_BUFFER_SIZE = AUDCLNT_ERR(0x015) +AUDCLNT_E_BUFFER_SIZE_ERROR = AUDCLNT_ERR(0x016) +AUDCLNT_E_CPUUSAGE_EXCEEDED = AUDCLNT_ERR(0x017) +AUDCLNT_E_BUFFER_ERROR = AUDCLNT_ERR(0x018) +AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED = AUDCLNT_ERR(0x019) +AUDCLNT_E_INVALID_DEVICE_PERIOD = AUDCLNT_ERR(0x020) +AUDCLNT_E_INVALID_STREAM_FLAG = AUDCLNT_ERR(0x021) +AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE = AUDCLNT_ERR(0x022) +AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES = AUDCLNT_ERR(0x023) +AUDCLNT_E_OFFLOAD_MODE_ONLY = AUDCLNT_ERR(0x024) +AUDCLNT_E_NONOFFLOAD_MODE_ONLY = AUDCLNT_ERR(0x025) +AUDCLNT_E_RESOURCES_INVALIDATED = AUDCLNT_ERR(0x026) +AUDCLNT_E_RAW_MODE_UNSUPPORTED = AUDCLNT_ERR(0x027) +AUDCLNT_E_ENGINE_PERIODICITY_LOCKED = AUDCLNT_ERR(0x028) +AUDCLNT_E_ENGINE_FORMAT_LOCKED = AUDCLNT_ERR(0x029) +AUDCLNT_S_BUFFER_EMPTY = AUDCLNT_SUCCESS(0x001) +AUDCLNT_S_THREAD_ALREADY_REGISTERED = AUDCLNT_SUCCESS(0x002) +AUDCLNT_S_POSITION_STALLED = AUDCLNT_SUCCESS(0x003) + + +SPATIAL_AUDIO_STANDARD_COMMANDS_START = 200 +SPATIAL_AUDIO_POSITION = SPATIAL_AUDIO_STANDARD_COMMANDS_START +SPATIAL_AUDIO_POSITION_BYTE_COUNT = sizeof(FLOAT) * 3 + + +SPTLAUD_MD_CLNT_E_COMMAND_NOT_FOUND = AUDCLNT_ERR(0x0200) +SPTLAUD_MD_CLNT_E_OBJECT_NOT_INITIALIZED = AUDCLNT_ERR(0x0201) +SPTLAUD_MD_CLNT_E_INVALID_ARGS = AUDCLNT_ERR(0x0202) +SPTLAUD_MD_CLNT_E_METADATA_FORMAT_NOT_FOUND = AUDCLNT_ERR(0x0203) +SPTLAUD_MD_CLNT_E_VALUE_BUFFER_INCORRECT_SIZE = AUDCLNT_ERR(0x0204) +SPTLAUD_MD_CLNT_E_MEMORY_BOUNDS = AUDCLNT_ERR(0x0205) +SPTLAUD_MD_CLNT_E_NO_MORE_COMMANDS = AUDCLNT_ERR(0x0206) +SPTLAUD_MD_CLNT_E_BUFFER_ALREADY_ATTACHED = AUDCLNT_ERR(0x0207) +SPTLAUD_MD_CLNT_E_BUFFER_NOT_ATTACHED = AUDCLNT_ERR(0x0208) +SPTLAUD_MD_CLNT_E_FRAMECOUNT_OUT_OF_RANGE = AUDCLNT_ERR(0x0209) +SPTLAUD_MD_CLNT_E_NO_ITEMS_FOUND = AUDCLNT_ERR(0x0210) +SPTLAUD_MD_CLNT_E_ITEM_COPY_OVERFLOW = AUDCLNT_ERR(0x0211) +SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN = AUDCLNT_ERR(0x0212) +SPTLAUD_MD_CLNT_E_ITEMS_ALREADY_OPEN = AUDCLNT_ERR(0x0213) +SPTLAUD_MD_CLNT_E_ATTACH_FAILED_INTERNAL_BUFFER = AUDCLNT_ERR(0x0214) +SPTLAUD_MD_CLNT_E_DETACH_FAILED_INTERNAL_BUFFER = AUDCLNT_ERR(0x0215) +SPTLAUD_MD_CLNT_E_NO_BUFFER_ATTACHED = AUDCLNT_ERR(0x0216) +SPTLAUD_MD_CLNT_E_NO_MORE_ITEMS = AUDCLNT_ERR(0x0217) +SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE = AUDCLNT_ERR(0x0218) +SPTLAUD_MD_CLNT_E_ITEM_MUST_HAVE_COMMANDS = AUDCLNT_ERR(0x0219) +SPTLAUD_MD_CLNT_E_NO_ITEMOFFSET_WRITTEN = AUDCLNT_ERR(0x0220) +SPTLAUD_MD_CLNT_E_NO_ITEMS_WRITTEN = AUDCLNT_ERR(0x0221) +SPTLAUD_MD_CLNT_E_COMMAND_ALREADY_WRITTEN = AUDCLNT_ERR(0x0222) +SPTLAUD_MD_CLNT_E_FORMAT_MISMATCH = AUDCLNT_ERR(0x0223) +SPTLAUD_MD_CLNT_E_BUFFER_STILL_ATTACHED = AUDCLNT_ERR(0x0224) +SPTLAUD_MD_CLNT_E_ITEMS_LOCKED_FOR_WRITING = AUDCLNT_ERR(0x0225) + + +SPTLAUDCLNT_E_DESTROYED = AUDCLNT_ERR(0x0100) +SPTLAUDCLNT_E_OUT_OF_ORDER = AUDCLNT_ERR(0x0101) +SPTLAUDCLNT_E_RESOURCES_INVALIDATED = AUDCLNT_ERR(0x0102) +SPTLAUDCLNT_E_NO_MORE_OBJECTS = AUDCLNT_ERR(0x0103) +SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED = AUDCLNT_ERR(0x0104) +SPTLAUDCLNT_E_ERRORS_IN_OBJECT_CALLS = AUDCLNT_ERR(0x0105) +SPTLAUDCLNT_E_METADATA_FORMAT_NOT_SUPPORTED = AUDCLNT_ERR(0x0106) +SPTLAUDCLNT_E_STREAM_NOT_AVAILABLE = AUDCLNT_ERR(0x0107) +SPTLAUDCLNT_E_INVALID_LICENSE = AUDCLNT_ERR(0x0108) +SPTLAUDCLNT_E_STREAM_NOT_STOPPED = AUDCLNT_ERR(0x010a) +SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE = AUDCLNT_ERR(0x010b) +SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE = AUDCLNT_ERR(0x010c) +SPTLAUDCLNT_E_INTERNAL = AUDCLNT_ERR(0x010d) + + +DEVPKEY_DeviceClass_IconPath = DEFINE_PROPERTYKEY( + 0x259abffc, + 0x50a7, + 0x47ce, + 0xaf, + 0x8, + 0x68, + 0xc9, + 0xa7, + 0xd7, + 0x33, + 0x66, + 12 +) + +STATIC_KSNODETYPE_SWSYNTH = ( + 0x423274A0, + 0x8B81, + 0x11D1, + 0xA0, + 0x50, + 0x00, + 0x00, + 0xF8, + 0x00, + 0x47, + 0x88 +) +KSNODETYPE_SWSYNTH = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SWSYNTH +) +STATIC_KSNODETYPE_SWMIDI = ( + 0xCB9BEFA0, + 0xA251, + 0x11D1, + 0xA0, + 0x50, + 0x00, + 0x00, + 0xF8, + 0x00, + 0x47, + 0x88 +) +KSNODETYPE_SWMIDI = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SWMIDI +) +STATIC_KSNODETYPE_DRM_DESCRAMBLE = ( + 0xFFBB6E3F, + 0xCCFE, + 0x4D84, + 0x90, + 0xD9, + 0x42, + 0x14, + 0x18, + 0xB0, + 0x3A, + 0x8E +) +KSNODETYPE_DRM_DESCRAMBLE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DRM_DESCRAMBLE +) +STATIC_KSNODETYPE_TELEPHONY_BIDI = ( + 0x686d7cc0, + 0xd903, + 0x4258, + 0xb4, + 0x43, + 0x3a, + 0x3d, + 0x35, + 0x80, + 0x74, + 0x1c +) +KSNODETYPE_TELEPHONY_BIDI = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_TELEPHONY_BIDI +) +STATIC_KSNODETYPE_FM_RX = ( + 0x834a733c, + 0xf485, + 0x41c0, + 0xa6, + 0x2b, + 0x51, + 0x30, + 0x25, + 0x1, + 0x4e, + 0x40 +) +KSNODETYPE_FM_RX = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_FM_RX +) +STATIC_KSNODETYPE_INPUT_UNDEFINED = DEFINE_USB_TERMINAL_GUID(0x0200) +KSNODETYPE_INPUT_UNDEFINED = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_INPUT_UNDEFINED +) +STATIC_KSNODETYPE_MICROPHONE = DEFINE_USB_TERMINAL_GUID(0x0201) +KSNODETYPE_MICROPHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MICROPHONE +) +STATIC_KSNODETYPE_DESKTOP_MICROPHONE = DEFINE_USB_TERMINAL_GUID(0x0202) +KSNODETYPE_DESKTOP_MICROPHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DESKTOP_MICROPHONE +) +STATIC_KSNODETYPE_PERSONAL_MICROPHONE = DEFINE_USB_TERMINAL_GUID(0x0203) +KSNODETYPE_PERSONAL_MICROPHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PERSONAL_MICROPHONE +) +STATIC_KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE = DEFINE_USB_TERMINAL_GUID( + 0x0204 +) +KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE +) +STATIC_KSNODETYPE_MICROPHONE_ARRAY = DEFINE_USB_TERMINAL_GUID(0x0205) +KSNODETYPE_MICROPHONE_ARRAY = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MICROPHONE_ARRAY +) +STATIC_KSNODETYPE_PROCESSING_MICROPHONE_ARRAY = DEFINE_USB_TERMINAL_GUID( + 0x0206 +) +KSNODETYPE_PROCESSING_MICROPHONE_ARRAY = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PROCESSING_MICROPHONE_ARRAY +) +STATIC_KSNODETYPE_OUTPUT_UNDEFINED = DEFINE_USB_TERMINAL_GUID(0x0300) +KSNODETYPE_OUTPUT_UNDEFINED = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_OUTPUT_UNDEFINED +) +STATIC_KSNODETYPE_SPEAKER = DEFINE_USB_TERMINAL_GUID(0x0301) +KSNODETYPE_SPEAKER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SPEAKER +) +STATIC_KSNODETYPE_HEADPHONES = DEFINE_USB_TERMINAL_GUID(0x0302) +KSNODETYPE_HEADPHONES = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_HEADPHONES +) +STATIC_KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO = DEFINE_USB_TERMINAL_GUID(0x0303) +KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO +) +STATIC_KSNODETYPE_DESKTOP_SPEAKER = DEFINE_USB_TERMINAL_GUID(0x0304) +KSNODETYPE_DESKTOP_SPEAKER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DESKTOP_SPEAKER +) +STATIC_KSNODETYPE_ROOM_SPEAKER = DEFINE_USB_TERMINAL_GUID(0x0305) +KSNODETYPE_ROOM_SPEAKER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_ROOM_SPEAKER +) +STATIC_KSNODETYPE_COMMUNICATION_SPEAKER = DEFINE_USB_TERMINAL_GUID(0x0306) +KSNODETYPE_COMMUNICATION_SPEAKER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_COMMUNICATION_SPEAKER +) +STATIC_KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER = DEFINE_USB_TERMINAL_GUID( + 0x0307 +) +KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER +) +STATIC_KSNODETYPE_BIDIRECTIONAL_UNDEFINED = DEFINE_USB_TERMINAL_GUID(0x0400) +KSNODETYPE_BIDIRECTIONAL_UNDEFINED = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_BIDIRECTIONAL_UNDEFINED +) +STATIC_KSNODETYPE_HANDSET = DEFINE_USB_TERMINAL_GUID(0x0401) +KSNODETYPE_HANDSET = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_HANDSET +) +KSNODETYPE_HEADSET_MICROPHONE = KSNODETYPE_PERSONAL_MICROPHONE + +# define = KSNODETYPE_HEADSET_SPEAKERS KSNODETYPE_COMMUNICATION_SPEAKER + +STATIC_KSNODETYPE_HEADSET = DEFINE_USB_TERMINAL_GUID(0x0402) +KSNODETYPE_HEADSET = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_HEADSET +) +STATIC_KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION = DEFINE_USB_TERMINAL_GUID( + 0x0403 +) +KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION +) +STATIC_KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE = DEFINE_USB_TERMINAL_GUID( + 0x0404 +) +KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE +) +STATIC_KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE = DEFINE_USB_TERMINAL_GUID( + 0x0405 +) +KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE +) +STATIC_KSNODETYPE_TELEPHONY_UNDEFINED = DEFINE_USB_TERMINAL_GUID(0x0500) +KSNODETYPE_TELEPHONY_UNDEFINED = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_TELEPHONY_UNDEFINED +) +STATIC_KSNODETYPE_PHONE_LINE = DEFINE_USB_TERMINAL_GUID(0x0501) +KSNODETYPE_PHONE_LINE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PHONE_LINE +) +STATIC_KSNODETYPE_TELEPHONE = DEFINE_USB_TERMINAL_GUID(0x0502) +KSNODETYPE_TELEPHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_TELEPHONE +) +STATIC_KSNODETYPE_DOWN_LINE_PHONE = DEFINE_USB_TERMINAL_GUID(0x0503) +KSNODETYPE_DOWN_LINE_PHONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DOWN_LINE_PHONE +) +STATIC_KSNODETYPE_EXTERNAL_UNDEFINED = DEFINE_USB_TERMINAL_GUID(0x0600) +KSNODETYPE_EXTERNAL_UNDEFINED = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_EXTERNAL_UNDEFINED +) +STATIC_KSNODETYPE_ANALOG_CONNECTOR = DEFINE_USB_TERMINAL_GUID(0x601) +KSNODETYPE_ANALOG_CONNECTOR = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_ANALOG_CONNECTOR +) +STATIC_KSNODETYPE_DIGITAL_AUDIO_INTERFACE = DEFINE_USB_TERMINAL_GUID(0x0602) +KSNODETYPE_DIGITAL_AUDIO_INTERFACE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DIGITAL_AUDIO_INTERFACE +) +STATIC_KSNODETYPE_LINE_CONNECTOR = DEFINE_USB_TERMINAL_GUID(0x0603) +KSNODETYPE_LINE_CONNECTOR = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_LINE_CONNECTOR +) +STATIC_KSNODETYPE_LEGACY_AUDIO_CONNECTOR = DEFINE_USB_TERMINAL_GUID(0x0604) +KSNODETYPE_LEGACY_AUDIO_CONNECTOR = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_LEGACY_AUDIO_CONNECTOR +) +STATIC_KSNODETYPE_SPDIF_INTERFACE = DEFINE_USB_TERMINAL_GUID(0x0605) +KSNODETYPE_SPDIF_INTERFACE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SPDIF_INTERFACE +) +STATIC_KSNODETYPE_1394_DA_STREAM = DEFINE_USB_TERMINAL_GUID(0x0606) +KSNODETYPE_1394_DA_STREAM = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_1394_DA_STREAM +) +STATIC_KSNODETYPE_1394_DV_STREAM_SOUNDTRACK = DEFINE_USB_TERMINAL_GUID(0x0607) +KSNODETYPE_1394_DV_STREAM_SOUNDTRACK = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_1394_DV_STREAM_SOUNDTRACK +) +STATIC_KSNODETYPE_EMBEDDED_UNDEFINED = DEFINE_USB_TERMINAL_GUID(0x0700) +KSNODETYPE_EMBEDDED_UNDEFINED = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_EMBEDDED_UNDEFINED +) +STATIC_KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE = DEFINE_USB_TERMINAL_GUID( + 0x0701 +) +KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE +) +STATIC_KSNODETYPE_EQUALIZATION_NOISE = DEFINE_USB_TERMINAL_GUID(0x0702) +KSNODETYPE_EQUALIZATION_NOISE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_EQUALIZATION_NOISE +) +STATIC_KSNODETYPE_CD_PLAYER = DEFINE_USB_TERMINAL_GUID(0x0703) +KSNODETYPE_CD_PLAYER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_CD_PLAYER +) +STATIC_KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE = DEFINE_USB_TERMINAL_GUID(0x0704) +KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE +) +STATIC_KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE = DEFINE_USB_TERMINAL_GUID( + 0x0705 +) +KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE +) +STATIC_KSNODETYPE_MINIDISK = DEFINE_USB_TERMINAL_GUID(0x0706) +KSNODETYPE_MINIDISK = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MINIDISK +) +STATIC_KSNODETYPE_ANALOG_TAPE = DEFINE_USB_TERMINAL_GUID(0x0707) +KSNODETYPE_ANALOG_TAPE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_ANALOG_TAPE +) +STATIC_KSNODETYPE_PHONOGRAPH = DEFINE_USB_TERMINAL_GUID(0x0708) +KSNODETYPE_PHONOGRAPH = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PHONOGRAPH +) +STATIC_KSNODETYPE_VCR_AUDIO = DEFINE_USB_TERMINAL_GUID(0x0708) +KSNODETYPE_VCR_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_VCR_AUDIO +) +STATIC_KSNODETYPE_VIDEO_DISC_AUDIO = DEFINE_USB_TERMINAL_GUID(0x070A) +KSNODETYPE_VIDEO_DISC_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_VIDEO_DISC_AUDIO +) +STATIC_KSNODETYPE_DVD_AUDIO = DEFINE_USB_TERMINAL_GUID(0x070B) +KSNODETYPE_DVD_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DVD_AUDIO +) +STATIC_KSNODETYPE_TV_TUNER_AUDIO = DEFINE_USB_TERMINAL_GUID(0x070C) +KSNODETYPE_TV_TUNER_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_TV_TUNER_AUDIO +) +STATIC_KSNODETYPE_SATELLITE_RECEIVER_AUDIO = DEFINE_USB_TERMINAL_GUID(0x070D) +KSNODETYPE_SATELLITE_RECEIVER_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SATELLITE_RECEIVER_AUDIO +) +STATIC_KSNODETYPE_CABLE_TUNER_AUDIO = DEFINE_USB_TERMINAL_GUID(0x070E) +KSNODETYPE_CABLE_TUNER_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_CABLE_TUNER_AUDIO +) +STATIC_KSNODETYPE_DSS_AUDIO = DEFINE_USB_TERMINAL_GUID(0x070F) +KSNODETYPE_DSS_AUDIO = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DSS_AUDIO +) +STATIC_KSNODETYPE_RADIO_RECEIVER = DEFINE_USB_TERMINAL_GUID(0x0710) +KSNODETYPE_RADIO_RECEIVER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_RADIO_RECEIVER +) +STATIC_KSNODETYPE_RADIO_TRANSMITTER = DEFINE_USB_TERMINAL_GUID(0x0711) +KSNODETYPE_RADIO_TRANSMITTER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_RADIO_TRANSMITTER +) +STATIC_KSNODETYPE_MULTITRACK_RECORDER = DEFINE_USB_TERMINAL_GUID(0x0712) +KSNODETYPE_MULTITRACK_RECORDER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MULTITRACK_RECORDER +) +STATIC_KSNODETYPE_SYNTHESIZER = DEFINE_USB_TERMINAL_GUID(0x0713) +KSNODETYPE_SYNTHESIZER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SYNTHESIZER +) +STATIC_KSNODETYPE_HDMI_INTERFACE = ( + 0xd1b9cc2a, + 0xf519, + 0x417f, + 0x91, + 0xc9, + 0x55, + 0xfa, + 0x65, + 0x48, + 0x10, + 0x01 +) +KSNODETYPE_HDMI_INTERFACE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_HDMI_INTERFACE +) +STATIC_KSNODETYPE_DISPLAYPORT_INTERFACE = ( + 0xe47e4031, + 0x3ea6, + 0x418d, + 0x8f, + 0x9b, + 0xb7, + 0x38, + 0x43, + 0xcc, + 0xba, + 0x97 +) +KSNODETYPE_DISPLAYPORT_INTERFACE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DISPLAYPORT_INTERFACE +) +STATIC_KSNODETYPE_AUDIO_LOOPBACK = ( + 0x8f42c0b2, + 0x91ce, + 0x4bcf, + 0x9c, + 0xcd, + 0xe, + 0x59, + 0x90, + 0x37, + 0xab, + 0x35 +) +KSNODETYPE_AUDIO_LOOPBACK = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_AUDIO_LOOPBACK +) +STATIC_KSNODETYPE_AUDIO_KEYWORDDETECTOR = ( + 0x3817e0b8, + 0xdf58, + 0x4375, + 0xb6, + 0x69, + 0xc4, + 0x96, + 0x34, + 0x33, + 0x1f, + 0x9d +) +KSNODETYPE_AUDIO_KEYWORDDETECTOR = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_AUDIO_KEYWORDDETECTOR +) +STATIC_KSNODETYPE_MIDI_JACK = ( + 0x265e0c3f, + 0xfa39, + 0x4df3, + 0xab, + 0x04, + 0xbe, + 0x01, + 0xb9, + 0x1e, + 0x29, + 0x9a +) +KSNODETYPE_MIDI_JACK = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MIDI_JACK +) +STATIC_KSNODETYPE_MIDI_ELEMENT = ( + 0x01c6fe66, + 0x6e48, + 0x4c65, + 0xac, + 0x9b, + 0x52, + 0xdb, + 0x5d, + 0x65, + 0x6c, + 0x7e +) +KSNODETYPE_MIDI_ELEMENT = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MIDI_ELEMENT +) +STATIC_KSNODETYPE_AUDIO_ENGINE = ( + 0x35caf6e4, + 0xf3b3, + 0x4168, + 0xbb, + 0x4b, + 0x55, + 0xe7, + 0x7a, + 0x46, + 0x1c, + 0x7e +) +KSNODETYPE_AUDIO_ENGINE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_AUDIO_ENGINE +) +STATIC_KSNODETYPE_SPEAKERS_STATIC_JACK = ( + 0x28e04f87, + 0x4dbe, + 0x4f8d, + 0x85, + 0x89, + 0x2, + 0x5d, + 0x20, + 0x9d, + 0xfb, + 0x4a +) +KSNODETYPE_SPEAKERS_STATIC_JACK = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SPEAKERS_STATIC_JACK +) +STATIC_KSNODETYPE_DAC = ( + 0x507AE360, + 0xC554, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_DAC = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DAC +) +STATIC_KSNODETYPE_ADC = ( + 0x4D837FE0, + 0xC555, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_ADC = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_ADC +) +STATIC_KSNODETYPE_SRC = ( + 0x9DB7B9E0, + 0xC555, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_SRC = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SRC +) +STATIC_KSNODETYPE_SUPERMIX = ( + 0xE573ADC0, + 0xC555, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_SUPERMIX = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SUPERMIX +) +STATIC_KSNODETYPE_MUX = ( + 0x2CEAF780, + 0xC556, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_MUX = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MUX +) +STATIC_KSNODETYPE_DEMUX = ( + 0xC0EB67D4, + 0xE807, + 0x11D0, + 0x95, + 0x8A, + 0x00, + 0xC0, + 0x4F, + 0xB9, + 0x25, + 0xD3 +) +KSNODETYPE_DEMUX = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DEMUX +) +STATIC_KSNODETYPE_SUM = ( + 0xDA441A60, + 0xC556, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_SUM = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_SUM +) +STATIC_KSNODETYPE_MUTE = ( + 0x02B223C0, + 0xC557, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_MUTE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_MUTE +) +STATIC_KSNODETYPE_VOLUME = ( + 0x3A5ACC00, + 0xC557, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_VOLUME = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_VOLUME +) +STATIC_KSNODETYPE_TONE = ( + 0x7607E580, + 0xC557, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_TONE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_TONE +) +STATIC_KSNODETYPE_EQUALIZER = ( + 0x9D41B4A0, + 0xC557, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_EQUALIZER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_EQUALIZER +) +STATIC_KSNODETYPE_AGC = ( + 0xE88C9BA0, + 0xC557, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_AGC = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_AGC +) +STATIC_KSNODETYPE_NOISE_SUPPRESS = ( + 0xe07f903f, + 0x62fd, + 0x4e60, + 0x8c, + 0xdd, + 0xde, + 0xa7, + 0x23, + 0x66, + 0x65, + 0xb5 +) +KSNODETYPE_NOISE_SUPPRESS = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_NOISE_SUPPRESS +) +STATIC_KSNODETYPE_DELAY = ( + 0x144981E0, + 0xC558, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_DELAY = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DELAY +) +STATIC_KSNODETYPE_LOUDNESS = ( + 0x41887440, + 0xC558, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_LOUDNESS = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_LOUDNESS +) +STATIC_KSNODETYPE_PROLOGIC_DECODER = ( + 0x831C2C80, + 0xC558, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_PROLOGIC_DECODER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PROLOGIC_DECODER +) +STATIC_KSNODETYPE_STEREO_WIDE = ( + 0xA9E69800, + 0xC558, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_STEREO_WIDE = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_STEREO_WIDE +) +STATIC_KSNODETYPE_REVERB = ( + 0xEF0328E0, + 0xC558, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_REVERB = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_REVERB +) +STATIC_KSNODETYPE_CHORUS = ( + 0x20173F20, + 0xC559, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_CHORUS = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_CHORUS +) +STATIC_KSNODETYPE_3D_EFFECTS = ( + 0x55515860, + 0xC559, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_3D_EFFECTS = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_3D_EFFECTS +) +STATIC_KSNODETYPE_PARAMETRIC_EQUALIZER = ( + 0x19bb3a6a, + 0xce2b, + 0x4442, + 0x87, + 0xec, + 0x67, + 0x27, + 0xc3, + 0xca, + 0xb4, + 0x77 +) +KSNODETYPE_PARAMETRIC_EQUALIZER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PARAMETRIC_EQUALIZER +) +STATIC_KSNODETYPE_UPDOWN_MIX = ( + 0xb7edc5cf, + 0x7b63, + 0x4ee2, + 0xa1, + 0x0, + 0x29, + 0xee, + 0x2c, + 0xb6, + 0xb2, + 0xde +) +KSNODETYPE_UPDOWN_MIX = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_UPDOWN_MIX +) +STATIC_KSNODETYPE_DYN_RANGE_COMPRESSOR = ( + 0x8c8a6a8, + 0x601f, + 0x4af8, + 0x87, + 0x93, + 0xd9, + 0x5, + 0xff, + 0x4c, + 0xa9, + 0x7d +) +KSNODETYPE_DYN_RANGE_COMPRESSOR = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DYN_RANGE_COMPRESSOR +) + +STATIC_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR = ( + 0x830a44f2, + 0xa32d, + 0x476b, + 0xbe, + 0x97, + 0x42, + 0x84, + 0x56, + 0x73, + 0xb3, + 0x5a +) +KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR +) + +STATIC_KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR = ( + STATIC_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR +) +KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR = ( + KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR +) + +STATIC_KSNODETYPE_DEV_SPECIFIC = ( + 0x941C7AC0, + 0xC559, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSNODETYPE_DEV_SPECIFIC = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_DEV_SPECIFIC +) +STATIC_KSNODETYPE_PROLOGIC_ENCODER = ( + 0x8074C5B2, + 0x3C66, + 0x11D2, + 0xB4, + 0x5A, + 0x30, + 0x78, + 0x30, + 0x2C, + 0x20, + 0x30 +) +KSNODETYPE_PROLOGIC_ENCODER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PROLOGIC_ENCODER +) + +STATIC_KSNODETYPE_PEAKMETER = ( + 0xa085651e, + 0x5f0d, + 0x4b36, + 0xa8, + 0x69, + 0xd1, + 0x95, + 0xd6, + 0xab, + 0x4b, + 0x9e +) +KSNODETYPE_PEAKMETER = DEFINE_GUIDNAMED( + *STATIC_KSNODETYPE_PEAKMETER +) + +PKEY_Device_FriendlyName = DEFINE_PROPERTYKEY( + 0xA45C254E, + 0xDF1C, + 0x4EFD, + 0x80, + 0x20, + 0x67, + 0xD1, + 0x46, + 0xA8, + 0x50, + 0xE0, + 14 +) +PKEY_Device_DeviceDesc = DEFINE_PROPERTYKEY( + 0xA45C254E, + 0xDF1C, + 0x4EFD, + 0x80, + 0x20, + 0x67, + 0xD1, + 0x46, + 0xA8, + 0x50, + 0xE0, + 2 +) +PKEY_DeviceInterface_FriendlyName = DEFINE_PROPERTYKEY( + 0x026E516E, + 0xB814, + 0x414B, + 0x83, + 0xCD, + 0x85, + 0x6D, + 0x6F, + 0xEF, + 0x48, + 0x22, + 2 +) +PKEY_AudioEndpoint_FormFactor = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 0 + ) +) +PKEY_AudioEndpoint_ControlPanelPageProvider = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 1 + ) +) +PKEY_AudioEndpoint_Association = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 2 + ) +) +PKEY_AudioEndpoint_PhysicalSpeakers = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 3 + ) +) +PKEY_AudioEndpoint_GUID = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 4 + ) +) +PKEY_AudioEndpoint_Disable_SysFx = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 5 + ) +) +PKEY_AudioEndpoint_FullRangeSpeakers = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 6 + ) +) +PKEY_AudioEndpoint_Supports_EventDriven_Mode = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 7 + ) +) +PKEY_AudioEndpoint_JackSubType = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 8 + ) +) +PKEY_AudioEndpoint_Default_VolumeInDb = ( + DEFINE_PROPERTYKEY( + 0x1da5d803, + 0xd492, + 0x4edd, + 0x8c, + 0x23, + 0xe0, + 0xc0, + 0xff, + 0xee, + 0x7f, + 0x0e, + 9 + ) +) +PKEY_AudioEngine_DeviceFormat = ( + DEFINE_PROPERTYKEY( + 0xf19f064d, + 0x82c, + 0x4e27, + 0xbc, + 0x73, + 0x68, + 0x82, + 0xa1, + 0xbb, + 0x8e, + 0x4c, + 0 + ) +) +PKEY_AudioEngine_OEMFormat = ( + DEFINE_PROPERTYKEY( + 0xe4870e26, + 0x3cc5, + 0x4cd2, + 0xba, + 0x46, + 0xca, + 0xa, + 0x9a, + 0x70, + 0xed, + 0x4, + 3 + ) +) +PKEY_AudioEndpointLogo_IconEffects = ( + DEFINE_PROPERTYKEY( + 0xf1ab780d, + 0x2010, + 0x4ed3, + 0xa3, + 0xa6, + 0x8b, + 0x87, + 0xf0, + 0xf0, + 0xc4, + 0x76, + 0 + ) +) +PKEY_AudioEndpointLogo_IconPath = ( + DEFINE_PROPERTYKEY( + 0xf1ab780d, + 0x2010, + 0x4ed3, + 0xa3, + 0xa6, + 0x8b, + 0x87, + 0xf0, + 0xf0, + 0xc4, + 0x76, + 1 + ) +) +PKEY_AudioEndpointSettings_MenuText = ( + DEFINE_PROPERTYKEY( + 0x14242002, + 0x0320, + 0x4de4, + 0x95, + 0x55, + 0xa7, + 0xd8, + 0x2b, + 0x73, + 0xc2, + 0x86, + 0 + ) +) +PKEY_AudioEndpointSettings_LaunchContract = ( + DEFINE_PROPERTYKEY( + 0x14242002, + 0x0320, + 0x4de4, + 0x95, + 0x55, + 0xa7, + 0xd8, + 0x2b, + 0x73, + 0xc2, + 0x86, + 1 + ) +) +DEVPKEY_AudioEndpointPlugin_FactoryCLSID = ( + DEFINE_PROPERTYKEY( + 0x12d83bd7, + 0xcf12, + 0x46be, + 0x85, + 0x40, + 0x81, + 0x27, + 0x10, + 0xd3, + 0x2, + 0x1c, + 1 + ) +) +DEVPKEY_AudioEndpointPlugin_DataFlow = ( + DEFINE_PROPERTYKEY( + 0x12d83bd7, + 0xcf12, + 0x46be, + 0x85, + 0x40, + 0x81, + 0x27, + 0x10, + 0xd3, + 0x2, + 0x1c, + 2 + ) +) +DEVPKEY_AudioEndpointPlugin_PnPInterface = ( + DEFINE_PROPERTYKEY( + 0x12d83bd7, + 0xcf12, + 0x46be, + 0x85, + 0x40, + 0x81, + 0x27, + 0x10, + 0xd3, + 0x2, + 0x1c, + 3 + ) +) +PKEY_FX_Association = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 0 + ) +) +PKEY_FX_PreMixEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 1 + ) +) +PKEY_FX_PostMixEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 2 + ) +) +PKEY_FX_UserInterfaceClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 3 + ) +) +PKEY_FX_FriendlyName = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 4 + ) +) +PKEY_FX_StreamEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 5 + ) +) +PKEY_FX_ModeEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 6 + ) +) +PKEY_FX_EndpointEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 7 + ) +) +PKEY_FX_KeywordDetector_StreamEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 8 + ) +) +PKEY_FX_KeywordDetector_ModeEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 9 + ) +) +PKEY_FX_KeywordDetector_EndpointEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 10 + ) +) +PKEY_FX_Offload_StreamEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 11 + ) +) +PKEY_FX_Offload_ModeEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 12 + ) +) +PKEY_CompositeFX_StreamEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 13 + ) +) +PKEY_CompositeFX_ModeEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 14 + ) +) +PKEY_CompositeFX_EndpointEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 15 + ) +) +PKEY_CompositeFX_KeywordDetector_StreamEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 16 + ) +) +PKEY_CompositeFX_KeywordDetector_ModeEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 17 + ) +) +PKEY_CompositeFX_KeywordDetector_EndpointEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 18 + ) +) +PKEY_CompositeFX_Offload_StreamEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 19 + ) +) +PKEY_CompositeFX_Offload_ModeEffectClsid = ( + DEFINE_PROPERTYKEY( + 0xD04E05A6, + 0x594B, + 0x4fb6, + 0xA8, + 0x0D, + 0x01, + 0xAF, + 0x5E, + 0xED, + 0x7D, + 0x1D, + 20 + ) +) +PKEY_SFX_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 5 + ) +) +PKEY_MFX_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 6 + ) +) +PKEY_EFX_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 7 + ) +) +PKEY_SFX_KeywordDetector_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 8 + ) +) +PKEY_MFX_KeywordDetector_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 9 + ) +) +PKEY_EFX_KeywordDetector_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 10 + ) +) +PKEY_SFX_Offload_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 11 + ) +) +PKEY_MFX_Offload_ProcessingModes_Supported_For_Streaming = ( + DEFINE_PROPERTYKEY( + 0xd3993a3f, + 0x99c2, + 0x4402, + 0xb5, + 0xec, + 0xa9, + 0x2a, + 0x3, + 0x67, + 0x66, + 0x4b, + 12 + ) +) + + +SPEAKER_FRONT_LEFT = 0x1 +SPEAKER_FRONT_RIGHT = 0x2 +SPEAKER_FRONT_CENTER = 0x4 +SPEAKER_LOW_FREQUENCY = 0x8 +SPEAKER_BACK_LEFT = 0x10 +SPEAKER_BACK_RIGHT = 0x20 +SPEAKER_FRONT_LEFT_OF_CENTER = 0x40 +SPEAKER_FRONT_RIGHT_OF_CENTER = 0x80 +SPEAKER_BACK_CENTER = 0x100 +SPEAKER_SIDE_LEFT = 0x200 +SPEAKER_SIDE_RIGHT = 0x400 +SPEAKER_TOP_CENTER = 0x800 +SPEAKER_TOP_FRONT_LEFT = 0x1000 +SPEAKER_TOP_FRONT_CENTER = 0x2000 +SPEAKER_TOP_FRONT_RIGHT = 0x4000 +SPEAKER_TOP_BACK_LEFT = 0x8000 +SPEAKER_TOP_BACK_CENTER = 0x10000 +SPEAKER_TOP_BACK_RIGHT = 0x20000 +# Bit mask locations reserved for future use +SPEAKER_RESERVED = 0x7FFC0000 +# Used to specify that any possible permutation of speaker configurations +SPEAKER_ALL = 0x80000000 +# DirectSound Speaker Config +KSAUDIO_SPEAKER_DIRECTOUT = 0 +KSAUDIO_SPEAKER_MONO = SPEAKER_FRONT_CENTER +KSAUDIO_SPEAKER_1POINT1 = ( + SPEAKER_FRONT_CENTER | + SPEAKER_LOW_FREQUENCY +) +KSAUDIO_SPEAKER_STEREO = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT +) +KSAUDIO_SPEAKER_2POINT1 = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_LOW_FREQUENCY +) +KSAUDIO_SPEAKER_3POINT0 = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER +) +KSAUDIO_SPEAKER_3POINT1 = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_LOW_FREQUENCY +) +KSAUDIO_SPEAKER_QUAD = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_BACK_LEFT | + SPEAKER_BACK_RIGHT +) + +KSAUDIO_SPEAKER_SURROUND = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_BACK_CENTER +) +KSAUDIO_SPEAKER_5POINT0 = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_SIDE_LEFT | + SPEAKER_SIDE_RIGHT +) +KSAUDIO_SPEAKER_5POINT1 = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_LOW_FREQUENCY | + SPEAKER_BACK_LEFT | + SPEAKER_BACK_RIGHT +) +KSAUDIO_SPEAKER_7POINT0 = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_BACK_LEFT | + SPEAKER_BACK_RIGHT | + SPEAKER_SIDE_LEFT | + SPEAKER_SIDE_RIGHT +) + +KSAUDIO_SPEAKER_7POINT1 = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_LOW_FREQUENCY | + SPEAKER_BACK_LEFT | + SPEAKER_BACK_RIGHT | + SPEAKER_FRONT_LEFT_OF_CENTER | + SPEAKER_FRONT_RIGHT_OF_CENTER +) +KSAUDIO_SPEAKER_5POINT1_SURROUND = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_LOW_FREQUENCY | + SPEAKER_SIDE_LEFT | + SPEAKER_SIDE_RIGHT +) +KSAUDIO_SPEAKER_7POINT1_SURROUND = ( + SPEAKER_FRONT_LEFT | + SPEAKER_FRONT_RIGHT | + SPEAKER_FRONT_CENTER | + SPEAKER_LOW_FREQUENCY | + SPEAKER_BACK_LEFT | + SPEAKER_BACK_RIGHT | + SPEAKER_SIDE_LEFT | + SPEAKER_SIDE_RIGHT +) +# The following are obsolete 5.1 and 7.1 settings (they lack side speakers). +# Note this means +# that the default 5.1 and 7.1 settings (KSAUDIO_SPEAKER_5POINT1 and +# KSAUDIO_SPEAKER_7POINT1 are +# similarly obsolete but are unchanged for compatibility reasons). +KSAUDIO_SPEAKER_5POINT1_BACK = KSAUDIO_SPEAKER_5POINT1 +KSAUDIO_SPEAKER_7POINT1_WIDE = KSAUDIO_SPEAKER_7POINT1 +# DVD Speaker Positions +KSAUDIO_SPEAKER_GROUND_FRONT_LEFT = SPEAKER_FRONT_LEFT +KSAUDIO_SPEAKER_GROUND_FRONT_CENTER = SPEAKER_FRONT_CENTER +KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT = SPEAKER_FRONT_RIGHT +KSAUDIO_SPEAKER_GROUND_REAR_LEFT = SPEAKER_BACK_LEFT +KSAUDIO_SPEAKER_GROUND_REAR_RIGHT = SPEAKER_BACK_RIGHT +KSAUDIO_SPEAKER_TOP_MIDDLE = SPEAKER_TOP_CENTER +KSAUDIO_SPEAKER_SUPER_WOOFER = SPEAKER_LOW_FREQUENCY + +STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL = ( + 0xBF963D80, + 0xC559, + 0x11D0, + 0x8A, + 0x2B, + 0x00, + 0xA0, + 0xC9, + 0x25, + 0x5A, + 0xC1 +) +KSCATEGORY_ACOUSTIC_ECHO_CANCEL = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL +) + +KSNODETYPE_ACOUSTIC_ECHO_CANCEL = KSCATEGORY_ACOUSTIC_ECHO_CANCEL + + +STATIC_KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL = ( + 0x1c22c56d, + 0x9879, + 0x4f5b, + 0xa3, + 0x89, + 0x27, + 0x99, + 0x6d, + 0xdc, + 0x28, + 0x10 +) +KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL = DEFINE_GUIDNAMED( + *STATIC_KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL +) +STATIC_KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS = ( + 0x5ab0882e, + 0x7274, + 0x4516, + 0x87, + 0x7d, + 0x4e, + 0xee, + 0x99, + 0xba, + 0x4f, + 0xd0 +) +KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS = DEFINE_GUIDNAMED( + *STATIC_KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS +) +STATIC_KSALGORITHMINSTANCE_SYSTEM_AGC = ( + 0x950e55b9, + 0x877c, + 0x4c67, + 0xbe, + 0x8, + 0xe4, + 0x7b, + 0x56, + 0x11, + 0x13, + 0xa +) +KSALGORITHMINSTANCE_SYSTEM_AGC = DEFINE_GUIDNAMED( + *STATIC_KSALGORITHMINSTANCE_SYSTEM_AGC +) +STATIC_KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR = ( + 0xB6F5A0A0, + 0x9E61, + 0x4F8C, + 0x91, + 0xE3, + 0x76, + 0xCF, + 0xF, + 0x3C, + 0x47, + 0x1F +) +KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR = DEFINE_GUIDNAMED( + *STATIC_KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR +) + +STATIC_KSPROPTYPESETID_General = ( + 0x97E99BA0, + 0xBDEA, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSPROPTYPESETID_General = DEFINE_GUIDNAMED( + *STATIC_KSPROPTYPESETID_General +) +STATIC_KSPROPSETID_General = ( + 0x1464EDA5, + 0x6A8F, + 0x11D1, + 0x9A, + 0xA7, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSPROPSETID_General = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_General +) +STATIC_KSMETHODSETID_StreamIo = ( + 0x65D003CA, + 0x1523, + 0x11D2, + 0xB2, + 0x7A, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSMETHODSETID_StreamIo = DEFINE_GUIDNAMED( + *STATIC_KSMETHODSETID_StreamIo +) +STATIC_KSPROPSETID_MediaSeeking = ( + 0xEE904F0C, + 0xD09B, + 0x11D0, + 0xAB, + 0xE9, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSPROPSETID_MediaSeeking = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_MediaSeeking +) + +STATIC_KSPROPSETID_Topology = ( + 0x720D4AC0, + 0x7533, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSPROPSETID_Topology = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_Topology +) + +STATIC_KSCATEGORY_BRIDGE = ( + 0x085AFF00, + 0x62CE, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSCATEGORY_BRIDGE = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_BRIDGE +) +STATIC_KSCATEGORY_CAPTURE = ( + 0x65E8773D, + 0x8F56, + 0x11D0, + 0xA3, + 0xB9, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_CAPTURE = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_CAPTURE +) +STATIC_KSCATEGORY_VIDEO_CAMERA = ( + 0xe5323777, + 0xf976, + 0x4f5b, + 0x9b, + 0x55, + 0xb9, + 0x46, + 0x99, + 0xc4, + 0x6e, + 0x44 +) +KSCATEGORY_VIDEO_CAMERA = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_VIDEO_CAMERA +) +STATIC_KSCATEGORY_SENSOR_CAMERA = ( + 0x24e552d7, + 0x6523, + 0x47f7, + 0xa6, + 0x47, + 0xd3, + 0x46, + 0x5b, + 0xf1, + 0xf5, + 0xca +) +KSCATEGORY_SENSOR_CAMERA = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_SENSOR_CAMERA +) +STATIC_KSCATEGORY_SENSOR_GROUP = ( + 0x669C7214, + 0x0A88, + 0x4311, + 0xA7, + 0xF3, + 0x4E, + 0x79, + 0x82, + 0x0E, + 0x33, + 0xBD +) +KSCATEGORY_SENSOR_GROUP = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_SENSOR_GROUP +) +STATIC_KSCATEGORY_RENDER = ( + 0x65E8773E, + 0x8F56, + 0x11D0, + 0xA3, + 0xB9, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_RENDER = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_RENDER +) +STATIC_KSCATEGORY_MIXER = ( + 0xAD809C00, + 0x7B88, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSCATEGORY_MIXER = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_MIXER +) +STATIC_KSCATEGORY_SPLITTER = ( + 0x0A4252A0, + 0x7E70, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSCATEGORY_SPLITTER = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_SPLITTER +) +STATIC_KSCATEGORY_DATACOMPRESSOR = ( + 0x1E84C900, + 0x7E70, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSCATEGORY_DATACOMPRESSOR = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_DATACOMPRESSOR +) +STATIC_KSCATEGORY_DATADECOMPRESSOR = ( + 0x2721AE20, + 0x7E70, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSCATEGORY_DATADECOMPRESSOR = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_DATADECOMPRESSOR +) +STATIC_KSCATEGORY_DATATRANSFORM = ( + 0x2EB07EA0, + 0x7E70, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSCATEGORY_DATATRANSFORM = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_DATATRANSFORM +) +STATIC_KSMFT_CATEGORY_VIDEO_DECODER = ( + 0xd6c02d4b, + 0x6833, + 0x45b4, + 0x97, + 0x1a, + 0x05, + 0xa4, + 0xb0, + 0x4b, + 0xab, + 0x91 +) +KSMFT_CATEGORY_VIDEO_DECODER = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_VIDEO_DECODER +) +STATIC_KSMFT_CATEGORY_VIDEO_ENCODER = ( + 0xf79eac7d, + 0xe545, + 0x4387, + 0xbd, + 0xee, + 0xd6, + 0x47, + 0xd7, + 0xbd, + 0xe4, + 0x2a +) +KSMFT_CATEGORY_VIDEO_ENCODER = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_VIDEO_ENCODER +) +STATIC_KSMFT_CATEGORY_VIDEO_EFFECT = ( + 0x12e17c21, + 0x532c, + 0x4a6e, + 0x8a, + 0x1c, + 0x40, + 0x82, + 0x5a, + 0x73, + 0x63, + 0x97 +) +KSMFT_CATEGORY_VIDEO_EFFECT = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_VIDEO_EFFECT +) +STATIC_KSMFT_CATEGORY_MULTIPLEXER = ( + 0x059c561e, + 0x05ae, + 0x4b61, + 0xb6, + 0x9d, + 0x55, + 0xb6, + 0x1e, + 0xe5, + 0x4a, + 0x7b +) +KSMFT_CATEGORY_MULTIPLEXER = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_MULTIPLEXER +) +STATIC_KSMFT_CATEGORY_DEMULTIPLEXER = ( + 0xa8700a7a, + 0x939b, + 0x44c5, + 0x99, + 0xd7, + 0x76, + 0x22, + 0x6b, + 0x23, + 0xb3, + 0xf1 +) +KSMFT_CATEGORY_DEMULTIPLEXER = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_DEMULTIPLEXER +) +STATIC_KSMFT_CATEGORY_AUDIO_DECODER = ( + 0x9ea73fb4, + 0xef7a, + 0x4559, + 0x8d, + 0x5d, + 0x71, + 0x9d, + 0x8f, + 0x04, + 0x26, + 0xc7 +) +KSMFT_CATEGORY_AUDIO_DECODER = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_AUDIO_DECODER +) +STATIC_KSMFT_CATEGORY_AUDIO_ENCODER = ( + 0x91c64bd0, + 0xf91e, + 0x4d8c, + 0x92, + 0x76, + 0xdb, + 0x24, + 0x82, + 0x79, + 0xd9, + 0x75 +) +KSMFT_CATEGORY_AUDIO_ENCODER = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_AUDIO_ENCODER +) +STATIC_KSMFT_CATEGORY_AUDIO_EFFECT = ( + 0x11064c48, + 0x3648, + 0x4ed0, + 0x93, + 0x2e, + 0x05, + 0xce, + 0x8a, + 0xc8, + 0x11, + 0xb7 +) +KSMFT_CATEGORY_AUDIO_EFFECT = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_AUDIO_EFFECT +) +STATIC_KSMFT_CATEGORY_VIDEO_PROCESSOR = ( + 0x302ea3fc, + 0xaa5f, + 0x47f9, + 0x9f, + 0x7a, + 0xc2, + 0x18, + 0x8b, + 0xb1, + 0x63, + 0x2 +) +KSMFT_CATEGORY_VIDEO_PROCESSOR = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_VIDEO_PROCESSOR +) +STATIC_KSMFT_CATEGORY_OTHER = ( + 0x90175d57, + 0xb7ea, + 0x4901, + 0xae, + 0xb3, + 0x93, + 0x3a, + 0x87, + 0x47, + 0x75, + 0x6f +) +KSMFT_CATEGORY_OTHER = DEFINE_GUIDNAMED( + *STATIC_KSMFT_CATEGORY_OTHER +) +STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM = ( + 0xCF1DDA2C, + 0x9743, + 0x11D0, + 0xA3, + 0xEE, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_COMMUNICATIONSTRANSFORM = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM +) +STATIC_KSCATEGORY_INTERFACETRANSFORM = ( + 0xCF1DDA2D, + 0x9743, + 0x11D0, + 0xA3, + 0xEE, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_INTERFACETRANSFORM = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_INTERFACETRANSFORM +) +STATIC_KSCATEGORY_MEDIUMTRANSFORM = ( + 0xCF1DDA2E, + 0x9743, + 0x11D0, + 0xA3, + 0xEE, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_MEDIUMTRANSFORM = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_MEDIUMTRANSFORM +) +STATIC_KSCATEGORY_FILESYSTEM = ( + 0x760FED5E, + 0x9357, + 0x11D0, + 0xA3, + 0xCC, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_FILESYSTEM = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_FILESYSTEM +) +STATIC_KSCATEGORY_CLOCK = ( + 0x53172480, + 0x4791, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSCATEGORY_CLOCK = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_CLOCK +) +STATIC_KSCATEGORY_PROXY = ( + 0x97EBAACA, + 0x95BD, + 0x11D0, + 0xA3, + 0xEA, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_PROXY = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_PROXY +) +STATIC_KSCATEGORY_QUALITY = ( + 0x97EBAACB, + 0x95BD, + 0x11D0, + 0xA3, + 0xEA, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSCATEGORY_QUALITY = DEFINE_GUIDNAMED( + *STATIC_KSCATEGORY_QUALITY +) + +STATIC_GUID_NULL = ( + 0x00000000, + 0x0000, + 0x0000, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +) +GUID_NULL = '{00000000-0000-0000-0000-000000000000}' +# GUID_NULL = DEFINE_GUIDNAMED( +# *STATIC_GUID_NULL +# ) + +STATIC_KSTIME_FORMAT_NONE = STATIC_GUID_NULL +KSTIME_FORMAT_NONE = GUID_NULL + +STATIC_KSTIME_FORMAT_FRAME = ( + 0x7b785570, + 0x8c82, + 0x11cf, + 0xbc, + 0x0c, + 0x00, + 0xaa, + 0x00, + 0xac, + 0x74, + 0xf6 +) +KSTIME_FORMAT_FRAME = DEFINE_GUIDNAMED( + *STATIC_KSTIME_FORMAT_FRAME +) +STATIC_KSTIME_FORMAT_BYTE = ( + 0x7b785571, + 0x8c82, + 0x11cf, + 0xbc, + 0x0c, + 0x00, + 0xaa, + 0x00, + 0xac, + 0x74, + 0xf6 +) +KSTIME_FORMAT_BYTE = DEFINE_GUIDNAMED( + *STATIC_KSTIME_FORMAT_BYTE +) +STATIC_KSTIME_FORMAT_SAMPLE = ( + 0x7b785572, + 0x8c82, + 0x11cf, + 0xbc, + 0x0c, + 0x00, + 0xaa, + 0x00, + 0xac, + 0x74, + 0xf6 +) +KSTIME_FORMAT_SAMPLE = DEFINE_GUIDNAMED( + *STATIC_KSTIME_FORMAT_SAMPLE +) +STATIC_KSTIME_FORMAT_FIELD = ( + 0x7b785573, + 0x8c82, + 0x11cf, + 0xbc, + 0x0c, + 0x00, + 0xaa, + 0x00, + 0xac, + 0x74, + 0xf6 +) +KSTIME_FORMAT_FIELD = DEFINE_GUIDNAMED( + *STATIC_KSTIME_FORMAT_FIELD +) +STATIC_KSTIME_FORMAT_MEDIA_TIME = ( + 0x7b785574, + 0x8c82, + 0x11cf, + 0xbc, + 0x0c, + 0x00, + 0xaa, + 0x00, + 0xac, + 0x74, + 0xf6 +) +KSTIME_FORMAT_MEDIA_TIME = DEFINE_GUIDNAMED( + *STATIC_KSTIME_FORMAT_MEDIA_TIME +) +STATIC_KSINTERFACESETID_Standard = ( + 0x1A8766A0, + 0x62CE, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSINTERFACESETID_Standard = DEFINE_GUIDNAMED( + *STATIC_KSINTERFACESETID_Standard +) +STATIC_KSINTERFACESETID_FileIo = ( + 0x8C6F932C, + 0xE771, + 0x11D0, + 0xB8, + 0xFF, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSINTERFACESETID_FileIo = DEFINE_GUIDNAMED( + *STATIC_KSINTERFACESETID_FileIo +) +STATIC_KSMEDIUMSETID_Standard = ( + 0x4747B320, + 0x62CE, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSMEDIUMSETID_Standard = DEFINE_GUIDNAMED( + *STATIC_KSMEDIUMSETID_Standard +) +STATIC_KSPROPSETID_Pin = ( + 0x8C134960, + 0x51AD, + 0x11CF, + 0x87, + 0x8A, + 0x94, + 0xF8, + 0x01, + 0xC1, + 0x00, + 0x00 +) +KSPROPSETID_Pin = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_Pin +) +STATIC_KSEVENTSETID_PinCapsChange = ( + 0xDD4F192E, + 0x3B78, + 0x49AD, + 0xA5, + 0x34, + 0x2C, + 0x31, + 0x5b, + 0x82, + 0x20, + 0x00 +) +KSEVENTSETID_PinCapsChange = DEFINE_GUIDNAMED( + *STATIC_KSEVENTSETID_PinCapsChange +) +STATIC_KSEVENTSETID_VolumeLimit = ( + 0xda168465, + 0x3a7c, + 0x4858, + 0x9d, + 0x4a, + 0x3e, + 0x8e, + 0x24, + 0x70, + 0x1a, + 0xef +) +KSEVENTSETID_VolumeLimit = DEFINE_GUIDNAMED( + *STATIC_KSEVENTSETID_VolumeLimit +) +STATIC_KSNAME_Filter = ( + 0x9b365890, + 0x165f, + 0x11d0, + 0xa1, + 0x95, + 0x00, + 0x20, + 0xaf, + 0xd1, + 0x56, + 0xe4 +) +KSNAME_Filter = DEFINE_GUIDNAMED( + *STATIC_KSNAME_Filter +) +STATIC_KSNAME_Pin = ( + 0x146F1A80, + 0x4791, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSNAME_Pin = DEFINE_GUIDNAMED( + *STATIC_KSNAME_Pin +) +STATIC_KSNAME_Clock = ( + 0x53172480, + 0x4791, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSNAME_Clock = DEFINE_GUIDNAMED( + *STATIC_KSNAME_Clock +) +STATIC_KSNAME_Allocator = ( + 0x642F5D00, + 0x4791, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSNAME_Allocator = DEFINE_GUIDNAMED( + *STATIC_KSNAME_Allocator +) +STATIC_KSNAME_TopologyNode = ( + 0x0621061A, + 0xEE75, + 0x11D0, + 0xB9, + 0x15, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSNAME_TopologyNode = DEFINE_GUIDNAMED( + *STATIC_KSNAME_TopologyNode +) +STATIC_KSDATAFORMAT_TYPE_STREAM = ( + 0xE436EB83, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +KSDATAFORMAT_TYPE_STREAM = DEFINE_GUIDNAMED( + *STATIC_KSDATAFORMAT_TYPE_STREAM +) +STATIC_KSDATAFORMAT_SUBTYPE_NONE = ( + 0xE436EB8E, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +KSDATAFORMAT_SUBTYPE_NONE = DEFINE_GUIDNAMED( + *STATIC_KSDATAFORMAT_SUBTYPE_NONE +) +STATIC_KSDATAFORMAT_SPECIFIER_FILENAME = ( + 0xAA797B40, + 0xE974, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSDATAFORMAT_SPECIFIER_FILENAME = DEFINE_GUIDNAMED( + *STATIC_KSDATAFORMAT_SPECIFIER_FILENAME +) +STATIC_KSDATAFORMAT_SPECIFIER_FILEHANDLE = ( + 0x65E8773C, + 0x8F56, + 0x11D0, + 0xA3, + 0xB9, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSDATAFORMAT_SPECIFIER_FILEHANDLE = DEFINE_GUIDNAMED( + *STATIC_KSDATAFORMAT_SPECIFIER_FILEHANDLE +) +STATIC_KSDATAFORMAT_SPECIFIER_NONE = ( + 0x0F6417D6, + 0xC318, + 0x11D0, + 0xA4, + 0x3F, + 0x00, + 0xA0, + 0xC9, + 0x22, + 0x31, + 0x96 +) +KSDATAFORMAT_SPECIFIER_NONE = DEFINE_GUIDNAMED( + *STATIC_KSDATAFORMAT_SPECIFIER_NONE +) +STATIC_KSPROPSETID_Quality = ( + 0xD16AD380, + 0xAC1A, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSPROPSETID_Quality = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_Quality +) +STATIC_KSPROPSETID_Connection = ( + 0x1D58C920, + 0xAC9B, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSPROPSETID_Connection = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_Connection +) +STATIC_KSPROPSETID_MemoryTransport = ( + 0xa3d1c5d, + 0x5243, + 0x4819, + 0x9e, + 0xd0, + 0xae, + 0xe8, + 0x4, + 0x4c, + 0xee, + 0x2b +) +KSPROPSETID_MemoryTransport = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_MemoryTransport +) + +KSMEMORY_TYPE_WILDCARD = GUID_NULL +STATIC_KSMEMORY_TYPE_WILDCARD = STATIC_GUID_NULL + +KSMEMORY_TYPE_DONT_CARE = GUID_NULL +STATIC_KSMEMORY_TYPE_DONT_CARE = STATIC_GUID_NULL + +KS_TYPE_DONT_CARE = GUID_NULL +STATIC_KS_TYPE_DONT_CARE = STATIC_GUID_NULL + + +STATIC_KSMEMORY_TYPE_SYSTEM = ( + 0x091bb638, + 0x603f, + 0x11d1, + 0xb0, + 0x67, + 0x00, + 0xa0, + 0xc9, + 0x06, + 0x28, + 0x02 +) +KSMEMORY_TYPE_SYSTEM = DEFINE_GUIDNAMED( + *STATIC_KSMEMORY_TYPE_SYSTEM +) +STATIC_KSMEMORY_TYPE_USER = ( + 0x8cb0fc28, + 0x7893, + 0x11d1, + 0xb0, + 0x69, + 0x00, + 0xa0, + 0xc9, + 0x06, + 0x28, + 0x02 +) +KSMEMORY_TYPE_USER = DEFINE_GUIDNAMED( + *STATIC_KSMEMORY_TYPE_USER +) +STATIC_KSMEMORY_TYPE_KERNEL_PAGED = ( + 0xd833f8f8, + 0x7894, + 0x11d1, + 0xb0, + 0x69, + 0x00, + 0xa0, + 0xc9, + 0x06, + 0x28, + 0x02 +) +KSMEMORY_TYPE_KERNEL_PAGED = DEFINE_GUIDNAMED( + *STATIC_KSMEMORY_TYPE_KERNEL_PAGED +) +STATIC_KSMEMORY_TYPE_KERNEL_NONPAGED = ( + 0x4a6d5fc4, + 0x7895, + 0x11d1, + 0xb0, + 0x69, + 0x00, + 0xa0, + 0xc9, + 0x06, + 0x28, + 0x02 +) +KSMEMORY_TYPE_KERNEL_NONPAGED = DEFINE_GUIDNAMED( + *STATIC_KSMEMORY_TYPE_KERNEL_NONPAGED +) +STATIC_KSMEMORY_TYPE_DEVICE_UNKNOWN = ( + 0x091bb639, + 0x603f, + 0x11d1, + 0xb0, + 0x67, + 0x00, + 0xa0, + 0xc9, + 0x06, + 0x28, + 0x02 +) +KSMEMORY_TYPE_DEVICE_UNKNOWN = DEFINE_GUIDNAMED( + *STATIC_KSMEMORY_TYPE_DEVICE_UNKNOWN +) +STATIC_KSEVENTSETID_StreamAllocator = ( + 0x75d95571, + 0x073c, + 0x11d0, + 0xa1, + 0x61, + 0x00, + 0x20, + 0xaf, + 0xd1, + 0x56, + 0xe4 +) +KSEVENTSETID_StreamAllocator = DEFINE_GUIDNAMED( + *STATIC_KSEVENTSETID_StreamAllocator +) +STATIC_KSMETHODSETID_StreamAllocator = ( + 0xcf6e4341, + 0xec87, + 0x11cf, + 0xa1, + 0x30, + 0x00, + 0x20, + 0xaf, + 0xd1, + 0x56, + 0xe4 +) +KSMETHODSETID_StreamAllocator = DEFINE_GUIDNAMED( + *STATIC_KSMETHODSETID_StreamAllocator +) +STATIC_KSPROPSETID_StreamAllocator = ( + 0xcf6e4342, + 0xec87, + 0x11cf, + 0xa1, + 0x30, + 0x00, + 0x20, + 0xaf, + 0xd1, + 0x56, + 0xe4 +) +KSPROPSETID_StreamAllocator = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_StreamAllocator +) +STATIC_KSPROPSETID_StreamInterface = ( + 0x1fdd8ee1, + 0x9cd3, + 0x11d0, + 0x82, + 0xaa, + 0x00, + 0x00, + 0xf8, + 0x22, + 0xfe, + 0x8a +) +KSPROPSETID_StreamInterface = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_StreamInterface +) +STATIC_KSPROPSETID_Stream = ( + 0x65aaba60, + 0x98ae, + 0x11cf, + 0xa1, + 0x0d, + 0x00, + 0x20, + 0xaf, + 0xd1, + 0x56, + 0xe4 +) +KSPROPSETID_Stream = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_Stream +) +STATIC_KSPROPSETID_PinMDLCacheClearProp = ( + 0xbd718a7b, + 0x97fc, + 0x40c7, + 0x88, + 0xce, + 0xd3, + 0xff, + 0x6, + 0xf5, + 0x5b, + 0x16 +) +KSPROPSETID_PinMDLCacheClearProp = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_PinMDLCacheClearProp +) +STATIC_KSPROPSETID_Clock = ( + 0xDF12A4C0, + 0xAC17, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSPROPSETID_Clock = DEFINE_GUIDNAMED( + *STATIC_KSPROPSETID_Clock +) +STATIC_KSEVENTSETID_Clock = ( + 0x364D8E20, + 0x62C7, + 0x11CF, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSEVENTSETID_Clock = DEFINE_GUIDNAMED( + *STATIC_KSEVENTSETID_Clock +) +STATIC_KSEVENTSETID_Connection = ( + 0x7f4bcbe0, + 0x9ea5, + 0x11cf, + 0xa5, + 0xd6, + 0x28, + 0xdb, + 0x04, + 0xc1, + 0x00, + 0x00 +) +KSEVENTSETID_Connection = DEFINE_GUIDNAMED( + *STATIC_KSEVENTSETID_Connection +) +STATIC_KSEVENTSETID_Device = ( + 0x288296ec, + 0x9f94, + 0x41b4, + 0xa1, + 0x53, + 0xaa, + 0x31, + 0xae, + 0xec, + 0xb3, + 0x3f +) +KSEVENTSETID_Device = DEFINE_GUIDNAMED( + *STATIC_KSEVENTSETID_Device +) +STATIC_KSDEGRADESETID_Standard = ( + 0x9F564180, + 0x704C, + 0x11D0, + 0xA5, + 0xD6, + 0x28, + 0xDB, + 0x04, + 0xC1, + 0x00, + 0x00 +) +KSDEGRADESETID_Standard = DEFINE_GUIDNAMED( + *STATIC_KSDEGRADESETID_Standard +) + + +KSPRIORITY_LOW = 0x00000001 +KSPRIORITY_NORMAL = 0x40000000 +KSPRIORITY_HIGH = 0x80000000 +KSPRIORITY_EXCLUSIVE = 0xFFFFFFFF + +KSMETHOD_TYPE_NONE = 0x00000000 +KSMETHOD_TYPE_READ = 0x00000001 +KSMETHOD_TYPE_WRITE = 0x00000002 +KSMETHOD_TYPE_MODIFY = 0x00000003 +KSMETHOD_TYPE_SOURCE = 0x00000004 +KSMETHOD_TYPE_SEND = 0x00000001 +KSMETHOD_TYPE_SETSUPPORT = 0x00000100 +KSMETHOD_TYPE_BASICSUPPORT = 0x00000200 +KSMETHOD_TYPE_TOPOLOGY = 0x10000000 +KSPROPERTY_TYPE_GET = 0x00000001 +KSPROPERTY_TYPE_SET = 0x00000002 +KSPROPERTY_TYPE_SETSUPPORT = 0x00000100 +KSPROPERTY_TYPE_BASICSUPPORT = 0x00000200 +KSPROPERTY_TYPE_RELATIONS = 0x00000400 +KSPROPERTY_TYPE_SERIALIZESET = 0x00000800 +KSPROPERTY_TYPE_UNSERIALIZESET = 0x00001000 +KSPROPERTY_TYPE_SERIALIZERAW = 0x00002000 +KSPROPERTY_TYPE_UNSERIALIZERAW = 0x00004000 +KSPROPERTY_TYPE_SERIALIZESIZE = 0x00008000 +KSPROPERTY_TYPE_DEFAULTVALUES = 0x00010000 +KSPROPERTY_TYPE_TOPOLOGY = 0x10000000 +KSPROPERTY_TYPE_HIGHPRIORITY = 0x08000000 +KSPROPERTY_TYPE_FSFILTERSCOPE = 0x40000000 +KSPROPERTY_TYPE_COPYPAYLOAD = 0x80000000 + + +KSPROPERTY_MEMBER_RANGES = 0x00000001 +KSPROPERTY_MEMBER_STEPPEDRANGES = 0x00000002 +KSPROPERTY_MEMBER_VALUES = 0x00000003 + + +KSPROPERTY_MEMBER_FLAG_DEFAULT = 0x00000001 +KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_MULTICHANNEL = 0x00000002 +KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_UNIFORM = 0x00000004 + + +KSEVENTF_EVENT_HANDLE = 0x00000001 +KSEVENTF_SEMAPHORE_HANDLE = 0x00000002 +KSEVENTF_EVENT_OBJECT = 0x00000004 +KSEVENTF_SEMAPHORE_OBJECT = 0x00000008 +KSEVENTF_DPC = 0x00000010 +KSEVENTF_WORKITEM = 0x00000020 +KSEVENTF_KSWORKITEM = 0x00000080 +KSEVENT_TYPE_ENABLE = 0x00000001 +KSEVENT_TYPE_ONESHOT = 0x00000002 +KSEVENT_TYPE_ENABLEBUFFERED = 0x00000004 +KSEVENT_TYPE_SETSUPPORT = 0x00000100 +KSEVENT_TYPE_BASICSUPPORT = 0x00000200 +KSEVENT_TYPE_QUERYBUFFER = 0x00000400 +KSEVENT_TYPE_TOPOLOGY = 0x10000000 + +KSMEDIUM_TYPE_ANYINSTANCE = 0 +KSMEDIUM_STANDARD_DEVIO = KSMEDIUM_TYPE_ANYINSTANCE + +KSPROPERTY_PIN_FLAGS_ATTRIBUTE_RANGE_AWARE = 0x00000001 +KSPROPERTY_PIN_FLAGS_MASK = KSPROPERTY_PIN_FLAGS_ATTRIBUTE_RANGE_AWARE + +KSRELATIVEEVENT_FLAG_HANDLE = 0x00000001 +KSRELATIVEEVENT_FLAG_POINTER = 0x00000002 + +# KSFILTER_NODE = ((ULONG) - 1) +# KSALL_NODES = ((ULONG) - 1) +# KSINSTANCE_INDETERMINATE = ((ULONG) - 1) + +KSDATAFORMAT_BIT_TEMPORAL_COMPRESSION = 0 +KSDATAFORMAT_TEMPORAL_COMPRESSION = 1 << KSDATAFORMAT_BIT_TEMPORAL_COMPRESSION +KSDATAFORMAT_BIT_ATTRIBUTES = 1 +KSDATAFORMAT_ATTRIBUTES = 1 << KSDATAFORMAT_BIT_ATTRIBUTES + +KSDATARANGE_BIT_ATTRIBUTES = 1 +KSDATARANGE_ATTRIBUTES = 1 << KSDATARANGE_BIT_ATTRIBUTES +KSDATARANGE_BIT_REQUIRED_ATTRIBUTES = 2 +KSDATARANGE_REQUIRED_ATTRIBUTES = 1 << KSDATARANGE_BIT_REQUIRED_ATTRIBUTES + + +KSATTRIBUTE_REQUIRED = 0x00000001 + +KSSTRING_Filter = "{9B365890-165F-11D0-A195-0020AFD156E4}" +KSSTRING_Pin = "{146F1A80-4791-11D0-A5D6-28DB04C10000}" +KSSTRING_Clock = "{53172480-4791-11D0-A5D6-28DB04C10000}" +KSSTRING_Allocator = "{642F5D00-4791-11D0-A5D6-28DB04C10000}" +KSSTRING_AllocatorEx = "{091BB63B-603F-11D1-B067-00A0C9062802}" +KSSTRING_TopologyNode = "{0621061A-EE75-11D0-B915-00A0C9223196}" + + +KSPROPERTY_MEMORY_TRANSPORT = 1 +KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER = 0x00000001 +KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY = 0x00000002 +KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY = 0x00000004 +KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE = 0x00000008 +KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY_CUSTOM_ALLOCATION = 0x00000010 +KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY = 0x80000000 +KSALLOCATOR_OPTIONF_COMPATIBLE = 0x00000001 +KSALLOCATOR_OPTIONF_SYSTEM_MEMORY = 0x00000002 +KSALLOCATOR_OPTIONF_VALID = 0x00000003 +# +# pins extended framing flags +# +KSALLOCATOR_FLAG_PARTIAL_READ_SUPPORT = 0x00000010 +KSALLOCATOR_FLAG_DEVICE_SPECIFIC = 0x00000020 +KSALLOCATOR_FLAG_CAN_ALLOCATE = 0x00000040 +KSALLOCATOR_FLAG_INSIST_ON_FRAMESIZE_RATIO = 0x00000080 +# +# allocator pipes flags +# +# there is at least one data modification in a pipe +KSALLOCATOR_FLAG_NO_FRAME_INTEGRITY = 0x00000100 +KSALLOCATOR_FLAG_MULTIPLE_OUTPUT = 0x00000200 +KSALLOCATOR_FLAG_CYCLE = 0x00000400 +KSALLOCATOR_FLAG_ALLOCATOR_EXISTS = 0x00000800 +# there is no framing dependency between neighbouring pipes. +KSALLOCATOR_FLAG_INDEPENDENT_RANGES = 0x00001000 +KSALLOCATOR_FLAG_ATTENTION_STEPPING = 0x00002000 +KSALLOCATOR_FLAG_ENABLE_CACHED_MDL = 0x00004000 +KSALLOCATOR_FLAG_2D_BUFFER_REQUIRED = 0x00008000 + + +KSSTREAM_HEADER_OPTIONSF_SPLICEPOINT = 0x00000001 +KSSTREAM_HEADER_OPTIONSF_PREROLL = 0x00000002 +KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY = 0x00000004 +KSSTREAM_HEADER_OPTIONSF_TYPECHANGED = 0x00000008 +KSSTREAM_HEADER_OPTIONSF_TIMEVALID = 0x00000010 +KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY = 0x00000040 +KSSTREAM_HEADER_OPTIONSF_FLUSHONPAUSE = 0x00000080 +KSSTREAM_HEADER_OPTIONSF_DURATIONVALID = 0x00000100 +KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM = 0x00000200 +KSSTREAM_HEADER_OPTIONSF_BUFFEREDTRANSFER = 0x00000400 +KSSTREAM_HEADER_OPTIONSF_VRAM_DATA_TRANSFER = 0x00000800 +KSSTREAM_HEADER_OPTIONSF_METADATA = 0x00001000 +KSSTREAM_HEADER_OPTIONSF_ENDOFPHOTOSEQUENCE = 0x00002000 +KSSTREAM_HEADER_OPTIONSF_FRAMEINFO = 0x00004000 +# +# Start of MDL caching related definitions +# +KSSTREAM_HEADER_OPTIONSF_PERSIST_SAMPLE = 0x00008000 +KSSTREAM_HEADER_OPTIONSF_SAMPLE_PERSISTED = 0x00010000 +# +# This flag tells the user mode to look at frame completion numbers +# +KSSTREAM_HEADER_TRACK_COMPLETION_NUMBERS = 0x00020000 +# +# End of MDL caching related definitions +KSSTREAM_HEADER_OPTIONSF_SECUREBUFFERTRANSFER = 0x00040000 +KSSTREAM_HEADER_OPTIONSF_LOOPEDDATA = 0x80000000 + +KSFRAMETIME_VARIABLESIZE = 0x00000001 + +KSRATE_NOPRESENTATIONSTART = 0x00000001 +KSRATE_NOPRESENTATIONDURATION = 0x00000002 + +NANOSECONDS = 10000000 + +FILE_DEVICE_KS = 0x0000002f +METHOD_NEITHER = 3 +FILE_ANY_ACCESS = 0 +FILE_READ_ACCESS = 0x0001 +FILE_WRITE_ACCESS = 0x0002 + + +IOCTL_KS_PROPERTY = CTL_CODE( + FILE_DEVICE_KS, + 0x000, + METHOD_NEITHER, + FILE_ANY_ACCESS +) +IOCTL_KS_ENABLE_EVENT = CTL_CODE( + FILE_DEVICE_KS, + 0x001, + METHOD_NEITHER, + FILE_ANY_ACCESS +) +IOCTL_KS_DISABLE_EVENT = CTL_CODE( + FILE_DEVICE_KS, + 0x002, + METHOD_NEITHER, + FILE_ANY_ACCESS +) +IOCTL_KS_METHOD = CTL_CODE( + FILE_DEVICE_KS, + 0x003, + METHOD_NEITHER, + FILE_ANY_ACCESS +) +IOCTL_KS_WRITE_STREAM = CTL_CODE( + FILE_DEVICE_KS, + 0x004, + METHOD_NEITHER, FILE_WRITE_ACCESS) +IOCTL_KS_READ_STREAM = CTL_CODE( + FILE_DEVICE_KS, + 0x005, + METHOD_NEITHER, + FILE_READ_ACCESS +) +IOCTL_KS_RESET_STATE = CTL_CODE( + FILE_DEVICE_KS, + 0x006, + METHOD_NEITHER, + FILE_ANY_ACCESS +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/devicetopologyapi.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/devicetopologyapi.py new file mode 100644 index 000000000..6f84e5c43 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/devicetopologyapi.py @@ -0,0 +1,831 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import comtypes +import ctypes +from comtypes.automation import VARTYPE +from enum import ( + PConnectorType, + PDataFlow, + KSJACK_SINK_CONNECTIONTYPE, + PPartType, +) +from ctypes.wintypes import ( + FLOAT, + UINT, + LONG, + ULONG, + DWORD, + BOOL, + WORD, + COLORREF, + LPWSTR, + WCHAR, + LPVOID +) +from iid import ( + IID_IAudioAutoGainControl, + IID_IAudioBass, + IID_IAudioMidrange, + IID_IAudioTreble, + IID_IAudioChannelConfig, + IID_IAudioInputSelector, + IID_IAudioOutputSelector, + IID_IAudioLoudness, + IID_IAudioMute, + IID_IAudioPeakMeter, + IID_IAudioVolumeLevel, + IID_IConnector, + IID_IControlInterface, + IID_IDeviceSpecificProperty, + IID_IDeviceTopology, + IID_IKsFormatSupport, + IID_IKsJackDescription, + IID_IKsJackDescription2, + IID_IKsJackSinkInformation, + IID_IPartsList, + IID_IPart, + IID_IPerChannelDbLevel, + IID_ISubunit, + IID_IControlChangeNotify, + CLSID_DeviceTopology, + IID_DevTopologyLib, +) + +COMMETHOD = comtypes.COMMETHOD +GUID = comtypes.GUID +UCHAR = ctypes.c_ubyte +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +LPCGUID = REFIID = POINTER(GUID) +LPFLOAT = POINTER(FLOAT) +LPDWORD = POINTER(DWORD) +LPUINT = POINTER(UINT) +LPBOOL = POINTER(BOOL) +LPVARTYPE = POINTER(VARTYPE) +LPLONG = POINTER(LONG) + + +class KSDATAFORMAT(ctypes.Structure): + _fields_ = [ + ('FormatSize', ULONG), + ('Flags', ULONG), + ('SampleSize', ULONG), + ('Reserved', ULONG), + ('MajorFormat', GUID), + ('SubFormat', GUID), + ('Specifier', GUID) + ] + + +PKSDATAFORMAT = POINTER(KSDATAFORMAT) + + +class KSJACK_DESCRIPTION(ctypes.Structure): + _fields_ = [ + ('ChannelMapping', DWORD), + ('Color', COLORREF), + ('ConnectionType', DWORD), + ('GeoLocation', DWORD), + ('GenLocation', DWORD), + ('PortConnection', DWORD), + ('IsConnected', BOOL) + ] + + +PKSJACK_DESCRIPTION = POINTER(KSJACK_DESCRIPTION) + + +class LUID(ctypes.Structure): + _fields_ = [ + ('LowPart', DWORD), + ('HighPart', LONG) + ] + + +PLUID = POINTER(LUID) + + +class tagKSJACK_SINK_INFORMATION(ctypes.Structure): + _fields_ = [ + ('ConnType', KSJACK_SINK_CONNECTIONTYPE), + ('ManufacturerId', WORD), + ('ProductId', WORD), + ('AudioLatency', WORD), + ('HDCPCapable', BOOL), + ('AICapable', BOOL), + ('SinkDescriptionLength', UCHAR), + ('SinkDescription', (WCHAR * 32)), + ('PortId', LUID), + ] + + +KSJACK_SINK_INFORMATION = tagKSJACK_SINK_INFORMATION +PKSJACK_SINK_INFORMATION = POINTER(KSJACK_SINK_INFORMATION) + + +class tagKSJACK_DESCRIPTION2(ctypes.Structure): + _fields_ = [ + ('DeviceStateInfo', DWORD), + ('JackCapabilities', DWORD) + ] + + +KSJACK_DESCRIPTION2 = tagKSJACK_DESCRIPTION2 +PKSJACK_DESCRIPTION2 = POINTER(KSJACK_DESCRIPTION2) + + +class IAudioAutoGainControl(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioAutoGainControl + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetEnabled', + (['out'], LPBOOL, 'pbEnabled') + ), + COMMETHOD( + [], + HRESULT, + 'SetEnabled', + (['in'], BOOL, 'bEnable'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ) + ) + + +PIAudioAutoGainControl = POINTER(IAudioAutoGainControl) + + +class IPerChannelDbLevel(comtypes.IUnknown): + _iid_ = IID_IPerChannelDbLevel + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetChannelCount', + (['out'], LPUINT, 'pcChannels') + ), + COMMETHOD( + [], + HRESULT, + 'GetLevelRange', + (['in'], UINT, 'nChannel'), + (['out'], LPFLOAT, 'pfMinLevelDB'), + (['out'], LPFLOAT, 'pfMaxLevelDB'), + (['out'], LPFLOAT, 'pfStepping') + ), + COMMETHOD( + [], + HRESULT, + 'GetLevel', + (['in'], UINT, 'nChannel'), + (['out'], LPFLOAT, 'pfLevelDB') + ), + COMMETHOD( + [], + HRESULT, + 'SetLevel', + (['in'], UINT, 'nChannel'), + (['in'], FLOAT, 'fLevelDB'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ), + COMMETHOD( + [], + HRESULT, + 'SetLevelUniform', + (['in'], FLOAT, 'fLevelDB'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ), + COMMETHOD( + [], + HRESULT, + 'SetLevelAllChannels', + (['in'], FLOAT, 'aLevelsDB'), + (['in'], ULONG, 'cChannels'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ) + ) + + +PIPerChannelDbLevel = POINTER(IPerChannelDbLevel) + + +class IAudioBass(IPerChannelDbLevel): + _iid_ = IID_IAudioBass + + +PIAudioBass = POINTER(IAudioBass) + + +class IAudioMidrange(IPerChannelDbLevel): + _iid_ = IID_IAudioMidrange + + +PIAudioMidrange = POINTER(IAudioMidrange) + + +class IAudioTreble(IPerChannelDbLevel): + _iid_ = IID_IAudioTreble + + +PIAudioTreble = POINTER(IAudioTreble) + + +class IAudioVolumeLevel(IPerChannelDbLevel): + _iid_ = IID_IAudioVolumeLevel + + +PIAudioVolumeLevel = POINTER(IAudioVolumeLevel) + + +class IAudioChannelConfig(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioChannelConfig + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetChannelConfig', + (['in'], DWORD, 'dwConfig'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelConfig', + (['out'], LPDWORD, 'pdwConfig') + ) + ) + + +PIAudioChannelConfig = POINTER(IAudioChannelConfig) + + +class IAudioInputSelector(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioInputSelector + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetSelection', + (['out'], LPUINT, 'pnIdSelected') + ), + COMMETHOD( + [], + HRESULT, + 'SetSelection', + (['in'], UINT, 'nIdSelect'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ) + ) + + +PIAudioInputSelector = POINTER(IAudioInputSelector) + + +class IAudioLoudness(comtypes.IUnknown): + _iid_ = IID_IAudioLoudness + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetEnabled', + (['out'], LPBOOL, 'pbEnabled') + ), + COMMETHOD( + [], + HRESULT, + 'SetEnabled', + (['in'], BOOL, 'bEnabled'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ) + ) + + +PIAudioLoudness = POINTER(IAudioLoudness) + + +class IAudioMute(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioMute + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetMute', + (['out'], LPBOOL, 'pbMuted') + ), + COMMETHOD( + [], + HRESULT, + 'SetMute', + (['in'], BOOL, 'bMuted'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ) + ) + + +PIAudioMute = POINTER(IAudioMute) + + +class IAudioOutputSelector(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioOutputSelector + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetSelection', + (['out'], LPUINT, 'pnIdSelected') + ), + COMMETHOD( + [], + HRESULT, + 'SetSelection', + (['in'], UINT, 'nIdSelect'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ) + ) + + +PIAudioOutputSelector = POINTER(IAudioOutputSelector) + + +class IAudioPeakMeter(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioPeakMeter + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetChannelCount', + (['out'], LPUINT, 'pcChannels') + ), + COMMETHOD( + [], + HRESULT, + 'GetLevel', + (['in'], UINT, 'nChannel'), + (['out'], LPFLOAT, 'pfLevel') + ) + ) + + +PIAudioPeakMeter = POINTER(IAudioPeakMeter) + + +class IConnector(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IConnector + + +PIConnector = POINTER(IConnector) + + +IConnector._methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetType', + (['out'], PConnectorType, 'pType') + ), + COMMETHOD( + [], + HRESULT, + 'GetDataFlow', + (['out'], PDataFlow, 'pFlow') + ), + COMMETHOD( + [], + HRESULT, + 'ConnectTo', + (['in'], PIConnector, 'pConnectTo') + ), + COMMETHOD( + [], + HRESULT, + 'Disconnect' + ), + COMMETHOD( + [], + HRESULT, + 'IsConnected', + (['out'], LPBOOL, 'pbConnected') + ), + COMMETHOD( + [], + HRESULT, + 'GetConnectedTo', + (['out'], POINTER(PIConnector), 'ppConTo') + ), + COMMETHOD( + [], + HRESULT, + 'GetConnectorIdConnectedTo', + (['out'], POINTER(LPWSTR), 'ppwstrConnectorId') + ), + COMMETHOD( + [], + HRESULT, + 'GetDeviceIdConnectedTo', + (['out'], POINTER(LPWSTR), 'ppwstrDeviceId') + ) +) + + +class IControlInterface(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IControlInterface + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetName', + (['out'], POINTER(LPWSTR), 'ppwstrName') + ), + COMMETHOD( + [], + HRESULT, + 'GetIID', + (['out'], LPCGUID, 'pIID') + ) + ) + + +PIControlInterface = POINTER(IControlInterface) + + +class IDeviceSpecificProperty(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IDeviceSpecificProperty + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetDataType', + (['out'], LPVARTYPE, 'pVType') + ), + COMMETHOD( + [], + HRESULT, + 'GetValue', + (['out'], LPVOID, 'pvValue'), + (['in', 'out'], LPDWORD, 'pcbValue') + ), + COMMETHOD( + [], + HRESULT, + 'SetValue', + (['in'], LPVOID, 'pvValue'), + (['in'], DWORD, 'cbValue'), + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ), + COMMETHOD( + [], + HRESULT, + 'Get4BRange', + (['out'], LPLONG, 'plMin'), + (['out'], LPLONG, 'plMax'), + (['out'], LPLONG, 'plStepping') + ) + ) + + +PIDeviceSpecificProperty = POINTER(IDeviceSpecificProperty) + + +class ISubunit(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISubunit + + +PISubunit = POINTER(ISubunit) + + +class IPartsList(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IPartsList + + +PIPartsList = POINTER(IPartsList) + + +class IPart(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IPart + + +PIPart = POINTER(IPart) + + +class IDeviceTopology(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IDeviceTopology + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetConnectorCount', + (['out'], LPUINT, 'pCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetConnector', + (['in'], UINT, 'nIndex'), + (['out'], POINTER(PIConnector), 'ppConnector') + ), + COMMETHOD( + [], + HRESULT, + 'GetSubunitCount', + (['out'], LPUINT, 'pCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetSubunit', + (['in'], UINT, 'nIndex'), + (['out'], POINTER(PISubunit), 'ppSubunit') + ), + COMMETHOD( + [], + HRESULT, + 'GetPartById', + (['in'], UINT, 'nId'), + (['out'], POINTER(PIPart), 'ppPart') + ), + COMMETHOD( + [], + HRESULT, + 'GetDeviceId', + (['out'], POINTER(LPWSTR), 'ppwstrDeviceId') + ), + COMMETHOD( + [], + HRESULT, + 'GetSignalPath', + (['in'], PIPart, 'pIPartFrom'), + (['in'], PIPart, 'pIPartTo'), + (['in'], BOOL, 'bRejectMixedPaths'), + (['out'], POINTER(PIPartsList), 'ppParts') + ), + ) + + +PIDeviceTopology = POINTER(IDeviceTopology) + + +class IKsFormatSupport(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IKsFormatSupport + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'IsFormatSupported', + (['in'], PKSDATAFORMAT, 'pKsFormat'), + (['in'], DWORD, 'cbFormat'), + (['out'], LPBOOL, 'pbSupported') + ), + COMMETHOD( + [], + HRESULT, + 'GetDevicePreferredFormat', + (['out'], POINTER(PKSDATAFORMAT), 'ppKsFormat') + ) + ) + + +PIKsFormatSupport = POINTER(IKsFormatSupport) + + +class IKsJackDescription(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IKsJackDescription + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetJackCount', + (['out'], LPUINT, 'pcJacks') + ), + COMMETHOD( + [], + HRESULT, + 'GetJackDescription', + (['in'], UINT, 'nJack'), + (['out'], PKSJACK_DESCRIPTION, 'pDescription') + ) + ) + + +PIKsJackDescription = POINTER(IKsJackDescription) + + +class IKsJackDescription2(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IKsJackDescription2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetJackCount', + (['out'], LPUINT, 'pcJacks') + ), + COMMETHOD( + [], + HRESULT, + 'GetJackDescription2', + (['in'], UINT, 'nJack'), + (['out'], PKSJACK_DESCRIPTION2, 'pDescription2') + ), + ) + + +PIKsJackDescription2 = POINTER(IKsJackDescription2) + + +class IKsJackSinkInformation(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IKsJackSinkInformation + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetJackSinkInformation', + (['out'], PKSJACK_SINK_INFORMATION, 'pJackSinkInformation') + ), + ) + + +PIKsJackSinkInformation = POINTER(IKsJackSinkInformation) + + +class IControlChangeNotify(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IControlChangeNotify + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnNotify', + (['in'], DWORD, 'dwSenderProcessId') + ), + COMMETHOD( + [], + HRESULT, + 'GetIID', + (['in', 'unique'], LPCGUID, 'pguidEventContext') + ) + ) + + +PIControlChangeNotify = POINTER(IControlChangeNotify) + + +IPartsList._methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetCount', + (['out'], LPUINT, 'pCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetPart', + (['in'], UINT, 'nIndex'), + (['out'], POINTER(PIPart), 'ppPart') + ) +) + + +IPart._methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetName', + (['out'], POINTER(LPWSTR), 'ppwstrName') + ), + COMMETHOD( + [], + HRESULT, + 'GetLocalId', + (['out'], LPUINT, 'pnId') + ), + COMMETHOD( + [], + HRESULT, + 'GetGlobalId', + (['out'], POINTER(LPWSTR), 'ppwstrGlobalId') + ), + COMMETHOD( + [], + HRESULT, + 'GetPartType', + (['out'], PPartType, 'pPartType') + ), + COMMETHOD( + [], + HRESULT, + 'GetSubType', + (['out'], LPCGUID, 'pSubType') + ), + COMMETHOD( + [], + HRESULT, + 'GetControlInterfaceCount', + (['out'], LPUINT, 'pCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetControlInterface', + (['in'], UINT, 'nIndex'), + (['out'], POINTER(PIControlInterface), 'ppInterfaceDesc') + ), + COMMETHOD( + [], + HRESULT, + 'EnumPartsIncoming', + (['out'], POINTER(PIPartsList), 'ppParts') + ), + COMMETHOD( + [], + HRESULT, + 'EnumPartsOutgoing', + (['out'], POINTER(PIPartsList), 'ppParts') + ), + COMMETHOD( + [], + HRESULT, + 'GetTopologyObject', + (['out'], POINTER(PIDeviceTopology), 'ppTopology') + ), + COMMETHOD( + [], + HRESULT, + 'Activate', + (['in'], DWORD, 'dwClsContext'), + (['in'], REFIID, 'refiid'), + (['out'], POINTER(LPVOID), 'ppvObject'), + ), + COMMETHOD( + [], + HRESULT, + 'RegisterControlChangeCallback', + (['in'], REFIID, 'refiid'), + (['in'], PIControlChangeNotify, 'pNotify'), + ), + COMMETHOD( + [], + HRESULT, + 'RegisterControlChangeCallback', + (['in'], PIControlChangeNotify, 'pNotify'), + ) +) + + +class DevTopologyLib(object): + name = u'DevTopologyLib' + _reg_typelib_ = (IID_DevTopologyLib, 1, 0) + + IPartsList = IPartsList + IAudioVolumeLevel = IAudioVolumeLevel + IAudioLoudness = IAudioLoudness + # IAudioSpeakerMap = IAudioSpeakerMap + IAudioInputSelector = IAudioInputSelector + IAudioMute = IAudioMute + IAudioBass = IAudioBass + IAudioMidrange = IAudioMidrange + IAudioTreble = IAudioTreble + IAudioAutoGainControl = IAudioAutoGainControl + IAudioOutputSelector = IAudioOutputSelector + IAudioPeakMeter = IAudioPeakMeter + IDeviceSpecificProperty = IDeviceSpecificProperty + IKsFormatSupport = IKsFormatSupport + + +class DeviceTopology(comtypes.CoClass): + _reg_clsid_ = CLSID_DeviceTopology + _idlflags_ = [] + _reg_typelib_ = (IID_DevTopologyLib, 1, 0) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/endpointvolumeapi.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/endpointvolumeapi.py new file mode 100644 index 000000000..022811421 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/endpointvolumeapi.py @@ -0,0 +1,267 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from mmdeviceapi import IMMDeviceEnumerator +from comtypes import ( + GUID, + COMMETHOD, + CLSCTX_INPROC_SERVER, +) +from iid import ( + IID_IAudioEndpointVolume, + IID_IAudioEndpointVolumeEx, + IID_IAudioMeterInformation, + IID_IAudioEndpointVolumeCallback +) +from ctypes.wintypes import ( + FLOAT, + UINT, + DWORD, + BOOL, +) + +UINT32 = ctypes.c_uint32 +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +LPCGUID = POINTER(GUID) +LPFLOAT = POINTER(FLOAT) +LPDWORD = POINTER(DWORD) +LPUINT = POINTER(UINT) +LPBOOL = POINTER(BOOL) + + +class AUDIO_VOLUME_NOTIFICATION_DATA(ctypes.Structure): + _fields_ = [ + ('guidEventContext', GUID), + ('bMuted', BOOL), + ('fMasterVolume', FLOAT), + ('nChannels', UINT), + ('afChannelVolumes', (FLOAT * 8)) + ] + + +PAUDIO_VOLUME_NOTIFICATION_DATA = POINTER(AUDIO_VOLUME_NOTIFICATION_DATA) + + +class IAudioEndpointVolumeCallback(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointVolumeCallback + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnNotify', + (['in'], PAUDIO_VOLUME_NOTIFICATION_DATA, 'pNotify') + ), + ) + + +PIAudioEndpointVolumeCallback = POINTER(IAudioEndpointVolumeCallback) + + +class IAudioEndpointVolume(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointVolume + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'RegisterControlChangeNotify', + (['in'], PIAudioEndpointVolumeCallback, 'pNotify') + ), + COMMETHOD( + [], + HRESULT, + 'UnregisterControlChangeNotify', + (['in'], PIAudioEndpointVolumeCallback, 'pNotify') + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelCount', + (['out'], LPUINT, 'pnChannelCount') + ), + COMMETHOD( + [], + HRESULT, + 'SetMasterVolumeLevel', + (['in'], FLOAT, 'fLevelDB'), + (['in'], LPCGUID, 'pguidEventContext', None) + ), + COMMETHOD( + [], + HRESULT, + 'SetMasterVolumeLevelScalar', + (['in'], FLOAT, 'fLevel'), + (['in'], LPCGUID, 'pguidEventContext', None) + ), + COMMETHOD( + [], + HRESULT, + 'GetMasterVolumeLevel', + (['out'], LPFLOAT, 'pfLevelDB') + ), + COMMETHOD( + [], + HRESULT, + 'GetMasterVolumeLevelScalar', + (['out'], LPFLOAT, 'pfLevel') + ), + COMMETHOD( + [], + HRESULT, + 'SetChannelVolumeLevel', + (['in'], UINT, 'nChannel'), + (['in'], FLOAT, 'fLevelDB'), + (['in'], LPCGUID, 'pguidEventContext', None) + ), + COMMETHOD( + [], + HRESULT, + 'SetChannelVolumeLevelScalar', + (['in'], UINT, 'nChannel'), + (['in'], FLOAT, 'fLevel'), + (['in'], LPCGUID, 'pguidEventContext', None) + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelVolumeLevel', + (['in'], UINT, 'nChannel'), + (['out'], LPFLOAT, 'pfLevelDB') + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelVolumeLevelScalar', + (['in'], UINT, 'nChannel'), + (['out'], LPFLOAT, 'pfLevel') + ), + COMMETHOD( + [], + HRESULT, + 'SetMute', + (['in'], BOOL, 'bMute'), + (['in'], LPCGUID, 'pguidEventContext', None) + ), + COMMETHOD( + [], + HRESULT, + 'GetMute', + (['out', 'retval'], LPBOOL, 'pbMute') + ), + COMMETHOD( + [], + HRESULT, + 'GetVolumeStepInfo', + (['out'], LPUINT, 'pnStep'), + (['out'], LPUINT, 'pnStepCount') + ), + COMMETHOD( + [], + HRESULT, + 'VolumeStepUp', + (['in'], LPCGUID, 'pguidEventContext', None) + ), + COMMETHOD( + [], + HRESULT, + 'VolumeStepDown', + (['in'], LPCGUID, 'pguidEventContext', None) + ), + COMMETHOD( + [], + HRESULT, + 'QueryHardwareSupport', + (['out'], LPDWORD, 'pdwHardwareSupportMask') + ), + COMMETHOD( + [], + HRESULT, + 'GetVolumeRange', + (['out'], LPFLOAT, 'pfLevelMinDB'), + (['out'], LPFLOAT, 'pfLevelMaxDB'), + (['out'], LPFLOAT, 'pfVolumeIncrementDB') + ) + ) + + @classmethod + def get_default(cls): + endpoint = IMMDeviceEnumerator.get_default(0, 1) + # EDataFlow.eRender, ERole.eMultimedia) + interface = endpoint.Activate(cls._iid_, CLSCTX_INPROC_SERVER) + return ctypes.cast(interface, ctypes.POINTER(cls)) + + +PIAudioEndpointVolume = POINTER(IAudioEndpointVolume) + + +class IAudioEndpointVolumeEx(IAudioEndpointVolume): + _case_insensitive_ = True + _iid_ = IID_IAudioEndpointVolumeEx + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetVolumeRangeChannel', + (['in'], UINT, 'iChannel'), + (['out'], LPFLOAT, 'pflVolumeMindB'), + (['out'], LPFLOAT, 'pflVolumeMaxdB'), + (['out'], LPFLOAT, 'pflVolumeIncrementdB') + ), + ) + + +PIAudioEndpointVolumeEx = POINTER(IAudioEndpointVolumeEx) + + +class IAudioMeterInformation(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioMeterInformation + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetPeakValue', + (['out'], LPFLOAT, 'pfPeak') + ), + COMMETHOD( + [], + HRESULT, + 'GetMeteringChannelCount', + (['out'], LPUINT, 'pnChannelCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetChannelsPeakValues', + (['in'], UINT32, 'u32ChannelCount'), + (['out'], (LPFLOAT * 8), 'afPeakValues') + ), + COMMETHOD( + [], + HRESULT, + 'QueryHardwareSupport', + (['out'], LPDWORD, 'pdwHardwareSupportMask') + ) + ) + + +PIAudioMeterInformation = POINTER(IAudioMeterInformation) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/enum.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/enum.py new file mode 100644 index 000000000..9fdbfe4af --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/enum.py @@ -0,0 +1,506 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +from ctypes import POINTER, c_int as enum + + +class AUDCLNT_SHAREMODE(enum): + AUDCLNT_SHAREMODE_SHARED = 1 + AUDCLNT_SHAREMODE_EXCLUSIVE = 2 + + +PAUDCLNT_SHAREMODE = POINTER(AUDCLNT_SHAREMODE) + + +class AUDIO_STREAM_CATEGORY(enum): + AudioCategory_Other = 0 + AudioCategory_ForegroundOnlyMedia = 1 + AudioCategory_BackgroundCapableMedia = 2 + AudioCategory_Communications = 3 + AudioCategory_Alerts = 4 + AudioCategory_SoundEffects = 5 + AudioCategory_GameEffects = 6 + AudioCategory_GameMedia = 7 + AudioCategory_GameChat = 8 + AudioCategory_Speech = 9 + AudioCategory_Movie = 10 + AudioCategory_Media = 11 + + +PAUDIO_STREAM_CATEGORY = POINTER(AUDIO_STREAM_CATEGORY) + + +class STGM(enum): + STGM_READ = 0x00000000 + + +PSTGM = POINTER(STGM) + + +class AUDCLNT_BUFFERFLAGS(enum): + AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY = 0x1 + AUDCLNT_BUFFERFLAGS_SILENT = 0x2 + AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR = 0x4 + + +PAUDCLNT_BUFFERFLAGS = POINTER(AUDCLNT_BUFFERFLAGS) + + +class AUDCLNT_STREAMOPTIONS(enum): + AUDCLNT_STREAMOPTIONS_NONE = 0 + AUDCLNT_STREAMOPTIONS_RAW = 0x1 + AUDCLNT_STREAMOPTIONS_MATCH_FORMAT = 0x2 + + +PAUDCLNT_STREAMOPTIONS = POINTER(AUDCLNT_STREAMOPTIONS) + + +class ERole(enum): + eConsole = 0 + eMultimedia = 1 + eCommunications = 2 + ERole_enum_count = 3 + + +class EDataFlow(enum): + eRender = 0 + eCapture = 1 + eAll = 2 + EDataFlow_enum_count = 3 + + +PEDataFlow = POINTER(EDataFlow) + + +class DataFlow(enum): + In = 0 + Out = 1 + + +PDataFlow = POINTER(DataFlow) + + +class PartType(enum): + Connector = 0 + Subunit = 1 + + +PPartType = POINTER(PartType) + + +class ConnectorType(enum): + Unknown_Connector = 0, + Physical_Internal = 1 + Physical_External = 2 + Software_IO = 3 + Software_Fixed = 4 + Network = 5 + + +PConnectorType = POINTER(ConnectorType) + + +class EndpointFormFactor(enum): + RemoteNetworkDevice = 0 + Speakers = 1 + LineLevel = 2 + Headphones = 3 + Microphone = 4 + Headset = 5 + Handset = 6 + UnknownDigitalPassthrough = 7 + SPDIF = 8 + DigitalAudioDisplayDevice = 9 + UnknownFormFactor = 10 + EndpointFormFactor_enum_count = 11 + + +PEndpointFormFactor = POINTER(EndpointFormFactor) + + +class AudioSessionState(enum): + AudioSessionStateInactive = 0 + AudioSessionStateActive = 1 + AudioSessionStateExpired = 2 + + +PAudioSessionState = POINTER(AudioSessionState) + + +class EndpointConnectorType(enum): + eHostProcessConnector = 0, + eOffloadConnector = 1, + eLoopbackConnector = 2, + eKeywordDetectorConnector = 3, + eConnectorCount = 4 + + +PEndpointConnectorType = POINTER(EndpointConnectorType) + +class DeviceShareMode(enum): + DeviceShared = 0 + DeviceExclusive = 1 + + +PDeviceShareMode = POINTER(DeviceShareMode) + + +class AudioDeviceState(enum): + Active = 0x1 + Disabled = 0x2 + NotPresent = 0x4 + Unplugged = 0x8 + + +PAudioDeviceState = POINTER(AudioDeviceState) + + +class EChannelMapping(enum): + ePcxChanMap_FL_FR = 0, + ePcxChanMap_FC_LFE = 1 + ePcxChanMap_BL_BR = 2 + ePcxChanMap_FLC_FRC = 3 + ePcxChanMap_SL_SR = 4 + ePcxChanMap_Unknown = 5 + + +PEChannelMapping = POINTER(EChannelMapping) + + +class EPcxConnectionType(enum): + eConnTypeUnknown = 0 + eConnType3Point5mm = 1 + eConnTypeEighth = 1 + eConnTypeQuarter = 2 + eConnTypeAtapiInternal = 3 + eConnTypeRCA = 4 + eConnTypeOptical = 5 + eConnTypeOtherDigital = 6 + eConnTypeOtherAnalog = 7 + eConnTypeMultichannelAnalogDIN = 8 + eConnTypeXlrProfessional = 9 + eConnTypeRJ11Modem = 10 + eConnTypeCombination = 11 + + +PEPcxConnectionType = POINTER(EPcxConnectionType) + + +class EPcxGeoLocation(enum): + eGeoLocRear = 1 + eGeoLocFront = 2 + eGeoLocLeft = 3 + eGeoLocRight = 4 + eGeoLocTop = 5 + eGeoLocBottom = 6 + eGeoLocRearPanel = 7 + eGeoLocRearOPanel = 7 + eGeoLocRiser = 8 + eGeoLocInsideMobileLid = 9 + eGeoLocDrivebay = 10 + eGeoLocHDMI = 11 + eGeoLocOutsideMobileLid = 12 + eGeoLocATAPI = 13 + eGeoLocNotApplicable = 14 + eGeoLocReserved6 = 15 + + +PEPcxGeoLocation = POINTER(EPcxGeoLocation) + + +class EPcxGenLocation(enum): + eGenLocPrimaryBox = 0 + eGenLocInternal = 1 + eGenLocSeparate = 2 + eGenLocOther = 3 + + +PEPcxGenLocation = POINTER(EPcxGenLocation) + + +class EPxcPortConnection(enum): + ePortConnJack = 0 + ePortConnIntegratedDevice = 1 + ePortConnBothIntegratedAndJack = 2 + ePortConnUnknown = 3 + + +PEPxcPortConnection = POINTER(EPxcPortConnection) + + +class DisconnectReason(enum): + DisconnectReasonDeviceRemoval = 0 + DisconnectReasonServerShutdown = 1 + DisconnectReasonFormatChanged = 2 + DisconnectReasonSessionLogoff = 3 + DisconnectReasonSessionDisconnected = 4 + DisconnectReasonExclusiveModeOverride = 5 + + +PDisconnectReason = POINTER(DisconnectReason) + + +class AE_POSITION_FLAGS(enum): + POSITION_INVALID = 0 + POSITION_DISCONTINUOUS = 1 + POSITION_CONTINUOUS = 2 + POSITION_QPC_ERROR = 4 + + +PAE_POSITION_FLAGS = POINTER(AE_POSITION_FLAGS) + + +class APO_BUFFER_FLAGS(enum): + BUFFER_INVALID = 0 + BUFFER_VALID = 1 + BUFFER_SILENT = 2 + + +PAPO_BUFFER_FLAGS = POINTER(APO_BUFFER_FLAGS) + + +class AUDIO_CURVE_TYPE(enum): + AUDIO_CURVE_TYPE_NONE = 0 + AUDIO_CURVE_TYPE_WINDOWS_FADE = 1 + + +PAUDIO_CURVE_TYPE = POINTER(AUDIO_CURVE_TYPE) + + +class AudioSessionDisconnectReason(enum): + DisconnectReasonDeviceRemoval = 0 + DisconnectReasonServerShutdown = 1 + DisconnectReasonFormatChanged = 2 + DisconnectReasonSessionLogoff = 3 + DisconnectReasonSessionDisconnected = 4 + DisconnectReasonExclusiveModeOverride = 5 + + +PAudioSessionDisconnectReason = POINTER(AudioSessionDisconnectReason) + + +class KSJACK_SINK_CONNECTIONTYPE(enum): + KSJACK_SINK_CONNECTIONTYPE_HDMI = 0 + KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT = 1 + + +PKSJACK_SINK_CONNECTIONTYPE = POINTER(KSJACK_SINK_CONNECTIONTYPE) + + +class KSRESET(enum): + KSRESET_BEGIN = 0 + KSRESET_END = 1 + + +PKSRESET = POINTER(KSRESET) + + +class KSSTATE(enum): + KSSTATE_STOP = 0 + KSSTATE_ACQUIRE = 1 + KSSTATE_PAUSE = 2 + KSSTATE_RUN = 3 + + +PKSSTATE = POINTER(KSSTATE) + + +class APO_CONNECTION_BUFFER_TYPE(enum): + APO_CONNECTION_BUFFER_TYPE_ALLOCATED = 0 + APO_CONNECTION_BUFFER_TYPE_EXTERNAL = 1 + APO_CONNECTION_BUFFER_TYPE_DEPENDANT = 2 + + +PAPO_CONNECTION_BUFFER_TYPE = POINTER(APO_CONNECTION_BUFFER_TYPE) + + +class APO_FLAG(enum): + APO_FLAG_NONE = 0x00000000 + APO_FLAG_INPLACE = 0x00000001 + APO_FLAG_SAMPLESPERFRAME_MUST_MATCH = 0x00000002 + APO_FLAG_FRAMESPERSECOND_MUST_MATCH = 0x00000004 + APO_FLAG_BITSPERSAMPLE_MUST_MATCH = 0x00000008 + APO_FLAG_MIXER = 0x00000010 + APO_FLAG_DEFAULT = ( + APO_FLAG_SAMPLESPERFRAME_MUST_MATCH | + APO_FLAG_FRAMESPERSECOND_MUST_MATCH | + APO_FLAG_BITSPERSAMPLE_MUST_MATCH + ) + + +PAPO_FLAG = POINTER(APO_FLAG) + + +class AUDIO_FLOW_TYPE(enum): + AUDIO_FLOW_PULL = 0 + AUDIO_FLOW_PUSH = 1 + + +PAUDIO_FLOW_TYPE = POINTER(AUDIO_FLOW_TYPE) + + +class EAudioConstriction(enum): + eAudioConstrictionOff = 0 + eAudioConstriction48_16 = 1 + eAudioConstriction44_16 = 2 + eAudioConstriction14_14 = 3 + eAudioConstrictionMute = 4 + + +PEAudioConstriction = POINTER(EAudioConstriction) + + +class SpatialAudioMetadataWriterOverflowMode(enum): + SpatialAudioMetadataWriterOverflow_Fail = 0 + SpatialAudioMetadataWriterOverflow_MergeWithNew = 1 + SpatialAudioMetadataWriterOverflow_MergeWithLast = 2 + + +PSpatialAudioMetadataWriterOverflowMode = POINTER( + SpatialAudioMetadataWriterOverflowMode +) + + +class SpatialAudioMetadataCopyMode(enum): + SpatialAudioMetadataCopy_Overwrite = 0 + SpatialAudioMetadataCopy_Append = 1 + SpatialAudioMetadataCopy_AppendMergeWithLast = 2 + SpatialAudioMetadataCopy_AppendMergeWithFirst = 3 + + +PSpatialAudioMetadataCopyMode = POINTER( + SpatialAudioMetadataCopyMode +) + + +class AudioObjectType(enum): + AudioObjectType_None = 0 + AudioObjectType_Dynamic = 1 << 0 + AudioObjectType_FrontLeft = 1 << 1 + AudioObjectType_FrontRight = 1 << 2 + AudioObjectType_FrontCenter = 1 << 3 + AudioObjectType_LowFrequency = 1 << 4 + AudioObjectType_SideLeft = 1 << 5 + AudioObjectType_SideRight = 1 << 6 + AudioObjectType_BackLeft = 1 << 7 + AudioObjectType_BackRight = 1 << 8 + AudioObjectType_TopFrontLeft = 1 << 9 + AudioObjectType_TopFrontRight = 1 << 10 + AudioObjectType_TopBackLeft = 1 << 11 + AudioObjectType_TopBackRight = 1 << 12 + AudioObjectType_BottomFrontLeft = 1 << 13 + AudioObjectType_BottomFrontRight = 1 << 14 + AudioObjectType_BottomBackLeft = 1 << 15 + AudioObjectType_BottomBackRight = 1 << 16 + AudioObjectType_BackCenter = 1 << 17 + + +PAudioObjectType = POINTER(AudioObjectType) + + +class SpatialAudioHrtfDirectivityType(enum): + SpatialAudioHrtfDirectivity_OmniDirectional = 0 + SpatialAudioHrtfDirectivity_Cardioid = 1 + SpatialAudioHrtfDirectivity_Cone = 2 + + +PSpatialAudioHrtfDirectivityType = POINTER(SpatialAudioHrtfDirectivityType) + + +class SpatialAudioHrtfEnvironmentType(enum): + SpatialAudioHrtfEnvironment_Small = 0 + SpatialAudioHrtfEnvironment_Medium = 1 + SpatialAudioHrtfEnvironment_Large = 2 + SpatialAudioHrtfEnvironment_Outdoors = 3 + SpatialAudioHrtfEnvironment_Average = 4 + + +PSpatialAudioHrtfEnvironmentType = POINTER(SpatialAudioHrtfEnvironmentType) + + +class SpatialAudioHrtfDistanceDecayType(enum): + SpatialAudioHrtfDistanceDecay_NaturalDecay = 0 + SpatialAudioHrtfDistanceDecay_CustomDecay = 1 + + +PSpatialAudioHrtfDistanceDecayType = POINTER(SpatialAudioHrtfDistanceDecayType) + + +class KSPROPERTY_AUDIO(enum): + + KSPROPERTY_AUDIO_LATENCY = 1 + KSPROPERTY_AUDIO_COPY_PROTECTION = 2 + KSPROPERTY_AUDIO_CHANNEL_CONFIG = 3 + KSPROPERTY_AUDIO_VOLUMELEVEL = 4 + KSPROPERTY_AUDIO_POSITION = 5 + KSPROPERTY_AUDIO_DYNAMIC_RANGE = 6 + KSPROPERTY_AUDIO_QUALITY = 7 + KSPROPERTY_AUDIO_SAMPLING_RATE = 8 + KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE = 9 + KSPROPERTY_AUDIO_MIX_LEVEL_TABLE = 10 + KSPROPERTY_AUDIO_MIX_LEVEL_CAPS = 11 + KSPROPERTY_AUDIO_MUX_SOURCE = 12 + KSPROPERTY_AUDIO_MUTE = 13 + KSPROPERTY_AUDIO_BASS = 14 + KSPROPERTY_AUDIO_MID = 15 + KSPROPERTY_AUDIO_TREBLE = 16 + KSPROPERTY_AUDIO_BASS_BOOST = 17 + KSPROPERTY_AUDIO_EQ_LEVEL = 18 + KSPROPERTY_AUDIO_NUM_EQ_BANDS = 19 + KSPROPERTY_AUDIO_EQ_BANDS = 20 + KSPROPERTY_AUDIO_AGC = 21 + KSPROPERTY_AUDIO_DELAY = 22 + KSPROPERTY_AUDIO_LOUDNESS = 23 + KSPROPERTY_AUDIO_WIDE_MODE = 24 + KSPROPERTY_AUDIO_WIDENESS = 25 + KSPROPERTY_AUDIO_REVERB_LEVEL = 26 + KSPROPERTY_AUDIO_CHORUS_LEVEL = 27 + KSPROPERTY_AUDIO_DEV_SPECIFIC = 28 + KSPROPERTY_AUDIO_DEMUX_DEST = 29 + KSPROPERTY_AUDIO_STEREO_ENHANCE = 30 + KSPROPERTY_AUDIO_MANUFACTURE_GUID = 32 + KSPROPERTY_AUDIO_PRODUCT_GUID = 32 + KSPROPERTY_AUDIO_CPU_RESOURCES = 33 + KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY = 34 + KSPROPERTY_AUDIO_SURROUND_ENCODE = 35 + KSPROPERTY_AUDIO_3D_INTERFACE = 36 + KSPROPERTY_AUDIO_PEAKMETER = 37 + KSPROPERTY_AUDIO_ALGORITHM_INSTANCE = 38 + KSPROPERTY_AUDIO_FILTER_STATE = 39 + KSPROPERTY_AUDIO_PREFERRED_STATUS = 40 + KSPROPERTY_AUDIO_PEQ_MAX_BANDS = 41 + KSPROPERTY_AUDIO_PEQ_NUM_BANDS = 42 + KSPROPERTY_AUDIO_PEQ_BAND_CENTER_FREQ = 43 + KSPROPERTY_AUDIO_PEQ_BAND_Q_FACTOR = 44 + KSPROPERTY_AUDIO_PEQ_BAND_LEVEL = 45 + KSPROPERTY_AUDIO_CHORUS_MODULATION_RATE = 46 + KSPROPERTY_AUDIO_CHORUS_MODULATION_DEPTH = 47 + KSPROPERTY_AUDIO_REVERB_TIME = 48 + KSPROPERTY_AUDIO_REVERB_DELAY_FEEDBACK = 49 + KSPROPERTY_AUDIO_POSITIONEX = 50 + KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY = 51 + KSPROPERTY_AUDIO_PRESENTATION_POSITION = 52 + KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_POSITION = 53 + KSPROPERTY_AUDIO_LINEAR_BUFFER_POSITION = 54 + KSPROPERTY_AUDIO_PEAKMETER2 = 55 + KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_LASTBUFFER_POSITION = 56 + KSPROPERTY_AUDIO_VOLUMELIMIT_ENGAGED = 57 + KSPROPERTY_AUDIO_MIC_SENSITIVITY = 58 + KSPROPERTY_AUDIO_MIC_SNR = 59 + + diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/iid.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/iid.py new file mode 100644 index 000000000..c7a11525c --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/iid.py @@ -0,0 +1,338 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +from comtypes import GUID as IID + +IID_IMMDevice = IID( + '{D666063F-1587-4E43-81F1-B948E807363F}' +) +IID_IAudioSessionControl = IID( + '{F4B1A599-7266-4319-A8CA-E70ACB11E8CD}' +) +IID_IAudioSessionControl2 = IID( + '{BFB7FF88-7239-4FC9-8FA2-07C950BE9C6D}' +) +IID_IMMDeviceCollection = IID( + '{0BD7A1BE-7A1A-44DB-8397-CC5392387B5E}' +) +IID_IMMDeviceEnumerator = IID( + '{A95664D2-9614-4F35-A746-DE8DB63617E6}' +) +IID_IAudioEndpointVolume = IID( + '{5CDF2C82-841E-4546-9722-0CF74078229A}' +) +IID_IPropertyStore = IID( + '{5CDF2C82-841E-4546-9722-0CF74078229A}' +) +IID_ISimpleAudioVolume = IID( + '{87CE5498-68D6-44E5-9215-6DA47EF883D8}' +) +IID_IAudioSessionEnumerator = IID( + '{E2F5BB11-0570-40CA-ACDD-3AA01277DEE8}' +) +IID_IAudioSessionManager = IID( + '{BFA971F1-4d5e-40bb-935e-967039bfbee4}' +) +IID_IAudioSessionManager2 = IID( + '{77aa99a0-1bd6-484f-8bc7-2c654c9a9b6f}' +) +IID_IAudioClient = IID( + '{1cb9ad4c-dbfa-4c32-b178-c2f568a703b2}' +) +IID_IAudioClient2 = IID( + '{726778CD-F60A-4eda-82DE-E47610CD78AA}' +) +IID_IMMNotificationClient = IID( + '{7991EEC9-7E89-4D85-8390-6C703CEC60C0}' +) +IID_IMMEndpoint = IID( + '{1BE09788-6894-4089-8586-9A2A6C265AC5}' +) +IID_IMMDeviceActivator = IID( + '{3B0D0EA4-D0A9-4B0E-935B-09516746FAC0}' +) +IID_IAudioEndpoint = IID( + '{30A99515-1527-4451-AF9F-00C5F0234DAF}' +) +IID_IAudioEndpointRT = IID( + '{DFD2005F-A6E5-4d39-A265-939ADA9FBB4D}' +) +IID_IAudioInputEndpointRT = IID( + '{8026AB61-92B2-43c1-A1DF-5C37EBD08D82}' +) +IID_IAudioOutputEndpointRT = IID( + '{8FA906E4-C31C-4e31-932E-19A66385E9AA}' +) +IID_IAudioDeviceEndpoint = IID( + '{D4952F5A-A0B2-4cc4-8B82-9358488DD8AC}' +) +IID_IAudioEndpointOffloadStreamVolume = IID( + '{64F1DD49-71CA-4281-8672-3A9EDDD1D0B6}' +) +IID_IAudioEndpointOffloadStreamMute = IID( + '{DFE21355-5EC2-40E0-8D6B-710AC3C00249}' +) +IID_IAudioEndpointOffloadStreamMeter = IID( + '{E1546DCE-9DD1-418B-9AB2-348CED161C86}' +) +IID_IAudioEndpointLastBufferControl = IID( + '{F8520DD3-8F9D-4437-9861-62F584C33DD6}' +) +IID_IAudioLfxControl = IID( + '{076A6922-D802-4F83-BAF6-409D9CA11BFE}' +) +IID_IHardwareAudioEngineBase = IID( + '{EDDCE3E4-F3C1-453a-B461-223563CBD886}' +) +IID_IAudioEndpointControl = IID( + '{C684B72A-6DF4-4774-BDF9-76B77509B653}' +) +IID_IAudioSessionNotification = IID( + '{641DD20B-4D41-49CC-ABA3-174B9477BB08}' +) +IID_IAudioSessionEvents = IID( + '{24918ACC-64B3-37C1-8CA9-74A66E9957A8}' +) +IID_IAudioEndpointVolumeCallback = IID( + '{657804FA-D6AD-4496-8A60-352752AF4F89}' +) +IID_IAudioVolumeDuckNotification = IID( + '{C3B284D4-6D39-4359-B3CF-B56DDB3BB39C}' +) +IID_IAudioEndpointVolumeEx = IID( + '{66E11784-F695-4F28-A505-A7080081A78F}' +) +IID_IAudioMeterInformation = IID( + '{C02216F6-8C67-4B5B-9D00-D008E73E0064}' +) +IID_IKsControl = IID( + '{28F54685-06FD-11D2-B27A-00A0C9223196}' +) +IID_IPerChannelDbLevel = IID( + '{C2F8E001-F205-4BC9-99BC-C13B1E048CCB}' +) +IID_IAudioVolumeLevel = IID( + '{7FB7B48F-531D-44A2-BCB3-5AD5A134B3DC}' +) +IID_IAudioChannelConfig = IID( + '{BB11C46F-EC28-493C-B88A-5DB88062CE98}' +) +IID_IAudioLoudness = IID( + '{7D8B1437-DD53-4350-9C1B-1EE2890BD938}' +) +IID_IAudioInputSelector = IID( + '{4F03DC02-5E6E-4653-8F72-A030C123D598}' +) +IID_IAudioOutputSelector = IID( + '{BB515F69-94A7-429e-8B9C-271B3F11A3AB}' +) +IID_IAudioMute = IID( + '{DF45AEEA-B74A-4B6B-AFAD-2366B6AA012E}' +) +IID_IAudioBass = IID( + '{A2B1A1D9-4DB3-425D-A2B2-BD335CB3E2E5}' +) +IID_IAudioMidrange = IID( + '{5E54B6D7-B44B-40D9-9A9E-E691D9CE6EDF}' +) +IID_IAudioTreble = IID( + '{0A717812-694E-4907-B74B-BAFA5CFDCA7B}' +) +IID_IAudioAutoGainControl = IID( + '{85401FD4-6DE4-4b9d-9869-2D6753A82F3C}' +) +IID_IAudioPeakMeter = IID( + '{DD79923C-0599-45e0-B8B6-C8DF7DB6E796}' +) +IID_IDeviceSpecificProperty = IID( + '{3B22BCBF-2586-4af0-8583-205D391B807C}' +) +IID_IKsFormatSupport = IID( + '{3CB4A69D-BB6F-4D2B-95B7-452D2C155DB5}' +) +IID_IKsJackDescription = IID( + '{4509F757-2D46-4637-8E62-CE7DB944F57B}' +) +IID_IKsJackDescription2 = IID( + '{478F3A9B-E0C9-4827-9228-6F5505FFE76A}' +) +IID_IKsJackSinkInformation = IID( + '{D9BD72ED-290F-4581-9FF3-61027A8FE532}' +) +IID_IKsJackContainerId = IID( + '{C99AF463-D629-4EC4-8C00-E54D68154248}' +) +IID_IPartsList = IID( + '{6DAA848C-5EB0-45CC-AEA5-998A2CDA1FFB}' +) +IID_IPart = IID( + '{AE2DE0E4-5BCA-4F2D-AA46-5D13F8FDB3A9}' +) +IID_IConnector = IID( + '{9c2c4058-23f5-41de-877a-df3af236a09e}' +) +IID_ISubunit = IID( + '{82149A85-DBA6-4487-86BB-EA8F7FEFCC71}' +) +IID_IControlInterface = IID( + '{45d37c3f-5140-444a-ae24-400789f3cbf3}' +) +IID_IControlChangeNotify = IID( + '{A09513ED-C709-4d21-BD7B-5F34C47F3947}' +) +IID_IDeviceTopology = IID( + '{2A07407E-6497-4A18-9787-32F79BD0D98F}' +) +CLSID_DeviceTopology = IID( + '{1DF639D0-5EC1-47AA-9379-828DC1AA8C59}' +) +IID_DevTopologyLib = ( + '{51B9A01D-8181-4363-B59C-E678F476DD0E}' +) +IID_IAudioMediaType = IID( + '{4E997F73-B71F-4798-873B-ED7DFCF15B4D}' +) +IID_IAudioCaptureClient = IID( + '{C8ADBD64-E71E-48a0-A4DE-185C395CD317}' +) +IID_IAudioClient3 = IID( + '{7ED4EE07-8E67-4CD4-8C1A-2B7A5987AD42}' +) +IID_IAudioClock = IID( + '{CD63314F-3FBA-4a1b-812C-EF96358728E7}' +) +IID_IAudioClock2 = IID( + '{6f49ff73-6727-49ac-a008-d98cf5e70048}' +) +IID_IAudioClockAdjustment = IID( + '{f6e4c0a0-46d9-4fb8-be21-57a3ef2b626c}' +) +IID_IAudioStreamVolume = IID( + '{93014887-242D-4068-8A15-CF5E93B90FE3}' +) +IID_IChannelAudioVolume = IID( + '{1C158861-B533-4B30-B1CF-E853E51C59B8}' +) +IID_MMDeviceAPILib = ( + '{2FDAAFA3-7523-4F66-9957-9D5E7FE698F6}' +) +IID_IAudioEndpointFormatControl = IID( + '{784CFD40-9F89-456E-A1A6-873B006A664E}' +) +IID_AudioSes = ( + '{00000000-0000-0000-0000-000000000000}' +) +IID_IActivateAudioInterfaceAsyncOperation = IID( + '{72A22D78-CDE4-431D-B8CC-843A71199B6D}' +) +IID_IActivateAudioInterfaceCompletionHandler = IID( + '{41D949AB-9862-444A-80F6-C261334DA5EB}' +) +IID_IAudioRenderClient = IID( + '{F294ACFC-3146-4483-A7BF-ADDCA7C260E2}' +) +IID_IAudioProcessingObjectRT = IID( + '{9E1D6A6D-DDBC-4E95-A4C7-AD64BA37846C}' +) +IID_IAudioProcessingObjectVBR = IID( + '{7ba1db8f-78ad-49cd-9591-f79d80a17c81}' +) +IID_IAudioProcessingObjectConfiguration = IID( + '{0E5ED805-ABA6-49c3-8F9A-2B8C889C4FA8}' +) +IID_IAudioProcessingObject = IID( + '{FD7F2B29-24D0-4b5c-B177-592C39F9CA10}' +) +IID_IAudioSystemEffects = IID( + '{5FA00F27-ADD6-499a-8A9D-6B98521FA75B}' +) +IID_IAudioSystemEffects2 = IID( + '{BAFE99D2-7436-44CE-9E0E-4D89AFBFFF56}' +) +IID_IAudioSystemEffectsCustomFormats = IID( + '{B1176E34-BB7F-4f05-BEBD-1B18A534E097}' +) +IID_ISpatialAudioMetadataItems = IID( + '{BCD7C78F-3098-4F22-B547-A2F25A381269}' +) +IID_ISpatialAudioMetadataWriter = IID( + '{1B17CA01-2955-444D-A430-537DC589A844}' +) +IID_ISpatialAudioMetadataReader = IID( + '{B78E86A2-31D9-4C32-94D2-7DF40FC7EBEC}' +) +IID_ISpatialAudioMetadataCopier = IID( + '{D224B233-E251-4FD0-9CA2-D5ECF9A68404}' +) +IID_ISpatialAudioMetadataItemsBuffer = IID( + '{42640A16-E1BD-42D9-9FF6-031AB71A2DBA}' +) +IID_ISpatialAudioMetadataClient = IID( + '{777D4A3B-F6FF-4A26-85DC-68D7CDEDA1D4}' +) +IID_ISpatialAudioObjectForMetadataCommands = IID( + '{0DF2C94B-F5F9-472D-AF6B-C46E0AC9CD05}' +) +IID_ISpatialAudioObjectForMetadataItems = IID( + '{DDEA49FF-3BC0-4377-8AAD-9FBCFD808566}' +) +IID_ISpatialAudioObjectRenderStreamForMetadata = IID( + '{BBC9C907-48D5-4A2E-A0C7-F7F0D67C1FB1}' +) +IID_IAudioFormatEnumerator = IID( + '{DCDAA858-895A-4A22-A5EB-67BDA506096D}' +) +IID_ISpatialAudioObjectBase = IID( + '{CCE0B8F2-8D4D-4EFB-A8CF-3D6ECF1C30E0}' +) +IID_ISpatialAudioObject = IID( + '{DDE28967-521B-46E5-8F00-BD6F2BC8AB1D}' +) +IID_ISpatialAudioObjectRenderStreamBase = IID( + '{FEAAF403-C1D8-450D-AA05-E0CCEE7502A8}' +) +IID_ISpatialAudioObjectRenderStream = IID( + '{BAB5F473-B423-477B-85F5-B5A332A04153}' +) +IID_ISpatialAudioObjectRenderStreamNotify = IID( + '{DDDF83E6-68D7-4C70-883F-A1836AFB4A50}' +) +IID_ISpatialAudioClient = IID( + '{BBF8E066-AAAA-49BE-9A4D-FD2A858EA27F}' +) +IID_ISpatialAudioObjectForHrtf = IID( + '{D7436ADE-1978-4E14-ABA0-555BD8EB83B4}' +) +IID_ISpatialAudioObjectRenderStreamForHrtf = IID( + '{E08DEEF9-5363-406E-9FDC-080EE247BBE0}' +) +IID_IPolicyConfig = IID( + '{f8679f50-850a-41cf-9c72-430f290290c8}' +) +IID_IPolicyConfigVista = IID( + '{568b9108-44bf-40b4-9006-86afe5b5a620}' +) +CLSID_PolicyConfigClient = IID( + '{870af99c-171d-4f9e-af0d-e63df40c2bc9}' +) +CLSID_PolicyConfigVistaClient = IID( + '{294935CE-F637-4E7C-A41B-AB255460B862}' +) +CLSID_MMDeviceEnumerator = IID( + '{BCDE0395-E52F-467C-8E3D-C4579291692E}' +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ks.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ks.py new file mode 100644 index 000000000..51e8d1410 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ks.py @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +from comtypes import GUID, POINTER +from ctypes.wintypes import ULONG, LONG + +LONGLONG = ctypes.c_longlong + + +class KSAUDIO_CHANNEL_CONFIG(ctypes.Structure): + + _fields_ = [ + ('ActiveSpeakerPositions', LONG) + ] + + +PKSAUDIO_CHANNEL_CONFIG = POINTER(KSAUDIO_CHANNEL_CONFIG) + + +class KSIDENTIFIER_STRUCT(ctypes.Union): + _fields_ = [ + ('Set', GUID), + ('Id', ULONG), + ('Flags', ULONG) + ] + + +class KSIDENTIFIER_UNION(ctypes.Union): + _anonymous_ = 'KSIDENTIFIER_STRUCT' + _fields_ = [ + ('KSIDENTIFIER_STRUCT', KSIDENTIFIER_STRUCT) + ] + + +class KSIDENTIFIER(ctypes.Structure): + _anonymous_ = 'KSIDENTIFIER_UNION' + _fields_ = [ + ('KSIDENTIFIER_UNION', KSIDENTIFIER_UNION), + ('Alignment', LONGLONG) + ] + + +PKSIDENTIFIER = POINTER(KSIDENTIFIER) + + +class KSMETHOD(KSIDENTIFIER): + pass + + +PKSMETHOD = POINTER(KSMETHOD) + + +class KSEVENT(KSIDENTIFIER): + pass + + +PKSEVENT = POINTER(KSEVENT) + + +class KSPROPERTY(KSIDENTIFIER): + pass + + +PKSPROPERTY = POINTER(KSPROPERTY) + + + +class KSNODEPROPERTY(ctypes.Structure): + + _fields_ = [ + ('Property', KSPROPERTY), + ('NodeId', ULONG), + ('Reserved', ULONG) + ] + + +PKSNODEPROPERTY = POINTER(KSNODEPROPERTY) + + +class KSNODEPROPERTY_AUDIO_CHANNEL(ctypes.Structure): + + _fields_ = [ + ('NodeProperty', KSNODEPROPERTY), + ('Channel', LONG), + ('Reserved', ULONG) + ] + + +PKSNODEPROPERTY_AUDIO_CHANNEL = POINTER(KSNODEPROPERTY_AUDIO_CHANNEL) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ks_wip.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ks_wip.py new file mode 100644 index 000000000..05ae48593 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ks_wip.py @@ -0,0 +1,1077 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +from comtypes import GUID, POINTER +from ctypes.wintypes import ULONG, BOOL + +LONGLONG = ctypes.c_longlong + + +class KSPROPERTY_GENERAL(enum): + KSPROPERTY_GENERAL_COMPONENTID = 0 + + +class KSMETHOD_STREAMIO(enum): + KSMETHOD_STREAMIO_READ = 0 + KSMETHOD_STREAMIO_WRITE = 1 + + +class KSPROPERTY_MEDIASEEKING(enum): + KSPROPERTY_MEDIASEEKING_CAPABILITIES = 0 + KSPROPERTY_MEDIASEEKING_FORMATS = 1 + KSPROPERTY_MEDIASEEKING_TIMEFORMAT = 2 + KSPROPERTY_MEDIASEEKING_POSITION = 3 + KSPROPERTY_MEDIASEEKING_STOPPOSITION = 4 + KSPROPERTY_MEDIASEEKING_POSITIONS = 5 + KSPROPERTY_MEDIASEEKING_DURATION = 6 + KSPROPERTY_MEDIASEEKING_AVAILABLE = 7 + KSPROPERTY_MEDIASEEKING_PREROLL = 8 + KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT = 9 + + +class KS_SEEKING_FLAGS(enum): + KS_SEEKING_NoPositioning = 0 + KS_SEEKING_AbsolutePositioning = 1 + KS_SEEKING_RelativePositioning = 2 + KS_SEEKING_IncrementalPositioning = 3 + KS_SEEKING_PositioningBitsMask = 0x3 + KS_SEEKING_SeekToKeyFrame = 4 + KS_SEEKING_ReturnTime = 0x8 + + +class KS_SEEKING_CAPABILITIES(enum): + KS_SEEKING_CanSeekAbsolute = 0x1 + KS_SEEKING_CanSeekForwards = 0x2 + KS_SEEKING_CanSeekBackwards = 0x4 + KS_SEEKING_CanGetCurrentPos = 0x8 + KS_SEEKING_CanGetStopPos = 0x10 + KS_SEEKING_CanGetDuration = 0x20 + KS_SEEKING_CanPlayBackwards = 0x40 + + +class KSIDENTIFIER_STRUCT(ctypes.Union): + _fields_ = [ + ('Set', GUID), + ('Id', ULONG), + ('Flags', ULONG) + ] + + +class KSIDENTIFIER_UNION(ctypes.Union): + _anonymous_ = 'KSIDENTIFIER_STRUCT' + _fields_ = [ + ('KSIDENTIFIER_STRUCT', KSIDENTIFIER_STRUCT) + ] + + +class KSIDENTIFIER(ctypes.Structure): + _anonymous_ = 'KSIDENTIFIER_UNION' + _fields_ = [ + ('KSIDENTIFIER_UNION', KSIDENTIFIER_UNION), + ('Alignment', LONGLONG) + ] + + +PKSIDENTIFIER = POINTER(KSIDENTIFIER) + + +class KSMETHOD(KSIDENTIFIER): + pass + + +PKSMETHOD = POINTER(KSMETHOD) + + +class KSEVENT(KSIDENTIFIER): + pass + + +PKSEVENT = POINTER(KSEVENT) + + +class KSPROPERTY(KSIDENTIFIER): + pass + + +PKSPROPERTY = POINTER(KSPROPERTY) + + +class KSP_NODE(ctypes.Structure): + _fields_ = [ + ('Property', KSPROPERTY), + ('NodeId', ULONG), + ('Reserved', ULONG), + ] + + +PKSP_NODE = POINTER(KSP_NODE) + + +class KSM_NODE(ctypes.Structure): + _fields_ = [ + ('Method', KSMETHOD), + ('NodeId', ULONG), + ('Reserved', ULONG), + ] + + +PKSM_NODE = POINTER(KSM_NODE) + + +class KSE_NODE(ctypes.Structure): + _fields_ = [ + ('Event', KSEVENT), + ('NodeId', ULONG), + ('Reserved', ULONG), + ] + + +PKSE_NODE = POINTER(KSE_NODE) + + +class KSMULTIPLE_ITEM(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('Count', ULONG), + ] + + +PKSMULTIPLE_ITEM = POINTER(KSMULTIPLE_ITEM) + + +class KSPROPERTY_DESCRIPTION(ctypes.Structure): + _fields_ = [ + ('AccessFlags', ULONG), + ('DescriptionSize', ULONG), + ('PropTypeSet', KSIDENTIFIER), + ('MembersListCount', ULONG), + ('Reserved', ULONG), + ] + + +PKSPROPERTY_DESCRIPTION = POINTER(KSPROPERTY_DESCRIPTION) + + +class KSPROPERTY_MEMBERSHEADER(ctypes.Structure): + _fields_ = [ + ('MembersFlags', ULONG), + ('MembersSize', ULONG), + ('MembersCount', KSIDENTIFIER), + ('Flags', ULONG), + ] + + +PKSPROPERTY_MEMBERSHEADER = POINTER(KSPROPERTY_MEMBERSHEADER) + + +class KSPROPERTY_BOUNDS_LONG_STRUCT1(ctypes.Structure): + _fields_ = [ + ('SignedMinimum', LONG), + ('SignedMaximum', LONG) + ] + + +class KSPROPERTY_BOUNDS_LONG_STRUCT2(ctypes.Structure): + _fields_ = [ + ('UnsignedMinimum', ULONG), + ('UnsignedMaximum', ULONG), + ] + + +class KSPROPERTY_BOUNDS_LONG(ctypes.Union): + _anonymous_ = [ + 'KSPROPERTY_BOUNDS_LONG_STRUCT1', + 'KSPROPERTY_BOUNDS_LONG_STRUCT2' + ] + _fields_ = [ + ('KSPROPERTY_BOUNDS_LONG_STRUCT1', KSPROPERTY_BOUNDS_LONG_STRUCT1), + ('KSPROPERTY_BOUNDS_LONG_STRUCT2', KSPROPERTY_BOUNDS_LONG_STRUCT2) + ] + + +PKSPROPERTY_BOUNDS_LONG = POINTER(KSPROPERTY_BOUNDS_LONG) + + +class KSPROPERTY_BOUNDS_LONGLONG_STRUCT1(ctypes.Structure): + _fields_ = [ + ('SignedMinimum', LONGLONG), + ('SignedMaximum', LONGLONG) + ] + + +class KSPROPERTY_BOUNDS_LONGLONG_STRUCT2(ctypes.Structure): + _fields_ = [ + ('UnsignedMinimum', DWORDLONG), + ('UnsignedMaximum', DWORDLONG), + ] + + +class KSPROPERTY_BOUNDS_LONGLONG(ctypes.Union): + _anonymous_ = [ + 'KSPROPERTY_BOUNDS_LONGLONG_STRUCT1', + 'KSPROPERTY_BOUNDS_LONGLONG_STRUCT2' + ] + _fields_ = [ + ( + 'KSPROPERTY_BOUNDS_LONGLONG_STRUCT1', + KSPROPERTY_BOUNDS_LONGLONG_STRUCT1), + ( + 'KSPROPERTY_BOUNDS_LONGLONG_STRUCT2', + KSPROPERTY_BOUNDS_LONGLONG_STRUCT2 + ), + ] + + +PKSPROPERTY_BOUNDS_LONGLONG = POINTER(KSPROPERTY_BOUNDS_LONGLONG) + + +class KSPROPERTY_STEPPING_LONG(ctypes.Structure): + _fields_ = [ + ('SteppingDelta', ULONG), + ('Reserved', ULONG), + ('Bounds', KSPROPERTY_BOUNDS_LONG) + ] + + +PKSPROPERTY_STEPPING_LONG = POINTER(KSPROPERTY_STEPPING_LONG) + + +class KSPROPERTY_STEPPING_LONGLONG(ctypes.Structure): + _fields_ = [ + ('SteppingDelta', DWORDLONG), + ('Bounds', KSPROPERTY_BOUNDS_LONGLONG) + ] + + +PKSPROPERTY_STEPPING_LONGLONG = POINTER(KSPROPERTY_STEPPING_LONGLONG) + + +class KSEVENTDATA_UNION(ctypes.Union): + + class EventHandle(ctypes.Structure): + _fields_ = [ + ('Event', HANDLE), + ('Reserved', ULONG_PTR) + ] + + + class SemaphoreHandle(ctypes.Structure): + _fields_ = [ + ('Semaphore', HANDLE), + ('Reserved', ULONG), + ('Adjustment', LONG) + ] + + class Alignment(ctypes.Structure): + _fields_ = [ + ('Unused', PVOID), + ('Alignment', LONG_PTR) + ] + + _fields_ = [ + ('EventHandle', EventHandle), + ('SemaphoreHandle', SemaphoreHandle), + ('Alignment', Alignment), + + ] + + +class KSEVENTDATA(ctypes.Structure): + _anonymous_ = 'KSEVENTDATA_UNION' + _fields_ = [ + ('NotificationType', ULONG), + ('KSEVENTDATA_UNION', KSEVENTDATA_UNION) + ] + + +PKSEVENTDATA = POINTER(KSEVENTDATA) + + +class KSQUERYBUFFER(ctypes.Structure): + _fields_ = [ + ('Event', KSEVENT), + ('EventData', PKSEVENTDATA), + ('Reserved', PVOID) + ] + + +PKSQUERYBUFFER = POINTER(KSQUERYBUFFER) + + +class KSRELATIVEEVENT_UNION(ctypes.Union): + _fields_ = [ + ('ObjectHandle', HANDLE), + ('ObjectPointer', PVOID) + ] + + +class KSRELATIVEEVENT(ctypes.Structure): + _anonymous_ = 'KSRELATIVEEVENT_UNION' + _fields_ = [ + ('Size', ULONG), + ('Flags', ULONG), + ('KSRELATIVEEVENT_UNION', KSRELATIVEEVENT_UNION), + ('Reserved', PVOID), + ('Event', KSEVENT), + ('EventData', KSEVENTDATA) + ] + + +PKSRELATIVEEVENT = POINTER(KSRELATIVEEVENT) + + +class KSEVENT_TIME_MARK(ctypes.Structure): + _fields_ = [ + ('EventData', KSEVENTDATA), + ('MarkTime', LONGLONG) + ] + + +PKSEVENT_TIME_MARK = POINTER(KSEVENT_TIME_MARK) + + +class KSEVENT_TIME_INTERVAL(ctypes.Structure): + _fields_ = [ + ('EventData', KSEVENTDATA), + ('TimeBase', LONGLONG), + ('Interval', LONGLONG) + ] + + +PKSEVENT_TIME_INTERVAL = POINTER(KSEVENT_TIME_INTERVAL) + + +class KSINTERVAL(ctypes.Structure): + _fields_ = [ + ('TimeBase', LONGLONG), + ('Interval', LONGLONG) + ] + + +PKSINTERVAL = POINTER(KSINTERVAL) + + +class KSCOMPONENTID(ctypes.Structure): + _fields_ = [ + ('Manufacturer', GUID), + ('Product', GUID), + ('Manufacturer', GUID), + ('Product', GUID), + ('Manufacturer', ULONG), + ('Product', ULONG) + ] + + +PKSCOMPONENTID = POINTER(KSCOMPONENTID) + + +class KSPROPERTY_POSITIONS(ctypes.Structure): + _fields_ = [ + ('Current', LONGLONG), + ('Stop', LONGLONG), + ('CurrentFlags', KS_SEEKING_FLAGS), + ('StopFlags', KS_SEEKING_FLAGS) + ] + + +PKSPROPERTY_POSITIONS = POINTER(KSPROPERTY_POSITIONS) + + +class KSPROPERTY_MEDIAAVAILABLE(ctypes.Structure): + _fields_ = [ + ('Earliest', LONGLONG), + ('Latest', LONGLONG) + ] + + +PKSPROPERTY_MEDIAAVAILABLE = POINTER(KSPROPERTY_MEDIAAVAILABLE) + + +class KSP_TIMEFORMAT(ctypes.Structure): + _fields_ = [ + ('Property', KSPROPERTY), + ('SourceFormat', GUID), + ('TargetFormat', GUID), + ('Time', LONGLONG) + ] + + +PKSP_TIMEFORMAT = POINTER(KSP_TIMEFORMAT) + + +class KSTOPOLOGY_CONNECTION(ctypes.Structure): + _fields_ = [ + ('FromNode', ULONG), + ('FromNodePin', ULONG), + ('ToNode', ULONG), + ('ToNodePin', ULONG) + ] + + +PKSTOPOLOGY_CONNECTION = POINTER(KSTOPOLOGY_CONNECTION) + + +class KSTOPOLOGY(ctypes.Structure): + _fields_ = [ + ('CategoriesCount', ULONG), + ('Categories', LPGUID), + ('TopologyNodesCount', ULONG), + ('TopologyNodes', LPGUID), + ('TopologyConnectionsCount', ULONG), + ('TopologyConnections', PKSTOPOLOGY_CONNECTION), + ('TopologyNodesNames', LPGUID), + ('Reserved', ULONG) + ] + _field_size_ = [ + 'CategoriesCount', + 'TopologyNodesCount', + 'TopologyConnectionsCount', + 'TopologyConnections' + ] + + +PKSTOPOLOGY = POINTER(KSTOPOLOGY) + + +class KSNODE_CREATE(ctypes.Structure): + _fields_ = [ + ('CreateFlags', ULONG), + ('Node', ULONG) + ] + + +PKSNODE_CREATE = POINTER(KSNODE_CREATE) + + +class KSINTERFACE_STANDARD(enum): + KSINTERFACE_STANDARD_STREAMING = 0 + KSINTERFACE_STANDARD_LOOPED_STREAMING = 0 + KSINTERFACE_STANDARD_CONTROL = 0 + + +PKSINTERFACE_STANDARD = POINTER(KSINTERFACE_STANDARD) + + +class KSINTERFACE_FILEIO(enum): + KSINTERFACE_FILEIO_STREAMING = 0 + + +PKSINTERFACE_FILEIO = POINTER(KSINTERFACE_FILEIO) + + +class KSPROPERTY_PIN(enum): + KSPROPERTY_PIN_CINSTANCES = 0 + KSPROPERTY_PIN_CTYPES = 1 + KSPROPERTY_PIN_DATAFLOW = 2 + KSPROPERTY_PIN_DATARANGES = 3 + KSPROPERTY_PIN_DATAINTERSECTION = 4 + KSPROPERTY_PIN_INTERFACES = 5 + KSPROPERTY_PIN_MEDIUMS = 6 + KSPROPERTY_PIN_COMMUNICATION = 7 + KSPROPERTY_PIN_GLOBALCINSTANCES = 8 + KSPROPERTY_PIN_NECESSARYINSTANCES = 9 + KSPROPERTY_PIN_PHYSICALCONNECTION = 10 + KSPROPERTY_PIN_CATEGORY = 11 + KSPROPERTY_PIN_NAME = 12 + KSPROPERTY_PIN_CONSTRAINEDDATARANGES = 13 + KSPROPERTY_PIN_PROPOSEDATAFORMAT = 14 + KSPROPERTY_PIN_PROPOSEDATAFORMAT2 = 15 + + +PKSPROPERTY_PIN = POINTER(KSPROPERTY_PIN) + + +class KSPIN_DATAFLOW(enum): + KSPIN_DATAFLOW_IN = 1 + KSPIN_DATAFLOW_OUT = 2 + + +PKSPIN_DATAFLOW = POINTER(KSPIN_DATAFLOW) + + +class KSPIN_COMMUNICATION(enum): + KSPIN_COMMUNICATION_NONE = 0 + KSPIN_COMMUNICATION_SINK = 1 + KSPIN_COMMUNICATION_SOURCE = 2 + KSPIN_COMMUNICATION_BOTH = 3 + KSPIN_COMMUNICATION_BRIDGE = 4 + + +PKSPIN_COMMUNICATION = POINTER(KSPIN_COMMUNICATION) + + +class KSEVENT_PINCAPS_CHANGENOTIFICATIONS(enum): + KSEVENT_PINCAPS_FORMATCHANGE = 0 + KSEVENT_PINCAPS_JACKINFOCHANGE = 1 + + +PKSEVENT_PINCAPS_CHANGENOTIFICATIONS = POINTER( + KSEVENT_PINCAPS_CHANGENOTIFICATIONS +) + + +class KSEVENT_VOLUMELIMIT(enum): + KSEVENT_VOLUMELIMIT_CHANGED = 0 + + +PKSEVENT_VOLUMELIMIT = POINTER(KSEVENT_VOLUMELIMIT) + + +class KSPROPERTY_QUALITY(enum): + KSPROPERTY_QUALITY_REPORT = 0 + KSPROPERTY_QUALITY_ERROR = 1 + + +PKSPROPERTY_QUALITY = POINTER(KSPROPERTY_QUALITY) + + +class KSPROPERTY_CONNECTION(enum): + KSPROPERTY_CONNECTION_STATE = 0 + KSPROPERTY_CONNECTION_PRIORITY = 1 + KSPROPERTY_CONNECTION_DATAFORMAT = 2 + KSPROPERTY_CONNECTION_ALLOCATORFRAMING = 3 + KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT = 4 + KSPROPERTY_CONNECTION_ACQUIREORDERING = 5 + KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX = 6 + KSPROPERTY_CONNECTION_STARTAT = 7 + + +PKSPROPERTY_CONNECTION = POINTER(KSPROPERTY_CONNECTION) + + +class KSEVENT_STREAMALLOCATOR(enum): + KSEVENT_STREAMALLOCATOR_INTERNAL_FREEFRAME = 0 + KSEVENT_STREAMALLOCATOR_FREEFRAME = 1 + + +PKSEVENT_STREAMALLOCATOR = POINTER(KSEVENT_STREAMALLOCATOR) + + +class KSMETHOD_STREAMALLOCATOR(enum): + KSMETHOD_STREAMALLOCATOR_ALLOC = 0 + KSMETHOD_STREAMALLOCATOR_FREE = 1 + + +PKSMETHOD_STREAMALLOCATOR = POINTER(KSMETHOD_STREAMALLOCATOR) + + +class KSPIN_MDL_CACHING_EVENT(enum): + KSPIN_MDL_CACHING_NOTIFY_CLEANUP = 0 + KSPIN_MDL_CACHING_NOTIFY_CLEANALL_WAIT = 1 + KSPIN_MDL_CACHING_NOTIFY_CLEANALL_NOWAIT = 2 + KSPIN_MDL_CACHING_NOTIFY_ADDSAMPLE = 3 + + +PKSPIN_MDL_CACHING_EVENT = POINTER(KSPIN_MDL_CACHING_EVENT) + + +class KSPROPERTY_STREAMINTERFACE(enum): + KSPROPERTY_STREAMINTERFACE_HEADERSIZE = 0 + + +PKSPROPERTY_STREAMINTERFACE = POINTER(KSPROPERTY_STREAMINTERFACE) + + +class KSPROPERTY_STREAM(enum): + KSPROPERTY_STREAM_ALLOCATOR = 0 + KSPROPERTY_STREAM_QUALITY = 1 + KSPROPERTY_STREAM_DEGRADATION = 2 + KSPROPERTY_STREAM_MASTERCLOCK = 3 + KSPROPERTY_STREAM_TIMEFORMAT = 4 + KSPROPERTY_STREAM_PRESENTATIONTIME = 5 + KSPROPERTY_STREAM_PRESENTATIONEXTENT = 6 + KSPROPERTY_STREAM_FRAMETIME = 7 + KSPROPERTY_STREAM_RATECAPABILITY = 8 + KSPROPERTY_STREAM_RATE = 9 + KSPROPERTY_STREAM_PIPE_ID = 10 + + +PKSPROPERTY_STREAM = POINTER(KSPROPERTY_STREAM) + + +class KSPPROPERTY_ALLOCATOR_MDLCACHING(enum): + KSPROPERTY_ALLOCATOR_CLEANUP_CACHEDMDLPAGES = 1 + + +PKSPPROPERTY_ALLOCATOR_MDLCACHING = POINTER(KSPPROPERTY_ALLOCATOR_MDLCACHING) + + +class KSPROPERTY_CLOCK(enum): + KSPROPERTY_CLOCK_TIME = 0 + KSPROPERTY_CLOCK_PHYSICALTIME = 1 + KSPROPERTY_CLOCK_CORRELATEDTIME = 2 + KSPROPERTY_CLOCK_CORRELATEDPHYSICALTIME = 3 + KSPROPERTY_CLOCK_RESOLUTION = 4 + KSPROPERTY_CLOCK_STATE = 5 + + +PKSPROPERTY_CLOCK = POINTER(KSPROPERTY_CLOCK) + + +class KSEVENT_CLOCK_POSITION(enum): + KSEVENT_CLOCK_INTERVAL_MARK = 0 + KSEVENT_CLOCK_POSITION_MARK = 1 + + +PKSEVENT_CLOCK_POSITION = POINTER(KSEVENT_CLOCK_POSITION) + + +class KSEVENT_CONNECTION(enum): + KSEVENT_CONNECTION_POSITIONUPDATE = 0 + KSEVENT_CONNECTION_DATADISCONTINUITY = 1 + KSEVENT_CONNECTION_TIMEDISCONTINUITY = 2 + KSEVENT_CONNECTION_PRIORITY = 3 + KSEVENT_CONNECTION_ENDOFSTREAM = 4 + + +PKSEVENT_CONNECTION = POINTER(KSEVENT_CONNECTION) + + + +class KSP_PIN_UNION(ctypes.Union): + _fields_ = [ + ('Reserved', ULONG), + ('Flags', ULONG) + ] + + +class KSP_PIN(ctypes.Structure): + _anonymous_ = 'KSP_PIN_UNION' + _fields_ = [ + ('Property', KSPROPERTY), + ('PinId', ULONG) + ] + + +PKSP_PIN = POINTER(KSP_PIN) + + +class KSE_PIN(ctypes.Structure): + _fields_ = [ + ('Event', KSEVENT), + ('PinId', ULONG), + ('Reserved', ULONG), + ] + + +PKSE_PIN = POINTER(KSE_PIN) + + +class KSPIN_CINSTANCES(ctypes.Structure): + _fields_ = [ + ('PossibleCount', ULONG), + ('CurrentCount', ULONG), + ] + + +PKSPIN_CINSTANCES = POINTER(KSPIN_CINSTANCES) + + +class KSDATAFORMAT_STRUCT(ctypes.Structure): + _fields_ = [ + ('FormatSize', ULONG), + ('Flags', ULONG), + ('SampleSize', ULONG), + ('Reserved', ULONG), + ('MajorFormat', GUID), + ('SubFormat', GUID), + ('Specifier', GUID), + ] + + +class KSDATAFORMAT(ctypes.Union): + + _anonymous_ = 'KSDATAFORMAT_STRUCT' + _fields_ = [ + ('KSDATAFORMAT_STRUCT', KSDATAFORMAT_STRUCT), + ('Alignment', LONGLONG), + ] + + +PKSDATAFORMAT = POINTER(KSDATAFORMAT) +KSDATARANGE = KSDATAFORMAT +PKSDATARANGE = POINTER(KSDATARANGE) + + +class KSATTRIBUTE(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('Flags', ULONG), + ('Attribute', GUID), + ] + + +PKSATTRIBUTE = POINTER(KSATTRIBUTE) + + +class KSPIN_CONNECT(ctypes.Structure): + _fields_ = [ + ('Interface', KSPIN_INTERFACE), + ('Medium', KSPIN_MEDIUM), + ('PinId', ULONG), + ('PinToHandle', HANDLE), + ('Priority', KSPRIORITY), + ] + + +PKSPIN_CONNECT = POINTER(KSPIN_CONNECT) + + +class KSPIN_PHYSICALCONNECTION(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('Pin', ULONG), + ('SymbolicLinkName', WCHAR), + ] + + +PKSPIN_PHYSICALCONNECTION = POINTER(KSPIN_PHYSICALCONNECTION) + + +class KSALLOCATOR_FRAMING_UNION1(ctypes.Union): + _fields_ = [ + ('OptionsFlags', ULONG), + ('RequirementsFlags', ULONG) + ] + + +class KSALLOCATOR_FRAMING_UNION2(ctypes.Union): + _fields_ = [ + ('FileAlignment', ULONG), + ('FramePitch', LONG), + ] + + +class KSALLOCATOR_FRAMING(ctypes.Structure): + _anonymous_ = [ + 'KSALLOCATOR_FRAMING_UNION1', + 'KSALLOCATOR_FRAMING_UNION2' + ] + _fields_ = [ + ('KSALLOCATOR_FRAMING_UNION1', KSALLOCATOR_FRAMING_UNION1), + ('PoolType', ULONG), + ('Frames', ULONG), + ('FrameSize', ULONG), + ('KSALLOCATOR_FRAMING_UNION2', KSALLOCATOR_FRAMING_UNION2), + ('Reserved', ULONG), + ] + + +PKSALLOCATOR_FRAMING = POINTER(KSALLOCATOR_FRAMING) + + +class KS_FRAMING_RANGE(ctypes.Structure): + _fields_ = [ + ('MinFrameSize', ULONG), + ('MaxFrameSize', ULONG), + ('Stepping', ULONG), + ] + + +PKS_FRAMING_RANGE = POINTER(KS_FRAMING_RANGE) + + +class KS_FRAMING_RANGE_WEIGHTED(ctypes.Structure): + _fields_ = [ + ('Range', KS_FRAMING_RANGE), + ('InPlaceWeight', ULONG), + ('NotInPlaceWeight', ULONG), + ] + + +PKS_FRAMING_RANGE_WEIGHTED = POINTER(KS_FRAMING_RANGE_WEIGHTED) + + +class KS_COMPRESSION(ctypes.Structure): + _fields_ = [ + ('RatioNumerator', ULONG), + ('RatioDenominator', ULONG), + ('RatioConstantMargin', ULONG), + ] + + +PKS_COMPRESSION = POINTER(KS_COMPRESSION) + + +class KS_FRAMING_ITEM_UNION(ctypes.Union): + _fields_ = [ + ('FileAlignment', ULONG), + ('FramePitch', LONG), + ] + + +class KS_FRAMING_ITEM(ctypes.Structure): + _anonymous_ = 'KS_FRAMING_ITEM_UNION' + _fields_ = [ + ('MemoryType', GUID), + ('BusType', GUID), + ('MemoryFlags', ULONG), + ('BusFlags', ULONG), + ('Flags', ULONG), + ('Frames', ULONG), + ('KS_FRAMING_ITEM_UNION', KS_FRAMING_ITEM_UNION), + ('MemoryTypeWeight', ULONG), + ('PhysicalRange', KS_FRAMING_RANGE), + ('FramingRange', KS_FRAMING_RANGE_WEIGHTED), + ] + + +PKS_FRAMING_ITEM = POINTER(KS_FRAMING_ITEM) + + + +class KSALLOCATOR_FRAMING_EX(ctypes.Structure): + _fields_ = [ + ('CountItems', ULONG), + ('PinFlags', ULONG), + ('OutputCompression', KS_COMPRESSION), + ('PinWeight', ULONG), + ('FramingItem', KS_FRAMING_ITEM), + ] + + +PKSALLOCATOR_FRAMING_EX = POINTER(KSALLOCATOR_FRAMING_EX) + + +class KSSTREAMALLOCATOR_STATUS(ctypes.Structure): + _fields_ = [ + ('Framing', KSALLOCATOR_FRAMING), + ('AllocatedFrames', ULONG), + ('Reserved', ULONG) + ] + + +PKSSTREAMALLOCATOR_STATUS = POINTER(KSSTREAMALLOCATOR_STATUS) + + +class KSSTREAMALLOCATOR_STATUS_EX(ctypes.Structure): + _fields_ = [ + ('AllocatedFrames', ULONG), + ('Reserved', ULONG) + ] + + +PKSSTREAMALLOCATOR_STATUS_EX = POINTER(KSSTREAMALLOCATOR_STATUS_EX) + + +class KSTIME(ctypes.Structure): + _fields_ = [ + ('Time', LONGLONG), + ('Numerator', ULONG), + ('Denominator', ULONG) + ] + + +PKSTIME = POINTER(KSTIME) + + +class KSSTREAM_HEADER(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('TypeSpecificFlags', ULONG), + ('PresentationTime', KSTIME), + ('Duration', LONGLONG), + ('FrameExtent', ULONG), + ('DataUsed', ULONG), + ('Data', PVOID), + ('OptionsFlags', ULONG) + ] + _field_size_bytes_ = ['FrameExtent'] + + +PKSSTREAM_HEADER = POINTER(KSSTREAM_HEADER) + + +class KSSTREAM_METADATA_INFO(ctypes.Structure): + _fields_ = [ + ('BufferSize', ULONG), + ('UsedSize', ULONG), + ('Data', PVOID), + ('SystemVa', PVOID), + ('Flags', ULONG), + ('Reserved', ULONG) + ] + _field_size_bytes_ = ['BufferSize'] + + +PKSSTREAM_METADATA_INFO = POINTER(KSSTREAM_METADATA_INFO) + + +class KSSTREAM_UVC_METADATATYPE_TIMESTAMP_STRUCT(ctypes.Structure): + _fields_ = [ + ('Counter', USHORT, 11), + ('Reserved', USHORT, 5) + ] + + +class KSSTREAM_UVC_METADATATYPE_TIMESTAMP_UNION(ctypes.Union): + _anonymous_ = 'KSSTREAM_UVC_METADATATYPE_TIMESTAMP_STRUCT' + _fields_ = [ + ( + 'KSSTREAM_UVC_METADATATYPE_TIMESTAMP_STRUCT', + KSSTREAM_UVC_METADATATYPE_TIMESTAMP_STRUCT + ), + ('SCRToken', USHORT), + ] + + +class KSSTREAM_UVC_METADATATYPE_TIMESTAMP(ctypes.Structure): + _anonymous_ = 'KSSTREAM_UVC_METADATATYPE_TIMESTAMP_UNION' + _fields_ = [ + ('PresentationTimeStamp', ULONG), + ('SourceClockReference', ULONG), + ( + 'KSSTREAM_UVC_METADATATYPE_TIMESTAMP_UNION', + KSSTREAM_UVC_METADATATYPE_TIMESTAMP_UNION + ), + ('Reserved0', USHORT), + ('Reserved1', ULONG) + ] + + +PKSSTREAM_UVC_METADATATYPE_TIMESTAMP = POINTER( + KSSTREAM_UVC_METADATATYPE_TIMESTAMP +) + + +class KSSTREAM_UVC_METADATA(ctypes.Structure): + _fields_ = [ + ('StartOfFrameTimestamp', KSSTREAM_UVC_METADATATYPE_TIMESTAMP), + ('EndOfFrameTimestamp', KSSTREAM_UVC_METADATATYPE_TIMESTAMP) + ] + + +PKSSTREAM_UVC_METADATA = POINTER(KSSTREAM_UVC_METADATA) + + +class KSPIN_MDL_CACHING_NOTIFICATION(ctypes.Structure): + _fields_ = [ + ('Event', KSPIN_MDL_CACHING_EVENT), + ('Buffer', PVOID) + ] + + +PKSPIN_MDL_CACHING_NOTIFICATION = POINTER(KSPIN_MDL_CACHING_NOTIFICATION) + + +class KSPIN_MDL_CACHING_NOTIFICATION32(ctypes.Structure): + _fields_ = [ + ('Event', KSPIN_MDL_CACHING_EVENT), + ('Buffer', ULONG) + ] + + +PKSPIN_MDL_CACHING_NOTIFICATION32 = POINTER(KSPIN_MDL_CACHING_NOTIFICATION32) + + +class KSQUALITY_MANAGER(ctypes.Structure): + _fields_ = [ + ('QualityManager', HANDLE), + ('Context', PVOID) + ] + + +PKSQUALITY_MANAGER = POINTER(KSQUALITY_MANAGER) + + +class KSFRAMETIME(ctypes.Structure): + _fields_ = [ + ('Duration', LONGLONG), + ('FrameFlags', ULONG), + ('Reserved', ULONG) + ] + + +PKSFRAMETIME = POINTER(KSFRAMETIME) + + +class KSRATE(ctypes.Structure): + _fields_ = [ + ('PresentationStart', LONGLONG), + ('Duration', LONGLONG), + ('Interface', KSPIN_INTERFACE), + ('Rate', LONG), + ('Flags', ULONG) + ] + + +PKSRATE = POINTER(KSRATE) + + +class KSRATE_CAPABILITY(ctypes.Structure): + _fields_ = [ + ('Property', KSPROPERTY), + ('Rate', KSRATE) + ] + + +PKSRATE_CAPABILITY = POINTER(KSRATE_CAPABILITY) + + +class KSCLOCK_CREATE(ctypes.Structure): + _fields_ = [ + ('CreateFlags', LONGLONG) + ] + + +PKSCLOCK_CREATE = POINTER(KSCLOCK_CREATE) + + +class KSCORRELATED_TIME(ctypes.Structure): + _fields_ = [ + ('Time', LONGLONG), + ('SystemTime', LONGLONG) + ] + + +PKSCORRELATED_TIME = POINTER(KSCORRELATED_TIME) + + +class KSRESOLUTION(ctypes.Structure): + _fields_ = [ + ('Granularity', LONGLONG), + ('Error', LONGLONG) + ] + + +PKSRESOLUTION = POINTER(KSRESOLUTION) + + + + + +class KSMETHOD_ITEM_UNION(ctypes.Union): + _fields_ = [ + ('MethodHandler', PFNKSHANDLER), + ('MethodSupported', BOOL) + ] + + +class KSMETHOD_ITEM(ctypes.Structure): + _anonymous_ = 'KSMETHOD_ITEM_UNION' + _fields_ = [ + ('MethodId', ULONG), + ('KSMETHOD_ITEM_UNION', KSMETHOD_ITEM_UNION), + ('MinMethod', ULONG), + ('MinData', ULONG), + ('SupportHandler', PFNKSHANDLER), + ('Flags', ULONG), + ] + + diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ksproxy.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ksproxy.py new file mode 100644 index 000000000..8bde67b85 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/ksproxy.py @@ -0,0 +1,127 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +import ctypes +import comtypes +from ks import PKSMETHOD +from iid import ( + IID_IKsControl, +) +from enum import ( + AUDIO_STREAM_CATEGORY, + AUDCLNT_STREAMOPTIONS +) + +from ctypes.wintypes import ( + FLOAT, + DWORD, + BOOL, + WORD, + HANDLE, + BYTE, + LPVOID, + ULONG +) + + +COMMETHOD = comtypes.COMMETHOD +UINT32 = ctypes.c_uint32 +UINT64 = ctypes.c_uint64 +LONGLONG = ctypes.c_longlong +REFERENCE_TIME = ctypes.c_longlong +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +LPCGUID = POINTER(comtypes.GUID) +LPFLOAT = POINTER(FLOAT) +LPDWORD = POINTER(DWORD) +LPBOOL = POINTER(BOOL) +LPUINT32 = POINTER(UINT32) +LPBYTE = POINTER(BYTE) +LPUINT64 = POINTER(UINT64) +LPREFERENCE_TIME = POINTER(REFERENCE_TIME) +LPHRESULT = POINTER(HRESULT) + + +LPULONG = POINTER(ULONG) +PIUnknown = POINTER(comtypes.IUnknown) + + +class WAVEFORMATEX(ctypes.Structure): + _fields_ = [ + ('wFormatTag', WORD), + ('nChannels', WORD), + ('nSamplesPerSec', WORD), + ('nAvgBytesPerSec', WORD), + ('nBlockAlign', WORD), + ('wBitsPerSample', WORD), + ('cbSize', WORD), + ] + + +PWAVEFORMATEX = POINTER(WAVEFORMATEX) + + +class AudioClientProperties(ctypes.Structure): + _fields_ = [ + ('cbSize', UINT32), + ('bIsOffload', BOOL), + ('eCategory', AUDIO_STREAM_CATEGORY), + ('Options', AUDCLNT_STREAMOPTIONS), + ] + + +PAudioClientProperties = POINTER(AudioClientProperties) + + +class IKsControl(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IKsControl + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'KsEvent', + (['in'], ULONG, 'EventLength'), + (['in', 'out'], LPVOID, 'EventData'), + (['in'], ULONG, 'DataLength'), + (['in', 'out'], LPULONG, 'BytesReturned') + ), + COMMETHOD( + [], + HRESULT, + 'KsMethod', + (['in'], PKSMETHOD, 'Method'), + (['in'], ULONG, 'MethodLength'), + (['in', 'out'], LPVOID, 'MethodData'), + (['in'], ULONG, 'DataLength'), + (['in', 'out'], LPULONG, 'BytesReturned') + ), + COMMETHOD( + [], + HRESULT, + 'KsProperty', + (['out'], LPHRESULT, 'activateOperation'), + (['out'], POINTER(PIUnknown), 'activatedInterface') + ), + ) + + +PIActivateAudioInterfaceAsyncOperation = POINTER( + IActivateAudioInterfaceAsyncOperation +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmdeviceapi.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmdeviceapi.py new file mode 100644 index 000000000..eb106a949 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmdeviceapi.py @@ -0,0 +1,310 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from comtypes import CoClass +from propertystore import PROPERTYKEY, PIPropertyStore, PPROPVARIANT +from enum import ( + ERole, + EDataFlow, + PEDataFlow +) + +from iid import ( + IID_IMMDevice, + IID_IMMDeviceCollection, + IID_IMMDeviceEnumerator, + IID_IMMNotificationClient, + IID_IMMEndpoint, + IID_IMMDeviceActivator, + CLSID_MMDeviceEnumerator, + IID_MMDeviceAPILib, + IID_IActivateAudioInterfaceAsyncOperation, + IID_IActivateAudioInterfaceCompletionHandler +) +from ctypes.wintypes import ( + UINT, + LPARAM, + DWORD, + LPWSTR, + LPCWSTR, + LPVOID +) + + +COMMETHOD = comtypes.COMMETHOD +GUID = comtypes.GUID +CLSCTX_INPROC_SERVER = comtypes.CLSCTX_INPROC_SERVER +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +REFIID = POINTER(GUID) +LPDWORD = POINTER(DWORD) +UINT_PTR = POINTER(UINT) +LPHRESULT = POINTER(HRESULT) +PIUnknown = POINTER(comtypes.IUnknown) + + +class IMMNotificationClient(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IMMNotificationClient + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnDeviceStateChanged', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], DWORD, 'dwNewState'), + ), + COMMETHOD( + [], + HRESULT, + 'OnDeviceAdded', + (['in'], LPCWSTR, 'pwstrDeviceId') + ), + COMMETHOD( + [], + HRESULT, + 'OnDeviceRemoved', + (['in'], LPCWSTR, 'pwstrDeviceId') + ), + COMMETHOD( + [], + HRESULT, + 'OnDefaultDeviceChanged', + (['in'], EDataFlow, 'flow'), + (['in'], ERole, 'role'), + (['in'], LPCWSTR, 'pwstrDefaultDeviceId') + ), + COMMETHOD( + [], + HRESULT, + 'OnPropertyValueChanged', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], PROPERTYKEY, 'key') + ) + ) + + +PIMMNotificationClient = POINTER(IMMNotificationClient) + + +class IActivateAudioInterfaceAsyncOperation(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IActivateAudioInterfaceAsyncOperation + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetActivateResult', + (['out'], LPHRESULT, 'activateResult'), + (['out'], POINTER(PIUnknown), 'activatedInterface'), + ), + ) + + +PIActivateAudioInterfaceAsyncOperation = POINTER( + IActivateAudioInterfaceAsyncOperation +) + + +class IActivateAudioInterfaceCompletionHandler(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IActivateAudioInterfaceCompletionHandler + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'ActivateCompleted', + ( + ['in'], + PIActivateAudioInterfaceAsyncOperation, + 'activateOperation' + ), + ), + ) + + +PIActivateAudioInterfaceCompletionHandler = POINTER( + IActivateAudioInterfaceCompletionHandler +) + + +class IMMEndpoint(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IMMEndpoint + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetDataFlow', + (['out'], PEDataFlow, 'pDataFlow') + ), + ) + + +PIMMEndpoint = POINTER(IMMEndpoint) + + +class IMMDevice(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IMMDevice + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Activate', + (['in'], REFIID, 'iid'), + (['in'], DWORD, 'dwClsCtx'), + (['in'], PPROPVARIANT, 'pActivationParams', None), + (['out'], POINTER(LPVOID), 'ppInterface') + ), + COMMETHOD( + [], + HRESULT, + 'OpenPropertyStore', + (['in'], DWORD, 'stgmAccess'), + (['out'], POINTER(PIPropertyStore), 'ppProperties'), + ), + COMMETHOD( + [], + HRESULT, + 'GetId', + (['out'], POINTER(LPWSTR), 'ppstrId') + ), + COMMETHOD( + [], + HRESULT, + 'GetState', + (['out'], LPDWORD, 'pdwState') + ) + ) + + +PIMMDevice = POINTER(IMMDevice) + + +class IMMDeviceActivator(comtypes.IUnknown): + _iid_ = IID_IMMDeviceActivator + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Activate', + (['in'], REFIID, 'iid'), + (['in'], PIMMDevice, 'pDevice'), + (['in'], PPROPVARIANT, 'pActivationParams'), + (['out'], POINTER(LPVOID), 'ppInterface'), + ), + ) + + +PIMMDeviceActivator = POINTER(IMMDeviceActivator) + + +class IMMDeviceCollection(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IMMDeviceCollection + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetCount', + (['out'], UINT_PTR, 'pcDevices') + ), + COMMETHOD( + [], + HRESULT, + 'Item', + (['in'], UINT, 'nDevice'), + (['out'], POINTER(PIMMDevice), 'ppDevice') + ) + ) + + +PIMMDeviceCollection = ctypes.POINTER(IMMDeviceCollection) + + +class IMMDeviceEnumerator(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IMMDeviceEnumerator + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'EnumAudioEndpoints', + (['in'], DWORD, 'dataFlow'), + (['in'], DWORD, 'dwStateMask'), + (['out'], POINTER(PIMMDeviceCollection), 'ppDevices') + ), + COMMETHOD( + [], + HRESULT, + 'GetDefaultAudioEndpoint', + (['in'], DWORD, 'dataFlow'), + (['in'], DWORD, 'role'), + (['out'], POINTER(PIMMDevice), 'ppDevices') + ), + COMMETHOD( + [], + HRESULT, + 'GetDevice', + (['in'], LPCWSTR, 'pwstrId'), + (['out'], POINTER(PIMMDevice), 'ppDevices') + ), + COMMETHOD( + [], + HRESULT, + 'RegisterEndpointNotificationCallback', + (['in'], PIMMNotificationClient, 'pClient'), + ), + COMMETHOD( + [], + HRESULT, + 'UnregisterEndpointNotificationCallback', + (['in'], PIMMNotificationClient, 'pClient'), + ) + ) + + @classmethod + def get_default(cls, dataFlow, role): + enumerator = comtypes.CoCreateInstance( + CLSID_MMDeviceEnumerator, cls, CLSCTX_INPROC_SERVER) + return enumerator.GetDefaultAudioEndpoint(dataFlow, role) + + +class MMDeviceAPILib(object): + name = u'MMDeviceAPILib' + _reg_typelib_ = (IID_MMDeviceAPILib, 1, 0) + + +class MMDeviceEnumerator(CoClass): + _reg_clsid_ = CLSID_MMDeviceEnumerator + _idlflags_ = [] + _reg_typelib_ = (IID_MMDeviceAPILib, 1, 0) + _com_interfaces_ = [IMMDeviceEnumerator] + + +class AudioExtensionParams(ctypes.Structure): + _fields_ = [ + ('AddPageParam', LPARAM), + ('pEndpoint', PIMMDevice), + ('pEndpoint', PIMMDevice), + ('pPnpInterface', PIMMDevice), + ('pPnpDevnode', PIMMDevice) + ] diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmeapi.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmeapi.py new file mode 100644 index 000000000..8b9a3337c --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmeapi.py @@ -0,0 +1,140 @@ +WAVERR_BASE = 32 + +WAVERR_BADFORMAT = WAVERR_BASE # /* unsupported wave format */ +WAVERR_STILLPLAYING = WAVERR_BASE + 1 # /* still something playing */ +WAVERR_UNPREPARED = WAVERR_BASE + 2 # /* header not prepared */ +WAVERR_SYNC = WAVERR_BASE + 3 # /* device is synchronous */ +WAVERR_LASTERROR = WAVERR_BASE + 3 # /* last error in range */ + + +def MAKEFOURCC(ch0, ch1, ch2, ch3): + return ( + ord(ch0) | + ord(ch1) << 8 | + ord(ch2) << 16 | + ord(ch3) << 24 + ) + + +MM_JOY1MOVE = 0x3A0 # /* joystick */ +MM_JOY2MOVE = 0x3A1 +MM_JOY1ZMOVE = 0x3A2 +MM_JOY2ZMOVE = 0x3A3 +MM_JOY1BUTTONDOWN = 0x3B5 +MM_JOY2BUTTONDOWN = 0x3B6 +MM_JOY1BUTTONUP = 0x3B7 +MM_JOY2BUTTONUP = 0x3B8 + +MM_MCINOTIFY = 0x3B9 # /* MCI */ + +MM_WOM_OPEN = 0x3BB # /* waveform output */ +MM_WOM_CLOSE = 0x3BC +MM_WOM_DONE = 0x3BD + +MM_WIM_OPEN = 0x3BE # /* waveform input */ +MM_WIM_CLOSE = 0x3BF +MM_WIM_DATA = 0x3C0 + +MM_MIM_OPEN = 0x3C1 # /* MIDI input */ +MM_MIM_CLOSE = 0x3C2 +MM_MIM_DATA = 0x3C3 +MM_MIM_LONGDATA = 0x3C4 +MM_MIM_ERROR = 0x3C5 +MM_MIM_LONGERROR = 0x3C6 + +MM_MOM_OPEN = 0x3C7 # /* MIDI output */ +MM_MOM_CLOSE = 0x3C8 +MM_MOM_DONE = 0x3C9 + +MM_DRVM_OPEN = 0x3D0 # /* installable drivers */ +MM_DRVM_CLOSE = 0x3D1 +MM_DRVM_DATA = 0x3D2 +MM_DRVM_ERROR = 0x3D3 + +MM_STREAM_OPEN = 0x3D4 +MM_STREAM_CLOSE = 0x3D5 +MM_STREAM_DONE = 0x3D6 +MM_STREAM_ERROR = 0x3D7 + + +MM_MOM_POSITIONCB = 0x3CA # /* Callback for MEVT_POSITIONCB */ + +MM_MCISIGNAL = 0x3CB + +MM_MIM_MOREDATA = 0x3CC # /* MIM_DONE w/ pending events */ + +MM_MIXM_LINE_CHANGE = 0x3D0 # /* mixer line change notify */ +MM_MIXM_CONTROL_CHANGE = 0x3D1 # /* mixer control change notify */ + +# /**************************************************************************** + +# String resource number bases (internal use) + +# ****************************************************************************/ + +MMSYSERR_BASE = 0 +WAVERR_BASE = 32 +MIDIERR_BASE = 64 +TIMERR_BASE = 96 +JOYERR_BASE = 160 +MCIERR_BASE = 256 +MIXERR_BASE = 1024 + +MCI_STRING_OFFSET = 512 +MCI_VD_OFFSET = 1024 +MCI_CD_OFFSET = 1088 +MCI_WAVE_OFFSET = 1152 +MCI_SEQ_OFFSET = 1216 + +# /**************************************************************************** + +# General error return values + +# ****************************************************************************/ + +# /* general error return values */ +MMSYSERR_NOERROR = 0 # /* no error */ +MMSYSERR_ERROR = MMSYSERR_BASE + 1 # /* unspecified error */ +MMSYSERR_BADDEVICEID = MMSYSERR_BASE + 2 # /* device ID out of range */ +MMSYSERR_NOTENABLED = MMSYSERR_BASE + 3 # /* driver failed enable */ +MMSYSERR_ALLOCATED = MMSYSERR_BASE + 4 # /* device already allocated */ +MMSYSERR_INVALHANDLE = MMSYSERR_BASE + 5 # /* device handle is invalid */ +MMSYSERR_NODRIVER = MMSYSERR_BASE + 6 # /* no device driver present */ +MMSYSERR_NOMEM = MMSYSERR_BASE + 7 # /* memory allocation error */ +MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8 # /* function isn't supported */ +MMSYSERR_BADERRNUM = MMSYSERR_BASE + 9 # /* error value out of range */ +MMSYSERR_INVALFLAG = MMSYSERR_BASE + 10 # /* invalid flag passed */ +MMSYSERR_INVALPARAM = MMSYSERR_BASE + 11 # /* invalid parameter passed */ + +# /* handle being used simultaneously on another thread (eg callback) */ +MMSYSERR_HANDLEBUSY = MMSYSERR_BASE + 12 +MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13 # /* specified alias not found */ +MMSYSERR_BADDB = MMSYSERR_BASE + 14 # /* bad registry database */ +MMSYSERR_KEYNOTFOUND = MMSYSERR_BASE + 15 # /* registry key not found */ +MMSYSERR_READERROR = MMSYSERR_BASE + 16 # /* registry read error */ +MMSYSERR_WRITEERROR = MMSYSERR_BASE + 17 # /* registry write error */ +MMSYSERR_DELETEERROR = MMSYSERR_BASE + 18 # /* registry delete error */ +MMSYSERR_VALNOTFOUND = MMSYSERR_BASE + 19 # /* registry value not found */ + +# /* driver does not call DriverCallback */ +MMSYSERR_NODRIVERCB = MMSYSERR_BASE + 20 +MMSYSERR_MOREDATA = MMSYSERR_BASE + 21 # /* more data to be returned */ +MMSYSERR_LASTERROR = MMSYSERR_BASE + 21 # /* last error in range */ + + +# /**************************************************************************** + +# Driver callback support + +# ****************************************************************************/ + +# /* flags used with waveOutOpen(), waveInOpen(), midiInOpen(), and */ +# /* midiOutOpen() to specify the type of the dwCallback parameter. */ + +CALLBACK_TYPEMASK = 0x00070000 # /* callback type mask */ +CALLBACK_NULL = 0x00000000 # /* no callback */ +CALLBACK_WINDOW = 0x00010000 # /* dwCallback is a HWND */ +CALLBACK_TASK = 0x00020000 # /* dwCallback is a HTASK */ +CALLBACK_FUNCTION = 0x00030000 # /* dwCallback is a FARPROC */ +CALLBACK_THREAD = CALLBACK_TASK # /* thread ID replaces 16 bit task */ +CALLBACK_EVENT = 0x00050000 # /* dwCallback is an EVENT Handle */ diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmreg.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmreg.py new file mode 100644 index 000000000..c705814a8 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmreg.py @@ -0,0 +1,3193 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +from mmeapi import MAKEFOURCC +import ctypes +import comtypes +from ctypes.wintypes import ( + DWORD, + BYTE, + WORD, + SHORT, +) + +POINTER = ctypes.POINTER +GUID = comtypes.GUID +ULONG = ctypes.c_ulong + + +def mmioFOURCC(ch0, ch1, ch2, ch3): + res = MAKEFOURCC(ch0, ch1, ch2, ch3) + print repr(ch0), repr(ch1), repr(ch2), repr(ch3), '=', res + return res + + +MM_MICROSOFT = 1 # Microsoft Corporation +MM_CREATIVE = 2 # Creative Labs, Inc. +MM_MEDIAVISION = 3 # Media Vision, Inc. +MM_FUJITSU = 4 # Fujitsu Corp. +MM_PRAGMATRAX = 5 # PRAGMATRAX Software +MM_CYRIX = 6 # Cyrix Corporation +MM_PHILIPS_SPEECH_PROCESSING = 7 # Philips Speech Processing +MM_NETXL = 8 # NetXL, Inc. +MM_ZYXEL = 9 # ZyXEL Communications, Inc. +MM_BECUBED = 10 # BeCubed Software Inc. +MM_AARDVARK = 11 # Aardvark Computer Systems, Inc. +MM_BINTEC = 12 # Bin Tec Communications GmbH +MM_HEWLETT_PACKARD = 13 # Hewlett-Packard Company +MM_ACULAB = 14 # Aculab plc +MM_FAITH = 15 # Faith,Inc. +MM_MITEL = 16 # Mitel Corporation +MM_QUANTUM3D = 17 # Quantum3D, Inc. +MM_SNI = 18 # Siemens-Nixdorf +MM_EMU = 19 # E-mu Systems, Inc. +MM_ARTISOFT = 20 # Artisoft, Inc. +MM_TURTLE_BEACH = 21 # Turtle Beach, Inc. +MM_IBM = 22 # IBM Corporation +MM_VOCALTEC = 23 # Vocaltec Ltd. +MM_ROLAND = 24 # Roland +MM_DSP_SOLUTIONS = 25 # DSP Solutions, Inc. +MM_NEC = 26 # NEC +MM_ATI = 27 # ATI Technologies Inc. +MM_WANGLABS = 28 # Wang Laboratories, Inc. +MM_TANDY = 29 # Tandy Corporation +MM_VOYETRA = 30 # Voyetra +MM_ANTEX = 31 # Antex Electronics Corporation +MM_ICL_PS = 32 # ICL Personal Systems +MM_INTEL = 33 # Intel Corporation +MM_GRAVIS = 34 # Advanced Gravis +MM_VAL = 35 # Video Associates Labs, Inc. +MM_INTERACTIVE = 36 # InterActive Inc. +MM_YAMAHA = 37 # Yamaha Corporation of America +MM_EVEREX = 38 # Everex Systems, Inc. +MM_ECHO = 39 # Echo Speech Corporation +MM_SIERRA = 40 # Sierra Semiconductor Corp +MM_CAT = 41 # Computer Aided Technologies +MM_APPS = 42 # APPS Software International +MM_DSP_GROUP = 43 # DSP Group, Inc. +MM_MELABS = 44 # microEngineering Labs +MM_COMPUTER_FRIENDS = 45 # Computer Friends, Inc. +MM_ESS = 46 # ESS Technology +MM_AUDIOFILE = 47 # Audio, Inc. +MM_MOTOROLA = 48 # Motorola, Inc. +MM_CANOPUS = 49 # Canopus, co., Ltd. +MM_EPSON = 50 # Seiko Epson Corporation +MM_TRUEVISION = 51 # Truevision +MM_AZTECH = 52 # Aztech Labs, Inc. +MM_VIDEOLOGIC = 53 # Videologic +MM_SCALACS = 54 # SCALACS +MM_KORG = 55 # Korg Inc. +MM_APT = 56 # Audio Processing Technology +MM_ICS = 57 # Integrated Circuit Systems, Inc. +MM_ITERATEDSYS = 58 # Iterated Systems, Inc. +MM_METHEUS = 59 # Metheus +MM_LOGITECH = 60 # Logitech, Inc. +MM_WINNOV = 61 # Winnov, Inc. +MM_NCR = 62 # NCR Corporation +MM_EXAN = 63 # EXAN +MM_AST = 64 # AST Research Inc. +MM_WILLOWPOND = 65 # Willow Pond Corporation +MM_SONICFOUNDRY = 66 # Sonic Foundry +MM_VITEC = 67 # Vitec Multimedia +MM_MOSCOM = 68 # MOSCOM Corporation +MM_SILICONSOFT = 69 # Silicon Soft, Inc. +MM_TERRATEC = 70 # TerraTec Electronic GmbH +MM_MEDIASONIC = 71 # MediaSonic Ltd. +MM_SANYO = 72 # SANYO Electric Co., Ltd. +MM_SUPERMAC = 73 # Supermac +MM_AUDIOPT = 74 # Audio Processing Technology +MM_NOGATECH = 75 # NOGATECH Ltd. +MM_SPEECHCOMP = 76 # Speech Compression +MM_AHEAD = 77 # Ahead, Inc. +MM_DOLBY = 78 # Dolby Laboratories +MM_OKI = 79 # OKI +MM_AURAVISION = 80 # AuraVision Corporation +MM_OLIVETTI = 81 # Ing C. Olivetti & C., S.p.A. +MM_IOMAGIC = 82 # I/O Magic Corporation +MM_MATSUSHITA = 83 # Matsushita Electric Industrial Co., Ltd. +MM_CONTROLRES = 84 # Control Resources Limited +MM_XEBEC = 85 # Xebec Multimedia Solutions Limited +MM_NEWMEDIA = 86 # New Media Corporation +MM_NMS = 87 # Natural MicroSystems +MM_LYRRUS = 88 # Lyrrus Inc. +MM_COMPUSIC = 89 # Compusic +MM_OPTI = 90 # OPTi Computers Inc. +MM_ADLACC = 91 # Adlib Accessories Inc. +MM_COMPAQ = 92 # Compaq Computer Corp. +MM_DIALOGIC = 93 # Dialogic Corporation +MM_INSOFT = 94 # InSoft, Inc. +MM_MPTUS = 95 # M.P. Technologies, Inc. +MM_WEITEK = 96 # Weitek +MM_LERNOUT_AND_HAUSPIE = 97 # Lernout & Hauspie +MM_QCIAR = 98 # Quanta Computer Inc. +MM_APPLE = 99 # Apple Computer, Inc. +MM_DIGITAL = 100 # Digital Equipment Corporation +MM_MOTU = 101 # Mark of the Unicorn +MM_WORKBIT = 102 # Workbit Corporation +MM_OSITECH = 103 # Ositech Communications Inc. +MM_MIRO = 104 # miro Computer Products AG +MM_CIRRUSLOGIC = 105 # Cirrus Logic +MM_ISOLUTION = 106 # ISOLUTION B.V. +MM_HORIZONS = 107 # Horizons Technology, Inc. +MM_CONCEPTS = 108 # Computer Concepts Ltd. +MM_VTG = 109 # Voice Technologies Group, Inc. +MM_RADIUS = 110 # Radius +MM_ROCKWELL = 111 # Rockwell International +MM_XYZ = 112 # Co. XYZ for testing +MM_OPCODE = 113 # Opcode Systems +MM_VOXWARE = 114 # Voxware Inc. +MM_NORTHERN_TELECOM = 115 # Northern Telecom Limited +MM_APICOM = 116 # APICOM +MM_GRANDE = 117 # Grande Software +MM_ADDX = 118 # ADDX +MM_WILDCAT = 119 # Wildcat Canyon Software +MM_RHETOREX = 120 # Rhetorex Inc. +MM_BROOKTREE = 121 # Brooktree Corporation +MM_ENSONIQ = 125 # ENSONIQ Corporation +MM_FAST = 126 # FAST Multimedia AG +MM_NVIDIA = 127 # NVidia Corporation +MM_OKSORI = 128 # OKSORI Co., Ltd. +MM_DIACOUSTICS = 129 # DiAcoustics, Inc. +MM_GULBRANSEN = 130 # Gulbransen, Inc. +MM_KAY_ELEMETRICS = 131 # Kay Elemetrics, Inc. +MM_CRYSTAL = 132 # Crystal Semiconductor Corporation +MM_SPLASH_STUDIOS = 133 # Splash Studios +MM_QUARTERDECK = 134 # Quarterdeck Corporation +MM_TDK = 135 # TDK Corporation +MM_DIGITAL_AUDIO_LABS = 136 # Digital Audio Labs, Inc. +MM_SEERSYS = 137 # Seer Systems, Inc. +MM_PICTURETEL = 138 # PictureTel Corporation +MM_ATT_MICROELECTRONICS = 139 # AT&T Microelectronics +MM_OSPREY = 140 # Osprey Technologies, Inc. +MM_MEDIATRIX = 141 # Mediatrix Peripherals +MM_SOUNDESIGNS = 142 # SounDesignS M.C.S. Ltd. +MM_ALDIGITAL = 143 # A.L. Digital Ltd. +MM_SPECTRUM_SIGNAL_PROCESSING = 144 # Spectrum Signal Processing, Inc. +MM_ECS = 145 # Electronic Courseware Systems, Inc. +MM_AMD = 146 # AMD +MM_COREDYNAMICS = 147 # Core Dynamics +MM_CANAM = 148 # CANAM Computers +MM_SOFTSOUND = 149 # Softsound, Ltd. +MM_NORRIS = 150 # Norris Communications, Inc. +MM_DDD = 151 # Danka Data Devices +MM_EUPHONICS = 152 # EuPhonics +MM_PRECEPT = 153 # Precept Software, Inc. +MM_CRYSTAL_NET = 154 # Crystal Net Corporation +MM_CHROMATIC = 155 # Chromatic Research, Inc. +MM_VOICEINFO = 156 # Voice Information Systems, Inc. +MM_VIENNASYS = 157 # Vienna Systems +MM_CONNECTIX = 158 # Connectix Corporation +MM_GADGETLABS = 159 # Gadget Labs LLC +MM_FRONTIER = 160 # Frontier Design Group LLC +MM_VIONA = 161 # Viona Development GmbH +MM_CASIO = 162 # Casio Computer Co., LTD +MM_DIAMONDMM = 163 # Diamond Multimedia +MM_S3 = 164 # S3 +MM_DVISION = 165 # D-Vision Systems, Inc. +MM_NETSCAPE = 166 # Netscape Communications +MM_SOUNDSPACE = 167 # Soundspace Audio +MM_VANKOEVERING = 168 # VanKoevering Company +MM_QTEAM = 169 # Q-Team +MM_ZEFIRO = 170 # Zefiro Acoustics +MM_STUDER = 171 # Studer Professional Audio AG +MM_FRAUNHOFER_IIS = 172 # Fraunhofer IIS +MM_QUICKNET = 173 # Quicknet Technologies +MM_ALARIS = 174 # Alaris, Inc. +MM_SICRESOURCE = 175 # SIC Resource Inc. +MM_NEOMAGIC = 176 # NeoMagic Corporation +MM_MERGING_TECHNOLOGIES = 177 # Merging Technologies S.A. +MM_XIRLINK = 178 # Xirlink, Inc. +MM_COLORGRAPH = 179 # Colorgraph (UK) Ltd +MM_OTI = 180 # Oak Technology, Inc. +MM_AUREAL = 181 # Aureal Semiconductor +MM_VIVO = 182 # Vivo Software +MM_SHARP = 183 # Sharp +MM_LUCENT = 184 # Lucent Technologies +MM_ATT = 185 # AT&T Labs, Inc. +MM_SUNCOM = 186 # Sun Communications, Inc. +MM_SORVIS = 187 # Sorenson Vision +MM_INVISION = 188 # InVision Interactive +MM_BERKOM = 189 # Deutsche Telekom Berkom GmbH +MM_MARIAN = 190 # Marian GbR Leipzig +MM_DPSINC = 191 # Digital Processing Systems, Inc. +MM_BCB = 192 # BCB Holdings Inc. +MM_MOTIONPIXELS = 193 # Motion Pixels +MM_QDESIGN = 194 # QDesign Corporation +MM_NMP = 195 # Nokia Mobile Phones +MM_DATAFUSION = 196 # DataFusion Systems (Pty) (Ltd) +MM_DUCK = 197 # The Duck Corporation +MM_FTR = 198 # Future Technology Resources Pty Ltd +MM_BERCOS = 199 # BERCOS GmbH +MM_ONLIVE = 200 # OnLive! Technologies, Inc. +MM_SIEMENS_SBC = 201 # Siemens Business Communications Systems +MM_TERALOGIC = 202 # TeraLogic, Inc. +MM_PHONET = 203 # PhoNet Communications Ltd. +MM_WINBOND = 204 # Winbond Electronics Corp +MM_VIRTUALMUSIC = 205 # Virtual Music, Inc. +MM_ENET = 206 # e-Net, Inc. +MM_GUILLEMOT = 207 # Guillemot International +MM_EMAGIC = 208 # Emagic Soft- und Hardware GmbH +MM_MWM = 209 # MWM Acoustics LLC +MM_PACIFICRESEARCH = 210 # Pacific Research and Engineering Corporation +MM_SIPROLAB = 211 # Sipro Lab Telecom Inc. +MM_LYNX = 212 # Lynx Studio Technology, Inc. +MM_SPECTRUM_PRODUCTIONS = 213 # Spectrum Productions +MM_DICTAPHONE = 214 # Dictaphone Corporation +MM_QUALCOMM = 215 # QUALCOMM, Inc. +MM_RZS = 216 # Ring Zero Systems, Inc +MM_AUDIOSCIENCE = 217 # AudioScience Inc. +MM_PINNACLE = 218 # Pinnacle Systems, Inc. +MM_EES = 219 # EES Technik fuer Musik GmbH +MM_HAFTMANN = 220 # haftmann#software +MM_LUCID = 221 # Lucid Technology, Symetrix Inc. +MM_HEADSPACE = 222 # Headspace, Inc +MM_UNISYS = 223 # UNISYS CORPORATION +MM_LUMINOSITI = 224 # Luminositi, Inc. +MM_ACTIVEVOICE = 225 # ACTIVE VOICE CORPORATION +MM_DTS = 226 # Digital Theater Systems, Inc. +MM_DIGIGRAM = 227 # DIGIGRAM +MM_SOFTLAB_NSK = 228 # Softlab-Nsk +MM_FORTEMEDIA = 229 # ForteMedia, Inc +MM_SONORUS = 230 # Sonorus, Inc. +MM_ARRAY = 231 # Array Microsystems, Inc. +MM_DATARAN = 232 # Data Translation, Inc. +MM_I_LINK = 233 # I-link Worldwide +MM_SELSIUS_SYSTEMS = 234 # Selsius Systems Inc. +MM_ADMOS = 235 # AdMOS Technology, Inc. +MM_LEXICON = 236 # Lexicon Inc. +MM_SGI = 237 # Silicon Graphics Inc. +MM_IPI = 238 # Interactive Product Inc. +MM_ICE = 239 # IC Ensemble, Inc. +MM_VQST = 240 # ViewQuest Technologies Inc. +MM_ETEK = 241 # eTEK Labs Inc. +MM_CS = 242 # Consistent Software +MM_ALESIS = 243 # Alesis Studio Electronics +MM_INTERNET = 244 # INTERNET Corporation +MM_SONY = 245 # Sony Corporation +MM_HYPERACTIVE = 246 # Hyperactive Audio Systems, Inc. +MM_UHER_INFORMATIC = 247 # UHER informatic GmbH +MM_SYDEC_NV = 248 # Sydec NV +MM_FLEXION = 249 # Flexion Systems Ltd. +MM_VIA = 250 # Via Technologies, Inc. +MM_MICRONAS = 251 # Micronas Semiconductors, Inc. +MM_ANALOGDEVICES = 252 # Analog Devices, Inc. +MM_HP = 253 # Hewlett Packard Company +MM_MATROX_DIV = 254 # Matrox +MM_QUICKAUDIO = 255 # Quick Audio, GbR +MM_YOUCOM = 256 # You/Com Audiocommunicatie BV +MM_RICHMOND = 257 # Richmond Sound Design Ltd. +MM_IODD = 258 # I-O Data Device, Inc. +MM_ICCC = 259 # ICCC A/S +MM_3COM = 260 # 3COM Corporation +MM_MALDEN = 261 # Malden Electronics Ltd. +MM_3DFX = 262 # 3Dfx Interactive, Inc. +MM_MINDMAKER = 263 # Mindmaker, Inc. +MM_TELEKOL = 264 # Telekol Corp. +MM_ST_MICROELECTRONICS = 265 # ST Microelectronics +MM_ALGOVISION = 266 # Algo Vision Systems GmbH +MM_UNMAPPED = 0xffff # extensible MID mapping +MM_PID_UNMAPPED = MM_UNMAPPED # extensible PID mapping +# MM_MICROSOFT product IDs +MM_MIDI_MAPPER = 1 # Midi Mapper +MM_WAVE_MAPPER = 2 # Wave Mapper +MM_SNDBLST_MIDIOUT = 3 # Sound Blaster MIDI output port +MM_SNDBLST_MIDIIN = 4 # Sound Blaster MIDI input port +MM_SNDBLST_SYNTH = 5 # Sound Blaster internal synth +MM_SNDBLST_WAVEOUT = 6 # Sound Blaster waveform output +MM_SNDBLST_WAVEIN = 7 # Sound Blaster waveform input +MM_ADLIB = 9 # Ad Lib Compatible synth +MM_MPU401_MIDIOUT = 10 # MPU 401 compatible MIDI output port +MM_MPU401_MIDIIN = 11 # MPU 401 compatible MIDI input port +MM_PC_JOYSTICK = 12 # Joystick adapter +MM_PCSPEAKER_WAVEOUT = 13 # PC speaker waveform output +MM_MSFT_WSS_WAVEIN = 14 # MS Audio Board waveform input +MM_MSFT_WSS_WAVEOUT = 15 # MS Audio Board waveform output +MM_MSFT_WSS_FMSYNTH_STEREO = 16 # MS Audio Board Stereo FM synth +MM_MSFT_WSS_MIXER = 17 # MS Audio Board Mixer Driver +MM_MSFT_WSS_OEM_WAVEIN = 18 # MS OEM Audio Board waveform input +MM_MSFT_WSS_OEM_WAVEOUT = 19 # MS OEM Audio Board waveform output +MM_MSFT_WSS_OEM_FMSYNTH_STEREO = 20 # MS OEM Audio Board Stereo FM Synth +MM_MSFT_WSS_AUX = 21 # MS Audio Board Aux. Port +MM_MSFT_WSS_OEM_AUX = 22 # MS OEM Audio Aux Port +MM_MSFT_GENERIC_WAVEIN = 23 # MS Vanilla driver waveform input +MM_MSFT_GENERIC_WAVEOUT = 24 # MS Vanilla driver wavefrom output +MM_MSFT_GENERIC_MIDIIN = 25 # MS Vanilla driver MIDI in +MM_MSFT_GENERIC_MIDIOUT = 26 # MS Vanilla driver MIDI external out +MM_MSFT_GENERIC_MIDISYNTH = 27 # MS Vanilla driver MIDI synthesizer +MM_MSFT_GENERIC_AUX_LINE = 28 # MS Vanilla driver aux (line in) +MM_MSFT_GENERIC_AUX_MIC = 29 # MS Vanilla driver aux (mic) +MM_MSFT_GENERIC_AUX_CD = 30 # MS Vanilla driver aux (CD) +MM_MSFT_WSS_OEM_MIXER = 31 # MS OEM Audio Board Mixer Driver +MM_MSFT_MSACM = 32 # MS Audio Compression Manager +MM_MSFT_ACM_MSADPCM = 33 # MS ADPCM Codec +MM_MSFT_ACM_IMAADPCM = 34 # IMA ADPCM Codec +MM_MSFT_ACM_MSFILTER = 35 # MS Filter +MM_MSFT_ACM_GSM610 = 36 # GSM 610 codec +MM_MSFT_ACM_G711 = 37 # G.711 codec +MM_MSFT_ACM_PCM = 38 # PCM converter +# Microsoft Windows Sound System drivers +MM_WSS_SB16_WAVEIN = 39 # Sound Blaster 16 waveform input +MM_WSS_SB16_WAVEOUT = 40 # Sound Blaster 16 waveform output +MM_WSS_SB16_MIDIIN = 41 # Sound Blaster 16 midi-in +MM_WSS_SB16_MIDIOUT = 42 # Sound Blaster 16 midi out +MM_WSS_SB16_SYNTH = 43 # Sound Blaster 16 FM Synthesis +MM_WSS_SB16_AUX_LINE = 44 # Sound Blaster 16 aux (line in) +MM_WSS_SB16_AUX_CD = 45 # Sound Blaster 16 aux (CD) +MM_WSS_SB16_MIXER = 46 # Sound Blaster 16 mixer device +MM_WSS_SBPRO_WAVEIN = 47 # Sound Blaster Pro waveform input +MM_WSS_SBPRO_WAVEOUT = 48 # Sound Blaster Pro waveform output +MM_WSS_SBPRO_MIDIIN = 49 # Sound Blaster Pro midi in +MM_WSS_SBPRO_MIDIOUT = 50 # Sound Blaster Pro midi out +MM_WSS_SBPRO_SYNTH = 51 # Sound Blaster Pro FM synthesis +MM_WSS_SBPRO_AUX_LINE = 52 # Sound Blaster Pro aux (line in ) +MM_WSS_SBPRO_AUX_CD = 53 # Sound Blaster Pro aux (CD) +MM_WSS_SBPRO_MIXER = 54 # Sound Blaster Pro mixer +MM_MSFT_WSS_NT_WAVEIN = 55 # WSS NT wave in +MM_MSFT_WSS_NT_WAVEOUT = 56 # WSS NT wave out +MM_MSFT_WSS_NT_FMSYNTH_STEREO = 57 # WSS NT FM synth +MM_MSFT_WSS_NT_MIXER = 58 # WSS NT mixer +MM_MSFT_WSS_NT_AUX = 59 # WSS NT aux +MM_MSFT_SB16_WAVEIN = 60 # Sound Blaster 16 waveform input +MM_MSFT_SB16_WAVEOUT = 61 # Sound Blaster 16 waveform output +MM_MSFT_SB16_MIDIIN = 62 # Sound Blaster 16 midi-in +MM_MSFT_SB16_MIDIOUT = 63 # Sound Blaster 16 midi out +MM_MSFT_SB16_SYNTH = 64 # Sound Blaster 16 FM Synthesis +MM_MSFT_SB16_AUX_LINE = 65 # Sound Blaster 16 aux (line in) +MM_MSFT_SB16_AUX_CD = 66 # Sound Blaster 16 aux (CD) +MM_MSFT_SB16_MIXER = 67 # Sound Blaster 16 mixer device +MM_MSFT_SBPRO_WAVEIN = 68 # Sound Blaster Pro waveform input +MM_MSFT_SBPRO_WAVEOUT = 69 # Sound Blaster Pro waveform output +MM_MSFT_SBPRO_MIDIIN = 70 # Sound Blaster Pro midi in +MM_MSFT_SBPRO_MIDIOUT = 71 # Sound Blaster Pro midi out +MM_MSFT_SBPRO_SYNTH = 72 # Sound Blaster Pro FM synthesis +MM_MSFT_SBPRO_AUX_LINE = 73 # Sound Blaster Pro aux (line in) +MM_MSFT_SBPRO_AUX_CD = 74 # Sound Blaster Pro aux (CD) +MM_MSFT_SBPRO_MIXER = 75 # Sound Blaster Pro mixer +MM_MSFT_MSOPL_SYNTH = 76 # Yamaha OPL2/OPL3 compatible FM synthesis +MM_MSFT_VMDMS_LINE_WAVEIN = 80 # Voice Modem Serial Line Wave Input +MM_MSFT_VMDMS_LINE_WAVEOUT = 81 # Voice Modem Serial Line Wave Output +MM_MSFT_VMDMS_HANDSET_WAVEIN = 82 # Voice Modem Serial Handset Wave Input +MM_MSFT_VMDMS_HANDSET_WAVEOUT = 83 # Voice Modem Serial Handset Wave Output +MM_MSFT_VMDMW_LINE_WAVEIN = 84 # Voice Modem Wrapper Line Wave Input +MM_MSFT_VMDMW_LINE_WAVEOUT = 85 # Voice Modem Wrapper Line Wave Output +MM_MSFT_VMDMW_HANDSET_WAVEIN = 86 # Voice Modem Wrapper Handset Wave Input +MM_MSFT_VMDMW_HANDSET_WAVEOUT = 87 # Voice Modem Wrapper Handset Wave Output +MM_MSFT_VMDMW_MIXER = 88 # Voice Modem Wrapper Mixer +MM_MSFT_VMDM_GAME_WAVEOUT = 89 # Voice Modem Game Compatible Wave Device +MM_MSFT_VMDM_GAME_WAVEIN = 90 # Voice Modem Game Compatible Wave Device +MM_MSFT_ACM_MSNAUDIO = 91 +MM_MSFT_ACM_MSG723 = 92 +MM_MSFT_ACM_MSRT24 = 93 +MM_MSFT_WDMAUDIO_WAVEOUT = 100 # Generic id for WDM Audio drivers +MM_MSFT_WDMAUDIO_WAVEIN = 101 # Generic id for WDM Audio drivers +MM_MSFT_WDMAUDIO_MIDIOUT = 102 # Generic id for WDM Audio drivers +MM_MSFT_WDMAUDIO_MIDIIN = 103 # Generic id for WDM Audio drivers +MM_MSFT_WDMAUDIO_MIXER = 104 # Generic id for WDM Audio drivers +MM_MSFT_WDMAUDIO_AUX = 105 # Generic id for WDM Audio drivers +# MM_CREATIVE product IDs +MM_CREATIVE_SB15_WAVEIN = 1 # SB (r) 1.5 waveform input +MM_CREATIVE_SB20_WAVEIN = 2 +MM_CREATIVE_SBPRO_WAVEIN = 3 +MM_CREATIVE_SBP16_WAVEIN = 4 +MM_CREATIVE_PHNBLST_WAVEIN = 5 +MM_CREATIVE_SB15_WAVEOUT = 101 +MM_CREATIVE_SB20_WAVEOUT = 102 +MM_CREATIVE_SBPRO_WAVEOUT = 103 +MM_CREATIVE_SBP16_WAVEOUT = 104 +MM_CREATIVE_PHNBLST_WAVEOUT = 105 +MM_CREATIVE_MIDIOUT = 201 # SB (r) +MM_CREATIVE_MIDIIN = 202 # SB (r) +MM_CREATIVE_FMSYNTH_MONO = 301 # SB (r) +MM_CREATIVE_FMSYNTH_STEREO = 302 # SB Pro (r) stereo synthesizer +MM_CREATIVE_MIDI_AWE32 = 303 +MM_CREATIVE_AUX_CD = 401 # SB Pro (r) aux (CD) +MM_CREATIVE_AUX_LINE = 402 # SB Pro (r) aux (Line in ) +MM_CREATIVE_AUX_MIC = 403 # SB Pro (r) aux (mic) +MM_CREATIVE_AUX_MASTER = 404 +MM_CREATIVE_AUX_PCSPK = 405 +MM_CREATIVE_AUX_WAVE = 406 +MM_CREATIVE_AUX_MIDI = 407 +MM_CREATIVE_SBPRO_MIXER = 408 +MM_CREATIVE_SB16_MIXER = 409 +# MM_MEDIAVISION product IDs +# Pro Audio Spectrum +MM_MEDIAVISION_PROAUDIO = 0x10 +MM_PROAUD_MIDIOUT = (MM_MEDIAVISION_PROAUDIO+1) +MM_PROAUD_MIDIIN = (MM_MEDIAVISION_PROAUDIO+2) +MM_PROAUD_SYNTH = (MM_MEDIAVISION_PROAUDIO+3) +MM_PROAUD_WAVEOUT = (MM_MEDIAVISION_PROAUDIO+4) +MM_PROAUD_WAVEIN = (MM_MEDIAVISION_PROAUDIO+5) +MM_PROAUD_MIXER = (MM_MEDIAVISION_PROAUDIO+6) +MM_PROAUD_AUX = (MM_MEDIAVISION_PROAUDIO+7) +# Thunder Board +MM_MEDIAVISION_THUNDER = 0x20 +MM_THUNDER_SYNTH = (MM_MEDIAVISION_THUNDER+3) +MM_THUNDER_WAVEOUT = (MM_MEDIAVISION_THUNDER+4) +MM_THUNDER_WAVEIN = (MM_MEDIAVISION_THUNDER+5) +MM_THUNDER_AUX = (MM_MEDIAVISION_THUNDER+7) +# Audio Port +MM_MEDIAVISION_TPORT = 0x40 +MM_TPORT_WAVEOUT = (MM_MEDIAVISION_TPORT+1) +MM_TPORT_WAVEIN = (MM_MEDIAVISION_TPORT+2) +MM_TPORT_SYNTH = (MM_MEDIAVISION_TPORT+3) +# Pro Audio Spectrum Plus +MM_MEDIAVISION_PROAUDIO_PLUS = 0x50 +MM_PROAUD_PLUS_MIDIOUT = (MM_MEDIAVISION_PROAUDIO_PLUS+1) +MM_PROAUD_PLUS_MIDIIN = (MM_MEDIAVISION_PROAUDIO_PLUS+2) +MM_PROAUD_PLUS_SYNTH = (MM_MEDIAVISION_PROAUDIO_PLUS+3) +MM_PROAUD_PLUS_WAVEOUT = (MM_MEDIAVISION_PROAUDIO_PLUS+4) +MM_PROAUD_PLUS_WAVEIN = (MM_MEDIAVISION_PROAUDIO_PLUS+5) +MM_PROAUD_PLUS_MIXER = (MM_MEDIAVISION_PROAUDIO_PLUS+6) +MM_PROAUD_PLUS_AUX = (MM_MEDIAVISION_PROAUDIO_PLUS+7) +# Pro Audio Spectrum 16 +MM_MEDIAVISION_PROAUDIO_16 = 0x60 +MM_PROAUD_16_MIDIOUT = (MM_MEDIAVISION_PROAUDIO_16+1) +MM_PROAUD_16_MIDIIN = (MM_MEDIAVISION_PROAUDIO_16+2) +MM_PROAUD_16_SYNTH = (MM_MEDIAVISION_PROAUDIO_16+3) +MM_PROAUD_16_WAVEOUT = (MM_MEDIAVISION_PROAUDIO_16+4) +MM_PROAUD_16_WAVEIN = (MM_MEDIAVISION_PROAUDIO_16+5) +MM_PROAUD_16_MIXER = (MM_MEDIAVISION_PROAUDIO_16+6) +MM_PROAUD_16_AUX = (MM_MEDIAVISION_PROAUDIO_16+7) +# Pro Audio Studio 16 +MM_MEDIAVISION_PROSTUDIO_16 = 0x60 +MM_STUDIO_16_MIDIOUT = (MM_MEDIAVISION_PROSTUDIO_16+1) +MM_STUDIO_16_MIDIIN = (MM_MEDIAVISION_PROSTUDIO_16+2) +MM_STUDIO_16_SYNTH = (MM_MEDIAVISION_PROSTUDIO_16+3) +MM_STUDIO_16_WAVEOUT = (MM_MEDIAVISION_PROSTUDIO_16+4) +MM_STUDIO_16_WAVEIN = (MM_MEDIAVISION_PROSTUDIO_16+5) +MM_STUDIO_16_MIXER = (MM_MEDIAVISION_PROSTUDIO_16+6) +MM_STUDIO_16_AUX = (MM_MEDIAVISION_PROSTUDIO_16+7) +# CDPC +MM_MEDIAVISION_CDPC = 0x70 +MM_CDPC_MIDIOUT = (MM_MEDIAVISION_CDPC+1) +MM_CDPC_MIDIIN = (MM_MEDIAVISION_CDPC+2) +MM_CDPC_SYNTH = (MM_MEDIAVISION_CDPC+3) +MM_CDPC_WAVEOUT = (MM_MEDIAVISION_CDPC+4) +MM_CDPC_WAVEIN = (MM_MEDIAVISION_CDPC+5) +MM_CDPC_MIXER = (MM_MEDIAVISION_CDPC+6) +MM_CDPC_AUX = (MM_MEDIAVISION_CDPC+7) +# Opus MV 1208 Chipsent +MM_MEDIAVISION_OPUS1208 = 0x80 +MM_OPUS401_MIDIOUT = (MM_MEDIAVISION_OPUS1208+1) +MM_OPUS401_MIDIIN = (MM_MEDIAVISION_OPUS1208+2) +MM_OPUS1208_SYNTH = (MM_MEDIAVISION_OPUS1208+3) +MM_OPUS1208_WAVEOUT = (MM_MEDIAVISION_OPUS1208+4) +MM_OPUS1208_WAVEIN = (MM_MEDIAVISION_OPUS1208+5) +MM_OPUS1208_MIXER = (MM_MEDIAVISION_OPUS1208+6) +MM_OPUS1208_AUX = (MM_MEDIAVISION_OPUS1208+7) +# Opus MV 1216 chipset +MM_MEDIAVISION_OPUS1216 = 0x90 +MM_OPUS1216_MIDIOUT = (MM_MEDIAVISION_OPUS1216+1) +MM_OPUS1216_MIDIIN = (MM_MEDIAVISION_OPUS1216+2) +MM_OPUS1216_SYNTH = (MM_MEDIAVISION_OPUS1216+3) +MM_OPUS1216_WAVEOUT = (MM_MEDIAVISION_OPUS1216+4) +MM_OPUS1216_WAVEIN = (MM_MEDIAVISION_OPUS1216+5) +MM_OPUS1216_MIXER = (MM_MEDIAVISION_OPUS1216+6) +MM_OPUS1216_AUX = (MM_MEDIAVISION_OPUS1216+7) +# MM_CYRIX product IDs +MM_CYRIX_XASYNTH = 1 +MM_CYRIX_XAMIDIIN = 2 +MM_CYRIX_XAMIDIOUT = 3 +MM_CYRIX_XAWAVEIN = 4 +MM_CYRIX_XAWAVEOUT = 5 +MM_CYRIX_XAAUX = 6 +MM_CYRIX_XAMIXER = 7 +# MM_PHILIPS_SPEECH_PROCESSING products IDs +MM_PHILIPS_ACM_LPCBB = 1 +# MM_NETXL product IDs +MM_NETXL_XLVIDEO = 1 +# MM_ZYXEL product IDs +MM_ZYXEL_ACM_ADPCM = 1 +# MM_AARDVARK product IDs +MM_AARDVARK_STUDIO12_WAVEOUT = 1 +MM_AARDVARK_STUDIO12_WAVEIN = 2 +MM_AARDVARK_STUDIO88_WAVEOUT = 3 +MM_AARDVARK_STUDIO88_WAVEIN = 4 +# MM_BINTEC product IDs +MM_BINTEC_TAPI_WAVE = 1 +# MM_HEWLETT_PACKARD product IDs +MM_HEWLETT_PACKARD_CU_CODEC = 1 +# MM_MITEL product IDs +MM_MITEL_TALKTO_LINE_WAVEOUT = 100 +MM_MITEL_TALKTO_LINE_WAVEIN = 101 +MM_MITEL_TALKTO_HANDSET_WAVEOUT = 102 +MM_MITEL_TALKTO_HANDSET_WAVEIN = 103 +MM_MITEL_TALKTO_BRIDGED_WAVEOUT = 104 +MM_MITEL_TALKTO_BRIDGED_WAVEIN = 105 +MM_MITEL_MPA_HANDSET_WAVEOUT = 200 +MM_MITEL_MPA_HANDSET_WAVEIN = 201 +MM_MITEL_MPA_HANDSFREE_WAVEOUT = 202 +MM_MITEL_MPA_HANDSFREE_WAVEIN = 203 +MM_MITEL_MPA_LINE1_WAVEOUT = 204 +MM_MITEL_MPA_LINE1_WAVEIN = 205 +MM_MITEL_MPA_LINE2_WAVEOUT = 206 +MM_MITEL_MPA_LINE2_WAVEIN = 207 +MM_MITEL_MEDIAPATH_WAVEOUT = 300 +MM_MITEL_MEDIAPATH_WAVEIN = 301 +# MM_SNI product IDs +MM_SNI_ACM_G721 = 1 +# MM_EMU product IDs +MM_EMU_APSSYNTH = 1 +MM_EMU_APSMIDIIN = 2 +MM_EMU_APSMIDIOUT = 3 +MM_EMU_APSWAVEIN = 4 +MM_EMU_APSWAVEOUT = 5 +# MM_ARTISOFT product IDs +MM_ARTISOFT_SBWAVEIN = 1 # Artisoft sounding Board waveform input +MM_ARTISOFT_SBWAVEOUT = 2 # Artisoft sounding Board waveform output +# MM_TURTLE_BEACH product IDs +MM_TBS_TROPEZ_WAVEIN = 37 +MM_TBS_TROPEZ_WAVEOUT = 38 +MM_TBS_TROPEZ_AUX1 = 39 +MM_TBS_TROPEZ_AUX2 = 40 +MM_TBS_TROPEZ_LINE = 41 +# MM_IBM product IDs +MM_MMOTION_WAVEAUX = 1 # IBM M-Motion Auxiliary Device +MM_MMOTION_WAVEOUT = 2 # IBM M-Motion Waveform output +MM_MMOTION_WAVEIN = 3 # IBM M-Motion Waveform Input +MM_IBM_PCMCIA_WAVEIN = 11 # IBM waveform input +MM_IBM_PCMCIA_WAVEOUT = 12 # IBM Waveform output +MM_IBM_PCMCIA_SYNTH = 13 # IBM Midi Synthesis +MM_IBM_PCMCIA_MIDIIN = 14 # IBM external MIDI in +MM_IBM_PCMCIA_MIDIOUT = 15 # IBM external MIDI out +MM_IBM_PCMCIA_AUX = 16 # IBM auxiliary control +MM_IBM_THINKPAD200 = 17 +MM_IBM_MWAVE_WAVEIN = 18 +MM_IBM_MWAVE_WAVEOUT = 19 +MM_IBM_MWAVE_MIXER = 20 +MM_IBM_MWAVE_MIDIIN = 21 +MM_IBM_MWAVE_MIDIOUT = 22 +MM_IBM_MWAVE_AUX = 23 +MM_IBM_WC_MIDIOUT = 30 +MM_IBM_WC_WAVEOUT = 31 +MM_IBM_WC_MIXEROUT = 33 +# MM_VOCALTEC product IDs +MM_VOCALTEC_WAVEOUT = 1 +MM_VOCALTEC_WAVEIN = 2 +# MM_ROLAND product IDs +MM_ROLAND_RAP10_MIDIOUT = 10 # MM_ROLAND_RAP10 +MM_ROLAND_RAP10_MIDIIN = 11 # MM_ROLAND_RAP10 +MM_ROLAND_RAP10_SYNTH = 12 # MM_ROLAND_RAP10 +MM_ROLAND_RAP10_WAVEOUT = 13 # MM_ROLAND_RAP10 +MM_ROLAND_RAP10_WAVEIN = 14 # MM_ROLAND_RAP10 +MM_ROLAND_MPU401_MIDIOUT = 15 +MM_ROLAND_MPU401_MIDIIN = 16 +MM_ROLAND_SMPU_MIDIOUTA = 17 +MM_ROLAND_SMPU_MIDIOUTB = 18 +MM_ROLAND_SMPU_MIDIINA = 19 +MM_ROLAND_SMPU_MIDIINB = 20 +MM_ROLAND_SC7_MIDIOUT = 21 +MM_ROLAND_SC7_MIDIIN = 22 +MM_ROLAND_SERIAL_MIDIOUT = 23 +MM_ROLAND_SERIAL_MIDIIN = 24 +MM_ROLAND_SCP_MIDIOUT = 38 +MM_ROLAND_SCP_MIDIIN = 39 +MM_ROLAND_SCP_WAVEOUT = 40 +MM_ROLAND_SCP_WAVEIN = 41 +MM_ROLAND_SCP_MIXER = 42 +MM_ROLAND_SCP_AUX = 48 +# MM_DSP_SOLUTIONS product IDs +MM_DSP_SOLUTIONS_WAVEOUT = 1 +MM_DSP_SOLUTIONS_WAVEIN = 2 +MM_DSP_SOLUTIONS_SYNTH = 3 +MM_DSP_SOLUTIONS_AUX = 4 +# MM_NEC product IDs +MM_NEC_73_86_SYNTH = 5 +MM_NEC_73_86_WAVEOUT = 6 +MM_NEC_73_86_WAVEIN = 7 +MM_NEC_26_SYNTH = 9 +MM_NEC_MPU401_MIDIOUT = 10 +MM_NEC_MPU401_MIDIIN = 11 +MM_NEC_JOYSTICK = 12 +# MM_WANGLABS product IDs +# Input audio wave on CPU board models: +# Exec 4010, 4030, 3450; PC 251/25c, pc 461/25s , pc 461/33c +MM_WANGLABS_WAVEIN1 = 1 +MM_WANGLABS_WAVEOUT1 = 2 +# MM_TANDY product IDs +MM_TANDY_VISWAVEIN = 1 +MM_TANDY_VISWAVEOUT = 2 +MM_TANDY_VISBIOSSYNTH = 3 +MM_TANDY_SENS_MMAWAVEIN = 4 +MM_TANDY_SENS_MMAWAVEOUT = 5 +MM_TANDY_SENS_MMAMIDIIN = 6 +MM_TANDY_SENS_MMAMIDIOUT = 7 +MM_TANDY_SENS_VISWAVEOUT = 8 +MM_TANDY_PSSJWAVEIN = 9 +MM_TANDY_PSSJWAVEOUT = 10 +# MM_ANTEX product IDs +MM_ANTEX_SX12_WAVEIN = 1 +MM_ANTEX_SX12_WAVEOUT = 2 +MM_ANTEX_SX15_WAVEIN = 3 +MM_ANTEX_SX15_WAVEOUT = 4 +MM_ANTEX_VP625_WAVEIN = 5 +MM_ANTEX_VP625_WAVEOUT = 6 +MM_ANTEX_AUDIOPORT22_WAVEIN = 7 +MM_ANTEX_AUDIOPORT22_WAVEOUT = 8 +MM_ANTEX_AUDIOPORT22_FEEDTHRU = 9 +# MM_INTEL product IDs +MM_INTELOPD_WAVEIN = 1 # HID2 WaveAudio Driver +MM_INTELOPD_WAVEOUT = 101 # HID2 +MM_INTELOPD_AUX = 401 # HID2 for mixing +MM_INTEL_NSPMODEMLINEIN = 501 +MM_INTEL_NSPMODEMLINEOUT = 502 +# MM_VAL product IDs +MM_VAL_MICROKEY_AP_WAVEIN = 1 +MM_VAL_MICROKEY_AP_WAVEOUT = 2 +# MM_INTERACTIVE product IDs +MM_INTERACTIVE_WAVEIN = 0x45 +MM_INTERACTIVE_WAVEOUT = 0x45 +# MM_YAMAHA product IDs +MM_YAMAHA_GSS_SYNTH = 0x01 +MM_YAMAHA_GSS_WAVEOUT = 0x02 +MM_YAMAHA_GSS_WAVEIN = 0x03 +MM_YAMAHA_GSS_MIDIOUT = 0x04 +MM_YAMAHA_GSS_MIDIIN = 0x05 +MM_YAMAHA_GSS_AUX = 0x06 +MM_YAMAHA_SERIAL_MIDIOUT = 0x07 +MM_YAMAHA_SERIAL_MIDIIN = 0x08 +MM_YAMAHA_OPL3SA_WAVEOUT = 0x10 +MM_YAMAHA_OPL3SA_WAVEIN = 0x11 +MM_YAMAHA_OPL3SA_FMSYNTH = 0x12 +MM_YAMAHA_OPL3SA_YSYNTH = 0x13 +MM_YAMAHA_OPL3SA_MIDIOUT = 0x14 +MM_YAMAHA_OPL3SA_MIDIIN = 0x15 +MM_YAMAHA_OPL3SA_MIXER = 0x17 +MM_YAMAHA_OPL3SA_JOYSTICK = 0x18 +MM_YAMAHA_YMF724LEG_MIDIOUT = 0x19 +MM_YAMAHA_YMF724LEG_MIDIIN = 0x1a +MM_YAMAHA_YMF724_WAVEOUT = 0x1b +MM_YAMAHA_YMF724_WAVEIN = 0x1c +MM_YAMAHA_YMF724_MIDIOUT = 0x1d +MM_YAMAHA_YMF724_AUX = 0x1e +MM_YAMAHA_YMF724_MIXER = 0x1f +MM_YAMAHA_YMF724LEG_FMSYNTH = 0x20 +MM_YAMAHA_YMF724LEG_MIXER = 0x21 +MM_YAMAHA_SXG_MIDIOUT = 0x22 +MM_YAMAHA_SXG_WAVEOUT = 0x23 +MM_YAMAHA_SXG_MIXER = 0x24 +MM_YAMAHA_ACXG_WAVEIN = 0x25 +MM_YAMAHA_ACXG_WAVEOUT = 0x26 +MM_YAMAHA_ACXG_MIDIOUT = 0x27 +MM_YAMAHA_ACXG_MIXER = 0x28 +MM_YAMAHA_ACXG_AUX = 0x29 +# MM_EVEREX product IDs +MM_EVEREX_CARRIER = 1 +# MM_ECHO product IDs +MM_ECHO_SYNTH = 1 +MM_ECHO_WAVEOUT = 2 +MM_ECHO_WAVEIN = 3 +MM_ECHO_MIDIOUT = 4 +MM_ECHO_MIDIIN = 5 +MM_ECHO_AUX = 6 +# MM_SIERRA product IDs +MM_SIERRA_ARIA_MIDIOUT = 0x14 +MM_SIERRA_ARIA_MIDIIN = 0x15 +MM_SIERRA_ARIA_SYNTH = 0x16 +MM_SIERRA_ARIA_WAVEOUT = 0x17 +MM_SIERRA_ARIA_WAVEIN = 0x18 +MM_SIERRA_ARIA_AUX = 0x19 +MM_SIERRA_ARIA_AUX2 = 0x20 +MM_SIERRA_QUARTET_WAVEIN = 0x50 +MM_SIERRA_QUARTET_WAVEOUT = 0x51 +MM_SIERRA_QUARTET_MIDIIN = 0x52 +MM_SIERRA_QUARTET_MIDIOUT = 0x53 +MM_SIERRA_QUARTET_SYNTH = 0x54 +MM_SIERRA_QUARTET_AUX_CD = 0x55 +MM_SIERRA_QUARTET_AUX_LINE = 0x56 +MM_SIERRA_QUARTET_AUX_MODEM = 0x57 +MM_SIERRA_QUARTET_MIXER = 0x58 +# MM_CAT product IDs +MM_CAT_WAVEOUT = 1 +# MM_DSP_GROUP product IDs +MM_DSP_GROUP_TRUESPEECH = 1 +# MM_MELABS product IDs +MM_MELABS_MIDI2GO = 1 +# MM_ESS product IDs +MM_ESS_AMWAVEOUT = 0x01 +MM_ESS_AMWAVEIN = 0x02 +MM_ESS_AMAUX = 0x03 +MM_ESS_AMSYNTH = 0x04 +MM_ESS_AMMIDIOUT = 0x05 +MM_ESS_AMMIDIIN = 0x06 +MM_ESS_MIXER = 0x07 +MM_ESS_AUX_CD = 0x08 +MM_ESS_MPU401_MIDIOUT = 0x09 +MM_ESS_MPU401_MIDIIN = 0x0A +MM_ESS_ES488_WAVEOUT = 0x10 +MM_ESS_ES488_WAVEIN = 0x11 +MM_ESS_ES488_MIXER = 0x12 +MM_ESS_ES688_WAVEOUT = 0x13 +MM_ESS_ES688_WAVEIN = 0x14 +MM_ESS_ES688_MIXER = 0x15 +MM_ESS_ES1488_WAVEOUT = 0x16 +MM_ESS_ES1488_WAVEIN = 0x17 +MM_ESS_ES1488_MIXER = 0x18 +MM_ESS_ES1688_WAVEOUT = 0x19 +MM_ESS_ES1688_WAVEIN = 0x1A +MM_ESS_ES1688_MIXER = 0x1B +MM_ESS_ES1788_WAVEOUT = 0x1C +MM_ESS_ES1788_WAVEIN = 0x1D +MM_ESS_ES1788_MIXER = 0x1E +MM_ESS_ES1888_WAVEOUT = 0x1F +MM_ESS_ES1888_WAVEIN = 0x20 +MM_ESS_ES1888_MIXER = 0x21 +MM_ESS_ES1868_WAVEOUT = 0x22 +MM_ESS_ES1868_WAVEIN = 0x23 +MM_ESS_ES1868_MIXER = 0x24 +MM_ESS_ES1878_WAVEOUT = 0x25 +MM_ESS_ES1878_WAVEIN = 0x26 +MM_ESS_ES1878_MIXER = 0x27 +# MM_CANOPUS product IDs +MM_CANOPUS_ACM_DVREX = 1 +# MM_EPSON product IDs +MM_EPS_FMSND = 1 +# MM_TRUEVISION product IDs +MM_TRUEVISION_WAVEIN1 = 1 +MM_TRUEVISION_WAVEOUT1 = 2 +# MM_AZTECH product IDs +MM_AZTECH_MIDIOUT = 3 +MM_AZTECH_MIDIIN = 4 +MM_AZTECH_WAVEIN = 17 +MM_AZTECH_WAVEOUT = 18 +MM_AZTECH_FMSYNTH = 20 +MM_AZTECH_MIXER = 21 +MM_AZTECH_PRO16_WAVEIN = 33 +MM_AZTECH_PRO16_WAVEOUT = 34 +MM_AZTECH_PRO16_FMSYNTH = 38 +MM_AZTECH_DSP16_WAVEIN = 65 +MM_AZTECH_DSP16_WAVEOUT = 66 +MM_AZTECH_DSP16_FMSYNTH = 68 +MM_AZTECH_DSP16_WAVESYNTH = 70 +MM_AZTECH_NOVA16_WAVEIN = 71 +MM_AZTECH_NOVA16_WAVEOUT = 72 +MM_AZTECH_NOVA16_MIXER = 73 +MM_AZTECH_WASH16_WAVEIN = 74 +MM_AZTECH_WASH16_WAVEOUT = 75 +MM_AZTECH_WASH16_MIXER = 76 +MM_AZTECH_AUX_CD = 401 +MM_AZTECH_AUX_LINE = 402 +MM_AZTECH_AUX_MIC = 403 +MM_AZTECH_AUX = 404 +# MM_VIDEOLOGIC product IDs +MM_VIDEOLOGIC_MSWAVEIN = 1 +MM_VIDEOLOGIC_MSWAVEOUT = 2 +# MM_KORG product IDs +MM_KORG_PCIF_MIDIOUT = 1 +MM_KORG_PCIF_MIDIIN = 2 +MM_KORG_1212IO_MSWAVEIN = 3 +MM_KORG_1212IO_MSWAVEOUT = 4 +# MM_APT product IDs +MM_APT_ACE100CD = 1 +# MM_ICS product IDs +MM_ICS_WAVEDECK_WAVEOUT = 1 # MS WSS compatible card and driver +MM_ICS_WAVEDECK_WAVEIN = 2 +MM_ICS_WAVEDECK_MIXER = 3 +MM_ICS_WAVEDECK_AUX = 4 +MM_ICS_WAVEDECK_SYNTH = 5 +MM_ICS_WAVEDEC_SB_WAVEOUT = 6 +MM_ICS_WAVEDEC_SB_WAVEIN = 7 +MM_ICS_WAVEDEC_SB_FM_MIDIOUT = 8 +MM_ICS_WAVEDEC_SB_MPU401_MIDIOUT = 9 +MM_ICS_WAVEDEC_SB_MPU401_MIDIIN = 10 +MM_ICS_WAVEDEC_SB_MIXER = 11 +MM_ICS_WAVEDEC_SB_AUX = 12 +MM_ICS_2115_LITE_MIDIOUT = 13 +MM_ICS_2120_LITE_MIDIOUT = 14 +# MM_ITERATEDSYS product IDs +MM_ITERATEDSYS_FUFCODEC = 1 +# MM_METHEUS product IDs +MM_METHEUS_ZIPPER = 1 +# MM_WINNOV product IDs +MM_WINNOV_CAVIAR_WAVEIN = 1 +MM_WINNOV_CAVIAR_WAVEOUT = 2 +MM_WINNOV_CAVIAR_VIDC = 3 +MM_WINNOV_CAVIAR_CHAMPAGNE = 4 # Fourcc is CHAM +MM_WINNOV_CAVIAR_YUV8 = 5 # Fourcc is YUV8 +# MM_NCR product IDs +MM_NCR_BA_WAVEIN = 1 +MM_NCR_BA_WAVEOUT = 2 +MM_NCR_BA_SYNTH = 3 +MM_NCR_BA_AUX = 4 +MM_NCR_BA_MIXER = 5 +# MM_AST product IDs +MM_AST_MODEMWAVE_WAVEIN = 13 +MM_AST_MODEMWAVE_WAVEOUT = 14 +# MM_WILLOWPOND product IDs +MM_WILLOWPOND_FMSYNTH_STEREO = 20 +MM_WILLOWPOND_MPU401 = 21 +MM_WILLOWPOND_SNDPORT_WAVEIN = 100 +MM_WILLOWPOND_SNDPORT_WAVEOUT = 101 +MM_WILLOWPOND_SNDPORT_MIXER = 102 +MM_WILLOWPOND_SNDPORT_AUX = 103 +MM_WILLOWPOND_PH_WAVEIN = 104 +MM_WILLOWPOND_PH_WAVEOUT = 105 +MM_WILLOWPOND_PH_MIXER = 106 +MM_WILLOWPOND_PH_AUX = 107 +MM_WILLOPOND_SNDCOMM_WAVEIN = 108 +MM_WILLOWPOND_SNDCOMM_WAVEOUT = 109 +MM_WILLOWPOND_SNDCOMM_MIXER = 110 +MM_WILLOWPOND_SNDCOMM_AUX = 111 +MM_WILLOWPOND_GENERIC_WAVEIN = 112 +MM_WILLOWPOND_GENERIC_WAVEOUT = 113 +MM_WILLOWPOND_GENERIC_MIXER = 114 +MM_WILLOWPOND_GENERIC_AUX = 115 +# MM_VITEC product IDs +MM_VITEC_VMAKER = 1 +MM_VITEC_VMPRO = 2 +# MM_MOSCOM product IDs +MM_MOSCOM_VPC2400_IN = 1 # Four Port Voice Processing / Voice Recognition Board +MM_MOSCOM_VPC2400_OUT = 2 # VPC2400 +# MM_SILICONSOFT product IDs +MM_SILICONSOFT_SC1_WAVEIN = 1 # in , high sample rate +MM_SILICONSOFT_SC1_WAVEOUT = 2 # out , high sample rate +MM_SILICONSOFT_SC2_WAVEIN = 3 # in 2 channels, high sample rate +MM_SILICONSOFT_SC2_WAVEOUT = 4 # out 2 channels, high sample rate +MM_SILICONSOFT_SOUNDJR2_WAVEOUT = 5 # out, self powered, efficient +MM_SILICONSOFT_SOUNDJR2PR_WAVEIN = 6 # in, self powered, efficient +MM_SILICONSOFT_SOUNDJR2PR_WAVEOUT = 7 # out 2 channels, self powered, efficient +MM_SILICONSOFT_SOUNDJR3_WAVEOUT = 8 # in 2 channels, self powered, efficient +# MM_TERRATEC product IDs +MM_TTEWS_WAVEIN = 1 +MM_TTEWS_WAVEOUT = 2 +MM_TTEWS_MIDIIN = 3 +MM_TTEWS_MIDIOUT = 4 +MM_TTEWS_MIDISYNTH = 5 +MM_TTEWS_MIDIMONITOR = 6 +MM_TTEWS_VMIDIIN = 7 +MM_TTEWS_VMIDIOUT = 8 +MM_TTEWS_AUX = 9 +MM_TTEWS_MIXER = 10 +# MM_MEDIASONIC product IDs +MM_MEDIASONIC_ACM_G723 = 1 +MM_MEDIASONIC_ICOM = 2 +MM_ICOM_WAVEIN = 3 +MM_ICOM_WAVEOUT = 4 +MM_ICOM_MIXER = 5 +MM_ICOM_AUX = 6 +MM_ICOM_LINE = 7 +# MM_SANYO product IDs +MM_SANYO_ACM_LD_ADPCM = 1 +# MM_AHEAD product IDs +MM_AHEAD_MULTISOUND = 1 +MM_AHEAD_SOUNDBLASTER = 2 +MM_AHEAD_PROAUDIO = 3 +MM_AHEAD_GENERIC = 4 +# MM_OLIVETTI product IDs +MM_OLIVETTI_WAVEIN = 1 +MM_OLIVETTI_WAVEOUT = 2 +MM_OLIVETTI_MIXER = 3 +MM_OLIVETTI_AUX = 4 +MM_OLIVETTI_MIDIIN = 5 +MM_OLIVETTI_MIDIOUT = 6 +MM_OLIVETTI_SYNTH = 7 +MM_OLIVETTI_JOYSTICK = 8 +MM_OLIVETTI_ACM_GSM = 9 +MM_OLIVETTI_ACM_ADPCM = 10 +MM_OLIVETTI_ACM_CELP = 11 +MM_OLIVETTI_ACM_SBC = 12 +MM_OLIVETTI_ACM_OPR = 13 +# MM_IOMAGIC product IDs +MM_IOMAGIC_TEMPO_WAVEOUT = 1 +MM_IOMAGIC_TEMPO_WAVEIN = 2 +MM_IOMAGIC_TEMPO_SYNTH = 3 +MM_IOMAGIC_TEMPO_MIDIOUT = 4 +MM_IOMAGIC_TEMPO_MXDOUT = 5 +MM_IOMAGIC_TEMPO_AUXOUT = 6 +# MM_MATSUSHITA product IDs +MM_MATSUSHITA_WAVEIN = 1 +MM_MATSUSHITA_WAVEOUT = 2 +MM_MATSUSHITA_FMSYNTH_STEREO = 3 +MM_MATSUSHITA_MIXER = 4 +MM_MATSUSHITA_AUX = 5 +# MM_NEWMEDIA product IDs +MM_NEWMEDIA_WAVJAMMER = 1 # WSS Compatible sound card. +# MM_LYRRUS product IDs +MM_LYRRUS_BRIDGE_GUITAR = 1 +# MM_OPTI product IDs +MM_OPTI_M16_FMSYNTH_STEREO = 0x0001 +MM_OPTI_M16_MIDIIN = 0x0002 +MM_OPTI_M16_MIDIOUT = 0x0003 +MM_OPTI_M16_WAVEIN = 0x0004 +MM_OPTI_M16_WAVEOUT = 0x0005 +MM_OPTI_M16_MIXER = 0x0006 +MM_OPTI_M16_AUX = 0x0007 +MM_OPTI_P16_FMSYNTH_STEREO = 0x0010 +MM_OPTI_P16_MIDIIN = 0x0011 +MM_OPTI_P16_MIDIOUT = 0x0012 +MM_OPTI_P16_WAVEIN = 0x0013 +MM_OPTI_P16_WAVEOUT = 0x0014 +MM_OPTI_P16_MIXER = 0x0015 +MM_OPTI_P16_AUX = 0x0016 +MM_OPTI_M32_WAVEIN = 0x0020 +MM_OPTI_M32_WAVEOUT = 0x0021 +MM_OPTI_M32_MIDIIN = 0x0022 +MM_OPTI_M32_MIDIOUT = 0x0023 +MM_OPTI_M32_SYNTH_STEREO = 0x0024 +MM_OPTI_M32_MIXER = 0x0025 +MM_OPTI_M32_AUX = 0x0026 +# MM_COMPAQ product IDs +MM_COMPAQ_BB_WAVEIN = 1 +MM_COMPAQ_BB_WAVEOUT = 2 +MM_COMPAQ_BB_WAVEAUX = 3 +# MM_MPTUS product IDs +MM_MPTUS_SPWAVEOUT = 1 # Sound Pallette +# MM_LERNOUT_AND_HAUSPIE product IDs +MM_LERNOUT_ANDHAUSPIE_LHCODECACM = 1 +# MM_DIGITAL product IDs +MM_DIGITAL_AV320_WAVEIN = 1 # Digital Audio Video Compression Board +MM_DIGITAL_AV320_WAVEOUT = 2 # Digital Audio Video Compression Board +MM_DIGITAL_ACM_G723 = 3 +MM_DIGITAL_ICM_H263 = 4 +MM_DIGITAL_ICM_H261 = 5 +# MM_MOTU product IDs +MM_MOTU_MTP_MIDIOUT_ALL = 100 +MM_MOTU_MTP_MIDIIN_1 = 101 +MM_MOTU_MTP_MIDIOUT_1 = 101 +MM_MOTU_MTP_MIDIIN_2 = 102 +MM_MOTU_MTP_MIDIOUT_2 = 102 +MM_MOTU_MTP_MIDIIN_3 = 103 +MM_MOTU_MTP_MIDIOUT_3 = 103 +MM_MOTU_MTP_MIDIIN_4 = 104 +MM_MOTU_MTP_MIDIOUT_4 = 104 +MM_MOTU_MTP_MIDIIN_5 = 105 +MM_MOTU_MTP_MIDIOUT_5 = 105 +MM_MOTU_MTP_MIDIIN_6 = 106 +MM_MOTU_MTP_MIDIOUT_6 = 106 +MM_MOTU_MTP_MIDIIN_7 = 107 +MM_MOTU_MTP_MIDIOUT_7 = 107 +MM_MOTU_MTP_MIDIIN_8 = 108 +MM_MOTU_MTP_MIDIOUT_8 = 108 +MM_MOTU_MTPII_MIDIOUT_ALL = 200 +MM_MOTU_MTPII_MIDIIN_SYNC = 200 +MM_MOTU_MTPII_MIDIIN_1 = 201 +MM_MOTU_MTPII_MIDIOUT_1 = 201 +MM_MOTU_MTPII_MIDIIN_2 = 202 +MM_MOTU_MTPII_MIDIOUT_2 = 202 +MM_MOTU_MTPII_MIDIIN_3 = 203 +MM_MOTU_MTPII_MIDIOUT_3 = 203 +MM_MOTU_MTPII_MIDIIN_4 = 204 +MM_MOTU_MTPII_MIDIOUT_4 = 204 +MM_MOTU_MTPII_MIDIIN_5 = 205 +MM_MOTU_MTPII_MIDIOUT_5 = 205 +MM_MOTU_MTPII_MIDIIN_6 = 206 +MM_MOTU_MTPII_MIDIOUT_6 = 206 +MM_MOTU_MTPII_MIDIIN_7 = 207 +MM_MOTU_MTPII_MIDIOUT_7 = 207 +MM_MOTU_MTPII_MIDIIN_8 = 208 +MM_MOTU_MTPII_MIDIOUT_8 = 208 +MM_MOTU_MTPII_NET_MIDIIN_1 = 209 +MM_MOTU_MTPII_NET_MIDIOUT_1 = 209 +MM_MOTU_MTPII_NET_MIDIIN_2 = 210 +MM_MOTU_MTPII_NET_MIDIOUT_2 = 210 +MM_MOTU_MTPII_NET_MIDIIN_3 = 211 +MM_MOTU_MTPII_NET_MIDIOUT_3 = 211 +MM_MOTU_MTPII_NET_MIDIIN_4 = 212 +MM_MOTU_MTPII_NET_MIDIOUT_4 = 212 +MM_MOTU_MTPII_NET_MIDIIN_5 = 213 +MM_MOTU_MTPII_NET_MIDIOUT_5 = 213 +MM_MOTU_MTPII_NET_MIDIIN_6 = 214 +MM_MOTU_MTPII_NET_MIDIOUT_6 = 214 +MM_MOTU_MTPII_NET_MIDIIN_7 = 215 +MM_MOTU_MTPII_NET_MIDIOUT_7 = 215 +MM_MOTU_MTPII_NET_MIDIIN_8 = 216 +MM_MOTU_MTPII_NET_MIDIOUT_8 = 216 +MM_MOTU_MXP_MIDIIN_MIDIOUT_ALL = 300 +MM_MOTU_MXP_MIDIIN_SYNC = 300 +MM_MOTU_MXP_MIDIIN_MIDIIN_1 = 301 +MM_MOTU_MXP_MIDIIN_MIDIOUT_1 = 301 +MM_MOTU_MXP_MIDIIN_MIDIIN_2 = 302 +MM_MOTU_MXP_MIDIIN_MIDIOUT_2 = 302 +MM_MOTU_MXP_MIDIIN_MIDIIN_3 = 303 +MM_MOTU_MXP_MIDIIN_MIDIOUT_3 = 303 +MM_MOTU_MXP_MIDIIN_MIDIIN_4 = 304 +MM_MOTU_MXP_MIDIIN_MIDIOUT_4 = 304 +MM_MOTU_MXP_MIDIIN_MIDIIN_5 = 305 +MM_MOTU_MXP_MIDIIN_MIDIOUT_5 = 305 +MM_MOTU_MXP_MIDIIN_MIDIIN_6 = 306 +MM_MOTU_MXP_MIDIIN_MIDIOUT_6 = 306 +MM_MOTU_MXPMPU_MIDIOUT_ALL = 400 +MM_MOTU_MXPMPU_MIDIIN_SYNC = 400 +MM_MOTU_MXPMPU_MIDIIN_1 = 401 +MM_MOTU_MXPMPU_MIDIOUT_1 = 401 +MM_MOTU_MXPMPU_MIDIIN_2 = 402 +MM_MOTU_MXPMPU_MIDIOUT_2 = 402 +MM_MOTU_MXPMPU_MIDIIN_3 = 403 +MM_MOTU_MXPMPU_MIDIOUT_3 = 403 +MM_MOTU_MXPMPU_MIDIIN_4 = 404 +MM_MOTU_MXPMPU_MIDIOUT_4 = 404 +MM_MOTU_MXPMPU_MIDIIN_5 = 405 +MM_MOTU_MXPMPU_MIDIOUT_5 = 405 +MM_MOTU_MXPMPU_MIDIIN_6 = 406 +MM_MOTU_MXPMPU_MIDIOUT_6 = 406 +MM_MOTU_MXN_MIDIOUT_ALL = 500 +MM_MOTU_MXN_MIDIIN_SYNC = 500 +MM_MOTU_MXN_MIDIIN_1 = 501 +MM_MOTU_MXN_MIDIOUT_1 = 501 +MM_MOTU_MXN_MIDIIN_2 = 502 +MM_MOTU_MXN_MIDIOUT_2 = 502 +MM_MOTU_MXN_MIDIIN_3 = 503 +MM_MOTU_MXN_MIDIOUT_3 = 503 +MM_MOTU_MXN_MIDIIN_4 = 504 +MM_MOTU_MXN_MIDIOUT_4 = 504 +MM_MOTU_FLYER_MIDI_IN_SYNC = 600 +MM_MOTU_FLYER_MIDI_IN_A = 601 +MM_MOTU_FLYER_MIDI_OUT_A = 601 +MM_MOTU_FLYER_MIDI_IN_B = 602 +MM_MOTU_FLYER_MIDI_OUT_B = 602 +MM_MOTU_PKX_MIDI_IN_SYNC = 700 +MM_MOTU_PKX_MIDI_IN_A = 701 +MM_MOTU_PKX_MIDI_OUT_A = 701 +MM_MOTU_PKX_MIDI_IN_B = 702 +MM_MOTU_PKX_MIDI_OUT_B = 702 +MM_MOTU_DTX_MIDI_IN_SYNC = 800 +MM_MOTU_DTX_MIDI_IN_A = 801 +MM_MOTU_DTX_MIDI_OUT_A = 801 +MM_MOTU_DTX_MIDI_IN_B = 802 +MM_MOTU_DTX_MIDI_OUT_B = 802 +MM_MOTU_MTPAV_MIDIOUT_ALL = 900 +MM_MOTU_MTPAV_MIDIIN_SYNC = 900 +MM_MOTU_MTPAV_MIDIIN_1 = 901 +MM_MOTU_MTPAV_MIDIOUT_1 = 901 +MM_MOTU_MTPAV_MIDIIN_2 = 902 +MM_MOTU_MTPAV_MIDIOUT_2 = 902 +MM_MOTU_MTPAV_MIDIIN_3 = 903 +MM_MOTU_MTPAV_MIDIOUT_3 = 903 +MM_MOTU_MTPAV_MIDIIN_4 = 904 +MM_MOTU_MTPAV_MIDIOUT_4 = 904 +MM_MOTU_MTPAV_MIDIIN_5 = 905 +MM_MOTU_MTPAV_MIDIOUT_5 = 905 +MM_MOTU_MTPAV_MIDIIN_6 = 906 +MM_MOTU_MTPAV_MIDIOUT_6 = 906 +MM_MOTU_MTPAV_MIDIIN_7 = 907 +MM_MOTU_MTPAV_MIDIOUT_7 = 907 +MM_MOTU_MTPAV_MIDIIN_8 = 908 +MM_MOTU_MTPAV_MIDIOUT_8 = 908 +MM_MOTU_MTPAV_NET_MIDIIN_1 = 909 +MM_MOTU_MTPAV_NET_MIDIOUT_1 = 909 +MM_MOTU_MTPAV_NET_MIDIIN_2 = 910 +MM_MOTU_MTPAV_NET_MIDIOUT_2 = 910 +MM_MOTU_MTPAV_NET_MIDIIN_3 = 911 +MM_MOTU_MTPAV_NET_MIDIOUT_3 = 911 +MM_MOTU_MTPAV_NET_MIDIIN_4 = 912 +MM_MOTU_MTPAV_NET_MIDIOUT_4 = 912 +MM_MOTU_MTPAV_NET_MIDIIN_5 = 913 +MM_MOTU_MTPAV_NET_MIDIOUT_5 = 913 +MM_MOTU_MTPAV_NET_MIDIIN_6 = 914 +MM_MOTU_MTPAV_NET_MIDIOUT_6 = 914 +MM_MOTU_MTPAV_NET_MIDIIN_7 = 915 +MM_MOTU_MTPAV_NET_MIDIOUT_7 = 915 +MM_MOTU_MTPAV_NET_MIDIIN_8 = 916 +MM_MOTU_MTPAV_NET_MIDIOUT_8 = 916 +MM_MOTU_MTPAV_MIDIIN_ADAT = 917 +MM_MOTU_MTPAV_MIDIOUT_ADAT = 917 +MM_MOTU_MXPXT_MIDIIN_SYNC = 1000 +MM_MOTU_MXPXT_MIDIOUT_ALL = 1000 +MM_MOTU_MXPXT_MIDIIN_1 = 1001 +MM_MOTU_MXPXT_MIDIOUT_1 = 1001 +MM_MOTU_MXPXT_MIDIOUT_2 = 1002 +MM_MOTU_MXPXT_MIDIIN_2 = 1002 +MM_MOTU_MXPXT_MIDIIN_3 = 1003 +MM_MOTU_MXPXT_MIDIOUT_3 = 1003 +MM_MOTU_MXPXT_MIDIIN_4 = 1004 +MM_MOTU_MXPXT_MIDIOUT_4 = 1004 +MM_MOTU_MXPXT_MIDIIN_5 = 1005 +MM_MOTU_MXPXT_MIDIOUT_5 = 1005 +MM_MOTU_MXPXT_MIDIOUT_6 = 1006 +MM_MOTU_MXPXT_MIDIIN_6 = 1006 +MM_MOTU_MXPXT_MIDIOUT_7 = 1007 +MM_MOTU_MXPXT_MIDIIN_7 = 1007 +MM_MOTU_MXPXT_MIDIOUT_8 = 1008 +MM_MOTU_MXPXT_MIDIIN_8 = 1008 +# MM_WORKBIT product IDs +MM_WORKBIT_MIXER = 1 # Harmony Mixer +MM_WORKBIT_WAVEOUT = 2 # Harmony Mixer +MM_WORKBIT_WAVEIN = 3 # Harmony Mixer +MM_WORKBIT_MIDIIN = 4 # Harmony Mixer +MM_WORKBIT_MIDIOUT = 5 # Harmony Mixer +MM_WORKBIT_FMSYNTH = 6 # Harmony Mixer +MM_WORKBIT_AUX = 7 # Harmony Mixer +MM_WORKBIT_JOYSTICK = 8 +# MM_OSITECH product IDs +MM_OSITECH_TRUMPCARD = 1 # Trumpcard +# MM_MIRO product IDs +MM_MIRO_MOVIEPRO = 1 # miroMOVIE pro +MM_MIRO_VIDEOD1 = 2 # miroVIDEO D1 +MM_MIRO_VIDEODC1TV = 3 # miroVIDEO DC1 tv +MM_MIRO_VIDEOTD = 4 # miroVIDEO 10/20 TD +MM_MIRO_DC30_WAVEOUT = 5 +MM_MIRO_DC30_WAVEIN = 6 +MM_MIRO_DC30_MIX = 7 +# MM_ISOLUTION product IDs +MM_ISOLUTION_PASCAL = 1 +# MM_ROCKWELL product IDs +MM_VOICEMIXER = 1 +ROCKWELL_WA1_WAVEIN = 100 +ROCKWELL_WA1_WAVEOUT = 101 +ROCKWELL_WA1_SYNTH = 102 +ROCKWELL_WA1_MIXER = 103 +ROCKWELL_WA1_MPU401_IN = 104 +ROCKWELL_WA1_MPU401_OUT = 105 +ROCKWELL_WA2_WAVEIN = 200 +ROCKWELL_WA2_WAVEOUT = 201 +ROCKWELL_WA2_SYNTH = 202 +ROCKWELL_WA2_MIXER = 203 +ROCKWELL_WA2_MPU401_IN = 204 +ROCKWELL_WA2_MPU401_OUT = 205 +# MM_VOXWARE product IDs +MM_VOXWARE_CODEC = 1 +# MM_NORTHERN_TELECOM product IDs +MM_NORTEL_MPXAC_WAVEIN = 1 # MPX Audio Card Wave Input Device +MM_NORTEL_MPXAC_WAVEOUT = 2 # MPX Audio Card Wave Output Device +# MM_ADDX product IDs +MM_ADDX_PCTV_DIGITALMIX = 1 # MM_ADDX_PCTV_DIGITALMIX +MM_ADDX_PCTV_WAVEIN = 2 # MM_ADDX_PCTV_WAVEIN +MM_ADDX_PCTV_WAVEOUT = 3 # MM_ADDX_PCTV_WAVEOUT +MM_ADDX_PCTV_MIXER = 4 # MM_ADDX_PCTV_MIXER +MM_ADDX_PCTV_AUX_CD = 5 # MM_ADDX_PCTV_AUX_CD +MM_ADDX_PCTV_AUX_LINE = 6 # MM_ADDX_PCTV_AUX_LINE +# MM_WILDCAT product IDs +MM_WILDCAT_AUTOSCOREMIDIIN = 1 # Autoscore +# MM_RHETOREX product IDs +MM_RHETOREX_WAVEIN = 1 +MM_RHETOREX_WAVEOUT = 2 +# MM_BROOKTREE product IDs +MM_BTV_WAVEIN = 1 # Brooktree PCM Wave Audio In +MM_BTV_WAVEOUT = 2 # Brooktree PCM Wave Audio Out +MM_BTV_MIDIIN = 3 # Brooktree MIDI In +MM_BTV_MIDIOUT = 4 # Brooktree MIDI out +MM_BTV_MIDISYNTH = 5 # Brooktree MIDI FM synth +MM_BTV_AUX_LINE = 6 # Brooktree Line Input +MM_BTV_AUX_MIC = 7 # Brooktree Microphone Input +MM_BTV_AUX_CD = 8 # Brooktree CD Input +MM_BTV_DIGITALIN = 9 # Brooktree PCM Wave in with subcode information +MM_BTV_DIGITALOUT = 10 # Brooktree PCM Wave out with subcode information +MM_BTV_MIDIWAVESTREAM = 11 # Brooktree WaveStream +MM_BTV_MIXER = 12 # Brooktree WSS Mixer driver +# MM_ENSONIQ product IDs +MM_ENSONIQ_SOUNDSCAPE = 0x10 # ENSONIQ Soundscape +MM_SOUNDSCAPE_WAVEOUT = MM_ENSONIQ_SOUNDSCAPE+1 +MM_SOUNDSCAPE_WAVEOUT_AUX = MM_ENSONIQ_SOUNDSCAPE+2 +MM_SOUNDSCAPE_WAVEIN = MM_ENSONIQ_SOUNDSCAPE+3 +MM_SOUNDSCAPE_MIDIOUT = MM_ENSONIQ_SOUNDSCAPE+4 +MM_SOUNDSCAPE_MIDIIN = MM_ENSONIQ_SOUNDSCAPE+5 +MM_SOUNDSCAPE_SYNTH = MM_ENSONIQ_SOUNDSCAPE+6 +MM_SOUNDSCAPE_MIXER = MM_ENSONIQ_SOUNDSCAPE+7 +MM_SOUNDSCAPE_AUX = MM_ENSONIQ_SOUNDSCAPE+8 +# MM_NVIDIA product IDs +MM_NVIDIA_WAVEOUT = 1 +MM_NVIDIA_WAVEIN = 2 +MM_NVIDIA_MIDIOUT = 3 +MM_NVIDIA_MIDIIN = 4 +MM_NVIDIA_GAMEPORT = 5 +MM_NVIDIA_MIXER = 6 +MM_NVIDIA_AUX = 7 +# MM_OKSORI product IDs +MM_OKSORI_BASE = 0 # Oksori Base +MM_OKSORI_OSR8_WAVEOUT = MM_OKSORI_BASE+1 # Oksori 8bit Wave out +MM_OKSORI_OSR8_WAVEIN = MM_OKSORI_BASE+2 # Oksori 8bit Wave in +MM_OKSORI_OSR16_WAVEOUT = MM_OKSORI_BASE+3 # Oksori 16 bit Wave out +MM_OKSORI_OSR16_WAVEIN = MM_OKSORI_BASE+4 # Oksori 16 bit Wave in +MM_OKSORI_FM_OPL4 = MM_OKSORI_BASE+5 # Oksori FM Synth Yamaha OPL4 +MM_OKSORI_MIX_MASTER = MM_OKSORI_BASE+6 # Oksori DSP Mixer - Master Volume +MM_OKSORI_MIX_WAVE = MM_OKSORI_BASE+7 # Oksori DSP Mixer - Wave Volume +MM_OKSORI_MIX_FM = MM_OKSORI_BASE+8 # Oksori DSP Mixer - FM Volume +MM_OKSORI_MIX_LINE = MM_OKSORI_BASE+9 # Oksori DSP Mixer - Line Volume +MM_OKSORI_MIX_CD = MM_OKSORI_BASE+10 # Oksori DSP Mixer - CD Volume +MM_OKSORI_MIX_MIC = MM_OKSORI_BASE+11 # Oksori DSP Mixer - MIC Volume +MM_OKSORI_MIX_ECHO = MM_OKSORI_BASE+12 # Oksori DSP Mixer - Echo Volume +MM_OKSORI_MIX_AUX1 = MM_OKSORI_BASE+13 # Oksori AD1848 - AUX1 Volume +MM_OKSORI_MIX_LINE1 = MM_OKSORI_BASE+14 # Oksori AD1848 - LINE1 Volume +MM_OKSORI_EXT_MIC1 = MM_OKSORI_BASE+15 # Oksori External - One Mic Connect +MM_OKSORI_EXT_MIC2 = MM_OKSORI_BASE+16 # Oksori External - Two Mic Connect +MM_OKSORI_MIDIOUT = MM_OKSORI_BASE+17 # Oksori MIDI Out Device +MM_OKSORI_MIDIIN = MM_OKSORI_BASE+18 # Oksori MIDI In Device +MM_OKSORI_MPEG_CDVISION = MM_OKSORI_BASE+19 # Oksori CD-Vision MPEG Decoder +# MM_DIACOUSTICS product IDs +MM_DIACOUSTICS_DRUM_ACTION = 1 # Drum Action +# MM_KAY_ELEMETRICS product IDs +MM_KAY_ELEMETRICS_CSL = 0x4300 +MM_KAY_ELEMETRICS_CSL_DAT = 0x4308 +MM_KAY_ELEMETRICS_CSL_4CHANNEL = 0x4309 +# MM_CRYSTAL product IDs +MM_CRYSTAL_CS4232_WAVEIN = 1 +MM_CRYSTAL_CS4232_WAVEOUT = 2 +MM_CRYSTAL_CS4232_WAVEMIXER = 3 +MM_CRYSTAL_CS4232_WAVEAUX_AUX1 = 4 +MM_CRYSTAL_CS4232_WAVEAUX_AUX2 = 5 +MM_CRYSTAL_CS4232_WAVEAUX_LINE = 6 +MM_CRYSTAL_CS4232_WAVEAUX_MONO = 7 +MM_CRYSTAL_CS4232_WAVEAUX_MASTER = 8 +MM_CRYSTAL_CS4232_MIDIIN = 9 +MM_CRYSTAL_CS4232_MIDIOUT = 10 +MM_CRYSTAL_CS4232_INPUTGAIN_AUX1 = 13 +MM_CRYSTAL_CS4232_INPUTGAIN_LOOP = 14 +MM_CRYSTAL_SOUND_FUSION_WAVEIN = 21 +MM_CRYSTAL_SOUND_FUSION_WAVEOUT = 22 +MM_CRYSTAL_SOUND_FUSION_MIXER = 23 +MM_CRYSTAL_SOUND_FUSION_MIDIIN = 24 +MM_CRYSTAL_SOUND_FUSION_MIDIOUT = 25 +MM_CRYSTAL_SOUND_FUSION_JOYSTICK = 26 +# MM_QUARTERDECK product IDs +MM_QUARTERDECK_LHWAVEIN = 0 # Quarterdeck L&H Codec Wave In +MM_QUARTERDECK_LHWAVEOUT = 1 # Quarterdeck L&H Codec Wave Out +# MM_TDK product IDs +MM_TDK_MW_MIDI_SYNTH = 1 +MM_TDK_MW_MIDI_IN = 2 +MM_TDK_MW_MIDI_OUT = 3 +MM_TDK_MW_WAVE_IN = 4 +MM_TDK_MW_WAVE_OUT = 5 +MM_TDK_MW_AUX = 6 +MM_TDK_MW_MIXER = 10 +MM_TDK_MW_AUX_MASTER = 100 +MM_TDK_MW_AUX_BASS = 101 +MM_TDK_MW_AUX_TREBLE = 102 +MM_TDK_MW_AUX_MIDI_VOL = 103 +MM_TDK_MW_AUX_WAVE_VOL = 104 +MM_TDK_MW_AUX_WAVE_RVB = 105 +MM_TDK_MW_AUX_WAVE_CHR = 106 +MM_TDK_MW_AUX_VOL = 107 +MM_TDK_MW_AUX_RVB = 108 +MM_TDK_MW_AUX_CHR = 109 +# MM_DIGITAL_AUDIO_LABS product IDs +MM_DIGITAL_AUDIO_LABS_TC = 0x01 +MM_DIGITAL_AUDIO_LABS_DOC = 0x02 +MM_DIGITAL_AUDIO_LABS_V8 = 0x10 +MM_DIGITAL_AUDIO_LABS_CPRO = 0x11 +MM_DIGITAL_AUDIO_LABS_VP = 0x12 +MM_DIGITAL_AUDIO_LABS_CDLX = 0x13 +MM_DIGITAL_AUDIO_LABS_CTDIF = 0x14 +# MM_SEERSYS product IDs +MM_SEERSYS_SEERSYNTH = 1 +MM_SEERSYS_SEERWAVE = 2 +MM_SEERSYS_SEERMIX = 3 +MM_SEERSYS_WAVESYNTH = 4 +MM_SEERSYS_WAVESYNTH_WG = 5 +MM_SEERSYS_REALITY = 6 +# MM_OSPREY product IDs +MM_OSPREY_1000WAVEIN = 1 +MM_OSPREY_1000WAVEOUT = 2 +# MM_SOUNDESIGNS product IDs +MM_SOUNDESIGNS_WAVEIN = 1 +MM_SOUNDESIGNS_WAVEOUT = 2 +# MM_SPECTRUM_SIGNAL_PROCESSING product IDs +MM_SSP_SNDFESWAVEIN = 1 # Sound Festa Wave In Device +MM_SSP_SNDFESWAVEOUT = 2 # Sound Festa Wave Out Device +MM_SSP_SNDFESMIDIIN = 3 # Sound Festa MIDI In Device +MM_SSP_SNDFESMIDIOUT = 4 # Sound Festa MIDI Out Device +MM_SSP_SNDFESSYNTH = 5 # Sound Festa MIDI Synth Device +MM_SSP_SNDFESMIX = 6 # Sound Festa Mixer Device +MM_SSP_SNDFESAUX = 7 # Sound Festa Auxilliary Device +# MM_ECS product IDs +MM_ECS_AADF_MIDI_IN = 10 +MM_ECS_AADF_MIDI_OUT = 11 +MM_ECS_AADF_WAVE2MIDI_IN = 12 +# MM_AMD product IDs +MM_AMD_INTERWAVE_WAVEIN = 1 +MM_AMD_INTERWAVE_WAVEOUT = 2 +MM_AMD_INTERWAVE_SYNTH = 3 +MM_AMD_INTERWAVE_MIXER1 = 4 +MM_AMD_INTERWAVE_MIXER2 = 5 +MM_AMD_INTERWAVE_JOYSTICK = 6 +MM_AMD_INTERWAVE_EX_CD = 7 +MM_AMD_INTERWAVE_MIDIIN = 8 +MM_AMD_INTERWAVE_MIDIOUT = 9 +MM_AMD_INTERWAVE_AUX1 = 10 +MM_AMD_INTERWAVE_AUX2 = 11 +MM_AMD_INTERWAVE_AUX_MIC = 12 +MM_AMD_INTERWAVE_AUX_CD = 13 +MM_AMD_INTERWAVE_MONO_IN = 14 +MM_AMD_INTERWAVE_MONO_OUT = 15 +MM_AMD_INTERWAVE_EX_TELEPHONY = 16 +MM_AMD_INTERWAVE_WAVEOUT_BASE = 17 +MM_AMD_INTERWAVE_WAVEOUT_TREBLE = 18 +MM_AMD_INTERWAVE_STEREO_ENHANCED = 19 +# MM_COREDYNAMICS product IDs +MM_COREDYNAMICS_DYNAMIXHR = 1 # DynaMax Hi-Rez +MM_COREDYNAMICS_DYNASONIX_SYNTH = 2 # DynaSonix +MM_COREDYNAMICS_DYNASONIX_MIDI_IN = 3 +MM_COREDYNAMICS_DYNASONIX_MIDI_OUT = 4 +MM_COREDYNAMICS_DYNASONIX_WAVE_IN = 5 +MM_COREDYNAMICS_DYNASONIX_WAVE_OUT = 6 +MM_COREDYNAMICS_DYNASONIX_AUDIO_IN = 7 +MM_COREDYNAMICS_DYNASONIX_AUDIO_OUT = 8 +MM_COREDYNAMICS_DYNAGRAFX_VGA = 9 # DynaGrfx +MM_COREDYNAMICS_DYNAGRAFX_WAVE_IN = 10 +MM_COREDYNAMICS_DYNAGRAFX_WAVE_OUT = 11 +# MM_CANAM product IDs +MM_CANAM_CBXWAVEOUT = 1 +MM_CANAM_CBXWAVEIN = 2 +# MM_SOFTSOUND product IDs +MM_SOFTSOUND_CODEC = 1 +# MM_NORRIS product IDs +MM_NORRIS_VOICELINK = 1 +# MM_DDD product IDs +MM_DDD_MIDILINK_MIDIIN = 1 +MM_DDD_MIDILINK_MIDIOUT = 2 +# MM_EUPHONICS product IDs +MM_EUPHONICS_AUX_CD = 1 +MM_EUPHONICS_AUX_LINE = 2 +MM_EUPHONICS_AUX_MASTER = 3 +MM_EUPHONICS_AUX_MIC = 4 +MM_EUPHONICS_AUX_MIDI = 5 +MM_EUPHONICS_AUX_WAVE = 6 +MM_EUPHONICS_FMSYNTH_MONO = 7 +MM_EUPHONICS_FMSYNTH_STEREO = 8 +MM_EUPHONICS_MIDIIN = 9 +MM_EUPHONICS_MIDIOUT = 10 +MM_EUPHONICS_MIXER = 11 +MM_EUPHONICS_WAVEIN = 12 +MM_EUPHONICS_WAVEOUT = 13 +MM_EUPHONICS_EUSYNTH = 14 +# MM_CRYSTAL_NET product IDs +CRYSTAL_NET_SFM_CODEC = 1 +# MM_CHROMATIC product IDs +MM_CHROMATIC_M1 = 0x0001 +MM_CHROMATIC_M1_WAVEIN = 0x0002 +MM_CHROMATIC_M1_WAVEOUT = 0x0003 +MM_CHROMATIC_M1_FMSYNTH = 0x0004 +MM_CHROMATIC_M1_MIXER = 0x0005 +MM_CHROMATIC_M1_AUX = 0x0006 +MM_CHROMATIC_M1_AUX_CD = 0x0007 +MM_CHROMATIC_M1_MIDIIN = 0x0008 +MM_CHROMATIC_M1_MIDIOUT = 0x0009 +MM_CHROMATIC_M1_WTSYNTH = 0x0010 +MM_CHROMATIC_M1_MPEGWAVEIN = 0x0011 +MM_CHROMATIC_M1_MPEGWAVEOUT = 0x0012 +MM_CHROMATIC_M2 = 0x0013 +MM_CHROMATIC_M2_WAVEIN = 0x0014 +MM_CHROMATIC_M2_WAVEOUT = 0x0015 +MM_CHROMATIC_M2_FMSYNTH = 0x0016 +MM_CHROMATIC_M2_MIXER = 0x0017 +MM_CHROMATIC_M2_AUX = 0x0018 +MM_CHROMATIC_M2_AUX_CD = 0x0019 +MM_CHROMATIC_M2_MIDIIN = 0x0020 +MM_CHROMATIC_M2_MIDIOUT = 0x0021 +MM_CHROMATIC_M2_WTSYNTH = 0x0022 +MM_CHROMATIC_M2_MPEGWAVEIN = 0x0023 +MM_CHROMATIC_M2_MPEGWAVEOUT = 0x0024 +# MM_VIENNASYS product IDs +MM_VIENNASYS_TSP_WAVE_DRIVER = 1 +# MM_CONNECTIX product IDs +MM_CONNECTIX_VIDEC_CODEC = 1 +# MM_GADGETLABS product IDs +MM_GADGETLABS_WAVE44_WAVEIN = 1 +MM_GADGETLABS_WAVE44_WAVEOUT = 2 +MM_GADGETLABS_WAVE42_WAVEIN = 3 +MM_GADGETLABS_WAVE42_WAVEOUT = 4 +MM_GADGETLABS_WAVE4_MIDIIN = 5 +MM_GADGETLABS_WAVE4_MIDIOUT = 6 +# MM_FRONTIER product IDs +MM_FRONTIER_WAVECENTER_MIDIIN = 1 # WaveCenter +MM_FRONTIER_WAVECENTER_MIDIOUT = 2 +MM_FRONTIER_WAVECENTER_WAVEIN = 3 +MM_FRONTIER_WAVECENTER_WAVEOUT = 4 +# MM_VIONA product IDs +MM_VIONA_QVINPCI_MIXER = 1 # Q-Motion PCI II/Bravado 2000 +MM_VIONA_QVINPCI_WAVEIN = 2 +MM_VIONAQVINPCI_WAVEOUT = 3 +MM_VIONA_BUSTER_MIXER = 4 # Buster +MM_VIONA_CINEMASTER_MIXER = 5 # Cinemaster +MM_VIONA_CONCERTO_MIXER = 6 # Concerto +# MM_CASIO product IDs +MM_CASIO_WP150_MIDIOUT = 1 # wp150 +MM_CASIO_WP150_MIDIIN = 2 +MM_CASIO_LSG_MIDIOUT = 3 +# MM_DIAMONDMM product IDs +MM_DIMD_PLATFORM = 0 # Freedom Audio +MM_DIMD_DIRSOUND = 1 +MM_DIMD_VIRTMPU = 2 +MM_DIMD_VIRTSB = 3 +MM_DIMD_VIRTJOY = 4 +MM_DIMD_WAVEIN = 5 +MM_DIMD_WAVEOUT = 6 +MM_DIMD_MIDIIN = 7 +MM_DIMD_MIDIOUT = 8 +MM_DIMD_AUX_LINE = 9 +MM_DIMD_MIXER = 10 +MM_DIMD_WSS_WAVEIN = 14 +MM_DIMD_WSS_WAVEOUT = 15 +MM_DIMD_WSS_MIXER = 17 +MM_DIMD_WSS_AUX = 21 +MM_DIMD_WSS_SYNTH = 76 +# MM_S3 product IDs +MM_S3_WAVEOUT = 1 +MM_S3_WAVEIN = 2 +MM_S3_MIDIOUT = 3 +MM_S3_MIDIIN = 4 +MM_S3_FMSYNTH = 5 +MM_S3_MIXER = 6 +MM_S3_AUX = 7 +# MM_VANKOEVERING product IDs +MM_VKC_MPU401_MIDIIN = 0x0100 +MM_VKC_SERIAL_MIDIIN = 0x0101 +MM_VKC_MPU401_MIDIOUT = 0x0200 +MM_VKC_SERIAL_MIDIOUT = 0x0201 +# MM_ZEFIRO product IDs +MM_ZEFIRO_ZA2 = 2 +# MM_FRAUNHOFER_IIS product IDs +MM_FHGIIS_MPEGLAYER3_DECODE = 9 +MM_FHGIIS_MPEGLAYER3 = 10 +MM_FHGIIS_MPEGLAYER3_LITE = 10 +MM_FHGIIS_MPEGLAYER3_BASIC = 11 +MM_FHGIIS_MPEGLAYER3_ADVANCED = 12 +MM_FHGIIS_MPEGLAYER3_PROFESSIONAL = 13 +MM_FHGIIS_MPEGLAYER3_ADVANCEDPLUS = 14 +# MM_QUICKNET product IDs +MM_QUICKNET_PJWAVEIN = 1 +MM_QUICKNET_PJWAVEOUT = 2 +# MM_SICRESOURCE product IDs +MM_SICRESOURCE_SSO3D = 2 +MM_SICRESOURCE_SSOW3DI = 3 +# MM_NEOMAGIC product IDs +MM_NEOMAGIC_SYNTH = 1 +MM_NEOMAGIC_WAVEOUT = 2 +MM_NEOMAGIC_WAVEIN = 3 +MM_NEOMAGIC_MIDIOUT = 4 +MM_NEOMAGIC_MIDIIN = 5 +MM_NEOMAGIC_AUX = 6 +MM_NEOMAGIC_MW3DX_WAVEOUT = 10 +MM_NEOMAGIC_MW3DX_WAVEIN = 11 +MM_NEOMAGIC_MW3DX_MIDIOUT = 12 +MM_NEOMAGIC_MW3DX_MIDIIN = 13 +MM_NEOMAGIC_MW3DX_FMSYNTH = 14 +MM_NEOMAGIC_MW3DX_GMSYNTH = 15 +MM_NEOMAGIC_MW3DX_MIXER = 16 +MM_NEOMAGIC_MW3DX_AUX = 17 +MM_NEOMAGIC_MWAVE_WAVEOUT = 20 +MM_NEOMAGIC_MWAVE_WAVEIN = 21 +MM_NEOMAGIC_MWAVE_MIDIOUT = 22 +MM_NEOMAGIC_MWAVE_MIDIIN = 23 +MM_NEOMAGIC_MWAVE_MIXER = 24 +MM_NEOMAGIC_MWAVE_AUX = 25 +# MM_MERGING_TECHNOLOGIES product IDs +MM_MERGING_MPEGL3 = 1 +# MM_XIRLINK product IDs +MM_XIRLINK_VISIONLINK = 1 +# MM_OTI product IDs +MM_OTI_611WAVEIN = 5 +MM_OTI_611WAVEOUT = 6 +MM_OTI_611MIXER = 7 +MM_OTI_611MIDIN = 0x12 +MM_OTI_611MIDIOUT = 0x13 +# MM_AUREAL product IDs +MM_AUREAL_AU8820 = 16 +MM_AU8820_SYNTH = 17 +MM_AU8820_WAVEOUT = 18 +MM_AU8820_WAVEIN = 19 +MM_AU8820_MIXER = 20 +MM_AU8820_AUX = 21 +MM_AU8820_MIDIOUT = 22 +MM_AU8820_MIDIIN = 23 +MM_AUREAL_AU8830 = 32 +MM_AU8830_SYNTH = 33 +MM_AU8830_WAVEOUT = 34 +MM_AU8830_WAVEIN = 35 +MM_AU8830_MIXER = 36 +MM_AU8830_AUX = 37 +MM_AU8830_MIDIOUT = 38 +MM_AU8830_MIDIIN = 39 +# MM_VIVO product IDs +MM_VIVO_AUDIO_CODEC = 1 +# MM_SHARP product IDs +MM_SHARP_MDC_MIDI_SYNTH = 1 +MM_SHARP_MDC_MIDI_IN = 2 +MM_SHARP_MDC_MIDI_OUT = 3 +MM_SHARP_MDC_WAVE_IN = 4 +MM_SHARP_MDC_WAVE_OUT = 5 +MM_SHARP_MDC_AUX = 6 +MM_SHARP_MDC_MIXER = 10 +MM_SHARP_MDC_AUX_MASTER = 100 +MM_SHARP_MDC_AUX_BASS = 101 +MM_SHARP_MDC_AUX_TREBLE = 102 +MM_SHARP_MDC_AUX_MIDI_VOL = 103 +MM_SHARP_MDC_AUX_WAVE_VOL = 104 +MM_SHARP_MDC_AUX_WAVE_RVB = 105 +MM_SHARP_MDC_AUX_WAVE_CHR = 106 +MM_SHARP_MDC_AUX_VOL = 107 +MM_SHARP_MDC_AUX_RVB = 108 +MM_SHARP_MDC_AUX_CHR = 109 +# MM_LUCENT product IDs +MM_LUCENT_ACM_G723 = 0 +# MM_ATT product IDs +MM_ATT_G729A = 1 +# MM_MARIAN product IDs +MM_MARIAN_ARC44WAVEIN = 1 +MM_MARIAN_ARC44WAVEOUT = 2 +MM_MARIAN_PRODIF24WAVEIN = 3 +MM_MARIAN_PRODIF24WAVEOUT = 4 +MM_MARIAN_ARC88WAVEIN = 5 +MM_MARIAN_ARC88WAVEOUT = 6 +# MM_BCB product IDs +MM_BCB_NETBOARD_10 = 1 +MM_BCB_TT75_10 = 2 +# MM_MOTIONPIXELS product IDs +MM_MOTIONPIXELS_MVI2 = 1 +# MM_QDESIGN product IDs +MM_QDESIGN_ACM_MPEG = 1 +MM_QDESIGN_ACM_QDESIGN_MUSIC = 2 +# MM_NMP product IDs +MM_NMP_CCP_WAVEIN = 1 +MM_NMP_CCP_WAVEOUT = 2 +MM_NMP_ACM_AMR = 10 +# MM_DATAFUSION product IDs +MM_DF_ACM_G726 = 1 +MM_DF_ACM_GSM610 = 2 +# MM_BERCOS product IDs +MM_BERCOS_WAVEIN = 1 +MM_BERCOS_MIXER = 2 +MM_BERCOS_WAVEOUT = 3 +# MM_ONLIVE product IDs +MM_ONLIVE_MPCODEC = 1 +# MM_PHONET product IDs +MM_PHONET_PP_WAVEOUT = 1 +MM_PHONET_PP_WAVEIN = 2 +MM_PHONET_PP_MIXER = 3 +# MM_FTR product IDs +MM_FTR_ENCODER_WAVEIN = 1 +MM_FTR_ACM = 2 +# MM_ENET product IDs +MM_ENET_T2000_LINEIN = 1 +MM_ENET_T2000_LINEOUT = 2 +MM_ENET_T2000_HANDSETIN = 3 +MM_ENET_T2000_HANDSETOUT = 4 +# MM_EMAGIC product IDs +MM_EMAGIC_UNITOR8 = 1 +# MM_SIPROLAB product IDs +MM_SIPROLAB_ACELPNET = 1 +# MM_DICTAPHONE product IDs +MM_DICTAPHONE_G726 = 1 # G726 ACM codec (g726pcm.acm) +# MM_RZS product IDs +MM_RZS_ACM_TUBGSM = 1 # GSM 06.10 CODEC +# MM_EES product IDs +MM_EES_PCMIDI14 = 1 +MM_EES_PCMIDI14_IN = 2 +MM_EES_PCMIDI14_OUT1 = 3 +MM_EES_PCMIDI14_OUT2 = 4 +MM_EES_PCMIDI14_OUT3 = 5 +MM_EES_PCMIDI14_OUT4 = 6 +# MM_HAFTMANN product IDs +MM_HAFTMANN_LPTDAC2 = 1 +# MM_LUCID product IDs +MM_LUCID_PCI24WAVEIN = 1 +MM_LUCID_PCI24WAVEOUT = 2 +# MM_HEADSPACE product IDs +MM_HEADSPACE_HAESYNTH = 1 +MM_HEADSPACE_HAEWAVEOUT = 2 +MM_HEADSPACE_HAEWAVEIN = 3 +MM_HEADSPACE_HAEMIXER = 4 +# MM_UNISYS product IDs +MM_UNISYS_ACM_NAP = 1 +# MM_LUMINOSITI product IDs +MM_LUMINOSITI_SCWAVEIN = 1 +MM_LUMINOSITI_SCWAVEOUT = 2 +MM_LUMINOSITI_SCWAVEMIX = 3 +# MM_ACTIVEVOICE product IDs +MM_ACTIVEVOICE_ACM_VOXADPCM = 1 +# MM_DTS product IDs +MM_DTS_DS = 1 +# MM_SOFTLAB_NSK product IDs +MM_SOFTLAB_NSK_FRW_WAVEIN = 1 +MM_SOFTLAB_NSK_FRW_WAVEOUT = 2 +MM_SOFTLAB_NSK_FRW_MIXER = 3 +MM_SOFTLAB_NSK_FRW_AUX = 4 +# MM_FORTEMEDIA product IDs +MM_FORTEMEDIA_WAVEIN = 1 +MM_FORTEMEDIA_WAVEOUT = 2 +MM_FORTEMEDIA_FMSYNC = 3 +MM_FORTEMEDIA_MIXER = 4 +MM_FORTEMEDIA_AUX = 5 +# MM_SONORUS product IDs +MM_SONORUS_STUDIO = 1 +# MM_I_LINK product IDs +MM_I_LINK_VOICE_CODER = 1 +# MM_SELSIUS_SYSTEMS product IDs +MM_SELSIUS_SYSTEMS_RTPWAVEOUT = 1 +MM_SELSIUS_SYSTEMS_RTPWAVEIN = 2 +# MM_ADMOS product IDs +MM_ADMOS_FM_SYNTH = 1 +MM_ADMOS_QS3AMIDIOUT = 2 +MM_ADMOS_QS3AMIDIIN = 3 +MM_ADMOS_QS3AWAVEOUT = 4 +MM_ADMOS_QS3AWAVEIN = 5 +# MM_LEXICON product IDs +MM_LEXICON_STUDIO_WAVE_OUT = 1 +MM_LEXICON_STUDIO_WAVE_IN = 2 +# MM_SGI product IDs +MM_SGI_320_WAVEIN = 1 +MM_SGI_320_WAVEOUT = 2 +MM_SGI_320_MIXER = 3 +MM_SGI_540_WAVEIN = 4 +MM_SGI_540_WAVEOUT = 5 +MM_SGI_540_MIXER = 6 +MM_SGI_RAD_ADATMONO1_WAVEIN = 7 +MM_SGI_RAD_ADATMONO2_WAVEIN = 8 +MM_SGI_RAD_ADATMONO3_WAVEIN = 9 +MM_SGI_RAD_ADATMONO4_WAVEIN = 10 +MM_SGI_RAD_ADATMONO5_WAVEIN = 11 +MM_SGI_RAD_ADATMONO6_WAVEIN = 12 +MM_SGI_RAD_ADATMONO7_WAVEIN = 13 +MM_SGI_RAD_ADATMONO8_WAVEIN = 14 +MM_SGI_RAD_ADATSTEREO12_WAVEIN = 15 +MM_SGI_RAD_ADATSTEREO34_WAVEIN = 16 +MM_SGI_RAD_ADATSTEREO56_WAVEIN = 17 +MM_SGI_RAD_ADATSTEREO78_WAVEIN = 18 +MM_SGI_RAD_ADAT8CHAN_WAVEIN = 19 +MM_SGI_RAD_ADATMONO1_WAVEOUT = 20 +MM_SGI_RAD_ADATMONO2_WAVEOUT = 21 +MM_SGI_RAD_ADATMONO3_WAVEOUT = 22 +MM_SGI_RAD_ADATMONO4_WAVEOUT = 23 +MM_SGI_RAD_ADATMONO5_WAVEOUT = 24 +MM_SGI_RAD_ADATMONO6_WAVEOUT = 25 +MM_SGI_RAD_ADATMONO7_WAVEOUT = 26 +MM_SGI_RAD_ADATMONO8_WAVEOUT = 27 +MM_SGI_RAD_ADATSTEREO12_WAVEOUT = 28 +MM_SGI_RAD_ADATSTEREO32_WAVEOUT = 29 +MM_SGI_RAD_ADATSTEREO56_WAVEOUT = 30 +MM_SGI_RAD_ADATSTEREO78_WAVEOUT = 31 +MM_SGI_RAD_ADAT8CHAN_WAVEOUT = 32 +MM_SGI_RAD_AESMONO1_WAVEIN = 33 +MM_SGI_RAD_AESMONO2_WAVEIN = 34 +MM_SGI_RAD_AESSTEREO_WAVEIN = 35 +MM_SGI_RAD_AESMONO1_WAVEOUT = 36 +MM_SGI_RAD_AESMONO2_WAVEOUT = 37 +MM_SGI_RAD_AESSTEREO_WAVEOUT = 38 +# MM_IPI product IDs +MM_IPI_ACM_HSX = 1 +MM_IPI_ACM_RPELP = 2 +MM_IPI_WF_ASSS = 3 +MM_IPI_AT_WAVEOUT = 4 +MM_IPI_AT_WAVEIN = 5 +MM_IPI_AT_MIXER = 6 +# MM_ICE product IDs +MM_ICE_WAVEOUT = 1 +MM_ICE_WAVEIN = 2 +MM_ICE_MTWAVEOUT = 3 +MM_ICE_MTWAVEIN = 4 +MM_ICE_MIDIOUT1 = 5 +MM_ICE_MIDIIN1 = 6 +MM_ICE_MIDIOUT2 = 7 +MM_ICE_MIDIIN2 = 8 +MM_ICE_SYNTH = 9 +MM_ICE_MIXER = 10 +MM_ICE_AUX = 11 +# MM_VQST product IDs +MM_VQST_VQC1 = 1 +MM_VQST_VQC2 = 2 +# MM_ETEK product IDs +MM_ETEK_KWIKMIDI_MIDIIN = 1 +MM_ETEK_KWIKMIDI_MIDIOUT = 2 +# MM_INTERNET product IDs +MM_INTERNET_SSW_MIDIOUT = 10 +MM_INTERNET_SSW_MIDIIN = 11 +MM_INTERNET_SSW_WAVEOUT = 12 +MM_INTERNET_SSW_WAVEIN = 13 +# MM_SONY product IDs +MM_SONY_ACM_SCX = 1 +# MM_UHER_INFORMATIC product IDs +MM_UH_ACM_ADPCM = 1 +# MM_SYDEC_NV product IDs +MM_SYDEC_NV_WAVEIN = 1 +MM_SYDEC_NV_WAVEOUT = 2 +# MM_FLEXION product IDs +MM_FLEXION_X300_WAVEIN = 1 +MM_FLEXION_X300_WAVEOUT = 2 +# MM_VIA product IDs +MM_VIA_WAVEOUT = 1 +MM_VIA_WAVEIN = 2 +MM_VIA_MIXER = 3 +MM_VIA_AUX = 4 +MM_VIA_MPU401_MIDIOUT = 5 +MM_VIA_MPU401_MIDIIN = 6 +MM_VIA_SWFM_SYNTH = 7 +MM_VIA_WDM_WAVEOUT = 8 +MM_VIA_WDM_WAVEIN = 9 +MM_VIA_WDM_MIXER = 10 +MM_VIA_WDM_MPU401_MIDIOUT = 11 +MM_VIA_WDM_MPU401_MIDIIN = 12 +# MM_MICRONAS product IDs +MM_MICRONAS_SC4 = 1 +MM_MICRONAS_CLP833 = 2 +# MM_HP product IDs +MM_HP_WAVEOUT = 1 +MM_HP_WAVEIN = 2 +# MM_QUICKAUDIO product IDs +MM_QUICKAUDIO_MINIMIDI = 1 +MM_QUICKAUDIO_MAXIMIDI = 2 +# MM_ICCC product IDs +MM_ICCC_UNA3_WAVEIN = 1 +MM_ICCC_UNA3_WAVEOUT = 2 +MM_ICCC_UNA3_AUX = 3 +MM_ICCC_UNA3_MIXER = 4 +# MM_3COM product IDs +MM_3COM_CB_MIXER = 1 +MM_3COM_CB_WAVEIN = 2 +MM_3COM_CB_WAVEOUT = 3 +# MM_MINDMAKER product IDs +MM_MINDMAKER_GC_WAVEIN = 1 +MM_MINDMAKER_GC_WAVEOUT = 2 +MM_MINDMAKER_GC_MIXER = 3 +# MM_TELEKOL product IDs +MM_TELEKOL_WAVEOUT = 1 +MM_TELEKOL_WAVEIN = 2 +# MM_ALGOVISION product IDs +MM_ALGOVISION_VB80WAVEOUT = 1 +MM_ALGOVISION_VB80WAVEIN = 2 +MM_ALGOVISION_VB80MIXER = 3 +MM_ALGOVISION_VB80AUX = 4 +MM_ALGOVISION_VB80AUX2 = 5 +# INFO LIST CHUNKS (from the Multimedia Programmer's Reference plus new ones) +RIFFINFO_IARL = mmioFOURCC('I', 'A', 'R', 'L') # Archival location +RIFFINFO_IART = mmioFOURCC('I', 'A', 'R', 'T') # Artist +RIFFINFO_ICMS = mmioFOURCC('I', 'C', 'M', 'S') # Commissioned +RIFFINFO_ICMT = mmioFOURCC('I', 'C', 'M', 'T') # Comments +RIFFINFO_ICOP = mmioFOURCC('I', 'C', 'O', 'P') # Copyright +RIFFINFO_ICRD = mmioFOURCC('I', 'C', 'R', 'D') # Creation date of subject +RIFFINFO_ICRP = mmioFOURCC('I', 'C', 'R', 'P') # Cropped +RIFFINFO_IDIM = mmioFOURCC('I', 'D', 'I', 'M') # Dimensions +RIFFINFO_IDPI = mmioFOURCC('I', 'D', 'P', 'I') # Dots per inch +RIFFINFO_IENG = mmioFOURCC('I', 'E', 'N', 'G') # Engineer +RIFFINFO_IGNR = mmioFOURCC('I', 'G', 'N', 'R') # Genre +RIFFINFO_IKEY = mmioFOURCC('I', 'K', 'E', 'Y') # Keywords +RIFFINFO_ILGT = mmioFOURCC('I', 'L', 'G', 'T') # Lightness settings +RIFFINFO_IMED = mmioFOURCC('I', 'M', 'E', 'D') # Medium +RIFFINFO_INAM = mmioFOURCC('I', 'N', 'A', 'M') # Name of subject +# Palette Settings. No. of colors requested. +RIFFINFO_IPLT = mmioFOURCC('I', 'P', 'L', 'T') +RIFFINFO_IPRD = mmioFOURCC('I', 'P', 'R', 'D') # Product +RIFFINFO_ISBJ = mmioFOURCC('I', 'S', 'B', 'J') # Subject description +# Software. Name of package used to create file. +RIFFINFO_ISFT = mmioFOURCC('I', 'S', 'F', 'T') +RIFFINFO_ISHP = mmioFOURCC('I', 'S', 'H', 'P') # Sharpness. +RIFFINFO_ISRC = mmioFOURCC('I', 'S', 'R', 'C') # Source. +RIFFINFO_ISRF = mmioFOURCC('I', 'S', 'R', 'F') # Source Form. ie slide, paper +# Technician who digitized the subject. +RIFFINFO_ITCH = mmioFOURCC('I', 'T', 'C', 'H') +# New INFO Chunks as of August 30, 1993: +RIFFINFO_ISMP = mmioFOURCC('I', 'S', 'M', 'P') # SMPTE time code +# ISMP: SMPTE time code of digitization start point expressed as a NULL +# terminated text string "HH:MM:SS:FF". If performing MCI capture in AVICAP, +# this chunk will be automatically set based on the MCI start time. +RIFFINFO_IDIT = mmioFOURCC('I', 'D', 'I', 'T') # Digitization Time +# IDIT: "Digitization Time" Specifies the time and date that the digitization +# commenced. The digitization time is contained in an ASCII string which +# contains exactly 26 characters and is in the format "Wed Jan 02 02:03:55 +# 1990". The ctime(), asctime(), functions can be used to create strings in +# this format. This chunk is automatically added to the capture file based on +# the current system time at the moment capture is initiated. + +# ASCIIZ representation of the 1-based track number of the content. +RIFFINFO_ITRK = mmioFOURCC('I', 'T', 'R', 'K') +# A dump of the table of contents from the CD the content originated from. +RIFFINFO_ITOC = mmioFOURCC('I', 'T', 'O', 'C') +# WAVE form wFormatTag IDs +WAVE_FORMAT_UNKNOWN = 0x0000 # Microsoft Corporation +WAVE_FORMAT_ADPCM = 0x0002 # Microsoft Corporation +WAVE_FORMAT_IEEE_FLOAT = 0x0003 # Microsoft Corporation +WAVE_FORMAT_VSELP = 0x0004 # Compaq Computer Corp. +WAVE_FORMAT_IBM_CVSD = 0x0005 # IBM Corporation +WAVE_FORMAT_ALAW = 0x0006 # Microsoft Corporation +WAVE_FORMAT_MULAW = 0x0007 # Microsoft Corporation +WAVE_FORMAT_DTS = 0x0008 # Microsoft Corporation +WAVE_FORMAT_DRM = 0x0009 # Microsoft Corporation +WAVE_FORMAT_WMAVOICE9 = 0x000A # Microsoft Corporation +WAVE_FORMAT_WMAVOICE10 = 0x000B # Microsoft Corporation +WAVE_FORMAT_OKI_ADPCM = 0x0010 # OKI +WAVE_FORMAT_DVI_ADPCM = 0x0011 # Intel Corporation +WAVE_FORMAT_IMA_ADPCM = WAVE_FORMAT_DVI_ADPCM # Intel Corporation +WAVE_FORMAT_MEDIASPACE_ADPCM = 0x0012 # Videologic +WAVE_FORMAT_SIERRA_ADPCM = 0x0013 # Sierra Semiconductor Corp +WAVE_FORMAT_G723_ADPCM = 0x0014 # Antex Electronics Corporation +WAVE_FORMAT_DIGISTD = 0x0015 # DSP Solutions, Inc. +WAVE_FORMAT_DIGIFIX = 0x0016 # DSP Solutions, Inc. +WAVE_FORMAT_DIALOGIC_OKI_ADPCM = 0x0017 # Dialogic Corporation +WAVE_FORMAT_MEDIAVISION_ADPCM = 0x0018 # Media Vision, Inc. +WAVE_FORMAT_CU_CODEC = 0x0019 # Hewlett-Packard Company +WAVE_FORMAT_HP_DYN_VOICE = 0x001A # Hewlett-Packard Company +WAVE_FORMAT_YAMAHA_ADPCM = 0x0020 # Yamaha Corporation of America +WAVE_FORMAT_SONARC = 0x0021 # Speech Compression +WAVE_FORMAT_DSPGROUP_TRUESPEECH = 0x0022 # DSP Group, Inc +WAVE_FORMAT_ECHOSC1 = 0x0023 # Echo Speech Corporation +WAVE_FORMAT_AUDIOFILE_AF36 = 0x0024 # Virtual Music, Inc. +WAVE_FORMAT_APTX = 0x0025 # Audio Processing Technology +WAVE_FORMAT_AUDIOFILE_AF10 = 0x0026 # Virtual Music, Inc. +WAVE_FORMAT_PROSODY_1612 = 0x0027 # Aculab plc +WAVE_FORMAT_LRC = 0x0028 # Merging Technologies S.A. +WAVE_FORMAT_DOLBY_AC2 = 0x0030 # Dolby Laboratories +WAVE_FORMAT_GSM610 = 0x0031 # Microsoft Corporation +WAVE_FORMAT_MSNAUDIO = 0x0032 # Microsoft Corporation +WAVE_FORMAT_ANTEX_ADPCME = 0x0033 # Antex Electronics Corporation +WAVE_FORMAT_CONTROL_RES_VQLPC = 0x0034 # Control Resources Limited +WAVE_FORMAT_DIGIREAL = 0x0035 # DSP Solutions, Inc. +WAVE_FORMAT_DIGIADPCM = 0x0036 # DSP Solutions, Inc. +WAVE_FORMAT_CONTROL_RES_CR10 = 0x0037 # Control Resources Limited +WAVE_FORMAT_NMS_VBXADPCM = 0x0038 # Natural MicroSystems +WAVE_FORMAT_CS_IMAADPCM = 0x0039 # Crystal Semiconductor IMA ADPCM +WAVE_FORMAT_ECHOSC3 = 0x003A # Echo Speech Corporation +WAVE_FORMAT_ROCKWELL_ADPCM = 0x003B # Rockwell International +WAVE_FORMAT_ROCKWELL_DIGITALK = 0x003C # Rockwell International +WAVE_FORMAT_XEBEC = 0x003D # Xebec Multimedia Solutions Limited +WAVE_FORMAT_G721_ADPCM = 0x0040 # Antex Electronics Corporation +WAVE_FORMAT_G728_CELP = 0x0041 # Antex Electronics Corporation +WAVE_FORMAT_MSG723 = 0x0042 # Microsoft Corporation +WAVE_FORMAT_INTEL_G723_1 = 0x0043 # Intel Corp. +WAVE_FORMAT_INTEL_G729 = 0x0044 # Intel Corp. +WAVE_FORMAT_SHARP_G726 = 0x0045 # Sharp +WAVE_FORMAT_MPEG = 0x0050 # Microsoft Corporation +WAVE_FORMAT_RT24 = 0x0052 # InSoft, Inc. +WAVE_FORMAT_PAC = 0x0053 # InSoft, Inc. +WAVE_FORMAT_MPEGLAYER3 = 0x0055 # ISO/MPEG Layer3 Format Tag +WAVE_FORMAT_LUCENT_G723 = 0x0059 # Lucent Technologies +WAVE_FORMAT_CIRRUS = 0x0060 # Cirrus Logic +WAVE_FORMAT_ESPCM = 0x0061 # ESS Technology +WAVE_FORMAT_VOXWARE = 0x0062 # Voxware Inc +WAVE_FORMAT_CANOPUS_ATRAC = 0x0063 # Canopus, co., Ltd. +WAVE_FORMAT_G726_ADPCM = 0x0064 # APICOM +WAVE_FORMAT_G722_ADPCM = 0x0065 # APICOM +WAVE_FORMAT_DSAT = 0x0066 # Microsoft Corporation +WAVE_FORMAT_DSAT_DISPLAY = 0x0067 # Microsoft Corporation +WAVE_FORMAT_VOXWARE_BYTE_ALIGNED = 0x0069 # Voxware Inc +WAVE_FORMAT_VOXWARE_AC8 = 0x0070 # Voxware Inc +WAVE_FORMAT_VOXWARE_AC10 = 0x0071 # Voxware Inc +WAVE_FORMAT_VOXWARE_AC16 = 0x0072 # Voxware Inc +WAVE_FORMAT_VOXWARE_AC20 = 0x0073 # Voxware Inc +WAVE_FORMAT_VOXWARE_RT24 = 0x0074 # Voxware Inc +WAVE_FORMAT_VOXWARE_RT29 = 0x0075 # Voxware Inc +WAVE_FORMAT_VOXWARE_RT29HW = 0x0076 # Voxware Inc +WAVE_FORMAT_VOXWARE_VR12 = 0x0077 # Voxware Inc +WAVE_FORMAT_VOXWARE_VR18 = 0x0078 # Voxware Inc +WAVE_FORMAT_VOXWARE_TQ40 = 0x0079 # Voxware Inc +WAVE_FORMAT_VOXWARE_SC3 = 0x007A # Voxware Inc +WAVE_FORMAT_VOXWARE_SC3_1 = 0x007B # Voxware Inc +WAVE_FORMAT_SOFTSOUND = 0x0080 # Softsound, Ltd. +WAVE_FORMAT_VOXWARE_TQ60 = 0x0081 # Voxware Inc +WAVE_FORMAT_MSRT24 = 0x0082 # Microsoft Corporation +WAVE_FORMAT_G729A = 0x0083 # AT&T Labs, Inc. +WAVE_FORMAT_MVI_MVI2 = 0x0084 # Motion Pixels +WAVE_FORMAT_DF_G726 = 0x0085 # DataFusion Systems (Pty) (Ltd) +WAVE_FORMAT_DF_GSM610 = 0x0086 # DataFusion Systems (Pty) (Ltd) +WAVE_FORMAT_ISIAUDIO = 0x0088 # Iterated Systems, Inc. +WAVE_FORMAT_ONLIVE = 0x0089 # OnLive! Technologies, Inc. +WAVE_FORMAT_MULTITUDE_FT_SX20 = 0x008A # Multitude Inc. +WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM = 0x008B # Infocom +WAVE_FORMAT_CONVEDIA_G729 = 0x008C # Convedia Corp. +WAVE_FORMAT_CONGRUENCY = 0x008D # Congruency Inc. +WAVE_FORMAT_SBC24 = 0x0091 # Siemens Business Communications Sys +WAVE_FORMAT_DOLBY_AC3_SPDIF = 0x0092 # Sonic Foundry +WAVE_FORMAT_MEDIASONIC_G723 = 0x0093 # MediaSonic +WAVE_FORMAT_PROSODY_8KBPS = 0x0094 # Aculab plc +WAVE_FORMAT_ZYXEL_ADPCM = 0x0097 # ZyXEL Communications, Inc. +WAVE_FORMAT_PHILIPS_LPCBB = 0x0098 # Philips Speech Processing +WAVE_FORMAT_PACKED = 0x0099 # Studer Professional Audio AG +WAVE_FORMAT_MALDEN_PHONYTALK = 0x00A0 # Malden Electronics Ltd. +WAVE_FORMAT_RACAL_RECORDER_GSM = 0x00A1 # Racal recorders +WAVE_FORMAT_RACAL_RECORDER_G720_A = 0x00A2 # Racal recorders +WAVE_FORMAT_RACAL_RECORDER_G723_1 = 0x00A3 # Racal recorders +WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP = 0x00A4 # Racal recorders +WAVE_FORMAT_NEC_AAC = 0x00B0 # NEC Corp. +# For Raw AAC, with format block AudioSpecificConfig() (as defined by MPEG-4), +# that follows WAVEFORMATEX +WAVE_FORMAT_RAW_AAC1 = 0x00FF +WAVE_FORMAT_RHETOREX_ADPCM = 0x0100 # Rhetorex Inc. +WAVE_FORMAT_IRAT = 0x0101 # BeCubed Software Inc. +WAVE_FORMAT_VIVO_G723 = 0x0111 # Vivo Software +WAVE_FORMAT_VIVO_SIREN = 0x0112 # Vivo Software +WAVE_FORMAT_PHILIPS_CELP = 0x0120 # Philips Speech Processing +WAVE_FORMAT_PHILIPS_GRUNDIG = 0x0121 # Philips Speech Processing +WAVE_FORMAT_DIGITAL_G723 = 0x0123 # Digital Equipment Corporation +WAVE_FORMAT_SANYO_LD_ADPCM = 0x0125 # Sanyo Electric Co., Ltd. +WAVE_FORMAT_SIPROLAB_ACEPLNET = 0x0130 # Sipro Lab Telecom Inc. +WAVE_FORMAT_SIPROLAB_ACELP4800 = 0x0131 # Sipro Lab Telecom Inc. +WAVE_FORMAT_SIPROLAB_ACELP8V3 = 0x0132 # Sipro Lab Telecom Inc. +WAVE_FORMAT_SIPROLAB_G729 = 0x0133 # Sipro Lab Telecom Inc. +WAVE_FORMAT_SIPROLAB_G729A = 0x0134 # Sipro Lab Telecom Inc. +WAVE_FORMAT_SIPROLAB_KELVIN = 0x0135 # Sipro Lab Telecom Inc. +WAVE_FORMAT_VOICEAGE_AMR = 0x0136 # VoiceAge Corp. +WAVE_FORMAT_G726ADPCM = 0x0140 # Dictaphone Corporation +WAVE_FORMAT_DICTAPHONE_CELP68 = 0x0141 # Dictaphone Corporation +WAVE_FORMAT_DICTAPHONE_CELP54 = 0x0142 # Dictaphone Corporation +WAVE_FORMAT_QUALCOMM_PUREVOICE = 0x0150 # Qualcomm, Inc. +WAVE_FORMAT_QUALCOMM_HALFRATE = 0x0151 # Qualcomm, Inc. +WAVE_FORMAT_TUBGSM = 0x0155 # Ring Zero Systems, Inc. +WAVE_FORMAT_MSAUDIO1 = 0x0160 # Microsoft Corporation +WAVE_FORMAT_WMAUDIO2 = 0x0161 # Microsoft Corporation +WAVE_FORMAT_WMAUDIO3 = 0x0162 # Microsoft Corporation +WAVE_FORMAT_WMAUDIO_LOSSLESS = 0x0163 # Microsoft Corporation +WAVE_FORMAT_WMASPDIF = 0x0164 # Microsoft Corporation +WAVE_FORMAT_UNISYS_NAP_ADPCM = 0x0170 # Unisys Corp. +WAVE_FORMAT_UNISYS_NAP_ULAW = 0x0171 # Unisys Corp. +WAVE_FORMAT_UNISYS_NAP_ALAW = 0x0172 # Unisys Corp. +WAVE_FORMAT_UNISYS_NAP_16K = 0x0173 # Unisys Corp. +WAVE_FORMAT_SYCOM_ACM_SYC008 = 0x0174 # SyCom Technologies +WAVE_FORMAT_SYCOM_ACM_SYC701_G726L = 0x0175 # SyCom Technologies +WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 = 0x0176 # SyCom Technologies +WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 = 0x0177 # SyCom Technologies +WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM = 0x0178 # Knowledge Adventure, Inc. +WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC = 0x0180 # Fraunhofer IIS +WAVE_FORMAT_DTS_DS = 0x0190 # Digital Theatre Systems, Inc. +WAVE_FORMAT_CREATIVE_ADPCM = 0x0200 # Creative Labs, Inc +WAVE_FORMAT_CREATIVE_FASTSPEECH8 = 0x0202 # Creative Labs, Inc +WAVE_FORMAT_CREATIVE_FASTSPEECH10 = 0x0203 # Creative Labs, Inc +WAVE_FORMAT_UHER_ADPCM = 0x0210 # UHER informatic GmbH +WAVE_FORMAT_ULEAD_DV_AUDIO = 0x0215 # Ulead Systems, Inc. +WAVE_FORMAT_ULEAD_DV_AUDIO_1 = 0x0216 # Ulead Systems, Inc. +WAVE_FORMAT_QUARTERDECK = 0x0220 # Quarterdeck Corporation +WAVE_FORMAT_ILINK_VC = 0x0230 # I-link Worldwide +WAVE_FORMAT_RAW_SPORT = 0x0240 # Aureal Semiconductor +WAVE_FORMAT_ESST_AC3 = 0x0241 # ESS Technology, Inc. +WAVE_FORMAT_GENERIC_PASSTHRU = 0x0249 +WAVE_FORMAT_IPI_HSX = 0x0250 # Interactive Products, Inc. +WAVE_FORMAT_IPI_RPELP = 0x0251 # Interactive Products, Inc. +WAVE_FORMAT_CS2 = 0x0260 # Consistent Software +WAVE_FORMAT_SONY_SCX = 0x0270 # Sony Corp. +WAVE_FORMAT_SONY_SCY = 0x0271 # Sony Corp. +WAVE_FORMAT_SONY_ATRAC3 = 0x0272 # Sony Corp. +WAVE_FORMAT_SONY_SPC = 0x0273 # Sony Corp. +WAVE_FORMAT_TELUM_AUDIO = 0x0280 # Telum Inc. +WAVE_FORMAT_TELUM_IA_AUDIO = 0x0281 # Telum Inc. +WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM = 0x0285 # Norcom Electronics Corp. +WAVE_FORMAT_FM_TOWNS_SND = 0x0300 # Fujitsu Corp. +WAVE_FORMAT_MICRONAS = 0x0350 # Micronas Semiconductors, Inc. +WAVE_FORMAT_MICRONAS_CELP833 = 0x0351 # Micronas Semiconductors, Inc. +WAVE_FORMAT_BTV_DIGITAL = 0x0400 # Brooktree Corporation +WAVE_FORMAT_INTEL_MUSIC_CODER = 0x0401 # Intel Corp. +WAVE_FORMAT_INDEO_AUDIO = 0x0402 # Ligos +WAVE_FORMAT_QDESIGN_MUSIC = 0x0450 # QDesign Corporation +WAVE_FORMAT_ON2_VP7_AUDIO = 0x0500 # On2 Technologies +WAVE_FORMAT_ON2_VP6_AUDIO = 0x0501 # On2 Technologies +WAVE_FORMAT_VME_VMPCM = 0x0680 # AT&T Labs, Inc. +WAVE_FORMAT_TPC = 0x0681 # AT&T Labs, Inc. +WAVE_FORMAT_LIGHTWAVE_LOSSLESS = 0x08AE # Clearjump +WAVE_FORMAT_OLIGSM = 0x1000 # Ing C. Olivetti & C., S.p.A. +WAVE_FORMAT_OLIADPCM = 0x1001 # Ing C. Olivetti & C., S.p.A. +WAVE_FORMAT_OLICELP = 0x1002 # Ing C. Olivetti & C., S.p.A. +WAVE_FORMAT_OLISBC = 0x1003 # Ing C. Olivetti & C., S.p.A. +WAVE_FORMAT_OLIOPR = 0x1004 # Ing C. Olivetti & C., S.p.A. +WAVE_FORMAT_LH_CODEC = 0x1100 # Lernout & Hauspie +WAVE_FORMAT_LH_CODEC_CELP = 0x1101 # Lernout & Hauspie +WAVE_FORMAT_LH_CODEC_SBC8 = 0x1102 # Lernout & Hauspie +WAVE_FORMAT_LH_CODEC_SBC12 = 0x1103 # Lernout & Hauspie +WAVE_FORMAT_LH_CODEC_SBC16 = 0x1104 # Lernout & Hauspie +WAVE_FORMAT_NORRIS = 0x1400 # Norris Communications, Inc. +WAVE_FORMAT_ISIAUDIO_2 = 0x1401 # ISIAudio +WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS = 0x1500 # AT&T Labs, Inc. +WAVE_FORMAT_MPEG_ADTS_AAC = 0x1600 # Microsoft Corporation +WAVE_FORMAT_MPEG_RAW_AAC = 0x1601 # Microsoft Corporation +# Microsoft Corporation (MPEG-4 Audio Transport Streams (LOAS/LATM) +WAVE_FORMAT_MPEG_LOAS = 0x1602 +WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC = 0x1608 # Microsoft Corporation +WAVE_FORMAT_NOKIA_MPEG_RAW_AAC = 0x1609 # Microsoft Corporation +WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC = 0x160A # Microsoft Corporation +WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC = 0x160B # Microsoft Corporation +# Microsoft Corporation (MPEG-2 AAC or MPEG-4 HE-AAC v1/v2 streams with any +# payload (ADTS, ADIF, LOAS/LATM, RAW). Format block includes MP4 +# AudioSpecificConfig() -- see HEAACWAVEFORMAT below +WAVE_FORMAT_MPEG_HEAAC = 0x1610 +WAVE_FORMAT_VOXWARE_RT24_SPEECH = 0x181C # Voxware Inc. +WAVE_FORMAT_SONICFOUNDRY_LOSSLESS = 0x1971 # Sonic Foundry +WAVE_FORMAT_INNINGS_TELECOM_ADPCM = 0x1979 # Innings Telecom Inc. +WAVE_FORMAT_LUCENT_SX8300P = 0x1C07 # Lucent Technologies +WAVE_FORMAT_LUCENT_SX5363S = 0x1C0C # Lucent Technologies +WAVE_FORMAT_CUSEEME = 0x1F03 # CUSeeMe +WAVE_FORMAT_NTCSOFT_ALF2CM_ACM = 0x1FC4 # NTCSoft +WAVE_FORMAT_DVM = 0x2000 # FAST Multimedia AG +WAVE_FORMAT_DTS2 = 0x2001 +WAVE_FORMAT_MAKEAVIS = 0x3313 +WAVE_FORMAT_DIVIO_MPEG4_AAC = 0x4143 # Divio, Inc. +WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE = 0x4201 # Nokia +WAVE_FORMAT_DIVIO_G726 = 0x4243 # Divio, Inc. +WAVE_FORMAT_LEAD_SPEECH = 0x434C # LEAD Technologies +WAVE_FORMAT_LEAD_VORBIS = 0x564C # LEAD Technologies +WAVE_FORMAT_WAVPACK_AUDIO = 0x5756 # xiph.org +WAVE_FORMAT_ALAC = 0x6C61 # Apple Lossless +WAVE_FORMAT_OGG_VORBIS_MODE_1 = 0x674F # Ogg Vorbis +WAVE_FORMAT_OGG_VORBIS_MODE_2 = 0x6750 # Ogg Vorbis +WAVE_FORMAT_OGG_VORBIS_MODE_3 = 0x6751 # Ogg Vorbis +WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS = 0x676F # Ogg Vorbis +WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS = 0x6770 # Ogg Vorbis +WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS = 0x6771 # Ogg Vorbis +WAVE_FORMAT_3COM_NBX = 0x7000 # 3COM Corp. +WAVE_FORMAT_OPUS = 0x704F # Opus +WAVE_FORMAT_FAAD_AAC = 0x706D +WAVE_FORMAT_AMR_NB = 0x7361 # AMR Narrowband +WAVE_FORMAT_AMR_WB = 0x7362 # AMR Wideband +WAVE_FORMAT_AMR_WP = 0x7363 # AMR Wideband Plus +WAVE_FORMAT_GSM_AMR_CBR = 0x7A21 # GSMA/3GPP +WAVE_FORMAT_GSM_AMR_VBR_SID = 0x7A22 # GSMA/3GPP +WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 = 0xA100 # Comverse Infosys +WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC = 0xA101 # Comverse Infosys +WAVE_FORMAT_COMVERSE_INFOSYS_SBC = 0xA102 # Comverse Infosys +WAVE_FORMAT_SYMBOL_G729_A = 0xA103 # Symbol Technologies +WAVE_FORMAT_VOICEAGE_AMR_WB = 0xA104 # VoiceAge Corp. +WAVE_FORMAT_INGENIENT_G726 = 0xA105 # Ingenient Technologies, Inc. +WAVE_FORMAT_MPEG4_AAC = 0xA106 # ISO/MPEG-4 +WAVE_FORMAT_ENCORE_G726 = 0xA107 # Encore Software +WAVE_FORMAT_ZOLL_ASAO = 0xA108 # ZOLL Medical Corp. +WAVE_FORMAT_SPEEX_VOICE = 0xA109 # xiph.org +WAVE_FORMAT_VIANIX_MASC = 0xA10A # Vianix LLC +WAVE_FORMAT_WM9_SPECTRUM_ANALYZER = 0xA10B # Microsoft +WAVE_FORMAT_WMF_SPECTRUM_ANAYZER = 0xA10C # Microsoft +WAVE_FORMAT_GSM_610 = 0xA10D +WAVE_FORMAT_GSM_620 = 0xA10E +WAVE_FORMAT_GSM_660 = 0xA10F +WAVE_FORMAT_GSM_690 = 0xA110 +WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB = 0xA111 +WAVE_FORMAT_POLYCOM_G722 = 0xA112 # Polycom +WAVE_FORMAT_POLYCOM_G728 = 0xA113 # Polycom +WAVE_FORMAT_POLYCOM_G729_A = 0xA114 # Polycom +WAVE_FORMAT_POLYCOM_SIREN = 0xA115 # Polycom +WAVE_FORMAT_GLOBAL_IP_ILBC = 0xA116 # Global IP +WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO = 0xA117 # RadioTime +WAVE_FORMAT_NICE_ACA = 0xA118 # Nice Systems +WAVE_FORMAT_NICE_ADPCM = 0xA119 # Nice Systems +WAVE_FORMAT_VOCORD_G721 = 0xA11A # Vocord Telecom +WAVE_FORMAT_VOCORD_G726 = 0xA11B # Vocord Telecom +WAVE_FORMAT_VOCORD_G722_1 = 0xA11C # Vocord Telecom +WAVE_FORMAT_VOCORD_G728 = 0xA11D # Vocord Telecom +WAVE_FORMAT_VOCORD_G729 = 0xA11E # Vocord Telecom +WAVE_FORMAT_VOCORD_G729_A = 0xA11F # Vocord Telecom +WAVE_FORMAT_VOCORD_G723_1 = 0xA120 # Vocord Telecom +WAVE_FORMAT_VOCORD_LBC = 0xA121 # Vocord Telecom +WAVE_FORMAT_NICE_G728 = 0xA122 # Nice Systems +WAVE_FORMAT_FRACE_TELECOM_G729 = 0xA123 # France Telecom +WAVE_FORMAT_CODIAN = 0xA124 # CODIAN +WAVE_FORMAT_FLAC = 0xF1AC # flac.sourceforge.net +WAVE_FORMAT_EXTENSIBLE = 0xFFFE # Microsoft +# +# New wave format development should be based on the +# WAVEFORMATEXTENSIBLE structure. WAVEFORMATEXTENSIBLE allows you to +# avoid having to register a new format tag with Microsoft. However, if +# you must still define a new format tag, the WAVE_FORMAT_DEVELOPMENT +# format tag can be used during the development phase of a new wave +# format. Before shipping, you MUST acquire an official format tag from +# Microsoft. +# +WAVE_FORMAT_DEVELOPMENT = 0xFFFF + + +class WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wFormatTag', WORD), + ('nChannels', WORD), + ('nSamplesPerSec', DWORD), + ('nAvgBytesPerSec', DWORD), + ('nBlockAlign', WORD), + ] + + +PWAVEFORMAT = POINTER(WAVEFORMAT) +NPWAVEFORMAT = POINTER(WAVEFORMAT) +LPWAVEFORMAT = POINTER(WAVEFORMAT) + + +class PCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wf', WAVEFORMAT), + ('wBitsPerSample', WORD), + ] + + +PPCMWAVEFORMAT = POINTER(PCMWAVEFORMAT) +NPPCMWAVEFORMAT = POINTER(PCMWAVEFORMAT) +LPPCMWAVEFORMAT = POINTER(PCMWAVEFORMAT) + +WAVE_FORMAT_PCM = 1 + + +class WAVEFORMATEX(ctypes.Structure): + _fields_ = [ + ('wFormatTag', WORD), + ('nChannels', WORD), + ('nSamplesPerSec', DWORD), + ('nAvgBytesPerSec', DWORD), + ('nBlockAlign', WORD), + ('wBitsPerSample', WORD), + ('cbSize', WORD), + ] + + +PWAVEFORMATEX = POINTER(WAVEFORMATEX) +NPWAVEFORMATEX = POINTER(WAVEFORMATEX) +LPWAVEFORMATEX = POINTER(WAVEFORMATEX) + + +class SAMPLES_UNION(ctypes.Union): + _fields_ = [ + ('wValidBitsPerSample', WORD), + ('wSamplesPerBlock', WORD), + ('wReserved', WORD), + ] + + +class WAVEFORMATEXTENSIBLE(ctypes.Structure): + _fields_ = [ + ('Format', WAVEFORMATEX), + ('Samples', SAMPLES_UNION), + ('dwChannelMask', DWORD), + ('SubFormat', GUID), + ] + + +PWAVEFORMATEXTENSIBLE = POINTER(WAVEFORMATEXTENSIBLE) +WAVEFORMATPCMEX = WAVEFORMATEXTENSIBLE +PWAVEFORMATPCMEX = POINTER(WAVEFORMATPCMEX) +NPWAVEFORMATPCMEX = POINTER(WAVEFORMATPCMEX) +LPWAVEFORMATPCMEX = POINTER(WAVEFORMATPCMEX) + + +WAVEFORMATIEEEFLOATEX = WAVEFORMATEXTENSIBLE +PWAVEFORMATIEEEFLOATEX = POINTER(WAVEFORMATIEEEFLOATEX) +NPWAVEFORMATIEEEFLOATEX = POINTER(WAVEFORMATIEEEFLOATEX) +LPWAVEFORMATIEEEFLOATEX = POINTER(WAVEFORMATIEEEFLOATEX) + + +SPEAKER_FRONT_LEFT = 0x1 +SPEAKER_FRONT_RIGHT = 0x2 +SPEAKER_FRONT_CENTER = 0x4 +SPEAKER_LOW_FREQUENCY = 0x8 +SPEAKER_BACK_LEFT = 0x10 +SPEAKER_BACK_RIGHT = 0x20 +SPEAKER_FRONT_LEFT_OF_CENTER = 0x40 +SPEAKER_FRONT_RIGHT_OF_CENTER = 0x80 +SPEAKER_BACK_CENTER = 0x100 +SPEAKER_SIDE_LEFT = 0x200 +SPEAKER_SIDE_RIGHT = 0x400 +SPEAKER_TOP_CENTER = 0x800 +SPEAKER_TOP_FRONT_LEFT = 0x1000 +SPEAKER_TOP_FRONT_CENTER = 0x2000 +SPEAKER_TOP_FRONT_RIGHT = 0x4000 +SPEAKER_TOP_BACK_LEFT = 0x8000 +SPEAKER_TOP_BACK_CENTER = 0x10000 +SPEAKER_TOP_BACK_RIGHT = 0x20000 +# Bit mask locations reserved for future use +SPEAKER_RESERVED = 0x7FFC0000 +# Used to specify that any possible permutation of speaker configurations +SPEAKER_ALL = 0x80000000 + + +class ADPCMCOEFSET(ctypes.Structure): + _fields_ = [ + ('iCoef1', SHORT), + ('iCoef2', SHORT), + ] + + +PADPCMCOEFSET = POINTER(ADPCMCOEFSET) +NPADPCMCOEFSET = POINTER(ADPCMCOEFSET) +LPADPCMCOEFSET = POINTER(ADPCMCOEFSET) + + +class ADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ('wNumCoef', WORD), + ('aCoef', ADPCMCOEFSET), + ] + + +PADPCMWAVEFORMAT = POINTER(ADPCMWAVEFORMAT) +NPADPCMWAVEFORMAT = POINTER(ADPCMWAVEFORMAT) +LPADPCMWAVEFORMAT = POINTER(ADPCMWAVEFORMAT) + + +class DRMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wReserved', WORD), + ('ulContentId', ULONG), + ('wfxSecure', WAVEFORMATEX), + ] + + +PDRMWAVEFORMAT = POINTER(DRMWAVEFORMAT) +NPDRMWAVEFORMAT = POINTER(DRMWAVEFORMAT) +LPDRMWAVEFORMAT = POINTER(DRMWAVEFORMAT) + + +class DVIADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PDVIADPCMWAVEFORMAT = POINTER(DVIADPCMWAVEFORMAT) +NPDVIADPCMWAVEFORMAT = POINTER(DVIADPCMWAVEFORMAT) +LPDVIADPCMWAVEFORMAT = POINTER(DVIADPCMWAVEFORMAT) + + +class IMAADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PIMAADPCMWAVEFORMAT = POINTER(IMAADPCMWAVEFORMAT) +NPIMAADPCMWAVEFORMAT = POINTER(IMAADPCMWAVEFORMAT) +LPIMAADPCMWAVEFORMAT = POINTER(IMAADPCMWAVEFORMAT) + + +class MEDIASPACEADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wRevision', WORD), + ] + + +PMEDIASPACEADPCMWAVEFORMAT = POINTER(MEDIASPACEADPCMWAVEFORMAT) +NPMEDIASPACEADPCMWAVEFORMAT = POINTER(MEDIASPACEADPCMWAVEFORMAT) +LPMEDIASPACEADPCMWAVEFORMAT = POINTER(MEDIASPACEADPCMWAVEFORMAT) + + +class SIERRAADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wRevision', WORD), + ] + + +PSIERRAADPCMWAVEFORMAT = POINTER(SIERRAADPCMWAVEFORMAT) +NPSIERRAADPCMWAVEFORMAT = POINTER(SIERRAADPCMWAVEFORMAT) +LPSIERRAADPCMWAVEFORMAT = POINTER(SIERRAADPCMWAVEFORMAT) + + +class G723_ADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('cbExtraSize', WORD), + ('nAuxBlockSize', WORD), + ] + + +PG723_ADPCMWAVEFORMAT = POINTER(G723_ADPCMWAVEFORMAT) +NPG723_ADPCMWAVEFORMAT = POINTER(G723_ADPCMWAVEFORMAT) +LPG723_ADPCMWAVEFORMAT = POINTER(G723_ADPCMWAVEFORMAT) + + +# +# DSP Solutions (formerly DIGISPEECH) structure definitions +# +# for WAVE_FORMAT_DIGISTD (0x0015) +# +# +class DIGISTDWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PDIGISTDWAVEFORMAT = POINTER(DIGISTDWAVEFORMAT) +NPDIGISTDWAVEFORMAT = POINTER(DIGISTDWAVEFORMAT) +LPDIGISTDWAVEFORMAT = POINTER(DIGISTDWAVEFORMAT) + + +# +# DSP Solutions (formerly DIGISPEECH) structure definitions +# +# for WAVE_FORMAT_DIGIFIX (0x0016) +# +# +class DIGIFIXWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PDIGIFIXWAVEFORMAT = POINTER(DIGIFIXWAVEFORMAT) +NPDIGIFIXWAVEFORMAT = POINTER(DIGIFIXWAVEFORMAT) +LPDIGIFIXWAVEFORMAT = POINTER(DIGIFIXWAVEFORMAT) + + +# +# Dialogic Corporation +# WAVEFORMAT_DIALOGIC_OKI_ADPCM (0x0017) +# +class DIALOGICOKIADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('ewf', WAVEFORMATEX), + ] + + +PDIALOGICOKIADPCMWAVEFORMAT = POINTER(DIALOGICOKIADPCMWAVEFORMAT) +NPDIALOGICOKIADPCMWAVEFORMAT = POINTER(DIALOGICOKIADPCMWAVEFORMAT) +LPDIALOGICOKIADPCMWAVEFORMAT = POINTER(DIALOGICOKIADPCMWAVEFORMAT) + + +# +# Yamaha Compression's ADPCM structure definitions +# +# for WAVE_FORMAT_YAMAHA_ADPCM (0x0020) +# +# +class YAMAHA_ADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PYAMAHA_ADPCMWAVEFORMAT = POINTER(YAMAHA_ADPCMWAVEFORMAT) +NPYAMAHA_ADPCMWAVEFORMAT = POINTER(YAMAHA_ADPCMWAVEFORMAT) +LPYAMAHA_ADPCMWAVEFORMAT = POINTER(YAMAHA_ADPCMWAVEFORMAT) + + +# +# Speech Compression's Sonarc structure definitions +# +# for WAVE_FORMAT_SONARC (0x0021) +# +# +class SONARCWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wCompType', WORD), + ] + + +PSONARCWAVEFORMAT = POINTER(SONARCWAVEFORMAT) +NPSONARCWAVEFORMAT = POINTER(SONARCWAVEFORMAT) +LPSONARCWAVEFORMAT = POINTER(SONARCWAVEFORMAT) + + +# +# DSP Groups's TRUESPEECH structure definitions +# +# for WAVE_FORMAT_DSPGROUP_TRUESPEECH (0x0022) +# +# +class TRUESPEECHWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wRevision', WORD), + ('nSamplesPerBlock', WORD), + ('abReserved[28]', BYTE), + ] + + +PTRUESPEECHWAVEFORMAT = POINTER(TRUESPEECHWAVEFORMAT) +NPTRUESPEECHWAVEFORMAT = POINTER(TRUESPEECHWAVEFORMAT) +LPTRUESPEECHWAVEFORMAT = POINTER(TRUESPEECHWAVEFORMAT) + + +# +# Echo Speech Corp structure definitions +# +# for WAVE_FORMAT_ECHOSC1 (0x0023) +# +# +class ECHOSC1WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PECHOSC1WAVEFORMAT = POINTER(ECHOSC1WAVEFORMAT) +NPECHOSC1WAVEFORMAT = POINTER(ECHOSC1WAVEFORMAT) +LPECHOSC1WAVEFORMAT = POINTER(ECHOSC1WAVEFORMAT) + + +# +# Audiofile Inc.structure definitions +# +# for WAVE_FORMAT_AUDIOFILE_AF36 (0x0024) +# +# +class AUDIOFILE_AF36WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PAUDIOFILE_AF36WAVEFORMAT = POINTER(AUDIOFILE_AF36WAVEFORMAT) +NPAUDIOFILE_AF36WAVEFORMAT = POINTER(AUDIOFILE_AF36WAVEFORMAT) +LPAUDIOFILE_AF36WAVEFORMAT = POINTER(AUDIOFILE_AF36WAVEFORMAT) + + +# +# Audio Processing Technology structure definitions +# +# for WAVE_FORMAT_APTX (0x0025) +# +# +class APTXWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PAPTXWAVEFORMAT = POINTER(APTXWAVEFORMAT) +NPAPTXWAVEFORMAT = POINTER(APTXWAVEFORMAT) +LPAPTXWAVEFORMAT = POINTER(APTXWAVEFORMAT) + + +# +# Audiofile Inc.structure definitions +# +# for WAVE_FORMAT_AUDIOFILE_AF10 (0x0026) +# +# +class AUDIOFILE_AF10WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PAUDIOFILE_AF10WAVEFORMAT = POINTER(AUDIOFILE_AF10WAVEFORMAT) +NPAUDIOFILE_AF10WAVEFORMAT = POINTER(AUDIOFILE_AF10WAVEFORMAT) +LPAUDIOFILE_AF10WAVEFORMAT = POINTER(AUDIOFILE_AF10WAVEFORMAT) + + +# +# Dolby's AC-2 wave format structure definition +# +# Microsoft's +# WAVE_FORMAT_GSM 610 0x0031 +# +class GSM610WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PGSM610WAVEFORMAT = POINTER(GSM610WAVEFORMAT) +NPGSM610WAVEFORMAT = POINTER(GSM610WAVEFORMAT) +LPGSM610WAVEFORMAT = POINTER(GSM610WAVEFORMAT) + + +# +# Antex Electronics Corp +# +# for WAVE_FORMAT_ADPCME (0x0033) +# +# +class ADPCMEWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PADPCMEWAVEFORMAT = POINTER(ADPCMEWAVEFORMAT) +NPADPCMEWAVEFORMAT = POINTER(ADPCMEWAVEFORMAT) +LPADPCMEWAVEFORMAT = POINTER(ADPCMEWAVEFORMAT) + + +# Control Resources Limited +# WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 +# +class CONTRESVQLPCWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PCONTRESVQLPCWAVEFORMAT = POINTER(CONTRESVQLPCWAVEFORMAT) +NPCONTRESVQLPCWAVEFORMAT = POINTER(CONTRESVQLPCWAVEFORMAT) +LPCONTRESVQLPCWAVEFORMAT = POINTER(CONTRESVQLPCWAVEFORMAT) + + +# +# +# +# for WAVE_FORMAT_DIGIREAL (0x0035) +# +# +class DIGIREALWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PDIGIREALWAVEFORMAT = POINTER(DIGIREALWAVEFORMAT) +NPDIGIREALWAVEFORMAT = POINTER(DIGIREALWAVEFORMAT) +LPDIGIREALWAVEFORMAT = POINTER(DIGIREALWAVEFORMAT) + + +# +# DSP Solutions +# +# for WAVE_FORMAT_DIGIADPCM (0x0036) +# +# +class DIGIADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PDIGIADPCMWAVEFORMAT = POINTER(DIGIADPCMWAVEFORMAT) +NPDIGIADPCMWAVEFORMAT = POINTER(DIGIADPCMWAVEFORMAT) +LPDIGIADPCMWAVEFORMAT = POINTER(DIGIADPCMWAVEFORMAT) + + +# Control Resources Limited +# WAVE_FORMAT_CONTROL_RES_CR10 0x0037 +# +class CONTRESCR10WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PCONTRESCR10WAVEFORMAT = POINTER(CONTRESCR10WAVEFORMAT) +NPCONTRESCR10WAVEFORMAT = POINTER(CONTRESCR10WAVEFORMAT) +LPCONTRESCR10WAVEFORMAT = POINTER(CONTRESCR10WAVEFORMAT) + + +# +# Natural Microsystems +# +# for WAVE_FORMAT_NMS_VBXADPCM (0x0038) +# +# +class NMS_VBXADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wSamplesPerBlock', WORD), + ] + + +PNMS_VBXADPCMWAVEFORMAT = POINTER(NMS_VBXADPCMWAVEFORMAT) +NPNMS_VBXADPCMWAVEFORMAT = POINTER(NMS_VBXADPCMWAVEFORMAT) +LPNMS_VBXADPCMWAVEFORMAT = POINTER(NMS_VBXADPCMWAVEFORMAT) + + +# +# Antex Electronics structure definitions +# +# for WAVE_FORMAT_G721_ADPCM (0x0040) +# +# +class G721_ADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('nAuxBlockSize', WORD), + ] + + +PG721_ADPCMWAVEFORMAT = POINTER(G721_ADPCMWAVEFORMAT) +NPG721_ADPCMWAVEFORMAT = POINTER(G721_ADPCMWAVEFORMAT) +LPG721_ADPCMWAVEFORMAT = POINTER(G721_ADPCMWAVEFORMAT) + + +# +# +# Microsoft MPEG audio WAV definition +# +# MPEG-1 audio wave format (audio layer only). (0x0050) +class MPEG1WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('fwHeadLayer', WORD), + ('dwHeadBitrate', DWORD), + ('fwHeadMode', WORD), + ('fwHeadModeExt', WORD), + ('wHeadEmphasis', WORD), + ('fwHeadFlags', WORD), + ('dwPTSLow', DWORD), + ('dwPTSHigh', DWORD), + ] + + +PMPEG1WAVEFORMAT = POINTER(MPEG1WAVEFORMAT) +NPMPEG1WAVEFORMAT = POINTER(MPEG1WAVEFORMAT) +LPMPEG1WAVEFORMAT = POINTER(MPEG1WAVEFORMAT) + + +ACM_MPEG_LAYER1 = 0x0001 +ACM_MPEG_LAYER2 = 0x0002 +ACM_MPEG_LAYER3 = 0x0004 +ACM_MPEG_STEREO = 0x0001 +ACM_MPEG_JOINTSTEREO = 0x0002 +ACM_MPEG_DUALCHANNEL = 0x0004 +ACM_MPEG_SINGLECHANNEL = 0x0008 +ACM_MPEG_PRIVATEBIT = 0x0001 +ACM_MPEG_COPYRIGHT = 0x0002 +ACM_MPEG_ORIGINALHOME = 0x0004 +ACM_MPEG_PROTECTIONBIT = 0x0008 +ACM_MPEG_ID_MPEG1 = 0x0010 +# +# MPEG Layer3 WAVEFORMATEX structure +# for WAVE_FORMAT_MPEGLAYER3 (0x0055) +# +MPEGLAYER3_WFX_EXTRA_BYTES = 12 +# WAVE_FORMAT_MPEGLAYER3 format sructure +# + + +class MPEGLAYER3WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wID', WORD), + ('fdwFlags', DWORD), + ('nBlockSize', WORD), + ('nFramesPerBlock', WORD), + ('nCodecDelay', WORD), + ] + + +PMPEGLAYER3WAVEFORMAT = POINTER(MPEGLAYER3WAVEFORMAT) +NPMPEGLAYER3WAVEFORMAT = POINTER(MPEGLAYER3WAVEFORMAT) +LPMPEGLAYER3WAVEFORMAT = POINTER(MPEGLAYER3WAVEFORMAT) + + +# =========================================================================; +MPEGLAYER3_ID_UNKNOWN = 0 +MPEGLAYER3_ID_MPEG = 1 +MPEGLAYER3_ID_CONSTANTFRAMESIZE = 2 +MPEGLAYER3_FLAG_PADDING_ISO = 0x00000000 +MPEGLAYER3_FLAG_PADDING_ON = 0x00000001 +MPEGLAYER3_FLAG_PADDING_OFF = 0x00000002 +# ========================================================================== +# All HEAACWAVEFORMAT fields can now be accessed through pwf +# ... +# +# To parse AudioSpecifiConfig(), write a function such as +# ParseAudioSpecificConfig(BYTE *pbASC, DWORD dwASCLen), +# and call: +# +# Reserved +# Defines core AAC properties. See description above. WAVEFORMATEX is of size +# 18 bytes. +# Defines the payload type +# 0-RAW. The stream contains raw_data_block() elements only. +# 1-ADTS. The stream contains an adts_sequence(), as defined by MPEG-2. +# 2-ADIF. The stream contains an adif_sequence(), as defined by MPEG-2. +# 3-LOAS. The stream contains an MPEG-4 audio transport stream with a +# synchronization layer LOAS and a multiplex layer LATM. +# All other codes are reserved. +# This is the 8-bit field audioProfileLevelIndication available in the +# MPEG-4 object descriptor. It is an indication (as defined in MPEG-4 audio) +# of the audio profile and level required to process the content associated +# with this stream. For example values 0x28-0x2B correspond to AAC Profile, +# values 0x2C-0x2F correspond to HE-AAC profile and 0x30-0x33 for HE-AAC v2 +# profile. +# If unknown, set to zero or 0xFE ("no audio profile specified"). +# Defines the data that follows this structure. Currently only one data type +# is supported: +# 0- AudioSpecificConfig() (as defined by MPEG-4 Audio, ISO/IEC 14496-3) will +# follow this structure. +# wfx.cbSize will indicate the total length including AudioSpecificConfig(). +# Use HEAACWAVEFORMAT to gain easy access to the address of the first byte +# of +# AudioSpecificConfig() for parsing. +# Typical values for the size of AudioSpecificConfig (ASC) are: +# - 2 bytes for AAC or HE-AAC v1/v2 with implicit signaling of SBR, +# - 5 bytes for HE-AAC v1 with explicit signaling of SBR, +# - 7 bytes for HE-AAC v2 with explicit signaling of SBR and PS. +# The size may be longer than 7 bytes if the 4-bit channelConfiguration +# field in ASC is zero, +# which means program_config_element() is present in ASC. +# +# All other codes are reserved. +# Set these to zero + + +class HEAACWAVEINFO(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wPayloadType', WORD), + ('wAudioProfileLevelIndication', WORD), + ('wStructType', WORD), + ('wReserved1', WORD), + ('dwReserved2', DWORD), + ] + + +PHEAACWAVEINFO = POINTER(HEAACWAVEINFO) +NPHEAACWAVEINFO = POINTER(HEAACWAVEINFO) +LPHEAACWAVEINFO = POINTER(HEAACWAVEINFO) + + +# +# This structure describes the format block for wStructType=0 +# +class HEAACWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('bytes', HEAACWAVEINFO), + ('AudioSpecificConfig()', BYTE), + ] + + +PHEAACWAVEFORMAT = POINTER(HEAACWAVEFORMAT) +NPHEAACWAVEFORMAT = POINTER(HEAACWAVEFORMAT) +LPHEAACWAVEFORMAT = POINTER(HEAACWAVEFORMAT) + + +# ========================================================================= +# +# Windows Media Audio (common) +# +# +MM_MSFT_ACM_WMAUDIO = 39 +WMAUDIO_BITS_PER_SAMPLE = 16 +WMAUDIO_MAX_CHANNELS = 2 +# +# Windows Media Audio V1 (a.k.a. "MSAudio") +# +# for WAVE_FORMAT_MSAUDIO1 (0x0160) +# +# +MM_MSFT_ACM_MSAUDIO1 = 39 + + +class MSAUDIO1WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('overlapping', WORD), + ('wEncodeOptions', WORD), + ] + + +LPMSAUDIO1WAVEFORMAT = POINTER(MSAUDIO1WAVEFORMAT) + + +MSAUDIO1_BITS_PER_SAMPLE = WMAUDIO_BITS_PER_SAMPLE +MSAUDIO1_MAX_CHANNELS = WMAUDIO_MAX_CHANNELS +MSAUDIO1_WFX_EXTRA_BYTES = ( + ctypes.sizeof(MSAUDIO1WAVEFORMAT) - ctypes.sizeof(WAVEFORMATEX) +) +# +# Windows Media Audio V2 +# +# for WAVE_FORMAT_WMAUDIO2 (0x0161) +# +# +MM_MSFT_ACM_WMAUDIO2 = 101 + + +class WMAUDIO2WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('overlapping', DWORD), + ('wEncodeOptions', WORD), + ('wfx.nBlockAlign.', DWORD), + ] + + +LPWMAUDIO2WAVEFORMAT = POINTER(WMAUDIO2WAVEFORMAT) + + +WMAUDIO2_BITS_PER_SAMPLE = WMAUDIO_BITS_PER_SAMPLE +WMAUDIO2_MAX_CHANNELS = WMAUDIO_MAX_CHANNELS +WMAUDIO2_WFX_EXTRA_BYTES = ( + ctypes.sizeof(WMAUDIO2WAVEFORMAT) - ctypes.sizeof(WAVEFORMATEX) +) +# +# Windows Media Audio V3 +# +# for WAVE_FORMAT_WMAUDIO3 (0x0162) +# +# + + +class WMAUDIO3WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('precision', WORD), + ('stream', DWORD), + ('dwReserved1', DWORD), + ('dwReserved2', DWORD), + ('wEncodeOptions', WORD), + ('wReserved3', WORD), + ] + + +LPWMAUDIO3WAVEFORMAT = POINTER(WMAUDIO3WAVEFORMAT) + +WMAUDIO3_WFX_EXTRA_BYTES = ( + ctypes.sizeof(WMAUDIO3WAVEFORMAT) - ctypes.sizeof(WAVEFORMATEX) +) + +# +# Creative's ADPCM structure definitions +# +# for WAVE_FORMAT_CREATIVE_ADPCM (0x0200) +# +# + + +class CREATIVEADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wRevision', WORD), + ] + + +PCREATIVEADPCMWAVEFORMAT = POINTER(CREATIVEADPCMWAVEFORMAT) +NPCREATIVEADPCMWAVEFORMAT = POINTER(CREATIVEADPCMWAVEFORMAT) +LPCREATIVEADPCMWAVEFORMAT = POINTER(CREATIVEADPCMWAVEFORMAT) + + +# +# Creative FASTSPEECH +# WAVEFORMAT_CREATIVE_FASTSPEECH8 (0x0202) +# +# +# Creative FASTSPEECH +# WAVEFORMAT_CREATIVE_FASTSPEECH10 (0x0203) +# +class CREATIVEFASTSPEECH10WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wRevision', WORD), + ] + + +PCREATIVEFASTSPEECH10WAVEFORMAT = POINTER(CREATIVEFASTSPEECH10WAVEFORMAT) +NPCREATIVEFASTSPEECH10WAVEFORMAT = POINTER(CREATIVEFASTSPEECH10WAVEFORMAT) +LPCREATIVEFASTSPEECH10WAVEFORMAT = POINTER(CREATIVEFASTSPEECH10WAVEFORMAT) + + +# +# Fujitsu FM Towns 'SND' structure +# +# for WAVE_FORMAT_FMMTOWNS_SND (0x0300) +# +# +class FMTOWNS_SND_WAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ('wRevision', WORD), + ] + + +PFMTOWNS_SND_WAVEFORMAT = POINTER(FMTOWNS_SND_WAVEFORMAT) +NPFMTOWNS_SND_WAVEFORMAT = POINTER(FMTOWNS_SND_WAVEFORMAT) +LPFMTOWNS_SND_WAVEFORMAT = POINTER(FMTOWNS_SND_WAVEFORMAT) + + +# +# Olivetti structure +# +# for WAVE_FORMAT_OLIGSM (0x1000) +# +# +class OLIGSMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +POLIGSMWAVEFORMAT = POINTER(OLIGSMWAVEFORMAT) +NPOLIGSMWAVEFORMAT = POINTER(OLIGSMWAVEFORMAT) +LPOLIGSMWAVEFORMAT = POINTER(OLIGSMWAVEFORMAT) + + +# +# Olivetti structure +# +# for WAVE_FORMAT_OLIADPCM (0x1001) +# +# +class OLIADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +POLIADPCMWAVEFORMAT = POINTER(OLIADPCMWAVEFORMAT) +NPOLIADPCMWAVEFORMAT = POINTER(OLIADPCMWAVEFORMAT) +LPOLIADPCMWAVEFORMAT = POINTER(OLIADPCMWAVEFORMAT) + + +# +# Olivetti structure +# +# for WAVE_FORMAT_OLICELP (0x1002) +# +# +class OLICELPWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +POLICELPWAVEFORMAT = POINTER(OLICELPWAVEFORMAT) +NPOLICELPWAVEFORMAT = POINTER(OLICELPWAVEFORMAT) +LPOLICELPWAVEFORMAT = POINTER(OLICELPWAVEFORMAT) + + +# +# Olivetti structure +# +# for WAVE_FORMAT_OLISBC (0x1003) +# +# +class OLISBCWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +POLISBCWAVEFORMAT = POINTER(OLISBCWAVEFORMAT) +NPOLISBCWAVEFORMAT = POINTER(OLISBCWAVEFORMAT) +LPOLISBCWAVEFORMAT = POINTER(OLISBCWAVEFORMAT) + + +# +# Olivetti structure +# +# for WAVE_FORMAT_OLIOPR (0x1004) +# +# +class OLIOPRWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +POLIOPRWAVEFORMAT = POINTER(OLIOPRWAVEFORMAT) +NPOLIOPRWAVEFORMAT = POINTER(OLIOPRWAVEFORMAT) +LPOLIOPRWAVEFORMAT = POINTER(OLIOPRWAVEFORMAT) + + +# +# Crystal Semiconductor IMA ADPCM format +# +# for WAVE_FORMAT_CS_IMAADPCM (0x0039) +# +# +class CSIMAADPCMWAVEFORMAT(ctypes.Structure): + _fields_ = [ + ('wfx', WAVEFORMATEX), + ] + + +PCSIMAADPCMWAVEFORMAT = POINTER(CSIMAADPCMWAVEFORMAT) +NPCSIMAADPCMWAVEFORMAT = POINTER(CSIMAADPCMWAVEFORMAT) +LPCSIMAADPCMWAVEFORMAT = POINTER(CSIMAADPCMWAVEFORMAT) + + +# =========================================================================; +# +# ACM Wave Filters +# +# +# =========================================================================; + +WAVE_FILTER_UNKNOWN = 0x0000 +WAVE_FILTER_DEVELOPMENT = 0xFFFF + + +class WAVEFILTER(ctypes.Structure): + _fields_ = [ + ('*/', DWORD), + ('*/', DWORD), + ('*/', DWORD), + ('*/', DWORD), + ] + + +PWAVEFILTER = POINTER(WAVEFILTER) +NPWAVEFILTER = POINTER(WAVEFILTER) +LPWAVEFILTER = POINTER(WAVEFILTER) + + +WAVE_FILTER_VOLUME = 0x0001 + + +class VOLUMEWAVEFILTER(ctypes.Structure): + _fields_ = [ + ('wfltr', WAVEFILTER), + ('dwVolume', DWORD), + ] + + +PVOLUMEWAVEFILTER = POINTER(VOLUMEWAVEFILTER) +NPVOLUMEWAVEFILTER = POINTER(VOLUMEWAVEFILTER) +LPVOLUMEWAVEFILTER = POINTER(VOLUMEWAVEFILTER) + + +WAVE_FILTER_ECHO = 0x0002 + + +class ECHOWAVEFILTER(ctypes.Structure): + _fields_ = [ + ('wfltr', WAVEFILTER), + ('dwVolume', DWORD), + ('dwDelay', DWORD), + ] + + +PECHOWAVEFILTER = POINTER(ECHOWAVEFILTER) +NPECHOWAVEFILTER = POINTER(ECHOWAVEFILTER) +LPECHOWAVEFILTER = POINTER(ECHOWAVEFILTER) + + +# ------------------------------------------------------------------------------ +# +# New RIFF WAVE Chunks +# +RIFFWAVE_inst = mmioFOURCC('i', 'n', 's', 't') +# ------------------------------------------------------------------------------ +# +# New RIFF Forms +# +# RIFF AVI +# +# AVI file format is specified in a seperate file (AVIFMT.H), +# which is available in the VfW and Win 32 SDK +# +# RIFF CPPO +RIFFCPPO = mmioFOURCC('C', 'P', 'P', 'O') +RIFFCPPO_objr = mmioFOURCC('o', 'b', 'j', 'r') +RIFFCPPO_obji = mmioFOURCC('o', 'b', 'j', 'i') +RIFFCPPO_clsr = mmioFOURCC('c', 'l', 's', 'r') +RIFFCPPO_clsi = mmioFOURCC('c', 'l', 's', 'i') +RIFFCPPO_mbr = mmioFOURCC('m', 'b', 'r', ' ') +RIFFCPPO_char = mmioFOURCC('c', 'h', 'a', 'r') +RIFFCPPO_byte = mmioFOURCC('b', 'y', 't', 'e') +RIFFCPPO_int = mmioFOURCC('i', 'n', 't', ' ') +RIFFCPPO_word = mmioFOURCC('w', 'o', 'r', 'd') +RIFFCPPO_long = mmioFOURCC('l', 'o', 'n', 'g') +RIFFCPPO_dwrd = mmioFOURCC('d', 'w', 'r', 'd') +RIFFCPPO_flt = mmioFOURCC('f', 'l', 't', ' ') +RIFFCPPO_dbl = mmioFOURCC('d', 'b', 'l', ' ') +RIFFCPPO_str = mmioFOURCC('s', 't', 'r', ' ') +# +##################################### +# +# DIB Compression Defines +# +BI_BITFIELDS = 3 +QUERYDIBSUPPORT = 3073 +QDI_SETDIBITS = 0x0001 +QDI_GETDIBITS = 0x0002 +QDI_DIBTOSCREEN = 0x0004 +QDI_STRETCHDIB = 0x0008 +# Structure definitions +# extended BITMAPINFOHEADER fields +# Other stuff will go here +# ... +# Format-specific information +# biExtDataOffset points here +# New DIB Compression Defines +BICOMP_IBMULTIMOTION = mmioFOURCC('U', 'L', 'T', 'I') +BICOMP_IBMPHOTOMOTION = mmioFOURCC('P', 'H', 'M', 'O') +BICOMP_CREATIVEYUV = mmioFOURCC('c', 'y', 'u', 'v') +# New DIB Compression Defines +JPEG_DIB = mmioFOURCC('J', 'P', 'E', 'G') # Still image JPEG DIB biCompression +MJPG_DIB = mmioFOURCC('M', 'J', 'P', 'G') # Motion JPEG DIB biCompression +# JPEGProcess Definitions +JPEG_PROCESS_BASELINE = 0 # Baseline DCT +# AVI File format extensions +AVIIF_CONTROLFRAME = 0x00000200L # This is a control frame +# JIF Marker byte pairs in JPEG Interchange Format sequence +JIFMK_SOF0 = 0xFFC0 # SOF Huff - Baseline DCT +JIFMK_SOF1 = 0xFFC1 # SOF Huff - Extended sequential DCT +JIFMK_SOF2 = 0xFFC2 # SOF Huff - Progressive DCT +JIFMK_SOF3 = 0xFFC3 # SOF Huff - Spatial (sequential) lossless +JIFMK_SOF5 = 0xFFC5 # SOF Huff - Differential sequential DCT +JIFMK_SOF6 = 0xFFC6 # SOF Huff - Differential progressive DCT +JIFMK_SOF7 = 0xFFC7 # SOF Huff - Differential spatial +JIFMK_JPG = 0xFFC8 # SOF Arith - Reserved for JPEG extensions +JIFMK_SOF9 = 0xFFC9 # SOF Arith - Extended sequential DCT +JIFMK_SOF10 = 0xFFCA # SOF Arith - Progressive DCT +JIFMK_SOF11 = 0xFFCB # SOF Arith - Spatial (sequential) lossless +JIFMK_SOF13 = 0xFFCD # SOF Arith - Differential sequential DCT +JIFMK_SOF14 = 0xFFCE # SOF Arith - Differential progressive DCT +JIFMK_SOF15 = 0xFFCF # SOF Arith - Differential spatial +JIFMK_DHT = 0xFFC4 # Define Huffman Table(s) +JIFMK_DAC = 0xFFCC # Define Arithmetic coding conditioning(s) +JIFMK_RST0 = 0xFFD0 # Restart with modulo 8 count 0 +JIFMK_RST1 = 0xFFD1 # Restart with modulo 8 count 1 +JIFMK_RST2 = 0xFFD2 # Restart with modulo 8 count 2 +JIFMK_RST3 = 0xFFD3 # Restart with modulo 8 count 3 +JIFMK_RST4 = 0xFFD4 # Restart with modulo 8 count 4 +JIFMK_RST5 = 0xFFD5 # Restart with modulo 8 count 5 +JIFMK_RST6 = 0xFFD6 # Restart with modulo 8 count 6 +JIFMK_RST7 = 0xFFD7 # Restart with modulo 8 count 7 +JIFMK_SOI = 0xFFD8 # Start of Image +JIFMK_EOI = 0xFFD9 # End of Image +JIFMK_SOS = 0xFFDA # Start of Scan +JIFMK_DQT = 0xFFDB # Define quantization Table(s) +JIFMK_DNL = 0xFFDC # Define Number of Lines +JIFMK_DRI = 0xFFDD # Define Restart Interval +JIFMK_DHP = 0xFFDE # Define Hierarchical progression +JIFMK_EXP = 0xFFDF # Expand Reference Component(s) +JIFMK_APP0 = 0xFFE0 # Application Field 0 +JIFMK_APP1 = 0xFFE1 # Application Field 1 +JIFMK_APP2 = 0xFFE2 # Application Field 2 +JIFMK_APP3 = 0xFFE3 # Application Field 3 +JIFMK_APP4 = 0xFFE4 # Application Field 4 +JIFMK_APP5 = 0xFFE5 # Application Field 5 +JIFMK_APP6 = 0xFFE6 # Application Field 6 +JIFMK_APP7 = 0xFFE7 # Application Field 7 +JIFMK_JPG0 = 0xFFF0 # Reserved for JPEG extensions +JIFMK_JPG1 = 0xFFF1 # Reserved for JPEG extensions +JIFMK_JPG2 = 0xFFF2 # Reserved for JPEG extensions +JIFMK_JPG3 = 0xFFF3 # Reserved for JPEG extensions +JIFMK_JPG4 = 0xFFF4 # Reserved for JPEG extensions +JIFMK_JPG5 = 0xFFF5 # Reserved for JPEG extensions +JIFMK_JPG6 = 0xFFF6 # Reserved for JPEG extensions +JIFMK_JPG7 = 0xFFF7 # Reserved for JPEG extensions +JIFMK_JPG8 = 0xFFF8 # Reserved for JPEG extensions +JIFMK_JPG9 = 0xFFF9 # Reserved for JPEG extensions +JIFMK_JPG10 = 0xFFFA # Reserved for JPEG extensions +JIFMK_JPG11 = 0xFFFB # Reserved for JPEG extensions +JIFMK_JPG12 = 0xFFFC # Reserved for JPEG extensions +JIFMK_JPG13 = 0xFFFD # Reserved for JPEG extensions +JIFMK_COM = 0xFFFE # Comment +JIFMK_TEM = 0xFF01 # for temp private use arith code +JIFMK_RES = 0xFF02 # Reserved +JIFMK_00 = 0xFF00 # Zero stuffed byte - entropy data +JIFMK_FF = 0xFFFF # Fill byte +# JPEGColorSpaceID Definitions +JPEG_Y = 1 # Y only component of YCbCr +JPEG_YCbCr = 2 # YCbCr as define by CCIR 601 +JPEG_RGB = 3 # 3 component RGB +# Structure definitions +# compression-specific fields +# these fields are defined for 'JPEG' and 'MJPG' +# Process specific fields +# Default DHT Segment +# JPEG DHT Segment for YCrCb omitted from MJPG data +# End DHT default +# End JPEG +# ------------------------------------------------------------------------------ +# +# Defined IC types +# +ICTYPE_VIDEO = mmioFOURCC('v', 'i', 'd', 'c') +ICTYPE_AUDIO = mmioFOURCC('a', 'u', 'd', 'c') +# +# Misc. FOURCC registration +# Sierra Semiconductor: RDSP- Proprietary RIFF file format +# for the storage and downloading of DSP +# code for Audio and communications devices. +FOURCC_RDSP = mmioFOURCC('R', 'D', 'S', 'P') +MIXERCONTROL_CT_UNITS_BOOLEAN = 0x00010000 +MIXERCONTROL_CT_CLASS_SWITCH = 0x20000000 +MIXERCONTROL_CT_SC_SWITCH_BOOLEAN = 0x00000000 +MIXERCONTROL_CONTROLTYPE_BOOLEAN = ( + MIXERCONTROL_CT_CLASS_SWITCH | + MIXERCONTROL_CT_SC_SWITCH_BOOLEAN | + MIXERCONTROL_CT_UNITS_BOOLEAN +) +MIXERCONTROL_CONTROLTYPE_SRS_MTS = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 6) +MIXERCONTROL_CONTROLTYPE_SRS_ONOFF = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 7) +MIXERCONTROL_CONTROLTYPE_SRS_SYNTHSELECT = ( + MIXERCONTROL_CONTROLTYPE_BOOLEAN + 8 +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmsyscom.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmsyscom.py new file mode 100644 index 000000000..86dcdcf4a --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/mmsyscom.py @@ -0,0 +1,81 @@ +from ctypes.wintypes import ( + UINT, +) + +from ctypes import POINTER, Structure, Union, c_ulonglong + + +MAXPNAMELEN = 32 +MAXERRORLENGTH = 256 +MAX_JOYSTICKOEMVXDNAME = 260 + +MM_MICROSOFT = 1 # /* Microsoft Corporation */ + + +MM_MIDI_MAPPER = 1 # /* MIDI Mapper */ +MM_WAVE_MAPPER = 2 # /* Wave Mapper */ +MM_SNDBLST_MIDIOUT = 3 # /* Sound Blaster MIDI output port */ +MM_SNDBLST_MIDIIN = 4 # /* Sound Blaster MIDI input port */ +MM_SNDBLST_SYNTH = 5 # /* Sound Blaster internal synthesizer */ +MM_SNDBLST_WAVEOUT = 6 # /* Sound Blaster waveform output */ +MM_SNDBLST_WAVEIN = 7 # /* Sound Blaster waveform input */ +MM_ADLIB = 9 # /* Ad Lib-compatible synthesizer */ +MM_MPU401_MIDIOUT = 10 # /* MPU401-compatible MIDI output port */ +MM_MPU401_MIDIIN = 11 # /* MPU401-compatible MIDI input port */ +MM_PC_JOYSTICK = 12 # /* Joystick adapter */ + + +MMVERSION = UINT # /* major (high byte), minor (low byte) */ +VERSION = UINT # /* major (high byte), minor (low byte) */ + + +LPUINT = POINTER(UINT) + + +class MIDI(Structure): + _fields_ = [ + ('songptrpos', DWORD) + ] + + +class SMPTE(Structure): + _fields_ = [ + ('hour', BYTE), + ('min', BYTE), + ('sec', BYTE), + ('frame', BYTE), + ('fps', BYTE), + ('dummy', BYTE), + ('pad', BYTE * 2), + ] + + +class U(Union): + _fields_ = [ + ('ms', DWORD), + ('sample', DWORD), + ('cb', DWORD), + ('ticks', DWORD), + ('smpte', SMPTE), + ('midi', MIDI) + ] + + +class MMTIME(Structure): + _fields_ = [ + ('wType', UINT), + ('u', U) + ] + + +PMMTIME = POINTER(MMTIME) +NPMMTIME = POINTER(MMTIME) +LPMMTIME = POINTER(MMTIME) + + +TIME_MS = 0x0001 # /* time in milliseconds */ +TIME_SAMPLES = 0x0002 # /* number of wave samples */ +TIME_BYTES = 0x0004 # /* current byte offset */ +TIME_SMPTE = 0x0008 # /* SMPTE time */ +TIME_MIDI = 0x0010 # /* MIDI time */ +TIME_TICKS = 0x0020 # /* Ticks within MIDI stream */ diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/msacm.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/msacm.py new file mode 100644 index 000000000..f9198cd90 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/msacm.py @@ -0,0 +1,365 @@ +""" +/* ---------------------------------------------------------------------- + * MP3Player.h C++ class using plain Windows API + * + * Author: @lx/Alexandre Mutel, blog: http://code4k.blogspot.com + * The software is provided "as is", without warranty of any kind. + * ----------------------------------------------------------------------*/ +#pragma once +#include +#include +#include +#include +#include +#include + +#pragma comment(lib, "msacm32.lib") +#pragma comment(lib, "wmvcore.lib") +#pragma comment(lib, "winmm.lib") +#pragma intrinsic(memset,memcpy,memcmp) + +#ifdef _DEBUG +#define mp3Assert(function) assert((function) == 0) +#else +//#define mp3Assert(function) if ( (function) != 0 ) { MessageBoxA(NULL,"Error in [ " #function "]", "Error",MB_OK); ExitProcess(0); } +#define mp3Assert(function) (function) +#endif + +/* + * MP3Player class. + * Usage : + * MP3Player player; + * player.OpenFromFile("your.mp3"); + * player.Play(); + * Sleep((DWORD)(player.GetDuration()+1)); + * player.Close(); + */ +class MP3Player { +private: + HWAVEOUT hWaveOut; + DWORD bufferLength; + double durationInSecond; + BYTE* soundBuffer; +public: + + /* + * OpenFromFile : loads a MP3 file and convert it internaly to a PCM format, ready for sound playback. + */ + HRESULT OpenFromFile(TCHAR* inputFileName){ + // Open the mp3 file + HANDLE hFile = CreateFile(inputFileName, // open MYFILE.TXT + GENERIC_READ, + FILE_SHARE_READ, // share for reading + NULL, // no security + OPEN_EXISTING, // existing file only + FILE_ATTRIBUTE_NORMAL, // normal file + NULL); // no attr + assert( hFile != INVALID_HANDLE_VALUE); + + // Get FileSize + DWORD fileSize = GetFileSize(hFile, NULL); + assert( fileSize != INVALID_FILE_SIZE); + + // Alloc buffer for file + BYTE* mp3Buffer = (BYTE*)LocalAlloc(LPTR, fileSize); + + // Read file and fill mp3Buffer + DWORD bytesRead; + DWORD resultReadFile = ReadFile( hFile, mp3Buffer, fileSize, &bytesRead, NULL); + assert(resultReadFile != 0); + assert( bytesRead == fileSize); + + // Close File + CloseHandle(hFile); + + // Open and convert MP3 + HRESULT hr = OpenFromMemory(mp3Buffer, fileSize); + + // Free mp3Buffer + LocalFree(mp3Buffer); + + return hr; + } + + /* + * OpenFromMemory : loads a MP3 from memory and convert it internaly to a PCM format, ready for sound playback. + */ + HRESULT OpenFromMemory(BYTE* mp3InputBuffer, DWORD mp3InputBufferSize){ + IWMSyncReader* wmSyncReader; + IWMHeaderInfo* wmHeaderInfo; + IWMProfile* wmProfile; + IWMStreamConfig* wmStreamConfig; + IWMMediaProps* wmMediaProperties; + WORD wmStreamNum = 0; + WMT_ATTR_DATATYPE wmAttrDataType; + DWORD durationInSecondInt; + QWORD durationInNano; + DWORD sizeMediaType; + DWORD maxFormatSize = 0; + HACMSTREAM acmMp3stream = NULL; + HGLOBAL mp3HGlobal; + IStream* mp3Stream; + + // Define output format + static WAVEFORMATEX pcmFormat = { + WAVE_FORMAT_PCM, // WORD wFormatTag; /* format type */ + 2, // WORD nChannels; /* number of channels (i.e. mono, stereo...) */ + 44100, // DWORD nSamplesPerSec; /* sample rate */ + 4 * 44100, // DWORD nAvgBytesPerSec; /* for buffer estimation */ + 4, // WORD nBlockAlign; /* block size of data */ + 16, // WORD wBitsPerSample; /* number of bits per sample of mono data */ + 0, // WORD cbSize; /* the count in bytes of the size of */ + }; + + const DWORD MP3_BLOCK_SIZE = 522; + + // Define input format + static MPEGLAYER3WAVEFORMAT mp3Format = { + { + + """ + +from ctypes.wintypes import DWORD, WORD, HGLOBAL, HRESULT, BYTE +from ctypes import c_ulonglong + +MP3_BLOCK_SIZE = DWORD(522) + +from mmreg import ( + MPEGLAYER3WAVEFORMAT, + WAVE_FORMAT_MPEGLAYER3, + MPEGLAYER3_WFX_EXTRA_BYTES, + MPEGLAYER3_ID_MPEG, + MPEGLAYER3_FLAG_PADDING_OFF, + WAVE_FORMAT_PCM, + +) + + +QWORD = c_ulonglong + + +""" + WAVE_FORMAT_MPEGLAYER3, // WORD wFormatTag; /* format type */ + 2, // WORD nChannels; /* number of channels (i.e. mono, stereo...) */ + 44100, // DWORD nSamplesPerSec; /* sample rate */ + 128 * (1024 / 8), // DWORD nAvgBytesPerSec; not really used but must be one of 64, 96, 112, 128, 160kbps + 1, // WORD nBlockAlign; /* block size of data */ + 0, // WORD wBitsPerSample; /* number of bits per sample of mono data */ + MPEGLAYER3_WFX_EXTRA_BYTES, // WORD cbSize; + }, + MPEGLAYER3_ID_MPEG, // WORD wID; + MPEGLAYER3_FLAG_PADDING_OFF, // DWORD fdwFlags; + MP3_BLOCK_SIZE, // WORD nBlockSize; + 1, // WORD nFramesPerBlock; + 1393, // WORD nCodecDelay; + }; + + // ----------------------------------------------------------------------------------- + // Extract and verify mp3 info : duration, type = mp3, sampleRate = 44100, channels = 2 + // ----------------------------------------------------------------------------------- + + // Initialize COM + CoInitialize(0); + + // Create SyncReader + mp3Assert( WMCreateSyncReader( NULL, WMT_RIGHT_PLAYBACK , &wmSyncReader ) ); + + // Alloc With global and create IStream + mp3HGlobal = GlobalAlloc(GPTR, mp3InputBufferSize); + assert(mp3HGlobal != 0); + void* mp3HGlobalBuffer = GlobalLock(mp3HGlobal); + memcpy(mp3HGlobalBuffer, mp3InputBuffer, mp3InputBufferSize); + GlobalUnlock(mp3HGlobal); + mp3Assert( CreateStreamOnHGlobal(mp3HGlobal, FALSE, &mp3Stream) ); + + // Open MP3 Stream + mp3Assert( wmSyncReader->OpenStream(mp3Stream) ); + + // Get HeaderInfo interface + mp3Assert( wmSyncReader->QueryInterface(&wmHeaderInfo) ); + + // Retrieve mp3 song duration in seconds + WORD lengthDataType = sizeof(QWORD); + mp3Assert( wmHeaderInfo->GetAttributeByName(&wmStreamNum, L"Duration", &wmAttrDataType, (BYTE*)&durationInNano, &lengthDataType ) ); + durationInSecond = ((double)durationInNano)/10000000.0; + durationInSecondInt = (int)(durationInNano/10000000)+1; + + // Sequence of call to get the MediaType + // WAVEFORMATEX for mp3 can then be extract from MediaType + mp3Assert( wmSyncReader->QueryInterface(&wmProfile) ); + mp3Assert( wmProfile->GetStream(0, &wmStreamConfig) ); + mp3Assert( wmStreamConfig->QueryInterface(&wmMediaProperties) ); + + // Retrieve sizeof MediaType + mp3Assert( wmMediaProperties->GetMediaType(NULL, &sizeMediaType) ); + + // Retrieve MediaType + WM_MEDIA_TYPE* mediaType = (WM_MEDIA_TYPE*)LocalAlloc(LPTR,sizeMediaType); + mp3Assert( wmMediaProperties->GetMediaType(mediaType, &sizeMediaType) ); + + // Check that MediaType is audio + assert(mediaType->majortype == WMMEDIATYPE_Audio); + // assert(mediaType->pbFormat == WMFORMAT_WaveFormatEx); + + // Check that input is mp3 + WAVEFORMATEX* inputFormat = (WAVEFORMATEX*)mediaType->pbFormat; + assert( inputFormat->wFormatTag == WAVE_FORMAT_MPEGLAYER3); + assert( inputFormat->nSamplesPerSec == 44100); + assert( inputFormat->nChannels == 2); + + // Release COM interface + // wmSyncReader->Close(); + wmMediaProperties->Release(); + wmStreamConfig->Release(); + wmProfile->Release(); + wmHeaderInfo->Release(); + wmSyncReader->Release(); + + // Free allocated mem + LocalFree(mediaType); + + // ----------------------------------------------------------------------------------- + // Convert mp3 to pcm using acm driver + // The following code is mainly inspired from http://david.weekly.org/code/mp3acm.html + // ----------------------------------------------------------------------------------- + + // Get maximum FormatSize for all acm + mp3Assert( acmMetrics( NULL, ACM_METRIC_MAX_SIZE_FORMAT, &maxFormatSize ) ); + + // Allocate PCM output sound buffer + bufferLength = durationInSecond * pcmFormat.nAvgBytesPerSec; + soundBuffer = (BYTE*)LocalAlloc(LPTR, bufferLength); + + acmMp3stream = NULL; + switch ( acmStreamOpen( &acmMp3stream, // Open an ACM conversion stream + NULL, // Query all ACM drivers + (LPWAVEFORMATEX)&mp3Format, // input format : mp3 + &pcmFormat, // output format : pcm + NULL, // No filters + 0, // No async callback + 0, // No data for callback + 0 // No flags + ) + ) { + case MMSYSERR_NOERROR: + break; // success! + case MMSYSERR_INVALPARAM: + assert( !"Invalid parameters passed to acmStreamOpen" ); + return E_FAIL; + case ACMERR_NOTPOSSIBLE: + assert( !"No ACM filter found capable of decoding MP3" ); + return E_FAIL; + default: + assert( !"Some error opening ACM decoding stream!" ); + return E_FAIL; + } + + // Determine output decompressed buffer size + unsigned long rawbufsize = 0; + mp3Assert( acmStreamSize( acmMp3stream, MP3_BLOCK_SIZE, &rawbufsize, ACM_STREAMSIZEF_SOURCE ) ); + assert( rawbufsize > 0 ); + + // allocate our I/O buffers + static BYTE mp3BlockBuffer[MP3_BLOCK_SIZE]; + //LPBYTE mp3BlockBuffer = (LPBYTE) LocalAlloc( LPTR, MP3_BLOCK_SIZE ); + LPBYTE rawbuf = (LPBYTE) LocalAlloc( LPTR, rawbufsize ); + + // prepare the decoder + static ACMSTREAMHEADER mp3streamHead; + // memset( &mp3streamHead, 0, sizeof(ACMSTREAMHEADER ) ); + mp3streamHead.cbStruct = sizeof(ACMSTREAMHEADER ); + mp3streamHead.pbSrc = mp3BlockBuffer; + mp3streamHead.cbSrcLength = MP3_BLOCK_SIZE; + mp3streamHead.pbDst = rawbuf; + mp3streamHead.cbDstLength = rawbufsize; + mp3Assert( acmStreamPrepareHeader( acmMp3stream, &mp3streamHead, 0 ) ); + + BYTE* currentOutput = soundBuffer; + DWORD totalDecompressedSize = 0; + + static ULARGE_INTEGER newPosition; + static LARGE_INTEGER seekValue; + mp3Assert( mp3Stream->Seek(seekValue, STREAM_SEEK_SET, &newPosition) ); + + while(1) { + // suck in some MP3 data + ULONG count; + mp3Assert( mp3Stream->Read(mp3BlockBuffer, MP3_BLOCK_SIZE, &count) ); + if( count != MP3_BLOCK_SIZE ) + break; + + // convert the data + mp3Assert( acmStreamConvert( acmMp3stream, &mp3streamHead, ACM_STREAMCONVERTF_BLOCKALIGN ) ); + + // write the decoded PCM to disk + //count = fwrite( rawbuf, 1, mp3streamHead.cbDstLengthUsed, fpOut ); + memcpy(currentOutput, rawbuf, mp3streamHead.cbDstLengthUsed); + totalDecompressedSize += mp3streamHead.cbDstLengthUsed; + currentOutput += mp3streamHead.cbDstLengthUsed; + }; + + mp3Assert( acmStreamUnprepareHeader( acmMp3stream, &mp3streamHead, 0 ) ); + LocalFree(rawbuf); + mp3Assert( acmStreamClose( acmMp3stream, 0 ) ); + + // Release allocated memory + mp3Stream->Release(); + GlobalFree(mp3HGlobal); + return S_OK; + } + + /* + * Close : close the current MP3Player, stop playback and free allocated memory + */ + void __inline Close() { + // Reset before close (otherwise, waveOutClose will not work on playing buffer) + waveOutReset(hWaveOut); + // Close the waveOut + waveOutClose(hWaveOut); + // Free allocated memory + LocalFree(soundBuffer); + } + + /* + * GetDuration : return the music duration in seconds + */ + double __inline GetDuration() { + return durationInSecond; + } + + /* + * GetPosition : return the current position from the sound playback (used from sync) + */ + double GetPosition() { + static MMTIME MMTime = { TIME_SAMPLES, 0}; + waveOutGetPosition(hWaveOut, &MMTime, sizeof(MMTIME)); + return ((double)MMTime.u.sample)/( 44100.0); + } + + /* + * Play : play the previously opened mp3 + */ + void Play() { + static WAVEHDR WaveHDR = { (LPSTR)soundBuffer, bufferLength }; + + // Define output format + static WAVEFORMATEX pcmFormat = { + WAVE_FORMAT_PCM, // WORD wFormatTag; /* format type */ + 2, // WORD nChannels; /* number of channels (i.e. mono, stereo...) */ + 44100, // DWORD nSamplesPerSec; /* sample rate */ + 4 * 44100, // DWORD nAvgBytesPerSec; /* for buffer estimation */ + 4, // WORD nBlockAlign; /* block size of data */ + 16, // WORD wBitsPerSample; /* number of bits per sample of mono data */ + 0, // WORD cbSize; /* the count in bytes of the size of */ + }; + + mp3Assert( waveOutOpen( &hWaveOut, WAVE_MAPPER, &pcmFormat, NULL, 0, CALLBACK_NULL ) ); + mp3Assert( waveOutPrepareHeader( hWaveOut, &WaveHDR, sizeof(WaveHDR) ) ); + mp3Assert( waveOutWrite ( hWaveOut, &WaveHDR, sizeof(WaveHDR) ) ); + } +}; + +#pragma function(memset,memcpy,memcmp) +""" + +from mmreg import WAVEFORMATEX, MPEGLAYER3WAVEFORMAT diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/policyconfig.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/policyconfig.py new file mode 100644 index 000000000..cb6e8ea0e --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/policyconfig.py @@ -0,0 +1,272 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +import ctypes +import comtypes +from enum import ERole +from audioclient import PWAVEFORMATEX +from propertystore import ( + PPROPERTYKEY, + PPROPVARIANT +) +from iid import ( + IID_IPolicyConfig, + CLSID_PolicyConfigClient, + IID_IPolicyConfigVista, + CLSID_PolicyConfigVistaClient, + IID_AudioSes +) + +from ctypes.wintypes import ( + INT, + BOOL, + LPCWSTR +) + +COMMETHOD = comtypes.COMMETHOD +POINTER = ctypes.POINTER +GUID = comtypes.GUID +REFERENCE_TIME = ctypes.c_longlong +HRESULT = ctypes.HRESULT + + +LPCGUID = POINTER(GUID) +LPREFERENCE_TIME = POINTER(REFERENCE_TIME) + + +class DeviceSharedMode(ctypes.Structure): + _fields_ = [ + ('dummy_', INT) + ] + + +PDeviceSharedMode = POINTER(DeviceSharedMode) + + +class IPolicyConfig(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IPolicyConfig + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetMixFormat', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['out'], POINTER(PWAVEFORMATEX), 'pFormat') + ), + COMMETHOD( + [], + HRESULT, + 'GetDeviceFormat', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], BOOL, 'bDefault'), + (['out'], POINTER(PWAVEFORMATEX), 'pFormat') + ), + COMMETHOD( + [], + HRESULT, + 'ResetDeviceFormat', + (['in'], LPCWSTR, 'pwstrDeviceId') + ), + COMMETHOD( + [], + HRESULT, + 'SetDeviceFormat', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], PWAVEFORMATEX, 'pEndpointFormat'), + (['in'], PWAVEFORMATEX, 'pMixFormat') + ), + + COMMETHOD( + [], + HRESULT, + 'GetProcessingPeriod', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], BOOL, 'bDefault'), + (['out'], LPREFERENCE_TIME, 'hnsDefaultDevicePeriod'), + (['out'], LPREFERENCE_TIME, 'hnsMinimumDevicePeriod') + ), + COMMETHOD( + [], + HRESULT, + 'SetProcessingPeriod', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], LPREFERENCE_TIME, 'hnsDevicePeriod') + ), + COMMETHOD( + [], + HRESULT, + 'GetShareMode', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['out'], PDeviceSharedMode, 'pMode') + ), + COMMETHOD( + [], + HRESULT, + 'SetShareMode', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], PDeviceSharedMode, 'pMode') + ), + COMMETHOD( + [], + HRESULT, + 'GetPropertyValue', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], PPROPERTYKEY, 'key'), + (['out'], PPROPVARIANT, 'pValue') + ), + COMMETHOD( + [], + HRESULT, + 'SetPropertyValue', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], PPROPERTYKEY, 'key'), + (['in'], PPROPVARIANT, 'pValue') + ), + COMMETHOD( + [], + HRESULT, + 'SetDefaultEndpoint', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], ERole, 'ERole') + ), + COMMETHOD( + [], + HRESULT, + 'SetEndpointVisibility', + (['in'], LPCWSTR, 'pwstrDeviceId'), + (['in'], BOOL, 'bVisible') + ) + ) + + +PIPolicyConfig = POINTER(IPolicyConfig) + + +class IPolicyConfigVista(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IPolicyConfigVista + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetMixFormat', + (['in'], LPCWSTR, 'wszDeviceId'), + (['out'], POINTER(PWAVEFORMATEX), 'pFormat') + ), + COMMETHOD( + [], + HRESULT, + 'GetDeviceFormat', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], BOOL, 'bDefault'), + (['out'], POINTER(PWAVEFORMATEX), 'pFormat') + ), + COMMETHOD( + [], + HRESULT, + 'SetDeviceFormat', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], PWAVEFORMATEX, 'pEndpointFormat'), + (['in'], PWAVEFORMATEX, 'pMixFormat') + ), + + COMMETHOD( + [], + HRESULT, + 'GetProcessingPeriod', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], BOOL, 'bDefault'), + (['out'], LPREFERENCE_TIME, 'hnsDefaultDevicePeriod'), + (['out'], LPREFERENCE_TIME, 'hnsMinimumDevicePeriod') + ), + COMMETHOD( + [], + HRESULT, + 'SetProcessingPeriod', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], LPREFERENCE_TIME, 'hnsDevicePeriod') + ), + COMMETHOD( + [], + HRESULT, + 'GetShareMode', + (['in'], LPCWSTR, 'wszDeviceId'), + (['out'], PDeviceSharedMode, 'pMode') + ), + COMMETHOD( + [], + HRESULT, + 'SetShareMode', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], PDeviceSharedMode, 'pMode') + ), + COMMETHOD( + [], + HRESULT, + 'GetPropertyValue', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], PPROPERTYKEY, 'key'), + (['out'], PPROPVARIANT, 'pValue') + ), + COMMETHOD( + [], + HRESULT, + 'SetPropertyValue', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], PPROPERTYKEY, 'key'), + (['in'], PPROPVARIANT, 'pValue') + ), + COMMETHOD( + [], + HRESULT, + 'SetDefaultEndpoint', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], ERole, 'ERole') + ), + COMMETHOD( + [], + HRESULT, + 'SetEndpointVisibility', + (['in'], LPCWSTR, 'wszDeviceId'), + (['in'], BOOL, 'bVisible') + ) + ) + + +PIPolicyConfigVista = POINTER(IPolicyConfigVista) + + +class AudioSes(object): + name = u'AudioSes' + _reg_typelib_ = (IID_AudioSes, 1, 0) + + +class CPolicyConfigClient (comtypes.CoClass): + _reg_clsid_ = CLSID_PolicyConfigClient + _idlflags_ = [] + _reg_typelib_ = (IID_AudioSes, 1, 0) + _com_interfaces_ = [IPolicyConfig] + + +class CPolicyConfigVistaClient(comtypes.CoClass): + _reg_clsid_ = CLSID_PolicyConfigVistaClient + _idlflags_ = [] + _reg_typelib_ = (IID_AudioSes, 1, 0) + _com_interfaces_ = [IPolicyConfigVista] diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/propertystore.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/propertystore.py new file mode 100644 index 000000000..dd3869f6f --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/propertystore.py @@ -0,0 +1,987 @@ +import ctypes + +from ctypes.wintypes import ( + LARGE_INTEGER, + VARIANT_BOOL, + FILETIME, + ULARGE_INTEGER, + ULONG, + SHORT, + USHORT, + INT, + FLOAT, + DOUBLE, + UINT +) +from comtypes.automation import ( + SCODE, + IDispatch, + VARIANT +) +from comtypes import ( + COMMETHOD, + IUnknown, + GUID, + BSTR +) +from comtypes.typeinfo import ( + tagSAFEARRAYBOUND, + tagTYPEDESC, + tagARRAYDESC, + IRecordInfo +) + +STRING = ctypes.c_char_p +WSTRING = ctypes.c_wchar_p +LONGLONG = ctypes.c_longlong +UBYTE = ctypes.c_ubyte +ULONGLONG = ctypes.c_ulonglong +CHAR = ctypes.c_char +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER + + +class tagCAUH(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(ULARGE_INTEGER)), + ] + + +class _wireSAFEARR_DISPATCH(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('apDispatch', POINTER(POINTER(IDispatch))), + ] + + +class tagCACY(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(LONGLONG)), + ] + + +class tagSTATSTG(ctypes.Structure): + pass + + +tagSTATSTG._fields_ = [ + ('pwcsName', WSTRING), + ('type', ULONG), + ('cbSize', ULARGE_INTEGER), + ('mtime', FILETIME), + ('ctime', FILETIME), + ('atime', FILETIME), + ('grfMode', ULONG), + ('grfLocksSupported', ULONG), + ('clsid', GUID), + ('grfStateBits', ULONG), + ('reserved', ULONG), +] + + +class __MIDL___MIDL_itf_mmdeviceapi_0003_0085_0001(ctypes.Union): + pass + + +class tagCLIPDATA(ctypes.Structure): + pass + + +class tagBSTRBLOB(ctypes.Structure): + _fields_ = [ + ('cbSize', ULONG), + ('pData', POINTER(UBYTE)), + ] + + +class tagBLOB(ctypes.Structure): + _fields_ = [ + ('cbSize', ULONG), + ('pBlobData', POINTER(UBYTE)), + ] + + +class ISequentialStream(IUnknown): + _case_insensitive_ = True + _iid_ = GUID('{0C733A30-2A1C-11CE-ADE5-00AA0044773D}') + _idlflags_ = [] + + +class IStream(ISequentialStream): + _case_insensitive_ = True + _iid_ = GUID('{0000000C-0000-0000-C000-000000000046}') + _idlflags_ = [] + + +class IStorage(IUnknown): + _case_insensitive_ = True + _iid_ = GUID('{0000000B-0000-0000-C000-000000000046}') + _idlflags_ = [] + + +class tagVersionedStream(ctypes.Structure): + pass + + +class _wireSAFEARRAY(ctypes.Structure): + pass + + +wirePSAFEARRAY = POINTER(POINTER(_wireSAFEARRAY)) + + +class tagCAC(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', STRING), + ] + + +class tagCAUB(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(UBYTE)), + ] + + +class tagCAI(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(SHORT)), + ] + + +class tagCAUI(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(USHORT)), + ] + + +class tagCAL(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(INT)), + ] + + +class tagCAUL(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(ULONG)), + ] + + +class tagCAH(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(LARGE_INTEGER)), + ] + + +class tagCAFLT(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(FLOAT)), + ] + + +class tagCADBL(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(DOUBLE)), + ] + + +class tagCABOOL(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(VARIANT_BOOL)), + ] + + +class tagCASCODE(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(SCODE)), + ] + + +class tagCADATE(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(DOUBLE)), + ] + + +class tagCAFILETIME(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(FILETIME)), + ] + + +class tagCACLSID(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(GUID)), + ] + + +class tagCACLIPDATA(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(tagCLIPDATA)), + ] + + +class tagCABSTR(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(BSTR)), + ] + + +class tagCABSTRBLOB(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(tagBSTRBLOB)), + ] + + +class tagCALPSTR(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(STRING)), + ] + + +class tagCALPWSTR(ctypes.Structure): + _fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(WSTRING)), + ] + + +class tagCAPROPVARIANT(ctypes.Structure): + pass + + +class tag_inner_PROPVARIANT(ctypes.Structure): + pass + + +tagCAPROPVARIANT._fields_ = [ + ('cElems', ULONG), + ('pElems', POINTER(tag_inner_PROPVARIANT)), +] + + +class DECIMAL(ctypes.Structure): + _fields_ = [ + ("wReserved", USHORT), + ("scale", UBYTE), + ("sign", UBYTE), + ("Hi32", ULONG), + ("Lo64", ULONGLONG) + ] + + +__MIDL___MIDL_itf_mmdeviceapi_0003_0085_0001._fields_ = [ + ('cVal', CHAR), + ('bVal', UBYTE), + ('iVal', SHORT), + ('uiVal', USHORT), + ('lVal', INT), + ('ulVal', ULONG), + ('intVal', INT), + ('uintVal', UINT), + ('hVal', LARGE_INTEGER), + ('uhVal', ULARGE_INTEGER), + ('fltVal', FLOAT), + ('dblVal', DOUBLE), + ('boolVal', VARIANT_BOOL), + ('bool', VARIANT_BOOL), + ('scode', SCODE), + ('cyVal', LONGLONG), + ('date', DOUBLE), + ('filetime', FILETIME), + ('puuid', POINTER(GUID)), + ('pClipData', POINTER(tagCLIPDATA)), + ('bstrVal', BSTR), + ('bstrblobVal', tagBSTRBLOB), + ('blob', tagBLOB), + ('pszVal', STRING), + ('pwszVal', WSTRING), + ('punkVal', POINTER(IUnknown)), + ('pdispVal', POINTER(IDispatch)), + ('pStream', POINTER(IStream)), + ('pStorage', POINTER(IStorage)), + ('pVersionedStream', POINTER(tagVersionedStream)), + ('parray', wirePSAFEARRAY), + ('cac', tagCAC), + ('caub', tagCAUB), + ('cai', tagCAI), + ('caui', tagCAUI), + ('cal', tagCAL), + ('caul', tagCAUL), + ('cah', tagCAH), + ('cauh', tagCAUH), + ('caflt', tagCAFLT), + ('cadbl', tagCADBL), + ('cabool', tagCABOOL), + ('cascode', tagCASCODE), + ('cacy', tagCACY), + ('cadate', tagCADATE), + ('cafiletime', tagCAFILETIME), + ('cauuid', tagCACLSID), + ('caclipdata', tagCACLIPDATA), + ('cabstr', tagCABSTR), + ('cabstrblob', tagCABSTRBLOB), + ('calpstr', tagCALPSTR), + ('calpwstr', tagCALPWSTR), + ('capropvar', tagCAPROPVARIANT), + ('pcVal', STRING), + ('pbVal', POINTER(UBYTE)), + ('piVal', POINTER(SHORT)), + ('puiVal', POINTER(USHORT)), + ('plVal', POINTER(INT)), + ('pulVal', POINTER(ULONG)), + ('pintVal', POINTER(INT)), + ('puintVal', POINTER(UINT)), + ('pfltVal', POINTER(FLOAT)), + ('pdblVal', POINTER(DOUBLE)), + ('pboolVal', POINTER(VARIANT_BOOL)), + ('pdecVal', POINTER(DECIMAL)), + ('pscode', POINTER(SCODE)), + ('pcyVal', POINTER(LONGLONG)), + ('pdate', POINTER(DOUBLE)), + ('pbstrVal', POINTER(BSTR)), + ('ppunkVal', POINTER(POINTER(IUnknown))), + ('ppdispVal', POINTER(POINTER(IDispatch))), + ('pparray', POINTER(wirePSAFEARRAY)), + ('pvarVal', POINTER(tag_inner_PROPVARIANT)), +] +ISequentialStream._methods_ = [ + COMMETHOD( + [], + HRESULT, + 'RemoteRead', + (['out'], POINTER(UBYTE), 'pv'), + (['in'], ULONG, 'cb'), + (['out'], POINTER(ULONG), 'pcbRead') + ), + COMMETHOD( + [], + HRESULT, + 'RemoteWrite', + (['in'], POINTER(UBYTE), 'pv'), + (['in'], ULONG, 'cb'), + (['out'], POINTER(ULONG), 'pcbWritten') + ), +] + + +IStream._methods_ = [ + COMMETHOD( + [], + HRESULT, + 'RemoteSeek', + (['in'], LARGE_INTEGER, 'dlibMove'), + (['in'], ULONG, 'dwOrigin'), + (['out'], POINTER(ULARGE_INTEGER), 'plibNewPosition') + ), + COMMETHOD( + [], + HRESULT, + 'SetSize', + (['in'], ULARGE_INTEGER, 'libNewSize') + ), + COMMETHOD( + [], + HRESULT, + 'RemoteCopyTo', + (['in'], POINTER(IStream), 'pstm'), + (['in'], ULARGE_INTEGER, 'cb'), + (['out'], POINTER(ULARGE_INTEGER), 'pcbRead'), + (['out'], POINTER(ULARGE_INTEGER), 'pcbWritten') + ), + COMMETHOD( + [], + HRESULT, + 'Commit', + (['in'], ULONG, 'grfCommitFlags') + ), + COMMETHOD( + [], + HRESULT, + 'Revert' + ), + COMMETHOD( + [], + HRESULT, + 'LockRegion', + (['in'], ULARGE_INTEGER, 'libOffset'), + (['in'], ULARGE_INTEGER, 'cb'), + (['in'], ULONG, 'dwLockType') + ), + COMMETHOD( + [], + HRESULT, + 'UnlockRegion', + (['in'], ULARGE_INTEGER, 'libOffset'), + (['in'], ULARGE_INTEGER, 'cb'), + (['in'], ULONG, 'dwLockType') + ), + COMMETHOD( + [], + HRESULT, + 'Stat', + (['out'], POINTER(tagSTATSTG), 'pstatstg'), + (['in'], ULONG, 'grfStatFlag') + ), + COMMETHOD( + [], + HRESULT, + 'Clone', + (['out'], POINTER(POINTER(IStream)), 'ppstm') + ), +] + + +class _FLAGGED_WORD_BLOB(ctypes.Structure): + _fields_ = [ + ('fFlags', ULONG), + ('clSize', ULONG), + ('asData', POINTER(USHORT)), + ] + + +class _IPropertyStore(IUnknown): + _case_insensitive_ = True + u'Simple Property Store Interface' + _iid_ = GUID('{886D8EEB-8CF2-4446-8D02-CDBA1DBDCF99}') + _idlflags_ = [] + + +class _tagpropertykey(ctypes.Structure): + pass + + +_IPropertyStore._methods_ = [ + COMMETHOD( + [], + HRESULT, + 'GetCount', + (['out'], POINTER(ULONG), 'cProps') + ), + COMMETHOD( + [], + HRESULT, + 'GetAt', + (['in'], ULONG, 'iProp'), + (['out'], POINTER(_tagpropertykey), 'pkey') + ), + COMMETHOD( + [], + HRESULT, + 'GetValue', + (['in'], POINTER(_tagpropertykey), 'key'), + (['out'], POINTER(tag_inner_PROPVARIANT), 'pv') + ), + COMMETHOD( + [], + HRESULT, + 'SetValue', + (['in'], POINTER(_tagpropertykey), 'key'), + (['in'], POINTER(tag_inner_PROPVARIANT), 'propvar') + ), + COMMETHOD( + [], + HRESULT, + 'Commit' + ), +] + +tagVersionedStream._fields_ = [ + ('guidVersion', GUID), + ('pStream', POINTER(IStream)), +] +_tagpropertykey._fields_ = [ + ('fmtid', GUID), + ('pid', ULONG), +] + + +class __MIDL_IOleAutomationTypes_0005(ctypes.Union): + pass + + +__MIDL_IOleAutomationTypes_0005._fields_ = [ + ('lptdesc', POINTER(tagTYPEDESC)), + ('lpadesc', POINTER(tagARRAYDESC)), + ('hreftype', ULONG), +] + + +class _BYTE_SIZEDARR(ctypes.Structure): + _fields_ = [ + ('clSize', ULONG), + ('pData', POINTER(UBYTE)), + ] + + +tagCLIPDATA._fields_ = [ + ('cbSize', ULONG), + ('ulClipFmt', INT), + ('pClipData', POINTER(UBYTE)), +] + + +class _wireSAFEARR_UNKNOWN(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('apUnknown', POINTER(POINTER(IUnknown))), + ] + + +class _wireSAFEARR_VARIANT(ctypes.Structure): + pass + + +class _wireVARIANT(ctypes.Structure): + pass + + +_wireSAFEARR_VARIANT._fields_ = [ + ('Size', ULONG), + ('aVariant', POINTER(POINTER(_wireVARIANT))), +] + + +class __MIDL_IOleAutomationTypes_0006(ctypes.Union): + pass + + +__MIDL_IOleAutomationTypes_0006._fields_ = [ + ('oInst', ULONG), + ('lpvarValue', POINTER(VARIANT)), +] + + +class __MIDL_IOleAutomationTypes_0004(ctypes.Union): + pass + + +class _wireBRECORD(ctypes.Structure): + pass + + +__MIDL_IOleAutomationTypes_0004._fields_ = [ + ('llVal', LONGLONG), + ('lVal', INT), + ('bVal', UBYTE), + ('iVal', SHORT), + ('fltVal', FLOAT), + ('dblVal', DOUBLE), + ('boolVal', VARIANT_BOOL), + ('scode', SCODE), + ('cyVal', LONGLONG), + ('date', DOUBLE), + ('bstrVal', POINTER(_FLAGGED_WORD_BLOB)), + ('punkVal', POINTER(IUnknown)), + ('pdispVal', POINTER(IDispatch)), + ('parray', POINTER(POINTER(_wireSAFEARRAY))), + ('brecVal', POINTER(_wireBRECORD)), + ('pbVal', POINTER(UBYTE)), + ('piVal', POINTER(SHORT)), + ('plVal', POINTER(INT)), + ('pllVal', POINTER(LONGLONG)), + ('pfltVal', POINTER(FLOAT)), + ('pdblVal', POINTER(DOUBLE)), + ('pboolVal', POINTER(VARIANT_BOOL)), + ('pscode', POINTER(SCODE)), + ('pcyVal', POINTER(LONGLONG)), + ('pdate', POINTER(DOUBLE)), + ('pbstrVal', POINTER(POINTER(_FLAGGED_WORD_BLOB))), + ('ppunkVal', POINTER(POINTER(IUnknown))), + ('ppdispVal', POINTER(POINTER(IDispatch))), + ('pparray', POINTER(POINTER(POINTER(_wireSAFEARRAY)))), + ('pvarVal', POINTER(POINTER(_wireVARIANT))), + ('cVal', CHAR), + ('uiVal', USHORT), + ('ulVal', ULONG), + ('ullVal', ULONGLONG), + ('intVal', INT), + ('uintVal', UINT), + ('decVal', DECIMAL), + ('pdecVal', POINTER(DECIMAL)), + ('pcVal', STRING), + ('puiVal', POINTER(USHORT)), + ('pulVal', POINTER(ULONG)), + ('pullVal', POINTER(ULONGLONG)), + ('pintVal', POINTER(INT)), + ('puintVal', POINTER(UINT)), +] +_wireVARIANT._fields_ = [ + ('clSize', ULONG), + ('rpcReserved', ULONG), + ('vt', USHORT), + ('wReserved1', USHORT), + ('wReserved2', USHORT), + ('wReserved3', USHORT), + ('DUMMYUNIONNAME', __MIDL_IOleAutomationTypes_0004), +] + + +class __MIDL_IOleAutomationTypes_0001(ctypes.Union): + pass + + +class _wireSAFEARR_BSTR(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('aBstr', POINTER(POINTER(_FLAGGED_WORD_BLOB))), + ] + + +class _wireSAFEARR_BRECORD(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('aRecord', POINTER(POINTER(_wireBRECORD))), + ] + + +class _wireSAFEARR_HAVEIID(ctypes.Structure): + _fields_ = [ + ('Size', ULONG), + ('apUnknown', POINTER(POINTER(IUnknown))), + ('iid', GUID), + ] + + +class _SHORT_SIZEDARR(ctypes.Structure): + _fields_ = [ + ('clSize', ULONG), + ('pData', POINTER(USHORT)), + ] + + +class _LONG_SIZEDARR(ctypes.Structure): + _fields_ = [ + ('clSize', ULONG), + ('pData', POINTER(ULONG)), + ] + + +class _HYPER_SIZEDARR(ctypes.Structure): + _fields_ = [ + ('clSize', ULONG), + ('pData', POINTER(LONGLONG)), + ] + + +__MIDL_IOleAutomationTypes_0001._fields_ = [ + ('BstrStr', _wireSAFEARR_BSTR), + ('UnknownStr', _wireSAFEARR_UNKNOWN), + ('DispatchStr', _wireSAFEARR_DISPATCH), + ('VariantStr', _wireSAFEARR_VARIANT), + ('RecordStr', _wireSAFEARR_BRECORD), + ('HaveIidStr', _wireSAFEARR_HAVEIID), + ('ByteStr', _BYTE_SIZEDARR), + ('WordStr', _SHORT_SIZEDARR), + ('LongStr', _LONG_SIZEDARR), + ('HyperStr', _HYPER_SIZEDARR), +] + + +class tagRemSNB(ctypes.Structure): + _fields_ = [ + ('ulCntStr', ULONG), + ('ulCntChar', ULONG), + ('rgString', POINTER(USHORT)), + ] + + +class _wireSAFEARRAY_UNION(ctypes.Structure): + pass + + +_wireSAFEARRAY_UNION._fields_ = [ + ('sfType', ULONG), + ('u', __MIDL_IOleAutomationTypes_0001), +] +_wireSAFEARRAY._fields_ = [ + ('cDims', USHORT), + ('fFeatures', USHORT), + ('cbElements', ULONG), + ('cLocks', ULONG), + ('uArrayStructs', _wireSAFEARRAY_UNION), + ('rgsabound', POINTER(tagSAFEARRAYBOUND)), +] +_wireBRECORD._fields_ = [ + ('fFlags', ULONG), + ('clSize', ULONG), + ('pRecInfo', POINTER(IRecordInfo)), + ('pRecord', POINTER(UBYTE)), +] + + +class IEnumSTATSTG(IUnknown): + _case_insensitive_ = True + _iid_ = GUID('{0000000D-0000-0000-C000-000000000046}') + _idlflags_ = [] + + +IEnumSTATSTG._methods_ = [ + COMMETHOD( + [], + HRESULT, + 'RemoteNext', + (['in'], ULONG, 'celt'), + (['out'], POINTER(tagSTATSTG), 'rgelt'), + (['out'], POINTER(ULONG), 'pceltFetched') + ), + COMMETHOD( + [], + HRESULT, + 'Skip', + (['in'], ULONG, 'celt') + ), + COMMETHOD( + [], + HRESULT, + 'Reset' + ), + COMMETHOD( + [], + HRESULT, + 'Clone', + (['out'], POINTER(POINTER(IEnumSTATSTG)), 'ppenum') + ), +] + +tag_inner_PROPVARIANT._fields_ = [ + ('vt', USHORT), + ('wReserved1', UBYTE), + ('wReserved2', UBYTE), + ('wReserved3', ULONG), + ( + '__MIDL____MIDL_itf_mmdeviceapi_0003_00850001', + __MIDL___MIDL_itf_mmdeviceapi_0003_0085_0001 + ), +] +wireSNB = POINTER(tagRemSNB) +IStorage._methods_ = [ + COMMETHOD( + [], + HRESULT, + 'CreateStream', + (['in'], WSTRING, 'pwcsName'), + (['in'], ULONG, 'grfMode'), + (['in'], ULONG, 'reserved1'), + (['in'], ULONG, 'reserved2'), + (['out'], POINTER(POINTER(IStream)), 'ppstm') + ), + COMMETHOD( + [], + HRESULT, + 'RemoteOpenStream', + (['in'], WSTRING, 'pwcsName'), + (['in'], ULONG, 'cbReserved1'), + (['in'], POINTER(UBYTE), 'reserved1'), + (['in'], ULONG, 'grfMode'), + (['in'], ULONG, 'reserved2'), + (['out'], POINTER(POINTER(IStream)), 'ppstm') + ), + COMMETHOD( + [], + HRESULT, + 'CreateStorage', + (['in'], WSTRING, 'pwcsName'), + (['in'], ULONG, 'grfMode'), + (['in'], ULONG, 'reserved1'), + (['in'], ULONG, 'reserved2'), + (['out'], POINTER(POINTER(IStorage)), 'ppstg') + ), + COMMETHOD( + [], + HRESULT, + 'OpenStorage', + (['in'], WSTRING, 'pwcsName'), + (['in'], POINTER(IStorage), 'pstgPriority'), + (['in'], ULONG, 'grfMode'), + (['in'], wireSNB, 'snbExclude'), + (['in'], ULONG, 'reserved'), + (['out'], POINTER(POINTER(IStorage)), 'ppstg') + ), + COMMETHOD( + [], + HRESULT, + 'RemoteCopyTo', + (['in'], ULONG, 'ciidExclude'), + (['in'], POINTER(GUID), 'rgiidExclude'), + (['in'], wireSNB, 'snbExclude'), + (['in'], POINTER(IStorage), 'pstgDest') + ), + COMMETHOD( + [], + HRESULT, + 'MoveElementTo', + (['in'], WSTRING, 'pwcsName'), + (['in'], POINTER(IStorage), 'pstgDest'), + (['in'], WSTRING, 'pwcsNewName'), + (['in'], ULONG, 'grfFlags') + ), + COMMETHOD( + [], + HRESULT, + 'Commit', + (['in'], ULONG, 'grfCommitFlags') + ), + COMMETHOD( + [], + HRESULT, + 'Revert' + ), + COMMETHOD( + [], + HRESULT, + 'RemoteEnumElements', + (['in'], ULONG, 'reserved1'), + (['in'], ULONG, 'cbReserved2'), + (['in'], POINTER(UBYTE), 'reserved2'), + (['in'], ULONG, 'reserved3'), + (['out'], POINTER(POINTER(IEnumSTATSTG)), 'ppenum') + ), + COMMETHOD( + [], + HRESULT, + 'DestroyElement', + (['in'], WSTRING, 'pwcsName') + ), + COMMETHOD( + [], + HRESULT, + 'RenameElement', + (['in'], WSTRING, 'pwcsOldName'), + (['in'], WSTRING, 'pwcsNewName') + ), + COMMETHOD( + [], + HRESULT, + 'SetElementTimes', + (['in'], WSTRING, 'pwcsName'), + (['in'], POINTER(FILETIME), 'pctime'), + (['in'], POINTER(FILETIME), 'patime'), + (['in'], POINTER(FILETIME), 'pmtime') + ), + COMMETHOD( + [], + HRESULT, + 'SetClass', + (['in'], POINTER(GUID), 'clsid') + ), + COMMETHOD( + [], + HRESULT, + 'SetStateBits', + (['in'], ULONG, 'grfStateBits'), + (['in'], ULONG, 'grfMask') + ), + COMMETHOD( + [], + HRESULT, + 'Stat', + (['out'], POINTER(tagSTATSTG), 'pstatstg'), + (['in'], ULONG, 'grfStatFlag') + ), +] + + +PROPVARIANT = tag_inner_PROPVARIANT +PPROPVARIANT = POINTER(PROPVARIANT) + +PROPERTYKEY = _tagpropertykey +PPROPERTYKEY = POINTER(_tagpropertykey) + + +class IPropertyStore(_IPropertyStore): + + def GetValue(self, key): + value = _IPropertyStore.GetValue(self, key) + + # Types for vt defined here: + # https://msdn.microsoft.com/en-us/library/windows/ + # desktop/aa380072%28v=vs.85%29.aspx + + vt = value.vt + vc = getattr(value, '__MIDL____MIDL_itf_mmdeviceapi_0003_00850001') + + if vt in (0, 1): + return None + if vt == 14: + return vc.decVal + if vt == 73: + return vc.pVersionedStream + if vt in (69, 67): + return vc.pStorage + if vt in (68, 66): + return vc.pStream + if vt == 9: + return vc.pdispVal + if vt == 13: + return vc.punkVal + if vt == 31: + return vc.pwszVal + if vt == 30: + return vc.pszVal + if vt in (70, 65): + return vc.blob + if vt == 0xfff: + return vc.bstrblobVal + if vt == 8: + return vc.bstrVal + if vt == 71: + return vc.pclipdata + if vt == 72: + return vc.puuid + if vt == 64: + return vc.filetime + if vt == 7: + return vc.date + if vt == 6: + return vc.cyVal + if vt == 10: + return vc.scode + if vt == 11: + return vc.boolVal + if vt == 5: + return vc.dblVal + if vt == 4: + return vc.fltVal + if vt == 21: + return vc.uhVal + if vt == 20: + return vc.hVal + if vt == 23: + return vc.uintVal + if vt == 22: + return vc.intVal + if vt == 19: + return vc.ulVal + if vt == 3: + return vc.lVal + if vt == 18: + return vc.uiVal + if vt == 2: + return vc.iVal + if vt == 17: + return vc.bVal + if vt == 16: + return vc.cVal + + +PIPropertyStore = POINTER(IPropertyStore) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudioclient.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudioclient.py new file mode 100644 index 000000000..cd9e39f61 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudioclient.py @@ -0,0 +1,327 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from audioclient import PWAVEFORMATEX +from mmdeviceapi import PPROPVARIANT +from enum import ( + AUDIO_STREAM_CATEGORY, + AudioObjectType, + PAudioObjectType +) +from ctypes.wintypes import ( + FLOAT, + INT, + BOOL, + HANDLE, + LPVOID, + BYTE +) +from iid import ( + IID_IAudioFormatEnumerator, + IID_ISpatialAudioObjectBase, + IID_ISpatialAudioObject, + IID_ISpatialAudioObjectRenderStreamBase, + IID_ISpatialAudioObjectRenderStream, + IID_ISpatialAudioObjectRenderStreamNotify, + IID_ISpatialAudioClient +) + +GUID = comtypes.GUID +COMMETHOD = comtypes.COMMETHOD +UINT32 = ctypes.c_uint32 +LONGLONG = ctypes.c_longlong +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER +REFIID = POINTER(GUID) +LPFLOAT = POINTER(FLOAT) +LPBOOL = POINTER(BOOL) +LPUINT32 = POINTER(UINT32) +LPBYTE = POINTER(BYTE) + + +class ISpatialAudioObjectRenderStreamNotify(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectRenderStreamNotify + + +PISpatialAudioObjectRenderStreamNotify = POINTER( + ISpatialAudioObjectRenderStreamNotify +) + + +class SpatialAudioObjectRenderStreamActivationParams(ctypes.Structure): + _fields_ = [ + ('ObjectFormat', PWAVEFORMATEX), + ('StaticObjectTypeMask', AudioObjectType), + ('MinDynamicObjectCount', UINT32), + ('MaxDynamicObjectCount', UINT32), + ('Category', AUDIO_STREAM_CATEGORY), + ('EventHandle', HANDLE), + ('NotifyObject', PISpatialAudioObjectRenderStreamNotify), + ] + + +PSpatialAudioObjectRenderStreamActivationParams = POINTER( + SpatialAudioObjectRenderStreamActivationParams +) + + +class IAudioFormatEnumerator(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IAudioFormatEnumerator + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetCount', + (['out'], LPUINT32, 'count') + ), + COMMETHOD( + [], + HRESULT, + 'GetFormat', + (['in'], UINT32, 'index'), + (['out'], POINTER(PWAVEFORMATEX), 'format') + ) + ) + + +PIAudioFormatEnumerator = POINTER(IAudioFormatEnumerator) + + +class ISpatialAudioObjectBase(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectBase + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetBuffer', + (['out'], POINTER(LPBYTE), 'buffer'), + (['out'], LPUINT32, 'bufferLength'), + ), + COMMETHOD( + [], + HRESULT, + 'SetEndOfStream', + (['in'], UINT32, 'frameCount') + ), + COMMETHOD( + [], + HRESULT, + 'IsActive', + (['out'], LPBOOL, 'isActive') + ), + COMMETHOD( + [], + HRESULT, + 'GetAudioObjectType', + (['out'], PAudioObjectType, 'audioObjectType') + ) + ) + + +PISpatialAudioObjectBase = POINTER(ISpatialAudioObjectBase) + + +class ISpatialAudioObject(ISpatialAudioObjectBase): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObject + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetPosition', + (['in'], FLOAT, 'x'), + (['in'], FLOAT, 'y'), + (['in'], FLOAT, 'z'), + ), + COMMETHOD( + [], + HRESULT, + 'SetVolume', + (['in'], FLOAT, 'volume') + ) + ) + + +PISpatialAudioObject = POINTER(ISpatialAudioObject) + + +class ISpatialAudioObjectRenderStreamBase(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectRenderStreamBase + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetAvailableDynamicObjectCount', + (['out'], LPUINT32, 'value') + ), + COMMETHOD( + [], + HRESULT, + 'GetService', + (['in'], REFIID, 'riid'), + (['out'], POINTER(LPVOID), 'service') + ), + COMMETHOD( + [], + HRESULT, + 'Start' + ), + COMMETHOD( + [], + HRESULT, + 'Stop' + ), + COMMETHOD( + [], + HRESULT, + 'Reset' + ), + COMMETHOD( + [], + HRESULT, + 'BeginUpdatingAudioObjects', + (['out'], LPUINT32, 'availableDynamicObjectCount'), + (['out'], LPUINT32, 'frameCountPerBuffer') + ), + COMMETHOD( + [], + HRESULT, + 'EndUpdatingAudioObjects' + ) + ) + + +PISpatialAudioObjectRenderStreamBase = POINTER( + ISpatialAudioObjectRenderStreamBase +) + + +class ISpatialAudioObjectRenderStream(ISpatialAudioObjectRenderStreamBase): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectRenderStream + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioObject', + (['in'], AudioObjectType, 'type'), + (['out'], POINTER(PISpatialAudioObject), 'audioObject'), + ), + ) + + +PISpatialAudioObjectRenderStream = POINTER(ISpatialAudioObjectRenderStream) + + +ISpatialAudioObjectRenderStreamNotify._methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnAvailableDynamicObjectCountChange', + (['in'], PISpatialAudioObjectRenderStreamBase, 'pwstrDeviceId'), + (['in'], LONGLONG, 'hnsComplianceDeadlineTime'), + (['in'], UINT32, 'availableDynamicObjectCountChange'), + ), + ) + + +class ISpatialAudioClient(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioClient + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetStaticObjectPosition', + (['in'], AudioObjectType, 'type'), + (['out'], LPFLOAT, 'x'), + (['out'], LPFLOAT, 'y'), + (['out'], LPFLOAT, 'z'), + ), + COMMETHOD( + [], + HRESULT, + 'GetNativeStaticObjectTypeMask', + (['out'], PAudioObjectType, 'mask') + ), + COMMETHOD( + [], + HRESULT, + 'GetMaxDynamicObjectCount', + (['out'], LPUINT32, 'value') + ), + COMMETHOD( + [], + HRESULT, + 'GetSupportedAudioObjectFormatEnumerator', + (['out'], POINTER(PIAudioFormatEnumerator), 'enumerator') + ), + COMMETHOD( + [], + HRESULT, + 'GetMaxFrameCount', + (['in'], PWAVEFORMATEX, 'objectFormat'), + (['out'], LPUINT32, 'frameCountPerBuffer') + ), + COMMETHOD( + [], + HRESULT, + 'IsAudioObjectFormatSupported', + (['in'], PWAVEFORMATEX, 'objectFormat') + ), + COMMETHOD( + [], + HRESULT, + 'IsSpatialAudioStreamAvailable', + (['in'], REFIID, 'streamUuid'), + (['in'], PPROPVARIANT, 'auxiliaryInfo') + ), + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioStream', + (['in'], PPROPVARIANT, 'activationParams'), + (['in'], REFIID, 'streamUuid'), + (['out'], POINTER(LPVOID), 'stream'), + ) + ) + + +PISpatialAudioClient = POINTER(ISpatialAudioClient) + + +class SpatialAudioClientActivationParams(ctypes.Structure): + _fields_ = [ + ('tracingContextId', GUID), + ('appId', GUID), + ('majorVersion', INT), + ('minorVersion1', INT), + ('minorVersion2', INT), + ('minorVersion3', INT), + ] + + +PSpatialAudioClientActivationParams = POINTER( + SpatialAudioClientActivationParams +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudiohrtf.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudiohrtf.py new file mode 100644 index 000000000..4a9de1bd8 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudiohrtf.py @@ -0,0 +1,203 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from audioclient import PWAVEFORMATEX +from spatialaudioclient import PISpatialAudioObjectRenderStreamNotify +from enum import ( + AUDIO_STREAM_CATEGORY, + AudioObjectType +) +from iid import ( + IID_ISpatialAudioObjectForHrtf, + IID_ISpatialAudioObjectRenderStreamForHrtf +) +from _spatialaudioclient import ( + ISpatialAudioObjectRenderStreamBase, + ISpatialAudioObjectBase +) +from enum import ( + SpatialAudioHrtfEnvironmentType, + SpatialAudioHrtfDirectivityType, + SpatialAudioHrtfDistanceDecayType, + PSpatialAudioHrtfEnvironmentType +) +from ctypes.wintypes import ( + FLOAT, + HANDLE, +) + +COMMETHOD = comtypes.COMMETHOD +UINT32 = ctypes.c_uint32 +HRESULT = ctypes.HRESULT +POINTER = ctypes.POINTER + + +class SpatialAudioHrtfDirectivity(ctypes.Structure): + _fields_ = [ + ('Type', SpatialAudioHrtfDirectivityType), + ('Scaling', FLOAT) + ] + + +PSpatialAudioHrtfDirectivity = POINTER(SpatialAudioHrtfDirectivity) + + +class SpatialAudioHrtfDirectivityCardioid(ctypes.Structure): + _fields_ = [ + ('directivity', SpatialAudioHrtfDirectivity), + ('Order', FLOAT) + ] + + +PSpatialAudioHrtfDirectivityCardioid = POINTER( + SpatialAudioHrtfDirectivityCardioid +) + + +class SpatialAudioHrtfDirectivityCone(ctypes.Structure): + _fields_ = [ + ('directivity', SpatialAudioHrtfDirectivity), + ('InnerAngle', FLOAT), + ('OuterAngle', FLOAT) + ] + + +PSpatialAudioHrtfDirectivityCone = POINTER(SpatialAudioHrtfDirectivityCone) + + +class SpatialAudioHrtfDirectivityUnion(ctypes.Union): + _fields_ = [ + ('Cone', SpatialAudioHrtfDirectivityCone), + ('Cardiod', SpatialAudioHrtfDirectivityCardioid), + ('Omni', SpatialAudioHrtfDirectivity) + ] + + +PSpatialAudioHrtfDirectivityUnion = POINTER(SpatialAudioHrtfDirectivityUnion) + + +class SpatialAudioHrtfDistanceDecay(ctypes.Structure): + _fields_ = [ + ('Type', SpatialAudioHrtfDistanceDecayType), + ('MaxGain', FLOAT), + ('MinGain', FLOAT), + ('UnityGainDistance', FLOAT), + ('CutoffDistance', FLOAT) + ] + + +PSpatialAudioHrtfDistanceDecay = POINTER(SpatialAudioHrtfDistanceDecay) + + +SpatialAudioHrtfOrientation = (FLOAT() * 9) + +PSpatialAudioHrtfOrientation = POINTER(SpatialAudioHrtfOrientation) + + +class SpatialAudioHrtfActivationParams(ctypes.Structure): + _fields_ = [ + ('ObjectFormat', PWAVEFORMATEX), + ('StaticObjectTypeMask', AudioObjectType), + ('MinDynamicObjectCount', UINT32), + ('MaxDynamicObjectCount', UINT32), + ('Category', AUDIO_STREAM_CATEGORY), + ('EventHandle', HANDLE), + ('NotifyObject', PISpatialAudioObjectRenderStreamNotify), + ('DistanceDecay', PSpatialAudioHrtfDistanceDecay), + ('Directivity', PSpatialAudioHrtfDirectivityUnion), + ('Environment', PSpatialAudioHrtfEnvironmentType), + ('Orientation', PSpatialAudioHrtfOrientation) + ] + + +PSpatialAudioHrtfActivationParams = POINTER(SpatialAudioHrtfActivationParams) + + +class ISpatialAudioObjectForHrtf( + ISpatialAudioObjectBase +): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectForHrtf + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetPosition', + (['in'], FLOAT, 'x'), + (['in'], FLOAT, 'y'), + (['in'], FLOAT, 'z') + ), + COMMETHOD( + [], + HRESULT, + 'SetGain', + (['in'], FLOAT, 'gain') + ), + COMMETHOD( + [], + HRESULT, + 'SetOrientation', + (['in'], PSpatialAudioHrtfOrientation, 'orientation') + ), + COMMETHOD( + [], + HRESULT, + 'SetEnvironment', + (['in'], SpatialAudioHrtfEnvironmentType, 'environment') + ), + COMMETHOD( + [], + HRESULT, + 'SetDistanceDecay', + (['in'], PSpatialAudioHrtfDistanceDecay, 'distanceDecay') + ), + COMMETHOD( + [], + HRESULT, + 'SetDirectivity', + (['in'], PSpatialAudioHrtfDirectivityUnion, 'directivity') + ), + ) + + +PISpatialAudioObjectForHrtf = POINTER( + ISpatialAudioObjectForHrtf +) + + +class ISpatialAudioObjectRenderStreamForHrtf( + ISpatialAudioObjectRenderStreamBase +): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectRenderStreamForHrtf + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioObjectForHrtf', + (['in'], AudioObjectType, 'type'), + (['out'], POINTER(PISpatialAudioObjectForHrtf), 'audioObject') + ), + ) + + +PISpatialAudioObjectRenderStreamForHrtf = POINTER( + ISpatialAudioObjectRenderStreamForHrtf +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudiometadata.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudiometadata.py new file mode 100644 index 000000000..ab4e3ca75 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/spatialaudiometadata.py @@ -0,0 +1,398 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +from iid import ( + IID_ISpatialAudioMetadataItems, + IID_ISpatialAudioMetadataWriter, + IID_ISpatialAudioMetadataReader, + IID_ISpatialAudioMetadataCopier, + IID_ISpatialAudioMetadataItemsBuffer, + IID_ISpatialAudioMetadataClient, + IID_ISpatialAudioObjectForMetadataCommands, + IID_ISpatialAudioObjectForMetadataItems, + IID_ISpatialAudioObjectRenderStreamForMetadata +) +from audioclient import PWAVEFORMATEX +from enum import ( + AUDIO_STREAM_CATEGORY, + AudioObjectType, + SpatialAudioMetadataCopyMode, + SpatialAudioMetadataWriterOverflowMode +) +from mmdeviceapi import PPROPVARIANT +from spatialaudioclient import ( + ISpatialAudioObjectBase, + PISpatialAudioObjectRenderStreamNotify, + ISpatialAudioObjectRenderStreamBase +) +from ctypes.wintypes import ( + FLOAT, + UINT, + HANDLE, + BYTE, +) + +GUID = comtypes.GUID +COMMETHOD = comtypes.COMMETHOD +HRESULT = ctypes.HRESULT +HNSTIME = ctypes.c_longlong +UINT8 = ctypes.c_uint8 +UINT16 = ctypes.c_uint16 +UINT32 = ctypes.c_uint32 +UINT64 = ctypes.c_uint64 +LONGLONG = ctypes.c_longlong +FLOAT32 = FLOAT +POINTER = ctypes.POINTER +LPUINT16 = POINTER(UINT16) +LPUINT32 = POINTER(UINT32) +UINT_PTR = POINTER(UINT) +LPVOID = POINTER(ctypes.c_void_p) +LPBYTE = POINTER(BYTE) +LPUINT8 = POINTER(UINT8) + + +class SpatialAudioMetadataItemsInfo(ctypes.Structure): + _fields_ = [ + ('FrameCount', UINT16), + ('ItemCount', UINT16), + ('MaxItemCount', UINT16), + ('MaxValueBufferLength', UINT32) + ] + + +PSpatialAudioMetadataItemsInfo = POINTER(SpatialAudioMetadataItemsInfo) + + +class SpatialAudioObjectRenderStreamForMetadataActivationParams( + ctypes.Structure +): + _fields_ = [ + ('ObjectFormat', PWAVEFORMATEX), + ('StaticObjectTypeMask', AudioObjectType), + ('MinDynamicObjectCount', UINT32), + ('MaxDynamicObjectCount', UINT32), + ('Category', AUDIO_STREAM_CATEGORY), + ('EventHandle', HANDLE), + ('MetadataFormatId', GUID), + ('MaxMetadataItemCount', UINT16), + ('MetadataActivationParams', PPROPVARIANT), + ('NotifyObject', PISpatialAudioObjectRenderStreamNotify), + ] + + +PSpatialAudioObjectRenderStreamForMetadataActivationParams = POINTER( + SpatialAudioObjectRenderStreamForMetadataActivationParams +) + + +class ISpatialAudioMetadataItems(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioMetadataItems + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetFrameCount', + (['out'], LPUINT16, 'pwstrDeviceId'), + ), + COMMETHOD( + [], + HRESULT, + 'GetItemCount', + (['out'], LPUINT16, 'pwstrDeviceId') + ), + COMMETHOD( + [], + HRESULT, + 'GetMaxItemCount', + (['out'], LPUINT16, 'pwstrDeviceId') + ), + COMMETHOD( + [], + HRESULT, + 'GetMaxValueBufferLength', + (['out'], LPUINT32, 'flow'), + ), + COMMETHOD( + [], + HRESULT, + 'GetInfo', + (['out'], PSpatialAudioMetadataItemsInfo, 'pwstrDeviceId'), + ) + ) + + +PISpatialAudioMetadataItems = POINTER(ISpatialAudioMetadataItems) + + +class ISpatialAudioMetadataWriter(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioMetadataWriter + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Open', + (['in'], PISpatialAudioMetadataItems, 'metadataItems'), + ), + COMMETHOD( + [], + HRESULT, + 'WriteNextItem', + (['in'], UINT16, 'frameOffset') + ), + COMMETHOD( + [], + HRESULT, + 'WriteNextItemCommand', + (['in'], BYTE, 'commandID'), + (['in'], LPVOID, 'valueBuffer'), + (['in'], UINT32, 'valueBufferLength') + ), + COMMETHOD( + [], + HRESULT, + 'Close' + ), + ) + + +PISpatialAudioMetadataWriter = POINTER(ISpatialAudioMetadataWriter) + + +class ISpatialAudioMetadataReader(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioMetadataReader + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Open', + (['in'], PISpatialAudioMetadataItems, 'metadataItems'), + ), + COMMETHOD( + [], + HRESULT, + 'ReadNextItem', + (['out'], LPUINT8, 'commandCount'), + (['out'], LPUINT16, 'frameOffset') + ), + COMMETHOD( + [], + HRESULT, + 'ReadNextItemCommand', + (['out'], LPBYTE, 'commandID'), + (['out'], LPVOID, 'valueBuffer'), + (['in'], UINT32, 'maxValueBufferLength'), + (['out'], LPUINT32, 'valueBufferLength') + ), + COMMETHOD( + [], + HRESULT, + 'Close' + ), + ) + + +PISpatialAudioMetadataReader = POINTER(ISpatialAudioMetadataReader) + + +class ISpatialAudioMetadataCopier(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioMetadataCopier + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Open', + (['in'], PISpatialAudioMetadataItems, 'metadataItems'), + ), + COMMETHOD( + [], + HRESULT, + 'CopyMetadataForFrames', + (['in'], UINT16, 'copyFrameCount'), + (['in'], SpatialAudioMetadataCopyMode, 'copyMode'), + (['in'], PISpatialAudioMetadataItems, 'dstMetadataItems'), + (['out'], LPUINT16, 'itemsCopied') + ), + COMMETHOD( + [], + HRESULT, + 'Close' + ) + ) + + +PISpatialAudioMetadataCopier = POINTER(ISpatialAudioMetadataCopier) + + +class ISpatialAudioMetadataItemsBuffer(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioMetadataItemsBuffer + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'AttachToBuffer', + (['in'], LPBYTE, 'buffer'), + (['in'], UINT32, 'bufferLength') + ), + COMMETHOD( + [], + HRESULT, + 'AttachToPopulatedBuffer', + (['in'], LPBYTE, 'buffer'), + (['in'], UINT32, 'bufferLength') + ), + COMMETHOD( + [], + HRESULT, + 'DetachBuffer' + ) + ) + + +PISpatialAudioMetadataItemsBuffer = POINTER(ISpatialAudioMetadataItemsBuffer) + + +class ISpatialAudioMetadataClient(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioMetadataClient + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioMetadataItems', + (['in'], UINT16, 'maxItemCount'), + (['in'], UINT16, 'frameCount'), + ( + ['out'], + POINTER(PISpatialAudioMetadataItemsBuffer), + 'metadataItemsBuffer' + ), + (['out'], POINTER(PISpatialAudioMetadataItems), 'metadataItems') + ), + COMMETHOD( + [], + HRESULT, + 'GetSpatialAudioMetadataItemsBufferLength', + (['in'], UINT16, 'maxItemCount'), + (['out'], LPUINT32, 'bufferLength') + ), + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioMetadataWriter', + (['in'], SpatialAudioMetadataWriterOverflowMode, 'overflowMode'), + (['out'], POINTER(PISpatialAudioMetadataWriter), 'metadataWriter') + ), + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioMetadataCopier', + (['out'], POINTER(PISpatialAudioMetadataCopier), 'metadataCopier') + ), + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioMetadataReader', + (['out'], POINTER(PISpatialAudioMetadataReader), 'metadataReader') + ), + ) + + +PISpatialAudioMetadataClient = POINTER(ISpatialAudioMetadataClient) + + +class ISpatialAudioObjectForMetadataCommands(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectForMetadataCommands + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'WriteNextMetadataCommand', + (['in'], BYTE, 'commandID'), + (['in'], LPVOID, 'valueBuffer'), + (['in'], UINT32, 'valueBufferLength'), + ), + ) + + +PISpatialAudioObjectForMetadataCommands = POINTER( + ISpatialAudioObjectForMetadataCommands +) + + +class ISpatialAudioObjectForMetadataItems(ISpatialAudioObjectBase): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectForMetadataItems + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetSpatialAudioMetadataItems', + (['out'], POINTER(PISpatialAudioMetadataItems), 'metadataItems'), + ), + ) + + +PISpatialAudioObjectForMetadataItems = POINTER( + ISpatialAudioObjectForMetadataItems +) + + +class ISpatialAudioObjectRenderStreamForMetadata( + ISpatialAudioObjectRenderStreamBase +): + _case_insensitive_ = True + _iid_ = IID_ISpatialAudioObjectRenderStreamForMetadata + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioObjectForMetadataCommands', + (['in'], AudioObjectType, 'type'), + ( + ['in'], + POINTER(PISpatialAudioObjectForMetadataCommands), + 'audioObject' + ), + (['in'], UINT32, 'valueBufferLength'), + ), + COMMETHOD( + [], + HRESULT, + 'ActivateSpatialAudioObjectForMetadataItems', + (['in'], AudioObjectType, 'type'), + ( + ['in'], + POINTER(PISpatialAudioObjectForMetadataItems), + 'audioObject' + ), + (['in'], UINT32, 'valueBufferLength'), + ), + ) + + +PISpatialAudioObjectRenderStreamForMetadata = POINTER( + ISpatialAudioObjectRenderStreamForMetadata +) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/structure.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/structure.py new file mode 100644 index 000000000..052bc5d5b --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/structure.py @@ -0,0 +1,121 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +from comtypes import GUID +from mmdeviceapi import PIMMDevice + +from ctypes.wintypes import ( + FLOAT, + UINT, + LPARAM, + ULONG, + DWORD, +) + + +HNSTIME = ctypes.c_longlong +UINT32 = ctypes.c_uint32 +UINT64 = ctypes.c_uint64 +LONGLONG = ctypes.c_longlong +FLOAT32 = FLOAT +POINTER = ctypes.POINTER + +UINT_PTR = POINTER(UINT) + + +class AudioExtensionParams(ctypes.Structure): + _fields_ = [ + ('AddPageParam', LPARAM), + ('pEndpoint', PIMMDevice), + ('pPnpInterface', PIMMDevice), + ('pPnpDevnode', PIMMDevice), + + ] + + +class tagDIRECTX_AUDIO_ACTIVATION_PARAMS(ctypes.Structure): + _fields_ = [ + ('cbDirectXAudioActivationParams', DWORD), + ('guidAudioSession', GUID), + ('dwAudioStreamFlags', DWORD), + ] + + +DIRECTX_AUDIO_ACTIVATION_PARAMS = tagDIRECTX_AUDIO_ACTIVATION_PARAMS +PDIRECTX_AUDIO_ACTIVATION_PARAMS = POINTER(DIRECTX_AUDIO_ACTIVATION_PARAMS) + + +class KSPROPERTY(ctypes.Structure): + _fields_ = [ + ('Set', GUID), + ('Id', ULONG), + ('Flags', ULONG) + ] + + +PKSPROPERTY = POINTER(KSPROPERTY) + + +class KSMETHOD(ctypes.Structure): + _fields_ = [ + ('Set', GUID), + ('Id', ULONG), + ('Flags', ULONG) + ] + + +PKSMETHOD = POINTER(KSMETHOD) + + +class KSEVENT(ctypes.Structure): + _fields_ = [ + ('Set', GUID), + ('Id', ULONG), + ('Flags', ULONG) + ] + + +PKSEVENT = POINTER(KSEVENT) + + +class KSIDENTIFIER_STRUCTURE(ctypes.Structure): + _fields_ = [ + ('Set', GUID), + ('Id', ULONG), + ('Flags', ULONG), + ] + + +class KSIDENTIFIER_UNION(ctypes.Union): + _fields_ = [ + ('struct', KSIDENTIFIER_STRUCTURE) + ] + + +PKSIDENTIFIER_STRUCTURE = POINTER(KSIDENTIFIER_STRUCTURE) + + +class KSIDENTIFIER(ctypes.Structure): + _fields_ = [ + ('Alignment', LONGLONG), + ('union', KSIDENTIFIER_UNION) + ] + + +PKSIDENTIFIER = POINTER(KSIDENTIFIER) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/wmsdk.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/wmsdk.py new file mode 100644 index 000000000..e69de29bb diff --git a/plugins/CoreAudio/pyWinCoreAudio/__core_audio/wmsdkidl.py b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/wmsdkidl.py new file mode 100644 index 000000000..2fd06b4ca --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__core_audio/wmsdkidl.py @@ -0,0 +1,3862 @@ + + +import comtypes +import ctypes +from comtypes import GUID +from ctypes.wintypes import ( + BYTE, + WORD, + DWORD, + WCHAR, + +) + +COMMETHOD = comtypes.COMMETHOD + +VOID = ctypes.c_void_p +LONGLONG = ctypes.c_longlong +POINTER = ctypes.POINTER +Structure = ctypes.Structure +Union = ctypes.Union + + + +def _convert_guid(*hex_guid): + guid = [] + hex_four = '' + hex_twelve = '' + for h in hex_guid: + h = hex(h)[2:].replace('L', '') + + if len(h) not in (8, 4, 2): + h = '0' + h + + if len(h) == 2: + if hex_four is not None and hex_four: + h = hex_four + h + hex_four = None + elif hex_four is None: + hex_twelve += h + if len(hex_twelve) == 12: + h = hex_twelve + else: + continue + else: + hex_four = h + continue + guid += [h.upper()] + + guid = '{' + '-'.join(guid) + '}' + return guid + + +def EXTERN_GUID(*hex_guid): + return GUID(_convert_guid(*hex_guid)) + + +# //////////////////////////////////////////////////////////////// +# // +# // These are the special case attributes that give information +# // about the Windows Media file. +# // +g_dwWMSpecialAttributes = DWORD(20) +g_wszWMDuration = WCHAR("Duration") +g_wszWMBitrate = WCHAR("Bitrate") +g_wszWMSeekable = WCHAR("Seekable") +g_wszWMStridable = WCHAR("Stridable") +g_wszWMBroadcast = WCHAR("Broadcast") +g_wszWMProtected = WCHAR("Is_Protected") +g_wszWMTrusted = WCHAR("Is_Trusted") +g_wszWMSignature_Name = WCHAR("Signature_Name") +g_wszWMHasAudio = WCHAR("HasAudio") +g_wszWMHasImage = WCHAR("HasImage") +g_wszWMHasScript = WCHAR("HasScript") +g_wszWMHasVideo = WCHAR("HasVideo") +g_wszWMCurrentBitrate = WCHAR("CurrentBitrate") +g_wszWMOptimalBitrate = WCHAR("OptimalBitrate") +g_wszWMHasAttachedImages = WCHAR("HasAttachedImages") +g_wszWMSkipBackward = WCHAR("Can_Skip_Backward") +g_wszWMSkipForward = WCHAR("Can_Skip_Forward") +g_wszWMNumberOfFrames = WCHAR("NumberOfFrames") +g_wszWMFileSize = WCHAR("FileSize") +g_wszWMHasArbitraryDataStream = WCHAR("HasArbitraryDataStream") +g_wszWMHasFileTransferStream = WCHAR("HasFileTransferStream") +g_wszWMContainerFormat = WCHAR("WM/ContainerFormat") + +# //////////////////////////////////////////////////////////////// +# // +# // The content description object supports 5 basic attributes. +# // +g_dwWMContentAttributes = DWORD(5) +g_wszWMTitle = WCHAR("Title") +g_wszWMTitleSort = WCHAR("TitleSort") +g_wszWMAuthor = WCHAR("Author") +g_wszWMAuthorSort = WCHAR("AuthorSort") +g_wszWMDescription = WCHAR("Description") +g_wszWMRating = WCHAR("Rating") +g_wszWMCopyright = WCHAR("Copyright") + +# //////////////////////////////////////////////////////////////// +# // +# // These attributes are used to configure and query +# // DRM settings in the reader and writer. +# // +g_wszWMUse_DRM = WCHAR("Use_DRM") +g_wszWMDRM_Flags = WCHAR("DRM_Flags") +g_wszWMDRM_Level = WCHAR("DRM_Level") +g_wszWMUse_Advanced_DRM = WCHAR("Use_Advanced_DRM") +g_wszWMDRM_KeySeed = WCHAR("DRM_KeySeed") +g_wszWMDRM_KeyID = WCHAR("DRM_KeyID") +g_wszWMDRM_ContentID = WCHAR("DRM_ContentID") +g_wszWMDRM_SourceID = WCHAR("DRM_SourceID") +g_wszWMDRM_IndividualizedVersion = WCHAR("DRM_IndividualizedVersion") +g_wszWMDRM_LicenseAcqURL = WCHAR("DRM_LicenseAcqUR") +g_wszWMDRM_V1LicenseAcqURL = WCHAR("DRM_V1LicenseAcqUR") +g_wszWMDRM_HeaderSignPrivKey = WCHAR("DRM_HeaderSignPrivKey") +g_wszWMDRM_LASignaturePrivKey = WCHAR("DRM_LASignaturePrivKey") +g_wszWMDRM_LASignatureCert = WCHAR("DRM_LASignatureCert") +g_wszWMDRM_LASignatureLicSrvCert = WCHAR("DRM_LASignatureLicSrvCert") +g_wszWMDRM_LASignatureRootCert = WCHAR("DRM_LASignatureRootCert") + +# //////////////////////////////////////////////////////////////// +# // +# // These are the additional attributes defined in the WM attribute +# // namespace that give information about the content. +# // +g_wszWMAlbumTitle = WCHAR("WM/AlbumTitle") +g_wszWMAlbumTitleSort = WCHAR("WM/AlbumTitleSort") +g_wszWMTrack = WCHAR("WM/Track") +g_wszWMPromotionURL = WCHAR("WM/PromotionUR") +g_wszWMAlbumCoverURL = WCHAR("WM/AlbumCoverUR") +g_wszWMGenre = WCHAR("WM/Genre") +g_wszWMYear = WCHAR("WM/Year") +g_wszWMGenreID = WCHAR("WM/GenreID") +g_wszWMMCDI = WCHAR("WM/MCDI") +g_wszWMComposer = WCHAR("WM/Composer") +g_wszWMComposerSort = WCHAR("WM/ComposerSort") +g_wszWMLyrics = WCHAR("WM/Lyrics") +g_wszWMTrackNumber = WCHAR("WM/TrackNumber") +g_wszWMToolName = WCHAR("WM/ToolName") +g_wszWMToolVersion = WCHAR("WM/ToolVersion") +g_wszWMIsVBR = WCHAR("IsVBR") +g_wszWMAlbumArtist = WCHAR("WM/AlbumArtist") +g_wszWMAlbumArtistSort = WCHAR("WM/AlbumArtistSort") + +# //////////////////////////////////////////////////////////////// +# // +# // These optional attributes may be used to give information +# // about the branding of the content. +# // +g_wszWMBannerImageType = WCHAR("BannerImageType") +g_wszWMBannerImageData = WCHAR("BannerImageData") +g_wszWMBannerImageURL = WCHAR("BannerImageUR") +g_wszWMCopyrightURL = WCHAR("CopyrightUR") + +# //////////////////////////////////////////////////////////////// +# // +# // Optional attributes, used to give information +# // about video stream properties. +# // +g_wszWMAspectRatioX = WCHAR("AspectRatioX") +g_wszWMAspectRatioY = WCHAR("AspectRatioY") + +# //////////////////////////////////////////////////////////////// +# // +# // Optional attributes, used to give information +# // about the overall streaming properties of VBR files. +# // This attribute takes the format: +# // WORD wReserved (must be 0) +# // WM_LEAKY_BUCKET_PAIR pair1 +# // WM_LEAKY_BUCKET_PAIR pair2 +# // ... +# // +g_wszASFLeakyBucketPairs = WCHAR("ASFLeakyBucketPairs") + +# //////////////////////////////////////////////////////////////// +# // +# // The NSC file supports the following attributes. +# // +g_dwWMNSCAttributes = DWORD(5) +g_wszWMNSCName = WCHAR("NSC_Name") +g_wszWMNSCAddress = WCHAR("NSC_Address") +g_wszWMNSCPhone = WCHAR("NSC_Phone") +g_wszWMNSCEmail = WCHAR("NSC_Email") +g_wszWMNSCDescription = WCHAR("NSC_Description") + +# //////////////////////////////////////////////////////////////// +# // +# // Attributes introduced in V9 +# // +g_wszWMWriter = WCHAR("WM/Writer") +g_wszWMConductor = WCHAR("WM/Conductor") +g_wszWMProducer = WCHAR("WM/Producer") +g_wszWMDirector = WCHAR("WM/Director") +g_wszWMContentGroupDescription = WCHAR("WM/ContentGroupDescription") +g_wszWMSubTitle = WCHAR("WM/SubTitle") +g_wszWMPartOfSet = WCHAR("WM/PartOfSet") +g_wszWMProtectionType = WCHAR("WM/ProtectionType") +g_wszWMVideoHeight = WCHAR("WM/VideoHeight") +g_wszWMVideoWidth = WCHAR("WM/VideoWidth") +g_wszWMVideoFrameRate = WCHAR("WM/VideoFrameRate") +g_wszWMMediaClassPrimaryID = WCHAR("WM/MediaClassPrimaryID") +g_wszWMMediaClassSecondaryID = WCHAR("WM/MediaClassSecondaryID") +g_wszWMPeriod = WCHAR("WM/Period") +g_wszWMCategory = WCHAR("WM/Category") +g_wszWMPicture = WCHAR("WM/Picture") +g_wszWMLyrics_Synchronised = WCHAR("WM/Lyrics_Synchronised") +g_wszWMOriginalLyricist = WCHAR("WM/OriginalLyricist") +g_wszWMOriginalArtist = WCHAR("WM/OriginalArtist") +g_wszWMOriginalAlbumTitle = WCHAR("WM/OriginalAlbumTitle") +g_wszWMOriginalReleaseYear = WCHAR("WM/OriginalReleaseYear") +g_wszWMOriginalFilename = WCHAR("WM/OriginalFilename") +g_wszWMPublisher = WCHAR("WM/Publisher") +g_wszWMEncodedBy = WCHAR("WM/EncodedBy") +g_wszWMEncodingSettings = WCHAR("WM/EncodingSettings") +g_wszWMEncodingTime = WCHAR("WM/EncodingTime") +g_wszWMAuthorURL = WCHAR("WM/AuthorUR") +g_wszWMUserWebURL = WCHAR("WM/UserWebUR") +g_wszWMAudioFileURL = WCHAR("WM/AudioFileUR") +g_wszWMAudioSourceURL = WCHAR("WM/AudioSourceUR") +g_wszWMLanguage = WCHAR("WM/Language") +g_wszWMParentalRating = WCHAR("WM/ParentalRating") +g_wszWMBeatsPerMinute = WCHAR("WM/BeatsPerMinute") +g_wszWMInitialKey = WCHAR("WM/InitialKey") +g_wszWMMood = WCHAR("WM/Mood") +g_wszWMText = WCHAR("WM/Text") +g_wszWMDVDID = WCHAR("WM/DVDID") +g_wszWMWMContentID = WCHAR("WM/WMContentID") +g_wszWMWMCollectionID = WCHAR("WM/WMCollectionID") +g_wszWMWMCollectionGroupID = WCHAR("WM/WMCollectionGroupID") +g_wszWMUniqueFileIdentifier = WCHAR("WM/UniqueFileIdentifier") +g_wszWMModifiedBy = WCHAR("WM/ModifiedBy") +g_wszWMRadioStationName = WCHAR("WM/RadioStationName") +g_wszWMRadioStationOwner = WCHAR("WM/RadioStationOwner") +g_wszWMPlaylistDelay = WCHAR("WM/PlaylistDelay") +g_wszWMCodec = WCHAR("WM/Codec") +g_wszWMDRM = WCHAR("WM/DRM") +g_wszWMISRC = WCHAR("WM/ISRC") +g_wszWMProvider = WCHAR("WM/Provider") +g_wszWMProviderRating = WCHAR("WM/ProviderRating") +g_wszWMProviderStyle = WCHAR("WM/ProviderStyle") +g_wszWMContentDistributor = WCHAR("WM/ContentDistributor") +g_wszWMSubscriptionContentID = WCHAR("WM/SubscriptionContentID") +g_wszWMWMADRCPeakReference = WCHAR("WM/WMADRCPeakReference") +g_wszWMWMADRCPeakTarget = WCHAR("WM/WMADRCPeakTarget") +g_wszWMWMADRCAverageReference = WCHAR("WM/WMADRCAverageReference") +g_wszWMWMADRCAverageTarget = WCHAR("WM/WMADRCAverageTarget") + +# //////////////////////////////////////////////////////////////// +# // +# // Attributes introduced in V10 +# // +g_wszWMStreamTypeInfo = WCHAR("WM/StreamTypeInfo") +g_wszWMPeakBitrate = WCHAR("WM/PeakBitrate") +g_wszWMASFPacketCount = WCHAR("WM/ASFPacketCount") +g_wszWMASFSecurityObjectsSize = WCHAR("WM/ASFSecurityObjectsSize") +g_wszWMSharedUserRating = WCHAR("WM/SharedUserRating") +g_wszWMSubTitleDescription = WCHAR("WM/SubTitleDescription") +g_wszWMMediaCredits = WCHAR("WM/MediaCredits") +g_wszWMParentalRatingReason = WCHAR("WM/ParentalRatingReason") +g_wszWMOriginalReleaseTime = WCHAR("WM/OriginalReleaseTime") +g_wszWMMediaStationCallSign = WCHAR("WM/MediaStationCallSign") +g_wszWMMediaStationName = WCHAR("WM/MediaStationName") +g_wszWMMediaNetworkAffiliation = WCHAR("WM/MediaNetworkAffiliation") +g_wszWMMediaOriginalChannel = WCHAR("WM/MediaOriginalChannel") +g_wszWMMediaOriginalBroadcastDateTime = WCHAR( + "WM/MediaOriginalBroadcastDateTime" +) +g_wszWMMediaIsStereo = WCHAR("WM/MediaIsStereo") +g_wszWMVideoClosedCaptioning = WCHAR("WM/VideoClosedCaptioning") +g_wszWMMediaIsRepeat = WCHAR("WM/MediaIsRepeat") +g_wszWMMediaIsLive = WCHAR("WM/MediaIsLive") +g_wszWMMediaIsTape = WCHAR("WM/MediaIsTape") +g_wszWMMediaIsDelay = WCHAR("WM/MediaIsDelay") +g_wszWMMediaIsSubtitled = WCHAR("WM/MediaIsSubtitled") +g_wszWMMediaIsPremiere = WCHAR("WM/MediaIsPremiere") +g_wszWMMediaIsFinale = WCHAR("WM/MediaIsFinale") +g_wszWMMediaIsSAP = WCHAR("WM/MediaIsSAP") +g_wszWMProviderCopyright = WCHAR("WM/ProviderCopyright") + +# //////////////////////////////////////////////////////////////// +# // +# // Attributes introduced in V11 +# // +g_wszWMISAN = WCHAR("WM/ISAN") +g_wszWMADID = WCHAR("WM/ADID") +g_wszWMWMShadowFileSourceFileType = WCHAR("WM/WMShadowFileSourceFileType") +g_wszWMWMShadowFileSourceDRMType = WCHAR("WM/WMShadowFileSourceDRMType") +g_wszWMWMCPDistributor = WCHAR("WM/WMCPDistributor") +g_wszWMWMCPDistributorID = WCHAR("WM/WMCPDistributorID") +g_wszWMSeasonNumber = WCHAR("WM/SeasonNumber") +g_wszWMEpisodeNumber = WCHAR("WM/EpisodeNumber") + +# //////////////////////////////////////////////////////////////// +# // +# // These are setting names for use in Get/SetOutputSetting +# // +g_wszEarlyDataDelivery = WCHAR("EarlyDataDelivery") +g_wszJustInTimeDecode = WCHAR("JustInTimeDecode") +g_wszSingleOutputBuffer = WCHAR("SingleOutputBuffer") +g_wszSoftwareScaling = WCHAR("SoftwareScaling") +g_wszDeliverOnReceive = WCHAR("DeliverOnReceive") +g_wszScrambledAudio = WCHAR("ScrambledAudio") +g_wszDedicatedDeliveryThread = WCHAR("DedicatedDeliveryThread") +g_wszEnableDiscreteOutput = WCHAR("EnableDiscreteOutput") +g_wszSpeakerConfig = WCHAR("SpeakerConfig") +g_wszDynamicRangeControl = WCHAR("DynamicRangeControl") +g_wszAllowInterlacedOutput = WCHAR("AllowInterlacedOutput") +g_wszVideoSampleDurations = WCHAR("VideoSampleDurations") +g_wszStreamLanguage = WCHAR("StreamLanguage") +g_wszEnableWMAProSPDIFOutput = WCHAR("EnableWMAProSPDIFOutput") + +# //////////////////////////////////////////////////////////////// +# // +# // These are setting names for use in Get/SetInputSetting +# // +g_wszDeinterlaceMode = WCHAR("DeinterlaceMode") +g_wszInitialPatternForInverseTelecine = WCHAR( + "InitialPatternForInverseTelecine" +) +g_wszJPEGCompressionQuality = WCHAR("JPEGCompressionQuality") +g_wszWatermarkCLSID = WCHAR("WatermarkCLSID") +g_wszWatermarkConfig = WCHAR("WatermarkConfig") +g_wszInterlacedCoding = WCHAR("InterlacedCoding") +g_wszFixedFrameRate = WCHAR("FixedFrameRate") + +# //////////////////////////////////////////////////////////////// +# // +# // All known IWMPropertyVault property names +# // +# // g_wszOriginalSourceFormatTag is obsolete and has been +# // superceded by g_wszOriginalWaveFormat +g_wszOriginalSourceFormatTag = WCHAR("_SOURCEFORMATTAG") +g_wszOriginalWaveFormat = WCHAR("_ORIGINALWAVEFORMAT") +g_wszEDL = WCHAR("_ED") +g_wszComplexity = WCHAR("_COMPLEXITYEX") +g_wszDecoderComplexityRequested = WCHAR("_DECODERCOMPLEXITYPROFILE") + +# //////////////////////////////////////////////////////////////// +# // +# // All known IWMIStreamProps property names +# // +g_wszReloadIndexOnSeek = WCHAR("ReloadIndexOnSeek") +g_wszStreamNumIndexObjects = WCHAR("StreamNumIndexObjects") +g_wszFailSeekOnError = WCHAR("FailSeekOnError") +g_wszPermitSeeksBeyondEndOfStream = WCHAR("PermitSeeksBeyondEndOfStream") +g_wszUsePacketAtSeekPoint = WCHAR("UsePacketAtSeekPoint") +g_wszSourceBufferTime = WCHAR("SourceBufferTime") +g_wszSourceMaxBytesAtOnce = WCHAR("SourceMaxBytesAtOnce") + +# //////////////////////////////////////////////////////////////// +# // +# // VBR encoding settings +# // +g_wszVBREnabled = WCHAR("_VBRENABLED") +g_wszVBRQuality = WCHAR("_VBRQUALITY") +g_wszVBRBitrateMax = WCHAR("_RMAX") +g_wszVBRBufferWindowMax = WCHAR("_BMAX") + +# //////////////////////////////////////////////////////////////// +# // +# // VBR Video settings +# // +g_wszVBRPeak = WCHAR("VBR Peak") +g_wszBufferAverage = WCHAR("Buffer Average") + +# //////////////////////////////////////////////////////////////// +# // +# // Codec encoding complexity settings +# // +# // g_wszComplexity should be used to set desired encoding complexity on the +# // stream's IWMPropertyVault (see above for definition) +# // The below settings can be queried from IWMCodecInfo3::GetCodecProp() +# // +g_wszComplexityMax = WCHAR("_COMPLEXITYEXMAX") +g_wszComplexityOffline = WCHAR("_COMPLEXITYEXOFFLINE") +g_wszComplexityLive = WCHAR("_COMPLEXITYEXLIVE") +g_wszIsVBRSupported = WCHAR("_ISVBRSUPPORTED") + +# //////////////////////////////////////////////////////////////// +# // +# // Codec enumeration settings +# // +# // g_wszVBREnabled can be used as a codec enumeration +# // setting (see above for definition) +g_wszNumPasses = WCHAR("_PASSESUSED") + +# //////////////////////////////////////////////////////////////// +# // +# // These are WMA Voice V9 attribute names and values +# // +g_wszMusicSpeechClassMode = WCHAR("MusicSpeechClassMode") +g_wszMusicClassMode = WCHAR("MusicClassMode") +g_wszSpeechClassMode = WCHAR("SpeechClassMode") +g_wszMixedClassMode = WCHAR("MixedClassMode") + +# //////////////////////////////////////////////////////////////// +# // +# // The WMA Voice V9 supports the following format property. +# // +g_wszSpeechCaps = WCHAR("SpeechFormatCap") + +# //////////////////////////////////////////////////////////////// +# // +# // Multi-channel WMA properties +# // +g_wszPeakValue = WCHAR("PeakValue") +g_wszAverageLevel = WCHAR("AverageLevel") +g_wszFold6To2Channels3 = WCHAR("Fold6To2Channels3") +g_wszFoldToChannelsTemplate = WCHAR("Fold%luTo%luChannels%lu") + +# //////////////////////////////////////////////////////////////// +# // +# // Complexity profile description strings +# // +g_wszDeviceConformanceTemplate = WCHAR("DeviceConformanceTemplate") + +# //////////////////////////////////////////////////////////////// +# // +# // Frame interpolation on video decode +# // +g_wszEnableFrameInterpolation = WCHAR("EnableFrameInterpolation") + +# //////////////////////////////////////////////////////////////// +# // +# // Needs previous sample for Delta frame on video decode +# // +g_wszNeedsPreviousSample = WCHAR("NeedsPreviousSample") + +# //////////////////////////////////////////////////////////////// +# // +# // Corresponds to iTunes Compilation flag +# // +g_wszWMIsCompilation = WCHAR("WM/IsCompilation") + + +WM_START_CURRENTPOSITION = QWORD - 1 +WM_BACKUP_OVERWRITE = DWORD(0x00000001) +WM_RESTORE_INDIVIDUALIZE = DWORD(0x00000002) +WAVE_FORMAT_DRM = 0x0009 +LPCWSTR_WMSDK_TYPE_SAFE = LPCWSTR +WMT_VIDEOIMAGE_SAMPLE_INPUT_FRAME = 1 # sample has input frame +WMT_VIDEOIMAGE_SAMPLE_OUTPUT_FRAME = 2 # sample produces output frame +WMT_VIDEOIMAGE_SAMPLE_USES_CURRENT_INPUT_FRAME = 4 +WMT_VIDEOIMAGE_SAMPLE_USES_PREVIOUS_INPUT_FRAME = 8 +WMT_VIDEOIMAGE_SAMPLE_MOTION = 1 # acef used (includes resizing) +WMT_VIDEOIMAGE_SAMPLE_ROTATION = 2 # bd also used (not valid without acef) +WMT_VIDEOIMAGE_SAMPLE_BLENDING = 4 # BlendCoef1 used +WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING = 8 # BlendCoef2 also used (not valid without BlendCoef1) +WMT_VIDEOIMAGE_INTEGER_DENOMINATOR = 65536 +WMT_VIDEOIMAGE_MAGIC_NUMBER = 0x1d4a45f2 +WMT_VIDEOIMAGE_MAGIC_NUMBER_2 = 0x1d4a45f3 +WMT_VIDEOIMAGE_TRANSITION_BOW_TIE = 11 +WMT_VIDEOIMAGE_TRANSITION_CIRCLE = 12 +WMT_VIDEOIMAGE_TRANSITION_CROSS_FADE = 13 +WMT_VIDEOIMAGE_TRANSITION_DIAGONAL = 14 +WMT_VIDEOIMAGE_TRANSITION_DIAMOND = 15 +WMT_VIDEOIMAGE_TRANSITION_FADE_TO_COLOR = 16 +WMT_VIDEOIMAGE_TRANSITION_FILLED_V = 17 +WMT_VIDEOIMAGE_TRANSITION_FLIP = 18 +WMT_VIDEOIMAGE_TRANSITION_INSET = 19 +WMT_VIDEOIMAGE_TRANSITION_IRIS = 20 +WMT_VIDEOIMAGE_TRANSITION_PAGE_ROLL = 21 +WMT_VIDEOIMAGE_TRANSITION_RECTANGLE = 23 +WMT_VIDEOIMAGE_TRANSITION_REVEAL = 24 +WMT_VIDEOIMAGE_TRANSITION_SLIDE = 27 +WMT_VIDEOIMAGE_TRANSITION_SPLIT = 29 +WMT_VIDEOIMAGE_TRANSITION_STAR = 30 +WMT_VIDEOIMAGE_TRANSITION_WHEEL = 31 +WM_SampleExtension_ContentType_Size = 1 +WM_SampleExtension_PixelAspectRatio_Size = 2 +WM_SampleExtension_Timecode_Size = 14 +WM_SampleExtension_SampleDuration_Size = 2 +WM_SampleExtension_ChromaLocation_Size = 1 +WM_SampleExtension_ColorSpaceInfo_Size = 3 +WM_CT_REPEAT_FIRST_FIELD = 0x10 +WM_CT_BOTTOM_FIELD_FIRST = 0x20 +WM_CT_TOP_FIELD_FIRST = 0x40 +WM_CT_INTERLACED = 0x80 +WM_CL_INTERLACED420 = 0 +WM_CL_PROGRESSIVE420 = 1 +WM_MAX_VIDEO_STREAMS = 0x3f +WM_MAX_STREAMS = 0x3f + + +class __MIDL___MIDL_itf_wmsdkidl_0000_0000_0001(enum): + WEBSTREAM_SAMPLE_TYPE_FILE = 0x1 + WEBSTREAM_SAMPLE_TYPE_RENDER = 0x2 + + +class __MIDL___MIDL_itf_wmsdkidl_0000_0000_0002(enum): + WM_SF_CLEANPOINT = 0x1 + WM_SF_DISCONTINUITY = 0x2 + WM_SF_DATALOSS = 0x4 + + +class __MIDL___MIDL_itf_wmsdkidl_0000_0000_0003(enum): + WM_SFEX_NOTASYNCPOINT = 0x2 + WM_SFEX_DATALOSS = 0x4 + + +class WMT_STATUS(enum): + WMT_ERROR = 0x0 + WMT_OPENED = 0x1 + WMT_BUFFERING_START = 0x2 + WMT_BUFFERING_STOP = 0x3 + WMT_EOF = 0x4 + WMT_END_OF_FILE = 0x4 + WMT_END_OF_SEGMENT = 0x5 + WMT_END_OF_STREAMING = 0x6 + WMT_LOCATING = 0x7 + WMT_CONNECTING = 0x8 + WMT_NO_RIGHTS = 0x9 + WMT_MISSING_CODEC = 0xA + WMT_STARTED = 0xB + WMT_STOPPED = 0xC + WMT_CLOSED = 0xD + WMT_STRIDING = 0xE + WMT_TIMER = 0xF + WMT_INDEX_PROGRESS = 0x10 + WMT_SAVEAS_START = 0x11 + WMT_SAVEAS_STOP = 0x12 + WMT_NEW_SOURCEFLAGS = 0x13 + WMT_NEW_METADATA = 0x14 + WMT_BACKUPRESTORE_BEGIN = 0x15 + WMT_SOURCE_SWITCH = 0x16 + WMT_ACQUIRE_LICENSE = 0x17 + WMT_INDIVIDUALIZE = 0x18 + WMT_NEEDS_INDIVIDUALIZATION = 0x19 + WMT_NO_RIGHTS_EX = 0x1A + WMT_BACKUPRESTORE_END = 0x1B + WMT_BACKUPRESTORE_CONNECTING = 0x1C + WMT_BACKUPRESTORE_DISCONNECTING = 0x1D + WMT_ERROR_WITHURL = 0x1E + WMT_RESTRICTED_LICENSE = 0x1F + WMT_CLIENT_CONNECT = 0x20 + WMT_CLIENT_DISCONNECT = 0x21 + WMT_NATIVE_OUTPUT_PROPS_CHANGED = 0x22 + WMT_RECONNECT_START = 0x23 + WMT_RECONNECT_END = 0x24 + WMT_CLIENT_CONNECT_EX = 0x25 + WMT_CLIENT_DISCONNECT_EX = 0x26 + WMT_SET_FEC_SPAN = 0x27 + WMT_PREROLL_READY = 0x28 + WMT_PREROLL_COMPLETE = 0x29 + WMT_CLIENT_PROPERTIES = 0x2A + WMT_LICENSEURL_SIGNATURE_STATE = 0x2B + WMT_INIT_PLAYLIST_BURN = 0x2C + WMT_TRANSCRYPTOR_INIT = 0x2D + WMT_TRANSCRYPTOR_SEEKED = 0x2E + WMT_TRANSCRYPTOR_READ = 0x2F + WMT_TRANSCRYPTOR_CLOSED = 0x30 + WMT_PROXIMITY_RESULT = 0x31 + WMT_PROXIMITY_COMPLETED = 0x32 + WMT_CONTENT_ENABLER = 0x33 + + +class WMT_STREAM_SELECTION(enum): + WMT_OFF = 0x0 + WMT_CLEANPOINT_ONLY = 0x1 + WMT_ON = 0x2 + + +class WMT_IMAGE_TYPE(enum): + WMT_IT_NONE = 0x0 + WMT_IT_BITMAP = 0x1 + WMT_IT_JPEG = 0x2 + WMT_IT_GIF = 0x3 + + +class WMT_ATTR_DATATYPE(enum): + WMT_TYPE_DWORD = 0x0 + WMT_TYPE_STRING = 0x1 + WMT_TYPE_BINARY = 0x2 + WMT_TYPE_BOOL = 0x3 + WMT_TYPE_QWORD = 0x4 + WMT_TYPE_WORD = 0x5 + WMT_TYPE_GUID = 0x6 + + +class WMT_ATTR_IMAGETYPE(enum): + WMT_IMAGETYPE_BITMAP = 0x1 + WMT_IMAGETYPE_JPEG = 0x2 + WMT_IMAGETYPE_GIF = 0x3 + + +class WMT_VERSION(enum): + WMT_VER_4_0 = 0x40000 + WMT_VER_7_0 = 0x70000 + WMT_VER_8_0 = 0x80000 + WMT_VER_9_0 = 0x90000 + + +class tagWMT_STORAGE_FORMAT(enum): + WMT_Storage_Format_MP3 = 0x0 + WMT_Storage_Format_V1 = 0x1 + + +class tagWMT_DRMLA_TRUST(enum): + WMT_DRMLA_UNTRUSTED = 0x0 + WMT_DRMLA_TRUSTED = 0x1 + WMT_DRMLA_TAMPERED = 0x2 + + +class tagWMT_TRANSPORT_TYPE(enum): + WMT_Transport_Type_Unreliable = 0x0 + WMT_Transport_Type_Reliable = 0x1 + + +class WMT_NET_PROTOCOL(enum): + WMT_PROTOCOL_HTTP = 0x0 + + +class WMT_PLAY_MODE(enum): + WMT_PLAY_MODE_AUTOSELECT = 0x0 + WMT_PLAY_MODE_LOCAL = 0x1 + WMT_PLAY_MODE_DOWNLOAD = 0x2 + WMT_PLAY_MODE_STREAMING = 0x3 + + +class WMT_PROXY_SETTINGS(enum): + WMT_PROXY_SETTING_NONE = 0x0 + WMT_PROXY_SETTING_MANUAL = 0x1 + WMT_PROXY_SETTING_AUTO = 0x2 + WMT_PROXY_SETTING_BROWSER = 0x3 + WMT_PROXY_SETTING_MAX = 0x4 + + +class WMT_CODEC_INFO_TYPE(enum): + WMT_CODECINFO_AUDIO = 0x0 + WMT_CODECINFO_VIDEO = 0x1 + WMT_CODECINFO_UNKNOWN = 0xFFFFFFFF + + +class __MIDL___MIDL_itf_wmsdkidl_0000_0000_0004(enum): + WM_DM_NOTINTERLACED = 0x0 + WM_DM_DEINTERLACE_NORMAL = 0x1 + WM_DM_DEINTERLACE_HALFSIZE = 0x2 + WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE = 0x3 + WM_DM_DEINTERLACE_INVERSETELECINE = 0x4 + WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE = 0x5 + + +class __MIDL___MIDL_itf_wmsdkidl_0000_0000_0005(enum): + WM_DM_IT_DISABLE_COHERENT_MODE = 0x0 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP = 0x1 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP = 0x2 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP = 0x3 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP = 0x4 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP = 0x5 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM = 0x6 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM = 0x7 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM = 0x8 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM = 0x9 + WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM = 0xA + + +class tagWMT_OFFSET_FORMAT(enum): + WMT_OFFSET_FORMAT_100NS = 0x0 + WMT_OFFSET_FORMAT_FRAME_NUMBERS = 0x1 + WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = 0x2 + WMT_OFFSET_FORMAT_TIMECODE = 0x3 + WMT_OFFSET_FORMAT_100NS_APPROXIMATE = 0x4 + + +class tagWMT_INDEXER_TYPE(enum): + WMT_IT_PRESENTATION_TIME = 0x0 + WMT_IT_FRAME_NUMBERS = 0x1 + WMT_IT_TIMECODE = 0x2 + + +class tagWMT_INDEX_TYPE(enum): + WMT_IT_NEAREST_DATA_UNIT = 0x1 + WMT_IT_NEAREST_OBJECT = 0x2 + WMT_IT_NEAREST_CLEAN_POINT = 0x3 + + +class tagWMT_FILESINK_MODE(enum): + WMT_FM_SINGLE_BUFFERS = 0x1 + WMT_FM_FILESINK_DATA_UNITS = 0x2 + WMT_FM_FILESINK_UNBUFFERED = 0x4 + + +class tagWMT_MUSICSPEECH_CLASS_MODE(enum): + WMT_MS_CLASS_MUSIC = 0x0 + WMT_MS_CLASS_SPEECH = 0x1 + WMT_MS_CLASS_MIXED = 0x2 + + +class tagWMT_WATERMARK_ENTRY_TYPE(enum): + WMT_WMETYPE_AUDIO = 0x1 + WMT_WMETYPE_VIDEO = 0x2 + + +class __MIDL___MIDL_itf_wmsdkidl_0000_0000_0006(enum): + WM_PLAYBACK_DRC_HIGH = 0x0 + WM_PLAYBACK_DRC_MEDIUM = 0x1 + WM_PLAYBACK_DRC_LOW = 0x2 + + +class __MIDL___MIDL_itf_wmsdkidl_0000_0000_0007(enum): + WMT_TIMECODE_FRAMERATE_30 = 0x0 + WMT_TIMECODE_FRAMERATE_30DROP = 0x1 + WMT_TIMECODE_FRAMERATE_25 = 0x2 + WMT_TIMECODE_FRAMERATE_24 = 0x3 + + +class WMT_CREDENTIAL_FLAGS(enum): + WMT_CREDENTIAL_SAVE = 0x1 + WMT_CREDENTIAL_DONT_CACHE = 0x2 + WMT_CREDENTIAL_CLEAR_TEXT = 0x4 + WMT_CREDENTIAL_PROXY = 0x8 + WMT_CREDENTIAL_ENCRYPT = 0x10 + + +class WM_AETYPE(enum): + WM_AETYPE_INCLUDE = 0x69 + WM_AETYPE_EXCLUDE = 0x65 + + +WMMEDIASUBTYPE_Base = EXTERN_GUID( + 0x00000000, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIATYPE_Video = EXTERN_GUID( + 0x73646976, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_RGB1 = EXTERN_GUID( + 0xE436EB78, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +WMMEDIASUBTYPE_RGB4 = EXTERN_GUID( + 0xE436EB79, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +WMMEDIASUBTYPE_RGB8 = EXTERN_GUID( + 0xE436EB7A, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +WMMEDIASUBTYPE_RGB565 = EXTERN_GUID( + 0xE436EB7B, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +WMMEDIASUBTYPE_RGB555 = EXTERN_GUID( + 0xE436EB7C, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +WMMEDIASUBTYPE_RGB24 = EXTERN_GUID( + 0xE436EB7D, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +WMMEDIASUBTYPE_RGB32 = EXTERN_GUID( + 0xE436EB7E, + 0x524F, + 0x11CE, + 0x9F, + 0x53, + 0x00, + 0x20, + 0xAF, + 0x0B, + 0xA7, + 0x70 +) +WMMEDIASUBTYPE_I420 = EXTERN_GUID( + 0x30323449, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_IYUV = EXTERN_GUID( + 0x56555949, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_YV12 = EXTERN_GUID( + 0x32315659, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_YUY2 = EXTERN_GUID( + 0x32595559, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_P422 = EXTERN_GUID( + 0x32323450, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_UYVY = EXTERN_GUID( + 0x59565955, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_YVYU = EXTERN_GUID( + 0x55595659, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_YVU9 = EXTERN_GUID( + 0x39555659, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_VIDEOIMAGE = EXTERN_GUID( + 0x1D4A45F2, + 0xE5F6, + 0x4B44, + 0x83, + 0x88, + 0xF0, + 0xAE, + 0x5C, + 0x0E, + 0x0C, + 0x37 +) +WMMEDIASUBTYPE_MP43 = EXTERN_GUID( + 0x3334504D, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_MP4S = EXTERN_GUID( + 0x5334504D, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_M4S2 = EXTERN_GUID( + 0x3253344D, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMV1 = EXTERN_GUID( + 0x31564D57, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMV2 = EXTERN_GUID( + 0x32564D57, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_MSS1 = EXTERN_GUID( + 0x3153534D, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_MPEG2_VIDEO = EXTERN_GUID( + 0xE06D8026, + 0xDB46, + 0x11CF, + 0xB4, + 0xD1, + 0x00, + 0x80, + 0x5F, + 0x6C, + 0xBB, + 0xEA +) +WMMEDIATYPE_Audio = EXTERN_GUID( + 0x73647561, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_PCM = EXTERN_GUID( + 0x00000001, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_DRM = EXTERN_GUID( + 0x00000009, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMAudioV9 = EXTERN_GUID( + 0x00000162, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMAudio_Lossless = EXTERN_GUID( + 0x00000163, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_MSS2 = EXTERN_GUID( + 0x3253534D, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMSP1 = EXTERN_GUID( + 0x0000000A, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMSP2 = EXTERN_GUID( + 0x0000000B, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMV3 = EXTERN_GUID( + 0x33564D57, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMVP = EXTERN_GUID( + 0x50564D57, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WVP2 = EXTERN_GUID( + 0x32505657, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMVA = EXTERN_GUID( + 0x41564D57, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WVC1 = EXTERN_GUID( + 0x31435657, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMAudioV8 = EXTERN_GUID( + 0x00000161, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMAudioV7 = EXTERN_GUID( + 0x00000161, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WMAudioV2 = EXTERN_GUID( + 0x00000161, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_ACELPnet = EXTERN_GUID( + 0x00000130, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_MP3 = EXTERN_GUID( + 0x00000055, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIASUBTYPE_WebStream = EXTERN_GUID( + 0x776257D4, + 0xC627, + 0x41CB, + 0x8F, + 0x81, + 0x7A, + 0xC7, + 0xFF, + 0x1C, + 0x40, + 0xCC +) +WMMEDIATYPE_Script = EXTERN_GUID( + 0x73636D64, + 0x0000, + 0x0010, + 0x80, + 0x00, + 0x00, + 0xAA, + 0x00, + 0x38, + 0x9B, + 0x71 +) +WMMEDIATYPE_Image = EXTERN_GUID( + 0x34A50FD8, + 0x8AA5, + 0x4386, + 0x81, + 0xFE, + 0xA0, + 0xEF, + 0xE0, + 0x48, + 0x8E, + 0x31 +) +WMMEDIATYPE_FileTransfer = EXTERN_GUID( + 0xD9E47579, + 0x930E, + 0x4427, + 0xAD, + 0xFC, + 0xAD, + 0x80, + 0xF2, + 0x90, + 0xE4, + 0x70 +) +WMMEDIATYPE_Text = EXTERN_GUID( + 0x9BBA1EA7, + 0x5AB2, + 0x4829, + 0xBA, + 0x57, + 0x9, + 0x40, + 0x20, + 0x9B, + 0xCF, + 0x3E +) +WMFORMAT_VideoInfo = EXTERN_GUID( + 0x05589F80, + 0xC356, + 0x11CE, + 0xBF, + 0x01, + 0x00, + 0xAA, + 0x00, + 0x55, + 0x59, + 0x5A +) +WMFORMAT_MPEG2Video = EXTERN_GUID( + 0xE06D80E3, + 0xDB46, + 0x11CF, + 0xB4, + 0xD1, + 0x00, + 0x80, + 0x05F, + 0x6C, + 0xBB, + 0xEA +) +WMFORMAT_WaveFormatEx = EXTERN_GUID( + 0x05589F81, + 0xC356, + 0x11CE, + 0xBF, + 0x01, + 0x00, + 0xAA, + 0x00, + 0x55, + 0x59, + 0x5A +) +WMFORMAT_Script = EXTERN_GUID( + 0x5C8510F2, + 0xDEBE, + 0x4CA7, + 0xBB, + 0xA5, + 0xF0, + 0x7A, + 0x10, + 0x4F, + 0x8D, + 0xFF +) +WMFORMAT_WebStream = EXTERN_GUID( + 0xDA1E6B13, + 0x8359, + 0x4050, + 0xB3, + 0x98, + 0x38, + 0x8E, + 0x96, + 0x5B, + 0xF0, + 0x0C +) +WMSCRIPTTYPE_TwoStrings = EXTERN_GUID( + 0x82F38A70, + 0xC29F, + 0x11D1, + 0x97, + 0xAD, + 0x00, + 0xA0, + 0xC9, + 0x5E, + 0xA8, + 0x50 +) +WM_SampleExtensionGUID_OutputCleanPoint = EXTERN_GUID( + 0xF72A3C6F, + 0x6EB4, + 0x4EBC, + 0xB1, + 0x92, + 0x9, + 0xAD, + 0x97, + 0x59, + 0xE8, + 0x28 +) +WM_SampleExtensionGUID_Timecode = EXTERN_GUID( + 0x399595EC, + 0x8667, + 0x4E2D, + 0x8F, + 0xDB, + 0x98, + 0x81, + 0x4C, + 0xE7, + 0x6C, + 0x1E +) +WM_SampleExtensionGUID_ChromaLocation = EXTERN_GUID( + 0x4C5ACCA0, + 0x9276, + 0x4B2C, + 0x9E, + 0x4C, + 0xA0, + 0xED, + 0xEF, + 0xDD, + 0x21, + 0x7E +) +WM_SampleExtensionGUID_ColorSpaceInfo = EXTERN_GUID( + 0xF79ADA56, + 0x30EB, + 0x4F2B, + 0x9F, + 0x7A, + 0xF2, + 0x4B, + 0x13, + 0x9A, + 0x11, + 0x57 +) +WM_SampleExtensionGUID_UserDataInfo = EXTERN_GUID( + 0x732BB4FA, + 0x78BE, + 0x4549, + 0x99, + 0xBD, + 0x2, + 0xDB, + 0x1A, + 0x55, + 0xB7, + 0xA8 +) +WM_SampleExtensionGUID_FileName = EXTERN_GUID( + 0xE165EC0E, + 0x19ED, + 0x45D7, + 0xB4, + 0xA7, + 0x25, + 0xCB, + 0xD1, + 0xE2, + 0x8E, + 0x9B +) +WM_SampleExtensionGUID_ContentType = EXTERN_GUID( + 0xD590DC20, + 0x07BC, + 0x436C, + 0x9C, + 0xF7, + 0xF3, + 0xBB, + 0xFB, + 0xF1, + 0xA4, + 0xDC +) +WM_SampleExtensionGUID_PixelAspectRatio = EXTERN_GUID( + 0x1B1EE554, + 0xF9EA, + 0x4BC8, + 0x82, + 0x1A, + 0x37, + 0x6B, + 0x74, + 0xE4, + 0xC4, + 0xB8 +) +WM_SampleExtensionGUID_SampleDuration = EXTERN_GUID( + 0xC6BD9450, + 0x867F, + 0x4907, + 0x83, + 0xA3, + 0xC7, + 0x79, + 0x21, + 0xB7, + 0x33, + 0xAD +) +WM_SampleExtensionGUID_SampleProtectionSalt = EXTERN_GUID( + 0x5403DEEE, + 0xB9EE, + 0x438F, + 0xAA, + 0x83, + 0x38, + 0x4, + 0x99, + 0x7E, + 0x56, + 0x9D +) +IID_IWMMediaProps = EXTERN_GUID( + 0x96406BCE, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMVideoMediaProps = EXTERN_GUID( + 0x96406BCF, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMWriter = EXTERN_GUID( + 0x96406BD4, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMInputMediaProps = EXTERN_GUID( + 0x96406BD5, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMReader = EXTERN_GUID( + 0x96406BD6, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMSyncReader = EXTERN_GUID( + 0x9397F121, + 0x7705, + 0x4DC9, + 0xB0, + 0x49, + 0x98, + 0xB6, + 0x98, + 0x18, + 0x84, + 0x14 +) +IID_IWMSyncReader2 = EXTERN_GUID( + 0xFAED3D21, + 0x1B6B, + 0x4AF7, + 0x8C, + 0xB6, + 0x3E, + 0x18, + 0x9B, + 0xBC, + 0x18, + 0x7B +) +IID_IWMOutputMediaProps = EXTERN_GUID( + 0x96406BD7, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMStatusCallback = EXTERN_GUID( + 0x6D7CDC70, + 0x9888, + 0x11D3, + 0x8E, + 0xDC, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x09, + 0xCF +) +IID_IWMReaderCallback = EXTERN_GUID( + 0x96406BD8, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMCredentialCallback = EXTERN_GUID( + 0x342E0EB7, + 0xE651, + 0x450C, + 0x97, + 0x5B, + 0x2A, + 0xCE, + 0x2C, + 0x90, + 0xC4, + 0x8E +) +IID_IWMMetadataEditor = EXTERN_GUID( + 0x96406BD9, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMMetadataEditor2 = EXTERN_GUID( + 0x203CFFE3, + 0x2E18, + 0x4FDF, + 0xB5, + 0x9D, + 0x6E, + 0x71, + 0x53, + 0x05, + 0x34, + 0xCF +) +IID_IWMDRMEditor = EXTERN_GUID( + 0xFF130EBC, + 0xA6C3, + 0x42A6, + 0xB4, + 0x01, + 0xC3, + 0x38, + 0x2C, + 0x3E, + 0x08, + 0xB3 +) +IID_IWMHeaderInfo = EXTERN_GUID( + 0x96406BDA, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMHeaderInfo2 = EXTERN_GUID( + 0x15CF9781, + 0x454E, + 0x482E, + 0xB3, + 0x93, + 0x85, + 0xFA, + 0xE4, + 0x87, + 0xA8, + 0x10 +) +IID_IWMHeaderInfo3 = EXTERN_GUID( + 0x15CC68E3, + 0x27CC, + 0x4ECD, + 0xB2, + 0x22, + 0x3F, + 0x5D, + 0x02, + 0xD8, + 0x0B, + 0xD5 +) +IID_IWMProfileManager = EXTERN_GUID( + 0xD16679F2, + 0x6CA0, + 0x472D, + 0x8D, + 0x31, + 0x2F, + 0x5D, + 0x55, + 0xAE, + 0xE1, + 0x55 +) +IID_IWMProfileManager2 = EXTERN_GUID( + 0x7A924E51, + 0x73C1, + 0x494D, + 0x80, + 0x19, + 0x23, + 0xD3, + 0x7E, + 0xD9, + 0xB8, + 0x9A +) +IID_IWMProfileManagerLanguage = EXTERN_GUID( + 0xBA4DCC78, + 0x7EE0, + 0x4AB8, + 0xB2, + 0x7A, + 0xDB, + 0xCE, + 0x8B, + 0xC5, + 0x14, + 0x54 +) +IID_IWMProfile = EXTERN_GUID( + 0x96406BDB, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMProfile2 = EXTERN_GUID( + 0x07E72D33, + 0xD94E, + 0x4BE7, + 0x88, + 0x43, + 0x60, + 0xAE, + 0x5F, + 0xF7, + 0xE5, + 0xF5 +) +IID_IWMProfile3 = EXTERN_GUID( + 0x00EF96CC, + 0xA461, + 0x4546, + 0x8B, + 0xCD, + 0xC9, + 0xA2, + 0x8F, + 0x0E, + 0x06, + 0xF5 +) +IID_IWMStreamConfig = EXTERN_GUID( + 0x96406BDC, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMStreamConfig2 = EXTERN_GUID( + 0x7688D8CB, + 0xFC0D, + 0x43BD, + 0x94, + 0x59, + 0x5A, + 0x8D, + 0xEC, + 0x20, + 0x0C, + 0xFA +) +IID_IWMStreamConfig3 = EXTERN_GUID( + 0xCB164104, + 0x3AA9, + 0x45A7, + 0x9A, + 0xC9, + 0x4D, + 0xAE, + 0xE1, + 0x31, + 0xD6, + 0xE1 +) +IID_IWMStreamList = EXTERN_GUID( + 0x96406BDD, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMMutualExclusion = EXTERN_GUID( + 0x96406BDE, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMMutualExclusion2 = EXTERN_GUID( + 0x302B57D, + 0x89D1, + 0x4BA2, + 0x85, + 0xC9, + 0x16, + 0x6F, + 0x2C, + 0x53, + 0xEB, + 0x91 +) +IID_IWMBandwidthSharing = EXTERN_GUID( + 0xAD694AF1, + 0xF8D9, + 0x42F8, + 0xBC, + 0x47, + 0x70, + 0x31, + 0x1B, + 0x0C, + 0x4F, + 0x9E +) +IID_IWMStreamPrioritization = EXTERN_GUID( + 0x8C1C6090, + 0xF9A8, + 0x4748, + 0x8E, + 0xC3, + 0xDD, + 0x11, + 0x08, + 0xBA, + 0x1E, + 0x77 +) +IID_IWMWriterAdvanced = EXTERN_GUID( + 0x96406BE3, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMWriterAdvanced2 = EXTERN_GUID( + 0x962DC1EC, + 0xC046, + 0x4DB8, + 0x9C, + 0xC7, + 0x26, + 0xCE, + 0xAE, + 0x50, + 0x08, + 0x17 +) +IID_IWMWriterAdvanced3 = EXTERN_GUID( + 0x2CD6492D, + 0x7C37, + 0x4E76, + 0x9D, + 0x3B, + 0x59, + 0x26, + 0x11, + 0x83, + 0xA2, + 0x2E +) +IID_IWMWriterPreprocess = EXTERN_GUID( + 0xFC54A285, + 0x38C4, + 0x45B5, + 0xAA, + 0x23, + 0x85, + 0xB9, + 0xF7, + 0xCB, + 0x42, + 0x4B +) +IID_IWMWriterSink = EXTERN_GUID( + 0x96406BE4, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMWriterFileSink = EXTERN_GUID( + 0x96406BE5, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMWriterFileSink2 = EXTERN_GUID( + 0x14282BA7, + 0x4AEF, + 0x4205, + 0x8C, + 0xE5, + 0xC2, + 0x29, + 0x03, + 0x5A, + 0x05, + 0xBC +) +IID_IWMWriterFileSink3 = EXTERN_GUID( + 0x3FEA4FEB, + 0x2945, + 0x47A7, + 0xA1, + 0xDD, + 0xC5, + 0x3A, + 0x8F, + 0xC4, + 0xC4, + 0x5C +) +IID_IWMWriterNetworkSink = EXTERN_GUID( + 0x96406BE7, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMClientConnections = EXTERN_GUID( + 0x73C66010, + 0xA299, + 0x41DF, + 0xB1, + 0xF0, + 0xCC, + 0xF0, + 0x3B, + 0x09, + 0xC1, + 0xC6 +) +IID_IWMClientConnections2 = EXTERN_GUID( + 0x4091571E, + 0x4701, + 0x4593, + 0xBB, + 0x3D, + 0xD5, + 0xF5, + 0xF0, + 0xC7, + 0x42, + 0x46 +) +IID_IWMReaderAdvanced = EXTERN_GUID( + 0x96406BEA, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMReaderAdvanced2 = EXTERN_GUID( + 0xAE14A945, + 0xB90C, + 0x4D0D, + 0x91, + 0x27, + 0x80, + 0xD6, + 0x65, + 0xF7, + 0xD7, + 0x3E +) +IID_IWMReaderAdvanced3 = EXTERN_GUID( + 0x5DC0674B, + 0xF04B, + 0x4A4E, + 0x9F, + 0x2A, + 0xB1, + 0xAF, + 0xDE, + 0x2C, + 0x81, + 0x00 +) +IID_IWMReaderAdvanced4 = EXTERN_GUID( + 0x945A76A2, + 0x12AE, + 0x4D48, + 0xBD, + 0x3C, + 0xCD, + 0x1D, + 0x90, + 0x39, + 0x9B, + 0x85 +) +IID_IWMReaderAdvanced5 = EXTERN_GUID( + 0x24C44DB0, + 0x55D1, + 0x49AE, + 0xA5, + 0xCC, + 0xF1, + 0x38, + 0x15, + 0xE3, + 0x63, + 0x63 +) +IID_IWMReaderAdvanced6 = EXTERN_GUID( + 0x18A2E7F8, + 0x428F, + 0x4ACD, + 0x8A, + 0x00, + 0xE6, + 0x46, + 0x39, + 0xBC, + 0x93, + 0xDE +) +IID_IWMPlayerHook = EXTERN_GUID( + 0xE5B7CA9A, + 0x0F1C, + 0x4F66, + 0x90, + 0x02, + 0x74, + 0xEC, + 0x50, + 0xD8, + 0xB3, + 0x04 +) +IID_IWMDRMReader = EXTERN_GUID( + 0xD2827540, + 0x3EE7, + 0x432C, + 0xB1, + 0x4C, + 0xDC, + 0x17, + 0xF0, + 0x85, + 0xD3, + 0xB3 +) +IID_IWMDRMReader2 = EXTERN_GUID( + 0xBEFE7A75, + 0x9F1D, + 0x4075, + 0xB9, + 0xD9, + 0xA3, + 0xC3, + 0x7B, + 0xDA, + 0x49, + 0xA0 +) +IID_IWMDRMReader3 = EXTERN_GUID( + 0xE08672DE, + 0xF1E7, + 0x4FF4, + 0xA0, + 0xA3, + 0xFC, + 0x4B, + 0x08, + 0xE4, + 0xCA, + 0xF8 +) +IID_IWMReaderPlaylistBurn = EXTERN_GUID( + 0xF28C0300, + 0x9BAA, + 0x4477, + 0xA8, + 0x46, + 0x17, + 0x44, + 0xD9, + 0xCB, + 0xF5, + 0x33 +) +IID_IWMReaderCallbackAdvanced = EXTERN_GUID( + 0x96406BEB, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMReaderNetworkConfig = EXTERN_GUID( + 0x96406BEC, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMReaderStreamClock = EXTERN_GUID( + 0x96406BED, + 0x2B2B, + 0x11D3, + 0xB3, + 0x6B, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x08, + 0xFF +) +IID_IWMIndexer = EXTERN_GUID( + 0x6D7CDC71, + 0x9888, + 0x11D3, + 0x8E, + 0xDC, + 0x00, + 0xC0, + 0x4F, + 0x61, + 0x09, + 0xCF +) +IID_IWMIndexer2 = EXTERN_GUID( + 0xB70F1E42, + 0x6255, + 0x4DF0, + 0xA6, + 0xB9, + 0x02, + 0xB2, + 0x12, + 0xD9, + 0xE2, + 0xBB +) +IID_IWMReaderAllocatorEx = EXTERN_GUID( + 0x9F762FA7, + 0xA22E, + 0x428D, + 0x93, + 0xC9, + 0xAC, + 0x82, + 0xF3, + 0xAA, + 0xFE, + 0x5A +) +IID_IWMReaderTypeNegotiation = EXTERN_GUID( + 0xFDBE5592, + 0x81A1, + 0x41EA, + 0x93, + 0xBD, + 0x73, + 0x5C, + 0xAD, + 0x1A, + 0xDC, + 0x5 +) +IID_IWMLicenseBackup = EXTERN_GUID( + 0x05E5AC9F, + 0x3FB6, + 0x4508, + 0xBB, + 0x43, + 0xA4, + 0x06, + 0x7B, + 0xA1, + 0xEB, + 0xE8 +) +IID_IWMLicenseRestore = EXTERN_GUID( + 0xC70B6334, + 0xA22E, + 0x4EFB, + 0xA2, + 0x45, + 0x15, + 0xE6, + 0x5A, + 0x00, + 0x4A, + 0x13 +) +IID_IWMBackupRestoreProps = EXTERN_GUID( + 0x3C8E0DA6, + 0x996F, + 0x4FF3, + 0xA1, + 0xAF, + 0x48, + 0x38, + 0xF9, + 0x37, + 0x7E, + 0x2E +) +IID_IWMPacketSize = EXTERN_GUID( + 0xCDFB97AB, + 0x188F, + 0x40B3, + 0xB6, + 0x43, + 0x5B, + 0x79, + 0x03, + 0x97, + 0x5C, + 0x59 +) +IID_IWMPacketSize2 = EXTERN_GUID( + 0x8BFC2B9E, + 0xB646, + 0x4233, + 0xA8, + 0x77, + 0x1C, + 0x6A, + 0x7, + 0x96, + 0x69, + 0xDC +) +IID_IWMRegisterCallback = EXTERN_GUID( + 0xCF4B1F99, + 0x4DE2, + 0x4E49, + 0xA3, + 0x63, + 0x25, + 0x27, + 0x40, + 0xD9, + 0x9B, + 0xC1 +) +IID_IWMWriterPostView = EXTERN_GUID( + 0x81E20CE4, + 0x75EF, + 0x491A, + 0x80, + 0x04, + 0xFC, + 0x53, + 0xC4, + 0x5B, + 0xDC, + 0x3E +) +IID_IWMWriterPostViewCallback = EXTERN_GUID( + 0xD9D6549D, + 0xA193, + 0x4F24, + 0xB3, + 0x08, + 0x03, + 0x12, + 0x3D, + 0x9B, + 0x7F, + 0x8D +) +IID_IWMCodecInfo = EXTERN_GUID( + 0xA970F41E, + 0x34DE, + 0x4A98, + 0xB3, + 0xBA, + 0xE4, + 0xB3, + 0xCA, + 0x75, + 0x28, + 0xF0 +) +IID_IWMCodecInfo2 = EXTERN_GUID( + 0xAA65E273, + 0xB686, + 0x4056, + 0x91, + 0xEC, + 0xDD, + 0x76, + 0x8D, + 0x4D, + 0xF7, + 0x10 +) +IID_IWMCodecInfo3 = EXTERN_GUID( + 0x7E51F487, + 0x4D93, + 0x4F98, + 0x8A, + 0xB4, + 0x27, + 0xD0, + 0x56, + 0x5A, + 0xDC, + 0x51 +) +IID_IWMPropertyVault = EXTERN_GUID( + 0x72995A79, + 0x5090, + 0x42A4, + 0x9C, + 0x8C, + 0xD9, + 0xD0, + 0xB6, + 0xD3, + 0x4B, + 0xE5 +) +IID_IWMIStreamProps = EXTERN_GUID( + 0x6816DAD3, + 0x2B4B, + 0x4C8E, + 0x81, + 0x49, + 0x87, + 0x4C, + 0x34, + 0x83, + 0xA7, + 0x53 +) +IID_IWMLanguageList = EXTERN_GUID( + 0xDF683F00, + 0x2D49, + 0x4D8E, + 0x92, + 0xB7, + 0xFB, + 0x19, + 0xF6, + 0xA0, + 0xDC, + 0x57 +) +IID_IWMDRMWriter = EXTERN_GUID( + 0xD6EA5DD0, + 0x12A0, + 0x43F4, + 0x90, + 0xAB, + 0xA3, + 0xFD, + 0x45, + 0x1E, + 0x6A, + 0x07 +) +IID_IWMDRMWriter2 = EXTERN_GUID( + 0x38EE7A94, + 0x40E2, + 0x4E10, + 0xAA, + 0x3F, + 0x33, + 0xFD, + 0x32, + 0x10, + 0xED, + 0x5B +) +IID_IWMDRMWriter3 = EXTERN_GUID( + 0xA7184082, + 0xA4AA, + 0x4DDE, + 0xAC, + 0x9C, + 0xE7, + 0x5D, + 0xBD, + 0x11, + 0x17, + 0xCE +) +IID_IWMWriterPushSink = EXTERN_GUID( + 0xDC10E6A5, + 0x072C, + 0x467D, + 0xBF, + 0x57, + 0x63, + 0x30, + 0xA9, + 0xDD, + 0xE1, + 0x2A +) +IID_IWMReaderNetworkConfig2 = EXTERN_GUID( + 0xD979A853, + 0x042B, + 0x4050, + 0x83, + 0x87, + 0xC9, + 0x39, + 0xDB, + 0x22, + 0x01, + 0x3F +) +IID_IWMWatermarkInfo = EXTERN_GUID( + 0x6F497062, + 0xF2E2, + 0x4624, + 0x8E, + 0xA7, + 0x9D, + 0xD4, + 0x0D, + 0x81, + 0xFC, + 0x8D +) +IID_IWMReaderAccelerator = EXTERN_GUID( + 0xBDDC4D08, + 0x944D, + 0x4D52, + 0xA6, + 0x12, + 0x46, + 0xC3, + 0xFD, + 0xA0, + 0x7D, + 0xD4 +) +IID_IWMReaderTimecode = EXTERN_GUID( + 0xF369E2F0, + 0xE081, + 0x4FE6, + 0x84, + 0x50, + 0xB8, + 0x10, + 0xB2, + 0xF4, + 0x10, + 0xD1 +) +IID_IWMImageInfo = EXTERN_GUID( + 0x9F0AA3B6, + 0x7267, + 0x4D89, + 0x88, + 0xF2, + 0xBA, + 0x91, + 0x5A, + 0xA5, + 0xC4, + 0xC6 +) +IID_IWMAddressAccess = EXTERN_GUID( + 0xBB3C6389, + 0x1633, + 0x4E92, + 0xAF, + 0x14, + 0x9F, + 0x31, + 0x73, + 0xBA, + 0x39, + 0xD0 +) +IID_IWMAddressAccess2 = EXTERN_GUID( + 0x65A83FC2, + 0x3E98, + 0x4D4D, + 0x81, + 0xB5, + 0x2A, + 0x74, + 0x28, + 0x86, + 0xB3, + 0x3D +) +IID_IWMDeviceRegistration = EXTERN_GUID( + 0xF6211F03, + 0x8D21, + 0x4E94, + 0x93, + 0xE6, + 0x85, + 0x10, + 0x80, + 0x5F, + 0x2D, + 0x99 +) +IID_IWMRegisteredDevice = EXTERN_GUID( + 0xA4503BEC, + 0x5508, + 0x4148, + 0x97, + 0xAC, + 0xBF, + 0xA7, + 0x57, + 0x60, + 0xA7, + 0x0D +) +IID_IWMProximityDetection = EXTERN_GUID( + 0x6A9FD8EE, + 0xB651, + 0x4BF0, + 0xB8, + 0x49, + 0x7D, + 0x4E, + 0xCE, + 0x79, + 0xA2, + 0xB1 +) +IID_IWMDRMMessageParser = EXTERN_GUID( + 0xA73A0072, + 0x25A0, + 0x4C99, + 0xB4, + 0xA5, + 0xED, + 0xE8, + 0x10, + 0x1A, + 0x6C, + 0x39 +) +IID_IWMDRMTranscryptor = EXTERN_GUID( + 0x69059850, + 0x6E6F, + 0x4BB2, + 0x80, + 0x6F, + 0x71, + 0x86, + 0x3D, + 0xDF, + 0xC4, + 0x71 +) +IID_IWMDRMTranscryptor2 = EXTERN_GUID( + 0xE0DA439F, + 0xD331, + 0x496A, + 0xBE, + 0xCE, + 0x18, + 0xE5, + 0xBA, + 0xC5, + 0xDD, + 0x23 +) +IID_IWMDRMTranscryptionManager = EXTERN_GUID( + 0xB1A887B2, + 0xA4F0, + 0x407A, + 0xB0, + 0x2E, + 0xEF, + 0xBD, + 0x23, + 0xBB, + 0xEC, + 0xDF +) +IID_IWMLicenseRevocationAgent = EXTERN_GUID( + 0x6967F2C9, + 0x4E26, + 0x4B57, + 0x88, + 0x94, + 0x79, + 0x98, + 0x80, + 0xF7, + 0xAC, + 0x7B +) +CLSID_WMMUTEX_Language = EXTERN_GUID( + 0xD6E22A00, + 0x35DA, + 0x11D1, + 0x90, + 0x34, + 0x00, + 0xA0, + 0xC9, + 0x03, + 0x49, + 0xBE +) +CLSID_WMMUTEX_Bitrate = EXTERN_GUID( + 0xD6E22A01, + 0x35DA, + 0x11D1, + 0x90, + 0x34, + 0x00, + 0xA0, + 0xC9, + 0x03, + 0x49, + 0xBE +) +CLSID_WMMUTEX_Presentation = EXTERN_GUID( + 0xD6E22A02, + 0x35DA, + 0x11D1, + 0x90, + 0x34, + 0x00, + 0xA0, + 0xC9, + 0x03, + 0x49, + 0xBE +) +CLSID_WMMUTEX_Unknown = EXTERN_GUID( + 0xD6E22A03, + 0x35DA, + 0x11D1, + 0x90, + 0x34, + 0x00, + 0xA0, + 0xC9, + 0x03, + 0x49, + 0xBE +) +CLSID_WMBandwidthSharing_Exclusive = EXTERN_GUID( + 0xAF6060AA, + 0x5197, + 0x11D2, + 0xB6, + 0xAF, + 0x00, + 0xC0, + 0x4F, + 0xD9, + 0x08, + 0xE9 +) +CLSID_WMBandwidthSharing_Partial = EXTERN_GUID( + 0xAF6060AB, + 0x5197, + 0x11D2, + 0xB6, + 0xAF, + 0x00, + 0xC0, + 0x4F, + 0xD9, + 0x08, + 0xE9 +) +WMT_DMOCATEGORY_AUDIO_WATERMARK = EXTERN_GUID( + 0x65221C5A, + 0xFA75, + 0x4B39, + 0xB5, + 0x0C, + 0x06, + 0xC3, + 0x36, + 0xB6, + 0xA3, + 0xEF +) +WMT_DMOCATEGORY_VIDEO_WATERMARK = EXTERN_GUID( + 0x187CC922, + 0x8EFC, + 0x4404, + 0x9D, + 0xAF, + 0x63, + 0xF4, + 0x83, + 0x0D, + 0xF1, + 0xBC +) + + +class _WMStreamPrioritizationRecord(Structure): + _fields_ = [ + ('wStreamNumber', WORD), + ('fMandatory', BOOL), + ] + + +WM_STREAM_PRIORITY_RECORD = _WMStreamPrioritizationRecord + + +class _WMWriterStatistics(Structure): + _fields_ = [ + ('qwSampleCount', QWORD), + ('qwByteCount', QWORD), + ('qwDroppedSampleCount', QWORD), + ('qwDroppedByteCount', QWORD), + ('dwCurrentBitrate', DWORD), + ('dwAverageBitrate', DWORD), + ('dwExpectedBitrate', DWORD), + ('dwCurrentSampleRate', DWORD), + ('dwAverageSampleRate', DWORD), + ('dwExpectedSampleRate', DWORD), + ] + + +WM_WRITER_STATISTICS = _WMWriterStatistics + + +class _WMWriterStatisticsEx(Structure): + _fields_ = [ + ('dwBitratePlusOverhead', DWORD), + ('dwCurrentSampleDropRateInQueue', DWORD), + ('dwCurrentSampleDropRateInCodec', DWORD), + ('dwCurrentSampleDropRateInMultiplexer', DWORD), + ('dwTotalSampleDropsInQueue', DWORD), + ('dwTotalSampleDropsInCodec', DWORD), + ('dwTotalSampleDropsInMultiplexer', DWORD), + ] + + +WM_WRITER_STATISTICS_EX = _WMWriterStatisticsEx + + +class _WMReaderStatistics(Structure): + _fields_ = [ + ('cbSize', DWORD), + ('dwBandwidth', DWORD), + ('cPacketsReceived', DWORD), + ('cPacketsRecovered', DWORD), + ('cPacketsLost', DWORD), + ('wQuality', WORD), + ] + + +WM_READER_STATISTICS = _WMReaderStatistics + + +class _WMReaderClientInfo(Structure): + _fields_ = [ + ('cbSize', DWORD), + ('wszLang', POINTER(WCHAR)), + ('wszBrowserUserAgent', POINTER(WCHAR)), + ('wszBrowserWebPage', POINTER(WCHAR)), + ('qwReserved', QWORD), + ('pReserved', POINTER(LPARAM)), + ('wszHostExe', POINTER(WCHAR)), + ('qwHostVersion', QWORD), + ('wszPlayerUserAgent', POINTER(WCHAR)), + ] + + +WM_READER_CLIENTINFO = _WMReaderClientInfo + + +class _WMClientProperties(Structure): + _fields_ = [ + ('dwIPAddress', DWORD), + ('dwPort', DWORD), + ] + + +WM_CLIENT_PROPERTIES = _WMClientProperties + + +class _WMClientPropertiesEx(Structure): + _fields_ = [ + ('cbSize', DWORD), + ('pwszIPAddress', LPCWSTR), + ('pwszPort', LPCWSTR), + ('pwszDNSName', LPCWSTR), + ] + + +WM_CLIENT_PROPERTIES_EX = _WMClientPropertiesEx + + +class _WMPortNumberRange(Structure): + _fields_ = [ + ('wPortBegin', WORD), + ('wPortEnd', WORD), + ] + + +WM_PORT_NUMBER_RANGE = _WMPortNumberRange + + +class _WMT_BUFFER_SEGMENT(Structure): + _fields_ = [ + ('pBuffer', POINTER(INSSBuffer)), + ('cbOffset', DWORD), + ('cbLength', DWORD), + ] + + +WMT_BUFFER_SEGMENT = _WMT_BUFFER_SEGMENT + + +class _WMT_PAYLOAD_FRAGMENT(Structure): + _fields_ = [ + ('dwPayloadIndex', DWORD), + ('segmentData', WMT_BUFFER_SEGMENT), + ] + + +WMT_PAYLOAD_FRAGMENT = _WMT_PAYLOAD_FRAGMENT + + +class _WMT_FILESINK_DATA_UNIT(Structure): + _fields_ = [ + ('packetHeaderBuffer', WMT_BUFFER_SEGMENT), + ('cPayloads', DWORD), + ('pPayloadHeaderBuffers', POINTER(WMT_BUFFER_SEGMENT)), + ('cPayloadDataFragments', DWORD), + ('pPayloadDataFragments', POINTER(WMT_PAYLOAD_FRAGMENT)), + ] + + +WMT_FILESINK_DATA_UNIT = _WMT_FILESINK_DATA_UNIT + + +class _WMT_WEBSTREAM_FORMAT(Structure): + _fields_ = [ + ('cbSize', WORD), + ('cbSampleHeaderFixedData', WORD), + ('wVersion', WORD), + ('wReserved', WORD), + ] + + +WMT_WEBSTREAM_FORMAT = _WMT_WEBSTREAM_FORMAT + + +class _WMT_WEBSTREAM_SAMPLE_HEADER(Structure): + _fields_ = [ + ('cbLength', WORD), + ('wPart', WORD), + ('cTotalParts', WORD), + ('wSampleType', WORD), + ('wszURL', WCHAR * 1), + ] + + +WMT_WEBSTREAM_SAMPLE_HEADER = _WMT_WEBSTREAM_SAMPLE_HEADER + + +class _WMAddressAccessEntry(Structure): + _fields_ = [ + ('dwIPAddress', DWORD), + ('dwMask', DWORD), + ] + + +WM_ADDRESS_ACCESSENTRY = _WMAddressAccessEntry + + +class _WMPicture(Structure): + _fields_ = [ + ('pwszMIMEType', LPWSTR), + ('bPictureType', BYTE), + ('pwszDescription', LPWSTR), + ('dwDataLen', DWORD), + ('pbData', POINTER(BYTE)), + ] + + +WM_PICTURE = _WMPicture + + +class _WMSynchronisedLyrics(Structure): + _fields_ = [ + ('bTimeStampFormat', BYTE), + ('bContentType', BYTE), + ('pwszContentDescriptor', LPWSTR), + ('dwLyricsLen', DWORD), + ('pbLyrics', POINTER(BYTE)), + ] + + +WM_SYNCHRONISED_LYRICS = _WMSynchronisedLyrics + + +class _WMUserWebURL(Structure): + _fields_ = [ + ('pwszDescription', LPWSTR), + ('pwszURL', LPWSTR), + ] + + +WM_USER_WEB_URL = _WMUserWebURL + + +class _WMUserText(Structure): + _fields_ = [ + ('pwszDescription', LPWSTR), + ('pwszText', LPWSTR), + ] + + +WM_USER_TEXT = _WMUserText + + +class _WMLeakyBucketPair(Structure): + _fields_ = [ + ('dwBitrate', DWORD), + ('msBufferWindow', DWORD), + ] + + +WM_LEAKY_BUCKET_PAIR = _WMLeakyBucketPair + + +class _WMStreamTypeInfo(Structure): + _fields_ = [ + ('guidMajorType', GUID), + ('cbFormat', DWORD), + ] + + +WM_STREAM_TYPE_INFO = _WMStreamTypeInfo + + +class _WM_LICENSE_STATE_DATA(Structure): + _fields_ = [ + ('dwSize', DWORD), + ('dwNumStates', DWORD), + ('stateData', DRM_LICENSE_STATE_DATA * 1), + ] + + +WM_LICENSE_STATE_DATA = _WM_LICENSE_STATE_DATA + + +class __WMT_WATERMARK_ENTRY(Structure): + _fields_ = [ + ('wmetType', WMT_WATERMARK_ENTRY_TYPE), + ('clsid', CLSID), + ('cbDisplayName', UINT), + ('pwszDisplayName', LPWSTR), + ] + + +WMT_WATERMARK_ENTRY = __WMT_WATERMARK_ENTRY + + +class __WMT_VIDEOIMAGE_SAMPLE(Structure): + _fields_ = [ + ('dwMagic', DWORD), + ('cbStruct', ULONG), + ('dwControlFlags', DWORD), + ('dwInputFlagsCur', DWORD), + ('lCurMotionXtoX', LONG), + ('lCurMotionYtoX', LONG), + ('lCurMotionXoffset', LONG), + ('lCurMotionXtoY', LONG), + ('lCurMotionYtoY', LONG), + ('lCurMotionYoffset', LONG), + ('lCurBlendCoef1', LONG), + ('lCurBlendCoef2', LONG), + ('dwInputFlagsPrev', DWORD), + ('lPrevMotionXtoX', LONG), + ('lPrevMotionYtoX', LONG), + ('lPrevMotionXoffset', LONG), + ('lPrevMotionXtoY', LONG), + ('lPrevMotionYtoY', LONG), + ('lPrevMotionYoffset', LONG), + ('lPrevBlendCoef1', LONG), + ('lPrevBlendCoef2', LONG), + ] + + +WMT_VIDEOIMAGE_SAMPLE = __WMT_VIDEOIMAGE_SAMPLE + + +class __WMT_VIDEOIMAGE_SAMPLE2(Structure): + _fields_ = [ + ('dwMagic', DWORD), + ('dwStructSize', DWORD), + ('dwControlFlags', DWORD), + ('dwViewportWidth', DWORD), + ('dwViewportHeight', DWORD), + ('dwCurrImageWidth', DWORD), + ('dwCurrImageHeight', DWORD), + ('fCurrRegionX0', FLOAT), + ('fCurrRegionY0', FLOAT), + ('fCurrRegionWidth', FLOAT), + ('fCurrRegionHeight', FLOAT), + ('fCurrBlendCoef', FLOAT), + ('dwPrevImageWidth', DWORD), + ('dwPrevImageHeight', DWORD), + ('fPrevRegionX0', FLOAT), + ('fPrevRegionY0', FLOAT), + ('fPrevRegionWidth', FLOAT), + ('fPrevRegionHeight', FLOAT), + ('fPrevBlendCoef', FLOAT), + ('dwEffectType', DWORD), + ('dwNumEffectParas', DWORD), + ('fEffectPara0', FLOAT), + ('fEffectPara1', FLOAT), + ('fEffectPara2', FLOAT), + ('fEffectPara3', FLOAT), + ('fEffectPara4', FLOAT), + ('bKeepPrevImage', BOOL), + ] + + +WMT_VIDEOIMAGE_SAMPLE2 = __WMT_VIDEOIMAGE_SAMPLE2 + + +class _WMMediaType(Structure): + _fields_ = [ + ('majortype', GUID), + ('subtype', GUID), + ('bFixedSizeSamples', BOOL), + ('bTemporalCompression', BOOL), + ('lSampleSize', ULONG), + ('formattype', GUID), + ('pUnk', POINTER(IUnknown)), + ('cbFormat', ULONG), + ('pbFormat', POINTER(BYTE)), + ] + + +WM_MEDIA_TYPE = _WMMediaType + + +class tagWMVIDEOINFOHEADER(Structure): + _fields_ = [ + ('rcSource', RECT), + ('rcTarget', RECT), + ('dwBitRate', DWORD), + ('dwBitErrorRate', DWORD), + ('AvgTimePerFrame', LONGLONG), + ('bmiHeader', BITMAPINFOHEADER), + ] + + +WMVIDEOINFOHEADER = tagWMVIDEOINFOHEADER + + +class tagWMVIDEOINFOHEADER2(Structure): + _fields_ = [ + ('rcSource', RECT), + ('rcTarget', RECT), + ('dwBitRate', DWORD), + ('dwBitErrorRate', DWORD), + ('AvgTimePerFrame', LONGLONG), + ('dwInterlaceFlags', DWORD), + ('dwCopyProtectFlags', DWORD), + ('dwPictAspectRatioX', DWORD), + ('dwPictAspectRatioY', DWORD), + ('dwReserved1', DWORD), + ('dwReserved2', DWORD), + ('bmiHeader', BITMAPINFOHEADER), + ] + + +WMVIDEOINFOHEADER2 = tagWMVIDEOINFOHEADER2 + + +class tagWMMPEG2VIDEOINFO(Structure): + _fields_ = [ + ('hdr', WMVIDEOINFOHEADER2), + ('dwStartTimeCode', DWORD), + ('cbSequenceHeader', DWORD), + ('dwProfile', DWORD), + ('dwLevel', DWORD), + ('dwFlags', DWORD), + ('dwSequenceHeader', DWORD * 1), + ] + + +WMMPEG2VIDEOINFO = tagWMMPEG2VIDEOINFO + + +class tagWMSCRIPTFORMAT(Structure): + _fields_ = [ + (' scriptType', GUID), + ] + + +WMSCRIPTFORMAT = tagWMSCRIPTFORMAT + + +class _WMT_COLORSPACEINFO_EXTENSION_DATA(Structure): + _fields_ = [ + ('ucColorPrimaries', BYTE), + ('ucColorTransferChar', BYTE), + ('ucColorMatrixCoef', BYTE), + ] + + +WMT_COLORSPACEINFO_EXTENSION_DATA = _WMT_COLORSPACEINFO_EXTENSION_DATA + + +class _WMT_TIMECODE_EXTENSION_DATA(Structure): + _fields_ = [ + ('wRange', WORD), + ('dwTimecode', DWORD), + ('dwUserbits', DWORD), + ('dwAmFlags', DWORD), + ] + + +WMT_TIMECODE_EXTENSION_DATA = _WMT_TIMECODE_EXTENSION_DATA + + +class _DRM_VAL16(Structure): + _fields_ = [ + ('val', BYTE * 16), + ] + + +DRM_VAL16 = _DRM_VAL16 + + +class IWMMediaProps(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMMediaProps + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetType', + (['out'], POINTER(GUID), 'pguidType') + ), + COMMETHOD( + [], + HRESULT, + 'GetMediaType', + (['out'], POINTER(WM_MEDIA_TYPE), 'pType'), + (['in', 'out'], POINTER(DWORD), 'pcbType'), + ), + COMMETHOD( + [], + HRESULT, + 'SetMediaType', + (['in'], POINTER(WM_MEDIA_TYPE), 'pType'), + ) + ) + + +class IWMVideoMediaProps(IWMMediaProps): + _case_insensitive_ = True + _iid_ = IID_IWMVideoMediaProps + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetMaxKeyFrameSpacing', + (['out'], POINTER(LONGLONG), 'pllTime') + ), + COMMETHOD( + [], + HRESULT, + 'SetMaxKeyFrameSpacing', + (['in'], LONGLONG, 'llTime'), + ), + COMMETHOD( + [], + HRESULT, + 'GetQuality', + (['in'], POINTER(DWORD), 'pdwQuality'), + ), + COMMETHOD( + [], + HRESULT, + 'SetQuality', + (['in'], DWORD, 'dwQuality'), + ) + ) + + +class IWMWriter(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMWriter + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetProfileByID', + (['in'], REFGUID, 'guidProfile') + ), + COMMETHOD( + [], + HRESULT, + 'SetProfile', + (['in'], POINTER(IWMProfile), 'pProfile'), + ), + COMMETHOD( + [], + HRESULT, + 'SetOutputFilename', + (['in'], POINTER(WCHAR), 'pwszFilename'), + ), + COMMETHOD( + [], + HRESULT, + 'GetInputCount', + (['out'], POINTER(DWORD), 'pcInputs'), + ), + COMMETHOD( + [], + HRESULT, + 'GetInputProps', + (['in'], DWORD, 'dwInputNum'), + (['out'], POINTER(POINTER(IWMInputMediaProps)), 'ppInput'), + ), + COMMETHOD( + [], + HRESULT, + 'SetInputProps', + (['in'], DWORD, 'dwInputNum'), + (['in'], POINTER(IWMInputMediaProps), 'pInput'), + ), + COMMETHOD( + [], + HRESULT, + 'GetInputFormatCount', + (['in'], DWORD, 'dwInputNumber'), + (['out'], POINTER(DWORD), 'pcFormats'), + ), + COMMETHOD( + [], + HRESULT, + 'GetInputFormat', + (['in'], DWORD, 'dwInputNumber'), + (['in'], DWORD, 'dwFormatNumber'), + (['out'], POINTER(IWMInputMediaProps), 'pProps'), + ), + COMMETHOD( + [], + HRESULT, + 'BeginWriting', + (), + ), + COMMETHOD( + [], + HRESULT, + 'EndWriting', + (), + ), + COMMETHOD( + [], + HRESULT, + 'AllocateSample', + (['in'], DWORD, 'dwSampleSize'), + (['out'], POINTER(POINTER(INSSBuffer)), 'ppSample'), + ), + COMMETHOD( + [], + HRESULT, + 'WriteSample', + (['in'], DWORD, 'dwInputNum'), + (['in'], QWORD, 'cnsSampleTime'), + (['in'], DWORD, 'dwFlags'), + (['in'], POINTER(INSSBuffer), 'pSample'), + ), + COMMETHOD( + [], + HRESULT, + 'Flush', + (), + ) + + ) + + +class IWMDRMWriter(comtypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMDRMWriter + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GenerateKeySeed', + (['out'], POINTER(WCHAR), 'pwszKeySeed'), + (['in', 'out'], POINTER(DWORD), 'pcwchLength') + ), + COMMETHOD( + [], + HRESULT, + 'GenerateKeyID', + (['out'], POINTER(WCHAR), 'pwszKeyID'), + (['in', 'out'], POINTER(DWORD), 'pcwchLength') + ), + COMMETHOD( + [], + HRESULT, + 'GenerateSigningKeyPair', + (['out'], POINTER(WCHAR), 'pwszPrivKey'), + (['in', 'out'], POINTER(DWORD), 'pcwchPrivKeyLength'), + (['out'], POINTER(WCHAR), 'pwszPubKey'), + (['in', 'out'], POINTER(DWORD), 'pcwchPubKeyLength') + + ), + COMMETHOD( + [], + HRESULT, + 'SetDRMAttribute', + (['in'], WORD, 'wStreamNum'), + (['in'], LPCWSTR, 'pszName'), + (['in'], WMT_ATTR_DATATYPE, 'Type'), + (['in'], POINTER(BYTE), 'pValue'), + (['in'], WORD, 'cbLength'), + ) + ) + + +class IWMDRMWriter2(IWMDRMWriter): + _case_insensitive_ = True + _iid_ = IID_IWMDRMWriter2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetWMDRMNetEncryption', + (['in'], BOOL, 'fSamplesEncrypted'), + (['in'], POINTER(BYTE), 'pbKeyID'), + (['in'], DWORD, 'cbKeyID'), + ), + ) + + +class IWMDRMWriter3(IWMDRMWriter2): + _case_insensitive_ = True + _iid_ = IID_IWMDRMWriter3 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetProtectStreamSamples', + (['in'], POINTER(WMDRM_IMPORT_INIT_STRUCT), 'pImportInitStruct'), + ), + ) + + +class IWMInputMediaProps(IWMMediaProps): + _case_insensitive_ = True + _iid_ = IID_IWMInputMediaProps + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetConnectionName', + (['out'], POINTER(WCHAR), 'pwszName'), + (['in', 'out'], POINTER(WORD), 'pcchName') + ), + COMMETHOD( + [], + HRESULT, + 'GetGroupName', + (['out'], POINTER(WCHAR), 'pwszName'), + (['in', 'out'], POINTER(WORD), 'pcchName') + ) + ) + + +class IWMPropertyVault(ctypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMPropertyVault + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetPropertyCount', + (['in'], POINTER(DWORD), 'pdwCount') + ), + COMMETHOD( + [], + HRESULT, + 'GetPropertyByName', + (['in'], LPCWSTR, 'pszName'), + (['out'], POINTER(WMT_ATTR_DATATYPE), 'pType'), + (['out'], POINTER(BYTE), 'pValue'), + (['in', 'out'], POINTER(DWORD), 'pdwSize') + ), + COMMETHOD( + [], + HRESULT, + 'SetProperty', + (['in'], LPCWSTR, 'pszName'), + (['in'], WMT_ATTR_DATATYPE, 'pType'), + (['in'], POINTER(BYTE), 'pValue'), + (['in'], DWORD, 'dwSize'), + ), + COMMETHOD( + [], + HRESULT, + 'GetPropertyByIndex', + (['in'], DWORD, 'dwIndex'), + (['out'], LPWSTR, 'pszName'), + (['in', 'out'], POINTER(DWORD), 'pdwNameLen'), + (['out'], POINTER(WMT_ATTR_DATATYPE), 'pType'), + (['out'], POINTER(BYTE), 'pValue'), + (['in', 'out'], POINTER(DWORD), 'pdwSize') + ), + COMMETHOD( + [], + HRESULT, + 'CopyPropertiesFrom', + (['in'], POINTER(IWMPropertyVault), 'pIWMPropertyVault') + ), + COMMETHOD( + [], + HRESULT, + 'Clear', + (), + ) + ) + + +class IWMIStreamProps(ctypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMIStreamProps + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetProperty', + (['in'], LPCWSTR, 'pszName'), + (['out'], POINTER(WMT_ATTR_DATATYPE), 'pType'), + (['out'], POINTER(BYTE), 'pValue'), + (['in', 'out'], POINTER(DWORD), 'pdwSize') + ), + ) + + +class IWMReader(ctypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMReader + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Open', + (['in'], POINTER(WCHAR), 'pwszURL'), + (['in'], POINTER(IWMReaderCallback), 'pCallback'), + (['in'], POINTER(VOID), 'pvContext') + ), + COMMETHOD( + [], + HRESULT, + 'Close', + () + ), + COMMETHOD( + [], + HRESULT, + 'GetOutputCount', + (['out'], POINTER(DWORD), 'pcOutputs') + ), + COMMETHOD( + [], + HRESULT, + 'GetOutputProps', + (['in'], DWORD, 'dwOutputNum'), + (['out'], POINTER(POINTER(IWMOutputMediaProps)), 'ppOutput') + ), + COMMETHOD( + [], + HRESULT, + 'SetOutputProps', + (['in'], DWORD, 'dwOutputNum'), + (['in'], POINTER(IWMOutputMediaProps), 'pOutput') + ), + COMMETHOD( + [], + HRESULT, + 'GetOutputFormatCount', + (['in'], DWORD, 'dwOutputNumber'), + (['out'], POINTER(DWORD), 'pcFormats') + ), + COMMETHOD( + [], + HRESULT, + 'GetOutputFormat', + (['in'], DWORD, 'dwOutputNumber'), + (['in'], DWORD, 'dwFormatNumber'), + (['out'], POINTER(POINTER(IWMOutputMediaProps)), 'ppProps') + ), + COMMETHOD( + [], + HRESULT, + 'Start', + (['in'], QWORD, 'cnsStart'), + (['in'], QWORD, 'cnsDuration'), + (['in'], FLOAT, 'fRate'), + (['in'], POINTER(VOID), 'pvContext') + ), + COMMETHOD( + [], + HRESULT, + 'Stop', + () + ), + COMMETHOD( + [], + HRESULT, + 'Pause', + () + ), + COMMETHOD( + [], + HRESULT, + 'Resume', + () + ) + ) + + +class IWMSyncReader2(IWMSyncReader): + _case_insensitive_ = True + _iid_ = IID_IWMSyncReader2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'SetRangeByTimecode', + (['in'], WORD, 'wStreamNum'), + (['in'], POINTER(WMT_TIMECODE_EXTENSION_DATA), 'pStart'), + (['in'], POINTER(WMT_TIMECODE_EXTENSION_DATA), 'pEnd') + ), + COMMETHOD( + [], + HRESULT, + 'SetRangeByFrameEx', + (['in'], WORD, 'wStreamNum'), + (['in'], QWORD, 'qwFrameNumber'), + (['in'], LONGLONG, 'cFramesToRead'), + (['out'], POINTER(QWORD), 'pcnsStartTime') + ), + COMMETHOD( + [], + HRESULT, + 'SetAllocateForOutput', + (['in'], DWORD, 'dwOutputNum'), + (['in'], POINTER(IWMReaderAllocatorEx), 'pAllocator'), + ), + COMMETHOD( + [], + HRESULT, + 'GetAllocateForOutput', + (['in'], DWORD, 'dwOutputNum'), + (['out'], POINTER(POINTER(IWMReaderAllocatorEx)), 'pAllocator'), + ), + COMMETHOD( + [], + HRESULT, + 'SetAllocateForStream', + (['in'], WORD, 'wStreamNum'), + (['in'], POINTER(IWMReaderAllocatorEx), 'pAllocator'), + ), + COMMETHOD( + [], + HRESULT, + 'GetAllocateForStream', + (['in'], WORD, 'dwSreamNum'), + (['out'], POINTER(POINTER(IWMReaderAllocatorEx)), 'pAllocator'), + ) + ) + + +class IWMOutputMediaProps(IWMMediaProps): + _case_insensitive_ = True + _iid_ = IID_IWMOutputMediaProps + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'GetStreamGroupName', + (['out'], POINTER(WCHAR), 'pwszName'), + (['in', 'out'], POINTER(WORD), 'pcchName') + ), + COMMETHOD( + [], + HRESULT, + 'GetConnectionName', + (['out'], POINTER(WCHAR), 'pwszName'), + (['in', 'out'], POINTER(WORD), 'pcchName') + ) + ) + + +class IWMStatusCallback(ctypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMStatusCallback + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnStatus', + (['in'], WMT_STATUS, 'Status'), + (['in'], HRESULT, 'hr'), + (['in'], WMT_ATTR_DATATYPE, 'dwType'), + (['in'], POINTER(BYTE), 'pValue'), + (['in'], POINTER(VOID), 'pvContext') + ), + ) + + +class IWMReaderCallback(ctypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMReaderCallback + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OnSample', + (['in'], DWORD, 'dwOutputNum'), + (['in'], QWORD, 'cnsSampleTime'), + (['in'], QWORD, 'cnsSampleDuration'), + (['in'], DWORD, 'dwFlags'), + (['in'], POINTER(INSSBuffer), 'pSample'), + (['in'], POINTER(VOID), 'pvContext') + ), + ) + + +class IWMCredentialCallback(ctypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMCredentialCallback + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'AcquireCredentials', + (['in'], POINTER(WCHAR), 'pwszRealm'), + (['in'], POINTER(WCHAR), 'pwszSite'), + (['out'], POINTER(WCHAR), 'pwszUser'), + (['in'], DWORD, 'cchUser'), + (['out'], POINTER(WCHAR), 'pwszPassword'), + (['in'], DWORD, 'cchPassword'), + (['in'], HRESULT, 'hrStatus'), + (['out'], POINTER(DWORD), 'pdwFlags') + ), + ) + + +class IWMMetadataEditor(ctypes.IUnknown): + _case_insensitive_ = True + _iid_ = IID_IWMMetadataEditor + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'Open', + (['in'], POINTER(WCHAR), 'pwszFilename') + ), + COMMETHOD( + [], + HRESULT, + 'Close', + () + ), + COMMETHOD( + [], + HRESULT, + 'Flush', + () + ), + ) + + +class IWMMetadataEditor2(IWMMetadataEditor): + _case_insensitive_ = True + _iid_ = IID_IWMMetadataEditor2 + _methods_ = ( + COMMETHOD( + [], + HRESULT, + 'OpenEx', + (['in'], POINTER(WCHAR), 'pwszFilename'), + (['in'], DWORD, 'dwDesiredAccess'), + (['in'], DWORD, 'dwShareMode') + ), + ) diff --git a/plugins/CoreAudio/pyWinCoreAudio/__init__.py b/plugins/CoreAudio/pyWinCoreAudio/__init__.py new file mode 100644 index 000000000..cda851968 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/__init__.py @@ -0,0 +1,512 @@ + +import comtypes +from endpoint import AudioDefaultEndpoint +from __core_audio.enum import EDataFlow +from __core_audio.devicetopologyapi import PIDeviceTopology +from __core_audio.iid import IID_IDeviceTopology +from device import ( + AudioDevice, + AudioDeviceEnumerator, + AudioNotificationClient +) +from __core_audio.constant import ( + PKEY_DeviceInterface_FriendlyName, + STGM_READ +) + +CLSCTX_INPROC_SERVER = comtypes.CLSCTX_INPROC_SERVER + + +class AudioWaveFormat(object): + + def __init__(self, client): + self.__client = client + + +class AudioDevices(object): + + def __init__(self): + comtypes.CoInitialize() + + self.__callbacks = [] + self.__device_enum = AudioDeviceEnumerator() + + self.__notification_client = AudioNotificationClient( + self.__device_enum, + self.__callbacks + ) + self.__device_enum.register_endpoint_notification_callback( + self.__notification_client + ) + + def register_notification_callback(self, callback): + self.__callbacks += [callback] + + def unregister_notification_callback(self, callback): + self.__callbacks.remove(callback) + + @property + def default_render_endpoint(self): + return AudioDefaultEndpoint(self.__device_enum, EDataFlow.eRender) + + @property + def default_capture_endpoint(self): + return AudioDefaultEndpoint(self.__device_enum, EDataFlow.eCapture) + + @property + def __devices(self): + used_names = [] + + for endpt in self.__device_enum.endpoints: + pStore = endpt.OpenPropertyStore(STGM_READ) + try: + name = pStore.GetValue(PKEY_DeviceInterface_FriendlyName) + except comtypes.COMError: + continue + + if name not in used_names: + used_names += [name] + device_topology = comtypes.cast( + endpt.Activate( + IID_IDeviceTopology, + CLSCTX_INPROC_SERVER + ), + PIDeviceTopology + ) + + yield AudioDevice( + device_topology.GetDeviceId(), + self.__device_enum + ) + + def __iter__(self): + for dev in self.__devices: + yield dev + + def __contains__(self, item): + for dev in self: + if item in (dev.name, dev.id): + return True + return False + + def __getitem__(self, item): + if isinstance(item, (slice, int)): + return list(self)[item] + + for dev in self: + if item in (dev.name, dev.id): + return dev + raise AttributeError + + +comtypes.CoInitialize() + +AudioDevices = AudioDevices() + + +def stop(): + comtypes.CoUninitialize() + + +if __name__ == '__main__': + registered_volume_callbacks = {} + + import threading + print_lock = threading.Lock() + + class Callbacks: + + @staticmethod + def session_created(new_session): + session_endpoint = new_session.session_manager.endpoint + session_device = session_endpoint.device + print_lock.acquire() + + print 'audio session created' + print ' device name:', session_device.name + print ' endpoint name:', session_endpoint.name + print ' name:', new_session.name + print ' id:', new_session.id + print ' instance id:', new_session.instance_id + print ' process id:', new_session.process_id + print ' is system sounds:', new_session.is_system_sounds + print ' grouping param:', new_session.grouping_param + print ' icon:', new_session.icon + print ' state:', new_session.state + print + print + print_lock.release() + + new_session.register_notification_callback(Callbacks) + + @staticmethod + def session_name_changed(session, new_name): + session_endpoint = session.session_manager.endpoint + session_device = session_endpoint.device + + print_lock.acquire() + + print 'audio session name changed' + print ' device name:', session_device.name + print ' endpoint name:', session_endpoint.name + print ' name:', new_name + print + print + print_lock.release() + + @staticmethod + def session_grouping_changed(session, new_group): + session_endpoint = session.session_manager.endpoint + session_device = session_endpoint.device + + print_lock.acquire() + + print 'audio session grouping changed' + print ' device name:', session_device.name + print ' endpoint name:', session_endpoint.name + print ' name:', session.name + print ' grouping param:', new_group + print + print + print_lock.release() + + @staticmethod + def session_icon_path_changed(session, new_path): + session_endpoint = session.session_manager.endpoint + session_device = session_endpoint.device + + print_lock.acquire() + + print 'audio session icon path changed' + print ' device name:', session_device.name + print ' endpoint name:', session_endpoint.name + print ' name:', session.name + print ' icon path:', new_path + print ' icon:', session.icon + print + print + print_lock.release() + + @staticmethod + def session_disconnect( + session_endpoint, + session_name, + session_id, + disconnect_reason + ): + session_device = session_endpoint.device + + print_lock.acquire() + + print 'audio session disconnected' + print ' device name:', session_device.name + print ' endpoint name:', session_device.name + print ' name:', session_name + print ' id:', session_id + print ' disconnect reason:', disconnect_reason + print + print + print_lock.release() + + @staticmethod + def session_volume_changed(session, new_volume, mute): + session_endpoint = session.session_manager.endpoint + session_device = session_endpoint.device + + print_lock.acquire() + + print 'audio session volume changed' + print ' device name:', session_device.name + print ' endpoint name:', session_endpoint.name + print ' name:', session.name + print ' volume:', new_volume + print ' mute:', mute + print + print + print_lock.release() + + @staticmethod + def session_state_changed(session, state): + session_endpoint = session.session_manager.endpoint + session_device = session_endpoint.device + + print_lock.acquire() + + print 'audio session state changed' + print ' device name:', session_device.name + print ' endpoint name:', session_endpoint.name + print ' name:', session.name + print ' id:', session.id + print ' instance id:', session.instance_id + print ' process id:', session.process_id + print ' is system sounds:', session.is_system_sounds + print ' state:', state + print + print + print_lock.release() + + @staticmethod + def endpoint_volume_change( + endpoint, + master_volume, + channel_volumes, + mute + ): + print_lock.acquire() + + print 'endpoint volume change' + print ' device name:', endpoint.device.name + print ' endpoint name:', endpoint.name + print ' master:', str(master_volume * 100) + '%' + print ' mute:', mute + for i, level in enumerate(channel_volumes): + print ' channel %d level:' % i, str(level * 100) + '%' + + print + print + print_lock.release() + + @staticmethod + def device_state_change(device, state): + print_lock.acquire() + + print 'device state change' + print ' device name:', device.name + print ' state:', state + print + print + print_lock.release() + + @staticmethod + def device_added(device): + print_lock.acquire() + + print 'device added' + print ' device name:', device.name + print + print + print_lock.release() + + @staticmethod + def device_removed(device): + print_lock.acquire() + + print 'device removed' + print ' device name:', device.name + print + print + print_lock.release() + + @staticmethod + def default_endpoint_changed(device): + print_lock.acquire() + + print 'default endpoint changed' + print ' device name:', device.name + + for endpoint in device: + if ( + endpoint.is_default and + endpoint not in registered_volume_callbacks + ): + print ' endpoint name:', endpoint.name + try: + volume = endpoint.volume + callback = volume.register_volume_change_callback( + Callbacks.endpoint_volume_change + ) + registered_volume_callbacks[endpoint] = callback + break + + except AttributeError: + pass + print + print + print_lock.release() + + @staticmethod + def device_property_changed(device, key): + print_lock.acquire() + + print 'device property changed' + print ' device name:', device.name + print ' key:', key.fmtid, key.pid + print + print + print_lock.release() + + def test(): + for device in AudioDevices: + print + print + print + print 'device name:', device.name + print '=======================================================' + print ' icon:', device.icon + print ' id:', device.id + print ' connector count:', device.connector_count + print ' state:', device.state + for endpoint in device: + full_range_speakers = endpoint.full_range_speakers + print + print ' endpoint name:', endpoint.name + print ' ---------------------------------------------------' + print ' description:', endpoint.description + print ' icon:', endpoint.icon + print ' data flow:', endpoint.data_flow + print ' form factor:', endpoint.form_factor + print ' type:', endpoint.form_factor + print ' full range speakers:', full_range_speakers + print ' guid:', endpoint.guid + print ' physical speakers:', endpoint.physical_speakers + print ' system effects:', endpoint.system_effects + try: + sink = endpoint.jack_information + except AttributeError: + pass + else: + print ' manufacturer id:', sink.manufacturer_id + print ' product id:', sink.product_id + print ' audio latency:', sink.audio_latency + print ' hdcp capable:', sink.hdcp_capable + print ' ai capable:', sink.ai_capable + print ' description:', sink.description + print ' connection type:', sink.connection_type + + try: + session_manager = endpoint.session_manager + except AttributeError: + pass + else: + session_manager.register_notification_callback(Callbacks) + print ' sessions' + try: + sessions = list(session_manager) + except TypeError: + pass + else: + def p(attr_name, v): + print ' ', attr_name, v + + for i, session in enumerate(sessions): + session.register_notification_callback(Callbacks) + print ' session %d' % i + p('name:', session.name) + p('id:', session.id) + p('instance id:', session.instance_id) + p('process id:', session.process_id) + p('is system sounds:', session.is_system_sounds) + p('grouping param:', session.grouping_param) + p('icon:', session.icon) + p('state:', session.state) + try: + jacks = list(jack for jack in endpoint.jack_descriptions) + print + print ' connectors' + + def p(attr, v): + print ' ', attr, v + + for i, jack in enumerate(jacks): + print ' %d:' % i + p('channel mapping:', jack.channel_mapping) + p('color:', jack.color) + p('type:', jack.type) + p('location:', jack.location) + p('port:', jack.port) + p('presence detection:', jack.presence_detection) + p('dynamic format change:', jack.dynamic_format_change) + p('is connected:', jack.is_connected) + except AttributeError: + pass + + try: + volume = endpoint.volume + print + except AttributeError: + pass + else: + scalar = volume.master_scalar + print ' volume' + print ' master level:', volume.master + print ' master level scalar:', scalar + print ' master min:', volume.min + print ' master max:', volume.max + print ' master step:', volume.step + try: + mute = volume.mute + print ' mute:', mute + except AttributeError: + pass + print ' channel count:', volume.channel_count + print + print ' channel levels' + levels = volume.channel_levels + scalars = volume.channel_levels_scalar + ranges = volume.channel_ranges + for i, level in enumerate(levels): + print ' %d:' % i + print ' level:', level + print ' scalar level:', scalars[i] + c_min, c_max, c_step = ranges[i] + print ' min:', c_min + print ' max:', c_max + print ' step:', c_step + try: + peak_meter = volume.peak_meter + print + print ' peak meter' + print ' master:', peak_meter.peak_value + print ' channels' + peak_values = peak_meter.channel_peak_values + for i, value in enumerate(peak_values): + print ' %d:' % i + print ' level:', value + + except AttributeError: + pass + + print + print + default_render = AudioDevices.default_render_endpoint + print 'default render device:', default_render.device.name + print 'default render endpoint:', default_render.name + print 'default render endpoint volume:', str( + default_render.volume.master_scalar * 100 + ) + '%' + + default_capture = AudioDevices.default_capture_endpoint + print 'default capture device:', default_capture.device.name + print 'default capture endpoint:', default_capture.name + print 'default capture endpoint volume:', str( + default_capture.volume.master_scalar * 100 + ) + '%' + + registered_volume_callbacks[default_render] = ( + default_render.volume.register_notification_callback(Callbacks) + ) + registered_volume_callbacks[default_capture] = ( + default_capture.volume.register_notification_callback(Callbacks) + ) + + AudioDevices.register_notification_callback(Callbacks) + + print + print + + raw_input( + 'Change the volume.\n' + 'Set the mute.\n' + 'Change the default device.\n' + 'Change some of the device properties.\n' + '\n' + 'Press any key to exit.\n' + ) + import sys + + sys.exit() + + try: + test() + finally: + stop() diff --git a/plugins/CoreAudio/pyWinCoreAudio/client.py b/plugins/CoreAudio/pyWinCoreAudio/client.py new file mode 100644 index 000000000..a543338be --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/client.py @@ -0,0 +1,185 @@ + + +import comtypes +import threading +import ctypes +from ctypes.wintypes import ( + DWORD, + BYTE, +) + +from __core_audio.iid import ( + IID_IAudioCaptureClient, + IID_IAudioClock, + IID_IAudioClock2, + IID_IAudioRenderClient, + IID_IAudioSessionControl, + IID_IAudioStreamVolume, + IID_IChannelAudioVolume, + IID_IMFTrustedOutput, + IID_ISimpleAudioVolume +) + +from __core_audio.enum import AUDCLNT_SHAREMODE +AudioClientProperties + +REFTIMES_PER_SEC = 10000000 +REFTIMES_PER_MILLISEC = 10000 +REFERENCE_TIME = ctypes.c_longlong +UINT32 = ctypes.c_uint32 +LPUINT32 = POINTER(UINT32) +LPBYTE = POINTER(BYTE) + + +class AudioRenderClient(object): + + def __init__(self, audio_client, render_client): + self.__audio_client = audio_client + self.__render_client = render_client + + def play_stream(self, stream, shared_mode): + + def do(strm, mode): + hnsRequestedDuration = REFERENCE_TIME(REFTIMES_PER_SEC) + hnsActualDuration = REFERENCE_TIME + bufferFrameCount = UINT32 + numFramesAvailable = UINT32 + pData = LPBYTE + flags = DWORD(0) + + pwfx = self.__audio_client.mix_format + + + if mode: + mode = AUDCLNT_SHAREMODE.AUDCLNT_SHAREMODE_SHARED + else: + mode = AUDCLNT_SHAREMODE.AUDCLNT_SHAREMODE_EXCLUSIVE + + self.__audio_client.initialize( + mode, + 0, + hnsRequestedDuration, + 0, + pwfx, + NULL + + ) + + +class AudioClient(object): + + def __init__(self, audio_client): + self.__audio_client = audio_client + + @property + def buffer_size(self): + try: + return self.__audio_client.GetBufferSize() + except comtypes.COMError: + raise AttributeError + + @property + def padding(self): + try: + return self.__audio_client.GetCurrentPadding() + except comtypes.COMError: + raise AttributeError + + @property + def period(self): + try: + return self.__audio_client.GetDevicePeriod()[0] + except comtypes.COMError: + raise AttributeError + + @property + def min_period(self): + try: + return self.__audio_client.GetDevicePeriod()[1] + except comtypes.COMError: + raise AttributeError + + @property + def latency(self): + try: + return self.__audio_client.GetStreamLatency() + except comtypes.COMError: + raise AttributeError + + def reset(self): + try: + self.__audio_client.Reset() + except comtypes.COMError: + pass + + def start(self): + try: + self.__audio_client.Start() + except comtypes.COMError: + pass + + def stop(self): + try: + self.__audio_client.Stop() + except comtypes.COMError: + pass + + @property + def mix_format(self): + try: + return self.__audio_client.GetMixFormat() + except comtypes.COMError: + raise AttributeError + + @property + def capture_client(self): + try: + return self.__audio_client.GetService(IID_IAudioCaptureClient) + except comtypes.COMError: + raise AttributeError + + @property + def render_client(self): + try: + return self.__audio_client.GetService(IID_IAudioRenderClient) + except comtypes.COMError: + raise AttributeError + + @property + def simple_volume(self): + try: + return self.__audio_client.GetService(IID_ISimpleAudioVolume) + except comtypes.COMError: + raise AttributeError + + @property + def channel_volume(self): + try: + return self.__audio_client.GetService(IID_IChannelAudioVolume) + except comtypes.COMError: + raise AttributeError + + @property + def stream_volume(self): + try: + return self.__audio_client.GetService(IID_IAudioStreamVolume) + except comtypes.COMError: + raise AttributeError + + @property + def session_control(self): + try: + return self.__audio_client.GetService(IID_IAudioSessionControl) + except comtypes.COMError: + raise AttributeError + + @property + def clock(self): + try: + return self.__audio_client.GetService(IID_IAudioClock2) + except comtypes.COMError: + pass + try: + return self.__audio_client.GetService(IID_IAudioClock) + except comtypes.COMError: + raise AttributeError diff --git a/plugins/CoreAudio/pyWinCoreAudio/device.py b/plugins/CoreAudio/pyWinCoreAudio/device.py new file mode 100644 index 000000000..bc4219809 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/device.py @@ -0,0 +1,309 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +import comtypes +import threading +from singleton import Singleton +from endpoint import AudioEndpoint +from parts import AudioDeviceConnection +from utils import run_in_thread, get_icon + +from __core_audio.mmdeviceapi import ( + IMMDeviceEnumerator, + IMMNotificationClient +) +from __core_audio.devicetopologyapi import ( + PIDeviceTopology, + IPart +) +from __core_audio.enum import ( + AudioDeviceState, + EDataFlow, + ERole +) +from __core_audio.iid import ( + IID_IDeviceTopology, + CLSID_MMDeviceEnumerator +) +from __core_audio.constant import ( + S_OK, + PKEY_DeviceInterface_FriendlyName, + DEVPKEY_DeviceClass_IconPath, + STGM_READ, + DEVICE_STATE_MASK_ALL +) + +CLSCTX_INPROC_SERVER = comtypes.CLSCTX_INPROC_SERVER + +AUDIO_DEVICE_STATE = { + AudioDeviceState.Active: 'Active', + AudioDeviceState.Disabled: 'Disabled', + AudioDeviceState.NotPresent: 'Not Present', + AudioDeviceState.Unplugged: 'Unplugged' +} + + +class AudioDevice(object): + __metaclass__ = Singleton + + def __init__(self, dev_id, device_enum): + self.__id = dev_id + self.__device_enum = device_enum + + @property + def __device(self): + return self.__device_enum.get_device(self.__id) + + @property + def __device_topology(self): + return comtypes.cast( + self.__device.Activate( + IID_IDeviceTopology, + CLSCTX_INPROC_SERVER + ), + PIDeviceTopology + ) + + @property + def __connectors(self): + name = self.name + for endpoint in self.__device_enum.endpoints: + + pStore = endpoint.OpenPropertyStore(STGM_READ) + try: + item_name = pStore.GetValue(PKEY_DeviceInterface_FriendlyName) + except comtypes.COMError: + continue + + if item_name == name: + for j in range(self.__device_topology.GetConnectorCount()): + yield AudioDeviceConnection( + self.__device_topology.GetConnector(j) + ) + + @property + def __subunits(self): + for i in range(self.__device_topology.GetSubunitCount()): + subunit = self.__device_topology.GetSubunit(i) + yield subunit.QueryInterface(IPart) + + @property + def connectors(self): + return self.__connectors + + @property + def state(self): + return AUDIO_DEVICE_STATE[self.__device.GetState()] + + @property + def connector_count(self): + return self.__device_topology.GetConnectorCount() + + @property + def id(self): + return self.__device_topology.GetDeviceId() + + @property + def icon(self): + pStore = self.__device.OpenPropertyStore(STGM_READ) + try: + return get_icon(pStore.GetValue(DEVPKEY_DeviceClass_IconPath)) + except comtypes.COMError: + pass + + @property + def name(self): + pStore = self.__device.OpenPropertyStore(STGM_READ) + try: + return pStore.GetValue(PKEY_DeviceInterface_FriendlyName) + except comtypes.COMError: + pass + + @property + def render_endpoints(self): + return list(self.__endpoints(EDataFlow.eRender)) + + @property + def capture_endpoints(self): + return list(self.__endpoints(EDataFlow.eCapture)) + + def __endpoints(self, data_flow): + endpoint_enum = self.__device_enum.endpoint_enum(data_flow) + device_name = self.name + + for i in range(endpoint_enum.GetCount()): + endpoint = endpoint_enum.Item(i) + + pStore = endpoint.OpenPropertyStore(STGM_READ) + try: + name = pStore.GetValue(PKEY_DeviceInterface_FriendlyName) + except comtypes.COMError: + continue + + if name == device_name: + yield AudioEndpoint( + self, + endpoint.GetId(), + self.__device_enum + ) + + def __iter__(self): + return iter(self.__endpoints(EDataFlow.eAll)) + + +class AudioDeviceEnumerator(object): + + def __init__(self): + self.__device_enum = comtypes.CoCreateInstance( + CLSID_MMDeviceEnumerator, + IMMDeviceEnumerator, + comtypes.CLSCTX_INPROC_SERVER + ) + + def register_endpoint_notification_callback(self, client): + self.__device_enum.RegisterEndpointNotificationCallback( + client + ) + + def unregister_endpoint_notification_callback(self, client): + self.__device_enum.UnregisterEndpointNotificationCallback( + client + ) + + def default_endpoint(self, data_flow): + return self.__device_enum.GetDefaultAudioEndpoint( + data_flow, + ERole.eMultimedia, + ) + + def get_device(self, device_id): + return self.__device_enum.GetDevice(device_id) + + @property + def endpoints(self): + endpoint_enum = self.__device_enum.EnumAudioEndpoints( + EDataFlow.eAll, + DEVICE_STATE_MASK_ALL + ) + + for i in range(endpoint_enum.GetCount()): + yield endpoint_enum.Item(i) + + def endpoint_enum(self, data_flow): + return self.__device_enum.EnumAudioEndpoints( + data_flow, + DEVICE_STATE_MASK_ALL + ) + + +class AudioNotificationClient(comtypes.COMObject): + _com_interfaces_ = [IMMNotificationClient] + + def __init__(self, device_enum, callbacks): + self.__device_enum = device_enum + self.__callbacks = callbacks + self.__default_endpoint_lock = threading.Lock() + comtypes.COMObject.__init__(self) + + def __get_device(self, device_id): + device = self.__device_enum.get_device(device_id) + device_topology = comtypes.cast( + device.Activate( + IID_IDeviceTopology, + CLSCTX_INPROC_SERVER + ), + PIDeviceTopology + ) + + return AudioDevice( + device_topology.GetDeviceId(), + self.__device_enum + ) + + def OnDeviceStateChanged(self, pwstrDeviceId, dwNewState): + device = self.__get_device(pwstrDeviceId) + state = AUDIO_DEVICE_STATE[dwNewState] + + def do(): + for callback in self.__callbacks: + try: + callback.device_state_change(device, state) + except AttributeError: + pass + + run_in_thread(do) + + return S_OK + + def OnDeviceAdded(self, pwstrDeviceId): + device = self.__get_device(pwstrDeviceId) + + def do(): + for callback in self.__callbacks: + try: + callback.device_added(device) + except AttributeError: + pass + + run_in_thread(do) + + return S_OK + + def OnDeviceRemoved(self, pwstrDeviceId): + device = self.__get_device(pwstrDeviceId) + + def do(): + for callback in self.__callbacks: + try: + callback.device_removed(device) + except AttributeError: + pass + + run_in_thread(do) + + return S_OK + + def OnDefaultDeviceChanged(self, _, __, pwstrDefaultDeviceId): + device = self.__get_device(pwstrDefaultDeviceId) + + def do(): + with self.__default_endpoint_lock: + for callback in self.__callbacks: + try: + callback.default_endpoint_changed(device) + except AttributeError: + pass + + run_in_thread(do) + + return S_OK + + def OnPropertyValueChanged(self, pwstrDeviceId, key): + device = self.__get_device(pwstrDeviceId) + + def do(): + for callback in self.__callbacks: + try: + callback.device_property_changed(device, key) + except AttributeError: + pass + + run_in_thread(do) + + return S_OK diff --git a/plugins/CoreAudio/pyWinCoreAudio/endpoint.py b/plugins/CoreAudio/pyWinCoreAudio/endpoint.py new file mode 100644 index 000000000..d79cf14c2 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/endpoint.py @@ -0,0 +1,564 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +import comtypes +import ctypes +from ctypes.wintypes import ( +DWORD, +BYTE, +) +from singleton import Singleton +from utils import get_icon +from __core_audio.audioclient import ( + PIAudioClient, + PIAudioClient2, + PIAudioClient3 +) + +from session import AudioSessionManager +from speaker import AudioSpeakers +from volume import AudioVolume +from jack import ( + AudioJackDescription, + AudioJackSinkInformation +) +from parts import ( + AudioDeviceConnection, + AudioDeviceSubunit, +) + +from __core_audio.enum import ( + EDataFlow, + ERole, + EndpointFormFactor, + EndpointConnectorType +) +from __core_audio.policyconfig import IPolicyConfigVista + +from __core_audio.mmdeviceapi import ( + IMMDeviceEnumerator, + IMMEndpoint, +) +from __core_audio.devicetopologyapi import ( + PIDeviceTopology, + PIAudioBass, + PIKsJackDescription, + PIKsJackDescription2, + PIKsJackSinkInformation, + PIAudioOutputSelector, + PIAudioInputSelector, + PIAudioChannelConfig, + PIAudioAutoGainControl, + PIAudioPeakMeter, + PIAudioMidrange, + PIAudioLoudness, + PIAudioTreble, +) +from __core_audio.iid import ( + IID_IAudioAutoGainControl, + IID_IAudioBass, + IID_IAudioChannelConfig, + IID_IAudioInputSelector, + IID_IAudioLoudness, + IID_IAudioMidrange, + IID_IAudioOutputSelector, + IID_IAudioPeakMeter, + IID_IAudioTreble, + IID_IAudioClient, + IID_IAudioClient2, + IID_IAudioClient3, + IID_IDeviceTopology, + IID_IKsJackDescription, + IID_IKsJackDescription2, + IID_IKsJackSinkInformation, + CLSID_MMDeviceEnumerator, + CLSID_PolicyConfigVistaClient +) + +from __core_audio.constant import ( + PKEY_Device_FriendlyName, + DEVPKEY_DeviceClass_IconPath, + PKEY_Device_DeviceDesc, + PKEY_AudioEndpoint_Disable_SysFx, + PKEY_AudioEndpoint_PhysicalSpeakers, + PKEY_AudioEndpoint_GUID, + PKEY_AudioEndpoint_FullRangeSpeakers, + PKEY_AudioEndpoint_FormFactor, + PKEY_AudioEndpoint_JackSubType, + STGM_READ +) + +CLSCTX_INPROC_SERVER = comtypes.CLSCTX_INPROC_SERVER + +E_DATA_FLOW = { + EDataFlow.eRender: 'Render', + EDataFlow.eCapture: 'Capture', + EDataFlow.eAll: 'All', + EDataFlow.EDataFlow_enum_count: 'EDataFlow_enum_count' +} + + +ENDPOINT_CONNECTOR_TYPE = { + EndpointConnectorType.eHostProcessConnector: 'Host Process Connector', + EndpointConnectorType.eOffloadConnector: 'Offload Connector', + EndpointConnectorType.eLoopbackConnector: 'Loopback Connector', + EndpointConnectorType.eConnectorCount: 'Connector Count', + EndpointConnectorType.eKeywordDetectorConnector: ( + 'Keyword Detector Connector' + ), +} + +ENDPOINT_FORM_FACTOR = { + EndpointFormFactor.RemoteNetworkDevice: 'Remote Network Device', + EndpointFormFactor.Speakers: 'Speakers', + EndpointFormFactor.LineLevel: 'Line Level', + EndpointFormFactor.Headphones: 'Headphones', + EndpointFormFactor.Microphone: 'Microphone', + EndpointFormFactor.Headset: 'Headset', + EndpointFormFactor.Handset: 'Handset', + EndpointFormFactor.SPDIF: 'SPDIF', + EndpointFormFactor.UnknownFormFactor: 'Unknown Form Factor', + EndpointFormFactor.DigitalAudioDisplayDevice: ( + 'Digital Audio Display Device' + ), + EndpointFormFactor.UnknownDigitalPassthrough: ( + 'Unknown Digital Passthrough' + ), + EndpointFormFactor.EndpointFormFactor_enum_count: ( + 'EndpointFormFactor_enum_count' + ) +} + + +class AudioDefaultEndpoint(object): + + def __init__(self, device_enum, data_flow): + self.__device_enum = device_enum + for key, value in E_DATA_FLOW.items(): + if data_flow in (key, value): + data_flow = key + break + else: + raise AttributeError + + self.__data_flow = data_flow + + @property + def data_flow(self): + return self.__data_flow + + @property + def __default_endpoint(self): + from device import AudioDevice + + endpoint = self.__device_enum.default_endpoint(self.__data_flow) + + device_topology = comtypes.cast( + endpoint.Activate( + IID_IDeviceTopology, + CLSCTX_INPROC_SERVER + ), + PIDeviceTopology + ) + + device = AudioDevice( + device_topology.GetDeviceId(), + self.__device_enum + ) + + endpoint_id = endpoint.GetId() + + for endpoint in device: + if endpoint.id == endpoint_id: + return endpoint + + def __getattr__(self, item): + if item in self.__dict__: + return self.__dict__[item] + + endpoint = self.__default_endpoint + if endpoint is not None: + return getattr(endpoint, item) + + raise AttributeError + + +class AudioEndpoint(object): + __metaclass__ = Singleton + + def __init__( + self, + parent, + endpoint_id, + device_enum + ): + self.__parent = parent + self.__endpoint_id = endpoint_id + self.__device_enum = device_enum + self.__endpoint = self.__device_enum.get_device(endpoint_id) + self.activate = self.__activate + + @property + def __device_topology(self): + return comtypes.cast( + self.__endpoint.Activate( + IID_IDeviceTopology, + CLSCTX_INPROC_SERVER + ), + PIDeviceTopology + ) + + @property + def __connector(self): + device_topology = self.__device_topology + return AudioDeviceConnection(device_topology.GetConnector(0)) + + @property + def __subunits(self): + device_topology = self.__device_topology + for i in range(device_topology.GetSubunitCount()): + subunit = device_topology.GetSubunit(i) + + yield AudioDeviceSubunit( + subunit + ) + + @property + def icon(self): + pStore = self.__endpoint.OpenPropertyStore(STGM_READ) + # try: + return get_icon(pStore.GetValue(DEVPKEY_DeviceClass_IconPath)) + # except comtypes.COMError: + # pass + + def __activate(self, iid, pointer): + try: + return comtypes.cast( + self.__endpoint.Activate( + iid, + CLSCTX_INPROC_SERVER + ), + pointer + ) + except comtypes.COMError: + raise AttributeError + + def __property(self, key): + pStore = self.__endpoint.OpenPropertyStore(STGM_READ) + try: + return pStore.GetValue(key) + except comtypes.COMError: + raise AttributeError + + def __get_interface(self, iid, pointer): + + conn_from = self.__connector + + while True: + try: + conn_from = conn_from.connected_to + except comtypes.COMError: + return + + part = conn_from.part + device_topology = part.device_topology + + for i in range(device_topology.GetSubunitCount()): + subunit = AudioDeviceSubunit(device_topology.GetSubunit(i)) + part = subunit.part + try: + interface = part.activate(iid, pointer) + print interface + return interface + except comtypes.COMError: + continue + + if conn_from.type == 'Software IO': + raise AttributeError + + if not conn_from.is_connected: + raise AttributeError + + def set_default(self): + policy_config = comtypes.CoCreateInstance( + CLSID_PolicyConfigVistaClient, + IPolicyConfigVista, + comtypes.CLSCTX_ALL + ) + + policy_config.SetDefaultEndpoint(self.id, ERole.eMultimedia) + + @property + def device(self): + return self.__parent + + @property + def id(self): + return self.__endpoint_id + + def play_audio_stream(self, audio_data): + hnsRequestedDuration = REFERENCE_TIME(REFTIMES_PER_SEC) + hnsActualDuration = REFERENCE_TIME + pwfx = PWAVEFORMATEX + bufferFrameCount = UINT32 + numFramesAvailable = UINT32 + numFramesPadding = UINT32 + pData = LPBYTE + flags = DWORD(0) + pAudioClient = self.audio_client + pAudioClient.GetMixFormat(pwfx) + + + @property + def audio_client(self): + try: + return self.__activate( + IID_IAudioClient3, + PIAudioClient3 + ) + except comtypes.COMError: + pass + + try: + return self.__activate( + IID_IAudioClient2, + PIAudioClient2 + ) + except comtypes.COMError: + pass + + try: + return self.__activate( + IID_IAudioClient, + PIAudioClient + ) + except comtypes.COMError: + pass + + + @property + def session_manager(self): + try: + return AudioSessionManager(self) + except NotImplementedError: + raise AttributeError + + def __iter__(self): + try: + for session in self.session_manager: + yield session + except AttributeError: + pass + + @property + def data_flow(self): + try: + endpoint = self.__endpoint.QueryInterface(IMMEndpoint) + return E_DATA_FLOW[endpoint.GetDataFlow().value] + except comtypes.COMError: + raise AttributeError + + @property + def name(self): + """Return an endpoint devices FriendlyName.""" + return self.__property(PKEY_Device_FriendlyName) + + @property + def description(self): + return self.__property(PKEY_Device_DeviceDesc) + + @property + def form_factor(self): + form_factor = self.__property(PKEY_AudioEndpoint_FormFactor) + return ENDPOINT_FORM_FACTOR[form_factor] + + @property + def type(self): + return self.__property(PKEY_AudioEndpoint_JackSubType) + + @property + def full_range_speakers(self): + return AudioSpeakers( + self.__property(PKEY_AudioEndpoint_FullRangeSpeakers) + ) + + @property + def guid(self): + return self.__property(PKEY_AudioEndpoint_GUID) + + @property + def physical_speakers(self): + return AudioSpeakers( + self.__property(PKEY_AudioEndpoint_PhysicalSpeakers) + ) + + @property + def system_effects(self): + return bool( + self.__property(PKEY_AudioEndpoint_Disable_SysFx) + ) + + @property + def jack_descriptions(self): + conn_from = self.__connector + try: + conn_to = conn_from.connected_to + except comtypes.COMError: + raise AttributeError + part = conn_to.part + + try: + jack_description = part.activate( + IID_IKsJackDescription, + PIKsJackDescription + ) + except comtypes.COMError: + raise AttributeError + + try: + jack_description2 = part.activate( + IID_IKsJackDescription2, + PIKsJackDescription2 + ) + except comtypes.COMError: + jack_description2 = None + + for i in range(jack_description.GetJackCount()): + jd = jack_description.GetJackDescription(i) + if jack_description2 is None: + jd2 = None + else: + jd2 = jack_description2.GetJackDescription2(i) + yield AudioJackDescription(jd, jd2) + + @property + def jack_information(self): + conn_from = self.__connector + try: + conn_to = conn_from.connected_to + except comtypes.COMError: + raise AttributeError + + part = conn_to.part + + try: + return AudioJackSinkInformation( + part.activate( + IID_IKsJackSinkInformation, + PIKsJackSinkInformation + ) + ) + except comtypes.COMError: + raise AttributeError + + @property + def auto_gain_control(self): + return self.__get_interface( + IID_IAudioAutoGainControl, + PIAudioAutoGainControl + ) + + @property + def bass(self): + return self.__get_interface( + IID_IAudioBass, + PIAudioBass + ) + + @property + def channel_config(self): + return self.__get_interface( + IID_IAudioChannelConfig, + PIAudioChannelConfig + ) + + @property + def input(self): + return self.__get_interface( + IID_IAudioInputSelector, + PIAudioInputSelector + ) + + @property + def loudness(self): + return self.__get_interface( + IID_IAudioLoudness, + PIAudioLoudness + ) + + @property + def midrange(self): + return self.__get_interface( + IID_IAudioMidrange, + PIAudioMidrange + ) + + @property + def output(self): + return self.__get_interface( + IID_IAudioOutputSelector, + PIAudioOutputSelector + ) + + @property + def peak_meter(self): + return self.__get_interface( + IID_IAudioPeakMeter, + PIAudioPeakMeter + ) + + @property + def treble(self): + return self.__get_interface( + IID_IAudioTreble, + PIAudioTreble + ) + + @property + def volume(self): + try: + return AudioVolume(self) + except NotImplementedError: + raise AttributeError + + @property + def format_support(self): + raise NotImplementedError + # if str(IID_IKsFormatSupport) == str(interface.GetIID()): + # part = self.__connector.QueryInterface(IPart) + # + # control = comtypes.cast( + # part.Activate( + # comtypes.CLSCTX_INPROC_SERVER, + # IID_IKsFormatSupport + # ), + # PIKsFormatSupport + # ) + # print 'IKsFormatSupport:', control + # + # return None + + @property + def is_default(self): + endpoint = self.__endpoint.QueryInterface(IMMEndpoint) + + default = self.__device_enum.default_endpoint( + endpoint.GetDataFlow().value + ) + return default.GetId() == self.id diff --git a/plugins/CoreAudio/pyWinCoreAudio/jack.py b/plugins/CoreAudio/pyWinCoreAudio/jack.py new file mode 100644 index 000000000..b18d976c9 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/jack.py @@ -0,0 +1,211 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +from __core_audio.constant import ( + JACKDESC2_PRESENCE_DETECT_CAPABILITY, + JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY +) +from __core_audio.enum import ( + KSJACK_SINK_CONNECTIONTYPE, + EPcxGenLocation, + EPcxGeoLocation, + EPcxConnectionType, + EPxcPortConnection +) +from speaker import AudioSpeakers +from utils import convert_triplet_to_rgb + +SINK_CONNECTIONTYPE = { + KSJACK_SINK_CONNECTIONTYPE.KSJACK_SINK_CONNECTIONTYPE_HDMI: 'HDMI', + KSJACK_SINK_CONNECTIONTYPE.KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT: ( + 'Displayport' + ) +} + + +EPCX_GEN_LOCATION = { + EPcxGenLocation.eGenLocInternal: 'Inside primary chassis', + EPcxGenLocation.eGenLocOther: 'Other location', + EPcxGenLocation.eGenLocPrimaryBox: 'On primary chassis', + EPcxGenLocation.eGenLocSeparate: 'On separate chassis' +} + +EPCX_GEO_LOCATION = { + EPcxGeoLocation.eGeoLocRear: 'Rear-mounted panel', + EPcxGeoLocation.eGeoLocFront: 'Front-mounted panel', + EPcxGeoLocation.eGeoLocLeft: 'Left-mounted panel', + EPcxGeoLocation.eGeoLocRight: 'Right-mounted panel', + EPcxGeoLocation.eGeoLocTop: 'Top-mounted panel', + EPcxGeoLocation.eGeoLocBottom: 'Bottom-mounted panel', + EPcxGeoLocation.eGeoLocRiser: 'Riser card', + EPcxGeoLocation.eGeoLocInsideMobileLid: 'Inside lid of mobile computer', + EPcxGeoLocation.eGeoLocDrivebay: 'Drive bay', + EPcxGeoLocation.eGeoLocHDMI: 'HDMI connector', + EPcxGeoLocation.eGeoLocOutsideMobileLid: 'Outside lid of mobile computer', + EPcxGeoLocation.eGeoLocATAPI: 'ATAPI connector', + EPcxGeoLocation.eGeoLocNotApplicable: 'Not Applicable', + EPcxGeoLocation.eGeoLocReserved6: 'Reserved', + EPcxGeoLocation.eGeoLocRearPanel: ( + 'Rear slide-open or pull-open panel' + ), + EPcxGeoLocation.eGeoLocRearOPanel: ( + 'Rear slide-open or pull-open panel' + ) +} + +EPCX_CONNECTION_TYPE = { + EPcxConnectionType.eConnTypeUnknown: 'Unknown', + EPcxConnectionType.eConnTypeRCA: 'RCA jack', + EPcxConnectionType.eConnTypeOptical: 'Optical connector', + EPcxConnectionType.eConnTypeXlrProfessional: 'XLR connector', + EPcxConnectionType.eConnTypeRJ11Modem: 'RJ11 modem connector', + EPcxConnectionType.eConnTypeQuarter: ( + '6.35mm (1/4" Phono) jack' + ), + EPcxConnectionType.eConnTypeOtherDigital: ( + 'Generic digital connector' + ), + EPcxConnectionType.eConnTypeOtherAnalog: ( + 'Generic analog connector' + ), + EPcxConnectionType.eConnTypeAtapiInternal: ( + 'ATAPI internal connector' + ), + EPcxConnectionType.eConnTypeCombination: ( + 'Combination of connector types' + ), + EPcxConnectionType.eConnType3Point5mm: ( + '3.5mm (1\8" Headphone) jack' + ), + EPcxConnectionType.eConnTypeEighth: ( + '3.5mm (1\8" Headphone) jack' + ), + EPcxConnectionType.eConnTypeMultichannelAnalogDIN: ( + 'Multichannel analog DIN connector' + ) +} + + +EPCX_PORT_CONNECTION = { + EPxcPortConnection.ePortConnJack: 'Jack', + EPxcPortConnection.ePortConnUnknown: 'Unknown', + EPxcPortConnection.ePortConnIntegratedDevice: ( + 'Slot for an integrated device' + ), + EPxcPortConnection.ePortConnBothIntegratedAndJack: ( + 'Both a jack and a slot for an integrated device' + ) +} + + +class AudioJackSinkInformation(object): + + def __init__(self, sink_information): + self.__sink_information = ( + sink_information.GetJackSinkInformation() + ) + sink_information.Release() + + @property + def manufacturer_id(self): + return self.__sink_information.ManufacturerId + + @property + def product_id(self): + return self.__sink_information.ProductId + + @property + def audio_latency(self): + return self.__sink_information.AudioLatency + + @property + def hdcp_capable(self): + return bool(self.__sink_information.HDCPCapable) + + @property + def ai_capable(self): + return bool(self.__sink_information.AICapable) + + @property + def description(self): + return self.__sink_information.SinkDescription + + @property + def port_id(self): + return self.__sink_information.PortId + + @property + def connection_type(self): + return SINK_CONNECTIONTYPE[self.__sink_information.ConnType.value] + + +class AudioJackDescription(object): + + def __init__(self, jack_description, jack_description2): + self.__jack_description = jack_description + self.__jack_description2 = jack_description2 + + @property + def channel_mapping(self): + return AudioSpeakers(self.__jack_description.ChannelMapping) + + @property + def color(self): + return convert_triplet_to_rgb(self.__jack_description.Color) + + @property + def type(self): + return EPCX_CONNECTION_TYPE[self.__jack_description.ConnectionType] + + @property + def location(self): + return ( + EPCX_GEN_LOCATION[self.__jack_description.GenLocation] + + ', ' + + EPCX_GEO_LOCATION[self.__jack_description.GeoLocation] + ) + + @property + def port(self): + return EPCX_PORT_CONNECTION[self.__jack_description.PortConnection] + + @property + def is_connected(self): + return bool(self.__jack_description.IsConnected) + + @property + def presence_detection(self): + if self.__jack_description2 is None: + raise AttributeError + + return ( + self.__jack_description2.JackCapabilities | + JACKDESC2_PRESENCE_DETECT_CAPABILITY == + self.__jack_description2.JackCapabilities + ) + + @property + def dynamic_format_change(self): + if self.__jack_description2 is None: + raise AttributeError + + return ( + self.__jack_description2.JackCapabilities | + JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY == + self.__jack_description2.JackCapabilities + ) diff --git a/plugins/CoreAudio/pyWinCoreAudio/parts.py b/plugins/CoreAudio/pyWinCoreAudio/parts.py new file mode 100644 index 000000000..7d131153c --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/parts.py @@ -0,0 +1,180 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import comtypes +from __core_audio.enum import ( + ConnectorType, + ERole, + PartType +) +from __core_audio.devicetopologyapi import ( + IPart, +) + + +CLSCTX_INPROC_SERVER = comtypes.CLSCTX_INPROC_SERVER + +E_ROLE = { + ERole.eConsole: 'Console', + ERole.eMultimedia: 'Multimedia', + ERole.eCommunications: 'Communications', + ERole.ERole_enum_count: 'ERole_enum_count' +} +CONNECTOR_TYPE = { + ConnectorType.Unknown_Connector: 'Unknown Connector', + ConnectorType.Physical_Internal: 'Physical Internal', + ConnectorType.Physical_External: 'Physical External', + ConnectorType.Software_IO: 'Software IO', + ConnectorType.Software_Fixed: 'Software Fixed', + ConnectorType.Network: 'Network' +} + + +class AudioDeviceSubunit(object): + + def __init__(self, subunit): + self.__subunit = subunit + + @property + def part(self): + return AudioPart(self.__subunit.QueryInterface(IPart)) + + +class AudioDeviceConnection(object): + + def __init__(self, connector): + self.__connector = connector + + @property + def type(self): + return CONNECTOR_TYPE[self.__connector.GetType().value] + + @property + def part(self): + return AudioPart(self.__connector.QueryInterface(IPart)) + + @property + def connected_to_device_id(self): + return self.__connector.GetDeviceIdConnectedTo() + + @property + def is_connected(self): + return self.__connector.IsConnected() == 1 + + @property + def connected_to(self): + return AudioDeviceConnection(self.__connector.GetConnectedTo()) + + @connected_to.setter + def connected_to(self, connection): + self.__connector.ConnectTo(connection.get_c_connector()) + + @property + def data_flow(self): + return E_ROLE[self.__connector.GetDataFlow().value] + + def get_c_connector(self): + return self.__connector + + def disconnect(self): + self.__connector.Disconnect() + + +class AudioPart(object): + + def __init__(self, part): + self.__part = part + + def activate(self, iid, pointer): + return comtypes.cast( + self.__part.Activate( + CLSCTX_INPROC_SERVER, + iid + ), + pointer + ) + + @property + def incoming(self): + return AudioPartsList(self.__part.EnumPartsIncoming()) + + @property + def outgoing(self): + return AudioPartsList(self.__part.EnumPartsOutgoing()) + + @property + def interfaces(self): + for index in range(self.__part.GetControlInterfaceCount()): + yield self.__part.GetControlInterface(index) + + @property + def global_id(self): + return self.__part.GetGlobalId() + + @property + def local_id(self): + return self.__part.GetLocalId() + + @property + def name(self): + return self.__part.GetName() + + @property + def is_connector(self): + return self.__part.GetPartType().value == PartType.Connector + + @property + def is_subunit(self): + return self.__part.GetPartType().value == PartType.Subunit + + @property + def sub_type(self): + return self.__part.GetSubType() + + @property + def device_topology(self): + return self.__part.GetTopologyObject() + + def register_notification_callback(self, interface_iid, callback): + self.__part.RegisterControlChangeCallback( + interface_iid, + callback + ) + + def unregister_notification_callback(self, callback): + self.__part.UnregisterControlChangeCallback(callback) + callback.Release() + + def query_interface(self, interface): + return self.__part.QueryInterface(interface) + + +class AudioPartsList(object): + + def __init__(self, parts_list): + self.__parts_list = parts_list + + def get_part(self, index): + return AudioPart(self.__parts_list.GetPart(index)) + + def release(self): + self.__parts_list.Release() + + def __iter__(self): + for i in range(self.__parts_list.GetCount()): + yield self.get_part(i) diff --git a/plugins/CoreAudio/pyWinCoreAudio/session.py b/plugins/CoreAudio/pyWinCoreAudio/session.py new file mode 100644 index 000000000..e7eb81254 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/session.py @@ -0,0 +1,460 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +import comtypes +import ctypes +import threading +from utils import run_in_thread, get_icon +from singleton import Singleton + +from __core_audio.constant import S_OK +from __core_audio.audiopolicy import ( + IAudioSessionEvents, + IAudioSessionNotification, + IAudioSessionControl2, + PIAudioSessionManager, + PIAudioSessionManager2 +) +from __core_audio.enum import ( + AudioSessionDisconnectReason, + AudioSessionState +) +from __core_audio.iid import ( + IID_IAudioSessionManager, + IID_IAudioSessionManager2 +) + +LPCGUID = ctypes.POINTER(comtypes.GUID) + + +AUDIO_SESSION_STATE = { + AudioSessionState.AudioSessionStateInactive: 'Inactive', + AudioSessionState.AudioSessionStateActive: 'Active', + AudioSessionState.AudioSessionStateExpired: 'Expired' +} + + +AUDIO_SESSION_DISCONNECT_REASON = { + AudioSessionDisconnectReason.DisconnectReasonDeviceRemoval: ( + 'Audio endpoint device removed' + ), + AudioSessionDisconnectReason.DisconnectReasonServerShutdown: ( + 'Windows audio service has stopped' + ), + AudioSessionDisconnectReason.DisconnectReasonFormatChanged: ( + 'Stream format changed' + ), + AudioSessionDisconnectReason.DisconnectReasonSessionLogoff: ( + 'User logged off' + ), + AudioSessionDisconnectReason.DisconnectReasonSessionDisconnected: ( + 'Remote desktop session disconnected' + ), + AudioSessionDisconnectReason.DisconnectReasonExclusiveModeOverride: ( + 'Shared mode disabled' + ), + +} + + +class AudioSessionNotification(comtypes.COMObject): + _com_interfaces_ = [IAudioSessionNotification] + + def __init__(self, session_manager, callback): + self.__session_manager = session_manager + self.__callback = callback + comtypes.COMObject.__init__(self) + + def OnSessionCreated(self, _): + + def do(): + self.__session_manager.update_sessions( + self.__callback.session_created + ) + + run_in_thread(do) + + return S_OK + + +class AudioSessionManager(object): + __metaclass__ = Singleton + + def __init__(self, endpoint): + self.__endpoint = endpoint + self.__sessions = {} + self.__update_lock = threading.Lock() + + try: + self.__session_manager = endpoint.activate( + IID_IAudioSessionManager2, + PIAudioSessionManager2 + ) + except comtypes.COMError: + try: + self.__session_manager = endpoint.activate( + IID_IAudioSessionManager, + PIAudioSessionManager + ) + except comtypes.COMError: + raise NotImplementedError + + # {0.0.1.00000000}.{89a69b85-2ad5-40be-a62d-c51c7fc40201}| + # \Device\HarddiskVolume2\Program Files (x86)\EventGhost\EventGhost.exe%b + # {00000000-0000-0000-0000-000000000000} + + def get_simple_audio_volume(self, id): + id = id.rsplit('%b', 1)[-1] + if id != '{00000000-0000-0000-0000-000000000000}': + id = comtypes.GUID(id) + return self.__session_manager.GetSimpleAudioVolume(id, True) + + def update_sessions(self, callback=None): + + self.__update_lock.acquire() + + event = threading.Event() + event.wait(0.1) + + try: + try: + session_enum = self.__session_manager.GetSessionEnumerator() + except comtypes.COMError: + pass + + else: + sessions = {} + + for i in range(session_enum.GetCount()): + session = session_enum.GetSession(i) + try: + session = session.QueryInterface(IAudioSessionControl2) + except comtypes.COMError: + pass + + if session in self.__sessions: + sessions[session] = self.__sessions[session] + del self.__sessions[session] + + else: + sess = AudioSession(self, session) + + if sess.name: + sessions[session] = sess + if callback is not None: + callback(sessions[session]) + + for session in self.__sessions.values(): + session.release() + + self.__sessions.clear() + + for key, value in sessions.items(): + self.__sessions[key] = value + finally: + self.__update_lock.release() + + @property + def endpoint(self): + return self.__endpoint + + def register_duck_notification(self, callback): + raise NotImplementedError + + def unregister_duck_notification(self, callback): + raise NotImplementedError + + def register_notification_callback(self, callback): + try: + callback = AudioSessionNotification(self, callback) + self.__session_manager.RegisterSessionNotification(callback) + return callback + except comtypes.COMError: + raise AttributeError + + def unregister_notification_callback(self, callback): + try: + self.__session_manager.UnregisterSessionNotification(callback) + except comtypes.COMError: + raise AttributeError + + def __iter__(self): + try: + session_enum = self.__session_manager.GetSessionEnumerator() + except comtypes.COMError: + pass + + else: + for i in range(session_enum.GetCount()): + session = session_enum.GetSession(i) + try: + session = session.QueryInterface(IAudioSessionControl2) + except comtypes.COMError: + pass + + if session not in self.__sessions: + sess = AudioSession(self, session) + if sess.name: + self.__sessions[session] = sess + yield self.__sessions[session] + else: + yield self.__sessions[session] + + +class AudioSessionEvent(comtypes.COMObject): + _com_interfaces_ = [IAudioSessionEvents] + + def __init__(self, session, callback): + self.__session = session + self.__callback = callback + self.__name = session.name + self.__endpoint = session.session_manager.endpoint + + try: + self.__id = session.id + except AttributeError: + self.__id = None + + comtypes.COMObject.__init__(self) + + def OnChannelVolumeChanged( + self, + ChannelCount, + NewChannelVolumeArray, + ChangedChannel, + _ + ): + channel_volume_array = ctypes.cast( + NewChannelVolumeArray, + ctypes.POINTER(ctypes.c_float) + ) + channel_volumes = list( + channel_volume_array[i] for i in range(ChannelCount) + ) + + def do(): + self.__callback.channel_volume_changed( + self.__session, + ChangedChannel, + channel_volumes[ChangedChannel] + ) + + run_in_thread(do) + + return S_OK + + def OnDisplayNameChanged(self, NewDisplayName, _): + if NewDisplayName == '@%SystemRoot%\System32\AudioSrv.Dll,-202': + NewDisplayName = 'System Sounds' + + def do(): + self.__callback.session_name_changed( + self.__session, + NewDisplayName, + ) + + run_in_thread(do) + + return S_OK + + def OnGroupingParamChanged(self, NewGroupingParam, _): + + def do(): + self.__callback.session_grouping_changed( + self.__session, + NewGroupingParam, + ) + + run_in_thread(do) + + return S_OK + + def OnIconPathChanged(self, NewIconPath, _): + def do(): + self.__callback.session_icon_path_changed( + self.__session, + NewIconPath, + ) + + run_in_thread(do) + + return S_OK + + def OnSessionDisconnected(self, DisconnectReason): + + def do(): + self.__callback.session_disconnect( + self.__endpoint, + self.__name, + self.__id, + AUDIO_SESSION_DISCONNECT_REASON[DisconnectReason] + ) + self.__session.session_manager.update_sessions() + + run_in_thread(do) + + return S_OK + + def OnSimpleVolumeChanged(self, NewVolume, NewMute, _): + + def do(): + self.__callback.session_volume_changed( + self.__session, + NewVolume, + bool(NewMute) + ) + + run_in_thread(do) + + return S_OK + + def OnStateChanged(self, NewState): + + def do(): + self.__callback.session_state_changed( + self.__session, + AUDIO_SESSION_STATE[NewState] + ) + + run_in_thread(do) + + return S_OK + + +class AudioSessionVolume(object): + + def __init__(self, volume): + self.__volume = volume + + @property + def master_scalar(self): + return self.__volume.GetMasterVolume() + + @master_scalar.setter + def master_scalar(self, volume): + self.__volume.SetMasterVolume(volume) + + @property + def mute(self): + return self.__volume.GetMute() + + @mute.setter + def mute(self, mute): + self.__volume.SetMute(mute) + + +class AudioSession(object): + + __metaclass__ = Singleton + + def __init__(self, session_manager, session): + self.__session_manager = session_manager + self.__session = session + + def release(self): + del self.__session + + @property + def session_manager(self): + return self.__session_manager + + @property + def name(self): + display_name = self.__session.GetDisplayName() + if display_name == '@%SystemRoot%\System32\AudioSrv.Dll,-202': + display_name = 'System Sounds' + return display_name + + @property + def volume(self): + try: + volume = self.__session_manager.get_simple_audio_volume(self.id) + if volume is None: + raise AttributeError + return AudioSessionVolume(volume) + except comtypes.COMError: + raise AttributeError + + @name.setter + def name(self, name): + self.__session.SetDisplayName(name, None) + + @property + def grouping_param(self): + return self.__session.GetGroupingParam() + + @grouping_param.setter + def grouping_param(self, grouping_param): + self.__session.SetGroupingParam(grouping_param, None) + + @property + def icon(self): + return get_icon(self.__session.GetIconPath()) + + @icon.setter + def icon(self, icon_path): + self.__session.SetIconPath(icon_path, None) + + @property + def state(self): + return AUDIO_SESSION_STATE[self.__session.GetState().value] + + @property + def process_id(self): + try: + return self.__session.GetProcessId() + except comtypes.COMError: + raise AttributeError + + @property + def id(self): + try: + return self.__session.GetSessionIdentifier() + except comtypes.COMError: + raise AttributeError + + @property + def instance_id(self): + try: + return self.__session.GetSessionInstanceIdentifier() + except comtypes.COMError: + raise AttributeError + + @property + def is_system_sounds(self): + try: + return not bool(self.__session.IsSystemSoundsSession()) + except comtypes.COMError: + raise AttributeError + + def ducking_preferences(self, ducking_preference): + try: + self.__session.SetDuckingPreference(ducking_preference) + except comtypes.COMError: + raise AttributeError + + ducking_preferences = property(fset=ducking_preferences) + + def register_notification_callback(self, callback): + callback = AudioSessionEvent(self, callback) + self.__session.RegisterAudioSessionNotification(callback) + return callback + + def unregister_notification_callback(self, callback): + self.__session.UnregisterAudioSessionNotification(callback) diff --git a/plugins/CoreAudio/pyWinCoreAudio/singleton.py b/plugins/CoreAudio/pyWinCoreAudio/singleton.py new file mode 100644 index 000000000..6ff8313ac --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/singleton.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +class Singleton(type): + _instances = {} + + def __call__(cls, *args): + if cls not in cls._instances: + cls._instances[cls] = {} + + instances = cls._instances[cls] + + for key, value in instances.items(): + if key == args: + return value + + instances[args] = super( + Singleton, + cls + ).__call__(*args) + + # print '{' + # + # for key, value in cls._instances.items(): + # print ' ', repr(str(key)) + ': {' + # for k, v in value.items(): + # k = ', '.join(repr(str(item)) for item in k) + # print ' (' + k + '):', repr(str(v)) + ',' + # print ' },' + # print '}' + + return instances[args] diff --git a/plugins/CoreAudio/pyWinCoreAudio/speaker.py b/plugins/CoreAudio/pyWinCoreAudio/speaker.py new file mode 100644 index 000000000..093c484f4 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/speaker.py @@ -0,0 +1,327 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +from __core_audio.enum import EChannelMapping +from __core_audio.constant import ( + KSAUDIO_SPEAKER_DIRECTOUT, + KSAUDIO_SPEAKER_MONO, + KSAUDIO_SPEAKER_1POINT1, + KSAUDIO_SPEAKER_STEREO, + KSAUDIO_SPEAKER_2POINT1, + KSAUDIO_SPEAKER_3POINT0, + KSAUDIO_SPEAKER_3POINT1, + KSAUDIO_SPEAKER_QUAD, + KSAUDIO_SPEAKER_SURROUND, + KSAUDIO_SPEAKER_5POINT0, + KSAUDIO_SPEAKER_5POINT1, + KSAUDIO_SPEAKER_7POINT0, + KSAUDIO_SPEAKER_7POINT1, + KSAUDIO_SPEAKER_5POINT1_SURROUND, + KSAUDIO_SPEAKER_7POINT1_SURROUND, +) + +KSAUDIO_SPEAKER = { + KSAUDIO_SPEAKER_DIRECTOUT: dict( + front_left=False, + front_right=False, + center=False, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=False, + string='Direct' + ), + KSAUDIO_SPEAKER_MONO: dict( + front_left=False, + front_right=False, + center=True, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=False, + string='Mono' + ), + KSAUDIO_SPEAKER_1POINT1: dict( + front_left=False, + front_right=False, + center=True, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=True, + string='Mono with subwoofer' + ), + KSAUDIO_SPEAKER_STEREO: dict( + front_left=True, + front_right=True, + center=False, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=False, + string='Stereo' + ), + KSAUDIO_SPEAKER_2POINT1: dict( + front_left=True, + front_right=True, + center=False, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=True, + string='Stereo with subwoofer' + ), + KSAUDIO_SPEAKER_3POINT0: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=False, + string='3.0' + ), + KSAUDIO_SPEAKER_3POINT1: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=True, + string='3.1' + ), + KSAUDIO_SPEAKER_QUAD: dict( + front_left=True, + front_right=True, + center=False, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=True, + back_right=True, + back_center=False, + subwoofer=False, + string='Quad' + ), + KSAUDIO_SPEAKER_SURROUND: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=True, + subwoofer=False, + string='Surround' + ), + KSAUDIO_SPEAKER_5POINT0: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=True, + side_right=True, + back_left=False, + back_right=False, + back_center=False, + subwoofer=False, + string='5.0' + ), + KSAUDIO_SPEAKER_5POINT1: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=True, + back_right=True, + back_center=False, + subwoofer=True, + string='5.1' + ), + KSAUDIO_SPEAKER_7POINT0: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=True, + side_right=True, + back_left=True, + back_right=True, + back_center=False, + subwoofer=False, + string='7.0' + ), + KSAUDIO_SPEAKER_7POINT1: dict( + front_left=True, + front_right=True, + center=True, + high_left=True, + high_right=True, + side_left=False, + side_right=False, + back_left=True, + back_right=True, + back_center=False, + subwoofer=True, + string='7.1' + ), + KSAUDIO_SPEAKER_5POINT1_SURROUND: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=True, + side_right=True, + back_left=False, + back_right=False, + back_center=False, + subwoofer=True, + string='5.1 Surround' + ), + KSAUDIO_SPEAKER_7POINT1_SURROUND: dict( + front_left=True, + front_right=True, + center=True, + high_left=False, + high_right=False, + side_left=True, + side_right=True, + back_left=True, + back_right=True, + back_center=False, + subwoofer=True, + string='7.1 Surround' + ) +} + +CHANNEL_MAPPING = { + EChannelMapping.ePcxChanMap_FL_FR: ( + KSAUDIO_SPEAKER[KSAUDIO_SPEAKER_STEREO] + ), + EChannelMapping.ePcxChanMap_FC_LFE: ( + KSAUDIO_SPEAKER[KSAUDIO_SPEAKER_1POINT1] + ), + EChannelMapping.ePcxChanMap_FLC_FRC: ( + KSAUDIO_SPEAKER[KSAUDIO_SPEAKER_3POINT0] + ), + EChannelMapping.ePcxChanMap_BL_BR: dict( + front_left=False, + front_right=False, + center=False, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=True, + back_right=True, + back_center=False, + subwoofer=False, + string='Back left & right' + ), + + EChannelMapping.ePcxChanMap_SL_SR: dict( + front_left=False, + front_right=False, + center=False, + high_left=False, + high_right=False, + side_left=True, + side_right=True, + back_left=False, + back_right=False, + back_center=False, + subwoofer=False, + string='Side left & right' + ), + EChannelMapping.ePcxChanMap_Unknown: dict( + front_left=False, + front_right=False, + center=False, + high_left=False, + high_right=False, + side_left=False, + side_right=False, + back_left=False, + back_right=False, + back_center=False, + subwoofer=False, + string='Unknown' + ), +} + + +class AudioSpeakers(object): + + def __init__(self, value): + self.value = value + + def __str__(self): + if self.value is None: + return 'None' + return KSAUDIO_SPEAKER[self.value]['string'] + + def __getattr__(self, item): + if item in self.__dict__: + return self.__dict__[item] + + if self.value is None: + raise AttributeError + + if item in KSAUDIO_SPEAKER[self.value]: + return KSAUDIO_SPEAKER[self.value][item] + + raise AttributeError diff --git a/plugins/CoreAudio/pyWinCoreAudio/utils.py b/plugins/CoreAudio/pyWinCoreAudio/utils.py new file mode 100644 index 000000000..781a7d8fa --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/utils.py @@ -0,0 +1,121 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import threading +import ctypes +import comtypes +import ctypes.util +import os +from ctypes import wintypes +from io import BytesIO + + +RT_CURSOR = 1 +RT_BITMAP = 2 +RT_ICON = 3 +RT_MENU = 4 +RT_DIALOG = 5 +RT_STRING = 6 +RT_FONTDIR = 7 +RT_FONT = 8 +RT_ACCELERATOR = 9 +RT_RCDATA = 10 +RT_MESSAGETABLE = 11 +DIFFERENCE = 11 +RT_GROUP_CURSOR = (RT_CURSOR + DIFFERENCE) +RT_GROUP_ICON = (RT_ICON + DIFFERENCE) +RT_VERSION = 16 +RT_DLGINCLUDE = 17 +RT_PLUGPLAY = 19 +RT_VXD = 20 +RT_ANICURSOR = 21 +RT_ANIICON = 22 +RT_HTML = 23 + + +def run_in_thread(func, *args, **kwargs): + t = threading.Thread(target=func, args=args, kwargs=kwargs) + t.daemon = True + t.start() + return t + + +def convert_triplet_to_rgb(triplet): + if not triplet: + return 0, 0, 0 + + r, g, b = bytearray.fromhex(hex(triplet)[2:].replace('L', '').zfill(6)) + return r, g, b + + +icons = {} + + +def get_icon(icon): + global icons + + if icon in icons: + return icons[icon] + + libc = ctypes.CDLL(ctypes.util.find_library('c')) + libc.memcpy.argtypes = [wintypes.LPVOID, wintypes.LPVOID, ctypes.c_size_t] + libc.memcpy.restype = wintypes.LPCSTR + + kernel32 = ctypes.windll.kernel32 + + try: + icon_path, icon_name = icon.replace('@', '').split(',-') + icon_name = int(icon_name) + except ValueError: + icon_path = icon.replace('@', '') + icon_name = 1 + + try: + + hlib = kernel32.LoadLibraryExW( + os.path.expandvars(icon_path), + None, + 0x00000020 + ) + + # This part almost identical to C++ + hResInfo = ctypes.windll.kernel32.FindResourceW( + hlib, + icon_name, + RT_ICON + ) + size = ctypes.windll.kernel32.SizeofResource( + hlib, + hResInfo + ) + rec = kernel32.LoadResource(hlib, hResInfo) + mem_pointer = kernel32.LockResource(rec) + + # And this is some differ (copy data to Python buffer) + binary_data = (ctypes.c_ubyte * size)() + libc.memcpy(binary_data, mem_pointer, size) + + f = BytesIO() + f.write(bytearray(binary_data)) + f.seek(0) + icons[icon] = f + return f + + except comtypes.COMError: + import traceback + traceback.print_exc() diff --git a/plugins/CoreAudio/pyWinCoreAudio/volume.py b/plugins/CoreAudio/pyWinCoreAudio/volume.py new file mode 100644 index 000000000..4565ca9b8 --- /dev/null +++ b/plugins/CoreAudio/pyWinCoreAudio/volume.py @@ -0,0 +1,253 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import ctypes +import comtypes +import threading +from utils import run_in_thread +from singleton import Singleton +from __core_audio.constant import ( + S_OK, + ENDPOINT_HARDWARE_SUPPORT_VOLUME, + ENDPOINT_HARDWARE_SUPPORT_MUTE +) +from __core_audio.iid import ( + IID_IAudioEndpointVolumeEx, + IID_IAudioMeterInformation +) +from __core_audio.endpointvolumeapi import ( + PIAudioEndpointVolumeEx, + PIAudioMeterInformation, + IAudioEndpointVolumeCallback +) + + +class AudioEndpointVolumeCallback(comtypes.COMObject): + _com_interfaces_ = [IAudioEndpointVolumeCallback] + + def __init__(self, endpoint, callback): + self.__volume_lock = threading.Lock() + self.__endpoint = endpoint + self.__callback = callback + comtypes.COMObject.__init__(self) + + def OnNotify(self, pNotify): + mute = bool(pNotify.contents.bMuted) + master_volume = pNotify.contents.fMasterVolume + num_channels = pNotify.contents.nChannels + pfChannelVolumes = ctypes.cast( + pNotify.contents.afChannelVolumes, + ctypes.POINTER(ctypes.c_float) + ) + channel_volumes = tuple( + pfChannelVolumes[i] for i in range(num_channels) + ) + + def do(): + with self.__volume_lock: + self.__callback.endpoint_volume_change( + self.__endpoint, + master_volume, + channel_volumes, + mute + ) + + run_in_thread(do) + + return S_OK + + +class AudioVolumeChannels(object): + + def __init__(self, endpoint, volume): + self.__endpoint = endpoint + self.__volume = volume + + @property + def count(self): + return self.__volume.GetChannelCount() + + def __getitem__(self, item): + if isinstance(item, (int, slice)): + res = [] + for i in range(self.count): + res += [AudioVolumeChannel(self.__endpoint, self.__volume, i)] + return res[item] + + raise IndexError + + +class AudioVolumeChannel(object): + + def __init__(self, endpoint, volume, index): + self.__endpoint = endpoint + self.__volume = volume + self.__index = index + + @property + def level(self): + return self.__volume.GetChannelVolumeLevel(self.__index) + + @level.setter + def level(self, level): + self.__volume.SetChannelVolumeLevel(self.__index, level) + + @property + def level_scalar(self): + return self.__volume.GetChannelVolumeLevelScalar(self.__index) + + @level_scalar.setter + def level_scalar(self, level): + self.__volume.SetChannelVolumeLevelScalar(self.__index, level) + + @property + def min(self): + return self.__volume.GetVolumeRangeChannel(self.__index)[0] + + @property + def max(self): + return self.__volume.GetVolumeRangeChannel(self.__index)[1] + + @property + def step(self): + return self.__volume.GetVolumeRangeChannel(self.__index)[2] + + +class AudioVolume(object): + __metaclass__ = Singleton + + def __init__(self, endpoint): + self.__endpoint = endpoint + self.__volume = endpoint.activate( + IID_IAudioEndpointVolumeEx, + PIAudioEndpointVolumeEx + ) + support = self.__volume.QueryHardwareSupport() + if support | ENDPOINT_HARDWARE_SUPPORT_VOLUME != support: + raise NotImplementedError + + @property + def endpoint(self): + return self.__endpoint + + @property + def channels(self): + return AudioVolumeChannels(self.__endpoint, self.__volume) + + @property + def master(self): + return self.__volume.GetMasterVolumeLevel() + + @master.setter + def master(self, level): + self.__volume.SetMasterVolumeLevel(level) + + @property + def master_scalar(self): + return self.__volume.GetMasterVolumeLevelScalar() + + @master_scalar.setter + def master_scalar(self, level): + self.__volume.SetMasterVolumeLevelScalar(level) + + @property + def mute(self): + support = self.__volume.QueryHardwareSupport() + + if support | ENDPOINT_HARDWARE_SUPPORT_MUTE == support: + return bool(self.__volume.GetMute()) + raise AttributeError + + @mute.setter + def mute(self, mute): + support = self.__volume.QueryHardwareSupport() + + if support | ENDPOINT_HARDWARE_SUPPORT_MUTE == support: + self.__volume.SetMute(mute) + else: + raise AttributeError + + @property + def min(self): + return self.__range[0] + + @property + def max(self): + return self.__range[1] + + @property + def step(self): + return self.__range[2] + + @property + def __range(self): + return self.__volume.GetVolumeRange() + + def register_notification_callback(self, callback): + volume_callback = AudioEndpointVolumeCallback( + self.__endpoint, + callback + ) + self.__volume.RegisterControlChangeNotify(volume_callback) + return volume_callback + + def unregister_notification_callback(self, callback): + self.__volume.UnregisterControlChangeNotify(callback) + + def up(self): + self.__volume.VolumeStepUp() + + def down(self): + self.__volume.VolumeStepDown() + + @property + def peak_meter(self): + return AudioPeakMeter(self.__endpoint) + + +class AudioPeakMeter(object): + + def __init__(self, endpoint): + self.__peak_meter = endpoint.activate( + IID_IAudioMeterInformation, + PIAudioMeterInformation + ) + + @property + def channel_peak_values(self): + + # support = self.__peak_meter.QueryHardwareSupport() + # if support | ENDPOINT_HARDWARE_SUPPORT_METER != support: + # raise NotImplementedError + channels = self.__peak_meter.GetChannelsPeakValues(self.channel_count) + + channel_peaks = ctypes.cast( + channels, + ctypes.POINTER(ctypes.c_float) + ) + return list( + channel_peaks[i] for i in range(self.channel_count) + ) + + @property + def channel_count(self): + return self.__peak_meter.GetMeteringChannelCount() + + @property + def peak_value(self): + return self.__peak_meter.GetPeakValue() diff --git a/plugins/DVBViewer/__init__.py b/plugins/DVBViewer/__init__.py index 3ce5f9146..459609ab1 100644 --- a/plugins/DVBViewer/__init__.py +++ b/plugins/DVBViewer/__init__.py @@ -62,11 +62,13 @@ # Some Eclipse (IDE) warnings fixed import eg -from os.path import join, dirname, abspath, isfile import codecs +from os.path import abspath, dirname, join + HELPFILE = abspath(join(dirname(__file__.decode('mbcs')), "DVBViewer-Help.html")) + def GetHelp(): try: f = codecs.open(HELPFILE, mode="r", encoding="latin_1", buffering=-1) @@ -79,11 +81,12 @@ def GetHelp(): eg.PrintTraceback(msg) return msg + HELP = GetHelp() eg.RegisterPlugin( - name = "DVBViewer", - author = ( + name="DVBViewer", + author=( "Bitmonster", "Stefan Gollmer", "Nativityplay", @@ -98,8 +101,8 @@ def GetHelp(): 'Adds support functions to control ' 'DVBViewer Pro/GE and DVBViewerService and returns events.' ), - help = HELP, - icon = ( + help=HELP, + icon=( "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADK0lEQVR42j2TXWgcVRTH" "f/fOzM5uNknJxvoRt6kaCwlBjFJRsIgasUFLH1KFCqIIBTHUh9aCRQTRPviSokiLFREh" "iCXRh5ZiH6TWj1KxUqG2xmKwSlsrtKFu0/2a2Ttzr2d2jXMZLveee875n//5H5XWz6C7" @@ -122,6 +125,38 @@ def GetHelp(): ) +import hashlib +import inspect +import os +import random +import sys +from _winreg import CloseKey, HKEY_LOCAL_MACHINE, OpenKey, QueryValue +from base64 import encodestring as encodestring64 +from copy import deepcopy as cpy +from datetime import datetime as dt, timedelta as td +from functools import partial +from re import search as reSearch +from threading import Event, Lock, Thread, Timer +from time import asctime, localtime, mktime, sleep, strftime, strptime, time +from urllib2 import (Request, urlopen) +from xml.etree import cElementTree as ElementTree + +import wx +import wx.adv +import wx.lib.masked as masked +from pythoncom import CLSCTX_INPROC_SERVER, CoCreateInstance, CoInitialize, CoUninitialize, IID_IPersistFile +from pywintypes import Time as PyTime +from win32com.client import DispatchWithEvents, GetObject +from win32com.client.gencache import EnsureDispatch +from win32com.taskscheduler import taskscheduler + +from eg.WinApi import SendMessageTimeout +from eg.WinApi.Dynamic import ( + CloseHandle, CREATE_NEW_CONSOLE, create_unicode_buffer, CreateProcess, PROCESS_INFORMATION, sizeof, + STARTF_USESHOWWINDOW, STARTUPINFO, +) + + CALLWAIT_TIMEOUT = 60.0 TERMINATE_TIMEOUT = 120 DUMMY_ACTION = 27536 @@ -435,42 +470,6 @@ def GetHelp(): ) -import wx -import sys -import os -import random -import hashlib -import inspect -from pythoncom import CoInitialize, CoUninitialize -from pythoncom import CoCreateInstance, CLSCTX_INPROC_SERVER, IID_IPersistFile -from pywintypes import Time as PyTime -import wx.lib.masked as masked -from functools import partial -from copy import deepcopy as cpy -from win32com.client import Dispatch, DispatchWithEvents -from win32com.client.gencache import EnsureDispatch -from win32com.client import GetObject -from win32com.taskscheduler import taskscheduler -from eg.WinApi import SendMessageTimeout -from threading import Thread, Event, Timer, Lock -from time import time, strptime, mktime, ctime, strftime, localtime, asctime, sleep -from datetime import datetime as dt, timedelta as td -from eg.WinApi.Dynamic import ( - byref, sizeof, CreateProcess, WaitForSingleObject, FormatError, - CloseHandle, create_unicode_buffer, - STARTUPINFO, PROCESS_INFORMATION, - CREATE_NEW_CONSOLE, STARTF_USESHOWWINDOW -) -from urllib2 import ( HTTPPasswordMgrWithDefaultRealm, HTTPPasswordMgr, HTTPBasicAuthHandler, - install_opener, urlopen, Request, build_opener - ) -from urlparse import urlparse -from re import search as reSearch -from base64 import encodestring as encodestring64 -from xml.etree import cElementTree as ElementTree -from tempfile import NamedTemporaryFile -from _winreg import OpenKey, QueryValue, CloseKey, HKEY_LOCAL_MACHINE, KEY_READ - class Text: interfaceBox = "Interface API" @@ -1234,28 +1233,29 @@ def GetChannelList( rawlist, isTV, channelIDbyIDList, IDbychannelIDList, channel self.executionStatusChangeLock.release() channelNr = 0 - for channel in rawlist[1] : - tv = not ( channel[CH_22_VIDEOPID] == 0 ) - channelID = str( - int(tv) << 61 - | channel[CH_15_ORBITALPOS] << 48 - | channel[CH_23_TSID] << 32 - | (channel[CH_4_TUNERTYPE] + 1) << 29 - | channel[CH_20_AUDIOPID] << 16 - | channel[CH_26_SID] - ) - self.channelDetailsList[channelID] = channel + if rawlist: + for channel in rawlist[1] : + tv = not ( channel[CH_22_VIDEOPID] == 0 ) + channelID = str( + int(tv) << 61 + | channel[CH_15_ORBITALPOS] << 48 + | channel[CH_23_TSID] << 32 + | (channel[CH_4_TUNERTYPE] + 1) << 29 + | channel[CH_20_AUDIOPID] << 16 + | channel[CH_26_SID] + ) + self.channelDetailsList[channelID] = channel - if tv : - tvChannels.append( ( channelID, channel[CH_1_NAME] ) ) - else : - radioChannels.append( ( channelID, channel[CH_1_NAME] ) ) - if ( channel[ CH_3_FLAGS ] & 2 ) == 0 : # encrypted? - if not self.frequencies.has_key( channel[CH_5_FREQUENCY] ) : - self.frequencies[ channel[CH_5_FREQUENCY] ] = ( channelNr, tv ) - elif not self.frequencies[ channel[CH_5_FREQUENCY] ][1] and tv : - self.frequencies[ channel[CH_5_FREQUENCY] ] = ( channelNr, tv ) - channelNr += 1 + if tv : + tvChannels.append( ( channelID, channel[CH_1_NAME] ) ) + else : + radioChannels.append( ( channelID, channel[CH_1_NAME] ) ) + if ( channel[ CH_3_FLAGS ] & 2 ) == 0 : # encrypted? + if not self.frequencies.has_key( channel[CH_5_FREQUENCY] ) : + self.frequencies[ channel[CH_5_FREQUENCY] ] = ( channelNr, tv ) + elif not self.frequencies[ channel[CH_5_FREQUENCY] ][1] and tv : + self.frequencies[ channel[CH_5_FREQUENCY] ] = ( channelNr, tv ) + channelNr += 1 radioChannels.sort( cmp=lambda x,y: cmp(x[CH_1_NAME].lower(), y[CH_1_NAME].lower()) ) tvChannels.sort( cmp=lambda x,y: cmp(x[CH_1_NAME].lower(), y[CH_1_NAME].lower()) ) @@ -2366,9 +2366,11 @@ def GetSetupValue( self, section, name, default ) : @eg.LogIt - def GetChannelList( self ) : + def GetChannelList(self): + if not self.dvbviewer: + return [] channelManager = self.dvbviewer.ChannelManager - return channelManager.GetChannelList( ) + return channelManager.GetChannelList() @eg.LogItWithReturn @@ -3611,7 +3613,7 @@ def onRadioButton( event ) : wSize = channelChoiceCtrl.GetSize() channelChoiceCtrl.Clear() channelChoiceCtrl.SetItems( self.choices ) - channelChoiceCtrl.SetSizeHintsSz( wSize ) + channelChoiceCtrl.SetSizeHints( wSize ) channelChoiceCtrl.SetSelection( ix ) wxDate = wx.DateTime() @@ -3619,7 +3621,11 @@ def onRadioButton( event ) : wxDate = wx.DateTime.Now() else : wxDate.ParseFormat( date, "%d.%m.%Y" ) - dateCtrl = wx.DatePickerCtrl( panel, dt = wxDate, style=wx.DP_DEFAULT|wx.DP_DROPDOWN )#|wx.DP_ALLOWNONE ) + dateCtrl = wx.adv.DatePickerCtrl( + parent=panel, + dt=wxDate, + style=wx.adv.DP_DEFAULT | wx.adv.DP_DROPDOWN # | wx.DP_ALLOWNONE + ) wxStartTime = wx.DateTime() if startTime == "" : @@ -3722,7 +3728,10 @@ def onRadioButton( event ) : panel.sizer.Add(sBoxSizer, 0, flag = wx.EXPAND ) while panel.Affirmed(): - channelID = plugin.channelIDbyIDList[ ( channelChoiceCtrl.GetValue(), self.tv ) ] + try: + channelID = plugin.channelIDbyIDList[ ( channelChoiceCtrl.GetValue(), self.tv ) ] + except KeyError: + channelID = "" date = dateCtrl.GetValue().Format( "%d.%m.%Y" ) startTime = startTimeCtrl.GetValue( as_wxDateTime=True ).Format( "%H:%M" ) endTime = endTimeCtrl.GetValue( as_wxDateTime=True ).Format( "%H:%M" ) @@ -4108,7 +4117,105 @@ def Configure( self, panel.SetResult( enableDVBViewer, enableDVBService, updateDVBService ) -class DeleteRecordings( eg.ActionClass ) : +# class holding the parameters for the delete query +class DeleteQuery: + def __init__( + self, dry_mode=True, + delete_by_age=False, min_age_days=0, + delete_by_series=False, series_name='', + delete_by_name=False, title_name='', + delete_by_channel=False, channel_name='', + delete_by_playstatus=False, only_played=True, + keep_minimum=False, keep_at_least=0 + ): + self.dry_mode = dry_mode + self.delete_by_age, self.min_age_days = self.check_int_arg(delete_by_age, min_age_days) + self.delete_by_series, self.series_name = self.check_string_arg(delete_by_series, series_name) + self.delete_by_name, self.title_name = self.check_string_arg(delete_by_name, title_name) + self.delete_by_channel, self.channel_name = self.check_string_arg(delete_by_channel, channel_name) + self.delete_by_playstatus, self.only_played = delete_by_playstatus, only_played + self.keep_minimum, self.keep_at_least = self.check_int_arg(keep_minimum, keep_at_least) + + def to_tupel(self): + return ( + self.dry_mode, + self.delete_by_age, self.min_age_days, + self.delete_by_series, self.series_name, + self.delete_by_name, self.title_name, + self.delete_by_channel, self.channel_name, + self.delete_by_playstatus, self.only_played, + self.keep_minimum, self.keep_at_least + ) + + # workaround since GetLabel() does not accept custom objects as argument (I guess it's a bug in EG framework?) + @classmethod + def from_tupel(cls, tpl): + return cls(*tpl) + + # helper method: strips the string value and sets the flag to False if value is empty or None + @staticmethod + def check_int_arg(flag, value, default=0): + if value is None or value == 0: + return False, default + else: + return flag, value + + # helper method: strips the string value and sets the flag to False if value is empty or None + @staticmethod + def check_string_arg(flag, value, default=''): + if value is not None: + value = value.strip() + if value == '': + value = None + if value is None: + return False, default + else: + return flag, value + + # constructs a prosa text from the query + def query_as_text(self): + text = DeleteRecordings.Text + + label = '' + if self.dry_mode: + label += text.dry_mode_t + else: + label += text.real_mode_t + + label += text.delete_t + + if self.delete_by_playstatus: + if self.only_played: + label += text.played_t + else: + label += text.unplayed_t + # elif not self.deleteByName: + # label += text.any_t + + label += text.recordings_t + + if self.delete_by_name: + label += text.title_t % self.title_name + + if self.delete_by_series: + label += text.fromSeries_t % self.series_name + + if self.delete_by_channel: + label += text.onChannel_t % self.channel_name + + if self.delete_by_age: + label += text.olderThan_t % self.min_age_days + + if self.keep_minimum: + label += text.keepAtLeast_t % self.keep_at_least + + label = label.strip() + '. ' + + return label + + +# noinspection PyAttributeOutsideInit +class DeleteRecordings(eg.ActionClass) : name = "Delete Recordings" description = u'''Delete Recordings according to search criteria and filters. May be used to implement an automated housekeeping, especially for recorded TV series. @@ -4142,6 +4249,7 @@ class DeleteRecordings( eg.ActionClass ) : from the Recording Service. This is done transparently, you don't have to care for. ''' + minwidth = 520 class Text: filterTitle = "Filter criteria (all filters are AND combined)" @@ -4184,8 +4292,8 @@ class Text: errorDelAllRec = "ERROR: Current settings would delete %s recordings, i.e. ALL OF YOUR RECORDINGS! Refine your query!" errorDelTooManyRec = "ERROR: Current settings would delete %s recordings, that's MORE THAN HALF of your recordings! Refine your query!" - dryMode_t = "[Dry Mode]: " - realMode_t = "[Really!]: " + dry_mode_t = "[Dry Mode]: " + real_mode_t = "[Really!]: " delete_t = 'Delete all ' played_t = 'played ' unplayed_t = 'unplayed ' @@ -4197,211 +4305,120 @@ class Text: olderThan_t = 'which are older than %s days ' keepAtLeast_t = 'but keep at least the last %s recordings ' - # class holding the parameters for the delete query - class DeleteQuery: - def __init__(self, - dryMode=True, - deleteByAge=False, minAgeDays=0, - deleteBySeries=False, seriesName='', - deleteByName=False, titleName='', - deleteByChannel=False, channelName='', - deleteByPlaystatus=False, onlyPlayed=True, - keepMinimum=False, keepAtLeast=0 - ): - self.dryMode = dryMode - self.deleteByAge, self.minAgeDays = self.checkIntArg(deleteByAge, minAgeDays) - self.deleteBySeries, self.seriesName = self.checkStringArg(deleteBySeries, seriesName) - self.deleteByName, self.titleName = self.checkStringArg(deleteByName, titleName) - self.deleteByChannel, self.channelName = self.checkStringArg(deleteByChannel, channelName) - self.deleteByPlaystatus, self.onlyPlayed = deleteByPlaystatus, onlyPlayed - self.keepMinimum, self.keepAtLeast = self.checkIntArg(keepMinimum, keepAtLeast) - - # workaround since GetLabel() does not accept custom objects as argument (I guess it's a bug in EG framework?) - def ToTupel(self): - return (self.dryMode, - self.deleteByAge, self.minAgeDays, - self.deleteBySeries, self.seriesName, - self.deleteByName, self.titleName, - self.deleteByChannel, self.channelName, - self.deleteByPlaystatus, self.onlyPlayed, - self.keepMinimum, self.keepAtLeast - ) - - # workaround since GetLabel() does not accept custom objects as argument (I guess it's a bug in EG framework?) - @classmethod - def FromTupel(cls, tpl): - return cls(tpl[0], tpl[1], tpl[2], tpl[3], tpl[4], tpl[5], tpl[6], tpl[7], tpl[8], tpl[9], tpl[10], tpl[11], tpl[12]) - - - # helper method: strips the string value and sets the flag to False if value is empty or None - def checkIntArg(self, flag, value, default=0): - if value is None or value == 0: - return (False, default) - else: - return (flag, value) - - - # helper method: strips the string value and sets the flag to False if value is empty or None - def checkStringArg(self, flag, value, default=''): - if value is not None: - value = value.strip() - if value == '': - value = None - if value is None: - return (False, default) - else: - return (flag, value) - - - # constructs a prosa text from the query - def QueryAsText(self): - text = DeleteRecordings.Text - - label = '' - if self.dryMode: - label += text.dryMode_t - else: - label += text.realMode_t - - label += text.delete_t - - if self.deleteByPlaystatus: - if self.onlyPlayed: - label += text.played_t - else: - label += text.unplayed_t - #elif not self.deleteByName: - # label += text.any_t - - label += text.recordings_t - - if self.deleteByName: - label += text.title_t % self.titleName - - if self.deleteBySeries: - label += text.fromSeries_t % self.seriesName - - if self.deleteByChannel: - label += text.onChannel_t % self.channelName - - if self.deleteByAge: - label += text.olderThan_t % self.minAgeDays - - if self.keepMinimum: - label += text.keepAtLeast_t % self.keepAtLeast - - label = label.strip() + '. ' - - return label - - # convenience method - def LoadRecordingsData(self, deleteQueryTpl): - if deleteQueryTpl is None: - query = self.DeleteQuery() # new query with defaults + def load_recordings_data(self, delete_query_tpl): + if delete_query_tpl is None: + query = DeleteQuery() # new query with defaults else: - query = self.DeleteQuery.FromTupel(deleteQueryTpl) # convert tupel into DeleteQuery object + query = DeleteQuery.from_tupel(delete_query_tpl) # convert tupel into DeleteQuery object if self.plugin.workerThread is not None: - enableDVBViewer = True + enable_dvb_viewer = True else: - enableDVBViewer = False + enable_dvb_viewer = False # call action GetRecordingDetails - recDetails = eg.plugins.DVBViewer.GetRecordingDetails(enableDVBViewer, enableDVBService=True, updateDVBService=True) + rec_details = eg.plugins.DVBViewer.GetRecordingDetails( + enable_dvb_viewer, enableDVBService=True, updateDVBService=True + ) recordings = {} - if recDetails is not None: - readoutSuccessful = recDetails[0] - if readoutSuccessful: - recordings = recDetails[1] + if rec_details is not None: + readout_successful = rec_details[0] + if readout_successful: + recordings = rec_details[1] else: - eg.PrintError("GetRecordingDetails failed") - - return (recordings, query) + self.PrintError("GetRecordingDetails failed") + return recordings, query # computes the query result # This code was hard to write, so it's OK if it's hard to read :) - def ComputeQueryResult(self, recordings, deleteQuery, silent=False): - emptyResult = (0, []) + def compute_query_result(self, recordings, delete_query, silent=False): + empty_result = (0, []) if recordings is None or len(recordings) == 0: - return emptyResult + return empty_result - if deleteQuery is None: - return emptyResult + if delete_query is None: + return empty_result else: - q = deleteQuery + self.query = delete_query - numRecsBefore = len(recordings) + num_recs_before = len(recordings) dellist = recordings.values() dellist.sort(cmp=lambda x, y: cmp(y[RE_STARTDATE], x[RE_STARTDATE])) # sort by age in reverse order - if q.deleteByName and q.titleName is not None: - dellist = [ v for v in dellist if v[RE_TITLE].lower().find(q.titleName.lower()) >= 0 ] + if self.query.deleteByName and self.query.titleName is not None: + dellist = [ v for v in dellist if v[RE_TITLE].lower().find(self.query.titleName.lower()) >= 0 ] - if q.deleteBySeries and q.seriesName is not None: - dellist = [ v for v in dellist if v[RE_SERIES].lower().find(q.seriesName.lower()) >= 0 ] + if self.query.deleteBySeries and self.query.seriesName is not None: + dellist = [ v for v in dellist if v[RE_SERIES].lower().find(self.query.seriesName.lower()) >= 0 ] - if q.deleteByChannel and q.channelName is not None: - dellist = [ v for v in dellist if v[RE_CHANNEL].lower().find(q.channelName.lower()) >= 0 ] + if self.query.deleteByChannel and self.query.channelName is not None: + dellist = [ v for v in dellist if v[RE_CHANNEL].lower().find(self.query.channelName.lower()) >= 0 ] - if q.deleteByPlaystatus: + if self.query.deleteByPlaystatus: dellist = [ v for v in dellist if v[RE_PLAYED] is not None - and (v[RE_PLAYED] >= 0 and q.onlyPlayed or v[RE_PLAYED] < 0 and not q.onlyPlayed) ] + and (v[RE_PLAYED] >= 0 and self.query.onlyPlayed or v[RE_PLAYED] < 0 and not self.query.onlyPlayed) ] # Note: the 'keepAtLeast' logic IS different if combined with name searches (as above) # than when combined with the 'deleteByAge' logic - it's different because # our natural expectation is different in these two situations. # Expl: "Delete name='denver clan' keepAtLeast=2" -> keeps 2 records and deletes the rest # "Delete older than (today+7) keepAtLeast=2" -> keeps *at least* 2 records and deletes the older ones. - if q.keepMinimum: - if len(dellist) > q.keepAtLeast: - dellist = dellist[q.keepAtLeast:] # remove 'keepAtLeast' elements from the beginning of the deletion list + if self.query.keepMinimum: + if len(dellist) > self.query.keepAtLeast: + dellist = dellist[self.query.keepAtLeast:] # remove 'keepAtLeast' elements from the beginning of the deletion list else: - return emptyResult + return empty_result - if q.deleteByAge: - maxDate = dt.now() - td(days=q.minAgeDays) + if self.query.deleteByAge: + maxDate = dt.now() - td(days=self.query.minAgeDays) dellist = [ v for v in dellist if v[RE_STARTDATE] < maxDate ] # records which are older than maxDays numRecsDelete = len(dellist) - if numRecsDelete == numRecsBefore: + if numRecsDelete == num_recs_before: if not silent: - eg.PrintError(self.Text.errorDelAllRec % numRecsDelete) + self.PrintError(self.Text.errorDelAllRec % numRecsDelete) dellist = [] - elif float(numRecsDelete) / float(numRecsBefore) > 0.5: + elif float(numRecsDelete) / float(num_recs_before) > 0.5: if not silent: - eg.PrintError(self.Text.errorDelTooManyRec % numRecsDelete) + self.PrintError(self.Text.errorDelTooManyRec % numRecsDelete) dellist = [] - return (numRecsDelete, dellist) + return numRecsDelete, dellist @eg.LogItWithReturn - def __call__( self, - deleteQueryTpl=None - ) : - def printRecord(rec, prefix=''): - delim = ' | ' - print prefix + str(rec[RE_STARTDATE]) + delim + rec[RE_TITLE] + delim + rec[RE_CHANNEL] + delim + rec[RE_SERIES] + delim + rec[RE_FILENAME] + delim + str(rec[RE_PLAYED]) + delim + ('From RS' if rec[RE_FROMRS] else 'From DVBViewer') + def __call__( self,deleteQueryTpl=None) : + def print_record(rec, prefix=''): + print u"{}{} | {} | {} | {} | {} | {} | {}".format( + prefix, + str(rec[RE_STARTDATE]), + rec[RE_TITLE], + rec[RE_CHANNEL] , + rec[RE_SERIES], + rec[RE_FILENAME], + str(rec[RE_PLAYED]), + 'From RS' if rec[RE_FROMRS] else 'From DVBViewer' + ) plugin = self.plugin text = self.Text - recordings, q = self.LoadRecordingsData(deleteQueryTpl) + self.recordings, self.query = self.load_recordings_data(deleteQueryTpl) - dellist = self.ComputeQueryResult(recordings, q, False)[1] + dellist = self.compute_query_result(self.recordings, self.query, False)[1] - if q.dryMode: + if self.query.dry_mode: print text.deletePreview1 if len(dellist) > 0: print text.deletePreview2 % len(dellist) for v in dellist: - printRecord(v, text.dryPrefix) + print_record(v, text.dryPrefix) else: print text.deletePreview3 return False @@ -4409,7 +4426,7 @@ def printRecord(rec, prefix=''): elif len(dellist) > 0: success = True for v in dellist: - printRecord(v, text.deletePrefix) + print_record(v, text.deletePrefix) if v[RE_FROMRS]: # recordings created by RS have to be deleted by the RS success &= plugin.service.DeleteRecording(v[RE_RECID]) @@ -4432,349 +4449,314 @@ def printRecord(rec, prefix=''): else: return False + def update_query_from_gui_settings(self): + self.query.delete_by_name, self.query.title_name = self.query.check_string_arg( + self.delete_by_name_cb.GetValue(), + self.title_name_combo_ctrl.GetValue() + ) + self.query.delete_by_series, self.query.series_name = self.query.check_string_arg( + self.delete_by_series_cb.GetValue(), + self.series_name_combo_ctrl.GetValue() + ) + self.query.delete_by_channel, self.query.channel_name = self.query.check_string_arg( + self.delete_by_channel_cb.GetValue(), + self.channel_name_combo_ctrl.GetValue() + ) + self.query.delete_by_age, self.query.min_age_days = self.query.check_int_arg( + self.delete_by_age_cb.GetValue(), + self.min_age_num_ctrl.GetValue() + ) + self.query.delete_by_playstatus = self.delete_by_playstatus_cb.GetValue() + self.query.only_played = self.only_played_ctrl.GetValue() + self.query.keep_minimum, self.query.keep_at_least = self.query.check_int_arg( + self.keep_minimum_cb.GetValue(), + self.keep_at_least_num_ctrl.GetValue() + ) + self.query.dry_mode = self.dry_mode_cb.GetValue() + + def on_gui_change(self, event=None): + if event: + event.Skip() + self.update_query_from_gui_settings() + label_txt = self.query.query_as_text() + self.prose_query_label.SetLabel(label_txt) + w = self.prose_query_label.GetContainingSizer().GetSize()[0] - 10 + self.prose_query_label.SetMinSize((w, -1)) + self.prose_query_label.Wrap(w - 10) + hits = self.compute_query_result(self.recordings, self.query, silent=True)[0] + self.num_deletions_label.SetLabel(str(hits)) + self.num_deletions_label.SetMinSize( + self.num_deletions_label.GetFullTextExtent( + self.num_deletions_label.GetLabel() + )[:2] + ) + self.panel.Layout() + + def on_delete_by_name_cb(self, event): + self.title_name_combo_ctrl.Enable(event.IsChecked()) + self.on_gui_change() + + def on_delete_by_series_cb(self, event): + self.series_name_combo_ctrl.Enable(event.IsChecked()) + self.on_gui_change() + + def on_delete_by_channel_cb(self, event): + self.channel_name_combo_ctrl.Enable(event.IsChecked()) + self.on_gui_change() + + def on_delete_by_age_cb(self, event): + self.min_age_num_ctrl.Enable(event.IsChecked()) + self.on_gui_change() + + def on_delete_by_playstatus_cb(self, event): + self.only_played_ctrl.Enable(event.IsChecked()) + self.only_unplayed_ctrl.Enable(event.IsChecked()) + self.on_gui_change() + + def on_keep_minimum_cb(self, event): + self.keep_at_least_num_ctrl.Enable(event.IsChecked()) + self.on_gui_change() + + def on_dry_mode_cb(self, event): + if self.dry_mode_cb.GetValue(): + self.prose_query_label.SetForegroundColour((0, 0, 0)) + self.dry_mode_hint_label.Show() + else: + self.prose_query_label.SetForegroundColour((255, 0, 0)) + self.dry_mode_hint_label.Hide() + self.on_gui_change() @eg.LogIt - def Configure( self, - deleteQueryTpl=None - ) : - def UpdateQueryFromGuiSettings(q): - q.deleteByName, q.titleName = q.checkStringArg(deleteByNameCB.GetValue(), titleNameComboCtrl.GetValue()) - q.deleteBySeries, q.seriesName = q.checkStringArg(deleteBySeriesCB.GetValue(), seriesNameComboCtrl.GetValue()) - q.deleteByChannel, q.channelName = q.checkStringArg(deleteByChannelCB.GetValue(), channelNameComboCtrl.GetValue()) - q.deleteByAge, q.minAgeDays = q.checkIntArg(deleteByAgeCB.GetValue(), minAgeNumCtrl.GetValue()) - q.deleteByPlaystatus, q.onlyPlayed = deleteByPlaystatusCB.GetValue(), onlyPlayedCtrl.GetValue() - q.keepMinimum, q.keepAtLeast = q.checkIntArg(keepMinimumCB.GetValue(), keepAtLeastNumCtrl.GetValue()) - q.dryMode = dryModeCB.GetValue() - return q - - #plugin = self.plugin + def Configure(self, delete_query_tpl=None): text = self.Text - panel = eg.ConfigPanel() - dlgWindow = panel.GetTopLevelParent() + self.panel = panel = eg.ConfigPanel() # -------------- Get Data, Compute Query ------------------- - recordings, q = self.LoadRecordingsData(deleteQueryTpl) - - # -------------- Event Handlers ------------------- - def onGuiChange(event): - def backupValues(): - backup = eg.Bunch() - backup.titleNameStr = titleNameComboCtrl.GetValue() - backup.titleNamePos = titleNameComboCtrl.GetInsertionPoint() - backup.seriesNameStr = seriesNameComboCtrl.GetValue() - backup.seriesNamePos = seriesNameComboCtrl.GetInsertionPoint() - backup.channelNameStr = channelNameComboCtrl.GetValue() - backup.channelNamePos = channelNameComboCtrl.GetInsertionPoint() - return backup - - def restoreValues(backup): - titleNameComboCtrl.SetValue(backup.titleNameStr) - titleNameComboCtrl.SetInsertionPoint(backup.titleNamePos) - seriesNameComboCtrl.SetValue(backup.seriesNameStr) - seriesNameComboCtrl.SetInsertionPoint(backup.seriesNamePos) - channelNameComboCtrl.SetValue(backup.channelNameStr) - channelNameComboCtrl.SetInsertionPoint(backup.channelNamePos) - - # Workaround for an ugly behaviour of wx.ComboBox: - # When calling 'Layout()' on an arbitrary component in the same frame, the ComboBox - # performs some very strange autocomplete operation for which I didn't find a way - # to turn it off (I'd say it's a bug in wx framework?) - backup = backupValues() - - labelTxt = UpdateQueryFromGuiSettings(q).QueryAsText() - proseQueryLabel.SetLabel(labelTxt) - proseQueryLabel.Wrap(minwidth-10) - hits = self.ComputeQueryResult(recordings, q, silent=True)[0] - numDeletionsLabel.SetLabel(str(hits)) - numDeletionsLabel.SetInitialSize() - numDeletionsLabel.GetParent().Layout() # give numDeletionsLabel enough space to grow - # but this also causes improper autocomplete of wx.ComboBox - dlgWindow.SetInitialSize() - dlgWindow.Layout() # let the whole dialog dlgWindow shrink / enlarge - - restoreValues(backup) - - - def onDeleteByNameCB(event): - titleNameComboCtrl.Enable(deleteByNameCB.GetValue()) - if event is not None: - onGuiChange(event) - - def onDeleteBySeriesCB(event): - seriesNameComboCtrl.Enable(deleteBySeriesCB.GetValue()) - if event is not None: - onGuiChange(event) - - def onDeleteByChannelCB(event): - channelNameComboCtrl.Enable(deleteByChannelCB.GetValue()) - if event is not None: - onGuiChange(event) - - def onDeleteByAgeCB(event): - minAgeNumCtrl.Enable(deleteByAgeCB.GetValue()) - if event is not None: - onGuiChange(event) - - def onDeleteByPlaystatusCB(event): - onlyPlayedCtrl.Enable(deleteByPlaystatusCB.GetValue()) - onlyUnplayedCtrl.Enable(deleteByPlaystatusCB.GetValue()) - if event is not None: - onGuiChange(event) - - def onKeepMinimumCB(event): - keepAtLeastNumCtrl.Enable(keepMinimumCB.GetValue()) - if event is not None: - onGuiChange(event) - - def onDryModeCB(event): - if dryModeCB.GetValue(): - proseQueryLabel.SetForegroundColour((0,0,0)) - dryModeHintLabel.Show() - else: - proseQueryLabel.SetForegroundColour((255,0,0)) - dryModeHintLabel.Hide() - if event is not None: - onGuiChange(event) - + self.recordings, self.query = self.load_recordings_data(delete_query_tpl) # -------------- GUI Components ------------------- leftindent = 12 blockgap = 5 - minwidth = 520 - - deleteByNameCB = wx.CheckBox(panel, -1, text.deleteByName) - deleteByNameCB.SetValue(q.deleteByName) - deleteByNameCB.Bind(wx.EVT_CHECKBOX, onDeleteByNameCB) - titleNames = [v[RE_TITLE] for v in recordings.values()] - titleNames = list(set(titleNames)) # remove duplicates - titleNames.sort(lambda a,b: cmp(a.lower(), b.lower())) - titleNameComboCtrl = wx.ComboBox( panel, -1, - value=q.titleName, - choices=titleNames, + + self.delete_by_name_cb = wx.CheckBox(panel, label=text.deleteByName) + self.delete_by_name_cb.SetValue(self.query.delete_by_name) + self.delete_by_name_cb.Bind(wx.EVT_CHECKBOX, self.on_delete_by_name_cb) + title_names = [v[RE_TITLE] for v in self.recordings.values()] + title_names = list(set(title_names)) # remove duplicates + title_names.sort(lambda a,b: cmp(a.lower(), b.lower())) + self.title_name_combo_ctrl = wx.ComboBox( + parent=panel, + value=self.query.title_name, + choices=title_names, size=(300,-1) ) - titleNameComboCtrl.Bind(wx.EVT_TEXT, onGuiChange) - titleNameComboCtrl.Bind(wx.EVT_TEXT_ENTER, onGuiChange) - titleNameComboCtrl.Bind(wx.EVT_COMBOBOX, onGuiChange) - titleNameComboCtrl.Bind(wx.EVT_KILL_FOCUS, onGuiChange) - - deleteBySeriesCB = wx.CheckBox(panel, -1, text.deleteBySeries) - deleteBySeriesCB.SetValue(q.deleteBySeries) - deleteBySeriesCB.Bind(wx.EVT_CHECKBOX, onDeleteBySeriesCB) - seriesNames = [v[RE_SERIES] for v in recordings.values()] - seriesNames = list(set(seriesNames)) - seriesNames.sort(lambda a,b: cmp(a.lower(), b.lower())) - seriesNameComboCtrl = wx.ComboBox( panel, -1, - value=q.seriesName, - choices=seriesNames, + self.title_name_combo_ctrl.Enable(self.query.delete_by_name) + self.title_name_combo_ctrl.Bind(wx.EVT_COMBOBOX, self.on_gui_change) + + self.delete_by_series_cb = wx.CheckBox(panel, label=text.deleteBySeries) + self.delete_by_series_cb.SetValue(self.query.delete_by_series) + self.delete_by_series_cb.Bind(wx.EVT_CHECKBOX, self.on_delete_by_series_cb) + series_names = [v[RE_SERIES] for v in self.recordings.values()] + series_names = list(set(series_names)) + series_names.sort(lambda a,b: cmp(a.lower(), b.lower())) + self.series_name_combo_ctrl = wx.ComboBox( + parent=panel, + value=self.query.series_name, + choices=series_names, size=(300,-1) ) - seriesNameComboCtrl.Bind(wx.EVT_TEXT, onGuiChange) - seriesNameComboCtrl.Bind(wx.EVT_TEXT_ENTER, onGuiChange) - seriesNameComboCtrl.Bind(wx.EVT_COMBOBOX, onGuiChange) - seriesNameComboCtrl.Bind(wx.EVT_KILL_FOCUS, onGuiChange) - - deleteByChannelCB = wx.CheckBox(panel, -1, text.deleteByChannel) - deleteByChannelCB.SetValue(q.deleteByChannel) - deleteByChannelCB.Bind(wx.EVT_CHECKBOX, onDeleteByChannelCB) - channelNames = [v[RE_CHANNEL] for v in recordings.values()] - channelNames = list(set(channelNames)) - channelNames.sort(lambda a,b: cmp(a.lower(), b.lower())) - channelNameComboCtrl = wx.ComboBox( panel, -1, - value=q.channelName, - choices=channelNames, - size=(300,-1) + self.series_name_combo_ctrl.Enable(self.query.delete_by_series) + self.series_name_combo_ctrl.Bind(wx.EVT_COMBOBOX, self.on_gui_change) + + self.delete_by_channel_cb = wx.CheckBox(panel, label=text.deleteByChannel) + self.delete_by_channel_cb.SetValue(self.query.delete_by_channel) + self.delete_by_channel_cb.Bind(wx.EVT_CHECKBOX, self.on_delete_by_channel_cb) + channel_names = [v[RE_CHANNEL] for v in self.recordings.values()] + channel_names = list(set(channel_names)) + channel_names.sort(lambda a,b: cmp(a.lower(), b.lower())) + self.channel_name_combo_ctrl = wx.ComboBox( + parent=panel, + value=self.query.channel_name, + choices=channel_names, + size=(300, -1) ) - channelNameComboCtrl.Bind(wx.EVT_TEXT, onGuiChange) - channelNameComboCtrl.Bind(wx.EVT_TEXT_ENTER, onGuiChange) - channelNameComboCtrl.Bind(wx.EVT_COMBOBOX, onGuiChange) - channelNameComboCtrl.Bind(wx.EVT_KILL_FOCUS, onGuiChange) + self.channel_name_combo_ctrl.Enable(self.query.delete_by_channel) + self.channel_name_combo_ctrl.Bind(wx.EVT_COMBOBOX, self.on_gui_change) - deleteByAgeCB = wx.CheckBox(panel, -1, text.deleteByAge) - deleteByAgeCB.SetValue(q.deleteByAge) - deleteByAgeCB.Bind(wx.EVT_CHECKBOX, onDeleteByAgeCB) - minAgeNumCtrl = panel.SpinNumCtrl(q.minAgeDays, min=0, max=9999, fractionWidth=0, integerWidth=4) - minAgeNumCtrl.Bind(wx.EVT_TEXT, onGuiChange) + self.delete_by_age_cb = wx.CheckBox(panel, label=text.deleteByAge) + self.delete_by_age_cb.SetValue(self.query.delete_by_age) + self.delete_by_age_cb.Bind(wx.EVT_CHECKBOX, self.on_delete_by_age_cb) + self.min_age_num_ctrl = panel.SpinNumCtrl(self.query.min_age_days, min=0, max=9999, fractionWidth=0, integerWidth=4) + self.min_age_num_ctrl.Enable(self.query.delete_by_age) + self.min_age_num_ctrl.Bind(masked.EVT_NUM, self.on_gui_change) - deleteByPlaystatusCB = wx.CheckBox(panel, -1, text.deleteByPlaystatus) - deleteByPlaystatusCB.SetValue(q.deleteByPlaystatus) - deleteByPlaystatusCB.Bind(wx.EVT_CHECKBOX, onDeleteByPlaystatusCB) + self.delete_by_playstatus_cb = wx.CheckBox(panel, label=text.deleteByPlaystatus) + self.delete_by_playstatus_cb.SetValue(self.query.delete_by_playstatus) + self.delete_by_playstatus_cb.Bind(wx.EVT_CHECKBOX, self.on_delete_by_playstatus_cb) - onlyPlayedCtrl = wx.RadioButton( panel, -1, text.onlyPlayed, style = wx.RB_GROUP ) - onlyPlayedCtrl.SetValue( q.onlyPlayed ) - onlyPlayedCtrl.Bind(wx.EVT_RADIOBUTTON, onGuiChange) + self.only_played_ctrl = wx.RadioButton(panel, label=text.onlyPlayed, style=wx.RB_GROUP) + self.only_played_ctrl.SetValue(self.query.only_played) + self.only_played_ctrl.Enable(self.query.delete_by_playstatus) + self.only_played_ctrl.Bind(wx.EVT_RADIOBUTTON, self.on_gui_change) - onlyUnplayedCtrl = wx.RadioButton( panel, -1, text.onlyUnplayed ) - onlyUnplayedCtrl.SetValue( not q.onlyPlayed ) - onlyUnplayedCtrl.Bind(wx.EVT_RADIOBUTTON, onGuiChange) + self.only_unplayed_ctrl = wx.RadioButton(panel, label=text.onlyUnplayed) + self.only_unplayed_ctrl.SetValue(not self.query.only_played) + self.only_unplayed_ctrl.Enable(self.query.delete_by_playstatus) + self.only_unplayed_ctrl.Bind(wx.EVT_RADIOBUTTON, self.on_gui_change) - keepMinimumCB = wx.CheckBox(panel, -1, text.keepMinimum) - keepMinimumCB.SetValue(q.keepMinimum) - keepMinimumCB.Bind(wx.EVT_CHECKBOX, onKeepMinimumCB) - keepAtLeastNumCtrl = panel.SpinNumCtrl(q.keepAtLeast, min=0, max=9999, fractionWidth=0, integerWidth=4) - keepAtLeastNumCtrl.Bind(wx.EVT_TEXT, onGuiChange) + self.keep_minimum_cb = wx.CheckBox(panel, label=text.keepMinimum) + self.keep_minimum_cb.SetValue(self.query.keep_minimum) + self.keep_minimum_cb.Bind(wx.EVT_CHECKBOX, self.on_keep_minimum_cb) + self.keep_at_least_num_ctrl = panel.SpinNumCtrl(self.query.keep_at_least, min=0, max=9999, fractionWidth=0, integerWidth=4) + self.keep_at_least_num_ctrl.Enable(self.query.keep_minimum) + self.keep_at_least_num_ctrl.Bind(masked.EVT_NUM, self.on_gui_change) - dryModeCB = wx.CheckBox(panel, -1, text.dryMode) - dryModeCB.SetValue(q.dryMode) - dryModeCB.Bind(wx.EVT_CHECKBOX, onDryModeCB) + self.dry_mode_cb = wx.CheckBox(panel, label=text.dryMode) + self.dry_mode_cb.SetValue(self.query.dry_mode) + self.dry_mode_cb.Bind(wx.EVT_CHECKBOX, self.on_dry_mode_cb) - proseQueryLabel = wx.StaticText(panel, -1, "", style = wx.TE_READONLY | wx.TE_LEFT | wx.TE_LINEWRAP) + self.prose_query_label = wx.StaticText(panel, style=wx.TE_READONLY | wx.TE_LEFT) - numDeletionsLabel = wx.StaticText(panel, -1, "", style=wx.TE_READONLY | wx.TE_LEFT) - numDeletionsLabel.SetForegroundColour((255,0,0)) + self.num_deletions_label = wx.StaticText(panel, style=wx.TE_READONLY | wx.TE_LEFT) + self.num_deletions_label.SetForegroundColour((255, 0, 0)) - dryModeHintLabel = wx.StaticText(panel, -1, text.dryModeHint, style=wx.TE_READONLY | wx.TE_LEFT) + self.dry_mode_hint_label = wx.StaticText(panel, label=text.dryModeHint, style=wx.TE_READONLY | wx.TE_LEFT) # -------------- GUI Layout ------------------- - filterGBSizer = wx.GridBagSizer(hgap=5, vgap=3) - filterGBrow = 0 - filterGBSizer.Add(wx.Size(0, 5), (filterGBrow, 0)) - filterGBrow += 1 - - filterGBSizer.Add(deleteByNameCB, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(leftindent, 0), (filterGBrow, 0)) - filterGBSizer.Add(wx.StaticText(panel, -1, text.titleName), (filterGBrow, 1), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBSizer.Add(titleNameComboCtrl, (filterGBrow, 2), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(0, blockgap), (filterGBrow, 0)) - filterGBrow += 1 - - filterGBSizer.Add(deleteBySeriesCB, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(leftindent, 0), (filterGBrow, 0)) - filterGBSizer.Add(wx.StaticText(panel, -1, text.seriesName), (filterGBrow, 1), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBSizer.Add(seriesNameComboCtrl, (filterGBrow, 2), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(0, blockgap), (filterGBrow, 0)) - filterGBrow += 1 - - filterGBSizer.Add(deleteByChannelCB, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(leftindent, 0), (filterGBrow, 0)) - filterGBSizer.Add(wx.StaticText(panel, -1, text.channelName), (filterGBrow, 1), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBSizer.Add(channelNameComboCtrl, (filterGBrow, 2), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(0, blockgap), (filterGBrow, 0)) - filterGBrow += 1 - - filterGBSizer.Add(deleteByPlaystatusCB, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - innerFGSizer = wx.FlexGridSizer(rows=2, cols=2, hgap=5, vgap=5) - innerFGSizer.Add(wx.Size(leftindent, 0)) - innerFGSizer.Add(onlyPlayedCtrl, flag = wx.ALIGN_CENTER_VERTICAL) - innerFGSizer.Add(wx.Size(leftindent, 0)) - innerFGSizer.Add(onlyUnplayedCtrl, flag=wx.ALIGN_CENTER_VERTICAL) - filterGBSizer.Add(innerFGSizer, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(0, blockgap), (filterGBrow, 0)) - filterGBrow += 1 - - filterGBSizer.Add(deleteByAgeCB, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - innerFGSizer = wx.FlexGridSizer(rows=1, hgap=5, vgap=5) - innerFGSizer.Add(wx.Size(leftindent, 0)) - innerFGSizer.Add(wx.StaticText(panel, -1, text.minAgeDays1), flag=wx.ALIGN_CENTER_VERTICAL) - innerFGSizer.Add(minAgeNumCtrl, flag=wx.ALIGN_CENTER_VERTICAL) - innerFGSizer.Add(wx.StaticText(panel, -1, text.minAgeDays2), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBSizer.Add(innerFGSizer, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(0, blockgap), (filterGBrow, 0)) - filterGBrow += 1 - - filterGBSizer.Add(keepMinimumCB, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - innerFGSizer = wx.FlexGridSizer(rows=1, hgap=5, vgap=5) - innerFGSizer.Add(wx.Size(leftindent, 0)) - innerFGSizer.Add(wx.StaticText(panel, -1, text.keepAtLeast1), flag=wx.ALIGN_CENTER_VERTICAL) - innerFGSizer.Add(keepAtLeastNumCtrl, flag=wx.ALIGN_CENTER_VERTICAL) - innerFGSizer.Add(wx.StaticText(panel, -1, text.keepAtLeast2), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBSizer.Add(innerFGSizer, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(0, blockgap), (filterGBrow, 0)) - filterGBrow += 1 - - filterGBSizer.Add(dryModeCB, (filterGBrow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) - filterGBrow += 1 - filterGBSizer.Add(wx.Size(0, blockgap), (filterGBrow, 0)) - filterGBrow += 1 - - filterSBox = wx.StaticBox(panel, -1, text.filterTitle) - filterSBoxSizer = wx.StaticBoxSizer(filterSBox, wx.VERTICAL) - filterSBoxSizer.Add(filterGBSizer, proportion=1, flag=wx.EXPAND) + filter_gb_sizer = wx.GridBagSizer(hgap=5, vgap=3) + filter_g_brow = 0 + filter_gb_sizer.Add(wx.Size(0, 5), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_gb_sizer.Add(self.delete_by_name_cb, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(leftindent, 0), (filter_g_brow, 0)) + filter_gb_sizer.Add(wx.StaticText(panel, -1, text.titleName), (filter_g_brow, 1), flag=wx.ALIGN_CENTER_VERTICAL) + filter_gb_sizer.Add(self.title_name_combo_ctrl, (filter_g_brow, 2), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(0, blockgap), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_gb_sizer.Add(self.delete_by_series_cb, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(leftindent, 0), (filter_g_brow, 0)) + filter_gb_sizer.Add(wx.StaticText(panel, -1, text.seriesName), (filter_g_brow, 1), flag=wx.ALIGN_CENTER_VERTICAL) + filter_gb_sizer.Add(self.series_name_combo_ctrl, (filter_g_brow, 2), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(0, blockgap), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_gb_sizer.Add(self.delete_by_channel_cb, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(leftindent, 0), (filter_g_brow, 0)) + filter_gb_sizer.Add(wx.StaticText(panel, -1, text.channelName), (filter_g_brow, 1), flag=wx.ALIGN_CENTER_VERTICAL) + filter_gb_sizer.Add(self.channel_name_combo_ctrl, (filter_g_brow, 2), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(0, blockgap), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_gb_sizer.Add(self.delete_by_playstatus_cb, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + inner_fg_sizer = wx.FlexGridSizer(rows=2, cols=2, hgap=5, vgap=5) + inner_fg_sizer.Add(wx.Size(leftindent, 0)) + inner_fg_sizer.Add(self.only_played_ctrl, flag = wx.ALIGN_CENTER_VERTICAL) + inner_fg_sizer.Add(wx.Size(leftindent, 0)) + inner_fg_sizer.Add(self.only_unplayed_ctrl, flag=wx.ALIGN_CENTER_VERTICAL) + filter_gb_sizer.Add(inner_fg_sizer, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(0, blockgap), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_gb_sizer.Add(self.delete_by_age_cb, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + inner_fg_sizer = wx.FlexGridSizer(rows=1, cols=4, hgap=5, vgap=5) + inner_fg_sizer.Add(wx.Size(leftindent, 0)) + inner_fg_sizer.Add(wx.StaticText(panel, -1, text.minAgeDays1), flag=wx.ALIGN_CENTER_VERTICAL) + inner_fg_sizer.Add(self.min_age_num_ctrl, flag=wx.ALIGN_CENTER_VERTICAL) + inner_fg_sizer.Add(wx.StaticText(panel, -1, text.minAgeDays2), flag=wx.ALIGN_CENTER_VERTICAL) + filter_gb_sizer.Add(inner_fg_sizer, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(0, blockgap), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_gb_sizer.Add(self.keep_minimum_cb, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + inner_fg_sizer = wx.FlexGridSizer(rows=1, cols=4, hgap=5, vgap=5) + inner_fg_sizer.Add(wx.Size(leftindent, 0)) + inner_fg_sizer.Add(wx.StaticText(panel, -1, text.keepAtLeast1), flag=wx.ALIGN_CENTER_VERTICAL) + inner_fg_sizer.Add(self.keep_at_least_num_ctrl, flag=wx.ALIGN_CENTER_VERTICAL) + inner_fg_sizer.Add(wx.StaticText(panel, -1, text.keepAtLeast2), flag=wx.ALIGN_CENTER_VERTICAL) + filter_gb_sizer.Add(inner_fg_sizer, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(0, blockgap), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_gb_sizer.Add(self.dry_mode_cb, (filter_g_brow, 0), span=(1, 4), flag=wx.ALIGN_CENTER_VERTICAL) + filter_g_brow += 1 + filter_gb_sizer.Add(wx.Size(0, blockgap), (filter_g_brow, 0)) + filter_g_brow += 1 + + filter_s_box = wx.StaticBox(panel, -1, text.filterTitle) + filter_s_box_sizer = wx.StaticBoxSizer(filter_s_box, wx.VERTICAL) + filter_s_box_sizer.Add(filter_gb_sizer, proportion=1, flag=wx.EXPAND) # ---- Result Static Box - resultGBSizer = wx.GridBagSizer(hgap=5, vgap=5) - resultGBrow = 0 - - resultGBSizer.Add(proseQueryLabel, (resultGBrow, 0), span=(1, 1), flag=wx.ALIGN_CENTER_VERTICAL) - resultGBrow += 1 - resultGBSizer.Add(wx.Size(0, blockgap), (resultGBrow, 0)) - resultGBrow += 1 - - resultFGSizer = wx.FlexGridSizer(rows=1, hgap=5, vgap=5) - resultFGSizer.Add(wx.StaticText(panel, -1, text.queryResult1), flag=wx.ALIGN_CENTER_VERTICAL) - resultFGSizer.Add(numDeletionsLabel, flag=wx.ALIGN_CENTER_VERTICAL) - resultFGSizer.Add(wx.StaticText(panel, -1, text.queryResult2), flag=wx.ALIGN_CENTER_VERTICAL) - - resultGBSizer.Add(resultFGSizer, (resultGBrow, 0), span=(1, 1), flag=wx.ALIGN_CENTER_VERTICAL) - resultGBrow += 1 - resultGBSizer.Add(wx.Size(0, blockgap), (resultGBrow, 0)) - resultGBrow += 1 - - resultGBSizer.Add(dryModeHintLabel, (resultGBrow, 0), span=(1, 1), flag=wx.ALIGN_CENTER_VERTICAL) - resultGBrow += 1 - - resultSBox = wx.StaticBox(panel, -1, text.resultTitle) - resultSBoxSizer = wx.StaticBoxSizer(resultSBox, wx.VERTICAL) - resultSBoxSizer.Add(resultGBSizer, proportion=1, flag=wx.EXPAND) - - mainGBSizer = wx.GridBagSizer(hgap=5, vgap=5) - mainGBrow = 0 - mainGBSizer.Add(wx.Size(minwidth, blockgap), (mainGBrow, 0)) - mainGBrow += 1 - - mainGBSizer.Add(filterSBoxSizer, (mainGBrow, 0), span=(1, 1), flag=wx.EXPAND) - mainGBrow += 1 - mainGBSizer.Add(wx.Size(0, blockgap), (mainGBrow, 0)) - mainGBrow += 1 - - mainGBSizer.Add(resultSBoxSizer, (mainGBrow, 0), span=(1, 1), flag=wx.EXPAND) - mainGBrow += 1 - mainGBSizer.Add(wx.Size(0, blockgap), (mainGBrow, 0)) - mainGBrow += 1 + result_gb_sizer = wx.GridBagSizer(hgap=5, vgap=5) + result_g_brow = 0 + + result_gb_sizer.Add(self.prose_query_label, (result_g_brow, 0), span=(1, 1), flag=wx.ALIGN_CENTER_VERTICAL) + result_g_brow += 1 + result_gb_sizer.Add(wx.Size(0, blockgap), (result_g_brow, 0)) + result_g_brow += 1 + + result_fg_sizer = wx.FlexGridSizer(rows=1, cols=3, hgap=5, vgap=5) + result_fg_sizer.Add(wx.StaticText(panel, label=text.queryResult1), flag=wx.ALIGN_CENTER_VERTICAL) + result_fg_sizer.Add(self.num_deletions_label, flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) + result_fg_sizer.Add(wx.StaticText(panel, label=text.queryResult2), flag=wx.ALIGN_CENTER_VERTICAL) + + result_gb_sizer.Add(result_fg_sizer, (result_g_brow, 0), span=(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) + result_g_brow += 1 + result_gb_sizer.Add(wx.Size(0, blockgap), (result_g_brow, 0)) + result_g_brow += 1 + + result_gb_sizer.Add(self.dry_mode_hint_label, (result_g_brow, 0), span=(1, 1), flag=wx.ALIGN_CENTER_VERTICAL) + result_g_brow += 1 + + result_s_box = wx.StaticBox(panel, -1, text.resultTitle) + result_s_box_sizer = wx.StaticBoxSizer(result_s_box, wx.VERTICAL) + result_s_box_sizer.Add(result_gb_sizer, proportion=1, flag=wx.EXPAND) + + main_gb_sizer = wx.GridBagSizer(hgap=5, vgap=5) + main_g_brow = 0 + main_gb_sizer.Add(wx.Size(self.minwidth, blockgap), (main_g_brow, 0)) + main_g_brow += 1 + + main_gb_sizer.Add(filter_s_box_sizer, (main_g_brow, 0), span=(1, 1), flag=wx.EXPAND) + main_g_brow += 1 + main_gb_sizer.Add(wx.Size(0, blockgap), (main_g_brow, 0)) + main_g_brow += 1 + + main_gb_sizer.Add(result_s_box_sizer, (main_g_brow, 0), span=(1, 1), flag=wx.EXPAND) + main_g_brow += 1 + main_gb_sizer.Add(wx.Size(0, blockgap), (main_g_brow, 0)) + main_g_brow += 1 # -------------- Run & show ------------------- - panel.sizer.Add(mainGBSizer, proportion=1, flag=wx.EXPAND) - - onDeleteByNameCB(None) - onDeleteBySeriesCB(None) - onDeleteByChannelCB(None) - onDeleteByAgeCB(None) - onDeleteByPlaystatusCB(None) - onKeepMinimumCB(None) - onDryModeCB(None) - onGuiChange(None) - + panel.sizer.Add(main_gb_sizer, proportion=1, flag=wx.EXPAND) + wx.CallAfter(self.on_gui_change) while panel.Affirmed(): - deleteQueryTpl = UpdateQueryFromGuiSettings(q).ToTupel() - + self.update_query_from_gui_settings() panel.SetResult( - deleteQueryTpl + self.query.to_tupel() ) - - def GetLabel(self, - deleteQueryTpl, - *dummyArgs - ): - if deleteQueryTpl is None: - q = self.DeleteQuery() # new query with defaults + def GetLabel(self, delete_query_tpl=None): + if delete_query_tpl is None: + self.query = DeleteQuery() # new query with defaults else: - q = self.DeleteQuery.FromTupel(deleteQueryTpl) # convert tupel into DeleteQuery object - - return q.QueryAsText() + self.query = DeleteQuery.from_tupel(delete_query_tpl) # convert tupel into DeleteQuery object + return self.query.query_as_text() class TuneChannel( eg.ActionClass ) : @@ -4791,7 +4773,7 @@ def __call__(self, channelID = eval(variableName) if channelID is None or channelID == '': - eg.PrintError("Invalid arguments: missing channelID") + self.PrintError("Invalid arguments: missing channelID") return False plugin.executionStatusChangeLock.acquire() @@ -4845,8 +4827,11 @@ def OnTvRadioSelect( event ) : def OnChannelChoice(event): ix = channelChoiceCtrl.GetSelection() key = (ix, self.tv) - channelID = plugin.channelIDbyIDList[key] - channelIDTextCtrl.SetValue( channelID ) + try: + channelID = plugin.channelIDbyIDList[key] + channelIDTextCtrl.SetValue( channelID ) + except KeyError: + channelIDTextCtrl.SetValue('') event.Skip() self.panel = eg.ConfigPanel() @@ -4871,7 +4856,7 @@ def OnChannelChoice(event): wSize = channelChoiceCtrl.GetSize() channelChoiceCtrl.Clear() channelChoiceCtrl.SetItems( self.choices ) - channelChoiceCtrl.SetSizeHintsSz( wSize ) + channelChoiceCtrl.SetSizeHints( wSize ) channelChoiceCtrl.SetSelection( ix ) channelChoiceCtrl.Bind(wx.EVT_CHOICE, OnChannelChoice) @@ -4965,11 +4950,11 @@ def __call__(self, channelID = eval(variableName) if not allChannels and not currentChannel and (channelID is None or channelID == ""): - eg.PrintError("Illegal argument combination: One of the arguments 'allChannels', 'currentChannel', 'fromVariable' or 'channelID' must be set.") + self.PrintError("Illegal argument combination: One of the arguments 'allChannels', 'currentChannel', 'fromVariable' or 'channelID' must be set.") return None if allChannels and currentChannel or allChannels and fromVariable or currentChannel and fromVariable: - eg.PrintError("Illegal argument combination: Just one of the arguments 'allChannels', 'currentChannel' and 'fromVariable' must be True.") + self.PrintError("Illegal argument combination: Just one of the arguments 'allChannels', 'currentChannel' and 'fromVariable' must be True.") return None plugin.executionStatusChangeLock.acquire() @@ -5027,8 +5012,11 @@ def OnTvRadioSelect( event ) : def OnChannelChoice(event): ix = channelChoiceCtrl.GetSelection() key = (ix, self.tv) - channelID = plugin.channelIDbyIDList[key] - channelIDTextCtrl.SetValue( channelID ) + try: + channelID = plugin.channelIDbyIDList[key] + channelIDTextCtrl.SetValue( channelID ) + except KeyError: + channelIDTextCtrl.SetValue('') event.Skip() self.panel = eg.ConfigPanel() @@ -5053,7 +5041,7 @@ def OnChannelChoice(event): wSize = channelChoiceCtrl.GetSize() channelChoiceCtrl.Clear() channelChoiceCtrl.SetItems( self.choices ) - channelChoiceCtrl.SetSizeHintsSz( wSize ) + channelChoiceCtrl.SetSizeHints( wSize ) channelChoiceCtrl.SetSelection( ix ) channelChoiceCtrl.Bind(wx.EVT_CHOICE, OnChannelChoice) @@ -5231,7 +5219,7 @@ def __call__( self, enableDVBViewer=True, enableDVBService=False, updateDVBServi updateDVBService = updateDVBService ) if not timerDates[0] : - eg.PrintError( "dates not valid" ) + self.PrintError( "dates not valid" ) return False dates = [] @@ -5338,7 +5326,7 @@ def __call__( self, enableDVBViewer=True, enableDVBService=False, updateDVBServi #print "Save" persistFile.Save( None, True ) except Exception, exc: - eg.PrintError( 'Error on adding a task scheduler entry:', unicode(exc) ) + self.PrintError( 'Error on adding a task scheduler entry:', unicode(exc) ) try : ts.Delete( taskName ) except : @@ -5497,9 +5485,9 @@ def ErrorProcessing( e ) : return None else : print "DVBViewer Service errno: ", e.errno, ", http code: ", e.code, - raise + raise e else : - raise + raise e return theurl = 'http://' + self.serviceAddress + '/api/' + interface.lower() + '.html' diff --git a/plugins/DenonSerial/__init__.py b/plugins/DenonSerial/__init__.py index 253bf7f52..d30547b86 100644 --- a/plugins/DenonSerial/__init__.py +++ b/plugins/DenonSerial/__init__.py @@ -357,6 +357,7 @@ class DenonSerial(eg.PluginClass): def __init__(self): self.serial = None + self.readerkiller = None group = self for cmd_name, cmd_text, cmd_cmd, cmd_rangespec in cmdList: @@ -398,7 +399,10 @@ def reader(self): line = "" parmre = re.compile('(.+?)([0-9]{2,3})$') while self.readerkiller is False: - ch = self.serial.read() + try: + ch = self.serial.read() + except pywintypes.error: + ch = '' if ch == '\r': m = parmre.match(line) if m is not None: diff --git a/plugins/DesktopRemote/__init__.py b/plugins/DesktopRemote/__init__.py index d0ac91537..599b6218f 100644 --- a/plugins/DesktopRemote/__init__.py +++ b/plugins/DesktopRemote/__init__.py @@ -93,9 +93,9 @@ def SetValue(self, value): self.value = value if value and self.view: stream = StringIO(b64decode(value)) - image = wx.ImageFromStream(stream) + image = wx.Image(stream) stream.close() - boxWidth, boxHeight = self.view.GetClientSizeTuple() + boxWidth, boxHeight = self.view.GetClientSize() width, height = image.GetSize() if width > boxWidth: height *= 1.0 * boxWidth / width @@ -104,7 +104,7 @@ def SetValue(self, value): width *= 1.0 * boxHeight / height height = boxHeight image.Rescale(width, height) - bmp = wx.BitmapFromImage(image) + bmp = wx.Bitmap(image) self.view.SetBitmap(bmp) self.view.SetClientSize((boxWidth, boxHeight)) @@ -471,11 +471,11 @@ def __init__(self, parent, plugin): self.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown) self.menu = menu = wx.Menu() - item = wx.MenuItem(menu, wx.NewId(), "Hide") - menu.AppendItem(item) + item = wx.MenuItem(menu, wx.NewIdRef(), "Hide") + menu.Append(item) menu.Bind(wx.EVT_MENU, self.OnCmdIconize, item) - item = wx.MenuItem(menu, wx.NewId(),"Close") - menu.AppendItem(item) + item = wx.MenuItem(menu, wx.NewIdRef(), "Close") + menu.Append(item) menu.Bind(wx.EVT_MENU, self.OnCmdClose, item) @@ -588,14 +588,14 @@ def GetOption(name): else: if image: stream = StringIO(b64decode(image)) - bmp = wx.BitmapFromImage(wx.ImageFromStream(stream)) + bmp = wx.Bitmap(wx.Image(stream)) stream.close() button = GenBitmapButton(panel, -1, bmp, size=size) button.SetLabel(label) else: button = GenButton(panel, -1, label, size=size) button.SetFont( - wx.FontFromNativeInfoString(GetOption("fontInfo")) + wx.Font(GetOption("fontInfo")) ) button.SetBezelWidth(3) diff --git a/plugins/E-mail/__init__.py b/plugins/E-mail/__init__.py index 0c235980a..295dc18ce 100644 --- a/plugins/E-mail/__init__.py +++ b/plugins/E-mail/__init__.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -version = "0.1.9" - # This file is part of EventGhost. # Copyright (C) 2008-2013 Pako # @@ -22,14 +20,20 @@ # # Changelog (in reverse chronological order): # ------------------------------------------- -# 0.1.9 (2018-02-03) by topix +# 0.2.1 (2019-01-20) by topix +# - outgoing server was not saved for an account in plugin config +# 0.2.0 (2018-10-21) by topix +# - code cleanup +# - code changes for wxPython 4.0 (some UI redesigning) +# - compatibility with EG 0.4 and 0.5 (wxPython 3 and wxPython 4) +# 0.1.9 (2018-02-03) by topix # - some changes for EG0.5 because wxPython 3.0 handles some sizer # related things differently. # 0.1.8 by Pako 2013-03-25 08:42 UTC+1 # - added wx.ComboBox for event suffix (action "Start observation") -#=============================================================================== -#Structure of setup/account (one record): -#----------------------------------------- +# =============================================================================== +# Structure of setup/account (one record): +# ----------------------------------------- # labelCtrl 0 # choiceType 1 # userNameCtrl 2 @@ -43,56 +47,60 @@ # useSecureCtrl 10 # userPasswordCtrl 11 -#SMTP servers structure (one record): -#------------------------------------- -#[0] = servName -#[1] = servAddress -#[2] = port -#[3] = secConnect -#[4] = secAutent -#[5] = userName -#[6] = userPassw - -#texts structure (one record): [txtName, txt] - -#groups structure (one record): [groupName, [list of addresses]] - -#tempData structure (one record): -#-------------------------------- -#[0] observName -#[1] last count -#[2] array of messages: [id, subject, from, account,numAbs,numAccount], [], ... -#[3] Work thread -#[4] Notification Frame -#Empty record:['', 0, [], None, None] +# SMTP servers structure (one record): +# ------------------------------------- +# [0] = servName +# [1] = servAddress +# [2] = port +# [3] = secConnect +# [4] = secAutent +# [5] = userName +# [6] = userPassw + +# texts structure (one record): [txtName, txt] + +# groups structure (one record): [groupName, [list of addresses]] + +# temp_data structure (one record): +# -------------------------------- +# [0] observ_name +# [1] last count +# [2] array of messages: [id, subject, from, account,numAbs,numAccount], [], ... +# [3] Work thread +# [4] Notification Frame +# Empty record:['', 0, [], None, None] # Configs (Start observation) structure (one record): -#---------------------------------------------------- -#[0]=observName = string -#[1]=interval - integer -#[2]=[accounts] - list -#[3]=event name - string -#[4]=mode - integer (0-2) -#[5]=filter[[integer,integer,string],[],[],[],[],[],...] -#[6]=show notif window - boolean -#[7]=trigger event - boolean -#[8]=attach payload - integer (0, 1) -#[9]=Background Colour -#[10]=Foreground Colour -#[11]=trigger event2 - boolean -#[12]=event name2 - string -#[13]=attach payload2 - integer (0, 1, 2, 3) -#[14]=delete event - boolean -#=============================================================================== +# ---------------------------------------------------- +# [0]=observ_name = string +# [1]=interval - integer +# [2]=[accounts] - list +# [3]=event name - string +# [4]=mode - integer (0-2) +# [5]=filter[[integer,integer,string],[],[],[],[],[],...] +# [6]=show notif window - boolean +# [7]=trigger event - boolean +# [8]=attach payload - integer (0, 1) +# [9]=Background Colour +# [10]=Foreground Colour +# [11]=trigger event2 - boolean +# [12]=event name2 - string +# [13]=attach payload2 - integer (0, 1, 2, 3) +# [14]=delete event - boolean +# =============================================================================== + +import eg + +__version__ = "0.2.1" eg.RegisterPlugin( - name = "E-mail", - author = "Pako", - version = version, - kind = "other", - guid = "{8BEB93CE-242E-46B5-A17A-D9737D362E1E}", - createMacrosOnAdd = True, - icon = ( + name="E-mail", + author="Pako", + version=__version__, + kind="other", + guid="{8BEB93CE-242E-46B5-A17A-D9737D362E1E}", + createMacrosOnAdd=True, + icon=( "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAADAFBMVEX////KysqhoaGA" "gIA+Pj4AAABVVVWfn5+2traPj48pKSkVFRUQEBALCwsGBgYNDQ0kJCRxcXG7u7ucnJwf" "Hx8aGhpkZGTS0tLc3NxhYWEXFxeDg4OkpKTAwMCwsLCZmZkiIiIICAgsLCyXl5fX19dX" @@ -122,3334 +130,23 @@ "sV2j1Wx75a/nvKb5M2242d/l0nfc3ptSLNOAFnqa1x9OV8G/O1M0GpLUB68AAAAASUVO" "RK5CYII=" ), - description = ( - "Adds E-mail actions." + description=( + "Trigger events on incoming mail (global or filtered) and an action for sending eMails." ), - url = "http://www.eventghost.net/forum/viewtopic.php?f=9&t=1168", + url="http://www.eventghost.org/forum/viewtopic.php?f=9&t=1168", ) -from wx.lib.intctrl import IntCtrl as intCtrl -from threading import Thread, Event -from threading import enumerate as threnum -import time -import re -from copy import deepcopy as cpy -from eg.WinApi.Dynamic import BringWindowToTop, CreateEvent, SetEvent -import _winreg, os, win32api -import poplib, imaplib, smtplib -from email.header import decode_header -from email.Header import Header -from email.MIMEText import MIMEText -from email.Utils import parseaddr, formataddr,formatdate -import email.Parser as parser -myParser = parser.Parser() -#=============================================================================== - -def SendCfg( - self, - panel, - sbjct, - From, - To, - Copy, - Txt, - Append, - toName, - text, - plugin - ): - self.plugin = plugin - subjectLbl=wx.StaticText(panel, -1, text.subjectLabel) - subjectCtrl=wx.TextCtrl(panel,-1,sbjct) - fromLbl=wx.StaticText(panel, -1, text.fromLabel) - choices = ["%s <%s> - %s" % (item[2],item[3],item[0]) for item in self.plugin.configs] - fromCtrl=wx.Choice(panel,-1,choices = choices) - fromCtrl.SetStringSelection(From) - toLbl=wx.StaticText(panel, -1, text.toLabel) - toNameCtrl=wx.TextCtrl(panel,-1,toName) - toCtrl=wx.TextCtrl(panel,-1,To) - copyLbl=wx.StaticText(panel, -1, text.copyLabel) - choices = [''] - choices.extend([item[0] for item in self.plugin.groups]) - copyCtrl=wx.Choice(panel,-1,choices = choices) - copyCtrl.SetStringSelection(Copy) - textLbl=wx.StaticText(panel, -1, text.outText) - outTextCtrl=wx.TextCtrl( - panel,-1,'',size=(-1, 60), - style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER|wx.HSCROLL|wx.TE_AUTO_URL|wx.TE_RICH2 - ) - outTextCtrl.SetValue(Txt) - textsLbl=wx.StaticText(panel, -1, text.outTexts) - choices = [''] - choices.extend([item[0] for item in self.plugin.texts]) - textsCtrl=wx.ComboBox(panel, -1, choices = choices, size = (200,-1)) - textsCtrl.SetValue(Append) - toNameCtrl.SetToolTipString(text.tip1+'.\n'+text.tip) - toCtrl.SetToolTipString(text.tip2+'.\n'+text.tip) - outTextCtrl.SetToolTipString(text.tip) - subjectCtrl.SetToolTipString(text.tip) - textsCtrl.SetToolTipString(text.tip) - - topSizer = wx.GridBagSizer(5, 5) - topSizer.Add(subjectLbl,(0, 0),flag = wx.ALIGN_RIGHT) - topSizer.Add(subjectCtrl, (0, 1), (1, 2), flag = wx.EXPAND) - topSizer.Add(fromLbl,(1, 0),flag = wx.ALIGN_RIGHT) - topSizer.Add(fromCtrl, (1, 1), (1, 2), flag = wx.EXPAND) - topSizer.Add(toLbl,(2, 0),flag = wx.ALIGN_RIGHT) - topSizer.Add(toNameCtrl, (2, 1), flag = wx.EXPAND) - topSizer.Add(toCtrl, (2, 2), flag = wx.EXPAND) - topSizer.Add(copyLbl,(3, 0),flag = wx.ALIGN_RIGHT) - topSizer.Add(copyCtrl, (3, 1), (1, 2), flag = wx.EXPAND) - topSizer.Add(textLbl,(4, 0), flag = wx.ALIGN_RIGHT) - topSizer.Add(outTextCtrl, (4, 1), (1, 2), flag = wx.EXPAND) - topSizer.Add(textsLbl,(5, 0),flag = wx.ALIGN_RIGHT) - topSizer.Add(textsCtrl, (5, 1), (1, 2), flag = wx.EXPAND) - topSizer.AddGrowableCol(1) - topSizer.AddGrowableCol(2) - topSizer.AddGrowableRow(4) - - return (subjectCtrl, - fromCtrl, - toCtrl, - copyCtrl, - outTextCtrl, - textsCtrl, - toNameCtrl, - topSizer - ) - -#=============================================================================== - -def validateEmailAddr(emailAddr): - if len(emailAddr) > 5: - if re.match( - r"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", - emailAddr - ) != None: - return True - return False - - -def DecodeSection(section, coding=None): - if coding: - List = (coding, 'utf-8', 'iso-8859-1', 'us-ascii') - else: - List = ('utf-8', 'iso-8859-1', 'us-ascii') - for charset in List: - try: - section = section.decode(charset,'strict') -# except UnicodeError: - except: - pass - else: - return section.strip(' "') - - for charset in List: - try: - section = section.decode(charset,'replace') -# except UnicodeError: - except: - pass - else: - return section.strip(' "') - return u'' - - -def ParseItem(item): - x = decode_header(item)[0] - if x[1]: - return DecodeSection(x[0],x[1]) - else: - return x[0] - - -def ParseAddress(item): - parseAddr = parseaddr(item) - if parseAddr[0] == '': - return parseAddr[1] - decAddr = decode_header(parseAddr[0])[0] - if not decAddr[1]: - return parseAddr[0] - else: - return DecodeSection(decAddr[0], decAddr[1]) -#=============================================================================== - -def GetParts(msg, ext = False): - from email.Iterators import typed_subpart_iterator - partCounter=0 - bodyText=[] - def get_charset(part, default="ascii"): - """Get the part charset""" - if part.get_content_charset(): - return part.get_content_charset() - if part.get_charset(): - return part.get_charset() - return default - - def get_body(message): - """Get the body of the email message""" -#ToDo : option choice for html part viewing - if message.is_multipart(): - #get the text (plain or html) version only - text_parts = [part -# for part in typed_subpart_iterator(message, -# 'text', -# 'plain')] - for part in typed_subpart_iterator(message, 'text')] - body = [] - for part in text_parts: - charset = get_charset(part, get_charset(message)) - try: - body.append(unicode(part.get_payload(decode=True), - charset, - "replace")) - except: - body.append(unicode(part.get_payload(decode=True), - 'us-ascii', - "replace")) - return u"\n".join(body).strip()+u"\n" - - else: # if it is not multipart, the payload will be a string - # representing the message body - try: - body = unicode(message.get_payload(decode=True), - get_charset(message), - "replace") - except: - body = unicode(message.get_payload(decode=True), - 'us-ascii', - "replace") - return body.strip()+u"\n" - - if not ext: - return [ParseItem(msg['Subject']),msg['From'], get_body(msg)] - else: - return [ - ParseItem(msg['Subject']), - msg['From'], - get_body(msg), - None, - None, - msg['References'], - msg['Reply-To'], - msg['Message-ID'], - msg['X-Original-To'] if msg.has_key('X-Original-To') else parseaddr(msg['To'])[1], - ] -#=============================================================================== - -def RunEmailClient(text): - """Get the path of default email client through querying the - Windows registry. """ - try: - em_reg = _winreg.OpenKey( - _winreg.HKEY_CLASSES_ROOT, - "\\mailto\\shell\\open\\command" - ) - EmPath = _winreg.EnumValue(em_reg,0)[1] - _winreg.CloseKey(em_reg) - EmPath = EmPath.split('"')[1] - except: - eg.PrintError(text.error9) - else: - head, tail = os.path.split(EmPath) - win32api.ShellExecute( - 0, - None, - tail, - None, - head, - 1 - ) -#=============================================================================== - -def Move(lst,index,direction): - tmpList = lst[:] - max = len(lst)-1 - #Last to first position, other down - if index == max and direction == 1: - tmpList[1:] = lst[:-1] - tmpList[0] = lst[max] - index2 = 0 - #First to last position, other up - elif index == 0 and direction == -1: - tmpList[:-1] = lst[1:] - tmpList[max] = lst[0] - index2 = max - else: - index2 = index+direction - tmpList[index] = lst[index2] - tmpList[index2] = lst[index] - return index2,tmpList -#=============================================================================== - -class MessageFrame(wx.MiniFrame): - def __init__(self, parent, message): - self.message = message - self.setup = parent.setup - wx.MiniFrame.__init__( - self, - None, - -1, - '', - size=(-1, -1), - style=wx.CAPTION|wx.RESIZE_BORDER - ) - self.parent = parent - self.plugin = parent.plugin - self.SetBackgroundColour(wx.NullColour) - self.id = self.plugin.tempData[self.message[3]][2][int(self.message[4][0])-1][0] - - def ShowMessageFrame( - self, position, size - ): - - text = self.plugin.text - self.setTitle() - mainSizer = wx.BoxSizer(wx.VERTICAL) - centralSizer = wx.GridBagSizer(10, 10) - centralSizer.AddGrowableRow(0) - centralSizer.AddGrowableCol(1) - centralSizer.AddGrowableCol(3) - centralSizer.AddGrowableCol(5) - self.messageCtrl = wx.TextCtrl( - self, - -1, - '', #wx.TE_AUTO_URL not works - style=wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL|wx.TE_AUTO_URL|wx.TE_RICH2 - ) - self.messageCtrl.SetValue(self.message[2]) #wx.TE_AUTO_URL activation - #Buttons - sizes = [] - sizes.append(self.GetTextExtent(text.delete)[0]) - sizes.append(self.GetTextExtent(text.client)[0]) - sizes.append(self.GetTextExtent(text.reply)[0]) - sizes.append(self.GetTextExtent(text.close)[0]) - w=max(sizes)+12 - self.deleteButton = wx.Button(self, -1, text.delete, size=((w,-1))) - self.clientButton = wx.Button(self, -1, text.client, size=((w,-1))) - self.replyButton = wx.Button(self, -1, text.reply, size=((w,-1))) - self.closeButton = wx.Button(self, -1, text.close, size=((w,-1))) - centralSizer.Add(self.messageCtrl, (0,0),(1,7), flag = wx.EXPAND) - centralSizer.Add(self.deleteButton,(1,0), flag = wx.ALIGN_LEFT|wx.BOTTOM,border = 10) - centralSizer.Add(self.clientButton,(1,2), flag = wx.ALIGN_CENTER_HORIZONTAL) - centralSizer.Add(self.replyButton,(1,4), flag = wx.ALIGN_CENTER_HORIZONTAL) - centralSizer.Add(self.closeButton,(1,6), flag = wx.RIGHT) - mainSizer.Add(centralSizer, 1,wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP,10) - self.SetSizer(mainSizer) - mainSizer.Fit(self) - mainSizer.Layout() - - def onURLclick(event): - if event.MouseEvent.LeftDown(): - url = event.GetEventObject().GetValue()[event.GetURLStart(): event.GetURLEnd()] - wx.LaunchDefaultBrowser(url) - else: - event.Skip() - self.messageCtrl.Bind(wx.EVT_TEXT_URL,onURLclick) - - def OnCloseWindow(event): - self.parent.messFramSize = self.GetSize() - self.parent.messFramPosition = self.GetPosition() - self.Destroy() - event.Skip() - self.Bind(wx.EVT_CLOSE, OnCloseWindow) - - def onCloseButton(evt): - self.Close(True) - self.closeButton.Bind(wx.EVT_BUTTON, onCloseButton) - - def onClientButton(evt): - RunEmailClient(text) - self.clientButton.Bind(wx.EVT_BUTTON, onClientButton) - - def onReplyButton(evt): - addressList = [item[3] for item in self.plugin.configs] - if self.message[8] in addressList: - indx = addressList.index(self.message[8]) - else: - indx = 0 - From = ["%s <%s> - %s" % (item[2],item[3],item[0]) for item in self.plugin.configs][indx] - sbjct = u"Re: "+self.message[0] - replAddr = parseaddr(self.message[6]) - fromAddr = parseaddr(self.message[1]) - if replAddr[1] != '': - To = replAddr[1] - else: - To = fromAddr[1] - if replAddr[0] != '': - toName = ParseAddress(self.message[6]) - elif fromAddr[0] != '': - toName = ParseAddress(self.message[1]) - else: - toName = '' - #if self.message[5] is None: - body = self.message[2].split('\n') - sender = ParseAddress(self.message[1]) - reBody = [text.wrote % sender] - reBody.append('') - for line in body: - reBody.append('> '+line) - reBody = u'\n'.join(reBody) - - myDlg = SendMailDlg(parent = self) - myDlg.ShowSendMailDlg( - sbjct=sbjct, - From = From, - To = To, - Txt = reBody, - toName = toName, - text = SendEmail.text, - plugin = self.plugin, - references = self.message[5], - messageID = self.message[7], - ) - self.replyButton.Bind(wx.EVT_BUTTON, onReplyButton) - - def onDeleteButton(evt): - wx.CallAfter(self.parent.deleteEmails,self.message[3], self.message[4], True) - self.messageCtrl.ChangeValue('') - self.parent.Refresh() - time.sleep(1) - self.Close(True) - self.deleteButton.Bind(wx.EVT_BUTTON, onDeleteButton) - - self.SetMinSize(self.GetSize()) - self.SetSize(size) - self.SetPosition(position) - self.Show(True) - - def getEmailNum(self): - return self.message[4][0] - - def setTitle(self): - title = ('%s-%s | %s: %s' % ( - self.setup[0], - self.message[4][0], - ParseAddress(self.message[1]), - self.message[0] - )) - if len(title) > 68: - title = title[:65]+'...' - self.SetTitle(title) - - def Unblock(self, unblock): - if unblock: - data = self.plugin.tempData[self.message[3]][2] - try: - ix = [item[0] for item in data].index(self.id) - self.message[4][0] = data[ix][4] - self.setTitle() - except: - self.Close(True) - colour = self.GetForegroundColour() - else: - colour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT) - self.messageCtrl.SetForegroundColour(colour) - self.deleteButton.Enable(unblock) - self.clientButton.Enable(unblock) - self.closeButton.Enable(unblock) - self.Refresh() - self.Enable(unblock) -#=============================================================================== - -class DetailsFrame(wx.MiniFrame): - messageFrame = None - messFramSize = (-1, -1) - messFramPosition = (-1, -1) - - def __init__(self, parent): - self.parent = parent - self.plugin = parent.plugin - self.passINC = self.plugin.passINC - self.setup = parent.setup - wx.MiniFrame.__init__( - self, - None, - -1, - size=(-1, -1), - style=wx.CAPTION|wx.RESIZE_BORDER - ) - self.SetBackgroundColour(wx.NullColour) - self.menuFlagS = False - self.menuFlagD = False - self.delFlag = False - - - def ShowDetailsFrame( - self, - position, - size - ): - self.text = self.plugin.text - mainSizer = wx.BoxSizer(wx.VERTICAL) - centralSizer = wx.GridBagSizer(10, 10) - centralSizer.AddGrowableRow(0) - centralSizer.AddGrowableCol(1) - centralSizer.AddGrowableCol(3) - centralSizer.AddGrowableCol(5) - centralSizer.AddGrowableCol(7) - self.messagesListCtrl = wx.ListCtrl(self, -1, style=wx.LC_REPORT | wx.VSCROLL | wx.HSCROLL) - for i, labelsDetails in enumerate(self.text.labelsDetails): - self.messagesListCtrl.InsertColumn( - i, - labelsDetails, - ) - centralSizer.Add(self.messagesListCtrl, (0,0),(1,9), flag = wx.EXPAND) - - #Buttons - sizes = [] - sizes.append(self.GetTextExtent(self.text.show)[0]) - sizes.append(self.GetTextExtent(self.text.delete)[0]) - sizes.append(self.GetTextExtent(self.text.refresh)[0]) - sizes.append(self.GetTextExtent(self.text.client)[0]) - sizes.append(self.GetTextExtent(self.text.close)[0]) - w=max(sizes)+12 - self.showButton = wx.Button(self, -1, self.text.show,size=((w,-1))) - self.deleteButton = wx.Button(self, -1, self.text.delete,size=((w,-1))) - self.refreshButton = wx.Button(self, -1, self.text.refresh,size=((w,-1))) - self.clientButton = wx.Button(self, -1, self.text.client,size=((w,-1))) - self.closeButton = wx.Button(self, -1, self.text.close,size=((w,-1))) - centralSizer.Add(self.showButton,(1,0), flag = wx.ALIGN_LEFT|wx.BOTTOM,border = 10) - centralSizer.Add(self.deleteButton,(1,2), flag = wx.ALIGN_CENTER_HORIZONTAL) - centralSizer.Add(self.refreshButton,(1,4), flag = wx.ALIGN_CENTER_HORIZONTAL) - centralSizer.Add(self.clientButton,(1,6), flag = wx.ALIGN_CENTER_HORIZONTAL) - centralSizer.Add(self.closeButton,(1,8), flag = wx.ALIGN_RIGHT) - self.messagesListCtrl.Bind(wx.EVT_COMMAND_RIGHT_CLICK, self.OnRightClick) - self.messagesListCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.ListSelection) - self.messagesListCtrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.ListSelection) - - def OnSize(event): - self.messagesListCtrl.SetColumnWidth(6, wx.LIST_AUTOSIZE_USEHEADER) - event.Skip() - - self.Refresh() - self.Bind(wx.EVT_SIZE, OnSize) - mainSizer.Add(centralSizer, 1,wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP,10) - self.SetSizer(mainSizer) - mainSizer.Fit(self) - sizes = (40,75,200,200) - for i in range(4): - self.messagesListCtrl.SetColumnWidth(i, sizes[i]) - mainSizer.Layout() - - def OnCloseWindow(event): - self.parent.detFramePosition = self.GetPosition() - self.parent.detFrameSize = self.GetSize() - if self.messageFrame: - self.messageFrame.Close() - self.Destroy() - event.Skip() - - self.Bind(wx.EVT_CLOSE, OnCloseWindow) - self.closeButton.Bind(wx.EVT_BUTTON, self.onCloseButton) - self.deleteButton.Bind(wx.EVT_BUTTON, self.onDeleteButton) - self.clientButton.Bind(wx.EVT_BUTTON, self.onClientButton) - self.showButton.Bind(wx.EVT_BUTTON, self.onShowButton) - self.refreshButton.Bind(wx.EVT_BUTTON, self.onRefresh) - self.messagesListCtrl.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onShowButton) #Doubleclick - self.SetMinSize((565,160)) - self.SetSize(size) - self.SetPosition(position) - self.Show(True) - - def onRefresh(self,evt): - self.Unblock(False) - indx = [i[0] for i in self.plugin.tempData].index(self.setup[0]) - wt = self.plugin.tempData[indx][3] - wt.operate(True) - evt.Skip() - - def onShowButton(self, evt): - item = self.messagesListCtrl.GetFirstSelected() - nbr = self.messagesListCtrl.GetItemText(item) - sel=[nbr] - indx = [i[0] for i in self.plugin.tempData].index(self.setup[0]) - message = self.RealizeAction(indx, sel, 1) # 1 ~ mode 'show' - if message: - if self.messageFrame: - self.messageFrame.Close() - self.messageFrame = MessageFrame( - parent = self, - message = message, - ) - wx.CallAfter( - self.messageFrame.ShowMessageFrame, - position = self.messFramPosition, - size = self.messFramSize, - ) - evt.Skip() - - def onCloseButton(self, evt): - self.Close(True) - - def deleteEmails(self, indx, sel, close = False): - self.delFlag = True - if close: - self.messageFrame.Close() - else: - if self.messageFrame: - num = self.messageFrame.getEmailNum() - rec = self.plugin.tempData[indx][2][int(num)-1] - if num in sel or rec[0] == rec[2]: - self.messageFrame.Close() - else: - self.messageFrame.Enable(False) - self.Unblock(False) - wt = self.plugin.tempData[indx][3] - wt.DeleteAction((indx, sel, 0,self)) - - def onDeleteButton(self, evt): - item = self.messagesListCtrl.GetFirstSelected() - sel = [] - while item != -1: - nbr = self.messagesListCtrl.GetItemText(item) - sel.append(nbr) - item = self.messagesListCtrl.GetNextSelected(item) - indx = [i[0] for i in self.plugin.tempData].index(self.setup[0]) - self.deleteEmails(indx, sel) - evt.Skip() - - def onClientButton(self, evt): - RunEmailClient(self.text) - - def ListSelection(self, event=None): - if self.messageFrame: - self.messageFrame.Raise() - self.menuFlagS = self.messagesListCtrl.GetSelectedItemCount() == 1 - self.showButton.Enable(self.menuFlagS) - self.menuFlagD = self.messagesListCtrl.GetFirstSelected() != -1 - self.deleteButton.Enable(self.menuFlagD) - if event: - event.Skip() - - def Disappear(self): - if self.delFlag: - self.Show(False) - else: - self.Close() - - def resDelFlag(self): - self.delFlag = False - - def isCloseReq(self): - return self.delFlag and not self.IsShown() - - def Refresh(self, event=None): - observName = self.setup[0] - indx = [item[0] for item in self.plugin.tempData].index(observName) - self.messagesListCtrl.DeleteAllItems() - row = 0 - for item in self.plugin.tempData[indx][2]: - self.messagesListCtrl.InsertStringItem(row, item[4]) - self.messagesListCtrl.SetStringItem(row, 1,item[3]) - self.messagesListCtrl.SetStringItem(row, 2, item[1]) - self.messagesListCtrl.SetStringItem(row, 3, item[2]) - row += 1 - self.SetTitle(self.plugin.text.detTitle % (self.setup[0],str(row))) - label = self.parent.GetNum() - if label != row: - self.parent.SetNum(row) - self.Unblock(True) - self.ListSelection() - - def Unblock(self, unblock): - if unblock: - colour = self.GetForegroundColour() - else: - colour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT) - self.messagesListCtrl.SetTextColour(colour) - self.deleteButton.Enable(unblock) - self.refreshButton.Enable(unblock) - self.clientButton.Enable(unblock) - self.closeButton.Enable(unblock) - self.showButton.Enable(unblock) - self.messagesListCtrl.Refresh() - self.Enable(unblock) - if self.messageFrame: - self.messageFrame.Unblock(unblock) - - def OnRightClick(self, event): - if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() - self.popupID2 = wx.NewId() - self.popupID3 = wx.NewId() - self.popupID4 = wx.NewId() - self.popupID5 = wx.NewId() - self.Bind(wx.EVT_MENU, self.onShowButton, id=self.popupID1) - self.Bind(wx.EVT_MENU, self.onDeleteButton, id=self.popupID2) - self.Bind(wx.EVT_MENU, self.onRefresh, id=self.popupID3) - self.Bind(wx.EVT_MENU, self.onClientButton, id=self.popupID4) - self.Bind(wx.EVT_MENU, self.onCloseButton, id=self.popupID5) - # make a menu - menu = wx.Menu() - # add some items - if self.menuFlagS: - menu.Append(self.popupID1, self.text.popup[0]) - if self.menuFlagD: - menu.Append(self.popupID2, self.text.popup[1]) - menu.Append(self.popupID3, self.text.popup[2]) - menu.Append(self.popupID4, self.text.popup[3]) - menu.Append(self.popupID5, self.text.popup[4]) - # Popup the menu. If an item is selected then its handler - # will be called before PopupMenu returns. - self.PopupMenu(menu) - menu.Destroy() - - def RealizeAction(self, indx, sel, mode): - obsData = self.plugin.tempData[indx][2] - observName = self.plugin.tempData[indx][0] - resultMessage = None - oldAccount = '' - m = len(sel)-1 - item = sel[m] - ix = [i[4] for i in obsData].index(item) - iac = [cfg[0] for cfg in self.plugin.configs].index(obsData[ix][3]) - account = self.plugin.configs[iac] - while m > -1: - while oldAccount == account: - id = obsData[ix][5] - if account[1] == 0: #POP3 - lst = mailbox.list()[1] - cnt = len(lst) - if cnt >= int(id): - MAXLINES=100 #ToDo : MAXLINES choice - if mode == 0: - MAXLINES = 0 #Delete -> not need read - resp, txt, octets = mailbox.top(id, MAXLINES) - if resp != '+OK': - resp, txt, octets = mailbox.retr(id) - txt = "\n".join(txt) - msg=myParser.parsestr(txt) - if msg.has_key('Message-Id'): - messId = msg['Message-Id'] - else: - messId = ParseAddress(msg['From']) - if messId == obsData[ix][0]: - if mode == 1: - resultMessage = GetParts(msg, True) - resultMessage[3] = indx - resultMessage[4] = sel - else: #mode = 0 ~ delete - mailbox.dele(id) - - else: #IMAP - typ, txt = mailbox.select('INBOX') #Folder selection - if txt[0]: - if mode == 1: - typ, txt = mailbox.fetch(id, '(RFC822)') - mailbox.store(id, "-FLAGS", '(\Seen)') #Reset UNSEEN flag - else: - typ, txt = mailbox.fetch(id, '(RFC822.HEADER)') - txt = txt[0][1] - msg = myParser.parsestr(txt) - if msg.has_key('Message-Id'): - messId = msg['Message-Id'] - else: - messId = ParseAddress(msg['From']) - if messId == obsData[ix][0]: - if mode == 1: - resultMessage = GetParts(msg, True) - resultMessage[3] = indx - resultMessage[4] = sel - else: #mode = 0 ~ delete - mailbox.store(id, "+FLAGS", '(\Deleted)') - m -= 1 - if m == -1: - break - else: - item = sel[m] - ix = [i[4] for i in obsData].index(item) - iac = [cfg[0] for cfg in self.plugin.configs].index(obsData[ix][3]) - account = self.plugin.configs[iac] - - if oldAccount != '': - if account[1] == 0: #POP - mailbox.quit() - else: #IMAP - mailbox.expunge() - mailbox.logout() - if m == -1: - break - Error = True - while Error: - oldAccount = account - SERVER = account[5] - PORT = account[6] - USER = account[7] - PASSWORD = self.passINC.data[account[0]] - USE_SSL = account[9] == 3 - Error = False - if account[1] == 0: #POP - try: - if USE_SSL: - mailbox = poplib.POP3_SSL(SERVER, PORT) - else: - mailbox = poplib.POP3(SERVER, PORT) - except: - eg.PrintError(self.text.error0+' '+self.text.error1 % (SERVER,PORT)) - Error = True - else: - #mailbox.set_debuglevel(5) - try: - mailbox.user(USER) - mailbox.pass_(PASSWORD) - except poplib.error_proto, errmsg: - eg.PrintError(self.text.error0+' '+str(errmsg)) - Error = True - mailbox.quit() - - else: #IMAP - try: - if USE_SSL: - mailbox = imaplib.IMAP4_SSL(SERVER, PORT) - else: - mailbox = imaplib.IMAP4(SERVER, PORT) - except: - eg.PrintError(self.text.error2+' '+self.text.error3 % (SERVER,PORT)) - Error = True - else: - try: - mailbox.login(USER, PASSWORD) - except: - eg.PrintError(self.text.error2+' '+self.text.error4 % (USER, SERVER, PORT)) - Error = True - mailbox.logout() - if Error: - while oldAccount == account: - m -= 1 - if m == -1: - Error = False - break - else: - item = sel[m] - ix = [i[4] for i in obsData].index(item) - iac = [cfg[0] for cfg in self.plugin.configs].index(obsData[ix][3]) - account = self.plugin.configs[iac] - - return resultMessage -#=============================================================================== - -class NotifFrame(wx.MiniFrame): - detailsFrame = None - detFramePosition = (-1,-1) - detFrameSize = (-1,-1) - - def __init__(self, parent): - wx.MiniFrame.__init__( - self, - parent, - -1, - '', - size = (120, 60), - style = wx.STAY_ON_TOP|wx.CAPTION - ) - - def ShowNotifFrame( - self, - plugin, - stp, - event=None - ): - self.plugin = plugin - self.setup = stp - self.SetTitle(' '+self.setup[0]) - self.SetBackgroundColour(self.setup[9]) - self.SetForegroundColour(self.setup[10]) - text = self.plugin.text - tip = text.tip0 - self.label = wx.StaticText(self, -1, '') - label2 = wx.StaticText(self,-1,text.notifLabel) - font = self.label.GetFont() - font.SetPointSize(20) - self.label.SetFont(font) - w = self.label.GetTextExtent(' 888 ')[0] - self.label.SetPosition((0,1)) - label2.SetPosition((w,4)) - self.label.SetToolTipString(tip) - label2.SetToolTipString(tip) - self.Refresh() - - def OnCloseWindow(event): - if self.detailsFrame: - self.detailsFrame.Disappear() - self.Destroy() - event.Skip() - self.Bind(wx.EVT_CLOSE, OnCloseWindow) - - def OnDoubleClick(evt): - if evt.ControlDown(): #with CTRL - RunEmailClient(text) - else: #without CTRL - if self.detailsFrame: - BringWindowToTop(self.detailsFrame.GetHandle()) - else: - self.detailsFrame = DetailsFrame(parent = self) - wx.CallAfter( - self.detailsFrame.ShowDetailsFrame, - position = self.detFramePosition, - size = self.detFrameSize - ) - - self.Bind(wx.EVT_LEFT_DCLICK, OnDoubleClick) - self.label.Bind(wx.EVT_LEFT_DCLICK, OnDoubleClick) - label2.Bind(wx.EVT_LEFT_DCLICK, OnDoubleClick) - - def OnRightClick(evt): - if self.detailsFrame: - self.detailsFrame.Disappear() - self.Show(False) - self.Bind(wx.EVT_RIGHT_UP, OnRightClick) - self.label.Bind(wx.EVT_RIGHT_UP, OnRightClick) - label2.Bind(wx.EVT_RIGHT_UP, OnRightClick) - BringWindowToTop(self.GetHandle()) - wx.Yield() - SetEvent(event) - - def Disappear(self, close=False): - if self.detailsFrame: - self.detailsFrame.Disappear() - if not close: - self.Show(False) - else: - self.Close() - - def GetNum(self): - return int(self.label.GetLabel()) - - def SetNum( - self, - label="", - ): - lbl = str(label) - if label<10: - lbl = " %s " % lbl - elif label<100: - lbl = " %s " % lbl - else: - lbl = " %s " % lbl - self.label.SetLabel(lbl) - if self.detailsFrame: - wx.CallAfter(self.detailsFrame.Refresh) -#=============================================================================== - -class outServerDialog(wx.MiniFrame): - oldSel = 0 - def __init__(self, parent, plugin): - wx.MiniFrame.__init__( - self, - parent, - -1, - style=wx.CAPTION, - name="Servers dialog" - ) - self.panel = parent - self.passSMTP = {} - for i,item in list(enumerate(self.panel.passSMTP)): - self.passSMTP[item]=self.panel.passSMTP[item] - self.plugin = plugin - self.servers = cpy(self.panel.servers) - self.cfgs = cpy(self.panel.cfgs) - self.val = self.panel.outServerCtrl.GetStringSelection() - self.SetBackgroundColour(wx.NullColour) -#=============================================================================== - - def ShowOutServDlg(self): - def boxEnable(enable): - labelCtrl.Enable(enable) - labelLbl.Enable(enable) - outServerLbl.Enable(enable) - outServerCtrl.Enable(enable) - outPortLbl.Enable(enable) - outPortCtrl.Enable(enable) - choiceSecureLbl.Enable(enable) - choiceSecureCtrl.Enable(enable) - useSecureCtrl.Enable(enable) - - def setValue(item): - labelCtrl.ChangeValue (item[0]) - outServerCtrl.SetValue(item[1]) - outPortCtrl.SetValue(item[2]) - choiceSecureCtrl.SetSelection(item[3]) - useSecureCtrl.SetValue(item[4]) - userCtrl.SetValue(item[5]) - if item[0] != '' and item[0] in self.passSMTP: - passwCtrl.ChangeValue(self.passSMTP[item[0]]) - else: - passwCtrl.ChangeValue('') - - def validation(): - flag = True - label = labelCtrl.GetValue() - if label == "": - flag = False - else: - if [n[0] for n in self.servers].count(label)!=1: - flag = False - if outServerCtrl.GetValue() == '': - flag = False - if outPortCtrl.GetValue() < 0: - flag = False - if useSecureCtrl.GetValue(): - if userCtrl.GetValue() == '' or passwCtrl.GetValue() == '': - flag = False - btn1.Enable(flag) - btnApp.Enable(flag) - - text = self.plugin.text - self.SetTitle(text.outServerTitle) - sizer = wx.BoxSizer(wx.VERTICAL) - sizer.SetMinSize((450, 308)) - leftSizer = wx.FlexGridSizer(4,2,2,8) - topMiddleSizer=wx.BoxSizer(wx.VERTICAL) - previewLbl=wx.StaticText(self, -1, text.serversList) - listBoxCtrl=wx.ListBox( - self,-1, - size=wx.Size(120,106), - style=wx.LB_SINGLE|wx.LB_NEEDED_SB - ) - labelLbl=wx.StaticText(self, -1, text.servLabel) - labelCtrl=wx.TextCtrl(self,-1,'') - box = wx.StaticBox(self,-1,text.servParam) - rightSizer = wx.StaticBoxSizer(box,wx.VERTICAL) - #Box content - outServerLbl=wx.StaticText(self, -1, text.outServer) - outServerCtrl=wx.TextCtrl(self,-1,'') - outPortLbl=wx.StaticText(self, -1, text.incPort) - outPortCtrl=intCtrl(self,-1,25,size=(50,-1)) - choiceSecureLbl =wx.StaticText(self, -1, text.secureConnectLabel) - choiceSecureCtrl = wx.Choice( - self, - -1, - choices=(text.secureConnectChoice2), - ) - choiceSecureCtrl.SetMaxSize((194,-1)) - useSecureCtrl = wx.CheckBox(self, label = text.useName) - userLbl=wx.StaticText(self, -1, text.userLogin) - userCtrl=wx.TextCtrl(self,-1,'') - userCtrl.SetMaxSize((194,-1)) - passwLbl=wx.StaticText(self, -1, text.userPassword) - passwCtrl=wx.TextCtrl(self,-1,'',style = wx.TE_PASSWORD) - passwCtrl.SetMaxSize((194,-1)) - serverSizer = wx.BoxSizer(wx.HORIZONTAL) - serverSizerL = wx.BoxSizer(wx.VERTICAL) - serverSizerR = wx.BoxSizer(wx.VERTICAL) - serverSizer.Add(serverSizerL,1,wx.EXPAND) - serverSizer.Add(serverSizerR,0,wx.EXPAND|wx.LEFT,5) - serverSizerL.Add(outServerLbl,0,wx.EXPAND) - serverSizerL.Add(outServerCtrl,0,wx.EXPAND) - serverSizerR.Add(outPortLbl,0,wx.EXPAND|wx.LEFT,3) - serverSizerR.Add(outPortCtrl,0,wx.EXPAND) - rightSizer.Add(choiceSecureLbl,0,wx.TOP,5) - rightSizer.Add(choiceSecureCtrl,0,wx.EXPAND|wx.TOP,3) - rightSizer.Add(serverSizer,0,wx.EXPAND|wx.TOP,10) - rightSizer.Add(useSecureCtrl,0,wx.TOP,16) - rightSizer.Add(userLbl,0,wx.TOP,5) - rightSizer.Add(userCtrl,0,wx.EXPAND|wx.TOP|wx.BOTTOM,3) - rightSizer.Add(passwLbl,0,wx.TOP,5) - rightSizer.Add(passwCtrl,0,wx.EXPAND|wx.TOP|wx.BOTTOM,3) - rightSizer.Add((1,3)) - leftSizer.Add(previewLbl,0,wx.TOP,5) - leftSizer.Add((1,1)) - leftSizer.Add(listBoxCtrl,0,wx.TOP,5) - leftSizer.Add(topMiddleSizer,0,wx.TOP,5) - leftSizer.Add(labelLbl,0,wx.TOP,3) - leftSizer.Add((1,1)) - leftSizer.Add(labelCtrl,0,wx.EXPAND) - leftSizer.Add((1,1)) - #Button UP - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (16, 16)) - btnUP = wx.BitmapButton(self, -1, bmp) - btnUP.Enable(False) - topMiddleSizer.Add(btnUP) - #Button DOWN - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_OTHER, (16, 16)) - btnDOWN = wx.BitmapButton(self, -1, bmp) - btnDOWN.Enable(False) - topMiddleSizer.Add(btnDOWN,0,wx.TOP,3) - #Buttons 'Delete' and 'Insert new' - w1 = self.GetTextExtent(text.delete)[0] - w2 = self.GetTextExtent(text.insert)[0] - if w1 > w2: - btnDEL=wx.Button(self,-1,text.delete) - btnApp=wx.Button(self,-1,text.insert,size=btnDEL.GetSize()) - else: - btnApp=wx.Button(self,-1,text.insert) - btnDEL=wx.Button(self,-1,text.delete,size=btnApp.GetSize()) - btnDEL.Enable(False) - topMiddleSizer.Add(btnDEL,0,wx.TOP,5) - topMiddleSizer.Add(btnApp,0,wx.TOP,5) - mainSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer.Add(leftSizer,0,wx.LEFT,10) - mainSizer.Add(rightSizer,0,wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP,14) - sizer.Add(mainSizer,0,wx.TOP,10) - line = wx.StaticLine(self, -1, size=(20,-1),pos = (200,0), style=wx.LI_HORIZONTAL) - btn1 = wx.Button(self, wx.ID_OK) - btn1.SetLabel(text.ok) - btn1.Enable(False) - btn1.SetDefault() - btn2 = wx.Button(self, wx.ID_CANCEL) - btn2.SetLabel(text.cancel) - btnsizer = wx.StdDialogButtonSizer() - btnsizer.AddButton(btn1) - btnsizer.AddButton(btn2) - btnsizer.Realize() - sizer.Add((1,12)) - sizer.Add(line, 0, wx.EXPAND|wx.ALIGN_CENTER|wx.TOP|wx.BOTTOM,5) - sizer.Add(btnsizer, 0, wx.EXPAND|wx.RIGHT, 10) - self.SetSizer(sizer) - sizer.Fit(self) -#=============================================================================== - - def onClose(evt): - self.MakeModal(False) - self.GetParent().GetParent().Raise() - self.Destroy() - self.Bind(wx.EVT_CLOSE, onClose) - - def onCancel(evt): - self.Close() - btn2.Bind(wx.EVT_BUTTON,onCancel) - - def onOK(evt): - self.panel.servers = self.servers - self.panel.cfgs = self.cfgs - self.panel.passSMTP = self.passSMTP - self.panel.outServerCtrl.Clear() - self.panel.outServerCtrl.AppendItems(strings=[n[0] for n in self.servers]) - self.panel.outServerCtrl.SetStringSelection(self.val) - self.panel.validation() - self.Close() - btn1.Bind(wx.EVT_BUTTON,onOK) - - def OnLabelAndPassword(evt): - if self.servers <> []: - srvrs = [item[8] for item in self.cfgs] - oldLbl = listBoxCtrl.GetStringSelection() - sel = self.oldSel - label = labelCtrl.GetValue().strip() - val = passwCtrl.GetValue() - if val != '': - self.passSMTP[label] = val - self.servers[sel][0]=label - if listBoxCtrl.GetStrings().count(oldLbl)==1: - if oldLbl in srvrs: - if self.val == oldLbl: - self.val = label - for item in self.cfgs: - if item[8] == oldLbl: - item[8] = label - listBoxCtrl.Set([n[0] for n in self.servers]) - listBoxCtrl.SetSelection(sel) - validation() - evt.Skip() - labelCtrl.Bind(wx.EVT_TEXT, OnLabelAndPassword) - passwCtrl.Bind(wx.EVT_TEXT, OnLabelAndPassword) - - def onServerName(event): - if self.servers<>[]: - val = outServerCtrl.GetValue().strip() - sel = self.oldSel - self.servers[sel][1] = val - validation() - event.Skip() - outServerCtrl.Bind(wx.EVT_TEXT, onServerName) - - def onPort(event): - if self.servers<>[]: - val = outPortCtrl.GetValue() - sel = self.oldSel - self.servers[sel][2] = val - validation() - event.Skip() - outPortCtrl.Bind(wx.EVT_TEXT, onPort) - - def onSSL(event): - if self.servers<>[]: - ports=(25,587,587,465) - val = choiceSecureCtrl.GetSelection() - port = ports[val] - outPortCtrl.SetValue(port) - sel = self.oldSel - self.servers[sel][2] = port - self.servers[sel][3] = val - validation() - event.Skip() - choiceSecureCtrl.Bind(wx.EVT_CHOICE, onSSL) - - def onCheckbox(event=None): - val = useSecureCtrl.GetValue() - sel = self.oldSel - self.servers[sel][4] = val - userCtrl.Enable(val) - userLbl.Enable(val) - passwCtrl.Enable(val) - passwLbl.Enable(val) - if not val: - userCtrl.SetValue('') - passwCtrl.SetValue('') - validation() - if event: - event.Skip() - useSecureCtrl.Bind(wx.EVT_CHECKBOX,onCheckbox) - - def onUser(event): - if self.servers<>[]: - val = userCtrl.GetValue().strip() - sel = self.oldSel - self.servers[sel][5] = val - validation() - event.Skip() - userCtrl.Bind(wx.EVT_TEXT, onUser) - - def onClick(evt): - sel = listBoxCtrl.GetSelection() - label = labelCtrl.GetValue() - if label.strip() <> "": - if [n[0] for n in self.servers].count(label) == 1: - self.oldSel=sel - item = self.servers[sel] - setValue(item) - listBoxCtrl.SetSelection(self.oldSel) - listBoxCtrl.SetFocus() - val = self.servers[sel][4] - userCtrl.Enable(val) - userLbl.Enable(val) - passwCtrl.Enable(val) - passwLbl.Enable(val) - validation() - evt.Skip() - listBoxCtrl.Bind(wx.EVT_LISTBOX, onClick) - - def onButtonUp(evt): - newSel,self.servers=Move(self.servers,listBoxCtrl.GetSelection(),-1) - listBoxCtrl.Set([n[0] for n in self.servers]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnUP.Bind(wx.EVT_BUTTON, onButtonUp) - - def onButtonDown(evt): - newSel,self.servers=Move(self.servers,listBoxCtrl.GetSelection(),1) - listBoxCtrl.Set([n[0] for n in self.servers]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnDOWN.Bind(wx.EVT_BUTTON, onButtonDown) - - def onButtonDelete(evt): - srvrs = [item[8] for item in self.cfgs] - val = listBoxCtrl.GetStringSelection() - if val in srvrs: - answer = wx.MessageBox( - text.deleteServer % val, - eg.APP_NAME, - wx.NO_DEFAULT|wx.OK|wx.ICON_EXCLAMATION - ) - return - sel = listBoxCtrl.GetSelection() - lngth = len(self.servers) - if lngth == 2: - btnUP.Enable(False) - btnDOWN.Enable(False) - if lngth == 1: - self.servers=[] - listBoxCtrl.Set([]) - item = ['','',25,0,False,''] - setValue(item) - boxEnable(False) - btn1.Enable(False) - btnDEL.Enable(False) - btnApp.Enable(True) - userCtrl.Enable(False) - userLbl.Enable(False) - passwCtrl.Enable(False) - passwLbl.Enable(False) - evt.Skip() - return - elif sel == lngth - 1: - sel = 0 - self.oldSel = sel - tmp = self.servers.pop(listBoxCtrl.GetSelection()) - listBoxCtrl.Set([n[0] for n in self.servers]) - listBoxCtrl.SetSelection(sel) - item = self.servers[sel] - setValue(item) - onCheckbox() - evt.Skip() - btnDEL.Bind(wx.EVT_BUTTON, onButtonDelete) - - def OnButtonAppend(evt): - if len(self.servers)==1: - btnUP.Enable(True) - btnDOWN.Enable(True) - boxEnable(True) - sel = listBoxCtrl.GetSelection() + 1 - self.oldSel=sel - item = ['','',25,0,False,''] - self.servers.insert(sel,item) - listBoxCtrl.Set([n[0] for n in self.servers]) - listBoxCtrl.SetSelection(sel) - setValue(item) - labelCtrl.SetFocus() - btnApp.Enable(False) - btnDEL.Enable(True) - onCheckbox() - evt.Skip() - - if len(self.servers) > 0: - listBoxCtrl.Set([n[0] for n in self.servers]) - listBoxCtrl.SetSelection(0) - setValue(self.servers[0]) - self.oldSel=0 - btnUP.Enable(True) - btnDOWN.Enable(True) - btnDEL.Enable(True) - onCheckbox() - else: - boxEnable(False) - btn1.Enable(False) - btnApp.Enable(True) - userCtrl.Enable(False) - userLbl.Enable(False) - passwCtrl.Enable(False) - passwLbl.Enable(False) - - btnApp.Bind(wx.EVT_BUTTON, OnButtonAppend) - sizer.Layout() - self.MakeModal(True) - self.SetFocus() - self.Show() -#=============================================================================== - -class outTextsDialog(wx.MiniFrame): - oldSel = 0 - def __init__(self, parent, plugin): - wx.MiniFrame.__init__( - self, - parent, - -1, - style=wx.CAPTION, - name="Texts dialog" - ) - self.SetBackgroundColour(wx.NullColour) - self.panel = parent - self.plugin = plugin - self.texts = cpy(self.panel.txts) -#=============================================================================== - - def ShowOutTxtsDlg(self): - text = self.plugin.text - self.SetTitle(text.textsTitle) - sizer = wx.BoxSizer(wx.VERTICAL) - sizer.SetMinSize((450, 300)) - leftSizer = wx.FlexGridSizer(4,2,2,8) - topMiddleSizer=wx.BoxSizer(wx.VERTICAL) - previewLbl=wx.StaticText(self, -1, text.textsList) - listBoxCtrl=wx.ListBox( - self,-1, - size=wx.Size(120,106), - style=wx.LB_SINGLE|wx.LB_NEEDED_SB - ) - labelLbl=wx.StaticText(self, -1, text.txtLabel) - labelCtrl=wx.TextCtrl(self,-1,'') - rightSizer = wx.BoxSizer(wx.VERTICAL) - outTextLbl=wx.StaticText(self, -1, text.outText) - outTextCtrl=wx.TextCtrl( - self,-1,'',size=(210, 232), - style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER - ) - rightSizer.Add(outTextLbl,0,wx.EXPAND) - rightSizer.Add(outTextCtrl,0,wx.EXPAND) - leftSizer.Add(previewLbl,0,wx.TOP,5) - leftSizer.Add((1,1)) - leftSizer.Add(listBoxCtrl,0,wx.TOP,5) - leftSizer.Add(topMiddleSizer,0,wx.TOP,5) - leftSizer.Add(labelLbl,0,wx.TOP,3) - leftSizer.Add((1,1)) - leftSizer.Add(labelCtrl,0,wx.EXPAND) - leftSizer.Add((1,1)) - #Button UP - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (16, 16)) - btnUP = wx.BitmapButton(self, -1, bmp) - btnUP.Enable(False) - topMiddleSizer.Add(btnUP) - #Button DOWN - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_OTHER, (16, 16)) - btnDOWN = wx.BitmapButton(self, -1, bmp) - btnDOWN.Enable(False) - topMiddleSizer.Add(btnDOWN,0,wx.TOP,3) - #Buttons 'Delete' and 'Insert new' - w1 = self.GetTextExtent(text.delete)[0] - w2 = self.GetTextExtent(text.insert)[0] - if w1 > w2: - btnDEL=wx.Button(self,-1,text.delete) - btnApp=wx.Button(self,-1,text.insert,size=btnDEL.GetSize()) - else: - btnApp=wx.Button(self,-1,text.insert) - btnDEL=wx.Button(self,-1,text.delete,size=btnApp.GetSize()) - btnDEL.Enable(False) - topMiddleSizer.Add(btnDEL,0,wx.TOP,5) - topMiddleSizer.Add(btnApp,0,wx.TOP,5) - mainSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer.Add(leftSizer,0,wx.LEFT,10) - mainSizer.Add(rightSizer,0,wx.EXPAND|wx.LEFT|wx.RIGHT,14) - sizer.Add(mainSizer,0,wx.TOP,10) - line = wx.StaticLine(self, -1, size=(20,-1),pos = (200,0), style=wx.LI_HORIZONTAL) - btn1 = wx.Button(self, wx.ID_OK) - btn1.SetLabel(text.ok) - btn1.Enable(False) - btn1.SetDefault() - btn2 = wx.Button(self, wx.ID_CANCEL) - btn2.SetLabel(text.cancel) - btnsizer = wx.StdDialogButtonSizer() - btnsizer.AddButton(btn1) - btnsizer.AddButton(btn2) - btnsizer.Realize() - sizer.Add((1,5)) - sizer.Add(line, 0, wx.EXPAND|wx.ALIGN_CENTER|wx.TOP|wx.BOTTOM,5) - sizer.Add(btnsizer, 0, wx.EXPAND|wx.RIGHT, 10) - self.SetSizer(sizer) - sizer.Fit(self) - - def boxEnable(enable): - labelCtrl.Enable(enable) - outTextCtrl.Enable(enable) - labelLbl.Enable(enable) - outTextLbl.Enable(enable) - - def setValue(item): - labelCtrl.ChangeValue (item[0]) - outTextCtrl.ChangeValue(item[1]) - - if len(self.texts) > 0: - listBoxCtrl.Set([n[0] for n in self.texts]) - listBoxCtrl.SetSelection(0) - setValue(self.texts[0]) - self.oldSel=0 - btnUP.Enable(True) - btnDOWN.Enable(True) - btnDEL.Enable(True) - else: - boxEnable(False) - btn1.Enable(False) - - sizer.Layout() - self.MakeModal(True) - self.SetFocus() - self.Show() -#=============================================================================== - - def onClose(evt): - self.MakeModal(False) - self.GetParent().GetParent().Raise() - self.Destroy() - self.Bind(wx.EVT_CLOSE, onClose) - - def onCancel(evt): - self.Close() - btn2.Bind(wx.EVT_BUTTON,onCancel) - - def onOK(evt): - self.panel.txts = self.texts - self.Close() - btn1.Bind(wx.EVT_BUTTON,onOK) - - def validation(): - flag = True - label = labelCtrl.GetValue() - if label == "": - flag = False - else: - if [n[0] for n in self.texts].count(label)!=1: - flag = False - if outTextCtrl.GetValue().strip() == '': - flag = False - btn1.Enable(flag) - btnApp.Enable(flag) - - def OnTxtChange(evt): - if self.texts<>[]: - sel = self.oldSel - label = labelCtrl.GetValue().strip() - self.texts[sel][0]=label - listBoxCtrl.Set([n[0] for n in self.texts]) - listBoxCtrl.SetSelection(sel) - validation() - evt.Skip() - labelCtrl.Bind(wx.EVT_TEXT, OnTxtChange) - - def ontextName(event): - if self.texts<>[]: - val = outTextCtrl.GetValue().strip() - sel = self.oldSel - self.texts[sel][1] = val - validation() - event.Skip() - outTextCtrl.Bind(wx.EVT_TEXT, ontextName) - - def onClick(evt): - sel = listBoxCtrl.GetSelection() - label = labelCtrl.GetValue() - if label.strip()<>"": - if [n[0] for n in self.texts].count(label)==1: - self.oldSel=sel - item = self.texts[sel] - setValue(item) - listBoxCtrl.SetSelection(self.oldSel) - listBoxCtrl.SetFocus() - evt.Skip() - listBoxCtrl.Bind(wx.EVT_LISTBOX, onClick) - - def onButtonUp(evt): - newSel,self.texts=Move(self.texts,listBoxCtrl.GetSelection(),-1) - listBoxCtrl.Set([n[0] for n in self.texts]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnUP.Bind(wx.EVT_BUTTON, onButtonUp) - - def onButtonDown(evt): - newSel,self.texts=Move(self.texts,listBoxCtrl.GetSelection(),1) - listBoxCtrl.Set([n[0] for n in self.texts]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnDOWN.Bind(wx.EVT_BUTTON, onButtonDown) - - def onButtonDelete(evt): - lngth=len(self.texts) - if lngth==2: - btnUP.Enable(False) - btnDOWN.Enable(False) - sel = listBoxCtrl.GetSelection() - if lngth == 1: - self.texts=[] - listBoxCtrl.Set([]) - item = ['',''] - setValue(item) - boxEnable(False) - btn1.Enable(False) - btnDEL.Enable(False) - btnApp.Enable(True) - evt.Skip() - return - elif sel == lngth - 1: - sel = 0 - self.oldSel = sel - tmp = self.texts.pop(listBoxCtrl.GetSelection()) - listBoxCtrl.Set([n[0] for n in self.texts]) - listBoxCtrl.SetSelection(sel) - item = self.texts[sel] - setValue(item) - evt.Skip() - btnDEL.Bind(wx.EVT_BUTTON, onButtonDelete) - - def OnButtonAppend(evt): - if len(self.texts)==1: - btnUP.Enable(True) - btnDOWN.Enable(True) - boxEnable(True) - sel = listBoxCtrl.GetSelection() + 1 - self.oldSel=sel - item = ['',''] - self.texts.insert(sel,item) - listBoxCtrl.Set([n[0] for n in self.texts]) - listBoxCtrl.SetSelection(sel) - setValue(item) - labelCtrl.SetFocus() - btnApp.Enable(False) - btnDEL.Enable(True) - evt.Skip() - btnApp.Bind(wx.EVT_BUTTON, OnButtonAppend) -#=============================================================================== - -class groupsDialog(wx.MiniFrame): - oldSel = 0 - oldSel2 = 0 - def __init__(self, parent, plugin): - wx.MiniFrame.__init__( - self, - parent, - -1, - style=wx.CAPTION, - name="Groups dialog" - ) - self.SetBackgroundColour(wx.NullColour) - self.panel = parent - self.plugin = plugin - self.groups = cpy(self.panel.grps) -#=============================================================================== - - def ShowGroupsDlg(self): - text = self.plugin.text - self.SetTitle(text.groupsTitle) - sizer = wx.BoxSizer(wx.VERTICAL) - sizer.SetMinSize((450, 307)) - leftSizer = wx.FlexGridSizer(4,2,2,8) - rightSizer = wx.FlexGridSizer(4,2,2,8) - topMiddleSizer=wx.BoxSizer(wx.VERTICAL) - topMiddleSizer2=wx.BoxSizer(wx.VERTICAL) - previewLbl=wx.StaticText(self, -1, text.groupsList) - listBoxCtrl=wx.ListBox( - self,-1, - size=wx.Size(100,146), - style=wx.LB_SINGLE|wx.LB_NEEDED_SB - ) - labelLbl=wx.StaticText(self, -1, text.groupLabel) - labelCtrl=wx.TextCtrl(self,-1,'') - leftSizer.Add(previewLbl,0,wx.TOP,5) - leftSizer.Add((1,1)) - leftSizer.Add(listBoxCtrl,0,wx.TOP,1) - leftSizer.Add(topMiddleSizer,0,wx.TOP,1) - leftSizer.Add(labelLbl,0,wx.TOP,3) - leftSizer.Add((1,1)) - leftSizer.Add(labelCtrl,0,wx.EXPAND) - leftSizer.Add((1,1)) - - #Button UP - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (16, 16)) - btnUP = wx.BitmapButton(self, -1, bmp) - btnUP.Enable(False) - topMiddleSizer.Add(btnUP) - #Button DOWN - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_OTHER, (16, 16)) - btnDOWN = wx.BitmapButton(self, -1, bmp) - btnDOWN.Enable(False) - topMiddleSizer.Add(btnDOWN,0,wx.TOP,3) - #Buttons 'Delete' and 'Insert new' - w1 = self.GetTextExtent(text.delete)[0] - w2 = self.GetTextExtent(text.insert)[0] - w = max(w1,w2)+24 - btnApp=wx.Button(self,-1,text.insert,size = (w,-1)) - btnDEL=wx.Button(self,-1,text.delete,size = (w,-1)) - btnDEL.Enable(False) - topMiddleSizer.Add(btnDEL,0,wx.TOP,5) - topMiddleSizer.Add(btnApp,0,wx.TOP,5) - addressesLbl=wx.StaticText(self, -1, text.outAddress) - listBoxCtrl2=wx.ListBox( - self,-1, - size=wx.Size(140,146), - style=wx.LB_SINGLE|wx.LB_NEEDED_SB - ) - labelLbl2=wx.StaticText(self, -1, text.addressLabel) - labelCtrl2=wx.TextCtrl(self,-1,'') - rightSizer.Add(addressesLbl,0,wx.TOP,5) - rightSizer.Add((1,1)) - rightSizer.Add(listBoxCtrl2,0,wx.TOP,1) - rightSizer.Add(topMiddleSizer2,0,wx.TOP,1) - rightSizer.Add(labelLbl2,0,wx.TOP,3) - rightSizer.Add((1,1)) - rightSizer.Add(labelCtrl2,0,wx.EXPAND) - rightSizer.Add((1,1)) - - #Button UP - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (16, 16)) - btnUP2 = wx.BitmapButton(self, -1, bmp) - btnUP2.Enable(False) - topMiddleSizer2.Add(btnUP2) - #Button DOWN - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_OTHER, (16, 16)) - btnDOWN2 = wx.BitmapButton(self, -1, bmp) - btnDOWN2.Enable(False) - topMiddleSizer2.Add(btnDOWN2,0,wx.TOP,3) - #Buttons 'Delete' and 'Insert new' - btnApp2=wx.Button(self,-1,text.insert,size = (w,-1)) - btnDEL2=wx.Button(self,-1,text.delete,size = (w,-1)) - btnDEL2.Enable(False) - topMiddleSizer2.Add(btnDEL2,0,wx.TOP,5) - topMiddleSizer2.Add(btnApp2,0,wx.TOP,5) - mainSizer = wx.GridBagSizer(0, 0) - mainSizer.Add(leftSizer,(0,0),flag = wx.ALIGN_LEFT) - mainSizer.Add(rightSizer,(0,2),flag = wx.ALIGN_RIGHT) - sizer.Add(mainSizer,0,wx.LEFT|wx.RIGHT|wx.TOP|wx.EXPAND,20) - mainSizer.AddGrowableCol(1) - line = wx.StaticLine(self, -1, size=(20,-1),pos = (200,0), style=wx.LI_HORIZONTAL) - btn1 = wx.Button(self, wx.ID_OK) - btn1.SetLabel(text.ok) - btn1.Enable(False) - btn1.SetDefault() - btn2 = wx.Button(self, wx.ID_CANCEL) - btn2.SetLabel(text.cancel) - btnsizer = wx.StdDialogButtonSizer() - btnsizer.AddButton(btn1) - btnsizer.AddButton(btn2) - btnsizer.Realize() - sizer.Add((1,36)) - sizer.Add(line, 0, wx.EXPAND|wx.ALIGN_CENTER|wx.TOP|wx.BOTTOM,5) - sizer.Add(btnsizer, 0, wx.EXPAND|wx.RIGHT, 10) - self.SetSizer(sizer) - sizer.Fit(self) - - def boxDisable(): - addressesLbl.Enable(False) - listBoxCtrl2.Enable(False) - labelLbl2.Enable(False) - labelCtrl2.Enable(False) - btnUP2.Enable(False) - btnDOWN2.Enable(False) - btnApp2.Enable(False) - btnDEL2.Enable(False) - - def setValue(item): - labelCtrl.ChangeValue (item[0]) - listBoxCtrl2.Set(item[1]) - if len(item[1]) == 0: - btnDEL2.Enable(False) - btnUP2.Enable(False) - btnDOWN2.Enable(False) - else: - listBoxCtrl2.SetSelection(0) - labelCtrl2.ChangeValue(item[1][0]) - btnDEL2.Enable(True) - flag = len(item[1]) > 1 - btnUP2.Enable(flag) - btnDOWN2.Enable(flag) - - if len(self.groups) > 0: - listBoxCtrl.Set([n[0] for n in self.groups]) - listBoxCtrl.SetSelection(0) - setValue(self.groups[0]) - self.oldSel=0 - btnUP.Enable(True) - btnDOWN.Enable(True) - btnDEL.Enable(True) - else: - labelLbl.Enable(False) - labelCtrl.Enable(False) - btn1.Enable(False) - boxDisable() - - sizer.Layout() - self.MakeModal(True) - self.SetFocus() - self.Show() -#=============================================================================== - - def onClose(evt): - self.MakeModal(False) - self.GetParent().GetParent().Raise() - self.Destroy() - self.Bind(wx.EVT_CLOSE, onClose) - - def onCancel(evt): - self.Close() - btn2.Bind(wx.EVT_BUTTON,onCancel) - - def onOK(evt): - self.panel.grps = self.groups - self.Close() - btn1.Bind(wx.EVT_BUTTON,onOK) - - def validation(): - while True: - flag = True - flag2 = True - label = labelCtrl.GetValue() - if label == '': - flag2 = False - if len(self.groups) > 0: - strings = listBoxCtrl.GetStrings() - for lbl in strings: - if lbl == '': - flag = False - break - if strings.count(label) != 1: - flag = False - break - sel = self.oldSel - address = labelCtrl2.GetValue() - if len(self.groups[sel][1]) > 0: - if address == '': - flag2 = False - break - strings = listBoxCtrl2.GetStrings() - for addrss in strings: - if not validateEmailAddr(addrss): - flag2 = False - break - if strings.count(address) != 1: - flag2 = False - break - else: - flag = False - break - btnApp2.Enable(flag2) - btn1.Enable(flag and flag2) - btnApp.Enable(flag and flag2) - - def OnTxtChange(evt): - if self.groups<>[]: - sel = self.oldSel - label = labelCtrl.GetValue().strip() - self.groups[sel][0]=label - listBoxCtrl.Set([n[0] for n in self.groups]) - listBoxCtrl.SetSelection(sel) - validation() - evt.Skip() - labelCtrl.Bind(wx.EVT_TEXT, OnTxtChange) - - def onClick(evt): - sel = listBoxCtrl.GetSelection() - if self.oldSel != sel: - flag = True - for address in self.groups[self.oldSel][1]: - if not validateEmailAddr(address): - flag = False - break - label = labelCtrl.GetValue() - if label.strip()<>"": - if [n[0] for n in self.groups].count(label)>1: - flag = False - if flag: - self.oldSel=sel - item = self.groups[sel] - setValue(item) - listBoxCtrl.SetSelection(self.oldSel) - listBoxCtrl.SetFocus() - #evt.Skip() - listBoxCtrl.Bind(wx.EVT_LISTBOX, onClick) - - def onButtonUp(evt): - newSel,self.groups=Move(self.groups,listBoxCtrl.GetSelection(),-1) - listBoxCtrl.Set([n[0] for n in self.groups]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnUP.Bind(wx.EVT_BUTTON, onButtonUp) - - def onButtonDown(evt): - newSel,self.groups=Move(self.groups,listBoxCtrl.GetSelection(),1) - listBoxCtrl.Set([n[0] for n in self.groups]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnDOWN.Bind(wx.EVT_BUTTON, onButtonDown) - - def onButtonDelete(evt): - lngth=len(self.groups) - if lngth==2: - btnUP.Enable(False) - btnDOWN.Enable(False) - sel = listBoxCtrl.GetSelection() - if lngth == 1: - self.groups=[] - listBoxCtrl.Set([]) - item = ['', []] - setValue(item) - labelCtrl2.ChangeValue('') - labelLbl.Enable(False) - labelCtrl.Enable(False) - boxDisable() - btnApp2.Enable(False) - btn1.Enable(False) - btnDEL.Enable(False) - btnApp.Enable(True) - evt.Skip() - return - elif sel == lngth - 1: - sel = 0 - self.oldSel = sel - tmp = self.groups.pop(listBoxCtrl.GetSelection()) - listBoxCtrl.Set([n[0] for n in self.groups]) - listBoxCtrl.SetSelection(sel) - item = self.groups[sel] - setValue(item) - evt.Skip() - btnDEL.Bind(wx.EVT_BUTTON, onButtonDelete) - - def OnButtonAppend(evt): - if len(self.groups)==1: - btnUP.Enable(True) - btnDOWN.Enable(True) - labelLbl.Enable(True) - labelCtrl.Enable(True) - boxDisable() - sel = listBoxCtrl.GetSelection() + 1 - self.oldSel=sel - item = ['', []] - self.groups.insert(sel,item) - listBoxCtrl.Set([n[0] for n in self.groups]) - listBoxCtrl.SetSelection(sel) - labelCtrl2.ChangeValue('') - setValue(item) - labelCtrl.SetFocus() - btnApp.Enable(False) - btnDEL.Enable(True) - evt.Skip() - btnApp.Bind(wx.EVT_BUTTON, OnButtonAppend) - - def OnLabelChange(evt): - sel = self.oldSel - if self.groups[sel][1]<>[]: - sel2 = self.oldSel2 - label = labelCtrl2.GetValue().strip() - self.groups[sel][1][sel2]=label - listBoxCtrl2.Set(self.groups[sel][1]) - listBoxCtrl2.SetSelection(sel2) - validation() - evt.Skip() - labelCtrl2.Bind(wx.EVT_TEXT, OnLabelChange) - - def onClick2(evt): - sel2 = listBoxCtrl2.GetSelection() - if self.oldSel2 != sel2: - item = listBoxCtrl2.GetStrings()[self.oldSel2] - if validateEmailAddr(item): - label = listBoxCtrl2.GetStringSelection() - labelCtrl2.ChangeValue(label) - self.oldSel2=sel2 - listBoxCtrl2.SetSelection(self.oldSel2) - listBoxCtrl2.SetFocus() - evt.Skip() - listBoxCtrl2.Bind(wx.EVT_LISTBOX, onClick2) - - def onButtonUp2(evt): - sel = self.oldSel - newSel,self.groups[sel][1]=Move(self.groups[sel][1],listBoxCtrl2.GetSelection(),-1) - listBoxCtrl2.Set(self.groups[sel][1]) - listBoxCtrl2.SetSelection(newSel) - self.oldSel2 = newSel - evt.Skip() - btnUP2.Bind(wx.EVT_BUTTON, onButtonUp2) - - def onButtonDown2(evt): - sel = self.oldSel - newSel,self.groups[sel][1]=Move(self.groups[sel][1],listBoxCtrl2.GetSelection(),1) - listBoxCtrl2.Set(self.groups[sel][1]) - listBoxCtrl2.SetSelection(newSel) - self.oldSel2 = newSel - evt.Skip() - btnDOWN2.Bind(wx.EVT_BUTTON, onButtonDown2) - - def onButtonDelete2(evt): - sel = self.oldSel - sel2 = listBoxCtrl2.GetSelection() - lngth=len(self.groups[sel][1]) - if lngth==2: - btnUP2.Enable(False) - btnDOWN2.Enable(False) - if lngth == 1: - labelCtrl2.ChangeValue('') - self.groups[sel][1] = [] - listBoxCtrl2.Set([]) - listBoxCtrl2.SetStringSelection('') - btn1.Enable(False) - btnDEL2.Enable(False) - btnApp2.Enable(True) - evt.Skip() - return - elif sel2 == lngth - 1: - sel2 = 0 - self.oldSel2 = sel2 - tmp = self.groups[sel][1].pop(listBoxCtrl2.GetSelection()) - listBoxCtrl2.Set(self.groups[sel][1]) - listBoxCtrl2.SetSelection(sel2) - item = self.groups[sel][1][sel2] - labelCtrl2.ChangeValue(item) - validation() - evt.Skip() - btnDEL2.Bind(wx.EVT_BUTTON, onButtonDelete2) - - def OnButtonAppend2(evt): - if len(self.groups[self.oldSel][1]) == 1: - btnUP2.Enable(True) - btnDOWN2.Enable(True) - labelLbl2.Enable(True) - labelCtrl2.Enable(True) - addressesLbl.Enable(True) - listBoxCtrl2.Enable(True) - sel = listBoxCtrl2.GetSelection() + 1 - self.oldSel2=sel - self.groups[self.oldSel][1].insert(sel,'') - listBoxCtrl2.Set(self.groups[self.oldSel][1]) - listBoxCtrl2.SetSelection(sel) - labelCtrl2.SetValue('') - labelCtrl2.SetFocus() - btnApp2.Enable(False) - btnDEL2.Enable(True) - evt.Skip() - btnApp2.Bind(wx.EVT_BUTTON, OnButtonAppend2) -#=============================================================================== - -class observViewerDialog(wx.MiniFrame): - def __init__(self, parent, plugin, observThreads): - wx.MiniFrame.__init__( - self, parent, -1, - style=wx.CAPTION|wx.RESIZE_BORDER, name="Observations viewer/manager" - ) - self.SetBackgroundColour(wx.NullColour) - self.observThreads = observThreads - self.plugin = plugin - - def ShowObservViewerDialog(self): - text = self.plugin.text - self.SetTitle(text.viewerTitle) - mainSizer = wx.BoxSizer(wx.VERTICAL) - mainSizer.Add( - wx.StaticText(self, -1, text.listhead), - 0,wx.TOP|wx.LEFT|wx.RIGHT,10 - ) - - centralSizer = wx.GridBagSizer(10, 10) - observListCtrl = wx.ListCtrl(self, -1, style=wx.LC_REPORT | wx.VSCROLL | wx.HSCROLL) - for i, colLabel in enumerate(text.colLabels): - observListCtrl.InsertColumn( - i, - colLabel, - wx.LIST_FORMAT_RIGHT if (i==1 or i==2) else wx.LIST_FORMAT_LEFT - ) - observListCtrl.InsertStringItem(0, text.colLabels[0]) - observListCtrl.SetStringItem(0, 2, time.strftime("%c")) - size = 0 - for i in range(5): - observListCtrl.SetColumnWidth(i, wx.LIST_AUTOSIZE_USEHEADER) - size += observListCtrl.GetColumnWidth(i) - observListCtrl.SetMinSize((size, -1)) - centralSizer.Add(observListCtrl, (0,0),(1,5), flag = wx.EXPAND) - #buttons - abortButton = wx.Button(self, -1, text.buttons[0]) - abortAllButton = wx.Button(self, -1, text.buttons[1]) - refreshButton = wx.Button(self, -1, text.buttons[2]) - closeButton = wx.Button(self, -1, text.buttons[3]) - centralSizer.Add(abortButton,(1,0), flag = wx.ALIGN_CENTER_HORIZONTAL|wx.BOTTOM, border = 10) - centralSizer.Add(abortAllButton,(1,1), flag = wx.ALIGN_CENTER_HORIZONTAL) - centralSizer.Add(refreshButton,(1,2), flag = wx.ALIGN_LEFT) - centralSizer.Add(closeButton,(1,4), flag = wx.ALIGN_RIGHT) - centralSizer.AddGrowableRow(0) - centralSizer.AddGrowableCol(3) - - def FillListCtrl (event=None): - observListCtrl.DeleteAllItems() - row = 0 - for i, item in enumerate(self.observThreads): - ot = self.observThreads[item] - if ot.isAlive() and not ot.isAborted(): - observListCtrl.InsertStringItem(row, ot.observName) - observListCtrl.SetStringItem(row, 1, str(ot.setup[1])) - timestamp = time.strftime("%c", time.localtime(ot.lastCheck)) if ot.lastCheck!=0 else '' - observListCtrl.SetStringItem(row, 2, timestamp) - observListCtrl.SetStringItem(row, 3, ot.setup[3]) - observListCtrl.SetStringItem(row, 4, ot.setup[12]) - row += 1 - ListSelection() - - def OnAbortButton(event): - item = observListCtrl.GetFirstSelected() - while item != -1: - name = observListCtrl.GetItemText(item) - ot = self.observThreads[name] - if ot.isAlive(): - ot.AbortObservation() - time.sleep(0.25) - item = observListCtrl.GetNextSelected(item) - FillListCtrl() - event.Skip() - - def OnAbortAllButton(event): - thrds = list(enumerate(self.observThreads)) - thrds.reverse() - for i, name in thrds: - ot = self.observThreads[name] - ot.AbortObservation() - time.sleep(0.25) - FillListCtrl() - self.Update() - event.Skip() - - def OnCloseButton(event): - self.Destroy() - event.Skip() - - def ListSelection(event=None): - flag = observListCtrl.GetFirstSelected() != -1 - abortButton.Enable(flag) - if event: - event.Skip() - def OnSize(event): - observListCtrl.SetColumnWidth(6, wx.LIST_AUTOSIZE_USEHEADER) - event.Skip() - FillListCtrl() - self.SetMinSize((size+52,178)) - self.SetSize((size+52,178)) - abortButton.Bind(wx.EVT_BUTTON, OnAbortButton) - abortAllButton.Bind(wx.EVT_BUTTON, OnAbortAllButton) - refreshButton.Bind(wx.EVT_BUTTON, FillListCtrl) - closeButton.Bind(wx.EVT_BUTTON, OnCloseButton) - observListCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, ListSelection) - observListCtrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, ListSelection) - self.Bind(wx.EVT_SIZE, OnSize) - mainSizer.Add(centralSizer, 1,wx.EXPAND|wx.LEFT|wx.RIGHT,10) - self.SetSizer(mainSizer) - mainSizer.Layout() - self.Show() -#=============================================================================== +from copy import deepcopy -class SendMailThread(Thread): - def __init__( - self, - plugin, - sbjct, - From, - To, - Copy, - Txt, - Append, - toName, - references, - messageID - ): - Thread.__init__(self, name="SendMailThread" ) - self.plugin=plugin - self.passSMTP = self.plugin.passSMTP - self.sbjct = sbjct - self.From = From - self.To = To - self.Copy = Copy - self.Txt = Txt - self.Append = Append - self.toName = toName - self.references = references - self.messageID = messageID - - def run(self): - sbjct = self.sbjct - sbjct = eg.ParseString(sbjct) - From = self.From - To = self.To - To = eg.ParseString(To) - Copy = self.Copy - Txt = self.Txt - Txt = eg.ParseString(Txt) - text = self.plugin.text - Append = self.Append - Append = eg.ParseString(Append) - toName = self.toName - toName = eg.ParseString(toName) - choices = [item[0] for item in self.plugin.texts] - if Append in choices: - indx = choices.index(Append) - Append = self.plugin.texts[indx][1] - else: - Append = None - From = From.split(' - ')[-1] - indx = [item[0] for item in self.plugin.configs].index(From) - account = self.plugin.configs[indx] - try: - indx = [item[0] for item in self.plugin.servers].index(account[8]) - except: - eg.PrintError(text.error5 % (account[8], self.plugin.servers[0][0])) - indx = 0 - server = self.plugin.servers[indx] - choices = [item[0] for item in self.plugin.groups] - if Copy in choices: - indx = choices.index(Copy) - Copy = self.plugin.groups[indx][1] - else: - Copy = None -#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - header_charset = 'UTF-8' - body = Txt - if Append is not None: - body += '\n----====###====----\n'+Append - for body_charset in 'US-ASCII', 'UTF-8': - try: - body.encode(body_charset) - except UnicodeError: - pass - else: - break - sender_name = str(Header(unicode(account[2]), header_charset)) - recipient_name = str(Header(unicode(toName), header_charset)) - msg = MIMEText(body.encode(body_charset), 'plain', body_charset) - msg['From'] = formataddr((sender_name, account[3])) - msg['To'] = formataddr((recipient_name, To)) - if Copy is not None: - msg['Cc'] = ','.join(Copy) - msg['Subject'] = Header(unicode(sbjct), header_charset) - msg["User-agent"]= "EventGhost %s" % eg.Version.string - if account[4] != '': - msg["Reply-to"]= formataddr((sender_name,account[4])) - #msg["Date"] = formatdate() #return: Wed, 03 Dec 2008 12:17:35 -0000 - msg["Date"] = formatdate(None, True) #return: Wed, 03 Dec 2008 13:17:35 +0100 - if self.messageID is not None: - msg['In-Reply-To'] = self.messageID - if self.references is None: - msg['References'] = self.messageID+u'\r\n' - else: - msg['References'] = self.references+self.messageID+u'\r\n' - case = server[3] #secure connection ? - try: - if case < 3: - smtp = smtplib.SMTP(server[1],server[2]) - else: - smtp = smtplib.SMTP_SSL(server[1],server[2]) - except: - eg.PrintError(text.error6+' '+text.error7 % (server[1],server[2])) - else: - try: - if server[4]: #secure authentication - #smtp.debuglevel = 5 - capa = smtp.ehlo() - if case == 1 and not 'STARTTLS' in capa[-1].upper(): - case = 0 - if case == 0 or case == 3: - smtp.esmtp_features["auth"] = "LOGIN PLAIN" - else: - smtp.starttls() - smtp.ehlo() - password = self.passSMTP.data[server[0]] - smtp.login(server[5], password) - if Copy is None: - smtp.sendmail(account[3], To, msg.as_string()) - else: - rcpnt = [To] - rcpnt.extend(Copy) - smtp.sendmail(account[3], rcpnt, msg.as_string()) - except: - eg.PrintError(text.error6+' '+text.error8) - else: - From = formataddr((account[2], account[3])) - eg.TriggerEvent('Sent', payload = '%s: %s' % (From, sbjct), prefix = 'E-mail') - smtp.quit() -#=============================================================================== - -class deleteEmail(Thread): - def __init__( - self, - indx, - sel, - mode, - parent - ): - self.indx = indx - self.sel = sel - self.mode = mode - self.parent = parent - Thread.__init__(self, name = 'DeleteEmail') - - def run(self): - self.parent.RealizeAction(self.indx, self.sel, self.mode) -#=============================================================================== - -class WorkThread(Thread): - def __init__( - self, - plugin, - setup, - notifFrame, - ): - self.setup = setup - Thread.__init__(self, name = self.setup[0].encode('unicode_escape')+'_W-Thread') - self.plugin = plugin - self.passINC = self.plugin.passINC - self.configs = self.plugin.configs - self.notifFrame = notifFrame - self.runFlag = False - self.abort = False - self.refresh=False - self.threadFlag = Event() - self.delArgs = None - self.text = self.plugin.text - print self.text.observStarts % self.setup[0] - - def isRunning(self): - return self.runFlag - - def DeleteAction(self, args): - self.delArgs = args - if not self.runFlag: - self.threadFlag.set() - - def operate(self, refresh = False): - self.refresh = refresh or self.refresh - if not self.runFlag: - self.threadFlag.set() - - def AbortObservation(self, close = False): - self.abort = True - self.close = close - self.threadFlag.set() - - def run(self): - while 1: - if self.abort: - break - self.runFlag = True - if self.delArgs is not None: - self.delArgs[3].RealizeAction(self.delArgs[0], self.delArgs[1], self.delArgs[2]) - if self.delArgs[3].isCloseReq(): - self.delArgs[3].Close() - else: - self.delArgs[3].resDelFlag() - self.delArgs = None - val, shift = self.CheckEmails() - if self.setup[6]: #Show notification Window - self.notifFrame.SetNum(val) - if val>0: - if not self.notifFrame.IsShown(): - self.notifFrame.Show(True) - else: - self.notifFrame.Disappear() - else: - val, shift = self.CheckEmails() - if self.setup[6]: #Show notification Window - if val == 0: - self.notifFrame.Disappear() - elif shift or self.refresh: - self.notifFrame.SetNum(val) - if not self.notifFrame.IsShown(): - self.notifFrame.Show(True) - if self.refresh: - self.refresh = False - else: - if self.setup[7]: #Trigger event - if val > 0 and shift: - if self.setup[8]: - eg.TriggerEvent(self.setup[3], payload = str(val), prefix = 'E-mail') - else: - eg.TriggerEvent(self.setup[3], prefix = 'E-mail') - self.runFlag = False - if self.abort: - break - if self.delArgs is None: - self.threadFlag.clear() - self.threadFlag.wait() - self.notifFrame.Disappear(self.close) - self.observName = self.setup[0] - indx = [item[0] for item in self.plugin.tempData].index(self.observName) - self.plugin.tempData[indx][1:]=[0,[],None,self.notifFrame] - - def CreateOneRecord(self, data, account, nbr, id): - msg=myParser.parsestr(data) - if msg.has_key('Message-Id'): - messId = msg['Message-Id'] - else: - messId = ParseAddress(msg['From']) - tmpRec=[messId] #0 - tmpRec.append(ParseItem(msg['Subject'])) #1 - tmpRec.append(ParseAddress(msg['From'])) #2 - tmpRec.append(account) #3 - tmpRec.append(str(nbr)) #4 - tmpRec.append(id) #5 - return tmpRec - - def CheckEmails(self): - accList=[n[0] for n in self.configs] - accounts = [] - observName = self.setup[0] - loop=0 - while 1: - try: - loop+=1 - indx = [item[0] for item in self.plugin.tempData].index(observName) - break - except: - pass - for i in range(len(accList)): - for item in self.setup[2]: - if item == accList[i]: - accounts.append(i) - nbr = 0 - if len(self.plugin.tempData[indx][2])>0: - idList = [item[0] for item in self.plugin.tempData[indx][2]] - else: - idList = [] - count = 0 - tmpData =[] - if self.setup[4] == 0: #non-filter mode - for i in accounts: - account = self.configs[i] - SERVER = account[5] - PORT = account[6] - USER = account[7] - PASSWORD = self.passINC.data[account[0]] - USE_SSL = account[9] == 3 - if account[1] == 0: #POP - try: - if USE_SSL: - mailbox = poplib.POP3_SSL(SERVER,PORT) - else: - mailbox = poplib.POP3(SERVER,PORT) - except: - eg.PrintError(self.text.error0+' '+self.text.error1 % (SERVER,PORT)) - else: - #mailbox.set_debuglevel(5) - try: - mailbox.user(USER) - mailbox.pass_(PASSWORD) - #capa = mailbox._longcmd('CAPA')[1] - #if 'STLS' in capa: - # print 'STLS' - # #mailbox._shortcmd('STLS') - lst = mailbox.list()[1] - cnt = len(lst) - if cnt > 0: - count += cnt - MAXLINES = 0 - for msg in lst: - id = msg.split(' ')[0] - resp, data, octets = mailbox.top(id, MAXLINES) - if resp != '+OK': - resp, data, octets = mailbox.retr(id) - data = "\n".join(data) - nbr += 1 - oneRec = self.CreateOneRecord(data, account[0], nbr, id) - tmpData.append(oneRec) - except poplib.error_proto, errmsg: - eg.PrintError(self.text.error0+' '+str(errmsg)) - mailbox.quit() - else: #IMAP - try: - if USE_SSL: - mailbox = imaplib.IMAP4_SSL(SERVER, PORT) - else: - mailbox = imaplib.IMAP4(SERVER, PORT) - except: - eg.PrintError(self.text.error2+' '+self.text.error3 % (SERVER,PORT)) - else: - try: - mailbox.login(USER, PASSWORD) - except: - eg.PrintError(self.text.error2+' '+self.text.error4 % (USER, SERVER, PORT)) - else: - typ, data = mailbox.select('INBOX') #Folder selection - typ, data = mailbox.search(None, 'UNSEEN') - if data[0]: - lst = data[0].split() - count += len(lst) - for num in lst: - typ, data = mailbox.fetch(num, '(RFC822.HEADER)') - mailbox.store(num, "-FLAGS", '(\Seen)') #Reset UNSEEN flag - data = data[0][1] - nbr += 1 - oneRec = self.CreateOneRecord(data, account[0], nbr, num) - tmpData.append(oneRec) - mailbox.logout() - -#------------------------- - else: #filter mode - def processEmail(mailbox, data, idList, account, count, id, tmpData): - conds = ["%s.find(%s)>-1", - "not %s.find(%s)>-1", - "%s==%s", - "not %s==%s", - "%s.startswith(%s)", - "%s.endswith(%s)"] - msg = myParser.parsestr(data) - parts = GetParts(msg) - flag = False - if self.setup[4] == 1: #filter AND mode - i = 0 - while i < 6: - what, cond, strng = self.setup[5][i] - if what > 0 and not eval(conds[cond] % (('parts[what-1]'), 'strng')): - break - i += 1 - if i == 6: - flag = True - else: #filter OR mode - i = 0 - while i < 6: - what, cond, strng = self.setup[5][i] - if what > 0 and eval(conds[cond] % (('parts[what-1]'), 'strng')): - flag = True - break - i += 1 - if flag: - if msg.has_key('Message-Id'): - messId = msg['Message-Id'] - else: - messId = parts[1] - if self.setup[11]: #trigger event for each email ? - if not messId in idList: - itms = self.plugin.text.field_1[1:] - suff = self.setup[12] - if suff in itms: - suff = itms.index(suff) - suff = u"%s.%s" % (self.setup[12],parts[suff]) - if self.setup[13] > 0: - eg.TriggerEvent(suff, payload = parts[self.setup[13]-1], prefix = 'E-mail') - else: - eg.TriggerEvent(suff, prefix = 'E-mail') - if self.setup[14]: #~ delete - if account[1] == 0: #POP - resp = mailbox.dele(id) - #if resp[:3]=='+OK': - # print "deleted !!!" - # notDeleted = False - else: - resp = mailbox.store(id, "+FLAGS", '(\Deleted)') - #if resp[0] =='OK': - # resp = mailbox.expunge() - # if resp[0] =='OK': - # print "deleted !!!" - count += 1 - #show notification window? - if not self.setup[14]: - tmpRec = [messId] #0 ID - tmpRec.append(parts[0]) #1 Subject - tmpRec.append(parts[1]) #2 From - tmpRec.append(account[0]) #3 - tmpRec.append(str(count)) #4 - tmpRec.append(id) #5 - tmpData.append(tmpRec) - return (count, tmpData) -#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for i in accounts: - account = self.configs[i] - SERVER = account[5] - PORT = account[6] - USER = account[7] - PASSWORD = self.passINC.data[account[0]] - USE_SSL = account[9] == 3 - if account[1] == 0: #POP - try: - if USE_SSL: - mailbox = poplib.POP3_SSL(SERVER, PORT) - else: - mailbox = poplib.POP3(SERVER, PORT) - except: - eg.PrintError(self.text.error0+' '+self.text.error1 % (SERVER,PORT)) - else: - try: - mailbox.user(USER) - mailbox.pass_(PASSWORD) - lst = mailbox.list()[1] - cnt = len(lst) - if cnt > 0: - for msg in lst: - id = msg.split(' ')[0] - resp, data, octets = mailbox.retr(id) - data = "\n".join(data) - count, tmpData = processEmail(mailbox, data,idList, account, count, id, tmpData) - except poplib.error_proto, errmsg: - eg.PrintError(self.text.error0+' '+str(errmsg)) - mailbox.quit() -#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - else: #IMAP - try: - if USE_SSL: - mailbox = imaplib.IMAP4_SSL(SERVER, PORT) - else: - mailbox = imaplib.IMAP4(SERVER, PORT) - except: - eg.PrintError(self.text.error2+' '+self.text.error3 % (SERVER,PORT)) - else: - try: - mailbox.login(USER, PASSWORD) - except: - eg.PrintError(self.text.error2+' '+self.text.error4 % (USER, SERVER, PORT)) - else: - typ, data = mailbox.select('INBOX') #Folder selection - typ, data = mailbox.search(None, 'UNSEEN') - if data[0]: - lst = data[0].split() - for id in lst: - typ, data = mailbox.fetch(id, '(RFC822)') - mailbox.store(id, "-FLAGS", '(\Seen)') #Reset UNSEEN flag - data = data[0][1] - count, tmpData = processEmail(mailbox, data,idList, account, count, id, tmpData) - resp = mailbox.expunge() - mailbox.logout() - countOld = self.plugin.tempData[indx][1] - shift = count != countOld - countOld = count - self.plugin.tempData[indx][2] = tmpData - self.plugin.tempData[indx][1] = count - return count, shift -#=============================================================================== - -class ObservationThread(Thread): - def __init__( - self, - setup, - plugin, - notifFrame, - ): - self.setup = setup - Thread.__init__(self, name=self.setup[0].encode('unicode_escape')+'_O-Thread') - self.plugin = plugin - self.notifFrame = notifFrame - self.observName = setup[0] - self.abort = False - self.lastCheck = 0 - self.threadFlag = Event() - self.firstRun = True - - def isAborted(self): - return self.abort - - def run(self): - while 1: - if self.firstRun: - self.firstRun = False - while True: - try: - if self.plugin.tempData[indx][3] is not None: - wt = self.plugin.tempData[indx][3] - if wt.isAlive(): - #print "WAITING" - wt.AbortObservation() - self.threadFlag.wait(1) - self.threadFlag.clear() - except: - self.plugin.observThreads[self.setup[0]] = self #update dictionary - indx = [item[0] for item in self.plugin.tempData].index(self.observName) - self.wt = WorkThread(plugin = self.plugin, setup = self.setup, notifFrame = self.notifFrame) - self.plugin.tempData[indx][3] = self.wt - self.wt.start() - break - else: - if self.abort: - break - self.lastCheck = time.time() - self.wt.operate() - self.threadFlag.wait(60*self.setup[1]) - self.threadFlag.clear() - - def AbortObservation(self, close=False): - self.wt.AbortObservation(close) - self.abort = True - self.threadFlag.set() -#=============================================================================== - -class AbortAllObservations(eg.ActionClass): - def __call__(self): - self.plugin.AbortAllObservations() -#=============================================================================== - -class AbortObservation(eg.ActionClass): - def __call__(self, observName=''): - self.plugin.AbortObservation(observName) - - def Configure(self, observName=''): - text=self.text - panel = eg.ConfigPanel(self) - nameLbl=wx.StaticText(panel, -1, text.nameObs) - nameCtrl=wx.TextCtrl(panel,-1,observName) - mainSizer = wx.BoxSizer(wx.VERTICAL) - mainSizer.Add(nameLbl,0) - mainSizer.Add(nameCtrl,0,wx.EXPAND) - panel.sizer.Add(mainSizer) - panel.sizer.Layout() - - # re-assign the test button - def OnTestButton(event): - self.plugin.AbortObservation(nameCtrl.GetValue()) - panel.dialog.buttonRow.testButton.SetLabel(text.abortNow) - panel.dialog.buttonRow.testButton.SetToolTipString(text.tip) - panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, OnTestButton) - - while panel.Affirmed(): - panel.SetResult( - nameCtrl.GetValue(), - ) - - class text: - nameObs = 'Observation name:' - abortNow = 'Abort now !' - tip = 'Abort observation now' -#=============================================================================== - -class StartObservation(eg.ActionClass): - - def startObserv(self, stp): - observName = stp[0] - data = [item[0] for item in self.plugin.tempData] - if observName in data: - indx = data.index(observName) - self.notifFrame = self.plugin.tempData[indx][4] - else: - self.notifFrame = NotifFrame(None) - self.event = CreateEvent(None, 0, 0, None) - wx.CallAfter(self.notifFrame.ShowNotifFrame, - plugin = self.plugin, - stp = stp, - event = self.event - ) - eg.actionThread.WaitOnEvent(self.event) - self.plugin.StartObservation(stp, self.notifFrame) - - def __call__(self, stp): - #stp - accounts=[] - accList = [item[0] for item in self.plugin.configs] - for i in range(len(accList)): - for item in stp[2]: - if item == accList[i]: - accounts.append(i) - if len(accounts) > 0: - self.startObserv(stp) - else: - eg.PrintError(self.text.warning % stp[2]) - - def GetLabel(self, stp): - res1 = stp[0] - return res1 - - def Configure(self, stp = []): - -#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - self.flag2=True - def validation(): - if self.flag2: - return - while 1: - flag = False - if nameCtrl.GetValue() == "": - break - lng = len(accountCtrl.GetStrings()) - if lng == 0: - break - indx = 0 - while indx < lng: - if accountCtrl.IsChecked(indx): - break - indx += 1 - if indx == lng: # No one checkbox is checked ? - break - - if not eventCtrl.GetValue() and not event2Ctrl.GetValue() and not messageCtrl.GetValue(): - break - - if eventCtrl.GetValue(): - if evtNameCtrl.GetValue() == '': - break - - if event2Ctrl.GetValue(): - if evtName2Ctrl.GetValue() == '': - break - - if not rb0.GetValue(): - indx = 0 - sum = 0 - while indx < 6: - wnd0 = wx.FindWindowById(indx+100) - if wnd0.GetSelection() > 0: - wnd1 = wx.FindWindowById(indx+200) - wnd2 = wx.FindWindowById(indx+300) - if wnd1.GetSelection() == -1: - break - if wnd2.GetValue() == '': - break - else: - sum += 1 - indx += 1 - if indx < 6 or sum == 6: - break - #All is OK ! - flag = True - break - panel.dialog.buttonRow.applyButton.Enable(flag) - panel.dialog.buttonRow.okButton.Enable(flag) -#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - def onFilter(evt): - if self.flag2: - return - id = evt.GetId() - if id < 200: - ctrl_1=wx.FindWindowById(id) - indx=ctrl_1.GetSelection() - flag = indx > 0 - ctrl_2=wx.FindWindowById(id+100) - ctrl_3=wx.FindWindowById(id+200) - ctrl_2.Enable(flag) - ctrl_3.Enable(flag) - if not flag: - ctrl_2.SetSelection(-1) - ctrl_3.ChangeValue('') - choicLen = len(ctrl_2.GetStrings()) - if choicLen == 2 and indx !=3: - ctrl_2.Clear() - ctrl_2.AppendItems(strings = text.field_2) - elif choicLen == 6 and indx == 3: - ctrl_2.Clear() - ctrl_2.AppendItems(strings = text.field_2[:2]) - evt.Skip() - validation() -#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if stp == []: - self.stp = [ - '',2,[],'',0, - [[-1,-1,''],[-1,-1,''],[-1,-1,''],[-1,-1,''],[-1,-1,''],[-1,-1,'']], - False, True, 0, (255,255,255), (0,0,0), False,'',0, False - ] - else: - self.stp = cpy(stp) - - text=self.text - panel = eg.ConfigPanel(self) - nameLbl=wx.StaticText(panel, -1, text.nameObs) - nameCtrl=wx.TextCtrl(panel,-1,self.stp[0]) - intervalLbl_1=wx.StaticText(panel, -1, text.interval_1) - intervalCtrl = eg.SpinIntCtrl( - panel, - -1, - value = self.stp[1], - min=1, - max=999, - ) - intervalLbl_2=wx.StaticText(panel, -1, text.interval_2) - accountLbl=wx.StaticText(panel, -1, text.accounts) - choices=[n[0] for n in self.plugin.configs] - accountCtrl = wx.CheckListBox( - panel, - -1, - choices = choices, - size=((-1,80)), - ) - checked = self.stp[2] - for i in range(len(choices)): - while 1: - for x in checked: - if x == choices[i]: - accountCtrl.Check(i,True) - break - break - - rb0 = panel.RadioButton(self.stp[4]==0,text.radio_buttons[0], style=wx.RB_GROUP) - rb1 = panel.RadioButton(self.stp[4]==1,text.radio_buttons[1]) - rb2 = panel.RadioButton(self.stp[4]==2,text.radio_buttons[2]) - messageCtrl = wx.CheckBox(panel, label = text.message) - messageCtrl.SetValue(self.stp[6]) - messageCtrl.Enable(not self.stp[14]) - messageCtrl.SetToolTipString(text.tip0) - eventCtrl = wx.CheckBox(panel, label = text.totalEvent) - eventCtrl.SetToolTipString(text.tip4) - event2Ctrl = wx.CheckBox(panel, label = text.emailEvent) - event2Ctrl.SetToolTipString(text.tip3) - event2Ctrl.SetValue(self.stp[11]) - eventCtrl.SetValue(self.stp[7]) - eventCtrl.Enable(not self.stp[14]) - event2Ctrl.Enable(False) - evtNameLbl=wx.StaticText(panel, -1, text.evtName) - evtNameCtrl=wx.TextCtrl(panel,-1,self.stp[3]) - #evtName2Ctrl=wx.TextCtrl(panel,-1,self.stp[12]) - evtName2Ctrl = wx.ComboBox( - panel, - -1, - choices = self.plugin.text.field_1[1:], - style = wx.CB_DROPDOWN - ) - evtName2Ctrl.SetValue(self.stp[12]) - payloadLbl=wx.StaticText(panel, -1, text.payload) - payloadCtrl = wx.Choice(panel, -1, choices =text.totalPayload) - payload2Ctrl = wx.Choice(panel, -1, choices=self.plugin.text.field_1) - payloadCtrl.SetSelection(self.stp[8]) - payload2Ctrl.SetSelection(self.stp[13]) - deleteCtrl = wx.CheckBox(panel, label = text.delete) - deleteCtrl.SetValue(self.stp[14]) - deleteCtrl.SetToolTipString(text.tip1) - filterSizer = wx.FlexGridSizer(rows=6, cols=3) - for n in range(6): - fieldCtrl_1 = wx.Choice(panel,id=100+n,choices=self.plugin.text.field_1) - fieldCtrl_1.Bind(wx.EVT_CHOICE,onFilter) - indx0 = self.stp[5][n][0] - fieldCtrl_1.SetSelection(indx0) - if indx0 == -1: - fieldCtrl_1.Enable(False) - fieldCtrl_2 = wx.Choice(panel,id=200+n,choices=text.field_2) - fieldCtrl_2.Bind(wx.EVT_CHOICE,onFilter) - indx1 = self.stp[5][n][1] - fieldCtrl_2.SetSelection(indx1) - fieldCtrl_3 = wx.TextCtrl(panel,300+n,self.stp[5][n][2]) - fieldCtrl_3.Bind(wx.EVT_TEXT,onFilter) - filterSizer.Add(fieldCtrl_1) - filterSizer.Add(fieldCtrl_2) - filterSizer.Add(fieldCtrl_3) - if indx0 < 1: - fieldCtrl_2.Enable(False) - fieldCtrl_3.Enable(False) - horizSizer = wx.BoxSizer(wx.HORIZONTAL) - leftSizer = wx.BoxSizer(wx.VERTICAL) - rightSizer = wx.BoxSizer(wx.VERTICAL) - rightSizer.Add(rb0,0,wx.TOP,0) - rightSizer.Add(rb1,0,wx.TOP,2) - rightSizer.Add(rb2,0,wx.TOP,2) - rightSizer.Add(filterSizer,0,wx.EXPAND|wx.TOP,7) - intervalSizer = wx.BoxSizer(wx.HORIZONTAL) - horizSizer.Add(leftSizer,0,wx.EXPAND,wx.TOP,0) - horizSizer.Add(rightSizer,0,wx.LEFT|wx.EXPAND,16) - leftSizer.Add(nameLbl,0,wx.TOP,0) - leftSizer.Add(nameCtrl,0,wx.EXPAND) - intervalSizer.Add(intervalLbl_1,0,wx.TOP,4) - intervalSizer.Add(intervalCtrl,0,wx.LEFT|wx.RIGHT,4) - intervalSizer.Add(intervalLbl_2,0,wx.TOP,4) - leftSizer.Add(intervalSizer,0,wx.EXPAND|wx.TOP,15) - leftSizer.Add(accountLbl,0,wx.TOP,11) #13 - leftSizer.Add(accountCtrl,0,wx.EXPAND) - panel.sizer.Add(horizSizer) - bottomSizer = wx.GridBagSizer(2,10) - bottomSizer.Add(evtNameLbl,(0,1),wx.DefaultSpan) - bottomSizer.Add(payloadLbl,(0,2),wx.DefaultSpan) - bottomSizer.Add(event2Ctrl,(1,0),wx.DefaultSpan,wx.TOP,4) - bottomSizer.Add(evtName2Ctrl,(1,1),wx.DefaultSpan,wx.EXPAND) - bottomSizer.Add(payload2Ctrl,(1,2),wx.DefaultSpan,wx.EXPAND) - bottomSizer.Add(deleteCtrl,(1,3),wx.DefaultSpan,wx.TOP|wx.ALIGN_RIGHT,4) - bottomSizer.Add(eventCtrl,(2,0),wx.DefaultSpan,wx.TOP,10) - bottomSizer.Add(evtNameCtrl,(2,1),wx.DefaultSpan,wx.TOP|wx.EXPAND,6) - bottomSizer.Add(payloadCtrl,(2,2),wx.DefaultSpan,wx.TOP|wx.EXPAND,6) - bottomSizer.Add(messageCtrl,(3,0),wx.DefaultSpan,wx.TOP,16) - labelBck = wx.StaticText(panel, -1, text.backCol) - labelFore = wx.StaticText(panel, -1, text.forCol) - backgroundColourButton = wx.ColourPickerCtrl(panel) - backgroundColourButton.SetColour(self.stp[9]) - foregroundColourButton = wx.ColourPickerCtrl(panel) - foregroundColourButton.SetColour(self.stp[10]) - colourSizer = wx.GridBagSizer(3,3) - colourSizer.Add(labelBck,(0,0),wx.DefaultSpan,wx.TOP,4) - colourSizer.Add(backgroundColourButton,(0,1)) - colourSizer.Add(labelFore,(0,3),wx.DefaultSpan,wx.TOP,4) - colourSizer.Add(foregroundColourButton,(0,4)) - bottomSizer.Add(colourSizer,(3,1),(1,3),wx.TOP|wx.EXPAND,12) - colourSizer.AddGrowableCol(2) - panel.sizer.Add(bottomSizer,0,wx.EXPAND|wx.TOP,12) - panel.sizer.Layout() - self.flag2=False - - def OnBackgroundColourButton(event): - self.stp[9] = event.GetColour() - backgroundColourButton.Bind(wx.EVT_COLOURPICKER_CHANGED, OnBackgroundColourButton) - - def OnForegroundColourButton(event): - self.stp[10] = event.GetColour() - foregroundColourButton.Bind(wx.EVT_COLOURPICKER_CHANGED, OnForegroundColourButton) - - def EnableEventCtrl(): - flag = deleteCtrl.GetValue() - eventCtrl.Enable(not flag) - if flag: - eventCtrl.SetValue(False) - evtNameCtrl.Enable(False) - payloadCtrl.Enable(False) - evtNameCtrl.ChangeValue('') - payloadCtrl.SetSelection(0) - - def EnableEvent2Ctrl(): - if rb0.GetValue(): - event2Ctrl.SetValue(False) - event2Ctrl.Enable(False) - else: - event2Ctrl.Enable(True) - onEvent2Ctrl() - EnableEventCtrl() - - def onRadioBtns(evt=None): - if self.flag2: - return - if rb0.GetValue(): - mode = 0 - for indx in range(6): - ctrl_1=wx.FindWindowById(indx+100) - ctrl_2=wx.FindWindowById(indx+200) - ctrl_3=wx.FindWindowById(indx+300) - ctrl_1.Enable(False) - ctrl_2.Enable(False) - ctrl_3.Enable(False) - ctrl_1.SetSelection(-1) - ctrl_2.SetSelection(-1) - ctrl_3.ChangeValue('') - else: - for indx in range(6): - ctrl_1=wx.FindWindowById(indx+100) - if not ctrl_1.IsEnabled(): - ctrl_1.SetSelection(0) - ctrl_1.Enable(True) - if rb1.GetValue(): - mode = 1 - else: - mode = 2 - self.stp[4] = mode - if evt: - evt.Skip() - EnableEvent2Ctrl() - validation() - rb0.Bind(wx.EVT_RADIOBUTTON, onRadioBtns) - rb1.Bind(wx.EVT_RADIOBUTTON, onRadioBtns) - rb2.Bind(wx.EVT_RADIOBUTTON, onRadioBtns) - - def onEvent2Ctrl(evt = None): - flag = event2Ctrl.GetValue() - evtName2Ctrl.Enable(flag) - payload2Ctrl.Enable(flag) - deleteCtrl.Enable(flag) - if not flag: - payload2Ctrl.SetSelection(0) - deleteCtrl.SetValue(False) - #evtName2Ctrl.ChangeValue('') - evtName2Ctrl.SetValue('') - self.stp[12] = '' - self.stp[11] = flag - if evt: - evt.Skip() - validation() - event2Ctrl.Bind(wx.EVT_CHECKBOX, onEvent2Ctrl) - - def onDeleteCtrl(evt = None): - flag = deleteCtrl.GetValue() - messageCtrl.Enable(not flag) - if flag: - messageCtrl.SetValue(False) - onMessageCtrl() - EnableEventCtrl() - evt.Skip() - validation() - deleteCtrl.Bind(wx.EVT_CHECKBOX, onDeleteCtrl) - - def onEventCtrl(evt = None): - flag = eventCtrl.GetValue() - evtNameCtrl.Enable(flag) - payloadCtrl.Enable(flag) - if not flag: - #evtNameCtrl.ChangeValue('') - evtNameCtrl.SetValue('') - self.stp[3] = '' - if evt: - evt.Skip() - validation() - eventCtrl.Bind(wx.EVT_CHECKBOX, onEventCtrl) - - def onNameCtrl(evt): - self.stp[0] = nameCtrl.GetValue() - evt.Skip() - validation() - nameCtrl.Bind(wx.EVT_TEXT, onNameCtrl) - - def onEvtNameCtrl(evt): - evt.Skip() - validation() - evtNameCtrl.Bind(wx.EVT_TEXT, onEvtNameCtrl) - - def onEvtName2Ctrl(evt): - evt.Skip() - validation() - evtName2Ctrl.Bind(wx.EVT_TEXT, onEvtName2Ctrl) - evtName2Ctrl.Bind(wx.EVT_COMBOBOX, onEvtName2Ctrl) - - def onMessageCtrl(evt=None): - self.stp[6] = messageCtrl.GetValue() - flag = self.stp[6] - - labelBck.Enable(flag) - labelFore.Enable(flag) - backgroundColourButton.Enable(flag) - foregroundColourButton.Enable(flag) - if evt: - evt.Skip() - validation() - onMessageCtrl() - messageCtrl.Bind(wx.EVT_CHECKBOX, onMessageCtrl) - - def onCheckListBox(evt): - index = evt.GetSelection() - evt.Skip() - validation() - accountCtrl.SetSelection(index) # so that (un)checking also selects (moves the highlight) - accountCtrl.Bind(wx.EVT_CHECKLISTBOX, onCheckListBox) - - def UpdateConfig(): - choices = accountCtrl.GetStrings() - tmpList=[] - for indx in range(len(choices)): - if accountCtrl.IsChecked(indx): - tmpList.append(choices[indx]) - self.stp[2] = tmpList[:] - tmpList=[] - for indx in range(6): - ctrl_0 = wx.FindWindowById(indx+100) - indx0 = ctrl_0.GetSelection() - ctrl_1 = wx.FindWindowById(indx+200) - indx1 = ctrl_1.GetSelection() - val2=wx.FindWindowById(indx+300).GetValue() - tmpList.append((indx0, indx1, val2)) - self.stp[5] = tmpList[:] - self.stp[1] = intervalCtrl.GetValue() - self.stp[3] = evtNameCtrl.GetValue() - self.stp[7] = eventCtrl.GetValue() - self.stp[8] = payloadCtrl.GetSelection() - self.stp[12] = evtName2Ctrl.GetValue() - self.stp[13] = payload2Ctrl.GetSelection() - self.stp[14] = deleteCtrl.GetValue() - - # re-assign the test button - def OnTestButton(event): - UpdateConfig() - self.startObserv(self.stp) - panel.dialog.buttonRow.testButton.SetLabel(text.startNow) - panel.dialog.buttonRow.testButton.SetToolTipString(text.tip2) - panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, OnTestButton) - EnableEvent2Ctrl() - - while panel.Affirmed(): - UpdateConfig() - panel.SetResult( - self.stp, - ) - - class text: - nameObs = 'Observation name:' - accounts = 'Accounts to observation:' - interval_1 = 'Interval:' - interval_2 = 'minutes' - field_2 = ( - 'contains', - "doesn't contain ", - 'is', - "isn't", - 'starts with', - 'ends with', - ) - radio_buttons = ( - 'Global observation without filtering', - 'Message match all of the following rules', - 'Message match any of the following rules', - ) - message = 'Show notification window' - #colour = "Colours ..." - totalEvent = 'Trigger total event' - evtName = 'Event name:' - tip0 = 'Show notification window with count of waiting e-mails' - tip1 = 'After event triggering delete e-mail on server' - tip2 = 'Start observation now' - tip3 = 'Trigger event for each e-mail' - tip4 = 'Trigger event in any change in the number of waiting messages' - emailEvent = "E-mail event" - totalEvent = 'Total event' - payload = "Payload:" - totalPayload = ("None", "Count") - delete = "Delete" - startNow = 'Start now !' - backCol = 'Background colour:' - forCol = 'Foreground colour:' - warning = 'Was found no one account, corresponding to the list %s !' -#=============================================================================== - -class SendEmail(eg.ActionClass): - def __call__( - self, - sbjct = '', - From = '', - To = '', - Copy = '', - Txt = '', - Append = '', - toName = '', - references = None, - messageID = None - ): - smt=SendMailThread( - self.plugin, - sbjct, - From, - To, - Copy, - Txt, - Append, - toName, - references, - messageID - ) - smt.start() - - def Configure( - self, - sbjct = '', - From = '', - To = '', - Copy = '', - Txt = '', - Append = '', - toName = '' - ): - panel = eg.ConfigPanel(self, resizable=True) - subjectCtrl,fromCtrl,toCtrl,copyCtrl,outTextCtrl,textsCtrl,toNameCtrl, topSizer = SendCfg( - self, - panel, - sbjct, - From, - To, - Copy, - Txt, - Append, - toName, - self.text, - self.plugin - ) - panel.sizer.Add(topSizer,1,wx.EXPAND|wx.LEFT|wx.RIGHT,16) - text = self.text - # re-assign the test button - def OnTestButton(event): - t = SendMailThread( - self.plugin, - subjectCtrl.GetValue(), - fromCtrl.GetStringSelection(), - toCtrl.GetValue(), - copyCtrl.GetStringSelection(), - outTextCtrl.GetValue(), - textsCtrl.GetValue(), - toNameCtrl.GetValue(), - None, - None - ) - t.start() - panel.dialog.buttonRow.testButton.SetLabel(text.sendNow) - panel.dialog.buttonRow.testButton.SetToolTipString(text.tip3) - panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, OnTestButton) - - def validation(event=None): - flag = True - if not validateEmailAddr(toCtrl.GetValue()): - flag = False - if subjectCtrl.GetValue()=='': - flag = False - panel.dialog.buttonRow.applyButton.Enable(flag) - panel.dialog.buttonRow.okButton.Enable(flag) - - subjectCtrl.Bind(wx.EVT_TEXT, validation) - toCtrl.Bind(wx.EVT_TEXT, validation) - validation() - panel.sizer.Layout() - - while panel.Affirmed(): - panel.SetResult( - subjectCtrl.GetValue(), - fromCtrl.GetStringSelection(), - toCtrl.GetValue(), - copyCtrl.GetStringSelection(), - outTextCtrl.GetValue(), - textsCtrl.GetValue(), - toNameCtrl.GetValue() - ) - - class text: - fromLabel = 'From:' - toLabel = 'To:' - copyLabel = 'Copy:' - subjectLabel = 'Subject:' - outText = "Text:" - outTexts = "Append:" - tip = 'Here can be expression as {eg.event.payload} too !' - tip1 = "Recipient's Name (not obligatory)" - tip2 = "Recipient's Address (obligatory)" - tip3 = 'Send your e-mail now !' - sendNow = 'Send now !' - replyTitle = 'Reply' -#=============================================================================== - -class SendMailDlg(wx.MiniFrame): - def __init__(self, parent): - wx.MiniFrame.__init__( - self, - parent, - -1, - '', - size = (360, 270), - style = wx.CAPTION|wx.RESIZE_BORDER, - name = 'Send Email' - ) - self.SetBackgroundColour(wx.NullColour) - - def ShowSendMailDlg( - self, - sbjct = '', - From = '', - To = '', - Copy = '', - Txt = '', - Append = '', - toName = '', - text = SendEmail.text, - plugin = None, - references = None, - messageID = None - ): - self.SetTitle(3*' '+text.replyTitle) - panel = self - subjectCtrl,fromCtrl,toCtrl,copyCtrl,outTextCtrl,textsCtrl,toNameCtrl,topSizer = SendCfg( - self, - panel, - sbjct, - From, - To, - Copy, - Txt, - Append, - toName, - text, - plugin - ) - sizer = wx.BoxSizer(wx.VERTICAL) - self.SetSizer(sizer) - sizer.Add((1,10)) - sizer.Add(topSizer,1,wx.EXPAND|wx.LEFT|wx.RIGHT,16) - line = wx.StaticLine(self, -1, size=(20,-1),pos = (200,0), style=wx.LI_HORIZONTAL) - btn1 = wx.Button(self, wx.ID_OK) - btn1.SetLabel(text.sendNow) - btn1.Enable(False) - btn1.SetDefault() - btn2 = wx.Button(self, wx.ID_CANCEL) - btn2.SetLabel(plugin.text.cancel) - btnsizer = wx.StdDialogButtonSizer() - btnsizer.AddButton(btn1) - btnsizer.AddButton(btn2) - btnsizer.Realize() - sizer.Add((1,5)) - sizer.Add(line, 0, wx.EXPAND|wx.ALIGN_CENTER|wx.TOP|wx.BOTTOM,5) - sizer.Add(btnsizer, 0, wx.EXPAND|wx.RIGHT, 12) - sizer.Add((1,5)) - - def onSomeChange(evt): - flag = True - if not validateEmailAddr(toCtrl.GetValue()): - flag = False - if subjectCtrl.GetValue()=='': - flag = False - if outTextCtrl.GetValue()=='': - flag = False - btn1.Enable(flag) - - toCtrl.Bind(wx.EVT_TEXT,onSomeChange) - outTextCtrl.Bind(wx.EVT_TEXT,onSomeChange) - subjectCtrl.Bind(wx.EVT_TEXT,onSomeChange) - - def onClose(evt): - self.MakeModal(False) - self.Destroy() - self.Bind(wx.EVT_CLOSE, onClose) +import wx +from wx.lib.intctrl import IntCtrl as intCtrl - def onCancel(evt): - self.Close() - btn2.Bind(wx.EVT_BUTTON,onCancel) +from .actions import AbortAllObservations, AbortObservation, SendEmail, StartObservation +from .dialogs import GroupsDialog, ObservViewerDialog, OutServerDialog, SignaturesDialog +from .threads import ObservationThread +from .utils import move_item, validate_email_addr - def onSend(evt): - t = SendMailThread( - self.plugin, - subjectCtrl.GetValue(), - fromCtrl.GetStringSelection(), - toCtrl.GetValue(), - copyCtrl.GetStringSelection(), - outTextCtrl.GetValue(), - textsCtrl.GetValue(), - toNameCtrl.GetValue(), - references, - messageID - ) - t.start() - self.Close() - - btn1.Bind(wx.EVT_BUTTON,onSend) - sizer.Layout() - sizer.Fit(self) - size = self.GetSize() - self.SetMinSize(size) - self.MakeModal(True) - self.Centre() - self.Show() - self.SetFocus() - self.Raise() -#=============================================================================== ACTIONS = ( (StartObservation, 'StartObservation', 'Start observation', 'Start observation.', None), @@ -3457,677 +154,697 @@ def onSend(evt): (AbortAllObservations, 'AbortAllObservations', 'Abort all observations', 'Abort all observations.', None), (SendEmail, 'SendEmail', 'Send e-mail', 'Send e-mail.', None), ) -#=============================================================================== -class E_mail(eg.PluginClass): - configs = [] - servers = [] - texts = [] - groups = [] - def __init__( - self, - ): +# noinspection PyClassHasNoInit +class Text(eg.TranslatableStrings): + label = 'Account name:' + servLabel = 'Server name:' + accountsList = 'List of accounts:' + serversList = 'List of servers:' + delete = 'Delete' + insert = 'Add new' + param = "Account parameters" + servParam = "Server parameters" + assignError = 'Account "%s" not exists!' + eBoxCase = ( + 'POP3', + 'IMAP', + ) + accType = 'Account type' + userName = 'User name (optional):' + # user = 'User name:' + mailAddress = 'E-mail address:' + replAddress = 'Address for reply (optional):' + incServer = 'Incoming server:' + incPort = 'Port' + userLogin = 'User login:' + userPassword = 'User password:' + outServerTitle = 'Outgoing Servers (SMTP) Settings' + viewerTitle = 'Observations viewer/manager' + secureConnectLabel = 'Use secure connection:' + useName = 'Use name and password' + secureConnectChoice1 = ( + 'No', + # 'TLS, if available', + # 'TLS', + '>>> TLS is not yet supported <<<', + '>>> TLS is not yet supported <<<', + 'SSL', + ) + secureConnectChoice2 = ( + 'No', + 'TLS, if available', + 'TLS', + 'SSL', + ) + useSecure = 'Use secure authentication' + outServer = 'Outgoing SMTP server:' + colLabels = ( + 'Observation Name', + 'Interval', + 'Last check', + 'Total Event', + 'Message Event', + ) + labelsDetails = ( + 'Nr.', + 'Account', + 'Subject', + 'From', + ) + + listhead = "Currently active observation:" + show = "Show" + refresh = "Refresh" + client = "E-mail client" + reply = "Reply" + close = "Close" + textsTitle = 'Signatures for outgoing e-mails' + textsList = "Signatures:" + txtLabel = "Text name:" + outText = "Text:" + groupsTitle = 'Recipient groups for outgoing e-mails' + groupsList = "List of groups:" + groupLabel = "Group name:" + addressLabel = "E-mail address:" + outAddress = "List of e-mail addresses:" + deleteServer = ('Server "%s" is used in your configuration.\n' + 'You cannot remove it.') + details_title = 'Observation' + detTitle = 'Observation "%s" : %s new E-mails' + popup = ("Show", + "Delete", + "Refresh", + "E-mail client", + "Close" + ) + error0 = 'POP3 Protocol Error:' + error1 = 'Cannot connect to POP server "%s:%i"' + error2 = 'IMAP Protocol Error:' + error3 = 'Cannot connect to IMAP server "%s:%i"' + error4 = 'Cannot log in to account "%s" on server "%s:%i"' + error5 = 'Cannot found server "%s", try use default server "%s".' + error6 = 'SMTP Protocol Error:' + error7 = 'Cannot connect to SMTP server "%s:%i"' + error8 = 'Your message may not have been sent!' + error9 = 'Cannot open default e-mail client !' + tip0 = ( + "Right-click to hide the window\n" + "Double-click to open/refresh details\n" + "CTRL+Double-click to open default e-mail client" + ) + notifLabel = 'waiting\ne-mail(s)' + cancel = 'Cancel' + ok = 'OK' + buttons = ( + "Abort", + "Abort all", + "Refresh", + "Close", + ) + observStarts = 'Observation "%s" starts' + warning = 'When any change in the configuration, will all running observations stopped!' + wrote = '%s wrote:' + field_1 = ( + 'None', + 'Subject', + 'From', + 'Body', + ) + + +class EMail(eg.PluginClass): + text = Text + + def __init__(self): + super(EMail, self).__init__() self.AddActionsFromList(ACTIONS) - self.observThreads = {} + self.configs = [] + self.servers = [] + self.texts = [] + self.groups = [] + self.observ_threads = {} def __stop__(self): - self.AbortAllObservations(close = True) + self.abort_all_observations(close=True) def __close__(self): - self.AbortAllObservations(close = True) - - def __start__( - self, - configs=[], - servers=[], - texts = [], - groups = [], - passINC = eg.Bunch(data={}), - passSMTP = eg.Bunch(data={}) - ): - self.observThreads = {} - self.tempData = [] - self.passINC = passINC - self.passSMTP = passSMTP - self.servers=servers - self.configs=configs - del passINC - del passSMTP + self.abort_all_observations(close=True) + + def __start__(self, configs=None, servers=None, texts=None, groups=None, pass_inc=None, pass_smtp=None): + if groups is None: + groups = [] + if texts is None: + texts = [] + if servers is None: + servers = [] + if configs is None: + configs = [] + if pass_inc is None: + pass_inc = eg.Bunch(data={}) + if pass_smtp is None: + pass_smtp = eg.Bunch(data={}) + self.observ_threads = {} + self.temp_data = [] + self.pass_inc = pass_inc + self.pass_smtp = pass_smtp + self.servers = servers + self.configs = configs self.texts = texts self.groups = groups - def StartObservation( - self, - setup, - notifFrame, - ): - observName = setup[0] - if observName in self.observThreads: - ot = self.observThreads[observName] + def Configure(self, configs=None, servers=None, texts=None, groups=None, pass_inc=None, pass_smtp=None): + if groups is None: + groups = [] + if texts is None: + texts = [] + if servers is None: + servers = [] + if configs is None: + configs = [] + if pass_inc is None: + pass_inc = eg.Bunch(data={}) + if pass_smtp is None: + pass_smtp = eg.Bunch(data={}) + panel = eg.ConfigPanel(self) + PluginConfig(self, panel, configs, servers, texts, groups, pass_inc, pass_smtp) + + def start_observation(self, setup, notif_frame): + observ_name = setup[0] + if observ_name in self.observ_threads: + ot = self.observ_threads[observ_name] if ot.isAlive(): - ot.AbortObservation() - if not observName in [item[0] for item in self.tempData]: - self.tempData.append([observName, 0, [], None, notifFrame]) #update temporary data store + ot.abort_observation() + if observ_name not in [item[0] for item in self.temp_data]: + self.temp_data.append([observ_name, 0, [], None, notif_frame]) # update temporary data store ot = ObservationThread( setup, self, - notifFrame + notif_frame ) ot.start() - def AbortObservation(self, observName): - if observName in self.observThreads: - ot = self.observThreads[observName] - ot.AbortObservation() + def abort_observation(self, observ_name): + if observ_name in self.observ_threads: + ot = self.observ_threads[observ_name] + ot.abort_observation() - def AbortAllObservations(self, close=False): - thrds = list(enumerate(self.observThreads)) + def abort_all_observations(self, close=False): + thrds = list(enumerate(self.observ_threads)) thrds.reverse() for i, item in thrds: - ot = self.observThreads[item] - ot.AbortObservation(close) - - def Configure( - self, - configs=[], - servers=[], - texts = [], - groups = [], - passINC = eg.Bunch(data={}), - passSMTP = eg.Bunch(data={}) - ): - panel = eg.ConfigPanel(self) - panel.cfgs = cpy(configs) - panel.servers = cpy(servers) - panel.txts = cpy(texts) - panel.grps = cpy(groups) - del configs - del servers - del texts - del groups - panel.passINC = {} - panel.passSMTP = {} - for i,item in list(enumerate(passINC.data)): - panel.passINC[item]=passINC.data[item] - for i,item in list(enumerate(passSMTP.data)): - panel.passSMTP[item]=passSMTP.data[item] - text = self.text - panel.dialog.buttonRow.okButton.SetToolTipString(text.warning) + ot = self.observ_threads[item] + ot.abort_observation(close) - def boxEnable(enable): - choiceType.Enable(enable) # - labelCtrl.Enable(enable) - labelLbl.Enable(enable) - userNameLbl.Enable(enable) - userNameCtrl.Enable(enable) - mailAddressLbl.Enable(enable) - mailAddressCtrl.Enable(enable) - replAddressLbl.Enable(enable) - replAddressCtrl.Enable(enable) - incServerLbl.Enable(enable) - incServerCtrl.Enable(enable) - incPortLbl.Enable(enable) - incPortCtrl.Enable(enable) - userLoginLbl.Enable(enable) - userLoginCtrl.Enable(enable) - userPasswordLbl.Enable(enable) - userPasswordCtrl.Enable(enable) - outServerLbl.Enable(enable) - panel.outServerCtrl.Enable(enable) - choiceSecureLbl.Enable(enable) - choiceSecureCtrl.Enable(enable) - useSecureCtrl.Enable(enable) - outServerBtn.Enable(enable) - def setValue(item): - labelCtrl.ChangeValue(item[0]) - choiceType.SetSelection(item[1]) - userNameCtrl.SetValue(item[2]) - mailAddressCtrl.SetValue(item[3]) - replAddressCtrl.SetValue(item[4]) - incServerCtrl.SetValue(item[5]) - incPortCtrl.SetValue(item[6]) - userLoginCtrl.SetValue(item[7]) - panel.outServerCtrl.SetStringSelection(item[8]) - choiceSecureCtrl.SetSelection(item[9]) - useSecureCtrl.SetValue(item[10]) - if item[0] != '' and item[0] in panel.passINC: - userPasswordCtrl.ChangeValue(panel.passINC[item[0]]) - else: - userPasswordCtrl.ChangeValue('') +class PluginConfig: + def __init__(self, plugin, panel, configs, servers, texts, groups, pass_inc, pass_smtp): + self.plugin = plugin + self.panel = panel + self.cfgs = deepcopy(configs) + self.servers = deepcopy(servers) + self.texts = deepcopy(texts) + self.grps = deepcopy(groups) + self.pass_inc = {} + self.pass_smtp = {} + for i, item in list(enumerate(pass_inc.data)): + self.pass_inc[item] = pass_inc.data[item] + for i, item in list(enumerate(pass_smtp.data)): + self.pass_smtp[item] = pass_smtp.data[item] + self.text = text = Text + self.old_sel = -1 + panel.dialog.buttonRow.okButton.SetToolTip(wx.ToolTip(text.warning)) + + self.create_widgets() + self.create_sizers() + self.bindings() + + if self.cfgs: + self.list_box_ctrl.Set([n[0] for n in self.cfgs]) + self.list_box_ctrl.SetSelection(0) + self.set_value(self.cfgs[0]) + self.old_sel = 0 + self.btn_up.Enable() + self.btn_down.Enable() + self.btn_del.Enable() + else: + self.box_enable(False) + panel.dialog.buttonRow.applyButton.Disable() + panel.dialog.buttonRow.okButton.Disable() - def validation(): - flag = True - label = labelCtrl.GetValue() - if label == "": - flag = False - else: - if [n[0] for n in panel.cfgs].count(label)!=1: - flag = False - if not validateEmailAddr(mailAddressCtrl.GetValue()): - flag = False - replAddr = replAddressCtrl.GetValue() - if replAddr != '' and not validateEmailAddr(replAddr): - flag = False - if incServerCtrl.GetValue() == '': - flag = False - if incPortCtrl.GetValue() < 0: - flag = False - if userLoginCtrl.GetValue() == '': - flag = False - if userPasswordCtrl.GetValue() == '': - flag = False - if panel.outServerCtrl.GetSelection() == -1: - flag = False - panel.dialog.buttonRow.applyButton.Enable(flag) - panel.dialog.buttonRow.okButton.Enable(flag) - btnApp.Enable(flag) + while panel.Affirmed(): + pass_inc.data = self.pass_inc + pass_smtp.data = self.pass_smtp + panel.SetResult( + self.cfgs, + self.servers, + self.texts, + self.grps, + pass_inc, + pass_smtp + ) - panel.validation = validation - leftSizer = wx.BoxSizer(wx.VERTICAL) - topLeftSizer = wx.FlexGridSizer(rows=5, cols=2, vgap=2, hgap=8) - leftSizer.Add(topLeftSizer,0,wx.EXPAND) - topMiddleSizer=wx.BoxSizer(wx.VERTICAL) - previewLbl=wx.StaticText(panel, -1, text.accountsList) - listBoxCtrl=wx.ListBox( - panel,-1, - size=wx.Size(120,106), - style=wx.LB_SINGLE|wx.LB_NEEDED_SB - ) - labelLbl=wx.StaticText(panel, -1, text.label) - labelCtrl=wx.TextCtrl(panel,-1,'') - choiceType = wx.RadioBox( - panel, - -1, - text.accType, - choices=(text.eBoxCase), - style=wx.RA_SPECIFY_ROWS - ) - #Box content - userNameLbl=wx.StaticText(panel, -1, text.userName) - userNameCtrl=wx.TextCtrl(panel,-1,'') - userNameCtrl.SetMaxSize((194,-1)) - mailAddressLbl=wx.StaticText(panel, -1, text.mailAddress) - mailAddressCtrl=wx.TextCtrl(panel,-1,'') - replAddressLbl=wx.StaticText(panel, -1, text.replAddress) - replAddressCtrl=wx.TextCtrl(panel,-1,'') - incServerLbl=wx.StaticText(panel, -1, text.incServer) - incServerCtrl=wx.TextCtrl(panel,-1,'') - incPortLbl=wx.StaticText(panel, -1, text.incPort) - incPortCtrl=intCtrl(panel,-1,0,size=(50,-1)) - userLoginLbl=wx.StaticText(panel, -1, text.userLogin) - userLoginCtrl=wx.TextCtrl(panel,-1,'') - userPasswordLbl=wx.StaticText(panel, -1, text.userPassword) - userPasswordCtrl=wx.TextCtrl(panel,-1,'',style = wx.TE_PASSWORD) - outServerLbl=wx.StaticText(panel, -1, text.outServer) - panel.outServerCtrl=wx.Choice( + # noinspection PyAttributeOutsideInit + def create_widgets(self): + panel = self.panel + text = self.text + self.preview_lbl = wx.StaticText(panel, wx.ID_ANY, text.accountsList) + # self.label_lbl = wx.StaticText(panel, wx.ID_ANY, text.label) + self.user_name_lbl = wx.StaticText(panel, wx.ID_ANY, text.userName) + self.mail_address_lbl = wx.StaticText(panel, wx.ID_ANY, text.mailAddress) + self.repl_address_lbl = wx.StaticText(panel, wx.ID_ANY, text.replAddress) + self.inc_server_lbl = wx.StaticText(panel, wx.ID_ANY, text.incServer) + self.inc_port_lbl = wx.StaticText(panel, wx.ID_ANY, text.incPort) + self.user_login_lbl = wx.StaticText(panel, wx.ID_ANY, text.userLogin) + self.user_password_lbl = wx.StaticText(panel, wx.ID_ANY, text.userPassword) + self.out_server_lbl = wx.StaticText(panel, wx.ID_ANY, text.outServer) + self.choice_secure_lbl = wx.StaticText(panel, wx.ID_ANY, text.secureConnectLabel) + + self.user_name_ctrl = wx.TextCtrl(panel) + self.mail_address_ctrl = wx.TextCtrl(panel) + self.repl_address_ctrl = wx.TextCtrl(panel) + self.inc_server_ctrl = wx.TextCtrl(panel) + self.inc_port_ctrl = intCtrl(panel, wx.ID_ANY, 0) + self.user_login_ctrl = wx.TextCtrl(panel) + self.user_password_ctrl = wx.TextCtrl(panel, style=wx.TE_PASSWORD) + self.label_ctrl = wx.TextCtrl(panel) + self.list_box_ctrl = wx.ListBox(panel, style=wx.LB_SINGLE | wx.LB_NEEDED_SB) + self.choice_type = wx.RadioBox( panel, - -1, - choices = [n[0] for n in panel.servers], - ) - outServerBtn = wx.Button(panel,-1,'...',size=(50,-1)) - viewerBtn = wx.Button(panel,-1,text.viewerTitle) - panel.txtsBtn = wx.Button(panel,-1,text.textsTitle) - panel.grpsBtn = wx.Button(panel,-1,text.groupsTitle) - choiceSecureLbl =wx.StaticText(panel, -1, text.secureConnectLabel) - choiceSecureCtrl = wx.Choice( + label=text.accType, + choices=text.eBoxCase, + ) + self.out_server_ctrl = wx.Choice(panel, choices=[n[0] for n in self.servers]) + self.out_server_btn = wx.Button(panel, wx.ID_ANY, u'...') + self.viewer_btn = wx.Button(panel, wx.ID_ANY, text.viewerTitle) + self.txts_btn = wx.Button(panel, wx.ID_ANY, text.textsTitle) + self.grps_btn = wx.Button(panel, wx.ID_ANY, text.groupsTitle) + self.choice_secure_ctrl = wx.Choice( panel, - -1, - choices=(text.secureConnectChoice1), - ) - choiceSecureCtrl.SetMaxSize((194,-1)) - useSecureCtrl = wx.CheckBox(panel, label = text.useSecure) - serverSizer = wx.BoxSizer(wx.HORIZONTAL) - serverSizerL = wx.BoxSizer(wx.VERTICAL) - serverSizerL.Add(incServerLbl,0,wx.EXPAND) - serverSizerL.Add(incServerCtrl,0,wx.EXPAND) - serverSizerR = wx.BoxSizer(wx.VERTICAL) - serverSizerR.Add(incPortLbl,0,wx.EXPAND|wx.LEFT,3) - serverSizerR.Add(incPortCtrl,0,wx.EXPAND) - serverSizer.Add(serverSizerL,1,wx.EXPAND) - serverSizer.Add(serverSizerR,0,wx.EXPAND|wx.LEFT,5) - outServSizer = wx.BoxSizer(wx.HORIZONTAL) - outServSizerL = wx.BoxSizer(wx.VERTICAL) - outServSizerL.Add(outServerLbl,0,wx.EXPAND|wx.TOP,3) - outServSizerL.Add(panel.outServerCtrl,0,wx.EXPAND) - outServSizerR = wx.BoxSizer(wx.VERTICAL) - outServSizerR.Add(outServerBtn,0,wx.EXPAND|wx.TOP,15) - outServSizer.Add(outServSizerL,1,wx.EXPAND) - outServSizer.Add(outServSizerR,0,wx.EXPAND|wx.LEFT,5) - box = wx.StaticBox(panel,-1,text.param) - rightSizer = wx.StaticBoxSizer(box,wx.VERTICAL) - rightSizer.Add(userNameLbl,0,wx.TOP,3) - rightSizer.Add(userNameCtrl,0,wx.EXPAND) - rightSizer.Add(userLoginLbl,0,wx.TOP,3) - rightSizer.Add(userLoginCtrl,0,wx.EXPAND) - rightSizer.Add(userPasswordLbl,0,wx.TOP,3) - rightSizer.Add(userPasswordCtrl,0,wx.EXPAND) - rightSizer.Add(mailAddressLbl,0,wx.TOP,3) - rightSizer.Add(mailAddressCtrl,0,wx.EXPAND) - rightSizer.Add(replAddressLbl,0,wx.TOP,3) - rightSizer.Add(replAddressCtrl,0,wx.EXPAND) - rightSizer.Add(useSecureCtrl,0,wx.TOP,5) - rightSizer.Add(choiceSecureLbl,0,wx.TOP,3) - rightSizer.Add(choiceSecureCtrl,0,wx.EXPAND) - rightSizer.Add(serverSizer,0,wx.EXPAND|wx.TOP,3) - rightSizer.Add(outServSizer,0,wx.EXPAND|wx.TOP,3) - topLeftSizer.Add(previewLbl,0,wx.TOP,5) - topLeftSizer.Add((1,1)) - topLeftSizer.Add(listBoxCtrl,0,wx.TOP,5) - topLeftSizer.Add(topMiddleSizer,0,wx.TOP,5) - topLeftSizer.Add(labelLbl,0,wx.TOP,3) - topLeftSizer.Add((1,1)) - topLeftSizer.Add(labelCtrl,0,wx.EXPAND) - topLeftSizer.Add((1,1)) - topLeftSizer.Add(choiceType,0,wx.EXPAND|wx.TOP,1) - topLeftSizer.Add((1,1)) - leftSizer.Add(viewerBtn,0,wx.EXPAND|wx.TOP,10) - leftSizer.Add(panel.txtsBtn,0,wx.EXPAND|wx.TOP,10) - leftSizer.Add(panel.grpsBtn,0,wx.EXPAND|wx.TOP,10) - #Button UP - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (16, 16)) - btnUP = wx.BitmapButton(panel, -1, bmp) - btnUP.Enable(False) - topMiddleSizer.Add(btnUP) - #Button DOWN - bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_OTHER, (16, 16)) - btnDOWN = wx.BitmapButton(panel, -1, bmp) - btnDOWN.Enable(False) - topMiddleSizer.Add(btnDOWN,0,wx.TOP,3) - #Buttons 'Delete' and 'Insert new' - w1 = panel.GetTextExtent(text.delete)[0] - w2 = panel.GetTextExtent(text.insert)[0] - if w1 > w2: - btnDEL=wx.Button(panel,-1,text.delete) - btnApp=wx.Button(panel,-1,text.insert,size=btnDEL.GetSize()) - else: - btnApp=wx.Button(panel,-1,text.insert) - btnDEL=wx.Button(panel,-1,text.delete,size=btnApp.GetSize()) - btnDEL.Enable(False) - topMiddleSizer.Add(btnDEL,0,wx.TOP,5) - topMiddleSizer.Add(btnApp,0,wx.TOP,5) - mainSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer.Add(leftSizer) - mainSizer.Add(rightSizer,0,wx.LEFT|wx.EXPAND,14) - panel.sizer.Add(mainSizer) - if len(panel.cfgs) > 0: - listBoxCtrl.Set([n[0] for n in panel.cfgs]) - listBoxCtrl.SetSelection(0) - setValue(panel.cfgs[0]) - self.oldSel=0 - btnUP.Enable(True) - btnDOWN.Enable(True) - btnDEL.Enable(True) + wx.ID_ANY, + choices=text.secureConnectChoice1, + ) + self.use_secure_ctrl = wx.CheckBox(panel, label=text.useSecure) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)) + self.btn_up = wx.BitmapButton(panel, wx.ID_ANY, bmp) + self.btn_up.Enable(False) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)) + self.btn_down = wx.BitmapButton(panel, wx.ID_ANY, bmp) + self.btn_down.Enable(False) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_DELETE, wx.ART_TOOLBAR, (16, 16)) + self.btn_del = wx.BitmapButton(panel, wx.ID_ANY, bmp) + self.btn_del.Enable(False) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, (16, 16)) + self.btn_app = wx.BitmapButton(panel, wx.ID_ANY, bmp) + + def create_sizers(self): + top_middle_sizer = wx.BoxSizer(wx.VERTICAL) + top_middle_sizer.Add(self.btn_up) + top_middle_sizer.Add(self.btn_down, 0, wx.TOP, 3) + top_middle_sizer.Add(self.btn_del, 0, wx.TOP, 5) + top_middle_sizer.Add(self.btn_app, 0, wx.TOP, 5) + + top_left_sizer = wx.GridBagSizer(hgap=5, vgap=10) + top_left_sizer.Add(self.preview_lbl, pos=(0, 0), flag=wx.EXPAND) + top_left_sizer.Add(self.list_box_ctrl, pos=(1, 0), span=(4, 1), flag=wx.EXPAND) + top_left_sizer.Add(self.label_ctrl, pos=(5, 0), span=(1, 2), flag=wx.EXPAND) + top_left_sizer.Add(self.choice_type, pos=(6, 0)) + top_left_sizer.Add(self.btn_up, pos=(1, 1), flag=wx.ALIGN_BOTTOM) + top_left_sizer.Add(self.btn_down, pos=(2, 1)) + top_left_sizer.Add(self.btn_del, pos=(3, 1)) + top_left_sizer.Add(self.btn_app, pos=(4, 1)) + top_left_sizer.AddGrowableCol(0, 1) + top_left_sizer.AddGrowableRow(1, 1) + top_left_sizer.SetFlexibleDirection(wx.BOTH) + + server_sizer_l = wx.BoxSizer(wx.VERTICAL) + server_sizer_l.Add(self.inc_server_lbl, 0, wx.EXPAND) + server_sizer_l.Add(self.inc_server_ctrl, 0, wx.EXPAND) + + server_sizer_r = wx.BoxSizer(wx.VERTICAL) + server_sizer_r.Add(self.inc_port_lbl, 0, wx.LEFT, 3) + server_sizer_r.Add(self.inc_port_ctrl, 0) + + server_sizer = wx.BoxSizer(wx.HORIZONTAL) + server_sizer.Add(server_sizer_l, 1, wx.EXPAND) + server_sizer.Add(server_sizer_r, 0, wx.LEFT, 5) + + out_serv_sizer = wx.BoxSizer(wx.HORIZONTAL) + out_serv_sizer.Add(self.out_server_ctrl, 1, wx.EXPAND) + out_serv_sizer.Add(self.out_server_btn, 0, wx.EXPAND) + + box = wx.StaticBox(self.panel, wx.ID_ANY, self.text.param) + right_sizer = wx.StaticBoxSizer(box, wx.VERTICAL) + right_sizer.Add(self.user_name_lbl, 0, wx.TOP, 3) + right_sizer.Add(self.user_name_ctrl, 0, wx.EXPAND) + right_sizer.Add(self.user_login_lbl, 0, wx.TOP, 3) + right_sizer.Add(self.user_login_ctrl, 0, wx.EXPAND) + right_sizer.Add(self.user_password_lbl, 0, wx.TOP, 3) + right_sizer.Add(self.user_password_ctrl, 0, wx.EXPAND) + right_sizer.Add(self.mail_address_lbl, 0, wx.TOP, 3) + right_sizer.Add(self.mail_address_ctrl, 0, wx.EXPAND) + right_sizer.Add(self.repl_address_lbl, 0, wx.TOP, 3) + right_sizer.Add(self.repl_address_ctrl, 0, wx.EXPAND) + right_sizer.Add(self.use_secure_ctrl, 0, wx.TOP, 5) + right_sizer.Add(self.choice_secure_lbl, 0, wx.TOP, 3) + right_sizer.Add(self.choice_secure_ctrl, 0, wx.EXPAND) + right_sizer.Add(server_sizer, 0, wx.EXPAND | wx.TOP, 3) + right_sizer.Add(self.out_server_lbl, 0, wx.TOP, 3) + right_sizer.Add(out_serv_sizer, 0, wx.EXPAND | wx.TOP, 3) + + box2 = wx.StaticBox(self.panel) + mgr_sizer = wx.StaticBoxSizer(box2, wx.VERTICAL) + mgr_sizer.Add(self.viewer_btn, 0, wx.EXPAND) + mgr_sizer.Add(self.txts_btn, 0, wx.EXPAND | wx.TOP, 10) + mgr_sizer.Add(self.grps_btn, 0, wx.EXPAND | wx.TOP, 10) + + left_sizer = wx.BoxSizer(wx.VERTICAL) + left_sizer.Add(top_left_sizer, 1, wx.EXPAND) + left_sizer.Add(mgr_sizer, 0, wx.EXPAND | wx.TOP, 10) + + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + main_sizer.Add(left_sizer, 1, wx.EXPAND | wx.ALL, 10) + main_sizer.Add(right_sizer, 1, wx.TOP | wx.BOTTOM | wx.RIGHT, 10) + self.panel.sizer.Add(main_sizer, 1, wx.EXPAND) + wx.CallAfter(self.panel.Layout) + wx.CallAfter(self.panel.Refresh) + + def bindings(self): + self.label_ctrl.Bind(wx.EVT_TEXT, self.on_label_and_password) + self.user_password_ctrl.Bind(wx.EVT_TEXT, self.on_label_and_password) + self.choice_type.Bind(wx.EVT_RADIOBOX, self.on_choice_type) + self.user_name_ctrl.Bind(wx.EVT_TEXT, self.on_user_name) + self.mail_address_ctrl.Bind(wx.EVT_TEXT, self.on_mail_address) + self.repl_address_ctrl.Bind(wx.EVT_TEXT, self.on_repl_address) + self.inc_server_ctrl.Bind(wx.EVT_TEXT, self.on_inc_server) + self.inc_port_ctrl.Bind(wx.EVT_TEXT, self.on_inc_port) + self.user_login_ctrl.Bind(wx.EVT_TEXT, self.on_user_login) + self.out_server_ctrl.Bind(wx.EVT_CHOICE, self.on_out_server) + self.choice_secure_ctrl.Bind(wx.EVT_CHOICE, self.on_choice_secure) + self.use_secure_ctrl.Bind(wx.EVT_CHECKBOX, self.on_use_secure) + self.out_server_btn.Bind(wx.EVT_BUTTON, self.on_serv_button) + self.txts_btn.Bind(wx.EVT_BUTTON, self.on_txts_button) + self.grps_btn.Bind(wx.EVT_BUTTON, self.on_grps_button) + self.viewer_btn.Bind(wx.EVT_BUTTON, self.on_viewer_button) + self.list_box_ctrl.Bind(wx.EVT_LISTBOX, self.on_list_click) + self.btn_up.Bind(wx.EVT_BUTTON, self.on_button_up) + self.btn_down.Bind(wx.EVT_BUTTON, self.on_button_down) + self.btn_del.Bind(wx.EVT_BUTTON, self.on_button_delete) + self.btn_app.Bind(wx.EVT_BUTTON, self.on_button_append) + + def box_enable(self, enable): + self.choice_type.Enable(enable) + self.label_ctrl.Enable(enable) + # self.label_lbl.Enable(enable) + self.user_name_lbl.Enable(enable) + self.user_name_ctrl.Enable(enable) + self.mail_address_lbl.Enable(enable) + self.mail_address_ctrl.Enable(enable) + self.repl_address_lbl.Enable(enable) + self.repl_address_ctrl.Enable(enable) + self.inc_server_lbl.Enable(enable) + self.inc_server_ctrl.Enable(enable) + self.inc_port_lbl.Enable(enable) + self.inc_port_ctrl.Enable(enable) + self.user_login_lbl.Enable(enable) + self.user_login_ctrl.Enable(enable) + self.user_password_lbl.Enable(enable) + self.user_password_ctrl.Enable(enable) + self.out_server_lbl.Enable(enable) + self.out_server_ctrl.Enable(enable) + self.out_server_btn.Enable(enable) + self.choice_secure_lbl.Enable(enable) + self.choice_secure_ctrl.Enable(enable) + self.use_secure_ctrl.Enable(enable) + + def set_value(self, item): + self.label_ctrl.ChangeValue(item[0]) + self.choice_type.SetSelection(item[1]) + self.user_name_ctrl.SetValue(item[2]) + self.mail_address_ctrl.SetValue(item[3]) + self.repl_address_ctrl.SetValue(item[4]) + self.inc_server_ctrl.SetValue(item[5]) + self.inc_port_ctrl.SetValue(item[6]) + self.user_login_ctrl.SetValue(item[7]) + self.out_server_ctrl.SetStringSelection(item[8]) + self.choice_secure_ctrl.SetSelection(item[9]) + self.use_secure_ctrl.SetValue(item[10]) + if item[0] in self.pass_inc and item[0] != u'': + self.user_password_ctrl.ChangeValue(self.pass_inc[item[0]]) else: - boxEnable(False) - panel.dialog.buttonRow.applyButton.Enable(False) - panel.dialog.buttonRow.okButton.Enable(False) - panel.sizer.Layout() - - def OnLabelAndPassword(evt): - if panel.cfgs<>[]: - sel = self.oldSel - label = labelCtrl.GetValue().strip() - val = userPasswordCtrl.GetValue().strip() - panel.cfgs[sel][0]=label - listBoxCtrl.Set([n[0] for n in panel.cfgs]) - listBoxCtrl.SetSelection(sel) - if val != '': - panel.passINC[label]=val - validation() - evt.Skip() - labelCtrl.Bind(wx.EVT_TEXT, OnLabelAndPassword) - userPasswordCtrl.Bind(wx.EVT_TEXT, OnLabelAndPassword) - - def setPort(): - ports=((110,-1,-1,995),(143,-1,-1,993)) - secure = choiceSecureCtrl.GetSelection() - type = choiceType.GetSelection() - port = ports[type][secure] - if port>-1: - incPortCtrl.SetValue(port) - - def onChoiceType(evt): - type = choiceType.GetSelection() - sel = self.oldSel - panel.cfgs[sel][1] = type - setPort() - validation() - evt.Skip() - choiceType.Bind(wx.EVT_RADIOBOX, onChoiceType) - - def onUserName(evt): - if panel.cfgs<>[]: - val = userNameCtrl.GetValue().strip() - sel = self.oldSel - panel.cfgs[sel][2] = val - # validation() #optional - evt.Skip() - userNameCtrl.Bind(wx.EVT_TEXT, onUserName) - - def onMailAddress(evt): - if panel.cfgs<>[]: - val = mailAddressCtrl.GetValue().strip() - sel = self.oldSel - panel.cfgs[sel][3] = val - validation() - evt.Skip() - mailAddressCtrl.Bind(wx.EVT_TEXT, onMailAddress) + self.user_password_ctrl.ChangeValue(u'') - def onReplAddress(evt): - if panel.cfgs<>[]: - val = replAddressCtrl.GetValue().strip() - sel = self.oldSel - panel.cfgs[sel][4] = val - validation() - evt.Skip() - replAddressCtrl.Bind(wx.EVT_TEXT, onReplAddress) - - def onIncServer(evt): - if panel.cfgs<>[]: - val = incServerCtrl.GetValue().strip() - sel = self.oldSel - panel.cfgs[sel][5] = val - validation() - evt.Skip() - incServerCtrl.Bind(wx.EVT_TEXT, onIncServer) - - def onIncPort(evt): - if panel.cfgs<>[]: - val = incPortCtrl.GetValue() - sel = self.oldSel - panel.cfgs[sel][6] = val - validation() - evt.Skip() - incPortCtrl.Bind(wx.EVT_TEXT, onIncPort) + def validation(self): + flag = True + label = self.label_ctrl.GetValue() + if label == u'': + flag = False + else: + if [n[0] for n in self.cfgs].count(label) != 1: + flag = False + if not validate_email_addr(self.mail_address_ctrl.GetValue()): + flag = False + repl_addr = self.repl_address_ctrl.GetValue() + if repl_addr != '' and not validate_email_addr(repl_addr): + flag = False + if self.inc_server_ctrl.GetValue() == u'': + flag = False + if self.inc_port_ctrl.GetValue() < 0: + flag = False + if self.user_login_ctrl.GetValue() == u'': + flag = False + if self.user_password_ctrl.GetValue() == u'': + flag = False + if self.out_server_ctrl.GetSelection() == -1: + flag = False + self.panel.dialog.buttonRow.applyButton.Enable(flag) + self.panel.dialog.buttonRow.okButton.Enable(flag) + self.btn_app.Enable(flag) + + def on_label_and_password(self, evt): + if self.cfgs: + sel = self.old_sel + label = self.label_ctrl.GetValue().strip() + val = self.user_password_ctrl.GetValue().strip() + self.cfgs[sel][0] = label + self.list_box_ctrl.Set([n[0] for n in self.cfgs]) + self.list_box_ctrl.SetSelection(sel) + if val != u'': + self.pass_inc[label] = val + self.validation() + evt.Skip() - def onUserLogin(evt): - if panel.cfgs<>[]: - val = userLoginCtrl.GetValue().strip() - sel = self.oldSel - panel.cfgs[sel][7] = val - validation() - evt.Skip() - userLoginCtrl.Bind(wx.EVT_TEXT, onUserLogin) + def set_port(self): + ports = ((110, -1, -1, 995), (143, -1, -1, 993)) + secure = self.choice_secure_ctrl.GetSelection() + typ = self.choice_type.GetSelection() + port = ports[typ][secure] + if port > -1: + self.inc_port_ctrl.SetValue(port) + + def on_choice_type(self, evt): + typ = self.choice_type.GetSelection() + sel = self.old_sel + self.cfgs[sel][1] = typ + self.set_port() + self.validation() + evt.Skip() - def onOutServer(evt): - if panel.cfgs<>[]: - val = panel.outServerCtrl.GetStringSelection() - sel = self.oldSel - panel.cfgs[sel][8] = val - validation() - evt.Skip() - panel.outServerCtrl.Bind(wx.EVT_CHOICE, onOutServer) + def on_user_name(self, evt): + if self.cfgs: + val = self.user_name_ctrl.GetValue().strip() + sel = self.old_sel + self.cfgs[sel][2] = val + evt.Skip() - def onChoiceSecure(evt): - if panel.cfgs<>[]: - val = choiceSecureCtrl.GetSelection() - sel = self.oldSel - panel.cfgs[sel][9] = val - # validation() - setPort() - evt.Skip() - choiceSecureCtrl.Bind(wx.EVT_CHOICE, onChoiceSecure) + def on_mail_address(self, evt): + if self.cfgs: + val = self.mail_address_ctrl.GetValue().strip() + sel = self.old_sel + self.cfgs[sel][3] = val + self.validation() + evt.Skip() - def onUseSecure(evt): - if panel.cfgs<>[]: - val = useSecureCtrl.GetValue() - sel = self.oldSel - panel.cfgs[sel][10] = val - # validation() - evt.Skip() - useSecureCtrl.Bind(wx.EVT_CHECKBOX, onUseSecure) + def on_repl_address(self, evt): + if self.cfgs: + val = self.repl_address_ctrl.GetValue().strip() + sel = self.old_sel + self.cfgs[sel][4] = val + self.validation() + evt.Skip() - def onServButton(evt): - dlg = outServerDialog( - parent = panel, - plugin = self, - ) - dlg.Centre() - wx.CallAfter(dlg.ShowOutServDlg) - evt.Skip() - outServerBtn.Bind(wx.EVT_BUTTON, onServButton) + def on_inc_server(self, evt): + if self.cfgs: + val = self.inc_server_ctrl.GetValue().strip() + sel = self.old_sel + self.cfgs[sel][5] = val + self.validation() + evt.Skip() - def onTxtsButton(evt): - dlg = outTextsDialog( - parent = panel, - plugin = self, - ) - dlg.Centre() - wx.CallAfter(dlg.ShowOutTxtsDlg) - evt.Skip() - panel.txtsBtn.Bind(wx.EVT_BUTTON, onTxtsButton) + def on_inc_port(self, evt): + if self.cfgs: + val = self.inc_port_ctrl.GetValue() + sel = self.old_sel + self.cfgs[sel][6] = val + self.validation() + evt.Skip() - def onGrpsButton(evt): - dlg = groupsDialog( - parent = panel, - plugin = self, - ) - dlg.Centre() - wx.CallAfter(dlg.ShowGroupsDlg) - evt.Skip() - panel.grpsBtn.Bind(wx.EVT_BUTTON, onGrpsButton) + def on_user_login(self, evt): + if self.cfgs: + val = self.user_login_ctrl.GetValue().strip() + sel = self.old_sel + self.cfgs[sel][7] = val + self.validation() + evt.Skip() - def onViewerButton(evt): - dlg = observViewerDialog( - parent = panel, - plugin = self, - observThreads=self.observThreads - ) - dlg.Centre() - wx.CallAfter(dlg.ShowObservViewerDialog) - text.viewerTitle, - evt.Skip() - viewerBtn.Bind(wx.EVT_BUTTON, onViewerButton) + def on_out_server(self, evt): + if self.cfgs: + val = self.out_server_ctrl.GetStringSelection() + sel = self.old_sel + self.cfgs[sel][8] = val + self.validation() + evt.Skip() - def onListClick(evt): - sel = listBoxCtrl.GetSelection() - label = labelCtrl.GetValue() - if label.strip()<>"": - if [n[0] for n in panel.cfgs].count(label)==1: - self.oldSel=sel - item = panel.cfgs[sel] - setValue(item) - listBoxCtrl.SetSelection(self.oldSel) - listBoxCtrl.SetFocus() - evt.Skip() - listBoxCtrl.Bind(wx.EVT_LISTBOX, onListClick) + def on_choice_secure(self, evt): + if self.cfgs: + val = self.choice_secure_ctrl.GetSelection() + sel = self.old_sel + self.cfgs[sel][9] = val + self.set_port() + evt.Skip() - def onButtonUp(evt): - newSel,panel.cfgs=Move(panel.cfgs,listBoxCtrl.GetSelection(),-1) - listBoxCtrl.Set([n[0] for n in panel.cfgs]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnUP.Bind(wx.EVT_BUTTON, onButtonUp) + def on_use_secure(self, evt): + if self.cfgs: + val = self.use_secure_ctrl.GetValue() + sel = self.old_sel + self.cfgs[sel][10] = val + evt.Skip() - def onButtonDown(evt): - newSel,panel.cfgs=Move(panel.cfgs,listBoxCtrl.GetSelection(),1) - listBoxCtrl.Set([n[0] for n in panel.cfgs]) - listBoxCtrl.SetSelection(newSel) - self.oldSel = newSel - evt.Skip() - btnDOWN.Bind(wx.EVT_BUTTON, onButtonDown) + def on_serv_button(self, evt): + evt.Skip() + dlg = OutServerDialog( + parent=self.panel, + plugin=self.plugin, + servers=self.servers, + pass_smtp=self.pass_smtp, + cfgs=self.cfgs, + val=self.out_server_ctrl.GetStringSelection() + ) + if dlg.ShowModal() == wx.ID_OK: + self.servers = dlg.get_servers() + self.pass_smtp = dlg.get_pass_smtp() + choices = [n[0] for n in self.servers] + self.out_server_ctrl.SetItems(choices) + self.out_server_ctrl.SetStringSelection(dlg.get_string_for_selection()) + dlg.Destroy() + + def on_txts_button(self, evt): + evt.Skip() + dlg = SignaturesDialog( + parent=self.panel, + plugin=self.plugin, + signatures=self.texts + ) + if dlg.ShowModal() == wx.ID_OK: + self.texts = dlg.get_texts() + dlg.Destroy() - def onButtonDelete(evt): - lngth=len(panel.cfgs) - if lngth==2: - btnUP.Enable(False) - btnDOWN.Enable(False) - sel = listBoxCtrl.GetSelection() - if lngth == 1: - panel.cfgs=[] - listBoxCtrl.Set([]) - item = ['', 0, '', '', '', '', 0, '', '', 0, False] - setValue(item) - boxEnable(False) - panel.dialog.buttonRow.applyButton.Enable(False) - panel.dialog.buttonRow.okButton.Enable(False) - btnDEL.Enable(False) - btnApp.Enable(True) - evt.Skip() - return - elif sel == lngth - 1: - sel = 0 - self.oldSel = sel - tmp = panel.cfgs.pop(listBoxCtrl.GetSelection()) - listBoxCtrl.Set([n[0] for n in panel.cfgs]) - listBoxCtrl.SetSelection(sel) - item = panel.cfgs[sel] - setValue(item) - evt.Skip() - btnDEL.Bind(wx.EVT_BUTTON, onButtonDelete) + def on_grps_button(self, evt): + evt.Skip() + dlg = GroupsDialog( + parent=self.panel, + plugin=self.plugin, + grps=self.grps + ) + if dlg.ShowModal() == wx.ID_OK: + self.grps = dlg.get_groups() + dlg.Destroy() - def OnButtonAppend(evt): - if len(panel.cfgs)==1: - btnUP.Enable(True) - btnDOWN.Enable(True) - boxEnable(True) - labelCtrl.Enable(True) - sel = listBoxCtrl.GetSelection() + 1 - self.oldSel=sel - item = ['', 0, '', '', '', '', 0, '', '', 0, False] - panel.cfgs.insert(sel,item) - listBoxCtrl.Set([n[0] for n in panel.cfgs]) - listBoxCtrl.SetSelection(sel) - setValue(item) - setPort() - choiceSecureCtrl.SetSelection(0) - panel.outServerCtrl.Clear() - panel.outServerCtrl.AppendItems(strings=[n[0] for n in panel.servers]) - panel.outServerCtrl.SetSelection(0) - labelCtrl.SetFocus() - btnApp.Enable(False) - btnDEL.Enable(True) - evt.Skip() - btnApp.Bind(wx.EVT_BUTTON, OnButtonAppend) + def on_viewer_button(self, evt): + evt.Skip() + dlg = ObservViewerDialog( + parent=self.panel, + plugin=self.plugin, + ) + wx.CallAfter(dlg.show_observ_viewer_dialog) - while panel.Affirmed(): - passINC.data=panel.passINC - passSMTP.data=panel.passSMTP - panel.SetResult( - panel.cfgs, - panel.servers, - panel.txts, - panel.grps, - passINC, - passSMTP - ) + def on_list_click(self, evt): + evt.Skip() + sel = self.list_box_ctrl.GetSelection() + label = self.label_ctrl.GetValue() + if label.strip() != "": + if [n[0] for n in self.cfgs].count(label) == 1: + self.old_sel = sel + item = self.cfgs[sel] + self.set_value(item) + self.list_box_ctrl.SetSelection(self.old_sel) + self.list_box_ctrl.SetFocus() + + def on_button_up(self, evt): + evt.Skip() + new_sel, self.cfgs = move_item(self.cfgs, self.list_box_ctrl.GetSelection(), -1) + self.list_box_ctrl.Set([n[0] for n in self.cfgs]) + self.list_box_ctrl.SetSelection(new_sel) + self.old_sel = new_sel - class text: - label = 'Account name:' - servLabel = 'Server name:' - accountsList = 'List of accounts:' - serversList = 'List of servers:' - delete = 'Delete' - insert = 'Add new' - param = "Account parameters" - servParam = "Server parameters" - assignError = 'Account "%s" not exists!' - eBoxCase = ( - 'POP3', - 'IMAP', - ) - accType = 'Account type' - userName = 'User name (optional):' - #user = 'User name:' - mailAddress = 'E-mail address:' - replAddress = 'Address for reply (optional):' - incServer = 'Incoming server:' - incPort = 'Port' - userLogin = 'User login:' - userPassword = 'User password:' - outServerTitle = 'Outgoing Servers (SMTP) Settings' - viewerTitle = 'Observations viewer/manager' - secureConnectLabel = 'Use secure connection:' - useName = 'Use name and password' - secureConnectChoice1 = ( - 'No', -# 'TLS, if available', -# 'TLS', - '>>> TLS is not yet supported <<<', - '>>> TLS is not yet supported <<<', - 'SSL', - ) - secureConnectChoice2 = ( - 'No', - 'TLS, if available', - 'TLS', - 'SSL', - ) - useSecure = 'Use secure authentication' - outServer = 'Outgoing SMTP server:' - colLabels = ( - 'Observation Name', - 'Interval', - 'Last check', - 'Total Event', - 'Message Event', - ) - labelsDetails = ( - 'Nr.', - 'Account', - 'Subject', - 'From', - ) + def on_button_down(self, evt): + evt.Skip() + new_sel, self.cfgs = move_item(self.cfgs, self.list_box_ctrl.GetSelection(), 1) + self.list_box_ctrl.Set([n[0] for n in self.cfgs]) + self.list_box_ctrl.SetSelection(new_sel) + self.old_sel = new_sel - listhead = "Currently active observation:" - show = "Show" - delete = "Delete" - refresh = "Refresh" - client = "E-mail client" - reply = "Reply" - close = "Close" - textsTitle = 'Templates for outgoing e-mails' - textsList = "List of texts:" - txtLabel = "Text name:" - outText = "Text:" - groupsTitle = 'Recipient groups for outgoing e-mails' - groupsList = "List of groups:" - groupLabel = "Group name:" - addressLabel = "E-mail address:" - outAddress = "List of e-mail addresses:" - deleteServer = ('Server "%s" is used in your configuration.\n' - 'You cannot remove it.') - detTitle = 'Observation "%s" : %s new E-mails' - popup = ("Show", - "Delete", - "Refresh", - "E-mail client", - "Close" - ) - error0 = 'POP3 Protocol Error:' - error1 = 'Cannot connect to POP server "%s:%i"' - error2 = 'IMAP Protocol Error:' - error3 = 'Cannot connect to IMAP server "%s:%i"' - error4 = 'Cannot log in to account "%s" on server "%s:%i"' - error5 = 'Cannot found server "%s", try use default server "%s".' - error6 = 'SMTP Protocol Error:' - error7 = 'Cannot connect to SMTP server "%s:%i"' - error8 = 'Your message may not have been sent!' - error9 = 'Cannot open default e-mail client !' - tip0 = ( - "Right-click to hide the window\n" - "Double-click to open/refresh details\n" - "CTRL+Double-click to open default e-mail client" - ) - notifLabel = 'waiting\ne-mail(s)' - cancel = 'Cancel' - ok = 'OK' - buttons = ( - "Abort", - "Abort all", - "Refresh", - "Close", - ) - observStarts = 'Observation "%s" starts' - warning = 'When any change in the configuration, will all running observations stopped!' - wrote = '%s wrote:' - field_1 = ( - 'None', - 'Subject', - 'From', - 'Body', - ) -#=============================================================================== + def on_button_delete(self, evt): + evt.Skip() + lngth = len(self.cfgs) + if lngth == 2: + self.btn_up.Enable(False) + self.btn_down.Enable(False) + sel = self.list_box_ctrl.GetSelection() + if lngth == 1: + self.cfgs = [] + self.list_box_ctrl.Set([]) + item = [u'', 0, u'', u'', u'', u'', 0, u'', u'', 0, False] + self.set_value(item) + self.box_enable(False) + self.panel.dialog.buttonRow.applyButton.Enable(False) + self.panel.dialog.buttonRow.okButton.Enable(False) + self.btn_del.Enable(False) + self.btn_app.Enable(True) + return + elif sel == lngth - 1: + sel = 0 + self.old_sel = sel + self.cfgs.pop(self.list_box_ctrl.GetSelection()) + self.list_box_ctrl.Set([n[0] for n in self.cfgs]) + self.list_box_ctrl.SetSelection(sel) + item = self.cfgs[sel] + self.set_value(item) + + def on_button_append(self, evt): + evt.Skip() + if len(self.cfgs) == 1: + self.btn_up.Enable(True) + self.btn_down.Enable(True) + self.box_enable(True) + self.label_ctrl.Enable(True) + sel = self.list_box_ctrl.GetSelection() + 1 + self.old_sel = sel + item = [u'', 0, u'', u'', u'', u'', 0, u'', u'', 0, False] + self.cfgs.insert(sel, item) + self.list_box_ctrl.Set([n[0] for n in self.cfgs]) + self.list_box_ctrl.SetSelection(sel) + self.set_value(item) + self.set_port() + self.choice_secure_ctrl.SetSelection(0) + self.out_server_ctrl.Clear() + self.out_server_ctrl.AppendItems([n[0] for n in self.servers]) + self.out_server_ctrl.SetSelection(0) + self.label_ctrl.SetFocus() + self.btn_app.Enable(False) + self.btn_del.Enable(True) diff --git a/plugins/E-mail/actions.py b/plugins/E-mail/actions.py new file mode 100644 index 000000000..4638fdb5a --- /dev/null +++ b/plugins/E-mail/actions.py @@ -0,0 +1,617 @@ +# coding=utf8 + +from copy import deepcopy + +import wx + +import eg +from eg.WinApi.Dynamic import CreateEvent +from .dialogs import ComposeMsg, NotifFrame +from .dialogs.send_mail_dlg import SendMailText +from .threads import SendMailThread +from .utils import validate_email_addr + + +class AbortAllObservations(eg.ActionClass): + def __call__(self): + self.plugin.abort_all_observations() + + +# noinspection PyPep8Naming +class AbortObservation(eg.ActionClass): + def __call__(self, observ_name=''): + self.plugin.abort_observation(observ_name) + + def Configure(self, observ_name=''): + text = self.text + panel = eg.ConfigPanel(self) + name_lbl = wx.StaticText(panel, -1, text.nameObs) + name_ctrl = wx.TextCtrl(panel, -1, observ_name) + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(name_lbl, 0) + main_sizer.Add(name_ctrl, 0, wx.EXPAND) + panel.sizer.Add(main_sizer) + panel.sizer.Layout() + + # re-assign the test button + def on_test_button(evt): + evt.Skip() + self.plugin.abort_observation(name_ctrl.GetValue()) + + panel.dialog.buttonRow.testButton.SetLabel(text.abortNow) + panel.dialog.buttonRow.testButton.SetToolTip(wx.ToolTip(text.tip)) + panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, on_test_button) + + while panel.Affirmed(): + panel.SetResult( + name_ctrl.GetValue(), + ) + + # noinspection PyClassHasNoInit,PyPep8Naming + class text: + nameObs = 'Observation name:' + abortNow = 'Abort now !' + tip = 'Abort observation now' + + +# noinspection PyPep8Naming,PyAttributeOutsideInit +class StartObservation(eg.ActionClass): + + def startObserv(self, stp): + observ_name = stp[0] + data = [item[0] for item in self.plugin.temp_data] + if observ_name in data: + indx = data.index(observ_name) + self.notifFrame = self.plugin.temp_data[indx][4] + else: + self.notifFrame = NotifFrame(None, self.plugin) + self.event = CreateEvent(None, 0, 0, None) + wx.CallAfter( + self.notifFrame.show_notif_frame, + stp=stp, + event=self.event + ) + eg.actionThread.WaitOnEvent(self.event) + self.plugin.start_observation(stp, self.notifFrame) + + def __call__(self, stp): + accounts = [] + acc_list = [item[0] for item in self.plugin.configs] + for i in range(len(acc_list)): + for item in stp[2]: + if item == acc_list[i]: + accounts.append(i) + if len(accounts) > 0: + self.startObserv(stp) + else: + eg.PrintError(self.text.warning % stp[2]) + + def GetLabel(self, stp): + res1 = stp[0] + return res1 + + def Configure(self, stp=None): + if not stp: + self.stp = [ + '', 2, [], '', 0, + [[-1, -1, ''], [-1, -1, ''], [-1, -1, ''], [-1, -1, ''], [-1, -1, ''], [-1, -1, '']], + False, True, 0, (255, 255, 255), (0, 0, 0), False, '', 0, False + ] + else: + self.stp = deepcopy(stp) + self.max_filters = 6 + self.filter_ctrls = [] + + self.create_widgets() + self.create_sizers() + self.bindings() + self.onMessageCtrl() + self.EnableEvent2Ctrl() + + while self.panel.Affirmed(): + self.UpdateConfig() + self.panel.SetResult( + self.stp, + ) + + def validation(self, evt=None): + if evt: + evt.Skip() + flag = True + + if self.name_ctrl.GetValue() == "": + flag = False + + if int(wx.__version__.split('.', 1)[0]) < 4: + chk = True + for idx in range(self.account_ctrl.GetCount()): + if self.account_ctrl.IsChecked(idx): + chk = False + break + if chk: + flag = False + else: + if len(self.account_ctrl.GetCheckedItems()) == 0: + flag = False + + if ( + not self.event_ctrl.GetValue() + and not self.event2_ctrl.GetValue() + and not self.message_ctrl.GetValue() + ): + flag = False + + if self.event_ctrl.GetValue(): + if self.evt_name_ctrl.GetValue() == '': + flag = False + + if self.event2_ctrl.GetValue(): + if self.evt_name2_ctrl.GetValue() == '': + flag = False + + if not self.rb0.GetValue(): + for row in range(self.max_filters): + wnd0 = self.filter_ctrls[row][0] + if wnd0.GetSelection() > 0: + wnd1 = self.filter_ctrls[row][1] + wnd2 = self.filter_ctrls[row][2] + if wnd1.GetSelection() == -1: + flag = False + break + if wnd2.GetValue() == '': + flag = False + break + + self.panel.dialog.buttonRow.applyButton.Enable(flag) + self.panel.dialog.buttonRow.okButton.Enable(flag) + + def on_filter(self, evt): + obj = evt.GetEventObject() + row = int(obj.GetName()) + ctrl_1 = self.filter_ctrls[row][0] + ctrl_2 = self.filter_ctrls[row][1] + ctrl_3 = self.filter_ctrls[row][2] + + indx = ctrl_1.GetSelection() + flag = indx > 0 + ctrl_2.Enable(flag) + ctrl_3.Enable(flag) + if not flag: + ctrl_2.SetSelection(-1) + ctrl_3.ChangeValue(u'') + choic_len = len(ctrl_2.GetStrings()) + if choic_len == 2 and indx != 3: + ctrl_2.Clear() + ctrl_2.AppendItems(strings=self.text.field_2) + elif choic_len == 6 and indx == 3: + ctrl_2.Clear() + ctrl_2.AppendItems(strings=self.text.field_2[:2]) + self.validation() + + def create_widgets(self): + text = self.text + self.panel = panel = eg.ConfigPanel(self) + self.name_lbl = wx.StaticText(panel, label=text.nameObs) + self.name_ctrl = wx.TextCtrl(panel, value=self.stp[0]) + self.interval_lbl_1 = wx.StaticText(panel, label=text.interval_1) + self.interval_ctrl = eg.SpinIntCtrl(panel, value=self.stp[1], min=1, max=999) + self.interval_lbl_2 = wx.StaticText(panel, label=text.interval_2) + self.account_lbl = wx.StaticText(panel, -1, text.accounts) + choices = [row[0] for row in self.plugin.configs] + self.account_ctrl = wx.CheckListBox(panel, choices=choices) + checked = self.stp[2] + self.account_ctrl.SetCheckedStrings(checked) + + self.rb0 = panel.RadioButton(self.stp[4] == 0, text.radio_buttons[0], style=wx.RB_GROUP) + self.rb1 = panel.RadioButton(self.stp[4] == 1, text.radio_buttons[1]) + self.rb2 = panel.RadioButton(self.stp[4] == 2, text.radio_buttons[2]) + self.message_ctrl = wx.CheckBox(panel, label=text.message) + self.message_ctrl.SetValue(self.stp[6]) + self.message_ctrl.Enable(not self.stp[14]) + self.message_ctrl.SetToolTip(wx.ToolTip(text.tip0)) + self.event_ctrl = wx.CheckBox(panel, label=text.totalEvent) + self.event_ctrl.SetToolTip(wx.ToolTip(text.tip4)) + self.event2_ctrl = wx.CheckBox(panel, label=text.emailEvent) + self.event2_ctrl.SetToolTip(wx.ToolTip(text.tip3)) + self.event2_ctrl.SetValue(self.stp[11]) + self.event_ctrl.SetValue(self.stp[7]) + self.event_ctrl.Enable(not self.stp[14]) + self.event2_ctrl.Disable() + self.evt_name_lbl = wx.StaticText(panel, label=text.evtName) + self.evt_name_ctrl = wx.TextCtrl(panel, value=self.stp[3]) + self.evt_name2_ctrl = wx.ComboBox( + parent=panel, + choices=self.plugin.text.field_1[1:], + style=wx.CB_DROPDOWN + ) + self.evt_name2_ctrl.SetValue(self.stp[12]) + self.payload_lbl = wx.StaticText(panel, -1, text.payload) + self.payload_ctrl = wx.Choice(panel, choices=text.totalPayload) + self.payload2_ctrl = wx.Choice(panel, choices=self.plugin.text.field_1) + self.payload_ctrl.SetSelection(self.stp[8]) + self.payload2_ctrl.SetSelection(self.stp[13]) + self.delete_ctrl = wx.CheckBox(panel, label=text.delete) + self.delete_ctrl.SetValue(self.stp[14]) + self.delete_ctrl.SetToolTip(wx.ToolTip(text.tip1)) + + for row in range(self.max_filters): + indx0 = self.stp[5][row][0] + + field_ctrl_1 = wx.Choice(panel, choices=self.plugin.text.field_1, name=str(row)) + field_ctrl_1.Bind(wx.EVT_CHOICE, self.on_filter) + field_ctrl_1.SetSelection(indx0) + + field_ctrl_2 = wx.Choice(panel, choices=text.field_2, name=str(row)) + field_ctrl_2.Bind(wx.EVT_CHOICE, self.validation) + field_ctrl_2.SetSelection(self.stp[5][row][1]) + + field_ctrl_3 = wx.TextCtrl(panel, value=self.stp[5][row][2], name=str(row)) + field_ctrl_3.Bind(wx.EVT_TEXT, self.validation) + + if indx0 == -1: + field_ctrl_1.Disable() + if indx0 < 1: + field_ctrl_2.Disable() + field_ctrl_3.Disable() + + self.filter_ctrls.append( + [ + field_ctrl_1, + field_ctrl_2, + field_ctrl_3 + ] + ) + + self.label_bck = wx.StaticText(panel, label=text.backCol) + self.label_fore = wx.StaticText(panel, label=text.forCol) + self.background_colour_button = wx.ColourPickerCtrl(panel) + self.background_colour_button.SetColour(self.stp[9]) + self.foreground_colour_button = wx.ColourPickerCtrl(panel) + self.foreground_colour_button.SetColour(self.stp[10]) + + panel.dialog.buttonRow.testButton.SetLabel(text.startNow) + panel.dialog.buttonRow.testButton.SetToolTip(wx.ToolTip(text.tip2)) + + def create_sizers(self): + interval_sizer = wx.BoxSizer(wx.HORIZONTAL) + interval_sizer.Add(self.interval_lbl_1, 0, wx.TOP, 4) + interval_sizer.Add(self.interval_ctrl, 0, wx.LEFT | wx.RIGHT, 4) + interval_sizer.Add(self.interval_lbl_2, 0, wx.TOP, 4) + + left_sizer = wx.BoxSizer(wx.VERTICAL) + left_sizer.Add(self.name_lbl) + left_sizer.Add(self.name_ctrl, 0, wx.EXPAND) + left_sizer.Add(interval_sizer, 0, wx.EXPAND | wx.TOP, 15) + left_sizer.Add(self.account_lbl, 0, wx.TOP, 15) + left_sizer.Add(self.account_ctrl, 1, wx.EXPAND) + + filter_sizer = wx.FlexGridSizer(rows=self.max_filters, cols=3, vgap=0, hgap=0) + for row in range(self.max_filters): + filter_sizer.Add(self.filter_ctrls[row][0], 0, wx.EXPAND) + filter_sizer.Add(self.filter_ctrls[row][1], 0, wx.EXPAND) + filter_sizer.Add(self.filter_ctrls[row][2], 0, wx.EXPAND) + + right_sizer = wx.BoxSizer(wx.VERTICAL) + right_sizer.Add(self.rb0, 0, wx.TOP, 0) + right_sizer.Add(self.rb1, 0, wx.TOP, 2) + right_sizer.Add(self.rb2, 0, wx.TOP, 2) + right_sizer.Add(filter_sizer, 0, wx.EXPAND | wx.TOP, 7) + + horiz_sizer = wx.BoxSizer(wx.HORIZONTAL) + horiz_sizer.Add(left_sizer, 0, wx.EXPAND, wx.TOP, 0) + horiz_sizer.Add(right_sizer, 0, wx.LEFT | wx.EXPAND, 16) + + event_sizer = wx.GridBagSizer(2, 10) + event_sizer.Add(self.evt_name_lbl, (0, 1)) + event_sizer.Add(self.payload_lbl, (0, 2)) + event_sizer.Add(self.event2_ctrl, (1, 0), flag=wx.TOP, border=4) + event_sizer.Add(self.evt_name2_ctrl, (1, 1), flag=wx.EXPAND) + event_sizer.Add(self.payload2_ctrl, (1, 2), flag=wx.EXPAND) + event_sizer.Add(self.delete_ctrl, (1, 3), flag=wx.TOP, border=4) + event_sizer.Add(self.event_ctrl, (2, 0), flag=wx.TOP, border=10) + event_sizer.Add(self.evt_name_ctrl, (2, 1), flag=wx.TOP | wx.EXPAND, border=6) + event_sizer.Add(self.payload_ctrl, (2, 2), flag=wx.TOP | wx.EXPAND, border=6) + + notify_sizer = wx.BoxSizer(wx.HORIZONTAL) + notify_sizer.Add(self.message_ctrl, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 15) + notify_sizer.Add(self.label_bck, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) + notify_sizer.Add(self.background_colour_button, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 15) + notify_sizer.Add(self.label_fore, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) + notify_sizer.Add(self.foreground_colour_button, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) + + self.panel.sizer.Add(horiz_sizer, 0, wx.EXPAND | wx.ALL, 5) + self.panel.sizer.Add(event_sizer, 0, wx.EXPAND | wx.ALL, 5) + self.panel.sizer.Add(notify_sizer, 0, wx.ALL, 5) + self.panel.sizer.Layout() + + def bindings(self): + self.background_colour_button.Bind(wx.EVT_COLOURPICKER_CHANGED, self.OnBackgroundColourButton) + self.foreground_colour_button.Bind(wx.EVT_COLOURPICKER_CHANGED, self.OnForegroundColourButton) + self.rb0.Bind(wx.EVT_RADIOBUTTON, self.onRadioBtns) + self.rb1.Bind(wx.EVT_RADIOBUTTON, self.onRadioBtns) + self.rb2.Bind(wx.EVT_RADIOBUTTON, self.onRadioBtns) + self.event2_ctrl.Bind(wx.EVT_CHECKBOX, self.onEvent2Ctrl) + self.delete_ctrl.Bind(wx.EVT_CHECKBOX, self.onDeleteCtrl) + self.event_ctrl.Bind(wx.EVT_CHECKBOX, self.onEventCtrl) + self.name_ctrl.Bind(wx.EVT_TEXT, self.onNameCtrl) + self.evt_name_ctrl.Bind(wx.EVT_TEXT, self.validation) + self.evt_name2_ctrl.Bind(wx.EVT_TEXT, self.validation) + self.evt_name2_ctrl.Bind(wx.EVT_COMBOBOX, self.validation) + self.message_ctrl.Bind(wx.EVT_CHECKBOX, self.onMessageCtrl) + self.account_ctrl.Bind(wx.EVT_CHECKLISTBOX, self.onCheckListBox) + self.panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, self.on_start_observer_button) + + def OnBackgroundColourButton(self, event): + self.stp[9] = event.GetColour() + + def OnForegroundColourButton(self, event): + self.stp[10] = event.GetColour() + + def EnableEventCtrl(self): + flag = self.delete_ctrl.GetValue() + self.event_ctrl.Enable(not flag) + if flag: + self.event_ctrl.SetValue(False) + self.evt_name_ctrl.Enable(False) + self.payload_ctrl.Enable(False) + self.evt_name_ctrl.ChangeValue('') + self.payload_ctrl.SetSelection(0) + + def EnableEvent2Ctrl(self): + if self.rb0.GetValue(): + self.event2_ctrl.SetValue(False) + self.event2_ctrl.Enable(False) + else: + self.event2_ctrl.Enable(True) + self.onEvent2Ctrl() + self.EnableEventCtrl() + + def onRadioBtns(self, evt=None): + if evt: + evt.Skip() + if self.rb0.GetValue(): + mode = 0 + for row in range(self.max_filters): + ctrl_1 = self.filter_ctrls[row][0] + ctrl_2 = self.filter_ctrls[row][1] + ctrl_3 = self.filter_ctrls[row][2] + ctrl_1.Enable(False) + ctrl_2.Enable(False) + ctrl_3.Enable(False) + ctrl_1.SetSelection(-1) + ctrl_2.SetSelection(-1) + ctrl_3.ChangeValue('') + else: + for row in range(self.max_filters): + ctrl_1 = self.filter_ctrls[row][0] + if not ctrl_1.IsEnabled(): + ctrl_1.SetSelection(0) + ctrl_1.Enable(True) + if self.rb1.GetValue(): + mode = 1 + else: + mode = 2 + self.stp[4] = mode + self.EnableEvent2Ctrl() + self.validation() + + def onEvent2Ctrl(self, evt=None): + if evt: + evt.Skip() + flag = self.event2_ctrl.GetValue() + self.evt_name2_ctrl.Enable(flag) + self.payload2_ctrl.Enable(flag) + self.delete_ctrl.Enable(flag) + if not flag: + self.payload2_ctrl.SetSelection(0) + self.delete_ctrl.SetValue(False) + self.stp[12] = '' + self.stp[11] = flag + self.validation() + + def onDeleteCtrl(self, evt=None): + if evt: + evt.Skip() + flag = self.delete_ctrl.GetValue() + self.message_ctrl.Enable(not flag) + if flag: + self.message_ctrl.SetValue(False) + self.onMessageCtrl() + self.EnableEventCtrl() + self.validation() + + def onEventCtrl(self, evt=None): + if evt: + evt.Skip() + flag = self.event_ctrl.GetValue() + self.evt_name_ctrl.Enable(flag) + self.payload_ctrl.Enable(flag) + if not flag: + self.stp[3] = '' + self.validation() + + def onNameCtrl(self, evt): + evt.Skip() + self.stp[0] = self.name_ctrl.GetValue() + self.validation() + + def onMessageCtrl(self, evt=None): + if evt: + evt.Skip() + self.stp[6] = self.message_ctrl.GetValue() + flag = self.stp[6] + + self.label_bck.Enable(flag) + self.label_fore.Enable(flag) + self.background_colour_button.Enable(flag) + self.foreground_colour_button.Enable(flag) + self.validation() + + def onCheckListBox(self, evt): + index = evt.GetSelection() + self.validation() + # so that (un)checking also selects (moves the highlight) + self.account_ctrl.SetSelection(index) + + def UpdateConfig(self): + choics = self.account_ctrl.GetStrings() + tmp_list = [] + for row in range(len(choics)): + if self.account_ctrl.IsChecked(row): + tmp_list.append(choics[row]) + self.stp[2] = tmp_list[:] + tmp_list = [] + for row in range(self.max_filters): + ctrl_0 = self.filter_ctrls[row][0] + indx_0 = ctrl_0.GetSelection() + ctrl_1 = self.filter_ctrls[row][1] + indx_1 = ctrl_1.GetSelection() + val2 = self.filter_ctrls[row][2].GetValue() + tmp_list.append((indx_0, indx_1, val2)) + self.stp[5] = tmp_list[:] + self.stp[1] = self.interval_ctrl.GetValue() + self.stp[3] = self.evt_name_ctrl.GetValue() + self.stp[7] = self.event_ctrl.GetValue() + self.stp[8] = self.payload_ctrl.GetSelection() + self.stp[12] = self.evt_name2_ctrl.GetValue() + self.stp[13] = self.payload2_ctrl.GetSelection() + self.stp[14] = self.delete_ctrl.GetValue() + + def on_start_observer_button(self, evt): + evt.Skip() + self.UpdateConfig() + self.startObserv(self.stp) + + # noinspection PyClassHasNoInit,PyPep8Naming + class text: + nameObs = 'Observation name:' + accounts = 'Accounts to observation:' + interval_1 = 'Interval:' + interval_2 = 'minutes' + field_2 = ( + 'contains', + "doesn't contain ", + 'is', + "isn't", + 'starts with', + 'ends with', + ) + radio_buttons = ( + 'Global observation without filtering', + 'Message match all of the following rules', + 'Message match any of the following rules', + ) + message = 'Show notification window' + totalEvent = 'Trigger total event' + evtName = 'Event name:' + tip0 = 'Show notification window with count of waiting e-mails' + tip1 = 'After event triggering delete e-mail on server' + tip2 = 'Start observation now' + tip3 = 'Trigger event for each e-mail' + tip4 = 'Trigger event in any change in the number of waiting messages' + emailEvent = "E-mail event" + payload = 'Payload:' + totalPayload = ("None", "Count") + # noinspection SqlNoDataSourceInspection + delete = 'Delete from server after event' + startNow = 'Start now !' + backCol = 'Background colour:' + forCol = 'Foreground colour:' + warning = 'Was found no one account, corresponding to the list %s !' + + +# noinspection PyPep8Naming +class SendEmail(eg.ActionClass, ComposeMsg): + text = SendMailText + + def __call__( + self, + subject=u'', + from_adr=u'', + to_adr=u'', + cc_adr=u'', + body=u'', + templates=u'', + to_name=u'', + references=None, + message_id=None + ): + smt = SendMailThread( + self.plugin, + subject, + from_adr, + to_adr, + cc_adr, + body, + templates, + to_name, + references, + message_id + ) + smt.start() + + def Configure( + self, + subject=u'', + from_adr=u'', + to_adr=u'', + cc_adr=u'', + body=u'', + templates=u'', + to_name=u'' + ): + panel = eg.ConfigPanel(self, resizable=True) + top_sizer = self.send_cfg( + panel, subject, from_adr, to_adr, cc_adr, + body, templates, to_name, self.text, self.plugin + ) + panel.sizer.Add(top_sizer, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, 16) + text = self.text + + # re-assign the test button + def on_test_button(evt): + evt.Skip() + t = SendMailThread( + self.plugin, + self.subject_ctrl.GetValue(), + self.from_ctrl.GetStringSelection(), + self.to_ctrl.GetValue(), + self.cc_ctrl.GetStringSelection(), + self.body_ctrl.GetValue(), + self.templates_ctrl.GetValue(), + self.to_name_ctrl.GetValue(), + None, + None + ) + t.start() + + panel.dialog.buttonRow.testButton.SetLabel(text.sendNow) + panel.dialog.buttonRow.testButton.SetToolTip(wx.ToolTip(text.tip3)) + panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, on_test_button) + + def validation(evt=None): + if evt: + evt.Skip() + flag = True + if not validate_email_addr(self.to_ctrl.GetValue()): + flag = False + if self.subject_ctrl.GetValue() == '': + flag = False + panel.dialog.buttonRow.applyButton.Enable(flag) + panel.dialog.buttonRow.okButton.Enable(flag) + + self.subject_ctrl.Bind(wx.EVT_TEXT, validation) + self.to_ctrl.Bind(wx.EVT_TEXT, validation) + validation() + panel.sizer.Layout() + + while panel.Affirmed(): + panel.SetResult( + self.subject_ctrl.GetValue(), + self.from_ctrl.GetStringSelection(), + self.to_ctrl.GetValue(), + self.cc_ctrl.GetStringSelection(), + self.body_ctrl.GetValue(), + self.templates_ctrl.GetValue(), + self.to_name_ctrl.GetValue() + ) diff --git a/plugins/E-mail/dialogs/__init__.py b/plugins/E-mail/dialogs/__init__.py new file mode 100644 index 000000000..9ffcb516e --- /dev/null +++ b/plugins/E-mail/dialogs/__init__.py @@ -0,0 +1,23 @@ +# coding=utf8 + +from .compose_msg import ComposeMsg +from .details_frame import DetailsFrame +from .groups_dlg import GroupsDialog +from .message_frame import MessageFrame +from .notify_frame import NotifFrame +from .observer_mgr import ObservViewerDialog +from .out_server_mgr import OutServerDialog +from .send_mail_dlg import SendMailDlg +from .signatures_dlg import SignaturesDialog + +__all__ = [ + 'ComposeMsg', + 'DetailsFrame', + 'GroupsDialog', + 'MessageFrame', + 'NotifFrame', + 'ObservViewerDialog', + 'OutServerDialog', + 'SendMailDlg', + 'SignaturesDialog', +] diff --git a/plugins/E-mail/dialogs/compose_msg.py b/plugins/E-mail/dialogs/compose_msg.py new file mode 100644 index 000000000..f3a9d5e9f --- /dev/null +++ b/plugins/E-mail/dialogs/compose_msg.py @@ -0,0 +1,63 @@ +# coding=utf8 + +import wx + + +class ComposeMsg: + def __init__(self): + pass + + # noinspection PyAttributeOutsideInit + def send_cfg(self, panel, sbjct, from_adr, to_adr, cc_adr, body, templates, to_name, text, plugin): + subject_lbl = wx.StaticText(panel, wx.ID_ANY, text.subjectLabel) + self.subject_ctrl = wx.TextCtrl(panel, wx.ID_ANY, sbjct) + from_lbl = wx.StaticText(panel, wx.ID_ANY, text.fromLabel) + choices = ["%s <%s> - %s" % (item[2], item[3], item[0]) for item in plugin.configs] + self.from_ctrl = wx.Choice(panel, wx.ID_ANY, choices=choices) + self.from_ctrl.SetStringSelection(from_adr) + to_lbl = wx.StaticText(panel, wx.ID_ANY, text.toLabel) + self.to_name_ctrl = wx.TextCtrl(panel, wx.ID_ANY, to_name) + self.to_ctrl = wx.TextCtrl(panel, wx.ID_ANY, to_adr) + copy_lbl = wx.StaticText(panel, wx.ID_ANY, text.copyLabel) + choices = [''] + choices.extend([item[0] for item in plugin.groups]) + self.cc_ctrl = wx.Choice(panel, wx.ID_ANY, choices=choices) + self.cc_ctrl.SetStringSelection(cc_adr) + text_lbl = wx.StaticText(panel, wx.ID_ANY, text.outText) + self.body_ctrl = wx.TextCtrl( + parent=panel, + id=wx.ID_ANY, + size=(-1, 60), + style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER | wx.HSCROLL | wx.TE_AUTO_URL | wx.TE_RICH2 + ) + self.body_ctrl.SetValue(body) + texts_lbl = wx.StaticText(panel, wx.ID_ANY, text.outTexts) + choices = [''] + choices.extend([item[0] for item in plugin.texts]) + self.templates_ctrl = wx.ComboBox(panel, wx.ID_ANY, choices=choices, size=(200, -1)) + self.templates_ctrl.SetValue(templates) + self.to_name_ctrl.SetToolTip(wx.ToolTip(text.tip1 + '.\n' + text.tip)) + self.to_ctrl.SetToolTip(wx.ToolTip(text.tip2 + '.\n' + text.tip)) + self.body_ctrl.SetToolTip(wx.ToolTip(text.tip)) + self.subject_ctrl.SetToolTip(wx.ToolTip(text.tip)) + self.templates_ctrl.SetToolTip(wx.ToolTip(text.tip)) + + top_sizer = wx.GridBagSizer(5, 5) + top_sizer.Add(subject_lbl, (0, 0), flag=wx.ALIGN_RIGHT) + top_sizer.Add(self.subject_ctrl, (0, 1), (1, 2), flag=wx.EXPAND) + top_sizer.Add(from_lbl, (1, 0), flag=wx.ALIGN_RIGHT) + top_sizer.Add(self.from_ctrl, (1, 1), (1, 2), flag=wx.EXPAND) + top_sizer.Add(to_lbl, (2, 0), flag=wx.ALIGN_RIGHT) + top_sizer.Add(self.to_name_ctrl, (2, 1), flag=wx.EXPAND) + top_sizer.Add(self.to_ctrl, (2, 2), flag=wx.EXPAND) + top_sizer.Add(copy_lbl, (3, 0), flag=wx.ALIGN_RIGHT) + top_sizer.Add(self.cc_ctrl, (3, 1), (1, 2), flag=wx.EXPAND) + top_sizer.Add(text_lbl, (4, 0), flag=wx.ALIGN_RIGHT) + top_sizer.Add(self.body_ctrl, (4, 1), (1, 2), flag=wx.EXPAND) + top_sizer.Add(texts_lbl, (5, 0), flag=wx.ALIGN_RIGHT) + top_sizer.Add(self.templates_ctrl, (5, 1), (1, 2), flag=wx.EXPAND) + top_sizer.AddGrowableCol(1) + top_sizer.AddGrowableCol(2) + top_sizer.AddGrowableRow(4) + + return top_sizer diff --git a/plugins/E-mail/dialogs/details_frame.py b/plugins/E-mail/dialogs/details_frame.py new file mode 100644 index 000000000..dc576d63a --- /dev/null +++ b/plugins/E-mail/dialogs/details_frame.py @@ -0,0 +1,392 @@ +# coding=utf8 + +import imaplib +import poplib + +import wx + +import eg +from .message_frame import MessageFrame +from ..utils import get_parts, my_parser, parse_address, run_email_client + + +class DetailsFrame(wx.MiniFrame): + message_frame = None + mess_fram_size = (-1, -1) + mess_fram_position = (-1, -1) + + def __init__(self, parent): + self.text = parent.plugin.text + self.parent = parent + self.plugin = parent.plugin + self.pass_inc = self.plugin.pass_inc + self.setup = parent.setup + wx.MiniFrame.__init__( + self, + parent=parent, + id=wx.ID_ANY, + title=self.text.details_title, + style=wx.CAPTION | wx.RESIZE_BORDER, + name="Details Frame" + ) + # self.SetBackgroundColour(wx.NullColour) + self.menu_flag_s = False + self.menu_flag_d = False + self.del_flag = False + self.show_button = wx.Button(self, wx.ID_ANY, self.text.show) + self.delete_button = wx.Button(self, wx.ID_ANY, self.text.delete) + self.refresh_button = wx.Button(self, wx.ID_ANY, self.text.refresh) + self.client_button = wx.Button(self, wx.ID_ANY, self.text.client) + self.close_button = wx.Button(self, wx.ID_ANY, self.text.close) + self.messages_list_ctrl = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_REPORT | wx.VSCROLL | wx.HSCROLL) + for i, labels_details in enumerate(self.text.labelsDetails): + self.messages_list_ctrl.InsertColumn( + i, + labels_details, + ) + self.messages_list_ctrl.SetColumnWidth(0, 40) + self.messages_list_ctrl.SetColumnWidth(1, 75) + self.messages_list_ctrl.SetColumnWidth(2, 200) + self.messages_list_ctrl.SetColumnWidth(3, 200) + + central_sizer = wx.GridBagSizer(10, 10) + central_sizer.Add(self.messages_list_ctrl, (0, 0), (1, 9), flag=wx.EXPAND) + central_sizer.Add(self.show_button, (1, 0), flag=wx.ALIGN_LEFT | wx.BOTTOM, border=10) + central_sizer.Add(self.delete_button, (1, 2), flag=wx.ALIGN_CENTER_HORIZONTAL) + central_sizer.Add(self.refresh_button, (1, 4), flag=wx.ALIGN_CENTER_HORIZONTAL) + central_sizer.Add(self.client_button, (1, 6), flag=wx.ALIGN_CENTER_HORIZONTAL) + central_sizer.Add(self.close_button, (1, 8), flag=wx.ALIGN_RIGHT) + central_sizer.AddGrowableRow(0) + central_sizer.AddGrowableCol(1) + central_sizer.AddGrowableCol(3) + central_sizer.AddGrowableCol(5) + central_sizer.AddGrowableCol(7) + + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(central_sizer, 1, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 10) + main_sizer.Fit(self) + main_sizer.Layout() + self.SetSizerAndFit(main_sizer) + + self.popupID1 = wx.NewIdRef() + self.popupID2 = wx.NewIdRef() + self.popupID3 = wx.NewIdRef() + self.popupID4 = wx.NewIdRef() + self.popupID5 = wx.NewIdRef() + + self.Bind(wx.EVT_MENU, self.on_show_button, id=self.popupID1) + self.Bind(wx.EVT_MENU, self.on_delete_button, id=self.popupID2) + self.Bind(wx.EVT_MENU, self.on_refresh, id=self.popupID3) + self.Bind(wx.EVT_MENU, self.on_client_button, id=self.popupID4) + self.Bind(wx.EVT_MENU, self.on_close_button, id=self.popupID5) + self.messages_list_ctrl.Bind(wx.EVT_COMMAND_RIGHT_CLICK, self.on_right_click) + self.messages_list_ctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.list_selection) + self.messages_list_ctrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.list_selection) + self.messages_list_ctrl.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.on_show_button) # Doubleclick + self.Bind(wx.EVT_SIZE, self.on_size) + self.Bind(wx.EVT_CLOSE, self.on_close_window) + self.close_button.Bind(wx.EVT_BUTTON, self.on_close_button) + self.delete_button.Bind(wx.EVT_BUTTON, self.on_delete_button) + self.client_button.Bind(wx.EVT_BUTTON, self.on_client_button) + self.show_button.Bind(wx.EVT_BUTTON, self.on_show_button) + self.refresh_button.Bind(wx.EVT_BUTTON, self.on_refresh) + + def on_size(self, event): + self.messages_list_ctrl.SetColumnWidth(6, wx.LIST_AUTOSIZE_USEHEADER) + event.Skip() + + def on_close_window(self, event): + self.parent.detFramePosition = self.GetPosition() + self.parent.detFrameSize = self.GetSize() + if self.message_frame: + self.message_frame.Close() + self.Destroy() + event.Skip() + + def show_details_frame(self, position, size): + self.Refresh() + self.SetMinSize((565, 160)) + self.SetSize(size) + self.SetPosition(position) + self.Show(True) + + def on_refresh(self, evt): + self.unblock(False) + indx = [i[0] for i in self.plugin.temp_data].index(self.setup[0]) + wt = self.plugin.temp_data[indx][3] + wt.operate(True) + evt.Skip() + + def on_show_button(self, evt): + item = self.messages_list_ctrl.GetFirstSelected() + if item == -1: + return + nbr = self.messages_list_ctrl.GetItemText(item) + sel = [nbr] + indexes = [i[0] for i in self.plugin.temp_data] + indx = indexes.index(self.setup[0]) + message = self.realize_action(indx, sel, 1) # 1 ~ mode 'show' + if message: + if self.message_frame: + self.message_frame.Close() + self.message_frame = MessageFrame( + parent=self, + message=message, + ) + wx.CallAfter( + self.message_frame.show_message_frame, + position=self.mess_fram_position, + size=self.mess_fram_size, + ) + + # noinspection PyUnusedLocal + def on_close_button(self, evt): + self.Close(True) + + def delete_emails(self, indx, sel, close=False): + self.del_flag = True + if close: + self.message_frame.Close() + else: + if self.message_frame: + num = self.message_frame.get_email_num() + rec = self.plugin.temp_data[indx][2][int(num) - 1] + if num in sel or rec[0] == rec[2]: + self.message_frame.Close() + else: + self.message_frame.Enable(False) + self.unblock(False) + wt = self.plugin.temp_data[indx][3] + wt.delete_action((indx, sel, 0, self)) + + def on_delete_button(self, evt): + item = self.messages_list_ctrl.GetFirstSelected() + sel = [] + while item != -1: + nbr = self.messages_list_ctrl.GetItemText(item) + sel.append(nbr) + item = self.messages_list_ctrl.GetNextSelected(item) + indx = [i[0] for i in self.plugin.temp_data].index(self.setup[0]) + self.delete_emails(indx, sel) + evt.Skip() + + @staticmethod + def on_client_button(evt): + evt.Skip() + run_email_client() + + def list_selection(self, event=None): + if self.message_frame: + self.message_frame.Raise() + self.menu_flag_s = self.messages_list_ctrl.GetSelectedItemCount() == 1 + self.show_button.Enable(self.menu_flag_s) + self.menu_flag_d = self.messages_list_ctrl.GetFirstSelected() != -1 + self.delete_button.Enable(self.menu_flag_d) + if event: + event.Skip() + + def disappear(self): + if self.del_flag: + self.Show(False) + else: + self.Close() + + def res_del_flag(self): + self.del_flag = False + + def is_close_req(self): + return self.del_flag and not self.IsShown() + + def refresh_list(self, evt=None): + if evt: + evt.Skip() + observ_name = self.setup[0] + indx = [item[0] for item in self.plugin.temp_data].index(observ_name) + self.messages_list_ctrl.DeleteAllItems() + if int(wx.__version__.split('.', 1)[0]) < 4: + for row, item in enumerate(self.plugin.temp_data[indx][2]): + self.messages_list_ctrl.InsertStringItem(row, item[4]) + self.messages_list_ctrl.SetStringItem(row, 1, item[3]) + self.messages_list_ctrl.SetStringItem(row, 2, item[1]) + self.messages_list_ctrl.SetStringItem(row, 3, item[2]) + else: + for row, item in enumerate(self.plugin.temp_data[indx][2]): + self.messages_list_ctrl.InsertItem(row, item[4]) + self.messages_list_ctrl.SetItem(row, 1, item[3]) + self.messages_list_ctrl.SetItem(row, 2, item[1]) + self.messages_list_ctrl.SetItem(row, 3, item[2]) + self.SetTitle(self.plugin.text.detTitle % (self.setup[0], str(row))) + label = self.parent.get_number() + if label != row: + self.parent.set_number(row) + self.unblock(True) + self.list_selection() + + def unblock(self, unblock): + if unblock: + colour = self.GetForegroundColour() + else: + colour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT) + self.messages_list_ctrl.SetTextColour(colour) + self.delete_button.Enable(unblock) + self.refresh_button.Enable(unblock) + self.client_button.Enable(unblock) + self.close_button.Enable(unblock) + self.show_button.Enable(unblock) + self.messages_list_ctrl.Refresh() + self.Enable(unblock) + if self.message_frame: + self.message_frame.unblock(unblock) + + # noinspection PyUnusedLocal + def on_right_click(self, event): + # make a menu + menu = wx.Menu() + # add some items + if self.menu_flag_s: + menu.Append(self.popupID1, self.text.popup[0]) + if self.menu_flag_d: + menu.Append(self.popupID2, self.text.popup[1]) + menu.Append(self.popupID3, self.text.popup[2]) + menu.Append(self.popupID4, self.text.popup[3]) + menu.Append(self.popupID5, self.text.popup[4]) + # Popup the menu. If an item is selected then its handler + # will be called before PopupMenu returns. + self.PopupMenu(menu) + menu.Destroy() + + def realize_action(self, indx, sel, mode): + if not sel: + return + global mailbox + obs_data = self.plugin.temp_data[indx][2] + # observ_name = self.plugin.temp_data[indx][0] + result_message = None + old_account = u'' + m = len(sel) - 1 + item = sel[m] + ix = [i[4] for i in obs_data].index(item) + iac = [cfg[0] for cfg in self.plugin.configs].index(obs_data[ix][3]) + account = self.plugin.configs[iac] + while m > -1: + while old_account == account: + acc_id = obs_data[ix][5] + if account[1] == 0: # POP3 + lst = mailbox.list()[1] + cnt = len(lst) + if cnt >= int(acc_id): + maxlines = 100 # ToDo : MAXLINES choice + if mode == 0: + maxlines = 0 # Delete -> not need read + resp, txt, octets = mailbox.top(acc_id, maxlines) + if resp != '+OK': + resp, txt, octets = mailbox.retr(acc_id) + txt = "\n".join(txt) + msg = my_parser.parsestr(txt) + if 'Message-Id' in msg: + mess_id = msg['Message-Id'] + else: + mess_id = parse_address(msg['From']) + if mess_id == obs_data[ix][0]: + if mode == 1: + result_message = get_parts(msg, True) + result_message[3] = indx + result_message[4] = sel + else: # mode = 0 ~ delete + mailbox.dele(acc_id) + + else: # IMAP + typ, txt = mailbox.select('INBOX') # Folder selection + if txt[0]: + if mode == 1: + typ, txt = mailbox.fetch(acc_id, '(RFC822)') + mailbox.store(acc_id, "-FLAGS", '(\Seen)') # Reset UNSEEN flag + else: + typ, txt = mailbox.fetch(acc_id, '(RFC822.HEADER)') + txt = txt[0][1] + msg = my_parser.parsestr(txt) + if 'Message-Id' in msg: + mess_id = msg['Message-Id'] + else: + mess_id = parse_address(msg['From']) + if mess_id == obs_data[ix][0]: + if mode == 1: + result_message = get_parts(msg, True) + result_message[3] = indx + result_message[4] = sel + else: # mode = 0 ~ delete + mailbox.store(acc_id, "+FLAGS", '(\Deleted)') + m -= 1 + if m == -1: + break + else: + item = sel[m] + ix = [i[4] for i in obs_data].index(item) + iac = [cfg[0] for cfg in self.plugin.configs].index(obs_data[ix][3]) + account = self.plugin.configs[iac] + + if old_account != '': + if account[1] == 0: # POP + mailbox.quit() + else: # IMAP + mailbox.expunge() + mailbox.logout() + if m == -1: + break + error = True + while error: + old_account = account + server = account[5] + port = account[6] + user = account[7] + password = self.pass_inc.data[account[0]] + use_ssl = account[9] == 3 + error = False + if account[1] == 0: # POP + try: + if use_ssl: + mailbox = poplib.POP3_SSL(server, port) + else: + mailbox = poplib.POP3(server, port) + except IOError: + eg.PrintError(self.text.error0 + ' ' + self.text.error1 % (server, port)) + error = True + else: + # mailbox.set_debuglevel(5) + try: + mailbox.user(user) + mailbox.pass_(password) + except poplib.error_proto, errmsg: + eg.PrintError(self.text.error0 + ' ' + str(errmsg)) + error = True + mailbox.quit() + + else: # IMAP + try: + if use_ssl: + mailbox = imaplib.IMAP4_SSL(server, port) + else: + mailbox = imaplib.IMAP4(server, port) + except IOError: + eg.PrintError(self.text.error2 + ' ' + self.text.error3 % (server, port)) + error = True + else: + try: + mailbox.login(user, password) + except IOError: + eg.PrintError(self.text.error2 + ' ' + self.text.error4 % (user, server, port)) + error = True + mailbox.logout() + if error: + while old_account == account: + m -= 1 + if m == -1: + error = False + break + else: + item = sel[m] + ix = [i[4] for i in obs_data].index(item) + iac = [cfg[0] for cfg in self.plugin.configs].index(obs_data[ix][3]) + account = self.plugin.configs[iac] + + return result_message diff --git a/plugins/E-mail/dialogs/groups_dlg.py b/plugins/E-mail/dialogs/groups_dlg.py new file mode 100644 index 000000000..20797e910 --- /dev/null +++ b/plugins/E-mail/dialogs/groups_dlg.py @@ -0,0 +1,364 @@ +# coding=utf8 + +from copy import deepcopy + +import wx + +import eg +from ..utils import move_item, validate_email_addr + + +class GroupsDialog(eg.Dialog): + def __init__(self, parent, plugin, grps): + eg.Dialog.__init__( + self, + parent=parent, + style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER, + title=plugin.text.groupsTitle, + name="Groups dialog" + ) + self.parent = parent + self.plugin = plugin + self.groups = deepcopy(grps) + self.text = plugin.text + self.old_grp_sel = -1 + self.old_adr_sel = -1 + + self.SetMinSize((500, 400)) + self.create_widgets() + self.create_sizers() + self.btn_ok = self.FindWindowById(wx.ID_OK) + self.init_lists() + self.bindings() + + # noinspection PyAttributeOutsideInit + def create_widgets(self): + text = self.text + self.listbox_lbl = wx.StaticText(self, wx.ID_ANY, text.groupsList) + self.grp_list_ctrl = wx.ListBox(self, style=wx.LB_SINGLE | wx.LB_NEEDED_SB) + self.grp_edit_ctrl = wx.TextCtrl(self, wx.ID_ANY, u'', style=wx.TE_PROCESS_ENTER) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)) + self.grp_up = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.grp_up.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)) + self.grp_down = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.grp_down.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_DELETE, wx.ART_TOOLBAR, (16, 16)) + self.grp_del = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.grp_del.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, (16, 16)) + self.grp_add = wx.BitmapButton(self, wx.ID_ANY, bmp) + + self.addresses_lbl = wx.StaticText(self, wx.ID_ANY, text.outAddress) + self.adr_list_ctrl = wx.ListBox(self, style=wx.LB_SINGLE | wx.LB_NEEDED_SB) + self.adr_edit_ctrl = wx.TextCtrl(self, wx.ID_ANY, u'', style=wx.TE_PROCESS_ENTER) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)) + self.adr_up = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.adr_up.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)) + self.adr_down = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.adr_down.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_DELETE, wx.ART_TOOLBAR, (16, 16)) + self.adr_del = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.adr_del.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, (16, 16)) + self.adr_add = wx.BitmapButton(self, wx.ID_ANY, bmp) + + def create_sizers(self): + main_sizer = wx.GridBagSizer(hgap=5, vgap=10) + main_sizer.Add(self.listbox_lbl, pos=(0, 0), flag=wx.EXPAND) + main_sizer.Add(self.grp_list_ctrl, pos=(1, 0), span=(4, 1), flag=wx.EXPAND) + main_sizer.Add(self.grp_edit_ctrl, pos=(5, 0), span=(1, 2), flag=wx.EXPAND) + main_sizer.Add(self.grp_up, pos=(1, 1), flag=wx.ALIGN_BOTTOM) + main_sizer.Add(self.grp_down, pos=(2, 1)) + main_sizer.Add(self.grp_del, pos=(3, 1)) + main_sizer.Add(self.grp_add, pos=(4, 1)) + + main_sizer.Add(self.addresses_lbl, pos=(0, 2), flag=wx.EXPAND) + main_sizer.Add(self.adr_list_ctrl, pos=(1, 2), span=(4, 1), flag=wx.EXPAND) + main_sizer.Add(self.adr_edit_ctrl, pos=(5, 2), span=(1, 2), flag=wx.EXPAND) + main_sizer.Add(self.adr_up, pos=(1, 3), flag=wx.ALIGN_BOTTOM) + main_sizer.Add(self.adr_down, pos=(2, 3)) + main_sizer.Add(self.adr_del, pos=(3, 3)) + main_sizer.Add(self.adr_add, pos=(4, 3)) + + main_sizer.AddGrowableCol(0, 1) + main_sizer.AddGrowableCol(2, 3) + main_sizer.AddGrowableRow(1, 1) + main_sizer.SetFlexibleDirection(wx.BOTH) + + sep_btn_sizer = wx.StaticLine(self) + std_btn_sizer = self.CreateStdDialogButtonSizer(flags=wx.OK | wx.CANCEL | wx.NO_DEFAULT) + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 15) + sizer.Add(sep_btn_sizer, 0, wx.EXPAND) + sizer.Add(std_btn_sizer, 0, wx.EXPAND | wx.ALL, 10) + self.SetSizerAndFit(sizer) + + def bindings(self): + self.grp_edit_ctrl.Bind(wx.EVT_TEXT, self.on_grp_change) + self.grp_list_ctrl.Bind(wx.EVT_LISTBOX, self.on_grp_clicked) + self.grp_up.Bind(wx.EVT_BUTTON, self.on_grp_up) + self.grp_down.Bind(wx.EVT_BUTTON, self.on_grp_down) + self.grp_del.Bind(wx.EVT_BUTTON, self.on_grp_delete) + self.grp_add.Bind(wx.EVT_BUTTON, self.on_grp_add) + self.adr_edit_ctrl.Bind(wx.EVT_TEXT, self.on_adr_change) + self.adr_list_ctrl.Bind(wx.EVT_LISTBOX, self.on_adr_clicked) + self.adr_up.Bind(wx.EVT_BUTTON, self.on_adr_up) + self.adr_down.Bind(wx.EVT_BUTTON, self.on_adr_down) + self.adr_del.Bind(wx.EVT_BUTTON, self.on_adr_delete) + self.adr_add.Bind(wx.EVT_BUTTON, self.on_adr_add) + + def init_lists(self): + if len(self.groups) > 0: + self.grp_list_ctrl.Set([n[0] for n in self.groups]) + self.grp_list_ctrl.SetSelection(0) + self.set_value(self.groups[0]) + self.grp_up.Enable() + self.grp_down.Enable() + self.grp_del.Enable() + else: + self.grp_edit_ctrl.Disable() + self.btn_ok.Disable() + self.box_disable() + + def get_groups(self): + return self.groups + + def box_disable(self): + self.addresses_lbl.Disable() + self.adr_list_ctrl.Disable() + self.adr_edit_ctrl.Disable() + self.adr_up.Disable() + self.adr_down.Disable() + self.adr_add.Disable() + self.adr_del.Disable() + + def set_value(self, item): + self.grp_edit_ctrl.ChangeValue(item[0]) + self.adr_list_ctrl.Set(item[1]) + if len(item[1]) == 0: + self.adr_del.Disable() + self.adr_up.Disable() + self.adr_down.Disable() + else: + self.adr_list_ctrl.SetSelection(0) + self.adr_edit_ctrl.ChangeValue(item[1][0]) + self.adr_del.Enable() + flag = len(item[1]) > 1 + self.adr_up.Enable(flag) + self.adr_down.Enable(flag) + + def validation(self, ): + flag = True + flag2 = True + label = self.grp_edit_ctrl.GetValue() + groups = self.grp_list_ctrl.GetStrings() + if label == u'': + flag = False + if len(groups) > 0: + for item in groups: + if item == u'': + flag = False + if groups.count(label) != 1: + flag = False + adr = self.adr_edit_ctrl.GetValue() + addresses = self.adr_list_ctrl.GetStrings() + if len(addresses) > 0: + if adr == u'': + flag2 = False + for item in addresses: + if item == u'': + flag2 = False + if addresses.count(adr) != 1: + flag2 = False + if self.adr_edit_ctrl.HasFocus() and not validate_email_addr(adr): + flag = False + self.adr_add.Enable(flag) + self.btn_ok.Enable(flag and flag2) + self.grp_add.Enable(flag and flag2) + + def on_grp_change(self, evt): + if self.groups: + sel = self.old_grp_sel + label = self.grp_edit_ctrl.GetValue().strip() + self.groups[sel][0] = label + self.grp_list_ctrl.Set([j[0] for j in self.groups]) + self.grp_list_ctrl.SetSelection(sel) + self.validation() + evt.Skip() + + # noinspection PyUnusedLocal + def on_grp_clicked(self, evt): + sel = self.grp_list_ctrl.GetSelection() + if self.old_grp_sel != sel: + flag = True + for address in self.groups[self.old_grp_sel][1]: + if not validate_email_addr(address): + flag = False + break + label = self.grp_edit_ctrl.GetValue() + if label.strip() != u"": + if self.grp_list_ctrl.GetStrings().count(label) > 1: + flag = False + if flag: + self.old_grp_sel = sel + item = self.groups[sel] + self.set_value(item) + self.grp_list_ctrl.SetSelection(self.old_grp_sel) + self.grp_list_ctrl.SetFocus() + + def on_grp_up(self, evt): + new_sel, self.groups = move_item(self.groups, self.grp_list_ctrl.GetSelection(), -1) + self.grp_list_ctrl.Set([j[0] for j in self.groups]) + self.grp_list_ctrl.SetSelection(new_sel) + self.old_grp_sel = new_sel + evt.Skip() + + def on_grp_down(self, evt): + new_sel, self.groups = move_item(self.groups, self.grp_list_ctrl.GetSelection(), 1) + self.grp_list_ctrl.Set([j[0] for j in self.groups]) + self.grp_list_ctrl.SetSelection(new_sel) + self.old_grp_sel = new_sel + evt.Skip() + + def on_grp_delete(self, evt): + lngth = len(self.groups) + if lngth == 2: + self. grp_up.Enable(False) + self.grp_down.Enable(False) + sel = self.grp_list_ctrl.GetSelection() + if lngth == 1: + self.groups = [] + self.grp_list_ctrl.Set([]) + item = ['', []] + self.set_value(item) + self.adr_edit_ctrl.ChangeValue('') + self.grp_edit_ctrl.Enable(False) + self.box_disable() + self.adr_add.Enable(False) + self.btn_ok.Enable(False) + self.grp_del.Enable(False) + self.grp_add.Enable(True) + evt.Skip() + return + elif sel == lngth - 1: + sel = 0 + self.old_grp_sel = sel + self.groups.pop(self.grp_list_ctrl.GetSelection()) + self.grp_list_ctrl.Set([j[0] for j in self.groups]) + self.grp_list_ctrl.SetSelection(sel) + item = self.groups[sel] + self.set_value(item) + evt.Skip() + + # noinspection PyUnusedLocal + def on_grp_add(self, evt): + if len(self.groups) >= 1: + self.grp_up.Enable() + self.grp_down.Enable() + self.grp_edit_ctrl.Enable() + self.box_disable() + sel = self.grp_list_ctrl.GetSelection() + 1 + self.old_grp_sel = sel + item = [u'', []] + self.groups.insert(sel, item) + self.grp_list_ctrl.Set([j[0] for j in self.groups]) + self.grp_list_ctrl.SetSelection(sel) + self.set_value(item) + self.grp_edit_ctrl.SetFocus() + self.grp_add.Disable() + self.grp_del.Enable() + + # noinspection PyUnusedLocal + def on_adr_change(self, evt): + sel = self.grp_list_ctrl.GetSelection() + adr = self.adr_edit_ctrl.GetValue() + pos = self.adr_list_ctrl.GetSelection() + self.adr_list_ctrl.SetString(pos, adr) + self.groups[sel][1][pos] = adr + self.validation() + + def on_adr_clicked(self, evt): + sel = evt.GetSelection() + if sel == self.old_adr_sel: + return + + adr = self.adr_edit_ctrl.GetValue() + if not validate_email_addr(adr): + wx.Bell() + self.adr_list_ctrl.SetSelection(self.old_adr_sel) + return + + self.old_adr_sel = sel + self.adr_edit_ctrl.SetValue(self.adr_list_ctrl.GetStringSelection()) + + def on_adr_up(self, evt): + sel = self.old_adr_sel + new_sel, self.groups[sel][1] = move_item(self.groups[sel][1], self.adr_list_ctrl.GetSelection(), -1) + self.adr_list_ctrl.Set(self.groups[sel][1]) + self.adr_list_ctrl.SetSelection(new_sel) + self.old_adr_sel = new_sel + evt.Skip() + + def on_adr_down(self, evt): + sel = self.old_adr_sel + new_sel, self.groups[sel][1] = move_item(self.groups[sel][1], self.adr_list_ctrl.GetSelection(), 1) + self.adr_list_ctrl.Set(self.groups[sel][1]) + self.adr_list_ctrl.SetSelection(new_sel) + self.old_adr_sel = new_sel + evt.Skip() + + def on_adr_delete(self, evt): + sel = self.old_adr_sel + sel2 = self.adr_list_ctrl.GetSelection() + lngth = len(self.groups[sel][1]) + if lngth == 2: + self.adr_up.Enable(False) + self.adr_down.Enable(False) + if lngth == 1: + self.adr_edit_ctrl.ChangeValue('') + self.groups[sel][1] = [] + self.adr_list_ctrl.Set([]) + self.adr_list_ctrl.SetStringSelection('') + self.btn_ok.Enable(False) + self.adr_del.Enable(False) + self.adr_add.Enable(True) + evt.Skip() + return + elif sel2 == lngth - 1: + sel2 = 0 + self.old_adr_sel = sel2 + self.groups[sel][1].pop(self.adr_list_ctrl.GetSelection()) + self.adr_list_ctrl.Set(self.groups[sel][1]) + self.adr_list_ctrl.SetSelection(sel2) + item = self.groups[sel][1][sel2] + self.adr_edit_ctrl.ChangeValue(item) + self.validation() + evt.Skip() + + # noinspection PyUnusedLocal + def on_adr_add(self, evt): + sel = self.grp_list_ctrl.GetSelection() + self.old_adr_sel = self.adr_list_ctrl.Append(u'') + self.groups[sel][1].append(u'') + self.adr_list_ctrl.SetSelection(self.old_adr_sel) + addresses = self.adr_list_ctrl.GetStrings() + if len(addresses) > 1: + self.adr_up.Enable(True) + self.adr_down.Enable(True) + self.adr_edit_ctrl.Enable(True) + self.addresses_lbl.Enable(True) + self.adr_list_ctrl.Enable(True) + self.adr_edit_ctrl.SetValue(u'') + self.adr_edit_ctrl.SetFocus() + self.adr_add.Enable(False) + self.adr_del.Enable(True) diff --git a/plugins/E-mail/dialogs/message_frame.py b/plugins/E-mail/dialogs/message_frame.py new file mode 100644 index 000000000..443644cb3 --- /dev/null +++ b/plugins/E-mail/dialogs/message_frame.py @@ -0,0 +1,171 @@ +# coding=utf8 + +import email +import time + +import wx + +from .send_mail_dlg import SendMailDlg +from ..utils import parse_address, run_email_client + + +class MessageFrame(wx.MiniFrame): + def __init__(self, parent, message): + wx.MiniFrame.__init__( + self, + parent=parent, + id=wx.ID_ANY, + title="Message", + style=wx.CAPTION | wx.RESIZE_BORDER, + name="Message Frame" + ) + self.message = message + self.setup = parent.setup + self.parent = parent + self.plugin = parent.plugin + self.id = self.plugin.temp_data[self.message[3]][2][int(self.message[4][0]) - 1][0] + text = self.plugin.text + + self.close_button = wx.Button(self, wx.ID_ANY, text.close) # , size=(w, -1)) + self.reply_button = wx.Button(self, wx.ID_ANY, text.reply) # , size=(w, -1)) + self.client_button = wx.Button(self, wx.ID_ANY, text.client) # , size=(w, -1)) + self.delete_button = wx.Button(self, wx.ID_ANY, text.delete) # , size=(w, -1)) + self.message_ctrl = wx.TextCtrl( + self, wx.ID_ANY, + style=wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL | wx.TE_AUTO_URL | wx.TE_RICH2 + ) + + self.message_ctrl.Bind(wx.EVT_TEXT_URL, self.on_url_click) + self.Bind(wx.EVT_CLOSE, self.on_close_window) + self.close_button.Bind(wx.EVT_BUTTON, self.on_close_button) + self.client_button.Bind(wx.EVT_BUTTON, self.on_client_button) + self.reply_button.Bind(wx.EVT_BUTTON, self.on_reply_button) + self.delete_button.Bind(wx.EVT_BUTTON, self.on_delete_button) + + central_sizer = wx.GridBagSizer(10, 10) + central_sizer.Add(self.message_ctrl, (0, 0), (1, 7), flag=wx.EXPAND) + central_sizer.Add(self.delete_button, (1, 0), flag=wx.ALIGN_LEFT | wx.BOTTOM, border=10) + central_sizer.Add(self.client_button, (1, 2), flag=wx.ALIGN_CENTER_HORIZONTAL) + central_sizer.Add(self.reply_button, (1, 4), flag=wx.ALIGN_CENTER_HORIZONTAL) + central_sizer.Add(self.close_button, (1, 6), flag=wx.RIGHT) + central_sizer.AddGrowableRow(0) + central_sizer.AddGrowableCol(1) + central_sizer.AddGrowableCol(3) + central_sizer.AddGrowableCol(5) + + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(central_sizer, 1, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 10) + self.SetMinSize((550, 400)) + self.SetSize((550, 400)) + self.SetSizer(main_sizer) + + def show_message_frame(self, position, size): + self.set_title() + self.message_ctrl.SetValue(self.message[2]) + self.SetSize(size) + self.SetPosition(position) + self.Show() + + @staticmethod + def on_url_click(evt): + if evt.MouseEvent.LeftDown(): + url = evt.GetEventObject().GetValue()[evt.GetURLStart(): evt.GetURLEnd()] + wx.LaunchDefaultBrowser(url) + else: + evt.Skip() + + def on_close_window(self, evt): + self.parent.mess_fram_size = self.GetSize() + self.parent.mess_fram_position = self.GetPosition() + self.Destroy() + evt.Skip() + + def on_close_button(self, evt): + evt.Skip() + self.Close(True) + + def on_client_button(self, evt): + evt.Skip() + run_email_client() + + def on_reply_button(self, evt): + evt.Skip() + address_list = [item[3] for item in self.plugin.configs] + if self.message[8] in address_list: + indx = address_list.index(self.message[8]) + else: + indx = 0 + from_usr = [ + u"%s <%s> - %s" % (item[2], item[3], item[0]) for item in self.plugin.configs + ][indx] + sbjct = u"Re: " + self.message[0] + repl_addr = email.utils.parseaddr(self.message[6]) + from_addr = email.utils.parseaddr(self.message[1]) + if repl_addr[1] != '': + to = repl_addr[1] + else: + to = from_addr[1] + if repl_addr[0] != '': + to_name = parse_address(self.message[6]) + elif from_addr[0] != '': + to_name = parse_address(self.message[1]) + else: + to_name = '' + body = self.message[2].split('\n') + sender = parse_address(self.message[1]) + re_body = [self.plugin.text.wrote % sender, ''] + for line in body: + re_body.append('> ' + line) + re_body = u'\n'.join(re_body) + + my_dlg = SendMailDlg(parent=self) + my_dlg.show_send_mail_dlg( + subject=sbjct, + from_adr=from_usr, + to_adr=to, + body=re_body, + to_name=to_name, + plugin=self.plugin, + references=self.message[5], + message_id=self.message[7] + ) + + def on_delete_button(self, evt): + wx.CallAfter(self.parent.delete_emails, self.message[3], self.message[4], True) + evt.Skip() + time.sleep(0.2) + self.parent.Refresh() + self.Close(True) + + def get_email_num(self): + return self.message[4][0] + + def set_title(self): + title = ('%s-%s | %s: %s' % ( + self.setup[0], + self.message[4][0], + parse_address(self.message[1]), + self.message[0] + )) + if len(title) > 68: + title = title[:65] + '...' + self.SetTitle(title) + + def unblock(self, unblock): + if unblock: + data = self.plugin.temp_data[self.message[3]][2] + try: + ix = [item[0] for item in data].index(self.id) + self.message[4][0] = data[ix][4] + self.set_title() + except ValueError: + self.Close(True) + colour = self.GetForegroundColour() + else: + colour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT) + self.message_ctrl.SetForegroundColour(colour) + self.delete_button.Enable(unblock) + self.client_button.Enable(unblock) + self.close_button.Enable(unblock) + self.Enable(unblock) + self.Refresh() diff --git a/plugins/E-mail/dialogs/notify_frame.py b/plugins/E-mail/dialogs/notify_frame.py new file mode 100644 index 000000000..aa9fdcb3e --- /dev/null +++ b/plugins/E-mail/dialogs/notify_frame.py @@ -0,0 +1,99 @@ +# coding=utf8 + +import wx + +from eg.WinApi.Dynamic import BringWindowToTop, SetEvent +from ..utils import run_email_client +from .details_frame import DetailsFrame + + +class NotifFrame(wx.MiniFrame): + details_frame = None + detFramePosition = (-1, -1) + detFrameSize = (-1, -1) + + def __init__(self, parent, plugin): + wx.MiniFrame.__init__(self, parent, style=wx.STAY_ON_TOP | wx.CAPTION) + self.plugin = plugin + self.text = plugin.text + self.setup = None + + self.number_lbl = wx.StaticText(self, label=u'') + waiting_lbl = wx.StaticText(self, label=self.text.notifLabel) + font = self.number_lbl.GetFont() + font.SetPointSize(20) + self.number_lbl.SetFont(font) + self.SetToolTip(wx.ToolTip(self.text.tip0)) + self.number_lbl.SetToolTip(wx.ToolTip(self.text.tip0)) + waiting_lbl.SetToolTip(wx.ToolTip(self.text.tip0)) + + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(self.number_lbl, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 10) + sizer.Add(waiting_lbl, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 10) + self.SetSizerAndFit(sizer) + + self.Bind(wx.EVT_CLOSE, self.on_close_window) + self.Bind(wx.EVT_LEFT_DCLICK, self.on_double_click) + self.number_lbl.Bind(wx.EVT_LEFT_DCLICK, self.on_double_click) + waiting_lbl.Bind(wx.EVT_LEFT_DCLICK, self.on_double_click) + self.Bind(wx.EVT_RIGHT_UP, self.on_right_click) + self.number_lbl.Bind(wx.EVT_RIGHT_UP, self.on_right_click) + waiting_lbl.Bind(wx.EVT_RIGHT_UP, self.on_right_click) + + def show_notif_frame( + self, + stp, + event=None + ): + self.setup = stp + self.SetTitle(' ' + stp[0]) + self.SetBackgroundColour(stp[9]) + self.SetForegroundColour(stp[10]) + SetEvent(event) + + def on_close_window(self, evt): + if self.details_frame: + self.details_frame.disappear() + self.Destroy() + evt.Skip() + + def on_double_click(self, evt): + if evt.ControlDown(): # with CTRL + run_email_client() + else: # without CTRL + if self.details_frame: + BringWindowToTop(self.details_frame.GetHandle()) + else: + self.details_frame = DetailsFrame(parent=self) + wx.CallAfter( + self.details_frame.show_details_frame, + position=self.detFramePosition, + size=self.detFrameSize + ) + wx.CallAfter(self.details_frame.refresh_list) + + def on_right_click(self, evt): + evt.Skip() + if self.details_frame: + self.details_frame.disappear() + self.Hide() + + def disappear(self, close=False): + if self.details_frame: + self.details_frame.disappear() + if not close: + self.Hide() + else: + self.Close() + + def get_number(self): + return int(self.number_lbl.GetLabel()) + + def set_number(self, label=""): + lbl = str(label) + self.number_lbl.SetLabel(lbl) + if self.details_frame: + wx.CallAfter(self.details_frame.refresh_list) + self.Fit() + self.Refresh() + self.Update() diff --git a/plugins/E-mail/dialogs/observer_mgr.py b/plugins/E-mail/dialogs/observer_mgr.py new file mode 100644 index 000000000..7ca957af7 --- /dev/null +++ b/plugins/E-mail/dialogs/observer_mgr.py @@ -0,0 +1,134 @@ +# coding=utf8 + +import time + +import wx + + +class ObservViewerDialog(wx.MiniFrame): + def __init__(self, parent, plugin): + wx.MiniFrame.__init__( + self, parent, -1, + style=wx.CAPTION | wx.RESIZE_BORDER, name="Observations viewer/manager" + ) + self.SetBackgroundColour(wx.NullColour) + self.observ_threads = plugin.observ_threads + self.plugin = plugin + + def show_observ_viewer_dialog(self): + text = self.plugin.text + self.SetTitle(text.viewerTitle) + + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add( + wx.StaticText(self, -1, text.listhead), + 0, wx.TOP | wx.LEFT | wx.RIGHT, 10 + ) + + central_sizer = wx.GridBagSizer(10, 10) + observ_list_ctrl = wx.ListCtrl(self, -1, style=wx.LC_REPORT | wx.VSCROLL | wx.HSCROLL) + for i, colLabel in enumerate(text.colLabels): + observ_list_ctrl.InsertColumn( + i, + colLabel, + wx.LIST_FORMAT_RIGHT if (i == 1 or i == 2) else wx.LIST_FORMAT_LEFT + ) + + if int(wx.__version__.split('.', 1)[0]) < 4: + observ_list_ctrl.InsertStringItem(0, text.colLabels[0]) + observ_list_ctrl.SetStringItem(0, 2, time.strftime("%c")) + else: + observ_list_ctrl.InsertItem(0, text.colLabels[0]) + observ_list_ctrl.SetItem(0, 2, time.strftime("%c")) + size = 0 + for i in range(5): + observ_list_ctrl.SetColumnWidth(i, wx.LIST_AUTOSIZE_USEHEADER) + size += observ_list_ctrl.GetColumnWidth(i) + observ_list_ctrl.SetMinSize((size, -1)) + central_sizer.Add(observ_list_ctrl, (0, 0), (1, 5), flag=wx.EXPAND) + # buttons + abort_button = wx.Button(self, -1, text.buttons[0]) + abort_all_button = wx.Button(self, -1, text.buttons[1]) + refresh_button = wx.Button(self, -1, text.buttons[2]) + close_button = wx.Button(self, -1, text.buttons[3]) + central_sizer.Add(abort_button, (1, 0), flag=wx.ALIGN_CENTER_HORIZONTAL | wx.BOTTOM, border=10) + central_sizer.Add(abort_all_button, (1, 1), flag=wx.ALIGN_CENTER_HORIZONTAL) + central_sizer.Add(refresh_button, (1, 2), flag=wx.ALIGN_LEFT) + central_sizer.Add(close_button, (1, 4), flag=wx.ALIGN_RIGHT) + central_sizer.AddGrowableRow(0) + central_sizer.AddGrowableCol(3) + + # noinspection PyUnusedLocal + def fill_list_ctrl(event=None): + observ_list_ctrl.DeleteAllItems() + row = 0 + for j, item in enumerate(self.observ_threads): + ot = self.observ_threads[item] + if ot.isAlive() and not ot.is_aborted(): + timestamp = time.strftime("%c", time.localtime(ot.last_check)) if ot.last_check != 0 else '' + if int(wx.__version__.split('.', 1)[0]) < 4: + observ_list_ctrl.InsertStringItem(row, ot.observ_name) + observ_list_ctrl.SetStringItem(row, 1, str(ot.setup[1])) + observ_list_ctrl.SetStringItem(row, 2, timestamp) + observ_list_ctrl.SetStringItem(row, 3, ot.setup[3]) + observ_list_ctrl.SetStringItem(row, 4, ot.setup[12]) + else: + observ_list_ctrl.InsertItem(row, ot.observ_name) + observ_list_ctrl.SetItem(row, 1, str(ot.setup[1])) + observ_list_ctrl.SetItem(row, 2, timestamp) + observ_list_ctrl.SetItem(row, 3, ot.setup[3]) + observ_list_ctrl.SetItem(row, 4, ot.setup[12]) + row += 1 + list_selection() + + def on_abort_button(event): + item = observ_list_ctrl.GetFirstSelected() + while item != -1: + name = observ_list_ctrl.GetItemText(item) + ot = self.observ_threads[name] + if ot.isAlive(): + ot.abort_observation() + time.sleep(0.25) + item = observ_list_ctrl.GetNextSelected(item) + fill_list_ctrl() + event.Skip() + + def on_abort_all_button(event): + thrds = list(enumerate(self.observ_threads)) + thrds.reverse() + for j, name in thrds: + ot = self.observ_threads[name] + ot.abort_observation() + time.sleep(0.25) + fill_list_ctrl() + self.Update() + event.Skip() + + def on_close_button(event): + self.Destroy() + event.Skip() + + def list_selection(event=None): + flag = observ_list_ctrl.GetFirstSelected() != -1 + abort_button.Enable(flag) + if event: + event.Skip() + + def on_size(event): + observ_list_ctrl.SetColumnWidth(6, wx.LIST_AUTOSIZE_USEHEADER) + event.Skip() + + fill_list_ctrl() + self.SetMinSize((size + 52, 178)) + self.SetSize((size + 52, 178)) + abort_button.Bind(wx.EVT_BUTTON, on_abort_button) + abort_all_button.Bind(wx.EVT_BUTTON, on_abort_all_button) + refresh_button.Bind(wx.EVT_BUTTON, fill_list_ctrl) + close_button.Bind(wx.EVT_BUTTON, on_close_button) + observ_list_ctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, list_selection) + observ_list_ctrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, list_selection) + self.Bind(wx.EVT_SIZE, on_size) + main_sizer.Add(central_sizer, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, 10) + main_sizer.Layout() + self.SetSizerAndFit(main_sizer) + self.Show() diff --git a/plugins/E-mail/dialogs/out_server_mgr.py b/plugins/E-mail/dialogs/out_server_mgr.py new file mode 100644 index 000000000..50b43d0eb --- /dev/null +++ b/plugins/E-mail/dialogs/out_server_mgr.py @@ -0,0 +1,376 @@ +# coding=utf8 + + +import wx +from wx.lib.intctrl import IntCtrl + +import eg +from ..utils import move_item + + +class OutServerDialog(eg.Dialog): + def __init__(self, parent, plugin, servers, pass_smtp, cfgs, val): + self.text = text = plugin.text + eg.Dialog.__init__( + self, + parent, + style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER, + title=text.outServerTitle, + name="Servers dialog" + ) + self.panel = parent + self.plugin = plugin + self.pass_smtp = pass_smtp + self.servers = servers + self.cfgs = cfgs + self.selected_in_cfg = val + self.oldSel = 0 + + self.create_widgets() + self.create_sizers() + self.btn_ok = self.FindWindowById(wx.ID_OK) + self.bindings() + + if len(self.servers) > 0: + self.server_list_ctrl.Set([n[0] for n in self.servers]) + self.server_list_ctrl.SetSelection(0) + self.set_value(self.servers[0]) + self.oldSel = 0 + self.btn_up.Enable() + self.btn_down.Enable() + self.btn_del.Enable() + self.on_checkbox() + else: + self.box_enable(False) + self.btn_ok.Disable() + self.btn_add.Enable() + self.user_ctrl.Disable() + self.user_lbl.Disable() + self.passw_ctrl.Disable() + self.passw_lbl.Disable() + + def get_servers(self): + return self.servers + + def get_pass_smtp(self): + return self.pass_smtp + + def get_string_for_selection(self): + return self.selected_in_cfg + + def box_enable(self, enable): + self.server_edit_ctrl.Enable(enable) + self.out_server_lbl.Enable(enable) + self.out_server_ctrl.Enable(enable) + self.out_port_lbl.Enable(enable) + self.out_port_ctrl.Enable(enable) + self.choice_secure_lbl.Enable(enable) + self.choice_secure_ctrl.Enable(enable) + self.use_secure_ctrl.Enable(enable) + + def set_value(self, item): + self.server_edit_ctrl.ChangeValue(item[0]) + self.out_server_ctrl.SetValue(item[1]) + self.out_port_ctrl.SetValue(item[2]) + self.choice_secure_ctrl.SetSelection(item[3]) + self.use_secure_ctrl.SetValue(item[4]) + self.user_ctrl.SetValue(item[5]) + if item[0] != u'' and item[0] in self.pass_smtp: + self.passw_ctrl.ChangeValue(str(self.pass_smtp[item[0]])) + else: + self.passw_ctrl.ChangeValue(u'') + + def validation(self): + flag = True + label = self.server_edit_ctrl.GetValue() + if label == "": + flag = False + else: + if [j[0] for j in self.servers].count(label) != 1: + flag = False + if self.out_server_ctrl.GetValue() == '': + flag = False + if self.out_port_ctrl.GetValue() < 0: + flag = False + if self.use_secure_ctrl.GetValue(): + if self.user_ctrl.GetValue() == '' or self.passw_ctrl.GetValue() == '': + flag = False + self.btn_ok.Enable(flag) + self.btn_add.Enable(flag) + + # noinspection PyUnusedLocal + def on_ok(self, evt): + # self.servers = self.servers + # self.cfgs = self.cfgs + # self.pass_smtp = self.pass_smtp + # self.server_list_ctrl.Clear() + # self.server_list_ctrl.AppendItems([j[0] for j in self.servers]) + # self.server_list_ctrl.SetStringSelection(self.val) + self.validation() + evt.Skip() + + # noinspection PyUnusedLocal + def on_label_and_password(self, evt): + if not self.servers: + return + srvrs = [item[8] for item in self.cfgs] + old_lbl = self.server_list_ctrl.GetStringSelection() + sel = self.oldSel + label = self.server_edit_ctrl.GetValue().strip() + val = self.passw_ctrl.GetValue() + if val != u'': + self.pass_smtp[label] = val + self.servers[sel][0] = label + if self.server_list_ctrl.GetStrings().count(old_lbl) == 1: + if old_lbl in srvrs: + if self.selected_in_cfg == old_lbl: + self.selected_in_cfg = label + for item in self.cfgs: + if item[8] == old_lbl: + item[8] = label + self.server_list_ctrl.Set([j[0] for j in self.servers]) + self.server_list_ctrl.SetSelection(sel) + self.validation() + + # noinspection PyUnusedLocal + def on_server_name(self, evt): + if not self.servers: + return + val = self.out_server_ctrl.GetValue().strip() + sel = self.oldSel + self.servers[sel][1] = val + self.validation() + + # noinspection PyUnusedLocal + def on_port(self, evt): + if not self.servers: + return + val = self.out_port_ctrl.GetValue() + sel = self.oldSel + self.servers[sel][2] = val + self.validation() + + # noinspection PyUnusedLocal + def on_ssl(self, evt): + if not self.servers: + return + ports = (25, 587, 587, 465) + val = self.choice_secure_ctrl.GetSelection() + port = ports[val] + self.out_port_ctrl.SetValue(port) + sel = self.oldSel + self.servers[sel][2] = port + self.servers[sel][3] = val + self.validation() + + def on_checkbox(self, evt=None): + if evt: + evt.Skip() + val = self.use_secure_ctrl.GetValue() + sel = self.oldSel + self.servers[sel][4] = val + self.user_ctrl.Enable(val) + self.user_lbl.Enable(val) + self.passw_ctrl.Enable(val) + self.passw_lbl.Enable(val) + if not val: + self.user_ctrl.SetValue('') + self.passw_ctrl.SetValue('') + self.validation() + + # noinspection PyUnusedLocal,PyUnusedLocal + def on_user(self, evt): + if not self.servers: + return + val = self.user_ctrl.GetValue().strip() + sel = self.oldSel + self.servers[sel][5] = val + self.validation() + + # noinspection PyUnusedLocal + def on_click(self, evt): + sel = self.server_list_ctrl.GetSelection() + label = self.server_edit_ctrl.GetValue() + if label.strip() != u'': + if [j[0] for j in self.servers].count(label) == 1: + self.oldSel = sel + item = self.servers[sel] + self.set_value(item) + self.server_list_ctrl.SetSelection(self.oldSel) + self.server_list_ctrl.SetFocus() + val = self.servers[sel][4] + self.user_ctrl.Enable(val) + self.user_lbl.Enable(val) + self.passw_ctrl.Enable(val) + self.passw_lbl.Enable(val) + self.validation() + + # noinspection PyUnusedLocal + def on_button_up(self, evt): + new_sel, self.servers = move_item(self.servers, self.server_list_ctrl.GetSelection(), -1) + self.server_list_ctrl.Set([j[0] for j in self.servers]) + self.server_list_ctrl.SetSelection(new_sel) + self.oldSel = new_sel + + # noinspection PyUnusedLocal + def on_button_down(self, evt): + new_sel, self.servers = move_item(self.servers, self.server_list_ctrl.GetSelection(), 1) + self.server_list_ctrl.Set([j[0] for j in self.servers]) + self.server_list_ctrl.SetSelection(new_sel) + self.oldSel = new_sel + + # noinspection PyUnusedLocal + def on_button_delete(self, evt): + srvrs = [item[8] for item in self.cfgs] + val = self.server_list_ctrl.GetStringSelection() + if val in srvrs: + wx.MessageBox( + self.text.deleteServer % val, + eg.APP_NAME, + wx.OK | wx.ICON_EXCLAMATION + ) + return + sel = self.server_list_ctrl.GetSelection() + lngth = len(self.servers) + if lngth == 2: + self.btn_up.Enable(False) + self.btn_down.Enable(False) + if lngth == 1: + self.servers = [] + self.server_list_ctrl.Set([]) + item = ['', '', 25, 0, False, ''] + self.set_value(item) + self.box_enable(False) + self.btn_ok.Enable(False) + self.btn_del.Enable(False) + self.btn_add.Enable(True) + self.user_ctrl.Enable(False) + self.user_lbl.Enable(False) + self.passw_ctrl.Enable(False) + self.passw_lbl.Enable(False) + return + elif sel == lngth - 1: + sel = 0 + self.oldSel = sel + self.servers.pop(self.server_list_ctrl.GetSelection()) + self.server_list_ctrl.Set([j[0] for j in self.servers]) + self.server_list_ctrl.SetSelection(sel) + item = self.servers[sel] + self.set_value(item) + self.on_checkbox() + + # noinspection PyUnusedLocal + def on_button_append(self, evt): + if len(self.servers) == 1: + self.btn_up.Enable(True) + self.btn_down.Enable(True) + self.box_enable(True) + sel = self.server_list_ctrl.GetSelection() + 1 + self.oldSel = sel + item = ['', '', 25, 0, False, ''] + self.servers.insert(sel, item) + self.server_list_ctrl.Set([j[0] for j in self.servers]) + self.server_list_ctrl.SetSelection(sel) + self.set_value(item) + self.server_edit_ctrl.SetFocus() + self.btn_add.Enable(False) + self.btn_del.Enable(True) + self.on_checkbox() + + def bindings(self): + # self.btn_ok.Bind(wx.EVT_BUTTON, self.on_ok) + self.server_edit_ctrl.Bind(wx.EVT_TEXT, self.on_label_and_password) + self.passw_ctrl.Bind(wx.EVT_TEXT, self.on_label_and_password) + self.out_server_ctrl.Bind(wx.EVT_TEXT, self.on_server_name) + self.out_port_ctrl.Bind(wx.EVT_TEXT, self.on_port) + self.choice_secure_ctrl.Bind(wx.EVT_CHOICE, self.on_ssl) + self.use_secure_ctrl.Bind(wx.EVT_CHECKBOX, self.on_checkbox) + self.user_ctrl.Bind(wx.EVT_TEXT, self.on_user) + self.server_list_ctrl.Bind(wx.EVT_LISTBOX, self.on_click) + self.btn_up.Bind(wx.EVT_BUTTON, self.on_button_up) + self.btn_down.Bind(wx.EVT_BUTTON, self.on_button_down) + self.btn_del.Bind(wx.EVT_BUTTON, self.on_button_delete) + self.btn_add.Bind(wx.EVT_BUTTON, self.on_button_append) + + def create_sizers(self): + server_sizer_l = wx.BoxSizer(wx.VERTICAL) + server_sizer_l.Add(self.out_server_lbl, 0, wx.EXPAND) + server_sizer_l.Add(self.out_server_ctrl, 0, wx.EXPAND) + + server_sizer_r = wx.BoxSizer(wx.VERTICAL) + server_sizer_r.Add(self.out_port_lbl, 0, wx.LEFT, 3) + server_sizer_r.Add(self.out_port_ctrl, 0) + + server_sizer = wx.BoxSizer(wx.HORIZONTAL) + server_sizer.Add(server_sizer_l, 1, wx.EXPAND) + server_sizer.Add(server_sizer_r, 0, wx.LEFT, 5) + + box = wx.StaticBox(self, label=self.text.servParam) + right_sizer = wx.StaticBoxSizer(box, wx.VERTICAL) + right_sizer.Add(self.choice_secure_lbl, 0, wx.TOP, 5) + right_sizer.Add(self.choice_secure_ctrl, 0, wx.EXPAND | wx.TOP, 3) + right_sizer.Add(server_sizer, 0, wx.EXPAND | wx.TOP, 10) + right_sizer.Add(self.use_secure_ctrl, 0, wx.TOP, 16) + right_sizer.Add(self.user_lbl, 0, wx.TOP, 5) + right_sizer.Add(self.user_ctrl, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 3) + right_sizer.Add(self.passw_lbl, 0, wx.TOP, 5) + right_sizer.Add(self.passw_ctrl, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 3) + right_sizer.Add((1, 3)) + + left_sizer = wx.GridBagSizer(hgap=5, vgap=10) + left_sizer.Add(self.server_list_lbl, pos=(0, 0), flag=wx.EXPAND) + left_sizer.Add(self.server_list_ctrl, pos=(1, 0), span=(4, 1), flag=wx.EXPAND) + left_sizer.Add(self.server_edit_ctrl, pos=(5, 0), span=(1, 2), flag=wx.EXPAND) + left_sizer.Add(self.btn_up, pos=(1, 1), flag=wx.ALIGN_BOTTOM) + left_sizer.Add(self.btn_down, pos=(2, 1)) + left_sizer.Add(self.btn_del, pos=(3, 1)) + left_sizer.Add(self.btn_add, pos=(4, 1)) + left_sizer.AddGrowableCol(0, 1) + left_sizer.AddGrowableRow(1, 1) + left_sizer.SetFlexibleDirection(wx.BOTH) + + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + main_sizer.Add(left_sizer, 1, wx.EXPAND | wx.LEFT, 10) + main_sizer.Add(right_sizer, 2, wx.LEFT | wx.RIGHT | wx.TOP, 14) + + sep_btn_sizer = wx.StaticLine(self) + std_btn_sizer = self.CreateStdDialogButtonSizer(flags=wx.OK | wx.CANCEL | wx.NO_DEFAULT) + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 15) + sizer.Add(sep_btn_sizer, 0, wx.EXPAND) + sizer.Add(std_btn_sizer, 0, wx.EXPAND | wx.ALL, 10) + self.SetSizerAndFit(sizer) + + # noinspection PyAttributeOutsideInit + def create_widgets(self): + text = self.text + self.server_list_lbl = wx.StaticText(self, wx.ID_ANY, text.serversList) + self.server_list_ctrl = wx.ListBox(self, style=wx.LB_SINGLE | wx.LB_NEEDED_SB) + self.server_edit_ctrl = wx.TextCtrl(self) + self.out_server_lbl = wx.StaticText(self, label=text.outServer) + self.out_server_ctrl = wx.TextCtrl(self) + self.out_port_lbl = wx.StaticText(self, label=text.incPort) + self.out_port_ctrl = IntCtrl(self, value=25) + self.choice_secure_lbl = wx.StaticText(self, label=text.secureConnectLabel) + self.choice_secure_ctrl = wx.Choice(self, choices=text.secureConnectChoice2) + self.use_secure_ctrl = wx.CheckBox(self, label=text.useName) + self.user_lbl = wx.StaticText(self, label=text.userLogin) + self.user_ctrl = wx.TextCtrl(self) + self.passw_lbl = wx.StaticText(self, label=text.userPassword) + # self.passw_ctrl = wx.TextCtrl(self, style=wx.TE_PASSWORD) + self.passw_ctrl = eg.PasswordCtrl(self) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)) + self.btn_up = wx.BitmapButton(self, -1, bmp) + self.btn_up.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)) + self.btn_down = wx.BitmapButton(self, -1, bmp) + self.btn_down.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_DELETE, wx.ART_TOOLBAR, (16, 16)) + self.btn_del = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.btn_del.Disable() + + bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, (16, 16)) + self.btn_add = wx.BitmapButton(self, wx.ID_ANY, bmp) diff --git a/plugins/E-mail/dialogs/send_mail_dlg.py b/plugins/E-mail/dialogs/send_mail_dlg.py new file mode 100644 index 000000000..eec2e1fe4 --- /dev/null +++ b/plugins/E-mail/dialogs/send_mail_dlg.py @@ -0,0 +1,142 @@ +# coding=utf8 + +import wx + +from ..threads import SendMailThread +from ..utils import validate_email_addr +from .compose_msg import ComposeMsg + + +# noinspection PyClassHasNoInit +class SendMailText: + fromLabel = 'From:' + toLabel = 'To:' + copyLabel = 'Copy:' + subjectLabel = 'Subject:' + outText = "Text:" + outTexts = "Append:" + tip = 'Here can be expression as {eg.event.payload} too !' + tip1 = "Recipient's Name (not obligatory)" + tip2 = "Recipient's Address (obligatory)" + tip3 = 'Send your e-mail now !' + sendNow = 'Send now !' + replyTitle = 'Reply' + + +class SendMailDlg(wx.MiniFrame, ComposeMsg): + def __init__(self, parent): + wx.MiniFrame.__init__( + self, + parent, + size=(360, 270), + style=wx.CAPTION | wx.RESIZE_BORDER, + name='Send Email' + ) + ComposeMsg.__init__(self) + self.text = SendMailText + self.plugin = None + self.references = None + self.message_id = None + self.btn1 = None + + def show_send_mail_dlg( + self, + subject=u'', + from_adr=u'', + to_adr=u'', + cc_adr=u'', + body=u'', + templates=u'', + to_name=u'', + plugin=None, + references=None, + message_id=None + ): + self.plugin = plugin + self.references = references + self.message_id = message_id + text = self.text + self.SetTitle(3 * ' ' + text.replyTitle) + panel = self + top_sizer = self.send_cfg( + panel, + subject, + from_adr, + to_adr, + cc_adr, + body, + templates, + to_name, + text, + plugin + ) + + line = wx.StaticLine(self, style=wx.LI_HORIZONTAL) + self.btn1 = wx.Button(self, wx.ID_OK) + self.btn1.SetLabel(text.sendNow) + self.btn1.Disable() + self.btn1.SetDefault() + btn2 = wx.Button(self, wx.ID_CANCEL) + btn2.SetLabel(plugin.text.cancel) + + btnsizer = wx.StdDialogButtonSizer() + btnsizer.AddButton(self.btn1) + btnsizer.AddButton(btn2) + btnsizer.Realize() + + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add((1, 10)) + sizer.Add(top_sizer, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, 16) + sizer.Add((1, 5)) + sizer.Add(line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 5) + sizer.Add(btnsizer, 0, wx.EXPAND | wx.RIGHT, 12) + sizer.Add((1, 5)) + self.SetMinSize((550, 400)) + self.SetSize((550, 400)) + self.SetSizer(sizer) + + self.to_ctrl.Bind(wx.EVT_TEXT, self.validation) + self.body_ctrl.Bind(wx.EVT_TEXT, self.validation) + self.subject_ctrl.Bind(wx.EVT_TEXT, self.validation) + self.Bind(wx.EVT_CLOSE, self.on_close) + btn2.Bind(wx.EVT_BUTTON, self.on_cancel) + self.btn1.Bind(wx.EVT_BUTTON, self.on_send) + self.validation() + self.Show() + + def validation(self, evt=None): + if evt: + evt.Skip() + flag = True + if not validate_email_addr(self.to_ctrl.GetValue()): + flag = False + if self.subject_ctrl.GetValue() == '': + flag = False + if self.body_ctrl.GetValue() == '': + flag = False + self.btn1.Enable(flag) + + def on_send(self, evt): + evt.Skip() + t = SendMailThread( + self.plugin, + self.subject_ctrl.GetValue(), + self.from_ctrl.GetStringSelection(), + self.to_ctrl.GetValue(), + self.cc_ctrl.GetStringSelection(), + self.body_ctrl.GetValue(), + self.templates_ctrl.GetValue(), + self.to_name_ctrl.GetValue(), + self.references, + self.message_id + ) + t.start() + self.Close() + + def on_close(self, evt): + evt.Skip() + self.Destroy() + + def on_cancel(self, evt): + evt.Skip() + self.Close() diff --git a/plugins/E-mail/dialogs/signatures_dlg.py b/plugins/E-mail/dialogs/signatures_dlg.py new file mode 100644 index 000000000..3eb3fd268 --- /dev/null +++ b/plugins/E-mail/dialogs/signatures_dlg.py @@ -0,0 +1,216 @@ +# coding=utf8 + +from copy import deepcopy + +import wx + +import eg +from ..utils import move_item + + +class SignaturesDialog(eg.Dialog): + old_sel = 0 + + def __init__(self, parent, plugin, signatures): + self.text = plugin.text + eg.Dialog.__init__( + self, + parent=parent, + id=wx.ID_ANY, + title=self.text.textsTitle, + name="Texts dialog", + style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER + ) + self.panel = parent + self.plugin = plugin + self.signatures = deepcopy(signatures) + + self.create_widgets() + self.create_sizers() + self.btn_ok = self.FindWindowById(wx.ID_OK) + self.bindings() + + if len(self.signatures) > 0: + self.list_box_ctrl.Set([n[0] for n in self.signatures]) + self.list_box_ctrl.SetSelection(0) + self.set_value(self.signatures[0]) + self.old_sel = 0 + self.btn_up.Enable(True) + self.btn_down.Enable(True) + self.btn_del.Enable(True) + else: + self.box_enable(False) + self.btn_ok.Enable(False) + + def bindings(self): + self.label_ctrl.Bind(wx.EVT_TEXT, self.on_txt_change) + self.signature_ctrl.Bind(wx.EVT_TEXT, self.on_text_name) + self.list_box_ctrl.Bind(wx.EVT_LISTBOX, self.on_click) + self.btn_up.Bind(wx.EVT_BUTTON, self.on_button_up) + self.btn_down.Bind(wx.EVT_BUTTON, self.on_button_down) + self.btn_del.Bind(wx.EVT_BUTTON, self.on_button_delete) + self.btn_add.Bind(wx.EVT_BUTTON, self.on_button_append) + + def create_sizers(self): + main_sizer = wx.GridBagSizer(hgap=5, vgap=10) + main_sizer.Add(self.listbox_lbl, pos=(0, 0), flag=wx.EXPAND) + main_sizer.Add(self.list_box_ctrl, pos=(1, 0), span=(4, 1), flag=wx.EXPAND) + main_sizer.Add(self.label_ctrl, pos=(5, 0), span=(1, 2), flag=wx.EXPAND) + main_sizer.Add(self.btn_up, pos=(1, 1), flag=wx.ALIGN_BOTTOM) + main_sizer.Add(self.btn_down, pos=(2, 1)) + main_sizer.Add(self.btn_del, pos=(3, 1)) + main_sizer.Add(self.btn_add, pos=(4, 1)) + main_sizer.Add(self.out_text_lbl, pos=(0, 2)) + main_sizer.Add(self.signature_ctrl, pos=(1, 2), span=(5, 1), flag=wx.EXPAND) + + main_sizer.AddGrowableCol(0, 1) + main_sizer.AddGrowableCol(2, 3) + main_sizer.AddGrowableRow(1, 1) + main_sizer.SetFlexibleDirection(wx.BOTH) + + sep_btn_sizer = wx.StaticLine(self) + std_btn_sizer = self.CreateStdDialogButtonSizer(flags=wx.OK | wx.CANCEL | wx.NO_DEFAULT) + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 15) + sizer.Add(sep_btn_sizer, 0, wx.EXPAND) + sizer.Add(std_btn_sizer, 0, wx.EXPAND | wx.ALL, 10) + self.SetMinSize((500, 400)) + sizer.Layout() + self.SetSizerAndFit(sizer) + + # noinspection PyAttributeOutsideInit + def create_widgets(self): + text = self.text + self.listbox_lbl = wx.StaticText(self, wx.ID_ANY, text.textsList) + self.list_box_ctrl = wx.ListBox(self, style=wx.LB_SINGLE | wx.LB_NEEDED_SB) + self.label_ctrl = wx.TextCtrl(self) + self.out_text_lbl = wx.StaticText(self, wx.ID_ANY, text.outText) + self.signature_ctrl = wx.TextCtrl(self, style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)) + self.btn_up = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.btn_up.Enable(False) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)) + self.btn_down = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.btn_down.Enable(False) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_DELETE, wx.ART_TOOLBAR, (16, 16)) + self.btn_del = wx.BitmapButton(self, wx.ID_ANY, bmp) + self.btn_del.Enable(False) + + bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, (16, 16)) + self.btn_add = wx.BitmapButton(self, wx.ID_ANY, bmp) + + def box_enable(self, enable): + self.label_ctrl.Enable(enable) + self.signature_ctrl.Enable(enable) + self.out_text_lbl.Enable(enable) + + def set_value(self, item): + self.label_ctrl.ChangeValue(item[0]) + self.signature_ctrl.ChangeValue(item[1]) + + def validation(self): + flag = True + label = self.label_ctrl.GetValue() + if label == "": + flag = False + else: + if [j[0] for j in self.signatures].count(label) != 1: + flag = False + if self.signature_ctrl.GetValue().strip() == '': + flag = False + self.btn_ok.Enable(flag) + self.btn_add.Enable(flag) + + def on_txt_change(self, evt): + if self.signatures: + sel = self.old_sel + label = self.label_ctrl.GetValue().strip() + self.signatures[sel][0] = label + self.list_box_ctrl.Set([j[0] for j in self.signatures]) + self.list_box_ctrl.SetSelection(sel) + self.validation() + evt.Skip() + + def on_text_name(self, evt): + if self.signatures: + val = self.signature_ctrl.GetValue() # .strip() + sel = self.old_sel + self.signatures[sel][1] = val + self.validation() + evt.Skip() + + def on_click(self, evt): + sel = self.list_box_ctrl.GetSelection() + label = self.label_ctrl.GetValue() + if label.strip() != u"": + if [j[0] for j in self.signatures].count(label) == 1: + self.old_sel = sel + item = self.signatures[sel] + self.set_value(item) + self.list_box_ctrl.SetSelection(self.old_sel) + self.list_box_ctrl.SetFocus() + evt.Skip() + + def on_button_up(self, evt): + new_sel, self.signatures = move_item(self.signatures, self.list_box_ctrl.GetSelection(), -1) + self.list_box_ctrl.Set([j[0] for j in self.signatures]) + self.list_box_ctrl.SetSelection(new_sel) + self.old_sel = new_sel + evt.Skip() + + def on_button_down(self, evt): + new_sel, self.signatures = move_item(self.signatures, self.list_box_ctrl.GetSelection(), 1) + self.list_box_ctrl.Set([j[0] for j in self.signatures]) + self.list_box_ctrl.SetSelection(new_sel) + self.old_sel = new_sel + evt.Skip() + + def on_button_delete(self, evt): + lngth = len(self.signatures) + if lngth == 2: + self.btn_up.Enable(False) + self.btn_down.Enable(False) + sel = self.list_box_ctrl.GetSelection() + if lngth == 1: + self.signatures = [] + self.list_box_ctrl.Set([]) + item = ['', ''] + self.set_value(item) + self.box_enable(False) + self.btn_ok.Enable(False) + self.btn_del.Enable(False) + self.btn_add.Enable(True) + evt.Skip() + return + elif sel == lngth - 1: + sel = 0 + self.old_sel = sel + self.signatures.pop(self.list_box_ctrl.GetSelection()) + self.list_box_ctrl.Set([j[0] for j in self.signatures]) + self.list_box_ctrl.SetSelection(sel) + item = self.signatures[sel] + self.set_value(item) + evt.Skip() + + def on_button_append(self, evt): + if len(self.signatures) == 1: + self.btn_up.Enable(True) + self.btn_down.Enable(True) + self.box_enable(True) + sel = self.list_box_ctrl.GetSelection() + 1 + self.old_sel = sel + item = ['', ''] + self.signatures.insert(sel, item) + self.list_box_ctrl.Set([j[0] for j in self.signatures]) + self.list_box_ctrl.SetSelection(sel) + self.set_value(item) + self.label_ctrl.SetFocus() + self.btn_add.Enable(False) + self.btn_del.Enable(True) + evt.Skip() + + def get_texts(self): + return self.signatures diff --git a/plugins/E-mail/threads.py b/plugins/E-mail/threads.py new file mode 100644 index 000000000..c7d7bd215 --- /dev/null +++ b/plugins/E-mail/threads.py @@ -0,0 +1,539 @@ +# coding=utf8 + +import imaplib +import poplib +import smtplib +import time +from email.header import Header +from email.mime.text import MIMEText +from email.utils import formataddr, formatdate +from threading import Thread, Event + +import eg +from .utils import get_parts, my_parser, parse_address, parse_item + + +class SendMailThread(Thread): + def __init__( + self, plugin, subject, from_adr, to_adr, cc_adr, + body, signature, to_name, references, message_id + ): + Thread.__init__(self, name="SendMailThread") + self.plugin = plugin + self.pass_smtp = self.plugin.pass_smtp + self.subject = subject + self.from_adr = from_adr + self.to_adr = to_adr + self.cc_adr = cc_adr + self.body = body + self.signature = signature + self.to_name = to_name + self.references = references + self.message_id = message_id + + def run(self): + subject = eg.ParseString(self.subject) + from_adr = self.from_adr + to_adr = eg.ParseString(self.to_adr) + cc_adr = self.cc_adr + body = eg.ParseString(self.body) + text = self.plugin.text + signature = eg.ParseString(self.signature) + to_name = eg.ParseString(self.to_name) + choices = [item[0] for item in self.plugin.texts] + if signature in choices: + indx = choices.index(signature) + signature = self.plugin.texts[indx][1] + else: + signature = None + from_adr = from_adr.split(' - ')[-1] + indx = [item[0] for item in self.plugin.configs].index(from_adr) + account = self.plugin.configs[indx] + try: + indx = [item[0] for item in self.plugin.servers].index(account[8]) + except (IndexError, ValueError): + eg.PrintError(text.error5 % (account[8], self.plugin.servers[0][0])) + indx = 0 + server = self.plugin.servers[indx] + choices = [item[0] for item in self.plugin.groups] + if cc_adr in choices: + indx = choices.index(cc_adr) + cc_adr = self.plugin.groups[indx][1] + else: + cc_adr = None + + header_charset = 'UTF-8' + if signature is not None: + body += '\n' if body[-1] != '\n' else '' + body += signature + for body_charset in 'US-ASCII', 'UTF-8': + try: + body.encode(body_charset) + except UnicodeError: + pass + else: + break + sender_name = str(Header(unicode(account[2]), header_charset)) + recipient_name = str(Header(unicode(to_name), header_charset)) + msg = MIMEText(body.encode(body_charset), 'plain', body_charset) + msg['From'] = formataddr((sender_name, account[3])) + msg['To'] = formataddr((recipient_name, to_adr)) + if cc_adr is not None: + msg['Cc'] = ','.join(cc_adr) + msg['Subject'] = Header(unicode(subject), header_charset) + msg["User-agent"] = "EventGhost %s" % eg.Version.string + if account[4] != '': + msg["Reply-to"] = formataddr((sender_name, account[4])) + msg["Date"] = formatdate(None, True) # return: Wed, 03 Dec 2008 13:17:35 +0100 + if self.message_id is not None: + msg['In-Reply-To'] = self.message_id + if self.references is None: + msg['References'] = self.message_id + u'\r\n' + else: + msg['References'] = self.references + self.message_id + u'\r\n' + case = server[3] # secure connection ? + try: + if case < 3: + smtp = smtplib.SMTP(server[1], server[2]) + else: + smtp = smtplib.SMTP_SSL(server[1], server[2]) + except IOError: + eg.PrintError(text.error6 + ' ' + text.error7 % (server[1], server[2])) + else: + try: + if server[4]: # secure authentication + # smtp.debuglevel = 5 + capa = smtp.ehlo() + if case == 1 and 'STARTTLS' not in capa[-1].upper(): + case = 0 + if case == 0 or case == 3: + smtp.esmtp_features["auth"] = "LOGIN PLAIN" + else: + smtp.starttls() + smtp.ehlo() + password = self.pass_smtp.data[server[0]] + smtp.login(server[5], password) + if cc_adr is None: + smtp.sendmail(account[3], to_adr, msg.as_string()) + else: + rcpnt = [to_adr] + rcpnt.extend(cc_adr) + smtp.sendmail(account[3], rcpnt, msg.as_string()) + except IOError: + eg.PrintError(text.error6 + ' ' + text.error8) + else: + from_adr = formataddr((account[2], account[3])) + eg.TriggerEvent('Sent', payload='%s: %s' % (from_adr, subject), prefix='E-mail') + smtp.quit() + + +class DeleteEmail(Thread): + def __init__(self, indx, sel, mode, parent): + self.indx = indx + self.sel = sel + self.mode = mode + self.parent = parent + Thread.__init__(self, name='DeleteEmail') + + @eg.LogIt + def run(self): + self.parent.realize_action(self.indx, self.sel, self.mode) + + +class WorkThread(Thread): + def __init__(self, plugin, setup, notify_frame): + self.setup = setup + Thread.__init__(self, name=self.setup[0].encode('unicode_escape') + '_W-Thread') + self.plugin = plugin + self.pass_inc = self.plugin.pass_inc + self.configs = self.plugin.configs + self.notify_frame = notify_frame + self.run_flag = False + self.abort = False + self.refresh = False + self.thread_flag = Event() + self.del_args = None + self.text = self.plugin.text + self.close = False + eg.Print(self.text.observStarts % self.setup[0]) + + def is_running(self): + return self.run_flag + + def delete_action(self, args): + self.del_args = args + if not self.run_flag: + self.thread_flag.set() + + def operate(self, refresh=False): + self.refresh = refresh or self.refresh + if not self.run_flag: + self.thread_flag.set() + + @eg.LogIt + def abort_observation(self, close=False): + self.abort = True + self.close = close + self.thread_flag.set() + + @eg.LogIt + def run(self): + while True: + if self.abort: + break + self.run_flag = True + if self.del_args is not None: + self.del_args[3].realize_action(self.del_args[0], self.del_args[1], self.del_args[2]) + if self.del_args[3].is_close_req(): + self.del_args[3].Close() + else: + self.del_args[3].res_del_flag() + self.del_args = None + val, shift = self.check_emails() + if self.setup[6]: # Show notification Window + self.notify_frame.set_number(val) + if val > 0: + if not self.notify_frame.IsShown(): + self.notify_frame.Show(True) + else: + self.notify_frame.disappear() + else: + val, shift = self.check_emails() + if self.setup[6]: # Show notification Window + if val == 0: + self.notify_frame.disappear() + elif shift or self.refresh: + self.notify_frame.set_number(val) + if not self.notify_frame.IsShown(): + self.notify_frame.Show(True) + if self.refresh: + self.refresh = False + else: + if self.setup[7]: # Trigger event + if val > 0 and shift: + if self.setup[8]: + eg.TriggerEvent(self.setup[3], payload=str(val), prefix='E-mail') + else: + eg.TriggerEvent(self.setup[3], prefix='E-mail') + self.run_flag = False + if self.abort: + break + if self.del_args is None: + self.thread_flag.clear() + self.thread_flag.wait() + self.notify_frame.disappear(self.close) + indx = [item[0] for item in self.plugin.temp_data].index(self.setup[0]) + self.plugin.temp_data[indx][1:] = [0, [], None, self.notify_frame] + + @staticmethod + def create_one_record(data, account, nbr, rec_id): + msg = my_parser.parsestr(data) + if 'Message-Id' in msg: + mess_id = msg['Message-Id'] + else: + mess_id = parse_address(msg['From']) + tmp_rec = [ + mess_id, # 0 + parse_item(msg['Subject']), # 1 + parse_address(msg['From']), # 2 + account, # 3 + str(nbr), # 4 + rec_id, # 5 + ] + return tmp_rec + + @eg.LogIt + def check_emails(self): + acc_list = [n[0] for n in self.configs] + accounts = [] + observ_name = self.setup[0] + loop = 0 + count = 0 + while True: + try: + loop += 1 + indx = [item[0] for item in self.plugin.temp_data].index(observ_name) + break + except IndexError: + pass + for i in range(len(acc_list)): + for item in self.setup[2]: + if item == acc_list[i]: + accounts.append(i) + nbr = 0 + if len(self.plugin.temp_data[indx][2]) > 0: + id_list = [item[0] for item in self.plugin.temp_data[indx][2]] + else: + id_list = [] + count = 0 + tmp_data = [] + if self.setup[4] == 0: # non-filter mode + for i in accounts: + account = self.configs[i] + server = account[5] + port = account[6] + user = account[7] + password = self.pass_inc.data[account[0]] + use_ssl = account[9] == 3 + if account[1] == 0: # POP + try: + if use_ssl: + mailbox = poplib.POP3_SSL(server, port) + else: + mailbox = poplib.POP3(server, port) + except IOError: + eg.PrintError(self.text.error0 + ' ' + self.text.error1 % (server, port)) + else: + # mailbox.set_debuglevel(5) + try: + mailbox.user(user) + mailbox.pass_(password) + # capa = mailbox._longcmd('CAPA')[1] + # if 'STLS' in capa: + # print 'STLS' + # #mailbox._shortcmd('STLS') + lst = mailbox.list()[1] + cnt = len(lst) + if cnt > 0: + count += cnt + maxlines = 0 + for msg in lst: + msg_id = msg.split(' ')[0] + resp, data, octets = mailbox.top(msg_id, maxlines) + if resp != '+OK': + resp, data, octets = mailbox.retr(msg_id) + data = "\n".join(data) + nbr += 1 + one_rec = self.create_one_record(data, account[0], nbr, msg_id) + tmp_data.append(one_rec) + except poplib.error_proto, errmsg: + eg.PrintError(self.text.error0 + ' ' + str(errmsg)) + mailbox.quit() + + else: # IMAP + try: + if use_ssl: + mailbox = imaplib.IMAP4_SSL(server, port) + else: + mailbox = imaplib.IMAP4(server, port) + except IOError: + eg.PrintError(self.text.error2 + ' ' + self.text.error3 % (server, port)) + else: + try: + mailbox.login(user, password) + except IOError: + eg.PrintError(self.text.error2 + ' ' + self.text.error4 % (user, server, port)) + else: + mailbox.select('INBOX') # Folder selection + typ, data = mailbox.search(None, 'UNSEEN') + if data[0]: + lst = data[0].split() + count += len(lst) + for num in lst: + typ, data = mailbox.fetch(num, '(RFC822.HEADER)') + mailbox.store(num, "-FLAGS", '(\Seen)') # Reset UNSEEN flag + data = data[0][1] + nbr += 1 + one_rec = self.create_one_record(data, account[0], nbr, num) + tmp_data.append(one_rec) + mailbox.logout() + + else: # filter mode + def process_email(mbox, pe_data, pe_id_list, pe_account, pe_count, pe_id, pe_tmp_data): + conds = [ + "%s.find(%s)>-1", + "not %s.find(%s)>-1", + "%s==%s", + "not %s==%s", + "%s.startswith(%s)", + "%s.endswith(%s)" + ] + pe_msg = my_parser.parsestr(pe_data) + parts = get_parts(pe_msg) + flag = False + if self.setup[4] == 1: # filter AND mode + j = 0 + while j < 6: + what, cond, strng = self.setup[5][j] + if what > 0 and not eval(conds[cond] % ('parts[what-1]', 'strng')): + break + j += 1 + if j == 6: + flag = True + else: # filter OR mode + j = 0 + while j < 6: + what, cond, strng = self.setup[5][j] + if what > 0 and eval(conds[cond] % ('parts[what-1]', 'strng')): + flag = True + break + j += 1 + if flag: + if 'Message-Id' in pe_msg: + mess_id = pe_msg['Message-Id'] + else: + mess_id = parts[1] + if self.setup[11]: # trigger event for each email ? + if mess_id not in pe_id_list: + itms = self.plugin.text.field_1[1:] + suff = self.setup[12] + if suff in itms: + suff = itms.index(suff) + suff = u"%s.%s" % (self.setup[12], parts[suff]) + if self.setup[13] > 0: + eg.TriggerEvent(suff, payload=parts[self.setup[13] - 1], prefix='E-mail') + else: + eg.TriggerEvent(suff, prefix='E-mail') + if self.setup[14]: # ~ delete + if pe_account[1] == 0: # POP + mbox.dele(pe_id) + # if resp[:3]=='+OK': + # print "deleted !!!" + # notDeleted = False + else: + mbox.store(pe_id, "+FLAGS", '(\Deleted)') + # if resp[0] =='OK': + # resp = mailbox.expunge() + # if resp[0] =='OK': + # print "deleted !!!" + pe_count += 1 + # show notification window? + if not self.setup[14]: + tmp_rec = [ + mess_id, # 0 ID + parts[0], # 1 Subject + parts[1], # 2 From + pe_account[0], # 3 + str(pe_count), # 4 + pe_id, # 5 + ] + pe_tmp_data.append(tmp_rec) + return pe_count, pe_tmp_data + + for i in accounts: + account = self.configs[i] + server = account[5] + port = account[6] + user = account[7] + password = self.pass_inc.data[account[0]] + use_ssl = account[9] == 3 + if account[1] == 0: # POP + try: + if use_ssl: + mailbox = poplib.POP3_SSL(server, port) + else: + mailbox = poplib.POP3(server, port) + except IOError: + eg.PrintError(self.text.error0 + ' ' + self.text.error1 % (server, port)) + else: + try: + mailbox.user(user) + mailbox.pass_(password) + lst = mailbox.list()[1] + cnt = len(lst) + if cnt > 0: + count = 0 + for msg in lst: + msg_id = msg.split(' ')[0] + resp, data, octets = mailbox.retr(msg_id) + data = "\n".join(data) + count, tmp_data = process_email( + mailbox, data, id_list, account, count, msg_id, tmp_data + ) + except poplib.error_proto, errmsg: + eg.PrintError(self.text.error0 + ' ' + str(errmsg)) + mailbox.quit() + + else: # IMAP + try: + if use_ssl: + mailbox = imaplib.IMAP4_SSL(server, port) + else: + mailbox = imaplib.IMAP4(server, port) + except IOError: + eg.PrintError(self.text.error2 + ' ' + self.text.error3 % (server, port)) + else: + try: + mailbox.login(user, password) + except IOError: + eg.PrintError(self.text.error2 + ' ' + self.text.error4 % (user, server, port)) + else: + mailbox.select('INBOX') # Folder selection + typ, data = mailbox.search(None, 'UNSEEN') + if data[0]: + lst = data[0].split() + count = 0 + for msg_id in lst: + typ, data = mailbox.fetch(msg_id, '(RFC822)') + mailbox.store(msg_id, "-FLAGS", '(\Seen)') # Reset UNSEEN flag + data = data[0][1] + count, tmp_data = process_email( + mailbox, data, id_list, account, count, msg_id, tmp_data + ) + mailbox.expunge() + mailbox.logout() + count_old = self.plugin.temp_data[indx][1] + shift = count != count_old + count_old = count + self.plugin.temp_data[indx][2] = tmp_data + self.plugin.temp_data[indx][1] = count + return count, shift + + +class ObservationThread(Thread): + def __init__(self, setup, plugin, notify_frame, ): + self.setup = setup + Thread.__init__(self, name=self.setup[0].encode('unicode_escape') + '_O-Thread') + self.plugin = plugin + self.notify_frame = notify_frame + self.observ_name = setup[0] + self.abort = False + self.last_check = 0 + self.thread_flag = Event() + self.first_run = True + self.wt = None + + def is_aborted(self): + return self.abort + + @eg.LogIt + def run(self): + indx = 0 + if self.first_run: + self.first_run = False + while True: + try: + if self.plugin.temp_data[indx][3] is not None: + wt = self.plugin.temp_data[indx][3] + if wt.isAlive(): + wt.abort_observation() + self.thread_flag.wait(1) + self.thread_flag.clear() + else: + self.plugin.observ_threads[self.setup[0]] = self # update dictionary + indx = [item[0] for item in self.plugin.temp_data].index(self.observ_name) + self.wt = WorkThread(plugin=self.plugin, setup=self.setup, notify_frame=self.notify_frame) + self.plugin.temp_data[indx][3] = self.wt + self.wt.start() + break + except IOError: + self.plugin.observ_threads[self.setup[0]] = self # update dictionary + indx = [item[0] for item in self.plugin.temp_data].index(self.observ_name) + print "create wt" + self.wt = WorkThread(plugin=self.plugin, setup=self.setup, notify_frame=self.notify_frame) + self.plugin.temp_data[indx][3] = self.wt + self.wt.start() + break + while True: + if self.abort: + break + self.last_check = time.time() + self.wt.operate() + self.thread_flag.wait(60 * self.setup[1]) + self.thread_flag.clear() + + @eg.LogIt + def abort_observation(self, close=False): + self.wt.abort_observation(close) + self.abort = True + self.thread_flag.set() diff --git a/plugins/E-mail/utils.py b/plugins/E-mail/utils.py new file mode 100644 index 000000000..2c642a43b --- /dev/null +++ b/plugins/E-mail/utils.py @@ -0,0 +1,165 @@ +# coding=utf8 + +import email.parser +import re +from email.header import decode_header +from email.utils import parseaddr + + +my_parser = email.parser.Parser() + + +def decode_section(sect, coding=None): + # TODO: chardet ? (topic2k) + + cp_list = ('utf-8', 'iso-8859-1', 'us-ascii') + if coding: + cp_list = (coding,) + cp_list + for char_set in cp_list: + try: + sect = sect.decode(char_set, 'strict') + except UnicodeError: + pass + else: + return sect.strip(' "') + + for char_set in cp_list: + try: + sect = sect.decode(char_set, 'replace') + except UnicodeError: + pass + else: + return sect.strip(' "') + return u'' + + +def get_parts(msg, ext=False): + from email.iterators import typed_subpart_iterator + + def get_charset(part, default="ascii"): + """Get the part charset""" + if part.get_content_charset(): + return part.get_content_charset() + if part.get_charset(): + return part.get_charset() + return default + + def get_body(message): + """Get the body of the email message""" + + # TODO : option choice for html part viewing + + if message.is_multipart(): + # get the text (plain or html) version only + text_parts = [ + part for part in typed_subpart_iterator(message, 'text') + ] + body = [] + for part in text_parts: + charset = get_charset(part, get_charset(message)) + try: + body.append( + unicode( + part.get_payload(decode=True), + charset, + "replace" + ) + ) + except UnicodeError: + body.append( + unicode( + part.get_payload(decode=True), + 'us-ascii', + "replace" + ) + ) + return u"\n".join(body).strip() + u"\n" + + else: + # if it is not multipart, the payload will be a string + # representing the message body + try: + body = unicode( + message.get_payload(decode=True), + get_charset(message), + "replace" + ) + except UnicodeError: + body = unicode( + message.get_payload(decode=True), + 'us-ascii', + "replace" + ) + return body.strip() + u"\n" + + if not ext: + return [parse_item(msg['Subject']), msg['From'], get_body(msg)] + else: + return [ + parse_item(msg['Subject']), + msg['From'], + get_body(msg), + None, + None, + msg['References'], + msg['Reply-To'], + msg['Message-ID'], + msg['X-Original-To'] if 'X-Original-To' in msg else parseaddr(msg['To'])[1], + ] + + +def move_item(lst, index, direction): + tmp_list = lst[:] + max_idx = len(lst) - 1 + # Last to first position, other down + if index == max_idx and direction == 1: + tmp_list[1:] = lst[:-1] + tmp_list[0] = lst[max_idx] + index2 = 0 + # First to last position, other up + elif index == 0 and direction == -1: + tmp_list[:-1] = lst[1:] + tmp_list[max_idx] = lst[0] + index2 = max_idx + else: + index2 = index + direction + tmp_list[index] = lst[index2] + tmp_list[index2] = lst[index] + return index2, tmp_list + + +def parse_address(item): + parse_addr = parseaddr(item) + if parse_addr[0] == '': + return parse_addr[1] + dec_addr = decode_header(parse_addr[0])[0] + if not dec_addr[1]: + return parse_addr[0] + else: + return decode_section(dec_addr[0], dec_addr[1]) + + +def parse_item(item): + x = decode_header(item)[0] + if x[1]: + return decode_section(x[0], x[1]) + else: + return x[0] + + +def run_email_client(): + """ + Get the path of default email client through querying the + Windows registry. + """ + import webbrowser + webbrowser.open('mailto:') + + +regex = r"^([a-z0-9_\-.+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)" \ + r"|(([a-z0-9\-]+\.)+))([a-z]{2,4}|[0-9]{1,3})(\]?)$" +rex = re.compile(regex, re.IGNORECASE) + + +def validate_email_addr(email_addr): + return bool(rex.match(email_addr)) diff --git a/plugins/EventGhost/PythonScript.py b/plugins/EventGhost/PythonScript.py index d48d45846..61735d2dc 100644 --- a/plugins/EventGhost/PythonScript.py +++ b/plugins/EventGhost/PythonScript.py @@ -120,8 +120,8 @@ def Configure(self, sourceCode=""): while panel.Affirmed(): panel.SetResult(editCtrl.GetValue()) if not panel.dialog.IsMaximized(): - Config.size = panel.dialog.GetSizeTuple() - Config.position = panel.dialog.GetPositionTuple() + Config.size = panel.dialog.GetSize() + Config.position = panel.dialog.GetPosition() def GetLabel(self, dummySourceCode=""): return self.name diff --git a/plugins/EventGhost/ShowMessageBox.py b/plugins/EventGhost/ShowMessageBox.py index a29b7f082..a32f5c772 100644 --- a/plugins/EventGhost/ShowMessageBox.py +++ b/plugins/EventGhost/ShowMessageBox.py @@ -150,7 +150,7 @@ def Configure( mbType = 0, autoClose = 0 ): - ids = (wx.NewId(), wx.NewId(), wx.NewId()) + ids = (wx.NewIdRef(), wx.NewIdRef(), wx.NewIdRef()) def getOptions(mbt): result = buttonsArr[buttonsCtrl.GetSelection()] @@ -259,7 +259,7 @@ def fillOptSizer(twk, init = False): optionSizer.Add(box1, 1, wx.EXPAND) ctrl0 = wx.CheckBox(panel, ids[0], text.modal) ctrl0.SetValue(val & 1) - wx.EVT_CHECKBOX(ctrl0, ids[0], onCheckBox) + ctrl0.Bind(wx.EVT_CHECKBOX, onCheckBox, id=ids[0]) ctrl1 = wx.CheckBox(panel, ids[1], text.aot) ctrl1.SetValue(val & 2) ctrl2 = wx.CheckBox(panel, ids[2], text.play) @@ -281,7 +281,7 @@ def fillOptSizer(twk, init = False): choices=text.radioBoxOptions, style=wx.RA_SPECIFY_ROWS ) - wx.EVT_RADIOBOX(optionCtrl, ids[0], onRadioBox) + optionCtrl.Bind(wx.EVT_RADIOBOX, onRadioBox, id=ids[0]) optionCtrl.SetSelection(val) if val == 1: waitCtrl.Enable(False) @@ -434,7 +434,7 @@ def __init__( dialogStyle |= wx.STAY_ON_TOP wx.Dialog.__init__(self, parent, -1, "", wx.DefaultPosition, style=dialogStyle) self.SetTitle(title) - icon = wx.EmptyIcon() + icon = wx.Icon() icon.LoadFile(join(eg.imagesDir, "icon32x32.png"), wx.BITMAP_TYPE_PNG) self.SetIcon(icon) art = self.ARTS[iconFlag] @@ -499,7 +499,7 @@ def OnButton(evt): self.SetReturnCode(evt.GetId()) self.Close() evt.Skip() - wx.EVT_BUTTON(self, -1, OnButton) + self.Bind(wx.EVT_BUTTON, OnButton) def onClose(self, evt): retCode = self.GetReturnCode() diff --git a/plugins/EventGhost/ShowOSD.py b/plugins/EventGhost/ShowOSD.py index cc1f1ef77..d73c0f970 100644 --- a/plugins/EventGhost/ShowOSD.py +++ b/plugins/EventGhost/ShowOSD.py @@ -270,7 +270,7 @@ def __init__(self, parent): ) ) self.hwnd = self.GetHandle() - self.bitmap = wx.EmptyBitmap(0, 0) + self.bitmap = wx.Bitmap(0, 0) # we need a timer to possibly cancel it self.timer = threading.Timer(0.0, eg.DummyFunc) self.Bind(wx.EVT_PAINT, self.OnPaint) @@ -306,19 +306,19 @@ def Setup(minWidth, minHeight, xMargin, yMargin, option.xMargin = xMargin option.yMargin = yMargin option.transparentColour = transparentColour - bitmap = wx.EmptyBitmap(width, height) + bitmap = wx.Bitmap(width, height) option.bitmap = bitmap memoryDC.SelectObject(bitmap) return width, height def Copy(x, y, width, height, toX, toY): - bmp = wx.BitmapFromImage(image.GetSubImage((x, y, width, height))) + bmp = wx.Bitmap(image.GetSubImage((x, y, width, height))) memoryDC.DrawBitmap(bmp, toX, toY) def Scale(x, y, width, height, toX, toY, toWidth, toHeight): subImage = image.GetSubImage((x, y, width, height)) subImage.Rescale(toWidth, toHeight, wx.IMAGE_QUALITY_HIGH) - bmp = wx.BitmapFromImage(subImage) + bmp = wx.Bitmap(subImage) memoryDC.DrawBitmap(bmp, toX, toY) scriptGlobals = dict(Setup=Setup, Copy=Copy, Scale=Scale) @@ -367,7 +367,7 @@ def ShowOSD( ): self.timer.cancel() if osdText.strip() == "": - self.bitmap = wx.EmptyBitmap(0, 0) + self.bitmap = wx.Bitmap(0, 0) SetWindowPos(self.hwnd, 0, 0, 0, 0, 0, HWND_FLAGS | SWP_HIDEWINDOW) SetEvent(event) return @@ -388,7 +388,7 @@ def ShowOSD( if fontInfo is None: fontInfo = DEFAULT_FONT_INFO - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) memoryDC.SetFont(font) textLines = osdText.splitlines() @@ -411,7 +411,7 @@ def ShowOSD( width, height = bitmap.GetSize() elif outlineColour is None: width, height = textWidth, textHeight - bitmap = wx.EmptyBitmap(width, height) + bitmap = wx.Bitmap(width, height) memoryDC.SelectObject(bitmap) # fill the DC background with the maskColour @@ -436,7 +436,7 @@ def ShowOSD( memoryDC.SelectObject(wx.NullBitmap) else: width, height = textWidth + 5, textHeight + 5 - outlineBitmap = wx.EmptyBitmap(width, height, 1) + outlineBitmap = wx.Bitmap(width, height, 1) outlineDC = wx.MemoryDC() outlineDC.SetFont(font) outlineDC.SelectObject(outlineBitmap) @@ -447,7 +447,7 @@ def ShowOSD( outlineBitmap.SetMask(wx.Mask(outlineBitmap)) outlineDC.SelectObject(outlineBitmap) - bitmap = wx.EmptyBitmap(width, height) + bitmap = wx.Bitmap(width, height) memoryDC.SetTextForeground(outlineColour) memoryDC.SelectObject(bitmap) memoryDC.Clear() @@ -465,7 +465,7 @@ def ShowOSD( memoryDC.SelectObject(wx.NullBitmap) bitmap.SetMask(wx.Mask(bitmap, maskColour)) - region = wx.RegionFromBitmap(bitmap) + region = wx.Region(bitmap) self.SetShape(region) self.bitmap = bitmap monitorDimensions = GetMonitorDimensions() diff --git a/plugins/EventGhost/TriggerEventIf.py b/plugins/EventGhost/TriggerEventIf.py new file mode 100644 index 000000000..514377949 --- /dev/null +++ b/plugins/EventGhost/TriggerEventIf.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright (C) 2005-2009 Lars-Peter Voss +# +# EventGhost is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by the +# Free Software Foundation; +# +# EventGhost 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, see . + +import eg +import wx + +class TriggerEventIf(eg.ActionBase): + + name = "Trigger Event If" + description = ( + "Causes an event to be generated, if the specified condition is " + "fulfilled. (optionally after some time)." + ) + iconFile = "icons/Plugin" + + class text: + label = [ + 'If last action was successful Trigger event "%s" after %.2f seconds', + 'If last action was unsuccessful Trigger event "%s" after %.2f seconds', + 'Always Trigger event "%s" after %.2f seconds', + 'If last action was successful Trigger event "%s"', + 'If last action was unsuccessful Trigger event "%s"', + 'Always Trigger event "%s"' + ] + text1 = "Event Prefix:" + text2 = "Event Suffix:" + text3 = "Event Payload:" + text4 = "Delay the firing of the event:" + text5 = "seconds. (0 = fire immediately)" + text6 = "If:" + choices = [ + "last action was successful", + "last action was unsuccessful", + "always" + ] + + def __call__(self, prefix, suffix="", payload="", waitTime=0, kind=0): + + if kind == 2 or (bool(eg.result) != bool(kind)): + + kwargs = dict(prefix=eg.ParseString(prefix)) + + if suffix != "": + kwargs['suffix'] = eg.ParseString(suffix) + if payload != "": + try: kwargs['payload'] = eval(payload) + except: kwargs['payload'] = eg.ParseString(payload) + if not waitTime: + eg.TriggerEvent(**kwargs) + else: + eg.scheduler.AddShortTask(waitTime, eg.TriggerEvent, eventString) + return eg.result + + def GetLabel(self, prefix="", suffix="", payload="", waitTime=0, kind=0): + + if suffix != "": + prefix += '.'+suffix + if payload != "": + prefix += ' '+str(payload) + if waitTime: + return self.text.label[kind] % (prefix, waitTime) + else: + return self.text.label[kind+3] % prefix + + def Configure(self, prefix="", suffix="", payload="", waitTime=0, kind=0): + panel = eg.ConfigPanel() + text = self.text + + prefixCtrl = panel.TextCtrl(prefix, size=(250, -1)) + suffixCtrl = panel.TextCtrl(suffix, size=(250, -1)) + payloadCtrl = panel.TextCtrl(payload, size=(250, -1)) + waitTimeCtrl = panel.SpinNumCtrl(waitTime, integerWidth=5) + kindCtrl = panel.Choice(kind, choices=text.choices) + + sizer1 = eg.HBoxSizer( + (panel.StaticText(text.text1), 0, wx.ALIGN_CENTER_VERTICAL, 5), + (prefixCtrl, 0, wx.LEFT, 5), + ) + sizer2 = eg.HBoxSizer( + (panel.StaticText(text.text2), 0, wx.ALIGN_CENTER_VERTICAL, 5), + (suffixCtrl, 0, wx.LEFT, 5), + ) + sizer3 = eg.HBoxSizer( + (panel.StaticText(text.text3), 0, wx.ALIGN_CENTER_VERTICAL, 5), + (payloadCtrl, 0, wx.LEFT, 5), + ) + sizer4 = eg.HBoxSizer( + (panel.StaticText(text.text4), 0, wx.ALIGN_CENTER_VERTICAL), + (waitTimeCtrl, 0, wx.ALL, 5), + (panel.StaticText(text.text5), 0, wx.ALIGN_CENTER_VERTICAL), + ) + sizer5 = eg.HBoxSizer( + (panel.StaticText(text.text6), 0, wx.ALIGN_CENTER_VERTICAL, 5), + (kindCtrl, 0, wx.LEFT, 5), + ) + panel.sizer.AddMany(( + (sizer1, 0, wx.EXPAND), + (sizer2, 0, wx.EXPAND), + (sizer3, 0, wx.EXPAND), + (sizer4, 0, wx.EXPAND), + (sizer5, 0, wx.EXPAND) + )) + + while panel.Affirmed(): + panel.SetResult( + prefixCtrl.GetValue(), + suffixCtrl.GetValue(), + payloadCtrl.GetValue(), + waitTimeCtrl.GetValue(), + kindCtrl.GetValue(), + ) \ No newline at end of file diff --git a/plugins/EventGhost/__init__.py b/plugins/EventGhost/__init__.py index 9fd15f392..a8e58184c 100644 --- a/plugins/EventGhost/__init__.py +++ b/plugins/EventGhost/__init__.py @@ -31,6 +31,7 @@ from PythonScript import PythonScript from ShowMessageBox import ShowMessageBox from ShowOSD import ShowOSD +from TriggerEventIf import TriggerEventIf eg.RegisterPlugin( name = "EventGhost", @@ -65,6 +66,7 @@ def __init__(self): self.AddAction(ShowOSD) self.AddAction(StopProcessing) self.AddAction(TriggerEvent) + self.AddAction(TriggerEventIf) self.AddAction(Wait) @@ -108,7 +110,7 @@ def Configure(self, link=None): while panel.Affirmed(): treeItem = tree.GetSelection() if treeItem.IsOk(): - obj = tree.GetPyData(treeItem) + obj = tree.GetItemData(treeItem) if self.IsSelectableItem(obj): link.SetTarget(obj) panel.SetResult(link) diff --git a/plugins/FS20PCE/__init__.py b/plugins/FS20PCE/__init__.py index 8031dda9e..7b31c1998 100644 --- a/plugins/FS20PCE/__init__.py +++ b/plugins/FS20PCE/__init__.py @@ -311,18 +311,18 @@ def EnableButtons(event): event.Skip() def OnAddButton(event): - idx = mappingsList.InsertStringItem(sys.maxint, houseCodeTextCtrl.GetValue()) - mappingsList.SetStringItem(idx, 1, deviceAddressTextCtrl.GetValue()) - mappingsList.SetStringItem(idx, 2, groupNameCtrl.GetValue()) + idx = mappingsList.InsertItem(sys.maxint, houseCodeTextCtrl.GetValue()) + mappingsList.SetItem(idx, 1, deviceAddressTextCtrl.GetValue()) + mappingsList.SetItem(idx, 2, groupNameCtrl.GetValue()) mappingsList.Select(idx) EnableButtons(event) event.Skip() def OnUpdateButton(event): idx = mappingsList.GetFirstSelected() - mappingsList.SetStringItem(idx, 0, houseCodeTextCtrl.GetValue()) - mappingsList.SetStringItem(idx, 1, deviceAddressTextCtrl.GetValue()) - mappingsList.SetStringItem(idx, 2, groupNameCtrl.GetValue()) + mappingsList.SetItem(idx, 0, houseCodeTextCtrl.GetValue()) + mappingsList.SetItem(idx, 1, deviceAddressTextCtrl.GetValue()) + mappingsList.SetItem(idx, 2, groupNameCtrl.GetValue()) EnableButtons(event) event.Skip() @@ -346,9 +346,9 @@ def OnDeleteButton(event): #add items if mappings: for item in mappings: - idx = mappingsList.InsertStringItem(sys.maxint, item[0]) - mappingsList.SetStringItem(idx, 1, item[1]) - mappingsList.SetStringItem(idx, 2, item[2]) + idx = mappingsList.InsertItem(sys.maxint, item[0]) + mappingsList.SetItem(idx, 1, item[1]) + mappingsList.SetItem(idx, 2, item[2]) #layout for i in range(mappingsList.GetColumnCount()): @@ -377,7 +377,7 @@ def OnDeleteButton(event): groupNameCtrl = wx.TextCtrl(panel) - editSizer = wx.GridSizer(3, 2) + editSizer = wx.GridSizer(rows=3, cols=2, vgap=2, hgap=2) editSizer.Add(wx.StaticText(panel, -1, Text.houseCode + ":"), wx.ALIGN_CENTER_VERTICAL) editSizer.Add(houseCodeTextCtrl, 0) editSizer.Add(wx.StaticText(panel, -1, Text.deviceAddress + ":"), wx.ALIGN_CENTER_VERTICAL) @@ -390,7 +390,7 @@ def OnDeleteButton(event): updateButton = wx.Button(panel, -1, Text.update) deleteButton = wx.Button(panel, -1, Text.delete) - buttonsSizer = wx.GridSizer(1, 3) + buttonsSizer = wx.GridSizer(rows=1, cols=3, vgap=2, hgap=2) buttonsSizer.Add(addButton) buttonsSizer.Add(deleteButton) buttonsSizer.Add(updateButton) diff --git a/plugins/FileOperations/__init__.py b/plugins/FileOperations/__init__.py index 90aac6096..b319f0b73 100644 --- a/plugins/FileOperations/__init__.py +++ b/plugins/FileOperations/__init__.py @@ -226,9 +226,9 @@ def Configure(self, *args): observListCtrl.InsertColumn(i, colLabel) #setting cols width - observListCtrl.InsertStringItem(0, 30*"X") - observListCtrl.SetStringItem(0, 1, 16*"X") - observListCtrl.SetStringItem(0, 2, 16*"X") + observListCtrl.InsertItem(0, 30*"X") + observListCtrl.SetItem(0, 1, 16*"X") + observListCtrl.SetItem(0, 2, 16*"X") size = 0 for i in range(3): @@ -260,9 +260,9 @@ def PopulateList (event=None): for i, item in enumerate(self.observThreads): t = self.observThreads[item] if t.isAlive(): - observListCtrl.InsertStringItem(row, os.path.split(t.fileName)[1]) - observListCtrl.SetStringItem(row, 1, t.evtName) - observListCtrl.SetStringItem(row, 2, str(t.period) + " sec") + observListCtrl.InsertItem(row, os.path.split(t.fileName)[1]) + observListCtrl.SetItem(row, 1, t.evtName) + observListCtrl.SetItem(row, 2, str(t.period) + " sec") row += 1 ListSelection(wx.CommandEvent()) @@ -447,7 +447,7 @@ def Configure( buttonText=eg.text.General.browse, dialogTitle=text.browseFileDialogTitle ) - width = labelDecErrMode.GetTextExtent(text.txtDecErrMode)[0] + width = labelDecErrMode.GetFullTextExtent(text.txtDecErrMode)[0] choiceDecErrMode = wx.Choice( panel, -1, @@ -478,14 +478,14 @@ def Configure( min = 0, max = 999, ) - w0 = inPageCtrl.GetTextExtent(text.listNotIncluding)[0] - w1 = inPageCtrl.GetTextExtent(text.listIncluding)[0] - w2 = inPageCtrl.GetTextExtent(text.oneNotIncluding)[0] - w3 = inPageCtrl.GetTextExtent(text.oneIncluding)[0] - w4 = inPageCtrl.GetTextExtent(text.oneString)[0] + w0 = inPageCtrl.GetFullTextExtent(text.listNotIncluding)[0] + w1 = inPageCtrl.GetFullTextExtent(text.listIncluding)[0] + w2 = inPageCtrl.GetFullTextExtent(text.oneNotIncluding)[0] + w3 = inPageCtrl.GetFullTextExtent(text.oneIncluding)[0] + w4 = inPageCtrl.GetFullTextExtent(text.oneString)[0] width = max(w0,w1,w2,w3,w4)+30 choiceMode = wx.Choice(panel,-1,size=(width,-1)) - #Sizers + #Sizers topSizer = wx.FlexGridSizer(2,0,2,15) topSizer.AddGrowableCol(0,1) topSizer.AddGrowableCol(1,1) @@ -531,13 +531,11 @@ def onLinesNumCtrl(event=None): rb1.Enable(True) if linesNumCtrl.GetValue() == 1: - choiceMode.Clear() - choiceMode.AppendItems(strings=(text.oneNotIncluding,text.oneIncluding)) + choiceMode.SetItems([text.oneNotIncluding, text.oneIncluding]) else: if len(choiceMode.GetStrings()) != 3: - choiceMode.Clear() - choiceMode.AppendItems( - strings=(text.listNotIncluding,text.listIncluding,text.oneString) + choiceMode.SetItems( + [text.listNotIncluding, text.listIncluding,text.oneString] ) if self.mode == 2: flag = True @@ -612,7 +610,7 @@ def onComboBox(event = None): def OnTestButton(event): self.plugin.AbortObservation(nameCtrl.GetValue()) panel.dialog.buttonRow.testButton.SetLabel(text.abortNow) - panel.dialog.buttonRow.testButton.SetToolTipString(text.tip) + panel.dialog.buttonRow.testButton.SetToolTip(text.tip) panel.dialog.buttonRow.testButton.Bind(wx.EVT_BUTTON, OnTestButton) while panel.Affirmed(): @@ -705,7 +703,7 @@ def Configure( buttonText=eg.text.General.browse, dialogTitle=text.browseFileDialogTitle ) - width = labelDecErrMode.GetTextExtent(text.txtDecErrMode)[0] + width = labelDecErrMode.GetFullTextExtent(text.txtDecErrMode)[0] choiceDecErrMode = wx.Choice( panel, -1, @@ -747,11 +745,11 @@ def Configure( increment = 0.1, ) intervalLbl = wx.StaticText(panel, -1, text.intervalLabel) - w0 = inPageCtrl.GetTextExtent(text.listNotIncluding)[0] - w1 = inPageCtrl.GetTextExtent(text.listIncluding)[0] - w2 = inPageCtrl.GetTextExtent(text.oneNotIncluding)[0] - w3 = inPageCtrl.GetTextExtent(text.oneIncluding)[0] - w4 = inPageCtrl.GetTextExtent(text.oneString)[0] + w0 = inPageCtrl.GetFullTextExtent(text.listNotIncluding)[0] + w1 = inPageCtrl.GetFullTextExtent(text.listIncluding)[0] + w2 = inPageCtrl.GetFullTextExtent(text.oneNotIncluding)[0] + w3 = inPageCtrl.GetFullTextExtent(text.oneIncluding)[0] + w4 = inPageCtrl.GetFullTextExtent(text.oneString)[0] width = max(w0,w1,w2,w3,w4)+30 choiceMode = wx.Choice(panel,-1,size=(width,-1)) evtNameCtrl = wx.TextCtrl(panel,-1,evtName) @@ -819,13 +817,11 @@ def onLinesNumCtrl(event=None): rb1.Enable(True) if linesNumCtrl.GetValue() == 1: - choiceMode.Clear() - choiceMode.AppendItems(strings=(text.oneNotIncluding,text.oneIncluding)) + choiceMode.SetItems([text.oneNotIncluding, text.oneIncluding]) else: if len(choiceMode.GetStrings()) != 3: - choiceMode.Clear() - choiceMode.AppendItems( - strings=(text.listNotIncluding,text.listIncluding,text.oneString) + choiceMode.SetItems( + [text.listNotIncluding, text.listIncluding, text.oneString] ) if self.mode == 2: flag = True @@ -968,7 +964,7 @@ def Configure( buttonText=eg.text.General.browse, dialogTitle=text.browseFileDialogTitle ) - width = labelEncErrMode.GetTextExtent(text.txtEncErrMode)[0] + width = labelEncErrMode.GetFullTextExtent(text.txtEncErrMode)[0] choiceEncErrMode = wx.Choice( panel, -1, diff --git a/plugins/H79Serial/__init__.py b/plugins/H79Serial/__init__.py index caa9be87f..c16b22f6a 100644 --- a/plugins/H79Serial/__init__.py +++ b/plugins/H79Serial/__init__.py @@ -9,6 +9,7 @@ # 0.1 - initial # 0.2 - EventGhost 0.3.1+ compatibility # +import pywintypes help = """\ Commands are taken straight out of the RS232_H79.pdf document @@ -153,9 +154,12 @@ class Handler(eg.ActionClass): def reader(self): line="" while self.readerkiller is False: - ch=self.serial.read() + try: + ch=self.serial.read() + except pywintypes.error: + ch='' if ch=='\n': - continue; + continue if ch=='\r': if line != "": self.TriggerEvent(line) diff --git a/plugins/HID/__init__.py b/plugins/HID/__init__.py index 528ded2b1..ce9068a83 100644 --- a/plugins/HID/__init__.py +++ b/plugins/HID/__init__.py @@ -224,9 +224,9 @@ def Configure(self, devices = {} idx = 0 for item in deviceList: - idx = hidList.InsertStringItem(sys.maxint, item.productString) - hidList.SetStringItem(idx, 1, item.vendorString) - hidList.SetStringItem(idx, 2, Text.yes) + idx = hidList.InsertItem(sys.maxint, item.productString) + hidList.SetItem(idx, 1, item.vendorString) + hidList.SetItem(idx, 2, Text.yes) if item.devicePath == path: hidList.Select(idx) devices[idx] = item @@ -240,9 +240,9 @@ def Configure(self, productID, productString, versionNumber) - idx = hidList.InsertStringItem(sys.maxint, item.productString) - hidList.SetStringItem(idx, 1, item.vendorString) - hidList.SetStringItem(idx, 2, Text.no) + idx = hidList.InsertItem(sys.maxint, item.productString) + hidList.SetItem(idx, 1, item.vendorString) + hidList.SetItem(idx, 2, Text.no) hidList.Select(idx) devices[idx] = item @@ -336,7 +336,10 @@ def OnNoOtherPortChange(event): hidList.Bind(wx.EVT_LIST_ITEM_DESELECTED, OnHidListSelect) while panel.Affirmed(): - device = devices[hidList.GetFirstSelected()] + dev = hidList.GetFirstSelected() + if dev == -1: + continue + device = devices[dev] panel.SetResult( eventNameCtrl.GetValue(), enduringEventsCtrl.GetValue(), diff --git a/plugins/IrfanView/__init__.py b/plugins/IrfanView/__init__.py index a72868121..e160f095e 100644 --- a/plugins/IrfanView/__init__.py +++ b/plugins/IrfanView/__init__.py @@ -684,11 +684,11 @@ def Configure(self, kwargs={}): maskSizer.Add(maskCtrl,0,wx.RIGHT|wx.TOP,1) maskSizer.Add(hlpbtnPatternCtrl,0,wx.TOP) # - maskMonLblSizer=wx.GridSizer(1,2) + maskMonLblSizer=wx.GridSizer(cols=1, rows=2, vgap=0, hgap=0) maskMonLblSizer.Add(maskSizer,0,wx.TOP,5) maskMonLblSizer.Add(monLblSizer,0,wx.EXPAND) # - delaySizer= wx.FlexGridSizer(2,1,vgap=1) + delaySizer= wx.FlexGridSizer(cols=2, rows=1,vgap=1, hgap=0) delaySizer.Add(delayLbl, 0,wx.LEFT,30) delaySizer.Add(delayCtrl, 0,wx.LEFT,30) # @@ -709,7 +709,7 @@ def Configure(self, kwargs={}): radioSizer.Add(boxSizer,0,wx.EXPAND) radioSizer.Add(delaySizer,0,wx.TOP,17) # - checkBoxSizer = wx.FlexGridSizer(rows=4, cols=2, hgap=8,vgap=6) + checkBoxSizer = wx.FlexGridSizer(rows=5, cols=2, hgap=8,vgap=6) checkBoxSizer.Add(loopCtrl, 0) checkBoxSizer.Add(noRepeatCtrl, 0) checkBoxSizer.Add(suppressCtrl, 0) @@ -718,7 +718,6 @@ def Configure(self, kwargs={}): checkBoxSizer.Add(resampleCtrl, 0) checkBoxSizer.Add(hideCursorCtrl, 0) checkBoxSizer.Add(alphaCtrl, 0) - checkBoxSizer.Add((1,1)) checkBoxSizer.Add(closeCtrl, 0) # dynSizer = wx.BoxSizer(wx.VERTICAL) diff --git a/plugins/JRiverCommands/__init__.py b/plugins/JRiverCommands/__init__.py new file mode 100644 index 000000000..b00d054fc --- /dev/null +++ b/plugins/JRiverCommands/__init__.py @@ -0,0 +1,3253 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +# - 0.1c by topix +# added detection of 64it installation of J. River Media center + +import eg + +eg.RegisterPlugin( + name=u'JRiver Command Sender', + author=u'K', + version=u'0.1c', + description=( + u'Sends commands to JRiver Media Center without the use of emulated ' + u'keystrokes' + ), + kind=u'program', + url=u'', + help=u'', + canMultiLoad=False, + createMacrosOnAdd=True, + guid=u'{D355EBBF-3631-47E2-BC44-64A928B9F271}', + hardwareId=u'', + icon=None +) + + +import wx +import _winreg +from subprocess import Popen, PIPE +from threading import Thread + + +DEBUG = False + +MCC_PLAY_PAUSE = 10000 +MCC_PLAY = 10001 +MCC_STOP = 10002 +MCC_STOP_DISPLAY_ERROR = 10002 +MCC_NEXT = 10003 +MCC_NEXT_NO_CHAPTERS = 10003 +MCC_PREVIOUS = 10004 +MCC_SHUFFLE_TOGGLE = 10005 +MCC_SHUFFLE_JUMP = 10005 +MCC_SHUFFLE_NO_JUMP = 10005 +MCC_SHUFFLE_SET_MODE = 10005 +MCC_CONTINUOUS_TOGGLE = 10006 +MCC_CONTINUOUS_OFF = 10006 +MCC_CONTINUOUS_PLAYLIST = 10006 +MCC_CONTINUOUS_SONG = 10006 +MCC_CONTINUOUS_STOP_AFTER_EACH = 10006 +MCC_FAST_FORWARD = 10008 +MCC_REWIND = 10009 +MCC_STOP_CONDITIONAL = 10010 +MCC_SET_ZONE_NEXT = 10011 +MCC_SET_ZONE_PREVIOUS = 10011 +MCC_TOGGLE_DISPLAY = 10012 +MCC_TOGGLE_DISPLAY_NO_THEATER_VIEW = 10012 +MCC_SHOW_WINDOW = 10013 +MCC_SHOW_WINDOW_NOW_PLAYING = 10013 +MCC_MINIMIZE_WINDOW = 10014 +MCC_PLAY_CPLDB_INDEX = 10015 +MCC_SHOW_DSP_STUDIO = 10016 +MCC_VOLUME_MUTE_TOGGLE = 10017 +MCC_VOLUME_MUTE_ON = 10017 +MCC_VOLUME_MUTE_OFF = 10017 +MCC_VOLUME_UP = 10018 +MCC_VOLUME_DOWN = 10019 +MCC_VOLUME_SET = 10020 +MCC_SHOW_PLAYBACK_OPTIONS = 10021 +MCC_SET_PAUSE_TOGGLE = 10022 +MCC_SET_PAUSE_ON = 10022 +MCC_SET_PAUSE_OFF = 10022 +MCC_SET_CURRENTLY_PLAYING_RATING = 10023 +MCC_SHOW_PLAYBACK_ENGINE_MENU = 10024 +MCC_PLAY_NEXT_PLAYLIST = 10025 +MCC_PLAY_PREVIOUS_PLAYLIST = 10026 +MCC_MAXIMIZE_WINDOW = 10027 +MCC_RESTORE_WINDOW = 10028 +MCC_SET_PLAYERSTATUS = 10029 +MCC_SET_ALTERNATE_PLAYBACK_SETTINGS_TOGGLE = 10030 +MCC_SET_ALTERNATE_PLAYBACK_SETTINGS_ON = 10030 +MCC_SET_ALTERNATE_PLAYBACK_SETTINGS_OFF = 10030 +MCC_SET_PREVIEW_MODE_SETTINGS = 10031 +MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENU = 10032 +MCC_DVD_MENU = 10033 +MCC_SEEK_FORWARD = 10034 +MCC_SEEK_BACK = 10035 +MCC_STOP_AFTER_CURRENT_FILE_TOGGLE = 10036 +MCC_STOP_AFTER_CURRENT_FILE_ON = 10036 +MCC_STOP_AFTER_CURRENT_FILE_OFF = 10036 +MCC_DETACH_DISPLAY_TOGGLE = 10037 +MCC_DETACH_DISPLAY_ON = 10037 +MCC_DETACH_DISPLAY_OFF = 10037 +MCC_SET_MODE_ZONE_SPECIFIC = 10038 +MCC_STOP_INTERNAL = 10039 +MCC_PLAYING_NOW_REMOVE_DUPLICATES = 10040 +MCC_SHUFFLE_REMAINING = 10041 +MCC_PLAY_FIRST_FILE = 10042 +MCC_PLAY_LAST_FILE = 10043 +MCC_PLAY_FILE_BY_STRING = 10044 +MCC_PLAY_FILE_AGAIN = 10045 +MCC_HANDLE_PLAYBACK_ERROR = 10046 +MCC_PLAY_AUTOMATIC_PLAYLIST = 10047 +MCC_SEEK = 10048 +MCC_CLEAR_PLAYING_NOW_ZONE_SPECIFIC_ALL = 10049 +MCC_CLEAR_PLAYING_NOW_ZONE_SPECIFIC_LEAVE_PLAYING = 10049 +MCC_PLAY_RADIO_LAST_FM = 10050 +MCC_SHOW_ON_SCREEN_DISPLAY = 10051 +MCC_SET_SUBTITLES = 10052 +MCC_SET_SUBTITLES_PREVIOUS = 10052 +MCC_SET_SUBTITLES_NEXT = 10052 +MCC_SET_AUDIO_STREAM = 10053 +MCC_SET_AUDIO_STREAM_PREVIOUS = 10053 +MCC_SET_AUDIO_STREAM_NEXT = 10053 +MCC_SET_VIDEO_STREAM = 10054 +MCC_SET_VIDEO_STREAM_PREVIOUS = 10054 +MCC_SET_VIDEO_STREAM_NEXT = 10054 +MCC_VIDEO_SCREEN_GRAB_THUMBNAIL = 10055 +MCC_VIDEO_SCREEN_GRAB_SAVE = 10055 +MCC_SET_VOLUME_MODE_APPLICATION = 10056 +MCC_SET_VOLUME_MODE_INTERNAL = 10056 +MCC_SET_VOLUME_MODE_SYSTEM = 10056 +MCC_SET_VOLUME_MODE_DISABLED = 10056 +MCC_RESTART_PLAYBACK = 10057 +MCC_ZONE_SWITCH = 10058 +MCC_SKIP_TO = 10059 +MCC_LINK_ZONE = 10060 +MCC_UNLINK_ZONE = 10061 +MCC_PLAY_RADIO_MEDIANET = 10062 +MCC_CLEAR_PLAYED_ZONE_SPECIFIC = 10063 +MCC_OPEN_FILE = 20000 +MCC_OPEN_URL = 20001 +MCC_PRINT_LIST = 20002 +MCC_EXPORT_PLAYLIST_ACTIVE = 20003 +MCC_EXPORT_PLAYLIST = 20003 +MCC_EXPORT_ALL_PLAYLISTS = 20004 +MCC_EXPORT_ALL_PLAYLISTS_SILENT = 20004 +MCC_UPLOAD_FILES = 20005 +MCC_EMAIL_FILES = 20006 +MCC_EXIT = 20007 +MCC_EXIT_CLOSE_SERVER = 20007 +MCC_EXIT_ALLOW_SERVER = 20007 +MCC_UPDATE_LIBRARY = 20008 +MCC_CLEAR_LIBRARY = 20009 +MCC_EXPORT_LIBRARY = 20010 +MCC_BACKUP_LIBRARY = 20011 +MCC_BACKUP_LIBRARY_SILENT = 20011 +MCC_RESTORE_LIBRARY = 20012 +MCC_LIBRARY_MANAGER = 20013 +MCC_IMAGE_ACQUIRE = 20014 +MCC_PRINT_IMAGES = 20015 +MCC_PRINT = 20016 +MCC_IMPORT_PLAYLIST = 20024 +MCC_LOAD_LIBRARY = 20025 +MCC_SYNC_LIBRARY = 20026 +MCC_EMAIL_PODCAST_FEED = 20027 +MCC_LOAD_LIBRARY_READ_ONLY = 20028 +MCC_ADD_LIBRARY = 20029 +MCC_EXPORT_ITUNES = 20030 +MCC_DISCONNECT_LIBRARY = 20031 +MCC_SYNC_WITH_LIBRARY_SERVER = 20032 +MCC_STOP_ALL_ZONES = 20033 +MCC_STOP_REMOTE_ZONES = 20033 +MCC_CLONE_LIBRARY = 20034 +MCC_OPEN_LIVE = 20035 +MCC_COPY = 21000 +MCC_PASTE = 21001 +MCC_SELECT_ALL = 21002 +MCC_SELECT_INVERT = 21003 +MCC_DELETE = 21004 +MCC_DELETE_AGGRESSIVE = 21004 +MCC_RENAME = 21005 +MCC_UNDO = 21006 +MCC_REDO = 21007 +MCC_QUICK_SEARCH = 21008 +MCC_REPEAT_SEARCH = 21008 +MCC_ADD_PLAYLIST = 21009 +MCC_ADD_SMARTLIST = 21010 +MCC_ADD_PLAYLIST_GROUP = 21011 +MCC_PROPERTIES = 21012 +MCC_TOGGLE_TAGGING_MODE = 21013 +MCC_CUT = 21014 +MCC_DESELECT_ALL = 21015 +MCC_DELETE_ALL = 21016 +MCC_DELETE_ALL_AGGRESSIVE = 21016 +MCC_ADD_PODCAST_FEED = 21017 +MCC_EDIT_PODCAST_FEED = 21018 +MCC_ADD_PODCAST_DEFAULTS = 21019 +MCC_CREATE_STOCK_SMARTLISTS = 21020 +MCC_ENABLE_PODCAST_DOWNLOAD = 21021 +MCC_DISABLE_PODCAST_DOWNLOAD = 21022 +MCC_EDIT_PLAYLIST = 21023 +MCC_EDIT_PLAYING_NOW = 21024 +MCC_EDIT_DISC_INFORMATION = 21025 +MCC_EDIT_SMARTLIST = 21026 +MCC_REFRESH_PODCAST_FEED = 21027 +MCC_LOOKUP_MOVIE_INFORMATION = 21028 +MCC_ADD_ZONE = 21029 +MCC_ADD_AUTOMATIC_PLAYLIST = 21030 +MCC_SET_WRITE_TAGS_TOGGLE = 21031 +MCC_SET_WRITE_TAGS_ON = 21031 +MCC_SET_WRITE_TAGS_OFF = 21031 +MCC_PASTE_TAGS = 21032 +MCC_SHUFFLE_SELECTION = 21033 +MCC_TOGGLE_MODE = 22000 +MCC_TOGGLE_MODE_NEXT = 22000 +MCC_THEATER_VIEW = 22001 +MCC_PARTY_MODE = 22002 +MCC_SHOW_TREE_ROOT = 22003 +MCC_FIND_MEDIA = 22004 +MCC_BACK = 22005 +MCC_FORWARD = 22006 +MCC_REFRESH = 22007 +MCC_SET_LIST_STYLE = 22008 +MCC_SET_LIST_STYLE_TOGGLE = 22008 +MCC_SET_MODE = 22009 +MCC_SHOW_RECENTLYIMPORTED = 22012 +MCC_SHOW_TOPHITS = 22013 +MCC_SHOW_RECENTLYPLAYED = 22014 +MCC_SET_MEDIA_MODE = 22015 +MCC_SET_SERVER_MODE_ON = 22017 +MCC_SET_SERVER_MODE_OFF = 22017 +MCC_SET_MODE_FOR_EXTERNAL_PROGRAM_STARTING = 22018 +MCC_SET_MODE_FOR_EXTERNAL_PROGRAM_ENDING = 22018 +MCC_SET_MODE_FOR_SECOND_INSTANCE_LAUNCH = 22019 +MCC_HOME = 22020 +MCC_ROLLUP_VIEW_HEADER_TOGGLE = 22021 +MCC_ROLLUP_VIEW_HEADER_ON = 22021 +MCC_ROLLUP_VIEW_HEADER_OFF = 22021 +MCC_FOCUS_SEARCH_CONTROL = 22022 +MCC_SET_ACTIVE_VIEW_KEY_TOGGLE = 22023 +MCC_SET_ACTIVE_VIEW_KEY_TOGGLE_BACK = 22023 +MCC_SET_ACTIVE_VIEW_KEY_NEW = 22023 +MCC_SET_ACTIVE_VIEW_KEY = 22023 +MCC_CLOSE_VIEW_KEY = 22024 +MCC_CLOSE_VIEW_KEY_CURRENT = 22024 +MCC_VIEW_ZOOM_SET = 22025 +MCC_VIEW_ZOOM_INCREMENT = 22026 +MCC_FIND_MEDIA_WITH_WIZARD = 22027 +MCC_SET_USER = 22028 +MCC_SHOW_TREE_TOGGLE = 22029 +MCC_SHOW_TREE_ON = 22029 +MCC_SHOW_TREE_OFF = 22029 +MCC_SET_TOOLTIPS_TOGGLE = 22030 +MCC_SET_TOOLTIPS_ON = 22030 +MCC_SET_TOOLTIPS_OFF = 22030 +MCC_AUDIO_ONLY_MODE_TOGGLE = 22031 +MCC_AUDIO_ONLY_MODE_ON = 22031 +MCC_AUDIO_ONLY_MODE_OFF = 22031 +MCC_IMPORT_DISABLE_RUNNING_WARNING = 23000 +MCC_IMPORT_FIRST_IMPORT_MODE = 23000 +MCC_RIP_CD = 23001 +MCC_BURN = 23002 +MCC_RECORD_AUDIO = 23003 +MCC_CONVERT = 23004 +MCC_ANALYZE_AUDIO = 23005 +MCC_MEDIA_EDITOR = 23006 +MCC_CD_LABELER = 23007 +MCC_SKIN_MANAGER = 23010 +MCC_OPTIONS = 23011 +MCC_RENAME_CD_FILES = 23012 +MCC_HANDHELD_UPLOAD = 23015 +MCC_HANDHELD_UPDATE_UPLOAD_WORKER_FINISHED = 23016 +MCC_HANDHELD_CLOSE_DEVICE = 23017 +MCC_HANDHELD_SHOW_OPTIONS = 23018 +MCC_HANDHELD_INFO_DUMP_ON = 23019 +MCC_HANDHELD_INFO_DUMP_OFF = 23019 +MCC_IMPORT_AUTO_RUN_NOW = 23020 +MCC_IMPORT_AUTO_RUN_NOW_SILENT = 23020 +MCC_IMPORT_AUTO_CONFIGURE = 23021 +MCC_HANDHELD_EJECT = 23022 +MCC_RECORD_TV = 23023 +MCC_FIND_AND_REPLACE = 23024 +MCC_CLEAN_PROPERTIES = 23025 +MCC_FILL_TRACK_ORDER = 23026 +MCC_MOVE_COPY_FIELDS = 23027 +MCC_REMOVE_TAGS = 23028 +MCC_UPDATE_TAGS_FROM_DB = 23029 +MCC_UPDATE_DB_FROM_TAGS = 23030 +MCC_LOOKUP_TRACK_INFO_FROM_INTERNET = 23031 +MCC_SUBMIT_TRACK_INFO_TO_INTERNET = 23032 +MCC_FILL_PROPERTIES_FROM_FILENAME = 23034 +MCC_RENAME_FILES_FROM_PROPERTIES = 23035 +MCC_COVER_ART_ADD_FROM_FILE = 23036 +MCC_COVER_ART_QUICK_ADD_FROM_FILE = 23037 +MCC_COVER_ART_GET_FROM_INTERNET = 23038 +MCC_COVER_ART_SUBMIT_TO_INTERNET = 23039 +MCC_COVER_ART_GET_FROM_SCANNER = 23040 +MCC_COVER_ART_SELECT_SCANNER = 23041 +MCC_COVER_ART_GET_FROM_CLIPBOARD = 23042 +MCC_COVER_ART_COPY_TO_CLIPBOARD = 23043 +MCC_COVER_ART_REMOVE = 23044 +MCC_COVER_ART_PLAY = 23045 +MCC_COVER_ART_SAVE_TO_EXTERNAL_FILE = 23046 +MCC_COVER_ART_REBUILD_THUMBNAIL = 23047 +MCC_RINGTONE = 23048 +MCC_AUDIO_CALIBRATION = 23049 +MCC_MARK_PLAYED = 23050 +MCC_MARK_NOT_PLAYED = 23051 +MCC_LINK_TRACKS = 23052 +MCC_BREAK_TRACK_LINKS = 23053 +MCC_HELP_CONTENTS = 24000 +MCC_HELP_HOWTO_IMPORT_FILES = 24001 +MCC_HELP_HOWTO_PLAY_FILES = 24002 +MCC_HELP_HOWTO_RIP = 24003 +MCC_HELP_HOWTO_BURN = 24004 +MCC_HELP_HOWTO_ORGANIZE_FILES = 24005 +MCC_HELP_HOWTO_VIEW_SCHEMES = 24006 +MCC_HELP_HOWTO_MANAGE_PLAYLISTS = 24007 +MCC_HELP_HOWTO_EDIT_PROPERTIES = 24008 +MCC_HELP_HOWTO_FIND = 24009 +MCC_HELP_HOWTO_CONFIGURE = 24010 +MCC_CHECK_FOR_UPDATES = 24011 +MCC_BUY = 24012 +MCC_INSTALL_LICENSE = 24013 +MCC_REGISTRATION_INFO = 24014 +MCC_PLUS_FEATURES = 24015 +MCC_INTERACT = 24016 +MCC_SYSTEM_INFO = 24017 +MCC_ABOUT = 24018 +MCC_CONFIGURE_DEBUG_LOGGING = 24019 +MCC_WIKI = 24020 +MCC_TEST = 24021 +MCC_SHOW_EULA = 24022 +MCC_BENCHMARK = 24023 +MCC_UPGRADE_TO_MASTER_LICENSE = 24024 +MCC_ADD_VIEW_SCHEME = 25000 +MCC_EDIT_VIEW_SCHEME = 25001 +MCC_TREE_ADD_DIRECTORY = 25008 +MCC_TREE_IMPORT = 25009 +MCC_TREE_ADD_CD_FOLDER = 25010 +MCC_UPDATE_FROM_CD_DATABASE = 25011 +MCC_SUBMIT_TO_CD_DATABASE = 25012 +MCC_TREE_RIP = 25013 +MCC_CLEAR_PLAYING_NOW = 25014 +MCC_CLEAR_PLAYING_NOW_LEAVE_PLAYING = 25014 +MCC_COPY_LISTENING_TO = 25015 +MCC_COPY_LISTENING_TO_PASTE = 25015 +MCC_TREE_SET_EXPANDED = 25016 +MCC_TREE_SET_COLLAPSED = 25016 +MCC_RESET_VIEW_SCHEMES = 25017 +MCC_TREE_ERASE_CD_DVD = 25018 +MCC_UPDATE_FROM_CDPLAYER_INI = 25019 +MCC_TREE_EJECT = 25020 +MCC_TREE_ADD_VIRTUAL_DEVICE = 25021 +MCC_TREE_RENAME_PLAYLIST = 25022 +MCC_TWITTER_LISTENING_TO = 25023 +MCC_SCROBBLE_LISTENING_TO = 25024 +MCC_LIST_UPDATE_ORDER = 26000 +MCC_LIST_SHUFFLE_ORDER = 26001 +MCC_LIST_IMPORT = 26002 +MCC_LIST_REMOVE_ORDER = 26003 +MCC_LOCATE_FILE_DISK_INTERNAL = 26004 +MCC_LOCATE_FILE_DISK_EXTERNAL = 26004 +MCC_LOCATE_FILE = 26004 +MCC_LIST_INCREMENT_SELECTION = 26006 +MCC_LIST_REMOVE_DUPLICATES = 26007 +MCC_LIST_AUTO_SIZE_COLUMN = 26008 +MCC_LIST_AUTO_SIZE_COLUMN_ALL = 26008 +MCC_LIST_CUSTOMIZE_VIEW = 26009 +MCC_LIST_COPY_DISK_FILES = 26010 +MCC_LIST_SET_RIP_CHECK_TOGGLE = 26011 +MCC_LIST_SET_RIP_CHECK_ON = 26011 +MCC_LIST_SET_RIP_CHECK_OFF = 26011 +MCC_LIST_DOWNLOAD = 26012 +MCC_LIST_GET_LIST_POINTER = 26013 +MCC_LOCATE_STACK = 26014 +MCC_SET_AS_STACK_TOP = 26015 +MCC_EXPAND_STACK = 26016 +MCC_COLLAPSE_STACK = 26017 +MCC_AUTOSTACK_NAME = 26018 +MCC_AUTOSTACK_ARTIST_ALBUM_NAME = 26018 +MCC_AUTOSTACK_ARTIST_ALBUM_TRACK = 26018 +MCC_CHECK_STACKS = 26019 +MCC_STACK = 26020 +MCC_UNSTACK = 26021 +MCC_ADD_TO_STACK = 26022 +MCC_PANE_RESET_SELECTION = 26023 +MCC_PANE_RESET_SELECTION_ALL = 26023 +MCC_LIST_REMOVE_ALL = 26024 +MCC_LIST_LOCK_TOGGLE = 26025 +MCC_LIST_LOCK_ON = 26025 +MCC_LIST_LOCK_OFF = 26025 +MCC_PANE_SET_EXPANDED = 26026 +MCC_KEYSTROKE = 27000 +MCC_PC_SHUTDOWN = 27001 +MCC_PC_HIBERNATE = 27001 +MCC_PC_SLEEP = 27001 +MCC_PC_RESTART = 27001 +MCC_PLAYBACK_ENGINE_ZOOM_IN = 28000 +MCC_PLAYBACK_ENGINE_ZOOM_OUT = 28001 +MCC_PLAYBACK_ENGINE_UP = 28002 +MCC_PLAYBACK_ENGINE_DOWN = 28003 +MCC_PLAYBACK_ENGINE_LEFT = 28004 +MCC_PLAYBACK_ENGINE_RIGHT = 28005 +MCC_PLAYBACK_ENGINE_ENTER = 28006 +MCC_PLAYBACK_ENGINE_FIRST = 28007 +MCC_PLAYBACK_ENGINE_LAST = 28008 +MCC_PLAYBACK_ENGINE_NEXT = 28009 +MCC_PLAYBACK_ENGINE_PREVIOUS = 28010 +MCC_PLAYBACK_ENGINE_PAUSE_TOGGLE = 28011 +MCC_PLAYBACK_ENGINE_PAUSE_ON = 28011 +MCC_PLAYBACK_ENGINE_PAUSE_OFF = 28011 +MCC_IMAGE_PAN_AND_ZOOM_TOGGLE = 28012 +MCC_IMAGE_PAN_AND_ZOOM_ON = 28012 +MCC_IMAGE_PAN_AND_ZOOM_OFF = 28012 +MCC_IMAGE_TOGGLE_EFFECT = 28013 +MCC_IMAGE_RAPID_ZOOM = 28014 +MCC_DVD_SET_AUDIO_STREAM_TOGGLE = 28015 +MCC_DVD_SET_AUDIO_STREAM = 28015 +MCC_DVD_SHOW_MENU = 28016 +MCC_TV_RECORD = 28017 +MCC_TV_SNAPSHOT = 28018 +MCC_TV_CHANGE_STANDARD = 28019 +MCC_PLAYBACK_ENGINE_OSD_VIDEO_PROC_AMP = 28020 +MCC_PLAYBACK_ENGINE_SET_CUR_VIDEO_PROC_AMP = 28021 +MCC_PLAYBACK_ENGINE_SET_ASPECT_RATIO_TOGGLE = 28022 +MCC_PLAYBACK_ENGINE_SET_ASPECT_RATIO = 28022 +MCC_PLAYBACK_ENGINE_SCROLL_UP = 28023 +MCC_PLAYBACK_ENGINE_SCROLL_DOWN = 28024 +MCC_PLAYBACK_ENGINE_SCROLL_LEFT = 28025 +MCC_PLAYBACK_ENGINE_SCROLL_RIGHT = 28026 +MCC_TV_SET_SAVE_TIME_SHIFTING_INCREASE = 28027 +MCC_TV_SET_SAVE_TIME_SHIFTING_DECREASE = 28027 +MCC_TV_SET_SAVE_TIME_SHIFTING = 28027 +MCC_PLAYBACK_ENGINE_ZOOM_TO_PRESET_FIT = 28028 +MCC_PLAYBACK_ENGINE_ZOOM_TO_PRESET_100 = 28028 +MCC_PLAYBACK_ENGINE_ZOOM_TO_PRESET_200 = 28028 +MCC_TV_SCAN_PROGRAMMING_EVENTS = 28029 +MCC_TV_CHANGE_CHANNEL_KEY = 28030 +MCC_TV_PLAY_CHANNEL_POSITION = 28031 +MCC_PLAYBACK_ENGINE_SET_SUBTITLES_NEXT = 28032 +MCC_PLAYBACK_ENGINE_SET_SUBTITLES_PREVIOUS = 28032 +MCC_PLAYBACK_ENGINE_SET_SUBTITLES = 28032 +MCC_PLAYBACK_ENGINE_SET_AUDIO_STREAM_NEXT = 28033 +MCC_PLAYBACK_ENGINE_SET_AUDIO_STREAM_PREVIOUS = 28033 +MCC_PLAYBACK_ENGINE_SET_AUDIO_STREAM = 28033 +MCC_PLAYBACK_ENGINE_SET_VIDEO_STREAM_NEXT = 28034 +MCC_PLAYBACK_ENGINE_SET_VIDEO_STREAM_PREVIOUS = 28034 +MCC_PLAYBACK_ENGINE_SET_VIDEO_STREAM = 28034 +MCC_PLAYBACK_ENGINE_VIDEO_SCREEN_GRAB_THUMBNAIL = 28035 +MCC_PLAYBACK_ENGINE_VIDEO_SCREEN_GRAB_SAVE = 28035 +MCC_PLAYBACK_ENGINE_VIDEO_LIPSYNC = 28036 +MCC_PLAYBACK_ENGINE_SET_SUBTITLE_TIMING = 28037 +MCC_RELOAD_MC_VIEW = 30000 +MCC_CUSTOMIZE_TOOLBAR = 30001 +MCC_PLAY_TV = 30002 +MCC_UPDATE_WEBPAGES = 30003 +MCC_SHOW_RUNNING_MC_ON = 30004 +MCC_SHOW_RUNNING_MC_OFF = 30004 +MCC_SHOW_MENU = 30005 +MCC_TUNE_TV = 30006 +MCC_PLAY_PLAYLIST = 30007 +MCC_SENDTO_TOOL_LABELER = 30008 +MCC_SENDTO_TOOL_MEDIA_EDITOR = 30008 +MCC_SENDTO_TOOL_DEFAULT_EDITOR = 30008 +MCC_SENDTO_TOOL_FTP = 30008 +MCC_SENDTO_TOOL_EMAIL = 30008 +MCC_SENDTO_TOOL_MENALTO_GALLERY = 30008 +MCC_SENDTO_TOOL_WEB_GALLERY = 30008 +MCC_CONFIGURE_THEATER_VIEW = 30012 +MCC_SET_STATUSTEXT = 30013 +MCC_UPDATE_UI_AFTER_ACTIVE_WINDOW_CHANGE = 30014 +MCC_REENUM_PORTABLE_DEVICES = 30015 +MCC_REENUM_PORTABLE_DEVICES_CONNECTED = 30015 +MCC_PLAY_ADVANCED = 30016 +MCC_UPDATE_STATUS_BAR = 30017 +MCC_REQUEST_PODCAST_UPDATE = 30018 +MCC_REQUEST_PODCAST_PURGE = 30019 +MCC_SHOW_INVALID_CD_VOLUME_WARNING = 30021 +MCC_PLAY_TV_CHANNEL_FOR_CLIENT = 30022 +MCC_STOP_SERVING_TV_FILE = 30023 +MCC_SHOW_DEVICE_PRESENTATION_WEBPAGE = 30024 +MCC_IMAGE_SET_DESKTOP_BACK = 31000 +MCC_IMAGE_ROTATE_LEFT = 31001 +MCC_IMAGE_ROTATE_RIGHT = 31002 +MCC_IMAGE_ROTATE_UPSIDEDOWN = 31003 +MCC_IMAGE_RESIZE = 31004 +MCC_IMAGE_EDIT = 31005 +MCC_IMAGE_DELETE = 31006 +MCC_IMAGE_PREVIEW_SHOW = 31007 +MCC_IMAGE_PREVIEW_HIDE = 31008 +MCC_IMAGE_LOCATE_ON_MAP = 31009 +MCC_QUERY_UI_MODE = 32000 +MCC_GET_SELECTED_FILES = 33000 +MCC_PRINTVIEW = 33001 +MCC_OUTPUT = 33002 +MCC_OUTPUT_ACTIVE_VIEW = 33002 +MCC_SETFOCUS = 33003 +MCC_SELECT_FILES = 33004 +MCC_DOUBLE_CLICK = 33005 +MCC_PLAY_OR_SHOW = 33006 +MCC_SHOW_CURRENT_FILE_FORCE = 33007 +MCC_SHOW_CURRENT_FILE_SELECT = 33007 +MCC_BUY_SELECTED_TRACKS = 33008 +MCC_BUY_ALL_TRACKS = 33009 +MCC_BUY_ALBUM = 33010 +MCC_UPDATE_AFTER_PLUGIN_INSTALLED = 33011 +MCC_UPDATE_AFTER_SKIN_INSTALLED = 33012 +MCC_UPDATE_AFTER_SKIN_INSTALLED_MINIVIEW = 33012 +MCC_NOTIFY_UI_CHANGED = 34000 +MCC_NOTIFY_VIEW_CHANGED = 34001 +MCC_NOTIFY_BEFORE_ACTIVE_VIEW_CHANGED = 34002 +MCC_NOTIFY_ACTIVE_VIEW_CHANGED = 34003 +MCC_NOTIFY_PLAYER_INFO_CHANGED = 34004 +MCC_NOTIFY_TOOLTIPS_CHANGED_ON = 34005 +MCC_NOTIFY_TOOLTIPS_CHANGED_OFF = 34005 +MCC_NOTIFY_OPTIONS_CHANGED = 34006 +MCC_UPDATE = 34007 +MCC_NOTIFY_FOCUS_CHANGED = 34008 +MCC_SAVE_PROPERTIES = 34009 +MCC_NOTIFY_UI_MODE_CHANGED = 34010 +MCC_NOTIFY_SELECTION_CHANGED = 34011 +MCC_NOTIFY_FILE_CHANGED_INVALIDATE_ALL = 34012 +MCC_NOTIFY_FILE_CHANGED = 34012 +MCC_NOTIFY_FILE_STATUS_CHANGED_INVALIDATE_ALL = 34013 +MCC_NOTIFY_FILE_STATUS_CHANGED = 34013 +MCC_NOTIFY_FILE_ENSURE_VISIBLE = 34014 +MCC_NOTIFY_GET_TAB_HWNDS = 34015 +MCC_NOTIFY_BURNER_QUEUE_CHANGED = 34016 +MCC_NOTIFY_BURNER_PROGRESS_CHANGED = 34017 +MCC_NOTIFY_BURNER_STATUS_CHANGED = 34018 +MCC_NOTIFY_BURNER_STARTED = 34019 +MCC_NOTIFY_BURNER_FINISHED_INTERNAL = 34020 +MCC_NOTIFY_BURNER_FINISHED = 34021 +MCC_NOTIFY_BURNER_FAILED_INTERNAL = 34022 +MCC_NOTIFY_BURNER_FAILED = 34023 +MCC_NOTIFY_BURNER_CLOSE_UI = 34024 +MCC_NOTIFY_BURNER_PREPARE_FOR_NEXT_COPY = 34025 +MCC_NOTIFY_RIP_STARTED = 34026 +MCC_NOTIFY_RIP_FINISHED = 34027 +MCC_NOTIFY_RIP_FAILED = 34028 +MCC_NOTIFY_RIP_PROGRESS_CHANGED = 34029 +MCC_NOTIFY_RIP_QUEUE_CHANGED = 34030 +MCC_NOTIFY_DVD_RIP_STARTED = 34031 +MCC_NOTIFY_DVD_RIP_FINISHED = 34032 +MCC_NOTIFY_DVD_RIP_FAILED = 34033 +MCC_NOTIFY_DVD_RIP_PROGRESS_CHANGED = 34034 +MCC_NOTIFY_DOWNLOAD_FINISHED = 34035 +MCC_NOTIFY_DOWNLOAD_FINISHED_UNKNOWN = 34035 +MCC_NOTIFY_DOWNLOAD_FAILED = 34036 +MCC_NOTIFY_DOWNLOAD_FAILED_UNKNOWN = 34036 +MCC_NOTIFY_DOWNLOAD_STATUS_CHANGED = 34037 +MCC_NOTIFY_STATUS_CHECKER_COMPLETE = 34038 +MCC_NOTIFY_CURRENT_ZONE_CHANGED = 34039 +MCC_NOTIFY_DISPLAY_OWNER_CHANGED = 34040 +MCC_NOTIFY_AFTER_FIRST_UPDATE_LAYOUT_WINDOW = 34041 +MCC_NOTIFY_AFTER_FIRST_UPDATE_APPLY_VIEW_STATE = 34042 +MCC_NOTIFY_PROCESS_TIME_REMAINING = 34043 +MCC_NOTIFY_UI_UPDATE_ENABLE_DISABLE_STATES = 34044 +MCC_UPDATE_WINDOW_LAYOUT = 34046 +MCC_NOTIFY_SAVE_UI_BEFORE_SHUTDOWN = 34047 +MCC_NOTIFY_PLAYLIST_FILES_CHANGED = 34049 +MCC_NOTIFY_PLAYLIST_INFO_CHANGED = 34050 +MCC_NOTIFY_PLAYLIST_ADDED_INTERNAL = 34051 +MCC_NOTIFY_PLAYLIST_ADDED_BY_USER = 34052 +MCC_NOTIFY_PLAYLIST_REMOVED = 34053 +MCC_NOTIFY_PLAYLIST_COLLECTION_CHANGED = 34054 +MCC_NOTIFY_PLAYLIST_PROPERTIES_CHANGED = 34055 +MCC_NOTIFY_HANDHELD_UPLOAD_STARTED = 34056 +MCC_NOTIFY_HANDHELD_AFTER_DEVICE_CHANGED = 34057 +MCC_NOTIFY_HANDHELD_QUEUE_CHANGED = 34058 +MCC_NOTIFY_HANDHELD_INFO_COMPLETE = 34059 +MCC_NOTIFY_HANDHELD_AFTER_UPLOAD_FINISHED = 34060 +MCC_NOTIFY_COMPACT_MEMORY = 34061 +MCC_NOTIFY_SEARCH_CHANGED = 34062 +MCC_NOTIFY_SEARCH_CONTEXT_CHANGED = 34063 +MCC_NOTIFY_UPDATE_SHOPPING_CART = 34064 +MCC_NOTIFY_UPDATE_NAVIGATION_TRAIL = 34065 +MCC_NOTIFY_IMPORT_STARTED = 34066 +MCC_NOTIFY_IMPORT_STARTED_SILENT = 34066 +MCC_NOTIFY_IMPORT_FINISHED = 34067 +MCC_NOTIFY_IMPORT_FINISHED_SILENT = 34067 +MCC_NOTIFY_ROTATED_IMAGES = 34068 +MCC_NOTIFY_LOGIN_STATE_CHANGE = 34069 +MCC_NOTIFY_LOGIN_STATE_CHANGE_LOGGED_IN = 34069 +MCC_NOTIFY_MYGAL_PROGRESS = 34070 +MCC_NOTIFY_MYGAL_DONE = 34071 +MCC_NOTIFY_PODCAST_CHANGED = 34072 +MCC_NOTIFY_PODCAST_SETTINGS_CHANGED = 34073 +MCC_NOTIFY_CONVERT_PROGRESS = 34074 +MCC_NOTIFY_CONVERT_UPDATE = 34075 +MCC_NOTIFY_BREADCRUMBS_CHANGED = 34076 +MCC_NOTIFY_INSTALLED_PLUGINS_CHANGED = 34078 +MCC_NOTIFY_SUGGESTED_MUSIC_CHANGED = 34079 +MCC_NOTIFY_VIEW_SETTINGS_CHANGED = 34080 +MCC_NOTIFY_BEFORE_CONFIGURE_VIEW_SETTINGS = 34081 +MCC_NOTIFY_TV_RECORDING_CHANGED = 34082 +MCC_NOTIFY_TV_PROGRAMMING_GUIDE_CHANGED = 34083 +MCC_NOTIFY_TV_CHANNELS_CHANGED = 34084 +MCC_NOTIFY_TV_RECORDING_STARTED = 34085 +MCC_NOTIFY_TV_RECORDING_FINISHED = 34086 +MCC_NOTIFY_IMPORT_FILES_ADDED = 34087 +MCC_NOTIFY_PLAYBACK_OPTIONS_CHANGED = 34088 +MCC_NOTIFY_BEFORE_LAYOUT_USER_INTERFACE = 34089 +MCC_NOTIFY_AFTER_LAYOUT_USER_INTERFACE = 34090 +MCC_NOTIFY_ZONE_ADDED_OR_REMOVED = 34091 +MCC_NOTIFY_ZONE_LINKED_OR_UNLINKED = 34092 +MCC_NOTIFY_LIBRARY_LOCATIONS_CHANGED = 34093 +MCC_NOTIFY_DSP_SETTINGS_CHANGED_IN_CODE = 34094 +MCC_NOTIFY_OPTICAL_DISC_CHANGED = 34095 +MCC_NOTIFY_STORE_DOWNLOAD_STATUS_CHANGED = 34096 +MCC_NOTIFY_CURRENT_PLAYLIST_NEXT_ITEM_TO_PLAY_CHANGED = 34097 +MCC_STORE_DOWNLOAD = 35000 +MCC_STORE_DOWNLOAD_ALLOW_PURCHASE = 35000 +MCC_STORE_PURCHASE = 35001 +MCC_STORE_SEARCH_AMAZON = 35002 +MCC_STORE_SEARCH_AMAZON_MP3_STORE = 35003 +MCC_STORE_TSHIRT = 35004 +MCC_STORE_CHANGE_USER = 35005 +MCC_STORE_CHECK_FOR_DOWNLOADS = 35006 +MCC_UNHANDLED = 0 +MCC_UPDATEUI_ENABLE = 1 +MCC_UPDATEUI_DISABLE = 2 +MCC_UPDATEUI_PRESSED = 4 +MCC_UPDATE_FLAG_THUMBNAILS = 1 << 0 +MCC_UPDATE_FLAG_FILE_PROPERTIES = 1 << 1 +MCC_UPDATE_FLAG_FILE_ADDED_OR_REMOVED = 1 << 2 +MCC_UPDATE_FLAG_TREE_STRUCTURE = 1 << 3 +MCC_UPDATE_FLAG_REFILL_LIST = 1 << 4 +MCC_UPDATE_FLAG_ITEM_DELETED = 1 << 5 +MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE = 1 << 6 +MCC_UPDATE_FLAG_WEB_VIEW = 1 << 7 +MCC_UPDATE_FLAG_ALL = 0x7FFFFFFF & ~MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE +MCC_SETTING_CHANGED_FLAG_UNKNOWN = 1 << 0 +MCC_SETTING_CHANGED_FLAG_COLUMNS = 1 << 1 +MCC_SETTING_CHANGED_FLAG_SORTING = 1 << 2 +MCC_SETTING_CHANGED_FLAG_VIEW_SCHEME = 1 << 3 +MCC_SETTING_CHANGED_FLAG_GROUPING = 1 << 5 +MCC_SETTING_CHANGED_FLAG_LIBRARY_VIEW_SETTINGS = 1 << 6 +MCC_UI_CHANGED_FLAG_FONT = 1 << 0 +MCC_UI_CHANGED_FLAG_SKIN = 1 << 1 +MCC_UI_CHANGED_FLAG_SCALE = 1 << 2 +MCC_UI_CHANGED_FLAG_LANGUAGE = 1 << 3 +MCC_UI_CHANGED_FLAG_USER_CHANGE_SKIN = 1 << 4 +UI_MODE_UNKNOWN = -2000 +UI_MODE_INTERNAL_NO_UI = -1000 +UI_MODE_INTERNAL_STANDARD = 0 +UI_MODE_INTERNAL_MINI_FREEFORM = 1 +UI_MODE_INTERNAL_MINI_SLIM = 2 +UI_MODE_INTERNAL_DISPLAY_WINDOWED = 3 +UI_MODE_INTERNAL_DISPLAY_FULLSCREEN = 4 +UI_MODE_INTERNAL_THEATER = 5 +UI_MODE_INTERNAL_COVER = 6 +UI_MODE_SHORTCUT_TEMPORARY_DISPLAY_WINDOWED = -8 +UI_MODE_SHORTCUT_TOGGLE_DISPLAY_AND_LAST_USER_INPUT_MODE = -7 +UI_MODE_SHORTCUT_TOGGLE_DISPLAY_EXCLUDE_THEATER_VIEW = -6 +UI_MODE_SHORTCUT_TOGGLE_DISPLAY = -5 +UI_MODE_SHORTCUT_LAST_SHUTDOWN = -4 +UI_MODE_SHORTCUT_CURRENT = -3 +UI_MODE_SHORTCUT_CLOSE_DISPLAY = -2 +UI_MODE_SHORTCUT_NEXT = -1 +UI_MODE_STANDARD = 0 +UI_MODE_MINI = 1 +UI_MODE_DISPLAY = 2 +UI_MODE_THEATER = 3 +UI_MODE_COVER = 4 +UI_MODE_COUNT = 5 +PLAYER_INFO_CHANGE_ALL = 0xFFFF +PLAYER_INFO_CHANGE_PLAYER_STATE = 1 << 0 +PLAYER_INFO_CHANGE_VOLUME = 1 << 1 +PLAYER_INFO_CHANGE_FILE_INFO = 1 << 2 +PLAYER_INFO_CHANGE_PLAYLIST = 1 << 3 +PLAYER_INFO_CHANGE_DSP = 1 << 4 +PLAYER_INFO_CHANGE_IMAGE = 1 << 5 +PLAYER_INFO_CHANGE_PLAYING_FILE = 1 << 6 +PLAYER_INFO_CHANGE_OUTPUT_INFO = 1 << 7 +PLAYER_STATUS_CODE_BUFFERING = 0 +PLAYER_STATUS_CODE_LOCATING = 1 +PLAYER_STATUS_CODE_CONNECTING = 2 +PLAYER_STATUS_CODE_DOWNLOADING_CODEC = 3 +PLAYER_STATUS_CODE_ACQUIRING_LICENSE = 4 +PLAYER_STATUS_CODE_INDIVIDUALIZE_STARTING = 5 +PLAYER_STATUS_CODE_INDIVIDUALIZE_CONNECTING = 6 +PLAYER_STATUS_CODE_INDIVIDUALIZE_REQUESTING = 7 +PLAYER_STATUS_CODE_INDIVIDUALIZE_RECEIVING = 8 +PLAYER_STATUS_CODE_INDIVIDUALIZE_COMPLETED = 9 +SHOW_THEATER_VIEW_MODE_INVALID = -1 +SHOW_THEATER_VIEW_MODE_TOGGLE_THEATER_VIEW = 0 +SHOW_THEATER_VIEW_MODE_HOME = 1 +SHOW_THEATER_VIEW_MODE_PLAYING_NOW = 2 +SHOW_THEATER_VIEW_MODE_AUDIO = 3 +SHOW_THEATER_VIEW_MODE_IMAGES = 4 +SHOW_THEATER_VIEW_MODE_VIDEOS = 5 +SHOW_THEATER_VIEW_MODE_PLAYLISTS = 6 +SHOW_THEATER_VIEW_MODE_CD_DVD = 7 +SHOW_THEATER_VIEW_MODE_TELEVISION = 8 +SHOW_THEATER_VIEW_MODE_TELEVISION_GUIDE = 9 +SHOW_THEATER_VIEW_MODE_TELEVISION_RECORDINGS = 10 +SHOW_THEATER_VIEW_MODE_LAST_VIEWED = 11 +GET_SELECTION_EXACT = 0 +GET_SELECTION_ALL_ON_NONE = 1 +GET_SELECTION_ALL_ON_ONE_OR_NONE = 2 +GET_SELECTION_ALL = 3 +GET_SELECTION_EXACT_WITH_POSITION = 4 +SKIP_TO_UNDEFINED = 0 +SKIP_TO_PREVIOUS_ALBUM = 1 +SKIP_TO_NEXT_ALBUM = 2 +SKIP_TO_PREVIOUS_ARTIST = 3 +SKIP_TO_NEXT_ARTIST = 4 + + +COMMANDS = { + 'Play Pause': { + 'code': MCC_PLAY_PAUSE, + 'value': 0, + }, + 'Play': { + 'code': MCC_PLAY, + 'value': 0, + }, + 'Stop': { + 'code': MCC_STOP, + 'value': False, + }, + 'Stop Display Error': { + 'code': MCC_STOP_DISPLAY_ERROR, + 'value': True, + }, + 'Next': { + 'code': MCC_NEXT, + 'value': 1, + }, + 'Next No Chapters': { + 'code': MCC_NEXT_NO_CHAPTERS, + 'value': 2, + }, + 'Previous': { + 'code': MCC_PREVIOUS, + 'value': 2, + }, + 'Shuffle Toggle': { + 'code': MCC_SHUFFLE_TOGGLE, + 'value': 0, + }, + 'Shuffle Jump': { + 'code': MCC_SHUFFLE_JUMP, + 'value': 1, + }, + 'Shuffle No Jump': { + 'code': MCC_SHUFFLE_NO_JUMP, + 'value': 2, + }, + 'Shuffle Set Mode': { + 'code': MCC_SHUFFLE_SET_MODE, + 'value': 5, + }, + 'Continuous Toggle': { + 'code': MCC_CONTINUOUS_TOGGLE, + 'value': 0, + }, + 'Continuous Off': { + 'code': MCC_CONTINUOUS_OFF, + 'value': 1, + }, + 'Continuous Playlist': { + 'code': MCC_CONTINUOUS_PLAYLIST, + 'value': 2, + }, + 'Continuous Song': { + 'code': MCC_CONTINUOUS_SONG, + 'value': 3, + }, + 'Continuous Stop After Each': { + 'code': MCC_CONTINUOUS_STOP_AFTER_EACH, + 'value': 4, + }, + 'Fast Forward': { + 'code': MCC_FAST_FORWARD, + 'value': range(0, 101), + }, + 'Rewind': { + 'code': MCC_REWIND, + 'value': range(0, 101), + }, + 'Stop Conditional': { + 'code': MCC_STOP_CONDITIONAL, + 'value': 0, + }, + 'Set Zone Next': { + 'code': MCC_SET_ZONE_NEXT, + 'value': -1, + }, + 'Set Zone Previous': { + 'code': MCC_SET_ZONE_PREVIOUS, + 'value': -2, + }, + 'Toggle Display': { + 'code': MCC_TOGGLE_DISPLAY, + 'value': False, + }, + 'Toggle Display No Theater View': { + 'code': MCC_TOGGLE_DISPLAY_NO_THEATER_VIEW, + 'value': True, + }, + 'Show Window': { + 'code': MCC_SHOW_WINDOW, + 'value': False, + }, + 'Show Window Now Playing': { + 'code': MCC_SHOW_WINDOW_NOW_PLAYING, + 'value': True, + }, + 'Minimize Window': { + 'code': MCC_MINIMIZE_WINDOW, + 'value': 0, + }, + 'Play Cpl Database Index': { + 'code': MCC_PLAY_CPLDB_INDEX, + 'value': range(0, 101), + }, + 'Show DSP Studio': { + 'code': MCC_SHOW_DSP_STUDIO, + 'value': 0, + }, + 'Volume Mute Toggle': { + 'code': MCC_VOLUME_MUTE_TOGGLE, + 'value': 0, + }, + 'Volume Mute On': { + 'code': MCC_VOLUME_MUTE_ON, + 'value': 1, + }, + 'Volume Mute Off': { + 'code': MCC_VOLUME_MUTE_OFF, + 'value': 2, + }, + 'Volume Up': { + 'code': MCC_VOLUME_UP, + 'value': range(0, 101), + }, + 'Volume Down': { + 'code': MCC_VOLUME_DOWN, + 'value': range(0, 101), + }, + 'Volume Set': { + 'code': MCC_VOLUME_SET, + 'value': range(0, 101), + }, + 'Show Playback Options': { + 'code': MCC_SHOW_PLAYBACK_OPTIONS, + 'value': 0, + }, + 'Set Pause Toggle': { + 'code': MCC_SET_PAUSE_TOGGLE, + 'value': -1, + }, + 'Set Pause On': { + 'code': MCC_SET_PAUSE_ON, + 'value': True, + }, + 'Set Pause Off': { + 'code': MCC_SET_PAUSE_OFF, + 'value': False, + }, + 'Set Currently Playing Rating': { + 'code': MCC_SET_CURRENTLY_PLAYING_RATING, + 'value': range(0, 101), + }, + 'Show Playback Engine Menu': { + 'code': MCC_SHOW_PLAYBACK_ENGINE_MENU, + 'value': 'screen point (loword: x hiword: y) -- must send directly', + }, + 'Play Next Playlist': { + 'code': MCC_PLAY_NEXT_PLAYLIST, + 'value': 0, + }, + 'Play Previous Playlist': { + 'code': MCC_PLAY_PREVIOUS_PLAYLIST, + 'value': 0, + }, + 'Maximize Window': { + 'code': MCC_MAXIMIZE_WINDOW, + 'value': 0, + }, + 'Restore Window': { + 'code': MCC_RESTORE_WINDOW, + 'value': 0, + }, + 'Set Player Status': { + 'code': MCC_SET_PLAYERSTATUS, + 'value': 'PLAYER_STATUS_CODES Code', + }, + 'Set Alternate Playback Settings Toggle': { + 'code': MCC_SET_ALTERNATE_PLAYBACK_SETTINGS_TOGGLE, + 'value': -1, + }, + 'Set Alternate Playback Settings On': { + 'code': MCC_SET_ALTERNATE_PLAYBACK_SETTINGS_ON, + 'value': True, + }, + 'Set Alternate Playback Settings Off': { + 'code': MCC_SET_ALTERNATE_PLAYBACK_SETTINGS_OFF, + 'value': False, + }, + 'Set Preview Mode Settings': { + 'code': MCC_SET_PREVIEW_MODE_SETTINGS, + 'value': ( + 'low 12 bits: int nDurationSeconds' + ' high 12 bits: int nStartSeconds' + ), + }, + 'Show Playback Engine Display Plugin Menu': { + 'code': MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENU, + 'value': 'screen point (loword: x hiword: y) -- must send directly', + }, + 'DVD Menu': { + 'code': MCC_DVD_MENU, + 'value': 0, + }, + 'Seek Forward': { + 'code': MCC_SEEK_FORWARD, + 'value': range(0, 101), + }, + 'Seek Back': { + 'code': MCC_SEEK_BACK, + 'value': range(0, 101), + }, + 'Stop After Current File Toggle': { + 'code': MCC_STOP_AFTER_CURRENT_FILE_TOGGLE, + 'value': -1, + }, + 'Stop After Current File On': { + 'code': MCC_STOP_AFTER_CURRENT_FILE_ON, + 'value': True, + }, + 'Stop After Current File Off': { + 'code': MCC_STOP_AFTER_CURRENT_FILE_OFF, + 'value': False, + }, + 'Detach Display Toggle': { + 'code': MCC_DETACH_DISPLAY_TOGGLE, + 'value': -1, + }, + 'Detach Display On': { + 'code': MCC_DETACH_DISPLAY_ON, + 'value': True, + }, + 'Detach Display Off': { + 'code': MCC_DETACH_DISPLAY_OFF, + 'value': False, + }, + 'Set Mode Zone Specific': { + 'code': MCC_SET_MODE_ZONE_SPECIFIC, + 'value': [ + UI_MODE_STANDARD, + UI_MODE_MINI, + UI_MODE_DISPLAY, + UI_MODE_THEATER, + UI_MODE_COVER, + UI_MODE_COUNT + ], + }, + 'Stop Internal': { + 'code': MCC_STOP_INTERNAL, + 'value': 0, + }, + 'Playing Now Remove Duplicates': { + 'code': MCC_PLAYING_NOW_REMOVE_DUPLICATES, + 'value': 0, + }, + 'Shuffle Remaining': { + 'code': MCC_SHUFFLE_REMAINING, + 'value': 0, + }, + 'Play First File': { + 'code': MCC_PLAY_FIRST_FILE, + 'value': 0, + }, + 'Play Last File': { + 'code': MCC_PLAY_LAST_FILE, + 'value': 0, + }, + 'Play File By String': { + 'code': MCC_PLAY_FILE_BY_STRING, + 'value': 'BSTR bstrFile (deleted by receiver)', + }, + 'Play File Again': { + 'code': MCC_PLAY_FILE_AGAIN, + 'value': 0, + }, + 'Handle Playback Error': { + 'code': MCC_HANDLE_PLAYBACK_ERROR, + 'value': 0, + }, + 'Play Automatic Playlist': { + 'code': MCC_PLAY_AUTOMATIC_PLAYLIST, + 'value': 'BSTR bstrSeed (deleted by receiver)', + }, + 'Seek': { + 'code': MCC_SEEK, + 'value': range(0, 101), + }, + 'Clear Playing Now Zone Specific All': { + 'code': MCC_CLEAR_PLAYING_NOW_ZONE_SPECIFIC_ALL, + 'value': 0, + }, + 'Clear Playing Now Zone Specific Leave Playing': { + 'code': MCC_CLEAR_PLAYING_NOW_ZONE_SPECIFIC_LEAVE_PLAYING, + 'value': 1, + }, + 'Play Radio Last Fm': { + 'code': MCC_PLAY_RADIO_LAST_FM, + 'value': 0, + }, + 'Show On Screen Display': { + 'code': MCC_SHOW_ON_SCREEN_DISPLAY, + 'value': 0, + }, + 'Set Subtitles': { + 'code': MCC_SET_SUBTITLES, + 'value': range(0, 101), + }, + 'Set Subtitles Previous': { + 'code': MCC_SET_SUBTITLES_PREVIOUS, + 'value': -2, + }, + 'Set Subtitles Next': { + 'code': MCC_SET_SUBTITLES_NEXT, + 'value': -1, + }, + 'Set Audio Stream': { + 'code': MCC_SET_AUDIO_STREAM, + 'value': range(0, 101), + }, + 'Set Audio Stream Previous': { + 'code': MCC_SET_AUDIO_STREAM_PREVIOUS, + 'value': -2, + }, + 'Set Audio Stream Next': { + 'code': MCC_SET_AUDIO_STREAM_NEXT, + 'value': -1, + }, + 'Set Video Stream': { + 'code': MCC_SET_VIDEO_STREAM, + 'value': range(0, 101), + }, + 'Set Video Stream Previous': { + 'code': MCC_SET_VIDEO_STREAM_PREVIOUS, + 'value': -2, + }, + 'Set Video Stream Next': { + 'code': MCC_SET_VIDEO_STREAM_NEXT, + 'value': -1, + }, + 'Video Screen Grab Thumbnail': { + 'code': MCC_VIDEO_SCREEN_GRAB_THUMBNAIL, + 'value': 0, + }, + 'Video Screen Grab Save': { + 'code': MCC_VIDEO_SCREEN_GRAB_SAVE, + 'value': 1, + }, + 'Set Volume Mode Application': { + 'code': MCC_SET_VOLUME_MODE_APPLICATION, + 'value': 0, + }, + 'Set Volume Mode Internal': { + 'code': MCC_SET_VOLUME_MODE_INTERNAL, + 'value': 1, + }, + 'Set Volume Mode System': { + 'code': MCC_SET_VOLUME_MODE_SYSTEM, + 'value': 2, + }, + 'Set Volume Mode Disabled': { + 'code': MCC_SET_VOLUME_MODE_DISABLED, + 'value': 3, + }, + 'Restart Playback': { + 'code': MCC_RESTART_PLAYBACK, + 'value': 0, + }, + 'Zone Switch': { + 'code': MCC_ZONE_SWITCH, + 'value': 0, + }, + 'Skip To': { + 'code': MCC_SKIP_TO, + 'value': 'SKIP_TO_MODES Mode', + }, + 'Link Zone': { + 'code': MCC_LINK_ZONE, + 'value': range(0, 101), + }, + 'Unlink Zone': { + 'code': MCC_UNLINK_ZONE, + 'value': 0, + }, + 'Play Radio Media-Net': { + 'code': MCC_PLAY_RADIO_MEDIANET, + 'value': 0, + }, + 'Clear Played Zone Specific': { + 'code': MCC_CLEAR_PLAYED_ZONE_SPECIFIC, + 'value': 0, + }, + 'Open File': { + 'code': MCC_OPEN_FILE, + 'value': 0, + }, + 'Open Url': { + 'code': MCC_OPEN_URL, + 'value': 0, + }, + 'Print List': { + 'code': MCC_PRINT_LIST, + 'value': 0, + }, + 'Export Playlist Active': { + 'code': MCC_EXPORT_PLAYLIST_ACTIVE, + 'value': -1, + }, + 'Export Playlist': { + 'code': MCC_EXPORT_PLAYLIST, + 'value': range(0, 101), + }, + 'Export All Playlist\'s': { + 'code': MCC_EXPORT_ALL_PLAYLISTS, + 'value': False, + }, + 'Export All Playlist\'s Silent': { + 'code': MCC_EXPORT_ALL_PLAYLISTS_SILENT, + 'value': True, + }, + 'Upload Files': { + 'code': MCC_UPLOAD_FILES, + 'value': 0, + }, + 'Email Files': { + 'code': MCC_EMAIL_FILES, + 'value': 0, + }, + 'Exit': { + 'code': MCC_EXIT, + 'value': 0, + }, + 'Exit Close Server': { + 'code': MCC_EXIT_CLOSE_SERVER, + 'value': 1, + }, + 'Exit Allow Server': { + 'code': MCC_EXIT_ALLOW_SERVER, + 'value': 2, + }, + 'Update Library': { + 'code': MCC_UPDATE_LIBRARY, + 'value': 0, + }, + 'Clear Library': { + 'code': MCC_CLEAR_LIBRARY, + 'value': 0, + }, + 'Export Library': { + 'code': MCC_EXPORT_LIBRARY, + 'value': 0, + }, + 'Backup Library': { + 'code': MCC_BACKUP_LIBRARY, + 'value': 0, + }, + 'Backup Library Silent': { + 'code': MCC_BACKUP_LIBRARY_SILENT, + 'value': 1, + }, + 'Restore Library': { + 'code': MCC_RESTORE_LIBRARY, + 'value': 0, + }, + 'Library Manager': { + 'code': MCC_LIBRARY_MANAGER, + 'value': 0, + }, + 'Image AcqUIre': { + 'code': MCC_IMAGE_ACQUIRE, + 'value': 0, + }, + 'Print Images': { + 'code': MCC_PRINT_IMAGES, + 'value': 'MFKEY nKey (-1 for selected files)', + }, + 'Print': { + 'code': MCC_PRINT, + 'value': 0, + }, + 'Import Playlist': { + 'code': MCC_IMPORT_PLAYLIST, + 'value': 0, + }, + 'Load Library': { + 'code': MCC_LOAD_LIBRARY, + 'value': range(0, 101), + }, + 'Sync Library': { + 'code': MCC_SYNC_LIBRARY, + 'value': 0, + }, + 'Email Podcast Feed': { + 'code': MCC_EMAIL_PODCAST_FEED, + 'value': 0, + }, + 'Load Library Read Only': { + 'code': MCC_LOAD_LIBRARY_READ_ONLY, + 'value': range(0, 101), + }, + 'Add Library': { + 'code': MCC_ADD_LIBRARY, + 'value': 0, + }, + 'Export iTunes': { + 'code': MCC_EXPORT_ITUNES, + 'value': 0, + }, + 'Disconnect Library': { + 'code': MCC_DISCONNECT_LIBRARY, + 'value': 0, + }, + 'Sync With Library Server': { + 'code': MCC_SYNC_WITH_LIBRARY_SERVER, + 'value': 0, + }, + 'Stop All Zones': { + 'code': MCC_STOP_ALL_ZONES, + 'value': False, + }, + 'Stop Remote Zones': { + 'code': MCC_STOP_REMOTE_ZONES, + 'value': True, + }, + 'Clone Library': { + 'code': MCC_CLONE_LIBRARY, + 'value': range(0, 101), + }, + 'Open Live': { + 'code': MCC_OPEN_LIVE, + 'value': 0, + }, + 'Copy': { + 'code': MCC_COPY, + 'value': 0, + }, + 'Paste': { + 'code': MCC_PASTE, + 'value': 0, + }, + 'Select All': { + 'code': MCC_SELECT_ALL, + 'value': 0, + }, + 'Select Invert': { + 'code': MCC_SELECT_INVERT, + 'value': 0, + }, + 'Delete': { + 'code': MCC_DELETE, + 'value': False, + }, + 'Delete Aggressive': { + 'code': MCC_DELETE_AGGRESSIVE, + 'value': True, + }, + 'Rename': { + 'code': MCC_RENAME, + 'value': 0, + }, + 'Undo': { + 'code': MCC_UNDO, + 'value': 0, + }, + 'Redo': { + 'code': MCC_REDO, + 'value': 0, + }, + 'Quick Search': { + 'code': MCC_QUICK_SEARCH, + 'value': False, + }, + 'Repeat Search': { + 'code': MCC_REPEAT_SEARCH, + 'value': True, + }, + 'Add Playlist': { + 'code': MCC_ADD_PLAYLIST, + 'value': 'MEDIAFILE_INFO_ARRAY * paryFiles = NULL', + }, + 'Add Smart List': { + 'code': MCC_ADD_SMARTLIST, + 'value': 0, + }, + 'Add Playlist Group': { + 'code': MCC_ADD_PLAYLIST_GROUP, + 'value': 0, + }, + 'Properties': { + 'code': MCC_PROPERTIES, + 'value': ( + 'MEDIAFILE_INFO_ARRAY * paryFiles = NULL (-1 toggles)' + ' (note: never PostMessage(...) a pointer)' + ), + }, + 'Toggle Tagging Mode': { + 'code': MCC_TOGGLE_TAGGING_MODE, + 'value': 0, + }, + 'Cut': { + 'code': MCC_CUT, + 'value': 0, + }, + 'Deselect All': { + 'code': MCC_DESELECT_ALL, + 'value': 0, + }, + 'Delete All': { + 'code': MCC_DELETE_ALL, + 'value': False, + }, + 'Delete All Aggressive': { + 'code': MCC_DELETE_ALL_AGGRESSIVE, + 'value': True, + }, + 'Add Podcast Feed': { + 'code': MCC_ADD_PODCAST_FEED, + 'value': 0, + }, + 'Edit Podcast Feed': { + 'code': MCC_EDIT_PODCAST_FEED, + 'value': 0, + }, + 'Add Podcast Defaults': { + 'code': MCC_ADD_PODCAST_DEFAULTS, + 'value': 0, + }, + 'Create Stock Smart Lists': { + 'code': MCC_CREATE_STOCK_SMARTLISTS, + 'value': 0, + }, + 'Enable Podcast Download': { + 'code': MCC_ENABLE_PODCAST_DOWNLOAD, + 'value': 0, + }, + 'Disable Podcast Download': { + 'code': MCC_DISABLE_PODCAST_DOWNLOAD, + 'value': 0, + }, + 'Edit Playlist': { + 'code': MCC_EDIT_PLAYLIST, + 'value': 0, + }, + 'Edit Playing Now': { + 'code': MCC_EDIT_PLAYING_NOW, + 'value': range(0, 101), + }, + 'Edit Disc Information': { + 'code': MCC_EDIT_DISC_INFORMATION, + 'value': 0, + }, + 'Edit Smart List': { + 'code': MCC_EDIT_SMARTLIST, + 'value': range(0, 101), + }, + 'Refresh Podcast Feed': { + 'code': MCC_REFRESH_PODCAST_FEED, + 'value': 0, + }, + 'Lookup Movie Information': { + 'code': MCC_LOOKUP_MOVIE_INFORMATION, + 'value': 0, + }, + 'Add Zone': { + 'code': MCC_ADD_ZONE, + 'value': 0, + }, + 'Add Automatic Playlist': { + 'code': MCC_ADD_AUTOMATIC_PLAYLIST, + 'value': 0, + }, + 'Set Write Tags Toggle': { + 'code': MCC_SET_WRITE_TAGS_TOGGLE, + 'value': -1, + }, + 'Set Write Tags On': { + 'code': MCC_SET_WRITE_TAGS_ON, + 'value': True, + }, + 'Set Write Tags Off': { + 'code': MCC_SET_WRITE_TAGS_OFF, + 'value': False, + }, + 'Paste Tags': { + 'code': MCC_PASTE_TAGS, + 'value': 0, + }, + 'Shuffle Selection': { + 'code': MCC_SHUFFLE_SELECTION, + 'value': 0, + }, + 'Toggle Mode': { + 'code': MCC_TOGGLE_MODE, + 'value': [ + UI_MODE_STANDARD, + UI_MODE_MINI, + UI_MODE_DISPLAY, + UI_MODE_THEATER, + UI_MODE_COVER, + UI_MODE_COUNT + ], + }, + 'Toggle Mode Next': { + 'code': MCC_TOGGLE_MODE_NEXT, + 'value': -1, + }, + 'Theater View': { + 'code': MCC_THEATER_VIEW, + 'value': 'SHOW_THEATER_VIEW_MODES Mode', + }, + 'Party Mode': { + 'code': MCC_PARTY_MODE, + 'value': 0, + }, + 'Show Tree Root': { + 'code': MCC_SHOW_TREE_ROOT, + 'value': range(0, 101), + }, + 'Find Media': { + 'code': MCC_FIND_MEDIA, + 'value': ( + 'wchar * pstrSearch (note: memory will be deleted by receiver)' + ), + }, + 'Back': { + 'code': MCC_BACK, + 'value': range(0, 101), + }, + 'Forward': { + 'code': MCC_FORWARD, + 'value': range(0, 101), + }, + 'Refresh': { + 'code': MCC_REFRESH, + 'value': 'int nFlags (1: no web page refresh)', + }, + 'Set List Style': { + 'code': MCC_SET_LIST_STYLE, + 'value': range(0, 101), + }, + 'Set List Style Toggle': { + 'code': MCC_SET_LIST_STYLE_TOGGLE, + 'value': -1, + }, + 'Set Mode': { + 'code': MCC_SET_MODE, + 'value': [ + UI_MODE_STANDARD, + UI_MODE_MINI, + UI_MODE_DISPLAY, + UI_MODE_THEATER, + UI_MODE_COVER, + UI_MODE_COUNT + ], + }, + 'Show Recently Imported': { + 'code': MCC_SHOW_RECENTLYIMPORTED, + 'value': 0, + }, + 'Show Top Hits': { + 'code': MCC_SHOW_TOPHITS, + 'value': 0, + }, + 'Show Recently Played': { + 'code': MCC_SHOW_RECENTLYPLAYED, + 'value': 0, + }, + 'Set Media Mode': { + 'code': MCC_SET_MEDIA_MODE, + 'value': range(0, 101), + }, + 'Set Server Mode On': { + 'code': MCC_SET_SERVER_MODE_ON, + 'value': True, + }, + 'Set Server Mode Off': { + 'code': MCC_SET_SERVER_MODE_OFF, + 'value': False, + }, + 'Set Mode For External Program Starting': { + 'code': MCC_SET_MODE_FOR_EXTERNAL_PROGRAM_STARTING, + 'value': 0, + }, + 'Set Mode For External Program Ending': { + 'code': MCC_SET_MODE_FOR_EXTERNAL_PROGRAM_ENDING, + 'value': 1, + }, + 'Set Mode For Second Instance Launch': { + 'code': MCC_SET_MODE_FOR_SECOND_INSTANCE_LAUNCH, + 'value': [ + UI_MODE_STANDARD, + UI_MODE_MINI, + UI_MODE_DISPLAY, + UI_MODE_THEATER, + UI_MODE_COVER, + UI_MODE_COUNT + ], + }, + 'Home': { + 'code': MCC_HOME, + 'value': 0, + }, + 'Rollup View Header Toggle': { + 'code': MCC_ROLLUP_VIEW_HEADER_TOGGLE, + 'value': -1, + }, + 'Rollup View Header On': { + 'code': MCC_ROLLUP_VIEW_HEADER_ON, + 'value': True, + }, + 'Rollup View Header Off': { + 'code': MCC_ROLLUP_VIEW_HEADER_OFF, + 'value': False, + }, + 'Focus Search Control': { + 'code': MCC_FOCUS_SEARCH_CONTROL, + 'value': 0, + }, + 'Set Active View Key Toggle': { + 'code': MCC_SET_ACTIVE_VIEW_KEY_TOGGLE, + 'value': -1, + }, + 'Set Active View Key Toggle Back': { + 'code': MCC_SET_ACTIVE_VIEW_KEY_TOGGLE_BACK, + 'value': -2, + }, + 'Set Active View Key New': { + 'code': MCC_SET_ACTIVE_VIEW_KEY_NEW, + 'value': -3, + }, + 'Set Active View Key': { + 'code': MCC_SET_ACTIVE_VIEW_KEY, + 'value': range(0, 101), + }, + 'Close View Key': { + 'code': MCC_CLOSE_VIEW_KEY, + 'value': range(0, 101), + }, + 'Close View Key Current': { + 'code': MCC_CLOSE_VIEW_KEY_CURRENT, + 'value': -1, + }, + 'View Zoom Set': { + 'code': MCC_VIEW_ZOOM_SET, + 'value': range(0, 101), + }, + 'View Zoom Increment': { + 'code': MCC_VIEW_ZOOM_INCREMENT, + 'value': range(0, 101), + }, + 'Find Media With Wizard': { + 'code': MCC_FIND_MEDIA_WITH_WIZARD, + 'value': 0, + }, + 'Set User': { + 'code': MCC_SET_USER, + 'value': range(0, 101), + }, + 'Show Tree Toggle': { + 'code': MCC_SHOW_TREE_TOGGLE, + 'value': -1, + }, + 'Show Tree On': { + 'code': MCC_SHOW_TREE_ON, + 'value': True, + }, + 'Show Tree Off': { + 'code': MCC_SHOW_TREE_OFF, + 'value': False, + }, + 'Set Tooltips Toggle': { + 'code': MCC_SET_TOOLTIPS_TOGGLE, + 'value': -1, + }, + 'Set Tooltips On': { + 'code': MCC_SET_TOOLTIPS_ON, + 'value': True, + }, + 'Set Tooltips Off': { + 'code': MCC_SET_TOOLTIPS_OFF, + 'value': False, + }, + 'Audio Only Mode Toggle': { + 'code': MCC_AUDIO_ONLY_MODE_TOGGLE, + 'value': -1, + }, + 'Audio Only Mode On': { + 'code': MCC_AUDIO_ONLY_MODE_ON, + 'value': True, + }, + 'Audio Only Mode Off': { + 'code': MCC_AUDIO_ONLY_MODE_OFF, + 'value': False, + }, + 'Import Disable Running Warning': { + 'code': MCC_IMPORT_DISABLE_RUNNING_WARNING, + 'value': 1, + }, + 'Import First Import Mode': { + 'code': MCC_IMPORT_FIRST_IMPORT_MODE, + 'value': 2, + }, + 'Rip CD': { + 'code': MCC_RIP_CD, + 'value': 0, + }, + 'Burn': { + 'code': MCC_BURN, + 'value': 0, + }, + 'Record Audio': { + 'code': MCC_RECORD_AUDIO, + 'value': 0, + }, + 'Convert': { + 'code': MCC_CONVERT, + 'value': 0, + }, + 'Analyze Audio': { + 'code': MCC_ANALYZE_AUDIO, + 'value': 0, + }, + 'Media Editor': { + 'code': MCC_MEDIA_EDITOR, + 'value': 0, + }, + 'CD Labeler': { + 'code': MCC_CD_LABELER, + 'value': 0, + }, + 'Skin Manager': { + 'code': MCC_SKIN_MANAGER, + 'value': 0, + }, + 'Options': { + 'code': MCC_OPTIONS, + 'value': range(0, 101), + }, + 'Rename CD Files': { + 'code': MCC_RENAME_CD_FILES, + 'value': 0, + }, + 'Handheld Upload': { + 'code': MCC_HANDHELD_UPLOAD, + 'value': ( + 'loword: nDeviceSessionID (0 gets default) ' + 'hiword: flags (1: sync only; 2: show warnings)' + ), + }, + 'Handheld Update Upload Worker Finished': { + 'code': MCC_HANDHELD_UPDATE_UPLOAD_WORKER_FINISHED, + 'value': range(0, 101), + }, + 'Handheld Close Device': { + 'code': MCC_HANDHELD_CLOSE_DEVICE, + 'value': range(0, 101), + }, + 'Handheld Show Options': { + 'code': MCC_HANDHELD_SHOW_OPTIONS, + 'value': range(0, 101), + }, + 'Handheld Info Dump On': { + 'code': MCC_HANDHELD_INFO_DUMP_ON, + 'value': True, + }, + 'Handheld Info Dump Off': { + 'code': MCC_HANDHELD_INFO_DUMP_OFF, + 'value': False, + }, + 'Import Auto Run Now': { + 'code': MCC_IMPORT_AUTO_RUN_NOW, + 'value': False, + }, + 'Import Auto Run Now Silent': { + 'code': MCC_IMPORT_AUTO_RUN_NOW_SILENT, + 'value': True, + }, + 'Import Auto Configure': { + 'code': MCC_IMPORT_AUTO_CONFIGURE, + 'value': 0, + }, + 'Handheld Eject': { + 'code': MCC_HANDHELD_EJECT, + 'value': range(0, 101), + }, + 'Record TV': { + 'code': MCC_RECORD_TV, + 'value': 0, + }, + 'Find And Replace': { + 'code': MCC_FIND_AND_REPLACE, + 'value': 0, + }, + 'Clean Properties': { + 'code': MCC_CLEAN_PROPERTIES, + 'value': 0, + }, + 'Fill Track Order': { + 'code': MCC_FILL_TRACK_ORDER, + 'value': 0, + }, + 'Move Copy Fields': { + 'code': MCC_MOVE_COPY_FIELDS, + 'value': 0, + }, + 'Remove Tags': { + 'code': MCC_REMOVE_TAGS, + 'value': 0, + }, + 'Update Tags From Database': { + 'code': MCC_UPDATE_TAGS_FROM_DB, + 'value': 0, + }, + 'Update Db From Tags': { + 'code': MCC_UPDATE_DB_FROM_TAGS, + 'value': 0, + }, + 'Lookup Track Info From Internet': { + 'code': MCC_LOOKUP_TRACK_INFO_FROM_INTERNET, + 'value': 0, + }, + 'Submit Track Info To Internet': { + 'code': MCC_SUBMIT_TRACK_INFO_TO_INTERNET, + 'value': 0, + }, + 'Fill Properties From Filename': { + 'code': MCC_FILL_PROPERTIES_FROM_FILENAME, + 'value': 0, + }, + 'Rename Files From Properties': { + 'code': MCC_RENAME_FILES_FROM_PROPERTIES, + 'value': 0, + }, + 'Cover Art Add From File': { + 'code': MCC_COVER_ART_ADD_FROM_FILE, + 'value': 0, + }, + 'Cover Art Quick Add From File': { + 'code': MCC_COVER_ART_QUICK_ADD_FROM_FILE, + 'value': 0, + }, + 'Cover Art Get From Internet': { + 'code': MCC_COVER_ART_GET_FROM_INTERNET, + 'value': 0, + }, + 'Cover Art Submit To Internet': { + 'code': MCC_COVER_ART_SUBMIT_TO_INTERNET, + 'value': 0, + }, + 'Cover Art Get From Scanner': { + 'code': MCC_COVER_ART_GET_FROM_SCANNER, + 'value': 0, + }, + 'Cover Art Select Scanner': { + 'code': MCC_COVER_ART_SELECT_SCANNER, + 'value': 0, + }, + 'Cover Art Get From Clipboard': { + 'code': MCC_COVER_ART_GET_FROM_CLIPBOARD, + 'value': 0, + }, + 'Cover Art Copy To Clipboard': { + 'code': MCC_COVER_ART_COPY_TO_CLIPBOARD, + 'value': 0, + }, + 'Cover Art Remove': { + 'code': MCC_COVER_ART_REMOVE, + 'value': 0, + }, + 'Cover Art Play': { + 'code': MCC_COVER_ART_PLAY, + 'value': 0, + }, + 'Cover Art Save To External File': { + 'code': MCC_COVER_ART_SAVE_TO_EXTERNAL_FILE, + 'value': 0, + }, + 'Cover Art Rebuild Thumbnail': { + 'code': MCC_COVER_ART_REBUILD_THUMBNAIL, + 'value': 0, + }, + 'Ring Tone': { + 'code': MCC_RINGTONE, + 'value': 0, + }, + 'Audio Calibration': { + 'code': MCC_AUDIO_CALIBRATION, + 'value': 0, + }, + 'Mark Played': { + 'code': MCC_MARK_PLAYED, + 'value': 0, + }, + 'Mark Not Played': { + 'code': MCC_MARK_NOT_PLAYED, + 'value': 0, + }, + 'Link Tracks': { + 'code': MCC_LINK_TRACKS, + 'value': 0, + }, + 'Break Track Links': { + 'code': MCC_BREAK_TRACK_LINKS, + 'value': 0, + }, + 'Help Contents': { + 'code': MCC_HELP_CONTENTS, + 'value': 0, + }, + 'Help How-to Import Files': { + 'code': MCC_HELP_HOWTO_IMPORT_FILES, + 'value': 0, + }, + 'Help How-to Play Files': { + 'code': MCC_HELP_HOWTO_PLAY_FILES, + 'value': 0, + }, + 'Help How-to Rip': { + 'code': MCC_HELP_HOWTO_RIP, + 'value': 0, + }, + 'Help How-to Burn': { + 'code': MCC_HELP_HOWTO_BURN, + 'value': 0, + }, + 'Help How-to Organize Files': { + 'code': MCC_HELP_HOWTO_ORGANIZE_FILES, + 'value': 0, + }, + 'Help How-to View Schemes': { + 'code': MCC_HELP_HOWTO_VIEW_SCHEMES, + 'value': 0, + }, + 'Help How-to Manage Playlist': { + 'code': MCC_HELP_HOWTO_MANAGE_PLAYLISTS, + 'value': 0, + }, + 'Help How-to Edit Properties': { + 'code': MCC_HELP_HOWTO_EDIT_PROPERTIES, + 'value': 0, + }, + 'Help How-to Find': { + 'code': MCC_HELP_HOWTO_FIND, + 'value': 0, + }, + 'Help How-to Configure': { + 'code': MCC_HELP_HOWTO_CONFIGURE, + 'value': 0, + }, + 'Check For Updates': { + 'code': MCC_CHECK_FOR_UPDATES, + 'value': 0, + }, + 'Buy': { + 'code': MCC_BUY, + 'value': 0, + }, + 'Install License': { + 'code': MCC_INSTALL_LICENSE, + 'value': 0, + }, + 'Registration Info': { + 'code': MCC_REGISTRATION_INFO, + 'value': 0, + }, + 'Plus Features': { + 'code': MCC_PLUS_FEATURES, + 'value': 0, + }, + 'Interact': { + 'code': MCC_INTERACT, + 'value': 0, + }, + 'System Info': { + 'code': MCC_SYSTEM_INFO, + 'value': 0, + }, + 'About': { + 'code': MCC_ABOUT, + 'value': 0, + }, + 'Configure Debug Logging': { + 'code': MCC_CONFIGURE_DEBUG_LOGGING, + 'value': 0, + }, + 'Wiki': { + 'code': MCC_WIKI, + 'value': 0, + }, + 'Test': { + 'code': MCC_TEST, + 'value': 0, + }, + 'Show Eula': { + 'code': MCC_SHOW_EULA, + 'value': 0, + }, + 'Benchmark': { + 'code': MCC_BENCHMARK, + 'value': 0, + }, + 'Upgrade To Master License': { + 'code': MCC_UPGRADE_TO_MASTER_LICENSE, + 'value': 0, + }, + 'Add View Scheme': { + 'code': MCC_ADD_VIEW_SCHEME, + 'value': 0, + }, + 'Edit View Scheme': { + 'code': MCC_EDIT_VIEW_SCHEME, + 'value': 0, + }, + 'Tree Add Directory': { + 'code': MCC_TREE_ADD_DIRECTORY, + 'value': 0, + }, + 'Tree Import': { + 'code': MCC_TREE_IMPORT, + 'value': 0, + }, + 'Tree Add CD Folder': { + 'code': MCC_TREE_ADD_CD_FOLDER, + 'value': 0, + }, + 'Update From CD Database': { + 'code': MCC_UPDATE_FROM_CD_DATABASE, + 'value': 0, + }, + 'Submit To CD Database': { + 'code': MCC_SUBMIT_TO_CD_DATABASE, + 'value': 0, + }, + 'Tree Rip': { + 'code': MCC_TREE_RIP, + 'value': 0, + }, + 'Clear Playing Now': { + 'code': MCC_CLEAR_PLAYING_NOW, + 'value': 0, + }, + 'Clear Playing Now Leave Playing': { + 'code': MCC_CLEAR_PLAYING_NOW_LEAVE_PLAYING, + 'value': 1, + }, + 'Copy Listening To': { + 'code': MCC_COPY_LISTENING_TO, + 'value': False, + }, + 'Copy Listening To Paste': { + 'code': MCC_COPY_LISTENING_TO_PASTE, + 'value': True, + }, + 'Tree Set Expanded': { + 'code': MCC_TREE_SET_EXPANDED, + 'value': 1, + }, + 'Tree Set Collapsed': { + 'code': MCC_TREE_SET_COLLAPSED, + 'value': 0, + }, + 'Reset View Schemes': { + 'code': MCC_RESET_VIEW_SCHEMES, + 'value': 0, + }, + 'Tree Erase CD DVD': { + 'code': MCC_TREE_ERASE_CD_DVD, + 'value': 0, + }, + 'Update From CD Player INI': { + 'code': MCC_UPDATE_FROM_CDPLAYER_INI, + 'value': 0, + }, + 'Tree Eject': { + 'code': MCC_TREE_EJECT, + 'value': 0, + }, + 'Tree Add Virtual Device': { + 'code': MCC_TREE_ADD_VIRTUAL_DEVICE, + 'value': 0, + }, + 'Tree Rename Playlist': { + 'code': MCC_TREE_RENAME_PLAYLIST, + 'value': range(0, 101), + }, + 'Twitter Listening To': { + 'code': MCC_TWITTER_LISTENING_TO, + 'value': 0, + }, + 'Scrobble Listening To': { + 'code': MCC_SCROBBLE_LISTENING_TO, + 'value': 0, + }, + 'List Update Order': { + 'code': MCC_LIST_UPDATE_ORDER, + 'value': 0, + }, + 'List Shuffle Order': { + 'code': MCC_LIST_SHUFFLE_ORDER, + 'value': 0, + }, + 'List Import': { + 'code': MCC_LIST_IMPORT, + 'value': 0, + }, + 'List Remove Order': { + 'code': MCC_LIST_REMOVE_ORDER, + 'value': 0, + }, + 'Locate File Disk Internal': { + 'code': MCC_LOCATE_FILE_DISK_INTERNAL, + 'value': -1, + }, + 'Locate File Disk External': { + 'code': MCC_LOCATE_FILE_DISK_EXTERNAL, + 'value': -2, + }, + 'Locate File': { + 'code': MCC_LOCATE_FILE, + 'value': range(0, 101), + }, + 'List Increment Selection': { + 'code': MCC_LIST_INCREMENT_SELECTION, + 'value': range(0, 101), + }, + 'List Remove Duplicates': { + 'code': MCC_LIST_REMOVE_DUPLICATES, + 'value': 0, + }, + 'List Auto Size Column': { + 'code': MCC_LIST_AUTO_SIZE_COLUMN, + 'value': range(0, 101), + }, + 'List Auto Size Column All': { + 'code': MCC_LIST_AUTO_SIZE_COLUMN_ALL, + 'value': -1, + }, + 'List Customize View': { + 'code': MCC_LIST_CUSTOMIZE_VIEW, + 'value': 0, + }, + 'List Copy Disk Files': { + 'code': MCC_LIST_COPY_DISK_FILES, + 'value': 0, + }, + 'List Set Rip Check Toggle': { + 'code': MCC_LIST_SET_RIP_CHECK_TOGGLE, + 'value': -1, + }, + 'List Set Rip Check On': { + 'code': MCC_LIST_SET_RIP_CHECK_ON, + 'value': 1, + }, + 'List Set Rip Check Off': { + 'code': MCC_LIST_SET_RIP_CHECK_OFF, + 'value': 0, + }, + 'List Download': { + 'code': MCC_LIST_DOWNLOAD, + 'value': 0, + }, + 'List Get List Pointer': { + 'code': MCC_LIST_GET_LIST_POINTER, + 'value': 0, + }, + 'Locate Stack': { + 'code': MCC_LOCATE_STACK, + 'value': 0, + }, + 'Set As Stack Top': { + 'code': MCC_SET_AS_STACK_TOP, + 'value': 0, + }, + 'Expand Stack': { + 'code': MCC_EXPAND_STACK, + 'value': 0, + }, + 'Collapse Stack': { + 'code': MCC_COLLAPSE_STACK, + 'value': 0, + }, + 'Auto Stack Name': { + 'code': MCC_AUTOSTACK_NAME, + 'value': 0, + }, + 'Auto Stack Artist Album Name': { + 'code': MCC_AUTOSTACK_ARTIST_ALBUM_NAME, + 'value': 1, + }, + 'Auto Stack Artist Album Track': { + 'code': MCC_AUTOSTACK_ARTIST_ALBUM_TRACK, + 'value': 2, + }, + 'Check Stacks': { + 'code': MCC_CHECK_STACKS, + 'value': 0, + }, + 'Stack': { + 'code': MCC_STACK, + 'value': range(0, 101), + }, + 'Unstack': { + 'code': MCC_UNSTACK, + 'value': 0, + }, + 'Add To Stack': { + 'code': MCC_ADD_TO_STACK, + 'value': 0, + }, + 'Pane Reset Selection': { + 'code': MCC_PANE_RESET_SELECTION, + 'value': range(0, 101), + }, + 'Pane Reset Selection All': { + 'code': MCC_PANE_RESET_SELECTION_ALL, + 'value': -1, + }, + 'List Remove All': { + 'code': MCC_LIST_REMOVE_ALL, + 'value': 0, + }, + 'List Lock Toggle': { + 'code': MCC_LIST_LOCK_TOGGLE, + 'value': -1, + }, + 'List Lock On': { + 'code': MCC_LIST_LOCK_ON, + 'value': True, + }, + 'List Lock Off': { + 'code': MCC_LIST_LOCK_OFF, + 'value': False, + }, + 'Pane Set Expanded': { + 'code': MCC_PANE_SET_EXPANDED, + 'value': 'loword: nPaneIndex hiword: 0: collapsed; 1: expanded', + }, + 'Keystroke': { + 'code': MCC_KEYSTROKE, + 'value': range(0, 101), + }, + 'PC Shutdown': { + 'code': MCC_PC_SHUTDOWN, + 'value': 0, + }, + 'PC Hibernate': { + 'code': MCC_PC_HIBERNATE, + 'value': 2, + }, + 'PC Sleep': { + 'code': MCC_PC_SLEEP, + 'value': 1, + }, + 'PC Restart': { + 'code': MCC_PC_RESTART, + 'value': 3, + }, + 'Playback Engine Zoom In': { + 'code': MCC_PLAYBACK_ENGINE_ZOOM_IN, + 'value': 0, + }, + 'Playback Engine Zoom Out': { + 'code': MCC_PLAYBACK_ENGINE_ZOOM_OUT, + 'value': 0, + }, + 'Playback Engine Up': { + 'code': MCC_PLAYBACK_ENGINE_UP, + 'value': 0, + }, + 'Playback Engine Down': { + 'code': MCC_PLAYBACK_ENGINE_DOWN, + 'value': 0, + }, + 'Playback Engine Left': { + 'code': MCC_PLAYBACK_ENGINE_LEFT, + 'value': 0, + }, + 'Playback Engine Right': { + 'code': MCC_PLAYBACK_ENGINE_RIGHT, + 'value': 0, + }, + 'Playback Engine Enter': { + 'code': MCC_PLAYBACK_ENGINE_ENTER, + 'value': 0, + }, + 'Playback Engine First': { + 'code': MCC_PLAYBACK_ENGINE_FIRST, + 'value': 0, + }, + 'Playback Engine Last': { + 'code': MCC_PLAYBACK_ENGINE_LAST, + 'value': 0, + }, + 'Playback Engine Next': { + 'code': MCC_PLAYBACK_ENGINE_NEXT, + 'value': 0, + }, + 'Playback Engine Previous': { + 'code': MCC_PLAYBACK_ENGINE_PREVIOUS, + 'value': 0, + }, + 'Playback Engine Pause Toggle': { + 'code': MCC_PLAYBACK_ENGINE_PAUSE_TOGGLE, + 'value': -1, + }, + 'Playback Engine Pause On': { + 'code': MCC_PLAYBACK_ENGINE_PAUSE_ON, + 'value': True, + }, + 'Playback Engine Pause Off': { + 'code': MCC_PLAYBACK_ENGINE_PAUSE_OFF, + 'value': False, + }, + 'Image Pan And Zoom Toggle': { + 'code': MCC_IMAGE_PAN_AND_ZOOM_TOGGLE, + 'value': -1, + }, + 'Image Pan And Zoom On': { + 'code': MCC_IMAGE_PAN_AND_ZOOM_ON, + 'value': True, + }, + 'Image Pan And Zoom Off': { + 'code': MCC_IMAGE_PAN_AND_ZOOM_OFF, + 'value': False, + }, + 'Image Toggle Effect': { + 'code': MCC_IMAGE_TOGGLE_EFFECT, + 'value': range(0, 101), + }, + 'Image Rapid Zoom': { + 'code': MCC_IMAGE_RAPID_ZOOM, + 'value': range(0, 101), + }, + 'DVD Set Audio Stream Toggle': { + 'code': MCC_DVD_SET_AUDIO_STREAM_TOGGLE, + 'value': -1, + }, + 'DVD Set Audio Stream': { + 'code': MCC_DVD_SET_AUDIO_STREAM, + 'value': range(0, 101), + }, + 'DVD Show Menu': { + 'code': MCC_DVD_SHOW_MENU, + 'value': 0, + }, + 'TV Record': { + 'code': MCC_TV_RECORD, + 'value': 0, + }, + 'TV Snapshot': { + 'code': MCC_TV_SNAPSHOT, + 'value': 0, + }, + 'TV Change Standard': { + 'code': MCC_TV_CHANGE_STANDARD, + 'value': 0, + }, + 'Playback Engine OSD Video Process Amp': { + 'code': MCC_PLAYBACK_ENGINE_OSD_VIDEO_PROC_AMP, + 'value': ( + 'int nIndex (0 for brightness 1 for contrast etc. -1 cycles)' + ), + }, + 'Playback Engine Set Current Video Process Amp': { + 'code': MCC_PLAYBACK_ENGINE_SET_CUR_VIDEO_PROC_AMP, + 'value': ( + 'int nStep (... -2 -1 1 2 etc.' + ' 0 is invalid and will default to 1)' + ), + }, + 'Playback Engine Set Aspect Ratio Toggle': { + 'code': MCC_PLAYBACK_ENGINE_SET_ASPECT_RATIO_TOGGLE, + 'value': -1, + }, + 'Playback Engine Set Aspect Ratio': { + 'code': MCC_PLAYBACK_ENGINE_SET_ASPECT_RATIO, + 'value': range(0, 101), + }, + 'Playback Engine Scroll Up': { + 'code': MCC_PLAYBACK_ENGINE_SCROLL_UP, + 'value': 0, + }, + 'Playback Engine Scroll Down': { + 'code': MCC_PLAYBACK_ENGINE_SCROLL_DOWN, + 'value': 0, + }, + 'Playback Engine Scroll Left': { + 'code': MCC_PLAYBACK_ENGINE_SCROLL_LEFT, + 'value': 0, + }, + 'Playback Engine Scroll Right': { + 'code': MCC_PLAYBACK_ENGINE_SCROLL_RIGHT, + 'value': 0, + }, + 'TV Set Save Time Shifting Increase': { + 'code': MCC_TV_SET_SAVE_TIME_SHIFTING_INCREASE, + 'value': -1, + }, + 'TV Set Save Time Shifting Decrease': { + 'code': MCC_TV_SET_SAVE_TIME_SHIFTING_DECREASE, + 'value': -2, + }, + 'TV Set Save Time Shifting': { + 'code': MCC_TV_SET_SAVE_TIME_SHIFTING, + 'value': range(0, 101), + }, + 'Playback Engine Zoom To Preset Fit': { + 'code': MCC_PLAYBACK_ENGINE_ZOOM_TO_PRESET_FIT, + 'value': 0, + }, + 'Playback Engine Zoom To Preset 100': { + 'code': MCC_PLAYBACK_ENGINE_ZOOM_TO_PRESET_100, + 'value': 1, + }, + 'Playback Engine Zoom To Preset 200': { + 'code': MCC_PLAYBACK_ENGINE_ZOOM_TO_PRESET_200, + 'value': 2, + }, + 'TV Scan Programming Events': { + 'code': MCC_TV_SCAN_PROGRAMMING_EVENTS, + 'value': 0, + }, + 'TV Change Channel Key': { + 'code': MCC_TV_CHANGE_CHANNEL_KEY, + 'value': range(0, 101), + }, + 'TV Play Channel Position': { + 'code': MCC_TV_PLAY_CHANNEL_POSITION, + 'value': range(0, 101), + }, + 'Playback Engine Set Subtitles Next': { + 'code': MCC_PLAYBACK_ENGINE_SET_SUBTITLES_NEXT, + 'value': -1, + }, + 'Playback Engine Set Subtitles Previous': { + 'code': MCC_PLAYBACK_ENGINE_SET_SUBTITLES_PREVIOUS, + 'value': -2, + }, + 'Playback Engine Set Subtitles': { + 'code': MCC_PLAYBACK_ENGINE_SET_SUBTITLES, + 'value': range(0, 101), + }, + 'Playback Engine Set Audio Stream Next': { + 'code': MCC_PLAYBACK_ENGINE_SET_AUDIO_STREAM_NEXT, + 'value': -1, + }, + 'Playback Engine Set Audio Stream Previous': { + 'code': MCC_PLAYBACK_ENGINE_SET_AUDIO_STREAM_PREVIOUS, + 'value': -2, + }, + 'Playback Engine Set Audio Stream': { + 'code': MCC_PLAYBACK_ENGINE_SET_AUDIO_STREAM, + 'value': range(0, 101), + }, + 'Playback Engine Set Video Stream Next': { + 'code': MCC_PLAYBACK_ENGINE_SET_VIDEO_STREAM_NEXT, + 'value': -1, + }, + 'Playback Engine Set Video Stream Previous': { + 'code': MCC_PLAYBACK_ENGINE_SET_VIDEO_STREAM_PREVIOUS, + 'value': -2, + }, + 'Playback Engine Set Video Stream': { + 'code': MCC_PLAYBACK_ENGINE_SET_VIDEO_STREAM, + 'value': range(0, 101), + }, + 'Playback Engine Video Screen Grab Thumbnail': { + 'code': MCC_PLAYBACK_ENGINE_VIDEO_SCREEN_GRAB_THUMBNAIL, + 'value': 0, + }, + 'Playback Engine Video Screen Grab Save': { + 'code': MCC_PLAYBACK_ENGINE_VIDEO_SCREEN_GRAB_SAVE, + 'value': 1, + }, + 'Playback Engine Video Lip-sync': { + 'code': MCC_PLAYBACK_ENGINE_VIDEO_LIPSYNC, + 'value': range(0, 101), + }, + 'Playback Engine Set Subtitle Timing': { + 'code': MCC_PLAYBACK_ENGINE_SET_SUBTITLE_TIMING, + 'value': range(0, 101), + }, + 'Reload MC View': { + 'code': MCC_RELOAD_MC_VIEW, + 'value': 0, + }, + 'Customize Toolbar': { + 'code': MCC_CUSTOMIZE_TOOLBAR, + 'value': 0, + }, + 'Play TV': { + 'code': MCC_PLAY_TV, + 'value': range(0, 101), + }, + 'Update Web Pages': { + 'code': MCC_UPDATE_WEBPAGES, + 'value': 0, + }, + 'Show Running Mc On': { + 'code': MCC_SHOW_RUNNING_MC_ON, + 'value': True, + }, + 'Show Running Mc Off': { + 'code': MCC_SHOW_RUNNING_MC_OFF, + 'value': False, + }, + 'Show Menu': { + 'code': MCC_SHOW_MENU, + 'value': range(0, 101), + }, + 'Tune TV': { + 'code': MCC_TUNE_TV, + 'value': 0, + }, + 'Play Playlist': { + 'code': MCC_PLAY_PLAYLIST, + 'value': range(0, 101), + }, + 'Sendto Tool Labeler': { + 'code': MCC_SENDTO_TOOL_LABELER, + 'value': 0, + }, + 'Sendto Tool Media Editor': { + 'code': MCC_SENDTO_TOOL_MEDIA_EDITOR, + 'value': 1, + }, + 'Sendto Tool Default Editor': { + 'code': MCC_SENDTO_TOOL_DEFAULT_EDITOR, + 'value': 2, + }, + 'Sendto Tool Ftp': { + 'code': MCC_SENDTO_TOOL_FTP, + 'value': 3, + }, + 'Sendto Tool Email': { + 'code': MCC_SENDTO_TOOL_EMAIL, + 'value': 4, + }, + 'Sendto Tool Menalto Gallery': { + 'code': MCC_SENDTO_TOOL_MENALTO_GALLERY, + 'value': 5, + }, + 'Sendto Tool Web Gallery': { + 'code': MCC_SENDTO_TOOL_WEB_GALLERY, + 'value': 6, + }, + 'Configure Theater View': { + 'code': MCC_CONFIGURE_THEATER_VIEW, + 'value': 0, + }, + 'Set Status Text': { + 'code': MCC_SET_STATUSTEXT, + 'value': 'BSTR bstrText (deleted by receiver)', + }, + 'Update UI After Active Window Change': { + 'code': MCC_UPDATE_UI_AFTER_ACTIVE_WINDOW_CHANGE, + 'value': 0, + }, + 'Re-enum Portable Devices': { + 'code': MCC_REENUM_PORTABLE_DEVICES, + 'value': False, + }, + 'Re-enum Portable Devices Connected': { + 'code': MCC_REENUM_PORTABLE_DEVICES_CONNECTED, + 'value': True, + }, + 'Play Advanced': { + 'code': MCC_PLAY_ADVANCED, + 'value': 'PLAY_COMMAND * pCommand (deleted by receiver)', + }, + 'Update Status Bar': { + 'code': MCC_UPDATE_STATUS_BAR, + 'value': 0, + }, + 'Request Podcast Update': { + 'code': MCC_REQUEST_PODCAST_UPDATE, + 'value': 0, + }, + 'Request Podcast Purge': { + 'code': MCC_REQUEST_PODCAST_PURGE, + 'value': 0, + }, + 'Show Invalid CD Volume Warning': { + 'code': MCC_SHOW_INVALID_CD_VOLUME_WARNING, + 'value': list('ABCDEFGHIJKLMNOTQRSTUVWXYZ'), + }, + 'Play TV Channel For Client': { + 'code': MCC_PLAY_TV_CHANNEL_FOR_CLIENT, + 'value': 'the MFKEY key of the TV channel to be played', + }, + 'Stop Serving TV File': { + 'code': MCC_STOP_SERVING_TV_FILE, + 'value': 'CTVPlayer *: pointer to TVPlayer object serving the file', + }, + 'Show Device Presentation Web Page': { + 'code': MCC_SHOW_DEVICE_PRESENTATION_WEBPAGE, + 'value': range(0, 101), + }, + 'Image Set Desktop Back': { + 'code': MCC_IMAGE_SET_DESKTOP_BACK, + 'value': 0, + }, + 'Image Rotate Left': { + 'code': MCC_IMAGE_ROTATE_LEFT, + 'value': 0, + }, + 'Image Rotate Right': { + 'code': MCC_IMAGE_ROTATE_RIGHT, + 'value': 0, + }, + 'Image Rotate Upside Down': { + 'code': MCC_IMAGE_ROTATE_UPSIDEDOWN, + 'value': 0, + }, + 'Image Resize': { + 'code': MCC_IMAGE_RESIZE, + 'value': 0, + }, + 'Image Edit': { + 'code': MCC_IMAGE_EDIT, + 'value': range(0, 101), + }, + 'Image Delete': { + 'code': MCC_IMAGE_DELETE, + 'value': range(0, 101), + }, + 'Image Preview Show': { + 'code': MCC_IMAGE_PREVIEW_SHOW, + 'value': 0, + }, + 'Image Preview Hide': { + 'code': MCC_IMAGE_PREVIEW_HIDE, + 'value': 0, + }, + 'Image Locate On Map': { + 'code': MCC_IMAGE_LOCATE_ON_MAP, + 'value': 0, + }, + 'Get Selected Files': { + 'code': MCC_GET_SELECTED_FILES, + 'value': ( + 'loword: GET_SELECTION_MODES Mode hiword: short nFlags ' + '(1: for playback 2: disable when in a grouping view)' + ), + }, + 'Print View': { + 'code': MCC_PRINTVIEW, + 'value': 0, + }, + 'Output': { + 'code': MCC_OUTPUT, + 'value': range(0, 101), + }, + 'Output Active View': { + 'code': MCC_OUTPUT_ACTIVE_VIEW, + 'value': -1, + }, + 'Set Focus': { + 'code': MCC_SETFOCUS, + 'value': 0, + }, + 'Select Files': { + 'code': MCC_SELECT_FILES, + 'value': 'CMediaArray *', + }, + 'Double Click': { + 'code': MCC_DOUBLE_CLICK, + 'value': 0, + }, + 'Play Or Show': { + 'code': MCC_PLAY_OR_SHOW, + 'value': 0, + }, + 'Show Current File Force': { + 'code': MCC_SHOW_CURRENT_FILE_FORCE, + 'value': 1, + }, + 'Show Current File Select': { + 'code': MCC_SHOW_CURRENT_FILE_SELECT, + 'value': 2, + }, + 'Buy Selected Tracks': { + 'code': MCC_BUY_SELECTED_TRACKS, + 'value': range(0, 101), + }, + 'Buy All Tracks': { + 'code': MCC_BUY_ALL_TRACKS, + 'value': range(0, 101), + }, + 'Buy Album': { + 'code': MCC_BUY_ALBUM, + 'value': range(0, 101), + }, + 'Update After Plugin Installed': { + 'code': MCC_UPDATE_AFTER_PLUGIN_INSTALLED, + 'value': 0, + }, + 'Update After Skin Installed': { + 'code': MCC_UPDATE_AFTER_SKIN_INSTALLED, + 'value': False, + }, + 'Update After Skin Installed Mini View': { + 'code': MCC_UPDATE_AFTER_SKIN_INSTALLED_MINIVIEW, + 'value': True, + }, + 'Notify UI Changed': { + 'code': MCC_NOTIFY_UI_CHANGED, + 'value': range(0, 101), + }, + 'Notify View Changed': { + 'code': MCC_NOTIFY_VIEW_CHANGED, + 'value': 0, + }, + 'Notify Before Active View Changed': { + 'code': MCC_NOTIFY_BEFORE_ACTIVE_VIEW_CHANGED, + 'value': 0, + }, + 'Notify Active View Changed': { + 'code': MCC_NOTIFY_ACTIVE_VIEW_CHANGED, + 'value': 0, + }, + 'Notify Player Info Changed': { + 'code': MCC_NOTIFY_PLAYER_INFO_CHANGED, + 'value': 'PLAYER_INFO_CHANGES nChange', + }, + 'Notify Tooltips Changed On': { + 'code': MCC_NOTIFY_TOOLTIPS_CHANGED_ON, + 'value': True, + }, + 'Notify Tooltips Changed Off': { + 'code': MCC_NOTIFY_TOOLTIPS_CHANGED_OFF, + 'value': False, + }, + 'Notify Options Changed': { + 'code': MCC_NOTIFY_OPTIONS_CHANGED, + 'value': 0, + }, + 'Update': { + 'code': MCC_UPDATE, + 'value': range(0, 101), + }, + 'Notify Focus Changed': { + 'code': MCC_NOTIFY_FOCUS_CHANGED, + 'value': 0, + }, + 'Save Properties': { + 'code': MCC_SAVE_PROPERTIES, + 'value': 0, + }, + 'Notify UI Mode Changed': { + 'code': MCC_NOTIFY_UI_MODE_CHANGED, + 'value': [ + UI_MODE_STANDARD, + UI_MODE_MINI, + UI_MODE_DISPLAY, + UI_MODE_THEATER, + UI_MODE_COVER, + UI_MODE_COUNT + ], + }, + 'Notify Selection Changed': { + 'code': MCC_NOTIFY_SELECTION_CHANGED, + 'value': range(0, 101), + }, + 'Notify File Changed Invalidate All': { + 'code': MCC_NOTIFY_FILE_CHANGED_INVALIDATE_ALL, + 'value': -1, + }, + 'Notify File Changed': { + 'code': MCC_NOTIFY_FILE_CHANGED, + 'value': range(0, 101), + }, + 'Notify File Status Changed Invalidate All': { + 'code': MCC_NOTIFY_FILE_STATUS_CHANGED_INVALIDATE_ALL, + 'value': -1, + }, + 'Notify File Status Changed': { + 'code': MCC_NOTIFY_FILE_STATUS_CHANGED, + 'value': range(0, 101), + }, + 'Notify File Ensure Visible': { + 'code': MCC_NOTIFY_FILE_ENSURE_VISIBLE, + 'value': range(0, 101), + }, + 'Notify Get Tab Hwnds': { + 'code': MCC_NOTIFY_GET_TAB_HWNDS, + 'value': 0, + }, + 'Notify Burner Queue Changed': { + 'code': MCC_NOTIFY_BURNER_QUEUE_CHANGED, + 'value': 1, + }, + 'Notify Burner Progress Changed': { + 'code': MCC_NOTIFY_BURNER_PROGRESS_CHANGED, + 'value': range(0, 101), + }, + 'Notify Burner Status Changed': { + 'code': MCC_NOTIFY_BURNER_STATUS_CHANGED, + 'value': 0, + }, + 'Notify Burner Started': { + 'code': MCC_NOTIFY_BURNER_STARTED, + 'value': 0, + }, + 'Notify Burner Finished Internal': { + 'code': MCC_NOTIFY_BURNER_FINISHED_INTERNAL, + 'value': 0, + }, + 'Notify Burner Finished': { + 'code': MCC_NOTIFY_BURNER_FINISHED, + 'value': 0, + }, + 'Notify Burner Failed Internal': { + 'code': MCC_NOTIFY_BURNER_FAILED_INTERNAL, + 'value': 0, + }, + 'Notify Burner Failed': { + 'code': MCC_NOTIFY_BURNER_FAILED, + 'value': 0, + }, + 'Notify Burner Close UI': { + 'code': MCC_NOTIFY_BURNER_CLOSE_UI, + 'value': 0, + }, + 'Notify Burner Prepare For Next Copy': { + 'code': MCC_NOTIFY_BURNER_PREPARE_FOR_NEXT_COPY, + 'value': 'LPCTSTR pStatus', + }, + 'Notify Rip Started': { + 'code': MCC_NOTIFY_RIP_STARTED, + 'value': 0, + }, + 'Notify Rip Finished': { + 'code': MCC_NOTIFY_RIP_FINISHED, + 'value': 0, + }, + 'Notify Rip Failed': { + 'code': MCC_NOTIFY_RIP_FAILED, + 'value': 'LPCTSTR pError', + }, + 'Notify Rip Progress Changed': { + 'code': MCC_NOTIFY_RIP_PROGRESS_CHANGED, + 'value': 0, + }, + 'Notify Rip Queue Changed': { + 'code': MCC_NOTIFY_RIP_QUEUE_CHANGED, + 'value': 0, + }, + 'Notify DVD Rip Started': { + 'code': MCC_NOTIFY_DVD_RIP_STARTED, + 'value': 0, + }, + 'Notify DVD Rip Finished': { + 'code': MCC_NOTIFY_DVD_RIP_FINISHED, + 'value': 0, + }, + 'Notify DVD Rip Failed': { + 'code': MCC_NOTIFY_DVD_RIP_FAILED, + 'value': range(0, 101), + }, + 'Notify DVD Rip Progress Changed': { + 'code': MCC_NOTIFY_DVD_RIP_PROGRESS_CHANGED, + 'value': range(0, 101), + }, + 'Notify Download Finished': { + 'code': MCC_NOTIFY_DOWNLOAD_FINISHED, + 'value': range(0, 101), + }, + 'Notify Download Finished Unknown': { + 'code': MCC_NOTIFY_DOWNLOAD_FINISHED_UNKNOWN, + 'value': -1, + }, + 'Notify Download Failed': { + 'code': MCC_NOTIFY_DOWNLOAD_FAILED, + 'value': range(0, 101), + }, + 'Notify Download Failed Unknown': { + 'code': MCC_NOTIFY_DOWNLOAD_FAILED_UNKNOWN, + 'value': -1, + }, + 'Notify Download Status Changed': { + 'code': MCC_NOTIFY_DOWNLOAD_STATUS_CHANGED, + 'value': 0, + }, + 'Notify Status Checker Complete': { + 'code': MCC_NOTIFY_STATUS_CHECKER_COMPLETE, + 'value': 0, + }, + 'Notify Current Zone Changed': { + 'code': MCC_NOTIFY_CURRENT_ZONE_CHANGED, + 'value': 0, + }, + 'Notify Display Owner Changed': { + 'code': MCC_NOTIFY_DISPLAY_OWNER_CHANGED, + 'value': 'JRWnd * pwndOwner', + }, + 'Notify After First Update Layout Window': { + 'code': MCC_NOTIFY_AFTER_FIRST_UPDATE_LAYOUT_WINDOW, + 'value': 0, + }, + 'Notify After First Update Apply View State': { + 'code': MCC_NOTIFY_AFTER_FIRST_UPDATE_APPLY_VIEW_STATE, + 'value': 0, + }, + 'Notify Process Time Remaining': { + 'code': MCC_NOTIFY_PROCESS_TIME_REMAINING, + 'value': range(0, 101), + }, + 'Notify UI Update Enable Disable States': { + 'code': MCC_NOTIFY_UI_UPDATE_ENABLE_DISABLE_STATES, + 'value': 0, + }, + 'Update Window Layout': { + 'code': MCC_UPDATE_WINDOW_LAYOUT, + 'value': 0, + }, + 'Notify Save UI Before Shutdown': { + 'code': MCC_NOTIFY_SAVE_UI_BEFORE_SHUTDOWN, + 'value': 0, + }, + 'Notify Playlist Files Changed': { + 'code': MCC_NOTIFY_PLAYLIST_FILES_CHANGED, + 'value': range(0, 101), + }, + 'Notify Playlist Info Changed': { + 'code': MCC_NOTIFY_PLAYLIST_INFO_CHANGED, + 'value': range(0, 101), + }, + 'Notify Playlist Added Internal': { + 'code': MCC_NOTIFY_PLAYLIST_ADDED_INTERNAL, + 'value': range(0, 101), + }, + 'Notify Playlist Added By User': { + 'code': MCC_NOTIFY_PLAYLIST_ADDED_BY_USER, + 'value': range(0, 101), + }, + 'Notify Playlist Removed': { + 'code': MCC_NOTIFY_PLAYLIST_REMOVED, + 'value': range(0, 101), + }, + 'Notify Playlist Collection Changed': { + 'code': MCC_NOTIFY_PLAYLIST_COLLECTION_CHANGED, + 'value': 0, + }, + 'Notify Playlist Properties Changed': { + 'code': MCC_NOTIFY_PLAYLIST_PROPERTIES_CHANGED, + 'value': range(0, 101), + }, + 'Notify Handheld Upload Started': { + 'code': MCC_NOTIFY_HANDHELD_UPLOAD_STARTED, + 'value': range(0, 101), + }, + 'Notify Handheld After Device Changed': { + 'code': MCC_NOTIFY_HANDHELD_AFTER_DEVICE_CHANGED, + 'value': 0, + }, + 'Notify Handheld Queue Changed': { + 'code': MCC_NOTIFY_HANDHELD_QUEUE_CHANGED, + 'value': 0, + }, + 'Notify Handheld Info Complete': { + 'code': MCC_NOTIFY_HANDHELD_INFO_COMPLETE, + 'value': 0, + }, + 'Notify Handheld After Upload Finished': { + 'code': MCC_NOTIFY_HANDHELD_AFTER_UPLOAD_FINISHED, + 'value': 0, + }, + 'Notify Compact Memory': { + 'code': MCC_NOTIFY_COMPACT_MEMORY, + 'value': 0, + }, + 'Notify Search Changed': { + 'code': MCC_NOTIFY_SEARCH_CHANGED, + 'value': 0, + }, + 'Notify Search Context Changed': { + 'code': MCC_NOTIFY_SEARCH_CONTEXT_CHANGED, + 'value': 0, + }, + 'Notify Update Shopping Cart': { + 'code': MCC_NOTIFY_UPDATE_SHOPPING_CART, + 'value': 'JRStoreBase * pStore', + }, + 'Notify Update Navigation Trail': { + 'code': MCC_NOTIFY_UPDATE_NAVIGATION_TRAIL, + 'value': 0, + }, + 'Notify Import Started': { + 'code': MCC_NOTIFY_IMPORT_STARTED, + 'value': False, + }, + 'Notify Import Started Silent': { + 'code': MCC_NOTIFY_IMPORT_STARTED_SILENT, + 'value': True, + }, + 'Notify Import Finished': { + 'code': MCC_NOTIFY_IMPORT_FINISHED, + 'value': False, + }, + 'Notify Import Finished Silent': { + 'code': MCC_NOTIFY_IMPORT_FINISHED_SILENT, + 'value': True, + }, + 'Notify Rotated Images': { + 'code': MCC_NOTIFY_ROTATED_IMAGES, + 'value': 'MFKEY nKey', + }, + 'Notify Login State Change': { + 'code': MCC_NOTIFY_LOGIN_STATE_CHANGE, + 'value': False, + }, + 'Notify Login State Change Logged In': { + 'code': MCC_NOTIFY_LOGIN_STATE_CHANGE_LOGGED_IN, + 'value': True, + }, + 'Notify Mygal Progress': { + 'code': MCC_NOTIFY_MYGAL_PROGRESS, + 'value': 0, + }, + 'Notify Mygal Done': { + 'code': MCC_NOTIFY_MYGAL_DONE, + 'value': 0, + }, + 'Notify Podcast Changed': { + 'code': MCC_NOTIFY_PODCAST_CHANGED, + 'value': 0, + }, + 'Notify Podcast Settings Changed': { + 'code': MCC_NOTIFY_PODCAST_SETTINGS_CHANGED, + 'value': 0, + }, + 'Notify Convert Progress': { + 'code': MCC_NOTIFY_CONVERT_PROGRESS, + 'value': 0, + }, + 'Notify Convert Update': { + 'code': MCC_NOTIFY_CONVERT_UPDATE, + 'value': 0, + }, + 'Notify Breadcrumbs Changed': { + 'code': MCC_NOTIFY_BREADCRUMBS_CHANGED, + 'value': 0, + }, + 'Notify Installed Plugins Changed': { + 'code': MCC_NOTIFY_INSTALLED_PLUGINS_CHANGED, + 'value': 0, + }, + 'Notify Suggested Music Changed': { + 'code': MCC_NOTIFY_SUGGESTED_MUSIC_CHANGED, + 'value': 0, + }, + 'Notify View Settings Changed': { + 'code': MCC_NOTIFY_VIEW_SETTINGS_CHANGED, + 'value': range(0, 101), + }, + 'Notify Before Configure View Settings': { + 'code': MCC_NOTIFY_BEFORE_CONFIGURE_VIEW_SETTINGS, + 'value': 0, + }, + 'Notify TV Recording Changed': { + 'code': MCC_NOTIFY_TV_RECORDING_CHANGED, + 'value': 0, + }, + 'Notify TV Programming GUIde Changed': { + 'code': MCC_NOTIFY_TV_PROGRAMMING_GUIDE_CHANGED, + 'value': 0, + }, + 'Notify TV Channels Changed': { + 'code': MCC_NOTIFY_TV_CHANNELS_CHANGED, + 'value': 0, + }, + 'Notify TV Recording Started': { + 'code': MCC_NOTIFY_TV_RECORDING_STARTED, + 'value': 0, + }, + 'Notify TV Recording Finished': { + 'code': MCC_NOTIFY_TV_RECORDING_FINISHED, + 'value': 0, + }, + 'Notify Import Files Added': { + 'code': MCC_NOTIFY_IMPORT_FILES_ADDED, + 'value': 0, + }, + 'Notify Playback Options Changed': { + 'code': MCC_NOTIFY_PLAYBACK_OPTIONS_CHANGED, + 'value': 0, + }, + 'Notify Before Layout User Interface': { + 'code': MCC_NOTIFY_BEFORE_LAYOUT_USER_INTERFACE, + 'value': 0, + }, + 'Notify After Layout User Interface': { + 'code': MCC_NOTIFY_AFTER_LAYOUT_USER_INTERFACE, + 'value': 0, + }, + 'Notify Zone Added Or Removed': { + 'code': MCC_NOTIFY_ZONE_ADDED_OR_REMOVED, + 'value': range(0, 101), + }, + 'Notify Zone Linked Or Unlinked': { + 'code': MCC_NOTIFY_ZONE_LINKED_OR_UNLINKED, + 'value': 0, + }, + 'Notify Library Locations Changed': { + 'code': MCC_NOTIFY_LIBRARY_LOCATIONS_CHANGED, + 'value': 0, + }, + 'Notify DSP Settings Changed In Code': { + 'code': MCC_NOTIFY_DSP_SETTINGS_CHANGED_IN_CODE, + 'value': range(0, 101), + }, + 'Notify Optical Disc Changed': { + 'code': MCC_NOTIFY_OPTICAL_DISC_CHANGED, + 'value': 0, + }, + 'Notify Store Download Status Changed': { + 'code': MCC_NOTIFY_STORE_DOWNLOAD_STATUS_CHANGED, + 'value': range(0, 101), + }, + 'Notify Current Playlist Next Item To Play Changed': { + 'code': MCC_NOTIFY_CURRENT_PLAYLIST_NEXT_ITEM_TO_PLAY_CHANGED, + 'value': range(0, 101), + }, + 'Store Download': { + 'code': MCC_STORE_DOWNLOAD, + 'value': False, + }, + 'Store Download Allow Purchase': { + 'code': MCC_STORE_DOWNLOAD_ALLOW_PURCHASE, + 'value': True, + }, + 'Store Purchase': { + 'code': MCC_STORE_PURCHASE, + 'value': 'MFKEY nKey', + }, + 'Store Search Amazon': { + 'code': MCC_STORE_SEARCH_AMAZON, + 'value': 'MFKEY nKey', + }, + 'Store Search Amazon MP3 Store': { + 'code': MCC_STORE_SEARCH_AMAZON_MP3_STORE, + 'value': 'MFKEY nKey', + }, + 'Store T-Shirt': { + 'code': MCC_STORE_TSHIRT, + 'value': 'MFKEY nKey', + }, + 'Store Change User': { + 'code': MCC_STORE_CHANGE_USER, + 'value': 0, + }, + 'Store Check For Downloads': { + 'code': MCC_STORE_CHECK_FOR_DOWNLOADS, + 'value': 0, + } +} + + +def _stream_watcher(identifier, proc, stream): + while True: + for line in stream: + eg.PrintDebugNotice(identifier + line) + + if proc.poll() is not None: + break + + if not stream.closed: + stream.close() + + +class SendCommand(eg.ActionBase): + + def __call__(self, zone=1, value=None): + if self.plugin.jriver_exe is None: + eg.PrintError('J. River Media Center is not installed') + + command, command_value = self.value + + if isinstance(command_value, list) and value is None: + eg.PrintNotice( + 'You need to configure this action before you can use it' + ) + return + elif isinstance(command_value, (str, unicode)): + eg.PrintNotice( + 'This command is not yet supported.' + ) + return + elif value is not None: + command_value = value + + command_value = ' /MCC %d, %d:%d' % (command, int(command_value), zone) + + proc = Popen( + self.plugin.jriver_exe + command_value, + stdout=PIPE, + stderr=PIPE, + cwd=self.plugin.jriver_cwd + ) + + if DEBUG: + + Thread( + target=_stream_watcher, + name='stdout-watcher', + args=('STDOUT:', proc, proc.stdout) + ).start() + Thread( + target=_stream_watcher, + name='stderr-watcher', + args=('STDERR:', proc, proc.stderr) + ).start() + + def Configure(self, zone=1, value=None): + _, command_value = self.value + + panel = eg.ConfigPanel() + + zone_st = panel.StaticText('Zone:') + zone_ctrl = panel.SpinIntCtrl(zone, min=1, max=99) + + zone_sizer = wx.BoxSizer(wx.HORIZONTAL) + zone_sizer.Add(zone_st, 0, wx.EXPAND | wx.ALL, 5) + zone_sizer.Add(zone_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + panel.sizer.Add(zone_sizer, 0, wx.EXPAND) + + if isinstance(command_value, list): + value_st = panel.StaticText('Additional Parameter:') + value_ctrl = panel.Choice( + 0, + choices=list(str(v) for v in command_value) + ) + + if value is not None: + value_ctrl.SetStringSelection(str(value)) + + value_sizer = wx.BoxSizer(wx.HORIZONTAL) + value_sizer.Add(value_st, 0, wx.EXPAND | wx.ALL, 5) + value_sizer.Add(value_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + panel.sizer.Add(value_sizer, 0, wx.EXPAND) + + eg.EqualizeWidths((zone_st, value_st)) + eg.EqualizeWidths((zone_ctrl, value_ctrl)) + + _get_string_selection = value_ctrl.GetStringSelection + + def get_string_selection(): + return int(_get_string_selection()) + + value_ctrl.GetStringSelection = get_string_selection + + else: + class value_ctrl: + @staticmethod + def GetStringSelection(): + return None + + while panel.Affirmed(): + panel.SetResult( + zone_ctrl.GetValue(), + value_ctrl.GetStringSelection() + ) + + + + +class JRiverCommand(eg.PluginBase): + + def __init__(self): + + high_version = '' + self.jriver_exe = None + self.jriver_cwd = None + + sam = _winreg.KEY_READ + if eg.Utils.Is64BitOS(): + sam = sam | _winreg.KEY_WOW64_64KEY + + reg_path = r'Software\J. River\Media Core\Installations' + key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, reg_path, 0, sam) + index = 0 + + while True: + try: + sub_key = _winreg.OpenKey( + key, + _winreg.EnumKey(key, index), + 0, + sam + ) + version = _winreg.QueryValueEx(sub_key, 'Version') + if version > high_version: + high_version = version + self.jriver_exe = _winreg.QueryValueEx( + sub_key, + 'Launcher Name' + )[0] + self.jriver_cwd = _winreg.QueryValueEx( + sub_key, + 'Path' + )[0] + index += 1 + except WindowsError: + break + + if self.jriver_exe is None: + eg.PrintError('J. River Media Center is not installed.') + + action_list = () + for command_description in sorted(COMMANDS.keys()): + command_data = COMMANDS[command_description] + code = command_data['code'] + value = command_data['value'] + class_name = 'fn' + command_description.replace(' ', '_').upper() + action_list += (( + SendCommand, + class_name, + command_description, + command_description, + [code, value] + ),) + + self.AddActionsFromList(action_list) + + def __stop__(self): + pass + + def __start__(self): + pass diff --git a/plugins/Joystick/__init__.py b/plugins/Joystick/__init__.py index 9320c3713..0d7a9e892 100644 --- a/plugins/Joystick/__init__.py +++ b/plugins/Joystick/__init__.py @@ -35,74 +35,263 @@ I=""" eg.RegisterPlugin( - name = "Joystick", - author = "Bitmonster", - version = "1.0.1175", - kind = "remote", - guid = "{615F3B89-FB7E-4FD9-B7D5-9F07FEF0BED9}", - description = ( - "Use joysticks and gamepads as input devices for EventGhost." + name="Joystick", + author="K", + version="2.0.0", + kind="remote", + guid="{615F3B89-FB7E-4FD9-B7D5-9F07FEF0BED9}", + description=( + "Use joysticks and game pads as input devices for EventGhost." ), - icon = ICON, + icon=ICON, ) +import ctypes # NOQA +from copy import deepcopy # NOQA +import threading # NOQA +from ctypes.wintypes import UINT # NOQA +import joystickapi_h # NOQA -EVT_DIRECTION = 0 -EVT_BTN_RELEASED = 1 -EVT_BTN_PUSHED = 2 -EVT_X_AXIS = 3 -EVT_Y_AXIS = 4 -EVT_Z_AXIS = 5 - +UINT_PTR = ctypes.c_uint32 class Joystick(eg.PluginBase): def __init__(self): - self.AddEvents() - + super(Joystick, self).__init__() + self._event = threading.Event() + self._thread = None + self.last_joy_states = {} def __start__(self): - self.x = 0 - self.y = 0 - import _dxJoystick - self._dxJoystick = _dxJoystick - self._dxJoystick.RegisterEventFunc(self.EventFunc) + while self._event.isSet(): + pass + self._thread = threading.Thread(target=self.loop) + self._thread.daemon = True + self._thread.start() - def __stop__(self): - self._dxJoystick.RegisterEventFunc(None) - - - def EventFunc(self, joynum, eventtype, value): - if eventtype == EVT_BTN_PUSHED: - self.TriggerEnduringEvent("Button" + str(value + 1)) - elif eventtype == EVT_BTN_RELEASED: - self.EndLastEvent() - elif eventtype == EVT_X_AXIS: - self.x = value - if value == 0: - if self.y == 0: - self.EndLastEvent() - elif self.y == 1: - self.TriggerEnduringEvent("Down") + def get_joy_data(self, joy_id): + joy_caps = joystickapi_h.JOYCAPS() + res = joystickapi_h.joyGetDevCaps( + UINT_PTR(joy_id), + ctypes.byref(joy_caps), + ctypes.sizeof(joystickapi_h.JOYCAPS) + ) + + if res != joystickapi_h.MMSYSERR_NODRIVER: + joy_info = joystickapi_h.JOYINFOEX() + joy_info.dwSize = ctypes.sizeof(joystickapi_h.JOYINFOEX) + + joystickapi_h.joyGetPosEx( + UINT_PTR(joy_id), + ctypes.byref(joy_info) + ) + + if joystickapi_h.JOY_RETURNBUTTONS & joy_info.dwFlags: + buttons = ['Released'] * joy_caps.wNumButtons + for i in range(1, joy_caps.wNumButtons): + button = getattr(joystickapi_h, 'JOY_BUTTON' + str(i)) + if joy_info.dwButtons & button: + buttons[i - 1] = 'Pressed' + else: + buttons = [] + + if joystickapi_h.JOY_RETURNX & joy_info.dwFlags: + first_axis_x = joy_info.dwXpos + else: + first_axis_x = None + + first_axis_x = dict( + axis='x', + position=first_axis_x, + max=joy_caps.wXmax, + min=joy_caps.wXmin + + ) + + if joystickapi_h.JOY_RETURNY & joy_info.dwFlags: + second_axis_y = joy_info.dwYpos + else: + second_axis_y = None + + second_axis_y = dict( + axis='y', + position=second_axis_y, + max=joy_caps.wYmax, + min=joy_caps.wYmin + + ) + + res = dict( + id=joy_id, + name=joy_caps.szPname, + num_axis=joy_caps.wNumAxes, + buttons=buttons, + first_axis=first_axis_x, + second_axis=second_axis_y + ) + + if joystickapi_h.JOYCAPS_HASZ & joy_caps.wCaps: + if joystickapi_h.JOY_RETURNZ & joy_info.dwFlags: + third_axis_z = joy_info.dwZpos + else: + third_axis_z = None + + res['third_axis'] = dict( + axis='z', + position=third_axis_z, + max=joy_caps.wZmax, + min=joy_caps.wZmin + ) + + if joystickapi_h.JOYCAPS_HASR & joy_caps.wCaps: + if joystickapi_h.JOY_RETURNR & joy_info.dwFlags: + fourth_axis_r = joy_info.dwRpos + else: + fourth_axis_r = None + + res['fourth_axis'] = dict( + axis='r', + position=fourth_axis_r, + max=joy_caps.wRmax, + min=joy_caps.wRmin + ) + + if joystickapi_h.JOYCAPS_HASU & joy_caps.wCaps: + if joystickapi_h.JOY_RETURNU & joy_info.dwFlags: + fifth_axis_u = joy_info.dwUpos else: - self.TriggerEnduringEvent("Up") - elif value == 1: - self.TriggerEnduringEvent("Right") - elif value == -1: - self.TriggerEnduringEvent("Left") - elif eventtype == EVT_Y_AXIS: - self.y = value - if value == 0: - if self.x == 0: - self.EndLastEvent() - elif self.x == 1: - self.TriggerEnduringEvent("Right") + fifth_axis_u = None + + res['fifth_axis'] = dict( + axis='u', + position=fifth_axis_u, + max=joy_caps.wUmax, + min=joy_caps.wUmin + ) + + if joystickapi_h.JOYCAPS_HASV & joy_caps.wCaps: + if joystickapi_h.JOY_RETURNV & joy_info.dwFlags: + sixth_axis_v = joy_info.dwVpos + else: + sixth_axis_v = None + + res['sixth_axis'] = dict( + axis='v', + position=sixth_axis_v, + max=joy_caps.wVmax, + min=joy_caps.wVmin + + ) + + if joystickapi_h.JOYCAPS_HASPOV & joy_caps.wCaps: + + if joystickapi_h.JOY_RETURNPOV & joy_info.dwFlags: + degrees = joy_info.dwPOV + if degrees != -1: + degrees /= 100.0 + else: + degrees = None + + res['pov'] = dict(degrees=degrees) + + return res + + def loop(self): + for joy_id in range(joystickapi_h.joyGetNumDevs()): + joy_data = self.get_joy_data(joy_id) + if joy_data is not None: + self.last_joy_states[(joy_data['id'], joy_data['name'])] = ( + joy_data + ) + + while not self._event.isSet(): + new_data = {} + for joy_id in range(joystickapi_h.joyGetNumDevs()): + joy_data = self.get_joy_data(joy_id) + if joy_data is not None: + new_data[(joy_data['id'], joy_data['name'])] = joy_data + + for key in sorted(new_data.keys()): + new_value = new_data[key] + + if key not in self.last_joy_states: + self.TriggerEvent('Device.Added', deepcopy(new_value)) else: - self.TriggerEnduringEvent("Left") - elif value == 1: - self.TriggerEnduringEvent("Down") - elif value == -1: - self.TriggerEnduringEvent("Up") + old_value = self.last_joy_states.pop(key) + if new_value != old_value: + def iter_dicts(old, new, event=''): + for k in new.keys(): + if old[k] != new[k]: + if isinstance(old[k], dict): + evt = k.replace('_', '').title() + evt = evt.replace(' ', '') + if event: + iter_dicts( + old[k], + new[k], + event + '.' + evt + ) + else: + iter_dicts( + old[k], + new[k], + evt + ) + elif isinstance(old[k], list): + for num, o_state in enumerate(old[k]): + n_state = new[k][num] + if o_state != n_state: + evt = ( + new_value['name'] + + '-' + + str(new_value['id']) + + '.' + + 'Button' + + str(num) + + '.' + + n_state + ) + self.TriggerEvent( + evt, + deepcopy(new_value) + ) + else: + evt = k.replace('_', '').title() + evt = evt.replace(' ', '') + if event: + evt = event + '.' + evt + evt = ( + new_value['name'] + + '-' + + str(new_value['id']) + + '.' + + evt + ) + + self.TriggerEvent( + evt, + deepcopy(new_value) + ) + iter_dicts(old_value, new_value) + + for key in sorted(self.last_joy_states.keys()): + self.TriggerEvent( + 'Device.Removed', + deepcopy(self.last_joy_states[key]) + ) + + self.last_joy_states.clear() + self.last_joy_states = deepcopy(new_data) + self._event.wait(0.15) + + self.last_joy_states.clear() + self._thread = None + self._event.clear() + + def __stop__(self): + if self._thread is not None: + self._event.set() + self._thread.join(3.0) diff --git a/plugins/Joystick/joystickapi_h.py b/plugins/Joystick/joystickapi_h.py new file mode 100644 index 000000000..c0f831693 --- /dev/null +++ b/plugins/Joystick/joystickapi_h.py @@ -0,0 +1,698 @@ +from win_constants_h import * +import ctypes +from comtypes import GUID +from ctypes.wintypes import POINTER, WORD, UINT, WCHAR, DWORD + +VOID = ctypes.c_void_p +CHAR = ctypes.c_char + +_JOYSTICKAPI_H_ = None +MMNOJOY = None + + +class tagJOYCAPSA(ctypes.Structure): + pass + + +JOYCAPSA = tagJOYCAPSA +PJOYCAPSA = POINTER(tagJOYCAPSA) +NPJOYCAPSA = POINTER(tagJOYCAPSA) +LPJOYCAPSA = POINTER(tagJOYCAPSA) + + +class tagJOYCAPSW(ctypes.Structure): + pass + + +JOYCAPSW = tagJOYCAPSW +PJOYCAPSW = POINTER(tagJOYCAPSW) +NPJOYCAPSW = POINTER(tagJOYCAPSW) +LPJOYCAPSW = POINTER(tagJOYCAPSW) + + +class tagJOYCAPS2A(ctypes.Structure): + pass + + +JOYCAPS2A = tagJOYCAPS2A +PJOYCAPS2A = POINTER(tagJOYCAPS2A) +NPJOYCAPS2A = POINTER(tagJOYCAPS2A) +LPJOYCAPS2A = POINTER(tagJOYCAPS2A) + + +class tagJOYCAPS2W(ctypes.Structure): + pass + + +JOYCAPS2W = tagJOYCAPS2W +PJOYCAPS2W = POINTER(tagJOYCAPS2W) +NPJOYCAPS2W = POINTER(tagJOYCAPS2W) +LPJOYCAPS2W = POINTER(tagJOYCAPS2W) + + +class joycaps_tag(ctypes.Structure): + pass + + +JOYCAPS = joycaps_tag +PJOYCAPS = POINTER(joycaps_tag) +NPJOYCAPS = POINTER(joycaps_tag) +LPJOYCAPS = POINTER(joycaps_tag) + + +class joyinfo_tag(ctypes.Structure): + pass + + +JOYINFO = joyinfo_tag +PJOYINFO = POINTER(joyinfo_tag) +NPJOYINFO = POINTER(joyinfo_tag) +LPJOYINFO = POINTER(joyinfo_tag) + + +class joyinfoex_tag(ctypes.Structure): + pass + + +JOYINFOEX = joyinfoex_tag +PJOYINFOEX = POINTER(joyinfoex_tag) +NPJOYINFOEX = POINTER(joyinfoex_tag) +LPJOYINFOEX = POINTER(joyinfoex_tag) + + +# ***************************************************************************** +# joystickapi.h -- ApiSet Contract for api-ms-win-mm-joystick-l1-1-0 +# Copyright (c) Microsoft Corporation. All rights reserved. +# ***************************************************************************** + +if defined(_MSC_VER): + pass +# END IF _MSC_VER + +if not defined(_JOYSTICKAPI_H_): + _JOYSTICKAPI_H_ = VOID + # from pyWinAPI.shared.apiset_h import * # NOQA + # from pyWinAPI.shared.apisetcconv_h import * # NOQA + # + # # mm common definitions + from mmsyscom_h import * # NOQA + + if defined(__cplusplus): + pass + # END IF + + winmm = ctypes.windll.WINMM + + if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP): + if not defined(MMNOJOY): + # ***************************************************************** + # Joystick support + # ***************************************************************** + + # joystick error return values + JOYERR_NOERROR = 0 # no error + JOYERR_PARMS = JOYERR_BASE + 5 # bad parameters + JOYERR_NOCANDO = JOYERR_BASE + 6 # request not completed + JOYERR_UNPLUGGED = JOYERR_BASE + 7 # joystick is unplugged + + # constants used with JOYINFO and JOYINFOEX structures and MM_JOY* + # messages + JOY_BUTTON1 = 0x0001 + JOY_BUTTON2 = 0x0002 + JOY_BUTTON3 = 0x0004 + JOY_BUTTON4 = 0x0008 + JOY_BUTTON1CHG = 0x0100 + JOY_BUTTON2CHG = 0x0200 + JOY_BUTTON3CHG = 0x0400 + JOY_BUTTON4CHG = 0x0800 + + # constants used with JOYINFOEX + JOY_BUTTON5 = 0x00000010 + JOY_BUTTON6 = 0x00000020 + JOY_BUTTON7 = 0x00000040 + JOY_BUTTON8 = 0x00000080 + JOY_BUTTON9 = 0x00000100 + JOY_BUTTON10 = 0x00000200 + JOY_BUTTON11 = 0x00000400 + JOY_BUTTON12 = 0x00000800 + JOY_BUTTON13 = 0x00001000 + JOY_BUTTON14 = 0x00002000 + JOY_BUTTON15 = 0x00004000 + JOY_BUTTON16 = 0x00008000 + JOY_BUTTON17 = 0x00010000 + JOY_BUTTON18 = 0x00020000 + JOY_BUTTON19 = 0x00040000 + JOY_BUTTON20 = 0x00080000 + JOY_BUTTON21 = 0x00100000 + JOY_BUTTON22 = 0x00200000 + JOY_BUTTON23 = 0x00400000 + JOY_BUTTON24 = 0x00800000 + JOY_BUTTON25 = 0x01000000 + JOY_BUTTON26 = 0x02000000 + JOY_BUTTON27 = 0x04000000 + JOY_BUTTON28 = 0x08000000 + JOY_BUTTON29 = 0x10000000 + JOY_BUTTON30 = 0x20000000 + JOY_BUTTON31 = 0x40000000 + JOY_BUTTON32 = 0x80000000 + + # constants used with JOYINFOEX structure + JOY_POVCENTERED = -1 + JOY_POVFORWARD = 0 + JOY_POVRIGHT = 9000 + JOY_POVBACKWARD = 18000 + JOY_POVLEFT = 27000 + JOY_RETURNX = 0x00000001 + JOY_RETURNY = 0x00000002 + JOY_RETURNZ = 0x00000004 + JOY_RETURNR = 0x00000008 + JOY_RETURNU = 0x00000010 # axis 5 + JOY_RETURNV = 0x00000020 # axis 6 + JOY_RETURNPOV = 0x00000040 + JOY_RETURNBUTTONS = 0x00000080 + JOY_RETURNRAWDATA = 0x00000100 + JOY_RETURNPOVCTS = 0x00000200 + JOY_RETURNCENTERED = 0x00000400 + JOY_USEDEADZONE = 0x00000800 + JOY_RETURNALL = ( + JOY_RETURNX | + JOY_RETURNY | + JOY_RETURNZ | + JOY_RETURNR | + JOY_RETURNU | + JOY_RETURNV | + JOY_RETURNPOV | + JOY_RETURNBUTTONS + ) + JOY_CAL_READALWAYS = 0x00010000 + JOY_CAL_READXYONLY = 0x00020000 + JOY_CAL_READ3 = 0x00040000 + JOY_CAL_READ4 = 0x00080000 + JOY_CAL_READXONLY = 0x00100000 + JOY_CAL_READYONLY = 0x00200000 + JOY_CAL_READ5 = 0x00400000 + JOY_CAL_READ6 = 0x00800000 + JOY_CAL_READZONLY = 0x01000000 + JOY_CAL_READRONLY = 0x02000000 + JOY_CAL_READUONLY = 0x04000000 + JOY_CAL_READVONLY = 0x08000000 + + # joystick ID constants + JOYSTICKID1 = 0 + JOYSTICKID2 = 1 + + # joystick driver capabilities + JOYCAPS_HASZ = 0x0001 + JOYCAPS_HASR = 0x0002 + JOYCAPS_HASU = 0x0004 + JOYCAPS_HASV = 0x0008 + JOYCAPS_HASPOV = 0x0010 + JOYCAPS_POV4DIR = 0x0020 + JOYCAPS_POVCTS = 0x0040 + + # joystick device capabilities data structure + + if defined(_WIN32): + # manufacturer ID + _TEMP_tagJOYCAPSA = [ + ('wMid', WORD), + # product ID + ('wPid', WORD), + # product name (NULL terminated string) + ('szPname', CHAR * MAXPNAMELEN), + # minimum x position value + ('wXmin', UINT), + # maximum x position value + ('wXmax', UINT), + # minimum y position value + ('wYmin', UINT), + # maximum y position value + ('wYmax', UINT), + # minimum z position value + ('wZmin', UINT), + # maximum z position value + ('wZmax', UINT), + # number of buttons + ('wNumButtons', UINT), + # minimum message period when captured + ('wPeriodMin', UINT), + # maximum message period when captured + ('wPeriodMax', UINT), + ] + if WINVER >= 0x0400: + _TEMP_tagJOYCAPSA += [ + # minimum r position value + ('wRmin', UINT), + # maximum r position value + ('wRmax', UINT), + # minimum u (5th axis) position value + ('wUmin', UINT), + # maximum u (5th axis) position value + ('wUmax', UINT), + # minimum v (6th axis) position value + ('wVmin', UINT), + # maximum v (6th axis) position value + ('wVmax', UINT), + # joystick capabilites + ('wCaps', UINT), + # maximum number of axes supported + ('wMaxAxes', UINT), + # number of axes in use + ('wNumAxes', UINT), + # maximum number of buttons supported + ('wMaxButtons', UINT), + # registry key + ('szRegKey', CHAR * MAXPNAMELEN), + # OEM VxD in use + ('szOEMVxD', CHAR * MAX_JOYSTICKOEMVXDNAME), + ] + # END IF + + tagJOYCAPSA._fields_ = _TEMP_tagJOYCAPSA + + # manufacturer ID + _TEMP_tagJOYCAPSW = [ + ('wMid', WORD), + # product ID + ('wPid', WORD), + # product name (NULL terminated string) + ('szPname', WCHAR * MAXPNAMELEN), + # minimum x position value + ('wXmin', UINT), + # maximum x position value + ('wXmax', UINT), + # minimum y position value + ('wYmin', UINT), + # maximum y position value + ('wYmax', UINT), + # minimum z position value + ('wZmin', UINT), + # maximum z position value + ('wZmax', UINT), + # number of buttons + ('wNumButtons', UINT), + # minimum message period when captured + ('wPeriodMin', UINT), + # maximum message period when captured + ('wPeriodMax', UINT), + ] + if WINVER >= 0x0400: + _TEMP_tagJOYCAPSW += [ + # minimum r position value + ('wRmin', UINT), + # maximum r position value + ('wRmax', UINT), + # minimum u (5th axis) position value + ('wUmin', UINT), + # maximum u (5th axis) position value + ('wUmax', UINT), + # minimum v (6th axis) position value + ('wVmin', UINT), + # maximum v (6th axis) position value + ('wVmax', UINT), + # joystick capabilites + ('wCaps', UINT), + # maximum number of axes supported + ('wMaxAxes', UINT), + # number of axes in use + ('wNumAxes', UINT), + # maximum number of buttons supported + ('wMaxButtons', UINT), + # registry key + ('szRegKey', WCHAR * MAXPNAMELEN), + # OEM VxD in use + ('szOEMVxD', WCHAR * MAX_JOYSTICKOEMVXDNAME), + ] + # END IF + + tagJOYCAPSW._fields_ = _TEMP_tagJOYCAPSW + + if defined(UNICODE): + JOYCAPS = JOYCAPSW + PJOYCAPS = PJOYCAPSW + NPJOYCAPS = NPJOYCAPSW + LPJOYCAPS = LPJOYCAPSW + else: + JOYCAPS = JOYCAPSA + PJOYCAPS = PJOYCAPSA + NPJOYCAPS = NPJOYCAPSA + LPJOYCAPS = LPJOYCAPSA + # END IF UNICODE + + # manufacturer ID + tagJOYCAPS2A._fields_ = [ + ('wMid', WORD), + # product ID + ('wPid', WORD), + # product name (NULL terminated string) + ('szPname', CHAR * MAXPNAMELEN), + # minimum x position value + ('wXmin', UINT), + # maximum x position value + ('wXmax', UINT), + # minimum y position value + ('wYmin', UINT), + # maximum y position value + ('wYmax', UINT), + # minimum z position value + ('wZmin', UINT), + # maximum z position value + ('wZmax', UINT), + # number of buttons + ('wNumButtons', UINT), + # minimum message period when captured + ('wPeriodMin', UINT), + # maximum message period when captured + ('wPeriodMax', UINT), + # minimum r position value + ('wRmin', UINT), + # maximum r position value + ('wRmax', UINT), + # minimum u (5th axis) position value + ('wUmin', UINT), + # maximum u (5th axis) position value + ('wUmax', UINT), + # minimum v (6th axis) position value + ('wVmin', UINT), + # maximum v (6th axis) position value + ('wVmax', UINT), + # joystick capabilites + ('wCaps', UINT), + # maximum number of axes supported + ('wMaxAxes', UINT), + # number of axes in use + ('wNumAxes', UINT), + # maximum number of buttons supported + ('wMaxButtons', UINT), + # registry key + ('szRegKey', CHAR * MAXPNAMELEN), + # OEM VxD in use + ('szOEMVxD', CHAR * MAX_JOYSTICKOEMVXDNAME), + # for extensible MID mapping + ('ManufacturerGuid', GUID), + # for extensible PID mapping + ('ProductGuid', GUID), + # for name lookup in registry + ('NameGuid', GUID), + ] + + # manufacturer ID + tagJOYCAPS2W._fields_ = [ + ('wMid', WORD), + # product ID + ('wPid', WORD), + # product name (NULL terminated string) + ('szPname', WCHAR * MAXPNAMELEN), + # minimum x position value + ('wXmin', UINT), + # maximum x position value + ('wXmax', UINT), + # minimum y position value + ('wYmin', UINT), + # maximum y position value + ('wYmax', UINT), + # minimum z position value + ('wZmin', UINT), + # maximum z position value + ('wZmax', UINT), + # number of buttons + ('wNumButtons', UINT), + # minimum message period when captured + ('wPeriodMin', UINT), + # maximum message period when captured + ('wPeriodMax', UINT), + # minimum r position value + ('wRmin', UINT), + # maximum r position value + ('wRmax', UINT), + # minimum u (5th axis) position value + ('wUmin', UINT), + # maximum u (5th axis) position value + ('wUmax', UINT), + # minimum v (6th axis) position value + ('wVmin', UINT), + # maximum v (6th axis) position value + ('wVmax', UINT), + # joystick capabilites + ('wCaps', UINT), + # maximum number of axes supported + ('wMaxAxes', UINT), + # number of axes in use + ('wNumAxes', UINT), + # maximum number of buttons supported + ('wMaxButtons', UINT), + # registry key + ('szRegKey', WCHAR * MAXPNAMELEN), + # OEM VxD in use + ('szOEMVxD', WCHAR * MAX_JOYSTICKOEMVXDNAME), + # for extensible MID mapping + ('ManufacturerGuid', GUID), + # for extensible PID mapping + ('ProductGuid', GUID), + # for name lookup in registry + ('NameGuid', GUID), + ] + + if defined(UNICODE): + JOYCAPS2 = JOYCAPS2W + PJOYCAPS2 = PJOYCAPS2W + NPJOYCAPS2 = NPJOYCAPS2W + LPJOYCAPS2 = LPJOYCAPS2W + else: + JOYCAPS2 = JOYCAPS2A + PJOYCAPS2 = PJOYCAPS2A + NPJOYCAPS2 = NPJOYCAPS2A + LPJOYCAPS2 = LPJOYCAPS2A + # END IF UNICODE + + else: + # manufacturer ID + _TEMP_joycaps_tag = [ + ('wMid', WORD), + # product ID + ('wPid', WORD), + # product name (NULL terminated string) + ('szPname', CHAR * MAXPNAMELEN), + # minimum x position value + ('wXmin', UINT), + # maximum x position value + ('wXmax', UINT), + # minimum y position value + ('wYmin', UINT), + # maximum y position value + ('wYmax', UINT), + # minimum z position value + ('wZmin', UINT), + # maximum z position value + ('wZmax', UINT), + # number of buttons + ('wNumButtons', UINT), + # minimum message period when captured + ('wPeriodMin', UINT), + # maximum message period when captured + ('wPeriodMax', UINT), + ] + if WINVER >= 0x0400: + _TEMP_joycaps_tag += [ + # minimum r position value + ('wRmin', UINT), + # maximum r position value + ('wRmax', UINT), + # minimum u (5th axis) position value + ('wUmin', UINT), + # maximum u (5th axis) position value + ('wUmax', UINT), + # minimum v (6th axis) position value + ('wVmin', UINT), + # maximum v (6th axis) position value + ('wVmax', UINT), + # joystick capabilites + ('wCaps', UINT), + # maximum number of axes supported + ('wMaxAxes', UINT), + # number of axes in use + ('wNumAxes', UINT), + # maximum number of buttons supported + ('wMaxButtons', UINT), + # registry key + ('szRegKey', CHAR * MAXPNAMELEN), + # OEM VxD in use + ('szOEMVxD', CHAR * MAX_JOYSTICKOEMVXDNAME), + ] + # END IF + + joycaps_tag._fields_ = _TEMP_joycaps_tag + # END IF + + # joystick information data structure + # x position + joyinfo_tag._fields_ = [ + ('wXpos', UINT), + # y position + ('wYpos', UINT), + # z position + ('wZpos', UINT), + # button states + ('wButtons', UINT), + ] + if WINVER >= 0x0400: + # size of structure + joyinfoex_tag._fields_ = [ + ('dwSize', DWORD), + # flags to indicate what to return + ('dwFlags', DWORD), + # x position + ('dwXpos', DWORD), + # y position + ('dwYpos', DWORD), + # z position + ('dwZpos', DWORD), + # rudder/4th axis position + ('dwRpos', DWORD), + # 5th axis position + ('dwUpos', DWORD), + # 6th axis position + ('dwVpos', DWORD), + # button states + ('dwButtons', DWORD), + # current button number pressed + ('dwButtonNumber', DWORD), + # point of view state + ('dwPOV', DWORD), + # reserved for communication between winmm & driver + ('dwReserved1', DWORD), + # reserved for future expansion + ('dwReserved2', DWORD), + ] + # END IF + + # joystick function prototypes + if WINVER >= 0x0400: + # WINMMAPI + # MMRESULT + # WINAPI + # joyGetPosEx( + # _In_ UINT uJoyID, + # _Out_ LPJOYINFOEX pji + # ); + joyGetPosEx = winmm.joyGetPosEx + joyGetPosEx.restype = MMRESULT + + # END IF WINVER >= 0x0400 + + # WINMMAPI + # UINT + # WINAPI + # joyGetNumDevs( + # void + # ); + joyGetNumDevs = winmm.joyGetNumDevs + joyGetNumDevs.restype = UINT + + if defined(_WIN32): + # WINMMAPI + # MMRESULT + # WINAPI + # joyGetDevCapsA( + # _In_ UINT_PTR uJoyID, + # _Out_writes_bytes_(cbjc) LPJOYCAPSA pjc, + # _In_ UINT cbjc + # ); + joyGetDevCapsA = winmm.joyGetDevCapsA + joyGetDevCapsA.restype = MMRESULT + + # WINMMAPI + # MMRESULT + # WINAPI + # joyGetDevCapsW( + # _In_ UINT_PTR uJoyID, + # _Out_writes_bytes_(cbjc) LPJOYCAPSW pjc, + # _In_ UINT cbjc + # ); + joyGetDevCapsW = winmm.joyGetDevCapsW + joyGetDevCapsW.restype = MMRESULT + + if defined(UNICODE): + joyGetDevCaps = joyGetDevCapsW + else: + joyGetDevCaps = joyGetDevCapsA + # END IF not UNICODE + else: + # MMRESULT WINAPI joyGetDevCaps( + # UINT uJoyID, + # LPJOYCAPS pjc, + # UINT cbjc + # ); + joyGetDevCaps = winmm.joyGetDevCaps + joyGetDevCaps.restype = MMRESULT + + # END IF + + # WINMMAPI + # MMRESULT + # WINAPI + # joyGetPos( + # _In_ UINT uJoyID, + # _Out_ LPJOYINFO pji + # ); + joyGetPos = winmm.joyGetPos + joyGetPos.restype = MMRESULT + + # WINMMAPI + # MMRESULT + # WINAPI + # joyGetThreshold( + # _In_ UINT uJoyID, + # _Out_ LPUINT puThreshold + # ); + joyGetThreshold = winmm.joyGetThreshold + joyGetThreshold.restype = MMRESULT + + # WINMMAPI + # MMRESULT + # WINAPI + # joyReleaseCapture( + # _In_ UINT uJoyID + # ); + joyReleaseCapture = winmm.joyReleaseCapture + joyReleaseCapture.restype = MMRESULT + + # WINMMAPI + # MMRESULT + # WINAPI + # joySetCapture( + # _In_ HWND hwnd, + # _In_ UINT uJoyID, + # _In_ UINT uPeriod, + # _In_ BOOL fChanged + # ); + joySetCapture = winmm.joySetCapture + joySetCapture.restype = MMRESULT + + # WINMMAPI + # MMRESULT + # WINAPI + # joySetThreshold( + # _In_ UINT uJoyID, + # _In_ UINT uThreshold + # ); + joySetThreshold = winmm.joySetThreshold + joySetThreshold.restype = MMRESULT + + if WINVER >= 0x0400: + # WINMMAPI + # MMRESULT + # WINAPI + # joyConfigChanged( + # _In_ DWORD dwFlags + # ); + joyConfigChanged = winmm.joyConfigChanged + joyConfigChanged.restype = MMRESULT + # END IF + # END IF ifndef MMNOJOY + # END IF WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + + if defined(__cplusplus): + pass + # END IF +# END IF _JOYSTICKAPI_H_ diff --git a/plugins/Joystick/mmsyscom_h.py b/plugins/Joystick/mmsyscom_h.py new file mode 100644 index 000000000..0bd4603bb --- /dev/null +++ b/plugins/Joystick/mmsyscom_h.py @@ -0,0 +1,360 @@ +from win_constants_h import * +import ctypes +from ctypes.wintypes import POINTER, UINT, BYTE, DWORD + +ULONG_PTR = ctypes.c_uint32 +# ENDIF + +VOID = ctypes.c_void_p +CALLBACK = ctypes.WINFUNCTYPE +DWORD_PTR = ULONG_PTR + + +_INC_MMSYSCOM = None +_WINMM_ = None +MM_MICROSOFT = None +MM_MIDI_MAPPER = None +MM_DRVM_OPEN = None +MM_MCISIGNAL = None + + +class mmtime_tag(ctypes.Structure): + pass + + +MMTIME = mmtime_tag +PMMTIME = POINTER(mmtime_tag) +NPMMTIME = POINTER(mmtime_tag) +LPMMTIME = POINTER(mmtime_tag) + +from winapifamily_h import * # NOQA + + +# /* == == == == == == == == == == == == == == == == == == == == == == == == +# == == == == == == == == == == == == == mmsyscom.h -- Commonm Include file +# for Multimedia API's Version 4.00 Copyright (C) 1992-1998 Microsoft +# Corporation. All Rights Reserved. == == == == == == == == == == == == == == +# == == == == == == == == == == == == == == == == == == == == == == == +if not defined(_INC_MMSYSCOM): + _INC_MMSYSCOM = 1 # defined if mmsystem.h has been included + if defined(_WIN32): + if not defined(RC_INVOKED): + pass + # END IF + else: + pass + # END IF + + if defined(__cplusplus): + pass + # END IF __cplusplus + + if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM): + if defined(_WIN32): + if not defined(_WINMM_): + WINMMAPI = VOID + else: + WINMMAPI = VOID + # END IF + + _loadds = VOID + _huge = VOID + else: + WINMMAPI = VOID + # END IF + + if defined(_MAC): + pass + # END IF _MAC + + # ********************************************************************* + # General constants and data types + # ********************************************************************* + + # general constants + MAXPNAMELEN = 32 # max product name length (including NULL) + MAXERRORLENGTH = 256 # max error text length (including NULL) + MAX_JOYSTICKOEMVXDNAME = 260 # max oem vxd name length (including NULL) + + # /* Microsoft Manufacturer and Product ID's + # (these have been moved to MMREG.H for Windows 4.00 and above). + if WINVER <= 0x0400: + if not defined(MM_MICROSOFT): + MM_MICROSOFT = 1 # Microsoft Corporation + # END IF + + if not defined(MM_MIDI_MAPPER): + MM_MIDI_MAPPER = 1 # MIDI Mapper + MM_WAVE_MAPPER = 2 # Wave Mapper + MM_SNDBLST_MIDIOUT = 3 # Sound Blaster MIDI output port + MM_SNDBLST_MIDIIN = 4 # Sound Blaster MIDI input port + MM_SNDBLST_SYNTH = 5 # Sound Blaster internal synthesizer + MM_SNDBLST_WAVEOUT = 6 # Sound Blaster waveform output + MM_SNDBLST_WAVEIN = 7 # Sound Blaster waveform input + MM_ADLIB = 9 # Ad Lib-compatible synthesizer + MM_MPU401_MIDIOUT = 10 # MPU401-compatible MIDI output port + MM_MPU401_MIDIIN = 11 # MPU401-compatible MIDI input port + MM_PC_JOYSTICK = 12 # Joystick adapter + # END IF + # END IF + + # general data types + if defined(_WIN32): + # major (high byte), minor (low byte) + MMVERSION = UINT + else: + # major (high byte), minor (low byte) + VERSION = UINT + # END IF + + class MMRESULT(UINT): + pass + + + _MMRESULT_ = VOID + LPUINT = POINTER(UINT) + + # MMTIME data structure + class u(ctypes.Union): + pass + + + class smpte(ctypes.Structure): + pass + + + _TEMP_smpte = [ + # hours + ('hour', BYTE), + # minutes + ('min', BYTE), + # seconds + ('sec', BYTE), + # frames + ('frame', BYTE), + # frames per second + ('fps', BYTE), + # pad + ('dummy', BYTE), + ] + if defined(_WIN32): + _TEMP_smpte += [ + ('pad', BYTE * 2), + ] + # END IF + + smpte._fields_ = _TEMP_smpte + u.smpte = smpte + + + class midi(ctypes.Structure): + pass + + + midi._fields_ = [ + # song pointer position + ('songptrpos', DWORD), + ] + u.midi = midi + + u._fields_ = [ + # milliseconds + ('ms', DWORD), + # samples + ('sample', DWORD), + # byte count + ('cb', DWORD), + # ticks in MIDI stream + ('ticks', DWORD), + # SMPTE + ('smpte', u.smpte), + # MIDI + ('midi', u.midi), + ] + mmtime_tag.u = u + + mmtime_tag._fields_ = [ + # indicates the contents of the union + ('wType', UINT), + ('u', mmtime_tag.u), + ] + + # types for wType field in MMTIME struct + TIME_MS = 0x0001 # time in milliseconds + TIME_SAMPLES = 0x0002 # number of wave samples + TIME_BYTES = 0x0004 # current byte offset + TIME_SMPTE = 0x0008 # SMPTE time + TIME_MIDI = 0x0010 # MIDI time + TIME_TICKS = 0x0020 # Ticks within MIDI stream + + + # /* + def MAKEFOURCC(ch0, ch1, ch2, ch3): + return ( + ord(ch0) | + (ord(ch1) << 8) | + (ord(ch2) << 16) | + (ord(ch3) << 24) + ) + + + # ********************************************************************* + # Multimedia Extensions Window Messages + # ********************************************************************* + + MM_JOY1MOVE = 0x3A0 # joystick + MM_JOY2MOVE = 0x3A1 + MM_JOY1ZMOVE = 0x3A2 + MM_JOY2ZMOVE = 0x3A3 + MM_JOY1BUTTONDOWN = 0x3B5 + MM_JOY2BUTTONDOWN = 0x3B6 + MM_JOY1BUTTONUP = 0x3B7 + MM_JOY2BUTTONUP = 0x3B8 + MM_MCINOTIFY = 0x3B9 # MCI + MM_WOM_OPEN = 0x3BB # waveform output + MM_WOM_CLOSE = 0x3BC + MM_WOM_DONE = 0x3BD + MM_WIM_OPEN = 0x3BE # waveform input + MM_WIM_CLOSE = 0x3BF + MM_WIM_DATA = 0x3C0 + MM_MIM_OPEN = 0x3C1 # MIDI input + MM_MIM_CLOSE = 0x3C2 + MM_MIM_DATA = 0x3C3 + MM_MIM_LONGDATA = 0x3C4 + MM_MIM_ERROR = 0x3C5 + MM_MIM_LONGERROR = 0x3C6 + MM_MOM_OPEN = 0x3C7 # MIDI output + MM_MOM_CLOSE = 0x3C8 + MM_MOM_DONE = 0x3C9 + + # these are also in msvideo.h + if not defined(MM_DRVM_OPEN): + MM_DRVM_OPEN = 0x3D0 # installable drivers + MM_DRVM_CLOSE = 0x3D1 + MM_DRVM_DATA = 0x3D2 + MM_DRVM_ERROR = 0x3D3 + # END IF + + # these are used by msacm.h + MM_STREAM_OPEN = 0x3D4 + MM_STREAM_CLOSE = 0x3D5 + MM_STREAM_DONE = 0x3D6 + MM_STREAM_ERROR = 0x3D7 + if WINVER >= 0x0400: + MM_MOM_POSITIONCB = 0x3CA # Callback for MEVT_POSITIONCB + if not defined(MM_MCISIGNAL): + MM_MCISIGNAL = 0x3CB + # END IF + + MM_MIM_MOREDATA = 0x3CC # MIM_DONE w/ pending events + # END IF WINVER >= 0x0400 + + MM_MIXM_LINE_CHANGE = 0x3D0 # mixer line change notify + MM_MIXM_CONTROL_CHANGE = 0x3D1 # mixer control change notify + + # ********************************************************************* + # String resource number bases (internal use) + # ********************************************************************* + + MMSYSERR_BASE = 0 + WAVERR_BASE = 32 + MIDIERR_BASE = 64 + TIMERR_BASE = 96 + JOYERR_BASE = 160 + MCIERR_BASE = 256 + MIXERR_BASE = 1024 + MCI_STRING_OFFSET = 512 + MCI_VD_OFFSET = 1024 + MCI_CD_OFFSET = 1088 + MCI_WAVE_OFFSET = 1152 + MCI_SEQ_OFFSET = 1216 + + # ********************************************************************* + # General error return values + # ********************************************************************* + + # general error return values + MMSYSERR_NOERROR = 0 # no error + MMSYSERR_ERROR = MMSYSERR_BASE + 1 # unspecified error + MMSYSERR_BADDEVICEID = MMSYSERR_BASE + 2 # device ID out of range + MMSYSERR_NOTENABLED = MMSYSERR_BASE + 3 # driver failed enable + MMSYSERR_ALLOCATED = MMSYSERR_BASE + 4 # device already allocated + MMSYSERR_INVALHANDLE = MMSYSERR_BASE + 5 # device handle is invalid + MMSYSERR_NODRIVER = MMSYSERR_BASE + 6 # no device driver present + MMSYSERR_NOMEM = MMSYSERR_BASE + 7 # memory allocation error + MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8 # function isn't supported + MMSYSERR_BADERRNUM = MMSYSERR_BASE + 9 # error value out of range + MMSYSERR_INVALFLAG = MMSYSERR_BASE + 10 # invalid flag passed + MMSYSERR_INVALPARAM = MMSYSERR_BASE + 11 # invalid parameter passed + MMSYSERR_HANDLEBUSY = MMSYSERR_BASE + 12 # handle being used + + # simultaneously on another + # thread (eg callback) + MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13 # specified alias not found + MMSYSERR_BADDB = MMSYSERR_BASE + 14 # bad registry database + MMSYSERR_KEYNOTFOUND = MMSYSERR_BASE + 15 # registry key not found + MMSYSERR_READERROR = MMSYSERR_BASE + 16 # registry read error + MMSYSERR_WRITEERROR = MMSYSERR_BASE + 17 # registry write error + MMSYSERR_DELETEERROR = MMSYSERR_BASE + 18 # registry delete error + MMSYSERR_VALNOTFOUND = MMSYSERR_BASE + 19 # registry value not found + MMSYSERR_NODRIVERCB = MMSYSERR_BASE + 20 # driver does not call DriverCallback + MMSYSERR_MOREDATA = MMSYSERR_BASE + 21 # more data to be returned + MMSYSERR_LASTERROR = MMSYSERR_BASE + 21 # last error in range + + if (WINVER < 0x030a) or defined(_WIN32): + HDRVR = VOID + else: + HDRVR = VOID + # END IF ifdef WINVER < 0x030a + + # ********************************************************************* + # Driver callback support + # ********************************************************************* + + # flags used with waveOutOpen(), waveInOpen(), midiInOpen(), and + # midiOutOpen() to specify the type of the dwCallback parameter. + CALLBACK_TYPEMASK = 0x00070000 # callback type mask + CALLBACK_NULL = 0x00000000 # no callback + CALLBACK_WINDOW = 0x00010000 # dwCallback is a HWND + CALLBACK_TASK = 0x00020000 # dwCallback is a HTASK + CALLBACK_FUNCTION = 0x00030000 # dwCallback is a FARPROC + if defined(_WIN32): + CALLBACK_THREAD = CALLBACK_TASK # thread ID replaces 16 bit task + CALLBACK_EVENT = 0x00050000 # dwCallback is an EVENT Handle + # END IF + + # typedef VOID (CALLBACK DRVCALLBACK)( + # HDRVR hdrvr, + # UINT uMsg, + # DWORD_PTR dwUser, + # DWORD_PTR dw1, + # DWORD_PTR dw2 + # ); + DRVCALLBACK = CALLBACK( + VOID, + HDRVR, + UINT, + DWORD_PTR, + DWORD_PTR, + DWORD_PTR, + ) + + LPDRVCALLBACK = POINTER(DRVCALLBACK) + + if defined(_WIN32): + PDRVCALLBACK = POINTER(DRVCALLBACK) + # END IF + # END IF WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) + + if defined(__cplusplus): + # Assume C declarations for C + + + pass + # END IF __cplusplus + if defined(_WIN32): + if not defined(RC_INVOKED): + pass + # END IF + else: + pass + # END IF +# END IF _INC_MMSYSCOM diff --git a/plugins/Joystick/win_constants_h.py b/plugins/Joystick/win_constants_h.py new file mode 100644 index 000000000..402a99ca1 --- /dev/null +++ b/plugins/Joystick/win_constants_h.py @@ -0,0 +1,77 @@ +import eg +import sys + + +def defined(macro): + return macro is not None + + +windows_version = eg.WindowsVersion + +_WIN32_WINNT_NT4 = 0x0400 # Windows NT 4.0 +_WIN32_WINNT_WIN2K = 0x0500 # Windows 2000 +_WIN32_WINNT_WINXP = 0x0501 # Windows XP +_WIN32_WINNT_WS03 = 0x0502 # Windows Server 2003 +_WIN32_WINNT_WIN6 = 0x0600 # Windows Vista +_WIN32_WINNT_VISTA = 0x0600 # Windows Vista +_WIN32_WINNT_WS08 = 0x0600 # Windows Server 2008 +_WIN32_WINNT_LONGHORN = 0x0600 # Windows Vista +_WIN32_WINNT_WIN7 = 0x0601 # Windows 7 +_WIN32_WINNT_WIN8 = 0x0602 # Windows 8 +_WIN32_WINNT_WINBLUE = 0x0603 # Windows 8.1 +_WIN32_WINNT_WINTHRESHOLD = 0x0A00 # Windows 10 +_WIN32_WINNT_WIN10 = 0x0A00 # Windows 10 +_WIN32_WINNT_WIN10_RS2 = _WIN32_WINNT_WIN10 +_WIN32_WINNT_WIN10_RS3 = _WIN32_WINNT_WIN10 + +if windows_version.IsXP(): + GDIPVER = 0x0100 + _WIN32_WINNT = _WIN32_WINNT_WINXP + +elif windows_version.IsVista(): + GDIPVER = 0x0110 + _WIN32_WINNT = _WIN32_WINNT_VISTA + +elif windows_version.Is7(): + GDIPVER = 0x0110 + _WIN32_WINNT = _WIN32_WINNT_WIN7 + +elif windows_version.Is8(): + GDIPVER = 0x0110 + _WIN32_WINNT = _WIN32_WINNT_WIN8 + +elif windows_version.Is10(): + GDIPVER = 0x0110 + _WIN32_WINNT = _WIN32_WINNT_WIN10 + +else: + GDIPVER = 0x0110 + _WIN32_WINNT = None + +WINVER = _WIN32_WINNT + +if sys.maxsize > 2**32: + __64BIT__ = 1 + _WIN64 = 1 + _AMD64_ = 1 + WIN64 = 1 + _X86_ = None +else: + __64BIT__ = None + _WIN64 = None + WIN64 = None + _AMD64_ = None + _X86_ = 1 + +_MSC_VER = 1915 +__cplusplus = None +_WIN32 = 1 +UNICODE = 1 +RC_INVOKED = None +_MAC = None + + +__all__ = ( + 'UNICODE', '_WIN32', '__cplusplus', '_MSC_VER', '_WIN32_WINNT', 'WINVER', + 'defined', 'RC_INVOKED', '_MAC', '_WIN64' +) diff --git a/plugins/Joystick/winapifamily_h.py b/plugins/Joystick/winapifamily_h.py new file mode 100644 index 000000000..2f540f9df --- /dev/null +++ b/plugins/Joystick/winapifamily_h.py @@ -0,0 +1,264 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Module Name: +# winapifamily.h +# Abstract: +# Master include file for API family partitioning. + +from win_constants_h import * + +_INC_WINAPIFAMILY = None +MOFCOMP_PASS = None +WINAPI_FAMILY = None +WINAPI_PARTITION_DESKTOP = None +WINAPI_PARTITION_APP = None +WINAPI_PARTITION_PC_APP = None +WINAPI_PARTITION_PHONE_APP = None +WINAPI_PARTITION_SYSTEM = None +WINAPI_PARTITION_SERVER = None + +if not defined(_INC_WINAPIFAMILY): + _INC_WINAPIFAMILY = 1 + + if defined(_MSC_VER) and not defined(MOFCOMP_PASS): + if _MSC_VER >= 1200: + pass + # ENDIF _MSC_VER >= 1200 + # ENDIF defined(_MSC_VER) and not defined(MOFCOMP_PASS) + + # When compiling C and C++ code using SDK header files, the development + # environment can specify a target platform by #define-ing the + # pre-processor symbol WINAPI_FAMILY to one of the following values. + # Each FAMILY value denotes an application family for which a different + # subset of the total set of header-file-defined APIs are available. + # Setting the WINAPI_FAMILY value will effectively hide from the + # editing and compilation environments the existence of APIs that + # are not applicable to the family of applications targeting a + # specific platform. + + # In Windows 10, WINAPI_PARTITIONs will be used to add additional + # device specific APIs to a particular WINAPI_FAMILY. + # For example, when writing Windows Universal apps, specifying + # WINAPI_FAMILY_APP will hide phone APIs from compilation. + # However, specifying WINAPI_PARTITION_PHONE_APP=1 additionally, will + # unhide any API hidden behind the partition, to the compiler. + + # The following partitions are currently defined: + + # usable for Desktop Win32 apps (but not store apps) + # WINAPI_PARTITION_DESKTOP + + # usable for Windows Universal store apps + # WINAPI_PARTITION_APP + + # specific to Desktop-only store apps + # WINAPI_PARTITION_PC_APP + + # specific to Phone-only store apps + # WINAPI_PARTITION_PHONE_APP + + # specific to System applications + # WINAPI_PARTITION_SYSTEM + + # The following partitions are indirect partitions and defined in + # winpackagefamily.h. These partitions are related to package based + # partitions. For example, specifying WINAPI_PARTITION_SERVER=1 will + # light up + # any API hidden behind the package based partitions that are bound to + # WINAPI_PARTITION_SERVER, to the compiler. + # WINAPI_PARTITION_SERVER // specific to Server applications + + # The WINAPI_FAMILY values of 0 and 1 are reserved to ensure that + # an error will occur if WINAPI_FAMILY is set to any + # WINAPI_PARTITION value (which must be 0 or 1, see below). + + WINAPI_FAMILY_PC_APP = 2 # Windows Store Applications + WINAPI_FAMILY_PHONE_APP = 3 # Windows Phone Applications + WINAPI_FAMILY_SYSTEM = 4 # Windows Drivers and Tools + WINAPI_FAMILY_SERVER = 5 # Windows Server Applications + WINAPI_FAMILY_DESKTOP_APP = 100 # Windows Desktop Applications + + # The value of WINAPI_FAMILY_DESKTOP_APP may change in future SDKs. + # Additional WINAPI_FAMILY values may be defined in future SDKs. + + # + # For compatibility with Windows 8 header files, the following + # synonym for WINAPI_FAMILY_PC_APP is temporarily #define'd. + # Use of this symbol should be considered deprecated. + # + + WINAPI_FAMILY_APP = WINAPI_FAMILY_PC_APP + + # If no WINAPI_FAMILY value is specified, then all APIs available to + # Windows desktop applications are exposed. + # + + if not defined(WINAPI_FAMILY): + WINAPI_FAMILY = WINAPI_FAMILY_DESKTOP_APP + # ENDIF defined(WINAPI_FAMILY) + + # API PARTITONs are part of an indirection mechanism for mapping between + # individual APIs and the FAMILYs to which they apply. + # Each PARTITION is a category or subset of named APIs. PARTITIONs + # are permitted to have overlapping membership -- some single API + # might be part of more than one PARTITION. PARTITIONS are each #define-ed + # to be either 1 or 0 or depending on the platform at which the app is + # targeted. + + # The mapping between families and partitions is summarized here. + # An X indicates that the given partition is active for the given + # platform/family. + # + # +-------------------+---+ + # | *Partition* | | + # +---+---+---+---+---+---+ + # | | | | | | | + # | | | | | | | + # | | | | P | | | + # | | | | H | | | + # | D | | | O | | | + # | E | | P | N | S | S | + # | S | | C | E | Y | E | + # | K | | _ | _ | S | R | + # | T | A | A | A | T | V | + # +-------------------------+----+ O | P | P | P | E | E | + # | *Platform/Family* \| P | P | P | P | M | R | + # +------------------------------+---+---+---+---+---+---+ + # | WINAPI_FAMILY_DESKTOP_APP | X | X | X | | | | + # +------------------------------+---+---+---+---+---+---+ + # | WINAPI_FAMILY_PC_APP | | X | X | | | | + # +------------------------------+---+---+---+---+---+---+ + # | WINAPI_FAMILY_PHONE_APP | | X | | X | | | + # +----------------------------- +---+---+---+---+---+---+ + # | WINAPI_FAMILY_SYSTEM | | | | | X | | + # +----------------------------- +---+---+---+---+---+---+ + # | WINAPI_FAMILY_SERVER | | | | | X | X | + # +------------------------------+---+---+---+---+---+---+ + + # The table above is encoded in the following expressions, + # each of which evaluates to 1 or 0. + + # Whenever a new family is added, all of these expressions + # need to be reconsidered. + + if WINAPI_FAMILY not in ( + WINAPI_FAMILY_DESKTOP_APP, + WINAPI_FAMILY_PC_APP, + WINAPI_FAMILY_PHONE_APP, + WINAPI_FAMILY_SYSTEM, + WINAPI_FAMILY_SERVER + ): + raise RuntimeError( + 'Unknown WINAPI_FAMILY value. Was it defined ' + 'in terms of a WINAPI_PARTITION_* value?' + ) + # ENDIF WINAPI_FAMILY not in ( + # WINAPI_FAMILY_DESKTOP_APP, + # WINAPI_FAMILY_PC_APP, + # WINAPI_FAMILY_PHONE_APP, + # WINAPI_FAMILY_SYSTEM , + # WINAPI_FAMILY_SERVER + # ) + + if not defined(WINAPI_PARTITION_DESKTOP): + WINAPI_PARTITION_DESKTOP = ( + WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP + ) + # ENDIF not defined(WINAPI_PARTITION_DESKTOP) + + if not defined(WINAPI_PARTITION_APP): + WINAPI_PARTITION_APP = ( + WINAPI_FAMILY in + ( + WINAPI_FAMILY_DESKTOP_APP, + WINAPI_FAMILY_PC_APP, + WINAPI_FAMILY_PHONE_APP + ) + ) + # ENDIF not defined(WINAPI_PARTITION_APP) + + if not defined(WINAPI_PARTITION_PC_APP): + WINAPI_PARTITION_PC_APP = ( + WINAPI_FAMILY in (WINAPI_FAMILY_DESKTOP_APP, WINAPI_FAMILY_PC_APP) + ) + # ENDIF not defined(WINAPI_PARTITION_PC_APP) + + if not defined(WINAPI_PARTITION_PHONE_APP): + WINAPI_PARTITION_PHONE_APP = ( + WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP + ) + + WINAPI_PARTITION_PHONE_RESTRICTED = 0 + # ENDIF not defined(WINAPI_PARTITION_PHONE_APP) + + # SYSTEM is the only partition defined here. + # All other System based editions are defined as packages + # on top of the System partition. + # See winpackagefamily.h for packages level partitions + + if not defined(WINAPI_PARTITION_SYSTEM): + WINAPI_PARTITION_SYSTEM = ( + WINAPI_FAMILY in (WINAPI_FAMILY_SYSTEM, WINAPI_FAMILY_SERVER) + ) + # ENDIF not defined(WINAPI_PARTITION_SYSTEM) + + # For compatibility with Windows Phone 8 header files, the following + # synonym for WINAPI_PARTITION_PHONE_APP is temporarily #define'd. + # Use of this symbol should be regarded as deprecated. + + WINAPI_PARTITION_PHONE = WINAPI_PARTITION_PHONE_APP + + # Header files use the WINAPI_FAMILY_PARTITION macro to assign one or + # more declarations to some group of partitions. The macro chooses + # whether the preprocessor will emit or omit a sequence of declarations + # bracketed by an #if/#endif pair. All header file references to the + # WINAPI_PARTITION_* values should be in the form of occurrences of + # WINAPI_FAMILY_PARTITION(...). + + def WINAPI_FAMILY_PARTITION(Partitions): + return Partitions + + # Macro used to #define or typedef a symbol used for selective deprecation + # of individual methods of a COM interfaces that are otherwise available + # for a given set of partitions. + + def _WINAPI_DEPRECATED_DECLARATION(): + raise RuntimeError( + "This API cannot be used in the context" + "of the caller's application type." + ) + + # For compatibility with Windows 8 header files, the following + # symbol is temporarily conditionally #define'd. Additional symbols + # like this should be not defined in winapifamily.h, but rather should be + # introduced locally to the header files of the component that needs them. + + if ( + WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) and + not WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + ): + APP_DEPRECATED_HRESULT = _WINAPI_DEPRECATED_DECLARATION + # ENDIF ( + # WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) and + # not WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + # ) + + if defined(_MSC_VER) and not defined(MOFCOMP_PASS): + if _MSC_VER >= 1200: + pass + # ENDIF if _MSC_VER >= 1200 + # ENDIF defined(_MSC_VER) and not defined(MOFCOMP_PASS) + + from winpackagefamily_h import * # NOQA + +# ENDIF not defined(_INC_WINAPIFAMILY) + +__all__ = ( + 'WINAPI_FAMILY_APP', 'WINAPI_FAMILY_DESKTOP_APP', + 'WINAPI_FAMILY_PARTITION', 'WINAPI_FAMILY_PC_APP', + 'WINAPI_FAMILY_PHONE_APP', 'WINAPI_FAMILY_SERVER', + 'WINAPI_FAMILY_SYSTEM', 'WINAPI_PARTITION_PHONE', + '_WINAPI_DEPRECATED_DECLARATION', 'WINAPI_PARTITION_PHONE_RESTRICTED', + 'WINAPI_FAMILY', 'WINAPI_PARTITION_DESKTOP', 'WINAPI_PARTITION_APP', + 'WINAPI_PARTITION_PC_APP', 'WINAPI_PARTITION_PHONE_APP', + 'WINAPI_PARTITION_SYSTEM', 'WINAPI_PARTITION_SERVER', +) diff --git a/plugins/Joystick/winpackagefamily_h.py b/plugins/Joystick/winpackagefamily_h.py new file mode 100644 index 000000000..5868b2e69 --- /dev/null +++ b/plugins/Joystick/winpackagefamily_h.py @@ -0,0 +1,96 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Module Name: +# winpackagefamily.h +# Abstract: +# API family partitioning based on packages. + +from win_constants_h import * + +_INC_WINPACKAGEFAMILY = None +MOFCOMP_PASS = None + +if not defined(_INC_WINPACKAGEFAMILY): + _INC_WINPACKAGEFAMILY = 1 + from winapifamily_h import * + + if defined(_MSC_VER) and not defined(MOFCOMP_PASS): + if _MSC_VER >= 1200: + pass + # ENDIF defined(_MSC_VER) and not defined(MOFCOMP_PASS) + # ENDIF defined(_MSC_VER) and not defined(MOFCOMP_PASS) + WINAPI_PARTITION_ONECORE_APP = 0 + + if not defined(WINAPI_PARTITION_SERVER): + WINAPI_PARTITION_SERVER = ( + WINAPI_FAMILY == WINAPI_FAMILY_SERVER + ) + # ENDIF not defined(WINAPI_PARTITION_SERVER) + + # PARTITIONS based on packages are each #undef'ed below, and then will be + # #define-ed to be either 1 or 0 or depending on the active WINAPI_FAMILY. + # PARTITIONS for feature packages. Each package might be active for + # one or more editions + WINAPI_PARTITION_PKG_WINTRUST = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_WEBSERVICES = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_EVENTLOGSERVICE = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_VHD = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_PERFCOUNTER = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_SECURESTARTUP = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_REMOTEFS = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_BOOTABLESKU = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_CMDTOOLS = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_DISM = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_CORESETUP = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_APPRUNTIME = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_ESENT = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_WINMGMT = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_WNV = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_CLUSTER = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_VSS = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_TRAFFIC = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_ISCSI = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_STORAGE = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_MPSSVC = WINAPI_PARTITION_SERVER == 1 + WINAPI_PARTITION_PKG_APPXDEPLOYMENT = ( + WINAPI_PARTITION_SERVER == 1 + ) + WINAPI_PARTITION_PKG_WER = WINAPI_PARTITION_SERVER == 1 + + if defined(_MSC_VER) and not defined(MOFCOMP_PASS): + if _MSC_VER >= 1200: + pass + # ENDIF if _MSC_VER >= 1200 + # endif defined(_MSC_VER) and not defined(MOFCOMP_PASS) + +# ENDIF not defined(_INC_WINPACKAGEFAMILY) + +__all__ = ( + 'WINAPI_PARTITION_PKG_APPRUNTIME', 'WINAPI_PARTITION_PKG_BOOTABLESKU', + 'WINAPI_PARTITION_PKG_APPXDEPLOYMENT', 'WINAPI_PARTITION_PKG_CLUSTER', + 'WINAPI_PARTITION_PKG_CMDTOOLS', 'WINAPI_PARTITION_PKG_CORESETUP', + 'WINAPI_PARTITION_PKG_DISM', 'WINAPI_PARTITION_PKG_ESENT', + 'WINAPI_PARTITION_PKG_EVENTLOGSERVICE', 'WINAPI_PARTITION_PKG_ISCSI', + 'WINAPI_PARTITION_PKG_MPSSVC', 'WINAPI_PARTITION_PKG_PERFCOUNTER', + 'WINAPI_PARTITION_PKG_REMOTEFS', 'WINAPI_PARTITION_PKG_SECURESTARTUP', + 'WINAPI_PARTITION_PKG_STORAGE', 'WINAPI_PARTITION_PKG_TRAFFIC', + 'WINAPI_PARTITION_PKG_VHD', 'WINAPI_PARTITION_PKG_VSS', + 'WINAPI_PARTITION_PKG_WEBSERVICES', 'WINAPI_PARTITION_PKG_WER', + 'WINAPI_PARTITION_PKG_WINMGMT', 'WINAPI_PARTITION_PKG_WINTRUST', + 'WINAPI_PARTITION_PKG_WNV', 'WINAPI_PARTITION_ONECORE_APP' +) diff --git a/plugins/KIRA/__init__.py b/plugins/KIRA/__init__.py index 1840d3660..7021908e7 100644 --- a/plugins/KIRA/__init__.py +++ b/plugins/KIRA/__init__.py @@ -282,7 +282,7 @@ def __init__(self, port, handler): self.handler = handler asyncore.dispatcher.__init__(self) self.create_socket(socket.AF_INET, socket.SOCK_DGRAM) - self.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.bind(('', port)) self.add_channel() eg.RestartAsyncore() diff --git a/plugins/LimitlessLED/__init__.py b/plugins/LimitlessLED/__init__.py new file mode 100644 index 000000000..59ecc8e85 --- /dev/null +++ b/plugins/LimitlessLED/__init__.py @@ -0,0 +1,1971 @@ +# Change Log --- CURRENT VERSION 1.4.0 + +# ==================\ +# 1.4.0 - 2015/11/25\ +# ==================\ +# Features: +# - The user is now able to optionally specify the global variable they'd like to use for the VARIABLE COMMAND option. +# +# Added: +# - Added an icon! :) +# +# Changed: +# - Some ConfigPanels have been updated; this is part of a larger wxPython project I am working on. +# +# Bugfixes: +# - Fixed a small number of notify-errors. +# ==================\ + +# ==================\ +# 1.3.1 - 2015/11/18\ +# ==================\ +# Added: +# - Version checker will initialize on every startup and notify the user if an update is necessary. +# +# Bugfixes: +# - There is now a maximum brightness of 100% on all lights commands. +# ==================\ + +# ==================\ +# 1.3.0 - 2015/10/31\ +# ==================\ +# Features: +# - Added NAME GROUPS Action +# = You can now name your groups in a human-friendly way. +# +# - Added SHOW GROUPS STATUS Action +# = You can now view the theoretical status of your groups. +# +# - Added VARIABLE COMMAND Action +# = You can now perform any action based on an EventGhost payload. +# ==================\ + +# ==================\ +# 1.2.2 - 2015/10/24\ +# ==================\ +# Bugfixes: +# - Commands can be edited properly now. +# ==================\ + +# ==================\ +# 1.2.1 - 2015/09/14\ +# ==================\ +# Bugfixes: +# - Groups will now brighten and darken correctly if group1 is dark, and only one group is on. +# +# ***DEV SPECIFIC CHANGES*** +# - FILLER GROUP BV changed from 000 to 999. +# ==================\ + +# ==================\ +# 1.2.0 - 2015/08/16\ +# ==================\ +# Features: +# - All actions are named appropriately and can be re-configured now. +# +# Optimization: +# - All commands are slightly faster (likely unnoticable), but have more built-in redundancy. +# - Cleaned up some UI elements from showing if they didn't need to be (controls for groups 5 - 8 if no second bridge present) +# +# Removed: +# - UI elements that are now-defunct like the "RESET GROUPS" button and all such associations. +# +# ***DEV SPECIFIC CHANGES*** +# - Full code is now ~150 lines shorter. +# = Cleaned up "IF WHITE" condition to only be 2-4 lines +# = Removed defunct UI elements +# ==================\ + +# ==================\ +# 1.1.1 - 2015/08/13\ +# ==================\ +# Added: +# - All actions are named appropriately and can be re-configured now. +# +# Bugfixes: +# - Lights will now properly dim or brighten if two complementary commands are sent back-to-back. + +# ==================\ +# 1.1.0 - 2015/08/12\ +# ==================\ +# Features: +# - Added DIMMER Action +# == You can now set brightness levels directly, or step up/down by a level (includes a 2x multiplier) +# +# Bugfixes: +# - Lights will now turn off correctly if some lights are WHITE and some are COLOR. BV of 0 was not recorded for WHITE; causing lights which were OFF to ON->DIM->OFF if "ALL OFF" command was run. +# +# Optimization: +# - Fine tuned TURN ON commands to work in most cases for bridges connected via WiFi (Commands were being sent to bridge too frequently with FOR LOOP, dumbed it down so RF could catch up) +# == Bulbs should turn on correctly the first time, color+brightness +# +# Added: +# - version indicator in CONFIG PANEL +# +# ***DEV SPECIFIC CHANGES*** +# - all relevant commands now adhere to the logic: "IF all GROUP BV/CV values are equal, then use the broadcast option (255.255.255.255), otherwise, use the rotate method." +# == See fn "CheckIfSame", supports BV or CV as these are set to arg "iterator", while the list itself is the second argument. Call the function result, return logic boolean. + +# ==================\ +# 1.0.0 - 2015/07/21\ +# ==================\ +# Initial Release! +# Features: +# - Up to 2 bridges, up to 9 total groups (8 individual, 1 for ALL) .. all features herein support any configuration of all/specific groups +# - ON @ specific brightness, specific color +# - OFF +# - All tertiary colors in RGB color pie! + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +""" +**Notice:** +This plugin supports LimitlessLED / MiLight bulbs. + +The goal of this plugin is to give the user complete control and customization over their LED RGBW bulbs. The plugin +supports up to two bridges, for a maximum of eight (nine, if you count the "broadcast all" option) groupings of +lights which should give even large homes good control over their investment. +""" + +import eg + +eg.RegisterPlugin( + name="LimitlessLED", + author="SupahNoob", + version="1.4.0", + kind="external", + description=__doc__, + url="https://www.reddit.com/message/compose/?to=SupahNoob", + icon=( + "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAA" + "ACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAC1lBMVEVb" + "hQFahQFahQFahQFahQFahQFahQFahQFahQFahQFbhQFahQFahQFahQFahQFahQFahQFa" + "hQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFbhQJbhQFa" + "hQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFahQFbhgJbhgJahQFa" + "hQFahQFahQFahQFahQFZhAFYhAFZhAFahQFahQFahQFahQFahQFbhQJZhABahQFahQFb" + "hgNbhgNbhgNZhANgiQNjiwJfiAFbhgRchgRchgRchgNchgRchgReiAhYgwBYgwBTgABU" + "gABRfgBpkABvlQBpkAB2mQFWggBQfgBRfwBSfwBRfgBSfwCnvntjjBBkjBGEpEN6nDia" + "tEuguUmKqU1njh52mQCbtVeNq1WRrleOq1KSrliNq1GZtGKkvHGZtGKWsV+btWCrwV96" + "nTN2mjCctlOfuECswX2kvHWrwX2ov3irwX6nvndgiQBiiwBjjABgigBiiwB5nABylgB3" + "mgB/oABpkAJeiABhigBgigBgigBgigBgiQB0mQRzmANzmAN0mANymAN4nAN8nwJ6nQJy" + "lwJxlwF0mQNzmAJzmAN0mAN0mANzmAN+oAJ9oAF+oAF9oAF+oAF8nwF8nwF8nwF+oAF+" + "oAF9oAF+oAF+oAF9oAF+oAF9oAGJqQKJqQGJqQGJqQGJqQGJqQGJqQGJqQGJqQGJqQGJ" + "qQGJqQGJqQGJqQGJqQGIqQGTsQKTsQGTsQGTsQGTsQGTsQGTsQGTsQGTsQGTsQGTsQGT" + "sQGTsQGTsQGTsQGSsQGeuQKduQGduQGduQGduQGduQGduQGduQGduQGduQGduQGduQGd" + "uQGduQGduQGduQGnwAOnwAKnwAKnwAKnwAKnwAKnwAKmwAKmwAKmwAKmvwGmwAKmwAGm" + "wAGmwAGlvwL////eOiK1AAAAAWJLR0TxQr/fwgAAAAd0SU1FB98LEwQtOBXhh5cAAAEZ" + "SURBVBjTY2BgZGJmYWVjB2MOTi4Gbh5ePn4BQSEwFhYRZRATl5CUkpaRBWM5eQUGRSVl" + "FVU1dQ1NLW0dXT19AwZDI2MTUzNzC0sraxtbO3sHBkcnZxdXN3cPTy9vH18//wCGwKDg" + "kNCw8IjIqOiY2Lj4BIbEpOSU1LT0jMys7JzcvPwChsKi4pLSsvKKyqrqmtq6+gaGxqbm" + "lta29o7Oru6e3r7+CQwTJ02eMnXa9BkzZ82eM3fe/AUMCxctXrJ02fIVK1etXrN23foN" + "DBs3bd6yddv2HTt37d6zd9/+AwwHDx0+cvTY8RMnT50+c/bc+QsMFy9dvnL12vUbN2/d" + "vnP33v0HDA8fPX7y9NnzFy9fvX7z9t37DwCIInHsRYJMPAAAACV0RVh0ZGF0ZTpjcmVh" + "dGUAMjAxNS0xMS0xOVQwNDo0NTo1NiswMTowMNxtWOcAAAAldEVYdGRhdGU6bW9kaWZ5" + "ADIwMTUtMTEtMTlUMDQ6NDU6NTYrMDE6MDCtMOBbAAAAAElFTkSuQmCC" + ), +) + +import socket +import os +import os.path +import wx +import time +import binascii +import random +import copy +import re +import sys +import requests +from threading import Thread + + +def versiontuple(v): + return tuple(map(int, (v.split(".")))) + + +def CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl, group5Ctrl, + group6Ctrl, group7Ctrl, group8Ctrl): + printgroups = [] + specifygroups = [] + + if groupallCtrl == True: + specifygroups = "\x42\x00\x55" + + if groupspecifyCtrl == True: + if group1Ctrl or group5Ctrl == True: + specifygroups.append("\x45\x00\x55") # == self.plugin.groupsONcode[1] + if group1Ctrl == True: + printgroups.append(1) + if group5Ctrl == True: + printgroups.append(5) + if group2Ctrl or group6Ctrl == True: + specifygroups.append("\x47\x00\x55") # == self.plugin.groupsONcode[2] + if group2Ctrl == True: + printgroups.append(2) + if group6Ctrl == True: + printgroups.append(6) + if group3Ctrl or group7Ctrl == True: + specifygroups.append("\x49\x00\x55") # == self.plugin.groupsONcode[3] + if group3Ctrl == True: + printgroups.append(3) + if group7Ctrl == True: + printgroups.append(7) + if group4Ctrl or group8Ctrl == True: + specifygroups.append("\x4B\x00\x55") # == self.plugin.groupsONcode[4] + if group4Ctrl == True: + printgroups.append(4) + if group8Ctrl == True: + printgroups.append(8) + + printgroups.sort() + return (specifygroups, printgroups) + + +def CreateBrightnessCode(brightness): + brightness = int(brightness * .27) + if brightness < 2: + brightness = 2 + + b = str(format(78, '02x')) + b += str(format(brightness, '02x')) + b += str(format(85, '02x')) + + brightnessCode = binascii.unhexlify(b) + return brightnessCode + + +def CheckIfSame(iterator, list_items): + if (list_items.count(iterator) == (len(list_items) - 1)): + return True + else: + return False + + +class LimitlessLED(eg.PluginBase): + def UpgradePlugin(self): + re_version = re.compile(ur'v([^\"]+)') + eg_post = 'http://www.eventghost.org/forum/viewtopic.php?f=9&t=7311&sid=d40efb73fbd7aa654cbaf01af88a32cc' + r = requests.get(eg_post) + remoteVersion = re_version.search(r.text) + if not remoteVersion: + print "Could not retrieve available version." + return + remoteVersion = remoteVersion.groups(1)[0] + + if versiontuple(self.info.version) >= versiontuple(remoteVersion): + print "LimitlessLED Plugin is up to date!" + else: + print "There is a new version (v" + remoteVersion + ") of this plugin available!" + print "Please copy and paste the link below into your browser." + print eg_post + print "Once downloaded and replaced, please restart EventGhost." + + def __init__(self): + Thread(target=self.UpgradePlugin).start() + + self.ip = "255.255.255.255" # This is the IP of the bridge, default is 255.255.255.255 (all bridges). + self.ip2 = "" # This is the IP of a second bridge, if you have more than 4 groups to use. + self.port = 8899 # This is the port that the bridge operates on, default is 8899. + + self.AddAction(ShowLightsStatus) + self.AddAction(NameGroups) + self.AddAction(TurnOn) + self.AddAction(TurnOff) + self.AddAction(Dimmer) # Action "Dim/Brighten lights" + self.AddAction(SetColor) + self.AddAction( + VariableCMD) # Action Influence group and/or brightness and/or color value based on a global EG variable. + + # These values are recorded globally more for record keeping purposes than anything else + self.specifygroups = [] # this is where we will actually define the groups we want to have an effect on. + + self.groupnames = [ + 'FILLER', + '*NOT SET*', + '*NOT SET*', + '*NOT SET*', + '*NOT SET*', + '*NOT SET*', + '*NOT SET*', + '*NOT SET*', + '*NOT SET*', + ] + + self.groupsBV = [ + 999, # FILLER group + 00, # group 1 + 00, # group 2 + 00, # group 3 + 00, # group 4 + 00, # group 5 + 00, # group 6 + 00, # group 7 + 00, # group 8 + ] + + self.groupsCV = [ + "FILLER", # FILLER group + "Color", # group 1 + "Color", # group 2 + "Color", # group 3 + "Color", # group 4 + "Color", # group 5 + "Color", # group 6 + "Color", # group 7 + "Color", # group 8 + ] + + self.groupsWhiteCode = ( + "\xC2\x00\x55", # all groups + "\xC5\x00\x55", # group 1 or 5 + "\xC7\x00\x55", # group 2 or 6 + "\xC9\x00\x55", # group 3 or 7 + "\xCB\x00\x55", # group 4 or 8 + ) + + self.color = ( + ("White"), + ("Cyan"), + ("Azure"), + ("Blue"), + ("Violet"), + ("Magenta"), + ("Rose"), + ("Red"), + ("Orange"), + ("Yellow"), + ("Chartreuse"), + ("Green"), + ("Spring Green"), + ) + + self.colorCodes = ( + ("\xC2\x00\x55"), # White + ("\x40\x35\x55"), # Cyan + ("\x40\x20\x55"), # Azure + ("\x40\xFF\x55"), # Blue + ("\x40\xF0\x55"), # Violet + ("\x40\xD0\x55"), # Magenta + ("\x40\xB5\x55"), # Rose + ("\x40\xB1\x55"), # Red + ("\x40\xA0\x55"), # Orange + ("\x40\x80\x55"), # Yellow + ("\x40\x72\x55"), # Chartreuse + ("\x40\x62\x55"), # Green + ("\x40\x51\x55"), # Spring Green + ) + + self.groupsONcode = ( + ("\x42\x00\x55"), # all groups + ("\x45\x00\x55"), # group 1 or 5 + ("\x47\x00\x55"), # group 2 or 6 + ("\x49\x00\x55"), # group 3 or 7 + ("\x4B\x00\x55"), # group 4 or 8 + ) + + self.groupsOFFcode = ( + ("\x41\x00\x55"), # all groups + ("\x46\x00\x55"), # group 1 or 5 + ("\x48\x00\x55"), # group 2 or 6 + ("\x4A\x00\x55"), # group 3 or 7 + ("\x4C\x00\x55"), # group 4 or 8 + ) + + def Configure(self, ip=0, ip2=0, port=0, secondBridge=0): + ip = self.ip + ip2 = self.ip2 + port = self.port + + panel = eg.ConfigPanel() + ipCtrl = wx.TextCtrl(panel, value=ip, name="IP Control: ") + portCtrl = panel.SpinIntCtrl(port, min=1, max=65535) + # Displays a box that ONLY registers an INTEGER for Port Number (important!!!) + secondBridge = panel.CheckBox(0, "I have a second bridge ") + secondBridgeCtrl = panel.TextCtrl(ip2) + + ipCtrl_label = panel.StaticText('IP Address: ') + ip2Ctrl_label = panel.StaticText('IP Address: ') + + if ip2 == "": + secondBridgeCtrl.Enable(False) + else: + secondBridgeCtrl.Enable(True) + secondBridge.SetValue(True) + + plg_title = panel.StaticText('Please define the IP address and port number that your WiFi Bridge operates on.') + + if ip == '': + ipCtrl_text = panel.StaticText('Please set the IP Address of the bridge (DEFAULT VALUE = 255.255.255.255).') + elif ip == '255.255.255.255': + ipCtrl_text = panel.StaticText( + 'This is the IP address that broadcasts commands to all bridges on your WiFi.') + else: + ipCtrl_text = panel.StaticText('This is the IP address of the bridge.') + + # wx.LAYOUT options + ipBorder = wx.StaticBox(panel, -1) + ipBox = wx.StaticBoxSizer(ipBorder, wx.VERTICAL) + ipLayout = wx.BoxSizer(wx.HORIZONTAL) + ipLayout.AddMany([ + (ipCtrl_label, 0, wx.ALIGN_CENTER), + (ipCtrl, 0, wx.ALIGN_CENTER) + ]) + ipBox.AddMany([ + (ipCtrl_text, 1, wx.ALIGN_CENTER_HORIZONTAL), + (ipLayout, 1, wx.ALIGN_CENTER_HORIZONTAL) + ]) + + ip2Border = wx.StaticBox(panel, -1) + ip2Box = wx.StaticBoxSizer(ip2Border, wx.VERTICAL) + ip2Layout = wx.BoxSizer(wx.HORIZONTAL) + ip2Layout.AddMany([ + (ip2Ctrl_label, 0, wx.ALIGN_CENTER), + (secondBridgeCtrl, 0, wx.ALIGN_CENTER) + ]) + ip2Box.AddMany([ + (secondBridge, 1, wx.ALIGN_CENTER), + (ip2Layout, 1, wx.ALIGN_CENTER_HORIZONTAL) + ]) + + if port == '': + portCtrl_text = panel.StaticText('Please set Port Number of the bridge (DEFAULT VALUE = 8899).') + elif ip == 8899: + portCtrl_text = panel.StaticText('This is the default port number.') + else: + portCtrl_text = panel.StaticText('This is the Port Number of the bridge.') + + portCtrl_label = panel.StaticText('Port Number: ') + + # wx.LAYOUT options + portBorder = wx.StaticBox(panel, -1) + portBox = wx.StaticBoxSizer(portBorder, wx.VERTICAL) + portLayout = wx.BoxSizer(wx.HORIZONTAL) + portLayout.AddMany([ + (portCtrl_label, 0, wx.ALIGN_CENTER), + (portCtrl, 0, wx.ALIGN_CENTER) + ]) + portBox.AddMany([ + (portCtrl_text, 0, wx.ALIGN_CENTER_HORIZONTAL), + (portLayout, 0, wx.ALIGN_CENTER_HORIZONTAL) + ]) + + panel.sizer.Add(plg_title, 0, wx.ALIGN_CENTER_HORIZONTAL) + panel.sizer.Add(ipBox, 0, wx.ALIGN_CENTER_HORIZONTAL) + panel.sizer.Add(portBox, 0, wx.ALIGN_CENTER_HORIZONTAL) + panel.sizer.Add(ip2Box, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.BOTTOM) + + def OnCheckBox(event): + flag = secondBridge.GetValue() + secondBridgeCtrl.Enable(flag) + + secondBridge.Bind(wx.EVT_CHECKBOX, OnCheckBox) + + while panel.Affirmed(): # This bit is mandatory, it is what helps to save/store/cancel the values + panel.SetResult( # the user sets on initial plugin configuration + ipCtrl.GetValue(), + secondBridgeCtrl.GetValue(), + portCtrl.GetValue(), + secondBridge.GetValue() + ) + + def __start__(self, ip, ip2, port, secondBridge): + self.ip = ip + self.ip2 = ip2 + self.port = port + if secondBridge == 0: + self.ip2 = "" + + print u'' + print "IP Address of Bridge 1: ", self.ip + if self.ip2 == "": + pass + else: + print "IP Address of Bridge 2: ", self.ip2 + print "Port: ", self.port + + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +class ShowLightsStatus(eg.ActionBase): + name = "Lights Status" + description = "Show the theoretical status of your lights!" + + def GetLabel(self): + return "Lights Status: Execute to see names!" + + def __call__(self): + for x in xrange(0, 9): + if self.plugin.groupnames[x] == "*NOT SET*": + continue + print '' + if x == 0: + continue + elif x < 5: + print "Group Name: " + str(self.plugin.groupnames[x]) + print "Brightness Level: " + str(self.plugin.groupsBV[x]) + " Color: " + str( + self.plugin.groupsCV[x]) + elif x > 4 and self.plugin.ip2 != "": + print "Group Name: " + str(self.plugin.groupnames[x]) + print "Brightness Level: " + str(self.plugin.groupsBV[x]) + " Color: " + str( + self.plugin.groupsCV[x]) + + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +class NameGroups(eg.ActionBase): + name = "Name Groups" + description = "Enter your group names!" + + def Configure(self, one=1, two=2, three=3, four=4, five=5, six=6, seven=7, eight=8): + panel = eg.ConfigPanel(self) + + one = self.plugin.groupnames[1] + two = self.plugin.groupnames[2] + three = self.plugin.groupnames[3] + four = self.plugin.groupnames[4] + five = self.plugin.groupnames[5] + six = self.plugin.groupnames[6] + seven = self.plugin.groupnames[7] + eight = self.plugin.groupnames[8] + + group1Name = panel.TextCtrl(one) + group2Name = panel.TextCtrl(two) + group3Name = panel.TextCtrl(three) + group4Name = panel.TextCtrl(four) + group5Name = panel.TextCtrl(five) + group6Name = panel.TextCtrl(six) + group7Name = panel.TextCtrl(seven) + group8Name = panel.TextCtrl(eight) + + if self.plugin.ip2 == "": + group5Name.Show(False) + group6Name.Show(False) + group7Name.Show(False) + group8Name.Show(False) + + panel.AddLine(u'', u'For changes to go through, you must press "TEST" button.') + panel.AddLine( + u'Use normal-language, one-word identifiers like "Bedroom" or "Living" (instead of "Living Room").') + + if self.plugin.ip2 == "": + panel.AddLine(u'') + panel.AddLine(u'Group 1: ', group1Name, 'Group 3: ', group3Name) + panel.AddLine(u'Group 2: ', group2Name, 'Group 4: ', group4Name) + else: + panel.AddLine(u'Group 1: ', group1Name, 'Group 5: ', group5Name) + panel.AddLine(u'Group 2: ', group2Name, 'Group 6: ', group6Name) + panel.AddLine(u'Group 3: ', group3Name, 'Group 7: ', group7Name) + panel.AddLine(u'Group 4: ', group4Name, 'Group 8: ', group8Name) + + while panel.Affirmed(): + panel.SetResult( + group1Name.GetValue(), + group2Name.GetValue(), + group3Name.GetValue(), + group4Name.GetValue(), + group5Name.GetValue(), + group6Name.GetValue(), + group7Name.GetValue(), + group8Name.GetValue(), + ) + + def GetLabel(self, one, two, three, four, five, six, seven, eight): + return "GROUP NAMES: Execute to see names!" + + def __call__(self, one, two, three, four, five, six, seven, eight): + self.plugin.groupnames[1] = one + self.plugin.groupnames[2] = two + self.plugin.groupnames[3] = three + self.plugin.groupnames[4] = four + self.plugin.groupnames[5] = five + self.plugin.groupnames[6] = six + self.plugin.groupnames[7] = seven + self.plugin.groupnames[8] = eight + + print "Below are your group names, associated to their numbers." + + for x in xrange(0, 9): + if x == 0: + continue + elif x < 5: + print "Group " + str(x) + ": " + str(self.plugin.groupnames[x]) + elif x > 4 and self.plugin.ip2 != "": + print "Group " + str(x) + ": " + str(self.plugin.groupnames[x]) + + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +class TurnOn(eg.ActionBase): + name = "Turn Lights ON" + description = "Turn the light group(s) ON" + + def Configure(self, brightness=100, color=0, *args): + del self.plugin.specifygroups[:] + + panel = eg.ConfigPanel(self) + groupallCtrl = panel.RadioButton(-1, " ALL GROUPS") + groupspecifyCtrl = panel.RadioButton(0, " SPECIFY GROUPS") + group1Ctrl = panel.CheckBox(-1, " 1") + group2Ctrl = panel.CheckBox(-1, " 2") + group3Ctrl = panel.CheckBox(-1, " 3") + group4Ctrl = panel.CheckBox(-1, " 4") + group5Ctrl = panel.CheckBox(-1, " 5") + group6Ctrl = panel.CheckBox(-1, " 6") + group7Ctrl = panel.CheckBox(-1, " 7") + group8Ctrl = panel.CheckBox(-1, " 8") + brightnessCtrl = panel.SpinIntCtrl(brightness, min=1, max=100) + colorCtrl = panel.Choice(color, self.plugin.color) + + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + + if self.plugin.ip2 == "": + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group5Ctrl.Show(False) + group6Ctrl.Show(False) + group7Ctrl.Show(False) + group8Ctrl.Show(False) + + def OnSpecifyRadioButton(event): + all_state = groupallCtrl.GetValue() + specify_state = groupspecifyCtrl.GetValue() + if specify_state == True: + group1Ctrl.SetValue(False) + group2Ctrl.SetValue(False) + group3Ctrl.SetValue(False) + group4Ctrl.SetValue(False) + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group1Ctrl.Enable(True) + group2Ctrl.Enable(True) + group3Ctrl.Enable(True) + group4Ctrl.Enable(True) + if self.plugin.ip2 != "": + group5Ctrl.Enable(True) + group6Ctrl.Enable(True) + group7Ctrl.Enable(True) + group8Ctrl.Enable(True) + if all_state == True: + group1Ctrl.SetValue(True) + group2Ctrl.SetValue(True) + group3Ctrl.SetValue(True) + group4Ctrl.SetValue(True) + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + if self.plugin.ip2 != "": + group5Ctrl.SetValue(True) + group6Ctrl.SetValue(True) + group7Ctrl.SetValue(True) + group8Ctrl.SetValue(True) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + + groupallCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + groupspecifyCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + + panel.AddLine(u'') + panel.AddLine(u'Select group(s):', groupallCtrl, u' ', groupspecifyCtrl) + panel.AddLine(u'', u'', u'', group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl) + panel.AddLine(u'', u'', u'', group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl) + panel.AddLine(u'Brightness (1 - 100%):', brightnessCtrl) + panel.AddLine(u'') + panel.AddLine(u'Select a Color:', colorCtrl) + + while panel.Affirmed(): + panel.SetResult( + brightnessCtrl.GetValue(), + colorCtrl.GetValue(), + groupallCtrl.GetValue(), + groupspecifyCtrl.GetValue(), + group1Ctrl.GetValue(), + group2Ctrl.GetValue(), + group3Ctrl.GetValue(), + group4Ctrl.GetValue(), + group5Ctrl.GetValue(), + group6Ctrl.GetValue(), + group7Ctrl.GetValue(), + group8Ctrl.GetValue(), + ) + + def GetLabel(self, brightness, color, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, + group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl): + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + if groupallCtrl: + return "Turn [ALL] ON in " + str(self.plugin.color[color]) + " at " + str(brightness) + "%" + elif not groupallCtrl: + return "Turn " + str(printgroups) + " ON in " + str(self.plugin.color[color]) + " at " + str( + brightness) + "%" + + def __call__(self, brightness, color, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, + group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl): + ip = self.plugin.ip + ip2 = self.plugin.ip2 + port = self.plugin.port + + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + brightnessCode = CreateBrightnessCode(brightness) + + print "=== Values Set ===" + if groupallCtrl == True: + print "Group(s): ALL" + else: + print "Group(s): ", printgroups + print "Brightness: " + str(brightness) + "%" + print "Color: ", self.plugin.color[color] + print "=== Values Set ===" + + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + + if groupallCtrl: + for c in xrange(0, 3): + sock.sendto(specifygroups, ("255.255.255.255", port)) + time.sleep(.1) + if self.plugin.color[color] == "White": + sock.sendto(self.plugin.groupsWhiteCode[0], ("255.255.255.255", port)) + time.sleep(.1) + else: + sock.sendto(self.plugin.colorCodes[color], ("255.255.255.255", port)) + time.sleep(.1) + sock.sendto(brightnessCode, ("255.255.255.255", port)) + if c == 0: + time.sleep(.2) + for y in xrange(0, 9): + if y == 0: + continue + else: + self.plugin.groupsBV[y] = brightness + self.plugin.groupsCV[y] = self.plugin.color[color] + elif c == 1: + time.sleep(.3) + + else: + for x in printgroups: + if x < 5: + ipval = ip + if x == 1: + y = 1 + if x == 2: + y = 2 + if x == 3: + y = 3 + if x == 4: + y = 4 + else: + ipval = ip2 + if x == 5: + y = 1 + if x == 6: + y = 2 + if x == 7: + y = 3 + if x == 8: + y = 4 + + self.plugin.groupsBV[x] = brightness + self.plugin.groupsCV[x] = self.plugin.color[color] + + for c in xrange(0, 3): + sock.sendto(self.plugin.groupsONcode[y], (ipval, port)) + time.sleep(.05) + if self.plugin.color[color] == "White": + sock.sendto(self.plugin.groupsWhiteCode[y], (ipval, port)) + time.sleep(.05) + else: + sock.sendto(self.plugin.colorCodes[color], (ipval, port)) + time.sleep(.05) + sock.sendto(self.plugin.groupsONcode[y], (ipval, port)) + time.sleep(.05) + sock.sendto(brightnessCode, (ipval, port)) + time.sleep(.05) + + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +class TurnOff(eg.ActionBase): + name = "Turn Lights OFF" + description = "Turn the light group(s) OFF" + + def Configure(self, *args): + del self.plugin.specifygroups[:] + + panel = eg.ConfigPanel(self) + groupallCtrl = panel.RadioButton(-1, " ALL GROUPS") + groupspecifyCtrl = panel.RadioButton(0, " SPECIFY GROUPS") + group1Ctrl = panel.CheckBox(-1, " 1") + group2Ctrl = panel.CheckBox(-1, " 2") + group3Ctrl = panel.CheckBox(-1, " 3") + group4Ctrl = panel.CheckBox(-1, " 4") + group5Ctrl = panel.CheckBox(-1, " 5") + group6Ctrl = panel.CheckBox(-1, " 6") + group7Ctrl = panel.CheckBox(-1, " 7") + group8Ctrl = panel.CheckBox(-1, " 8") + + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + + if self.plugin.ip2 == "": + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group5Ctrl.Show(False) + group6Ctrl.Show(False) + group7Ctrl.Show(False) + group8Ctrl.Show(False) + + def OnSpecifyRadioButton(event): + all_state = groupallCtrl.GetValue() + specify_state = groupspecifyCtrl.GetValue() + if specify_state == True: + group1Ctrl.SetValue(False) + group2Ctrl.SetValue(False) + group3Ctrl.SetValue(False) + group4Ctrl.SetValue(False) + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group1Ctrl.Enable(True) + group2Ctrl.Enable(True) + group3Ctrl.Enable(True) + group4Ctrl.Enable(True) + if self.plugin.ip2 != "": + group5Ctrl.Enable(True) + group6Ctrl.Enable(True) + group7Ctrl.Enable(True) + group8Ctrl.Enable(True) + if all_state == True: + group1Ctrl.SetValue(True) + group2Ctrl.SetValue(True) + group3Ctrl.SetValue(True) + group4Ctrl.SetValue(True) + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + if self.plugin.ip2 != "": + group5Ctrl.SetValue(True) + group6Ctrl.SetValue(True) + group7Ctrl.SetValue(True) + group8Ctrl.SetValue(True) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + + groupallCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + groupspecifyCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + + panel.AddLine(u'') + panel.AddLine(u'Select group(s):', groupallCtrl, u' ', groupspecifyCtrl) + panel.AddLine(u'') + panel.AddLine(u'') + panel.AddLine(u'', u'', u'', group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl) + panel.AddLine(u'') + panel.AddLine(u'', u'', u'', group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl) + + while panel.Affirmed(): + panel.SetResult( + groupallCtrl.GetValue(), + groupspecifyCtrl.GetValue(), + group1Ctrl.GetValue(), + group2Ctrl.GetValue(), + group3Ctrl.GetValue(), + group4Ctrl.GetValue(), + group5Ctrl.GetValue(), + group6Ctrl.GetValue(), + group7Ctrl.GetValue(), + group8Ctrl.GetValue(), + ) + + def GetLabel(self, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl, group5Ctrl, + group6Ctrl, group7Ctrl, group8Ctrl): + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + if groupallCtrl: + return "Turn [ALL] OFF" + elif not groupallCtrl: + return "Turn " + str(printgroups) + " OFF" + + def __call__(self, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl, group5Ctrl, + group6Ctrl, group7Ctrl, group8Ctrl): + ip = self.plugin.ip + ip2 = self.plugin.ip2 + port = self.plugin.port + + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + + print "=== Values Set ===" + if groupallCtrl == True: + print "Turning off ALL groups." + else: + print "Group(s) turning OFF: ", printgroups + print "=== Values Set ===" + + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + + if groupallCtrl and CheckIfSame(self.plugin.groupsBV[1], self.plugin.groupsBV): + brightness = self.plugin.groupsBV[1] + for i in xrange(brightness, -1, -2): + brightness = i + brightnessCode = CreateBrightnessCode(brightness) + + if brightness < 6: + for c in xrange(0, 2): + time.sleep(0.5) + sock.sendto(self.plugin.groupsOFFcode[0], ("255.255.255.255", port)) + + for x in xrange(0, 9): + if x == 0: + continue + self.plugin.groupsBV[x] = 0 + else: + sock.sendto(self.plugin.groupsONcode[0], ("255.255.255.255", port)) + time.sleep(.015) + sock.sendto(brightnessCode, ("255.255.255.255", port)) + + else: + if groupallCtrl == True: + printgroups = [1, 2, 3, 4, 5, 6, 7, 8] + + for n in printgroups: + if self.plugin.groupsBV[ + n] == 0: # Essentially, "Don't waste your resources if the bulb is already recorded to be in the OFF state" + continue + + if n < 5: + ipval = ip + if n == 1: + y = 1 + if n == 2: + y = 2 + if n == 3: + y = 3 + if n == 4: + y = 4 + else: + ipval = ip2 + if n == 5: + y = 1 + if n == 6: + y = 2 + if n == 7: + y = 3 + if n == 8: + y = 4 + + brightness = self.plugin.groupsBV[n] # Grab brightness level of bulb. + for i in xrange(brightness, -1, + -2): # Decrement by 1 (lines 714-716 & 724-727), until it is 0, then set it off (lines 718-720). Set the final value of the bulb (line 721). + brightness = i + brightnessCode = CreateBrightnessCode(brightness) + + if brightness < 6: + for c in xrange(0, 2): + time.sleep(.05) + sock.sendto(self.plugin.groupsOFFcode[y], (ipval, port)) + self.plugin.groupsBV[n] = 0 + break + else: + sock.sendto(self.plugin.groupsONcode[y], (ipval, port)) + time.sleep(.015) + sock.sendto(brightnessCode, (ipval, port)) + + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +class Dimmer(eg.ActionBase): + name = "Dimmer" + description = "Set a specific brightness, or step up / down in increments." + + def Configure(self, brightness=100, *args): + del self.plugin.specifygroups[:] + + panel = eg.ConfigPanel(self) + groupallCtrl = panel.RadioButton(-1, " ALL GROUPS") + groupspecifyCtrl = panel.RadioButton(0, " SPECIFY GROUPS") + group1Ctrl = panel.CheckBox(-1, " 1") + group2Ctrl = panel.CheckBox(-1, " 2") + group3Ctrl = panel.CheckBox(-1, " 3") + group4Ctrl = panel.CheckBox(-1, " 4") + group5Ctrl = panel.CheckBox(-1, " 5") + group6Ctrl = panel.CheckBox(-1, " 6") + group7Ctrl = panel.CheckBox(-1, " 7") + group8Ctrl = panel.CheckBox(-1, " 8") + brightnessCtrl = panel.SpinIntCtrl(brightness, min=1, max=100) + specifyCtrl = panel.CheckBox(-1, "") + upCtrl = panel.CheckBox(0, " Up") + downCtrl = panel.CheckBox(0, " Dn") + stepCtrl = panel.SpinIntCtrl(1, min=1, max=2) + + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + upCtrl.Enable(False) + downCtrl.Enable(False) + stepCtrl.Enable(False) + + if self.plugin.ip2 == "": + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group5Ctrl.Show(False) + group6Ctrl.Show(False) + group7Ctrl.Show(False) + group8Ctrl.Show(False) + + def OnSpecifyRadioButton(event): + all_state = groupallCtrl.GetValue() + specify_state = groupspecifyCtrl.GetValue() + if specify_state == True: + group1Ctrl.SetValue(False) + group2Ctrl.SetValue(False) + group3Ctrl.SetValue(False) + group4Ctrl.SetValue(False) + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group1Ctrl.Enable(True) + group2Ctrl.Enable(True) + group3Ctrl.Enable(True) + group4Ctrl.Enable(True) + if self.plugin.ip2 != "": + group5Ctrl.Enable(True) + group6Ctrl.Enable(True) + group7Ctrl.Enable(True) + group8Ctrl.Enable(True) + if all_state == True: + group1Ctrl.SetValue(True) + group2Ctrl.SetValue(True) + group3Ctrl.SetValue(True) + group4Ctrl.SetValue(True) + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + if self.plugin.ip2 != "": + group5Ctrl.SetValue(True) + group6Ctrl.SetValue(True) + group7Ctrl.SetValue(True) + group8Ctrl.SetValue(True) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + + def OnBrightnessButton(event): + specific_state = specifyCtrl.GetValue() + up_state = upCtrl.GetValue() + down_state = downCtrl.GetValue() + if specific_state == True: + upCtrl.SetValue(False) + upCtrl.Enable(False) + downCtrl.SetValue(False) + downCtrl.Enable(False) + stepCtrl.Enable(False) + brightnessCtrl.Enable(True) + else: + brightnessCtrl.Enable(False) + upCtrl.Enable(True) + downCtrl.Enable(True) + stepCtrl.Enable(True) + + def StepUpBox(event): + up_state = upCtrl.GetValue() + down_state = downCtrl.GetValue() + if up_state == True: + downCtrl.SetValue(False) + upCtrl.SetValue(True) + + def StepDownBox(event): + up_state = upCtrl.GetValue() + down_state = downCtrl.GetValue() + if down_state == True: + upCtrl.SetValue(False) + downCtrl.SetValue(True) + + groupallCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + groupspecifyCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + specifyCtrl.Bind(wx.EVT_CHECKBOX, OnBrightnessButton) + upCtrl.Bind(wx.EVT_CHECKBOX, StepUpBox) + downCtrl.Bind(wx.EVT_CHECKBOX, StepDownBox) + + panel.AddLine(u'') + panel.AddLine(u'Select group(s):', groupallCtrl, u' ', groupspecifyCtrl) + panel.AddLine(u'', u'', u'', group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl) + panel.AddLine(u'', u'', u'', group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl) + panel.AddLine(u'') + panel.AddLine(u' Set brightness?', specifyCtrl, brightnessCtrl, u'', u'', u'2x Step = 2') + panel.AddLine(u'', u'Step Brightness?', upCtrl, downCtrl, u' ', stepCtrl) + + while panel.Affirmed(): + panel.SetResult( + brightnessCtrl.GetValue(), + groupallCtrl.GetValue(), + groupspecifyCtrl.GetValue(), + group1Ctrl.GetValue(), + group2Ctrl.GetValue(), + group3Ctrl.GetValue(), + group4Ctrl.GetValue(), + group5Ctrl.GetValue(), + group6Ctrl.GetValue(), + group7Ctrl.GetValue(), + group8Ctrl.GetValue(), + stepCtrl.GetValue(), + upCtrl.GetValue(), + downCtrl.GetValue(), + ) + + def GetLabel(self, brightness, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl, + group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl, step, upCtrl, downCtrl): + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + if upCtrl: + if groupallCtrl: + return "Brighten [ALL] by " + str(15 * step) + "%" + elif not groupallCtrl: + return "Brighten " + str(printgroups) + " by " + str(15 * step) + "%" + elif downCtrl: + if groupallCtrl: + return "Dim [ALL] by " + str(15 * step) + "%" + elif not groupallCtrl: + return "Dim " + str(printgroups) + " by " + str(15 * step) + "%" + else: + if groupallCtrl: + return "Set [ALL] to " + str(brightness) + "%" + elif not groupallCtrl: + return "Set " + str(printgroups) + " to " + str(brightness) + "%" + + def __call__(self, brightness, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl, + group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl, step, upCtrl, downCtrl): + ip = self.plugin.ip + ip2 = self.plugin.ip2 + port = self.plugin.port + + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + + for c in xrange(0, 3): + print "" + print "=== Values Set ===" + if groupallCtrl == True: + print "Group(s): ALL" + else: + print "Group(s): ", printgroups + + if upCtrl == True: + print "The lights are getting brighter.." + elif downCtrl == True: + print "The lights are getting dimmer.." + else: + print "Brightness: " + str(brightness) + "%" + print "=== Values Set ===" + for c in xrange(0, 3): + print "" + + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + + if groupallCtrl and CheckIfSame(self.plugin.groupsBV[1], self.plugin.groupsBV): + getBrightness = self.plugin.groupsBV[1] + if upCtrl: + brightness = getBrightness + (15 * step) + if brightness > 100: + print "..but wait! It can't get any brighter!" + return + brightnessCode = CreateBrightnessCode(brightness) + elif downCtrl: + brightness = getBrightness - (15 * step) + if brightness < 10: + print "..but wait! It can't get any dimmer!" + return + brightnessCode = CreateBrightnessCode(brightness) + else: + brightnessCode = CreateBrightnessCode(brightness) + + for c in xrange(0, 3): + sock.sendto(specifygroups, ("255.255.255.255", port)) + time.sleep(.1) + sock.sendto(brightnessCode, ("255.255.255.255", port)) + time.sleep(.1) + + for x in xrange(0, 9): + if x == 0: + continue + else: + self.plugin.groupsBV[x] = brightness + + elif groupallCtrl and not CheckIfSame(self.plugin.groupsBV[1], self.plugin.groupsBV): + for x in xrange(0, 9): + if x == 0: + continue + else: + if upCtrl: + getBrightness = self.plugin.groupsBV[x] + if getBrightness == 0: + continue + elif getBrightness == 100: + continue + else: + brightness = getBrightness + (15 * step) + if brightness > 100: + brightness = 100 + brightnessCode = CreateBrightnessCode(brightness) + elif downCtrl: + getBrightness = self.plugin.groupsBV[x] + if getBrightness == 0: + continue + brightness = getBrightness - (15 * step) + if brightness < 10: + brightness = 10 + brightnessCode = CreateBrightnessCode(brightness) + else: + brightnessCode = CreateBrightnessCode(brightness) + + if x < 5: + ipval = ip + if x == 1: + y = 1 + if x == 2: + y = 2 + if x == 3: + y = 3 + if x == 4: + y = 4 + else: + ipval = ip2 + if x == 5: + y = 1 + if x == 6: + y = 2 + if x == 7: + y = 3 + if x == 8: + y = 4 + + self.plugin.groupsBV[x] = brightness + + for c in xrange(0, 3): + sock.sendto(self.plugin.groupsONcode[y], (ipval, port)) + time.sleep(.05) + sock.sendto(brightnessCode, (ipval, port)) + time.sleep(.05) + + # if select group... + else: + for x in printgroups: + if upCtrl: + getBrightness = self.plugin.groupsBV[x] + if getBrightness == 100: + continue + else: + brightness = getBrightness + (15 * step) + if brightness > 100: + brightness = 100 + brightnessCode = CreateBrightnessCode(brightness) + elif downCtrl: + getBrightness = self.plugin.groupsBV[x] + if getBrightness == 0: + continue + else: + brightness = getBrightness - (15 * step) + if brightness < 10: + brightness = 10 + brightnessCode = CreateBrightnessCode(brightness) + else: + brightnessCode = CreateBrightnessCode(brightness) + + if x < 5: + ipval = ip + if x == 1: + y = 1 + if x == 2: + y = 2 + if x == 3: + y = 3 + if x == 4: + y = 4 + else: + ipval = ip2 + if x == 5: + y = 1 + if x == 6: + y = 2 + if x == 7: + y = 3 + if x == 8: + y = 4 + + self.plugin.groupsBV[x] = brightness + + for c in xrange(0, 3): + sock.sendto(self.plugin.groupsONcode[y], (ipval, port)) + time.sleep(.05) + sock.sendto(brightnessCode, (ipval, port)) + time.sleep(.05) + + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +class SetColor(eg.ActionBase): + name = "Set Color" + description = "Set a specific color." + + def Configure(self, color=0, *args): + del self.plugin.specifygroups[:] + + panel = eg.ConfigPanel(self) + groupallCtrl = panel.RadioButton(-1, " ALL GROUPS") + groupspecifyCtrl = panel.RadioButton(0, " SPECIFY GROUPS") + group1Ctrl = panel.CheckBox(-1, " 1") + group2Ctrl = panel.CheckBox(-1, " 2") + group3Ctrl = panel.CheckBox(-1, " 3") + group4Ctrl = panel.CheckBox(-1, " 4") + group5Ctrl = panel.CheckBox(-1, " 5") + group6Ctrl = panel.CheckBox(-1, " 6") + group7Ctrl = panel.CheckBox(-1, " 7") + group8Ctrl = panel.CheckBox(-1, " 8") + colorCtrl = panel.Choice(color, self.plugin.color) + + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + + if self.plugin.ip2 == "": + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group5Ctrl.Show(False) + group6Ctrl.Show(False) + group7Ctrl.Show(False) + group8Ctrl.Show(False) + + def OnSpecifyRadioButton(event): + all_state = groupallCtrl.GetValue() + specify_state = groupspecifyCtrl.GetValue() + if specify_state == True: + group1Ctrl.SetValue(False) + group2Ctrl.SetValue(False) + group3Ctrl.SetValue(False) + group4Ctrl.SetValue(False) + group5Ctrl.SetValue(False) + group6Ctrl.SetValue(False) + group7Ctrl.SetValue(False) + group8Ctrl.SetValue(False) + group1Ctrl.Enable(True) + group2Ctrl.Enable(True) + group3Ctrl.Enable(True) + group4Ctrl.Enable(True) + if self.plugin.ip2 != "": + group5Ctrl.Enable(True) + group6Ctrl.Enable(True) + group7Ctrl.Enable(True) + group8Ctrl.Enable(True) + if all_state == True: + group1Ctrl.SetValue(True) + group2Ctrl.SetValue(True) + group3Ctrl.SetValue(True) + group4Ctrl.SetValue(True) + group1Ctrl.Enable(False) + group2Ctrl.Enable(False) + group3Ctrl.Enable(False) + group4Ctrl.Enable(False) + if self.plugin.ip2 != "": + group5Ctrl.SetValue(True) + group6Ctrl.SetValue(True) + group7Ctrl.SetValue(True) + group8Ctrl.SetValue(True) + group5Ctrl.Enable(False) + group6Ctrl.Enable(False) + group7Ctrl.Enable(False) + group8Ctrl.Enable(False) + + groupallCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + groupspecifyCtrl.Bind(wx.EVT_RADIOBUTTON, OnSpecifyRadioButton) + + panel.AddLine(u'') + panel.AddLine(u'Select group(s):', groupallCtrl, u' ', groupspecifyCtrl) + panel.AddLine(u'', u'', u'', group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl) + panel.AddLine(u'', u'', u'', group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl) + panel.AddLine(u'') + panel.AddLine(u'', u' Set Color?', colorCtrl) + + while panel.Affirmed(): + panel.SetResult( + colorCtrl.GetValue(), + groupallCtrl.GetValue(), + groupspecifyCtrl.GetValue(), + group1Ctrl.GetValue(), + group2Ctrl.GetValue(), + group3Ctrl.GetValue(), + group4Ctrl.GetValue(), + group5Ctrl.GetValue(), + group6Ctrl.GetValue(), + group7Ctrl.GetValue(), + group8Ctrl.GetValue(), + ) + + def GetLabel(self, color, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl, + group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl): + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + if groupallCtrl: + return "Set the color of [ALL] to " + str(self.plugin.color[color]) + elif not groupallCtrl: + return "Set the color of " + str(printgroups) + " to " + str(self.plugin.color[color]) + + def __call__(self, color, groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, group3Ctrl, group4Ctrl, + group5Ctrl, group6Ctrl, group7Ctrl, group8Ctrl): + ip = self.plugin.ip + ip2 = self.plugin.ip2 + port = self.plugin.port + groupsWhiteCode = self.plugin.groupsWhiteCode + + specifygroups, printgroups = CreateGroupCodes(groupallCtrl, groupspecifyCtrl, group1Ctrl, group2Ctrl, + group3Ctrl, group4Ctrl, group5Ctrl, group6Ctrl, group7Ctrl, + group8Ctrl) + + for c in xrange(0, 3): + print "" + print "=== Values Set ===" + if groupallCtrl == True: + print "Group(s): ALL" + else: + print "Group(s): ", printgroups + + if groupallCtrl: + print "All groups turned to " + str(self.plugin.color[color]) + elif not groupallCtrl: + print "Groups " + str(printgroups) + " turned to " + str(self.plugin.color[color]) + print "=== Values Set ===" + for c in xrange(0, 3): + print "" + + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + + if groupallCtrl: + if CheckIfSame(self.plugin.groupsBV[1], self.plugin.groupsBV): + if self.plugin.groupsBV[1] == 0: + print "But the lights are off!" + return + elif self.plugin.groupsBV[1] > 0: + for c in xrange(0, 3): + sock.sendto(specifygroups, ("255.255.255.255", port)) + time.sleep(.1) + if self.plugin.color[color] == "White": + sock.sendto(groupsWhiteCode[0], ("255.255.255.255", port)) + time.sleep(.1) + else: + sock.sendto(self.plugin.colorCodes[color], ("255.255.255.255", port)) + time.sleep(.1) + + if c == 0: + for x in xrange(0, 9): + if x == 0: + continue + else: + self.plugin.groupsCV[x] = self.plugin.color[color] + + else: + for x in xrange(0, 9): + if x == 0: + continue + else: + if self.plugin.groupsBV[x] == 0: + continue + else: + if x < 5: + ipval = ip + if x == 1: + y = 1 + if x == 2: + y = 2 + if x == 3: + y = 3 + if x == 4: + y = 4 + else: + ipval = ip2 + if x == 5: + y = 1 + if x == 6: + y = 2 + if x == 7: + y = 3 + if x == 8: + y = 4 + + self.plugin.groupsCV[x] = self.plugin.color[color] + + for c in xrange(0, 3): + sock.sendto(self.plugin.groupsONcode[y], (ipval, port)) + time.sleep(.1) + if self.plugin.color[color] == "White": + sock.sendto(self.plugin.groupsWhiteCode[y], (ipval, port)) + time.sleep(.1) + else: + sock.sendto(self.plugin.colorCodes[color], (ipval, port)) + time.sleep(.1) + + # if select group... + else: + for x in printgroups: + if self.plugin.groupsBV[x] == 0: + continue + else: + if x < 5: + ipval = ip + if x == 1: + y = 1 + if x == 2: + y = 2 + if x == 3: + y = 3 + if x == 4: + y = 4 + else: + ipval = ip2 + if x == 5: + y = 1 + if x == 6: + y = 2 + if x == 7: + y = 3 + if x == 8: + y = 4 + + self.plugin.groupsCV[x] = self.plugin.color[color] + + for c in xrange(0, 3): + sock.sendto(self.plugin.groupsONcode[y], (ipval, port)) + time.sleep(.1) + if self.plugin.color[color] == "White": + sock.sendto(self.plugin.groupsWhiteCode[y], (ipval, port)) + time.sleep(.1) + else: + sock.sendto(self.plugin.colorCodes[color], (ipval, port)) + time.sleep(.1) + + +# =======================================================================================================================================================================================================# +# =======================================================================================================================================================================================================# + +class VariableCMD(eg.ActionBase): + name = "Variable Command" + description = "Change the state of the lights based on a spoken, typed, or read command generated from eg.event.payload." + + def Configure(self, global_var=''): + panel = eg.ConfigPanel(self) + + img = wx.Image( + os.path.join( + os.path.dirname(__file__), + 'example_pic.png' + ), + wx.BITMAP_TYPE_ANY + ) + png = img.ConvertToBitmap() + example_pic = wx.StaticBitmap(panel, -1, png, (10, 5), (png.GetWidth(), png.GetHeight())) + exampleBox = panel.BoxedGroup( + "Example", example_pic) + + vc_spacer = panel.StaticText(' ') + vc_spacer2 = panel.StaticText(' ') + example_text = panel.StaticText( + 'For example .. you can use "AutoRemote.Message.*" ... As you can see above, I use') + example_text2 = panel.StaticText( + 'the AutoRemote plugin in conjunction with this one, in order to speak commands') + example_text3 = panel.StaticText('into a microphone/mobile phone and LimitlessLED plugin reacts accordingly.') + + vc_cmd_title = panel.StaticText( + "If you'd like to specify a variable, do so below - otherwise eg.event.payload is used.") + + global_var = panel.TextCtrl('eg.event.payload') + + panel.sizer.AddMany([ + (exampleBox, 0, wx.ALIGN_CENTER_HORIZONTAL), + (vc_spacer, 0, wx.ALIGN_CENTER_HORIZONTAL), + (example_text, 0, wx.ALIGN_CENTER_HORIZONTAL), + (example_text2, 0, wx.ALIGN_CENTER_HORIZONTAL), + (example_text3, 0, wx.ALIGN_CENTER_HORIZONTAL), + (vc_spacer2, 0, wx.ALIGN_CENTER_HORIZONTAL), + (vc_cmd_title, 0, wx.ALIGN_CENTER_HORIZONTAL), + (global_var, 0, wx.ALIGN_CENTER_HORIZONTAL) + ]) + + def OnTextEnter(event): + field = global_var.GetValue() + if ' ' in field: + panel.EnableButtons(False) + elif not field.startswith('eg.globals.'): + panel.EnableButtons(False) + else: + panel.EnableButtons(True) + + global_var.Bind(wx.EVT_TEXT, OnTextEnter) + + while panel.Affirmed(): + panel.SetResult( + global_var.GetValue()) + + def GetLabel(self, global_var): + return "Variable Command" + + def __call__(self, global_var): + i = re.compile('u\'(.*)\'') + j = re.compile('u\"(.*)\"') + + cmd = '' + sub_cmd = '' + groups = ['all'] + colors = [name.lower() for name in self.plugin.color] + + # Define our Default Values + brightness = 40 + color_val = ['white'] + brightness_counter = 0 # if counter == 0, no command is given. Since we have default values, logic + color_counter = 0 # checks will always trigger -- this acts as a counter-trigger. + + if global_var == 'eg.event.payload': + if eg.event.payload is None: + print "No command was given!" + input_data = str(eg.event.payload) + else: + if global_var is None: + print "No command was given!" + input_data = str(global_var) + + try: + input_data = re.search(i, input_data) + words = input_data.group(1).split(' ') + except AttributeError: + input_data = re.search(j, input_data) + words = input_data.group(1).split(' ') + + for y in xrange(0, 9): + if y == 0: + continue + groups.append(self.plugin.groupnames[y].lower()) + + for x in words: + if x in ['on', 'off', 'remaining', 'lights', 'light', 'rest', 'of', 'the', + 'everything', 'too']: + cmd += x + ' ' + continue + if '%' in x: + cmd += x[:-1] + ' ' + continue + if x in colors: + if 'spring green' in ' '.join(words): + cmd += 'spring green ' + continue + cmd += x + ' ' + continue + if x in groups: + cmd += x + ' ' + continue + if x in ['dim', 'dimmer', 'brighter', 'brighten', 'down', 'up', 'bright', + 'dark', 'darker', 'little', 'bit', 'tad', 'touch', 'wink', 'wee']: + cmd += x + ' ' + brightness_counter += 1 + continue + + if cmd == '': + "No command found, please try again." + else: + cmd = cmd.split(' ') + + # find color_val + if 'spring green' in ' '.join(cmd): + color_val = ['spring green'] + color_counter += 1 + else: + color_val = [i for i in colors if i in cmd] + if color_val == []: + color_val = ['white'] + else: + color_counter += 1 + + # find brightness + for word in cmd: + try: + brightness = int(round(int(word))) + brightness_counter += 1 + except ValueError: + try: + int(round(float(word))) + brightness_counter += 1 + except ValueError: + continue + + if brightness == 0: + print "Brightness can't be less than the minimum brightness! Setting brightness to 5%." + brightness = 5 + + if brightness > 100: + print "Brightness can't be greater than the max brightness! Setting brightness to 100%." + brightness = 100 + + # test for awkwardly worded "all" command + if 'lights' in cmd: + try: + prev_word_the = cmd[cmd.index('lights') - 1] + if prev_word_the == 'the': + groups_present = [i for i in groups if i in cmd] + if groups_present == []: + groups_present = False + except ValueError: + pass + else: + prev_word_the, groups_present = False, False + + # build the lights command, be it ON, OFF, DIM, or COLOR + if 'on' in cmd: + if (all(i in cmd for i in ['remaining', 'lights']) + or all(i in cmd for i in ['remaining', 'light']) + or all(i in cmd for i in ['rest', 'of']) + or any(i in cmd for i in ['all', 'everything', 'too']) + or (bool(prev_word_the) and not bool(groups_present)) + ): + if self.plugin.ip2 == "": + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), True, False, True, True, + True, True, False, False, False, False) + else: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), True, False, True, True, + True, True, False, False, False, False) + else: + for word in cmd: + if word == 'on': + continue + elif word in groups: + if groups.index(word) == 1: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + True, False, False, False, False, False, False, False) + elif groups.index(word) == 2: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + False, True, False, False, False, False, False, False) + elif groups.index(word) == 3: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + False, False, True, False, False, False, False, False) + elif groups.index(word) == 4: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + False, False, False, True, False, False, False, False) + elif groups.index(word) == 5: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + False, False, False, False, True, False, False, False) + elif groups.index(word) == 6: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + False, False, False, False, False, True, False, False) + elif groups.index(word) == 7: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + False, False, False, False, False, False, True, False) + elif groups.index(word) == 8: + eg.plugins.LimitlessLED.TurnOn(brightness, colors.index(color_val[0]), False, True, + False, False, False, False, False, False, False, True) + elif 'off' in cmd: + if (all(i in cmd for i in ['remaining', 'lights']) + or all(i in cmd for i in ['remaining', 'light']) + or all(i in cmd for i in ['rest', 'of']) + or any(i in cmd for i in ['all', 'everything', 'too']) + or (bool(prev_word_the) and not bool(groups_present)) + ): + if self.plugin.ip2 == "": + eg.plugins.LimitlessLED.TurnOff(True, False, True, True, True, True, False, False, False, False) + else: + eg.plugins.LimitlessLED.TurnOff(True, False, True, True, True, True, True, True, True, True) + else: + for word in cmd: + if word in groups: + if groups.index(word) == 1: + eg.plugins.LimitlessLED.TurnOff(False, True, True, False, False, False, False, False, + False, False) + elif groups.index(word) == 2: + eg.plugins.LimitlessLED.TurnOff(False, True, False, True, False, False, False, False, + False, False) + elif groups.index(word) == 3: + eg.plugins.LimitlessLED.TurnOff(False, True, False, False, True, False, False, False, + False, False) + elif groups.index(word) == 4: + eg.plugins.LimitlessLED.TurnOff(False, True, False, False, False, True, False, False, + False, False) + elif groups.index(word) == 5: + eg.plugins.LimitlessLED.TurnOff(False, True, False, False, False, False, True, False, + False, False) + elif groups.index(word) == 6: + eg.plugins.LimitlessLED.TurnOff(False, True, False, False, False, False, False, True, + False, False) + elif groups.index(word) == 7: + eg.plugins.LimitlessLED.TurnOff(False, True, False, False, False, False, False, False, + True, False) + elif groups.index(word) == 8: + eg.plugins.LimitlessLED.TurnOff(False, True, False, False, False, False, False, False, + False, True) + else: + if color_counter != 0: + if (all(i in cmd for i in ['remaining', 'lights']) + or all(i in cmd for i in ['remaining', 'light']) + or all(i in cmd for i in ['rest', 'of']) + or any(i in cmd for i in ['all', 'everything', 'too']) + or (bool(prev_word_the) and not bool(groups_present)) + ): + if self.plugin.ip2 == "": + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), True, False, True, True, True, + True, False, False, False, False) + else: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), True, False, True, True, True, + True, True, True, True, True) + else: + for word in cmd: + if word in groups: + if groups.index(word) == 1: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, True, + False, False, False, False, False, False, False) + elif groups.index(word) == 2: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, False, + True, False, False, False, False, False, False) + elif groups.index(word) == 3: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, False, + False, True, False, False, False, False, False) + elif groups.index(word) == 4: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, False, + False, False, True, False, False, False, False) + elif groups.index(word) == 5: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, False, + False, False, False, True, False, False, False) + elif groups.index(word) == 6: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, False, + False, False, False, False, True, False, False) + elif groups.index(word) == 7: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, False, + False, False, False, False, False, True, False) + elif groups.index(word) == 8: + eg.plugins.LimitlessLED.SetColor(colors.index(color_val[0]), False, True, False, + False, False, False, False, False, False, True) + elif brightness_counter != 0: + brighter = [i for i in ['brighten', 'brighter', 'up', 'dark'] if i in cmd] + dimmer = [i for i in ['darker', 'dimmer', 'dim', 'down', 'bright'] if i in cmd] + modifier = [i for i in ['little', 'bit', 'tad', 'touch', 'wink', 'wee'] if i in cmd] + + if modifier: + step = 1 + else: + step = 2 + + if (all(i in cmd for i in ['remaining', 'lights']) + or all(i in cmd for i in ['remaining', 'light']) + or all(i in cmd for i in ['rest', 'of']) + or any(i in cmd for i in ['all', 'everything', 'too']) + or (bool(prev_word_the) and not bool(groups_present)) + ): + if self.plugin.ip2 == "": + eg.plugins.LimitlessLED.Dimmer(brightness, True, False, True, True, True, True, False, + False, False, False, step, any(brighter), any(dimmer)) + else: + eg.plugins.LimitlessLED.Dimmer(brightness, True, False, True, True, True, True, True, True, + True, True, step, any(brighter), any(dimmer)) + else: + for word in cmd: + if word in groups: + if groups.index(word) == 1: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, True, False, False, False, + False, False, False, False, step, any(brighter), + any(dimmer)) + elif groups.index(word) == 2: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, False, True, False, False, + False, False, False, False, step, any(brighter), + any(dimmer)) + elif groups.index(word) == 3: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, False, False, True, False, + False, False, False, False, step, any(brighter), + any(dimmer)) + elif groups.index(word) == 4: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, False, False, False, True, + False, False, False, False, step, any(brighter), + any(dimmer)) + elif groups.index(word) == 5: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, False, False, False, False, + True, False, False, False, step, any(brighter), + any(dimmer)) + elif groups.index(word) == 6: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, False, False, False, False, + False, True, False, False, step, any(brighter), + any(dimmer)) + elif groups.index(word) == 7: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, False, False, False, False, + False, False, True, False, step, any(brighter), + any(dimmer)) + elif groups.index(word) == 8: + eg.plugins.LimitlessLED.Dimmer(brightness, False, True, False, False, False, False, + False, False, False, True, step, any(brighter), + any(dimmer)) + else: + print " " + print "This was a command that SupahNoob did not account for. If you would like it added, please contact me!" + print "Below are the words recognized on a separate new line." + for word in cmd: + print word + else: + print "And this was the full command that was given.." + print " ".join(words) + + # eg.plugins.LimitlessLED.Dimmer(100, True, False, True, True, True, True, False, False, False, False, 1, False, False) + # eg.plugins.LimitlessLED.Dimmer(100, True, False, True, True, True, True, True, True, True, True, 1, True, False) + # eg.plugins.LimitlessLED.Dimmer(100, True, False, True, True, True, True, True, True, True, True, 1, False, True) diff --git a/plugins/LimitlessLED/example_pic.PNG b/plugins/LimitlessLED/example_pic.PNG new file mode 100644 index 000000000..0384ee142 Binary files /dev/null and b/plugins/LimitlessLED/example_pic.PNG differ diff --git a/plugins/Lirc/__init__.py b/plugins/Lirc/__init__.py index c97c8ea7a..5a9aa3708 100644 --- a/plugins/Lirc/__init__.py +++ b/plugins/Lirc/__init__.py @@ -146,6 +146,7 @@ ) import socket, asyncore, time, threading +import wx ############################## BEGIN TEXT CLASS ############################## ### @@ -441,7 +442,7 @@ def CheckListingResults(self): self.HandlePrint(self.text.noremotesfoundtip) def HandlePrint(self, msg): - print("LIRC Client: %s" % msg) + eg.Print("LIRC Client: %s" % msg) def HandleWarning(self, msg): self.PrintError("LIRC Client: %s" % msg) @@ -475,7 +476,7 @@ def CheckConnection(self): return False time.sleep(0.05) asyncore.poll() - if not self.reader.connected: + if self.reader and not self.reader.connected: return False return True @@ -540,7 +541,7 @@ def Configure( RetryBox.Add(RetryIntervalCtrl, 0, wx.ALL, 2) RetryBox.Add(RetryIntervalText, 0, wx.ALL, 5) - HostSizer = wx.FlexGridSizer(cols=3) + HostSizer = wx.FlexGridSizer(cols=3, vgap=3, hgap=5) HostSizer.Add(HostText, 0, wx.ALL, 5) HostSizer.Add(HostCtrl, 0, wx.ALL, 3) HostSizer.Add(RetryTitle, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 54) @@ -685,7 +686,7 @@ def UpdateRemoteList(self): def Configure(self, actionStr=""): text = self.text - actionParam = "0" + actionParam = 0 if len(self.remotes) == 0: self.remotes.append(["N/A", ['N/A']]) self.remotelist = ["N/A"] @@ -762,14 +763,14 @@ def IsInt(str): textCtrl = wx.TextCtrl(panel, -1, actionStr) actionhelpText = wx.StaticText(panel, -1, text.acthelp) - SelectionSizer = wx.FlexGridSizer(rows=2) - SelectionSizer.Add(cmdText, 0, wx.LEFT, 5) - SelectionSizer.Add(remoteText, 0, wx.LEFT, 5) - SelectionSizer.Add(actionText, 0, wx.LEFT, 5) - SelectionSizer.Add(repeatText, 0, wx.LEFT, 5) + SelectionSizer = wx.FlexGridSizer(cols=2, vgap=3, hgap=5) + SelectionSizer.Add(cmdText, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT, 5) SelectionSizer.Add(cmdCtrl, 0, wx.ALL, 3) + SelectionSizer.Add(remoteText, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT, 5) SelectionSizer.Add(remoteCtrl, 0, wx.ALL, 3) + SelectionSizer.Add(actionText, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT, 5) SelectionSizer.Add(actionCtrl, 0, wx.ALL, 3) + SelectionSizer.Add(repeatText, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT, 5) SelectionSizer.Add(repeatCtrl, 0, wx.ALL, 3) SelectionBox = wx.StaticBox(panel, -1, text.selectiontitle) diff --git a/plugins/LogRedirector/__init__.py b/plugins/LogRedirector/__init__.py new file mode 100644 index 000000000..a331bb67c --- /dev/null +++ b/plugins/LogRedirector/__init__.py @@ -0,0 +1,889 @@ +# -*- coding: utf-8 -*- + +version = "0.1.0" + +# plugins/LogRedirector/__init__.py +# +# Copyright (C) 2010-2015 Pako (lubos.ruckl@quick.cz) +# +# This file is a plugin for EventGhost. +# Copyright (C) 2005-2015 Lars-Peter Voss +# +# EventGhost is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by the +# Free Software Foundation; +# +# EventGhost 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, see . +# +# Changelog (in reverse chronological order): +# ------------------------------------------- +# 0.1.0 by Pako 2015-03-17 09:23 UTC+1 +# - event filtering can be used even for native EventGhost log +# - added identifiers INFO, NOTICE and ERROR +# - filter string can contain curly brace wildcards +# 0.0.8 by Pako 2013-09-03 10:40 GMT+1 +# - support url updated +# 0.0.7 by Pako 2013-01-20 10:02 GMT+1 +# - the new eg.Log API taken into consideration +# 0.0.6 by Pako 2011-10-03 07:25 GMT+1 +# - bugfix - "Only selected text file" option +# 0.0.5 by Pako 2011-05-17 15:13 GMT+1 +# - eg.scheduler used instead of the Threading +# 0.0.4 by Pako 2011-05-16 19:54 GMT+1 +# - some bugfixes +# 0.0.3 by Pako 2011-03-24 12:26 GMT+1 +# - bug fix when you just added this plugin +# 0.0.2 by Pako 2010-10-31 09:12 GMT+1 +# - added filtration option +# 0.0.1 by Pako 2010-10-24 17:57 GMT+1 +# - added check file size feature +# 0.0.0 by Pako 2010-10-20 14:56 GMT+1 +# - initial version +# =============================================================================== + +import eg + +eg.RegisterPlugin( + name="Log redirector and filter", + author="Pako", + version=version, + kind="other", + guid="{E34BB200-A001-410B-B5F2-16B479AF2046}", + description=u'''This plugin is designed to easily redirection of +EventGhost log to text file.''', + createMacrosOnAdd=False, + url="http://www.eventghost.net/forum/viewtopic.php?f=9&t=2852", + icon=( + "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAADAFBMVEUA////AAD/fHz/" + "jIz/vb3/TU3/p6f/aGj/mpr/srL/x8f/2dn/0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAABub2l0QgZzZVliYVRlZHIAAAJCVAdvdHR0QgUEb050ZmVUA2h4AnBkaVdL" + "AmhpZUgCdGhhQwdvaXRCBQZvTm5iYVRlZHIAAQJCVAdvdHR0QgUEa090ZmUDALgCcG9p" + "VwUCaHRlSAZ0aGdDBxlpdHAFBm5PbnRhVAhkck8CAnJUBwB0dHVCCW5hQ25sZWNmZUwB" + "CANwb1RXBXhodGRIBktoZ2kHGQJ0cGEGbm9udEJjbmFUCGxyT2ICcmUFAABpZEVkRQhw" + "bklMBHQCdGZvVAMFPgJ0ZGkA6QNpZUgCdGhhVAhkck8EAnJUBgBlbmFuUAZwZVNmZUwD" + "DAICcG9pVwUDaHRIBgBoZ2kKAgJldmV0dU8GB3JvTnZDBWVyb2xsYwdjYWxhUBB0bmVr" + "Y2F1b3IICGRPYmFyZWQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAPAAAAAAEAAAEAAAB5utwAAAAAAAAAAAAA" + "AAAAAAMAAAA3BI8AAAAAAAAAAAAAAAAAAAMAAQEAAQAAAAAAAAAAAABhFgh5urQAEHAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAJhFgh5veQAEBBGzxB5PdhxxNgAAAAAAAgAAGAAAAB5QBhgKuLGAAAA" + "AXRSTlMAQObYZgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAIRJREFUeNql01kOgCAMBNCW" + "VZD7n9cYY8PSOkb7V3xBOyARLp7L+fAMzvIIcESg28MADEFCICPAC7jaDQF6DbwB3N2W" + "vzkEACQmA/QHDh6rIAYVENWofMKQwy5N1QH5NYYpSWXOEShbjCtN2qIDyjKrAeoyyPxS" + "ySIbIMlCQ1es//++1wFodAMcT/AbEgAAAABJRU5ErkJggg==" + ), +) +# =============================================================================== + +from os import path, fsync +from datetime import datetime as dt +from codecs import open as openFile +from winsound import PlaySound, SND_ASYNC +from win32gui import MessageBox +from Queue import Queue +from eg.Classes.MainFrame.TreeCtrl import DropTarget as EventDropTarget +from re import DOTALL, compile, search as re_search, escape as re_escape +import wx + +IMAGES_DIR = eg.imagesDir +SYS_VSCROLL_X = wx.SystemSettings.GetMetric(wx.SYS_VSCROLL_X) + + +# =============================================================================== + +class Text: + commitLabel = "File commit interval (seconds):" + fileSize = "Current log file size:" + egMode = "Native EventGhost logging mode" + flMode = "File logging mode" + logModes = ( + "None", + "Normal", + "Filtered", + ) + boxTitle = 'Folder "%s" is incorrect' + toolTipFile = "Press button and browse to select a logfile ..." + browseFile = 'Select the logfile' + label = "Log file:" + size_1 = "Once the file reaches the size of" + size_2 = "MiB, leave only the last" + size_3 = "MiB" + prefix = "LogRedirector.LogFile" + exceeded = "MaxSizeExceeded" + truncated = "Truncated" + toolTip = ( + "Drag-and-drop an event from the log into the box.\n" + "IMPORTANT:\n" + "In the filter string you can use the curly brace wildcards\n" + "{*} to match any string sequence and\n" + "{?} to match a single character." + ) + popup = ( + "Delete item", + "Delete all items", + ) + addItem = "Add item" + filterMode = "ONLY write the event to the log:" + filterModes = ( + "If it EXCLUDES any of the following strings:", + "If it INCLUDES any of the following strings:", + ) + mess = '''In the folder "%s" +is the "Log.txt" name reserved for system logfile of EventGhost. + +Change the file name or folder !''' + stopped = "LogRedirector stopped" + started = "LogRedirector started" + + +# =============================================================================== + +class MyTextDropTarget(EventDropTarget): + + def __init__(self, object): + EventDropTarget.__init__(self, object) + self.object = object + + def OnDragOver(self, x, y, dragResult): + return wx.DragMove + + def OnData(self, dummyX, dummyY, dragResult): + if self.GetData() and self.customData.GetDataSize() > 0: + txt = self.customData.GetData() + evtList = self.object.GetEvtList()[0] + flag = True + for lst in evtList: + if txt in lst: + flag = False + break + if flag: + self.object.InsertItem(txt) + else: + PlaySound('SystemExclamation', SND_ASYNC) + + def OnLeave(self): + pass + + +# =============================================================================== + +newEVT_BUTTON_AFTER = wx.NewEventType() +EVT_BUTTON_AFTER = wx.PyEventBinder(newEVT_BUTTON_AFTER, 1) + + +class EventAfter(wx.PyCommandEvent): + + def __init__(self, evtType, id): + wx.PyCommandEvent.__init__(self, evtType, id) + self.myVal = None + + def SetValue(self, val): + self.myVal = val + + def GetValue(self): + return self.myVal + + +# =============================================================================== + +class EventListCtrl(wx.ListCtrl): + + def __init__(self, parent, id, evtList, width, plugin): + wx.ListCtrl.__init__(self, parent, id, style=wx.LC_REPORT | + wx.LC_NO_HEADER | wx.LC_SINGLE_SEL, size=(width, -1)) + self.parent = parent + self.id = id + self.evtList = evtList + self.plugin = plugin + self.sel = -1 + self.il = wx.ImageList(16, 16) + self.il.Add(wx.Bitmap(wx.Image(path.join(IMAGES_DIR, "event.png"), wx.BITMAP_TYPE_PNG))) + self.SetImageList(self.il, wx.IMAGE_LIST_SMALL) + self.InsertColumn(0, '') + self.SetColumnWidth(0, width - 5 - SYS_VSCROLL_X) + self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnSelect) + self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick) + self.SetToolTip(self.plugin.text.toolTip) + self.back = self.GetBackgroundColour() + self.fore = self.GetForegroundColour() + self.selBack = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT) + self.selFore = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT) + self.SetItems(self.evtList) + + def SelRow(self, row): + if row != self.sel: + if self.sel in range(self.GetItemCount()): + item = self.GetItem(self.sel) + item.SetTextColour(self.fore) + item.SetBackgroundColour(self.back) + self.SetItem(item) + self.sel = row + self.SetItemState(row, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED) + if self.GetItemBackgroundColour(row) != self.selBack: + item = self.GetItem(row) + item.SetTextColour(self.selFore) + item.SetBackgroundColour(self.selBack) + self.SetItem(item) + self.SetItemState(row, 0, wx.LIST_STATE_SELECTED) + + def InsertItem(self, txt): + cnt = self.GetItemCount() + wx.ListCtrl.InsertItem(self, index=cnt, label=txt, imageIndex=0) + self.evtList.append(txt) + self.SelRow(cnt) + self.EnsureVisible(cnt) + + def OnSelect(self, event): + self.SelRow(event.GetIndex()) + evt = EventAfter(newEVT_BUTTON_AFTER, self.sel) + evt.SetValue(self.GetItemText(self.sel)) + self.GetEventHandler().ProcessEvent(evt) + event.Skip() + + def OnRightClick(self, event): + if not hasattr(self, "popupID1"): + self.popupID1 = wx.NewIdRef() + self.popupID2 = wx.NewIdRef() + self.Bind(wx.EVT_MENU, self.OnDeleteButton, id=self.popupID1) + self.Bind(wx.EVT_MENU, self.OnDeleteAllButton, id=self.popupID2) + # make a menu + menu = wx.Menu() + # add some items + menu.Append(self.popupID1, self.plugin.text.popup[0]) + menu.Append(self.popupID2, self.plugin.text.popup[1]) + # Popup the menu. If an item is selected then its handler + # will be called before PopupMenu returns. + self.PopupMenu(menu) + menu.Destroy() + + def OnDeleteButton(self, event=None): + self.DeleteItem(self.sel) + self.evtList.pop(self.sel) + if self.sel > -1 and self.sel < self.GetItemCount(): + self.SetItemState(self.sel, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED) + evtString = self.GetItemText(self.sel) + else: + self.sel = -1 + evtString = "" + evt = EventAfter(newEVT_BUTTON_AFTER, self.sel) + evt.SetValue(evtString) + self.GetEventHandler().ProcessEvent(evt) + + def OnDeleteAllButton(self, event=None): + self.DeleteAllItems() + self.evtList = [] + self.sel = -1 + evt = EventAfter(newEVT_BUTTON_AFTER, -1) + evt.SetValue("") + self.GetEventHandler().ProcessEvent(evt) + + def GetEvtList(self): + return self.evtList, self.sel + + def SetItems(self, evtList): + for i in range(len(evtList)): + self.InsertItem(i, evtList[i], 0) + + def ChangeItem(self, val): + self.SetItemText(self.sel, val) + return self.sel + + +# =============================================================================== + +class MyFileBrowseButton(eg.FileBrowseButton): + + def __init__(self, *args, **kwargs): + if 'defaultFile' in kwargs: + self.defaultFile = kwargs['defaultFile'] + del kwargs['defaultFile'] + else: + self.defaultFile = "" + eg.FileBrowseButton.__init__(self, *args, **kwargs) + + def GetValue(self): + if self.textControl.GetValue(): + res = self.textControl.GetValue() + else: + res = "%s\\%s" % (self.startDirectory, self.defaultFile) + return res + + def GetTextCtrl(self): # now I can make build-in textCtrl + return self.textControl # non-editable !!! + + +# =============================================================================== + +# class MyGridBagSizer(wx.GridBagSizer): +# sizerItems = {} +# +# def Enable(self, enable): +# if self.sizerItems == {}: +# self.GetAllChildren() +# if not enable: +# for key, value in self.sizerItems.iteritems(): +# self.sizerItems[key] = key.IsEnabled() +# key.Enable(False) +# else: +# for key, value in self.sizerItems.iteritems(): +# if value: +# key.Enable() +# +# +# def GetAllChildren(self): +# for sizerItem in self.GetChildren(): +# widget = sizerItem.GetWindow() +# if not widget: +# sizer = sizerItem.GetSizer() +# if isinstance(sizer, wx.Sizer): +# self.GetAllChildren(sizer) +# else: +# self.sizerItems[widget] = widget.IsEnabled() +# =============================================================================== + +def WildcardToRegex(pattern): + res = re_escape(pattern) + if res.startswith("\{\?\}"): + res = "^" + res + res = res.replace("\{\?\}", ".") + res = res.replace("\{\*\}", ".*") + return res + + +# =============================================================================== + +class FilteredNativeLogger(object): + filterFlag = False + + def __init__( + self, + evtList, + egMode, + fMode + ): + self.evtList = evtList + self.egMode = egMode + self.fMode = fMode + eg.log.NativeLogOn(False) + eg.log.get_data = self.GetData + + @eg.LogIt + def GetData(self, numLines=-1): + data = eg.log.data + if numLines == -1: + start = 0 + end = len(data) + elif numLines > len(data): + numLines = len(data) + data = list(data) + filteredData = [] + for line in data[start:end]: + filtered = self.Filter(*line) + if filtered is not None: + filteredData.append(filtered) + return filteredData + + def WriteLine(self, line, icon, wRef, when, indent): + filtered = self.Filter(line, icon, wRef, when, indent) + if filtered is not None: + eg.log.ctrl.WriteLine(*filtered) + + def Filter(self, line, icon, wRef, when, indent): + if self.egMode == 0: + return + evtList = self.evtList + if icon == eg.EventItem.icon: + if self.fMode == 0: + self.filterFlag = True + for patt in evtList: + if re_search(patt, line): + self.filterFlag = False + break + elif self.fMode == 1: + self.filterFlag = False + for patt in evtList: + if re_search(patt, line): + self.filterFlag = True + break + if not self.filterFlag: + return + if not indent: + self.filterFlag = True + if not self.filterFlag: + return + return (line, icon, wRef, when, indent) + + +# =============================================================================== + +class LogRedirector(eg.PluginBase): + text = Text + default = None + ioFile = None + task = None + q = None + flag = False + filterFlag = False + + def OpenFile(self, logfile): + self.ioFile = openFile(logfile, encoding='utf-8', mode='a') + + def SetFlag(self, val): + self.flag = val + + def OnComputerSuspend(self, dummy): + self.__stop__() + + def OnComputerResume(self, dummy): + trItem = self.info.treeItem + args = list(trItem.GetArguments()) + self.__start__(*args) + + def __stop__(self): + eg.PrintNotice(self.text.stopped) + if self.task: + eg.scheduler.CancelTask(self.task) + self.task = None + eg.log.NativeLogOn(True) + eg.log.RemoveLogListener(self) + if self.ioFile: + if self.check: + while not self.q.empty(): + self.ioFile.write(self.q.get()) + self.ioFile.close() + self.ioFile = None + if self.egMode == 2: + eg.log.RemoveLogListener(self.filteredNativeLogger) + del self.filteredNativeLogger + eg.log.NativeLogOn(True) + + def __start__( + self, + egMode=0, + logfile="", + interval=60, + maxSize=20, + minSize=10, + check=False, + evtList=[], + fMode=1, + flMode=0 + ): + eg.PrintNotice(self.text.started) + self.interval = interval + self.maxSize = maxSize + self.minSize = minSize + self.check = check + self.fMode = fMode + self.flMode = flMode + self.egMode = egMode + self.evtList = [] + for item in evtList: + self.evtList.append(WildcardToRegex(item)) + self.evtList = [compile(item, flags=DOTALL) for item in self.evtList] + if flMode == 0: + self.task = None + self.ioFile = None + else: + self.OpenFile(logfile) + self.task = eg.scheduler.AddTask(self.interval, self.CheckFileTask) + if check: + self.q = Queue() + self.flag = True + if flMode: + eg.log.AddLogListener(self) + if egMode != 1: + self.filteredNativeLogger = FilteredNativeLogger( + self.evtList, + egMode, + fMode + ) + eg.log.AddLogListener(self.filteredNativeLogger) + + def WriteLine(self, line, icon, wRef, when, indent): + flMode = self.flMode + fMode = self.fMode + if icon == eg.EventItem.icon: + wref = "EVENT: " + elif icon == eg.Icons.INFO_ICON: + wref = "INFO: " + elif icon == eg.Icons.ERROR_ICON: + wref = "ERROR: " + elif icon == eg.Icons.NOTICE_ICON: + wref = "NOTICE: " + else: + wref = wRef.__repr__().split(" ") if wRef else "" + if len(wref) == 7: + wref = wref[4][1:-5].upper() + ": " + if wref == "PLUGIN: ": + wref = "" + if flMode == 1 and self.ioFile is not None: # log all events to file + if self.check: + self.q.put("%s %s%s%s\r\n" % (str(dt.fromtimestamp(when))[:19], indent * 3 * " ", wref, line.strip())) + else: + self.ioFile.write( + "%s %s%s%s\r\n" % (str(dt.fromtimestamp(when))[:19], indent * 3 * " ", wref, line.strip())) + if self.flag: + while not self.q.empty(): + self.ioFile.write(self.q.get()) + return + evtList = self.evtList + if wref == "EVENT: ": + if fMode == 0: + self.filterFlag = True + for patt in evtList: + if re_search(patt, line): + self.filterFlag = False + break + # self.filterFlag = False + # for evt in evtList: + # if line.find(evt , 0, 1 + len(evt)) > -1: + # self.filterFlag = True + # break + elif fMode == 1: + self.filterFlag = False + for patt in evtList: + if re_search(patt, line): + self.filterFlag = True + break + # self.filterFlag = True + # for evt in evtList: + # if line.find(evt, 0, 1 + len(evt)) > -1: + # self.filterFlag = False + # break + if not self.filterFlag: + return + if not indent: + self.filterFlag = True + if not self.filterFlag: + return + if flMode == 2 and self.ioFile is not None: + if self.check: + self.q.put("%s %s%s%s\r\n" % (str(dt.fromtimestamp(when))[:19], indent * 3 * " ", wref, line.strip())) + else: + self.ioFile.write( + "%s %s%s%s\r\n" % (str(dt.fromtimestamp(when))[:19], indent * 3 * " ", wref, line.strip())) + if self.flag: + while not self.q.empty(): + self.ioFile.write(self.q.get()) + + def CheckFileTask(self): + self.task = 0 + self.ioFile.flush() + fsync(self.ioFile.fileno()) + if self.check: + fn = self.ioFile.name + sz = path.getsize(fn) + if sz > self.maxSize * 1048576: + eg.TriggerEvent(self.text.exceeded, prefix=self.text.prefix, payload=sz) + self.SetFlag(False) + self.ioFile.close() + tmpf = open(fn, 'rb+') + tmpf.seek(-1048576 * self.minSize, 2) + data = tmpf.read() + pos = data.find("\r\n") + tmpf.seek(0) + tmpf.write(data[pos + 2:]) + tmpf.truncate() + tmpf.close() + self.OpenFile(fn) + eg.TriggerEvent(self.text.truncated, prefix=self.text.prefix, payload=path.getsize(fn)) + self.SetFlag(True) + if self.task is not None: + self.task = eg.scheduler.AddTask(self.interval, self.CheckFileTask) + + def Configure( + self, + egMode=1, + logfile="", + interval=60, + maxSize=20, + minSize=10, + check=False, + evtList=[], + fMode=1, + flMode=0 + ): + text = self.text + panel = eg.ConfigPanel(self) + self.logfile = logfile + logFileCtrl = MyFileBrowseButton( + panel, + toolTip=text.toolTipFile, + dialogTitle=text.browseFile, + buttonText=eg.text.General.browse, + startDirectory=eg.configDir, + defaultFile="EventGhost_Log.txt" + ) + logFileCtrl.GetTextCtrl().SetEditable(False) + logLabel = wx.StaticText(panel, -1, text.label) + radioBox = wx.RadioBox( + panel, + -1, + text.egMode, + choices=text.logModes, + style=wx.RA_SPECIFY_ROWS + ) + radioBox.SetSelection(egMode) + radioBox2 = wx.RadioBox( + panel, + -1, + text.flMode, + choices=text.logModes, + style=wx.RA_SPECIFY_ROWS + ) + radioBox2.SetSelection(flMode) + commitLabel = wx.StaticText(panel, -1, text.commitLabel) + commitCtrl = eg.SpinIntCtrl( + panel, + -1, + interval, + min=1, + max=999, + ) + fileSize_1 = wx.StaticText(panel, -1, text.fileSize) + fileSizeCtrl = wx.TextCtrl(panel, -1, "", size=(30, -1)) + if self.logfile: + fileSizeCtrl.ChangeValue(str((524288 + path.getsize(self.logfile)) / 1048576)) + fileSize_2 = wx.StaticText(panel, -1, text.size_3) + fileSize_1.Enable(False) + fileSizeCtrl.Enable(False) + fileSize_2.Enable(False) + sizeCheck = wx.CheckBox(panel, -1, "") + sizeCheck.SetValue(check) + sizeLabel_1 = wx.StaticText(panel, -1, text.size_1) + sizeCtrl_1 = eg.SpinIntCtrl( + panel, + -1, + maxSize, + min=2, + max=999, + ) + sizeLabel_2 = wx.StaticText(panel, -1, text.size_2) + sizeCtrl_2 = eg.SpinIntCtrl( + panel, + -1, + minSize, + min=1, + max=998, + ) + sizeLabel_3 = wx.StaticText(panel, -1, text.size_3) + filterLabel = wx.StaticText(panel, -1, text.filterMode) + filterChoice = wx.Choice(panel, -1, choices=text.filterModes) + filterChoice.SetSelection(fMode) + w = filterChoice.GetSize()[0] + eventsCtrl = EventListCtrl(panel, -1, evtList, w, self) + dt = MyTextDropTarget(eventsCtrl) + eventsCtrl.SetDropTarget(dt) + editEventCtrl = wx.TextCtrl(panel, -1, "", size=((w, -1))) + editEventCtrl.Enable(False) + delButton = wx.Button(panel, -1, text.popup[0]) + delButton.Enable(False) + delAllButton = wx.Button(panel, -1, text.popup[1]) + delAllButton.Enable(len(evtList) > 0) + addButton = wx.Button(panel, -1, text.addItem) + commitSizer = wx.BoxSizer(wx.HORIZONTAL) + commitSizer.Add(commitLabel, 0, wx.TOP, 3) + commitSizer.Add(commitCtrl, 0, wx.LEFT, 8) + commitSizer.Add((-1, -1), 1, wx.EXPAND) + commitSizer.Add(fileSize_1, 0, wx.TOP, 3) + commitSizer.Add(fileSizeCtrl, 0, wx.LEFT | wx.RIGHT, 4) + commitSizer.Add(fileSize_2, 0, wx.TOP, 3) + sizeSizer = wx.BoxSizer(wx.HORIZONTAL) + sizeSizer.Add(sizeCheck, 0, wx.TOP | wx.RIGHT, 3) + sizeSizer.Add(sizeLabel_1, 0, wx.TOP, 3) + sizeSizer.Add(sizeCtrl_1, 0, wx.LEFT | wx.RIGHT, 5) + sizeSizer.Add(sizeLabel_2, 0, wx.TOP, 3) + sizeSizer.Add(sizeCtrl_2, 0, wx.LEFT | wx.RIGHT, 5) + sizeSizer.Add(sizeLabel_3, 0, wx.TOP, 3) + topSizer = wx.BoxSizer(wx.HORIZONTAL) + topSizer.Add(radioBox, 1) + topSizer.Add(radioBox2, 1, wx.LEFT, 5) + sizerAdd = panel.sizer.Add + sizerAdd(topSizer, 0, wx.EXPAND) + sizerAdd(logLabel, 0, wx.TOP, 10) + sizerAdd(logFileCtrl, 0, wx.TOP | wx.EXPAND, 1) + sizerAdd(commitSizer, 0, wx.TOP | wx.EXPAND, 10) + sizerAdd(sizeSizer, 0, wx.TOP | wx.EXPAND, 10) + filterSizer = wx.GridBagSizer(vgap=1, hgap=20) + # filterSizer = MyGridBagSizer(vgap=1,hgap=20) + filterSizer.AddGrowableRow(2) + filterSizer.AddGrowableRow(4) + filterSizer.AddGrowableRow(6) + filterSizer.Add(filterLabel, (0, 0)) + filterSizer.Add(filterChoice, (1, 0)) + filterSizer.Add(eventsCtrl, (2, 0), (5, 1), flag=wx.TOP | wx.BOTTOM | wx.EXPAND) + filterSizer.Add(editEventCtrl, (7, 0)) + filterSizer.Add((-1, 14), (2, 1)) + filterSizer.Add(delButton, (3, 1), flag=wx.EXPAND) + filterSizer.Add((-1, 12), (4, 1)) + filterSizer.Add(delAllButton, (5, 1)) + filterSizer.Add((-1, 14), (6, 1)) + filterSizer.Add(addButton, (7, 1), flag=wx.EXPAND) + sizerAdd(filterSizer, 0, wx.EXPAND | wx.TOP, 10) + + def onEditEvent(evt): + strng = evt.GetString() + sel = eventsCtrl.ChangeItem(strng) + evtList[sel] = strng + + editEventCtrl.Bind(wx.EVT_TEXT, onEditEvent) + + def onFocus(evt): + strng = evt.GetValue() + editEventCtrl.ChangeValue(evt.GetValue()) + enb = evt.GetId() != -1 + editEventCtrl.Enable(enb) + delButton.Enable(enb) + delAllButton.Enable(eventsCtrl.GetItemCount() > 0) + Validation() + + eventsCtrl.Bind(EVT_BUTTON_AFTER, onFocus) + + def DummyHandle(evt): + pass + + sizeCtrl_1.Bind(wx.EVT_TEXT, DummyHandle) + sizeCtrl_2.Bind(wx.EVT_TEXT, DummyHandle) + + def Validation(event=None): + fileYes = radioBox2.GetSelection() > 0 + flg = True + if fileYes and not self.logfile: + flg = False + if sizeCtrl_1.GetValue() <= sizeCtrl_2.GetValue(): + flg = False + if eventsCtrl.IsEnabled() and not eventsCtrl.GetItemCount(): + flg = False + panel.dialog.buttonRow.okButton.Enable(flg) + panel.dialog.buttonRow.applyButton.Enable(flg) + + sizeCtrl_1.Bind(eg.EVT_VALUE_CHANGED, Validation) + sizeCtrl_2.Bind(eg.EVT_VALUE_CHANGED, Validation) + + def onDeleteItem(evt): + eventsCtrl.OnDeleteButton() + Validation() + + delButton.Bind(wx.EVT_BUTTON, onDeleteItem) + + def onDeleteAllItem(evt): + eventsCtrl.OnDeleteAllButton() + Validation() + + delAllButton.Bind(wx.EVT_BUTTON, onDeleteAllItem) + + def onAddItem(evt): + editEventCtrl.Enable(True) + eventsCtrl.InsertItem("") + + addButton.Bind(wx.EVT_BUTTON, onAddItem) + + def onFilterChoice(event=None): + if not eventsCtrl.GetItemCount(): + eventsCtrl.SetItems(evtList) + sel = eventsCtrl.GetEvtList()[1] + selected = sel > -1 + delButton.Enable(selected) + editEventCtrl.Enable(selected) + if selected: + eventsCtrl.SelRow(sel) + editEventCtrl.ChangeValue(evtList[sel]) + delAllButton.Enable(len(evtList) > 0) + Validation() + + filterChoice.Bind(wx.EVT_CHOICE, onFilterChoice) + + def logFileChange(event): + val = logFileCtrl.GetTextCtrl().GetValue() + if val.lower() == u"%s\\log.txt" % unicode(eg.configDir).lower(): + PlaySound('SystemExclamation', SND_ASYNC) + MessageBox( + panel.GetHandle(), + text.mess % unicode(eg.configDir), + "EventGhost - %s" % self.name, + 48 + ) + log_f = self.logfile if self.logfile else "" + logFileCtrl.GetTextCtrl().SetValue(log_f) + return + self.logfile = val + Validation() + + logFileCtrl.Bind(wx.EVT_TEXT, logFileChange) + + def onSizeCheck(event=None): + val = sizeCheck.GetValue() + sizeLabel_1.Enable(val) + sizeCtrl_1.Enable(val) + sizeLabel_2.Enable(val) + sizeCtrl_2.Enable(val) + sizeLabel_3.Enable(val) + + sizeCheck.Bind(wx.EVT_CHECKBOX, onSizeCheck) + onSizeCheck() + + def EnableFilterSizer(): + val = radioBox.GetSelection() > 1 or radioBox2.GetSelection() > 1 + # filterSizer.Enable(val) + filterLabel.Enable(val) + filterChoice.Enable(val) + addButton.Enable(val) + delButton.Enable(val) + editEventCtrl.Enable(val) + delAllButton.Enable(val) + eventsCtrl.Enable(val) + editEventCtrl.Enable(val) + if val: + onFilterChoice() + Validation() + + def onRadioBox(event): + wx.CallAfter(EnableFilterSizer) + event.Skip() + + radioBox.Bind(wx.EVT_RADIOBOX, onRadioBox) + + def onRadioBox2(event=None): + wx.CallAfter(EnableFilterSizer) + val = bool(radioBox2.GetSelection()) + if not val or self.logfile is None: + logFileCtrl.GetTextCtrl().ChangeValue("") + else: + logFileCtrl.GetTextCtrl().ChangeValue(self.logfile) + logLabel.Enable(val) + logFileCtrl.Enable(val) + commitLabel.Enable(val) + commitCtrl.Enable(val) + sizeCheck.Enable(val) + sizeCheck.SetValue(val) + onSizeCheck() + if event: + event.Skip() + + radioBox2.Bind(wx.EVT_RADIOBOX, onRadioBox2) + onRadioBox2() + onFilterChoice() + + while panel.Affirmed(): + val = bool(radioBox.GetSelection()) + panel.SetResult( + radioBox.GetSelection(), + logFileCtrl.GetTextCtrl().GetValue() if val else self.logfile, + commitCtrl.GetValue(), + sizeCtrl_1.GetValue(), + sizeCtrl_2.GetValue(), + sizeCheck.GetValue(), + eventsCtrl.GetEvtList()[0], + filterChoice.GetSelection(), + radioBox2.GetSelection() + ) +# =============================================================================== diff --git a/plugins/MQTTClient/__init__.py b/plugins/MQTTClient/__init__.py new file mode 100644 index 000000000..b52f4fc94 --- /dev/null +++ b/plugins/MQTTClient/__init__.py @@ -0,0 +1,1995 @@ +# -*- coding: utf-8 -*- +# +# plugins/MQTT Client/__init__.py +# +# This file is a plugin for EventGhost. +# Copyright (C) 2016 Walter Kraembring . +# +############################################################################### +# +# EventGhost is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by the +# Free Software Foundation; +# +# EventGhost 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, see . +# +############################################################################## +# Revision history: +# +# 2017-09-09 Dialog GUI improvements - based on suggestions from Snowbird +# 2017-08-11 Bugfix in config settings for selection of TLS/SSL protocol +# 2017-07-08 Re-designed to improve TLS/SSL connections using certificates +# 2017-02-07 Added action to support publishing of binary data like pictures +# 2016-12-15 Modified decoding of Domoticz events for Motion SensorS +# 2016-11-28 Added support for username & password/key authentication +# Added support for TLS/SSL +# 2016-10-15 Modified decoding of Domoticz events for on/off switches +# 2016-10-07 Added support for Domoticz +# 2016-08-13 Fixed a compatibilty issue for EG version 0.5.x (AddGrowableCol) +# 2016-06-06 Modified the publishMQTT action +# 2016-05-17 With support for openHAB (Use topic /openHAB/) +# 2016-02-24 Migrated, now using Paho instead of Mosquitto +# 2016-02-18 Improved handling of topics (no need to have leading slash (/)) +# Supporting subscription to # (not recommended) +# 2015-05-28 Added support for Node-RED MQTT events (NRED) +# 2015-05-12 Added support for SwitchKing MQTT events +# 2015-01-18 Had to change the logic for handling possible duplicates of MQTT +# subscriptions. Now only recommending not to run duplicates, not +# preventing. +# 2014-12-05 Some clean up in handling and running MQTT subscriptions. +# Avoiding duplicates of MQTT subscriptions +# 2014-11-29 Added option to select if event string and payload should be +# linked together as combined event content +# 2014-07-31 Changed event prefix to 'MQTT' +# Added support for utf-8 encoding/decoding +# 2014-04-30 Improved error message contents +# 2014-03-10 Added client connection retry handling +# 2014-01-12 Added timed dictionary to avoid duplicates +# 2013-10-20 The first stumbling version +############################################################################## +# +# Acknowledgement: All credits to Mr Roger Light and +# The Eclipse Foundation project for the Eclipse Paho MQTT Python client +# library +# +############################################################################## + +import eg + +eg.RegisterPlugin( + name = "MQTT Client", + author = "Walter Kraembring (krambriw)", + version = "1.2.2", + canMultiLoad = False, + kind = "other", + url = "http://www.eventghost.org", + description = ("Eclipse Paho MQTT Python client library implements"+ + "versions 3.1 and 3.1.1 of the MQTT protocol."+ + "This enables applications to connect to an MQTT broker"+ + "to publish messages, and to subscribe to topics and"+ + "receive published messages."+ + "The MQTT protocol is a machine-to-machine connectivity"+ + "protocol. Designed as an extremely lightweight"+ + "publish/subscribe messaging transport, it is useful for"+ + "connections with remote locations where a small code"+ + "footprint is required and/or network bandwidth is at a"+ + "premium." + ), + guid = "{D5CCABA6-8E20-4B59-A7A7-9C197F91037F}" +) + +import paho.mqtt.client as mqtt +import ssl +import time +import random +import wx +from threading import Event, Thread +from ast import literal_eval + + +class Text: + started = "Plugin started" + listhl = "Currently active threads:" + colLabels = ( + "MQTT Subscriber Name ", + "MQTT client id ", + "MQTT broker host/ip ", + "Port ", + "Persistent session ", + "Topic ", + " " + ) + + #Buttons + b_abort = "Abort" + b_abortAll = "Abort all" + b_restartAll = "Restart All" + b_refresh = "Refresh" + + #Threads + n_ThreadMQTT = "MQTT Client" + thr_abort = "Thread is terminating: " + connection_problem = 'MQTT Client: Trying to reconnect with...' + connected = 'Succesfully connected with MQTT broker...' + + +class MQTTclientTxt: + name = "Start a new MQTT subscription " + description = ("A MQTT subscriber") + actionName = "MQTT subscriber name: " + hostName = "Host ip or name: " + portName = "Port number: " + topicName = "Topic: " + tTopic = "Check to include payload in event string: " + pSession = "Check to make a persistent session: " + used_sub = 'MQTT subscription is already existing and running, duplicates are not recommended' + ucred = "Use credentials: " + username = "User name: " + password = "Password/Key: " + utls = "Use TLS/SSL: " + ca_cert = "Path to CA certificate file: " + cc_cert = "Path to Client certificate file: " + cc_key = "Path to Client key file: " + proto = "Select the TLS/SSL protocol: " + textBoxProto = "Select the TLS/SSL protocol: " + toolTipFile = "Press button and browse to select a file ..." + browseFile = 'Select the file' + + +class publishMQTTtxt: + name = "Publish a MQTT message" + description = ("A MQTT message") + empty = '>>EMPTY<<' + actionName = "MQTT publisher name: " + hostName = "Host ip or name: " + portName = "Port number: " + topicName = "Topic: " + messageName = "Message: " + qosName = "QOS: " + retainName = "Retain: " + ucred = "Use credentials: " + username = "User name: " + password = "Password/Key: " + utls = "Use TLS/SSL: " + ca_cert = "Path to CA certificate file: " + cc_cert = "Path to Client certificate file: " + cc_key = "Path to Client key file: " + proto = "Select the TLS/SSL protocol: " + textBoxProto = "Select the TLS/SSL protocol: " + toolTipFile = "Press button and browse to select a file ..." + browseFile = 'Select the file' + + +class publishBinaryMQTTtxt: + name = "Publish a binary file as MQTT message" + description = ("A MQTT binary message") + empty = '>>EMPTY<<' + actionName = "MQTT publisher name: " + hostName = "Host ip or name: " + portName = "Port number: " + topicName = "Topic: " + fileName = "Select file: " + toolTipFile = "Press button and browse to select a file ..." + browseFile = 'Select the file' + qosName = "QOS: " + retainName = "Retain: " + ucred = "Use credentials: " + username = "User name: " + password = "Password/Key: " + utls = "Use TLS/SSL: " + ca_cert = "Path to CA certificate file: " + cc_cert = "Path to Client certificate file: " + cc_key = "Path to Client key file: " + proto = "Select the TLS/SSL protocol: " + textBoxProto = "Select the TLS/SSL protocol: " + toolTipFile = "Press button and browse to select a file ..." + browseFile = 'Select the file' + + + +class ThreadMQTT(Thread): + text = Text + + def __init__( + self, + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + Thread.__init__(self, name = self.text.n_ThreadMQTT) + self.name = name + self.host = host + self.port = port + self.ucred = ucred + self.username = username + self.password = password + self.utls = utls + self.ca_cert = ca_cert + self.cc_cert = cc_cert + self.cc_key = cc_key + self.proto = proto + self.topic = topic + self.topicTrigger = topicTrigger + self.cid = cid + self.persistentSession = persistentSession + self.finished = Event() + self.abort = False + self.eventCollection = [] + self.eventCollection = {} + self.taskObj = {} + self.bDelayRepeat = False + self.delayRepeat = 1.0 + self.prefix = 'MQTT' + + + def run(self): + + def RemoveEventFromCollection(t_key, res_key): + try: + del self.taskObj[t_key] + self.eventCollection[res_key] = '' + except: + pass + + + def TriggerEvent(msg): + smsg = msg.topic.decode('utf-8') + pl = str(msg.payload).decode('utf-8') + if self.topicTrigger: + smsg = smsg + '.' + pl + eg.TriggerEvent( + smsg, + payload = pl, + prefix=self.prefix + ) + + + def ProcessEvent(msg, bDelay, delay, res_key, res_base): + try: + v = self.eventCollection[res_key] + except KeyError: + self.eventCollection[res_key] = '' + + if self.eventCollection[res_key] != res_base: + if bDelay: + self.eventCollection[res_key] = res_base + TriggerEvent(msg) + self.bDelayRepeat = bDelay + self.delayRepeat = delay + + if self.bDelayRepeat: + #Schedule the event removal task + t_key = str(time.time()) + p = eg.scheduler.AddTask( + self.delayRepeat, + RemoveEventFromCollection, + t_key, res_key + ) + self.taskObj[t_key] = str(p) + return + + + def ProcessEvent2(msg, bDelay, delay, res_key, result): + try: + v = self.eventCollection[res_key] + except KeyError: + self.eventCollection[res_key] = '' + + if self.eventCollection[res_key] != result: + if bDelay: + self.eventCollection[res_key] = result + TriggerEvent2(msg, result) + self.bDelayRepeat = bDelay + self.delayRepeat = delay + + if self.bDelayRepeat: + #Schedule the event removal task + t_key = str(time.time()) + p = eg.scheduler.AddTask( + self.delayRepeat, + RemoveEventFromCollection, + t_key, res_key + ) + self.taskObj[t_key] = str(p) + return + + + def TriggerEvent2(msg, result): + smsg = (msg.topic.decode('utf-8')+ + '/'+ + str(result[2])+ + '/'+ + str(result[4]) + ) + if result[-2] == "On/Off" or result[-2] == "Motion Sensor": + smsg = (msg.topic.decode('utf-8')+ + '/'+ + str(result[2])+ + '/'+ + str(result[4])+ + '/'+ + str(result[6]) + ) + eg.TriggerEvent( + smsg, + payload = result, + prefix=self.prefix + ) + + + def on_connect(client, userdata, flags, rc): + #print flags + qos = 0 + if self.persistentSession: + qos = 2 + client.subscribe((str(self.topic), qos)) + + + def on_subscribe(client, userdata, mid, granted_qos): + #print("Subscribed: "+str(mid)+" "+str(granted_qos)) + pass + + + def on_message(client, userdata, msg): + + if msg.topic.find('domoticz') != -1: + event = literal_eval(msg.payload) + result = [] + allowed = [ + "Battery", + "RSSI", + "dtype", + "id", + "idx", + "name", + "nvalue", + "stype", + "svalue1", + "svalue2", + "switchType", + "unit" + ] + for item in allowed: + try: + result.append(event[item]) + except: + pass + res_key = msg.topic + ', ' + str(result[4]) + res_base = str(msg.qos)+" "+str(result) + ProcessEvent2(msg, False, 0.0, res_key, result) + return + + if self.topic.find('/openHAB/') != -1: + event = str(msg.payload).split(',') + res_key = msg.topic + ', ' + event[0] + res_base = str(msg.qos)+" "+str(msg.payload) + ProcessEvent(msg, False, 0.0, res_key, event) + return + + if self.topic == '#': + event = str(msg.payload).split(',') + res_key = msg.topic + ', ' + event[0] + res_base = str(msg.qos)+" "+str(msg.payload) + ProcessEvent(msg, True, 1.0, res_key, event) + return + + if str(msg.topic) == self.topic: + event = str(msg.payload).split(',') + res_key = msg.topic + ', ' + event[0] + res_base = str(msg.qos)+" "+str(msg.payload) + ProcessEvent(msg, True, 1.0, res_key, event) + return + + if ( + self.topic.find('/#') > 0 + and + str(msg.topic).find(self.topic.split('/#')[0]) > -1 + ): + event = str(msg.payload).split(',') + res_key = msg.topic + ', ' + event[0] + res_base = str(msg.qos)+" "+str(msg.payload) + ProcessEvent(msg, True, 5.0, res_key, event) + return + + if str(msg.topic).find('zwave') > 0: + event = str(msg.payload).split(',') + res_key = msg.topic + ', ' + event[0] + res_base = str(msg.qos)+" "+str(msg.payload) + ProcessEvent(msg, True, 10.0, res_key, event) + return + + if str(msg.topic).find('rfxtrx') > 0: + event = str(msg.payload).split('id: ') + res_key = msg.topic + ', ' + event[1].split(',')[0] + res_base = str(msg.payload) + ProcessEvent(msg, True, 1.0, res_key, event) + return + + if str(msg.topic).find('nethomeserver') > 0: + event = str(msg.payload).split(',') + res_key = msg.topic + ', ' + event[0] + res_base = str(msg.qos)+" "+str(msg.payload) + ProcessEvent(msg, True, 1.0, res_key, event) + return + + if str(msg.topic).find('switchking') > -1: + event = msg.payload + res_key = str(msg.topic) + ', ' + str(msg.payload) + res_base = str(msg.qos) + " "+ str(msg.payload) + ProcessEvent(msg, True, 1.0, res_key, res_base) + return + + if str(msg.topic).find('NRED') > -1: + event = msg.payload + res_key = str(msg.topic) + ', ' + str(msg.payload) + res_base = str(msg.qos) + " "+ str(msg.payload) + ProcessEvent(msg, True, 1.0, res_key, res_base) + return + + if str(msg.topic).find(self.topic.split('/')[1]) > 0: + event = str(msg.payload).split(',') + res_key = msg.topic + ', ' + event[0] + res_base = str(msg.qos)+" "+str(msg.payload) + ProcessEvent(msg, True, 5.0, res_key, event) + return + + cs = 1 + if self.persistentSession: + cs = 0 + + mqttc = mqtt.Client(str(self.cid), + clean_session=cs, + userdata=None, + protocol=4) + mqttc.on_message = on_message + mqttc.on_connect = on_connect + mqttc.on_subscribe = on_subscribe + + resp = None + + while resp <> 0 and self.abort == False: + lrsp = 0 + try: + if self.ucred: + mqttc.username_pw_set(self.username, self.password) + if self.utls: + if self.cc_cert == "": + try: + f = open(self.ca_cert, "r") + f.close() + except IOError as err: + eg.PrintError("No CA certificate found") + mqttc.tls_set(self.ca_cert) + else: + try: + f = open(self.ca_cert, "r") + f.close() + except IOError as err: + eg.PrintError("No CA certificate found") + try: + f = open(self.cc_cert, "r") + f.close() + except IOError as err: + eg.PrintError("No Client certificate found") + try: + f = open(self.cc_key, "r") + f.close() + except IOError as err: + eg.PrintError("No Client key file found") + protocols = { + 'SSLv3':ssl.PROTOCOL_SSLv3, + 'TLSv1':ssl.PROTOCOL_TLSv1, + 'TLSv1.1':ssl.PROTOCOL_TLSv1_1, + 'TLSv1.2':ssl.PROTOCOL_TLSv1_2 + } + mqttc.tls_set( + self.ca_cert, + self.cc_cert, + self.cc_key, + tls_version=protocols[self.proto] + ) + resp = mqttc.connect(self.host, self.port, 60) + except: + pass + if resp <> 0: + print self.text.connection_problem +self.topic +' ' +self.host + #print resp + self.finished.wait(5.0) + self.run() + else: + pass + print 'MQTT Client ', self.name +':', self.text.connected + + + while lrsp == 0 and self.abort == False: + lrsp = mqttc.loop(10.0, 1) + #print 'lrsp', lrsp + self.finished.wait(0.01) + if lrsp <> 0: + resp = -1 + mqttc.disconnect() + if self.abort: + mqttc.disconnect() + self.finished.wait(1.0) + break + #self.finished.wait(1.0) + self.finished.clear() + + + def CancelTasks(self): + for key in self.taskObj: + try: + eg.scheduler.CancelTask(key) + except ValueError: + pass + self.taskObj = {} + + + def AbortMQTT(self): + print self.text.thr_abort, self.text.n_ThreadMQTT + self.abort = True + self.finished.set() + time.sleep(0.1) + self.CancelTasks() + + + +class MQTTthreads(eg.PluginClass): + text = Text + + def __init__(self): + self.AddAction(MQTTclient) + self.AddAction(publishMQTT) + self.AddAction(publishBinaryMQTT) + self.AllMQTTsubscribers = [] + self.lastMQTTName = "" + self.MQTTThreads = {} + self.OkButtonClicked = False + self.started = False + + + def __start__( + self + ): + print self.text.started + + if self.OkButtonClicked: + self.OkButtonClicked = False + self.RestartAllMQTTs() + + self.mainThreadEvent = Event() + mainThread = Thread(target=self.main, args=(self.mainThreadEvent,)) + mainThread.start() + self.started = True + + + def __stop__(self): + self.mainThreadEvent.set() + self.AbortAllMQTTs() + self.started = False + + + def __close__(self): + self.AbortAllMQTTs() + self.started = False + + + def main(self,mainThreadEvent): + while not mainThreadEvent.isSet(): + self.mainThreadEvent.wait(10.0) + #print "Main thread is running..." + + + #methods to Control MQTTs + def StartMQTTs( + self, + MQTTName, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + if self.MQTTThreads.has_key(MQTTName): + t = self.MQTTThreads[MQTTName] + if t.isAlive(): + t.AbortMQTT() + del self.MQTTThreads[MQTTName] + t = ThreadMQTT( + MQTTName, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + self.MQTTThreads[MQTTName] = t + self.AddMQTTsubscriber( + MQTTName, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + t.start() + + + def AbortMQTT(self, MQTT): + if self.MQTTThreads.has_key(MQTT): + t = self.MQTTThreads[MQTT] + t.AbortMQTT() + del self.MQTTThreads[MQTT] + + + def AbortAllMQTTs(self): + for i, item in enumerate(self.MQTTThreads): + t = self.MQTTThreads[item] + t.AbortMQTT() + del t + self.MQTTThreads = {} + + + def RestartAllMQTTs(self, startNewIfNotAlive = True): + self.AbortAllMQTTs() + for item in self.GetAllMQTTsubscribers(): + item = item.split(',') + if startNewIfNotAlive: + bT = True + bP = False + bC = False + bU = False + if item[4] == 'False': + bT = False + if item[6] == 'True': + bP = True + if item[7] == 'True': + bC = True + if item[10] == 'True': + bU = True + + self.StartMQTTs( + item[0], + item[1], + int(item[2]), + item[3], + bT, + item[5], + bP, + bC, + item[8], + item[9], + bU, + item[11], + item[12], + item[13], + item[14] + ) + + + def Configure( + self, + *args + ): + panel = eg.ConfigPanel(self, resizable=True) + + panel.sizer.Add( + wx.StaticText(panel, -1, self.text.listhl), + flag = wx.ALIGN_CENTER_VERTICAL + ) + + mySizer = wx.GridBagSizer(5, 5) + + testListCtrl = wx.ListCtrl( + panel, + -1, + style=wx.LC_REPORT | wx.VSCROLL | wx.HSCROLL + ) + + for i, colLabel in enumerate(self.text.colLabels): + testListCtrl.InsertColumn(i, colLabel) + + #setting col width to fit label + testListCtrl.InsertItem(0, "Test Subscriber Name ") + testListCtrl.SetItem(0, 1, " ") + testListCtrl.SetItem(0, 2, " ") + testListCtrl.SetItem(0, 3, " ") + testListCtrl.SetItem(0, 4, " ") + testListCtrl.SetItem(0, 5, " ") + testListCtrl.SetItem(0, 6, " ") + + size = 0 + for i in range(6): + testListCtrl.SetColumnWidth( + i, + wx.LIST_AUTOSIZE_USEHEADER + ) #wx.LIST_AUTOSIZE + size += testListCtrl.GetColumnWidth(i) + + testListCtrl.SetMinSize((size, -1)) + + mySizer.Add(testListCtrl, (0,0), (1, 5), flag = wx.EXPAND) + + #buttons + abortButton = wx.Button(panel, -1, self.text.b_abort) + mySizer.Add(abortButton, (3,0)) + + abortAllButton = wx.Button(panel, -1, self.text.b_abortAll) + mySizer.Add(abortAllButton, (3,1), flag = wx.ALIGN_RIGHT) + + restartAllButton = wx.Button(panel, -1, self.text.b_restartAll) + mySizer.Add(restartAllButton, (3,2), flag = wx.ALIGN_RIGHT) + + refreshButton = wx.Button(panel, -1, self.text.b_refresh) + mySizer.Add(refreshButton, (3,4), flag = wx.ALIGN_RIGHT) + + mySizer.AddGrowableRow(0) + mySizer.AddGrowableCol(0) + mySizer.AddGrowableCol(1) + mySizer.AddGrowableCol(2) + mySizer.AddGrowableCol(3) + mySizer.AddGrowableCol(4) + + panel.sizer.Add(mySizer, 1, flag = wx.EXPAND) + + + def PopulateList (event): + testListCtrl.DeleteAllItems() + row = 0 + for i, item in enumerate(self.MQTTThreads): + t = self.MQTTThreads[item] + if t.isAlive(): + testListCtrl.InsertStringItem( + row, + t.name + ) + testListCtrl.SetStringItem(row, + 1, t.cid) + testListCtrl.SetStringItem(row, + 2, t.host) + testListCtrl.SetStringItem(row, + 3, str(t.port)) + testListCtrl.SetStringItem(row, + 4, str(t.persistentSession)) + testListCtrl.SetStringItem(row, + 5, t.topic) + row += 1 + ListSelection(wx.CommandEvent()) + + + def OnAbortButton(event): + item = testListCtrl.GetFirstSelected() + while item != -1: + name = testListCtrl.GetItemText(item) + self.AbortMQTT(name) + item = testListCtrl.GetNextSelected(item) + PopulateList(wx.CommandEvent()) + event.Skip() + + + def OnAbortAllButton(event): + self.AbortAllMQTTs() + PopulateList(wx.CommandEvent()) + event.Skip() + + + def OnRestartAllButton(event): + self.RestartAllMQTTs() + PopulateList(wx.CommandEvent()) + event.Skip() + + + def ListSelection(event): + flag = testListCtrl.GetFirstSelected() != -1 + abortButton.Enable(flag) + event.Skip() + + + def OnSize(event): + testListCtrl.SetColumnWidth( + 6, + wx.LIST_AUTOSIZE_USEHEADER + ) #wx.LIST_AUTOSIZE + event.Skip() + + + def OnApplyButton(event): + event.Skip() + self.RestartAllMQTTs() + PopulateList(wx.CommandEvent()) + + + def OnOkButton(event): + event.Skip() + self.OkButtonClicked = True + if not self.started: + self.RestartAllMQTTs() + PopulateList(wx.CommandEvent()) + + + PopulateList(wx.CommandEvent()) + abortButton.Bind(wx.EVT_BUTTON, OnAbortButton) + abortAllButton.Bind(wx.EVT_BUTTON, OnAbortAllButton) + restartAllButton.Bind(wx.EVT_BUTTON, OnRestartAllButton) + refreshButton.Bind(wx.EVT_BUTTON, PopulateList) + testListCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, ListSelection) + testListCtrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, ListSelection) + panel.Bind(wx.EVT_SIZE, OnSize) + panel.dialog.buttonRow.applyButton.Bind(wx.EVT_BUTTON, OnApplyButton) + panel.dialog.buttonRow.okButton.Bind(wx.EVT_BUTTON, OnOkButton) + + while panel.Affirmed(): + panel.SetResult( + *args + ) + + + def GetAllMQTTsubscribers(self): + return self.AllMQTTsubscribers + + + def AddMQTTsubscriber( + self, + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + sub = ( + name+','+ + host+','+ + str(port)+','+ + topic+','+ + str(topicTrigger)+','+ + cid+','+ + str(persistentSession)+','+ + str(ucred)+','+ + username+','+ + password+','+ + str(utls)+','+ + ca_cert+','+ + cc_cert+','+ + cc_key+','+ + proto + ) + if not sub in self.AllMQTTsubscribers: + self.AllMQTTsubscribers.append(sub) + return self.AllMQTTsubscribers.index(sub) + + + def DelMQTTsubscriber( + self, + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + sub = ( + name+','+ + host+','+ + str(port)+','+ + topic+','+ + str(topicTrigger)+','+ + cid+','+ + str(persistentSession)+','+ + str(ucred)+','+ + username+','+ + password+','+ + str(utls)+','+ + ca_cert+','+ + cc_cert+','+ + cc_key+','+ + proto + ) + if sub in self.AllMQTTsubscribers: + self.AllMQTTsubscribers.remove(sub) + + + def CheckMQTTsubscriber( + self, + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + sub = ( + name+','+ + host+','+ + str(port)+','+ + topic+','+ + str(topicTrigger)+','+ + cid+','+ + str(persistentSession)+','+ + str(ucred)+','+ + username+','+ + password+','+ + str(utls)+','+ + ca_cert+','+ + cc_cert+','+ + cc_key+','+ + proto + ) + for item in self.AllMQTTsubscribers: + lst = item.split(',') + if lst[5] == cid: + return True + return False + + + +class MQTTclient(eg.ActionClass): + text = MQTTclientTxt + chk = False + + def __call__( + self, + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + self.plugin.StartMQTTs( + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + + + def GetLabel( + self, + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + print self.text.labelStart % (name) + return self.text.labelStart % (name) + + + # Get the choice from dropdown and perform some action + def OnChoice(self, event): + choice = event.GetSelection() + event.Skip() + return choice + + + def Configure( + self, + name="Give this MQTT subscriber a name", + host="test.mosquitto.org", + port=1883, + topic="eventghost", + topicTrigger=False, + cid="", + persistentSession=False, + ucred=False, + username="username", + password="password", + utls=False, + ca_cert="", + cc_cert="", + cc_key="", + proto='TLSv1.2' + ): + plugin = self.plugin + panel = eg.ConfigPanel(self) + mySizer_1 = wx.GridBagSizer(5, 5) + + #name + nameCtrl = wx.TextCtrl(panel, -1, name) + nameCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.actionName), (0,0)) + mySizer_1.Add(nameCtrl, (0,1)) + + #host + hostCtrl = wx.TextCtrl(panel, -1, host) + hostCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.hostName), (1,0)) + mySizer_1.Add(hostCtrl, (1,1)) + + #port + portCtrl = panel.SpinIntCtrl(port) + portCtrl.SetInitialSize((75,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.portName), (2,0)) + mySizer_1.Add(portCtrl, (2,1)) + + #use credentials + ucredCtrl = wx.CheckBox(panel, -1, "") + ucredCtrl.SetValue(ucred) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.ucred), (4,0)) + mySizer_1.Add(ucredCtrl, (4,1)) + + #user + userCtrl = wx.TextCtrl(panel, -1, username) + userCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.username), (5,0)) + mySizer_1.Add(userCtrl, (5,1)) + + #password/key + pwordCtrl = wx.TextCtrl(panel, -1, password) + pwordCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.password), (6,0)) + mySizer_1.Add(pwordCtrl, (6,1)) + + #use TLS/SSL + utlsCtrl = wx.CheckBox(panel, -1, "") + utlsCtrl.SetValue(utls) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.utls), (8,0)) + mySizer_1.Add(utlsCtrl, (8,1)) + + # Create a dropdown for protocols + protoCtrl = wx.Choice(parent=panel, pos=(10,10)) + list = [ + 'SSLv3', + 'TLSv1', + 'TLSv1.1', + 'TLSv1.2' + ] + protoCtrl.AppendItems(items=list) + if list.count(proto) == 0: + protoCtrl.Select(n=0) + else: + protoCtrl.SetSelection(int(list.index(proto))) + + staticBox = wx.StaticBox(panel, -1, self.text.textBoxProto) + staticBoxSizer = wx.StaticBoxSizer(staticBox, wx.VERTICAL) + sizer1 = wx.BoxSizer(wx.HORIZONTAL) + sizer1.Add(protoCtrl, 1, wx.EXPAND) + staticBoxSizer.Add(sizer1, 0, wx.EXPAND|wx.ALL, 5) + mySizer_1.Add(staticBoxSizer, (9,1)) + protoCtrl.Bind(wx.EVT_CHOICE, self.OnChoice) + + #path to ca cert + cacertCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = ca_cert + ) + cacertCtrl.SetInitialSize((450,-1)) + cacertCtrl.GetTextCtrl().SetValue(ca_cert) + cacertCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.ca_cert), (10,0)) + mySizer_1.Add(cacertCtrl, (10,1)) + + #path to client cert + ccertCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = "", + defaultFile = cc_cert + ) + ccertCtrl.SetInitialSize((450,-1)) + ccertCtrl.GetTextCtrl().SetValue(cc_cert) + ccertCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.cc_cert), (11,0)) + mySizer_1.Add(ccertCtrl, (11,1)) + + #path to client key + ckeyCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = "", + defaultFile = cc_key + ) + ckeyCtrl.SetInitialSize((450,-1)) + ckeyCtrl.GetTextCtrl().SetValue(cc_key) + ckeyCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.cc_key), (12,0)) + mySizer_1.Add(ckeyCtrl, (12,1)) + + #topic + topicCtrl = wx.TextCtrl(panel, -1, topic) + topicCtrl.SetInitialSize((450,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.topicName), (14,0)) + mySizer_1.Add(topicCtrl, (14,1)) + + #topic Trigger + tTopicCtrl = wx.CheckBox(panel, -1, "") + tTopicCtrl.SetValue(topicTrigger) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.tTopic), (15,0)) + mySizer_1.Add(tTopicCtrl, (15,1)) + + #persistentSession + pSessionCtrl = wx.CheckBox(panel, -1, "") + pSessionCtrl.SetValue(persistentSession) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.pSession), (16,0)) + mySizer_1.Add(pSessionCtrl, (16,1)) + + panel.sizer.Add(mySizer_1, 0, flag = wx.EXPAND) + + if cid == '': + random.jumpahead(168) + tr = random.random() + cid = str(tr).split('.')[1] + + def OnButton(event): + # re-assign the OK button + event.Skip() + name = nameCtrl.GetValue() + host = hostCtrl.GetValue() + port = portCtrl.GetValue() + topic = topicCtrl.GetValue() + topicTrigger = tTopicCtrl.GetValue() + persistentSession = pSessionCtrl.GetValue() + ucred = ucredCtrl.GetValue() + username = userCtrl.GetValue() + password = pwordCtrl.GetValue() + utls = utlsCtrl.GetValue() + ca_cert = cacertCtrl.GetValue() + cc_cert = ccertCtrl.GetValue() + cc_key = ckeyCtrl.GetValue() + proto = protoCtrl.GetStringSelection() + + self.chk = plugin.CheckMQTTsubscriber( + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + + plugin.lastMQTTName = name + plugin.AddMQTTsubscriber( + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + plugin.RestartAllMQTTs() + + if self.chk: + eg.PrintError(self.text.used_sub) + + panel.dialog.buttonRow.okButton.Bind(wx.EVT_BUTTON, OnButton) + + plugin.DelMQTTsubscriber( + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + + while panel.Affirmed(): + name = nameCtrl.GetValue() + host = hostCtrl.GetValue() + port = portCtrl.GetValue() + topic = topicCtrl.GetValue() + topicTrigger = tTopicCtrl.GetValue() + persistentSession = pSessionCtrl.GetValue() + ucred = ucredCtrl.GetValue() + username = userCtrl.GetValue() + password = pwordCtrl.GetValue() + utls = utlsCtrl.GetValue() + ca_cert = cacertCtrl.GetValue() + cc_cert = ccertCtrl.GetValue() + cc_key = ckeyCtrl.GetValue() + proto = protoCtrl.GetStringSelection() + + panel.SetResult( + name, + host, + port, + topic, + topicTrigger, + cid, + persistentSession, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + + + +class publishMQTT(eg.ActionClass): + text = publishMQTTtxt + + def __call__( + self, + name, + host, + port, + topic, + message, + qos, + retain, + cid, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + self.name = name + self.cid = cid + self.host = host + self.port = port + self.ucred = ucred + self.username = username + self.password = password + self.utls = utls + self.ca_cert = ca_cert + self.cc_cert = cc_cert + self.cc_key = cc_key + self.proto = proto + self.topic = topic + self.message = str( + (eg.ParseString(message) if message else '').encode("utf-8") + ) + self.qos = qos + self.retain = retain + self.clean_session = 1 + if self.qos > 0: + self.clean_session = 0 + + mqttc = mqtt.Client( + str(self.cid), + clean_session=self.clean_session, + userdata=None, + protocol=4 + ) + + if self.ucred: + mqttc.username_pw_set(self.username, self.password) + + if self.utls: + if self.cc_cert == "": + try: + f = open(self.ca_cert, "r") + f.close() + except IOError: + eg.PrintError("No CA certificate found") + mqttc.tls_set(self.ca_cert) + else: + try: + f = open(self.ca_cert, "r") + f.close() + except IOError: + eg.PrintError("No CA certificate found") + try: + f = open(self.cc_cert, "r") + f.close() + except IOError: + eg.PrintError("No Client certificate found") + try: + f = open(self.cc_key, "r") + f.close() + except IOError: + eg.PrintError("No Client key file found") + protocols = { + 'SSLv3':ssl.PROTOCOL_SSLv3, + 'TLSv1':ssl.PROTOCOL_TLSv1, + 'TLSv1.1':ssl.PROTOCOL_TLSv1_1, + 'TLSv1.2':ssl.PROTOCOL_TLSv1_2 + } + mqttc.tls_set( + self.ca_cert, + self.cc_cert, + self.cc_key, + tls_version=protocols[self.proto] + ) + + mqttc.connect(self.host, self.port, 60) + + mqttc.publish( + topic=self.topic, + payload=self.message, + qos=self.qos, + retain=self.retain + ) + + time.sleep(0.05) + mqttc.disconnect() + + + # Get the choice from dropdown and perform some action + def OnChoice(self, event): + choice = event.GetSelection() + event.Skip() + return choice + + + def Configure( + self, + name="Give this MQTT message a name", + host="test.mosquitto.org", + port=1883, + topic="eventghost", + message=u"{eg.event.string}", + qos=0, + retain=False, + cid='', + ucred=False, + username="username", + password="password", + utls=False, + ca_cert="", + cc_cert="", + cc_key="", + proto='TLSv1.2' + ): + plugin = self.plugin + panel = eg.ConfigPanel(self) + mySizer_1 = wx.GridBagSizer(5, 5) + + #name + nameCtrl = wx.TextCtrl(panel, -1, name) + nameCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.actionName), (0,0)) + mySizer_1.Add(nameCtrl, (0,1)) + + #host + hostCtrl = wx.TextCtrl(panel, -1, host) + hostCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.hostName), (1,0)) + mySizer_1.Add(hostCtrl, (1,1)) + + #port + portCtrl = panel.SpinIntCtrl(port) + portCtrl.SetInitialSize((75,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.portName), (2,0)) + mySizer_1.Add(portCtrl, (2,1)) + + #use credentials + ucredCtrl = wx.CheckBox(panel, -1, "") + ucredCtrl.SetValue(ucred) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.ucred), (4,0)) + mySizer_1.Add(ucredCtrl, (4,1)) + + #user + userCtrl = wx.TextCtrl(panel, -1, username) + userCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.username), (5,0)) + mySizer_1.Add(userCtrl, (5,1)) + + #password/key + pwordCtrl = wx.TextCtrl(panel, -1, password) + pwordCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.password), (6,0)) + mySizer_1.Add(pwordCtrl, (6,1)) + + #use TLS/SSL + utlsCtrl = wx.CheckBox(panel, -1, "") + utlsCtrl.SetValue(utls) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.utls), (8,0)) + mySizer_1.Add(utlsCtrl, (8,1)) + + # Create a dropdown for protocols + protoCtrl = wx.Choice(parent=panel, pos=(10,10)) + list = [ + 'SSLv3', + 'TLSv1', + 'TLSv1.1', + 'TLSv1.2' + ] + protoCtrl.AppendItems(items=list) + if list.count(proto) == 0: + protoCtrl.Select(n=0) + else: + protoCtrl.SetSelection(int(list.index(proto))) + + staticBox = wx.StaticBox(panel, -1, self.text.textBoxProto) + staticBoxSizer = wx.StaticBoxSizer(staticBox, wx.VERTICAL) + sizer1 = wx.BoxSizer(wx.HORIZONTAL) + sizer1.Add(protoCtrl, 1, wx.EXPAND) + staticBoxSizer.Add(sizer1, 0, wx.EXPAND|wx.ALL, 5) + mySizer_1.Add(staticBoxSizer, (9,1)) + protoCtrl.Bind(wx.EVT_CHOICE, self.OnChoice) + + #path to ca cert + cacertCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = ca_cert + ) + cacertCtrl.SetInitialSize((450,-1)) + cacertCtrl.GetTextCtrl().SetValue(ca_cert) + cacertCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.ca_cert), (10,0)) + mySizer_1.Add(cacertCtrl, (10,1)) + + #path to client cert + ccertCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = cc_cert + ) + ccertCtrl.SetInitialSize((450,-1)) + ccertCtrl.GetTextCtrl().SetValue(cc_cert) + ccertCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.cc_cert), (11,0)) + mySizer_1.Add(ccertCtrl, (11,1)) + + #path to client key + ckeyCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = cc_key + ) + ckeyCtrl.SetInitialSize((450,-1)) + ckeyCtrl.GetTextCtrl().SetValue(cc_key) + ckeyCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.cc_key), (12,0)) + mySizer_1.Add(ckeyCtrl, (12,1)) + + #topic + topicCtrl = wx.TextCtrl(panel, -1, topic) + topicCtrl.SetInitialSize((450,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.topicName), (14,0)) + mySizer_1.Add(topicCtrl, (14,1)) + + #message + messageCtrl = wx.TextCtrl(panel, -1, message) + messageCtrl.SetInitialSize((450,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.messageName), (15,0)) + mySizer_1.Add(messageCtrl, (15,1)) + + #qos + qosCtrl = panel.SpinIntCtrl(qos, min=0, max=2) + qosCtrl.SetInitialSize((50,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.qosName), (16,0)) + mySizer_1.Add(qosCtrl, (16,1)) + + #retain + retainCtrl = wx.CheckBox(panel, -1, '') + retainCtrl.SetValue(retain) + retainCtrl.SetInitialSize((50,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.retainName), (17,0)) + mySizer_1.Add(retainCtrl, (17,1)) + + panel.sizer.Add(mySizer_1, 0, flag = wx.EXPAND) + + if cid == '': + random.jumpahead(168) + tr = random.random() + cid = str(tr).split('.')[1] + + while panel.Affirmed(): + name = nameCtrl.GetValue() + host = hostCtrl.GetValue() + port = portCtrl.GetValue() + ucred = ucredCtrl.GetValue() + username = userCtrl.GetValue() + password = pwordCtrl.GetValue() + utls = utlsCtrl.GetValue() + ca_cert = cacertCtrl.GetValue() + cc_cert = ccertCtrl.GetValue() + cc_key = ckeyCtrl.GetValue() + proto = protoCtrl.GetStringSelection() + topic = topicCtrl.GetValue() + message = messageCtrl.GetValue() + qos = qosCtrl.GetValue() + retain = retainCtrl.GetValue() + panel.SetResult( + name, + host, + port, + topic, + message, + qos, + retain, + cid, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + + + +class publishBinaryMQTT(eg.ActionClass): + text = publishBinaryMQTTtxt + + def __call__( + self, + name, + host, + port, + topic, + bfile, + qos, + retain, + cid, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ): + self.name = name + self.cid = cid + self.host = host + self.port = port + self.ucred = ucred + self.username = username + self.password = password + self.utls = utls + self.ca_cert = ca_cert + self.cc_cert = cc_cert + self.cc_key = cc_key + self.proto = proto + self.topic = topic + self.bfile = bfile + + pic = open(self.bfile, 'rb') + imagestring = pic.read() + byteArray = bytearray(imagestring) + pic.close() + + self.qos = qos + self.retain = retain + self.clean_session = 1 + if self.qos > 0: + self.clean_session = 0 + + mqttc = mqtt.Client( + str(self.cid), + clean_session=self.clean_session, + userdata=None, + protocol=4 + ) + + if self.ucred: + mqttc.username_pw_set(self.username, self.password) + + if self.utls: + if self.cc_cert == "": + try: + f = open(self.ca_cert, "r") + f.close() + except IOError as err: + eg.PrintError("No CA certificate found") + mqttc.tls_set(self.ca_cert) + else: + try: + f = open(self.ca_cert, "r") + f.close() + except IOError as err: + eg.PrintError("No CA certificate found") + try: + f = open(self.cc_cert, "r") + f.close() + except IOError as err: + eg.PrintError("No Client certificate found") + try: + f = open(self.cc_key, "r") + f.close() + except IOError as err: + eg.PrintError("No Client key file found") + protocols = { + 'SSLv3':ssl.PROTOCOL_SSLv3, + 'TLSv1':ssl.PROTOCOL_TLSv1, + 'TLSv1.1':ssl.PROTOCOL_TLSv1_1, + 'TLSv1.2':ssl.PROTOCOL_TLSv1_2 + } + mqttc.tls_set( + self.ca_cert, + self.cc_cert, + self.cc_key, + tls_version=protocols[self.proto] + ) + + mqttc.connect(self.host, self.port, 60) + + mqttc.publish( + topic=self.topic, + payload=byteArray, + qos=self.qos, + retain=self.retain + ) + + time.sleep(0.05) + mqttc.disconnect() + + + # Get the choice from dropdown and perform some action + def OnChoice(self, event): + choice = event.GetSelection() + event.Skip() + return choice + + + def Configure( + self, + name="Give this MQTT message a name", + host="test.mosquitto.org", + port=1883, + topic="eventghost", + bfile="", + qos=0, + retain=False, + cid='', + ucred=False, + username="username", + password="password", + utls=False, + ca_cert="", + cc_cert="", + cc_key="", + proto='TLSv1.2' + ): + plugin = self.plugin + panel = eg.ConfigPanel(self) + mySizer_1 = wx.GridBagSizer(5, 5) + + #name + nameCtrl = wx.TextCtrl(panel, -1, name) + nameCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.actionName), (0,0)) + mySizer_1.Add(nameCtrl, (0,1)) + + #host + hostCtrl = wx.TextCtrl(panel, -1, host) + hostCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.hostName), (1,0)) + mySizer_1.Add(hostCtrl, (1,1)) + + #port + portCtrl = panel.SpinIntCtrl(port) + portCtrl.SetInitialSize((75,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.portName), (2,0)) + mySizer_1.Add(portCtrl, (2,1)) + + #use credentials + ucredCtrl = wx.CheckBox(panel, -1, "") + ucredCtrl.SetValue(ucred) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.ucred), (4,0)) + mySizer_1.Add(ucredCtrl, (4,1)) + + #user + userCtrl = wx.TextCtrl(panel, -1, username) + userCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.username), (5,0)) + mySizer_1.Add(userCtrl, (5,1)) + + #password/key + pwordCtrl = wx.TextCtrl(panel, -1, password) + pwordCtrl.SetInitialSize((250,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.password), (6,0)) + mySizer_1.Add(pwordCtrl, (6,1)) + + #use TLS/SSL + utlsCtrl = wx.CheckBox(panel, -1, "") + utlsCtrl.SetValue(utls) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.utls), (8,0)) + mySizer_1.Add(utlsCtrl, (8,1)) + + # Create a dropdown for protocols + protoCtrl = wx.Choice(parent=panel, pos=(10,10)) + list = [ + 'SSLv3', + 'TLSv1', + 'TLSv1.1', + 'TLSv1.2' + ] + protoCtrl.AppendItems(items=list) + if list.count(proto) == 0: + protoCtrl.Select(n=0) + else: + protoCtrl.SetSelection(int(list.index(proto))) + + staticBox = wx.StaticBox(panel, -1, self.text.textBoxProto) + staticBoxSizer = wx.StaticBoxSizer(staticBox, wx.VERTICAL) + sizer1 = wx.BoxSizer(wx.HORIZONTAL) + sizer1.Add(protoCtrl, 1, wx.EXPAND) + staticBoxSizer.Add(sizer1, 0, wx.EXPAND|wx.ALL, 5) + mySizer_1.Add(staticBoxSizer, (9,1)) + protoCtrl.Bind(wx.EVT_CHOICE, self.OnChoice) + + #path to ca cert + cacertCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = ca_cert + ) + cacertCtrl.SetInitialSize((450,-1)) + cacertCtrl.GetTextCtrl().SetValue(ca_cert) + cacertCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.ca_cert), (10,0)) + mySizer_1.Add(cacertCtrl, (10,1)) + + #path to client cert + ccertCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = cc_cert + ) + ccertCtrl.SetInitialSize((450,-1)) + ccertCtrl.GetTextCtrl().SetValue(cc_cert) + ccertCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.cc_cert), (11,0)) + mySizer_1.Add(ccertCtrl, (11,1)) + + #path to client key + ckeyCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = cc_key + ) + ckeyCtrl.SetInitialSize((450,-1)) + ckeyCtrl.GetTextCtrl().SetValue(cc_key) + ckeyCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.cc_key), (12,0)) + mySizer_1.Add(ckeyCtrl, (12,1)) + + #topic + topicCtrl = wx.TextCtrl(panel, -1, topic) + topicCtrl.SetInitialSize((450,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.topicName), (14,0)) + mySizer_1.Add(topicCtrl, (14,1)) + + #file + bfileCtrl = MyFileBrowseButton( + panel, + toolTip = self.text.toolTipFile, + dialogTitle = self.text.browseFile, + buttonText = eg.text.General.browse, + startDirectory = eg.configDir, + defaultFile = bfile + ) + bfileCtrl.SetInitialSize((450,-1)) + bfileCtrl.GetTextCtrl().SetValue(bfile) + bfileCtrl.GetTextCtrl().SetEditable(True) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.fileName), (15,0)) + mySizer_1.Add(bfileCtrl, (15,1)) + + #qos + qosCtrl = panel.SpinIntCtrl(qos, min=0, max=2) + qosCtrl.SetInitialSize((50,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.qosName), (16,0)) + mySizer_1.Add(qosCtrl, (16,1)) + + #retain + retainCtrl = wx.CheckBox(panel, -1, '') + retainCtrl.SetValue(retain) + retainCtrl.SetInitialSize((50,-1)) + mySizer_1.Add(wx.StaticText(panel, -1, self.text.retainName), (17,0)) + mySizer_1.Add(retainCtrl, (17,1)) + + panel.sizer.Add(mySizer_1, 0, flag = wx.EXPAND) + + if cid == '': + random.jumpahead(168) + tr = random.random() + cid = str(tr).split('.')[1] + + while panel.Affirmed(): + name = nameCtrl.GetValue() + host = hostCtrl.GetValue() + port = portCtrl.GetValue() + ucred = ucredCtrl.GetValue() + username = userCtrl.GetValue() + password = pwordCtrl.GetValue() + utls = utlsCtrl.GetValue() + ca_cert = cacertCtrl.GetValue() + cc_cert = ccertCtrl.GetValue() + cc_key = ckeyCtrl.GetValue() + proto = protoCtrl.GetStringSelection() + topic = topicCtrl.GetValue() + bfile = bfileCtrl.GetTextCtrl().GetValue() + qos = qosCtrl.GetValue() + retain = retainCtrl.GetValue() + panel.SetResult( + name, + host, + port, + topic, + bfile, + qos, + retain, + cid, + ucred, + username, + password, + utls, + ca_cert, + cc_cert, + cc_key, + proto + ) + + + +class MyFileBrowseButton(eg.FileBrowseButton): + + def __init__(self,*args,**kwargs): + if 'defaultFile' in kwargs: + self.defaultFile = kwargs['defaultFile'] + del kwargs['defaultFile'] + else: + self.defaultFile = "" + eg.FileBrowseButton.__init__(self, *args, **kwargs) + + + def GetValue(self): + if self.textControl.GetValue() or self.textControl.GetValue() == "": + res = self.textControl.GetValue() + else: + res = "%s\\%s" % (self.startDirectory, self.defaultFile) + return res + + + def GetTextCtrl(self): # now I can make build-in textCtrl + return self.textControl # non-editable !!! diff --git a/plugins/MQTTClient/cloudmqtt.crt b/plugins/MQTTClient/cloudmqtt.crt new file mode 100644 index 000000000..903ead1fa --- /dev/null +++ b/plugins/MQTTClient/cloudmqtt.crt @@ -0,0 +1,88 @@ +-----BEGIN CERTIFICATE----- +MIIFXjCCBEagAwIBAgIQAQk/Vgs7v/PIwSeDip04gjANBgkqhkiG9w0BAQsFADCB +lDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxOjA4BgNV +BAMTMUNPTU9ETyBTSEEtMjU2IERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2 +ZXIgQ0EwHhcNMTYwMzE1MDAwMDAwWhcNMTgxMDEzMjM1OTU5WjBcMSEwHwYDVQQL +ExhEb21haW4gQ29udHJvbCBWYWxpZGF0ZWQxHTAbBgNVBAsTFFBvc2l0aXZlU1NM +IFdpbGRjYXJkMRgwFgYDVQQDDA8qLmNsb3VkbXF0dC5jb20wggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC8Bb/3YGgKLtJqQxVYepKj8TUiFoxgswHYqLR4 +9LZ20Hnb9avoL6iILrNLazUVyKjlaFlAq7NaypFvYv95rbgtRG/fgQ4cD2AZxk+3 +HzfBznz445PcVRARt4InxjYyIKAw+ct556ILzQEwpi0m77wDjN1wCiuLyFTjvivG +3EvKyZegj5rujaY2uqS2xX+z1+6jP/J0sKrbfHlcGUOPrzq4d6leZGuVVvaq2mn+ +kA7dQu5xYIFGPnZVUa5Cx4tPTxnUMUgZswRpcdIftBERHsSPskq8qRSnBU3H+6fn +xS7YSFG797G3Z0+A82+2jA+4yjvrGeo2oNQXmY5oLAziS1lxAgMBAAGjggHhMIIB +3TAfBgNVHSMEGDAWgBQerD/8D+En9TqcBZboizN593V58TAdBgNVHQ4EFgQUARgU +wbfrXk9P6lulo2gtn/4KJe4wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw +HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCME8GA1UdIARIMEYwOgYLKwYB +BAGyMQECAgcwKzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNv +bS9DUFMwCAYGZ4EMAQIBMFcGA1UdHwRQME4wTKBKoEiGRmh0dHA6Ly9jcmwuY29t +b2RvY2EuY29tL0NPTU9ET1NIQTI1NkRvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2 +ZXJDQS5jcmwwgYgGCCsGAQUFBwEBBHwwejBSBggrBgEFBQcwAoZGaHR0cDovL2Ny +dC5jb21vZG9jYS5jb20vQ09NT0RPU0hBMjU2RG9tYWluVmFsaWRhdGlvblNlY3Vy +ZVNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2Eu +Y29tMCkGA1UdEQQiMCCCDyouY2xvdWRtcXR0LmNvbYINY2xvdWRtcXR0LmNvbTAN +BgkqhkiG9w0BAQsFAAOCAQEASnl+UeX546AHVDh0XWj1bv1hOLDlu8Bc91TLdUzH +6QC6W35MVcGcVJwLuaxRuiisS43lYD5SSCvOZimLTobk+LTF5PBj7kOPuW0RjS8c +Ev/QBWGvQLetaHJwqy0abWo+vrbpbEshI0DyWdZ5G1et+BJWZPpsXK1buNXjXTxA +PUcl6ppv4AgHjRp9AmWmWM6wSut61qMlNZ5Gi05UH2tfGB4IbZIxcmj3UAw0Sv7f +GP5viIGTB6zpkj9SOp5BpJhmPES/cl/MQ4eNjDztZIZOuo2FSTC4FrH7sD9pcoxA +Wx5+UDHkVtPFGnkMV0HjusJMs2VYzf5uJTEC0K2cwY6AgA== +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIFMDCCBBigAwIBAgIQV5SFWjNqKQ7ivjk88Axt3zANBgkqhkiG9w0BAQsFADBv +MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk +ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF +eHRlcm5hbCBDQSBSb290MB4XDTE0MTIyMjAwMDAwMFoXDTIwMDUzMDEwNDgzOFow +gZQxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO +BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTowOAYD +VQQDEzFDT01PRE8gU0hBLTI1NiBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2Vy +dmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApe7aGrg+6WaE +MyvsWocOnfpDXsxsmrOezwlTbnGbsFkuEU4wuOIVLaL2F4H5gX9fFinG7AFz7tdG +6wq0if2JvKj4us9ewrm+NPvu/pAKAXcr4TavNHLBXeUWdpLCjP/gaAev9W3O07l4 +X8jxZ0DBh1hPUnVyGKUveZCwBAGPasSYlQfo4PcLPilqW/vHZCCOV8l8HW0CeuPO +VPAIZYaXicngMuyRGo790YSj759Gu8wAMHxMBelVSbBwgb1gAYqANFuLJQvC57oW +XYa8w/zKn/QJWkkfwkLyqNwhSbnQuoQByVSsGTf2ItQQzzQS+5nl1bF2pTZQfK7Q +W36GGtK2AwIDAQABo4IBoDCCAZwwHwYDVR0jBBgwFoAUrb2YejS0Jvf6xCZU7wO9 +4CTLVBowHQYDVR0OBBYEFB6sP/wP4Sf1OpwFluiLM3n3dXnxMA4GA1UdDwEB/wQE +AwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr +BgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAwCAYGZ4EMAQIBMEQGA1UdHwQ9MDsw +OaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVybmFs +Q0FSb290LmNybDCBswYIKwYBBQUHAQEEgaYwgaMwPwYIKwYBBQUHMAKGM2h0dHA6 +Ly9jcnQudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVybmFsQ0FSb290LnA3YzA5 +BggrBgEFBQcwAoYtaHR0cDovL2NydC51c2VydHJ1c3QuY29tL0FkZFRydXN0VVRO +U0dDQ0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29t +MA0GCSqGSIb3DQEBCwUAA4IBAQCsPFl52og0fw7ZBzEwE0vqi8k2JA/nlQCkXv3A +rJ8aSqmXjuAwmXUXfZlnaZMWz8nVcT+DnmxWGeqCSqtB3Fvgtmg7fO22aGAJ3H/I +zTxPd0x+1BebdDpOB3XS/It5Wt8FGKtnJtM+jG76ESoy5DpwTHdwi+ZF9bDlJkBJ +NwImRkjJWMMPPIJsWE03d2qs6KjxBD/B11wf+aevKFIQ0dN6pt7Gc/0AepKDRW83 ++7eYEqUoBfjcoeK86NSDwpHSXIqaVa3p0SFlSQ16VYE0YWHCPvCzI4bZJGlePq4g +z5Z2KDJ4sJ7bbAtAU44vI1wTv2aFpY45RAIS4nAFjvwYPRVY +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- diff --git a/plugins/MQTTClient/icon.png b/plugins/MQTTClient/icon.png new file mode 100644 index 000000000..67ba07d74 Binary files /dev/null and b/plugins/MQTTClient/icon.png differ diff --git a/plugins/MQTTClient/mosquitto.org.crt b/plugins/MQTTClient/mosquitto.org.crt new file mode 100644 index 000000000..b8535e887 --- /dev/null +++ b/plugins/MQTTClient/mosquitto.org.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC8DCCAlmgAwIBAgIJAOD63PlXjJi8MA0GCSqGSIb3DQEBBQUAMIGQMQswCQYD +VQQGEwJHQjEXMBUGA1UECAwOVW5pdGVkIEtpbmdkb20xDjAMBgNVBAcMBURlcmJ5 +MRIwEAYDVQQKDAlNb3NxdWl0dG8xCzAJBgNVBAsMAkNBMRYwFAYDVQQDDA1tb3Nx +dWl0dG8ub3JnMR8wHQYJKoZIhvcNAQkBFhByb2dlckBhdGNob28ub3JnMB4XDTEy +MDYyOTIyMTE1OVoXDTIyMDYyNzIyMTE1OVowgZAxCzAJBgNVBAYTAkdCMRcwFQYD +VQQIDA5Vbml0ZWQgS2luZ2RvbTEOMAwGA1UEBwwFRGVyYnkxEjAQBgNVBAoMCU1v +c3F1aXR0bzELMAkGA1UECwwCQ0ExFjAUBgNVBAMMDW1vc3F1aXR0by5vcmcxHzAd +BgkqhkiG9w0BCQEWEHJvZ2VyQGF0Y2hvby5vcmcwgZ8wDQYJKoZIhvcNAQEBBQAD +gY0AMIGJAoGBAMYkLmX7SqOT/jJCZoQ1NWdCrr/pq47m3xxyXcI+FLEmwbE3R9vM +rE6sRbP2S89pfrCt7iuITXPKycpUcIU0mtcT1OqxGBV2lb6RaOT2gC5pxyGaFJ+h +A+GIbdYKO3JprPxSBoRponZJvDGEZuM3N7p3S/lRoi7G5wG5mvUmaE5RAgMBAAGj +UDBOMB0GA1UdDgQWBBTad2QneVztIPQzRRGj6ZHKqJTv5jAfBgNVHSMEGDAWgBTa +d2QneVztIPQzRRGj6ZHKqJTv5jAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA +A4GBAAqw1rK4NlRUCUBLhEFUQasjP7xfFqlVbE2cRy0Rs4o3KS0JwzQVBwG85xge +REyPOFdGdhBY2P1FNRy0MDr6xr+D2ZOwxs63dG1nnAnWZg7qwoLgpZ4fESPD3PkA +1ZgKJc2zbSQ9fCPxt2W3mdVav66c6fsb7els2W2Iz7gERJSX +-----END CERTIFICATE----- diff --git a/plugins/MQTTClient/paho/__init__.py b/plugins/MQTTClient/paho/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/plugins/MQTTClient/paho/mqtt/__init__.py b/plugins/MQTTClient/paho/mqtt/__init__.py new file mode 100644 index 000000000..cd5d8e46b --- /dev/null +++ b/plugins/MQTTClient/paho/mqtt/__init__.py @@ -0,0 +1,6 @@ +__version__ = "1.3.0" + + +class MQTTException(Exception): + def __init__(self, *args, **kwargs): + Exception.__init__(self, *args, **kwargs) diff --git a/plugins/MQTTClient/paho/mqtt/client.py b/plugins/MQTTClient/paho/mqtt/client.py new file mode 100644 index 000000000..3d231f112 --- /dev/null +++ b/plugins/MQTTClient/paho/mqtt/client.py @@ -0,0 +1,2942 @@ +# Copyright (c) 2012-2014 Roger Light +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Roger Light - initial API and implementation + +""" +This is an MQTT v3.1 client module. MQTT is a lightweight pub/sub messaging +protocol that is easy to implement and suitable for low powered devices. +""" +import collections +import errno +import platform +import random +import select +import socket + +try: + import ssl +except ImportError: + ssl = None + +import struct +import sys +import threading + +import time +import uuid +import base64 +import string +import hashlib +import logging + +try: + # Use monotonic clock if available + time_func = time.monotonic +except AttributeError: + time_func = time.time + +try: + import dns.resolver +except ImportError: + HAVE_DNS = False +else: + HAVE_DNS = True + +from .matcher import MQTTMatcher + +if platform.system() == 'Windows': + EAGAIN = errno.WSAEWOULDBLOCK +else: + EAGAIN = errno.EAGAIN + +MQTTv31 = 3 +MQTTv311 = 4 + +if sys.version_info[0] >= 3: + # define some alias for python2 compatibility + unicode = str + basestring = str + +# Message types +CONNECT = 0x10 +CONNACK = 0x20 +PUBLISH = 0x30 +PUBACK = 0x40 +PUBREC = 0x50 +PUBREL = 0x60 +PUBCOMP = 0x70 +SUBSCRIBE = 0x80 +SUBACK = 0x90 +UNSUBSCRIBE = 0xA0 +UNSUBACK = 0xB0 +PINGREQ = 0xC0 +PINGRESP = 0xD0 +DISCONNECT = 0xE0 + +# Log levels +MQTT_LOG_INFO = 0x01 +MQTT_LOG_NOTICE = 0x02 +MQTT_LOG_WARNING = 0x04 +MQTT_LOG_ERR = 0x08 +MQTT_LOG_DEBUG = 0x10 +LOGGING_LEVEL = { + MQTT_LOG_DEBUG: logging.DEBUG, + MQTT_LOG_INFO: logging.INFO, + MQTT_LOG_NOTICE: logging.INFO, # This has no direct equivalent level + MQTT_LOG_WARNING: logging.WARNING, + MQTT_LOG_ERR: logging.ERROR, +} + +# CONNACK codes +CONNACK_ACCEPTED = 0 +CONNACK_REFUSED_PROTOCOL_VERSION = 1 +CONNACK_REFUSED_IDENTIFIER_REJECTED = 2 +CONNACK_REFUSED_SERVER_UNAVAILABLE = 3 +CONNACK_REFUSED_BAD_USERNAME_PASSWORD = 4 +CONNACK_REFUSED_NOT_AUTHORIZED = 5 + +# Connection state +mqtt_cs_new = 0 +mqtt_cs_connected = 1 +mqtt_cs_disconnecting = 2 +mqtt_cs_connect_async = 3 + +# Message state +mqtt_ms_invalid = 0 +mqtt_ms_publish = 1 +mqtt_ms_wait_for_puback = 2 +mqtt_ms_wait_for_pubrec = 3 +mqtt_ms_resend_pubrel = 4 +mqtt_ms_wait_for_pubrel = 5 +mqtt_ms_resend_pubcomp = 6 +mqtt_ms_wait_for_pubcomp = 7 +mqtt_ms_send_pubrec = 8 +mqtt_ms_queued = 9 + +# Error values +MQTT_ERR_AGAIN = -1 +MQTT_ERR_SUCCESS = 0 +MQTT_ERR_NOMEM = 1 +MQTT_ERR_PROTOCOL = 2 +MQTT_ERR_INVAL = 3 +MQTT_ERR_NO_CONN = 4 +MQTT_ERR_CONN_REFUSED = 5 +MQTT_ERR_NOT_FOUND = 6 +MQTT_ERR_CONN_LOST = 7 +MQTT_ERR_TLS = 8 +MQTT_ERR_PAYLOAD_SIZE = 9 +MQTT_ERR_NOT_SUPPORTED = 10 +MQTT_ERR_AUTH = 11 +MQTT_ERR_ACL_DENIED = 12 +MQTT_ERR_UNKNOWN = 13 +MQTT_ERR_ERRNO = 14 +MQTT_ERR_QUEUE_SIZE = 15 + +sockpair_data = b"0" + + +class WebsocketConnectionError(ValueError): + pass + + +def error_string(mqtt_errno): + """Return the error string associated with an mqtt error number.""" + if mqtt_errno == MQTT_ERR_SUCCESS: + return "No error." + elif mqtt_errno == MQTT_ERR_NOMEM: + return "Out of memory." + elif mqtt_errno == MQTT_ERR_PROTOCOL: + return "A network protocol error occurred when communicating with the broker." + elif mqtt_errno == MQTT_ERR_INVAL: + return "Invalid function arguments provided." + elif mqtt_errno == MQTT_ERR_NO_CONN: + return "The client is not currently connected." + elif mqtt_errno == MQTT_ERR_CONN_REFUSED: + return "The connection was refused." + elif mqtt_errno == MQTT_ERR_NOT_FOUND: + return "Message not found (internal error)." + elif mqtt_errno == MQTT_ERR_CONN_LOST: + return "The connection was lost." + elif mqtt_errno == MQTT_ERR_TLS: + return "A TLS error occurred." + elif mqtt_errno == MQTT_ERR_PAYLOAD_SIZE: + return "Payload too large." + elif mqtt_errno == MQTT_ERR_NOT_SUPPORTED: + return "This feature is not supported." + elif mqtt_errno == MQTT_ERR_AUTH: + return "Authorisation failed." + elif mqtt_errno == MQTT_ERR_ACL_DENIED: + return "Access denied by ACL." + elif mqtt_errno == MQTT_ERR_UNKNOWN: + return "Unknown error." + elif mqtt_errno == MQTT_ERR_ERRNO: + return "Error defined by errno." + else: + return "Unknown error." + + +def connack_string(connack_code): + """Return the string associated with a CONNACK result.""" + if connack_code == CONNACK_ACCEPTED: + return "Connection Accepted." + elif connack_code == CONNACK_REFUSED_PROTOCOL_VERSION: + return "Connection Refused: unacceptable protocol version." + elif connack_code == CONNACK_REFUSED_IDENTIFIER_REJECTED: + return "Connection Refused: identifier rejected." + elif connack_code == CONNACK_REFUSED_SERVER_UNAVAILABLE: + return "Connection Refused: broker unavailable." + elif connack_code == CONNACK_REFUSED_BAD_USERNAME_PASSWORD: + return "Connection Refused: bad user name or password." + elif connack_code == CONNACK_REFUSED_NOT_AUTHORIZED: + return "Connection Refused: not authorised." + else: + return "Connection Refused: unknown reason." + + +def base62(num, base=string.digits + string.ascii_letters, padding=1): + """Convert a number to base-62 representation.""" + assert num >= 0 + digits = [] + while num: + num, rest = divmod(num, 62) + digits.append(base[rest]) + digits.extend(base[0] for _ in range(len(digits), padding)) + return ''.join(reversed(digits)) + + +def topic_matches_sub(sub, topic): + """Check whether a topic matches a subscription. + + For example: + + foo/bar would match the subscription foo/# or +/bar + non/matching would not match the subscription non/+/+ + """ + matcher = MQTTMatcher() + matcher[sub] = True + try: + next(matcher.iter_match(topic)) + return True + except StopIteration: + return False + + +def _socketpair_compat(): + """TCP/IP socketpair including Windows support""" + listensock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_IP) + listensock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + listensock.bind(("127.0.0.1", 0)) + listensock.listen(1) + + iface, port = listensock.getsockname() + sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_IP) + sock1.setblocking(0) + try: + sock1.connect(("127.0.0.1", port)) + except socket.error as err: + if err.errno != errno.EINPROGRESS and err.errno != errno.EWOULDBLOCK and err.errno != EAGAIN: + raise + sock2, address = listensock.accept() + sock2.setblocking(0) + listensock.close() + return (sock1, sock2) + + +class MQTTMessageInfo(object): + """This is a class returned from Client.publish() and can be used to find + out the mid of the message that was published, and to determine whether the + message has been published, and/or wait until it is published. + """ + + __slots__ = 'mid', '_published', '_condition', 'rc', '_iterpos' + + def __init__(self, mid): + self.mid = mid + self._published = False + self._condition = threading.Condition() + self.rc = 0 + self._iterpos = 0 + + def __str__(self): + return str((self.rc, self.mid)) + + def __iter__(self): + self._iterpos = 0 + return self + + def __next__(self): + return self.next() + + def next(self): + if self._iterpos == 0: + self._iterpos = 1 + return self.rc + elif self._iterpos == 1: + self._iterpos = 2 + return self.mid + else: + raise StopIteration + + def __getitem__(self, index): + if index == 0: + return self.rc + elif index == 1: + return self.mid + else: + raise IndexError("index out of range") + + def _set_as_published(self): + with self._condition: + self._published = True + self._condition.notify() + + def wait_for_publish(self): + """Block until the message associated with this object is published.""" + with self._condition: + while not self._published: + self._condition.wait() + + def is_published(self): + """Returns True if the message associated with this object has been + published, else returns False.""" + with self._condition: + return self._published + + +class MQTTMessage(object): + """ This is a class that describes an incoming or outgoing message. It is + passed to the on_message callback as the message parameter. + + Members: + + topic : String/bytes. topic that the message was published on. + payload : String/bytes the message payload. + qos : Integer. The message Quality of Service 0, 1 or 2. + retain : Boolean. If true, the message is a retained message and not fresh. + mid : Integer. The message id. + + On Python 3, topic must be bytes. + """ + + __slots__ = 'timestamp', 'state', 'dup', 'mid', '_topic', 'payload', 'qos', 'retain', 'info' + + def __init__(self, mid=0, topic=b""): + self.timestamp = 0 + self.state = mqtt_ms_invalid + self.dup = False + self.mid = mid + self._topic = topic + self.payload = b"" + self.qos = 0 + self.retain = False + self.info = MQTTMessageInfo(mid) + + def __eq__(self, other): + """Override the default Equals behavior""" + if isinstance(other, self.__class__): + return self.mid == other.mid + return False + + def __ne__(self, other): + """Define a non-equality test""" + return not self.__eq__(other) + + @property + def topic(self): + if sys.version_info[0] >= 3: + return self._topic.decode('utf-8') + else: + return self._topic + + @topic.setter + def topic(self, value): + self._topic = value + + +class Client(object): + """MQTT version 3.1/3.1.1 client class. + + This is the main class for use communicating with an MQTT broker. + + General usage flow: + + * Use connect()/connect_async() to connect to a broker + * Call loop() frequently to maintain network traffic flow with the broker + * Or use loop_start() to set a thread running to call loop() for you. + * Or use loop_forever() to handle calling loop() for you in a blocking + * function. + * Use subscribe() to subscribe to a topic and receive messages + * Use publish() to send messages + * Use disconnect() to disconnect from the broker + + Data returned from the broker is made available with the use of callback + functions as described below. + + Callbacks + ========= + + A number of callback functions are available to receive data back from the + broker. To use a callback, define a function and then assign it to the + client: + + def on_connect(client, userdata, flags, rc): + print("Connection returned " + str(rc)) + + client.on_connect = on_connect + + All of the callbacks as described below have a "client" and an "userdata" + argument. "client" is the Client instance that is calling the callback. + "userdata" is user data of any type and can be set when creating a new client + instance or with user_data_set(userdata). + + The callbacks: + + on_connect(client, userdata, flags, rc): called when the broker responds to our connection + request. + flags is a dict that contains response flags from the broker: + flags['session present'] - this flag is useful for clients that are + using clean session set to 0 only. If a client with clean + session=0, that reconnects to a broker that it has previously + connected to, this flag indicates whether the broker still has the + session information for the client. If 1, the session still exists. + The value of rc determines success or not: + 0: Connection successful + 1: Connection refused - incorrect protocol version + 2: Connection refused - invalid client identifier + 3: Connection refused - server unavailable + 4: Connection refused - bad username or password + 5: Connection refused - not authorised + 6-255: Currently unused. + + on_disconnect(client, userdata, rc): called when the client disconnects from the broker. + The rc parameter indicates the disconnection state. If MQTT_ERR_SUCCESS + (0), the callback was called in response to a disconnect() call. If any + other value the disconnection was unexpected, such as might be caused by + a network error. + + on_message(client, userdata, message): called when a message has been received on a + topic that the client subscribes to. The message variable is a + MQTTMessage that describes all of the message parameters. + + on_publish(client, userdata, mid): called when a message that was to be sent using the + publish() call has completed transmission to the broker. For messages + with QoS levels 1 and 2, this means that the appropriate handshakes have + completed. For QoS 0, this simply means that the message has left the + client. The mid variable matches the mid variable returned from the + corresponding publish() call, to allow outgoing messages to be tracked. + This callback is important because even if the publish() call returns + success, it does not always mean that the message has been sent. + + on_subscribe(client, userdata, mid, granted_qos): called when the broker responds to a + subscribe request. The mid variable matches the mid variable returned + from the corresponding subscribe() call. The granted_qos variable is a + list of integers that give the QoS level the broker has granted for each + of the different subscription requests. + + on_unsubscribe(client, userdata, mid): called when the broker responds to an unsubscribe + request. The mid variable matches the mid variable returned from the + corresponding unsubscribe() call. + + on_log(client, userdata, level, buf): called when the client has log information. Define + to allow debugging. The level variable gives the severity of the message + and will be one of MQTT_LOG_INFO, MQTT_LOG_NOTICE, MQTT_LOG_WARNING, + MQTT_LOG_ERR, and MQTT_LOG_DEBUG. The message itself is in buf. + + """ + + def __init__(self, client_id="", clean_session=True, userdata=None, + protocol=MQTTv311, transport="tcp"): + """client_id is the unique client id string used when connecting to the + broker. If client_id is zero length or None, then the behaviour is + defined by which protocol version is in use. If using MQTT v3.1.1, then + a zero length client id will be sent to the broker and the broker will + generate a random for the client. If using MQTT v3.1 then an id will be + randomly generated. In both cases, clean_session must be True. If this + is not the case a ValueError will be raised. + + clean_session is a boolean that determines the client type. If True, + the broker will remove all information about this client when it + disconnects. If False, the client is a persistent client and + subscription information and queued messages will be retained when the + client disconnects. + Note that a client will never discard its own outgoing messages on + disconnect. Calling connect() or reconnect() will cause the messages to + be resent. Use reinitialise() to reset a client to its original state. + + userdata is user defined data of any type that is passed as the "userdata" + parameter to callbacks. It may be updated at a later point with the + user_data_set() function. + + The protocol argument allows explicit setting of the MQTT version to + use for this client. Can be paho.mqtt.client.MQTTv311 (v3.1.1) or + paho.mqtt.client.MQTTv31 (v3.1), with the default being v3.1.1 If the + broker reports that the client connected with an invalid protocol + version, the client will automatically attempt to reconnect using v3.1 + instead. + + Set transport to "websockets" to use WebSockets as the transport + mechanism. Set to "tcp" to use raw TCP, which is the default. + """ + if not clean_session and (client_id == "" or client_id is None): + raise ValueError('A client id must be provided if clean session is False.') + + self._transport = transport + self._protocol = protocol + self._userdata = userdata + self._sock = None + self._sockpairR, self._sockpairW = _socketpair_compat() + self._keepalive = 60 + self._message_retry = 20 + self._last_retry_check = 0 + self._clean_session = clean_session + + # [MQTT-3.1.3-4] Client Id must be UTF-8 encoded string. + if client_id == "" or client_id is None: + if protocol == MQTTv31: + self._client_id = base62(uuid.uuid4().int, padding=22) + else: + self._client_id = b"" + else: + self._client_id = client_id + if isinstance(self._client_id, unicode): + self._client_id = self._client_id.encode('utf-8') + + self._username = None + self._password = None + self._in_packet = { + "command": 0, + "have_remaining": 0, + "remaining_count": [], + "remaining_mult": 1, + "remaining_length": 0, + "packet": b"", + "to_process": 0, + "pos": 0} + self._out_packet = collections.deque() + self._current_out_packet = None + self._last_msg_in = time_func() + self._last_msg_out = time_func() + self._reconnect_min_delay = 1 + self._reconnect_max_delay = 120 + self._reconnect_delay = None + self._ping_t = 0 + self._last_mid = 0 + self._state = mqtt_cs_new + self._out_messages = [] + self._in_messages = [] + self._max_inflight_messages = 20 + self._inflight_messages = 0 + self._max_queued_messages = 0 + self._will = False + self._will_topic = b"" + self._will_payload = b"" + self._will_qos = 0 + self._will_retain = False + self._on_message_filtered = MQTTMatcher() + self._host = "" + self._port = 1883 + self._bind_address = "" + self._in_callback = threading.Lock() + self._strict_protocol = False + self._callback_mutex = threading.RLock() + self._out_packet_mutex = threading.Lock() + self._current_out_packet_mutex = threading.RLock() + self._msgtime_mutex = threading.Lock() + self._out_message_mutex = threading.RLock() + self._in_message_mutex = threading.Lock() + self._reconnect_delay_mutex = threading.Lock() + self._thread = None + self._thread_terminate = False + self._ssl = False + self._ssl_context = None + self._tls_insecure = False # Only used when SSL context does not have check_hostname attribute + self._logger = None + # No default callbacks + self._on_log = None + self._on_connect = None + self._on_subscribe = None + self._on_message = None + self._on_publish = None + self._on_unsubscribe = None + self._on_disconnect = None + self._websocket_path = "/mqtt" + self._websocket_extra_headers = None + + def __del__(self): + pass + + def reinitialise(self, client_id="", clean_session=True, userdata=None): + if self._sock: + self._sock.close() + self._sock = None + if self._sockpairR: + self._sockpairR.close() + self._sockpairR = None + if self._sockpairW: + self._sockpairW.close() + self._sockpairW = None + + self.__init__(client_id, clean_session, userdata) + + def ws_set_options(self, path="/mqtt", headers=None): + """ Set the path and headers for a websocket connection + + path is a string starting with / which should be the endpoint of the + mqtt connection on the remote server + + headers can be either a dict or a callable object. If it is a dict then + the extra items in the dict are added to the websocket headers. If it is + a callable, then the default websocket headers are passed into this + function and the result is used as the new headers. + """ + self._websocket_path = path + + if headers is not None: + if isinstance(headers, dict) or callable(headers): + self._websocket_extra_headers = headers + else: + raise ValueError("'headers' option to ws_set_options has to be either a dictionary or callable") + + def tls_set_context(self, context=None): + """Configure network encryption and authentication context. Enables SSL/TLS support. + + context : an ssl.SSLContext object. By default this is given by + `ssl.create_default_context()`, if available. + + Must be called before connect() or connect_async().""" + if self._ssl_context is not None: + raise ValueError('SSL/TLS has already been configured.') + + # Assume that have SSL support, or at least that context input behaves like ssl.SSLContext + # in current versions of Python + + if context is None: + if hasattr(ssl, 'create_default_context'): + context = ssl.create_default_context() + else: + raise ValueError('SSL/TLS context must be specified') + + self._ssl = True + self._ssl_context = context + + # Ensure _tls_insecure is consistent with check_hostname attribute + if hasattr(context, 'check_hostname'): + self._tls_insecure = not context.check_hostname + + def tls_set(self, ca_certs=None, certfile=None, keyfile=None, cert_reqs=None, tls_version=None, ciphers=None): + """Configure network encryption and authentication options. Enables SSL/TLS support. + + ca_certs : a string path to the Certificate Authority certificate files + that are to be treated as trusted by this client. If this is the only + option given then the client will operate in a similar manner to a web + browser. That is to say it will require the broker to have a + certificate signed by the Certificate Authorities in ca_certs and will + communicate using TLS v1, but will not attempt any form of + authentication. This provides basic network encryption but may not be + sufficient depending on how the broker is configured. + By default, on Python 2.7.9+ or 3.4+, the default certification + authority of the system is used. On older Python version this parameter + is mandatory. + + certfile and keyfile are strings pointing to the PEM encoded client + certificate and private keys respectively. If these arguments are not + None then they will be used as client information for TLS based + authentication. Support for this feature is broker dependent. Note + that if either of these files in encrypted and needs a password to + decrypt it, Python will ask for the password at the command line. It is + not currently possible to define a callback to provide the password. + + cert_reqs allows the certificate requirements that the client imposes + on the broker to be changed. By default this is ssl.CERT_REQUIRED, + which means that the broker must provide a certificate. See the ssl + pydoc for more information on this parameter. + + tls_version allows the version of the SSL/TLS protocol used to be + specified. By default TLS v1 is used. Previous versions (all versions + beginning with SSL) are possible but not recommended due to possible + security problems. + + ciphers is a string specifying which encryption ciphers are allowable + for this connection, or None to use the defaults. See the ssl pydoc for + more information. + + Must be called before connect() or connect_async().""" + if ssl is None: + raise ValueError('This platform has no SSL/TLS.') + + if not hasattr(ssl, 'SSLContext'): + # Require Python version that has SSL context support in standard library + raise ValueError('Python 2.7.9 and 3.2 are the minimum supported versions for TLS.') + + if ca_certs is None and not hasattr(ssl.SSLContext, 'load_default_certs'): + raise ValueError('ca_certs must not be None.') + + # Create SSLContext object + if tls_version is None: + tls_version = ssl.PROTOCOL_TLSv1 + # If the python version supports it, use highest TLS version automatically + if hasattr(ssl, "PROTOCOL_TLS"): + tls_version = ssl.PROTOCOL_TLS + context = ssl.SSLContext(tls_version) + + # Configure context + if certfile is not None: + context.load_cert_chain(certfile, keyfile) + + context.verify_mode = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs + + if ca_certs is not None: + context.load_verify_locations(ca_certs) + else: + context.load_default_certs() + + if ciphers is not None: + context.set_ciphers(ciphers) + + self.tls_set_context(context) + + # Default to secure, sets context.check_hostname attribute if available + self.tls_insecure_set(False) + + def tls_insecure_set(self, value): + """Configure verification of the server hostname in the server certificate. + + If value is set to true, it is impossible to guarantee that the host + you are connecting to is not impersonating your server. This can be + useful in initial server testing, but makes it possible for a malicious + third party to impersonate your server through DNS spoofing, for + example. + + Do not use this function in a real system. Setting value to true means + there is no point using encryption. + + Must be called before connect() and after either tls_set() or + tls_set_context().""" + + if self._ssl_context is None: + raise ValueError('Must configure SSL context before using tls_insecure_set.') + + self._tls_insecure = value + + # Ensure check_hostname is consistent with _tls_insecure attribute + if hasattr(self._ssl_context, 'check_hostname'): + # Rely on SSLContext to check host name + # If verify_mode is CERT_NONE then the host name will never be checked + self._ssl_context.check_hostname = not value + + def enable_logger(self, logger=None): + if not logger: + if self._logger: + # Do not replace existing logger + return + logger = logging.getLogger(__name__) + self._logger = logger + + def disable_logger(self): + self._logger = None + + def connect(self, host, port=1883, keepalive=60, bind_address=""): + """Connect to a remote broker. + + host is the hostname or IP address of the remote broker. + port is the network port of the server host to connect to. Defaults to + 1883. Note that the default port for MQTT over SSL/TLS is 8883 so if you + are using tls_set() the port may need providing. + keepalive: Maximum period in seconds between communications with the + broker. If no other messages are being exchanged, this controls the + rate at which the client will send ping messages to the broker. + """ + self.connect_async(host, port, keepalive, bind_address) + return self.reconnect() + + def connect_srv(self, domain=None, keepalive=60, bind_address=""): + """Connect to a remote broker. + + domain is the DNS domain to search for SRV records; if None, + try to determine local domain name. + keepalive and bind_address are as for connect() + """ + + if HAVE_DNS is False: + raise ValueError('No DNS resolver library found, try "pip install dnspython" or "pip3 install dnspython3".') + + if domain is None: + domain = socket.getfqdn() + domain = domain[domain.find('.') + 1:] + + try: + rr = '_mqtt._tcp.%s' % domain + if self._ssl: + # IANA specifies secure-mqtt (not mqtts) for port 8883 + rr = '_secure-mqtt._tcp.%s' % domain + answers = [] + for answer in dns.resolver.query(rr, dns.rdatatype.SRV): + addr = answer.target.to_text()[:-1] + answers.append((addr, answer.port, answer.priority, answer.weight)) + except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer, dns.resolver.NoNameservers): + raise ValueError("No answer/NXDOMAIN for SRV in %s" % (domain)) + + # FIXME: doesn't account for weight + for answer in answers: + host, port, prio, weight = answer + + try: + return self.connect(host, port, keepalive, bind_address) + except: + pass + + raise ValueError("No SRV hosts responded") + + def connect_async(self, host, port=1883, keepalive=60, bind_address=""): + """Connect to a remote broker asynchronously. This is a non-blocking + connect call that can be used with loop_start() to provide very quick + start. + + host is the hostname or IP address of the remote broker. + port is the network port of the server host to connect to. Defaults to + 1883. Note that the default port for MQTT over SSL/TLS is 8883 so if you + are using tls_set() the port may need providing. + keepalive: Maximum period in seconds between communications with the + broker. If no other messages are being exchanged, this controls the + rate at which the client will send ping messages to the broker. + """ + if host is None or len(host) == 0: + raise ValueError('Invalid host.') + if port <= 0: + raise ValueError('Invalid port number.') + if keepalive < 0: + raise ValueError('Keepalive must be >=0.') + if bind_address != "" and bind_address is not None: + if (sys.version_info[0] == 2 and sys.version_info[1] < 7) or ( + sys.version_info[0] == 3 and sys.version_info[1] < 2): + raise ValueError('bind_address requires Python 2.7 or 3.2.') + + self._host = host + self._port = port + self._keepalive = keepalive + self._bind_address = bind_address + + self._state = mqtt_cs_connect_async + + def reconnect_delay_set(self, min_delay=1, max_delay=120): + """ Configure the exponential reconnect delay + + When connection is lost, wait initially min_delay seconds and + double this time every attempt. The wait is capped at max_delay. + Once the client is fully connected (e.g. not only TCP socket, but + received a success CONNACK), the wait timer is reset to min_delay. + """ + with self._reconnect_delay_mutex: + self._reconnect_min_delay = min_delay + self._reconnect_max_delay = min_delay + self._reconnect_delay = None + + def reconnect(self): + """Reconnect the client after a disconnect. Can only be called after + connect()/connect_async().""" + if len(self._host) == 0: + raise ValueError('Invalid host.') + if self._port <= 0: + raise ValueError('Invalid port number.') + + self._in_packet = { + "command": 0, + "have_remaining": 0, + "remaining_count": [], + "remaining_mult": 1, + "remaining_length": 0, + "packet": b"", + "to_process": 0, + "pos": 0} + + with self._out_packet_mutex: + self._out_packet = collections.deque() + + with self._current_out_packet_mutex: + self._current_out_packet = None + + with self._msgtime_mutex: + self._last_msg_in = time_func() + self._last_msg_out = time_func() + + self._ping_t = 0 + self._state = mqtt_cs_new + + if self._sock: + self._sock.close() + self._sock = None + + # Put messages in progress in a valid state. + self._messages_reconnect_reset() + + try: + if (sys.version_info[0] == 2 and sys.version_info[1] < 7) or ( + sys.version_info[0] == 3 and sys.version_info[1] < 2): + sock = socket.create_connection((self._host, self._port)) + else: + sock = socket.create_connection((self._host, self._port), source_address=(self._bind_address, 0)) +# except socket.error as err: +# if err.errno != errno.EINPROGRESS and err.errno != errno.EWOULDBLOCK and err.errno != EAGAIN: +# raise +# krambriw ########################## + except: + sock = None + print 'Retrying to re-connect' +# krambriw ########################## + + if self._ssl: + # SSL is only supported when SSLContext is available (implies Python >= 2.7.9 or >= 3.2) + + verify_host = not self._tls_insecure + try: + # Try with server_hostname, even it's not supported in certain scenarios + sock = self._ssl_context.wrap_socket( + sock, + server_hostname=self._host, + do_handshake_on_connect=False, + ) + except ssl.CertificateError: + # CertificateError is derived from ValueError + raise + except ValueError: + # Python version requires SNI in order to handle server_hostname, but SNI is not available + sock = self._ssl_context.wrap_socket( + sock, + do_handshake_on_connect=False, + ) + else: + # If SSL context has already checked hostname, then don't need to do it again + if (hasattr(self._ssl_context, 'check_hostname') and + self._ssl_context.check_hostname): + verify_host = False + + sock.settimeout(self._keepalive) +# krambriw ########################## + self._ssl_context.check_hostname = False +# krambriw ########################## + sock.do_handshake() + + if verify_host: + pass + ssl.match_hostname(sock.getpeercert(), self._host) + + if self._transport == "websockets": + sock.settimeout(self._keepalive) + sock = WebsocketWrapper(sock, self._host, self._port, self._ssl, + self._websocket_path, self._websocket_extra_headers) + + self._sock = sock + self._sock.setblocking(0) + + return self._send_connect(self._keepalive, self._clean_session) + + def loop(self, timeout=1.0, max_packets=1): + """Process network events. + + This function must be called regularly to ensure communication with the + broker is carried out. It calls select() on the network socket to wait + for network events. If incoming data is present it will then be + processed. Outgoing commands, from e.g. publish(), are normally sent + immediately that their function is called, but this is not always + possible. loop() will also attempt to send any remaining outgoing + messages, which also includes commands that are part of the flow for + messages with QoS>0. + + timeout: The time in seconds to wait for incoming/outgoing network + traffic before timing out and returning. + max_packets: Not currently used. + + Returns MQTT_ERR_SUCCESS on success. + Returns >0 on error. + + A ValueError will be raised if timeout < 0""" + if timeout < 0.0: + raise ValueError('Invalid timeout.') + + with self._current_out_packet_mutex: + with self._out_packet_mutex: + if self._current_out_packet is None and len(self._out_packet) > 0: + self._current_out_packet = self._out_packet.popleft() + + if self._current_out_packet: + wlist = [self._sock] + else: + wlist = [] + + # used to check if there are any bytes left in the (SSL) socket + pending_bytes = 0 + if hasattr(self._sock, 'pending'): + pending_bytes = self._sock.pending() + + # if bytes are pending do not wait in select + if pending_bytes > 0: + timeout = 0.0 + + # sockpairR is used to break out of select() before the timeout, on a + # call to publish() etc. + rlist = [self._sock, self._sockpairR] + try: + socklist = select.select(rlist, wlist, [], timeout) + except TypeError: + # Socket isn't correct type, in likelihood connection is lost + return MQTT_ERR_CONN_LOST + except ValueError: + # Can occur if we just reconnected but rlist/wlist contain a -1 for + # some reason. + return MQTT_ERR_CONN_LOST + except KeyboardInterrupt: + # Allow ^C to interrupt + raise + except: + return MQTT_ERR_UNKNOWN + + if self._sock in socklist[0] or pending_bytes > 0: + rc = self.loop_read(max_packets) + if rc or self._sock is None: + return rc + + if self._sockpairR in socklist[0]: + # Stimulate output write even though we didn't ask for it, because + # at that point the publish or other command wasn't present. + socklist[1].insert(0, self._sock) + # Clear sockpairR - only ever a single byte written. + try: + self._sockpairR.recv(1) + except socket.error as err: + if err.errno != EAGAIN: + raise + + if self._sock in socklist[1]: + rc = self.loop_write(max_packets) + if rc or self._sock is None: + return rc + + return self.loop_misc() + + def publish(self, topic, payload=None, qos=0, retain=False): + """Publish a message on a topic. + + This causes a message to be sent to the broker and subsequently from + the broker to any clients subscribing to matching topics. + + topic: The topic that the message should be published on. + payload: The actual message to send. If not given, or set to None a + zero length message will be used. Passing an int or float will result + in the payload being converted to a string representing that number. If + you wish to send a true int/float, use struct.pack() to create the + payload you require. + qos: The quality of service level to use. + retain: If set to true, the message will be set as the "last known + good"/retained message for the topic. + + Returns a MQTTMessageInfo class, which can be used to determine whether + the message has been delivered (using info.is_published()) or to block + waiting for the message to be delivered (info.wait_for_publish()). The + message ID and return code of the publish() call can be found at + info.mid and info.rc. + + For backwards compatibility, the MQTTMessageInfo class is iterable so + the old construct of (rc, mid) = client.publish(...) is still valid. + + rc is MQTT_ERR_SUCCESS to indicate success or MQTT_ERR_NO_CONN if the + client is not currently connected. mid is the message ID for the + publish request. The mid value can be used to track the publish request + by checking against the mid argument in the on_publish() callback if it + is defined. + + A ValueError will be raised if topic is None, has zero length or is + invalid (contains a wildcard), if qos is not one of 0, 1 or 2, or if + the length of the payload is greater than 268435455 bytes.""" + if topic is None or len(topic) == 0: + raise ValueError('Invalid topic.') + + topic = topic.encode('utf-8') + + if self._topic_wildcard_len_check(topic) != MQTT_ERR_SUCCESS: + raise ValueError('Publish topic cannot contain wildcards.') + + if qos < 0 or qos > 2: + raise ValueError('Invalid QoS level.') + + if isinstance(payload, unicode): + local_payload = payload.encode('utf-8') + elif isinstance(payload, (bytes, bytearray)): + local_payload = payload + elif isinstance(payload, (int, float)): + local_payload = str(payload).encode('ascii') + elif payload is None: + local_payload = b'' + else: + raise TypeError('payload must be a string, bytearray, int, float or None.') + + if len(local_payload) > 268435455: + raise ValueError('Payload too large.') + + local_mid = self._mid_generate() + + if qos == 0: + info = MQTTMessageInfo(local_mid) + rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False, info) + info.rc = rc + return info + else: + message = MQTTMessage(local_mid, topic) + message.timestamp = time_func() + message.payload = local_payload + message.qos = qos + message.retain = retain + message.dup = False + + with self._out_message_mutex: + if self._max_queued_messages > 0 and len(self._out_messages) >= self._max_queued_messages: + return (MQTT_ERR_QUEUE_SIZE, local_mid) + + self._out_messages.append(message) + if self._max_inflight_messages == 0 or self._inflight_messages < self._max_inflight_messages: + self._inflight_messages += 1 + if qos == 1: + message.state = mqtt_ms_wait_for_puback + elif qos == 2: + message.state = mqtt_ms_wait_for_pubrec + + rc = self._send_publish(message.mid, message.topic, message.payload, message.qos, message.retain, + message.dup) + + # remove from inflight messages so it will be send after a connection is made + if rc is MQTT_ERR_NO_CONN: + self._inflight_messages -= 1 + message.state = mqtt_ms_publish + + message.info.rc = rc + return message.info + else: + message.state = mqtt_ms_queued + message.info.rc = MQTT_ERR_SUCCESS + return message.info + + def username_pw_set(self, username, password=None): + """Set a username and optionally a password for broker authentication. + + Must be called before connect() to have any effect. + Requires a broker that supports MQTT v3.1. + + username: The username to authenticate with. Need have no relationship to the client id. Must be unicode + [MQTT-3.1.3-11]. + password: The password to authenticate with. Optional, set to None if not required. If it is unicode, then it + will be encoded as UTF-8. + """ + + # [MQTT-3.1.3-11] User name must be UTF-8 encoded string + self._username = username.encode('utf-8') + self._password = password + if isinstance(self._password, unicode): + self._password = self._password.encode('utf-8') + + def disconnect(self): + """Disconnect a connected client from the broker.""" + self._state = mqtt_cs_disconnecting + + if self._sock is None: + return MQTT_ERR_NO_CONN + + return self._send_disconnect() + + def subscribe(self, topic, qos=0): + """Subscribe the client to one or more topics. + + This function may be called in three different ways: + + Simple string and integer + ------------------------- + e.g. subscribe("my/topic", 2) + + topic: A string specifying the subscription topic to subscribe to. + qos: The desired quality of service level for the subscription. + Defaults to 0. + + String and integer tuple + ------------------------ + e.g. subscribe(("my/topic", 1)) + + topic: A tuple of (topic, qos). Both topic and qos must be present in + the tuple. + qos: Not used. + + List of string and integer tuples + ------------------------ + e.g. subscribe([("my/topic", 0), ("another/topic", 2)]) + + This allows multiple topic subscriptions in a single SUBSCRIPTION + command, which is more efficient than using multiple calls to + subscribe(). + + topic: A list of tuple of format (topic, qos). Both topic and qos must + be present in all of the tuples. + qos: Not used. + + The function returns a tuple (result, mid), where result is + MQTT_ERR_SUCCESS to indicate success or (MQTT_ERR_NO_CONN, None) if the + client is not currently connected. mid is the message ID for the + subscribe request. The mid value can be used to track the subscribe + request by checking against the mid argument in the on_subscribe() + callback if it is defined. + + Raises a ValueError if qos is not 0, 1 or 2, or if topic is None or has + zero string length, or if topic is not a string, tuple or list. + """ + topic_qos_list = None + + if isinstance(topic, tuple): + topic, qos = topic + + if isinstance(topic, basestring): + if qos < 0 or qos > 2: + raise ValueError('Invalid QoS level.') + if topic is None or len(topic) == 0: + raise ValueError('Invalid topic.') + topic_qos_list = [(topic.encode('utf-8'), qos)] + elif isinstance(topic, list): + topic_qos_list = [] + for t, q in topic: + if q < 0 or q > 2: + raise ValueError('Invalid QoS level.') + if t is None or len(t) == 0 or not isinstance(t, basestring): + raise ValueError('Invalid topic.') + topic_qos_list.append((t.encode('utf-8'), q)) + + if topic_qos_list is None: + raise ValueError("No topic specified, or incorrect topic type.") + + if any(self._filter_wildcard_len_check(topic) != MQTT_ERR_SUCCESS for topic, _ in topic_qos_list): + raise ValueError('Invalid subscription filter.') + + if self._sock is None: + return (MQTT_ERR_NO_CONN, None) + + return self._send_subscribe(False, topic_qos_list) + + def unsubscribe(self, topic): + """Unsubscribe the client from one or more topics. + + topic: A single string, or list of strings that are the subscription + topics to unsubscribe from. + + Returns a tuple (result, mid), where result is MQTT_ERR_SUCCESS + to indicate success or (MQTT_ERR_NO_CONN, None) if the client is not + currently connected. + mid is the message ID for the unsubscribe request. The mid value can be + used to track the unsubscribe request by checking against the mid + argument in the on_unsubscribe() callback if it is defined. + + Raises a ValueError if topic is None or has zero string length, or is + not a string or list. + """ + topic_list = None + if topic is None: + raise ValueError('Invalid topic.') + if isinstance(topic, basestring): + if len(topic) == 0: + raise ValueError('Invalid topic.') + topic_list = [topic.encode('utf-8')] + elif isinstance(topic, list): + topic_list = [] + for t in topic: + if len(t) == 0 or not isinstance(t, basestring): + raise ValueError('Invalid topic.') + topic_list.append(t.encode('utf-8')) + + if topic_list is None: + raise ValueError("No topic specified, or incorrect topic type.") + + if self._sock is None: + return (MQTT_ERR_NO_CONN, None) + + return self._send_unsubscribe(False, topic_list) + + def loop_read(self, max_packets=1): + """Process read network events. Use in place of calling loop() if you + wish to handle your client reads as part of your own application. + + Use socket() to obtain the client socket to call select() or equivalent + on. + + Do not use if you are using the threaded interface loop_start().""" + if self._sock is None: + return MQTT_ERR_NO_CONN + + max_packets = len(self._out_messages) + len(self._in_messages) + if max_packets < 1: + max_packets = 1 + + for _ in range(0, max_packets): + rc = self._packet_read() + if rc > 0: + return self._loop_rc_handle(rc) + elif rc == MQTT_ERR_AGAIN: + return MQTT_ERR_SUCCESS + return MQTT_ERR_SUCCESS + + def loop_write(self, max_packets=1): + """Process write network events. Use in place of calling loop() if you + wish to handle your client writes as part of your own application. + + Use socket() to obtain the client socket to call select() or equivalent + on. + + Use want_write() to determine if there is data waiting to be written. + + Do not use if you are using the threaded interface loop_start().""" + if self._sock is None: + return MQTT_ERR_NO_CONN + + max_packets = len(self._out_packet) + 1 + if max_packets < 1: + max_packets = 1 + + for _ in range(0, max_packets): + rc = self._packet_write() + if rc > 0: + return self._loop_rc_handle(rc) + elif rc == MQTT_ERR_AGAIN: + return MQTT_ERR_SUCCESS + return MQTT_ERR_SUCCESS + + def want_write(self): + """Call to determine if there is network data waiting to be written. + Useful if you are calling select() yourself rather than using loop(). + """ + if self._current_out_packet or len(self._out_packet) > 0: + return True + else: + return False + + def loop_misc(self): + """Process miscellaneous network events. Use in place of calling loop() if you + wish to call select() or equivalent on. + + Do not use if you are using the threaded interface loop_start().""" + if self._sock is None: + return MQTT_ERR_NO_CONN + + now = time_func() + self._check_keepalive() + if self._last_retry_check + 1 < now: + # Only check once a second at most + self._message_retry_check() + self._last_retry_check = now + + if self._ping_t > 0 and now - self._ping_t >= self._keepalive: + # client->ping_t != 0 means we are waiting for a pingresp. + # This hasn't happened in the keepalive time so we should disconnect. + if self._sock: + self._sock.close() + self._sock = None + + if self._state == mqtt_cs_disconnecting: + rc = MQTT_ERR_SUCCESS + else: + rc = 1 + + with self._callback_mutex: + if self.on_disconnect: + with self._in_callback: + self.on_disconnect(self, self._userdata, rc) + + return MQTT_ERR_CONN_LOST + + return MQTT_ERR_SUCCESS + + def max_inflight_messages_set(self, inflight): + """Set the maximum number of messages with QoS>0 that can be part way + through their network flow at once. Defaults to 20.""" + if inflight < 0: + raise ValueError('Invalid inflight.') + self._max_inflight_messages = inflight + + def max_queued_messages_set(self, queue_size): + """Set the maximum number of messages in the outgoing message queue. + 0 means unlimited.""" + if queue_size < 0: + raise ValueError('Invalid queue size.') + if not isinstance(queue_size, int): + raise ValueError('Invalid type of queue size.') + self._max_queued_messages = queue_size + return self + + def message_retry_set(self, retry): + """Set the timeout in seconds before a message with QoS>0 is retried. + 20 seconds by default.""" + if retry < 0: + raise ValueError('Invalid retry.') + + self._message_retry = retry + + def user_data_set(self, userdata): + """Set the user data variable passed to callbacks. May be any data type.""" + self._userdata = userdata + + def will_set(self, topic, payload=None, qos=0, retain=False): + """Set a Will to be sent by the broker in case the client disconnects unexpectedly. + + This must be called before connect() to have any effect. + + topic: The topic that the will message should be published on. + payload: The message to send as a will. If not given, or set to None a + zero length message will be used as the will. Passing an int or float + will result in the payload being converted to a string representing + that number. If you wish to send a true int/float, use struct.pack() to + create the payload you require. + qos: The quality of service level to use for the will. + retain: If set to true, the will message will be set as the "last known + good"/retained message for the topic. + + Raises a ValueError if qos is not 0, 1 or 2, or if topic is None or has + zero string length. + """ + if topic is None or len(topic) == 0: + raise ValueError('Invalid topic.') + + if qos < 0 or qos > 2: + raise ValueError('Invalid QoS level.') + + if isinstance(payload, unicode): + self._will_payload = payload.encode('utf-8') + elif isinstance(payload, (bytes, bytearray)): + self._will_payload = payload + elif isinstance(payload, (int, float)): + self._will_payload = str(payload).encode('ascii') + elif payload is None: + self._will_payload = b"" + else: + raise TypeError('payload must be a string, bytearray, int, float or None.') + + self._will = True + self._will_topic = topic.encode('utf-8') + self._will_qos = qos + self._will_retain = retain + + def will_clear(self): + """ Removes a will that was previously configured with will_set(). + + Must be called before connect() to have any effect.""" + self._will = False + self._will_topic = b"" + self._will_payload = b"" + self._will_qos = 0 + self._will_retain = False + + def socket(self): + """Return the socket or ssl object for this client.""" + return self._sock + + def loop_forever(self, timeout=1.0, max_packets=1, retry_first_connection=False): + """This function call loop() for you in an infinite blocking loop. It + is useful for the case where you only want to run the MQTT client loop + in your program. + + loop_forever() will handle reconnecting for you. If you call + disconnect() in a callback it will return. + + + timeout: The time in seconds to wait for incoming/outgoing network + traffic before timing out and returning. + max_packets: Not currently used. + retry_first_connection: Should the first connection attempt be retried on failure. + + Raises socket.error on first connection failures unless retry_first_connection=True + """ + + run = True + + while run: + if self._thread_terminate is True: + break + + if self._state == mqtt_cs_connect_async: + try: + self.reconnect() + except (socket.error, WebsocketConnectionError): + if not retry_first_connection: + raise + self._easy_log(MQTT_LOG_DEBUG, "Connection failed, retrying") + self._reconnect_wait() + else: + break + + while run: + rc = MQTT_ERR_SUCCESS + while rc == MQTT_ERR_SUCCESS: + rc = self.loop(timeout, max_packets) + # We don't need to worry about locking here, because we've + # either called loop_forever() when in single threaded mode, or + # in multi threaded mode when loop_stop() has been called and + # so no other threads can access _current_out_packet, + # _out_packet or _messages. + if (self._thread_terminate is True + and self._current_out_packet is None + and len(self._out_packet) == 0 + and len(self._out_messages) == 0): + rc = 1 + run = False + + + def should_exit(): + return self._state == mqtt_cs_disconnecting or run is False or self._thread_terminate is True + + if should_exit(): + run = False + else: + self._reconnect_wait() + + if should_exit(): + run = False + else: + try: + self.reconnect() + except (socket.error, WebsocketConnectionError): + pass + + return rc + + def loop_start(self): + """This is part of the threaded client interface. Call this once to + start a new thread to process network traffic. This provides an + alternative to repeatedly calling loop() yourself. + """ + if self._thread is not None: + return MQTT_ERR_INVAL + + self._thread_terminate = False + self._thread = threading.Thread(target=self._thread_main) + self._thread.daemon = True + self._thread.start() + + def loop_stop(self, force=False): + """This is part of the threaded client interface. Call this once to + stop the network thread previously created with loop_start(). This call + will block until the network thread finishes. + + The force parameter is currently ignored. + """ + if self._thread is None: + return MQTT_ERR_INVAL + + self._thread_terminate = True + if threading.current_thread() != self._thread: + self._thread.join() + self._thread = None + + @property + def on_log(self): + """If implemented, called when the client has log information. + Defined to allow debugging.""" + return self._on_log + + @on_log.setter + def on_log(self, func): + """ Define the logging callback implementation. + + Expected signature is: + log_callback(client, userdata, level, buf) + + client: the client instance for this callback + userdata: the private user data as set in Client() or userdata_set() + level: gives the severity of the message and will be one of + MQTT_LOG_INFO, MQTT_LOG_NOTICE, MQTT_LOG_WARNING, + MQTT_LOG_ERR, and MQTT_LOG_DEBUG. + buf: the message itself + """ + self._on_log = func + + @property + def on_connect(self): + """If implemented, called when the broker responds to our connection + request.""" + return self._on_connect + + @on_connect.setter + def on_connect(self, func): + """ Define the connect callback implementation. + + Expected signature is: + connect_callback(client, userdata, flags, rc) + + client: the client instance for this callback + userdata: the private user data as set in Client() or userdata_set() + flags: response flags sent by the broker + rc: the connection result + + flags is a dict that contains response flags from the broker: + flags['session present'] - this flag is useful for clients that are + using clean session set to 0 only. If a client with clean + session=0, that reconnects to a broker that it has previously + connected to, this flag indicates whether the broker still has the + session information for the client. If 1, the session still exists. + + The value of rc indicates success or not: + 0: Connection successful + 1: Connection refused - incorrect protocol version + 2: Connection refused - invalid client identifier + 3: Connection refused - server unavailable + 4: Connection refused - bad username or password + 5: Connection refused - not authorised + 6-255: Currently unused. + """ + with self._callback_mutex: + self._on_connect = func + + @property + def on_subscribe(self): + """If implemented, called when the broker responds to a subscribe + request.""" + return self._on_subscribe + + @on_subscribe.setter + def on_subscribe(self, func): + """ Define the suscribe callback implementation. + + Expected signature is: + subscribe_callback(client, userdata, mid, granted_qos) + + client: the client instance for this callback + userdata: the private user data as set in Client() or userdata_set() + mid: matches the mid variable returned from the corresponding + subscribe() call. + granted_qos: list of integers that give the QoS level the broker has + granted for each of the different subscription requests. + """ + with self._callback_mutex: + self._on_subscribe = func + + @property + def on_message(self): + """If implemented, called when a message has been received on a topic + that the client subscribes to. + + This callback will be called for every message received. Use + message_callback_add() to define multiple callbacks that will be called + for specific topic filters.""" + return self._on_message + + @on_message.setter + def on_message(self, func): + """ Define the message received callback implementation. + + Expected signature is: + on_message_callback(client, userdata, message) + + client: the client instance for this callback + userdata: the private user data as set in Client() or userdata_set() + message: an instance of MQTTMessage. + This is a class with members topic, payload, qos, retain. + """ + with self._callback_mutex: + self._on_message = func + + @property + def on_publish(self): + """If implemented, called when a message that was to be sent using the + publish() call has completed transmission to the broker. + + For messages with QoS levels 1 and 2, this means that the appropriate + handshakes have completed. For QoS 0, this simply means that the message + has left the client. + This callback is important because even if the publish() call returns + success, it does not always mean that the message has been sent.""" + return self._on_publish + + @on_publish.setter + def on_publish(self, func): + """ Define the published message callback implementation. + + Expected signature is: + on_publish_callback(client, userdata, mid) + + client: the client instance for this callback + userdata: the private user data as set in Client() or userdata_set() + mid: matches the mid variable returned from the corresponding + publish() call, to allow outgoing messages to be tracked. + """ + with self._callback_mutex: + self._on_publish = func + + @property + def on_unsubscribe(self): + """If implemented, called when the broker responds to an unsubscribe + request.""" + return self._on_unsubscribe + + @on_unsubscribe.setter + def on_unsubscribe(self, func): + """ Define the unsubscribe callback implementation. + + Expected signature is: + unsubscribe_callback(client, userdata, mid) + + client: the client instance for this callback + userdata: the private user data as set in Client() or userdata_set() + mid: matches the mid variable returned from the corresponding + unsubscribe() call. + """ + with self._callback_mutex: + self._on_unsubscribe = func + + @property + def on_disconnect(self): + """If implemented, called when the client disconnects from the broker. + """ + return self._on_disconnect + + @on_disconnect.setter + def on_disconnect(self, func): + """ Define the disconnect callback implementation. + + Expected signature is: + disconnect_callback(client, userdata, self) + + client: the client instance for this callback + userdata: the private user data as set in Client() or userdata_set() + rc: the disconnection result + The rc parameter indicates the disconnection state. If + MQTT_ERR_SUCCESS (0), the callback was called in response to + a disconnect() call. If any other value the disconnection + was unexpected, such as might be caused by a network error. + """ + with self._callback_mutex: + self._on_disconnect = func + + def message_callback_add(self, sub, callback): + """Register a message callback for a specific topic. + Messages that match 'sub' will be passed to 'callback'. Any + non-matching messages will be passed to the default on_message + callback. + + Call multiple times with different 'sub' to define multiple topic + specific callbacks. + + Topic specific callbacks may be removed with + message_callback_remove().""" + if callback is None or sub is None: + raise ValueError("sub and callback must both be defined.") + + with self._callback_mutex: + self._on_message_filtered[sub] = callback + + def message_callback_remove(self, sub): + """Remove a message callback previously registered with + message_callback_add().""" + if sub is None: + raise ValueError("sub must defined.") + + with self._callback_mutex: + try: + del self._on_message_filtered[sub] + except KeyError: # no such subscription + pass + + # ============================================================ + # Private functions + # ============================================================ + + def _loop_rc_handle(self, rc): + if rc: + if self._sock: + self._sock.close() + self._sock = None + + if self._state == mqtt_cs_disconnecting: + rc = MQTT_ERR_SUCCESS + + with self._callback_mutex: + if self.on_disconnect: + with self._in_callback: + self.on_disconnect(self, self._userdata, rc) + return rc + + def _packet_read(self): + # This gets called if pselect() indicates that there is network data + # available - ie. at least one byte. What we do depends on what data we + # already have. + # If we've not got a command, attempt to read one and save it. This should + # always work because it's only a single byte. + # Then try to read the remaining length. This may fail because it is may + # be more than one byte - will need to save data pending next read if it + # does fail. + # Then try to read the remaining payload, where 'payload' here means the + # combined variable header and actual payload. This is the most likely to + # fail due to longer length, so save current data and current position. + # After all data is read, send to _mqtt_handle_packet() to deal with. + # Finally, free the memory and reset everything to starting conditions. + if self._in_packet['command'] == 0: + try: + command = self._sock.recv(1) + except socket.error as err: + if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE): + return MQTT_ERR_AGAIN + if err.errno == EAGAIN: + return MQTT_ERR_AGAIN + print(err) + return 1 + else: + if len(command) == 0: + return 1 + command, = struct.unpack("!B", command) + self._in_packet['command'] = command + + if self._in_packet['have_remaining'] == 0: + # Read remaining + # Algorithm for decoding taken from pseudo code at + # http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/topic/com.ibm.etools.mft.doc/ac10870_.htm + while True: + try: + byte = self._sock.recv(1) + except socket.error as err: + if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE): + return MQTT_ERR_AGAIN + if err.errno == EAGAIN: + return MQTT_ERR_AGAIN + print(err) + return 1 + else: + if len(byte) == 0: + return 1 + byte, = struct.unpack("!B", byte) + self._in_packet['remaining_count'].append(byte) + # Max 4 bytes length for remaining length as defined by protocol. + # Anything more likely means a broken/malicious client. + if len(self._in_packet['remaining_count']) > 4: + return MQTT_ERR_PROTOCOL + + self._in_packet['remaining_length'] += (byte & 127) * self._in_packet['remaining_mult'] + self._in_packet['remaining_mult'] = self._in_packet['remaining_mult'] * 128 + + if (byte & 128) == 0: + break + + self._in_packet['have_remaining'] = 1 + self._in_packet['to_process'] = self._in_packet['remaining_length'] + + while self._in_packet['to_process'] > 0: + try: + data = self._sock.recv(self._in_packet['to_process']) + except socket.error as err: + if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE): + return MQTT_ERR_AGAIN + if err.errno == EAGAIN: + return MQTT_ERR_AGAIN + print(err) + return 1 + else: + if len(data) == 0: + return 1 + self._in_packet['to_process'] -= len(data) + self._in_packet['packet'] += data + + # All data for this packet is read. + self._in_packet['pos'] = 0 + rc = self._packet_handle() + + # Free data and reset values + self._in_packet = { + 'command': 0, + 'have_remaining': 0, + 'remaining_count': [], + 'remaining_mult': 1, + 'remaining_length': 0, + 'packet': b"", + 'to_process': 0, + 'pos': 0} + + with self._msgtime_mutex: + self._last_msg_in = time_func() + return rc + + def _packet_write(self): + self._current_out_packet_mutex.acquire() + + while self._current_out_packet: + packet = self._current_out_packet + + try: + write_length = self._sock.send(packet['packet'][packet['pos']:]) + except (AttributeError, ValueError): + self._current_out_packet_mutex.release() + return MQTT_ERR_SUCCESS + except socket.error as err: + self._current_out_packet_mutex.release() + if self._ssl and (err.errno == ssl.SSL_ERROR_WANT_READ or err.errno == ssl.SSL_ERROR_WANT_WRITE): + return MQTT_ERR_AGAIN + if err.errno == EAGAIN: + return MQTT_ERR_AGAIN + print(err) + return 1 + + if write_length > 0: + packet['to_process'] -= write_length + packet['pos'] += write_length + + if packet['to_process'] == 0: + if (packet['command'] & 0xF0) == PUBLISH and packet['qos'] == 0: + with self._callback_mutex: + if self.on_publish: + with self._in_callback: + self.on_publish(self, self._userdata, packet['mid']) + + packet['info']._set_as_published() + + if (packet['command'] & 0xF0) == DISCONNECT: + self._current_out_packet_mutex.release() + + with self._msgtime_mutex: + self._last_msg_out = time_func() + + with self._callback_mutex: + if self.on_disconnect: + with self._in_callback: + self.on_disconnect(self, self._userdata, 0) + + if self._sock: + self._sock.close() + self._sock = None + return MQTT_ERR_SUCCESS + + with self._out_packet_mutex: + if len(self._out_packet) > 0: + self._current_out_packet = self._out_packet.popleft() + else: + self._current_out_packet = None + else: + break + + self._current_out_packet_mutex.release() + + with self._msgtime_mutex: + self._last_msg_out = time_func() + + return MQTT_ERR_SUCCESS + + def _easy_log(self, level, fmt, *args): + if self.on_log: + buf = fmt % args + self.on_log(self, self._userdata, level, buf) + if self._logger: + level_std = LOGGING_LEVEL[level] + self._logger.log(level_std, fmt, *args) + + def _check_keepalive(self): + if self._keepalive == 0: + return MQTT_ERR_SUCCESS + + now = time_func() + + with self._msgtime_mutex: + last_msg_out = self._last_msg_out + last_msg_in = self._last_msg_in + + if self._sock is not None and (now - last_msg_out >= self._keepalive or now - last_msg_in >= self._keepalive): + if self._state == mqtt_cs_connected and self._ping_t == 0: + self._send_pingreq() + with self._msgtime_mutex: + self._last_msg_out = now + self._last_msg_in = now + else: + if self._sock: + self._sock.close() + self._sock = None + + if self._state == mqtt_cs_disconnecting: + rc = MQTT_ERR_SUCCESS + else: + rc = 1 + with self._callback_mutex: + if self.on_disconnect: + with self._in_callback: + self.on_disconnect(self, self._userdata, rc) + + def _mid_generate(self): + self._last_mid += 1 + if self._last_mid == 65536: + self._last_mid = 1 + return self._last_mid + + @staticmethod + def _topic_wildcard_len_check(topic): + # Search for + or # in a topic. Return MQTT_ERR_INVAL if found. + # Also returns MQTT_ERR_INVAL if the topic string is too long. + # Returns MQTT_ERR_SUCCESS if everything is fine. + if b'+' in topic or b'#' in topic or len(topic) == 0 or len(topic) > 65535: + return MQTT_ERR_INVAL + else: + return MQTT_ERR_SUCCESS + + @staticmethod + def _filter_wildcard_len_check(sub): + if (len(sub) == 0 or len(sub) > 65535 + or any(b'+' in p or b'#' in p for p in sub.split(b'/') if len(p) > 1) + or b'#/' in sub): + return MQTT_ERR_INVAL + else: + return MQTT_ERR_SUCCESS + + def _send_pingreq(self): + self._easy_log(MQTT_LOG_DEBUG, "Sending PINGREQ") + rc = self._send_simple_command(PINGREQ) + if rc == MQTT_ERR_SUCCESS: + self._ping_t = time_func() + return rc + + def _send_pingresp(self): + self._easy_log(MQTT_LOG_DEBUG, "Sending PINGRESP") + return self._send_simple_command(PINGRESP) + + def _send_puback(self, mid): + self._easy_log(MQTT_LOG_DEBUG, "Sending PUBACK (Mid: %d)", mid) + return self._send_command_with_mid(PUBACK, mid, False) + + def _send_pubcomp(self, mid): + self._easy_log(MQTT_LOG_DEBUG, "Sending PUBCOMP (Mid: %d)", mid) + return self._send_command_with_mid(PUBCOMP, mid, False) + + def _pack_remaining_length(self, packet, remaining_length): + remaining_bytes = [] + while True: + byte = remaining_length % 128 + remaining_length = remaining_length // 128 + # If there are more digits to encode, set the top bit of this digit + if remaining_length > 0: + byte |= 0x80 + + remaining_bytes.append(byte) + packet.append(byte) + if remaining_length == 0: + # FIXME - this doesn't deal with incorrectly large payloads + return packet + + def _pack_str16(self, packet, data): + if isinstance(data, unicode): + data = data.encode('utf-8') + packet.extend(struct.pack("!H", len(data))) + packet.extend(data) + + def _send_publish(self, mid, topic, payload=b'', qos=0, retain=False, dup=False, info=None): + # we assume that topic and payload are already properly encoded + # assert not isinstance(topic, unicode) and not isinstance(payload, unicode) and payload is not None + + if self._sock is None: + return MQTT_ERR_NO_CONN + + command = PUBLISH | ((dup & 0x1) << 3) | (qos << 1) | retain + packet = bytearray() + packet.append(command) + + payloadlen = len(payload) + remaining_length = 2 + len(topic) + payloadlen + + if payloadlen == 0: + self._easy_log( + MQTT_LOG_DEBUG, + "Sending PUBLISH (d%d, q%d, r%d, m%d), '%s' (NULL payload)", + dup, qos, retain, mid, topic + ) + else: + self._easy_log( + MQTT_LOG_DEBUG, + "Sending PUBLISH (d%d, q%d, r%d, m%d), '%s', ... (%d bytes)", + dup, qos, retain, mid, topic, payloadlen + ) + + if qos > 0: + # For message id + remaining_length += 2 + + self._pack_remaining_length(packet, remaining_length) + self._pack_str16(packet, topic) + + if qos > 0: + # For message id + packet.extend(struct.pack("!H", mid)) + + packet.extend(payload) + + return self._packet_queue(PUBLISH, packet, mid, qos, info) + + def _send_pubrec(self, mid): + self._easy_log(MQTT_LOG_DEBUG, "Sending PUBREC (Mid: %d)", mid) + return self._send_command_with_mid(PUBREC, mid, False) + + def _send_pubrel(self, mid, dup=False): + self._easy_log(MQTT_LOG_DEBUG, "Sending PUBREL (Mid: %d)", mid) + return self._send_command_with_mid(PUBREL | 2, mid, dup) + + def _send_command_with_mid(self, command, mid, dup): + # For PUBACK, PUBCOMP, PUBREC, and PUBREL + if dup: + command |= 0x8 + + remaining_length = 2 + packet = struct.pack('!BBH', command, remaining_length, mid) + return self._packet_queue(command, packet, mid, 1) + + def _send_simple_command(self, command): + # For DISCONNECT, PINGREQ and PINGRESP + remaining_length = 0 + packet = struct.pack('!BB', command, remaining_length) + return self._packet_queue(command, packet, 0, 0) + + def _send_connect(self, keepalive, clean_session): + proto_ver = self._protocol + protocol = b"MQTT" if proto_ver >= MQTTv311 else b"MQIsdp" # hard-coded UTF-8 encoded string + + remaining_length = 2 + len(protocol) + 1 + 1 + 2 + 2 + len(self._client_id) + + connect_flags = 0 + if clean_session: + connect_flags |= 0x02 + + if self._will: + remaining_length += 2 + len(self._will_topic) + 2 + len(self._will_payload) + connect_flags |= 0x04 | ((self._will_qos & 0x03) << 3) | ((self._will_retain & 0x01) << 5) + + if self._username is not None: + remaining_length += 2 + len(self._username) + connect_flags |= 0x80 + if self._password is not None: + connect_flags |= 0x40 + remaining_length += 2 + len(self._password) + + command = CONNECT + packet = bytearray() + packet.append(command) + + self._pack_remaining_length(packet, remaining_length) + packet.extend(struct.pack("!H" + str(len(protocol)) + "sBBH", len(protocol), protocol, proto_ver, connect_flags, + keepalive)) + + self._pack_str16(packet, self._client_id) + + if self._will: + self._pack_str16(packet, self._will_topic) + self._pack_str16(packet, self._will_payload) + + if self._username is not None: + self._pack_str16(packet, self._username) + + if self._password is not None: + self._pack_str16(packet, self._password) + + self._keepalive = keepalive + self._easy_log( + MQTT_LOG_DEBUG, + "Sending CONNECT (u%d, p%d, wr%d, wq%d, wf%d, c%d, k%d) client_id=%s", + (connect_flags & 0x80) >> 7, + (connect_flags & 0x40) >> 6, + (connect_flags & 0x20) >> 5, + (connect_flags & 0x18) >> 3, + (connect_flags & 0x4) >> 2, + (connect_flags & 0x2) >> 1, + keepalive, + self._client_id + ) + return self._packet_queue(command, packet, 0, 0) + + def _send_disconnect(self): + self._easy_log(MQTT_LOG_DEBUG, "Sending DISCONNECT") + return self._send_simple_command(DISCONNECT) + + def _send_subscribe(self, dup, topics): + remaining_length = 2 + for t, _ in topics: + remaining_length += 2 + len(t) + 1 + + command = SUBSCRIBE | (dup << 3) | 0x2 + packet = bytearray() + packet.append(command) + self._pack_remaining_length(packet, remaining_length) + local_mid = self._mid_generate() + packet.extend(struct.pack("!H", local_mid)) + for t, q in topics: + self._pack_str16(packet, t) + packet.append(q) + return (self._packet_queue(command, packet, local_mid, 1), local_mid) + + def _send_unsubscribe(self, dup, topics): + remaining_length = 2 + for t in topics: + remaining_length += 2 + len(t) + + command = UNSUBSCRIBE | (dup << 3) | 0x2 + packet = bytearray() + packet.append(command) + self._pack_remaining_length(packet, remaining_length) + local_mid = self._mid_generate() + packet.extend(struct.pack("!H", local_mid)) + for t in topics: + self._pack_str16(packet, t) + + # topics_repr = ", ".join("'"+topic.decode('utf8')+"'" for topic in topics) + self._easy_log(MQTT_LOG_DEBUG, "Sending UNSUBSCRIBE (d%d) %s", dup, topics) + return (self._packet_queue(command, packet, local_mid, 1), local_mid) + + def _message_retry_check_actual(self, messages, mutex): + with mutex: + now = time_func() + for m in messages: + if m.timestamp + self._message_retry < now: + if m.state == mqtt_ms_wait_for_puback or m.state == mqtt_ms_wait_for_pubrec: + m.timestamp = now + m.dup = True + self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup) + elif m.state == mqtt_ms_wait_for_pubrel: + m.timestamp = now + m.dup = True + self._send_pubrec(m.mid) + elif m.state == mqtt_ms_wait_for_pubcomp: + m.timestamp = now + m.dup = True + self._send_pubrel(m.mid, True) + + def _message_retry_check(self): + self._message_retry_check_actual(self._out_messages, self._out_message_mutex) + self._message_retry_check_actual(self._in_messages, self._in_message_mutex) + + def _messages_reconnect_reset_out(self): + with self._out_message_mutex: + self._inflight_messages = 0 + for m in self._out_messages: + m.timestamp = 0 + if self._max_inflight_messages == 0 or self._inflight_messages < self._max_inflight_messages: + if m.qos == 0: + m.state = mqtt_ms_publish + elif m.qos == 1: + # self._inflight_messages = self._inflight_messages + 1 + if m.state == mqtt_ms_wait_for_puback: + m.dup = True + m.state = mqtt_ms_publish + elif m.qos == 2: + # self._inflight_messages = self._inflight_messages + 1 + if m.state == mqtt_ms_wait_for_pubcomp: + m.state = mqtt_ms_resend_pubrel + m.dup = True + else: + if m.state == mqtt_ms_wait_for_pubrec: + m.dup = True + m.state = mqtt_ms_publish + else: + m.state = mqtt_ms_queued + + def _messages_reconnect_reset_in(self): + with self._in_message_mutex: + for m in self._in_messages: + m.timestamp = 0 + if m.qos != 2: + self._in_messages.pop(self._in_messages.index(m)) + else: + # Preserve current state + pass + + def _messages_reconnect_reset(self): + self._messages_reconnect_reset_out() + self._messages_reconnect_reset_in() + + def _packet_queue(self, command, packet, mid, qos, info=None): + mpkt = { + 'command': command, + 'mid': mid, + 'qos': qos, + 'pos': 0, + 'to_process': len(packet), + 'packet': packet, + 'info': info} + + with self._out_packet_mutex: + self._out_packet.append(mpkt) + if self._current_out_packet_mutex.acquire(False): + if self._current_out_packet is None and len(self._out_packet) > 0: + self._current_out_packet = self._out_packet.popleft() + self._current_out_packet_mutex.release() + + # Write a single byte to sockpairW (connected to sockpairR) to break + # out of select() if in threaded mode. + try: + self._sockpairW.send(sockpair_data) + except socket.error as err: + if err.errno != EAGAIN: + raise + + if self._thread is None: + if self._in_callback.acquire(False): + self._in_callback.release() + return self.loop_write() + + return MQTT_ERR_SUCCESS + + def _packet_handle(self): + cmd = self._in_packet['command'] & 0xF0 + if cmd == PINGREQ: + return self._handle_pingreq() + elif cmd == PINGRESP: + return self._handle_pingresp() + elif cmd == PUBACK: + return self._handle_pubackcomp("PUBACK") + elif cmd == PUBCOMP: + return self._handle_pubackcomp("PUBCOMP") + elif cmd == PUBLISH: + return self._handle_publish() + elif cmd == PUBREC: + return self._handle_pubrec() + elif cmd == PUBREL: + return self._handle_pubrel() + elif cmd == CONNACK: + return self._handle_connack() + elif cmd == SUBACK: + return self._handle_suback() + elif cmd == UNSUBACK: + return self._handle_unsuback() + else: + # If we don't recognise the command, return an error straight away. + self._easy_log(MQTT_LOG_ERR, "Error: Unrecognised command %s", cmd) + return MQTT_ERR_PROTOCOL + + def _handle_pingreq(self): + if self._strict_protocol: + if self._in_packet['remaining_length'] != 0: + return MQTT_ERR_PROTOCOL + + self._easy_log(MQTT_LOG_DEBUG, "Received PINGREQ") + return self._send_pingresp() + + def _handle_pingresp(self): + if self._strict_protocol: + if self._in_packet['remaining_length'] != 0: + return MQTT_ERR_PROTOCOL + + # No longer waiting for a PINGRESP. + self._ping_t = 0 + self._easy_log(MQTT_LOG_DEBUG, "Received PINGRESP") + return MQTT_ERR_SUCCESS + + def _handle_connack(self): + if self._strict_protocol: + if self._in_packet['remaining_length'] != 2: + return MQTT_ERR_PROTOCOL + + if len(self._in_packet['packet']) != 2: + return MQTT_ERR_PROTOCOL + + (flags, result) = struct.unpack("!BB", self._in_packet['packet']) + if result == CONNACK_REFUSED_PROTOCOL_VERSION and self._protocol == MQTTv311: + self._easy_log( + MQTT_LOG_DEBUG, + "Received CONNACK (%s, %s), attempting downgrade to MQTT v3.1.", + flags, result + ) + # Downgrade to MQTT v3.1 + self._protocol = MQTTv31 + return self.reconnect() + + if result == 0: + self._state = mqtt_cs_connected + self._reconnect_delay = None + + self._easy_log(MQTT_LOG_DEBUG, "Received CONNACK (%s, %s)", flags, result) + + with self._callback_mutex: + if self.on_connect: + flags_dict = {} + flags_dict['session present'] = flags & 0x01 + with self._in_callback: + self.on_connect(self, self._userdata, flags_dict, result) + + if result == 0: + rc = 0 + with self._out_message_mutex: + for m in self._out_messages: + m.timestamp = time_func() + if m.state == mqtt_ms_queued: + self.loop_write() # Process outgoing messages that have just been queued up + return MQTT_ERR_SUCCESS + + if m.qos == 0: + with self._in_callback: # Don't call loop_write after _send_publish() + rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup) + if rc != 0: + return rc + elif m.qos == 1: + if m.state == mqtt_ms_publish: + self._inflight_messages += 1 + m.state = mqtt_ms_wait_for_puback + with self._in_callback: # Don't call loop_write after _send_publish() + rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup) + if rc != 0: + return rc + elif m.qos == 2: + if m.state == mqtt_ms_publish: + self._inflight_messages += 1 + m.state = mqtt_ms_wait_for_pubrec + with self._in_callback: # Don't call loop_write after _send_publish() + rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup) + if rc != 0: + return rc + elif m.state == mqtt_ms_resend_pubrel: + self._inflight_messages += 1 + m.state = mqtt_ms_wait_for_pubcomp + with self._in_callback: # Don't call loop_write after _send_publish() + rc = self._send_pubrel(m.mid, m.dup) + if rc != 0: + return rc + self.loop_write() # Process outgoing messages that have just been queued up + + return rc + elif result > 0 and result < 6: + return MQTT_ERR_CONN_REFUSED + else: + return MQTT_ERR_PROTOCOL + + def _handle_suback(self): + self._easy_log(MQTT_LOG_DEBUG, "Received SUBACK") + pack_format = "!H" + str(len(self._in_packet['packet']) - 2) + 's' + (mid, packet) = struct.unpack(pack_format, self._in_packet['packet']) + pack_format = "!" + "B" * len(packet) + granted_qos = struct.unpack(pack_format, packet) + + with self._callback_mutex: + if self.on_subscribe: + with self._in_callback: # Don't call loop_write after _send_publish() + self.on_subscribe(self, self._userdata, mid, granted_qos) + + return MQTT_ERR_SUCCESS + + def _handle_publish(self): + rc = 0 + + header = self._in_packet['command'] + message = MQTTMessage() + message.dup = (header & 0x08) >> 3 + message.qos = (header & 0x06) >> 1 + message.retain = (header & 0x01) + + pack_format = "!H" + str(len(self._in_packet['packet']) - 2) + 's' + (slen, packet) = struct.unpack(pack_format, self._in_packet['packet']) + pack_format = '!' + str(slen) + 's' + str(len(packet) - slen) + 's' + (topic, packet) = struct.unpack(pack_format, packet) + + if len(topic) == 0: + return MQTT_ERR_PROTOCOL + + # Handle topics with invalid UTF-8 + # This replaces an invalid topic with a message and the hex + # representation of the topic for logging. When the user attempts to + # access message.topic in the callback, an exception will be raised. + if sys.version_info[0] >= 3: + try: + print_topic = topic.decode('utf-8') + except UnicodeDecodeError: + print_topic = "TOPIC WITH INVALID UTF-8: " + str(topic) + else: + print_topic = topic + + message.topic = topic + + if message.qos > 0: + pack_format = "!H" + str(len(packet) - 2) + 's' + (message.mid, packet) = struct.unpack(pack_format, packet) + + message.payload = packet + + self._easy_log( + MQTT_LOG_DEBUG, + "Received PUBLISH (d%d, q%d, r%d, m%d), '%s', ... (%d bytes)", + message.dup, message.qos, message.retain, message.mid, + print_topic, len(message.payload) + ) + + message.timestamp = time_func() + if message.qos == 0: + self._handle_on_message(message) + return MQTT_ERR_SUCCESS + elif message.qos == 1: + rc = self._send_puback(message.mid) + self._handle_on_message(message) + return rc + elif message.qos == 2: + rc = self._send_pubrec(message.mid) + message.state = mqtt_ms_wait_for_pubrel + with self._in_message_mutex: + if message not in self._in_messages: + self._in_messages.append(message) + return rc + else: + return MQTT_ERR_PROTOCOL + + def _handle_pubrel(self): + if self._strict_protocol: + if self._in_packet['remaining_length'] != 2: + return MQTT_ERR_PROTOCOL + + if len(self._in_packet['packet']) != 2: + return MQTT_ERR_PROTOCOL + + mid, = struct.unpack("!H", self._in_packet['packet']) + self._easy_log(MQTT_LOG_DEBUG, "Received PUBREL (Mid: %d)", mid) + + with self._in_message_mutex: + for i in range(len(self._in_messages)): + if self._in_messages[i].mid == mid: + + # Only pass the message on if we have removed it from the queue - this + # prevents multiple callbacks for the same message. + self._handle_on_message(self._in_messages[i]) + self._in_messages.pop(i) + self._inflight_messages -= 1 + if self._max_inflight_messages > 0: + with self._out_message_mutex: + rc = self._update_inflight() + if rc != MQTT_ERR_SUCCESS: + return rc + + return self._send_pubcomp(mid) + + return MQTT_ERR_SUCCESS + + def _update_inflight(self): + # Dont lock message_mutex here + for m in self._out_messages: + if self._inflight_messages < self._max_inflight_messages: + if m.qos > 0 and m.state == mqtt_ms_queued: + self._inflight_messages += 1 + if m.qos == 1: + m.state = mqtt_ms_wait_for_puback + elif m.qos == 2: + m.state = mqtt_ms_wait_for_pubrec + rc = self._send_publish(m.mid, m.topic, m.payload, m.qos, m.retain, m.dup) + if rc != 0: + return rc + else: + return MQTT_ERR_SUCCESS + return MQTT_ERR_SUCCESS + + def _handle_pubrec(self): + if self._strict_protocol: + if self._in_packet['remaining_length'] != 2: + return MQTT_ERR_PROTOCOL + + mid, = struct.unpack("!H", self._in_packet['packet']) + self._easy_log(MQTT_LOG_DEBUG, "Received PUBREC (Mid: %d)", mid) + + with self._out_message_mutex: + for m in self._out_messages: + if m.mid == mid: + m.state = mqtt_ms_wait_for_pubcomp + m.timestamp = time_func() + return self._send_pubrel(mid, False) + + return MQTT_ERR_SUCCESS + + def _handle_unsuback(self): + if self._strict_protocol: + if self._in_packet['remaining_length'] != 2: + return MQTT_ERR_PROTOCOL + + mid, = struct.unpack("!H", self._in_packet['packet']) + self._easy_log(MQTT_LOG_DEBUG, "Received UNSUBACK (Mid: %d)", mid) + with self._callback_mutex: + if self.on_unsubscribe: + with self._in_callback: + self.on_unsubscribe(self, self._userdata, mid) + return MQTT_ERR_SUCCESS + + def _do_on_publish(self, idx, mid): + with self._callback_mutex: + if self.on_publish: + with self._in_callback: + self.on_publish(self, self._userdata, mid) + + msg = self._out_messages.pop(idx) + if msg.qos > 0: + self._inflight_messages -= 1 + if self._max_inflight_messages > 0: + rc = self._update_inflight() + if rc != MQTT_ERR_SUCCESS: + return rc + msg.info._set_as_published() + return MQTT_ERR_SUCCESS + + def _handle_pubackcomp(self, cmd): + if self._strict_protocol: + if self._in_packet['remaining_length'] != 2: + return MQTT_ERR_PROTOCOL + + mid, = struct.unpack("!H", self._in_packet['packet']) + self._easy_log(MQTT_LOG_DEBUG, "Received %s (Mid: %d)", cmd, mid) + + with self._out_message_mutex: + for i in range(len(self._out_messages)): + try: + if self._out_messages[i].mid == mid: + # Only inform the client the message has been sent once. + rc = self._do_on_publish(i, mid) + return rc + except IndexError: + # Have removed item so i>count. + # Not really an error. + pass + + return MQTT_ERR_SUCCESS + + def _handle_on_message(self, message): + matched = False + with self._callback_mutex: + try: + topic = message.topic + except UnicodeDecodeError: + topic = None + + if topic is not None: + for callback in self._on_message_filtered.iter_match(message.topic): + with self._in_callback: + callback(self, self._userdata, message) + matched = True + + if matched == False and self.on_message: + with self._in_callback: + self.on_message(self, self._userdata, message) + + def _thread_main(self): + self.loop_forever(retry_first_connection=True) + + def _reconnect_wait(self): + # See reconnect_delay_set for details + now = time_func() + with self._reconnect_delay_mutex: + if self._reconnect_delay is None: + self._reconnect_delay = self._reconnect_min_delay + else: + self._reconnect_delay = min( + self._reconnect_delay * 2, + self._reconnect_max_delay, + ) + + target_time = now + self._reconnect_delay + + remaining = target_time - now + while (self._state != mqtt_cs_disconnecting + and not self._thread_terminate + and remaining > 0): + + time.sleep(min(remaining, 1)) + remaining = target_time - time_func() + + +# Compatibility class for easy porting from mosquitto.py. +class Mosquitto(Client): + def __init__(self, client_id="", clean_session=True, userdata=None): + super(Mosquitto, self).__init__(client_id, clean_session, userdata) + + +class WebsocketWrapper(object): + OPCODE_CONTINUATION = 0x0 + OPCODE_TEXT = 0x1 + OPCODE_BINARY = 0x2 + OPCODE_CONNCLOSE = 0x8 + OPCODE_PING = 0x9 + OPCODE_PONG = 0xa + + def __init__(self, socket, host, port, is_ssl, path, extra_headers): + + self.connected = False + + self._ssl = is_ssl + self._host = host + self._port = port + self._socket = socket + self._path = path + + self._sendbuffer = bytearray() + self._readbuffer = bytearray() + + self._requested_size = 0 + self._payload_head = 0 + self._readbuffer_head = 0 + + self._do_handshake(extra_headers) + + def __del__(self): + + self._sendbuffer = None + self._readbuffer = None + + def _do_handshake(self, extra_headers): + + sec_websocket_key = uuid.uuid4().bytes + sec_websocket_key = base64.b64encode(sec_websocket_key) + + websocket_headers = { + "Host": "{self._host:s}:{self._port:d}".format(self=self), + "Upgrade": "websocket", + "Connection": "Upgrade", + "Origin": "https://{self._host:s}:{self._port:d}".format(self=self), + "Sec-WebSocket-Key": sec_websocket_key.decode("utf8"), + "Sec-Websocket-Version": "13", + "Sec-Websocket-Protocol": "mqtt", + } + + # This is checked in ws_set_options so it will either be None, a + # dictionary, or a callable + if isinstance(extra_headers, dict): + websocket_headers.update(extra_headers) + elif callable(extra_headers): + websocket_headers = extra_headers(websocket_headers) + + header = "\r\n".join([ + "GET {self._path} HTTP/1.1".format(self=self), + "\r\n".join("{}: {}".format(i, j) for i, j in websocket_headers.items()), + "\r\n", + ]).encode("utf8") + + self._socket.send(header) + + has_secret = False + has_upgrade = False + + while True: + # read HTTP response header as lines + byte = self._socket.recv(1) + + self._readbuffer.extend(byte) + + # line end + if byte == b"\n": + if len(self._readbuffer) > 2: + # check upgrade + if b"connection" in str(self._readbuffer).lower().encode('utf-8'): + if b"upgrade" not in str(self._readbuffer).lower().encode('utf-8'): + raise WebsocketConnectionError("WebSocket handshake error, connection not upgraded") + else: + has_upgrade = True + + # check key hash + if b"sec-websocket-accept" in str(self._readbuffer).lower().encode('utf-8'): + GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" + + server_hash = self._readbuffer.decode('utf-8').split(": ", 1)[1] + server_hash = server_hash.strip().encode('utf-8') + + client_hash = sec_websocket_key.decode('utf-8') + GUID + client_hash = hashlib.sha1(client_hash.encode('utf-8')) + client_hash = base64.b64encode(client_hash.digest()) + + if server_hash != client_hash: + raise WebsocketConnectionError("WebSocket handshake error, invalid secret key") + else: + has_secret = True + else: + # ending linebreak + break + + # reset linebuffer + self._readbuffer = bytearray() + + # connection reset + elif not byte: + raise WebsocketConnectionError("WebSocket handshake error") + + if not has_upgrade or not has_secret: + raise WebsocketConnectionError("WebSocket handshake error") + + self._readbuffer = bytearray() + self.connected = True + + def _create_frame(self, opcode, data, do_masking=1): + + header = bytearray() + length = len(data) + mask_key = bytearray( + [random.randint(0, 255), random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)]) + mask_flag = do_masking + + # 1 << 7 is the final flag, we don't send continuated data + header.append(1 << 7 | opcode) + + if length < 126: + header.append(mask_flag << 7 | length) + + elif length < 32768: + header.append(mask_flag << 7 | 126) + header += struct.pack("!H", length) + + elif length < 0x8000000000000001: + header.append(mask_flag << 7 | 127) + header += struct.pack("!Q", length) + + else: + raise ValueError("Maximum payload size is 2^63") + + if mask_flag == 1: + for index in range(length): + data[index] ^= mask_key[index % 4] + data = mask_key + data + + return header + data + + def _buffered_read(self, length): + + # try to recv and strore needed bytes + wanted_bytes = length - (len(self._readbuffer) - self._readbuffer_head) + if wanted_bytes > 0: + + data = self._socket.recv(wanted_bytes) + + if not data: + raise socket.error(errno.ECONNABORTED, 0) + else: + self._readbuffer.extend(data) + + if len(data) < wanted_bytes: + raise socket.error(errno.EAGAIN, 0) + + self._readbuffer_head += length + return self._readbuffer[self._readbuffer_head - length:self._readbuffer_head] + + def _recv_impl(self, length): + + # try to decode websocket payload part from data + try: + + self._readbuffer_head = 0 + + result = None + + chunk_startindex = self._payload_head + chunk_endindex = self._payload_head + length + + header1 = self._buffered_read(1) + header2 = self._buffered_read(1) + + opcode = (header1[0] & 0x0f) + maskbit = (header2[0] & 0x80) == 0x80 + lengthbits = (header2[0] & 0x7f) + payload_length = lengthbits + mask_key = None + + # read length + if lengthbits == 0x7e: + + value = self._buffered_read(2) + payload_length, = struct.unpack("!H", value) + + elif lengthbits == 0x7f: + + value = self._buffered_read(8) + payload_length, = struct.unpack("!Q", value) + + # read mask + if maskbit: + mask_key = self._buffered_read(4) + + # if frame payload is shorter than the requested data, read only the possible part + readindex = chunk_endindex + if payload_length < readindex: + readindex = payload_length + + if readindex > 0: + # get payload chunk + payload = self._buffered_read(readindex) + + # unmask only the needed part + if maskbit: + for index in range(chunk_startindex, readindex): + payload[index] ^= mask_key[index % 4] + + result = payload[chunk_startindex:readindex] + self._payload_head = readindex + else: + payload = bytearray() + + # check if full frame arrived and reset readbuffer and payloadhead if needed + if readindex == payload_length: + self._readbuffer = bytearray() + self._payload_head = 0 + + # respond to non-binary opcodes, their arrival is not guaranteed beacause of non-blocking sockets + if opcode == WebsocketWrapper.OPCODE_CONNCLOSE: + frame = self._create_frame(WebsocketWrapper.OPCODE_CONNCLOSE, payload, 0) + self._socket.send(frame) + + if opcode == WebsocketWrapper.OPCODE_PING: + frame = self._create_frame(WebsocketWrapper.OPCODE_PONG, payload, 0) + self._socket.send(frame) + + if opcode == WebsocketWrapper.OPCODE_BINARY: + return result + else: + raise socket.error(errno.EAGAIN, 0) + + except socket.error as err: + + if err.errno == errno.ECONNABORTED: + self.connected = False + return b'' + else: + # no more data + raise + + def _send_impl(self, data): + + # if previous frame was sent successfully + if len(self._sendbuffer) == 0: + # create websocket frame + frame = self._create_frame(WebsocketWrapper.OPCODE_BINARY, bytearray(data)) + self._sendbuffer.extend(frame) + self._requested_size = len(data) + + # try to write out as much as possible + length = self._socket.send(self._sendbuffer) + + self._sendbuffer = self._sendbuffer[length:] + + if len(self._sendbuffer) == 0: + # buffer sent out completely, return with payload's size + return self._requested_size + else: + # couldn't send whole data, request the same data again with 0 as sent length + return 0 + + def recv(self, length): + return self._recv_impl(length) + + def read(self, length): + return self._recv_impl(length) + + def send(self, data): + return self._send_impl(data) + + def write(self, data): + return self._send_impl(data) + + def close(self): + self._socket.close() + + def fileno(self): + return self._socket.fileno() + + def pending(self): + # Fix for bug #131: a SSL socket may still have data available + # for reading without select() being aware of it. + if self._ssl: + return self._socket.pending() + else: + # normal socket rely only on select() + return 0 + + def setblocking(self, flag): + self._socket.setblocking(flag) diff --git a/plugins/MQTTClient/paho/mqtt/matcher.py b/plugins/MQTTClient/paho/mqtt/matcher.py new file mode 100644 index 000000000..6f6103c1a --- /dev/null +++ b/plugins/MQTTClient/paho/mqtt/matcher.py @@ -0,0 +1,78 @@ +class MQTTMatcher(object): + """Intended to manage topic filters including wildcards. + + Internally, MQTTMatcher use a prefix tree (trie) to store + values associated with filters, and has an iter_match() + method to iterate efficiently over all filters that match + some topic name.""" + + class Node(object): + __slots__ = '_children', '_content' + + def __init__(self): + self._children = {} + self._content = None + + def __init__(self): + self._root = self.Node() + + def __setitem__(self, key, value): + """Add a topic filter :key to the prefix tree + and associate it to :value""" + node = self._root + for sym in key.split('/'): + node = node._children.setdefault(sym, self.Node()) + node._content = value + + def __getitem__(self, key): + """Retrieve the value associated with some topic filter :key""" + try: + node = self._root + for sym in key.split('/'): + node = node._children[sym] + if node._content is None: + raise KeyError(key) + return node._content + except KeyError: + raise KeyError(key) + + def __delitem__(self, key): + """Delete the value associated with some topic filter :key""" + lst = [] + try: + parent, node = None, self._root + for k in key.split('/'): + parent, node = node, node._children[k] + lst.append((parent, k, node)) + # TODO + node._content = None + except KeyError: + raise KeyError(key) + else: # cleanup + for parent, k, node in reversed(lst): + if node._children or node._content is not None: + break + del parent._children[k] + + def iter_match(self, topic): + """Return an iterator on all values associated with filters + that match the :topic""" + lst = topic.split('/') + normal = not topic.startswith('$') + def rec(node, i=0): + if i == len(lst): + if node._content is not None: + yield node._content + else: + part = lst[i] + if part in node._children: + for content in rec(node._children[part], i + 1): + yield content + if '+' in node._children and (normal or i > 0): + for content in rec(node._children['+'], i + 1): + yield content + if '#' in node._children and (normal or i > 0): + content = node._children['#']._content + if content is not None: + yield content + return rec(self._root) diff --git a/plugins/MQTTClient/paho/mqtt/publish.py b/plugins/MQTTClient/paho/mqtt/publish.py new file mode 100644 index 000000000..2e3456f53 --- /dev/null +++ b/plugins/MQTTClient/paho/mqtt/publish.py @@ -0,0 +1,216 @@ +# Copyright (c) 2014 Roger Light +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Roger Light - initial API and implementation + +""" +This module provides some helper functions to allow straightforward publishing +of messages in a one-shot manner. In other words, they are useful for the +situation where you have a single/multiple messages you want to publish to a +broker, then disconnect and nothing else is required. +""" + +import paho.mqtt.client as paho +import paho.mqtt as mqtt + + +def _do_publish(client): + """Internal function""" + + message = client._userdata.pop() + + if isinstance(message, dict): + client.publish(**message) + elif isinstance(message, tuple): + client.publish(*message) + else: + raise ValueError('message must be a dict or a tuple') + + +def _on_connect(client, userdata, flags, rc): + """Internal callback""" + #pylint: disable=invalid-name, unused-argument + + if rc == 0: + if len(userdata) > 0: + _do_publish(client) + else: + raise mqtt.MQTTException(paho.connack_string(rc)) + + +def _on_publish(client, userdata, mid): + """Internal callback""" + #pylint: disable=unused-argument + + if len(userdata) == 0: + client.disconnect() + else: + _do_publish(client) + + +def multiple(msgs, hostname="localhost", port=1883, client_id="", keepalive=60, + will=None, auth=None, tls=None, protocol=paho.MQTTv311, + transport="tcp"): + """Publish multiple messages to a broker, then disconnect cleanly. + + This function creates an MQTT client, connects to a broker and publishes a + list of messages. Once the messages have been delivered, it disconnects + cleanly from the broker. + + msgs : a list of messages to publish. Each message is either a dict or a + tuple. + + If a dict, only the topic must be present. Default values will be + used for any missing arguments. The dict must be of the form: + + msg = {'topic':"", 'payload':"", 'qos':, + 'retain':} + topic must be present and may not be empty. + If payload is "", None or not present then a zero length payload + will be published. + If qos is not present, the default of 0 is used. + If retain is not present, the default of False is used. + + If a tuple, then it must be of the form: + ("", "", qos, retain) + + hostname : a string containing the address of the broker to connect to. + Defaults to localhost. + + port : the port to connect to the broker on. Defaults to 1883. + + client_id : the MQTT client id to use. If "" or None, the Paho library will + generate a client id automatically. + + keepalive : the keepalive timeout value for the client. Defaults to 60 + seconds. + + will : a dict containing will parameters for the client: will = {'topic': + "", 'payload':", 'qos':, 'retain':}. + Topic is required, all other parameters are optional and will + default to None, 0 and False respectively. + Defaults to None, which indicates no will should be used. + + auth : a dict containing authentication parameters for the client: + auth = {'username':"", 'password':""} + Username is required, password is optional and will default to None + if not provided. + Defaults to None, which indicates no authentication is to be used. + + tls : a dict containing TLS configuration parameters for the client: + dict = {'ca_certs':"", 'certfile':"", + 'keyfile':"", 'tls_version':"", + 'ciphers':"} + ca_certs is required, all other parameters are optional and will + default to None if not provided, which results in the client using + the default behaviour - see the paho.mqtt.client documentation. + Alternatively, tls input can be an SSLContext object, which will be + processed using the tls_set_context method. + Defaults to None, which indicates that TLS should not be used. + + transport : set to "tcp" to use the default setting of transport which is + raw TCP. Set to "websockets" to use WebSockets as the transport. + """ + + if not isinstance(msgs, list): + raise ValueError('msgs must be a list') + + client = paho.Client(client_id=client_id, + userdata=msgs, protocol=protocol, transport=transport) + + client.on_publish = _on_publish + client.on_connect = _on_connect + + if auth: + username = auth.get('username') + if username: + password = auth.get('password') + client.username_pw_set(username, password) + else: + raise KeyError("The 'username' key was not found, this is " + "required for auth") + + if will is not None: + client.will_set(**will) + + if tls is not None: + if isinstance(tls, dict): + client.tls_set(**tls) + else: + # Assume input is SSLContext object + client.tls_set_context(tls) + + client.connect(hostname, port, keepalive) + client.loop_forever() + + +def single(topic, payload=None, qos=0, retain=False, hostname="localhost", + port=1883, client_id="", keepalive=60, will=None, auth=None, + tls=None, protocol=paho.MQTTv311, transport="tcp"): + """Publish a single message to a broker, then disconnect cleanly. + + This function creates an MQTT client, connects to a broker and publishes a + single message. Once the message has been delivered, it disconnects cleanly + from the broker. + + topic : the only required argument must be the topic string to which the + payload will be published. + + payload : the payload to be published. If "" or None, a zero length payload + will be published. + + qos : the qos to use when publishing, default to 0. + + retain : set the message to be retained (True) or not (False). + + hostname : a string containing the address of the broker to connect to. + Defaults to localhost. + + port : the port to connect to the broker on. Defaults to 1883. + + client_id : the MQTT client id to use. If "" or None, the Paho library will + generate a client id automatically. + + keepalive : the keepalive timeout value for the client. Defaults to 60 + seconds. + + will : a dict containing will parameters for the client: will = {'topic': + "", 'payload':", 'qos':, 'retain':}. + Topic is required, all other parameters are optional and will + default to None, 0 and False respectively. + Defaults to None, which indicates no will should be used. + + auth : a dict containing authentication parameters for the client: + auth = {'username':"", 'password':""} + Username is required, password is optional and will default to None + if not provided. + Defaults to None, which indicates no authentication is to be used. + + tls : a dict containing TLS configuration parameters for the client: + dict = {'ca_certs':"", 'certfile':"", + 'keyfile':"", 'tls_version':"", + 'ciphers':"} + ca_certs is required, all other parameters are optional and will + default to None if not provided, which results in the client using + the default behaviour - see the paho.mqtt.client documentation. + Defaults to None, which indicates that TLS should not be used. + Alternatively, tls input can be an SSLContext object, which will be + processed using the tls_set_context method. + + transport : set to "tcp" to use the default setting of transport which is + raw TCP. Set to "websockets" to use WebSockets as the transport. + """ + + msg = {'topic':topic, 'payload':payload, 'qos':qos, 'retain':retain} + + multiple([msg], hostname, port, client_id, keepalive, will, auth, tls, + protocol, transport) diff --git a/plugins/MQTTClient/paho/mqtt/subscribe.py b/plugins/MQTTClient/paho/mqtt/subscribe.py new file mode 100644 index 000000000..d1d5c17e9 --- /dev/null +++ b/plugins/MQTTClient/paho/mqtt/subscribe.py @@ -0,0 +1,236 @@ +# Copyright (c) 2016 Roger Light +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Roger Light - initial API and implementation + +""" +This module provides some helper functions to allow straightforward subscribing +to topics and retrieving messages. The two functions are simple(), which +returns one or messages matching a set of topics, and callback() which allows +you to pass a callback for processing of messages. +""" + +import paho.mqtt.client as paho +import paho.mqtt as mqtt + + +def _on_connect(client, userdata, flags, rc): + """Internal callback""" + if rc != 0: + raise mqtt.MQTTException(paho.connack_string(rc)) + + if isinstance(userdata['topics'], list): + for topic in userdata['topics']: + client.subscribe(topic, userdata['qos']) + else: + client.subscribe(userdata['topics'], userdata['qos']) + + +def _on_message_callback(client, userdata, message): + """Internal callback""" + userdata['callback'](client, userdata['userdata'], message) + + +def _on_message_simple(client, userdata, message): + """Internal callback""" + + if userdata['msg_count'] == 0: + return + + # Don't process stale retained messages if 'retained' was false + if message.retain and not userdata['retained']: + return + + userdata['msg_count'] = userdata['msg_count'] - 1 + + if userdata['messages'] is None and userdata['msg_count'] == 0: + userdata['messages'] = message + client.disconnect() + return + + userdata['messages'].append(message) + if userdata['msg_count'] == 0: + client.disconnect() + + +def callback(callback, topics, qos=0, userdata=None, hostname="localhost", + port=1883, client_id="", keepalive=60, will=None, auth=None, + tls=None, protocol=paho.MQTTv311, transport="tcp"): + """Subscribe to a list of topics and process them in a callback function. + + This function creates an MQTT client, connects to a broker and subscribes + to a list of topics. Incoming messages are processed by the user provided + callback. This is a blocking function and will never return. + + callback : function of the form "on_message(client, userdata, message)" for + processing the messages received. + + topics : either a string containing a single topic to subscribe to, or a + list of topics to subscribe to. + + qos : the qos to use when subscribing. This is applied to all topics. + + userdata : passed to the callback + + hostname : a string containing the address of the broker to connect to. + Defaults to localhost. + + port : the port to connect to the broker on. Defaults to 1883. + + client_id : the MQTT client id to use. If "" or None, the Paho library will + generate a client id automatically. + + keepalive : the keepalive timeout value for the client. Defaults to 60 + seconds. + + will : a dict containing will parameters for the client: will = {'topic': + "", 'payload':", 'qos':, 'retain':}. + Topic is required, all other parameters are optional and will + default to None, 0 and False respectively. + Defaults to None, which indicates no will should be used. + + auth : a dict containing authentication parameters for the client: + auth = {'username':"", 'password':""} + Username is required, password is optional and will default to None + if not provided. + Defaults to None, which indicates no authentication is to be used. + + tls : a dict containing TLS configuration parameters for the client: + dict = {'ca_certs':"", 'certfile':"", + 'keyfile':"", 'tls_version':"", + 'ciphers':"} + ca_certs is required, all other parameters are optional and will + default to None if not provided, which results in the client using + the default behaviour - see the paho.mqtt.client documentation. + Alternatively, tls input can be an SSLContext object, which will be + processed using the tls_set_context method. + Defaults to None, which indicates that TLS should not be used. + + transport : set to "tcp" to use the default setting of transport which is + raw TCP. Set to "websockets" to use WebSockets as the transport. + """ + + if qos < 0 or qos > 2: + raise ValueError('qos must be in the range 0-2') + + callback_userdata = { + 'callback':callback, + 'topics':topics, + 'qos':qos, + 'userdata':userdata} + + client = paho.Client(client_id=client_id, userdata=callback_userdata, + protocol=protocol, transport=transport) + client.on_message = _on_message_callback + client.on_connect = _on_connect + + if auth: + username = auth.get('username') + if username: + password = auth.get('password') + client.username_pw_set(username, password) + else: + raise KeyError("The 'username' key was not found, this is " + "required for auth") + + if will is not None: + client.will_set(**will) + + if tls is not None: + if isinstance(tls, dict): + client.tls_set(**tls) + else: + # Assume input is SSLContext object + client.tls_set_context(tls) + + client.connect(hostname, port, keepalive) + client.loop_forever() + + +def simple(topics, qos=0, msg_count=1, retained=True, hostname="localhost", + port=1883, client_id="", keepalive=60, will=None, auth=None, + tls=None, protocol=paho.MQTTv311, transport="tcp"): + """Subscribe to a list of topics and return msg_count messages. + + This function creates an MQTT client, connects to a broker and subscribes + to a list of topics. Once "msg_count" messages have been received, it + disconnects cleanly from the broker and returns the messages. + + topics : either a string containing a single topic to subscribe to, or a + list of topics to subscribe to. + + qos : the qos to use when subscribing. This is applied to all topics. + + msg_count : the number of messages to retrieve from the broker. + if msg_count == 1 then a single MQTTMessage will be returned. + if msg_count > 1 then a list of MQTTMessages will be returned. + + retained : If set to True, retained messages will be processed the same as + non-retained messages. If set to False, retained messages will + be ignored. This means that with retained=False and msg_count=1, + the function will return the first message received that does + not have the retained flag set. + + hostname : a string containing the address of the broker to connect to. + Defaults to localhost. + + port : the port to connect to the broker on. Defaults to 1883. + + client_id : the MQTT client id to use. If "" or None, the Paho library will + generate a client id automatically. + + keepalive : the keepalive timeout value for the client. Defaults to 60 + seconds. + + will : a dict containing will parameters for the client: will = {'topic': + "", 'payload':", 'qos':, 'retain':}. + Topic is required, all other parameters are optional and will + default to None, 0 and False respectively. + Defaults to None, which indicates no will should be used. + + auth : a dict containing authentication parameters for the client: + auth = {'username':"", 'password':""} + Username is required, password is optional and will default to None + if not provided. + Defaults to None, which indicates no authentication is to be used. + + tls : a dict containing TLS configuration parameters for the client: + dict = {'ca_certs':"", 'certfile':"", + 'keyfile':"", 'tls_version':"", + 'ciphers':"} + ca_certs is required, all other parameters are optional and will + default to None if not provided, which results in the client using + the default behaviour - see the paho.mqtt.client documentation. + Alternatively, tls input can be an SSLContext object, which will be + processed using the tls_set_context method. + Defaults to None, which indicates that TLS should not be used. + + transport : set to "tcp" to use the default setting of transport which is + raw TCP. Set to "websockets" to use WebSockets as the transport. + """ + + if msg_count < 1: + raise ValueError('msg_count must be > 0') + + # Set ourselves up to return a single message if msg_count == 1, or a list + # if > 1. + if msg_count == 1: + messages = None + else: + messages = [] + + userdata = {'retained':retained, 'msg_count':msg_count, 'messages':messages} + + callback(_on_message_simple, topics, qos, userdata, hostname, port, + client_id, keepalive, will, auth, tls, protocol, transport) + + return userdata['messages'] diff --git a/plugins/MceRemote/__init__.py b/plugins/MceRemote/__init__.py index 06177e59c..f85d71ab1 100644 --- a/plugins/MceRemote/__init__.py +++ b/plugins/MceRemote/__init__.py @@ -54,6 +54,7 @@ import wx import os import _winreg as reg +import tempfile from threading import Timer from msvcrt import get_osfhandle @@ -384,12 +385,12 @@ class TransmitIr(eg.ActionBase): name = "Transmit IR" def __call__(self, code=""): - tmpFile = os.tmpfile() - tmpFile.write(code) - tmpFile.seek(0) - self.plugin.msgThread.dll.MceIrPlaybackFromFile( - get_osfhandle(tmpFile.fileno()) - ) + with tempfile.TemporaryFile() as tmpFile: + tmpFile.write(code) + tmpFile.seek(0) + self.plugin.msgThread.dll.MceIrPlaybackFromFile( + get_osfhandle(tmpFile.fileno()) + ) def Configure(self, code=""): diff --git a/plugins/MceRemote_Vista/__init__.py b/plugins/MceRemote_Vista/__init__.py index c33bd1dbd..c28e003c1 100644 --- a/plugins/MceRemote_Vista/__init__.py +++ b/plugins/MceRemote_Vista/__init__.py @@ -227,16 +227,16 @@ def GotCode(self, freqs, code): if self.tryes==0: self.firstLength=len(self.code1[self.tryes]) self.tryes+=1 - print "IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!" + eg.Print("IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!") elif len(self.code1[self.tryes])==self.firstLength: self.tryes+=1 - print "IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!" + eg.Print("IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!") else: del self.code1[-1] - print "IR ERROR: Length of the latest IR code is not equal to the length of the first IR code, please try again!" + eg.Print("IR ERROR: Length of the latest IR code is not equal to the length of the first IR code, please try again!") if self.tryes==self.maxTryes: self.tryes=0 - print "IR: calculating..." + eg.Print("IR: calculating...") time.sleep(1) for i in range(self.maxTryes): if i==0: @@ -259,16 +259,16 @@ def GotCode(self, freqs, code): if self.tryes==0: self.firstLength=len(self.code1[self.tryes]) self.tryes+=1 - print "IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!" + eg.Print("IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!") elif len(self.code1[self.tryes])==self.firstLength: self.tryes+=1 - print "IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!" + eg.Print("IR: "+str(self.tryes)+"/"+str(self.maxTryes)+" IR codes received successfully!") else: - print "IR ERROR: Length of the latest IR code is not equal to the length of the first IR code, aborting Learn!" + eg.Print("IR ERROR: Length of the latest IR code is not equal to the length of the first IR code, aborting Learn!") self.exit = 1 if self.tryes==self.maxTryes and self.exit==0: self.tryes=0 - print "IR: calculating..." + eg.Print("IR: calculating...") for i in range(self.maxTryes): if i==0: finalList1=self.code1[i].split(" ") @@ -493,7 +493,7 @@ def LearnIR(self, correctnessCount, dialog): self.freqs = [0] self.result = [] self.learnDialog = IRLearnDialog(correctnessCount, dialog) - print "IR: Starting to learn code" + eg.Print("IR: Starting to learn code") if dialog: self.learnDialog.ShowModal() else: @@ -501,7 +501,7 @@ def LearnIR(self, correctnessCount, dialog): time.sleep(1) if self.learnDialog.exit == 1: code = self.learnDialog.code - print "IR: Done!" + eg.Print("IR: Done!") #self.learnDialog.Destroy() self.ChangeReceiveMode("n".encode("ascii")) #reset some variables for normal processing diff --git a/plugins/MediaMonkey/__init__.py b/plugins/MediaMonkey/__init__.py index 6c9ffb874..d89929581 100644 --- a/plugins/MediaMonkey/__init__.py +++ b/plugins/MediaMonkey/__init__.py @@ -1428,7 +1428,7 @@ def Configure(self, events = 4 * [True] + 23 * [False], events2 = 8*[True]): for i in range(len(events2)): events2Ctrl.Check(i, events2[i]) - Sizer = wx.FlexGridSizer(2, 2, 1, 10) + Sizer = wx.FlexGridSizer(rows=2, cols=2, vgap=1, hgap=10) Sizer.AddGrowableRow(1) Sizer.AddGrowableCol(0) Sizer.AddGrowableCol(1) @@ -2346,7 +2346,7 @@ def onResCtrl(evt = None): line = wx.StaticLine(panel, -1, size=(440,-1), style=wx.LI_HORIZONTAL) panelSizer = panel.sizer bottomSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer=wx.FlexGridSizer(2,2) + mainSizer=wx.FlexGridSizer(rows=2, cols=2, vgap=0, hgap=0) leftSizer=wx.BoxSizer(wx.VERTICAL) rightSizer=wx.BoxSizer(wx.VERTICAL) @@ -2496,7 +2496,7 @@ def onResCtrl(evt = None): panelSizer = panel.sizer bottomSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer=wx.FlexGridSizer(2,2) + mainSizer=wx.FlexGridSizer(rows=2, cols=2, vgap=0, hgap=0) leftSizer=wx.BoxSizer(wx.VERTICAL) rightSizer=wx.BoxSizer(wx.VERTICAL) @@ -2619,7 +2619,7 @@ def onResCtrl(evt = None): line = wx.StaticLine(panel, -1, size=(440,-1), style=wx.LI_HORIZONTAL) panelSizer = panel.sizer bottomSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer=wx.FlexGridSizer(2,2) + mainSizer=wx.FlexGridSizer(rows=2, cols=2, vgap=0, hgap=0) leftSizer=wx.BoxSizer(wx.VERTICAL) rightSizer=wx.BoxSizer(wx.VERTICAL) @@ -2746,7 +2746,7 @@ def onResCtrl(evt = None): # originalCtrl.SetValue(original) panelSizer = panel.sizer bottomSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer=wx.FlexGridSizer(2,2) + mainSizer=wx.FlexGridSizer(rows=2, cols=2, vgap=0, hgap=0) leftSizer=wx.BoxSizer(wx.VERTICAL) rightSizer=wx.BoxSizer(wx.VERTICAL) bottomSizer.Add(sepLabel,0,wx.TOP,4) @@ -3942,8 +3942,8 @@ def Configure(self,repeat=2,shuffle=2,crossfade=2,clear = True, filePath='', sto Sizer = panel.sizer sizes = [] - sizes.append(panel.GetTextExtent(txt.saveButton)[0]) - sizes.append(panel.GetTextExtent(txt.openButton)[0]) + sizes.append(panel.GetFullTextExtent(txt.saveButton)[0]) + sizes.append(panel.GetFullTextExtent(txt.openButton)[0]) w=max(sizes)+24 exportButton = wx.Button(panel, -1, txt.saveButton, size = ((w,-1))) exportButton.SetToolTip(wx.ToolTip(txt.baloonBttn[0])) @@ -4079,8 +4079,8 @@ def Configure(self,clear=False,filePath='',stop = True): filePathCtrl.SetValue(filePath) Sizer = panel.sizer sizes = [] - sizes.append(panel.GetTextExtent(txt.saveButton)[0]) - sizes.append(panel.GetTextExtent(txt.openButton)[0]) + sizes.append(panel.GetFullTextExtent(txt.saveButton)[0]) + sizes.append(panel.GetFullTextExtent(txt.openButton)[0]) w=max(sizes)+24 exportButton = wx.Button(panel, -1, txt.saveButton, size=((w,-1))) exportButton.SetToolTip(wx.ToolTip(txt.baloonBttn[0])) @@ -4244,8 +4244,6 @@ def ShowJukeboxFrame( self.text = self.plugin.text mainSizer = wx.BoxSizer(wx.VERTICAL) centralSizer = wx.GridBagSizer(10, 10) - centralSizer.AddGrowableRow(0) - centralSizer.AddGrowableCol(1) if case == 'Album': cols = self.text.labelsA else: @@ -4264,6 +4262,8 @@ def ShowJukeboxFrame( centralSizer.Add(self.playButton,(1,0), flag = wx.ALIGN_LEFT) self.closeButton = wx.Button(self, -1, self.text.close) centralSizer.Add(self.closeButton,(1,2), flag = wx.ALIGN_RIGHT) + centralSizer.AddGrowableRow(0) + centralSizer.AddGrowableCol(1) self.itemListCtrl.Bind(wx.EVT_COMMAND_RIGHT_CLICK, self.OnRightClick) self.itemListCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.ListSelection) @@ -4282,7 +4282,6 @@ def OnSize(event): def OnCloseWindow(event): eg.Unbind("MediaMonkey.jukebox",self.CompleteForm) self.Show(False) - self.MakeModal(False) self.Destroy() event.Skip() @@ -4295,9 +4294,8 @@ def OnCloseWindow(event): sizes = (55,200,200) for i in range(3): self.itemListCtrl.SetColumnWidth(i, sizes[i]) - self.SetDimensions(-1, -1, 504, 400, sizeFlags=wx.SIZE_AUTO) + self.SetSize(-1, -1, 504, 400, sizeFlags=wx.SIZE_AUTO) self.Bind(wx.EVT_SIZE, OnSize) - self.MakeModal(True) self.Show(True) self.RefreshList() @@ -4322,9 +4320,9 @@ def CompleteForm(self,evt=None): albums = file.readlines() for album in albums: item = album.split('\t') - self.itemListCtrl.InsertStringItem(row,item[0]) - self.itemListCtrl.SetStringItem(row, 1,item[1]) - self.itemListCtrl.SetStringItem(row, 2, item[2][:-1]) + self.itemListCtrl.InsertItem(row,item[0]) + self.itemListCtrl.SetItem(row, 1,item[1]) + self.itemListCtrl.SetItem(row, 2, item[2][:-1]) row += 1 file.close() if self.patientFrame: @@ -4360,7 +4358,7 @@ def onPlayButton(self, evt): def OnRightClick(self, event): if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() + self.popupID1 = wx.NewIdRef() self.Bind(wx.EVT_MENU, self.onPlayButton, id=self.popupID1) @@ -4402,9 +4400,6 @@ def ShowUnaccessibleTracksFrame( self.text = self.plugin.text mainSizer = wx.BoxSizer(wx.VERTICAL) centralSizer = wx.GridBagSizer(10, 10) - centralSizer.AddGrowableRow(0) - centralSizer.AddGrowableCol(1) - centralSizer.AddGrowableCol(3) cols = self.text.labelsU self.itemListCtrl = wx.ListCtrl(self, -1, style=wx.LC_REPORT | wx.VSCROLL | wx.HSCROLL) for i, label in enumerate(cols): @@ -4422,6 +4417,9 @@ def ShowUnaccessibleTracksFrame( centralSizer.Add(self.refreshButton,(1,2), flag = wx.ALIGN_CENTER) self.closeButton = wx.Button(self, -1, self.text.close) centralSizer.Add(self.closeButton,(1,4), flag = wx.ALIGN_RIGHT) + centralSizer.AddGrowableRow(0) + centralSizer.AddGrowableCol(1) + centralSizer.AddGrowableCol(3) self.itemListCtrl.Bind(wx.EVT_COMMAND_RIGHT_CLICK, self.OnRightClick) self.itemListCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.ListSelection) @@ -4440,7 +4438,6 @@ def OnSize(event): def OnCloseWindow(event): eg.Unbind("MediaMonkey.unaccessible",self.CompleteForm) self.Show(False) - self.MakeModal(False) self.Destroy() self.parent.frameIsOpen = False @@ -4455,9 +4452,8 @@ def OnCloseWindow(event): sizes = (55,100,300) for i in range(2): self.itemListCtrl.SetColumnWidth(i, sizes[i]) - self.SetDimensions(-1, -1, 504, 400, sizeFlags=wx.SIZE_AUTO) + self.SetSize(-1, -1, 504, 400, sizeFlags=wx.SIZE_AUTO) self.Bind(wx.EVT_SIZE, OnSize) - self.MakeModal(True) self.Show(True) self.onRefreshButton() @@ -4513,16 +4509,15 @@ def onRefreshButton(self,evt=None): evt.Skip() def CompleteForm(self,evt=None): -# self.MakeModal(True) if isfile(self.filePath): file = codecs.open(self.filePath,encoding='utf-8', mode='r',errors='replace') tracks = file.readlines() row = 0 for track in tracks: item = track.split('\t') - self.itemListCtrl.InsertStringItem(row,item[0]) - self.itemListCtrl.SetStringItem(row, 1,item[1]) - self.itemListCtrl.SetStringItem(row, 2,item[2][:-1]) + self.itemListCtrl.InsertItem(row,item[0]) + self.itemListCtrl.SetItem(row, 1,item[1]) + self.itemListCtrl.SetItem(row, 2,item[2][:-1]) row += 1 file.close() if self.patientFrame: @@ -4532,7 +4527,7 @@ def CompleteForm(self,evt=None): def OnRightClick(self, event): if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() + self.popupID1 = wx.NewIdRef() self.Bind(wx.EVT_MENU, self.onDeleteButton, id=self.popupID1) diff --git a/plugins/MediaPlayerClassic/__init__.py b/plugins/MediaPlayerClassic/__init__.py index 2837f70b3..5dfb246ef 100644 --- a/plugins/MediaPlayerClassic/__init__.py +++ b/plugins/MediaPlayerClassic/__init__.py @@ -339,6 +339,7 @@ def __init__(self): def OnFacename(self, fontname): if not fontname.startswith("@"): self.fontList.append(fontname) + return True #=============================================================================== def GetSec(timeStr): @@ -471,7 +472,7 @@ def OnDragOver(self, x, y, dragResult): def OnData(self, dummyX, dummyY, dragResult): if self.GetData() and self.customData.GetDataSize() > 0: - txt = self.customData.GetData() + txt = self.customData.GetData().tobytes() ix, evtList = self.object.GetEvtList() flag = True for lst in evtList: @@ -479,10 +480,13 @@ def OnData(self, dummyX, dummyY, dragResult): flag = False break if flag: - self.object.InsertImageStringItem(len(evtList[ix]), txt, 0) + self.object.InsertItem(index=len(evtList[ix]), label=txt, imageIndex=0) self.object.UpdateEvtList(ix, txt) + return wx.DragCopy else: - PlaySound('SystemExclamation', SND_ASYNC) + wx.Bell() + return wx.DragNone + return wx.DragError def OnLeave(self): @@ -502,7 +506,7 @@ def __init__(self, parent, id, evtList, ix, plugin): self.plugin = plugin self.sel = -1 self.il = wx.ImageList(16, 16) - self.il.Add(wx.BitmapFromImage(wx.Image(join(eg.imagesDir, "event.png"), wx.BITMAP_TYPE_PNG))) + self.il.Add(wx.Bitmap(wx.Image(join(eg.imagesDir, "event.png"), wx.BITMAP_TYPE_PNG))) self.SetImageList(self.il, wx.IMAGE_LIST_SMALL) self.InsertColumn(0, '') self.SetColumnWidth(0, width - 5 - SYS_VSCROLL_X) @@ -511,7 +515,7 @@ def __init__(self, parent, id, evtList, ix, plugin): self.Bind(wx.EVT_LIST_INSERT_ITEM, self.OnChange) self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnChange) self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick) - self.SetToolTipString(self.plugin.text.toolTip) + self.SetToolTip(self.plugin.text.toolTip) def OnSelect(self, event): @@ -529,8 +533,8 @@ def OnChange(self, event): def OnRightClick(self, event): if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() - self.popupID2 = wx.NewId() + self.popupID1 = wx.NewIdRef() + self.popupID2 = wx.NewIdRef() self.Bind(wx.EVT_MENU, self.OnDeleteButton, id=self.popupID1) self.Bind(wx.EVT_MENU, self.OnDeleteAllButton, id=self.popupID2) # make a menu @@ -750,7 +754,7 @@ def ShowGoToFrame( x,y,ws,hs = monDim[monitor] except IndexError: x,y,ws,hs = monDim[0] - width,height = self.GetSizeTuple() + width,height = self.GetSize() x_pos = x + (ws - width)/2 y_pos = y + (hs - height)/2 self.SetPosition((x_pos,y_pos) ) @@ -758,7 +762,7 @@ def ShowGoToFrame( self.gotoLbl.SetFocus() if self.flag: self.timer=MyTimer(t = 5.0, plugin = self.plugin) - wx.Yield() + wx.GetApp().Yield() SetEvent(event) @@ -875,31 +879,31 @@ def ShowMenuEventsDialog(self, title, labels): sizer.SetMinSize((450, 308)) topSizer=wx.GridBagSizer(2, 20) textLbl_0=wx.StaticText(self, -1, labels[0]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_0 = EventListCtrl(self, id, self.evtList, 0, self.plugin) eventsCtrl_0.SetItems(self.evtList[0]) dt0 = MyTextDropTarget(eventsCtrl_0) eventsCtrl_0.SetDropTarget(dt0) textLbl_1=wx.StaticText(self, -1, labels[1]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_1 = EventListCtrl(self, id, self.evtList, 1, self.plugin) eventsCtrl_1.SetItems(self.evtList[1]) dt1 = MyTextDropTarget(eventsCtrl_1) eventsCtrl_1.SetDropTarget(dt1) textLbl_2=wx.StaticText(self, -1, labels[2]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_2 = EventListCtrl(self, id, self.evtList, 2, self.plugin) eventsCtrl_2.SetItems(self.evtList[2]) dt2 = MyTextDropTarget(eventsCtrl_2) eventsCtrl_2.SetDropTarget(dt2) textLbl_3=wx.StaticText(self, -1, labels[3]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_3 = EventListCtrl(self, id, self.evtList, 3, self.plugin) eventsCtrl_3.SetItems(self.evtList[3]) dt3 = MyTextDropTarget(eventsCtrl_3) eventsCtrl_3.SetDropTarget(dt3) textLbl_4=wx.StaticText(self, -1, labels[4]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_4 = EventListCtrl(self, id, self.evtList, 4, self.plugin) eventsCtrl_4.SetItems(self.evtList[4]) dt4 = MyTextDropTarget(eventsCtrl_4) @@ -1057,7 +1061,7 @@ def DrawMenu(self, ix): # menu width calculation: width_lst=[] for item in self.choices: - width_lst.append(self.GetTextExtent(item+' ')[0]) + width_lst.append(self.GetFullTextExtent(item+' ')[0]) width = max(width_lst)+8 self.menuGridCtrl.SetColSize(0,self.w0) self.menuGridCtrl.SetColSize(1,width) @@ -1073,8 +1077,8 @@ def DrawMenu(self, ix): width += 6 x_pos = x + (ws - width)/2 y_pos = y + (hs - height)/2 - self.SetDimensions(x_pos,y_pos,width,height) - self.menuGridCtrl.SetDimensions(2,2,width-6,height-6,wx.SIZE_AUTO) + self.SetSize(x_pos, y_pos, width, height) + self.menuGridCtrl.SetSize(2, 2, width-6, height-6, wx.SIZE_AUTO) self.Show(True) self.Raise() @@ -1134,20 +1138,20 @@ def ShowMenu( self.Bind(wx.EVT_CLOSE, self.onClose) self.Bind(gridlib.EVT_GRID_CMD_CELL_LEFT_DCLICK, self.onDoubleClick, self.menuGridCtrl) self.Bind(wx.EVT_CHAR_HOOK, self.onFrameCharHook) - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) self.menuGridCtrl.SetFont(font) - arial = wx.FontFromNativeInfoString(arialInfoString) + arial = wx.Font(arialInfoString) self.SetFont(font) - hght = self.GetTextExtent('X')[1] + hght = self.GetFullTextExtent('X')[1] for n in range(1,1000): arial.SetPointSize(n) self.SetFont(arial) - h = self.GetTextExtent(u"\u25a0")[1] + h = self.GetFullTextExtent(u"\u25a0")[1] if h > hght: break arial.SetPointSize(2*n/3) self.SetFont(arial) - self.w0 = 2 * self.GetTextExtent(u"\u25a0")[0] + self.w0 = 2 * self.GetFullTextExtent(u"\u25a0")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) @@ -1155,12 +1159,12 @@ def ShowMenu( for n in range(1,1000): arial.SetPointSize(n) self.SetFont(arial) - h = self.GetTextExtent(u"\u25ba")[1] + h = self.GetFullTextExtent(u"\u25ba")[1] if h > hght: break arial.SetPointSize(n/2) self.SetFont(arial) - self.w2 = 2 * self.GetTextExtent(u"\u25ba")[0] + self.w2 = 2 * self.GetFullTextExtent(u"\u25ba")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_RIGHT, wx.ALIGN_CENTRE) @@ -1174,7 +1178,7 @@ def ShowMenu( if self.flag: self.timer=MyTimer(t = 5.0, plugin = self.plugin) self.DrawMenu(ix) - wx.Yield() + wx.GetApp().Yield() SetEvent(event) @@ -1769,7 +1773,7 @@ def Configure( backSelColourButton = eg.ColourSelectButton(panel,backSel, title = self.text.backgroundSel) #Button Dialog "Menu control - assignement of events" dialogButton = wx.Button(panel,-1,self.text.dialog, size = (w, -1)) - dialogButton.SetToolTipString(self.text.btnToolTip) + dialogButton.SetToolTip(self.text.btnToolTip) foreSelLbl.Enable(not inverted) foreSelColourButton.Enable(not inverted) backSelLbl.Enable(not inverted) @@ -1851,11 +1855,11 @@ def LevelCallback(value): def OnFontFaceChoice(event = None): fnt.SetFaceName(fontFaceCtrl.GetStringSelection()) GoToCtrl.SetFont(fnt) - if GoToCtrl.GetTextExtent("01:25:30")[0] < 120: + if GoToCtrl.GetFullTextExtent("01:25:30")[0] < 120: self.sizeFlag = True else: self.sizeFlag = False - te = GoToCtrl.GetTextExtent("01:25:30") + te = GoToCtrl.GetFullTextExtent("01:25:30") GoToCtrl.SetSize((158, te[1])) GoToCtrl.SetPosition((1, 5+gt[1]+(sz[1]-gt[1]-te[1])/2)) pos = 3 @@ -2080,25 +2084,25 @@ def Configure( #Font button fontLbl=wx.StaticText(panel, -1, self.text.menuFont) fontButton = eg.FontSelectButton(panel, value = fontInfo) - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) - arial = wx.FontFromNativeInfoString(arialInfoString) + arial = wx.Font(arialInfoString) fontButton.SetFont(font) for n in range(1,1000): arial.SetPointSize(n) fontButton.SetFont(arial) - h = fontButton.GetTextExtent(u"\u25a0")[1] + h = fontButton.GetFullTextExtent(u"\u25a0")[1] if h > hght: break arial.SetPointSize(2*n/3) fontButton.SetFont(arial) - w0 = 2 * fontButton.GetTextExtent(u"\u25a0")[0] + w0 = 2 * fontButton.GetFullTextExtent(u"\u25a0")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) @@ -2106,12 +2110,12 @@ def Configure( for n in range(1,1000): arial.SetPointSize(n) fontButton.SetFont(arial) - h = fontButton.GetTextExtent(u"\u25ba")[1] + h = fontButton.GetFullTextExtent(u"\u25ba")[1] if h > hght: break arial.SetPointSize(n/2) fontButton.SetFont(arial) - w2 = 2 * fontButton.GetTextExtent(u"\u25ba")[0] + w2 = 2 * fontButton.GetFullTextExtent(u"\u25ba")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_RIGHT, wx.ALIGN_CENTRE) @@ -2136,7 +2140,7 @@ def Configure( backSelColourButton = eg.ColourSelectButton(panel,backSel,title = self.text.backgroundSel) #Button Dialog "Menu control - assignement of events" dialogButton = wx.Button(panel,-1,self.text.dialog) - dialogButton.SetToolTipString(self.text.btnToolTip) + dialogButton.SetToolTip(self.text.btnToolTip) foreSelLbl.Enable(not inverted) foreSelColourButton.Enable(not inverted) backSelLbl.Enable(not inverted) @@ -2211,11 +2215,11 @@ def OnDialogBtn(evt): def OnFontBtn(evt): value = evt.GetValue() self.fontInfo = value - font = wx.FontFromNativeInfoString(value) + font = wx.Font(value) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) @@ -2670,11 +2674,11 @@ def __call__(self, value=0): self.plugin.SendCopydata(self.value[0], value) - def Configure(self, value=0): + def Configure(self, value=1): panel = eg.ConfigPanel() label_1 = wx.StaticText(panel,-1,self.text.labels[self.value[1]][0]) label_2 = wx.StaticText(panel,-1,self.text.labels[self.value[1]][1]) - valueCtrl = eg.SpinIntCtrl(panel, -1, value, max=self.value[3],min=self.value[2]) + valueCtrl = eg.SpinIntCtrl(panel, -1, value, max=self.value[3], min=self.value[2]) sizer = wx.FlexGridSizer(1, 3, 5, 10) sizer.Add(label_1,0,wx.TOP,3) sizer.Add(valueCtrl) diff --git a/plugins/Multitap/__init__.py b/plugins/Multitap/__init__.py index 4d9dd53e8..ec8a1f516 100644 --- a/plugins/Multitap/__init__.py +++ b/plugins/Multitap/__init__.py @@ -293,8 +293,8 @@ def onDigitChange(evt): btnDOWN.Enable(False) buttonSizer.Add(btnDOWN,0,wx.TOP,3) #Buttons 'Delete' and 'Insert new' - w1 = panel.GetTextExtent(text.delete)[0] - w2 = panel.GetTextExtent(text.insert)[0] + w1 = panel.GetFullTextExtent(text.delete)[0] + w2 = panel.GetFullTextExtent(text.insert)[0] if w1 > w2: btnDEL=wx.Button(panel,-1,text.delete) btnApp=wx.Button(panel,-1,text.insert,size=btnDEL.GetSize()) @@ -518,8 +518,8 @@ def setOsDialog(): wE,hE = ctrlEvtString.GetTextExtent(' ') if self.mode == 0 or self.mode >= 3: w3,h3 = statTextCapsLock.GetTextExtent('Caps Lock') - w4a = keysLabel.GetTextExtent('88888888')[0] - w4b = keysLabel.GetTextExtent(self.oldKeys)[0] + w4a = keysLabel.GetFullTextExtent('88888888')[0] + w4b = keysLabel.GetFullTextExtent(self.oldKeys)[0] w4 = max(w4a,w4b) else: w3=w4=h3=0 @@ -528,7 +528,7 @@ def setOsDialog(): h = h1+h2+h3+8+16 x_pos = x+(ws-w-16)/2 y_pos = y+(hs-h)/2 - self.osDialog.SetDimensions(x_pos,y_pos,w+16,h) + self.osDialog.SetSize(x_pos, y_pos, w+16, h) ctrlEvtString.SetPosition((7,7+8+h3+h1)) ctrlEvtString.SetSize((w,h2)) statTextEvent.SetPosition((7,7+h3)) @@ -931,8 +931,8 @@ def setValue(item): btnDOWN.Enable(False) topMiddleSizer.Add(btnDOWN,0,wx.TOP,3) #Buttons 'Delete' and 'Insert new' - w1 = panel.GetTextExtent(text.delete)[0] - w2 = panel.GetTextExtent(text.insert)[0] + w1 = panel.GetFullTextExtent(text.delete)[0] + w2 = panel.GetFullTextExtent(text.insert)[0] if w1 > w2: btnDEL=wx.Button(panel,-1,text.delete) btnApp=wx.Button(panel,-1,text.insert,size=btnDEL.GetSize()) diff --git a/plugins/OOo_Impress/__init__.py b/plugins/OOo_Impress/__init__.py index 59069a57d..2a6ac0647 100644 --- a/plugins/OOo_Impress/__init__.py +++ b/plugins/OOo_Impress/__init__.py @@ -86,6 +86,7 @@ import os import wx.grid as gridlib +import wx.adv from os.path import join, exists from copy import deepcopy as cpy from time import sleep @@ -227,7 +228,7 @@ def __init__( self.Bind(wx.EVT_CLOSE, self.onClose) self.Bind(gridlib.EVT_GRID_CMD_CELL_LEFT_DCLICK, self.onDoubleClick, self.menuGridCtrl) self.Bind(wx.EVT_CHAR_HOOK, self.onFrameCharHook) - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) self.menuGridCtrl.SetFont(font) self.SetFont(font) self.SetBackgroundColour((0, 0, 0)) @@ -240,7 +241,7 @@ def __init__( self.menuGridCtrl.Set(self.data) self.DrawMenu() self.plugin.menuDlg = self - wx.Yield() + wx.GetApp().Yield() SetEvent(event) @@ -263,7 +264,7 @@ def DrawMenu(self): # menu width calculation: width_lst=[] for item in self.data: - width_lst.append(self.GetTextExtent(item[0]+' ')[0]) + width_lst.append(self.GetFullTextExtent(item[0]+' ')[0]) width = max(width_lst)+8 self.menuGridCtrl.SetColSize(0,width) self.menuGridCtrl.ForceRefresh() @@ -276,8 +277,8 @@ def DrawMenu(self): width += 6 x_pos = x + (ws - width)/2 y_pos = y + (hs - height)/2 - self.SetDimensions(x_pos,y_pos,width,height) - self.menuGridCtrl.SetDimensions(2, 2, width-6, height-6, wx.SIZE_AUTO) + self.SetSize(x_pos, y_pos, width, height) + self.menuGridCtrl.SetSize(2, 2, width-6, height-6, wx.SIZE_AUTO) self.menuGridCtrl.SelectRow(self.actFileIx) self.menuGridCtrl.MakeCellVisible(self.actFileIx, 0) self.Show(True) @@ -384,7 +385,7 @@ def OnDragOver(self, x, y, dragResult): def OnData(self, dummyX, dummyY, dragResult): if self.GetData() and self.customData.GetDataSize() > 0: - txt = self.customData.GetData() + txt = self.customData.GetData().tobytes() ix, evtList = self.object.GetEvtList() flag = True for lst in evtList: @@ -392,11 +393,13 @@ def OnData(self, dummyX, dummyY, dragResult): flag = False break if flag: - self.object.InsertImageStringItem(len(evtList[ix]), txt, 0) + self.object.InsertItem(index=len(evtList[ix]), label=txt, imageIndex=0) self.object.UpdateEvtList(ix, txt) + return wx.DragCopy else: - PlaySound('SystemExclamation', SND_ASYNC) - + wx.Bell() + return wx.DragNone + return wx.DragError def OnLeave(self): pass @@ -415,7 +418,7 @@ def __init__(self, parent, id, evtList, ix, action): self.action = action self.sel = -1 self.il = wx.ImageList(16, 16) - self.il.Add(wx.BitmapFromImage(wx.Image(join(eg.imagesDir, "event.png"), wx.BITMAP_TYPE_PNG))) + self.il.Add(wx.Bitmap(wx.Image(join(eg.imagesDir, "event.png"), wx.BITMAP_TYPE_PNG))) self.SetImageList(self.il, wx.IMAGE_LIST_SMALL) self.InsertColumn(0, '') self.SetColumnWidth(0, width - 5 - SYS_VSCROLL_X) @@ -424,7 +427,7 @@ def __init__(self, parent, id, evtList, ix, action): self.Bind(wx.EVT_LIST_INSERT_ITEM, self.OnChange) self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnChange) self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick) - self.SetToolTipString(self.action.text.toolTip) + self.SetToolTip(self.action.text.toolTip) def OnSelect(self, event): @@ -442,8 +445,8 @@ def OnChange(self, event): def OnRightClick(self, event): if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() - self.popupID2 = wx.NewId() + self.popupID1 = wx.NewIdRef() + self.popupID2 = wx.NewIdRef() self.Bind(wx.EVT_MENU, self.OnDeleteButton, id=self.popupID1) self.Bind(wx.EVT_MENU, self.OnDeleteAllButton, id=self.popupID2) # make a menu @@ -485,7 +488,7 @@ def UpdateEvtList(self, ix, txt): def SetItems(self, evtList): for i in range(len(evtList)): - self.InsertImageStringItem(i, evtList[i], 0) + self.InsertItem(index=i, label=evtList[i], imageIndex=0) #=============================================================================== class MenuEventsDialog(wx.MiniFrame): @@ -515,25 +518,25 @@ def ShowMenuEventsDialog(self, title, labels): sizer.SetMinSize((450, 308)) topSizer=wx.GridBagSizer(2, 20) textLbl_0=wx.StaticText(self, -1, labels[0]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_0 = EventListCtrl(self, id, self.evtList, 0, self.action) eventsCtrl_0.SetItems(self.evtList[0]) dt0 = MyTextDropTarget(eventsCtrl_0) eventsCtrl_0.SetDropTarget(dt0) textLbl_1=wx.StaticText(self, -1, labels[1]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_1 = EventListCtrl(self, id, self.evtList, 1, self.action) eventsCtrl_1.SetItems(self.evtList[1]) dt1 = MyTextDropTarget(eventsCtrl_1) eventsCtrl_1.SetDropTarget(dt1) textLbl_2=wx.StaticText(self, -1, labels[2]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_2 = EventListCtrl(self, id, self.evtList, 2, self.action) eventsCtrl_2.SetItems(self.evtList[2]) dt2 = MyTextDropTarget(eventsCtrl_2) eventsCtrl_2.SetDropTarget(dt2) textLbl_3=wx.StaticText(self, -1, labels[3]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_3 = EventListCtrl(self, id, self.evtList, 3, self.action) eventsCtrl_3.SetItems(self.evtList[3]) dt3 = MyTextDropTarget(eventsCtrl_3) @@ -745,8 +748,6 @@ def __call__(self, url = None, strt = 0, endless = False, pause = 0): def Configure(self, url = None, start = 1, endless = False, pause = 0): panel = eg.ConfigPanel(self) - sizer = wx.FlexGridSizer(2, 2, 20, 5) - sizer.AddGrowableCol(1) label = wx.StaticText( panel, -1, @@ -762,13 +763,13 @@ def Configure(self, url = None, start = 1, endless = False, pause = 0): -1, self.plugin.text.endless, ) - label3.SetToolTipString(self.plugin.text.endlessToolTip) + label3.SetToolTip(self.plugin.text.endlessToolTip) label4 = wx.StaticText( panel, -1, self.plugin.text.pause, ) - label4.SetToolTipString(self.plugin.text.pauseToolTip) + label4.SetToolTip(self.plugin.text.pauseToolTip) filepathCtrl = MyFileBrowseButton( panel, initialValue = url if (url is not None) else '', @@ -787,7 +788,7 @@ def Configure(self, url = None, start = 1, endless = False, pause = 0): filepathCtrl.GetTextCtrl().SetEditable(False) endlessCtrl = wx.CheckBox(panel, -1, "") endlessCtrl.SetValue(endless) - endlessCtrl.SetToolTipString(self.plugin.text.endlessToolTip) + endlessCtrl.SetToolTip(self.plugin.text.endlessToolTip) def onEndless(evt=None): flag = endlessCtrl.GetValue() @@ -804,10 +805,10 @@ def onEndless(evt=None): min = 0, max = 999 ) - pauseCtrl.SetToolTipString(self.plugin.text.pauseToolTip) + pauseCtrl.SetToolTip(self.plugin.text.pauseToolTip) onEndless() - panel.sizer.Add(sizer, 1, wx.EXPAND|wx.ALL, 10) + sizer = wx.FlexGridSizer(4, 2, 20, 5) sizer.Add(label, 0, wx.TOP, 3) sizer.Add(filepathCtrl, 0, wx.EXPAND) sizer.Add(label2, 0, wx.TOP, 3) @@ -816,6 +817,8 @@ def onEndless(evt=None): sizer.Add(endlessCtrl, 0, wx.EXPAND) sizer.Add(label4, 0, wx.TOP, 3) sizer.Add(pauseCtrl) + sizer.AddGrowableCol(1) + panel.sizer.Add(sizer, 1, wx.EXPAND|wx.ALL, 10) while panel.Affirmed(): panel.SetResult( @@ -959,8 +962,8 @@ def Configure( global panel panel = eg.ConfigPanel(self) panel.evtList = cpy(evtList) - w1 = panel.GetTextExtent(self.text.label)[0] - w2 = panel.GetTextExtent(self.text.path)[0] + w1 = panel.GetFullTextExtent(self.text.label)[0] + w2 = panel.GetFullTextExtent(self.text.path)[0] w = max((w1,w2)) mainSizer = wx.BoxSizer(wx.VERTICAL) topSizer = wx.BoxSizer(wx.HORIZONTAL) @@ -994,11 +997,11 @@ def Configure( font.SetPointSize(36) fontInfo = font.GetNativeFontInfoDesc() else: - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) for n in range(10, 20): font.SetPointSize(n) previewLbl.SetFont(font) - if previewLbl.GetTextExtent('X')[1] >= 28: + if previewLbl.GetFullTextExtent('X')[1] >= 28: font.SetPointSize(n - 4) previewLbl.SetFont(font) break @@ -1011,16 +1014,16 @@ def Configure( -1, self.plugin.text.endless, ) - label3.SetToolTipString(self.plugin.text.endlessToolTip) + label3.SetToolTip(self.plugin.text.endlessToolTip) label4 = wx.StaticText( panel, -1, self.plugin.text.pause, ) - label4.SetToolTipString(self.plugin.text.pauseToolTip) + label4.SetToolTip(self.plugin.text.pauseToolTip) endlessCtrl = wx.CheckBox(panel, -1, "") - endlessCtrl.SetToolTipString(self.plugin.text.endlessToolTip) + endlessCtrl.SetToolTip(self.plugin.text.endlessToolTip) pauseCtrl = eg.SpinIntCtrl( panel, -1, @@ -1028,7 +1031,7 @@ def Configure( min = 0, max = 999 ) - pauseCtrl.SetToolTipString(self.plugin.text.pauseToolTip) + pauseCtrl.SetToolTip(self.plugin.text.pauseToolTip) topSizer.Add(listBoxCtrl,0,wx.EXPAND) topSizer.Add((10,1)) @@ -1081,8 +1084,8 @@ def Configure( btnDOWN.Enable(False) topMiddleSizer.Add(btnDOWN,0,wx.TOP,3) #Buttons 'Delete' and 'Insert new' - w1 = panel.GetTextExtent(self.text.delete)[0] - w2 = panel.GetTextExtent(self.text.insert)[0] + w1 = panel.GetFullTextExtent(self.text.delete)[0] + w2 = panel.GetFullTextExtent(self.text.insert)[0] if w1 > w2: btnDEL=wx.Button(panel,-1,self.text.delete) btnApp=wx.Button(panel,-1,self.text.insert,size=btnDEL.GetSize()) @@ -1273,11 +1276,11 @@ def OnFontBtn(evt): value = evt.GetValue() self.fontInfo = value oldFont = previewLbl.GetFont() - font = wx.FontFromNativeInfoString(value) + font = wx.Font(value) for n in range(10, 20): font.SetPointSize(n) previewLbl.SetFont(font) - if previewLbl.GetTextExtent('X')[1] >= 28: + if previewLbl.GetFullTextExtent('X')[1] >= 28: font.SetPointSize(n - 4) previewLbl.SetFont(font) break @@ -1712,7 +1715,7 @@ def ShowNumLabel(self): self.numDialog.SetBackgroundColour(wx.Colour(0,255,255)) statText.SetForegroundColour(wx.Colour(0,255,255)) statText.SetBackgroundColour(wx.Colour(0, 0, 139)) - w,h = statText.GetTextExtent('8888') + w,h = statText.GetFullTextExtent('8888') self.numDialog.SetSize((w+16,h+16)) statText.SetPosition((7,7)) statText.SetSize((w,h)) diff --git a/plugins/OSE/__init__.py b/plugins/OSE/__init__.py index ce2e205ed..8d366978b 100644 --- a/plugins/OSE/__init__.py +++ b/plugins/OSE/__init__.py @@ -442,11 +442,11 @@ def Configure( #Font button fontLbl=wx.StaticText(panel, -1, self.text.menuFont) fontButton = eg.FontSelectButton(panel, value = fontInfo) - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) @@ -547,11 +547,11 @@ def Configure( def OnFontBtn(evt): value = evt.GetValue() - font = wx.FontFromNativeInfoString(value) + font = wx.Font(value) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) @@ -1180,7 +1180,7 @@ def ShowMenu( self.Bind(wx.EVT_CLOSE, self.onClose) self.Bind(wx.grid.EVT_GRID_CMD_CELL_LEFT_DCLICK, self.onDoubleClick, self.eventChoiceCtrl) self.Bind(wx.EVT_CHAR_HOOK, self.onFrameCharHook) - font = wx.FontFromNativeInfoString(self.fontInfo) + font = wx.Font(self.fontInfo) self.eventChoiceCtrl.SetFont(font) self.SetFont(font) self.SetBackgroundColour((0, 0, 0)) @@ -1207,7 +1207,7 @@ def ShowMenu( # menu width calculation: width_lst=[] for item in self.choices: - width_lst.append(self.GetTextExtent(item+' ')[0]) + width_lst.append(self.GetFullTextExtent(item+' ')[0]) width = max(width_lst)+8 self.eventChoiceCtrl.SetColSize(0,width) if height1 < height0: @@ -1215,8 +1215,8 @@ def ShowMenu( width = min((width,ws-50))+4 x_pos = x+(ws-width)/2 y_pos = y + (hs-height)/2 - self.SetDimensions(x_pos,y_pos,width,height) - self.eventChoiceCtrl.SetDimensions(2,2,width-4,height-4,wx.SIZE_AUTO) + self.SetSize(x_pos, y_pos, width, height) + self.eventChoiceCtrl.SetSize(2, 2, width-4, height-4, wx.SIZE_AUTO) head, tail = os.path.split(self.oldStart) if start != MY_COMPUTER: @@ -1238,7 +1238,7 @@ def ShowMenu( eg.WinApi.Dynamic.ShowWindow(hwnd, 1) # show if event: - wx.Yield() + wx.GetApp().Yield() SetEvent(event) diff --git a/plugins/OSM/__init__.py b/plugins/OSM/__init__.py index a53a57f86..6fe60a4f4 100644 --- a/plugins/OSM/__init__.py +++ b/plugins/OSM/__init__.py @@ -401,11 +401,11 @@ def Configure( font.SetPointSize(36) fontInfo = font.GetNativeFontInfoDesc() else: - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) for n in range(10,20): font.SetPointSize(n) btnUP.SetFont(font) - hght = btnUP.GetTextExtent('X')[1] + hght = btnUP.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) @@ -448,8 +448,8 @@ def Configure( topMiddleSizer.Add(btnUP) topMiddleSizer.Add(btnDOWN,0,wx.TOP,5) #Buttons 'Delete' and 'Insert new' - w1 = panel.GetTextExtent(self.text.delete)[0] - w2 = panel.GetTextExtent(self.text.insert)[0] + w1 = panel.GetFullTextExtent(self.text.delete)[0] + w2 = panel.GetFullTextExtent(self.text.insert)[0] if w1 > w2: btnDEL=wx.Button(panel,-1,self.text.delete) btnApp=wx.Button(panel,-1,self.text.insert,size=btnDEL.GetSize()) @@ -514,11 +514,11 @@ def Configure( def OnFontBtn(evt): value = evt.GetValue() - font = wx.FontFromNativeInfoString(value) + font = wx.Font(value) for n in range(10,20): font.SetPointSize(n) btnUP.SetFont(font) - hght = btnUP.GetTextExtent('X')[1] + hght = btnUP.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) @@ -850,11 +850,11 @@ def Configure( font.SetPointSize(36) fontInfo = font.GetNativeFontInfoDesc() else: - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) @@ -914,11 +914,11 @@ def Configure( def OnFontBtn(evt): value = evt.GetValue() - font = wx.FontFromNativeInfoString(value) + font = wx.Font(value) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent('X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) @@ -1230,7 +1230,7 @@ def __init__( font.SetPointSize(36) fontInfo = font.GetNativeFontInfoDesc() else: - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) self.eventChoiceCtrl.SetFont(font) self.SetFont(font) # menu height calculation: @@ -1244,7 +1244,7 @@ def __init__( # menu width calculation: width_lst=[] for item in choices: - width_lst.append(self.GetTextExtent(item+' ')[0]) + width_lst.append(self.GetFullTextExtent(item+' ')[0]) width = max(width_lst) + 8 self.eventChoiceCtrl.SetColSize(0,width) if height1 < height0: @@ -1252,8 +1252,8 @@ def __init__( width = min((width,ws-50))+6 x_pos = x+(ws-width)/2 y_pos = y + (hs-height)/2 - self.SetDimensions(x_pos,y_pos,width,height) - self.eventChoiceCtrl.SetDimensions(2,2,width-6,height-6,wx.SIZE_AUTO) + self.SetSize(x_pos, y_pos, width, height) + self.eventChoiceCtrl.SetSize(2, 2, width-6, height-6, wx.SIZE_AUTO) mainSizer =wx.BoxSizer(wx.VERTICAL) self.SetSizer(mainSizer) mainSizer.Add(self.eventChoiceCtrl, 0, wx.EXPAND) @@ -1271,7 +1271,7 @@ def __init__( else: self.Show(True) self.Raise() - wx.Yield() + wx.GetApp().Yield() SetEvent(event) diff --git a/plugins/OnkyoISCP/__init__.py b/plugins/OnkyoISCP/__init__.py index 38d6a3b26..78fbc8a17 100644 --- a/plugins/OnkyoISCP/__init__.py +++ b/plugins/OnkyoISCP/__init__.py @@ -101,9 +101,9 @@ def Connect(self): try: s.connect((ip, port)) except Exception as e: - self.PrintError("OnkyoISCP: Failed to connect to " + ip + ":" + str(port) + ": " + str(e)) + self.PrintError(u"OnkyoISCP: Failed to connect to " + ip + u":" + str(port) + ": " + repr(e)) else: - print "Connected to " + ip + ":" + str(port) + print u"Connected to " + ip + u":" + str(port) self.stopThreadEvent = Event() thread = Thread( target = self.Receive, @@ -111,7 +111,7 @@ def Connect(self): thread.start() - def Configure(self, ip="", port="60128", timeout="1"): + def Configure(self, ip="", port=60128, timeout="1"): text = self.text panel = eg.ConfigPanel() wx_ip = panel.TextCtrl(ip) diff --git a/plugins/OpenWeatherMap/__init__.py b/plugins/OpenWeatherMap/__init__.py new file mode 100644 index 000000000..c7c558eab --- /dev/null +++ b/plugins/OpenWeatherMap/__init__.py @@ -0,0 +1,1822 @@ +# -*- coding: utf-8 -*- + +# plugins/OpenWeatherMap/__init__.py +# +# Copyright (C) 2014 Pako +# +# This file is a plugin for EventGhost. +# Copyright (C) 2005-2009 Lars-Peter Voss +# +# EventGhost is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by the +# Free Software Foundation; +# +# EventGhost 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, see . +# +# Changelog (in reverse chronological order): +# ------------------------------------------- +# 0.2 by topic2k +# - made the code more PEP8 conform +# - some fixes/changes for wxPython 3.0 +# 0.1a by Pako 2018-04-21 07:16 GMT+1 +# - test version (forecast) +# 0.1 by Pako 2014-10-16 10:33 GMT+1 +# - bugfix (Sunrise/Sunset event) +# 0.0 by Pako 2014-10-12 09:16 GMT+1 +# - first public version + + +# ============================================================================= + + +import eg + +version = "0.2" + +DESCRIPTION = ur''' +This plugin obtains weather data from the OpenWeatherMap_ server and is working +with them. + +Plugin uses library Requests_ . + +Plugin version: %s + +.. _OpenWeatherMap: http://www.openweathermap.org +.. _Requests: http://www.python-requests.org/en/latest/ +''' + +eg.RegisterPlugin( + name="Open Weather Map", + author="Pako", + version=version, + kind="other", + guid="{8F6553F5-8E2D-45A0-BB49-B2A6B7F05C97}", + createMacrosOnAdd=True, + canMultiLoad=False, + icon=( + "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAEJGlDQ1BJQ0MgUHJvZmls" + "ZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mp" + "Gwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PE" + "XPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7B" + "FffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDT" + "NgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJh" + "cs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rS" + "fAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA" + "71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3S" + "OjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpn" + "EdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKU" + "xL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPs" + "MBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+" + "hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7G" + "tsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/I" + "PszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5" + "u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0d" + "vRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noon" + "SInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8O" + "okmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0M" + "be5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10" + "t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAAlwSFlzAAALEwAACxMB" + "AJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6" + "eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJk" + "ZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1z" + "eW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAg" + "ICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8i" + "CiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8x" + "LjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1l" + "bnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNv" + "bS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjE8L3RpZmY6" + "UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6" + "Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhS" + "ZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVu" + "dGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1" + "dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjMyPC9leGlmOlBpeGVs" + "WERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9y" + "U3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhl" + "bFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRm" + "OkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHhtcDpNb2RpZnlE" + "YXRlPjIwMTQtMDYtMDhUMjA6MDY6ODQ8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8" + "eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMi4yPC94bXA6Q3JlYXRvclRvb2w+CiAg" + "ICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpj" + "/NjpAAAFK0lEQVRIDbVWWW9bRRSeuYt3O14T20oCxYkb0tKkW1iCGgFCpXQTLyDeqCIk" + "nnjtb+APIFWiQqiCBwRI7QstEksaaKO0aRWapAtJsziJHbs33uLl7ny3ibLYNzRB6ug+" + "jGfOnO+c73xnxvQz+0HyPAfzPJ0bvncHoOkE367GLgAUlXZGy8f3Z2WV7hyD26Ep4uY5" + "7UyX0OwXRxPOZM7KMjvKxTyD+qOSQt9oK+xprPKcfrpLqDHQDerM0zIBYKjOMTp4gFNV" + "o8ZhjYbc8plugbA6ofqRWLG7tQgDOJVgplIrpwVdkikZtRTBY9gnnetNJbLWR0v2OcGa" + "LfFliTm6pzi7bEtNWeDU75YPv7DyKOVw29QWv9gZKccj5YRgvTAQRWQ1MLUADKMvlzg7" + "r/Xuzfe2F+Du7qzz0s2mPx54hybdTqvCUFISuarCoiQfHHpyOFYkmiHGvx41aE8nzwAA" + "kStVdiLp6PPKMB2ZcX031Njirb7dIbQ1sw6vmzKMuFJMJKWBB+6Lg5HFnNUoiUKnMjZg" + "14/aDGBBKbkPgH25O1Pur65HTr2Sfr9HZtt6iMVDSjkile0eNR6V47HF4Xupr/8MU6If" + "ixeSOQuy3xEA9Dcr2GaXbN8ONZ3Ylzndx5C9p8jiQ7Jwg8ii4QIhcBZib+jpFFma/OZG" + "eEViKzJrmgF7hI/UwIJ3WWWmMzanRT33Vo7Zf5xMDZP5McMvwxKGIZQh0JZUIooeDYhP" + "ijwqhPJKKsPWqXLLAq4BSWHCDeKHR9O5CtfXLnAvvkyEeZKeNEImWzk2YDRUuC+ed1nV" + "j3oyB1pWFM1Q9uaINwCw4bCoZw9lzp9MdIQr0H57WCaOIFmcIAy/+cyWuUajXslpVdEK" + "n7+70H8sGfGKuFTWbdaKDOT2pnL/sVTALROdPl7ieVZzO1kiS6S6YpCz/eBYrcGuZopG" + "EK/FCmiRn0YCv074V++StQxYqoPK29PuSgUs6xw6lqD7QVnVoPtZA9xy8MTqukrvzTsn" + "0w5K106tZYAQ8xXu++HQzUnPqW6h1Sei1Lmi7pQKhOWJpmwLQYkoszgb9YkzaduVO8Gx" + "eRd8r7f0hoqAAQ0UKtzIjDtZsAgl3ueQY+EqoRZof1uWWH1qyX79nwao4/Ld4ELWhuw3" + "63WjyKsxgjh84wtOr0MZnPSV0nlCVUOX2wzwd3Xc3+ITJxadwOCfcrvZ1vwk7D5+Ne2x" + "K5duhrRK3vzdQ+E57ee//YllK9TRGqiC1c2uV+cmALBD+HsC4ie9S3OC7cLv0Twqz2ko" + "vtEJ+DDhNFEjP94KXRvz9b+ZCvnEtkYou94/2ajB+iYk2xGpvB4rOKzawdbSaML1y7iv" + "WOWgEzhHuy4VLLdnPFBEpmj5tC8Vj5aJZgh5eNpTr2eTyw60xsNlYtGIzNh59Z3O7A+3" + "gndnXcOP3UgOjmDgsqlliT3bLQRcEq5SymuxUDXkkdJ5a82VZwIAGVhY/cZ979iC43HG" + "nitxeLxOdgknDmTzJU7XqcuhzGRsX/4WvTgYxguBTn4pVG1rqnjtaqquXtT0jxd0JiqI" + "1RAuXlCEjKf4/HtzzUGJ6ERW6BdXW2YzhiKxhTsGjQbL1dZdp3p1YlJkbOAAhIQP3vET" + "vJRF5vJo0Cgj1QceNkyn7avdji0jY84Qd43r/wKoN4WL0TnXWMJZLHPXxv0sa6aY+mNQ" + "stmi+RoivDIawN+LbIlDcuZGdau7AMD1kli24bHbuXfA7QIA1ijJ5numLlyTBfMimxj+" + "36V/AfsHUTRxW37FAAAAAElFTkSuQmCC" + ), + description=DESCRIPTION % version, + url="http://www.eventghost.net/forum/viewtopic.php?f=9&t=6331", +) + + +# ============================================================================= + + +import wx +from wx.lib.mixins.listctrl import CheckListCtrlMixin +from time import time as ttime +from datetime import datetime as dt +try: + from wx.combo import ComboCtrl, ComboPopup +except ImportError: + from wx import ComboCtrl, ComboPopup +from threading import enumerate as threads +from json import dumps +from locale import strcoll +from requests import get +from base64 import b64encode, b64decode +from PIL import Image +from StringIO import StringIO +from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin + +# api.openweathermap.org/data/2.5/weather?q=London +# api.openweathermap.org/data/2.5/weather?q=London,uk +# api.openweathermap.org/data/2.5/weather?id=2172797 +# api.openweathermap.org/data/2.5/weather?lat=35&lon=139 +# &lang=de&units=metric +# +# FORECAST 5 days/3hours +# api.openweathermap.org/data/2.5/forecast? +#api.openweathermap.org/data/2.5/forecast?id=524901 +# +# FORECAST 16 days/daily +# api.openweathermap.org/data/2.5/forecast/daily?q=London&units=metric&cnt=7 +# (cnt=1 to 16) +# +# HISTORY +# api.openweathermap.org/data/2.5/history/city?id=2885679&type=hour&start=1369728000&cnt=1 +# api.openweathermap.org/data/2.5/history/ &type=day +# +# ICON +# url="http://openweathermap.org/img/w/%s.png" % code + +SYS_VSCROLL_X = wx.SystemSettings.GetMetric(wx.SYS_VSCROLL_X) +ACV = wx.ALIGN_CENTER_VERTICAL +APIURL = "http://api.openweathermap.org/data/2.5/" +LANGUAGES = { + "Bulgarian": "bg", + "Catalan": "ca", + "Chinese Simplified": "zh_cn", + "Chinese Traditional": "zh_tw", + "Croatian": "hr", + "Dutch": "nl", + "English": "en", + "Finnish": "fi", + "French": "fr", + "German": "de", + "Italian": "it", + "Polish": "pl", + "Portuguese": "pt", + "Romanian": "ro", + "Russian": "ru", + "Spanish": "es", + "Swedish": "sv", + "Turkish": "tr", + "Ukrainian": "uk", +} + + +# ============================================================================= + + +class Text: + apiLabel = 'API key:' + language = 'Language:' + unitsLbl = "Units:" + units = ("Internal", "Metric", "Imperial") + prefix = "Event prefix:" + period = "Polling period [min]:" + label1 = "List of observed locations:" + header1 = ( + "Enabled", + "City name", + "City ID", + ) + header2 = ( + "Wind speed", + "Wind direction", + "Pressure", + "Humidity", + "Sunrise - Sunset", + ) + buttons1 = ( + "Add new", + "Duplicate", + "Edit", + "Delete" + ) + title1 = "City details" + cancel = "Cancel" + ok = "OK" + version = "version" + filter = "Selector of events ..." + evtFilter = [ + "Status", + "Temperature", + "Wind", + # "Clouds", + "Pressure", + "Humidity", + "Sunrise", + "Sunset" + ] + events = "Events:" + beaufort = ( + "Calm", + "Light air", + "Light breeze", + "Gentle breeze", + "Moderate breeze", + "Fresh breeze", + "Strong breeze", + "Near gale", + "Gale", + "Strong gale", + "Storm", + "Violent storm", + "Hurricane" + ) + cardinalDir = ( + "North", + "North-northeast", + "Northeast", + "East-northeast", + "East", + "East-southeast", + "Southeast", + "South-southeast", + "South", + "South-southwest", + "Southwest", + "West-southwest", + "West", + "West-northwest", + "Northwest", + "North-northwest", + ) + cardinalDirShort = ( + "N", + "NNE", + "NE", + "ENE", + "E", + "ESE", + "SE", + "SSE", + "S", + "SSW", + "SW", + "WSW", + "W", + "WNW", + "NW", + "NNW" + ) + windSpeedForm = "Formatting wind speed:" + windSpeed = ( + "Only speed in mph", + "Only speed in km/h", + "Only speed in m/s", + "Beaufort verbal description + speed in mph", + "Beaufort verbal description + speed in km/h", + "Beaufort verbal description + speed in m/s", + "Only Beaufort verbal description" + ) + windDirForm = "Formatting wind direction:" + windDir = ( + "Only angle in degrees", + "Compass point name (long) + angle in degrees", + "Compass point name (short) + angle in degrees", + "Only Compass point name (long)", + "Only Compass point name (short)", + ) + respForm = "Response format" + forms1 = ( + "Dictionary (unmodified, full form)", + "Dictionary (modified, shortened form)", + "Show window with a table" + ) + autoclose1 = "The window automatically to close after" + autoclose2 = "seconds (0 = never)" + tooltip = "Right mouse button closes this window" + + +# ============================================================================= + + +class WeatherTable(wx.ListCtrl, ListCtrlAutoWidthMixin): + + def __init__(self, parent, header, data): + wx.ListCtrl.__init__( + self, parent, wx.ID_ANY, + style=( + wx.LC_REPORT + | wx.LC_HRULES + | wx.LC_VRULES + | wx.LC_SINGLE_SEL + | wx.LC_NO_HEADER + ) + ) + ListCtrlAutoWidthMixin.__init__(self) + fnt = self.GetFont() + fnt.SetPointSize(10) + self.SetFont(fnt) + self.SetBackgroundColour(self.GetParent().GetBackgroundColour()) + # self.SetBackgroundColour("#87CEEB") + wk = self.GetWindowBorderSize()[0] + # wk = -6 + widths = ( + [self.GetTextExtent(item + " ")[0] for item in header], + [self.GetTextExtent(item + " ")[0] for item in data] + ) + for j in range(2): + self.InsertColumn(j, "") + w = max(widths[j]) + self.SetColumnWidth(j, w) + wk += w + try: + self.InsertItem(0, "dummy") + except TypeError: + self.InsertStringItem(0, "dummy") + rect = self.GetItemRect(0, wx.LIST_RECT_BOUNDS) + hi = rect[3] # item height + self.DeleteAllItems() + self.SetMinSize((wk, 4 + len(data) * hi)) + self.SetSize((wk, 4 + len(data) * hi)) + self.Layout() + for row in range(len(data)): + try: + self.InsertItem(row, header[row]) + self.SetItem(row, 1, data[row]) + except TypeError: + self.InsertStringItem(row, header[row]) + self.SetStringItem(row, 1, data[row]) + + +# ============================================================================= + + +class CurrentWeather(wx.Frame): + + def __init__(self, parent, plugin, title, dtt, data, autoclose): + icon = plugin.getIcon(data['icon']) + pil = Image.open(StringIO(b64decode(icon))) + try: + img = wx.Image(pil.size[0], pil.size[1]) + except TypeError: + img = wx.EmptyImage(pil.size[0], pil.size[1]) + if int(wx.__version__.split('.')[0]) > 2: + img.SetData(pil.convert("RGB").tobytes()) + try: + img.SetAlphaData(pil.convert("RGBA").tobytes()[3::4]) + except AttributeError: + img.SetAlpha(pil.convert("RGBA").tobytes()[3::4]) + else: + img.SetData(pil.convert("RGB").tostring()) + try: + img.SetAlphaData(pil.convert("RGBA").tostring()[3::4]) + except AttributeError: + img.SetAlpha(pil.convert("RGBA").tostring()[3::4]) + + img = img.ConvertToBitmap() + wx.Frame.__init__( + self, parent, wx.ID_ANY, '', + style=wx.STAY_ON_TOP | wx.SIMPLE_BORDER + ) + self.SetBackgroundColour("#87CEEB") + self.delta = (0, 0) + bmp = wx.StaticBitmap( + self, wx.ID_ANY, img, (0, 0), + (img.GetWidth(), img.GetHeight()) + ) + ttlLbl = wx.StaticText(self, wx.ID_ANY, title) + font = wx.Font( + 22, + wx.FONTFAMILY_SWISS, + wx.FONTSTYLE_NORMAL, + wx.FONTWEIGHT_BOLD, + False, + u'Arial' + ) + ttlLbl.SetFont(font) + dttLbl = wx.StaticText( + self, wx.ID_ANY, plugin.fromTimestamp(dtt, True) + ) + font = wx.Font( + 26, + wx.FONTFAMILY_SWISS, + wx.FONTSTYLE_NORMAL, + wx.FONTWEIGHT_BOLD, + False, + u'Arial Narrow' + ) + tIx = plugin.text.units.index(plugin.uni) + tLbl = wx.StaticText( + self, wx.ID_ANY, + u"%.1f \u00B0%s" % (data['temp'], ('K', 'C', 'F')[tIx]) + ) + tLbl.SetFont(font) + stLbl = wx.StaticText(self, wx.ID_ANY, data['status']) + fnt = stLbl.GetFont() + fnt.SetPointSize(12) + stLbl.SetFont(fnt) + + wData = ( + data['wind']['speed'], + data['wind']['deg'], + "%.2f hpa" % data['pressure'], + "%i %%" % data['humidity'], + "%s - %s" % ( + plugin.fromTimestamp(data['sunrise']), + plugin.fromTimestamp(data['sunset']) + ) + ) + table = WeatherTable(self, plugin.text.header2, wData) + table.Enable(False) + bordSizer = wx.BoxSizer(wx.VERTICAL) + mainSizer = wx.GridBagSizer(0, 5) + bordSizer.Add(mainSizer, 1, wx.EXPAND | wx.ALL, 5) + mainSizer.Add(ttlLbl, (0, 0), (1, 3)) + mainSizer.Add(dttLbl, (1, 0), (1, 3)) + mainSizer.Add(bmp, (2, 0), flag=ACV) + mainSizer.Add(tLbl, (2, 1), flag=ACV) + mainSizer.Add(stLbl, (2, 2), flag=wx.ALIGN_CENTER | ACV) + mainSizer.Add(table, (3, 0), (1, 3), flag=wx.EXPAND) + self.SetSizerAndFit(bordSizer) + for win in (self, bmp, ttlLbl, dttLbl, tLbl, stLbl): + win.Bind(wx.EVT_RIGHT_UP, self.OnRightClick) + win.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) + win.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) + win.Bind(wx.EVT_MOTION, self.OnMouseMove) + try: + win.SetToolTip(plugin.text.tooltip) + except TypeError: + win.SetToolTipString(plugin.text.tooltip) + + self.timer = wx.Timer(self) + if autoclose: + self.timer.Start(1000*int(autoclose)) + self.Bind(wx.EVT_TIMER, self.OnCloseWindow) + + self.Show(True) + self.Raise() + + def OnCloseWindow(self, event): + self.timer.Stop() + del self.timer + self.Destroy() + + def OnRightClick(self, evt): + self.Show(False) + self.Close() + + def OnLeftDown(self, evt): + x, y = self.ClientToScreen(evt.GetPosition()) + win = evt.GetEventObject() + if isinstance( + win, (wx.StaticText, wx.StaticBitmap) + ): + childX, childY = win.GetPosition() + x += childX + y += childY + self.CaptureMouse() + originx, originy = self.GetPosition() + dx = x - originx + dy = y - originy + self.delta = (dx, dy) + + def OnLeftUp(self, evt): + if self.HasCapture(): + self.ReleaseMouse() + + def OnMouseMove(self, evt): + if evt.Dragging() and evt.LeftIsDown(): + x, y = self.ClientToScreen(evt.GetPosition()) + fp = (x - self.delta[0], y - self.delta[1]) + self.Move(fp) + + +# ============================================================================= + + +class CheckListComboBox(ComboCtrl): + + class CheckListBoxComboPopup(ComboPopup): + + def __init__(self, values, helpText): + ComboPopup.__init__(self) + self.values = values + self.helpText = helpText + self.curitem = None + self.lb = None + self.itemHeight = None + + def OnDclick(self, evt): + self.Dismiss() + self.SetHelpText() + + def Init(self): + self.curitem = None + + def Create(self, parent): + self.lb = wx.CheckListBox( + parent, wx.ID_ANY, (80, 50), wx.DefaultSize + ) + self.itemHeight = self.lb.GetSize().GetHeight() + self.SetValue(self.values) + self.SetHelpText() + self.lb.Bind(wx.EVT_MOTION, self.OnMotion) + self.lb.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) + self.lb.Bind(wx.EVT_LEFT_DCLICK, self.OnDclick) + return True + + def SetHelpText(self, helpText=None): + self.helpText = helpText if helpText is not None else self.helpText + try: + combo = self.GetCombo() + except AttributeError: + combo = self.GetComboCtrl() + combo.SetText(self.helpText) + combo.TextCtrl.SetEditable(False) + + def SetValue(self, values): + self.lb.Set(values[0]) + for j in range(len(values[1])): + self.lb.Check(j, int(values[1][j])) + + def GetValue(self): + strngs = self.lb.GetStrings() + return [strngs, [self.lb.IsChecked(j) for j in range(len(strngs))]] + + def GetControl(self): + return self.lb + + def OnPopup(self): + if self.curitem: + self.lb.EnsureVisible(self.curitem) + self.lb.SetSelection(self.curitem) + + def GetAdjustedSize(self, minWidth, prefHeight, maxHeight): + return wx.Size( + minWidth, + min(self.itemHeight*(0.5+len(self.lb.GetStrings())), maxHeight) + ) + + def OnMotion(self, evt): + item = self.lb.HitTest(evt.GetPosition()) + if item > -1: + self.lb.SetSelection(item) + self.curitem = item + evt.Skip() + + def OnLeftDown(self, evt): + item = self.lb.HitTest(evt.GetPosition()) + if item > -1: + self.curitem = item + evt.Skip() + + def __init__(self, parent, wid=wx.ID_ANY, values=None, **kwargs): + if not values: + values = [[], []] + if 'helpText' in kwargs: + helpText = kwargs['helpText'] + del kwargs['helpText'] + else: + helpText = "" + ComboCtrl.__init__(self, parent, wid, **kwargs) + self.popup = self.CheckListBoxComboPopup(values, helpText) + self.SetPopupControl(self.popup) + self.popup.lb.Bind(wx.EVT_CHECKLISTBOX, self.onCheck) + + def onCheck(self, evt): + wx.PostEvent(self, evt) + evt.StopPropagation() + + def GetValue(self): + return self.popup.GetValue() + + def SetValue(self, values): + self.popup.SetValue(values) + + def SetHelpText(self, helpText=None): + self.popup.SetHelpText(helpText) + + +# ============================================================================= + + +class extDialog(wx.Frame): + def __init__(self, parent, plugin, labels, data, grid, add=False): + wx.Frame.__init__( + self, parent, wx.ID_ANY, + style=( + wx.DEFAULT_DIALOG_STYLE + | wx.TAB_TRAVERSAL + | wx.RESIZE_BORDER + ), + name="OpenWeatherMapExtDialog" + ) + self.panel = parent + self.plugin = plugin + self.text = plugin.text + self.SetIcon(self.plugin.info.icon.GetWxIcon()) + self.labels = labels + self.data = data + self.grid = grid + self.add = add + + def ShowExtDialog(self, title): + self.panel.Enable(False) + self.panel.dialog.buttonRow.cancelButton.Enable(False) + self.panel.EnableButtons(False) + self.SetTitle(title) + text = self.plugin.text + panel = wx.Panel(self) + + def wxst(label): + return wx.StaticText(panel, wx.ID_ANY, "%s:" % label) + + labels = self.labels + data = self.data + rows = len(labels) + sizer = wx.FlexGridSizer(rows-1, 2, 5, 5) + for row in range(1, rows): + sizer.Add(wxst(labels[row]), 0, ACV) + ctrl = wx.TextCtrl(panel, wx.ID_ANY, data[row]) + sizer.Add(ctrl, 0, wx.EXPAND) + sizer.AddGrowableCol(1) + + line = wx.StaticLine( + panel, + wx.ID_ANY, + style=wx.LI_HORIZONTAL + ) + btn1 = wx.Button(panel, wx.ID_OK) + btn1.SetLabel(text.ok) + btn2 = wx.Button(panel, wx.ID_CANCEL) + btn2.SetLabel(text.cancel) + btnsizer = wx.StdDialogButtonSizer() + btnsizer.AddButton(btn1) + btnsizer.AddButton(btn2) + btnsizer.Realize() + mainSizer = wx.BoxSizer(wx.VERTICAL) + mainSizer.Add(sizer, 1, wx.ALL | wx.EXPAND, 5) + mainSizer.Add( + line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 5 + ) + mainSizer.Add(btnsizer, 0, wx.EXPAND | wx.RIGHT, 10) + mainSizer.Add((1, 6)) + panel.SetSizer(mainSizer) + mainSizer.Fit(self) + + def onClose(evt): + # self.MakeModal(False) + self.panel.Enable(True) + self.panel.dialog.buttonRow.cancelButton.Enable(True) + self.panel.EnableButtons(True) + self.GetParent().GetParent().Raise() + self.Destroy() + self.Bind(wx.EVT_CLOSE, onClose) + + def onOk(evt): + if self.add: + self.grid.AppendRow() + children = sizer.GetChildren() + row_data = [ + self.data[0], + children[1].GetWindow().GetValue(), + children[3].GetWindow().GetValue() + ] + self.grid.SetRow(row_data) + row_data = self.grid.GetData() + row_data.sort(cmp=strcoll, key=lambda city: city[1]) + self.grid.DeleteAllItems() + self.grid.SetData(row_data) + self.Close() + btn1.Bind(wx.EVT_BUTTON, onOk) + + def onCancel(evt): + self.Close() + btn2.Bind(wx.EVT_BUTTON, onCancel) + + mainSizer.Layout() + w, h = self.GetSize() + self.SetSize((max(w, 400), h)) + self.SetMinSize((max(w, 400), h)) + # self.MakeModal(True) + self.Show() + self.Raise() + + +# ============================================================================= + + +class CheckListCtrl(wx.ListCtrl, CheckListCtrlMixin): + + def __init__(self, parent, header, rows): + wx.ListCtrl.__init__( + self, parent, wx.ID_ANY, + style=wx.LC_REPORT | wx.LC_HRULES | wx.LC_VRULES | wx.LC_SINGLE_SEL + ) + self.rows = rows + self.selRow = -1 + self.back = self.GetBackgroundColour() + self.fore = self.GetForegroundColour() + self.selBack = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT) + self.selFore = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT) + self.wk = SYS_VSCROLL_X + self.GetWindowBorderSize()[0] + self.collens = [] + hc = len(header) + for j in range(hc): + self.InsertColumn(j, header[j]) + for j in range(hc): + self.SetColumnWidth(j, wx.LIST_AUTOSIZE_USEHEADER) + w = self.GetColumnWidth(j) + self.collens.append(w) + self.wk += w + try: + self.InsertItem(0, "dummy") + except TypeError: + self.InsertStringItem(0, "dummy") + rect = self.GetItemRect(0, wx.LIST_RECT_BOUNDS) + hh = rect[1] # header height + hi = rect[3] # item height + self.DeleteAllItems() + self.SetMinSize((self.wk, 5 + hh + rows * hi)) + self.SetSize((self.wk, 5 + hh + rows * hi)) + self.Layout() + CheckListCtrlMixin.__init__(self) + self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected) + self.Bind(wx.EVT_SIZE, self.OnSize) + + def SetWidth(self): + newW = self.GetSize().width + p = newW/float(self.wk) + col = self.GetColumnCount() + w = ( + SYS_VSCROLL_X + + self.GetWindowBorderSize()[0] + + self.GetColumnWidth(0) + ) + for c in range(1, col-1): + self.SetColumnWidth(c, p * self.collens[c]) + w += self.GetColumnWidth(c) + self.SetColumnWidth(col-1, newW-w) + + def OnSize(self, event): + wx.CallAfter(self.SetWidth) + event.Skip() + + def OnItemSelected(self, evt): + self.SelRow(evt.m_itemIndex) + evt.Skip() + + # this is called by the base class when an item is checked/unchecked !! + def OnCheckItem(self, index, flag): + evt = eg.ValueChangedEvent(self.GetId(), value=(index, flag)) + wx.PostEvent(self, evt) + + def SelRow(self, row): + if row != self.selRow: + if self.selRow in range(self.GetItemCount()): + item = self.GetItem(self.selRow) + item.SetTextColour(self.fore) + item.SetBackgroundColour(self.back) + self.SetItem(item) + self.selRow = row + if self.GetItemBackgroundColour(row) != self.selBack: + item = self.GetItem(row) + item.SetTextColour(self.selFore) + item.SetBackgroundColour(self.selBack) + self.SetItem(item) + self.SetItemState(row, 0, wx.LIST_STATE_SELECTED) + + def DeleteRow(self, row=None): + row = self.selRow if row is None else row + if row > -1: + self.DeleteItem(row) + row = row if row < self.GetItemCount() else self.GetItemCount() - 1 + if row > -1: + self.SelRow(row) + else: + self.selRow = -1 + evt = eg.ValueChangedEvent(self.GetId(), value="Empty") + wx.PostEvent(self, evt) + + def AppendRow(self): + ix = self.GetItemCount() + try: + self.InsertItem(ix, "") + except TypeError: + self.InsertStringItem(ix, "") + self.CheckItem(ix) + self.EnsureVisible(ix) + self.SelRow(ix) + if ix == 0: + evt = eg.ValueChangedEvent(self.GetId(), value="One") + wx.PostEvent(self, evt) + + def SetRow(self, rowData, row=None): + row = self.selRow if row is None else row + if rowData[0]: + self.CheckItem(row) + elif self.IsChecked(row): + self.ToggleItem(row) + for j in range(1, len(rowData)): + data = rowData[j] if j != 2 else str(rowData[j]) + try: + self.SetItem(row, j, data) + except TypeError: + self.SetStringItem(row, j, data) + + def GetSelectedItemIx(self): + return self.selRow + + def GetRow(self, row=None): + row = self.selRow if row is None else row + return [ + self.IsChecked(row), + self.GetItem(row, 1).GetText(), + self.GetItem(row, 2).GetText() + ] + + def GetData(self): + data = [] + for row in range(self.GetItemCount()): + rowData = self.GetRow(row) + data.append(rowData) + return data + + def SetData(self, data): + if data: + for row in range(len(data)): + self.AppendRow() + self.SetRow(data[row]) + self.SelRow(0) + self.EnsureVisible(0) + + +# ============================================================================= + + +class OpenWeatherMap(eg.PluginBase): + task = None + api_key = None + text = Text + + def __init__(self): + self.AddActionsFromList(ACTIONS) + self.city_grid = None + + def StartTask(self): + enabled = [itm[0] for itm in self.cities if itm[0]] \ + if self.cities else False + if enabled: + self.oldValues = dict([ + ( + item[2], + { + 'status': None, + 'temp': None, + 'wind': None, + 'pressure': None, + 'humidity': None, + 'sunrise': None, + 'sunset': None, + 'icon': None, + } + ) for item in self.cities]) + self.task = eg.scheduler.AddTask(5.0, self.worker) + + def CancelTasks(self): + if self.task: + try: + eg.scheduler.CancelTask(self.task) + except: + pass + self.task = None + tasks = [] + heap = eg.scheduler.heap + thrds = threads() + ST = [i for i in thrds if i.name=="SchedulerThread"][0] + for task in heap: + if task[1] == ST.LongTask: + if len(task[2]) > 1: + if task[2][1] in (self.SunriseTime, self.SunsetTime): + tasks.append(task) + for task in tasks: + try: + eg.scheduler.CancelTask(task) + except: + pass + + def OnComputerSuspend(self, evt): + self.CancelTasks() + + def OnComputerResume(self, evt): + self.CancelTasks() + self.StartTask() + + @staticmethod + def fromTimestamp(ts, hours=False): + ts = str(dt.fromtimestamp(ts + 30)) + return ts[:16] if hours else ts[11:16] + + def WindSpeed(self, speed): + beauf = spd = 'UNKNOWN' + if self.spd > 2: + beauf = self.BeaufortScale(speed) + if self.uni == 'Imperial': + if self.spd in (2, 5): + spd = "%.2f m/s" % (0.447 * speed) + elif self.spd in (1, 4): + spd = "%.2f km/h" % (1.6093 * speed) + elif self.spd < 6: + spd = "%.2f mph" % speed + else: + if self.spd in (0, 3): + spd = "%.2f mph" % (2.2369 * speed) + if self.spd in (1, 4): + spd = "%.2f km/h" % (3.6 * speed) + elif self.spd < 6: + spd = "%.2f m/s" % speed + if self.spd < 3: + return spd + elif self.spd > 5: + return beauf + else: + return "%s %s" % (beauf, spd) + + def WindDir(self, angle): + if self.dir: + cp = self.CardinalNames(angle, self.dir in (2, 4)) + if self.dir > 2: + return cp + else: + return u"%s (%.2f°)" % (cp, angle) + return u"%.2f°" % angle + + def BeaufortScale(self, speed): + upper_limits = [0.7, 3, 6, 10, 16, 21, 27, 33, 40, 47, 55, 63, 999] + knots = speed * 0.869 if self.uni == 'Imperial' else speed * 1.9438 + upper_limits.append(knots) + upper_limits.sort() + return self.text.beaufort[upper_limits.index(knots)] + + def CardinalNames(self, angle, short=False): + names = self.text.cardinalDirShort if short else self.text.cardinalDir + dirNum = len(names) + index = int(round(angle*dirNum/360.0)) + index %= dirNum + return names[index] + + def GetSuffix(self, wid): + return [ + it[1] for it in self.cities if it[2] == wid + ][0].replace(" ", "") + + def SunriseTime(self, wid): + self.TriggerEvent( + "%s.%s" % ("Sunrise", self.GetSuffix(wid)), + payload=wid + ) + sunrise = self.oldValues[wid]['sunrise'] + sunrise = sunrise if (3600 + ttime()) < sunrise else sunrise + 86400 + eg.scheduler.AddTaskAbsolute(sunrise, self.SunriseTime, wid) + + def SunsetTime(self, wid): + self.TriggerEvent( + "%s.%s" % ("Sunset", self.GetSuffix(wid)), + payload=wid + ) + sunset = self.oldValues[wid]['sunset'] + sunset = sunset if (3600 + ttime()) < sunset else sunset + 86400 + eg.scheduler.AddTaskAbsolute(sunset, self.SunriseTime, wid) + + @staticmethod + def getIcon(code): + url = "http://openweathermap.org/img/w/%s.png" % code + resp = get(url) + if ( + resp.ok + and resp.headers['content-type'] == 'image/png' + and int(resp.headers['content-length']) == len(resp.content) + ): + return b64encode(resp.content) + + def getWeather(self, mode, ix=None, city=None): + params = {} + try: + if ix is not None: + city = self.cities[ix][2] + params['id'] = int(city) + elif mode == 2: + params['id'] = int(city) + else: + params['q'] = str(city) + return self.get_(APIURL + 'weather', params=params) + except: + eg.PrintTraceback() + + def getForecast(self, mode, ix = None, city = None): + params = {} + try: + if ix is not None: + city = self.cities[ix][2] + params['id'] = int(city) + elif mode == 2: + params['id'] = int(city) + else: + params['q'] = str(city) + return self.get_(APIURL + 'forecast', params = params) + except: + eg.PrintTraceback() + + def GetShortData(self, data): + shortData = { + 'status': data[u'weather'][0][u'description'], + 'temp': data[u'main'][u'temp'], + 'wind': { + u'speed': self.WindSpeed(data[u'wind'][u'speed']), + u'deg': self.WindDir(data[u'wind'][u'deg']) if "deg" in data[u'wind'] else self.WindDir(0) + }, + 'pressure': data[u'main'][u'pressure'], + 'humidity': data[u'main'][u'humidity'], + 'icon': data[u'weather'][0][u'icon'], + 'sunrise': data[u'sys'][u'sunrise'], + 'sunset': data[u'sys']['sunset'] + } + return shortData + + def worker(self): + heap = eg.scheduler.heap + thrds = threads() + ST = [i for i in thrds if i.name=="SchedulerThread"][0] + for task in heap: + if task[1] == ST.LongTask: + if task[2][0] == self.worker: + try: + eg.scheduler.CancelTask(task) + except: + pass + self.task = eg.scheduler.AddTask(60 * self.period, self.worker) + for enbl, _, cid in self.cities: + if enbl: + try: + data = self.getWeather(2, ix=None, city=cid) + except: + eg.PrintTraceback() + return + if not data: + eg.PrintNotice("NO WEATHER DATA") + return + oldVals = self.oldValues[cid] + icon = data[u'weather'][0][u'icon'] + if icon != oldVals['icon']: + self.oldValues[cid]['icon'] = icon + + if self.evtFilter[0]: + status = data[u'weather'][0][u'description'] + if status != oldVals['status']: + if oldVals['status'] is not None: + self.TriggerEvent( + "%s.%s" % ("Status", self.GetSuffix(cid)), + payload=(status, cid) + ) + self.oldValues[cid]['status'] = status + + if self.evtFilter[1]: + temp = data[u'main'][u'temp'] + if temp != oldVals['temp']: + if oldVals['temp'] is not None: + self.TriggerEvent( + "%s.%s" % ("Temperature", self.GetSuffix(cid)), + payload=(temp, cid) + ) + self.oldValues[cid]['temp'] = temp + if self.evtFilter[2]: + wind = dict( + speed=self.WindSpeed(data[u'wind'].get(u'speed', 0)), + deg=self.WindDir(data[u'wind'].get(u'deg', 0)) + ) + if wind != oldVals['wind']: + if oldVals['wind'] is not None: + self.TriggerEvent( + "%s.%s" % ("Wind", self.GetSuffix(cid)), + payload=(wind, cid) + ) + self.oldValues[cid]['wind'] = wind + + if self.evtFilter[3]: + pressure = data[u'main'][u'pressure'] + if pressure != oldVals['pressure']: + if oldVals['pressure'] is not None: + self.TriggerEvent( + "%s.%s" % ("Pressure", self.GetSuffix(cid)), + payload=(pressure, cid) + ) + self.oldValues[cid]['pressure'] = pressure + + if self.evtFilter[4]: + humidity = data[u'main'][u'humidity'] + if humidity != oldVals['humidity']: + if oldVals['humidity'] is not None: + self.TriggerEvent( + "%s.%s" % ("Humidity", self.GetSuffix(cid)), + payload=(humidity, cid) + ) + self.oldValues[cid]['humidity'] = humidity + + if self.evtFilter[5]: + sunrise = data[u'sys'][u'sunrise'] + sunrise = sunrise if ttime() < sunrise else sunrise + 86400 + if sunrise != oldVals['sunrise']: + if oldVals['sunrise'] is None: + eg.scheduler.AddTaskAbsolute( + sunrise, + self.SunriseTime, + cid + ) + self.oldValues[cid]['sunrise'] = sunrise + + if self.evtFilter[6]: + sunset = data[u'sys'][u'sunset'] + sunset = sunset if ttime() < sunset else sunset + 86400 + if sunset != oldVals['sunset']: + if oldVals['sunset'] is None: + eg.scheduler.AddTaskAbsolute( + sunset, + self.SunsetTime, + cid + ) + self.oldValues[cid]['sunset'] = sunset + + def get_(self, url, **kwargs): + kwargs['headers'] = { + 'X-User-Agent': 'EventGhost', + 'x-api-key': self.api_key, + 'Content-type': 'application/json', + 'Accept': 'application/json' + } + if 'data' in kwargs: + kwargs['data'] = dumps(kwargs['data']) + kwargs['params'] = kwargs['params'] if 'params' in kwargs else {} + kwargs['params']['lang'] = LANGUAGES[self.lng] + kwargs['params']['units'] = self.uni.lower() + resp = get(url, **kwargs) + if resp.ok: + r = resp.json() + if 'message' in r and not 'city' in r: + eg.PrintError("OpenWeatherMap: " + repr(r)) + return + return r + else: + print resp + + def __start__( + self, + api_key=(None, None), + lng="English", + uni="Metric", + prf="OWM", + period=30, + cities=None, + evtFilter=len(Text.evtFilter) * [True], + spd=4, + direction=1 + ): + if not cities: + cities = [] + if isinstance(api_key[0], eg.Password): + api_key = (api_key[0].Get(), api_key[1]) + self.api_key = str(api_key[0]) + self.evtFilter = evtFilter + self.lng = lng + self.uni = uni + self.spd = spd + self.dir = direction + self.period = period + self.cities = cities + self.info.eventPrefix = prf + self.StartTask() + + def __stop__(self): + self.CancelTasks() + + def enableCity(self, ix, enable): + self.cities[ix][0] = enable + + def Configure( + self, + apiKey=(None, None), + lng="English", + uni="Metric", + prf="OWM", + period=30, + cities=None, + evtFilter=len(Text.evtFilter) * [True], + spd=4, + direction=1 + ): + if not cities: + cities = [] + if not isinstance(apiKey[0], eg.Password): + api_key = eg.Password(None) + api_key.Set("") + else: + api_key = apiKey[0] + dummy = apiKey[1] + + text = self.text + evtFilter = [text.evtFilter, evtFilter] + panel = eg.ConfigPanel(self) + panel.GetParent().GetParent().SetIcon(self.info.icon.GetWxIcon()) + label1 = wx.StaticText(panel, wx.ID_ANY, self.text.label1) + self.city_grid = city_grid = CheckListCtrl(panel, self.text.header1, 3) + city_grid.SetData(cities) + ttl = panel.dialog.GetTitle() + panel.dialog.SetTitle( + "%s - %s - %s %s" % ( + "Open Weather Map", + ttl, + self.text.version, + version + ) + ) + + def enableButtons1(enable): + for btn in range(1, len(self.text.buttons1)): + wx.FindWindowById(bttns[btn]).Enable(enable) + + def OnGridChange1(evt): + value = evt.GetValue() + if value == "Empty": + enableButtons1(False) + elif value == "One": + enableButtons1(True) + evt.Skip() + city_grid.Bind(eg.EVT_VALUE_CHANGED, OnGridChange1) + + def edit1(): + dlg = extDialog( + parent=panel, + plugin=self, + labels=self.text.header1, + data=city_grid.GetRow(), + grid=city_grid, + ) + dlg.Centre() + wx.CallAfter(dlg.ShowExtDialog, self.text.title1) + + def OnActivated1(evt): + edit1() + evt.Skip() + city_grid.Bind(wx.EVT_LIST_ITEM_ACTIVATED, OnActivated1) + + def onButton(evt): + wid = evt.GetId() + if wid == bttns[0]: # Add + dlg = extDialog( + parent=panel, + plugin=self, + labels=self.text.header1, + data=[True, "", ""], + grid=city_grid, + add=True, + ) + dlg.Centre() + wx.CallAfter(dlg.ShowExtDialog, self.text.title1) + elif wid == bttns[1]: # Duplicate + dlg = extDialog( + parent=panel, + plugin=self, + labels=self.text.header1, + data=city_grid.GetRow(), + grid=city_grid, + add=True + ) + dlg.Centre() + wx.CallAfter(dlg.ShowExtDialog, self.text.title1) + elif wid == bttns[2]: # Edit + edit1() + elif wid == bttns[3]: # Delete + city_grid.DeleteRow() + evt.Skip() + + panel.sizer.Add(label1, 0, wx.TOP | wx.LEFT, 5) + panel.sizer.Add( + city_grid, 1, wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, 5 + ) + bttnSizer1 = wx.BoxSizer(wx.HORIZONTAL) + bttnSizer1.Add((5, -1)) + j = 0 + bttns = [] + for bttn in self.text.buttons1: + try: + wxid = wx.NewIdRef() + except AttributeError: + wxid = wx.NewId() + bttns.append(wxid) + b = wx.Button(panel, wxid, bttn) + bttnSizer1.Add(b, 1) + if not len(cities) and j not in (0,): + b.Enable(False) + if j == 0: + b.SetDefault() + b.Bind(wx.EVT_BUTTON, onButton, id=wxid) + bttnSizer1.Add((5, -1)) + j += 1 + panel.sizer.Add(bttnSizer1, 0, wx.EXPAND) + apiLabel = wx.StaticText(panel, wx.ID_ANY, text.apiLabel) + apiCtrl = wx.TextCtrl( + panel, wx.ID_ANY, api_key.Get(), style=wx.TE_PASSWORD + ) + lngLabel = wx.StaticText(panel, wx.ID_ANY, text.language) + choices = list(LANGUAGES.iterkeys()) + choices.sort() + lngCtrl = wx.Choice(panel, wx.ID_ANY, choices=choices) + lngCtrl.SetStringSelection(lng) + uniLabel = wx.StaticText(panel, wx.ID_ANY, text.unitsLbl) + uniCtrl = wx.Choice(panel, wx.ID_ANY, choices=text.units) + uniCtrl.SetStringSelection(uni) + spdLabel = wx.StaticText(panel, wx.ID_ANY, text.windSpeedForm) + spdCtrl = panel.Choice(spd, choices=text.windSpeed) + dirLabel = wx.StaticText(panel, wx.ID_ANY, text.windDirForm) + dirCtrl = panel.Choice(direction, choices=text.windDir) + prfLabel = wx.StaticText(panel, wx.ID_ANY, text.prefix) + prfCtrl = wx.TextCtrl(panel, wx.ID_ANY, prf) + periLbl = wx.StaticText(panel, wx.ID_ANY, self.text.period) + periCtrl = eg.SpinIntCtrl(panel, wx.ID_ANY, period, min=10, max=720) + periCtrl.increment = 5 + periCtrl.numCtrl.SetEditable(False) + evtLabel = wx.StaticText(panel, wx.ID_ANY, self.text.events) + evtCtrl = CheckListComboBox( + panel, wx.ID_ANY, values=evtFilter, helpText=text.filter + ) + mainSizer = wx.GridBagSizer(5, 10) + mainSizer.Add(apiLabel, (0, 0), flag=ACV) + mainSizer.Add(apiCtrl, (0, 1), flag=wx.EXPAND) + mainSizer.Add(lngLabel, (1, 0), flag=ACV) + mainSizer.Add(lngCtrl, (1, 1)) + mainSizer.Add(uniLabel, (2, 0), flag=ACV) + mainSizer.Add(uniCtrl, (2, 1)) + mainSizer.Add(spdLabel, (3, 0), flag=ACV) + mainSizer.Add(spdCtrl, (3, 1), flag=wx.EXPAND) + mainSizer.Add(dirLabel, (4, 0), flag=ACV) + mainSizer.Add(dirCtrl, (4, 1), flag=wx.EXPAND) + mainSizer.Add(prfLabel, (5, 0), flag=ACV) + mainSizer.Add(prfCtrl, (5, 1)) + mainSizer.Add(periLbl, (6, 0), flag=ACV) + mainSizer.Add(periCtrl, (6, 1)) + mainSizer.Add(evtLabel, (7, 0), flag=ACV) + mainSizer.Add(evtCtrl, (7, 1), flag=wx.EXPAND) + mainSizer.AddGrowableCol(1) + panel.sizer.Add(mainSizer, 0, wx.EXPAND | wx.ALL, 10) + + while panel.Affirmed(): + oldKey = api_key.Get() + newKey = apiCtrl.GetValue() + if oldKey != newKey: + api_key.Set(newKey) + dummy = int(ttime()) + panel.SetResult( + (api_key, dummy), + lngCtrl.GetStringSelection(), + uniCtrl.GetStringSelection(), + prfCtrl.GetValue(), + periCtrl.GetValue(), + city_grid.GetData(), + evtCtrl.GetValue()[1], + spdCtrl.GetValue(), + dirCtrl.GetValue() + ) + + +# ============================================================================= + + +class enableCity(eg.ActionBase): + + class text: + modeLbl = "Select city by:" + modes = ("City name", "City ID") + citLbl = "City:" + unknown = 'Unknown city: "%s"' + + def __call__(self, mode=1, cit=""): + cit = eg.ParseString(cit) + tmp = [ct[mode+1] for ct in self.plugin.cities] + if cit in tmp: + ix = tmp.index(cit) + return self.plugin.enableCity(ix, self.value) + else: + eg.PrintNotice(self.text.unknown % cit) + + def GetLabel(self, mode, cit): + return "%s: %s" % (self.name, cit) + + def Configure(self, mode=1, cit=""): + panel = eg.ConfigPanel(self) + text = self.text + modeSizer = wx.BoxSizer(wx.HORIZONTAL) + modeLbl = wx.StaticText(panel, wx.ID_ANY, text.modeLbl) + citLbl = wx.StaticText(panel, wx.ID_ANY, text.citLbl) + rb0 = panel.RadioButton( + mode == 0, self.text.modes[0], style=wx.RB_GROUP + ) + rb1 = panel.RadioButton(mode == 1, self.text.modes[1]) + choices = [rp[mode+1] for rp in self.plugin.cities] + citCtrl = wx.ComboBox( + panel, wx.ID_ANY, choices=choices, style=wx.CB_DROPDOWN + ) + citCtrl.SetValue(cit) + modeSizer.Add(rb0) + modeSizer.Add(rb1, 0, wx.LEFT, 10) + topSizer = wx.FlexGridSizer(3, 2, 10, 20) + topSizer.AddGrowableCol(1) + topSizer.Add(modeLbl) + topSizer.Add(modeSizer) + topSizer.Add(citLbl, 0, wx.TOP, 4) + topSizer.Add(citCtrl, 0, wx.EXPAND) + mainSizer = wx.BoxSizer(wx.VERTICAL) + mainSizer.Add(topSizer, 0, wx.EXPAND) + panel.sizer.Add(mainSizer, 1, wx.ALL | wx.EXPAND, 10) + + def onRadioBox(evt): + new = rb1.GetValue() + ix = 1 + int(not new) + oldValue = citCtrl.GetValue() + oldChcs = [ct[ix] for ct in self.plugin.cities] + oldIx = oldChcs.index(oldValue) if oldValue in oldChcs else -1 + ix = 1 + new + citCtrl.Clear() + chces = [ct[ix] for ct in self.plugin.cities] + citCtrl.SetItems(chces) + citCtrl.SetSelection(oldIx) + evt.Skip() + rb0.Bind(wx.EVT_RADIOBUTTON, onRadioBox) + rb1.Bind(wx.EVT_RADIOBUTTON, onRadioBox) + + while panel.Affirmed(): + panel.SetResult( + int(rb1.GetValue()), + citCtrl.GetValue(), + ) + + +# ============================================================================= + + +class GetWeather(eg.ActionBase): + + class text: + modeLbl = "Select city by:" + modes = ("City name", "City ID") + citLbl = "City:" + + def __call__(self, mode=1, cit="", resp=1, auto=0): + autoclose = auto if isinstance(auto, int) else eg.ParseString(auto) + cit = eg.ParseString(cit) + tmp = [ct[mode+1] for ct in self.plugin.cities] + if cit in tmp: + ix = tmp.index(cit) + city = None + else: + ix = None + city = cit + data = self.plugin.getWeather(mode, ix=ix, city=city) + if not data: + return + dtt = data['dt'] + if resp == 2: + if ix is not None: + title = self.plugin.cities[ix][1] + else: + title = data["name"] + data = self.plugin.GetShortData(data) + wx.CallAfter( + CurrentWeather, + None, + self.plugin, + title, + dtt, + data, + autoclose + ) + return data + elif resp == 1: + return self.plugin.GetShortData(data) + else: + return data + + def GetLabel(self, mode, cit, resp, autoclose): + return "%s: %s" % (self.name, cit) + + def Configure(self, mode=1, cit="", resp=1, autoclose=0): + panel = eg.ConfigPanel(self) + text = self.text + ptext = self.plugin.text + modeSizer = wx.BoxSizer(wx.HORIZONTAL) + modeLbl = wx.StaticText(panel, wx.ID_ANY, text.modeLbl) + citLbl = wx.StaticText(panel, wx.ID_ANY, text.citLbl) + autoLbl1 = wx.StaticText(panel, wx.ID_ANY, self.plugin.text.autoclose1) + autoLbl2 = wx.StaticText(panel, wx.ID_ANY, self.plugin.text.autoclose2) + autoCtrl = eg.SmartSpinIntCtrl( + panel, wx.ID_ANY, 5, min=0, max=9999 + ) + autoSizer = wx.BoxSizer(wx.HORIZONTAL) + autoSizer.Add(autoLbl1, 0, ACV) + autoSizer.Add(autoCtrl, 0, wx.LEFT | wx.RIGHT, 5) + autoSizer.Add(autoLbl2, 0, ACV) + rb0 = panel.RadioButton( + mode == 0, self.text.modes[0], style=wx.RB_GROUP + ) + rb1 = panel.RadioButton(mode == 1, self.text.modes[1]) + choices = [rp[mode+1] for rp in self.plugin.cities] + citCtrl = wx.ComboBox( + panel, wx.ID_ANY, choices=choices, style=wx.CB_DROPDOWN + ) + citCtrl.SetValue(cit) + modeSizer.Add(rb0) + modeSizer.Add(rb1, 0, wx.LEFT, 10) + topSizer = wx.FlexGridSizer(3, 2, 10, 20) + topSizer.AddGrowableCol(1) + topSizer.Add(modeLbl) + topSizer.Add(modeSizer) + topSizer.Add(citLbl, 0, wx.TOP, 4) + topSizer.Add(citCtrl, 0, wx.EXPAND) + + staticBox = wx.StaticBox(panel, label=ptext.respForm) + staticBoxSizer = wx.StaticBoxSizer(staticBox, wx.VERTICAL) + rb2 = panel.RadioButton(resp == 0, ptext.forms1[0], style=wx.RB_GROUP) + rb3 = panel.RadioButton(resp == 1, ptext.forms1[1]) + rb4 = panel.RadioButton(resp == 2, ptext.forms1[2]) + staticBoxSizer.Add(rb2, 0, wx.ALL, 8) + staticBoxSizer.Add(rb3, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 8) + staticBoxSizer.Add(rb4, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 8) + staticBoxSizer.Add(autoSizer, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 8) + + mainSizer = wx.BoxSizer(wx.VERTICAL) + mainSizer.Add(topSizer, 0, wx.EXPAND) + mainSizer.Add(staticBoxSizer, 0, wx.EXPAND | wx.TOP, 15) + panel.sizer.Add(mainSizer, 1, wx.ALL | wx.EXPAND, 10) + + def onRadioBox(evt): + new = rb1.GetValue() + ix = 1 + int(not new) + oldValue = citCtrl.GetValue() + oldChcs = [ct[ix] for ct in self.plugin.cities] + oldIx = oldChcs.index(oldValue) if oldValue in oldChcs else -1 + ix = 1 + new + citCtrl.Clear() + chces = [ct[ix] for ct in self.plugin.cities] + citCtrl.SetItems(chces) + citCtrl.SetSelection(oldIx) + evt.Skip() + rb0.Bind(wx.EVT_RADIOBUTTON, onRadioBox) + rb1.Bind(wx.EVT_RADIOBUTTON, onRadioBox) + + def onRB4(evt=None): + enbl = rb4.GetValue() + if not enbl: + if not isinstance( + autoCtrl.ctrl, + eg.Classes.SpinNumCtrl.SpinNumCtrl + ): + autoCtrl.ctrl = autoCtrl.CreateCtrl(0) + autoCtrl.SetValue(0) + autoLbl1.Enable(enbl) + autoLbl2.Enable(enbl) + autoCtrl.Enable(enbl) + if evt: + evt.Skip() + rb2.Bind(wx.EVT_RADIOBUTTON, onRB4) + rb3.Bind(wx.EVT_RADIOBUTTON, onRB4) + rb4.Bind(wx.EVT_RADIOBUTTON, onRB4) + panel.GetParent().GetParent().Show() + + def AfterShow(): + if isinstance(autoclose, int): + autoCtrl.ctrl = autoCtrl.CreateCtrl(0) + autoCtrl.SetValue(autoclose) + autoCtrl.value = autoclose + onRB4() + wx.CallAfter(AfterShow) + + while panel.Affirmed(): + panel.SetResult( + int(rb1.GetValue()), + citCtrl.GetValue(), + int(rb3.GetValue()) + 2 * int(rb4.GetValue()), + autoCtrl.GetValue() + ) + + +# ============================================================================= + +class GetForecast(eg.ActionBase): + class text: + modeLbl = "Select city by:" + modes = ("City name", "City ID") + citLbl = "City:" + + def __call__(self, mode=1, cit="", resp=1, auto=0): + autoclose = auto if isinstance(auto, int) else eg.ParseString(auto) + cit = eg.ParseString(cit) + tmp = [ct[mode + 1] for ct in self.plugin.cities] + if cit in tmp: + ix = tmp.index(cit) + city = None + else: + ix = None + city = cit + data = self.plugin.getForecast(mode, ix=ix, city=city) + if not data: + return + lst = data['list'] + return lst + # if resp == 2: + # if ix is not None: + # title = self.plugin.cities[ix][1] + # else: + # title = data["name"] + # data = self.plugin.GetShortData(data) + # wx.CallAfter( + # CurrentWeather, + # None, + # self.plugin, + # title, + # dtt, + # data, + # autoclose + # ) + # return data + # elif resp == 1: + # return self.plugin.GetShortData(data) + # else: + # return data + + def GetLabel(self, mode, cit, resp, autoclose): + return "%s: %s" % (self.name, cit) + + def Configure(self, mode=1, cit="", resp=1, autoclose=0): + panel = eg.ConfigPanel(self) + text = self.text + ptext = self.plugin.text + modeSizer = wx.BoxSizer(wx.HORIZONTAL) + modeLbl = wx.StaticText(panel, -1, text.modeLbl) + citLbl = wx.StaticText(panel, -1, text.citLbl) + autoLbl1 = wx.StaticText(panel, -1, self.plugin.text.autoclose1) + autoLbl2 = wx.StaticText(panel, -1, self.plugin.text.autoclose2) + autoCtrl = eg.SmartSpinIntCtrl( + panel, + -1, + 5, + min=0, + max=9999 + ) + autoSizer = wx.BoxSizer(wx.HORIZONTAL) + autoSizer.Add(autoLbl1, 0, ACV) + autoSizer.Add(autoCtrl, 0, wx.LEFT | wx.RIGHT, 5) + autoSizer.Add(autoLbl2, 0, ACV) + rb0 = panel.RadioButton(mode == 0, self.text.modes[0], style=wx.RB_GROUP) + rb1 = panel.RadioButton(mode == 1, self.text.modes[1]) + choices = [rp[mode + 1] for rp in self.plugin.cities] + citCtrl = wx.ComboBox(panel, -1, choices=choices, style=wx.CB_DROPDOWN) + citCtrl.SetValue(cit) + modeSizer.Add(rb0) + modeSizer.Add(rb1, 0, wx.LEFT, 10) + topSizer = wx.FlexGridSizer(3, 2, 10, 20) + topSizer.AddGrowableCol(1) + topSizer.Add(modeLbl) + topSizer.Add(modeSizer) + topSizer.Add(citLbl, 0, wx.TOP, 4) + topSizer.Add(citCtrl, 0, wx.EXPAND) + + staticBox = wx.StaticBox(panel, label=ptext.respForm) + staticBoxSizer = wx.StaticBoxSizer(staticBox, wx.VERTICAL) + rb2 = panel.RadioButton(resp == 0, ptext.forms1[0], style=wx.RB_GROUP) + rb3 = panel.RadioButton(resp == 1, ptext.forms1[1]) + rb4 = panel.RadioButton(resp == 2, ptext.forms1[2]) + staticBoxSizer.Add(rb2, 0, wx.ALL, 8) + staticBoxSizer.Add(rb3, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 8) + staticBoxSizer.Add(rb4, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 8) + staticBoxSizer.Add(autoSizer, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 8) + + mainSizer = wx.BoxSizer(wx.VERTICAL) + mainSizer.Add(topSizer, 0, wx.EXPAND) + mainSizer.Add(staticBoxSizer, 0, wx.EXPAND | wx.TOP, 15) + panel.sizer.Add(mainSizer, 1, wx.ALL | wx.EXPAND, 10) + + def onRadioBox(evt): + new = rb1.GetValue() + ix = 1 + int(not new) + oldValue = citCtrl.GetValue() + oldChcs = [ct[ix] for ct in self.plugin.cities] + oldIx = oldChcs.index(oldValue) if oldValue in oldChcs else -1 + ix = 1 + new + citCtrl.Clear() + choices = [ct[ix] for ct in self.plugin.cities] + citCtrl.SetItems(choices) + citCtrl.SetSelection(oldIx) + evt.Skip() + + rb0.Bind(wx.EVT_RADIOBUTTON, onRadioBox) + rb1.Bind(wx.EVT_RADIOBUTTON, onRadioBox) + + def onRB4(evt=None): + enbl = rb4.GetValue() + if not enbl: + if not isinstance( + autoCtrl.ctrl, + eg.Classes.SpinNumCtrl.SpinNumCtrl + ): + autoCtrl.ctrl = autoCtrl.CreateCtrl(0) + autoCtrl.SetValue(0) + autoLbl1.Enable(enbl) + autoLbl2.Enable(enbl) + autoCtrl.Enable(enbl) + if evt: + evt.Skip() + + rb2.Bind(wx.EVT_RADIOBUTTON, onRB4) + rb3.Bind(wx.EVT_RADIOBUTTON, onRB4) + rb4.Bind(wx.EVT_RADIOBUTTON, onRB4) + panel.GetParent().GetParent().Show() + + def AfterShow(): + if isinstance(autoclose, int): + autoCtrl.ctrl = autoCtrl.CreateCtrl(0) + autoCtrl.SetValue(autoclose) + autoCtrl.value = autoclose + onRB4() + + wx.CallAfter(AfterShow) + + while panel.Affirmed(): + panel.SetResult( + int(rb1.GetValue()), + citCtrl.GetValue(), + int(rb3.GetValue()) + 2 * int(rb4.GetValue()), + autoCtrl.GetValue() + ) + +# =============================================================================== + + +ACTIONS = ( + ( + enableCity, + "EnableCity", + "Enable city", + "Enables selected city.", + True + ), + ( + enableCity, + "DisableCity", + "Disable city", + "Disables selected city.", + False + ), + ( + GetWeather, + "GetWeather", + "Get current weather", + "Gets current weather.", + None + ), + ( + GetForecast, + "GetForecast", + "Get forecast", + "Gets 5 day/3 hour forecast data.", + None + ), +) diff --git a/plugins/PS3/__init__.py b/plugins/PS3/__init__.py index 0feca881c..dcdd1650c 100644 --- a/plugins/PS3/__init__.py +++ b/plugins/PS3/__init__.py @@ -476,9 +476,9 @@ def Configure(self, ( ( item.vendorId == 0x054C or item.vendorId == 0x609 ) and item.productId == 0x0306 ) or item.devicePath == path ): - idx = hidList.InsertStringItem(sys.maxint, item.productString) - hidList.SetStringItem(idx, 1, item.vendorString) - hidList.SetStringItem(idx, 2, self.text.yes) + idx = hidList.InsertItem(sys.maxint, item.productString) + hidList.SetItem(idx, 1, item.vendorString) + hidList.SetItem(idx, 2, self.text.yes) if item.devicePath == path: hidList.Select(idx) devices[idx] = item @@ -492,9 +492,9 @@ def Configure(self, productID, productString, versionNumber) - idx = hidList.InsertStringItem(sys.maxint, item.productString) - hidList.SetStringItem(idx, 1, item.vendorString) - hidList.SetStringItem(idx, 2, self.text.no) + idx = hidList.InsertItem(sys.maxint, item.productString) + hidList.SetItem(idx, 1, item.vendorString) + hidList.SetItem(idx, 2, self.text.no) hidList.Select(idx) devices[idx] = item @@ -627,7 +627,10 @@ def OnEnduringEventsChange(event): ###################################################################### while panel.Affirmed(): - device = devices[hidList.GetFirstSelected()] + dev = hidList.GetFirstSelected() + if dev == -1: + continue + device = devices[dev] panel.SetResult( eventNameCtrl.GetValue(), enduringEventsCtrl.GetValue(), diff --git a/plugins/Phillips Hue/__init__.py b/plugins/Phillips Hue/__init__.py new file mode 100644 index 000000000..b64e4bd2d --- /dev/null +++ b/plugins/Phillips Hue/__init__.py @@ -0,0 +1,3179 @@ +version = "0.4.3" + +# plugins/PhilipsHue/__init__.py +# +# Copyright (C) 2015-2018 Aquila +# +# This file is a plugin for EventGhost. +# +# Known bugs in latest version: +# - Apply-button does not get enabled by changes in listbox i configdialog for "createGroup". +# - Changing lights (with this plugin) via scenes or with long transtiontimes will in some cases still trigger an event. +# +# Planed functions: +# - catchEvent will be able to detect changes in settings for hue groups. +# +# Changelog (in reverse chronological order): +# ------------------------------------------- +# 0.4.3 by Aquila 2018-03-03 +# - Fixed bug in SaveStatus where non-colored lights made an error. (Thanks to stoffix for reporting the bug.) +# - Fixed bug in "Search for new lights" +# 0.4.2 by Aquila 2016-10-18 +# - Non-colored lights now handled correctly by eventthread. +# - Buttonstate switches now correctly supported. +# 0.4.1.1 by Aquila 2016-10-15 +# - Test code for "ButtonState" switch for jjazdk. +# 0.4.1 by Aquila 2016-10-05 +# - Searching for new sensors on init added. +# - Removed fetching of current position of daylight sensor in config. Due to change in Hue Bridge behaviour. +# - In ChangeLight there is now the posibility to choose if the light is turned on or not by the command. +# - Fixed unhandled exception that crashed the plugin if a light with no colormode was changed by another app. +# - Fixed error where the light change event triggerd even if change was by this plugin on systems where lights where not in numerical order from Hue Bridge. +# - Plugin now catches daylight sensor changes. +# - Events from changes in light status now has the new changed setting as payload. +# 0.4.0.1 by Aquila 2016-04-30 +# - Eventthread now detects errors in list of lights in groups, so that it does not try to get list of lights from deletede groups. +# 0.4.0 by Aquila 2016-04-06 +# - Plugin should now get button pushed event from all types of switches. (As requested by Windhowl.) +# - Changes in light status NOT made by this plugin will trigger event: PhilipsHue..changed +# - createScene no longer requiers 3. string to be "" to create a NEW scene. 3. string still needs to be existing scene to override. (Thanks to yokel22) +# - Fixed bug in error output in functions "isGroupOn", "getGroupStatusAsCommand" and "getStatus" when plugin set to print everything. (Thanks to yokel22) +# 0.3.6.5 by Aquila 2016-02-26 +# - Fix crash in config dialog for the plugin. +# 0.3.6.4 by Aquila 2016-02-19 +# - Cleaned up test code that broke the plugin. +# - Fixed bug in info output in "getGroupStatus". (Thanks to RiseUp for pointing me to this.) +# 0.3.6.3 by Aquila 2016-01-01 +# - Fixed bug in error/info output in "isOn". (Thanks to bxr for pointing me to this.) +# 0.3.6.2 by Aquila 2015-08-09 +# - Fixed bugs in "cloneLight", "cloneLight2Group" and "cloneGroup". Thanks to yokel22 for pointing me to this. +# 0.3.6.1 by Aquila 2015-08-07 +# - Fixed bug in configpanel for new setups. +# 0.3.6 by Aquila 2015-08-04 +# - Added configuration of Daylight sensor. (Built in sensor in Hue Bridge, depends on date/time and positon NOT real light. Leave position to 'none' to not use.) +# - Added button in Configdialog to get random username from bridge. (Philips Hue have removed the posibility to choose own username.) +# - Removed "register" function due to new method to connect to bridge. +# - Fixed small output bug in errorhandeling +# - Eventthread is now stoped on close also, so plugin should no longer hang Eventghost after closing. (Thanks to krad23 for pointing me to this problem.) +# 0.3.5 by Aquila 2015-04-17 (Not published) +# - Option to print errors and results. +# - Improved errorhandeling. +# - Removed puls from "saveStatus". The Hue bridge does not reset puls setting when it is done pulsing, so saving status with puls setting would restart puls on recallStatus. +# - Added option to pulse light on max brightness in "dimUp" and "dimGroupUp" functions. +# 0.3.4 by Aquila 2015-04-16 +# - New function: "cloneLight", "cloneLight2Group" and "cloneGroup". Copy settings from one light/group to another. +# - New functions: "satGroupUp", "hueGroupUp", "satGroupDown" and "hueGroupDown". Increases or decreases hue or saturation of a light by a choosen step. (NB! Changes from current GROUP setting, individual light +# setting may be diffrent.) +# - New functions: "satUp", "satDown", "hueUp" and "hueDown". Increases or decreases hue or saturation of a light by a choosen step. +# 0.3.3 by Aquila 2015-04-01 +# - New functions: "dimUp", "dimDown", "dimGroupUp" and "dimGroupDown". Dims a light or a group. (NB! DimGroup* dims from current GROUP setting, individual light setting may be diffrent.) +# - New functions: "saveStatus" and "recallStatus". Saves and recalls status of a light. (Use scenes for groups.) +# - Fixed multiple bugs in "modifyScene" +# 0.3.2 by Aquila 2015-03-16 +# - New functions: "getStatusasCommand" and "getGroupStatusAsCommand", returns status as a string that can be used by "customCommand" and "customCommandGroup". +# (Save the settings of a light fx to copy to another light or restore after an alert.) +# - Added alert and effect settings to "Change light" and "Change group" commands. +# - Transtiontime added as setting in this commands: TurnOn, toggleLight, toogleGroup, groupOn, groupOff, TurnOff, standardWhite, standardWhiteGroup +# (NB! Using transtiontime to turn off light changes brightnes settings in the bridge.) +# 0.3.1 by Aquila 2015-03-13 +# - Fixed bug in register with bridge function. +# 0.3.0 by Aquila 2015-03-09 +# - Change from "requests" to "httplib" +# - Changed eventthread pull frequency to 2 seconds (earlier 1 second) to prevent overloading the bridge. +# 0.2.3 by Aquila 2015-02-10 (Not published) +# - Reorganized grouping of actions. +# - New function: "modifyScene", modifys scene settings for a light. +# - New function: "createScene", creates new or edits existing scenes. +# - New function: "useScene", uses scene on spesific group. +# - New function: "colorLoopGroup", sends colorloop command to group. +# - New function: "pulseGroup", sends puls/alert command to group. +# - New function: "standardWhiteGroup", changes all lights in group to standard (varm) white. +# - New function: "getGroupStatus", returns status of group as a dictionary. +# - New function: "isGroupOn", return if group is set to off (return False) or on (retirn True). +# - New function: "customCommandGroup", send custom command to a group of lights. +# - New function: "editGroup", edit Group (rename and change lights in group). +# - Fixed bug in connectionerror handeling in eventthread. +# - New function: "deleteGroup", deletes one or more groups. +# - New function: "changeGroup", changes light from a group of lights. +# 0.2.2 by Aquila 2015-02-07 +# - New function: "getSensorStatus", returns dictionary of one sensor. +# - Cleand up some code. (hue() returns dictionary instead of json) +# - Fixed bug in configdialog for "ChangeLight". +# - New function: "toggleGroup", toggles lights in group on/off. +# - New function: "toggleLight", toggles light on/off. +# - Fixed bug in connectionerror handeling in eventthread. +# - Catches connection error at plugin startup. +# 0.2.1 by Aquila 2015-02-06 +# - Fixed bug with eventthread breaking the plugin when username was not registered. +# - Actions grouped in the AddActionsDialog of EG. +# - Group functions: groupOn, groupOff, createGroup +# 0.2.0 by Aquila 2015-02-05 +# - Throws event if button is pushed on Hue Tap (PhilipsHue..buttonXX (XX is exchanged with button nr). +# - Throws event if state change sensor (PhilpsHue..change) +# - Throws event if lights are added or removed from bridge index. +# - Fixed bug that made choice of light incorrect in config +# - New function: "renameLight", changes name of a light. +# - New function: "getNewLights", makes the Bridge search for new lights. +# - Throws event if light gets reachable or unreachable. +# - Upgrading from 0.1.0 requiers you to rerun the "Register" command. +# - Can configure username. +# - Hue API handled internaly in plugin, no longer needs "phue" library. +# 0.1.0 by Aquila 2015-02-01 +# - First version + +eg.RegisterPlugin( + name = "Philips Hue", + author = "Aquila", + version = version, + kind = "other", + guid = '{2D00FC82-2E09-4C3A-898A-D92FA19DCA62}', + description = "This plugin will controll Philips Hue via the Hue Bridge.", + url = "http://www.eventghost.net/forum/viewtopic.php?f=9&t=6770", + createMacrosOnAdd=True, +) + +import httplib +import json +import ast +from threading import Event, Thread + + +class PhilipsHue(eg.PluginBase): + + def __init__(self): + self.bridge = '' + self.username = '' + self.devicename = '' + self.outlvl = 'None' + self.reachable = [] + self.sensors = {} + self.saved = {} + + single = self.AddGroup( + "Lights", + "Action for single lights" + ) + single.AddAction(TurnOn) + single.AddAction(TurnOff) + single.AddAction(dimUp) + single.AddAction(dimDown) + single.AddAction(toggleLight) + single.AddAction(standardWhite) + single.AddAction(ChangeLight) + single.AddAction(satUp) + single.AddAction(satDown) + single.AddAction(hueUp) + single.AddAction(hueDown) + single.AddAction(cloneLight) + single.AddAction(CustomCommand) + single.AddAction(getSensorStatus) + + effects = single.AddGroup( + "Effects", + "Effects for single light" + ) + effects.AddAction(Pulse_once) + effects.AddAction(Pulse_30sec) + effects.AddAction(Pulse_stop) + effects.AddAction(Colorloop) + effects.AddAction(Colorloop_stop) + + status = single.AddGroup( + "Status", + "Status from single light" + ) + status.AddAction(saveStatus) + status.AddAction(recallStatus) + status.AddAction(isOn) + status.AddAction(getStatus) + status.AddAction(getStatusAsCommand) + + settings = single.AddGroup( + "Settings", + "Settings for single light" + ) + settings.AddAction(getNewLights) + settings.AddAction(renameLight) + + + groups = self.AddGroup( + "Group Actions", + "Actions for groups of lights" + ) + groups.AddAction(groupOn) + groups.AddAction(groupOff) + groups.AddAction(toggleGroup) + groups.AddAction(dimGroupUp) + groups.AddAction(dimGroupDown) + groups.AddAction(changeGroup) + groups.AddAction(standardWhiteGroup) + groups.AddAction(useScene) + groups.AddAction(satGroupUp) + groups.AddAction(satGroupDown) + groups.AddAction(hueGroupUp) + groups.AddAction(hueGroupDown) + groups.AddAction(customCommandGroup) + groups.AddAction(pulseGroup) + groups.AddAction(colorLoopGroup) + groups.AddAction(cloneLight2Group) + groups.AddAction(cloneGroup) + + grstatus = groups.AddGroup( + "Group Status", + "Status from group of lights" + ) + grstatus.AddAction(isGroupOn) + grstatus.AddAction(getGroupStatus) + grstatus.AddAction(getGroupStatusAsCommand) + + grsettings = groups.AddGroup( + "Group Settings", + "Settings for groups of lights" + ) + grsettings.AddAction(createGroup) + grsettings.AddAction(deleteGroup) + grsettings.AddAction(editGroup) + grsettings.AddAction(createScene) + grsettings.AddAction(modifyScene) + + + + def __start__(self, bridge,username, devicename='My Computer', outlvl='Errors only', auto='Off'): + print "PhilipsHue is started, and connecting to: " + bridge + "..." + self.bridge = bridge + self.username = username + self.devicename = devicename + self.outlvl = outlvl + self.autorestore = auto + self.stopThreadEvent = Event() + + # Check if user is registered + adress = '/api/' + self.username + '/lights' + + r = self.req(adress) + + if r==False: + print "Connection error, wrong bridge-IP or bridge not accessible" + r = '' + + if type(r) == type([]) or r == '': + if r != '': print "Error: Not registered with bridge." + else: + print "Connected!" + #Make list of reachable lights + list = self.hue() + self.reachable = [] + self.all_lights = list + self.changed = [] + self.changed_group = [] + for l in list: + self.reachable.append(list[l]['state']['reachable']) + #self.all_lights.append(list[l]) + + #Get sensors at start + self.findSensors() + self.sensors = self.getSensors() + thread = Thread( + target=self.catchEvents, + args=(self.stopThreadEvent, ) + ) + thread.start() + + + def __stop__(self): + if not self.stopThreadEvent.isSet(): self.stopThreadEvent.set() + print "PhilipsHue is stopped." + + def __close__(self): + if not self.stopThreadEvent.isSet(): self.stopThreadEvent.set() + print "PhilipsHue is closed." + + def catchEvents(self, stopThreadEvent): + + while not stopThreadEvent.isSet(): + #Load lights + wait = 2.0 + old = self.reachable + old_all = self.all_lights + list = self.hue() + if list != False: + self.reachable = [] + self.all_lights = list + for l in list: + self.reachable.append(list[l]['state']['reachable']) + #self.all_lights.append(list[l]) + + #New lights? + if len(old) < len(self.reachable): self.TriggerEvent("light.added") + if len(old) > len(self.reachable): self.TriggerEvent("light.removed") + + #Add group changes to changed light list + for g in self.changed_group: + g1 = self.hue(g,'', True) + if type(g1) == type([]): + self.printError(g1[0]) + else: + for l in g1['lights']: + self.changed.append(int(l)) + + #for x in range(len(old)): + #Changed reachable? + #if old[x] != self.reachable[x]: + # if old[x] == True: self.TriggerEvent(str(x) + ".unreachable") + # else: self.TriggerEvent(str(x) + ".reachable") + for old_value in old_all: + + #Changed light + x = str(old_value) + old_value = old_all[old_value] + if old_value != self.all_lights[x]: + + #Reachable + if old_value['state']['reachable'] != self.all_lights[x]['state']['reachable']: + if old_value['state']['reachable'] == True: self.TriggerEvent(str(x) + ".unreachable") + else: self.TriggerEvent(str(x) + ".reachable") + + #Changed + if int(x) not in self.changed: + if old_value['state']['on'] != self.all_lights[x]['state']['on']: + if self.all_lights[x]['state']['on']: self.TriggerEvent(str(x)+ ".on") + else: self.TriggerEvent(str(x)+ ".off") + else: + state_vars = ["bri", "hue", "sat", "alert", "effect"] + changes = {} + for txt in state_vars: + try: + if txt in old_value['state']: + if old_value['state'][txt] != self.all_lights[x]['state'][txt]: + changes[txt] = self.all_lights[x]['state'][txt] + except KeyError: + print("Keyerror: Probably none-colored light.") + if changes != {}: + self.TriggerEvent(str(x)+ ".changed", changes) + else: + wait = 5.0 + print "Holding back on eventthread. (lightchanges)" + + #reset changed list + self.changed = [] + self.changed_group = [] + + old_sensors = self.sensors + self.sensors = self.getSensors() + if self.sensors != False: + if old_sensors != self.sensors: + for i in old_sensors: + if old_sensors[i]['state'] != self.sensors[i]['state']: + #if old_sensors[i]['type'] == 'ZGPSwitch': + if 'buttonevent' in self.sensors[i]['state']: + self.TriggerEvent(old_sensors[i]['name'] + '.button' + str(self.sensors[i]['state']['buttonevent'])) + elif 'daylight' in self.sensors[i]['state']: + self.TriggerEvent(old_sensors[i]['name'] + '.daylight' + str(self.sensors[i]['state']['daylight'])) + else: + # Start test code + if 'modelid' in self.sensors[i]: + if self.sensors[i]['modelid'] == 'ButtonState': + if self.sensors[i]['state']['status'] != old_sensors[i]['state']['status']: + self.TriggerEvent(old_sensors[i]['name'] + '.status_' + str(self.sensors[i]['state']['status'])) + else: self.TriggerEvent(old_sensors[i]['name'] + '.change') + # End test code (remember else in next line) + else: self.TriggerEvent(old_sensors[i]['name'] + '.change') + else: + self.sensors = old_sensors + wait = 5.0 + print "Holding back on eventthread. (sensorchanges)" + + + stopThreadEvent.wait(wait) + + def Configure(self, bridge="", username="EventGhost", devicename='My Computer', outlvl='Errors only', auto='Off'): + panel = eg.ConfigPanel() + helpString = "Configure to connect to your Philpis Hue Bridge." + helpLabel=panel.StaticText(helpString) + bridgeHostEdit=panel.TextCtrl(bridge) + devicenameEdit= panel.TextCtrl(devicename) + usernameEdit=panel.TextCtrl(username) + longEdit=panel.TextCtrl('none') + latEdit=panel.TextCtrl('none') + + lvlchoices = ['None', 'Errors only', 'All results'] + + selectLvl = panel.Choice(lvlchoices.index(outlvl), choices=lvlchoices) + #autoRestore = panel.Choice(autorestore.index(auto), choices=['On','Off']) + + usernamebu = wx.Button(panel,-1, 'Get username from bridge') + def Username(event): + dlg = wx.MessageDialog(panel, "Push button on bridge and then OK to fetch new username", "New username", wx.OK|wx.CANCEL|wx.ICON_QUESTION) + result = dlg.ShowModal() + dlg.Destroy() + if result == wx.ID_OK: + self.bridge = bridgeHostEdit.GetValue() + adress = '/api' + device = 'EventGhostPlugin#' + devicenameEdit.GetValue() + command = {'devicetype' : device} + res = self.req(adress, "POST", command) + if res != False: + res = res[0] + error = self.errorRead(res) + if error != 'Success': + print error + else: + newname = res['success']['username'] + usernameEdit.SetValue(newname) + else: + print "Error: Could not connect to bridge!" + usernamebu.Bind(wx.EVT_BUTTON, Username) + + initlong = 'none' + initlat = 'none' + #print self.sensors + #for s in self.sensors: + # if self.sensors[s]['type'] == 'Daylight': + # initlong = self.sensors[s]['config']['long'] + # initlat = self.sensors[s]['config']['lat'] + longEdit.SetValue(initlong) + latEdit.SetValue(initlat) + + panel.AddLine(helpLabel) + panel.AddLine("Bridge IP : ",bridgeHostEdit) + panel.AddLine("Device name : ",devicenameEdit) + panel.AddLine("Username : ", usernameEdit, usernamebu) + panel.AddLine("Output level: ", selectLvl) + #panel.AddLine("Restore light status after power off (can be up to 30 sec delay): ", autoRestore) + panel.AddLine("Postion: (xxx.xxxx(N/S/E/W) example long: 006.6572E)") + panel.AddLine("Long:(E/W) ", longEdit, "Lat:(N/S)" , latEdit) + + + + while panel.Affirmed(): + newlong = longEdit.GetValue() + newlat = latEdit.GetValue() + if newlong != initlong or newlat != initlat: + for s in self.sensors: + if self.sensors[s]['type'] == 'Daylight': + adr = "/api/" + self.username + "/sensors/" + s + command = {} + command['config'] = {'long' : newlong, 'lat' : newlat} + res = self.req(adr,'PUT',command) + error = self.errorRead(res[0]) + if error != 'Success': + print error + else: + print 'New postion saved to bridge!' + panel.SetResult(bridgeHostEdit.GetValue(), usernameEdit.GetValue(), devicenameEdit.GetValue(), selectLvl.GetStringSelection(), auto) + + + + def req(self, page, methode='GET', body=''): + data = False + if body!='': + body = json.dumps(body) + + server = httplib.HTTPConnection(self.bridge) + try: + server.request(methode, page, body) + except: + print "Connectionerror 1" + data = False + else: + try: + response = server.getresponse() + except: + print "Connectionerror 2" + data = False + else: + if response.status == 200: + try: + data = response.read() + except: + print "Connectionerror 4" + data = False + else: + data = json.loads(data) + else: + print "Connectionerror 3" + data = False + server.close() + + return data + + def hue(self, light='', command='', group=False): + adress = '/api/' + self.username + if group == True: adress += '/groups' + else: adress += '/lights' + if light != '': adress += '/' + str(light) + if command == '': + r = self.req(adress) + else: + if group == True: adress += '/action' + else: adress += '/state' + r = self.req(adress, "PUT", command) + + #light changed + if (light!='' and command!=''): + if group==False: self.changed.append(light) + else: self.changed_group.append(light) + + if isinstance(r, bool): + r = [] + + return r + + def listlights(self, group=False): + if group == True: + list = self.hue(group=True) + lights = ['00 - All lights'] + else: + list = self.hue() + lights = [] + + for l in list: + lights.append(str(l).zfill(2) + " - " + list[l]['name']) + return sorted(lights) + + def listscenes(self): + r = self.getScene() + if isinstance(r, bool): + return [] + scenes = [] + for s in r: + scenes.append(r[s]['name']) + + return sorted(scenes) + + def sceneId(self, scene): + r = self.getScene() + id = False + + for s in r: + if r[s]['name'] == scene: + id = str(s) + break + return id + + def getScene(self, scene=''): + adress = '/api/' + self.username + '/scenes' + + r = self.req(adress) + if r!=False: + if scene == '': return r + else: return r[scene] + else: return r + + def listSensors(self): + list = self.getSensors() + sensors = [] + for l in list: + sensors.append(str(l).zfill(2) + " - " + list[l]['name']) + return sorted(sensors) + + def striplight(self, light): + r = light.split(' - ') + return int(r[0]) + + def choiceNr(self, choices, light): + r = 1 + for i in choices: + if i == light: + r = self.striplight(i) + break + return r + + def getSensors(self, sensor=''): + adress = '/api/' + self.username + '/sensors' + if sensor!='': adress += '/' + str(sensor) + r = self.req(adress) + if isinstance(r, bool): + return [] + return r + + def findSensors(self): + adress = '/api/' + self.username + '/sensors' + r = self.req(adress, 'POST') + return r + + def errorLvl(self, lvl='All'): + r = False + if lvl == 'All': + if self.outlvl == 'All results': r = True + if lvl == 'Error': + if self.outlvl != 'None': r = True + return r + + def errorRead(self, error): + if 'error' in error: + type = error['error']['type'] + des = error['error']['description'] + r = 'Error ' + str(type) + ': ' + des + else: r = 'Success' + return r + + def printError(self, error): + r = self.errorRead(error) + if self.outlvl == 'All results': print r + if self.outlvl == 'Errors only': + if r != 'Success': + print r + + def ttime(self, command, ttime): + if ttime != '': + try: + command['transitiontime'] = int(ttime) + except ValueError: + if self.errorLvl('Error'): print 'Error: Transtiontime is non-integer, using default transtiontime.' + return command + +class TurnOn(eg.ActionBase): + name = "Turn on light" + description = "Turns on a specified light." + + + def __call__(self, light, ttime=''): + light = self.plugin.striplight(light) + command = {'on' : True} + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime=''): + panel = eg.ConfigPanel() + helpString = "Select light to turn on" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue()) + +class dimUp(eg.ActionBase): + name = "Dim Up light" + description = "Dims a light up." + + + def __call__(self, light, ttime='', dim='20', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light) + try: + dim = int(dim) + except ValueError: + dim = 20 + if self.plugin.errorLvl('Error'): print 'Error: Dim up is non-integer, using default dim % (20).' + if dim < 0: + dim = 0 + if self.plugin.errorLvl('Error'): print 'Error: Dim is lower than 0, using 0.' + if dim > 100: + dim = 100 + if self.plugin.errorLvl('Error'): print 'Error: Dim is higher than 100, using 100.' + dim = (254/100) * dim + bri = r1['state']['bri'] + command = {'on' : True} + if r1['state']['on'] == False: newbri = 0 + else: + if bri < (254-dim): newbri = bri + dim + else: + newbri = 254 + if blink == True: command['alert'] = 'select' + command['bri'] = newbri + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime='', dim='20', blink=True): + panel = eg.ConfigPanel() + helpString = "Select light to dim up" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + dimvalue = panel.TextCtrl(dim) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Dim up in %: ", dimvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at maximum brightness", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), dimvalue.GetValue(), blinkcheck.GetValue()) + +class satUp(eg.ActionBase): + name = "Increase Sat" + description = "Increases saturation for a light." + + + def __call__(self, light, ttime='', sat='40', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light) + try: + sat = int(sat) + except ValueError: + sat = 40 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is non-integer, using default saturation change (40).' + if sat < 0: + sat = 0 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change lower than 0, using 0.' + if sat > 254: + sat = 254 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change higher than 254, using 254.' + oldsat = r1['state']['sat'] + command = {'on' : True} + if oldsat < (254-sat): newsat = oldsat + sat + else: + newsat = 254 + if blink == True: command['alert'] = 'select' + command['sat'] = newsat + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime='', sat='40', blink=True): + panel = eg.ConfigPanel() + helpString = "Select light to increase saturation" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + satvalue = panel.TextCtrl(sat) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Saturation increase: ", satvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at maximum saturation", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), satvalue.GetValue(), blinkcheck.GetValue()) + +class hueUp(eg.ActionBase): + name = "Increase Hue" + description = "Increases hue for a light." + + + def __call__(self, light, ttime='', hue='1000', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light) + try: + hue = int(hue) + except ValueError: + hue = 1000 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is non-integer, using default Hue change (1000).' + if hue < 0: + hue = 0 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is lower than 0, using 0.' + if hue > 65535: + hue = 65535 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is higher than 65535, using 65535.' + oldhue = r1['state']['hue'] + command = {'on' : True} + if oldhue < (65535-hue): newhue = oldhue + hue + else: + newhue = 65535 + if blink == True: command['alert'] = 'select' + command['hue'] = newhue + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime='', hue='1000', blink=True): + panel = eg.ConfigPanel() + helpString = "Select light to increase hue" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + huevalue = panel.TextCtrl(hue) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Hue increase: ", huevalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at maximum hue", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), huevalue.GetValue(), blinkcheck.GetValue()) + +class dimDown(eg.ActionBase): + name = "Dim Down light" + description = "Dims a light down." + + + def __call__(self, light, ttime='', dim='20'): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light) + try: + dim = int(dim) + except ValueError: + dim = 20 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is non-integer, using default dim change (20).' + if dim < 0: + dim = 0 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is lower than 0, using 0.' + if dim > 100: + dim = 100 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is higher than 100, using 100.' + dim = (254/100) * dim + bri = r1['state']['bri'] + if r1['state']['on'] == True: + if bri == 0: command = {'on' : False} + else: + command = {'on' : True} + if (bri-dim) > 0: newbri = bri - dim + else: newbri = 0 + command['bri'] = newbri + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + else: + r = False + if self.plugin.errorLvl('All'): print 'Info: Light is already off.' + return r + + def Configure(self, light=1, ttime='', dim='20'): + panel = eg.ConfigPanel() + helpString = "Select light to dim down" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + dimvalue = panel.TextCtrl(dim) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Dim down in %: ", dimvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), dimvalue.GetValue()) + +class satDown(eg.ActionBase): + name = "Decrease Sat" + description = "Decreases saturation for a light." + + + def __call__(self, light, ttime='', sat='40', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light) + try: + sat = int(sat) + except ValueError: + sat = 40 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is non-integer, using default saturation change (40).' + if sat < 0: + sat = 0 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is lower than 0, using 0.' + if sat > 254: + sat = 254 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is higher than 254, using 0.' + oldsat = r1['state']['sat'] + command = {'on' : True} + if (oldsat-sat) > 0: newsat = oldsat - sat + else: + newsat = 0 + if blink == True: command['alert'] = 'select' + command['sat'] = newsat + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime='', sat='40', blink=True): + panel = eg.ConfigPanel() + helpString = "Select light to decrease saturation" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + satvalue = panel.TextCtrl(sat) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Saturation decrease: ", satvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at minimum saturation", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), satvalue.GetValue(), blinkcheck.GetValue()) + +class hueDown(eg.ActionBase): + name = "Decrease Hue" + description = "Decreases hue for a light." + + + def __call__(self, light, ttime='', hue='1000', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light) + try: + hue = int(hue) + except ValueError: + hue = 1000 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is non-integer, using default Hue change (1000).' + if hue < 0: + hue = 0 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is lower than 0, using 0.' + if hue > 65535: + hue = 65535 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is higher than 65535, using 65535.' + oldhue = r1['state']['hue'] + command = {'on' : True} + if (oldhue-hue) > 0: newhue = oldhue - hue + else: + newhue = 0 + if blink == True: command['alert'] = 'select' + command['hue'] = newhue + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime='', hue='1000', blink=True): + panel = eg.ConfigPanel() + helpString = "Select light to decrease hue" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + huevalue = panel.TextCtrl(hue) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Hue decrease: ", huevalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at minimum hue", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), huevalue.GetValue(), blinkcheck.GetValue()) + +class dimGroupUp(eg.ActionBase): + name = "Dim group up" + description = "Dims lights in group up. (NB! Dims up from current GROUP setting, individual light setting may be diffrent.)" + + + def __call__(self, light, ttime='', dim='20', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light, group=True) + try: + dim = int(dim) + except ValueError: + dim = 20 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is non-integer, using default dim change (20).' + if dim < 0: + dim = 0 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is lower than 0, using 0.' + if dim > 100: + dim = 100 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is higher than 100, using 100.' + dim = (254/100) * dim + bri = r1['action']['bri'] + command = {'on' : True} + if r1['action']['on'] == False: newbri = 0 + else: + if bri < (254-dim): newbri = bri + dim + else: + newbri = 254 + if blink == True: command['alert'] = 'select' + command['bri'] = newbri + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, light='00 - All lights', ttime='', dim='20', blink=True): + panel = eg.ConfigPanel() + helpString = "Select group of lights to dim up." + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + dimvalue = panel.TextCtrl(dim) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Dim up in %: ", dimvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at maximum brightness", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), dimvalue.GetValue(), blinkcheck.GetValue()) + +class satGroupUp(eg.ActionBase): + name = "Increase Group Sat" + description = "Increases saturation for a group. (NB! Increases from current GROUP setting, individual light setting may be diffrent.)" + + + def __call__(self, light, ttime='', sat='40', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light, group=True) + try: + sat = int(sat) + except ValueError: + sat = 40 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is non-integer, using default Saturation change (40).' + if sat < 0: + sat = 0 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is lower than 0, using 0.' + if sat > 254: + sat = 254 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is higher than 254, using 254.' + oldsat = r1['action']['sat'] + command = {'on' : True} + if oldsat < (254-sat): newsat = oldsat + sat + else: + newsat = 254 + if blink == True: command['alert'] = 'select' + command['sat'] = newsat + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + def Configure(self, light='00 - All lights', ttime='', sat='40', blink=True): + panel = eg.ConfigPanel() + helpString = "Select group to increase saturation" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + satvalue = panel.TextCtrl(sat) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Saturation increase: ", satvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at maximum saturation", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), satvalue.GetValue(), blinkcheck.GetValue()) + +class hueGroupUp(eg.ActionBase): + name = "Increase Group Hue" + description = "Increases hue for a group. (NB! Increases from current GROUP setting, individual light setting may be diffrent.)" + + + def __call__(self, light, ttime='', hue='1000', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light, group=True) + try: + hue = int(hue) + except ValueError: + hue = 1000 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is non-integer, using default hue change (1000).' + if hue < 0: + hue = 0 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is lower than 0, using 0.' + if hue > 65535: + hue = 65535 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is higher than 65535, using 65535.' + oldhue = r1['action']['hue'] + command = {'on' : True} + if oldhue < (65535-hue): newhue = oldhue + hue + else: + newhue = 65535 + if blink == True: command['alert'] = 'select' + command['hue'] = newhue + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + def Configure(self, light='00 - All lights', ttime='', hue='1000', blink=True): + panel = eg.ConfigPanel() + helpString = "Select group to increase hue" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + huevalue = panel.TextCtrl(hue) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Hue increase: ", huevalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at maximum hue", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), huevalue.GetValue(), blinkcheck.GetValue()) + + +class dimGroupDown(eg.ActionBase): + name = "Dim group down" + description = "Dims lights in group down. (NB! Dims down from current GROUP setting, individual light setting may be diffrent.)" + + + def __call__(self, light, ttime='', dim='20'): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light, group=True) + try: + dim = int(dim) + except ValueError: + dim = 20 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is non-integer, using default dim change (20).' + if dim < 0: + dim = 0 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is lower than 0, using 0.' + if dim > 100: + dim = 100 + if self.plugin.errorLvl('Error'): print 'Error: Dim change is higher than 100, using 100.' + dim = (254/100) * dim + bri = r1['action']['bri'] + if r1['action']['on'] == True: + if bri == 0: command = {'on' : False} + else: + command = {'on' : True} + if (bri-dim) > 0: newbri = bri - dim + else: newbri = 0 + command['bri'] = newbri + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + else: + r = False + if self.plugin.errorLvl('All'): print 'Info: Group is already off.' + return r + + def Configure(self, light='00 - All lights', ttime='', dim='20'): + panel = eg.ConfigPanel() + helpString = "Select group of lights to dim down." + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + dimvalue = panel.TextCtrl(dim) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Dim down in %: ", dimvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), dimvalue.GetValue()) + +class satGroupDown(eg.ActionBase): + name = "Decrease Group Sat" + description = "Decreases saturation for a group. (NB! Decreases from current GROUP setting, individual light setting may be diffrent.)" + + + def __call__(self, light, ttime='', sat='40', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light, group=True) + try: + sat = int(sat) + except ValueError: + sat = 40 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is non-integer, using default Saturation change (40).' + if sat < 0: + sat = 0 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is lower than 0, using 0.' + if sat > 254: + sat = 254 + if self.plugin.errorLvl('Error'): print 'Error: Saturation change is higher than 254, using 254.' + oldsat = r1['action']['sat'] + command = {'on' : True} + if (oldsat-sat) > 0: newsat = oldsat - sat + else: + newsat = 0 + if blink == True: command['alert'] = 'select' + command['sat'] = newsat + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + def Configure(self, light='00 - All lights', ttime='', sat='40', blink=True): + panel = eg.ConfigPanel() + helpString = "Select group to decrease saturation" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + satvalue = panel.TextCtrl(sat) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Saturation decrease: ", satvalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at minimum saturation", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), satvalue.GetValue(), blinkcheck.GetValue()) + +class hueGroupDown(eg.ActionBase): + name = "Decrease Group Hue" + description = "Decreases hue for a group. (NB! Decreases from current GROUP setting, individual light setting may be diffrent.)" + + + def __call__(self, light, ttime='', hue='1000', blink=True): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light, group=True) + try: + hue = int(hue) + except ValueError: + hue = 1000 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is non-integer, using default Hue change (1000).' + if hue < 0: + hue = 0 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is lower than 0, using 0.' + if hue > 65535: + hue = 65535 + if self.plugin.errorLvl('Error'): print 'Error: Hue change is higher than 65535, using 65535.' + oldhue = r1['action']['hue'] + command = {'on' : True} + if (oldhue-hue) > 0: newhue = oldhue - hue + else: + newhue = 0 + if blink == True: command['alert'] = 'select' + command['hue'] = newhue + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + def Configure(self, light='00 - All lights', ttime='', hue='1000', blink=True): + panel = eg.ConfigPanel() + helpString = "Select group to decrease hue" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + huevalue = panel.TextCtrl(hue) + ttimeEdit = panel.TextCtrl(ttime) + blinkcheck = panel.CheckBox() + blinkcheck.SetValue(blink) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Hue decrease: ", huevalue) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Puls light when at minimum hue", blinkcheck) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue(), huevalue.GetValue(), blinkcheck.GetValue()) + +class toggleLight(eg.ActionBase): + name = "Toggle light on/off" + description = "Toggles a specified light on/off." + + + def __call__(self, light, ttime=''): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light) + if r1['state']['on'] == True: command = {'on' : False} + else: command = {'on' : True} + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime=''): + panel = eg.ConfigPanel() + helpString = "Select light to toggle on/off" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue()) + +class toggleGroup(eg.ActionBase): + name = "Toggle group on/off" + description = "Toggles lights in a group on/off." + + + def __call__(self, light, ttime=''): + light = self.plugin.striplight(light) + r1 = self.plugin.hue(light, group=True) + if r1['action']['on'] == True: command = {'on' : False} + else: command = {'on' : True} + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + def Configure(self, light='00 - All lights', ttime=''): + panel = eg.ConfigPanel() + helpString = "Select group of lights to toggle on/off" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue()) + +class groupOn(eg.ActionBase): + name = "Turn on lights in group" + description = "Turns on lights in a specified group." + + + def __call__(self, light, ttime=''): + light = self.plugin.striplight(light) + command = {'on' : True} + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + def Configure(self, light='00 - All lights', ttime=''): + panel = eg.ConfigPanel() + helpString = "Select group of lights to turn on" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue()) + + +class TurnOff(eg.ActionBase): + name = "Turn off light" + description = "Turns off a specified light." + + def __call__(self, light, ttime=''): + light = self.plugin.striplight(light) + command = {'on' : False} + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + + def Configure(self, light=1, ttime=''): + panel = eg.ConfigPanel() + helpString = "Select light to turn off" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue()) + +class groupOff(eg.ActionBase): + name = "Turn off lights in group" + description = "Turns off lights in a specified group." + + + def __call__(self, light, ttime=''): + light = self.plugin.striplight(light) + command = {'on' : False} + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command, group=True) + self.plugin.printError(r) + return r + + def Configure(self, light='00 - All lights', ttime=''): + panel = eg.ConfigPanel() + helpString = "Select group of lights to turn off" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Group: ", selectLight) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue()) + +class standardWhite(eg.ActionBase): + name = "Turn light white" + description = "Turns light white (and on)." + + def __call__(self, light, ttime=''): + light = self.plugin.striplight(light) + command = {'on' : True, 'hue' : 14922, 'sat' : 144, 'bri' : 254 } + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, ttime=''): + panel = eg.ConfigPanel() + helpString = "Select light to turn white" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), ttimeEdit.GetValue()) + + +class Pulse_once(eg.ActionBase): + name = "Pulse light" + description = "Pulse a specified light." + + def __call__(self, light): + light = self.plugin.striplight(light) + command = {'alert' : 'select'} + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to pulse" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class Pulse_30sec(eg.ActionBase): + name = "Pulse light for 30 seconds" + description = "Pulse a specified light for 30 seconds." + + def __call__(self, light): + light = self.plugin.striplight(light) + command = {'alert' : 'lselect'} + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to pulse for 30 seconds" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class Pulse_stop(eg.ActionBase): + name = "Stop a pulse light" + description = "Stops a pulse for a specified light." + + def __call__(self, light): + light = self.plugin.striplight(light) + command = {'alert' : 'none'} + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to stop pulsing" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class ChangeLight(eg.ActionBase): + name = "Change light" + description = "Changes settings for a specified light. (Also turns on the light if it is off.)" + + def __call__(self, light, brightness, saturation, color, ttime, alert=0, effect=0, on=0): + if on == 0: + command = {'on' : True} + if on == 1: + command = {'on' : False} + if on == 2: + command = {} + if on == 3: + r1 = self.plugin.hue(light) + if r1['state']['on'] == True: command = {'on' : False} + else: command = {'on' : True} + if brightness != '': + try: + command['bri'] = int(brightness) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Brightness setting is non-integer, skipping brightness.' + if saturation != '': + try: + command['sat'] = int(saturation) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Saturation setting is non-integer, skipping saturation.' + if color != '': + try: + command['hue'] = int(color) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Hue setting is non-integer, skipping hue.' + command = self.plugin.ttime(command, ttime) + if alert != 0: + if alert == 1: command['alert'] = 'none' + if alert == 2: command['alert'] = 'select' + if alert == 3: command['alert'] = 'lselect' + if effect != 0: + if effect == 1: command['effect'] = 'none' + if effect == 2: command['effect'] = 'colorloop' + + light = self.plugin.striplight(light) + + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, brightness='', saturation='', color='', ttime='', alert=0, effect=0, on=0): + panel = eg.ConfigPanel(self) + helpString = "Change settings of specified light.\n" + helpString += "NB! Using values outside the specified range will make the command fail.\n" + helpString += "Leaving blank will make Philips Hue use current value." + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + + light = self.plugin.choiceNr(lightChoices, light) + selectLight = panel.Choice(light-1, choices=lightChoices) + + onChoices = ['On', 'Off', '(no change)', 'Toggle'] + selectOn = panel.Choice(on, choices=onChoices) + alertChoices = ['(no change)', 'No alert', 'One puls', '30 sec puls'] + selectAlert = panel.Choice(alert, choices=alertChoices) + effectChoices = ['(no change)', 'No effect', 'Colorloop'] + selectEffect = panel.Choice(effect, choices=effectChoices) + + brightnessEdit = panel.TextCtrl(brightness) + saturationEdit = panel.TextCtrl(saturation) + colorEdit = panel.TextCtrl(color) + ttimeEdit = panel.TextCtrl(ttime) + + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("Turn light on/off: ", selectOn) + panel.AddLine("Brightness (0-254, 0 is not off.): ", brightnessEdit) + panel.AddLine("Saturation (0-254, 0 is white - 254 most color.): ", saturationEdit) + panel.AddLine("Color (0-65535, both 0 and 65525 is red, 25500 is green and 46920 is blue.): ", colorEdit) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + panel.AddLine("Select alertmode: (use 'no change' if sure correct mode is allready in use)", selectAlert) + panel.AddLine("Select effectmode: (use 'no change' if sure correct mode is allready in use)", selectEffect) + + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), brightnessEdit.GetValue(), saturationEdit.GetValue(), colorEdit.GetValue(), ttimeEdit.GetValue(), selectAlert.GetCurrentSelection(), selectEffect.GetCurrentSelection(), selectOn.GetCurrentSelection()) + + + +class isOn(eg.ActionBase): + name = "Checks if light is on" + description = "Checks if a specified light is on. Returns True if on, and False if off." + + def __call__(self, light): + light = self.plugin.striplight(light) + r = self.plugin.hue(light) + if self.plugin.errorLvl('All'): print 'Info: ' + str(r['state']['on']) + return r['state']['on'] + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to check" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class getStatus(eg.ActionBase): + name = "Get status" + description = "Gets the status of a specified light. Returns a dictionary." + + def __call__(self, light): + light = self.plugin.striplight(light) + r = self.plugin.hue(light) + if self.plugin.errorLvl('All'): print 'Info: ' + str(r) + return r + + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to get status for" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class getStatusAsCommand(eg.ActionBase): + name = "Get status as Command" + description = "Gets the status of a specified light. Returns a commandstring." + + def __call__(self, light): + light = self.plugin.striplight(light) + r = self.plugin.hue(light) + r = r['state'] + res = {} + commands = ['on', 'hue', 'bri', 'sat', 'effect', 'alert'] + for i in commands: + if i in r: res[i] = r[i] + r = str(res) + if self.plugin.errorLvl('All'): print 'Info: ' + r + return r + + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to get status for" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class saveStatus(eg.ActionBase): + name = "Save status" + description = "Saves status of light. This can be recalled with the recallStatus function." + + def __call__(self, light): + light = self.plugin.striplight(light) + r = self.plugin.hue(light) + r = r['state'] + res = {} + commands = ['on', 'hue', 'bri', 'sat', 'effect'] + for i in commands: + if i in r: res[i] = r[i] + self.plugin.saved[light] = res + if self.plugin.errorLvl('All'): print 'Saved: ' + str(res) + return res + + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to save status for" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class recallStatus(eg.ActionBase): + name = "Recall status" + description = "Recalls status of light saved with saveStatus function." + + def __call__(self, light): + light = self.plugin.striplight(light) + if light in self.plugin.saved: + r = self.plugin.hue(light, self.plugin.saved[light]) + self.plugin.printError(r) + else: + r = False + if self.plugin.errorLvl('Error'): print 'Error: No saved status for this light.' + return r + + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to recall status for" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class cloneLight(eg.ActionBase): + name = "Clone light settings" + description = "Clones the light settings from one light to another." + + def __call__(self, light, reciver, ttime=''): + light = self.plugin.striplight(light) + reciver = self.plugin.striplight(reciver) + r = self.plugin.hue(light) + r = r['state'] + res = {} + commands = ['on', 'hue', 'bri', 'sat', 'effect'] + for i in commands: + if i in r: + res[i] = r[i] + res = self.plugin.ttime(res, ttime) + r = self.plugin.hue(reciver, res) + self.plugin.printError(r) + return r + + + def Configure(self, light=1, reciver=1, ttime=''): + panel = eg.ConfigPanel() + #helpString = "Select light to clone" + #helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + reciver = self.plugin.choiceNr(lightChoices, reciver) + + selectLight = panel.Choice(light-1, choices=lightChoices) + selectLight2 = panel.Choice(reciver-1, choices=lightChoices) + + ttimeEdit = panel.TextCtrl(ttime) + + #panel.AddLine(helpLabel) + panel.AddLine("Source light: ", selectLight) + panel.AddLine("Target light: ", selectLight2) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), selectLight2.GetStringSelection(), ttimeEdit.GetValue()) + +class cloneLight2Group(eg.ActionBase): + name = "Clone light settings to group" + description = "Clones the light settings from one light to a group." + + def __call__(self, light, reciver, ttime=''): + light = self.plugin.striplight(light) + reciver = self.plugin.striplight(reciver) + r = self.plugin.hue(light) + r = r['state'] + res = {} + commands = ['on', 'hue', 'bri', 'sat', 'effect'] + for i in commands: + if i in r: + res[i] = r[i] + res = self.plugin.ttime(res, ttime) + r = self.plugin.hue(reciver, res, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, light=1, reciver='00 - All lights', ttime=''): + panel = eg.ConfigPanel() + #helpString = "Select light to clone" + #helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + groupChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + reciver = self.plugin.choiceNr(groupChoices, reciver) + + selectLight = panel.Choice(light-1, choices=lightChoices) + selectLight2 = panel.Choice(reciver, choices=groupChoices) + ttimeEdit = panel.TextCtrl(ttime) + #panel.AddLine(helpLabel) + panel.AddLine("Source light: ", selectLight) + panel.AddLine("Target group: ", selectLight2) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), selectLight2.GetStringSelection(), ttimeEdit.GetValue()) + + +class cloneGroup(eg.ActionBase): + name = "Clone group settings" + description = "Clones the group settings from one group to another. (NB! Clones from current GROUP setting, individual light setting may be diffrent.)" + + def __call__(self, light, reciver, ttime=''): + light = self.plugin.striplight(light) + reciver = self.plugin.striplight(reciver) + r = self.plugin.hue(light, group=True) + r = r['action'] + res = {} + commands = ['on', 'hue', 'bri', 'sat', 'effect'] + for i in commands: + if i in r: + res[i] = r[i] + res = self.plugin.ttime(res, ttime) + r = self.plugin.hue(reciver, res, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, light='00 - All lights', reciver='00 - All lights', ttime=''): + panel = eg.ConfigPanel() + #helpString = "Select light to clone" + #helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights(group=True) + light = self.plugin.choiceNr(lightChoices, light) + reciver = self.plugin.choiceNr(lightChoices, reciver) + + selectLight = panel.Choice(light, choices=lightChoices) + selectLight2 = panel.Choice(reciver, choices=lightChoices) + ttimeEdit = panel.TextCtrl(ttime) + #panel.AddLine(helpLabel) + panel.AddLine("Source group: ", selectLight) + panel.AddLine("Target group: ", selectLight2) + panel.AddLine("Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms).)", ttimeEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), selectLight2.GetStringSelection(), ttimeEdit.GetValue()) + +class getSensorStatus(eg.ActionBase): + name = "Get sensor status" + description = "Gets the status of a specified sensor. Returns a dictionary." + + def __call__(self, sensor): + sensor = self.plugin.striplight(sensor) + r = self.plugin.getSensors(sensor) + if self.plugin.errorLvl('All'): print 'Info: ' + str(r) + return r + + def Configure(self, sensor=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select sensor to get status from:" + helpLabel=panel.StaticText(helpString) + + + sensorChoices = self.plugin.listSensors() + + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=sensorChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(sensor) + listBoxCtrl.SetSelection(r) + + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + + panel.SetResult(sensorChoices[listBoxCtrl.GetSelection()]) + + +class Colorloop(eg.ActionBase): + name = "Run colorloop" + description = "Run colorloop on a specified light." + + def __call__(self, light): + light = self.plugin.striplight(light) + command ={'effect' : 'colorloop'} + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to run colorloop" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class Colorloop_stop(eg.ActionBase): + name = "Stop colorloop" + description = "Stop colorloop on a specified light." + + def __call__(self, light): + light = self.plugin.striplight(light) + command ={'effect' : 'none'} + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1): + panel = eg.ConfigPanel() + helpString = "Select light to stop colorloop" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection()) + +class CustomCommand(eg.ActionBase): + name = "Custom command" + description = "Send a custom command to a specified light." + + def __call__(self, light, command): + light = self.plugin.striplight(light) + try: + command = ast.literal_eval(command) + except SyntaxError: + if self.plugin.errorLvl('Error'): print 'Error: Incorrect syntax in command.' + r = False + else: + r = self.plugin.hue(light, command) + self.plugin.printError(r) + return r + + def Configure(self, light=1, command="{'on' : True}"): + panel = eg.ConfigPanel() + helpString = "Send custom command to a light" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + + selectLight = panel.Choice(light-1, choices=lightChoices) + + commandEdit=panel.TextCtrl(command) + + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine(commandEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), commandEdit.GetValue()) + +class getNewLights(eg.ActionBase): + name = "Search for new lights" + description = "Makes the bridge search for new lights (and switches) for 1 minute. To add a Hue Tap, press and hold button 1 for 10 seconds." + + def __call__(self): + adress = '/api/' + self.plugin.username + '/lights' + r = self.plugin.req(adress, "POST") + if self.plugin.errorLvl('All'): print 'Info: ' + str(r) + return r + +class renameLight(eg.ActionBase): + name = "Rename light" + description = "Changesname of specified light." + + + def __call__(self, light, newname): + if newname != '': + adress = '/api/' + self.plugin.username + '/lights/' + str(light) + command = {'name' : newname} + r = self.plugin.req(adress, "PUT", command) + self.plugin.printError(r) + else: + r = False + if self.plugin.errorLvl('Error'): print 'Error: No new name given.' + return r + + def Configure(self, light=1, newname=''): + panel = eg.ConfigPanel() + helpString = "Select light to rename" + helpLabel=panel.StaticText(helpString) + + lightChoices = self.plugin.listlights() + light = self.plugin.choiceNr(lightChoices, light) + renameEdit=panel.TextCtrl(newname) + + selectLight = panel.Choice(light-1, choices=lightChoices) + panel.AddLine(helpLabel) + panel.AddLine("Light: ", selectLight) + panel.AddLine("New name: ", renameEdit) + while panel.Affirmed(): + panel.SetResult(selectLight.GetStringSelection(), renameEdit.GetValue()) + +class createGroup(eg.ActionBase): + name = "Create group" + description = "Creates a group of lights." + + + def __call__(self, light, newname): + r = [] + if newname != '': + for l in light: + r.append(str(self.plugin.striplight(l))) + adress = '/api/' + self.plugin.username + '/groups' + command = {'lights' : r, 'name' : newname} + res = self.plugin.req(adress, "POST", command) + self.plugin.printError(res) + else: + res = False + if self.plugin.errorLvl('Error'): print 'Error: No name given.' + return res + + def Configure(self, light=[], newname=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select lights to put in group." + helpLabel=panel.StaticText(helpString) + helpLabel2=panel.StaticText("Name of Group to make: ") + + lightChoices = self.plugin.listlights() + + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_MULTIPLE|wx.LB_NEEDED_SB, + name=name1 + ) + + for i in light: + r = listBoxCtrl.FindString(i) + listBoxCtrl.SetSelection(r) + + + nameEdit=panel.TextCtrl(newname) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(nameEdit) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelections() + r = [] + for i in list: + r.append(lightChoices[i]) + panel.SetResult(r,nameEdit.GetValue()) + +class changeGroup(eg.ActionBase): + name = "Change group" + description = "Changes settings for a group of lights." + + + def __call__(self, group, brightness, saturation, color, ttime, alert=0, effect=0): + command = {'on' : True} + if brightness != '': + try: + command['bri'] = int(brightness) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Brightness setting is non-integer, skipping brightness.' + if saturation != '': + try: + command['sat'] = int(saturation) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Saturation setting is non-integer, skipping saturation.' + if color != '': + try: + command['hue'] = int(color) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Hue setting is non-integer, skipping hue.' + command = self.plugin.ttime(command, ttime) + if alert != 0: + if alert == 1: command['alert'] = 'none' + if alert == 2: command['alert'] = 'select' + if alert == 3: command['alert'] = 'lselect' + if effect != 0: + if effect == 1: command['effect'] = 'none' + if effect == 2: command['effect'] = 'colorloop' + + group = self.plugin.striplight(group) + + r = self.plugin.hue(group, command, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, group='', brightness='', saturation='', color='', ttime='', alert=0, effect=0): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to change settings for." + helpLabel=panel.StaticText(helpString) + helpString2 = "Change settings of a group of lights." + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + brightnessHelp = panel.StaticText("Brightness (1-254)") + brightnessEdit = panel.TextCtrl(brightness) + saturationHelp = panel.StaticText("Saturation (1-254)") + saturationEdit = panel.TextCtrl(saturation) + colorHelp = panel.StaticText("Color (0-65535)") + colorEdit = panel.TextCtrl(color) + ttimeHelp = panel.StaticText("Transitiontime (10 is 1 sec)") + ttimeEdit = panel.TextCtrl(ttime) + alertHelp = panel.StaticText("Select alertmode:") + alertChoices = ['(no change)', 'No alert', 'One puls', '30 sec puls'] + selectAlert = panel.Choice(alert, choices=alertChoices) + effectHelp = panel.StaticText("Select effectmode:") + effectChoices = ['(no change)', 'No effect', 'Colorloop'] + selectEffect = panel.Choice(effect, choices=effectChoices) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(spacer) + rightbox.Add(brightnessHelp) + rightbox.Add(brightnessEdit) + rightbox.Add(saturationHelp) + rightbox.Add(saturationEdit) + rightbox.Add(colorHelp) + rightbox.Add(colorEdit) + rightbox.Add(ttimeHelp) + rightbox.Add(ttimeEdit) + rightbox.Add(alertHelp) + rightbox.Add(selectAlert) + rightbox.Add(effectHelp) + rightbox.Add(selectEffect) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r, brightnessEdit.GetValue(), saturationEdit.GetValue(), colorEdit.GetValue(), ttimeEdit.GetValue(), selectAlert.GetCurrentSelection(), selectEffect.GetCurrentSelection()) + +class deleteGroup(eg.ActionBase): + name = "Delete group(s)" + description = "Delete one or more groups." + + + def __call__(self, groups): + r = [] + for g in groups: + adress = '/api/' + self.plugin.username + '/groups/' + adress += str(self.plugin.striplight(g)) + res = self.plugin.req(adress, "DELETE") + r.append(res) + self.plugin.printError(res) + return r + + + def Configure(self, group=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select groups to delete." + helpLabel=panel.StaticText(helpString) + helpString2 = " " + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + lightChoices.remove('00 - All lights') + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_MULTIPLE|wx.LB_NEEDED_SB, + name=name1 + ) + + for i in group: + r = listBoxCtrl.FindString(i) + listBoxCtrl.SetSelection(r) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(spacer) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelections() + r = [] + for i in list: + r.append(lightChoices[i]) + panel.SetResult(r) + +class editGroup(eg.ActionBase): + name = "Edit group" + description = "Edit attributes for a group of lights." + + + def __call__(self, group, lights, newname): + group = self.plugin.striplight(group) + + adress = '/api/' + self.plugin.username + '/groups/' + adress += str(group) + + newlights = [] + for l in lights: + newlights.append(self.plugin.striplight(l)) + + command = {'name' : newname, 'lights' : newlights} + r = self.plugin.req(adress, "PUT", command) + self.plugin.printError(r) + return r + + + def Configure(self, group='', lights=[], newname=''): + + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + centerbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to edit:" + helpLabel=panel.StaticText(helpString) + helpString2 = "Select members of group:" + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + groupChoices = self.plugin.listlights(group=True) + groupChoices.remove('00 - All lights') + lightChoices = self.plugin.listlights() + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'groupBoxCtrl' + wxID_FRAME1LISTBOX2 = wx.NewIdRef() + name2 = 'lightBoxCtrl' + + self.groupBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=groupChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + self.lightBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX2, + choices=lightChoices, + style=wx.LB_MULTIPLE|wx.LB_NEEDED_SB, + name=name2 + ) + + for i in lights: + res = self.lightBoxCtrl.FindString(i) + self.lightBoxCtrl.SetSelection(res) + + r = self.groupBoxCtrl.FindString(group) + self.groupBoxCtrl.SetSelection(r) + + panel.Bind(wx.EVT_LISTBOX, self.OnSelectGroup, self.groupBoxCtrl) + + newnameHelp = panel.StaticText("Edit name of group:") + self.newnameEdit = panel.TextCtrl(newname) + + leftbox.Add(helpLabel) + leftbox.Add(self.groupBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + centerbox.Add(helpLabel2) + centerbox.Add(self.lightBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(newnameHelp) + rightbox.Add(self.newnameEdit) + + grid = wx.GridSizer(1,3,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(centerbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = self.groupBoxCtrl.GetSelection() + r = groupChoices[list] + list2 = self.lightBoxCtrl.GetSelections() + r2 = [] + for i in list2: + r2.append(lightChoices[i]) + panel.SetResult(r, r2, self.newnameEdit.GetValue()) + + def OnSelectGroup(self, event): + s = self.groupBoxCtrl.GetString(self.groupBoxCtrl.GetSelection()) + s = self.plugin.striplight(s) + r = self.plugin.hue(s, group=True) + + for x in range(0,self.lightBoxCtrl.GetCount()): + self.lightBoxCtrl.Deselect(x) + + for i in r['lights']: + for l in range(0,self.lightBoxCtrl.GetCount()): + if int(i) == self.plugin.striplight(self.lightBoxCtrl.GetString(l)): + self.lightBoxCtrl.SetSelection(l) + self.newnameEdit.SetValue(r['name']) + +class customCommandGroup(eg.ActionBase): + name = "Custom command to a group" + description = "Sends a custom command to a group of lights." + + + def __call__(self, group, command): + try: + command = ast.literal_eval(command) + except SyntaxError: + if self.plugin.errorLvl('Error'): print 'Error: Incorrect syntax in command.' + r = False + else: + group = self.plugin.striplight(group) + r = self.plugin.hue(group, command, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, group='', command=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to send custom command" + helpLabel=panel.StaticText(helpString) + helpString2 = "Send custom command" + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + commandEdit = panel.TextCtrl(command) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + #rightbox.Add(spacer) + rightbox.Add(commandEdit) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r, commandEdit.GetValue()) + +class isGroupOn(eg.ActionBase): + name = "Is group on" + description = "Returns True if Group is on. (False if off.)" + + + def __call__(self, group): + group = self.plugin.striplight(group) + r = self.plugin.hue(group, group=True) + if self.plugin.errorLvl('All'): print 'Info: ' + str(r['action']['on']) + return r['action']['on'] + + + def Configure(self, group=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to check if is on" + helpLabel=panel.StaticText(helpString) + helpString2 = " " + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r) + +class getGroupStatus(eg.ActionBase): + name = "Get group status" + description = "Returns group status as a dictionary." + + + def __call__(self, group): + group = self.plugin.striplight(group) + r = self.plugin.hue(group, group=True) + if self.plugin.errorLvl('All'): print 'Info: ' + str(r) + return r + + + def Configure(self, group=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to get status from" + helpLabel=panel.StaticText(helpString) + helpString2 = " " + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r) + +class getGroupStatusAsCommand(eg.ActionBase): + name = "Get group status as Command" + description = "Returns group status as a commandstring." + + + def __call__(self, group): + group = self.plugin.striplight(group) + r = self.plugin.hue(group, group=True) + r = r['action'] + res = {} + commands = ['on', 'hue', 'bri', 'sat', 'effect'] + for i in commands: + res[i] = r[i] + r = str(res) + if self.plugin.errorLvl('All'): print 'Info: ' + r + return r + + + def Configure(self, group=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to get status from" + helpLabel=panel.StaticText(helpString) + helpString2 = " " + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r) + +class standardWhiteGroup(eg.ActionBase): + name = "Standard White Group" + description = "Sets group to standard white." + + + def __call__(self, group, ttime=''): + group = self.plugin.striplight(group) + command = {'on' : True, 'hue' : 14922, 'sat' : 144, 'bri' : 254 } + command = self.plugin.ttime(command, ttime) + r = self.plugin.hue(group, command, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, group='', ttime=''): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to set to standard white" + helpLabel=panel.StaticText(helpString) + helpString2 = "Transitiontime (in multipels of 100ms, 10 is 1 sec. Blank field defaults to 4 (400ms)." + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + ttimeEdit = panel.TextCtrl(ttime) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(ttimeEdit) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r, ttimeEdit.GetValue()) + +class pulseGroup(eg.ActionBase): + name = "Pulse group" + description = "Pulses group or cancels pulse." + + + def __call__(self, group, action): + group = self.plugin.striplight(group) + if action == 0: command = {'alert' : 'none'} + if action == 1: command = {'alert' : 'select'} + if action == 2: command = {'alert' : 'lselect'} + + r = self.plugin.hue(group, command, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, group='', action=0): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to send pulse command" + helpLabel=panel.StaticText(helpString) + helpString2 = "Select puls command:" + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + selectPuls = panel.Choice(action, choices=['Stop puls','Pulse once', 'Pulse 30sec']) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(selectPuls) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r, selectPuls.GetValue()) + +class colorLoopGroup(eg.ActionBase): + name = "Colorloop group" + description = "Colorloop group or cancel loop." + + + def __call__(self, group, action): + group = self.plugin.striplight(group) + if action == 0: command = {'effect' : 'none'} + if action == 1: command = {'effect' : 'colorloop'} + + r = self.plugin.hue(group, command, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, group='', action=0): + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select group to colorloop" + helpLabel=panel.StaticText(helpString) + helpString2 = "Select colorloop command:" + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights(group=True) + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'listBoxCtrl' + + listBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + r = listBoxCtrl.FindString(group) + listBoxCtrl.SetSelection(r) + + selectPuls = panel.Choice(action, choices=['Stop loop','Start colorloop']) + + leftbox.Add(helpLabel) + leftbox.Add(listBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(selectPuls) + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = listBoxCtrl.GetSelection() + r = lightChoices[list] + panel.SetResult(r, selectPuls.GetValue()) + +class useScene(eg.ActionBase): + name = "Use scene" + description = "Use a scene on a group." + + + def __call__(self, group, newscene): + group = self.plugin.striplight(group) + newscene = self.plugin.sceneId(newscene) + command = {'scene' : newscene} + r = self.plugin.hue(group, command, group=True) + self.plugin.printError(r) + return r + + + def Configure(self, group='', scene=''): + + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select scene to use:" + helpLabel=panel.StaticText(helpString) + helpString2 = "Select group to use scene on:" + helpLabel2=panel.StaticText(helpString2) + spacer = panel.StaticText(" ") + + groupChoices = self.plugin.listlights(group=True) + sceneChoices = self.plugin.listscenes() + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'groupBoxCtrl' + wxID_FRAME1LISTBOX2 = wx.NewIdRef() + name2 = 'sceneBoxCtrl' + + groupBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=groupChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + sceneBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX2, + choices=sceneChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name2 + ) + + res = sceneBoxCtrl.FindString(scene) + sceneBoxCtrl.SetSelection(res) + + r = groupBoxCtrl.FindString(group) + groupBoxCtrl.SetSelection(r) + + + leftbox.Add(helpLabel) + leftbox.Add(groupBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(sceneBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + + + grid = wx.GridSizer(1,2,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = groupBoxCtrl.GetSelection() + r = groupChoices[list] + list2 = sceneBoxCtrl.GetSelection() + r2 = sceneChoices[list2] + panel.SetResult(r, r2) + +class createScene(eg.ActionBase): + name = "Create scene" + description = "Create a scene with current light settings." + + + def __call__(self, list, newname, scene=''): + adress = '/api/' + self.plugin.username + '/scenes/' + if scene == '': + x = 1 + r = self.plugin.getScene() + while True: + if str(x) not in r: + break + if x == 210: + break + x += 1 + adress += str(x) + else: adress += self.plugin.sceneId(scene) + lights = [] + for l in list: + lights.append(str(self.plugin.striplight(l))) + + command = {'name' : newname, 'lights' : lights} + r = self.plugin.req(adress, "PUT", command) + self.plugin.printError(r) + return r + + + def Configure(self, lights=[], newname='', scene=''): + + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + centerbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select lights to use in scene:" + helpLabel=panel.StaticText(helpString) + helpString2 = "Name of scene:" + helpLabel2=panel.StaticText(helpString2) + helpString3 = "Select scene:" + helpLabel3=panel.StaticText(helpString3) + spacer = panel.StaticText(" ") + + lightChoices = self.plugin.listlights() + sceneChoices = self.plugin.listscenes() + sceneChoices.insert(0, '') + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'sceneBoxCtrl' + wxID_FRAME1LISTBOX2 = wx.NewIdRef() + name2 = 'lightBoxCtrl' + + self.sceneBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=sceneChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + self.lightBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX2, + choices=lightChoices, + style=wx.LB_MULTIPLE|wx.LB_NEEDED_SB, + name=name2 + ) + + r = self.sceneBoxCtrl.FindString(scene) + self.sceneBoxCtrl.SetSelection(r) + + for l in lights: + res = self.lightBoxCtrl.FindString(l) + self.lightBoxCtrl.SetSelection(res) + + self.nameEdit = panel.TextCtrl(newname) + + panel.Bind(wx.EVT_LISTBOX, self.OnSelectScene, self.sceneBoxCtrl) + + leftbox.Add(helpLabel3) + leftbox.Add(self.sceneBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + centerbox.Add(helpLabel) + centerbox.Add(self.lightBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(self.nameEdit) + + + + grid = wx.GridSizer(1,3,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(centerbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + list = self.lightBoxCtrl.GetSelections() + r = [] + for l in list: + r.append(lightChoices[l]) + list2 = self.sceneBoxCtrl.GetSelection() + r2 = sceneChoices[list2] + panel.SetResult(r, self.nameEdit.GetValue(), r2) + + def OnSelectScene(self, event): + for x in range(0,self.lightBoxCtrl.GetCount()): + self.lightBoxCtrl.Deselect(x) + + s = self.sceneBoxCtrl.GetString(self.sceneBoxCtrl.GetSelection()) + if s != '': + r = self.plugin.sceneId(s) + scene = self.plugin.getScene(str(r)) + + for i in scene['lights']: + for l in range(0,self.lightBoxCtrl.GetCount()): + if int(i) == self.plugin.striplight(self.lightBoxCtrl.GetString(l)): + self.lightBoxCtrl.SetSelection(l) + self.nameEdit.SetValue(scene['name']) + else: + self.nameEdit.SetValue('Enter name') + +class modifyScene(eg.ActionBase): + name = "Modify scene" + description = "Modifys a light in a scene." + + + def __call__(self, scene, light, on, brightness, saturation, color, ttime): + adress = '/api/' + self.plugin.username + '/scenes/' + if light != '': + adress += self.plugin.sceneId(scene) + '/lights/' + str(self.plugin.striplight(light)) + '/state' + + if on == 1: command = {'on' : True} + else: command = {'on' : False} + if brightness != '': + try: + command['bri'] = int(brightness) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Brightness is non-integer.' + if saturation != '': + try: + command['sat'] = int(saturation) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Saturation is non-integer.' + if color != '': + try: + command['hue'] = int(color) + except ValueError: + if self.plugin.errorLvl('Error'): print 'Error: Hue is non-integer.' + command = self.plugin.ttime(command, ttime) + + r = self.plugin.req(adress, "PUT", command) + self.plugin.printError(r) + else: + r = False + if self.plugin.errorLvl('Error'): print 'Error: No light choosen.' + return r + + + def Configure(self, scene='', light='', on=1, brightness='', saturation='', color='', ttime=''): + + panel = eg.ConfigPanel() + + leftbox = wx.BoxSizer(wx.VERTICAL) + centerbox = wx.BoxSizer(wx.VERTICAL) + rightbox = wx.BoxSizer(wx.VERTICAL) + + helpString = "Select light to modify:" + helpLabel=panel.StaticText(helpString) + helpString2 = "Modify settings of light:" + helpLabel2=panel.StaticText(helpString2) + helpString3 = "Select scene:" + helpLabel3=panel.StaticText(helpString3) + spacer = panel.StaticText(" ") + + lightChoices = [] + sceneChoices = self.plugin.listscenes() + + wxID_FRAME1LISTBOX1 = wx.NewIdRef() + name1 = 'sceneBoxCtrl' + wxID_FRAME1LISTBOX2 = wx.NewIdRef() + name2 = 'lightBoxCtrl' + + self.sceneBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX1, + choices=sceneChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name1 + ) + + self.lightBoxCtrl = wx.ListBox(panel, + id=wxID_FRAME1LISTBOX2, + choices=lightChoices, + style=wx.LB_SINGLE|wx.LB_NEEDED_SB, + name=name2 + ) + + r = self.sceneBoxCtrl.FindString(scene) + if r > -1: + self.sceneBoxCtrl.SetSelection(r) + + self.OnSelectScene(-1) + self.lightBoxCtrl.SetSelection(self.lightBoxCtrl.FindString(light)) + + panel.Bind(wx.EVT_LISTBOX, self.OnSelectScene, self.sceneBoxCtrl) + + onChooser = panel.Choice(on, choices=['Off' , 'On']) + onChoice = wx.BoxSizer(wx.HORIZONTAL) + onChoiceHelp = panel.StaticText("Turn light: ") + onChoice.Add(onChoiceHelp) + onChoice.Add(onChooser) + brightnessHelp = panel.StaticText("Brightness (1-254)") + brightnessEdit = panel.TextCtrl(brightness) + saturationHelp = panel.StaticText("Saturation (1-254)") + saturationEdit = panel.TextCtrl(saturation) + colorHelp = panel.StaticText("Color (0-65535)") + colorEdit = panel.TextCtrl(color) + ttimeHelp = panel.StaticText("Transitiontime (10 is 1 sec)") + ttimeEdit = panel.TextCtrl(ttime) + + leftbox.Add(helpLabel3) + leftbox.Add(self.sceneBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + centerbox.Add(helpLabel) + centerbox.Add(self.lightBoxCtrl, 1, wx.EXPAND | wx.ALL, 2) + rightbox.Add(helpLabel2) + rightbox.Add(spacer) + rightbox.Add(onChoice) + rightbox.Add(brightnessHelp) + rightbox.Add(brightnessEdit) + rightbox.Add(saturationHelp) + rightbox.Add(saturationEdit) + rightbox.Add(colorHelp) + rightbox.Add(colorEdit) + rightbox.Add(ttimeHelp) + rightbox.Add(ttimeEdit) + + + grid = wx.GridSizer(1,3,1,10) + + grid.Add(leftbox, 1, wx.EXPAND, 0) + grid.Add(centerbox, 1, wx.EXPAND, 0) + grid.Add(rightbox, 1, wx.EXPAND, 0) + + panel.sizer.Add(grid, 1, wx.EXPAND, 0) + + while panel.Affirmed(): + i = self.lightBoxCtrl.GetSelection() + if i >= 0: r = self.lightBoxCtrl.GetString(i) + else: r = '' + + i2 = self.sceneBoxCtrl.GetSelection() + r2 = sceneChoices[i2] + + panel.SetResult(r2, r , onChooser.GetValue(), brightnessEdit.GetValue(), saturationEdit.GetValue(), colorEdit.GetValue(), ttimeEdit.GetValue()) + + def OnSelectScene(self, event): + self.lightBoxCtrl.Clear() + selection = self.sceneBoxCtrl.GetSelection() + if selection >= 0: + s = self.sceneBoxCtrl.GetString(selection) + r = self.plugin.sceneId(s) + scene = self.plugin.getScene(str(r)) + lights = self.plugin.listlights() + for i in scene['lights']: + for l in reversed(lights): + if int(i) == self.plugin.striplight(l): + self.lightBoxCtrl.Append(l) + diff --git a/plugins/Phoner/__init__.py b/plugins/Phoner/__init__.py index aa840521e..8510c8d99 100644 --- a/plugins/Phoner/__init__.py +++ b/plugins/Phoner/__init__.py @@ -719,7 +719,7 @@ def Configure(self, number="", msg="", service=""): textControl1 = wx.TextCtrl(panel, -1, number) textControl2 = wx.TextCtrl(panel, -1, msg) textControl3 = wx.TextCtrl(panel, -1, service) - topSizer = wx.GridSizer(rows=2, cols=2) + topSizer = wx.GridSizer(rows=2, cols=2, vgap=0, hgap=0) topSizer.Add(label1Text,0,wx.ALIGN_BOTTOM,0) topSizer.Add(label3Text,0,wx.ALIGN_BOTTOM,0) topSizer.Add(textControl1,0,wx.TOP,3) diff --git a/plugins/PortCheck/__init__.py b/plugins/PortCheck/__init__.py new file mode 100644 index 000000000..8b7714b93 --- /dev/null +++ b/plugins/PortCheck/__init__.py @@ -0,0 +1,502 @@ +# -*- coding: utf-8 -*- +# +# plugins/PortCheck/__init__.py +# +# This file is a plugin for EventGhost. +# Copyright (C) 2005-2009 Lars-Peter Voss +# +# EventGhost is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by the +# Free Software Foundation; +# +# EventGhost 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, see . + + +import eg + + +eg.RegisterPlugin( + name="PortCheck", + author="bengalih", + version="0.2.2", + kind="other", + guid="{D32066FB-83FA-42D2-AC0D-4C356807268C}", + description=( + "This plugin checks TCP port status (open/closed) on a host. " + "Events can be generated for port status." + ), + createMacrosOnAdd=True, + url="http://www.eventghost.net/forum/viewtopic.php?f=9&t=7423", + icon=( + "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0" + "U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKeSURBVDjLpZPrS5NRHMf9O/Zse2yCBDKi" + "EEFCqL0KEok9mg3FvCxL09290jZj2EyLMnJexkgpLbPUanPObOrU5taUMnHZo4SYe9OFasPoYt/O" + "sxczSXxRB75wOJzP53eucQDi/id/DRT6DiXkTR/U53hS2cwn+8PSx+Kw1JXESp1J+gz73oRdBfne" + "NEbmSQnpPDLcDFrQv9wdTddiC0pdxyDpo0OSXprZUUCqMlnjyZGrc0Y4Vwdge3UNprmqaLi+Y7Uf" + "TTPVOGATRFJsAmabINeTKspyJ69zMDexNlCOSn8pNDNnoCOpIKnxnYX9zT1cnKqE2MJfF1/ni2IC" + "mTvZoBrLjlbmYA5UeU9BMV0ExVQh1FNFcK8NweBVwkEkeb1HkHiFb4gJMh+L2a5gC6zBZlT6SqB8" + "KidgAZSTJJ4CjL91gWuhyBraXzTBNteE+AY+GxMctSduPFi5jbqABlpvMVnJIBY/zkM1UYSxteEo" + "/HPzB9qfX4JhogT9wS4IjdRGTCC5T28MLPfA6Fehzq/F52+fotCHr+9isGW2AWpXDvTu0xgIdkJY" + "+6egl2ZvzDejY+EydJNymH01iHz/EoU3f23C8uwCyp3Z0BBBa6AeHV4z6Gpqawtpt4QG+WA67Ct3" + "UTMhh9p9EvXTFVh6v4D22UaUDR2HwnECOmcu7K97kGE9DLqK2jrEFKtAtI9cjdmjwUP2DqpG86Ed" + "yYVqWAalgwsH5+DRUjeMwyUQqnnrtJoSbXtISc18Jr6Ripjc5XAQSVvADP1oMc6NyNFGtmAnsN5Z" + "DEEZL0JgZsenvKeRz9AmKiTtlKDDb0bfSyv65q2weE1Ib02DUMEL0SqK2fUz0ef5CbSB0tO1FCvU" + "8sJCFS9MKrIkerqM2v0z/Ut+A2fQrOU2UvurAAAAAElFTkSuQmCC" + ), +) + +# changelog: +# 0.2.2 code cleanup + + +import socket +from threading import Event, Lock, Thread + + +prefix = "PortCheck" + + +class PortCheckPlugin(eg.PluginBase): + def __init__(self): + self.hosts = {} + self.AddAction(OneCheck) + self.AddAction(AddHost) + self.AddAction(RemoveHost) + self.AddAction(RemoveAllHosts) + self.AddAction(GetHostsStatus) + + def __start__(self): + print "PortCheck is started." + for host in self.hosts: + print "Starting thread " + self.hosts[host].name + self.hosts[host].StartThread() + + def __stop__(self): + print "PortCheck is stopped." + for host in self.hosts: + print "Stopping thread " + self.hosts[host].name + self.hosts[host].StopThread() + for host in self.hosts: + print "Joining thread " + self.hosts[host].name + self.hosts[host].portcheckThread.join() + + def __close__(self): + print "PortCheck is closed." + while len(self.hosts) > 0: + for host in self.hosts: + print "Removing " + self.hosts[host].name + self.RemoveHost(host) + break + + def RemoveHost(self, host=""): + hostToDel = self.hosts.get(host, None) + if hostToDel: + if hostToDel.GetThreadState() == "Thread is running": + hostToDel.StopThread() + hostToDel.portcheckThread.join() + elif hostToDel.GetThreadState() == "Thread is finishing his job": + hostToDel.portcheckThread.join() + elif hostToDel.GetThreadState() == "Problem !": + print "Problem !!!" + else: + print "--- " + hostToDel.GetThreadState() + del self.hosts[host] + del hostToDel + else: + print "PortCheck Plugin: " + host + " isn't in managed list. Check syntax." + if len(self.hosts) == 0: + print "PortCheck Plugin: Managed list of hosts is empty." + + def AddHost(self, host): + print "PortCheck Plugin: Adding host " + host.name + " to managed list." + hostToDel = self.hosts.get(host.name, None) + if hostToDel: + print "PortCheck Plugin: " + host.name + " already exists in managed list. It will be replaced." + self.RemoveHost(host.name) + self.hosts[host.name] = host + self.hosts[host.name].StartThread() + + +class OneCheck(eg.ActionBase): + name = "Quick Host Check" + description = "Check host port once. The port state is returned in eg.result. Optionally, you can generate an event." + + def __call__(self, hostName, displayName, portNumber, timeoutNumber, sendEvent, eventPortOpen, eventPortClosed): + global prefix + + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(timeoutNumber) + + print hostName + try: + result = sock.connect_ex((hostName, portNumber)) + sock.close() + if result == 0: + hostStatus = "port open" + else: + hostStatus = "port closed" + except: + hostStatus = "hostname unresolved" + print "Error: can't resolve " + hostName + + if eventPortOpen == "": + if displayName == "": + eventPortOpen = hostName + "_PORT_OPEN" + else: + eventPortOpen = displayName + "_PORT_OPEN" + if eventPortClosed == "": + if displayName == "": + eventPortClosed = hostName + "_PORT_CLOSED" + else: + eventPortClosed = displayName + "_PORT_CLOSED" + if sendEvent: + if hostStatus == "port open": + eg.TriggerEvent(prefix=prefix, suffix=eventPortOpen) + else: + eg.TriggerEvent(prefix=prefix, suffix=eventPortClosed) + return hostStatus + + def Configure(self, hostName="", displayName="", portNumber=80, timeoutNumber=3, sendEvent=False, eventPortOpen="", + eventPortClosed=""): + panel = eg.ConfigPanel() + displayNameEdit = panel.TextCtrl(displayName) + hostNameEdit = panel.TextCtrl(hostName) + portNumberEdit = panel.SpinIntCtrl(portNumber, min=0, max=65535) + timeoutNumberEdit = panel.SpinIntCtrl(timeoutNumber, min=1, max=60) + sendEventEdit = panel.CheckBox(sendEvent) + eventPortOpenEdit = panel.TextCtrl(eventPortOpen) + eventPortClosedEdit = panel.TextCtrl(eventPortClosed) + panel.AddLine("Display Name (optional): ", displayNameEdit) + panel.AddLine("Hostname or IP Address (required): ", hostNameEdit) + panel.AddLine("Port Number to test (0-65535): ", portNumberEdit) + panel.AddLine("Timeout (1-60s): ", timeoutNumberEdit) + panel.AddLine() + panel.AddLine( + "If below is enabled, will generate an event corresponding to the host response. eg.results will always return 'port open/closed':") + panel.AddLine("Generate an event?", sendEventEdit) + panel.AddLine("Event to fire on port open (optional. Default: [Display Name]_PORT_OPEN): ", eventPortOpenEdit) + panel.AddLine("Event to fire on port closed (optional. Default: [Display Name]_PORT_CLOSED):", + eventPortClosedEdit) + while panel.Affirmed(): + panel.SetResult( + hostNameEdit.GetValue(), + displayNameEdit.GetValue(), + portNumberEdit.GetValue(), + timeoutNumberEdit.GetValue(), + sendEventEdit.GetValue(), + eventPortOpenEdit.GetValue(), + eventPortClosedEdit.GetValue() + ) + + +class AddHost(eg.ActionBase): + name = "Add Managed Host" + description = "Adds a host/port pair to a list of watched hosts. Each host/port pair is run in a different thread." + + def __call__(self, hostName, displayName, portNumber, timeoutNumber, checkintervalNumber, eventPortOpen, + eventPortClosed, delayEventPortOpen, repeatTriggerEventOpen, delayEventPortClosed, + repeatTriggerEventClosed, printDebugMessages): + instName = hostName + ":" + str(portNumber) + host = Host(instName, hostName, displayName, portNumber, timeoutNumber, checkintervalNumber, eventPortOpen, + eventPortClosed, delayEventPortOpen, repeatTriggerEventOpen, delayEventPortClosed, + repeatTriggerEventClosed, printDebugMessages) + self.plugin.AddHost(host) + + def Configure(self, hostName="", displayName="", portNumber=80, timeoutNumber=3, checkintervalNumber=5, + eventPortOpen="", eventPortClosed="", delayEventPortOpen=1, repeatTriggerEventOpen=0, + delayEventPortClosed=1, repeatTriggerEventClosed=0, printDebugMessages=0): + panel = eg.ConfigPanel() + displayNameEdit = panel.TextCtrl(displayName) + hostNameEdit = panel.TextCtrl(hostName) + portNumberEdit = panel.SpinIntCtrl(portNumber, min=0, max=65535) + timeoutNumberEdit = panel.SpinIntCtrl(timeoutNumber, min=1, max=60) + checkintervalNumberEdit = panel.SpinIntCtrl(checkintervalNumber, min=1, max=86400) + eventPortOpenEdit = panel.TextCtrl(eventPortOpen) + eventPortClosedEdit = panel.TextCtrl(eventPortClosed) + delayEventPortOpenEdit = panel.SpinIntCtrl(delayEventPortOpen, min=1, max=99999) + repeatTriggerEventOpenEdit = panel.SpinIntCtrl(repeatTriggerEventOpen, min=0, max=99999) + delayEventPortClosedEdit = panel.SpinIntCtrl(delayEventPortClosed, min=1, max=99999) + repeatTriggerEventClosedEdit = panel.SpinIntCtrl(repeatTriggerEventClosed, min=0, max=99999) + printDebugMessagesEdit = panel.CheckBox(printDebugMessages) + + panel.AddLine("Display Name (optional): ", displayNameEdit) + panel.AddLine("Hostname or IP Address (required): ", hostNameEdit) + panel.AddLine("Port Number to test (0-65535): ", portNumberEdit) + panel.AddLine("Timeout (1-60s): ", timeoutNumberEdit) + panel.AddLine("Check Interval (1-86400s): ", checkintervalNumberEdit) + panel.AddLine() + panel.AddLine("Event Settings:") + panel.AddLine("Event to fire on port open (optional. Default: [Display Name]_PORT_OPEN): ", eventPortOpenEdit) + panel.AddLine("Event to fire on port closed (optional. Default: [Display Name]_PORT_CLOSED):", + eventPortClosedEdit) + panel.AddLine() + panel.AddLine("Number of contiguous successful port checks before firing the port open event: ", + delayEventPortOpenEdit) + panel.AddLine("Repeat port open events after contiguous number of occurrences (0=no repeat):", + repeatTriggerEventOpenEdit) + panel.AddLine("Number of contiguous unsuccessful port checks before firing the port closed event: ", + delayEventPortClosedEdit) + panel.AddLine("Repeat port closed events after contiguous number of occurrences (0=no repeat):", + repeatTriggerEventClosedEdit) + panel.AddLine("Print debug messages: ", printDebugMessagesEdit) + + while panel.Affirmed(): + panel.SetResult( + hostNameEdit.GetValue(), + displayNameEdit.GetValue(), + portNumberEdit.GetValue(), + timeoutNumberEdit.GetValue(), + checkintervalNumberEdit.GetValue(), + eventPortOpenEdit.GetValue(), + eventPortClosedEdit.GetValue(), + delayEventPortOpenEdit.GetValue(), + repeatTriggerEventOpenEdit.GetValue(), + delayEventPortClosedEdit.GetValue(), + repeatTriggerEventClosedEdit.GetValue(), + printDebugMessagesEdit.GetValue(), + ) + + +class RemoveHost(eg.ActionBase): + name = "Remove Managed Host" + description = "Removes a host/port pair from list of managed hosts. The associated thread will be stopped." + + def __call__(self, instName): + self.plugin.RemoveHost(instName) + + def Configure(self, instName=""): + panel = eg.ConfigPanel() + instNameEdit = panel.TextCtrl(instName) + panel.AddLine("Enter the hostname:port pair to remove from managed hosts:") + panel.AddLine("Hostname:port (e.g: 10.10.10.100:80): ", instNameEdit) + while panel.Affirmed(): + panel.SetResult( + instNameEdit.GetValue()) + + +class RemoveAllHosts(eg.ActionBase): + name = "Remove All Managed Hosts" + description = "Clears the managed hosts list. All threads will be stopped." + + def __call__(self): + res = {} + for hostName in self.plugin.hosts: + res[hostName] = hostName + for hostName in res: + self.plugin.RemoveHost(hostName) + + +class GetHostsStatus(eg.ActionBase): + name = "Get Managed Hosts Status" + description = "Returns eg.result containing the status of all managed hosts." + description += "This can be used to output host status to other events/script." + + def __call__(self, displayNameShow, hostNameShow, portNumberShow, closedPortsShow, openPortsShow, returnDict, + printDebugMessages): + res = {} + returnString = "" + if not self.plugin.hosts and printDebugMessages: + print "No managed hosts" + return + for hostName in self.plugin.hosts: + host = self.plugin.hosts[hostName] + if (host.GetStatus() == "port open" and openPortsShow == 1) or ( + host.GetStatus() == "port closed" and closedPortsShow == 1): + res[hostName] = "" + if displayNameShow == 1: + res[hostName] += host.displayName + "," + if hostNameShow == 1: + res[hostName] += host.hostName + "," + if portNumberShow == 1: + res[hostName] += str(host.portNumber) + "," + res[hostName] = res[hostName][:-1] # trim trailing comma + if returnDict == 1: + if printDebugMessages: + print res + return res + else: + for hostName in res: + returnString = returnString + res[hostName] + "\n" + returnString = returnString[:-1] # trim trailing line return + if printDebugMessages: + print returnString + return returnString + + def Configure(self, displayNameShow=1, hostNameShow=1, portNumberShow=1, closedPortsShow=1, openPortsShow=0, + returnDict=0, printDebugMessages=0): + panel = eg.ConfigPanel() + displayNameEdit = panel.CheckBox(displayNameShow) + hostNameEdit = panel.CheckBox(hostNameShow) + portNumberEdit = panel.CheckBox(portNumberShow) + closedPortsEdit = panel.CheckBox(closedPortsShow) + openPortsEdit = panel.CheckBox(openPortsShow) + returnDictEdit = panel.CheckBox(returnDict) + printDebugMessagesEdit = panel.CheckBox(printDebugMessages) + panel.AddLine("Select the items to return in a status query\n") + panel.AddLine("Closed port status: ", closedPortsEdit, "Open ports status: ", openPortsEdit, "\n") + panel.AddLine("Display names: ", displayNameEdit) + panel.AddLine("Host names: ", hostNameEdit) + panel.AddLine("Port numbers: ", portNumberEdit) + panel.AddLine("Return result as dictionary: ", returnDictEdit) + panel.AddLine("Print debug messages: ", printDebugMessagesEdit) + while panel.Affirmed(): + panel.SetResult( + displayNameEdit.GetValue(), + hostNameEdit.GetValue(), + portNumberEdit.GetValue(), + closedPortsEdit.GetValue(), + openPortsEdit.GetValue(), + returnDictEdit.GetValue(), + printDebugMessagesEdit.GetValue() + ) + + +class Host: + def __init__(self, instName, hostName, displayName, portNumber, timeoutNumber, checkintervalNumber, eventPortOpen, + eventPortClosed, delayEventPortOpen, repeatTriggerEventOpen, delayEventPortClosed, + repeatTriggerEventClosed, printDebugMessages): + self.name = instName + self.hostName = hostName + self.displayName = displayName + self.portNumber = portNumber + self.timeoutNumber = timeoutNumber + self.checkintervalNumber = checkintervalNumber + self.repeatTriggerEventOpen = repeatTriggerEventOpen + self.repeatTriggerEventClosed = repeatTriggerEventClosed + self.printDebugMessages = printDebugMessages + self.status = "unknown" + self.lastPortCheckResult = "unknown" + global prefix + + if eventPortOpen == "": + if displayName == "": + self.eventPortOpen = self.name + "_PORT_OPEN" + else: + self.eventPortOpen = displayName + "_PORT_OPEN" + else: + self.eventPortOpen = eventPortOpen + + if eventPortClosed == "": + if displayName == "": + self.eventPortClosed = self.name + "_PORT_CLOSED" + else: + self.eventPortClosed = displayName + "_PORT_CLOSED" + else: + self.eventPortClosed = eventPortClosed + + self.delayEventPortOpen = delayEventPortOpen + self.delayEventPortClosed = delayEventPortClosed + + self.portcheckThread = None + self.stopPortCheckThreadEvent = Event() + self.lock = Lock() + + def PortCheckThread(self, stopPortCheckThreadEvent): + print "PortCheck Plugin: Thread " + self.name + " is starting. Socket Timeout=" + str( + self.timeoutNumber) + "s Check Interval=" + str(self.checkintervalNumber) + "s" + + eventsPortOpen = 0 + eventsPortClosed = 0 + repeatCounterOpen = 0 + repeatCounterClosed = 0 + + while not stopPortCheckThreadEvent.isSet(): + if self.printDebugMessages: + print "Thread " + self.name + " is running. Last status: " + self.lastPortCheckResult + ". repeatCounterOpen=" + str( + repeatCounterOpen) + "/" + str(self.repeatTriggerEvent) + " repeatCounterClosed=" + str( + repeatCounterClosed) + "/" + str(self.repeatTriggerEvent) + + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(self.timeoutNumber) + result = sock.connect_ex((self.hostName, self.portNumber)) + sock.close() + + if result == 0: + eventsPortOpen += 1 + eventsPortClosed = 0 + repeatCounterClosed = 0 + self.lock.acquire() + try: + self.lastPortCheckResult = "port open" + if eventsPortOpen >= self.delayEventPortOpen: + if self.status != "port open": + self.status = "port open" + eg.TriggerEvent(prefix=prefix, suffix=self.eventPortOpen) + repeatCounterOpen = 0 + if self.repeatTriggerEventOpen > 0 and repeatCounterOpen == self.repeatTriggerEventOpen: + eg.TriggerEvent(prefix=prefix, suffix=self.eventPortOpen) + repeatCounterOpen = 0 + + finally: + self.lock.release() + repeatCounterOpen += 1 + else: + eventsPortOpen = 0 + eventsPortClosed += 1 + repeatCounterOpen = 0 + self.lock.acquire() + try: + self.lastPortCheckResult = "port closed" + if eventsPortClosed >= self.delayEventPortClosed: + if self.status != "port closed": + self.status = "port closed" + eg.TriggerEvent(prefix=prefix, suffix=self.eventPortClosed) + repeatCounterClosed = 0 + if self.repeatTriggerEventClosed > 0 and repeatCounterClosed == self.repeatTriggerEventClosed: + eg.TriggerEvent(prefix=prefix, suffix=self.eventPortClosed) + repeatCounterClosed = 0 + finally: + self.lock.release() + repeatCounterClosed += 1 + + stopPortCheckThreadEvent.wait(self.checkintervalNumber) + + print "PortCheck Plugin: Thread " + self.name + " is ending." + self.stopPortCheckThreadEvent.clear() + + def GetStatus(self): + self.lock.acquire() + try: + status = self.status + finally: + self.lock.release() + return status + + def GetLastPortCheckResult(self): + self.lock.acquire() + try: + res = self.lastPortCheckResult + finally: + self.lock.release() + return res + + def GetThreadState(self): + if self.portcheckThread.isAlive() and not self.stopPortCheckThreadEvent.isSet(): + return "Thread is running" + elif self.portcheckThread.isAlive() and self.stopPortCheckThreadEvent.isSet(): + return "Thread is finishing his job" + elif (not self.portcheckThread.isAlive()) and (not self.stopPortCheckThreadEvent.isSet()): + return "Thread is ready to be started" + else: + return "Problem !" + + def StopThread(self): + self.stopPortCheckThreadEvent.set() + + def StartThread(self): + if self.stopPortCheckThreadEvent.isSet(): + self.stopPortCheckThreadEvent.clear() + self.portcheckThread = Thread(target=self.PortCheckThread, args=(self.stopPortCheckThreadEvent,)) + self.portcheckThread.start() + + def Print(self): + print self.name + print self.displayName + print self.status + print self.eventPortOpen + print self.eventPortClosed diff --git a/plugins/PulseEightPlus/__init__.py b/plugins/PulseEightPlus/__init__.py new file mode 100644 index 000000000..07574652d --- /dev/null +++ b/plugins/PulseEightPlus/__init__.py @@ -0,0 +1,812 @@ +# -*- coding: utf-8 -*- +# This file is part of the libCEC(R) library. +# +# libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. +# All rights reserved. +# libCEC(R) is an original work, containing original code. +# +# libCEC(R) is a trademark of Pulse-Eight Limited. +# +# This program is dual-licensed; 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA +# +# +# Alternatively, you can license this library under a commercial license, +# please contact Pulse-Eight Licensing for more information. +# +# For more information contact: +# Pulse-Eight Licensing +# http://www.pulse-eight.com/ +# http://www.pulse-eight.net/ +# +# +# The code contained within this file also falls under the GNU license of +# EventGhost +# +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import eg + + +eg.RegisterPlugin( + name='Pulse-Eight CEC+', + author='K', + version='0.1.0b', + kind='remote', + guid='{E5A6943F-A70E-434C-8B29-2F002AB6E56B}', + url='http://libcec.pulse-eight.com/', + description=( + '' + 'Integration with libCEC, which adds support for Pulse-Eight\'s ' + '`CEC adapters `_.\n\n' + '|\n\n' + '.. image:: cec.png\n\n' + '**Notice:** ' + 'Make sure you select the correct HDMI port number on the device that ' + 'the CEC adapter is connected to, ' + 'or remote control input won\'t work.\n' + ), + createMacrosOnAdd=True, + canMultiLoad=False, + hardwareId="USB\\VID_2548&PID_1002", +) + +from cec_classes import UserControlCodes, CECAdapter, AdapterError # NOQA +from controls import DeviceCtrl, AdapterCtrl, AdapterListCtrl # NOQA +from . import cec # NOQA +import threading # NOQA +import wx # NOQA + +_event = threading.Event() + + +class Text(eg.TranslatableStrings): + mute_group_lbl = 'Mute' + volume_group_lbl = 'Volume' + power_group_lbl = 'Power' + remote_group_lbl = 'Remote Keys' + volume_lbl = 'Volume:' + command_lbl = 'Command:' + key_lbl = 'Remote Key:' + + class RawCommand: + name = 'Send command to an adapter' + description = 'Send a raw CEC command to an adapter' + + class RestartAdapter: + name = 'Restart Adapter' + description = 'Restarts an adapter.' + + class VolumeUp: + name = 'Volume Up' + description = 'Turns up the volume by one point.' + + class VolumeDown: + name = 'Volume Down' + description = 'Turns down the volume by one point.' + + class GetVolume: + name = 'Get Volume' + description = 'Returns the current volume level.' + + class SetVolume: + name = 'Set Volume' + description = 'Sets the volume level.' + + class GetMute: + name = 'Get Mute' + description = 'Returns the mute state.' + + class ToggleMute: + name = 'Toggle Mute' + description = 'Toggles mute On and Off.' + + class MuteOn: + name = 'Mute On' + description = 'Turns mute on.' + + class MuteOff: + name = 'Mute Off' + description = 'Turns mute off.' + + class PowerOnAll: + name = 'Power On All Devices' + description = 'Powers on all devices on a specific adapter.' + + class StandbyAll: + name = 'Standby All Devices' + description = 'Powers off (standby) all devices in a specific adapter.' + + class StandbyDevice: + name = 'Standby a Device' + description = 'Powers off (standby) a single device.' + + class GetDevicePower: + name = 'Get Device Power' + description = 'Returns the power status of a device.' + + class PowerOnDevice: + name = 'Power On a Device' + description = 'Powers on a single device.' + + class GetDeviceVendor: + name = 'Get Device Vendor' + description = 'Returns the vendor of a device.' + + class GetDeviceMenuLanguage: + name = 'Get Device Menu Language' + description = 'Returns the menu language of a device.' + + class IsActiveSource: + name = 'Is Device Active Source' + description = 'Returns True/False if a device is the active source.' + + class IsDeviceActive: + name = 'Is Device Active' + description = 'Returns True/False if a device is active.' + + class GetDeviceOSDName: + name = 'Get Device OSD Name' + description = 'Returns the OSD text that is display for a device.' + + class SetDeviceActiveSource: + name = 'Set Device as Active Source' + description = 'Sets a device as the active source.' + + class SendRemoteKey: + name = 'Send Remote Key' + description = 'Send a Remote Keypress to a specific device.' + + +class PulseEight(eg.PluginBase): + text = Text + + def __init__(self): + self.adapters = [] + + power_group = self.AddGroup(Text.power_group_lbl) + power_group.AddAction(GetDevicePower) + power_group.AddAction(PowerOnDevice) + power_group.AddAction(StandbyDevice) + power_group.AddAction(PowerOnAll) + power_group.AddAction(StandbyAll) + + volume_group = self.AddGroup(Text.volume_group_lbl) + volume_group.AddAction(GetVolume) + volume_group.AddAction(VolumeUp) + volume_group.AddAction(VolumeDown) + volume_group.AddAction(SetVolume) + + mute_group = self.AddGroup(Text.mute_group_lbl) + mute_group.AddAction(GetMute) + mute_group.AddAction(MuteOn) + mute_group.AddAction(MuteOff) + mute_group.AddAction(ToggleMute) + + self.AddAction(SendRemoteKey) + self.AddAction(SetDeviceActiveSource) + self.AddAction(IsActiveSource) + self.AddAction(IsDeviceActive) + self.AddAction(GetDeviceVendor) + self.AddAction(GetDeviceMenuLanguage) + self.AddAction(GetDeviceOSDName) + self.AddAction(RestartAdapter) + self.AddAction(RawCommand) + + remote_group = self.AddGroup(Text.remote_group_lbl) + remote_group.AddActionsFromList(REMOTE_ACTIONS) + + def __start__(self, *adapters): + + def start_connections(*adptrs): + while self.adapters: + pass + + cec_lib = cec.ICECAdapter.Create(cec.libcec_configuration()) + available_coms = list( + a.strComName for a in cec_lib.DetectAdapters() + ) + cec_lib.Close() + + for item in adptrs: + com_port = item[0] + + if com_port in available_coms: + try: + self.adapters += [CECAdapter(*item)] + except AdapterError: + continue + else: + eg.PrintError( + 'CEC Error: adapter on %s is not found' % com_port + ) + + if not self.adapters: + eg.PrintError('CEC Error: no CEC adapters found') + self.__stop__() + _event.set() + + for items in adapters: + if not isinstance(items, tuple): + eg.PrintError( + 'You cannot upgrade to this version.\n' + 'Delete the plugin from the plugins folder ' + 'and then install this one' + ) + break + else: + threading.Thread(target=start_connections, args=adapters).start() + + @eg.LogIt + def __stop__(self): + _event.clear() + for adapter in self.adapters: + adapter.close() + + del self.adapters[:] + + def Configure(self, *adapters): + panel = eg.ConfigPanel() + + loading_st = panel.StaticText( + 'Populating CEC Adapters, Please Wait.....' + ) + list_ctrl = AdapterListCtrl(panel) + desc_st = panel.StaticText( + 'Click on "ENTER NAME" and enter a name ' + 'to register an adapter\n' + 'To remove an adapter registration delete the adapter name.' + ) + + ok_button = panel.dialog.buttonRow.okButton + cancel_button = panel.dialog.buttonRow.cancelButton + apply_button = panel.dialog.buttonRow.applyButton + + ok_button.Enable(False) + cancel_button.Enable(False) + apply_button.Enable(False) + + def populate(): + def on_close(_): + pass + + panel.dialog.Bind(wx.EVT_CLOSE, on_close) + + cec_lib = cec.ICECAdapter.Create(cec.libcec_configuration()) + m_adapters = () + + for adapter in cec_lib.DetectAdapters(): + com = adapter.strComName + for settings in adapters: + com_port, adapter_name = settings[:2] + hdmi_port, use_avr, poll_interval = settings[2:] + if com_port == com: + m_adapters += (( + com_port, + adapter_name, + hdmi_port, + use_avr, + poll_interval, + True + ),) + wx.CallAfter(list_ctrl.add_cec_item, *m_adapters[-1]) + break + else: + wx.CallAfter( + list_ctrl.add_cec_item, + com, + 'ENTER NAME', + 1, + False, + 0.5, + None + ) + + for adapter in adapters: + for m_adapter in m_adapters: + if m_adapter[:-1] == adapter: + break + else: + m_adapters += (adapter + (False,),) + wx.CallAfter(list_ctrl.add_cec_item, *m_adapters[-1]) + + cec_lib.Close() + ok_button.Enable(True) + cancel_button.Enable(True) + apply_button.Enable(True) + + panel.dialog.Bind(wx.EVT_CLOSE, panel.dialog.OnCancel) + loading_st.SetLabel('') + + loading_sizer = wx.BoxSizer(wx.HORIZONTAL) + loading_sizer.AddStretchSpacer() + loading_sizer.Add(loading_st, 0, wx.ALL | 5) + loading_sizer.AddStretchSpacer() + + panel.sizer.Add(loading_sizer, 0, wx.EXPAND) + panel.sizer.Add(list_ctrl, 1, wx.EXPAND) + panel.sizer.Add(desc_st, 0, wx.EXPAND) + + threading.Thread(target=populate).start() + + while panel.Affirmed(): + panel.SetResult(*list_ctrl.GetValue()) + + +class AdapterBase(eg.ActionBase): + + def GetLabel(self, com_port=None, adapter_name=None, *_): + if None in (com_port, adapter_name): + return '%s: Action Not Configured' % self.name + + return '%s: Adapter: %s on %s' % (self.name, adapter_name, com_port) + + def _find_adapter(self, com_port, adapter_name): + _event.wait() + if com_port is None and adapter_name is None: + return None + + for adapter in self.plugin.adapters: + if com_port == adapter.com_port or adapter_name == adapter.name: + return adapter + + def __call__(self, *args): + raise NotImplementedError + + def Configure(self, com_port='', adapter_name=''): + _event.wait() + panel = eg.ConfigPanel() + + adapter_ctrl = AdapterCtrl( + panel, + com_port, + adapter_name, + self.plugin.adapters + ) + + panel.sizer.Add(adapter_ctrl, 0, wx.EXPAND) + + while panel.Affirmed(): + panel.SetResult(*adapter_ctrl.GetValue()) + + +class DeviceBase(AdapterBase): + + def GetLabel(self, com_port=None, adapter_name=None, device=None): + + if device is None: + return '%s: Action Not Configured' % self.name + + return '%s: Adapter: %s on %s' % ( + self.name.replace('a Device', device).replace('Device', device), + adapter_name, + com_port + ) + + def _process_call(self, device): + raise NotImplementedError + + def __call__(self, com_port=None, adapter_name=None, device='TV'): + adapter = self._find_adapter(com_port, adapter_name) + + if adapter is None: + eg.PrintNotice( + 'CEC: Adapter %s on com port %s not found' % + (adapter_name, com_port) + ) + else: + adapter.lock() + try: + d = getattr(adapter, device.lower().replace(' ', ''), None) + if d is None: + eg.PrintNotice( + 'CEC: Device %s not found in adapter %s' % + (device, adapter_name) + ) + else: + return self._process_call(d) + finally: + adapter.unlock() + + def Configure(self, com_port='', adapter_name='', device='TV'): + _event.wait() + panel = eg.ConfigPanel() + + adapter_ctrl = AdapterCtrl( + panel, + com_port, + adapter_name, + self.plugin.adapters + ) + + device_ctrl = DeviceCtrl(panel, device) + if com_port and adapter_name: + device_ctrl.UpdateDevices( + self._find_adapter(com_port, adapter_name), + device + ) + + def on_choice(evt): + device_ctrl.UpdateDevices( + self._find_adapter(*adapter_ctrl.GetValue()) + ) + evt.Skip() + + adapter_ctrl.Bind(wx.EVT_CHOICE, on_choice) + panel.sizer.Add(adapter_ctrl, 0, wx.EXPAND) + panel.sizer.Add(device_ctrl, 0, wx.EXPAND) + + while panel.Affirmed(): + com_port, adapter_name = adapter_ctrl.GetValue() + panel.SetResult( + com_port, + adapter_name, + device_ctrl.GetValue() + ) + + +class RestartAdapter(AdapterBase): + + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + self.plugin.adapters[self.plugin.adapters.index(adapter)] = ( + adapter.restart() + ) + + +class VolumeUp(AdapterBase): + + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + return adapter.volume_up() + + +class VolumeDown(AdapterBase): + + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + return adapter.volume_down() + + +class GetVolume(AdapterBase): + + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + return adapter.volume + + +class GetMute(AdapterBase): + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + return adapter.mute + + +class ToggleMute(AdapterBase): + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + return adapter.toggle_mute() + + +class MuteOn(AdapterBase): + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + adapter.mute = True + return adapter.mute + + +class MuteOff(AdapterBase): + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + adapter.mute = False + return adapter.mute + + +class PowerOnAll(AdapterBase): + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + for d in adapter.devices: + d.power = True + + +class StandbyAll(AdapterBase): + def __call__(self, com_port=None, adapter_name=None): + adapter = self._find_adapter(com_port, adapter_name) + for d in adapter.devices: + d.power = False + + +class StandbyDevice(DeviceBase): + def _process_call(self, device): + device.power = False + return device.power + + +class GetDevicePower(DeviceBase): + def _process_call(self, device): + return device.power + + +class PowerOnDevice(DeviceBase): + def _process_call(self, device): + device.power = True + return device.power + + +class GetDeviceVendor(DeviceBase): + def _process_call(self, device): + return device.vendor + + +class GetDeviceMenuLanguage(DeviceBase): + def _process_call(self, device): + return device.menu_language + + +class IsActiveSource(DeviceBase): + def _process_call(self, device): + return device.active_source + + +class IsDeviceActive(DeviceBase): + def _process_call(self, device): + return device.active_device + + +class GetDeviceOSDName(DeviceBase): + def _process_call(self, device): + return device.osd_name + + +class SetDeviceActiveSource(DeviceBase): + def _process_call(self, device): + device.active_source = True + return device.active_source + + +class RawCommand(AdapterBase): + + def GetLabel(self, com_port=None, adapter_name=None, command=None): + + if command is None: + return 'Send Raw Command: Action Not Configured' + + return 'Send Raw Command %s: Adapter: %s on %s' % ( + str(command), + adapter_name, + com_port + ) + + def __call__(self, com_port=None, adapter_name=None, command=""): + adapter = self._find_adapter(com_port, adapter_name) + return adapter.transmit_command(command) + + def Configure(self, com_port='', adapter_name='', command=''): + _event.wait() + panel = eg.ConfigPanel() + + adapter_ctrl = AdapterCtrl( + panel, + com_port, + adapter_name, + self.plugin.adapters + ) + + command_st = panel.StaticText(Text.command_lbl) + command_ctrl = panel.TextCtrl(command) + + command_sizer = wx.BoxSizer(wx.HORIZONTAL) + command_sizer.Add(command_st, 0, wx.EXPAND | wx.ALL, 5) + command_sizer.Add(command_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + panel.sizer.Add(adapter_ctrl, 0, wx.EXPAND) + panel.sizer.Add(command_sizer, 0, wx.EXPAND) + + while panel.Affirmed(): + com_port, adapter_name = adapter_ctrl.GetValue() + panel.SetResult(com_port, adapter_name, command_ctrl.GetValue()) + + +class SetVolume(AdapterBase): + + def GetLabel(self, com_port=None, adapter_name=None, volume=None): + + if volume is None: + return 'Set Volume: Action Not Configured' + return 'Set Volume to %s: Adapter: %s on %s' % ( + str(volume), + adapter_name, + com_port + ) + + def __call__(self, com_port=None, adapter_name=None, volume=0): + adapter = self._find_adapter(com_port, adapter_name) + adapter.volume = volume + return adapter.volume + + def Configure(self, com_port='', adapter_name='', volume=0): + _event.wait() + panel = eg.ConfigPanel() + + adapter_ctrl = AdapterCtrl( + panel, + com_port, + adapter_name, + self.plugin.adapters + ) + volume_st = panel.StaticText(Text.volume_lbl) + volume_ctrl = panel.SpinIntCtrl(volume, min=0, max=100) + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(volume_st, 0, wx.EXPAND | wx.ALL, 5) + sizer.Add(volume_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + panel.sizer.Add(adapter_ctrl, 0, wx.EXPAND) + panel.sizer.Add(sizer, 0, wx.EXPAND) + + while panel.Affirmed(): + com_port, adapter_name = adapter_ctrl.GetValue() + panel.SetResult(com_port, adapter_name, volume_ctrl.GetValue()) + + +class SendRemoteKey(AdapterBase): + + def GetLabel( + self, + com_port=None, + adapter_name=None, + device='TV', + key=None + ): + if key is None: + key = getattr(self, 'value', None) + + if None in (device, key, com_port, adapter_name): + if key is None: + return 'Send Remote Key: Action Not Configured' + return 'Send "%s" Remote Key: Action Not Configured' % key + + return 'Send "%s" Remote Key to %s: Adapter: %s on %s' % ( + key, + device, + adapter_name, + com_port + ) + + def __call__( + self, + com_port=None, + adapter_name=None, + device='TV', + key=None + ): + if key is None: + key = getattr(self, 'value', None) + if key is None or (com_port is None and adapter_name is None): + eg.PrintNotice( + 'CEC: This action needs to be configured before use.' + ) + return + + adapter = self._find_adapter(com_port, adapter_name) + + if adapter is None: + eg.PrintNotice( + 'CEC: Adapter %s on com port %s not found' % + (adapter_name, com_port) + ) + else: + d = getattr(adapter, device.lower().replace(' ', ''), None) + if d is None: + eg.PrintNotice( + 'CEC: Device %s not found in adapter %s' % + (device, adpater.name) + ) + else: + remote = getattr(d, key, None) + if remote is None: + eg.PrintError( + 'CEC: Key %s not found for device %s on adapter %s' % + (key, device, adpater.name) + ) + else: + import time + remote.send_key_press() + time.sleep(0.1) + remote.send_key_release() + + def Configure(self, com_port='', adapter_name='', device='TV', key=None): + _event.wait() + panel = eg.ConfigPanel() + + adapter_ctrl = AdapterCtrl( + panel, + com_port, + adapter_name, + self.plugin.adapters + ) + + device_ctrl = DeviceCtrl(panel, device) + + device_ctrl.UpdateDevices( + self._find_adapter(*adapter_ctrl.GetValue()), + device + ) + + def on_choice(evt): + device_ctrl.UpdateDevices( + self._find_adapter(*adapter_ctrl.GetValue()) + ) + + evt.Skip() + + adapter_ctrl.Bind(wx.EVT_CHOICE, on_choice) + panel.sizer.Add(adapter_ctrl, 0, wx.EXPAND) + panel.sizer.Add(device_ctrl, 0, wx.EXPAND) + + if not hasattr(self, 'value'): + if key is None: + key = '' + + key_st = panel.StaticText(Text.key_lbl) + key_ctrl = panel.Choice( + 0, + choices=list(key_name for key_name in UserControlCodes) + ) + + key_ctrl.SetStringSelection(key) + + key_sizer = wx.BoxSizer(wx.HORIZONTAL) + key_sizer.Add(key_st, 0, wx.EXPAND | wx.ALL, 5) + key_sizer.Add(key_ctrl, 0, wx.EXPAND | wx.ALL, 5) + panel.sizer.Add(key_sizer, 0, wx.EXPAND) + else: + key_ctrl = None + + while panel.Affirmed(): + com_port, adapter_name = adapter_ctrl.GetValue() + panel.SetResult( + com_port, + adapter_name, + device_ctrl.GetValue(), + None if key_ctrl is None else key_ctrl.GetStringSelection() + ) + +REMOTE_ACTIONS = () + +for remote_key in UserControlCodes: + key_func = remote_key + for rep in ('Samsung', 'Blue', 'Red', 'Green', 'Yellow'): + key_func = key_func.replace(' (%s)' % rep, '') + key_func = key_func.replace('.', 'DOT').replace('+', '_').replace(' ', '_') + + REMOTE_ACTIONS += (( + SendRemoteKey, + 'fn' + key_func.upper(), + 'Remote Key: ' + remote_key, + 'Remote Key ' + remote_key, + remote_key + ),) diff --git a/plugins/PulseEightPlus/_cec.pyd b/plugins/PulseEightPlus/_cec.pyd new file mode 100644 index 000000000..bd1189be3 Binary files /dev/null and b/plugins/PulseEightPlus/_cec.pyd differ diff --git a/plugins/PulseEightPlus/cec.png b/plugins/PulseEightPlus/cec.png new file mode 100644 index 000000000..2b3042baf Binary files /dev/null and b/plugins/PulseEightPlus/cec.png differ diff --git a/plugins/PulseEightPlus/cec/__init__.py b/plugins/PulseEightPlus/cec/__init__.py new file mode 100644 index 000000000..21de84648 --- /dev/null +++ b/plugins/PulseEightPlus/cec/__init__.py @@ -0,0 +1,1425 @@ +# This file was automatically generated by SWIG (http://www.swig.org). +# Version 3.0.12 +# +# Do not make changes to this file unless you know what you are doing--modify +# the SWIG interface file instead. + +from sys import version_info as _swig_python_version_info +if _swig_python_version_info >= (2, 7, 0): + def swig_import_helper(): + import importlib + pkg = __name__.rpartition('.')[0] + mname = '.'.join((pkg, '_cec')).lstrip('.') + try: + return importlib.import_module(mname) + except ImportError: + return importlib.import_module('_cec') + _cec = swig_import_helper() + del swig_import_helper +elif _swig_python_version_info >= (2, 6, 0): + def swig_import_helper(): + from os.path import dirname + import imp + fp = None + try: + fp, pathname, description = imp.find_module('_cec', [dirname(__file__)]) + except ImportError: + import _cec + return _cec + try: + _mod = imp.load_module('_cec', fp, pathname, description) + finally: + if fp is not None: + fp.close() + return _mod + _cec = swig_import_helper() + del swig_import_helper +else: + import _cec +del _swig_python_version_info + +try: + _swig_property = property +except NameError: + pass # Python < 2.2 doesn't have 'property'. + +try: + import builtins as __builtin__ +except ImportError: + import __builtin__ + +def _swig_setattr_nondynamic(self, class_type, name, value, static=1): + if (name == "thisown"): + return self.this.own(value) + if (name == "this"): + if type(value).__name__ == 'SwigPyObject': + self.__dict__[name] = value + return + method = class_type.__swig_setmethods__.get(name, None) + if method: + return method(self, value) + if (not static): + if _newclass: + object.__setattr__(self, name, value) + else: + self.__dict__[name] = value + else: + raise AttributeError("You cannot add attributes to %s" % self) + + +def _swig_setattr(self, class_type, name, value): + return _swig_setattr_nondynamic(self, class_type, name, value, 0) + + +def _swig_getattr(self, class_type, name): + if (name == "thisown"): + return self.this.own() + method = class_type.__swig_getmethods__.get(name, None) + if method: + return method(self) + raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name)) + + +def _swig_repr(self): + try: + strthis = "proxy of " + self.this.__repr__() + except __builtin__.Exception: + strthis = "" + return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) + +try: + _object = object + _newclass = 1 +except __builtin__.Exception: + class _object: + pass + _newclass = 0 + +class SwigPyIterator(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name) + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + __swig_destroy__ = _cec.delete_SwigPyIterator + __del__ = lambda self: None + + def value(self): + return _cec.SwigPyIterator_value(self) + + def incr(self, n=1): + return _cec.SwigPyIterator_incr(self, n) + + def decr(self, n=1): + return _cec.SwigPyIterator_decr(self, n) + + def distance(self, x): + return _cec.SwigPyIterator_distance(self, x) + + def equal(self, x): + return _cec.SwigPyIterator_equal(self, x) + + def copy(self): + return _cec.SwigPyIterator_copy(self) + + def next(self): + return _cec.SwigPyIterator_next(self) + + def __next__(self): + return _cec.SwigPyIterator___next__(self) + + def previous(self): + return _cec.SwigPyIterator_previous(self) + + def advance(self, n): + return _cec.SwigPyIterator_advance(self, n) + + def __eq__(self, x): + return _cec.SwigPyIterator___eq__(self, x) + + def __ne__(self, x): + return _cec.SwigPyIterator___ne__(self, x) + + def __iadd__(self, n): + return _cec.SwigPyIterator___iadd__(self, n) + + def __isub__(self, n): + return _cec.SwigPyIterator___isub__(self, n) + + def __add__(self, n): + return _cec.SwigPyIterator___add__(self, n) + + def __sub__(self, *args): + return _cec.SwigPyIterator___sub__(self, *args) + def __iter__(self): + return self +SwigPyIterator_swigregister = _cec.SwigPyIterator_swigregister +SwigPyIterator_swigregister(SwigPyIterator) + +class AdapterVector(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, AdapterVector, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, AdapterVector, name) + __repr__ = _swig_repr + + def iterator(self): + return _cec.AdapterVector_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + return _cec.AdapterVector___nonzero__(self) + + def __bool__(self): + return _cec.AdapterVector___bool__(self) + + def __len__(self): + return _cec.AdapterVector___len__(self) + + def __getslice__(self, i, j): + return _cec.AdapterVector___getslice__(self, i, j) + + def __setslice__(self, *args): + return _cec.AdapterVector___setslice__(self, *args) + + def __delslice__(self, i, j): + return _cec.AdapterVector___delslice__(self, i, j) + + def __delitem__(self, *args): + return _cec.AdapterVector___delitem__(self, *args) + + def __getitem__(self, *args): + return _cec.AdapterVector___getitem__(self, *args) + + def __setitem__(self, *args): + return _cec.AdapterVector___setitem__(self, *args) + + def pop(self): + return _cec.AdapterVector_pop(self) + + def append(self, x): + return _cec.AdapterVector_append(self, x) + + def empty(self): + return _cec.AdapterVector_empty(self) + + def size(self): + return _cec.AdapterVector_size(self) + + def swap(self, v): + return _cec.AdapterVector_swap(self, v) + + def begin(self): + return _cec.AdapterVector_begin(self) + + def end(self): + return _cec.AdapterVector_end(self) + + def rbegin(self): + return _cec.AdapterVector_rbegin(self) + + def rend(self): + return _cec.AdapterVector_rend(self) + + def clear(self): + return _cec.AdapterVector_clear(self) + + def get_allocator(self): + return _cec.AdapterVector_get_allocator(self) + + def pop_back(self): + return _cec.AdapterVector_pop_back(self) + + def erase(self, *args): + return _cec.AdapterVector_erase(self, *args) + + def __init__(self, *args): + this = _cec.new_AdapterVector(*args) + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + + def push_back(self, x): + return _cec.AdapterVector_push_back(self, x) + + def front(self): + return _cec.AdapterVector_front(self) + + def back(self): + return _cec.AdapterVector_back(self) + + def assign(self, n, x): + return _cec.AdapterVector_assign(self, n, x) + + def resize(self, *args): + return _cec.AdapterVector_resize(self, *args) + + def insert(self, *args): + return _cec.AdapterVector_insert(self, *args) + + def reserve(self, n): + return _cec.AdapterVector_reserve(self, n) + + def capacity(self): + return _cec.AdapterVector_capacity(self) + __swig_destroy__ = _cec.delete_AdapterVector + __del__ = lambda self: None +AdapterVector_swigregister = _cec.AdapterVector_swigregister +AdapterVector_swigregister(AdapterVector) + +CEC_DEFAULT_PHYSICAL_ADDRESS = _cec.CEC_DEFAULT_PHYSICAL_ADDRESS +CEC_DEFAULT_HDMI_PORT = _cec.CEC_DEFAULT_HDMI_PORT +CEC_DEFAULT_BASE_DEVICE = _cec.CEC_DEFAULT_BASE_DEVICE +CEC_BUTTON_TIMEOUT = _cec.CEC_BUTTON_TIMEOUT +CEC_DOUBLE_TAP_TIMEOUT_MS = _cec.CEC_DOUBLE_TAP_TIMEOUT_MS +CEC_POWER_STATE_REFRESH_TIME = _cec.CEC_POWER_STATE_REFRESH_TIME +CEC_FW_VERSION_UNKNOWN = _cec.CEC_FW_VERSION_UNKNOWN +CEC_FW_BUILD_UNKNOWN = _cec.CEC_FW_BUILD_UNKNOWN +CEC_CONNECT_TRIES = _cec.CEC_CONNECT_TRIES +CEC_PHYSICAL_ADDRESS_TV = _cec.CEC_PHYSICAL_ADDRESS_TV +CEC_MIN_PHYSICAL_ADDRESS = _cec.CEC_MIN_PHYSICAL_ADDRESS +CEC_MAX_PHYSICAL_ADDRESS = _cec.CEC_MAX_PHYSICAL_ADDRESS +CEC_INVALID_PHYSICAL_ADDRESS = _cec.CEC_INVALID_PHYSICAL_ADDRESS +CEC_MIN_VENDORID = _cec.CEC_MIN_VENDORID +CEC_MAX_VENDORID = _cec.CEC_MAX_VENDORID +CEC_INVALID_VENDORID = _cec.CEC_INVALID_VENDORID +CEC_MIN_HDMI_PORTNUMBER = _cec.CEC_MIN_HDMI_PORTNUMBER +CEC_MAX_HDMI_PORTNUMBER = _cec.CEC_MAX_HDMI_PORTNUMBER +CEC_HDMI_PORTNUMBER_NONE = _cec.CEC_HDMI_PORTNUMBER_NONE +CEC_DEFAULT_SETTING_ACTIVATE_SOURCE = _cec.CEC_DEFAULT_SETTING_ACTIVATE_SOURCE +CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN = _cec.CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN +CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY = _cec.CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY +CEC_DEFAULT_DEVICE_LANGUAGE = _cec.CEC_DEFAULT_DEVICE_LANGUAGE +CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS = _cec.CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS +CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM = _cec.CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM +CEC_DEFAULT_SETTING_CEC_VERSION = _cec.CEC_DEFAULT_SETTING_CEC_VERSION +CEC_DEFAULT_TRANSMIT_RETRY_WAIT = _cec.CEC_DEFAULT_TRANSMIT_RETRY_WAIT +CEC_DEFAULT_TRANSMIT_TIMEOUT = _cec.CEC_DEFAULT_TRANSMIT_TIMEOUT +CEC_DEFAULT_TRANSMIT_WAIT = _cec.CEC_DEFAULT_TRANSMIT_WAIT +CEC_DEFAULT_TRANSMIT_RETRIES = _cec.CEC_DEFAULT_TRANSMIT_RETRIES +CEC_DEFAULT_CONNECT_TIMEOUT = _cec.CEC_DEFAULT_CONNECT_TIMEOUT +CEC_DEFAULT_CONNECT_RETRY_WAIT = _cec.CEC_DEFAULT_CONNECT_RETRY_WAIT +CEC_SERIAL_DEFAULT_BAUDRATE = _cec.CEC_SERIAL_DEFAULT_BAUDRATE +CEC_CLEAR_INPUT_DEFAULT_WAIT = _cec.CEC_CLEAR_INPUT_DEFAULT_WAIT +CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS = _cec.CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS +CEC_FORWARD_STANDBY_MIN_INTERVAL = _cec.CEC_FORWARD_STANDBY_MIN_INTERVAL +CEC_DEFAULT_COMBO_TIMEOUT_MS = _cec.CEC_DEFAULT_COMBO_TIMEOUT_MS +CEC_RPI_VIRTUAL_PATH = _cec.CEC_RPI_VIRTUAL_PATH +CEC_RPI_VIRTUAL_COM = _cec.CEC_RPI_VIRTUAL_COM +CEC_TDA995x_PATH = _cec.CEC_TDA995x_PATH +CEC_TDA995x_VIRTUAL_COM = _cec.CEC_TDA995x_VIRTUAL_COM +CEC_EXYNOS_PATH = _cec.CEC_EXYNOS_PATH +CEC_EXYNOS_VIRTUAL_COM = _cec.CEC_EXYNOS_VIRTUAL_COM +CEC_MAX_DATA_PACKET_SIZE = _cec.CEC_MAX_DATA_PACKET_SIZE +CEC_AOCEC_PATH = _cec.CEC_AOCEC_PATH +CEC_AOCEC_VIRTUAL_COM = _cec.CEC_AOCEC_VIRTUAL_COM +CEC_MIN_LIB_VERSION = _cec.CEC_MIN_LIB_VERSION +MSGSTART = _cec.MSGSTART +MSGEND = _cec.MSGEND +MSGESC = _cec.MSGESC +ESCOFFSET = _cec.ESCOFFSET +DOUBLE_TAP_TIMEOUT_UNIT_SIZE = _cec.DOUBLE_TAP_TIMEOUT_UNIT_SIZE +CEC_FEATURE_CONFIGURABLE_COMBO_KEY = _cec.CEC_FEATURE_CONFIGURABLE_COMBO_KEY +CEC_ABORT_REASON_UNRECOGNIZED_OPCODE = _cec.CEC_ABORT_REASON_UNRECOGNIZED_OPCODE +CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND = _cec.CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND +CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE = _cec.CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE +CEC_ABORT_REASON_INVALID_OPERAND = _cec.CEC_ABORT_REASON_INVALID_OPERAND +CEC_ABORT_REASON_REFUSED = _cec.CEC_ABORT_REASON_REFUSED +CEC_ANALOGUE_BROADCAST_TYPE_CABLE = _cec.CEC_ANALOGUE_BROADCAST_TYPE_CABLE +CEC_ANALOGUE_BROADCAST_TYPE_SATELLITE = _cec.CEC_ANALOGUE_BROADCAST_TYPE_SATELLITE +CEC_ANALOGUE_BROADCAST_TYPE_TERRESTIAL = _cec.CEC_ANALOGUE_BROADCAST_TYPE_TERRESTIAL +CEC_AUDIO_RATE_RATE_CONTROL_OFF = _cec.CEC_AUDIO_RATE_RATE_CONTROL_OFF +CEC_AUDIO_RATE_STANDARD_RATE_100 = _cec.CEC_AUDIO_RATE_STANDARD_RATE_100 +CEC_AUDIO_RATE_FAST_RATE_MAX_101 = _cec.CEC_AUDIO_RATE_FAST_RATE_MAX_101 +CEC_AUDIO_RATE_SLOW_RATE_MIN_99 = _cec.CEC_AUDIO_RATE_SLOW_RATE_MIN_99 +CEC_AUDIO_RATE_STANDARD_RATE_100_0 = _cec.CEC_AUDIO_RATE_STANDARD_RATE_100_0 +CEC_AUDIO_RATE_FAST_RATE_MAX_100_1 = _cec.CEC_AUDIO_RATE_FAST_RATE_MAX_100_1 +CEC_AUDIO_RATE_SLOW_RATE_MIN_99_9 = _cec.CEC_AUDIO_RATE_SLOW_RATE_MIN_99_9 +CEC_AUDIO_MUTE_STATUS_MASK = _cec.CEC_AUDIO_MUTE_STATUS_MASK +CEC_AUDIO_VOLUME_STATUS_MASK = _cec.CEC_AUDIO_VOLUME_STATUS_MASK +CEC_AUDIO_VOLUME_MIN = _cec.CEC_AUDIO_VOLUME_MIN +CEC_AUDIO_VOLUME_MAX = _cec.CEC_AUDIO_VOLUME_MAX +CEC_AUDIO_VOLUME_STATUS_UNKNOWN = _cec.CEC_AUDIO_VOLUME_STATUS_UNKNOWN +CEC_FALSE = _cec.CEC_FALSE +CEC_TRUE = _cec.CEC_TRUE +CEC_VERSION_UNKNOWN = _cec.CEC_VERSION_UNKNOWN +CEC_VERSION_1_2 = _cec.CEC_VERSION_1_2 +CEC_VERSION_1_2A = _cec.CEC_VERSION_1_2A +CEC_VERSION_1_3 = _cec.CEC_VERSION_1_3 +CEC_VERSION_1_3A = _cec.CEC_VERSION_1_3A +CEC_VERSION_1_4 = _cec.CEC_VERSION_1_4 +CEC_CHANNEL_NUMBER_FORMAT_MASK = _cec.CEC_CHANNEL_NUMBER_FORMAT_MASK +CEC_1_PART_CHANNEL_NUMBER = _cec.CEC_1_PART_CHANNEL_NUMBER +CEC_2_PART_CHANNEL_NUMBER = _cec.CEC_2_PART_CHANNEL_NUMBER +CEC_MAJOR_CHANNEL_NUMBER_MASK = _cec.CEC_MAJOR_CHANNEL_NUMBER_MASK +CEC_MINOR_CHANNEL_NUMBER_MASK = _cec.CEC_MINOR_CHANNEL_NUMBER_MASK +CEC_DECK_CONTROL_MODE_SKIP_FORWARD_WIND = _cec.CEC_DECK_CONTROL_MODE_SKIP_FORWARD_WIND +CEC_DECK_CONTROL_MODE_SKIP_REVERSE_REWIND = _cec.CEC_DECK_CONTROL_MODE_SKIP_REVERSE_REWIND +CEC_DECK_CONTROL_MODE_STOP = _cec.CEC_DECK_CONTROL_MODE_STOP +CEC_DECK_CONTROL_MODE_EJECT = _cec.CEC_DECK_CONTROL_MODE_EJECT +CEC_DECK_INFO_PLAY = _cec.CEC_DECK_INFO_PLAY +CEC_DECK_INFO_RECORD = _cec.CEC_DECK_INFO_RECORD +CEC_DECK_INFO_PLAY_REVERSE = _cec.CEC_DECK_INFO_PLAY_REVERSE +CEC_DECK_INFO_STILL = _cec.CEC_DECK_INFO_STILL +CEC_DECK_INFO_SLOW = _cec.CEC_DECK_INFO_SLOW +CEC_DECK_INFO_SLOW_REVERSE = _cec.CEC_DECK_INFO_SLOW_REVERSE +CEC_DECK_INFO_FAST_FORWARD = _cec.CEC_DECK_INFO_FAST_FORWARD +CEC_DECK_INFO_FAST_REVERSE = _cec.CEC_DECK_INFO_FAST_REVERSE +CEC_DECK_INFO_NO_MEDIA = _cec.CEC_DECK_INFO_NO_MEDIA +CEC_DECK_INFO_STOP = _cec.CEC_DECK_INFO_STOP +CEC_DECK_INFO_SKIP_FORWARD_WIND = _cec.CEC_DECK_INFO_SKIP_FORWARD_WIND +CEC_DECK_INFO_SKIP_REVERSE_REWIND = _cec.CEC_DECK_INFO_SKIP_REVERSE_REWIND +CEC_DECK_INFO_INDEX_SEARCH_FORWARD = _cec.CEC_DECK_INFO_INDEX_SEARCH_FORWARD +CEC_DECK_INFO_INDEX_SEARCH_REVERSE = _cec.CEC_DECK_INFO_INDEX_SEARCH_REVERSE +CEC_DECK_INFO_OTHER_STATUS = _cec.CEC_DECK_INFO_OTHER_STATUS +CEC_DECK_INFO_OTHER_STATUS_LG = _cec.CEC_DECK_INFO_OTHER_STATUS_LG +CEC_DEVICE_TYPE_TV = _cec.CEC_DEVICE_TYPE_TV +CEC_DEVICE_TYPE_RECORDING_DEVICE = _cec.CEC_DEVICE_TYPE_RECORDING_DEVICE +CEC_DEVICE_TYPE_RESERVED = _cec.CEC_DEVICE_TYPE_RESERVED +CEC_DEVICE_TYPE_TUNER = _cec.CEC_DEVICE_TYPE_TUNER +CEC_DEVICE_TYPE_PLAYBACK_DEVICE = _cec.CEC_DEVICE_TYPE_PLAYBACK_DEVICE +CEC_DEVICE_TYPE_AUDIO_SYSTEM = _cec.CEC_DEVICE_TYPE_AUDIO_SYSTEM +CEC_DISPLAY_CONTROL_DISPLAY_FOR_DEFAULT_TIME = _cec.CEC_DISPLAY_CONTROL_DISPLAY_FOR_DEFAULT_TIME +CEC_DISPLAY_CONTROL_DISPLAY_UNTIL_CLEARED = _cec.CEC_DISPLAY_CONTROL_DISPLAY_UNTIL_CLEARED +CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE = _cec.CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE +CEC_DISPLAY_CONTROL_RESERVED_FOR_FUTURE_USE = _cec.CEC_DISPLAY_CONTROL_RESERVED_FOR_FUTURE_USE +CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG = _cec.CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG +CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS = _cec.CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS +CEC_MENU_REQUEST_TYPE_ACTIVATE = _cec.CEC_MENU_REQUEST_TYPE_ACTIVATE +CEC_MENU_REQUEST_TYPE_DEACTIVATE = _cec.CEC_MENU_REQUEST_TYPE_DEACTIVATE +CEC_MENU_REQUEST_TYPE_QUERY = _cec.CEC_MENU_REQUEST_TYPE_QUERY +CEC_MENU_STATE_ACTIVATED = _cec.CEC_MENU_STATE_ACTIVATED +CEC_MENU_STATE_DEACTIVATED = _cec.CEC_MENU_STATE_DEACTIVATED +CEC_PLAY_MODE_PLAY_FORWARD = _cec.CEC_PLAY_MODE_PLAY_FORWARD +CEC_PLAY_MODE_PLAY_REVERSE = _cec.CEC_PLAY_MODE_PLAY_REVERSE +CEC_PLAY_MODE_PLAY_STILL = _cec.CEC_PLAY_MODE_PLAY_STILL +CEC_PLAY_MODE_FAST_FORWARD_MIN_SPEED = _cec.CEC_PLAY_MODE_FAST_FORWARD_MIN_SPEED +CEC_PLAY_MODE_FAST_FORWARD_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_FAST_FORWARD_MEDIUM_SPEED +CEC_PLAY_MODE_FAST_FORWARD_MAX_SPEED = _cec.CEC_PLAY_MODE_FAST_FORWARD_MAX_SPEED +CEC_PLAY_MODE_FAST_REVERSE_MIN_SPEED = _cec.CEC_PLAY_MODE_FAST_REVERSE_MIN_SPEED +CEC_PLAY_MODE_FAST_REVERSE_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_FAST_REVERSE_MEDIUM_SPEED +CEC_PLAY_MODE_FAST_REVERSE_MAX_SPEED = _cec.CEC_PLAY_MODE_FAST_REVERSE_MAX_SPEED +CEC_PLAY_MODE_SLOW_FORWARD_MIN_SPEED = _cec.CEC_PLAY_MODE_SLOW_FORWARD_MIN_SPEED +CEC_PLAY_MODE_SLOW_FORWARD_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_SLOW_FORWARD_MEDIUM_SPEED +CEC_PLAY_MODE_SLOW_FORWARD_MAX_SPEED = _cec.CEC_PLAY_MODE_SLOW_FORWARD_MAX_SPEED +CEC_PLAY_MODE_SLOW_REVERSE_MIN_SPEED = _cec.CEC_PLAY_MODE_SLOW_REVERSE_MIN_SPEED +CEC_PLAY_MODE_SLOW_REVERSE_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_SLOW_REVERSE_MEDIUM_SPEED +CEC_PLAY_MODE_SLOW_REVERSE_MAX_SPEED = _cec.CEC_PLAY_MODE_SLOW_REVERSE_MAX_SPEED +CEC_POWER_STATUS_ON = _cec.CEC_POWER_STATUS_ON +CEC_POWER_STATUS_STANDBY = _cec.CEC_POWER_STATUS_STANDBY +CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON = _cec.CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON +CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY = _cec.CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY +CEC_POWER_STATUS_UNKNOWN = _cec.CEC_POWER_STATUS_UNKNOWN +CEC_RECORD_SOURCE_TYPE_OWN_SOURCE = _cec.CEC_RECORD_SOURCE_TYPE_OWN_SOURCE +CEC_RECORD_SOURCE_TYPE_DIGITAL_SERVICE = _cec.CEC_RECORD_SOURCE_TYPE_DIGITAL_SERVICE +CEC_RECORD_SOURCE_TYPE_ANALOGUE_SERVICE = _cec.CEC_RECORD_SOURCE_TYPE_ANALOGUE_SERVICE +CEC_RECORD_SOURCE_TYPE_EXTERNAL_PLUS = _cec.CEC_RECORD_SOURCE_TYPE_EXTERNAL_PLUS +CEC_RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS = _cec.CEC_RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS +CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE = _cec.CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE +CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE = _cec.CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE +CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVICE = _cec.CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVICE +CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT = _cec.CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT +CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_DIGITAL_SERVICE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_DIGITAL_SERVICE +CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_ANALOGUE_SERVICE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_ANALOGUE_SERVICE +CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_SELECT_REQUIRED_SERVICE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_SELECT_REQUIRED_SERVICE +CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_PLUG_NUMBER = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_PLUG_NUMBER +CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_ADDRESS = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_ADDRESS +CEC_RECORD_STATUS_INFO_NO_RECORDING_CA_SYSTEM_NOT_SUPPORTED = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_CA_SYSTEM_NOT_SUPPORTED +CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_OR_INSUFFICIENT_ENTITLEMENTS = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_OR_INSUFFICIENT_ENTITLEMENTS +CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ALLOWED_TO_COPY_SOURCE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ALLOWED_TO_COPY_SOURCE +CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_FURTHER_COPIES_ALLOWED = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_FURTHER_COPIES_ALLOWED +CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_MEDIA = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_MEDIA +CEC_RECORD_STATUS_INFO_NO_RECORDING_PLAYING = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_PLAYING +CEC_RECORD_STATUS_INFO_NO_RECORDING_ALREADY_RECORDING = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_ALREADY_RECORDING +CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROTECTED = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROTECTED +CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_SOURCE_SIGNAL = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_SOURCE_SIGNAL +CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROBLEM = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROBLEM +CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ENOUGH_SPACE_AVAILABLE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ENOUGH_SPACE_AVAILABLE +CEC_RECORD_STATUS_INFO_NO_RECORDING_PARENTAL_LOCK_ON = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_PARENTAL_LOCK_ON +CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY = _cec.CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY +CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED = _cec.CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED +CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON +CEC_RECORDING_SEQUENCE_SUNDAY = _cec.CEC_RECORDING_SEQUENCE_SUNDAY +CEC_RECORDING_SEQUENCE_MONDAY = _cec.CEC_RECORDING_SEQUENCE_MONDAY +CEC_RECORDING_SEQUENCE_TUESDAY = _cec.CEC_RECORDING_SEQUENCE_TUESDAY +CEC_RECORDING_SEQUENCE_WEDNESDAY = _cec.CEC_RECORDING_SEQUENCE_WEDNESDAY +CEC_RECORDING_SEQUENCE_THURSDAY = _cec.CEC_RECORDING_SEQUENCE_THURSDAY +CEC_RECORDING_SEQUENCE_FRIDAY = _cec.CEC_RECORDING_SEQUENCE_FRIDAY +CEC_RECORDING_SEQUENCE_SATURDAY = _cec.CEC_RECORDING_SEQUENCE_SATURDAY +CEC_RECORDING_SEQUENCE_ONCE_ONLY = _cec.CEC_RECORDING_SEQUENCE_ONCE_ONLY +CEC_STATUS_REQUEST_ON = _cec.CEC_STATUS_REQUEST_ON +CEC_STATUS_REQUEST_OFF = _cec.CEC_STATUS_REQUEST_OFF +CEC_STATUS_REQUEST_ONCE = _cec.CEC_STATUS_REQUEST_ONCE +CEC_SYSTEM_AUDIO_STATUS_OFF = _cec.CEC_SYSTEM_AUDIO_STATUS_OFF +CEC_SYSTEM_AUDIO_STATUS_ON = _cec.CEC_SYSTEM_AUDIO_STATUS_ON +CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_RECORDING = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_RECORDING +CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_MATCHING = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_MATCHING +CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_INF0_AVAILABLE = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_INF0_AVAILABLE +CEC_TIMER_CLEARED_STATUS_DATA_TIMER_CLEARED = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_CLEARED +CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP = _cec.CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP +CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP = _cec.CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP +CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED = _cec.CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED +CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED = _cec.CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED +CEC_MEDIA_INFO_MEDIA_NOT_PRESENT = _cec.CEC_MEDIA_INFO_MEDIA_NOT_PRESENT +CEC_MEDIA_INFO_FUTURE_USE = _cec.CEC_MEDIA_INFO_FUTURE_USE +CEC_PROGRAMMED_INDICATOR_NOT_PROGRAMMED = _cec.CEC_PROGRAMMED_INDICATOR_NOT_PROGRAMMED +CEC_PROGRAMMED_INDICATOR_PROGRAMMED = _cec.CEC_PROGRAMMED_INDICATOR_PROGRAMMED +CEC_PROGRAMMED_INFO_FUTURE_USE = _cec.CEC_PROGRAMMED_INFO_FUTURE_USE +CEC_PROGRAMMED_INFO_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = _cec.CEC_PROGRAMMED_INFO_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING +CEC_PROGRAMMED_INFO_NOT_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = _cec.CEC_PROGRAMMED_INFO_NOT_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING +CEC_PROGRAMMED_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE = _cec.CEC_PROGRAMMED_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE +CEC_PROGRAMMED_INFO_NO_MEDIA_INFO_AVAILABLE = _cec.CEC_PROGRAMMED_INFO_NO_MEDIA_INFO_AVAILABLE +CEC_NOT_PROGRAMMED_ERROR_INFO_FUTURE_USE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_FUTURE_USE +CEC_NOT_PROGRAMMED_ERROR_INFO_NO_FREE_TIMER_AVAILABLE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_NO_FREE_TIMER_AVAILABLE +CEC_NOT_PROGRAMMED_ERROR_INFO_DATE_OUT_OF_RANGE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_DATE_OUT_OF_RANGE +CEC_NOT_PROGRAMMED_ERROR_INFO_RECORDING_SEQUENCE_ERROR = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_RECORDING_SEQUENCE_ERROR +CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER +CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS +CEC_NOT_PROGRAMMED_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED +CEC_NOT_PROGRAMMED_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS +CEC_NOT_PROGRAMMED_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION +CEC_NOT_PROGRAMMED_ERROR_INFO_PARENTAL_LOCK_ON = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_PARENTAL_LOCK_ON +CEC_NOT_PROGRAMMED_ERROR_INFO_CLOCK_FAILURE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_CLOCK_FAILURE +CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_START = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_START +CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_END = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_END +CEC_NOT_PROGRAMMED_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED +CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING = _cec.CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING +CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING = _cec.CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING +CEC_TUNER_DISPLAY_INFO_DISPLAYING_DIGITAL_TUNER = _cec.CEC_TUNER_DISPLAY_INFO_DISPLAYING_DIGITAL_TUNER +CEC_TUNER_DISPLAY_INFO_NOT_DISPLAYING_TUNER = _cec.CEC_TUNER_DISPLAY_INFO_NOT_DISPLAYING_TUNER +CEC_TUNER_DISPLAY_INFO_DISPLAYING_ANALOGUE_TUNER = _cec.CEC_TUNER_DISPLAY_INFO_DISPLAYING_ANALOGUE_TUNER +CEC_BROADCAST_SYSTEM_PAL_B_G = _cec.CEC_BROADCAST_SYSTEM_PAL_B_G +CEC_BROADCAST_SYSTEM_SECAM_L1 = _cec.CEC_BROADCAST_SYSTEM_SECAM_L1 +CEC_BROADCAST_SYSTEM_PAL_M = _cec.CEC_BROADCAST_SYSTEM_PAL_M +CEC_BROADCAST_SYSTEM_NTSC_M = _cec.CEC_BROADCAST_SYSTEM_NTSC_M +CEC_BROADCAST_SYSTEM_PAL_I = _cec.CEC_BROADCAST_SYSTEM_PAL_I +CEC_BROADCAST_SYSTEM_SECAM_DK = _cec.CEC_BROADCAST_SYSTEM_SECAM_DK +CEC_BROADCAST_SYSTEM_SECAM_B_G = _cec.CEC_BROADCAST_SYSTEM_SECAM_B_G +CEC_BROADCAST_SYSTEM_SECAM_L2 = _cec.CEC_BROADCAST_SYSTEM_SECAM_L2 +CEC_BROADCAST_SYSTEM_PAL_DK = _cec.CEC_BROADCAST_SYSTEM_PAL_DK +CEC_BROADCAST_SYSTEM_OTHER_SYSTEM = _cec.CEC_BROADCAST_SYSTEM_OTHER_SYSTEM +CEC_USER_CONTROL_CODE_SELECT = _cec.CEC_USER_CONTROL_CODE_SELECT +CEC_USER_CONTROL_CODE_UP = _cec.CEC_USER_CONTROL_CODE_UP +CEC_USER_CONTROL_CODE_DOWN = _cec.CEC_USER_CONTROL_CODE_DOWN +CEC_USER_CONTROL_CODE_LEFT = _cec.CEC_USER_CONTROL_CODE_LEFT +CEC_USER_CONTROL_CODE_RIGHT = _cec.CEC_USER_CONTROL_CODE_RIGHT +CEC_USER_CONTROL_CODE_RIGHT_UP = _cec.CEC_USER_CONTROL_CODE_RIGHT_UP +CEC_USER_CONTROL_CODE_RIGHT_DOWN = _cec.CEC_USER_CONTROL_CODE_RIGHT_DOWN +CEC_USER_CONTROL_CODE_LEFT_UP = _cec.CEC_USER_CONTROL_CODE_LEFT_UP +CEC_USER_CONTROL_CODE_LEFT_DOWN = _cec.CEC_USER_CONTROL_CODE_LEFT_DOWN +CEC_USER_CONTROL_CODE_ROOT_MENU = _cec.CEC_USER_CONTROL_CODE_ROOT_MENU +CEC_USER_CONTROL_CODE_SETUP_MENU = _cec.CEC_USER_CONTROL_CODE_SETUP_MENU +CEC_USER_CONTROL_CODE_CONTENTS_MENU = _cec.CEC_USER_CONTROL_CODE_CONTENTS_MENU +CEC_USER_CONTROL_CODE_FAVORITE_MENU = _cec.CEC_USER_CONTROL_CODE_FAVORITE_MENU +CEC_USER_CONTROL_CODE_EXIT = _cec.CEC_USER_CONTROL_CODE_EXIT +CEC_USER_CONTROL_CODE_TOP_MENU = _cec.CEC_USER_CONTROL_CODE_TOP_MENU +CEC_USER_CONTROL_CODE_DVD_MENU = _cec.CEC_USER_CONTROL_CODE_DVD_MENU +CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE = _cec.CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE +CEC_USER_CONTROL_CODE_NUMBER11 = _cec.CEC_USER_CONTROL_CODE_NUMBER11 +CEC_USER_CONTROL_CODE_NUMBER12 = _cec.CEC_USER_CONTROL_CODE_NUMBER12 +CEC_USER_CONTROL_CODE_NUMBER0 = _cec.CEC_USER_CONTROL_CODE_NUMBER0 +CEC_USER_CONTROL_CODE_NUMBER1 = _cec.CEC_USER_CONTROL_CODE_NUMBER1 +CEC_USER_CONTROL_CODE_NUMBER2 = _cec.CEC_USER_CONTROL_CODE_NUMBER2 +CEC_USER_CONTROL_CODE_NUMBER3 = _cec.CEC_USER_CONTROL_CODE_NUMBER3 +CEC_USER_CONTROL_CODE_NUMBER4 = _cec.CEC_USER_CONTROL_CODE_NUMBER4 +CEC_USER_CONTROL_CODE_NUMBER5 = _cec.CEC_USER_CONTROL_CODE_NUMBER5 +CEC_USER_CONTROL_CODE_NUMBER6 = _cec.CEC_USER_CONTROL_CODE_NUMBER6 +CEC_USER_CONTROL_CODE_NUMBER7 = _cec.CEC_USER_CONTROL_CODE_NUMBER7 +CEC_USER_CONTROL_CODE_NUMBER8 = _cec.CEC_USER_CONTROL_CODE_NUMBER8 +CEC_USER_CONTROL_CODE_NUMBER9 = _cec.CEC_USER_CONTROL_CODE_NUMBER9 +CEC_USER_CONTROL_CODE_DOT = _cec.CEC_USER_CONTROL_CODE_DOT +CEC_USER_CONTROL_CODE_ENTER = _cec.CEC_USER_CONTROL_CODE_ENTER +CEC_USER_CONTROL_CODE_CLEAR = _cec.CEC_USER_CONTROL_CODE_CLEAR +CEC_USER_CONTROL_CODE_NEXT_FAVORITE = _cec.CEC_USER_CONTROL_CODE_NEXT_FAVORITE +CEC_USER_CONTROL_CODE_CHANNEL_UP = _cec.CEC_USER_CONTROL_CODE_CHANNEL_UP +CEC_USER_CONTROL_CODE_CHANNEL_DOWN = _cec.CEC_USER_CONTROL_CODE_CHANNEL_DOWN +CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL = _cec.CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL +CEC_USER_CONTROL_CODE_SOUND_SELECT = _cec.CEC_USER_CONTROL_CODE_SOUND_SELECT +CEC_USER_CONTROL_CODE_INPUT_SELECT = _cec.CEC_USER_CONTROL_CODE_INPUT_SELECT +CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION = _cec.CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION +CEC_USER_CONTROL_CODE_HELP = _cec.CEC_USER_CONTROL_CODE_HELP +CEC_USER_CONTROL_CODE_PAGE_UP = _cec.CEC_USER_CONTROL_CODE_PAGE_UP +CEC_USER_CONTROL_CODE_PAGE_DOWN = _cec.CEC_USER_CONTROL_CODE_PAGE_DOWN +CEC_USER_CONTROL_CODE_POWER = _cec.CEC_USER_CONTROL_CODE_POWER +CEC_USER_CONTROL_CODE_VOLUME_UP = _cec.CEC_USER_CONTROL_CODE_VOLUME_UP +CEC_USER_CONTROL_CODE_VOLUME_DOWN = _cec.CEC_USER_CONTROL_CODE_VOLUME_DOWN +CEC_USER_CONTROL_CODE_MUTE = _cec.CEC_USER_CONTROL_CODE_MUTE +CEC_USER_CONTROL_CODE_PLAY = _cec.CEC_USER_CONTROL_CODE_PLAY +CEC_USER_CONTROL_CODE_STOP = _cec.CEC_USER_CONTROL_CODE_STOP +CEC_USER_CONTROL_CODE_PAUSE = _cec.CEC_USER_CONTROL_CODE_PAUSE +CEC_USER_CONTROL_CODE_RECORD = _cec.CEC_USER_CONTROL_CODE_RECORD +CEC_USER_CONTROL_CODE_REWIND = _cec.CEC_USER_CONTROL_CODE_REWIND +CEC_USER_CONTROL_CODE_FAST_FORWARD = _cec.CEC_USER_CONTROL_CODE_FAST_FORWARD +CEC_USER_CONTROL_CODE_EJECT = _cec.CEC_USER_CONTROL_CODE_EJECT +CEC_USER_CONTROL_CODE_FORWARD = _cec.CEC_USER_CONTROL_CODE_FORWARD +CEC_USER_CONTROL_CODE_BACKWARD = _cec.CEC_USER_CONTROL_CODE_BACKWARD +CEC_USER_CONTROL_CODE_STOP_RECORD = _cec.CEC_USER_CONTROL_CODE_STOP_RECORD +CEC_USER_CONTROL_CODE_PAUSE_RECORD = _cec.CEC_USER_CONTROL_CODE_PAUSE_RECORD +CEC_USER_CONTROL_CODE_ANGLE = _cec.CEC_USER_CONTROL_CODE_ANGLE +CEC_USER_CONTROL_CODE_SUB_PICTURE = _cec.CEC_USER_CONTROL_CODE_SUB_PICTURE +CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND = _cec.CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND +CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE = _cec.CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE +CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING = _cec.CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING +CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION = _cec.CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION +CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE = _cec.CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE +CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION = _cec.CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION +CEC_USER_CONTROL_CODE_PLAY_FUNCTION = _cec.CEC_USER_CONTROL_CODE_PLAY_FUNCTION +CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION = _cec.CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION +CEC_USER_CONTROL_CODE_RECORD_FUNCTION = _cec.CEC_USER_CONTROL_CODE_RECORD_FUNCTION +CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION = _cec.CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION +CEC_USER_CONTROL_CODE_STOP_FUNCTION = _cec.CEC_USER_CONTROL_CODE_STOP_FUNCTION +CEC_USER_CONTROL_CODE_MUTE_FUNCTION = _cec.CEC_USER_CONTROL_CODE_MUTE_FUNCTION +CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION = _cec.CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION +CEC_USER_CONTROL_CODE_TUNE_FUNCTION = _cec.CEC_USER_CONTROL_CODE_TUNE_FUNCTION +CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION = _cec.CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION +CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION = _cec.CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION +CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION = _cec.CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION +CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION = _cec.CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION +CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION = _cec.CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION +CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION = _cec.CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION +CEC_USER_CONTROL_CODE_F1_BLUE = _cec.CEC_USER_CONTROL_CODE_F1_BLUE +CEC_USER_CONTROL_CODE_F2_RED = _cec.CEC_USER_CONTROL_CODE_F2_RED +CEC_USER_CONTROL_CODE_F3_GREEN = _cec.CEC_USER_CONTROL_CODE_F3_GREEN +CEC_USER_CONTROL_CODE_F4_YELLOW = _cec.CEC_USER_CONTROL_CODE_F4_YELLOW +CEC_USER_CONTROL_CODE_F5 = _cec.CEC_USER_CONTROL_CODE_F5 +CEC_USER_CONTROL_CODE_DATA = _cec.CEC_USER_CONTROL_CODE_DATA +CEC_USER_CONTROL_CODE_AN_RETURN = _cec.CEC_USER_CONTROL_CODE_AN_RETURN +CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST = _cec.CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST +CEC_USER_CONTROL_CODE_MAX = _cec.CEC_USER_CONTROL_CODE_MAX +CEC_USER_CONTROL_CODE_UNKNOWN = _cec.CEC_USER_CONTROL_CODE_UNKNOWN +CECDEVICE_UNKNOWN = _cec.CECDEVICE_UNKNOWN +CECDEVICE_TV = _cec.CECDEVICE_TV +CECDEVICE_RECORDINGDEVICE1 = _cec.CECDEVICE_RECORDINGDEVICE1 +CECDEVICE_RECORDINGDEVICE2 = _cec.CECDEVICE_RECORDINGDEVICE2 +CECDEVICE_TUNER1 = _cec.CECDEVICE_TUNER1 +CECDEVICE_PLAYBACKDEVICE1 = _cec.CECDEVICE_PLAYBACKDEVICE1 +CECDEVICE_AUDIOSYSTEM = _cec.CECDEVICE_AUDIOSYSTEM +CECDEVICE_TUNER2 = _cec.CECDEVICE_TUNER2 +CECDEVICE_TUNER3 = _cec.CECDEVICE_TUNER3 +CECDEVICE_PLAYBACKDEVICE2 = _cec.CECDEVICE_PLAYBACKDEVICE2 +CECDEVICE_RECORDINGDEVICE3 = _cec.CECDEVICE_RECORDINGDEVICE3 +CECDEVICE_TUNER4 = _cec.CECDEVICE_TUNER4 +CECDEVICE_PLAYBACKDEVICE3 = _cec.CECDEVICE_PLAYBACKDEVICE3 +CECDEVICE_RESERVED1 = _cec.CECDEVICE_RESERVED1 +CECDEVICE_RESERVED2 = _cec.CECDEVICE_RESERVED2 +CECDEVICE_FREEUSE = _cec.CECDEVICE_FREEUSE +CECDEVICE_UNREGISTERED = _cec.CECDEVICE_UNREGISTERED +CECDEVICE_BROADCAST = _cec.CECDEVICE_BROADCAST +CEC_OPCODE_ACTIVE_SOURCE = _cec.CEC_OPCODE_ACTIVE_SOURCE +CEC_OPCODE_IMAGE_VIEW_ON = _cec.CEC_OPCODE_IMAGE_VIEW_ON +CEC_OPCODE_TEXT_VIEW_ON = _cec.CEC_OPCODE_TEXT_VIEW_ON +CEC_OPCODE_INACTIVE_SOURCE = _cec.CEC_OPCODE_INACTIVE_SOURCE +CEC_OPCODE_REQUEST_ACTIVE_SOURCE = _cec.CEC_OPCODE_REQUEST_ACTIVE_SOURCE +CEC_OPCODE_ROUTING_CHANGE = _cec.CEC_OPCODE_ROUTING_CHANGE +CEC_OPCODE_ROUTING_INFORMATION = _cec.CEC_OPCODE_ROUTING_INFORMATION +CEC_OPCODE_SET_STREAM_PATH = _cec.CEC_OPCODE_SET_STREAM_PATH +CEC_OPCODE_STANDBY = _cec.CEC_OPCODE_STANDBY +CEC_OPCODE_RECORD_OFF = _cec.CEC_OPCODE_RECORD_OFF +CEC_OPCODE_RECORD_ON = _cec.CEC_OPCODE_RECORD_ON +CEC_OPCODE_RECORD_STATUS = _cec.CEC_OPCODE_RECORD_STATUS +CEC_OPCODE_RECORD_TV_SCREEN = _cec.CEC_OPCODE_RECORD_TV_SCREEN +CEC_OPCODE_CLEAR_ANALOGUE_TIMER = _cec.CEC_OPCODE_CLEAR_ANALOGUE_TIMER +CEC_OPCODE_CLEAR_DIGITAL_TIMER = _cec.CEC_OPCODE_CLEAR_DIGITAL_TIMER +CEC_OPCODE_CLEAR_EXTERNAL_TIMER = _cec.CEC_OPCODE_CLEAR_EXTERNAL_TIMER +CEC_OPCODE_SET_ANALOGUE_TIMER = _cec.CEC_OPCODE_SET_ANALOGUE_TIMER +CEC_OPCODE_SET_DIGITAL_TIMER = _cec.CEC_OPCODE_SET_DIGITAL_TIMER +CEC_OPCODE_SET_EXTERNAL_TIMER = _cec.CEC_OPCODE_SET_EXTERNAL_TIMER +CEC_OPCODE_SET_TIMER_PROGRAM_TITLE = _cec.CEC_OPCODE_SET_TIMER_PROGRAM_TITLE +CEC_OPCODE_TIMER_CLEARED_STATUS = _cec.CEC_OPCODE_TIMER_CLEARED_STATUS +CEC_OPCODE_TIMER_STATUS = _cec.CEC_OPCODE_TIMER_STATUS +CEC_OPCODE_CEC_VERSION = _cec.CEC_OPCODE_CEC_VERSION +CEC_OPCODE_GET_CEC_VERSION = _cec.CEC_OPCODE_GET_CEC_VERSION +CEC_OPCODE_GIVE_PHYSICAL_ADDRESS = _cec.CEC_OPCODE_GIVE_PHYSICAL_ADDRESS +CEC_OPCODE_GET_MENU_LANGUAGE = _cec.CEC_OPCODE_GET_MENU_LANGUAGE +CEC_OPCODE_REPORT_PHYSICAL_ADDRESS = _cec.CEC_OPCODE_REPORT_PHYSICAL_ADDRESS +CEC_OPCODE_SET_MENU_LANGUAGE = _cec.CEC_OPCODE_SET_MENU_LANGUAGE +CEC_OPCODE_DECK_CONTROL = _cec.CEC_OPCODE_DECK_CONTROL +CEC_OPCODE_DECK_STATUS = _cec.CEC_OPCODE_DECK_STATUS +CEC_OPCODE_GIVE_DECK_STATUS = _cec.CEC_OPCODE_GIVE_DECK_STATUS +CEC_OPCODE_PLAY = _cec.CEC_OPCODE_PLAY +CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS = _cec.CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS +CEC_OPCODE_SELECT_ANALOGUE_SERVICE = _cec.CEC_OPCODE_SELECT_ANALOGUE_SERVICE +CEC_OPCODE_SELECT_DIGITAL_SERVICE = _cec.CEC_OPCODE_SELECT_DIGITAL_SERVICE +CEC_OPCODE_TUNER_DEVICE_STATUS = _cec.CEC_OPCODE_TUNER_DEVICE_STATUS +CEC_OPCODE_TUNER_STEP_DECREMENT = _cec.CEC_OPCODE_TUNER_STEP_DECREMENT +CEC_OPCODE_TUNER_STEP_INCREMENT = _cec.CEC_OPCODE_TUNER_STEP_INCREMENT +CEC_OPCODE_DEVICE_VENDOR_ID = _cec.CEC_OPCODE_DEVICE_VENDOR_ID +CEC_OPCODE_GIVE_DEVICE_VENDOR_ID = _cec.CEC_OPCODE_GIVE_DEVICE_VENDOR_ID +CEC_OPCODE_VENDOR_COMMAND = _cec.CEC_OPCODE_VENDOR_COMMAND +CEC_OPCODE_VENDOR_COMMAND_WITH_ID = _cec.CEC_OPCODE_VENDOR_COMMAND_WITH_ID +CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN = _cec.CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN +CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP = _cec.CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP +CEC_OPCODE_SET_OSD_STRING = _cec.CEC_OPCODE_SET_OSD_STRING +CEC_OPCODE_GIVE_OSD_NAME = _cec.CEC_OPCODE_GIVE_OSD_NAME +CEC_OPCODE_SET_OSD_NAME = _cec.CEC_OPCODE_SET_OSD_NAME +CEC_OPCODE_MENU_REQUEST = _cec.CEC_OPCODE_MENU_REQUEST +CEC_OPCODE_MENU_STATUS = _cec.CEC_OPCODE_MENU_STATUS +CEC_OPCODE_USER_CONTROL_PRESSED = _cec.CEC_OPCODE_USER_CONTROL_PRESSED +CEC_OPCODE_USER_CONTROL_RELEASE = _cec.CEC_OPCODE_USER_CONTROL_RELEASE +CEC_OPCODE_GIVE_DEVICE_POWER_STATUS = _cec.CEC_OPCODE_GIVE_DEVICE_POWER_STATUS +CEC_OPCODE_REPORT_POWER_STATUS = _cec.CEC_OPCODE_REPORT_POWER_STATUS +CEC_OPCODE_FEATURE_ABORT = _cec.CEC_OPCODE_FEATURE_ABORT +CEC_OPCODE_ABORT = _cec.CEC_OPCODE_ABORT +CEC_OPCODE_GIVE_AUDIO_STATUS = _cec.CEC_OPCODE_GIVE_AUDIO_STATUS +CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS = _cec.CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS +CEC_OPCODE_REPORT_AUDIO_STATUS = _cec.CEC_OPCODE_REPORT_AUDIO_STATUS +CEC_OPCODE_SET_SYSTEM_AUDIO_MODE = _cec.CEC_OPCODE_SET_SYSTEM_AUDIO_MODE +CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST = _cec.CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST +CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS = _cec.CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS +CEC_OPCODE_SET_AUDIO_RATE = _cec.CEC_OPCODE_SET_AUDIO_RATE +CEC_OPCODE_START_ARC = _cec.CEC_OPCODE_START_ARC +CEC_OPCODE_REPORT_ARC_STARTED = _cec.CEC_OPCODE_REPORT_ARC_STARTED +CEC_OPCODE_REPORT_ARC_ENDED = _cec.CEC_OPCODE_REPORT_ARC_ENDED +CEC_OPCODE_REQUEST_ARC_START = _cec.CEC_OPCODE_REQUEST_ARC_START +CEC_OPCODE_REQUEST_ARC_END = _cec.CEC_OPCODE_REQUEST_ARC_END +CEC_OPCODE_END_ARC = _cec.CEC_OPCODE_END_ARC +CEC_OPCODE_CDC = _cec.CEC_OPCODE_CDC +CEC_OPCODE_NONE = _cec.CEC_OPCODE_NONE +CEC_LOG_ERROR = _cec.CEC_LOG_ERROR +CEC_LOG_WARNING = _cec.CEC_LOG_WARNING +CEC_LOG_NOTICE = _cec.CEC_LOG_NOTICE +CEC_LOG_TRAFFIC = _cec.CEC_LOG_TRAFFIC +CEC_LOG_DEBUG = _cec.CEC_LOG_DEBUG +CEC_LOG_ALL = _cec.CEC_LOG_ALL +CEC_DEVICE_STATUS_UNKNOWN = _cec.CEC_DEVICE_STATUS_UNKNOWN +CEC_DEVICE_STATUS_PRESENT = _cec.CEC_DEVICE_STATUS_PRESENT +CEC_DEVICE_STATUS_NOT_PRESENT = _cec.CEC_DEVICE_STATUS_NOT_PRESENT +CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC = _cec.CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC +CEC_VENDOR_TOSHIBA = _cec.CEC_VENDOR_TOSHIBA +CEC_VENDOR_SAMSUNG = _cec.CEC_VENDOR_SAMSUNG +CEC_VENDOR_DENON = _cec.CEC_VENDOR_DENON +CEC_VENDOR_MARANTZ = _cec.CEC_VENDOR_MARANTZ +CEC_VENDOR_LOEWE = _cec.CEC_VENDOR_LOEWE +CEC_VENDOR_ONKYO = _cec.CEC_VENDOR_ONKYO +CEC_VENDOR_MEDION = _cec.CEC_VENDOR_MEDION +CEC_VENDOR_TOSHIBA2 = _cec.CEC_VENDOR_TOSHIBA2 +CEC_VENDOR_PULSE_EIGHT = _cec.CEC_VENDOR_PULSE_EIGHT +CEC_VENDOR_HARMAN_KARDON2 = _cec.CEC_VENDOR_HARMAN_KARDON2 +CEC_VENDOR_GOOGLE = _cec.CEC_VENDOR_GOOGLE +CEC_VENDOR_AKAI = _cec.CEC_VENDOR_AKAI +CEC_VENDOR_AOC = _cec.CEC_VENDOR_AOC +CEC_VENDOR_PANASONIC = _cec.CEC_VENDOR_PANASONIC +CEC_VENDOR_PHILIPS = _cec.CEC_VENDOR_PHILIPS +CEC_VENDOR_DAEWOO = _cec.CEC_VENDOR_DAEWOO +CEC_VENDOR_YAMAHA = _cec.CEC_VENDOR_YAMAHA +CEC_VENDOR_GRUNDIG = _cec.CEC_VENDOR_GRUNDIG +CEC_VENDOR_PIONEER = _cec.CEC_VENDOR_PIONEER +CEC_VENDOR_LG = _cec.CEC_VENDOR_LG +CEC_VENDOR_SHARP = _cec.CEC_VENDOR_SHARP +CEC_VENDOR_SONY = _cec.CEC_VENDOR_SONY +CEC_VENDOR_BROADCOM = _cec.CEC_VENDOR_BROADCOM +CEC_VENDOR_SHARP2 = _cec.CEC_VENDOR_SHARP2 +CEC_VENDOR_VIZIO = _cec.CEC_VENDOR_VIZIO +CEC_VENDOR_BENQ = _cec.CEC_VENDOR_BENQ +CEC_VENDOR_HARMAN_KARDON = _cec.CEC_VENDOR_HARMAN_KARDON +CEC_VENDOR_UNKNOWN = _cec.CEC_VENDOR_UNKNOWN +ADAPTERTYPE_UNKNOWN = _cec.ADAPTERTYPE_UNKNOWN +ADAPTERTYPE_P8_EXTERNAL = _cec.ADAPTERTYPE_P8_EXTERNAL +ADAPTERTYPE_P8_DAUGHTERBOARD = _cec.ADAPTERTYPE_P8_DAUGHTERBOARD +ADAPTERTYPE_RPI = _cec.ADAPTERTYPE_RPI +ADAPTERTYPE_TDA995x = _cec.ADAPTERTYPE_TDA995x +ADAPTERTYPE_EXYNOS = _cec.ADAPTERTYPE_EXYNOS +ADAPTERTYPE_AOCEC = _cec.ADAPTERTYPE_AOCEC +LIBCEC_VERSION_CURRENT = _cec.LIBCEC_VERSION_CURRENT +class AdapterDescriptor(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, AdapterDescriptor, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, AdapterDescriptor, name) + __repr__ = _swig_repr + + def __init__(self, *args): + this = _cec.new_AdapterDescriptor(*args) + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + __swig_setmethods__["strComPath"] = _cec.AdapterDescriptor_strComPath_set + __swig_getmethods__["strComPath"] = _cec.AdapterDescriptor_strComPath_get + if _newclass: + strComPath = _swig_property(_cec.AdapterDescriptor_strComPath_get, _cec.AdapterDescriptor_strComPath_set) + __swig_setmethods__["strComName"] = _cec.AdapterDescriptor_strComName_set + __swig_getmethods__["strComName"] = _cec.AdapterDescriptor_strComName_get + if _newclass: + strComName = _swig_property(_cec.AdapterDescriptor_strComName_get, _cec.AdapterDescriptor_strComName_set) + __swig_setmethods__["iVendorId"] = _cec.AdapterDescriptor_iVendorId_set + __swig_getmethods__["iVendorId"] = _cec.AdapterDescriptor_iVendorId_get + if _newclass: + iVendorId = _swig_property(_cec.AdapterDescriptor_iVendorId_get, _cec.AdapterDescriptor_iVendorId_set) + __swig_setmethods__["iProductId"] = _cec.AdapterDescriptor_iProductId_set + __swig_getmethods__["iProductId"] = _cec.AdapterDescriptor_iProductId_get + if _newclass: + iProductId = _swig_property(_cec.AdapterDescriptor_iProductId_get, _cec.AdapterDescriptor_iProductId_set) + __swig_setmethods__["iFirmwareVersion"] = _cec.AdapterDescriptor_iFirmwareVersion_set + __swig_getmethods__["iFirmwareVersion"] = _cec.AdapterDescriptor_iFirmwareVersion_get + if _newclass: + iFirmwareVersion = _swig_property(_cec.AdapterDescriptor_iFirmwareVersion_get, _cec.AdapterDescriptor_iFirmwareVersion_set) + __swig_setmethods__["iPhysicalAddress"] = _cec.AdapterDescriptor_iPhysicalAddress_set + __swig_getmethods__["iPhysicalAddress"] = _cec.AdapterDescriptor_iPhysicalAddress_get + if _newclass: + iPhysicalAddress = _swig_property(_cec.AdapterDescriptor_iPhysicalAddress_get, _cec.AdapterDescriptor_iPhysicalAddress_set) + __swig_setmethods__["iFirmwareBuildDate"] = _cec.AdapterDescriptor_iFirmwareBuildDate_set + __swig_getmethods__["iFirmwareBuildDate"] = _cec.AdapterDescriptor_iFirmwareBuildDate_get + if _newclass: + iFirmwareBuildDate = _swig_property(_cec.AdapterDescriptor_iFirmwareBuildDate_get, _cec.AdapterDescriptor_iFirmwareBuildDate_set) + __swig_setmethods__["adapterType"] = _cec.AdapterDescriptor_adapterType_set + __swig_getmethods__["adapterType"] = _cec.AdapterDescriptor_adapterType_get + if _newclass: + adapterType = _swig_property(_cec.AdapterDescriptor_adapterType_get, _cec.AdapterDescriptor_adapterType_set) + __swig_destroy__ = _cec.delete_AdapterDescriptor + __del__ = lambda self: None +AdapterDescriptor_swigregister = _cec.AdapterDescriptor_swigregister +AdapterDescriptor_swigregister(AdapterDescriptor) + +class cec_datapacket(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, cec_datapacket, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, cec_datapacket, name) + __repr__ = _swig_repr + __swig_setmethods__["data"] = _cec.cec_datapacket_data_set + __swig_getmethods__["data"] = _cec.cec_datapacket_data_get + if _newclass: + data = _swig_property(_cec.cec_datapacket_data_get, _cec.cec_datapacket_data_set) + __swig_setmethods__["size"] = _cec.cec_datapacket_size_set + __swig_getmethods__["size"] = _cec.cec_datapacket_size_get + if _newclass: + size = _swig_property(_cec.cec_datapacket_size_get, _cec.cec_datapacket_size_set) + + def __eq__(self, packet): + return _cec.cec_datapacket___eq__(self, packet) + + def IsEmpty(self): + return _cec.cec_datapacket_IsEmpty(self) + + def IsFull(self): + return _cec.cec_datapacket_IsFull(self) + + def At(self, pos): + return _cec.cec_datapacket_At(self, pos) + + def Shift(self, iShiftBy): + return _cec.cec_datapacket_Shift(self, iShiftBy) + + def PushBack(self, add): + return _cec.cec_datapacket_PushBack(self, add) + + def Clear(self): + return _cec.cec_datapacket_Clear(self) + + def __getitem__(self, pos): + return _cec.cec_datapacket___getitem__(self, pos) + + def __init__(self): + this = _cec.new_cec_datapacket() + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + __swig_destroy__ = _cec.delete_cec_datapacket + __del__ = lambda self: None +cec_datapacket_swigregister = _cec.cec_datapacket_swigregister +cec_datapacket_swigregister(cec_datapacket) + +class cec_command(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, cec_command, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, cec_command, name) + __repr__ = _swig_repr + __swig_setmethods__["initiator"] = _cec.cec_command_initiator_set + __swig_getmethods__["initiator"] = _cec.cec_command_initiator_get + if _newclass: + initiator = _swig_property(_cec.cec_command_initiator_get, _cec.cec_command_initiator_set) + __swig_setmethods__["destination"] = _cec.cec_command_destination_set + __swig_getmethods__["destination"] = _cec.cec_command_destination_get + if _newclass: + destination = _swig_property(_cec.cec_command_destination_get, _cec.cec_command_destination_set) + __swig_setmethods__["ack"] = _cec.cec_command_ack_set + __swig_getmethods__["ack"] = _cec.cec_command_ack_get + if _newclass: + ack = _swig_property(_cec.cec_command_ack_get, _cec.cec_command_ack_set) + __swig_setmethods__["eom"] = _cec.cec_command_eom_set + __swig_getmethods__["eom"] = _cec.cec_command_eom_get + if _newclass: + eom = _swig_property(_cec.cec_command_eom_get, _cec.cec_command_eom_set) + __swig_setmethods__["opcode"] = _cec.cec_command_opcode_set + __swig_getmethods__["opcode"] = _cec.cec_command_opcode_get + if _newclass: + opcode = _swig_property(_cec.cec_command_opcode_get, _cec.cec_command_opcode_set) + __swig_setmethods__["parameters"] = _cec.cec_command_parameters_set + __swig_getmethods__["parameters"] = _cec.cec_command_parameters_get + if _newclass: + parameters = _swig_property(_cec.cec_command_parameters_get, _cec.cec_command_parameters_set) + __swig_setmethods__["opcode_set"] = _cec.cec_command_opcode_set_set + __swig_getmethods__["opcode_set"] = _cec.cec_command_opcode_set_get + if _newclass: + opcode_set = _swig_property(_cec.cec_command_opcode_set_get, _cec.cec_command_opcode_set_set) + __swig_setmethods__["transmit_timeout"] = _cec.cec_command_transmit_timeout_set + __swig_getmethods__["transmit_timeout"] = _cec.cec_command_transmit_timeout_get + if _newclass: + transmit_timeout = _swig_property(_cec.cec_command_transmit_timeout_get, _cec.cec_command_transmit_timeout_set) + + def __init__(self): + this = _cec.new_cec_command() + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + + def Size(self): + return _cec.cec_command_Size(self) + if _newclass: + Format = staticmethod(_cec.cec_command_Format) + else: + Format = _cec.cec_command_Format + + def PushBack(self, data): + return _cec.cec_command_PushBack(self, data) + + def Clear(self): + return _cec.cec_command_Clear(self) + if _newclass: + GetResponseOpcode = staticmethod(_cec.cec_command_GetResponseOpcode) + else: + GetResponseOpcode = _cec.cec_command_GetResponseOpcode + + def PushArray(self, len, data): + return _cec.cec_command_PushArray(self, len, data) + __swig_destroy__ = _cec.delete_cec_command + __del__ = lambda self: None +cec_command_swigregister = _cec.cec_command_swigregister +cec_command_swigregister(cec_command) + +def cec_command_Format(command, initiator, destination, opcode, timeout=1000): + return _cec.cec_command_Format(command, initiator, destination, opcode, timeout) +cec_command_Format = _cec.cec_command_Format + +def cec_command_GetResponseOpcode(opcode): + return _cec.cec_command_GetResponseOpcode(opcode) +cec_command_GetResponseOpcode = _cec.cec_command_GetResponseOpcode + +class cec_device_type_list(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, cec_device_type_list, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, cec_device_type_list, name) + __repr__ = _swig_repr + __swig_setmethods__["types"] = _cec.cec_device_type_list_types_set + __swig_getmethods__["types"] = _cec.cec_device_type_list_types_get + if _newclass: + types = _swig_property(_cec.cec_device_type_list_types_get, _cec.cec_device_type_list_types_set) + + def Clear(self): + return _cec.cec_device_type_list_Clear(self) + + def Add(self, type): + return _cec.cec_device_type_list_Add(self, type) + + def IsSet(self, type): + return _cec.cec_device_type_list_IsSet(self, type) + + def IsEmpty(self): + return _cec.cec_device_type_list_IsEmpty(self) + + def __eq__(self, other): + return _cec.cec_device_type_list___eq__(self, other) + + def __ne__(self, other): + return _cec.cec_device_type_list___ne__(self, other) + + def __getitem__(self, pos): + return _cec.cec_device_type_list___getitem__(self, pos) + + def __init__(self): + this = _cec.new_cec_device_type_list() + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + __swig_destroy__ = _cec.delete_cec_device_type_list + __del__ = lambda self: None +cec_device_type_list_swigregister = _cec.cec_device_type_list_swigregister +cec_device_type_list_swigregister(cec_device_type_list) + +class cec_logical_addresses(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, cec_logical_addresses, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, cec_logical_addresses, name) + __repr__ = _swig_repr + __swig_setmethods__["primary"] = _cec.cec_logical_addresses_primary_set + __swig_getmethods__["primary"] = _cec.cec_logical_addresses_primary_get + if _newclass: + primary = _swig_property(_cec.cec_logical_addresses_primary_get, _cec.cec_logical_addresses_primary_set) + __swig_setmethods__["addresses"] = _cec.cec_logical_addresses_addresses_set + __swig_getmethods__["addresses"] = _cec.cec_logical_addresses_addresses_get + if _newclass: + addresses = _swig_property(_cec.cec_logical_addresses_addresses_get, _cec.cec_logical_addresses_addresses_set) + + def Clear(self): + return _cec.cec_logical_addresses_Clear(self) + + def IsEmpty(self): + return _cec.cec_logical_addresses_IsEmpty(self) + + def AckMask(self): + return _cec.cec_logical_addresses_AckMask(self) + + def Set(self, address): + return _cec.cec_logical_addresses_Set(self, address) + + def Unset(self, address): + return _cec.cec_logical_addresses_Unset(self, address) + + def IsSet(self, address): + return _cec.cec_logical_addresses_IsSet(self, address) + + def __eq__(self, other): + return _cec.cec_logical_addresses___eq__(self, other) + + def __ne__(self, other): + return _cec.cec_logical_addresses___ne__(self, other) + + def __getitem__(self, pos): + return _cec.cec_logical_addresses___getitem__(self, pos) + + def __init__(self): + this = _cec.new_cec_logical_addresses() + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + __swig_destroy__ = _cec.delete_cec_logical_addresses + __del__ = lambda self: None +cec_logical_addresses_swigregister = _cec.cec_logical_addresses_swigregister +cec_logical_addresses_swigregister(cec_logical_addresses) + +CEC_ALERT_SERVICE_DEVICE = _cec.CEC_ALERT_SERVICE_DEVICE +CEC_ALERT_CONNECTION_LOST = _cec.CEC_ALERT_CONNECTION_LOST +CEC_ALERT_PERMISSION_ERROR = _cec.CEC_ALERT_PERMISSION_ERROR +CEC_ALERT_PORT_BUSY = _cec.CEC_ALERT_PORT_BUSY +CEC_ALERT_PHYSICAL_ADDRESS_ERROR = _cec.CEC_ALERT_PHYSICAL_ADDRESS_ERROR +CEC_ALERT_TV_POLL_FAILED = _cec.CEC_ALERT_TV_POLL_FAILED +CEC_PARAMETER_TYPE_STRING = _cec.CEC_PARAMETER_TYPE_STRING +CEC_PARAMETER_TYPE_UNKOWN = _cec.CEC_PARAMETER_TYPE_UNKOWN +class libcec_parameter(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, libcec_parameter, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, libcec_parameter, name) + __repr__ = _swig_repr + __swig_setmethods__["paramType"] = _cec.libcec_parameter_paramType_set + __swig_getmethods__["paramType"] = _cec.libcec_parameter_paramType_get + if _newclass: + paramType = _swig_property(_cec.libcec_parameter_paramType_get, _cec.libcec_parameter_paramType_set) + __swig_setmethods__["paramData"] = _cec.libcec_parameter_paramData_set + __swig_getmethods__["paramData"] = _cec.libcec_parameter_paramData_get + if _newclass: + paramData = _swig_property(_cec.libcec_parameter_paramData_get, _cec.libcec_parameter_paramData_set) + + def __init__(self): + this = _cec.new_libcec_parameter() + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + __swig_destroy__ = _cec.delete_libcec_parameter + __del__ = lambda self: None +libcec_parameter_swigregister = _cec.libcec_parameter_swigregister +libcec_parameter_swigregister(libcec_parameter) + +class libcec_configuration(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, libcec_configuration, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, libcec_configuration, name) + __repr__ = _swig_repr + __swig_setmethods__["clientVersion"] = _cec.libcec_configuration_clientVersion_set + __swig_getmethods__["clientVersion"] = _cec.libcec_configuration_clientVersion_get + if _newclass: + clientVersion = _swig_property(_cec.libcec_configuration_clientVersion_get, _cec.libcec_configuration_clientVersion_set) + __swig_setmethods__["strDeviceName"] = _cec.libcec_configuration_strDeviceName_set + __swig_getmethods__["strDeviceName"] = _cec.libcec_configuration_strDeviceName_get + if _newclass: + strDeviceName = _swig_property(_cec.libcec_configuration_strDeviceName_get, _cec.libcec_configuration_strDeviceName_set) + __swig_setmethods__["deviceTypes"] = _cec.libcec_configuration_deviceTypes_set + __swig_getmethods__["deviceTypes"] = _cec.libcec_configuration_deviceTypes_get + if _newclass: + deviceTypes = _swig_property(_cec.libcec_configuration_deviceTypes_get, _cec.libcec_configuration_deviceTypes_set) + __swig_setmethods__["bAutodetectAddress"] = _cec.libcec_configuration_bAutodetectAddress_set + __swig_getmethods__["bAutodetectAddress"] = _cec.libcec_configuration_bAutodetectAddress_get + if _newclass: + bAutodetectAddress = _swig_property(_cec.libcec_configuration_bAutodetectAddress_get, _cec.libcec_configuration_bAutodetectAddress_set) + __swig_setmethods__["iPhysicalAddress"] = _cec.libcec_configuration_iPhysicalAddress_set + __swig_getmethods__["iPhysicalAddress"] = _cec.libcec_configuration_iPhysicalAddress_get + if _newclass: + iPhysicalAddress = _swig_property(_cec.libcec_configuration_iPhysicalAddress_get, _cec.libcec_configuration_iPhysicalAddress_set) + __swig_setmethods__["baseDevice"] = _cec.libcec_configuration_baseDevice_set + __swig_getmethods__["baseDevice"] = _cec.libcec_configuration_baseDevice_get + if _newclass: + baseDevice = _swig_property(_cec.libcec_configuration_baseDevice_get, _cec.libcec_configuration_baseDevice_set) + __swig_setmethods__["iHDMIPort"] = _cec.libcec_configuration_iHDMIPort_set + __swig_getmethods__["iHDMIPort"] = _cec.libcec_configuration_iHDMIPort_get + if _newclass: + iHDMIPort = _swig_property(_cec.libcec_configuration_iHDMIPort_get, _cec.libcec_configuration_iHDMIPort_set) + __swig_setmethods__["tvVendor"] = _cec.libcec_configuration_tvVendor_set + __swig_getmethods__["tvVendor"] = _cec.libcec_configuration_tvVendor_get + if _newclass: + tvVendor = _swig_property(_cec.libcec_configuration_tvVendor_get, _cec.libcec_configuration_tvVendor_set) + __swig_setmethods__["wakeDevices"] = _cec.libcec_configuration_wakeDevices_set + __swig_getmethods__["wakeDevices"] = _cec.libcec_configuration_wakeDevices_get + if _newclass: + wakeDevices = _swig_property(_cec.libcec_configuration_wakeDevices_get, _cec.libcec_configuration_wakeDevices_set) + __swig_setmethods__["powerOffDevices"] = _cec.libcec_configuration_powerOffDevices_set + __swig_getmethods__["powerOffDevices"] = _cec.libcec_configuration_powerOffDevices_get + if _newclass: + powerOffDevices = _swig_property(_cec.libcec_configuration_powerOffDevices_get, _cec.libcec_configuration_powerOffDevices_set) + __swig_setmethods__["serverVersion"] = _cec.libcec_configuration_serverVersion_set + __swig_getmethods__["serverVersion"] = _cec.libcec_configuration_serverVersion_get + if _newclass: + serverVersion = _swig_property(_cec.libcec_configuration_serverVersion_get, _cec.libcec_configuration_serverVersion_set) + __swig_setmethods__["bGetSettingsFromROM"] = _cec.libcec_configuration_bGetSettingsFromROM_set + __swig_getmethods__["bGetSettingsFromROM"] = _cec.libcec_configuration_bGetSettingsFromROM_get + if _newclass: + bGetSettingsFromROM = _swig_property(_cec.libcec_configuration_bGetSettingsFromROM_get, _cec.libcec_configuration_bGetSettingsFromROM_set) + __swig_setmethods__["bActivateSource"] = _cec.libcec_configuration_bActivateSource_set + __swig_getmethods__["bActivateSource"] = _cec.libcec_configuration_bActivateSource_get + if _newclass: + bActivateSource = _swig_property(_cec.libcec_configuration_bActivateSource_get, _cec.libcec_configuration_bActivateSource_set) + __swig_setmethods__["bPowerOffOnStandby"] = _cec.libcec_configuration_bPowerOffOnStandby_set + __swig_getmethods__["bPowerOffOnStandby"] = _cec.libcec_configuration_bPowerOffOnStandby_get + if _newclass: + bPowerOffOnStandby = _swig_property(_cec.libcec_configuration_bPowerOffOnStandby_get, _cec.libcec_configuration_bPowerOffOnStandby_set) + __swig_setmethods__["logicalAddresses"] = _cec.libcec_configuration_logicalAddresses_set + __swig_getmethods__["logicalAddresses"] = _cec.libcec_configuration_logicalAddresses_get + if _newclass: + logicalAddresses = _swig_property(_cec.libcec_configuration_logicalAddresses_get, _cec.libcec_configuration_logicalAddresses_set) + __swig_setmethods__["iFirmwareVersion"] = _cec.libcec_configuration_iFirmwareVersion_set + __swig_getmethods__["iFirmwareVersion"] = _cec.libcec_configuration_iFirmwareVersion_get + if _newclass: + iFirmwareVersion = _swig_property(_cec.libcec_configuration_iFirmwareVersion_get, _cec.libcec_configuration_iFirmwareVersion_set) + __swig_setmethods__["strDeviceLanguage"] = _cec.libcec_configuration_strDeviceLanguage_set + __swig_getmethods__["strDeviceLanguage"] = _cec.libcec_configuration_strDeviceLanguage_get + if _newclass: + strDeviceLanguage = _swig_property(_cec.libcec_configuration_strDeviceLanguage_get, _cec.libcec_configuration_strDeviceLanguage_set) + __swig_setmethods__["iFirmwareBuildDate"] = _cec.libcec_configuration_iFirmwareBuildDate_set + __swig_getmethods__["iFirmwareBuildDate"] = _cec.libcec_configuration_iFirmwareBuildDate_get + if _newclass: + iFirmwareBuildDate = _swig_property(_cec.libcec_configuration_iFirmwareBuildDate_get, _cec.libcec_configuration_iFirmwareBuildDate_set) + __swig_setmethods__["bMonitorOnly"] = _cec.libcec_configuration_bMonitorOnly_set + __swig_getmethods__["bMonitorOnly"] = _cec.libcec_configuration_bMonitorOnly_get + if _newclass: + bMonitorOnly = _swig_property(_cec.libcec_configuration_bMonitorOnly_get, _cec.libcec_configuration_bMonitorOnly_set) + __swig_setmethods__["cecVersion"] = _cec.libcec_configuration_cecVersion_set + __swig_getmethods__["cecVersion"] = _cec.libcec_configuration_cecVersion_get + if _newclass: + cecVersion = _swig_property(_cec.libcec_configuration_cecVersion_get, _cec.libcec_configuration_cecVersion_set) + __swig_setmethods__["adapterType"] = _cec.libcec_configuration_adapterType_set + __swig_getmethods__["adapterType"] = _cec.libcec_configuration_adapterType_get + if _newclass: + adapterType = _swig_property(_cec.libcec_configuration_adapterType_get, _cec.libcec_configuration_adapterType_set) + __swig_setmethods__["comboKey"] = _cec.libcec_configuration_comboKey_set + __swig_getmethods__["comboKey"] = _cec.libcec_configuration_comboKey_get + if _newclass: + comboKey = _swig_property(_cec.libcec_configuration_comboKey_get, _cec.libcec_configuration_comboKey_set) + __swig_setmethods__["iComboKeyTimeoutMs"] = _cec.libcec_configuration_iComboKeyTimeoutMs_set + __swig_getmethods__["iComboKeyTimeoutMs"] = _cec.libcec_configuration_iComboKeyTimeoutMs_get + if _newclass: + iComboKeyTimeoutMs = _swig_property(_cec.libcec_configuration_iComboKeyTimeoutMs_get, _cec.libcec_configuration_iComboKeyTimeoutMs_set) + __swig_setmethods__["iButtonRepeatRateMs"] = _cec.libcec_configuration_iButtonRepeatRateMs_set + __swig_getmethods__["iButtonRepeatRateMs"] = _cec.libcec_configuration_iButtonRepeatRateMs_get + if _newclass: + iButtonRepeatRateMs = _swig_property(_cec.libcec_configuration_iButtonRepeatRateMs_get, _cec.libcec_configuration_iButtonRepeatRateMs_set) + __swig_setmethods__["iButtonReleaseDelayMs"] = _cec.libcec_configuration_iButtonReleaseDelayMs_set + __swig_getmethods__["iButtonReleaseDelayMs"] = _cec.libcec_configuration_iButtonReleaseDelayMs_get + if _newclass: + iButtonReleaseDelayMs = _swig_property(_cec.libcec_configuration_iButtonReleaseDelayMs_get, _cec.libcec_configuration_iButtonReleaseDelayMs_set) + __swig_setmethods__["iDoubleTapTimeoutMs"] = _cec.libcec_configuration_iDoubleTapTimeoutMs_set + __swig_getmethods__["iDoubleTapTimeoutMs"] = _cec.libcec_configuration_iDoubleTapTimeoutMs_get + if _newclass: + iDoubleTapTimeoutMs = _swig_property(_cec.libcec_configuration_iDoubleTapTimeoutMs_get, _cec.libcec_configuration_iDoubleTapTimeoutMs_set) + __swig_setmethods__["bAutoWakeAVR"] = _cec.libcec_configuration_bAutoWakeAVR_set + __swig_getmethods__["bAutoWakeAVR"] = _cec.libcec_configuration_bAutoWakeAVR_get + if _newclass: + bAutoWakeAVR = _swig_property(_cec.libcec_configuration_bAutoWakeAVR_get, _cec.libcec_configuration_bAutoWakeAVR_set) + + def __init__(self): + this = _cec.new_libcec_configuration() + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + + def __eq__(self, other): + return _cec.libcec_configuration___eq__(self, other) + + def __ne__(self, other): + return _cec.libcec_configuration___ne__(self, other) + + def Clear(self): + return _cec.libcec_configuration_Clear(self) + __swig_destroy__ = _cec.delete_libcec_configuration + __del__ = lambda self: None + + def SetLogCallback(self, pyfunc): + return _cec.libcec_configuration_SetLogCallback(self, pyfunc) + + def SetKeyPressCallback(self, pyfunc): + return _cec.libcec_configuration_SetKeyPressCallback(self, pyfunc) + + def SetCommandCallback(self, pyfunc): + return _cec.libcec_configuration_SetCommandCallback(self, pyfunc) + + def SetMenuStateCallback(self, pyfunc): + return _cec.libcec_configuration_SetMenuStateCallback(self, pyfunc) + + def SetSourceActivatedCallback(self, pyfunc): + return _cec.libcec_configuration_SetSourceActivatedCallback(self, pyfunc) + + def ClearCallbacks(self): + return _cec.libcec_configuration_ClearCallbacks(self) +libcec_configuration_swigregister = _cec.libcec_configuration_swigregister +libcec_configuration_swigregister(libcec_configuration) + +class ICECAdapter(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, ICECAdapter, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, ICECAdapter, name) + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + + def Open(self, strPort, iTimeoutMs=10000): + return _cec.ICECAdapter_Open(self, strPort, iTimeoutMs) + + def Close(self): + return _cec.ICECAdapter_Close(self) + + def PingAdapter(self): + return _cec.ICECAdapter_PingAdapter(self) + + def StartBootloader(self): + return _cec.ICECAdapter_StartBootloader(self) + + def Transmit(self, data): + return _cec.ICECAdapter_Transmit(self, data) + + def SetLogicalAddress(self, *args): + return _cec.ICECAdapter_SetLogicalAddress(self, *args) + + def SetPhysicalAddress(self, iPhysicalAddress=0x1000): + return _cec.ICECAdapter_SetPhysicalAddress(self, iPhysicalAddress) + + def PowerOnDevices(self, *args): + return _cec.ICECAdapter_PowerOnDevices(self, *args) + + def StandbyDevices(self, *args): + return _cec.ICECAdapter_StandbyDevices(self, *args) + + def SetActiveSource(self, *args): + return _cec.ICECAdapter_SetActiveSource(self, *args) + + def SetDeckControlMode(self, mode, bSendUpdate=True): + return _cec.ICECAdapter_SetDeckControlMode(self, mode, bSendUpdate) + + def SetDeckInfo(self, info, bSendUpdate=True): + return _cec.ICECAdapter_SetDeckInfo(self, info, bSendUpdate) + + def SetInactiveView(self): + return _cec.ICECAdapter_SetInactiveView(self) + + def SetMenuState(self, state, bSendUpdate=True): + return _cec.ICECAdapter_SetMenuState(self, state, bSendUpdate) + + def SetOSDString(self, iLogicalAddress, duration, strMessage): + return _cec.ICECAdapter_SetOSDString(self, iLogicalAddress, duration, strMessage) + + def SwitchMonitoring(self, bEnable): + return _cec.ICECAdapter_SwitchMonitoring(self, bEnable) + + def GetDeviceCecVersion(self, iLogicalAddress): + return _cec.ICECAdapter_GetDeviceCecVersion(self, iLogicalAddress) + + def GetDeviceMenuLanguage(self, iLogicalAddress): + return _cec.ICECAdapter_GetDeviceMenuLanguage(self, iLogicalAddress) + + def GetDeviceVendorId(self, iLogicalAddress): + return _cec.ICECAdapter_GetDeviceVendorId(self, iLogicalAddress) + + def GetDevicePowerStatus(self, iLogicalAddress): + return _cec.ICECAdapter_GetDevicePowerStatus(self, iLogicalAddress) + + def PollDevice(self, iLogicalAddress): + return _cec.ICECAdapter_PollDevice(self, iLogicalAddress) + + def GetActiveDevices(self): + return _cec.ICECAdapter_GetActiveDevices(self) + + def IsActiveDevice(self, iLogicalAddress): + return _cec.ICECAdapter_IsActiveDevice(self, iLogicalAddress) + + def IsActiveDeviceType(self, type): + return _cec.ICECAdapter_IsActiveDeviceType(self, type) + + def VolumeUp(self, bSendRelease=True): + return _cec.ICECAdapter_VolumeUp(self, bSendRelease) + + def VolumeDown(self, bSendRelease=True): + return _cec.ICECAdapter_VolumeDown(self, bSendRelease) + + def SendKeypress(self, iDestination, key, bWait=False): + return _cec.ICECAdapter_SendKeypress(self, iDestination, key, bWait) + + def SendKeyRelease(self, iDestination, bWait=False): + return _cec.ICECAdapter_SendKeyRelease(self, iDestination, bWait) + + def GetDeviceOSDName(self, iAddress): + return _cec.ICECAdapter_GetDeviceOSDName(self, iAddress) + + def GetActiveSource(self): + return _cec.ICECAdapter_GetActiveSource(self) + + def IsActiveSource(self, iLogicalAddress): + return _cec.ICECAdapter_IsActiveSource(self, iLogicalAddress) + + def SetStreamPath(self, *args): + return _cec.ICECAdapter_SetStreamPath(self, *args) + + def GetLogicalAddresses(self): + return _cec.ICECAdapter_GetLogicalAddresses(self) + + def GetCurrentConfiguration(self, configuration): + return _cec.ICECAdapter_GetCurrentConfiguration(self, configuration) + + def SetConfiguration(self, configuration): + return _cec.ICECAdapter_SetConfiguration(self, configuration) + + def CanPersistConfiguration(self): + return _cec.ICECAdapter_CanPersistConfiguration(self) + + def PersistConfiguration(self, configuration): + return _cec.ICECAdapter_PersistConfiguration(self, configuration) + + def RescanActiveDevices(self): + return _cec.ICECAdapter_RescanActiveDevices(self) + + def IsLibCECActiveSource(self): + return _cec.ICECAdapter_IsLibCECActiveSource(self) + + def GetDeviceInformation(self, strPort, config, iTimeoutMs=10000): + return _cec.ICECAdapter_GetDeviceInformation(self, strPort, config, iTimeoutMs) + + def EnableCallbacks(self, cbParam, callbacks): + return _cec.ICECAdapter_EnableCallbacks(self, cbParam, callbacks) + + def SetHDMIPort(self, iBaseDevice, iPort): + return _cec.ICECAdapter_SetHDMIPort(self, iBaseDevice, iPort) + + def GetDevicePhysicalAddress(self, iLogicalAddress): + return _cec.ICECAdapter_GetDevicePhysicalAddress(self, iLogicalAddress) + + def GetLibInfo(self): + return _cec.ICECAdapter_GetLibInfo(self) + + def InitVideoStandalone(self): + return _cec.ICECAdapter_InitVideoStandalone(self) + + def GetAdapterVendorId(self): + return _cec.ICECAdapter_GetAdapterVendorId(self) + + def GetAdapterProductId(self): + return _cec.ICECAdapter_GetAdapterProductId(self) + + def MenuStateToString(self, state): + return _cec.ICECAdapter_MenuStateToString(self, state) + + def CecVersionToString(self, version): + return _cec.ICECAdapter_CecVersionToString(self, version) + + def PowerStatusToString(self, status): + return _cec.ICECAdapter_PowerStatusToString(self, status) + + def LogicalAddressToString(self, address): + return _cec.ICECAdapter_LogicalAddressToString(self, address) + + def DeckControlModeToString(self, mode): + return _cec.ICECAdapter_DeckControlModeToString(self, mode) + + def DeckInfoToString(self, status): + return _cec.ICECAdapter_DeckInfoToString(self, status) + + def OpcodeToString(self, opcode): + return _cec.ICECAdapter_OpcodeToString(self, opcode) + + def ToString(self, mode): + return _cec.ICECAdapter_ToString(self, mode) + + def AudioStatusToString(self, status): + return _cec.ICECAdapter_AudioStatusToString(self, status) + + def DeviceTypeToString(self, type): + return _cec.ICECAdapter_DeviceTypeToString(self, type) + + def UserControlCodeToString(self, key): + return _cec.ICECAdapter_UserControlCodeToString(self, key) + + def AdapterTypeToString(self, type): + return _cec.ICECAdapter_AdapterTypeToString(self, type) + + def VersionToString(self, version): + return _cec.ICECAdapter_VersionToString(self, version) + + def PrintVersion(self, version, buf, bufSize): + return _cec.ICECAdapter_PrintVersion(self, version, buf, bufSize) + + def VendorIdToString(self, vendor): + return _cec.ICECAdapter_VendorIdToString(self, vendor) + + def AudioToggleMute(self): + return _cec.ICECAdapter_AudioToggleMute(self) + + def AudioMute(self): + return _cec.ICECAdapter_AudioMute(self) + + def AudioUnmute(self): + return _cec.ICECAdapter_AudioUnmute(self) + + def AudioStatus(self): + return _cec.ICECAdapter_AudioStatus(self) + + def CommandFromString(self, strCommand): + return _cec.ICECAdapter_CommandFromString(self, strCommand) + + def AudioEnable(self, enable): + return _cec.ICECAdapter_AudioEnable(self, enable) + __swig_destroy__ = _cec.delete_ICECAdapter + __del__ = lambda self: None + if _newclass: + Create = staticmethod(_cec.ICECAdapter_Create) + else: + Create = _cec.ICECAdapter_Create + + def DetectAdapters(self, *args): + return _cec.ICECAdapter_DetectAdapters(self, *args) +ICECAdapter_swigregister = _cec.ICECAdapter_swigregister +ICECAdapter_swigregister(ICECAdapter) + +def ICECAdapter_Create(configuration): + return _cec.ICECAdapter_Create(configuration) +ICECAdapter_Create = _cec.ICECAdapter_Create + + +def CECStartBootloader(): + return _cec.CECStartBootloader() +CECStartBootloader = _cec.CECStartBootloader +# This file is compatible with both classic and new-style classes. + + diff --git a/plugins/PulseEightPlus/cec_classes.py b/plugins/PulseEightPlus/cec_classes.py new file mode 100644 index 000000000..dec3ada3a --- /dev/null +++ b/plugins/PulseEightPlus/cec_classes.py @@ -0,0 +1,668 @@ +# -*- coding: utf-8 -*- +# This file is part of the libCEC(R) library. +# +# libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. +# All rights reserved. +# libCEC(R) is an original work, containing original code. +# +# libCEC(R) is a trademark of Pulse-Eight Limited. +# +# This program is dual-licensed; 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA +# +# +# Alternatively, you can license this library under a commercial license, +# please contact Pulse-Eight Licensing for more information. +# +# For more information contact: +# Pulse-Eight Licensing +# http://www.pulse-eight.com/ +# http://www.pulse-eight.net/ +# +# +# The code contained within this file also falls under the GNU license of +# EventGhost +# +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +from . import cec +import threading +import eg + +CEC_LOG_CONSTANTS = { + cec.CEC_LOG_ERROR: "ERROR: ", + cec.CEC_LOG_WARNING: "WARNING: ", + cec.CEC_LOG_NOTICE: "NOTICE: ", + cec.CEC_LOG_TRAFFIC: "TRAFFIC: ", + cec.CEC_LOG_DEBUG: "DEBUG: ", + cec.CEC_LOG_ALL: "ALL: " +} + +CEC_POWER_CONSTANTS = { + cec.CEC_POWER_STATUS_ON: True, + cec.CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY: False, + cec.CEC_POWER_STATUS_STANDBY: False, + cec.CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON: True, + cec.CEC_POWER_STATUS_UNKNOWN: None +} + +_CONTROL_CODES = [ + cec.CEC_USER_CONTROL_CODE_SELECT, + cec.CEC_USER_CONTROL_CODE_UP, + cec.CEC_USER_CONTROL_CODE_DOWN, + cec.CEC_USER_CONTROL_CODE_LEFT, + cec.CEC_USER_CONTROL_CODE_RIGHT, + cec.CEC_USER_CONTROL_CODE_RIGHT_UP, + cec.CEC_USER_CONTROL_CODE_RIGHT_DOWN, + cec.CEC_USER_CONTROL_CODE_LEFT_UP, + cec.CEC_USER_CONTROL_CODE_LEFT_DOWN, + cec.CEC_USER_CONTROL_CODE_ROOT_MENU, + cec.CEC_USER_CONTROL_CODE_SETUP_MENU, + cec.CEC_USER_CONTROL_CODE_CONTENTS_MENU, + cec.CEC_USER_CONTROL_CODE_FAVORITE_MENU, + cec.CEC_USER_CONTROL_CODE_EXIT, + cec.CEC_USER_CONTROL_CODE_TOP_MENU, + cec.CEC_USER_CONTROL_CODE_DVD_MENU, + cec.CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE, + cec.CEC_USER_CONTROL_CODE_NUMBER11, + cec.CEC_USER_CONTROL_CODE_NUMBER12, + cec.CEC_USER_CONTROL_CODE_NUMBER0, + cec.CEC_USER_CONTROL_CODE_NUMBER1, + cec.CEC_USER_CONTROL_CODE_NUMBER2, + cec.CEC_USER_CONTROL_CODE_NUMBER3, + cec.CEC_USER_CONTROL_CODE_NUMBER4, + cec.CEC_USER_CONTROL_CODE_NUMBER5, + cec.CEC_USER_CONTROL_CODE_NUMBER6, + cec.CEC_USER_CONTROL_CODE_NUMBER7, + cec.CEC_USER_CONTROL_CODE_NUMBER8, + cec.CEC_USER_CONTROL_CODE_NUMBER9, + cec.CEC_USER_CONTROL_CODE_DOT, + cec.CEC_USER_CONTROL_CODE_ENTER, + cec.CEC_USER_CONTROL_CODE_CLEAR, + cec.CEC_USER_CONTROL_CODE_NEXT_FAVORITE, + cec.CEC_USER_CONTROL_CODE_CHANNEL_UP, + cec.CEC_USER_CONTROL_CODE_CHANNEL_DOWN, + cec.CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL, + cec.CEC_USER_CONTROL_CODE_SOUND_SELECT, + cec.CEC_USER_CONTROL_CODE_INPUT_SELECT, + cec.CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION, + cec.CEC_USER_CONTROL_CODE_HELP, + cec.CEC_USER_CONTROL_CODE_PAGE_UP, + cec.CEC_USER_CONTROL_CODE_PAGE_DOWN, + cec.CEC_USER_CONTROL_CODE_POWER, + cec.CEC_USER_CONTROL_CODE_VOLUME_UP, + cec.CEC_USER_CONTROL_CODE_VOLUME_DOWN, + cec.CEC_USER_CONTROL_CODE_MUTE, + cec.CEC_USER_CONTROL_CODE_PLAY, + cec.CEC_USER_CONTROL_CODE_STOP, + cec.CEC_USER_CONTROL_CODE_PAUSE, + cec.CEC_USER_CONTROL_CODE_RECORD, + cec.CEC_USER_CONTROL_CODE_REWIND, + cec.CEC_USER_CONTROL_CODE_FAST_FORWARD, + cec.CEC_USER_CONTROL_CODE_EJECT, + cec.CEC_USER_CONTROL_CODE_FORWARD, + cec.CEC_USER_CONTROL_CODE_BACKWARD, + cec.CEC_USER_CONTROL_CODE_STOP_RECORD, + cec.CEC_USER_CONTROL_CODE_PAUSE_RECORD, + cec.CEC_USER_CONTROL_CODE_ANGLE, + cec.CEC_USER_CONTROL_CODE_SUB_PICTURE, + cec.CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND, + cec.CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE, + cec.CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING, + cec.CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION, + cec.CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE, + cec.CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION, + cec.CEC_USER_CONTROL_CODE_PLAY_FUNCTION, + cec.CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION, + cec.CEC_USER_CONTROL_CODE_RECORD_FUNCTION, + cec.CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION, + cec.CEC_USER_CONTROL_CODE_STOP_FUNCTION, + cec.CEC_USER_CONTROL_CODE_MUTE_FUNCTION, + cec.CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION, + cec.CEC_USER_CONTROL_CODE_TUNE_FUNCTION, + cec.CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION, + cec.CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION, + cec.CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION, + cec.CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION, + cec.CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION, + cec.CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION, + cec.CEC_USER_CONTROL_CODE_F1_BLUE, + cec.CEC_USER_CONTROL_CODE_F2_RED, + cec.CEC_USER_CONTROL_CODE_F3_GREEN, + cec.CEC_USER_CONTROL_CODE_F4_YELLOW, + cec.CEC_USER_CONTROL_CODE_F5, + cec.CEC_USER_CONTROL_CODE_DATA, + cec.CEC_USER_CONTROL_CODE_AN_RETURN, + cec.CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST, + cec.CEC_USER_CONTROL_CODE_MAX, + cec.CEC_USER_CONTROL_CODE_UNKNOWN, +] + + +class _UserControlCodes(object): + _control_codes = {} + + def __init__(self): + cec_lib = cec.ICECAdapter.Create(cec.libcec_configuration()) + + for code in _CONTROL_CODES: + code_name = cec_lib.UserControlCodeToString(code).title() + self._control_codes[code_name.replace(' (Function)', '')] = code + cec_lib.Close() + + def __iter__(self): + for key in sorted(self._control_codes.keys()): + yield key + + def __contains__(self, item): + return item in self._control_codes + + def __getattr__(self, item): + if item in self.__dict__: + return self.__dict__[item] + + if item in self._control_codes: + return self._control_codes[item] + + for key in self._control_codes: + if '(%s)' % item in key: + return self._control_codes[key] + + raise AttributeError + + +UserControlCodes = _UserControlCodes() + + +class CECDevice(object): + def __init__(self, adapter, name, device_const): + self.adapter = adapter + self.sla = adapter.LogicalAddressToString(device_const) + self.pa = adapter.GetDevicePhysicalAddress(device_const) + self.la = device_const + self._osd_event = threading.Event() + self._osd_thread = None + self._osd_string = None + self.name = name + + @property + def osd_name(self): + return self.adapter.GetDeviceOSDName(self.la) + + @property + def osd_string(self): + return self._osd_string + + @osd_string.setter + def osd_string(self, (msg, duration)): + if self._osd_thread is not None: + self._osd_event.set() + self._osd_thread.join(1.0) + + self._osd_event.clear() + + def clear_osd(): + self._osd_event.wait(duration) + self._osd_string = None + self._osd_thread = None + + self._osd_string = msg + self._osd_thread = threading.Thread(target=clear_osd()) + self.adapter.SetOSDString(self.la, duration, msg) + self._osd_thread.start() + + @property + def menu_language(self): + return self.adapter.GetDeviceMenuLanguage(self.la) + + @property + def cec_version(self): + cec_version = self.adapter.GetDeviceCecVersion(self.la) + return self.adapter.CecVersionToString(cec_version) + + @property + def vendor(self): + vendor_id = self.adapter.GetDeviceVendorId(self.la) + return self.adapter.VendorIdToString(vendor_id) + + @property + def power(self): + return CEC_POWER_CONSTANTS[self.adapter.GetDevicePowerStatus(self.la)] + + @power.setter + def power(self, flag): + if flag: + self.adapter.PowerOnDevices(self.la) + else: + self.adapter.StandbyDevices(self.la) + + @property + def active_device(self): + return self.adapter.IsActiveDevice(self.la) + + @property + def active_source(self): + return self.adapter.IsActiveSource(self.la) + + @active_source.setter + def active_source(self, flag=True): + if flag: + self.adapter.SetActiveSource(self.la) + + def __getattr__(self, item): + if item in self.__dict__: + return self.__dict__[item] + + if item in UserControlCodes: + adapter = self.adapter + + class Wrapper: + def __init__(self): + pass + + @staticmethod + def send_key_press(): + code = getattr(UserControlCodes, item) + adapter.SendKeypress( + self.la, + code + ) + + @staticmethod + def send_key_release(): + adapter.SendKeyRelease(self.la) + return Wrapper + return None + + +class AdapterError(Exception): + pass + + +class CECAdapter(object): + @eg.LogIt + def __init__( + self, + com_port, + adapter_name, + hdmi_port, + use_avr, + poll_interval + ): + self.name = adapter_name + self.com_port = com_port + self._log_level = None + self._menu_state = False + self._key_event = None + self._last_key = 255 + self._restart_params = (com_port, adapter_name, hdmi_port, use_avr) + self._poll_event = threading.Event() + self._poll_interval = poll_interval + self._lock = threading.Lock() + self._poll_thread = threading.Thread( + name='PulseEightCEC-' + adapter_name, + target=self._run_poll + ) + + self.cec_config = cec_config = cec.libcec_configuration() + self.lock = self._lock.acquire + self.unlock = self._lock.release + cec_config.clientVersion = cec.LIBCEC_VERSION_CURRENT + cec_config.deviceTypes.Add( + cec.CEC_DEVICE_TYPE_RECORDING_DEVICE + ) + cec_config.SetLogCallback(self._log_callback) + cec_config.SetKeyPressCallback(self._key_callback) + cec_config.iHDMIPort = hdmi_port + cec_config.strDeviceName = str(adapter_name) + cec_config.bActivateSource = 0 + + if use_avr: + cec_config.baseDevice = cec.CECDEVICE_AUDIOSYSTEM + else: + cec_config.baseDevice = cec.CECDEVICE_TV + + self.adapter = adapter = cec.ICECAdapter.Create(cec_config) + + if adapter.Open(com_port): + eg.Print('CEC: connection opened on ' + com_port) + else: + eg.PrintError( + 'CEC Error: connection failed on ' + com_port + ) + raise AdapterError + + self.tv = CECDevice(adapter, 'TV', cec.CECDEVICE_TV) + self.tuner1 = CECDevice(adapter, 'Tuner 1', cec.CECDEVICE_TUNER1) + self.tuner2 = CECDevice(adapter, 'Tuner 2', cec.CECDEVICE_TUNER2) + self.tuner3 = CECDevice(adapter, 'Tuner 3', cec.CECDEVICE_TUNER3) + self.tuner4 = CECDevice(adapter, 'Tuner 4', cec.CECDEVICE_TUNER4) + self.audiosystem = CECDevice(adapter, 'AVR', cec.CECDEVICE_AUDIOSYSTEM) + self.freeuse = CECDevice(adapter, 'Free Use', cec.CECDEVICE_FREEUSE) + self.unknown = CECDevice(adapter, 'Unknown', cec.CECDEVICE_UNKNOWN) + self.broadcast = CECDevice( + adapter, + 'Broadcast', + cec.CECDEVICE_BROADCAST + ) + self.reserved1 = CECDevice( + adapter, + 'Reserved 1', + cec.CECDEVICE_RESERVED1 + ) + self.reserved2 = CECDevice( + adapter, + 'Reserved 2', + cec.CECDEVICE_RESERVED2 + ) + self.recordingdevice1 = CECDevice( + adapter, + 'Recording Device 1', + cec.CECDEVICE_RECORDINGDEVICE1 + ) + self.playbackdevice1 = CECDevice( + adapter, + 'Playback Device 1', + cec.CECDEVICE_PLAYBACKDEVICE1 + ) + self.recordingdevice2 = CECDevice( + adapter, + 'Recording Device 2', + cec.CECDEVICE_RECORDINGDEVICE2 + ) + self.playbackdevice2 = CECDevice( + adapter, + 'Playback Device 2', + cec.CECDEVICE_PLAYBACKDEVICE2 + ) + self.recordingdevice3 = CECDevice( + adapter, + 'Recording Device 3', + cec.CECDEVICE_RECORDINGDEVICE3 + ) + self.playbackdevice3 = CECDevice( + adapter, + 'Playback Device 3', + cec.CECDEVICE_PLAYBACKDEVICE3 + ) + + self.devices = [ + self.tv, + self.audiosystem, + self.tuner1, + self.tuner2, + self.tuner3, + self.tuner4, + self.recordingdevice1, + self.recordingdevice2, + self.recordingdevice3, + self.playbackdevice1, + self.playbackdevice2, + self.playbackdevice3, + self.reserved1, + self.reserved2, + self.freeuse, + self.broadcast, + self.unknown, + ] + self._poll_thread.start() + + def _run_poll(self): + devices = [] + + volume = self.volume + mute = self.mute + menu = self.menu + + for device in self.devices: + try: + devices.append([ + device.active_device, + device.active_source, + device.power, + device.menu_language + ]) + except: + devices.append([None] * 4) + + while not self._poll_event.isSet(): + self.lock() + new_volume = self.volume + new_mute = self.mute + new_menu = self.menu + + if volume != new_volume: + volume = new_volume + if volume is not None: + eg.TriggerEvent( + prefix=self.name, + suffix='Volume.' + str(volume) + ) + + if mute != new_mute: + mute = new_mute + if mute is not None: + if mute: + suffix = 'On' + else: + suffix = 'Off' + + eg.TriggerEvent( + prefix=self.name, + suffix='Mute.' + suffix + ) + + if menu != new_menu: + menu = new_menu + if menu is not None: + if menu: + suffix = 'Opened' + else: + suffix = 'Closed' + + eg.TriggerEvent( + prefix=self.name, + suffix='Menu.' + suffix + ) + + for i, device in enumerate(self.devices): + active, source, power, language = devices[i] + + new_active = device.active_device + new_source = device.active_source + new_power = device.power + new_language = device.menu_language + + if active != new_active: + active = new_active + if active: + suffix = 'Active' + else: + suffix = 'Inactive' + + eg.TriggerEvent( + prefix=self.name, + suffix=device.name + '.' + suffix + ) + + if source != new_source: + source = new_source + if source: + eg.TriggerEvent( + prefix=self.name, + suffix='Source.' + device.name + ) + + if power != new_power: + if power is None: + eg.TriggerEvent( + prefix=self.name, + suffix=device.name + '.Connected' + ) + power = new_power + if power is None: + eg.TriggerEvent( + prefix=self.name, + suffix=device.name + '.Disconnected' + ) + else: + if power: + suffix = 'On' + else: + suffix = 'Off' + eg.TriggerEvent( + prefix=self.name, + suffix=device.name + '.Power.' + suffix + ) + + if language != new_language: + language = new_language + eg.TriggerEvent( + prefix=self.name, + suffix=device.name + '.MenuLanguage.' + str(language) + ) + + devices[i] = [active, source, power, language] + self.unlock() + self._poll_event.wait(self._poll_interval) + + def transmit_command(self, command): + command = self.adapter.CommandFromString(command.encode()) + return self.adapter.Transmit(command) + + def _log_callback(self, level, time, message): + if ( + self._log_level is not None and + level <= self._log_level and + level in CEC_LOG_CONSTANTS + ): + level_str = CEC_LOG_CONSTANTS[level] + eg.PrintDebugNotice( + "CEC %s: %s [%s] %s" % + (self.name, level_str, str(time), message) + ) + return 0 + + def _key_callback(self, key, duration): + str_key = lib.UserControlCodeToString(key).title() + if duration == 0 and self._last_key != key: + self._last_key = key + self._key_event = eg.TriggerEnduringEvent( + prefix=self._name, + suffix='KeyPressed.' + str_key + ) + elif duration > 0 and self._last_key == key: + self._last_key = 255 + self._key_event.SetShouldEnd() + self._key_event = None + elif self._last_key != key: + self._last_key = 255 + eg.TriggerEvent( + prefix=self._name, + suffix='KeyPressed.' + str_key + ) + return 0 + + @property + def log_level(self): + return self._log_level + + @log_level.setter + def log_level(self, level): + if level is not None and level not in CEC_LOG_CONSTANTS: + return + self._log_level = level + + @property + def vendor(self): + vendor_id = self.adapter.GetAdapterVendorId() + return self.adapter.VendorIdToString(vendor_id) + + @property + def menu(self): + return self._menu_state + + @menu.setter + def menu(self, state): + self._menu_state = state + self.adapter.SetMenuState(state) + + def set_interactive_view(self): + self.adapter.SetInactiveView() + + @property + def volume(self): + res = self.adapter.AudioStatus() ^ cec.CEC_AUDIO_MUTE_STATUS_MASK + if res == 255: + return None + return res + + @volume.setter + def volume(self, volume): + if volume < self.volume: + while volume < self.volume: + self.volume_down() + + elif volume > self.volume: + while volume > self.volume: + self.volume_up() + + def volume_up(self): + self.adapter.VolumeUp() + return self.volume + + def volume_down(self): + self.adapter.VolumeDown() + return self.volume + + @property + def mute(self): + return ( + self.adapter.AudioStatus() & cec.CEC_AUDIO_MUTE_STATUS_MASK == + cec.CEC_AUDIO_MUTE_STATUS_MASK + ) + + @mute.setter + def mute(self, flag): + if flag and not self.mute: + self.adapter.AudioMute() + elif not flag and self.mute: + self.adapter.AudioUnmute() + + def toggle_mute(self): + self.adapter.AudioToggleMute() + + def restart(self): + self.close() + return CECAdapter(*self._restart_params) + + def close(self): + self._poll_event.set() + self._poll_thread.join(3) + self.adapter.Close() + eg.Print('CEC: connection closed on ' + self.com_port) diff --git a/plugins/PulseEightPlus/controls-edit.py b/plugins/PulseEightPlus/controls-edit.py new file mode 100644 index 000000000..fdab058db --- /dev/null +++ b/plugins/PulseEightPlus/controls-edit.py @@ -0,0 +1,258 @@ +# -*- coding: utf-8 -*- +# This file is part of the libCEC(R) library. +# +# libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. +# All rights reserved. +# libCEC(R) is an original work, containing original code. +# +# libCEC(R) is a trademark of Pulse-Eight Limited. +# +# This program is dual-licensed; 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA +# +# +# Alternatively, you can license this library under a commercial license, +# please contact Pulse-Eight Licensing for more information. +# +# For more information contact: +# Pulse-Eight Licensing +# http://www.pulse-eight.com/ +# http://www.pulse-eight.net/ +# +# +# The code contained within this file also falls under the GNU license of +# EventGhost +# +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import eg +import threading +import wx +from wx.lib.agw import ultimatelistctrl as ulc + + +class Text(eg.TranslatableStrings): + name_lbl = 'Adapter Name' + avr_lbl = 'AVR Volume Control' + com_port_lbl = 'Adapter COM Port' + hdmi_lbl = 'Device HDMI Port' + adapter_lbl = 'Adapter:' + device_lbl = 'Device:' + poll_lbl = 'Polling Speed (ms)' + + +class AdapterListCtrl(ulc.UltimateListCtrl): + + @eg.LogIt + def __init__(self, parent): + self.lock = threading.Lock() + + ulc.UltimateListCtrl.__init__( + self, + parent, + -1, + size=(600, 200), + agwStyle=( + wx.LC_REPORT | + wx.BORDER_SUNKEN | + wx.LC_EDIT_LABELS | + wx.LC_VRULES | + wx.LC_HRULES | + ulc.ULC_HAS_VARIABLE_ROW_HEIGHT | + ulc.ULC_BORDER_SELECT + ) + ) + self.InsertColumn(0, Text.name_lbl) + self.InsertColumn(1, Text.com_port_lbl) + self.InsertColumn(2, Text.hdmi_lbl) + self.InsertColumn(3, Text.avr_lbl) + self.InsertColumn(4, Text.poll_lbl) + + self.SetColumnWidth(0, 100) + self.SetColumnWidth(1, 120) + self.SetColumnWidth(2, 115) + self.SetColumnWidth(3, 130) + self.SetColumnWidth(4, 130) + + def get_value(): + res = () + + for row in range(self.GetItemCount()): + name_item = self.GetItem(row, 0) + com_item = self.GetItem(row, 1) + hdmi_item = self.GetItem(row, 2) + avr_item = self.GetItem(row, 3) + poll_item = self.GetItem(row, 4) + + adapter_name = str(name_item.GetText()) + com_port = str(com_item.GetText()) + hdmi_port = hdmi_item.GetWindow().GetValue() + use_avr = avr_item.GetWindow().GetValue() + poll_interval = poll_item.GetWindow().GetValue() + + if adapter_name and adapter_name != 'ENTER NAME': + res += (( + com_port, + adapter_name, + hdmi_port, + use_avr, + poll_interval + ),) + return res + + self.GetValue = get_value + + def add_cec_item( + self, + com_port, + adapter_name, + hdmi_port, + use_avr, + poll_interval, + _ + # scan_type + ): + self.lock.acquire() + self.Freeze() + + index = self.InsertStringItem(self.GetItemCount(), adapter_name) + self.SetStringItem(index, 1, com_port) + self.SetStringItem(index, 2, '') + self.SetStringItem(index, 3, '') + self.SetStringItem(index, 4, '') + + com_item = self.GetItem(index, 0) + name_item = self.GetItem(index, 1) + hdmi_item = self.GetItem(index, 2) + avr_item = self.GetItem(index, 3) + poll_item = self.GetItem(index, 4) + + hdmi_port_ctrl = eg.SpinIntCtrl(self, -1, hdmi_port, min=1, max=99) + hdmi_item.SetWindow(hdmi_port_ctrl) + + avr_ctrl = wx.CheckBox(self, -1, '') + avr_ctrl.SetValue(use_avr) + avr_item.SetWindow(avr_ctrl) + print poll_interval + poll_ctrl = eg.SpinNumCtrl( + self, + -1, + poll_interval, + min=0.1, + max=5.0, + # increment=0.1 + ) + poll_ctrl.increment = 0.1 + poll_item.SetWindow(poll_ctrl) + + # if scan_type is None: + # com_item.SetBackgroundColour((255, 255, 75)) + # name_item.SetBackgroundColour((255, 255, 75)) + # hdmi_port_ctrl.SetBackgroundColour((255, 255, 75)) + # hdmi_item.SetBackgroundColour((255, 255, 75)) + # avr_item.SetBackgroundColour((255, 255, 75)) + # + # elif scan_type is False: + # com_item.SetBackgroundColour((255, 0, 0)) + # name_item.SetBackgroundColour((255, 0, 0)) + # hdmi_item.SetBackgroundColour((255, 0, 0)) + # avr_item.SetBackgroundColour((255, 0, 0)) + + self.SetItem(com_item) + self.SetItem(name_item) + self.SetItem(hdmi_item) + self.SetItem(avr_item) + self.SetItem(poll_item) + + self.Thaw() + self.Update() + self.lock.release() + + +class AdapterCtrl(wx.Panel): + + def __init__(self, parent, com_port, adapter_name, adapters): + wx.Panel.__init__(self, parent, -1) + + choices = list( + adapter.name + ' : ' + adapter.com_port + for adapter in adapters + ) + + adapters_st = wx.StaticText(self, -1, Text.adapter_lbl) + adapters_ctrl = eg.Choice(self, 0, choices=sorted(choices)) + + adapters_ctrl.SetStringSelection( + str(adapter_name) + ' : ' + str(com_port) + ) + + def get_value(): + value = adapters_ctrl.GetStringSelection() + a_name, c_port = value.split(' : ') + return c_port, a_name + + adapters_sizer = wx.BoxSizer(wx.HORIZONTAL) + adapters_sizer.Add(adapters_st, 0, wx.EXPAND | wx.ALL, 5) + adapters_sizer.Add(adapters_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + self.GetValue = get_value + self.SetSizer(adapters_sizer) + + +class DeviceCtrl(wx.Panel): + + def __init__(self, parent, dev): + wx.Panel.__init__(self, parent, -1) + + device_st = wx.StaticText(self, -1, Text.device_lbl) + device_ctrl = eg.Choice(self, 0, choices=[]) + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_st, 0, wx.EXPAND | wx.ALL, 5) + sizer.Add(device_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + def update_devices(adapter, dev_name=None): + adapter.lock() + try: + if dev_name is None: + dev_name = device_ctrl.GetStringSelection() + choices = list(d.name for d in adapter.devices) + device_ctrl.SetItems(choices) + + if dev_name in choices: + device_ctrl.SetStringSelection(dev_name) + else: + device_ctrl.SetSelection(0) + finally: + adapter.unlock() + + def get_value(): + return device_ctrl.GetStringSelection() + + self.GetValue = get_value + self.UpdateDevices = update_devices + self.SetSizer(sizer) diff --git a/plugins/PulseEightPlus/controls.py b/plugins/PulseEightPlus/controls.py new file mode 100644 index 000000000..1b76b2042 --- /dev/null +++ b/plugins/PulseEightPlus/controls.py @@ -0,0 +1,257 @@ +# -*- coding: utf-8 -*- +# This file is part of the libCEC(R) library. +# +# libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. +# All rights reserved. +# libCEC(R) is an original work, containing original code. +# +# libCEC(R) is a trademark of Pulse-Eight Limited. +# +# This program is dual-licensed; 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA +# +# +# Alternatively, you can license this library under a commercial license, +# please contact Pulse-Eight Licensing for more information. +# +# For more information contact: +# Pulse-Eight Licensing +# http://www.pulse-eight.com/ +# http://www.pulse-eight.net/ +# +# +# The code contained within this file also falls under the GNU license of +# EventGhost +# +# Copyright © 2005-2016 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + +import eg +import threading +import wx +from wx.lib.agw import ultimatelistctrl as ulc + + +class Text(eg.TranslatableStrings): + name_lbl = 'Adapter Name' + avr_lbl = 'AVR Volume Control' + com_port_lbl = 'Adapter COM Port' + hdmi_lbl = 'Device HDMI Port' + adapter_lbl = 'Adapter:' + device_lbl = 'Device:' + poll_lbl = 'Polling Speed (ms)' + + +class AdapterListCtrl(ulc.UltimateListCtrl): + + @eg.LogIt + def __init__(self, parent): + self.lock = threading.Lock() + + ulc.UltimateListCtrl.__init__( + self, + parent, + -1, + size=(600, 200), + agwStyle=( + wx.LC_REPORT | + wx.BORDER_SUNKEN | + wx.LC_EDIT_LABELS | + wx.LC_VRULES | + wx.LC_HRULES | + ulc.ULC_HAS_VARIABLE_ROW_HEIGHT | + ulc.ULC_BORDER_SELECT + ) + ) + self.InsertColumn(0, Text.name_lbl) + self.InsertColumn(1, Text.com_port_lbl) + self.InsertColumn(2, Text.hdmi_lbl) + self.InsertColumn(3, Text.avr_lbl) + self.InsertColumn(4, Text.poll_lbl) + + self.SetColumnWidth(0, 100) + self.SetColumnWidth(1, 120) + self.SetColumnWidth(2, 115) + self.SetColumnWidth(3, 130) + self.SetColumnWidth(4, 130) + + def get_value(): + res = () + + for row in range(self.GetItemCount()): + name_item = self.GetItem(row, 0) + com_item = self.GetItem(row, 1) + hdmi_item = self.GetItem(row, 2) + avr_item = self.GetItem(row, 3) + poll_item = self.GetItem(row, 4) + + adapter_name = str(name_item.GetText()) + com_port = str(com_item.GetText()) + hdmi_port = hdmi_item.GetWindow().GetValue() + use_avr = avr_item.GetWindow().GetValue() + poll_interval = poll_item.GetWindow().GetValue() + + if adapter_name and adapter_name != 'ENTER NAME': + res += (( + com_port, + adapter_name, + hdmi_port, + use_avr, + poll_interval + ),) + return res + + self.GetValue = get_value + + def add_cec_item( + self, + com_port, + adapter_name, + hdmi_port, + use_avr, + poll_interval, + _ + # scan_type + ): + self.lock.acquire() + self.Freeze() + + index = self.InsertStringItem(self.GetItemCount(), adapter_name) + self.SetStringItem(index, 1, com_port) + self.SetStringItem(index, 2, '') + self.SetStringItem(index, 3, '') + self.SetStringItem(index, 4, '') + + com_item = self.GetItem(index, 0) + name_item = self.GetItem(index, 1) + hdmi_item = self.GetItem(index, 2) + avr_item = self.GetItem(index, 3) + poll_item = self.GetItem(index, 4) + + hdmi_port_ctrl = eg.SpinIntCtrl(self, -1, hdmi_port, min=1, max=99) + hdmi_item.SetWindow(hdmi_port_ctrl) + + avr_ctrl = wx.CheckBox(self, -1, '') + avr_ctrl.SetValue(use_avr) + avr_item.SetWindow(avr_ctrl) + + poll_ctrl = eg.SpinNumCtrl( + self, + -1, + poll_interval, + min=0.1, + max=5.0, + increment=0.1 + ) + poll_item.SetWindow(poll_ctrl) + + # if scan_type is None: + # com_item.SetBackgroundColour((255, 255, 75)) + # name_item.SetBackgroundColour((255, 255, 75)) + # hdmi_port_ctrl.SetBackgroundColour((255, 255, 75)) + # hdmi_item.SetBackgroundColour((255, 255, 75)) + # avr_item.SetBackgroundColour((255, 255, 75)) + # + # elif scan_type is False: + # com_item.SetBackgroundColour((255, 0, 0)) + # name_item.SetBackgroundColour((255, 0, 0)) + # hdmi_item.SetBackgroundColour((255, 0, 0)) + # avr_item.SetBackgroundColour((255, 0, 0)) + + self.SetItem(com_item) + self.SetItem(name_item) + self.SetItem(hdmi_item) + self.SetItem(avr_item) + self.SetItem(poll_item) + + self.Thaw() + self.Update() + self.lock.release() + + +class AdapterCtrl(wx.Panel): + + def __init__(self, parent, com_port, adapter_name, adapters): + wx.Panel.__init__(self, parent, -1) + + choices = list( + adapter.name + ' : ' + adapter.com_port + for adapter in adapters + ) + + adapters_st = wx.StaticText(self, -1, Text.adapter_lbl) + adapters_ctrl = eg.Choice(self, 0, choices=sorted(choices)) + + adapters_ctrl.SetStringSelection( + str(adapter_name) + ' : ' + str(com_port) + ) + + def get_value(): + value = adapters_ctrl.GetStringSelection() + a_name, c_port = value.split(' : ') + return c_port, a_name + + adapters_sizer = wx.BoxSizer(wx.HORIZONTAL) + adapters_sizer.Add(adapters_st, 0, wx.EXPAND | wx.ALL, 5) + adapters_sizer.Add(adapters_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + self.GetValue = get_value + self.SetSizer(adapters_sizer) + + +class DeviceCtrl(wx.Panel): + + def __init__(self, parent, dev): + wx.Panel.__init__(self, parent, -1) + + device_st = wx.StaticText(self, -1, Text.device_lbl) + device_ctrl = eg.Choice(self, 0, choices=[]) + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(device_st, 0, wx.EXPAND | wx.ALL, 5) + sizer.Add(device_ctrl, 0, wx.EXPAND | wx.ALL, 5) + + def update_devices(adapter, dev_name=None): + adapter.lock() + try: + if dev_name is None: + dev_name = device_ctrl.GetStringSelection() + choices = list(d.name for d in adapter.devices) + device_ctrl.SetItems(choices) + + if dev_name in choices: + device_ctrl.SetStringSelection(dev_name) + else: + device_ctrl.SetSelection(0) + finally: + adapter.unlock() + + def get_value(): + return device_ctrl.GetStringSelection() + + self.GetValue = get_value + self.UpdateDevices = update_devices + self.SetSizer(sizer) diff --git a/plugins/PushBullet/__init__.py b/plugins/PushBullet/__init__.py new file mode 100644 index 000000000..2f008a3eb --- /dev/null +++ b/plugins/PushBullet/__init__.py @@ -0,0 +1,2256 @@ +# -*- coding: utf-8 -*- +version = "0.3.0" + +# plugins/PushBullet/__init__.py +# +# Copyright (C) 2014-2015 Pako +# +# This file is a plugin for EventGhost. +# Copyright (C) 2005-2009 Lars-Peter Voss +# +# EventGhost is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by the +# Free Software Foundation; +# +# EventGhost 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, see . +# +# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# The BSD 3-Clause License (applies to parts of the code obtained from gcm.py) +# Copyright (c) , +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER +# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# +# Changelog (in reverse chronological order): +# ------------------------------------------- +# 0.3.0 by topix +# - code cleanup and splitted +# 0.2.21 by K 2017-10-04 12:14 GMT-7 +# - added - support for EventGhost 0.5 +# 0.2.20 by Pako 2017-09-14 12:14 GMT+1 (+ another 1 due to DST) +# - bugfix - pycurl workaround +# 0.2.19 by Pako 2017-06-26 14:40 GMT+1 (+ another 1 due to DST) +# - bugfix (TypeError: run_forever() got an unexpected keyword argument 'http_proxy_auth') +# 0.2.18 by Pako 2017-04-20 12:29 GMT+1 (+ another 1 due to DST) +# - bugfix (push file failed) +# 0.2.17 by Pako 2017-04-16 11:25 GMT+1 (+ another 1 due to DST) +# - bugfix (incoming push type 'link' & 'url' parameter is missing) +# 0.2.16.1 by Pako 2016-07-03 07:04 GMT+1 +# - TEST VERSION - added html proxy support +# 0.2.16 by Pako 2016-06-05 06:39 GMT+1 +# - removed address and list pushes which have been deprecated for forever +# 0.2.15 by Pako 2016-02-07 19:04 GMT+1 +# - bugfix (sometime 'sender_email' parameter is missing) +# 0.2.14 by Pako 2015-12-24 20:38 GMT+1 +# - bugfix +# 0.2.13 by Pako 2015-12-12 20:39 GMT+1 +# - bugfixes +# 0.2.12 by Pako 2015-11-51 12:09 GMT+1 +# - 'sms_changed' handler added +# - bugfixes +# 0.2.11 by Pako 2015-10-08 12:27 GMT+1 +# - icon (in mirrored notification) is now correctly displayed +# 0.2.10 by Pako 2015-10-04 11:00 GMT+1 +# - now can be dismissed also a push (not only mirror) +# 0.2.9 by Pako 2015-10-03 13:07 GMT+1 +# - plugin now reacts to push of type 'dismissal'. +# - added action "Dismiss" +# - when you close a mirrored notification (using right click), +# push of type 'dismissal' is sent +# 0.2.8 by Pako 2015-09-24 12:43 GMT+1 +# - added opt. "Use the complete original push as last part of the payload" +# 0.2.7 by Pako 2015-09-15 12:36 GMT+1 +# - added "End to end encryption" support +# - uses the first word out of the body as the event suffix (optionaly) +# - added response to ping message +# 0.2.6 by Pako 2015-03-27 14:53 GMT+1 +# - photo of the sender is clipped into the shape of a circle +# 0.2.5 by Pako 2015-02-13 20:35 GMT+1 +# - bugfix - upload of non-ascii named file +# 0.2.4 by Pako 2015-01-28 20:35 GMT+1 +# - added action "Send bulk SMS to list from file" +# 0.2.3 by Pako 2015-01-25 13:06 GMT+1 +# - bugfix - missing getNmNr() function +# 0.2.2 by Pako 2015-01-23 09:06 GMT+1 +# - added action "Push to a single" +# 0.2.1 by Pako 2015-01-20 09:09 GMT+1 +# - bugfix (actions "Push reply" and "Push to everything" - GUI problem) +# 0.2.0 by Pako 2015-01-11 18:38 GMT+1 +# - code adapted to use the pycurl library instead of requests library +# - (this was necessary because of changes pushbullet server certificate) +# 0.1.10 by Pako 2015-01-01 14:21 GMT+1 +# - added recipients groups (push and SMS) +# - added WebSocketOpened and WebSocketClosed events +# 0.1.9 by Pako 2014-12-15 16:12 GMT+1 +# - bugfix (action "Send SMS to multiple recipients") +# 0.1.8 by Pako 2014-12-08 18:08 GMT+1 +# - added action "Send SMS to multiple recipients" +# 0.1.7 by Pako 2014-11-07 06:00 GMT+1 +# - bugfix +# 0.1.6 by Pako 2014-11-06 20:43 GMT+1 +# - bugfix +# - multiload of plugin enabled +# - added action "Send SMS" +# 0.1.5 by Pako 2014-10-22 12:43 GMT+1 +# - added option to push an image, obtained as clipboard content +# 0.1.4 by Pako 2014-10-03 19:38 GMT+1 +# - bugfixes +# - better synchronization with the time of server +# 0.1.3 by Pako 2014-10-02 20:09 GMT+1 +# - quick bugfix +# 0.1.2 by Pako 2014-10-01 19:24 GMT+1 +# - added action "Push reply" +# - added support of channels +# 0.1.1 by Pako 2014-09-29 09:58 GMT+1 +# - added action "Push screenshot" +# 0.1.0 by Pako 2014-08-30 08:40 GMT+1 +# - "websocket-client (websocket)" library used instead of "Tornado" library +# - Reply dialog improved +# 0.0.25 by Pako 2014-08-22 10:48 GMT+1 +# - bugfix +# 0.0.24 by Pako 2014-08-21 20:00 GMT+1 +# - push type 'clip' is now supported +# 0.0.23 by Pako 2014-08-10 09:12 GMT+1 +# - event payload contains "push dictionary" always +# (if it is a mirrored notification) +# 0.0.22 by Pako 2014-08-02 17:19 GMT+1 +# - bugfix (action "Set popups") +# - fixed bug - when decoding escape sequences (mirrored notifications) +# - fixed bug - when 'body' parameter is missing in push (type 'note') +# 0.0.21 by Pako 2014-07-11 12:44 GMT+1 +# - checkbox "Disable popping up of mirrored notification" changed to +# "Enable popping up of mirrored notification" +# - added action "Set popups" (enables, disables or toggles popups) +# - added action "Get states of popups" +# - action Push - added "smart" button "Apply, push and close" +# - an image of the sender (on "Quick-Reply" dialogue) is now better +# - reply buttons are now accompanied by an icon +# 0.0.20 by Pako 2014-06-25 13:39 GMT+1 +# - better text wrapping of mirrored notification +# - the ability to copy text from an incoming message in the Reply dialogue +# - disabling / enabling of mirroring for each application works again +# 0.0.19 by Pako 2014-06-22 12:21 GMT+1 +# - first version for release r1669 and later (no need to install libraries) +# - mirror notifications are customizable now (colour, monitor, alignment) +# - introduced a new event "ReplyAllowingMirror" +# - added an action "Send reply to mirror" +# - if there is a possibility to send a reply, +# then on the mirror notification is a new button "Reply" +# 0.0.18 by Pako 2014-05-30 18:45 GMT+1 +# - bugfix (when the 'title' parameter is missing in the received "Mirror") +# 0.0.17 by Pako 2014-05-30 11:53 GMT+1 +# - http://www.eventghost.net/forum/viewtopic.php?f=9&t=5709&p=31230#p31226 +# 0.0.16 by Pako 2014-05-27 12:57 GMT+1 +# - bugfix (when friend is not "active") +# 0.0.15 by Pako 2014-05-25 12:51 GMT+1 +# - "Mirror" as kind of Push now exists only in action "Push to everything" +# 0.0.14 by Pako 2014-05-25 10:01 GMT+1 +# - incoming "Mirror" is processed differently (enforced by the new API) +# 0.0.13 by Pako 2014-05-21 06:17 GMT+1 +# - forced change of url, used to test connectivity +# 0.0.12 by Pako 2014-05-19 10:55 GMT+1 +# - added option to delete pushes, sent using this plugin +# 0.0.11 by Pako 2014-05-19 07:55 GMT+1 +# - pyPushBullet module from Azelphur no longer needed +# - fixed issue with sending pushes to friends +# 0.0.10 by Pako 2014-05-17 10:58 GMT+1 +# - changes induced by introducing a new API +# - added action "Delete push" +# 0.0.9 by Pako 2014-05-01 14:24 GMT+1 +# - added new action "Push to everything" +# - optional message for push types "Link" +# and "File/Picture" is now supported +# 0.0.8 by Pako 2014-04-18 17:04 GMT+1 +# - a pushed file can be defined using a variables now +# 0.0.7 by Pako 2014-04-15 16:43 GMT+1 +# - popping up of mirrored notification can now be disabled +# 0.0.6 by Pako 2014-04-13 09:20 GMT+1 +# - bugfix +# - icons size 96x96 (if possible) are now using also when sending mirrors +# 0.0.5 by Pako 2014-04-11 11:25 GMT+1 +# - new SSL certificate for tornado lib 3.2 is valid +# - icon with size 96x96 is now supported (mirroring) +# 0.0.4 by Pako 2014-03-26 10:04 GMT+1 +# - automatic opening of pictures is now optional feature +# - added actions "Open file" and "Jump according to file extension" +# - with the api_key is treated as with a password for more security +# 0.0.3 by Pako 2014-03-14 12:35 GMT+1 +# - 'not_user' excluded from friends +# 0.0.2 by Pako 2014-02-26 16:02 GMT+1 +# - added support for push to "All of my devices" (Tasker integration) +# 0.0.1 by Pako 2014-02-21 08:04 GMT+1 +# - websocket.py is no longer needed +# - support url inserted +# 0.0.0 by Pako 2014-02-07 20:00 GMT+1 +# - first public version +# =============================================================================== + +import eg + +eg.RegisterPlugin( + name="PushBullet", + author="Pako", + version=version, + kind="other", + guid="{C92AD47A-B959-44D5-A849-9FCCCAAC9572}", + createMacrosOnAdd=True, + canMultiLoad=True, + icon=( + "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACyUlEQVRYw+1XPUxUQRD+" + "Zt/eu4M7ThQSiBgVvWgM2Jmo0YKCxIaChPgvFhTaohV2WkmnMTaaUBj0REiMhkQLCyuJ" + "BitpTMSQIBoi4AXuwb2/3bEgHMcdx1+QZ8Ekr5ndN/vt983OzgLbFrARAOzuPFMfO1Td" + "As76G7TWXcNnu58uOKpet9bFfdEkiCILPmYuFtfTWg8p3x8cufh8fEUA+x4075XlJUkj" + "ap7KG+OZ6fTp8baXAwCQ6Gv9KAzjOOVOKA4AABiApRyvWzt+D0rkwMiFpMqfJMI1O2JG" + "1CxfDpwkHM5OJErQ+tktE6a8LqPhJ0R0eX/yfKQAwEoRhCAjX651a0xkkCFqDWk8kiHz" + "YaL3SmzNADY32ShCQrRqwrU9Ly6Fc5jNGvK/f5DxpkF0i+3J5i1nYFESUVFaVt1e2nY0" + "FAgAAERMJypPHjx3oO8qiaAKkLkz3gTomAiwAh6zrYlEYAAArhIqVBsgAxQLl8SPSJ6v" + "p1y0mK699K4/GaWQgTHAANhTHFwOKK112rEDA+D/yaRdy/0qA9n8jA1/OjNBrH/IVYXa" + "RNHZU/AmZ6FmMiApPpMph6X2NUgQSBRePnrWzTYQrDSTNDa0tvYUVGoOKu2CXX++ZUpl" + "+s2auCWd75MwoibkrtKlP7kKM9N2FoD724KMR5YFWrBZBuApaMeHshYXzXIREp9So1N9" + "dud7ltAMlXag57ylQbReCshy4VoOaA19CYMBVaS0EKYcTt23k188AJA5FBdpWXOzh+eD" + "b9xcNvRd9sSrBcdWngIbpvFMSOPxZMcHZ20A9BJaNrp1xYxRhOk2s9v78+Y7O3dQkqQ0" + "a6SguVDKdGY4R45vACrXdfAEWdrX3fBUD5eVDPxqf6uWVbnqTmO9KUMtWLxsGliKrrGO" + "N9mHScW9xrpSO9QExZFVrhiQgMdSDLEUg2M3+se333//tf0FeVUoa3993xsAAAAASUVO" + "RK5CYII=" + ), + description=ur''' +Sends/receives notifications (and links, pictures and files) +to/from your Android device or browser (Chrome, Firefox) via PushBullet_. + +Google account and PushBullet account (free) are required to use PushBullet_. + +| Plugin uses libraries websocket-client_ and pyCurl_. +| Plugin also incorporates the majority of code from the file pbkdf2.py_ + and **gcm.py**. +| The file **gcm.py** is part of a project iphone-dataprotection_, + which is protected by a license `The BSD 3-Clause License`_. + +Plugin version: %s + +.. _PushBullet: https://www.pushbullet.com/ +.. _websocket-client: https://pypi.python.org/pypi/websocket-client +.. _pyCurl: http://pycurl.sourceforge.net/ +.. _pbkdf2.py: https://www.dlitz.net/software/python-pbkdf2/ +.. _iphone-dataprotection: https://code.google.com/p/iphone-dataprotection/ +.. _`The BSD 3-Clause License`: http://opensource.org/licenses/BSD-3-Clause +''' % version, + url="http://www.eventghost.net/forum/viewtopic.php?f=9&t=5709", +) + + +import logging +import os +import pycurl +from base64 import b64encode +from copy import deepcopy +from cStringIO import StringIO +from datetime import datetime +from json import dumps, loads +from locale import strcoll +from mimetypes import guess_type as mimetype +from shutil import copy as sh_copy, copyfileobj +from socket import gethostname +from os.path import abspath, basename, dirname, isdir, isfile, join +from tempfile import mktemp +from threading import currentThread, Thread +from time import time as ttime +from urllib import urlencode + +import certifi +import wx.adv +from Crypto.Hash import SHA256 + +from .actions import ( + DeletePush, + Dismiss, + EnableDisablePopups, + GetPopups, + JumpIf, + OpenFile, + Push, + PushScreenshot, + SendReply, + SendSMS, + SendSMS2list, + SendSMSgroup, + SendSMSmulti, +) +from .texts import Text +from .utils import ( + gcm_decrypt, + gcm_encrypt, + get_icon, + get_key_fingerprint, + HMAC, + PBKDF2, + SEP +) +from .websocketclient import WebSocketClient +from .widgets import ( + CheckListComboBox, + EnableDialog, + MirrorNote, + ProxyDialog, + PushGroupDialog, + SmsGroupDialog, +) + + +logging.basicConfig() + +API = 'https://api.pushbullet.com/v2/' +API3 = 'https://api.pushbullet.com/v3/' +DEFAULT_WAIT = 35.0 + +BODY = { + 'type': 'stream', + 'manufacturer': 'EventGhost', + 'model': 'plugin by Pako', + 'icon': 'system', + 'app_version': int(version.replace(".", "")), + 'key_fingerprint': None +} + +ACTIONS = ( + ( + Push, + "Push", + "Push", + "Pushes to one (or more) of the device (or friend).", + False + ), + ( + Push, + "PushToGroup", + "Push to group", + "Pushes to recipient group.", + "Gr" + ), + ( + Push, + "PushToEverything", + "Push to everything", + "Pushes to all of your devices.", + "Everything" + ), + ( + Push, + "PushReply", + "Push reply", + "Pushes a reply to the device from which the original push was sent.", + "Reply" + ), + ( + Push, + "PushSingle", + "Push to a single", + "Pushes to just one recipient (specified by iden, email, nickname or channel tag).", + "Single" + ), + ( + PushScreenshot, + "PushScreenshot", + "Grab and push image", + "Pushes screenshot (or clipboard content) to one (or more) of the device (or friend).", + False + ), + ( + PushScreenshot, + "PushScreenshotToEverything", + "Grab and push image to everything", + "Pushes screenshot (or clipboard content) to all of your devices.", + True + ), + ( + DeletePush, + "DeletePush", + "Delete push", + "Deletes push.", + None + ), + ( + OpenFile, + 'OpenFile', + "Open file", + "Opens (downloaded) file in the associated application.", + None + ), + ( + JumpIf, + 'JumpIf', + "Jump according to file extension", + "Jumps if the file is/is not one of the listed extension.", + None + ), + ( + SendSMS, + 'SendSMS', + "Send SMS", + "Sends SMS.", + None + ), + ( + SendSMS2list, + 'SendSMS2list', + "Send bulk SMS to list from file", + "Sends bulk SMS to list, imported from specified file.", + None + ), + ( + SendSMSmulti, + 'SendSMSmulti', + "Send SMS to multiple recipients", + "Sends SMS to multiple recipients.", + None + ), + ( + SendSMSgroup, + 'SendSMSgroup', + "Send SMS to recipient group", + "Sends SMS to recipient group.", + None + ), + ( + SendReply, + 'SendReply', + "Send reply to mirror", + "Sends a reply to application, whose notification was mirrored.", + None + ), + ( + Dismiss, + 'Dismiss', + "Dismiss the notification or push", + "Dismisses the notification or push.", + None + ), + ( + EnableDisablePopups, + 'EnableDisablePopups', + "Set popups", + "Enables, disables or toggles popups.", + None + ), + ( + GetPopups, + 'GetPopups', + "Get states of popups", + "Gets states of popups (enabled or disabled).", + None + ) +) + + +class PushBullet(eg.PluginClass): + api_key = None + auto_open = True + auto_update = False + channels = [] + conn_flag = False + ct = None + debug = 1 + devices = [] + disabled = [] + email = None + enab_mirr = False + flag1 = False + flag2 = False + flag_dev = True + friends = [] + iden = None + key = None + last_message = 0 + modified_after = 0 + msg_wait = DEFAULT_WAIT + notification_ids = {} + pb = None + sms_trds = {} + source_user_iden = None + targets = [] + text = Text + updt_dvcs = None + watchdog = None + ws_c = None + + def __init__(self): + super(PushBullet, self).__init__() + self.AddActionsFromList(ACTIONS) + + def __start__( + self, + nickname=None, + api_key="", + iden="", + prefix="PushBullet", + mode=0, + fldr="", + debug=3, + hide=15, + p_hide=15, + disabled=None, + hide_btn=False, + wavs="", + auto_open=True, + dummy="", + enab_mirr=True, + clr=(255, 255, 255), + alignment=0, + dspl=0, + offset=(0, 0), + filtered=None, + push_groups=None, + sms_groups=None, + password="", + first_word=True, + compl_push=False, + proxy=None + ): + if proxy is None: + proxy = ["", 0, "", ""] + if sms_groups is None: + sms_groups = [] + if push_groups is None: + push_groups = [] + if filtered is None: + filtered = [] + if disabled is None: + disabled = [] + self.proxy = proxy + self.source_user_iden = None + self.notification_ids = {} + self.push_groups = push_groups + self.sms_groups = sms_groups + if filtered and isinstance(filtered[0], list): # backward compatibility + tmp = [] + for i, item in enumerate(filtered[0]): + if filtered[1][i]: + tmp.append(item) + filtered = tmp + self.filtered = filtered + + if self.auto_update: + self.auto_update = False + return + if isinstance(api_key, eg.Password): + api_key = api_key.Get() + self.api_key = api_key + self.pssd = password + self.key = None + self.info.eventPrefix = prefix + self.nickname = nickname + self.iden = iden + self.prefix = prefix + self.mode = mode + self.fldr = fldr if isdir(fldr) else eg.folderPath.TemporaryFiles + self.debug = debug + self.hide = hide + self.p_hide = p_hide + + self.disabled = [] + for item in disabled: # backward compatibility + self.disabled.append(item if len(item) == 2 else item[1:]) + self.hideBtn = hide_btn + self.wavs = wavs + self.auto_open = auto_open + self.firstWord = first_word + self.complPush = compl_push + self.enabMirr = enab_mirr + self.clr = clr + self.alignment = alignment + self.dspl = dspl + self.offset = offset + self.conn_flag = False + self.sms_trds = {} + self.updt_dvcs = eg.scheduler.AddTask(2.0, self.update_devices) + + def connectivity(self): + # header = StringIO() + body = StringIO() + curl = pycurl.Curl() + curl.setopt(pycurl.CAINFO, certifi.where()) + # curl.setopt(pycurl.HEADERFUNCTION, header.write) + curl.setopt(pycurl.WRITEFUNCTION, body.write) + curl.setopt(pycurl.URL, 'http://www.google.com') + curl.setopt(pycurl.CONNECTTIMEOUT, 1) + if self.proxy[0]: + curl.setopt(pycurl.PROXY, str(self.proxy[0])) + curl.setopt(pycurl.PROXYPORT, self.proxy[1]) + if self.proxy[2]: + curl.setopt( + pycurl.PROXYUSERPWD, + "%s:%s" % (str(self.proxy[2]), str(self.proxy[3].Get())) + ) + try: + curl.perform() + status_code = curl.getinfo(pycurl.RESPONSE_CODE) + curl.close() + except: + eg.PrintTraceback() + status_code = None + return status_code in (200, 302) + + def stop_watchdog(self): + if self.watchdog: + try: + eg.scheduler.CancelTask(self.watchdog) + except ValueError: + pass + + def stop_updt_dvcs(self): + fcs = [i[2][0] for i in eg.scheduler.__dict__['heap'] if isinstance(i[2], tuple)] + if self.update_devices in fcs: + try: + eg.scheduler.CancelTask(self.updt_dvcs) + except ValueError: + pass + + def OnComputerResume(self, dummy): + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + self.watchdog = eg.scheduler.AddTask(15.0, self.watcher) + + def OnComputerSuspend(self, dummy): + self.stop_watchdog() + self.stop_updt_dvcs() + if self.ws_c: + self.ws_c.close() + self.ws_c = None + self.ct = None + self.devices = [] + self.friends = [] + self.channels = [] + self.targets = [] + + def __stop__(self): + if self.auto_update: + return + self.stop_watchdog() + self.stop_updt_dvcs() + if self.ws_c: + self.ws_c.close() + self.ws_c = None + self.ct = None + self.watchdog = None + self.devices = [] + self.friends = [] + self.channels = [] + self.targets = [] + self.sms_trds = {} + self.email = None + + def log(self, message, level): + if self.debug >= level: + print "%s: %s" % (self.name, message) + + @staticmethod + def parse_argument(arg): + try: + arg = eg.ParseString(arg) + except (ValueError, TypeError): + pass + try: + arg = eval(arg) + except (ValueError, TypeError): + pass + return arg + + def watcher(self): + if not self.info.isStarted: + return + if self.api_key and (ttime() - self.last_message) > self.msg_wait: + if self.connectivity(): + self.conn_flag = True + self.TriggerEvent("InternetConnection.Restored") + self.log(self.text.reconnect, 2) + self.msg_wait = min(600000, self.msg_wait * 2) + self.refresh_web_socket() + elif self.conn_flag: + self.log(self.text.waiting, 1) + self.conn_flag = False + self.TriggerEvent("InternetConnection.Broken") + elif not self.conn_flag: + if self.connectivity(): + self.conn_flag = True + self.TriggerEvent("InternetConnection.Restored") + self.stop_watchdog() + self.watchdog = eg.scheduler.AddTask(5.0, self.watcher) + + def on_open(self, _): + self.TriggerEvent(self.text.wsOpenedEvt) + res, flag = self.request("GET", API + 'pushes?limit=1&modified_after=0.0') + if not flag or not isinstance(res, dict) or 'pushes' not in res: + self.log(self.text.fRetrTmstmp, 1) + return + pushes = res['pushes'] + for push in pushes: + try: + self.modified_after = max(self.modified_after, push['modified']) + self.log(self.text.mdfdUpd % self.modified_after, 4) + except ValueError: + self.log(self.text.fRetrTmstmp, 1) + + def establish_subscriber(self): + if self.ws_c: + return + self.flag1 = False + url = 'wss://stream.pushbullet.com/websocket/' + self.api_key + self.ws_c = WebSocketClient(url, self) + self.ct = Thread(target=self.ws_c.start) + self.ct.start() + self.last_message = ttime() + self.stop_watchdog() + self.watchdog = eg.scheduler.AddTask(0.01, self.watcher) + self.log(self.text.addLstnr, 4) + + def refresh_web_socket(self): + self.msg_wait = DEFAULT_WAIT + if self.ws_c: + self.ws_c.close() + self.ws_c = None + self.establish_subscriber() + + def request_threads(self, iden): + res, flag = self.request( + "POST", + API3 + 'get-permanent', + data={'key': iden + '_threads'} + ) + + self.log(self.text.thrReqRes % repr(res), 4) + if not flag or not isinstance(res, dict) or 'data' not in res: + self.log(self.text.fLoadThrds, 1) + return [] + data = res['data'] + if 'encrypted' in data and data['encrypted']: + if self.key: + decrypted = gcm_decrypt(self.key, data[u'ciphertext']) + try: + data = loads(decrypted) + if not isinstance(data, dict): + self.log(self.text.e2eMssg2, 2) + return [] + except ValueError: + self.log(self.text.e2eMssg3, 2) + return [] + else: + eg.PrintNotice(self.text.noKey) + return [] + self.log(self.text.thrdsRcvd % self.get_device(iden), 4) + return data['threads'] if 'threads' in data else [] + + def on_message(self, _, m): + if not self.info.isStarted: + if self.ws_c: + self.ws_c.close() + if not self.targets: + if self.flag1: + self.flag2 = True + else: + self.updt_dvcs = eg.scheduler.AddTask(5.00, self.update_devices) + return + if m is None: + return + try: + m = loads(m) + self.log(self.text.wsMssg % repr(m), 5) + self.last_message = ttime() + self.msg_wait = DEFAULT_WAIT + except ValueError: + eg.PrintTraceback() + self.refresh_web_socket() + return + if m['type'] == 'nop': + pass + elif m['type'] == 'alert': + if m.target_device_iden != self.iden: + return + # noinspection PyArgumentList + self.TriggerEvent( + 'Alert', + m['title'] or "Empty", + payload=m['body'] + ) + elif m['type'] == 'push': + push = m['push'] + if 'encrypted' in push and push['encrypted']: + if self.key: + decrypted = gcm_decrypt(self.key, push['ciphertext']) + if decrypted is None: + self.log(self.text.e2eMssg1, 2) + return + try: + push = loads(decrypted) + self.log(self.text.dcrptdMssg % repr(push), 5) + if not isinstance(push, dict): + self.log(self.text.e2eMssg2, 2) + return + except ValueError: + self.log(self.text.e2eMssg3, 2) + return + else: + eg.PrintNotice(self.text.noKey) + return + if push['type'] == 'mirror': + try: + self.process_mirror(push) + except ValueError: + eg.PrintTraceback() + elif push['type'] == 'clip': + dev = push['device_iden'] if 'device_iden' in push else None + dev = push['source_device_iden'] \ + if 'source_device_iden' in push else dev + if dev not in self.filtered: + try: + self.process_push(push) + except ValueError: + eg.PrintTraceback() + elif push['type'] == 'dismissal': + notification_id = push['notification_id'] + if notification_id in self.notification_ids: + win = self.notification_ids[notification_id] + win.Close() + elif push['type'] == 'messaging_extension_reply': + pass + elif push['type'] == 'mute': + pass + elif push['type'] == 'unmute': + pass + elif push['type'] == 'pong': + pass + elif push['type'] == 'ping': + pong = { + 'type': 'pong', + "device_iden": self.iden, + } + res, flag = self.request( + "POST", + API + 'ephemerals', + data={"type": "push", "push": pong} + ) + self.log(self.text.rspnsr % repr(res), 4) + if not flag: + self.log(self.text.fPong, 1) + return + self.log(self.text.pong, 3) + elif push['type'] == 'sms_changed': + src_id = push[u'source_device_iden'] + trds = self.request_threads(src_id) + for trd in trds: + cid = trd[u'id'] + if 'latest' not in trd: + continue + if trd[u'latest']['direction'] != 'incoming': + continue + if cid in self.sms_trds[src_id]: + if ( + trd['latest']['timestamp'] <= self.sms_trds[src_id][cid][0] + and trd['latest']['id'] <= self.sms_trds[src_id][cid][1] + ): + continue + self.sms_trds[src_id][cid] = [ # timestamp and id update + trd['latest']['timestamp'], + trd['latest']['id'] + ] + dev = self.get_device(src_id) + rec = {} + try: + trd_recs = trd['recipients'] + if len(trd_recs) == 1: + suffix = "ReplyAllowingMirror" + rec = trd_recs[0] + name = rec['name'] + icon = self.urlretrieve(rec['image_url']) if 'image_url' in rec else None + else: + suffix = "Mirror" + icon = None + name = ", ".join([i['name'] for i in trd_recs]) + self.TriggerEvent( + "%s.%s" % ( + suffix, + name.replace(" ", "").replace(".", ":") + ), + payload=[ + trd['latest']['body'], + dev, + icon, + trd if self.complPush else trd['latest'] + ] + ) + if self.enabMirr: + push_dict = deepcopy(trd['latest']) + push_dict['dev'] = dev + push_dict['recip'] = rec['number'] if len(trd_recs) == 1 else "MULTI" + notification_id = 0 + push_dict['notification_id'] = notification_id + push_dict['conversation_iden'] = cid + if notification_id in self.notification_ids: + win = self.notification_ids[notification_id] + win.Close() + body = trd['latest']['body'] + wx.CallAfter( + MirrorNote, + None, + self, + dev, + name, + body if body else " ", + icon, + "sms", + self.get_sound('mirror'), + push_dict + ) + except ValueError: + eg.PrintTraceback() + else: + eg.PrintNotice(Text.unknStream % push['type']) + elif m['type'] == 'tickle' and m['subtype'] == 'push': + self.request_pushes() + elif m['type'] == 'tickle' and m['subtype'] == 'device': + self.devices = [] + fcs = [i[2][0] for i in eg.scheduler.__dict__['heap'] if isinstance(i[2], tuple)] + if self.update_devices not in fcs: + if self.flag1: + self.flag2 = True + else: + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + elif m['type'] == 'tickle' and m['subtype'] == 'contact': + self.friends = [] + fcs = [i[2][0] for i in eg.scheduler.__dict__['heap'] if isinstance(i[2], tuple)] + if self.update_devices not in fcs: + if self.flag1: + self.flag2 = True + else: + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + elif m['type'] == 'tickle' and m['subtype'] == 'channel': + self.channels = [] + fcs = [i[2][0] for i in eg.scheduler.__dict__['heap'] if isinstance(i[2], tuple)] + if self.update_devices not in fcs: + if self.flag1: + self.flag2 = True + else: + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + + def do_trigger_event(self, part1, part2, part3, part4, part5, dev, ts): + if self.mode: + self.TriggerEvent( + part1, + payload=[part2, part3, part4, part5, dev, ts] + ) + else: + self.TriggerEvent( + "%s.%s" % (part1, part2.title().replace(" ", "").replace(".", ":")), + payload=[part3, part4, part5, dev, ts] + ) + + def urlretrieve(self, remote, flpth=None): + headers = {} + + def header_function(header_line): + if ':' not in header_line: + return + name, value = header_line.split(':', 1) + name = name.strip() + value = value.strip() + name = name.lower() + headers[name] = value + + buff = StringIO() + curl = pycurl.Curl() + curl.setopt(pycurl.CAINFO, certifi.where()) + curl.setopt(pycurl.URL, remote) + curl.setopt(pycurl.HTTPHEADER, ['Accept: */*', 'User-Agent: EventGhost']) + curl.setopt(pycurl.WRITEDATA, buff) + curl.setopt(pycurl.HEADERFUNCTION, header_function) + if self.proxy[0]: + curl.setopt(pycurl.PROXY, str(self.proxy[0])) + curl.setopt(pycurl.PROXYPORT, self.proxy[1]) + if self.proxy[2]: + curl.setopt( + pycurl.PROXYUSERPWD, + "%s:%s" % (str(self.proxy[2]), str(self.proxy[3].Get())) + ) + curl.perform() + status_code = curl.getinfo(pycurl.RESPONSE_CODE) + curl.close() + if status_code == 200: + if flpth is not None: + ct = headers['content-type'] + fo = open(flpth, 'wb') + buff.seek(0) + # noinspection PyTypeChecker + copyfileobj(buff, fo) + fo.close() + self.TriggerEvent("FileDownloaded", payload=flpth) + if self.auto_open and ct.split(r"/")[0] == u'image': + eg.plugins.System.DisplayImage( + flpth, 3, 1, True, False, 0, True, 4, + self.p_hide, + 0, 5, 5, 640, 480, (51, 51, 51), False, True, True, u'' + ) + else: + return b64encode(buff.getvalue()) + else: + self.log(self.text.dwnldFailed % (flpth, status_code), 1) + + def get_sound(self, tp): + if self.wavs: + if isfile(join(self.wavs, "%s.wav" % tp)): + return join(self.wavs, "%s.wav" % tp) + + def delete_push(self, iden): + res, flag = self.request("DELETE", API + 'pushes/%s' % iden) + if flag: + self.log(self.text.pushDelted, 4) + else: + self.log(self.text.pushDelFld % res, 2) + + def send_reply(self, push, msg): + if 'type' in push and push['type'] == 'sms': + return self.send_sms(push['dev'], push['recip'], msg) + push['type'] = 'messaging_extension_reply' + push['target_device_iden'] = push['source_device_iden'] + push['message'] = msg + package_name = push['package_name'] + if 'source_device_iden' in push: + del push['source_device_iden'] + if 'dismissible' in push: + del push['dismissible'] + if 'notification_id' in push: + del push['notification_id'] + if 'notification_tag' in push: + del push['notification_tag'] + push = push if self.key is None else \ + { + 'encrypted': True, + 'ciphertext': gcm_encrypt(self.key, dumps(push)) + } + body = {'type': 'push', 'push': push} + res, flag = self.request("POST", API + 'ephemerals', data=body) + if flag: + self.log(self.text.forwRep % package_name, 4) + else: + self.log(self.text.forwRepFld % package_name, 2) + + def sms_dismiss(self): + dismissal = { + 'type': 'dismissal', + 'source_user_iden': self.source_user_iden, + 'package_name': 'sms', + 'notification_id': 0 + } + body = { + 'type': 'push', + 'push': dismissal, + 'targets': ['stream', 'android'] + } + res, flag = self.request("POST", API + 'ephemerals', data=body) + if flag: + self.log(self.text.dismissSms, 4) + else: + self.log(self.text.dismissSmsFld, 2) + + def dismiss(self, oldpush): + if isinstance(oldpush, dict): + if 'notification_id' not in oldpush: + self.log(self.text.notIdMissing, 2) + return + notification_id = oldpush['notification_id'] + push = { + 'notification_id': notification_id, + 'notification_tag': None if 'notification_tag' not in oldpush else oldpush['notification_tag'], + 'type': u'dismissal', + 'source_user_iden': self.source_user_iden, + 'package_name': oldpush['package_name'] + } + push = push if self.key is None else \ + { + 'encrypted': True, + 'ciphertext': gcm_encrypt(self.key, dumps(push)) + } + body = { + 'type': 'push', + 'push': push, + 'targets': [u'stream', u'android', u'ios'] + } + res, flag = self.request("POST", API + 'ephemerals', data=body) + if flag: + self.log(self.text.dismissNote % notification_id, 4) + else: + self.log(self.text.dismissNoteFld % notification_id, 2) + else: + body = {"dismissed": True} + res, flag = self.request("POST", API + 'pushes/%s' % oldpush, data=body) + if flag: + self.log(self.text.dismissPush % oldpush, 4) + else: + self.log(self.text.dismissPushFld % oldpush, 2) + + def process_mirror(self, push): + body = push[u'body'] if 'body' in push and push['body'] else "" + title = push['title'] if 'title' in push and push['title'] else "" + dev = self.get_device(push['source_device_iden']) \ + if 'source_device_iden' in push else "Unknown" + push_dict = { + 'package_name': push['package_name'] if 'package_name' in push else None, + 'source_user_iden': push['source_user_iden'] if 'source_user_iden' in push else None, + 'source_device_iden': push['source_device_iden'] if 'source_device_iden' in push else None, + 'dismissible': push['dismissible'] if 'dismissible' in push else None, + 'notification_id': push['notification_id'] if 'notification_id' in push else None, + 'notification_tag': push['notification_tag'] if 'notification_tag' in push else None + } + try: + if "conversation_iden" in push: + push_dict["conversation_iden"] = push['conversation_iden'] + suffix = "ReplyAllowingMirror" + else: + suffix = "Mirror" + self.TriggerEvent( + "%s.%s" % ( + suffix, + title.title().replace(" ", "").replace(".", ":") if title else suffix, + ), + payload=[ + body, + dev, + push[u'icon'], + push if self.complPush else push_dict + ] + ) + if self.enabMirr: + title = title if title else body + notification_id = push_dict['notification_id'] + if notification_id in self.notification_ids: + win = self.notification_ids[notification_id] + win.Close() + wx.CallAfter( + MirrorNote, + None, + self, + dev, + title, + body if body and body != title else "", + push[u'icon'], + push['application_name'] if 'application_name' + in push and push['application_name'] else "", + self.get_sound(push['type']), + push_dict + ) + except ValueError: + eg.PrintTraceback() + + def process_push(self, push): + dev = None + if ( + ('active' in push and not push['active']) + or 'dismissed' in push and push['dismissed'] + ): + return + if ( + 'target_device_iden' in push + and push['target_device_iden'] != self.iden + ): + return + friend = False + if 'receiver_email' in push: + if push['receiver_email'] != self.email: + return + elif 'sender_email' in push and push['sender_email'] != self.email: + friend = True + dev = self.get_device(push['sender_email']) + if not friend: + dev = self.get_device(push['source_device_iden']) \ + if 'source_device_iden' in push else push['sender_name'] + if 'modified' in push: + ts = push['modified'] + if ts > self.modified_after: + self.modified_after = ts + self.log(self.text.mdfdUpd % self.modified_after, 4) + else: + ts = ttime() + ts = str(datetime.fromtimestamp(ts))[:19] + wav = self.get_sound(push['type']) + if wav: + sound = wx.adv.Sound(wav) + if sound.IsOk(): + sound.Play(wx.adv.SOUND_ASYNC) + body = push[u'body'] if ('body' in push and push['body']) else "" + part1 = push['type'].capitalize() + part2 = push['title'] if ('title' in push and push['title']) else part1 + if self.firstWord and part1 == "Note" and part2 == 'Note': + tmp_body = body.strip(' \t\n\r').replace("\n", " ") + part2 = tmp_body.split(" ")[0].replace(",", "") if tmp_body else part1 + part3 = None + part4 = None + part5 = push[u'iden'] if 'iden' in push else None + if push['type'] == u'link': + if 'url' in push: + part3 = push[u'url'] + part4 = body + else: + part3 = body + elif push['type'] == u'note': + part3 = body + elif push['type'] == 'clip': + part3 = body + part2 = dev if dev else part2 + if push['type'] in (u'link', u'note', u'clip'): + self.do_trigger_event(part1, part2, part3, part4, part5, dev, ts) + elif push['type'] == u'file': + image = push[u'file_type'].split(r"/")[0] == u'image' + self.TriggerEvent( + "Image" if image else "File", + payload=[ + push[u'file_name'], + push[u'file_type'], + push[u'file_url'], + body, + dev, + ts + ] + ) + flpth = join(self.fldr, push[u'file_name']) + self.urlretrieve(push[u'file_url'], flpth=flpth) + + def disable_mirroring(self, pushDict, app): + push = { + 'type': 'mute', + 'source_user_iden': pushDict['source_user_iden'], + "source_device_iden": self.iden, + 'package_name': pushDict['package_name'] + } + push = push if self.key is None else \ + { + 'encrypted': True, + 'ciphertext': gcm_encrypt(self.key, dumps(push)) + } + res, flag = self.request( + "POST", + API + 'ephemerals', + data={"type": "push", "push": push} + ) + self.log(self.text.rspnsr % repr(res), 4) + if not flag: + self.log(self.text.fTriggMute % app, 1) + return + self.log(self.text.triggMute % app, 3) + self.update_config(disabled=( + {'source_user_iden': pushDict['source_user_iden'], + 'package_name': pushDict['package_name']}, + app + )) + + def enable_mirroring(self, push, app): + push['type'] = 'unmute' + push['source_device_iden'] = self.iden + push = push if self.key is None else \ + { + 'encrypted': True, + 'ciphertext': gcm_encrypt(self.key, dumps(push)) + } + res, flag = self.request( + "POST", + API + 'ephemerals', + data={"type": "push", "push": push} + ) + self.log(self.text.rspnsr % repr(res), 4) + if not flag: + self.log(self.text.fTriggUnmute % app, 1) + return + self.log(self.text.triggUnmute % app, 3) + + def enable_mirroring_many(self, lst): + for item in lst: + self.enable_mirroring(*item) + self.update_config(enabled=lst) + + @staticmethod + def enable_disable_popups_tsk(trItem, args): + eg.actionThread.Func(trItem.SetArguments)(args) # __stop__ / __start__ + eg.document.SetIsDirty() + eg.document.Save() + + def enable_disable_popups(self, pic, mirr, save): + if not self.info.isStarted: + return + if pic == 2 and mirr == 2: + return + if (2 > pic == self.auto_open) or pic == 3: + self.auto_open = not self.auto_open + if (2 > mirr == self.enabMirr) or mirr == 3: + self.enab_mirr = not self.enab_mirr + if save: + flag = False + tr_item = self.info.treeItem + args = list(tr_item.GetArguments()) + if args[12] != self.auto_open: + flag = True + args[12] = self.auto_open + if args[14] != self.enabMirr: + flag = True + args[14] = self.enabMirr + if flag: + self.auto_update = True + ct = currentThread() + # noinspection PyProtectedMember + if ct == eg.actionThread._ThreadWorker__thread: + tr_item.SetArguments(args) # automatically __stop__/__start__ + eg.document.SetIsDirty() + eg.document.Save() + else: + eg.scheduler.AddTask( + 0.01, + self.enable_disable_popups_tsk, + tr_item, + args + ) + + def get_device(self, iden): + tmp = [t[1] for t in self.targets] + if iden in tmp: + return [t[0] for t in self.targets][tmp.index(iden)] + else: + return iden + + def get_targets(self, nick): + tmp = [list(item) for item in self.targets if item[0] == nick] + for item in tmp: + item.append(True) + return tmp + + def get_single(self, pbid): + if pbid in [itm[1] for itm in self.targets]: + return [itm for itm in self.targets if itm[1] == pbid] + if pbid in [itm[0] for itm in self.targets]: + return [itm for itm in self.targets if itm[0] == pbid] + elif pbid in [itm['tag'] for itm in self.channels if itm['active']]: + return [ + [itm['name'], itm['tag'], 'channel'] for + itm in self.channels if itm['active'] and itm['tag'] == pbid] + + def request_pushes(self): + self.log(self.text.gettPshs % self.modified_after, 4) + res, flag = self.request( + "GET", API + 'pushes?modified_after=%.7f&active=true' % self.modified_after + ) + self.log(self.text.rspnsr % repr(res), 4) + if not flag or not isinstance(res, dict) or 'pushes' not in res: + self.log(self.text.fLoadPshs, 1) + return + pushes = res['pushes'] + for push in pushes: + try: + self.process_push(push) + except ValueError: + eg.PrintTraceback() + + def upload_file(self, filepath): + + def guess_type(file_path): + return mimetype(file_path)[0] or 'application/octet-stream' + + base_name = basename(filepath) + params = { + "file_name": base_name.encode("utf-8"), + "file_type": guess_type(base_name) + } + resp, flag = self.request( + "GET", + API + "upload-request", + params=params + ) + if flag: + if not isfile(filepath.encode("utf-8")): + tmpfile = mktemp(".tmp", prefix='_eg_') + sh_copy(filepath, tmpfile) + else: + tmpfile = None + local_file = tmpfile if tmpfile is not None else filepath + data = [("file", (pycurl.FORM_FILE, local_file.encode("utf-8")))] + c = pycurl.Curl() + c.setopt(pycurl.CAINFO, certifi.where()) + c.setopt(pycurl.URL, resp["upload_url"]) + c.setopt(pycurl.POST, 1) + c.setopt(pycurl.HTTPPOST, data) + if self.proxy[0]: + c.setopt(pycurl.PROXY, str(self.proxy[0])) + c.setopt(pycurl.PROXYPORT, self.proxy[1]) + if self.proxy[2]: + c.setopt( + pycurl.PROXYUSERPWD, + "%s:%s" % (str(self.proxy[2]), str(self.proxy[3].Get())) + ) + c.perform() + response_code = c.getinfo(pycurl.RESPONSE_CODE) + c.close() + if tmpfile is not None: + os.remove(tmpfile) + if response_code == 204: + return resp["file_name"], resp["file_type"], resp["file_url"] + + def request(self, method, url, **kwargs): + hdrs = [ + "X-User-Agent:EventGhost", + "Authorization:Basic " + b64encode(self.api_key + ":"), + 'Accept:application/json', + "Content-type:application/json", + ] if 'headers' not in kwargs else kwargs['headers'] + + curl = pycurl.Curl() + curl.setopt(pycurl.CAINFO, certifi.where()) + if 'params' in kwargs: + url = url + '?' + urlencode(kwargs['params']) + curl.setopt(pycurl.URL, url) + curl.setopt(pycurl.HTTPHEADER, hdrs) + if method == "POST": + post_data = kwargs['data'] if 'data' in kwargs else {} + postfields = dumps(post_data) + curl.setopt(pycurl.POST, 1) + curl.setopt(pycurl.POSTFIELDS, postfields) + elif method == 'DELETE': # rv = self.app.delete('/subscription?uuid=%s&service=%s' % (self.uuid, public)) + curl.setopt(pycurl.CUSTOMREQUEST, "DELETE") + buf = StringIO() + curl.setopt(pycurl.WRITEFUNCTION, buf.write) + if self.proxy[0]: + curl.setopt(pycurl.PROXY, str(self.proxy[0])) + curl.setopt(pycurl.PROXYPORT, self.proxy[1]) + if self.proxy[2]: + curl.setopt( + pycurl.PROXYUSERPWD, + "%s:%s" % (str(self.proxy[2]), str(self.proxy[3].Get())) + ) + curl.perform() + status_code = curl.getinfo(pycurl.RESPONSE_CODE) + curl.close() + resp = buf.getvalue() + if status_code == 200: + if method == "DELETE": + return resp, True + else: + return loads(resp), True + else: + eg.PrintError(self.text.reqErr % str(resp)) + return status_code, False + + def update_config(self, iden=None, disabled=None, enabled=None): + tr_item = self.info.treeItem + args = list(tr_item.GetArguments()) + if iden: + args[2] = iden + self.log(self.text.idenSaved % iden, 2) + self.iden = args[2] + elif disabled and disabled not in args[9]: + args[9].append(disabled) + self.log(self.text.dsbldUpdated, 2) + self.disabled = deepcopy(args[9]) + elif enabled: + for item in enabled: + del item[0]['type'] + del item[0]['source_device_iden'] + if item in args[9]: + args[9].remove(item) + self.log(self.text.dsbldUpdated, 2) + self.disabled = deepcopy(args[9]) + self.auto_update = True + eg.actionThread.Func(tr_item.SetArguments)(args) + eg.document.SetIsDirty() + eg.document.Save() + + def get_account(self): + account, flag = self.request("GET", API + 'users/me') + if flag and isinstance(account, dict) and "email" in account: + self.email = account["email"] + self.source_user_iden = account["iden"] + self.log(self.text.emlObtained, 4) + else: + self.log(self.text.accReqFailed, 1) + + def get_sm_sdevices(self): + sms_devs = {} + for dev in self.devices: + if 'has_sms' in dev and dev['has_sms'] and dev['active']: + sms_devs[dev['nickname']] = dev['iden'] + return sms_devs + + def get_phonebook(self, dev): + sms_devs = self.get_sm_sdevices() + if dev in list(sms_devs.iterkeys()): + ph_book, flag = self.request( + 'GET', + API + 'permanents/phonebook_' + sms_devs[dev]) + if flag: + if 'encrypted' in ph_book and ph_book['encrypted']: + if self.key: + decrypted = gcm_decrypt(self.key, ph_book['ciphertext']) + try: + ph_book = loads(decrypted) + if not isinstance(ph_book, dict): + self.log(self.text.e2eMssg2, 2) + return [] + except ValueError: + self.log(self.text.e2eMssg3, 2) + return [] + else: + eg.PrintNotice(self.text.noKey) + return [] + self.log(self.text.bookRcvd % dev, 4) + phbook = ph_book['phonebook'] + choices = [] + for item in phbook: + choices.append(item['name'] + SEP + item['phone']) + # noinspection PyTypeChecker + choices.sort(cmp=strcoll) + return choices + else: + self.log(self.text.bookReqFailed % dev, 2) + return [] + + def send_sms(self, dev, recip, msg): + sms_devs = self.get_sm_sdevices() + if dev in list(sms_devs.iterkeys()): + iden = sms_devs[dev] + recip = recip.strip() if SEP not in recip else \ + recip.split(SEP)[1].strip() + push = { + "type": "messaging_extension_reply", + "package_name": "com.pushbullet.android", + "source_user_iden": self.source_user_iden, + "target_device_iden": iden, + "source_device_iden": self.iden, + "conversation_iden": recip, + "message": msg, + } + push = push if self.key is None else \ + { + 'encrypted': True, + 'ciphertext': gcm_encrypt(self.key, dumps(push)) + } + res, flag = self.request( + "POST", + API + 'ephemerals', + data={"type": "push", "push": push} + ) + + if flag: + self.log(self.text.smsSent % dev, 4) + else: + self.log(self.text.smsSentF % dev, 2) + + def send_sm_smulti(self, recips, msg, dev=None): + if dev is not None: + for recip in recips: + self.send_sms(dev, recip, msg) + else: + for recip in recips: + self.send_sms(recip[0], recip[2], msg) + + def update_devices(self): + if self.flag1: + return + fcs = [i[2][0] for i in eg.scheduler.__dict__['heap'] if isinstance(i[2], tuple)] + if self.update_devices in fcs: + try: + eg.scheduler.CancelTask(self.updt_dvcs) + return + except ValueError: + pass + if not self.info.isStarted: + return + if not self.connectivity(): + self.stop_watchdog() + self.watchdog = eg.scheduler.AddTask(5.0, self.watcher) + return + if not self.api_key: + self.log(self.text.noApi, 1) + return + if not self.nickname: + self.log(self.text.noNick, 1) + return + self.flag1 = True + self.flag2 = False + + if not self.email: + self.get_account() + + pssd = self.pssd.Get() if isinstance(self.pssd, eg.Password) else None + if self.key is None and pssd and self.source_user_iden: + self.key = PBKDF2( + pssd, + self.source_user_iden, + 30000, + digestmodule=SHA256, + macmodule=HMAC + ).read(32) + + if not self.devices: + devices, flag = self.request("GET", API + "devices?active=true") + if flag and isinstance(devices, dict) and "devices" in devices: + self.devices = devices["devices"] + self.log(self.text.devRcvd % repr(self.devices), 3) + + self.flag_dev = True + + for dev in self.devices: + if not dev['active']: # ignore deleted device + continue + if 'nickname' not in dev or not dev['nickname']: + nick = dev['manufacturer'].capitalize() + ' ' + dev['model'] + dev['nickname'] = nick + nicknames = dict( + [ + (dev['nickname'], dev) for dev + in self.devices if dev['active'] + ] + ) + key_fingerprint = get_key_fingerprint(self.key) + BODY['key_fingerprint'] = key_fingerprint + if self.nickname in nicknames.iterkeys(): + dev = nicknames[self.nickname] + if dev['manufacturer'] == u'EventGhost': + if self.iden != dev['iden']: + self.iden = dev['iden'] + self.update_config(iden=self.iden) + else: + eg.PrintNotice(self.text.nicknameUsed % self.nickname) + if self.flag2: + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + self.flag2 = False + self.flag1 = False + return + if self.key: + if 'key_fingerprint' not in dev or key_fingerprint != dev['key_fingerprint']: + self.request("POST", API + 'devices/%s' % self.iden, data=BODY) + else: + BODY['nickname'] = self.nickname + me, flag = self.request("POST", API + 'devices', data=BODY) + self.log(self.text.pcMssng, 2) + if flag and isinstance(me, dict) and me: + self.log(self.text.devCrtd % repr(me), 3) + self.iden = me['iden'] + self.update_config(iden=self.iden) + if self.flag2: + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + self.flag2 = False + self.flag1 = False + return + else: + self.log(self.text.crDevFld, 1) + self.flag1 = False + if self.flag2: + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + self.flag2 = False + return + else: + self.log(self.text.devReqFailed, 1) + self.flag1 = False + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + self.flag2 = False + return + if not self.friends: + friends, flag = self.request("GET", API + "contacts?active=true") + if flag and isinstance(friends, dict) and "contacts" in friends: + self.friends = friends["contacts"] + self.log(self.text.frndsRcvd % repr(self.friends), 3) + if not self.channels: + channels, flag = self.request("GET", API + "channels") + if flag and isinstance(channels, dict) and "channels" in channels: + self.channels = channels["channels"] + self.log(self.text.chnnlsRcvd % repr(self.channels), 3) + self.targets = [] + for dev in self.devices: + if not dev['active']: + continue + droid = 'android' if 'android_version' in dev \ + and dev['android_version'] is not None else 'pc' + self.targets.append((dev['nickname'], dev['iden'], droid)) + if 'has_sms' in dev and dev['has_sms']: + trds = self.request_threads(dev['iden']) + if trds: + self.sms_trds[dev['iden']] = dict( + [ + ( + i[u'id'], + [ + i[u'latest'][u'timestamp'], + i[u'latest'][u'id'] + ] + ) for i in trds if 'latest' in i and i[u'latest'][u'direction'] == u'incoming' + ] + ) + + for fr in self.friends: + if not fr['active'] or fr['status'] == 'not_user': + continue + name = fr['name'] if 'name' in fr and fr['name'] else fr['email'] + self.targets.append((name, fr['email'], 'user')) + for ch in self.channels: + if not ch['active']: + continue + name = ch['name'] + self.targets.append((name, ch['tag'], 'channel')) + self.log(self.text.trgtsDrvd % repr(self.targets), 3) + self.establish_subscriber() + self.flag1 = False + if self.flag2: + self.updt_dvcs = eg.scheduler.AddTask(5.0, self.update_devices) + self.flag2 = False + + def push(self, kind, trgts, data, suff=None): + if not self.ws_c: + eg.actionThread.Call(eg.PrintNotice, self.text.waiting2) + return + kinds = [i.lower() for i in self.text.kinds] + payload = {'type': kinds[kind]} + results = [] + ok = True + if kind == 2: # file + payload['body'] = data[0] if data[0] else None + fl = data[1] + file_info = self.upload_file(fl) + if not file_info: + eg.actionThread.Call( + self.log, + self.text.uplFld % basename(fl), + 1 + ) + return + eg.actionThread.Call( + self.log, + self.text.uplSucc % basename(fl), + 4 + ) + payload["file_name"] = file_info[0] + payload["file_type"] = file_info[1] + payload["file_url"] = file_info[2] + for trgt in trgts: + if not trgt[3]: + continue + dev = trgt[0] + # check, if trgt is valid ? + tmp = {'nickname': dev} + if trgt[2] == 'user': + iden = 'email' + tmp['type'] = 'friend' + if 'device_iden' in payload: + del payload['device_iden'] + if 'channel_tag' in payload: + del payload['channel_tag'] + elif trgt[2] == 'channel': + iden = 'channel_tag' + tmp['type'] = 'channel' + if 'device_iden' in payload: + del payload['device_iden'] + if 'email' in payload: + del payload['email'] + else: + iden = 'device_iden' + tmp['type'] = 'device' + if 'channel_tag' in payload: + del payload['channel_tag'] + if 'email' in payload: + del payload['email'] + tmp[iden] = trgt[1] + payload[iden] = trgt[1] + res, flag = self.request("POST", API + "pushes", data=payload) + if flag: + tmp['push_iden'] = res['iden'] + else: + ok = False + tmp['ok'] = flag + results.append(tmp) + level = 4 if ok else 1 + eg.actionThread.Call( + self.log, + self.text.pushRslt % repr(results), + level + ) + if suff: + self.TriggerEvent("PushSent.%s" % suff, payload=results) + return + + else: # if kind in (0, 1, 3): + payload['title'] = data[0] + if kind in (0, 3): + payload['body'] = data[1] + elif kind == 1: + payload['url'] = data[1] + payload['body'] = data[2] if data[2] else None + payload[u'source_device_iden'] = self.iden + for trgt in trgts: + if not trgt[3]: + continue + dev = trgt[0] + tmp = {'nickname': dev} + if trgt[2] == 'user': + iden = 'email' + tmp['type'] = 'friend' + if 'device_iden' in payload: + del payload['device_iden'] + if 'channel_tag' in payload: + del payload['channel_tag'] + elif trgt[2] == 'channel': + iden = 'channel_tag' + tmp['type'] = 'channel' + if 'device_iden' in payload: + del payload['device_iden'] + if 'email' in payload: + del payload['email'] + else: + iden = 'device_iden' + tmp['type'] = 'device' + if 'email' in payload: + del payload['email'] + if 'channel_tag' in payload: + del payload['channel_tag'] + tmp[iden] = trgt[1] + payload[iden] = trgt[1] + # check, if trgt is valid ? + if kind != 3: + res, flag = self.request("POST", API + "pushes", data=payload) + else: # mirror + payload['icon'] = get_icon(self.text.err, data[2]) + payload[u'application_name'] = eg.event.prefix if \ + eg.event else 'EventGhost' + + payload = payload if self.key is None else \ + { + 'encrypted': True, + 'ciphertext': gcm_encrypt(self.key, dumps(payload)) + } + + res, flag = self.request( + "POST", + API + "ephemerals", + data={ + "type": "push", + "push": payload, + 'targets': ['stream', 'android'] + } + ) + if flag: + if 'iden' in res: + tmp['push_iden'] = res['iden'] + else: + ok = False + tmp['ok'] = flag + results.append(tmp) + level = 4 if ok else 1 + eg.actionThread.Call(self.log, self.text.pushRslt % repr(results), level) + if suff: + self.TriggerEvent("PushSent.%s" % suff, payload=results) + return + + def get_active_devices(self): + act_devs = {} + for device in self.devices: + if device['active']: + act_devs[device['iden']] = device['nickname'] + return act_devs + + def Configure( + self, + nickname=None, + api_key="", + iden="", + prefix="PushBullet", + mode=0, + fldr="", + debug=3, + hide=15, + p_hide=15, + disabled=None, + hide_btn=False, + wavs="", + auto_open=True, + dummy="", + enab_mirr=True, + clr=(255, 255, 255), + alignment=0, + dspl=0, + offset=(0, 0), + filtered=None, + push_groups=None, + sms_groups=None, + password="", + first_word=True, + compl_push=False, + proxy=None + ): + if proxy is None: + proxy = ["", 0, "", ""] + if sms_groups is None: + sms_groups = [] + if push_groups is None: + push_groups = [] + if filtered is None: + filtered = [] + if disabled is None: + disabled = [] + self.disabled = [] + for item in disabled: # backward compatibility + self.disabled.append(item if len(item) == 2 else item[1:]) + + if nickname is None: + nickname = "EG-%s" % gethostname() + if not isinstance(api_key, eg.Password): + api_key = eg.Password(None) + api_key.Set("") # api_key.Set(apiKey) + else: + api_key = api_key + if not isinstance(password, eg.Password): + passw = eg.Password(None) + passw.Set(password) + else: + passw = password + if not isinstance(proxy[3], eg.Password): + p = eg.Password(None) + p.Set("") + proxy[3] = p + text = self.text + panel = eg.ConfigPanel(self) + panel.push_groups = deepcopy(push_groups) + panel.sms_groups = deepcopy(sms_groups) + panel.proxy = deepcopy(proxy) + if not fldr: + fldr = eg.folderPath.TemporaryFiles + n_label = wx.StaticText(panel, -1, text.nLabel) + nick_ctrl = wx.TextCtrl(panel, -1, nickname) + api_label = wx.StaticText(panel, -1, text.apiLabel) + passw_label = wx.StaticText(panel, -1, text.password) + api_ctrl = wx.TextCtrl(panel, -1, api_key.Get(), style=wx.TE_PASSWORD) + passw_ctrl = wx.TextCtrl(panel, -1, passw.Get(), style=wx.TE_PASSWORD) + prefix_label = wx.StaticText(panel, -1, text.prefix) + prefix_ctrl = panel.TextCtrl(prefix) + mode_label = wx.StaticText(panel, -1, text.mode) + rb0 = panel.RadioButton(mode == 0, self.text.modes[0], style=wx.RB_GROUP) + rb1 = panel.RadioButton(mode == 1, self.text.modes[1]) + fldr_label = wx.StaticText(panel, -1, text.folder) + fldr_ctrl = panel.DirBrowseButton(fldr) + wav_label = wx.StaticText(panel, -1, text.wavs) + wav_ctrl = eg.DirBrowseButton( + panel, + -1, + toolTip=self.text.toolWav, + dialogTitle=self.text.wavFldr, + buttonText=eg.text.General.browse, + startDirectory=join( + abspath(dirname(__file__.decode('mbcs'))), + "sounds" + ), + ) + wav_ctrl.SetValue(wavs) + debug_label = wx.StaticText(panel, -1, text.debug) + debug_label2 = wx.StaticText(panel, -1, text.debug2) + debug_ctrl = eg.SpinIntCtrl( + panel, + -1, + debug, + min=1, + max=5 + ) + button = wx.Button(panel, -1, self.text.reenab) + hide_btn_ctrl = wx.CheckBox(panel, 0, self.text.hideBtn) + hide_btn_ctrl.SetValue(hide_btn) + hide_label = wx.StaticText(panel, -1, text.timeout) + hide_label2 = wx.StaticText(panel, -1, text.timeout2) + hide_ctrl = eg.SpinIntCtrl( + panel, + -1, + hide, + min=0, + max=999 + ) + auto_open_ctrl = panel.CheckBox(auto_open, self.text.autoOpen) + first_word_ctrl = panel.CheckBox(first_word, self.text.firstWord) + compl_push_ctrl = panel.CheckBox(compl_push, self.text.complPush) + enab_mirr_ctrl = panel.CheckBox(enab_mirr, self.text.enabMirr) + p_hide_label = wx.StaticText(panel, -1, text.pTimeout) + p_hide_label2 = wx.StaticText(panel, -1, text.timeout2) + p_hide_ctrl = eg.SpinIntCtrl( + panel, + -1, + p_hide, + min=0, + max=999 + ) + clip_filter_ctrl = CheckListComboBox( + panel, + -1, + values=[[], [], []], + helpText=text.clipFilter + ) + if self.devices: + act_devs = self.get_active_devices() + items = list(self.get_active_devices().iterkeys()) + values = [ + [act_devs[item] for item in items], + [item in filtered for item in items], + act_devs + ] + + def sort_lst(lst): + tmp = zip(lst[0], lst[1], lst[2]) + tmp.sort() + return [ + [itm[0] for itm in tmp], + [itm[1] for itm in tmp], + [itm[2] for itm in tmp] + ] + + clip_filter_ctrl.SetValue(sort_lst(values)) + else: + clip_filter_ctrl.Enable(False) + clip_filter_ctrl.SetToolTip(text.filterToolTip) + clr_label = wx.StaticText(panel, -1, text.bcgColour) + alg_label = wx.StaticText(panel, -1, text.alignment) + dsp_label = wx.StaticText(panel, -1, text.display) + x_of_label = wx.StaticText(panel, -1, text.xOffset) + y_of_label = wx.StaticText(panel, -1, text.yOffset) + + clr_ctrl = panel.ColourSelectButton(clr) + alg_ctrl = panel.Choice( + alignment, choices=text.alignmentChoices + ) + dsp_ctrl = eg.DisplayChoice(panel, dspl) + x_of_ctrl = panel.SpinIntCtrl(offset[0], -32000, 32000) + y_of_ctrl = panel.SpinIntCtrl(offset[1], -32000, 32000) + + p_hide_sizer = wx.BoxSizer(wx.HORIZONTAL) + p_hide_sizer.Add(p_hide_ctrl, 0, wx.RIGHT, 5) + p_hide_sizer.Add(p_hide_label2, 0, flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer = wx.GridBagSizer(10, 10) + + grid_sizer.Add(n_label, (0, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(nick_ctrl, (0, 1), flag=wx.EXPAND) + grid_sizer.Add(api_label, (1, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(api_ctrl, (1, 1), flag=wx.EXPAND) + grid_sizer.Add(passw_label, (2, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(passw_ctrl, (2, 1), flag=wx.EXPAND) + grid_sizer.Add(prefix_label, (3, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(prefix_ctrl, (3, 1), flag=wx.EXPAND) + grid_sizer.AddGrowableCol(1) + + mode_sizer = wx.BoxSizer(wx.HORIZONTAL) + mode_sizer.Add(rb0) + mode_sizer.Add(rb1, 0, wx.LEFT, 10) + grid_sizer.Add(mode_label, (4, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(mode_sizer, (4, 1), flag=wx.EXPAND) + grid_sizer.Add(fldr_label, (5, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(fldr_ctrl, (5, 1), flag=wx.EXPAND) + debug_sizer = wx.BoxSizer(wx.HORIZONTAL) + debug_sizer.Add(debug_ctrl, 0, wx.RIGHT, 5) + debug_sizer.Add(debug_label2, 0, flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(debug_label, (6, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(debug_sizer, (6, 1)) + grid_sizer.Add(first_word_ctrl, (7, 0), (1, 2)) + grid_sizer.Add(auto_open_ctrl, (8, 0), (1, 2)) + grid_sizer.Add(p_hide_label, (9, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(p_hide_sizer, (9, 1)) + grid_sizer.Add(clip_filter_ctrl, (10, 0), (1, 2), flag=wx.EXPAND) + grid_sizer.Add(wav_label, (11, 0), flag=wx.ALIGN_CENTER_VERTICAL) + grid_sizer.Add(wav_ctrl, (11, 1), flag=wx.EXPAND) + + m_sizer = wx.GridBagSizer(10, 5) + m_sizer.Add(enab_mirr_ctrl, (0, 0), (1, 3)) + m_sizer.Add(clr_label, (1, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(clr_ctrl, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(alg_label, (2, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(alg_ctrl, (2, 1), (1, 2), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(dsp_label, (3, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(dsp_ctrl, (3, 1), (1, 2), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(x_of_label, (4, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(x_of_ctrl, (4, 1), (1, 2), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(y_of_label, (5, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(y_of_ctrl, (5, 1), (1, 2), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(hide_label, (6, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(hide_ctrl, (6, 1)) + m_sizer.Add(hide_label2, (6, 2), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(hide_btn_ctrl, (7, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(compl_push_ctrl, (8, 0), flag=wx.ALIGN_CENTER_VERTICAL) + m_sizer.Add(button, (9, 0)) + m_sizer.AddGrowableCol(2) + + static_box = wx.StaticBox(panel, -1, label=text.mirroring) + static_box_sizer = wx.StaticBoxSizer(static_box, wx.VERTICAL) + static_box_sizer.Add(m_sizer, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, 5) + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + main_sizer.Add(grid_sizer, 0, wx.RIGHT | wx.EXPAND, 10) + main_sizer.Add(static_box_sizer, 0, wx.EXPAND) + panel.sizer.Add(main_sizer, 0, wx.EXPAND | wx.ALL, 10) + + def enable_hide_picture(enable): + p_hide_label.Enable(enable) + p_hide_ctrl.Enable(enable) + p_hide_label2.Enable(enable) + + enable_hide_picture(auto_open) + + def on_auto_open(evt): + enable_hide_picture(evt.Checked()) + evt.Skip() + + auto_open_ctrl.Bind(wx.EVT_CHECKBOX, on_auto_open) + + def disable_mirr_pop_up(disable): + hide_label.Enable(disable) + hide_ctrl.Enable(disable) + hide_label2.Enable(disable) + hide_btn_ctrl.Enable(disable) + compl_push_ctrl.Enable(disable) + button.Enable(disable) + clr_label.Enable(disable) + alg_label.Enable(disable) + dsp_label.Enable(disable) + x_of_label.Enable(disable) + y_of_label.Enable(disable) + clr_ctrl.Enable(disable) + alg_ctrl.Enable(disable) + dsp_ctrl.Enable(disable) + x_of_ctrl.Enable(disable) + y_of_ctrl.Enable(disable) + + disable_mirr_pop_up(enab_mirr) + + def on_dis_mirr(evt): + disable_mirr_pop_up(evt.Checked()) + evt.Skip() + + enab_mirr_ctrl.Bind(wx.EVT_CHECKBOX, on_dis_mirr) + + def on_button(evt): + dlg = EnableDialog( + parent=panel, + plugin=self, + ) + dlg.Centre() + wx.CallAfter( + dlg.show_enab_dialog, + ) + evt.Skip() + + button.Bind(wx.EVT_BUTTON, on_button) + + push_group_btn = wx.Button(panel.dialog, -1, text.pushGroupsTitle) + + def on_push_group_btn(evt): + dlg = PushGroupDialog( + parent=panel, + plugin=self, + ) + wx.CallAfter( + dlg.show_push_groups_dlg, + ) + evt.Skip() + + push_group_btn.Bind(wx.EVT_BUTTON, on_push_group_btn) + panel.dialog.buttonRow.Add(push_group_btn) + + sms_group_btn = wx.Button(panel.dialog, -1, text.smsGroupsTitle) + + def on_sms_group_btn(evt): + dlg = SmsGroupDialog( + parent=panel, + plugin=self, + ) + wx.CallAfter( + dlg.show_sms_groups_dlg, + ) + evt.Skip() + + sms_group_btn.Bind(wx.EVT_BUTTON, on_sms_group_btn) + panel.dialog.buttonRow.Add(sms_group_btn) + + proxy_btn = wx.Button(panel.dialog, -1, text.proxyTitle) + + def on_proxy_btn(evt): + dlg = ProxyDialog( + parent=panel, + plugin=self, + labels=text.headers, + data=panel.proxy, + ) + wx.CallAfter( + dlg.show_proxy_dlg, text.proxyTitle + ) + evt.Skip() + + proxy_btn.Bind(wx.EVT_BUTTON, on_proxy_btn) + panel.dialog.buttonRow.Add(proxy_btn) + + while panel.Affirmed(): + values = clip_filter_ctrl.GetValue() + act_devs = self.get_active_devices() + idens = [] + for iden in act_devs: + if iden in values[2]: + ix = values[2].index(iden) + if values[1][ix]: + idens.append(iden) + old_key = api_key.Get() + new_key = api_ctrl.GetValue() + if old_key != new_key: + api_key.Set(new_key) + dummy = str(ttime()) + old_passw = passw.Get() + new_passw = passw_ctrl.GetValue() + if old_passw != new_passw: + passw.Set(new_passw) + dummy = str(ttime()) + if proxy[3].Get() != panel.proxy[3].Get(): + dummy = str(ttime()) + panel.SetResult( + nick_ctrl.GetValue(), + api_key, + self.iden, + prefix_ctrl.GetValue(), + int(rb1.GetValue()), + fldr_ctrl.GetValue(), + debug_ctrl.GetValue(), + hide_ctrl.GetValue(), + p_hide_ctrl.GetValue(), + self.disabled, + hide_btn_ctrl.GetValue(), + wav_ctrl.GetValue(), + auto_open_ctrl.GetValue(), + dummy, + enab_mirr_ctrl.GetValue(), + clr_ctrl.GetValue(), + alg_ctrl.GetValue(), + dsp_ctrl.GetValue(), + (x_of_ctrl.GetValue(), y_of_ctrl.GetValue()), + idens, + panel.push_groups, + panel.sms_groups, + passw, + first_word_ctrl.GetValue(), + compl_push_ctrl.GetValue(), + panel.proxy + ) diff --git a/plugins/PushBullet/actions.py b/plugins/PushBullet/actions.py new file mode 100644 index 000000000..2556fc722 --- /dev/null +++ b/plugins/PushBullet/actions.py @@ -0,0 +1,1499 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2014-2015 Pako +# +# This file is part of the PushBullet plugin for EventGhost. +# + + +import codecs +from copy import deepcopy +from encodings import aliases +from os import startfile +from os.path import join, splitext +from threading import Thread + +import wx +from PIL.ImageGrab import grab, grabclipboard + +import eg +from .utils import check, get_nm_nr, grayed, SEP +from .widgets import ICON_DIR, PhonebookChoice, Table + + +class Push(eg.ActionBase): + ids = [] + ix = 0 + kind = None + right_sizer = None + ts = None + value = None + + class Text(eg.TranslatableStrings): + limit = "Files must be smaller than 25 MB" + lbls1 = ( + "Title:", + "Link title:", + "Message:", + "Title:" + ) + lbls2 = ( + "Message:", + "Link (something like http://eventghost.net/forum):", + "File:", + "Message:" + ) + lbl3 = "Icon (path to image or base64 string):" + toolTipFile = '''Type filename or click browse to choose file +Files must be smaller than 25 MB''' + toolTipIcon = '''Type filename or click browse to choose image +or enter base64 string''' + browseFile = 'Choose a file' + browseIcon = 'Choose a image file' + cont = "Push contents:" + fMask = "All files (*.*)|*.*" + iMask = ( + "JPG files (*.jpg)|*.jpg" + "|BMP files (*.bmp)|*.bmp" + "|PNG files (*.png)|*.png" + "|All files (*.*)|*.*" + ) + ever = 'Everything' + suffix = "Event suffix when completed:" + toolTipSuff = '''If you fill out this field, then after sending +of push(-es) it will be triggered an event, carrying a result (as a payload). +If the field is left blank, the event will not be triggered.''' + smartLabel = "Apply, push and close" + smartTip = "The changes are saved, push is sent and the dialog closes." + grLabel = "Group:" + target = "Push target:" + toolTipSingle = """The target can be a device or a friend or channel. +You can use iden, (nick)name, email or channel tag. +You can also use variables - for example {eg.result} or {eg.event.payload} .""" + + def __call__(self, kind=0, trgts=None, data=None, suff=""): + if data is None: + data = ["", ""] + if trgts is None: + trgts = [] + if self.value == "Everything": + trgts = [['Everything', None, 'everything', True]] + elif self.value == "Reply": + trgts = self.plugin.get_targets(eg.event.payload[-2]) + trgts = trgts if trgts else [['Everything', None, 'everything', True]] + elif self.value == "Gr": + tmp = [itm[0] for itm in self.plugin.push_groups] + if trgts in tmp: + ix = tmp.index(trgts) + trgts = self.plugin.push_groups[ix][1] + else: + return # no targets + elif self.value == "Single": + if not isinstance(trgts, (str, unicode)): + return + trgts = eg.ParseString(trgts) + trgts = self.plugin.get_single(trgts) + if not trgts: + return + else: + trgts = list(trgts[0]) + trgts.append(True) + trgts = [trgts] + suff = eg.ParseString(suff) + pdt = len(data) * [None] + pdt[0] = eg.ParseString(data[0]) + pdt[1] = eg.ParseString(data[1]) + if len(data) > 2: + pdt[2] = eg.ParseString(data[2]) + push_thread = Thread( + target=self.plugin.push, + args=(kind, trgts, pdt, suff) + ) + push_thread.start() + + def GetLabel(self, kind, trgts, data, suff): + k = self.plugin.text.kinds[kind] + if self.value == "Everything": + ts = self.Text.ever + elif self.value == "Reply": + return "%s: %s" % (self.name, k) + elif self.value in ("Gr", "Single"): + ts = trgts + else: + ts = [i[0] for i in trgts if i[3]] + ts = repr(ts) if len(ts) > 1 else '"%s"' % ts[0] + return "%s: %s to %s" % (self.name, k.lower(), ts) + + # noinspection PyArgumentList + def Configure(self, kind=0, trgts=None, data=None, suff=""): + if data is None: + data = ["", ""] + if trgts is None: + trgts = [] + text = self.Text + self.kind = kind + panel = eg.ConfigPanel(self) + self.ts = [] + ts_label = wx.Size(1, 1) + ts_ctrl = wx.Size(1, 1) + left_sizer = wx.BoxSizer(wx.VERTICAL) + if self.value == "Gr": + ts_label = wx.StaticText(panel, -1, self.Text.grLabel) + ts_ctrl = wx.Choice( + panel, + -1, + choices=[itm[0] for itm in self.plugin.push_groups], + size=(-1, 200), + ) + if isinstance(trgts, (str, unicode)): + ts_ctrl.SetStringSelection(trgts) + elif self.value == "Single": + if not isinstance(trgts, (str, unicode)): + trgts = "" + ts_label = wx.StaticText(panel, -1, self.Text.target) + ts_ctrl = wx.TextCtrl(panel, -1, trgts, size=(200, -1)) + ts_label.SetToolTip(text.toolTipSingle) + ts_ctrl.SetToolTip(text.toolTipSingle) + + elif not self.value: + self.ts = deepcopy(trgts) + for t in self.ts: + if tuple(t[:3]) not in self.plugin.targets: + self.ts.remove(t) + tmp = [] + for t in self.plugin.targets: + tmp2 = [i[:3] for i in self.ts] + if list(t) in tmp2: + tmp.append(list(self.ts[tmp2.index(list(t))])) + else: + tmp.append([t[0], t[1], t[2], False]) + self.ts = tmp + items = [n[0] for n in self.ts] + ts_label = wx.StaticText(panel, -1, self.plugin.text.tsLabel) + ts_ctrl = wx.CheckListBox( + panel, + -1, + choices=items, + size=(-1, 200), + ) + for i, item in enumerate(self.ts): + ts_ctrl.Check(i, item[3]) + + def remove_targets(): + for j, u in enumerate(self.ts): + if u[2] != 'pc': + self.ts[j][3] = False + ts_ctrl.Check(j, False) + + def after_check_list_box(): + ts_ctrl.SetSelection(self.ix) + if ts_ctrl.IsChecked(self.ix): + if self.kind == 3 and self.plugin.targets[self.ix][2] != 'pc': + ts_ctrl.Check(self.ix, False) + self.ts[self.ix][3] = False + else: + self.ts[self.ix][3] = True + else: + self.ts[self.ix][3] = False + + def on_check_list_box(evt): + self.ix = evt.GetInt() + wx.CallAfter(after_check_list_box) + evt.Skip() + + ts_ctrl.Bind(wx.EVT_CHECKLISTBOX, on_check_list_box) + + def update_size(): + h = left_sizer.GetSize()[1] + ts_ctrl.SetSize((-1, h - 17)) + + def on_size(event): + wx.CallAfter(update_size) + event.Skip() + + panel.Bind(wx.EVT_SIZE, on_size) + + # noinspection PyArgumentList + def on_click(event): + img = wx.FindWindowById(id=buttons[self.kind]) + img.SetBitmapLabel(grayed(bmps[self.kind])) # reset to gray + evt_id = event.GetId() + self.kind = buttons.index(evt_id) + img = wx.FindWindowById(id=evt_id) + img.SetBitmapLabel(bmps[self.kind]) # selected -> color + set_dyn_ctrls() + if not self.value and self.kind == 3: + remove_targets() + event.Skip() + + buttons = ( + wx.NewIdRef(), wx.NewIdRef(), wx.NewIdRef(), + wx.NewIdRef(), wx.NewIdRef(), wx.NewIdRef() + ) + button_sizer = wx.GridBagSizer(0, 0) + bmps = [] + kinds = self.plugin.text.kinds if self.value \ + else self.plugin.text.kinds[:-1] + for i, icon in enumerate(kinds): + btn_id = buttons[i] + bmp = wx.Bitmap(join(ICON_DIR, icon + ".png"), wx.BITMAP_TYPE_PNG) + bmps.append(bmp) + g = grayed(bmp) + b = wx.BitmapButton( + panel, + btn_id, + g if i != kind else bmp, + size=(32, 32), + style=wx.NO_BORDER + ) + b.SetBitmapCurrent(bmp) + if i == 2: + b.SetToolTip(text.limit) + button_sizer.Add(b, (0, 2 * i)) + if i < 3: + button_sizer.Add((18, -1), (0, 2 * i + 1)) + button_sizer.Add(wx.StaticText(panel, -1, icon), (1, 2 * i), (1, 2)) + b.Bind(wx.EVT_BUTTON, on_click, id=btn_id) + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + + if not self.value or self.value in ("Gr", "Single"): + left_sizer.Add(ts_label) + left_sizer.Add(ts_ctrl, 0, wx.TOP | wx.EXPAND, 2) + main_sizer.Add(left_sizer, 0, wx.EXPAND | wx.RIGHT, 10) + + s_sizer = wx.StaticBoxSizer( + wx.StaticBox(panel, -1, ""), + wx.VERTICAL + ) + self.right_sizer = wx.BoxSizer(wx.VERTICAL) + s_sizer.Add(self.right_sizer, 1, wx.EXPAND | wx.ALL, 5) + self.right_sizer.Add(button_sizer) + + self.ids = [ + wx.NewIdRef(), wx.NewIdRef(), wx.NewIdRef(), + wx.NewIdRef(), wx.NewIdRef(), wx.NewIdRef() + ] + + def detach_control(wxid): + # noinspection PyArgumentList + cntrl = wx.FindWindowById(id=wxid) + if cntrl: + self.right_sizer.Detach(cntrl) + cntrl.Destroy() + + def set_dyn_ctrls(dat=None, knd=None): + right_sizer = self.right_sizer + knd = self.kind if knd is None else knd + for ctrl_id in self.ids: + detach_control(ctrl_id) + style = wx.TOP | wx.EXPAND + flag = 0 if knd in (1, 2) else 1 + cntrl1 = wx.TextCtrl( + panel, + self.ids[0], + dat[0] if dat and (knd != 2 or len(dat) == 2) else "" + ) # for backward compatibility ^^^^^^^^^^^^^^ + lbl1 = wx.StaticText(panel, self.ids[2], self.Text.lbls1[knd]) + if knd == 2: + if dat and len(dat) == 1: # for backward compatibility + dat.insert(0, "") + cntrl2 = eg.FileBrowseButton( + panel, + self.ids[1], + toolTip=text.toolTipFile, + dialogTitle=text.browseFile, + buttonText=eg.text.General.browse, + startDirectory=eg.folderPath.Documents, + initialValue=dat[1] if dat is not None else "", + fileMask=text.fMask, + ) + else: + cntrl2 = wx.TextCtrl( + panel, + self.ids[1], + dat[1] if dat is not None else "", + style=wx.TE_MULTILINE if knd != 1 else 0 + ) + lbl2 = wx.StaticText(panel, self.ids[3], self.Text.lbls2[knd]) + right_sizer.Add(lbl1, 0, wx.TOP, 10) + right_sizer.Add(cntrl1, 0, style, 1) + right_sizer.Add(lbl2, 0, wx.TOP, 10) + right_sizer.Add(cntrl2, flag, style, 1) + + if knd in (1, 3): + if knd == 1: + lbl3 = wx.StaticText(panel, self.ids[4], self.Text.lbls2[0]) + cntrl3 = wx.TextCtrl( + panel, + self.ids[5], + dat[2] if dat and len(dat) > 2 else "" + ) + else: + lbl3 = wx.StaticText(panel, self.ids[4], self.Text.lbl3) + cntrl3 = eg.FileBrowseButton( + panel, + self.ids[5], + toolTip=text.toolTipIcon, + dialogTitle=text.browseIcon, + buttonText=eg.text.General.browse, + startDirectory=eg.folderPath.Pictures, + initialValue=dat[2] if dat and len(dat) > 2 else "", + fileMask=text.iMask, + ) + right_sizer.Add(lbl3, 0, wx.TOP, 10) + right_sizer.Add(cntrl3, 0, style, 1) + right_sizer.Layout() + + suff_lbl = wx.StaticText(panel, -1, text.suffix) + suff_ctrl = wx.TextCtrl(panel, -1, suff) + suff_lbl.SetToolTip(text.toolTipSuff) + suff_ctrl.SetToolTip(text.toolTipSuff) + suff_sizer = wx.BoxSizer(wx.HORIZONTAL) + suff_sizer.Add(suff_lbl, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 8) + suff_sizer.Add(suff_ctrl, 1, wx.EXPAND) + r_sizer = wx.BoxSizer(wx.VERTICAL) + r_sizer.Add(wx.StaticText(panel, -1, text.cont)) + r_sizer.Add(s_sizer, 1, wx.EXPAND | wx.TOP, -5) + r_sizer.Add(suff_sizer, 0, wx.EXPAND | wx.TOP, 5) + main_sizer.Add(r_sizer, 1, wx.EXPAND) + panel.sizer.Add(main_sizer, 1, wx.ALL | wx.EXPAND, 5) + + if not self.plugin.ws_c: + panel.Enable(False) + + smart_button = wx.Button(panel.dialog, -1, text.smartLabel) + smart_button.SetToolTip(text.smartTip) + panel.dialog.buttonRow.Add(smart_button) + + def on_smart_button(event): + panel.dialog.DispatchEvent(event, eg.ID_TEST) + panel.dialog.DispatchEvent(event, wx.ID_OK) + + smart_button.Bind(wx.EVT_BUTTON, on_smart_button) + + set_dyn_ctrls(dat=("", "", ""), knd=1) # dialog - size adjustment + panel.GetParent().GetParent().Show() + wx.CallAfter(set_dyn_ctrls, data) + + while panel.Affirmed(): + data = [] + if self.value == "Gr": + ts = ts_ctrl.GetStringSelection() + elif self.value == "Single": + ts = ts_ctrl.GetValue() + else: + ts = self.ts + data.append(wx.FindWindowById(id=self.ids[0]).GetValue()) + data.append(wx.FindWindowById(id=self.ids[1]).GetValue()) + if self.kind in (1, 3): + data.append(wx.FindWindowById(self.ids[5]).GetValue()) + panel.SetResult( + self.kind, + ts, + data, + suff_ctrl.GetValue() + ) + + +class PushScreenshot(eg.ActionBase): + ix = 0 + ts = None + value = None + + class Text(eg.TranslatableStrings): + type = "Screenshot or clipboard options" + types = ("Fullscreen", "Region", "Clipboard") + descr = "Optional message:" + suffix = "Event suffix when completed:" + toolTipSuff = '''If you fill out this field, then after sending +of push(-es) it will be triggered an event, carrying a result (as a payload). +If the field is left blank, the event will not be triggered.''' + smartLabel = "Apply, push and close" + smartTip = "The changes are saved, push is sent and the dialog closes." + x_coord = "X-coordinate of the upper left corner:" + y_coord = "Y-coordinate of the upper left corner:" + width = "The width of the region:" + height = "The height of the region:" + noData = "PushBullet: The image can not be sent, there are no image datas" + + def __call__( + self, + trgts=None, + region=(0, 0, 0, 0), + descr="", + suff="", + src=None + ): + if trgts is None: + trgts = [] + src = int(region != (0, 0, 0, 0)) if src is None else src + if self.value: + trgts = [['Everything', None, 'everything', True]] + if src == 2: + im = grabclipboard() + filename = "%s__clipboard.png" + elif src == 1: + im = grab(bbox=region) + filename = "%s__region.png" + else: + im = grab() + filename = "%s__screenshot.png" + file_path = join( + eg.folderPath.TemporaryFiles, + filename % self.plugin.nickname + ) + if not im: + eg.PrintError(self.Text.noData) + return + im.save(file_path) + descr = eg.ParseString(descr) + suff = eg.ParseString(suff) + push_thread = Thread( + target=self.plugin.push, + args=(2, trgts, (descr, file_path), suff) + ) + push_thread.start() + + def GetLabel(self, trgts, region, descr, suff, src): + src = int(region != (0, 0, 0, 0)) if src is None else src + type_ = self.Text.types[src] + if self.value: + return "%s: %s: %s" % (self.name, descr, type_) + elif trgts: + ts = [i[0] for i in trgts if i[3]] + ts = repr(ts) if len(ts) > 1 else '"%s"' % ts[0] + return "%s: %s: %s to %s" % (self.name, descr, type_, ts) + + def Configure( + self, + trgts=None, + region=(0, 0, 0, 0), + descr="", + suff="", + src=None + ): + if trgts is None: + trgts = [] + text = self.Text + panel = eg.ConfigPanel(self) + ts_label = wx.Size(1, 1) + ts_ctrl = wx.Size(1, 1) + if self.value: + self.ts = [] + else: + self.ts = deepcopy(trgts) + for t in self.ts: + if tuple(t[:3]) not in self.plugin.targets: + self.ts.remove(t) + tmp = [] + for t in self.plugin.targets: + tmp2 = [i[:3] for i in self.ts] + if list(t) in tmp2: + tmp.append(list(self.ts[tmp2.index(list(t))])) + else: + tmp.append([t[0], t[1], t[2], False]) + self.ts = tmp + items = [n[0] for n in self.ts] + ts_label = wx.StaticText(panel, -1, self.plugin.text.tsLabel) + ts_ctrl = wx.CheckListBox( + panel, + -1, + choices=items, + size=(-1, 200), + ) + for i, item in enumerate(self.ts): + ts_ctrl.Check(i, item[3]) + + def after_check_list_box(): + ts_ctrl.SetSelection(self.ix) + if ts_ctrl.IsChecked(self.ix): + self.ts[self.ix][3] = True + else: + self.ts[self.ix][3] = False + + def on_check_list_box(evt): + self.ix = evt.GetInt() + wx.CallAfter(after_check_list_box) + evt.Skip() + + ts_ctrl.Bind(wx.EVT_CHECKLISTBOX, on_check_list_box) + + def update_size(): + h = left_sizer.GetSize()[1] + ts_ctrl.SetSize((-1, h - 17)) + + def on_size(event): + wx.CallAfter(update_size) + event.Skip() + + panel.Bind(wx.EVT_SIZE, on_size) + + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + if not self.value: + left_sizer = wx.BoxSizer(wx.VERTICAL) + left_sizer.Add(ts_label) + left_sizer.Add(ts_ctrl, 0, wx.TOP | wx.EXPAND, 2) + main_sizer.Add(left_sizer, 0, wx.EXPAND | wx.RIGHT, 10) + + s_sizer = wx.StaticBoxSizer( + wx.StaticBox(panel, -1, text.type), + wx.VERTICAL + ) + right_sizer = wx.BoxSizer(wx.VERTICAL) + s_sizer.Add(right_sizer, 1, wx.EXPAND | wx.ALL, 5) + + src = int(region != (0, 0, 0, 0)) if src is None else src + rb0 = panel.RadioButton(src == 0, text.types[0], style=wx.RB_GROUP) + rb1 = panel.RadioButton(src == 1, text.types[1]) + rb2 = panel.RadioButton(src == 2, text.types[2]) + rb_sizer = wx.BoxSizer(wx.HORIZONTAL) + rb_sizer.Add(rb0) + rb_sizer.Add(rb1, 0, wx.LEFT | wx.RIGHT, 25) + rb_sizer.Add(rb2) + right_sizer.Add(rb_sizer) + region_sizer = wx.FlexGridSizer(4, 2, 2, 15) + xlbl = wx.StaticText(panel, 0, text.x_coord) + ylbl = wx.StaticText(panel, 0, text.y_coord) + wlbl = wx.StaticText(panel, 0, text.width) + hlbl = wx.StaticText(panel, 0, text.height) + xctrl = eg.SpinIntCtrl( + panel, + -1, + region[0], + min=0, + max=10000 + ) + yctrl = eg.SpinIntCtrl( + panel, + -1, + region[1], + min=0, + max=10000 + ) + wctrl = eg.SpinIntCtrl( + panel, + -1, + region[2], + min=0, + max=10000 + ) + hctrl = eg.SpinIntCtrl( + panel, + -1, + region[3], + min=0, + max=10000 + ) + + def on_radio_box(evt=None): + flg = rb1.GetValue() + xlbl.Enable(flg) + xctrl.Enable(flg) + ylbl.Enable(flg) + yctrl.Enable(flg) + wlbl.Enable(flg) + wctrl.Enable(flg) + hlbl.Enable(flg) + hctrl.Enable(flg) + if not flg: + xctrl.SetValue(0) + yctrl.SetValue(0) + wctrl.SetValue(0) + hctrl.SetValue(0) + if evt: + evt.Skip() + + rb0.Bind(wx.EVT_RADIOBUTTON, on_radio_box) + rb1.Bind(wx.EVT_RADIOBUTTON, on_radio_box) + rb2.Bind(wx.EVT_RADIOBUTTON, on_radio_box) + on_radio_box() + + des_lbl = wx.StaticText(panel, -1, text.descr) + des_ctrl = wx.TextCtrl(panel, -1, descr) + region_sizer.Add(xlbl, 0, wx.ALIGN_CENTER_VERTICAL) + region_sizer.Add(xctrl) + region_sizer.Add(ylbl, 0, wx.ALIGN_CENTER_VERTICAL) + region_sizer.Add(yctrl) + region_sizer.Add(wlbl, 0, wx.ALIGN_CENTER_VERTICAL) + region_sizer.Add(wctrl) + region_sizer.Add(hlbl, 0, wx.ALIGN_CENTER_VERTICAL) + region_sizer.Add(hctrl) + right_sizer.Add(region_sizer, 0, wx.TOP, 13) + desc_sizer = wx.BoxSizer(wx.HORIZONTAL) + desc_sizer.Add(des_lbl, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10) + desc_sizer.Add(des_ctrl, 1, wx.EXPAND) + right_sizer.Add(desc_sizer, 0, wx.EXPAND | wx.TOP, 15) + + suff_lbl = wx.StaticText(panel, -1, text.suffix) + suff_ctrl = wx.TextCtrl(panel, -1, suff) + suff_lbl.SetToolTip(text.toolTipSuff) + suff_ctrl.SetToolTip(text.toolTipSuff) + suff_sizer = wx.BoxSizer(wx.HORIZONTAL) + suff_sizer.Add(suff_lbl, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 8) + suff_sizer.Add(suff_ctrl, 1, wx.EXPAND) + r_sizer = wx.BoxSizer(wx.VERTICAL) + r_sizer.Add(s_sizer, 1, wx.EXPAND | wx.TOP, 0) + r_sizer.Add(suff_sizer, 0, wx.EXPAND | wx.TOP, 5) + main_sizer.Add(r_sizer, 1, wx.EXPAND) + panel.sizer.Add(main_sizer, 1, wx.ALL | wx.EXPAND, 5) + + if not self.plugin.ws_c: + panel.Enable(False) + + smart_button = wx.Button(panel.dialog, -1, text.smartLabel) + smart_button.SetToolTip(text.smartTip) + panel.dialog.buttonRow.Add(smart_button) + + def on_smart_button(event): + panel.dialog.DispatchEvent(event, eg.ID_TEST) + panel.dialog.DispatchEvent(event, wx.ID_OK) + + smart_button.Bind(wx.EVT_BUTTON, on_smart_button) + + while panel.Affirmed(): + # data = [] + panel.SetResult( + self.ts, + ( + xctrl.GetValue(), + yctrl.GetValue(), + wctrl.GetValue(), + hctrl.GetValue() + ), + des_ctrl.GetValue(), + suff_ctrl.GetValue(), + rb1.GetValue() + 2 * rb2.GetValue() + ) + + +class DeletePush(eg.ActionBase): + + class Text(eg.TranslatableStrings): + lbl = "Push iden:" + + def __call__(self, iden=""): + iden = eg.ParseString(iden) + self.plugin.delete_push(iden) + + def Configure(self, iden=""): + panel = eg.ConfigPanel() + lbl = wx.StaticText(panel, -1, self.Text.lbl) + push_ctrl = wx.TextCtrl(panel, -1, iden) + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + main_sizer.Add(lbl, 0, wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(push_ctrl, 1, wx.EXPAND | wx.LEFT, 8) + panel.sizer.Add(main_sizer, 0, wx.EXPAND | wx.ALL, 10) + + while panel.Affirmed(): + panel.SetResult( + push_ctrl.GetValue(), + ) + + +class SendReply(eg.ActionBase): + + class Text(eg.TranslatableStrings): + lblPush = "Reply push:" + lblMsg = "Reply message:" + + def __call__(self, push="{eg.event.payload[3]}", msg=""): + push = self.plugin.parse_argument(push) + msg = eg.ParseString(msg) + self.plugin.send_reply(push, msg) + + def GetLabel(self, push, msg): + msg = msg.replace("\n", "") + return "%s: %s" % (self.name, msg if len(msg) < 13 else msg[:12] + " .....") + + def Configure(self, push="{eg.event.payload[3]}", msg=""): + panel = eg.ConfigPanel() + lbl_push = wx.StaticText(panel, -1, self.Text.lblPush) + lbl_msg = wx.StaticText(panel, -1, self.Text.lblMsg) + push_ctrl = wx.TextCtrl(panel, -1, push) + msg_ctrl = wx.TextCtrl(panel, -1, msg, style=wx.TE_MULTILINE) + main_sizer = wx.FlexGridSizer(2, 2, 10, 10) + + main_sizer.Add(lbl_msg, 0, wx.TOP, 3) + main_sizer.Add(msg_ctrl, 1, wx.EXPAND) + main_sizer.Add(lbl_push, 0, wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(push_ctrl, 0, wx.EXPAND) + main_sizer.AddGrowableRow(0) + main_sizer.AddGrowableCol(1) + + panel.sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 10) + + while panel.Affirmed(): + panel.SetResult( + push_ctrl.GetValue(), + msg_ctrl.GetValue() + ) + + +class Dismiss(eg.ActionBase): + + class Text(eg.TranslatableStrings): + lblPush = "Push dictionary (for mirror) or push iden:" + + def __call__(self, push_dict="{eg.event.payload[-1]}"): + push_dict = self.plugin.parse_argument(push_dict) + self.plugin.dismiss(push_dict) + + def GetLabel(self, pushDict): + return "%s: %s" % (self.name, pushDict) + + def Configure(self, pushDict="{eg.event.payload[-1]}"): + panel = eg.ConfigPanel() + lbl_push = wx.StaticText(panel, -1, self.Text.lblPush) + push_ctrl = wx.TextCtrl(panel, -1, pushDict) + main_sizer = wx.FlexGridSizer(1, 2, 10, 10) + + main_sizer.Add(lbl_push, 0, wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(push_ctrl, 0, wx.EXPAND) + main_sizer.AddGrowableCol(1) + panel.sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 10) + + while panel.Affirmed(): + panel.SetResult( + push_ctrl.GetValue() + ) + + +class SendSMS(eg.ActionBase): + + class Text(eg.TranslatableStrings): + device = "Device:" + recip = "Recipient:" + message = "Message:" + smartLabel = "Apply, send and close" + smartTip = "The changes are saved, SMS is sent and the dialog closes." + + def __call__(self, dev="", recip="", msg=""): + dev = self.plugin.parse_argument(dev) + recip = eg.ParseString(recip) + msg = eg.ParseString(msg) + self.plugin.send_sms(dev, recip, msg) + + def GetLabel(self, dev, recip, msg): + msg = msg.replace("\n", "") + return "%s: %s: %s: %s" % ( + self.name, + dev, + recip, + msg if len(msg) < 13 else msg[:12] + " ....." + ) + + def Configure(self, dev="", recip="", msg=""): + panel = eg.ConfigPanel() + lbl_dev = wx.StaticText(panel, -1, self.Text.device) + lbl_rec = wx.StaticText(panel, -1, self.Text.recip) + lbl_msg = wx.StaticText(panel, -1, self.Text.message) + try: + choices = list(self.plugin.get_sm_sdevices().iterkeys()) + except ValueError: + choices = [] + ctrl_dev = wx.Choice(panel, -1, choices=choices) + if choices: + ctrl_dev.SetStringSelection(dev) + phbook = self.plugin.get_phonebook(dev) + ctrl_rec = PhonebookChoice(panel, -1, phbook, self.plugin, recip) + ctrl_msg = wx.TextCtrl(panel, -1, msg, style=wx.TE_MULTILINE) + main_sizer = wx.FlexGridSizer(3, 2, 10, 10) + main_sizer.Add(lbl_dev, 0, wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(ctrl_dev, 0, wx.EXPAND) + main_sizer.Add(lbl_rec, 0, wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(ctrl_rec, 0, wx.EXPAND) + main_sizer.Add(lbl_msg, 0, wx.TOP, 3) + main_sizer.Add(ctrl_msg, 1, wx.EXPAND) + main_sizer.AddGrowableRow(2) + main_sizer.AddGrowableCol(1) + + panel.sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 10) + + def on_dev(evt=None): + devc = ctrl_dev.GetStringSelection() + pbook = self.plugin.get_phonebook(devc) + ctrl_rec.Set(pbook) + if evt: + evt.Skip() + + ctrl_dev.Bind(wx.EVT_CHOICE, on_dev) + on_dev() + + smart_button = wx.Button(panel.dialog, -1, self.Text.smartLabel) + smart_button.SetToolTip(self.Text.smartTip) + panel.dialog.buttonRow.Add(smart_button) + + def on_smart_button(event): + panel.dialog.DispatchEvent(event, eg.ID_TEST) + panel.dialog.DispatchEvent(event, wx.ID_OK) + + smart_button.Bind(wx.EVT_BUTTON, on_smart_button) + + while panel.Affirmed(): + panel.SetResult( + ctrl_dev.GetStringSelection(), + ctrl_rec.get_sel(), + ctrl_msg.GetValue() + ) + + +class SendSMS2list(eg.ActionBase): + enc = None + + class Text(eg.TranslatableStrings): + device = "Device:" + filepath = "File with list of numbers:" + message = "Message:" + smartLabel = "Apply, send and close" + smartTip = "The changes are saved, SMS is sent and the dialog closes." + fileMask = ( + "CSV files (*.csv)|*.csv" + "|TXT files (*.txt)|*.txt" + "|All files (*.*)|*.*" + ) + msgMask = ( + "TXT files (*.txt)|*.txt" + "|All files (*.*)|*.*" + ) + toolTipFile = 'Type filename or click browse to choose file' + browseFile = 'Choose a file' + src = "Message source:" + srcs = ("File", "Text box") + encoding = "File encoding:" + + def __call__(self, dev="", filepath="", msg="", src=1, enc=0): + col = 0 + sep = "\t" + filepath = eg.ParseString(filepath) + msg = eg.ParseString(msg) + if not src: + f = codecs.open(msg, 'r', enc, 'replace') + msg = f.read() + f.close() + f = open(filepath, 'r') + data = [item.split(sep) for item in f.readlines()] + tmp = [item[col].strip() for item in data] + numbers = [] + for item in tmp: + num = check(item) + if num: + numbers.append(num) + f.close() + self.plugin.send_sm_smulti(numbers, msg, dev) + + def GetLabel(self, dev, filepath, msg, src, enc): + msg = msg.replace("\n", "") + return "%s: %s: %s: %s" % ( + self.name, + dev, + filepath, + msg if len(msg) < 13 else msg[:12] + " ....." + ) + + # noinspection PyArgumentList + def Configure(self, dev="", filepath="", msg="", src=1, enc=""): + self.enc = enc + panel = eg.ConfigPanel() + text = self.Text + ctrls = [wx.NewIdRef(), wx.NewIdRef()] + lbl_dev = wx.StaticText(panel, -1, text.device) + lbl_path = wx.StaticText(panel, -1, text.filepath) + try: + choices = list(self.plugin.get_sm_sdevices().iterkeys()) + except ValueError: + choices = [] + ctrl_dev = wx.Choice(panel, -1, choices=choices) + if choices: + ctrl_dev.SetStringSelection(dev) + + file_ctrl = eg.FileBrowseButton( + panel, + -1, + toolTip=text.toolTipFile, + dialogTitle=text.browseFile, + buttonText=eg.text.General.browse, + startDirectory=eg.folderPath.Documents, + initialValue=filepath, + fileMask=text.fileMask + ) + src_label = wx.StaticText(panel, -1, text.src) + rb0 = panel.RadioButton(src == 0, self.Text.srcs[0], style=wx.RB_GROUP) + rb1 = panel.RadioButton(src == 1, self.Text.srcs[1]) + + src_sizer = wx.BoxSizer(wx.HORIZONTAL) + src_sizer.Add(rb0) + src_sizer.Add(rb1, 0, wx.LEFT, 10) + main_sizer = wx.FlexGridSizer(0, 2, 10, 10) + + main_sizer.Add(lbl_dev, 0, flag=wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(ctrl_dev, 0, flag=wx.EXPAND) + main_sizer.Add(lbl_path, 0, flag=wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(file_ctrl, 0, flag=wx.EXPAND) + main_sizer.Add(src_label, 0, flag=wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(src_sizer, 0) + main_sizer.AddGrowableCol(1) + + def on_source2(flag=False): + if rb1.GetValue(): + lbl_msg = wx.StaticText(panel, -1, text.message) + ctrl_msg = wx.TextCtrl( + panel, + ctrls[0], + "", + style=wx.TE_MULTILINE + ) + if flag: + ctrl_msg.ChangeValue(msg) + main_sizer.Add(lbl_msg, 0, wx.TOP, 3) + main_sizer.Add(ctrl_msg, 1, wx.EXPAND) + main_sizer.AddGrowableRow(3) + else: + lbl_msg = wx.StaticText(panel, -1, text.message) + ctrl_msg = eg.FileBrowseButton( + panel, + ctrls[0], + toolTip=text.toolTipFile, + dialogTitle=text.browseFile, + buttonText=eg.text.General.browse, + startDirectory=eg.folderPath.Documents, + initialValue="", + fileMask=text.msgMask + ) + lbl_enc = wx.StaticText(panel, -1, text.encoding) + enc_types = [] + for key, value in aliases.aliases.items(): + if value not in enc_types: + enc_types.append(value) + + enc_types = sorted(enc_types) + enc_ctrl = wx.Choice(panel, ctrls[1], choices=enc_types) + if self.enc == "" and eg.systemEncoding in enc_types: + self.enc = eg.systemEncoding + if flag: + ctrl_msg.SetValue(msg) + + enc_ctrl.SetStringSelection(self.enc) + main_sizer.Add(lbl_msg, 0, wx.TOP, 3) + main_sizer.Add(ctrl_msg, 1, wx.EXPAND) + main_sizer.Add(lbl_enc, 0, wx.TOP, 3) + main_sizer.Add(enc_ctrl, 1, wx.EXPAND) + main_sizer.Layout() + + on_source2(True) + + def on_source(evt): + chldrns = list(main_sizer.GetChildren()) + cnt = len(chldrns) + if cnt == 8: + main_sizer.RemoveGrowableRow(3) + for i in range(cnt - 1, 5, -1): + win = chldrns[i].GetWindow() + main_sizer.Detach(i) + win.Destroy() + on_source2() + evt.Skip() + + rb0.Bind(wx.EVT_RADIOBUTTON, on_source) + rb1.Bind(wx.EVT_RADIOBUTTON, on_source) + + panel.sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 10) + + smart_button = wx.Button(panel.dialog, -1, text.smartLabel) + smart_button.SetToolTip(text.smartTip) + panel.dialog.buttonRow.Add(smart_button) + + def on_smart_button(event): + panel.dialog.DispatchEvent(event, eg.ID_TEST) + panel.dialog.DispatchEvent(event, wx.ID_OK) + + smart_button.Bind(wx.EVT_BUTTON, on_smart_button) + + while panel.Affirmed(): + src = int(rb1.GetValue()) + ctrl_enc = wx.FindWindowById(ctrls[1]) + panel.SetResult( + ctrl_dev.GetStringSelection(), + file_ctrl.GetValue(), + wx.FindWindowById(ctrls[0]).GetValue(), + src, + ctrl_enc.GetStringSelection() if not src else "", + ) + + +class SendSMSmulti(eg.ActionBase): + phbook = None + + class Text(eg.TranslatableStrings): + message = "Message:" + smartLabel = "Apply, send and close" + smartTip = "The changes are saved, SMS is sent and the dialog closes." + + def __call__(self, dev="", recips=None, msg=""): + if recips is None: + recips = [] + dev = self.plugin.parse_argument(dev) + msg = eg.ParseString(msg) + self.plugin.send_sm_smulti(recips, msg, dev) + + def GetLabel(self, dev, recips, msg): + msg = msg.replace("\n", "") + return "%s: %s: %s" % ( + self.name, + dev, + msg if len(msg) < 13 else msg[:12] + " ....." + ) + + def Configure(self, dev="", recips2=None, msg=""): + if recips2 is None: + recips2 = [] + text = self.Text + ptext = self.plugin.text + + recips = recips2 + if recips2: # for backward compatibility + if dev is not None and isinstance(recips2[0], unicode): + recips = [] + for recip in recips2: + tmp = [dev] + nm, nr = get_nm_nr(recip) + tmp.append(nm) + tmp.append(nr) + recips.append(tmp) + + panel = eg.ConfigPanel() + lbl_dev = wx.StaticText(panel, -1, ptext.device) + lbl_recs = wx.StaticText(panel, -1, ptext.recips) + lbl_msg = wx.StaticText(panel, -1, text.message) + try: + choices = list(self.plugin.get_sm_sdevices().iterkeys()) + except ValueError: + choices = [] + ctrl_dev = wx.Choice(panel, -1, choices=choices) + main_sizer = wx.FlexGridSizer(2, 2, 10, 10) + + static_box = wx.StaticBox(panel, -1, "") + static_box_sizer = wx.StaticBoxSizer(static_box, wx.VERTICAL) + top_sizer = wx.BoxSizer(wx.HORIZONTAL) + btn_sizer = wx.BoxSizer(wx.VERTICAL) + bottom_sizer = wx.FlexGridSizer(2, 2, 10, 10) + bottom_sizer.AddGrowableCol(1) + list_ctrl = Table( + panel, + ptext.header, + 3, + ("DevName", "Recipient name", "XXXXXXXXXXXXXXXX") + ) + list_ctrl.set_data(recips) + lbl_rec = wx.StaticText(panel, -1, ptext.recip) + ctrl_rec = PhonebookChoice( + panel, + -1, + [], + self.plugin, + "", + ) + btn_add = wx.Button(panel, -1, ptext.insert) + btn_del = wx.Button(panel, -1, ptext.delete) + btn_del.Enable(False) + btn_sizer.Add(btn_add) + btn_sizer.Add(btn_del, 0, wx.TOP, 10) + top_sizer.Add(list_ctrl, 1, wx.EXPAND) + top_sizer.Add(btn_sizer, 0, wx.LEFT, 10) + static_box_sizer.Add(top_sizer, 1, wx.EXPAND) + bottom_sizer.Add(lbl_dev, 0, wx.ALIGN_CENTER_VERTICAL) + bottom_sizer.Add(ctrl_dev, 0, wx.EXPAND) + bottom_sizer.Add(lbl_rec, 0, wx.ALIGN_CENTER_VERTICAL) + bottom_sizer.Add(ctrl_rec, 0, wx.EXPAND) + static_box_sizer.Add(bottom_sizer, 0, wx.EXPAND | wx.TOP, 10) + ctrl_msg = wx.TextCtrl(panel, -1, msg, style=wx.TE_MULTILINE) + + main_sizer.Add(lbl_recs, 0, wx.TOP, 6) + main_sizer.Add(static_box_sizer, 1, wx.EXPAND) + main_sizer.Add(lbl_msg, 0, wx.TOP, 3) + main_sizer.Add(ctrl_msg, 1, wx.EXPAND) + main_sizer.AddGrowableRow(0) + main_sizer.AddGrowableRow(1) + main_sizer.AddGrowableCol(1) + + panel.sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 10) + + def set_row(): + devc = ctrl_dev.GetStringSelection() + sr_nm, sr_nr = get_nm_nr(ctrl_rec.get_sel()) + list_ctrl.set_row((devc, sr_nm, sr_nr)) + + def on_dev(evt): + devc = ctrl_dev.GetStringSelection() + phbook = self.plugin.get_phonebook(devc) + rcp = ctrl_rec.GetValue() + ctrl_rec.Set(phbook) + if rcp: + ctrl_rec.SetValue(rcp) + set_row() + evt.Skip() + + ctrl_dev.Bind(wx.EVT_CHOICE, on_dev) + + def on_rec(evt): + set_row() + evt.Skip() + + ctrl_rec.Bind(wx.EVT_COMBOBOX, on_rec) + + def on_select(evt): + devc, sel_nm, sel_nr = list_ctrl.get_row() + if devc != ctrl_dev.GetStringSelection(): + if dev in ctrl_dev.GetStrings(): + ctrl_dev.SetStringSelection(devc) + phbook = self.plugin.get_phonebook(devc) + ctrl_rec.Set(phbook) + ctrl_rec.SetValue(sel_nm + SEP + sel_nr if sel_nr != "" and sel_nm != "" else sel_nr) + evt.Skip() + + list_ctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, on_select) + + def on_change(evt=None): + sel_cnt = list_ctrl.GetSelectedItemCount() + enable = sel_cnt > 0 + if not enable: + ctrl_rec.SetValue("") + btn_del.Enable(enable) + ctrl_rec.Enable(enable) + ctrl_dev.Enable(enable) + lbl_rec.Enable(enable) + lbl_dev.Enable(enable) + if evt: + evt.Skip() + + list_ctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, on_change) + list_ctrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, on_change) + on_change() + + def on_delete(evt): + list_ctrl.DeleteItem(list_ctrl.get_selected_index()) + evt.Skip() + + btn_del.Bind(wx.EVT_BUTTON, on_delete) + + def on_add(evt): + list_ctrl.add_row() + if ctrl_dev.GetStringSelection(): + set_row() + evt.Skip() + + btn_add.Bind(wx.EVT_BUTTON, on_add) + + smart_button = wx.Button(panel.dialog, -1, text.smartLabel) + smart_button.SetToolTip(text.smartTip) + panel.dialog.buttonRow.Add(smart_button) + + def on_smart_button(event): + panel.dialog.DispatchEvent(event, eg.ID_TEST) + panel.dialog.DispatchEvent(event, wx.ID_OK) + + smart_button.Bind(wx.EVT_BUTTON, on_smart_button) + + while panel.Affirmed(): + panel.SetResult( + None, + list_ctrl.get_data(), + ctrl_msg.GetValue() + ) + + +class SendSMSgroup(eg.ActionBase): + + class Text(eg.TranslatableStrings): + group = "Group:" + message = "Message:" + smartLabel = "Apply, send and close" + smartTip = "The changes are saved, SMS is sent and the dialog closes." + + def __call__(self, group="", msg=""): + group = eg.ParseString(group) + msg = eg.ParseString(msg) + tmp = [itm[0] for itm in self.plugin.sms_groups] + if group in tmp: + ix = tmp.index(group) + self.plugin.send_sm_smulti(self.plugin.sms_groups[ix][1], msg, None) + + def GetLabel(self, group, msg): + msg = msg.replace("\n", "") + return "%s: %s: %s" % ( + self.name, + group, + msg if len(msg) < 13 else msg[:12] + " ....." + ) + + def Configure(self, group="", msg=""): + panel = eg.ConfigPanel() + lbl_grp = wx.StaticText(panel, -1, self.Text.group) + lbl_msg = wx.StaticText(panel, -1, self.Text.message) + ctrl_group = wx.Choice( + panel, + -1, + choices=[itm[0] for itm in self.plugin.sms_groups], + ) + ctrl_group.SetStringSelection(group) + ctrl_msg = wx.TextCtrl(panel, -1, msg, style=wx.TE_MULTILINE) + main_sizer = wx.FlexGridSizer(2, 2, 10, 10) + + main_sizer.Add(lbl_grp, 0, wx.ALIGN_CENTER_VERTICAL) + main_sizer.Add(ctrl_group, 0, wx.EXPAND) + main_sizer.Add(lbl_msg, 0, wx.TOP, 3) + main_sizer.Add(ctrl_msg, 1, wx.EXPAND) + panel.sizer.Add(main_sizer, 1, wx.EXPAND | wx.ALL, 10) + + smart_button = wx.Button(panel.dialog, -1, self.Text.smartLabel) + smart_button.SetToolTip(self.Text.smartTip) + main_sizer.AddGrowableRow(1) + main_sizer.AddGrowableCol(1) + + panel.dialog.buttonRow.Add(smart_button) + + def on_smart_button(event): + panel.dialog.DispatchEvent(event, eg.ID_TEST) + panel.dialog.DispatchEvent(event, wx.ID_OK) + + smart_button.Bind(wx.EVT_BUTTON, on_smart_button) + + while panel.Affirmed(): + panel.SetResult( + ctrl_group.GetStringSelection(), + ctrl_msg.GetValue() + ) + + +class JumpIf(eg.ActionBase): + # iconFile = "../EventGhost/icons/NewJumpIf" + + class Text(eg.TranslatableStrings): + text1 = "If:" + text2 = "Jump to:" + mesg1 = "Select the macro..." + mesg2 = ( + "Please select the macro that should be executed, if the " + "condition is/is not fulfilled." + ) + tooltip = "Enter a list of file extensions, separated by a comma " \ + "(eg txt, pdf, mp3)" + + def __call__(self, link, kind=0, fl="", exts=""): + fl = eg.ParseString(fl) + exts = exts.replace(" ", "").split(",") + dummy, f_ext = splitext(fl) + flinexts = f_ext.lower()[1:] in [item.lower() for item in exts] + if flinexts != bool(kind): + next_item = link.target + next_index = next_item.parent.GetChildIndex(next_item) + eg.indent += 1 + eg.programCounter = (next_item, next_index) + return flinexts != bool(kind) + + def GetLabel(self, link, kind, fl, exts): + return "%s %s %s%s %s (%s)" % ( + self.Text.text2, + link.target.name, + self.plugin.text.ifExt, + ("", self.plugin.text.notLbl)[kind], + self.plugin.text.inLbl, + exts, + ) + + def Configure(self, link=None, kind=0, fl="", exts=""): + text = self.Text + panel = eg.ConfigPanel() + lbl1 = wx.StaticText(panel, -1, self.plugin.text.file) + lbl2 = wx.StaticText(panel, -1, self.plugin.text.ext) + ctrl1 = wx.TextCtrl(panel, -1, fl) + ctrl1.SetToolTip(text.tooltip) + ctrl2 = wx.TextCtrl(panel, -1, exts) + ctrl2.SetToolTip(text.tooltip) + kind_ctrl = panel.Choice(kind, choices=self.plugin.text.choices) + link_ctrl = panel.MacroSelectButton( + eg.text.General.choose, + text.mesg1, + text.mesg2, + link + ) + labels = ( + panel.StaticText(text.text1), + panel.StaticText(text.text2), + ) + eg.EqualizeWidths(labels) + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(lbl1) + main_sizer.Add(ctrl1, 0, wx.EXPAND) + main_sizer.Add(lbl2, 0, wx.TOP, 12) + main_sizer.Add(ctrl2, 0, wx.EXPAND) + sizer = wx.FlexGridSizer(3, 2, 15, 5) + + sizer.Add(labels[0], 0, wx.ALIGN_CENTER_VERTICAL) + sizer.Add(kind_ctrl) + sizer.Add(labels[1], 0, wx.ALIGN_CENTER_VERTICAL) + sizer.Add(link_ctrl, 1, wx.EXPAND) + sizer.AddGrowableCol(1, 1) + + panel.sizer.Add(main_sizer, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL) + panel.sizer.Add(sizer, 0, wx.TOP | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 10) + + while panel.Affirmed(): + panel.SetResult( + link_ctrl.GetValue(), + kind_ctrl.GetValue(), + ctrl1.GetValue(), + ctrl2.GetValue() + ) + + +class OpenFile(eg.ActionBase): + + class Text(eg.TranslatableStrings): + open = "Open the file if" + stop = "and stop the macro" + tooltip = "Enter a list of file extensions, separated by a comma " \ + "(eg txt, pdf, mp3)" + + def GetLabel(self, fl, exts, kind, stop): + return "%s: %s %s%s %s (%s) %s" % ( + self.name, + fl, + self.plugin.text.ifExt, + ("", self.plugin.text.notLbl)[kind], + self.plugin.text.inLbl, + exts, + ("", self.Text.stop)[int(stop)] + ) + + def __call__( + self, + fl="{eg.event.payload}", + exts="", + kind=0, + stop=True + ): + fl = eg.ParseString(fl) + exts = exts.replace(" ", "").split(",") + dummy, f_ext = splitext(fl) + flinexts = f_ext.lower()[1:] in [item.lower() for item in exts] + if flinexts: + try: + startfile(fl) + except WindowsError: + pass + if (kind == 1 and flinexts) or (kind == 2 and not flinexts): + eg.programCounter = None + return flinexts + + def Configure( + self, + fl="{eg.event.payload}", + exts="", + kind=0, + stop=True + ): + text = self.Text + panel = eg.ConfigPanel(self) + lbl1 = wx.StaticText(panel, -1, self.plugin.text.file) + lbl2 = wx.StaticText(panel, -1, self.plugin.text.ext) + lbl3 = wx.StaticText(panel, -1, text.open) + ctrl1 = wx.TextCtrl(panel, -1, fl) + ctrl1.SetToolTip(text.tooltip) + ctrl2 = wx.TextCtrl(panel, -1, exts) + ctrl2.SetToolTip(text.tooltip) + kind_ctrl = panel.Choice(kind, choices=self.plugin.text.choices) + if_sizer = wx.FlexGridSizer(2, 2, 12, 10) + if_sizer.Add(lbl3, 0, wx.ALIGN_CENTER_VERTICAL) + if_sizer.Add(kind_ctrl, 0) + if_sizer.Add((-1, -1)) + stop_ctrl = panel.CheckBox(stop, text.stop) + if_sizer.Add(stop_ctrl) + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(lbl1) + main_sizer.Add(ctrl1, 0, wx.EXPAND) + main_sizer.Add(lbl2, 0, wx.TOP, 12) + main_sizer.Add(ctrl2, 0, wx.EXPAND) + main_sizer.Add(if_sizer, 0, wx.TOP, 14) + panel.sizer.Add(main_sizer, 1, wx.ALL | wx.EXPAND, 10) + + while panel.Affirmed(): + panel.SetResult( + ctrl1.GetValue(), + ctrl2.GetValue(), + kind_ctrl.GetValue(), + stop_ctrl.GetValue() + ) + + +class EnableDisablePopups(eg.ActionBase): + + class Text(eg.TranslatableStrings): + rbLabel = "Persistence of change" + choices = ( + "Make the change only temporarily", + "Make the change persistent (and automatically save the document)" + ) + labels = ("temporarily", "persistent") + modes = ("On", "Off", "No change", "Toggle") + + def __call__( + self, + pic=2, + mirr=2, + save=1 + ): + self.plugin.enable_disable_popups(pic, mirr, save) + + def GetLabel(self, pic, mirr, save): + return "%s: %i, %i (%s)" % (self.name, pic, mirr, self.Text.labels[save]) + + def Configure( + self, + pic=2, + mirr=2, + save=1 + ): + panel = eg.ConfigPanel(self) + text = self.Text + pic_ctrl = wx.RadioBox( + panel, + -1, + self.plugin.text.autoOpen, + choices=text.modes, + style=wx.RA_SPECIFY_COLS + ) + pic_ctrl.SetSelection(pic) + mirr_ctrl = wx.RadioBox( + panel, + -1, + self.plugin.text.enabMirr, + choices=text.modes, + style=wx.RA_SPECIFY_COLS + ) + mirr_ctrl.SetSelection(mirr) + + save_ctrl = wx.RadioBox( + panel, + -1, + text.rbLabel, + choices=text.choices, + style=wx.RA_SPECIFY_ROWS + ) + save_ctrl.SetSelection(save) + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(pic_ctrl, 0, wx.EXPAND) + main_sizer.Add(mirr_ctrl, 0, wx.TOP | wx.EXPAND, 10) + main_sizer.Add(save_ctrl, 0, wx.TOP | wx.EXPAND, 20) + panel.sizer.Add(main_sizer, 0, wx.EXPAND | wx.ALL, 10) + while panel.Affirmed(): + panel.SetResult( + pic_ctrl.GetSelection(), + mirr_ctrl.GetSelection(), + save_ctrl.GetSelection() + ) + + +class GetPopups(eg.ActionBase): + + def __call__(self): + return bool(self.plugin.autoOpen), bool(self.plugin.enabMirr) diff --git a/plugins/PushBullet/icons/File.png b/plugins/PushBullet/icons/File.png new file mode 100644 index 000000000..30db27f0a Binary files /dev/null and b/plugins/PushBullet/icons/File.png differ diff --git a/plugins/PushBullet/icons/Link.png b/plugins/PushBullet/icons/Link.png new file mode 100644 index 000000000..1d23d2d58 Binary files /dev/null and b/plugins/PushBullet/icons/Link.png differ diff --git a/plugins/PushBullet/icons/Mirror.png b/plugins/PushBullet/icons/Mirror.png new file mode 100644 index 000000000..77f62fbb9 Binary files /dev/null and b/plugins/PushBullet/icons/Mirror.png differ diff --git a/plugins/PushBullet/icons/Note.png b/plugins/PushBullet/icons/Note.png new file mode 100644 index 000000000..0c933e638 Binary files /dev/null and b/plugins/PushBullet/icons/Note.png differ diff --git a/plugins/PushBullet/icons/Reply.png b/plugins/PushBullet/icons/Reply.png new file mode 100644 index 000000000..cd81915ce Binary files /dev/null and b/plugins/PushBullet/icons/Reply.png differ diff --git a/plugins/PushBullet/texts.py b/plugins/PushBullet/texts.py new file mode 100644 index 000000000..c4e0cb5a4 --- /dev/null +++ b/plugins/PushBullet/texts.py @@ -0,0 +1,182 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2014-2015 Pako +# +# This file is part of the PushBullet plugin for EventGhost. +# + + +from eg import TranslatableStrings + + +class Text(TranslatableStrings): + recips = "Recipients:" + device = "Device:" + recip = "Recipient:" + header = ( + "Device", + "Name", + "Phone number" + ) + file = "File:" + ext = "List of file extensions:" + notLbl = " not" + ifExt = "if extension" + inLbl = "in" + autoOpen = "Automatically open downloaded pictures" + firstWord = """If title of push (type Note) is missing, use the first word out of the body as the event suffix""" + enabMirr = "Enable popping up of mirrored notification" + nLabel = 'Nickname of this "device":' + apiLabel = 'API key:' + password = "Encryption password:" + prefix = 'Event prefix:' + mode = 'The title of the push to use as:' + modes = ("event suffix", "payload[0]") + complPush = "Use the complete original push as last part of the payload" + folder = 'Directory for file download:' + timeout = 'Timeout for auto-hide [s]:' + pTimeout = 'Picture hide timeout [s]:' + timeout2 = "(0 = not to hide)" + err = 'Failed to open file "%s"' + debug = "Logging level:" + debug2 = "(the higher the number, the more message writes ...)" + hideBtn = "Hide disable button on mirrored notifications" + title3 = "Unmute a disabled application" + title4 = "PushBullet - quick replying to: %s" + enabLbl = "Disabled application:" + cancel = "Cancel" + ok = "OK" + unmute = "Unmute" + reenab = "Re-enable mirroring for an app ..." + tooltip = "Right mouse button closes this window" + disable = 'Mute "%s"' + clipFilter = 'Filter of clipboard change monitoring ' \ + '(device checked = notifying disabled)' + filterToolTip = "This combo is enabled only if the devices are synced !" + wavs = "Alerting sounds location:" + reconnect = "Haven't seen a nop lately, reconnecting" + waiting = "Haven't seen a nop lately, waiting for connectivity" + waiting2 = "PushBullet: No connectivity, waiting ..." + uplFld = u'Failed to upload the file "%s"' + uplSucc = u'The file "%s" was uploaded successfully' + addLstnr = 'Adding push messaging listener' + wsMssg = "WebSocket message: %s" + dcrptdMssg = "Decrypted message: %s" + rspnsr = "Response = %s" + fTriggMute = 'Failed to trigger mute of app %s' + triggMute = "Triggered mute of app %s" + fPong = 'Failed to send pong' + pong = "Pong was sent" + fTriggUnmute = 'Failed to trigger unmute of app %s' + triggUnmute = "Triggered unmute of app %s" + gettPshs = "Getting pushes, modified_after = %.7f" + fLoadPshs = "Failed to load pushes" + thrReqRes = "Threads request response = %s" + fLoadThrds = "Failed to load threads" + e2eMssg1 = 'End to end encryption: Invalid version' + e2eMssg2 = 'End to end encryption: Decrypted message is not a dictionary' + e2eMssg3 = 'End to end encryption: Decryption failed' + smsSent = 'SMS sent successfuly to device "%s"' + smsSentF = 'SMS sent to device "%s" failed' + fRetrTmstmp = "Failed to retrieve timestamp" + mdfdUpd = "modified_after updated: %.7f" + wsOpenedEvt = "WebSocketOpened" + wsClosedEvt = "WebSocketClosed" + wsError = u"PushBullet: WebSocket error: %s" + idenSaved = 'New iden "%s" automatically saved' + dsbldUpdated = 'List of disabled app automatically updated' + emlObtained = "Email address obtained" + accReqFailed = "Account request failed" + noApi = "No API key" + noNick = "No nickname" + devRcvd = "Devices received: %s" + devReqFailed = "Device request failed" + bookRcvd = 'Phonebook from device "%s" received' + thrdsRcvd = 'SMS threads from device "%s" received' + bookReqFailed = 'Phonebook request from device "%s" failed' + noDev = "No devices" + pcMssng = "This EventGhost is missing in the device list. " \ + "Request for creating device sent." + devCrtd = "Device created: %s" + crDevFld = "Creating device failed" + pushDelted = "Push deleted" + pushDelFld = 'Push deleting failed: "%s"' + forwRep = "Forwarding reply to extension in %s" + forwRepFld = "Failed to forward reply to extension in %s" + dismissNote = 'Notification "%s" dismissed' + dismissNoteFld = 'Dismiss of notification "%s" failed' + dismissPush = 'Push "%s" dismissed' + dismissPushFld = 'Dismiss of push "%s" failed' + dismissSms = 'Triggered remote sms dismissal' + dismissSmsFld = 'Failed to trigger remote sms dismissal' + notIdMissing = 'Parameter "notification_id" is missing!' + notDismiss = 'Push "%s" is marked as "not dismissable" ! ' \ + "Still, I'll try it." + reply = "Reply" + replyPrompt = "Type your reply here.\n" \ + "You can use the Enter (or Return) key to make new line.\n" \ + "You can use Ctrl-Enter (Ctrl-Return) to send the message.\n" \ + "The dialog can be resized.\n" \ + "You can even copy a text from the incoming messages !" + frndsRcvd = "Friends received: %s" + chnnlsRcvd = "Channels received: %s" + trgtsDrvd = "Targets derived: %s" + pushRslt = "Push results: %s" + dwnldFailed = 'Download of "%s" failed (code %i)' + nicknameUsed = 'PushBullet: Chosen nickname "%s" is already used for ' \ + 'other device, than the "EventGhost" !!!' + wavFldr = "Select the folder that stores sounds ..." + toolWav = '''Here you can select the folder, where you saved the alerting +sounds. If the field is left blank, this feature will not be used. +Sounds must be in "wav" format and must have the same name, +as the corresponding push type (for example, "note.wav", for "note" push). +If some sound is missing, this feature will not be used (for the corresponding +push type).''' + kinds = ( + "Note", + "Link", + "File", + "Mirror", + ) + choices = [ + "the file extension is one of the listed extension", + "the file extension is not one of the listed extension", + ] + mirroring = "Mirroring" + bcgColour = "Background Colour:" + alignment = "Alignment:" + alignmentChoices = [ + "Top Left", + "Top Right", + "Bottom Left", + "Bottom Right", + "Screen Center", + "Bottom Center", + "Top Center", + "Left Center", + "Right Center", + ] + display = "Show on display:" + xOffset = "Horizontal offset X:" + yOffset = "Vertical offset Y:" + pushGroupsTitle = 'Push recipient groups' + smsGroupsTitle = 'SMS recipient groups' + groupsList = "List of groups:" + groupLabel = "Group name:" + delete = 'Delete' + insert = 'Add new' + tsLabel = "Push targets:" + unknStream = 'PushBullet: Unknown stream push type: "%s"' + reqErr = "PushBullet: Request error: %s" + noKey = '''Pushbullet: Encrypted data received. + You must enter the encryption password, + or turn off the End to end encryption on your other devices.''' + headers = ( + "Host:", + "Port:", + "Username:", + "Password:", + ) + proxyInfo = """If the proxy server does not require authentication, +leave the Username and Password entries blank.""" + proxyTitle = "Proxy settings" diff --git a/plugins/PushBullet/utils.py b/plugins/PushBullet/utils.py new file mode 100644 index 000000000..546cc8ac5 --- /dev/null +++ b/plugins/PushBullet/utils.py @@ -0,0 +1,404 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2014-2015 Pako +# +# This file is part of the PushBullet plugin for EventGhost. +# + +from os.path import isfile, join +from binascii import b2a_hex +from base64 import b64decode, b64encode +from hashlib import sha256 +from struct import pack, unpack +from Crypto.Cipher import AES +from Crypto.Util import strxor +from Crypto.Hash import HMAC, SHA as SHA1 +from os import urandom +from textwrap import fill +from PIL import Image +import wx +from math import sqrt +from cStringIO import StringIO +import eg +import requests + +SEP = " <#> " + + +def get_key_fingerprint(key): + if key is not None: + fp_hash = sha256() + fp_hash.update(key) + return b64encode(fp_hash.digest()) + + +def check(num): + num = num.replace(" ", "").replace("(", "").replace(")", "").replace("-", "") + if num[0] == "+": + front = "+" + num = num[1:] + else: + front = "" + tmp = [c for c in num if "0" <= c <= "9"] + if len(tmp) != len(num): + return + return front + num + + +def get_nm_nr(recip): + return ("", recip.strip()) if SEP not in recip else \ + (recip.split(SEP)[0].strip(), recip.split(SEP)[1].strip()) + + +def wrap(txt, width): + txt = txt.rstrip() + lst = txt.splitlines() + for i, item in enumerate(lst): + lst[i] = fill(item, width) + txt = "\n".join(lst) + return txt + + +def pil_to_bitmap(pil): + img = wx.Image(pil.size[0], pil.size[1]) + img.SetData(pil.convert("RGB").tobytes()) + if ( + pil.mode in ('RGBA', 'LA') or + (pil.mode == 'P' and 'transparency' in pil.info) + ): + img.SetAlphaData(pil.convert("RGBA").tobytes()[3::4]) + return img.ConvertToBitmap() + + +def image_to_pil(img): + w, h = img.GetWidth(), img.GetHeight() + data = img.get_data() + pil = Image.new('RGB', (w, h)) + pil.frombytes(data) + if img.HasAlpha(): + a_pil = Image.new("L", (w, h)) + a_pil.frombytes(img.GetAlphaData()) + pil = Image.merge('RGBA', pil.split() + (a_pil,)) + return pil + + +def resize(pil, new_size): + w, h = pil.size + if w > new_size or h > new_size: + factor = max(w, h) / float(new_size) + m = int(min(w, h) / factor) + w, h = (new_size, m) if w >= h else (m, new_size) + pil = pil.resize((w, h), Image.ANTIALIAS) + image = Image.new('RGBA', (new_size, new_size)) + image.paste(pil, ((new_size - w) / 2, (new_size - h) / 2)) + return image + + +def grayed(bmp): + img = bmp.ConvertToImage() + pil_img = Image.new('RGB', (img.GetWidth(), img.GetHeight())) + pil_img.frombytes(str(img.GetData())) + pil_img = pil_img.convert("L") + m = pil_img.load() + s = pil_img.size + for x in xrange(s[0]): + for y in xrange(s[1]): + g = m[x, y] + if g > 0xf0: + g = 0xf0 + elif g < 0xc0: + g = 0xc0 + m[x, y] = g + return pil_to_bitmap(pil_img) + + +def grdnt(r, d): + w = 0.20 + if d / r < 1 - w: + return 255 + elif d > r: + return 0 + return int(0.5 + 255 * (r - d) / (r * w)) + + +def fluffy_circle_mask(sz): + r = sz / 2 + data = [] + for x in range(sz): + tmp = sz * [chr(0)] + for y in range(sz): + dist = sqrt((x - r) ** 2 + (y - r) ** 2) + alph = grdnt(r, dist) + tmp[y] = chr(alph) + row = "".join(tmp) + data.append(row) + strng = "".join(data) + return strng + + +def get_icon(err, icon=None): + icon = icon if icon else join(eg.Icons.IMAGES_PATH, "logo.png") + if isfile(icon): + try: + pil = Image.open(icon) + except IOError: + eg.PrintError(err % icon) + pil = Image.open(join(eg.Icons.IMAGES_PATH, "logo.png")) + else: + try: + pil = Image.open(StringIO(b64decode(icon))) + except IOError: + eg.PrintError(err % icon[:128]) + pil = Image.open(join(eg.Icons.IMAGES_PATH, "logo.png")) + w, h = pil.size + if w > 96 or h > 96: + factor = max(w, h) / 96.0 + x = int(min(w, h) / factor) + size = (96, x) if w >= h else (x, 96) + pil = pil.resize(size, Image.ANTIALIAS) + image = Image.new('RGBA', (96, 96)) + image.paste(pil, ((96 - size[0]) / 2, (96 - size[1]) / 2)) + pil = image + io_file = StringIO() + pil.save(io_file, format = 'PNG') + #pil.save(io_file, format='JPEG') + io_file.seek(0) + data = io_file.read() + return b64encode(data) + + +# ------------------------------------------------------------------------------- +# obtained from gcm.py --- start +def inc32(block): + counter, = unpack('>L', block[12:]) + counter += 1 + return block[:12] + pack('>L', counter) + + +def gcm_rightshift(vec): + for x in range(15, 0, -1): + c = vec[x] >> 1 + c |= (vec[x - 1] << 7) & 0x80 + vec[x] = c + vec[0] >>= 1 + return vec + + +def gcm_gf_mult(val_a, val_b): + mask = [0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01] + poly = [0x00, 0xe1] + z = [0] * 16 + v = [c for c in val_a] + for x in range(128): + if val_b[x >> 3] & mask[x & 7]: + z = [v[y] ^ z[y] for y in range(16)] + bit = v[15] & 1 + v = gcm_rightshift(v) + v[0] ^= poly[bit] + return z + + +def ghash(h, data): + u = (16 - len(data)) % 16 + x = data + chr(0) * u + x += pack('>QQ', 0, len(data) * 8) + y = [0] * 16 + vec_h = [ord(c) for c in h] + for i in range(0, len(x), 16): + block = [ord(c) for c in x[i:i + 16]] + y = [y[j] ^ block[j] for j in range(16)] + y = gcm_gf_mult(y, vec_h) + return ''.join(chr(c) for c in y) + + +def gctr(k, icb, plaintext): + y = '' + if len(plaintext) == 0: + return y + aes = AES.new(k, AES.MODE_EAX) + cb = icb + for i in range(0, len(plaintext), aes.block_size): + cb = inc32(cb) + encrypted = aes.encrypt(cb) + plaintext_block = plaintext[i:i + aes.block_size] + y += strxor.strxor(plaintext_block, encrypted[:len(plaintext_block)]) + return y + + +def gcm_decrypt(k, msg): + bmsg = b64decode(msg) + version = bmsg[0] + # tag = bmsg[1:17] # 128 bits + iv = bmsg[17:29] # 96 bits + encrypted = bmsg[29:] + if version != "1": + return + # aes = AES.new(k, AES.MODE_EAX) + y0 = iv + "\x00\x00\x00\x01" + decrypted = gctr(k, y0, encrypted) + return decrypted + + +def gcm_encrypt(k, plaintext): + aes = AES.new(k, AES.MODE_EAX) + h = aes.encrypt(chr(0) * aes.block_size) + iv = urandom(12) + y0 = iv + "\x00\x00\x00\x01" + encrypted = gctr(k, y0, plaintext) + s = ghash(h, encrypted) + t = aes.encrypt(y0) + tag = strxor.strxor(s, t) + res = "1" + tag + iv + encrypted + return b64encode(res) + +# obtained from gcm.py --- end + +# ------------------------------------------------------------------------------- + +# part of pbkdf2.py --- start + + +_0xffffffffL = long(1) << 32 + + +def isunicode(s): + return isinstance(s, unicode) + + +def isbytes(s): + return isinstance(s, str) + + +def isinteger(n): + return isinstance(n, (int, long)) + + +def b(s): + return s + + +def binxor(val_a, val_b): + return "".join([chr(ord(x) ^ ord(y)) for (x, y) in zip(val_a, val_b)]) + + +class PBKDF2(object): + """PBKDF2.py : PKCS#5 v2.0 Password-Based Key Derivation + + This implementation takes a passphrase and a salt (and optionally an + iteration count, a digest module, and a MAC module) and provides a + file-like object from which an arbitrarily-sized key can be read. + + If the passphrase and/or salt are unicode objects, they are encoded as + UTF-8 before they are processed. + + The idea behind PBKDF2 is to derive a cryptographic key from a + passphrase and a salt. + + PBKDF2 may also be used as a strong salted password hash. The + 'crypt' function is provided for that purpose. + + Remember: Keys generated using PBKDF2 are only as strong as the + passphrases they are derived from. + """ + + def __init__(self, passphrase, salt, iterations=1000, digestmodule=SHA1, macmodule=HMAC): + self.__buf = None + self.__blockNum = None + self.closed = False + self.__macmodule = macmodule + self.__digestmodule = digestmodule + self._setup(passphrase, salt, iterations, self._pseudorandom) + + def _pseudorandom(self, key, msg): + """Pseudorandom function. e.g. HMAC-SHA1""" + # noinspection PyTypeChecker + return self.__macmodule.new( + key=key, + msg=msg, + digestmod=self.__digestmodule + ).digest() + + def read(self, bytes_cnt): + """Read the specified number of key bytes.""" + if self.closed: + raise ValueError("file-like object is closed") + + size = len(self.__buf) + blocks = [self.__buf] + i = self.__blockNum + while size < bytes_cnt: + i += 1 + if i > _0xffffffffL or i < 1: + # We could return "" here, but + raise OverflowError("derived key too long") + block = self.__f(i) + blocks.append(block) + size += len(block) + buf = b("").join(blocks) + retval = buf[:bytes_cnt] + self.__buf = buf[bytes_cnt:] + self.__blockNum = i + return retval + + def __f(self, i): + # i must fit within 32 bits + assert 1 <= i <= _0xffffffffL + u = self.__prf(self.__passphrase, self.__salt + pack("!L", i)) + result = u + for j in xrange(2, 1 + self.__iterations): + u = self.__prf(self.__passphrase, u) + result = binxor(result, u) + return result + + def hexread(self, octets): + """Read the specified number of octets. Return them as hexadecimal. + + Note that len(obj.hexread(n)) == 2*n. + """ + return b2a_hex(self.read(octets)) + + def _setup(self, passphrase, salt, iterations, prf): + # Sanity checks: + # passphrase and salt must be str or unicode (in the latter + # case, we convert to UTF-8) + if isunicode(passphrase): + passphrase = passphrase.encode("UTF-8") + elif not isbytes(passphrase): + raise TypeError("passphrase must be str or unicode") + if isunicode(salt): + salt = salt.encode("UTF-8") + elif not isbytes(salt): + raise TypeError("salt must be str or unicode") + + # iterations must be an integer >= 1 + if not isinteger(iterations): + raise TypeError("iterations must be an integer") + if iterations < 1: + raise ValueError("iterations must be at least 1") + + # prf must be callable + if not callable(prf): + raise TypeError("prf must be callable") + + self.__passphrase = passphrase + self.__salt = salt + self.__iterations = iterations + self.__prf = prf + self.__blockNum = 0 + self.__buf = b("") + self.closed = False + + def close(self): + """Close the stream.""" + if not self.closed: + del self.__passphrase + del self.__salt + del self.__iterations + del self.__prf + del self.__blockNum + del self.__buf + self.closed = True + + +# part of pbkdf2.py --- end +# ------------------------------------------------------------------------------- diff --git a/plugins/PushBullet/websocketclient.py b/plugins/PushBullet/websocketclient.py new file mode 100644 index 000000000..839895095 --- /dev/null +++ b/plugins/PushBullet/websocketclient.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2014-2015 Pako +# +# This file is part of the PushBullet plugin for EventGhost. +# + + +import eg +# from .lib.websocket__0440 import WebSocketApp +from websocket import WebSocketApp + + +class WebSocketClient(WebSocketApp): + def __init__(self, url, plugin): + self.plugin = plugin + self.watchdog = None + + def on_open(arg): + self.plugin.on_open(arg) + + def on_message(arg1, arg2): + self.plugin.on_message(arg1, arg2) + + def on_error(_, error): + eg.PrintError(self.plugin.text.wsError % error) + self.plugin.stop_watchdog() + self.watchdog = eg.scheduler.AddTask(5.0, self.plugin.watcher) + + def on_close(_): + self.plugin.TriggerEvent(self.plugin.text.wsClosedEvt) + + WebSocketApp.__init__( + self, + url, + on_open=on_open, + on_message=on_message, + on_error=on_error, + on_close=on_close + ) + + def start(self): + auth = None + if self.plugin.proxy[0] != "": + host = str(self.plugin.proxy[0]) + port = self.plugin.proxy[1] + if self.plugin.proxy[2] != "": + auth = ( + str(self.plugin.proxy[2]), + str(self.plugin.proxy[3].Get()) + ) + else: + host = None + port = None + self.run_forever( + http_proxy_host=host, + http_proxy_port=port, + http_proxy_auth=auth + ) diff --git a/plugins/PushBullet/widgets.py b/plugins/PushBullet/widgets.py new file mode 100644 index 000000000..fefe08d0f --- /dev/null +++ b/plugins/PushBullet/widgets.py @@ -0,0 +1,1842 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2014-2015 Pako +# +# This file is part of the PushBullet plugin for EventGhost. +# + + +from base64 import b64decode, b64encode +from copy import deepcopy +from cStringIO import StringIO +from math import sqrt +from os.path import abspath, dirname, exists, join +from time import strftime + +import wx +import wx.adv +import wx.grid as gridlib +from PIL import Image +from wx.lib.buttons import GenButton +from wx.lib.statbmp import GenStaticBitmap + +import eg +from eg.WinApi.Dynamic import BringWindowToTop +from eg.WinApi.Utils import GetMonitorDimensions +from .utils import fluffy_circle_mask, get_nm_nr, image_to_pil, resize, SEP, wrap + + +SYS_VSCROLL_X = wx.SystemSettings.GetMetric(wx.SYS_VSCROLL_X) +ICON_DIR = join(abspath(dirname(__file__.decode('mbcs'))), "icons") +AVATAR = ( + "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAIAAABt+uBvAAAACXBIWXMAAAsSAAALEgHS" + "3X78AAAI2klEQVR42u2biVMTVxzH/bcEjyCorUen2mlnrHXs1E47ApH7KGC9piKgSBFU" + "KgkhCVg71UFH6zE63If/Q0jCYRGBETw4w6bf9367myWxDCR5S1Z35jeZPd6R/ezv/d77" + "/d5vNzm6g6asIps2/B8kuJiATEAmIBOQCSiBxQRkAjIBmYBMQAksJiATkAnIBPRpA2rq" + "iubWxw+oqUuiX4i9UxYbF/WU7qqFPwlAyjPLXPDr7Am29AdbB4I3n4cEp7iIW2oxqqI/" + "KT0BhdQBz4yDloGgqy949cnSb3+/L2qaTq+fPFbzCoIDnOIibqEAiqGwgom0ST9M+gEi" + "g8LRSFCQxvZAqXvmUPm/Owv9W04MQpKtIaEruIUCpa6ZG+2BVoZJJoumdDNPegDSKo67" + "L9jcLRXYX+8pGUq2ekAhJdeXlu9PK4iQfD9ubWXgPJ+XDKEKAKG6rVNXwyQckIbOMrTg" + "4r25g6dHkzI9lhwvgUjN9+/Ig/gihN2iMiiMKqiI6mgETenGSCcNgu7gwUqcM9tzfNuy" + "vcRFi4ZOtaLFRKRQEdXRCGekk8EWCIgmHYitYxlTUp7tNbQAz5zGH15FEIkmEhMdUEU0" + "gqZa+4NoVu3CkIBIbHxkFTfPbM70pOb7tA+8OpowTBpYPjSFBtEsGBlbg8gqV7bNYnTQ" + "s0VBJ4xRKse0NWuwom3W3S98rIkCxGdieXztPzkCQNFx+T9SaHBf2YhmlBkNkIMtedjg" + "ymqYgtWAiY1adz6oR2gQzaJxmtQMpkH0Vpt7pGtPl3YV+i25Pq31iV2DaLSiWawk0QU6" + "EmeqRWkQbDNcqtzG16Q+Kbne2NFoBQ2SEqELdGQTpkQiNahb+urM6LYs7xpn9PUrkR+N" + "owuhfqwIQJK9axlO5uX785Zcb3zRRGJCF+gI3aFTEU5s/AFhQsHU2zIgnXS/gavFXSpv" + "3BmhQTbK8pmjW+aeQXd8vjeIBtk6JNiFjPpJ+JmpBQI1CI2ji+N1E8wMdQgJg4jQINnz" + "OnppPNk6KAKNVtDF95fGxXln8QeEVYm9S3L1Bg9fGMN6V10BidAgNI4u0BG6s/OAgSEA" + "sTdJgLac8IoGhC4IkBqoTHRATV3LzEj3B49UvUzmRlr0EENHLbJTZgQNUo30T7UToo10" + "Gox0pgcdGclIO9gyGkZaKnJM4/XSNC8CEDWLLood060DQsaXKA3Cmo1HOeaYEy94oYgu" + "qu7OuQ20UGRmiM0mbE754uTIdoVR/F2NPB8aRxd88pKaxLhjonwxCiSm108mZQqZ6eWI" + "h3UQXbDQohLGNwYgCC2Fah4sWHK82r2KeKmP7IjleNEFLYIEPYgoDXLwBRFm32OXX2Eu" + "i2/Eg2IdMM8/VI/TBO8QtgUkLuTKbFBzj1T/ZJHTiSkgreqO8utj240FfjSOLuzCxpdA" + "QFxYQBoGotT1JskqR11jD7kq1seDZpWNDQMG7TV6xAbaz7UTmzNCjKLb1VDpoCk02CJ+" + "S0MsIG0GkKtXOnpxXMto7WNNuylGdNAUGtQne0i4BjmUjA5nr/RjzSt5c5VtPftW2Xde" + "qTWsMJFFdTSCprTJNEbVIIWRSoqNNfgfeE5MQAomeXteq1AalWGnhIaqoDoa0dAR++f1" + "ABQ21mBWrzya/65ibGuWF89s4XO/muahinoFBVAMhVGl9uG8NjBm+OSFSEaUAYV1HbSg" + "qm3uWPX47qIhSp3CL0/eYIID9SIKoBgKowpbEOpLRz9AigapB5Kb5yU2PFs699c767Wp" + "I5Uvvz734sCpEQgOcIqLuIUCKIbC2o0dPTMVNyCJUz2AOjTzDM6bzxmC5tCGGjvFRdxC" + "Ae1c/nEncX5gxDFMoTzWFQVYJrCSErshaDYSUMS4k9RUKE1OlKQpsGGiKyDKiVF1RxW7" + "okcr5APIggq1jwiQCiXEojM0pmBinL0sW9rdx+xOCxc3SR+btpw9ciMR6fehtaLxAClQ" + "FAVRHszZG0qqx/M3dS03PAvUPV6qebBQdXfuwp3Z8tuQ9+V3ZnFafX/+yqPF608DcEfB" + "EbVIUNHRHVQtl+gk/DgDCvvSQJ2n8GAs9PF48fzt94X2abgLh8rHvvx15LPiIcr0YSug" + "bLYCIsEpLmLpvKvQv79s+JtzL+B/Wa9Pnbr5FuAa2wPA1MoT9R3KTpzab4IC0rqO6pcG" + "eIyGp0tnb709Xjdx8MzozgI5qR6CxTEopOSG+2JpEe4YSPGlo5cqWnK8+0qHj1SMFdin" + "L92bo9W5qy/8q44EAhSGxsmHg60jcPrPt3jt6loZD5mStyKpfu2xjpW1mLqBb5KVZaMf" + "ODV64vpUNc+AITctvl91xApIi4YsRf2TRfzjPSVD9MIpPEqfFmjDOusKLZLXqnX9Q7Cy" + "uU+X4z10fgyqylzigaA99M5iXUDFBCjMC4VbkF4/CRBJ/B+nacaLHNmIR6JrKGiv8Wxx" + "Su8DCnX21juaASnM4ohtkRklIHX9xhWHJUMXN8/sKhpKyvTQxykU7oklAr32WJqqYuh0" + "W5Z3i3Xw2/KxK48W4vJVR0waZON54n88WzpcMaZ+n8L+br5wNJE6pbnCtAm/Ze6Z1v4V" + "JlInQGT88HJA5/d/5veWDrMsDjlIuNaPMMRhoq86oMh4Z5lXJ92xMVo3IOrD1rns6pVq" + "Hy7sLvLT1zv6E1k9gJ3KMW3O9GTUT/HwfpRbQ9FoELM73dKN9sC+smGe5RvrhpcgRpTE" + "CD36xSl/+aKTBtFODlbDyfH7xkAMI3Yc4xbj+gDRfikGF5awWIDs0GWqipEU36T2ZFyd" + "pIEmXIPQB1Zi6XWTLDkqHpulwlWJ5zjAoaM9WOEaRFMY+8YgO2R9Ell2KPao5sG8s3fd" + "SrRuQPht7FjeUzrM81oSd3CFGSP828q2WXefYA0iI2frDOwtHdqem9BowjBZsgcr2+Zc" + "/eteCkWjQRjMWBzCpU5NYPO8EhBp0BxFRcQD6mSALMbRIAgBcuukQSYgE5AJyARkAjIB" + "mYBMQIkjJiATkAnIBGQCSmAxAZmATEAmIEMC+g+GT7SO/uKwgAAAAABJRU5ErkJggg==" +) + + +def align_center(width, offset): + return (width / 2) + offset + + +def align_left(_, offset): + return offset + + +def align_right(width, offset): + return width - offset + + +ALIGNMENT_FUNCS = ( + (align_left, align_left), # Top Left + (align_right, align_left), # Top Right + (align_left, align_right), # Bottom Left + (align_right, align_right), # Bottom Right + (align_center, align_center), # Screen Center + (align_center, align_right), # Bottom Center + (align_center, align_left), # Top Center + (align_left, align_center), # Left Center + (align_right, align_center), # Right Center +) + + +class StaticBitmap(GenStaticBitmap): + def OnPaint(self, event): + dc = wx.PaintDC(self) + if self._bitmap: + dc.SetBackground(wx.Brush(self.GetParent().GetBackgroundColour())) + dc.Clear() + dc.DrawBitmap(self._bitmap, 0, 0, True) + + +class PushGroupDialog(wx.Frame): + oldSel = 0 + + def __init__(self, parent, plugin): + wx.Frame.__init__( + self, + parent, + -1, + style=wx.CAPTION | wx.RESIZE_BORDER, + name="Push group dialog" + ) + self.SetBackgroundColour(wx.NullColour) + self.panel = parent + self.plugin = plugin + self.groups = deepcopy(self.panel.push_groups) + + def show_push_groups_dlg(self): + text = self.plugin.text + self.SetTitle(text.pushGroupsTitle) + sizer = wx.BoxSizer(wx.VERTICAL) + left_sizer = wx.FlexGridSizer(4, 2, 2, 8) + + right_sizer = wx.BoxSizer(wx.VERTICAL) + top_middle_sizer = wx.BoxSizer(wx.VERTICAL) + preview_lbl = wx.StaticText(self, -1, text.groupsList) + list_box_ctrl = wx.ListBox( + self, -1, + style=wx.LB_SINGLE | wx.LB_NEEDED_SB + ) + label_lbl = wx.StaticText(self, -1, text.groupLabel) + label_ctrl = wx.TextCtrl(self, -1, '') + left_sizer.Add(preview_lbl, 0, wx.TOP, 5) + left_sizer.Add((1, 1)) + left_sizer.Add(list_box_ctrl, 1, wx.TOP | wx.EXPAND, 1) + left_sizer.Add(top_middle_sizer, 0, wx.TOP, 1) + left_sizer.Add(label_lbl, 0, wx.TOP, 3) + left_sizer.Add((1, 1)) + left_sizer.Add(label_ctrl, 0, wx.EXPAND) + left_sizer.Add((1, 1)) + left_sizer.AddGrowableCol(0) + left_sizer.AddGrowableRow(1) + + w1 = self.GetFullTextExtent(text.delete)[0] + w2 = self.GetFullTextExtent(text.insert)[0] + w = max(w1, w2) + 24 + btn_app = wx.Button(self, -1, text.insert, size=(w, -1)) + btn_del = wx.Button(self, -1, text.delete, size=(w, -1)) + btn_del.Enable(False) + top_middle_sizer.Add(btn_app) + top_middle_sizer.Add(btn_del, 0, wx.TOP, 5) + + tmp = [] + for t in self.plugin.targets: + tmp.append([t[0], t[1], t[2], False]) + items = [n[0] for n in tmp] + ts_ctrl = wx.CheckListBox( + self, + -1, + choices=items, + ) + right_sizer.Add(ts_ctrl, 1, wx.EXPAND) + + def evt_check_list_box(event): + index = event.GetSelection() + # label = ts_ctrl.GetString(index) + tmp_lst = [list(itm) for itm in self.plugin.targets] + for i, item in enumerate(tmp_lst): + tmp_lst[i].append(ts_ctrl.IsChecked(i)) + self.groups[self.oldSel][1] = tmp_lst + ts_ctrl.SetSelection(index) # so that (un)checking also selects (moves the highlight) + validation() + + ts_ctrl.Bind(wx.EVT_CHECKLISTBOX, evt_check_list_box) + + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + main_sizer.Add(left_sizer, 1, wx.EXPAND) + main_sizer.Add(right_sizer, 1, wx.EXPAND | wx.LEFT, 10) + sizer.Add(main_sizer, 1, wx.ALL | wx.EXPAND, 10) + line = wx.StaticLine(self, -1, size=(20, -1), style=wx.LI_HORIZONTAL) + btn1 = wx.Button(self, wx.ID_OK) + btn1.SetLabel(text.ok) + btn1.Enable(False) + btn1.SetDefault() + btn2 = wx.Button(self, wx.ID_CANCEL) + btn2.SetLabel(text.cancel) + btnsizer = wx.StdDialogButtonSizer() + btnsizer.AddButton(btn1) + btnsizer.AddButton(btn2) + btnsizer.Realize() + sizer.Add(line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 5) + sizer.Add(btnsizer, 0, wx.EXPAND | wx.RIGHT, 10) + sizer.Add((1, 5)) + self.SetSizer(sizer) + sizer.Fit(self) + self.SetMinSize(self.GetSize()) + + def set_value(item): + label_ctrl.ChangeValue(item[0]) + ts = item[1] + tmp_lst = [] + lst_1 = [i[1] for i in ts] + for ix, target in enumerate(self.plugin.targets): + tmp_lst.append(list(target)) + if target[1] in lst_1: + iy = lst_1.index(target[1]) + tmp_lst[ix].append(ts[iy][3]) + else: + tmp_lst[ix].append(False) + ts_ctrl.Check(ix, tmp_lst[ix][3]) + ts_ctrl.Enable(True) + + if len(self.groups) > 0: + list_box_ctrl.Set([n[0] for n in self.groups]) + list_box_ctrl.SetSelection(0) + set_value(self.groups[0]) + self.oldSel = 0 + btn_del.Enable(True) + else: + label_lbl.Enable(False) + label_ctrl.Enable(False) + btn1.Enable(False) + ts_ctrl.Enable(False) + + sizer.Layout() + # self.MakeModal(True) + self.SetFocus() + self.Center() + self.Show() + + def on_close(evt): + # self.MakeModal(False) + self.GetParent().GetParent().Raise() + self.Destroy() + evt.Skip() + + self.Bind(wx.EVT_CLOSE, on_close) + + def on_cancel(evt): + self.Close() + evt.Skip() + + btn2.Bind(wx.EVT_BUTTON, on_cancel) + + def on_ok(evt): + self.panel.push_groups = self.groups + self.Close() + evt.Skip() + + btn1.Bind(wx.EVT_BUTTON, on_ok) + + def validation(): + while True: + flag = True + label = label_ctrl.GetValue() + if label == '': + flag = False + if len(self.groups) > 0: + strings = list_box_ctrl.GetStrings() + for lbl in strings: + if lbl == '': + flag = False + break + if strings.count(label) != 1: + flag = False + break + # sel = self.oldSel + break + btn1.Enable(flag) + btn_app.Enable(flag) + + def on_txt_change(evt): + if self.groups: + sel = self.oldSel + label = label_ctrl.GetValue() + self.groups[sel][0] = label + list_box_ctrl.Set([grp[0] for grp in self.groups]) + list_box_ctrl.SetSelection(sel) + validation() + evt.Skip() + + label_ctrl.Bind(wx.EVT_TEXT, on_txt_change) + + # noinspection PyUnusedLocal + def on_click(evt): + sel = list_box_ctrl.GetSelection() + if self.oldSel != sel: + self.oldSel = sel + item = self.groups[sel] + set_value(item) + list_box_ctrl.SetSelection(self.oldSel) + list_box_ctrl.SetFocus() + # evt.Skip() + + list_box_ctrl.Bind(wx.EVT_LISTBOX, on_click) + + def on_button_delete(evt): + lngth = len(self.groups) + sel = list_box_ctrl.GetSelection() + if lngth == 1: + self.groups = [] + list_box_ctrl.Set([]) + item = ['', []] + set_value(item) + label_lbl.Enable(False) + label_ctrl.Enable(False) + ts_ctrl.Enable(False) + btn1.Enable(True) + btn_del.Enable(False) + btn_app.Enable(True) + evt.Skip() + return + elif sel == lngth - 1: + sel = 0 + self.oldSel = sel + # tmp = self.groups.pop(list_box_ctrl.GetSelection()) + list_box_ctrl.Set([grp[0] for grp in self.groups]) + list_box_ctrl.SetSelection(sel) + item = self.groups[sel] + set_value(item) + validation() + evt.Skip() + + btn_del.Bind(wx.EVT_BUTTON, on_button_delete) + + def on_button_append(evt): + label_lbl.Enable(True) + label_ctrl.Enable(True) + ts_ctrl.Enable(False) + sel = list_box_ctrl.GetSelection() + 1 + self.oldSel = sel + item = ['', []] + self.groups.insert(sel, item) + list_box_ctrl.Set([grp[0] for grp in self.groups]) + list_box_ctrl.SetSelection(sel) + set_value(item) + label_ctrl.SetFocus() + btn_app.Enable(False) + btn_del.Enable(True) + evt.Skip() + + btn_app.Bind(wx.EVT_BUTTON, on_button_append) + + +class PhonebookChoice(wx.ComboBox): + phbook = [] + + def __init__(self, parent, wxid, phbook, plugin, val, pos=wx.DefaultPosition): + wx.ComboBox.__init__(self, parent, wxid, pos=pos, choices=[]) + self.val = val + self.plugin = plugin + self.Set(phbook) + + def get_sel(self): + return self.GetValue() + + def set_sel(self, val): + strings = self.GetStrings() + if val: + if SEP in val: + if val in strings: + self.SetStringSelection(val) + else: + phone = val.split(SEP)[1].strip() + v = [ + itm for itm in strings if itm.split(SEP)[1].strip() == phone + ] + if v: + self.SetStringSelection(v[0]) + else: + self.SetStringSelection(phone) + else: + v = [ + itm for itm in strings if itm.split(SEP)[1].strip() == val.strip() + ] + if v: + self.SetStringSelection(v[0]) + else: + self.SetStringSelection(val) + + def Set(self, phbook): + self.Clear() + self.phbook = phbook + wx.ComboBox.Set(self, self.phbook) + if self.val: + self.set_sel(self.val) + + +class SmsGroupDialog(wx.Frame): + oldSel = 0 + + def __init__(self, parent, plugin): + wx.Frame.__init__( + self, + parent, + style=wx.CAPTION | wx.RESIZE_BORDER, + name="SMS group dialog" + ) + self.SetBackgroundColour(wx.NullColour) + self.panel = parent + self.plugin = plugin + self.groups = deepcopy(self.panel.sms_groups) + + def show_sms_groups_dlg(self): + text = self.plugin.text + self.SetTitle(text.smsGroupsTitle) + sizer = wx.BoxSizer(wx.VERTICAL) + left_sizer = wx.FlexGridSizer(4, 2, 2, 8) + right_sizer = wx.BoxSizer(wx.VERTICAL) + top_middle_sizer = wx.BoxSizer(wx.VERTICAL) + preview_lbl = wx.StaticText(self, -1, text.groupsList) + list_box_ctrl = wx.ListBox( + self, -1, + style=wx.LB_SINGLE | wx.LB_NEEDED_SB + ) + label_lbl = wx.StaticText(self, -1, text.groupLabel) + label_ctrl = wx.TextCtrl(self, -1, '') + left_sizer.Add(preview_lbl, 0, wx.TOP, 5) + left_sizer.Add((1, 1)) + left_sizer.Add(list_box_ctrl, 1, wx.TOP | wx.EXPAND, 1) + left_sizer.Add(top_middle_sizer, 0, wx.TOP, 1) + left_sizer.Add(label_lbl, 0, wx.TOP, 3) + left_sizer.Add((1, 1)) + left_sizer.Add(label_ctrl, 0, wx.EXPAND) + left_sizer.Add((1, 1)) + + w1 = self.GetFullTextExtent(text.delete)[0] + w2 = self.GetFullTextExtent(text.insert)[0] + w = max(w1, w2) + 24 + btn_app = wx.Button(self, -1, text.insert, size=(w, -1)) + btn_del = wx.Button(self, -1, text.delete, size=(w, -1)) + btn_del.Enable(False) + top_middle_sizer.Add(btn_app) + top_middle_sizer.Add(btn_del, 0, wx.TOP, 5) + + left_sizer.AddGrowableCol(0) + left_sizer.AddGrowableRow(1) + + try: + choices = list(self.plugin.get_sm_sdevices().iterkeys()) + except KeyError: + choices = [] + ctrl_dev = wx.Choice(self, -1, choices=choices) + lbl_dev = wx.StaticText(self, -1, text.device) + static_box = wx.StaticBox(self, -1, "") + static_box_sizer = wx.StaticBoxSizer(static_box, wx.VERTICAL) + top_sizer = wx.BoxSizer(wx.HORIZONTAL) + btn_sizer = wx.BoxSizer(wx.VERTICAL) + bottom_sizer = wx.FlexGridSizer(2, 2, 10, 10) + + list_ctrl = Table( + self, + text.header, + 3, + ("DevName", "Recipient name", "XXXXXXXXXXXXXXXX") + ) + lbl_rec = wx.StaticText(self, -1, text.recip) + ctrl_rec = PhonebookChoice( + self, + -1, + [], + self.plugin, + "", + ) + btn_add = wx.Button(self, -1, text.insert) + btn_del = wx.Button(self, -1, text.delete) + btn_del.Enable(False) + btn_sizer.Add(btn_add) + btn_sizer.Add(btn_del, 0, wx.TOP, 10) + top_sizer.Add(list_ctrl, 1, wx.EXPAND) + top_sizer.Add(btn_sizer, 0, wx.LEFT, 10) + static_box_sizer.Add(top_sizer, 1, wx.EXPAND) + bottom_sizer.Add(lbl_dev, 0, wx.ALIGN_CENTER_VERTICAL) + bottom_sizer.Add(ctrl_dev, 0, wx.EXPAND) + bottom_sizer.Add(lbl_rec, 0, wx.ALIGN_CENTER_VERTICAL) + bottom_sizer.Add(ctrl_rec, 0, wx.EXPAND) + static_box_sizer.Add(bottom_sizer, 0, wx.EXPAND | wx.TOP, 10) + main_sizer = wx.BoxSizer(wx.HORIZONTAL) + right_sizer.Add(static_box_sizer, 1, wx.EXPAND) + main_sizer.Add(left_sizer, 1, wx.EXPAND) + main_sizer.Add(right_sizer, 2, wx.EXPAND | wx.LEFT, 10) + sizer.Add(main_sizer, 1, wx.ALL | wx.EXPAND, 10) + line = wx.StaticLine(self, -1, size=(20, -1), style=wx.LI_HORIZONTAL) + btn1 = wx.Button(self, wx.ID_OK) + btn1.SetLabel(text.ok) + btn1.Enable(False) + btn1.SetDefault() + btn2 = wx.Button(self, wx.ID_CANCEL) + btn2.SetLabel(text.cancel) + btnsizer = wx.StdDialogButtonSizer() + btnsizer.AddButton(btn1) + btnsizer.AddButton(btn2) + btnsizer.Realize() + sizer.Add(line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 5) + sizer.Add(btnsizer, 0, wx.EXPAND | wx.RIGHT, 10) + sizer.Add((1, 5)) + + bottom_sizer.AddGrowableCol(1) + + self.SetSizer(sizer) + sizer.Fit(self) + self.SetMinSize(self.GetSize()) + + def set_row(): + dev = ctrl_dev.GetStringSelection() + nm, nr = get_nm_nr(ctrl_rec.get_sel()) + list_ctrl.set_row((dev, nm, nr)) + self.groups[self.oldSel][1] = list_ctrl.get_data() + validation() + + def on_dev(evt): + dev = ctrl_dev.GetStringSelection() + phbook = self.plugin.get_phonebook(dev) + rcp = ctrl_rec.GetValue() + ctrl_rec.Set(phbook) + if rcp: + ctrl_rec.SetValue(rcp) + set_row() + evt.Skip() + + ctrl_dev.Bind(wx.EVT_CHOICE, on_dev) + + def on_rec(evt): + set_row() + evt.Skip() + + ctrl_rec.Bind(wx.EVT_COMBOBOX, on_rec) + + def on_select(evt): + dev, nm, nr = list_ctrl.get_row() + if dev != ctrl_dev.GetStringSelection(): + if dev in ctrl_dev.GetStrings(): + ctrl_dev.SetStringSelection(dev) + phbook = self.plugin.get_phonebook(dev) + ctrl_rec.Set(phbook) + ctrl_rec.SetValue(nm + SEP + nr if nr != "" and nm != "" else nr) + evt.Skip() + + list_ctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, on_select) + + def enable_part(enable=None): + sel_cnt = list_ctrl.GetSelectedItemCount() + enable = sel_cnt > 0 if enable is None else enable + if not enable: + ctrl_rec.SetValue("") + btn_del.Enable(enable) + ctrl_rec.Enable(enable) + ctrl_dev.Enable(enable) + lbl_rec.Enable(enable) + lbl_dev.Enable(enable) + + def on_change(evt=None): + enable_part() + if evt: + evt.Skip() + + list_ctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, on_change) + list_ctrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, on_change) + on_change() + + def on_delete(evt): + list_ctrl.DeleteItem(list_ctrl.get_selected_index()) + set_row() + validation() + evt.Skip() + + btn_del.Bind(wx.EVT_BUTTON, on_delete) + + def on_add(evt): + list_ctrl.add_row() + if ctrl_dev.GetStringSelection(): + set_row() + evt.Skip() + + btn_add.Bind(wx.EVT_BUTTON, on_add) + + def enable_box(enable): + list_ctrl.Enable(enable) + btn_add.Enable(enable) + if enable: + enable_part() + else: + enable_part(False) + + def set_value(item): + label_ctrl.ChangeValue(item[0]) + list_ctrl.set_data(item[1]) + enable_box(True) + + if len(self.groups) > 0: + list_box_ctrl.Set([n[0] for n in self.groups]) + list_box_ctrl.SetSelection(0) + set_value(self.groups[0]) + self.oldSel = 0 + btn_del.Enable(True) + else: + label_lbl.Enable(False) + label_ctrl.Enable(False) + btn1.Enable(False) + enable_box(False) + + sizer.Layout() + # self.MakeModal(True) + self.SetFocus() + self.Center() + self.Show() + + def on_close(evt): + # self.MakeModal(False) + self.GetParent().GetParent().Raise() + self.Destroy() + evt.Skip() + + self.Bind(wx.EVT_CLOSE, on_close) + + def on_cancel(evt): + self.Close() + evt.Skip() + + btn2.Bind(wx.EVT_BUTTON, on_cancel) + + def on_ok(evt): + self.panel.sms_groups = self.groups + self.Close() + evt.Skip() + + btn1.Bind(wx.EVT_BUTTON, on_ok) + + def validation(): + strings = [] + while True: + flag = True + label = label_ctrl.GetValue() + if label == '': + flag = False + if len(self.groups) > 0: + strings = list_box_ctrl.GetStrings() + for lbl in strings: + if lbl == '': + flag = False + break + if strings.count(label) != 1: + flag = False + break + # sel = self.oldSel + data = list_ctrl.get_data() + if len(data) == 0: + flag = False + break + else: + for rowData in data: + if rowData[2] == "": + flag = False + break + btn1.Enable(flag) + btn_app.Enable(flag) + + def on_txt_change(evt): + if self.groups: + sel = self.oldSel + label = label_ctrl.GetValue() + self.groups[sel][0] = label + list_box_ctrl.Set([grp[0] for grp in self.groups]) + list_box_ctrl.SetSelection(sel) + validation() + evt.Skip() + + label_ctrl.Bind(wx.EVT_TEXT, on_txt_change) + + # noinspection PyUnusedLocal + def on_click(evt): + sel = list_box_ctrl.GetSelection() + if self.oldSel != sel: + self.oldSel = sel + item = self.groups[sel] + set_value(item) + list_box_ctrl.SetSelection(self.oldSel) + list_box_ctrl.SetFocus() + # evt.Skip() + + list_box_ctrl.Bind(wx.EVT_LISTBOX, on_click) + + def on_button_delete(evt): + lngth = len(self.groups) + sel = list_box_ctrl.GetSelection() + if lngth == 1: + self.groups = [] + list_box_ctrl.Set([]) + item = ['', []] + set_value(item) + label_lbl.Enable(False) + label_ctrl.Enable(False) + enable_box(False) + btn1.Enable(False) + btn_del.Enable(False) + btn_app.Enable(True) + evt.Skip() + return + elif sel == lngth - 1: + sel = 0 + self.oldSel = sel + # tmp = self.groups.pop(list_box_ctrl.GetSelection()) + list_box_ctrl.Set([grp[0] for grp in self.groups]) + list_box_ctrl.SetSelection(sel) + item = self.groups[sel] + set_value(item) + evt.Skip() + + btn_del.Bind(wx.EVT_BUTTON, on_button_delete) + + def on_button_append(evt): + label_lbl.Enable(True) + label_ctrl.Enable(True) + enable_box(False) + sel = list_box_ctrl.GetSelection() + 1 + self.oldSel = sel + item = ['', []] + self.groups.insert(sel, item) + list_box_ctrl.Set([grp[0] for grp in self.groups]) + list_box_ctrl.SetSelection(sel) + set_value(item) + label_ctrl.SetFocus() + btn_app.Enable(False) + btn_del.Enable(True) + evt.Skip() + + btn_app.Bind(wx.EVT_BUTTON, on_button_append) + + +class CheckListComboBox(wx.ComboCtrl): + class CheckListBoxComboPopup(wx.ComboPopup): + + def __init__(self, values, help_text): + wx.ComboPopup.__init__(self) + self.values = values + self.helpText = help_text + self.curitem = None + self.data = None + self.lb = None + self.itemHeight = None + + # noinspection PyUnusedLocal + def on_dclick(self, evt): + self.Dismiss() + self.set_help_text() + + def Init(self): + self.curitem = None + self.data = None + + def Create(self, parent): + self.lb = wx.CheckListBox(parent, -1, (80, 50), wx.DefaultSize) + self.itemHeight = self.lb.GetFullTextExtent('A')[1] + self.set_value(self.values) + self.set_help_text() + self.lb.Bind(wx.EVT_MOTION, self.on_motion) + self.lb.Bind(wx.EVT_LEFT_DOWN, self.on_left_down) + self.lb.Bind(wx.EVT_LEFT_DCLICK, self.on_dclick) + return True + + def set_help_text(self, help_text=None): + self.helpText = help_text if help_text is not None else self.helpText + combo = self.GetComboCtrl() + combo.SetText(self.helpText) + combo.TextCtrl.SetEditable(False) + + def set_value(self, values): + self.lb.Set(values[0]) + self.data = values[2] if len(values) == 3 else None + for i in range(len(values[1])): + self.lb.Check(i, int(values[1][i])) + + def get_value(self): + strngs = self.lb.GetStrings() + flags = [self.lb.IsChecked(i) for i in range(len(strngs))] + return [strngs, flags] if self.data is None else [ + strngs, flags, self.data + ] + + def GetControl(self): + return self.lb + + def OnPopup(self): + if self.curitem: + self.lb.EnsureVisible(self.curitem) + self.lb.SetSelection(self.curitem) + + def GetAdjustedSize(self, min_width, pref_height, max_height): + return wx.Size( + min_width, + min(self.itemHeight * (0.5 + len(self.lb.GetStrings())), max_height) + ) + + def on_motion(self, evt): + item = self.lb.HitTest(evt.GetPosition()) + if item > -1: + self.lb.SetSelection(item) + self.curitem = item + evt.Skip() + + def on_left_down(self, evt): + item = self.lb.HitTest(evt.GetPosition()) + if item > -1: + self.curitem = item + evt.Skip() + + def __init__(self, parent, wxid=-1, values=None, **kwargs): + if values is None: + values = [[], []] + if 'helpText' in kwargs: + help_text = kwargs['helpText'] + del kwargs['helpText'] + else: + help_text = "" + wx.ComboCtrl.__init__(self, parent, wxid, **kwargs) + self.popup = self.CheckListBoxComboPopup(values, help_text) + self.SetPopupControl(self.popup) + self.popup.lb.Bind(wx.EVT_CHECKLISTBOX, self.on_check) + + def on_check(self, evt): + wx.PostEvent(self, evt) + evt.StopPropagation() + + def GetValue(self): + return self.popup.get_value() + + def SetValue(self, values): + self.popup.set_value(values) + + def SetHelpText(self, help_text=None): + self.popup.set_help_text(help_text) + + +class FlatButton(GenButton): + + def __init__( + self, + parent=None, + wxid=-1, + pos=wx.DefaultPosition, + size=wx.DefaultSize, + idle_bmp=None, + active_bmp=None, + label=None, + radius=5, + idle_text_clr="#FFFFFF", + active_text_clr="#FFFFFF", + idle_back_clr="#27ae60", + active_back_clr="#2ecc71", + font=None, + bmp_indent=None, + lbl_indent=None + ): + GenButton.__init__(self, parent, wxid, "", pos, size, 0) + self.font = font + self.radius = radius + self.idleTextClr = idle_text_clr + self.activeTextClr = active_text_clr + self.idleBackClr = idle_back_clr + self.activeBackClr = active_back_clr + self.idleBmp = idle_bmp + self.activeBmp = active_bmp if active_bmp else idle_bmp + self.label = label + self.bmpIndent = bmp_indent + self.lblIndent = lbl_indent + self.state = False + self.mouse = False + self.Bind(wx.EVT_PAINT, self.on_paint) + self.Bind(wx.EVT_ENTER_WINDOW, self.on_enter) + self.Bind(wx.EVT_LEAVE_WINDOW, self.on_leave) + self.Bind(wx.EVT_LEFT_DOWN, self.on_mouse_down) + self.Bind(wx.EVT_LEFT_UP, self.on_mouse_up) + + # noinspection PyUnusedLocal + def on_paint(self, evt): + if self.state: + back_clr = self.activeBackClr + text_clr = self.activeTextClr + bmp = self.activeBmp + else: + back_clr = self.idleBackClr + text_clr = self.idleTextClr + bmp = self.idleBmp + width, height = self.GetSize() + th = bw = bh = 0 + if bmp: + if exists(bmp): + try: + wx_bmp = wx.Image(bmp, wx.BITMAP_TYPE_ANY).ConvertToBitmap() + bw, bh = wx_bmp.GetWidth(), wx_bmp.GetHeight() + except IOError: + wx_bmp = None + else: + try: + pil = Image.open(StringIO(b64decode(bmp))) + has_alpha = ( + pil.mode in ('RGBA', 'LA') + or (pil.mode == 'P' and 'transparency' in pil.info) + ) + image = wx.EmptyImage(*pil.size) + rgb_pil = pil.convert('RGB') + if has_alpha: + image.set_data(rgb_pil.tobytes()) + image.SetAlphaData(pil.convert("RGBA").tobytes()[3::4]) + else: + new_image = rgb_pil + data = new_image.tobytes() + image.set_data(data) + wx_bmp = image.ConvertToBitmap() + bw, bh = wx_bmp.GetWidth(), wx_bmp.GetHeight() + except IOError: + wx_bmp = None + if self.bmpIndent is None: + tmpy = (bh + 2 * self.radius - height) / 2 + self.bmpIndent = self.radius - sqrt(self.radius ** 2 - tmpy ** 2) \ + if (0 < tmpy < self.radius) else 0 + self.bmpIndent = max(5, self.bmpIndent) + if not self.label: + self.bmpIndent = (width - bw) / 2 + else: + wx_bmp = None + + if self.label: + if self.font is None: + self.font = wx.Font( + 12, + wx.FONTFAMILY_SWISS, + wx.FONTSTYLE_NORMAL, + wx.FONTWEIGHT_BOLD, + False, + u'Arial' + ) + self.SetFont(self.font) + tw, th = self.GetFullTextExtent(self.label) + if self.lblIndent is None: + if wx_bmp: + self.lblIndent = (width - tw - bw - self.bmpIndent) / 2 + else: + self.lblIndent = (width - tw) / 2 + dc = wx.BufferedPaintDC(self) + gc = wx.GraphicsContext.Create(dc) + dc.SetBackground(wx.Brush(self.GetParent().GetBackgroundColour())) + dc.Clear() + path = gc.CreatePath() + path.AddRoundedRectangle(0, 0, width, height, self.radius) + path.CloseSubpath() + gc.SetBrush(wx.Brush(back_clr)) + gc.FillPath(path) + dc.SetTextForeground(text_clr) + if wx_bmp: + dc.DrawBitmap(wx_bmp, self.bmpIndent, (height - bh) / 2) + if self.label: + dc.SetFont(self.font) + lbl_pos = self.lblIndent if not wx_bmp \ + else bw + self.bmpIndent + self.lblIndent + dc.DrawText(self.label, lbl_pos, (height - th) / 2) + + def on_mouse_down(self, evt): + if self.mouse: + self.state = False + self.Refresh() + evt.Skip() + + def on_mouse_up(self, evt): + if self.mouse: + self.state = True + self.Refresh() + evt.Skip() + + def on_enter(self, evt): + self.mouse = True + self.state = True + self.Refresh() + evt.Skip() + + def on_leave(self, evt): + self.mouse = False + self.state = False + self.Refresh() + evt.Skip() + + +# noinspection PyPep8Naming,PyMethodMayBeStatic,PyUnusedLocal +class FakeLbl(object): + def __init__(self): + super(FakeLbl, self).__init__() + + def GetSize(self): + return 0, 0 + + def GetTextExtent(self, s): + return 0, 0 + + def SetFont(self, font): + pass + + def GetPosition(self): + return 0, 0 + + def SetPosition(self, pos): + pass + + def Bind(self, *args, **kwargs): + pass + + def SetToolTip(self, s): + pass + + def SetBackgroundColour(self, clr): + pass + + +class EnableDialog(wx.Frame): + def __init__(self, parent, plugin): + wx.Frame.__init__( + self, + parent, + -1, + style=wx.DEFAULT_DIALOG_STYLE | wx.TAB_TRAVERSAL | wx.RESIZE_BORDER, + name="PushBulletEnableDialog" + ) + self.SetBackgroundColour(wx.NullColour) + self.panel = parent + self.plugin = plugin + self.disabled = deepcopy(self.plugin.disabled) + self.enabled = [] + self.SetIcon(self.plugin.info.icon.GetWxIcon()) + + def get_items(self): + pl = self.plugin + return [pl.get_device(i[1]) for i in self.disabled] + + def show_enab_dialog(self): + pl = self.plugin + text = pl.text + self.panel.Enable(False) + self.panel.dialog.buttonRow.cancelButton.Enable(False) + self.panel.EnableButtons(False) + self.SetTitle(text.title3) + panel = wx.Panel(self) + line = wx.StaticLine( + panel, + -1, + style=wx.LI_HORIZONTAL + ) + btn4 = wx.Button(panel, wx.ID_DELETE, text.delete) + btnsizer = wx.BoxSizer(wx.HORIZONTAL) + btn1 = wx.Button(panel, wx.ID_OK, text.ok) + btnsizer.Add(btn1) + btnsizer.Add((5, -1)) + btn2 = wx.Button(panel, wx.ID_CANCEL, text.cancel) + btnsizer.Add(btn2) + lbl1 = wx.StaticText(panel, -1, text.enabLbl) + list_box_ctrl = wx.ListBox( + panel, -1, + style=wx.LB_SINGLE | wx.LB_NEEDED_SB + ) + list_box_ctrl.Set(self.get_items()) + btn4.Disable() + + def on_click(evt): + btn4.Enable(True) + # sel = evt.GetSelection() + evt.Skip() + + list_box_ctrl.Bind(wx.EVT_LISTBOX, on_click) + + def on_button_delete(evt): + # lngth = list_box_ctrl.GetCount() + sel = list_box_ctrl.GetSelection() + item = self.disabled.pop(sel) + self.enabled.append(item) + list_box_ctrl.Set(self.get_items()) + if list_box_ctrl.GetCount(): + if sel >= list_box_ctrl.GetCount(): + sel = list_box_ctrl.GetCount() - 1 + list_box_ctrl.SetSelection(sel) + else: + btn4.Disable() + evt.Skip() + + btn4.Bind(wx.EVT_BUTTON, on_button_delete) + left_sizer = wx.BoxSizer(wx.VERTICAL) + left_sizer.Add(lbl1) + left_sizer.Add(list_box_ctrl, 1, wx.EXPAND) + right_sizer = wx.BoxSizer(wx.VERTICAL) + right_sizer.Add((-1, 10)) + right_sizer.Add(btn4, 0, wx.ALL, 5) + top_sizer = wx.BoxSizer(wx.HORIZONTAL) + top_sizer.Add(left_sizer, 1, wx.ALL | wx.EXPAND, 5) + top_sizer.Add(right_sizer, 0, wx.TOP, 2) + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(top_sizer, 1, wx.ALL | wx.EXPAND, 5) + main_sizer.Add(line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.BOTTOM, 5) + main_sizer.Add(btnsizer, 0, wx.EXPAND | wx.LEFT | wx.RIGHT, 10) + main_sizer.Add((1, 6)) + panel.SetSizer(main_sizer) + + def on_close(evt): + # self.MakeModal(False) + self.panel.Enable(True) + self.panel.dialog.buttonRow.cancelButton.Enable(True) + self.panel.EnableButtons(True) + self.GetParent().GetParent().Raise() + self.Destroy() + evt.Skip() + + self.Bind(wx.EVT_CLOSE, on_close) + + def on_ok(_): + wx.CallAfter(self.plugin.enable_mirroring_many, self.enabled) + self.Close() + + btn1.Bind(wx.EVT_BUTTON, on_ok) + + def on_cancel(_): + self.Close() + + btn2.Bind(wx.EVT_BUTTON, on_cancel) + + main_sizer.Fit(self) + main_sizer.Layout() + self.Raise() + # self.MakeModal(True) + self.Show() + + +class Table(wx.ListCtrl): + + def __init__(self, parent, header, min_rows, dummy_data=None): + wx.ListCtrl.__init__( + self, + parent, + -1, + style=wx.LC_REPORT | wx.VSCROLL | wx.HSCROLL | wx.LC_HRULES | wx.LC_VRULES | wx.LC_SINGLE_SEL, + ) + self.cols = len(header) + for i, colLabel in enumerate(header): + self.InsertColumn( + i, + colLabel, + format=wx.LIST_FORMAT_LEFT + ) + if dummy_data: + if i: + self.SetItem(0, i, dummy_data[i]) + else: + self.InsertItem(0, dummy_data[i]) + self.SetColumnWidth(i, wx.LIST_AUTOSIZE_USEHEADER) + rect = self.GetItemRect(0, wx.LIST_RECT_BOUNDS) + self.DeleteAllItems() + self.w0 = self.GetColumnWidth(0) + self.w1 = self.GetColumnWidth(1) + self.w2 = self.GetColumnWidth(2) + self.wk = SYS_VSCROLL_X + self.GetWindowBorderSize()[0] + self.w0 + self.w1 + self.w2 + width = self.wk + hh = rect[1] # header height + hi = rect[3] # item height + self.SetMinSize((width, 4 + hh + min_rows * hi)) + self.SetSize((width, 4 + hh + min_rows * hi)) + self.Bind(wx.EVT_SIZE, self.on_size) + + def set_width(self): + w = (self.GetSize().width - self.wk) + w0_ = w / 3 + self.w0 + w1_ = w / 3 + self.w1 + w2_ = w - 2 * w / 3 + self.w2 + self.SetColumnWidth(0, w0_) + self.SetColumnWidth(1, w1_) + self.SetColumnWidth(2, w2_) + + def on_size(self, event): + wx.CallAfter(self.set_width) + event.Skip() + + def get_selected_index(self): + item_index = -1 + return self.GetNextItem( + item_index, + wx.LIST_NEXT_ALL, + wx.LIST_STATE_SELECTED + ) + + def add_row(self): + row = self.GetItemCount() + self.InsertItem(row, "") + self.SetItemState(row, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED) + self.SetFocus() + + def set_row(self, row_data, row=None): + row = self.get_selected_index() if row is None else row + if row > -1: + for col, colData in enumerate(row_data): + self.SetItem(row, col, colData) + + def get_row(self, row=None): + row = self.get_selected_index() if row is None else row + row_data = [] + for col in range(self.cols): + row_data.append(self.GetItem(row, col).GetText()) + return row_data + + def get_data(self): + data = [] + for row in range(self.GetItemCount()): + row_data = self.get_row(row) + data.append(row_data) + return data + + def set_data(self, data): + self.DeleteAllItems() + for row, rowData in enumerate(data): + self.InsertItem(row, rowData[0]) + for col, colData in enumerate(rowData[1:]): + self.SetItem(row, col + 1, colData) + + +class ListGrid(gridlib.Grid): + + def __init__(self, parent, wxid, items, width): + gridlib.Grid.__init__( + self, + parent, + wxid, + size=(width - 5, -1), + style=wx.BORDER_RAISED + ) + self.SetRowLabelSize(0) + self.SetColLabelSize(0) + self.SetDefaultRowSize(19) + self.SetScrollLineX(1) + self.SetScrollLineY(1) + self.EnableEditing(True) + self.EnableDragColSize(False) + self.EnableDragRowSize(False) + self.EnableDragGridSize(False) + self.EnableGridLines(True) + self.SetColMinimalAcceptableWidth(8) + self.CreateGrid(len(items), 1) + self.SetColSize(0, width - 6 - SYS_VSCROLL_X) + attr = gridlib.GridCellAttr() + attr.SetAlignment(wx.ALIGN_LEFT, wx.ALIGN_CENTRE) + self.SetColAttr(0, attr) + self.SetSelectionMode(gridlib.Grid.wxGridSelectRows) + self.Bind(gridlib.EVT_GRID_CMD_SELECT_CELL, self.on_grid_select_cell, self) + self.Bind(wx.EVT_SIZE, self.on_size) + self.set_value(items) + self.oldW = self.GetSize()[0] + self.Show(True) + + def set_width(self): + width = self.GetSize()[0] + if width != self.oldW: + self.SetColSize(0, width - 6 - SYS_VSCROLL_X) + self.oldW = width + + def on_size(self, event): + wx.CallAfter(self.set_width) + event.Skip() + + def on_grid_select_cell(self, event): + rows = self.GetNumberRows() + row = event.get_row() + self.SelectRow(row) + if rows - 1 == row: + self.AppendRows(1) + if not self.IsVisible(row, 0): + self.MakeCellVisible(row, 0) + event.Skip() + + def get_value(self): + items = [] + for r in range(self.GetNumberRows()): + item = self.GetCellValue(r, 0) + if item.strip(): + items.append(item) + return items + + def set_value(self, items): + self.ClearGrid() + for i in range(len(items)): + self.SetCellValue(i, 0, items[i]) + + +class ReplyDialog(wx.Frame): + + def __init__( + self, + parent, + plugin, + title, + body, + img, + app, + push_dict + ): + wx.Frame.__init__( + self, + parent, + -1, + style=wx.DEFAULT_DIALOG_STYLE | wx.TAB_TRAVERSAL | wx.RESIZE_BORDER, + name="PushBulletReplyDialog" + ) + self.SetBackgroundColour(wx.NullColour) + self.plugin = plugin + self.title = title + self.body = body + self.img = img + self.app = app + self.pushDict = push_dict + self.SetIcon(self.plugin.info.icon.GetWxIcon()) + + def show_reply_dialog(self): + pl = self.plugin + self.SetTitle(pl.text.title4 % self.title) + panel = wx.Panel(self) + panel.SetBackgroundColour(self.GetBackgroundColour()) + main_sizer = wx.BoxSizer(wx.VERTICAL) + sizer = wx.GridBagSizer(10, 10) + + self.SetSizer(main_sizer) + int_brdr = 10 + main_sizer.Add(sizer, 1, wx.ALL | wx.EXPAND, int_brdr) + bmp = StaticBitmap( + self, + -1, + self.img, + size=(self.img.GetWidth(), self.img.GetHeight()) + ) + ttl = wx.StaticText( + self, + -1, + self.title, + ) + font = wx.Font( + 14, + wx.FONTFAMILY_DEFAULT, + wx.FONTSTYLE_NORMAL, + wx.FONTWEIGHT_BOLD, + False, + u'Ariel' + ) + ttl.SetFont(font) + dsc = wx.StaticText( + self, + -1, + "Via %s" % self.app, + ) + font = wx.Font( + 10, + wx.FONTFAMILY_DEFAULT, + wx.FONTSTYLE_NORMAL, + wx.FONTWEIGHT_LIGHT, + False, + u'Ariel' + ) + dsc.SetFont(font) + btn = FlatButton( + self, + -1, + size=(90, 50), + idle_bmp=join(ICON_DIR, "Reply.png"), + label=pl.text.reply, + radius=5, + bmp_indent=5 + ) + sizer.Add(bmp, (0, 0), (2, 1)) + sizer.Add(ttl, (0, 1)) + sizer.Add(btn, (0, 2), (2, 1), flag=wx.ALIGN_RIGHT) + sizer.Add(dsc, (1, 1)) + + sizer.AddGrowableCol(1) + sizer.AddGrowableRow(3) + + bd = wx.TextCtrl( + self, + -1, + self.body, + style=wx.TE_MULTILINE | wx.TE_READONLY | wx.BORDER_NONE | wx.TE_RICH + ) + bd.SetBackgroundColour(self.GetBackgroundColour()) + bd.SetFont(font) + sizer.Add(bd, (2, 0), (1, 3), flag=wx.EXPAND) + msg = wx.TextCtrl( + self, + -1, + style=wx.TE_MULTILINE | wx.TE_RICH + ) + msg.ChangeValue(pl.text.replyPrompt) + + fnt = msg.GetFont() + fnt.SetPointSize(10) + msg.SetFont(fnt) + + def get_multi_line_text_extent(ctrl, txt): + slices = [ctrl.GetFullTextExtent(item)[0] for item in txt.split("\n")] + return max(slices) + + msg_w = get_multi_line_text_extent(msg, pl.text.replyPrompt) + ext_brdr = self.GetSize()[0] - self.GetClientSize()[0] + brdrs = 10 + ext_brdr + 2 * int_brdr + msg.SetForegroundColour(wx.GREEN) + sizer.Add(msg, (3, 0), (1, 3), flag=wx.EXPAND) + + def on_frame_char_hook(evt): + kc = evt.GetKeyCode() + if kc in (wx.WXK_RETURN, wx.WXK_NUMPAD_ENTER) and evt.ControlDown(): + pl.send_reply(self.pushDict, msg.GetValue()) + self.Close() + else: + evt.Skip() + + self.Bind(wx.EVT_CHAR_HOOK, on_frame_char_hook) + + def on_focus(evt): + if msg.GetValue() == pl.text.replyPrompt: + msg.SetForegroundColour(self.GetForegroundColour()) + msg.ChangeValue("") + evt.Skip() + + msg.Bind(wx.EVT_SET_FOCUS, on_focus) + + # def on_close(evt): + # # self.MakeModal(False) + # self.Destroy() + # + # self.Bind(wx.EVT_CLOSE, on_close) + + def on_reply(evt): + pl.send_reply(self.pushDict, msg.GetValue()) + self.Close() + evt.Skip() + + btn.Bind(wx.EVT_BUTTON, on_reply) + + main_sizer.Fit(self) + main_sizer.Layout() + self.Raise() + # self.MakeModal(True) + w, h = self.GetSize() + self.SetSize((max(w, msg_w + brdrs), 320)) + self.SetMinSize((min(w, msg_w + brdrs), min(h, 290))) + self.Show() + + +class ProxyDialog(wx.Frame): + def __init__(self, parent, plugin, labels, data): + wx.Frame.__init__( + self, + parent, + -1, + style=wx.DEFAULT_DIALOG_STYLE | wx.TAB_TRAVERSAL | wx.RESIZE_BORDER, + name="ProxyDialog" + ) + self.panel = parent + self.plugin = plugin + self.text = plugin.text + self.SetIcon(self.plugin.info.icon.GetWxIcon()) + self.labels = labels + self.data = data + self.password = None + + def show_proxy_dlg(self, title): + self.panel.Enable(False) + self.panel.dialog.buttonRow.cancelButton.Enable(False) + self.panel.EnableButtons(False) + self.SetTitle(title) + text = self.plugin.text + panel = wx.Panel(self) + + def wxst(label): + return wx.StaticText(panel, -1, label) + + labels = self.labels + data = self.data + rows = len(labels) + sizer = wx.GridBagSizer(5, 5) + + for row in range(rows): + sizer.Add(wxst(labels[row]), (row, 0), flag=wx.ALIGN_CENTER_VERTICAL) + txt_ctrl = wx.Size(1, 1) + if row not in (1, 3): + txt_ctrl = wx.TextCtrl(panel, -1, data[row]) + elif row == 1: + txt_ctrl = eg.SpinIntCtrl( + panel, + -1, + data[row], + min=0, + max=65535 + ) + elif row == 3: + self.password = eg.Password(data[row]) + txt_ctrl = wx.TextCtrl( + panel, + -1, + self.password.Get(), + style=wx.TE_PASSWORD + ) + sizer.Add(txt_ctrl, (row, 1), flag=wx.EXPAND) + + sizer.AddGrowableCol(1) + info = wxst(text.proxyInfo) + info.Enable(False) + sizer.Add(info, (rows, 0), (1, 2), flag=wx.ALIGN_CENTER_VERTICAL) + + line = wx.StaticLine( + panel, + -1, + style=wx.LI_HORIZONTAL + ) + btn1 = wx.Button(panel, wx.ID_OK) + btn1.SetLabel(text.ok) + btn2 = wx.Button(panel, wx.ID_CANCEL) + btn2.SetLabel(text.cancel) + btnsizer = wx.StdDialogButtonSizer() + btnsizer.AddButton(btn1) + btnsizer.AddButton(btn2) + btnsizer.Realize() + main_sizer = wx.BoxSizer(wx.VERTICAL) + main_sizer.Add(sizer, 1, wx.ALL | wx.EXPAND, 5) + main_sizer.Add(line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 5) + main_sizer.Add(btnsizer, 0, wx.EXPAND | wx.RIGHT, 10) + main_sizer.Add((1, 6)) + panel.SetSizer(main_sizer) + main_sizer.Fit(self) + + def on_close(evt): + # self.MakeModal(False) + self.panel.Enable(True) + self.panel.dialog.buttonRow.cancelButton.Enable(True) + self.panel.EnableButtons(True) + self.GetParent().GetParent().Raise() + self.Destroy() + evt.Skip() + + self.Bind(wx.EVT_CLOSE, on_close) + + def on_ok(evt): + data_ok = [] + children = sizer.GetChildren() + for child in range(1, len(children), 2): + ctrl = children[child].GetWindow() + if child != 7: + data_ok.append(ctrl.get_value()) + else: + self.password.Set(ctrl.get_value()) + data_ok.append(self.password) + self.GetParent().proxy = data_ok + self.Close() + evt.Skip() + + btn1.Bind(wx.EVT_BUTTON, on_ok) + + def on_cancel(evt): + self.Close() + evt.Skip() + + btn2.Bind(wx.EVT_BUTTON, on_cancel) + + main_sizer.Layout() + w, h = self.GetSize() + self.SetSize((max(w, 300), h)) + self.SetMinSize((max(w, 300), h)) + self.Raise() + # self.MakeModal(True) + self.Centre() + self.Show() + + +class MirrorNote(wx.Frame): + + def __init__(self, parent, plugin, dev, title, body, icon, app, wav, push_dict): + flag = self.flag = 'type' in push_dict and push_dict['type'] == 'sms' and push_dict['recip'] != "MULTI" + self.plugin = plugin + self.pushDict = push_dict + repl = 'conversation_iden' in push_dict + dev = dev.rstrip() + title = title.replace("&", "&&").rstrip() + body = body.replace("&", "&&") + body = body if body == body[:1000] else "%s ...." % body[:1000] + body = wrap(body, 80) + + if icon: + sbuf = StringIO(b64decode(icon)) + else: + sbuf = StringIO(b64decode(AVATAR)) + wximg = wx.Image(sbuf) + w = wximg.GetWidth() + h = wximg.GetHeight() + k = 96 + if w > k or h > k: + factor = max(w, h) / float(k) + x = int(min(w, h) / factor) + size = (k, x) if w >= h else (x, k) + wximg = wximg.Scale(size[0], size[1], wx.IMAGE_QUALITY_HIGH) + w = wximg.GetWidth() + h = wximg.GetHeight() + + if repl and w == h: + mask = fluffy_circle_mask(wximg.GetWidth()) + wximg.SetAlphaData(mask) + img = wx.Bitmap(wximg) + + if w < 72 and h < 72: + w, h = (72, 72) + + wx.Frame.__init__( + self, + parent, + -1, + '', + size=(400, h + 8), + style=wx.STAY_ON_TOP | wx.SIMPLE_BORDER + ) + bc = plugin.clr + self.SetBackgroundColour(bc) + self.delta = (0, 0) + bmp = StaticBitmap( + self, + -1, + img, + (3, 3), + (img.GetWidth(), + img.GetHeight()) + ) + app = app if (not plugin.hideBtn and not flag) else "" + lbl = plugin.text.disable % app if app else "" + label0 = wx.StaticText(self, -1, dev, (w + 10, 2)) if dev else FakeLbl() + label1 = wx.StaticText(self, -1, title) if title else FakeLbl() + label2 = wx.StaticText(self, -1, body) if body else FakeLbl() + label3 = wx.StaticText(self, -1, lbl) if app else FakeLbl() + label4 = wx.StaticText(self, -1, strftime(' %H:%M:%S')) + + font = label0.GetFont() + size = font.GetPointSize() + font.SetPointSize(size * 1.4) + label2.SetFont(font) + font.SetWeight(wx.FONTWEIGHT_BOLD) + label1.SetFont(font) + font = label0.GetFont() + font.SetStyle(wx.FONTSTYLE_ITALIC) + label3.SetFont(font) + + w0, h0 = label0.GetSize() + w1, h1 = label1.GetSize() + w2, h2 = label2.GetSize() + w3, h3 = label3.GetSize() + w4, h4 = label4.GetSize() + _, e0 = label0.GetTextExtent("X") + _, e1 = label1.GetTextExtent("X") + _, e2 = label2.GetTextExtent("X") + label1.SetPosition((w + 10, 19 - e0 + h0)) + label2.SetPosition((w + 10, 38 - e0 - e1 + h0 + h1)) + x0, y0 = label0.GetPosition() + x1, y1 = label1.GetPosition() + x2, y2 = label2.GetPosition() + + if app: + def on_click(event): + wx.CallAfter(plugin.disable_mirroring, self.pushDict, app) + if flag: + self.plugin.sms_dismiss() + else: + self.plugin.dismiss(self.pushDict) + self.Close() + event.Skip() + + h = max(y0 + h0, y1 + h1, y2 + h2) + png = wx.Bitmap( + join(eg.Icons.IMAGES_PATH, "disabled.png"), + wx.BITMAP_TYPE_PNG + ) + gr = png.ConvertToImage().ConvertToGreyscale().ConvertToBitmap() + hh = max(h + 8, h + 32 if repl else h + 22) + b = wx.BitmapButton( + self, + -1, + gr, + pos=(w + 10, hh - 20), + size=(16, 16), + style=wx.BORDER_NONE + ) + + label0.SetBackgroundColour(bc) + label1.SetBackgroundColour(bc) + label2.SetBackgroundColour(bc) + label3.SetBackgroundColour(bc) + label4.SetBackgroundColour(bc) + b.SetBackgroundColour(bc) + b.SetBitmapCurrent(png) + b.SetBitmapPressed(png) + b.Bind(wx.EVT_BUTTON, on_click) + label3.SetPosition((w + 32, hh - 18)) + else: + hh = None + if repl: + def on_btn(event): + if flag: + self.plugin.sms_dismiss() + else: + self.plugin.dismiss(deepcopy(self.pushDict)) + dlg = ReplyDialog( + parent, + plugin, + title if title else "", + body if body else "", + img, + app, + self.pushDict + ) + self.Show(False) + self.Close() + dlg.Centre() + dlg.show_reply_dialog() + event.Skip() + + idle_img = wx.Image(join(ICON_DIR, "Reply.png"), wx.BITMAP_TYPE_ANY) + pil = image_to_pil(idle_img) + if pil: + pil = resize(pil, 16) + io_file = StringIO() + pil.save(io_file, format='PNG') + io_file.seek(0) + data = io_file.read() + idle_bmp = b64encode(data) + else: + idle_bmp = None + + btn = FlatButton( + self, + -1, + idle_bmp=idle_bmp, + label=plugin.text.reply, + radius=5, + bmp_indent=3 + ) + btn.Bind(wx.EVT_BUTTON, on_btn) + wb, hb = btn.GetSize() + hh = hh if hh is not None else 8 + max(h, y0 + h0 + hb, y1 + h1 + hb, y2 + h2 + hb) + w = max(w0 + w4, w1, w2, w3 + wb + 37) + btn.SetPosition((w + 18 + w - wb - 5, hh - hb - 5)) + else: + w = max(w0 + w4, w1, w2, w3 + 22) + self.SetSize((w + 18 + w, hh)) + label4.SetPosition((w + 10 + w0 if w == w0 + w4 else w + 10 + w - w4, 2)) + self.Bind(wx.EVT_CLOSE, self.on_close_window) + + for win in (self, label0, label1, label2, label3, label4, bmp): + win.Bind(wx.EVT_RIGHT_UP, self.on_right_click) + win.Bind(wx.EVT_LEFT_DOWN, self.on_left_down) + win.Bind(wx.EVT_LEFT_UP, self.on_left_up) + win.Bind(wx.EVT_MOTION, self.on_mouse_move) + win.SetToolTip(plugin.text.tooltip) + + self.timer = wx.Timer(self) + if plugin.hide: + self.timer.Start(1000 * plugin.hide) + self.Bind(wx.EVT_TIMER, self.on_close_window) + + width, height = self.GetSize() + monitor_dimensions = GetMonitorDimensions() + try: + display_rect = monitor_dimensions[plugin.dspl] + except IndexError: + display_rect = monitor_dimensions[0] + x_offset, y_offset = plugin.offset + x_func, y_func = ALIGNMENT_FUNCS[plugin.alignment] + x = display_rect.x + x_func((display_rect.width - width), x_offset) + y = display_rect.y + y_func((display_rect.height - height), y_offset) + + self.SetPosition((x, y)) + if wav: + self.sound = wx.adv.Sound(wav) + if self.sound.IsOk(): + self.sound.Play(wx.adv.SOUND_ASYNC) + else: + self.sound = None + self.Show(True) + plugin.notification_ids[self.pushDict['notification_id']] = self + BringWindowToTop(self.GetHandle()) + + def on_close_window(self, event): + n_id = self.pushDict['notification_id'] + if n_id in self.plugin.notification_ids: + del self.plugin.notification_ids[n_id] + if hasattr(self, 'timer'): + self.timer.Stop() + del self.timer + if self.sound: + self.sound.Stop() + self.Destroy() + event.Skip() + + def on_right_click(self, evt): + if self.flag: + self.plugin.sms_dismiss() + else: + self.plugin.dismiss(self.pushDict) + self.Show(False) + self.Close() + evt.Skip() + + def on_left_down(self, evt): + x, y = self.ClientToScreen(evt.GetPosition()) + win = evt.GetEventObject() + if isinstance(win, ( + wx.StaticText, + StaticBitmap + )): + child_x, child_y = win.GetPosition() + x += child_x + y += child_y + self.CaptureMouse() + originx, originy = self.GetPosition() + dx = x - originx + dy = y - originy + self.delta = ([dx, dy]) + + def on_left_up(self, evt): + if self.HasCapture(): + self.ReleaseMouse() + evt.Skip() + + def on_mouse_move(self, evt): + if evt.Dragging() and evt.LeftIsDown(): + x, y = self.ClientToScreen(evt.GetPosition()) + fp = (x - self.delta[0], y - self.delta[1]) + self.Move(fp) diff --git a/plugins/RFXcom_xPL/__init__.py b/plugins/RFXcom_xPL/__init__.py index 4bdff3586..dfcc190a9 100644 --- a/plugins/RFXcom_xPL/__init__.py +++ b/plugins/RFXcom_xPL/__init__.py @@ -17,6 +17,7 @@ # 2009-12-19 0.4.0 compatible GUID added # 2009-12-02 Walter Kraembring: First version ############################################################################## +import wx eg.RegisterPlugin( name = "RFXcom_xPL", @@ -408,13 +409,8 @@ def Configure( panel.sizer.Add(staticBoxSizer, 0, wx.EXPAND) # Create a dropdown for schema - schemaCtrl = wx.Choice(parent=panel, pos=(10,10)) - list = ['x10.basic'] - schemaCtrl.AppendItems(strings=list) - if list.count(schema)==0: - schemaCtrl.Select(n=0) - else: - schemaCtrl.SetSelection(int(list.index(schema))) + schemaCtrl = wx.Choice(parent=panel, pos=(10,10), choices=['x10.basic']) + schemaCtrl.Select(n=0) schemaCtrl.Bind(wx.EVT_CHOICE, self.OnChoice) staticBox = wx.StaticBox(panel, -1, text.textBoxSchema) @@ -425,14 +421,13 @@ def Configure( panel.sizer.Add(staticBoxSizer, 0, wx.EXPAND) # Create a dropdown for protocol - protocolCtrl = wx.Choice(parent=panel, pos=(10,10)) list = [ 'Nexa', 'Intertechno', 'Proove', 'HomeEasy' ] - protocolCtrl.AppendItems(strings=list) + protocolCtrl = wx.Choice(parent=panel, pos=(10,10), choices=list) if list.count(protocol)==0: protocolCtrl.Select(n=0) else: @@ -447,12 +442,11 @@ def Configure( panel.sizer.Add(staticBoxSizer, 0, wx.EXPAND) # Create a dropdown for house code - houseCtrl = wx.Choice(parent=panel, pos=(10,10)) list = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P' ] - houseCtrl.AppendItems(strings=list) + houseCtrl = wx.Choice(parent=panel, pos=(10,10), choices=list) if list.count(house)==0: houseCtrl.Select(n=0) else: @@ -467,12 +461,11 @@ def Configure( panel.sizer.Add(staticBoxSizer, 0, wx.EXPAND) # Create a dropdown for device code - deviceCtrl = wx.Choice(parent=panel, pos=(10,10)) list = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16' ] - deviceCtrl.AppendItems(strings=list) + deviceCtrl = wx.Choice(parent=panel, pos=(10,10), choices=list) if list.count(pdevice)==0: deviceCtrl.Select(n=0) else: @@ -487,16 +480,12 @@ def Configure( deviceCtrl.Bind(wx.EVT_CHOICE, self.OnChoice) # Create a dropdown for command - commandCtrl = wx.Choice(parent=panel, pos=(10,10)) - list = [ - 'on', - 'off' - ] - commandCtrl.AppendItems(strings=list) - if list.count(command)==0: - commandCtrl.Select(n=0) - else: + list = ['on', 'off'] + commandCtrl = wx.Choice(parent=panel, pos=(10,10), choices=list) + try: commandCtrl.SetSelection(int(list.index(command))) + except ValueError: + commandCtrl.SetSelection(0) staticBox = wx.StaticBox(panel, -1, text.textBoxCommand) staticBoxSizer = wx.StaticBoxSizer(staticBox, wx.VERTICAL) @@ -606,9 +595,8 @@ def Configure( panel.sizer.Add(staticBoxSizer, 0, wx.EXPAND) # Create a dropdown for schema - schemaCtrl = wx.Choice(parent=panel, pos=(10,10)) list = ['homeeasy.basic'] - schemaCtrl.AppendItems(strings=list) + schemaCtrl = wx.Choice(parent=panel, pos=(10,10), choices=list) if list.count(schema)==0: schemaCtrl.Select(n=0) else: @@ -633,12 +621,11 @@ def Configure( panel.sizer.Add(staticBoxSizer, 0, wx.EXPAND) # Create a dropdown for device unit - deviceCtrl = wx.Choice(parent=panel, pos=(10,10)) list = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', 'group' ] - deviceCtrl.AppendItems(strings=list) + deviceCtrl = wx.Choice(parent=panel, pos=(10,10), choices=list) if list.count(unit)==0: deviceCtrl.Select(n=0) else: @@ -653,9 +640,12 @@ def Configure( deviceCtrl.Bind(wx.EVT_CHOICE, self.OnChoice) # Create a dropdown for command - commandCtrl = wx.Choice(parent=panel, pos=(10,10)) - list = ['on', 'off', 'preset'] - commandCtrl.AppendItems(strings=list) + llllist=['on', 'off', 'preset'] + commandCtrl = wx.Choice( + parent=panel, + pos=(10,10), + choices=list + ) if list.count(command)==0: commandCtrl.Select(n=0) else: @@ -670,12 +660,11 @@ def Configure( commandCtrl.Bind(wx.EVT_CHOICE, self.OnChoice) # Create a dropdown for dim level - levelCtrl = wx.Choice(parent=panel, pos=(10,10)) list = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15' ] - levelCtrl.AppendItems(strings=list) + levelCtrl = wx.Choice(parent=panel, pos=(10,10), choices=list) if list.count(level)==0: levelCtrl.Select(n=0) else: diff --git a/plugins/RMBridge/__init__.py b/plugins/RMBridge/__init__.py new file mode 100644 index 000000000..69ca2226a --- /dev/null +++ b/plugins/RMBridge/__init__.py @@ -0,0 +1,794 @@ +### Broadlink RM2 Client for use with Android RM Bridge +### Can send 433MHz RF and IR commands. +### Based on the LIRC plugin by jinxdone (jinxdone@earthling.net) +### but horribly hacked for the RM bridge... Don't judge me. +### It only allows learning to the first discovered Broadlink RM2 +### If you have more than one, disconnect the others whilst learning. +### Loads of code in here still which I don't need or understand. +### You are welcome to clean it all up yourself :) +############################################################################## + + +########################## BEGIN PLUGIN DESCRIPTION ########################## +### +name = "RM Bridge" +kind = "remote" +version = "0.0.9" +author = "DPearce" +description = """ +Plugin for sending commands to a Broadlink RM2 RF and IR sender via +the Android RM Bridge software available at: http://rm-bridge.fun2code.de/ + +*The configurable options are:* + +- **Target Host** + Host and port of the RM Bridge. + +- **Auto-retry settings** + If the connection can not be established, try to (re)connect + a number of times with a set interval between retries. Set either + value to 0 to disable. + +- **List remotes from the RM Bridge** + Attempts to send a 'LIST' command to the RM Bridge, + which tries to fetch a list of configured shortcuts. + +""" +### +########################### END PLUGIN DESCRIPTION ########################### + + +eg.RegisterPlugin( + name=name, + description=description, + author=author, + version=version, + kind=kind, + canMultiLoad=True, + url="http://rm-bridge.fun2code.de/" +) + +import socket, asyncore, time, threading, urllib2, json + +globHost = 1 +globPort = 1 +globRetries = 1 +globTimeout = 2 +globCommandList = [] + + +############################## BEGIN TEXT CLASS ############################## +### +class Text: + version = version + title = "RM Bridge plugin v" + version + " by DPearce" + host = "Host:" + port = "Port:" + hosttitle = "RM Bridge Target Host" + onlyfirst = "Only use the first event" + addremote = "Add remote-name" + addrepeat = "Add repeat-tag" + ignoretime = "Ignoretime after first event (ms)" + timeout = "Timeout for response (s)" + attemptlist = "List remotes from the RM Bridge" + retrytitle = "Auto-retry connection on failure" + maxretries = "Retries" + retryinterval = "Timeout (s)" + noremotesfound = "No Codes found!" + noremotesfoundtip = "You can disable sending LIST on connect if it does not work on your setup" + disconnected = "Disconnected from the LIRC server!" + disconnectedtip = "Restart the plugin to manually reconnect (Right-click -> Disable, Enable)" + reconnect = "Attempting to reconnect to the LIRC-server" + reconnectinit = "Attempting to reconnect %i times with %i seconds between attempts" + reconnectgiveup = "Giving up reconnection after %i failed retries" + reconnected = "Auto-connected successfully after %i attempts" + startupexception = "Could not connect to the LIRC server!" + erroneousresponse = "Received an erroneous response from the LIRC-server" + malformedresponse = "Received an malformed response from the LIRC-server" + suspendconnection = "Closing the connection to the LIRC-server.." + resumeconnection = "Resuming the connection to the LIRC-server.." + + +### +############################### END TEXT CLASS ############################### + + +class RM_Bridge(asyncore.dispatcher): + text = Text + + ### Initializing all the variables and open the tcp connection.. + ### + def __init__( + self, host, port, handler, onlyfirst, + addremote, addrepeat, ignoretime + ): + global globPort, globHost + globHost = host + globPort = port + self.handler = handler + self.onlyfirst = onlyfirst + self.addremote = addremote + self.addrepeat = addrepeat + self.ignoretime = ignoretime + self.sbuffer = "" + # asyncore.dispatcher.__init__(self) + # self.create_socket(socket.AF_INET, socket.SOCK_STREAM) + # eg.RestartAsyncore() + # self.connect((host, port)) + self.buffer = "" + self.delimeter = '' + self.receivedresponse = 0 + self.gracefulclose = 0 + + ### Some helper functions.. + ### + def mscounter(self): + if time.time() * 1000 - self.recvtime * 1000 < self.ignoretime: + return False + else: + return True + + ### Tell asyncore to monitor when we can send our data + ### when there is data in our send-buffer. + ### + def writable(self): + return (len(self.sbuffer) > 0) + + ### Sends data from the buffer when called + def handle_write(self): + sent = self.send(self.sbuffer) + self.sbuffer = self.sbuffer[sent:] + + ### This will be run if the tcp connection is disconnected + ### or if we want to close it ourselves. + ### + def handle_close(self): + if self.gracefulclose: + # eg.actionThread.Call(self.handler.HandlePrint, self.text.disconnected) + self.gracefulclose = 0 + else: + eg.actionThread.Call(self.handler.HandleWarning, self.text.disconnected) + self.handler.ReconnectTimer() + self.handler.reader = None + self.close() + + ### This will be run if theres a problem opening the connection + ### + def handle_expt(self): + self.handler.reader = None + self.close() + eg.actionThread.Call(self.handler.HandleWarning, self.text.startupexception) + + ### This gets run whenever asyncore detects there is data waiting + ### for us to be read at the socket, so this is where it's all at.. + ### + def handle_read(self): + # Append data from the socket onto a buffer + self.buffer += self.recv(4096) + # Attempt to detect delimeter used.. + if self.delimeter == '': + if self.buffer.count('\r\n'): + self.delimeter = '\r\n' + elif self.buffer.count('\n'): + self.delimeter = '\n' + elif self.buffer.count('\r'): + self.delimeter = '\r' + else: + self.delimeter = '\r\n' + # (if theres anything on the right of the last linebreak, it must be + # some incomplete data caused by tcp/ip fragmenting our strings..) + # hopefully the rest of it will be there on the next run.. + self.events = self.buffer.split(self.delimeter) + self.buffer = self.events.pop() + + # loop through all the received events, incase there are + # more than one to be processed + # + # skip processing any listings or error messages.. (BEGIN -> END messages) + i = -1 + skipit = 0 + for self.event in self.events: + i += 1 + if skipit == 1: + if self.event == "END": + skipit = 0 + continue + + # If we receive BEGIN it may be a response to some of the commands + # we sent.. so parse it and data following it for useful information + if self.event == "BEGIN": + skipit = 1 + try: + # If our input is is BEGIN,,ERROR + if self.events[i + 2] == "ERROR": + self.receivedresponse = 1 + if len(self.events) > int(self.events[i + 4]) + 4: + eg.actionThread.Call(self.handler.HandleWarning, self.text.erroneousresponse + \ + "\nMessage data: " + str( + self.events[i + 5:i + int(self.events[i + 4]) + 5])) + else: + eg.actionThread.Call(self.handler.HandleWarning, self.text.erroneousresponse) + # If our input is is BEGIN,LIST,SUCCESS + if [self.events[i + 1], self.events[i + 2]] == ["LIST", "SUCCESS"]: + if len(self.events) > int(self.events[i + 4]) + 4: + self.handler.Send.remotelist = self.events[i + 5:(int(self.events[i + 4]) + 5)] + for remote in self.handler.Send.remotelist: + self.sbuffer += "LIST " + remote + "\n" + + else: + # If our input is BEGIN,LIST ,SUCCESS + if [self.events[i + 1].split()[0], self.events[i + 2]] == ["LIST", "SUCCESS"]: + self.remote = self.events[i + 1].split()[1] + if self.remote != "": + + # Sanity check.. if there is not enough data skip it.. + if len(self.events) > int(self.events[i + 4]) + 4: + self.checknum = 0 + self.checkmatch = 0 + + # Check if we want to update an old one or if we have a new remote list + for self.check in self.handler.Send.remotes: + # Flush out any N/A remotes (config dialog has been opened before getting a listing) + if self.check[0] == 'N/A': + self.handler.Send.remotes = [] + if self.remote == self.check[0]: + self.handler.Send.remotes[self.checknum] = [ + self.remote, + self.events[i + 5:(int(self.events[i + 4]) + i + 5)] + ] + self.checkmatch = 1 + self.checknum += 1 + if self.checkmatch == 0: + self.handler.Send.remotes.append( + [ + self.remote, + self.events[i + 5:(int(self.events[i + 4]) + i + 5)] + ] + ) + except IndexError: + self.receivedresponse = 1 + eg.actionThread.Call(self.handler.HandleWarning, self.text.malformedresponse) + + # split a single event into atoms + self.event = self.event.split() + # some checking never hurts.. + if len(self.event) != 4: continue + + # shape the eventstring the way the user wants it + # (add remote name, add is-repeat-tag, discard repeat events..) + if self.addremote: + self.egevent = self.event[3] + ":" + self.event[2] + else: + self.egevent = self.event[2] + + if self.event[1] == "00": + if not self.onlyfirst: + if self.ignoretime: + self.recvtime = time.time() + self.handler.TriggerEvent(self.egevent) + else: + if self.onlyfirst: + break + if self.addrepeat: + self.egevent = self.egevent + "++" + if self.ignoretime: + if self.mscounter(): + self.handler.TriggerEvent(self.egevent) + else: + self.handler.TriggerEvent(self.egevent) + + ### mandatory, but we won't need these.. + ### + def handle_connect(self): + pass + + +### The EventGhost classes and functions are over here.. +class RMBridge(eg.RawReceiverPlugin): + text = Text + + class RMBridgeClientError(Exception): + "RMBridge Client Error:" + + def __init__(self): + eg.RawReceiverPlugin.__init__(self) + self.AddAction(self.Send) + + def __start__( + self, host, port, onlyfirst, addremote, + addrepeat, ignoretime, timeout, attemptlist, maxretries, retryinterval + ): + text = self.text + self.port = port + self.host = host + self.onlyfirst = onlyfirst + self.addremote = addremote + self.addrepeat = addrepeat + self.timeout = timeout / 1000.0 + global globTimeout + globTimeout = retryinterval + self.ignoretime = ignoretime + self.attemptlist = attemptlist + self.maxretries = maxretries + global globRetries + globRetries = maxretries + self.currentattempt = 0 + self.retryinterval = retryinterval + self.Send.remotes = [] + self.Send.remotelist = [] + self.InitConnection() + # Test if connection is formed succesfully, if not trigger retry + # if not self.CheckConnection(): + # self.ReconnectTimer() + + def __stop__(self): + # if self.reader: + # self.reader.gracefulclose = 1 + # self.reader.handle_close() + self.reader = None + + def InitConnection(self): + self.reader = RM_Bridge( + self.host, + self.port, + self, + self.onlyfirst, + self.addremote, + self.addrepeat, + self.ignoretime + ) + # Send LIST commands to the server.. + # In order to get remote-names and buttons in response + # print "List Remote Commands" + + if self.attemptlist: + # print "Listing Commands on "+ globHost + ':' + str(globPort) + try: + r = urllib2.urlopen('http://' + globHost + ':' + str(globPort) + '/?cmd={api_id:1006}', None, + globTimeout) + stat = r.read() + codes = json.loads(stat) + # print codes + global globCommandList + globCommandList = [""] + for ListItem in codes["list"]: + # print ListItem["name"] + globCommandList.append(ListItem["name"]) + except: + self.PrintError("Listing commands from RM Bridge Failed") + globCommandList.sort() + # print globCommandList + + # self.reader.sbuffer += "LIST\n" + # Have to wait a bit and force asyncore to poll to check for a response + # time.sleep(0.05) + # asyncore.poll() + # self.checkListingTimer = threading.Timer(4, self.CheckListingResults) + # self.checkListingTimer.start() + time.sleep(0.5) + # asyncore.poll() + + def CheckListingResults(self): + + if len(self.Send.remotes) == 0 or self.Send.remotes == ['N/A', ['N/A']]: + self.HandleWarning(self.text.noremotesfound) + self.HandlePrint(self.text.noremotesfoundtip) + + def HandlePrint(self, msg): + print("RMBridge Client: %s" % msg) + + def HandleWarning(self, msg): + self.PrintError("RMBridge Client: %s" % msg) + + def HandleException(self, msg): + raise self.RMBridgeClientError(msg) + + def OnComputerSuspend(self, suspendType): + pass + # if self.reader: + # self.reader.gracefulclose = 1 + # self.reader.handle_close() + # self.HandleWarning(self.text.suspendconnection) + self.reader = None + + def OnComputerResume(self, suspendType): + pass + # self.HandleWarning(self.text.resumeconnection) + # self.InitConnection() + # Test if connection is formed succesfully, if not trigger retry + # if not self.CheckConnection(): + # self.ReconnectTimer() + + def CheckConnection(self): + return True + # if self.maxretries == 0 or self.retryinterval == 0: + # return True + # time.sleep(0.05) + # if not self.reader: + # return False + # try: + # self.reader.sbuffer = 'VERSION\n' + # except: + # return False + # time.sleep(0.05) + # asyncore.poll() + # if not self.reader.connected: + # return False + # return True + + def ReconnectTimer(self): + # If the connection drops try to reconnect n times with a pre-set + # time between the attempts. Drop conneciton attempts after n failures + if self.maxretries == 0 or self.retryinterval == 0: + return + self.reconnecttimer = threading.Timer(self.retryinterval, self.Reconnect) + if self.currentattempt == 0: + self.HandlePrint(self.text.reconnectinit % (self.maxretries, self.retryinterval)) + if self.currentattempt < self.maxretries: + self.reconnecttimer.start() + else: + self.HandlePrint(self.text.reconnectgiveup % self.maxretries) + + def Reconnect(self): + # First check if we are connected, if not then retry and check immediately again + # if we got connected successfully (asyncore wont seem to update connected status + # unless some traffic is sent/received so put one newline in the send buffer and poll it) + if self.CheckConnection(): + return + else: + self.currentattempt += 1 + self.InitConnection() + if self.CheckConnection(): + self.HandlePrint(self.text.reconnected % (self.currentattempt - 1)) + else: + self.ReconnectTimer() + + def Configure( + self, + host="192.168.1.145", + port=7474, + onlyfirst=False, + addremote=False, + addrepeat=False, + ignoretime=0, + timeout=200, + attemptlist=True, + maxretries=3, + retryinterval=3, + ): + + text = self.text + panel = eg.ConfigPanel(self) + TitleText = wx.StaticText(panel, -1, text.title, style=wx.ALIGN_CENTER) + HostText = wx.StaticText(panel, -1, text.host) + HostCtrl = wx.TextCtrl(panel, -1, host) + PortText = wx.StaticText(panel, -1, text.port) + PortCtrl = eg.SpinIntCtrl(panel, -1, port, max=65535) + AttemptListCtrl = wx.CheckBox(panel, -1, text.attemptlist) + AttemptListCtrl.SetValue(attemptlist) + + RetryTitle = wx.StaticText(panel, -1, text.retrytitle) + MaxRetriesText = wx.StaticText(panel, -1, text.maxretries) + MaxRetriesCtrl = eg.SpinIntCtrl(panel, -1, maxretries) + RetryIntervalText = wx.StaticText(panel, -1, text.retryinterval) + RetryIntervalCtrl = eg.SpinIntCtrl(panel, -1, retryinterval, max=65535) + RetryBox = wx.BoxSizer() + RetryBox.Add(MaxRetriesCtrl, 0, wx.ALL, 2) + RetryBox.Add(MaxRetriesText, 0, wx.ALL, 5) + RetryBox.Add(RetryIntervalCtrl, 0, wx.ALL, 2) + RetryBox.Add(RetryIntervalText, 0, wx.ALL, 5) + + HostSizer = wx.FlexGridSizer(cols=3) + HostSizer.Add(HostText, 0, wx.ALL, 5) + HostSizer.Add(HostCtrl, 0, wx.ALL, 3) + HostSizer.Add(RetryTitle, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 54) + HostSizer.Add(PortText, 0, wx.ALL, 5) + HostSizer.Add(PortCtrl, 0, wx.ALL, 3) + HostSizer.Add(RetryBox, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 50) + + HostBox = wx.StaticBox(panel, -1, text.hosttitle) + shbSizer = wx.StaticBoxSizer(HostBox) + shbSizer.Add(HostSizer, 0, wx.ALIGN_CENTER | wx.ALL, 5) + + OnlyFirstCtrl = False # wx.CheckBox(panel, -1, text.onlyfirst) + # OnlyFirstCtrl.SetValue(onlyfirst) + AddRemoteCtrl = False # wx.CheckBox(panel, -1, text.addremote) + # AddRemoteCtrl.SetValue(addremote) + AddRepeatCtrl = False # wx.CheckBox(panel, -1, text.addrepeat) + # AddRepeatCtrl.SetValue(addrepeat) + IgnoreTimeText = "" # wx.StaticText(panel, -1, text.ignoretime) + IgnoreTimeCtrl = 1 # eg.SpinIntCtrl(panel, -1, ignoretime, max=60000) + TimeoutText = "" # wx.StaticText(panel, -1, text.timeout) + TimeoutCtrl = 1 # eg.SpinIntCtrl(panel, -1, timeout, max=10000) + + IgnoreBox = wx.BoxSizer() + # IgnoreBox.Add(IgnoreTimeCtrl, 0, wx.ALL, 2) + # IgnoreBox.Add(IgnoreTimeText, 0, wx.ALL, 5) + + TimeoutBox = wx.BoxSizer() + # TimeoutBox.Add(TimeoutCtrl, 0, wx.ALL, 2) + # TimeoutBox.Add(TimeoutText, 0, wx.ALL, 5) + + FirstLineBox = wx.BoxSizer() + # FirstLineBox.Add(OnlyFirstCtrl, 0, wx.ALL, 5) + FirstLineBox.Add(AttemptListCtrl, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 120) + + BoxSizer = wx.BoxSizer(wx.VERTICAL) + BoxSizer.Add(FirstLineBox, 0, wx.ALL, 0) + # BoxSizer.Add(AddRemoteCtrl, 0, wx.ALL, 5) + # BoxSizer.Add(AddRepeatCtrl, 0, wx.ALL, 5) + # BoxSizer.Add(IgnoreBox, 0, wx.ALL, 3) + # BoxSizer.Add(TimeoutBox, 0, wx.ALL, 3) + + panel.sizer.Add(TitleText, 0, wx.EXPAND) + panel.sizer.Add(shbSizer, 0, wx.EXPAND) + panel.sizer.Add(BoxSizer, 0, ) + + while panel.Affirmed(): + panel.SetResult( + HostCtrl.GetValue(), + PortCtrl.GetValue(), + OnlyFirstCtrl, + AddRemoteCtrl, + AddRepeatCtrl, + IgnoreTimeCtrl, + TimeoutCtrl, + AttemptListCtrl.GetValue(), + MaxRetriesCtrl.GetValue(), + RetryIntervalCtrl.GetValue() + ) + + # Action class for sending strings to the server + class Send(eg.ActionClass): + + ########################## BEGIN ACTION DESCRIPTION ########################## + ### + name = "Send Command" + description = """ +Sends a command to the RM Bridge for transmitting IR/RF signals. + +The plugin can fetch information about the available command +shortcuts from the RM Bridge. If no information has been +available or some other problem occurred the command field will +be empty. + +*The configurable options are:* + +- **Shortcut Command** + Available commands if received from the RM Bridge. + + +- **Command** + The actual string to send, you can use either the Command selection or just + type in the string you want to send by hand. The actual string to send is + always what is in this field regardless of what is selected in the fields above. + +""" + + ### + ########################### END ACTION DESCRIPTION ########################### + + ############################## BEGIN TEXT CLASS ############################## + ### + class Text: + selectiontitle = "Command selection" + actcmd = "Command" + actremote = "RM Bridge Shorcut Command" + actaction = "Action" + actrepeat = "Repeat" + actstring = "Command:" + acthelp = ( + "You may use the dropdown in the Command selection to select a string to send.\n" + "Or simply just type the string directly into the field below.\n\n" + "Clicking the Learn button will create or replace the command on the RM Bridge named\n" + "in the command box upon a successful learn. You have 5 seconds to learn the IR/RF code" + ) + acterrormsg = "Error while sending event! Send buffer is missing!" + + ### + ############################### END TEXT CLASS ############################### + + text = Text + + class RMBridgeClientError(Exception): + "RMBridge Client Error:" + + # The workhorse method.. (how tiny - not any more:( )! + def __call__(self, msg): + BridgeURL = "http://" + str(globHost) + ":" + str(globPort) + retries = int(globRetries) + # print BridgeURL + str(retries) + for t in range(1, retries + 1): + try: + r = urllib2.urlopen(BridgeURL + "/code/" + msg, None, globTimeout) + stat = r.read() + except: + self.PrintError("RM Bridge connection failed to " + BridgeURL) + continue + # print "RM Status: " + stat + if "send data success" in stat: + return 0 + if "data error" in stat: + self.PrintError("RM Bridge: " + stat) + return 1 + if "No matching code" in stat: + break + self.PrintError("RM Bridge: " + stat + " - Retry: " + str(t) + "of" + retries) + + # print "sending:" + msg + # try: self.plugin.reader.sbuffer + # except AttributeError: + # self.plugin.HandleWarning(self.text.acterrormsg) + # else: + # self.plugin.reader.sbuffer = msg + "\n" + # asyncore.poll() + + def UpdateRemoteList(self): + # print "Remotes IN" + self.remotelist = [] + # for remote in self.remotes: + # self.remotelist.append(remote[0]) + + def Configure(self, actionStr=""): + text = self.text + actionParam = "0" + if len(self.remotes) == 0: + self.remotes.append(["N/A", ['N/A']]) + self.remotelist = ["N/A"] + else: + self.UpdateRemoteList() + remotes = self.remotes + # remotelist = self.remotelist + remotelist = globCommandList + + def OnCmdChoice(event): + UpdateActionText() + + def OnRemoteChoice(event): + remotes = globCommandList + # actionCtrl.SetItems(remotes[remoteCtrl.GetSelection()][1]) + # actionCtrl.SetSelection(0) + UpdateActionText() + + def OnActionChoice(event): + UpdateActionText() + + def OnRepeatSpin(event): + UpdateActionText() + + def UpdateActionText(): + # Add an empty space at the end of the string to send, atleast + # WinRMBridge seems to require it in the case the repeat value is omitted + newstr = remotelist[remoteCtrl.GetSelection()] + # if cmdCtrl.GetSelection() == 0: + # if repeatCtrl.GetValue() != 0: + # newstr = newstr + str(repeatCtrl.GetValue()) + textCtrl.SetValue(newstr) + + def UpdateCtrl(string, list, control): + i = 0 + for item in list: + if string == item: + control.SetSelection(i) + return True + else: + i += 1 + return False + + def IsInt(str): + try: + num = int(str) + except ValueError: + return 0 + return num + + def CheckLearned(BridgeURL, mac, cmdName): + # print BridgeURL, mac, cmdName + try: + r = urllib2.urlopen(BridgeURL + '/?cmd={api_id:1003,mac:"' + mac + '",name:' + cmdName + '}', None, + 2) + stat = r.read() + if "study mode success" in stat: + stat = "Learning Complete. New code stored as " + cmdName + except: + stat = "Read/Store learned code failed" + print "RM Bridge: " + stat + + def LearnCode(event): + cmdName = textCtrl.GetValue() + BridgeURL = "http://" + str(globHost) + ":" + str(globPort) + try: + r = urllib2.urlopen(BridgeURL + '/?cmd={api_id:1000}', None, 2) + stat = r.read() + devices = json.loads(stat) + AllDev = devices["list"] + for dev in AllDev: + mac = dev["mac"] + if mac: + # print "Entering Learn mode on " + mac + try: + r = urllib2.urlopen(BridgeURL + '/?cmd={api_id:1002,mac:"' + mac + '"}', None, 2) + stat = r.read() + # print stat + if "study mode success" in stat: + stat = "Learning on " + mac + " - Press remote button to learn within 5 seconds" + threading.Timer(5, CheckLearned, [BridgeURL, mac, cmdName]).start() + else: + stat = "Enter learn mode failed" + except: + stat = "Send learn mode command failed" + except: + stat = "Listing devices from RM Bridge failed" + + print "RM Bridge: " + stat + + panel = eg.ConfigPanel(self) + + cmdlist = ["S"] + # cmdCtrl = wx.Choice(panel, -1, choices=cmdlist) + # cmdCtrl.SetSelection(0) + # cmdText = wx.StaticText(panel, -1, text.actcmd) + + remoteCtrl = wx.Choice(panel, -1, choices=remotelist) + remoteCtrl.SetSelection(0) + remoteText = wx.StaticText(panel, -1, text.actremote) + + # actionCtrl = wx.Choice(panel, -1, choices=remotes[0][1]) + # actionCtrl.SetSelection(0) + # actionText = wx.StaticText(panel, -1, text.actaction) + + # repeatCtrl = eg.SpinIntCtrl(panel, -1, actionParam, max=600) + # repeatText = wx.StaticText(panel, -1, text.actrepeat) + + stringText = wx.StaticText(panel, -1, text.actstring) + textCtrl = wx.TextCtrl(panel, -1, actionStr) + actionhelpText = wx.StaticText(panel, -1, text.acthelp) + + LearnButton = wx.Button(panel, 1, "Learn Remote Command") + LearnButton.Bind(wx.EVT_BUTTON, LearnCode) + + SelectionSizer = wx.FlexGridSizer(rows=2, cols=1, gap=(10, 10)) + # SelectionSizer.Add(cmdText, 0, wx.LEFT, 5) + SelectionSizer.Add(remoteText, 0, wx.LEFT, 5) + # SelectionSizer.Add(actionText, 0, wx.LEFT, 5) + # SelectionSizer.Add(repeatText, 0, wx.LEFT, 5) + # SelectionSizer.Add(cmdCtrl, 0, wx.ALL, 3) + SelectionSizer.Add(remoteCtrl, 0, wx.ALL, 3) + # SelectionSizer.Add(actionCtrl, 0, wx.ALL, 3) + # SelectionSizer.Add(repeatCtrl, 0, wx.ALL, 3) + + SelectionBox = wx.StaticBox(panel, -1, text.selectiontitle) + ssbSizer = wx.StaticBoxSizer(SelectionBox) + ssbSizer.Add(SelectionSizer, 0, wx.ALIGN_CENTER | wx.ALL, 5) + + BoxSizer = wx.BoxSizer(wx.HORIZONTAL) + BoxSizer.Add(stringText, 0, wx.ALL, 5) + BoxSizer.Add(textCtrl, 1, wx.EXPAND) + BoxSizer.Add(LearnButton, 1, wx.EXPAND) + + panel.sizer.Add(ssbSizer, 0, wx.EXPAND) + panel.sizer.Add(actionhelpText, 0, wx.ALIGN_LEFT | wx.ALL, 10) + panel.sizer.Add(BoxSizer, 0, wx.EXPAND | wx.ALL, 5) + + # cmdCtrl.Bind(wx.EVT_CHOICE, OnCmdChoice) + remoteCtrl.Bind(wx.EVT_CHOICE, OnRemoteChoice) + + # actionCtrl.Bind(wx.EVT_CHOICE, OnActionChoice) + # repeatCtrl.Bind(eg.EVT_VALUE_CHANGED, OnRepeatSpin) + + def UpdateControls(): + items = actionStr.split() + if len(items) >= 3: + if UpdateCtrl(items[0], cmdlist, cmdCtrl): + if UpdateCtrl(items[1], remotelist, remoteCtrl): + actionCtrl.SetItems(remotes[remoteCtrl.GetSelection()][1]) + UpdateCtrl(items[2], remotes[remoteCtrl.GetSelection()][1], actionCtrl) + if len(items) >= 4: + repeat = IsInt(items[3]) + if 0 < repeat <= 600: + repeatCtrl.SetValue(repeat) + + UpdateControls() + + while panel.Affirmed(): + panel.SetResult(textCtrl.GetValue()) diff --git a/plugins/RMBridge/icon.png b/plugins/RMBridge/icon.png new file mode 100644 index 000000000..00bcc9d58 Binary files /dev/null and b/plugins/RMBridge/icon.png differ diff --git a/plugins/RadioSure/__init__.py b/plugins/RadioSure/__init__.py index 696defead..f99a58e1e 100644 --- a/plugins/RadioSure/__init__.py +++ b/plugins/RadioSure/__init__.py @@ -143,9 +143,10 @@ ) #=============================================================================== +import wx import wx.grid as gridlib import subprocess -import wx.calendar as wxCal +import wx.adv as wxCal from wx.lib.masked import EVT_TIMEUPDATE from subprocess import Popen from os import listdir, remove, rename @@ -185,6 +186,9 @@ from eg.Classes.MainFrame.TreeCtrl import EventDropTarget IMAGES_DIR = eg.IMAGES_DIR + +month_name = [name.decode('mbcs') for name in month_name] + ARIAL_INFO = "0;-35;0;0;0;700;0;0;0;0;3;2;1;34;Arial" TAHOMA_INFO = "0;-27;0;0;0;400;0;0;0;0;3;2;1;34;Tahoma" @@ -628,7 +632,7 @@ def OnButton(evt): self.SetReturnCode(evt.GetId()) self.Close() evt.Skip() - wx.EVT_BUTTON(self, -1, OnButton) + self.Bind(wx.EVT_BUTTON, OnButton) def onClose(evt): if self.GetReturnCode() not in (wx.ID_OK, wx.ID_CANCEL, wx.ID_YES, wx.ID_NO): @@ -636,7 +640,6 @@ def onClose(evt): if self.timer: self.timer.Stop() del self.timer - self.MakeModal(False) self.GetParent().Raise() self.Destroy() self.Bind(wx.EVT_CLOSE, onClose) @@ -698,7 +701,7 @@ def ShowHolidaysFrame(self): calW, calH = self.fixWin.GetWinSize() fixLbl = wx.StaticText(self, -1, text.fixBoxLabel) variableLbl = wx.StaticText(self, -1, text.varBoxLabel) - widthList = [self.GetTextExtent("30. %s 2000" % month)[0] + + widthList = [self.GetFullTextExtent(u"30. %s 2000" % month)[0] + SYS_VSCROLL_X for month in list(month_name)] widthList.append(fixLbl.GetSize()[0]) widthList.append(variableLbl.GetSize()[0]) @@ -768,12 +771,10 @@ def ShowHolidaysFrame(self): self.Bind(wx.EVT_LISTBOX, self.onHolBoxSel) sizer.Layout() self.SetSizer(sizer) - self.MakeModal(True) self.Show(True) def onClose(self, evt): - self.MakeModal(False) self.GetParent().GetParent().Raise() self.Destroy() @@ -878,7 +879,8 @@ def __init__(self, parent, yearChange, first_day): | wxCal.CAL_SEQUENTIAL_MONTH_SELECTION | wxCal.CAL_SHOW_SURROUNDING_WEEKS ) - self.cal.EnableYearChange(yearChange) + if not yearChange: + self.cal.SetDateRange(wx.DateTime(1, 0, wx.DateTime.Today().GetYear())) sz = self.cal.GetBestSize() self.SetSize(sz) self.cal.Bind(wxCal.EVT_CALENDAR_DAY, self.OnChangeDay) @@ -909,7 +911,7 @@ def OnChangeDay(self, evt): self.holidays.sort() date = self.cal.GetDate() self.cal.SetHoliday(day) - date.AddDS(wx.DateSpan.Day()) + date.Add(wx.DateSpan.Day()) self.cal.SetDate(date) self.Refresh() evt.Skip() @@ -957,16 +959,16 @@ def __init__(self, parent, text, width): curFile = abspath(join(dirname(__file__), "contextCursor.cur")) img = None if exists(curFile): - img = wx.EmptyImage(32, 32) + img = wx.Image(32, 32) img.LoadFile(curFile, wx.BITMAP_TYPE_CUR) if not img or not img.IsOk(): from cStringIO import StringIO from base64 import b64decode stream = StringIO(b64decode(CUR_STRING)) - img = wx.ImageFromStream(stream) + img = wx.Image(stream) stream.close() - img.SetOptionInt(wx.IMAGE_OPTION_CUR_HOTSPOT_X, 0) - img.SetOptionInt(wx.IMAGE_OPTION_CUR_HOTSPOT_Y, 0) + img.SetOption(wx.IMAGE_OPTION_CUR_HOTSPOT_X, 0) + img.SetOption(wx.IMAGE_OPTION_CUR_HOTSPOT_Y, 0) self.SetCursor(wx.CursorFromImage(img)) self.selRow = -1 self.back = self.GetBackgroundColour() @@ -975,10 +977,10 @@ def __init__(self, parent, text, width): self.selFore = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT) for i, colLabel in enumerate(text.header): self.InsertColumn(i, colLabel) - self.InsertStringItem(0, " ") + self.InsertItem(0, " ") self.SetColumnWidth(0, wx.LIST_AUTOSIZE_USEHEADER) - self.SetStringItem(0, 1, "Test Name") - self.SetStringItem(0, 2, "8888-88-88 88:88:88") + self.SetItem(0, 1, "Test Name") + self.SetItem(0, 2, "8888-88-88 88:88:88") self.SetColumnWidth(2, wx.LIST_AUTOSIZE_USEHEADER) col0 = self.GetColumnWidth(0) col23 = self.GetColumnWidth(2) @@ -1019,7 +1021,7 @@ def SelRow(self, row): def AppendRow(self): ix = self.GetItemCount() - self.InsertStringItem(ix, "") + self.InsertItem(ix, "") self.CheckItem(ix) self.EnsureVisible(ix) self.SelRow(ix) @@ -1039,13 +1041,13 @@ def __init__(self, text, plugin): self.plugin = plugin statusRS = self.plugin.GetStatusRS() - self.idUp = wx.NewId() - self.idDown = wx.NewId() - self.idTop = wx.NewId() - self.idBottom = wx.NewId() - self.idSort = wx.NewId() - self.idRefr = wx.NewId() - self.idPlay = wx.NewId() + self.idUp = wx.NewIdRef() + self.idDown = wx.NewIdRef() + self.idTop = wx.NewIdRef() + self.idBottom = wx.NewIdRef() + self.idSort = wx.NewIdRef() + self.idRefr = wx.NewIdRef() + self.idPlay = wx.NewIdRef() self.SetIcon(self.plugin.info.icon.GetWxIcon()) self.plugin.manager = self self.text = text @@ -1076,16 +1078,16 @@ def unique(seq): curFile = abspath(join(dirname(__file__), "contextCursor.cur")) img = None if exists(curFile): - img = wx.EmptyImage(32, 32) + img = wx.Image(32, 32) img.LoadFile(curFile, wx.BITMAP_TYPE_CUR) if not img or not img.IsOk(): from cStringIO import StringIO from base64 import b64decode stream = StringIO(b64decode(CUR_STRING)) - img = wx.ImageFromStream(stream) + img = wx.Image(stream) stream.close() - img.SetOptionInt(wx.IMAGE_OPTION_CUR_HOTSPOT_X, 0) - img.SetOptionInt(wx.IMAGE_OPTION_CUR_HOTSPOT_Y, 0) + img.SetOption(wx.IMAGE_OPTION_CUR_HOTSPOT_X, 0) + img.SetOption(wx.IMAGE_OPTION_CUR_HOTSPOT_Y, 0) self.grid = wx.ListCtrl(self, style = wx.LC_REPORT|wx.LC_NO_HEADER|wx.LC_HRULES|wx.LC_VRULES) self.grid.SetCursor(wx.CursorFromImage(img)) self.grid.InsertColumn(0,"") @@ -1093,32 +1095,32 @@ def unique(seq): #Button UP bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (16, 16)) btnUP = wx.BitmapButton(self, self.idUp, bmp) - btnUP.SetToolTipString(self.text.toolTipUp) + btnUP.SetToolTip(self.text.toolTipUp) #Button DOWN bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_OTHER, (16, 16)) btnDOWN = wx.BitmapButton(self, self.idDown, bmp) - btnDOWN.SetToolTipString(self.text.toolTipDown) + btnDOWN.SetToolTip(self.text.toolTipDown) #Button DEL bmp = wx.ArtProvider.GetBitmap(wx.ART_DELETE, wx.ART_OTHER, (16, 16)) btnDEL = wx.BitmapButton(self, -1, bmp) - btnDEL.SetToolTipString(self.text.toolTipDelete) + btnDEL.SetToolTip(self.text.toolTipDelete) btnExp = wx.Button(self, wx.ID_SAVEAS, self.text.export) - btnExp.SetToolTipString(self.text.toolTipExport) + btnExp.SetToolTip(self.text.toolTipExport) btnImp = wx.Button(self, wx.ID_OPEN, self.text.imprt) - btnImp.SetToolTipString(self.text.toolTipImport) + btnImp.SetToolTip(self.text.toolTipImport) btnImpSR = wx.Button(self, wx.ID_FILE, self.text.importSR) - btnImpSR.SetToolTipString(self.text.toolTipImportSR) + btnImpSR.SetToolTip(self.text.toolTipImportSR) bmp = wx.ArtProvider.GetBitmap(wx.ART_HELP_SETTINGS, wx.ART_OTHER, (16, 16)) btnSort = wx.BitmapButton(self, self.idSort, bmp) - btnSort.SetToolTipString(self.text.sort) + btnSort.SetToolTip(self.text.sort) bmp = wx.ArtProvider.GetBitmap(wx.ART_REDO, wx.ART_OTHER, (16, 16)) btnRefr = wx.BitmapButton(self, self.idRefr, bmp) - btnRefr.SetToolTipString(self.text.refresh) + btnRefr.SetToolTip(self.text.refresh) @@ -1190,7 +1192,7 @@ def onRefresh(evt = None, seq = None): self.tmpFavs = cpy(self.favs) self.grid.DeleteAllItems() for row in range(len(self.tmpFavs)): - self.grid.InsertStringItem(row, self.tmpFavs[row][1]) + self.grid.InsertItem(row, self.tmpFavs[row][1]) self.grid.SetColumnWidth(0, -1) self.grid.SetColumnWidth(0, self.grid.GetColumnWidth(0) + 6) ListSelection() @@ -1204,7 +1206,7 @@ def onSort(evt): self.tmpFavs = sorted(self.tmpFavs, key=lambda i: strxfrm(i[1].encode(eg.systemEncoding))) self.grid.DeleteAllItems() for row in range(len(self.tmpFavs)): - self.grid.InsertStringItem(row, self.tmpFavs[row][1]) + self.grid.InsertItem(row, self.tmpFavs[row][1]) ListSelection() self.Diff() self.Colour() @@ -1332,7 +1334,7 @@ def Move(evt): self.tmpFavs = p1 self.grid.DeleteAllItems() for row in range(len(self.tmpFavs)): - self.grid.InsertStringItem(row, self.tmpFavs[row][1]) + self.grid.InsertItem(row, self.tmpFavs[row][1]) if id == self.idUp: if first: b, e = (first-1, first-1+cnt) @@ -1445,8 +1447,8 @@ def AreDuplications(): def OnRightClick(evt): if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() - self.popupID2 = wx.NewId() + self.popupID1 = wx.NewIdRef() + self.popupID2 = wx.NewIdRef() self.Bind(wx.EVT_MENU, onDelete, id = self.popupID1) self.Bind(wx.EVT_MENU, onRemDupl, id = self.popupID2) self.Bind(wx.EVT_MENU, Move, id = self.idUp) @@ -1691,7 +1693,7 @@ def Import(self, data): self.tmpFavs.extend(data) self.grid.DeleteAllItems() for row in range(len(self.tmpFavs)): - self.grid.InsertStringItem(row, self.tmpFavs[row][1]) + self.grid.InsertItem(row, self.tmpFavs[row][1]) self.grid.SetColumnWidth(0, -1) self.grid.SetColumnWidth(0, self.grid.GetColumnWidth(0) + 6) self.grid.EnsureVisible(len(self.tmpFavs)-1) @@ -1892,8 +1894,8 @@ def fillDynamicSizer(type, data = None, old_type = 255): if flag: dynamicSizer.Clear(True) self.ctrls=[] - self.ctrls.append(wx.NewId()) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) + self.ctrls.append(wx.NewIdRef()) if type == -1: return if type != 1 and flag: @@ -1903,11 +1905,11 @@ def fillDynamicSizer(type, data = None, old_type = 255): ) if type == 0: if flag: - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) dp = wx.DatePickerCtrl(self, self.ctrls[2], size = (86, -1), style = wx.DP_DROPDOWN | wx.DP_SHOWCENTURY) topSizer.Add(dp,0,wx.EXPAND) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) yearlyCtrl = wx.CheckBox(self, self.ctrls[3], self.text.yearly) topSizer.Add(yearlyCtrl, 0, wx.EXPAND|wx.LEFT, 30) dynamicSizer.Add(topSizer, 0, wx.EXPAND|wx.TOP, 2) @@ -1916,7 +1918,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): yearlyCtrl = wx.FindWindowById(self.ctrls[3]) if data: if not data[2]: - val = wx.DateTime_Now() + val = wx.DateTime.Now() data[2] = str(dt.now())[:10] wxDttm = wx.DateTime() wxDttm.Set( @@ -1933,20 +1935,20 @@ def fillDynamicSizer(type, data = None, old_type = 255): choices.insert(0, list(day_name)[-1]) else: choices = list(day_name) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) weekdayCtrl = wx.CheckListBox( self, self.ctrls[2], choices = choices, size=((-1,110)), ) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) holidCheck_2 = wx.CheckBox( self, self.ctrls[3], self.text.holidCheck_2 ) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) holidCheck_1 = wx.CheckBox( self, self.ctrls[4], @@ -1999,7 +2001,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): ) topSizer.Add(dateSizer, 0, wx.EXPAND) dynamicSizer.Add(topSizer, 0, wx.EXPAND | wx.TOP,2) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) serialCtrl = wx.CheckListBox( self, self.ctrls[2], @@ -2012,7 +2014,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): choices.insert(0, list(day_name)[-1]) else: choices = list(day_name) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) weekdayCtrl = wx.CheckListBox( self, self.ctrls[3], @@ -2029,7 +2031,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): 0, wx.ALIGN_CENTER | wx.LEFT, 10 ) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) monthsCtrl_1 = wx.CheckListBox( self, self.ctrls[4], @@ -2037,7 +2039,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): size = ((-1, 95)), ) dateSizer.Add(monthsCtrl_1, 0, wx.ALIGN_CENTER | wx.LEFT, 10) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) monthsCtrl_2 = wx.CheckListBox( self, self.ctrls[5], @@ -2045,7 +2047,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): size = ((-1, 95)), ) dateSizer.Add(monthsCtrl_2, 0, wx.ALIGN_CENTER | wx.LEFT, -1) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) holidCheck_1 = wx.CheckBox( self, self.ctrls[6], @@ -2083,7 +2085,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): dateSizer = wx.BoxSizer(wx.HORIZONTAL) topSizer.Add(dateSizer, 0, wx.EXPAND) dynamicSizer.Add(topSizer, 0, wx.EXPAND | wx.TOP, 2) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) q_1_Ctrl = wx.CheckListBox( self, self.ctrls[2], @@ -2091,7 +2093,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): size = ((40, 125)), ) dateSizer.Add(q_1_Ctrl, 0, wx.LEFT, 5) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) q_2_Ctrl = wx.CheckListBox( self, self.ctrls[3], @@ -2099,7 +2101,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): size = ((46, 125)), ) dateSizer.Add(q_2_Ctrl, 0, wx.LEFT, -1) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) q_3_Ctrl = wx.CheckListBox( self, self.ctrls[4], @@ -2107,7 +2109,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): size = ((46, 125)), ) dateSizer.Add(q_3_Ctrl, 0, wx.LEFT, -1) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) q_4_Ctrl = wx.CheckListBox( self, self.ctrls[5], @@ -2116,7 +2118,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): ) dateSizer.Add(q_4_Ctrl, 0, wx.LEFT, -1) dateSizer.Add((-1, 1), 1, wx.EXPAND) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) monthsCtrl_1 = wx.CheckListBox( self, self.ctrls[6], @@ -2124,7 +2126,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): size = ((-1, 95)), ) dateSizer.Add(monthsCtrl_1, 0, wx.ALIGN_CENTER | wx.LEFT, 10) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) monthsCtrl_2 = wx.CheckListBox( self, self.ctrls[7], @@ -2160,7 +2162,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): monthsCtrl_2.Check(i, bool(val & (2 ** i))) elif type == 5: if flag: - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) dp = wx.DatePickerCtrl(self, self.ctrls[2], size = (86, -1), style = wx.DP_DROPDOWN | wx.DP_SHOWCENTURY) topSizer.Add(dp, 0, wx.EXPAND) @@ -2169,7 +2171,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): dp = wx.FindWindowById(self.ctrls[2]) if data: if not data[2]: - val = wx.DateTime_Now() + val = wx.DateTime.Now() data[2] = str(dt.now())[:10] wxDttm = wx.DateTime() wxDttm.Set( @@ -2199,9 +2201,9 @@ def fillDynamicSizer(type, data = None, old_type = 255): (-1, 22), wx.SP_VERTICAL ) - initTime = wx.DateTime_Now() + initTime = wx.DateTime.Now() initTime.SetSecond(0) - initTime.AddTS(wx.TimeSpan.Minute()) + initTime.Add(wx.TimeSpan.Minute()) val = data[0] if data and data[0] else initTime timeCtrl = eg.TimeCtrl( self, @@ -2240,7 +2242,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): bottomSizer.Add(testBttn, 0, wx.EXPAND | wx.RIGHT) else: timeCtrl = wx.FindWindowById(self.ctrls[0]) - val = data[0] if data and data[0] else wx.DateTime_Now() + val = data[0] if data and data[0] else wx.DateTime.Now() timeCtrl.SetValue(val) lenCtrl = wx.FindWindowById(self.ctrls[1]) val = data[1] if data and data[1] else "00:00" @@ -2251,7 +2253,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): wx.StaticBox(self, -1, self.text.choosePeriod), wx.HORIZONTAL ) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) numCtrl = MySpinIntCtrl(self, -1, value = 1, min = 1) numCtrl.SetNumCtrlId(self.ctrls[3]) bottomSizer.Add( @@ -2264,7 +2266,7 @@ def fillDynamicSizer(type, data = None, old_type = 255): wx.ALIGN_CENTER ) bottomSizer.Add(numCtrl, 0, wx.LEFT, 4) - self.ctrls.append(wx.NewId()) + self.ctrls.append(wx.NewIdRef()) unitCtrl = wx.Choice( self, self.ctrls[4], @@ -2329,7 +2331,7 @@ def onCheckListBox(evt): self.tmpData[self.lastRow][2], self.tmpData[self.lastRow][3] ) - grid.SetStringItem(self.lastRow, 3, next) + grid.SetItem(self.lastRow, 3, next) Diff() @@ -2340,7 +2342,7 @@ def OnTimeChange(evt): self.tmpData[self.lastRow][2], self.tmpData[self.lastRow][3] ) - grid.SetStringItem(self.lastRow, 3, next) + grid.SetItem(self.lastRow, 3, next) Diff() @@ -2351,7 +2353,7 @@ def onPeriodUnit(evt): self.tmpData[self.lastRow][2], self.tmpData[self.lastRow][3] ) - grid.SetStringItem(self.lastRow, 3, next) + grid.SetItem(self.lastRow, 3, next) else: evt.Skip() Diff() @@ -2364,7 +2366,7 @@ def onDatePicker(evt): self.tmpData[self.lastRow][2], self.tmpData[self.lastRow][3] ) - grid.SetStringItem(self.lastRow, 3, next) + grid.SetItem(self.lastRow, 3, next) Diff() @@ -2379,7 +2381,7 @@ def onCheckBox(evt): self.tmpData[self.lastRow][2], self.tmpData[self.lastRow][3] ) - grid.SetStringItem(self.lastRow, 3, next) + grid.SetItem(self.lastRow, 3, next) Diff() @@ -2487,8 +2489,8 @@ def duplSchedule(evt = None): self.tmpData[lngth][1] = newTitle grid.AppendRow() grid.SelRow(lngth) - grid.SetStringItem(lngth, 1, newTitle) - grid.SetStringItem(lngth, 3, nxt) + grid.SetItem(lngth, 1, newTitle) + grid.SetItem(lngth, 3, nxt) OpenSchedule() Diff() @@ -2648,7 +2650,7 @@ def onCheckListCtrl(evt): def onSchedulerTitle(evt): txt = evt.GetString() - grid.SetStringItem(self.lastRow, 1, txt) + grid.SetItem(self.lastRow, 1, txt) self.tmpData[self.lastRow][1] = txt Diff() @@ -2660,7 +2662,7 @@ def onPeriodNumber(evt): self.tmpData[self.lastRow][2], self.tmpData[self.lastRow][3] ) - grid.SetStringItem(self.lastRow, 3, next) + grid.SetItem(self.lastRow, 3, next) Diff() else: evt.Skip() @@ -2680,13 +2682,13 @@ def onTestButton(evt): def OnRightClick(evt): if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() - self.popupID2 = wx.NewId() - self.popupID3 = wx.NewId() - self.popupID4 = wx.NewId() - self.popupID5 = wx.NewId() - self.popupID6 = wx.NewId() - self.popupID7 = wx.NewId() + self.popupID1 = wx.NewIdRef() + self.popupID2 = wx.NewIdRef() + self.popupID3 = wx.NewIdRef() + self.popupID4 = wx.NewIdRef() + self.popupID5 = wx.NewIdRef() + self.popupID6 = wx.NewIdRef() + self.popupID7 = wx.NewIdRef() self.Bind(wx.EVT_MENU, addSchedule, id=self.popupID1) self.Bind(wx.EVT_MENU, duplSchedule, id=self.popupID2) self.Bind(wx.EVT_MENU, delSchedule, id=self.popupID3) @@ -2715,13 +2717,13 @@ def fillGrid(flag): rows = len(self.tmpData) if rows > 0: for row in range(rows): - grid.InsertStringItem(row, "") + grid.InsertItem(row, "") if self.tmpData[row][0]: grid.CheckItem(row) - grid.SetStringItem(row, 1, self.tmpData[row][1]) - grid.SetStringItem(row, 2, self.tmpData[row][4]) + grid.SetItem(row, 1, self.tmpData[row][1]) + grid.SetItem(row, 2, self.tmpData[row][4]) next = self.plugin.NextRun(self.tmpData[row][2], self.tmpData[row][3]) - grid.SetStringItem(row, 3, next) + grid.SetItem(row, 3, next) if flag: self.lastRow = 0 grid.SelRow(0) @@ -2868,7 +2870,7 @@ def onTriggEvtCtrl(evt): bttnSizer.Add((5, -1)) i = 0 for bttn in self.text.buttons: - id = wx.NewId() + id = wx.NewIdRef() bttns.append(id) b = wx.Button(self, id, bttn) bttnSizer.Add(b,1) @@ -2882,7 +2884,7 @@ def onTriggEvtCtrl(evt): bttnSizer.Add((5, -1)) i += 1 sizer.Add(bttnSizer,0,wx.EXPAND) - id = wx.NewId() #testBttn + id = wx.NewIdRef() #testBttn bttns.append(id) self.Bind(wx.EVT_BUTTON, onTestButton, id = id) wx.EVT_CHECKLISTBOX(self, -1, onCheckListBox) @@ -3000,14 +3002,14 @@ def AddSchedule(self, schedule): else: ix = len(self.tmpData) self.tmpData.append(schedule) - self.grid.InsertStringItem(ix, "") + self.grid.InsertItem(ix, "") if schedule[0]: self.grid.CheckItem(ix) elif self.grid.IsChecked(ix): self.grid.ToggleItem(ix) - self.grid.SetStringItem(ix, 1, schedule[1]) + self.grid.SetItem(ix, 1, schedule[1]) next = self.plugin.NextRun(schedule[2], schedule[3]) - self.grid.SetStringItem(ix, 3, next) + self.grid.SetItem(ix, 3, next) if self.lastRow == ix: evt = eg.ValueChangedEvent(ix) wx.PostEvent(self, evt) @@ -3015,8 +3017,8 @@ def AddSchedule(self, schedule): def RefreshGrid(self, ix, last, next): if self.grid.GetItem(ix, 1).GetText() == self.tmpData[ix][1]: - self.grid.SetStringItem(ix, 2, last) - self.grid.SetStringItem(ix, 3, next) + self.grid.SetItem(ix, 2, last) + self.grid.SetItem(ix, 3, next) def onClose(self, evt): @@ -3263,7 +3265,7 @@ def OnDragOver(self, x, y, dragResult): def OnData(self, dummyX, dummyY, dragResult): if self.GetData() and self.customData.GetDataSize() > 0: - txt = self.customData.GetData() + txt = self.customData.GetData().tobytes() ix, evtList = self.object.GetEvtList() flag = True for lst in evtList: @@ -3271,10 +3273,13 @@ def OnData(self, dummyX, dummyY, dragResult): flag = False break if flag: - self.object.InsertImageStringItem(len(evtList[ix]), txt, 0) + self.object.InsertItem(index=len(evtList[ix]), label=txt, imageIndex=0) self.object.UpdateEvtList(ix, txt) + return wx.DragCopy else: - PlaySound('SystemExclamation', SND_ASYNC) + wx.Bell() + return wx.DragNone + return wx.DragError def OnLeave(self): @@ -3294,7 +3299,7 @@ def __init__(self, parent, id, evtList, ix, plugin): self.plugin = plugin self.sel = -1 self.il = wx.ImageList(16, 16) - self.il.Add(wx.BitmapFromImage(wx.Image(join(IMAGES_DIR, "event.png"), wx.BITMAP_TYPE_PNG))) + self.il.Add(wx.Bitmap(wx.Image(join(IMAGES_DIR, "event.png"), wx.BITMAP_TYPE_PNG))) self.SetImageList(self.il, wx.IMAGE_LIST_SMALL) self.InsertColumn(0, '') self.SetColumnWidth(0, width - 5 - SYS_VSCROLL_X) @@ -3303,7 +3308,7 @@ def __init__(self, parent, id, evtList, ix, plugin): self.Bind(wx.EVT_LIST_INSERT_ITEM, self.OnChange) self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnChange) self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick) - self.SetToolTipString(self.plugin.text.toolTip) + self.SetToolTip(self.plugin.text.toolTip) def OnSelect(self, event): @@ -3321,8 +3326,8 @@ def OnChange(self, event): def OnRightClick(self, event): if not hasattr(self, "popupID1"): - self.popupID1 = wx.NewId() - self.popupID2 = wx.NewId() + self.popupID1 = wx.NewIdRef() + self.popupID2 = wx.NewIdRef() self.Bind(wx.EVT_MENU, self.OnDeleteButton, id=self.popupID1) self.Bind(wx.EVT_MENU, self.OnDeleteAllButton, id=self.popupID2) # make a menu @@ -3394,31 +3399,31 @@ def ShowMenuEventsDialog(self, title, labels): sizer.SetMinSize((450, 308)) topSizer=wx.GridBagSizer(2, 20) textLbl_0=wx.StaticText(self, -1, labels[0]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_0 = EventListCtrl(self, id, self.evtList, 0, self.plugin) eventsCtrl_0.SetItems(self.evtList[0]) dt0 = MyTextDropTarget(eventsCtrl_0) eventsCtrl_0.SetDropTarget(dt0) textLbl_1=wx.StaticText(self, -1, labels[1]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_1 = EventListCtrl(self, id, self.evtList, 1, self.plugin) eventsCtrl_1.SetItems(self.evtList[1]) dt1 = MyTextDropTarget(eventsCtrl_1) eventsCtrl_1.SetDropTarget(dt1) textLbl_2=wx.StaticText(self, -1, labels[2]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_2 = EventListCtrl(self, id, self.evtList, 2, self.plugin) eventsCtrl_2.SetItems(self.evtList[2]) dt2 = MyTextDropTarget(eventsCtrl_2) eventsCtrl_2.SetDropTarget(dt2) textLbl_3=wx.StaticText(self, -1, labels[3]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_3 = EventListCtrl(self, id, self.evtList, 3, self.plugin) eventsCtrl_3.SetItems(self.evtList[3]) dt3 = MyTextDropTarget(eventsCtrl_3) eventsCtrl_3.SetDropTarget(dt3) textLbl_4=wx.StaticText(self, -1, labels[4]) - id = wx.NewId() + id = wx.NewIdRef() eventsCtrl_4 = EventListCtrl(self, id, self.evtList, 4, self.plugin) eventsCtrl_4.SetItems(self.evtList[4]) dt4 = MyTextDropTarget(eventsCtrl_4) @@ -3597,20 +3602,20 @@ def __init__( self.Bind(wx.EVT_CLOSE, self.onClose) self.Bind(gridlib.EVT_GRID_CMD_CELL_LEFT_DCLICK, self.onDoubleClick, self.menuGridCtrl) self.Bind(wx.EVT_CHAR_HOOK, self.onFrameCharHook) - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) self.menuGridCtrl.SetFont(font) - arial = wx.FontFromNativeInfoString(ARIAL_INFO) + arial = wx.Font(ARIAL_INFO) self.SetFont(font) - hght = self.GetTextExtent('X')[1] + hght = self.GetFullTextExtent(u'X')[1] for n in range(1,1000): arial.SetPointSize(n) self.SetFont(arial) - h = self.GetTextExtent(u"\u25a0")[1] + h = self.GetFullTextExtent(u"\u25a0")[1] if h > hght: break arial.SetPointSize(2*n/3) self.SetFont(arial) - self.w0 = 2 * self.GetTextExtent(u"\u25a0")[0] + self.w0 = 2 * self.GetFullTextExtent(u"\u25a0")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) @@ -3618,12 +3623,12 @@ def __init__( for n in range(1,1000): arial.SetPointSize(n) self.SetFont(arial) - h = self.GetTextExtent(u"\u25ba")[1] + h = self.GetFullTextExtent(u"\u25ba")[1] if h > hght: break arial.SetPointSize(n/2) self.SetFont(arial) - self.w2 = 2 * self.GetTextExtent(u"\u25ba")[0] + self.w2 = 2 * self.GetFullTextExtent(u"\u25ba")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_RIGHT, wx.ALIGN_CENTRE) @@ -3639,7 +3644,7 @@ def __init__( self.menuGridCtrl.Set(self.items) self.UpdateMenu(ix == 0, ix) self.plugin.menuDlg = self - wx.Yield() + wx.GetApp().Yield() SetEvent(event) @@ -3665,7 +3670,7 @@ def DrawMenu(self, ix): # menu width calculation: width_lst=[] for item in self.choices: - width_lst.append(self.GetTextExtent(item+' ')[0]) + width_lst.append(self.GetFullTextExtent(item+u' ')[0]) width = max(width_lst)+8 self.menuGridCtrl.SetColSize(0,self.w0) self.menuGridCtrl.SetColSize(1,width) @@ -3681,8 +3686,8 @@ def DrawMenu(self, ix): width += 6 x_pos = x + (ws - width)/2 y_pos = y + (hs - height)/2 - self.SetDimensions(x_pos,y_pos,width,height) - self.menuGridCtrl.SetDimensions(2, 2, width-6, height-6, wx.SIZE_AUTO) + self.SetSize(x_pos, y_pos, width, height) + self.menuGridCtrl.SetSize(2, 2, width-6, height-6, wx.SIZE_AUTO) self.Show(True) self.Raise() @@ -3923,6 +3928,8 @@ def GetItemList(self, hWnd, hMenu): def GetLanguageXml(self): xmltoparse = u'%s\\RadioSure.xml' % self.xmlpath + if not exists(xmltoparse): + return None xmltoparse = xmltoparse.encode(FSE) if isinstance(xmltoparse, unicode) else xmltoparse xmldoc = miniDom.parse(xmltoparse) general = xmldoc.getElementsByTagName('General') @@ -5515,10 +5522,10 @@ def Configure( intervalLbl = wx.StaticText(panel, -1, self.text.intervalLabel) textLabel = wx.StaticText(panel, -1, self.text.label) textControl = wx.TextCtrl(panel, -1, evtName, size = (200,-1)) - textControl.SetToolTipString(self.text.toolSuffix) + textControl.SetToolTip(self.text.toolSuffix) textLabel2 = wx.StaticText(panel, -1, self.text.label2) textControl2 = wx.TextCtrl(panel, -1, evtName2, size = (200,-1)) - textControl2.SetToolTipString(self.text.toolSuffix) + textControl2.SetToolTip(self.text.toolSuffix) AddCtrl = panel.sizer.Add AddCtrl(intervalLbl, 0, wx.TOP, 20) AddCtrl(periodNumCtrl, 0, wx.TOP, 3) @@ -5878,25 +5885,25 @@ def Configure( #Font button fontLbl=wx.StaticText(panel, -1, self.text.menuFont) fontButton = eg.FontSelectButton(panel, value = fontInfo) - font = wx.FontFromNativeInfoString(fontInfo) + font = wx.Font(fontInfo) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent(u'X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) - arial = wx.FontFromNativeInfoString(ARIAL_INFO) + arial = wx.Font(ARIAL_INFO) fontButton.SetFont(font) for n in range(1,1000): arial.SetPointSize(n) fontButton.SetFont(arial) - h = fontButton.GetTextExtent(u"\u25a0")[1] + h = fontButton.GetFullTextExtent(u"\u25a0")[1] if h > hght: break arial.SetPointSize(2*n/3) fontButton.SetFont(arial) - w0 = 2 * fontButton.GetTextExtent(u"\u25a0")[0] + w0 = 2 * fontButton.GetFullTextExtent(u"\u25a0")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) @@ -5904,12 +5911,12 @@ def Configure( for n in range(1,1000): arial.SetPointSize(n) fontButton.SetFont(arial) - h = fontButton.GetTextExtent(u"\u25ba")[1] + h = fontButton.GetFullTextExtent(u"\u25ba")[1] if h > hght: break arial.SetPointSize(n/2) fontButton.SetFont(arial) - w2 = 2 * fontButton.GetTextExtent(u"\u25ba")[0] + w2 = 2 * fontButton.GetFullTextExtent(u"\u25ba")[0] attr = gridlib.GridCellAttr() attr.SetFont(arial) attr.SetAlignment(wx.ALIGN_RIGHT, wx.ALIGN_CENTRE) @@ -5941,7 +5948,7 @@ def Configure( backSelColourButton = eg.ColourSelectButton(panel,backSel,title = self.text.backgroundSel) #Button Dialog "Menu control - assignement of events" dialogButton = wx.Button(panel,-1,self.text.dialog) - dialogButton.SetToolTipString(self.text.btnToolTip) + dialogButton.SetToolTip(self.text.btnToolTip) foreSelLbl.Enable(not inverted) foreSelColourButton.Enable(not inverted) backSelLbl.Enable(not inverted) @@ -6018,11 +6025,11 @@ def OnDialogBtn(evt): def OnFontBtn(evt): value = evt.GetValue() self.fontInfo = value - font = wx.FontFromNativeInfoString(value) + font = wx.Font(value) for n in range(10,20): font.SetPointSize(n) fontButton.SetFont(font) - hght = fontButton.GetTextExtent('X')[1] + hght = fontButton.GetFullTextExtent(u'X')[1] if hght > 20: break listBoxCtrl.SetDefaultCellFont(font) diff --git a/plugins/RemoteEventMapper/__init__.py b/plugins/RemoteEventMapper/__init__.py index 3ff3197f2..ee3e8ee17 100644 --- a/plugins/RemoteEventMapper/__init__.py +++ b/plugins/RemoteEventMapper/__init__.py @@ -231,7 +231,7 @@ def TestUse(val): self.selBack = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT) self.selFore = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT) suffText = wx.TextCtrl(panel, -1, "", style = wx.TE_READONLY ) - suffText.SetToolTipString(text.suffToolTip) + suffText.SetToolTip(text.suffToolTip) labelText = wx.TextCtrl(panel, -1, "") suffChoice = wx.Choice(panel, -1, choices = panel.suffixes) @@ -325,9 +325,9 @@ def ResetCtrls(): def FillButtonsList(item): buttonsListCtrl.DeleteAllItems() for row in range(len(item[2])): - buttonsListCtrl.InsertStringItem(row, item[2][row][0]) - buttonsListCtrl.SetStringItem(row, 1, item[2][row][1]) - buttonsListCtrl.SetStringItem(row, 2, item[2][row][2]) + buttonsListCtrl.InsertItem(row, item[2][row][0]) + buttonsListCtrl.SetItem(row, 1, item[2][row][1]) + buttonsListCtrl.SetItem(row, 2, item[2][row][2]) def FillRemoteForm(item): @@ -656,9 +656,9 @@ def OnButtonAddEvent(evt): self.oldSel = buttonsListCtrl.GetItemCount() - 1 row = self.oldSel + 1 self.remotes[listBoxCtrl.GetSelection()][2].insert(row,["", "", ""]) - buttonsListCtrl.InsertStringItem(row, "") - buttonsListCtrl.SetStringItem(row, 1, "") - buttonsListCtrl.SetStringItem(row, 2, "") + buttonsListCtrl.InsertItem(row, "") + buttonsListCtrl.SetItem(row, 1, "") + buttonsListCtrl.SetItem(row, 2, "") buttonsListCtrl.EnsureVisible(row) SelRow(row) EnableCtrls(True) @@ -683,9 +683,9 @@ def OnButtonDuplEvent(evt): strng2 = suffChoice.GetStringSelection() row = self.oldSel + 1 self.remotes[listBoxCtrl.GetSelection()][2].insert(row, ["", strng1, strng2]) - buttonsListCtrl.InsertStringItem(row, "") - buttonsListCtrl.SetStringItem(row, 1, strng1) - buttonsListCtrl.SetStringItem(row, 2, strng2) + buttonsListCtrl.InsertItem(row, "") + buttonsListCtrl.SetItem(row, 1, strng1) + buttonsListCtrl.SetItem(row, 2, strng2) SelRow(row) buttonsListCtrl.EnsureVisible(row) evt.Skip() @@ -695,7 +695,7 @@ def OnButtonDuplEvent(evt): def OnSuffText(evt): strng = evt.GetString() self.remotes[listBoxCtrl.GetSelection()][2][self.oldSel][0] = strng - buttonsListCtrl.SetStringItem(self.oldSel, 0, strng) + buttonsListCtrl.SetItem(self.oldSel, 0, strng) Validation() evt.Skip() suffText.Bind(wx.EVT_TEXT, OnSuffText) @@ -704,7 +704,7 @@ def OnSuffText(evt): def OnLabelText(evt): strng = labelText.GetValue() self.remotes[listBoxCtrl.GetSelection()][2][self.oldSel][1] = strng - buttonsListCtrl.SetStringItem(self.oldSel, 1, strng) + buttonsListCtrl.SetItem(self.oldSel, 1, strng) Validation() evt.Skip() labelText.Bind(wx.EVT_TEXT, OnLabelText) @@ -713,7 +713,7 @@ def OnLabelText(evt): def OnSuffChoice(evt): strng = suffChoice.GetStringSelection() self.remotes[listBoxCtrl.GetSelection()][2][self.oldSel][2] = strng - buttonsListCtrl.SetStringItem(self.oldSel, 2, strng) + buttonsListCtrl.SetItem(self.oldSel, 2, strng) duplEvent.Enable(True) Validation() evt.Skip() @@ -1048,7 +1048,7 @@ def ShowSuffixesFrame(self): btnDOWN = wx.BitmapButton(self, -1, bmp) btnDOWN.Enable(False) #Buttons 'Delete' and 'Insert new' - lenLst = [self.panel.GetTextExtent(item)[0] for item in text.buttons3] + lenLst = [self.panel.GetFullTextExtent(item)[0] for item in text.buttons3] dummBttn = wx.Button(self,-1,text.buttons3[(lenLst).index(max(lenLst))]) sz = dummBttn.GetSize() dummBttn.Destroy() @@ -1105,7 +1105,6 @@ def boxEnable(enable): btn1.Enable(False) def onClose(evt): - self.MakeModal(False) self.GetParent().GetParent().Raise() self.Destroy() self.Bind(wx.EVT_CLOSE, onClose) @@ -1238,7 +1237,6 @@ def OnButtonAppend(evt): btnApp.Bind(wx.EVT_BUTTON, OnButtonAppend) sizer.Layout() - self.MakeModal(True) self.SetFocus() self.Show() #=============================================================================== @@ -1321,13 +1319,11 @@ def onClose(evt): if self.timer: self.timer.Stop() del self.timer - self.MakeModal(False) self.GetParent().Raise() self.Destroy() self.Bind(wx.EVT_CLOSE, onClose) self.SetSizer(mainSizer) self.Fit() - self.MakeModal(True) self.Show() #=============================================================================== diff --git a/plugins/SamsungSmartTVPlus/__init__.py b/plugins/SamsungSmartTVPlus/__init__.py new file mode 100644 index 000000000..16c1191fa --- /dev/null +++ b/plugins/SamsungSmartTVPlus/__init__.py @@ -0,0 +1,1543 @@ +# -*- coding: utf-8 -*- +# +# This file is part of EventGhost. +# Copyright © 2005-2018 EventGhost Project +# +# EventGhost 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. +# +# EventGhost 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 EventGhost. If not, see . + + +import sys # NOQA +import os # NOQA +sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'libs')) + +import eg + + +eg.RegisterPlugin( + name="Samsung Smart TV IP Control +", + author="K", + version="0.4.1b", + kind="external", + description=( + 'This plugin supports all Samsung Smart TV\'s made on or after 2008.\n' + 'The TV can have either a wired or wireless network connection' + ), + createMacrosOnAdd=True, + canMultiLoad=False, + guid='{70C46E47-3DC9-4BF8-B817-6F20B324F2BB}' +) + +import threading # NOQA +import wx # NOQA +from samsungctl import discover # NOQA +from samsungctl import Config # NOQA +from wx.lib import itemspicker # NOQA +from wx.lib import scrolledpanel # NOQA + + +class SamsungConfig(eg.PersistentData): + tv_data = {} + + +class Text(eg.TranslatableStrings): + tv_label = 'TV:' + ip_label = 'IP Address:' + model_label = 'Model:' + type_label = 'Panel Type:' + size_label = 'Panel Size:' + device_id_label = 'Device Id:' + name_label = 'TV Name:' + technology_label = 'Panel Technology:' + resolution_label = 'Panel Resolution:' + region_label = 'Mfg Region:' + year_label = 'Mfg Year:' + tuner_label = 'Tuner Count:' + dtv_label = 'DTV Support:' + pvr_label = 'PVR Support:' + voice_label = 'Voice Support:' + frame_label = 'Frame TV Support:' + gamepad_label = 'GamePad Support:' + os_label = 'Operating System:' + firmware_label = 'Firmware Version:' + network_label = 'Network Type:' + wifi_label = 'Wifi MAC Address:' + volume_label = 'Volume:' + brightness_label = 'Brightness:' + source_label = 'Source:' + color_temperature_label = 'Color Temperature:' + url_label = 'URL:' + app_label = 'App Id:' + sharpness_label = 'Sharpness:' + contrast_label = 'Contrast:' + mute_label = 'Mute:' + key_label = 'Remote Key:' + + class SetSource: + name = 'Set Source' + description = 'Set the input/source' + + class GetSource: + name = 'Get Source' + description = 'Get the input/source' + + class GetSources: + name = 'Get Source List' + description = 'Gets a List of the available sources' + + class SetVolume: + name = 'Set Volume' + description = 'Set the volume' + + class GetVolume: + name = 'Get Volume' + description = 'Get the Volume' + + class SetBrightness: + name = 'Set Brightness' + description = 'Set the brightness' + + class GetBrightness: + name = 'Get Brightness' + description = 'Get the brightness' + + class SetContrast: + name = 'Set Contrast' + description = 'Set the contrast' + + class GetContrast: + name = 'Get Contrast' + description = 'Get the contrast' + + class SetSharpness: + name = 'Set Sharpness' + description = 'Set the sharpness' + + class GetSharpness: + name = 'Get Sharpness' + description = 'Get the sharpness' + + class SetColorTemperature: + name = 'Set Color Temperature' + description = 'Set the color temperature' + + class GetColorTemperature: + name = 'Get Color Temperature' + description = 'Get the color temperature' + + class SetMute: + name = 'Set Mute' + description = 'Set the volume mute' + + class GetMute: + name = 'Get Mute' + description = 'Get the volume mute' + + class GetPower: + name = 'Get Power' + description = 'Get the power state' + + class GetChannel: + name = 'Get Channel' + description = 'Get the channel' + + class GetChannels: + name = 'Get Channel List' + description = 'Get a list of the available channels' + + class RunBrowser: + name = 'Open Browser' + description = 'Opens the browser to the entered URL' + + class RunApplication: + name = 'Run Application' + description = 'Run the entered application' + + class SendKey: + name = "Send Key" + description = "Send a remote control button" + + +class TVDataCtrl(scrolledpanel.ScrolledPanel): + + def __init__(self, parent): + scrolledpanel.ScrolledPanel.__init__( + self, + parent, + -1, + style=wx.BORDER_SUNKEN, + size=(-1, -1) + ) + sizer = wx.BoxSizer(wx.VERTICAL) + + self.header1 = header1 = wx.StaticText(self, -1, ' ' * 20) + font1 = header1.GetFont() + font1.SetPixelSize((0, 35)) + header1.SetFont(font1) + + self.header2 = header2 = wx.StaticText(self, -1, ' ' * 20) + font2 = header2.GetFont() + font2.SetPixelSize((0, 28)) + header2.SetFont(font2) + + line = wx.StaticLine(self, -1, style=wx.LI_HORIZONTAL) + + sizer.Add(header1, 0, wx.EXPAND | wx.ALL, 10) + sizer.Add(header2, 0, wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, 10) + sizer.Add(line, 0, wx.EXPAND | wx.ALL, 5) + + self.ctrls = [] + + def create(label, ctrl=None): + st = wx.StaticText(self, -1, label) + if ctrl is None: + ctrl = wx.StaticText(self, -1, ' ' * 20) + self.ctrls += [ctrl] + + t_sizer = h_sizer(st, ctrl) + sizer.Add(t_sizer, 0, wx.EXPAND | wx.LEFT, 5) + + self.name_ctrl = wx.TextCtrl(self, -1, ' ' * 20) + create(Text.name_label, self.name_ctrl) + + self.model_ctrl = wx.StaticText(self, -1, ' ' * 20) + create(Text.model_label, self.model_ctrl) + + create(Text.size_label) + create(Text.type_label) + create(Text.technology_label) + create(Text.resolution_label) + create(Text.year_label) + create(Text.region_label) + create(Text.tuner_label) + create(Text.dtv_label) + create(Text.pvr_label) + create(Text.voice_label) + create(Text.frame_label) + create(Text.gamepad_label) + create(Text.firmware_label) + create(Text.os_label) + create(Text.network_label) + create(Text.wifi_label) + + self.name_st = text_widgets[0] + self.model_st = text_widgets[1] + self.widgets = text_widgets[2:] + + equalize_widths() + self.hide_widgets = () + self.show_widgets = () + self.SetSizer(sizer) + self.SetupScrolling(scroll_x=False, scroll_y=True) + self.Hide() + + def Show(self, flag=True): + wx.Panel.Show(self, flag) + if self.hide_widgets: + self.show_widgets[0].Show(flag) + self.show_widgets[1].Show(flag) + self.hide_widgets[0].Hide() + self.hide_widgets[1].Hide() + self.Refresh() + self.Update() + + def GetValue(self): + return self.name_ctrl.GetValue() + + def SetValues(self, tv, name=None): + if name is None: + self.header1.SetLabel(tv.name) + self.header2.SetLabel(tv.device_id) + self.model_ctrl.SetLabel(tv.model) + self.hide_widgets = (self.name_st, self.name_ctrl) + self.show_widgets = (self.model_st, self.model_ctrl) + + else: + self.header1.SetLabel(tv.model) + self.header2.SetLabel(tv.device_id) + self.name_ctrl.SetValue(name) + + self.hide_widgets = (self.model_st, self.model_ctrl) + self.show_widgets = (self.name_st, self.name_ctrl) + + for i, label in enumerate(( + str(tv.size) + '"', + tv.panel_type, + tv.panel_technology, + tv.resolution, + str(tv.year), + tv.region, + str(tv.tuner_count), + str(tv.dtv_support), + str(tv.pvr_support), + str(tv.voice_support), + str(tv.frame_tv_support), + str(tv.game_pad_support), + str(tv.firmware_version), + tv.operating_system, + tv.network_type, + tv.wifi_mac + )): + self.ctrls[i].SetLabel(label) + + +class PickerCtrl(wx.SplitterWindow): + def __init__(self, parent): + wx.SplitterWindow.__init__( + self, + parent, + -1, + style=wx.SP_3D, + size=(500, 300) + ) + + self.found_tvs = {} + self.event = threading.Event() + self.empty_panel = wx.Panel( + self, + -1, + style=wx.BORDER_NONE, + size=(450, 100) + ) + + picker_panel = wx.Panel(self, -1, style=wx.BORDER_NONE) + + self.message_ctrl = wx.StaticText(picker_panel, -1, 'Scanning for devices....') + message_sizer = wx.BoxSizer(wx.HORIZONTAL) + picker_sizer = wx.BoxSizer(wx.VERTICAL) + message_sizer.AddStretchSpacer(1) + message_sizer.Add(self.message_ctrl, 0, wx.EXPAND | wx.ALL, 10) + message_sizer.AddStretchSpacer(1) + picker_sizer.Add(message_sizer, 0, wx.EXPAND) + + self.picker = itemspicker.ItemsPicker( + picker_panel, + -1, + [], + ipStyle=( + itemspicker.IP_SORT_CHOICES | + itemspicker.IP_SORT_SELECTED | + itemspicker.IP_REMOVE_FROM_CHOICES + ) + ) + picker_sizer.Add(self.picker, 1, wx.EXPAND) + + picker_panel.SetSizer(picker_sizer) + + self.picker.Bind( + itemspicker.EVT_IP_SELECTION_CHANGED, + self.on_selection_changed + ) + + self.SplitHorizontally(picker_panel, self.empty_panel) + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(self.picker, 0, wx.ALL, 10) + self.SetSizer(sizer) + + t = threading.Thread(target=self.get_tvs) + t.daemon = True + t.start() + + def GetValues(self): + self.event.set() + items = self.picker.GetSelections() + + for item in items: + window, tv = self.found_tvs[item] + model, device_id = item.rsplit(':', 1) + + if tv is not None: + config = dict(tv.config) + config['name'] = item.encode('utf-8') + config['model'] = model.encode('utf-8') + SamsungConfig.tv_data[tv.device_id] = config + + for device_id, data in list(SamsungConfig.tv_data.items())[:]: + if data['model'] + ':' + device_id not in items: + del(SamsungConfig.tv_data[device_id]) + + for window, tv in self.found_tvs.values(): + if tv is not None: + window.Destroy() + + def get_tvs(self): + loaded_tvs = [] + + add_items = [] + for device_id, value in SamsungConfig.tv_data.items(): + model = value['model'] + name = value['name'] + add_items += [model + ':' + device_id] + self.found_tvs[model + ':' + device_id] = (name, None) + + self.picker.SetSelections(add_items) + + try: + while not self.event.isSet(): + for tv in discover(): + if self.event.isSet(): + break + + def do(t): + device_id = t.device_id + + if device_id not in loaded_tvs: + loaded_tvs.append(device_id) + model = t.model + tv_label = model + ':' + device_id + + data_ctrl = TVDataCtrl(self) + data_ctrl.SetValues(t, model) + self.found_tvs[tv_label] = (data_ctrl, t) + + if tv_label in add_items: + add_items.remove(tv_label) + old_window = self.GetWindow2() + old_window.Hide() + self.ReplaceWindow(old_window, data_ctrl) + data_ctrl.Show() + else: + items = self.picker.GetItems() + self.picker.SetItems(items + [tv_label]) + + wx.CallAfter(do, tv) + + if self.message_ctrl.GetLabel(): + self.message_ctrl.SetLabel('') + + except wx.PyDeadObjectError: + pass + + def on_selection_changed(self, evt): + items = evt.GetItems() + + if items: + new_window = self.found_tvs[items[0]][0] + + if isinstance(new_window, (str, unicode)): + new_window = self.empty_panel + else: + new_window = self.empty_panel + + old_window = self.GetWindow2() + old_window.Hide() + self.ReplaceWindow(old_window, new_window) + new_window.Show() + evt.Skip() + + +class SamsungSmartTVPlus(eg.PluginBase): + + def __init__(self): + eg.PluginBase.__init__(self) + self.tvs = {} + self.AddAction(SetSource) + self.AddAction(GetSource) + self.AddAction(GetSources) + self.AddAction(SetVolume) + self.AddAction(GetVolume) + self.AddAction(SetBrightness) + self.AddAction(GetBrightness) + self.AddAction(SetContrast) + self.AddAction(GetContrast) + self.AddAction(SetSharpness) + self.AddAction(GetSharpness) + self.AddAction(SetColorTemperature) + self.AddAction(GetColorTemperature) + self.AddAction(SetMute) + self.AddAction(GetMute) + self.AddAction(GetPower) + self.AddAction(GetChannel) + self.AddAction(GetChannels) + self.AddAction(RunBrowser) + self.AddAction(RunApplication) + self.AddActionsFromList(ACTION) + self.AddAction(SendKey) + self.discover_thread = DiscoveryThread(self) + self.state_thread = StateThread(self, self.tvs) + for device_id, tv_data in SamsungConfig.tv_data.items(): + if 'model' not in tv_data: + del SamsungConfig.tv_data[device_id] + + def __start__(self): + self.discover_thread.start() + self.state_thread.start() + + def __stop__(self): + self.discover_thread.stop() + self.state_thread.stop() + + for tv in self.tvs.values()[:]: + tv.close() + + self.tvs.clear() + + def Configure(self): + config_backup = {} + for key, value in SamsungConfig.tv_data.items(): + backup_data = dict() + + for k, v in value.items(): + backup_data[k] = v + + config_backup[key] = backup_data + + if self.discover_thread.thread is not None: + self.discover_thread.stop() + start_discover = True + else: + start_discover = False + + if self.state_thread.thread is not None: + self.state_thread.stop() + start_state = True + else: + start_state = False + + panel = eg.ConfigPanel() + ctrl = PickerCtrl(panel) + panel.sizer.Add(ctrl, 1, wx.EXPAND | wx.ALL, 5) + + while panel.Affirmed(): + panel.SetResult() + + last_event = panel.dialog.__dict__['_TaskletDialog__lastEventId'] + ctrl.GetValues() + + if last_event == wx.ID_CANCEL: + backup_keys = sorted(list(config_backup.keys())) + + for key in backup_keys: + if key not in SamsungConfig.tv_data: + SamsungConfig.tv_data[key] = config_backup[key] + + current_keys = sorted(list(SamsungConfig.tv_data.keys())) + for key in current_keys: + if key not in backup_keys: + del(SamsungConfig.tv_data[key]) + + if start_discover: + self.discover_thread.start() + + if start_state: + self.state_thread.start() + + def add_tv(self, tv): + device_id = tv.device_id + + if device_id in SamsungConfig.tv_data: + tv_data = SamsungConfig.tv_data[device_id] + model = tv_data.pop('model') + tv.name = tv_data['name'] + + config = dict(tv.config) + config['name'] = tv.name + config['model'] = model + SamsungConfig.tv_data[tv.device_id] = dict( + (key, value) for key, value in config.items() + ) + self.tvs[tv.device_id] = tv + tv.open() + eg.PrintNotice('Samsung TV {0} connected.'.format(tv.name)) + + def DoCommand(self, cmd, device_id): + for dev_id, tv in self.tvs.items(): + if device_id in (tv.name, dev_id): + break + else: + eg.PrintNotice('TV {0} not found.'.format(device_id)) + return + + try: + tv.send(cmd) + except: + eg.PrintNotice('TV {0} is not powered on.'.format(tv.name)) + + +class DiscoveryThread(object): + + def __init__(self, plugin): + + self.thread = None + self.event = threading.Event() + self.plugin = plugin + + def run(self): + found_tvs = [] + + for device_id, tv_data in SamsungConfig.tv_data.items(): + model = tv_data.pop('model') + config = Config(**tv_data) + tv_data['model'] = model + tvs = list(discover(config)) + + if tvs: + tv = tvs[0] + self.plugin.add_tv(tv) + tv.power = True + found_tvs += [tv.device_id] + + while not self.event.isSet(): + + for tv in discover(): + + if self.event.isSet(): + break + + if tv.device_id in found_tvs: + continue + + found_tvs += [tv.device_id] + tv.power = True + if tv.device_id not in self.plugin.tvs: + self.plugin.add_tv(tv) + + for device_id, tv in list(self.plugin.tvs.items())[:]: + if device_id not in found_tvs: + tv.power = False + + del found_tvs[:] + + self.thread = None + + def start(self): + if self.thread is None: + self.event.clear() + self.thread = threading.Thread(target=self.run) + self.thread.daemon = True + self.thread.start() + + def stop(self): + if self.thread is not None: + self.event.set() + + +class StateThread(object): + + def __init__(self, plugin, tvs): + self.plugin = plugin + self.tvs = tvs + self.states = {} + self.thread = None + self.event = threading.Event() + + def start(self): + if self.thread is None: + self.event.clear() + self.thread = threading.Thread(target=self.run) + self.thread.daemon = True + self.thread.start() + + def stop(self): + if self.thread is not None: + self.event.set() + + def run(self): + import requests + from lxml import etree + while not self.event.isSet(): + for device_id, tv in list(self.tvs.items())[:]: + + if device_id not in self.states: + states = dict( + brightness=tv.brightness, + contrast=tv.contrast, + sharpness=tv.sharpness, + color_temperature=tv.color_temperature, + channel=tv.channel, + source=tv.source, + power=tv.power, + media_info=tv.media_info, + track_number=tv.position_info[0], + transport_state=tv.transport_info[0], + transport_status=tv.transport_info[1], + volume=tv.volume, + mute=tv.mute + ) + self.states[device_id] = states + + else: + states = self.states[device_id] + + def check_state(attr): + new_state = getattr(tv, attr) + if states[attr] != new_state: + states[attr] = new_state + if isinstance(new_state, bool): + new_state = 'On' if new_state else 'Off' + elif isinstance(new_state, int): + new_state = str(new_state) + elif not isinstance(new_state, (basestring, dict)): + new_state = new_state.label + + event = attr.replace('_', ' ').title() + event = event.replace(' ', '') + + if not isinstance(new_state, dict): + event += '.' + new_state + + self.plugin.TriggerEvent( + tv.name + '.' + event, + new_state + if isinstance(new_state, dict) + else None + ) + return new_state + + try: + + if check_state('power'): + check_state('brightness') + check_state('contrast') + check_state('sharpness') + check_state('color_temperature') + check_state('channel') + check_state('source') + check_state('media_info') + check_state('volume') + check_state('mute') + + transport_state = ( + tv.transport_info[0] + ) + transport_status = ( + tv.transport_info[1] + ) + track_number = tv.position_info[0] + + if states['transport_state'] != transport_state: + states['transport_state'] = transport_state + self.plugin.TriggerEvent( + tv.name + 'TransportState.' + + transport_state + ) + if states['transport_status'] != transport_status: + states['transport_status'] = transport_status + self.plugin.TriggerEvent( + tv.name + 'TransportStatus.' + + transport_status + ) + if states['track_number'] != track_number: + states['track_number'] = track_number + self.plugin.TriggerEvent( + tv.name + 'Track.' + track_number + ) + except (requests.ConnectionError, etree.XMLSyntaxError): + tv.power = False + + self.event.wait(0.2) + + self.thread = None + + +text_widgets = [] + + +def equalize_widths(): + eg.EqualizeWidths(tuple(text_widgets)) + del text_widgets[:] + + +def h_sizer(s, c): + t_sizer = wx.BoxSizer(wx.HORIZONTAL) + t_sizer.Add(s, 0, wx.EXPAND | wx.ALL, 5) + t_sizer.Add(c, 0, wx.EXPAND | wx.ALL, 5) + text_widgets.append(s) + return t_sizer + + +class TVChoiceCtrl(wx.Panel): + + def __init__(self, parent, value, tvs): + self.tvs = tvs + wx.Panel.__init__(self, parent, -1, style=wx.BORDER_NONE) + choices = sorted(list(tv.name for tv in self.tvs.values())) + + choice_st = wx.StaticText(self, -1, Text.tv_label) + choice_ctrl = wx.Choice(self, -1, choices=choices) + + def set_tv(): + val = choice_ctrl.GetStringSelection() + + for device_id, tv in self.tvs.items(): + if tv.name == val: + break + else: + return None + return device_id + + if value in self.tvs: + tv = self.tvs[value] + choice_ctrl.SetStringSelection(tv.name) + else: + choice_ctrl.SetSelection(0) + + set_tv() + + sizer = wx.BoxSizer(wx.VERTICAL) + + def add(s, c): + sizer.Add(h_sizer(s, c), 0, wx.EXPAND) + + add(choice_st, choice_ctrl) + sizer.Add(wx.StaticLine(self, -1), 0, wx.EXPAND | wx.ALL, 5) + + def get_string_selection(): + dev_name = choice_ctrl.GetStringSelection() + for dev_id, tv in self.tvs.items(): + if tv.name == dev_name: + return dev_id + + del text_widgets[:] + + self.GetStringSelection = get_string_selection + self.SetSizer(sizer) + + +class SetBase(eg.ActionBase): + _attribute_name = '' + + def __call__(self, value, device_id=None): + if device_id is None: + if len(self.plugin.tvs.keys()) > 1: + self.plugin.PrintError('You need to select a TV first') + return + device_id = self.plugin.tvs.keys()[0] + + for dev_id, tv in self.plugin.tvs.items(): + if device_id in (dev_id, tv.name): + break + else: + self.plugin.PrintError('Unable to locate the TV') + return + + setattr(tv, self._attribute_name, value) + + def Configure(self, value=0, device_id=None): + panel = eg.ConfigPanel() + + tv_ctrl = TVChoiceCtrl(panel, device_id, self.plugin.tvs) + label = getattr(Text, self._attribute_name + '_label') + + value_st = panel.StaticText(label + ':') + value_ctrl = panel.SpinIntCtrl( + value=value, + min=0, max=100, + increment=1 + ) + + panel.sizer.Add(tv_ctrl, 0, wx.EXPAND) + panel.sizer.Add(h_sizer(value_st, value_ctrl), 0, wx.EXPAND) + + del text_widgets[:] + + while panel.Affirmed(): + panel.SetResult( + value_ctrl.GetValue(), + tv_ctrl.GetStringSelection() + ) + + +class GetBase(eg.ActionBase): + _attribute_name = '' + + def __call__(self, device_id=None): + if device_id is None: + if len(self.plugin.tvs.keys()) > 1: + self.plugin.PrintError('You need to select a TV first') + return + device_id = self.plugin.tvs.keys()[0] + + for dev_id, tv in self.plugin.tvs.items(): + if device_id in (dev_id, tv.name): + break + else: + self.plugin.PrintError('Unable to locate the TV') + return + + return getattr(tv, self._attribute_name) + + def Configure(self, device_id=None): + panel = eg.ConfigPanel() + + tv_ctrl = TVChoiceCtrl(panel, device_id, self.plugin.tvs) + panel.sizer.Add(tv_ctrl, 0, wx.EXPAND) + + del text_widgets[:] + + if tv_ctrl.GetStringSelection(): + wx.CallAfter(panel.EnableButtons, True) + + while panel.Affirmed(): + panel.SetResult( + tv_ctrl.GetStringSelection() + ) + + +class SetSource(eg.ActionBase): + + def __call__(self, source, device_id=None): + if device_id is None: + if len(self.plugin.tvs.keys()) > 1: + self.plugin.PrintError('You need to select a TV first') + return + device_id = self.plugin.tvs.keys()[0] + + for dev_id, tv in self.plugin.tvs.items(): + if device_id in (dev_id, tv.name): + break + else: + self.plugin.PrintError('Unable to locate the TV') + return + + for src in tv.sources: + if source in (src.name, src.label, src.device_name): + if src.is_connected: + src.activate() + else: + self.plugin.PrintError( + 'Source {0} on tv {1} is marked as ' + 'not being connected.'.format(source, tv.name) + ) + + break + else: + self.plugin.PrintError( + 'Unable to locate the source {0} ' + 'on tv {1}'.format(source, tv.name) + ) + + def Configure(self, source=None, device_id=None): + panel = eg.ConfigPanel() + + tv_ctrl = TVChoiceCtrl(panel, device_id, self.plugin.tvs) + source_st = panel.StaticText(Text.source_label) + source_ctrl = wx.Choice(panel, -1, choices=[]) + + if device_id is None: + device_id = tv_ctrl.GetStringSelection() + + if device_id is not None and device_id in self.plugin.tvs: + choices = sorted( + list(s.label for s in self.plugin.tvs[device_id].sources) + ) + source_ctrl.AppendItems(choices) + if source in choices: + source_ctrl.SetStringSelection(source) + else: + source_ctrl.SetSelection(0) + + panel.sizer.Add(tv_ctrl, 0, wx.EXPAND) + panel.sizer.Add(h_sizer(source_st, source_ctrl), 0, wx.EXPAND) + + def on_choice(evt): + value = tv_ctrl.GetStringSelection() + tv = self.plugin.tvs[value] + source_ctrl.Clear() + source_ctrl.AppendItems(sorted(list(s.label for s in tv.sources))) + source_ctrl.SetSelection(0) + evt.Skip() + + tv_ctrl.Bind(wx.EVT_CHOICE, on_choice) + + del text_widgets[:] + + while panel.Affirmed(): + panel.SetResult( + source_ctrl.GetStringSelection(), + tv_ctrl.GetStringSelection() + ) + + +class GetSource(GetBase): + _attribute_name = 'source' + + +class GetSources(GetBase): + _attribute_name = 'sources' + + +class SetVolume(SetBase): + _attribute_name = 'volume' + + +class GetVolume(GetBase): + _attribute_name = 'volume' + + +class SetBrightness(SetBase): + _attribute_name = 'brightness' + + +class GetBrightness(GetBase): + _attribute_name = 'brightness' + + +class SetContrast(SetBase): + _attribute_name = 'contrast' + + +class GetContrast(GetBase): + _attribute_name = 'contrast' + + +class SetSharpness(SetBase): + _attribute_name = 'sharpness' + + +class GetSharpness(GetBase): + _attribute_name = 'sharpness' + + +class SetColorTemperature(SetBase): + _attribute_name = 'color_temperature' + + +class GetColorTemperature(GetBase): + _attribute_name = 'color_temperature' + + +class SetMute(eg.ActionBase): + def __call__(self, mute, device_id=None): + if device_id is None: + if len(self.plugin.tvs.keys()) > 1: + self.plugin.PrintError('You need to select a TV first') + return + device_id = self.plugin.tvs.keys()[0] + + for dev_id, tv in self.plugin.tvs.items(): + if device_id in (dev_id, tv.name): + break + else: + self.plugin.PrintError('Unable to locate the TV') + return + + tv.mute = mute + + def Configure(self, mute=False, device_id=None): + panel = eg.ConfigPanel() + + tv_ctrl = TVChoiceCtrl(panel, device_id, self.plugin.tvs) + + mute_st = panel.StaticText(Text.mute_label) + mute_ctrl = wx.Choice(panel, -1, choices=['Off', 'On']) + + mute_ctrl.SetSelection(int(mute)) + + panel.sizer.Add(tv_ctrl, 0, wx.EXPAND) + panel.sizer.Add(h_sizer(mute_st, mute_ctrl), 0, wx.EXPAND) + + del text_widgets[:] + + while panel.Affirmed(): + panel.SetResult( + bool(mute_ctrl.GetSelection()), + tv_ctrl.GetStringSelection() + ) + + +class GetMute(GetBase): + _attribute_name = 'mute' + + +class GetPower(GetBase): + _attribute_name = 'power' + + +class GetChannel(GetBase): + _attribute_name = 'channel' + + +class GetChannels(GetBase): + _attribute_name = 'channels' + + +class RunBrowser(eg.ActionBase): + def __call__(self, url, device_id=None): + if device_id is None: + if len(self.plugin.tvs.keys()) > 1: + self.plugin.PrintError('You need to select a TV first') + return + device_id = self.plugin.tvs.keys()[0] + + for dev_id, tv in self.plugin.tvs.items(): + if device_id in (dev_id, tv.name): + break + else: + self.plugin.PrintError('Unable to locate the TV') + return + + tv.run_browser(url) + + def Configure(self, url='', device_id=None): + panel = eg.ConfigPanel() + + tv_ctrl = TVChoiceCtrl(panel, device_id, self.plugin.tvs) + url_st = panel.StaticText(Text.url_label) + url_ctrl = panel.TextCtrl(url) + + panel.sizer.Add(tv_ctrl, 0, wx.EXPAND) + panel.sizer.Add(h_sizer(url_st, url_ctrl), 0, wx.EXPAND) + + del text_widgets[:] + + while panel.Affirmed(): + panel.SetResult( + url_ctrl.GetValue(), + tv_ctrl.GetStringSelection() + ) + + +class RunApplication(eg.ActionBase): + def __call__(self, app, device_id=None): + if device_id is None: + if len(self.plugin.tvs.keys()) > 1: + self.plugin.PrintError('You need to select a TV first') + return + device_id = self.plugin.tvs.keys()[0] + + for dev_id, tv in self.plugin.tvs.items(): + if device_id in (dev_id, tv.name): + break + else: + self.plugin.PrintError('Unable to locate the TV') + return + + tv.run_application(app) + + def Configure(self, app='', device_id=None): + panel = eg.ConfigPanel() + + tv_ctrl = TVChoiceCtrl(panel, device_id, self.plugin.tvs) + app_st = panel.StaticText(Text.app_label) + app_ctrl = panel.TextCtrl(app) + + panel.sizer.Add(tv_ctrl, 0, wx.EXPAND) + panel.sizer.Add(h_sizer(app_st, app_ctrl), 0, wx.EXPAND) + + del text_widgets[:] + + while panel.Affirmed(): + panel.SetResult( + app_ctrl.GetValue(), + tv_ctrl.GetStringSelection() + ) + + +class SendKey(eg.ActionBase): + + def __call__(self, cmd=None, device_id=None): + if device_id is None: + if len(self.plugin.tvs.keys()) > 1: + self.plugin.PrintError('You need to select a TV first') + return False + device_id = self.plugin.tvs.keys()[0] + + if cmd is None: + if not hasattr(self, 'value'): + self.plugin.PrintError('You need to select a key to send') + return False + cmd = self.value + + self.plugin.DoCommand(cmd, device_id) + + def Configure(self, cmd='', device_id=''): + panel = eg.ConfigPanel() + + tv_ctrl = TVChoiceCtrl(panel, device_id, self.plugin.tvs) + panel.sizer.Add(tv_ctrl, 0, wx.EXPAND) + + commands = [] + for group in ACTION: + for key in group[4]: + commands += [key[-2:]] + + if hasattr(self, 'value'): + class CommandCtrl(object): + def __init__(self, value): + self.value = value + + def GetStringSelection(self): + return self.value + + + for com, value in commands: + if value == self.value: + break + else: + com = '' + + cmd_ctrl = CommandCtrl(com) + + else: + cmd_st = panel.StaticText(Text.key_label) + cmd_ctrl = wx.Choice( + panel, + -1, + choices=list(c[0] for c in commands) + ) + + for cmd_name, cmd_value in commands: + if cmd_value == cmd: + cmd_ctrl.SetStringSelection(cmd_name) + break + else: + cmd_ctrl.SetSelection(0) + + panel.sizer.Add(h_sizer(cmd_st, cmd_ctrl), 0, wx.EXPAND) + + wx.CallAfter(panel.EnableButtons, True) + + del text_widgets[:] + + while panel.Affirmed(): + v = cmd_ctrl.GetStringSelection() + for cmd_name, cmd in commands: + if cmd_name == v: + break + else: + cmd = None + + panel.SetResult(cmd, tv_ctrl.GetStringSelection()) + +ACTION = ( + ( + eg.ActionGroup, 'Power', 'Power Keys', 'Power Keys ', ( + (SendKey, 'fnKEY_POWEROFF', 'Power OFF', 'Power OFF', 'KEY_POWEROFF'), + (SendKey, 'fnKEY_POWERON', 'Power On', 'Power On', 'KEY_POWERON'), + (SendKey, 'fnKEY_POWER', 'Alternate Power', 'Power Toggle', 'KEY_POWER') + ) + ), + ( + eg.ActionGroup, 'Input', 'Input Keys', 'Input Keys ', ( + (SendKey, 'fnKEY_SOURCE', 'Source', 'Source', 'KEY_SOURCE'), + (SendKey, 'fnKEY_COMPONENT1', 'Component 1', 'Component 1', 'KEY_COMPONENT1'), + (SendKey, 'fnKEY_COMPONENT2', 'Component 2', 'Component 2', 'KEY_COMPONENT2'), + (SendKey, 'fnKEY_AV1', 'AV 1', 'AV 1', 'KEY_AV1'), + (SendKey, 'fnKEY_AV2', 'AV 2', 'AV 2', 'KEY_AV2'), + (SendKey, 'fnKEY_AV3', 'AV 3', 'AV 3', 'KEY_AV3'), + (SendKey, 'fnKEY_SVIDEO1', 'S Video 1', 'S Video 1', 'KEY_SVIDEO1'), + (SendKey, 'fnKEY_SVIDEO2', 'S Video 2', 'S Video 2', 'KEY_SVIDEO2'), + (SendKey, 'fnKEY_SVIDEO3', 'S Video 3', 'S Video 3', 'KEY_SVIDEO3'), + (SendKey, 'fnKEY_HDMI', 'HDMI', 'HDMI', 'KEY_HDMI'), + (SendKey, 'fnKEY_HDMI1', 'HDMI 1', 'HDMI 1', 'KEY_HDMI1'), + (SendKey, 'fnKEY_HDMI2', 'HDMI 2', 'HDMI 2', 'KEY_HDMI2'), + (SendKey, 'fnKEY_HDMI3', 'HDMI 3', 'HDMI 3', 'KEY_HDMI3'), + (SendKey, 'fnKEY_HDMI4', 'HDMI 4', 'HDMI 4', 'KEY_HDMI4'), + (SendKey, 'fnKEY_FM_RADIO', 'FM Radio', 'FM Radio', 'KEY_FM_RADIO'), + (SendKey, 'fnKEY_DVI', 'DVI', 'DVI', 'KEY_DVI'), + (SendKey, 'fnKEY_DVR', 'DVR', 'DVR', 'KEY_DVR'), + (SendKey, 'fnKEY_TV', 'TV', 'TV', 'KEY_TV'), + (SendKey, 'fnKEY_ANTENA', 'Analog TV', 'Analog TV', 'KEY_ANTENA'), + (SendKey, 'fnKEY_DTV', 'Digital TV', 'Digital TV', 'KEY_DTV') + ) + ), + ( + eg.ActionGroup, 'Numbers', 'Number Keys', 'Number Keys ', ( + (SendKey, 'fnKEY_1', 'Key1', 'Key1', 'KEY_1'), + (SendKey, 'fnKEY_2', 'Key2', 'Key2', 'KEY_2'), + (SendKey, 'fnKEY_3', 'Key3', 'Key3', 'KEY_3'), + (SendKey, 'fnKEY_4', 'Key4', 'Key4', 'KEY_4'), + (SendKey, 'fnKEY_5', 'Key5', 'Key5', 'KEY_5'), + (SendKey, 'fnKEY_6', 'Key6', 'Key6', 'KEY_6'), + (SendKey, 'fnKEY_7', 'Key7', 'Key7', 'KEY_7'), + (SendKey, 'fnKEY_8', 'Key8', 'Key8', 'KEY_8'), + (SendKey, 'fnKEY_9', 'Key9', 'Key9', 'KEY_9'), + (SendKey, 'fnKEY_0', 'Key0', 'Key0', 'KEY_0') + ) + ), + ( + eg.ActionGroup, 'Misc', 'Misc Keys', 'Misc Keys ', ( + (SendKey, 'fnKEY_PANNEL_CHDOWN', '3D', '3D', 'KEY_PANNEL_CHDOWN'), + (SendKey, 'fnKEY_ANYNET', 'AnyNet+', 'AnyNet+', 'KEY_ANYNET'), + (SendKey, 'fnKEY_ESAVING', 'Energy Saving', 'Energy Saving', 'KEY_ESAVING'), + (SendKey, 'fnKEY_SLEEP', 'Sleep Timer', 'Sleep Timer', 'KEY_SLEEP'), + (SendKey, 'fnKEY_DTV_SIGNAL', 'DTV Signal', 'DTV Signal', 'KEY_DTV_SIGNAL') + + ) + ), + ( + eg.ActionGroup, 'Channel', 'Channel Keys', 'Channel Keys ', ( + (SendKey, 'fnKEY_CHUP', 'ChannelUp', 'ChannelUp', 'KEY_CHUP'), + (SendKey, 'fnKEY_CHDOWN', 'ChannelDown', 'ChannelDown', 'KEY_CHDOWN'), + (SendKey, 'fnKEY_PRECH', 'Previous Channel', 'Previous Channel', 'KEY_PRECH'), + (SendKey, 'fnKEY_FAVCH', 'Favorite Channels', 'Favorite Channels', 'KEY_FAVCH'), + (SendKey, 'fnKEY_CH_LIST', 'Channel List', 'Channel List', 'KEY_CH_LIST'), + (SendKey, 'fnKEY_AUTO_PROGRAM', 'Auto Program', 'Auto Program', 'KEY_AUTO_PROGRAM'), + (SendKey, 'fnKEY_MAGIC_CHANNEL', 'Magic Channel', 'Magic Channel', 'KEY_MAGIC_CHANNEL'), + ) + ), + ( + eg.ActionGroup, 'Volume', 'Volume Keys', 'Volume Keys ', ( + (SendKey, 'fnKEY_VOLUP', 'VolUp', 'VolUp', 'KEY_VOLUP'), + (SendKey, 'fnKEY_VOLDOWN', 'VolDown', 'VolDown', 'KEY_VOLDOWN'), + (SendKey, 'fnKEY_MUTE', 'Mute', 'Mute', 'KEY_MUTE') + ) + ), + ( + eg.ActionGroup, 'Direction', 'Direction Keys', 'Direction Keys ', ( + (SendKey, 'fnKEY_UP', 'Up', 'Up', 'KEY_UP'), + (SendKey, 'fnKEY_DOWN', 'Down', 'Down', 'KEY_DOWN'), + (SendKey, 'fnKEY_LEFT', 'Left', 'Left', 'KEY_LEFT'), + (SendKey, 'fnKEY_RIGHT', 'Right', 'Right', 'KEY_RIGHT'), + (SendKey, 'fnKEY_RETURN', 'Return', 'Return', 'KEY_RETURN'), + (SendKey, 'fnKEY_ENTER', 'Enter', 'Enter', 'KEY_ENTER') + ) + ), + ( + eg.ActionGroup, 'Media', 'Media Keys', 'Media Keys ', ( + (SendKey, 'fnKEY_REWIND', 'Rewind', 'Rewind', 'KEY_REWIND'), + (SendKey, 'fnKEY_STOP', 'Stop', 'Stop', 'KEY_STOP'), + (SendKey, 'fnKEY_PLAY', 'Play', 'Play', 'KEY_PLAY'), + (SendKey, 'fnKEY_FF', 'FastForward', 'FastForward', 'KEY_FF'), + (SendKey, 'fnKEY_REC', 'Record', 'Record', 'KEY_REC'), + (SendKey, 'fnKEY_PAUSE', 'Pause', 'Pause', 'KEY_PAUSE'), + (SendKey, 'fnKEY_LIVE', 'Live', 'Live', 'KEY_LIVE'), + (SendKey, 'fnKEY_QUICK_REPLAY', 'Quick Replay', 'Quick Replay', 'KEY_QUICK_REPLAY'), + (SendKey, 'fnKEY_STILL_PICTURE', 'Still Picture', 'Still Picture', 'KEY_STILL_PICTURE'), + (SendKey, 'fnKEY_INSTANT_REPLAY', 'Instant Replay', 'Instant Replay', 'KEY_INSTANT_REPLAY') + ) + ), + ( + eg.ActionGroup, 'PIP', 'Picture in Picture', 'Picture in Picture ', ( + (SendKey, 'fnKEY_PIP_ONOFF', 'PIP On/Off', 'PIP On/Off', 'KEY_PIP_ONOFF'), + (SendKey, 'fnKEY_PIP_SWAP', 'PIP Swap', 'PIP Swap', 'KEY_PIP_SWAP'), + (SendKey, 'fnKEY_PIP_SIZE', 'PIP Size', 'PIP Size', 'KEY_PIP_SIZE'), + (SendKey, 'fnKEY_PIP_CHUP', 'PIP Channel Up', 'PIP Channel Up', 'KEY_PIP_CHUP'), + (SendKey, 'fnKEY_PIP_CHDOWN', 'PIP Channel Down', 'PIP Channel Down', 'KEY_PIP_CHDOWN'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_SMALL', 'PIP Small', 'PIP Small', 'KEY_AUTO_ARC_PIP_SMALL'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_WIDE', 'PIP Wide', 'PIP Wide', 'KEY_AUTO_ARC_PIP_WIDE'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_RIGHT_BOTTOM', 'PIP Bottom Right', 'PIP Bottom Right', 'KEY_AUTO_ARC_PIP_RIGHT_BOTTOM'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_SOURCE_CHANGE', 'PIP Source Change', 'PIP Source Change', 'KEY_AUTO_ARC_PIP_SOURCE_CHANGE'), + (SendKey, 'fnKEY_PIP_SCAN', 'PIP Scan', 'PIP Scan', 'KEY_PIP_SCAN') + ) + ), + ( + eg.ActionGroup, 'Modes', 'Modes', 'Modes ', ( + (SendKey, 'fnKEY_VCR_MODE', 'VCR Mode', 'VCR Mode', 'KEY_VCR_MODE'), + (SendKey, 'fnKEY_CATV_MODE', 'CATV Mode', 'CATV Mode', 'KEY_CATV_MODE'), + (SendKey, 'fnKEY_DSS_MODE', 'DSS Mode', 'DSS Mode', 'KEY_DSS_MODE'), + (SendKey, 'fnKEY_TV_MODE', 'TV Mode', 'TV Mode', 'KEY_TV_MODE'), + (SendKey, 'fnKEY_DVD_MODE', 'DVD Mode', 'DVD Mode', 'KEY_DVD_MODE'), + (SendKey, 'fnKEY_STB_MODE', 'STB Mode', 'STB Mode', 'KEY_STB_MODE'), + (SendKey, 'fnKEY_PCMODE', 'PC Mode', 'PC Mode', 'KEY_PCMODE') + ) + ), + ( + eg.ActionGroup, 'Colors', 'Color Keys', 'Color Keys ', ( + (SendKey, 'fnKEY_GREEN', 'Green', 'Green', 'KEY_GREEN'), + (SendKey, 'fnKEY_YELLOW', 'Yellow', 'Yellow', 'KEY_YELLOW'), + (SendKey, 'fnKEY_CYAN', 'Cyan', 'Cyan', 'KEY_CYAN'), + (SendKey, 'fnKEY_RED', 'Red', 'Red', 'KEY_RED') + ) + ), + ( + eg.ActionGroup, 'Teletext', 'Teletext', 'Teletext ', ( + (SendKey, 'fnKEY_TTX_MIX', 'Teletext Mix', 'Teletext Mix', 'KEY_TTX_MIX'), + (SendKey, 'fnKEY_TTX_SUBFACE', 'Teletext Subface', 'Teletext Subface', 'KEY_TTX_SUBFACE') + ) + ), + ( + eg.ActionGroup, 'AspectRatio', 'Aspect Ratio', 'Aspect Ratio ', ( + (SendKey, 'fnKEY_ASPECT', 'Aspect Ratio', 'Aspect Ratio', 'KEY_ASPECT'), + (SendKey, 'fnKEY_PICTURE_SIZE', 'Picture Size', 'Picture Size', 'KEY_PICTURE_SIZE'), + (SendKey, 'fnKEY_4_3', 'Aspect Ratio 4:3', 'Aspect Ratio 4:3', 'KEY_4_3'), + (SendKey, 'fnKEY_16_9', 'Aspect Ratio 16:9', 'Aspect Ratio 16:9', 'KEY_16_9'), + (SendKey, 'fnKEY_EXT14', 'Aspect Ratio 3:4 (Alternate)', 'Aspect Ratio 3:4 (Alternate)', 'KEY_EXT14'), + (SendKey, 'fnKEY_EXT15', 'Aspect Ratio 16:9 (Alternate)', 'Aspect Ratio 16:9 (Alternate)', 'KEY_EXT15') + + ) + ), + ( + eg.ActionGroup, 'PictureMode', 'Picture Mode', 'Picture Mode ', ( + (SendKey, 'fnKEY_PMODE', 'Picture Mode', 'Picture Mode', 'KEY_PMODE'), + (SendKey, 'fnKEY_PANORAMA', 'Picture Mode Panorama', 'Picture Mode Panorama', 'KEY_PANORAMA'), + (SendKey, 'fnKEY_DYNAMIC', 'Picture Mode Dynamic', 'Picture Mode Dynamic', 'KEY_DYNAMIC'), + (SendKey, 'fnKEY_STANDARD', 'Picture Mode Standard', 'Picture Mode Standard', 'KEY_STANDARD'), + (SendKey, 'fnKEY_MOVIE1', 'Picture Mode Movie', 'Picture Mode Movie', 'KEY_MOVIE1'), + (SendKey, 'fnKEY_GAME', 'Picture Mode Game', 'Picture Mode Game', 'KEY_GAME'), + (SendKey, 'fnKEY_CUSTOM', 'Picture Mode Custom', 'Picture Mode Custom', 'KEY_CUSTOM'), + (SendKey, 'fnKEY_EXT9', 'Picture Mode Movie (Alternate)', 'Picture Mode Movie (Alternate)', 'KEY_EXT9'), + (SendKey, 'fnKEY_EXT10', 'Picture Mode Standard (Alternate)', 'Picture Mode Standard (Alternate)', 'KEY_EXT10') + ) + ), + ( + eg.ActionGroup, 'Menus', 'Menus', 'Menus ', ( + (SendKey, 'fnKEY_MENU', 'Menu', 'Menu', 'KEY_MENU'), + (SendKey, 'fnKEY_TOPMENU', 'Top Menu', 'Top Menu', 'KEY_TOPMENU'), + (SendKey, 'fnKEY_TOOLS', 'Tools', 'Tools', 'KEY_TOOLS'), + (SendKey, 'fnKEY_HOME', 'Home', 'Home', 'KEY_HOME'), + (SendKey, 'fnKEY_CONTENTS', 'Contents', 'Contents', 'KEY_CONTENTS'), + (SendKey, 'fnKEY_GUIDE', 'Guide', 'Guide', 'KEY_GUIDE'), + (SendKey, 'fnKEY_DISC_MENU', 'Disc Menu', 'Disc Menu', 'KEY_DISC_MENU'), + (SendKey, 'fnKEY_DVR_MENU', 'DVR Menu', 'DVR Menu', 'KEY_DVR_MENU'), + (SendKey, 'fnKEY_HELP', 'Help', 'Help', 'KEY_HELP') + ) + ), + ( + eg.ActionGroup, 'OSD', 'OSD', 'OSD ', ( + (SendKey, 'fnKEY_INFO', 'Info', 'Info', 'KEY_INFO'), + (SendKey, 'fnKEY_CAPTION', 'Caption', 'Caption', 'KEY_CAPTION'), + (SendKey, 'fnKEY_CLOCK_DISPLAY', 'ClockDisplay', 'ClockDisplay', 'KEY_CLOCK_DISPLAY'), + (SendKey, 'fnKEY_SETUP_CLOCK_TIMER', 'Setup Clock', 'Setup Clock', 'KEY_SETUP_CLOCK_TIMER'), + (SendKey, 'fnKEY_SUB_TITLE', 'Subtitle', 'Subtitle', 'KEY_SUB_TITLE'), + ) + ), + ( + eg.ActionGroup, 'Zoom', 'Zoom', 'Zoom ', ( + (SendKey, 'fnKEY_ZOOM_MOVE', 'Zoom Move', 'Zoom Move', 'KEY_ZOOM_MOVE'), + (SendKey, 'fnKEY_ZOOM_IN', 'Zoom In', 'Zoom In', 'KEY_ZOOM_IN'), + (SendKey, 'fnKEY_ZOOM_OUT', 'Zoom Out', 'Zoom Out', 'KEY_ZOOM_OUT'), + (SendKey, 'fnKEY_ZOOM1', 'Zoom 1', 'Zoom 1', 'KEY_ZOOM1'), + (SendKey, 'fnKEY_ZOOM2', 'Zoom 2', 'Zoom 2', 'KEY_ZOOM2') + ) + ), + ( + eg.ActionGroup, 'Other', 'Other Keys', 'Other Keys ', ( + (SendKey, 'fnKEY_WHEEL_LEFT', 'Wheel Left', 'Wheel Left', 'KEY_WHEEL_LEFT'), + (SendKey, 'fnKEY_WHEEL_RIGHT', 'Wheel Right', 'Wheel Right', 'KEY_WHEEL_RIGHT'), + (SendKey, 'fnKEY_ADDDEL', 'Add/Del', 'Add/Del', 'KEY_ADDDEL'), + (SendKey, 'fnKEY_PLUS100', 'Plus 100', 'Plus 100', 'KEY_PLUS100'), + (SendKey, 'fnKEY_AD', 'AD', 'AD', 'KEY_AD'), + (SendKey, 'fnKEY_LINK', 'Link', 'Link', 'KEY_LINK'), + (SendKey, 'fnKEY_TURBO', 'Turbo', 'Turbo', 'KEY_TURBO'), + (SendKey, 'fnKEY_CONVERGENCE', 'Convergence', 'Convergence', 'KEY_CONVERGENCE'), + (SendKey, 'fnKEY_DEVICE_CONNECT', 'Device Connect', 'Device Connect', 'KEY_DEVICE_CONNECT'), + (SendKey, 'fnKEY_11', 'Key 11', 'Key 11', 'KEY_11'), + (SendKey, 'fnKEY_12', 'Key 12', 'Key 12', 'KEY_12'), + (SendKey, 'fnKEY_FACTORY', 'Key Factory', 'Key Factory', 'KEY_FACTORY'), + (SendKey, 'fnKEY_3SPEED', 'Key 3SPEED', 'Key 3SPEED', 'KEY_3SPEED'), + (SendKey, 'fnKEY_RSURF', 'Key RSURF', 'Key RSURF', 'KEY_RSURF'), + (SendKey, 'fnKEY_FF_', 'FF_', 'FF_', 'KEY_FF_'), + (SendKey, 'fnKEY_REWIND_', 'REWIND_', 'REWIND_', 'KEY_REWIND_'), + (SendKey, 'fnKEY_ANGLE', 'Angle', 'Angle', 'KEY_ANGLE'), + (SendKey, 'fnKEY_RESERVED1', 'Reserved 1', 'Reserved 1', 'KEY_RESERVED1'), + (SendKey, 'fnKEY_PROGRAM', 'Program', 'Program', 'KEY_PROGRAM'), + (SendKey, 'fnKEY_BOOKMARK', 'Bookmark', 'Bookmark', 'KEY_BOOKMARK'), + (SendKey, 'fnKEY_PRINT', 'Print', 'Print', 'KEY_PRINT'), + (SendKey, 'fnKEY_CLEAR', 'Clear', 'Clear', 'KEY_CLEAR'), + (SendKey, 'fnKEY_VCHIP', 'V Chip', 'V Chip', 'KEY_VCHIP'), + (SendKey, 'fnKEY_REPEAT', 'Repeat', 'Repeat', 'KEY_REPEAT'), + (SendKey, 'fnKEY_DOOR', 'Door', 'Door', 'KEY_DOOR'), + (SendKey, 'fnKEY_OPEN', 'Open', 'Open', 'KEY_OPEN'), + (SendKey, 'fnKEY_DMA', 'DMA', 'DMA', 'KEY_DMA'), + (SendKey, 'fnKEY_MTS', 'MTS', 'MTS', 'KEY_MTS'), + (SendKey, 'fnKEY_DNIe', 'DNIe', 'DNIe', 'KEY_DNIe'), + (SendKey, 'fnKEY_SRS', 'SRS', 'SRS', 'KEY_SRS'), + (SendKey, 'fnKEY_CONVERT_AUDIO_MAINSUB', 'Convert Audio Main/Sub', 'Convert Audio Main/Sub', 'KEY_CONVERT_AUDIO_MAINSUB'), + (SendKey, 'fnKEY_MDC', 'MDC', 'MDC', 'KEY_MDC'), + (SendKey, 'fnKEY_SEFFECT', 'Sound Effect', 'Sound Effect', 'KEY_SEFFECT'), + (SendKey, 'fnKEY_PERPECT_FOCUS', 'PERPECT Focus','PERPECT Focus', 'KEY_PERPECT_FOCUS'), + (SendKey, 'fnKEY_CALLER_ID', 'Caller ID', 'Caller ID', 'KEY_CALLER_ID'), + (SendKey, 'fnKEY_SCALE', 'Scale', 'Scale', 'KEY_SCALE'), + (SendKey, 'fnKEY_MAGIC_BRIGHT', 'Magic Bright', 'Magic Bright', 'KEY_MAGIC_BRIGHT'), + (SendKey, 'fnKEY_W_LINK', 'W Link', 'W Link', 'KEY_W_LINK'), + (SendKey, 'fnKEY_DTV_LINK', 'DTV Link', 'DTV Link', 'KEY_DTV_LINK'), + (SendKey, 'fnKEY_APP_LIST', 'Application List', 'Application List', 'KEY_APP_LIST'), + (SendKey, 'fnKEY_BACK_MHP', 'Back MHP', 'Back MHP', 'KEY_BACK_MHP'), + (SendKey, 'fnKEY_ALT_MHP', 'Alternate MHP', 'Alternate MHP', 'KEY_ALT_MHP'), + (SendKey, 'fnKEY_DNSe', 'DNSe', 'DNSe', 'KEY_DNSe'), + (SendKey, 'fnKEY_RSS', 'RSS', 'RSS', 'KEY_RSS'), + (SendKey, 'fnKEY_ENTERTAINMENT', 'Entertainment', 'Entertainment', 'KEY_ENTERTAINMENT'), + (SendKey, 'fnKEY_ID_INPUT', 'ID Input', 'ID Input', 'KEY_ID_INPUT'), + (SendKey, 'fnKEY_ID_SETUP', 'ID Setup', 'ID Setup', 'KEY_ID_SETUP'), + (SendKey, 'fnKEY_ANYVIEW', 'Any View', 'Any View', 'KEY_ANYVIEW'), + (SendKey, 'fnKEY_MS', 'MS', 'MS', 'KEY_MS'), + (SendKey, 'fnKEY_MORE', 'KEY_MORE', 'KEY_MORE', 'KEY_MORE'), + (SendKey, 'fnKEY_MIC', 'KEY_MIC', 'KEY_MIC', 'KEY_MIC'), + (SendKey, 'fnKEY_NINE_SEPERATE', 'KEY_NINE_SEPERATE', 'KEY_NINE_SEPERATE', 'KEY_NINE_SEPERATE'), + (SendKey, 'fnKEY_AUTO_FORMAT', 'Auto Format', 'Auto Format', 'KEY_AUTO_FORMAT'), + (SendKey, 'fnKEY_DNET', 'DNET', 'DNET', 'KEY_DNET') + ) + ), + ( + eg.ActionGroup, 'AutoArcKeys', 'Auto Arc Keys', 'Auto Arc Keys ', ( + (SendKey, 'fnKEY_AUTO_ARC_C_FORCE_AGING', 'KEY_AUTO_ARC_C_FORCE_AGING', 'KEY_AUTO_ARC_C_FORCE_AGING', 'KEY_AUTO_ARC_C_FORCE_AGING'), + (SendKey, 'fnKEY_AUTO_ARC_CAPTION_ENG', 'KEY_AUTO_ARC_CAPTION_ENG', 'KEY_AUTO_ARC_CAPTION_ENG', 'KEY_AUTO_ARC_CAPTION_ENG'), + (SendKey, 'fnKEY_AUTO_ARC_USBJACK_INSPECT', 'KEY_AUTO_ARC_USBJACK_INSPECT', 'KEY_AUTO_ARC_USBJACK_INSPECT', 'KEY_AUTO_ARC_USBJACK_INSPECT'), + (SendKey, 'fnKEY_AUTO_ARC_RESET', 'KEY_AUTO_ARC_RESET', 'KEY_AUTO_ARC_RESET', 'KEY_AUTO_ARC_RESET'), + (SendKey, 'fnKEY_AUTO_ARC_LNA_ON', 'KEY_AUTO_ARC_LNA_ON', 'KEY_AUTO_ARC_LNA_ON', 'KEY_AUTO_ARC_LNA_ON'), + (SendKey, 'fnKEY_AUTO_ARC_LNA_OFF', 'KEY_AUTO_ARC_LNA_OFF', 'KEY_AUTO_ARC_LNA_OFF', 'KEY_AUTO_ARC_LNA_OFF'), + (SendKey, 'fnKEY_AUTO_ARC_ANYNET_MODE_OK', 'KEY_AUTO_ARC_ANYNET_MODE_OK', 'KEY_AUTO_ARC_ANYNET_MODE_OK', 'KEY_AUTO_ARC_ANYNET_MODE_OK'), + (SendKey, 'fnKEY_AUTO_ARC_ANYNET_AUTO_START', 'KEY_AUTO_ARC_ANYNET_AUTO_START', 'KEY_AUTO_ARC_ANYNET_AUTO_START', 'KEY_AUTO_ARC_ANYNET_AUTO_START'), + (SendKey, 'fnKEY_AUTO_ARC_CAPTION_ON', 'KEY_AUTO_ARC_CAPTION_ON', 'KEY_AUTO_ARC_CAPTION_ON', 'KEY_AUTO_ARC_CAPTION_ON'), + (SendKey, 'fnKEY_AUTO_ARC_CAPTION_OFF', 'KEY_AUTO_ARC_CAPTION_OFF', 'KEY_AUTO_ARC_CAPTION_OFF', 'KEY_AUTO_ARC_CAPTION_OFF'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_DOUBLE', 'KEY_AUTO_ARC_PIP_DOUBLE', 'KEY_AUTO_ARC_PIP_DOUBLE', 'KEY_AUTO_ARC_PIP_DOUBLE'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_LARGE', 'KEY_AUTO_ARC_PIP_LARGE', 'KEY_AUTO_ARC_PIP_LARGE', 'KEY_AUTO_ARC_PIP_LARGE'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_LEFT_TOP', 'KEY_AUTO_ARC_PIP_LEFT_TOP', 'KEY_AUTO_ARC_PIP_LEFT_TOP', 'KEY_AUTO_ARC_PIP_LEFT_TOP'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_RIGHT_TOP', 'KEY_AUTO_ARC_PIP_RIGHT_TOP', 'KEY_AUTO_ARC_PIP_RIGHT_TOP', 'KEY_AUTO_ARC_PIP_RIGHT_TOP'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_LEFT_BOTTOM', 'KEY_AUTO_ARC_PIP_LEFT_BOTTOM', 'KEY_AUTO_ARC_PIP_LEFT_BOTTOM', 'KEY_AUTO_ARC_PIP_LEFT_BOTTOM'), + (SendKey, 'fnKEY_AUTO_ARC_PIP_CH_CHANGE', 'KEY_AUTO_ARC_PIP_CH_CHANGE', 'KEY_AUTO_ARC_PIP_CH_CHANGE', 'KEY_AUTO_ARC_PIP_CH_CHANGE'), + (SendKey, 'fnKEY_AUTO_ARC_AUTOCOLOR_SUCCESS', 'KEY_AUTO_ARC_AUTOCOLOR_SUCCESS', 'KEY_AUTO_ARC_AUTOCOLOR_SUCCESS', 'KEY_AUTO_ARC_AUTOCOLOR_SUCCESS'), + (SendKey, 'fnKEY_AUTO_ARC_AUTOCOLOR_FAIL', 'KEY_AUTO_ARC_AUTOCOLOR_FAIL', 'KEY_AUTO_ARC_AUTOCOLOR_FAIL', 'KEY_AUTO_ARC_AUTOCOLOR_FAIL'), + (SendKey, 'fnKEY_AUTO_ARC_JACK_IDENT', 'KEY_AUTO_ARC_JACK_IDENT', 'KEY_AUTO_ARC_JACK_IDENT', 'KEY_AUTO_ARC_JACK_IDENT'), + (SendKey, 'fnKEY_AUTO_ARC_CAPTION_KOR', 'KEY_AUTO_ARC_CAPTION_KOR', 'KEY_AUTO_ARC_CAPTION_KOR', 'KEY_AUTO_ARC_CAPTION_KOR'), + (SendKey, 'fnKEY_AUTO_ARC_ANTENNA_AIR', 'KEY_AUTO_ARC_ANTENNA_AIR', 'KEY_AUTO_ARC_ANTENNA_AIR', 'KEY_AUTO_ARC_ANTENNA_AIR'), + (SendKey, 'fnKEY_AUTO_ARC_ANTENNA_CABLE', 'KEY_AUTO_ARC_ANTENNA_CABLE', 'KEY_AUTO_ARC_ANTENNA_CABLE', 'KEY_AUTO_ARC_ANTENNA_CABLE'), + (SendKey, 'fnKEY_AUTO_ARC_ANTENNA_SATELLITE', 'KEY_AUTO_ARC_ANTENNA_SATELLITE', 'KEY_AUTO_ARC_ANTENNA_SATELLITE', 'KEY_AUTO_ARC_ANTENNA_SATELLITE'), + ) + ), + ( + eg.ActionGroup, 'PanelKeys', 'Panel Keys', 'Panel Keys ', ( + (SendKey, 'fnKEY_PANNEL_POWER', 'KEY_PANNEL_POWER', 'KEY_PANNEL_POWER', 'KEY_PANNEL_POWER'), + (SendKey, 'fnKEY_PANNEL_CHUP', 'KEY_PANNEL_CHUP', 'KEY_PANNEL_CHUP', 'KEY_PANNEL_CHUP'), + (SendKey, 'fnKEY_PANNEL_VOLUP', 'KEY_PANNEL_VOLUP', 'KEY_PANNEL_VOLUP', 'KEY_PANNEL_VOLUP'), + (SendKey, 'fnKEY_PANNEL_VOLDOW', 'KEY_PANNEL_VOLDOW', 'KEY_PANNEL_VOLDOW', 'KEY_PANNEL_VOLDOW'), + (SendKey, 'fnKEY_PANNEL_ENTER', 'KEY_PANNEL_ENTER', 'KEY_PANNEL_ENTER', 'KEY_PANNEL_ENTER'), + (SendKey, 'fnKEY_PANNEL_MENU', 'KEY_PANNEL_MENU', 'KEY_PANNEL_MENU', 'KEY_PANNEL_MENU'), + (SendKey, 'fnKEY_PANNEL_SOURCE', 'KEY_PANNEL_SOURCE', 'KEY_PANNEL_SOURCE', 'KEY_PANNEL_SOURCE'), + (SendKey, 'fnKEY_PANNEL_ENTER', 'KEY_PANNEL_ENTER', 'KEY_PANNEL_ENTER', 'KEY_PANNEL_ENTER') + ) + ), + ( + eg.ActionGroup, 'ExtendedKeys', 'Extended Keys', 'Extended Keys ', ( + (SendKey, 'fnKEY_EXT1', 'KEY_EXT1', 'KEY_EXT1', 'KEY_EXT1'), + (SendKey, 'fnKEY_EXT2', 'KEY_EXT2', 'KEY_EXT2', 'KEY_EXT2'), + (SendKey, 'fnKEY_EXT3', 'KEY_EXT3', 'KEY_EXT3', 'KEY_EXT3'), + (SendKey, 'fnKEY_EXT4', 'KEY_EXT4', 'KEY_EXT4', 'KEY_EXT4'), + (SendKey, 'fnKEY_EXT5', 'KEY_EXT5', 'KEY_EXT5', 'KEY_EXT5'), + (SendKey, 'fnKEY_EXT6', 'KEY_EXT6', 'KEY_EXT6', 'KEY_EXT6'), + (SendKey, 'fnKEY_EXT7', 'KEY_EXT7', 'KEY_EXT7', 'KEY_EXT7'), + (SendKey, 'fnKEY_EXT8', 'KEY_EXT8', 'KEY_EXT8', 'KEY_EXT8'), + (SendKey, 'fnKEY_EXT11', 'KEY_EXT11', 'KEY_EXT11', 'KEY_EXT11'), + (SendKey, 'fnKEY_EXT12', 'KEY_EXT12', 'KEY_EXT12', 'KEY_EXT12'), + (SendKey, 'fnKEY_EXT13', 'KEY_EXT13', 'KEY_EXT13', 'KEY_EXT13'), + (SendKey, 'fnKEY_EXT16', 'KEY_EXT16', 'KEY_EXT16', 'KEY_EXT16'), + (SendKey, 'fnKEY_EXT17', 'KEY_EXT17', 'KEY_EXT17', 'KEY_EXT17'), + (SendKey, 'fnKEY_EXT18', 'KEY_EXT18', 'KEY_EXT18', 'KEY_EXT18'), + (SendKey, 'fnKEY_EXT19', 'KEY_EXT19', 'KEY_EXT19', 'KEY_EXT19'), + (SendKey, 'fnKEY_EXT20', 'KEY_EXT20', 'KEY_EXT20', 'KEY_EXT20'), + (SendKey, 'fnKEY_EXT21', 'KEY_EXT21', 'KEY_EXT21', 'KEY_EXT21'), + (SendKey, 'fnKEY_EXT22', 'KEY_EXT22', 'KEY_EXT22', 'KEY_EXT22'), + (SendKey, 'fnKEY_EXT23', 'KEY_EXT23', 'KEY_EXT23', 'KEY_EXT23'), + (SendKey, 'fnKEY_EXT24', 'KEY_EXT24', 'KEY_EXT24', 'KEY_EXT24'), + (SendKey, 'fnKEY_EXT25', 'KEY_EXT25', 'KEY_EXT25', 'KEY_EXT25'), + (SendKey, 'fnKEY_EXT26', 'KEY_EXT26', 'KEY_EXT26', 'KEY_EXT26'), + (SendKey, 'fnKEY_EXT27', 'KEY_EXT27', 'KEY_EXT27', 'KEY_EXT27'), + (SendKey, 'fnKEY_EXT28', 'KEY_EXT28', 'KEY_EXT28', 'KEY_EXT28'), + (SendKey, 'fnKEY_EXT29', 'KEY_EXT29', 'KEY_EXT29', 'KEY_EXT29'), + (SendKey, 'fnKEY_EXT30', 'KEY_EXT30', 'KEY_EXT30', 'KEY_EXT30'), + (SendKey, 'fnKEY_EXT31', 'KEY_EXT31', 'KEY_EXT31', 'KEY_EXT31'), + (SendKey, 'fnKEY_EXT32', 'KEY_EXT32', 'KEY_EXT32', 'KEY_EXT32'), + (SendKey, 'fnKEY_EXT33', 'KEY_EXT33', 'KEY_EXT33', 'KEY_EXT33'), + (SendKey, 'fnKEY_EXT34', 'KEY_EXT34', 'KEY_EXT34', 'KEY_EXT34'), + (SendKey, 'fnKEY_EXT35', 'KEY_EXT35', 'KEY_EXT35', 'KEY_EXT35'), + (SendKey, 'fnKEY_EXT36', 'KEY_EXT36', 'KEY_EXT36', 'KEY_EXT36'), + (SendKey, 'fnKEY_EXT37', 'KEY_EXT37', 'KEY_EXT37', 'KEY_EXT37'), + (SendKey, 'fnKEY_EXT38', 'KEY_EXT38', 'KEY_EXT38', 'KEY_EXT38'), + (SendKey, 'fnKEY_EXT39', 'KEY_EXT39', 'KEY_EXT39', 'KEY_EXT39'), + (SendKey, 'fnKEY_EXT40', 'KEY_EXT40', 'KEY_EXT40', 'KEY_EXT40'), + (SendKey, 'fnKEY_EXT41', 'KEY_EXT41', 'KEY_EXT41', 'KEY_EXT41') + ) + ) +) diff --git a/plugins/SamsungSmartTVPlus/libs/ifaddr/__init__.py b/plugins/SamsungSmartTVPlus/libs/ifaddr/__init__.py new file mode 100644 index 000000000..95f82cb83 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/ifaddr/__init__.py @@ -0,0 +1,33 @@ +# Copyright (c) 2014 Stefan C. Mueller + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + + +import os + +from ifaddr._shared import Adapter, IP + +if os.name == "nt": + from ifaddr._win32 import get_adapters +elif os.name == "posix": + from ifaddr._posix import get_adapters +else: + raise RuntimeError("Unsupported Operating System: %s" % os.name) + +__all__ = ['Adapter', 'IP', 'get_adapters'] diff --git a/plugins/SamsungSmartTVPlus/libs/ifaddr/_posix.py b/plugins/SamsungSmartTVPlus/libs/ifaddr/_posix.py new file mode 100644 index 000000000..f8bee14fb --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/ifaddr/_posix.py @@ -0,0 +1,85 @@ +# Copyright (c) 2014 Stefan C. Mueller + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + + +import sys +import os +import ctypes.util +import ipaddress +import collections + +import ifaddr._shared as shared +#from ifaddr._shared import sockaddr, Interface, sockaddr_to_ip, ipv6_prefixlength + +class ifaddrs(ctypes.Structure): + pass +ifaddrs._fields_ = [('ifa_next', ctypes.POINTER(ifaddrs)), + ('ifa_name', ctypes.c_char_p), + ('ifa_flags', ctypes.c_uint), + ('ifa_addr', ctypes.POINTER(shared.sockaddr)), + ('ifa_netmask', ctypes.POINTER(shared.sockaddr))] + +libc = ctypes.CDLL(ctypes.util.find_library("c"), use_errno=True) + +def get_adapters(): + + addr0 = addr = ctypes.POINTER(ifaddrs)() + retval = libc.getifaddrs(ctypes.byref(addr)) + if retval != 0: + eno = ctypes.get_errno() + raise OSError(eno, os.strerror(eno)) + + ips = collections.OrderedDict() + + def add_ip(adapter_name, ip): + if not adapter_name in ips: + ips[adapter_name] = shared.Adapter(adapter_name, adapter_name, []) + ips[adapter_name].ips.append(ip) + + + while addr: + name = addr[0].ifa_name + if sys.version_info[0] > 2: + name = name.decode(encoding='UTF-8') + ip = shared.sockaddr_to_ip(addr[0].ifa_addr) + if ip: + if addr[0].ifa_netmask and not addr[0].ifa_netmask[0].sa_familiy: + addr[0].ifa_netmask[0].sa_familiy = addr[0].ifa_addr[0].sa_familiy + netmask = shared.sockaddr_to_ip(addr[0].ifa_netmask) + if isinstance(netmask, tuple): + netmask = netmask[0] + if sys.version_info[0] > 2: + netmaskStr = str(netmask) + else: + netmaskStr = unicode(netmask) + prefixlen = shared.ipv6_prefixlength(ipaddress.IPv6Address(netmaskStr)) + else: + if sys.version_info[0] > 2: + netmaskStr = str('0.0.0.0/' + netmask) + else: + netmaskStr = unicode('0.0.0.0/' + netmask) + prefixlen = ipaddress.IPv4Network(netmaskStr).prefixlen + ip = shared.IP(ip, prefixlen, name) + add_ip(name, ip) + addr = addr[0].ifa_next + + libc.freeifaddrs(addr0) + + return ips.values() diff --git a/plugins/SamsungSmartTVPlus/libs/ifaddr/_shared.py b/plugins/SamsungSmartTVPlus/libs/ifaddr/_shared.py new file mode 100644 index 000000000..bccca5990 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/ifaddr/_shared.py @@ -0,0 +1,182 @@ +# Copyright (c) 2014 Stefan C. Mueller + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + + +import ctypes +import socket +import ipaddress +import platform + +class Adapter(object): + """ + Represents a network interface device controller (NIC), such as a + network card. An adapter can have multiple IPs. + + On Linux aliasing (multiple IPs per physical NIC) is implemented + by creating 'virtual' adapters, each represented by an instance + of this class. Each of those 'virtual' adapters can have both + a IPv4 and an IPv6 IP address. + """ + + def __init__(self, name, nice_name, ips): + + #: Unique name that identifies the adapter in the system. + #: On Linux this is of the form of `eth0` or `eth0:1`, on + #: Windows it is a UUID in string representation, such as + #: `{846EE342-7039-11DE-9D20-806E6F6E6963}`. + self.name = name + + #: Human readable name of the adpater. On Linux this + #: is currently the same as :attr:`name`. On Windows + #: this is the name of the device. + self.nice_name = nice_name + + #: List of :class:`ifaddr.IP` instances in the order they were + #: reported by the system. + self.ips = ips + + def __repr__(self): + return "Adapter(name={name}, nice_name={nice_name}, ips={ips})".format( + name = repr(self.name), + nice_name = repr(self.nice_name), + ips = repr(self.ips) + ) + + +class IP(object): + """ + Represents an IP address of an adapter. + """ + + def __init__(self, ip, network_prefix, nice_name): + + #: IP address. For IPv4 addresses this is a string in + #: "xxx.xxx.xxx.xxx" format. For IPv6 addresses this + #: is a three-tuple `(ip, flowinfo, scope_id)`, where + #: `ip` is a string in the usual collon separated + #: hex format. + self.ip = ip + + #: Number of bits of the IP that represent the + #: network. For a `255.255.255.0` netmask, this + #: number would be `24`. + self.network_prefix = network_prefix + + #: Human readable name for this IP. + #: On Linux is this currently the same as the adapter name. + #: On Windows this is the name of the network connection + #: as configured in the system control panel. + self.nice_name = nice_name + + @property + def is_IPv4(self): + """ + Returns `True` if this IP is an IPv4 address and `False` + if it is an IPv6 address. + """ + return not isinstance(self.ip, tuple) + + @property + def is_IPv6(self): + """ + Returns `True` if this IP is an IPv6 address and `False` + if it is an IPv4 address. + """ + return isinstance(self.ip, tuple) + + + def __repr__(self): + return "IP(ip={ip}, network_prefix={network_prefix}, nice_name={nice_name})".format( + ip = repr(self.ip), + network_prefix = repr(self.network_prefix), + nice_name = repr(self.nice_name) + ) + + +if platform.system() == "Darwin" or "BSD" in platform.system(): + + # BSD derived systems use marginally different structures + # than either Linux or Windows. + # I still keep it in `shared` since we can use + # both structures equally. + + class sockaddr(ctypes.Structure): + _fields_= [('sa_len', ctypes.c_uint8), + ('sa_familiy', ctypes.c_uint8), + ('sa_data', ctypes.c_uint8 * 14)] + + class sockaddr_in(ctypes.Structure): + _fields_= [('sa_len', ctypes.c_uint8), + ('sa_familiy', ctypes.c_uint8), + ('sin_port', ctypes.c_uint16), + ('sin_addr', ctypes.c_uint8 * 4), + ('sin_zero', ctypes.c_uint8 * 8)] + + class sockaddr_in6(ctypes.Structure): + _fields_= [('sa_len', ctypes.c_uint8), + ('sa_familiy', ctypes.c_uint8), + ('sin6_port', ctypes.c_uint16), + ('sin6_flowinfo', ctypes.c_uint32), + ('sin6_addr', ctypes.c_uint8 * 16), + ('sin6_scope_id', ctypes.c_uint32)] + +else: + + class sockaddr(ctypes.Structure): + _fields_= [('sa_familiy', ctypes.c_uint16), + ('sa_data', ctypes.c_uint8 * 14)] + + class sockaddr_in(ctypes.Structure): + _fields_= [('sin_familiy', ctypes.c_uint16), + ('sin_port', ctypes.c_uint16), + ('sin_addr', ctypes.c_uint8 * 4), + ('sin_zero', ctypes.c_uint8 * 8)] + + class sockaddr_in6(ctypes.Structure): + _fields_= [('sin6_familiy', ctypes.c_uint16), + ('sin6_port', ctypes.c_uint16), + ('sin6_flowinfo', ctypes.c_uint32), + ('sin6_addr', ctypes.c_uint8 * 16), + ('sin6_scope_id', ctypes.c_uint32)] + + +def sockaddr_to_ip(sockaddr_ptr): + if sockaddr_ptr: + if sockaddr_ptr[0].sa_familiy == socket.AF_INET: + ipv4 = ctypes.cast(sockaddr_ptr, ctypes.POINTER(sockaddr_in)) + ippacked = bytes(bytearray(ipv4[0].sin_addr)) + ip = str(ipaddress.ip_address(ippacked)) + return ip + elif sockaddr_ptr[0].sa_familiy == socket.AF_INET6: + ipv6 = ctypes.cast(sockaddr_ptr, ctypes.POINTER(sockaddr_in6)) + flowinfo = ipv6[0].sin6_flowinfo + ippacked = bytes(bytearray(ipv6[0].sin6_addr)) + ip = str(ipaddress.ip_address(ippacked)) + scope_id = ipv6[0].sin6_scope_id + return(ip, flowinfo, scope_id) + return None + + +def ipv6_prefixlength(address): + prefix_length = 0 + for i in range(address.max_prefixlen): + if int(address) >> i & 1: + prefix_length = prefix_length + 1 + return prefix_length diff --git a/plugins/SamsungSmartTVPlus/libs/ifaddr/_win32.py b/plugins/SamsungSmartTVPlus/libs/ifaddr/_win32.py new file mode 100644 index 000000000..c6d64153a --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/ifaddr/_win32.py @@ -0,0 +1,129 @@ +# Copyright (c) 2014 Stefan C. Mueller + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + + +import ctypes +from ctypes import wintypes + +import ifaddr._shared as shared + +NO_ERROR=0 +ERROR_BUFFER_OVERFLOW = 111 +MAX_ADAPTER_NAME_LENGTH = 256 +MAX_ADAPTER_DESCRIPTION_LENGTH = 128 +MAX_ADAPTER_ADDRESS_LENGTH = 8 +AF_UNSPEC = 0 + + + +class SOCKET_ADDRESS(ctypes.Structure): + _fields_ = [('lpSockaddr', ctypes.POINTER(shared.sockaddr)), + ('iSockaddrLength', wintypes.INT)] + +class IP_ADAPTER_UNICAST_ADDRESS(ctypes.Structure): + pass +IP_ADAPTER_UNICAST_ADDRESS._fields_ = \ + [('Length', wintypes.ULONG), + ('Flags', wintypes.DWORD), + ('Next', ctypes.POINTER(IP_ADAPTER_UNICAST_ADDRESS)), + ('Address', SOCKET_ADDRESS), + ('PrefixOrigin', ctypes.c_uint), + ('SuffixOrigin', ctypes.c_uint), + ('DadState', ctypes.c_uint), + ('ValidLifetime', wintypes.ULONG), + ('PreferredLifetime', wintypes.ULONG), + ('LeaseLifetime', wintypes.ULONG), + ('OnLinkPrefixLength', ctypes.c_uint8), + ] + +class IP_ADAPTER_ADDRESSES(ctypes.Structure): + pass +IP_ADAPTER_ADDRESSES._fields_ = [('Length', wintypes.ULONG), + ('IfIndex', wintypes.DWORD), + ('Next', ctypes.POINTER(IP_ADAPTER_ADDRESSES)), + ('AdapterName', ctypes.c_char_p), + ('FirstUnicastAddress', ctypes.POINTER(IP_ADAPTER_UNICAST_ADDRESS)), + ('FirstAnycastAddress', ctypes.POINTER(None)), + ('FirstMulticastAddress', ctypes.POINTER(None)), + ('FirstDnsServerAddress', ctypes.POINTER(None)), + ('DnsSuffix', ctypes.c_wchar_p), + ('Description', ctypes.c_wchar_p), + ('FriendlyName', ctypes.c_wchar_p) + ] + + +iphlpapi = ctypes.windll.LoadLibrary("Iphlpapi") + + +def enumerate_interfaces_of_adapter(nice_name, address): + + # Iterate through linked list and fill list + addresses = [] + while True: + addresses.append(address) + if not address.Next: + break + address = address.Next[0] + + for address in addresses: + ip = shared.sockaddr_to_ip(address.Address.lpSockaddr) + network_prefix = address.OnLinkPrefixLength + yield shared.IP(ip, network_prefix, nice_name) + + +def get_adapters(): + + # Call GetAdaptersAddresses() with error and buffer size handling + + addressbuffersize = wintypes.ULONG(15*1024) + retval = ERROR_BUFFER_OVERFLOW + while retval == ERROR_BUFFER_OVERFLOW: + addressbuffer = ctypes.create_string_buffer(addressbuffersize.value) + retval = iphlpapi.GetAdaptersAddresses(wintypes.ULONG(AF_UNSPEC), + wintypes.ULONG(0), + None, + ctypes.byref(addressbuffer), + ctypes.byref(addressbuffersize)) + if retval != NO_ERROR: + raise ctypes.WinError() + + # Iterate through adapters fill array + address_infos = [] + address_info = IP_ADAPTER_ADDRESSES.from_buffer(addressbuffer) + while True: + address_infos.append(address_info) + if not address_info.Next: + break + address_info = address_info.Next[0] + + + # Iterate through unicast addresses + result = [] + for adapter_info in address_infos: + + name = adapter_info.AdapterName + nice_name = adapter_info.Description + + if adapter_info.FirstUnicastAddress: + ips = enumerate_interfaces_of_adapter(adapter_info.FriendlyName, adapter_info.FirstUnicastAddress[0]) + ips = list(ips) + result.append(shared.Adapter(name, nice_name, ips)) + + return result diff --git a/plugins/SamsungSmartTVPlus/libs/ifaddr/test_ifaddr.py b/plugins/SamsungSmartTVPlus/libs/ifaddr/test_ifaddr.py new file mode 100644 index 000000000..931a80775 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/ifaddr/test_ifaddr.py @@ -0,0 +1,24 @@ +# Copyright (C) 2015 Stefan C. Mueller + +import unittest +import ifaddr + +class TestIfaddr(unittest.TestCase): + """ + Unittests for :mod:`ifaddr`. + + There isn't much unit-testing that can be done without making assumptions + on the system or mocking of operating system APIs. So this just contains + a sanity check for the moment. + """ + + def test_get_adapters_contains_localhost(self): + + found = False + adapters = ifaddr.get_adapters() + for adapter in adapters: + for ip in adapter.ips: + if ip.ip == "127.0.0.1": + found = True + + self.assertTrue(found, "No adapter has IP 127.0.0.1: %s" % str(adapters)) \ No newline at end of file diff --git a/plugins/SamsungSmartTVPlus/libs/ipaddress.py b/plugins/SamsungSmartTVPlus/libs/ipaddress.py new file mode 100644 index 000000000..f2d076684 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/ipaddress.py @@ -0,0 +1,2419 @@ +# Copyright 2007 Google Inc. +# Licensed to PSF under a Contributor Agreement. + +"""A fast, lightweight IPv4/IPv6 manipulation library in Python. + +This library is used to create/poke/manipulate IPv4 and IPv6 addresses +and networks. + +""" + +from __future__ import unicode_literals + + +import itertools +import struct + +__version__ = '1.0.22' + +# Compatibility functions +_compat_int_types = (int,) +try: + _compat_int_types = (int, long) +except NameError: + pass +try: + _compat_str = unicode +except NameError: + _compat_str = str + assert bytes != str +if b'\0'[0] == 0: # Python 3 semantics + def _compat_bytes_to_byte_vals(byt): + return byt +else: + def _compat_bytes_to_byte_vals(byt): + return [struct.unpack(b'!B', b)[0] for b in byt] +try: + _compat_int_from_byte_vals = int.from_bytes +except AttributeError: + def _compat_int_from_byte_vals(bytvals, endianess): + assert endianess == 'big' + res = 0 + for bv in bytvals: + assert isinstance(bv, _compat_int_types) + res = (res << 8) + bv + return res + + +def _compat_to_bytes(intval, length, endianess): + assert isinstance(intval, _compat_int_types) + assert endianess == 'big' + if length == 4: + if intval < 0 or intval >= 2 ** 32: + raise struct.error("integer out of range for 'I' format code") + return struct.pack(b'!I', intval) + elif length == 16: + if intval < 0 or intval >= 2 ** 128: + raise struct.error("integer out of range for 'QQ' format code") + return struct.pack(b'!QQ', intval >> 64, intval & 0xffffffffffffffff) + else: + raise NotImplementedError() + + +if hasattr(int, 'bit_length'): + # Not int.bit_length , since that won't work in 2.7 where long exists + def _compat_bit_length(i): + return i.bit_length() +else: + def _compat_bit_length(i): + for res in itertools.count(): + if i >> res == 0: + return res + + +def _compat_range(start, end, step=1): + assert step > 0 + i = start + while i < end: + yield i + i += step + + +class _TotalOrderingMixin(object): + __slots__ = () + + # Helper that derives the other comparison operations from + # __lt__ and __eq__ + # We avoid functools.total_ordering because it doesn't handle + # NotImplemented correctly yet (http://bugs.python.org/issue10042) + def __eq__(self, other): + raise NotImplementedError + + def __ne__(self, other): + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not equal + + def __lt__(self, other): + raise NotImplementedError + + def __le__(self, other): + less = self.__lt__(other) + if less is NotImplemented or not less: + return self.__eq__(other) + return less + + def __gt__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not (less or equal) + + def __ge__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + return not less + + +IPV4LENGTH = 32 +IPV6LENGTH = 128 + + +class AddressValueError(ValueError): + """A Value Error related to the address.""" + + +class NetmaskValueError(ValueError): + """A Value Error related to the netmask.""" + + +def ip_address(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Address or IPv6Address object. + + Raises: + ValueError: if the *address* passed isn't either a v4 or a v6 + address + + """ + try: + return IPv4Address(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Address(address) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 address' % + address) + + +def ip_network(address, strict=True): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP network. Either IPv4 or + IPv6 networks may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Network or IPv6Network object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. Or if the network has host bits set. + + """ + try: + return IPv4Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 network. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 network' % + address) + + +def ip_interface(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Interface or IPv6Interface object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. + + Notes: + The IPv?Interface classes describe an Address on a particular + Network, so they're basically a combination of both the Address + and Network classes. + + """ + try: + return IPv4Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + raise ValueError('%r does not appear to be an IPv4 or IPv6 interface' % + address) + + +def v4_int_to_packed(address): + """Represent an address as 4 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv4 IP address. + + Returns: + The integer address packed as 4 bytes in network (big-endian) order. + + Raises: + ValueError: If the integer is negative or too large to be an + IPv4 IP address. + + """ + try: + return _compat_to_bytes(address, 4, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv4") + + +def v6_int_to_packed(address): + """Represent an address as 16 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv6 IP address. + + Returns: + The integer address packed as 16 bytes in network (big-endian) order. + + """ + try: + return _compat_to_bytes(address, 16, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv6") + + +def _split_optional_netmask(address): + """Helper to split the netmask and raise AddressValueError if needed""" + addr = _compat_str(address).split('/') + if len(addr) > 2: + raise AddressValueError("Only one '/' permitted in %r" % address) + return addr + + +def _find_address_range(addresses): + """Find a sequence of sorted deduplicated IPv#Address. + + Args: + addresses: a list of IPv#Address objects. + + Yields: + A tuple containing the first and last IP addresses in the sequence. + + """ + it = iter(addresses) + first = last = next(it) + for ip in it: + if ip._ip != last._ip + 1: + yield first, last + first = ip + last = ip + yield first, last + + +def _count_righthand_zero_bits(number, bits): + """Count the number of zero bits on the right hand side. + + Args: + number: an integer. + bits: maximum number of bits to count. + + Returns: + The number of zero bits on the right hand side of the number. + + """ + if number == 0: + return bits + return min(bits, _compat_bit_length(~number & (number - 1))) + + +def summarize_address_range(first, last): + """Summarize a network range given the first and last IP addresses. + + Example: + >>> list(summarize_address_range(IPv4Address('192.0.2.0'), + ... IPv4Address('192.0.2.130'))) + ... #doctest: +NORMALIZE_WHITESPACE + [IPv4Network('192.0.2.0/25'), IPv4Network('192.0.2.128/31'), + IPv4Network('192.0.2.130/32')] + + Args: + first: the first IPv4Address or IPv6Address in the range. + last: the last IPv4Address or IPv6Address in the range. + + Returns: + An iterator of the summarized IPv(4|6) network objects. + + Raise: + TypeError: + If the first and last objects are not IP addresses. + If the first and last objects are not the same version. + ValueError: + If the last object is not greater than the first. + If the version of the first address is not 4 or 6. + + """ + if (not (isinstance(first, _BaseAddress) and + isinstance(last, _BaseAddress))): + raise TypeError('first and last must be IP addresses, not networks') + if first.version != last.version: + raise TypeError("%s and %s are not of the same version" % ( + first, last)) + if first > last: + raise ValueError('last IP address must be greater than first') + + if first.version == 4: + ip = IPv4Network + elif first.version == 6: + ip = IPv6Network + else: + raise ValueError('unknown IP version') + + ip_bits = first._max_prefixlen + first_int = first._ip + last_int = last._ip + while first_int <= last_int: + nbits = min(_count_righthand_zero_bits(first_int, ip_bits), + _compat_bit_length(last_int - first_int + 1) - 1) + net = ip((first_int, ip_bits - nbits)) + yield net + first_int += 1 << nbits + if first_int - 1 == ip._ALL_ONES: + break + + +def _collapse_addresses_internal(addresses): + """Loops through the addresses, collapsing concurrent netblocks. + + Example: + + ip1 = IPv4Network('192.0.2.0/26') + ip2 = IPv4Network('192.0.2.64/26') + ip3 = IPv4Network('192.0.2.128/26') + ip4 = IPv4Network('192.0.2.192/26') + + _collapse_addresses_internal([ip1, ip2, ip3, ip4]) -> + [IPv4Network('192.0.2.0/24')] + + This shouldn't be called directly; it is called via + collapse_addresses([]). + + Args: + addresses: A list of IPv4Network's or IPv6Network's + + Returns: + A list of IPv4Network's or IPv6Network's depending on what we were + passed. + + """ + # First merge + to_merge = list(addresses) + subnets = {} + while to_merge: + net = to_merge.pop() + supernet = net.supernet() + existing = subnets.get(supernet) + if existing is None: + subnets[supernet] = net + elif existing != net: + # Merge consecutive subnets + del subnets[supernet] + to_merge.append(supernet) + # Then iterate over resulting networks, skipping subsumed subnets + last = None + for net in sorted(subnets.values()): + if last is not None: + # Since they are sorted, + # last.network_address <= net.network_address is a given. + if last.broadcast_address >= net.broadcast_address: + continue + yield net + last = net + + +def collapse_addresses(addresses): + """Collapse a list of IP objects. + + Example: + collapse_addresses([IPv4Network('192.0.2.0/25'), + IPv4Network('192.0.2.128/25')]) -> + [IPv4Network('192.0.2.0/24')] + + Args: + addresses: An iterator of IPv4Network or IPv6Network objects. + + Returns: + An iterator of the collapsed IPv(4|6)Network objects. + + Raises: + TypeError: If passed a list of mixed version objects. + + """ + addrs = [] + ips = [] + nets = [] + + # split IP addresses and networks + for ip in addresses: + if isinstance(ip, _BaseAddress): + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + ips.append(ip) + elif ip._prefixlen == ip._max_prefixlen: + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + try: + ips.append(ip.ip) + except AttributeError: + ips.append(ip.network_address) + else: + if nets and nets[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, nets[-1])) + nets.append(ip) + + # sort and dedup + ips = sorted(set(ips)) + + # find consecutive address ranges in the sorted sequence and summarize them + if ips: + for first, last in _find_address_range(ips): + addrs.extend(summarize_address_range(first, last)) + + return _collapse_addresses_internal(addrs + nets) + + +def get_mixed_type_key(obj): + """Return a key suitable for sorting between networks and addresses. + + Address and Network objects are not sortable by default; they're + fundamentally different so the expression + + IPv4Address('192.0.2.0') <= IPv4Network('192.0.2.0/24') + + doesn't make any sense. There are some times however, where you may wish + to have ipaddress sort these for you anyway. If you need to do this, you + can use this function as the key= argument to sorted(). + + Args: + obj: either a Network or Address object. + Returns: + appropriate key. + + """ + if isinstance(obj, _BaseNetwork): + return obj._get_networks_key() + elif isinstance(obj, _BaseAddress): + return obj._get_address_key() + return NotImplemented + + +class _IPAddressBase(_TotalOrderingMixin): + + """The mother class.""" + + __slots__ = () + + @property + def exploded(self): + """Return the longhand version of the IP address as a string.""" + return self._explode_shorthand_ip_string() + + @property + def compressed(self): + """Return the shorthand version of the IP address as a string.""" + return _compat_str(self) + + @property + def reverse_pointer(self): + """The name of the reverse DNS pointer for the IP address, e.g.: + >>> ipaddress.ip_address("127.0.0.1").reverse_pointer + '1.0.0.127.in-addr.arpa' + >>> ipaddress.ip_address("2001:db8::1").reverse_pointer + '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa' + + """ + return self._reverse_pointer() + + @property + def version(self): + msg = '%200s has no version specified' % (type(self),) + raise NotImplementedError(msg) + + def _check_int_address(self, address): + if address < 0: + msg = "%d (< 0) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._version)) + if address > self._ALL_ONES: + msg = "%d (>= 2**%d) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._max_prefixlen, + self._version)) + + def _check_packed_address(self, address, expected_len): + address_len = len(address) + if address_len != expected_len: + msg = ( + '%r (len %d != %d) is not permitted as an IPv%d address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?') + raise AddressValueError(msg % (address, address_len, + expected_len, self._version)) + + @classmethod + def _ip_int_from_prefix(cls, prefixlen): + """Turn the prefix length into a bitwise netmask + + Args: + prefixlen: An integer, the prefix length. + + Returns: + An integer. + + """ + return cls._ALL_ONES ^ (cls._ALL_ONES >> prefixlen) + + @classmethod + def _prefix_from_ip_int(cls, ip_int): + """Return prefix length from the bitwise netmask. + + Args: + ip_int: An integer, the netmask in expanded bitwise format + + Returns: + An integer, the prefix length. + + Raises: + ValueError: If the input intermingles zeroes & ones + """ + trailing_zeroes = _count_righthand_zero_bits(ip_int, + cls._max_prefixlen) + prefixlen = cls._max_prefixlen - trailing_zeroes + leading_ones = ip_int >> trailing_zeroes + all_ones = (1 << prefixlen) - 1 + if leading_ones != all_ones: + byteslen = cls._max_prefixlen // 8 + details = _compat_to_bytes(ip_int, byteslen, 'big') + msg = 'Netmask pattern %r mixes zeroes & ones' + raise ValueError(msg % details) + return prefixlen + + @classmethod + def _report_invalid_netmask(cls, netmask_str): + msg = '%r is not a valid netmask' % netmask_str + raise NetmaskValueError(msg) + + @classmethod + def _prefix_from_prefix_string(cls, prefixlen_str): + """Return prefix length from a numeric string + + Args: + prefixlen_str: The string to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask + """ + # int allows a leading +/- as well as surrounding whitespace, + # so we ensure that isn't the case + if not _BaseV4._DECIMAL_DIGITS.issuperset(prefixlen_str): + cls._report_invalid_netmask(prefixlen_str) + try: + prefixlen = int(prefixlen_str) + except ValueError: + cls._report_invalid_netmask(prefixlen_str) + if not (0 <= prefixlen <= cls._max_prefixlen): + cls._report_invalid_netmask(prefixlen_str) + return prefixlen + + @classmethod + def _prefix_from_ip_string(cls, ip_str): + """Turn a netmask/hostmask string into a prefix length + + Args: + ip_str: The netmask/hostmask to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask/hostmask + """ + # Parse the netmask/hostmask like an IP address. + try: + ip_int = cls._ip_int_from_string(ip_str) + except AddressValueError: + cls._report_invalid_netmask(ip_str) + + # Try matching a netmask (this would be /1*0*/ as a bitwise regexp). + # Note that the two ambiguous cases (all-ones and all-zeroes) are + # treated as netmasks. + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + pass + + # Invert the bits, and try matching a /0+1+/ hostmask instead. + ip_int ^= cls._ALL_ONES + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + cls._report_invalid_netmask(ip_str) + + def __reduce__(self): + return self.__class__, (_compat_str(self),) + + +class _BaseAddress(_IPAddressBase): + + """A generic IP object. + + This IP class contains the version independent methods which are + used by single IP addresses. + """ + + __slots__ = () + + def __int__(self): + return self._ip + + def __eq__(self, other): + try: + return (self._ip == other._ip and + self._version == other._version) + except AttributeError: + return NotImplemented + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseAddress): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self._ip != other._ip: + return self._ip < other._ip + return False + + # Shorthand for Integer addition and subtraction. This is not + # meant to ever support addition/subtraction of addresses. + def __add__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) + other) + + def __sub__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) - other) + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return _compat_str(self._string_from_ip_int(self._ip)) + + def __hash__(self): + return hash(hex(int(self._ip))) + + def _get_address_key(self): + return (self._version, self) + + def __reduce__(self): + return self.__class__, (self._ip,) + + +class _BaseNetwork(_IPAddressBase): + + """A generic IP network object. + + This IP class contains the version independent methods which are + used by networks. + + """ + def __init__(self, address): + self._cache = {} + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return '%s/%d' % (self.network_address, self.prefixlen) + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the network + or broadcast addresses. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast): + yield self._address_class(x) + + def __iter__(self): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network, broadcast + 1): + yield self._address_class(x) + + def __getitem__(self, n): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + if n >= 0: + if network + n > broadcast: + raise IndexError('address out of range') + return self._address_class(network + n) + else: + n += 1 + if broadcast + n < network: + raise IndexError('address out of range') + return self._address_class(broadcast + n) + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseNetwork): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self.network_address != other.network_address: + return self.network_address < other.network_address + if self.netmask != other.netmask: + return self.netmask < other.netmask + return False + + def __eq__(self, other): + try: + return (self._version == other._version and + self.network_address == other.network_address and + int(self.netmask) == int(other.netmask)) + except AttributeError: + return NotImplemented + + def __hash__(self): + return hash(int(self.network_address) ^ int(self.netmask)) + + def __contains__(self, other): + # always false if one is v4 and the other is v6. + if self._version != other._version: + return False + # dealing with another network. + if isinstance(other, _BaseNetwork): + return False + # dealing with another address + else: + # address + return (int(self.network_address) <= int(other._ip) <= + int(self.broadcast_address)) + + def overlaps(self, other): + """Tell if self is partly contained in other.""" + return self.network_address in other or ( + self.broadcast_address in other or ( + other.network_address in self or ( + other.broadcast_address in self))) + + @property + def broadcast_address(self): + x = self._cache.get('broadcast_address') + if x is None: + x = self._address_class(int(self.network_address) | + int(self.hostmask)) + self._cache['broadcast_address'] = x + return x + + @property + def hostmask(self): + x = self._cache.get('hostmask') + if x is None: + x = self._address_class(int(self.netmask) ^ self._ALL_ONES) + self._cache['hostmask'] = x + return x + + @property + def with_prefixlen(self): + return '%s/%d' % (self.network_address, self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self.network_address, self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self.network_address, self.hostmask) + + @property + def num_addresses(self): + """Number of hosts in the current subnet.""" + return int(self.broadcast_address) - int(self.network_address) + 1 + + @property + def _address_class(self): + # Returning bare address objects (rather than interfaces) allows for + # more consistent behaviour across the network address, broadcast + # address and individual host addresses. + msg = '%200s has no associated address class' % (type(self),) + raise NotImplementedError(msg) + + @property + def prefixlen(self): + return self._prefixlen + + def address_exclude(self, other): + """Remove an address from a larger block. + + For example: + + addr1 = ip_network('192.0.2.0/28') + addr2 = ip_network('192.0.2.1/32') + list(addr1.address_exclude(addr2)) = + [IPv4Network('192.0.2.0/32'), IPv4Network('192.0.2.2/31'), + IPv4Network('192.0.2.4/30'), IPv4Network('192.0.2.8/29')] + + or IPv6: + + addr1 = ip_network('2001:db8::1/32') + addr2 = ip_network('2001:db8::1/128') + list(addr1.address_exclude(addr2)) = + [ip_network('2001:db8::1/128'), + ip_network('2001:db8::2/127'), + ip_network('2001:db8::4/126'), + ip_network('2001:db8::8/125'), + ... + ip_network('2001:db8:8000::/33')] + + Args: + other: An IPv4Network or IPv6Network object of the same type. + + Returns: + An iterator of the IPv(4|6)Network objects which is self + minus other. + + Raises: + TypeError: If self and other are of differing address + versions, or if other is not a network object. + ValueError: If other is not completely contained by self. + + """ + if not self._version == other._version: + raise TypeError("%s and %s are not of the same version" % ( + self, other)) + + if not isinstance(other, _BaseNetwork): + raise TypeError("%s is not a network object" % other) + + if not other.subnet_of(self): + raise ValueError('%s not contained in %s' % (other, self)) + if other == self: + return + + # Make sure we're comparing the network of other. + other = other.__class__('%s/%s' % (other.network_address, + other.prefixlen)) + + s1, s2 = self.subnets() + while s1 != other and s2 != other: + if other.subnet_of(s1): + yield s2 + s1, s2 = s1.subnets() + elif other.subnet_of(s2): + yield s1 + s1, s2 = s2.subnets() + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + if s1 == other: + yield s2 + elif s2 == other: + yield s1 + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + + def compare_networks(self, other): + """Compare two IP objects. + + This is only concerned about the comparison of the integer + representation of the network addresses. This means that the + host bits aren't considered at all in this method. If you want + to compare host bits, you can easily enough do a + 'HostA._ip < HostB._ip' + + Args: + other: An IP object. + + Returns: + If the IP versions of self and other are the same, returns: + + -1 if self < other: + eg: IPv4Network('192.0.2.0/25') < IPv4Network('192.0.2.128/25') + IPv6Network('2001:db8::1000/124') < + IPv6Network('2001:db8::2000/124') + 0 if self == other + eg: IPv4Network('192.0.2.0/24') == IPv4Network('192.0.2.0/24') + IPv6Network('2001:db8::1000/124') == + IPv6Network('2001:db8::1000/124') + 1 if self > other + eg: IPv4Network('192.0.2.128/25') > IPv4Network('192.0.2.0/25') + IPv6Network('2001:db8::2000/124') > + IPv6Network('2001:db8::1000/124') + + Raises: + TypeError if the IP versions are different. + + """ + # does this need to raise a ValueError? + if self._version != other._version: + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + # self._version == other._version below here: + if self.network_address < other.network_address: + return -1 + if self.network_address > other.network_address: + return 1 + # self.network_address == other.network_address below here: + if self.netmask < other.netmask: + return -1 + if self.netmask > other.netmask: + return 1 + return 0 + + def _get_networks_key(self): + """Network-only key function. + + Returns an object that identifies this address' network and + netmask. This function is a suitable "key" argument for sorted() + and list.sort(). + + """ + return (self._version, self.network_address, self.netmask) + + def subnets(self, prefixlen_diff=1, new_prefix=None): + """The subnets which join to make the current subnet. + + In the case that self contains only one IP + (self._prefixlen == 32 for IPv4 or self._prefixlen == 128 + for IPv6), yield an iterator with just ourself. + + Args: + prefixlen_diff: An integer, the amount the prefix length + should be increased by. This should not be set if + new_prefix is also set. + new_prefix: The desired new prefix length. This must be a + larger number (smaller prefix) than the existing prefix. + This should not be set if prefixlen_diff is also set. + + Returns: + An iterator of IPv(4|6) objects. + + Raises: + ValueError: The prefixlen_diff is too small or too large. + OR + prefixlen_diff and new_prefix are both set or new_prefix + is a smaller number than the current prefix (smaller + number means a larger network) + + """ + if self._prefixlen == self._max_prefixlen: + yield self + return + + if new_prefix is not None: + if new_prefix < self._prefixlen: + raise ValueError('new prefix must be longer') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = new_prefix - self._prefixlen + + if prefixlen_diff < 0: + raise ValueError('prefix length diff must be > 0') + new_prefixlen = self._prefixlen + prefixlen_diff + + if new_prefixlen > self._max_prefixlen: + raise ValueError( + 'prefix length diff %d is invalid for netblock %s' % ( + new_prefixlen, self)) + + start = int(self.network_address) + end = int(self.broadcast_address) + 1 + step = (int(self.hostmask) + 1) >> prefixlen_diff + for new_addr in _compat_range(start, end, step): + current = self.__class__((new_addr, new_prefixlen)) + yield current + + def supernet(self, prefixlen_diff=1, new_prefix=None): + """The supernet containing the current network. + + Args: + prefixlen_diff: An integer, the amount the prefix length of + the network should be decreased by. For example, given a + /24 network and a prefixlen_diff of 3, a supernet with a + /21 netmask is returned. + + Returns: + An IPv4 network object. + + Raises: + ValueError: If self.prefixlen - prefixlen_diff < 0. I.e., you have + a negative prefix length. + OR + If prefixlen_diff and new_prefix are both set or new_prefix is a + larger number than the current prefix (larger number means a + smaller network) + + """ + if self._prefixlen == 0: + return self + + if new_prefix is not None: + if new_prefix > self._prefixlen: + raise ValueError('new prefix must be shorter') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = self._prefixlen - new_prefix + + new_prefixlen = self.prefixlen - prefixlen_diff + if new_prefixlen < 0: + raise ValueError( + 'current prefixlen is %d, cannot have a prefixlen_diff of %d' % + (self.prefixlen, prefixlen_diff)) + return self.__class__(( + int(self.network_address) & (int(self.netmask) << prefixlen_diff), + new_prefixlen)) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return (self.network_address.is_multicast and + self.broadcast_address.is_multicast) + + @staticmethod + def _is_subnet_of(a, b): + try: + # Always false if one is v4 and the other is v6. + if a._version != b._version: + raise TypeError("%s and %s are not of the same version" (a, b)) + return (b.network_address <= a.network_address and + b.broadcast_address >= a.broadcast_address) + except AttributeError: + raise TypeError("Unable to test subnet containment " + "between %s and %s" % (a, b)) + + def subnet_of(self, other): + """Return True if this network is a subnet of other.""" + return self._is_subnet_of(self, other) + + def supernet_of(self, other): + """Return True if this network is a supernet of other.""" + return self._is_subnet_of(other, self) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return (self.network_address.is_reserved and + self.broadcast_address.is_reserved) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return (self.network_address.is_link_local and + self.broadcast_address.is_link_local) + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return (self.network_address.is_private and + self.broadcast_address.is_private) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return (self.network_address.is_unspecified and + self.broadcast_address.is_unspecified) + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return (self.network_address.is_loopback and + self.broadcast_address.is_loopback) + + +class _BaseV4(object): + + """Base IPv4 object. + + The following methods are used by IPv4 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 4 + # Equivalent to 255.255.255.255 or 32 bits of 1's. + _ALL_ONES = (2 ** IPV4LENGTH) - 1 + _DECIMAL_DIGITS = frozenset('0123456789') + + # the valid octets for host and netmasks. only useful for IPv4. + _valid_mask_octets = frozenset([255, 254, 252, 248, 240, 224, 192, 128, 0]) + + _max_prefixlen = IPV4LENGTH + # There are only a handful of valid v4 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + def _explode_shorthand_ip_string(self): + return _compat_str(self) + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + try: + # Check for a netmask in prefix length form + prefixlen = cls._prefix_from_prefix_string(arg) + except NetmaskValueError: + # Check for a netmask or hostmask in dotted-quad form. + # This may raise NetmaskValueError. + prefixlen = cls._prefix_from_ip_string(arg) + netmask = IPv4Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn the given IP string into an integer for comparison. + + Args: + ip_str: A string, the IP ip_str. + + Returns: + The IP ip_str as an integer. + + Raises: + AddressValueError: if ip_str isn't a valid IPv4 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + octets = ip_str.split('.') + if len(octets) != 4: + raise AddressValueError("Expected 4 octets in %r" % ip_str) + + try: + return _compat_int_from_byte_vals( + map(cls._parse_octet, octets), 'big') + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_octet(cls, octet_str): + """Convert a decimal octet into an integer. + + Args: + octet_str: A string, the number to parse. + + Returns: + The octet as an integer. + + Raises: + ValueError: if the octet isn't strictly a decimal from [0..255]. + + """ + if not octet_str: + raise ValueError("Empty octet not permitted") + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._DECIMAL_DIGITS.issuperset(octet_str): + msg = "Only decimal digits permitted in %r" + raise ValueError(msg % octet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(octet_str) > 3: + msg = "At most 3 characters permitted in %r" + raise ValueError(msg % octet_str) + # Convert to integer (we know digits are legal) + octet_int = int(octet_str, 10) + # Any octets that look like they *might* be written in octal, + # and which don't look exactly the same in both octal and + # decimal are rejected as ambiguous + if octet_int > 7 and octet_str[0] == '0': + msg = "Ambiguous (octal/decimal) value in %r not permitted" + raise ValueError(msg % octet_str) + if octet_int > 255: + raise ValueError("Octet %d (> 255) not permitted" % octet_int) + return octet_int + + @classmethod + def _string_from_ip_int(cls, ip_int): + """Turns a 32-bit integer into dotted decimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + The IP address as a string in dotted decimal notation. + + """ + return '.'.join(_compat_str(struct.unpack(b'!B', b)[0] + if isinstance(b, bytes) + else b) + for b in _compat_to_bytes(ip_int, 4, 'big')) + + def _is_hostmask(self, ip_str): + """Test if the IP string is a hostmask (rather than a netmask). + + Args: + ip_str: A string, the potential hostmask. + + Returns: + A boolean, True if the IP string is a hostmask. + + """ + bits = ip_str.split('.') + try: + parts = [x for x in map(int, bits) if x in self._valid_mask_octets] + except ValueError: + return False + if len(parts) != len(bits): + return False + if parts[0] < parts[-1]: + return True + return False + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv4 address. + + This implements the method described in RFC1035 3.5. + + """ + reverse_octets = _compat_str(self).split('.')[::-1] + return '.'.join(reverse_octets) + '.in-addr.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv4Address(_BaseV4, _BaseAddress): + + """Represent and manipulate single IPv4 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + + """ + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv4Address('192.0.2.1') == IPv4Address(3221225985). + or, more generally + IPv4Address(int(IPv4Address('192.0.2.1'))) == + IPv4Address('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 4) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v4_int_to_packed(self._ip) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within the + reserved IPv4 Network range. + + """ + return self in self._constants._reserved_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + return ( + self not in self._constants._public_network and + not self.is_private) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is multicast. + See RFC 3171 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 5735 3. + + """ + return self == self._constants._unspecified_address + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback per RFC 3330. + + """ + return self in self._constants._loopback_network + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is link-local per RFC 3927. + + """ + return self in self._constants._linklocal_network + + +class IPv4Interface(IPv4Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv4Address.__init__(self, address) + self.network = IPv4Network(self._ip) + self._prefixlen = self._max_prefixlen + return + + if isinstance(address, tuple): + IPv4Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + + self.network = IPv4Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv4Address.__init__(self, addr[0]) + + self.network = IPv4Network(address, strict=False) + self._prefixlen = self.network._prefixlen + + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv4Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv4Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv4Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + +class IPv4Network(_BaseV4, _BaseNetwork): + + """This class represents and manipulates 32-bit IPv4 network + addresses.. + + Attributes: [examples for IPv4Network('192.0.2.0/27')] + .network_address: IPv4Address('192.0.2.0') + .hostmask: IPv4Address('0.0.0.31') + .broadcast_address: IPv4Address('192.0.2.32') + .netmask: IPv4Address('255.255.255.224') + .prefixlen: 27 + + """ + # Class to use when creating address objects + _address_class = IPv4Address + + def __init__(self, address, strict=True): + + """Instantiate a new IPv4 network object. + + Args: + address: A string or integer representing the IP [& network]. + '192.0.2.0/24' + '192.0.2.0/255.255.255.0' + '192.0.0.2/0.0.0.255' + are all functionally the same in IPv4. Similarly, + '192.0.2.1' + '192.0.2.1/255.255.255.255' + '192.0.2.1/32' + are also functionally equivalent. That is to say, failing to + provide a subnetmask will create an object with a mask of /32. + + If the mask (portion after the / in the argument) is given in + dotted quad form, it is treated as a netmask if it starts with a + non-zero field (e.g. /255.0.0.0 == /8) and as a hostmask if it + starts with a zero field (e.g. 0.255.255.255 == /8), with the + single exception of an all-zero mask which is treated as a + netmask == /0. If no mask is given, a default of /32 is used. + + Additionally, an integer can be passed, so + IPv4Network('192.0.2.1') == IPv4Network(3221225985) + or, more generally + IPv4Interface(int(IPv4Interface('192.0.2.1'))) == + IPv4Interface('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + NetmaskValueError: If the netmask isn't valid for + an IPv4 address. + ValueError: If strict is True and a network address is not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Constructing from a packed address or integer + if isinstance(address, (_compat_int_types, bytes)): + self.network_address = IPv4Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + # fixme: address/network test here. + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + # We weren't given an address[1] + arg = self._max_prefixlen + self.network_address = IPv4Address(address[0]) + self.netmask, self._prefixlen = self._make_netmask(arg) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv4Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + self.network_address = IPv4Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv4Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv4Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry. + + """ + return (not (self.network_address in IPv4Network('100.64.0.0/10') and + self.broadcast_address in IPv4Network('100.64.0.0/10')) and + not self.is_private) + + +class _IPv4Constants(object): + + _linklocal_network = IPv4Network('169.254.0.0/16') + + _loopback_network = IPv4Network('127.0.0.0/8') + + _multicast_network = IPv4Network('224.0.0.0/4') + + _public_network = IPv4Network('100.64.0.0/10') + + _private_networks = [ + IPv4Network('0.0.0.0/8'), + IPv4Network('10.0.0.0/8'), + IPv4Network('127.0.0.0/8'), + IPv4Network('169.254.0.0/16'), + IPv4Network('172.16.0.0/12'), + IPv4Network('192.0.0.0/29'), + IPv4Network('192.0.0.170/31'), + IPv4Network('192.0.2.0/24'), + IPv4Network('192.168.0.0/16'), + IPv4Network('198.18.0.0/15'), + IPv4Network('198.51.100.0/24'), + IPv4Network('203.0.113.0/24'), + IPv4Network('240.0.0.0/4'), + IPv4Network('255.255.255.255/32'), + ] + + _reserved_network = IPv4Network('240.0.0.0/4') + + _unspecified_address = IPv4Address('0.0.0.0') + + +IPv4Address._constants = _IPv4Constants + + +class _BaseV6(object): + + """Base IPv6 object. + + The following methods are used by IPv6 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 6 + _ALL_ONES = (2 ** IPV6LENGTH) - 1 + _HEXTET_COUNT = 8 + _HEX_DIGITS = frozenset('0123456789ABCDEFabcdef') + _max_prefixlen = IPV6LENGTH + + # There are only a bunch of valid v6 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + prefixlen = cls._prefix_from_prefix_string(arg) + netmask = IPv6Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn an IPv6 ip_str into an integer. + + Args: + ip_str: A string, the IPv6 ip_str. + + Returns: + An int, the IPv6 address + + Raises: + AddressValueError: if ip_str isn't a valid IPv6 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + parts = ip_str.split(':') + + # An IPv6 address needs at least 2 colons (3 parts). + _min_parts = 3 + if len(parts) < _min_parts: + msg = "At least %d parts expected in %r" % (_min_parts, ip_str) + raise AddressValueError(msg) + + # If the address has an IPv4-style suffix, convert it to hexadecimal. + if '.' in parts[-1]: + try: + ipv4_int = IPv4Address(parts.pop())._ip + except AddressValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + parts.append('%x' % ((ipv4_int >> 16) & 0xFFFF)) + parts.append('%x' % (ipv4_int & 0xFFFF)) + + # An IPv6 address can't have more than 8 colons (9 parts). + # The extra colon comes from using the "::" notation for a single + # leading or trailing zero part. + _max_parts = cls._HEXTET_COUNT + 1 + if len(parts) > _max_parts: + msg = "At most %d colons permitted in %r" % ( + _max_parts - 1, ip_str) + raise AddressValueError(msg) + + # Disregarding the endpoints, find '::' with nothing in between. + # This indicates that a run of zeroes has been skipped. + skip_index = None + for i in _compat_range(1, len(parts) - 1): + if not parts[i]: + if skip_index is not None: + # Can't have more than one '::' + msg = "At most one '::' permitted in %r" % ip_str + raise AddressValueError(msg) + skip_index = i + + # parts_hi is the number of parts to copy from above/before the '::' + # parts_lo is the number of parts to copy from below/after the '::' + if skip_index is not None: + # If we found a '::', then check if it also covers the endpoints. + parts_hi = skip_index + parts_lo = len(parts) - skip_index - 1 + if not parts[0]: + parts_hi -= 1 + if parts_hi: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + parts_lo -= 1 + if parts_lo: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_skipped = cls._HEXTET_COUNT - (parts_hi + parts_lo) + if parts_skipped < 1: + msg = "Expected at most %d other parts with '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT - 1, ip_str)) + else: + # Otherwise, allocate the entire address to parts_hi. The + # endpoints could still be empty, but _parse_hextet() will check + # for that. + if len(parts) != cls._HEXTET_COUNT: + msg = "Exactly %d parts expected without '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT, ip_str)) + if not parts[0]: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_hi = len(parts) + parts_lo = 0 + parts_skipped = 0 + + try: + # Now, parse the hextets into a 128-bit integer. + ip_int = 0 + for i in range(parts_hi): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + ip_int <<= 16 * parts_skipped + for i in range(-parts_lo, 0): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + return ip_int + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_hextet(cls, hextet_str): + """Convert an IPv6 hextet string into an integer. + + Args: + hextet_str: A string, the number to parse. + + Returns: + The hextet as an integer. + + Raises: + ValueError: if the input isn't strictly a hex number from + [0..FFFF]. + + """ + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._HEX_DIGITS.issuperset(hextet_str): + raise ValueError("Only hex digits permitted in %r" % hextet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(hextet_str) > 4: + msg = "At most 4 characters permitted in %r" + raise ValueError(msg % hextet_str) + # Length check means we can skip checking the integer value + return int(hextet_str, 16) + + @classmethod + def _compress_hextets(cls, hextets): + """Compresses a list of hextets. + + Compresses a list of strings, replacing the longest continuous + sequence of "0" in the list with "" and adding empty strings at + the beginning or at the end of the string such that subsequently + calling ":".join(hextets) will produce the compressed version of + the IPv6 address. + + Args: + hextets: A list of strings, the hextets to compress. + + Returns: + A list of strings. + + """ + best_doublecolon_start = -1 + best_doublecolon_len = 0 + doublecolon_start = -1 + doublecolon_len = 0 + for index, hextet in enumerate(hextets): + if hextet == '0': + doublecolon_len += 1 + if doublecolon_start == -1: + # Start of a sequence of zeros. + doublecolon_start = index + if doublecolon_len > best_doublecolon_len: + # This is the longest sequence of zeros so far. + best_doublecolon_len = doublecolon_len + best_doublecolon_start = doublecolon_start + else: + doublecolon_len = 0 + doublecolon_start = -1 + + if best_doublecolon_len > 1: + best_doublecolon_end = (best_doublecolon_start + + best_doublecolon_len) + # For zeros at the end of the address. + if best_doublecolon_end == len(hextets): + hextets += [''] + hextets[best_doublecolon_start:best_doublecolon_end] = [''] + # For zeros at the beginning of the address. + if best_doublecolon_start == 0: + hextets = [''] + hextets + + return hextets + + @classmethod + def _string_from_ip_int(cls, ip_int=None): + """Turns a 128-bit integer into hexadecimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + A string, the hexadecimal representation of the address. + + Raises: + ValueError: The address is bigger than 128 bits of all ones. + + """ + if ip_int is None: + ip_int = int(cls._ip) + + if ip_int > cls._ALL_ONES: + raise ValueError('IPv6 address is too large') + + hex_str = '%032x' % ip_int + hextets = ['%x' % int(hex_str[x:x + 4], 16) for x in range(0, 32, 4)] + + hextets = cls._compress_hextets(hextets) + return ':'.join(hextets) + + def _explode_shorthand_ip_string(self): + """Expand a shortened IPv6 address. + + Args: + ip_str: A string, the IPv6 address. + + Returns: + A string, the expanded IPv6 address. + + """ + if isinstance(self, IPv6Network): + ip_str = _compat_str(self.network_address) + elif isinstance(self, IPv6Interface): + ip_str = _compat_str(self.ip) + else: + ip_str = _compat_str(self) + + ip_int = self._ip_int_from_string(ip_str) + hex_str = '%032x' % ip_int + parts = [hex_str[x:x + 4] for x in range(0, 32, 4)] + if isinstance(self, (_BaseNetwork, IPv6Interface)): + return '%s/%d' % (':'.join(parts), self._prefixlen) + return ':'.join(parts) + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv6 address. + + This implements the method described in RFC3596 2.5. + + """ + reverse_chars = self.exploded[::-1].replace(':', '') + return '.'.join(reverse_chars) + '.ip6.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv6Address(_BaseV6, _BaseAddress): + + """Represent and manipulate single IPv6 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + """Instantiate a new IPv6 address object. + + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv6Address('2001:db8::') == + IPv6Address(42540766411282592856903984951653826560) + or, more generally + IPv6Address(int(IPv6Address('2001:db8::'))) == + IPv6Address('2001:db8::') + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 16) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v6_int_to_packed(self._ip) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return any(self in x for x in self._constants._reserved_networks) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return self in self._constants._linklocal_network + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return self in self._constants._sitelocal_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv6-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, true if the address is not reserved per + iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return self._ip == 0 + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return self._ip == 1 + + @property + def ipv4_mapped(self): + """Return the IPv4 mapped address. + + Returns: + If the IPv6 address is a v4 mapped address, return the + IPv4 mapped address. Return None otherwise. + + """ + if (self._ip >> 32) != 0xFFFF: + return None + return IPv4Address(self._ip & 0xFFFFFFFF) + + @property + def teredo(self): + """Tuple of embedded teredo IPs. + + Returns: + Tuple of the (server, client) IPs or None if the address + doesn't appear to be a teredo address (doesn't start with + 2001::/32) + + """ + if (self._ip >> 96) != 0x20010000: + return None + return (IPv4Address((self._ip >> 64) & 0xFFFFFFFF), + IPv4Address(~self._ip & 0xFFFFFFFF)) + + @property + def sixtofour(self): + """Return the IPv4 6to4 embedded address. + + Returns: + The IPv4 6to4-embedded address if present or None if the + address doesn't appear to contain a 6to4 embedded address. + + """ + if (self._ip >> 112) != 0x2002: + return None + return IPv4Address((self._ip >> 80) & 0xFFFFFFFF) + + +class IPv6Interface(IPv6Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv6Address.__init__(self, address) + self.network = IPv6Network(self._ip) + self._prefixlen = self._max_prefixlen + return + if isinstance(address, tuple): + IPv6Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv6Address.__init__(self, addr[0]) + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self._prefixlen = self.network._prefixlen + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv6Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv6Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv6Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + @property + def is_unspecified(self): + return self._ip == 0 and self.network.is_unspecified + + @property + def is_loopback(self): + return self._ip == 1 and self.network.is_loopback + + +class IPv6Network(_BaseV6, _BaseNetwork): + + """This class represents and manipulates 128-bit IPv6 networks. + + Attributes: [examples for IPv6('2001:db8::1000/124')] + .network_address: IPv6Address('2001:db8::1000') + .hostmask: IPv6Address('::f') + .broadcast_address: IPv6Address('2001:db8::100f') + .netmask: IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0') + .prefixlen: 124 + + """ + + # Class to use when creating address objects + _address_class = IPv6Address + + def __init__(self, address, strict=True): + """Instantiate a new IPv6 Network object. + + Args: + address: A string or integer representing the IPv6 network or the + IP and prefix/netmask. + '2001:db8::/128' + '2001:db8:0000:0000:0000:0000:0000:0000/128' + '2001:db8::' + are all functionally the same in IPv6. That is to say, + failing to provide a subnetmask will create an object with + a mask of /128. + + Additionally, an integer can be passed, so + IPv6Network('2001:db8::') == + IPv6Network(42540766411282592856903984951653826560) + or, more generally + IPv6Network(int(IPv6Network('2001:db8::'))) == + IPv6Network('2001:db8::') + + strict: A boolean. If true, ensure that we have been passed + A true network address, eg, 2001:db8::1000/124 and not an + IP address on a network, eg, 2001:db8::1/124. + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + NetmaskValueError: If the netmask isn't valid for + an IPv6 address. + ValueError: If strict was True and a network address was not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Efficient constructor from integer or packed address + if isinstance(address, (bytes, _compat_int_types)): + self.network_address = IPv6Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + self.network_address = IPv6Address(address[0]) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv6Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + + self.network_address = IPv6Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv6Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv6Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the + Subnet-Router anycast address. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast + 1): + yield self._address_class(x) + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return (self.network_address.is_site_local and + self.broadcast_address.is_site_local) + + +class _IPv6Constants(object): + + _linklocal_network = IPv6Network('fe80::/10') + + _multicast_network = IPv6Network('ff00::/8') + + _private_networks = [ + IPv6Network('::1/128'), + IPv6Network('::/128'), + IPv6Network('::ffff:0:0/96'), + IPv6Network('100::/64'), + IPv6Network('2001::/23'), + IPv6Network('2001:2::/48'), + IPv6Network('2001:db8::/32'), + IPv6Network('2001:10::/28'), + IPv6Network('fc00::/7'), + IPv6Network('fe80::/10'), + ] + + _reserved_networks = [ + IPv6Network('::/8'), IPv6Network('100::/8'), + IPv6Network('200::/7'), IPv6Network('400::/6'), + IPv6Network('800::/5'), IPv6Network('1000::/4'), + IPv6Network('4000::/3'), IPv6Network('6000::/3'), + IPv6Network('8000::/3'), IPv6Network('A000::/3'), + IPv6Network('C000::/3'), IPv6Network('E000::/4'), + IPv6Network('F000::/5'), IPv6Network('F800::/6'), + IPv6Network('FE00::/9'), + ] + + _sitelocal_network = IPv6Network('fec0::/10') + + +IPv6Address._constants = _IPv6Constants diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/ElementInclude.py b/plugins/SamsungSmartTVPlus/libs/lxml/ElementInclude.py new file mode 100644 index 000000000..8badf8b44 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/ElementInclude.py @@ -0,0 +1,219 @@ +# +# ElementTree +# $Id: ElementInclude.py 1862 2004-06-18 07:31:02Z Fredrik $ +# +# limited xinclude support for element trees +# +# history: +# 2003-08-15 fl created +# 2003-11-14 fl fixed default loader +# +# Copyright (c) 2003-2004 by Fredrik Lundh. All rights reserved. +# +# fredrik@pythonware.com +# http://www.pythonware.com +# +# -------------------------------------------------------------------- +# The ElementTree toolkit is +# +# Copyright (c) 1999-2004 by Fredrik Lundh +# +# By obtaining, using, and/or copying this software and/or its +# associated documentation, you agree that you have read, understood, +# and will comply with the following terms and conditions: +# +# Permission to use, copy, modify, and distribute this software and +# its associated documentation for any purpose and without fee is +# hereby granted, provided that the above copyright notice appears in +# all copies, and that both that copyright notice and this permission +# notice appear in supporting documentation, and that the name of +# Secret Labs AB or the author not be used in advertising or publicity +# pertaining to distribution of the software without specific, written +# prior permission. +# +# SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD +# TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- +# ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR +# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. +# -------------------------------------------------------------------- + +""" +Limited XInclude support for the ElementTree package. + +While lxml.etree has full support for XInclude (see +`etree.ElementTree.xinclude()`), this module provides a simpler, pure +Python, ElementTree compatible implementation that supports a simple +form of custom URL resolvers. +""" + +from lxml import etree +try: + from urlparse import urljoin + from urllib2 import urlopen +except ImportError: + # Python 3 + from urllib.parse import urljoin + from urllib.request import urlopen + +XINCLUDE = "{http://www.w3.org/2001/XInclude}" + +XINCLUDE_INCLUDE = XINCLUDE + "include" +XINCLUDE_FALLBACK = XINCLUDE + "fallback" +XINCLUDE_ITER_TAG = XINCLUDE + "*" + +## +# Fatal include error. + +class FatalIncludeError(etree.LxmlSyntaxError): + pass + +## +# ET compatible default loader. +# This loader reads an included resource from disk. +# +# @param href Resource reference. +# @param parse Parse mode. Either "xml" or "text". +# @param encoding Optional text encoding. +# @return The expanded resource. If the parse mode is "xml", this +# is an ElementTree instance. If the parse mode is "text", this +# is a Unicode string. If the loader fails, it can return None +# or raise an IOError exception. +# @throws IOError If the loader fails to load the resource. + +def default_loader(href, parse, encoding=None): + file = open(href, 'rb') + if parse == "xml": + data = etree.parse(file).getroot() + else: + data = file.read() + if not encoding: + encoding = 'utf-8' + data = data.decode(encoding) + file.close() + return data + +## +# Default loader used by lxml.etree - handles custom resolvers properly +# + +def _lxml_default_loader(href, parse, encoding=None, parser=None): + if parse == "xml": + data = etree.parse(href, parser).getroot() + else: + if "://" in href: + f = urlopen(href) + else: + f = open(href, 'rb') + data = f.read() + f.close() + if not encoding: + encoding = 'utf-8' + data = data.decode(encoding) + return data + +## +# Wrapper for ET compatibility - drops the parser + +def _wrap_et_loader(loader): + def load(href, parse, encoding=None, parser=None): + return loader(href, parse, encoding) + return load + + +## +# Expand XInclude directives. +# +# @param elem Root element. +# @param loader Optional resource loader. If omitted, it defaults +# to {@link default_loader}. If given, it should be a callable +# that implements the same interface as default_loader. +# @param base_url The base URL of the original file, to resolve +# relative include file references. +# @throws FatalIncludeError If the function fails to include a given +# resource, or if the tree contains malformed XInclude elements. +# @throws IOError If the function fails to load a given resource. +# @returns the node or its replacement if it was an XInclude node + +def include(elem, loader=None, base_url=None): + if base_url is None: + if hasattr(elem, 'getroot'): + tree = elem + elem = elem.getroot() + else: + tree = elem.getroottree() + if hasattr(tree, 'docinfo'): + base_url = tree.docinfo.URL + elif hasattr(elem, 'getroot'): + elem = elem.getroot() + _include(elem, loader, base_url=base_url) + +def _include(elem, loader=None, _parent_hrefs=None, base_url=None): + if loader is not None: + load_include = _wrap_et_loader(loader) + else: + load_include = _lxml_default_loader + + if _parent_hrefs is None: + _parent_hrefs = set() + + parser = elem.getroottree().parser + + include_elements = list( + elem.iter(XINCLUDE_ITER_TAG)) + + for e in include_elements: + if e.tag == XINCLUDE_INCLUDE: + # process xinclude directive + href = urljoin(base_url, e.get("href")) + parse = e.get("parse", "xml") + parent = e.getparent() + if parse == "xml": + if href in _parent_hrefs: + raise FatalIncludeError( + "recursive include of %r detected" % href + ) + _parent_hrefs.add(href) + node = load_include(href, parse, parser=parser) + if node is None: + raise FatalIncludeError( + "cannot load %r as %r" % (href, parse) + ) + node = _include(node, loader, _parent_hrefs) + if e.tail: + node.tail = (node.tail or "") + e.tail + if parent is None: + return node # replaced the root node! + parent.replace(e, node) + elif parse == "text": + text = load_include(href, parse, encoding=e.get("encoding")) + if text is None: + raise FatalIncludeError( + "cannot load %r as %r" % (href, parse) + ) + predecessor = e.getprevious() + if predecessor is not None: + predecessor.tail = (predecessor.tail or "") + text + elif parent is None: + return text # replaced the root node! + else: + parent.text = (parent.text or "") + text + (e.tail or "") + parent.remove(e) + else: + raise FatalIncludeError( + "unknown parse type in xi:include tag (%r)" % parse + ) + elif e.tag == XINCLUDE_FALLBACK: + parent = e.getparent() + if parent is not None and parent.tag != XINCLUDE_INCLUDE: + raise FatalIncludeError( + "xi:fallback tag must be child of xi:include (%r)" % e.tag + ) + else: + raise FatalIncludeError( + "Invalid element found in XInclude namespace (%r)" % e.tag + ) + return elem diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/__init__.py b/plugins/SamsungSmartTVPlus/libs/lxml/__init__.py new file mode 100644 index 000000000..07cbe3a26 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/__init__.py @@ -0,0 +1,20 @@ +# this is a package + +def get_include(): + """ + Returns a list of header include paths (for lxml itself, libxml2 + and libxslt) needed to compile C code against lxml if it was built + with statically linked libraries. + """ + import os + lxml_path = __path__[0] + include_path = os.path.join(lxml_path, 'includes') + includes = [include_path, lxml_path] + + for name in os.listdir(include_path): + path = os.path.join(include_path, name) + if os.path.isdir(path): + includes.append(path) + + return includes + diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/_elementpath.py b/plugins/SamsungSmartTVPlus/libs/lxml/_elementpath.py new file mode 100644 index 000000000..9360fabfd --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/_elementpath.py @@ -0,0 +1,333 @@ +# +# ElementTree +# $Id: ElementPath.py 3375 2008-02-13 08:05:08Z fredrik $ +# +# limited xpath support for element trees +# +# history: +# 2003-05-23 fl created +# 2003-05-28 fl added support for // etc +# 2003-08-27 fl fixed parsing of periods in element names +# 2007-09-10 fl new selection engine +# 2007-09-12 fl fixed parent selector +# 2007-09-13 fl added iterfind; changed findall to return a list +# 2007-11-30 fl added namespaces support +# 2009-10-30 fl added child element value filter +# +# Copyright (c) 2003-2009 by Fredrik Lundh. All rights reserved. +# +# fredrik@pythonware.com +# http://www.pythonware.com +# +# -------------------------------------------------------------------- +# The ElementTree toolkit is +# +# Copyright (c) 1999-2009 by Fredrik Lundh +# +# By obtaining, using, and/or copying this software and/or its +# associated documentation, you agree that you have read, understood, +# and will comply with the following terms and conditions: +# +# Permission to use, copy, modify, and distribute this software and +# its associated documentation for any purpose and without fee is +# hereby granted, provided that the above copyright notice appears in +# all copies, and that both that copyright notice and this permission +# notice appear in supporting documentation, and that the name of +# Secret Labs AB or the author not be used in advertising or publicity +# pertaining to distribution of the software without specific, written +# prior permission. +# +# SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD +# TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- +# ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR +# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. +# -------------------------------------------------------------------- + +## +# Implementation module for XPath support. There's usually no reason +# to import this module directly; the ElementTree does this for +# you, if needed. +## + +import re + +xpath_tokenizer_re = re.compile( + "(" + "'[^']*'|\"[^\"]*\"|" + "::|" + "//?|" + r"\.\.|" + r"\(\)|" + r"[/.*:\[\]\(\)@=])|" + r"((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|" + r"\s+" + ) + +def xpath_tokenizer(pattern, namespaces=None): + default_namespace = namespaces.get(None) if namespaces else None + for token in xpath_tokenizer_re.findall(pattern): + tag = token[1] + if tag and tag[0] != "{": + if ":" in tag: + prefix, uri = tag.split(":", 1) + try: + if not namespaces: + raise KeyError + yield token[0], "{%s}%s" % (namespaces[prefix], uri) + except KeyError: + raise SyntaxError("prefix %r not found in prefix map" % prefix) + elif default_namespace: + yield token[0], "{%s}%s" % (default_namespace, tag) + else: + yield token + else: + yield token + + +def prepare_child(next, token): + tag = token[1] + def select(result): + for elem in result: + for e in elem.iterchildren(tag): + yield e + return select + +def prepare_star(next, token): + def select(result): + for elem in result: + for e in elem.iterchildren('*'): + yield e + return select + +def prepare_self(next, token): + def select(result): + return result + return select + +def prepare_descendant(next, token): + token = next() + if token[0] == "*": + tag = "*" + elif not token[0]: + tag = token[1] + else: + raise SyntaxError("invalid descendant") + def select(result): + for elem in result: + for e in elem.iterdescendants(tag): + yield e + return select + +def prepare_parent(next, token): + def select(result): + for elem in result: + parent = elem.getparent() + if parent is not None: + yield parent + return select + +def prepare_predicate(next, token): + # FIXME: replace with real parser!!! refs: + # http://effbot.org/zone/simple-iterator-parser.htm + # http://javascript.crockford.com/tdop/tdop.html + signature = '' + predicate = [] + while 1: + token = next() + if token[0] == "]": + break + if token == ('', ''): + # ignore whitespace + continue + if token[0] and token[0][:1] in "'\"": + token = "'", token[0][1:-1] + signature += token[0] or "-" + predicate.append(token[1]) + + # use signature to determine predicate type + if signature == "@-": + # [@attribute] predicate + key = predicate[1] + def select(result): + for elem in result: + if elem.get(key) is not None: + yield elem + return select + if signature == "@-='": + # [@attribute='value'] + key = predicate[1] + value = predicate[-1] + def select(result): + for elem in result: + if elem.get(key) == value: + yield elem + return select + if signature == "-" and not re.match(r"-?\d+$", predicate[0]): + # [tag] + tag = predicate[0] + def select(result): + for elem in result: + for _ in elem.iterchildren(tag): + yield elem + break + return select + if signature == ".='" or (signature == "-='" and not re.match(r"-?\d+$", predicate[0])): + # [.='value'] or [tag='value'] + tag = predicate[0] + value = predicate[-1] + if tag: + def select(result): + for elem in result: + for e in elem.iterchildren(tag): + if "".join(e.itertext()) == value: + yield elem + break + else: + def select(result): + for elem in result: + if "".join(elem.itertext()) == value: + yield elem + return select + if signature == "-" or signature == "-()" or signature == "-()-": + # [index] or [last()] or [last()-index] + if signature == "-": + # [index] + index = int(predicate[0]) - 1 + if index < 0: + if index == -1: + raise SyntaxError( + "indices in path predicates are 1-based, not 0-based") + else: + raise SyntaxError("path index >= 1 expected") + else: + if predicate[0] != "last": + raise SyntaxError("unsupported function") + if signature == "-()-": + try: + index = int(predicate[2]) - 1 + except ValueError: + raise SyntaxError("unsupported expression") + else: + index = -1 + def select(result): + for elem in result: + parent = elem.getparent() + if parent is None: + continue + try: + # FIXME: what if the selector is "*" ? + elems = list(parent.iterchildren(elem.tag)) + if elems[index] is elem: + yield elem + except IndexError: + pass + return select + raise SyntaxError("invalid predicate") + +ops = { + "": prepare_child, + "*": prepare_star, + ".": prepare_self, + "..": prepare_parent, + "//": prepare_descendant, + "[": prepare_predicate, +} + + +# -------------------------------------------------------------------- + +_cache = {} + + +def _build_path_iterator(path, namespaces): + """compile selector pattern""" + if path[-1:] == "/": + path += "*" # implicit all (FIXME: keep this?) + + cache_key = (path,) + if namespaces: + if '' in namespaces: + raise ValueError("empty namespace prefix must be passed as None, not the empty string") + if None in namespaces: + cache_key += (namespaces[None],) + tuple(sorted( + item for item in namespaces.items() if item[0] is not None)) + else: + cache_key += tuple(sorted(namespaces.items())) + + try: + return _cache[cache_key] + except KeyError: + pass + if len(_cache) > 100: + _cache.clear() + + if path[:1] == "/": + raise SyntaxError("cannot use absolute path on element") + stream = iter(xpath_tokenizer(path, namespaces)) + try: + _next = stream.next + except AttributeError: + # Python 3 + _next = stream.__next__ + try: + token = _next() + except StopIteration: + raise SyntaxError("empty path expression") + selector = [] + while 1: + try: + selector.append(ops[token[0]](_next, token)) + except StopIteration: + raise SyntaxError("invalid path") + try: + token = _next() + if token[0] == "/": + token = _next() + except StopIteration: + break + _cache[cache_key] = selector + return selector + + +## +# Iterate over the matching nodes + +def iterfind(elem, path, namespaces=None): + selector = _build_path_iterator(path, namespaces) + result = iter((elem,)) + for select in selector: + result = select(result) + return result + + +## +# Find first matching object. + +def find(elem, path, namespaces=None): + it = iterfind(elem, path, namespaces) + try: + return next(it) + except StopIteration: + return None + + +## +# Find all matching objects. + +def findall(elem, path, namespaces=None): + return list(iterfind(elem, path, namespaces)) + + +## +# Find text for first matching object. + +def findtext(elem, path, default=None, namespaces=None): + el = find(elem, path, namespaces) + if el is None: + return default + else: + return el.text or '' diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/_elementpath.pyd b/plugins/SamsungSmartTVPlus/libs/lxml/_elementpath.pyd new file mode 100644 index 000000000..f2315f6e0 Binary files /dev/null and b/plugins/SamsungSmartTVPlus/libs/lxml/_elementpath.pyd differ diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/builder.py b/plugins/SamsungSmartTVPlus/libs/lxml/builder.py new file mode 100644 index 000000000..9c4431ab8 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/builder.py @@ -0,0 +1,235 @@ +# +# Element generator factory by Fredrik Lundh. +# +# Source: +# http://online.effbot.org/2006_11_01_archive.htm#et-builder +# http://effbot.python-hosting.com/file/stuff/sandbox/elementlib/builder.py +# +# -------------------------------------------------------------------- +# The ElementTree toolkit is +# +# Copyright (c) 1999-2004 by Fredrik Lundh +# +# By obtaining, using, and/or copying this software and/or its +# associated documentation, you agree that you have read, understood, +# and will comply with the following terms and conditions: +# +# Permission to use, copy, modify, and distribute this software and +# its associated documentation for any purpose and without fee is +# hereby granted, provided that the above copyright notice appears in +# all copies, and that both that copyright notice and this permission +# notice appear in supporting documentation, and that the name of +# Secret Labs AB or the author not be used in advertising or publicity +# pertaining to distribution of the software without specific, written +# prior permission. +# +# SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD +# TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- +# ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR +# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. +# -------------------------------------------------------------------- + +""" +The ``E`` Element factory for generating XML documents. +""" + +import lxml.etree as ET + +from functools import partial + +try: + basestring +except NameError: + basestring = str + +try: + unicode +except NameError: + unicode = str + + +class ElementMaker(object): + """Element generator factory. + + Unlike the ordinary Element factory, the E factory allows you to pass in + more than just a tag and some optional attributes; you can also pass in + text and other elements. The text is added as either text or tail + attributes, and elements are inserted at the right spot. Some small + examples:: + + >>> from lxml import etree as ET + >>> from lxml.builder import E + + >>> ET.tostring(E("tag")) + '' + >>> ET.tostring(E("tag", "text")) + 'text' + >>> ET.tostring(E("tag", "text", key="value")) + 'text' + >>> ET.tostring(E("tag", E("subtag", "text"), "tail")) + 'texttail' + + For simple tags, the factory also allows you to write ``E.tag(...)`` instead + of ``E('tag', ...)``:: + + >>> ET.tostring(E.tag()) + '' + >>> ET.tostring(E.tag("text")) + 'text' + >>> ET.tostring(E.tag(E.subtag("text"), "tail")) + 'texttail' + + Here's a somewhat larger example; this shows how to generate HTML + documents, using a mix of prepared factory functions for inline elements, + nested ``E.tag`` calls, and embedded XHTML fragments:: + + # some common inline elements + A = E.a + I = E.i + B = E.b + + def CLASS(v): + # helper function, 'class' is a reserved word + return {'class': v} + + page = ( + E.html( + E.head( + E.title("This is a sample document") + ), + E.body( + E.h1("Hello!", CLASS("title")), + E.p("This is a paragraph with ", B("bold"), " text in it!"), + E.p("This is another paragraph, with a ", + A("link", href="http://www.python.org"), "."), + E.p("Here are some reserved characters: ."), + ET.XML("

    And finally, here is an embedded XHTML fragment.

    "), + ) + ) + ) + + print ET.tostring(page) + + Here's a prettyprinted version of the output from the above script:: + + + + This is a sample document + + +

    Hello!

    +

    This is a paragraph with bold text in it!

    +

    This is another paragraph, with link.

    +

    Here are some reserved characters: <spam&egg>.

    +

    And finally, here is an embedded XHTML fragment.

    + + + + For namespace support, you can pass a namespace map (``nsmap``) + and/or a specific target ``namespace`` to the ElementMaker class:: + + >>> E = ElementMaker(namespace="http://my.ns/") + >>> print(ET.tostring( E.test )) + + + >>> E = ElementMaker(namespace="http://my.ns/", nsmap={'p':'http://my.ns/'}) + >>> print(ET.tostring( E.test )) + + """ + + def __init__(self, typemap=None, + namespace=None, nsmap=None, makeelement=None): + if namespace is not None: + self._namespace = '{' + namespace + '}' + else: + self._namespace = None + + if nsmap: + self._nsmap = dict(nsmap) + else: + self._nsmap = None + + if makeelement is not None: + assert callable(makeelement) + self._makeelement = makeelement + else: + self._makeelement = ET.Element + + # initialize type map for this element factory + + if typemap: + typemap = dict(typemap) + else: + typemap = {} + + def add_text(elem, item): + try: + elem[-1].tail = (elem[-1].tail or "") + item + except IndexError: + elem.text = (elem.text or "") + item + + def add_cdata(elem, cdata): + if elem.text: + raise ValueError("Can't add a CDATA section. Element already has some text: %r" % elem.text) + elem.text = cdata + + if str not in typemap: + typemap[str] = add_text + if unicode not in typemap: + typemap[unicode] = add_text + if ET.CDATA not in typemap: + typemap[ET.CDATA] = add_cdata + + def add_dict(elem, item): + attrib = elem.attrib + for k, v in item.items(): + if isinstance(v, basestring): + attrib[k] = v + else: + attrib[k] = typemap[type(v)](None, v) + if dict not in typemap: + typemap[dict] = add_dict + + self._typemap = typemap + + def __call__(self, tag, *children, **attrib): + typemap = self._typemap + + if self._namespace is not None and tag[0] != '{': + tag = self._namespace + tag + elem = self._makeelement(tag, nsmap=self._nsmap) + if attrib: + typemap[dict](elem, attrib) + + for item in children: + if callable(item): + item = item() + t = typemap.get(type(item)) + if t is None: + if ET.iselement(item): + elem.append(item) + continue + for basetype in type(item).__mro__: + # See if the typemap knows of any of this type's bases. + t = typemap.get(basetype) + if t is not None: + break + else: + raise TypeError("bad argument type: %s(%r)" % + (type(item).__name__, item)) + v = t(elem, item) + if v: + typemap.get(type(v))(elem, v) + + return elem + + def __getattr__(self, tag): + return partial(self, tag) + + +# create factory object +E = ElementMaker() diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/builder.pyd b/plugins/SamsungSmartTVPlus/libs/lxml/builder.pyd new file mode 100644 index 000000000..3a03a9667 Binary files /dev/null and b/plugins/SamsungSmartTVPlus/libs/lxml/builder.pyd differ diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/cssselect.py b/plugins/SamsungSmartTVPlus/libs/lxml/cssselect.py new file mode 100644 index 000000000..586a1427c --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/cssselect.py @@ -0,0 +1,102 @@ +"""CSS Selectors based on XPath. + +This module supports selecting XML/HTML tags based on CSS selectors. +See the `CSSSelector` class for details. + +This is a thin wrapper around cssselect 0.7 or later. +""" + +from __future__ import absolute_import + +from . import etree +try: + import cssselect as external_cssselect +except ImportError: + raise ImportError( + 'cssselect does not seem to be installed. ' + 'See http://packages.python.org/cssselect/') + + +SelectorSyntaxError = external_cssselect.SelectorSyntaxError +ExpressionError = external_cssselect.ExpressionError +SelectorError = external_cssselect.SelectorError + + +__all__ = ['SelectorSyntaxError', 'ExpressionError', 'SelectorError', + 'CSSSelector'] + + +class LxmlTranslator(external_cssselect.GenericTranslator): + """ + A custom CSS selector to XPath translator with lxml-specific extensions. + """ + def xpath_contains_function(self, xpath, function): + # Defined there, removed in later drafts: + # http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#content-selectors + if function.argument_types() not in (['STRING'], ['IDENT']): + raise ExpressionError( + "Expected a single string or ident for :contains(), got %r" + % function.arguments) + value = function.arguments[0].value + return xpath.add_condition( + 'contains(__lxml_internal_css:lower-case(string(.)), %s)' + % self.xpath_literal(value.lower())) + + +class LxmlHTMLTranslator(LxmlTranslator, external_cssselect.HTMLTranslator): + """ + lxml extensions + HTML support. + """ + + +def _make_lower_case(context, s): + return s.lower() + +ns = etree.FunctionNamespace('http://codespeak.net/lxml/css/') +ns.prefix = '__lxml_internal_css' +ns['lower-case'] = _make_lower_case + + +class CSSSelector(etree.XPath): + """A CSS selector. + + Usage:: + + >>> from lxml import etree, cssselect + >>> select = cssselect.CSSSelector("a tag > child") + + >>> root = etree.XML("TEXT") + >>> [ el.tag for el in select(root) ] + ['child'] + + To use CSS namespaces, you need to pass a prefix-to-namespace + mapping as ``namespaces`` keyword argument:: + + >>> rdfns = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' + >>> select_ns = cssselect.CSSSelector('root > rdf|Description', + ... namespaces={'rdf': rdfns}) + + >>> rdf = etree.XML(( + ... '' + ... 'blah' + ... '') % rdfns) + >>> [(el.tag, el.text) for el in select_ns(rdf)] + [('{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description', 'blah')] + + """ + def __init__(self, css, namespaces=None, translator='xml'): + if translator == 'xml': + translator = LxmlTranslator() + elif translator == 'html': + translator = LxmlHTMLTranslator() + elif translator == 'xhtml': + translator = LxmlHTMLTranslator(xhtml=True) + path = translator.css_to_xpath(css) + etree.XPath.__init__(self, path, namespaces=namespaces) + self.css = css + + def __repr__(self): + return '<%s %s for %r>' % ( + self.__class__.__name__, + hex(abs(id(self)))[2:], + self.css) diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/doctestcompare.py b/plugins/SamsungSmartTVPlus/libs/lxml/doctestcompare.py new file mode 100644 index 000000000..eb7c7f993 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/doctestcompare.py @@ -0,0 +1,508 @@ +""" +lxml-based doctest output comparison. + +Note: normally, you should just import the `lxml.usedoctest` and +`lxml.html.usedoctest` modules from within a doctest, instead of this +one:: + + >>> import lxml.usedoctest # for XML output + + >>> import lxml.html.usedoctest # for HTML output + +To use this module directly, you must call ``lxmldoctest.install()``, +which will cause doctest to use this in all subsequent calls. + +This changes the way output is checked and comparisons are made for +XML or HTML-like content. + +XML or HTML content is noticed because the example starts with ``<`` +(it's HTML if it starts with ```` or include an ``any`` +attribute in the tag. An ``any`` tag matches any tag, while the +attribute matches any and all attributes. + +When a match fails, the reformatted example and gotten text is +displayed (indented), and a rough diff-like output is given. Anything +marked with ``+`` is in the output but wasn't supposed to be, and +similarly ``-`` means its in the example but wasn't in the output. + +You can disable parsing on one line with ``# doctest:+NOPARSE_MARKUP`` +""" + +from lxml import etree +import sys +import re +import doctest +try: + from html import escape as html_escape +except ImportError: + from cgi import escape as html_escape + +__all__ = ['PARSE_HTML', 'PARSE_XML', 'NOPARSE_MARKUP', 'LXMLOutputChecker', + 'LHTMLOutputChecker', 'install', 'temp_install'] + +try: + _basestring = basestring +except NameError: + _basestring = (str, bytes) + +_IS_PYTHON_3 = sys.version_info[0] >= 3 + +PARSE_HTML = doctest.register_optionflag('PARSE_HTML') +PARSE_XML = doctest.register_optionflag('PARSE_XML') +NOPARSE_MARKUP = doctest.register_optionflag('NOPARSE_MARKUP') + +OutputChecker = doctest.OutputChecker + +def strip(v): + if v is None: + return None + else: + return v.strip() + +def norm_whitespace(v): + return _norm_whitespace_re.sub(' ', v) + +_html_parser = etree.HTMLParser(recover=False, remove_blank_text=True) + +def html_fromstring(html): + return etree.fromstring(html, _html_parser) + +# We use this to distinguish repr()s from elements: +_repr_re = re.compile(r'^<[^>]+ (at|object) ') +_norm_whitespace_re = re.compile(r'[ \t\n][ \t\n]+') + +class LXMLOutputChecker(OutputChecker): + + empty_tags = ( + 'param', 'img', 'area', 'br', 'basefont', 'input', + 'base', 'meta', 'link', 'col') + + def get_default_parser(self): + return etree.XML + + def check_output(self, want, got, optionflags): + alt_self = getattr(self, '_temp_override_self', None) + if alt_self is not None: + super_method = self._temp_call_super_check_output + self = alt_self + else: + super_method = OutputChecker.check_output + parser = self.get_parser(want, got, optionflags) + if not parser: + return super_method( + self, want, got, optionflags) + try: + want_doc = parser(want) + except etree.XMLSyntaxError: + return False + try: + got_doc = parser(got) + except etree.XMLSyntaxError: + return False + return self.compare_docs(want_doc, got_doc) + + def get_parser(self, want, got, optionflags): + parser = None + if NOPARSE_MARKUP & optionflags: + return None + if PARSE_HTML & optionflags: + parser = html_fromstring + elif PARSE_XML & optionflags: + parser = etree.XML + elif (want.strip().lower().startswith('' % el.tag + return '<%s %s>' % (el.tag, ' '.join(attrs)) + + def format_end_tag(self, el): + if isinstance(el, etree.CommentBase): + # FIXME: probably PIs should be handled specially too? + return '-->' + return '' % el.tag + + def collect_diff(self, want, got, html, indent): + parts = [] + if not len(want) and not len(got): + parts.append(' '*indent) + parts.append(self.collect_diff_tag(want, got)) + if not self.html_empty_tag(got, html): + parts.append(self.collect_diff_text(want.text, got.text)) + parts.append(self.collect_diff_end_tag(want, got)) + parts.append(self.collect_diff_text(want.tail, got.tail)) + parts.append('\n') + return ''.join(parts) + parts.append(' '*indent) + parts.append(self.collect_diff_tag(want, got)) + parts.append('\n') + if strip(want.text) or strip(got.text): + parts.append(' '*indent) + parts.append(self.collect_diff_text(want.text, got.text)) + parts.append('\n') + want_children = list(want) + got_children = list(got) + while want_children or got_children: + if not want_children: + parts.append(self.format_doc(got_children.pop(0), html, indent+2, '+')) + continue + if not got_children: + parts.append(self.format_doc(want_children.pop(0), html, indent+2, '-')) + continue + parts.append(self.collect_diff( + want_children.pop(0), got_children.pop(0), html, indent+2)) + parts.append(' '*indent) + parts.append(self.collect_diff_end_tag(want, got)) + parts.append('\n') + if strip(want.tail) or strip(got.tail): + parts.append(' '*indent) + parts.append(self.collect_diff_text(want.tail, got.tail)) + parts.append('\n') + return ''.join(parts) + + def collect_diff_tag(self, want, got): + if not self.tag_compare(want.tag, got.tag): + tag = '%s (got: %s)' % (want.tag, got.tag) + else: + tag = got.tag + attrs = [] + any = want.tag == 'any' or 'any' in want.attrib + for name, value in sorted(got.attrib.items()): + if name not in want.attrib and not any: + attrs.append('+%s="%s"' % (name, self.format_text(value, False))) + else: + if name in want.attrib: + text = self.collect_diff_text(want.attrib[name], value, False) + else: + text = self.format_text(value, False) + attrs.append('%s="%s"' % (name, text)) + if not any: + for name, value in sorted(want.attrib.items()): + if name in got.attrib: + continue + attrs.append('-%s="%s"' % (name, self.format_text(value, False))) + if attrs: + tag = '<%s %s>' % (tag, ' '.join(attrs)) + else: + tag = '<%s>' % tag + return tag + + def collect_diff_end_tag(self, want, got): + if want.tag != got.tag: + tag = '%s (got: %s)' % (want.tag, got.tag) + else: + tag = got.tag + return '' % tag + + def collect_diff_text(self, want, got, strip=True): + if self.text_compare(want, got, strip): + if not got: + return '' + return self.format_text(got, strip) + text = '%s (got: %s)' % (want, got) + return self.format_text(text, strip) + +class LHTMLOutputChecker(LXMLOutputChecker): + def get_default_parser(self): + return html_fromstring + +def install(html=False): + """ + Install doctestcompare for all future doctests. + + If html is true, then by default the HTML parser will be used; + otherwise the XML parser is used. + """ + if html: + doctest.OutputChecker = LHTMLOutputChecker + else: + doctest.OutputChecker = LXMLOutputChecker + +def temp_install(html=False, del_module=None): + """ + Use this *inside* a doctest to enable this checker for this + doctest only. + + If html is true, then by default the HTML parser will be used; + otherwise the XML parser is used. + """ + if html: + Checker = LHTMLOutputChecker + else: + Checker = LXMLOutputChecker + frame = _find_doctest_frame() + dt_self = frame.f_locals['self'] + checker = Checker() + old_checker = dt_self._checker + dt_self._checker = checker + # The unfortunate thing is that there is a local variable 'check' + # in the function that runs the doctests, that is a bound method + # into the output checker. We have to update that. We can't + # modify the frame, so we have to modify the object in place. The + # only way to do this is to actually change the func_code + # attribute of the method. We change it, and then wait for + # __record_outcome to be run, which signals the end of the __run + # method, at which point we restore the previous check_output + # implementation. + if _IS_PYTHON_3: + check_func = frame.f_locals['check'].__func__ + checker_check_func = checker.check_output.__func__ + else: + check_func = frame.f_locals['check'].im_func + checker_check_func = checker.check_output.im_func + # Because we can't patch up func_globals, this is the only global + # in check_output that we care about: + doctest.etree = etree + _RestoreChecker(dt_self, old_checker, checker, + check_func, checker_check_func, + del_module) + +class _RestoreChecker(object): + def __init__(self, dt_self, old_checker, new_checker, check_func, clone_func, + del_module): + self.dt_self = dt_self + self.checker = old_checker + self.checker._temp_call_super_check_output = self.call_super + self.checker._temp_override_self = new_checker + self.check_func = check_func + self.clone_func = clone_func + self.del_module = del_module + self.install_clone() + self.install_dt_self() + def install_clone(self): + if _IS_PYTHON_3: + self.func_code = self.check_func.__code__ + self.func_globals = self.check_func.__globals__ + self.check_func.__code__ = self.clone_func.__code__ + else: + self.func_code = self.check_func.func_code + self.func_globals = self.check_func.func_globals + self.check_func.func_code = self.clone_func.func_code + def uninstall_clone(self): + if _IS_PYTHON_3: + self.check_func.__code__ = self.func_code + else: + self.check_func.func_code = self.func_code + def install_dt_self(self): + self.prev_func = self.dt_self._DocTestRunner__record_outcome + self.dt_self._DocTestRunner__record_outcome = self + def uninstall_dt_self(self): + self.dt_self._DocTestRunner__record_outcome = self.prev_func + def uninstall_module(self): + if self.del_module: + import sys + del sys.modules[self.del_module] + if '.' in self.del_module: + package, module = self.del_module.rsplit('.', 1) + package_mod = sys.modules[package] + delattr(package_mod, module) + def __call__(self, *args, **kw): + self.uninstall_clone() + self.uninstall_dt_self() + del self.checker._temp_override_self + del self.checker._temp_call_super_check_output + result = self.prev_func(*args, **kw) + self.uninstall_module() + return result + def call_super(self, *args, **kw): + self.uninstall_clone() + try: + return self.check_func(*args, **kw) + finally: + self.install_clone() + +def _find_doctest_frame(): + import sys + frame = sys._getframe(1) + while frame: + l = frame.f_locals + if 'BOOM' in l: + # Sign of doctest + return frame + frame = frame.f_back + raise LookupError( + "Could not find doctest (only use this function *inside* a doctest)") + +__test__ = { + 'basic': ''' + >>> temp_install() + >>> print """stuff""" + ... + >>> print """""" + + + + >>> print """blahblahblah""" # doctest: +NOPARSE_MARKUP, +ELLIPSIS + ...foo /> + '''} + +if __name__ == '__main__': + import doctest + doctest.testmod() + + diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/etree.h b/plugins/SamsungSmartTVPlus/libs/lxml/etree.h new file mode 100644 index 000000000..a2fcf335f --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/etree.h @@ -0,0 +1,223 @@ +/* Generated by Cython 0.28.5 */ + +#ifndef __PYX_HAVE__lxml__etree +#define __PYX_HAVE__lxml__etree + +struct LxmlDocument; +struct LxmlElement; +struct LxmlElementTree; +struct LxmlElementTagMatcher; +struct LxmlElementIterator; +struct LxmlElementBase; +struct LxmlElementClassLookup; +struct LxmlFallbackElementClassLookup; + +/* "lxml/etree.pyx":320 + * + * # type of a function that steps from node to node + * ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) # <<<<<<<<<<<<<< + * + * + */ +typedef xmlNode *(*_node_to_node_function)(xmlNode *); + +/* "lxml/etree.pyx":336 + * @cython.final + * @cython.freelist(8) + * cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]: # <<<<<<<<<<<<<< + * u"""Internal base class to reference a libxml document. + * + */ +struct LxmlDocument { + PyObject_HEAD + struct __pyx_vtabstruct_4lxml_5etree__Document *__pyx_vtab; + int _ns_counter; + PyObject *_prefix_tail; + xmlDoc *_c_doc; + struct __pyx_obj_4lxml_5etree__BaseParser *_parser; +}; + +/* "lxml/etree.pyx":685 + * + * @cython.no_gc_clear + * cdef public class _Element [ type LxmlElementType, object LxmlElement ]: # <<<<<<<<<<<<<< + * u"""Element class. + * + */ +struct LxmlElement { + PyObject_HEAD + struct LxmlDocument *_doc; + xmlNode *_c_node; + PyObject *_tag; +}; + +/* "lxml/etree.pyx":1849 + * + * + * cdef public class _ElementTree [ type LxmlElementTreeType, # <<<<<<<<<<<<<< + * object LxmlElementTree ]: + * cdef _Document _doc + */ +struct LxmlElementTree { + PyObject_HEAD + struct __pyx_vtabstruct_4lxml_5etree__ElementTree *__pyx_vtab; + struct LxmlDocument *_doc; + struct LxmlElement *_context_node; +}; + +/* "lxml/etree.pyx":2576 + * + * + * cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, # <<<<<<<<<<<<<< + * type LxmlElementTagMatcherType ]: + * """ + */ +struct LxmlElementTagMatcher { + PyObject_HEAD + struct __pyx_vtabstruct_4lxml_5etree__ElementTagMatcher *__pyx_vtab; + PyObject *_pystrings; + int _node_type; + char *_href; + char *_name; +}; + +/* "lxml/etree.pyx":2607 + * self._name = NULL + * + * cdef public class _ElementIterator(_ElementTagMatcher) [ # <<<<<<<<<<<<<< + * object LxmlElementIterator, type LxmlElementIteratorType ]: + * """ + */ +struct LxmlElementIterator { + struct LxmlElementTagMatcher __pyx_base; + struct LxmlElement *_node; + _node_to_node_function _next_element; +}; + +/* "src/lxml/classlookup.pxi":6 + * # Custom Element classes + * + * cdef public class ElementBase(_Element) [ type LxmlElementBaseType, # <<<<<<<<<<<<<< + * object LxmlElementBase ]: + * u"""ElementBase(*children, attrib=None, nsmap=None, **_extra) + */ +struct LxmlElementBase { + struct LxmlElement __pyx_base; +}; + +/* "src/lxml/classlookup.pxi":210 + * # Element class lookup + * + * ctypedef public object (*_element_class_lookup_function)(object, _Document, xmlNode*) # <<<<<<<<<<<<<< + * + * # class to store element class lookup functions + */ +typedef PyObject *(*_element_class_lookup_function)(PyObject *, struct LxmlDocument *, xmlNode *); + +/* "src/lxml/classlookup.pxi":213 + * + * # class to store element class lookup functions + * cdef public class ElementClassLookup [ type LxmlElementClassLookupType, # <<<<<<<<<<<<<< + * object LxmlElementClassLookup ]: + * u"""ElementClassLookup(self) + */ +struct LxmlElementClassLookup { + PyObject_HEAD + _element_class_lookup_function _lookup_function; +}; + +/* "src/lxml/classlookup.pxi":221 + * + * + * cdef public class FallbackElementClassLookup(ElementClassLookup) \ # <<<<<<<<<<<<<< + * [ type LxmlFallbackElementClassLookupType, + * object LxmlFallbackElementClassLookup ]: + */ +struct LxmlFallbackElementClassLookup { + struct LxmlElementClassLookup __pyx_base; + struct __pyx_vtabstruct_4lxml_5etree_FallbackElementClassLookup *__pyx_vtab; + struct LxmlElementClassLookup *fallback; + _element_class_lookup_function _fallback_function; +}; + +#ifndef __PYX_HAVE_API__lxml__etree + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#ifndef DL_IMPORT + #define DL_IMPORT(_T) _T +#endif + +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlDocumentType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTreeType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTagMatcherType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementIteratorType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementBaseType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementClassLookupType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlFallbackElementClassLookupType; + +__PYX_EXTERN_C struct LxmlElement *deepcopyNodeToDocument(struct LxmlDocument *, xmlNode *); +__PYX_EXTERN_C struct LxmlElementTree *elementTreeFactory(struct LxmlElement *); +__PYX_EXTERN_C struct LxmlElementTree *newElementTree(struct LxmlElement *, PyObject *); +__PYX_EXTERN_C struct LxmlElementTree *adoptExternalDocument(xmlDoc *, PyObject *, int); +__PYX_EXTERN_C struct LxmlElement *elementFactory(struct LxmlDocument *, xmlNode *); +__PYX_EXTERN_C struct LxmlElement *makeElement(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); +__PYX_EXTERN_C struct LxmlElement *makeSubElement(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); +__PYX_EXTERN_C void setElementClassLookupFunction(_element_class_lookup_function, PyObject *); +__PYX_EXTERN_C PyObject *lookupDefaultElementClass(PyObject *, PyObject *, xmlNode *); +__PYX_EXTERN_C PyObject *lookupNamespaceElementClass(PyObject *, PyObject *, xmlNode *); +__PYX_EXTERN_C PyObject *callLookupFallback(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *); +__PYX_EXTERN_C int tagMatches(xmlNode *, const xmlChar *, const xmlChar *); +__PYX_EXTERN_C struct LxmlDocument *documentOrRaise(PyObject *); +__PYX_EXTERN_C struct LxmlElement *rootNodeOrRaise(PyObject *); +__PYX_EXTERN_C int hasText(xmlNode *); +__PYX_EXTERN_C int hasTail(xmlNode *); +__PYX_EXTERN_C PyObject *textOf(xmlNode *); +__PYX_EXTERN_C PyObject *tailOf(xmlNode *); +__PYX_EXTERN_C int setNodeText(xmlNode *, PyObject *); +__PYX_EXTERN_C int setTailText(xmlNode *, PyObject *); +__PYX_EXTERN_C PyObject *attributeValue(xmlNode *, xmlAttr *); +__PYX_EXTERN_C PyObject *attributeValueFromNsName(xmlNode *, const xmlChar *, const xmlChar *); +__PYX_EXTERN_C PyObject *getAttributeValue(struct LxmlElement *, PyObject *, PyObject *); +__PYX_EXTERN_C PyObject *iterattributes(struct LxmlElement *, int); +__PYX_EXTERN_C PyObject *collectAttributes(xmlNode *, int); +__PYX_EXTERN_C int setAttributeValue(struct LxmlElement *, PyObject *, PyObject *); +__PYX_EXTERN_C int delAttribute(struct LxmlElement *, PyObject *); +__PYX_EXTERN_C int delAttributeFromNsName(xmlNode *, const xmlChar *, const xmlChar *); +__PYX_EXTERN_C int hasChild(xmlNode *); +__PYX_EXTERN_C xmlNode *findChild(xmlNode *, Py_ssize_t); +__PYX_EXTERN_C xmlNode *findChildForwards(xmlNode *, Py_ssize_t); +__PYX_EXTERN_C xmlNode *findChildBackwards(xmlNode *, Py_ssize_t); +__PYX_EXTERN_C xmlNode *nextElement(xmlNode *); +__PYX_EXTERN_C xmlNode *previousElement(xmlNode *); +__PYX_EXTERN_C void appendChild(struct LxmlElement *, struct LxmlElement *); +__PYX_EXTERN_C int appendChildToElement(struct LxmlElement *, struct LxmlElement *); +__PYX_EXTERN_C PyObject *pyunicode(const xmlChar *); +__PYX_EXTERN_C PyObject *utf8(PyObject *); +__PYX_EXTERN_C PyObject *getNsTag(PyObject *); +__PYX_EXTERN_C PyObject *getNsTagWithEmptyNs(PyObject *); +__PYX_EXTERN_C PyObject *namespacedName(xmlNode *); +__PYX_EXTERN_C PyObject *namespacedNameFromNsName(const xmlChar *, const xmlChar *); +__PYX_EXTERN_C void iteratorStoreNext(struct LxmlElementIterator *, struct LxmlElement *); +__PYX_EXTERN_C void initTagMatch(struct LxmlElementTagMatcher *, PyObject *); +__PYX_EXTERN_C xmlNs *findOrBuildNodeNsPrefix(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *); + +#endif /* !__PYX_HAVE_API__lxml__etree */ + +/* WARNING: the interface of the module init function changed in CPython 3.5. */ +/* It now returns a PyModuleDef instance instead of a PyModule instance. */ + +#if PY_MAJOR_VERSION < 3 +PyMODINIT_FUNC initetree(void); +#else +PyMODINIT_FUNC PyInit_etree(void); +#endif + +#endif /* !__PYX_HAVE__lxml__etree */ diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/etree.pyd b/plugins/SamsungSmartTVPlus/libs/lxml/etree.pyd new file mode 100644 index 000000000..f6cec535f Binary files /dev/null and b/plugins/SamsungSmartTVPlus/libs/lxml/etree.pyd differ diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/etree_api.h b/plugins/SamsungSmartTVPlus/libs/lxml/etree_api.h new file mode 100644 index 000000000..a5dd0e147 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/etree_api.h @@ -0,0 +1,233 @@ +/* Generated by Cython 0.28.5 */ + +#ifndef __PYX_HAVE_API__lxml__etree +#define __PYX_HAVE_API__lxml__etree +#include "Python.h" +#include "etree.h" + +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_deepcopyNodeToDocument)(struct LxmlDocument *, xmlNode *) = 0; +#define deepcopyNodeToDocument __pyx_api_f_4lxml_5etree_deepcopyNodeToDocument +static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_elementTreeFactory)(struct LxmlElement *) = 0; +#define elementTreeFactory __pyx_api_f_4lxml_5etree_elementTreeFactory +static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_newElementTree)(struct LxmlElement *, PyObject *) = 0; +#define newElementTree __pyx_api_f_4lxml_5etree_newElementTree +static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_adoptExternalDocument)(xmlDoc *, PyObject *, int) = 0; +#define adoptExternalDocument __pyx_api_f_4lxml_5etree_adoptExternalDocument +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_elementFactory)(struct LxmlDocument *, xmlNode *) = 0; +#define elementFactory __pyx_api_f_4lxml_5etree_elementFactory +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_makeElement)(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *) = 0; +#define makeElement __pyx_api_f_4lxml_5etree_makeElement +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_makeSubElement)(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *) = 0; +#define makeSubElement __pyx_api_f_4lxml_5etree_makeSubElement +static void (*__pyx_api_f_4lxml_5etree_setElementClassLookupFunction)(_element_class_lookup_function, PyObject *) = 0; +#define setElementClassLookupFunction __pyx_api_f_4lxml_5etree_setElementClassLookupFunction +static PyObject *(*__pyx_api_f_4lxml_5etree_lookupDefaultElementClass)(PyObject *, PyObject *, xmlNode *) = 0; +#define lookupDefaultElementClass __pyx_api_f_4lxml_5etree_lookupDefaultElementClass +static PyObject *(*__pyx_api_f_4lxml_5etree_lookupNamespaceElementClass)(PyObject *, PyObject *, xmlNode *) = 0; +#define lookupNamespaceElementClass __pyx_api_f_4lxml_5etree_lookupNamespaceElementClass +static PyObject *(*__pyx_api_f_4lxml_5etree_callLookupFallback)(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *) = 0; +#define callLookupFallback __pyx_api_f_4lxml_5etree_callLookupFallback +static int (*__pyx_api_f_4lxml_5etree_tagMatches)(xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define tagMatches __pyx_api_f_4lxml_5etree_tagMatches +static struct LxmlDocument *(*__pyx_api_f_4lxml_5etree_documentOrRaise)(PyObject *) = 0; +#define documentOrRaise __pyx_api_f_4lxml_5etree_documentOrRaise +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_rootNodeOrRaise)(PyObject *) = 0; +#define rootNodeOrRaise __pyx_api_f_4lxml_5etree_rootNodeOrRaise +static int (*__pyx_api_f_4lxml_5etree_hasText)(xmlNode *) = 0; +#define hasText __pyx_api_f_4lxml_5etree_hasText +static int (*__pyx_api_f_4lxml_5etree_hasTail)(xmlNode *) = 0; +#define hasTail __pyx_api_f_4lxml_5etree_hasTail +static PyObject *(*__pyx_api_f_4lxml_5etree_textOf)(xmlNode *) = 0; +#define textOf __pyx_api_f_4lxml_5etree_textOf +static PyObject *(*__pyx_api_f_4lxml_5etree_tailOf)(xmlNode *) = 0; +#define tailOf __pyx_api_f_4lxml_5etree_tailOf +static int (*__pyx_api_f_4lxml_5etree_setNodeText)(xmlNode *, PyObject *) = 0; +#define setNodeText __pyx_api_f_4lxml_5etree_setNodeText +static int (*__pyx_api_f_4lxml_5etree_setTailText)(xmlNode *, PyObject *) = 0; +#define setTailText __pyx_api_f_4lxml_5etree_setTailText +static PyObject *(*__pyx_api_f_4lxml_5etree_attributeValue)(xmlNode *, xmlAttr *) = 0; +#define attributeValue __pyx_api_f_4lxml_5etree_attributeValue +static PyObject *(*__pyx_api_f_4lxml_5etree_attributeValueFromNsName)(xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define attributeValueFromNsName __pyx_api_f_4lxml_5etree_attributeValueFromNsName +static PyObject *(*__pyx_api_f_4lxml_5etree_getAttributeValue)(struct LxmlElement *, PyObject *, PyObject *) = 0; +#define getAttributeValue __pyx_api_f_4lxml_5etree_getAttributeValue +static PyObject *(*__pyx_api_f_4lxml_5etree_iterattributes)(struct LxmlElement *, int) = 0; +#define iterattributes __pyx_api_f_4lxml_5etree_iterattributes +static PyObject *(*__pyx_api_f_4lxml_5etree_collectAttributes)(xmlNode *, int) = 0; +#define collectAttributes __pyx_api_f_4lxml_5etree_collectAttributes +static int (*__pyx_api_f_4lxml_5etree_setAttributeValue)(struct LxmlElement *, PyObject *, PyObject *) = 0; +#define setAttributeValue __pyx_api_f_4lxml_5etree_setAttributeValue +static int (*__pyx_api_f_4lxml_5etree_delAttribute)(struct LxmlElement *, PyObject *) = 0; +#define delAttribute __pyx_api_f_4lxml_5etree_delAttribute +static int (*__pyx_api_f_4lxml_5etree_delAttributeFromNsName)(xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define delAttributeFromNsName __pyx_api_f_4lxml_5etree_delAttributeFromNsName +static int (*__pyx_api_f_4lxml_5etree_hasChild)(xmlNode *) = 0; +#define hasChild __pyx_api_f_4lxml_5etree_hasChild +static xmlNode *(*__pyx_api_f_4lxml_5etree_findChild)(xmlNode *, Py_ssize_t) = 0; +#define findChild __pyx_api_f_4lxml_5etree_findChild +static xmlNode *(*__pyx_api_f_4lxml_5etree_findChildForwards)(xmlNode *, Py_ssize_t) = 0; +#define findChildForwards __pyx_api_f_4lxml_5etree_findChildForwards +static xmlNode *(*__pyx_api_f_4lxml_5etree_findChildBackwards)(xmlNode *, Py_ssize_t) = 0; +#define findChildBackwards __pyx_api_f_4lxml_5etree_findChildBackwards +static xmlNode *(*__pyx_api_f_4lxml_5etree_nextElement)(xmlNode *) = 0; +#define nextElement __pyx_api_f_4lxml_5etree_nextElement +static xmlNode *(*__pyx_api_f_4lxml_5etree_previousElement)(xmlNode *) = 0; +#define previousElement __pyx_api_f_4lxml_5etree_previousElement +static void (*__pyx_api_f_4lxml_5etree_appendChild)(struct LxmlElement *, struct LxmlElement *) = 0; +#define appendChild __pyx_api_f_4lxml_5etree_appendChild +static int (*__pyx_api_f_4lxml_5etree_appendChildToElement)(struct LxmlElement *, struct LxmlElement *) = 0; +#define appendChildToElement __pyx_api_f_4lxml_5etree_appendChildToElement +static PyObject *(*__pyx_api_f_4lxml_5etree_pyunicode)(const xmlChar *) = 0; +#define pyunicode __pyx_api_f_4lxml_5etree_pyunicode +static PyObject *(*__pyx_api_f_4lxml_5etree_utf8)(PyObject *) = 0; +#define utf8 __pyx_api_f_4lxml_5etree_utf8 +static PyObject *(*__pyx_api_f_4lxml_5etree_getNsTag)(PyObject *) = 0; +#define getNsTag __pyx_api_f_4lxml_5etree_getNsTag +static PyObject *(*__pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs)(PyObject *) = 0; +#define getNsTagWithEmptyNs __pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs +static PyObject *(*__pyx_api_f_4lxml_5etree_namespacedName)(xmlNode *) = 0; +#define namespacedName __pyx_api_f_4lxml_5etree_namespacedName +static PyObject *(*__pyx_api_f_4lxml_5etree_namespacedNameFromNsName)(const xmlChar *, const xmlChar *) = 0; +#define namespacedNameFromNsName __pyx_api_f_4lxml_5etree_namespacedNameFromNsName +static void (*__pyx_api_f_4lxml_5etree_iteratorStoreNext)(struct LxmlElementIterator *, struct LxmlElement *) = 0; +#define iteratorStoreNext __pyx_api_f_4lxml_5etree_iteratorStoreNext +static void (*__pyx_api_f_4lxml_5etree_initTagMatch)(struct LxmlElementTagMatcher *, PyObject *) = 0; +#define initTagMatch __pyx_api_f_4lxml_5etree_initTagMatch +static xmlNs *(*__pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix)(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define findOrBuildNodeNsPrefix __pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix +#if !defined(__Pyx_PyIdentifier_FromString) +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) +#else + #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) +#endif +#endif + +#ifndef __PYX_HAVE_RT_ImportModule +#define __PYX_HAVE_RT_ImportModule +static PyObject *__Pyx_ImportModule(const char *name) { + PyObject *py_name = 0; + PyObject *py_module = 0; + py_name = __Pyx_PyIdentifier_FromString(name); + if (!py_name) + goto bad; + py_module = PyImport_Import(py_name); + Py_DECREF(py_name); + return py_module; +bad: + Py_XDECREF(py_name); + return 0; +} +#endif + +#ifndef __PYX_HAVE_RT_ImportFunction +#define __PYX_HAVE_RT_ImportFunction +static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) { + PyObject *d = 0; + PyObject *cobj = 0; + union { + void (*fp)(void); + void *p; + } tmp; + d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); + if (!d) + goto bad; + cobj = PyDict_GetItemString(d, funcname); + if (!cobj) { + PyErr_Format(PyExc_ImportError, + "%.200s does not export expected C function %.200s", + PyModule_GetName(module), funcname); + goto bad; + } +#if PY_VERSION_HEX >= 0x02070000 + if (!PyCapsule_IsValid(cobj, sig)) { + PyErr_Format(PyExc_TypeError, + "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)", + PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj)); + goto bad; + } + tmp.p = PyCapsule_GetPointer(cobj, sig); +#else + {const char *desc, *s1, *s2; + desc = (const char *)PyCObject_GetDesc(cobj); + if (!desc) + goto bad; + s1 = desc; s2 = sig; + while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; } + if (*s1 != *s2) { + PyErr_Format(PyExc_TypeError, + "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)", + PyModule_GetName(module), funcname, sig, desc); + goto bad; + } + tmp.p = PyCObject_AsVoidPtr(cobj);} +#endif + *f = tmp.fp; + if (!(*f)) + goto bad; + Py_DECREF(d); + return 0; +bad: + Py_XDECREF(d); + return -1; +} +#endif + + +static int import_lxml__etree(void) { + PyObject *module = 0; + module = __Pyx_ImportModule("lxml.etree"); + if (!module) goto bad; + if (__Pyx_ImportFunction(module, "deepcopyNodeToDocument", (void (**)(void))&__pyx_api_f_4lxml_5etree_deepcopyNodeToDocument, "struct LxmlElement *(struct LxmlDocument *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "elementTreeFactory", (void (**)(void))&__pyx_api_f_4lxml_5etree_elementTreeFactory, "struct LxmlElementTree *(struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "newElementTree", (void (**)(void))&__pyx_api_f_4lxml_5etree_newElementTree, "struct LxmlElementTree *(struct LxmlElement *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "adoptExternalDocument", (void (**)(void))&__pyx_api_f_4lxml_5etree_adoptExternalDocument, "struct LxmlElementTree *(xmlDoc *, PyObject *, int)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "elementFactory", (void (**)(void))&__pyx_api_f_4lxml_5etree_elementFactory, "struct LxmlElement *(struct LxmlDocument *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "makeElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_makeElement, "struct LxmlElement *(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "makeSubElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_makeSubElement, "struct LxmlElement *(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "setElementClassLookupFunction", (void (**)(void))&__pyx_api_f_4lxml_5etree_setElementClassLookupFunction, "void (_element_class_lookup_function, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "lookupDefaultElementClass", (void (**)(void))&__pyx_api_f_4lxml_5etree_lookupDefaultElementClass, "PyObject *(PyObject *, PyObject *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "lookupNamespaceElementClass", (void (**)(void))&__pyx_api_f_4lxml_5etree_lookupNamespaceElementClass, "PyObject *(PyObject *, PyObject *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "callLookupFallback", (void (**)(void))&__pyx_api_f_4lxml_5etree_callLookupFallback, "PyObject *(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "tagMatches", (void (**)(void))&__pyx_api_f_4lxml_5etree_tagMatches, "int (xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "documentOrRaise", (void (**)(void))&__pyx_api_f_4lxml_5etree_documentOrRaise, "struct LxmlDocument *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "rootNodeOrRaise", (void (**)(void))&__pyx_api_f_4lxml_5etree_rootNodeOrRaise, "struct LxmlElement *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "hasText", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasText, "int (xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "hasTail", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasTail, "int (xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "textOf", (void (**)(void))&__pyx_api_f_4lxml_5etree_textOf, "PyObject *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "tailOf", (void (**)(void))&__pyx_api_f_4lxml_5etree_tailOf, "PyObject *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "setNodeText", (void (**)(void))&__pyx_api_f_4lxml_5etree_setNodeText, "int (xmlNode *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "setTailText", (void (**)(void))&__pyx_api_f_4lxml_5etree_setTailText, "int (xmlNode *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "attributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_attributeValue, "PyObject *(xmlNode *, xmlAttr *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "attributeValueFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_attributeValueFromNsName, "PyObject *(xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "getAttributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_getAttributeValue, "PyObject *(struct LxmlElement *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "iterattributes", (void (**)(void))&__pyx_api_f_4lxml_5etree_iterattributes, "PyObject *(struct LxmlElement *, int)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "collectAttributes", (void (**)(void))&__pyx_api_f_4lxml_5etree_collectAttributes, "PyObject *(xmlNode *, int)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "setAttributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_setAttributeValue, "int (struct LxmlElement *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "delAttribute", (void (**)(void))&__pyx_api_f_4lxml_5etree_delAttribute, "int (struct LxmlElement *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "delAttributeFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_delAttributeFromNsName, "int (xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "hasChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasChild, "int (xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "findChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChild, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "findChildForwards", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChildForwards, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "findChildBackwards", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChildBackwards, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "nextElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_nextElement, "xmlNode *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "previousElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_previousElement, "xmlNode *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "appendChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_appendChild, "void (struct LxmlElement *, struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "appendChildToElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_appendChildToElement, "int (struct LxmlElement *, struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "pyunicode", (void (**)(void))&__pyx_api_f_4lxml_5etree_pyunicode, "PyObject *(const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "utf8", (void (**)(void))&__pyx_api_f_4lxml_5etree_utf8, "PyObject *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "getNsTag", (void (**)(void))&__pyx_api_f_4lxml_5etree_getNsTag, "PyObject *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "getNsTagWithEmptyNs", (void (**)(void))&__pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs, "PyObject *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "namespacedName", (void (**)(void))&__pyx_api_f_4lxml_5etree_namespacedName, "PyObject *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "namespacedNameFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_namespacedNameFromNsName, "PyObject *(const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "iteratorStoreNext", (void (**)(void))&__pyx_api_f_4lxml_5etree_iteratorStoreNext, "void (struct LxmlElementIterator *, struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "initTagMatch", (void (**)(void))&__pyx_api_f_4lxml_5etree_initTagMatch, "void (struct LxmlElementTagMatcher *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction(module, "findOrBuildNodeNsPrefix", (void (**)(void))&__pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix, "xmlNs *(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + Py_DECREF(module); module = 0; + return 0; + bad: + Py_XDECREF(module); + return -1; +} + +#endif /* !__PYX_HAVE_API__lxml__etree */ diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/html/ElementSoup.py b/plugins/SamsungSmartTVPlus/libs/lxml/html/ElementSoup.py new file mode 100644 index 000000000..8e4fde13c --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/html/ElementSoup.py @@ -0,0 +1,10 @@ +__doc__ = """Legacy interface to the BeautifulSoup HTML parser. +""" + +__all__ = ["parse", "convert_tree"] + +from soupparser import convert_tree, parse as _parse + +def parse(file, beautifulsoup=None, makeelement=None): + root = _parse(file, beautifulsoup=beautifulsoup, makeelement=makeelement) + return root.getroot() diff --git a/plugins/SamsungSmartTVPlus/libs/lxml/html/__init__.py b/plugins/SamsungSmartTVPlus/libs/lxml/html/__init__.py new file mode 100644 index 000000000..d7bbbc394 --- /dev/null +++ b/plugins/SamsungSmartTVPlus/libs/lxml/html/__init__.py @@ -0,0 +1,1927 @@ +# Copyright (c) 2004 Ian Bicking. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# 3. Neither the name of Ian Bicking nor the names of its contributors may +# be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IAN BICKING OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""The ``lxml.html`` tool set for HTML handling. +""" + +from __future__ import absolute_import + +__all__ = [ + 'document_fromstring', 'fragment_fromstring', 'fragments_fromstring', 'fromstring', + 'tostring', 'Element', 'defs', 'open_in_browser', 'submit_form', + 'find_rel_links', 'find_class', 'make_links_absolute', + 'resolve_base_href', 'iterlinks', 'rewrite_links', 'open_in_browser', 'parse'] + + +import copy +import sys +import re +from functools import partial + +try: + # while unnecessary, importing from 'collections.abc' is the right way to do it + from collections.abc import MutableMapping, MutableSet +except ImportError: + from collections import MutableMapping, MutableSet + +from .. import etree +from . import defs +from ._setmixin import SetMixin + +try: + from urlparse import urljoin +except ImportError: + # Python 3 + from urllib.parse import urljoin + +try: + unicode +except NameError: + # Python 3 + unicode = str +try: + basestring +except NameError: + # Python 3 + basestring = (str, bytes) + + +def __fix_docstring(s): + if not s: + return s + if sys.version_info[0] >= 3: + sub = re.compile(r"^(\s*)u'", re.M).sub + else: + sub = re.compile(r"^(\s*)b'", re.M).sub + return sub(r"\1'", s) + + +XHTML_NAMESPACE = "http://www.w3.org/1999/xhtml" + +_rel_links_xpath = etree.XPath("descendant-or-self::a[@rel]|descendant-or-self::x:a[@rel]", + namespaces={'x':XHTML_NAMESPACE}) +_options_xpath = etree.XPath("descendant-or-self::option|descendant-or-self::x:option", + namespaces={'x':XHTML_NAMESPACE}) +_forms_xpath = etree.XPath("descendant-or-self::form|descendant-or-self::x:form", + namespaces={'x':XHTML_NAMESPACE}) +#_class_xpath = etree.XPath(r"descendant-or-self::*[regexp:match(@class, concat('\b', $class_name, '\b'))]", {'regexp': 'http://exslt.org/regular-expressions'}) +_class_xpath = etree.XPath("descendant-or-self::*[@class and contains(concat(' ', normalize-space(@class), ' '), concat(' ', $class_name, ' '))]") +_id_xpath = etree.XPath("descendant-or-self::*[@id=$id]") +_collect_string_content = etree.XPath("string()") +_iter_css_urls = re.compile(r'url\(('+'["][^"]*["]|'+"['][^']*[']|"+r'[^)]*)\)', re.I).finditer +_iter_css_imports = re.compile(r'@import "(.*?)"').finditer +_label_xpath = etree.XPath("//label[@for=$id]|//x:label[@for=$id]", + namespaces={'x':XHTML_NAMESPACE}) +_archive_re = re.compile(r'[^ ]+') +_parse_meta_refresh_url = re.compile( + r'[^;=]*;\s*(?:url\s*=\s*)?(?P.*)$', re.I).search + + +def _unquote_match(s, pos): + if s[:1] == '"' and s[-1:] == '"' or s[:1] == "'" and s[-1:] == "'": + return s[1:-1], pos+1 + else: + return s,pos + + +def _transform_result(typ, result): + """Convert the result back into the input type. + """ + if issubclass(typ, bytes): + return tostring(result, encoding='utf-8') + elif issubclass(typ, unicode): + return tostring(result, encoding='unicode') + else: + return result + + +def _nons(tag): + if isinstance(tag, basestring): + if tag[0] == '{' and tag[1:len(XHTML_NAMESPACE)+1] == XHTML_NAMESPACE: + return tag.split('}')[-1] + return tag + + +class Classes(MutableSet): + """Provides access to an element's class attribute as a set-like collection. + Usage:: + + >>> el = fromstring('') + >>> classes = el.classes # or: classes = Classes(el.attrib) + >>> classes |= ['block', 'paragraph'] + >>> el.get('class') + 'hidden large block paragraph' + >>> classes.toggle('hidden') + False + >>> el.get('class') + 'large block paragraph' + >>> classes -= ('some', 'classes', 'block') + >>> el.get('class') + 'large paragraph' + """ + def __init__(self, attributes): + self._attributes = attributes + self._get_class_value = partial(attributes.get, 'class', '') + + def add(self, value): + """ + Add a class. + + This has no effect if the class is already present. + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + classes = self._get_class_value().split() + if value in classes: + return + classes.append(value) + self._attributes['class'] = ' '.join(classes) + + def discard(self, value): + """ + Remove a class if it is currently present. + + If the class is not present, do nothing. + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + classes = [name for name in self._get_class_value().split() + if name != value] + if classes: + self._attributes['class'] = ' '.join(classes) + elif 'class' in self._attributes: + del self._attributes['class'] + + def remove(self, value): + """ + Remove a class; it must currently be present. + + If the class is not present, raise a KeyError. + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + super(Classes, self).remove(value) + + def __contains__(self, name): + classes = self._get_class_value() + return name in classes and name in classes.split() + + def __iter__(self): + return iter(self._get_class_value().split()) + + def __len__(self): + return len(self._get_class_value().split()) + + # non-standard methods + + def update(self, values): + """ + Add all names from 'values'. + """ + classes = self._get_class_value().split() + extended = False + for value in values: + if value not in classes: + classes.append(value) + extended = True + if extended: + self._attributes['class'] = ' '.join(classes) + + def toggle(self, value): + """ + Add a class name if it isn't there yet, or remove it if it exists. + + Returns true if the class was added (and is now enabled) and + false if it was removed (and is now disabled). + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + classes = self._get_class_value().split() + try: + classes.remove(value) + enabled = False + except ValueError: + classes.append(value) + enabled = True + if classes: + self._attributes['class'] = ' '.join(classes) + else: + del self._attributes['class'] + return enabled + + +class HtmlMixin(object): + + def set(self, key, value=None): + """set(self, key, value=None) + + Sets an element attribute. If no value is provided, or if the value is None, + creates a 'boolean' attribute without value, e.g. "
    " + for ``form.set('novalidate')``. + """ + super(HtmlElement, self).set(key, value) + + @property + def classes(self): + """ + A set-like wrapper around the 'class' attribute. + """ + return Classes(self.attrib) + + @classes.setter + def classes(self, classes): + assert isinstance(classes, Classes) # only allow "el.classes |= ..." etc. + value = classes._get_class_value() + if value: + self.set('class', value) + elif self.get('class') is not None: + del self.attrib['class'] + + @property + def base_url(self): + """ + Returns the base URL, given when the page was parsed. + + Use with ``urlparse.urljoin(el.base_url, href)`` to get + absolute URLs. + """ + return self.getroottree().docinfo.URL + + @property + def forms(self): + """ + Return a list of all the forms + """ + return _forms_xpath(self) + + @property + def body(self): + """ + Return the element. Can be called from a child element + to get the document's head. + """ + return self.xpath('//body|//x:body', namespaces={'x':XHTML_NAMESPACE})[0] + + @property + def head(self): + """ + Returns the element. Can be called from a child + element to get the document's head. + """ + return self.xpath('//head|//x:head', namespaces={'x':XHTML_NAMESPACE})[0] + + @property + def label(self): + """ + Get or set any